From 5f3ea4bbccbe2869bf2aeda02f4ac6cf9fdc0843 Mon Sep 17 00:00:00 2001 From: elpiel Date: Wed, 20 Nov 2024 12:15:10 +0000 Subject: [PATCH] deploy: db0f16b81e41b3901bcf5e0a624af142b1dd9f00 --- .../binaries/stremio_core_web_bg.wasm | Bin 29257564 -> 0 bytes .../scripts/worker.js | 2 -- .../scripts/worker.js.map | 1 - .../binaries/stremio_core_web_bg.wasm | Bin 0 -> 4836300 bytes .../favicons/favicon.ico | Bin .../favicons/icon_256x256.ico | Bin .../fonts/PlusJakartaSans.ttf | Bin .../images/anonymous.png | Bin .../images/background_1.svg | 0 .../images/background_2.svg | 0 .../images/default_avatar.png | Bin .../images/empty.png | Bin .../images/icon.png | Bin .../images/icon_196x196.png | Bin .../images/icon_512x512.png | Bin .../images/logo.png | Bin .../images/maskable_icon.png | Bin .../images/stremio_symbol.png | Bin .../screenshots/board_narrow.webp | Bin .../screenshots/board_wide.webp | Bin .../scripts/main.js | 2 +- .../scripts/main.js.map | 2 +- .../scripts/worker.js | 2 ++ .../scripts/worker.js.map | 1 + .../styles/main.css | 4 ++-- .../styles/main.css.map | 2 +- feat/seek-player-action/index.html | 2 +- feat/seek-player-action/manifest.json | 14 +++++++------- feat/seek-player-action/service-worker.js | 2 +- feat/seek-player-action/service-worker.js.map | 2 +- 30 files changed, 18 insertions(+), 18 deletions(-) delete mode 100644 feat/seek-player-action/aabab5112d6e04708a05fd6c44b6dda32362b248/binaries/stremio_core_web_bg.wasm delete mode 100644 feat/seek-player-action/aabab5112d6e04708a05fd6c44b6dda32362b248/scripts/worker.js delete mode 100644 feat/seek-player-action/aabab5112d6e04708a05fd6c44b6dda32362b248/scripts/worker.js.map create mode 100644 feat/seek-player-action/db0f16b81e41b3901bcf5e0a624af142b1dd9f00/binaries/stremio_core_web_bg.wasm rename feat/seek-player-action/{aabab5112d6e04708a05fd6c44b6dda32362b248 => db0f16b81e41b3901bcf5e0a624af142b1dd9f00}/favicons/favicon.ico (100%) rename feat/seek-player-action/{aabab5112d6e04708a05fd6c44b6dda32362b248 => db0f16b81e41b3901bcf5e0a624af142b1dd9f00}/favicons/icon_256x256.ico (100%) rename feat/seek-player-action/{aabab5112d6e04708a05fd6c44b6dda32362b248 => db0f16b81e41b3901bcf5e0a624af142b1dd9f00}/fonts/PlusJakartaSans.ttf (100%) rename feat/seek-player-action/{aabab5112d6e04708a05fd6c44b6dda32362b248 => db0f16b81e41b3901bcf5e0a624af142b1dd9f00}/images/anonymous.png (100%) rename feat/seek-player-action/{aabab5112d6e04708a05fd6c44b6dda32362b248 => db0f16b81e41b3901bcf5e0a624af142b1dd9f00}/images/background_1.svg (100%) rename feat/seek-player-action/{aabab5112d6e04708a05fd6c44b6dda32362b248 => db0f16b81e41b3901bcf5e0a624af142b1dd9f00}/images/background_2.svg (100%) rename feat/seek-player-action/{aabab5112d6e04708a05fd6c44b6dda32362b248 => db0f16b81e41b3901bcf5e0a624af142b1dd9f00}/images/default_avatar.png (100%) rename feat/seek-player-action/{aabab5112d6e04708a05fd6c44b6dda32362b248 => db0f16b81e41b3901bcf5e0a624af142b1dd9f00}/images/empty.png (100%) rename feat/seek-player-action/{aabab5112d6e04708a05fd6c44b6dda32362b248 => db0f16b81e41b3901bcf5e0a624af142b1dd9f00}/images/icon.png (100%) rename feat/seek-player-action/{aabab5112d6e04708a05fd6c44b6dda32362b248 => db0f16b81e41b3901bcf5e0a624af142b1dd9f00}/images/icon_196x196.png (100%) rename feat/seek-player-action/{aabab5112d6e04708a05fd6c44b6dda32362b248 => db0f16b81e41b3901bcf5e0a624af142b1dd9f00}/images/icon_512x512.png (100%) rename feat/seek-player-action/{aabab5112d6e04708a05fd6c44b6dda32362b248 => db0f16b81e41b3901bcf5e0a624af142b1dd9f00}/images/logo.png (100%) rename feat/seek-player-action/{aabab5112d6e04708a05fd6c44b6dda32362b248 => db0f16b81e41b3901bcf5e0a624af142b1dd9f00}/images/maskable_icon.png (100%) rename feat/seek-player-action/{aabab5112d6e04708a05fd6c44b6dda32362b248 => db0f16b81e41b3901bcf5e0a624af142b1dd9f00}/images/stremio_symbol.png (100%) rename feat/seek-player-action/{aabab5112d6e04708a05fd6c44b6dda32362b248 => db0f16b81e41b3901bcf5e0a624af142b1dd9f00}/screenshots/board_narrow.webp (100%) rename feat/seek-player-action/{aabab5112d6e04708a05fd6c44b6dda32362b248 => db0f16b81e41b3901bcf5e0a624af142b1dd9f00}/screenshots/board_wide.webp (100%) rename feat/seek-player-action/{aabab5112d6e04708a05fd6c44b6dda32362b248 => db0f16b81e41b3901bcf5e0a624af142b1dd9f00}/scripts/main.js (99%) rename feat/seek-player-action/{aabab5112d6e04708a05fd6c44b6dda32362b248 => db0f16b81e41b3901bcf5e0a624af142b1dd9f00}/scripts/main.js.map (99%) create mode 100644 feat/seek-player-action/db0f16b81e41b3901bcf5e0a624af142b1dd9f00/scripts/worker.js create mode 100644 feat/seek-player-action/db0f16b81e41b3901bcf5e0a624af142b1dd9f00/scripts/worker.js.map rename feat/seek-player-action/{aabab5112d6e04708a05fd6c44b6dda32362b248 => db0f16b81e41b3901bcf5e0a624af142b1dd9f00}/styles/main.css (99%) rename feat/seek-player-action/{aabab5112d6e04708a05fd6c44b6dda32362b248 => db0f16b81e41b3901bcf5e0a624af142b1dd9f00}/styles/main.css.map (99%) diff --git a/feat/seek-player-action/aabab5112d6e04708a05fd6c44b6dda32362b248/binaries/stremio_core_web_bg.wasm b/feat/seek-player-action/aabab5112d6e04708a05fd6c44b6dda32362b248/binaries/stremio_core_web_bg.wasm deleted file mode 100644 index 585aa4ef47787853e9c56c8c457cb93c3c8d68b0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29257564 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ൈkcf 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
B=bYy$09c3Rpl)f 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

|0zhaI}eiB-OqWDB$o$C{tp33 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ⅆ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

>N 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

PV2j!(s?0vbdmd< zcOGfy1!8&3V;5;ume8lQ<}A1omakCyRSD=xG;g8aI2WaI`9Tux*pVg|ZoMCZ=hLK=6v-7j? zMdThq@M$qd7BNzY(LHL8IrR2|<)R+}p3`d^OF%Q2prODaF`u1$;78A(^DGESpBbd> zM>I520v?IkIiin*ApsyMI>trf?SM~;N->UV^H#frU!@fsPX+*^2}T-CjN3DUcNHKb zUZaVdB-#kr$gk4rhck*xQSX`pbs~_&8$lh_#qAkU6_vmqbJ)o_U6hd!qZTIZ=wLku zXNoWqXEZ~cQGROhj367pQ4-)t&xF~A9nA)905l>zH|`q67*$F`587y6ytg#;_$?*w zGfPK%3q=sY3snjm0w;P-|k=5? z#~62PidZekM$ZV=>IOJst!}O`3o)A^7$F9`q-u^kwl(anGeheYv7X=tVL}$MQEZS5 zv3B=5cpe$jGlF7Sl$&*vIl#+b6B8qqS$cS|L$Ais$5RW~qJvvFxHXPA9@LP}rQfcD z+c~&H*pR3pyaOAeC*+_}L*5>f*V|?+(VnYN(Xxk7_F7!~QmbZ#2du&_a0P=kWr8Fq*09VU%aN4TB#H~>%3pul(R z_JQEJAPh&6cZTv58&pT!Z;FEQko^kTVR_g(*n1Db$Ef%n7OW?DUHFbg+>n}`+5s!7 z!}+kHx;3bqW~fTa5>-q&@5``{ndRh!>cLQdMf4}4ns?zKVgNlL?T61Dbd}Hqg$70H zeQHpwoE~e6`s1Twe#HCGM+%7n;8BAbtb>C&ID{c#Li`SwewYpx_3i}j;2qe`En0UX zb!v?Bf#n&Mum(jLP&?Rtm zqX^KQXXyud<&_j3a7#GopxVXt(HkRv4X?w>Jee$0#OFZi(CO7l_RiIDa2l~Ja2xSh zeVlz(AGcn9I=vo)L=w!fs@2O#J;9lb5Q7MVbX0=|BY7HB1Db!MQVOl9vB}WrYR}e@ z+2jS-nUfH?GdE#9bA3#@cOrKfDT>~a%ANJhU^{V`9e>yWdS-AIpdMp)KwGS5-WU^) zbBp2~NRE1DFdVTsj0nZ!2*&}{c`;GwnaKu}lZ41oPrTf?oaKNIFIyM_2UKST;gt*y zrCiq=4u{+46{!m~X>YZ#9QYf4F%GF5NSvOKINV5U(MhzPc}vV|Ry~?IBQ@cTv@XGo zv_9e2+~I9d+y?5nQEUx_O>iT@*O<2;HtXmZ>E0MQinS@;NLvy<<6!_B1}S6*wqcWg z9rAQ|23;e>Cgf`@Vi&!fwSQKG2gI=z;pv%on<0=Jx>VA?CapTtuLHZm5ZsNhn}R%@ zgzbQAUN=K5BoC9LmE^5wCN*on^TNx4g)zSdN?njhu;J3T z=wJ)R57YN0MAqOPT#a<<&^_W?U_vMjjLsp0ZH@&u5@j4$qT?hw!Q$JAfU5~_q?4=> z%IY9WaEb&_HEbu@J7X0AuMuFwD9~^kMZngavl|KS1P1vHXK7=hHKsrZP(v&@jWp?aAErADBCd*} z(TxN|18VbLcq3g?O0h3Bj3HY~1l0(uVUc+uHGnmKo$ih*WRMa-HTg>;qu@0((tb$* z8&v6793-hWfVP(Xy}>Yycb)Zr**KXMJH0GQB?(&0jL=zWF~*`)tJAZ zVV_ctCVQ>W8Id!~lyYnc&*Y~BLn=~^OLF4^&v4^{&cM`6z(GJ6!p|B<^DN;>AuiJ! zT!u3NCL>0My*kk|fG{kXXUGiT%(P@rs2EPq^kjJB9%O*0`pjTLTXlHj)+f1fXD0pX zJHTUzn?+q4M8=4Ou^|;OjCnUlNR6AB6csaDU`+AGoeL}wmwp^w9ogp_4l|d%1xcL) zP#C&5f&mGmh(&^6^x#6T0DuO)0($}?AcrBim|F$p7Ly(-2173>BG8Ky?4k&Omt|(C zB_~)0{es}eCG}yoZgdG^O$-?00%Yj_$g*6Tav(824TMRQ^oSgUfLSRN#^;iQztH({ z5EP~<2?nD|!ME^U%)zw+T|~S9)qu{dPCB3$`>8Q5l{k7g60H~KBHCpG?Uo-Lhrt^v zZXeNmngE~d zOcvS@DS=Ls5`Ux37;VDTMP_JQc&|8=0&xO+vM<>i+Ju(#y4p|yG=Vz_K@%X9H-ww? z1T>)yy;*2OOCSm5$y>Ccs;~_mQX7Iisk%ex2`3#djXVK23EEI==-@F?DuPpvhU7`H z4INMV;}Zf<=<>+kmK4)*oV}Ator6<~I7RTZ7!->DKRIKU9wCX7a4umRI%|f2Qs@Cm z4~@bm>9_M{=z=0H5HtYAA|O!SHA6>pKq?ZJ2-*vt`HePo zSqF>CZ>YZMYG2hsX}1BVyq5$;k#`U%^l%)6Lb;KYz}qEB#JOuydb2h}8C9A9Qk7!- zmx4$Mgxtc;zkkZ_;KvXps3ySxp(o%dbZ=k)ap5Nn?g-WxbfE~qlflfGVLG6(9z&Q| zqUTza)W_tS1S>lDG{VA2$~=@TKq+vsoNaDG8tye}`@(XcTyr$)Vtz-8svW!c-Uql5<)LKtL5dsdIRjLlBgsN>DiU~Gh`8LM6t~eLn|06AhY9@PC=Bp8AJ@7EGd7@7?uAP6 zuXPuZ!Z?pQz99NUEQ)o-%R+BqPo5XL5@0FrrBv}YlA0Txo3eMRxd}^Iney=r422OM zLHH9kMKlRGQCE!C$4aEa!rN%I8Cs+Cooa5YN#AUS)+u5gL6{RZMQjj#B10&90INva z!^Th)i)sg>6b{rS{SLZ9W!^{@Xp~JUuoSg`%{sW5gJ3CJQbJO=^xJfB8wa-=i?YKi z1(CvMKMwAaj2l3T^x+^^b_hzb+lVqCR2cn{$N&{#DG({@iq9lHfD{IR#O;@m8!(FB zqBit~8WbRkH7HmVAQkWwBT}qEjZBG4VZ=nvx1`Mmm*Tf6XG;p1Ho%lZS4_&oYC}h? z%^Xb$O*u+~XtnS$aVn^@F@G@STDhBOLnqX7U{IL$ti4lQh!omvOcN}iD5q&dXViwy z6xvX2O6UpWJ=#!5*oKg5yI1f@M|aUD4ELz(1omFJbsbb{G@3i|lozd_21%yG4mMi!gvhmmZN702D-4>~RiGf+2VkdOfm3k+5B3 z51BR$RY_H-DAQ&U{lt^V5SlADfo%$Hh}1=?l#ZmoBPsHPw_#?-0i0Az&P{D-pbie? zAh^k(G=goq+Jkj)Fb9n;0WDFbz&IGzad5b>62T>~D-bDwCnM6usz$ALM*BMe$$CUDE7M?D?1U!RD(IQJAN%*x_bI)gL zZh8SFfh-A85-=0ElE!pTI1(Dv>~uIjJd^UENO*~55`TNxpysA&Q1ieYx{D&=C6+oa z5J3V*5;UlVp|^{SJApX?Fj<&(i_*mgwU`ts?|Ef^p6oy*Y>U}j%9N#)C=!Ns1R+V- z6ahi9%-R96G>|9A(pZCf$qX%5`sJhoAYqf-8dM2}U`lwaB^W>?ig-ofh#C|sHNYmQ z)C8RpsZpQd)rbT1Dvc>2CJFajGHW!bwL17)GHYCVKoMSGF%B-WAq_er?*Kk{rR5;l zN1&{>Ce&UN1)}jGWdMrsMoS_nk*$dMh%>MT#U+Oek<1z&@+6xk2;{sP)GjqBwAHLZ z?Fpd}0U>*W24#s}Q=+|^F8Z3p)@;hbKH1xs&JUYruRE;q!vPHiURR@l=YSC5&>QLe z3_c?sQ0fC*cL0#4v_#i=1AaA0>p7sx>MSLWfliSB@NdtU{@Bj`uoX*z;?=WOL zqBe@K8f_H9E;Dri1T!Mthtl2`C5j2Y|;J z+UQxe(X)j%+RTbRs>j>Z^?cYy@`=Y(|^>%s7jI)Zq-lZN#O+Gu-t0wFsfL!d!` zK-vX*6x-;fwBMLUCynf#pobLFuGk5=s)(xu-xKL!(rG{**Q{wF8Uzgzhz1G&kf9q& ze}nWlrITjbX;m4W*}j_1+n0&h{X~3Ngh3u^qlgBt&pQUBpxoHp8+_N$l` zsLa)5h6Ndr5eGsW9i)SUIA|OQGHE`o3H*a^dK`rF7%E9LRcg2n4(H$q$(;%K7-*CT zILOl(Yon9_0CI~gS|EuQjz33d{1(3JDM2k(fIrxzem2%B0`I{Xjv%-Pn>|i6yBZ_4uWiujXw);2m?H;+H}=mI^`N1 z0yV-QPeh2CJ!r_ZjGJj1Q3-FBQqE$w`o@HQI)n>hVj#(l3=tNxUN_&I3^O3-W>i1G z5Z-P{0S_`iBQRvPuo2YKz(e%YA)Ppk2rs&%0SH-`31rZ0W+|giU=T)o#DRf4pAiqT zBxAq#@bTkJR;p(V_=tuKd4b8K8Q;DWG8>jRSEvyEg0ozxNFaCy0iwr=Zs_j=g!r{N zNuKd4i-jT(0t)hS#=c{8WQB(CQcE;MNK*zh1jB1Gz#)JkywnnVPZTQ`b7DeJSF-aP z5F*VaSZ8Idmyz`ZVM5pxu~9gP&M#aDz{n;$zcJVlQohRh?a2B&SUOn2%_Il7fDYM; zd;GqqgWEW`T_R@Q4jNJR_sEq|dB_k3bEJGt>SAI+piDqXb_)s#p4M5E%1E@2MEf&H zl?7l(@U%vKS8;C;2O@GH10DhyVy_oxa>7Iy(-CKs2qSe3(cs~XU#C-lB;-V3 zLO?-+(O{{#5I*LS6C9*90~aE%j_crY4xSJP;z5JJi-3aE2fgITQh^{Ws*q8y2>SsJ zavI3ujD;a8AVkg*1_Xf(c{|fvDrBI<8G6YA1_BilVjv(QFd^?|dZIx_FWH_6pX9a7 zR#81JayiC_Z|RpZ^pck|{`fltf$))zI$p_uY(Rkoz2tkLw~!!^BLE}dA%=t$dr8QU zj$A=$jLuDD2$)D84=M!DU_$8JvUG07eJBC~q<>bO+a)@;P=1R~wAEP|0s-Os9O=P9 z*s9qZWQKr05)dG~z_M^v5CQ9fq!@-SvrHFj^%b7v6pK(7?r@+3&Lj6bYGYzTnsb6e z_!$?A#)Nnyvp$y|_=6uXI0y^!4ASIQDF_exHx2@PjLAwsY4w#1U7hKMP0LD3 zY?{QkbU#vU^uQQwa-qKN$V8n;ORb5WKwqKbI^}tqT^Q-^SpT~;4ihYIHrmXb9R%c~r zjSjBi;99Ms?y-3KYAvCjf9Bi%q`bFIvFnIkuhrC9f?Res>flBWZqoYWT7G6?ahMM+@3qK+^9SC&#o+sU$fFR%Ql8fU$aDX zPnL-09^I4WV|7bjOGWd$1jX&m`i-`{GQAhU{aF@PwsD$PkYBf^QOJUEzaS)@EjD;rxV^QU4&HTNQVRxEAfS zV7slmKO)BJyaW#uJkwptjwpD9WJk4gl;bVk!vwAD^dhJQZ`o<>?j5sA99PQYWI3Uo z6J*)n-9OnytHmZ<8^MF!Ro9aWo+Q~R?VRHH4p~-$J!W}Fcda9fs zTG3R?fS$`bmOW*iQ}!=p^Mk+Xx93?Dlw=o4#=@YNvMdTJ>m54S!9f<#ypq*Qnk*K2 zHJcwaP_xY6qmAaZU?jh0kcPD)+1_LC1~41)i;B2Ou!;_l-+S5X3;L1MC1!0!7Lx3j z3okLLujvwB;}W;!{bjdn{YBn#bG+r|Ts8eAw_%?33OP8CgREIND5v!bSzRN+D$Qw>?s09F794}wRPe15;vQi#zxtd#YsIG*&J`n9iRG!_uSq`FfC*Jlz^g*J! zvD?iG>T3q2RC~L$2qW-=3D@1q4WjNKdyy1VlW(92;u9Z5fi#~*heb04qtKJmL{{@)6_Pv}?s`$~>QyiZc|Pd-#4 zw&Onj^*+VK$X*(T-s3*y?y2-Xt^IplFL!UH_ZjzT_nF?_eYBm=;?*DUpNaledY^Nj z1)BU^Pw(>_L-r3?@(YlXUvyvUjo4oVr9X83Dgh)PG-g`Imq0Qnd7&G)}9Jp_31lfSeG9I{7M8?EjMT-#0(xzS^ZM8jB~AsdOfrD=q61 zA(JMPf6Wh?;~%-Nc@M)_`tD)p_Xevh@&1^~e4YP_MCBhln982sH{3TKE&F=uqd6}6 zV^r(0K3=&i2e15-{1gNlkoe2@=R`bC)Z^5cyRH}idf&q2w=pMKzi+#5^#rW^&ZA`y zmp+nX+WU7&{M|kh`1AhE{aOC>g$UAq5p?}f^{WJ^{EM=(($bvY3#c;T{t~Ft{S{2* zUt7ZehlCZ#_*GP**Y`wOzO-u&RHqZA^!^SdK3V)e3IE=G-~D~1ILflyOS{q8mHZYg z>3)zuO3ELS(scGJy&t0#QO<_|0KjF-A^s$&q(=C4w1b|$jN^$yR)>1 z4fTEpnykX+&q?`j?&t2`Dn(3|-BsE%=ie;x{vDe@kx#j&giPjJ`Iz)eQvQb|_A0$! zxnGriwDco6zbXPZnQ;Hv2X6A$(2@U@-@Y~ae*HWxgy)ZpcztODt}iT6Kf#Yck*ENZ3bq7DRf(JW|Vr5$=RV+Jjky zf?P~}pATV20LPvlbmJ1BG+U={fBkBvEk!`mff(T(Ux?(Nn;H?wSOUuUKs3#hfKLf1 z57Aeblzt`0h-z8HuZzMpQdvpNEthy53V3|*WoQvKo)I{a*8$kFAOe7Dl>vl6jW0{g zE*w#jnhz8V>oHy@e5eTql4(vdy&4N^jBjjWZ>^QttcW7u2nWe4g7`)a);0))bQ=n$ zsUe>{_~wi0jtE`AM&;c|4uHo^CV2O1B)=1!j%9@vwHZd2=XDzHkEIy_wnSVDQ$0=n?r^b9kqxvuXj4bULVB$cph(z9$Ida@)N!4m6KYd!+5>z%F6yyT z@Z$+lknR+13I_6Yp-ml9n>r&p`D}c2Sc$4`K#%l`1c4;k6fszoq^bZ7 z2}U_Y9F)EukUIP>_vKix($83%YK|5_N?ygnHU&_LB!>y!sZD($=U2zXSJIPWeFSRm z%o>f-reG=gp3E_WC?#k2v>}t~r#hm)!&1Ue$`14-vjfO8PJE;{UZQnwe6-L{k!?aW zY*P@F6QaP8pp>Cd-J~e9qoTB=DN)+gRPEInA6W;_1{ygj1YLljJGc)esPLr9mNlEg= zn$EQDY>|)vv0BC~0<(x!VzpRoz+e!&*ac=07>wA30VA8;#_)T+Kj+@BzF;!V{58+- zdFFX8;@)%4J?DJRJ>R>Wb6%e}hv1WJiZFgstqwjpTLfkFOHMHSN$NH-uM zBaG#ms0yUstt#xM3J>?}Yki94hapSJSAE#0U@Bw4m4KCYpZY2zLM$~^IqS)NgCy%f zEa_7amMk$PtTo|Uxep7wgs3c?J=TWAIcrNIS7qNKTN7@JiPj-q2T{3As&zQ=Rj=5o z{?VpAz)2v>UG$IL2?t!+<}pcV$=9R)aasLikHq2j8cDg=_YWY-nA;cj4~C;-j7jUB z!_yxA9C$Vvz*e%Bp2~t$vh8Q@U_zF?p@=s)gsEgxgu#?*K?aL~FyD+?kksKAINze` zA4m9IC&gGYiovbP2r-pf2A@lwP`|`+kUA+GivacbE}_yCnG~l7n8dU1aY{Lbbc9h^rie zU$QB}_)9e%2qu8$dr>7w9nK7VBl!gHiF!!3fG8=4_es>yi;Jcm{lb|#h%tGfEBHW< z+@)l2L&IZmcnikR+)s;6rgz%fIV5d%lAIc8juWoU$sQ+0>I4bB(SD4 zLbD896MF{>nXJ{`5J8)62>8`d)2^$PQe7VpXoh#E%9-@O;nL|EAzBkE)9y~dm@$Y< zUw1rV#qfoty5Fzf_Z%Y$DZouCTbJbaD{vE*lfiBzrIOO5iVvKa@)PxuU z;5jxz$4DJcpzu*HO%*Dby)zm`&i# z$x+s%W=e*i0rl=w?*sBg3#>soG;rS3B$y_YC!;-9=5$3&=MY$vO%YI?Gc9Y7PSDR; zQP$Luc^+O^$Qqq7K7W8cxl?mWlj+mVmOfqB`{pQW4k#fbBt@b;Nqz_AIhPX`SnX~n zIKe%+EepexeSn;xpo^kPU`sf^^o`_GJ)QMFmeE0ZGEPpS8R~u7QSV~{Du$ynT|s@B zq@-`h3V*VP1bsOP21*B5s<5Sm0fH_|iUNH_3U{TgJWm@^;z3y)K{N>Hie#{o6{IQg zpDc_ZaFtL`!JjLW(4VD~TX?^?KgnrFiYdQCvs}!1;SfzTUN+bDB!nn^bd7rJTJ5b% zx)!0KcqBF)6kv2cy%jce19-2!^Vg}jZcOri1_ufgy2Cx~p)*wpfpZzh|yqY&6TA0i&^eh!&-(^>VHt^u!;r1=T|zsgC^ z^t{I!oE$f+1vXRm%J5mUMU^3R3w7iDA2VbU z)Zqv{dY#7nIxM_{@S_SpO86!k@In5HS7o%HkYDoguiN7`5G{orr?mB9d!116gr4y2 z^@Sd}Yc#!5oy1N9T7g+zfYPhD)iQjPLLv`7HSAvV)IgA`rJhuE7k&4-q#9ld8|bte z=(IJ^z1F?DQksgTW`wn>Gij$I^%x%<3O>V;pf?;!q~xTJoenCisJDo!)O+|@c7T39 zX>D{4L`=25Oo4mCHoBr35PHS85#u9GX(6*bs<6$7Sqbx%ijrkD31NV-@AHsJ!p=g- zS{rGdu%bU88c_CT5=vJ2RI1}wLW5NalNBWkJv$&3wGpRPr@&*wHd?7Rs!1V^H8ACB zQf^?%I?#0r`rwl%P4e^J)yWk#_3Rv=Ot>Tp-ym3WUFM zQK+9^nwe>$E-0besEeKYc+XO6Bb1W{tJZ@l@I=@~wW1nzco&4 z6ww>D(VJ?cCh3jMHm-NJZ=*S?;heCISSuhelWL=nVbcT2N>(82Uc7>P@HMrOcDmF? ztSR8fK+;ZYqt3J~MREtoeu^(*Q1x5ddCn z{fHq`))_+;GhdBuK*bBBQOLDzR#-D(u*M4!0WjQnk#D1>OvD)T{Ul;oa54G3qH_x2 zVows6hHb=YFvZKGHoBrVdR1+-BGf6gegtBSi}A3HSZINykhM`SYoq3jX0v%JV`#0W zU9{7Xp^aE{!OelB^^82<&tLiHq*WVOzO6IfCrZz4wB5g%Y>oF!SsTqGKh^p*3LG7_ z5wLPhbn`0TM)-B>%-jJu2W!+uYjvj3<#j1o=3spa;MuMBzqR%ZKr_)Bh=yt2h{rD& z;|zj_1hx{mIR&XKP?-nHmi%vx)3&DER%;`s_D9a5jkZau6L=YrdAsjNFv&5uBWxp< zoy71zs(w_AP27Q5Jgmm}K#id`(oUP&2r6ol~W%&-!Ls9Q>?HmWoU zKY8@jkL^$<;-z`>3LB|SRe+*y^Np0TgberZl6||VT2q)1s2aRqYK+$7(mitXSbVNj zuhR-J)_YPg)j1pR+?Qg&b3bUWsTRUj51yIGHDrSibJgVWhVpoWJOHUdv<@3r4N)DA z%5vJ9sc^IdsQS$mP_@wNqbbME(Nq~!HBb2CqM=V{?_>(d8fKdH<)Wsf;;MF_}ID)QbQ}_jmDe8T<%V=vc z)i!+8J6Z$8^B~KcG=Oy_YtNN|Bn*M9+1_FAl9dQd&Ha!=kZLwXT$N6ua=s=G+g*!t zrhcp{V#tdtTA7t@Ly`0omt{p<^Mm13SZX#w*f&yYZE$P)42K3>Tf{A?CMx$zKI>Ah zGNK_#%}OQa+R1&HDqfXV#RqVkf~;m46H!b^uve2-nFAFuki$Vt#rufCJm~0SeAKZ< zlhsR6)}*dc)-}H3e&T9IHlnZbmmYSop=mnU5SDGGt%Lc5eT8K+lEFMJWcIMMWEF>} z!LkuoL`ty?G@I*QCwTXH{Q<%T)*c1H3x!=LJR26f4={H3{3B|LEJ3-Hm87Ed6j{G1 zEL)O_HnLiu=FNRP%bWPR6P9hAw=)|6XA92`*=z|UlE;VWYfx?2>!|Z`T0>NSfNS0` zrZIV+hPnp6Mj(-e>ZEJO$DWio#VhhQ?8|#1SnV;Ci85DH!VojH5+Ys&BL)jn^ObfyJy$ z%}NYWm^B|^Laz}?n6qvm%b}ryf>B#n)NI z*DHth1b5Dca1W*#!hIu@O+;1DIxkWcVAf)-8De8` z6bxfpc>rGXjYMDv!)R%N+5p@~^PQK|ptgPekMoI?4o>hU8(*Rt1@X7u%T zB-_Hlu`k+{0?qCcnjK!LhqYFcg+KIx2K9l<>0F)R*%6&B_WCjzU$YWnvju1~Nx{9- zM}TL)Z#hF|U*q-|%1n-CtKzZjsvsR< zwb>L=oq^NV?Xf1~Dl@JIe$-Dm6h#X*>0zq)z>F$BNI485hrxoj-9YwgGb(e4BJ#Yp zMGTYLp|S?nu9e7Pm^G<~tK!3b#eL^p!a8_mF@jV}!p;k|9U}mGyWr0IMDScDSH;zT zR+@;o8FgM)FGk%4k;i8k zM4lkN8|lN+1x$v*cgK)3^j{n!N>mqW9FuP){9mZD6Iu4dIv&8FOs=yC?whd5GzpkD z+a&fHXdKo?DPk&z(@Y6b5z{m9-fEl~8TfDz?yzy5h?d0iGOlKa0dHqYLmABCv_>)D z(B2G|S&_39F`L6VLcc9yu4ECFGvs%ZR1m|QsUVANc@ANOhfbb?2@jhR+IxORNce(` zcyM-_X-bq489GxdF4mtVrjfWLgEW^gZ)6gIyZgX@TT{NGro4tLNL6VmRWb-%fH&HQ z)$bbo&kMO?U!~n_L=W7%w)hU*8-kmgEoLLfrNnvU+alJ8?Ur?Gjq_d`S@#rche=$A zaka&?+d7cOBJtqdYsn7;oNXO@8?DGqirB;nsH*qi|XSI%29P~s5ZVY^Yma6vLN z%KGxTKlu|@CiA7v(qonzLlu*dHjoIzV@Z<*$hZKh&-ikvo9b!VmY*b*(19#^7e((H_g7j2GL$BpdG%Q6;dB$N;l9| zz%D@Bc_fhhmY{ZMcI8o}<%(5+p98W8DhAbAS1E8k8oT1OnyjmVYt{RmE*Xn=Ch1B| z;<{YZ1=3DibU_)O4p-50?^5h!AM3B$p<SQd#ub}R`OvEKWC$46S7=w@cZ!+ zhy=nnvztm_@hNd47DC=nf>DJHFASuI_mhR+M^~HErir=lHoFNZUxrP` zo+cTloraRIFEp3HIS@F5z}I|)gh@08GrP^6 zDYH9Df?2BaEUFCL-<5zVB@x8H?1y64 z`dDxFo|10=0V_kZaS0H^p#ZJ{3e0Ya3k#Wr*-N_3ULvz=d)&p%fQ@DG0o+^qmP;ji zDenR@`&x-aE_tM4A^rtcWF>J)9{3F4%Z0#IlDL#(ftB(t5Sh(sEm=GaberAE9Fojl zhdu2wOgmkX*_Ay6Yw#?UwTjgavEJ+(@Es~|4V`>XX!cr}P3YP}v)lNR6xz~=f@c1= zy-sGc9(%pASWlHVWbt8u3j;qqwJFQ+6ut>I%8`L<^_{$-hrAT z0UtXA;&@^NnPOVrTnU zZ}yBH0nQEhWWwxoq1kvrh{@%_uE=cOMRsR%Ex5#2($}dPJ`mV;v$r>^(F~j*@EGTC ze-`%#7GWL`^e%EhI-a;Z@b4mwu!s)gBb#cp^dxJXBedZoUpc%%4!B2PJILPQtUi+8 zRK%Mc;s=3E5gl1PA}H&lCU$u=%9_;RM*M!rx=mT*B>^}6$Cblz&O4EnQ-oveo#ZZB zBqs@cR&j_&1U5x<$|-`fJ|jO02z7?FCN%&PoF-YL8Bl~DgA3hzW&lX||go=?_Y${K$PmA!(C%HbmCT{3~r zciEHs1U|eJ(d|A#5qL(pW?5gCI|W=QgtaDhNLF!QXSkd(-(n$F8uKkSR_Q?=@<@6r zs;wCAN;}s8Ol_xuTY)8REeYV6IIBxYljS2KE7#IP3ZH!3QHL9Hz<^7JTnmfOr1FVN z2ABI`-CbvQNSh@ z_+d{B+t4N{a=2IsT`^D~9STAWw+t_b1>${yqhXXV9ALYroHOuLL1q!*fL{ z5T6VgG0@3M!6eQ4B`f7ZcFa5DB6d0yvXOH;wX;dLaqTQ7 z>RJ!22VX*`;u)l@UZxtjfrv>-bV-p%gktgs!3Q3t@Cg@_PYA}@I5MDRxsH}|WT;E% z5+a0PRw!--aie>{_S$kx2IBbukU)x@b;oxr6YL+&)_s*-9jyAvPCz zw-6SoiHN799O}mw@CmWCNDd*knL`M6cHkOer@SJx$twbmAOH%Ba1DVPC_tgSLr5C* zbzCFtQQThnf{^!zy$p)U{R3Vf@a?52@8aPAryVRxJc_Re!-F5BJtg=Vmz#$-r0QAW z{X7t>UkzRzxR+D&Bc^BBQRF(p2H{?=xTAJSWXBV7`QYt1E{6|t`*6G{ukgtLne0H; zlg}Xi!K(v~AkI)A&K+Wh;+uiNT=K~OeoF^ zbh5BkQIk#eax$k)DaMQ`kr~hT3K|qYwHVh6cw0c?SX!Mjqpw^taHqqJ8S=;w%#<&N z$c$NvlQ)LvdHjj$X^hNhl4d9V7|`pKPA5BaFk`OFn5Uv5mCm_&mCku4+4&M?G%LZv zV!2|#`@+Ivxn5vrF&QjT)XVb0fYXHvoGxI-E0GzadddF+GE1Sqg$n6$E;loJ%LxPT zz?iW@-WB9^VP)P7JTLGnj2WYPaf2(BC?^B;q{aEd>SB?8JAaW}nJ4`cxvq}}NtbZR zp9U$H`cllL94o;!kC$eb5#j;5?`7EMTfIvAS@yyHDzz_hV>B-sEW8}Q4&mblYc3Z zf0XN^K0%boKgNA9o|$LnVV?r;`y~5dfWLT*p*DrDCj1!=T67==&{)4UIuiM3tRLiG z%E&)s{nqJ7$ zjQd>a%jjY3L79;7KK&v7?g{SIX`ko#^ZkP_piAi7z0MikmwGTp(tsBHq6^#?D}wvF zOZ&gO=k9~-bbW_%d|gS2O_i8}7^QH!6aV^!tjDey*?k&9dMD zy3TK5)r0)|ZTEot?TX;5?zh~7?yG$eNsNQ~eGP@g-x1~K{&iXKb%G4^t3V3zAwO8d zWGY`a-=OSobbp&X>|!V)K5U<%(0#r>-z3d98H=*|osI{OK==I~(uuzZ-S^0c={_

JyAOQW+H&}GrI3ji24(1%&)62e}g|I%kPlgcing0cciZPXYS8Jx~~Z2FXg`1 zU%(%r-;>7T{RL_NQsRjf!S~(wJ>AzE-Y+G|M0h``CtAX%NcdOiB>q)J@bBHf_jF%h zc)yhE*I&FJpx<9x!v8?Rzd<bW2CI{U<~Aeni5*bw6@{ zTM_)7`#TT!@wodjDSzBwydRw3-&@N5r2MJt?|xc=LgLRn+{Xj{=cN33fAM~ZBmSaP zaNjeetZ>h`iVBnw|FehtF2vydQtlu6i}!=``>zJ~{Ua&=$^E1Ir;6ZN_pFEecoF?) zQvP#)@qPjNh=#QN4^sY5_dneKtdI<1FGKry?fWGuf5}8q+;LD9cU2yM8=ytt)uR1C z{VIYQA$}h0W1MavoyHA>gBc{=Pn_Rie^#x|8WM;01NCD8wL}kl8Q9k#@k7oU##!KP z!{fn-IFz4(eIs=ioZm>Heu&$|LHs<}$0!lNAM3_A%XmL=elPg5M(Zp%ztKYdDuS^> z{5;s#V!$6O$T-V*KXHC&7z%Mj=+HR72}1qw;48$>gMBp#0e`I7;w&@3$y|uxy>n zVu5{2;!uAOf41rg#4iTt=jXCOvSWs1hhX0;h(0F7{-t35n70wUXS#;V4Sj?1V*wQr zAbe~RJX|RmLVbM!`Yjjkr*9LqH?Ro8o8?G)S_r~g1$d7qbLFs_^IGDLO)`gTtjx8F zSj*u$qxclDJ`U-ptT)8n8tEB^SyRJJ%345TryM+N)VUiuW0UZ|pfwKV7XmYz6}1_# zkEbo~_)5K1LEZ9(TR3mK)eXuIH4_d&_}CP|5~Vh)!Y&CQB5D{`0ZYIZQ%=}ok-$E# z;SIh5l*4Wk)r1QL;Q?a=Km^*Y7O-!n;eV_}B6qMq9t-=_r(pb$cOa}?NS`=A@V^7T zPeFWv`?2VVXo$Zz_$)vI5bxj$JWSx5Li)t{9WtFmElZ+4oYoQbsiTJe9gDl8tV0sy z2jN!+=trMAsXi4Vej@%()2BKG{y830o%E?Qg8lq3nO}bLmcYKVqW;`j->1&W%yZbS zRjWXkEZnAHLa^_AJO=^<`^VZODtkfj9^#0MI+{knwv zg{_W7;FK(4BlA}EDcH@1grpEzoWyxo1@FNGGLmCuUROk31koa3{oc2%0sXEC_Y1S8 zh5(853$kvIOd13rau8$%0eF*-ia3;C*rzHJL{$P|@tVd=x>65N&;W>&YQcMmC9(`D zp}Il&abM&RgpW-TuzrIL#;HxX8sUCn6-W)X$l^Py&|6?1*KkQf9AL@~AyIAEr{Dou zg(M=-`V?T_CBy%?lal-JP)CtI1>={3@?%IwNS`=A@IPb|b)V`?2>0VQN;JgZC~3iiu#AG$v`Ku2Rey}BSQRH|Jb7{@4*J$a{wq=`iYSt*oS^1=nd>2%R8y;ep64} z%O2N(Iv!BO0S-a<*c1Wl_lC6~pdUb>1QhK#M(W*aL7|b$)ISdMyG{!KW2GnO9TB{T zz#_xxR_0Mf9OdwsQGALxj>xQK4d~Y)+%L?U8UiFDGep)6%KD_CqoC! z;dCqWj3PpDMJPT+!1|rFtO5N10?$QRQ$uh>o-$-zmt>3r0ucQj&Ujn+pBGsS$tp;{ z6s(_pKe8TFOev@zQaYr*D0B}5kl}Ny8;l=UhwCJ&>%}G0j;rSF@u4C@hKc!e!#v3X;1`4P^K}PajN#T$bvLXJdB(0J`ixX| zWRjb&m_B$wKnT3mB!&5L+vN~|k4+JfelHlC2I&V5IGT*D?~%G)S5drUmpTXnj_ttL z%3&<$jT5>D5y(5Ol?mgA^caT#d~Aw<^n1~=2J-_4oET+I4Z#ul5s-DevYrGil@$Dk z1R3W|G3CZd?9nqR6UHxPdW_SI;ZwwPi8t!PgZY62&WN%mH83KtD`eejP$>W)_i0W6 z0GtJnElJ0)^ED}|3ABk33Wm%rIjCO>)K6NDQfidG<2$~ur+h&CP$(l1nh!!4$`ASvp~uO*`leXlz*=%) zeQy@y-V(wOw9q4d@O@882a@+?_0|^ctq~cByd%m#LIcJ4t);iF6Y3ZCR$C&pURWQn zAMoD>-&+CvVo-kG)}ylZsM!kE=PLn9m@+_*sSuW?6Iri;r=`pY0N?tMN(R6z1U`tf zDpPW<$yv3SuCqi6KE?mbIOzw%`e^WaPz1HWCd!@{K51H28A4kB`c&ixj$+>!}|Cwd_u4vlrh|Gu9KVkB-to&GbVQ3%N|4Njq)A`c5lY1R$Ua30qSE{2x1QR8~>q|DNH0 zk$=w$>Z3-`7l>cNC{Wz`u!RgOB=nMRA)vl`fG(xFjAd6u`@#6pLhyay3WUM(UFQ*# zg!%*WvlgmN3-tp}AR5~5MiRzP`2hH#1xFw(-z^?6Jb-w#c!-Aja9ULg+AnM&TY)q{ zP+v8l1ET$`g=$hXN)4QZZZ@!sF+&y&>cd_TJupUq4mE{ZNIR8+vEcu>JRCto`25IV@CF+hE-X`z29NI%x?iuQx? zqm70tEEL}yhPV=+9+K3wHd+STpy&~tGLnZ|3dT?Q0Qd>5^qRX%Y_z2WT8?6MUP_3ojc_Qpbh7}T8@7oBd@0y{1JW{a@ zf=rfq6e1ECxd2m z)kfOsP#fWCm>&a4+pUe-(*Z;vXLO{6Wb^GzRD;?`Og7*nOIxYaxwMeNl$%X~5%@Sq zH6V13ZzG_-ri{=(>51}`7VRf3(UkZ;5q>L=KbZzrC!2uh`t z4}hN#KR%Bn3@XNNaSF&UY9mhL*10rlBfk(zZ3ODKOthc1(W|QAt6>{KGscW&jP(TS z!{P=5A9*HYDBz>tsmstt*VIO$8*3SGW_@Euu9rE31?70R<&~AFX0=fWJ_7a8Mia?T zwO&Di5%_3WA)zaM8v*sT8~P_5Q@+$h`@#6pMlCwCg|IbDs-(pDt>$~n|JGVFLj6+R z!lf{N%4eejH*(G<;e2BJHZTg6|E+P_W}c+hM#&KB+ajoME2Ac&{j80^`(iMD{i(B z+LjShD5S8PeB7Zb5W2%R5>TIdoY8+g)=5|&E)2bc{$sVk#H`RiX{E9{TC^XGpNIPP z2XrG}aU}^i5d>_g8OF|XKPk9_r-~j>;3g;8!*Usyrhx(`sryWX#BOL&L zJb2!eimFso**TIb1M=hfepHiz$Fz5xXE_h$6e2P_!Fg#C*Vjj^-^r-UGR~$#PXYDW zaO7zU$O`o1VMj&I@T}vB$R6scMPmF!`3dopUaG>+OG8y}yFh+#3H1x#c8f$;0?yI? zmExiDMIqe;Rd*FbKu~~@_e!~33_=(_C1f1Vx%NfWI81PDzGxdYlOc|!x zm0>L$xnJeinic)W4~A2(i|7LhWC5}vgYPTieGb9**c1Wh_krbp)3jG_M!D0-Rm#1J zB_~a)I0~y&ypr3Ls{~1@Vo@^S3OS&#N}1J)s3xMu2tGv&WF0Xx(tOgf@(Cctm>9;N zNezw2Q<$u&ILq{?!02o+SXm4v)x@xa)u!o*gx2P{C=&Jt{tGWY(BF_WjGqKphYRq7 z?kfZGG|=)+#$wssA+9db*65p}m<#`^}{OvseSb3SMUWsedEunYy_sJz-(}!g0^p z07k4qRM;FUGFRlDiLA~`b5EYH@cD#;@3GBh?7)X^H`GL zt6fQ8d5?Cjv;@6>f~({%^$W7fiG zzujE?*9HBF@Ozz$zo)SC?osERS0wC@J1bS+$3oRKjGu@4+6DC;5bo!A$2j0SZv%@` zmHaj_R`LMw<5o%@uzYW(#rVPg9m#iIPV0#3f7GzQV`=HL9v9#T-N(FzYJE~hgm|B5 zzthyeQ_!CXzfS6ZMxbB#(ushL3Vn;tYXhujjlDakuya)8yof#!K!(ReqyqSHSL6tM zk4@ole(%_odRG`A>Z{?E>MO958wwYyPLLLwtd&I)W#!JwX_p1=fdld#VkKTx#8nQj z8NsIrIKS(b^Lyd|LH)vnLoce)?K9E30#L_vM4Z@Fy z0EggvY>KGLK>6vXF#ttF?vREuaeE{+G$L>J>S3yQbw(8j{p05X95PTuA3Puv7qCP{ z!C*xU=8)GTHbo4{K=~=_q0(+enl-FAsi6`1itrWpop%Nhp|Ti8stD`{2E;?5aKM7j z`!MiduBuYYSb+XUpz$T@&jWtYePz;em5?hv0K6|Q*;Z)3(Lgice4u|Xi0kVE>!&-f z8!JZUvL+Z%Z|wo~J-0Q`>^epdCcsHO=1Pm7TO z{dn)k@<}54-~pKx&M;aE;KvI;M-3SPd9-pGHzA|(l2av>Iay}#~E3(vXR@s z6T#f5CE@?(;(S90Ad;`}eZYPAid9QCs}Z65SUhU5-y&KPnh)}Cp|C!D#rl?9Vzg0_ zct38xROFQmO0PovmKHF5dND-rH5|@cZsZ-DANN|$SYeW^Qg~fyEaYp7c#XqV2Jk5Y z%x|?>*OGB7Gp;4F&R9r3IWg{<+HH*?k871dUh)+hkXx-4xj_*dINWFepCUG8fc(^M ztr;*tNWZY%t{Dr-Co5TZ>ci*$qyR#?1gKwKiG)X<2LmdB?*s085;l-VLmL*KvHG)3 zs32;v6(D}0H0*X7ZHG0QfB3r{YC4w3LH+S=OI_MB2*ZN-d8Q9d*kS-bXg^3l$UbBG zSYQs|$9pWv;r;ezK>U=)eg*C)5R{M40T4gXzXM3j>b=|6rH@wKjX{($3i>F<_W}1k z8HvbZz#-NBuqntMrtZ*u(18GcZ&G(qzatUTXRQGd$cNAm55!wkNj|;~qRI7Fr zQmfZbh13}ftY_&}f^grD*N@8e-WU}YAVPlO-jUzO)yxI1v#0I`1l0ja+8tRPI@ zD!D2!dw!=Sx|~oA5QyCVh=t_zJH+~HhGJB;Rz6lkOq>X>SxuH}Mrcihzo?8#!v-f| z^}uZOYU~Dz`l&1l1}Td{&<=yMP<{Y@p6DAQq7R&}Hj7j)T%VzBUBwc_<#|GKXusiE z3F49mbRV|~0-qDhC%_NzuP$#jry1(kZFMcHWo4KMMVLLm(;1l!!vTTF-JRGjnXMgS zz1f#ozpL^_VfKyCY=FTS0jTTdA8H0Nf(tRyAs>o0OM6(BC%bbOeBZ)^J2T?0o}(~6oG(zle3}N?v%XQoYs(a4Fwmw zJ}y*|Q7G(z+4DPf#&~g=8Xy1_JB`>{#cGFGZ}!9zA%mQP*`q_)X`0L?bXuX=4TcR) z$L#6dW>1&dZ6JfnVg^;7nRPR>0Dhk6YZThnly$Sj`N8!W+SXEnx-ZFRlN{P_4uDct zc|i9uBwsGh55P}(K=(1^L?9sFN>nwa6Aa-Onayd2 z`gNPVjOim8X8fWI(@sZZc9(&SJV|A(Vzoo8H~UAf&}ey7%mK0Tp&h(P51ir6;AYKK^F zHd1>agA7n%_My=1oidxyosrqRiL?P5_6%VC7?7fByG89m{q+a((@+L@9}jU3VfWY+ z0pz#OD6{>NLx%J7Zz7CRh(F{Dn`$)ct+PEVrt5%mIKX)aP3^dyJtUBqF+8P+LmVD9 zd`}TTes5aVM@$y^NR&0HXDe$liv|mJ@bl>@?vJ4=&O0V*4;YZO3fx73L=kLZ&T!saqV`-TduOwH*M;!on~Ou( zJvK$WEumv&4dHiIoL`tVso@YAS|)3Q1^LQ`$b$Q0Jd5+*HECoCC?lEN$yb*mE^&C- z@I6HU`CYNBubPJP)hKIH!y$6-AnPs`-80}@EPPM{zQv+nnW0-2=j6ufh!AmurcM?t}D`!ZKhVpJ8+z&_MR# zu}sjh5cyNbsuV=fEx{}n5Xf(U(O}g^|5Y1)Mu9a-S_4f3={FGnEJZnpzQIKf(r+-K zwM5@9gm7_*AU`NCE3gpxQ+I>#9tm^~e2mLoPD)2caEmU6?n*`kl z=@;rQQy|?8W)a9QVipULKXt;f%0(RCIK%hE0@fF~dMj|e(SPHk0wMi)^pW7jBBYp6 zV$PjlnOPB#AAldvKBDgzLI|_Se#9&mB7f?dQiP zn3W*`q~ENfpwWoFCdo7d`0*`f1$G&;$bQ5u79xM@u=A9Q2mFNZ&EZTSzXetxgdg1;tT8jkv@wq_UDsg^Z1KJaP z+)kkUc=8gtMxdVnzqKLJ$8Bt#A`A7N!TUU<#O)KxkI50vG|*3gU#pMwpTnCY5^jqD ze_KrldYkAz(7rMVKdjmz3J10?4%>$UG$>yMfFH!4@V;G;aL7I53rnaUa374Hr~5$r z${_rRiU7X~0KdeeuH8sD?j|?6lPmt9={g@I+c(7aJ=yw5iXl7Nak zLet*l!i$9Ki0n98;0_o{Rfx&%{ePsZCm~lfz zf%f50(n!CXln2TO_6OZ}3o|OkfmIbl`bn?3iti9pZLTh6wU?qIz7HXyV$2w12pN|H z&~~um`Tm6Ys|7I|BD7Ct^cCgD@D*5?L4M-qHaG!ggT8t72hb}WCRr&+N2kAG4^2Q4IL#Ek{g@hZYI1s;a`1O-Evxoa2`&dw` zsENf6&~GBAO_CXtA~ULb!TJ$Dr5F`vIKK+`KF~gy(OZ-sH#*FiCdkiAE=NEgj2~~` zm{DbB;9V**1JrM3F?^q!RU9-4?t|ceA5zLPgT=6_>N3nQ$WMG9 z+R8@w#>DvXCX5*a0Q!LSp#7M5B`u`iYsCWk#{WF|+^+`uFiK;l|34@B=xwaLVDj${ zl8>Io$0^~@Jf=R#!3&xpjB`Z4WAz0`M)J`s`2^*tL2>j-$p?bUIth+`J(3S} zFJ8K5qM>_*NT1NXLX^*a&fQyp?tPxC{{{DX_l1hUMFRu>xBqu8kM0GuK~RA1eGzo; zKB0SGa$httLG6FV-RHhi5g5%^2F(`>?#HU%k;=&VSd5yyWexaUl#lU_5MRD^DX{8>i)nzS`p*~^|@T1;4$}@NB6kK ztLl=$AGtp=R`1&s|Lp=+?{V@d<9xV2SLPn?69D(+S-o-+m-i1)^D`ws>E?N^?>p|h z6{7kgR_}Wx{NF=;ro`9x*MRy=iSOY%p}yl3eFxNMLVP@se@NLs{NGZ2Cd9`J?~h6O z<8G=?tX_XiFQEENh!0lp=cFv4`Xt162i0dnd|e-+`b4SSLG?wf-oH%seOc0b5PJV7 zRA0pB4P;Q+-AVOLMN_O+(!?BK3cpDe#C)n~$caCPHU z)*VzIo%8IAhT?(r@xcJZ^P<>3(7qg}dtU zQ#}1+Joz;PWg2_)4T}Tq<7FQUUNXjSK6}lE;(`6~V$Y!=e@+oFev6H5g7;&o(vpa6 zx`wKuZsOy~+)%ui4R?D*ISAof8VB|R2^8-q{11$ecXIuqv0$Fzou7d*P&7Lz>3GNf_w>rY6G(!RN7p{GQ`s3YRLEX@w1pn4s-8Lv<1BV+W z?g#zHJH6OGeWSGs3v{hf6*_@8RfQL+LIH}mSvhPbQH0`cQDYN|=3l6>2ST@1sq!qK zH2>Iq_h|+UQfwXw4BCvkg9K!#hYEr9?dDTJgrNAoZt8AN)P3Olpwa>Pp#1h5(YK%O z)2>c)K;7q{_8|IT{@$SbK<~l*f%+Yy`vCVHj=GOIeMZcWHR2}Tcf@y}4q4QJiJHLV z4Kca)T2Bsk< zsevbvd8??qGjWk^(0@#*bKY5DfFOb_RI)P9D?%6_$RC>`jQLa6T_y+E6=mI;kgE#D z+{wB@9Nq0Opa%g%>JAo=(H**vQFoAky?+JxN8SDpz&}#+^31?KRVbkDLj13rx&s4@ z!2`kqTKDnP9aJE5EErgs00;yH1n>*H4_w*pP+$NM2w-?QH{~jg4?gf#4 z5Ph}^5Y!LfgCT&!XG4q+2X!9SU-S3#%2t#1NP&7!r=r_e-;7e z_o8t?6Ga5Ni4g}xLxdk9ym}gGVi4P8)jPEhZ5A#=9_fxv*SF#_yDBrsh6f&O1#A%Torl0Qfw+idpk3jZkr zuJ0wQ0{q{+1OT8Pqf7wUO;;7BQ-uP+4l8SJOZQ45Tne!?;a)K%K=c6N0+%HK1IwiU7Z(#4L;H_CSio0B1Xc(K zgaU*UTt!z{EgmrJ3bquYMJ(N#M8x~SIILCe)>2*FN%%C3@oA{8U?O?zjB5k)V`z!G zLIAR@V{fCebej~hiNjX$eii}wx7iwNi|PJti5d%&@hZcJ8ksLsSJ;{mO9uc5=|K+g ze{5UXgAIg^+o_119Kr^&DZ;=&-AMoeVFhf6^;d)r8AS*>V161%37`E`g z5N8Upz;M~f5wUa-e@teR`e>p+0+5$yut3&}5&;&-CT+lzcas2QOq0}niZeAp6$)57 z=s?zmQcq*)w4>|ChdFDsNg1(pfPpM9C3^tEGu*gM12A6tn(t=tBWI&-21R%_AyyDZ z6i|?zx9MgV)VaFU&42?<2k=4yI*_SuX#@fR!U*;O5Cs1VyP08gmlI520tvzlUh#LF ztLkP~!)oFzD2A^fRnxG!Yk1qqbD)0AadQX-$fgLx0M!>D0l@@s zMHh_JcpGBgfXoe>t2BhIN+?HFk^yuB0xQ|8Hf*j&5j7mb0J13p6mXDXWrIZyy20Qk zM&waLhCUe0C2LS2mS`n~&4CQEl#25}1lelY8)jt!3bNXV!x19=EMjC5EKs$E3LGXj zFuIc@HI~8{Fj=>fD-QH@a$XtG^MYYNgBavvKEmckTkZ3308?04Iz9nssyPQs1ggPL;*IZo?`5vVRM2A)zKK}i808dE9kMgNlGR( z5R7ngGGqwjrE3`ts7nD75}TI{lw4p#N)RD8Pfh_MoWbqE=)#$Wgj}--xrKLe67?iF zA>FZ2gj|#MW{WO#vth92h%f{zgd*(YDZ;R08X*Tv$YhW4g7ZDX1WXu%DD-A6ky%U3 ztUMvds1%bt^(nuy?PVg3kQ>SfyAg5h19acQU?eIJF6DGET)DS*7AhhFp?Ay zauAG+;!}1+$U!pFtYR7MQQ-->5M1PSU)qI|CuED4UgA4vSxPd5kQ1~bkfN6%Y)MIn zkl}g)K@+(>E{}8wrE$jyD5n7_^87F;aRsfmQjlWUPzJ-jCKwLr5N>gmZz#A!CVs<) zVvG)naBHZ5X$FJgT9oCQr0B#DRpbRfg5lO#c&JRs)1(lF+o0NRxE+QATx2|-(jpiR zZcrp6{Gc_Bhv8b4sueq-2sbA^LP*n`qiNbxQViq`pICUpZKfF5nG#IMi#>rmlQ4ur z2)CPLpycd$@^Tv7;I61GZ0*f%ac{3nLeRbL+hUI@vnOl|1}S3ac?$!xq>KhZ!7t~fP34kI`5^ph_mw5fJx)FvhSkYSUsFS&mCAOyV1;ZyMqj0*lNZ3sjUW;h`j;Vl=JJX@H6y zQDYe5b~MS79LU6wOXLmWxGEz#Lfse`d_~rZ>K7nxt7NsjjTz#m9Yfq!D_G9PgcBIz zCXZwMdeXrfMS0g_?8xgF+J2>UG(+4VADN=2zzA_WsTvS^(l>`k+)gRgZBS%q)Er=G zA7&z3(~>=8f|@oue^(}w(=HS+kw&xq3ryr%HOE@&UqG|1lX3EvW;C0*O%th=cbnG4 zu(Z)^c<5mVn$5iFY~YMKeRRmJP9e>9QMDEo8PRNaP?4TyyR1}&RHO*Vcs2sGL>+T-!_tv+a7w3 zJtM`aK}3Q~KIfYQU@`_U>6-(OHZk*PQ^2T=lyM`m$rv^57^9Z=P{Rsrngd2{n>9xr ztE6>?JjXEbqs6Qy&X;G@o>#4(r@)9&gVBr;AWBos;Tbh3O@< z(BxZ?*m1%pgL=c!#w)N8kA$9thK%kVoCYj8(V8Q|(IyE;n=Eot%%liwfXNuZq;HPx zYL4yJJJ6WJ%C=0mgBHWlKfIJBz^4U?}m}D;y1pM5fY0dXlL$L6y=+Tndi1jH$G!cg93c3Y-jwIdA5rfZutPGxd92S<7WggrmVX0()&$ zCR@o9xRGrOd)p01gESOo$g^Hxp+&$Hwps4G1SJ9zhV=$V+oRm&HKj=v-)$8KClpf{ zN(cfR@;PZ`-p&wYpNJRZI zeZt9iO_XhiSi3&Fu+I7GliL5Xkq&fA{7 zgGz)*R36}nq7fPB6HO@a@Vv;wXiSvTBr|A}{lJCq0P%}56n@CgB|7hARsD)OFK{6+ zu4qKy!V1BK5Q$fX81{iLbnkU{-jFj42Lx|`qMM+gP(!{Afl!4X0`BYfTgmgIfGAY> z0P%vlQq>|1p$fw*)mzSJz(u)Gt?C0cMs*ET1_J?V28l6rHS7&etHfGG)N(jPoS;QO z3=XxNhoSf;Vld2^)ccjSe8ogK+Hga|MktdJWHQp|!Qt$I71C^Vim2ldtdLC+qa+@v zdczTd8NLwZPU?2$Zq8y<@zGZCG0Gt?Aqa5D4cyACS45sGw1^492$eN>;W#vRqO8Hu z4k+sbzT&=5f};T+a(5?HgriLojz%aXVt425`)ja>F|mj&o7JD0zludH=)8?-Ixi@h zUXwr)S&Ajb5E{|rXmf?5!5Bg(&J}EEEM)@%0ZN{y5+M?mN3#N($z!2t!T|6PQgKls zj)u&j@4Uc;i_?-BT#^=k$j&S2GVnucy-YY7aA90*;Zi&hrz->(E)zotV%P`15PC5D zy24wc3VkiY(N-B82588wm5KlwvaMndq_A(WR^i=5p~BaT7u1#7Ai@x;FzjM|yIt?p ziIdq#&GCD#3^s9Es~AJKk-g1UBKRP8L=Lx#6SN43!EKiFb|f`K42C&_qvajyL^#?G z!_jsslbvMJX7u0=_P`2hZMZ@n0vv)BvMFMZ!~<3Dy@na?jdCaTA@wjh;V~R-pH+On za>z>v0vs|*XJsB#M4l_Oh(p2%mGxoM7Canfy$s+`Ssx~AD(*WkI2!OFC^xAh91RXJ zMu14f?#|2jT{>4~cdlQ_BC^^_*Zq|KoHpgbyReAryzq#0+shh`e=E%x?AbI#B6y)` z%mE|fLy`LE9r;bY1-(g)LmchADtn&pVmKO*Vmpwx!n!F%i4(pfNkRxk?yekN6nSW( zh46@%tZgm}V+2VIFY3c`I>h2K3NjoGNRicfSCv6GqAmVl5h+)puuR~dPkTvV@cqBd{NYS?>oZ`*2AjMm00gCKYWy&BF`2|%Arm4}N zfhJ5i5Ta&~ctfZ}D8oL0h}M#WLmW+S!T^aOjVKgxXaSBkOtHfv9BsICro)9?YM@(a6NRqIKaQo ziDG%wVdqrwlQ4-i8k&PpEcyeA2&FiMMr$xeadHMCu@5+6!M$^8h@(wYt)@|z=|T>H z5Iv4IQ#jhJi~~xXDa0_s(QaoE;Sh68czjnLbI4<^5r%MvvjrIz;Ap2+_s(J*{m82i zE2!~*!_HgO9mzpl+R6Y(M3%Z5nAl9+7m81m^58=14wks+HXKdPavn(j07#Fr+i^4q$at{9Ajb_P*{CENBODD1 z68Lcw;b4%wV;ACR=ZkSD)Ck}h^%clQZdagWTaADD-Sh37|JJl91V2x z<3cArFnQQp4Oa$3$@7Hd#!td9DvzTIJWAj(@rkgCq8L#o3XW%)x`#sgpxcfP%^^N&MWzOlD{oT5>!%1TZl>WKob5aI1+^N-Mrc0 zXcwh*=--C)$zBgBDZ}K?$Z$066yj)?6?>UL!_l-;h@(MSaxP{^IND{IP3Yx9vm5xt zD8|{*hmlKAva8DCHssRAvfj(^^-zdhN@=a7Wl*Mh# zrHxs^T=u?=xs=&(WgliP$z!DQxC?U`n$2mqF_%y?EQXe0qp=4GIlohgqk%8;B$c&_ z)lMOf23<)@VRnS0-Icj)F`rJ?F#AsC5|nI=vbc@8964)EET|WbHvSIgvJNp|CBKci zB#%i7{MF1Qr`^F^w#Ln;l(~{J9PPULa{-QqD<WK_SaR_0_rU<~w*@j2~R?ZSz>EA?zqrI>C$orGw zXdsvHLAN89rm?uda5P9u#-+#*9FlD=d(e>!E$c<1GEqJZvtE|%b|qyv+G4}eAR-y6 z;=GrQgA^nQ7RmR^QbjD~5E_zA5zB=`>b(>45n%GwC~H!GpjyinmEmYBvSNM!B^k}) zyw?Ou8aufvt9RWHZR{U_G_nb*T$6QcEbFz>O9WaBYfb8#%K9c*8;-V)ChZBzNZ5ML z+h7diI`%eZ^*VSv!wB`rSC^1Q)f$v>qqGXctVw-KS<8V_9!HbkCBxCc_?cV-M}vFR z@Mf_&O)?x!E{+UGlM5Zg(V+b`Kwc7v+BY1n#&9%fNe0HKgE5k@jk%VX6c7z(3$NlXB}e` z2eQJ^U>Fa0@xeE&KspqTZrI1ujTH#g$dRWS)!iT(d8(2NL?fFbI6ov(YFY@RkfdP!ri^9>mOsG)op*Y3+g`?rdg?;?ESbh0(0<$?};kpTg(ciOXAsueO$X(fgcDsgfV1L%sT8X<#LNd z*g`f%R288Os3sjygxnx_q4i5w8R2MSbt@K*Rt+tcMOqN~58*sD;5>$-$$^*QXmYn@ zIGWr!wK3j~O~=bTo`3!_goYS$DzFfL_dCG|o>-W{zJOC?g+#6a~sS63-vf zDzx>5twqu+0&4tn+(+)In1f?yG>;NZRjGGwA1d1PI=M`wKrLu#O9X^Hh2RIO# z@Kp+g4n#K)d~gMJtW+Fu;7U^fLSqW}&JzyOa61}qaDi0>>Fby|Ns7}!a9 zXH5PNWbh1TyrsATIM7S~q5D?`9Z1v#2>?O{;ub|_bVX(WrM;tgz(6R$cZr7!yl7_h z78%H^I%XIg=#~E>Gp;J`DrQ7b8iOl-;I#k_^vZw8{*{RiWZ+3fg~ERV18-4YrK$gc z3|0cARf#McP@IPYgBmISxtiiK=s=8?bq2PILP6Ds{94<$O|F77_^QG%De3}Y; z2L9_)?$dpcbIZEkAVDO>v1c4zx2*dtA84xZ=h*+;Ly7OO+XuO~dt9I3UU!eX_fLb* zQ=te01HY2me6CUz3Uc=ZU-T8a&!O<@zVhARH^`^2 z`wiE(BDmk(&v&Lz^_%`bud3EN#ISzLRMom$>i_NCy#?G?tp|P0J?OsHALY5+b6XJ?MAoK@a6_)a;C*J@>orA@_~22R-0^r$21k!|s9d;G3Kce&!yj zfI#~_f3{uj-{*4wL2md!&i+I9`%q|qnD2kT`B37|=|2xYl=!}`=AR=u$A8~Pa&DfI z=W<^IQ_H%?`UlWyE=CXimV4CYO1EFOPVn{M+e-hn;BgW?{!oJT5?S|cmY7-WcY-p- zekb^2`sNck7nD=OKXFgEKdBI`R#3z5P{Z%$CaTCkLyzve?$5#+{;}Y;@44@}KQ0gc zoU@;Ff9{^F2>!zTMM3NQC9U)Q+)ADOZ`@zH@4J7Kx3BD>#8Xu1dk-a^R#l!ttB(Jk z4*p&4kdi+|rT&Wezv?fwI)^r;`?v1jxu;5Zc>BHtUKD`p!TMFZet6x51Cy z-?<-`2S1@%{@(q>{e4By-}Nu}mH(7R{aJ3CYV~vXQ};9X^RQV`?nfqv_h2j*`~pLs zanGQJ*AFSY3iqGOgMT2y|Kk3^{g(=<;Q0(G_8)UMl+{1EA4v|cbnmS=cd)13FCK}- z9{al1&QSAh)O@>YjtUTKPj*mq)|Kp}=Fh6;|LmScGVh;*|L*>q`|st!9g2B&e~Jaa z%nctzIozy&>H4|Kcvw=(JrG?`Wi=(iI_u4qZdcN#9@_M;>D*A=E8%2$! zvgezSCm+nqXbJ7fvN3TUEMq0MCmgR|P#=fLbM@ptUb#<@(jF9Eg{ScHmQ4hwQudQn zF)?_PqWqsmzVDG(;<3J3j)7@=Fm10)V`iRJ6#FoZiS+%LHrY&@5_gm1L4zp1z>qz7 zz4Bn13ZEWQd%Q3U)ANNVMDJ}=*|Ut;>*r=gMYAXg(;CI|$+V_;F6l|WV2(_i8{&KA z!93+YKMua<=409dsqp1ZL!$4HvghV9*|@#tDF3Hj6Q(5}`=Tc6F|8fb4#>2F#Z0fG znNqE3);BP1p_vBVw-9b#vVM6Pzw!Wpj}<;b^8ol*;Uj?07oHTucTQz5H&U-3AYcBf z2^V}-OrK0!A=x=_zLmUj%QS#J{$EAItybj}Ey(9G?Kc4ROJJ>};a&RuvAW z*BS@bs|dCT*z<+6mN%XoKA5t%#obnQ$Zb*448UO8cF}t>ZAUzp_9A{Tdzc2Y$N#&? zeYbK4*@NACo!nUoy{Fr>z5LXaJ;2_2F?&ex<$r5CFfIMqr!}dGX&sn$RHiXk$4uZc zOgpaWxkfNQnFi3e-$eY{arhBZedUmT6b|GE@pp*A4~y{grlpba%gs~S9`NhuK>VWL znp6Qh;(&fK?Pxrg368~K`h@iL3r-lNa9>4mS~Oq&s&(>PQ}$<6F~@t` znJE9K-BC=-JXWd+Moc?_X(we`G{;ySoYw4JBfy_bJ1gBkNI!Qr9-KFt?>vRSt-_)F z;QcOOT9$B7S!hp$J<#VcSvP}073-z0|m^R_8O*b6!533wn>a(tBAk=8n9mg z3CRCj$bGAF-zJ(5<`1{IV*c``!Tp_6_K<(C8Q`}w%KvE?!$)F0cyL}f)2?IMdoqnl z3g%7T$Fv*8h*LBI3#vl`3brLg3GPbdbpy+TJt`a!5H4^ph3^yT=L=`RI+44fvcUoO z%e3~W=oC4Hc%V!>n8@|?a)AN>`-%VK|HGK}rgA@$Ko=02uR`QsN4IH5`K=8h`(ws3 z9+f&^{;D0sw4OXTnY!SreSm21$X{-v%06r8Uq2wf{8bZxcuv5dOgk?~81T<41oi{^bD(}* zi`g`AF;|JUE#$!L)&xHb|y1zrdWvU`%7+zZTQbv2Wo8Ub2D##NW_l02av3 z@MJk$Accbj0tb$y@aF^s`ocdVy}&~%`*~9Z?1yMz-ZZg>qof}w(_TpCJ{pV`*oQzM zrj3>K9|&N%_&?lA8RAz@?!bTJyG@&r%$-yAAb>+mFYv`E|ECQt{3zWV@GooN-%s=e z{E1WohY#hP$)cgAC~^ulf$U?`gA)R9aQ^EBZ+2+i zME=Pi;3}hJgPqNJ>hupJW92znR<@DtBl*$h$?foe_8W zZm}epo2YhpSrwBI;LB0|Pa{zHNUW3xClCjwjl{I)WE#trfHdkbjrB**W7;cb+EQV8 zLiCmzqQ}m13cnkf=L;`IMKCu{WqUBMpU}MM>GBE}14M7NnbwlbeM~6c8kAgR+Byja zA{JO4te0s3ck3k)$P%F>OkLizP08F!W#6ibLE1^FFM20v!L*O@;AGJPrj5e17i1cf z`7BfzjcH8WkHNIfX4)3x@c{6U^n<=*XB&lYSK$D75O+H$e5VLJU--uW@p9W#HuN1# zUOy1LylGMgguUBsroAry4E}Bp8ly68UnuBTj-Vg8!@lho{>J#a__w@i2l+uMd+4{# zNjNwdxV&kvW7@}ga5CA7X=5>MoJ?aDl^NA~Ov9V`cua$tV2s6;j}ynrIt7CJpEnSzisp$=o%`1(N#NzX`kT1iNA47n}BIA$~63W z;$cOzRTe<`w>ecO~+NwqH4_dlU{+24{AO!Y?Pm$b8|SKw>X9d>Cb4 zmDC=lU5$!neHNx&OCq|b-`e$L?vqm8doL-ftY2^=iQFDid*#yFV+>zh8CrXI_>|A9EkSuT7bxivt4^CWoW7=d)nuW|p{_m^Q{tgU%Y05}GwuXcmALAQs~e-WGI zP5TsJR&JZhhQor<>IaV%7Ok8>xP@oQv?;0Fr-O!+Ye*qwhiTJ9Nr6C>BV|YKGsHr< z8RR}w@KgS(%}V7CDf>oc=Vl3k%9}O?(>~3EbC#Jl3)3298s3j_$lQc!vrBMQ+z30R zt2SHglvt_RDM`(-Gnc~Wsc={+xT*OR4llJJEd0}G&gIUj>}G*dn1=3LbcbxhG=Qmv zX4;}u?lW*x$jnK5t{>o(C#A}vr^tP&)aRh4Si~u6DsS5IRPKhde^nI&pMr(To3;qk zKEurkii*`F%+UNyPr#o6Q{^TO=bQ+oVrdCA@hH{fJUAh(UQ0y}&YnRFr}s^ub0MnA zwWRdm#LY6xbC^4C*Mk$!$OO!#?dGZN@Lh~UG^8EzFCm?Y2a=DJNEd3bInS*e0w7cxpQ|wb~A} zivM?#dz*5HtZEZk#muNA+VX9ORNFjdzem}5p|*V6ZKLga^WenCGN!$RY0WZiVF|u% z@nKsnSILVo4fqPvfUowZr0BLU6+m6F(@xSQSX+3pa*prOH0cEmx); z?lx^NroG8R6Ep2dD)-r-g9+6XNEN0XV+kiKOUV7Waz7!JH+O>EPqNms+q6^spp^Y- zBfn0GrplXk1k*mtgA?D&n6?qOUORjIb-gS7%bY~9{{UrMa zgmszRfv;F67}8c1BCxJ?n|7Tal(GlFf(N@U3@dNiyO{Pl9-L?gW7<+oTPD+xqC^*X zIi?{o`6{NpZ>HUlG@SI{ZluI$v2&BcVYK36wBWER(-mI!&0n?8N%`%D$_CRKkjAv? zblx%r+e{H%PGK<`Y8lE+j+=mIt%6CWrtl=Zb9s~=Z zY`ApX@}><0xah-!bA_3<0@GH?G;~mqgnSLt5H?wbX(Q9RYQR_{5knP~C0vW0=P7)Y z3V%V&7N{2EFVcMTh4%@New(PW$C~O}KXl*nrj3NH7$*u#rq!pJ7a1SQzhN49)&${M zgI!UysD@;lYU-0#|J{rnSg4R03K` zPzR_E)|Max(1>E3Oq-TQG!8_|O-sXQd4V{_UsU+4w3{ihIL2Qj7Uv7U2QVwQQf1Fh zgJ*HoW=BQy^uV+^VzXr0+;r|a~1On|{y&E#%yR^GHl>D)GD zzgQIm)&k4QU$wcIb}tXkb!OT+Oj|G0aL>NJ1fST|!NwA|5z~;9!?XgJOFD8;T}vq( znv3z55Z_|_MLd@;{9dT8+#!_>&;{Vt52`DF)s|oyWY=qE8c^5gy?C5}u70pwqPo_Q z` `E)CO#LR^K1x$>rMNaxNe`;De$w?R}^-n3Pi_IVzho6NLLnAR%OHkY{861N%C zwv@Onn6}AG1NGVjF)!vT*kUx-77E|0!lAsj3iM+9MU0m({PRe}5`3Hj?ZQsA8c| zT=bH<3)8-kV{|2*bHN+R1)%Gom@Y=j)5yj7+0!q;ZRI8^6L2kHEk??tI`Y8$4z!kI zdxOdzO(Pn|L3waYxgAe?^*H1?g=iJb#hy$v84J8MPr06s6y#2)^E0wXfts{dp;N+! zXO!7nX%yyQwH=Rpt{bB!HP1|S_Qx@wlmbR%k=%`A6Jq^v} zP@KCSre{v;y|iN#J^hSOE>;h6HnVndc77_P3!mE}ydbtDFn5#s-BSH3MQnj&RGM$mtW~T0GKrgS8rfT!BEYm0CVhV;EPp_$}WCIx$+cF;FUV;=68e(-z-_ z#2f?S8Oj=x`Tux(^Y|*R`~F*ZzZZ~w!E6RMITNQTuHz(a(l$v$;&Fl!Cvnm?=`U%U z#py3gBezX1;52QVSbzXwz{UoH0AY(=n8jeT2rPpD0m29)Y!(?X2oNB4Fq^>GJnzqU z<_bCS(^sBUzxTdVimU|G#6Q%L?U2Gg|6;-k2nC z8G3aWR!;- z10JW&r8Z-38j!KCV=OjzE4b zwweLI>{o2emt^Q-$j=3&6`P*24Mhc5wH(_ZRx3i=GzZLTpK1WKsxrcAWxfi&xknYN z#9YCXeYQX+D=E4N?3IYC8k(I4uwbr20BcQX`jm{;3PHosqBd_c=&-fou+(Ael5C}} zPl99tV-5E51Qw^dfvPtq;jadGo7DVz!B=2cIWQ~XRpxPZU3I`%S=YRhuVZ6UxD`XS zm@617R!(FA-fF90D^^aDh{*+=YeP?ClHWX{a$`#P&4XJthLUpO(8Gt5XpGTUYV!`Y zd8ZI8#N~d4x}3nUUCDtc%=urCx*Wh%6ScfySAUO0=G-2_d+qA)6aOR%YF|>|69@Zg z-~lzTS@LmUPC3C(2g3$ds7;5|5nTO4`BP+aPLmFch*FbU!mEEoW{xHUY>Dp@BvEf0 z0GCAU@g!&xSW*ry2^1;lKQ2FX(gIa+%DAkP1}FtjmSag2-MEjyllXgvR)Q#jeHoH; z4nu}0b?C;o)QuMyy=3pAuq8+(Sfa2SSzxEl@J0M<(d~q>%XaN96Awjng|@b-imOT2 zCapF$ETz{Lw6#H2;fXjYRzLC`aV06Bh*1|ql5o3U8g3EsMDH@>Vxfc`%2bC&4oT6- zp(%f#%mMri5myBH(|)Z*GC>2Crqr>+Q~aPu;MI?xeQK~bGUb2HE5ijIr}PxU2Pyr& zA7fEAg}NH^6H2@zD9#7#elA>ATB&~+18tx(~_hi_tQ)&rh4n2Uo zNUHt!JvvqF!RL&(hD^Yu zUso*^Y8u*St|DK}q?Bl!nAFes`wWJjm7z+Or&F$yhE7ib%5>_N-S z5DNn_(|(aB(X81LCUX-~8Z)ffb5ac4AT)ENO_pb9=1|)_)doK^Py7r{*1}(cW>=^J zm>EuyCFgv51>Z2I&}Z}Pr@K(i0i#)<+<-I-jhA^o-y8<4#W-Gyr{V7sDtti|z9^&y z8U{6m)c^hEM*Pf6 zCN##u%hV4%!^fSCk6A<3+7$3i(7iP}g|(U!a38GApD=4Abl5u4G^%-hcpt#d)TIQ@ z#9(Fu1+e?!X0Tn4i&@ImV|%lhnZP#9c?FC_HEc1>GccMh`6}3uqzW(>{;jubMz?KM zw}H6u_f?v`O{NEHdY91|0_U^13y9M@nO+kuN*>9qmft zYq(p;3!DpjFV=tHEdVcX5Z+_`2hFl4C9ST#DG7CP@Foq}uZF<0fVUhVYjesqhYdNU zh8zt0?_jhf?q@>c7Kb|Fy`>k&cMV(bNF%m|_7{KwDZdemsQ`SNo6X1V18G zanjVpP6%xYf2&7R66cCZn2W!sY2_IiIxBT9M7i+lNV#)iEA6g5ue>uSzB{D_nrisibX7jTyFH_cF${Ojm19lvP)4%RRFmmVw(e+PrY z_zfyHB&~ZM3PunN-v>>@y705X9fSc`kWAi<^h*L@D0(jp3z>)Ge_bgjlTr@wG_&CX zuEqY2Omo{nvOuATCjfa#f}wT7D(Yg<)u>u`L1UqDz7j7vJpY zfVjB1R9~g)=Shsq&7*oSm*>LjSy@Q?*HtZG%Y3yO!lnJ8G>g7~d0A-nFA_xn>+(FG zf)Umu(1n8~*hemlVOIKBFf9zTf?C>#qGf4+%rGhda+wu!E@1_9;UXx80_;M$tU$uX zx(&#MgO%7_CA*L>U@$LXw?@QEV3!r*v|k~!a4(QBT$R=Nb_dOuzQei#^%pkH8NHd4!`wA<8POMTj3pjtMkUA^_r=8m;QJUAHq?Zm(! zkM%2YFt9fb>48$o!dKR`v0lX}EDTqx(d4lLtt?$FXqfGMg88OOmfOKu?^JtsrP0a) zg<)+#6ijf|LSp}sONzG}r zvS4ADex}jIYQI{C_=T&2!)jU}m38xK?d598$E-zo40Me8@o1=)g=dBA!pMNdgpADb z_IAU_?2}o;WOTJo=G(2Sg`=Eq?$grMf}0sEZYC;j=4={fMzsLQaB!a1zol9LWuRs* z(0VwTi|w^s;@7NNE=y2Ly>q!^Em28nCA~JuXt_477PJgt&Q-3~HC?T@(+Fw-%-}g; zSL>ZnKr1I~hO2c0=r1j1=0-Y@(gKyaA7X~~z{x<)41;|Enkmf$y~#)HGyZk8CqQRt z&xlO>Z|hyI)<~&p>9-9)6AhHL1kZ4_;AS`&jr}pQKUVY%a#}fLv_NLsuhtV8e~i!p zSQ#iD(3x@h3ixf6f!0K^`(y^uBLue8kK;{OYdm)IGFubcWws`^w;P$Q3YjgJ(w44P zdETt97XE7)x@$@Xr3@4;*e}cI=C0_Vy`}DYCW910ptvQqt!Fc?l4_^xbY^7G+v0Qd zIeipGX4TpJ3HfMskLr)zFGish@d$V+fsMU%`m~NlH!)W;!SrwXF6NYVSm2t zFUasw>%8pN!kgWN?pBQ|cwSB8m)lr+_8?k&3mhZl{ zKjl_Y$Jh1o#vuP%!0>oR;wHJ@K?smu7_R2$@?xq-H9%(#sikgB@O zt(|NBBU;kw(NF*G&H@iq{!&O!J>+Gaa%6-zUC;3s*s5e8e}Sz^^_Q)@GW}(#YmELf zhZr}I0lpK*ojzM|Rb}{lE&Tg-&L!`Pp}*PbzHiA72&bU3PLIg>WfbePo$rfzkJ;wu zW1YV3b)kO>U1wM5y7cu#W)*&|&;LH3fB#f>%PrA@Nbk-rsjb6X+37L1>mjeJ-^uId zx_Y;{Zs1(NTn~6XsI#Z*>UtJ?y*P{B1aAl2x;+P+)ywsEefolC^&P+uvKRJrCiv(4 zuH8T9k-UG-9rxWWM;E+x9_LK{go-`@$@KyECw;vS`kv?92c1KM>Vvm@DBhF*Mf9Ki z{}Rbm{!o9@J;RoJ{%^exIUuiM?@l&oKkV*wAHLuFQ#@Qh!XboLU-+&^J>$EIy}R(2 z_;ZJ_7S-H!OZS2vH~$w24x>F#Te#c1n=5p8vG-B;QSTmiPj>DBe0c8mK1S@vioK7! zk9(g`uD>7*p!ApSFX5U#!CdK+*(v|&mwXhwDdRp>?ERJdEAOwtnfN~P82lbS3f+`( ze`7?G_Zjz@>=~R)s_%ws%DB%Kdr(c@=Ty2s;r_+IOrJ+si&FOzzPH%(o$uWT;PeG| zUv^P{F2Way|DtXq8Tk@{FBN+O+yJkLIcQO~VM^5dGP%CuzU;n|^X_-|7iPMoJJT~? zbxHTtV()AG2EXpU=DuF+JwV|H0PY6*spLEsyPC3$}bkMuzH(A=0`b|-LB#{GS< z;3V%`SoyYCq+*by44MOX>!Y&&h|^Mlk^di#|4*^^9hv(s#lBk%hxAX1fr`7z-i7kfW}9QvvIzwW2mAvkQ4?`OpSEHAlL;C`MxFgn(yd*}Ol$hC@x0u_TA zQ*kjbXb%zdP%&6hbsDHB6DV-~yZcX99MtQ)Ul99?;(#flfPUQri@iZ^5KK|d4Ypbx zU{S_BT%89i1%wcAJpf+$?@NiWc}&M{~_vsioM?u^&8gK!;zy} zw*lcA{`QMj_xB!gk7(TgEtlpciQtAnS3{b}jYK=BOa#$@!Z=^c_V=BKn~zZKC@=ybqQ`jSFyJPV9rty= zfmFaCp2DP#6%_;!*xOV)!GZWUF#^}qS9nl4txI-E>Ba>OVnG`_Q)F-o!|$wtxa3V$Xe!Zg zLHwH%$u8SQRKI9<@k0E~!v0WYoZkfpphHW$>8sAL^D_7>B`am35`$F({SpI%SokJ> zhT>-szhIz7N|I*gbJjda(oB+SAEed1$ML`hA*g=PuWIJ;t?+Ct%!vRDd2=IvHL<)V z@xUf_Uc}8~6-ek1!^U%w?95L)p6W{<^yaG%0EM837I3W=3K=R)b>S<+oJdXo03PZW zZN#BG5(3YQg$=;~xy3jkMughDz~z5YhL);Z^8^rNP)Gm)FoFZEpo6PL{uG*VZZS9@ zp2#|<{(fzL@jpD7Y3@ss^b!EXW0};7fl7q{;_*x>G?2-6`AhqIwTi4I(nuh0osmK7 zBH5`^qhLU^2wG;nm>IBp(L4hRJNrBOi|paKOR-HNd%XIHtLIY;jJkFG1^568l4g95 z2iQXaupW3kBDV_Uk@^;t4_@FAjlfl(7txb(+eioIp|7?J=?TZ-rJt7^7t|Z6;61N{ z-wW-r(YU$42g?IFM%pexJ%V&F*QCfMBHs|9BQY+lz~+Eo5xGy0ju;(ynLQ$Pg7JC3 z()V*uyq)tg46XyxME2&0YsU94!tHo4V&n87^~_lo2P+qFd4KdNHpazrKD z1-JrSCwu5{#IOCl*Q&HutR5GrBk)EgAa7twhy}g@s6K7H%jw`J7wODB0el0T5wwlZ zH=K?5ji2{GarnX+rND4#Fc1!u13|Ex^CEBHb!;4jRBvpF`jmsip&TF%`~VqYa16w` z805RJySzX7=`+Yyep!R;m55*d1sEM7+sJ=4;#Y3MRYc)ygduW3clhs>z<^Hhx)QIG z2$=H@o_}WHh9ci1ruA;b4T);_)zFTIDT=w&+WZ~WIyCAx(J8~C#14zH*d6tocQY(1 zJe)9aO{pO^;5r+w#QOO4g1k>SEnULNUB{y!h%)E&xd(dw?P$1PU#!AWn*6<^& zi0U^5UBmRBNN}2GP&Er$P^s8TVy8#l^r%3Z3KQI#5zW5LNYaY6naVPgEVIPb2&+*Y zfHl095Ia{YS{^)&`eL49C5Q!i0u=)rGdt?4#KyFn1CZezg)G1_3!{KC4AYCOUo;%P zor9X;mjN&XJ+l~heh`@@(E){>bbCU~@J>QmV`KtdEZvt~Ix+k2FII*(6Oxyk9@YxM zGWMe>|0u`|Y1O2G&8&<{8;b(KF}!#XStB{Dc7-f^OxbS+0)|%(7zJir-1}>ye$_{X z!Z6@bYAq*yw@?_~F$k_VCWim63GS(zznMBKw?P>{$KjckE$LCK^2j=6@To$i>UA?gC#D9VKygf332%Ko0XmEAGP z&i<*cB3>9YF>Q>C0GGu>*D+K^{X5aMa;L?*z_?^5YWjOF>NjRVT_|#%B5#Rxfqr4I z1WW2Fg)6u)f|pFxN(q<6t7!6jMIuNQAaB0hmZ(%Kj{6@6E!4!kEpj8F+!kilex@vfM zGcM>Z%leDAyju_eFWKejhYgkJmEPm<`5ub&QyK!sKb3`kp-3ri+7K|qW6&?E49Io4n*&)9b!NL?W26h6(l7nL5N%?e)Cnf&)G5TpDrX~qvQGb-j{E}{BS?FHk zrx?3Z&U<=+i`*4;@@q#bU7gT1=mY>4&=z$9I7>w=du=B!63R49SErlb)D5mhL99Jv z01Ic)*iC#3%R59?>Y$Pu>MZkg1*a1~LkBa6ukYr!b(NMC<0$d7bTEtfhHjeSHFT4% z6;nrIY6ttzCdIHYw#wk(Fuqy`imBm%SA)UOEjBwGEW(ADx^4no7<zv z2)3xK;+u4!n0;oXX|V7Y%I+KN0laWf-%Yw#84wjde4)&$aj6azQ^kiONxAn z$Qr3v0mryi60FLe<^_qbNX7Jv28m%&i9EG2$G_Dat>yK%o46Q8c7p2###lm~uo&HD z@G)z}$LPM|DNJr4gA9y;{i5;DQ`wEN{4ctn2P(rv7i0BeW@G{krZp=;Du#99w-^Jn z*(}6_$aUk4#Nn{pPMBXZT75)(o7{@2yGP43UjQ z0?zRD2Wn`r%m6dYiHUz*2d@*~NPJf43}00s9(sm}G4VUP>PqkEDwKwY0x^|#r|wp8 zH^EuDITT;61I1L>T~a<+xD91128*`gprNaDrudctc^d6b-K*eUf;&`J@%1`TOoJJz z9}HJxWd{qb!AN6Q(KSr9$umxwRpSI5D5fkQGscRS4Hkq$sWF4SW|e9p&r;3^_=o#a z2m3gv(ZQP>)au{>2X#7V=Agc-U(r?QP6l#^jaHF6LUt;Lai_NEPCXLymv;4zD#v^D zqz=ad(J4_nNKbL6j_WFDhp${?2v+9=`iiVHbrrA!3{E6;&S@M{gz*T|3GURhcBca0 zFk2@N*bV=L&%A|rURU@V5-t#g!Qr10jKR@uc3FrH=uLR1k{jxU5h}P-@#+Cl%FNMkBafFepF?SVjKtVY+k*X&VCT#k!p&-^2= zuJ;t|cn}na$HFM_IM6pZ0>ajQvhBB5QM$67X823w#Gdogv z5@Apq$Q%9(xMOb_sv6pcM-!=#H&fzJH)aFKhQ|`I05{X(;%mThP(ae_4I>qpO%)BS zRIW;LO~+9hRbq~21idy>DKiPr5^iHDM%>)R9RLwD0}h8~+gMfqpfDjGK}1yL{BrEh zQRz99o+}bZWK9(5WYD9WvNQ%dNX)2qP>=)4hGzp2b%S_;2d?3xNrY+!=?7CYNMc6J`iZHw znCd|iHDYN*(XSG{W1uqb7%2P(5~ooFPCI+^fb@&_+=&1jP#ZpX68wO6prKPhbvtEc zCnqp|kiYMBW{V&-oay*M0aXK1ldaer1+L+1D)2N-qH0)VZ;Auh=$F{>|DbJdNhad4 zXe7xumKcF)+=M~?gbUD?s%9^p4RpgmOhU=S{&c(t6?~Im>BE+9zry>;cR&XRNNCeA zuN>EHm~UfrC#fGnfjNxaBrT?6z;hVy2l?gHc1Q__uyR?9#~l@L!+$l1%M{!V-|-+H49>~8_?y}aOyv=r?7RiBg3hemLgKLQ zLKDUe(tQ|{3Q`6R$0C^QM}_4utOpT{zJA$Xbgg7I953*ljmC$-U1p>{H$JG^iR-vP%V z__k8*&Z78rU1xxtJedQPBMqe+@gmS1+B^i;?}QtIclywT4a7qex{nefb6A66W2}CV zcJ(k-s+dxIiialO8kYl*gH%#>6)Oc3Wo}XeBnJj32Z6&INqK_PHG8l)jPNvS!NXiTSRBbF zl{EZLWDdU|3|ENH0n5p*TqZyVW3V~Xgy-ZuNF1hpwBcAceczBlUlEl-1RYoabwk8- zi?C9IEHq}BnOd&ka)K*NL5cqwzk~Kt_9$Pe+m?mCAxAYi zAaEG-X<5l&e@0Rm4r|v0O9v|(^bJ#gveoFIhWIuO2Fh^VZmYIIqH#1}4Dwbh&&wn& z?ask!4ywER72O5s@NR&S+5~tGkdA**rx7AL{?hKkb26@u9I!YW(BVwL@C4`%Xbu36 zh6@aBQnq%HC1E!V^;9#VyMJ94A#fP#i74-`PT8X17OaBeG~lSHpv0D%Z&QOObce;! zL3ww;mr71$;9RTvbS$CSf(;IG{LyH+HEihI3wU zIE>b`>Rfk!mLi%J(M-g}?ml%MRPZ3?4~f7Lhr^e$NUh;I^rMj1LQFq0dqny8GolU~>o_#lo?KJC+cJ!-*bOq!=1loD&IgI1o7}?LIV^1wBOBaMp`^h_qoXoTTeIYY8Zo z^ze7|5PQRX8w(&e=p>ck*ngYUl9*%T+dWiR4Ui2q4&q4q_0{$eYs0Wh>hO@Ok)4r> z97$xEh#I(>;H)1@a@M1h!R3Wt86nsPyal2KoW(A$6WYR_AY~z19#3XR^NFV?lK#0K zLR(nNApxf4$z-6D1oM&|GlmUX*6Ni!o@Bt52}ubfF@45kqP2%#r_P$Fh>1j;>Y;W| zQg9O4VOz?Rf?OC~NnP4Qebm}RYDpZN>LK8T1ul}RNdkP~HtOM5^c4QWIsrCiS{?&ElToW9XWtJ;7thxs;@mo*XRWptPqy>oyTH z47XTVAz%hjMynakJO}`Ep?AXFeYhDyE6KJh>5~c=!`Mo&#>9w}@Uk?CG*@12EX`_a zC{P7!lywamYLgH$-rA(!rCp+kl@+V6rn~TUj^Wqsqx5w`Wk60CRY5Jf3zA_nO>mPD zGD@fyD5Lr|C*f$IWy1PiQP%gU5doryDn!NNV>rLI?gHdFo*&i+EJJ7;X2E1g-7X{B z2?EOSPYH&`s6LRGMu9P5eLIzPCmD7LkP#pA;dVZT%|okiX%8@bAuC_ujDq^8M2-v1Mti#(K5QI zXB2sc$g=`vgv*@f8NTW#Iwla_VR2#K-})uJM9eT_C9zb9jQAKzj8NnV zB1a015g;=>1t62HJjga#PcRvhN0AIE^B7;|OUcj}MUEkItPmN2GNT2`WG}a|mCzGh zhU6zm9w%M~TtNGGkP$t>xF>K@Ylr#;4CCL*7$H2zOP`M(@iG+=r zoDvr^NoY)V`K1`sLQoh6LtN~y=47El!3r|N!c0pEig_lLeW95x!4#P*J3ukP8=TM> zuEagO$a;V=Ofy3uhH0jtm_p{Hi~9(NVQj?g91$?$VCJTR9qV3_lVOk}ZJr<)P#6`M zugLjCE=YmCcnbx`fVSjUjO-P8k@76UkH0p2MTUN1KqR6rj99FQ#Y8lR@61pz42eXv z=$#n?h8;sf`)ta$Z;-GU#zvHTEJ=GZ6j-E+znAq%5;SKVKxf!- zB;Q6IY$TyfeoD$QhJ$_t;c0X*=3y~4%uq=xrDI@g$UMkDMQxjvuo)}xG_N3~%q^#P z<_7h|)|6k$yD$t5lTfmN&TLDGq1j@j%~lhL*_zTMSf)T~7+1*$OY<6H&8gs>d4~`h z6l2=onRhDRPMXj>FnDL)r3i_~5Ml4kyA`oJh_H8Nuo~7Cf(UzU0<~e{8bol5CZsOI z^0GzPJ7n`f5B!G32cnvK1uHH9I1I!@EFI`K^%9c95(Djp#Mz$`lEY+{)M`s@RUBEY|QlfD9>LwX3=IesOVMr$Cl*ODHBs7N!tr@ZNZ5;%o!%cc#@#l$OY`6O2 zflxZ2J7RR+N{Ptf;3Bs=C=T#qh~ne|6i2uD7`-!t;k2dfof#&Fxh(hmfnNTBUIKF% zm1!tM&f6)e&RkE~J2UJJz8oQS!&jWR;o)ZT_Da$eD*-2|)Env$!8F{JyfZ`F@C(B5 zur$yOz>U2#m&zR;wgzwM;drjY(l9vVroX#a@XicO!?ZStuy2btj? z1WxeItg__~w-4~ji)R`6VB(n}DO1~2MKY0cVOH0LW%2T#4p zX{MPVHC4UE)G(xz8GRT`O;d0hLGT$M8~zJ}19VfKw#g@hK6DL}U2;_FppurI8|)+N z30T8Y0>O)e^=z1-;0&_O)WJ;RTL*_3PI16&d$2c)Bxc)#1>LZSEK|KXm@Ol{{ifc+ za9FU#$XvvO(nVZzD&W0Y7>HS_j42eQLTrV%^t^>lXGlM=A;$GpZsuv5fN_R>=^ z*d71k?c#PAm@x#X)07sm!@pf=b1CNg9ZKE9&ycwYlF@0uq>peN##~AO>hNzbNBh&d z8zFTVZV5K0L3S*`s2z3eAwfNWI^l_tn-4*8H*jJlef$<9d00sxeL^38<}EVSLTFqc zf5+`&cvwQfG8oU%v=E+jJHo?MnAE$XoC{x+;`oK|x}T8ljXOc9lXj*+JFFrQJS}?1 z65wjiSib}D!2Fz5^Hd)Y4=cQ61?V}S7R=MV9p+(9Z1vF-eE*5#7sL84iSdExVU}$D z1ir(f0zpt7{wd+AI39He1P}DjwV*rtahAe*xY;N4f$E{y+obHcorCKfG~LcB^gC&& zEB6iqADGYkQ$C0;XXv|*ln+B>X@-Y@I*9Y)^HdmFY7OoU_oL8okctr*oi&^fgD}A| zhFY3Lxo>~_&X_~CX1Or->5fTJ7 z#D4*bsxsLdYw;%P4G2W0#bg2oT9N?-k~!cX5kTzPF|1|;0YL{vA%XB@mSyN4E(__9 zKr1o;Kj1yt>Ng|)tUdyNI&eQQKj1!cPGD1xR`n6}BkqTR(+Hm$j$nQ$SgV9uf^aNi~jRihzbB||`YAI7XYa2=o?)(|jqSCne_))>dD!fOQgLuexz zHd!O;RaZU1%}jTLgjX0?t*$K$y;3aEHA43*RCG#)%P8+e`Z+46_-(N)OB(EY;e*xFeITpDu9{ z`a8dE4rxv;x_x%hm_AaxVA!S3CT77IL?fgZfjcwPXy_z%&1v?YjNjZx0us!5$+?eF zm%*5$H|>1(D`7vu1B|*sLNoJQ_B+8&JGnQxLSeIMsy=SUwIZUqkKfn_y#s;=DSU`I za0a~tRn?-%79x)@+GfxUP)m;~@)(h=`kb}Cjel5T<$NCBd_=KzLOD*5<0Mnwj6RZI zz-RLHVyLO$)f^w4=cjr`pPlDx^Eo~`&#-h>!;+pF=T!O}rOz|V&G7AZKHHwXGLDx7 zFm$C|fOzBa!>a8?1uv5I5~~rJK>k-UU3$g9X-}zF$b2o=#Y(p+qK$~RbDCwAvz2{S zQCG2WjY)4tUmJfr6S$m`cwLFtNqk3N?Up=f0blISzu>mAM}9*&Zjhs-6JPN5hIHZ+ z*ny7%iF^SYzOoaXxju#M@g?j6zJ;ygyl{i2@nLBORnqyM^oUN93_J1f(bCMLDbZ_5 zA5FfLOS;rUUfQLB*V2O5@N7;CUc=QbEqJX`f7#~4CoL^_tqS+6h?gNiqdGZ6LR}(z z0MCA&G8ZKr#$PgY@!JHYrSoE8U0mnvFuaIJy&myy)n77X$&lq$Q+3|Tqc{5duekcu zlRqYkx>(wEEe1mC284E7_F8{9w6yEavzwy*_%A?O0RmzX6A*TzuN6kL;6u*25Aov{Xh=OzHATETv1RaC&ihmMr-nnSHPrMG3V(#hET1c` z+fm^C8Q1M2?$5I0OJhJCB7*vnpLhKgK7L9S`g_@w)| z`=rh%Zf8#yeu}S`{gwNa`>SFBY}q%CMPS#cm!waV^cf_%K2r?1_Sx)Q9!Y=8$$!rM zjr&{8AZ@>4{-cIvG)z1gm04Zo5cYU zR}2gH_v*NRaNltMppFYpvNq~{i)`QGEMlD5w>kcHcxH-IrhDib?;lAtL@wujhdkf; zY{3dU#l=x*xwQK(S6Su%35xEYa^64NV!%JQ-`@Y?{v|uFC5C9%_p-0yZU23WAk>9F zbu9bliKzDj!arbbMBj@Fqkc%#51I4jJMuxo5AuVG^OxU0K1ufb$L+}SRq8LTz;(#R zgDU-HJiyt<;#;sId#(C${D|WpQC-Y$j(Pt|;9rY9^uN3x^DF#ucJ4ra)Td(JPe}Ml zvG-H=Q;58u@#MP3nR1`U5crCE2z+_P?&t7##qOaZ_&YSc=z#y^|9|2B-Tfj5aQ7cz zc)#rH<%mPc3*>HKAmdf!JxtWE+{5lyIq$#ngNpkvJpj_)ul=?duwB~ycQKsZ{|LSN zjoR}FQI8aRzlEVA>UZvUx}1-?-?&G)oVpjt!@QHPY#`f$2OMq1P)WpfD6HruU!b%ckM#3gliqo z>a2BqWr|+x;+00|(^62F;h4nDHz}x(gZiYHzToPYNf->I?;(+VBU#c=z#A=?&y7YO zhfOz7`Unso03Rs5p+-TkLG5vqVH>NXBH4xh`zwCgcgRXMFqR?u<-zp%r!=rZ^}+d# zm(W*$S91}c)~P?ush7nyo9Qj(uLoiKSl7s(L3teq- zY(~UQmpmA>egx_-KxyN`{xCa>6Pm44osHS5yxBQJPIEF}p}+7h#sA?Vz>K=gqz!_V>*^_UB%VxTTl{^IH}v z>d@k`R;4avEaNCOUGn@X}!hl<=yWK#t05J*aO5iM_hBH z@K$2u-a(5!NbDgYh=tiMP`RrFbxP%JO(c61;U8#27EVG1F(?~d<0J5c2U5SEyXh6A zW|aF_#2uBgSWb{4-$MyDRed9-vi)20_e9@gC^GRhs8Dzfoy_p{y&R0^D8=&!2 z#GNKLAS25xLGD}LoBMJ1Vwd-3zJh3yGQ&HWM)#>(ej}YsMIL;)kp_bGS+8;+@0Q=yE!Tf zl25RZI)u6UJ^U92k~{nz1HIpsXc?koteIQ51T7n$O0aQ5kgpL0$wEz(+J;3LfJ=1* z=Qvb4VyujtD4DU2eE}Sq1&xG_VrRF80lX~g-;K7IKQt{}F&1FJhDL{!qrX5o#V zi@&gqygG~$_z3F==a?PasyEW0u`rK(_s)(3N~q2K9Ke4`^(a>YQh^<2>pFfMg|`v*Fue4EiAj$)KSjVOhn7VUO-VFOdB&7NP77}n0WD-Dfzf{6*-eEMhS#`okHb>n->O3S{ zhd7&S+E{~)B>ph*EsAdm`hd5)j`zV^UwI!^k}p>UnRyZJn7QKnUaM+69(7QZ$FY1u zmQMtkd9&%58Tq}FNP4ES8n!hn|k+Z)W4h(E6Es3?}ACb9R-mL?l6{d z7pr$+B-^AI1~@4(Fr>iR$1oauLv@xQEfWQsWN6h3&k(4XE9%{$7C)5uVTvC{JYyIy zTOIr0?U+}p)KXH}QRNO}J9T)BJ{S?x9R@ZzJO($3h>V3th1?|Qia1JO$s%A$YU9f> zjJ!GmkYv#-l>QoHI$%%4`oc=m2jgPxzk)uP81rk@ z2a{sxgn?BC5?~;cH~WCb!cOvi)tD=n5*S0PY)#>8E~*dUB#EC&ye%G8SRdFE-~iuO zRY~Z`X#yk}abu8?g+06QX`Q(ENT#-xv}w8wPG{MvHa`=cp)@U7&(t}y3Pr?B7Q2~j zHo=-Jzqm;JqnI-CHDS=mIh=P-eRn9B%K}2O%}Ad5z$P1xiV=j^z(uemy?xm`)4Y5V zPDXqbkUZCu)C()gU`+_`q>Fs8TEY3Wmt}|rF)@*h$T41QyY$J|3i`+-of5b@s2y1` zkc`#DlrS4i32Wp#f!J6QVvRtH*`vHKzbJMQve6|3Hu85F3P*^2At+;#S}W+j>KGs+ zC)ryIJ>ZONIAWMLD!zdfob@V2t|AiGiQv>;;%%Iam3oD-?RF$t| znxzu{wZG+b5&g(1r^P(-ms8%YH-{$WZz4Z9BmZ~_B%Q3gW7*f4qmr|`07w32Q4-_z zYM%;7#OqDzfq^xGIA+gj#wYj+MJV!VLfYP-J5v-RPKKm3B*iQ?bI*rr;s=%S zAnDu=%$3Q~h!>zD4-ttkRdCSWfrr(BEZ-a!i5M!04S-Z6_E-#9(H-N4Yn6;x@I|+> zxcEf2I?0^p6G0KP`wzvsFoEV3fNJRATfz=Lr4B}4Y^gdJYVnltMS+X<8B*V&8%7}! ziO`GuYwzF>i(;htPC8=zrGqcTK)Np~|3&f}!N{Ai@I|s-h-G&K9sE%-jg;sIyNLH= zn+mkkilB_Zj`gk-%-YQNT-9DrBb*l zDZG)-AQHJ$9jt@)4!)tTEP;d(?}$TT9LjNkB*mDJ8|pX=wyHD^z}Viw!}YWKJ;c#E zm`NT_9oFON;B?r*V2*c4X{=5i{8)%PN@^_VU;`cbLM(-7u$FV}&Au)v$0_jQNk+Ut=@A@3pNjiC)FMR6 zYFP?W`UFlN7LtDy9w#X?!IN*4*y!^m=tvd47d+DETN<_kSx$+`CO|exsAP6~u(I%V zv61Bcis;BjKItv%?Qo>X$SLvcq+nG0wpdB>{+$@fCTJPu?TAQ$opN1 zlX1V!vI70taLC5C)xO8c(Pc$2;cm3NEG6W#T8%C8N^iah_B8f21x)z~i3%mxDt1u&D$^@T}_mwY)cO)?JF#Eal1NrIKE z6)u?zSjho}Rt>l<#3UBR#la$J;(DyA1+I>RntaR-&DRvu6vfmAMQ$^01Sr5A;BRaX7QPbA0#1Dsw@6elC65z=o8wX@Q^G58*h%%}mN?v{k&^}C zZV#)r4JsgZlJ?V57DcuyW-BpuaetrIH(w39h@7v+v+AO40w^tuZ3IQ{joquVyudfc z8Q8R-xLwL-QZ?Jo;!lWHJ^)(D3GR%$9TNXSSXi=T3^*#xYryU}KU6qMG~rE}tVw!h zeZeS+*(;?ov5|Y@p)%Q<^!}`JvUi3f95BJayJn}A;WUQMNTBTI(_kN;5;r5{IT!a&MFl~!azjqw z$G75vESc2J&Y6fA6`hD@FS4peGs%5XQe|xCspKV%5-fvvWD?pY=n>u#pBbfI zrDgTjvU5=(k312GX%0q6_MP4)$}a46r3r+z19nbI5=1cm12OWUToOPNZHolb&{pta z3vC4-X3*m8MpMQ{U1kVMo-Tyy8G%gXjK>MBf~LF?_b|@uMM4QfelkOR2xQlKM;0F-hBd zsno@&q}9{O4~&(7ved!SghA_X1n#N%ze5UN|erNYCvYy@dx4zfMt*@)crkwpbOOgq6Sn!XOo*jM$mJc{mA}k?{9ka*-`{*$ z5yG3eQmRqaG-{kZRO!5x>O75=t9bk%wj=elP%f<|@lBXadI262Hgh$-0D-wCk>7l& zHM6yx&{~;Yi`fZzv+MF^*NeXtm$^P6D3gN?nB6F|n-YRDH(|Cuf$mv;^JTM{-Hcf< zOulN4S&*^dQg6wdZICFMNKAN4=t~Y>#q2hjZA<`O0$ZXPA=on5d{NKxku4c~4TH0g zCL)HXf?{4L25hXiKuj*t4yp#mgv8YD%dUi9$!7?aZ#M}|Mpw4an`iNuAgN!JJbUbb zK83vus=*-|cT23}zRX9_Ilw&`A50D==wL4g z;#$RP1{*NPE%G>#hH?fQFefeYB$1~iq84nxoVLi*M8asENdy}(P@U9$mdJBbQwug= z062*}Pb3`YTZv!;2A-413q)QN*%@rWz;zONiO9j^;4a03Rclh}8N1>}4;5p2NhGD$lw?q0Z3HemihRgLR61W}>U zX>GuC%&iTWp-C?0FoB;SpS*EsFe?pmvjNjF_l+NcfRcHHI8e||z7MO+BZJJmRCdg) z4VW_J9wk6Dlw2eCV?k~x?G)L7 z>6n=fm?vfVDIulkq47kL*>r@NofUC`wj+)2dV9Vq4K;5(f6JVvY zJ7A^lih;q~eB8 zA3TTDh5FzHJLeZAj|N+c%!P%QndsRv!poCzr68n5Af(iW)S7hGI9es56kRnasSqCp z8SM))N*~nR>;u%*?gkq5=cmPrvMxm*)FxeRQmm-;!MbFy0kd9+DH3exss&uokwKr2xntd z$5D$vO8ha!9}D_`4VaF7zy?gKQd>!dA)yaurJ+vggA;bnCzAlEkfvzYTNt7g6!kP= zXj7IQ&d>*;I2(NcV2UE9$+W#imJ3PPQ#evE)4njK^ufiOeQ-&Aa5?GE=4-TSfz;1f z0B%bn!WP_N*OI{o3?%6#BT^wr!AntKYwrUZ%UbbG5jOnhW$RteW{&PK_|og`YHVrP zQo9dWkLlP4Y`_e${RB~`XtJ@Npx66hL1s2!I%Z}AhPQk+b48&-o3fd!%p-!#ysC7} z%m&OzrH&+Zy7lh#G>|I2J1Q^W#!5mc;KpXen3M$F#$XgSb+qtQ1S(Y<8g2+{=m_o< zV)aR~JQYg1!KLnWR$P-fZE|P6C(qd8>V`0C*PZ3=!M{P-4e3RilwfO*- zin|j8E6z@kssO6(y-Q=!Z)5v5RBmHvm91%<%}n*~GZz00ZFyGl&jx+KGDXKeU<0O7 zsg8H$|~bBnzdZEmUA|h>H`Q=;#UxlBM)jTzC?qNdkhg>R(Z21kC z8muM2QrQ(y!Iwe*cvb|n(bY=RL=`5rKujtThNapD%v$ANOMa%yOd0DFLQmIm-nIb~ zSXi$-Vo-Ss1g2~;QIKi1ej!TIJD9yVZBS+3P9zPx2bRgCaColWqE}XH9@UeX}&R56LX4Jqy%^>!3J!=pl(fxP<=IJ8!+vN zYCDZd`2 zBE>gRE%+(_$hI5iH&`fXV8Tu^{m8nG@`*fU;evTO2W?u@*{5jnr_{yfSu1k%ifKns zZ!VbpyJ%Ew{hQZpe|ZTw2%^kHT%vLCsJ10@NauAp1(phg%HD9wwS=l^eDq3|j|6qu zmdsH_91SAalBu>=!()m(Mr8XnY?aO9Db(Xoj$@M`1*tj!K$X~25{!dS#YJDgkkcZ^ z*)pc|(nR}~%o!=MolON>GUr15H~`e}J@%Xtsx19rn{8D7wZHld7Ng2J|5B7{(Ca{| zZG7WUjl8KB$IBrZ$a^W3-;{Yo#41I8jfR|DxWH6d^PvjERN+@0IBU2oQyLMrN@nuC zqkQjh0`?wzor4;?m#dLKmV8|Mw!sZ$yg@owF4&i;Nq8lULQYgG^T*(zy%*7vV_!K9 z=L*&uYRL`o{*Y@O5o*4ji+ez=Qig-4LggqOD8=2}ml;Mi^m2Y*2KBf*U|NHH8D0h- zlZqTXYuL+W5pS%_jm6yK0$OkO@)#ZhB(eUBQ;!{RZ=o1Bj>)%*JVg=kME>!%Oa?MP zna=OcOu&)H%8(ndwLBulI35a=0c_IXtfzwwn!1Fv<;1??5U-xrL3>XlGsgoYl$R?O3j1t&fM-K0Ps++P z{43LRDar+lE%Y?_E1p2KnTZMyen{8Z>6;rg&tjdP&Tr80_`d_zHQ1m5WQBiaj#riM zX_2p3n-?_LHfZ$rzc>+W&}gy^@@i)jEI%^J&SxuuUNLz(A+luGY1siQBPk{ErlNy5 zm@Mb_yv#gLMpg?b*@Px&I@q9D0x^tAgwosLSV!SSp^jaCgJuER5oGEYCHJzlzZkb5 zm03*Ofe>AfbbiuLdaz%S}EM>}pxy zQSQ~)hLGhS=xj|ozfDsY@oFtM`4F(&Oi&yPm1Of_0oM@6a@OAL~5mwJ6(oGnQNdetQrWNWgyq8%63I>Cv-01pX2je3cg0AFto3yfoG|7 zM>^c7;RFMURvR_D@>TB!GSx;+Q&9D8;k3330Z+@nUD(cV)Nse{(M_;dGI-)?_ofBY za`0xFWgR8K(!$Fg;7)H&yJmh&Ja#~Oa0Rvc+TtQ=**3sxrA|a-?JONA28Wp-rX+@` z!^$YKmX%oBsL^AX+u1g1aGGa>K{dkIwxk8v9uZ&*X6ug8m{ui$(Y6Yv#ic0CW8#FM zdo|}eUPRWMl9&fw%T5Bdu;nj-Jl4;3pqR3J430AFC@AA;qUC&Z7ytEOLJJ^2gMFei zX#!{H`Lk)Ul;@PYoy4_-x1_44OL;-WF7kTnSYBR;V`bo?8r%`Z1+*O?Nj<*W9!l!v z;BYyOt7&`MU8X!F29TCHAfT~#2QaQ*qaCH|JabrsX5%0)a!DnuV*}&zl%XK&#Kf?U z{jOr(C1wF%VN=l?!EHd!8^LW*l5zY~7Tb){X73QKp$`F49A{m@C(Yqq3xHmOt{AGo zP{6KX8K1OL6nVE&k4c>60L;4D*zO|t6cl*f{Ivz%ZF&Rf?z*||Ip{Ku zdm??-GY4VT!}Tii0?D)9f#g}A!Vf~Y`CVbk;K*EG4}Q%3Ns;#fYWN^H*#~o;bFM=T zp8xWr-iMqQh?HUc!w!`)Kruh#p-|>N!be~J^p;Mye<1u{pAU5QJ9&SGb!5xn!uq+p zio8F^`rYo&-Q78nUmdL9`>Fd` z&igm_Zyjp*xvoR8tUly^?jFiPF>(AK5KaG)^ZpZx=|79SUr_j$?icQtIWOmOg`G4D zPJ%N<|KD&X_g@`q__e?EQCOy58_Oi)zX53aP0o7+tG{)RxZiRgJ#tGlp6Dh=yWe5; zQTIEqB;p=*B{=sFiI8t-#0`-=7;6pE17kl;3S9aflp^J0QehY#VG3b^R+uU(i@4$9 zh!B7`yl52W9+SDzAy>pkVg#fJbF40#xv@xp;VEuD>Q9I@LLiJ!ty=iWP#}!8goqm_ zZm38Y5tGFbAVStb`d3I?sN8Dl=<33vw zVT@dY*Z-X^aZkaW-U|`N=NAY^7|Wq~3P5^3TTl>out|HJGHoxe4^Yq22*?dC+g39W z58zKVVJIH>o|V+RN;SU}k(266B*5_0Q1dP7V8m`B{y{$0XNAFc4ExA=wH96*5ec%E zGV3D3N7iBN{iVFj81n29|0+IyR=8f^4V(>L+76=efj z!^)}9ny_VY=oXvq}iP} z#z#yeKHr^s!wT;aSmXAPXRn2!X8>&W5q>j*s#nO)U<_zxf5aUip*iB3WsK4Jpsvn1x#-kTl>i$gc~R zamP806FQBP0%F`r5`bM!>DR@ciJ3cXy>iBi!?v6j;ezP8g@IgvV$Kr=WH~3Cr3k78 za~Dm+>mmt2E0<)BT@}0hmm~gR5O*uyW(rfCB)~`1GVl;^l2A$uqGSoiUXU@6 z5SWn{F$VmxG;fSAdqj0>EH`7oACMp`$Wv`$co1Nbm4u-`z(iJI3@C)xyO07w!B<#F zc$%G{L$rvs#tPSp5rOi^i3p)(>m-#05|V3|&I09=G5C)0^Qo>jC*;y+Lq5-uLAR1~J zFb1H;Ta*FDfZDi#v5PVWr~#W1f*P0e#!`?P>a#X826b^o>_rYpL&hL9U@_h%%)2Gr z#&wLrY4Cx#kj(&g18&P3OM4|T%?E}UI59NlN~BjM8bii-@f#8YyU0OXz-GANfD|KQ z7#nGXML=9YScIpUL9t3h%wtvfy2Cwj z76ne6h2{g(6qrV!0AM(HBs>#S2R~~yR|>pvmDDud!ZSo*KvO_3$8h8Yswe`l;51+= zX5qF@Lda5Nf(OD}>ys)g3??x*1|EUKl7#^xs$vikIS~=S5(_Z4P{zO@pd%KM0RHei zr(woo&=0yPmssH!VsH@94>@T%(I-mk z!D+$)C~yX2XJzc1G>f1Ez`^9}9~z5E-H1N9V1?lV00AzNhp*bwvdcmOaP^18jX79> zD;R5&v8yp?0CbBOYb0D08bi~Mkv5${eiHad>q zKCb$VHPR#sjmaNh)91&n@DuXQ$AO-ijD_*Me>{%sJ#S8-Q$24^GB!cp_4wTL<|Lo{ z&{#?$MC+tMq?VP-s~!O&W-=DWtsY1FDTJq**ZovlRv}~4;`rAiJj9!mWQRgyY5COC zvPvsFU9v*R4l$Fl@XWZYlpj2APUZ_g3uCioY>vF?air(XNgnc{v5aJeSjd`Zh4G-T zk{>-Y84E9vYdwzhyg8Yg&_awYlCkIGxWVHg&zqCH z>f15+nuT#j$4NcV`H|w!4r<=1ns>=39e;Gj8u^_MC`<)EWE|2j@aANN_n5xV9`fw9 z@ILcX-$(dOd8VVn^FBW5=8D%krqB8H+2+ta&kIviMyj1 zJEoSk#_=-8>zubFd7XzXi{ovsVfUmJJ|#bJ+`^g3SQwvjT*J>0#-04MT*dMHlQG=M z@f<%-g87q&#-ya9xxhs$jN|x)IG*DmrxwOzobA~wgmE9gEcfvu+{ZC?Esh5{F5|o* z#qr+^jX@Hbv3IQSyVAgP zo+%c_v%6fL-C&|}_Qr*~=zSD!p3NKU%VSmBN4;=GZg#=ug8}i0(#iiNb4eVlt zabw1@c^i2eEsQ@izRueTD_sTj7HVJdII`0erXcVLTn= zRLm%nz|q*X(6S>kb~J%Fj5|ugu>^uJp|NiG6zfg&xD`Gj|6+t;`1FW{@ghDhM`A`1 z$;2QEBPU{v;XaHr@mUhi$$dC9cAL~;HX_Sqg>f9lq4)xME?O9$Vcd!@5xy)(V%&y{ z5QM>4TLMiO{DoO(Nud4`8taa`u=?z6D|}t9!}tm3P=3*UhI=p`#P1TmA%9`CUWz34 z5|P$RNfLKp)>-898yf3@2e8JoQgfjjE>~cDeDNH!@W><{!EPjBJbCf{ElUxD0_#$; zaJj|UJh|VxdE|M{!t>4Lc0OTzrk<03E$==uhFdLuwxL_?^D@Q~Jlpgj8TbU=p(pko z5@;#FaW;5jzo5Vi1PbsS2%gw4CiN&=YBk|fi&Rc+blC<|LlA_{j1;lthIESJ@(5Wii%}#9P)ikgzrBw&sn+ zagFsi6yO4@!i`C3tu&IS-S-vW*ueKyUazlXY=?~D`idXyPBQM2uWQ({gnVFe`N0Vm zV|c;t&U?Wsyf^8Zq?f|`kYrTwXf2ZWYedekxVG*m!MtBXV@Y|zGV{X+mcoaU@_ju- z9=u%%wQu1cyf${&@ofQccyjOYmkq2wo zGCmS*clZTs$;BixD!8=r?qlK0rl)e5Fb=JFtX`pIZE6{Qt8Gbll?2>ZujP&LVN$y_ zaA4)M-jQP~$|&++Rro!gt2nimq+ zj<6Ofa8NBU2i1ZuxJ%odbYx2R5uT{jG%AIEDt@QTS}cs;X_>rFc^{H*D(Md`cN>V9zLN@DeElqD-De$>9}!?wq)GZY9B7IzwX_lt=UsZM4Gpb>ii@ojmw;a@wz(pJ(XU`I>w?dH0bq z+%xg++(kz8M0V#})(J08-DhuDVO%zG>fA$~y%xqr6UWYdgmKNpjq^>6?UymUF88PK zy=2!Yg%@Vnvd*|=YT|(>CM`Lf!ZR~;#Z(v{%tO)y;oV2BnRs9F?jvKZDV#2GvEMFKDtyMgFV9fsYzp5?v_E+Fk+JjA_rRf&cON-ahQ^F zk$6zPOP(7RE|CwVE5YGsh@2#GdgR?Fjj>^&s0Z&p_@dwkWIyy`E$7oQ@GKO^cL<1sct#>`Iy#MLR~^h8uJGLB zv#dBiiFhf_ra1nGn42q4MH~-#BQh7nD$IqF8~7gLVaQ60yb9R^gfqZg6!i^Vv4vI~ zZ@>le31lVL!i!CcV=-Y=HgGOng1HyeFE7fC5Pc2STI3HnpfD<9F}VzKs>`i#;4HX; zJk=J)7Z6{KW@a4QQzBPcbg~T&-Vzu%U#D$NUi-qw8 z#9?q9VVnWi${&zjBN^KupFkY_SZk3NVAwLe$#Z=(f1Bj}$IQjTc>mQ)HG_8| zc?06eS0tZ5G?b;9fwLbwMDp|tjU{pS(`dTg3ggs=_up&edELTz_2KrngD~!VIQs3x z7@`|r-Q910nqlAyiAMgD=@yrj;u4cv*E(-9$ zQ_FC$!z=GJh0jjNBsaRSWu4?g#{hWA3STx+ zi_7G}g%0ER(BWLyM)<0E(_O_FE_3Vl?=7#V|cwF6ZjvJaOlCK*(MCQ&`N`m>ig~qygBQolFdx*$ z3+^$(d?6aQx6v3IBV&Aqg6{;6B>`sraXve5eO8Fup>Eo7R`^LtPoP7=s;!05puiPx zJYiHP(50Awv8QDWwTY*tIl&GQBA0n%x1c(q-{xd1jMM}o6jR7E)xs!COqRX`BZ)*P zkePr#l(A<`N#a=&Dl^DTge|+(o1W2|*9GlT2|;u5UdT6ngkC){kpb5QeB-UbZorTwD z(40V7f_EZ`O}IL0-k_Q{hLRDiwMY;Gm-JxptG7PcY=vLRAR>Wm1Tz;4H<+441L3Vw zkU%klZ^_CSIuNg-xkEyu^ zu+}0qhp=TysXDOc-eQH1m~O)n@*K7BF)2N`V}x5x&Y=}!$7Sq4t(8j28Vz!>@r2sT_N!2}w@mPx2Vzr7n)7-0r<8%pq1 z9nwiHLzDs0hM|OqbwaEGVTK}<88C(#0}2hpNiaEv&{!vLWG4-NWmfqAq3zA%ySVOq zZ~gX7n4hr?G_spBv6Daz+2gown&uZ0k|te}-gHZP+qBJXo+|BaXwx)L+gBn$fH0c? z0b;cP0m29@8v(K{K!5;Y%eHJV7B)6w7a)vS46=>kzCYiYk+75h?(-x+qqEOBGjrz5 z@_m0lQ?qVL)=j0%!xo>Gbrq=D5TBlP4`lS6*QsT?dwaL0=H1>!ZtI4`YvaW`V49wpbj| z9)yURh$9_?JkXOg_LLe!rUkK>r^!H`r8#UYj}D41e%q|__AG)ZZaZaKEWRU)9*WyR zd}r3RWZh00+oi@@(YDRHRx);H-R`il+r2$mUHtZ1<+iNblXY#B*=O-*vTkqIJwyE2 ztlO7$&(c`C8hbA5+OzICGM-1mR*e-B-V0eSelKJnD!NA(zk9rnEZ4gZ;(925QIQvk zm}r6BNWPTSYx4cJr2|>_5;9IS__DqNztj90Vn zRkmE@-$uS>jUBeiuV>wBNX1a*4T~Siy2Dv_gm_ohy^(cYGn>2H*Wwqm?#-;bNc>XP^=92A8oR8408%uas zvxQbH=B#pG)?LlIKFYjp@prQBTGqWo{N1d3JL}%1vFmE=y{x;Qb?=dJg9}O6Skk*` zCuLdA?pkv0CfAZ2cP$p5m~&-0H<5UG&P~X<@*Ea(IU1XsbCYszG8t2HZb~jV04c8` zr|B})DnFca6*>1XWu{qtdd^MFx#`4buq;pdSuOD(=E=N9MOGUAWq+|rzTgvM&r*z%mK$+_iZtjM_)VPjcuWloovTC2P& z=T_$2D$1<3_?n!n&ABzi>vC>&&ehS_S~d1)&aKV4N6A>1bL+y!a$bE-b8o#>-jH+k zIk$l_k6FAS=ho+31M$am?y;PEoW`C|V;ghsiJaR=Mq|!3sxhY5rW|u`Q|_Un;hKAh z3+9+^n~7`gZBb+k5urMT`@ALM0>_ZRny1wq~MS6Pq~dFlXzbO(QXgTH;j-yU|I@~;pF zO3Hglm&_kJ6@eN_IN+lD*pqrD5QM^NosE9kX)2MbqXL@YipN2I3?eOGbtLB9M(SX9 zn;SgN%TqQ_a_4->3?(O=@d z{DmqT3P!@;-l0emwW%%_ZFdijDTfti$B-vVxZechqkSc|>o4&R+g|%HcoXV&4D%cZ z3Oh09m3kN?OPuJ$@WLZG4_k6~FS~j;`S%gNuhjb}e?AHKg8S zob+LIQwEm9>8AdooP<$d!rd**i@zT>3M?Ukq%xTop>KrQUBZ1_I2NykM-U$IP|?OX zZ%IZH9tk3;@NW@D!w91aCdbCOcfYpT823i$Z&Mr@BmUxD@Duvm5=XMA2*sj=`xM)| ztKgto67JJ%Q@il~hl-{QCI2&oKf`vFHj3k^zepif>hCA;bELnYgt=AO&k{!Hs5VYp zLXtkmA(T}GZPmxg|2*N(bI6rOTb24tTNu|^TNuz-TV^El0O1GFcGkGQK==#n=6Ke1gXvJL(HUAC*gU*b63MO$AX{1r|gjdu*;F`QQ# z18sGwe_tj1Rko!x+QJyc+G^8Z+A@n1+QNpU$om>;Uwf!%vEF=*B|KJM)i~B)C;WA> zYLxi~;cpl!$aohgfPEO(l7#n7{jEuO-_qaO1gcB?txI@+NLznIoj>B7(0Kot@E<=A zZP6Hh|DmG28t=CWe;c0zN<+)3U4OqtpY#{yrUUx>hm7$q+WHRR?{E$zXzNc1qs>&2 z;4f`q!cYV_l#n`8rP62%I}U3L%M5F)OzE^$u5o>rFzQXX^b%o|aDU1+75+2Ae`aJY zV|*cjf)iuuNPr#j_do*fh`$iG-_u`U)bG>QUs30;*k2ms|0MiBIq%eOl%LjUjDJn| zui1x6LwBiOfBzDUQh&e4+|l3fL!IA6TYp0s?WGot@dt#F55io)+G^7n|CaFI8ZPa( zr98EzziLZ=)mB2(-`^4WyHKwwF_JT0FRp*cduu_0!##tZkZmfE@gvIqs8rOGl$`$2 z{o}|epW{>RA9%g3(s{3xnx&=Qk5&4gDE&{R@J|p>rSMPxTcvs1{bOEvt8^M=rysh1 zDfND$(&H#St`rjLUzPN4?%!0Jci}(bg}6%7)t^%2r={M%yMOn7#?b%6{mlJGsrPe7 zuUqkJnSzTt9`w4Oks{;2sP zp>i`m;`os~L9~?W@N)i_yqov?J~2Y2iIjtyqS_=?n?!W7i6<#zia;sV<5hk+v`09M z3KgxOz|@GF%D482meFYeMpY_|iU9%Op5_A>G)OQa@F`+5s0L9*E<_b(Iz%fCpi%}< z)oj}!9}8xJlLVuKu%hN13P4yR z@GVlBBKfr!BL%hutHs+aO2cJs7;^rP?pQ8JScIqzV8O5HV)UygaOL9ARAeP@jU<6TsFa^-) zeokd}P(};kPX2zCzq|RXg=Pg!`iU4qUvGolGEh5 z)5N-TA1zYu^qsWdt>kW!yOn&5K#u~)3G^y(g1{98P7>(5lV;DT#u;J|WezTm*jZxN z6;QJk>h?Ls&XEjO7Bs6AYgPekRsm}^!mxW3>!JQG(tJoQ@@1E0gvix{L3I{|$f z7(0gC8ufZD(1t@|3$#ZC*^$)|6=R2k0Ah$nFK4k&P$K==u@nZ7&MpPY_oR4+e&_$Sr9V6Ss<}al)_cz9cJUZ5frE3`gCE&EeD^B310{<%pvJl3h5{39ye9%Cbi0< z!uj4K1n4(Ds>>^%mcapggA4NnU>+9GC|(Als%eL(oG7p#KV?i7_NSVBmj(~K7+jda z0I4~J0vup!Li*vVm?#t=KV^XYO|zPO$F2ZIvYHHPx{6Mxzzi{gLIPbs63B{4?#O5l zZ;vq<0bB~k2npdvDI8mQRW^sAq5j|DN*=Ae#&@6I#t>`SFt=n^Cldl z9oZTRKol;=rCC(B5nzKW1P_{K6@#qd#KD&tv{f)j&_ZIXD6l$OAQ!YS0a;k;aa!At=A#r?XEp0pv!3XB0}7P^YPi8_Vh{k3_;xTzAVX?CMu7&a z`M7F6P88gbpE6(%H(E{nFf~AcS`eNeTGF zr=nsHW3Y!hvEdGRSwhY>VTK@wA{F5mnHo=sL;`!FzYmGXMXK!fihA_{x4}X}K z@Dz&{vFD67d^Vb|<@rNOA%KYd%?m?h&EgdZ#;h!51iE!+|Ld4UKHx`#ZthpD{S@v> zkVbg`MV2jG%S4^eC&D9!FGXHaUT4&SD|W)&9g4EV9-_DQY6Mh~Rfv}OzTJ@)ugEe) zhhY<0cu23Z7bLGM`a03-;VSlqqHj>_hyq7QpRSc%1uAW2pFUhbBO|OF?j7a$>0lmH z*<%zrV0SLZ6+KS0Q#UM1Z&yGm9d_r^K2(xcw9zqCuw%mt+JI_g;h{*Q-MPR$vhomZ z(hZB!>lIK+gWb8*4}*wQ8x6zIvnrfONXv> z=P3pX$pS%ok6KoNUTe8$7`UWb?j7d!s!SJI7*DWL5x_)(m52aF53EE4nic3K(4xQ@ z0@y5YMJIqE0@rW??P*SG2um*H;H}p(tOmfBT+PYjlNRfaVwZ`P@!o$lB>*wihrWzp zOaj*tGq*rl)`Pnwr93MVlNEy)942eORx8L$76W26T6?arwKZC;pffQ$Cb>?@ZxN_h z;3|Oz1+EcjRG^PQlWIV5Vzo@HJ43VYDfS*Qz6kow_GTz_L&-Nt=3AfNEMGAFX8C;S zH_JClzghbbc~doR(k;FSMPWdRmEo|RFGIJ(f)X1~tSL*|Fri=+#Q46$E?Jj_4b`~o z5l**2LsoPsDUDg+Pz9R!I2U71;7*9=Gpb&{gT7ByY$~xb4Nyv7Q#3%BP$&zME0kPL zV7da62vjOCnLw2SQwUV+E(Wj^7K0dH)EsarvFXaAf7WcRx(#g#ra^LzlGQ991pQ|D zBc}sN3=^IQh6$*T342H21FH)Y{Yt05=<5E{lxfg!Y(-?R8`~d z%1R}Sz=^C>!U%L{y?GYs$%3rX>;htlgK=Z0T~e)BwKk%+rE}Q!={snDp^_J>eI?H& z(4#;VfnEjX5xAnjd;)!U(Ci}BSVXKtyClF}Io~xvHOprv#9mZr35EDDf)G$Cd2%um&3?S$2ettQr@A=R+8z1j(IvaF{hw<&o!fp!H}5a>`~ zC4mD9)Dq~tgJvOVc~T`-o}<~dib;s9jQ&}(({&*SvV~S5nU6VsvwWiRo8|kI-z*=Y z{AT&mbO0aFs`5V7GVTWsVET*oD72%ku*3U_T^@2{1#&@id8Cc;NNZT`20{S4PsDTs zf(aj3?{%x0mv9;FY@|S=)r8*VQJ3gu(=AiRmYCaOH8J)B^L@{1rX^=a%_a&wX*Hix z&8LV$^YT*$=x(#s#Bvb8_lDJEQ1HDh>J$L)-4+wt>-y1N7H@J#GGnkZgz?3&P_Jr+ zOQVd~PHMsVlH00AT8YB+@>9m1nA>C9E5m>+hGn8^=EeO|b1wzjtmZz|+(*>7U(0w_ zoUir{mW)8b^|!erEJr|5H56XKV3oG2VHKV`rHcUa8{*p|VsTTR9Y4a_qs1t5c8 z!qq@bH+Bca1|vv@E&$mhqs?5n=LH2S*mhu?Jp8k=97AAI< z0_XU&lm#QEl^&w!O=V0Oki>7=2C)Q%H?9ZvSX?VSIlxsc^G1T%77leY&9_` z1wft}3=+VytvP5Vu1P<{sOFKbz0;xiz`J9JQi?Vp}Q53 z03OdZ271!;PeNL&Qn^4TG zMU*^YcUhp!T=9u^+g%nMGgo?w*=Lt3(hsX;73i{-4?_=G%U#1HBgRThR=HT4X#^@1 zka!t<600GBN(JT-fIwoQAOL2BC5);r0GY*nU}>t>P<4rx4WMbR-`a>4fyHcljh2lS zN?xJ%mAr&Ny#h-KG$^o)K%)YW5NJ}3m8!9lSY?W4YZa>{Hl6-iv(@VMDkZNX85qKE z_PTa}nk`d`nk`pA&BA09d8<`pHQm~;U9v{8HRK&gX{A!Ej#!sUf@iZ*5yJqUU9vwV zAvDH)ASLZH0-Y(Z-U5eHg1AZPlH?it9fn&XXWU^8q3;cfH4rP)03T)BQ#3#bZk`fJ zu2Awi0@D?!Cs3)tdID7nNENO64w{AWhRP(?s$BvE4wFf&MFUi`@B-KtD!Gy5HYKas z1_jh?qXKFc48m`=S;K}NXJJ#f((IDWifyJ4#^+H9swF_k=@K{VqbVVzoRQ*=7owcN z^fWNJ0+negsu8G4OGOQbTg2eU*?-yzQ008hC)TA8(M@da^bmRrV$SPZlDn1sB!M0U zo+8kzz|#b-D9}uxZwSq{s78xo+6g-p+o3`llA0|`)9g+q? zU-z5sO%;|TCE&(OVCH12kadCVtU}k5SlWZLV`uMQp!W!F2V^%HHgelk>(|Jzjbuf@ zJby244}uHyvsUw2YPQD<)P!y4g)ULJc7Do$UwhFN45EWWj3VSSUE+) zt0wG07k(asF`lrRCn#{zYMxTfQ$$Z26R(W!IB2|Tf-sy!Y%v@otUM2v6o89A8y6=$)7NBEO{jXFMk#Mly=Cy7 z_PW&s!gw2J7FH9#yzi;#dlZGTzY!N<->8+gETQ!@Q7BJJF^%;!!FtN$Rsyu1nLR0? zGkdafCX+LT$EpNCy=eS0o+WtzV^L*!)W5dUvL#4+)=5e~%&L=+j@qK4ftM2YA31GEEPHherpVu;T z64=%eugf93Mv1wU=)pF|0=(J#4*i*Ru2cpgjav4s* z?-$C-%6PD2HB3P6qrN6tHUbL)iXr#WcQ#z#2lwg2lAsS%UaE#Az2+#kOc6=0-K}p? zeB)Ey8dek*Jt*bn>i=@sW?AQ~P~J)wI#w?7YFVUXgl((AIisgsAHLACUZQARo zI&Gwmja1%NsJu-AYGV2Mq^H26q?g<4sCA02BU&+B#p)HUr`UQ0){}l+w-G8(X0M~J z4-@*&PAeNO^50%Z*;n!giZt4d5*`5L1AsL__eV;vS3oHZcB5236u$s!qhY9A15~W! zw6ibljTEV}8>LNZV-wM8ZC>fq6;Mj0-OfxOCjSAnQ8^6v0R?t(ld3e)b=(JVfu>}u zeM!TIfV>E>dJR`Gyavd10MAPbG?U(}7j7!hVk2xGj((b2ZW%5OH90w8vsTQiu`^*Pmej&7aPuyKqa?+8rI!Q4OMIe|C0#QM~B zhhiPXuF$|}%1arJarX?CBLxDzgCzt<;L2e6QXtSb7*`5x;cs{tQv=@|45!)f+GiB|B_de=bXWrgWNgL zw>%~B-oQIzVs%`}xTVf}U8HbJo%itVK%h2{YX=4D@{)`rP@nfs$N=XgF`PPZy53IT zPbqeaSeXXc#kQwtmz-AeX_70He3Za+1&$G@RNy#)Dg{musMf7hw`z1NKToqbfMDGu zHeFX*HCwH2pH=c%)m5^Zy{;XgX3LbKX3G^&vlSZlIn_8v{r%b{J&N^^cR;c8ik&BR zm@3>v=cQH0NDt)YYJxy#UY;fh9M0opLV>Ql{7l3=+)VJ&S5>tWt|)eeSeL9C-(+j2 zZ>P8To?!7Mxm(E>2=pk>OQ2VQiv+GHaEUrwP;9cwp}}+ zPsx2Gw<%f8HYlKG8x>HqO$w;l=6s>*Ho3TvlM9}OS<@4Ex6o}z)nFl%gck(29k{z7 zcAa9lyC4^L7xH$&^RZlASVmbAM;E&7sD}1p$qH^e#zV2QW+$=NNvh^VJ?Km%%3~ov zWlT!CNmdgw6DJu9gWHbDR&z21rdUmTe5@ckH7PF`%D^AS!&Y;VWbqK6&`lD9!aD}* zKLvQwoSyV>jNy>5lOK$kB;o{vF}4i`_>@D8#laYP7$sIof!WCdxj4t**_J4dGWaQj z$J8p@9*`*BG?oNo#6<=*=TQK!8PvpU2D^?Zaw7bcf#ZyYR&yzoDpGX87#CU1MHIk` z1~qY`!Sf)|rIM>d%Z@LO@|vOjDiD=$I7VD&u$oh#CW&mFTxztik|*UzV+E-z$>u>| zu&7nSj|79Pm75J$OMz9%0=cWz%4(u(%%6rb>f}j78?1p_rR`vlYpv#53gB>qnmF8G z%_fS!4SveN&&GPIxg3y{o&C946?}-?V2cnz#X|ysg)*A$#%Ou__qk zPOG_-0=ukct7^6q-EB@el(9$dI8<{rFEf*Fwbkq#i zze?|?^a1(okmrts3{Hl_KSKm-U*WuMw@#&6U!xs|}@;*hI38)d`f1BBZroPe+((M^1S zuoh9W(eARk6zw9~WOrFd6+KEZ9D;DAC%s;GSt`(AcUkqr@erbx8-~kC2rDsJ7}m4E z5-{`m!vwI9XEh|yp}=th2NXC#pi_qHCskDv4y3Y;U*p+FCT0}7lc(5V_1RpX-ai)r?fVwZ@u(?4srQ{BF- z;-gshVy2Vzr)79+> zN}fP+g_6~5uXcc%y`q4c?NdO_UN2_Y6IDYBfqS(}$`vc8ew$*G6q`h>!*;^nLGr-D zNZST^Q!LOv2-ho0=@=yMD+CSm@ zN}fVsx&jphDixSYph|&<2~^)svv_Xd0hm~mcET*hW)W-DXw__sc0#3+D@krvvYM?` zK+V=Epl0h8P_qq#3WswNBjk}eg{_W!zTomj7wG0<54Q(|*8~@6UV9R&q8NgNUuBQO5 zWT^R=YW7PN;$w!DQ%+=5b3M)=_;47E@d>N>1O+x)O?z|NNOY4qkWt3w6iS7vi6@DT zc%})*xJ4V;LIGZ~Hl?If*n%@(zVgY#3@fJ%vUZRJtO!3A46<3yXK*|t$-)A;+tkW7 zqT5ZLP#L`DZLtkvZLt+AqF|6atmY01?6jJ@RC5>6)|BI?jNS4=qpsrGVkZL*2D!&- z?xDb5tJ$WSZAAB(2O4GImF5|%i3^Oq2sm2J`kZ{!@PtW$c6q14M@?b6-U~c0mtZ)i zY0Y^ZD$zlS7v-2nerfp9m(odaKsg7>Q&`QO7L!$nGw;uB{IlgCsn~BJl24E@mHdQMdGwxSMh#jL6KbB ze-yo%`Q;z|!bq-`)?X*W?fp`wclYqAe|sHk@g*HOK9xJ_+-CF;R$bCt||A(kgY&s~FU1H8*B z`#Iu1376+e6eCX;q1$bPex4rmhHy<+o<17fVIA=EWTpYi)u24t;@)K)iiW6Hi_&#Z zG0Zv_^|biIMODN}H_l5P{Yp$YIah8vXS7TJeRc98>x2J~eYwD!M5r%UQi^`i-QGRC zDm2im6rStDo^$s&m!G)+-_!}uqnIbC>m%O1s&*go`%1l!x{rDvbN9NBxnea(24hv6cqxsjnACKju#IKHa_q);KLP4TY zCP;)9(Wl0GpDqAv(Z|p7-{;(?eKDfXpi1=l67K=h0x2S(sR!L}kM$lR>37^i?svw4 zNqw>3&W(4g&{Cq4n!j3TIkK||QKBNGh`yA6^lG&DGn`V^AET%+m$Lp{OL$){q`ZRr zvMZpG^X1#p(O5i@OrMr(cNHAMJOCe;OLLhHu}R77^iQ4ZP3SyN9M3P_zs1?QwqNHC(=2}pXiNv-=!=f zNA6F@K_C6upfv8(1QGl>CI7q>@aQijc9cJNG2(rXlHW(*==S04oWIA>MU$| zjguQ_C)qEHlz;3ITv0_h-{)c6on~7TvqUClzYr@b{%EdH7L!s^-)$%*(bJIJNh6d* zG$41X4c?g_$?v`v`;clZrbYtAB#QXNjv82|=rV@-hyWg-9XKDqM&7GYUJZH6BQQCz zI*>T|n^!cdmC9O)nLA4WP1i;^pS5$`DvGbR4Xsgh4bi%YTWx|#wSLPSEKQHHjG!G} z@H4``G5!pP-6yZ@}BG`#M_9}p&gJLUdxjRt+NTIc*fyuj^tn9_|hM$!R`1<1(?MaeEJH_5x7I( zDYSK-*2tT6WKmHvItO@X8%K7#B$j+Fr4p|t0)G=6*{wRVJ46HRjJO?ARI($xOT!dt zqa$0cBU^4q*3;#sHBzV<;_X&vchlKD5%?Eq9Bxk{8d{q&+KBEmStVsa+B}2ZGLW`u zE(x{a>Wzie5V|hR`&uN#E^0Yx5lSo|pcTYbS*E65H%h(;Y-#i~!46#!Hf0 zQq%iQkx2-OHBD*!op5hY)4WgQ8YO%N;D!4cNiul{rOK3l@h$DB0HLuZJPksl;)hiH z5XAvu_;nJ3;-Pnkm2sFTC<{MjfU&$`oj788O+r|#6O_iU3e%TPRK}2r(_x%GWB_fs z9-LN3wZFR}?x=rSeK=QWA7YdXTngV}Bj6(-F6^L_+W1M*PD!>&Xba@aY5%lp!I!YI zyU9KSJco-Ll+T8E=ahJkL_iZv`_G${)A|0>ifX7g`KQ$d2{w7X(r^-1Lf|5&)g|pC zm=Yd?6#^x>B-JK7@&z(Z5F{l6L#~CVRZl0URi7>xZ%4pGKtb%Zg7GMV@$gS83`&b| zGouT}Jvy!4jTAbE8215g!F$&TGzTPzkskE%rbaP9dMLw44;}jnQIQ@Ku;8`bPH8;a z@VG|fojR>1VxB$3E0@vk0P!&q>*>i@=nwG#JUB)~D@@i&889AGqiPz!11#j>uxU!; z4~J_nO*ahDf(H7*^D0$fJ*G!}&?7jlW-4nYR>ItFrr|zR96p0bOo~H!@S8;l%7fm0 zfbvj=Q6B2Vd{cy)A9jM$c<5oPbfPAPa-UAC)*(P2Brc#-S#UoB|54;iM%mS>Bv&ZE zLo5iFV461+M6yw7sYY?lB@OOlDW5Xodl$ARgU7c0_2FG73Cm4>ZADV65b(jV|}#5 zXE}na)g_%)k43qGg3W;DXo%Wr1;vLL?Qk8dz>)^dAorUD! z_XHv2r0C;jWo#z8#h?sj0A@7Vv4`n^_joeg?Ucs(5$_#nyz&m3ehLk#A)p?lJx#r4 zqdA@;wAHo=@4>Sn(e0)urHqy+aEFd4cn4g_j<9KZh-)QI7MkuJqPw4+s=SjbARnL} ztx}!}PAg~+uDqO9Jh|Ykl(Q!W`a#-Winm44o`MG9@@u^V_~45p(PvFsN*Pce?bZpX zk9`6^f@#B8@an{S5jxQjle!@R8piF~ogg7p?V$M= zqv%v2Q$^nb4usdQLO%q6yd(f5znDd^`ws7*svM-sE22MOK-A75B_1LX^yAg2h!5D1 z*P{8eta0>*YKH~JL3|vBACxMUC=UWhqGN$NIFXJSBHYG8vaCwr1K zub>*#&J@*|LShBRurc8b&<;~$;c=zf!?N&)PIx#bDq&j8n_)s%Gh%oKig8?L#W=2& z3PBKn8_Y%(XHFn~g_(Yd=z+Ph;JCi1<60F%eHU{SXo7h$yHw1NF+|z@>$u{UtO(y^ zx>Ve5$CU@&>R};Pz&9*z)rN*}0AH+PPzC5<0U-1r*Cnw+%Uz+NKi{sbfxxz(%Vi*b z1vcQ<;1OiG_QP`a!wSh@$+UlEEI6*U%BsbJpH~kY*Hvsj?gjS!ymqrq)u~J!)z=1E zSdakzaZUSo7efbZ^rr{M6$|_#$z!dH*>N45EA;+`6tgf&p&?A**T=BG=eS~3&x<$G zu)gP_g6aJRS>NZM(0m;(1ANRh$j0P;V@&4uw6jTx{pR*Ewa3DKODx~0`8qO2wK-Yd zN#OWx4p@ggz{w9Bfq6WNH0fw!d~Y&Zz~?f$4^*^dZjV8JGsksn3{(5yxE|MW-6q53 z?XtW_Ov{dIi-y<|99O)`aggn}@+iqe(+-}bJ|y#dE~#{XmyPCD>w8S?F~Hvu9wi(q z#tNA9Vs_6}l^SiVlAly-G6oWWOFm zo(pq(wS%cWpQ1?Yin*>BhV`<+KN`zl;t7oF2i1=0;2qb&Gvj)PvHdZQ78dmv_VifTpZ1Sdw>sV(94*`ca+6|5E29PbOsr6MH$q)(-Z!w9`TQ9=(qo;) z!k+IkM9sk7GO($?5E~KYb5RTq zhwsKES@~@wu#CxH8P}y;rs;DOnrkv*bK^L5ldc$6_K1j;gd$@09)dezZE!y3!~SDE zYGO?v4h`nHV8>a<0~2|!*MXE6mi7KDEsIH1tm$sEkjMC(>$TN?M2$W|v_=|Z*vMn} z?q5@R_d%uQlo}D5#&f?*^dnxaD%DbHRUGqojN7rM@88U7+sqmjSwoRJYalRG$DSb2 z7{k8Z-;CbsrI$a+RZml=Ou@v{k$Yj8dMSDXW z$CKKtPiU{=_zICA(;;hQ*J4ACb^1n$kdl!58>Yt}R-+L(18 z4x6U5@s%|+-E_a+w52iLF7)0n!)+`AsEVmJzt;(2s?Cl&s*C|sZDkynskS)8wc#UFT{NjG#PSZ(tU~JkN6oc z8+7R3(mz*C|LiKqAB$}awK3(s#_{jF_5AJA`CC5<9W?s&Hhsrx`yIp;Q9kS33G1ZG z8rIpEaAUjuo`3$*7|1LD@&*iEUvlIV(m3SrrNU9F5`ll2+v=tl_!G! zPvVtALZ;i360+MSFa^Wq3K>jJl_BZF3QaTH?P-`3V|YE4w+FJoF2OR}l+c3nH!#r- z-xlB$Ym^ygV~5S#0@-C_xy{>xgkB>A=GRzg$)wscFteV=RfKCKR$N>pv3RrfgwiW@ ztX6WYDo1e|ETHeBWNR%uYc86ywZ`t67Xr4;#mZPrbP2Bn{0t1Oms-;pSugUfto;Rc zlvk^!YiYV{lz;wWcil9~t5G90G_suYkGVq#qic5DN@c7hT1z!QW0j1p)$!G4k-fUV z5`@@px&A(djd|h9sP~ytHz%-~F4$WS1ldwD zcE*Yt`|0foyZ&~M@>Gsl zIPXo!o|(Wcx@-)hUHyMfM#~r&OY}B?H*!uETRz|*-fr;-CYr2d3TnwhdGmIYAsp&eJZVS%eqwJZ{ zX7GzGEf-f=(qdiRA#vsaC@0PKx8SYxgDUBm(PEws@qv`k= z>-brE<_O{2jYqh57A)cu@r~Qum=Wov_ zv&=Q4*Sg^Ry`=LOd)-U7p1&Fp#DA1nk)+N)HYLS+y}qiIYg2ER$DEVO@C=Ti5VC0o5v!^nGd)l{jA?PS&p& z#!gG3gOH@hSij0(uJFy>_2bkXoGXG8}Q$z%uNByYK%J(1*`==ikvs}`;HYG!kiS2J4z!&Yor?VPCi zv?S%YQZgWnRG&;@$*MN6VdWJoiDt#>VYK>`Y*WK?f@)Z=;#x<-aWE^aiXAKeKL5URVt=ww{TZ36 zasi~&%WUS;(wO5CN%R#NuVRXdJ!}7FI&CwDROApvUbO}S15~bufz%vkptqhA(?5;b zDK%sP+7O%*SfCd9LUjG-#7N9X@OaO=n|isr_i%WR(-J(}6WGAx+Y#;3F748z`Ujg- ztXF-JI!scfPdx1+E0LM!TLb6BRc-Jp=Y;R% z?AHiTyuQy37+y98=LEKwMOb2@e%F6am^)dN@VLIF*l(Co^24-pMydqk$#C{#LdkJ% zeDGI|BmEabRVnVpv2iq$NQ@ox&vKmW9{hk+B&v970|Q8|tMnYx#ziUFKVm7lI2FE! zq8iG0I4o1AFnQ#MJ>(MlgF)jXNQ&9rNgC_NLiK|(edKgN7B|(54%TxGIv~O z+r;RR`%$8pIr38m7K|ILX)GPrNi;8LnjSW)=|-Bac+kI}Zb%hc9+dqfH=0z%;*nni zAuJvl{0A%^m0=c->NqBjSUheCTc7-` zv?q!cBR^$e?zqi5j=3XtklVwi=^+vp+}rvc_wPsQACxU5cc+wU3eKq=I;Tk8Vds=i zR16)tJ*907B6p>HYsmb|SInbm8FHWO!!LQ5Kysf-AuJ$ye{-t^quAv>helJ8P5~Nj**`-uz~EbQDFm#jpK{KsCXntj)T%$bfgRHFsvi% zXdBx{ZfB{8i6p<52%*}?GZhw*T&sy<4arX#W)7)?amXb74ux$~x=C#}(RQ8MewE(Q zwoD^2h2-KbEkCR#c`KXJ{q7sec!TH>Y57@3SITu+zmH1o4{yf)X~eCpWJ5TpwB1zD zrvya)+GzZ^+Bi-dCsMj)IjQJLqNh^sM9T5+v0yh+;%AljS4W3A)gp8kV%krKPO2&>2?id;6a zzl(&f*tz+ZGTtJ3)wKSUaZTcX+M#_W1lSi2nkk4f3fK#S?i!=lcBle&Jm|fnCf=dq zyLKjBSM)m3_fq&ClKS7V*91;EZQ{nzsR1l8%g47o@^M z`01?7rLisuv;slAsK9QX^pNS-@e3c$S2OCus!Xh;Zt17u%7Dli*kY$~8A1JZ_&j6X(5HDU`XfOMeFQ&2MQ zZ;3;O@ly_@*HYUe;1+z^vT%z4Sv=@d0KTdw?JZC1?g{P*XlezihzD}I)$%XR!WeNs zODf0^j1&LXrv3AaorO(3cd}$+B43x5iXclart8?fKT7I4Yp6bL=Ph>PJo}T1**A9T z{98ZJ5H{UB=97tuHqLJzPwRBSbQ-(sCrI5$4|!>twzGMY%5EZcv(yEp7uYz^5Q2hS z9>{ExexUbcy1*klT7pkXOOWd**(0M}V-V(XgtrAd6JLA8nkld~ZRh_sHM5QQcGD14 zPD>hTL7gx=BtVFspiY=J9`G6TgHjme0iR+x=_``D;Le~=h_5SaH}=llrl6Co*dAhL z&AeB!y~KFb;nk{QZN#u60A^NfA2EzoV6hZ?hL~ARKdacY#IBB!!6(-NR0(+vKnI?a z9-&kTpHJuCc#AifTvuLD<_lzYq!A)Slo0trKa(rdOUitS%>B|L^w1_ekj^jN$;Tot zi7zYjWik&+nNa$KuLPM~i#wIsN#-F*5+YBC5TRd_CE+z?zDDL@sSV>YGYG=~XFS|1+19H1Cn#16oRsOj&I)(@qq6L&j zr;uEoz30{K^K|=7Nfvq+q+h7jPaX_K&;FeHCM1{Fg$0j-mXQZCdW=vKMx&C4^~j%M7X4B~}ua>hU2(l8`%3MTg#Z4f+5 zSIAQ&x`h=P4=KZ`8OazD2xJUld$ggM`Uj=L>C!9Y@m;!xXc{6`$m6^6&?=mr@sKZ^ zlaX{GfnO_K$RH$MXh-7G7^xRV5HFN$;X;~4z;KZbf^MN#$OVl-EXg2YC#GG(i(cd7Bu>WgAFMOp=EFKu|T@oROm8mJDi! zh#I10I2K7m2J*Bv)~tWFO5PCl!g1cVj6>wGIfHs(iML&OC=+hacsnvk6e3sX2<)VR zUCKhOaF^5y5gOA#c83GGG6v;B^7m#O3Wj^hN1?FI213{Nsk8eS$TN~HM70o=!f+t% z%4;{0Lvy2&5ANYW&@Oxq*=30sO2Cjn2mL_2(6kHjr>-sH;1m7A18mV(F5EBi!V<&_ z$wRO3V8$0NlxQI?Ko8LXf`y2oX56b1CqxWY134THS)LHyOhPjp0H#hO1+cHzXfr zLu3vwl8>U{B^yIt`i8tLWC&L>$QvSSh?JpSUg;4chCCQEgsWpP$8W_TNeR~|+?PSu zPyo-eA4Lyke)+{;+$$-jj+_^FF&F=_$LqrTn3@iYP>j41l3LOW*HV*b|Zz^pH8jUNvO`!jY3P*^GNUvOUm#3och%o_3qVQ z^6o3(9{-~h_-Lv3G50ZdpSw4|3>#;1ahLyb{iVQ&0xt7MQfg!=Fwt*0$ff+dGS2}@ zjrzh+6d0vA=jCWOT7pc){JH;usBa`m@+S(#-Y21pK3VF0il&f>GVYqcEw;B>a^9!a zLR}W}s4V7vmO`H`g+BV6_j&hu7^KhSFJPfa2{IojWPdG##Ch^X&XeDTMf%-w&_=)G zzUaPGf=<)#1@AdprtB;NFuK<(6sqSD{ECA!a$m`x?u{1d;ua^Q2eM3orL)!UV%*LX^8ti;Zp~lLG6cQ?J=P>GTGU{)+Z@O=lLKgi& z{^7?l35$AvNU=XGMNa9Dyg$|kzfJtxrQk&0fhGE5_b2(2|EYme@_)c;eb@aDAw}>+ zf9n2htoP>(@-GIi zHxCtYhn(|%z&3wS>iw>+eYTJIzhGhe~^Yudk>-B<+W#9(a*RqkmA}e?-!c zd}$$)LTRB4&{0>oCn&{*oNqrQ)L`(J^-76JZOHu?@Q8N*nfO1O)R6Ztg*qLGpTHvh zi~C9b?50Su=AuoXadhin-8kV#ut)#qemd6scanbQ{@wj-oUkJXTd0dlS;+mo6!z%< z&0hp3p>ll`1c|?7{#T(Pil$J){kLffx&LzinXmTG@kU4_m7>5e3r$h4jJnWB7|ur= zKM1A#RsTG1j*3X4D5WM^fP-5ear`E7aV}P10)hV1eNu!YKUu&Ms1lF2YIzC;dh`gc zfP6cf1Lq2Bj?*4;sU`Mn$R*$w%1nh}IA-TRg&>r&5K3@KAWCkgF-im~VG(9W*h6!~ zBETa>#3Rj)xGGo#U?h;GxeooX!4Ia=a zBG71E1kwnR$O!b212cMzJpgdj5YiaD{}y=hIEN*iE=UB$p^kj5pJ2+oA3w5b6BUHS zYdva)69)vTE9Su;@$QNNVCBhg3!$eX8ZN*QpK6FU8*-$Kts;-KEAhJi6u?TjD=E!g z3vZxE=(2gVO_jG%1zu@8ca*lN9ZK9m;!fd7-Y#@MG^1K0t|bDa1bJk$O6#7@s@)Pl z*%N_H^7aZ%5|Bioja|1-I}8|UpLiq`Y$NVj?W00v6!M6zh%|aGf_zW@5<8RTs_>>| z0ZM=%RY$!KAV@EWP|DX{utG~Pd$$1P_D2de(GM_3=I;R5*wkM03^GN zbw&V+OwFfQ0mqlrL+ zi%0Tcksy}d3FjQO0FW}`k5He1Jh~o1Vnztk4feoI4Ib5>2+R@xOu!Ugyb+JVQCAjq ztT z=iIbtp$3ynCHITT7;}W63>}}P3;{#HMf?OKffmg+9TP;)!H~McT}f#~&oM3_p(d`i zYmO?zv0h004>NO zN>dKLhyd#x;1R!d?C)X)9wpE}=hjC#%QlEaLQw{olRAJ$+~R7TQ=rS%xvs2;B${KL zdpufbiAz$3r*Nu39&L;U*b!wOkLI@q>s(w2Qr3e&LQ-anWMRA}gOHloZBJ^q0T}W0 ztq^PxG*UA=5NzlvQ;yln8MiGO%(-m{rm)U!kLslolo4ND*!B(~Ms7Qyoz^K>B3>I3 zHJr#Yc1t}*7w5A)uSa=Y4A(h4wCY4TM?yz9=k{oCfEw+Q#!SE(G^25&f$b2%AD&EN+fQmL);Mb5SY+d;2{Pd2*jmT z^m*;d^CWcHoI9n;r>G2bbQ*tuwy85pJVWAH4nq|EmqMrJTo1F?fTA9M&fOKxx$}Cm zdNYa&jJTpV5d@3E76B5C1uSBRffE53U1EoU5?!`A*M*9>wsM87_(0JWf6kr2#*&N? zQA&Ulb@KvI<$Rn-{LnQ7pQ8B%{+t6M6<);cT?D+S02+T?rLWT}2oXPMqj#eD_xw3` zg$t>brW_2BKj+F~j^9o8cd-HzU+JH7<71p9}DK(oS4nIxnKzi6D)x<;eK?F z)iJb6ECY&Yp}FbjRm^;30>Tr8-d)g%a)E?O-i_GRX_58@(9t5HN8F*t1QX5FIv2l{ zJ3?6mO%e5^MjNc5=<*nxkuW28q!qF7p(_q@#GI=YcjT>#!5euXMg&%~2i9otbsGFy z{qv|XMvt-wK#1yM=z+ixl?WZG4|yEyLSoFh^*$J3Jq9I82_=FZdJO2r*0~0Cs$b5- z=3FA=i3aA}##o^SGfI_hWB{9DfJLV4vDt>ZMHySjXfjSn${s*MPui~JmDT1LFRp^i z7dwadSkQGO)Fiad!4mOtkSah%PovFco7$?x_sMv4YtFTZI|40oE%0fqb9aPuZim1l zIHDafAR<^INq7)wW!LT24%=fK(H?df=+Iv6qe2@upxR0so8A`#AIiVw&$)JPMake5 zLV+2;^3}RdjL8Jc<2Uu;AW_^ag#kz z7I$Uw{&jAAoH-{HD7?3v5NGwD7zYJ{^9kl$Im@;ykMmh3?k2@;&LySG!8MYa;W{@Z zUg%1A6-ut4>{Ky7ZVI7?aqylH?E`2|6tIV%GJt+&nD2Am1wV{Eez+?s&3j?K*OSm? za}Fv9rkN^$L9^l>zz>@O?UCdLU#P|Sfc+HuH0OYRxVHxas*2m3yFHw9^JKXX_cJdp zos9W$;XVYa<7379M8x|njH8J$PQcG%?W00N#MCgrczBSHL;B>e`g5+4TTwR8E0Ksq zF`6P?je1iR}?F-nn3@YTN~#rg9Ta}M-_t4*J@ij5Z85Ysepu(xDCz*@)fLe z!hVuyS5ROBRiJ$yiwpbVS1%AK|8%g_Fh2&2eNTpnR}Sj|c1AQz9#*8d0cBet`Eu_W`3I>(q92YCF-EILwb_?1%&X z=!S?d1OPx+!xM!e1fK|4=P-w}RRbcZSmF*lg#vMhDs_i^rPetN*wyxKQuhc15*S2J z+LYKY=@5`X&&0!ZE&(3IoNJe412hn1kZ2$R&$9-{5e-^v=5~zcP(D1<4#nieK7_}EnJg&L;j{e=kT@z=0j=9LG}<}&Y3m?ppWJp z;dco1&$;(>mcjf$0tL_yPDLnS;$;d*&Wu;nS+C3%1LoZLM4=`5tFjHQoOh`SD53m1 zf6h^8Qi3@*8QUM8^SR1$S>oFL0c%BcqglR~P4ZNx=5l-&3eB z6#LQ(#{Yl>RVVVZwaz7l1qloi6$JBx3WItA4u>^Y_m;3e0)8;C#NsDm>m2@I7V?oSioKH3zhk1!uz zj7kUruBT9~IoHg4Q{IqDCBf$0pm5GX`lO|eur(phXIsK+5$EGt*mXO!!*=o(R3Ohd z;XS*wj|ydcTGv)u*~)INkcs>?f1NAmR+J3hitrLNA#0{Km20EiKAzG=`+)uAXZdq( zI(MR0nsU#=fN>|P((ROfPS}r-pJx*J@!Vz7WEFR!R+@4UK>nG;trI`V3=}IM^@095 z2MSay66i&F?l%-jFc6=58My`OY!@IZ0`^05%sB)H%5XWUUL2&#D?)=jxFCL%c{!2a z6|8f3n$#KbsyH8!K(8j``JcdHcH8UPZExtbJEBk*Uk-VgX9pfNG6*W@C}-TUaLyg` z=iG7jKnmK2ZJ%JeUKpWJi$k_ zq*$KJ|0T`&iZZ5hH*g9KQ`y|Y2Dsi;`lxzzxT7b zmL`FK#QhMcN{$uy6A||V?lT`S0OV(ZSb##efFHI}%~lr5$$fsgzs~&=e6mdwBHuW|n^C-=1bb8n^n zWreFX*k>jDMzN@$6$JWc+o~kz*Xkrt5Hygvx#z-4f$5rU3RKwOD{}IC@6R^CpO%!! zAFiuZStsl#@N!R?waI)_u)?9AmSnbVNP_=B0^!MCC=h`LcG%uvDQ)EI`7|?|9 z6k!PXAmj}Z30QP9H1-r+P_fSi4S2QB&(#W-5+cMUl}+sw5+p>3p0p~lmBigiAfbQ} z+LH`dxD=oer%YQCS_sGWa$gS?MBo|r09+8jqz3<-{&_y|N`+-etg}Vg_f&sGGmJPw6f!X#-ve1<>_w)ci+<_)xg5ZS= z3u3shX=JYv1q)l+{^xiShw?VtGU04Hsgvha(w$6#{0RK%4p^VDP(SRjvq_*IK%a3w z=%d-z!3$7rrH8FR{G3nb`}`H|yXHWCMD*K`KT=umRjFP|f$#7G2YNG^U+K@bzcN4Y zBcgu+=u_zGcjnIhrvM+gAAq0yJN|6@p}BJ(5&eNVa<_8`|Ly$b(!E##d3x`kZD2pe zqJG{^hS-nqD!odxO+M2rZSa*j=$~M=y_YPMA-Jjj-k`q#KsS@3fA~@6J$mB5H=z*l z4~{!i&^_|DK7mWA@jm6Lv5-IPu*rg6rYKZl6i`KKoV=+|PC@=a`;qFg|Q@Y<>VGRTUkL{`~=jGr#8&fbo+SDc`ZX(h6 z9^jrrn`T=RlE#93;B#!YrNY^UNAsNT&|J>UpGtYn#_Tk+>$Yl#!SZYs&VzSQkvy7h z4~D=_sRyXDBb8s_FKu5mN@qkA!}C<3g>UcbN-JI2ox)=|*bV?szRI6$U-kBoJ0kjJ zu{s#`x2bF!W%n7Vvo{6DlP~jcCI3K<%PIQ}!*%R{n4@yQ9ZfdE&k*RJYydpP;&)(l z0)U5GP70V>odPvB_L`jMU;nw0e3AZ&+o2DlaUgg0rvhw;GB2j`TY{wxw;q~o5IirZ zgzp^WN@@^KC;RJ=_7{MT@Ek&LInX?Z*>kT8!~xdf0FjPwCygo z4Wz^G2q9=3I(1wbK8z#!Mj0nl;5eFW_?SGFGAEP%!y7YKOPd@%VpH!=wo}?0rw!XV zP2KJkm`;A4mNrOpwS9(Ec%8E;U>)_OM~OWo0_dDiLFWkHc{7}B)ViR_)|&#>@h%F~ z5tl>Y5_{mX1`m^iLk|4|jsvQ5l|69HC>%JQYwQ7#oW6m{_O>S5+Z>kgg~>Z9>;i#q zKyuypX z49=vqb|wBGVRg(Qq$V4s`<*y;*<_on%9E*Vj1GW~HubAqPNyatQlS7m(`YYklPwWW zwi#&-#!O*366u_o7Lh}s62to0GOUNj0nM3%Vf|dOIGSuudX=}JIQh5zmF+&5935f@ zl~WjDKo0B;mq<}IFglPr`5J$&je^Ee(GlP{g-;2^;f|A{M&dx{fZ^o({B`Yfl2fAS zr=*YMpFoD=0On|_5f-o0Kh=PAir>fR(DF(OG&5ieG}*|TkfgWfm};w_Xfhte4o~&; z0a#}ZY@|pX7#^6O{HEZU4Y$f^rka5}(vWzR%cwy*_3W+n+FKh0Gd!kHLmG$&Mh6pj zgLobjqyuT54yM`@XQ*vyz85yC^-Sy#cZV+4D4wHVfX#&)2$!61+CLl~f>}ZG3^Zo9qr8i0qX)`~1rTEI>#Zak5%O+)I8_4aD;Z5sSO{R4>uw(|^o01Brq4Wa{y zQz8JTU8j-%-5Uz02o7gpsy&}B3>Jq2nDYVziQPr&$^nmq$2kExwyq5dah!pvwm)3} zWdO_JQJb<5IsEn$I+)gQL2`H)CklSDi zfyfyPn8OYWxtwuuIUqTjYH86qJg&2mGw8Ud^Y8dm4V5C&rF?oWjf)Dv94?R)g394% z#7=&pKh^FOp+iyh@Y03hA)CYPrf3|X9q66>HGit%Va|#U7o_8#KyW(zF56TiaOu{m z2DwuVx#QkSyQ^&bnmTcf0_B=&3Y6K%%W{HxXpX7&cDev$@s3KqLzQ<8<$>ejN13z13Tac1EAep>VT7K@00FAf=qYyC)0`y$L7X8ONFlb;%s8>pkK_up12)7plI?C&U>jMT*}`nZTNT}| zJ(5+i7DZbqwnKp(q<3ggDsX@R-@daViwGRZ3M^`=qVupt+>27AEiBuvfKtHy{Mz6& zRBC~!vD&RbHLA6fGTe*vHkAPP3A{liz*UTwqXeq5h2D$@o5br# z%nOiC9jB0D3eHXtCN9IY0M7K9ot<<4A$lPF%P))1!L7_~Udkn1>c<|O3w#dJIuAsD z${)-Ce$F3W4gNQO_~i9iG4lrsMv^)kirG+>Fp@eJmeGB&%emrl-XKnnL89<*xc^+# zyN#T|?lw1g98x)X&Y7N>=Zd`B3!n6c6dEfD-r;U{L);w!w!rJ@J8AdMQjsy<(884> zK$El^RtjS>9JXYr`;B}BPW^##DEc9?KEy@S;=H0RQ9AFe??3sZUjDn!dG5Y(-bdX>+`aCjCEmwK`?&j<2PXnH zGQy1<>-`o<_k)hyKh7H!TrNjxylk3HjAmq?fEW41SP+pu&Fa00Z-UMEY^1k~%_jc}c1njNZXvvezG#mDb zjcxNJzS^hpP9iZ$n>J0`m@cVJvzU`MDNWkgCQT0eE+`;~AcuWbaRXG)!@jDZD2S*B z*%uWN0Tt!>e*ZJ)ph@5N^L{?>`*GyVT+4s1nYr$3X0G{t|NrDOebXzFE3(0`A+6KQ z`ehBb#HWbQvhmrL^mEDQ($BN{c@$fmqGdOhV(BvlE32ruM@`R>wSq?19p;J-75!9z5#9W z*MKH}ll*O;^zSJ4&E)TrZ}v4<4G~{JH!%P6^cwbh4c>FQ=U4b2vb}vP`G@o$lW(Qp zPX00ZcAxY+?Cral_#XdXn|vp^wr~3Vz;q z^=PrabrgyJjKJ@Q$v-DQtUbHCMC_WT z)_;6i!*IKmKii*N)-WR4{S%_v(ERHlOt>t=yQM#MHrt=HbV+?gH=vTH_6!>??cAK{IST|WRleie!)d*QqUu~Cw zEx9C}smU(1BmqB}E?rVP{XD@WMt|9ftU(6!1j)geMfylio$b^8qYXWm0%sBb~==7E1(=lHA5_8j{fX^DZF3 zkM|R&764Ruvm+OuG<-X~%gwu}2BLB|-x7@8b8mszIK;)_rHqkuWq8KAyIl&`!e0YW}yaq-zQkSu2zRkz%AAP!=DF zdBtIUR~{p9eNL({S!My4l{|LN#SIZVhty4+dmjqmRj8N)D-?ANROOMd$}82w;2l~` zuK7ga{je+k{XlB}OCBv;USOsf-wdoU56$6TVniL@3ON|&eM#WCgeualFe^<^D=6Kq zVtgIu_vuN*Ox#9R@8Ytm5p{6mKo%4Fyf3nXk1po^o-BAOfLrk6K>Gk%8ZxRSb4T`D z-Mp8Bv*6Ex?45EgVl7V>YEQoph=pJAGdZZzH;b_o0mriT!LmgAI^u6rx;y@M7h&PG zktQ(l*pzgz!Zadpi>xr?#|tAXIPIa~>#LG3dpap8K3rIJZ`Qe!bf2BOE7Xps1p4J5 zuacJPim?+V4i^%Z16Xe0-SCJNh%C!vqyyu;L4(!?v(kf_F=nXZaO0(8D2N zWMSS0!uT@WMEo5p9w!~#g~bvl#9eqhwqldKivf9Z-o<{!)D{&1TyXtBI_wLJB?5j) zI;@!e4tM)I+|4$x$efg)2*&XDI&m0GoY6#AJRXsl24n49lThr9LT%Z*9X=_)g>T&j zsF>`gW(x5pTZ>d~<>_%p)p-h>Ko+UlugJU|>UQ2c%^$#KkTU=^og?JmO3z^9>U6M0 z24kY#iziOAy4wB1Y@n)2)8JSqb`VKKo`k4jl8z*1X|b@2$@OBrgDF+hhqJE{5;8Pn zSg|&lUkPQtEn36hYmDB*9A4+%MrM0sQY?NEa5T~5z-{=;6kq)9E^EUC5@mT6W!8@s z-Zq&BVTG4SCjMCA9g-c4<72a-eBOTNA1f3+uE+%hz!_IOclRH!z90Su7U!m7+~g;? zBjfvQ>t2s%fQg2}xmg?s@+OMF;4te)k%)5)g2NpM?%{B}=(;tTEx-;M^Ape<|6V7Z z!}9>10;U%E1kh%&Hcr&EV*LnCE!@n*{7kc%5Ii$vd@`aZe>V8TbY>X4R7Qu{K3cGg zha;#R1`gj6W}7^lofBe)osB+ET8HR{b4~A}b)<7x;2w*{Ey5N7g?LOj%G%wbOMVPfpW(8B$h(#+54 zFbDMu7ri%c)EvzaTy!Jw zBpD>%R6vRNzQpDrnWD%5IT{>T0e8;E;BpVZa&nF7}}6&@%3P2FgX8?k${TVvfC zTe`e3zk9vCn~+n}Imk)Csg}Yw-DF6l0Gv2-_R7RLq|=eS??XGWbu$G(naG7@;-r)ly| zIF=*#B96m(eb$fW{XWPiuqP&GOLcOgpSUxzIVWf*Gv-P=+3)8C88wg7VZR55!p?jO zEQp#5t=SbqDKcQ5ZZFyI`F;R1^+IRApHEbCN`IoTuzR}5YIkr_cX=?2Sa~)-s$>4O zU$nbozrcw|)(hZovR<$`B2_UV&hg)+r92>01E7?#nhd6@M;5w0s*`&xaS!dE(W5@_ z2D&{!RRaltRnhIUn_3(9!4i{H09K0)-qa@}tg@LZ5GxYzBN2q^{!%tw1w_TSFznuy zPgpH8VOb=^z6ol&yu@AgL1Q-&s0o!p>A#z?g0gY~&|hS`+}H|xGW->>n7ZacR+e}Y zS|x7bgXVylsxmCrb_8X|}K&gHfUjPx-=^&@*P;7%%9Vh`< zA>j%p>j>S3xJ^VIm2!fsD#%sAWW7X@V=`GnR>uIGUN+#;xu>e16Q+q8;8pMf5qs$s zs4dF9YRbuynAIs6tBk4wsp?}4CU}4xtioTtB-NEY;x*vs#9`v7&UjsV2=>0|W>-Ka zSu2(^rP}gC@k&66)^awf*RKqDmG&>gTXhjuebRwq5Q7Y<1Y6Y?tg3iLG8hn|p+3%^ z*$`2w+MUOl(yu4bRdqt?3@fwCVP(lGxhZL@5fD*;{br10bChINWI#?`AG`-&9YL^O z^uEHY<>)Xp#`0q*4@$){nl&OQVQ8!wW7!0zVliX9;FM2ie4@M&RwE46;Hhj87!^+# zlme+@xrsH9Dh$C?aU*6kkgCX-Y*Zu-9Ycpu#xJ2QY67p)5KtBKSd@pKVllK5zb_0; zGh-T?)61Yzkujr8yd(|r-L#E}FBf zAI6Hh3#mI-Be$`#&=pgbI+U2QtVhmUjU9wq!L9&`1(tOOU11S>Vqc5gS5Gi3s@zGd z?~2Gv^sr}`$YM|L7t7*rPr)q4XsiycuyQvm&>`dutw?GSM@0KTSuD_525#c?5H?R{ z3rY)E%fL*mJW%cfpG6k2n3fri2{(O)UShVM$ZDT3EE9fJ%C)su@t5O;7h{Z#n?>xc zJsLE!V!$S5wrEJZ2fTun)jg;}{)(u=cbqqN5Tn#$E6HVK{iN&`zp;$n;<;dr09Vol zZFx79+p5TIF#>Z&Hk1kJ6eTtq&na2Q7bUyYrl`4z5}U=gyqms)s-hyr#VZEsfLtt= z0NY}DCHm0nD9Yz`KekIy(~2$SdRy6OPdrXi{IQ7kw1u_Dqb=La*v2Ms7mFFtTu+v5 z?RFusAiHeTjxYq(#Sl!Xoe|qf&4L@q#FqKSzWIhrz3CCdd0?7=rFX z+(3EIE|wQrdpQgpH{&>)z*{V4oG>(#hL9k<45F4FZ;|%D=JCEp!ccy&7dLRIui8yd z2L6?Ybz-85>;Fa%PXx#pN(OAgd%cENeG7wky>9p>BI+6C4S)-_>rFPHx!#Hkc9x;2 zAh*Sw6Szb_XaOJ{O7yP~#R<$S>s|vud7xw|F%T@FV)uF-pT>;l)*M9oVA-uGF(mk{ z*W*ym#KlBwq1u8WDt^V2i!xsPSaISr%=$z5I(o)m%`jG4&(D7;!(ohwZEArL?10}l zzcR=#mf;m{6US4V)W7LvgnU_JRhxg}qFcssRF<91s{N*i<<%u&+L8Tc!TX4E}=r`mtf3pl3zE z;Jx|+fMI$jjS06Vv!I0;%}Jk)G@{Z&=WOnA9?o1WIER9_o?qW)tLNHkQs-u^=E*f1 zh2~jMMr`Q$jB)cT3{>+gjBzw@fmw25OoU){9ll80GI`hcWGQCoApYR1WaLoV(edlQ0+aFEp8ZfFwha z#vT^C!gq{_0+m@``T?z$MaTGyp4TEvJFPDX>v2x7bD!rDoD8(=e$LqgkV}wc*=Jnb zNr9GSPk%9iv5czBN?=q4Mp*9vh^W-p6Dh@#57D4@1Q(3=s4YBjNHIB+as4=p$hWwv5MYN^L>4CQ`-|b{GOB;|ZJ1$Hm7Y11M};{E|^X zZRPi!k3F`CLI9Y7F$|q5+uI2}QhJd)u)WfEhp;EEy*QfERxV0%*=a zo-PWR@x_XA;AKzCnOXT66Q3dRS(!3GGXqRLSLvLAq*_OXr{&#ffGb9o+FdcE6f1l9 zsqFQ7?(?U#-?al0XRu{`Wy|*AAqL4BfZ8E1^C2!XUH32)VM%<9VVs>FMXx4G#w1V0 zCc=%OL}L>~jKz#&!eb80h`?SzRhyrhBBjxR>FgP2np{<;-bx~7tV}LRnK6pfgGM?O z9A{+=D-3gnj&fyYN#qPo8(HHlbApwL=W{5pn*1u4GG-=DdMZ!Sj#I{wvV#*^3NKWz zS?V>?Uq{1c;3;Hm5EGET*lEZ&<3U4P{_9+{hBVKZ|NGFH~=K@-hfcpx+5DeFYs8MHJzwbb4zk*jPckU zZConAG>+$nMz}N(G{$&xFDi0&(B82=p!w4w0D?$kYb*uEL6((3(=alg&6{M?A|voL z&n|2l4BJG=6K4;7TU_7yljU7D`|ZXX>lx1THp1SPq}UkkF$cdksZo0Elfr8NYdO8f zEDGldec%+%U2`^jc&o9gIzv~H+oq9o1e-Cfrc0)I)@KCKHX}dlGo$8A3e1Z0539y= zJ)3hH;nU#Rn15*`IF&bMl!&u9^X}8hlZj=5RJk$V&`InZ7ZB zl3N1rw6rr2)=~hm`^vmNf!ynDw9l9FeY=Qfcg*Qh{!}vP*B& zZfn~)5$k(!M_kd!x{TWj88?Gpt-{i3Ev;z;bpvyYSXgTt^V@H4L{eaG9+BX%#@1mh z?%eBHnOpHA2O6dgVR@tc8|)hhT(SwvIRKXtZ%myS<%+TEGg5Fg1pMvMMzJ?mwo)A4 zjVY3xck65Pt8Etl5aF*Z{-jZ_jD5w*c8U}63O!pRgd22QUm{)su4M;Kqe0xVMk|eg zb;}#QD{FK%{{KYkjZ)X8&sxYJSaD>}Mj_{SK-~C(%*E#MfG??Tb+F}Q0%Ied5~Kc1 zhVxjN%ZSd(#S{m9O@utNPkjrrrnyA6DW z{hAaUPvW#@vyYL7SlQx=Gg#Yt)VW(9vA_`wLdG2h8WxL-`xU3qLKR*Slo$5QMgy})gki+|JH|SSDbv1H=dYX zdn3TOH@FPQ34(xwVCzMMEACfsW_agYK$Qdnbf;(8X=_!?P3)~-)h5EWF=&Eo3<$8z z4CEFAgMk^09vR>)A7YD?9^w!?gajT3I8_)P6q7sKDv)qw4T2ci;kgHJHNNPoy zT@@KQs*}}WnW3!gjWS%)VP*{@<)Cxx!`&JVp%Qnn5mip^2--N(P*{$!1i+fx2r@^h z>q&>2W3dF<36@dVX~^zi$fVg5EuI?#Jt2M?Q{XtJVkiwL$8rN}1jK5?>7p53gj{4y z5QuXK1(buPn@F2{3b;88LCY~oL-kwa<03{Dp|CInDTkPd3}87HgJ*%pO|5$4LaaR* zHZVV{ynq^nfukj1sTa1*x^30V3tJlNJh4o3vnya0XdV4~reqyd9RoPI2yq%!eX~9y zzhBL+x;2{ubK*?R)kqgm7a8-b1j+JTE)cvU2v&B#a!QvQbk^GkcCHL{#j7(i+O$w} zT>-V^?TGbeM6FKVj{6nonGdOpxMKPJ3iyt#EP|F-;ckuGO%s9VSj+&hyEjhu;)t=e zI6v7-qUI6`EREBCpEb|L%QE8u$vW>>NZsM_Ms?n=wlH>6`V)o68V#bw1UV=6j1Ml$ zS&1hY4~x5h)_FV3vh(s7m~~Yi1hcM6h*0iV4_3V>@OnJGv)}eAcOm|Hu$oQ#dmFmA z;hu{09`iOFz)L;q_jtcrX-QJy^nB$j#{Fs}AC@V|hgm)++soNnU5zPdp6xZU1`}w` zkvm)>)`#)iP()jlf7VuO6UP?lGoiFuPtn_(85K5IaRXZ@&!ghT*vC&~{MgrZsd^kn z%Vq;|wKoX#@kyDZd9+$bslLU{Eo^R$_*{77mD2+R1PX)*%!kX*%k*LG3XwiO406sk z$A@HAw)o{ri4VcK;y0YY_R-`gF#4oqpZ#t-<4?1Q9~cYi@O&(mfahb`jvc4(p0;9F zI4&Qf0TieR_{Y72;?GtI$`vJ^li`C~aQ>tw_E$KE{aJBzR0Qke%P z-{`1Fa2YG^qriUAJ}ZuiiU+LN1^PvaLsesNjfvlK=!^g)m@Hs>k$R8A);P>5KpxJ8 zNQ~LV-wz7{^0&7fAb&q@oUTs-|DhGg!gSI6m#gr9z<=B)1OOd^Kmd2(XF{VVNC)|2 zvBb%U&Gia9a%?&kHBXTqG@!qV8=I{O4#*Qf>EM4XmUu%D5R}6i;A8Ov8tV~^C1D3` zR=EZr7|OLbqpg>S2GV)9Hxr`E>(J^eOcxR;4#=Ls0kf!E1H}PF0UKlh&j#?w!E@Ze zk0fIpyO^XCJyxxqR;6UGYOfl)iBf+!$BAR<(`r<>)*h|a|{O$6(@1!Qb85BA(64AIpKDvjhPB$Y9&IRok88ex-VX((h8&Pg(MO-we?LoV}XyZv} zr5caHP3f#y;oQ&G&@3RPrT#i+v$Bj89xR*EIZ=iaHPpX8aVP2#xc_d5VOOOB2cya=x1QaXv&U2q7bW9Ki}RSFpKK zs!*8llNn41NeGnPl(ff{LWair#5e+`XL7<2Wsn764Vj~1CZ3;DME@ey@L&FhVGgOd zkpi2dsA~Zndi`OiNWEFB*-!Lg8mGAQ5nJ_e)8&PQt~|mD7lfm`L=aI9kt^(q-GR=X zb%$}Tc=0E?;>DjFVcfRFfo?T%D|>&;-!T7d$>N;F@ATq^y;Y-#G5pi+P2KC;{EEEI zlB5znsD$zU0u12_HjnF@<tmGwTIdSoLZ#t+35oWl~SlMpk)_ttQnJNG9Qk zde#>n-!3RqPQZ%ZpD=IV6I7<0oQIFU3*3Bv+Ko*@$DFw!InOQxIOCsp1dr+Sj^Hu; zmM`QzNm!PzWIDFITGe5`NUJLw(op>)HG>Wd2L?@;k~TA*wGr}0@nZfh?l>EafUn%^}Eq{dTq zN%C={u5e*4Dqdk=G(JZ#wY3NzA_YRPl#}0U0kZjh$eKUM8%6pjN&jSv5m<=1(%qOV z$){UjVVYoJE=~Tgmh`gZGL2teZ!bW@l#@Sf0f_nE=KK*b%;oOyQhyYDDX?hhISMeHBP#*h5 zHon*b74xO^%lg;*W48ae1r+8_(y!DH%D$A7KW!nr%AXNi<;$GSuOwfs?fuJo8RVrQ z`STX27f#02es21jpPP81xzung$zQZU!LWnB!oXj(K*GSnv_QgK?V<1;=r8>YMCnV? zZ&3OhE$Lrd`fn)xH!TKXG3oD;zq2$Sd;U7%TMwms!^(Uu`DRP{_m;kf($_=)7L&e} ze9O{&2>N?J1W`JHl=+%rSH5lO?@;l>Si*Az1#!q`paCOEXdYL+6Pp-2^@J zwd7x0(jQy;CzSq43#81yne^|;zgwC~f7>i^_&{0E^}=-fY}bN@W~S@QF~kTd_qrx}&dzo_rHF#RRA^R!_F`>hOr4H!(s-2 z%!n|=)bCK_+A$d%KN#j(%Q4rw%d}1r|0vHtJPe1J|#vC9{oRQA_6(>a7=w!jvIkpmQSt%N*9`$JvE_K|{c1 zurH7_Odl4K+v4mpJ3POT%?@*!ZVy9uSpE)5Wh9Jr%$;HAE;G7Vm%wI_4&4)mm{f+0 zaaK7W*O(aQ+og|M7uMT;Lna1A0Hy$67Bit3d*aI^(f|?xVD4ikQS^m#aerK)HJ1sv1>Lb{ zc%A>O56opfr+I_4OR~;@E4_@nvau5nDAd~doVdx-fGnHDSNdj=S9-+DDLrHF`SL7$ z=;t;&`NDkVo(t;y{P_JnYSyDw*-ng|GLt9*l)Ao{t%4B_HK$5-fbmCvzL* zzTsnis5jT`tc-jY7m@%hWhoVim7Rs! zBRA%-N|bC!09Pzot{=Q_F9AIAjd4AFPv+4e*xu2p3qUJ$so+DJuI4q%JO=i^& z@IDhYd#A)`p|x--$N?zz!rNoCEV@8E1<4Q@kSQz@D=!fLM-m#0`w)uY@6x z6z;l|dR5pY;SvhG+@&WFYYyE=UKN zF^G)85s*bDWk?Z}#1=6}29OeSWL)*3VQ84;hf!*H5sD-+WD8MQFf`JPb5U8$02H}C z3^BDfg5sS&UrIAkR(77Obg;&X(R;>S;Ka`8V!f>40_Rs;|soJ%kw7@BTI&WOy&GEff83`0zb zO)EMjhN0fjAsU)(`Po#TQW|$KQx4Q32>2YzNIHrh=%U5{5_Nh0b#kDHOLSS zZHXC6*aQz@F#|m0zA%Jyip9lj{)G;Ae;5J|VQ{4s;sBQWSz8{49yH@YHXkw~OJuYc zp+RgB^ES%~*b|4=1QKG4R$6`~#!Vr!z;6kzq z6^0l}GogZ4bu4%MhE~^Gc|BD&6q5~nljpt0JLV>P&qkxO)VBBPetx%l2ZW(T-x0e7 z_@hvpO}}dr|6u&ZPS77<9oBfv#K%a4;CP&P0};w)Td{_knPHV$PZYU_JXwU<5Yl+E zX!I6Vb`){3RpcJBv&aqMY5&<(1lfSWz{OS`yafaU7h6Tpi%i^7e~$zPDk)HaT~14P z6zlC5ieez1q7Bana$)F}J!Am)nX#8m*b5dj_6uKl{+ZI)!%rta{|Ca*LCYVc)S)71 zMRI_(!(r%%8AsS;Hi*RxXowfW5Hlf%A+|J>4e?AppsQrN{lfZWd~R7cLoSHb0&-!K zfh~|hV&=HG1*}DVS5?M>p_D}E3EnSH8rX%KI3UK!V)l%G%4>Ft5~nG8Q4#CRSg@YW zSX?S+!PaXOc)jSp-_YV4Y@R8CN<;>r#GBD>W(uG&vY7(r*rMiJ6g?X?TM5=0v_roL z%3?-;W3zbbm<>3~u#(?T1`ykTffnuXz>@ofl30}l zFqi@6a7)z0s|@;zTchT{czBsy;>u0tQ%6Jh?%n(~!9Splr4sx@7RRM5(lE7@$8q5X z`wpyOM!*s?OZs$~W!+iSooxu003SL*25-$h)42ge%%#LUBe-}lM6aeMI72z78DteK z!FO_&sqsUo8QEo8iO?<#uYomCvn^_ZGVm-*I-k>7EODps0e*7m`P?%B6R4S!33tan zr$tT31IAg(XR%!@u{ijGY4Mwx7DcD~qnS=ZM>9vhq*Om$6-eNrmg3+DEJlI3KaL*~ zfdQAzWf8Q+41j~>afW~oU=|+qOmiY03PbIdZ>Q7>Ap`IOX3@eBfB~Tg*yJ-Riy3PS z=i&*QL2xYKkNmu>4MPA1XjUn;z64N^tYvLO7}{vYMm9G|6GX;lNdgVw7-$1Ack6}52Nz|*UefJC2VIx}!*Geg7oGs=(@qrnzy(i3eE7ZpQs9Dm z8(%&&+Qk$A8$iO5(IiVyKF1P7#`B^B9`>AO$%8p@*q0dT1w(r+znAI&1}uA6+aHDi z2#}_-c@Ur~%Qz%Vpdnz#{dCnZ)Z1t;7&>D4bJ1Q7Qxn>N7C{y;+OqkQya7}K53<4r z8p6{O?7_S+lmH)S=(y#NQwr38c$LkQ5(klS%2+NM!VMFA!u&AQ6Bt25 zuUY;z$^#>?oMw$EFSH1Ov?^(yW=p^ak@1$nUNp3z*}yLg!cYw$K|`&~H72b{So@X1 z4?q+cdCM9aV8#G41_pv)1~9@PdIA&UxbGq!NEm8@OwbTKf+JK9*ntlPC-~fQXz}_0;f=W@d)x&#l27p@CxJ0$XCS>vI#(X>I7?b0SdqgY~GC2 zd0F>*n|qpM!Xy&-bU@!;23=;#Eu<{voslm&-Hikzx_~-O>x^5u!SjQnT1;! zZ-ZQDEBAp}pheTmhJ%?-i)P3x#A|7NWOt#2atJrn>WAa}7w7PARTz+%QyDFV+0 zIKjQL1df#nSV4UvE)Oklh?ivn6x`3+a>Dgg#R>!qc$h5%6u=(vWr9&P46Tqn2x!1T zcV!q_W%*TT{m8`7^Lu<`g%jP=9Ql58NTh9Y(`JxgUDn4Hjzb5)|4O+k!ZM6JG zN^MgA4?iFzV2fY_jPBCO2ABaD@Msvq+u3HOSi(?~NC1XF0*v$WD@Xu_KmrW=@@q(d zEy6|GX31D2N#ILM=}5P`&iXXmgPhuJ(5abL^;7dRT%7hvF!%zz!G zr*Y^Pu7Il-`9$@7zbO2(238BHpdjS|=0)bpS%y!cQ9_!2ETwmH11co6ONk3$- zMut;6_uZ_AJ@?sD9DtfrC~#}koNCRfY_?U11QQw4j0R)PcKj?>lJ=-sGe`_Ir&DxB z)SPL}nQYFg00%_I>F;D!Y_m%RmsPNLc8V87#?4@(P=Ohm!Ltn@GTApb2m*`o&RFOYh znabaNZ`R_uKr&`LqGaEOuj4~9mZK)$h@)nv_qQf8eg}}K-_PLD$gpHx*lh*7C8xt9!?6)SK8IkmFh?p|U zBS!14{+}rd_KM>FRiL&?eWuT3rz$`JJZbTag{&XZfBu;{QTg9?zRG__a;jy@|I@6! z0lZK}+)u_CHs4gv4+sF;Wz-qRMHK#TsPoTmI<1Ww>gSjCb3*@CKDrMeno2cAILK2m zn}g7fH%6G6!Hr1#y@lhEa{!9u_}SHv{A&n(Ay37WAJ&N89|%CnzlKJbF@jCx{48dS zY9zjlhH&RO94T}D`@KF4jkf$~N}=duQRh#D84Mxc=dqVfr2H&qpwb@~hHwW80k9?i z{rXU`)!*+{f4}F~PxMgk&)7|so0R(#iH4gFGXDw6{28Um<=Omv9f`93SX}Z%Ek9e6 zD1e@yTm=1G5jIinvzUQ||JFuN?$i+bPep0$Fy0n5Gbz6{r(1J6Yv?{)KDHW!B$e{o~y$Dr=2^LgHBQk&0H3f5cw7_@|yfqo1^r4N0pN*{@S zd<;UP&tl02S1ehs&+VanpTV1bpxR&FXh@n%-WigH>vx6TT-#B(=cjT-qgyMev=Z4i zcMEN-Vsmv!_RUzMa^F*lyl*Aq`219^jhbsIur6w@x8`~_H>lH3%-E<_-7FH2f@PJf)i77U8M(N!H_6)f08UEqdDW=K|O4r2I2s2mwD2 z%50+8XECFr5v{(4@NtXIe`grNK~ES$Zx1X>sXYqsBXSLbeGYA(8T-iC9}@lDtfAUJ z5QgxPySEWHx!HaCU>G`N`9qXKZqIU%wIgBZs2N?cY9a#_{)=H~S2LphWS55g#j@LH z{GC5T!rUILJiysQ;Lmdi5p6oU8_|Y`X-vNy`#kREaW-Fx05|;mQbws*1I<1)UbV=p z6hW@vpl1KXIgW*{JhP~jpXX|Jbb`;vW%T@Po~FWU>i3Of!&0C??RF-hN(%gW#wH(q z{~4m*@v8>BGEt>Is{Sl;&6|v|)!IWb%TKL-Rc857_V=s)cTsEj1X<<%dWioFMTJ>K ziT`U+Yf#_kv;3DDv!<=2_?~GAG^3;592iS=GouT0c8lw42A^YO*^F z^;Bn%p}Cenr?a1fq4{BGff)Lp8X9oRsl_O7-~XHuc5`3Urebb5u(QEHHhdr*@)adxwH4ES{!sRj&{onantBFQDla#LjiUH%K6oIDZ$Ju< zGTvz?rYt*3D&(1$py-M!@^@tL4BD%d!J~C&Fs(9Ltx@!j(w(PXHSHeC{^oickH6Mk zNBa6I0c@hghAPVTWPcoEPlMM`b0Z}-sZO`%fvCCJnwv>~ID*w!0+l<Tb

~772QFE&`w~~&$oy8JplUWW%%_ep2)Z9ion)WB6=Ao$hq&1%;eS3thu>|UN zmP6L0k~=x%NOM zLfdeHI?U)`b2mNFfH=%U(3N6OM|kK(Zyl}fiP&93do910Qv0gt*O9+7;D#Zz?aV{4 zd5{CmG7i!3Fm#j|-)eF+3;{=lp(B<*LiwZQRMEII;~R#Mb@N!uCTeyTGmfc8_t;-x z#ux2(7-~Y`Zi^7NGpJJPl?Z5~nw=mw92(MghEg_9hPd5~Q)<>V^dd99D9AMw{gXhA zp4OL0fKD4&O__i%C#R``T{lVtDR3AdNRen3+?(BLqG zA~en*5)re<6UVV;b?wLUCk}M(Yz-lw2srJCAha=z&EZPdBLji^h!7UP4E+j4mOpVI zcc0Ri&^WXf#XAqjlt=W=q6i+XJ68v> zI}g5WB6DXk1I_z{P=6yAMmjtZb*)bvXx}k}&YcmNQV8H#Ze|TJF@~m?F@?=r)v`wh z()X#+qE{G^!I-04@bDXkrdfU(<fh4r}wn5Gr;?WH!-CvzURB{kAalDkCxkbr@pGJq#geXGEqH3UZd) zS-Ud~p;~7|X7g_4>ydGfQgvH&k`Wm{BO3CGb0SXJQBRS;+X?SZoV{f{2E(MHxvmf_ zhs4F$S`zzQ>gG~55w;_D=ihrX^|dt!i9-#9?L4?p1VMWPf_5V0WOF42KNu~CB`B+8 zXReqsh}c;Sm4k|%v3Z3VT`Km-SY<>Un|``kiTdd{2bZ92*AS9)W+$k=R`GgB-PeU7 zRO~$BlCePvdt{(s-x!8o;}I9^Bn}7KwY-*OVzX@NEp6oY~KQMYki<(_k5~&HCgXv^}W%Y%=Y`(e&45x*OJwf)t=G1EbBMf{!L6M(KKAfU2@c&iGmC03o(=R4{k}o7*?3I3rv@a)LLjV6|#Q%Ss{7E15|H}VycH3SLp)#T4>Cr%c-|E@kxzgFK;00O841c1{2Yb`{> zpj}@l>FWUjnDmY08y*iIME)xO9>VcZiti!B&;frPbU?id z8t}Kt-+d7pfIrDMdl@_9{H8*&RIW5uo47Mz=NimpbU+FkPK2@U3`VY_p7x=Ac94uKeCWX^lLj`ikKG#Rr<*CM^lSFH>S|zecj*77kEU5 z*1CaOHx>}-XBz#eg-)L@@OhLAzQC)~C)UYt+FK?R>c^OEwCY5vBGYG?z}lqXYLMzP z)ywAOkmj3#E`LhFzQac_Wc+*t%YImN6+ThL7pl^+GNzIAx8pZT3sb4rR!CTGWo=sQ zbGjMR*_@$tPuV4#VRvR3-d@){AMflj*3cuz8q0`b^$qmI>-1CDETYr zl>DgplQ{)s`n8GkOZq5SV0M?D-#`}Fx!uIBKo;qu0s{YJ5$YPwyxqT|hJSqgp6@Ck z)i+)Ro=?&5vvLp8_Sy?o zxz~3H^lR$#`QXD5J@ig}{y4_zV+GXtWM|PQ)aI`$XlJ#FtEsa_MLr6B1^a6YwMVno zQ*B)#|GlBvUkAEfAml`fP@k2Jv_2Q;)B1;PJ$n32hL|9rwTgXXOgu{K849*^@)xU~ zT-AUG9{}btmH5c;Yj;e=zej-^ys;z7_DLFx2%klP z{th|<&OXfOiVqPPNbR2v5jr~i9Y%=o1&A*ul;*=?#qWwGWZO;1@9Q1P?@4z(N)K5Y{XOoOD1Ag3eR7DkqtP}b_m#H=g)jrv{Y%k=W5$n2 zj&(MHBjFQfe8DXB?EYI374SqsMScZMKGV|qkbm6sOX~4LjQUBp`aP&hEv4=rjXsrV zXDvl`kLM-QkmsK&sLe;Tf4We!Pt7f=(61z~k^QSP*g=hte=QP`+P_&a9t2wb zx4QZi)y{VIDTMhz9{q~Q^VQ+A(jTEOm>aPMi}a~Mt|7l4paQ?I^810s1YQ0RguX+S z*ymG#JD#FX4J+0wYVU_BzmGmOqR3&6K>cfge+ePia2YW?yRC?Nh{Mn8<9Q7H*>6 zgosq21b<@e6NP;RnY|i&74&AHv%e)wPmWLxlRHh*LO$MR-)^bg+kgywC#S}(is;qb zPc7zs3cWpF(eYo-Gi*~j&C=6NI;XmyM!lKQwpnJVokwTSVnztXBLyWolW3K z_*!h>yHA&TbE9xn!xP{gG6 zF-b#W|MrLs%ji=bMdkQ>2PgZk2*!Z;9y^HdiQ7tIi0@N0^>-VAp*EeH678Yd62md% z-Qk2o%u=reLj0v_@uNH3Zwv3I$#w@+_B3AEgEdW016HKiXOA1Zt}NyULH4$2kQF@e)4%ERd0_TpU*Evo3`DI?QHH) zc^?@_?VpOH;KMrdd_JtljTLKtFz2%~36~mmg{#2>&`vGvWN#z$-tn}jo7AVX-qEvL zeIdT6EwzjNpx}R|h;*Oc@tkSTk=9W}fuADQN728#SR2bdxDEf)WURg zXW~8*_bb;=4@7u`17I%MU5si6i}mdF=}<8_STqR2p<;TZs1*MQBTn$gFBBPZUUbBH zDP;REG2$GHI0k6)k1^t)!hgB5i#_9rbKFyj-u`$I)qQj^H2Do^^0O|6F24a~zFmyx ztETj1vAz_S)HXI3<)cbBD8g$+5AAg`UT5{Dyp@W@?M3Kol7!ZNxLxxSeb#dan$z^rTQqJ?HZcKy{z>DkS#}=;`fM7uu`%4u`|PJ8bMZ zz5VSR3jqLV<6UNS$?OR|!1tIE`g+eg3VRg!_jaCjN+SvhO$h!JF};`zTGHh|FT2!3 zV9&Ccwfkb9_nUD)n+WV#%m{_Ork95Xe|e{AT8ONIp^9N*J?-KF-O3MA~IZ9 z{gVpoaaxyq^+#ggE0fsgJ>*4u2r~PsD*Ig}WcJZRp0&x(atz+u(9t&_rniT{X*H!C zJgb%U-_MgQjeS16_3P4q4@^s0l|5cX*+gQ`Vg>^G{c#2lD6U6opPxZWqea2lDra!6 zZ)gYkWtVa6Pud~s9WEiEN0HA%Z0z%>8AsVfNY7#hiu)JC^h?D5P;{T0riF-FDj{ka zqiK3zYgwQFJi1a3hcNKR-T7BZWbpMkB5@QWPDet*kg77t<7)cpewc6|dl+G8==eD*m$# z1*ydbBSamdM&D=wHG>5(_>zV|e|TAS{!j(_wa0mmT3=4l=pz{=8wviXGWvV%Ai2kL zG>HiCIW0);(dFMzuH82xo};Knn1F14Wo)SM(cF(McZu%_aH;Zrg8oYxBFrQ9ov36S^Lk=yC9lgstl+Z&XU99$jj3_GOsO=bZ7~%* z&BmUK4A4fiXOum(nPy~e|C3qe#EjWxRQ6u`Ico8fIok4eMrm|JJmzrPnPA415H7&W z>h5`Zr5=iU7Nz(LVxQ>lD>%N-W%rSR?*8^Ljlg~ZpIACgca&3vMh04rXauJl6yD<( zn#y+~N-t;r{PS*w$R6b<{>7OvZo;3x(=CYUD=6ww7V%9b)7meI)}gpZ!AS;+dlp6b z_bZ|I_#Oyd{sWzj;8>6a@mfqHuG8lY-D-1LH9ils6q=lmY3S|w`l9YW?vxSB=s^_W zxQesrL+qlR&)}J4e?{5pj+JI8w_l|&KeYU-)#hJR3PI5d6guqGvy8Vzg+di|LZxH+ z&qli6R!P@tVJ#Nc@s*qpGpwyIJEgP13vCe`|yM&Gj@J$$EWN+Z-U7`30I zwTe)mk(kN|`X4Ui>EDq!-2FdF;udl*q7g=}X1!CDgP5PKOwI36Bhu%$NO{EkEM`2R zgMV9q42LKHA;aOl{7HTg6=nN85>qN<`}qGykrc;>cAv(vi9nyl4AlC&!Vv16r!x7D z+P7!I5Yl~S8YqQspXC|W=$9PUZZk5WzA}6>_9)f2MW|Fd&@p*VIJtYn&_2uWqtt$7 z`H1;ZB!wYl`phk`c_?J~W*p{|ei%Zfa)AAIo?Lc|+@zAIHfcphTu{xARFoU$KAg+-ZJqm63;UHmeW?<`zNiH&Iv85^{eCqT>lE*|JCdFucQNY=AR6#^iil7iUZ(hH>NH$|r9PoYU!# z!@z{tBeMKXRlb^gGbZVcU(3kyCn(O(Ez>?kJ-kSH-5V9cH0iH@Dc`|0k_q&c-%rNK zRDN}hX`2~sY))fL&N8N}yVv>*-TI@s&#hA$r4I^btm84XDV-S&pQVLaSeUI)Kg9cU zVxLIvnRX>(9%FKrfiQo5m|mblA9a3iniit{;c+Evcp*C9%toB{lc-F8X5RU3tI+vK zMVaq2Tvo6*%KiM}BihFqFH(Kn@7@{C{O{!A-{p0`+v|=xzo0n(E=FiBKGJ+-`>633 zbMco{{0N0epD#)48+FH@>Fw{+?Y_?U@2}KOosFnhjMwHqK;MX2nPnBl2Fp!b&H;x) zKUDh4TSkf^dBd2oA(D4_Gt2-U=u0+ zlhKUrD7+hWu+MFT^ryndz9n`tzB2Yk`*7h;e>-6N6iS`;(4U6MXjG4{B0rboheZF` zu!yi;cl!*pjB~o>&lUJ~+~?KdqruM)o&6uwv`VUj*`Z&B8o%BzrtkNv$xrvu`6?>$ zS=mpQIbfGLXm3GsU%>l5!h9t6M7P2YPsIxFd*OvY&fihb-_Rj;i-?1C z#a|n6JkB5ClgvFvmx;IPm+|LcRbgL2Vb9ZVXy;#M?F5%ReCeyL=jm4$`AG8L;YT0w zeeN!w6L(d5$fHy3HL=Qxd#z$yUf1&LR6{+_qU;_Y`s@;cedaVjB=(Vk#{O(vtX9;X zm82D!Xgp<68r>Mjjp?D)_)%Vs_&z^z{TtEXBfQ7gzQTJ}1~xL#>PvWVBj;?0{|pTw z{?JAST7~$@5QX*(w2g7%hU+VOZpiH!X;GGVNJJsNrh^}P_($BCQk ziCbUQDL#WMEt#)Y99b zn!Aw`7mxMG<4;$W$Mbwjjd#f7dEQ4J&p=7Wmj6e2yss_SDHvo_;OI_!;?T>}7WDFr zn;3Y9UY=cUH{-w2%iEWCf()p9?;PW*DXKok7fc_7SL2xv^*rMuW_KYzN6hJ_PVW)D z@nfIdgd2RFqCRK(a}?`nL_v>WUI+EhHr8&trBug{>+@!JN$2%*PaS0QjFi*~*}RhZ zy{hJG9ohRP)sV{Q#Edi}s>xFX_u3NjtN$;m;n~{4uWA z%Umzq)pNC)@K`VTj_{p9lAWGV-yVwiR~v2ONi$B8aY|?Pk%7Mbbo4Lu?TF)F>pV@A zM#9K=%4tIJ*Q7i9G0n=|86~lBM!7p$c)oJc>3Hrmqf7E08Ld?`?_Pm^_z-3Y3=Jml zCX`0w$Y_q~F}@APVmXB4I0JGAmct7_%>`bEZscWUJ|eREZ<{LP)FDUG0!yBMb1 zH9e_X-_oqldWKOfOs?vXULF0Essk^gc|u9CIaQbSkyF}Rdn@8@IqZ#o$X)~}evx<5?naLQyO(6 zcWz7{YpyTCTZ)ytRP`w8Vf*h5xAY3;(an*yTq8pUYBb%>pgNn?3x&!c&4K~g1 z4^AJC;Q0>G&a?F})gFm{{-{>EB=eDhT7GNn5UD)s`o}tVh+dw@QEH-=-&RE_U;jfr zzoVGX1@i2V?u~$QdsP8toKU3lY-P^i?fg46vJ)d{;#thtrO4d_L=ul+{+Z7GA&lo) zlLF7_10G$x&u+V`XyehvhbW#MZfRC%i9jBqW$bW|TKQ1H?~R|tKCSGd{C*IFEaL#k zKfh&gz`&3kI6cE%-A2|c(yWiyuTBa z@!TmW|FVAEBLhAB@z@`F_?MK#dj*@+#M5oi#Pc(z{K?S7>jeH3U7;yO?@o7SGxYA^ z9sYHFynCilyPwj_d-jvnhX|5T9yICvi<-20#>!`?jQah}D*oNks-F#~>}N?t?#`hc zYff9wOIU9`FFTZetg3xyMi%es46h122e26)-y>rXAr(R?K9~q2D%3rc4qp6YugKRc zXxKqMm7eks?%nm9=N%KZI}-rph2A~$=3aa3Mkn$|nKcR}DNh6;bZ3BND>S31-Fd@j zE7YW8+#17Ht2)yg+`54+-V^bM@79fM^*=A4)WaS6SQE$6%DMSVF7oyU_3-1Ge93i? zK@ZR501XR0e5Qr3ZKq-Dd0sVdB6&BfZ&wOG2{A2sbF0eX8EeVop3e;*HT;yOkQEGN zxHV75?;(g!+nNxyM;>>ZY36mw;E}*1aIZ~S$>exriV~iedFstl37^hZ1#ezFbIdVQ zO*{JcxlNh)-81MD$8{>;vj;gu@bjBgz%K|t?yTH~GkXN@#8+zKnSc&bK<1999UXgL z9JTA$eUYBpdm(ox52gFvJa?*hSG>;3Vho^OM`;zB^`%t1uZc&9`@-8dvF6@vR=SSH zO07E5^}b5imznFN?Q$EgLLJfigH4%Y-LohZ-ELkxSB+mW$8jzC_53(iHYF?c!mcm& z)hgJLp!Y$pPNlW(Yn}ffQeV@AN*%ALAzu%7>%DNbPTnTf>Uvn;)TAbzm4`8aCcU5} z9ohM#RNLZlZ0S6Xx0=(f=0B!B9f5gY#psX6aqtw67@cQHjsvCn6HUs|pN!t%aUeiju&*g*u0rsUZs zROY?X-R7Y<-`#}Z9O-$A;GC7c7}#ePVsm8Y`>A%o<2cZH9A}%6nv;KsfTct`A|D0$ z;W!Rn;}DzkX2x+GRcvlh^%tUddK_rUc|+hh98h}m{`*qraiAneT#l&x7!QrA%2AT{ zK}k-f6YlF(|2e6!9Ix1Yb$ERO-hu$69LH(%UIRVgp%8AMNw?Chyn%r;X1$5x-gtt2 z@x{z>yw!Oet>+O=kNj3#h%h)c_ccUZzh?Ut_k#Y8dHtLDL=S%6oDRhGU9-P3k7JN| zgF=z+arDMTYu>Mh0O&NQLvbe3tWQ!_hBfygUJsQ`a?#$_iy zGJ6?qq>zrmCrGp2CC4-qgaZeYxQ6V5OGvWD;m;1gA5WZg^Dw5ns~P??vpJd8jAOLE>8xgazu{{wnZ;quHg68Bc(bm*<}~ZK zi0QnE2I@SFyUn|s!|2bqszvAN;D@O}%HG?I!yZ9|SFS1Em4gVydfR#FuSW&&16n0v zuKKcu;~r%r>%2w2?0S`Ts01GTq!P+f2`{-WC&6A{bUi`?T-NY{2M}=q!cI13;({UR z{;8r}O=uV}0kc`w`D_Q6&;XcFPJTlWp^)llwiY|=N3rVw6UyhngtA})`_HoE+q=L7 zA_+uuGTZMVs|!pZq(HPT%X%MK0VbSifJ`VSJzIz|@SA`Lzx97ZAG8$+G*C`@wHRxF zr~+jugmUtMmh^+k2h)TA14(TUP9Vn=(v)VN`9wL`ad}XALoVc+643?-Jn%`6=6{j&zaSC74M_TQ@@YT*(7!$z4x}VzRM^wc z!ZlQBk@Uf(_0|HQLOG8`kX+i5UatAK#UdbySOnUFWVk#h8L&kuNQQ9vRBFX-a_=Ih zK9kc2S0tZF>&X=<6hiXZKI!K;MW5$XUCIA_lFuc5`leq0fw=e@W6`LLz`0ko5KB>mCm@#b4w!1;;}vXo}3wQ+pf_rmoKEgKs2PXK@O0 z5aEl2DS$^v{=eD)94+KDZPfp`83zi#!5B1%4UeL2H4Ma0p!cen__aiy&m+0XL)p zoWNuNGTwpm2yzI6GVoxqwcrp2iz4(Tk^l%o1|D!b9%ikshyp3oJR=H$5RA0eC~1Ub z6t&F5kp%3KFbx0;8Ph`4jz-`64HPWAQ1WhB5-c+5j?opwZ%asEaogP5loOmSb}sP9${%G zcyN^8mwUaBy#|l~hd}F>nYN6y<-~_B$RU6yJXomRMC&^W;s`jGBAcHiXL?1Uj-8bz zt|W1l$U(ZgkgPCLKzygA^;BC^$bV{U15H>bmyoWHSOM#4{RZ2-(bne(fcORr^C^RS*u@D1((yczTD4u{XDXfDf9528j(5GM!&p#H0(ip7tWTjxKV^1Tv;a5+?YwTHfdJqQ-YCc+z$cvP>QhuBLO}LJ0+axna8@oM zZ52X*K zDUN7`XI!cmR|gw2m(X^SeV_}1de2tP0#^ePr(EF)Z}6cr+~hTLZ|aS1+UOxjDWda-~qbv zd6w!5699)mpMpVP#AJ`e1h|ce&4vvCM5rAa8iM>g%)W!{MMdHQz#&Kl03iU+lL&8c zcW?-I76B0gJfJ;W@Ze`SfV?{dc(B+ju|zxpA|bSHOKss&n(Pn*lF$H=;1C0NfPwqn zg;4-N5+0C4ps6qj@CeIEghODK;cXlOG=V2;MQ{;t2wWqIt%?u;53vS|z_KFF;)5aC zhaf?>#aTR76nOzqKypRNKosB**dGkSIxz$$V98}VEuat9p*~`M@9kuQKn5TJfIQ_v z3|Ka@28-}WGz|~|Na0ai!0%~`CAYBA?vZR2OMyjrTND5g1*T!6X-}B(1e+iREM{!i z|Gyvo*EYi{BzO^wdp6e6bsiUF1Xv2-0as&NgbTp0DtkMV_YS~?1|f#0y1)Zs*8?H| z(_o41c`(f7;!)jz!Q!Z z2?fwg9^s|VE*9Vc7n0eFB2)rILUb_@ga$Z-tc!spG(aTS#R5DyQLGch{Z$+LDvdoU zTo921P6ajqg@C$>3=jhrLkhqmydKvQ5aE(3GAM!^Lc(H3f8zq!g9nt13osy5x|pVgkR&+l#dK>483}{}KKiIT zsFVyUrC77mzQM1uULARNy8{TT(kg0!MFgn4Ge*Smd#PY7?=TxaD6lZ z3;|qWbY~MN4OW39ktSR!cEB|pS4yE2P|H$?iP{i|Ln}0p0Iv{tF|dPe0VklC#X3;J zSSbYh)Oc%-C+#MI17iY=D}f7W5rbaA)HmQVkS_uRJ{-6&S0)1+RbI~(hn-x65EJWqA#S&x?W+N(}BZ`m@ zTY(*LIhi}r$$v606P3^RFz0jJ4qE^T4e$u|slW~v@@!Yq|3B`jY3%K~|A$fF^H#|6 z7n!k$O#lNHGawP}inD%q2~r`syYsAbL=Y#)KRN3i_NjYgydz>?S} z3<6F^*t{w5l}X zDzO8u;%0tFT3An^PAGGOXPDFtS+A;ftB-^Tvs72404M}{)x)Og>i-de11SXHghxxY zm;71uE>er&0NHcS)&LV8lS(i!04tBvL$=v3aPi;J2_VQLY^R6p5KE9j*g+40MtG{T zhXi)8Q|#br-Tve9KSmt@ga#;ttcL(3G{7Tp)ERd0Y^gr6ER4W&ERF3bffm3h@Elw6 z$euUjc{cY1V_*g(!rnN8U&EZ4pv?Z-gOSc?uf2JB;CDK+~A#G?G;6Mst zFavM7_6Wo9(y}muI6@vR0181nAPDb_0sxo*h7i~R4Wb&zN7iF+V5pTsfJ#UML4ZH# z(-{JQ9-9LQ1_PJ?b^vfNJ{W|FUluV3Z*+_G?jYyw}sWDb(qtj&vk&NpK|n+t+5Far`{VVJ&+2U%kP)2ute4wxxMMG(b75p?|j~B-ccb+ z07aLxiw8vuKocOr%1(B)o6*kZ3P#>6VdJOXF z%CE!~Fs49F0s$H!k10ScjthL@ksM#3L2u_0JnF5s;9N`rfdxo}$D;*c4j>A04*J;L z2Alz4V)-X1^`vM)1RdBO#|VaC`~WEg83Usc>@=R@M zj{t>`VF#xiAz%(pMwo%q8Fqkh9tPoUVFsWO>ev855JF&pX86Scs&NOv5IU!`s77dk zY=CP;+E9i80HtG zVc91nq+S(2x{okz1RCCvG6xYuV3fZM5Cm8+(g6%uj4c3(Fow@?NDl-Rh!&6!Fev@J zI6@+=>Z@<8)Q?qU6F|YJHcqqvV1em{*yBxR+{7k;0gD-s2ouBd&5{bh2)Sk2*P&@~ zlVg<(JD60d&ux@XV2GybWYK~MCNL$S1{ef}U@`y32XffE?6sW%ffg2Vzd4zW)d1cqQX0Ss8om|KBE(DXb>1z?2SG%b8y)AABD z9GZa6H?GkT0u0-f>O@Buh#io+pbI;oU{COb{NjTpEUXwm;5MdbMG)W*`lO4z?gR>8 zcJ}|U_vZ0cT=(6-X71d%R~C?q4GxLZ=6e#i#ckcDZR(^nX>!xVNxH8|x^GFFN9kg< z>E0(1AV4ezv5Q@R0I|ykvl(mw0>mz378!&QAR92702yS!`1k&txgu_#_V@cE{XKoP zuM6|ieD^u$%-l0)&U`;-^arE?z=SoN{I&WbfG`MaIr-0}eMawd$|2tn3z9%@O`+H8 zdjUcrY?6T8Efm83`>=z-`f30}M6?G< z0!zDA!45zmfJR8Z5kPU@jY0r`pfk+}0nW$&_JaVzDS$*^JL1cChzz3=Aub}1xFBbh zPrZ6z1;_-tUCd7iTHwD2(C#Cil;R``00wOOP{1kS5OmBA|LuT|-l}ta5EpcwRJ|>! z`p5Z7Kz?YY-o}DaIGxrv0nVgdryvO656GC%CG)zjmUH@Zp0qIG4Jtq(080=C;R2V; z8%g`Uq4opZa8YHtNJ%b{ah?_m;qtp+2Un!M!X@J$s;_!*08j*aQar8+S^!FcPBhKa zHYfyoQ8@4gY?8kz7=mgC3IVjj&EDF5TyPC;2~@6Hsm!-LDx*gMw0{3vf*kM(04??} zIKmw%?!ew9=POYFM0ndrz9*mp%l#KF8LZDMwBQ;&NxOZ4&j1wKt&+8;)A|Acz0NSw zZ)4yG^s`DQu8L{05&ARI!x2Wt^s}*5c?iNNa*C^Cf8A9ptGG5JL;@WxxxQm!R`l1J z|6|{UIsl5m1OspH{d42f9vc7>f$kQM34$B|QlPsf_np30iixn3Jj6f>fC!UgHQW^c zNq{Ln1(`9HhihS?$|LL~@-u!x3RoHX2GHQa`b5DAQTDM>?Y4Y5E7OW%b$SSIZ<8qPoSEce&|kO+)> z@nB7Vw&hT(zy^@+CB3IVjjrryXc9%)dR7?ZIPjY;3!s_Mu>1E-CiI9`GyhOL35|Quyit zL;$VO+FLyj*I=wg?ar&=UZUkQ?vMf;!tG_P#Lsg6%+~rtflJ&V{b`rB! z1vV(GWyAO!iGmGCS=zy_VMKnQ1IPzWA%Ky2Jz7wP~s!t1d+ zFF-6d)~yI{ z;dk3Fzpv%^@5CCE0YPBc2@Ae}O$vYr_k8GgVt@)Pzn_F=*y6x_(3umuQV)ZbnLIgP zLzQhblr-95LKXm6AOS6-;YF1cRj?yG#6XIX8DI!1^{5O$1+WN(&{$tnXkjI46uLT- zuOlB#5k})TMvwyl3(N^*bQ>Qh#dj9!mjWQdcprK~2A~3q^%p{84OW6-JE7|ox`sSs z^3@b!B7T!H##RG0IiouqC2 z0o1{o3^)W<_V>&BbC=@s1O~B|9PYxKqUYWPOVGu;UO^HNf&noQUI8G&Mqh$W9-**F zCD8Gnm+A8ufJWGy0feBzsTS}DgTUw%EpH%7g^hp)9O2(gy&IOGD|(xPBp?Jq44Uw4 z){6ML1a@SEP}tFXyqz-LiNP*G5nM|~sDs@ZfCzvPK*;(7)_GV3bT6!8@4H|Ly3Y42 zN&-R<#9%L;01*!Q1GajELTm2Cj~`db$$&&PWd(ZPay?-zyX^) ztOB|hR&n}Wumt@i&MJzQ;_vhj1K|~3%K$^r0blnBh1YuzcuuD0FaV7}pMN2fe^da3 z3mL!A{zZShRu8Ly?uAvn8k-AGq1Kvya zH?Zo?XxV)&*8e7*8+b1%Zo=O35CbUyBJ}t`Z)E@~u=aj(@rPKGw9Ugi7e9C}qTZJC zZCt=7+~LzxLLIzKp@l)9n??Ir*x>;b(7gbPcisg{(C-oy0^KXw$>0mvgjX1@1^3l- z01-eaRP~|`M);!wMPNb|2Nv5eG5(AwpbofWf=FP>6&+xN(LC^Hfglu62jCER>?c!{ z5kZOY2z0P;K35b(0+X-3S)}8|36a1kpTsM1LL~5*SmHn=F#8I3y|gf=*OL)2fxebf z))ppMz$TO+0G{9{Sm zI<3J!Q&@y#O@5Copl=3N`MqufV^itoq4QV-2MA$)f;!+Pw?MiD=oSi# z-~b`i7f=VZAV>rzX;FGGf&+xG#J8YE9A5{DP#DN9^_YZZT9Ds)1Oo7bCqW_5L@Sk6 z3;rMgf1qXgSCi%q-e9GNAT*L4&YJr?#tV)B00A6Afe()qH1nR+h`J`Cs&rT0V*vSFG8-Ps!g0PEvv`7aIp(P6dfi?3J z1Oo7bCqW^g>IETG079T12YTyqr4&E{`c^>_03%cYLI8iDdN7Iyi@;ctdUz;8vM7Ep zdIBH0s;8Jlb{f&#|a$^{6PTzKyZYU91y$# z*aRR5uTqaw(t$%bm361H;1Ci70`P+;wd{T1dO-*kfDow1YrXZjTIybx{+u8QfDtOR z-u-!B5BgBB2t1il4-Z8U2;t&=)B!*Qo)D;qhH`_$kAq1lJd%P(xSZ9(_E#7*3V{Ip z;7L#j)Z@C21^yrae;_zQHwOf705$;#!kg6NrgY#CZZaqo4k1Ax06%yV6auPV5JCkY z1nP0Ow;o+!%A~(1NCIGl3P1?p4|G00?kd&gRg$_sv=k(QFbKo$gARsEH=KlX4I4Fy zRn?nC4jiGX6bu581UE_m1keXh0z#k~qm__8Mt{H=R10lT0R{n3f)EJf$ku;ay759I zfIk3+;A#Xw0DbTzAOuvs7=#Ki2vlRT&(`PXajg_Q0{W>!B!ER=5o*B?RE+!~vVI1-1WUKnHh6r2ZR&4&J2nP9q>ZmgGFkJpaZZ5MbLqOUPaJB5p- z6+s98NuYx}#V;KczjQG4zv@c|Bk0qLpo2o6Rs;6J-l z{L(@3O9#a-9h4NmbP&7Zmkx?wIw*eWpeeSkaq&wB#V;Kc9vh2aI+#%W(t#DfbWr@# zLGeomd=#MgrGw&^4vJqoD1Pan_@#s5mkx?wIw*eWAaDan_8s8A;KNry`3&el_<>LS zUjrS?ErJe;paWL~9TY(a|ARpX$4KP(?+ZGZN$HEAgTj1b5p?jM0y@w&RRkRruBjsE z;6DX)P|Gz{{L;a$(28F=_;266j!Q zb@59Fj1D7L{L;aH!Iut}Fp4UI4hnr*5p+-l9TY(a=Oa5`1RWGX2kAnuSOgsuK?g<9 zK@oJ&Qv@BjNkz~>5p+-l9mM7Ccw7V>6b48|&_NM&kST%=ToH6o1RWGX2PHPD2s$W& z4vL_IBIuw9Iw*n;{y#tmWBwovB7vLPi$du{vhIfA~{$NFNM9KT<(dylu0$q!U6f3J@-mnf9s!H zL%PX>`KrJ@M5u?#fgB6~W-!nm%q65 zpdTrBAF%h^2kgBz$R5tEeco67&)xUv&|i1oi^=ys5&jFi?|CAu4DxqN+y`MkSnkZs zIdi!?3sdex_MzOVuE2emDm-c*wnr=6_u2RLjryd@QlF-(-;ewU?ECEpD%@Zj+_$7p zT=t!o!ib2pJFV6yTc$%ihTySs_k;F>?uYD$aue622=c=SfB1>8DahyCF?mlK8 zv!5(?AD7=xA^NFuH^hcW^waj!kKtEUY9F^M|M}_kV;t9wD8+09f`%YD37@b}_>=I- ze0$)22IbF`yHDAt+^6l+_Q~8rPQqH9gnYhEyU*kYxS!3pmblMi`Pp*!Ie9$^{bafO zynW6-Z=bQBwS4aSVot*2CBNampp)<`?u(dw@rm$oKr8;7eZhXN!u>p=pC3}v7UT~H z?iXNwq1^qV{i6FN`=#8yE1~;k`{mr78-#f*q{1Uh?U!w2>Bne-ock5%UnzILs+RaQ zJb$g+{kr|SM89Fbq2~Hc`&IkRq`AI??U%~kmu34EY`;?Oe#?GKqTjaPRuhdXwJ+N! zADM#u4ko`-?ta&P*ZrRTUT!j{t*ylUKGNSWcYk1ikXy+wY;gFy?hm#5iu1*o{>c6?cj%>*lwWmU)$R}7*R*@e{i*$_eeH?x1MI%~L}+~if1UgpzJFHk zzHVQ4|I7ZDzfNibSB|v2+}^s0bN&JMFZR#wf7`#fZ`uF0Z$0V0P09FK zmAIigyTbzewhap^-0;9E0~;FH@Zb?w6Q0 zSVX;7J=UXj)sIHdQ=_r$6CkMtR#gxFN z_@j(1wTXd^m8Y8TDK|Bsv8M$#HTcdK5^|ST`fK4SR~uMuplfqRkS}#J1Dg@JS%J+A z-0Z+0W(QBYIcmkZYQ=f_L$5j~usYh3Q#CiRd4bKREf)l~ptmhUw@^h~NYDSxq!jf* zKIIk#Rv*}+U`Pp_<>2s}PCv)N;Xk+~ftA=2tRwb|*_ZhHNP~hjP`jmpEe#$mc~4os zt&$V7EXZfva`jd#WU&H^m4UG>3v79i+d?%6JHV~-`e}RgsNv=?KZk@F2ke%ngQ+01^iCZ7! z`?(E4evsQJ-9|!e3XE-iU>kzm=A>vJaLL_ZklS1++Ll1+LoWojC9oH8dND9Iw9f~* zwc`q9ql3n1YhX=*ZN+Gt4zZ2H*ZabWs!IyT&TW@=JF-g@ZjuVutajTG!NTylQ^j_sc?sa{9yO8bT1QvpEuh}fgK8RFC;DZ!|sSL z)L?hi@1JtV@Q++uV8;S$!|9d4*w7vca_f3q?zlHP5!ms-PGHooL$q`FwZ3qo8k54Y zb0?)eiL9H#Z5T=6UJden-Kik|5!WGI2O&-e#`bDpr-IzZq;MZ~XMCYP;?Da0Q?4_} zx2D`{fprG<8cweV#)kGxkn8Nd^w#nbchQazS$Q}R8vwocJ2*n-$2$w z;kqYNxQn{xF6p|xEZt>7TnUWrVqlko+@_>(pKw=wp+2tfFZiC}T99u@yX%2n3+y^h zHv(frdo{>C*V}U4-ssK1x&wO?qnkR!O%A`=7f#fMq;TxqEopBdyG!9_PoZ!<`kB5J ze44P`Vew4tF53(MVbeknGb5zjbZI#Jb0>Daj{X{(S`daZuA%@XNH(jr0^33I#Eoa)0ThV}t<6bz<@I@UCWod!ESG&U(}L#qvacOTl+&}L84HnJmd;n%wmRhZk;+fOt5Nz!^v{I$Oz55s z^O0K<+OwgpLAVwzLq6;#mKw~&LIXS(ihB-=b(~Ao>lJ1_{D#ojq}dqSMqkoNrM8Y! z=v_m%NtT;91st7|@O+rB#DBA-oAKHb8r$! zZT@^_-S#Auzqp$*+YuVucBq|6C?FSU+Xc^M&nC_8(02PmPA;{boYmfOikfDMT6hW) z3Yd(~_k^}5^dt1WVZI3y|FhXgoc*Eg58Z*#*!G5gs9vkl)WI+rtG9*>)?W(qEhX-d zN^uCEmy;NW#UF-0657k5@t5D=OQ9VMdq?iS;ErN5IQ)V;Cfj4wcLPNV96wDoZDECb zMT%F#AtjqppmfJ2I8M|Pp`8d_duZ*UAIhH$?PSIo$>8|HndZroh`I~r+4kd;I+i{b-BI{e=amOY0igs-naL(QhP15 zY5u4x?*-Xjz~YV2-U!{r&@P64#J>;aB`GhVyd2u)&|OI`?W>YrMcNfwSLm*Vb|tiH zVXozKc{yE|`a0?xq1^~wHy5hT$eUsQL3cCEZx(YawC>Q}4DDuUx5C_+n}O?*TMt!g z_f7nk*tcNYVD;m?Ex~QV-U;na=?GL9DdX!8{GE`>?YNbCzY6n|o5C|$+D%Q_l$1@yYFf&s zrE)Va75eb$Dcx;rQ#L(iwWw#LY(^?KvsXQ&E4X_PZJ zWph$C7xlc9%}eEG_p0kabwqA{%IZ=!AN7KiElB0&^r{#7P0DA^e*+{ z6k~@aDO;SfC1@K`){x50O`Kax-O?0e_hl(tnsUoiwk+jVqzqyOjl5D#yGo6`T2y1o zc(7=sk)KJ~s+6rx*)ufqvnhKvRd~z_-5NFHn$-PAgS9$`&!uc_%AQNze>7N!l^zY& zr+6e-kF_2R*0E0>4K^sq1`4||WgAoe(V#ZvHl^~F{oM1?J&$g)KZ{$$Zh?IvWt&sR z-%ZJBqrfjp_aaBt#1Ut_NqiHwTT`|*<+jmoDYrdk+fue2X>*F<>5h~&r)&r8&Xny; zJ(enQ(@XQU{oO7(??T>^GB#Q4P8r*D^`(ru_ju1e$oHmfulKC=p8Mpv5BdI-vB}~< z%GheX=OA~`dmcpInzB~!Im3JEnciMPekf&ZvUoXVY%{!P&K>rihmjvi*%9wK(|aD3 z=TYRxQpP5Wwv@5W^qyJwiuZg4`SFw;_nx!7=Lvb9K;E7*Hd&lZ8QUy*(l~08*}7%S zMo`1cgncb#ulb;J zO7kuK-Rp9G9r?MGvB~0m%Gl=klAF8WJue`CBV})R&$-_7qC77mzmzgISzJyT+g$HC z$X)TCSCC&#*;Vg3&wF;svkUpPl(EU;ddk@5dC#1?;XQ94?@n2__pI}tZ_4vc`8QVf%RCA-e=P2aWkyU%odha<}o}-bEiHuDaVfnY2I@h z^68OH_nu3%HfCAofR?3sc z(Ft0m6SN9J*Mn-h;$hJq;jC6+@c4uTeBHIbOE3#ca%Iea5 z-9xTL&MnAyN5&?LJ(01k_C+SlLg;I2;+z4dnn)fkUJ%x zQ&@IH))BeWk?yf)Bs_!gY-DF6*BROA$U39kktXJ--s@hI`Zd(ANA`N;&P57zUc&PT zFGO|$tXyR0B6}ms%^8=<*T2_Yl=>p-OOaiQ+~vqFN4bVmsr>ne-4*Gspt~B`)yQ>4 zI>*^S6_*>WS=D zN|_!=SGbXB8<|cfnX_(GI$zD$xtf<_R-I;=fPOP=qoBs5 zbs3M9Vl3=9CXy4y(`kD;trPQHsf}Sa(w`~>Sg+HmT8Ds``DWsdm-~3!C!}pc+SMdS zn<(i-q>~uHrrl&lwRD|n|LEI@*A(fepr4wyscAPY&4_F|a|dagj<6Q(W1*t2FEyC; zg-72RbfRgSfyKEq!!+UgaRgyzN_eU(*DtRbvoaU zNuwe*67iX|J(G6Nrj2cN+CTbUI>58lnsoB$yEe_E?{jHNxlS(Ya9N*(*dTrb{6?CW z67c)uL^DiI_dfadahtFi9A@3~vVETF9;QUh7f?JV47kp=NUu+P2}iJ!#Em1!{)hkv2AIb~1nLn|~Mc zXAFA_%@4=|*A@(RC$4+sx(9x5+SsJo$5_`l_vTXDP0{^PRo?xw-H*kAv>iyhgUlbN z{gdx`l&w;>qI`(~Z`vJ7uI!g3eHrOtW)9Ns2t8`rj->VEE2pDUA4PqP4m0iA()qhO zA+MzKkGSI$@F2{Iw6!r~z#IXi+O&W2ZI@d+RZ59d0x+7D;&s?_X=9V(Jl&-K z!Ea$|fK#gLk;jJ%KF}Moe*>$F^p;E%Kwa{IE=zG4_6l8PqPWVefDiOSsa@hy@PP)o zE+6Qc?5|;eoyh?Pw@^2Hpl&I;Vc%rnnka5E=j#K#SZX)8n0%m|yX6D*$i4^rx0oMb zrWES74|GS0JFs`t#wNwvj81)^rc%4j_2>g--8~=Z9ofHwRb^~!_n?NxYNKH>ieWJW z*4WsjsEVyBR;ReN)P}~kRe|WHc-(N?^po9&pz*!BcZ`tp2%Ja8HZpdjVx5j^39Au~ zj%{@8#>6%%wlQ(;_!s@ejBRrKh?^qa)YzuPZdzdlEi0K5Vm1;(8wXw~>ZDt&P+GfU| zWB#GU%~I)R#mVE+U^hF?cf8llk#G)0o*Nt6Y^Zs$o`>qBsDqs!8=DjhVq4%_XM3s5 z`guHa01i#;#k_Fv87R$zTuYp<8RT|Lz8kYWvF(Z7-dN9J`y||laDQz3V|O6V z?^CaJFt)w19f++Zwu5nQx}hq^qPdPA$&cy*JF2%R(PK~ zFX4HF7h<~*yEkI%jO|=(Z^XH2i@2A)-(8f&MJz7Gb}4q3eKoI0cm?6r*sjK|E4ItA zbtToTd%wFT^)=MjW4j)^8?gd)OW2L@&Dh?I-Obo;#C9{zjpZ$O*ZbTpsc)g~i4CyW zTd^LyZcBI@;hos-#O`jKC;HnGzK!r69a8MxiS4b}?#A{`oZIlBd@}>Y3QGPc|QfX&TMA}x@^0?Za>jBP$t zy^pj=ibb%CGsY&xl8i0!k@l2Yea80qNP}EM5^1R%mSVOnV{8pj%YCF3QmlYonK3pg zR%L9JkF>YcmS=3Qk3`}?5~)!RjhH=?F}BrE&-zGfq*w#HHe+m3JeRTOe58G)_H4%X z`A7`-l1S_2upYAw8Dm=qwb4h~B*iA!=QGA8g@+=jo%Wa7#*FP(B=t|U>H+mn2N2Nq z`N|U|Zj0Qv;PgVqUdXr?lk?alX%o_|8QYq1+mbSDmvlSQ=8QFy55T1{$nBJHC&FDB z+m&%Gn9?~(xEtXf8aLziX7mf$C*eMX`zce#9mwb!JSgEogsmBC&A68`_F~4iWo$>r zT4>IU9mv>AncNGheBGzqA+D-N+{w9^>isDqp*ksa? zF}8!gQBQc=RyArXg0A1rH_Q#(X*r$7^i0OiWZYS5PpD2wJCVMYvDY&0^^Bd(*z1|x zixa~9Y`o4%e-8cmjGfQ83mG5l4N2cXdNE@cGwxExE@bRdCO5r1m9NI@vh(9^DC~h7nKd>JFg%;PQ5|{{PzgK|V^W>9>Z}``wb9w!fm^(t!GDaDV^EIG z+Ssfcm*pY$>8y>*+S3Tfqb0S926?&EU|udf#7@YHn}9`4*0a+eKc2PEe7n8+`xR^LgvbH4a8nVW=DC-|$+co-FnoS;J zmt}c~U7k3tkkbmBR*K-yvaBu7+R|+AQ)}c_p-}}_%VIV4>!t`iGiMD=W0p5XQar<@ z(t`q}dsc#H3A!e0YqD-_*4AeIQ|ohCdoJ7i)T*XFR*Jxm6`oqxNp0(JT%R=G1_jyx zzcFiU(rn7wCg0xAXKj7fo-efbX79QggDr{c3vzt{{>7}ZNz;_ICf~korM4w&ZT_e# z?^fAv#bR65w(;&gYumH_sg;B)shT+m4~}XE9xHZa3y&2$v$iAac4cj6*0p2}q9yyJ z+pWCjJy}|4um0@I+U~6FqnY++ZBN$rW^I4=5qChkgIPO}b*))Dm~}5@4dNvN9Fpqg ztR3PK$L(;I$BM&Q9xIgi%G(!rLK(cle0}u|!q}GE(n~K{;OU_SF?7KH#=E_I7LZ1RF%^@+8O;ho3)Oto#l|7 zSv#GzGg<4TDz8cRde&acx^r23J?qYA4dOfjE=cu8)-Gi24csoODi?dJ!n3uzB!kOY zyOg!d7+lHP6<-ye0k5jKSE))@*1EFpTGp=JugZ1lu2U6aC|g=DZ*OGnM)vWNL9Sad z-^^Nf*4`xMO&#=Ra!}db($(LSwOd*1A^KZcdn=n;wOxtUQr}jc?_}+E*6#H7ew=%E zmqQNLY=V1R2fxcDL1Lu6&7QngdEV1;-=V{!>%_B=AX&)|S8qXwmRgAoElu8nR%+>$Z+zJOn^b&Wx$F2PRJvmLa@1evR z%JQ^HvisvD54jA-%H&=>89Lcg#6CXNyp#eyV5Rmzg)5^`%92Ob`?>WMuAlWomYaDh z<=%sB&fa6W3fCXo{)pSAh3-M(JxJzSnC}U{lUkp)0p$HYoS$7rj(u87`LB3b1`oqL zT<+e>?!8Zhbz;%gvmXrS{DV~e!|r|g&htA<9B<+6{iK5o%+D!H67b1UQ#^!?+CM_J zAN#>@WahJ9JJ5Yk{*rtP$@pyp@)J`@7Cuuy1Mne3zg7DWGTX*}Fq|{(4-arI-^YCj z-G|EEhuM9YdJW7kDRYm)JW2-KK=j`S{e9)```LXzxsECZs%~G5u7U0c6smim8;pEV zA;0W>N-u-|0QVK`K?jgdk~SmDRC`B4r}jTUJnaV)FXRRNW6+NcDd9y_NP2(Tevl>; z{X@_{MEf!?{y17C`_p`pdtCeaNV)!`TSp}OvtJRB?O&24`*Zw2nq4S zLrN|_g#IU>e}ZyI_BiFx{zoW>_CHEHX#WwKK(-%+1|v`t5$h+Rf0E=p%A#1cnrMFl z`U$Q_$%w`4O&_aLJh7^@Cswtl;y(ucu^}Zdt6m?6{y3*4%J)w|29#Ivh9Dn88{+pk zmOu`u*Wt*0LVMoXeNy}ONT7njc(_jy_tW@%`iZbf_02=)8K0;QKRu*muj=p_=+BV1 zBH1UnB((n|$JYL5IB(j2ieo-Rte=JcS^QPs&q9BexT*uO_NjcIgZ>Q$W< zkYR8*E-efL-=0nbVqiZd?S6?^zl_f>bA713zXJU${H#=mpBqxLT=o4`=wIb$DA~_b zM(uxrpO5yxNEx;NC4OEH5z8YTIOnSGuOt6;t^?J9SiB-B0sD})-{8DTMl9YG`B>+* zCl)Vzd@Nq+qyR{y?Kg*%Jg@qG3HnPML-d!Szf7C@IzFEkVq!2FAQSAH(qJaoH>U-Y z7#y~w-R~0X_wf0>C&EhA(E}y8mQ?Pq3@I7=5JSU1fc^unMah1P_S62iX;bZghkjA} z-z9tbA!7X@^dHh5X=42m^dIqiqAZHVoPOl~82XQCC&`G#TM-{?w)VuT)1FxMOh1S2 zPhkF}+b|Bi>D`nj8@|SL!^h~>2RYyv_NV3U&+;g~j_udW1;LQ0+{!fyWuD>B zm~4=B4lKsk>>K64F|hs%tpB1MJjP#2^jG#*vS#w)&zZcCbrw*@*X*fsa2Z(tHP(M! z?*0ZG2BL4;H)YKXM+I{nvZknii^<=X1H||{Fc<~||2V=e91pEUy_vi+gN{_d0vu1A~%!)g$*UecUS;KL-OH* zXUK`Ul}a*z3#G3LaI3;_g!daMzmc$`1kvz{>Hy4z9GQ+8LEdn0MMlf?K48NE)@Ujb zSOY*t0j)umIwQ^5JRLA;lhkQ^AZ|QIm=NUA)+kB>!w|?q3ZNL1`~in%gwYu4J#zwP z;5iwCDc*CcJg34=6AHsCrUy3Ndolqug^GL6tNW($^~ zN)Bf-hL-Z4oGm?;0nK27Shx&Iu54P{{>>xCIz2>@!mykc=+i~RvdFed{jrclWx-g612ptkT_D$k{`z%baPSS~<@iaL^c7O*sh zO0Mvp32sB4tK_)~d%zfMQZx#tAOx?Q2rz~&=S}k6gzxjhRS0{rCIICDz5{FqSPkJVHU_z6B*t^3EwbK% z^$UVzB#4aMrNv5bOhz0{GH7B9)!@e*Tg7gLUBT_$%j-l)QV+pRcc4dXaMv9OI3pQ( zG|Q^_Y;BySQSNizhU-2k@}8+y9|ZdbqvqeUJqloB`wlQkHg_oEP? z8oYOdy`*u-UU3EJ2D3MaJ5)C5JAK(Y2D<&&42E?FWGpZVLj|83{}J{(;XlfL7kk}$ z_p|4g3e@9?@YCG(4$A2u&>l(^eh1#s5^#HdNxGLX1ZYRrued{Stq_l6?*Sk5+kpTd z6k#6^DV}KMLB$gw;DC9Q2<5>83a%Xw(j5WwV5%CfQ{&2)IrhZ|F*+{sam1G-J`B+% z;s`{yh@%iaB91}amB$HroPgt6v3FrZBv#la9s8s>;R3iwlCb`lqOe@qNm#DyBrHfH zfkxn7#s7|)-0ob=w9;p5fSgRl)m+l6?}NMc*o-6XLLl*C5(NybjU+AYt#L zOfIQOE-LIrbUwbq0t+btbAtF1;w}*i>rarvwo9V0zM=}-scK)A_%i;hLz)DL3iJ2q z8pT}|cNLDTc^YALSOBUtlF*Eb@p>q*3dDv`SQUuPBr~gR-<0c{xYnr=Zi*8yrCwF) z;%Lhsqz|}{O<5uFH62#Ob%?bhZa{1h(G9WrLBjSZP!C*PNZ7Z;y#+U$^7*h0f(YD} z_%`Bti4}I72!*W?p|Dd#C~Pel5pJ?_xx;VvuFxzV@$y($Pf`f8Zvm70$=&B(AnqP! z?*w_Yl?qZx9`#TUcadV4P%r8vM`ysu@Qxt4yMltjb2z3|p*%;(^FC0;D@F;IBF{0r zhX9~b=$Na$X98c5C-4>K)CdG_g-r@-H_m&G&Ddz9-jhlJSs_magYjTILZB=(84W!d^e^gkJdL-f?yFoMPQd{Xc)nH2jWssfJMHNAa8i-0$o$6B%l_!#TYE{7?}n|X@Fhop)68> zSXt%|IFVNxl&?@p@GE#O#{diqasM@h#VdfZtoEL~+*v`36)M^2JrgvGJVCKAsYW0W zEo@S(6>>$D~%Q-i}kz*y+LK&NnX0|P>iM~T}j zZZ8~}9&{|n(;lqyIIO@bX)Ceap#fK;eIdx6byqKurAz2DEUo zSE&_o7h<+NDm4L93DBagFJXs@8wz)r^7*hGeK8s)@i4^g5-V)82!(ACp|JZzC~RwA zF4p1l7!CqpRzIp;C9Vqp+5PhULGi$ifNSVSY~VaR*1^@YO2^~a3)(}yXZI7j2coW@ z8|{huegJ$VY3O$!#oc5M3fhLv)K6 z1JNU5EW}-*7beJK0^GQMge{!6xsvbf3UTKjR$fFa`D5?s410TuE12-oJDP;NKR4YIhx-Xxgru#X zfJG4P{oKqHVQ0YsD55h^lgt)38?IRuoW`;Ds!8TZJO}YUiKj!fil~J+EMf*kn~0eZ z?fnTmR~~cWn$#qqkx0sf+pG#IY>SFrCvhF(W{DMcg$RXh6rr$dMJVhBRT~5oH(30K zzlVb?5VrtbmAHlC7Q&5V>iTgkTs@M(C>?kvi0bz^5KIu`-s6^dqUJq-nFzZS&X(d@ zr$zwEL>4_JXK>#SSrR& z&3%=y0X@avsL9wDxC&qu_w-aAE%+(YMq$BHu}QHm1!PLM_^BBXSEOwu#qTu*G`IlLL&%GGz^Pc-e9&I(|dXfRwLDzH=h)<;D8`HqxkBpTpSqas12-bsPJ0#{_b%@`4ZoZ_z^26Lp*vc3lzUMWJ7DnE{?9O%YlL&rD}P*pOgrQ_F> z0oD>RrOe~CNM|V%UJD7YAs6c9OTAp{ajn!%W0AN;a8h--kms|qS?wTit|;-!eID7FuKNqU9t5}~l& zA{4gg0Xz!OupuSe)g;U1zZ_k2neJ2KR=~9?HW)GPQ*irylWZ>&R!pa)%n2pNL|mEE zTPYs8$^;UFXe|RDM!N$IBi{|zjvQt8udLR>b>>060e5n6440J zE#eu79udz%+|3boojlgTtyPnNCnHA=u2FSY*v%@oe=)WJ@dk+%woZh?){9Ws1`!Io zLe<`=KpXMDr6$=VZWFp5aiGw^JHS;kRDT=`fzhaGPnoc25O>Sm3!bR#!giGrcBjNU5nqy6VGoN?*ftRg+b%+3JIeCo9&jMtn6>3M*%E

fk-9^fWV@-|z+ITpI-!`|~S21mT-QF$JP1>eRdMVkO_@?4Su z=0>)sN=v0)k?AWK92bZUlp9UP8(+|F1#la6tSciER4BKGLLGs*!M%#tDSGfS;n{c| zhCS`kYf_wv0JZ6OOGy+2R#~XyS?_rkgHG@Hnmq5r+W^3U-iYj+_gt0%2S>uGN=i11 z_e?-c=?!j&xS&6@^NIg@e0}0eCpH{$1>SJe*hD6dF#IB>5F&+{!{FZ+XvKc=9e6Ptb5Y z+QHryEDoR?`OkvF$#Yc($Q&uNNhNu=%Q5d_0ALPJ5OX|>!UC9MlcJJmN{UM!7;~J! zD!pfWsQ`35UxMct#?3ShhAw|t_t`4FRUMJecb5u1$K4c*Q9Nv=0nYKu9-Y=jFh-g& zXvXqTl@?%bI1iOPN%Hu`E!E@aMyLIKmLq|p<1UHyc5POINo<+!A!1 z;{2QR1~}5V=!(x~h1sL#omn7zBF<;sa!*{!3bcoWjINcM*;@q%7>`?ly5iO1R>Re+ zV_nM8mg|1x-^w>4ULo-^h(;01A=Zjm0kJ{EN{G$!0LRDu1nzK_u+NHn7LE+NBrJ(< z0`QcgP6}J_Rg*=n6H7fQtiMJtU zU8*E3S#(KQQs$Dd%7pV_E9J3W9@{C_UNuRxxMuwKm2%DO5Vr%aO_n>w?Svx-mnPX; z>UJSvj8f`aJi$UGfC-TtE_Hi6(N+rRkg%FT264y@@jaBi05as_QwH2Fj(t%xu?J*y z0HaG1w?K4>*bUJwVh==*h`kVZH6H;yQ2<4*88wNY9d3mK=$eFWR|QG=H|x z&x3Zv^ArXh-t)9PPs5&J<~UKDW$M^_0*&YpHbSMPQk^pG#Pl_8oM}LhG}$@f9>F|% zz#~rGB>R#y&u^qq#|zB3CP2nFxD{lDcw{0N`%6r`CJI20m;Ld;UA)2XsZdAok9c0e z^s4vllBW=kfF9YT0P=XYYli_Efj-VUyyn#Wt_XGeb6eP=c2maa6hmVm zjymAR4A@7&AUa@9s7O2$Sfo6wVvb)GlO99zOY9XR1$mU`Ci3Wk#1$$z%6pE&v^tjO zXnBr?1qbP&kla&+dXy(&xufJh)B!H1TLt;Hc2uT2v zz$5=v{>3aA%mPz)-ro;ri=7R7Nw+Y`J48s*>F;G713ZS3JIeqtl*#>Yo}A`kQtj`D zbzI>6hHI00xs~Ep!ZoYUTEemSs+U_O@hZgoByNCc6|ofJu!v<4Z6cOKw95ndCO1`y zW5PCyYm~JJh3(L>pAq+rTtp~rvj~N45uvai)Tpqn@+crac^#0UNx*#4SD>4%!NOW` zYvCG%B`H8axid1N;B`PoSWxOcJ0mD4L|q2(r-=HD+vtgg4ERsl{dqW`o!my%B%8%; zhO1Wv*HQN6svu}ko}>`3ka#^rqlgUx5stU_ zN!TeWc9Xpzbyt>DqJc3MRP1581&{s ze?iN_HDk7epIa<^DK|#gU0_%f1#RBqf4jiKc7S&+^cTCmX96~r=U#d4#gkLRCdGaM zPW7vQ0mK*h*g}7Cz0 zUH~d}1Zdfm0f}l&g*vtgmkKDAdl-P&SXfkUOt2?B$W#ihw03{It<0syz}u2O5r8V5 zCouq|isvbL-Uq3A#pxJ`s!F;oBe?3eLLJX|&jhY2&rW%E66m!UysF2sz8(WvmFIR) zUo?sLY)=DX#q=De=VMT;fLQbO>J#5k&v!A-cc+C~<(7rTWnom^74-vGW3`Wd=wMd4 zGsR$41y#Ku+$&gDkgcFvL9X&Qd5B4aVa56e*4;56)&#>^cxmomD)%8dtxS3UH)VJe z!&@>d_oA`(_&kapiB@!!b$kL>;BMwH)_UC&_+@sKsmb>q>58L0$n|GGr4PCOkrw#p{ZXVG``S$YZcO5TR9NKSeI#GK zlUDgLuF4?~m+LBzW0L-lq0Gy8glGQ|rE zEjI3<7-Wq5>--y7{JDL@{=9-D@yPx{*SRapf0SJD68lT#ibwWW^ZgvIWgDTY%Lwq?1SXH$I)*{cXNkP4Ra$#ouev zL%+h_75pjBKil7G6@S+9|7SG?zW;(jk~dD$cwpc1P4R6^`E7mMDp_%UC@I!~Z;oLB z^5H&Vd^igI>a2=XKe}cbWjoM%8H_9};a`#Dh!>isPEAuCkSgvQXS6KG1muU?7($Iz zsIi3lQlAf&LDDl$=}U(&E}*Rn+2T(JxiP0xTH8M&4V;F{=E0**5Icdqyc!WT$eC-V zLCF5Ve2=MT|c#`68Brl6|KLQI9I$_nvI z7C9@|5ya<_lQy33RAZAg9+ESjugof8JYos|LcX|G@h8_!spU!YZ0GzLIG0gY zc%Y>42Cd#-;g%^Yyl@6;bOx6D)%w*9uaMR*ujenY#8#Fkt&YrSyTX9S?~;EMK)i*uWdsP>U6hWM{6i&=H)P2k$Kw7{{$!6+TC#xG6;|~pmz>OTwItED$o5}ljcX-; z-;$&egBA^}DX^{7a$7)>wQot1!2{PEkZVoKcZJ)b5Id+o*krEd31q#=U{^pAw(Y{8 zMJw+YTC!3txm&C8`)iq{`hkuHWOmzLEcYqYKHrj$l;xX4C3%;SyUlFAG)mrX^DTK$ ztk&q~?Li`M6(I?47-&FV0kvX7A6TY*?#TRF>1xTBuxZWa*JhR3&742MUk=EdCYw9I zK`nViEqOG^?_-ui7RRt4QJB=rS5#W^waNP?Qo4`(mL%E<*%lV-Z}*Gx2jpM- zmV8xyBvg}OeTrIk1f){?mOL%RnZQnKh5ZU8Pe4=DjkOiO|$CJQ-G26d;_-b`B{smB|*3NhP*8H zGAwV`5_yvdNt%5_HkB#wnTBjGQ_3@Q`=~&vGO-WQoz1spU6QWyr%C`#@%WLmtbLdW^wv|L>yf&L{n*=Deg^@Z=%lkbB_M$9` zM=6L;9ftY5`#1kE(Oi0EtX~p!#S{}b| zs7J6mJxz9od8a($Dly~{lUw{+NX~F_B`G8NGzB{6*ULXbPjFu0E@;twyFfUyhTnL1 zxQhyRi8OSDyR0?y$;~Azw-Am8iAR+vOuRy-Fv-H_2-~HwwS>Yc}wgjB_)%Wb@MeU?9s_0dzVb!w>Vk1drubWyNK>^ zl)G9gALjEU@p5=_cS+{GhvFT2+;<EtT zVy*7}bc(cEa%poDC(|AK!;Qy^#8|fBsV|Zg%Yi4RSS_C%Sl*weNNi0K+3VDdlT{BE z$oI`S)vujThU?Vc1ACikvSF2cZ$maKDX!DCRDPkZjI5O@S(-mjZ_HCZ*`xHvB4#4r z;BUSpyVCK(k}-lA*{*cIn33N~$BUellEh%GzZW-_DUp>fXDzQ&WuuJN4s|(7X6(?$P_6wftE`6SD;LW!Vjdzag9RF^|G=yNIG<*bwCdS!)@n&4+tG+f@d9Nn}5#Z=VYy$S_WRoORmKo$o(yF@-={2J<2zrad?uZ*e97G;+w&!SN%Exg^|nl)eNefc zpC#Lq1yoY@vm|@c=W6-<-2RIUWo3Jm3#3|uq+=K)IiAYzB-!&7zKg(GdI8y-d`)swv?zY=-jtMbI>}Da zMGX2GV4&EuSdhvYu?RlJDa*5b1*w`5`I8RjaQZUUrRGS-Ew z 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

  • WUg%yA(C*bS=8NqU&0OrLlDP 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≦Ln{I&b9^2nt*&dl>j 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

    &puZks&8>VWC%e;$Ag$He@Ao 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

    #W#$@YQ_%Vl9+0cXmr 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 m_Ocbat((Sr|Rq*-q@{U%^6>$s}#Rc2cOY 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

    Zx7z9?+nCl|{{Ecs?wr_W-0Mm|7}wc&>fX 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 z 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

    9ceYB>b)HH8 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� zrwI&tOGwC~Q@kS=Dty{i+55sWAfBQ}JoJo%ALv>7fX9WYpe`WbCjdMRi@B=dX5HKVL;0OL6@Si43%9i%Qd{D z6oqKOF@vb=8dV08xkhGbnCr?WE$vyAOwsr(TyKQ|EQ3p~Q&bt~1sk=SCh=yv+C}!>c&`cfCwPQdreXGU=dKvU6dMUE(OQYySr80J*m@_qBk<5 zI&8x1bN`P}vkcG(#qYBi68BLYJ2LixA|Q|l*awS%P$p0vpaZ{8a)VNe95InA7y1We zQmCP3vK4;Fyrw)vVT{D642&^ZNP}oOsZW%8S&0QQ5;J&F^j2bNWf3q#-sLb1qcHg5 zF+q$XmSNhTWyoU|`;VKY*yHr<2~`HR08-2*0a)>5sb?|>OWw=?D^%Fv1fW7OBD4>N z0B@wOPJkD4scfDqdrrUs)KK)+Uun-+oUsQ41VLfY0_fpI^5ETseUBm1un<6t1yqJ> zlfZ)r5JXWx;>WT@gQ(&QuGjl zp7ALu0|;i^n#sK#G90|kOkCd?FoZ0*G&YoO{c?Mf-nEv14#0}{s1QWKX{->&z%2#N zn=Cr~2eka5TE+*&he8uYfr^!!M&NHf0U@~cpIBi41rXy?@~pD`&n!5^XY2zd034rF z8Q>WgO_fm~zARNn^qWwl*4I`TJORpBL*Z|1|673#jH`)!W04@fqq2r9m9d1(680s8 zS76<%cQ)-=j-@KSe|-o!z??>rAXxq>f~B<&&}FTuAN&0k0s@oGdTcJK3^Pk?FRviM zf<2^_RpG%aVbmhr1BI~{#E8+yd(b}Cde|Zkq73GC*Z^KbW!I`QeB)tmcO3~9=^?GG zI=()uQHwQc3g4J@*JH;@o||m{=B&FR>uzR$NY>qybwjA^7F9Mh>u$-qp(Nazb+_s? z6+Lp8mIj95ktNc-kK*B3ZufBZb?--LX9PPLS=B}HNM#<$K7>vCOjUfF(r-&MkJ8R4 zWp27*)9J0kcf*T+eo^kAL_;Y%_^7s1dT^??Q+n``D4CO4 z$Dd1n>|)573~(*yniW87&BgZRZ{aB4UyyJ)^r8D%ejG<@;*Anl!T7n23h}0@w~_SI zp_ZOd5)dft~+O<|IZQ%XdXvxFH+mgPmId_TM;v=IDm}WjgskJ9>kZZ^5<7MQff!@?4m{vuYLdmvbFDh5G=QcVTmv0w8Wz7vLjedzU>R{K)xB_J3J`@!JzX*TwxR zf6Y_6#Cs+E?i|a1$GM~3amBc&gA;T;YXN}A^A@r;sVX?h6X?GR~R<3(1G$J1xJ|R5nmzraQKAMsCVbQ&>ytDux38xc~3NEbl z%cA3;#mmiQ2cM41n2efV3&Px5JwV3_9?u-NfE?XAT%H{tB%s(XYwm%rWD;xjA@MU{$nhq& zVECN;ui#mLJrE^79S2bkvwHaOfjiBc55q{-X>~1UK6(a4suQ5ek~Jkp1R&1X0B8Q& z_M-oCAWVfr(G40Hfjcz{b0kXd6cE&NfEm%~<|=e`RzS4G00Khc`^;4+k1;^B(j|)$ zfT828mwb)^spkJjy(BlEXTN=*}V^{*|x1I{i8TxX0LsskOF(nvyrYQ zFBh|#oH;21U{dRB6)wkV5ZE0(jH?OU%?RK=?XRXMJ4YLN*boZ*vdT?6VBcp0v4{L{ zN;(v1Lo4K94K~9X?C$0o07#qx5fh#nf{L|nl~%BY7Yz0)0YE(8`paYr*ldyG%`t?z zLKz+-+d2_&-yZbLW#Sxeh>+*aT+ufVISUIZbi__aXZUHH8cQX2jAr&*!evJ(E#lCaoB6$wG}}!Ei8fPg3vR+73BVi zyAp~w%z=?px1*K-X#T{y^Qp0mpO(5q?sTOa|G_1OkP8GuI4BgL&Vi>JqdkJA;kg+DFH;i#%>?eUvRhi7UK5tRh>s&%Kr_y zfZpE*F|eDH1b63v-KhzoSVUlW?=XD>D0OKVb_Hhh8D(~?%zZ!yHeCa8!;!N0Xq0}{ z=7%MEQ7*Z8Ou*%G9n&TAh>chajBm`j{>%gy*pY>}r4EyZb$!W*Zsd14bk4YJ!u7gR z70E9Q$o#5MU_A#`M;nt(sA7`al>fFW8JiWN zN3X%DJ(va!P<<11a3TjM3B1ew3rK%*n9hzU^-$@2AC^BDVR~pp@H`ujfWyG^8Sp%( zI!*ro*{2G)TiC}(LotKXIo}yV^5vm-W|-WR6`*H?rDgCuKgF|uBGi2W(3i$ZsFANVL^lWu0qR z7La70Sk?e$XMe;44A)}5O8kfi7_jIItai~6ja^xCgGqCy#h9H{tuL#ve7!6%hLIJ5 zKI+-4>e(wI8r3sCuW8mWNP$%3X&pk zmWr@+z^F@+snS}t=QU?RfhM3Mmx_@rvXnsnw@UfnR(>rcJj$hVT1v>Vlz@Umiv}_4 z1n-9V2hCq-B(E^|8Y1z1ts98$yQfw7bt)_klW8^aIuQ*SP^BhK15Vsg!*&{Q;`SQ) zlm?vOxTkb$T;yuJnsfs;H-Ij!0sl5(8k`)@@lV2})a;pcLfk>f@LTu?>y1 z=D#*Bc5RCBwhqS7ZCe{}$1ws@2wh4{`h6nM!;z>iJP~i97N~GaO|s_AnUI1m10%Ro zetz$)G^Ey>oyoFum&`fZI|r&zOd$a(;3hky0#a(q$GfJt0Cg#@M1KLw?C5r@hcFah z2wlj3dq5fPQ8c!&v+GhD<2W=GkTwHjMn1;iuS6Q=Cx07COlktst|WB@4M7Fh@h?~t zs7ZBuyS-gEm(<4lxP9PKynwVjnY-gNlxqZz%)gI+@cqcUKlpL~qM)P~khTI*Mm}nw zf&~61znqM}C1WFn=mn&M1BC~4zb{Br8Xv;bK_ozTXaNfGFo5GB#Fx0fzq#2Zx`g{< z0V476_=tpJgadT{QHYOpN5UT-;f~7Bh4tbL`u`^ZB?KWe@p1G+__1dZ^jHcg;Z8^g z#m8RfM*WqA8e&Vh6HOC%61NSU81bkV*eoz9^4igp6M)1ibmWu*IPp~Z|2$2|`g9JR zZXQ2%2&kwPg)`l0?o7?6qIT*ea}c@zwXh#G@!!NzoW+qe(jQ3jY*o%wo#aUvhis3bTr++9W=Lg zjEUPtU;;M1!iEx1nZP=K|`P(N>izQOe@M|Ty3CG5&F=IrnhyXP7|m& z(cf0!6B!vgz={!o5v^#NkvmZmm1@jGE4qexjB-6h4<0UIMtkR=J|iKcBx&M%#=$&-` zQ`M+@QWy_f!kAA0;xpWT1Aytkz%)gT&gF92i!_g^D>D=wYm7l5vClw`#rvhMzB{qv>KtzUBEzY^;T-UIyA0{+Ug2*Oolk`+0jzz7^z5aRoW zQ8(}-0)Q_oya)UP<28i&fjqXOb0S>1@XW;kf4v3xR0mLx5UCsl<@GgKcd4k>(vU^5 zejz>YZz9smg&5=xl#MHx;KQ>9qFJFpv;}4xAlQbg!(bg??rJ9ZpteC_`H=;>MS!=` z2yktfER2NPhmRDt5ibt}1s+4TU$Mc_D=-;8$U-=U4ojI?IJaS<3!(JNE|G;Aq2 zocLJK+sL#Tf1Af5!dI3%Kx&iH=K)lQ!(^d5Jr8;u!F|LE)hUJ|nM1sXXY*20bV2|&F2Ol=7#d#{*T|H$%~#;{q6an2)K zt;_HL7pq!WuM{9oml8}@4sQYa1N0FoPUCH|rb@_<@srj8f0IK2KB_Ua2h_t^GRf^i z`U{iBHbQFniJCG5G{>K$0`?d%$q(e?CvhoY@GW?7Gc zfQnWs5C|$1%A1jPaef9!s1i>qi~M&22U$oH>FZBIG%ra{`zOxgc@pK6y*p~sx44y% zU?>>)3~rN!1L1oCe{LR+_;Y%?pV!k3%^L{iJttWxLK5=;3aopPN4znVg%I4!3SR-$ z3v{ao!%+;V29|q`VhaVO7VPQXhI7J;ceto^CWc+iuEj0_P>og;!x(s0(KCleDs~Dt0g$GAVoNd@p9qJTTwJ0P z9T`~nlh2yAWN5}_vrb_hN1LJdktJ8;e4|`lk!2g`^`s7&Yuhw>p>oUkSGJ2$s&iG6!WhoA+zv{zZK`-xZa98&|BBpc7(>Lc zz)V(xRCmj`E4h6*L*-^|h}_-C-OY<&NrIYWg-E&cad&ciYErpbL?ZXTdoAih#b62HEn+^(&%uolIFKKl)<17oOd)(08Z zqqGRu8DcZzepkRr4hfBnrVbtA4$(zF6xTV2`YU`Gc@HZP{E)njI8}$Rk5pSPg@i(U z$!e~H=*$?=soY1=2k$jUhlp>e+%JdjNLInr4~OAo#{H!bAFbTSkoy=5cBn(gx#N_Z zg|eerEmQ86aZhshEZ|ay+$WIxgaV>j>?keVp>ngbc03Df%AH3y3lCa|3(9>mx#2b? zmE{oRr*gCER$%E(xoc3&W-R)la-TtNFPhb%Gu@fW%`)BTtkRKNYq4Ho@HYzmjjPl& zecYRQQWRCA)>hAgSPs(}@96|aQa)|e0W`GVi za=ki*(`UOBQ9M$93oDA6*e9EWPtSrLhz}gUT{9YYQPhc_MM6 zJP4fHCDi6FVZ@n|mGY~%c6-ATAkanHWqx`3Xr7v&>FKM)z9e22bi=;Qgt!asfgB%7 zvn%qn6id+`AGFZVe2PC|DwxLxAi&piIH`FQ>4N?9fbOS1tpTxXF zts)3kcmZ~YNx5qY!$qj-kziRCCU%jXVqHAKDjKQ$Bguc88G?>rYm`+qS_z(2MSSa& zaEA;-RS`?PqaeksA{URbipDB`>Y@jJbqx9MvWhC%Rj5@ZK&swj6|q7L;rfPE)KY3( zPVFD6sO+5wRW9z~t)dEURb;9XCdf2YJz{tN zq%nn0naSx>=>q}7N=0*&e-8O!SouB8*0Wa8TqVq9cb*JOEdf^bIqM^;sAtin+R4@- ztyM*Er$o6X|9r`6O=|n1RRqBrL9rH69j!FD3&fo2WLc<(iG9l|a#GS#5wt4tuF3V9 z(WW9>7g|M&l(2~1*F~%v3k$RQhE>E8KMd^KR#8i_sZ{i)@_&y_<-ROa!Vj>i>JfB- z*i@@1kBn9oEmwXKqmZcl-eK!K>(Tp4c%R)B=72{DABaU&MQ{u61#Y=jR0E}|iat{Q zkH`f#%1<78KDLTJQNkze!jAG&!YXm2s_0z^2ijFddLZaOOhtsCj0Zv^1X_~L7^!mT zbBaNh@{`VXwKWNo8X=FxFNIm7D&cEMXf;5mNpgz3Yp+h`3+#}Dy!#eC0xy}F{_pUt9p&q^MM()VyZ+vEwO2( zo(ggmg)4&Df~;BT&kd^Q26k^W4XhGwk~ORP0}BKV>%&6l#jKUnKQ`bBYtRu({y-Gcm^y=+C;SQO!svelAQDUN~ z$DV``Mv7`=?7`%&UD#RV6i%A#Q{NeZEjweVd8}HzQ(5n1?=Eqzc6^+;Q#}YUtq`(z z8~@lrbZZ8})!5d~>yoWHexJxzb?8$gTQTn7Lt2N0EamPe9g0-}6=|=mrnTd+tpBuf ztHiI$2!wJ@65C8Fv8CK(m77d04@pmJ#~+raR_(#9O$ueELAjP9UNbPRim^z!sVX;> zy+`GL$Bs`E)2ecxi*J=R2j%jjT{94`a@Iq+87kKpU{S|siD6Z_FU+PELk7y#NQawA z8Cc5AR=Lz=&y!N{D}Zy{Nd%jJ7i8{K4ChAJ92&-a9Gjd zp--E#*|Y#kYvP*aXD|d*%Py|D{^UVv)vkr0S+#54DU{R84cP>&?P(Ixj_5$E8-0sz zl<(I!3oxs88+Qu3s)nvak8fx|euaA&@Ytr_H%xuplA6q?C|If1wRE*bKo?G7T&vm= z?2-eR*txB}sxuJ6a@!OES*_7X_`2KB5(b0_xLbR~Rd0wZNOq3pIkas(FsrV4ko+3C zXB(4yy6xGWmH}3^F(0BOOsT(aM{wmrKo)83>t#-ed<@}J9Z;(}jV%Gj+9f}HY>28e z^%q)He0Z;&Yzw}suCO4?4`fp3^_`u)zOxJ3NeJB#I92U_*(I~Dt8Sm!7ma7&_RLRu zG|-dK1YA|^e$^#Yuf%#(p8>j061h=z;ht%@_-eyfNyoSwnY#&AC2sH1?P~_SB5w`I zs@na!Q+POkx_1hX;?F*v!lQXk>!l%}^%BOa2V=>e^Z*Wda3zDo9vy80(d_mI(~ z)<&DN*p}>6rtoKzEp=bYpM5NsOM zH`@#?Ag%8RcH&P5G^o{ba|#Zsb{Dd~5+nm9N3C`j73A6!43+dT3{?$=QV@Eu6VM4@ zg$^~}pD7#FP^3@b2LKQh`4OY`HMJ=l{Sfm}E#Z0tuGba%2V~U0>G+9g!V?DNMt50Z>H>xWN)s9fb`1Urh}5CP6-*%MhQd3 zAg59CV+wi#In@K3IQ=ogPJo{x5>#N44S082b^y?wfi$RWj3Yb#O9LS!u+lwbzgI|y z?5zcisC~Sw6hTBNPk}u3C{D=^90DCZKz2h!WN!-yqHDr7;Glm79t7EF2M7vcFc6o? zyURf?$^)-q^r;uPLF?^QaO4Ig9Ku1>w9ZoRdDL z6V{TKpROtF)(DUW~qGgfOHz& zlKvKLDQEV!2~5*SgYN{*tITPO4WP?|gl`@IsJc-|8Uum&E!QcVp&m%6x=~Il+(Q{~ zPjw^i0rP-xBo0jnRhB_09C&Fc_y;E$0zZvoE12gqRq+|8!AhCm7#PYDk5d{P3jS0B zf3O-?sy0Z~%ho<~O(;xM4JzuAc^R7`-K5n4Vo3&{W=UTPD-~0@ zDPT#DS9{)O5EB``5oQ7bnO`3ZMb8Hd)2qMn~lYg2YWRc}EneE{&1RSlkHxJtSp zRpp5g%<9J?m9(nBta>mO9UmZ|1ysTnnY5|)Dkjr(L9PswSiowuc7Rqut*azl^&i}1 zCZn?YvX5cSru^C}9p3zTUF*M9V~~j7l;CU%_-k@ian#tZ9-P)5WGx>-1NEWO}{&U-k^ecbVuE; zV-5s`p^g3w@}(sE{y#^a5xULKv%x2s_jRbb8Ok6!_3!HoI<*(*;ruWm?M0P;k=>W% zJk=6jmJ(L84u-Ay(!=U~^=}6sZ`SdvS;r?-0e3)iHkRs3#*R$e2rh3vR{2IyDP#OX zgNe&q1xvzIE8DU<5E=dpLw1s#x>vnc>bR_;%fLhicG9B zTpiP$~fnDU!o zez-|dmWUPQH>3Q|efgGhRZ64_0}bTg9FL}(7a#<;=pL`*o>U);#M~1z4y!{D zYPoz2gpJM5P4~Dp^|f)Wy$RyB742_F`L@1%o!idg>ZV-2o!iE>D?kKp-#y-e@;ka6 z+>S*cY5R)uJ5hdTU%rFe2^z3Nx%@7~#_(=#y07D@w4!_`%J1&W%US8}u5-Ek9{9)E z!o5YIpf1vyyefh%$INjmp@<+IX(_k0f@o*~I?nrZR>i$$w z{?C;Ei!Xn)`?LFtJGxx{7#yM=W5iwe_&Cbj5%d@dHHtmtPa93}E@Idcc1+sD4O&5NU}AYm0C)sDCNtD?h_?{D z2#^Fqf))v&@$G2i-umKD9n(8edf(d{RPYAsMc7amb`}R*F?_GUZ03*YY6&Q$VTR z`G=MIu=Q>;vws4VvRus7L!;UTY)bM}_8t{Dji&|4lj9@vfxhJNLlzWnL@U3<&futOJ%J=qZr9N%F z-NeF~fKu`DPXC@!Zvm+h7_}f{M{vr#AbCN(eNJ~CXbK=SbP9uKy?sIO)OxFzA3Cm6 zxQ}|f4|b3A_J_RMfKMBH+Z8H~a*CV5Gi|*Ei*oE$-`m%e`kM82qo&FHFkYzME~I~p z)LWoy1ad71pS}@*Nt2h=+c$%xDd^KJwh1O1i-P=@ypl@=M6I{WR8T->KlOG$A<_(p zlxzErXg3TVv3{%-AGf@sxBCc_%D54gPukn}jHr9h_x63IzHhzFH%%6YV(T&~My0nv z(a0D#Q0hkk)LgPez5Q6d{ls`W@G2W0_}+dhhR%AsN(EO@FA9~qu!o2^s0Q^GXvq&y z`Wd|iY|3G*c|)_a`cmb-q}-siwl0FMALgG2skaA#BYCvNesw5hnE_jhu%owt$Ot6KXe%@c zh)h>PrB#a$o9C$PT&k@3sz)0&YfHDG4b_#JkP!}F5vJSV9>MdZ>MYW-W~)=N4c9R$CtyNTc9P!hWOsX*fIKAZ<{og1vfA=1J=ZInR+`+$(6osk~Qk> z$dD%idcXP{kM#DR>aD>=fFn?n@m6G8tz@L!rqsJ;!*fMbBqW{^-D>h008hGe`|Z=W!h4ahi)-Wo=1?Cnt{V@ULO>2PaEk)Rp6v`?#2 zadA$o$t;(FBNbFbWE__k^vH0_-dx#0N)b0ioqaAOM#1y4iIf2(8_!^0NoRq9FZfFf z#FHFN3&(V}Cy0>FzNF3?5ELqusU%=g`VlX+BPGm;Pjsrh5C+L7M6<--n+F z(wszZe>zBW0=*selR=vI)7zg8(p*GuXZ%!<=6pK)KZP_`J@?;^G?B4hTy;@vV>Q>d zSp=A}9A;~S{AKaa^f5V>J`u=5ZB_(C%%FM=QgU$vPcAlrWo%v>w=nX*1w^D|uHGh5 zM6A`#f}s8FC^|dOcHZk@35$s8YtlaPMjYSRZH&Z-olVHFk*!wCIMJ4YI}&fBhWLmp z14OWq`?&?%kbUCjD22_>X#pv0t&X&Et;E!9i6VAOX?r5+w$rs73t3)=U1H?6D#$J| zcB(RFKQ`hKg{*U%y4Lv>qD#cwv>~lcr;tTLc6UT6%byM?Wh1vO7@t4eiK1y1w{?MQ zTR<}#xjI&GAn`R*Z^uO>=mwJ6?L8e?j~SxEBoZZ&|FAxE9g65;MMUmW8}DitaaX&D zW_-wsmzck1AjH6Rlnr9!c4Ij!sfi#0%W5ZV!qE3vsP<{F(Ub7hZwm7Y=O+}pRPO|RpKm> z%=W+x@i*?b^)QtI+E_@+V*L9bX42j7&CQiot`4TsgIS{v(XJoD#W_UkS=_3!$Zofz zWqcUd-b-aAmOZRiepUUN7DbMr$PooZvv^oF^H%O)ONdMfW$~_xJ{Cf=R_2G@n`gDG zmBH*Va)0qkfTP{f{!u=L<3w%rkMeP3IL1?X$FW|ddnxn7z-we9cRX~3x_bhLPQVIL z4uDUj%!vie4o^ZQTX28PKX;7X+f%&tp{bp?h-biW@&~~z`A@MGF?XuO2`9UQ^KV~_ zhBk7inIh^m$&pWo>O5`#_zZ3yo>|3v)*91^NS0+&DjFM#N#i?KZ|6Anv-#&=uI20M2qO%H>#8+TE7AJ znSn87&-}dlGe8T|7;pyu)Sm$on9G&%a_VG>_5wCipRewM{o?^jx`HGYXmM+pQmMr_ zMs?P4Uy$U ztomzpgL*KS9_V6;Vb#S-+k`rU08oY-Nw`T@gu-yGH>H(fp~%@*ITJXkI*nxGF&vOzZdrSNa|~B@d!2sm+l3kAGp{EHrAwv ze#6e_HXWA0caU#z5PCFg&>9_;-i*Pf`jx#Tp+dNDS~E5U&C+nJ?PIkCjwn#58>ZmMR6 z&6QoH%GirBP1J71n=w8;mzkz6ju01{9`(N99*N!#zQ+sR@Yi?|+(b7gZsI->6aD=} zag3D6xMfV0$oq;8zAqdj8FB>gD*-Dv{hu<}M2=h(CmiA8woB$6J&DS&Tp3`8$uNlw zP{5*vC8yJq_z@l(_1HWtW*9=);(AUgKZ%cs;`P^es`_Dcu)n@`ji%CouJ1Jdrca{U zoT4fpQ%jGrN9Y%O5~qtY_LX6#nTg?wXQnr6mh#T9yll*}D(rGjlFZp2ipTwvXf(3F zeX~^wB(cmlH7Ym{F*7`=&_U%t3L;D|KbGF+t_$=x7S#i*W7&iyJY4p*T%eP~JEJOVj#2OSqoH%EHJ6=;oqNH^@ zL_VjtLv6xM1|p&5f>+$1za5LbmRbYy>#EG?XkXc4<(0U)zcv2?e>C3OU2O%t+s*9I&f2Byj@Z@mrv zb!rIWQW3QF`{|`xp^85cMeWbdDD4%> zN|6uwdjS?8ObPsF2cBD2sM4-dY^5k}KQ(~zCSIY)Za+I<0RrnnGTI}gI4|?;%C?MG z1x^a>f@Il|$+8D$nI?R$!`=!tnH`Avj^Mr(!v(%u!fJkB1f>ZBIld+b*HXf2ZOk)q zwfy-qgsAX0Y%KP-!&KPhS!hmv1Ieuk?7~DAju6V5jZ4CMC~&S6OA)=b8c`JK-3Ox0 zKHW}~H##Hn+~T}1Gh{-ODiW`skdpm#4<*d(3tx)54q^*omD@^vrrmet)%YN0D6iZ&C2iVh=y=2Bp z0~d%T_s%K!b61*Kq&e@%c;a@cr=Bv02$zv%|5kiaF5c85%|UA;P1-l_I9)QI>zY+j zw#v4>8w`vtUA5fhlzrs5#_wQhE87*rJ@cD`38rfjHwAwN`B#Q!lO5w`R8WfONG`*n z1psFrZEFjHIew=Xw|!#NNn1`9+w9(%1`p8M*DdWB_vQGrw*W zz7k4fhssbIxWD0ly)eyek4@%IU{AEK_3F)pM>~l^snIv)|+NMU|u8nH6(x$4xRQu+*40_d8TWz%! zE!9J-r*A2(%aD+SAP9nlL6As75Cp-HAR;A234*vM5=0vs1pm+Xx7I%AOy-unX5RWg zPaY#@U)EZCt+m(QdwtgL#uazcj9DXu`R>k?QBQtCZ=k}ua~;6BOF4E%#nFwt+~nU~ zm5zszw%~@jLP<>N=d2DZ%&gnZoZCQ^d*pAu9GWEIp3-tH#e2EEeC!OYp@7Ir2*+U-!cX&xSN+ zKd$=|2=ON+a1a$&_tUzVkQ-src>1Z_iTzQ!6A}L0!Xf;E`|=AOq)_ZH*@X*3yo>{6 zVmO?-4EJ7X4!|pos*4Uou$6Qi!dz187QaF1^*3SNVxL57V8_fM@bn>t<`h_%4N9(p z#6wjy9GHaS;1D4jRnFmX;NhX1LnmBBjg8=A>6&8*(V-EH zbpsQ03)7LHLM&u z8Le+EAjTh4kQSP)u;F;!!c#*C4h99D$S@Rzh%bt{Q%Q6r_+CbOWd z(rSguiqdT5%3v2R=Gh$|v|90k;K>W+DpPkAaPdyDSST;5v*eqjDNWI6xUMnQ%0gR- zVdZ&j5w3%48fjg~?nG&`!e=2Gr0&5*7Q90QWkr+vB^51i9Y;|zx~(p5Qq{`3t+1Co z%jk-i>BMF1G9~3tCoY#_s|p5=E)^ezf{%)g3FN%PC4n-Sh+U}?#7S$zJ%*|Iu%rPg zyUjjO2JZ<2DuGmEc%4B~DaZ<~SWB4eU10VxO~p;48pc&vTo&wsyIN|luo8%Mwe(-} zk6acNn9$5r@|h&RR(6+y9m;@qvZ%iXM>Jxc>!jqGya33C{;PiuC~w=vzmU5ta8E4r<99%jN@0XrRCw3(SWA2*Bd*lh6~voOm#@g4JMwUV}t z@Q&*B`Jx)b5WAiEc$w~|Je@Rapb*1jrh<5IYykz|Z}ye4!CaUwaK*prL^+HjXcH(y zC4&r1H5VoKlhn&qw0xh;v?Z1rsk|;Tb4*c363tPOJ{~bs%YUf!f3OQ*@TU`x$>LI_ z!xq5E;-qvs`4yEeM=Hxyae#x0LmX|mpW&L&M4RqsRP<6jI!UoL3`A0|P|Syfd_(D8Wdka2B!VV8;flJ)Enzx zdSfy1=MOOWC-q_S|7Or^rTfr)9c{Ljc)F)TO#b;33}991H2KHNJ$p>~`P1>WvZGY* zy=NAen(Nzua`8%ap8UX!)<}Jy_khj!iEKnRX8QceN6iV5uE-kbtJc1T2WLYe)bz;Mq$g zpwdBtG2($xI;me%YB`LVsfuGzNyX35v5Kb}X~Uxb$~A!noO-cq!bnq-1p~%g(Xatj zAvmy#lUl18PCjI)xF07I%ie3mnEvwx1f-w>U_b*(;~8||jm=fgmnN)00cF?)XN5=` z7em=l zzbs0KcYRYMUD=zYE~^+JYBid%1XE%ctyunag0WhTkSKPVv4jD1vAk|oq)qhY2P%UvH# zZBUCP>k~m2wj@Q^C!;-h@#UoeD<^pv94KmtR9>I9QLTlMXLRnFs`g+|k%^b;=u&b# z8=>1O5}dh3^m=rBUy&fw^FDFbLCl9jfH~A(bB@>1gg*RoqbBxo>A|T!!IZLx>lsWb z&9IS)d@qv8Qj%1QI1oF!T2Ro#G zp8J}UEzzd>8M1j{NdyDtydTuf5HQN=>Bk_tP4n0D{g{hj=kp7B3=B{FK`we;Wlhr{b71u?ZS0_1PVnBYB6Z zT)JXm9~_)+?IO2zG5(DEOn%9EQM^rIVGb_Lc>&`fC~#Z1O@0!yRm;-c$3=rvOQZO6 z>Wj~F&^tYq-WM&9jW2H=<*^_a z!Gl)*eA{0b#a}5b?g){M9jGgsR)^n!5XcUMUYaPflp^-yDvy|sCN9AopR*H?chj!@esIC zw_<H%*RLrrpo5%u(=}fxnM+Wz{B(Q^AtR%4ulO(#>hDPL zJ3~r`F=hTuroo)t7r5kSAB2f(dLm8CxsrJ|g(3gP{lOicpTlTh))OD5xe(Y9sUa!< z%>JLvy$<5RBi+&YD=k3wUkamZz{p$(;OPERjE`0J<2dB~<>*jj+BKTHzJEvV*mCUi zh;(Z-e((jB8C~P2Z<%3*L1M?8^X#bdM`(8hbDEK6A~});jX$ap+X*B29VDS&&V+sw zYS@rOa3ULn_*X#Lwy9(?UF5ZTiYAQt7?#Xo9x3;vdcW8s8oZK@wa|`tG9{(d%|J>0 z<|W1(C^23RDV{hIDV`f=7LjlH?%qOJNz#E(Wx)w3i8oDBfRaB*^Xzo~CLh;+YYFd2 z>Ljxx05y$Rt=34Ix5m~5IXR(5Hk3IN+chOkyg)}TAlWSZ!q$j32~EvKK+TCPZl()O zS3hc?IZ5tI^Q-tyft6`tCEVQv7+sQfmv}J){lB^fx}=CpDdIA7y8~KIPUlbjn&2`A zUP6m@?X@*fCf$3bN}D2P6gghO>~|`&ao~_{r6VE59GF-X9Zn-MwRWddNE7d-{8M}f zz(T@Qb7XQKJvJa>uBELc&klqLEnZ70&|nTEWO26-ne-@MZ})4Kj?W?i#CU^2;?mn_ zw=p6-iCipy>qR(xNFxbTE@WXjGm)IAi%WeQSs2v?5p!@Nvl6kQEFxE_9N>|A3Q6AX z%eh0gkt(NI=_LYd^5qylQqEmEUdBh{U4_QmDF=Fl5bu=t9;?qia^jrGJ5(U zohzfFFtHC3D3M?p6Z8Kj>HG*%EG+6JOw2)vMe!i{;lUg-D04^pxOpUfEC~x5#Y-&5 zQ%VvXlcta=!Gb>S8ZCQ9=bj<^Qt_b(@Y!^J<@gLT96bpPFCI7vn22Ylq$W=4RcP!L z1ARF}O(Eu^%ph%yLwqmE7}Cc0GL1?gZ<$c9BoWao8j$1${&Ij{a82rkL;3fK3J=@m zOeQpvSquIzdcl8%CiV6zYcKehgZ_#V1o7RIO(X)M{1gT@$+OZ*<=03s2Me;ys!5WB zLo?a12=o|23I{nHWI^-;EXZ4sVvz;?TfCPKZ<;)~{iYn`nVKBS{0Jc2;L z?i`EM{)^w9OO`trg3na#dbu%qZ3GTCR#!7n1$mz zDu|D6hScvW^}8IH-AmPj=yG74m=0o-`<$7&-SAvWK69F){IY}O<>`WS{+wqsm^+eO z!kx)Ag~_}pwRYhC-1{2EmJxD8N-{G-SpfS*IT}?!yz7+4`xOPu;4(dy@K_Eg z!%LaKEWSyXgTlDnY%T|2&5D?$PKS1-P9QqFIm$niD@>^ooaHKT2AJt0P+1NrQ?y3t zOI~gOHr(7i&&&?xqZ&YradW3E6$M~-n&K!MbHSK-5g&-VRfBu<510jA-AgqfD=_Sy z$jxWm+$VEWme~QB@A2Vtq_hC8%1e+XFyBQ-Ie4QT`5YTY^|nmAu!O z7a59~&XSm_E^jq+lD-AGC>Z9-!CUf918~U}u~`KJTM*boa#3RiKPLFH{3&zjlZV3! zi&+j+_Q%QogavL~%+`~U`VaQXRoDw)!y~i!YugMig@tHtZ5Y+hSV53iu0mdr8S!nc zpyzesd3Ik=yhc0mqGC3xp!XE%(J2zQjcP9YzEZ!>fyFhd9!tnMmXM2D^L;srnVc_D z>y~R&FH=BAMs;tElvkAS6%wwHk7BJYt&H+_GPLNTS9R`H&arUwnys@0cQY$qL8TN9urMP!xLRP)y zdh^Z(70K7v^#K$6x=kA5ehj6&9N?6Y4)!-GlqfV6Z(4X3ZB)thHbX=x4>;QXINoqR zUV;ff<~|`Gtnzm=(0#H55N_VLr&I>|ApDCULA8NTXv zc3&;Qa%_JM+1}SmxK!Q6eZ2u6HtBen+}D)if-9gAsp}G`qVReu-c8AOce|SR8f`b= z$)=%%C~pt9XG1IxTYI~`+}a_2v5nsjpLecm%uZ&zw5r`zFUINzT@_3 zz(HynHP7$4@0S!{B4o|P`xaipMXHkj2tnSDN_ePYdq4L>w_gcC-jCf+8seXl^=EjP z`B@3aH2a6FSsb7)$Nj02{}K()UzYHB%Jy)WYi3oY>0nF)`~NlkTn+{TzFYQ z5J@giG>4Sp-)b9;O;;>|QNMMEHh@uSDC#ixyOIQRA!`pj(7c%fpGYoM%u*@-qqap) z|5JjS{^yPO(Am)RHU(u&ls|dNW(`k5n3F!4+xzoky=S81SXw~GsaPAN*XQs z8B(-TJSL4iEfm%ZS26PJiWH5)fSXe!Mw2F^_D`=?T!ezopfE@WT@It0vch60tQN-6 zjeu~-4B~)1=TO+Wwhz>RIp?tt*1$Yfk?f%uzCdVY$jwVAtT)u6VF!$PAjmFWy_I_NNL}fRvH|1$4QJ z!q5pcKw&~RofCk`jHG6L;gZ5bDa2UH42ys%Gf8u;?E@v(NKjRh_zG6Jp2B9SFkl2Q zxq%ZmN>~+Ywh35LcrgWxs4z$bO7VU}wGV+nDM20Y7EwrpFeDuqi(VPhWqkjGqMM?-v%3WGObk9#=*M949yy#`p=OlyEIu*~ z1emdu!f>jB@xG`6iYUd;OHvdH8vsJ+2E1sQfd+`eJN8t~K!z6u4khseP_dlCUQuBy zg3O4x$ckzZ3fl~XD7=7Ad@BqlcvWOj5;Ra4&;VDw!9KvSO46YQ$&1pG7Xb{bIl&ZO z!lDcxx_}1tDOQpOr*d+aB6pnisdOPFP)Gp^^{G^N-16gt zNos^Z2rtH((v2~x&=^j@0jDH|WyA@**~ePu(*hxsB=@1PGbAQr&R-HA01e|P48adx zrh?a#k{A4hn&EIN(l|QDGM_6!5cB*JieM@X8h{*v0@!()@izbk6b20d2N#mifFKl> zW74m;KSAEf%p@NMxR^9ew$BXzB1v&dn%p-@hSMNvjVWz0%lFPQnbe2EdPri!<8q~C zW{Q7>ruZdI@hO}+K2!cM$Dbes2kiek-tI2#QOoA7EFc7*>81s4v;1)9D(2{*7@NmE! z_L1&oyz&T+%SRXP`u?f>NQDJ*zC%VwH5mR(zCnZha*=PE`RL(+5n!i7% zDSSixqFV8iCh^S8OMY$+^Y}-PIXd&o<(8RQIkWUvNVCHBnU*tkU&;Qfnx-=;Z(veR zVXtduj^LA5O~h=R!Z^r`oJ9&Mno%nm?_1^%#3=3q(llmN z*a;aB#hs8T#V2N5W5%7BX^2N;C~RcLjmWr>oH!}tPRfMBSc%AJn2fT_qciU0j2lgw zF}8n7#-TKQ3j3#K+?b3zmBP@pOUI{W9IC;mapLrhJ3T2Z8=pa(#ccy zhCV%?eZ8VD(9Q+y2tu(SyHJTQWWR?J_lVJF#j8?CJV`r~l(=`l-VfJB%cJABIBqL5 z^Xs>+^HMk}OZhI*Wg`$XY9 z>TwjBm7fq_0apaJXo$_7C^h#{1?zlNK^V(@x-NFrwMw?ZEiL=Rl45Mh)wV2xTEJEj z)EW|F#pga#jEOL)BWPT1o3SW6Tk~Y>m@%375P_^$lGulW1{E9_M!Z4uFX{#rH`WE(7B{_X319s)fyyz+tcl-rtosu-IOA% zPn=#6SzZ!5W)4tO4glrOv8I4?u-x7V+`i$y*#N~6_=5U)wSeSM!fYU>Map9w#qN(hZT}KdG>FdqJecM6 z!c{jdG_$-QGjqf9Prjax4_B}neqUgfj~N!gSZ5daS&LWO##O39K#hq^=6 z7rYY>;hh+6>j8QvdcB4zT8=%efEI;J@e+9%CU+{mqHHN0O~nADDBhrlON!}-8mU&R zEHo4{Ytn@Y!4R(q2>uBQ%tC>f*`b8#{)`Uh5$>q`RlLteN8ZTJG%}!teI9L{98@Zqr5OkUhSHw| z14lE#w1tSVOxdJxRJLss24+QpM3YM6oGy(TWf=nVZ}8@&9^^uS(%;%~VnR=Y5_*A! zXHgR<5NGGA$vN7B_0AUY@#-`L1PtZ%6AGL_O>7V?dSq@2c~+qZdXgRnO_LKIOhJTt z-=Uzd9fg}nX_=-*U^v0R5N~u;76{~T5?f8_0(HDZt+<5UON|J1;xd7uR^>s%CP}g+ z^v!Oo7V&MvLW5g3LBrs3+E?}mS`;txcR3|6NVq1vC{r?p;DZ(I1eiF@ik_YpK}x7) zMU$E@DM805x=}@=2+7wSVytok>Sj>ZOuHt)DBCcTZ9$ScalIH)wT2#n%~?s&)bQUb zn!rn$KTtA!DNC=G5hr{|6d$UX24SGD&UshNPFHphV}(t83}7nkk4q);h7m6GM(Ohpb} zt@09TCt%h^X%)?62C$V-z=~dj$&HHEO6_7R6{gLaz9jtmkPNt3;)G@&7R?qVF+&lH zb}`#w+ty{N5O~Ypqa;9f##xXy3)f0^2HV<+Cxo}E0rMglSPQrc-Ua8*PQ$sR_kKg+ zTxeIp{nW;1bfPRavlGvz-LqB@b1vZb11l&G`>LSlmHv6M!?^rC$JUEh&`Ub;61y)O zljZFjxh>qV%tj3Jm6NIa@2OAb1zWL3ROM{&WHge%%UU*0++k zl?qZfQGaHCStfsoVA9M~AYwjCBcy7aewWJt$7{{L3fG_~JSinFUSsd; z?EA^{131r*M9x{jS^AX{o=N8tXhugt$477+Z01kLVdPffDD>VTu{vM`9WY;6M!oRgl&2^oNltW(=90`DVHe>n3SV@&=eBQJkb}lO$aeTVD)AG(~(NE{W*mOSN@bB-FkPQkX3E z2D$<5I;3dPFi@M>;OLAvdsU4@X^Cc}YBp87A#mRmkv9D8#mlA$Ij$eLO^ULS69jIG zkaRd~y`GAY^rgTAQ*-)tTt8KYD1K{ti^JtC6paI`8yrq-RCaGNAm?A4ir)S2%;riv zTPM8|B;*Z`s~Er=Fu#>7@HjV+`T{v@pPcbQ6mBz7n-{$mID3amxr6l0f^(C}-6bLzOlYt7k#=p!z6QpC9EP0*ElH)v5cS#Ebfc zH~f+aXy@Ppik}i5H!wXVcE3Ne$BkZEs3hJ~DCjPfM?m+|Sv+i;A*18mgIo@XUlfVv z|8AGlV5yNJq@P=W?`p4G^D*041@m{y9~4cbBV0PQd6ERQF&E=!N1$o(ah$|X_rZL&C~ zQtnqjVNusl0yb&n69QHEE~(f@4(b|#>WxsxZIULs)8N|(bsM4X!$RHKlm7pLy4Cug zZG^gwP$x9g%wr?eZG^gwP`454G=bd+bsM2>Bh>x>1a;SJl+JUP0l+}X(V?X7gu3W~==dRC z{jw?BhWh2WD*emTwH@>?Pt&&PUe>41$RbBH<;(gMX%yH!>w49vNK=C*X4cgfW4vBU z=@Nf3<38ySKRVPeqj(c3ruIYevR^6AYunsjmhgCzcbhh#dx`2L<$a9*%jRsG$)K$+ z9_TeE-9QAE15v%qx=+@p7Bd+{-6A7-YYK_06gdW=lbJFPC}6M^;aZm}}zCYe2{VqET+k$v4>l(Cl$rJ5G*GPxlZ7QTpn=0G21p@@p+ zcU6-oF#JtnX_s~T6s4x=zEea)^ZSU!eXD-pz8zekC^dp|QvZivpX-~B|Xmso0xt$-60R5m$<86E<5)&JW{f|Om6Hs$LwgnmoT? z=NCoPI)90E9vw8C{o&?I6P?Zj+^_QYyqzvI$wn`6sEKVJ`F_LxZ&2xUhoI4Uu={QP zfrSj{!6}j!Y5k#kLJlLuf`Y_r`}gip_xlpwO@8MNZ@@ec>pZIRM}Etec?t{vr@Huv zvYzn~JTH0tn=DSFpGnAf^KT+;&7)N#3wcnC|B5yyhmLW_sG(>S9F0POzvIU$XT=4k zJ65hvloj2~EDD;z`K6AJkY1(=cqVd0|;ttT;B339$Lf$V? z=HyRqPtfB$(+WZf;&k-Hk~-4J=T*n&IWRg+ub!p6XQ3EnZ$7j<af(DU} zRXaLCcPOnfH$f*VJ~GF1S#&=yu*<%HYc@30tp0hd0;M#E`X}DkNHxh!|K!%>A}a{3 zPh2vyi%KVdI)U!zB~}nB8y8{06*>X~K?=G|=_{@>FD3ouR?rnXaRs|5d-A6fsB%uR zf>8Om9J{cjBMy=F2QCHKN9Axd>PO03Rtc5$AXl2MgVQNyMjA~{DSb|pv7im~RcY)8 zIeiVMXG*bC=7SV;oeo~dK~wvb&L=9Nv(m|+C)*8jHFKkxb=@R;LM#SL@od{i;p)c3 zd=Pz4^gA2S?_}ho+LMBVcalyRHWsC9Z}T&)~TPFK`8CuVu$dNs~Z zCTg7Z7&V|)mX{jm{Pxs1sq4LJO*?9w%S??^4l(swM`@FS?pONzX+0X7`~{^=3VJ{% zD!%r0Vo{>Bx!jaC<^Iy%p`=FX#(S(ptuBupVxc)B3~a+0CJ)9xbfWC##FRVHz=0cbYi?bzE!(p|L3s`&j%-XVdgJQPZTLb<{Ma;E4w2(^k+*bdj(VOzKE#>c-?ChB3wFyT3rEki%PWCgvf^ks*a zrrC+&CIzjdxG9y-m9k${L6`|FM^`hcBdN=V0^>5OUQ6Xpc|;i~rA-t(gVrWrFm56$ z_R`?A3gu<$$lgD>5UR+WU9GAGr}%IB6DVrFWi>z57Sou%{@rckvxl}>_Hfu?#i>r4hSV1j`5XDV7PfJ5BA| z9yn6Jt<=)U)+cOR{*_90%2cv7*F@b@PE_O|Q?*C0GmCO3s`;kisT1gZUS?&Zf!!o? zGF8$^2~=+J4hM#%^AAtV$TG6pE>7vH z4dP(40r_)Kd8fmE?fJ|BWu^GzmD1PUav%4R2@dk%@aj{T2n|jhiCdCP5{+P>MI+F( zb_;CiwkW}9b>1mSD*iOha{M0?kRUF_Te?q!U|ZJ3TXBqt1lY%I4Sf-gpp_dE+1%(e ze~1q|fKMD;MO}Ee+)k!Itp-xtmm?Ec=(}PJhs6a~$gjY1 zU{~t6nG`~pj?U*f>zmu3ld05|3Uy#yk-DdmRCj;62dXbu!* z{ECYFswkT{cc45+Qh|dxbg=gv$syoLis8R?2f5z{JulMmp(b(-ui7SA1Qq2+{!oq_ zT7;({svHL8r59#?34D zQQh#f(}mtx&B<17ybojmJEdSJf7{R1js+f25Cixbj2fA##wfMs0#*D1Dt@8a(edwj zi66d{9I8y08%UDK91eV!y$!ID)76_i|ryV!5*hzX(cm6-}HTZXbk1gc^~O-9aC9 zfOo)jC6rm+%#aYKN^!u=@CkFh3u`m$*wx9V&YmUEDl4)Aw62wJmi#E@6RR-ZP@&ZU z22=(Fh4BW}hOTbHU79i0Yz&F~!%a2}=={@ti(pF@bhikxWJg!!poRN?hkB~nAgh`C zf2Ud0-I0c->O@j^CFYMQIEstTr915bnaBJ!BQGu0(FNvFrF&&>Hebi*vv;5QWYO^j zVkJE;02IunsAi_jnXlNSE|rI0e77vh$ahP1aDjysfa?~n2vTLSge!tfa1aC*q-QGm zVe{+qa8fd`f=05JIW+Cq-N!Qm8kn z%Vv|KwP3o$D*lv8c#3>an`al9!~srRbE!^Lz)2^blYN_tex5}Z`FjaPlbVUJH=Cs5 zn!yZ;R%c`qN6-^e%?bkyz)HzV?nOVqe8Mf{VG`R9`G}E;+{+cmlI9pj0mr!K7{ft$ z<|5`*ZamY16{0Lm;_ASrWF7!HF&SH#Ys2!*-Ut9wZ}Acc1s1JN=f^T^C+B1Yr*L9L zxrliSE6}vc0DsmoaD$)TDZjGF_O5EaR>UMU!paROVx!6z3`6z=&C{SEAm~IUawAxz zGW)g>Sk=HmBct$*vZw*9OfgIJZvcpBNw%7Zcp;2YM~`8Wc}nC)n}yoR!RUxr23}#t zV{EJ>V@U!Ck-r**pdPH&PW3r7!pJl(D$MGUSg+w|*ZSjZl@W~AAR|oI##JtZ;To4Y zS4rd$@;obGf_B9;@XvYX8S@Xfc9{f3&WgF8YJx47W$@5Wu z(p_dWNWd1-^n`dQrim*7J^YDvF15@M56e*O!Z`ft#N|R54Out`G`fO|8(?uMkjop| zF6yanxRTE5DfZz7OGbRm(8jB@dlkFT&Q!UWfswq`+1eiKSigZeDhA6pc;_0jh;z1$ zs4pbPHYkVfSdBc-uy-v9uCvwvIaO}|?F686gH`%Q^F?!`Dy_0_iV9pdz>RtQr^WzG z+2cQm1Hs%Bs`v;oS}X?`gZ(jAyj}gxKXXC~UZ*;BhaYh%8NSKqzh0Sq%_|Q1w}5RJ z=y1)Q!TqFw2Edtz_1E1IWBeYC@q6_TxPm2Ia7zQ<05nslgQVc>o(y)KXFO5VE zxR!kSO~$o}53-04^epLhWX>i1C+2avs*!Qq;}MJXtm3mY-=KwfEwyv0r}fV>vT;u~Xxa0E}-5xkw{a-uEb`O*K8T}Xou-~|} z*l%X81^dyg_SugduwP@;g8e9_-{xv0r%D$=0pxr$+_$ zTim0I*>7nzq0~?jhnOsfn?qQ z2qbkG0vk8cdlv{Cw@C{Kq>b%E;L<*AKp@4e3xU+P0|?~o`a&RO1A$z&8Um?t`w++z zHpg!Kym@mosJmnqE5R)q^lqRZ8|2nftMLX7t*YzG78T+bqkl{IlMz74hP zmK7;`5i{I<72^Wk!Xe^?tC-zzX}MeIioIB^AdPg^@=W0sc_8O@SID?M z;s(mylifXw3LuUqWP{r~zleNpW+L>M) z?fn_4e`cDHO8va0E(eAqG@L0tn$n!c$^oP%QuuH;T&Z8M)CW@bfrve#~&DI5hkBg=J}lg>#3SpwIoji0&lUBgk5i=;;tbJyq+a$d$ZC99?jP zavn)C6eRI*>5f2yQaO+2(9!1HQisr>RL++pVjf6$PTg^gavn=EbR&;La(4_t#FZ0- z%T*9ghfkEBOXX)#>UdVB$j?KRA?Sj=+6uFA!KRCsRUy%lR3LCw6``F%yajbgJ26Z8kc!XBY9rD-Q+(6Q zl+>&==1hT&83%Qy;2R{pt2`PLBOzW6@gBYc!_$G7FD11}qQZrjHJ%7*t?Qqk@T$-84h(Dlk?q99>jh`LXu*oYi9RO3H%Y0%gEL<_>J;2{RY~5!iE>MY5iM-z;!Rf?8 zN$+$`WPOMU|7JzgN%KuTPhPLPou?Jc0j)_B?bV3xklvL=dukFYk!x7dR^I1HhKP zS*G$)NtrrR2eQ4SLHe==>9Vxr&p@sYx0dKWR>sK^0wSsWS179~jFS}_CmbbCxW);c zmyw)rnZB~GrVC3J^UK=sN(=h%S~@@bPjY>kLdZvb!e@Pz4y@w9PI}?i;OSD%|B&w~ zhMY7cCFpyDE!J76?3+4K7WCN(gnIwB8w>8OPP;YMSY8aIW~Gb}bGoq-^`cCVjP@Os zPzfk5?a8%Tu|w{ctJ00saU^~pSjmm}aZe-m^IztS$&d+RN5M-oyk1W*(fNtGSUG|m z9x&zbQt#c9bmAm-Pc{Weoqz{Nnc^F(1|t)l$b3B73L2yIK}L9r#DoeWu7Z#Z=7MBU z3XnPh7@lqgu|RNYq7zwzZ%c`n$0>cQ_;M5k8MYf=j^zL(hNcs#Z^?eK28yXRu2Lrw zaE^t)^K`6rz&Q&O-e$l#jnYXbR-BadBF`^Wl`|#Daap-#M4ghiFs-^+(mxoH*%lJQ zCdmm+HIm0wchF>kIJY%{9Kd*~4+B0KP_poH#Ni}8B18TpPrOocKh-!5s3zqBI}*(}{Z}BUI)wwPg{;rQ_Kn1Q_2V?oB27xZbW$2^j3_bpRVD%teV4Q7nr&SFo9P zn?Qs4{L8DNl+yQiwIRU49`OM7fkF!$=RQ`I|KsHUgwH>aFyo(a1Izh8Nuaq;7O||` ze2>^-9iXdeDx06G%Ku;F|FqBVP~1dkvz$M6n+IOpBi@SZqr~a9F2w{8ugbp-`9JIP z4|3Z$Ld%u&Z|k-Up$+y3r1*JHii4~2e}Vj8^!bOlFBlsp?f();>CtcxtmYJG?#ph6 z5>WV+s{BLAzoXB;6PUOo(ZiGcJG<>20m6aAJ&@z2F`E0T+oc2!eyuA1*UA6iKL0TH zbqi{c={Cfd{d%C^K*WcUi>h`v<;d{j2B){3n zm88R2mEXdJ`}_(=_g%M7Isf;Fd*FF+kN5}VHy|u2On6oPA94L3`~3T1FGom&a{ixS zX7>|A!#xNQuIL6o^U)1{UX}kB1&+px7@?#$|!YBqFD@zjsg9sB&=svZ_wV=X*YvP&P=LcH^_;o(xxi;ar>}cub%XJoAl%j%5wu%2I6jH%^77wRdTi}3BJL1&>S1H zd?h{0sgh6}1{7SZk&Qw8+tNWQkQ15Q6Dbj^^Rn2?Tg-t|s_n77;8*_a%p|<;cUoKF_1zb$e z2C=A7O;T?n&$BRm5Z*#@U!9EP9;m7&?RijHA0#URf2$`Lm*N08XZ74vt3JTqIx!8# zTuH?qNf-JH@E%rd12B*E^)=jMpzcv$FMtoFB?{L=XIk%zRjkrP`#c8LiTGZrs^(}5@`tVySxIc&w^G#v1XucM z5{ZXk92+AY=1zBGR^?X;es^Iv|rIN(l+?6wp4$3cHo(}y{rnx`qt zY0N~8{e*gVs+!{>o|-dFK@{#|V=N_5O<;~_1?oOT8@H0as8pK?gieWD|u(cGh@Sv)Bal|-o z3c(J9c7#QEn`&Mn$g^r*s%u@!wI*6MC!%GqYED))FE^96$-=ri4|tW{q&bBxGBDxJ$gfwQ&mmT9ENZMMSWFvaM-{Vo>4W?2JJ80n-TOuAw;X@O!1pl z^IB!RmTNUxHJj2>2u%t3(sHT7A7FPK)dcx&sOnAHbEC3KEtD6ERr4lQlcT79>Xn}D zUEomz19?wVPofkKY#}1NHIh(pmFjt$qGW(}5FseY2GPpjp*s!ote(xfSTh%!Z1tRM zVnB;lXu%3S;oV6+=ZW7c-ARL>J=E>V$_kj(6Xdf%3HSJVvfz`K*65V9;13OaDhu}U zcQ0G0j1H8_DCW!TfqwkyIDq#zW8W7ox?y69jv6WDKy+1+5DfUx9~~&_!&aHxP#=E+ z!AAsl+h%Op9X2dmq7T$+day)i9T#(E?FJ@%lvO!3;;|?{?cY+;*8@wRz=LSw(^S48 z)>P0i#R2glw?rQW_%Pdw4=-8HIp7aGl#_=lJiK&^=+fx;9>;BEA?q@2;32Q(tT1sI zZy^C~PB7?lECdE6&!N!{S`^E|j%hFABXFI4A+nHN+LIk_Q%ENXqbYE*kj5r1R0c)O zvv%3%r*%kc!@ampMOM71APcO+An?EP zZ=7tya1j1evhLHGdZ`-Q#ZEs%;+UguXvCh2helg7zP6;HTS``#bz3nn;h~TWcx&sc zt*x&P{PHgzYX41=r#*8Ui9(pm@DYb^Eu9bPC@RnNDW~@c~r@|!Q{4) zuwVQIP5Hjau`d>p6b>QQ_)fS{$-3=}5)J}@I972xB+d91D42C$;e$^<42t$aPRP%` z=1OJg&}er~?l?5s3#LVeD90+F-aFp8aJ+z!ot^8D8{$lb53yw*8v%$}w+kOUJ=R}i z`)fs+_T^7{&Mg1>CM;S4MZnz zAV_)JOAT&Ml$e#Dpm&tE7ay^RPtM--lYwK_eS;5%^|}Kg70Fy8#cvb7{F`+WD*87D zS-wk_?-sqE6jSD z{(5hOjK`ah@gR4wgp65t2vS8WZ%X936G^k}vv6U9v}l8rV0#EEc?i{5B#eWih3rVN z^f3Pkalh9qnii^3TSKNoGX0igL_t7p!$v*g!w51>{iyAR{U*5w;6>zy zvRp#aW^G)?#=N8{hagzxn4%HdcUc?rl>KrYzTEOyOPVEjOIEiKfK`Sm7{HZ5WBV<{T9X(r4j%p1&{>XN&QDVK=L=TO_ab zg&E}EY-!0P+MnYG#%$rfjl?;AB;F#t1&Q~_pC0-(% z=B;5tf`te_5m>H-FO!g)MHn$Q7Fo|atx;%|!rZy~rHS#Gf{Rz`@JbFNh@PL87#ce) zc3F&gJsq#oN(3tu<+%Y#-XIBM8%qw`ScIX4GX0ZlS^xcujivs6yb(HR2@!5}yIH7M zt;GozD_EUiNrHum29_u|#nQwYtxlA*B=HU}Q+wGuX&w_wvm?_}8Jsp^X?B9v9YVg{ zS%@GXOAjYTGCmyUt4Q}L8&Z@=O&mXl2xF3z$8OAx1Xg)@}t42;{Z)ZkEpDM~QT z5{x4Os}PE*Sf9Fv1cUik=Bc(2!K%dBBp4sr_#ST+vl1Y8DJPTf9LjqnJU*;VoQu#; zug3EtMhX+s3GC}5%}NB{I!nvO`D`p^G^aF+w#Gifca0=wmlSlBaUVc}3rSj|XT+za z)QORs7_Kr&SGh>b6#gm~3kM~-R?dr+QzN*yJvK*aJ%bAzqeTq#%5>orOB+7%C6>4_ zGlP{Y6}*(5y-e#D5+P2lOFtGJzf~%(DU90;q^ohg4n={p76D?d>w%jVetHg#HsgoE zw`u^tl(t&G8D4+-&4N(+&G8g(MxA@J-J1`Nd}8)tyH9;;g|_>$-M2pVincdldz1Rq za&7lxyI+0kHErv1`TEqW+BV5weQKqoew%W9Q!8^Icv$NOfQM*?66Ty0(3#(JwS!Xw zb9#&ow-Pjaye+EUQCHMCgkwjw6F+ZtJ6+I=R! z=$$lVm~z|rjGtxmv&zWr=dxRYinVSKABN2ePo@CIL2lcI_;YGN`~SJmF6CntQp+5+es42^~m z$lRsXnO}i2h7uxus8mkVgh}T*JF~xYDX!P{SE0wRmY~IYx69u6;7mh_UvpnC!H55C z-!EUxFp4R-VJ1Q(&2GxNJNvsMLezGH+s)7rLfmujw(J3^?T+=SfxfhFGAzEOY~Oa@ zbl)z;-_dqC3_3y38=$>3&R@RgzF!jX`H5rW2->}GAx4dKth(SwZeQt=2C>;doNLyK z@m`1uFGP@EZBQxom}fWcXWT7FPj`HOHuu+!tEH#%&%GH@r=ODtpPH{TG_^GF3;k?{ z^&k&T{(2UmxWU=@03A)m!wah-xUbe7=ygjaZXAxl@ukc7Ua04PO$z`$cTf@3qkU2* z{Y^>gr0(E70lb4T5|oYLZ{4A#_^@PjxWgFcX;-wq%D?qR{KUv=u-5%vkD32{CH(R@ z&Ws46-joCAYTX~CQA(x$$hP^2DY^e~hnvy@M}EhLuBWO_>Oax`Bix_d5e--mrleHb zx5gd0NtBLYkD2P_qYzFW?R)tzD3l)U{^EOC1uW`GF!fZd&o_b8kv{&lPTHko zofurFkYkjjnXp$a^d${b6UE+qFFSm{z6Y)6AzMkTq7E z#Rtgt$5p$NIYYi=8Xzj#2}qqKmf|}jfn?QiBno>hq2ojiNU-S~NfjZc@}Pv7YK@u3 z))vOr!b|L)Pc@m0UXT_SiHvM;LPb6ZyN2f^?MM=-nBL_93MkcrN|hlBF4-7ul4jv0 zI$KsVCDSZFX8Xj9Ns`q-Lxl;of}dL82gRl|pd+DXljM@1Q+_eie;d75s@cHHm1z)0 zZe}!uuM*6FBqcA6G_sklW0FA{uCV8EB^l5D7j&^pnYZI9y^}j*8K`1#(a!Jr98Rj$TvNe2`nB4Y}xDq9(Af{}PePO_t zzBqtOSC98w)2j*F0)yBKig~onjky_I`z1Nxyg4BW_=7oI0K8I5c;la<@8hWv7iWc;Kc@Mo zAnL)hOqj=O4u5*2DLWhEfQU17irG0+_p_LwBQrc(5J55Hb%F6*V1B0poZNJdZYYVj-y3dA~8N10fldyf2I&PEXV6Y0TVN*_|FqNSH-J=!JtpE3`a* z=$Dyl!L_>Hb>;yEQQ=JLorngnH(!{uP`tNT=r_`E6hBSihahk^mAjc1BFPKmXT<>N zf1;dWDxSA;p0(0Bc2}qyV!ztNJIw78{Av6&OUDzbAFB4!?@Y$eT}pcwx6r2kbG0{@ zJ%fUI+LMdR6$9)>4v}Y=j1)cZM$umCo)Yr0F`xS0r}`{VGw;{dLKFHeq-F^B7MPOf z-)QgycB2s1F@C5NDxI_YOQo|msC4o=M6Oqx$n_B7A=-N|IJY6gBbEX2U2P)1YoXGq zxw|A-2=r+Cu$;YKwZ(b<{WQc-Ubn<5L`lDK7wj)$q0Mz{_P;HKev{3D~WP|SrcN$b%nQeh;)W0)STa1bM zpon~3iE4{;8;ELZ(x7Nnwt{Nj^-2}0@qMI?pxTmL3sj@(?V}nwTA>>GJ3}?<-z}(i zyET*2%cwS=wFO#^|BH@LjW%`%s@>MJV^o{dvjbG4PHm#vwWr9Xj7H*ypc;MB#i(|B z&vsFby0u0%hDv9s#FQXcthy>NJ5$g!m_(pUG zs@>AFV^q7jX9uW8o!UgTFn&0_A*e>bbTO*kDued?77(bn%noa%7sAf=5 zMzvd6B;`fW#i&N5K(&Q9z!C*{>$?t7jSQd~8P*@w7E7gZJy7kAo*kkZDApmWEgIM< zs?8ioBSE!U`UTZy>laj;qhC<1Szb>9s$HY)fNImU9Z>BmZ3k4Fs_lSkS8F?<+6-+6 zRGU7qf@+lc5kR$t0~1t>;+V}?OV}GGRg2=!lCdqR+Pwq257ow=)()yg8>MPU)uv|( z(=(l*TGWwL?HV3~^+2`RnYK{vt?om$sd_v?wX4D}kK-Ci)n@jnpc<8G7uBZpQoBg~ zCtP^^@1<%}daW0#skVb6{B)O5ZAzbYP>pv84FJ_}vNl2t6QpWXv3*n{M=Mk#|3@Cx zruQjK@3Wq$Wfafv zO<_flao$g;W=>pqBxfV4`A|}|DVuH}s;Nng|9%xzoBpwNq-uO0X(OmMbJG^6M%CL# zHFC5rRO9r9pc;MB#i(}mz;;oMy0u0%hDv9s#U}0RExS=s&>`Dj!|vuzz$H2 zI<<*v$@uB9L8wNrcQL9>lTBUQs7BRWqZ;F)yM#^J3%#VC#a_F1l6>ipqjQ5RI5^eyk@{h0@Vg2 zsMZY%koOMgK2%$HdON7LQ2|m4kV~S%k`JW-c@2-jdZ5~}HWeV3bt9_j@f50s-)RF1 z*vcJV7+0kLNu}CFwb{0aN$L+LRhzwj3XoH+7sppAKrZXGE~;4rK(*$U3XoK>eN>~# ztx%2pA9++;*{iU!*LtE_rwWkC5Z!Q8Thpr}RD0?_g=!kohHA;i)iyRjwWgK|kkr33 zRGV)KkmT!1soMMvRe+ps<9~9M0_58Kx~OJt1l1O8(gM|}di$ux_-}=3ar2t7AyF;orqZ0+l=^ZIRQl~ai?Sr#T0g}@jf@<_hSEE|{ z3Xs&THL5XGIz=^2(MF4cqyRZXdlghm6d-xycMq!B*rD{YRE$!I1KLEjOe<9DSOId;fHqL=sfw){Dz2T`s?B81W~ioLp_+b$ zYWfwbNh+S8nzj>E({_St+D=eS+X<>^J3%#VC#Y7X0C~+vLIDzW&!7P5V;KA|C2Kx& zyVAApRD^5~*?g5Y+O5fpL+8qnzPCECUAu6x%-tdX>QyAA$Ig;wPk8wN) ztud~1C>SDXLt2$AZoZ6AHB=u?&>%utV^oC#^{nOQ0*S@kOb!&}v zjH6DmP9vv+b=s?7U6rz=zgb;n+eXDeyXN&*m?Q&eM}`eRyS5c3eM8oj#C5DR3BGkG ziEHlPDc&^+xsb$7)-QNBMZe(Pbp3*NGyBu?0q-u>cEGy}wH@&80&NGpJ73!Y?=I4I zz`IG>R+;_lQxp4FlqM;x6jnuF@oRYmIIUmCn$OX;~Gz*@Uf(ZWr|rN|U_ty9M1Yw6R0!Wpv{ckx1f} zDq0;+j(0`UN@P)4>3``e4a?Ay9dX_88TYvcN@x6&jTz%??gKd#O0-=-w4mD1$J z{X0~e1jSmT+O)dpj_CM-$89CQk&F6v3Trb3TvD6VuViuhl`KxblEo=VKq8CNb|Q<@ zw$k7?@+u!l!2Cu|)pjC_({>_@)3(08z}ob_6pJcuFC%H?N_sFkNjJcIm#PW1JOj!%KnJkpzUA4U%o+NiG z#k;#*-R^tGdypgvHQ@H_o70;=?RF?T@Y{>QvA42)!|mn1Q6iQA+uw3~yKgBT9S$WM za40E%l0={@5k+7h@0`iJM}7})ec$(f4Syi-lI{m(M}7O!`h6{e*V;63>1y2%i;5+H zSIM;dvE97=xMBPGn}=(n6#j{H->dvb{)AjV!AC7aUC{PZ{cINhjH6ZlBlp))d`)V; zg@;M^3m?M#rv$Y7x!XVgdLn~6fHn+w2UyTLweVN&K=-Q>!32Ko4%`#Zk_Uz`REA-LFtA-;4ji4Ji>epvL{7+Na(hajEw| zzOVm;NB;kDf2w%Xn~?K?1E`!rnjh(os8gH(sd$?Y$)maA(Z0s`+szO*pw|5bujoBI zw*8gezuLQm1{@>5TgP%lvGLRxb3keS|Bu6&i95!cpr)Q6zj-HW4tydm+(wwA$&uO( zLGeadT)Y#i{YL(GdDxvSUvA(Yw_>z8q#TWZHhfRA5Acmrkn&R5`D6nw|7qK4=3w$P zPT*?t^lHD6XUK2lxZrT`Obc>8P7Wu_!x4XzweBpY>MMH`R`!qw%360ewKfNo^5idH zlQt~zH<>aI{(7t6HY-I`91YAWzmexD_jxc)GBo9tQe*Rc`Hj3lXD^^^yixL3_mU+X zP|DHdrFg_gfOn~!?vorJlk8o|=_zH0ettaTd(wvU6;wU=jl>hBIijp}S8;H7=?Z1ac1 z${X+kh(K?4#c$-zs@%8e`pK8l{mJ1lqx)yMB00dnlCO7Gu+^Nzkf6O;?j~FpyT6mhF=mfKB*_x`;DC5 z7gIaVKc#5uNcc)JvBSN+`Te8cpHY>cq2HIvfhGPcaafr@#mm_^{hUre$LZ(gyb^zw zJa#WyOuZL5_>$b!m;L_HCoii7%XB^5)$_MZc6W-R#}V^fDX*0)(n3TwUd0OYHJy4r zjc0oII+a^R3-MDK{Qh0t7oYT;|7VDiSCY@lf9b4-%xcwbHPv|2+|J{!lA-eN;C#M_ zvr7EVCw~9lR@%31lv2ZYwD*o5kc6_<-n({d1FZ3uU#ph9r;ERz#*w9aPp&QN;))wf zd8Kb;oyOb~P|)xc4`d9%l3eI1VL%b(lR zgWt%j`YL{&xvV$;m*%qm%&0tmruJ>^u^u0oe*93UfSm*|m4kZedY(r-X+M5AJwZ*M zfEPx@f;hUoKvA9WL2uqJi{9OQdHm2XEj(Z1{1X53lc;x-YKUw3rUV}U?-oexjqMR1t*;35&oxSW4Y$yy{xh{VlRbk1oLjQ+X1CX#^dSHZH_EKQWC2DfZ4icyr?^ps$Vjz|xWc^Ng67>wgKx4MN+=5U##|q$iWIPRrYX& zc}s*hOgB6DjU>ZumVsb+wMoG9l-yz77D9n*-ad%fWsqsDMaG-o*YVEvek1XhnZjeH zpD#YGou~C#CJXTk`o?#u+R*A<3VvRy#LSc5NKou<6eK*4I?9rtL&=QriivX*+>6Z6~l+OQWz8my>_W{0Kf?#b`RDm@r)h?`!CYidw0c%vfeOP1sw}LhD zcLr&9#jr-D zW+N!;wcfBs24Ia08vtu8%dZ!#)piVPwVlBlwd%~uZB-4QMp$vReu1?$`UTe3>K9mR z>_wjkSbM#O?Eq^lv>jmW6>SGtTdwT@Yp-cLz}l)6|mM!Xg8kmBYCzvlB}u5NEynoHb2_})_9lDfMW{tGZk2)dTqlRDO6?BKjr&XOgv*8p?vTSCb9CBiw0VZE>yz ztWp2YU~Mt#zT0NV*OihrsB6O{YiiPo!W%8r5@He zy&T1|j8-tyf7Yb$K*PFI^04D{9(>HR{$H))+sX!J19| z%dlopP=>V?HQfPgR0>#QC1iaiYh(b{$guvfHoDjP!P@IJ9l{zY)>^Vw6_IURP3Ne_ z!lR*@euZlK6{_i1sHW#PK{eS8Ca9+E1l6>ipqjQ5RMU2XYT8avt!EXgeIy)`jIHsg zmMuha%x2t`ZvIErbf3lAoO6(=wH1+Vqs5vm)+VP5lRJyZ)}h7P>pTYQVX-zd9UsW^ za$w8g+5buqt?Mn;mh17vV(pdiyP{`dl^l>XRXHG`Qteu-jkAbsr2cRgYva~0BAaSU z@a!mV)Fjk`X9qw#K?f{&wl(0ybYVhE=Oa|HeTy}kJZjzG+2sGoTda-E7RF|~%3>`U zq8HPZ8y1mmLWdFA9!*f~N}<}6|1*oVl^W8rSbH_uc+JKJ%88?MEiBfke`gkJYs~Qo z`MT20|C$YTI-({GipJ*Rxf<@WSX;fW(~(!LjaaNTilaz%4=QZ;T9eUHY$td&^OLKH#r@7&6-K?pmykkXRr27M^?9RI?~EwjoZ^57Hh9|;%sDPN6tp56Y7Yq zgJ)0oN^G3o5Q{bXq>C-qUTfdk2z5jMaGl`U43*9-)>dkY7L*P3^s!gASbHsTHo_af zg+gJM1<$szL+Jr<&|j{g8e*l6EY|o&Oy~wT|F3l7WMp|qPDZE``h~57XNU2_=?$@1 zqhGq%Vr@nHPDZF(Yl}6;4|;(e2hY}sDO;?)qP?=k+KMVCBVA{)My0S=TeJQSM#zB0 z8X5kfd-D(UBp;2K?(@$hEtDXugJ;)(YLB%Fp54k~?e&hGi-2OSE!L_~t*J++sMg4` zqfl+6enGX-`UTa->K9ZS*MlApsP;jQ?SN|UYCE9XJK7GY_O`YIs=cr6fNJk)JD}Ry zTm{uA^CKWto7kfpQSH1Q-G^#xH=>#;KmN$=>wf5dR5lIzF{2k$8;P<0heEXvY^s-+ zVxy+PzoghIJGBFJG!+jojB69sp6fnTdz*R*)!qreJdTeD)m}(foQqJYc2R9Muc|>2 zsXrX5;kjjf{6wm@gQ8{W3aX7;*H0wx5E=lg&55u&qj4c38&zx{)yOewT~s6gM;_J2 zXA0xj*H2`p&P9?Ty5XqS)S-{ahyO#UwpK%0sP%kaA<JmSt3H z%6X|;5P+$%Y9pwIxV0M9sCxUTMvhjfM*hxFjrw0(rSKUZZShILp; zMq($Jy%BY5jcN>)&QOhMSrw|;gsqHf@0*D^w~{x0x1id)Hg+hzjB0!$5~&)b(h;ih zjpzAIEigIU*{|Ht0h zz*{w?fBfuy_C5D@?~M};mmAhrxS`RQrjo{VsHZ2qBcB z5JE!;A>=(|${)z{Fe0}>b5MZ z(SKHjYBuyQpqfEJ0oA^V9t3MyT!c!2YU4`s4zO9Q^Z2Xb_lj>U9EQj1bLRK@Z0xT_ z22hO*tB-0UQ>%w+-|>Y?4Qjr4%dW@!b{#HHH$0i~9*S&EAmn`La4we>6cN$}0jL{e|Ai`k!$QW%7z=0Vq@el{frB%+{Ugd8*bt@X_-vm+L&3K2sb5u z(`;Dnsuk7DHFJNLHz9nv8L2nRhMT+1mHJLgy#=Ya$cB#phzeck?zGhDa7$8enUyMu zQr~5%Tada%Hr&c>rKqh@61mG#mxbGqdYf!m<7$)|BQG^+N$Qr_a9g*nqPBC}xhYER zHdYcWz$N%rwoCToJhsn__QF;KMCv1M`z!(^l+c=>)>))SexaZp-Hyu1jk*JOYjjS( zRL(XeYm*Isg~kZ_BW;zl9YO7~$d0sE&`xeA<>W4J%T2DFX*5X4xiiUj&W0UbN7o@6 z{#rSAA!rxmN8E1|)X8;HPM!+C=DDDpWno4+cO}`bSp-RTbD3<|Svk89)Fq1|Nv(o* zce^Vm&ydczf$F?VS|o_sTkT48T8_8?V{Z1_9GO7_koT|&lv3EDRs_Jj%v+RyE$ zj6A>gVKQ^n2)`%e{-oMJ%Yxm#-0!pD0m^tFK?i2TgHReF=wNrSGUBFs0B)*L8yrH$ zKaeWcBsnA-_EyHj2s$i_!R~NJ&=KwkWqinYz42a+n}Adgs|_9|Ak8m#Z6^xr!)Bi> zY9)URk7V;mgk4Eh<97=G#NBa}`;$BBq%e{wIof5jVP6vUZR>ZB{Hv3ll(u_#Oy-R6 zSm(QAvrM5p&iQ)+g9%vh1a^+EMth{h<&cWCk|#-Z@|f^M_vi2=X^#As>5yKCz=->6 zEGpf@C zuJf`?dBh9{)UkUOXS>9X-d%iG0^jkFO6maZH4T#Ajv~DhH;{;dM7Xor7_1G2%u zW?S0XUO3334EWCtGPMyl27BG4HezBU=N809O5FJj!7t1gG%U%3Wr*^+A>J{PAK~a1 zP}!k6!cdOTBQrA*UZ}kb2_EJ-Kzg`#hZ8v>$q8Phy^DxsV&ui1^hQeD2qH(?`E*Bm zgi4?}f&|H>q`FM;mk~e8;@gKzfVA^P8>GaIBx1B`cR3s5w4o3b6rzwhmUfOO36je^ z>5p9Dg@}%@F^cm=cEr=%$g4bLM{<%KDRI|uzBlCyVo~~BXmGzT?<8cqov#8#wlj zmZUq=9}x{RrsT(e4x?rz$6kAv|k|yvIW(B)nI< z_YyhH&Z;}J7zvn4z;p{}uL+HIW$stReMHPqJKoR6Q`%6-JVhyFzNO`>2Jko4K=1)i z1UO9)*bNa8TIXR80K_y)$zXOk!m3 zWg-EBMG;~N(jr_7t8#B7MpTVH z1(lKX`KQB)9QzXwsS)=H$NtpwJGoE2#);@ke5N8kqeKRBpL^05DREy=;%io7_wY*v zd`Z9@3uv#oksP9m?$$ae*iUvtm9&IJakI-CJ zSSKb(60n4T&z0q05*|T*NHvCEX z+JZjM@|Bc%WQ0CqNvlvTQN{rzU{Fd@ZNa2xTT*NIHlFOtK`Ywivn& zwxo~wj!;vSV@z_cB|Vn}h>ws|Tj%@kd`n7?A=DJ)I1M#pC&X&#jEsLv5G~0{wB!OG zwGwuRGJJl`ZmRA~rzGG)0_Ipi`%oifHT!Ty3?pKmZsXx>%-4oOSpB7jd6r~z7cnHh z*eBFo%rR_KJ%SXAtgudE+!A*Q0iP=iXiLDQWVy_;Tt*ffNRK4N;v^C%YRkucN1(Ll z5)7EoIAQN{Qlf7{`P#bDcUM}{CrtIkq}LeyG8QN4C=y&{Nwsyg^iEXjlTtlFq)erz z!)q+*H6$2qNwqabDkw_IO-JZcmb6UbD3p3F3C3DdZH@EYI7|Ap?+7)CElyO;sDaLP zI_v95cfF5p3X?k79Z%enxK$X~^E#1u3c@KTF|(6hAekASH<3w$A~%ub-76F5fABt0 zKtVkvL^kDCKmEn+`f5O|Mmp%G@IvtsOhF69-EOfJ;w;opc%cwESu!Y64jItjiZ8kV|J2dGttWg0lSGGtT|&{iPI zYC~P3Ts){Ocbf`gF|Y}`+Ot{VDr)>`Q#yy0>@;?bYy9c#tVaS6t0O-QkUP1c#%~j@ zPiIeOc*Hd!xJecbkqulr8*Z3s4?6{}X%<}inL;*l8>xaDyA6d)RKF!dEUs6;Fojwlw~vnbKi%&Z`B@BywuunpcNgTQhBK&9n_^x8Xe=U9uVqsL29P zfosVSQ16Uw3EEZ!6}at4M`PCby?~~t5FWJ~0U)2VF&g* zh?%({JF^{ORQlYvfcF}|GW@lE%D}0>?ZP{ppI`HSRN%ppwxjz^m~oxLU0ufQS{v?0 z>vRUDI_JVJ`LXxXzpjf!hREL=#0p$3qfkHN;4IJWo(;Pa)YZ_N26xClCc-@^a!)8} z57(_4i0a-Y(ok}cl;?gck_y~joIz4u*@b(Pr3YC=P(9q<)!{yFAEe0if=Yl=f!i0{ zXA_)?I_rMyp!*ng*8NGaUt9kKez3Tmq-*J5D$n(TsR%qkp92UwkRYK|WQ2MRw&=BJckHN$ixI-Bc(_i)N!P@Pl@GwGq^AhIgFnxkJ)YYcn?H?Y_ z{^5+8eRsH+73^|{cMJP)^}s21`c%VIftZSi3gu1k!#}bACu1!3U3iprM-(ABrK8=^ z_J$7uGa-PARH3wSGV#~M`G?>LWa#}Rg%Qrqc(e8<;c zOLu&985v)zwN7B{YqjbuX~_5*B|x)3^QnXbpGa{hxsz)AS?v6U3@5hr`|z;e93FtqGu@j zEJdG1^Z-Q%s9IyNDtj*PclOmF82JK- zFKUwW_*I)kM;xUR&sY5UgpV}Mf`piFNL*iCP)s zH6Fpk7_pIQxCAJpHor)P7yw4i4h06LMmbCy!od;wmLKIwjWU1-+xj!rEZP{M{Ff^D zQuc;L2OQ=>i-ikt83$Fj9l-}~B@`IWBEN>1u;bhfzaarJPri zQ+?+ueov3w7=gyC<5RgtS?J)S*;khzqb%2ubecBCurWPB>G< z!DB6t^`vPYD49PK8gN{EF4GMz1A|Kjxz~9&YXnhyb2NHj+;9d1gzfpU~Qe(tWhqt_97gAOZY$~o$0ASmHC(v2X{01WMrcu%!dg851Sk&<8{3Bb_+ z9PN-;NP<@U3zw1rEQL>RCBY;QAkBBg+k~Z2N5l@95R%>zx9?;XBvw`XPUbi6h&tv} z6$!5f#;a4}o_MDRuttSpmgJ+MR4${71+WHSEcd83?zSSVIj49qto6iuqMmrK2gyb~ zk)!arP52mHKHxPls^t^{L)FRo%Lk`Epuh(xd68O18<`jV#;v}(b{`vv5 zQBR!g!L=lOh=iXr1Qgz8MY;Tq1hk;sfNkLdXAayF@Cc3hsKOtmwZGFrm7p$3g2ybu zVjBJBXM0OY1=eb+xA;9B zL0sPY(aYs+#lB7G3}s{ZJCAG{sshsq!SuWAYqSbY2avUW?GM0eo^jT)PCzZ5&Wfi4 zaN0hfIWe^dQ)j{H%nVN~9bk9O3a3Bv#L)bG=oQ8UBw0uj8q*6G*~Ux*>Hws+4`l&h z%>y919t-0JdQDoMv6Ad~clmssVPWzCymhfwr-&C89^ltPyhH)JFz(sd+ThzkvbE`~ z=I{|yL>uk32nXv984T#~HIeA9BHRG1wap!U zrO5H>97-@j2>@LZ45bQCDz7>c+-f)6tw|7<1n@1?I-CR-`PRQLvWi&=v(+wOZ2;Bk zi>!uv3DNBcKk8tY`0RtTm$I*SG(5|@&eF1R85^_d%?XX3?bK(cJ@GQgA<^F2ARXZ4(;!CHT2I zPJE3e7Vl}e3EsxIDKtfgc{~r>n zHHwi?4RW3a5A@kx(u8gON~$ z6(gYvo26^}JoohKBB3rvF%s%>{3MW2XIG4bI=df$gnIoKBcVnB>k0|;gMtPmq!a$+ zkx(717zx$E);<#ID8)#qqckAlk7Fd9@L!LF@frMBNO*Ar68>-_;e`!IxU`i}kG=*Z z%v%Z78VyLe8dgGkW9lP*Y$dceriQgEwh}fVAs>iW*Gj1NZ9qc$(@(=nsLRoSgsWvG zR8#$zAz^+{(13&uNSL=0+6%78O4xvenMFU=ywL_Lp=-}1($$|g+F&L8H|C8FY(T;W zB-E1R%bz%^7eNCOHXz}DeB!7&VgnL3AR$)6JK?4#tAmNXXgx^+s zZ}|P2n;Bh#6+L_vQ?5}Kr^NCu zVFeYcbQP{LCuhXS`C;1F2T}LTG{XUL+Bi1TZao|X)3MZ|u(CXMN9=+#qK7l$hOTK& z&WJ_%HzNPWQT{5o5t1oYh5Vb~$GAxr^_ES$gw^D4=Biz@9DazK73JTY{98o%9iDny zI9JFY;; zw|x%(!d6B3e@^}#qWrDh&v7tpUC93nR9=2z8ZBMIUy{F#`=x7>lO{`1{^6wty?}|#x?yhSge>b;lth>@B+>`v>aUATPljurO{=LY*ca*<} z+sp0kdKB{i4mZQ!p}T_5V7M>&d%AsH&zwY8it_)S{QF1w5nFNlyIzI-2cXJwKoa&iDH%6}yJ z{}kmv${i_9l{kM3y#4}rbT-U7q*XFA)x(d$vGZ8h7bk^d+_CQP^xcDevYTgLHay-P zAD)nDfy-Xta#?xnA*6DGJ25>@em<=d4oOX|FZZ1kRZcQR6>axJU8P@+iI^w5Q)liOGqU~I=l1gJdVxUadz*W^bN;U?0=_OPB$crvLlQX(N8Ray$y(+Oi{&X41rf_D=cI1y4ltYn3G>^IH zgrdqKo)S%p#Qo4t3LiScF80#j3`s^)CN)zsU0GcrKVKZ@68Otyah0RCmnrjQ?BRKY zbKd1%=1tZ13NO=0(kPe94NlT1mqxWU1DDm-raa2~4M$=5FJGZO1EmJbM#7 zHv!*vFEd}Yz0u1wmV+9;Yd4x!%JorgaZa1)S#4wIG(5;vi#BpiOW>MDZ70bq4gWN} z)T$$~l=`-94PtOWO*|YI*A_oD!tRJ_Yts_tp_Z=Ps6uiU^wfpGGFK{?)5SinrGNiu4e(xXIafMyx$zm?vZnvgiRjs z(nId`XMaX@wRod0c1qI8{O)v#ET?0=&nv(n!IH2xCy)b)3O79xmog4t!eP zWB7{UXO@2VZagUukkzQCj(MjrUCMYtJw3@_C*hYl=|z?UMeX8 z{$TPWjcWUn+{17Jv)bYt7T_JG>##uu)w9`v#j+`xVXEG1>eR1$c!A;dg@2bzq^EEP z;^6g0R6AU|0-U?#yiQwo&0B7$9n<*un=2KQ>hNvJpw!o{vwXP%yt(A=8rAL{Id|d0 zWwpbzE5Nr)wM$oImLxQpFM(TE7I!Wx8@qCuGRg;@T(~Y*Wfypv4duY~p(HeMAEB}eE{HJo!!iNigu4?&feO6T4u5#T9kVY|wS$kf5 zA*B?&xU9BcDptZC>B{w_`+#go0_~D4E?rdipNjn_dw6r<$MubunW)Mx(S`q4?9_$e z3C>^Xxm5OBd39N3aqJ3k?LrJnmF*$dt^}@KR2GLW{>;m(S`JO$BWtGM4E5Pwfm94BmnghSD1fE~gHlebypO*=loaf`&m6@u_4)HS^gvgYb zV;3%6xP4h=apfB7TV-QcE|i>9iJo%g!c$q5MU8|%^XaOV=hnqVmF*$VEoP-t9sDA# zWsxBv>=NH9iys%R$yV9&ij33Dy#zj7(k7v@xN8M@{gEqtO~89bmBrIPt=V^Ik>H`l z#>l9$COBf1#Se>#X1~@Ytft_LO@tk6QBaJ$s!3UT()C2dL(nnr}X|y~ulkl}w_#2%4o4$J!9U1q!zkbD{YX2F( z|N3V%PlQ2ck&l{Z;7a<2DVHKaO6b>#9}4TtPqITof*q2ODeaJW$guK^5aHY!1qTT@nRlMXl;sm<1gaXRcTL9$=&x#{u| z-0isDe!kzR5r511ud*ntXgi_cqWz*&(Pq*M8qpxF5_^PgsP(U08~3YR*w(deTvmzP z5#6F4m5qcwrRtd;G7=>kQtk}??VN)eJ2oztu!9FVrrfW&meJlW?Cruu)){w)A-%AZ z@G%=^T&7F7EBm{-UEOXuxUq8tOw#jAxh{n~wWQfy&?v2$u3b==@lfgP=Jv>ih|Hi9 z!@ZVr87VXIgqSw;!$jB}X8CPq%B5`X<+>x^xmS!UDM{6Im-e}(+naPfGBcD8@lM2N zewR+FL1C}Dl#c|QWl57zeqC1vJO8x$w5vg;$(a7l!g5=a}w}r%AJx$C(tH4+ix0Wi=+K2xA4I&e~gi5N9~2M+z`D$lv39b$zH zk?3diEI41pDo#D$3onr73y@m76rFP7Q0Y)fx!~q*q&iFt$`DB$+BjiPCdNlPhFFwX zDmqLmE}6mV1+ZvZESjokQ9TynRFUUdj1Ec9Aj$HjCEb|NpADfGq%pa z^gwAU52bf{pr~@epsA%86p<7ZJ=0$wqO%~^y{i3GPoG-uGx)rZO0h}<`wzqpV$68-VW;v~d@3`%%n)CYnTjD3bQERsN0J#{ zdU&JEVo$i40ywh}Cy*)LB$wWtz-BhWOet^zpU>q_g0nHqUseKp{ zb6G3X@G%8IW+Qa82>4L?9|>H&#Fdi!kRtTER?vGYC?Z6-4|tT~hYI>Y z5s}h|$WRdr1c)suh@sv4oR0Ja^%NmB1GyBVxpqme6V2U8JjrioAd)&SwH5S@BEDgF ziOFFq0z&+k)tS-e*ED>-&a@#z&J;t=c1apN1@|HYsf~}>Sj0w4pE@(}OfdRv$I+|A zmKgm)Eb2^)I;Z%;&J^HjLY7eH7`Db)9RSP}d>QLiS_D`*-s(KT;B!J;=Nqgb z;F3or>ETKK#G4bXAjmQWUZQ*~u(Sxk@>Xkc&;s^+EnjEa@O7nroq#FY5GjLDDWKT2 z!{|}e8SqE|9#M}%>M{X_O6pSQ1DW!GW!I?GA|{JI)zp8N7$z7R^(Z(r0f!=;Y#Hr% zQ`m(-`BQ`;s5%DYmb-iyM@KA!Ny&IG@jxj@1V&R3Dc}FZq89Ohmi1G{Ifkoqlu_O3 zC0|(TNm6~9h%^_mY4in!cqDh=(-ed%VXn*sbvIZvK>$o@-Hov$!wMKR1)^p{`1Da< zRQi~o{_;_tZYU-zZU!a1yUUmNd?O(yWF<<^i9=WMHYixrL1wzOFzCHAru$G&w3eDK?zwu3;U(RCi+|s z?zs(61$7&OcTHSVw_f^^-6%K)JPuwKZp35A&@KzsVUA-R1xkYC^2;X>!tx2~Fq^qe z+-CF^J;~aH3w7!X>6%rf2kYGCS+H)4&}AyaQ1pfwj`EwkEnV}hh)qRo1*UFI+O4x- z+BS+{tpp)l!fmM@f(#i?bPBC;Nu_VeFs`nyAKITS5&qmZvd7hit!SyAb0RzNe{0vu zwa$TTvc&zOI^1#Tv4;(jc4YYBw@Ne%zh{#xwJxEh4(BInhqjKT5wgHlyYv@tCnfr+ zI_$(jI=Gz#SCAF+mG2NgkR6P?esRsE(4e|*Masu_+BNISbd$>K*lP|(H zmw{q_OSFl2?iKD0H2LYb#_Ou~$ka)~GZh=-v?Rj5N-p5;X^S8z$YeVcNVM#$S(kQQ zN%N@=`6-9w6A-2JV$ak&4+szB(jJ6`4PK(xwe(L2Kl8z-&*CS+A#AhW!5?%^hmz}1 zmP2s86?B+8OlNyIWOXaHE<{9q?>7D9jeSZ zg`fKz`*W*v8Vu_0{*n#iA6qN2I!xBio=|QkRU&spZnVWN?JR&O|23H%%)XWTtpB<1I}^h*knm z=}XShLI*S`CBv>o0zxThC@TcwPZ4)UQjsh}BP$-z6W_C((mz%7 zKPh@P<3WE}LgL1~SB!)uju$mWw?uO>{F?VMwvf1UgG%g0raPTAsFcEHmkk+#^QVXh zwVHvt8dwB8$)!s-^TV=%x@chodM(&A-4ic8Vxo?0JO-M8NuDTahE^`fVT%Kkq9-TH z<2uxn^z66PGEZR|^@K?&Kq(6;35rBc&#HgURQOExo)alq`12woRSO=1s9wmoc~$t0 z+T|PCWxfrtK`5Ytyf2EFASfLOdP)IL*^p8DY|)dfb1&-!tBwjXrQoKlSn5^jF0%U? z2l$)~788{6VurJQL*arZIO;4DaRn)WnJayWN8AJJq_C&Ov?Gpzgs$<^uh2m}y;4T| znGt%WjPXGQ^^7ro^iI+EcWx5Q;a(hTCbqGRf5&P3JI=m<9sLUio-2@6Jif!;ZNb<$X(XfU<-URrT&W7VRvwK$#%)!6+Bt)_A@h+0+|%n zw5-sDKbhC2+7Z9UE{ZUA(aB6RcA1thxp#P`NFqEE01KEbBn`;t1gqD}d}!UdmY%iqo7g1@LM^P*kws{B_AR&kM8ESznY zv3VES^?q4Le%Y=|G$4P)k4NOM3a&$l^;M%(HeUB@VNovTn>yGW{WI4GOx;|L_?Cdt z&GFq^81mj$+&tgC?T7F9Zk`{$>pM2yrGWPoHQ#sd`EEYh-d9E6S4DLq+*Kba{zKn= zz(b7q1-@HgvB{{1E@GulRrwto-2Y)E!Vwg0@|f3q{1Yh}HeORucwN@Rrl9P#_~ z!(S9u*=xo(ep_WP3!Ie!WwuUU)69@1FKNXFTPCkcYk)L`%WNS$mgZo$3O=(1@mR)! zwH&mHL#2M!bB%$s^&m4QOV$Es9&FacZIBB$2#bS>T1daxSV zzoVDK(9{Tl__> z26{^vy(x9kvULC*1~H}P9_q?Hq?)*}JE^sbol@^b*?VP;+X(96dMNcPJ{B@QTamg7 zf=d{|DRt2@cFeHUGIpfqF5E}ov`C!>=Mq||ZhxijMcEOxDTw)$O3h8WzdkRKx-2}1 z)B-uBK7`aFH~5U8L*1cD{kqtWZ%=&w;~D*w7xpGqZ-Y5V?(jnI(tUFTQAbG8S9bv; zpFWx2z;z|=k6F;}NYL(2u21^yvsl88ZkVS#zY~0ypq%S3Nrp_fWU?g_Esx1!@+t%A zh6ONPi90?E*0FLOmM(SiKNIxlENFM4f^12I1QeIkN(d}b*V6B#4`Qq)rMG;bLjKC$ zU$fBN$)Me_u3!2^#(kCWU5PuTLxS-dcNs&rQ)!P=J0yb4mMnvi&@u=*@3?kMFi2qa zI^7mL$c)wv*q=()k=Yd%w__oM{^?;1Kxun~b2(VgZsqgf9TMn50DW5H zjt?4a*fQ%wJg&tB3XTvDTbCG*zagGol3^-yxJ}cHZD1EMFxQ#uh!-n%giK*jUQS$h ziDzbBoda}N0^QlFc36)_dTu0BrZ|Voy|_MC#PcxIk8~x32hpZlu_una(#!nIgh#Gq zOru2#3g)ibWo=zx9JR_!=Oe9-dM!sCtFfzajz4?WaY?T8GSdPvT?uBctV~?|X%glH zA`-G`l@y_zB5o3>=_v=zP0*~%LPz3_#VTZUq-jBBqO4r(-b@Z-JWavmNRt#OI=f9~ zD=^av=D5r($^c6R=Kz1#5?;`yassA&#Qir=of%gyy zx!vo@o;8!ts|s9ddga}myTFavmC>`0@_5fCc-iVkZ!dgH0C1u=9qS>L@DRHXn`uiC z(* zPbp);@?{ambjtWPqa2vXGCG;V60tcayZI{uJ@Lrd#TW3{qYJ z#Vli)fRC^4#J_17=P2VGc40pL6!8`fVi_6B@RWH^8TBMx;EM!Hn1`7a|IPCv_=|cl z|DLnern$|-Xkw#B2Tj@2Tn|i2TO#5cXIyR;(-in{AxkE%p^UT7I>MGc={z# zpx{S*!xcd!; z2eF?S9msOVW0&FK*=83LIS%smb~{HA(fms{SW`K(03n#CmW2snNeSoMD~8kzQA-%1 zVoVAs`g~@91+t+Pts`e0*zN_8m7BMSP3`UQ)e^T%Su2+ z82MAgjUqnmqpCb{7PlSa`1>R(?Rsq zsems@{CIRjc-YO%0><*8WPdVdO(tljU--fdWekeG@kO2`kY|U)XYfrc{uP2In70`X zlps-_*Xp|}Zl)3!jA7B-O%+!m=z2ksFK{dK|RvmaE|T)ffcx#a)6fw_a_yJ~@oL za?FNoVowL>wMt+e%Y2pyH_R}`Y07LJd8ui8Bj)aGlmoba<~FVktH`_wX0c6j0N180 zn#vQY0?hK|nTA2EncJ*(DYSBqZ<+xE933Il5w=vR&0Xl4=fW1+-pXz1w#tQDvjpDO zwc$1#f!T_#CMTpKb284nZRR6QTqMKx%vzKanzl7{@#i@vF1B(z)P}9eY;zTJaMX^> z=+JRJtX%IvPfE^G;5Kzo+wGV}*e-`vtF3Eao40DY4mkl-oYfCIW`Eb7jyX`R=ZZ+daoZ-fUyca@}&w5$x*rs15fd zYrRidoHYpd$~>RIrHtfqDC?06f2ZwzFlgBhaREOun zBedPe9TvHa9pV018y-nkGfd^equfz(*3$6k%ohok0U&u_ceLx9!%d9sV_nuAn`5@# zG48n9@OZLfka8#FG)FJaS{D9U6+ThPPr^KPQZDZvcA~k5;Td*vEz|F`$aX(>N=~!y z;;fCZJJFv`SJuC|)67py+x@|k{yDM88L&ugSY&957g-y?yd~=zM3VYCV(>#cP zi5W8X#5GGn4!U2bTV^2PVZnfw^-^I_0yq(`;sq1Tps>eP*b`y}2LJKuU2$Qhvi8ts zxM7hQEC3dsAq}P;_8H+mE&r>WPyjf1j>4W-VPF72@B$Hx{AcBBR;HP8+|%$qnO}-$ z#pN*UXrG}zT<|h^UJ(m0n6G8LPhkx78TY?NgpKv%nl)mGue+S_J(=fdOwRy6#{ggZ z4DK1zzs3IBHsF7o!se;4cQm5MmXp%}{@r}d${EG$H0N7pM(_;k-zUunw$HGZ;r)l~ zGg!AFdoAO43j0`Ncg!|94ciyy3#(x0t|tMbbZWvdeUS#}IqWprXL!zlJszGjP+##1 zSN2G#)L@)P!q=9Wk@!C~7|$^bS78jbzm{Dlr_nbf^KUuLPbr5&1cc;s@LQxi;iJmwg7`jK|OOYckt zlnXD=OtmhJJv|wC{`i^qH62ZbG00|6J&er5ZJ$B*g&Jh%G@54UeKCcNP+<&^M`)Ow z(}?=gd|@RFt5q|G)fC3Cno;)Uq`AWO8CTn&I;Zh8L+w!%c9jad+MJxOCLyEaYx0Gq zWQ|#1ZcP-%keLzowWJwqg)yKWqcL?(gKCD^*HPH@DvS{^L+J5DFm#@fFRYaDv-;7E zmYJb4W9genGtu^M)`;5O%>FGlGQNevZdG9njTtmgB7$M>ZTZ5=7$d76-C>!rn=oXa zOq##jKI2?Q&UdoUfS4ijT@*G&g)tarSbR4TjDPRR7uE=Ciaz0CN#QgZ{xaOXk2Lq& zJ_BAx#}Ba2V3tAgGzxoAg*{}hNDmQVBi{IGmNU@R!|xHx%qW*}@1vx7%=Q`LGP0e) zK0{iDy^mAa6Do{h>=PQv<}jNul#L6kU=*vX`HW>|$ojO;m^H_6RW*H1UP#Q{%4xjH z2=;jjTgF;qwi4@Sm3&yv%-08FWuEQxiJ33KIX?1g{}ppAdWHR0eLnf}Www@&uGH*x zP3z-hYEB;~-%!l}>^C(eev><*L~qcN{8yXkcA2Z&Wv<;WxK!A%?kziwx9v#tWJ%%k zM-B^$j{L5yDSVt@J$tjIyvLE}>&WlRkOEHftdZ43mK1xDe(38(y1+7jB>Dn}a`24` zTPUakR`^CB*nvK3!3hfcR6xPpAf7co(|+Q@l1!;lr~JY)f9W&1#(hbeuWWy@&-59$ znEikH%sF9}LM;;yDC`^N&$3E85legw*>Pb3_Gw-EZ!Pn8K89*6whV8Qsu@PNZ-M+| zE<7uVSF94vCw!ZDJlB5)(^lk_`yoz{;#*K4H1r zFbg#`m9Ph2tS0@=mCLVgBNA>bMUPxqRS##biatmDCXf_Ao3hHd78&2fRp+3na@VXw zVoQED?T~1$_$|ZDh~FH?vCVUuP{_R^r=oIc8#vNA=D?QHfcz$6TV%*?C^s@tvm{hu zTWT5d7GPJo<`^>hFx<*{ZmaanuRXvkVV0{n^ET{m6Z@cX_~y`9xvOEx;?m5kOh9CM zqMXR;PiJ{sZd{TwaSL?V+ZP;Zsa@HhW&u;yy@K>y2-PZleW+&1*?RBu7*xxCK-xu3E zqcdraUmaY>Zr`7tXgtqNUln$un2hV>GDw6_%x=osnf=ZzH?Hkk>{_+Ch~K)wZ^E~( z5x(uwxWq=yt{ut|dW2K~b8_w?+i%^T?zcH8j_tjf!M1lU;<#EkP8j#Q2;=s(E19Vq zz{&T_gt%}G8N%l81$FNCu@_Yp(-F%x9g&ec27zAejhp4}*AvG| z{N5P7jzSjuaHX(PR4EhJY1Nv| zsM{{3sTut_V*jYdxIOt{oku_&&!YLsXzl1T6`)1Fd9ZL2XL*`DHb8*`_<9X+lId*i zp3Ux{m^m?o+36?;^w}EA7AXdkf?15@KTo^yEJkP)0>vh#^XHf}>aK-OI7E-%3v93o zfx@Rl8LVDt`@=j;UTzrs!_D3`oWU#9DVtV3bi$WK-SQHTehFiaQpdbZBr3$bEEZV7 zA`5etgPb-Sb%EKr%9*#wCs$2N6n9E-#5(CHk8U}Nl=-LBRSJ;mNG}?;&`}}Ma+tKf zt6oEZ`YKRbCMGR+V<`VxLr`WhMt!$39BawSVAIUvBwR{58MCezm@*&IjW(;;STFrF zDXkZe*Qrl1dzdCF7AO@ejTgy=N^kIXk4P137s&xrxb+sAaQQx6p3|z?JP*>>_P`WI z4luPGR@G}G-ncox!3&0~4baXB1hnO`g-rE_XUoA^o8xFW3*P3t`y`rd22(C-{3#`Z z+^ECnLAO@cvV@Fftc9&rvWxpYyxUBMGrOGk8Ri1N_vQ6+C~`&#_)Go=RQGAdyFl>$ zI7tD&4?-*TCCF>0KtT4A?c~9C<)kG4*S~6lkNYJT0k%ib`E2Abzk10Y%q%@N<$7Q{SP+{|cJ zQ0?9pL03c2g=guz*rxQ*zPVH+ZRRi#dOkVc7fExO_|8Q9#8NS}q(}tPF;XvxZ*i^~ zI9(1?GdoCJ9bt9)i>Z1=s#`+R<=}MeQ6{#=@^#T;D%)BE#7;oi9N-I)HJFVpth#9G zqpV$D$-w2<_$OxyS2NT#jE=C{?*vF|d`fL^DV1r<6I}mGa9zKMv?^1_L*5mpJVMvH zePHUdBI^`DJYX+PcaR{3-we z`i9Iw@~b(GYy3jbxrPadYU>+I1>$_>^F`oe$Z@SeywG!QC>4@3oxnIeCi3eP&jWy0 z7&KmPb}Ptyycx7m2#I?R(SUe4G+r+&0+$zh4($!0CopDl0N9+rn?>l=MR+bWpJZk$ zHg4xk!E%ookD~C1%IP_OH%#JeZYq_vikSmukh+VrnIbIL^`J6$t1?T;hR|~WaG1Pc zpUU?fXuKRGk68dvFNf1(N|>g-X?9`l5)Sr6?a}3VNaQYRf5?|vijC=18e(Vax6Tz- z_rj%69ga6zuZGrjd4P4QOU<72Gt*LH_Hw9QepfsPpV8hk?B#(St}l!jKzA~L?&Xj> z(*t~``HtXw^k|HpLak+UD#zx;>!Z~12t@CL8I`k?SfU~M_wtJhc#(i!oMS77j6!^# zkH+>d(Xz9J_<9pa0{}>SS;fB0al!pp%#<~w9^!_TuM*-GVZIW?eXd_1Zn1uWxFz}p z;_Aw2KI$TfTiA&07~($Eb_{VJXgh|u_q82E+{fCEA?_n>#}KzbhO-#rDDx)(aYM>! z_GKZi&hED#N^#`Y#V^9RbIR8p#yxfMwAH}4N&nLrH=PMlYlLxJ!eu#bA-BeAaNNx0 za@?Y^@d$YBbKLv7W#PCF;$LpjVYs4Y<`i)pm0BUkElTRV<|Nkw$1(MJbvRBn=7@eh z#|?));UwTV2Id1aAc{GTOe^L%a-8#hjwAn1p5um;WQLSzzT%p596fb;AeZl} zYYuWFOI8MQZ{$BmjMtFy#{;f0i^kMbM5WVqab+=SFpAV>ZGu7+F*$mxS+jX$Au zt%KZ@(lrD*ofb8bHIpg}G=$EmsP1w8mNn zxsMyI5ag)LvLHt%Sry1JVk-hU8_N|y?&C%=$nnr$Cm{Es^%_bqfE;g$Jje|$SqaF+ zJ%?A?x&pZm8m%1U-fy%LkmDV;T#$=<4$&(GIa*{bgWQLWRtR!bW?7J<=d23kj0XxJ zXQWU7xepPR_p{w(}&X?L5h8J5O@j&Xb(B^CVYZL~`Xn z36iT=F3Ao1w@8lM-zT|>bx3j}R)^%K{ZEtJEH5)_jYy75xEzw>)>sXao3mV!`*aT>SfCd1kao4qH^gB1ffGNOGeCo!78nEs)&kVD(7OT9W$JX#gvW+>B*N&Q1c7 zn;@AHQpF@krWKPMr@aixk^d)8a!-|Hp8A0#M^9ZY$;Ewj%}H+dN=fe3{}jooZyU+w zH$Juw0?932n&hbesz`2RnL7O7vb9cfBg@v5xSg)G%3A6a?_*1-1J5(A-QQ0$#I?58Ohn?))kxN7L>1q{ZIZfkPrAcmBOmgKbC%KAM zklY5VCOOfSY;yV)$>~=lr(coW2DE*i-lb;01ZLnODtMm0b{lPXln}4{JO>TpAM{*M{Ssjv_Et(@*>ru%C$wUQ37 z9Fn6OuLjA@^p`ic^8Iy4a=N`la`EqnO*AC}n_N&&a#U)CB)16FRV-wwwLo%kf zMk}+)z4)IZIrVKLx%|e*)S~1CSBP>I5)T*%*7_?Uxk=HCPp;EC zBe^E4u*o%93CVE*mP>M%z7W~uPb#} z^(5CMZ<9-{Ba*XT!z-mga=az-BsaLxN=Pp5IlR)=8Ob$S1<5s83CZyeTQ14PJ%{L( zk{m6vwn?tZ3Q3O2EK73qoK=#X`bs^?X|JB-n%K=h$zS`EE2)`ma_g@)$&o=ex%JnC z$qq!EzMoI*qI+yB;Do80#a;2iQAps<1 z3L*Gy`7Bo3i10?Xjy2F$kske#bcHJktjt1djiI#lsI>2r>A9@7Et$6U<7ur(g}`U& zNT0D5eGryLqwt^ce?c0gsl-95BOf>OZli?Gc(;|hO;{f&P=TG$3n_J*vQVY%cE#bX z)K#;}Cc8@Ynjb|ox0KYgr66R;#t$*5Q`yZrRqK7-U@7JToO3wjiKI7T36~9A0u; z(?r`4vQ4D%NC<)?Et9AQ_-<>a4!286l5ksP+>T`1Wy9?q(j-}gNy>0@D|J85YC$!H z;N_-_+!U>taIB1Jyxz#TBguBm;_voLt*_RGjK3n}S6Q6f+A0L;ePzUbxDDRJ%2=Ymek3!5sEt6%s<4T#%%=#HgwNOXY zA4}bD@T0UQX&-iCw-fG^?5d@(Tw4<{ZP}7BSJ>k53nuprKg{U&DL>qm@C;uCDAn!C zB3ntCbhpglWZ0R2&XHc^Zsbn!PyDgXI2twXp73JoyWoC8Mrh6#oo+R5di#keo zw}%8G$+;Indqo0~1W6#0oDWJM@%iV5GP%=d1W z#HW@Pnd#$N$L}m3pSn_aC=INZ=}pTfO}&sfzJVR4Gy{|2;aXSk2ofBT4f~+}&+^=k zmDJMX>3&+X^hj>DKXK!sxZ?1&s}7HjX7jtFnJ-?3v)!CT*q7|lLI5r+#Yjp#j-cag zQEmkx8Y$<#9FmVY-A|=0DH*@z2%MJ1Hox@Aco{)`87qO7$Vp45*h^9^ z{2nZ3D@7I(o2YK>>)3cIpup=Dd_8j+aYTsXkw%E(C;QyP<5| zjYK5Fn-p;qyEw)1r-++9ce9D3qdagU`X+V(tEB8gK}frlqU@5zHO}#O3tOnVP|)p) zC@g$t5tAk4qAQJuA5L^nT0v>xO$FVl^mmdS-sDdcET>pOcPrvhhe63&qAx1wX`~xaVo^bQtWtlx zGfMH!;QnXB`q;zdw?2j&T&Yc`#36-e1TBvwgv2B>Gw}>jWaJJf|2Jt!&aiqtu83%j zZudkK@uZee)8X*|nSoE6okxxIVkii7D|Jtk{h8v`0XV^#idfF_04j*bI3hALtssYn zj0(aft`xtxcu4^KrC_m%#AQhi{~aP!$hB9a;{P(=Oe0E#eoI2FVz??W5~ zRU^CBK4RgdmbUXuD-|W0QWvck;1+p^(6|7>ne>aD2xermM5!5)EVhn;;}bq~bc`iF zc*kJoQ~E=K-_Q8f;D*sknOyfQ@8@w|R42%?$W|C&<8xo$b_tyAqP$-e=Ve$)5j00v;j(Mf{<;9DD;Og5jf|a?W=KLGUq*3f3p$M zAYTOmkfnI%Y29z>+-May-0~<0r@T@;^WudFEMkaU@>CGR#&hMBq=Hz$#R?j#^g~IH zgC2huurNO^>9_2&r^t+dQLv^f_$3!Y?#BrrM5B8Ry`@SV5zez93|Y9uH2`z8ZY2A_`)b7IB?~ zchs&7%kc`d71(%rAco1Y8I^8S}U&aW$D zWaxo?sTljZgca;pN+Lfe;)_&ar;U9O3mrb;>t`0<$YvT0M3Fz1p70{WTo(4*pbO+D zVaN?l7}EW$DE~&}-#E(8dTDNBS5?Tr2||*aWF-~ZC9EbtB9X3H4yN0zDF5c<-y+KI zB*^bvA%EyLbzwH#(rwu#Y)<|buDNTG6QC94-g`C-yzE1+G)|W)`k4PaNF9t*Jw$G-&-oprej$9wIzSMD8IBM z+qw3I{5!cFV@m4+qj}MCX*n@k(eZa7|8JuFolxCp{pmvfjO$?9ByQI(;cn#bj2=m6 zv`Ji-qWrbw-#yCT6^Pp1buHxY=5}@6vWQLY(dBzmlSTRWBLCh|eyL5e(sUvJ?^s+7 zUfRd)(}nfYv|QT0u4fLK+OH`8@5#S^l)snzJ))Dn3i%Ik`@}re1)B1Jse|0XImAc~ zDa!u`@*f)I?~UO8p(u^Kw@3>(c;R8_RUVebUUqnw@Cf$%xFaGh%0Cw6Ka%`^it-=j zSTfBW73bd`DUu*wVLI%a8GI8x{1{#j$GX1GLzD7Y5bJJUIxQfjASR{ogv|CZQs8n~ zEMk8KhfZ)OrpGb)D`=Id!337f>r`ti-Po0G*JSiKHZQ)dY?N^_Vce@dxAsK&6*V^&|dC&*Y3?pa2SL z>$g!Q+JHeBX;^Y*@C$#?&`@Xt5E`DR4XZ3b6o5p0Q;ARN;#gTE{ml@(-4&}PqpK>b zaUtiusoGvb{h+00f~8<7SjxPl+QLPpv4G_jVj=`c(l_4Y3y?;kEJAIsQbq}hv{!B0 zFNI2Ow5fkwO>IG@F-5g)BMp(jT}!?Rac!X|!q5m&Z6T+?h^eZw3YmRdGCJWRO%ZB4 zUeN*`;0XLfJ!GtE3l{~#A}|U1VdMI!Z4HpDwg6H9BDM89sy~8vw?}%y(Ed}tB+IFLgOdYR2wQb~hMr~oF08lCt)E}n1 z;T|pg03Sh3@Ddw$dg*uX=IgD1$7*|@GTukIomAUSt6{&2&gvoM(|Tyos&#L8h_HvF z+QLMEp-@$2(~8Ux9~z>zqMt|A6Cj}g9Ez3o(FV!9p|*X(Lu>d+PbwiG5gU(2wS7t| znO0jUD1d_6`khsa&cG0Di^+=VII#|hdxo}sPP!n`jToKP^UC);`9{UHeE|poAEMfV zL;*;ow%wqD>b}M1az4fssq3=g^kev|fp7_p0(qC#0*6 z+7+EmY6lZ}LL&ZNm*{3S0-Ns5qS|#1=P2JC@{NpZH&>z|@Q(G1><&p|{Pog0}5wv8rH8ire{7@M`q}=YRZFeAv+J2zf@bJ79q?M zYWtlBfYe|4?!uM;Y|%3IQ9nJ?XBXLgtL<5eJ&V|?%F2q&Yc{n}3Z8-)Y755%kc<@b z!4b$MGfH>WU_a9cW&vUZFl-=8^3lD1BrIaJJzp8mr`(>ZZO?FsPi>(VPx2!Cnbb&i z1TOWp?E$}#Zy5Q8#I*%w2xEmcwe3ZUm2!R+vr{r7eNhc6d(>})Y73{EoUSJye&&+jd+X+4|a7Y3O zfj!t5=ciw!wy+1wt?6w5d<1BXXdz%~doTz>Z2^vDghpVF`r7saJ;*nSd;{a!LLr3R z7PT!T!qeAko2tlsjsmgT_73XDcd}*zjQ}x{cnvmGNHRC8wp08}W7)^0UnPE$+v8eQ|v@Kuqo`~9( zPjLZX;@bLsRNFp$QKPm`tG3UWY$zYbo}#wTN>H@EZF}oOQ^0qow*KkSP4=8gi#``s zmTx{he66z4Go+cm-Z1EK`uM`;EQCt<=JBG^NtdK5e%AECbVkrW2nGjSNQ!?vZ;|M`F*zI!NSwDjMb}I zjU$W2Esz!^PfixfDGMbrR7N8-LWm!$TXk42%5&u~m?lXEu7Z&iCMyc4qyV$I1+Foo zX)05exAn42jtt!Tq?3zWn(Z{>88*@AXHx5w&Y>n;vT}8eKb@VXB-p@)5Uy$bZf=83 zPRmy>lICRKHZEGfx;+FItYrP_pe3Uwz9$5HPiU815Br8g9dhZX;t_;A-f&z8bG- z*plTr8&yzQ;=T9LMu6yj*SrWn<{$fy>$9k@?@f?5;QI*aIk;C^9> zH5|KFxT6;F`Xyn%#Hi-lAQ#yli&_vbW{u?kuK=_5`7`K_H7#&E@tmRw^z!JSpPu2) zgm$p8gxgs!?G|FWjw}PvLXwjGWn*LK*VP!&0vXZx8bv-vGmMpFMH{APRfg>h@{+87 zecoHF>7b>scGHiRz7AYxdrrCC;s?ONVHcXB)^!PYcePUc8SAT2juyq<%l)=m*0cN_s&vDWx*7=#Xo+wi z(#d#+P-Qj9*Apo;rg9LmA7$JR!J@U`37FXkJqa6H;Qn9_8=26KV#R{) z>392wJSt^M8|S;;T3-AxcbMzl4I^5AY-mTYb9gnN7`Q$R?5(^BJ{GmW{Shp&eHR{S zUF=BfVywl6DU&lfiZeOd9gRJcoh%uS(&&}ntj64SE&{T?g!JW$k{X!baT;hG!}c*s zZKuN*!DH*MlRGxLG~>JoGx-K(wdl-hZpTNLfD+6)HQHclXalgeLxQ&g5A|n#NSF8lX6PG00?2k?yxNhi@O?HNQ7th@6$N3> zVPB0gSOpEDuj+&b^Q-n?lOr;0w`Jf0Y-$=N>v18@#l9Amb-v0PBKuxc)&(j{%fexp zi%54=)D$Bbf_c_EhI-aLK-~+;r1oZrXvV+c?5mGlq`bo@WSBODy(99iKFUNj19vfj z_VUvP1L8zI1Zyfky?mH3xX}2lC1>~X2w4y*^is0%5+q$8@$qHx*p+gq_{jL=E?2o% z$Z8m!+?C3y#lzK5SMqy$Gbl=7g*qEOp1~LD zU7d!D*Z7PV2TPJ}j6WU%=P1{iZs&E#a9$6|6B>iJKCN@n>F_lU9doLRgvmQ>6Y528oHKr^XE9}rMuk2a)I{F*XKZM0t{Af+z~d`XDT?hO@e z-xH#&}C@H^l_&uH3;k?_U7t375&Lwn)vhiKvEsD`Q9!*kPntdMo8hzR~g||t_ zRnW%;o^jFnIW|WmGc#h2YbJK0|zDiluBUWQGLeRx`ia$A+A~G<5Lk$hZ0Cw++)0+BhCjen8vTSf6ffe#Gd z(Ov8G;ULa8$BWnAv!k~_s+4xpcZ88#IDPsVpnw4cj6$=&NWPSvZqa9jfkci@as<9D z@SR~0x{G{I;BzkOljC*ym0*GrFlr^iU=r}Dfj1xtZY2TAjZARSP07~=Y^UdwV2E!$ zc!(rGqZ0UN8~f-l2yPFY0D)JG$Z z>&GVxwc_deYLU>eF2T>pIPv9{SO~`ljDSxV@lx?J-!(wq8bjVk|Mid;pTUm>d4n4u zZ)wPTp#kzD&Ey8i%a5(k*1~$xgTDdt8X&I$@_eQpMO4uMdC_yB0rLF+TFA@4@f#oy z0BL}{pCaTnU9Kgs>FQhZnug0*@|ynFTJjdH8RXS0*OFJW`j)(!Wi5F%|DGi;K7$_% z^3G|1yrm)U>ITSbfV>7vUV|mC!ICGdALG6TOJ0K|@BgzUFaO4GfV>9C`|&M#^HyiN zW_r1hmtK9yOD_v~>D7U}5ufZ?KV5SqJ3oc#n%6Ov3ajbrPS^YiLSB3ZKNjR&{{Ic~ z)GZ6sHPtQGaJuHG8`gZf=6OtG>CF>zEzj2+MePgoHAl1aADOQ?jsq9wYffNi#q%{) z;lg}PRrvqcd`-1Pu_;fD@k8fps;uJqnks9J=WD9Hi|1>q$$tv-HFa{u^EGvHtC+8; zQz@RWsZ(i~uepNxnrh$T`I>6qA3R@Eg%!`&RAFm8UsIQ_c)q4C-&7Ie|H6DtwP3L+ zPc8U^=WD94;`y2?Y>nq@>T(p%*VN_sNzB*O*%i;%)Y<)j`I>sk7thz!d;W*d*UZ22 z8z}F;f%4Raisx&p3$6Y6nmS7Hd`%r?-OSfqEz0|kIpzH%DR2CmQC@nvro8m(oAT1j zn)1^Bo+&RrgCC3XMl?{~(x$xg8YpjRuRJ~P8YoW_Hq{ahl(!laHq}rKl(+7@^3=W! zl*f?tr{R^S%h5o2t2JR$P4$zby!= zf7~rk9kGG(8YmClmgQ@&G}!XiM0+Lw%5R{&2Fm-1QeNe9DX((%DX(%_%B%dZrMz)# zMtN1srM#-ur@X3VDX;3^qrCVGek{rx*+6+qQ(j#IhqmatXY{cq!DOcK; zrO3-zXQ52;u#>bz0ver@^_#?5TE79R$NDWnOu7+DpxSPPjH$NE*)H#pxJla;Y*%zh z+^Fr!|6}i50PL9VKYnNK-QAm;-OY`Sbd$}$&P2inA#F9$R4b#kDD~=FX;CdMC0A*+ z^;kp&LA)P{SOj@&9!SZbv<-sLAYN?{1VIoHZB!8aKi@NRAG>?^CHGd^|8lc)X3jY? zzjNlyne(0R??Jk9bY!~HRivv%M`kNsO}ct?WR}u>NcR~XY3_xS(9^ zjcccn3izd+yT6GKkJJXC%?25%p$O>^Y zaCBrao7&NlEtNmGRjj*U32Nf??jYhS#1$2ENiSTMvW@TBO98ASK>%ywS`g=E3yKgh zbO>?D3`vvnJmYzTjbjEUm*R(ZONwt9R3*+wB#2;*V`E)pPz*!N z&<1a-TvH0A%vN|hCvwWxl-@e+)%zbt2z6d>hBYX1UX|m2j^GUOFu*y{%@<5q7_m@s zxY<7WTAU!~am8cUiMHJ9l2%~s5rp?Kj=FRNe)+#(M%XxdblaD7r5)MdF-=$o(j$p| zJ~B12*sHGd= zknpp#cX(zXn8O*{jycSBP4Ztmct5AmFSx=l^lSy&8R3>^kWaBk_)A?vk;l!EDeoxB zlOj!k@uSUA=4f+7^1k@?!j`g9_cD^lMnwkTJi1HYCXTZA_t>aC+&Kxl(A6x|?AU_R~R zXX#9Z+ryW$TwoH~paC;E+H{T$T7C{0=PGDH-e|)T&LeVxKUw1qGr02<#6S_sgBXdm zgeyR*3z%6~$NbeXqV%zQAwm+AfY<^TImmVqF|wFAuz!o#Fa?@*2-XlWHoQ6=m>qq@ z>x&b#z)q8K#VUyBVwzKEUN9Uh6`X*Z5+^2szdoi|1aYDfq`*mvYkq}|(f2f0*7JY0 z+J}i70SYEjgisB1#5D@uN6fx-5QKo8-DT58*aYImISMVnUJ%_pGf;zV5LLi2O~}Zz zoVQ(qw^#$1&`35e(*6V$;1l-_4dw9_ z3ilTgwdDk11qdcUuz@-ms@IvyqCCX9%VXOcT@kUu@6>Xo}3#yHk!ae@Y<2o#|D#07{G z7eIl~2^OG8=XV92qOeQcb>v?t`R|te_gH`acROez*5Uo1BRKxQ*ZTQiWW$@^r!ajD z1%3MySBBF(q{}@-8)kFE?AiaSBXa0JIc_gFIWBkqakGR&ddU!viW+*!kZo_zUv+zy zxP+!sZ1yFt!cmcUgt_Kn$t~cmA#y7>#koqfpK~2e_p}=!hq<>iyzRXY@fWS9)C&Kd)YDkUUKl%U#Ad% zj?BAOT95m$IK=nE>%Mu79$%#_ob0bsc)v7W_T4c!*O!BOgrD8ZdsF$V9YXx!Og}B3 z`fn*$vf)raZq^{i+w!b0$NCJFcfv4!slc?)LGu-;fRChwJ^1k@S-whF^r!;B%iD z8He{X?bzY$r|Zb+tS_1Qo!$|9(N!@y;E!7e{2D(5qKOlrEHi$10W8({u|dfcf&MX9 z0mw)^!T34TMXqsrGoPgt-uUs|A9~{_qB)-T&nDv8csDzK#>=@rT|7fE0I7lNef;vD zi}!u}@So>q$ItX$3j1fB?-MxceDbZ={b2kc(}j}qLfqF|=linbBFtYne#pL9*%yx7V@uGq!yz1rM(-7?4n$~Pl?RL9E@x?Dvr1f z8}1On&)lTAeMC%E?7qzSnXa}MUW@)cWzX(W8EZ>RVmEDXv(4 z%(O^0&t*C!mLHQUd$+r0o@@AftD9XD5ZR9k#8Qfz`4l0xU&Qd|j-Z5Hg)0Ot0si8| z3@4OEFW$d*62OkBiCBLT8|zQ+Ut;M*f`IijjaUu66#9=?EsFO?)W38P|4-{1r#FEz zdnp89oFITHh5lPe*t$Nwd%zYQ*DbK+etNLwdY=v0T7CY)!eGk=b?gCKE)kbH1zRq0 zFL~S+G3Re2*dk`6UDa;dV9V_RTbmHra!U`kST_Dwfi1TOY;6)?%Le~#3%1<<2(UHz zBA3Ne57_z)!IoPXY`OmtU@IIy|DVB@jk^7x4z}E4fUQ*nohRJWwiK_`)TaQi)hMnB zz&B1?c&+i;!fQ>?7G7&&ACRd&Ny2M=QcXJKwLVlD2q<3b1EoV=>wTp|Uh89}Ltg76 zrFBkttqs*6#*o+IoSOizHMtMVY< zdPq=lD9NF!nBlaxqQX|ABUkhhr?s`&%52@>)n`7q6yBQpfYTaA>0xOCjKgUuzWBBc z-gag?%V`bgtiw|fS=)O%_{|ppvlL8x2QxyP))&Ymp!klo>S+7Z@j z#}o_}1eQK%k79pR8v2U#SIo$OzuL)+-qZUkMJ#cZ_P%Dmmd9v)ozv_BYqd)X1`7g9 zRd;27*R=NyrN3!>^UbukoB4*>ZBMU(BE$qYyQkr-_NWROtuJR;hdmh<-%>S8U!|e1 zNPpXWE8ws8Hv2R{TsegOhOtURT zy43Z)&(8N#P*gvFk8+@%bmM-+-6Ghx?)ZTu57dpz;)=%n%p7K!D|5IxY zApEKR>N4VQ$IWRe_$jsIbbWL^osYL?IHu9^Pp1Z7uPA+{KKDaP#o?q<;-shyCl!a1 zN@Xc2C@Nba;I+nNM;Js^1foi}0+NcmbS@ubp{Lk~k%GaRz<$6`ozGX>3-m!3HtGTe z&`t+*RNk1oNW9j?Ax{GB1W^S)bxDrb3dtt|jaK+iR-nR%n3o|Y)YIh-#1l99ih$R; z(qY_P2|1uK2>%qZ!LK9vycXnB90tlxy>YQo@sNyya$=Zdc`bM;?rw zmGYWII1wxx#wz*k0BK#P=3Ot63Q8&^5{iC+g}OoUs?*R-hTjcA*y_Rli;Pm9ffXM)Jrj}<7O6O%(imR z(e4~};gx1PVwak;wAKvzX`1~kPQ6Fw5gL<0Jr~SLcAZc`4&MIV^f+i8px|iZp$8A{Z ziB&<7KkLAsZDZBOzc_w#Z$+Vw!!o7BJ0bc#+P#O}dmW-nLpecIWykpjxT4F;;SY;wNi} z5$!pkB|fV5UQ~^jL?A&Ur2|5VyA#k_8>+n=sYGn&v0=Q}OrI`PQihfYc_h2Wie%^`J$=Xv0ThP?(ya|?EoSs_E;$*BD2UlS z4!+@RebgsH^VzPVGmm$(bWj6y5Lr+^&_WaV-cJzb^DTiA5fKEX&jmiTV~4YcWRQIc zWN59W6{3dXL}m`wDKJEF8<05|KfDSqb{RkLLl=u55=)dJh#I`hb@3LY(B^L;Wy*Zp+YGA6AP3azp{a{QQx8 z*q__&T|u@xB-4qBH_q8oYiXP9yN9ECOlTaF%^gc8F~$JNUY^XuH4Bp#iN0 zl7hgC!{4QZ(Uw_S>-8McS{N^Yw3^T+6w;ciEl6vcwjix$Z9!Ud<8)Stw60Y;L|T)S zMk*n#tCbFs)>TS}NNbAHdc&eYc#YB_(wZEn5h2pzoSOjBS`eqBONF%Vh?fp&Ex%x4 z57MFw+Cf^=9Dka#F-YrLJqCr4);y;*(z-PftYwRjw62m6Ag!yzEzjQi2uQ2h%^@x1 zIhIldk=9f+2kTu*ZyeH^8toF&lC<^iTsMQXnnJC?5NR=4ApEKRv}hjELblVjo+yO0 zDBT8WQF)U`T2o{G)L5~Q7Sm)Gk=EQ;VWhlQ)Iz3$P%9iiWOoN@(Jw`YT9e}KLM>!# z3$++Ook1{wc9ZF1Gd&_3)ot(EnsVdwt%h1ZFv?$u=Vyfq!S#+T``k)`_`RCmMur>v6~fU0HLj6=ki>wf!JEyOEiu0^>P=2}!~)UtKcHP>3QxxZxdE}Cm~szJy!*+p}$Wt$f^ z*MiXaEHnsLYplv#>#alMJK6}H)?`|kYau$ESv%%h)M#U_Mg5R0Yu8*0`4@_1 zxmze2D8~=JY~#(f*4Sopc8IdTTx-!#3$_*w%{SL-qd`a;G1n@(2H{)VbZoA*dYcZ+ zwU7y3t*yD%ZRc9BMK+vTm(8{4lNZ(FFR900E{3_*nr+%O*FrW}wN~a@43&UPdk0?Y zAL7w6yjIp+i$zwRxt3jiy{q%cTx-oXA=qLXFNwLrE}Lsn z0dp-Xz}I!rTxMQaS^*YVx2~%_af0`ek^n=%>{njC$>9 z5T4zybiCGT!K^|WgwY-iLNo|h!j^ZYK^W~wgYa!V26+%Gt3kN7jRqms;&v@td|vBy z2?4M5M!4nKgEl%^tGTQOA@a1#Yc0j0K)p-pu|5thKD7oRsvlj^Ae6L3?JCRgTH_Nf zGzj0Y!k_9dtH|TEkgZ)_i>9{WwWz$w^I8)U{)9vqd97$?8ia4xbd}e-GEtbU=JmBmYhK@cS}WRG zgOD~tYekE#LHJfp$F$b!nht0!WGYB&UGTisASAmxv=)6*WLj%YO}n%fvbCkP7%H97 zTC26*Izvm)Gtl{BK;~%>uBi!;7BhNDXstKx*x~G1T8o!J25F5?rAmezVTr$IPzP$8sMNB0S7X)C0qt&o1;mWALGTMm-VaG^Ik3m7C6>Y6S zcxLI4mV^+}3b$|8`E#Q}S`~RnE7}3l;+X|$RctKMN^}irAtgwwB8#-DTOuthJV+~% zkF+W}Kw8lPNGtIlfV8Up3DreIT6JAUS{NPZ<8^CWtsi|hNJ~T3BCSkfjlKUuT76q0 zt?JH^RzHih`W6>y_3JLuvg3P6-#nyM+Zt)vHVSEN-V$l`?FeZ_3m~n{J4agmN`$m* zGuQXaLt3=~(yHwkY4t4)(yHqOY2`ZrY;CK>P%DVER{x&$zXoErfL6bv1Fd|Qe=SY5 zkgWjFigpgPwA{)8E$wCX2iMePfL5YJK+6uDrHMSCRh`v9L}mM3C@aIoK@R(oE5b= ztF}8hYfu+)R$a$9Yfu54mB(l;EGvMsny{A_&YG&NEVZl3`Qk%n407wHP2C28y3rA`KBt#DhwEanP?Kh?j|&4XFU)-It%={AHGl{a}pDlTJtPxt*yaMomvS!<}3NldW=0Gu^H+5%@GcxQ}OV@yMfdd2jK z(HQF{&Qg==-38Gc&RP;{g|m3sF>JwESfnr12nc;*AbR_Z7B$*1TGa21(L(-`Fj`Y= zGdX*f(OMGt2VWA)$60NBV$jBt7;2SujI$<}b--vLQ$d_{_uWweEwZ}ptI9e6TF6w8(F(^8+1)`}^h=Q$tx09=A}wTVi?kR&oiSQ=9iK&7 zc7>lsT9e9hNUL~0F%SwyYiX>@NQ(+ET2$ydqcy**AkwnI1o9cJYs)%BS|F*mjMg=E zIq!oN1&~%FdPPE7`4h_pUXIz(FUD;*-O zkChIQ)<;T*NNYoR4ry`DO~6cRazzGdHS*s{pH_b`sN9|o;T097LtM)*Y6o!zBK3G8 z#1o<8U+Q!MyMo?2kipQNH$trP3qr4^Hqh(NXsMvr`w{}^^+CAhSzIaTH7?Ib2J*BE zy;fQ1Md`7A(BMz6Pq?aU@JkY7u9fwZu{7EOelda206Y@r!!P7(7k*K?4g8|=CJ(=! zjQUSTyU20{x8^E`!FUzE-P-X=Sl(3#Mi{b!OxL22i2XPF%GjW>D+u;cCc)c++X@6* z6l(#&5WF)8rq6@*F7<$5LAMplHDOsdVVIhQdSfgH!zPxuf?>P~X(uoYuNwI<4Ds8C zVbo{?!>HdG48x&9NnqH=wwatg3&SQ73yzjgEYF8w!M$kho-igT7GxFMMPYfzaBM?) z2XKu3F9^qOe%+dKk=-3QM&A?}j(uF-E*wL)ws4Fg(-|CNA(jWn>=G>t$389(c`v5; zlEASK?HJBphHn1Q@clg=LJR&S05c^k-q2g#%ew_F*tFSVhC&W);m{p@n9bmUkJN z(Gs8;6}k@1uB<2s&4PxsQaJns_d)8|_FNWL6o6-WE(@0qC;-pq4&XHjJe#L2@NB-e zz_SI~0?!r>;0X@l*&L-qcs5h%5T4CYI)rD_l@8(AY^6hZHcROco;451!86Xe3Ba=@ z12XVz=%&oN=h(=Hra#`6m|RSp~*x)G*b%X)Q*36r$-?vv#i zCTvw@3n<29f$*pLD|+QIVaV1l6r*$-C`RQ?9*V85^jBAQ5sD4%%(RPXvWraE`pUvE zZ2o5h!UBM@w2O$!Ky=UmeEbdO?ptA*eOE4fC~% z(B;D;wO;YPXgn<;fLhOlTb{iYV!k%yDIFqDyHIPnWxgoAao*vVca8OuwD@z&vR(^Y zvR+IU2oKcCXT6ZEU8qIrwovOofc07w^%r%O_3AVZ7t>@Hp%&ke3o>43g~aT?neke# zF)OI`TqeO=fm;gH!X12mAT9*&3~EiZj2HEasdPB8yKI-5RPWBqW4qRswSro_?Pw!V z>(Z8N7oxWhwW!esYEi#4sD=C`fm+YoW^(o{)LIwl8m%kKhgxlv4rya4ln$TkgymY^ z5zB>41)-qLsE@W#9wHPX$K`j=v@Mg<6cC&Y+fE$Y-IJUE*h<*0Xu+R`HY$5elfazO2hoiwZz3Ds-LMT3=oeYPC^1 ze4%4j3nU$xwN?>Q09)&{1#GR?7O=HJTfkOhFP_;DY`v}M4k6fjQ|SSjx5V4o{Uvna*s& z-r-|DwlEh;$P4k|Jkc@W{)-$Y`-_60#}_+HIv1l+s9A?tkP+fQj*7NWFC?mRoQTS! zBTSQB^$s5^>>d76uB>kXSIedKB!^JSVfMZotASJk&|uI<0fPbqaNR&8dD{>oWifxShe2aGYQ@b+{_yte_2^e@9=~P zRjm%Z!!KhEH!MoMVtR*PRu0Hx$j+7Ax7bL^gj=3N3|n*;Zzb|<81?uz33prAq!3ZF>GNQNd9iAF(yu(w!Gw<-ozpy0U z;q9}_*|Xl^R|cWDR#tTA9iBFp#5;Vv6Yucx4!px7Q$g?WD_*v|7TL>nmzHyvh`aop zqA~Nly`Xr^<^>L}aLkHa)MNUj*xupe?Rtktwzl5k87iH6hu4B@om#an7?2U~UF})# z@R?9tOyi~T4sXW}XU}B2kRTW+K z4o?NV!&9Lf-r@No-X-tw@s7R2_bT8WK9ASJfk}laHx);FJP1PwY;Jf<^jLT)+Huap zs|4QROKI7)x;)_&;hsO}Mi@er~c6cpTT^4Hnn|UpnJe9V((&RMuN( zziXjZkM)+z*#CoT_?_jNac-S=wvLQ<&Dkyp#f*2ob6rE?T(`kHPgw-3I!__1(u!Pl zzPlS=ha=tvLQogrjlLV!TW#FKV`c=eRdo08A9TWNeJZQ1aQq;0cX+M;DyyyHxrfI9 z3tsCpvDj+k9{$r-s-@a#vDBsdF)medQEEsz1|4ft>UW`PL~j} z-U_!fEBsYbDV&(+Oapn^RViF=RSGFR)(;x|>78k;?;8A)#MVpJ$w+=Oipnk33YkD? zz^Q&?G|z$y`Px-0q;wm#LMs13tKmQJ75Z$)oaGq)p6OUp40|!YW{t7Ti>RIPT3esv zh|oFLG2WmjR80{FE$>aXsqT48W&I&r4K^w~uSw!R$*_V8x|!J0L8 ztrb@$G20FTR0~(MR4qjC&QuE*Th&79p;{Pp8-x@D)vesS+jOhppXNDLF-WOu*KwWR z{#@O+KRW&(QBU^1K|VoB-R?j@1^3P3sqVrsHLKoTnWtX3ptUm%-h>Qa)C-rkR4+vQ z_SFli(MG+H`kkp4E-sOJ;cVMX&is+f_u>liqTF~41=s9JJXm| z(TPP@MF$pL$W>6yaAx34gY5388PYdJRx_Mk(XK@ovb9w+WXN=;X4tGnS;#P9PpQ4E zn&Iq<(4vbez9edfGwm4S>{&HK-U=Bt!&NQR41>Ya%9#f52OwFHRb*!xGb%cV`8b+O_OLwzleqjHAxf4X115WYrBV9LTC0&J3t>5=A3 zW@OqMWxi}i?dk1Ak*}DY%vaLhXfwJ>8u7ttzRGEKHeWS6r@XIG=Ig4u3;VmIy)jDr z=Ih2!d%K!3X4gHvZ&2i$<{RdlX>T{PTb1=|>zFTQ7t9Sj;Jd5Z9;U(Uk@ogf`demq z^R2YEm)XQM@)n?XbdIq?@f8-@lwv}vmyR(SWj=04Zl@9ys%Lpy(IepwYa$Kv%->>rthaI)*O< zOZn>Ym}4Gs%%hHZ3>Nb7taht;Tzaj%O5ZAl+TmUEdejbeFW%F=Snn8q?>XjQ+=2IX z;|W5;~tn2)(}pukTUJL19`wcKcg3wyKcYKIk><#J~H zpeKjgVTJdYYnHm+GhCR`87@re3>Q{Q-)Fe6+D(EBtEHoXTrs}{A-o=_ zEuA}!4efDYJ?=E5cGw*Cn>+Jd*r7X(IeHB8AXb+9BDBg+$ofgj`>FYp8saG!)A?H z%XwuIv+V$oJB>aq+-V?qXPnox%`~*AS4?*r(>Cj-+M$}n0PmCYT-dyMD|Z^RY#ZUb z=5B`h6+IBf@Iv(V`7Q=}8@`MBo$+1BUlMm3vu!gudzSBN-kcYHz1zHb$L=)xl*FCJ ztlCa^uG$WGF8aM7&owRJxybGg&qbdUo9C*{!!|90B_mr~o{OQUXJIg z4S6o6^cJwCSZaqegRzt6xsbO&hUc2r!gFC8cN)A4;JDnPdoHZ)gx{*|fZsx`6bPWdg3m>j>Qy&S(41WmX6R`J|vAQarz+|4uJZch)qb*h&<(7G;kAr=*>Tk_!)ppEl z)fRB4k!RtxFkS#^HR*Fbmz%0BP-~jDK&@tNfm(BAMHfP?Yn2Y6)+D7vsCBi{A=J7` z=@4p7Q96WL*C-uAt;u=LG&tubpmw+*UP7pKN4#`UYx3nVT7}dNd!Uw})-=aQ|E^xfjdsbxOVY9)&U!9v3LR*iLL*L5BP9H({++y%0}l*J^QpE!vk&j^T%YjBA|a{UIIwZ-!cvHD(31uE`{LD=+|nT9{Tr zFvVe+Qr>Lq$gnf0)nsj}s8>v=)l}Y1sHGz# zDc&yBLbd`>t8-OCyO7U9ExW|eLaj-1rcv(}8){iKLi|uXByjZ*;HopIWz`6&&~>Oa zpVeGfpw_kV4xtuM3jQt*eU}m+w#*$8>C?M~=fb7K3xKV;!>J=)OIz_;+KSiGR=n15 zp4kkqrF4eZQaZzHDV^c9l&+#~)#%7)mC&GoA}q^$((R zg`Nv%*an>BH}%bVE=0USo(pMc3(tjAY1E2u)Ad}qy1&1=f3Z9l&KVBax>OCm6lijp zWB57Ad3@(XyQ-!h>TsZl&Q6X&BSe56(S(yZH1#Tvu3l|P*;kgjO zJM&yPez0}DIjE?f3&#)crsqO633nQUa-Iv9ZyoSj7>Na*3uoCjVm>x;a0}0cG#OVN zar||p{Sd*Wz;5PGj^XcJq2Z!ympsV7P-Hb>tPttaQ9r9rKDKh)3czdVH0#UU$qY$GlFDzk!mZc|)pq zdV*&UZ`X4nvaOM9YY_cy$Gq)$YaI=h&O8@3Yr(ZnHRZXG0h#ByaQ5(!*J2tkiRZ$Z zcI5I`dpOT_YyzxsW$?p69}u!602N*4Th zU{CPl5Ndt4!H);F_FPD`UU;p6{}I8D?>K~)wW4r$ht}$eecYMj!fwPq9#}Z`@xY>M z5SAkLaWH(Ac29xuzbf?c!2gEO#{=6a5N=%P;~oXVc7aw-fw0e~1zLUD1zM$4AY9!Z z(CX6zw7RH3*ry|))eQy0>q-W+il{)?XCr`Cj{;%0fL3=D2>Wyfv^HLW5I26Gg^T!- zDG>H47SKW+Y`z$ZF1v{DQ6S7$Anel`Xic*Ugnfz)v`V5tc;1DU(?aC#Agvw+!p@LZ zHxvl_v_@Ki0%4zGBdwAs5QgLD|FZ&NpQ1r6RIahr`b-oE`?Q8ypGJXjRUW5RQ%HTV z2I58PgW5`cP+O@FYAf}@8s0(~^+BaG>Vrzd-I(5}Gbx=>A5^-E<5C|~I-@?QbVhx! z1|~h@7Ncg9P#>%b)CXfkf!Km19tR`R2r2Wd)4{<1phv5`6ut)s<8{z6TU!5vLnu8& zmUYo~q1FR6CA8JLq8(eUo@iXM)mrZQgmmxNR;$BkTyyjob=a`iDOCNdKwbfGChkBRNV;QBN-W~k>iZ0n|O-D-H z!Iu%ZIB*BwD^M8>ZMB#z5dKtuVMV?>__FqGwJ6=jEe4f0d0Va3z5La^x@fD_X*8}m zHC?sUTHmX%t=18r3DRoTkhNYhG6`M^+|g#oZ>nrzs)gL0nQATOT~hB-4^yq81>;&= z-A$yWCe^!BD|4n=8{(N-4N0p#xFMO3wAuvYqK!~mMGwX`tEOX9t>&6M-8~fd($e31)d@V+B2z(Atxqno zNQ><5AT9c&$fjDeYuYu{LbkT1S`3v=y<%v+mGg?By{xI$?3z$}kQsfPOU_v?!=Z@5 zxMte1!`ZW@TB~~HvHz2Q>~&0HPxC~V~MalLYq<)b70=-mpE6{921=-~rvnYc{{-sgL<-)p2>>l3kxkW~qG6C>UFj9<;% zHaf=N85~w-dZ&P3m0p#f1ag&`>J(_J4=Ah3B$E@ai26HveL37WgJtQ!X1G+0pwP0@a$&ncB2BAa|wKDKh}oXUcyWukU5@`re?u2Ct5X zcaS`Y|BtCN|C9DUuk;pXkl7*)n)5QSG`>)DJmRt@p(+*2I_07xBmbCGX2- zNAu+dZzO__qE6t5ePrN>eH0$qN7s2@HDBGWstV8U^!UzPMZVb0*SxQruP3Km62%?+ zF3B@#`53asfUoIWd}%qJ&nb81l;6N1`>w{X!!!FgcdP1E*}FGDcsB~~mhu|tqutH! z$(P^3Cp%^LG<%pm)3{{+mh}Pe*W;GG%|^##d;6LF zte1D60C)RSa{rWffH}bX4w8PC-S4Kn@0srbi@syNpS)y7)L$k~>t*H#Des5ohuB0> z?LhVqOnE;xKlTnXKf>$ZeK^{t1wZr-4!i0n=3ra`{=_>3w}6K_c#t6m-5D%u{xACX&G}JkDv78scOoGA?J%OWnRRm z=vdD4D}QmsJAnfyq`VW&iRM=+@7Fr@Z#eXuly{OjNr!%Geyj8R&ivZ^ESZ z@s1txj38p5oug9caFKHr_{t;hRnpU~BkEO3F4NC z6CJ}YYI~gLV%52rgT%bL#F6RJMGm%0$rq@KIF!5032zz3OP4vAE}6?6nJ$sI5_^fO z)HV1!k9d=m!hGo}$4q8nc8z1McFZJskf`%;Br%1hr&Ag2?XTD1xYpsTOOu1I3De}* z0dk$1c^&P}43X<~;Cl5{WiJhq8>~l`sS zG1G0o1KMwLa9SSrJEd2u<5$x0(;QAclQue_6^=Di58o2}W|G3W1YTf3EM;a6yK^1G zPZ>~Jx7btPDo5u;sR~a`=~r~>S2%T}!y|l~>fS~TrUvE(OppHPB>(vjT@|~ddYK)S z5w9u*JdvHz?WACXkOqsRGR%%rL9}3-vA{74>_xFJ!anIwnTt~TRbBK|E?Qq1>1}7b zOC6acm6< zVX!1yC18ww&hK-0(C?SwQed@|JoiS|U*-tXlwr7(lKs+RNAQJn09wjGE*NMF!^l7h zo2DfgN(J){)o@-Oyd3k;j9i!lYnC$J9@8j$T;uHtrGPB}oF^G?PYKcx4Ctm1p zcD(U*F9K5GqJIbN@Dh$g4*7_Kol#lN&d4l7q-PzTY7C6Zat22B`16i=-gf&7GDb2l zWV*f9driIm8oj<)_j85g&v(Et9D9+|VQa*11*w{nK7^oif(3`>td7DdS&qU@pPm zbId>G&pbRe5)w19%)Ai@9=vy#Tes(BW<8}=g#+w;4Y2iceQrl$P_Q0n=;3688}y7n zbbO)X5*<(I4LC&SZhoTs-l*jiR!bi{=5+jB1A%}_xJEw%f7fTaTEv($t-otUzCxgJ zSb&@**X02KO5X8;b>9(JJmQJ20uq;*@suGHF~74(o$K;+5{kHtc*H4%CFZB&=PN9+ znodySb6uhmhfS~d-c;c?Y57DAvkO_Yy23zZW+K&ye8ulVQs5r0NVuyqa|yebx`v-J zE_2Og_RN>N20Nw8GiRpsYL#BisT=KBz$|IL>s_gXS5omR*YLZ7)YW7--XvvAVt2A@ z_$lKW*IZ-IJ;gOwyJkvwZbp~)mP)^+8z!-@b^XPz*Q8@j)Vt0#{H`T+y=~78%D91D zjFtE)15k9MJ@rkl0YBZ8IW?_cqta_Q^E-bT2zwM54BM8)N_nIkyqjPd`YF>tC^OU@u^HT=i&gWVQZgJ)I{1!<-O{|o- z=xr*08>QyChTpBE{%G5HyE1NP7v#iG85k(dwivp1qhKcwxO&rQ zj<3ZOH=I@H5z zho8a6!e{}&CjthTCpp1W%EB%EQ*ut91~|E6@Npr#NtWc#$Z(7Nr{(a%JWc*Hu6f1= z_pbGxmE6xF_j1?p8UH!gJm)4KdzUsvyyunoylrG}p{*CR{{m%KxMqd5=K9ZMzMA%z zJyfmNk51X#^fQ~Mz5Y4mW%>u^rUSgssn|eI4(0~{)joCXttB;#GV2h&JIvQd1g025 z#m|uWT0ZZuIWL8);=sDN`NBwdN6_bgbwK2%8MONV-viAxs|&ts4gkk}Hye)jd-Oy5 z%$IK5kGOF^3Mk71Ngl|YSZQN!J+aQ^$@(!T_%X4&^}*grzQ?S6x#!)9J?(h*Wf9(51gNCjb$Dor|~i|DE}=V-8qo zt+^Ix)By^CgBQ0G2)QHXOC#_~t?{m8(I?s*R2TsoY7_!HoMbQxL5Oi+qQ)UFY`|h1 z#K^iu5RyXw3WjB+z$D``4vzHOW4@03cQ9X<@25Cej^bbigx6=teA)4wiGOTw7g!Q} zd3&q)$34tf5A)T-eDyG2JXRZFjTJM>lyq~&@;IY&Xi8Kn%p)gIFNFZT!EMWoeE=&cq= ztF=G)mPm^jA_b9F+t6E+Docj6Bt*$WZ*_{a{=bLb>L$|aF!WX{q}A3Rd~2jtF!WX- zq}5*Ntv|&+8>pqR``Luv>LS$Y3BA>hk|B4l-t7s!^%kEtEGd_~_<^WZuIdTB)tNb0 zPv|WddL6LT^3Z-|2hW zmJxr%(SsqmOhlhPquRvKH)Ip>%0RE>8OA6oy1RUEg^BKNLxjiC7_glY6aS{e*mhO; z%s%B*i

    ~P`0X3vCKqLgL`imi43mvPurUcm8kNiJq5TUi8^1E=}q0?k%+%b+N-8U zrT^2tC|Bi|pJ1ww4@y>Rr?>Bh<&F;vj@_4n)fBBfp=H5nrXYEnodD~Ef5@i?(i|<{9hbY(Ym(sE1StkcQXx!nEepL}_LH^bbu2M}ehOUx{nX02vxU4dX zJ*%X95aVKq=b{g2TvgkAbR_PtyJADc-nQ~tckq!;lgdHyPgIM-#SDkYJt19|tZ zsx;Z8J=@V}}|6xpiO0nn*B8x793s7x2pF-kc4 zw^v;X z%o-kjbc`x4RgU-i*uwUX_c6)fj#D_=s&G_=$!~kt6O@ioTH}t}PM>Qqn&bUzPfPjb z`&Lz0-KK~drtyGgoup9nV?Ixbzcf1lY>!YxgLG}~Xr_yrvWNV+O5XC1V9-=((4c}c ziF@cKpMEQ<{a#+?d9wY-ZP1vm@+#B=Y)tPRxJxfA<~HTs9s5KvK=)>VR!LMM;Dlqr zD~paXy}hbn@OAvxR1B_02;F{-g@aPnyvF3}CxB!Q-rnptsr?3CD#FG9|+nlv__JnD2gU;wk?0OC_(}Ni#%zx2nywtsETjPiv@RVz!T(TFFH#^`MX0qv~_L znSQGGVC8o>V5{m9@5Arkat~ zCXb6yIy)6q=a)b#YU`>d5?pL|b%d!rnlst)(7ST8Tzy2gf+)9AT~)=T!p+AVh{DW! z)&5kTi`;m!Lu_9Dp@bEL6QOMoj0Lon7O6yYGY^<;LRC0W1}9JlwLQYg6MI}(JGgrPqI=^-V;rZUVEQ#9WTP9ojHC_aQx%e#~+_y%YW4R z_>yV%_=eWU9|(?r*!uXA;QSwCjt9~_9vpo?ILh0G=hpGxWpc0&$evZaQnrh@c4pvR zu3_1?GLBZPtzatkl;5ivpLZ@3w?h#p7!4IDkK3`MVXdL3cQx(i5slcXD0tp@t|NLx z)en*25$&zVvGVw!SfzFl%06yhr7dNj%}Smry`}BRGNod6vhJOGC>a@6h={*^1HEo# z^qch3vtm|N@(@;-L=|(Lp1xpI+4--sOd_?KUF{gH)ClL+l3ndbHS60h3hSO~=T4?w zjYh%;X?D{CJ+Z~?W=G@H>>-`7jc~j1;_k)EMSaS@RdjjYaE|bIlFd%0ddVh&$u#qlRbeL67KPisWE0_J$_%Ku`_Ky zR#_iE!Sib8Pdc>)uk9okx6W!}f*a^23`)@Yim4qv~#-iex8xrC6v4${Z*h5Bl zjYuIdhDzY5Xp$Xt0%K?ej*1$(rkpf(J+q^{pC*N9d-v{GTzgNGq?HiKke7 z_rka*LHj?M6t$K-v799j#i}XR(v*kK1hL_foxQ$Xl>1;dOM5jfFHm^T)bR9B^J^IX z#7w`@k$tqckGDA>vOjYL8fBZC&!y2QBR# zw&Rssi9MQ={PV=9H{1-jMmO7Yn(a|qr?2Yy>+L`b0^6T2m=R`&I#k5IxLZ{{J!i!*0B}`!*1WX|A+ zR;*?itcZAfaD0yxhCh3H-%`1~*w5Pgd<%=8YffkM)w_py`F5X`{ufd=^fZYSIL({92Zah-TsWEg=M@8pit7a2F+|@x-m7Tjdx}Qqz zCu)@K4@HW`phy}0Z2!czRr$U!k)0>pIMtexokJmZn)x=JOnxHJz6^ zHIkv~97EZef$H#lsf$|LGhxj1sI|qqP+1qEH^xjH$DoPQD5}NKRzttuYOGBpb%~Yj zQf1`AF)8D688JzOE2P?nDO1=wT7p`247KV}(GeDGG7c75O}3cTWLp}J1gp)4e%n=! z9Smr+QE;UUp{RW|r+YFih)P=|u!FJ%nKv3;skg;Ya6>C!)=^Swvkx^kQBkkSM%@j} zqVBuFmCeU>Dt;ZsuXnJAk{uN1n5u(WJ1A_Ruz14ADf1vv?PdpasNhl3P_LDOc#N-Q zqoS+yY}kZm6lJa_=#X;n*KJj<602l3uZFF2WKbFc)W(O0@MwTfYE6TQ{8IqslsWJYACYwu-LTP3`bx;b2gzNlMk_&X z(CEoTztrXKpwSz`M$cEHIXXYrXvMOW!IoVP+$p;(8EoC@cncH&3VW>vJV@{y|5<8- z_=;fWvGJi6vKYME35>BYv#P^oM7GQBQJ1YGETFD`FMY7chK0h=%0BP+J3R0Ygw|GA zSS8Pr!IkSRR`JCYe^6FcauvZj{;Gq2<=_(QBI04|H{xL@GXYWUk&N_@%5g+sYL)dG z(I8tZN48cGY^_K=WzDRfLi)d1YpW+^X;mi^tH0+Au9oSd%QBDW)0jWGisuv~qLa+5 zWJRSAPs{b(KBwc)v1iS!>~ZX@Ua*hn3I|gxvm*0&j*!_x43h zW>yOE^dhO1_KL44;}v#awb7lF@tT4>>A_#6;7?ddg%3XRVGBV=aq9URAIvJRWBlYw zaW00XmCURRKbc;wW@d9`XBETJDr9tQ#@jNo(%IKKX0;5Z!n0EvYl;{q6$~_&Q@?}3 zl`A`|7?xHtvyu^&Os|;SxaPacc$eLO$;`@TyeA_ooqD~4DV8;*vhy*eAJ(ZK4g?Q| zE>;xSSH&={8tIM?mth}h=yLRf+|V7y6OOrup8tt1CLaj)q2o72<%%MP$yG|0SNuLC zh2<3zV`CM=&?@CMx`v-JSfHG4O=ixp##m=qlNruPX-r3An2lgEqlfDe5{*hcN@6?< z=%`#(#4yvsQr5*lOa3X6GS528HGkmX*^rKnNS2)2G$a78fSN?BX2sBE=jdA3^0xLB50!=e}) z%0vrW7gbEkcqb#^ZpAR&;=LlPEt_$L%&t@s3zMZi$6D78?76$z`{&pa>nCZoLWe9-YK&DD|D^oBaRbVu}K_&li zPShX5*YTL?lfvyn5`eZH04-)VOL;Y>2GrHp^s_z|fHp&bT@G#+HaGp#-sf^xYMnBl z3wm=X{upAWc64NGo{4ET${uXex@c9OB3tDfuh{wOdW(zYo z4L&o*Gh5bW5E}4osC+G$tsA_0idlCHX>S{|O%}A(gTG>C+nmk$b_~;P&2||d3s#!p z6d67`GD@HcC^1|K1&dDhsyYjbS;ojHD`ua#$D<3>FIo>Xuatx>R zjc>-7UFy7D&90%3g*YfIX16Op4q*3y6qx8cSm*2y40`bFsOzX}k-UNe9}7qMDq2(8K45D3k{L~p!Xv1|dbAfoWKIfUJg903YlZ&jg1%S)Nfp-POp&Ae+n7u(M z_+Pk8&KCqvNL|DdI@|z0^eZq#C4>mA|dY$W!%W_P1coyGAzE( zT?Pg4ObQ&>B?+ZpQpd}g2BODt!=P^)GjxU-)SD>}3g8AI0bO&JGG?(m+d=?kfCuK- zTM7yQF3ioGn$j=p)bf}ymKXRfs(K3*fC0BUf(N%{oGZ+eG5;Tx|3~s~w`MW(NZnzD znXiob?EbIyq@WDe?swX2vTDCWYxl4@W4)ESqyS(Qs35Ax11L;rdP!|1v z%KBCaW~o2xQgXuZWLWSoD#+2$2?LPuNec@23V|4RJD>r;K;T>9UX8p(HdySv!T{E{ z!eSdI76eD}`xPe^Frag^S^t9#@U@VcZ>aXyjBf?N0NxiK&UuYv<==qkI7Zu2jkeIs zf}Acq&S-lg^dX0Pg*spW{uaVXh-HeJ_Y_Ng`_TT)dJ_1%j{P0!mN}pR@IeZ93k-x- z5J1OS-Y>Vk{+u8II3Voxxc7>BU2ZhytLpRC5eLA4iHK?|gbMJ=kiy-9Kc4}oj2s3~ z#!9X5H9UaKH1AYn;3kKkttuTNxSl+L*r+!yUe{eu} zYD%xtspS*`!GrbR5=S5*222>~E(-_Pdm3OIeJ|@ z=X@)i7=99FD# z1p6*?eb&D$<72GlQ$&DeA#WG=SCZk#*Fubixm+#Ck%CtJcJVH$S-Z2qpPYdklzvmC ze#+o!>R2nu6~<%D9f*>+K?48LZH6uwqYjwV)W|sGIwID|d%CJj%_0k=}0njU% z=h3=}h*>ugLSVyO!06j9LpbmNk@R3-A}}ya*7l;|*KE03kRt_U@acMib&;@Egn_|L zgB6l5*%7{A%lCrMN&lkOWkbQ*jJsVv`O3G#JMzvDdUJ?mK5=SN<2hrj-m9wjawa|x zE^_rH?Y_Xb0#8<)PiNsm?g8t0VX+j_^l6F2gFrB5#t5Gmc&J!(FzZ^U3lD>p9+B?_ zIa+vxCky<|3+!5-ps#|rCsfe$g1ecr|8g231Gf$l@@ zXbAiFB$Lmcqb3w0yUQi*`3N;Jq2 zSXxy<*=m0q5L7krsSn=jlBREiw;2tnF`Jp1Gzbb+tgz(f{~GkU?}K_B9D>WbO2H@ytvr`?5pP=r+Kzw2aa}h& z?QJjIWVWyKb_h_O*#Q|>%ZEX^8Ii(&!573zA;q}Wu3rZ_DmPym>5g-Nkvo#!F(q~i zlth(L?2k%`n)1Hlv*Z}feij;yG>-WS0BPm-O!+W(JB_7?zOgXycLFg*%-2%h*E#7f zR0>Ec9RVt7v_I;auj@Mug-3Y1Qh3*t_YDevlfvIj2{7ph{^?YhG5HOB#-VUM_$gv` zPvNd^JAhMp2%K~T?4-hs*ge8eH3q+R5wmy7`!|{6=v`spbszRBR@4iRbjrg9Hb8|EQNWg+IxM7Huc`26hCC7J2A%g z(2?$?+Oj_=*flCN$UDq;!Dslu+tWKdyyu5=&qWTEo1c%4@cM9)XAkv$!J#9}FU%2X z=%FJ6GLLuqQIrCBrA!Kz=;-XgIEKT=jC6TvH#uOm@(`nW$7$6tmi@8TA)a@<&%69r z?Bm$(1aks7>^MdSd{H;yoIm|p|XblQ`sc9Qjnr$az7^#=3EZ`38Qwgvazvo$G=sB8YYi5y}YQA7=&QZ;re>{}{neo#%g9w*X zQP6+6MgQwv|5EGMyBy5Mf^pT z1Bh&aYY}+6)55T8&m=BDR9^7P!CNWV7ciH%&@ucnZ-KjkpfTVUMed=uSB009xGKLvAsjm&?_G`nHF@I51BuqIpOiC{A9UWK0ya6*|AuY7gIcG+?F9kn??~60cfP=4IP| zQJo3ES8f4cQ`D3XXF!Xsu`?`SjI9BUQ9_)}G)=^>lW2}{(KiH=-?aYl-gJ_WTx^}; zt#)k5h=>@KjEPiyODA}Xi?0y|lYj4eA+omx%7n<&kBmO>A!z`j?MEOQdjU_Qu?apa z2cc!$;VI)^;%U@|*YM8;#T53&d$#6#6kr;sCcvv4(3KMQ;-?Jo*N3*|Di=^@z;;~I z2#g^vu&W&GCH6)5ONgNk@!ME_e%bp1QRSpOf z0u#Pc#zpdYrxO9NfNDZm8X~yALn824xg|=#WBe|rJiv>l0lb({*}cL7FJ*wKuCylt zON&|w*EeN_&OJJ}WL*^=$z#y}7;MwR1?s)_TR2Z!scXuH~vn9Z2{H_ao9zZ6? zcp)HDKfGlt-mHpQCwR8R^b9DoJv~DeLx*@XZM)alih#57Lg36IC-p1{O#m(Qho>vP zZ7bfQidi1UmH>e917I;d+e@rf8M(Jx73E=?=kk)9$CfNV_ToB=HNuq&war-AM(?rHr6mE!)= zGT|W8>uB*vK&6B!mo`e+Rn`p0MO)UcGf^WoeMU#NmW&Ch&AsKCw@{l)QXG6G{lNfSHMH?J zXZmXykpy5R%;!>ItXcq8JOEfJ09L}(0rHSZ`Xg)HT{WZ_Zyv+tZR-J%#5?Zy1HD1v zE*ycI&!gCl^jlDSi=0@sa(tLD+|KC4G9)wX7_yOhcw}qO**QIR{pkIgv=j ziRgYG#EB0=sZ(D}9FSJR9L%1*z59AUQG}+SaNprM=(SF^2A)9b@}>C(-KPk_~b)DB#t3zh~!U^LwDu$>5|@%&85i*EzyP zrMP+$lqcg209f`A8^n-;WKq2an*B=lNz~>y!0_Ztg zycGDR4mOIs36_#NUwoAKClVKMf(w-ebOGy3q}oN|pt7=GjLtMv6iX=0G=QB1aL4vC zoe9WEct-t(1Mszc1XbP16a&ieQ;8`S$V}p5@&^}A zvkA?zusGu#0i6Umhj*+Xj(43!{90w)-saX_M^7?n9ytL*z{@gM_ znnaFlvbt%vflDlQN#NU?x25&JCZ)C8#WxL$M7(!-(ee#nFIq-BIEE8}V-h(W16~pN zq!WQ<5;-hmGyWtbqZ9p$_bIDPd!o3s$v6>!CIO`3m1!}JFb;Tz6M<(Ed3Z({iv(A6 zqW5@-vi8)8nARhdUaxt1JqPBN`Pk3^dJ;L%BW~&Piyn-4i|r*JRAxS^5yu1+`m2+C z0I+9bgr9-?#5>P){NQdj7^oPvIEej&rVx2Cu#ksIGU_hpyik6aSPja_tTFdD;>G z#E&8$y2*QaI@U!!5KsaP6cSOwJ5+mK2eWubSm!whxRbnu(KbFRkdw%P93h;f0M5%I zoUC_m=A5zK1{coBYzUzMXoo#9N3YqZ1W1zrpon1-f252zgkba>0cBXmzNyDWmjl2g zSi**$y+tSu0=a-+z%7NhEOi)PzXcDqZHsf7!OS&HD z1&kvGi4g&)Wc5LB0yKH`^9)A4_f$E6F=CG17i{`K^bsh=LKq}C+51=uVdmpdfDHmR z7MZ{)F{;2X2|$bxj9hgK%QU)R7zuE?WtdLaI*UT@GZH7->w;+#pqd=JM0gXR%(#Fo z0?2S(){viAQ1eN6VK56h^3*-vj+k?Fk{r#XjPnFgbYb8O2*}b*YA1*$Vc8 zq3bV<2+#m-LKog#kU`TJl`rqcXn=Vknb;FhxdZ|(Du>=op6p&`;fgWfDZnU+3`Uvk3YdUqfFtYo@+ZWEPZBxyNX!xExlRYO%#m25 zCJ{%;vm14*03`{KN$9B?f=K59h9q(@L|R`rS>?*kjTLSeTsi1(^HSC@S~h!sVhzg2ilZ>Tn8WL;1l9> z^s)LeF*~-WxGt`=7svF~Ho;fhls?Gvdy3RDm%iuAX(C7I*yGQN*3oPA^r%_Jht+5> zxAOt}3_Zwau)jFwuZrnYW`Zx7eAkha?SSY>zWNNIVPaD9N#tB>^EFEqUedvrsPMAO z*CBoEc~R!{E8XN($4baol>Z9(uey9M;q!;iv`Pn8aqxA0J`ntm@JWOZ0Lee0l>s<< zQw83nz-kxpF8Fjwox9LIt@6|@t#MYgwVEHsy7XU6Z~!feP~VRgt`;~}-;c%b|FL&2 zaCS}S`#*c1ea6Wo;kZv`l(my!f>f$HiE(L8FiGluzqaDiijzdH3GuOs=#){_XE)K1R;odtLTgYp=cbde-y4&(dru zw)LB+>#?EVc&sH~Ootup-%9(pqy5{-{_RXE^S-L{`O15dWgn9wIQ3fcgrnk@ImxQr zJy++;uVd9Zf2gjGmuD8g6GdHN09fZA&Clv}{&D=Us}r+6z@4}qemgR#>K7m5QTpu+ ztDyVEURq44QV4+uZcSJQ!fPo3%oo2?VWC`qbsL zYzp8OxM~5n8rmFdkw05rdxq;Mt6jyAi60Bxx&`3bdeCI+=f*!hvlaVn*}jl7It^tbLVdzuFsYASy-`Ku=KhCRoIZi)e3L94Qj$35lXO0 za}QoK7j8t7jS3hWZrrwb-N9ts+5yY3Fr?x1s5hbE5>tFKk6pc5eKvl2e{LGn!@zB7 z`<2WWw-%JRHKuE3aVSr(O>=L&Y{(6NuLptZLC@4!Z%MB&-Nalt8~r6+zo_I^WW5#7 zj>NV68*WV{BTNUXb6eMheW@|PF6`&>5vpqlx8u_GZacSqQ4|`MGI84eqG!gJ3aNc>S?#9H!1thSRwALvZDgAxcy;wfZT48{b7^@wk-D+N%q1eYcH#A zbbW7HWFKx8ZTrMlP#-YCqcZCN?D(ky*5QxE|5zcq1B(E+{n-iXm$?aN;ETm&Hh*#l z6~jSp5JM$iPucKbayz&HbUUQ&Q|tr@Mt<4wFs4IgzbJPYK<+sP7sA#6%kh(o+@p9C z^q>#tO<=>oGE9bupgF)CqwxqKI?$VuTv1Bi_mN(1K50)k-s^PFo<?A(Sz{=o^B~4w<4v~a8Sm3P63aIQ_0ndr9QfX%~o#OtMGAnFI%IAqN*Y5d( zQog|Hi%augd>rOdKBXj*%sLO#Yk62W&&%U*4E$^3qr{5tJP&_Y=ucgLg=LfJW{M*BlGr8(!QY^69544EGm!ABq^aI!`a61y{^kFt;ZC_|B$i*aR)mv4cKP=pc_ z#@#-Qz6#q3T2k}A;X>=m;K(3`k$}YTV`1G-%v~vFz~rdJ?938DUVa8)=m{_eivdPq z#f3(+edgu<#v;Ycln`VP14yO$N~eN_|1jkE4=*=HgO-f8!H)b65OkFLQ8X3$C%@Q> z_e@>pfh1|r;ewM`CTce*n{$kik)mygD=(w^)N}DedY^|hQYjKFSrjiO8%4#jhs4st znTo-8A3WJao@Xh>S;Sy8c1*pT`bCF%m#o6iddaO$>%rT3|5Pl5lV(-!d@e#lBcF4lV`!FnkyT z2BwS{FuyOrk#<3XOZ4f0vd)pQwPbw!(kB+&?ooFAWNnEOwY!%KEUn)d?R?R)x*=5vBtL1x&wgMup z9_^9TfPzIT+P0RbQ4+6U2U}NN6V|jr8?p=R1?b7RbqZ`y`y+Oz%>sDVH9J6N6rqd( z3t?B+wMSY8Zh4x%8?n0;LcooJ)_3d6=8dm?F5H0F8x+C~-G+({geP__v1<$XQuR>K zM%e!0pJ;P~jfuT+L7Ekc{fx!79c&AL7_0*eV3$p0^~MCiDGG}K85y>v8F8z^Ufl2} zT=+@B>;y3x{HgA@IhP{aKp~wvSErOL9Q>4ZgQ%3fN!W*2eG2lYlHp*z5^l+*EerCc z(j{D}l<+UUtCz)_6?hvG{+w8`mEbm52`XVfF7?AK5aT~C;YX!}EK1~Alu+3-Jt(ji zC)iq%3%NXFQrnGf=>h`?D`A`*7^lr{w*Bc5Qn+~ZDi5IgIMyCJlVTU5lw7RHaCgoV zA1j{uUTl23R}qd1cPo(0RTa^Ow&3+u$mF^AB{Y$7`uOcMcDvGHh6t-xSHYta58RCAw1X}ERO0B`p=$0cM7KO3YHxsWN&aaZXGXsZY~Bkf-s5HiToK=X7~+gK08g z8c99~tOyJ>3Ard67Mego*uarb77k1K0B|zko7j^Iu*3F>$_HeV0ocSYRCfJ*K^5im zGRw5FC7OC(uVg1UlZqhE(MnqaK4?JXzxo{CJ7y3mft!m^9;%5nhzE!BPT4SyhAAkd4Na!Dd0}=VoJ$!A&5#&J?d59AW~|_+q>x-Z&`Ru440gy-;S^eprfT2u`g|PIq0PxWLmhx?bP4dS{_4BnhnPP2{ z6ZHl*!`4{QQLC0M%40DPEXJSdx)?zvfRLclgVJ5dJ#?_T3aK9U=t+;56V^qO2CNH#xxrDWOm0cxukq&aT-ls=0mdvGaDy5 z8;FRM?-7;xAt?bs?0U*6JQ{xr0Qr1q_gu)bGc|M@lKHzmE+E zDS-LgCzkSWW;uwNly$a`)Y)Y4BJ&}AA3s&nlCXnd52$T6q>a zfj>>1g?}=!S)fV>(qZRuQi6H_MEpC_k7#o_Yvr3(0rC)|thFFkZIn;rf_50WIXln5 zjjjW8&Nm%{k43P__<~2D1M?`K3lzWXpe1tcBIUy(Uj}TGP-nUhy1B&i`NXI**$ij| zxYY6i>nvjj+?>G9GB?0gxA@ffG-KrTD&@k@6j{W26H`%}G+YIZ!4~Cye&R}i9YUj> zaMik?n@nQ%2lfHuTphI$mt}L=tm&;DwV!EG6u!mAS|POaP=^5 zC!p4>t{F-QTS$ly=;08)6Upp*9=$(lfq8~8!W2!H6owM7+HW&tSnR}Xl)rHt(R zl=2~^e2DlD%VLkUL0R*$Zl;u9iqC`BCnb@DRVQ}JH)X`)QRhdMGG_5otVpqhX6>PO zvXe~wGAuT+awSi!$e=GbW(G_jhzBMw1DA*Kg8Z^XRGnGlJ>?JU2HMGwt_15;xRr*4 zS(jx^2#f=yli?o)_(Z?ht1Z%RfSsRyGr(0ei6i5{`qYOVI7SiIRo188(=l5D$lmW= z9e3imQ+?_k9e3uqbA9Rq9k0ys%Jr%Db-W7482&Bjz=tNsanACrf~?9)opLq66Pgsf z{8RovZ#O%tl7Wv+kWw+H3zM^@D8BR5uV=)@@LqIZ^BcU-rC zZ5uZTs&)4AYePR}T~9-4;imaXqgu)v&%RySc(zwuqj>Y#DV~(TJ#FRtQVMx4Bo_T#)? zG2B+i+qt~kt_afF)@?s9HW(~PT4W?$=eeKNr>dgd2GUD@p=3L_fo_K)280~%B;X}! z3%I2Qqy#-I29XjhVkx*=1c@3?qw>4wwfpQSwZn3DpT$RlNzvXkn|!fAS^IMHeeDtM z$1`L1+2j%K&nY|5(gAD>+SfkyDOkJ(?T30byxbkUi9FmkThPvy7+}`@${e+j#yBwd z8CX$mJ%};}1m1=OgKxnC6xsU6ZEq;^Q`Z1rn%wo1AKPFE=k_#11T+-HkzLHmvh z!Ny4M#=pFeqmk{)xBB3>tQ%SYvQeI+I5x<3B<#}=8%DTt1n+%XTb#6}fpL+E1B{d_ zHiXAePjFo4tUG39-}4!Arl@VBZD_4+m)eGQVH!v$RX-1r4C(rvP$NVKi^a~V1f0wr zPu9p_ck}^uS$7Hx!6>rT7?o=b zBkrh7epE)n8CkGgEbRx0McF`V8coJ}biT2~OgbYgxY1U$bVu8ZHtLR`yJ#<3#^q(~ zMLRX>pNs89J2oR&mu&;Lcklp9c&1=$&_1MC6rCPmMc%Qw+j(^j%Qdsc!Bi+eQ4?KaV24WhqLa1y*j&H4_n zZO2abqqXM-VgvdC^X`tHo3dn=VijN?@82X*=&^#sa2VBTHmZX_L^0j!rm zT{h;wlpZjb1;`abVBEt7=8)Y`0s+RT{IFlC61NQ1-q%5cEdSX1nJUWxRiW;puDn>UNTy- zI81Y%Po5JH4JH8`$5Q=^rmFEGC3s0CfX!k_Mn`}(VBO1<^`qL%oo2&m;Q zcv-ZFp3l1qewXG3puHD+Zk4vTp|8BJB7dM87(5eJd!K@`R_cMr+(J)y>~CVGz+_lB zHUP#50%-xtKBY9DQ6-EUwOUVUKj;AJA{@X4`dUOdVCxHosxV)wFtJVJ-$hBOTLHJe zk`7+%hGm7LOkXSR*VaEd19fFVUGcLc{c1Ad8o0$BkUKxQ?7 zFs=Z%PB#E{hA;F55^I8W0Cb6Ff_4IQVGba(MU~VH7qh@B%^Ty~fnZr6n0*Jljw!n- zQ(ypD7F))0&jFWZL1v|%!zXJr=)uhLfMuioh<+0F1P^r)rHDBv?s|#JbE!FOT}pYz zntdYxZ7kKe%uhxu=%=Wy-|ZlaMo(z$a*;Yk(N5$1QqOs(1N0N&R~ZL&72%LhS1X*i zn@<(cD;q;EC?-L#YyG6>5DfOp0>Drx5?vG_tWwXRy>C!^PtXm3Q~Vk1su9{Udgw-9 zl+aCP*vP>oYFZ|MV1J5`K=hnjjpw1~yw^c6%ae5@u5nP zKQ-VuMWI?$*9UY2oVs6#swe~n+yZ4y=kd(2#{*2F`%ton0Dk5el?6k&Kj&Spt0m6R?y5E`g?^p)neTdI>&dq0#Au`0j9!yZvzlMzsv`Bo~tp zFlZ_Tp3;2KhL8_Ch=XB(l#L`r3In8sFZ3y3dlvz%XO-`>lx>a-B?ZKq+5oYR%K~Bo zR@~wf{R)WbS3pd^0%H1r=sVc~&?Hc%>jGjrrc?&RbesS&9Vb9c#|aSAaRS6DsYC+A zDw(AG=Yd#9T6$?9Hu`@A#7G@Iw=xjx`27K~dFQr#3n13=g9c)AO#ka&0Af7CWdJd~ z0?PtotxEy1`D=V{Kum=Y5Q~3#ADaclVE9WwjPfiOh&8j}LM@6N-vJP74!#`_qoihm z5CgH9O8_yez^Ss3F9R`ZGhFkBWdSj&yA%*3@fnIAvuvmTHv+L)nf$DO6Nu3rmkGow zzbz1(yBr|)Vep?pV(Pqx#FB##tQUa97A=m%DEK!av9T;KVtbtZ&XL&I?7xb{tfy0h z5)zxyVM!!r^#qAEXBR_aBzjOCc$r9y9={Y4BmFlaG0Ok_ATg^ZxtEaGjA$}8qr(c2 zSW7eq;yHb9NUZW3kXYpkkQfhOnMmxqcTD1p;1wbow$FLSlRf5+pWrMMx~}IefE5CsY0J8i`eY0}`uT0TSa| zwM--y_Z)&(h{R}-?;43!E*FVWn5B^zJ?9&dnEFZ?iRrA2#F!~D0JnS(NQ{z!#AbF7 zsr9Xp7zsdPB={GQn3ie35s8hCkyz!5kyyuNAh9{sB}!~|^)isylxpe*5}T@Dkk~Z+ zg2e9CFG#GVn%0hy*sVI&HxndwvyNjVc9V`{BzB{YV zfW&51CrHf464B_e=6@B1`C&|jk#Y$H_DJ>jhrkw`w;TlKW1^UKo5}q9hfIUbO6O;# zzkvqxQ6@ABj7PUL^14;8!m^MTo^DG}VAl}w`=P*YR3SiKH^slae`C`iuZ0z5$z^cMpLg+EnmM`hGS?B${^VlRcd zNc>-qx+ZnbPwMc} zz8Kmf(elw2DV9Q8r2i(gMftxMv~`PBliW*aYZSX0Q}a=4w?$j191A~+^O_wYt%a)! zY5C!I%y&($UNOp=RJ{U}MZ+%>WsRL|D2w0~qAXhBJ4RWzR4*50QJAGs7Ms7kV4398a@f~s_!peh|Fs7l8Ps?u?S zs&t&7s!SVHmHDqgRT)~^_^si_V8_U+kG_+c@LSs%Mu}r^)n_SemHGa#)u;=WgRP<> z#rSIQ4;fyaBKfElb6Zhk#R#jrUbP5EE{KKzAesLWD*)nn;2ryV(S3c$eQU|@Bf#L z;Ux84!&%9}E!GLZSuN?sa25ssCY;q|TK(5RRAQ$bwOvp9+4TD?+uMl$47~eJI$}AUhQJAG67k%U#A(tj$ zC1Pu`&dQL>jQ$y>8PmTX$Yq^|+)I#)&p-mX=KF0SSJXR7uq)~~e6U9QamV?tkyqv$ zkXL2}$cqovGLcu@aR^=^@}fb$Yvh$#F7l!+Y6S&L_|=|t_F6B;~&NoVi0uhiKB@V(GId`n%s@*z8qy;%%*VVXni||`Na_cpOj#de|U043^hAKw4 zV%XiG@b0?TgzIxH-j_I(TwrZO*n>+OxgKt#q67lX3fSR~IUwAG8zTq!RgiCb_<@W+dGVl@0e(+_yH*U3F1fJ8;>C!*vAJNl-@RKsly273xDNrLWP) z^{&C03+eZjJLTk%QWn~fM_2BtC;UYG-Tk~6_H}(br!}Lf4fEuhFNADXEO8BsxE-06 z6$3k0bjox@q^Ca-`?J@U8^B&$19R_T<^BsInif2+TyDqC9Xe$@<`<>#=*qaA3V3ww zj5}8jcdm@vwIFvc1T=PWyXWq|BrRRCJ-EJy?W={@Z7qRuL@NiEZL0M z5o6R;n!Kd^ZhOfd$OAaA&d>Jipye7iJ(c5Sr&XBzWW+7>VN*nh>H*dEy)JK|dtrA(NK z<>bRiNNwmLl3Ej$4Y=ZJ z&%BjtmxSc4+DB1|c`j?azZkL21E3E_I++^Jz>q*~tqoTJx`kRJx%4ete$JRFJZ1ZIdMVu`~Vfw(j9qp(eg8`Wvf z^zs!F0y)!jP0=RAIDw_`1dG~`Z$m25!HYH^KHJN;qNhb^a1oOt2o7VW5^}EX!Frwo z&LiM_6SS9ni2003!0-YOmoj$&88cM%P+hQJ&zPuQtF-FzBb%nJmbq4zK)jF~F1CAK zqJZ)qUJ4j1b$ewEj>EO=vLtIth?#r_GkM#WwvSXnGU$S^38;q{NH|Wy6uGBARXbg& zpev!I80@nW0YOwtmr6qSrg;c{qig^;+{(%3I`a;bO5%8lA*u-1djfaYCq*E3?9t3d z+O{Dvj}Mol8OxbQy zteYsu&C*g7k7gsmWa$&$B4;s&L)k5OMqTIU7kPqunZ%uJ3QiK9@&L`@icTJPBzt__ zCa1CFg(Dg6VRu@mkr+phv|}1T5>x}zbM+SKV4;lt6!?$Q9l;?jZ{xtd z>O>&JKbfK+8$7Gh&FD`n`k#q@f4sAp@_0ZOAK)UW@Il^x51@#INK$E%&5#s-G|s4A z<~4!zhiap0>0qoMS9+qkPsj4WWtkFu*ib5QkKr`+xL)sB>b6hlpC?Vw@k!qCr{vG(@M?PsudCVRCY!A$V^QR3 zRrhJC`;2_raA(Wg%a28Rg&-yFZD7s6umR%rOz@1v%Ru6xYHeO>b3Ntpg7PRSGfHm+ zfccV_j7=oNaV?rJ{Z-y-@?QI^C(ktwUZM1@D)XzV0)isaS9GoNQ7Zx)Bd0a@2Bm*f znj-P|j-rfi`d0FKz70?8FDWM?uQfIo>m%Q^OspLuWe{C|Uw&wMJ(*YmFhAf4*x=Jg ztN$5R|9hurOGNxb7Djw&h-6$OA%e4-3HN_wcf@Ti(?*wHivGB+Ev?JXutxdtj>(uT zS&RAyx#P>W$d@ylL?;T7FPrqGqu^1Ge50f{qRo(^nO&1U3FiA&>bfQ}20OxgGFD3I6znW$nqWCnBs4WBb(vZu zs`F^mA{iYQEKO{b&@!fk#vY%M3ft&32NG2qYkLrYSldXINTvkeW0N9@bxL?L6z4hf zg^M=X%!Zf5o^jg6Ooe6TwyjRdB{bXRa*9)#@Q%Z!PRfj_ewnhKS`&BYdxG9Z8VpNv zZ3m5~Tnc>)oaiFQEQyp5bT$5BR|Rpy_5sz#FUvJP?sM{+yT-ibIJgdnvGG3d32!5x z4E=*!91e67aJphi5t))3ig_{Sx(`aoGm zZ>veiJb>$NoyVdi)6C`Te+eXeo0-?Qfn={Ta?oJykgOe&X{+OQNY)O?+96pxB(uei zc1YF^$=V@VJ0xp|WD>^yPeQVw9g+!LE(enRquReSX2}pb50>1wi^YWiu$ggy>-yAr zqQ-!A(!B4T&T@hhij?qK{Rc7HMqY{)qt}%PTd59=+;_?UpvJa>NyB=ifQe&=u#z=N zH2hu10@jS3Ajv9S=iJq2rP)u#_Vy}3maW2e$XnSqUL|G3oLfEjG$1VKnc94*ospNk z=aT1cEqF0f{>--LTDv~gptFXsin4SO7gjA<`eMS7buo?%dhACHh|#k-G8K0GA0kR0 z7Q?P=#^qesny?$!y1Q=S`mVe9F}FcOxFMH}A}dO6KH|j!ZP8%6X_XiLHfC)AJwsbM zffuvVu(6igq(0SOXZ^#Tc^{^%r~5IySkHtP3worpqKNN-7ekpo=EZ`=Hq~;Q<^J+d zUmTh7Vw;oe=E;T-EXVzf3e{1{-cGwC|EvZb`aUr)mR)jBE%9Q}4#``&t&8C{Zkvb~ zt3vfKh&AZLyvrLe){jiLb^YA7#Sj7dh!?AcDGS{8g^<0qLN-e_UTgpn2f6`nV3F;T ze-ZIw5MDbFa|i9JwPUyw&t+#$cP=0@zY7%EPHxxSaQevH6hv9zb}PV@?T+9f$@b)Y z&jM=mdqI)yfzZ5oF`9f|i5$iYh_)KOFPZMA&5?~D+Mfr2$f0;KINy|UzQ&8u#DhdV zYR?8nvmid$6?zB)O*=UBP7h$0pY#B+XZ-FezD&C~@S5-|-Yh3xj4~V;9>A3Y*zhi1 zG&_(xv2m9@c6hO|61WfCFAEa5N7+6I2XPt++lPm^gWMrjYu1(y<$5Gg&4SzvoRyQ9M*RX>K)V@yaNf~@F{%gtd~ZJGr1gIGWxGf0xP-3koN{F7|u znOhR|FV0o_MnW+N=OUCXxKn99?Ah9HW3SoWgza zrvON@ODyY4rKXRzq84|_ni9g~1;*q}^q{w)&f4r87RlzvjMxSL87_qk|IzO_`YZpty*Kmcy#xg(juG8 z5Nk^Os=%bBxB!=CT?R&sh>Ty5WZGH`WBNGa64V)t*dpW2*m8z)0M2eiLM&#)ZWbd3 z9d?s=GI%i~hvs{-g>19U7zCN}KxVPc7GomFAkJ=&$RWx?GNa0(mrXB3PJClvd?TD! zbkJ&y7=a6o3JkPAS9+R4bwDU9>|_SjH&wTrO2rbY?@qMp}cV4E^i;fFATDr2WIF=C@}-%#{>X`}nJHyH$(@_-#{vo)Cr zvOi0UF&SS-W>i_Z(oRHQVEkUIswJYY$rv$83k`tqSb+K%eOaM8AT+8pGUn5DyXjPV zUi>uS+frPBbhF1EMXW{lF@CjS%pO`y#2*F!hQ$mpdBq{Y9u*ZbFE$Z8}leiS4d5RxQll8N?DBH3i$@9QS}+eZlDJPaljeyjErLr<~@LFT3?l=ldl zEI>?>ohBtFDT3^d5+epl#^`M|=_qi8mSmfq#Uz6GUktyV`&RJl;dc1-?cmo-{}RY8J%rywrq*}i z>al9&8g6w&4%Z0Ra%;M^8p5?fb5+pkUHGkbYnu-iu2@}MO-;B?*^A4qgZ*U|*}^`k z7G~VK1yl>sEiB-b<-(9FVIl15y6Q?d*G)bZ-SN=sE<0HiUtHKKd6HJlQv0YheZuu) z3)7`U4O8Jplw@Q6-vn{PO^WCj;-%$!*5HcuYL<}1+;>4jk{ z5{9|YKQqhbRQQwp99`cmKTkhDbw6>N;g2=#IAjY`a>q*i=6=TM&nPEm#Z<6P8sojm zx_3ctS+1@SZb6;vxl&&Uw{%rx%z%!L2bSiC+ilm8QLPiO(w;M7#=LYK?yLwjaPZE>7#FIOepn)thd zqpNTl@Rk(*Q@}MIeobndYdv{BU7NHGvENeLyhYof)yB|3#@8j@9^>WrBuT*W=C;Ja z4U~F<3OrE-zES_+ii8K#O_Umsq=_EhO1LJ~$Vq8Z?Cqg!r<#va#!cqVBje6?i$|xy za|vO;c-)bSd(`2k;F+S4=QeX%!jtJXPrVKwrW7tr<$i|;Q_9_;>O>>ZR49qr0umrYT?=r}z@_rvOvmQ`7v(b2uRVDQ+5?BYay;^EOR0S6$>@{EIyK z8X+`FI^2r*ll#&AcFz_CL^AF88(F}E66I6Y(Q@&za!Zo8M@8Z_IJklxc0(u>@L8qjLzk^V(b7~ddIu0eC8omUL! zN?1>hL34SyFO<9F3sIMphmbEZy$r5F1$hYZ_aaAs#YM(6^fEXF6(pm_p8{It7^KE| zRZc|i)wtb#V!xxtd56YnSP-EOB-&c3y>ieZGnZ|i2>XL}-S(ij! z?*pmoA+e_}i3?E*nZ0tC{74r*DtF0`8L#{hZ=#I*gnEA}D#TRyKC?E%X((f2dAI}d z_c2lM8~VbU2F<+Bq@0(Gj(+&An&w@aX0&{9{%&qYUnz&LNcRuP?U@AMKRrI7U+cQG z@@Pi>B+ZB0&~S5m!EFfNq7mkbgWO#%d`}s_N5-?2@oA=?h$B%3KcZM{&jk3+@HHSK zo0l=4AKZZWlQQ2~@&nT2gyX=G=xI8hrtI%y0r>h{U^(OWg9p)tNzTN6U$NgO>xIf1xx8jy&OaG*@wwPMdoJQ8m-rI* z!1E`A`%moqgTGKA#QEnk%Nl_^oP;iqv-XMofnt9^*3FhHK0uko2WXrxq4!P_$ix5V zD)NyqUJt+34?mQ%kNYt8Lu$6OW+Gf;?TMpL25%pPSIyN&0l52&w-Vq7gpbhmDuHT& zGY|r+L_jfbf*($l-xK~n6XgX|kTVeXqa7E@CCDv|?{~AE-Asf@*2#Qu z_yyf+_rom+AEGJA{csJ+Ean=N?=IauT!f~Q3TGhhHyVFA9}zwGxA=aj=y7%z5$-mJ zOcWLvT{$%me+$4j{f~A(Jksx$9(L4~eX978ys192tZEZ&XM8z*RUeOZDL6B>`nY)G zvt9^WeEhk4(7`_T@l|&pTS6z-ZmA=qfNBY+E8%obXZUzGTfjp;uED&eO-^1kj{K5Yq~QNm|9eb&bX&I0DhhfN7T_i=`EpDQ5_ z>3T8#qS${S_H({_4xdfmJs6J^$*v zzeZslg`-|p=*xt@;=5OTxp_5L`!oDu-A?T$q}3WMiL?M|n&2}ejS1M~=!T2aVMV@0 ziu4t3CGb}M-mjl$FEDUT8FI0INr&8MTvZv&yN8|h6GJb==*g^8oxc?@VPy_ij^#64 zE;oC2S{n1Y`*3RI2CEUeS^=^7)ulAgt#6;}=X(RjGH%TRcx)}SG1kt#dX*m+jK5E?(bqLNXIkbK6iQwV>Aczm_1$vyupLY%e!CW2@3;aiX3_3HdR z`C-GaeKi3?2c#-=TyTXj%+E=MT{-S5z!ti0xlia>q+AE!#!pqaK7s4k`3Ld?jAL>y zF@+71iJX4j26*gwxd)&2s`In_a6@8lSU`KDR>B)`^(4EIaT^t+Q4gZqBsX$W8exrW zBtc)0ga+F5cg?nz?F5SBHdzGcGwvsK{#c2O_A>1To_ky6dA5ZKrvcO@Twa$Q3puGY^Ph^xn{c=zg(7xC5zobUU~mi-Kv0c<@qWL2J!H8?+|5jos8$b|<6V3nbta; z+s*A2k3N0Nn%&J(2iQA5B|vT?vEBThVU^iJdWKVCa1XWXyAbnc*VkcxLO=LZ|03lG&@4&(f=0y^=(2C)rthq~Y7 zuHtK(1-oV3;fS!O^QhIfm5o=fLkJvF0L2XrkIdhzeUX7}1r#WL8y*d=^H8QZI`_t2 z8l_3i_?41-KA)04Xt$?au@D}kY>y?`u?6HQ5U4Qyc8xU*bH_;hn%KPnZ7Bn7ihUxn zPb>i1ey>Y_HpOQ2J3&73#I6OwrQFGd@D#=V1F=D2r@B*h39P2rjDDxcXP(#&;70UD z%|bjS7(vH!BRD#@T31N^#Q$H)5*Mb+au9cPFFD8?*HnLr&fXg_&+(X?R z3>XW%tFr;}#!8T))N%PNM7qf+uV;aN`Pl)mk86@~zuL4aq;S#fssCQ1fNMCtR+!JE zFRl}&Q_kZ(*DPdL?#b~7NlFKKHedqoWgw6WQmnWE>0YbEL|t4=mxBA>tcy1j(?FlZ zC?=Rh#bi%?+o3z#TQcq$kY0W2q5uhtTXl9TXBP(fx#@60!1hfj(4N^*=ympxoS9%m8CQ+WYzX!sI;ng_(Q03hBy_K^6nf&&x(@IPA0KN1zu zbyD7|lqDevL?&W%r^m~87hs4>xL)|4lvfH999(1@b7jDF^{G#!;@rZ)r#jGMpPQxz z52zEx;_Os_dh+dl5D;Y*s0ybG9)b#)tbicdLsZ3hh|`A+>M7t6>8Gn0eD7xf#Nw*Y zw3IW6z|LKyTpSC67MYw#KSC)PpMj2ZEoD{!k$Xl6Q7QFNF6&2F0Ko8ROUYyc82N&w z>?)*~0wvO2v|R{@5d~}RGe-y!#3xA9o*>U zMlSI4l|qggup@5{Z(d3w6B*!P0gVapqeLdipj8)Jx%jGZqrf4nF|X_5>s$mAzG2`H zpeeKnLX3yT!!$EWF*i~N>LXG1R4g~4Tg_Jn^T`1CXb3Xan@}S%iFzB+3rpBbKr$68 zv@0Q?5fnl~U?G3+arB`8q7pLc0#44egtby;PXQYXfJP+*DP};5h45qHJ`4E710*UT z^E8m~%(5Qr9!3=<~Ak4_0 z&}5T9ql)^fG~Bi7%h2ho-%S71kAP%u!jaOGVByVJn{&`H80GtYfsAyau}kW%3pMiR z<>qda?+}jG9VNRy1+2;%oK7#`w!p^=eSt*MkI}_gQ~hFJ0CCEa08!xZA~F>)yv&b# z5c$2P`mw}pT?pKm0yZ*W+r7|+U`dWsa3OyR03=>zm3>{h>sr1gVJ{)Z6i|_Y+7bf& z7^peD*5n`*aGfxsTImg6(h;nPlCU-$uY}_XzupoqjuS0lqF|yDvg!${WZ9F1E(ATM zV(_SD0V^_QlMg76KcPzC;$%zsmf=X&1W8yW@R$NV3Ogzxz>%?<)7yLiqXpb9ISJkI zZJ|r8n2|6ieF@g)h&j~~0u@=5Xix(D7 z9cWn4{yEdxGQ)Q>d<|wDg@1sL+AxPvS*TD5>4`4ho8B<+5hO?^G`+zgP)`-zQ_OV@ z2Qf%;m<1ALwJxN+ktREgu~T2T)ock#o-zpu2JW2&f%II zt_k4ca4ink0(9|{5=g2Lp4*il-kLr6VT{5m*+2=DJ2Zbyc|T^{Ion z=lWbVEy7~BVViqy$UUvFgNUQO&3d?6*P{qN+NiTMZSupwNEL45I=^qHbVrxc3}+KA zu$5QeD7YtQJvr-0tJnH{MTj|X2oS15MA%_u+ly?4iGETHH*0h2&5~P-R{1G$Hg`XD zn-{flS90q*GGXto?Mk=q&4u2&U?uCrSs%`#TW@Dudig^@R28ni&L8SF4Y#COwt^np zY9KJm6NYlz6oF9{?&tNXV_ZFGDjnusUzZ;k_9H?`r?A3pSD!kTE8CM~`(oHoE_ia} z8W=M@&{aRzzo-qqqEbu4uxp}WsNKT28J*!cwOs%~R^fK2^G}R^PGK0>k)d$Mp}?;l zqTRnL+|G4=qZg%O;%>=y;dB@1Bwglrlt;o{dH%Z&g-Y8c(mkwjyVpU=5VD6$yFG>i z&~}Gr+cWp@=jm!~`Rjqzy1KoJ;og2wrkau)_U{?}kDSa`o<@q2VC+ zE4RNJWM$(fu$Tvv{9x4EJPKbwBs_%EL)Z~Lz8O!hPi9eWqz69RYeMSajrwTjBFxPBl~5Qyb30;;EognI5dKi71{%g$%-Y^Ohx_RXikr=^O=^| z?;<5Ex*@JO6urZv*(U6msA((_vkOafERo>`8~x~aq!urabDleHC}N1mMq-E+?s)o% zVo>=}4EVa+37nol=g?(-$0*^6JfahafHzI?CkzF^G?H=HrBS$EdKc->%xCXge%p+cxc zIgLpV9lgSdTI4HhMd#aTS%6V1fTEgp#0Px!szfmgkq(7rBs4*-72sC-j3R(sH-&K= zDy+(DL;kRistV~g6>ufDbBN3rFYPuRA`DyMMscAfE&yLEE5Nx5IG2E#3edr<DikeCt@;CdP#xw?@5jsNgR_-1DNS zv>N&9RX$$R3WGpQTdaZjwA)QDR=~yNv_JtmV9~xxs90p@P$*C?!g<<$XceGddR?5w zqBskHas@z{-5C|2gT^#jfSH+Vk;N4vOpOQ~r3U zpz$acoC9^obX4SK1vC?YCUkT#COH@zM;#YOy+%>5A!@S%bTD3bzSaQwwcPqTkE=j$ z+iR`DaQ8&T0AbjI8{)#*_%cBmPawZZ@g1kcceHU#JF87qfDWc9zZ)&T z8_Dk`qhsS;)hfW}T3jM36>N#~n54`n5immmI+&?ECL4gCOdhw`=4;@4I9hwZ_)J*8 z1i)7S;OS)Ps9#Reg(+N^9p7V4e2?1{a2o-06`+H8$w6xz^^G{{?TRXPcfJC2ut3GR z!#LnOC=P=zam3o*si=1nW1(W)<#B5e{!lFf5X3$2jvLYH3qZF%XruHrQZ3RAbnumu z-=jWw52;xgAWF0_Km>8YjR6NV*~lQuf&spQwE{Ye0(3AcAdCCd2k#?`Ka2W>8Mb}e zDp($%_b5V(`d|wY9xyJLH3dW|tx1_GZK^NHgUb0q;wpiz6 z+Vr#v_cV7LP?|VBqf1(47!XaJp4IuYI*%q#1EK{7+G&Uu9V%FM&?bZ&aKjmKrJqy4 za|EDb8Xe41m7X^W`+2Iw*OEAMc}OoP>I+0g-P7`z6X)@w0$wD5y#b>G6h5oOaPypA zB9D2Zu}R8eMKoSp^42&x>lPKPTky$Mavh+uSfy1Atz!%o4^EU4AuI^8y;D+#$hEi zS@pM-tM-(eFJ4@5=7nm1UTj(iilFkt99KdY3JY{a`n;=_I)fhEoi&m`OC;$& zDovlTTWnphlo)!9H7M0aZo_D^U|@&axJGPD%w3Q}ckJu}p^LGQ;{B^7QO z*%0)KObC9$8xPKq`M_qx+^lRo@Ka8IN;%d0v*G44d;1w#|EvH*Q|C4pL(>O>CWr`{ zEp&x_fmOpTp=-8`YKT1@i#dVTa?GA?E5P{HoNrx_1iIU*5dK^l_vKPwZ0lTJm)Ig$ z*=!4Kvu)f^1Hx8iBf~?pr`wK`?FvAR?ZXE8Kz~mACtC(LuxYUR!2A@PP2he}07C2# z?kIb@oj6Z640b!ZU6NifINUYv1-oHtx4YX7K(M>pqaoar_TGzLV0Lww*zHqfhQAkv zb^F$Y`z5`=?Pq;p|9qndL4!)U5j3J}eyKwIic1j>qf3L_AXV;QHuXI?uH0ZPKLuuU z*l3-Sd=82G!J+ODX6uJCRX@!Ax*_}xWjUNO4d(wNGzBl(X1;@6p(ZTt;;WuC6ow|y zM7t@rCpnVGIn*7Q^aC$ED(VNnjrzgSGPZ-cp&t~9SuFR1V>msg)DMo$kM@{B2l1}E z;&6^vy-(m$wBfEULDZ;{nhi5WHi=c@yrx>pBofG#MPVGe_!O?3Qec|=2T?VrD)V7n z8YbI1Cdj%tTr*zfHo}9@8Nt|MuMRO^SAMcWG+VmUXu4!#JW{50^b6*^0droK{50Ve zOLMyBw$?qSc$)FH(HLijtJPbL3(PHJeR0t;OhwO&Z0TrNlAWIzE{)b4RTEPRbD>Q` zFT?~0Epd;@Cr=8tMOJmpOqo{}HLqlXWmC%<2$xd#8LQRkET(q(nFzh=_Lp;erjRy^ zMC{dU>6kjUl?)e4!*ua#Yno=8O=^B{ZZf>RNx8vXQF0;%;k!j#xWn9AalAJ&E#%MZ0X2$Dyw%YmS%L!Z_R+0 znOuqs%;A#0<};0pI@>L=;SzH;W_C>JZZ*RtW=tuYu_d;=%$ia*L5oKpXc$)C?$E7b z8ph^dntZ9vm~;iqxnx?$Y>SCm%)F@AFr#7`c2C?iG=~-=12e&#t8R#-ceA#<<=US} z$Bc#X~gnEJuW6WqEndiFym1^kL%*&T%4s@j+hf>LQh1t zbUX!;F}E3R57*{5n%g{uTC!$1%xW57On9X1QJZ4U!V%LIW;cJ~;WGDl)(q>O8nwWaTBZrDNg|FzJwKo#qeD@0Ge_8iTv2OCrl{wsapzx*P5U-b91ohf4Axc_dwO zp)M>`b)pXmNSB#sio!Xe2 z)1owb{W=nUm0xsqha)dtxTqBgzCq1k*ZZ(GzU%*$JeYNT}J;ePHHwnEcuOpi2me zjP2CQ@Fk46#GkY{U!wcLklZ9DB)%UMNB|E~5LGh8hbPH*m*O^L$?aT(72$rP%~p`( z#8wdcgR{ukPJJAPgwd7w#*tV6w8%88AB+cN$~{R7Q^ke8-V-Z&t@sk{2P3{j)o0~M zyS~V@PKI*|Fm6Qj$={4oiR}5D$P(?SB3nBpd_V~w;PgQ=oKwJb5hP0Zk&!5o^5+$O@MP?qymh!#M>!<6~T>JANu_yvTYlwxxSkv7aT* z9NF86;{Qw8mhL$PK1U#w`}4l&^SLEkx)&7o0%7pTFJkWOLkZiK!e&c1PoeV&{i|&3 z1g);D_HXuwbvm^hWKh1vhX%qDZU_`mW%rbW2!iF|XC)XOei)e;?kdH>Fi=&Bgkj98 zbOE?dzZtElGB$VQxMO_^b7av*m9A5L>OCFXPE_?N_7E3wROwc(Prak#RXARyK7|>x zsG~}kt4}ffiaV-wtJbF&l0C?yO1GNjiK`RGs~13IYd{&T33W4NH&@v+ZLIK(@PhK7iGJkPEs7C} zzafm_yzxsg`EKu0-f6j%$;!8;9KrVRzR(T;F+a{oL#?y>J6! zZxAKiki!j?kmVI_yD^q^m9Dlvb*7(xDHX9t4dF)RYAovrZYh;#cdd=#nl>(mo8a4Z!P05vI+Fq^~E>q(!Zoy@W(%>zXdpnEURHeY2cA(mvL)@nNbXpmn zyJxD3ZLEd?>3$}MsNRJ4(S5eye2ZdOuj4IopW3nrDOA4{DfDw&KZ&yGOE!52F9d)i zn{AbJJI=Sm%udG*SlTrdfoj{k{sZxXT5RX4j9F{A-u0=fD7PKx7CS1Lu{=c#>^R;< zn5_tnv$NZ^0RuZvP|fXLlzp9T5SDK|je75y4*_kXMsc_|m<_m=dwZdbMXIo@s}xnU zr>rLT<#=Dr>)d|uG@jevp4$ODEGQX0@B=wKP|vMW1_7^q>Qkg&lIEA{osMo&1+?R5 z9o(j};UGd{uPHBg2g3)Cx>IZ`^PM22tL%{;B%|$0z7xIEC-MumGuoQ(M02A$noZe; zt?YY#wqt&Zo?fGuUkA_^J--p2Yc$4Vgcm(SwdZIrJWa#KNR1b#8>Sm6PNYV7?+k+{ zkT3WKsOo2845hZH^-l?#bU}Q_SWoO;N&v7D%0okyO4~Nr+ z`_d(`i+-gZ44O;C@oJP!>x4UVv-q)&A0y5PVloA?_PJ5W6TDfB@Fpky zg)_+#s?-xHz}aMiZz&;`=#>Cc+8Z&6qBD@>uH6;;K2l6kiKlRpDSmXoL_a#UwI&QQZVWNYp-1W#+U6#sAx?g6zeYirgbTo0_WZ+V+n*I929=X>xQ$ua9m0 zM-GoEhsVgW4>_uClqIjjB15wt7P}bT(E>_t!xzOb4C5!dI@JXOI&0fg0n9a_JuXR zKJQe7k^4(k1QS3nWGcxY(Dq9z@(*1B&i=y-L9_q#1Z6pB^c#d)J%QHY+Fy#j28CKx zP(A?aQX_rMI^*0=*A?v~#R%_pOxaDxdIGeSnEpji7);A&fs^P7p9r=seNdaQ>Qno? z>xDpCyl-t!sk6E5IfAsM2TV(YYz^1~Ue6`mkgW~adcb@v0l1ZA|1rVXKq&Tt(tc4F z`K1R;yMSg{FjStPSpF^+cC7)+a)o#3QeRep*b81R8$j&&8iZCEzhkso#L$lie5G1O z6?o6X-jDFB1xPXPD~7y(&DL&|4VYS4Hu3|d@_@mnpw$vMO&;(Kih2WWY%_SkY9(G^ z@!TF*S_w8)`&&!*!L(0J30PGrdZhab>G3;2IIj}S*E?-#w6iCWG-X$^{MuHZGyvc= z1%gdx%eDSig1eQ#T^T7j27W(x`{TZ#Zwh0<=o^N$Al|!5L@9dm%>o8fb-*uhxXs2> z>Jq$r!og%&+I>p!=<4b;@TkM7=~KG31Ee1UKw8iakp4FSq=n40+5ysk2|(I7-55>m z3?K<9F^}6K0!Tti29R{6FCn_n4v_wBfb`6DamW8(50C)T03-qE{~TB!Hxq6JXF55kS()i2)>C5kS%fdFTA60Mg~v{`3B@b;Td0^HaKq zG7JrdV2hW5Kgx(P%DIy2-5U9^*yeG0r9}2F2h)^sm4&dQ>j+gO*}LZu4;q_ZT=$M- zO9|h-gpCTiFhqUP@0S+S1>Xh1^^z$_aPU`uw{Ug3g*=wbY7YaxwTkdVYrq+;U9%)Z zly6KUk~g+Phz5hJE`&8IMM;FA20Exq?jc#d>!uwr(Cg>RhV5lPY?UyDY_&Lem7A{1 z4cFtwj{iff`odz^6)`>My4FAnb&L6=Of8n!utO%lFsXaK^``0g7V${CLlwQjhLEJVUfkta4fC;5d~LoeJaPqM8!kL>wy6WYrCJa-H0pVXSDeHpXigu;F^=OcSGdp;EZp!}lMAcitV z45=!IaC}GsF};JKe-4Too_L4l$F72fU&fqql*SYopn}|Q;DHW{;?k~`V`p(Z@F^ngx{9?-D-+_hkA zxPe3yU~R~Agid2Mh2bWsFs$^Thz)C#7Hcz-WjS#-qG>odlO@Y0tqq>#apSY~&pGCY zat^DfqdZs|Xcp}9YQ(0T8!uCyP@;J1k zmL+&s6;4xt7!O7V{z`&(GK|0^51=nu#8lp4jF+F-MO;Z+DFhkk{TXY&DsdkYJBSVO z%xdoeu^h_iEnIC`9Jh?Bu)kAA(-nU@@u4~RlRe%;mJxhM2F4@SHn0FFj+vIx+Zcyn zY-Sl@9AX(U7jL6;2k{|;Je3HNqK(#_1wd3hWf{#!c!~9S%Lw5m%Lv0flru;UVZq;Q zjxf$6BbbW}+(kjW1%C>FuXxTfdIxPLC5=HcZLzhAHEW#Q^; zrS~fhc@e!|Z^ZA{n=;~)#U7#ujFS)+k~oOoulMwR$->LtuUbs|@^iaDW^kLb?15YZ zFd?B@EbpTT$LRv2GZX-^@xIY!3w-x3SFL>=EQd1sQ1L$`7W4*xA8>@Z9vOY4fU>!s z0w6VzIY^_OU@`}iaFeU~rwkCb(x=UsuthD2+BR6J18T3M@iS<3Nyq*5y47DT$m0 zVk!;&jd%Fkr8=RPyzKvYF7R>N z(C#s_uT#L|Qn6FY&t4|~ckKLvX%h5(iCL_tO+e}0#=B<6zBLjLQ>uD;|fF*1UT*8xia4w(Ni5EZyV z=0J*@l=+WR^yVNuSXCGwfSCe$O39t+kUIZpz{8;&9$KHe+oP0+aeNprmX3eT@vlwc zAcdk`AWef7jOBY0Gdx_mO~Y|Yzj*l^q2Cq{EXD5(#L4M|vBy-4UeY5;f24UM2k!9t z)Z=Nsz(;Wng>w9i12@>*ivxEA!U#H-@PU4%c#tNq-*Swl8}>{NAQniufXTY$#jHAu zlT{!mE2i9**BJeh7Z}3w0w`EsfB@Xqj^U&P;ONt1Fx-)G-a|H$R$;z(oSE_{6AEQbjlZ{!7dm@-ygs2hRlE|eWzF{FKk%@{Eg zpR9|8*~}*^0K?U%_E1OJ11Lwj%M8q2Mlks8a^}LO^5}&?wkynJuD<{r&*(~TCtw>X zt~N3At4Y!90nxAnspy!WBd04$*cQL#ztTH9UTLn6eXkrl(`wWw`VESH1FZ&zo8Sq+ zc|bU;(2YuRldR&vY^HF2b5x6PzN7DRB zqUD_{WbDIR)khGH->u|I<;l=Zo>ZnY!d1AC`!SYN8Cvv0JfPrMqV7R+!n)5qu3Efg zRO=)pN6M^#93wheX<(CE`c`W0*~;r78MIk_9@b4CG5xwnDBDb>nQ8SQuGy{yAT`x5 zgSwK^g70uF*Qf7srJW_aGr(I>_%6T_O>vo8tQNSgNt(1G&+YCGX=MHLpoDc_Muot&=TG_$m~%>wOh zFE?=qWdwG^nTKc#gx!SOgxsu41J-1Q20jC<6(g`_?xnjk*yMl$K&d0-C!W~48h6`~}i)bN`9 zJSjny4D6g82fEv0x4UYGUXwi^qz1CP=2;5VA`}?n&HyJrLD;MW7X)N+?N$p$j9_qIVyejIP|E zD??MfIM>akz*pUpmG2ao%ebZWqjhhguJzppT9ez5n0O|MyI^QZ!E5y{aZ9!NrcRJg zf$LF#XQHqhb1a_8Z3Mei8?A9r-ADsGa6d)^TuFKnO*|925UNQ{G4ii zV(r9my)%0_Tc|LaYEX&2w*}o!tGTf$W(qlBXdBfz;xo`=d&*@ z&6Z5b^I@Z===tm)J)Z+aJh=n(d=4Zg9!PpVuj=_|SE_`OKw4t82v2F-CJJddN}_NF zIm9L6hEE|R(X>j0mT?M4MK$L89?%%K!7d*FI-vM1TKY z*YEj1*Kzw3M7_rlnSWQJ`@z?m{AMLyWF4kGI5WOD|b6X--7 zlRK*^`4z2oHXURf6Lix#Wn8D74aszF&*Z#n2c73T==^laSAirsJ8&r_!)C3zo@e6x zrLi2fRP7{UULam+oV=t7e2g>8ATB1b?|q^6y(`cogkcilbTJaaCE}d~D=vZ20AO5- z#3tJY4Y8HoDrf{hNLkli7San~l*_97-Vx-J@4hRteecNzQmzoYq&@_c1b`CXi|?ox zs|+rih`^NAZG}^Ez!XfHVFA7>nhBF;Zm$(;5w!$GRoQu+8m6nhBE~5P;Ux1OWdKa6 zI*qu_sHLe{iZ$IuIRV-&qVLvsjkQvCJ|0| z(+l%Mcc+m|^XY|q!s2;OGh~WXlLxk^_~9W&)Mi13<}g%jnP8DQ8TVq%G>dMk})zt7$#- zAyC6tD!kIG!Y^PKAWRj!Gyz`d)XX4;K3R=!h_pW_ktCd6^r!-6cMcc%%ePeMT*FZR8*EDq2T1J4E9N?wmUVAN9 zSkcfv>-1n9w;&e&^xz|5m%ee309p{JjO>C}`q(mBulSoC!9+%2mmKItG?P%v$6SG5 zKDCV2nmcXJbQJ+JdbJF`lrm!)xr@M(hKw@6BAQ8dG8WBw$9R2tx$MNI^B-XRzr*<7O(}7{Cbg zwdQnpumsQZ#C@H<4Y?b-6QhJ(6B$6IH zBQUAjZV)w?HcZ&pFyCP zR_V*txE)I{MnW$;6xX~I>)`>(&iZLYU#`a0v(eC}7mWlKjG!87$t`d1{7wqMsDnKS~`)aX2;6_#{q0aOzK zY4-AdxSQ~#5PDAvWl+uDNRoJp^kobpA%3?vC2ml^AmAw4&p(f$mLQhO$-ZfGB$wL| zN`vu=hrjLNc*P47JGQ8tq%QR`DLJj^?lF$z*rJgYn3FW&1#cJ{bi+EjRfrnhfpB0o z?f}&oF9y(i&j-*(3A%JE-sSROkw)&|%sT>I`(0vxw*<~P1c!JchxT>fI|Fj)(CiQ+ zaZ099CpEf~0UeH;4Pk`@Q8 z+R>DjImY{`ImUB8!iG;R6eh=73mxZ*9Flvu(5dZaIW6n>>gf?d4#2TDAJ5>Kh17Y3@_MxO?Hp<<)a$Q!N0WXsvPM0(dV zc{hVD<`iKl*hMGD0$9qhDCa;6AZ1XsbJN*+*Yn8YT--nVccr-VDeiouRgy9K0GmT_ ziw7{2ctJ?~3&Jx5TE+^oWTy_v-*jN#hP}@OS#*P7tO(G`giKv7v*@;YV5J5=^S~Mnl9`@YNZD>ugMD)kmmQv*|z`6kfnpy+dZh_R`03y8KR$qEGV)BtH+VBzNjYc9+C=e1_C|`F#oyvLuCaQtM!AWmI1RzfhxQC6~M8jOe1AqkE zny9D+i8viD7AB%{9I%MzLOZk$e>{8?hZ26O?t?O(;yN%Au|(P|O1O}h;nu_^YXeR- z8E{G$CGtm5Q_;_RQl5c}Hy{O&NiRVre$6*<4J-~@&&o``36^jHqniMs+NN(^0hg+c z4X`2-jlERV)AQVcsXEkt8fgOk*K-6Eu;^U8nP=k5}atAlnfSjNX5`Ojw13{)(bPogc117n@;n{=# z8R0`vmGI&DFklna0x^A9A$&S^UF8luL_LepKX68#{}K1IK`!=&gPq7^qbcfbWLM!+ z;U>Q>G_PiM1~4VyrF4x}zD=gK2YT96@u0G$C?A-pf06Vv)ioA$g0%Xa0E15OKW8Ol zqm*~Jpq)1Yi#pz1>5XS|8@yCw)Xn-zLtGeHi-@&RH$&M>FusP3fAG)6(yJRTwni=m z07f99vY497*N=rbhX|R zfJ5$p9bisHj05Hnwu};Av@Nz5d0$lOUa}Si=lFSTxt!XWd%IVNubbh(9E$vdPL9Q= z9fx^~a;XYZuSMy46$$e~_RujL9&1JN&aco?^ApKMSzEoKwptmb<0X5+qP!s@1s27( z)%5M6$D%P?3Owag&TqBTkVb-u3V^4Az*84~kdcb~bZQ8;<%bfW!3&b0Ci2@a*fyz^ zo=F{HRokU5PUm0L7O(A;4gxZMk+}C<0+gGMQ|LeAA9_*fc zJzWI&&mWQG2^xRKr1TZ($_8*gibp$NY&a$9>(NePh%!BCrEYuH_h? z#^5Cu{A}Fa70_kSF|fUr&wd1R8f<@l_T#)MJ?sKo)E%~{;Px*ijr=r9Co{dUdy;aK znqnr34n%vs4hILMkk{p;F;WC(FBC!8MhDVZ(53 zH~yOUgJd|}cwovt_y`^uuXGTAOPYEIx`VM@x_yMweV2z7#Dxaop~Vm10(X(L>e;T~ ze$WuSKqdO|ZyWl`&Lo14O~+qGaX(IXO%6|g9|OV){^+42lb@vX_2{T{k}C95fwatU z>9RGzG2b#ryQ7Q$ToFSep&oY(iMqvNAfEs z#Hiq?G7IoZP8@XXCfWOTPkyP-#86sU98+6v_kRdHve}G&eb83f6^6AQa3@_Cz z|Kq}M#lO50CSxUS0O7`pal$JRVibbZI0-1*ihwF~(0+q(Do&b)2%uCGGuEjrRCaMD zqnInX0z_0pfTT=&J#Ge2fxDCtP4XZ$aZjwAk_rNWv;r8cAwZxe`V%2=jTo0_(LrrG zH&)RBsSU|wp};GZ=1Szdt8~FXa8$3}&9!t!0dM>UkWf6cqeFEelPEUyd9uO)oxIQS z4u<7KO&=CE0r1xD(AYZ#87UsDC-w>zytlihYYf2^P_9FvU(6MlP08<3 zf$|A=uXO1|RDtDw8x~(wBkvKCY=N{>@AE<>a18PHeum5gJ^%=IpMY2yP$s>)2Whp3 z)M}VP34(F;h@rGchytbpqJhhPN3%aFfaO04Vz#Opt#mj_G`wAZp)h_22zXJAt0EyU zE>JC5tf)^Ab%`z(bMdS$K`p+BzlMTZ1tf`vU`Cv_=sSK@Uj?DBhBi+q;vTeu zuooB48vH7_KhPr9Mk~0`tDC;{Yj&~B45|uXGdp3a05C(fm(jWhNn~Lqh8)6) z0i*xk6agl->&;NWjEhxt^4of3C=52M3@VEn;k4|d*n?6*W>kJPHMrI~w2RoRYa>Ck z0^rQptO9(Nl$6uE^T`^8uiM0U+rE3Q+`!EE!*0eYd$qDsi@?`CralH>ZrP|F+{ZBRy4 z=W(LBfSPFOX|>y^+(2tUw@gc~U|M?US<{P4rK3j#5SziZGB}Nf`j;BYuY91jU6aql z^!ZpgtpLfDSyKVi`~o;GN*Ai$ptR474g;W+D_NXr@ zffA5mFRIM!bGn1r_ALPBn4&?8K&}F~Zr>2X$$x|(4F3@VC6F|EMSuwBL!0`Y0|0V! zCk5gYj%Rl(cGV-gJ-A2KSnA1pjX}HDdXlrglrXcxA|Y6?02KVvGh+cf3xspLemzyJ zo*7F*tLQ@{1o!bL>nz})KQorP0~afYfrAa@5l`fpstWci0089!T_8{oK!n}~3or$J zW@mwGdB@aMk*oBWr^br2uSZe<`+yG%86gHX)aKzs+eNQLV{$@A4A{+1S_-u8x|~qb z^f>*3$1@_?NU^O5vi(Cw;O0HL|IOT z3%e7~ES<`7DQIfw#&K08UnKK7YxJCcL)uIi*NaM`0>!HEfSVW z7%d&4_d62Qb7UDX#Pv}q*Bw;`3USJ6Q*tzke|Y*52+oBH*Xn z9bX3eU}&Vb!y00B(56LqB23ger8$|nIu{kk-S&1w>Yzl2pKg1*Q;2t}JH?$^#z^Rw z_I9TcRCcGivXtmB^=Sx>*V`SB3Y`vHI^CU7MvLxDnTjE?SWlkC@#4SI8=VcTIlByu z;rg74N*xMyP04vAKHr^JIe*mTxs9sn7&pe=u378q*bqeH#v*`Rz&8b!(L3g$wL&lr z0aaQmnE;z}Gs!PhvWwagQ8t`I!5Y-O5f&~Ms)1;tLv?~EgZfe>0l-`;4-V{Z8hNCl z4Z{?QU;?^i?y%7$rwSYb)h`$WUg0rfG`Qs|(t%K}X5G(KTLFE!m3GV$FAo-(QnBe# zV@%6bzPRgQ~re{Y0PSKlzQ*I2cX;6|2;g|p^00A@V;fN1w znmFr#o5Qqs0@*}KvqG?mn?=0Yc7IDKg6S6SZ#DMmR!W|u4CfkulpU&co9GDZOHc^r z#FliP;f;ADg)t)QyQDe?;wTGo+$qq}B-CM`1C-&tGPIwFKp;bzf)GW)A?+0A1V0w* z9q(7_2MlunML3&My+?Fl2s$0~9w_8NGwKoOu-*fR;P)>>9%Z4CM?xF7ztaOy2&m*y zs@SS5T4|*xxG+Tem?AuGY|!IGAp8lcr%{})RAm;2=~HI2^QA{3J^dW}mdXK;u|&rq zl|9Pv`>;!ufng2nF_@eXL;>6YLX?Fna-fQAFjEN7qN*E*h6XF!nph@@po|b+M8QGf9>W(L#mDdT5dC7T-|{nE|n} z>cAx2y~`c4mCtsy%sO2NvO-9Dc!2+x})Awc?Umq+Q`NX!z4ZZW)oFMqPL zoTQ>e>qJt?`-6#2Mm2Hgxu%q-e^si#k_x24pB?~J)*6jVmB2VFGNJ1OQ|rm3ETtX5xxPQ@Gl|%42zGl z^+q9J6{cl`KM>0}GZYGiTr{l$TFkdK+`@(IrC%gM#Xd|xODNC+Fu9lqKo*(X=*SU$ zm=~FG&}MW~`-v3*<4uA9>QoU7BYPjA7%pV$vm{R6-coobGx0%tzoYq%)bXHpHMnF0 zw3rKnn!p$?7RREba^M-h1U1JsTx_EKn8y`GUq)4U2oX z;?5T_h3Xn6nu>dm#g#6)BsZ{0&Iy{ZA+*TMd8)d5Ilu>BsC5V^1*=VNSH_BVziy?T z_kb=QAbgoRL=j}QT+eL+T;XDQEJGh@^)WT5Lv*Io!Z4lAQlRiEfC0RubM>Z=sLmjj z1uOxIQAH|3DIgrs3=oCu-&u!{5f~-c5u@Oc$9Kq+$_(-fr1BIE0PFCy?~o;W@Qi3H z$OGnoW$`R6!y-<*V2%4_6xL9)QBoxV)i3xa{=G6{QUX;kBO|aTv$~qt8hCp^BhLYH zfXA14&a4G20%kF<(|)gtu!1;Rj*Zfr+eBT)gg~csSunD9OlZu=f`^*5DM<6h+dH>k zk1N+M2B&llP_&EF#X-r%#YtaP*a5wBY1l-4U2cmw%tgp|S%kDeEcWrZA5bE(ZU%8P z*x#gm^qY=pD&9XtkG_LZl=4e*+8z#*To$O286>jEO~YYbaZMpL!Zcs%og3OUQtce? zI08|GpJ9l=$Tu`?X*baOqhk*2%J}2mXayiC?^k^J!#I#%eS$_NIx&Q}y*U-Ql+>6S zVb0Ywbqy`w9C`H4r(+J1oRcz*5-k;*p3mgBFvVd)fk2F#YN<#*{h2CKo95ZNA5A@T zDNS$EUO{1Wctn!XNx>qYb_kJinUQum!$*$45II(4o^O3d+T6S@D37K#&CQF0rmoaJ z%@MmZWj2=5n&IS>PY*4nbzISYbfN2n7`5=4P13y-NCxuqz+SAAi;QGDhfF`&+cd(a)PPiLS=zEEf6hIg%V zVLicb{q8Rx<(im+049+=i-vWrsU{iLHBa61Jc?xKtV?p>{m6p`|{N}t?5h|yK6(N#yyDbL0j1A{Tyo{3r|KJ5BKtS)()Px*zyIuT398SI;Z~E5DfO;l+G7J=b%cqxcF-ttHFplF z`%UjHhq#Gz7>--cVSedMY{!_7{hP-B4}DW>JpYE3caBYC0pG5jIBicyi81c!PW>?5 z>XSt->Brc8iFpahpgQFg3uMNnCuUcJG(EJd63^m;yT%%uQDeG%diz-_ zP?^-imm0S#l}{p{o=>SZRgwkSjIS19Rc&8}-mRo>H0?3MK675NK#_d@jC4kdK7Qta zFZ=j4!D*gmoh+7y1W5QU)(<)zu7L3{KY2FlHGHTiFH#&|piSd`LC%&SR?wigzA3Gq z1qNQcN5Hz8)|Avm#WO~y1*U+}z3UEPC^8}~xKiEi6iB)*sN7qrMT)DHq6u$|ff7G; zz793wt+LY5Cb80$vR&B>r7tg=QN%aGT*iDQi-g6rWV#=@Ay%a0Z{lVO|9EEOzkNsp zAOlp|qRvYJ{74F*1@(5CQzZpx@?!|&lPX=%)^P+drhQCXC2Q6BbxdYqqK>E|n{@Z2 zhD$wQ9tqOjHH6I*a2FQJoMtp0)wJ5wtrgzp;d2dMlJ{u!Sb1uA^<* zH`#!Sc2yWD{Up`Z(yR+59N;R;W+_eY3_?jpJgvm{^VAmY=Bb)&o?L$1=;3tVT7 zy&&yX(qPn8w~`c}G#-})r9MID57tM|eZP72P zQ?vEUc%Q3ZDujYe^{CJrbe$a)I#t)%QK9G*RF4WpYrJ|?C>wUwqe8FKb#_$fG(qg_ zs8I6k^Y4xd?eo7mDs)GvgSvjfPG53V=lW;gzvtO|Lzdb6nK2a+;;WFBmUj|B& zaGAh=Y5a6bdJ~~H`bg+s{6|NHDj^>n#qN=0M}^)Krf)zYh(7qA9~IgQexcn_p_8s| z{j#G%8+i{qDzqUO{Qu>nLJweG#lGb~I4V^Aw)s(^0M$BatlLqc4lS!fatyh7B`c07 z-2AA}WnX$!=!dhy|5GR7T%!+_BSYCiw_i5P>-t8AN>|mN*`?RVnHlx&7aWeYj69N! z?pknVojk}yWaoCCjyC2Q{?yJhMOnBry&|Sw{}?o|0&o3~^$eO=J>{89bQMfP0B=#} z&S?l#kNW5+Tmsa&a|cEz`!hQ2gi&9)e!&qi8dTy)^s+*DjPuJJtt}k z!a+4V^Uxa;#cyyjoZU|n=}}=fE)~Ji^d;=ZN2cuC zU7A>RrinF54%4igGPeNNng*754Li~kt|LJE%FjO6>E=4B-{DBl>y_8_gjNQm|87;E8M+TJS9$BsVMG&BTM?;Ez0*{aZwm6kn(e&{^sR76I

    *jv!dc~C_z#vsX<}86^khK^;YX;+ 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�oE7>nkf-Jyyxi(Oyi8 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%0DCtjIHZvkw0=t;Q#cO2z&! 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Òbq@rboYy! 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
    #_Zcmrbi8Qp*s_^mSbM@CMRLf|}UTi%|dBLgO^ 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℞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%0A9;33y zRT<$vz}~NLfiNF`QK>8|O#CMUI9ft@i?0fl%7P!xiCjVCjIVPJRy?6#6y41DR7N}` zX8vz-fuM2Us#KPX*N4fg3hJi9PlbepBSKp_e%j7AgampcdRkdw)1D69cc|>Us_c6q zQNf7pRgRwt-7~6;kK+4^tMPrtFslL1#?NX@pG^n&2RiwI4KPdiY`jsKH*!v(zcE2U z0i^;0O8KYpoKBuo=6*Z$d%QJsd$_9A$8Xvc)*;JqB6=vExgz8MGIKZpGV*9#;6Fgd z70Ypx;YpL4I0Vrp@0t~DCyRgcyn>w*%|@<$`%!=}g71VjR>wfqQ4wSCMJ_RBkO7HG z@63O@05w7!%f746-bT8`r7g#UEqyTQ+?#eU;6S?qoL?mLBV%ah= zSZLcZoQ^SP=_7RvKrgP+O|^1gnzbLHZA}8oyRqs9!JtXqpZ^X(<~g7oA4r1_q``cB zHa2`z*7-*jL~R_SGj0hOmv;x@qFa|3KE4gh!b(q)QeIBOoBYr;Nn`>54?j3g(gr4LcUTF0%)2gg zBtLl!3y*};q%+`s?b4}5iRuh~q#(A3^Y*$fUA19oijSZP=5xG+=#+O;X>1x3n=`t@ zJZaszRo&_4H-5)keRo;`+9Q#rGJxzfH+_116m?ll+HyRT?#!%qrxmm%iWG6kHEtFs zeF=`o10NWXKvE`z(X&?Mr@Z8+K4mmHX$b&~IHVA@c{j%-vo?TumOH`3B|Y|&SlP|x z>f90_Oem>TK;ltz;Z(Bv5Vev}n6e`rhv(gC7Eel7fMh0YzY6XlvyURB%!JB|z~;O= zvxIbXmagF8o2gza-&xAR^qyyqCps&O_On?XoL$1r_c?0RLIjOPTup@}F36oXUcS|+ z#bouOk!rb1yED!sFOd0xS6j?jim{x(Dg^Q|KEf_l{YgS=dMqv`c;{&C_f0vdH zYjEz*vUFI{d^}ZZ{dZ~Uu%ZPl9SqaEv~*a}B3hQ$-nFH}iZ;bPGA7K|v;5O79XX!! ze{Jcg7`v7vzj>FIj;g&%5zep-yenIW=~ulD{mSHb?}fD^D{BYO<~^}?){acg+L4-*wqWhZybEi`#{S{MW<<{?@NF=TxWZyg8AWUzMOinHRP4wW9hMTtwWu(zsM(6Le4rsF+Gi^# zttIRp{o?^iZwP0r=yoV!W{1#MU_9FrgqN*d^pSncU}T_$S|~o zoqZT~4j29E4^*cZg~N5|iTC0%fl)CY6lLzf8b>lTkP&VKMnHuuyzgJ14=~2RA~sjC z%I1o`bZb^wmtgMTun2QUQRWWRmqo=)U1Root`JjkG)WjYUeqOyC^<>LFT`$tz3lcy z5xVws`^973ST`p6;a_3qAaQ@wv@^g5aN?O?qJ2gG>sQ$B8H(}lAUD1&vxRTx2DNjd z0*W3?ft2wzvC_^t@gchFEVx}o1%9-49%AjJk9{FVjbbel>S58Rf0)5^QIzSTkC>Qf zb#oBC_(l(Ri95W6ZDM_ZaiZv^$T%^z_VP@@62XnSFhCR)0TtUzQHBZZlWRjP62)35 z)T5#weNk448PQ+Akj3_Is$*>b(eIvz$CW$-8j}6k5|;m2Zl*gXdg2%Me$K=a!7Zj? zggC-sh=^{v0iJ<0dQSn7z3VmmtZTyP?%!F2&mtxU3t7yyS3=PdiWnIPX{y{I zZwv+rBP(!R5^We^n*LrRbQNoaE>Gr)KK9QUnI-JC=2N(lAB$v};7`=9o5WJ!WI99z znv5X=!onJw{PB=C=HsCzFntl&B>1~YY7(CSXMu>%OqehgZlxmZ5KXc}6jL*VCQM8Z z#fs?x71Jlf=;8lVA23^d%8pIqEnvCe-%o|nlThMxFYH<5p*$o8eyk3~Vc;^KD1t!-$zWzajl|Qn7DRr+3+)LY8kOZ>y6tVPZX3(s+=~v7q_sP-+ z&OffH=q2##_vcfdb?1P17&o$7jfo2Uf(=6RUv+WMe?&u$W%Ve`mvT4xf zJ7`|Y`7JahM7DzDHI{`p-jz+(W&F+=lgZ+igna#6&h;xHc(o#RwYdJ#-yzkqrGcyi z*jBNF8z7Q1(pTgLcKb~;0Qw*nE<2;*lUfg6^B}iNyXTpu8pB;#mOdnb>-r*evz)fX z4A$M-`Q6U;7&n-0Fm2IyexDtzn~`gGw1ZHcrQ$=B+S9piL@a6cpfU5`a0IO3WhAPh z$Xa`~*F-24e=-w~q+*C;8wVv%{>{^prUJ2>qpx3`)q*34M{e}3;@LS!224siQgP96Pq7h`L3&&}QO4G{5d_K}mZ;y|vh{f(G z9tRT7jAU(pM4_CUS&EO=y{r3Kj)w9)qxv|=HH-0>?PiIJ1rO^uPlOKGe;CFm^5032 zXHF_3=^*#Gx$UA~d5Kn!{)qeUoPGw|Iai>-uM;OoZkK;7|I8Jx-#FEzI zID?#L_{Y)1&z|&g(D?bu>-|w9=8Tl3jx6B!0&Q4yIWMz6#a#$pda1i8 z>ia7`kTC&SmoX9-!@;_^9A8o$>q}U_bNM?15P3L$cK||8&RyCW{A>Wn<(Goay5dLCs##(`#UIp{SYdkSmj_?l_bX8fHvhZb~B9$ znq#CHj!g(Nw8n&(3gJ435YrhvHGp&k8uEF8hH5@e`qKmWrqW&`(@@9H2Z(}g(hLbH z13QOcLM5795NnWfZbK?UiqS?CDp5M}4f*dN{gX=nWaXv^H{|~m=?FGCq#NDTK4Zw) zn+8g*sq91Hb4BfwLv|@iu0e|7-#f$V3v^GIyuOnJn9Al8jTh2M4iTk<#DX9rN#!12 zLY;YPfCLzRJUsxRC3#_hB$ga9OUVl@NGkgL5K|CY9w8MPDHF%%tz}l%@T ze?MPq%UY`q7IqFQb}9a{HSIB-KE~l^zl%&;sNV0W4W8wA zr^-iKIl7%H+CmR#-cIFqF>T?l6l`<5y0$V9R&cwSwy2gBOSK-rK~Tev%! zb}xwqP5aRn((ZY{8Hc%*ot}m2PEWU|X$!fy0QDhnX!0_Hm02-CumbqO444vSD47NjNQBP_U46>T9`&=&4P5{g8$g?8kv zCjCCNh{+A83`rbQLTR|KG=^?;^u|kB^o9j-r29e*@cx__0v@2fqNXhz$50%^4xfYA z?c>JRX$vPvTR4#d9`xLVN;~I(f82Fed$HWFNS{>QA!^#f!$^YnT-6qK zNn4nR&|G3$(E0#KEVv^|pyHI;%QFS#AvfwmX;_e!5N%;WL}#xpJd%?mOMvDy5Oca| z3y*R~nYM6-lp+C0In%U-N9*G~hU|Xpr<;KmQQAW4o{9R9!!)q+aJCE0s%Z<4lm5(* zQw-*U7|a!Iq3tFzZJ~$K6Ael;U2d*v3r{9@y4SP%9ZZ7G%zY-JG%QF<$VXgor<%5q zWY+(uNn3b2iKiQ}IcC$RJ5Acc`8=O9-F(|-smXzy1!)QS zmJ9BjineeOC!WtNGPAUWi%D5r(-tmKZ_jf}jLD3)@B%KggL5f>dA?~2se3d~%Aq5^ z5N+W_WVpyPm@jl?(-v}V9B|5EEK0+Iw1m&76&F{vg_m-s-Ja4GuHg5IlHZXeZ6P0K z8$iloH-J<)db!8Zg1geRg$1|Lw1wnATeylWy@FG}O9_=B-C=X3nNNX6~ zYotsxT_Ipw0B%iJ$Tf6@z-qz3_IZAot`M}9ZV|Lavs%*?0=b2^K(2I!psgw43~coQ z^F{C{{PkMH8_^ZsB(y|P2k8>rtH70GlXQkmx%`VFv7##kV7W$ll!p9RZAwFa z^hs&x!L?8U*FIA;lF`(KrYj^Tx7U?=&Rec*M^+xv z#+Dq?Wn^<@kCYtJvC-+>Ii$Pjtyd-3k~VVT>w4EwOKPyIO_=dzG4*tPL4_hF^Z>WpEGt@!&rMzr;*yvNi`}_yaT(uo{5}sV#d&4#U9KB`xSY#f z;Fij{TseI>P1t$p>qW}G3_o+r%Ivq|_a)H7FDXNgz`I;Gwj7yqmV4)Nm!(CU@i52s zpOg>b?KmpB3I_P9vg|hUF4rAjC7TG=nyX}}4))WR40}7^=`xrM! z*qmcQ`K?tuA{-=4I`$KEysc=>CZGB}!t-yrU zn}H@|G>gvQk6|(hD8XrVNyId+8@L}xixjLByyFlRivPYlfga4)oCn?oC8ZJHjGTeO7U=fma@xgFOo-) zGD2?RMk)pRgEmcX2;E+8gE`G=gXl-Wy~$=?;vo9r51WExNb%eTr9f{`!S94_G+qSd zZ7ag7DFv$(KS+M~!=_+`*~f+`QlL1f;CDm(n|{{{;@eFHYwSKZ0e{#OtnvDkg1c)K z{9cIHx9_Q-!<(^-F>vSbSU4fur~NP+<^8nA{!_gP=LsAKcQ_P>E_X!qqhmz!+Jy5q zp1HCAaCD06>-PA_OqV-SdtC z<)kf0)?{jwz++_v)xBs{>g-z1t?k~kbwnd~9IeA?o19&{<6v^wYv$M~CI8mP%WbOP z8a3lh`=V&6c18{IJVDzT1tsu}^*;|FGUVVfcs}4C{#k1nW}7qEqvf|jO$Ekkga+yn zrQrp6Pff{yXUh+p3tdn2@`;$dt3*KZ)Dr=tuWn-KW$Iq6Lldwz$a||cS8V2oZ3*Uk znxN`yzN$q8j8=a)OZJ+#YLIQsw`u$(K#zd!5_hRes_|>pspXijS0ug4A{VMF+-2!5 zmqAb#a^`H!t%S001ssy&?4E<_98&{$EX4r1UO`>-ooUI-275VBFZHzMNq}^FR@Ao> z0|efQ0jTLf-6Q{XnEd(Qa-a_Ei?5ekRnh+V@nL3qoT~=$4Vu|+)IabJU?qGMFo16W zF9ABjO;8PM8cK_0TUL9$=Hz}>xu4|&dd+IBC-&uB zUs!p}xfqfG1EHPBJUM_a2im3nqyazy9%u-sPY-;Mz_8Apv~aMcii3IpbO0hj4kAHG zQ22=LHhMJFi(%gkErZ?X2ONUm=R>jkz7WPxkod8d@xs}vysR_UkLe#sd|wikuN>oM z6;dA@zppUh_$W8--d}{k9rQiudT{q(=XFEb;}T50Co29`8Sp1H;36V|=kMTVRYSa9 zOI9^|H*{nx zFj$k(Ko^r0fKSmiK{n@`ZV|%Nd{SOT?ng0N1`ojKpR1Y>;{&}tBy zf)X*>i$vT85Iu{yLoP3H&GmLb;>Av*Aqj$>j}JZJ0zmm#dw2|l$48y(m3D< z9-oMN%!byul+Op(Gl=)%lI;X$N*Vz;)bsaBU=}n#W9`Ya={`cZ(QdTxg4c2s@22pg zFiK=VUQF>^CS+Y}vu-_xTN|zw+`cve+pYH_(|%%y(fE|W$7-nw52p_LdZ7~Q0V?0P z1m4&|BpqbnCUzg2es${yLs)$eR&Gr$7J&s;g1U8+ZatA(8@I3E4i*zEc}bqV3$D`w zK|pAS#RsRycye3<0rgrC^C9|INKc2+G>h?22ICS&65??VoXgk-V9FjL`j?nqQ#kP( zfh$D5JFHGF;fGXp!r`+zr&H%qVA)Y+0bKt);wg2)4RbT~BJr#oMxvFNLc2pD=(g^l$h@jQ27MEK>{)eM!HS zPmPVreF^Qa(DgvPiv)_%7wI0kT1DOy=3YkG3q6%izDHlx3${Y>J(8@beD3n`Oz~8- zlIL~>=U0?KMYaLsiB!{Aukw4>qY?p0zFLByhJ!hG74vO69OPxzEim=!<+T^>8l7Lm z^yNfx&cz6f83aZPX1g!-?c|5B;eteuCq80+T=2syj z&@F(uqD3+|0I!4IN0Q$Y4C)%=4~`!zH`w!4jvtUKDj?jxPud^>Mj$f*MEvYRZXl=t z4r!D^jS65}0C5>5oq^0j1(^$@vJUtXLVr13WrEV2-NhZC0XlK)>uG>W2ZQgiz!9Ju zQ2v+|^fNEu8-Tz7I}QUf0_Z{wptTacx_|f~+wIhptj!?EG`Z%*fJ)17Ein4AbE#iv zFoK`0{A}$EMsfg*MsvU|#aIsc@tJWP3ga^qIdCV2qeZ|)ql$e;2dp`vzYSH$oC)1kuRaFz?{U|$@Wx&`n=o5iHEfw?$<%HYq zpAN<#BrOU=fKiLwYA@k1ZhU5`5|*wZ3s+OKLD597Ca(C&&8ekK-Hh`PptL6d7ctd5Pnj5XDD zmw}rWcVuVqd#clm!^(#Oqk$hQH=R_X32~<2LNi6UJBr^&nY0B8wFrgYurf0%T!xlf zIH4AK!|u(fF44(b(r7|cD}%$F48+DzZEC4`R?H(K{8Z}ZZ1?=PEIDzN%9BZ;!cK8Z1pZ6 zz6Iee$Tkn*>{NG3dwd!X|1|&b7a+26*F}I@i#y$T+b!D0wNZCvq?pJooq5dCUr5hi zOpi=ocAZ5;5cjw-u4fsDcskvk?>D7U`DkeD9L9o(Ou7#L7tzm|HLRSz9B$VoC=28j z!}scJPLKwDuNIQ$Z2ytLZ|@QeD4J1=d}GXIIQYeA_EMvfo6qI^T&`H}=b`~6%myPs zP$OWo)E=K_FaLQa-<(fgKy!}OqU|0RkZ^%5$Lu)ADwzY4hH;sS5FuUJEp3l4vPv%U zgE$8)Z4s8TWU}Kd|Bx=`3=aG(t7I0)N@xx$Sq`jT>Mm)ISEv%6#R^}|EMT=oa0-SO zfziwTo($BfZlxcVD<}<)`e9i`<}3WLtkSTcusdE$I1L2g$~2jAlU?Ux$)7F2Ec0cC z@*phsa`G@(yD;dozq1n}$&1nC&%8%<8-2ZAK1+JeAp zo`hP!SaT)BrPb2SD)aRwv$i0$G7qY{>-q7hekf&Ln$V-H^I~9`V-Hd-=|WPyAo3Wl zxs^W~%1HujvULH|E&z-@CtLs?2xE|eTfpbkVaEp!gKlqN(1EUkL4GhA7__x8=<%=C zVbD5Gwiyh1VG9_fUR5zjy=q{PFi68v#UKq!1B13x47#gBK^m4S25DFt7_^;Y(A^CTs$q~Hj0Og6Eev|`b9ET> z5+~aX2L0m}Fi5?sVvu^(z#w6ehNX%@8kPnIZKoL2*TA3}2Km8gV9?gWpj)4-!=O7j z*=8{4S6jd!^{R?N>Qw`Sgh3jXDh6p-8W^;lV$gjJ460#}AB+YDZ7mGi^f$-UbaBsf zvdv)7zit78)T=56saFjQ5(a5lsu-kUX<*QHib3}`FsOz>elQvsw6!p(_dn_|Xf-F> z3=pzRcc9&cb!4TJn(G%#puVbGobvAl*seVlAF z7+v4I*p)yc_IxK_^;^lu2_zne4N2|`>$&vMq)_B)`Dv;DPrr?xF6@OuAgfy6L+3dsj(v54^k-AG9kTp zt}DL_<#+Yv+uSa0SJzf8znk09?N%bx>fotyJLQMCb~mIJ$-pcnD0HE ztCo-5U>BF-p>F8Zco^k}yJ2p4nQ*Fm)s-JX`H{YSha2HWx{hl3QEsRkRf_j^dryt` zq5Np#e2*>@G<8f}`F$zBpD#bwqN9#Y%MXwD=eZD^`v7-9d|>jTMra)2R1b2(pmFXX zw|Dfl>oOD{PrmUM#5xQ}pCTz9)dZ~FkO{>e?_*3*5< zk8;x#gWI><oJm?f@h&dnR2iCX*jqc5k?l+zTbdk`^Ab7`RN zcz*KyLp0?~f+3&f<|_uNJKdT>$Wd#`+2ke2=vXy{NZmALAx$AhH^I8kX(tT#xwWQ@ zj!Wb&5n&0vWNw;r0T(VP#Y^2%;)ve!1Wmb+rd&iY z(F+N&eZDninOkN}xtP3!4IQVZj3a7jK-AE%E^4S-QESRrVut1vsB?jD%H{4dceyoX zCFv{G6hgkQ4~W7YSQKvBvWhFKEKVr##jhgJwcg3A!z52cP#+tVV4&{G=-wwX3Jzh^`$fv^IYP`@Ak}R{+lshqd;NQzXxvMeywLEhKa&NjHSn zNaAC2#rLVL_p7ZBgpR-aLw6r-eK2$n*0ps~{E*5$M7g=Xt;Dz|>0#g2&*|dl zxELu8EcFgjM0&p6w)oMIxb*JPF#7UuGx6t@@AGx}x?&=(=ZLsY6kJ~~0oO_TqOX@o z<2eG2Q!k-csWu|gxZsBX;yL1nmtq2fKNbQ(UkZ2V_gZV_BjKw3t{fJ`nWQ)KW{jei zmqTY^#M9?KA^VCYG*uq_gzRhK;ei6K=iE(1GheSWo_dZ)KOy^!&UgWGyaf}on{>vz zkmH4zkR>p&-lPdxMqRJage)<)K|)T5AHFV3+CW6!_aX_!Qrtus@)6cq=2Ie_md*SEy9!tyP% z#Kg3;!m_fmqQcf~t=zJ**4?PTyX)@Sf8BD+|8BeeKi}Uo=e{5aC@R*ei*sh?d7Ecu zp6`5ruOM6A?VOT|ysr*5xQ5}mK+o1rJY8g1XL)N>&3+W?mnORaZjEUYtLCm8+SQ;< zhX%L-s>!n$^DL@niHzdZ+>K(prOEC9+rTs#q?&^{G&m)V_#Qe0wy7q`ln3#gDyw^b zIM>b-OtITJ(5Y+XQO=Y1eROWEuB?fjCME4w4@1})k_r>aGM;yPD_u2Z_Tl$FmLr_@ zRx79c#Q*%>_pkfeBY*eh-vxU3c_Ho!Z%|_SJWsv)QO^&B)eE=(?x!#P{E3$W63FvT@IKt2Eb@8Yg3-B^wKi9W z6My%;zx|sBZ~6J>UkUV%*b8!lUX462$LQQ$8na`E)aYE-m?Y84HIxHGQ!=6ND;RIq z1(WJ3n)%aV8D$`f$oFdK|r@^9?GFZQ*xb;(xJoLVXDcydI&G9`Xqt7YL2GZ=+x4k z1LlXTW|>3eWghFs3g5@MajMCSemHNtY7Pd?sX3lv<5SX`PjE-1NxN!RI8;f=Yd%qj zj&w(==7XVYXK7H)7=WkdWQt8rLHG_gDNUxR=2Q+%O_OQhIfssNN2w;u#T3>I)hs2` zRnq`H1-_4V(*@tu?8a{$I?f%ZnyfX)u+&gfcb!t%dNVrL&TTrL&W=x$6V&1?e$Prl z_7io8H07$!`f~z{kUAcjoJ@(6(`2?vpTh4`(&SXIoI`Wm9F=Cln$3Ep(k&j`)8sUj zKAqC1r@;CdZf;7p@p&rEigp?+no7H5J|*U-z&xeT;`dppa*FHF+3swWW@S5*JTum(vOCK|D!6cDQ&No$_bA`J?CHP{z+j%_qY{|6TTb*z8%uUJ{!@eOjy06-o z#aFE$c#?feqzT^;Hv>Am^j))qa-z<=zEk5w&)v(U&OP^|zH1 zS$)rmtp2ugBCGE?k=1`)PV}N?XjG-|4#A0R%ZmP6V>y#g)^1kxZ9e84R@^Ktx_&idS;BMBO^enu zmN!X@Y%H6hMa9>nMIY2~phbPO!m;eJw(;ZYSYz6*w8%!tlC~|h=nf4ITC~eXwCL{` z+;*i!Hn`WJMX%?gJ-FS5bD1-!`GedE07-W?RBR(+ov zlS%GwSikKkW%V=3o$7BZN?H9(a;N&+ic(fTliaEPwxX2P&m?!M|GFskyh@C!?7Bms zl#M)-+-Y2I6r~zA3sT?tDbGf4$=$bjUEd@~J*~lR8l>XQV$_owN^i-XhVmvc%7(IO zj2gIEh`R9^hSFPd_ay{TZxW(xD4T|;A+Lu}ztL=NLU8vGUlZFEp=^M!gHSD!-vmfq zQbae%#xjXbDq+p45QwV0Pec7s$VU(25rj5i6hA%?#=qxIBKNq>%f>Q+N0%J$4oL*= z43Ui?tnl)RJCKcmM<3}S8ykbT0_t!#0w&~m>ZvBMFd<_mvyf~IIo_rucOOz65URK2 zE_e$Bck1XZ04TfYHx5wu?Vtd)?!TEX4^WSM;mK_WD68)Q%Ia?`Kv{hcP*#6i0m|xo zfU^4A3Q$(x1C-T&U4VK*Gqj`7C>yy4C>!}31*lhp%_7wQy@TuRO`{%VEq;>-Wux6R zLN#v|q5eu!e9hJCqOAU#fGDf~CLqe{zX^!4`mYO7k7$N=6zhi`5M?8OqY(8%xLJsL zLf6}yL~RH22OI6CA?oFDvlwM7$eAo4-58~@yh#>iW7!Nwg`35w?`U3@01@4iK8@u~ zVw8<#t1#+&>K}|MCA~1}e;LDe#V8xm>tNJV!4^U4M;a<1RoED$e#yeWT|vqQ`#K;#{cq6PQ?zS&VgxikUJdH#1&{#<@uf_ z%h)T+TzR6Cd(sp)HU8*y)tyG&X=b^M4^rr++mz3s=+SP5JGz=2gDa7y{8$dnbjP}x zRcw{>?znPrq^A5x#BL!5cK94sr4sT}UU^QFgKcvB(33g*jY5o(PjV+$aXHGn*_siY zWd?RzC7Zv|%BXU0jL|~g&1s8ni8!xo!~pp;Hm9{kojhzhb-g`wosrCxTi7%AqtiLB z89RgXVdcdDtL40#mnQSwd=y4DCucDy3o6)Dn+sBkRq{ER?~%Ne7GQzAP;)}v^Qe2C z87E_m9O81M$8a%MaXyB}=T~KpY;$rUhc0p#x{Inwl`7S8aIWU$TtsdmA~!sas*<&3 zbMlntPEORHEEV@j+!L76hx42v(9VX=7|y=YI#mF!&E7QH0risk%X zF0*1(L2c0nT{EX%u%~20h-oo%f}~WwM_0E+Yjl1^TZE6sEg_OP_Bv72AdR~wltqJ0 z%yl6%!>p|dy$$gVlrZ%WdLf31;s;?Jnj}meP!z2UHA}RHye*GPD3!VJ`$7rW%-u+H zg(4`FA_(`B_lH%vnP7pSrwB)*5Gk8?Fse$_Ca;omKxHQG=1`^!q2wB7w@~#K3)%cV zuKB}o;r7sG5R(NtTHvUGcSTip3-U11JYsyXHmvztq_SDKTOzf}V|p|0Q8ipAuw1}i z;bWn#JQT;FB9Am7l|RM3A;LATW_4(H{ytUtggF^~f}ZXV-TnS**673oawEbwp(E%1bK97K!cb{XZ7{W7h4BQ_L<6EB0spws5_Vc0pyl?gkY8LzTFNE$f zn#E2%kDWTr=uyKaJ&#R#nqYYT@3bYI6b+fET#jrfqj8sx3^M|!>?B1Xdi?*Y3iw+Ro} zTXL0W!^GTDQz%gpO4KJ_yCGNMBdNr*TEZ#S?WAZ6cJ!qXztp_zYksMUxe$Mrvaj~^ zM#bbHj@O*w!uW>}phF4mo|t2wM3;oD|bab98#e_gWSOQ)uSuV zL_M5R<&hfSOHa>7-qAFL0}YXXY5bAj@*Nv_H`5dk(|sU8E?)WD9G?RT9Vc*z2zR-m z{Pu2}_-x|uxgXw{=Chd}9x(%e|NdbA=t$0T!}vWc#c7ihJ)AZ@c-Qh`DpOIr-*^QOEChc+;_$V1CM>%Wv2!7*`IljUP@tz6zYvPp2A-Im( zo#@89iE4LnawKC`Xb#*kC%eh+Nc=Q)|E6$gN(%9rszdl`N{q<|PeeTI3d~^fyA{GlE>xcIwX%v zN`EVKm%49dZ5uz5$K`UO-rOY;bXDeGIXvQZ`?l=kzMZw)>5b*Yf%Ga~tJ`ob-?Q)= z{zQ&gz^)JVaA6z=QMv&Ui{1wqQ69g_)Empeio};{HU~z6xLdr&-!TWH?_}LUY@kP( zaU5rRTgTan4~h<{KX?&@X;s!=#*I>Md;lln24TPrH@b~M$bfrz#QLyagvhPWx`Pa{ zcLxP9=H_h1ic)XMZ6}NlX$qe-xAZ5irde|5Aw_M`WvnkSBYB^OZ{)t4jq85fyPpDZCeA{d@^Ge9oQXf3fFnI<(*R$B zP$>X|1W;_Q&(Sa3DGz%}J!eYbNqNXpTeLD)xjrZ6l!rK_B2J$PMVCGs#t&H3fzN5w zFeQaoNJW+uLjn2}Klz8;o)xeIw$v-c!Y+NEX^1`?t_VH4JQMapmr7^sQKc<%)MEq- zoDIA9T3MPa64)mX@`SFBLLq=U#4>SVYtYY&soFrNl!}ID~<2w<=<| z(CuCh8r4?Gi{aX$i?lZqBw{m)@CZanXp5Gy*@Gv5&7iIjEqgM3O&n=5XhK*w*zFO& z#Jd8@4Fsv!#I;}uQz^HXg|BIerXsit62~|aC+OOz38)&Harp@GUEucR7IRe;Yp$$& z@c#+BXdL_+9pP?p%kzFyqQ)eCPSX8Bnxfc7p_^O|`XMOl z;6#T`NKT+$4Pi4;(-admbxP1U1+blp!xVvzrV#`o1YD=P8P(+Ijo%Y@v@SjdaHoK_ z$9O5@G=dt1pexags)!d)@GnS+h!L7W%pM8LIy>`#?G%C^oap6?(+GADf}*qCDOJTf z@Rg#POmP%L=5+*C6~<_kVru1T!o^X2iMwJih)ESkfvu;zGZrC64Bfo8sN~Ph=i2A@ zn5Gbb4cwWU4P-A7CVzoD%kQZ|GxEk2h#MDxwr7K`=eTn_K-Um(UFgoM`shaG03l7u z3mS=fpn4+_G}?P9SUtZj;u{WlwfG_&9zz@iHsdVx!G((8!P$%2qIHVoVRA@d)-6ev z($O+HT2=*Omr8O;6a|EpNFe{TlWyG@Vjh_k5{SJNe7($F-jQ6vA+znPCd;$uYx!jV zfQ_q39r?^^iP|M=l#FqGXbw60LXv5t>CwXKVn$mXdW=NXa?7Uz!}~O^>}|f zg}9owuy53!Yxh%dgDrle40l_iNrGJty;m~GxbsBeZ#Vo_y$rIEUR3mEonsvUd~XRC z)i9UHZ4H5st}{s@NkzVqLO|WQ1Qb^Ao3`j_2`l*(zqnk8>;ajjUJZlE0rE=!1aRpk z`ax0|Ag*NieHnk>3U~oVD@s!8#g~eo@czc=i{XlbN0ikYAxgtWGzEt7>PK@tsXciL zcJ{n)-2`Q4D9ShfgN|B*Jgz$-8XCgERg<{;^>VT9TWe6L!2~Lp)?iT5pC@&IVwnvD zD-Ou}kG$y8RUXrELd<-G%}|gaaYN(Bm(>s;U%AHAR?Spw_78y{W-nb1OL{qY zf52HQrq0pt!%^)VUM1Gd7+3B{#xhUiXz&RBjVJDmqQq&{ zbrYJzRJ!MB2up9?RobGvvU!@wwt06{Ilwn?R1ZpnD(C2Io<{VbHOWj$nJy<~p*@~ecBVU_Hcunq zGNLlG+=r}^7GWnYD;LDasVZ34JNSYM#(9fn^ReNPpu|%^n0#5#m%j)v z+K=Tb>w?}(DdqHaw9M!V^kk{KB>sjzHM9_3TDjI9;cOX&qg?K;=t!=lLw!JB#rA4< zrMtR{T4p)iWJOcb8D?|Z8G?SYkFGo?A5;41W+PfKuMagARz3xV%k(m~lCmD&$jTM4 z60&-tmf>2(3EIVO^TuwoZ=9RLY)W7vH<_Xabxmz~>|l9hj65R%LgJFRZ}RliJP70SNwXp{%jng}%o42`U@iGCsxvls4Tr z4YTL~ms5Y+n3lUumxr!K+$0q*;qPvKeaz;oHyN=Lt3$WirsY1f*10d6mfUP{_q=g; zA@CB_g1iX``1&3mT_*WJAo&2?vn2Ww zWb{Qn_GT=0f=`6ULa{o81<)Il78o1>HeXcJUu0OwR=yMpj$UjK92vo}M?LRyF24vE zDxlFRh}5*Oi4-w1bWwcchFntQTPd?DKyX%aJ59r?KteN2393nhf10=LzpjDx#CjX! zdmHB>sE=fB1=mjmq#zbFipLZ411L`;K!)AHG!QKGM5hXd4Kyu3aJd_kv|Bj{@ORjq zpKzX1!{ENIUuzH~gDMWPL%7o=9@pHSkeWt7jTooXlD%keZ?~7*yDCAOZ!dtmJol5o z4Uz=NYQ*s1Cw~edB(xSLLut+I50=1OqJ$8qaFj+bUYmw^P13a%H@qr@@~wplh6ZX) zQB51&i0;;+46j<xiPDJO66ApaCM41wF7oA zr?HRf)*!3$p9+C?nmfG%7H~#msiDDY4FbLXZ;;Ga(K7{I)#NPwUf|}t1yw%t&vIvX z08gR+(yxL|3nvpQRrUl0cV0OdNVHPT+Mp!Wg)dU&#V$2K(r;p%xeKa%-JkC+>_{%6 zp(=P(t?Fx@r>ItWsm8ZV74%tuah0!leqZXAd1Hc0++`if^C6#v)i(Ae( zmTMe+#C)z|?<(yTvr%1Lc_F~Dl*T%Vzr$B~Rj|Y^u(SeLswUT&MC`h-L$GAl0wB)~ zoZz$ky=bTOtvT!jxXFCYQr(*ge2h{bw|z_lfS-HWU#-}S08K}7pPB6%Ez8^9QCOF|hYd7va;1<7YP0gP{5%85m^cj zAvy<^)G^>pQ8+V@4LEZVo16qtMG2L_8P`XW$WG~M`Ur1O)F3OHmgq6A z1;*YOZ3vWYf`oolfeir|$jGLlsR_~4?CSbg!HfYlL4rCS$Yj+73A<5gcefh^h^W}p zAV48fF{Dvdsc33~geEFAsgem2hOjq8dp0k7v4`wyumlNQ#o%Obxc@%lLMcd+OA;}k z>3eQGXze@KFCT;aOF6y6c88YxTT|vi zEOYNA{juYndj7|9)O0vSH_jw-b{mi2ksl8i8h;7$r+okpgiciug9pJ7V+rD?$Q?;* zuBaz?Qe^_X2i8Ln?Mmkg1WO%m$`V9Lk(*i$%#_c%H0nQ%qh_~ObVp$>CKIOV95N+N z(aq3jsUPvtFlPghOR!#hw79Ao-~RDO`kM$`UXoa!c$YbkR$>=w+bEvP-0nQQ1o{POB~fRw8#P zm*TJWGGs)YyIj|5@UjGWiQJXtK#zkSdL9!+!$!)lP}oJ;s4et|7OTKQh!C5_z|8tD zf2Z3wv}lwDoZ;_kz=oLn;7@$#6)Ig4?yzkDby#jBD$27}Sc5u)pdv_wj2MeV zq(ntzL)`&)*p)nJZCLr+KH^A469qk{KnNgDv0DlRBC&frWoM}<$W#QFB!{+@Z-KBE zkSfBAQt=|xSdgKjk)g*!4dia^D)!D3p$bEairu70SXDGF&0LiQoQfcnq|8j*3>met zohjTZ0$_Ypvt7-0jE>I&#k8F*AS(i8iVIW(&)QgBH`M*4^Lj=-fjb) zbWYzio~W5Ro@AeDb$(LkCv|?ZS$^{D2cFs@p49otyOW=+{vh{u8}Q_&P2hdlqJmTCsKY1-bS@Rie2#}UqEVRwYyXySp-H9hJ>)vhyp4_r&JX!f! znyKSS9Z%|bQrDksNq@5TCtJpo_g=0isjfeHx9Ly*sC&B&c=G;DD5t>Z~uA1@D? zIzOrF#51mHLw>)^l&S0Z(q-G@d-GX6pQ;&QI!iQs*aI;wMk7 zB~suPP{Q8RTsspClUdJelRBQ% z@nlPQvhu(Gb&GgXw-c(NrtdG#Ou ztBxmsrt+@!zvSL-1DJ7FJMERr%AXLk`$%jb}9!ywj6dlv$JzbHm<&8M=7|5 zw&+JMiESp4h>N^7?W9hL6X*6$_>W7bB}3`fQf^g~=2{LF z*F2dFViZhClfsnjPfoY}l>@`B_Acvc7}-aa%*>~Zq^DuEp2m?qg`UP_*;8USB28Ld z>*VA>x*~6iJE%(Pl#xF7%d@(!gULR&w>!9&Jj=Bzcq~mUOb)5Mq5_9jT1co;aHCRk zsvJh9ulFcLSG>N{E^P!!Rw&&PJ*wP-o*U(d2kP%e5)#-sajXFOm3{1}3CR+LcsXC4S`y zQm+);M5WrHpJmCBQM)_R(y;M-yrQffleqd?78ch*2AGIjsG?J-NaD#CREYGx%E=Na zp(+zRjZ@Rwq7B(ie%W#s9z_DLcu_K4_j-n#K^98o_$8CqG!n6dU5QxSaejt7Z{eDb zuO#I0x_%WuXSw4^;x)@(9_3FYeej8kvXoxaliBWMpO0l)aw=!%xKrI6vaq?_Yz9*4=Wge+l=DRbek;qGVyw37@yw2{?#5pu^u5Y52YO?lJ zGhw&cBX%AsL{erTP07Nth)3+a+9NiE{9er6;N*NJ=>m$7#CN^j==EW8VP%a*c2UKV zlcnIQmbI7MUyGHbxAx35Crj0WBjFcI!^M=lI8|A6@(|=LWlJ+{@r)wfRTj9CTOMBBC>oH$iR}4dqp+K zxl*X*Tp=3^nO9bZwP|Zm3KqsxQYNr5O1e@Y>564K=I9g3QCV59E5B8_-O0LAAnQu1 zge&}!uZ7yHLh`cICUKw=gHbb9S}>;Z4%N7W8YEn~GgL;f63JF7&#FnXtdOaN^5kG4 z0n6Q?rc?ta-%6o(zLkRITUlpKuM3qUjF~3WN`VY3X|h`R!4eXy@b~dhbEu_|hvr4S zKqOizSb~+8v`2cCf~8gIwE0@2U1e9fKH|B2Aml$J3nR^nPeI8m`(Vhj`@#npFQ_#} zSyt}Rl0c%Bhm=r-WGmT|9w_HZK-QIV&@Kcb--@z?rOLMQnNYcMwg*Ce>P9sSfbFOV zb<4`XsUg%F{rodTsK<0&uZK|2s=!-{P@Ol>gGZ?K>g>-9p;o<@Yw`&7f-djPA(XY| z5$YAS_688jnmDH-gt8{KKSEu96C-<52z8rUcq0h)R}X9hLQ!~!L#Q>n^6iUIkEzMG z3Za<8?Tt|DZ)ChRg!-d)-UvedydkERYZrt)NwBuQnS#Kn16 zXp5c+wJQddcSTVk?UrCtd8Lzt1z9N&(oTc2Wba<16q9Tp5~IqyQd`8X+o>&TU_-5# z?`X15^2JWNb=NnAUp0toHFC5cNBX5oPOKxbi`DtAw{4--dymnMlzlr(H8UGK}0ebc1b zHR}j@i#6i?-B7o`A8~G^zD)9bnT*bnCCHJ|IPZp~FsPPfIN2gC-(;E`pd8h7z<0|5 ze7E?VqRMP63ZvHgI%jTSULN`bc&Ha zVu`)Wd{X(5j&)^AS6Si25mY-O1**pD&;&O@BW;ITwQHn7QsI1sk=i(2GSTLEB6IA> zUYU1Crer*xluV{aOLv?mQ+P0p9;MKtX=?2#F`(%bw&avE+|(2NGPvp>vX>yV~Nrz5$ zC#%cZZkC(vZ)w!7kHh3HKos~kC7Uh3|hv+w?ME6)TZ ztjxQGDT$EJbLXa{KV}$O|Ddz%c;9O^^_?kb>-E%TYOMo$p^LXX$7TMqzQT^ieIDg zUc<-rwU)?|*tNy>y^^-CfLbKxyoIZRypt9N7wMGn=PyIEuv?%7XOJyyoG$DkSd<%T5e@X zl`*9z$W+u0U*eG#TyZ^0XjvQOJ)!tj-m+R=A7u@}vhq+ZNsDx3wIyE8Lz*Nq$_hVS zEAtdTTB4^yCBWpz)0UMvZ<#O$QdT)I2eVb>Av||?ij2X%@({38DKPm{O3b^JQWFlA z@8)23oV=GGvqhhjmms5ZUfR=R36b+~oYA=wGu~Ig0XNHcb2E{jU;Jf4%ZGAxYflIynC=^^>4O>EjNzOAfb*eufdkzG(?{YS45&Mg$fvHdYwhm>p)xJ zB;Xwz@QM$EJ`$b**L_?LR1H!3-1Ms)#H5c1NlRt*lRpWdCw;_A96E-b`PrrJ=_7Sd zv+E-%aU&;C_<;TFHbYSQxPF!jy-{C1sC=}E-7c_{IO*?pb^SY%0ep{}Zl{{;#+Sfu z_93u4HFqxu2k}iXh@XSnqLHpoYj6;1o{>K>8N!w ztxh!==7xE>{4?sX1wF{{%47QZ9@pZAyZ3m3r|a$kP!XOnD`fyAR>LF$(d@J95phQD;QUKNk5NpW2MXSSCDI0 z-Koj=$^_`hcsHS%v{!EVF2yRe){YYA*Iy6O;`EUgheTT?cu1d&hq#IHy?UCID}Ayy zC0I!x*C9P)A2%88EfnL~098&OHzkFpOch6oJC8_?;s}Ift}4w%XM@Uyc@j;T;ifkw z$Mn8Yz4zQP+&1bBfwS2Cp6QNtGt=Zacbq$R8WOV*!h$lVn#^*uY{GpnC%O~$IG#k; zC$;f`>W>zqGgR_8XKf7{|=JOml%-Qao?gwXTa<0FQg>E5SC5Kk$JeN*O z7SY&ZG&_r{;wgF zgCDnr9n$I;tAJtL!B|bJgJzhIe%jY_)y*ZuBl6-AaD|W3={ha< z4rH+RbP=Y{-UFQfq;&vQ?gLd$MRobp35e{cYzVN@PfC+RPh4K6#$l(gz~m8C?4`%~ z_lD>b8QkP6>q0LRTLkJ9ft#WfPjpZe-cZ-F^sN;i?8EOqdQ?WQ{K;zj+k;W8=>4!k9Z@m7;ITaZK$gmj<$P{HyFoMl4fCuYN z8=zBkyQbhye?Vshpi^`MQ)FPfA@~~Lc8`DgFm1F3ZOI@mc(5Df1|#nBYmM83HHL;; zl07T01PH&1t|~p z%YkABGTjK1CI{2YA?{#zND71;s<&}eWgP%Q;loleq)lfKS-DZ=AaDl{rvQ&c(WEEs zG|aS>0F$Db3RF5nV5I2EDdqu(yRq@Fz8z^!8j^9^l)#aqJHp_;=*9^gba+*mjE~yg zcwn8UVgf}bm_2~#ug>2V0xU(zxE>1um-~M!a4EWp<=`tJ@8HDvtA85;F-3P|Iryr^ z#`dFn;U@8WQaRv-+8?kfy2&YE(}Dc!?hs@tO3VegfGktoQSthZN1#fGA;5GuqbgvL z>4tT~t7naVOpPAH?_=5!Dd<5!_;9SYACt8JL*=amU3!(bL3O9#pmC`F(sj z&|PWezu*nq2SX%eG8{O;omd5CitZ#HbT+ff!7y1a0JXH*lANr2B1gX2DL`|IL}T$C zzsdnNMK`A$d=vR=h?s1Sn_C5SP6l#L18XoRn3l|=gZXZrn_o@N+z1uV)Qn4DR?Gxu zl9pM!=Wytpa_}|H?>RQV=W^uSa_|J>*MJt%>Uki-dC1CKI(cINGR24$yue*xckDvy zUsw*lt`;w}7BAw+MdjcdS&LO#?1rMr8v{|Eg_{Z~ADez8b0~i)KQAo@r*eNU4v}5u2wwJXg5H_B7!U6EY9n;Q`?w`|ksr z^o&sHTt)``6v3c!!0fjM=LnS8o-3(XC=g=*1Aqr8R0N0ogYtg1!y59Mnx%efm{J+9 z08vG7svI1{7t40mL{7PO-m+@c~*zpvh0k{Wc}MJbmkc zQwJO#jK3Jbd01aOb-<|u4r}D*0LPw@I^gsK9GjBu0yy7n;0tg?9|_cQm9^o<*3^6y zV9A%+PnQD&**=)1_0eyUaTpE^&FrR)+Q4S|x>CIMI9F&5@{pPkQq$lXt4Y7^PdV3* z?^MngAU14@NldX_(fIFLg~$|K|8mfeO8>+n)T~GllLnnTTyj{LFtz-5TXt9C9{3#1nrJ2n7RuzYgW-&}y=8ksaH0`9g4MKU_dxg(BC~)752BTWG%h|XLrv~TF7{wI z(j8od4;{jk+SS5|;$Qz~VHlmlfsVoeV2Yb=_iqMm z&+y$G&CjEKH_X~GE_BC~1FTfkRgPgC%gGf z3T~Ff$5MNr$c{G)z$V}Xce3?7o9+;*=>kvT=PByhKRG$9sCh8vc&2lzF&+Iji-4*b zr=8KU5!-QRio@BBJgc%BCIJPvpe-6#83)lRxU*9PZ08_RJIkGGoiC)vg}(Fi_<5f1 zoXa-bX?tN~tOBCUDnP3CH6|fCpVrP#k+)r-Q%KqPDjl5*V8$0w`l1x`>8dxQsB8#e zIR$SQuvDj(A#9UnMc^V8fgl!)w$Jn9zF5-GOE~5&1hA;4h0EE$JjD>;3V6Hty) zki+W$QU{Q?A3&b11IRlMAWyE{DgdF_W&q?54bh_+1Boi@HnK#{OUJTW_HO{%ng|t% znI)%E!2ok%{7k!yC5FfzSsD`A8KZ6)!3H~HvkxAT>;!!746=!u?Cf@GN*bbe*C1e{ z&ItHPUi$rq%_#X6f$`!WFCv$F7aO>SH%Lr zwq^woe-hn-*(J9{k8^1O%9(t(at8HG{6n1GMtQTb6y?ldoINSFC&ju5${x_7A@L)> zH-D+UII~xZW@c|w{KxUSsq&9<9QHQJ$xxZ>@5}zaW|5rihaK{M@o(>pES0FBl+0IrR1Sg%G{} z7qV~1Lse7u#+kF`q3B~&b2NuWrzl;EwTxK|0!D85LA36Wx&=xLpQV5r;_! z|E9P}Zb}s%G1+yvsZGf=o`Gq6WYX?Y^m9}SnV60$Wk&orPv%?@-|_vBTXQt0j!q#F z$3Pp7jUT?<2o8?|!^;ebpNKTp<0y!!@bT_=d@b|P2HY&u2k6=HbiiuhR(Turnw12F3ByzcvHAJQ@?m5a5W3Q85M1 zNRxReOwggkw|&EkG$iv?q=bQS+|#}o{eApB)QX%N2&G^XLn-pIG=5h7o-LbxrvKRx zmXVhgvDe$57vFdUq#`eM#`D(0^C2pfAX&`ZqQH0P@|%(inA8iHR4%cnWwEQq4}P~c zbJSZxJ4?(YpZ+(5*c&g6fAmbQmjcBTZU0}i`hlA%+K=vowlAgrrDk_5?MeKne~Ta% zzNstSmA1be<$le|cp4i0jkGAH?eR5Gqr6}W{5{@{#LoL1HSA&`=q&(8JbOlz_iG!|BB1^-4T0oxOX!wpP#)depr8iWUoV zU-_(dKTBmy13nifYjuCt+WnDMMX>UyN<2!5&xh{wp_t3_4bd0E6-6)l>U>Qg0gT5+ zLUzENm&1zlmSz?~0MvQnLpf2fX7GlM^YSnG6i@;9c~v~hBhJpQZ?y|=u(ob=a&c({ zNcy>5Ix@jm>;+%_d2=3p5mq>$k|YBwEA?|X1qg7vWjejVDD{zdr9j3Yw-a)HO3`-^A7LBa2@~K$L-xz6LIx? z|FXAGLa#6x%D-CB0N2brxf6mEwX`4Y?k78YneChO%PatZnvoz)p(oPp2iB}F3hPF2 z!p8_m4phB^*gwd;TfmtEi3{+DE7W>B(E#$O`wszK4n?AcVOR&y0qve2<67u!77w4196(nq(g~xzPeNa5fWSJz=Gv2r(6VCIoZ}?wk~m zITy|RNHp_>Of!$TY9S_Mi|hfBjab1gHeZ(H0@b^a{hG%L!mDcbfUv49;R#vlmLQ&5 z>g~Zgl1muZrQFKP_;d zq(YI8np6on6pD2JqEZW+le`q>SeTeBDM60JkJVv^07P#3TtH17jzB3>hZ~Xr8ch-? zeo}I$3^Z1UH4)oJpg~`NMqzWH@l^wjuNr7@lPHaGNWp!L1FNx`2ope~&SP4yA`#Zc(d*~mAdcd*1NEld!| zyJ!)9mbvC2`&zZgHC}jIaJ=SjFiM;$r69~sW;xa;{?CVU zmFEM^Ow3M4y|oNFKs9yWDUdG|)K*K99~V%&uoI_5qgb37jD7 zv0P@KoH*ZiLf=C{nZynCeebKsshM)k<~AwHvcIYhzZn*k>kK5n9C+nLs z+`An2PGlkL{QwSNV~l6)VxPv-Xm$>&6d^DKpm8JB`#Pyka_(T`G0CBo|52Gy zm7TyAZ+1+Xr$emCa@`J)@4b~Whf}5u#vJa-YUjBSsL7eyQnGdSWcoY^B+z~P~ zRvGy|=H&bMf=Qh#JUW#Wp2957)d$POE>lK>9K0WOgC|qRn}5j=8Mx6bOohdu1_>lP zp2pL06orhs1a3M;$4~wtw`Ya*W(Hjty3j>lUqeUpKznORixz_?BoFmWD$n#L#rQ@- zUDU$~n1Y?49x(Kx70kMx)BAcNzfUX&e4BX3DM(@){|DdphrY~47Ool{dlhA}PF=hz(HFh3?U1H)TV&*JF}>hu(ZIYXEOtI?q5 zyVKl!4T?K|CheS=f-tnhrSfK;#hd9HvT!qaP-+g&p&<`2Zh^5FHFO@xA|*-Xp%69` z`0z3`#DmByy+}lslO=DN4C?3!y?}-;@H!HJ2v%_79Q+!zvPd(6C1W@A#=G$)Gg5|> zT6f?R$mIb_Zw>$@Gi8OHk={fnP>I}ZS_?1<6uZT`eJK!71wfVQPiUG~itnHgg!&M& zra>$AK1cyxWX?i+a@{y(Cjg}nThq50I?1Uq&=PgKn!cTy02fX3Ch|SPZ)k!w4SKQX z;Y;r+FqK0~BDY6RhcXD$T%j8QD$GfLUPH z%IkUL2PLbuyPB#`>6r)60yHG$;2*RHs0EmOm4jc})!nb%%#xWQzhK`Da3+Y14H?$N zo-CFzW#;UI8nP%7tcgFJ_|&FMnZXy3FxQQQLZDY0q6fkiq4-T+&#_6)x{a4{ijh4r z@-@eXA@0v6!Zy!u4wR-67aG^63I=V$h&kz7dEy5c(_yIW8se9~7lA{exQ**qO?KG? zeb@yOkMUd#ECu@9+*O+fSuV%_ds_}k*#H3@9{g@V?}%u`Lo>ckaRSb`!SQXs$^lSC zF`dDP1oz};OzgyF>2mNBa^}N zVKx(OGBDi7Ga=ERDgw5mI~+$NHf>_DMLGCm&#b$AWYnH(*L@gicF&xUT`^uXGyM4z zDr=u*1Y?0g9Qxz0U|Ok~m_E+}GLAs*CeMC9&E`sD)7;K{R9w5ORJ}KU?e@Ega7M7| zNSXu1;8L(>89$qGb2&IePnkLSSAn>qVxi6Ej!vbxOr7cRD0=k5IlB!r+zffym=n!3 zsFT$Bu%;?tHq$>PcCjpQc2O)vcGWC190#&9tNT0xJLW*4XG$_`b|>KZkAMI1P^--9 zz5&dmhy-{TIV%iP(Va+ex?FqZ{|10w(Vd)vcC(XHv~-`!zMW(IS%!-2-s{H;NdoU4UyA%z!uM}N*>ye#wE zz%3X~0hWWJw97fHiCcrql0}-(#V$0z8vRDU?=Gl9o6dI^9!=Pp5a_zdRjZ)Z5`AO) zYD-mg8P%3m@$l#OC1BVkRU~Z}yGuJV{)Fd@_|p|)cEy(9awrrQ%a{$Dhl-w>9;{m7I>oNCx5NZ-MMJH5W=TI!RH_Ja z(S#kCB=C||v&0)?U{>t(6wLWWiTe&{5&i7jJij+-5eKJ$t@ok*zB%+yCxFGnd60y1 zMF1;P_IoxJ-~NpVCPlqfLMK>JRnT;+ch}K#F-DfjMKtzETV#=AZxm+A8+2VD)uAF& zw}tisfmFAL_O1d*MNo;C5_T=w1RzxeqiDpM7$vGz1dH0Dfs~*Cs8uxG{y-}*(DeIy zETLa40}X;M*q2sNQ|oJy067a-d z&33@wt~HYRJ-|n{D!|MPpWtWN4FgvIDLGeUASLAapN8nu8STHgBia1kN<_A4d2-W^K^K0#y>}DvlADKg2(M# zg&q-DrW_!JZVfK%WrpVZO>W$&VduV;kG((>yHxrigj=cBWPpYwF8=%5Kc|Oo)cTT zO<`k!L4UnVk}%XHi}K(UmcsA*$Pk?o=!Bs9`Y4fBXQoYm$Y+8rcrXmH~1{ztC2JsGiN%E7)3B|U?ORvuF0 zh~A)%qcZQb41+9K3<6Is#G=LcKpS0=Wx$_TxYsQapD1X7TG&GkWRrV111q~SP;)pC zgSX~1_!EvbB2HEK(}bG*uD$Y{x);9eft1cW$65CiSuksyiMg0$fdCoFWOne(d`V9k z2RCTT{tGse4MH47!uQn_j*pgyX5NjF`$JxCoeS82LklbG#kcZZJ~x$h8pZTV4mVEt zSx?mvvp&-u1qGV{dzz^!rfyG_5OaKj&G9U*@I-*doM-Z)QTyrxAjDthMKwZdv@>vvf-u5ZtjT0Y3zo zF>kB9yV(3#IgAMEQl7@kXcx5)QoKu>k}Fuyu3$Zr`%K`f8$f;#UI_83IiQifHy)6ZBonVt<`h%IhSBs{Bd!<@%6&4A@AV2j19n z^ICUK>43@s%POnRC&ZIzvnTKXIcm{j$>hNtKU}d|cv8N`lcW}s8m{uW!II|X0U#;e zR17rA14d?ECiRfT=kf)fOr~&5in9~}llZPv1s3USDxUq+Qwd&m$y46w@RRuSSf>jOx z87AodZYdxKGAZB#UhrqCBgI!@hPa)r!M?x@jX{Edn}=wO@SLk6R7W)VX*!4gJRIVb z`KizpJD<-)Z#fBLH;NF=q?KF-H|3xK<6g69PJxmV5JF%wfT$}Hz)p~xf4wtTQ5*mQ zKbvzVs4)T-gN1S?Tmw1!$KT*X0*R|beRHj8qaiXv4a93icJA;Fm^^xWa2PpavC$C78TPV2R>&YhM>3p|yoZq-z&{L*-H0ln@E#DNwF#PXAmU`b zNVL%Gbu#t@zVhGSmKgwc$Vky{|3l>UD+gEB{E_2_R36dhP%#&5kRM+LU<8Udmd_+~ zhp|h#@k6=wa!e3!-O!6gNp%ms* zX=XgjVs}7hH$F`&YST4wHNGw(Ry zyHl!ghmKD8;CQ+o>B9D4@lRyyU9UvQ_TP>9nd5IaMIn8zW{9(3qTccw1xEF@-U zWf!+Fd0ZDKg=wb^hjtcZcL9QdZ0u|_FXy;(J5atL6=N(Z|D<_YRAr&ZL*FfKl3u_2 zIath+Z^4#XnCv;YklT3yo{>BU+yiNiE;6%WF^l+b|5NIX%5wqBe8DgC%UIkmj=%g% z*$Xklmq;dYDJQ)qUy`xQb-n2OELNDiQit%)*Tr4Mde73WJI57uYg-T+mC)|f%?he@ ziNUUx7)pPCKd|z+UBo^~)w3KI4M&Ylju=EA9H9l7N$IV;6hiV2fSgKV$ z)~YVmOeXlUuIzE$8BHy~E=gF44lC3TtW_$-P+6S@E@|>q4Lvy+bdj zq7%1S%Mb}z$nCY3XD6)e1@{C)M)tJYJR&y=!rUMN!HS*9y;vc*sIQv0Owfmdn$f( z;xnQ1)&lEH@v|`V35V;qWdN6f@bCO6Dq)W&{OkR{Z_{;Nn^XLSXVTcjpu6-Cy^f z@(if_ZZH|_1!&8U|K2B zD&Zu1`(q=Jr4g9Er#rA;6y-uI)*tQ?Av|N85}h4Vg|hH_6i_s(YAT(rF&AiT=%*JS z!w5Gn1#^y&xj_8!59dTi;_GOzom1@+m9fIl0BFD&1|*Qd>a0mHBW}r)(;uuUbb0T) zDe()>07*( z@+|JpS!FU55S@iKhJz_+^ChsVdVPL5IGH2oa^&19Vyl8%D0wnPhj|4*?*VK_vo``c z7Sa7B?z3CJh^AAN{<`%$^%Z^UrT8yFG&a)v>vG3|H8szaWSMI9jOOo_5&R{)-f^#y zVHrOCPS<-SD!t{v&2qcms~8DTBUg&6`FXXjw~t-#5ts#pNvCHFRS<^0ui*>z42}Xc zD*zf12aZb7VqR2Zg*Wn1;k8$E1YLT&c!VPR!#MrLqg<((1?c+y49!T8U>${k!Z1fT#B}KC~?b(54&+@L?Am{vd~epaM8V zMXNSIU=)ExdW{fdfjS?i6rqvW2ZaEs+u4T@fK7Lx*@ryHM};=A5-=kHBwKe=1avX@ z0brWo5L$hJ5I%3DWuc@As*pid1u}~AUk*;l#y%i2T#DHPjMIyQGi2~18itogINYGt-*=OBdQIk z05zYXScW6zK!<^eM+6pC;fbsT@F(Mn0F(e!(IX@L03X1X0_c)Tz4(Pt`0=ZT=;m-m zKdEJkqA(ULW|7E8vnB*qjM`a_rK9F+*rD-U+0f;gy`@nljG91|5?T)mpB!A4O z8H}_JgY6L*4D^(ww(x9d56^~51ubl_Js6>9gX5z>qLSP+ zpV2k49g%%*Yby4kxRq)Fr2JQS;v7JgK$(WReLKLY0Ads-`}1#@Ln%{DS{#XPTuW0j z+y*#Y1JpY89vZ~(fMwIR%~^v7unTgzY&4|0o&*6iDC#N z4%8M#e-OuU@N{f&?rgSUJK)R@8~08S?O<8HxkEcJP*9+>5bh*t+9)@=iZJak*XG7F zC5QWaY=b}C555^TRg!LJ1HEdp$5u9A4#%+?zR^yXALn=%I)Z?s_GyprK19Qt2gKpF zNvFLb&hVS_4wPfl40$SvSdC$W0F4erJf~O;1b9a`68BvGhSAs5=)X< z_$UPDGYaoqsu|8E_p6L=Mo9eZud-&#T=H^ z1G=K7WM0(n=Gn_SUmBn@DefhAZa#6Mby;U~$m@x82s66jInyRAK%3yNAvaUXgc8fI z_jz1cStkRCQZKn4jW6a42@)s{c!_a9?!854lb2}8U164_66+DAZ5cLt zEP_`dD#Y|5eoAI8;(bUFS5S5%-batXacL90Pge#Yf!rUhU0S;YTO}Y#LQ6eFvpLM>K@n#SB`ZwX!nKcbkail`Q5}J8rRL zG8-|95Gv-6NI*mMECh<0mCKSkqEkF!zFB3Vla@Fc}ou+ddh{{Q_ zSD$Qctt?Jp$#u&##(ltR&!N6%#jCNXN04Pmk$NA|;26Kx5`$HUZo3x`_FRa1xXh-sm% z1Kcpt4?R62RBz*mGSnMMy^*~l%1{rD+Cga4vN2E!t(rnNjLvP)JRFLD$i^XNXdUC? znkAVJF{2@rQH`Mf&=AH_O{UXc^C5@L@fy?w4o$Gw{W?@}70m)lyYVRPvJp@UAj**I4*gMz^-Y{SM z>sz>Kv2s(3Q{HMPI2%HpT~TG<#* zmFA>})i5q9r&0TKN}ukXEIBgI&6D&R^~Gt}xcI9^!S+R6wBqs1lTHaU6`GpQq4_d7 z!;(0DLJvnP^M&nhYak0VSp%HqtpNxrQw|j9WkET>(zi8Of-_5qQNX!wVKq5VP5S@4 z^H5e{xjHgQZ5|dmC9qtC@!4W`eg{tf^7+TktSZ+_@8UyiOT8(vjBU9k7EnfcE0uI4hZ z17N9W!~|evC>wyh>y8Y7{^42;<2oI_4oN&pfBrbkm-!8$9w}@V(Me#m80cZdwv1L# zCG^NWS+gz6NoCL@?_{@ancDfX*_J6fkW8+FT!OMG?_}slNXu8u-?Gb&_ybb#tD{va zlUWVlY6imS3_cXb|MOKXZ0OJebZBN~Mw82uub5UJpG3wQOD~32&HGuZhdb3+S5N>u zfwJf$q24#NL}<-$AhD}N(?ZS6u#B3$Ersob8J6j~zG{YL7~fGdOjc`1tEERb_28|5j}H$|w>`>lMW9OzozfmIB+4&npWjM_)y71I@Z|6o2f z4xvk*rVPr0HF8(zeKX>cc(cF_wngB zhu(3V8dt?ax!{iQq4zn{9eUrQ^=F~?$IFt{PvrzIa)QjPByWMBT8Ds+k& zvzu5=j$}+n)~;$2Ubbe=%$wgh2U@Z zA^0(%b~Cy|@E=Xj7MG@)94k`bj;-}Qvr_PO&$STz-C@w6Kr`Je>-|K!!!^Iw`$_EL zurC`-U1$#9O2Y8ZmIcu%xZ23$M!)CabTg-lDHf6WJ9?QzGXfm-vzt1PF#Piw?|cl~ z(B_}X&zcjZo97nT0M4ezv%3dy4!Z=@)Bw2rbE$#DJ{Gbu^vAMVp6AXJ<3h%;A@GLK z_*i0agBqxDWMGq__?L)7_H@8ee?3F4N(sE?UHla>smYJ&VQW7o>4w*&{0 z!5ZwRXJmeHA~+9&f%EkAr_qU?imcAMKb+^^DAaGxhPO zp+^{v!k*RqX>1#p0FO3%VCGj}dWgg{Y$n z&vYGCj;o`}TZt;Kn4eS~RZLW{gP_W)twR-x)lmi2%2p-~t8zwr*45C9yD55*NZ5OS{UaoduZmnpP>g zN|k)Ch+mFa0hwwz-z!#e%|;UST0gHME+`0CYf#KGhwb7shZS7^a?p{q4^p^GUq6D`Xmv#6uPV4@O|^^azFS{E zveHaSm_k=d7=j&-%x+3EfmcGph>>-ynzV5<+WgJfPw^`imTU~C4=48i;mSZp{K|5G zA$7rxDF>g^?H|jju~i>f%X$}p(HyntP8T5R#o8gYGCdZh*{+L?d$D*&FN#U7_*;^sZP0yfZ#6~{B zdY?t_Bq^))o~iG<_4Ox7Uw^W6^s}*Lo?RuxKED+v^VBM8`%~PUj$|%lIL*yFduxUq6o_%p+pFETiZ1d%i`<^dT~B1Pd6!g6QQk*c z5=^P!u|g%LQ+KX1os!=EzU;|dOlcoVMWr!KrnE)P?3q3W1J*8uJ$9@GS)t@E^7pPP z1%0oWX0)(zOf$@x|Mf^I?B@~G%)c!JP9bWFDec{r9YjkZSPE;<)ofR|YGYoGrZ#G*6 zwCK5csFElwYXnS@OQ`h~rUspU&p4S%8bbmzx+LC7fv6^y7zX9MPN2g7ptbx-3rqG% znAP0E3hUaD~lvjZ1u3rx@Zw@l^W_5|Szh?kV**&AAzs*|4<`=5~Qb#x>~6jH zwaA)P#hAHAk&S&ZOJdqP%%*IM>k9i#083r9Qdh0iRV#0g8Q61Obfs6T{$+)^M1bgd^i{GU}u=jT< z?CV0Xw*pn(h!E`V$F|D2m|}k^sN$c^H-{>|jqQRe{sZhUSGD4&@@+vC-_<*%TJgQV zgQ^ujfOnm0<>oF_sdJUL0#*EDv29%Cf47dSP^^wBbu+NK8CdAkiFGSh>Skc+JL?E} zYaLZ~I5V&xZ=J%PVt*;9QkQ@QB>UQ7-0S`Acw4xN@9Lf6D!%u3kgNCsyz98i@4NIW z{;Rrf2KLUIf!(xq5-^I@QDy77ihn`3iv-NSDu1~WFh7-bRH^G#WD~ZDpe_GeN0qmf ztN0gi+azEg**a9A*k({=dl(m!#U2Z|ol>F{?@Z#zZsTGS3uBem=o(yOHR<WQvQStVsti>0pMhP*#TKVw7$$!f3T)tOLxIVtb9H81 zj9qRm7}$-haUY(?%(%E{ zu8_s;XI$)i-^jSQ58;yEHsfMHf_I&9@sGQVi~Tp)+iqOUYu4Mi7)$5vV_Zzjy^V{N z?y;9~anx;GZ0o_+8W+=YmvM0xdTw*Z#s0C_Hsj)(yHqQ$Yg|mRx^eN=(-r@GZx^~! zSJ=O8W?=rVy;DLk-}^f#1oH!U*9pP?PZwROE9`d^h5e&jM^`Ae8M^XkXI$)GuGgb0 zTQ)BCZPZZ(Mp2J3S&uRKmPRgqwT>!psSwPsW!okM`=2gH$k&ZrOtCtu)VWIC46JSj zwxh+v|6Ltbb~seI=FzQkS)o`RRqCixN0mCN>}aU+avfE6I8=G5ORw^}T!mtPDX8ML zQ*TZJ=G)jV5-?9d>tZr2aLV@|ItQ!~Cjf*#9T>RTQs=TFK#lL{trdRpG);U5_td1&mRCxy^ zV0Bc%wD@hwGwf&jUB^}au8t}@9ID*DbzFsFn?aS2G(@Yy75gh5epKmbBmI^ z%Qpuu?+Bm#qT=Bf_+2Om|E$2sMSc?-pWh{7vVi@LN4dK!UvPs#aXcYd<$vfccsv-ZP6bU37YNyXYWnmv?|ZL z|8vf>%rG;+VUvMDybqhhGJ=W&4yYWIVO17EQ4!f>c|hbrP!yF>NkSsFBr(w>F1RFa zL@_am8e@ntiEV94-rBdewT*4f|8MiAt$k}+|E+KHet*|}o>>4>YTLB^cRr3hXSweC z+~+>$T)+F;gXuY?d=A{_Xjn~<1tSE+^X~KPAF?YvYk8jo_XUmwsZ07o-M2)@3@7?S z*}tTO{5o`kJ3)E0$qn6)?9igFPfYJtO6o;D2e@a6#KAPsn6TVZQOi;enQ|bQHQgWI*%}ppJ zr>Bj{M2<`>k%s>a9cgyW8Zu!4r~3-%Bx|3fhLa(iTp}Gm3HeJ&3k|1mWJ-zj`%`t~ zEO(X~5(d!XEX6qQ;Mr<;4rJ$)l4+#WKf9EqG@Q80dccdm|{=gw0@q6Jb*MQ-m^ zqf(LQEfx7JepPi~UzqL-NxPqSGfGJ-!AUc@!Ynt_%_=3cHAPl$e74U*&h5@|v)!Ch zGFM}mN2_@ylIx$ZLl?LUbj8O*H`hI$J@WZb&o7Y?8R~^lFDxaC+#(&i&|N6%CqlQt zJ&`@~#ZWIUB}+to5!4rzl8Z^B&!MGmsi+TxZizc!)Q&X!ZwI8=&$~-Yq}eCYeu*^u z+{@)0y1bMucguC?3U`HCemNxj{+F#~eX>F=S3_p zc6BM);>l|V*_>e#I- z5y99q=>@y*6+iHo5xIVQbGUa&tUKvLqrU8l<-1b$CdH{z9v;%Vx-$OVlWtFWVZGw;qSC1<;{-PBTY zj(VTQp=t0*xFLt8yXhMIx$Ycyt{?n)YS+O9-FYP#A??H_jT6q+p*e1jhQQZ2)4oR4 zcbTh}ojBoKIH6k3rzL!D0sM_a3*ADs=2%}vXrc$;guY@(zv0HtaIzskgs-)vyYY;Sg(c~ zAlm>pgyq2-H_~tuM|^n^9og(Qt05opM*E13vrR~z)%`!q(>oZdmktJ*lqnqY$JcrO z*vyBiH~c`DT*EwV<2~N)w!3Zang(LcukBa@?eGjRTLN9D;u!vm*a7d@!J~%9@RnSk zz8=B|^Tr6_cGs6ELc(Lbi9a6NB6&Do zNu@{l(+QTXpAL1eELh=-cV;)s3RWdXO37!fp{+&lV%HX*cESpZ=*9k4$ST!+%dS|h zMP|SvvqVi1U6D0oo;71h%R&Bhf~DSlp&Gszvi5W@T0>jY!` zysX)}sHCvS$3iV)9uMQke!|;gYm~fu!Uko?p?8s0NJ)!|FB@|FLtS_<+%;Sx#r~s2 zilCV%LJNlZ2IGzY_wA9#lIF|INuf3A$)R4Z zr|VVjDl&9p-@UmN-(k$<;^t@sMWRe3D0!4=j`l?9Kh=XZdDpKw+8c4ceUT5`G)HZb zKee0RM)rg}jnVE1=mCMKQN+){=4ckN>=H=oOJLEUWN>=;lm8eb4QT`dy&NPba_Ynq z2sD(a_b_pY1PyM8V&CJZ=F&9be8SS+4FirsH$49S-{g`JP>y7QKeEiieN_A&vve|t z8r{jRvCN`9??$%-WA!M<`jxpG+ts6Mar|bf-=9zDTS0 zM)trYR`Jcz7Jh)HZDJ~#biikZn~}7p?`Uu{8PqJ5Yhs1&W*aUMnBJ;YJB#mGnq}H` zfD&tSfXAkJK1~-;+iF2sm}Jwuh(i~$D!;Jo0jDJZWtxJES%`=%36mr&G4M~#;^NAFtK?}W)p_5H4grj^W?&abkHUGE0~Ro<-zsN9<5N%C;R2rQ^t><0uJtK5q&Qun4pQr@)rGLp^gk>Iy@G zAc2rQ`TNz`{t)PK`VcsEQ7fKTKGZA0f2`eKg-*8s+u0BA(-Wp};@gs@KE&pPM5=GuEgbW;584S}qJ zI}u>xXNUlVqq6`oe&!)X72MF~XevJ^HAmAJmSfWi4Q<425p$WKff>gBuo9RyT<|s` zotli~$jFiaO-D|4C+ll(1mzl8PAZ?vRNiN3q~UAim;0YcXQKreW7yB+t@;NEF$p4JSU>%NvHr`wF4 z&iW^iSk@T5|MQsuVjyi5;Qx0sRWQ<>(HyPdXHs*tMuN4q^c5s0yE8X}jZ~0qj+W_C zQ`k1uRl!Y-pIWz*a_4asz#v1&uoh7X(6 z9zsD@Eki&-ibQ58$Y!h7FZ}XegQfO6LK8ZqUE|5xw>p{W0ynb+SPlUz3mI1G$Xqv9 z!oGjr+mds#o3qa_6chNQ=bbuG#3T~+_3eb#PLO&>}E_IiJotL=<@$FAXtk{>O z$U>KMF4JQHpI1ncqS-?;wbHE=qONkQBv-)nu7K@Htca7Dn#xRXci=X-QaF;JEW+h<&7M=(JQJr zlqsrU);rtFtnO0FHVvZ<1_?y+hl1)>6Dx1i@s5g-90w>rV!{+m|5h=52~*q(*Mj*M zVEd^qIOWp09 zr=%nefzZw+C3OPE=u1ihGjJ#?R>?ceIF>pUhWw;81Ta6aVkDvs;+?8ms$yhqdid{t z5C}KtyZ&Hj{CmF$gW4zm%>d)RUkzZ~(hV5@NdaT`zF8fBv4@?14PZRo4HzE+F#dk$ zzX&gYybp;NwEU2GLCY?95q)^PpsNpw7qtA>;{}~`#S6rtBk)2>-3nfq_U(A_g1+1F zf`-SB7c^|g3tRIXFJ92F9WN{iSZ(_HzE_UIi+`w%?hTPYhnspU>}oMLtzjW;QUQ77 zi6T0zDp%c#1}n(S-XXF=4_8;l4pM_Et7n7H<){+zU|VmN?lOk(68CYj>myB7Uo8uG zSlF`7E|OtkyFA9(xb(QI;4A27?>oAW;dP1Rc zHL^qCWd}5=_5>O-z^+F&Kx>7)8ft#fW{HBSJ~2b)7|Ec)om5ItJ&2(5x-TG0?$0(B&L`YF@hq#b;jo4tYv~Xq& zYA=iVgW0`cBdI{|Ao4Lez@7htWXVJBk@M=o*~ zso}wp<-S>Jk(#(eBlI3dHt_E8nL(NJWu41UG zyfKC&=(yDIE1_GNnSSfhdC_n!WNXbdBSX!48g??qaD%m#Cf4A0J+UA*0yBbnX# zYqC3=O;~mcC#zB3tVXE%M(0*^Sabs(*A09JH)y#}|E3Q+(k}h1misal>DAu_HOu%m ztNYGUKhJvqSaxZQE^QT~OJlM-q*-Q{<}x2uyAQBSKQ95nnURItV`VQxwAS_-pY&td zQeF#nonSeChrNT}G)s=GF_IQA+63sww6<46SaT<%vz=f$|0!$uf>!?yqYVvXX~P1P zV5$bMhOFW9nJGqw7M(!wzsnk8dqGEr?S+QblK%tb{}OVr8iMxn_mL^aE5k|x<9n>( ziy>Mw* z!|{F^emLGw!!Eo(I)eA3SVMts-aLE<{~Yh9w+iov`Z#$%joNuXt&X4f)3BZQ)A0Ct zKMmV?KMjwc_tUVQ_tWtBc|Q%?c|Q%0pZC+So%cr{#QUGA%iR_3D&8F4I6O$OxMx=D zjj;RThyYC|%Y9cR-Ki|sMOQ7me2Dd+D0_j9VENw056b)<{Gh45k)Iq^W~ugT($`-2 zu51c{3y};WR~!GIv$^>?XewS)bk{q5OJuR@WrV$59KW>46}`7BKm8FHigI=Z+l#KR z)c-mwBR4-okQs_*>(*Jc>-%(RJX$eq_w|;A*|=26d$ryTDkp<0=5#k0-L3B!Z0#de zaf9nK7C&Err6@B4I9o)jI5P(p*#VdBH}cL5VcSH96OkK=vK|<>JBe+R7hICCnKVZe z_+ju9X)}yX6BULhBiI~awl)Vw6f+Y7_Jg83xjEvSw0q&B=s&}o_%JG@?`ob#yGGa7 zjrN*8ZgmW#W16EnlNO4Zw1AY*6#wlD%1{HzDUh7f98LC}PR&iz#7#za;Abjg!+2~5 z6Oa{7b*IfvPG_#nbY4!*F!R9~JtevLCe3uw+#K;T+ng`(JucSC#mEoM2oIBx9IzYA z#?>`Urr_8$rHrspbW>Y`?`F+j4pUhTn%!C3kR1BSne`l|hhb$NT-eHsvXScuCiL^v z|1{(Ve$GQ=$RR+S7ytA=yjrDIU_%W`q; z8A(wrs>v7$_?e24U>y>~daULfTxou?5&BJdZEY&cv9)K8sj3UqMBmkG3{Oorv%6U) zMn-8S^liuz{k$wubY*jWvCg+bxK(yw2(NKl-8I{gCi;14qUg5EjtB(}-nQlIwd`DL zwt_@F1Q)KK+41Yy@iqc%=tUXLu@_b&IFvIxfdm)4kKPQh78Kph=FO#3Z6*+yySpok zh}Ce>Oc^Wq<@y*Ft7ShZS0swd%H;kJHmD>3FZ<;TLg_F(niH4Oec^o zyh|872${rNG3-qc3t#zxT~kv7Gd5$I=-SV9fx%~?+PU$Nm7;80Uvo+ zT>?6KV0Er?HSu44B9}U_A@6ESAVMAPPvdZZ%DY}A#D?C$K~I3-MWzJb0f&v*hZyyB zec=0jVfy`C|JGyxH+TXZZXmz)Sl{Z)@Og~MZcsx9r-v~NHdRyu3y~pQ!t-s{fXat4 zoWv2&vUMau9Rm~$b3@%QS#a^Tb6Q+^A5NV4^(_p~>UL1e1MWQ{8RbU0QLT70iA#qV zcSG3n$!<&;1x_Pcov{t_V)C3^J&f>L9DOtCyZ`u-ICS8e+$r&A{yvibqP&_OexKtL z(gXTA6)n#McWV6XHn?;k3vb0g?sRrf&vZ-G$wc|ppTStYW=G)(lelL_T?s+p2+p>; z!zpf(o8s>5C zx1+N`GlK@_I^FLM4q;VAX`@4!U3GIi-F4!sdc||l$lt}u`JM$7Y*v@Ki6fb_EPS0%(PUcBe;Qn{7wHdh}sE}h+H#YR6SR}$8A`A$Yw z9fvu7!aC;Z!&T*@WMhrB?9V&7**>eG?hVsd%-GuQuLRQ+7llJ|6Gtdybix!engVzu z>{E_N*7H)y1$k2my@ET=u^f}?#3@nFWKOcY^tc@%6tGrAA!JK*m?nGPSt;c#YMDHW znM^BVCqS5c?bd)8)HnBO0Ne>aN?a69FK5`2)}j2}&lWyP+#>3WJnD;*v=sd51lou% zT1O}y9+cB-Hv3SsM$4P7N&St+Q%{maASDvlicvnW^9Ws_Sm4}aqJE6s$IW9&C!Ubw zQs%(>XvKlI8lj$s-ZxeaGoidBA)7y)Kx#f{4Zm&PP2biP1xo3g?O`q@3A$eirGR>> z!?X6C;Fw^Ni6t#TU))bEE`!2PmCxG$;s`SYX{94_56G!ux26Qd)O!0w{QSprX@86q zdDpW9)bv8~7y{1VNQ(~>xYF14c75aD{u`#EDd?Z{b>V|bF?Xa{ZGCtc_09B#>8K}HCNZye9cCJ zLU}i~B^afljmo0k#<`}sgWb4ZQIunK&xyXtDa`M9jg!z0H=&F-E!(GoJ*SnE(~%BN zZv|lh7zWbJ|C8KAH>nJ|oWW9la)T@eGkW%{>s8C-w{S&oF<|jOHGcA+A`s=Q_%=E` zn^X7+WiGr&`vEtCl z*9hl9cs}rPepzvAJqvaDT9!Q>F&oK3hH3E_7OIBwf1z6(Kl-s8nuH~Ex5O*}X#6L1 zQuwoUzt~+Gzs{nV8EZ@~<08v&>seNo);|-~{@3sF7?$%rUqOJ{74cK|hsg>a3ZAc$ zo>#KDvLy((L-jEl5D8hmvvx0oA%v&loXe3bIb!Q~H2*CD!8%RB$t>UVZXMqN_o7EX zj)gpdYR%D7|L8Z+^?J9#9(|8m`DvFpk53PvgFT?GlQ{rT+2pRa+nw6UCXj4ZEAxZ3 zP&L40tJ_|=->Db^LJR@dy6ehd$`0Kxfb_Sz-|N#J0L%662D{&#j09}a{ocstjk@0| zyWg{Lc@0^y-{fvCqvOxJT`j>C9BB(V)P^JEE#gGCge?Ki*iFF{;fo?M_~cC{;kKtG zKuzADW`)0TmgE8ZDE{r<{p`$>3y{DDXEaa7Qaxaw)w+=}bgkF9IOqey?BVLH*A?@f&=Aa#n=B2jSwEqVLeTUHebQj&lTfiDXCK%B zl|Ie>owhi?6X)K~NNs`VYY4#b4+z2v{ccEr6T=&TqXAvNcn_GtTE?Uw^LYhf?tv0i zk#fH!xG)=gKSUV%LgWBv?uTN(DE31ki4Sby@BtGkz z82^<32ts_FF=9}Zg*r$*@j$3`;s(xd@X_h( zOyFT<>)mBGLG7c|MU5&2>P{gKoI<(A@>gp9NF=Ow3vv_5ZSh}!Iejxg*H#I3K+8rC z9gz+QMB7lMmE#`~%%X^r9nmzmg9SRRIszSVd&(mV?KI;B?8GFXP7&zoo=~Ds0nw-8 z<%CHCnTEeMQ|sKMv9aVXua}3aHlq1?2_NYYkkG_s0@CM{6vRdG z`|TMCA^W@-Iik_$=G* zy;Np8kyV>0I2f-#^GiyccSFU}GKOz7AErK&<@*wMSt~(sih*0^E-xp`;hD?zb=qp? zigW-fGa})z{YxRWlI@ii4u_`f3as2(&a8nmtntg4|8h|AlWwT^4~B|8?WJaaDO5n# z4Hex|1(uF8%1JX!su>=|Vt*vo4}Q9#BAK5S+JmOU^zIOcsX~?o5c~XmccC%s#W3r| zo>_NG6^3!gD^>hKH&pxwL&d%AmHvJyR6zCtQ1PQWd`WlZq<|`5?nW}K9 zs*>C6GJbHIUBOQta}_^`JkPXipYmv*l&-__MY-Bm^2`Q4Ulc2--mcE|E}O$tFBdo9 zDivbNKH5zR_ox%f$v|(sb_2E8vdiEoP$fsjdi|_Gi&W+6<K=vR)8;6mG`9@N`#!{go?lOp0%BqBx*D(878@PICR5HiPF6e zb4mQyZyU|xWTa>opjWDrUTF(I1kNcL+{yf3NfZSa9&MvUHUa?SbmiEP z-}q!`Co9CR%AIL`qg;6zq6R-JkS?l}Z{t8psvIVGDmzmx><;x)mDEo- zWODo*cFwV6u}R8iYTnD%?jG7V^8Vpd%P+~8&c&jA9yC7Hh9mKno8qRsbK~zA#Y7xx zA)G)8D*R}no24|dvmHkF%5$2E77CKdsGh3aT)ABHi;pdVO!(CDf5q;ey=xa_PYa)* z`D#e&rUkShy~Z1AxxkVJ*}k3^yDP}I*)h#nDP^kkT84#eFC@pTrujms$&t7imoE;H zLs1%wi`*i25z{P5q7L(YUY@t4;aKY3Zds{-1$O+eNt9*$=&`QyUJh7?639QQPBsZeF(P6!>Jm3+y zenH~UQdPN|mFA1zo0Pta`Ps$)ZSwW<)_T6iTa;o?4fb2oDmEUryj4}$?Jez36Ic3gwlb)Q|CN-)Ei7_7#m5 z`YOFU%p`g(xs91#%YU#~!clPDpS?;bx!ChLuJk&g-Ks*nr7Vgdj-5bD^+`i(v{|Ua zl)K7qbeU}UjA(^|_p0SgTh-xAi)9}-+xYoEi9})^WBgj|Mim+>Klr<{!Pkmry{!EF zZc;Fx@+z`Y;`ej9oB#tYR#k@!nY^Z+u8STIclGl&je}8Fn})ok%$8BbtDc!MzN8F0 z)f{g3!mZ&WdwFbHg@+VLpE4(0HhVTl}kWw~t0dHbnvM{pF& z@nqq8xIR?_CWZFgfjB@7j(@zI*QSA^4J`pUBdXK@@F zCOMyex;mMnmZl!^5z?egI$Jkm1_Gbbn?s~TQcF}zXX5}N^)tz6pu!2FfD?peOpTN2 za*<^X=)5D85`fQ8_pKai^sV0z6hR3outZ0TmCwwjn2_;#hcY)sqfT%_zZ%&CRPJwT+1S; z?Zn+O7HHOAG|wsviDr!OUGZ5Z7F0tRZJ~qF+6fkU_gcemn<)WrR<3BlAq5sC`X;jZ zgnPj?#Ua-~H;Iqx)@sb=P=Z6);W7rx%-3@{pXX;-4PC*$giBr6_q=kMWD< zTjgD@qG?!Iz*k;B%q9h_Ci2*AmOeU6d!&$;3A z(9*CyX0DmF`PBFT4d0gcENS&D(MEEPI-17555@o?00+4$>r#=rYhV_mfPmMW6K zhrSgiFqId>ev5pqRR?vcl za(f~><+^~|Tc47Rxn^b+&eqNFb*7E=GW`8h4CK=xawPoO7R6bLSMlNR0CN35kW;(w z7@wUW22IQM)URs!lC}IGR_$K0mW>MEqvd@J0S0`(vGDI&%l*2YjsOc$7&CU?wU$my znU?L57P{uk))Ky4z>Hp!;hR5Ez?1oV*;>|%G1KxDJv6NNEm z_dRPFYyC*eFLRvr;FC7m?_0}kHJF7}7zJxJ{=RQ5tF=(0LgxL#3}ydPopkr(p61~kHrdYxSX_JuJ7!mYv6_(;9CQY za$z`u>yqYNg_;Jki4&E|CecZK`s%a46QKU8cR4pG3$JdAQF%#j84R+JD{402qS8hu zx}oLdBtFKIgv?RmxH|tJtx$Aheli>)A~)QKassZ1q?n9y!I2Bwb+8DL8e!Ge(L*~k(SC9ZOt%ZlXlJ%?b+0rgx4 zQ*!tYS>DdHZ5Mi-4Q{K#`XZ$w7n~}=!Z!ajwzEk9vptQ7V2l^kh2k-CWF+@pJU`$!~5(r*yGr1ur zXfa7)wj_iQFcG?Z48lF2Qs@6r(CATYkyZwQyBPOn*g;59v z-2x`RZgI^y2?(fRJ{isiO*jLS168u9i95r}BO-9(4Sl$*`BB5yR6-|szy=iw2$2&y@cRU}d_Y$O6hMhAO5(}v ziV+He^nG0sX&-dRA@Fxx5nup>p5}_+LIl%q33BK_frcXB;9nzvp$IT!&p!t~qKp+4HylUzj{06XjFrf%4lmrLQ8wz~4E_y87)mvgl2mwoH z7i}c2FNduor-UK>Nss?9j69$2@+e_Z;x2!|QDO$KD}n~CiW)ZwMcAwnkmNKTF>Oj` zAYarG%}3pgSxIl^EGCLCE-RqVzafYJ_(ws~H%)+reQ&YZ-}P1Oc>MpqLtYf$(||0D z_XM(rkc%AIVxX&UO$O21U^mDOE+-Aqv=92vHP{!0;Nb>r1Ri`fnyfYxm_SX8)+Ax9 z!-NgxBe1~-u(l>B=oA8c~4hKBk&&VQS^ddTM7e6KB)=*|Wfwv)t)k z8+O*LBt>jVuR)kGBys1K0h9Bx8~QPQ&EOHXriaw+Oh?8K zI{PdRhBqg+P++Y-<}v#L;yO?au?14pcc7V8)b=bi)JAeEp``Og9$=n5XnFAfpV90x}!_E zqs!7a)h$Jw6h&C+R$jNU9;Lm!mqWKaeMfXxfIEsQY`=URCJX<@t#n72Ej(-~hL8cQ zBMg0AIaz<~x7e-c9eztrv@6_(s{pW^!(uVSe;ou59zY*A{cE*aNWwe5#?0D6@)3dx zPeOJgVtsqEnVE%EaN--xtgRRy5#YJaGXcBMkgi+?-?nyoORu5*wzTah+}d{8D3G1( z*5Jd}((Sd|iC+&uw36E~2T;4tl{PAT-CZ{e%f=QUnnLQuM?EcIBY+12`;+gmO2qT`@x3FiSwk!H-2DkmK;DxE`WY zR%#R#RyhIQK9gO~J~W~Qha^M`+Vuc95D>tl7)Is0P&yD}ma!l&h@V4r1@bJ-@8{(e zJ4;@%oKp5c!##Fp3HvyF9|Jg6(F}jXHh>2;0O0SSZW#D`&=3&(^Uu&pkCp3?mjHl! z$sdwhTO7HEATFhc)D{E;62UF>S=RQpy6Ay$*I=)!dh@7|4a5jCXS9cG{E_AfZGb{H z{wVZ@zv?Vuh{+TiktuRXR%=Os;d-8r9*P8oG*sd#1B@DwqfbN9SKo;1%NG$R{T#(m zOQ@vkQAzc81ALKGtc(v!$TfwO<)YOY>Lh{v(hf>!=%2-3$Z7kFBJMDE=nT1LnHUjQ zWBKTxB_I*;mqeU!Gl?mwbVlVSESaq9FAAngYCy^)at9*-Wm8|_kXg}w?Rz`6V(RXYB^3s4cJ^GLkiT5h(m!HzD3=kfzzR# zZl|bOvhHBXDr$#hM07fNXhnT9ec#+Qjg;tF+1|w3R`m5kk^mU7vJ*4`G%DIR(8ErE z71W)e9eNQ!#%BeQRfUE=6RoZVgjAGpV2PbTMxv+$4NtO-f*xgwPoNUGazDnX{Suz6a~lJk0CB2- zG-bTt%}^@10tk}T_VYIG{H|R!H-|T6`3WI9LaPK0aF?b}x--u;|K#jI&Z_W^RB0rd1FZeo{_*c~_5{wVTsiM%k(G?TP=s?VnxR6lGIF_`W}TLi~rE?U!9T)14um`m+P$KjJL;M(omj3PrvL zS+KM7ICH!KK_3XlFmm4FqPruUtW1KwgFC|bk0FR5P!2|3?INq8GjoS31iu!>e*ytz zd+gq&Kg3P#)ynDm_{W?j_edTf4y{f(=!D`s=!n14|i8%duXd;{@g;Ij#lnWQ_=}q2zKDhlkM8I9kegw1IxsCdAJz zR3Z_Zl2iSNPNNCFYOkv)nZn+vj7TEj;cMz@YJJ=I|JxhY^~jo@4lQZK$V#c?WE0T? zosqdb^PzUh>)6^gujAC7d6m4g(Zv5ik7W6pB-PO7wIiPJ19-^FHU6G^t_0Rcs~a9yf|$mlNj`wBLioE zUO6tq6xB0qyU6l?QVz)i(xvR-vw&EKk}*JrQ`ZLuDbG;tkNrt&<1e=aneP=sFceX0kyY>iyG+;YV*g1e<3e$suBMxg~tZ2w@7RzCHTx@ zT%&m_$I$nf5`1l}ir9@)2c0}_IYiM4jd}tS1)jDV;;A${jb@o7aVnC8nw`O+Gt7b3 zafrg`Xb`EWld4T4mVkOYEhj+4Zjp3PIx&AcfeVaqpD1f(rWu? z2iljlT*oC=9#@pCKpln8tasky(Qe}8435kwiD$vAs@zPu@^ZMtX%@-B9AjVA6V9Av z<l67aIj9PXlJ8v>Zs-#O;Z|Ld7xN> zC3KGN2sE-cY+v?W51J4{f%w+Za_I&IPZsDZ#Q5YI%lua2tA^-640e8>_y*+mGlh zz|U&rqv1w@SruUB-x#2tuD1w>_}vDoa8mxTI)ETS$wWJ|Cls7OvRC2V={tJI&`ilE z3p(%eD$Nr_$QM{mVde2Y^C_;AJV8rUrQ=bfl&V5AWnNmmPMkxK$j3i1dkk0263bSh zq4KW28XlS|8y*@dHa{EAmk?2fcB&=#YxDiGr{POjAVS)DZ4htGXwLNCH;u%>k(9Qd>gJRD~;4H4Y$u_DGHi?E%y4aC>q+@S}y; ze4Z@HppKBwR{SmoF8~8MSONm=vVOf5OaWmV@GY}oQxb_TEcIZC47b(TtPAdh66&Ub zZb1CiKSfZICLI@BJ*7dZ)J>IiALyX!6<{(A3 z5Ds#SIIGH`pF*h05ABe;6Ha)9F#VHCdq2yoJi?E5WQs$;C`d*bEEpz?jDP-UPN!Ag z^qB}8sFXKN#=+`GYsUQPrnJtRxxs?;Py`YbIx3iwaIiudB&Tau%o;&BMfz&w^+$#U zSRY6|*g<-xNUe~!KwtzIFvS!`>07dBS2RV5)I?{+KlDS%vlLC^?|z@?i1dAx=B~Ke z!rN!GKVxcgM{xK;mc3Rgq1hsz!=X7=XjF&hxp{hy=VRR_nYcY=XfV7LOdIn~l)fIp z(L4E6F|aN^Ra|8;=NDTnL*`U99k;5x3cLgtD~TLlhd-l{UC5#kd3Y+gSm`XJLi`6(6EsUI#Qln==hiHCi8vaLcKd6P>(jIfPfO z`rYQX$m(tVcKFl6rbl=-t!%dR%and2#1i0jMb+?WQV^=f5GQVAywdHUzTpto0rk5J zQ#d?2(96;mriTKpA`96nQZF@pxm~3LgNB*27mpv}3!Xl7h>!=Y3{1Pw?mh4EN|f-;59K6dbvto`T)d(#IsICEU2P&#X>h7RQr^ zmguQq&=o}$kWb6ZC6<=3;$yqS(h^M-Y`UVULKQ*F%qNzX@Zn?o#L^N*gKnats)F~@ z(tBKKwD8_vcPlRrS>ymwNcbIZL^v68TC)LlBT=gko1^;|Gd(^;?=Z3M-QRF9D3_x&Z@eU{*I^2t&F7qZ=^(djZC?bbyg!x*@KZVD#^@Ma<#9imGE|I33NH^2!mbUra&%Gl-47Sw9AhV2cvPyy8%-| zwWZukf0H-JWbWk+x~W%I-@fJ;JIHz(A4=lLyTMaJ%6dr7XkZUzQ=KC2hTvT_Bz|g7 zgxHaHCr$}ptwusIm)UEPFQ~QA68x|_9hNw@5$qF}Xt2X{l^<3kYYcP4v&+0%os58J z#FTKD8>WHdOzVbjL+;3r4~8XDM~&Jl(IbBF+f?0vbo7+)a5bK?L$5{p$h$Eu!T+dE z9jYkupG(EgHU5VT+$2BGu5q{;NhI%1nGz0V633^b5JvKuFrsjd)6${jKF`ZhN##>H zLR7cL((F!?A)A>U9}Gn|MeWon;i%j+dT6h=k#}dt2Z>nXvJy@BA-sb}C%>qvWn6Ca za=Fz=r?dnNvMCsYs$5>TURAC);mH5oG!zBQdR>z8UZ6#H)5+tW_R7mL6i*+f@F}rJ!$VK>$H!`jdiJg0&MrIz4%{cdatzFAb$BMNvtxego;M>Q44Z z#Xdp$Mn-;P`l^oJh5l&!raFDw3JJx7lEh^^Mqb0K7@d{V%(@b5KJ zRn7}l5~#c?i;Yj<6^kw_l=y^*v= zg#<0u5X2^2``AHC^?57IdQZhKD)1Vsdv(*asFuzupNUNfMG`e0sw1}F$Ld8Ay^lr? zUUP)ifsWyK3xiEcM z8AP%Y-7lktf~Jqv=$1)>5=`ob_ohEI{iTk=ier^73?Bdo$}Yui58y$p1hkpq^$pe1 z0}`@$Je*et8_nAkyx{oIN?e|EVSMXvX9kJT)J^HZ5Dds?*+Gos4>Ov>(l`0i+39;B zT)$E?8%|HLrTD9OF;gF6EHq;E>Fx+VpU)hbWO8uh;?F{Jx71CccVF5UVRgu7RtMwn zr^dg=y}YfsZ(kofy(jX_-3nu4YdF(2$9K`syCEFim&HyWjbQ2dj>H^i6JH^kha*^d zr5bkp>wg?3DP$>M6U?fSf8pPG6}o%Ip60oHHs`9`1>aPigwylnqhz0ynMW}-@StbX zWTr)Y%lJTQ4oSUpaEP5FwFXaoF5TdWM1hUbxq6AVmBQD~>R-$huAwP=?E4D5u-G#xG?d0uH=4JikUMl=Si1k4ofyI zRyTtXa3u*eo?b#rwN|Fmb#9&JWxZRY0vV=8+CV=WN@%I*XMxmQrFJzJ76!KwBZJ=V z3R{Pja|jPs^#fCPThtG)d6|AJ3Y>nHNv*ZDU9DyH?y!TVd;!M8eH|uDqu06X)Q{o= zDRF1&r|T6DY|L7|NfgY0eVd{Qozji$n_m*!H|v|QQW;j$S`^ ziM`A>iL-a8>ki{WyKjFdT^(5WUiW``_bP+jjg zSJ?g5H6Q!~>iPi)9;D4^qP(R#W4luN>7mRAR%$FU1=LpgOlyVV(ezu7$kkO{KWZwi zN3H9JqXhj`fCkG7Fy$Kq)S{@a9#cPY|=^{3jJ<@-GXu?`CZ(n6kzdwwu@Cm#I=r2}6l6~9d1 z_}zb!`8(Idj<+?Kzv8p2^G2A^7c9)!+p@ug8-4T$dfRCK4>!1@v2Sapft?~&1^^j7| z$06v*NW#Ov$vcHpQ2bk8mw1wM^IL-67F3wa9CAUoMe*}5M8I1Jyb)MfPL}X`E@AlA z`XXA9N9qNA2N%1G8>7R&c{3sluW4@(4j~T{~K@|y2LZFVg!*a5cYp&Fs*+o}Dw~FVWixP(DFS>@1^}ByBhY@BR z=$5P4V6Kesf|VKlGf{;WC7aQ1kmr-daS)40yG;;U67-EY{ruM4bkEm$2{)&Q#2&6r zhhc~TvC0q$*wpqKw#}nwD~NS9Le1v*|Is(D*xh@g^ob()mQyg|ex95T-l<>q@3tp- zrvf;5Sg`u*IDV};+z_Rxj8-W|X@V59geat;I-tQ=oMQSg;qRRCRR;mR8$d;(;N6Y- zl4#eaA+*5-fxTP81Z2wrZ?d_k@9(A;&@ShcTWSxC#o{`0Kw3wBbk0iHSfH`(mOjp2 zyHMgr4iIdP7V|3rT&g7n0GPw1k<}tZ`f#}{?Kzuxk^nfWKL`Y7<{YgbFstV}WDq+6 z`0X>M59|SwipvO6CzsqDFqheI5JGfKkS>QgrX)G!vr2X@aNB?&5`XJ+5tqALsj|Sh zTxOyXn8}ikyx}BlO-qB(RN;o?5KHs%)I7iA|Qq;7QN5}+st7){E>{yo^Qo`JYr z1>zo5a3fM3z!iW0S-8z1R0M7_!z!!O$E3zA$7L zJqm_&(c^_7(H<`hz5K6)p#%SxF!W|O3?Xs-=Z2vld>{dCb%V!bTaFdtAU_ppMCt(-(tP_$@~K1x?0Q7Mq96cFs5-k~1*rM0Gyi%`(@w;rty zx`ZVX{JMd@N6A7YVPw^*fS)QvqQGImQICV!9IPIPqWM>k4e1~ZH<}NUoLG;Y^PISo ze2-D$=+U(V)#_0p5`jy6kHgp;rXGjXrcbNK;RpdEtVhzISdSyQYYRy%%W~s;%%R64 zGO;C~x|US_qv>X}?{N&9*l&Wm!L{kv)#F$eKjW-NQl(grP4rmFmQo3R&m#fhOx6|HH9QO1ZNhi+2e z<8(HstH=Je>F=n=bGhsDtVfc2S&uWg>sGweTFb~qGkuR$K4P&Y!11st=!tMd%_!gF z95yK!6%d@0{=Rygn-BRL;?smESEbi((z zh#nWI$GA5AWA%6;TFJ%MBVv^GxP%_@HFg)3B|G^ZdwB0P1Tpm}Au3RY7Co6u*~Eks zD1PTJ)Z=CJxXgM~RJ^{=%jt1BT0zU!dxh_@1|ffHtX?9dR&Y5+S;;|g}%pHkc)(2EkPgk*az=6REECC5}Vj@0s?5# zTW_VujjWb8S&yW7u^z9Y$4;4EO!iem--6pBYb!nW^~yuv<5qgysvfIr(@&|#YZ&7; z>rv@?b=TYJ(HxY^QXu*<_C$Chn(o^ABk4Ff{9o0 zgJ(&>7$88YjzB0mOUcO8C{*4`eC1S}swKc(wkbG48pi;!%U>bWH$q(N1+PxEseXk9 zmp8i&F26#9%icc;;jP^Umu`a#>J|(s-3Ax*HYlCC4K5FVD1*!UwS*Dv8tDDG+K#Zw zqhqVXjq9I&@rz$nwFir!+qXdU*~k`Ej_igFU8M_G)2m=H<-k&mDJ8T-?3hK(xyu4b zbjw5FvJTqR7l+3QJWIlf1$vxw725I(3RW1s$iqz41`vq&2}!5H$&Gpgt99;s;N|V~bO# zv)ZQw0QWasB>Ne;!*eC45~Wi_@{k6t7|b19wpCWoPF?}63QwVjInZbF*KUwFi8>F-1(1q?owM5~&0F|#M4hFJA;goqP!EZK z0TzTz*$}yVDMHq~1N_V_)y%QrixB`w(WrFr^(^~Y@^=KXr2E1SpD#SVdBIOeEN3 z^Ns{LxqTsv#!c+Vgra7f*|u=$tK8M`UjOosV5QF;I`7=&?+}-PiCUd1i3xrJK4&~V zKTgslg&^Yd)j64o66`QkB{3m4ysCHX&^Vqj>g%DtzQh`z^jDV51lzEvovrZYEa0p} z>;a>`8R{dFnK++H$C8+MH!N26w_5B7;Sh|6mHaUswXiqqLYBnD=PEIe0S%4RIy7W) zpJ#Dz0Wd7=mF9#cJ%2vMj(G}H90f3ls3B=~Xvl*8m>vVfV(2LtC04(@lTXS)#Urw+ z&%3P3EFB2VDkc=x_@5@t1pXUxXTxg3Z)3%Cz&{T;YE3jZvk9`VKrm4jmH_jL&ueI< zX65g6w>oZ*P?U(U`={DF3Mzy;me zhq1HANISV>+Sy}p7zU1k=|FTx$75%=)<+pQ-mVxp2L4hzd+#oG z_TF9W>?Dc7&ffc&c6PhyQ3eiOw8OwL;g{OkMcZNEc(;?CeZo<8_Sas5FLbf9zuC#o zPTLQ(vy&+mJNw>T7dtx#|2aGRqcYH9X9ouM9bspG_Av(I?d*^KGCMo%+SJQ2?ChA; zyV}|JhADT1D(IMYcC6`mbyV!^*zZ9KZ)eAo0>q#~n*=j3<7hkkVy!Sx{T$QI{@U@| z*+(41&dxQD!_Hp+0e1Eg{}Mah@eY>5#o+Tl-oVk*9wzI#2frC_y_r8=nwzd7I zbWTYfly1Rpuj%ngDlK3+puiq*1Nn-zvi-{1Rvr94rxlTUn9;U-=Ex}s^7|46(WxIlXCzR>h@1fZ0W zNBWy4P+2Hnm2;OevA5eR@>)ONErSI~oh*}LGC19R2N!IBaESAj1b_0F)fYVxBGnso zL-EH75I+9##}N_hVS@0%;tMgOC{x6X*mj!u7uX1sN;39nnor06&d2C`R5~^}IsJBo z4WgLkWFjHcJ$pDcHr=bMkHd%SWW0;b;PAFG<%D=+1qvRKyLZ|q`$N&4k|kwI?@=RP z{KKc*)sP{w^hy>$lAJ;FGi=DsbVh0=H>r$JQFN1A0=$A5GCoOXa>^pv%gGdmJVpLN zHsq-c`K**Qo|dBBWQk;&A99*LtgBCVQ*p`URus zvQ%u(&s0=2{J|)Fuog+9=q@m4=NLmnmX)cff`7Q**{K8kn)}^C{T_%AL5lKgensOX z!PBeyU6`fYT4Y5LSp;6l!3!;!BDvw8)ht|ueedG*m980@aHYFUHVJpJ9JbzxaO7Hm+gRs3PU)MviR+og8&VYXJE7WXl>-qxh&(|oAM$@AGvNaup_^ND z{acUXl!cgWF*+V(#N-`uU*PJ;a`tvwEGCzAF z*%a8=8%gXaVq75o4ZreYzEQA;#8IqxF_WH?e7)~zj&S4(!52x=2pL7(xUx!Ak}5uJ z4qc!R+n*u)VQvbR;m=j<@aK{Whu(4KDt0(?$&u>|^5yC}Yl{;AKX5+hYjq{*NeQ)v z`UPc*9Vmm^BTKI+7Jw#TzkHCHHuLO4zAtt-D@)?JwJt>8HC%bI_GQ*_GU>V+q8EuO zQJvZv+0@tb1K@1p2QT9-{NP=@jUT*dsY>wA;m4vS; zs81%OyHI`sMT%nthIF-w>`yGC;$piQRhXH&QE|;qCPQ+jo9xak13oR@aHo19HHuDL z4T${FYdI8K0j~)~XyXSiR^~rykhBD(u+il#x4ZgPW_L^V$9C$@c4--0n&zgrCg*aE z_BvJm0iMkuOmvuZ!zvV9DeGFyPuGjlU0xgIychr_G11`(6+dZh;y@FA! z@VC2Cj=*lEzg@LEu?xsB)HN-ErHs0g?JNCfvz8#3wK81SxOFW7=GYO4BsCqSu1egk z|9nOy8ySVwA}JHwa#hD$?@(ja2xj1bj_IRB? z@MpN>bQZy|$4Y?4nPvu8Mq)2M<_`@BtBR;(rMbj;JevCN8ph#T6PoWw1erU?Wc=1y|MDCZ=llN;WUjNsTvH-gptNNm~Y zjarjN4vlt=Zge>zM%_yrc}ezV#icnF1#j(-;5V(y!ZStO!R-Kz-Pz zU{Yd*%dv8gCm8aSUQv_-%;~AW?A$YY_LSdb9V`7pX6BZSJHGGJDmObZzKz>BgHy!! z;oPWV^Ud6bFW;mBPR$Lh`p=xvvj>U9)BY^|3$DdVZ?M*%8b3~@u4DPI4oS?1wZ!^9 zWpO_}{?c3IPvnL>t?mo5`y;os(j`V|yj98OUB`O9pu*#G+#EvHXOU#&rO%@5RF08C zmeQL5b(+m*e?Aszw}1uv1r%NS>@8GKZH%VLFr6)?KlT;o@4~d;L-^vS?pOZqKsj)= zFuaIOV)z0jZKvURn53;V?S8omQlfS$G)vjU5RH$o5@24UpQ)_y3+@u>Pz&x-RHEF6 zZ*R#K70c!y+%o!?gQ^~!l0O8j_6u2tZclb>N(Cu}4rKRw4Hwu-{af8@ z(MZ;_{HGd+;xheoY==Z8oJ3NfG_3M~chtsB?O9#Vv%10Si{h_86e-kjCqxxZk{Wf? z;n2!n;qH|uzeSp)TWmFpmYh-6OQTd^Id1{Teq$4AHJ#h0g}+icD%>^O*rZjkonzha zOQAoT4IZgL`X=N88^5O;f{4)0H$EC7kz>O^M(9);9a+IYnop<%27&?VC}f4(!}xc& zz1^0sq*Jy>gaY+}G$3cyPSOCv0^&gS+-ZhT@TpFB>J$=RKrk?6sNZO-ly=9$f^<+o zL{OA>w!v9{6P!ieR6u&Lpl@S2=%oSkpze){*R1qLrcwHO?%uLiMbf~eUSNiMP@VgnF#GOJlq*4-Kpi-)1 zDvO{B1`99*&#Bg=2QRQy@+c>@l}A$fb+tU1YVd>dur3QdZ%sOzC@@Mynhx|71XQH& zDu@EUsA7Qq%K!)4C%ArIaWudUY&}9%xno7g-6Vm01{0vk(XOv;}Y)^6%y_KQa zO>XUCT##wOnv%dI{ks585Bb@c5ERd?ZF1$hX=Ru^#ray3>0H%nHdt}KtZ9zYe19PY z4&OVH?FQYIFg?aR>3STOdbZdvOQQ3EtZd!5A$6ojmWWF@cb zN-w^zVsn**cM=iVY_3j!PSqpzdZkrvpT(xYt4nqu!w{}je4^6N-VeqA}) zq3!G4weI?|vCbP>y%E>>qOR_ytZAN1A-veTMBav)1jbp0VQLpHxeG2?Zr6phqF-m^ zFg;^=rV9C}*o}s7mBM+X7<*|8KZE1>f_K`7#i1z4lpk=qy{J#_P-k$kJ5<81EbjK} zmClOj&eOk^u3U}bYN*mb1r5q__F*q5(X;AyaJbLV8I^}D?in6+7lbgLyDOblq1Z_O z${ZqT46lJ1eE}NW7}-aa0Z+P@ee@V;IPRmfW0kPuHo3xsVsQ_mI?3xz$R`hpb3Md< z2pfA?I}fvCN?dyzz8LB?r#u^1dPKp`m@3L>-?jgkC7peY{l`Oe@%VAICU|Xy$pK~X za0fW?Wu@&fg_7P6{HFfWoS=||Twa|fN zU*p8rRcJBmESG#E)TaQD(fB!KesRx1^SteUQ|VgVH`#wd$${MqboMQE_M)=yx)(X| zZB?JAGj98k=Hw8!O@@%BAeVec)9{^aPF~W^OExE=G<4q;@psuLaiO&DFYElv8S(eD z^F0yQb~F5LhM#fmZia6eqPiJAY=_lnH^c8{_}we~?iIe26HDA;x1@~9=A!Nue)kGr zAy2GkyI1&<$GTVe-tn|srPHm_=~n4^S_rrF zf=0hLJ$A7kw`5GW<70;TNG{yHH!i`^`V;v4<1EhPb*3iMcr$9O3} zi{X}T(HQ6OX69OtTNG|73E*@k-C(e)dAy3B7_3^jrKK9<{HT*TWBXFgY)QDKB!tto z9z9))uw1>Ot0@V$bhrA&zPBR^8yoBOTNiFA3Fw3pr?qfPou$#qqR?rIoU|FE)<9aG zEJ~iHKu+j-QfPbPu`kn!VlH8v>f|0#lC4mh-%nY7?mgoO8mqnV{dq0Wr;xkbp_8dk zp=$v<_?@dyp?#5M5jigEQxAJ!z4DQiSsl41WL&xGaP)!?6M4VJ&!8>lAisl*0+g#h z?roJSL{&_09qEPaNw~CCR)>4Wx@5xfrJ_arZyr7fBvUe%0Ky%hvL}A7^2y3OC5XfG zDa8^O_NL0c&m>l|Al^wn4NZfq4*uV-(wHdq2noWGWLCmT2|K0WvnvSz zuNVvmCC`RGT$mUuHL0SRkv_}_xis7%1x%E%TXKh1hkcur?0rqi-Y=>_7fr?_b9z&L zjaqJ55@LfA%#Sql=4yZ?fZ|2;(B>?IzHLCdhVSlZ=CCQi#sDSxjx%`^RU^*iP03(4 zSiKCvC1FU?OO3R2apVhGnk5O8Y;9O{4V$C=Y$A?}`iBkFZD=x4a>o@XqJMaNG7(rS z;r2ER6D0!bk;a<|7)i&YIG%tL!U+X4Q5xk&S3|_du*;Nj2~(+58l>Vevy;U8;96TX z<9OBMWc}b*@R%n?t5ayUGfB{KnKPZtxK5!Yc34x%sqR!g=V?USkg<|xtG^VG85EEM z(hYP&?pGNqHKj{BUAbR_@GMHs%0sy)DbdEJsb9(d5h!SfG7ymYRsNsnD&xdtN@ANN zC4oIpT~DQGDrq#(Y*R$&42{QJ43hCshZPow`kxF8>Ahb zfpRqV<1)_!h0S0ln!;vWB9FJ(Zno}IKq-#pk-n-+6+e3pU0dYwxeAzZneKKuMVDI+ z4HYF(F;KH!hOSkSDavq5qh(Vr4KiuqnWmQ4&@v7tuA+r*p}sb>wO2dE^{}~~E}d=0 zLT~V<6yF<-Z3?w*{G~6_N$d%&dqABtXwvi0WK4_f0)%<7MXEsA3neGY1`ksf-k^pz zQ1eC-6QshM)KIC2mYDur7a+y zEflQT4xy!wT@TFh!0d|R3LjU0cS%o=j=q3$p8h@|U9#QqA=wB~;gdl6WJ5hZWw!y<&J+-x55$B^XHH;kWvoz{78Jp9CI$>&027%c9yC84?RqSK-P6 z@^5XN2#HF~k(Hq9om}VO<&*V|SA}~OX`ha6FX&%Y3AM*;NV&Q3VisvHgR*x^D7$jl z0A3jSDLL7`aZDwMehFkvhh%9AQLj(&AZ6GUm0?#zs=R!NU6Fjv zLUnc^MF$c<34bw)db*zKgwG(1KLZwTdZHG09JB_&6Vml!AD`HyHhGtEJ4-+zGJmMi zG#;!k?fT~NEbE84X$EI9%uPky%VI+#i=U*ghuAeQvYDs$QE^T@yvxXmXCF{14!gt$ zl+g#2Hn+8AIuDV5>EGW@VQ-p(s1FLBe!`Mi#CTgzn|j;`x%XhM56(mR`5b4;hGIz5 zS9J`(kI9oI@9h+BW*K)}K5TGUDH)X)IT?z-*-(8A9WYf&$+_8Rv0R=rZdfwG!)0gK zNI|2SrONAhBo8`@lGrj;C8OPFO)wwlNPU~UH72+W(+z4Vu+2PLjES(WGbkXd5*AEj z^3Z(xE}{7pVXvy5ugCF$c zE7Q@+(jZIW6xAc$QW9GUT$tj{5AGyT6u#LQLou}kP6Y!l45zzku@#g|Q@wBo|7Kzh zHB+u;_&K|atHW7-gPX;tL(8Ttd9%X;ulZ7($P^Qad7SImgIg#hy~E4pjjmjG1UiD+ z>&lgQ7?VXJ<>qJ&KBk#_jHi5EpUYJd)`;^diLFSL?fV+_P!a=)qD7+C>Kz(=4TM^q zvA(E>QB4NRngMBCr!vL;w^4Ym(=~QCkosaubjUqtaZ(B07|NZ2eE%ocWF`&5t}v&` zid0l2xu`?HGZ;}7vw0|eoOH# zqWQ$&D_44=DpxK@F;*b>?Wbf!&6ITGVmD$_@skR!ittn%82msEjC}|PhTgz|kq?7A zz(l`0XWfl=2&hv+IU`{6iC*^We z2H!cI0IZbD!C}1427)XchJY;AWU|gCgE4Raj*%ZuA=y|3Ho^0Yd|gurZw`vvSFY4W znu=PR3XS_nT^k1e*bUFu+4-2fzNgNPW&zf5p)QZj>j1+2A!s7n#+ta_O5$u#n>r#Zm4C+xt@5%;T_-B^05s z=(tg&X7vCfVsI1yq2ps$>UCNy!&pMYqosOhjc%Bjj>PY`TcM}K!LFH5Vi66yCg{NKscTz6yWTvXk1bWKlKcQ+9 z`HBC;NSw|&JA*SECuXbKZ1AUC{u5(Z-DmOhELFpIfNKN6Ar3>}T5ylH0iHwibKN=a z+(J0nO^$aZsc;JIrYM{MwdVp#<;stw4yW>SsyfW*lVBYrQU5T~wNCXJef!BVBvV1-)i1k4veH?UsOw zs2O-Uj0U9yQkR>FF1IHl_k4Yyvehk@h-khBb``$?pZRV+49P0JtZQICuCakFpzcEK zbQcx?C%fGuPxtGWnh!{E@j7ED61&~&rQ{IJF#5I_LU*->cC{Fdau|(xT0o<6&`1-* z3!X2wqa3z_gl_yW(|#k13caMa2MbaT6Qb&n==p-Ea)T)QX8QtBPV9yeEGigUm4jAw zevP`T3E?=(G5f9adonU0sT^Fwjf4~6OM;=;Eg%sLN&Z4J6Af{+&`in$C@fA~pd|p| zQh%`{9BXAF%yFcki{lspmK>xd(GirXOSv+{T_}DZ3j%n6B`Jq5$qUKu^2A*%s`T&o z7VZ;s7t1yd-^zFsuHr_Yy|8f=c^Ha4fEjXh2md@IQeIWWOhtFKjkySTi%!9J{-2L< zq?DVW5m~l3c2~RiF}>P-C?+rkcU!-4LREU`&b1V)F6!XBt4a)m=ot{_hLFtt3KYT_4gN#1a4^uBxR8gy0U~0frDA zN#kmuWrJ}CDpH75TEZk97fS#b{_$#Q+(8^?m8h$YYFQFel_Cj_|$6R zb;k2zPT*!FTi~s_aI|*OV<>K%tUz-MMNA z7c~0 zJa~sp5>Hhr>*neemLy!Ih4tUoxrF-#Kox?_c*?p*H}lRK52S| zyGV(-uy+snP9@BQ?g*`JF|ew-{<8UH7z@C=PY87$c0vsy%O!#!D0q?*TMgk9;5o!9 z=-nrjS-gcBZp=3zC`yuJtKk#otU>ly8X7C1l&o6q$-Cp_LY&1-SS+QK{m}b^7RMo0 zNpooVT1!H!%8l%9FZlbjv5@LUA8`?@gPkN|qc}i?-w=nWU`gWGQIaYvzN)DZJmD{~!!ue`4Ktpw8p zXLV&{3;GA1nLMfDCV-62Zm-60Z;HC$lqLr?w-294+>~J6{Zir_atd%n9JPL_6LD9o z#eo@%xqShQeG6f=e)n+QU5^5irE0g|sP{Rm#SOz~P`Ft~wb1~BaG}{zjbL5r23{M} zVUoT0U5WGKrG3gf3E1#J4Z`LXO0@@Uyy98u$CQ$`M-nFB;&4|xI*FNgggdez-2vO2 z_#U73hIWt#PZi*iv%uWQnOFj_lxtb2jKgUOa8y9W=w(4it~q%rLG`qAWWwj-^;W|c zKbN>RvrJexNT5E>E`#Q^S}Yt*zmS6o9gv<(Woav>t9-Jca)tLWBB>z>t+M5DMwA6} za_*S=)I=@qjl%LFv5UAC8S20XG`Qn~m;Yq3&c+KsQvy(v_zvSY(fG>bKWP23`^&}Q z`07(g?oC)lP`;uM^&)xK5rePPi8|@o;&P`1u-5Y!dLE;m`MP+H>4Mvw$sAuV{$LGj zt&ZiTSrQ;5SnkB(#7S!A7yJe|2Hu`Kk*|Oa8l1zmzn3Dq2hMq~>gTBrU9>wj;Xtgz z(|FCNyVF3b(_srpm^yl+Y^m|i#Z4-%inHndZ1Y#9HS&yeqNUf-@wtL0E&)JO+!V(L zCKe(12P_@+D&Yt?lmS-(aFr`Y{w6|S@X42XLh-g2>JWfT#N{Kvo}T+c^Wk3ZA-~F% z1WgKV{x0}L(F|i{X?73ttZ0#vMI~GU@HER^(n!KoG#5>S6#S zF$ajRu5j}j(NB1=0tCq`h!u#@j`z`^Jq))|jH8^p+W2Ws?;<*DbdMfik@WP;*AVq6 zdFBi}19eh@qnvGjK#81N1oeWJ=M)r)Ei;`jF~2lrm5wR>wH}Khj=~pl4b;jZ$;ykL z;7=EtV2fQ2uw~K6McdhT|3}c>Gz=jO|oW_hS5nQv7KBiX`ZsF9;l9EfkHfKDCCV)zWHk z8pi~OmjJ?|H44T@VVpo5E_;WQ`gxHF9r$wuDGCx+#Wy3~8wRX`4@h5?DIln?=z>i%e?*S`A? zqO3xznuA_Ay?=#Wz2#a9f6y0_!eF>=x{riQ7V6@7 z*{d86QVawrvWaE_wqnWO=qMH)b$9zqbku|J7W)PF-@r5Vfm?@cB%v9_;+BODpyNN` zfey*giLe-6xM_^lvamO|=q&*Y!yN{UyrtpRur=<(1!OG*#juA1T8a3;RYJ zRJ$MdIt&5Pp%M}4;ST3c1{wv#Lr3W0Jot>PqR^e9hdU)aO6mzFG{Fm8pf~)Lp5lNP zN4bFon29l8kZ%Iqk?Gn^iG@0g^g7Oi;qjr;Klrzos!-ok zxoM(gGkub&o4W(cP6X z)KUK`?h#9Ph9lxpTy5k#g>XSUyR4T5EYdVYdz?6iMIMw|g8|~-C*Uc$;bM>%^F{5M?gMQ>>!@mBCY zFZkm})7l26*!IbqDJ^wG>=7=j9Ej)&^&zM5C3cr3X-NZ8f=Pu?1rylRW!co_Lxda; zdEz*JQ0WsoDV=Z}*%mmC8h{4S=&MNSVl_A@X%L38Xfm=KiJ!D2%UeVrVA7|Er&C6e zO0HGr(M>3XYDN4pKB6e9xn>1LEm)D0RnlH=FErPI+dFu^GFmQs)?AVwDC`>1%D4&3 z3WW5jtLq+ogY^LHQ*~eVKeC6acKb@t06Wnf`+`Yvyz&rvRH(??2cRlAusS?QYu_Ej zx-TR0#S@vZ7q{zWVkZfq4%P_t+=--#BA`Hze<*AQdIPqaeROMHT23Zc=_fMLGMS_1 zidlbXa+o_k^DYVwn;}29O-xQ=CG$23&G9N z(aIkH8+Fm*461{i8-PI)!lk2Ke^(d$n8fRp52D;;P;e1Mzs^QCrNhCLp#*q4s|rIn zLB?bZ0g>1B^0@XU#~RMW9Mo`zs(@on*Z@XEREdl~a1FutK4E*>9v}x5s?Zg@n2DJH z1X4(y6j>=A4CNzeDWKpmk~rSUz23;GO%rcmv9s4E*Iu=8tj&TTbpL7=2(fXDW$SE_ zxozW*79kl&7a)TQ0g&-(2F%Dw?1Y9I@ED(rgYpTKPmm2$PRfE8lY70CRh!c&JWY9k za#9woPOh!7ajedQCUn0h3vEVi0dd|#D_uc$1E)w&Fb zl53J!fidyiP(GD%gA(`wEM}7XKAlyY3%GWHgjvP}tV*suZev=N6_bFFDl5J~W4b81 z%WpPrf-fizBm>k?Loq(y&VVn(W~SG0dp7O}X0$`yWE_JEgj*a z-qvwC*q|dJpx)8(vO0f*j_@(>>39uVhfMTz+PIiF84>swy{RwFI9$YMMC83*pKKE& zA|_;!*b#9c{Jzc$ZYENDS|C^w0$d13&o`^^W+*Ng_o3$4B*9HLlKvtiP*X(jM7J&s zyVa9Dl;{gxLi$sP0>mnp74;Pg$)wu>Y$dV1O%D%C@e#8i0NCI;qtn_`0BIllnJLWm5;Iak%6X`vl+kQyOIP0G6(;vu98d+OzDd{`U~GmGoIRLoix!+8RUSIqtv`VMg3#T zCyMG^ov6V8G|mGAMi`DXgkRP>kbrh_x>tMQO3NRB3_6Vy!Nn7Co-Po-U39ECoh!*XfT^ll)CL<;^8w!XPJ+U_&N5+vCj-ZNEIG2-i^WkI; zlPxBiU0XvZHU4T3>67~9*FM=XvhE!d2s~ydtwFn6M=>a;O`TRDfvDhR8J3CK&Xef{;=Xg z4M(IvDNG2Wg(NK0XA@SaLkPuuRil5z>|#GBli`?S<(3aavttqK+WVn@=((T}U*u7~WO|&(H2%jJ4?yrZn1Lp1N5aN?zy86-u<^)l z*x25%@%C?c2RjFBtbK{0vV#`53t zE{d?RR42PEY^>4f{{w8SrAiStURC{F7&cz|(Q6yS#!I^#Y1$TJQe}HdgM2jqL#&>$Q}M zu(3`jyDV(n`4dLJdDvL3Dn-~>p_4Yl#&0V8d%cC-V~sh|fl`e*ydi22mopn%*_Pce zDUzapm*o*lA(%2dTeHBC461_46_$!rl^;-LA|<$vd8AXFbY)MsCmfm#9RlpAd>7RtE}s0$`D=Yjulm$_TE& zodM}8Q`wf4DAKVL{^lXEHjQxl61wb1T|Bj=D(;ae!W%HeLY@W7hOPvK$^O-0$jN~& zM2vM{Xj=3}{4l%_uRYhBym0PdOperF141kg!%Tl(lLUgt2?LRb!{}~zM!{;wPd!#GO-G)nJxDa6mM78jB=gvFV@=(mmT=wUVZGzWo}iYdBF7I8 zi5A+A)77#>IZhGMEVabU_Vgw*+q2YC3jaywtt~~zIcj+>MJBA8tfDDyidypdos-zv z^5E2hz0bnq4@i@^!SVK?Mp#jpp%RM%lcDppIFNl!l>vkd1I{-+I(X6zy+*d#Uz<_n zInT>sdj|3Q0?rW2NmFZ!5dm+?1iUGxZK+NY$ye1T>T)Yb z(zVR)ivabOq5*D|q+xP_$V+=(C9@?ZcSx*mtsMQrN3GoxX2TTQ-v&Sv?c&s;w6oQ4 z7wwRJ@uzY#tkqmUX%5;?+GLkW9;OTpdCWFxhi)O;tXr^hq+<8l{hl(5&ZlgCykNzb zum|zN(0-{g_l__?BOFST-W$yX*{Oq9{%xb_#%M(Jqs2*%P#o--pK2OZ$DZ5!2KUDU z>mj->4ekEC_5-MJKt2>P$0;NDTRgCyVW=uHkg_L#(}w$|7akFkepvH2rrU>&?t%~t(j8aGI)0JBR0?(|`1ccP| z(oDxOQ>{czjeV-r)Kq5j`0`KHhi{5MOY$iq&V>>pj^?^aC2_h`5h?ZCOunJrRgiA1 zQKe^~U!E2MGFb$~`klh>DT=Vcg{cfKv2LPhlL#AN{WQR98s<$@n_i!K#Eb6q(J~MX zDG#a62hXmPiPJ)8HP%gYpwP-IfyY`wI_Ka^_xUIn>`Pmcd|_lTwsp76kKXZ0NOw3V zTH>QxAa9R(TPLc8*|8Jb91NQ-57teI`&w)S^h!>yG_sAaL>I_3p^fmb)&nygP{3xrmMS300z7iB)Cj~>IKUygL5p9fcUy~4SHG>{!A<7Dx0oAq(H_6XI z?I3@PmCZm6gAgiy4Rl;lG}Let8z)_WATPCs&_C!n^v_-kr1u)=uX$P1@HXACDHD%f zfFj>+4IzLiDjIeBnAZcW$ZVWP?!$jT z8`3Y;1(+}|3l|i^&c%+4M^XftR&5^u1DCz}RByHE4Q}{h7pblG0WS6_pw;GgH#i7W zYj<^3jo8x?>4UDT`Pbxhv9H7JqPpmI0YDr8COG!2;ek|RuWxyQT+b%gr>d|QH|}LA zx1P9fO$uyCi3JFjlTV8bW;U9GY1`zCkx}$M^xOSX2XEwb;rhZcBx=So*nma+Zyu~b ziO)qN`+hw1=vdVHH?*IlBn?p%+9sKrB9{Ava5A|+v zLHJ-6e(*kDTb2eLjK)}Q%S;j%;UL1yze)N z@PZHBW8tcZ%9M;8JvFN95g0a&bfX%>6Xi4y}w=ehGl7p7vigcCFCPH~6$zT!AU1L@{`K>7mC z%~`b$vOzeG9w60Bb}BGR8rbS(-TB?MR#)2-6{V3MP|d zac<{vI!|+pON*@mbGws&M`UaJDz4)WVQZV0wN7c^iUB-8murG&f1Z}kw+vPQeq|vS zn^*zBv>^i!08i}5jA!6vk<^TFfN0IjfR|{I85d=m{Spjr$cV%(+3aVU4T$UlpmLA( z3}OI4pDK=-+VGNby#Kd11JzEg=Sm`q?;~R?WQfiUASLbam@!v0!BSx zeS5*fpHE&I%R%AGN+1WkVf8^Ks8b=z5AI0ao#2ibi4~RpL*By5n2}iDl8Z$T5C#4L zYczJ4f&-l2)?m|Aq~XP*+oMy)^HZeBOvzT7ChL+Wh?vx}T*1N2?kOKyj!GFmmAgta zqm8R{R45EZ2keA&$=HiM6ZWDer5th&qo-^!@E<}YeDvI2EDPRMR~Qflg(A!oRY6o2 zJ7C1ZB(4zl4?q>)xu2M6!2OlIj&-C152edX~D zqY?b$7mQIn83HABeR%ZdCOn6@j>CfQ{?pe;kBa&ODzOiSZbgpO*e~yBhmBNhtlS@i zsBE)A6tiuZBAz4LC*?$KEbbEqU;)6A#C>w5Y)2CIi7AZ3K2a5aZmJ4Tn00(D6v;`} zvy{MUXtp5*!$bz_to{rJei{DGeaPQsK_in?f916?5#AYL)CR@{Nu2e zyqHQzg}@lIf|U=(=U-*T^hL7uqlSlayVXQMP3{!IJ*$$-(0V>SfB|NNsKHNfEZJGMSVzp8U5!W^+B6`e3MCPZ?48WQ+iHK;pIT_L8CL>B@Xj(eUJzgPf z2%sTf>@^^&xm76FUWqFcXK-GiLN1&=o)~6 zz9<+74QmPpc!fQYAt?nlyYQZ2sn2#1jNX5A`^2n9FOVYRy4I%%k*5^Y-I#zXeH`6g zH`l!YPr>hMJi4n%M-623XpHS*nc-N0u%E+FP^A9=7gmP{Ql97#LZZ96UX575N}@zI z>Vgblo0tNb!ooZ>r=UKB7v9GmV##2;7^_i-GJ(J!NO!h(y#kNkPrV zt_y&0SdxM|K+RAL0wO_F@btfYgi%KtM{pFEj*_Pujiw`xQnV)FLY+e@RV@WWQwr)* zJ6Tt6DX0ficL*wkAqBA*u}@JClnWVmEO9>EabW`v6iPuIQ4t|iG4fI|1$C2o>~NS0 zx!Gl6?}?G{6r?E)9$S)*ASf2U!}JC)7ob6NWIqW070h_M}bO>|+T zn8R8MYHM%Svdt-|&!qn|+?n>`;uO>}pgqf?!jdZ^h!xcq_5<8F+f5FBa-*f7oUG}c7;9Vi-LjN$Yn1b4vlcJD|M$G|1 zz?k_Uj8cztzu7P%3*+~$(<*^Y#w~*C0JHHAOFzxEx$r0yDb64?GX7!dr|nw8y2w61 z&YcZ9De5->RZPfCy&mCWuSh*$Y%ok+Y9g`>xRr>=z^VAPAok3_zrfHS6$6Ee>8Cel zW?*F0$1NIBECYiH5x)Y1b6cE#n)@y`pXy}_IF(2dEMijzL^7>o{3A|3O?9Mb31gF( zTHisnIQ?{d6|hod+2-`q0GMJp0bwOiJ5y*z12_(lOR+@~%WTCH0lc_$XUqYax{H!H zs7QvRoGX-m8a^k^NiCN>OFz9aVF7b{FKyXMTLO;l?_P;Mc3t$P7xA6?j&B z@0qmtefn&O^%mx~a0p0}a1)~uMk$pw&fJCY@MN+M2Mn`P6V2qnyd%oimu3nL`*>>I zAv3^}tbzd|1h%?Q8$W#{Y|D`|n{*sp>TgTXj%!qv^Q+^Qi)_-bmSWr1m{^jd6(0o7 zq|Qf4sc#mwNR2;_IJH%!n(YB@p!0)&qde-D>H(KRokY)V&Ibw=IM_l3($}%|sh90e z^4vI1ns6pr!Tm((BkDy3iN9?Aqt~B&Uh*%w!5<&IDpzRr-4G7bVTiFW#0B9@KH{({ z0uUU>C3hJSEm7lvoW z1q&|oJS#{jGmkzedQo=;!j{N300dh+*_bT_`1~-H1^2vc08R1FQ~DwI^bCE0XL4GX zPA9>$+dRabKOLsMgz54P(exNB6F*pfEZ_j~htJw1L&e=Y8XW%8PT+9M4g`mrpJ@Rc z-hE`K`1R7=?K=W|=fhEHxQZ207EY}h%l zsja|$!#nMS4Y%$*znsYKfu^8Xv{PZj588wcH?$QS*0qKW544I6J6z%L*LK2&WjhcXe%=x` ztlO^GfXsNiDjcrgrNH6ImV`>b+Kf=?)7uIhKD`?pHV+Q}*KXiIPumh4;x)AuLZ$Dt z2^?;2D>(e3HE>w5^Mb?Q+6f$P-;v*-93E^H9Co-idP6&b!yP*i9DdUhIJ~i4!C^aV zqi@)yu;KPgW!tfdrP7m|u~b^Vt*~MFZfw{*HvFyKuz{YoB{sxsYAdkehi$@!rESHA zU$uq}54DO7J6x*t_jbaDkL*Bfc)2C1(zia)Ql%SrDR9_osnUJh3LNg+4GxEzM*1%z9tKhK1rAq&7 zCvf=a4g`nqe4zy&hkt){d)l$4x37=Gl3fZLzS@#H`kl?FqaWB-*zmw^Y}hDE`mb+KY^dD6`i2j;KQ^p?{@ee3 zOr_;&+-gjv+gh?z`toKhmABCGNsk(sTfm5f*KZXztkYdfVk&*Dt=O=>HEeih=f#FUwi7lyy#uk~->X}|hTpCJ z0As__4>mSDx~;I`$=%rSKE7ciZ1`%sVFNwwRM@b%P1x{ETe0C!tzpC0c3x~)-%i-@ z%nrncS6kv6?%u9^!**gQ5o)o$28Pumh3w%Wtt$8Exf zXWNPme{KyMp51w|;hlEEhUa!5Hr)PP3w*<}=e8%`P_=z!O1EwUY5(wDXsHaxp4VZ#r%lT1nPt|(LbdYiC8Jr!k2^wd7spibW}Q;OHrR>+iI zDchPj-RpGM5}DF-ZN-Maw1y2|-+8g&Hd0NrhrZ!kI}jU|u4w@q{_pwii4B?UYr}e5 z`(wj<*OR&Kzs=$Bh#I$w4Ue{j4d31jHhg7UVZ)2N5;nZHeX!way}KedywnzKcu74K zv4Ni21smQ_r|-vxcuj2uHr%jPe8bziYY8@dr>)rVPHWik?N+g2ZKeNNZ((-9LCP_` zzNH*-FM836G+E*x;dxT}&(y2d6N4C zWQ|+*oF$d&LS7$Q2cdF(b*c0FbJ#mc2i8B_$8S)&I5NX^B@G9Oeo{$Frh%mU$tc~= zOJwX$k?kkrsw}~%Wf$!heDjxQlb`m(IfBNaAfrn(4F2_(st=?i^*O{JiJRa>{|MEUD+JUm0onzltWu{kv{SzGAlLfTwNf@*T&Opn&;rCh{X zRf@QGX0clBGvM{*nb>@uJaP8=$PUMgv6OH%q>m0~F(_q%i*w{CmyWxb94^b)XHl_| zRMi~HAh;QKX_8c~puAWrUg?okR5?ZGkTYj4xpFRZmp76t$0Jt`Y2FIql{T?g+E-9R zqwp%axyo`3+3|6Yx|V_3QdZIBDi1Qu@o|q_IvIC$lCqDSI^+T4VHWT(WSm|YRVs1L zLK5XzR_bMXdZ;c*bFOlv%z27cdA;&ClPia`IE$%eX-E5|Qc5)XgtuuLYSn;#@^>TY zGgCC`L)BGU0?I2&zBq19>Ki4(QHE-zDI_Zn338TlP9hw#HPUM_!D#T*_nPui*QfsI zDWfDQa7d4{%quAWO`OZ^bx+xjlPqpYdg?eeb?~n{({Y+n%STFPHvT^9jS4@mDMLVl zP3B#6#cTS6M^1OosKW#jQfr`O67}3C8Q4Aco`#T1G+M1GBE>XCWETCj7p!KENFvSO z-OA@fra?xfq;I5p%G9Ku^up!V*?sElK03SKgA_lY6x8kkPI)1#)aQeqTVca{&B#SI~@mbBvXX*HJp8K4q zlyN)UWA65L;x@j&1G$acUTA^aSn|U5##vzLkZvT)3##6-&(_lAMCu?a92BF z!|OW`8~)W2-|)NbiVfS@y6Gdk6gI4B2^-dJ1{=P%t+3&x-PrJczM&Kwe$sB(Ku_Be z8{##!71;3VR#`VK*#sMY)>drT&>A-UaOcH_PqY&@{AdSa!woI*4S(LQ*sz@=^xe5j zVZ(DRVZ#qMgALDaD{T1AZfw{*HvFjFuz{YoB{sxsYAdkeXKmse-e@Z}{Jk}7cx~s! zhWpzI8-BI}vEg4WVZ%G$*q*xR?Tif{YkzE5_S*0NdzsSeAJVv0nbNmg!iHaN1{=P< zt+3(yyAn41Wc$dJ*6Q6AWlFzp3pT7%Peqv$J+%uqtXHS+mnp?-YAdke=Uashi}W>= z$duk{D>nS2HEj6N&WjBXv=cV`dX$c#CwHa)9Zd+l) zE4#7beSE`4*zjh%VFNvFOKgbO)K*}_x;A0MZ`+Cu|7;B#e!TNy!-{sohIKm-8?J2$ z8~*k|#)i8-*x2y=w!(&2cVolmvEeuEh7I(zQ(?m|+Jp`N+g5CNuQhD=Nvqg!XQh9y zx3F{UF}KVQ)6RG48DYj{dZwa*ILc)bN4anhw}}xW09EdpCw%@Fm#?_ol8KySXl| zTLFi*eOy;pRULMh@6P-G@4Dlz<-&cVb*ZqL0aoY39yqG)o5!0iC~;;}3C?SBW5R)C zKX;!wKvm(~M#BSXcwin^wu4-l4|~$E7bU&&VQ<%4B?r5M)$o4L^~Bpmo>KviY&7gc zwLW=yvbmakcqqkk`sG)>5rDFP}Ddcs@LmhPbo2 zqw-;Yyx1r?+8wQiIIy-BVbnI>;ueXdFQ0Fi8 zqqlzcd@3A>|J49DF!;w`{mSwR-FFZb2Ib`j7Y@c92_HB&Bp)7wBh9hy7K7raN4($kwKT^{eb z({Y(A!((ouI|Gk7p8hO%raLQ-!`vj@{pMEm6V~07_ z{+!i5kJ{(uah#i~OXs`uaT zDtPE+%tLRL)y;Ee4s$cYnQo?@{$h8rJ^d`M%&PO{8Cb)A!%KMj**ty072IrhNj1`$ zONZl)m9eLvL+v?v+~ekkm+|!G9+$^Gt}1qq%ZFFGD|P!Xc+u;LYg`_w%zQU5FUlHw z{;^W8!I|!wJg#pGRQpk@y^y{a=H&y&9~W_aQ@eL_8M`g%iv8{=PyqBWy_qR0M|O}*ROz--mOY^)9_!`@4q~G z*`@HZi~Gf`E`@KM`i+SL^MIdS24}lEe@W6W?suug`wkLO5iK(hybL~gd7SO=nUmMs zKP&wEy@h)T71Hvf&N#fCXMhITo++1gboVL_)XuN-c|&FRQDn% z1U>@S(NzXtS!dpgow;JZ)O&?{Q?U!DUGm{RZXZ0Q_jX-_?_1{+!fw$b{x=Um=@xc( zRk%lYcl$Pm)x4q}yx;ve?(eGI{smm0<>-7sb?Az4PCFMaMvH zX^Hb=eN3!fwvRsn3QaAM<9W>Ju~99kkafr9!Gi_?L8QKiQZzJ=6WZ}A0tocb!$FGS z@k2M#Yy@>ibJHuV)@h!*SFamlv@Y-5;-pCsA}# zK0Mi-tfEugDQbw1=J?R8jrno8U2wHtk>`kqXoP4CS zMk$x$Tk3`9aTcS3AR%~!q6;Xxpw8z5Wwqaf+cc|h8mmuOFwI?9Ei@S3(UX5a6(-^@ zopt#-|80G%95cx}p26viI1T_~n;8LE7gO`%d^pR^ax?RQL2WpjlG%B~14=*xy`(wr z5;rG)NpscgGAdn`2M;cHbA<=B;6YYIA3RXWRqm>o&_l#yiXMdX)$nSnU7ZIHu5t6h z0~#)*qzMKnGZ={Jy;~4db>{avgEg=q3mW8w0{jUcZV;~k`Oks@d69blRBp6B0R#M| zg$9tGKIz)P3BWQURH)@N-kg^}em4Zig3X-k|s})(#LfG@#1>fg|_se}c_|qzg|9VgR z)NJBQ&8~C15dUj`X7qV$iT}@ku|>rHduh#%i2t>_iT`fmzhjC2d+kB|<8{27`0pnE z|B3j=E9E~E|35$LwL<*wuJk|eEiBW{KNGF?V*$_%MM`4lpVQ8NrO%O_|06o437X;q zx_j_@k31XxGRcpE4}HyZxj29l2ZxZThOK|D7(l6mD-Z7aIqhrwzHI$D)Uey{gy86t z|Ld{g&$&J8{KtJZNCBJw&MrV^)Y(O z=g>suhfp4K28w|ceCr&A^yx=o!W)!~w+mbXBNSs$1z(VB;tSm2!8eFP#kC$tk~mbs zBjj9v!Ub_Ss?MKi;dfvFj^_Mm;~9_^4G3;K1}-7z2G;qL)NE2Xi0x=SPcRtKP`w*e z9S&huh8X{I43BzD9)@7U6R)JgU=M!@qMb{t*~QO^xrB=7t|xgNbNQ?;i&pC=`*?*u zNK(+Ru!T*~<&N_vc&%w**#bkd*QH`P{S|c#PDL7|% z;NYnqTEcL^IXK|FINHy9;$y$y>07H1R2kYwp$BQ zp}_gEFsMG&g{8EI%Oi3|v_PdVb8-+tWo>a}6VWUmecK>j<4?7N^5bphG}zK59X zcQ&%`_JaQJQyq3K3TpUI za~i*i{nhXQsvVFIA^U=WkcK5vA4+<sKv>LHt##hyGCetUH|8e%*Lk98*Jm zsRU9mX9LnzNC@buHrlg9LKGeq-Sf%|5)joYAYSmqTnK*39UZr29i>dRR3+#M2$aVv z9l$*X0dYW*S@Q6fCR2Gh=;TUR- z$qN>Q5aZPFM2b#CW`tmfqLbW7YREz#7t4wCrY39kXHEQ5B?-~VoSbYjC1glJi3|x% z!31}D@GC9NK50pbhNks>5IK(TgRg||f*+51C!tRu0w1sAOpa%vS2(KxV4Q*Ee^PaL zc5!*Svss)kW|1bX&NYdXG=eFNV2bc#vOCY66TI-Z^uD?ywN`n&^DpYF6IuPD$v61% z7`L3t?at?R7x3>wFz3Po;BvmZz)h=`FsXSRE%Jbxth=bre^CpGqZSf0F=Zst7Lo`4 z>Di@6mnh@fxKD`ub~>c1r!ew zJ1wN)BE82r=AIyj((5EKQgi6yLKl-oX0l3TF>7RTRW}AgFut{&g;?1V{ey&2HzIxM zCec$C;Zq`ca=HLc-E7jACrv}~WI`_xEYT5&RVr9gOg{7tbabmO+{!8N!=EmIQ_HNQ zrzCoEPZjA0wZE#`U!`DeXZ5aCDbwng9(_Jcp!_J2ePt7$O6j{F@4O7=X_lj z$&xxlVw6Q}lrO3Yq)gB{6BVgaV7@Hsf<(w9f`cNXMB(|2c(I9pij$!^$};uk*+2EQ2l}=Q?PY%2`>=7qD5? zStY=blLBCpVt1y*8%QlMS!Wqogq&imp0BgABAYN>XO$pE&INV;Ob!*sJLKRSa;~$s zgi#Lup~CGo51n&P0an@GvHg15hnKMGEB&Yf^+C?;u?!Y>KnTnakJJaq!S0-h3PH|V4sF;UcnnrmY z2%2)PXPrNr1CzYWkNmI~zkAV8zk7qVz30WO2)D9f-9=Q^xcXv0>IiR=bA3!l)DhOC z+#ND6Jd~nCrB>EcEcHRH8rOG@@hIG6gBNuLxN`2WI{!WWKAcvE&qK$ZbG1^AsnsGM zln1ddJn7IYGlycXx08jx_a{wt!1qx^~j&^l(fTWx|l9qZl)Y*&Es6Gs$j8U0O zDUY~;e#N)E=fi86mcxqItC*GXj*3wk)pI(i&es}btXfhmH?0uXl3sazonOU)g(4o1 z<>olRax#%xS%WznT<5cU*2)^f*^oN_YMljWPjc=UhRNng>Z@ZpJ(khhX%#w?oI8$r zw9_7;u}aLLojQOr=OSK^o%R&NBo4{;q%?ZlW1SvP8Qjx){T}9ybHnBVlsV~F-mzBi zcrZ|Qk98jFbOgUgn7XV2^gPauoQJ|a=SG=Cm;t^eoqMA@VU96W+~ie{bvlMBV@!3| z9T+{%jhz>BRu*=XR&RJ9>S%Z391yj^MRP#ZI&xl_5Bih0^Me7G=lNT+d1U|Xn`&Gm~O3-xq<6XEtH z{hkObI&mHvoSZwuwB3wrtp}TC)t~lQv^m_`erpyC^bM8C{g|&LZgPl9qO`QW5hoM9P-OXTkOaZjLz+E^8 zv>l=|scoju0b*hF7@i*PB4*bIi!aKfzR5{#1A(=Nd{LJP5l6s-JdI@S>LX`7~)_0F+| z|AG%$R}ridFbV`rVJu`Yh4D&uY5IU4F-Br#I_%VZU*@M%r*z8mQ>HI@Bn@O_^_j2h z5Uoms7+Dd|&aN})Ae$sV`0U?JF~P;XqYe@@0Sa9J1I&>cVJ|#nOR2Cs$9-Klw{Ib= zmYB&^S3~l9#1*Z<+VIS8UKB7-G#QBin9dng?AiewH>J;q6fvA<2zRu5nFcW=U zzu=9J@Vu~>hefN?F)xvaD%ZNhusqUZAIWGelJ-$5!t^NNYK~~;YN!P(Dy`6f^lF<} zx;i>47paC$*TFYnVbs_xHe#SdU=;XRjzNCJ=TZ$}JXV`gSjh}jF(s-<FAAg37Y_qkb%gJh*<=-^lQ^noR1Q7gPQ9)Q}&pu zndO&eeT}B0CK*!JjfJdg*){8##W2{?gJTF@d6^scp{1Cflf?AUX#mY5KsS7X#xj8p zQ72=&{nGAv#A znD+jfVR%zG1r+wQWF`pI9Z2__g*(WLCtzYqc>+XS2(mt&Fa@5zRWM67ME12(Kqttx z0x<{DG@DpUie&^@Hh&cnD6m`?oAk@ViO-bc#IkhjIPtdMOs~@oOmCAZk>SJ=ea9s@ z@l-QTu=&NJ$To`5+{NhxCmw4VCu9%;Okm(4^NQ9%Vp0(!*837Hw15#e#~3j=Yzst8 zDk8)?e)OV@klu$7H^&IE$Oj?fHM)&ZVtwj;D8Yko0ZL461_?|~YW&&%Jw(J0n83t9 zp#-DaGL%^4MN4IdS`;R|4)KMOt*5poA8lP~x>1CAekFD8Yp-MhWU} zDM~EYR(4~QV1}kpG-dNBF}oQgmU|n61UulCK;k{0;!Qw8PcM*2p8j#K6_DV<7J~$J z|2vRiF17$9s8s?I@#Y`_ijl$z3}c)7<$A;k zUV1?P?Y7Fi1EX+0hyCkQ)8jK`1LCZTRdfJoEUiS;B@8JI6Ag6q{12Z`p>&p@2c7{Y z!3E#{Hf)3IZT8RyQ}L$iq{OZ0FEKQp^PU+HWn;YZ7hj@ z!a%*Qf#E>LGKjI@jR40muv!X-=CSmLkI0DaMNepBIY#Vups^gw1(@ZavQvd@S`93u zfaro)C6nkM!sDZNG%>^2HVwx}b(kCO8iGf^C80^94Q2#&N7VV;MO^Sm1~ZDmplX1R z7+DR=FuHj#0}+&DBq&*&42E<*=%O{4aaDww zn6pjYtg)QKg>y8P4)zV6%V5qG8_@-P$Rzj>PK|!8!JH2hcL8bxX$&UYVDM0|!I*P` zWC;vr7`c2%?ZgHA<^q8by*1E12Sk3B#7ot6QKRk+7wy> zN+tY#`AZb7kuI;e#{Tp7*Q6;B|!pi+Kz$RGt8Sk#%T-zY6EzL>X_Cyk9K4T z8<2qusPpH><7J;u(Jh`08Cst~aiBqGDo{Y8JZLgV?INx~8G8~9x0r#YuQ88zdQm3~ zPh$;%l-kQYn@!^hY^*2>GHmiCVrQ%qVF(y2%z!5v&mUaCU5ph@;FGvUm=Ur)6XZQ( ztibGetmv*OV&kt>_i0^}>1hC(s^2cs7(mmiMC19n+zXz>q2fN(yRW3)#PEI<-A~cX zxL;%q6g?343;Ume{iojw>sJ0x0tU8Q8JO}!363q&gWjGMKdkVcH|&s4TC9b!rUvq^{|rab0tr zO`hSreyJ2t@h7RJ!H6zkgv^oj+q@47s15dU-5NJBM2aWY8dpbuR`N9(?B}pBDuny% zw_FfRF|faLjbX^04|L>RDQX--vD8sRiiogiY;$WCdh1ya&o$X80^spCnCg z0T~Uy&v9qDa|#HO&vxfFLR>wF>tr{jfb96Zq-hyMmb;#>>Y}k1AT!o)>1U@&Vtk>S z-k4C;i(I~t&{R!RIkxcUKmmn)BRMjhODsa(}+Nx*(IEq-h1FKJRK9O!Y;c zTi_OX1&E?fuahG6I!>X6CN61&9MT7*5VCj!7fdvgbX19mMDGeBNLxrB)bVEOpeN;= z{Vsdq4|5KsgE}tt8pEPv7Ub_%EWo4tTNd(GpUS#yzf@NAE@l2xqJYr5*mcU%D%#g| zkEaP?7t5U>a8SEX)8V~#4poByF6SJQ27SAaJKwLH6vudkI=Je~F zYl5HC$#a~@V}Y&e^Q!zj=g4^arE=jKU0;(_enBTMsB*=g6>n7dw|NWqUvN;0?fv@l zm~zjMrl4nvj*NOk;-eQO^(k-K;A21f@Xyl-u{u%MsXp~;noa$l{6^-#A;*XUeh2KK z%A-XY2zq(56B+c)>`L(>i-_xByZ#@oXVs)7ai=b#`|&&@8arcQ8~i@ za@RwaMbL8BJ+6n`Y=0iebNk2VYs;Iq^3Inqm&NK>u`)oa2}6E|+S>a%K<`z96@4HJ zS~XnQlNvqqVJ~WMV4JTRtn^;2b=9asz3XC2Q(p&+O;v*rpoR}XH3GK(F19)KbpRSv zgHPg6J_*$*W9RQ;15{rJIj2#B@8mFc2CA{F0#!oFoS4P#9qGge92r01q7JBcQ?Wa9 zTJ89H`tu2?T@7eLqE1<$rggvwRWiDQs!+|XQV~uWF2iODE;3FKwH>es_;b3YE zmT6L22f49PgD-IipQCC708jteI4P||gKJQYZBTwi}BD5)hI(LF+4V2G8-oR zo>c=Ha|$FzHP&?i>r$~(9QJ{xIyenFqiZ#2EKYN$=h0T6Z8aY`)qo;RG+lz8;!J8J z#;_ck9Hha(*c-YEMeAv?pEUYbvx!w7P_AbRChLY6aP4hP;4fG^Gg!Bc@-c#&Fq*|`!Z@{pCm^)Oq;M@ zQf(;kTt`k$`j!%7ni<)u_Eprrs?>p6wIRt@LYHH;$2HWJJ(FrLq;`{$ErlTMwI;@g zqA!4;CsO?DL>jO2Cw|1 z^rA;|L{7Wju%ppSaym#iI~}BD*u!^6k7FbOQjf@gtjE6eXwsg7j8O5Eh+dI4AZ=nE zR||8Hc1OS;vu2LuR!3oyb5!u%JKzzFq#G@-lQd=k6$i+k6z(AS`)}=Teepr&rZspL z)Iz(BXv+mTCCN|lgHPk)AmP+8I@ID|kVdA{-_kLI)RAkzJ|==fqZ@8Spd%SS;+#U* zs8!(_watRq^LcZ?Kq8|I#v{1P2qVmiSZ5R$PYC|CSjlO5fYH$-pQhRvc!&OOOz`4; zWVB8(X*In6AR}5%g3d^xwqC z03T$=91C<#cV`yNK=cfER&_Xua-=t~6lcRvoU-ckrO?mIiZ8tq?u1HZXnYyad}_rSU-2fA@&qqkEyDrEw18_1F#B{1;ZPV96mpS> zq}hC?A&N5OiAM$%ydF!yzM_wT=wmvej~XfzF3}h-11)96urkhR1++ zfh>NMhHL}VYy-{sh>mAV6#tIx?9%M)q_buFmdI()(>^y+w`E6`W=CeJmG4oA2Q^`< zlxC}xI38%%W9$ls%tj~}3EP}B+Z-iPW=F%mg^@tR9uU`(*A^tr76ju+erP0dIGBf3 z{4m$yQdSz{!cO6#;z;0L((DP6e96Fjw8RtVk_N)_g6l7sy)@+KQBNbW8PQq-J@W!a zjGFFn(9zeIXI^ENUqhg@iVyH?B_we9Rkp9aKX1 zi;*WF`tmxs=i_N!wHXlo|LmO$fK}Cb@Ap1u&&*+Fkc|v5G9#`%fDG?Z5pWo;1s4)q?jgQ1OCN<5YHZ`ejZE9Q7dT+g{?X~xM8{3-3 zw6-9 z5z`g9v;5|R$~|ZPCu%#-$Z-&ozsikh4<;)A#AGBhlt#_d4gw^kO=vn7QmCoKRAH2B z?qsi7fX@e)4}Tq#23JZFH`*QIk|rhrEepM`h&9#bWDIo!`MflJ@RAP3EtOPZCKx!-2gXzXDy+#x)A@powbx2B>T;M1R$tAn3Q$a(fu7sRc>W_a2~mj z#kFL>M+|Lpn}dB74_PI+z~g(<;t$$I+hZ9Pl@xc)Hd=IsP@ z315YPM@9R-Ma~Cu&I8f!9gc|lP;+=D`nU1SUT4*+tdq|{?vn#)&m{db5LS19c!-3*Ba^lA1<1Z zFX)4biHS{IYEfg-lzz%u#4cmz0L@GQ4tAqE(FsA~XidW37F2>Q063SpF--|(e>TXd zp*|T$g@F8DP`7f7vR6EmOQr&HYi5tgmV;5@v;-~Ah!I_gCfSWF9t5JTn~-v2A~pJL z$x6yxL=2Y+y)Kq1R8ON%XPZ05(^N(PTdj~h;too zsf~nX66$>PPVFKAD^9Yr5CE?c1mVj%Sd9fp^^xm3z0j%g%_*jC1lH7GiW1L zt^=kUQF(6}NlY?S5+Rk*-sxR;;BzOJD3Dk^oseH6-%lXlkG)NgF8p3JJ>yE{^`07c zRcJSuLR@Wo(=c|gkiDydHa`haTekO%g4e2G-`+FbKr^xTj0RyJqvHI|>H?aJCu&RC z^)>_9t%4p^isG^x=&l>BAcpky*-mPHTpIFoP-o=-1XA>Q)uWTL)Iga9Xf*lDS~ZjD zzt)VFi@)|cEX!yLLRYhxuy+#QZ%DgO;_9re}+&8=ho_21;yQGb1y-8$B{18yDW$v=-<=iRpOzX1Y!z`!3c z@D1gYxpn>!f9QaPKj7CH@aue7{W|xL9FY2;dj{M(!ggj-|E|9nkop7O`~h$Nhu53` zz<|^jd)t82uaNq;3`l*J1_x~Y0bBq5V(WjZKKF3AGbi9qm7qNa$m|A?QvUEj{{QJ8|<9m+LYt)0~yTUE=n|_xA(OlV-9GmNK$1)&jGWg)|AvXEhbXij(Q z;#>YOmz+tH*TeI?zLcD0aI&)i5ow=rjpBl>RbL9QU*pcINy+k3`k#47mJDE zWEk6ae-mt{>(-|cp4Z41ECAR-_BUzIFc?nu3|IbE`k%X!J$oy)0hm!tf&OUD?fw^I zL;WI#`i}G!J^y03n|A=t|G%$_Q1Jo)HDYVK#C^02G);&ghIyd`rt|WOU&>C3_k`&i zDi8W)Cy*FWFjN^lH}#VN!;6W^ut50_G$YWXvvsW3<5- z#EWn3?uU5bW}!TL8xNZEWFVc}gnr3^f63x~squh189HkP>EzT0_!3(4 zHXi#KJr-;ru+BSqEU3WGX0LFko&+@SWL^O#X8#Jb{0{#P!0>8-;faaX7?1a=qPs${ zb^z!yQ2#}y!Y>5>C`0i3-;($~X}>BsSO>+9DTvAEDYbtzM1pGn zA)Fs#ZAMAB(79rgxI`nQ1*qT{?s_Gm8{X0I%?*N{Om3q4Wr+jyty4%>Kp@tAF7_RxN1zDt=8C$m==x}#9U2FG-^ z5%F%ljds7zBIl8u+aBH-p#BwP7}dzEq$+-CkPyr8cRZg*vmg>^1?$r2=ysE87<8UYd-Ygg^s48dk z*e?Beb*B~m!(lQ!6)_5@P>xP4bmuwo8|}K;0GN|QjQS~v!}w}d0@d*@(^%bHbY}y6 z6HO3Rs5?&se6xV3=W{y)b#g}$iXj=+2;WLxuX{8Oky&KkM&^E$p~x@~mb{4Eejk}~ z-)p%qCO4o>u>x^R5sUo>>jE1LEGU3N+mQP{%Y8Yy{XR0q3+NFv6S+w3ewZT#3kIu2 zTJy43hf-FY>=F|OeZ$7v=WYK%0WhaRRs!8Lb@j1O1=`llZP6-03D74sh z0=@I?1lkOxjS3Z@P3^p8KN%IFiVEnXY(E)#EDLNifr=2*=q}se?Ftiu^ELS^7=RZj zXJHznUYip*xiXa6qC-(y1r(N|2B4=J~aW z;YuO`)Yx#Df*9V>*Tlpf4|FqB;-5#tbj%Jr9CmqlDLNo8 z0B9dm4?3Vqa{{<1&<~u0TPy~Ik#oX`=XU`t2*zfPk zaP}kMotUQ$B=p;L8bN~AS{rTO7d19!`+5)J{2<#6fbJOSn&M~wov_0cW8<%?z*q_R z#HxayBTX2|zOc!?+W;~>a|pH?TT{xr#M1wzXvEAoI#C~@1)3LVI8`y6w6VaVUSQt@ z7&-p8BWMwf5#vm)RAp*KDXp$m=wimyI0lw77f>&Og|;X2B`HyxaDuf=HkwqngV5n5yIQA{QZMzHwN`8cGX0WldnamyC9@P3fb^0WHI3fQD zVJusM_u{BtN3;v(tXEJj^?C=nI@*KZXRPUsQtF-OQa7)Z%%?^3%kQ)R!ZPC-g+7j% zRVSr7E#y7B&=#Om^m)6eoDFDt5cZ@ZiTejJx|cXuAdDzQ53A!LOQ~Tgt+r;=GP?;; zM=;Ell4JDo-7)1SuSl!dSHPw;fq7H5QuM_|Mj5SetL)jw^E~+X^=y8?3S6#d`=M3G zRy9V>2^vZ#vPv<;HMbF1jR!nsNeBS*m@}FhD>=>1kb7vbZwZt<(aWePS1%K@JC6AFihlEA<*v9)f9dzd6k!ME zzJK*g$&IqQOu3D@)V3(}>M!MI4sn^MX0h+wn!8krs|vxL0sM8M55jyytj<)N4T#?| z%@(5B5b>z8Qi5W?S{Q!V>HqMtd|$R}^gBa^q4E44J2ahnUX;!7{JZqXUPf$9od2mV zhsbY`(LW&Y2L%3rz#kC!IJeGue+m2>_Z9dPB=9BYP2e*X@M7HrzC^kSdrE+{KmP_P3h08_FB_wV9uR3~!FZhUJ5|Tm{=lN7 z7=?r8u^38<*<{}V=6@#17DC?D7qR~bCyF4<_TKpZPg)3B3-%&+PzMKk%B8oTCs2N z$1f=O;}`5_2wfTl`&b*a7_eGT>|<_F622R~F)q*5xIFp&>Ww!h59^J!dDSsKPm=9e z!P$Qj`)nCnr;+8fB2Jpq#rSZBJ40{0)}5+2Q&vqwg5R_X=c&w6)v=DNb=mG(w?6*a z-q72~=7M5W;(9upv3Cw*Zv&fW**R#?3_3Tn^sfk27Gt!6^1)q!BjM_h8n8YqLb6yo zUYBdF8hm*euiB!k&d$5!F=f^k-MySl$Wd*@f{;tFSA)!6)gzh8S22~(LJ->xX4JcF z^1xL3;~{ft-!06Q1Ln#We3*iJRIo4jux>E%x~a_I#$?%3xW(o9P*Kwz3gV9uIYbt> zg^5zObfEFard|9tgg-_=6ts{KplU333k6Xwz407T9lC)=xYM5axDh!M?zlHbJc9@| zpgBr58_-F4oZy}j1%O`6iA1p?)?;#4hz~ga(PKH2_IK;%-8||Ztt!a8|A!Btw7=#b zcnvS^uQ1w$0dYSd?mx)l-jCt|aX%pLGvCi!hSgr|+z|Y(S-WD?9u&|){csf? zO5veJ<_3`#hUfUg!^kpBC4AR4a0%OIP~V^u!zp3pKapc8pu>gJ!iZ@@;6~04qbvwv zBbTfK1ogvI;vh=cIzXgA!3)$)84swm@l_cIka>xM`UC6G`Ug|O7(odG!(sw!RQZBj zZ~-2;nfXF`wUs%9>qGPug0n=4qm0cyB9|yCg}Jg@$kL)WxyDM2;c|>h#40hC5?UGH z-60QJ>EGl~vK*>6`Iwa$&m|NRLH!VwXr+YBR3dST9`D~|B3UNtO|G>Plei>oaG)?P zg=8`%CTj*0xhcZ<*qdOuiJn$(vdhX$<(e=vLH%GoWg2B{Rud_b@To4GNPl6G1=wV> zc+SVI%wb$ZO&TZy3+$wnIb5ix$Q@zfq9@T~7;jn!Ig008XJw{yJzZshE<`M6hkiLb zax=1^(ve@-*4tcfC1z2AaKnLOt3*tZpraOGDpCaDjik)x)F`RvFcTv7WqjrC9LYyh z3<7G1hbGW=?9I8DmENN3;9RpKa?PXgJR_l2$^y4QR`^1fYH2%2cUuEGsR>wAP(Mfw zSVRLBiQhDGi-n-G1J&D*>Y^WPk->PURo5~KvlPy}_zn&LwNyfnu~otb8+5 zg1U&hRtSw3S1=ffzR0bJpZSWIB3DriA|i;2Ca@%iReU_Av45x4oUayZQOx2(FKZDg zuokHuMklRzy3rbN3N^9T9Vm)v#DYWU(NmEk_im#+2R^sG)9Jj^8Du!aXp2nSzDRJZ9q#P-*^h^~q+plU$Nr=h z*}&xn6^ZK7n=EA`DI1l7-y>qi6?*2>NHeTUfnuqWZt@VdH%f1|BAd7*GLFr^A{N6# zcb?WLBCUJ_OlYnkI`RwR@g3H^TPe3yXe_$7S#y#Lw7h7OfNh*>VVuGhTt}q9b)+u2 znDvW`d1QKvwcrwJx?>jlmMx5HhVb!v`Ge{`81&VQowE-NN=ZT` z8~&5H&;|}AF0@?>Bnnpa#hi=c-`~Q*FQ8DVjgnUzu9l@4BhbG;q^X_|y%8l4cqNe2 z0cVhArVoU!-Y=LlFb^Qd0gC*U(*dWDa^PMVlDQWO=z_rOf}9TUJSzu&gaf@FLEULD z-@uq0PAg3dKmixu{?`Wgsz(hNqOp<39Yh8b`lB2;qWD&vUEFJ6C745uL#al~z^xpb zfIcw=JDAg67U&uY_BLg0OB|mf;bxMB{(}G0#V=i$j3sTXLY9+jEbF^CmguYTZoGpJ zw27EsA6;jbF2~rm0IL(E*zQJJo`sm4K`$Q_zu=Uyog3}uP+|plPJI7VBxQ{l zn{nUW3Hc`%CMxIRIO=fI;_siNZWdF&4TJ|ZE>ak*Ikx5??4GCNBe`ULx+~WQEL{j| z8?_mjG$Vj^Ft-Uo6kmILPI;G5(Gru5EVVwTwbmNre0IlpFlqdwFNdR4IrkJ8_?2(u zh$9ms1c?A#LjJ7++Y{L!h!BI;MJD;;pZz$8GpR=L%;^?^!A|6J82>YfpEd5pCaBp$ znAuL&@+$74Q{8EuEUJdcHu#@Q_=?tg+>lkeE`1EZDD|Cbp??uxXVIVQ;(zPO>yBYY z%W-`-#CJZDVNkw|7<&%JQW*@oYZzP*B2W| z2l=xDj1GLE@&94veiqK|8e83Tm%)Wk(VblH%zQ&y#Jn7t6YqHqGItF{T-Q&V@45!D zlc7X27!C*(4M|qTv5;!8kTS3+YFA}YR5d87qD1O-3P!`T(JnO@6Gd4FH-v&fphI)+ zdLeA$uit2u;k~KpgW`B}sQS9jOP_}%eLMqRV|lq<0eY!M0eNxZ++x0|hYdCA$?sx0 ze#8Q5j-Q;Ju-x!z%lL@JuPKK{sPOwxqx?L$e(tc0kD8yy9BvXxCJVo)dc7m9QH#Qg zYh$jVoSonW`mB}xlEt(!PZ=^Qn-dsgbPiuoG1(isy_OLV8a^S%%K1A+&{ zPZL%}(#QoQpWRR2Wr|M-V|V(ZZs6rf6pg_i0m0ZRtH9GO}Q5@LSwptpXY zLRCqSr*73gIS5+n(w)o57o;>0g#iMhl+>vggDF9n&Mj%rK}rm+!4#-V&w%LB4Nj}K zx%#crFlmlb%3ZHCisUG=HL17ETUL-6O3}1_o6nrzCv#qzxqsj`W+JZ!rLD9^AotF} zIjWAx&87!_G`gO4O#?)UL62hk`Ex6-^&mVxos_0fu=U<*J286 zV5slnElh6GZ&W421jBEjYlge(#Hd$Ca4|C1q3&@t>F0MAsf7MWM|JTcHR;NtT@6|~ zn4e$@&VuFvS}7)V>P|l0Sl7_q!d{JZ?9!%|+BD=Ww6js1jp}M@8N_Q*VN0#}GRL|> z-2k;{M3AR%iLExciU-&68CwS1(+BlEeQ?FotLZYHK8QF!R@>l5UHzjiqb_f0n&);s zFc@lY*YrSV1GwFofV~ya6`a~^_n_Fs&EeE*~N+n9rWBCixo-Op_KmA^?)F)-% zJD>hcDK;?mVQXFErtX&d<+N%Dc7?0&P8#T)JSS>S6%KPo=pqwL(-M@Yov*!kvhl?+e`(Gn_ZrYh|;9rMm`ZrSb3}& z*6I25FW(53+7KVJxn&T89P`ee$UxJidQducQ~Jiw@+Hm=r6)PtTud6=Q2jE7x>$$U z4cE9F4j_D(Yorbc*?E$0u04$(7}A7UMZ_!Y=7q!fxos_ZMz;UqQ4en%^Sb%$b<=x4 z_ePLy5fTS+m_ANII!MB3uwLBcjU3|zOA68D%Jog<3Vo6wUZm;g>WgvzTfO)7eek42 zMIey*x__(#*#$;&i~ut|x&0s{TU{^5{bUT#GRJ+|+J}n-A0JL2(I!*@R0a{@36Ki+T4eEiwXId6)H9W^<%+5kWqzNdN_=)?$&qBcPO60 zFkX6?zCiC26jktHyV@Ij+MuK2^DSl*{}ADSiQ!t5`23i6Dt;0!n&8uZ~`qRjO%&;}L65Kme$(|k9!7Bh8uJkr= zXR?a#c09v+HGfZVtK11CCj1I)i-qgWU2T^-NtUiVrL!FA#GO{s+9;BgF;DedFnbM4 z_(sT2986(EwQD)maw&sw9e3CDEsj0}IDz>$Fm@SvXLHlT2Q{JJpts&gk~e&n1nICk zwVP#ArscLGxKgWXRa#Vo{8}aYRzz72t;YiPp-y;4$!*Ev)T*Bz57Q?q!GgMVA+v2( z+3310%EBzV%6)}vAk0rIhAmw97AFb|xD5lig8QDU~J>%|V6^tJTsMF}js?W>_|-mmIC z_|5FLdTvnu8z_xI%pV!Z?2&5Qcb!w|ew~wge#`bx{g%~J!2Z>Y597BA^Ebnt+wvyZ z^EMBm?1i3NI_R0(tvyee`TKI|@LW$UWoT`G7Nmv@^Xs~f$xEpzt03V^6S zD#)@8GRsy4aX*M9KZ{3eH}EDrXixm6MSJ|F3Sw&I`?Yf`t02xt2=P=rRh^&Z z^dP+X_a4vifJyK?A$_P(wq};kw_Qt&`b>&s+^H| zGNX>dr=*WPK}Dy!69q5N3@hsEL(ZTR&Jf={t`L35b^c|~x-~0;;taQOgdu&h02=p~^3Emy~dMTCM5xRXNfLODHyet_l4B%0>{PzZub= z?)efOew~SV6v1`n9iBFZ@Pg1oNPP|O8;mC2M?J9wTpznb_X%3D#}vVya5?@Do{!Z3 zqyR1o#!F}2%=6RdG*p4LGzpylsxEFd1PiVXVx9QC!aTE~Ed6JP&H9+lKwJ2l$bSXs z&DcU4&{v-4>OCT0rH)`a1C)%g2w)8#^Bh-y!Ft%)&>;4|cJ|%83-lYAAhq zpd0EAEWJ6fiCFy)Lh47ZL1C=8nrQQ>5t20)&AgOkA+1JONGqJ$qdJo&glIF>9?aj- zAR~<^q1hem4rxjd@eFmz=Scf36Y5TS!&tSrz_Ev^FBHxgY8dOrxUr?g)+5_}7%OYY zq1=;GdwdC*AGuZ^#)^HgKCl%5OUNw;=p^o9+9TqVDRkIWE~nb|SH$@gJlE>5$yokT zuS1(c)444BvGH%uD0kT8q*tO7?%bR$LvO%tjy2QD=Pwajy+Y zI-iTI$EVccj&>cLNOeRyuQH#%3lQuJN?7%{r`^IP_7V}#u-sW~*!Phr5wb8=i|H() zkMwm`KiM8>3z3DfvW8S{BBGXKd>E@)PkXb1>%(wus2jC=amn5%-@Y zgq4}}eZ9Iy&g=*ouSH>tJ%?GZO_eO-&p*Tzy@*+~16WPF4_n@Cg`G`_8fc>~Gg z(Y~D=*zJn_;X_y>+#|MNv*8I;e+|^+N!u{tJ?&_@p;r{arclFnR zaOdavYcJeCQ6J)|AEW4m&%ViW$7O>;GYg)%OWfatf94B+E+PZrSqumn-}JEZ)RMoJ zWi?_F);ka@@ppfe??-y(hQv=?pG$g4&J>{#xMF)SL@IGeQpsD8nGVC5=wKY!5+7?- zBjPXZA|@@R8fS-SP{C6g-9g(SJOh*19^5VOTodO_MO-&jdN($`!;nYKxo8?iFz>-4 z&JL%#X3ck@LvsghOB^?YsY!w@@3toRaN@gvM;@HWjhP)Xr5dAWjOB7{djRp!WN+K! z$JaCN&#e0F8TW?Xx@QiDaWf%3+)Mu=R{bP#5=>4f;;;cmh&vzW3@Py1s4Z=7vTO5| zFl#aEes*}c94dPsqQeh|Yv94}c<3@jnZxX?=Y^&_{e zJ=m!>?DVW?4l1+~Se6xKD^3Io7LTw!;5h+k76!#}czFb8(fRTCZH_M`t8wM8Ub-)l zO-^2S#j%aVVncv&;K6D?5pAtUE7=0bbDHu*b-*k7!VM;C(`W9a$U546rdx}xf2O_i zEbRWstuNxuISaENz8QPtbI7L6P8&-2^f%fYd+YyPZ~aH&n&Bf&31;?DpBa{AA)UQP zpZk0uEBf49sLFi#CH6H%ZmSx{>VwUH{=_Wj3+RUnN-&?{2_cXz#{PwDaN6!J>cVp` z=n7nCrQ{O6>v~v2Q;o)&eb5 z>q|nG^{NKx-Vm%2lZL$+k6PNJ(Q%h%4K_Xyc{X9Vd!Grz0XA(pK#m{t@iTe2pH{$_ zhP21?qlrRM4*f6S$6@v`r0)B5;Z3Fx3Mo)XbINxk)N8q2D_7209Pr_9ySMK&Ilt!&M(2OHwH0Ps>QWc5gvpeGmNywh~k}aIJ_>y|=kYr5S zl9&&uGZ|MQN5^?xb|~89&{8r!{SWP!9q(E@lL@&FH-Wpg$wZ#T^6z3fC?;`U_5$(T zDfZl{JPd@nT0D)@X?kuAP(C@v+E`XO%(a zMsTy-Q6*eJ?PYG!**p}*u%7SnSI_0~_6ICdz@-^~{A}bV%{aV0X!MW!2%q+CBc4ko z%=a!L{{hmTtDc1GEKQO{=_}WBDnGxxLgrz`57piNm4U62f`ze3lT%vZXzk%3*VR zFirQTCMBxrjiP=*-}73*PS(0@MyZB&@z1-E=UwQZx1GCqpU#vT&ZC-Y-9?^xNaA9L z?Z3qf6}n5}KZSYdqZIt8uj5iqQBU@LX~8tM;QkZ}8GWjqY`EQ7LK*4e3XifZN%8b( z*`afP-Y7JW^j~?P;ESp?U(}gAh3=PKfeO-w4*y7gj&xwHX`(jlN<37xsF*$gCQZIR zv^JX{*^P`;PoqGzTZ2lhd(SL;th5yE*CKKqs2tiNtAurkTHIFZ9z0FF<$9D5wV-iO zKsO_@aaZ|}?B)A!_Emk_*M`_e{nVm>w9ghdm7F+#IUv^cJqN`4e#QEKd^`N`$n_t8 z8@o)Ja6qsR2zDva54B()u-6Cd_2ez>^;vvHsR#{gWRe zv3|pVSRWAU17aPA&473P*WA0l=R+jccMpj50kJ+H)(6D;z@q6*A0n}SYTiZNfZMCUI97?Lpq>NHm`2yj zQF92VH3EFO8W4IpcCSK}13XQ*Y{hjQM3lwvoDWVC0wMnxVsm;BJ6T`-4yU69es`lYwApYMZU)C_6|${Wp*#|oIO0;b(6}+K z#f>R}TpU|b*Es4rG`&;Rj(6jX0XuZvtSqiRmLc1@P`* zZ1hF^&VRkkWQq|Bq&4^2Q|CigAWEBQt-05^FuHfT-ySKqqaJW07s~=NAW!Jsk zxtqZ!3jjRMY|Xtv?J(Xvs%>zGJ*w?*{CPOMJb5&n=R|_@sG|MuO1`833=e>n7wyea zu6+@{_(w_b;CR0$7D#+fuluUraV}8Cj`RhcrVdJ6m-^SGN9O^ipSK;1{A8gZLB%g{ z3zvd@4A~e9=usR8i+xRx{XWIJsA)-hi%yq{@xU!D_q7N&EoQh|?mO)mng>4KciKuK zgskia=6H-S@$fqy=T>!jdK+=tl)yEf;2)!1uqXN&)=-17+N#?P;@Hhz*fs2hJ=ya* zcJ0gSI9LqDVX_XW{W>GHSqP7T!hNiFXO#fIpIy-@=kO{U(&zLl8-;@h1fT7o*Y^jl z_-F#A`^-m0;KQHC_zu6R@9<@Xns8s{J3JmjPV+zlw;s^NqU&A+Z1FcqIFCnecAMPh zk|6T_kv8nMFzia{OM2v1ao<39Q1QqMsD~hVt+^h4tQW#Vd!cb2xC^>6&I3Y%!+GE? zuJ|68@Dd+QUsH{jI>LjqH`aqxg_7S+ERf59Aztowb_#}QD8wF792gAo$}Cp3H4PYN zGbs4<>Zhsdnrw?KaKx;E=eg~h1%_YddO086vM%k5HNZO{#C<}9+pqlkke?>Z2e+tF zFo$5>fg#?IRf=>2Zde88P~11*4v}!z0`m4h(LHJqObGX?EHFb*@Zb<{Dwj39`zZn* z-fS^GIQbNq%KahTE512+_XNCq`nW0u?G6I*4sD99{0xBI`E$zVzIYxIA;xgyhb2gN z#8X4ESBQ6`w=t+Y7hTDlq3-vFgGH#AT8DsiKPX{$&Qp5+1IAo)zxKtJpATYQVhUO| z-w6+@6NnD}obt0X7EnBJ_=mFmuh#*e-8o1^W^9nk^`kbR$;N5m1t7F&!oJ6(!YC^I zyXXmx4;?5HvV^QQIcf9*pNy+c@AyYz4Pn&nc|$VzwR3>0nrMNi`A# zaj`~HPR|Op&pSMq9iI<9k1yM&+z^ZEYR4CKo9r)z#ukUti9{6tvXVKzlHGpQZdbtV zp$bk5sGVW10TMbg51)~HO_{0tb)jPkG~z~V18XleHqw)j1b#Qx4D_Qtlnp?wxej3W z92VHNEC}}4eq3+koYHym0F6^g_FtNaU?h%&(Z7v~ zT61&2=|kW!BX?)c9V14wjG}$79s^bTz1i`>?D&*D_9^2oc1z+P>=lg<6c0QGX{UW( zk-}U-V+?p7t_M*ntAVSz5P7>h!E-&ZZ74^Vui+;p?qWrU?K2p}=cC3^?i9+M!k#2O zp5qfLbSj06-PjYpnYI^!dnA^(Z{+x$tmS;I_CyKQz6Py$ir0$7F1J*`+E(4uB5>qE zP^zs@Zg11quo6|Fqix01ImQVuBplWHZ$r&Oq$R&H|LMgio`^P;$b zb~KLmr`5{yIfoMYnXHvt(4;V9mPjpGs2h?GN)!b1-wMjVD3m{iD)*P6U3CL(`Y|hqa=S{JO$BH5+hVrM zl&jw~_KbR!aXd@f;a!vbFaFK%4@mz1Lh^t1!zlUx`qx16KliJV{D1c$m;AebV?gr1 zuOvTYX7^^42rnA9doP(8jvur5+k+gZX7RTN`94LhGYr9cKLdc)(iP+z!o22-IRDH<3p0fIV^8@%{r4Y zWb5TK8`n$iRq!S^QH|2)fAD+q4H0b#-_Vz@%oF*^Hzwma8=uS5x^gf< zn&|6q?a9m86JJFQnsX5F2s>I9sJU~ffoQM}w@wrG^_+!+2PuA14&yq?Lcd~7&y8Pt zAxt{Ro646{!hD|REvr0^oXE|$07qgtu#EdSbE-rf;Ml_&xh|tG#wuP)%U=78SdfhB zz+%28$B@hHV2k%E-;FyqeqJ*>?O!^M$D13cgo%6nLhJVQhks5-ug3hbZL0B?J|AM| z2JS?^>u?RHYqZf#=B7yS{MOZzZ0jn`Ii)>VM6E`3R>HP5o`aFfI@0qTFtimEgzjoC z8@h}A$6ZU+Y+ALCOZ2Ac7`ssguW|Nzllz&r44Mh3Np3;9aYUD0x4_1(E8-AZ{ zC2yiaA*9!vRAxWR%ed3~wXp{k3N%86`S;sF-MD}3{d^D1!4niI6w&cM$0g*rnEk05 z-ZVA9EhGwLJVGVUlhz*0!w;dy%+(W5P(IL;vUrS_voW9m62Sdg)!EyM#vHhe$uA$*>v><#Jg zy*x$9cNrU6Mv@jdk)-A5fP0kZ9xeg~-~*4!59Ci^_plh#B2KFa-*HoY?o*+~?|^@J z4^Dk;2Je=n#x+)uU*+kLBMb-6=m^CD{uaDA=5N94Z=q+y_@S5J|96Ap$No5%)Y3Zk z?7BMQZCGcEsW?Eo7esQf$hSxZ5cKhHP@r-RfJ{TlRObp)fd{U!*Gji>cxRZ{&7k5m|pwGD_K-xHc{vd0P?xq^t% zVKVk|g-%lw0bs^oq=`6R;+Os-OcF{a=0vKJF7T@ZE0VFabDSIN#+A?jhvI$9@dB;6 zs4yR2Oo+m;;x~yl1A6d1mC6iU0J)JWQ7bHyIxil~3Vx3UXU9 z)!LG&TzTrt_y@P-^@!;x1rBYj5fl_RZw?2d>va&^B6|}N<$Q@Z$%u0B$4o~{9O-6s z;)2PzjbXxs0aIif=^JwN7b+q<_3zYI1N1|oS3f8_K@+mL;3$W=5F2Nmx&;L>e<8}k zM8pDeEifO994!SoSZ<*=%;nI@HNo)sNpsEQei7G;#7Cj&tojOud#G|)4PchKl=C7WD2omIPK16zcc< zK&Z!ULK{#j=`$*Kq6U+bhB-0*kMD)lvL-J%)czIrnOwGEhg(!;hCJDsi;t}X2yTYFP}yO%h(g#IU%qd zw&MWNBX)4ULrex2p(hj@YS+V7Vl4g-3OW?VD=H_#ohtOkC9Ea*?!7F1J!C1NV8QAf zv^CoesSfnxud_>7&ol^1>%?DgWrV$wx%-9rFGZ z&@|>sEZ_z*U!qUZ7gE9|c}em66wp5vY&)zuNC3cgP++maivayhP(2a?$n-+_mmf(D z@i-%9E}(>bYd@t@CWPil8Ihp_WrS|HjT`u+VdYUY1|&WU5(Sh~#?hP+T$VY|_?_>= zUW^O9kq6Uw6* zjloKCXL*v~Tq#LhLXp8)5ops?WDL_CW(?92s0fyfJCpG|#i(vdxaB8Mq&_QxcV0y% z!MHQoO+xlhM&eI#Q#BM|ZMzi>a?g+ftIcl&268$zC6$Uq$BgL9&%w_{kUpinWerJ@!s#`5YuvQuXM+j5_4;7h?FZ_ zMY%FN4Hd3dAVsV21a6#&jD}=>4L8#H>K`J0Aj-u!wIlD;mbi`-e3VI& zKK2>hSSu4B;mnP7`eB_8M~zx|CM{g=&NOag?wzF;qH3+evnh9uJKLQ@{1WbM;D_jM zY^2}Lb#NRP%YJKH7iz#`9eIy+5vgok$BTUvHdCS;y@VTE6#4gT#TPEQZXMvAkrNsN zpAe#*$X`V$xzKGdB^U9~i|j|XgMvG<_F3qZi`^D|#Y^19u*zKG4fak*WF&AebC;LA zyICb*!m&3(^hT1rh}TT?dX}-3zLgm2k=)Hl;w(z2=QBGVb6)GYfAHCyWUh%^jP=ZH z7nzwJ;^!6$IZG`_T!im+NF$`INXisd*uDlZ>B4fN|GUpXi*d79hOw`MFTrBe)i{uOG`)U7>vPq9L?Pt;tkjRbWqIkyb9-i~$oA`_Qs!xQnm~qN0012of z0+3*17(%DdKVKbx=Ck-uGy$$neWW-XI-qe3x@qyIaOjxZ2DLL3+kB{4i$QU^1DoE? zpf>yepoQ2bZFpmzti-;!QAHq{1#D{Ah>crPDfnI#iS51+OZz@svL<4-3bv3fgTW-g zU?@0_6mTv0U|{>h`7&MwQHx`pk0kCu!BDUQ1=9)&hJuqRm<1Fh1qNajd?0j_KuY=5 z`)MkOsaXcWOalZ%!9IkGBL$F)3Zi%qNAdcF{23|;t8ErOTSUZ1QLvqqEP5a*INnw8 z3!ys-xRqbe|A-16O}3*gl%Sj~9TZGSNsDs8D+S+*3O*FN4rlR-!71?B9+v7?SYj}k z0meF^1mPc6g`M2!v>1c9R3f)n^rU?09e7q2LPPxHJMv}t$~QuaEs1Yt#4hDCFLO)X zvXTd}Kuk=CQ;%Sg{cgdf;;TRXrij{xLn~mgS41BK=LJ3p*Wbmpp8WKJ~>TTgBi z5SVhR#DDlw&VXrc_*Q!4TZziPl~XX*Rlu+(7FEiTw9c&)D&mn4JKcv`Zbg_=ay=#2 z8y&ISD`%_ZIV72dzClU2<5luesEXaA*8eU!S0xQ#Qp9o6Ewg=-N}7pY#38>~Nx&^t z@{6I{Vx;l4h|R0i+_5 zT%wX6rQ}BqD59jx++`~H803(y9K`u@mFx!;x!mGTQ5Y*+_Ilu;6dAg1==EPKa_y!B`HF zAajVQAXdB>iY?wYM!h^G*y#k^<{h6fFehORDOjisxUGVFRd6raG2;270Ni)WoL9lG zStK;sLDpK!OuvGiKP<37eOJnsGGQvpIh0qgjUZ*h94{O|72 z4A*L%Aq7BZAPnuY)wSyNCOARd-GumC-_zpj!ERzVF871c0ivLv?51>qzSm;wRKM8T zR`I;Uc;4aud5RavYHRsXz1-Awsq&;TsKb|v#@QQBN!c!P}WWqtiul&$vaE zm4U98+XF|sG}02cWJ&c=J|^6c`p54OkdJaLcnYBwX&;N zhSj^Dhok4bZUp|BNc;0xbUoi~>FU4KdO<~<+o11R#bTzRbK9^6vZ#AsJ&IP9DAy-vPTXYeOe^CP8uZm ztM$w|9LU$9d~*`qG#oon0_h|AWY=gt15sU#ye>+l^M@)ZOinZf9-IgM#mdynS5Dc2 zqPuFGb6Wvqu7BLr$@+T zUXA$AQ2FwRSK|?vyNfc*1j=s|BEOmi*CPI#lx8E}t26nI{8xyoPloaDO;v$rNqdfs z2>W!hJi ztFdv5vRUspHE>gXcwYv-0hIe@U%Y^`l-|g%Ds#kR%1UP7h}U{xO*$4Qd_`!%TBILK zyzzg|qp^68`l1Vt^}zZfGJgmzb43@t7hQ~hi9oVxp2b*X#4tD14P!M{=fl~OHN50e zHJQ_#W_WQw(r>_mX5KY5CC&YRuWx-tU|9?ieZhnMgEbX^a()ws(e1$&f5rNMt{PJm z+adI$!Q&(6Bx@Rygu6)*ebIulAXbUSKUK~_S?VF|My4Qt%bgb|6{kJ%Q8#QX1D|E z(id_p$p%?O!uaLCDZ_QLNF_(wkK8{mL&opQ>YM3i0NPP~v#1ZyPRz=M>N|@1h%VmF zs~SAsW)DQ4y;iL_8sFkvx$%+0?eSmykv#bw_Hrq;q!I!&z60eUKfZYA#Y8`^Nzk3a z4CI${%n*WXhG6YoOs+1s*maepEPC79fmzneh=4LSWSR13L?ii|*lb`0| zQgADaxb}}lf!wL)u1f2e9I!J>>#x?_)hG{rixbF;#xM{0g5*S+>mlm`trL!%>4BR2 z8nI`oAKU*_Vil@;E5j7JGkTl509U?2(|7phu5)W~<*RqkBpq;i%qoYfTTgYGD$v}s zxpQ`rnZh|Nt3IISZUl&PF6*g^Q+Sp&mvH3P+-~v`kKFwBi(ED8pgXPsT7z!b74nuYh<|W<4i&+xp%PF7*WtoOAzbfwfB8zX833C( zvhiN_?b}vPxFMfDe%rS} z;ioTrnnP{cl+>ZW>&aMOBsf)tCK!xY2PhBFo*$u;cvG#W^5QXWpU4em6`1ZhP>vts z&XNM^(xF%+p>4m^aMZ(y_#a*&wm45Pzq~{wj z1;#GbRpLZiwJ5KUXkC6;;-M4r=^S27uhb$JrA-JTxO|?^Rso!3}C4w z40=5gC&|*xNm4*KQ?gGwyA{I6P;wO|4IhJaE@IoSR!N*B$9X4-JOr1@^%0rtV=bS~ z#C8!2|3sWQYwXjVMAOWox3IGD&v5>*>WYbPI2o!~D<8;d@`2d=+k(s%S$?HWCbZ45 z<4(8TwQ2xrC2epUlp7bvS@Lj@o33LG&O>7&pqD>o#A+E8 zCy!P{yVC;8u#wxOW!UrZ_!Q&&|B08=Rx`E_$?iR$-_>7TE#RfC#=f9eXI1uDy;3O! za$?b_aQEQTDQRaAkF3}kL=uL-T7{owoB3JfIM|_*hONZigZ+;{|ENk{O6`}LyGKcv zyUSJb%OOY^{4x1J-M=`&&k{M@EcqvFA6TUe2+6LRk?a-zABl4$zLu4*4&%SMmQ6kr zgto%e3tZXjQt9X69zuSCFTPJy}&Uk1rh4n5LlFf&mY}DfPcb# zAYZk`T<@-lCCUR#et}?A5GfsH#=gY0ZXmL6v4Xg3a07XFO+gYq$RxZ9V!11fVdmYj z8_4zBt>6=8)q8hMv*rPcRa=yY=QEj%k01Y%a6J4>k@8x#ElR+D&QO@24>fk{;w%1D z0v=g`_}(iauK44$K@iL+y$VURL-JfOO!Y~#Z2bzLr7$nwGQACJ{w z-UhJd3TrIj8ie`~Bzo+Ic6!hylCyzV>^1S({^~|FB_n0JyO9XSSxIC1v?57G?x3Q8 zF+x~2>G{nhHRH&~vqBO=Ts|23s)??WWNb?gQAtNOS4`}5$*_;U zSp`t?eyISzOi{o*r{sK|Ip2WwlKu&3msTTsdkjLuesGh-dOs&M($T(z^f5 z{L>+ysS5$KgajWlO1c5OY3TjrDmur3528y;)pxhX`w>j=yVF6LBTV; zM<0p5P6f?E7bX7NMwcCr4_^gQUmLyp z;tOq}V1+*)$$!2Ins_%OUCIC#z6zq}&d*%@h2#PXZln5b-kpB|?tB$A>%53nzQd6O zae@k>-L^}+`R_w66j&q$mglEBAzzS+3Z$awgjpznz+EB*P^gsuq)7f#8=B*zndWH2 z;UBo2hK(#B?5Q=w=Uhn~^330_GU$vR5lH9>tx^C1vcD)p-aJ1FCs_9UDBUc1l|#3n z38Y-~d9dUI%z1@+q8yUGB8s4;BkganWd(EzY5`?JxkkzUAam|euD{K0=?MFqtQ;x< z^?*vCT#Ok{xtn<&ro74d3QOM7k@cUpa%cp!0~&#H1zGgMIm+L|Rev#W>1NLB{ZI%f z2NXiyqG=%&7ncRUz?$hJFaDnKFa(0;d@hXt>0i(dh-92VQ5n3m_m>meFAWH7yek7j zdq8Lp2<-u({Q(i$1D3YJb`J>c0iiu0vNsrpQJPa7Q*Pu`xNIKjwsO zqWK`K4(fEbS%?=cWvCIcF&kJbSVgrXt32#urAU+bC^^!7Z)C@woNqXN;F^u#(2lz-xqyehM%Wq%4lNmiLp$#9 z$(QO0JMiCgxRiC+8aH}IZVQJ)zE6 z)>C*Ue*38$rpBN9rj3M%MO_*uxPFa*I5g8un~@u?mw8;y(`84 zq{vc8jfgg1&u+hw9dYkd=VRjDtkDK#W{H-MB@5CY6t;=uBO)rQ5yok+?t_PA)rs`I zA&Vy*?-jp9jrK8f=}r=<)Z-xw={4?TTS#Z)G7CbdaebN*O|WuuDt_-X;x8}fcd-^f z|2poivsH8LVP3D|NSuskQ%NA3G(a}6u);27xz0CI>|F9>t0o&+HBm8ySb0^PBv4IS zh~CZ$`F1?#AkN{RVCkdAT{JV_s%zMXA|J6vUB$v|Ro^x#n_1XysRmH*sPIM(%rlx(QJv*9r+~MN%}^^qLGDXi zCj6g>=W}jwx5&zvCgcQ^ad8)bc)=cr8tk#ZLD_fZhN*@;M*jh>VH;+Cn30reGT}}7 zp=FL4Bi(xNw^?o;Medv%<#*6fx{2$iZJ=tx3{@kQJsNhJ(Y8YtBRrq*k4riM(S%ss z{o|E9p*qJ|o#V1PbIGAR;n3~`1Ux939D)?1yDNi9Vqgm2qVf4UZB^k|@JAGOYJA&LfHb#B_XCd>ewq!amPTLK&Jeffm!?l;Nac7yS znm(^GM_B`p>V4^US_LO1;2AbUtpMB}dUBdlGB?K-DBrIgJf@>NNnHv;GKVF~UZ}2Q z0eLN^NGa*;`xcby^raTL)GgYE!5Ln1l+!S->@ULEq2$}DSD#4_=&z~9pL>n zya^b0kC2mQDKA64%*ntdVtd0|Q0TzywPsL~gaJLfLSx@wztQ}1vaLCWj^_yU>aa)2)t zB$Agg8wl&tCsg!u>*dRRQO2f5=1v;ig9l#V7miniD?mF^!ByG*r4nElbp~)3-wVK5 za$s7zwc+Vw25ig;?gGGZSJ(x@g|Z-5dNJ#L9SL^P*T5`}vb)1=0yp-O(cEb4S7nZZ zp#T<3AQ{0aWXUsC}!|2463z%W?v~r- zAE+bOU|T-V%RIvMUggyurvk^ls=)T^6@=zv7gK#1_vm*q3EUnag6~nOdsq};K69^u zV?I0*`pKvM=v|l4&#KN}m4tp#5Bmir^s6fKew5HX-=Se|C!zN!(>s&UdsXxUC7~Zv zi{G(?ep031nS_2;ML)m8Be3xC{O-2 z&cJushJIFc{>mh@9`=h$Xq931ffUr^BxvV?v`FYrrA=r>fudnuuR zx~ji~=6XOv?<=8S{`>F0>k|5P)%mNE(7S%f!+t>teVfX>A0_mIYS`OJ=qHrvok{4Y zRrCWTp`TZa-?4;#S*72ZgnnH`Kgbe#*DJihFD0RGQw{H-gzkBHbw3GxHP-_Y`b`r0 zlYjZ{OK8>kE0fSS@vvW1LaWUCQbMa?Z!4jd=^aXF75!jIXtnsAOK6pThZ0&vKhP5T zW?tZzlhCT+y_C?OII+Kk=K9@|&_AdH_v*P%@+s)i$ieW`4XUGRY`~JH;l_m$uM%c_ z76-5#a~unu@e6;GPijc05zH{$hvn8dZquLfUk#w~8j#`{llgK;P(pAWL>DRn?TEo^ z-23CdCsYu$kq4%azs9K;4-a(1Jg}6q4X)u)2yx~Ge%)BC2tazvi^j(iX*2}N4RpIy zW=mn+7*4b={4iv}b)LnKy51O&uQh%g){}1t*TAMCG8Om|OUWqKt4C32UP06eBP=|5-pSa{V?*+80XZ)Je1>;u;4jVScQqtkU1g?W3Rqi8j8-nFX`55y6 zumD~GLOtIt=z{1)Xlc;VCD^?ddHleOf6qu<43|(>y7woXE)gLksYrwBm ziH~t{cDc-b1f8@D#0tRZ5LZw>G5f%1k<4j<8UO< z7!EU%q7E~GLf3$f3Cc+5ZVk<9(9nU~Y&`I;sFW)7ULbyVC?4Ip8mxia2s4z346Sin zRa+YjGCe!NJrlTTYjPnZ@fXGq|IfUC^X)w7A~<6%+739T%I#2$D=T_2R}lGb;agt9 z=_O*{6lL(mo*cf)T}q#dGJl@<@bsU-LT(QQ24O54gCS6mHT}Xpjr^VBIV2Zc zCjk24y)x31H2`dQ$Q7ZZm$N{vR~i;(mxc|&pZ4fT*8{qNQS8S*0QMC?lVV|8s{q?5 z;vOg!A-g|3NRSu*@`vxb1^%k){8d@tJIqcZPD3w*B{_I4KdW6Jc-Ebu2) z^aEvqKdTnMV+;I6m40Uy_^T@VLAJnq{s%AcOIhH1RKt5{fxrG-cRvgK4X*dTOIW?{ z*5y7E?i}jb2cO*^x$Kid2^!A2J@_4|1|yiY^9U0>lJx`8tl~jKO8D?dkqt(`t3BD^ zn*s@8ep6peJ#PvmL*;Bn7TPf^{mT9HkSCG@Bxg zCNnD2dd&ULuO_KCaFCuQLFXDn<( zx<_t#Kf*#@;cgKY8abr;woTYm@hB_qQ2_!&Y>;C~sAMp7ZzeEQFP{j1AzSe5g`AM9 zV(grm-=oRW8d39~M9N7Ov7V{=RFaItcE7QnX%BhegA{@D%={KrvX%?>-K}%$FlFmu zGz6|KMnm#;B=?J`76M2Oz!mJ!Q(tVL)CP!F;4LKSTz9TM-UGn6Mfzxis3<;f zqaY_nk=x{oFxcvOu-5k4rbV=Y1^z6#^IXXfsI4k@0hu5x+~&3kzBp0jXC1ev-A%uh%6P!pTFC*zP<0@3rPPbDfzYw}hozWueO}B_G zGIC-&hH`j9Ze;=qWFQhqdzT(vcv^Bj<4Wc23tprfn3`7`+!`=9X6ZGCJC0>!2AG*5 zGE_lO-3l?9MI^EtOwzA2B3O1}UK@%%()zlRvzCIuy5Ews_EF=kB|?<_W;B$iYhErA za@(~o3fn$W002B-POiRo(kK;-wwj9G62_nXHnW0g3UYM6&~J$wrba%)n`6`6Au}8r z_VfjG_lU+33Y}zilyhW;d3~JdmH&R60+IVv9@_uM0^ zk>mM<;LSKrAOi0sI*|6n)VskYzp36GKqJ!EtMHauP$@S!Yl3?kmHT<6F)J`c?0`lfSx12 z$;6&^9T4*396y-T3fAy{|6vYk9wv$Q#+2}Dw5Xl0R^iVG&7YCpR*gun&H~11GYsJ% ze)vpId0N@2I)QtL;fcyOiF1?8aEB8t!h9grnqq#V5vlgIpM=cVrcm#c60w6U76kr` zX$a{ycUUJ8g9!VeU_qs1dalDw&l++h51B#5#DAMf*_rN0Uva=iF23R0IWLxHrO*5b z+>(3_golftzKi))`bHI^I?N)-#V`ML9$6hAt1XDL_c(MW9XvO69WE^;^Q1-HJSNOJ zH)jj(hHCBBeo!A;aah=~y-OcJjNG(GEnk)%l`KzRd6m;+5ZAaPypsVTy{De7G}R&( zCm4%c8SnXaPPIjdZ4US+NM&30|7Y)Q0IaCayYV}7@7`V6UAPL$!lFJ0R=9jG2(!zA zx|fdy1OyZX1rZPx2Nf=Y0wSzRB1uSM6b(s8L?w|Vn2>}tzO8L-LK@pYX-I2Ro0^ui zH1Tb1OY+*pG$#4~erM*+URGAvy|CT8c@#Kv&OB%4oSC`L?>wJpH!q5q?LBr}yDQ9f zn9Oy->s)}xumJgJGy5+#Ff;{z&$B~GZZ+HpmZw9@Mo?a|V zv44bpt$g~6Qy&eUJ|6Qes52pL<|WQ$If8Ab2zHKm33+KV`^m$T0S{jZo_(9FNd0yM zhmJG12MZVb;BUu+N9%zKFmrt82P?qMlT}TllYCb;@~;3qFz3BIx7W@Yd&yOCHI~F`EZl95Sn#uQXIF>?SPQ;8L=sSG zqavXWrV`y^0CvhI1|+4dAqGHo00T)mkH-S+#m1nh_CQjN+(!3LL^(1R16B+)hFF0(N*RbiJM4Ti z2z5#T+(`s`OUPwS278MJF=^ZX_E(5T7bZp@62^1cv8M5?Y(OQTLxxQ=!4^VDT9W08 zzOrXUWjVO}m!TIO1t%mo7*6HIq3e+)H14trhhH-(fWccDPa5&W*1Pi8!ewTP>H zm7}SHJW-GH^})Ur+@Ef|a2KJ!`UT!FQ(!c(sDiHAMPOw^>R-MdzRf5q+%EK|nX51~ z#96lN5{=F6?K7Jk3=R0fp_OOq`!-x13|7 zCP74Ip4fBqsEJMjNtlHQcU})%!6VK=N}z^**r^7p zKr-M08cfp8`u*IV4Xo@qZv>VHi~%#l7IoH$61-MmNwBY74YlaO^+Qa->chdvxzR-e ztJhFyz}gmQ-A6yD3g9~t1yN#K*tti30?!xUaXvd3z^rMbtLjW^7F36Yzxa-AR z92cYn$P+*x1c?UY0y;d(I8l6HKpPt;nuW07Ho}4hzywO$h|wghRN>~P%JP-v=lGbi zeEx{LIm`d$XSx>4=XjLmTc?dqWce?ZJCEB{ev*1myNq8=Ee=vFVnNQ8V;ODaYf(Vo zvmOOfn{7lYqPp-Lxz{b!tgUu+}f5B4`Ph>H}~b>_CJyJ`yaX zj{Z-$QE1Rp&{Kk*yl-D)u=XD)Q1dsLK`j%ILC`Qj3ZMa?CX0Qhe;qS}1$#_4nIVAR zAvoK^q;W4O_vcaNI26a!7|Adwj2szm?>hoF8xh=hBo0UNzNJ_((1T`FW?LWuP^k}{ zKJPXb`-pM}Iv$UcF)}WTRsQ8Ne&r%*3cCKK?2@IL_|#`%IM535ea*(eb-<=B5p@?lPu0ciN7TH&N2r%)tj*v zTN+ID7VIpy6#4XmWf=Nhh82F9ENh6_6eG)Vyd1xgpb6{G5m@J!$qKts5p?=1G0ETu z0)G_T?{;X1ZqH&Fe@DxAoyKy$Ojgk;3l9e+pVOTUiEWYjECfQ=O$3O3VFfvEDC}b=FZP#*+8D7x%k2 zxF4CqdfpFf<~UaNWwL>8N{6W!Dhn+F&;>cNG4*}C+)d~ScNAV^GY&V0FBe0oLmHRg zU;{h8s|R5ocrc3=bNyWN8g-cD2r9R+Xy!j>Va}!2p05Z&=T=M z$N22I*vHa7hQ)nwJNyQ*k}tE`qWVldwL@iC*ym}7tbT~&#Y#T6fVXaV+^G&1vCr1- zSa-652xIw3u*8mW>0X9~JD&|cU(9ed^!^w-R_b=Wp5@B@aVu}+&cAEPo?EbkJ3}i} zcJhK!hezBXZy}zMrZ(V!q+FLaz zmqKd#z2V*`s=CM8`@cfHk7`a-bAsP*H`bhdvD}5HV^!d>{+Mgx@F0kpH?jspf`vBfM9d5FhG5p&f%;qXTXB1#)2)jwy5pxu`l9`3VhiJzN@JVQ6O}=hFyB z^=jUK0Ga|VHGS9NjKUqMpK+ub&O6-5y4GCEo&qwYW;RelUyATd_8f$!Fd`F8a7$;; zXB~K{TUTg!z6@s1As`##o3y04Rp(Il9EPT0KD5)id*=)~G$(`(&969kO*1oP@A5jw zLwvW}Ii58fnr8?!&$i9T$OW zkq;k~8)YH9%lXRqKdC!?m=zvPh9fKm@Q{LaungA0gxqc2 z{}`^mh8@?UDGWF#Y;a4qjEsTUQ+2+GY2-B6cmG<(1&pl z-Cz++z#_<4AUgT69VXTtw%;K-2FfAZPv|`!ga5b>;~@IMt1khgAdP|W;-P!}$?+&jZ0b%seQwksZ8PitDR=ie+sdf3j%QBvfU>$J&!LpiTe|`UytR+?XmMsmymUp70?~&i z+h$ICqX(Mc!5u2HQ;+?KvHB&9%zQH}kE2Yx$9q7(U4r1ux1f_jJ%QCYiWpSgB~odV zlaxq>-Gds<2r25>a$mPmdUBI=7oL(hxsM4GOQaX}3h$BG??5G9A}OCS|8VoZK(I+> zYX7fnqPYDo6y%TC94IG+ZZ-v>o6w#2gYLXP;`{q&O|>BTp;T8hc8BrH@!ZWW#`UpH z{i{7PyGx-a4|5q_Y7m<#7vpA+1UK7V1~=|NQ9n=&bmRj~jSP~SCOB?8P>6HuUZ zj&e%owFKfaOJu4KpKbJM!f}%iN9}2dx118tRlr%hq{UgggaP}<_$kdo^DG~(+Owhf zo?}0!Yv6|c%$vya<{*b4u00PVP-xGWYv7MP*ItjYau8Fl&Ad^94KGXNI&O`Qe1eS1 z$4GBLQ}j(G+O5r*Xk`g|-i)3>ge9A>;bkZqEeS=V zGKA%$=W>uO&)eu6J(>D%rEf#>k#GeYorj{)t$}ESB$07YeGb0`LCTf*8zq_T_Kk(v z0C$w)VIT>hV7qf9T!FTwM11UC&u6q6$E$6g6=+%Rw$BJ5__=4aCbJ_6RZB^rYPko& zm1}}$US-x{ruX6ulqgZM6^#BqG@YDm1&`->CR;&z7yEcNp`*?BmzQe=9Unx;2T#hi zf{rk1Y_UcSW|4skB}ElVNuCOY8C2k{j{Z=Yl!Pi1YD9PfdXx8CWd|%AP_zU&Tkxzv z4bw%5HC?1Kcv47f1ieZLlq*R2U^m{v_kq-+`^%_NDamP6@QZ~?r6i|Pf&K(q6@*+e z7(RUB(65w0!-A-IK3u3(Nv>`us4YLA-DQ*#|Qz<=XnbsjXaz35xZTB}F>5=+4vZa7~r#|*08Z{ZEQ!0Ht z_YGV+jelX_>@63jzWXTBw%}}jj7|*oexUBx5c`nLR^z62VhsH=;GxxM4+8KpvakKj z?zcV_vG}-VBeHaXn_nCx-kOQTvJ4j`k{ zLWWEOVl<`x5y2YM@#tnSNIz?4+I!8+-RpSnom`DDAAT~kKsp;&m<=4UPwE&gr?UVd z{A8}d*}1@rxmln`smx<`F#f6-$X_b+Sw&W6n+54wG}=9rvxJZ!2FZaDwN$RRkJ<$x zzxmg5BY0eB%*!Ij^H&1R@H@w=;sJp2mHjsPyS|FQ_*XwMHjg__4kKu z=Nhw&&q@F-rLx?HewWHJyG%kevZJoRqhDb^gIhsyYcw{yc3O$1m0)NNK=C#lGm)3v zjyDm01_KZUgv(R`VM-bG17%++v%KtgGFV*QiAtd0r*_|d28iwl)~rOZ4>n|;b#i!5 zsbs^C5Z~lF^j*iQeV#}&eJ`G;O){G`8|*vWfI%mKIgZ5~My-**Y_xiPfXrs>&HM-d z=!Co`(ASsd^z{#?8r~yUfcIW&H!Hd#vA7Tp16p#eOJ1nQg0YL`WAhcwT*(5KeP{sR% z7W|>|9?4xW5I{+3OSru~0W;}GZOShgI{`hriKtS_q+?+JrC|Sc@nyUwf8PL_P=OyP z?^7S%1&(EhF#{z>F`J)lj272YSXPk{0neGnP#_G-*)+b!05ouQM!5?mGEUiOpVAx_ zecYiL^urbImTi3kmlg2ze3zBU%$}K$t;ke}!)-X+R)_PAt^bEKFzMaCEkFNMJTvZO z*Op0G`M2_H`P2V|or8Ifd*buRWj}9ygO)n;qLY3+7WoM|zaiGd8a-g*01I%6TudjA z=>x;u=W?O+ZG!VlxX8zixWcc_VtwCF`pbZ7b1~XN1TZ3(iZo#b?*xIESuEfO*`GhH z&GiPZI8pkdLt;Hl1Ue9xnEQ1GD%wsT9A~X6JcG004)|ik^%`{FBGx6a-R_VEDsvmEjgsao+ut(KC-o-YDDruS+$2E?znV~9 z+QC`gfLSg?_~$}9%SE^&fPnD^H{$R{&hk7vOMo;OQ38ypF20}BO*%ae|&$J5Z)=ZV=2A%YmEFhLk7=!>KOD-4Ir4r;3z0!6&o?G)u55 z2x)Ex4HCy#nv!xFXqJK?Kp@C7_N6VybXLeRS&oEa-+s=`yyzftOd?7&#!k1Re!CAO zxdSkAo2<$`8<0X`3BCZ%q>2mj1ehWGoH$_~9OR0fCjtCelPADU>mUz>2RO?gOWH+_ zGaqdbd=7_WUyZT*042W4;0GlE7k=K{mE#w37a#^)uf+rnz_KrCEoKFIh$(06tguK} zhwHENAr{?h*0a+F)HlHHEce0eydGc_e%2sG4ziY6rD>r}fTh>Pk8#{Qcr7=pHyi^f zU=qi=_)(ta0nP@qI?lk=1Or!J4`;>T)lJB1)-tPu4kZyhpx5l~3kirM_)K`IkK$kl z4)AHXL=7D5a4DHE^&^en%=m~O1=z*|IDP=19=`AAUx@SW_5fmmn`Z?l9DKAQzGYj_ zt;sEr36PEKYy!eNX9Ng;Sj2#^V=sRHIY9XFFS-&SJagn60K#w15D=bxHz2&Z3y-P^ z3#ros!f*gW_!FBD0K!gZLY#mQ!9)lM593EL9Drbdas&!wSjI1I!YKj4zN{P|@MWC? zKzNI@yaBU3LqH&+StPT7KuEKIU;&Q676Jls!vcau3gQL_>M1T5ko#R}`a0l~hcwV2ge0|blH#Agc#Jje%x2m~!45Cl&R2zFLEK*-H% zI37XB>;VWCF(1Qov4BA6Bp?hYAOHsfK!99AAedkQ;X@#4A0V7t9nm}gw;&zSp?`cY z9nlkj!!ytk{RU%rw~pxV-zr>3^mPocZ519P#sY>(-A#V!JRltPZ`$)gobhnN>C^DWhmN8p!`f`1U7`+?i&J|Lh2&~ zdgf_8kA=Wqkf84LEdu;`p8K{v`xYXf+(s#f(6;Z{zoFrvBK4J@V;?T|d7HW36EqON z!%irVQJ2>f$31;$j*#;`_545E>-2#k7(G(hJFg0+goIq+GxfV5S}OGqe`ZMrKv4ve zD(sP04?R&rF2eR5(wDiupe^c?`pqM8=&oBrrA#&G27oRIlY+9S8p*sq{g-hp8xR{6 zGhBe>$3~^0HEJCi<;EDQFc5Yds{XLwK$?*X32wj&1AI_lUgbuC~=eC`g?lr zar;P?AUS*jwgM!Fr>!8t+`ezvGuWLDRTu}B$+*-{j>Vxv8e_{kc!1WeHud7cOi%|C z0dz<+%|tL_YbD5-l54EF<7C=c`r@Q*zW{EEWx|D3)&&<>H)Q)li3^Ua;yQ` z24CHn`t}#&)D7PZqQD9b6Ldmup`|TzJO&d%%WfVxTtUMR2adHOlr_j>?wFM{65fWB zfeFCe!Ta#RM0Vvnpij9~R;E4zvt={$z9%B%GW)jd-~prZ-Lf|IW4Q6B;TC`dzQOmk zPO?y+tP8aKP1wH!$-3}f@5kSbupw{ELfe6@Ei;k1i;26ohKakHo!~>EZ$9->6#t+f3?1`@zWUJBV}O*G@)Z6& zVI>1v;-8^UzSua&P^fyA)C^yQ)dW`!7xUrn9awT_-r~1nm(^H*f5=Jw>_zJ>0Zmva zruvjXKWr5@;Cm19?QxbM_^5+l!bfddF?=>h9rGM-M(2ZOH}mTqxb9;Pwx&c5UaV-~ z3VQNB9hnzD01CXG;~W9(%Fy~?oez~iwEf88{^2*UAp`Gp#BLUufUTK9QApj#0|rc$ z2j4ubd;=J3^(wFPNg5+ye?Z7pm`v|6mp14`&IY~5p=Ri4-#|>+K!VnH&PFfLT)=(dZoVe<2d7H zZFvDO;eyoX@QL&WMQIVoKkUH=SMsQw?6BpY^+Sce`2Ex2BF!k5N!6pXrCvD9MzCq|L18E1N^AL0% z5(LYl1=ay>T=Q86enOum#~^Uj8!|fUFR~1<0XEYTP74&kWk=#PeE4B2fSF)~j7~j_ z!7@R6ZRj(B4MAWj7!xr3COG!Tf;~v_{IN5W)MdfenXx9DTuQmHQeFn@n+aLJVs9o)ov(sTH z_18z^VCiA9_NIclSH^3ih?q#IH&{dPNYUm1jiq z@t#-X(J)KYIsXH==V2#L`^*3=WOF=mODU}8vp;t|Uk4l?;7JD-wqgSEHN zS@W&^vheobm2EKqqJuAEziT908~`h9=HOvez?W^Fbh`Z5bqj9>#+_&}!WuAN`1kza zhjD&8V9G!Ru;ly*Sh@!7vE#)0G10R7hV>c3%HwHkSN@`P6|#}p{E^^B2S|;*r2sU% zDpnl{*^6rd^PX`GaIP0{j-M^O=HNu+=FrGD`yAP4x&Fs0oNdA0O?%ydr-yqt;X8t# zP})8Eo5^qlV$R<4u+b7K+>QgR9ec5Gg->M@_<2BAfl8%R26R0^05{J*D8RRAoy8(P zpkt?C<0f410uX?Ab9S) zV29sdU%(2C{+64II}>aDq*Pgl8Tx_3E=)gAY}(Nf`y*Zrr(WWFC!e>QU1Nu*hS;}o zY9#(Om*AA$w=ZkpITU;iF=NC86B>wdz=|A9yatyWNTf>Aj$BLkQhWUwxW;8Tgg4Pt zG7_fv9USx@f=XJ_L4WQBH3T#$hFZISl6xQwa!39AQi}jYSUnc)PM(#`!oVHk}}cmO=ipb@PZuAB&-3#@k|1mSn?~;4!6@I92PcT zILgwxp$2vQ{6U7F_*E>o6K#@mRj|JX_5-Z9!yX3|P;naO&7P z1hT=K+#fL60y{TiY4sNyah;n4!DGN2g7gwlEV20-m_V3YS10YhQL@Y|m!&XGUk^-K zoO&z8yDS6LtO(>GR>yH$5V|>V%a2>_4jTj*Y^Xw~61zFbJQ#fKb|5g$+ucF-uml=` z+1fgoDX4ciun41sX?hjf?+Ctl_!tFWJf*5Td43fvyGgmzF8#6VlwC&J`XV%=x&*Ik zH4ax}KbPEJ-M~WT~>X7ji{_V)c_wZ&ok9D>!!8*}x zADx|&vfl2~g8FV6l;KHBe;oTI?6qWj9T=G50EN{#rion+G0YE6F&j}qbThi4!VOC{ z22XD@pB^MeTyPP0z2fk;;4}oMjVQ3^Hfm{iBOG#3YyqSu?q0 z00}jPLPGQX3JG{S3JD4cDkZ3tP=r!KYe+~H3JD)kNZ?9VAweNQAweOb8$d#zLLuQ{ zg#?8JRUD};L2U_CfGQ+7sm~}RC?qH(C?qH(bQ4G@*u4ChLV`jT#qVM`~U^ ziylXRP?sac z1jU4Ni3tU3j^0-LvO9N18kf4yDkf4yDkkCyaq2R=KA5utANa#dJQ2Vml64aJ(Hf;&5rG#T{p<=?v6cZE^ z6cbcTP%)uM#e~+zgqI7(guRLhiV2DdiV2DdMT!Zn<%Ggh-~C3NjuaCV6BH8^6S@f| z9E}yKJNlx^35p4whzS~-p!Ni{C!9-rLc!@!KdF$Qkf4yDVuFeZ-9$_%*z0JQLV`kq zLV`kqLP9rzgxW$CM+X%W6cRcS64Vh@6-TN#I-824)=o!zzWW%F`*MNL7k3Ncci+bbE!KjIQ!jE zg#?9!PJ{$CCnzK+B%Dh~*j=!g@OO#{iV2;F2`VNiCMYJHO-yJV!(8z8YF|=of#|s4^;|C}`Y)T2OHAjyn3KbKcS4>b$=tN9V&5>e)V#3+PgtIOtd|V+xAweNQHAkvB z>L!|_f+LtesF0wLppc-Dppei_AfaG4)L&_2fPRs`F+njwF`-B?p|#Ud;o)j8C?+T-bRs4cyVH?lF3dRQ zBDqj5%9_4zWA1mlT_T}%Yn4p-Tn4n^UiU~z3CbZTZohTR+zO9&`n4p-Tn4p+Y zq?piJPAEKF?OD|wDJFCxCKP*ULQF#wWMtZX^*58vD0sw=@Z3o#MtN>yg;P$hI>U@c z!)VVv%-_*_&CMH4EvmI3w^WnNn6P=Qj4_wXSTjy8mvK#IJY4HNxY*a>Z@r9{ z`mC8Cp47>NYSX|t5NSXR2=3EpCgOqLkY9=RD?IlI z$*=U>qbyNx4(r=drcpCjvE1&MMx4J2*Fn*UtJ`6ZGnw!%lO%Q zb5Y*wx!YNyz9TI6@Mfs*4D0*sP4_uwJ=)iM?rvM(?U)VX$Og|%pn1OM?zPQ(9djR= z@AKRkzR3IKehl-2Q_MzGHp!;6yBn3w=&;dqN1)j3xwRFp9qS_VKrp;5Xn(*{NKi3B z#RUE$x&b6q6l!7KuaH2ltdJmEJQo0wb~l;_S!^*|@mwARL=vsGdhRZks1sdKtu43U zGQw;lb*;f_D<;hjQ7b0fh*Eo9^AMlyLym7AcI08FCf2K5r3AGw<9ksl0Y8jcp8KjJ zPTGx`*;ruCk=Zh5y}1TwuJPR09JxkjrT%G)nTv+Gp8L9!Ntk&uPv)|5J{qw$JmzFt zTN4WQL;bZzt0^R?l%P_AN(tRWN+@^>=08{avO}wc@DoY^c9e&5>e)VuFeZDkc=En9v#%PPm2236H3ppqS8!n4kt` zl@nA>IG1ul!Fw=&S|LFpp%WoNRYwX53JGTu63%|K+T)4|iV2;F38xhk_WW6sDMN6@ zd2(Lb-HS>Oc-)nFZUu@So}0p{aw$){q^m%sQYr(wo*=03+&(CJdTtd?^^#rz9Xp*b z=Ld8bfFR|$15jMxxdP|D-Z<>-xivUs?>?TJMgf=F{rogs&pp60?zsmYT@ zvSM1L69z$zGqH2k(iOXuzzIc=zzMZeN?`v;N?`vploHr4k`mZYrGzdaCA5ZwRGxkLosLKeUs6cu zPLS|AeyWj_a152AlM={zBE=Cok3z!9Qi4Ll?^Bwi(@P2Or8w#kB)p)IppejsQo?EN z%lm$u2MPO8X#)~S7fA`EYePyPT_h!tuGpmnPAHNRIH7h*3G5$93G9D{QUd!$QUd#_ zl+X!MLi=-C9L#q^{m?B`lDE^C@J}7Ygtyd~&=phP9l&oj5)%%hQgmVhSx+P;ko71g zoGd0NCj35$38%+|)?&iAJk3#uAmN$K$enZ(a%$e>o5h)9F|!2L)+N5VS#CBWk^|D+RrxX&pWHwZVgw`%c6aH2)K{25dG2yfk%w#=kVSbNrHI)-o zPRN%NT3eW_3NyYN?j};OW5)={?5)=}O z6cSoX31x*!2|rLsP)JZnP)JZnC{jphEhXe{!Q3G!;bnycg#?8Jg#?9!ZUPAfD~|q1 zAweOb6CpuE6ErjdI{QgxOy;5H=H`uNtc)?2%UCl`E|+mlW<1gtdk6%r!{2%tFZEe7 zK|HCG3Du^-=Im~$RP*wCnU`NJ*yZSZiV2DdornqQa-^7`m~bvP(iu>wG2ven5)={? z5>#`fnxi7s9JRJD*Axl~do|CILV`kqLV`kqLPD^$+F_Lv6cRcS64aQWiX&AVolV72 zYnP+uc%fp#-zz34CUhbus4+n?K{4T6VnV_3%m1v9ppc-DpqeAq9CZ`T(WFA9gdZs+ zC?qH(C?qH(bQ4G@SW5V&LV`jIC{I_?KZ!mn4p-Tn4n^UiV59B zOu+t_3$P#N0=Z7+r#h6>;{Q`jP)z7VOi%-}$_XkboJ~2Qb!b9Gp^)&03JD4cod^l4 zI#NhbNI092(Ap36?SlPK|5`CYF`*MNLB#~c1jU52i3zR6gn~0<|CK_5LV`kqS`*Zo z&`qof1v?%6P9Z@dK_NjQK_Q`=KtjRBgnv*-P)JZnP)JZnP)G>!9DPe6K_Q_NAwliS zYD-XC!r8PXw6-t5Sa4{-hLV`kqLV}73DkgLjF`?ism|syyP)JZnP)JZn=q8X*up8=+6%rH@6cQ8? z6cV}#BowST`b&ibg#?8Jg#?9!ZUPAd3biHtAB6;kgsub$FF!lmlx1S(JUK7z9!8}H zQahG;ZUu@So}0p{aw$){q^m%sQYr(wo*=03+&(CJdTtd?^^#rz9Xp*b=Ld8bfFR|$ z15jMxxspkk-Z<>-xivUs?>?TJM&WqwetsIR=N@1g_uPXHE_7kWF&D{&a#7awbsKa4 zOW(?vxDxkGl~jp4)AU1^D$hOSfV{u-lm1y#ji%~`Le0yZ_&|(fkPHeYRD;V7^xP3B zYCN~LB3>TcdIs)%84fS=+^H2#Il2s%!NCI=f=XJ_LI0tk83GylPx$&AMxJPf=Jf9qwu)Mw2E@uW^BRGS7nqy{`_+^5k@ z#04jM?kl_x%KGqv9M2@r9T$#glDQ%vzY^_Nc^JH!cjq}ks-*b<#@md^T>$%5yd|f7AN_hMh zP9|ZlXAv_ufba&-eS=fJ-gDn{GH=GrLR1#|W|1s1L1e-^9fX88QoPGDvqDx(t8^;d z@QK~Z)_SuNx4G4GXQNo@x%1dK+uX)tp1B>3w|VYv7v=4qyN4y}J2+0%ciLC8!!dV| ze5Yepq5Y2Fi(i%d;?wR*b0^QQGCoe<>A5G^-S^zLSfaits4l^)T8+cip1UCYMpl}; zf}VGy{Vvaan?3IK+;>=_{#aPwg))trxrgO0$E?Bmdx9&k@!TbN`D@X#7FV{DUtqF$ z=h@($FEZ=cYl*oRBmZ(|wLvkM{L=O18e+F&o5@ z4W64oGrokqwt25(?nCo^p3C3u{c?ZWeeJWe%|=u<$)>dXIx3sdVPo+0HuLEPFKUr_ zAQ;{joPNOTN|12ii8(Eha1fO?Ac1rdB#^ERNFZGV38X7_NZ^DbNZ^Fp2?^{UK?3`q zAtbP01PSb?kkAQ`@cgMD0gY`#LVlK`-5r614{pkonVY~^Zt~6I4DxL+0h3tbo15ik zvy>o$i^?s&StiTOa#<=j$n~;Z7N`DQA)zZm!dp+yX@P{dQ7Jk|cy-_07D#vvl{O%O zbP*(wt_?^aT?7fFD|SfWgd#}bgxU!S>>oh_`=22suwMiT?5B{>36OB$RFHtiwjm)u zrNy3(K*Gm62nqk8kkAz&VfXWMTOeT%DqRf{P8+{W&J!t)$a&5+BseXKBc~V?M+ynQ zPl}_HAi)V0NAC#=ZwDdFvZ&4Yw@P-z1aNEbl@>Dqt<(nXL!x?+a}PAGx|PNToC0{cafz4kAcajnm5?Ti)kOL|tC?uHT3`}T0 zB-G}`s&xnwKCO_TkkFNE2}d5E-{Nv~6qPmEM-)fTbr2H%OBF|5 zQE_zW6Z2cVP+vr)=oCi>{xA;`4x-WqB##wgiQQVlpqc z9}@DVgbqQ%*Ax=ElPy6Zp|yFL98e)aA)!dk%l`|I@J9*>3JG1wyi67zWwfAvLKR0+ z=>{y_h)KJAK&m+UeMyDden_a#^Em2|l<phQhmMGh6#isH7|Geh6(M5gg%8z3ExpjP)JZnP)JZn;1(jyU2PAY(?i00 zCA8>};^^B72?_}c2?_}c2}KGCtwYrcRvf*ekf4yDkf4yDkf4wd?6mnO3JD4c3JD4c z3JD4c0VKSvkf4yDkf4yDkWi$M(At)ep9!@?wuEmeBq$^(Bq$^(BorwmoON5mHx&{T z5)={?5)=};2_)oaLhX>0a9ANhAweNQAweObn?ORraS4B>kf4yDkf4yDkkCyapbR5)={?5)={?61oW_6f7mYppc-Dppc-Dppei_Afc+z z97q30AweNQAweNQA)%W$%6BjAO3LxP?jy zUsp&_NKi;nNKi;9Qb=eWs#fsc%U@DRP)JZnP)JZn=q8X*u*cC?6%rH@6cQ8?6cV}# zBor(qyrhtzkf4yDkf4yDkPu`-J*1GJkf4yDkf4yzO(3CQ#nC~91cijI1PO;;y55v! zV&*(KFYUgFN)Px`lzDCiiXNVu!l`m8PrIb6K&4VD1G=6dsPNoAD0+Hs6;Ab%UI86D zoiFDHbQgdi<+%e;T;REqNtoU^?CrTVIArfWo|{JDcWz^gAOiqA^bWn zk_+Xctm*4E=Khzyl`(N8?wcy95_hKQhb~o~dx&lz{iUDu&zfp9RX4=`h*!g@mw0Lb zP7TPKi_vs(L+o2PH4^`tOK|E^xkN6_8WE{Q6TQB3KK5Hh3Cv`HR+BEQCO9LJ>?$c-{;(`-B_Z8j;Wqo)-j%SkRjtj># z$y^bTUy1fBJogC6uk_rbEKzR`>)TNlmZ(|wLvkM{MRyW7@xJ7$A8vcYo`XrAx6du{Vx$J~eJ`#d*>AJYADf7*QsKh=$> zY?4iB_hnQzqr=94Uu-77aP3$ZnFoU5ZNcdWJcR^>1ce0tB8qVD<<=fY`BFlMAmNxo z0=cq6f^6|z07Tl|XdYy-#caiMc@PjuwA$*qyI7*m)hMd9s9`-3TNB4K{1oy=@Lmu$!e37WDP;BR7!(ItV#(g zC8(4j*T}5YPq&!4_zlhV+}9mQvGZh}%w^+zG-7RdjEyaE2?@j{6buQ+6%rH@R7y}O zL8Szh5(351>k0`92?_}c2?`0_1QPQ1OX!f|=qCyZ3JD4c3JD4c-2@Wya~yRD5`L1 zIEG3aaS5c0;u1*LMqC2vqPPUo6?O33Z)U+`XqM-` z>WIULf!XLcM`p{M_2wF!xyEx}bF9bF-<`_i2#sxf9K9CH3rzTYM*l3& z$v2BL$6{s)hP1>tH_OdtDMJ}>QMtu8%Ve2ZE=%PGxn7pb;?&PmMAc4g67 zb zK`}ug0l?n%V$~E9T8A%_gQ}R27rx8~qGCd^gfF)r64Hf2!p{^ER7&VX&CzLN)l^D2 zO-2iq5>!ga*BrIZXpz5%PKOjnzg9?4Na#dJP-8-&Nsbf}6cX|wp>_E3iGqy@zfnw3 zOz1>RP%%L<0Y*SgdhMEbJa8H(unbIZQQ1eq-bVy40okD^_LMK9k8WU7;q>7`i9hvZR z#RSEKPQ(N?CMYH-CY(!5$PZxdkeKjWg#?8Jg#^_cspg0wtX*ywo%Tm23@Fr?@Qy-) zLV`kqLV`j6%rH@ z6cQ8?6cV}#Boyp&^h<>Vg#?8Jg#?8Jg@iy#_&0?Fg@mpI2}k~7b<6h4M^R~G`(@Hq zU~}zCsZ6`1>xmrn6`tFAuT9cLdu@{L0??&AcL0hDJXbOa(;J7qJ+}sj?A^z6(q5W^v&CBy)QOfcO~wdDyb58rs;<+Ri1mu0eOGv zC;hXg8co#=g?b!uLIW|5K{60S$_w=v7YEIMoc}++yxV!lbGa3z} zJ@+sl8p_5nduT1HwIH|G*Buk^G|ptlgn!y%=7Myt=f3XX`mnF(_}i@v_SpteBzPVX$HcQz97nNIlvrLwm<+4<6kn3f+EKa?Z;$4=R6|!Pl zrBmVB7d_70%GP?b5}j`K+}S8rdhR?n&NjEPm}hQB<87Y1+eLZ1=k8&N`VNj0^_?iw zsF^!h?sUv5wBHeY@vCxQeA-=U?&SGZ#>eS9J@*8=`=0w2OVk$y)g}0#SL1NC=Pn4p z*_Gz5py%CazsqyqW{7%Cp5V%BJah3JKi_65c$# zrUepCprVif=B1F3CnYE(B;`uaJ<6Z`6&^C(p+tSVT>*Bvym$W#knp5Jfq@X5!SgtTqWr)WjqqG0&|)0i{h!5^1->l(0ydBpOQ~<)BDaYD^hwWz=fe#&l2{!ED12 zv!+*|4w7EepbN4cQklmGn)4+E3FCaInJ$ptb4(v}xKR4Yg;}VPE(%FUn7)}G52Wr0 zile@P!f1}E2I&B)mH}CFv0MzHnpYiRF3J4&Ky#^FVni-A_(#kfEdL#7ga*o>tf`S2 zkaDP(NvT}6+6?CL5Ggfj8G@yKT87Rv!$3b=hRN`(8PTG}%0H43oP`Xg1_whMDP=Me zN*^ANmNHW-qstkuT%Q8QcmR-N@wW*z4v6G)%>kcB?y`ruLr`Iv9W3@{6Wfh>YHW}z&K zE(NvFY`He|wI9Zz+)2od(0f+I%QLpyP3X2bvx_5GA~(rmS(59YkgS z>$ydi%`wX{gcVTstjI#Gb8GaOugpC688 z&R1vl4}!YoE_1i6h92c^xo3`91Jbp!M%HFcR^e83Uts6OZj4nFA2G#_$sXXvgz64aSrGSC$pU&8?;c5JMx4hyTSqC8ukr83H~5Yf&~uX zOzb;;%E3fG?qqhc<8DWua^&NV?9R=kx%qI+e1hFR!EX3rrriPNlTN0>e2T4~!Wj2B zvd1x>X7$q`>XS*C&#>|toO{}lryaAG)x9`Z#r}QFGpMKCD)X!(pL7JZXPwl)KjN6@ z95U{Gq~3?lpLOK34w(0IPOtLQ1|sj+x2Z)3v=fy!bU>twbU>tQLkC2G~LAKX1_o4Yd&!su`|EAi>Rp1Q(Ey$O}aNYDXa9=?+4|+X@L?5fYB$ry5y`-$13S zLBjXTfn?jtr~`^;4)%ufCoYNAQ1z5Rj3}Y!R%Gx%*H8U0suE83NEg)iWM*sQTblUFd{L*efiop?fe-yq zZ}=bek@Lk({qk4#GB|l*CP{ZA(^oEndZ@2dHJN^p75f9n1NBh9Kt0qSdZLS~%_VZl zGzgCI+>I{9wJ-JDUA;3WDvY2azA<9VK_-3k1mZ{JR@unQyw9Lz8Q0$aQlMjs!`pm%b4Bx7BX3DgHt`F2XC33ZIX2~q5 zb4p}3UN}FZIXIr8y~@Ttv#4yO#BI8ffe69;Sc8)cE)=)()=rlIi|1?N|Kn8l!8>_bDWOZv9zK=3 zaD0~!4bR=s@Z4jc${Jaddn#))Z}fnkr$n+o*1l_GovaO>aut+4C33HiCGC2%0VBOn zHpqQG)~h8$ac^n~?}w6*v#2r~alFwtoA_ilquXX54lEC_X^U*(sG&jJ1YKe9gdPO- zgFbXYpxy@RZ9bGif7m(l#fyyLM;rwf*nrg?Vi*Ql|VD(LqWu!B9uZU&x ze|I>+Qz(U|2R>vhY1By2{b%DbVN`OQAtz+9T67%e9}-9l|WVG8)$?ccc3DI zUdTRgD2bpR3ctfAp$$IYK=)Gu1&|MY5YAB#^kjHT405-FXG+cnO^{Cw5QYpDP)SY& z1Vs)c5GaoLyP<+NL6uO>mv z^sG}8>s9`{a`y>mTbwLCkvZW~Z7(IO!LO5G>DCFe76n-PI23Tfgg6vW9sYC2lx7Y& z;Ni)Thl79jkkZt*Dl+>WsOOVX?t^VtKs^sKF8F);;MBcL3OqcO`g1&Qh(#bhKhuo= zHi8FR1w9yWZ|Tz%IC+BU^ab;&g0p8;7JB)Mz<&ExoBmdb*dIE?GE<#-nJW6E4DhL< zmuer{d0h5VG+pY0;R>6;aOr+GP%fdPCgwGix5f)d;w{w0Uv@H(+XkUF$Oj9qVVBF~ z5_YkSIOqa0YVeYH33YM2t~6BoaNP94q0yU5^PxVtbXta`{_T5qdLzKCG0QX-i z74m5K&T%b1$_JAkEhA*Oj77?VmT4zt z92^fRhT`0Dlxft=c$UXqaBq~grY<93;7O_Xp}3y_#sBv|VJT~%zz2bVogbkJKPi)Z zs_?4T*w$^ugMbl7WFXJol=-`cW6UdtCli7wq1S zV=6w$X&{~EQ+qE{bK@9brjwuw8vNHBF#Dv;40QH0pvn&(3fgC(eU=Z7pCreBCA`-W zmwo1-(X#%eT;sVfhvyF4alGu(YcuU0cA?z2lb@~uxMfguq_hT<#C=d%$I%)i}4>r-vn7DffowuuQ@j_PPKGl>6MkrE(lh0TqEMzz0Mm zC7T;ZB2bgW%)Oa+LY;>XRmTQ_eIOhM+V4Xb3m8ecKlCTXH@e4VpN%+2z(BDHE3a@I zyX-g~bGg=qOQ%aONEr`bP86Q!E<-Wdb6296;<@xYg(ohjGS73@qFCy=)W6&k_)EfN zbPHtycQJe;20JtQ9Fg_9IL)IR# z(@A~$n{hIsdUE_2IDQ@ULS@9A7;uMX3ET{DlLX-SL>&BKyERLYEdgx+OOFGE$ou)^ z4p{I>0)DXi#<%zbOb#Fu3+)u&co=Imuy>d!l7JnbVDyv)fZvw8Plf;xCq=6@JvcvD zzH3>2lDyn5;eBxaGA`XE8M1u4eD}fm%c1K5S*4Unr4P>E6KuaidRdl_H759ODrEU5 z*=3soyDV7#MPT`Tu?+8pEX(g_S$==A{AyetTzY^EkpAHOWcin%=@K8D z|57%A@$*3$V1gn4F0m{h{JX^R@0abn8Hn0IpPu~eQX?0$3)bIs*=HBB{1B5Z%da(q z(POZWg*o1A8pmlLoPUT6wLcR~ZyXQ+MXebgu>28Z?IS@r(g)`s1%^LNM&wxjXta;^ z!TC$*m>;lwyG+lq{INJQ)(@8JmgQp!Z&^NWam>Z~9VJ-)cyTyz50F%c9(6uAf4z8? z)q-LK5CBCQtN0_1nFxxBJ~%(kw-ds_p#2K8U*UuEm(b4!EZ^Sib<6UvLggwSoWDdG zEz7s(!18g~qb{HTC0PDsjspvQK+jZ=!U#J}V7bkWqlU|TLeF%v?`WA%+ig=g4zx!L z{Sx};gXP$qx6(j~++>U5ND7ww+jHRlxa?!(`Y6Huw}1?*n!2fss9r!<(eGCm0 zGjjYtUk3TOLjmAJ70%XecJ+@hBY*V|R$MBj_<{dsa*LY(RaDwg^OG)8^OLR(H9zSh zH9zTEtNF`X0>a854|Mr}FivP7o|X*=TEJL17FM8-W5b zVYO6!;>1b-6pB?=G=aM61iK>$>@Ak4Q@TQx!C*cP5hm6W3M(b_%0B^U! zV5oyH+Bz5;$R2Y731*iK3M2F9l_3Ez7>wazhzrYEeb>5;vNmV+g>=Jct92mBhE`u# zd$)7esAJ7*OKbH--CBK7?z1=D=Kv3_l{m8cuE#5a6*z(B`FU2~4QPfjIEHBgE&*{L zoMP@r1-?^hcQ+~&haf8P=|L)L2?n#`&=M;RL5!j71U!TMl6E&zj7hs&fM<|qLP_dD zsF*oq)OjgXYs>9>7y-NkbuF}RG1!zkoQs7``5F%(-TLGG~RSEBt2&pkqN$R9^pqHaG?)UgNyS+hfx zR2ns_g@S5|T1ki`_4ZpIXENbkCQAkisL2pRrpVML*cf7_3H)F>{?33%G9wF(QxoKl znbqd%7Bi7t9WaM8-;dxVFgTOwU<|haF!+js0ly0c0|kSkNEM-ApkR>i0Msf~L}6gC zL%~47KqZ5s$s43#pkQ#$z~GnnshUV7gU(VD?J0*ka9i)dX$UsblgtJ*5hv;8naFH| znHUa2p38!U2?qi=Y{qh4Lkz}~6if+@^q|!k{z9Q<4+dvw_R3*$e(Ue7xjYHyENgvD z!J)_r{6LdZ87SFUR-iX}Q8mZ1iW-6{S|8{n+6#9{;Y7-Z&*%BDHC%veK!@2ACh6~3 z9bn4jIjaWB0O=hl0{Z044+9XzcOkBFq0g9Mn5UD{m+9%CSE$02`bm}a%OYyHzl|B> zo%;mY<~;W$5)D9y0d~%1a8q*SVz?;<4n~(|-i{f;>A)|PXRK=|4bbjTsEJ`PO2TAR z7vG3q_@E5TIy5iT_~tVBh{9iKFfWkvM3OX{hRRSXn1{(=8OH0t(_kar*pe_J)x~G< z8pBZ;?$e1BUP%?O9KdCiPDydz5~iimurJXmK^SKo_$9?zjFqvx^yM-}E~gf;3P$MB zGR}t$I?loqk5_<>c08OGc!d;f(xU^Lbesjekw^hohI%;81&$95plI-+GK#Z+X_^!; zc1?tf11T_IsEGpe^p#Kn**91%SEYUmKit57tPy%mD1zvH%Evz-=bv1CVhHa&@1uwV53Dm35 zgU`hCyIN)j-l;aJ+>4CgoQPWgcgy(MGtmJCL<4#(?!I4cR9SrMNV_$r~rYT+4zbuZQKfg@`yaAXzh zZ@>8@KUUlaCV)-wy$r_sAg)UrGOoJ~*L}AeD>}e0b1VEZ*`bWyM6uAWj6PIjwm1;k zb~p>cixu4v)cXj%HPH_r*+?)*8kim0mtj!efvDsUIBp|M%#6===|WUaPneVai_XZR zyXViES}eMIQE9`XOS;ISOS(2Jx}=LNx}iT~880=Lj;ne?ereBw78DDi*Y5sU7A0(l24xI3Sbj1z^oKOS?oKQQ#fc+yd zVE;1&1NMu+fc+ElEH5~ z0tR2}AQ=2qC4;W$>$&Go^T1#)Dn$kcyS|kN2D?#d0}MzPfdT2-00YuRU_iQJ2Lnzh z0s~H{onXNJ5g4%l8G-@(MPR^w3I?432B%N?)|PwE?>YhohdKxbxpZ%;ChAgZqMe8H zz~C`diVO_){WuQ{_M_4U7?3Uk1Jbnt2BeF?fON$U2Aog?2Aohk!GQfEFkt^P1OxVq zz<~V}3_1Y}I_~)YA)EZ6ol#&v>>wEAwggi!=u%*C06)`6O>__y1p@_xsm$UOGlOL? zg7fiBC>V7AD6kHJ!JjD@bSIlZ7YBn+lq1}7Ti?Lf^JrVXo)s;=p7geaujigTUr%g+ z(Aw8?FJEEcwMk#kU%=PXMwst_#~J)8Tl;z*BsqLNnGOQI4u!qpILU-EkTK|S*$eJw z@ACD;Rq5;bzICLjYTMUyK+e~*CR1|?Ur+e-wdw0QAm{6OB+u6qbAGq4C)@=wO#sCNADQUlEGEiCQo!r9fnKK=2Zn6pgl%Rzq$HyIn^en{sUJvxBtFc`G|HD+ zV;b?0;QaX#A0Nt>`5H2CokJL~OwPjPb4uXrS!Sk!Vk-AW#wcuBIwU%5;xZ(nn;mW$Ok((vrt=a-@C-H&4*W=EHYu1)0jXl@;%VGz zIi|CmIZNX_g)A~FkV1yn6*z*f2pvIL+$Oh?0KbUP?)zM?n_WU3M<^(A9-(&hcY(s@FO57xL6P$ajmO~c8Ba&4bL_a*NG!--ln&C?F|#Rh zo5BNB?&SdB9J-dyp&+h;M`+A?gyNw@3G41>3$ikh7#^P+=Oo45$XOilNI z&2P#UWRW8=ygfJ5+tUtwD~PxHNH3Ibm0W?X4>N5kyTH?P8y!94furZg9p*T-Ifvi? zx*d+5@1vvV`$9+0uRZ}sPcU9MiYDd#$kqUF&_~ZKTf>1rnBC&ra}bp_ls2S`ls2Sm zLuo_0NNGd5)=HaVOWnf>4Ft2Wj-H%QJC!!=!9**iV%V{j-LNl&ADCDocqVKTa-3?Q7JN|&91-71B2bDv;hXB zi@<<%ZGZvkA}}Cbv4a686oCOJ)J`y9{|F4&{|v!^{UR`6KLvwM0E1^v1qNt5Js3RM z5ioe9gJAG)3I<&g4Dd6JH28Z_DKaoPzI{%MWbg(mZGZvkA}}Cb8(=`X2n6dM>E{n0foVDKs`ZGZvkA}}Cb8(=`X2nu0S2Utz<_kc4hEc11O}W?JHdecBQRk9GXw+ni@<>W6bw2648CwG zFhJw!!Qhh}0fSu~1cNsf47ws1?06>+40fVYWMJ^>zPT-u!E30r0S2Utz<_jZfC1?u zFd$uPFeo-P5hoOZ0VmW>Fkt@(4A}n+!GQfDFkn9ggH8a01NmT(OZSh)7BFZl1Z+=7 zz~HG4g28_%7<5H2*!}$67Rg`_Dn$kcZ~to^7`%f@8(=`X2nu27_W# z6LCTj7;r-E1OxVuz<~YF5DeHa0t5C_Fz5s@_)0z)1m|ZGZvkA}}Cb8(=`X2n|nqNMPR@QwG#~3 zKLP{xKSMBJzX%N2Pr;xQz~F1A0s}Oj9t@uD2pBxmK`{6)1%s{#28TW|zeO^55tXh5 z28YVsPdnR67y{;IUXGbKGT6sgW2g8;O-vFD_8P#Qq}Q4fyG?ruwrO`wQV^%n5My9N zDGo~;Vs@)y(5=q_2QZ@yx&M1eIh~BSXMBZJW=&7GQF=1TwWaNa6DjG1?ENWV!ufK+ z9Mc<3eWbVa$s$ne!ie%BjO8NF753X``r;~m?MSL{`>J3h{czZiBf);CpxT1;@i7E% zRU<)veO;q(F^8jXL5x>wA<5;>~*%9XPn7mo^|9IN1k#Qrp%A0;@l+;pYC1Jko>u6<3TqnHSJN@Mnqgh@)3A&)eOSiXm8x?XEhbju zbQ^5i<|-wG_B?Jk-{#8DD!Ti*5cm2y#RZ>8HZJzDvswV`67_vPQQsARcd;!g#!KDO zTuSHM|4gb7;2o2yWp>v5csbS1#;^X_#dw9S(EVM9IXXOtpXU(2Lblmcu&P=>K=+lH zQk`q(b;ak?&c$*s#;bWq0`02v3utnIqF;1>_+OsOVlkC7V(hve0zBvkw#LunMf|)- z^O)nUv}AHvPURFxcapB^@T8wpJl#MKO_1AlZv5-GLx2HQPO)+!=E*5_IA&qR46)}(6ggMj|wt0ShB@MP<__U>n zcl@jLEZlZ0ws%{T_-d@~w%OI@oa5&deXy;-8`)0jc4r9{eeTB@yyAy=#ouYWida8! z&+d>;GKwx65MS0mHAYbKhp*=*QiC5oR!=#6-?wI_q^X{aC&F8PfIXCNNbL0ho2bf! z1+s`@sv2Yv#m^ftjlxWjzZ=5Y_{wK6SV3Y^c{3JOw`e@KFdpu(hdYrfP5}W)A{j5{ zFkVb#qxk+%c8D$j#vEc8>3y1MKavqKkg|=OJ&=e?){~ z7@_bAkLcUOG7if+Ea*NOrk|3tg$uBS^G}7@TRF95 z2nW6pBeeh{HChq|z?q@tFhfgZT=vNWvkrUyPZpPuxFz!f7rn6Xs#j*=Rj(HoUiHc> zyz0G{g+JVc`+A^JycB00rU!b1EWFy6S$MTSKo(x@$}GIvRay8$z{0*yfPDen7z;kp9Y^V*h-FsBZz>tlVY z#K7_XW}cr8;@Dz8K~-Xq`7H_Teu#;|*Q&%o-VNR@VF0ScpvL+Wi4l4-zy^5itnLi_ zrq=m)tL_YH?6lUy#lPDjCI)|2B?eVu@XiVBUfmf4-w5|R6{zkES~(s#r8#bQLg{v- zs<>gR?hNdVUmGp*O^JyftrCMOF{ly)4pTXTlK0O>9bY;RqxWlJ;0)A-_|B#wz6T>6 z9AblQNKq%irT^Zy!4NO%a2Ks>Gm5464MSN(_LJF|CF zX+!U*#^$zWo(ZL{5}VWaQv~ zRW5zxu`?^mrH^vai=~0;l`RcauNO-L)hp{0sovpkX`lxxE0^kl-k_y{+LtX2)cyc1 z4b-kIC{nwsrNKK|P;}p$u{8LbDlvFB5rfD0Ov{!Ak8^RDSsDm)%9aMgoGLNc-_oE; z466D>J&%xkJ2iMy#Nhi?Vo)Upzr{O)!_B8$l^Fci5`&UYx&8Esdh;pwrij50s>Gm5 z41SA=!QtkRqDl;YYl*?HR4zTJJA)rqi9wYZREfc1qfb;N232D4wuy;;R3!#gV(`u( z2G9L$S>?>&c`kZ6Gf=(q0kZ1#a)7LQiyXpb*Avi$(Zcj^tl9-6hirHCjVxkA$%mMOs+b~@_+d?}#iB}Y!msivp zJ14;%>dN@s!b<`EP;2bGBtGBH#~_-erVxs+sL2qKBH$@Cyd6PSXDltGI`f>>6<*k{e z&M0N6cg*e044216*{`g`D|d|*TQl7m(oLwCCv$=nm-$-Bm` zXwBeIn(Ny`yn2VW88_r)69cuY5`%X%F?jIJ5Q7g@iNU*RXYkS!msg0v%Um30 z#9;6L=|K!`{V7v2mpxV=gY-c7{duD|L*4EAwxm=S{~U%0BWGkA)N zUWkF}m5G7s^+F6(uS^V7@3q9>a1#^hfy%@{5A+6!f!ddef!ZG+F;KfQF;KfIF*pRo z;Q3!ACL;5H7ZZK)%@Bh--Xt;j&#IW{ohT-Hn$NVXTKWtZhZ!-r>*rf5#9$v6y$}P{ zD-#3N>xCGoUYQuE-fM}$;kGl-1C@z^9_S4c1GO&`1GPUuVxV?qVxV?aVsHqE!4G>9 zgVN4`%nC8+ZD;V%n;`}tf0M-EXH{bGP9z48y}GqR3?Ap=Fe3(g?zy@`4EA!-3o%f= zGBHrSUWkF}m5G7s9qzC{>HfZ*2l?7##PpI_onV%0Oa$o8$UQ0I4_f%j)|N3BpV^ zm#?X<>(jTsp>5%Q9^{_VjY1*jZA)_`IhnZjE} z(I@^bY#5fd7)Z5&?ZHiEQDsM-$ zX7>8BBchN0B-1d2vN74Zcqe5$CueW-Wjmvv{32`^oZhdIvc~q{4qw(7edm!(Lt}cs z!ITZ|2=DY|gQI6CJ0iW`5Xy$MW-x5gGYpCD;(mkD`|YA^*W~OzU$!fHnfnc-?0Ckx zC!}ys*rxcOYPlzj?(EJsL==x@s62PxZVFGyKJ1Hc3Zs9c^?>xQLn$4qD4(wF(CCLh z4jcN{6T`8|LTgImVVJzSz@Q0%L7Nr#YXmKZC&U6BX(KS8v0-D#?ABen!^zpe^6`H{t(8k1P5&`#*=Mwzg$D!_xA<*t4;fBqrWy8kFO%H z7{oK_e`Z2_w^=qlA-)?C-ZWp+G+)>0sjp+c)~V(kF6JZzd7B&0h0z^%WC|nVH59B#;*0E}_+q;_ zdikSaLsny2TX^n~ZwB!?Tg%|qMNfV@43vEdZ{?CCPAt(tZU_s{2Jw2jSf9ijY=ep} zwM*>=H`Y^BJo6hk8=7J zYGPKb)hBU-H7KVaOSL~a{S&ZvfO4WjpLifS0~26%kaCVF^d(erXpKoc*ajWCD;Jshpz<{bM7?k~p?lIim^#0EaLI2jv_i z@(_RzBq8`fk^vt`a$o^TU3@&ReJsyBHi^gCIJF&bn}-%9x35x!tD1(Orv0=MZoPvN}`^9Ah` zv?pf=&uL6MgQQ=&3fhGv`BhpSjgiK<4r7!Dx~(?SYZBvL< zBssP{7-2IeFtPJ&ijw)(s$_vpRI<==6M_+d0m+eo0f_+yB%|Xcyx665u{7bkKU0&s z%$C{0jxeC$EDFv__}Z6i?)0@U@C7ReEVT29wDy~*_gcEhuA2`U_>W=UvT}7Zm&MxQ(d65&s zLEuBqF6;Iiv(6T&6{BWD+Pgi~}iJYLJy+K%uvKE`#p zdsw$QzNFCoi!4~N%90`|vEJ5g0VOW64VyrToL$-xcB*M-d>L&nx7Bv}W?(^Wid+yTZMN72wq-MXq}pudVrx;TU|Y7t+w3aawh27Q*)<*E zbhVitZ>P-;yU=!Qj(55?ySUg@6xHT$#}<*!osiB=q6s-@LPy9tnhVIlGM>=BS4`@dwny2SdBqK1dHA@;!W5*B_>bkA%kG2kGIX zp?xT{kJ7`()WgTfJ$zC< ze3Bj(sD}mdr$XTPGOf74uIvaiB-=Z}9Le=msv*6Zw2t%xqM{rGOcKQXnU4XK z3`k&^BkOPdq8kV!Pgw&PPEse<86!`Uj*gH_6r*_;wHxx9^Uia0HhzsAjYTkF$>%evlEIiZ~<69 zAwJP2ihHw@y5f`R#)a=H3ffEEwEAu)gYv^|a=Du}YjUyQ=?1!tE|yh730-( zbAhb}UM~PtFSIpX@kMlVF#vFJ5%64F>Smqq<`P@S{V(y|Sff^Jq9g~BW-V#Wumo*= zYo^HtYng6P(g3bzWqmq=oA=L(+#6RoKwWAR3=HYz&i zu$Ihda5pRG0&OhY7e>!lj5x`!>es8T-#rKFa)5pV=|5LXF@o(&xDilKrqp9 zZ`UNibR#gGwH*l?%$-KgF59IE0Hn8r)Nt5^7Gd=^usQ*&see6REf|ytr1?`mK>S|E zh~FIo<#xBbiNUne?gq+lR677W3tlI}YyOnaF8F5G?j8s0_qcXV!tQM#bRz6-j6v=! z$eomtI}vi<>e_wQLHK7~yGSs;4H!>^-;KiWEGV6T-$H5S1K}Tb?d}ahO}p2%s}rDa z1JV=loOVEY7AQ}^a3Iy?1LSwOcJ~SG?LM`m(ze!2BwiZ?&jRB~48VUp^ynUa;#(kX zOC|#1g}%Uh7I;sD>z@ii;7^1DgckckzX(4a+CKPJ`*i5n;kW8D4}`nwQ}hmh1$sXh z7Mj3rIFcmJ^V8vV0#?^r5WVm3xu4cxosuT-+Q93q^-VzQdVsqwdYm0NWupbyTA%%R z)BUO9`D;Vu5&g;cVB1?V;`(U(%51 zD<25sp@j!Sw)9!IrMF@6@WMU+@W(;i49`9SL<66r4=iEWBY6VYTo~`@hJOp;yq^fc z>TJq-!*@TdW^P{|{owb)!lNOGoVC#j4EQnev8sL?*T=cNIgIzQHYVEh6_MZL3%7*; zbGF2O9}oMjL7hNW%6O9nTo+EDVXQ0H@cU7uq!bz8{CcoMYZq#~?%)=q8@ z?hn=RBrZHNPQb+m_S>zV1*bhj{Co&6{`qu$ox<-^lDJ)C@1R+SXT`}n)lSvTPqTJA zP2XA;=pJgP7voMo=z?{^fV&9lHmxh3&OpFvn^BCrK!Pr)6N6=dF=CjZ_Mp32Q#_O3 zGvUKE#@XB~<-o~eqph3GgF~OEn?>-}L)|u8br({1VFG+FQWo26?J2*YD2iW5A7e4K z7bmdU)Lu&Ml+Pv$K3lcF7}^s1qN}|-gyYVp9Cv&+Ll>YA#WmS~cV~Gw=jfY&VX&2n zfL;6Q^R&3mC+qwqUIiyh)@oa=5nlk#Uy#0=t?@&8H4pJ>R;iB*xwtR^=hp!84IbnZ zK%UpY7?41%wTIL3Ylpoqi7zQokkBkiJge+B)Vj~5aLi!2whNcBDlgOa83d2M@&os! zo&31S#UWK{@xi1e1YqahtVI*fWX0DXJN7vaoC>-f#1UJ7r>EEg@qGh zF!vE%fVsdjfDH12yFdI{2$7^?s8|*vmc)>yd%_qZ^Vu-^+6$S&^I?3i%I>8MQgEMe z{4*ZM0fnCms2&InwsxpJkmC3Y_2K(dImqK-4>`!_pb)@u=k%g;{H)<8+;+q3dD3hr z*jh_*ErM^WlYqp+=-T_T(5k*05nVO_wx zusuYU5(4SNZDbKh2juO@W-wilepJkVJn!8VA5GS1JK8bUc8p`lEGI(69qm|2hYOGY z-8TZDJpj>lycWnj?8#u3F3E6Bzdd1|#{)1UsP_LU7`Yeti(zLe1E<+euCY1KdxFKKJ7c z0e1Hjv1a6=p&@3|Zf#ET0$1MdDt1uOappy#e80Q|kZmA+&Q5azm$=h98QIV8&9Yhx zWEY&cC7wntHqjEEB4mLppJrXrN3YFjxD#WfEHga&`WOF~>6uli0pw@d?C7CSg-BWg zo1^6vg7tyT1S;VcM3 z`fRf#g3+^O>kH55*;XR&I~Q@xx$fD{T1b{i5WzIY(XWk~k^2m$ROiv%wOiF&m<<-VJ()!XS)Epe~oim#fi6 zt~VxZ1|)&G+%}aaW0eStf6*FY9b^TGOsfuDT)L92rV7@uLCDFg7)a&Pm8?f!u!W2* ztr>91eMna^;4OBQ8?dj^5N|Di_gmTNz8bJ+$l28i8-{K1HU1@R=Oyg0YamTK+%x<% zfE?vgawJ+rD`-)!LW@L*xGK4QT{kWMQG+^3xhoWEn z*b}nHpo?255-YuzR1Pj7V*#{GJVzM)!yjhVv-?qB0L7tmxe}SX6&f(0{txTJ8&Z_- z&g_Ts)O5GacKS2EygvpK+=Kkw+`+#4EV*Wb;;tcN99}g5`y>&t5Bj^+Y;`)iVdS0A z0g~wm$}Q%Vr-E`PlF3_5^n0urG53%JG4~Qt_Sbe30-=2-nQid^p41Ztk%j@yo-~LE zPym15l6mPn^8o)q!t|ER%UlehgGOy>b2>Skl+Jh?B6fP50!_&2Y!Bj_vnJ>J&RwfI zmy_JmoQMQI^z;G(!AW0pJfgG^eQF~_h6Hy=gauxb506Y2`H^l-HzCsr?WiO+ia6GL zFa)k+e#dU%Fl&wRC~o8S4eR64l#JH0@wHjEx%e1c|Lh&{$>P#=!Xz$lC5_Ob*$|*P(44t8Zz0m5P|_h=P=vZHbhF@>^&%QW zQ>4KqdV;gW02mO-alI|}y)CiDwq(7R?7M?g3UiPZ5*_G4UEDEh&X%>par*0Llyd!S z`W>Cc!f(GdfqLX5 zV{$wFOPMT3I&zXQJ?|c@5h{`rk=Bf83DPD}3M#yyC0^t=LZ%m)4Z-0iC7a_b3a|Xl zQ=I%!LDXXtTbRq-4&}Q$R3XR4g+v0SoL$wL5n+RnY!JQL%I~cSbmD4=L{0*bmt5bg zB>opU+D`5@t(liK|Jz$LKXs++AR&})aHL~LYvvV|?rhDx8hXlNJEL1+>US}D-J$J* zd=w!nnNEmGKYb;BIk3%fFHvK-4ou}%Et#z%H>BG|WF#8*IKG>-j_x2dfg?1K`U1$D z5*KZMAR9vNdT{~oJox^Dg96_V{?Ysjd_T-Z6~3L~$vY0d|G5g^2N}No2lVcQ@7urq z=f4WRzxSJi@4u_UH)8aLGWY$pg96`A-M_E`-%oQs=)VdE~@bT&V=t*s_=b~;oE;e?@suB;`h<+ zdcE-EmERnEKU9V9{owo04hnof`{Sen-_LPTh3|JJeE+-(-v=4K{Ri~!gztSn`SGuU z@0&Q*{0+&zf3w1q=lX`Xx}(cJg~u_wkqBcw2Z{*YJ3@2H_Z;q6Ly?ojddqZ#qcG*+ zsy|oRj!>$2Tn*qV*AYs2gR6+Ed`H+~d0h?Us-`169>sC4260u}5stH3T^+$yT}OC= z)#<8{lbFHWZ185Vwx12&!m;8I8@h>O#d>R!Nk#pHkmEx}K$YRvUsZI3*t`jy!g?Da zI}56u#JOQsRgSa)s)G8r9knSos+f!~s4^*z87oyraq>wOcTTt|9!-_evdExHD<_25 zPHsjeWuU5XHfYCfLifAgT4bg{m9|)R^He$B2C2$eJKn}_;$X1e#>sYrD(##P)~d=0 zc7&>MI%pF%aX?sa6J^jrl_}_))Tzoz)~G5cWB7COCXNZ~Z4y=)`Zi-$##q{AA?x{c2JBk)k(4O6riQTfJ)XtCn~2u=Y;h(#i=3M zdz6z!L8U%bP|?|DXCaSnN`0!EqMT_qS;=(t0%lM!LkEIg%9)8`=PYt&Iio-2%&}9H z%*6t09tHCfG*0F#XMuGnS%}%yA_}}!pK=!4sY;e$YqgXDuVAR0Wmd1`EF~cacO)6q z#7T0T-H}M6FygGPzNAn{TUqWb!{Ug7^C?Kx3VGbsw%V5Xf(t0PAVD+aLJb2gLR;($ zE~4O~1htQgHDxG`+d^Nkjsj^BqASP~VV-9Te8GAO)_dbTRDooiH`f<+tH$xhp%WS3o`q&u{YO40AQ zR4E5=iBeA7)+*)1ZH-b6*;Xs%aP2&$oUQRjA}JS=4wNvpn!&t# zE%0m8jJ>3F+>Loh=YqfPw1D|W^N_z?emG1sx`+Jj^w+mgPnsgkvQtI09X|hN@-yV$ zL>iLrQGf45#gL~C3UmD8->$DP$1ibFWscvO%<=!LGRFs*IrbmWyOTNo>5u;9S24%0 z{^n#G&s1d_`^h%Gb5P)0ew@mBee&Z}h3|JJeE*^f-v=4K{Ri~!gzty%`}wbe@Av(- z$~L}UpTP-9os1}PELDfKWVYg13QcS&uI4R+`fy!I`8Cs-?PRN5Lw=2nDf3diezK0N zI)2wV|0K~}-_If`$y;AEPnAvj1ZfNZMRbz4`sg8yleorvloFhmkc;9qTPkECPU)EJ z?lA6Oxo@V^`uES`iz=WCr;$8>$^+16t}CFY9&r&RNK*zPLm7l%BNKi9=NZ+c@CbA{ z8!^ZnY>hxUCYW8==wPCQcBoUf#ztp&5m8AKM&QlpTiXZ}QKebwZ#0s=(XW1_uJEjU zDdp|R1fj`MF?!CZBxj;O^EaX}E@Tjy#FCdFEWv)K3&Z#jGfYf%NO6v2Ek&dvh)Qfs zGjfsRXY{MV_fX;GzkWQ3#}-Cm9>4clevY@XCa*`&eTe5Ryc}SN^Gb+xBySV2$j21{29sW(mI+E za!ir&0ov9XOmPA`ReHuX?xv>|Ud*5loww5yWF2%};I}ix>9nbKn!Bk6H?4qwgz1#Y zDo1U)_>KDWOl;<7+B9FU0r^Khm46`oz_}4_r?hhB@_TNA5M-VtAa3>G*(mzP_e1r) zP<@xZ8!f7&$4Byg{7=7KOGjH%pnxX+u7ca z5$;ap)#TI85>UdCWvOsPwJ~&~cEyL0iloMjfp}JSgR7~%+PN`O?Ymv=3+db2TB-;~ zMuw$#Ht@!u_h@Nj!JU0FhtTL^E-ps%ILG6!<@eeIjpubpP4d!neoV8H@Vl(%yur;1 zLX*<0Tvm87hxujRE|9p)=#0>53gcTjsjt9aGEPge0*f4dptTfP#p zL4tfl4Umq=w^eG0=?V~#?8bRp5Z^B|dAr{=bV|u`DkTe~j9Y~`cY3l$ViWmqN|2lA zGel}4FKW&p6G;lflN&-m19?eM^3G=E(OM=FBa%FpE2$tw(vv*$6O3y#%g9ag2v1Ux ziIkM3w zSj%h4QaM3s0;fr^pp-qoGnR2)rcmkY7yS@}56%YW0l_4*u!4UaVje9w2EzsBHOIV8&dM?>y5p5Bk9ag$N4Ez{$Z;eLh;>FUn91u#&a6^i?2f^h z@((eDlj%^4l1|VXUrdfRVOQD1Am(`RbSzzC=K@$C-wbAt2T0Wj%5?&*PVg2Nj#y3L zdO~aFnNZj*gP(~B5Pl*;?UQUm^u2Gpb`+)FPF@GzfOcCE!@VPiaD^b-lvPe>j%mvU(H~E7 zc9a-UKH|pmNEokSp?D7~^0Bg}IbNIT#LEh+)jf$bb>T^{bkBXF zNjC6JRLmo79rASEL>iCl13!xREbKql6pS7LY^N} z+d@W)o4X02yrz(3oPo=hj_?Ilys9JoN7k9Mk^G0TqP+qOX5g`Kf2)^mngQqR$~lwd zj!)qGjv3g&tCSO!9k#tW-o*^;Vg`cfpRUUyNoQ?A0RqT?yr@7YqM!XBTQ-$kFIhU@ z6q5AoL&?$kaYHy8l0ct;Kcry~HZhQdo5FtC^l`W?MB!$RZE1q*(_90HOn z5s*89do1_|)PJfzb7Q!x!E^1;@9z$lKEQToDUS!Lls%UXqvOtT)kAI{D)hl!54kCm zE~9kEm&;L4UNmE$=nS)Pk5V=Od{-_XJHilJz=7xb63_l{h-E$gs;vJ8&N&0`!3tj7 zS)m3{gAigc&<1gusU>4aKwZ|rjYr-KAxDUqTQgPMfHvbC&pi(E;4Vj#U`W{_&UQ4% zog^(#j0}XLDY_S%ZqL3CbL_k8z8RCKQfH6K>%s``G%X%ae|G*)uC=Tkt|Odlm&Irs87aT@?<~6Ni=&8byAziNgQpe znR8p}eH)U6;iK-y$jDtUZ*4|?IDw6@^a zKu59SPPhQF)>DYfE?B}5SW!YqHb7hgZ$OD-RPimmp7Q=;qu*3G_GKb=l6l+Y4rHMv zxJPxa1zfAUT>sEAb{j32IYUV@>;ks9PxUHhax2>jxkdyBuI59F*>&V) zH2GX;m+2*NCbxIhP&W~!N+hV>{c5|EhhtW>tMySQ(?3jUH_d3gd zyTp?JWqr8Usf=U`5AP4p^b5E;7yw+|D*{}h403P+Y_|uX2<~3_jW1B}Ck1YoFFqaQ zcKPyFglhd{t41IAszE(iE^kR^q8F#riw;-U(0CFLf9b$RGpt z$oRIR_rE{0A8u0xXD27SZ&$pKbEvJi&RCrTZH);z$XB1uIN%1cSqbp>)(BVw)eB#T z(?SUUe*>}UX9PFFU27LC!J~UJXsG1J2VDqTWb)np0FJLH$It6b!^6t@*yuUt4x_;C zQM2QtnW!G_Qc^?mV`+lF)Y2n%>JdBP@k4lgJz@*3##oDuDI$o;%kApP$UXRFo&b&y zW(vXkXYqdyDS!Ci(To}gB_Ch7T|dEW8xOzjh&WH+gflWKcOA_0i<_=yQRYxRHBXo5 z#_Yr`@k!kOWPYBUAg-A-Bkt)tg%4yh^McgICRy7S82`MT@$gOa;%1MLVq!=Xivehw@5ZezYLwLG-uqR}TA~a{yFXDC>0IE!ASF=4uh- zfMhA#f+lta`I3KIb_CH6zT;Nh2(}1RY4QReS&-*#1{UO{mkWa!AqDa-ueE)f&2Q&& zYZg0#8^7TMbd8b#i8Gx?Av8d6h;x=T%3KxCXDa5qCF00H<$XF*u>k@QA`#O2T*P#p z0rH0!Fu)w^1#JjpeV#orG0^&9^LnoY}p^z zilQV$uA`OIcivWtUMSQaB2PcJZ0J^B# z8mNu~bgw{z3&zrXI%$yjc)(ofEjqFmI>M({_^DnpdNt8se=Ca*6@fU;Q;Ohs-Zp6M zX6l*lSL8({Uq zEsWqQ?FWipbmScRGbMN^y_%wJDBo-=vJ<$5IjJwapuwYe;|A}y0y}JH5!A+yzQ>lr z?*E`pcL-d&TF8w;Z3aN{>)?pNW;rpZE}!Ul0EbNh71#>!4DY4F4bW4z1-hLo+!FrE z{XwbtWU+V7&k4|V3(fc9X)qMal!s+XIes|qy>Q$Q)q{1r274I`kY91vO$E1UWm})R zt7;Fv6BeFN9acGagYe#U?4bYTk28hG1Gy!!J_+#MH->x!AT~OI35eYfCc57GNB=%s z+qBMjKpN8l&m(e8<(cTN_y`8=jwVTmpfe|TQ()p?8`>NY6@~IIBsl+ZuF}jUm98)dE^S_Ofzrmx`vLrP@QbHE& zuv#K`T?hz~wqEyt2I)_eLU3t@>`LMM(#!X-`<*-fXUUpb^- zle6pzQz43*(I&WK14c`76N$l3(v40g%LAyga1g6rk(!-^=*&M!D-CfLQt|+f2Gc2O z=%gp!_cvJxOwWX98$?2c&8c`$SQc>-(*emuKV|e)@l1n&q1wE z>p>)2HhP)P@3O-xL@4sSQF!U;Unm^F%;-Nqn8j0-fsG}H-~i%Wn-%@^$xJ+tX_#;G zY<>|oc!Bp0!uptA5}&Y7eee#pm5caR@hlrXbzPRFi05xRLlY;le(HQGoyR3w=15IS z{t4lVmvM8s07)HylY;|r31&YN0+C+i9l`$6@Eoe0di1y`y*nDeZxQ1Nf>&*~OnqFj8WqIAhd5KMgH>scfTn!?YAECugdvq|tM z4+Ui5+OGNkm#X*3gxJ!2?YPaBlwqTG4tM;_S9rV=3a7vk z!yhBvzJ4jMyMo;ScMjY}i(8B@4=_7=6L!Kz^CDU*^RvFWe@PM6Ps>xtw!Mv3)%R z*kqyIt+_hi&T-BFH9=eBhxOX<_nO6RFD+JaRgydKIp7f7onLYf#MG&Jw>nuX)G1*v z0E^Y zJe2dLicn#*tv9)iefpb@DU%zfD;*AlvDDqlwLhwa%_O=)bPE{UB1pc5+1ie?ScJ^T z2H-HeaGNBik~uB$leGmwAa~%lxSTK-^1vCwBudy?;C)nc81gZTX6Q-t`I`_VADgEP~A7VzlS$8O_$~ zkWmMXU;2;)%31)(3!V-ouE-&+DCu7dGe72LYkxR&UyxAwi=-WtDc_KKaT;(KE><%ts8KcGz+mM58 zNW=!*9g3#k2N9Q@gLdZug$s_C4Oc>-t46O*G?oQ|eW`ej*6|7I3QzhM({^FX_4znS@} z(R|e~ZOm7$G+#N*m(`4_ljruDtln`QGp70S57-BBfYrq{QqXbJR$HF7Iz1!}-NR|> zm)FloI=Hi@nLFm(9M&>-T{S1&`o3~!WrF>%cL@;s%tubcMw zH|AZah8{LoF7|6P=bv(vTo*S??e5Mk8I@~h|2P1qgCG6fih-x8bpzw!wMy!z2G)NE zHL`{AUCpC7uiwr?YgRO^g~nO^g7T7Jl?8lG2v73{U?zNSbp^O(cCT7E3@z)Lx%HbZ zEY>4t0%W+XNBTd5m2G(0pWD2iCV9;au6D(y=bPz@cc6}Qdf#qQ^R8y~%hEJMGtUyWGi#vMg+g6fobsW&1cg&sh|4GU*7r$zyH@?c)8y)9wNsI(%R^e=?2i% zFT?$aov4q3Uwk<^yu=>f_I+A|CeEnzYGam_e<@|BszSqg4;f0}VnUee&N9AStvpZhp zOLpB@EKaP4QPj;v8R(jEFMd%idh-JWKrG^_L!u9Dq4=* zks!SzTGnYF5g|F>8y^fwIb-(%se5bmz1UJHA zu!U&C*>D8k9P2mpv)QrDo@b7p{_ha6a-btWwLglV#6Q#)PIn&~TVY%ro1yFwkMa*; zqgWXzRUA$3(ZzUl;rn8oN82%7l7BEh?sy!xIZiQ9I4^7B^p;+4Pmdg0_$^Tg`&TDs z_Q!(cpg1CKVLURD@fv|vohcnrWD%x$B9rHy3uTe$hyR)J7bg`)!$Id$$%n)q zc2fEpMiXx#gmEU`LNRX3bXuFA{$nIVmbdbDiaVtGSA<9AJg_~09m!jJdvL4Rq*Ez6 zwdiHV?SbAkCH3hmXer5zVOfw3`YG(>C!%A2oTDi$(5TQJz-hSWnM$wI&?1>ujHff6 z>7^%{fstevRS}1bW711vV)*IVHUp&+y{S3$?R<7;oMY#9;rld%`99CiFUG65`6^+ndylIL&YB8` zrz?)&g*<`R8iea!jazNq{bKHpexUBYmY?FZ9b$R8aOHEnr0`q-FWy5_FoXDa0}6qc zL|^!QUaLH~UdH;o9GBWCgK&t7LjrgQOCA4$5%1jt61@M z#L0nSyPDpwb_#*wxv$X;Io3==87d2<4lUzdc8%>~ocaP*mQ>#q%Cb)EHz&>4YL#6J zdS54ju1PiU`cQY+tpdeXfC=VL1viMJR!`tf2T~1m->-h?1t7i%kY4y#pik&VseCYTu<3jT zA3(0*lm!J;euYp0X+~I;kicgjv>_J?C&v67^&hm z4CN@NGbZThVDG*8an!K6DcaZ3Kh+`3sF5&3QR6%Ki7=xDmV#DO3eN|C zaZM=>C6bHNHAvXeQUpq}h(M{&WSX6B)AWthjA5*Z&}wvUo?WG}uR@M7z4Drtb7WVe zLppYT82I|x?&2pf>}U{8)&RyN>rnEmv6=1wu||HZ@7KDUP2Oy+HC3qtp-E8UE=c9C zCN*Q1tlH)v0wGXZ^sPU4ABO99q3?GQHPQWhPyRk~8u1+2jk?|_1P%~~s$=7zE^vnN>R<8AQ$R-^%>kW;0jzFyu&M{& zPVMc8s#SX@wRigHI%IW+z_aS}mUaks-SdL%CDlDO0kCU8?bk;@qaCap*zXQ}cwS&W zaH11fO&S8X~rs;}4tkHTs2Bl_~Uor+(89LBHf z_vr>s5aUpU=wq*wNIQA77O0C|0H)Vegwn$18|zWj*fr!=^3N$0~zv!(|HB!RH=7T31P0i8m!7dufQOGe)%3R`;_o%NH zvc(wN7|$3>GluN3WczbMWXVkeTpx}M(--N?(6s|zn`kE%r6A|d#8~4eGbK)T|7Gx8^Qb)!wQJqeDNH1A!3&i|=rYwtlsCV8HhKoN z&p;Hd+7&ifS<;lFHe$ZTwWaB?yk}f+)!rwqId=-`6ltW2lq$>ttV9P- zb%yp+rZ~^PzdENLhguxGO0LZa+1@y9xp68P2ViFiD1P7X>jZHvhYIT`UFThttVNQ|?befnY)FB_$-&G<5A$jK zc_7sE3*a)^Rn*}m%l1*uN}6!W*=(ED?lU2>>yn+&m9*PJ?_1J9XE-O}em!_<76Jc>JFWX0y|A0G;(ebnmcu?iTGy_nLly?+v`Go zoA)YmfRE@H388nS2u&+^ZW-L9T(`>yYHxJS?sMuDE}|pj2B3GO08P8z*lXSH{!nLz zoR%^~NlUlJJ)syTde`fbIFp_YIwlz)&hHPzzwazv`gtu3gvC9zFd&kSXO=Xv2F|z^ z*6rE5cp+7pv2zilY!+=OA_lUNpVE6?G|zNMM5^e|^32c*?ZK}nm-l=LVy zG#a8?5nC+u9YsTDy^_SE5jv1VU`I6sBu14f>9J}^$gfl(*^ZUKff$eE9Pb4V+4T6uDImQHPF!RC%nb>95>Olr!)k?D(yIW_^z(5c>k|13j@Dc!f1 zqdg{~bd+bU;!-DTw}$~o$?wv8e2A9GBA*fL@1!*JqXtPNIx3$^WskcmQXKY@az-b$ zJ00w*_C8m8DzyPuR5DbgQ0!hKW0I%8w0Th|O!uAhO81zQvzzI4QAmm*}4irHmO$%2P>at3FEqKChtfFVl{r3%8#S9>Q9BnSlJN=&M-4%T?1 zDgk0Sr{}@Z6$1eobHHN?jsioXacKo0h(MD3FET{`;t)yXP+)hFZro?frZAAt zCyo;J4hVB7 z&Gj%KA83uyzh0Yx5<2Vg_JF$~3YAwTRN{u(P&n?n?bye#TLU;I@5!@ zIYI3vFjCZ$6-D<1?7lVllgRSHbCrbwh&UCP)DzP^XC3w+v}~oC7amI|u1zg_L^mW0 zvv0Lz*V*P7L^1VC;RVK5b1n_%QA>gdqz!WuPUC2}kgSD1hB{e_p-w~gvI{(O zr-5(OMm6V{H~A}B%x^r7^135zIbdC1tGGNGX8JXX%bNcch>2H-yOiTon)T3)gQY%? z#p3L__Y?op3`X%h$0!CG%jl9mQi*S_=rAK_SQGtx7lMYI%<^FDSZI5JV#d6d<%Cq& z*4o9*ve!sO?^IY08%^*+7mqPenoAevdiX5N@!Tm%6SCs_Lxd2eP`I`MVKEbmwwxjU zB^a)9HrXb}S=;3$HhQy~RaE69F}{js6=gZ)q<%dfkY5j{y37n+qlVk*-Lus)uiHt( zUF7UaMZU^|ZN{Pw0mtW%ESR*FHA~sH`15*WQVwO)&$Q7Qa{WN+p}c@5i68=m5bm^( zGJskZ)}_-v6(9zF-Dw{$94@lZoH9JQdf%{QW=FvBwThf zj-mYIAhAu7Ki9I!w;V=3M~a*P)Y>q2_UNuzW$v0aMD5)&f+5`#LK$kM8ls+?)iWX4 z`N^SUo9nkN9$7(t20GFYbP9BX_MMQ9T4|0vuI^DAc|s}I6aA%(vyGqTq&J*O*2*o( zlWq)?kmA(Z(az}hm;A3b#$pj!&gl49JI0Qk8z0A5T2Qlg4x+|*OAqcj1q$PCJ(lLj z%R;Z##>zsE%teTFNR~oxYHgg099k<~l2uE8aD%`r9Az^4S)sBcAgT*ckZ32wZLx@rcO*+*&i*dnDL)cSjj;Ffy zGL_Fnr<~LLsHSs)ZxTPME^aklriZmU!gLY7dB|1Bbx77gt!j0I`Lw2jBg|)%a?Q8v zuK66PhDr2nrMFAtq*j*d>TV9*xsfl2qWO^{0)nK?L+nGq-Y%R|VR^%-&*0x;#O#ZU zh<%U%*^=gXX=x$ZQWjBGCfa9GeHm3H09s~eHgjkxRqo}`tFw{!tgv&si0d9A>>;kZ zEDg^?rvLe2`t?1fT64X$(OG{=gzY&f@*&u4Qa#Qu3o4TzK zwOSFg=XF<7B>w4UA9J3XwWG;I%&Tu8Jj1uT?zW7uAY%pKG-*gv_m%^aui1 zv`t-zjwCrkHKhn`tFB3XWOW^%?pi)TaTRSDg^6S zM}MPR>8N_Uk~$pT;!(qKjRsDd zUW*9Hccsv~o824RC{jm-%}A4&35Z-RWG*$p5pk=vJyg~`oCPMLqyWN*Bp#7c^uqi6 znIwn~;j2ZeloGx-jQEfIZV$wNl#5;vU-im}uX=9{@&BZX_=g?h-}SW~h`*1E-VtA` zrHuGmEp05)w+HbxsxsnhR8_>UBK|}+HsI#3Mf~p_B*ee>kRbk#4jSS={+W3d9{&k0 zdO>{ED9*Dn> zi{24mtEG(iS}kuM;%ii8#Mh{*h+jqg13~=j4-(=(c1RHa#|I7ZKl~Rx5dU^AdO>{E zDu>b*6@|LZE^A9jfUB5%En_%CtMJK}4#lo4O6 z# z*Qlz9Uq$=_LHrLMB*g#oLxT9P9yG*% zJrI947ri6CR!bT2wOZaj#Mh|Gh_6vq5x+NA5VI!s9>6Mem5O)lx=$t(LbB@inS4;%ih@#IGX$ zfgt`z4ie)3)geLr?)QhzE96_ZzKoI{+ z2MO_idPore0|yQ9pZnRe3gSP{MK6f2dS%2{y|;$=FIN%&utWS8cg`S;xIMH)n%wSOhj8#biS-* ziNln&z&Sb#Qz=AH24Qcdcyi7SqPXud{bER6}Xtb_I6SlJsA8gsw z7bfmfYOF5WgQG@D8*s=*QU}?{$`9MaB#(Zt zUi)1+Mhomc(OyE*v{GUJfP8dz3imuke!S>@9ic}^HsBO3t7uSqULrwtdJk*5nt~HG zdO4M!r^>AwwO0|2gk%kF@w0ZCZ*)416py=8?lueL7o1;DdHI}H7>7&zY$*r{IXJ)9 z(wd38d>o<$L`RsVX0xd@+xhjBm(RI0)5}U-d6GkDC%Ig_Ews6KAeU2i!w(t_^)eSZ zzn=2)xtNAa$nh@lm7|a%G{pDfV!SV^VH4iaXm}RY&hq~7@s58s4Oft}g1FX%{UB$h ztyDvtm!FMyMm3D$bJg%Xs(DBFb}qg=X}Fr4)!zR-ITzZ6YKRBNRcQpAx_FHm;^r)k zZ*6M`x5L!88|_0e!FJBCOi_;}2^fHxZplj8Mwsoh}fZA0`IAC$jN zYHU;poJ$qXiRqk($Foaa)N9>wBP~1b|E$WB$A_D*%e(&S@(NGBkBi=Ua;=s!Pp;MS_VMHzRhcK(sH!}9 zl_x(Cp8V?vi6_5Fo@B*LLL^AvCSRBL{5qce4S6?y@`bA^i2oE9y&%5ol@VX{-WuZn zR~7LOJH&sQw_cXQJi|rrh_BUBMtrT7w-50(sxsnhR8_>UBL0CO{u2iY@ozaKi2vDx zhWK~=d}{^q_i@n+;;UX6@m24wA^s~>#6Rp1|FKuMRuKPjE_z3Nt(G$4Yqh+6h_6wV z5nrRKB7PO|4+QbQd5{qQ{f7kc?>%UUzvrH-D~P|Bi(U|4^~#8^dT$N!e_loW!w&KH zefH`K;@`tX?})F}Qbv5OmbVY_HL5b=YgARluOj||ApW-w65@a0kRbm32MzHb`TR8% z#DA2FUJzgP%80LeZw>MPr;7N89pXR6TQ5s>9_ONW#Mf#mBfeJ4+lTlXRT=R$sw(1F z5&u9C|IZE*;(zpzApV2D4)JfV&wMD{mGfa_iSw1UjAhqLk%pt)oPr7N2~ms4^E=-j zxJc_RoUDFZ=(K4H4TLkySzV$~hH+o(YqinCXDGfR>N99ZG+4bg6ytuSz-y>+^h1q< z@_uN}kn~4oCWI>Vx2TB9OwI@*(jc%8#%?c0@65w8l#4&d5ieb9ORfI0Ow3bXgR((~oc{G1Z&s50#cSLP8GX=dgs(gTv9D8A?Ffr~g~w1_Ol~RQr+q zM6D%IOhfKIG(HkVgi>%?{}5)VlMs+TCS+|~j7Jr|AArfD?C7p|w2fwbOxZEq=9tz@ z6Z#0p(&Mp7Oqkj+Xyu@;aGcZ?IMA>2p#_t83`!S0Le{nNn zxNv-si}zD}Igu%K@8cvpDf;1mq9di|ClkhU5(Al(C?X(XYg_H)^yQ3>C-bmvHrd*W z@hO>3JH@}0W6*lxv5$>AD4t^NHl^sJ)V2ql{pYNsJ-AgtGf$)Fv?6LQIXk^QAf~TM z>eB$7EpaCqovlPQWYnaZ*aANb>5Fj_JC!<9+XHkc-1AJM&UDmXrWfNGjAusaiMk54 zsKex>4l|BdQ3-TQRKPBq;v)MK!@s;Xq z3t6c)3|VNyXt`aDGR)PCK?{AQv~F_Jy2-AipKXPwr4*AZDa8;9aEH3yNtU!=P;w!w zJ46dcJrUM+2Z3$VzSb#lYfgGL*+qO$9D9~x*XmA-h~kP;OsZH@rvQIk`CzuXD>43Z zl^B1nfH;49+WSmJt6s>QmEuj#cv$qm*;B z9j!M$+RR4ledot;cVa&0UCie;jixO=CXLBVR90~GSdW`s;3lEI8Od1wjk7T}t_Wft zZ)0tIGkAGIN-5}JG{IH#imLipSa|C5j|VQYDmsJF-~Lwy%%YnU3%egA|D-~$^1}oN5~onzwcr1zb5(Y>J-n zR69j#f_g&YGvBW#yq^_4i*8Osx9fDSPfq~OPCG4$3+i|(SyNFG1Qf}dZqwDx45n~K zI#ILY2h@#XMn{Dg0yx;bbrBHUW}-D%htgm^RT_-v+AN#v*1)p?s)PAdb&wF?G+W5E z4*^d6?*(>7X%#F-U(iQbU1E#Dza?l3F10hee7IC5%|}XIW@i^s4m``2+luD+oYE?= zbKDwODNVI=xdWg5>FDq>>D~HO za5?YxGP}IA3W#&+S3%LQf=%Ed@lLf0uAt@>l~u5r%gyCgaAl!81QGKkM7$D2)Kgzg z7TSM=_cpSwv1{~*+lhNhXj8WgHpYbM&bu((-61b*M}f%LJIP5Qafcw0wE-OFfx}cS z(8vbiu6GCq+I0)<(jFs)`OYiMH-W$DktnA`76tfOAS0ALpheAyofR_jI67fa+sQ|+9Q8xlmA7K1g`fLi3{E&e6p;Q~vLGtZ1xWf$x z!9X5`$3%g<`BTANq21+_8Xs1CZ+kf9x;~*^K0)~>UBgeQ;itIV7aD&m_;hHWb`8H2 z66V{!q=v$YDE^Epe}*b|hjw=u-xJzBVf2ZwXY1>Q(w|l7XDPimw0lG0_^0bL!~s9T zbJ*RP{WxsatK+O&GY$N7jCE@!;%6o2>bZKNGp6rJ!W*3tK+cG2T)# zz9|$&ji-EkB2uEF322$$#OfDcG?Cg96Ex0GRPCEx?USf|QliM*Dnjd=Pm0=hoT{XZ z#N_O9@hr&#SXz7D3HmMf^X!fU#pji$R= zo=a9r!N@w_&R0v2Y^B$l*Gr`q=$3QZ@LL(gDk1D@GFE%tcc|Tk>b=6sivV717pp6P z?!vM<{93hKN6U2yto$Vk@tvq;g@soZv`sBR&?MD|XAoNjq&cS#4*`ha?c0dzowLgm z$KIpnUR39s$bxadf*{^x!P%=PfVb#4cCGL$Y1o6ycQlQLSJQAmnx=*T^;XB8JJz3C zKyywEdA3ax(*{Db{7PEv+xfj+{C`_d_Me>Y5L%}Gfbtz>-F1jxkP<&yK=^WyKB>S% z^;|w`@b4|Du3snY-*4eV`vPd6mOkG?CPr|Pvm5EaZ33#S_S?y7@BaI*S6J;&R#@#v zm48y9q#`-7l-2)J{MA1i1h1agJfvuU9YPJ%|b`T!{7mHZikZ?E0gG;=3 zrqc$)eH*-WO@+5^ioWvgY$|*i=7lfKo?Uj`jj$2pg8&hBjg4#%9@5ht$!{lqsgVFC zdhZO~Sd2AE5Xb*Ndv60^Rdt{J?!C`B!!R?z=0g}5)U^R&5Jpj97>5sMgACt@@*(n# zfZ_&)qo|Q*T~-V{-Gh>D#om zZE|~m&szJOGXpb#fPi`u#&gcv>uayQ_OqY;tpESNI2uXh=M$a{7Lk09FKuQT^=7K4 zSk_fxnN?Vmtu_@SGc#aJ)I5|jLz4)_8xnp__|ukKLG+bV`R6c_5BNE7ag{ilGvi8u6lxpxUjYgJ6sqoE=?3wla zAmdS6gEtL^Ut!K|_P*_#;nR9#Y|oWEisVtv-tXJwY)vlBJ(}dv&E5-s{DKebuSi)x z8oPn&SEN)wx{x=33(fHG>&-~(keEA5fAT-&3|ZI3e5@t)tK8&~j>wIF^#J%VVP1!iIR zvtOx4zwe_LRhUHyw0m)MB~2{h=MtPr%~e(}S{lB)I9jHB+zwKKR+tshO7gAZ=PGX#RNE}GG5J*tE~?yYLGz=uSi`+5rfv5Yr`*J0dKA_%hE1OGPYet8fOrB z8?s%#jxHzh6YBCts}yZ?U3Rk@^2#iS&BI#x{#oBnXE=9ZBePlClwqOH8w z)JC^ba2vU{C2;NS=2rA06}+9K)S;9lIh0b6iEt1Ttc5|KXUt1P6r z!rTev{kWCJNw?%#H6Vq+ufJfcuxgQ!SX6PSSVT35MHQWiMXCpp1Q7Y6>e1k>ju2HU z5LL!!Obx_aX<;Pz9hs?>y5ga)jL%f^x!1N0Tnl`Vn-ab3K3LXH%G!zM(nnM~dFy%P z|JIm*1!e67%)eSfNm)AqcFxh2MElwk5v(lwnDQ%uTQ_VO>XRWhG&=Jj_gd zYwy?HRMthQsUJc}4XOuGuUb>HzFyX>ukf1Q*{A6(t0$_h=|m5q4NOm1TI|o#;s8_I zda(N8SJU6`{yc~Vll4q9*qoV1^f=3@BDSw*)AO@2;&M$Gej#=2FlSow=N3yX#qATV5Dk6&mSu;lyv&lJTfCsCkV z4X;tYJ=3wA={S}b$K_?xXU|lYW!4Tw8M{|Ydun1%Hpw2P67k{URD95ROpM2%Kjc#V zK?g2DfFPKa=N21L$8xM{kI#%zH7&+hq^g)|rbuwG_9&|6()cA=qvXsq8?{PDFg(#p zAa;IQ#Yq>#$0LPRVvkab3Q@2}aY3xcw3Ek`LJ%uee3_YTE>kVo4~)@DdXBa9@tIm` zn9p~&=7;Q1Bdy$pvLa`TjD{ADS`)g-Nji>}SHgtrdUE(`*EB#4|@uTk$- ztqC?Px`wK*<-i6^QLs>{i>z&mxelp8)_26FYK^YvxD7;=mu%3(w-;;+7YtD#Z}QvQfZYgvx<_JeIrYL9GcQXB2lK+581J_C6N-!UWEX?7BUszxhs zZLGan!Jtxl0ir-rFwki2wn73cZ8>Wsf=0kU<+$5tF)g(}`IudW`yFMHNz!T)NR7nO z#2T8Q58R90+kHMa+m@0@is&1$f0zo0w#bbr9hOy zrK8XL524TSX8S}5n!PXhJPj&9`3gBT@FcJ%+0Ma1&(KP!VRsI9PehwB+^Z(kEUq#< zB*I7*fN*EiBOmoFkz~_T%(%hp%@QIXeNuD1Ue;WXs`@m0gZK!Wy*eEq6uHI3zNTLu z1HCh*S&|}JA_MN6{9>N-8EZbX@m<#3U;saf`C4+9sf`1y_Hx4I7Lg~_KPbUk4+C#3 zy$4&zgEJ|GlT4wKv-n9wSnD%GH|nCZu`M^SThkgv?rbc_hNKQ5bx1xMD&Ghq!JtOcT&P}OUVk$%X= zO+GTC8Px_e+BD>4#8>d_z>u%xBQu7sUO;shBrNY;=&bkBt1>!j&$NRUxVF6-4Wil& z-g!|I)nAMY&Bb|V^4;uNa?sT5eM#4U0*5B#vC+$!iOpV5J~+}#3!Yq&l!MzvX-|gX zg~6Q6X%acsUJ*N()-t@=dlsIeb84YxYp0iwrqHJ;g|nK9pUkDS0RbONB-9c!2Vn^& zYp>f3>Yh<*Y9>Etx~7=Av*1Cj_2KFzm!4iUGn=oo>A58`J)=1!%{6n(+}{rvH+vK1-A8tG`FzS`XYWVD$SZ+kaZ@-m3oy~0y$rj z#~6?AvMgVkcRn<&DM?>$U1)+9v$E(gvkHfq)wH^rkijv}mNk4|W0eVKRc?E*jwaWY zda$0K>s=2x|7$35P3d;MR{kj)NOMMb3O{QCmKgu>u0YpsL$ooSvT%CV0XI29-x_UZ zl(tY^p3fUu6TC4Gjh7+$O?A;$y1W(YD;|$M-@!bd1`n|r*UW~!Zc9!4xGgpm`0e=2 zHfq`-JEIbxmuX#_D&Hl-={UXUJjw9-J1s?r7PmP=Kiy{AM38gvV;QINdx^~VJelv= z+m1y;FSWQ+O9#CJ$P~}M1E`-+X;v03lIz8oQQ9OkyBuqSE=srkQkdxXs^WV&QoxPJ zeOc1_VnZ0C-w*S)uLVLe)z$#2>J_0AHyc))fo9$mas}J-M|_#~Jy9Jz>bGSac<;@0 z;ze^$rUcq|XQ(>`?YlG1h0etX?-aC&3r_y7LA$#H?W#^dyAK@&wEH?x?+UbQ3ZVT& zhLN(Moka=h8nCy>>)`N!okbk!0M>nv39K_w3e^4Ns4@bTqn=a3ad9NIk2E8~@Bdq7 zP!WdDWt>KV)uZw#APVA*mA0&_8%i*Ip1jJelTLydGDeow=DZY#mt!kfisl`(n6VCr zSD=D0D^_ASE%jrZ8J|b>uqgWwA=ynMzKXh}7jvit(G~89-rh7rR|C^I1@?YegUn|Z zIc6eXC5YHO4PIZTmw*k-3SsbMYQ4lvHkah17W>IHed2wq84m4F0xEG;(IDb=?7v z@!PQ=)Jo;8uAS+8o$lIU8qP4jnc)C<60eW6VHJ~Rufop$if9%|v&}3sJ0H!l06eGA z@LT|R9*xbzoH~f#4G>Y<`Si@ir$=tCSJ2!QuH^-M#j~++>vfA33Vas{a2F$^EY25z zc##ESF!-ugoEhcIxYYVG1}$cJ5qwtwzAI^QCBj<#8xQ3qS2EyOfdPkFznUhmcCD}F z>sr@3=e>^H>+n|0K#`>hBZX?Opqc}P5_nJle)-mj$a3^DdLnDR2Le&iQmrQ5lf95vDMfdzKJDg zeL&t@;!Jd_xdj`ITLJ5BW_v3J8h&&;=dpv&JFv*OBag6hJE6aK)nUIkM90@LLvN%eDn{G8ko zyJppe)>39|TRVhWXE=+LTI(gC!3&O#TJOoldvb@R)`jL%0549D%n9SyFZ=P!TAJ*d zU>Ew3l5E=th9G6x+^C(f>|bTx3(F?=(Xs4brEk%jH%{>Iuz9-v(Y14eyOq&ugZOC|grcDK1Gi^%1v?*}}rcJY~UCK)yCkEXQ`ck+) zMYdg>CC}y#L%09m=L>Y3Y+ciBvf+xJ>x6E<+#b;PW;+4&d$J`!zgvM$3Svn1Gy?P| zvYi6@lFsnlLF#+J^Cc$^&NoOuJRxY#3w0OD$c`?+{0@iZJ3E2$hotXH8PWAUER?fo zU64jJJbVz0Q$;5*{$G}kzY`n}jC1n<;}2&#z&Oo!4davm z#vvf>VVnxOhH**&){RI>!Th}N~HfVXa6BI8? z+6S*emPM1YXi^qU-n*pzz}&K=eUNDK-;Yi-AzK%s$TP|I555l#q;r+z z!Hi?p4`n)`)<39m)cS|ItcRu6u#%KozpjzCtB#q2R~?H2$zL-yj*?bCnu#CH99AIF z1xdvb8`A9HWycJCKNfA|Kuvt0=CG7nEgvLopEx@GTqb@lb68nK&3C%)$X(b8mEPC= zy(l8&J~}GBue-a=H^=)cIw~Sm(Fv9QCrhQtdkc11$DoFAuRx<;>fV7yQ(f0IniA0H z1DOsqnhLt6(UgEjQ{o6T`dbwx8vTamy<2y*kv2N6JHAqL7z(|oNTJErHH9WybqoY| zGzKrPJC@fS%T^&~J{Edqs}KSV9G_Lle^_)z2QFKM6s$siT9l~|YZXGaE-3VeOs3AJ zaor9_qmL|87iu{nRN94hOIIDk51&k37_5V=_=c^}Ag1CE2Y8!A2{Q7i~sUPi3rY>Bb;%Z~T--K*}9Oa zI|v~!b+*{Juiawfv+WiepFN!x8(&Np8};&dI0WB=>FMDOM^wWJLGN}#2-e;wLH~%K zL|v9cK>FFkttI|R5v0l1wGcu!EJ8Y4O9Z6v@!NW(p+Pz`@q4EoNdK%INdN3~0_oqR zAYD1dN>JLT2ls%YJ&4-?ET;{?2>8lsuXS(iVhb?Ufx*12=2b_*xbIB71nmw5t;s_jZXzTMW0lU>biA!G$iioOJ6;sqWHduVB+RjigpH&9vsD z>GqOMFSI=acNr^kvq?lYej|(TW6sPhS~2=l3{>{a$w!NW7PGkMFmojiGdSC6!?17p z@wa@UlH?2<3oJED@vynlEVCV0PNU0R2k^V_+*Sk548-oJ)9i6ihIrltW@T|x0)XJ9 zjB|x_+v{*hA@p#gwLUXz$-OpF2opKPunP;hZ4eXdb)!Sqnrm&W-c%jImqS~$jL*E3 zLiUFEr2sdaoVkvD2?%PkQB{;sAD^3zc-?FWe+gud%#imn-3*`61}}0oWFF#R$d^6- z;{#DLO{tjbm;r z=4(^FT{^MULsDA|n6~y_GOq@5n9SjogHM%ayuN5I;N@uD)r;`(vn)>$t~Aa&JWY0E zhkciva=-xGU%p!eX|jDn*>KvyLgj9<@g%v2Z1R#J8`~4)7 zhY;yw^IT zgO4Ywc%~hNhxzM4{CaQ%gO5Y(@s7>lqv&ED#`{i?!N-e1S2_nrI@dY=Ti^^nz7up} z@bQp#*_17{F6&_pK42^bTWXDT=WgaDftsmtlsd=DLHu%X1f3)MzUUn9c8}lfegvK4 z5KqPvXYlc65Wg85!Qdm?xz52|*on?@pxb-VImlgNyoYl%KhUk9b3B~uXz)Q5o#-5& zaH4eXSeF#JS9al=(yfER2Tgaab5H`El?*=iXx=-6 zkIo#;s}5uEabJ-_-(7VWor7$EbX6w?A75y1mG^pQVL%SF3j^|kUL{kIej$D3sl+L_ zJ2!hLv71hwE8}aKqXTKXUG?FO@=iQP6DstCXwgK?=t7HL*9AnccL;q=CjkAOj05OD z)+IeGKyN7EGcUPE#OGI-6-SBBo8n&{Ul#-WoYsqqs0fe z3Gn=*jvSimx`t;;0M8G1l%c7hYj~yv@Jxv#!1Fup;()xWY2PJ0zi_xXApcr~XR>uI zLz9h&t)0aI>A<01>WoA0YsaCVZO5UXJ)Jo8i+aKx1&4kkh~GH*9Gcg*6N1mM%`Whn zBb{^T@24F4Pdnq#-$*(1^GD>+uNFDk%kq7x4NrdumKW)9800!Y8pkwepT*C0&^ zK>Al5IW!e?4bqeVq$zO(kbb5ehd!Wr-z7*tdpHjLLJ_3N)-_0zjkUtgICO`#!nZnG zD}1$GIFMJ`g#&pdcNz&DZ>HfuB;+&lhgmCpiItI4vsTDT+X-1KBveKhYlR%?e68^7 z>0048I$JCJfuex0BKSjH+{3OF?k}ztzOL~;;#%QfGetzGk7BLREtj2|wZa3r_(1Md zt`)xK$FCjpS|RsjCu@boxv*hVk8Z7y+()-ocu&^d^cw_m9o7n|qJ;XzwZi|LqqRcv z9_Lyi_s-37oGz{vQe|grh2*;}exu!5A!RySD*fVuLqs16}~E)tDrI9jnp}5D6)e#-y-I{Riumil!t%1N)cl9 z@?4cf>?J@zy}<;d&Y2zw8*uex_pM6y94Ay>!k**3qdum_^fG;nOj3Sc8P`XBWeL}h z4E+*q6=3=%QGaR}K+1rGy|!wVGSCcEq~<}UzZs;!RVJ!aF{1OE!3n!BE0fh9uEB6trF_30r23P)fb2SHZ9N z<{YCvpR}*>NEJMng6G;u|BCxRnt~0aG$hsnjub-rtKhRf!T#9-${IS2QNdDZf9g`E+5t7=Sf?V?QnS(i)$@R4big zoM5dyQ7MzmB#qT%Ox+Z|pW~OPSPK|i_F(;&Gp3SrzcCvwlu+VZJCVNmTTaxfm(uX+Dav@GON_eYBtv*K))u^8kM`6 za#!2!ycMf|oyxVNmn30|rWU{9n|03#~AH- zTQbDhjFP2b&t@~5bE{-YLQoQ$bF1WjpU}_yZOKa1UP|6dZ*NVYliOs5wp}G}Bk8sT zi?iF6w8QLB$#44Dq44pTOXK%#YaRG)Taxi&7p@#zaV6T3i;!7t zv(lvf#=oHb#uIJ7^(8-i_kY{lWUsRBCG|<)JZbmbddd$Uea;#!Jgs9-bL<)4Jmbr< z?sUQ9UzG7UVGVEG2N#cDE#omamoo=0<8fut#J7yc?*)(Vtq$(?+iDy?ez+q)Mlwmc zupAcHwAL!?JkxO2u$0+u{zAI7R_9ZD*whDEN1NqhKsNTTy!Lm%_jqE_+TKVho1*` zE-gK3=iCd_622|wLa03io}{s6tg2-;T;TjQC^U}0MshVKxVErQOv1)p6tsRSFnI_& zNfXQj6~xb?$@y8p-7>2SoM(JS6NWc4rbR~k+1gFLEa@*evAjgj>w|jsg}DUM@5A_8 zOgtOLFE_*~W@C7Mg|lqU5yY));mGE;0LpBg&7Ixq}}{ z&Md=0#&*j@%XNCgEU(8Wg)w-Z(4VmpyXu;a z;lJ&OHqipxaGC4#(G3jr4R)KY&9nuj-(t3~uWrudabB{;4O?^B(-HN*u`&3yI&%|_ z9{S|>Z`7%+bZYA+w*^e%6lG47S9D!w`!diN><-AtUNC0cCbomQ(QHrLI{^R{m|HZX z;K{c+cN*sK?R>voFABHl;|_C&asXL7tb>hS8u3ywJK4gE9DFdWyL{z=O1HtM?R{eA zFb{D9s;(wKY(EF(Pj~k!EK!1sX+L>^sMHHYyN!F@hF#%zznO_aSqr51P=S46U}M_d zY)tz?b?~&`RxKzFv<#L3lQJ7oEV5+C8gRFU_mUi6a|ys)5p`o1;Yxm1CZJ|_AhVmP z3LkwS6C02+YpN5FvL@<5p`QHgnSh18&?kDBF#JBaldTU-)H@YD`k+_zHGM!pHZp9D z&fvoK$A)?UpS56GZ5~~szZqZ#)J;=nznF z2yde%JCfGFOfRfj(WKrqMMKjNqW;e1i||{XK@= zzYlB$(mZpaw&Za^&@bZWMf6jiUzO}h2$qhcYCsG1LR!Xn&Y51@?Y@yGNCDJzhIR)+ zcZQiJ$tqbZtIVL9iOj}H{GOBmV3W;6b^%w#EhMFK1xZuP6jd{o{lTZE12sb;OV)}k zp|-fXlpmK`8H4RyYp^uVn(2u|3NWnI%na|pFQa$IS)>;n>{M(nzl#ty$6OYE*Uf?@ z(fo84TuzXpE6nA<7n^*iu5^t3V#XaY!d#gLw-y=p39O5*D$aqc>>OCCebAQC!ZO4N zAO&e+g*vg4B&!Lgx;%JvEgMuNbs*Bl(kxhxERi*v2>oz~r`c z8f=lam9^RyHV&0+T!lcfgOnW>j|59QnHp`Rw59l?G+^dqR!u;k*lCxyblYS?30GMw zT%nXzYHbU%E&E-zKOLOC#c1qFj+5X>wtjGZbN->?b>f|b<)5iq<|z|iO*Tx3x%5{Vf6 zld@q&j8v|IsiIfez2~?NdzJZMMdJ&9k^%dHWi*X!M@{3z0Qbj{eagTM=idEye^LVO zFP4D&fYQgrZ~ugk4=Hf}!%+hFcS^v0r`^uxbOG*<+1{K8;I^}%0Nm*;5OCXBu-VOm zGH|D`SqAQ)`WS%wud4k$ew*dnJR=U`+vpjqL3*A{>!3iEcJme|hB5~B&Bs^>xI~Qt z0XM#>Fx|p$Js9X{4SbxB%19lnAyZ9)CeZ_dp(?!pM?6EcK{&j;J_zCES<{R63qE=_ z2BVc&AB6>ib@)#c;>%8f(JVP;P4C8FgZmf;G3>)Luul^8jfcVOv+1fMy#9NC^*vGh z0BSEz&$46qmwUAZ`M~gX;wcOwFH4UpC$Hn|2Sd5E@;KPk)k(-Gajnsg=1UWb-~Ah^ zwOf#f|4B6Gh-xC#gqq&fysr(RFRV5Wr7y!c;N*;Gc>IP6jUYBeJ<&Nv!0LzEz7UPW z_T^mio+|-}Q=Ax$qA#QA3ql5p2JD|5#!G!^LaNA`^X-1vwl6j=hwaM+9JoMz=~*3P zs&C1@mL`WGUS!jyNqkv;t$`WORc(Ugk4KfbDEtEkhV@6=nP&1fHwG>0OiMI@&P=2; zEJCsxIiXIRzSNnCh!R1>HJ3>-a2IJl z5i{o7zFf|M%hi{vYQ2hFL1(T=q6KtjAxBt$Tx1r(|NmZ{xian!|6k0yu!Q~PzB~5Y-Vfy@oZrtzJiTOXI5F6>+_IxRa zS-5^oHebYBu(>&yj0HNgZ6Q-p62V|^F$RXtK{wqXyT~i3f7iw@M@sqK2*Hg)a0WcC01>E zh(R}aJw(SFJel$N$mBgun0K7I+3Qauy_&rNI^I9(!*R57(>D*T?pJyqh8Xo_wQz`> zaWgSMBBduJ6MuL&J_AjJlD5ge~j$C=b|rs^O(9=#ZV381+5S?284 z$hea+#)Zd=NR9H*5Cuyc$}-~6)@Ya+Mn6-P_Z*r#r!lCN;8v?u4o|BbRyG^X_u-fZ zLfG{-QlBU+o>B;jCslJ46n&I>k>N}lyll$GN1KMcxOgGf8>WG!0D5C!CYFCE@a_xk zqT!hIl0d&1%W-C`8JCYltQ*~>IEO_;PI5SlhVmgFZ!XRwuS33@Jva!WJMlks@vYXL zXJIgFCN_J#aOp^ON;m4A*4~Jy$XQJ)U5?58l)0eIr=he=z1br?nmwl$YPKth`DhA# zno>BcsgO=f(RoK>@Tbw-v;;H3RuuTDX1Wa@H-oxol$x5!&zY_%=It!wn^}sU$BO~| zq?y@#olVc}HLXf1{2VhkAI;M>HS-E>U&b2}?9t4(WYxox5Z-Pr37r|CZG0iEEi5&@ zh@Y%H7N$%!Jf0bGr9$S3#xKcZNXYl45c;KgwEL^fveuNiFE=al(Mmc1arfMuT}Al3 z)wH^rmyY;lY51^p8|IGH#Z|EI*Z;$Zse5K!sR!%%x!(1F)4zri*OYG6YvVUPNPJet zE3kKkwKLa-d!NoY4!SX&t82LNx8M(O`6GAn&o#yOv;cZI7 zgiw=u2XuW0z101%T#~bx=J?D8-o5UKU-w|=S+_jcX6}$Yuewtro-P3@{o~TsRUIsR zmy8F~8aF8ZUKUoQ!I;rg_N>;Lb`GF+G88YQ%>U6-|MYg$*{VU54vZ1=r3~;`l5>TpcH5sS&i=wGE%kkE&&e8_JWy zu3b~7$TGw=ekv_PTn~=HGURh5?b^-OvSmoSa8m_8&cj-UxUnx=hP-z}J~wh@xIRq` z`P}6w!}a?wh8#0o|7RJlkC$DS;Tk?#w!1FdU6<{y-*>y~Za^bqr(3hG7?&3lutppdv1k%V;9^`9$u!$c)WLbEr8_^pLEX(CjHVI!Ah? zVME5aa3XHo3Nx|f(m#n)CW=TQY>49hWzFPf@7XkL$R*TlgZ$;Am_EgYvzkKKkf~%P zn)ldvY=`~BaqX$fZZP<{WME~<6 zyAxSHnrp*`%q_G%kFX(W>^~ys+@p=ih#_J(A|uw{JadI@eF3d6D7Bu35h=tC>BY8W z#0^=jSRq#u{##MN_5CW`X0FN;K4ghm+DgzrpSa)4%<_D+g0o*St{<8 zRyKx+-T9Ufe=E(^wg+qJ!P-&}(l8?G0q4J-KCgG-SrlL68pYqZmb7aV!iQ{7>=1KJ z_<)1#4N;Psp0Y^+almct5OaMifvS9BhY;hB&pZLY^LgU=5%t^LSQp(yhi|e`%n7;Y zvH3t&(Lrt@f;W-AZ&h>KNZMv&dn@TSbDQQhG3;)2yA0^2*iZ;yH$JnC$RW2YZrBcr zwU6;l#C`1Yb?H?pV8YYmaA;57OA}~=@@Q3|!)DU)yiONw!1k>dpPaoMJPp_5uwd09p zQ@;0V%2!@&%lQtUhgTH@|EHG*wkw` z_9sCODaYh1v+FXu{z!*V{aG2Vk5|1e!}YPUYex{uwjpKPkg{#a(M7yIP=f2SZOE~) z>yx(FSZ3E{c3o!IA8B^|!oG4$zH&@H*00Jzp2|Uf$4?dmuoG5Oqu{OHEyb3=Jj;Mz5His0Hcek$SG_23xb`j5(DNO`GIg6OFbLmWOH zA6&aSP6%8(zVgw9Yd4f91+HCFrwFcHC^#8QjqX8RX4huDbA!ff{2Eq(u4(q}P9sKK z8^7t{d!98L61ks8iAl`0;eRW`^#_Jsf9Rry9GP7oMbr>i$w6w!u|*B(poV-TqlUP_ zJSkB_TvMkiYKUw7R7MSPJvfG_ArF1d8uKY?h?}tGs3GqyYKR;8d*1)3A+J~aU-R3B zdQlMn%8N24Fqw@})?|kf`Nw#Tfu6>ME!kxJ2G5If3WIZ`|C?OT-ku+1vblJi+U3Ur%(K23O$zTr>*)sOm-wV$f) zRUQ9o0@0v|0+mGlP5)olpAt36Yz|L>G|lLVjMDL>HNhh}U$185{oma~X1tBY9jxxTZ#8HNBxxX^PK@ zF6JhD*&{sDc++GqHqCZ`Y?LOtLuC^wH8F`MnMv5(O%8W|CsR{X9lw5FbP4^sB#C&! z4T)mD$4N9rV=5B4X5Qr29l4pddg_e>@Ro@bUM(N*feQob)uh@?aZmh*ji60J}N zR+<%NWkL|8Rkj1GPpAbOl#^@$<6Va5m=;FWXMO!&QfTWwv&CxB&cq_keO$eW~E!s{v zrS10elkYatZ%d-v&F#?+cm40+`tOYQ=~UXx4s!>=klO6^-=)Z1ySTM$RN=?;>tlWr z5drB=KO(Zx$9+2yx^erAQ6MDG?B?)YK6*j;w=*K*AZ3Y!q;sku%OJ%*QplquA|Mv0 zb+3Nj%g_6KjXS}OJi;3##55ud67i1A1Ah4DHPM5r=0RIcjth68f*g6~Au@i_Rzq|n zkN8H3BBK%V=n+5s_p=oEEKA@swVkbw-<_<8Q63Sa5`~I-)DM3cD(X{~s87n00b9l@ z?2~6cLlz>{y=9{}WeMJtM4$D|XZ`4NzTw~Fe)yefI{JB){yayY@XZr`^aVdYpaJ}% z9}kR(boL|t*z21w_=fmrU-Hdf-wx@MD)yvplmKI#^;2r}De8IJH&6TFpPU~(qb$$Z zEX3eqoW86qUna{}>^MEEpU?7hpT2y>H~akX#hU1MRP1+D3}CDeYND_Dg6pp-`D^5U z&Nt5y1j>BX?^XR+b?~s?*24wvdpI~4)2ZZb8(HlTGzYgU9BzBn#tT396TgOQqOg9x z1MRHo))@TK76!XH(%n>=?s+2nc_8#p{@mB)s06!xhuv9I(-{0pCsGss!#lpNL>4&r zO^?Jud1LTvp8~x&i(W|-0^mKvU;L1h(kb@VM`hH9;(bi-@Uc4-wJi(G`=)PF!1s4m zd%y5+p3NwxSr(l49nNP>|Hj}qK6w9!pUM>Qej$CXrLo$^fPiiF!F)ygs}B}NgW@Kl zM`cZ20_G2n&IGmxnnB?&2&z^eG!fp&3`w zSw&XMnE2No4~wk1G~q!pji*B^*X3Iu_o;k(yvOGeku@`TL;&a0lW3N*&n9Vh!b4(? zl6XicMBO|y%gjSO;7NCx%9Wz-nadKM6_i^*xdjQ2iG@nyF`=FjtL+MfYGY7C0`5`L zJ}wd-6HCluJtio*l#+T(0O=$xH_KHLc(@9HaF=6+O0FcEduo^!Nwiue*O0WvJ~foI z)~r=Y@MJZhl8(mK0;Y`5?D5lhaTB9;6kOLBJP|OMtA8lfSUe5%*fyc@9W>a0X znR&U{&dV+Fs|wmzc;=WbNpusJr1Y>+3gP-jW;`L`O<#UF<#{MYmD#cB;BP zAv)gsBc^gRS#vx+>QF48e->>?rWhcLOCOn(kqFp}czRM5)B}qd@();we z)EMltXZw<`2UM0vRAaC^pvjNx*T+FXo>04e_juwtMuza8e(0B;QZL)#c-iMM#dz?D zQusZdPkI>L?bj&`-+ct%1NazBvhlpi^1Nyc?$Nc;7hN14ULFrFE)PwokFLbU>ZwIN+GV zsdf-X0Qr$Ytyq93DC-zbwf4|(ssfky5bxS(%|YNm&}YBQ*NM(L`}~Wp=HGL8J~f`oAcZM&lFdZagLRy*1!*_Z7O35%<@AqA$o{Wqi!P4kb;pn9y5p&X z>pPip+YmrJ5o3!FHc0n?I4Dr!Ca5KR*bGb%K?>1SJHWN8={0Q*aM4xh}hPaJx}Z5 zUX5&qhm`@<2PXXp8PI$_WeIw`*O%UtE$Kb)BfEBS@ykZo@yTS@KmC`(v1@lpK3wej z_5V19>{^YVT6V1-96!7MLJ6+R?7GaZKM+=Z9oV&_#3zJZpG>$u9oe-T%9FybT~nus zUAx9lCA)S#I0kn8uVpdhc-gfZ`wuR=K6PS<8@b~XLtGtYxaL)?x!L1YE^C^aJ(lf# z78J*u33+E%f&%Q0RHv&t^%$CDwd0pv+vl^O>6YR8ec8J4#Aw$qm)Z3P2Ch$p5q3>i zTQ{COG2}U|-r21iKXXLwx+Q+;NLx3$N=^t~KW6*WPQ1?47PoG+h8x4_`S2tffuTY@ zU?)32O!-K`{6mZ4g{>Pir{~s~!l! ztv1f0%d9^ZRvS;)){U<9R39m9-B^7xw{CPjNcEBTvUTGhILMX}wwti;vk^A)8ez7y zbz|nZwr-?0mhVejH)amnx-nDQy3yWp*oAnQeI%HK$UVQjlni;`HgX^xg5)Ea|MRkm*K;sDRXKU8&8ZJ z@~34vqzu=(`A?o4@=&BzLw8k1M;F1M$C``G*nBiDXfflQuS^4;>^x)7!A>`b8)k0-N?|W zamV!`-HoO>&$46IOmORsr&7Jvb(@Z6I9*Gd?z){s^;)ejp!Ef%)=#o}tsbnU2Wv|` zI0p6l(`EGW0fyrRipT zQyKo$;O5$$V+#FYsv;s!cm)2yc|1|<4?M-IaSPu~Ko7aO_KMHNQM?!4;UTW!#QSKC z`chdxP~Z&y`kTI{e;$ADe&!4_pf0K{1S>JMxV-+z@95xCXZ-MMalALcBQa|ueV8+G zJ|x@O{60I03O{`=VuR2Q3 zdU`t2)U)I_65qme&8XIBG(Bygm*??!z8P)K&x42!g!vd#7hPa3ko`OEqfIz@KkT>n z@+Q*9I0gwYl%Mu^lm=386BR5{f_t>!TJGjHy3%UfnHtbyKk9v~5Vi9Z&_o?Bf#nWm{1G+Y~(5e>*(XeOm%ZZAhf+0(96kJR; zytJ=0SDHn*ag%%%DOV+UaW7R0Ufe3U&&R=gpDkD!Emy%6WWz~&rCF&sAgd^dkH1-+ zL~G0%r4af<1%Jmks|dJ2i+GY|LgFou>#O|6ErD9r@@s8^(ek=zef;+K|56Ts_-&hO z!ap3Gnz_8~6C)&Ru5ApS%g9-@(z|DY=Ct9JTW%uOxzp=mZE2v6;{i8nQ8X zbyKpPTlY=4b*p44jEEs=yVMeb0^lH0c8jqLKxF1xb! zb)N_$U$IdS9TKNOTs@Lz#8cxTha4A&fDgBTT!T(B2?7THyf|* zg!Op!sH0nnJ-`y=W45CG@;@>AZAF!YI#5NAtKr8f&VnNU6kX)AwjzB0v-tiea{A|= z4)FH=gsteC3OHiEsfskUX!duN`*%rrD^RUC%x7_!Pvj~8Mc>97(FEJ;Ga0_*E7r&# z4z7;D*)-fp5u|puIk_}zpbxB;$0m>e*ifafQcc(*9zLGXbeKWcH=8?J^EQl z&YH@`pq5k%$c@3^xD8OwnySXYkb%WgQ{C*1AcIBd#-N_m9;EhY_Rc5OMrdjb#_-if z^=J&nauE0Vm*sb_<^XQfJ0JBa0CVBf^Z}p`4)5`*uUn^vupU`ig3Q;Wp+DdICqVpw zg5%lA1E|;@gUC3jG5C>h1`^z35ExH1r&gjl`2=%1)0~wD<;7f_x0`ktLdmE0)G}dc(KI9wVHw2eCdHgN5qH zLLLCVIal|!jsNtf59U~3^MnW>qcz)!Nx+JA1IHU|91t@q;qh=j_kwQ1N}drT%$P(^ z2<7H(Aa^MMlnyBr$USySjZl{KRvDjJqA9jS(G5KA8PyizlJ40UQL3d~Oc26GU2HB^ zX>OQC?i$y2Gr1KaM7c|GqLjqbM7g>9CUEzWn}H-o!X*^I103TKH$XK}3n$iMqt4jR zcYNlQ^+DI8CTphHm@yv1MO7i$I*CjlC5+xC^N+rR%4K56gIG!mQOC2 z@+)dLg4f5X$Y7~qK$Z_O^+>drx8Zd z$X80X4=R-br*{dh89z6-c_t|gmS#8codU7*c8@UmA(j!?3@jt?sYKw~G6I(oxWlW! zhX;XcW!85D1pZcaaJS!9Ar4#_|0<19w^7Oh@$srm4o=Gl+}H2{?;U1*Xl<2f?e}~> z194S8GmQc46Ykp>yynAQYxrK%?EQ%keIy{M2ru6ile8+0Nos=d|9&}RsuYwf)JF)} ztunnK$$W&0tW%F>QDyohM6v4|^&@cIU-A@jy2Tk*wge%r~ScD-oOkF|7vY#q&L%|J`RqIYKf>NO5nQ+WIEIs zm2qM19OEtYN1w1?k3kzjbURC)sbwN&&U~~WcvPAC#^8WD3Il#oqjfId;lJM^Z6yB{ z!SO_JY*eOEe24Cijycdk#tsa)p0G?~&`HMV9hgTh9ld}&7Z3)|T&Uou;ZJ@MxHwDD zgDEgnPr&E!k_;OyqyCJIN&1Z5jL;N zENTn@4$41@+7jIWv&kYgI5OX-5RYW_RKo7mY8?zAf~7%t;D$_%pDW{IzEa0Z<0KWbc4ChY^;km zxk+d?aZ6MZ(+;|R19jhk3BVGZb3(c3CZZ=r>B zg_^dSt!^Ud_ckJ}R+*diE*SqvSMe6c{AP1Y`03plg*#OM)+%#rW3Z3nBl)lRu_BPV zE3}R8+t5=)ZEqu^cq#0YBtqk9=G#e8bM^`mVsxjP<;A3p>^to{Yn5qh4BoKa zd&Y;VazN2q-_#d!2m;8!RJ6&1YeY#svDqr~G4hQOWA&uIRH43vS zWXMY|Mh0UPGSU-Ow>M^rw347vkkDwVu%1qMSLL-74y-t@<{leDh__9M@V!(dnoL~{ z02S|?G{LJR@1FM)zk_T3fQ#P&CiBi!#d}q%(}*{hQM-)V3YAwz?URn$zb>P;1-vq9 zzh~6`QZ>)4;>w@jVdW35+kU}Mi+$m*f2bh!m53&l2?}#}LjBh}O}P;2A6^}Pk7or6 zUv1Pg^;_y?dKT9FOz&3W{rgdI&5zj7XXNd&Uq92oE*j9DsHS{D6uL61Me8X=w^O+P zI{H#t_fyJQ<}B$x5XU+c^;ChYjh>dwqb0T`>N%S~s}$S#|5_v*Ld`?TF*J$rH&Mzt z<{Z`YjE{6|SJ<3j^<~wgg|kZP7|!?MxCojNaOe8)SAU&xA)-Yp6!QICj%!Z$QY$SldT&bXLG$E)hJ(m1V0PBe=XEGfB?al=P{;Y(UA#fr9C?a1(MdkuH_XtvG{ z?P{}z#l)*cgUz~D788+ZY0uJN81aTY^6WM6;Opun(59~{w6~F=+L*Afz$S#)>(!p3 ztA}hUfMC3tgPWnla9+r9UOl;yq#G?ARuW`agYcY>PT*GhDx;fK@)ok)lE7|nH8-=p zfJ$yBX*=h;eM?g7M9mwu^uc|nyiXIRNDo4wg(`bcNLb?;JE2>T7AIKe!@@37M}VEUo@3) zb8u9?-0Qa%cqxPYfX`?{MPaB9!cbA{p{roeL&SsT9rcsYRlVP85K;-=ZbR^huh)l9 z`Sv0|svGFjemp_snU?@|ANa<<_=Uj3Fygc?XxG|)K+C$72dx{rEeOIt_@aIFqp^;w zhi>IijVZSNA&Y}7392Xyf_}7D9?&mW+13K{MgSN^N zfBw!t@f>LID&fzv!suyw<)g4YFE*hwukEfqR!r|^4@-##ZxF;fi2BC=rOmVYn0|SL zX}%XN>aeG4g+-${Q|%!B>P)Sv%R`~rD#Z-0)2=BcmRSRt&YH8>IV}FoYv1)SwP5=! zb9VUqcV=`Wc*xFv6v@6W?`-Oty>2{gT}Os;Y?yXZ$wQ^FuWR;}lcK#^Pu$q2k|bfz#mv6)gDovGAtDfIZ#JR&h$Yc+dy>FAsnwQ_8_ zX*JXH$i!@%((J7uWhN;z^MyDVbuuHI%~7|9ilpImbjGwJ#F#WRp#-<{(VLHtUOIo+ zYl~_ZnT2LiK3ZHHoyBf+ES-5bsr)vfuCi#;TOsOyh z?akUv+Bzp#CsNGk`PNjV!J7&prW{5b9Dj^*Fko44G<$lN!gPb|kCTi5uZ_5xy(J`n z)^h02lALnjX74JJF`_&h$$6{elYk{h%g0B_L9`xRR(sQeOcPm`- z_MfI(&kUPrvEE~C$|@;>MIGI@pZ!cutApJ!bYm&fR3)e%)hsRMSW>KEpTq9q&lv;q zWC3pvV`ty)iUo+*fz`eBLXt^q?nC)LjVxWLp-L7MbEa=&zyR6gC8}fzX3@MWoA38Oi!#Bk+@I-?zv8yU>d_0L(moO&u5 z!S@k~^pI#I&p#}uodiP8<(eF$WQ@ZlsYDVPWw%LGpUB- zK|M&1%^dw^(GXSSg1W-)ENCO+K=ej4z7<3lptD7y+_;;2WVD@G5KUkjP0-o~3qJui zaGsf{UpYPPCm|tCruoV3w#UkX?YV*gGO4&b7L&MzIV@3$)5&To=j?_`wM>Rfsnu?d z#i3eF>}lFE$)0H|-&?hnVl8N&D{PZR3Px=@QLIF#YdA}N?xOD5okT*eEkJLgQjZpj?CSR>@Zqlj4ZYDSo~L7AmpW3JK3KIzB11pPU4E!Jx+404E#!nvu{#yVwrN^MBI z!@4VLZK~}yj124+33(eOWR6+O4C zNJVr3Dep!}dA6pT_>L*tR`u;>YC+yx4xSHe*Vr0yDn8E!9uYhb@;o4d79I!Fc+lh;xGKem1fET>kC^&qOBD#*$VLbKB#ed-WwF5SD%K#76RqQ&v&l=)DDW4m1)Kr@ES zSQV!R$Ddc`L+y<%mT_bpna9~ZXVr}-l=%>|VheP_?PfAJ+Z_j$nT<8WL#>L_-Qujg z2fDf4;zF3}B{KhRA)zG!V`FViJB13Sk}_4h(O#+)HW*aZK+hBhJ*-~0s^E08O-DgS zCI&rcQg9Y2v#fxulsRUO3hwpIOp8%+f0(O+^T;;O*#yr;K&D`cG8(-99hnPTUT%NNg5Kc-DB{moLzNKJFwe8-w zV60qNP@NyN^BW-@2)0T(mjVg8xcMywQ>vY+&Tw%#sz998B8oel+L+hG5rXYk%DK ztaFF;@u)SmDf$jb(RT=V>&e8}GLt4?*H8JXGFo&+!Ak*GM_AG;qU+gYW_1p{Rc4E> z5t$=LTR9@rH@8h_eKd^Bj=d_gMc2}josPg#i|9I%%p+ZNPcmC{Eol%s!hYUvGf-~v z^T_P@s%p0AI)-jIz||4CMivFQbgBFRnV#w)|5>|b~*rJwF$SWD=8^k z-7B^#1}Jo$t%3zt4CpCZ#XJhOa|$E{Lp7Z_=sK^6u2-mFyPaNf7+gfbc20q$V5p{o zpzER{x?ZJ%OF5&ZZlhN?>~adWa|$Gd4Z&3qbX{IV*VQVxhJtI{KCh6~wG^~E1wad& zl9G~C&~bPz&ZOaR&wxeDF$v$*<`yZ!&C) z8-pd1q^kK|o!U$=EIpA9dM0SSnUU12SIb_)1UqCnOPer>ddD2-LosK3tR&d4t_*LR zy^C*~XOR00v;yTGKyJ%(Yn24gRc;`ofBL#WH3$4?O#GY=wav6MBSsQ_nQHo> z_-4#lyQMZ#FRhK|_jv1SjZp-}n)%&q=_^o*@@poBfA+u7dr2k^GS<#)Sv;8^4npCo zE#ZrQEX_WaDf$$SOtFH15cN_uFpVT<0jwna*Yqwi115{{FLP-mf{v(c#)9pyB(}_y zH7!S`&HpswScDu7H{@kKgdo05S!CYXY?` zR5urqw8+s`l5nwBO-s;$m!vh32RP1HIL7UfTCU=k(*q!|HSpJEj=ypO^!6zqRe)D= zdnc~sJ05DQbQ-HE25v%Um4xfHT3TyXDRhKx_jU10KH!>36#%nN8)4Jj29i=dB?-d_ z%}nt6+7z!Vqm3%LiEMhq=QSRzy+I{6la!i9kc7*$N&?t7IKbA3lM5iuSRj7MXKvld z4`(}p6r3?zapBgKyP59}M&YX&Spz@ARFi$pHh%JkzfUud&*wDQ+cB8fu5Ge^^QW(P z@YYIbYobmCp#rQ&>ZK(o@iKmuBo)lnFk9{xx*h0Pc(dw5wN)QV z60qsv^#9)Sg>LZrq#|xl6Xx43x0zn7=;*js-7sfk!L4szh&;{4fY3^5KM`bkJ@W`m z${>k;X3ncbuq&iCPpeLwh6 zIYM_ESAGOnp3GLuZt$|vD2Bi)x_Kcu<7Wq7KwjJnu+!*4?n<24=s{dH#lG*AhH>a5 z_I&`}cZhpm=V)`Y$KB!Ud@kX9TFfP;B_G8>i-`+oG=*KZty+Owd^{G#BI{J&X*e)X zF|DCC!kbRr(-k=<;5lG7-0n2yy_N>7e$njpv&GYs6hd8uxA#6!Rgviuag zM2#ZIuwVp=o6XJUMm_B|YsT7lTD{C}lNWr+Mh*kHY!TRXCu|dr-KO_k3y%_XZ^!9F z_1{7LBFV5|lG;q0S_aN{0OxwxS$#JPS%%@MswD**GFKHyUu4Ym;c$!@xCHO5SZObx z)^7!7*U4cG6a`}h@i!sR0#fUnFXJgEcoB6f(QM!jI1FtTGczq(icT!n_Zo= z7QV9U?q+hPTeEkodw5r}s?nX4?rDr-Q%&SzlgLqIQD4P^TM2w3c*-$hN!+d)4wsWi7A_&SbkbKxij3&~02SeUkf&htKq{@TJpGA3Wd9A`n>t{q~Q^;VE zW?G{tJ%I=v4I}j-qz=hPL*u`dO)p*yIQWW6kf^jx}NgCgeI+&H{`Xc zDKGBL`Dkp=V#d0m9*8j-Js8B|o!0K0n+8>|FZE778k@Z~4qVIuYvP;J#?`XJ=78Pn zl))a1y>CwTzPr?YJ~dd@=rCPOvrfL!ZE zy7-G(_gkFDc#ZEx4`}?KTZv$)0G3P5vV63h#+Mg~?h1(RN?Kg0Ff&cg&esO3jMlLB zx5hSpHH}~G8n=|!HO^VDqu@GjI~HEno1mTP@56TC{!r6j!XjZzQpqY{kXo?m4g3+C z8_V{>0wBh1H?YcQgJGH=U5ChN9U?Q|-Qt^Nv%ZBA=)WusA`4?Ea1+0sEQ}_6BdYM` z@E_-Bj?KVQO@S+KF}LQUZJhr$Hw9-R2y=K=YSX*j+@5EpFK2c%d)VR1viCOY{Xx>s zW{=3Past_&I)UU6gPXlp(pcZS4KY}@zT{K@pXsW$m4!ZiPL~4gq4T=COd%-)29NpZ znY;MmZtMDBj#mG2P+|%H9Mcy~X!Kyoz=ezr-mR*j|l`x#k_)C;1FgO50Hxmzz3~eu+3%7C0OLkl}sySF7d;vpslUOA@56vATQPuEtH^R zm-2zf#SBiQf>yBiHQn-2rJdT9%r5Z2La^SS0_Q&=TM2I3`GvJO!LYN2XieAMFn(a& z&DMeYgmm_f>uq+qO*hxUQP|7?mtDb-2V&eiFdq%F)eO=^&&kSTq3ib&qTUjC&D3p@ z&xBN78N+jYwL89!6FQTxXEOE-B>ys;v3xu*PLrWTWN~+96w%ZW6IrljP=@xfcxiK5 zUkcsLia1Y5wyhwq6Bwu%V+rfSkp+2k3ct36Y=oXSBe&v1LGWRPk;s`*3Zy$i>kgy& zHJT@$8Kqwh{A$2Dg=IND2*;*loT7So9$g~HgahH60N+QZQH0R-b3?}nvPCT&p@ZW-1WV`kJ$ zOA}19nUIerGAt9*mb6H2aX4KeourV&xMDO0`>9+4r?2yBUhQLz!ry} zOUdl4;*{Ci6SVW`;D|!ze_WYe1dZJ~<=y-asdg1liB%TkRroF+8?rSVUgM1AID&s4 zz~ow5M`p}6Fq%_lP_Z7%xtzJig(c>Q96LT?Te8vr0jnHfH9o`a9+|0^y~2E8N|l8y z|IN42i>YKI*;1Rj>zqv;)q`jWfaY4hfy@}lZ601A970S_(lsx_W=w z(oKA~CUhZ>f`gqrXo+jH6;O07Z6otGSZ!34wM!|c@B zU`~b~HTFIOFYVka+I$F5pSAX9-MT_lptO?dRzW?OGStB9ESF8NWT?b-qOzmw8Qv4& zFCNc8PkK9}Z>C5dyO@LmwhiB4>|F3ih}HsA0yK zVHT1`21XWWIa#1(nshHTMdzd;HinyXAfUs+Kw_}BMkBcsEz6`=gwHXfWm~{59Hya8 zCSp9=(%WvBW0}@`Yxh&%SHwwAA$7v<5f3Mj`_l#Si%P#Re(AG(TqMvV^yGo9V4G*g z>WS)txs2l{7^jCXC)g-HF`m9U12ToCyqI%tCdHYMDFuUEo#7-*$uJMdUpZ^= zHG^s!~c^xfHNKB#zxLDbFsyxSO@Aj59;`%f1uh1Z+UbD152nJvmhTWEL_{5 z#Vm9@Xa(q#GmDzN&C0!*C^{7d61muh(Gj6sisOTPg@K`Etytm`Jd#RR^0x}x+g15! zwT#8g>N?P5P3elQMlj8ZJ|6I6d&Sl=@OX^bE0(Da-~O9Sfk!U05UmcZrwC>Q&udWl zTvi?bM!R+taEGXqxI*v~=)j;1Fxg->h9BFLQA|mmt|^biii~2MQ))#9Q@p|C!_R*# z&}7^i-B=h2bEC#Vww;zjT8mG9?k3VCr+G7{DEr%+&DJ_dzO3!UO z=Z5K6;oQD{XW$Tpr@TEkTj%YRx!pbZ^tnazZ%4dWbTd~lJHSPvjk&Z-15kt$S)ko1 zD>6+VxMdp`r9CyyFty<;f0jY<7)bKK1TA4u^(_SO1z}BA-nzT!HDXy|^ac#s9WNkvVAp3=gRGqv8D7os#k(^*Ls^sjma8 zeL4F|5df>P!tRpQ8@?^<>Cz$uYdyL0hNP@ zAP9)4h&NQcTLnbLJ6_t_)>>Net+m=xwXJOH?FqvQ_Pp{e^h38q=%_GckiH2bB2s5%i49>ta97X#ZLNXi) z!X8}((2fp2^vot%YLzqqtr-`*_fC>h$B=l8hLRVR%}zW7y^?4H<#4-+3Ix28Eq9yH z8*#EZ!JMq`wxkAO;!(Xgaz@%r#9uAjOQMY@ShG{-Y5c~C>~wQFjt>b|@Mi?y=m#^y zYjLKiv58y{g}HEd3C8IxlFn+nyM%5!)l4>1^-v8D~zx6c~VD5S-`x+XmcMve-fw( z(LZ4bBSxz#?HtbMV9cdk%q3?O*^H!lW}bR59{`>o_MpL`jJylUyQM=Jd7qR+8F9uO zh%Bb&#cl%$va?n%G0ixXQRpepEb$C``-DOPCfGn|Nu!CbmgiS`(ZdHyOWdN|J$}~X z&$mnC?GptJ-q{luO}>J?yz;Ch2YSNA?Vt;|m|Ow5-wL4(zZmDpqI zMu21q7?}+%aYN&?n}mP78|C2}&!$J=E01;Tt(B21Sj%?SqWIysN}K#2msve&E@MmGxn=J|f>f;qs3= z`ZqN=9fRCS)~LxDaKfqH32y0N+N}&7pp~$ij+~DnAWBVHedK&hPC~1!7%~@RDPs_&y(mtDGBZ7u!ty#FWBlME7YsSd zk+~8~Zg6}fGmoYe@?mSoH;e$?BB_bv8<{b5F141-b_>V1+g#>S+nbtuJ5OUZ0}JV< zu`2V9Z_Z23I8Q|0fRuBDD`n_wIEUzcUNh0Yq8^*L!9hdxr?UOXvR}Bt5h)7Sz-@R{ z@(ywad7FYw9F7kF$SK&w?~N2l0u|)V8WcIpRT98~f^LIQhw1W#JA{HmxnqdxN{RL@ z;(a_sPBLzQ4p+fpWEu7qHwe){om*Jw9)pGM%Q$&y*PGQI*dwW4@0TNP<+d>dal66U z7#aYt4UG;G+;}I!>HV5O!3iw-$=t*Rjud7BW#;=k#mQiLzce$PA>U&WxDC4vk%AYj>4D5mJmN@^M;w{?hMRcAky+COnVW1qL`t;v(EZwah|mh*raPs~8aN#* zPD5pb32*3({D7Ca-D4r&u=`!OkOvjQhk79fzgn<|!7d+kxj*6i26!lUDO19EZp9vM zf(I`}-JkG%17ygJw;r8(NRLlj1iDY;QhIf%?0b1glmv4YfjO$Wk`+Bs9NcWd6=sW6 zbF&3Cf=^5G?#IrXV^K6ys4dJCt#Usu73Hxgnln_8xj>PAw&{NC=VfXpL}yX{yc{|J zIOYqcl$9XxjY8lXg}_eWWqwFC`fzL))r-dkcPLW5kbtPhSX`xSk?Ji{z5g#%FA`wu zsa`T~gX$#*GHbI`FPC5fT1oYic^gzOIkupB{YI+SEizi9dMTWzdYy#cBGpUgJk{$s zH&pDPq@#M>om!-NDU9^(s9txc7O7q`=c!)Z=~Gj^kC*$mc#FM|L13-16@vg{P>FDh z2BMk+5^p~aeqEwJvyKDRJn8$~_kKjk9B6`$!3Qts>c)WQa zkwddx*9k`@yG}$5h1oY}`!>=Mj7r~dDbtVYLjPmK{;WR`cTr;YQ|vrwPNzWAR?l!1 za^SASn4yPrKjw}Dxnsyw1pi!>M94izga#4Y%|S=m!Ss2EAvnACy+7EE9hJ~ow~VAy z&}FVyOw0I#IPq?Tzj*)T7G8XEGkp;e(EuhVzI4^H{9dC5G8oCivu!j0P#!(9Q&Po8 zlYO)cuM%P*Kaqe>{;PsIlth~l=?dY<%<)pf9aBRF78)gPp)pT) zn+K)L*q)4Zcyf;LlbkCw`zbkuTOv@7#SvKnC~-tq07}__xn<=%L|U>=q?q_+o#T8Q z#-f~L&Z@U(Q_MwU&q+f?#61QmF&{~`#7sk_E1qPtUZ8VO0@Rvwf_J~}Srk_Kc+Mpc z8#s?pp4IvYviLyaiLC51Q9}`LEco>Y3M=5@lw4xYqdvE`o)j`56m>sGz=V{T3qtdW zS)9(wTO_#8*o7MlzQv0>hl-$(%|$soH+(D2T;9k1p_EI^#g68HKucR|8QRjNbN9gKRr8;*oOykmIz#E*i#6B_ox`@l>yo;G(>u(a?BM7<^CrgA`A$B z%V|$Sgb_S(NyHPg=$3FBK2w(3J+y@0s5+oNAdulh@JMz~_EXzB6a`@03m7fhIwPaSv@hMD3L8MGGKqq zc$pQA+0$UbXmy^q-Zj?rs&8RWPb~pFS>M9T^`XK(`8d3h8HH>oWUO05lllc$p??$` zd9yb>si~3>9;iy$Dw64tlUu#xLJc1M+#kWig_D}0kQwN9 zEYf)`t*^~N@M6C^7EX7Ipu7rzjOciX^aqXFI&Ir|7!7aK*C~Yh+KeQUT-3AwbUUw}qIiyJ;CQ%EdE7xIGfPTcWcEAHS}B9aLyo zDCo*4i|0cSUOnS6oQ}~mrqKr@{?fZ~^ln@Z`Iqx!vGF=Khm!9YbKKZ13@Xfco`<3h zoXB0nU_6*lpv&XmDaf}@%$4kWYV;^3ARhB5;L-1JifPo-Fx*b>a$G11(;R1Afk=F2 z4gvUdY%3;K*-8E|Gl_eZ+R5Ub&*FZOrf)KVB-MneB!wY(WzcnwIY)yE3qB=e!8NE8 zq~s}aH%Gt zYvS*QgF2f*Rd5DzlQr~nNfdcC>9uS-KY7+IAzv1pK4MX1c`hh-M@ zF3F8ycO^h07;7Xh)ly^;1s1tb4I*}zc(gtee)FLtNk-Vc+$o7zkS$T{9oi*TWIwU{ zC63+a#)=HF+N0U<_DGkd5`kr?n-wL(t@QRG_~wl$bOF)yYF9Bhji9_j70cd(K^Y*j zq67)o*+xj&7d-V{U!t%=oP}cq>5vEwEGW{S*Bf$|9>e1z@J3+iT+71ptw zr66vA<}7b;hUTo?nK@8VH_(TXfP60;ocQycj$-i=*y~1kNPdPMvfLyJ@xScnAC+SkTn(* zO`E;k&d}7`!}iL&=|LetAfPBCXP!1NeS*i|@rYEWKxNq9<}hp6R}r;C#c5w23Rbx8 zLAv%uhPW>QsailrMh_wkfXv2i-I|!$s%0tQvR@dd%o)|b5UZI!Eer7u%iHW>ENpt+7L zlyOxQRlk=EwA7)wAML3 zIO|!y;UzMuz;-r^*=$T7->aLd(K79bCz$4_nVeg z#$Pr16#v*=Yp|kqhHf83*FJPl<^!2*Q1yqQy&D1A*6aF3&M+L;i^wnzk^`eUmiCLd z7$Uo1ebs;S3@(#16RU>xZnwEKpq>@&4WKZlOBBQsjzjdsQcurrie_<47+s(H~fx%_D@Uzo#n?yF!h|R zY@5rsxZB)LJKsrm7%aRK6BJAbZ*`(_;h4l=OyuIDs%UvFUU@MyRb%`0eFk=hv2s1F0b@hq{STgvKyn~Q(o9sIQM$_0j{v84jAV&ub zg6quCDw(2<>{MD&Ci6q*-r&evV0c*Y9Q|+f2o^?8Uz%yDQ(c%rlMK zM5s)IW$$!&*l7*vbOuH=M)c z$$JH;&WkDG2-vw8@6K`c$ev$=4iH8Nw=PBRKst5Q*`KMSNtcNy6WR2xk6yop)a{_hw@nj|aW>TDN8bEUvzLZBYZLshK_y9Y&+k6Q&*Q5lHmClp0ifj(1g*lv+ zS{g}IO_E&ezKxYaVUP|ag`K_8ak8A;jCC2dQ_dzzD@+ETH65$YXaga);ABNt#Ttlf z&8>mz6%E_dDusp1J@Cc%dcGo9Yt_pKyEbK4>-riG5#6le`dS&IN!SYPed@%0bbFob z(Cq!5x!((Z{t*ws?d*{@54c_c%PISy@;*pjW}x++VELaN{WTGRk(Bl2C&lOr)8MQT z@IV`!HNfQH^2^-^mJ%#$vhHY5;sq}~$le#+sJzyH$;&`ra9)uGkvmC&hbaBCn|*;O zxV?#8gt*!z3oZwU%@tdU&0X0D=$E&-dyK#mc&W48#h*jCjMTiFsjQFodqZW%0BN%~ zp)TNCW%eL?q{Hexow(dn3p&HijFXweoj19EFOqs?!QlMf$m+;G;PF1ZpNIl|RIZv# z)mfzG8Zi(1s@;7_>g%?wP!hhuG9Kj_?8{S-VNC%1QgVN?g+9VED?30X4 zIXz?8@67rXiP@Za5G$;J_5BHBC!9hp zOGolHg?%1P!7eyfLQOXIve88HPW54c-11uFlT2Qr(y{qr&>H#P-d zkXIpmfn3uRaiy$MI;guMzXQZo(GCziq@=M==plvH(2NjpoCcF4voDZXUEET_v`CjA z^hz(dew_0*GXmdqBMlJh#DZ6u@8mck5g)8=vV#vGtgyV?4pL3~cx9!fCr`B_eCaO1I9S0@^*t0Arukt2m}324jVD;wGly9=v@(|U#g zHh{h+6pKMuU|W79S%LO_p73{hxqoYet?y>vHnsINDJah+clZh&nv!jWs>HtEq=OrQ z*bZFpfMQeWgKQ~)Q$|XjK+e4S`iocq%ZdV^{=%(!#9c0v;8cSThG7$;;O4uNnYSex zry86wGUU@XL_0SXjlVov_Jh+I&EZLnim+0)24fst#W8w z<tHW-p3fF@}#vzOjUM!aWa3|nb?sbp`mg;v1A?tN6U4@m%V zHN*xN$ds>4tNMZF!RM;0)d)Z58*dtFrIecbe%agxSWpEB!}_t40o}~*ErXrwVvh{ zUYm6c@?i|{;h@tn{$=F$kpses=WB*n*&|4c96pe)*_^GO?Jgu(aV=i{gl$arTa z!CSDy5J2W*qG!^dGIkInHo4mGgivYSQ|yk zH*SkT|&0)TSUmza!CB+Yw;^ zOjV5*z(6|t-P2vf?l1lc@<{R9Qw?r+=KNsAhn_>JApm@SgM0YlT(Im<@`Ik8x!p%7 zZwTW%Tb>^QL_@=t_N3tWp)q29yC|IB$T439o0$5}SIFJ~yNHH}y`&JaR|S~}7rKd1 zGwKqIgnfINI^5{~A=f%*Qil-TbXNing%2xU8{o8z84e(|C`_Uf`WiDlYvlKePbd} zNN@4M>LivCsYdq@cY&GU7S|cD8zCLn7&_x#U@T;ODT1`$XB4&l|6LMZ_HU4cUwF7E z2^S?{b8=Ak3z8?phq` z>auyZcMr$*5?sp#&Kcdkp;9e4;8=m+hf5E44y&-8VE$;hw!*R!9Hwi6m) z4#>%@p`q74h7G?=K=)GMAc%;AazupSd@!=Bc8|w+bVz+j`-`36IAqgtP_sUK^+`tPN>J#Olq)jPk3`uR8*lI zXmDhNOLQ=da8>j)EENttm=%V2?bI6RBMnzNXhxQRhw939j4p~be6)*GjbE#(*L$2l!6OkJc1nVsKlFzgguY?Oj6|Bt58sYpLuLyZ1t~MwOMY|4ceWIH6jTc|A0wmLIcw_W?~`N}$oZsoD#_)B3H`7Bt&P1^OF zWjO>uyDov~r%w<0If3{b-Wi!#?&P|&SDr~)MBOx!Ze0S3pnsyoKBenVMVX)0kEfNn zyi55{-M+?^vYzlo`!=N=XiDT_{4%eZ%o$1|J}m-Xc!p2mW~?9&P2G&0=kO=pj6=`i z0a!>hbu)IJ!=H3B4n2pfw{kOfp2MGXGY&n64f?l+{WX)3=dfiFV7G8H4)@orw7tn3 z5)4`p@g|jm#wq7~0TOdXJOkUkyJbubnQOxRHOb5iSK5?j;0o+8uUoiuX|lg2nej+3 zMLE~({+gi!GcRY#ksoqk9?1E?y2Q(35(bH*X~IAZf-9!7MuI^$7{rcH2YB5FM?A;? zdx#1)@j7ol zk7#7bf@F+6N(CL;5PBUSrCs4lVTkiy#nGm4D!AG+WBC3wSd~PXpkR~zj8X5MK*8}8 zgg1}_1}P_*lT?uJ^#s1y@R6LXf^1b2g_bZULn%%*3Z6w(k>MFBQ`pR%g22FJV1R;J6_<*kNr40k6C*X>RDOk)X_z-qYvVqf%m?RS zN%jv&lbYlxF)4|N`yUd{58C9I8k+2KJfmTkW6)z}$oFG2F^iJ&zfkVk+z%4rLUW;# z8XSw^kwdzq8csRd#hBa|lRI?6&^~d|F2>-|ToZEn;+LacjLE%_+zYqf#TY1C5E1xt zBhCk%AUhLBQ`Q0ZVrG-e-Fh6qZQ)GWR%6T)I5R%tlm0#NuBshBi_!VT6`oN^-V%ss4Ownv}NOPu?HKw1oBz zCZV~ljf>!VyHL&YM2g^A1lJt|uKz58>*o<%mpQxNpjpWkz`@s8YAoRUQ7^yl#?BxJ zMcOR<0Xt|qyMzE90R@_KK@Q&kSu)g~xd{O+nlq+FNwNuk0W3r15$$My^ zZ2q-V_ZizQ(ke$0EJI7Q`cSWiAlRKLN#QH2a?a=hW3wvMX?w8t6gxn(dSG^zGJCp! zvU^hT*Q-#ldDc-9xe%M32|QCA=GS|1sTZV!Ge+w@vQtVHRv&)tn+Z(PdZJ%j{&i0K z7zIS@6TEe^to$mmBi>~=j4gH{@Z+*IDPxYnuCRFFmD!7^oZ z!kKUKjQ?QXhPM^cG8NfGph-(vw;iVJA=uk+n9O%Fa>;PY_u-t&ept62L8%e47apl3 zjMsD{bjwGe3RUg^RwHAML&+$>3^YDq$Fg|?g!#>pl3400pw5{^wt(dP54 zL$X?jU^0fG8gJ|Q8fB1>37?KqPO|%aDn!qAiMd2cxMgT?7Q(P#zN^8xl)MVCqr9=Z%&!*H z5;|D~;#uaxvp97eg}~~j`Z!&<(&^*44=WqQXO=c@tgceQ&>cf}LlACW+eX2)j(-XF zwsvtLQcy4&G*3f_J}re(jo%=Kc1HMw6Ncnlft}N+!N=U>5gBqNdlx@go?5WD<09`; zZ(*-yD1=bPPDc<18(~VawnJtYOnEz)(xZS{4yLTicFd#Xr#qUCop%LOlc{t`htjf+ z>T=ULhs{|6i{RV;)2rA$%I{#g zF5y-cL2&bHeg*#E-u_-H1nEOORuBoCIG*GR!^IjxktT?h7VUenQ?Trhe#Nd_(L&HE zXI~yLddOOS=Zkf96$mE(alZGoINk%luP{$unV- zUEEE51XbkcR}X{3icDxK^>MpTz(Fsw68?a}_kQ44bc*i4bfjssCk2_GHmWhi$=IYD z?rC}kKm5Ban7O6lma+xmmU|g2q#GkHgD-niYHv(Gn31^9N2HAIZgux1s&Wa?ui)R+ zoQI}+c)KLbzQKny1zT752>XUj(UgVf%S$Rpbop1*6ykgaKc*=i%S|G9^e-Mp&S9DU zWa=Ny^F1)~>(CHEBa;x-4$po7a~VOH>)~ib(F}6*x~X;3Dz$x$+B!tFx!J7NXJ)DP zM_}dG0n-qCt#eq1BrI{|A!-g`wi;>%2W5 zSFq=kH%Wq*p9}z73SiTI#N^y!mSWrH;CnrhP^k4pye&^`AaAfq7{Gj$5>dl+l@I?O zMs(j#WJ?5)gOdY*=Eewd#AO};k&|-a;LMrKQiNs>uKG@rT#c3>@HYweu>0cg6&|6f z(TABDd~mC?^e)BV@2zKEROpOpH0_+=r8OR6PAT)%kjO1X&48zPGXZ~-%0~{J9!^y* ze7qT=Ea0|CjKRqXTXHxM`xM<`YPtY>ZM78!<3b9B@!&$5CiohS-L&O~&Ssu#t*2(q z&%CeJUV^#b5OYb?TJU-S^(=7afU;`%Tmbdmu|R!gEKolZ3)KGtK${2Z^|3(xSS(OK z8w=Ebjs@!bTLS7gTLS85V}W{U8v*r()&uox1qSNBwH~P7$piI6Z3@)SwGW_vsUSf8 z{T&F@kF+PCezpkIkwpEASK}n=dtUQmBa|>H zUZTE_E6q#Pk8qz@iFzHyVkPQ_DcQV4eLuz8LZaTh)@!Xq{nPJy1(m3OKvP;NQNQ_; z7fRGGF<-TvM7`$c?LwmdaF;?z)OYW^<0R_a*ZS>8qP~O17A0y?A9uw{)HlUS)DOi< z)R+A+PNIGyR-%41R-%47R-*n}tVF%8C5ie!Tau{18Y@v>+eQ-g8?Be9zg%F6`WLO2 zsQ;Fis2^`riTW$;L!$oWo`nGFAMd{7fcoL~BvC(Cl&B+#dQ~h?Umpw9kH-S_KLF4e zi8>aj*Tw?%6R|-3f3ZM)XG=i+!i;STP`|kYf%?hz1k_(H0(At`-}z}A^>P1?^VG+O+^2c!<2T$VmiqY4H7zI;|3t~=sgG+|rMCt3v4(MLr84n%mn92I zeXOM^t)xEwKvSGD@yWlnCH3**H~sdYO#DtkIO@$ikfXlq5A8^qcsGqLQXir|Zi|(u z?}(MCAC8r%m;NyhsGo|Js2_=ysJ|2|QGXOGQQy~+ME#4FByS zX?ltC5?V zx1(OqmF9tZNi0x56ARQ2#RBygV}bflu@d!~mVo+4ElJd0iUsP++X$#%X}v`KVu2;< zpSE72{%u~Oez;A6`pfMDsJ~kfiTbr2C{aJwo+Rq87A5KksGo}k>MLR;>Xoq)_4-(# z{xBA(--re3H)DZ%4fknYqW+*IpuV>yiTZD`Kz(N$0rh{jUZVb6fhFn>TQ5gQPpuWA0fcmGc2kMUs4Ag&XJy2hh2kKw6DNz4c`vB@|3Ifzu z??9lwwmkv$$|6ulKz(B@P_K9`j{10vE6r0MSHuGK!?8g9cq~wVITomYA4`2a&=OGp zvL)){Td_cWMH>P2w^~nqY$!1G@t4+9A3x1gA75%ypx)Fzfclk!P#>@FK!^@doWzA_f5pN<9U`(uH6Lo87LJr=0H&=OF;-4al5j0NiJ+X$$i zYCTZDP+*|`ed~ex%{)*))}}!HeER_ER|^8vZ|p#zeyTkI^|y*Z9Rc;7u|R!oEKolf z3)KGvK$~}Xc_bF7AC3j;=VF2SgIJ(m+Y(T}(-KgBGZv^XYa^h3t@S|tQh|Z`|5^{! zKhFd8lWhvrFSHM!{$4?V`iDCZs2^=lK>hV1P)9(0ODs^|5)0H%#RB!!e~bg_Cu4zn zeJoIaB^IbZj0Nh|EdljUTLS8@#RBz}Z3NV>w;rg!T4135RqKKJ*Lk3Rs!f4IkTBhz07aVuAXZSfE}J3)BzA0`;0$pnftIsQ(ZP)OWN5 z)Ni!})X&8N^)+n-)SFrl)ZZ^KQ2)I3K>cWrFC7}L#EKsj#BcOh| z^+5f#0t5ALTMyJ9+6Peopddi~<_-kv$J-N7KVJmu2&jJ(3)IiYn&*8p z);#Zru|R!gY^;xOeI+i|$9K5We5{Yn+^2av>Lo43`naQ|SRdEK#`<`rjevSRdRXK>f2fZ>Z@ac`qef9>c?9T)K?W4sK3~HpuRH?)GxFt zP=B|50QG+t1gL+y1A+SH_5{?o7J)hf>aWKF^|Dx?zA+Z4ABY9&KgDv?KaAz5e-g`4 z-xmwie`txLzPlyQ#6QP!)VH+}P`}rD&%}Qg*fa5i)_W!{&wD2RtW7!UciIO>eQiNJ z6Ibj&&%_n&38=3x0(At`cfoPY zuWlot{!Z(G`iTMq_4};{>Obaz`ipG})Zb_yK>d0_fcigoAW%Qlo`CwBMWBv=`n_17 z{zfeI@j@*1@mefUUlq$yzYxn&zZA<+e~#;Ywh>T2#<;c8 z>SINLIqIiqN-M2C?#gr2|Iwx#_4nEbNB!%9aMW+@K#uyx_C$T$(iYUm(sKVgZ*iAJ zy%IK=+3eYrNt)CQn>Oj*36nNntzW^xul3h?{;>T2lfyC=2-Jw|r&E0WP&_MqlH zYW-)t%wH3BPk!u~wLMKwYxv(D+~$VAyW7mOmfP%QtnFp?vb{|&)4Sg8P4)Y5n?4+? z&EBRuXKTzprjMzqviq8SM|LW~xGVF)k2WT3-^^aNU*_63Iqh%yntrB#@Yc=<$K19GJBO%|N9LGJ|Ru!s*Gt>@KmBVa?I}EG!AJv^Qwf+Vj`F(8ob3C;U=X7|jKZY0N2u_d4 z+7V`i9m(m)T7RS7n|jXcv-U`Hq#b2Oxp(I%b5!ute^6PCKgQnVnWM~2-e5n$a2(C~ z(OEk>^Gd>wq2QRT9c#uaX`C6S7wH%?+8m>nCdxH@$7bG4*yG4}T-F|MjyK0GlkBhU>?f=FEIQX4+dkbEdf^>c>RRCuZ%W%=-yDnSztE z_AGOjlFl|~s~=O$Br}D6(1)p+z)mC2w5&bHoMWbD?R53(T$0Ys+N{YcX@;4hci>jf zOgFdY-+>ACHud2)eg_r4#$#q?xo6KK?Yyi#-<)q|X6*%fw`Y+wD{FHmr=;0twko^b zGZ&cK^OeoBcc`*E_`Td?L@wmVg|+_e>iZnd=Va|g<{~?n)48?&vr4|0^NX`~o|$Lo zoB3`?E-{znhvat8-szc3%$?DgEZ}@W)-KF&;ZjOonzf6}A|)+0i!~-oJhRX&0hKf= zmw61!QnhHQm$jFBhQG@=Tjr^YSLnhO{JhdL{OQ6~p1I0Xx9;-HGSA$V?-#l6R_?pq zD0zC_mwUYL%XOm)j~Bis8Q3o<=?hUyuhx&NsdI%Iag9n}!>?;S!=KWx^UQUg-l=;$ zv%)j?s9d=a_Il;Lo*XxL<_52KqDy(9FnGz&wuQlu2_UNdf?@Ece-8%VTg2cNF*x<< zF<9@8FnH7Vc|$%c7@Yp}7_5E>gQI?Y-Y_`59T==35e7#?QpDgwV({hL#NaO$SPtG? z#Nc)+2kYGt2EW$M79QEV#hQZq-2Wv=#!O@TuF}RQze9bm7_^AS8@a;tmZl@Tm zcSjifLOaJ`^+OmO^`nTv^8*cuFgO~LA_f-{gRk2r20u|?F5>Yb27eYXcsq1*dUu4u zFSm0pLj4d1NB#J`Ves~F5gHO)jCsf4iMyu=*hk zj`~r=;Q4`uL>L?mNfCn!iNUvR6N4WvFc)!G5raPq7`z=^gx(!t@ORre7omO#gQI?Y z-Y|H3xCjl2FgO~LA_f-{gKys^20vb43|?2n;C70^dUu4uue5UvRzHNnQ9p_pJU`Ho z2!o>`DPnLTG5F4HV(^**a}g_x82nkl;O*dp_3j9RztPUQ2=zl49QEV#hQZsz2Wv=# z!O@TuF}RQzyn34$yuQG4@ZXCV{8_-@?cgHx?g)e5Xy$Zu(PZt=2e_F)gc8bAzcZ9(|YUdcNeh7o3eiSiyexM-{21i3u#Na|=@crAw;71FL z!QU-na683dy*t9-&Fvh6)em8C)Q=(t&kr;t!r*8~iWpo-41Qpn82n6uG5E3~2DeiT z*1IDN{y{s(VD&>79QC7!!Se$Ri7+@Ck|G8d5`!PyCI&xPU<`hwh{5d?gZ1tRgI{mw z7_5E>gQI>FF?fEUArS^gLsG=xLSpd4+r;2!3T&J9<9`nZ-&5R2qs4tR{7=7+hTa`v z@b^ATwrR;vzmJCcAq5 z%lpY~hkdZ#9bxeEpCt_5j=hZ34`FcBkIx$hZ;ySjhC~<~4M`D$3yHx`Y!ic57Z`)@ zDPr(vfs5D<4A#3N4E|O-$6)nC7##JZh{5v%4T&%~8j>Og7ZQUvY!ibYE-(hKDq?Uu z#bCWV!r*VVa|~8LguziiiWodU(2xj&qai6`a3L}H$!%irmkO+t`%MvpKMNSV9e#3p zcZ9*;Z|6EW^+OmO_2ct~!Q0~}ry&srM?+G?;6h^XQ`^MgFBDh~UQxv0&jJQ_`1CqC zy*t9-?|hcz;L=a8lT$y0!BIaxZx~#<9XdG;i7+@Ck|G8d5`(|EO$>gjz;f^v{~io} zxM&yAqFuyx$iaGdguy>)=W?+6Aq z{yi96w2NrjE@C?{SnrN7_4;j&af$y>YXqtnV+4rwu|Xv1JlU_!SmO8CRObl+cmRv$&w}W>`tbu-P!D9yP2I$ zw|cuv#E0=kDYaFZA+`s%=#jO1m_1BY z*6v9gdXmyJYYqP+#Tr}fC+uEkPqSC8Plsx_``xs{-0clc4pD1{*j|~-Tx)upUUqNO z+wNobHv81uKD4BomelZXU(?6zo3njQwW%?Et872hZ)7L0!l%d8es9~K3j5dk&v}_; zYhO&*{Y=92H~R%I{KY2=)$E^nPU!KL^sz z3a^|F4$8cgum@4~L0MaCYR#am9Za8TwHcDN2b+VHQfKPa!$Ztqb4b|3_3#Vy za1_-H%>?#Pejl2(hnd67(5yXN6%Qk6Sk`7tMoGiXa8+}JIouo(4b&)mkE*$cYJ$wW z2|I!xBeHg+8ENZz2ae?Dky$&+i~=v~LCmLk2i{89qe(wHYe$>Wc8rRR<@eaE9cRYb zW6T(HOz_6_juM z@rg~clc;-At^aKF#3nQFlgwoI#FFK~yFW?Vv&eB)UE(yJMc9C|NjSSM@q`A2<7wrY zj}vwZKc-~uR5R61V^GfF=Q&wB-AuRVnrY_T;Fk=_hY6b{J)5;N%nUnI#m?jRd0BhD zIp1DjW||9vyDszfD$TL8@*`npX&kEkc{WGpT&=&18&~sRJDYA^NEhdrIp#t$yUJc< zE^6%CJUf^Cb8G!)qP|^B-{zW&^L=}4sc+|zV_vO4%k|CGIiHmIwf+Wmj^ix7f0txd zdv*Z{3$k{hS!gcF+Dmzt7Ll?jYZsfvN?GEWC7xcL%RFgt; zN&m!YcByOsEPJ^}-OIepa?f6&JXd&Gd!=XiTgKT{p6Fx$$dYxx()ZJ+IO)7X3*Kc+ORl8Zm&s#jhpDx_$nOnUY#$&B# zZuZPt-BBPA*xQu(HnPw-=AJt|bB7oF;3KcRT)2CuuHMPjyF7E3CuCk;?%&}pPKU_6 zxjAGGGTpX7X44_~`7e^mVR}yjK)O`Vr7ZtKH9eZL&SeSDPo~l(9ZC~=*d4ij$E+=< z$_h>^vbK{cH=TmtzeB^S{R*LZwO=YUH=ToxlPD5o=tfsEcg=$2JDDJBccyqZQo3dB zE&w_)kg^UAExJ*-!vyq01@vy%4&_`RugVUm=EJjq{4gZ}@*1|`!2fU! zn+MRR1oQ*w;ug3*;FGvc7x&iyIbc^8J49U^O>@SW(Pm6G1bIPDIR4}4;xT5NIVNk5 z&KbngQep$uOvYHlsPF2 z7ksjvz&%ef6U-@Dd#Z-ubWKvHYLaq8a2n^QWtjk|?hHzuk(CgvB=BEDFp1d!+}99H z=KADXe+)z5us&anBPm-*`&|TLhoK^ z=TPZIfcr&RVR;Qx0AM;-VCp(~vEV#w=czV_+gXXVN?KqRsFMrLJhM=p^zEh8dTFgc zolZ95HlUs1jv#gl#LfztmwMnbNDgSKv*)U_ns9(#bvGS#_X>}ufz$x^l@tVrQ-HDN zrix^gWx29|*-%zzB?WF;Si<|3bNcrMI|5NZcXwfd{g7Fr_mj{vsonnKY$p%US_ z%mlT5HHR*>e!omLpj#G!F5>gf!Rt$W+l?A`G2P5AIlF69q}RFG6@gh8TxNFD4LQ=V zp&V$}u*{|e(sr3cT(diX+nqM7xWm)9aR1(5uWzb?ADwM`aF0Dq53@%O)ZMd_PYxy< zm#3#{G1Ow5&<*VFWqPViFUmN;&Dp)1w#)2|c;kV(`?z{k%TR!q!!SU%O!y0Cl$mNL zR(rOF^BRXRWi{XoGdGjObEhzcfK z8ajYH4ww%>0zWYL`EPtXkaiAYmOh9}k-R-n7|b+Io4NtX90Jg|%nYgZCvg~D>rYYQ zB#Gjo{H40DF6BYl92UI#fUCO#c&3_C;JHlj{4S{` zQ|rIyuD%Oa^8}CJ32u7*bxGkPf+zo&Ot@$Bo`*PIW=7Wf?|Zs;JwNKRK=_f8%gxB( zy^pj=;n^R>m7~A`!{|-t>tevJj|T5(&W}c57bJ`!n}hSQN#cfPg>Bu>bJ z=BEJVrKWW)9COy9H*P9W_r#^;^&xit86xW0ZrDeA7@Csm`U9;vjFvZW(M-OZhrwu zAwVk$jFvP96rB$e4NmgG*KlV5sSH4J5)4hDrrBn8B!u&O9ynfRF0A$6_A+nivCUzS zFEn$4o0laSM%s4~*DrF?2lcJ@glP#dEkyXaoX^eLi!)r9N5*+sfPTJ`0D3)=1?FP2 zK#v4q=5}{`U_M7=;Y-O5_P?R_0sL>eky_`0{$*xSt^bzNxvr0&%Y3~`?G4PSQH%Mx z7^#2{n_o+mcL~yT9x(>-8^jpG&@y+F8AkrU8QszW> zW)1$7?&N)Sgc*c+M^lIvz0}p8yCME_i~Jmt3q}8tosd%jUnY$*W{#{TkZYZwd`}Uc zi}0-1zX;C^LIL6V!F65{pG5-{@%hu>^ZIh;$HiqW5E(3h6CsmP>rc=EU;MB36x_ zG;r6GXh9AC_N5+)z6iKA5EH7}vC&TSRnq=ue^mri(9coAYQX>sI#wbp`B$RwKoxX! zL>3YFASFRLt03#^fsO=rEtu5E>jm7Id7HIlfOMQPgR@A-LlA~j=HMo5WnE^8hcuiD zS&N}i(TAG4;O9T_#YP94A#oj7QR^?%vs!3}@hW6^y<}(XOGS-Q})rBGKAct#afsngIizr zpf1L`R*WO>xLT+}H3P!%7}^ms)Z(a*sgi`-*p7uETj3Vr@Ll2)}q!&xS<)>BK*>f zi44aiGs#R8kv-W=ZfpkablioOn;F-RvuVd!=4{sv1kEAH#hzoRX~#6$F)a(FagLpy zxmE2rH&YIMFYJ7&|4oSE&~kt)wrA`pA#!YtfIfb5$JxsADqxNFpod93Q^Bh$`9%AFHD#bc48 zPA`Y!pF-OPrO2%AW*N2#!F~X)4ceAfPIp*J8O>lT6svPKFiPtPkmGS5L%oWF?#OC)(p$ z)x#Q9#70)@E&i157-rS8M$)SYX;u`DFJG(7(8X|~YFos3WVJB3(aVe1!AIFh>BK4u zdN~E-;j|d8r%)UTk7E0&W18hN_-R_25#{;Zo8b$-PHW3D^qLaAXzq z@X;eXC0USWKK9W5rOfCoNIS-krCx`vS%`#V;10&Z5&UDhtB0J&(XHdnalq;EFa{uK zJz74Ld{loj#|8!8NmB7ui7C*aB+E0;tzm3Wqw>?i(9?q_?v>6jVa|{?)rT`km@`Ap zLdwpGnN2exp)P zWgJ|JN0kvbcoaSkN!Y*&xg z<{I=RzP*^77o*Hb(L0Xn=sZqQ&JKRhHU}Ew$Lmv z3xmfQwoAzY7oge}aS9*c6wsmrQf6_!rOfjylTA5eTHX{umpTkx;x&vBQ2J)FDVD0d zrdN>EDfWO?*7#R6mRR9RfS{@T0$*A>*yFIyL>^GpB(akWierlXkSP{s-r$%NPHyz- z0ZrZ_G+1$XHZA{SEF-4y$R z=MO`M8W}36*QSt-xDGdujC3#8nHyH?DkB5Dr$G0t1=iPk_CC+t=LJ9i$Z>J&bZs5H z%33ByaQ1%vzMs4gc;*4eXnfewU+OLHB#AkhS?Obq!RImq2{{enoR-wJ$>Rvi{8Ds; zi%ZxNZrp+N4p}g_6xOyR_^5|Ti@t=V)?jtyYDdx4X;TKHOqp^{%f%}9hLBE&dcRIc z(rMFKED|}oa1QUx#4aj2Eu~&pa__|HPH6m0SD^XpOmEzv2g*MVl`zq1vx{S&(x#hZ zom{KmR(-oNX1mF(BWEj}I93O?M??pXc?h+V^ z_m#krH-&p65xFiSk?cYG9<~0l9D3CH<8}2|h-(hxkC) z(BcoIq_&80d+{4_ycaq{i?}Xgb8nLN&WgHL67sr;tZD>#xN3S*1fVT3Szw;%Q$3xr22%uqGQP5G?K?UO)*WFjy^IiMdUJWq4plnPxO(? zbw`pndPXx-w{T`UDx8_jiO&3lj-0G-y^=ZVI5S};MD{MBS~6`;1C*h_IaMX6ku8+t zrKOy%lIN0iZWdV{Io{css3dafbkH+=i;}Y>o~A+8!O8WKPG@E$){_z%qKF2+K()^z zX_h0tl?1J=s`$7r0E@#$T&R+B$Tla-gmsZ7uemCDF-cNPBF2*hW37@1!E>dkaj!CW zmN1-_@*xRIr)&7H(EHSoT&G!=aE@Kc0^MUFITvDef}~FpBEKr6*aAnrO8{R??!~e~ zQTEGJ^JM@ja}j@}GeKSM#CD|UC7KjyhIr=8-4DE&kl25m>4xYZ{P161qWt$AA& z>oetB22MJ0HPrptF4V7OwICMLxSg=I*eUqU)lOC#VRw$K=CGENst?nOUCgfa)>+H( zo$bzd*4^ypgj;0X-Az@M?cva%2d}BIdq~04Xf0v($Rg=-f6EQQF=^~b0_fC{-iW=u z_1#p$O;D~0IRW%lt6UA`;1~8qxFrb!LTtfW&s4irj3&W;D%pgM=m#62k^?9iqL(yv zFc2!q6uCc>WcY>+RLLfE#6ai>l^jgTkY|wj1bR1>WInBBKGhorM=~NmpAJq=r`L7- zYh)j!nLAWU0KbA`^CcIK_@2&k~dq?61^D!AT5QeL0$@pSu;B#4LjZS)!%B!yY`s!_m`-P$ZQ{kp-X#1)X3U*{;dD4dA%U!NemT zw8A6N6M-b)wm?WTB!Ouv*fKM3NfJEjNPR3yBH;f27I1HRvN;KN&9)@mmv8zM67Hr(zzyY=qJ)bkttjEPDB*@O=VwL2 zeYGgzBHeADguA3g3HOCRwPOjl?TFm#_H{8n1sMWz(4@$9U5-HAXN9Dl2qtUw8!z7{1bk1Ro zfXSHY65M-4SXq$yp!1fdVmk-_d^?%>xN{RnWO*S6m%WqBEbkJUg<%h7WNNT`u#D7I zT~M6m-Hb6G=n?#b8di6~f*>WG7|w1O4D<|^l2?WTDH#ep+9mUB7i;-po$^eYv*2q- zW}fY8dz0uKjQ5t2K=7^C;gd~Jmw2x;6J4Lo@(Qd4@@~bZ4=ObEp)X0HYq64WUy}}G zKa^|xMch1jB1;h*-78ef{uJ3ii#lz9JphZI1I+>EKumeX+tYp2QUj%ya?>kTV~Q4W zkjAB!VztDQz*LMRmy7&C$j~~MdU*sWwT_Zf%hh`{=Tf2R z*^Hss7^l&1#wkthJ(dh`wa1~XKOU0}Ov%g%@*}2R9^ykD0V7b3xq46J+*##v;be-1 zX1Pkj4^8bo)tn^ty&H$q$k5=3HWZcF8KEB<^*-7~il&KDG`V_Zoa=1MxX@r*cD9nx z;;Y`N$bM6!dZ$rusJ};f&zE#AYIVKp9%+AhiR(P`6&Y;XGaJpKQT63h-at+P<73)29=47G1{-RJ{PeajN%{8d5 z$o*1RlxiubjW-KW#xD&1_dle>L8Y_0EVHBp#XR1{PBCv6qgGpj&K)(o^lAElmrAQf zj-`?P76rCcrpelNoih=`UMBP>&b;em;Gs@6Rg$4!1C5tQ^;Ak@MrB)S%utuf&{mD! zQd8zGIBl8KgJ|NATSZhzMn!Q(MUf%xR*Ew!iqo8_A{1q4&ZH@m_m<21DE9^umXu_cm)O;=ZnS0%7G()k z?5NVh7Xz%lPuK3FdQ{=-oNDd29sR4k#XE%-WN&+0Sde8pg1%`}g0XIRz-UXqDmn0I zpOX~@W;Yu>-ZN)T=3}N zYVH`^PKs8USd+!0|NhuIm& zFMF5*e@%YRSev;}6Q)~T0vXcmT$lK&s@SP6@f97r)+Nwqy6*8nR?7e_ZFY0BfV!$8 z*e)}AuIC_;8xXXlu62A8yY^3DVWFF%_3W-FpTM;q$g!poX#6tRE16LUYFRQk?zHnUZEA6nuMab5_2<5dzzS=F{$*)+%B`@ zbQG0B^9&XkLYTg$kLfFfk>Lg9ni!Tj!wbqanvFFvyx_~)KeQ6!84gs*K~%5Ff+@l2 z0Vye|_Y;N}D5z`sy7b~=nME$X$TT|a!O2;4$QhBS ziMZ=9$_{g}Dx!cyvUFh4d3b0&#Bdy;k}}yF;ldEfIHO+eJ(8p&ojHb*ut-)(zVdoL z_3%4CS|ytph%vQ{RmpLb9OvvYG_@RSj#WwEV{BxOM8FD_bY@`~WMFlHdB%8^Jdu)` zNSH22I@z48lB{UQho(sykXc%+rk&BzDEd8tf2Z)8r zg(|{M^)wXqYJ4Te%f?P3m*y8{k%?J*mI|_fFlW2@MM*>;QbC~XENolDUQeUoIpjLW zMI_RcbFK9M>0GkO#~Eu4j5n|uQ)PT{7h##8 z%#|3BVY!T52bmX;89NO{AtD8PFlEMe;S!)!nH7}?%VnYxk(p^IZNh0t6A-D)L`z*z zo;x)|;fF<$QcXq)6S{v;Dl*y3$0AZX)6P|{7D~AyXzonRmeMHQFju_vR zBkPvuY=tx8s=#W}W$hGZ?MxM&9D;U`sqSXkP(;0 zC|D0tbmw5xajI-6aLQo_5_1PxtB&EYvkYfR90R)U(#b2=`7q>Y4kMfljR9})?r(hc zwvzmn#OpD;Yb=!ISTM4K>F)g7UBRlbV2?0$yncp_2EJv=She0Zf`?S zx8S#7o&7LgBX>2>*}?1^J{*Ee@NiUb->}|(Tmw%xX%PE4OFsE*^p)2}@WVHKyC1l= zg}cUn#B{r7sfVYA7Y6vr*+F`AJo`ad;CV>j9>VuQrZy+x+j)#+uKg{o4NY$e>t+sa z>|R~ij6*QXA4(I3*7~O_<#Y_#-dCY8qC|&$Lo3{>)k>3Q zKQpw9fs8O0Q`{6raA!J8TrdF>I5Qc5HD_r`JzGdWh0IeN!0HN?aOP}D43h*w%zz!- z3^+@-8wT2P7=a}mhk3~L9n87%kkrp59s>SqHGM_~LpUzY4C79mgY=(8%8#1f8{{Rs zLB#K1E(n``e)Mk60*7%R;l;x&7x%hZRrW&neq9)X!z=)nvU9MN>tN=%kW(ELWdecH z{RZUSZ(x>et2{uMBNO+94bNJ4ssb` zzVD!D63lxfV{*TU<}Egh+)6-Jb#(nQ{3x)bbB1)_@a6bPfThd4&|!*Va|FE|u$Ffb zU&0e|IDlO4DqiNv+K#NtJz=uXS^;1Vu6)dS1&|K)tejx7ix3l@AXK|LR=c8v$Y4c5 z-qoI%9UuEUgdSH1{xvUlq>jav&6@twbZ7Hhmw4GT&a$n9qz*g;XYFfBs=^p+ri>SQ z2okXu8T)FLzyhNbqu(f?S|?pmke_gB9{^x`rb`xSI8bI(3Z+fB3|%3-Pc)rZgU((Q zSWTIct4hJ+l-V^49`B|ra2nARZUAG??4AXNyDKw-7XdTLT;*b@>55`zx@nt7zbBdZ zbTQPF`Br6iEQgEbqbo8F)|{@HwilUu;R<1TD>L3RrFL&>#s*j(5nPc6GZVg(B&x|A z#!pjbTpLTl+y;+juJi*>nedSw++v71J*7E4S<3i2(_sxe!@6IFhu=tenEi;WMr8+* z-EkfRm4d^AZo@2pfM$7GFaXe{U=zyYASe$CIyYq(K2za-pgL5Ld47ndc?wn|r&91x z>OZte;LK9Q)UD!Xsvz&$;jH3R5W8U&Y>cWFim9bd0;}bvR0^^%tdHEXEAe8W;ArX( zUFRf{j-{!M-g9{&m4cXAjt$+ic_hcFpdj@4CPHc{z?s@gMx`L@&he}~)zngCQVO0z zwo?>OEfPvg!N=5AGARXDOD1)WukZ@VQX4Hu6?IXNF_ALJp_9xcd>N>ZJ4g|d@Ly1Fn6=sF{^$YDCAUOVP9S9kxMZ&2HfQTYUB2NW(!J(tdt#|y1 zGlF5{0Lf{9q~uc-1P2v*E%Hou7eKVD-ADA0i>4`i@C08GXqN!$n6u>S)$`P-2Z>a{`ntAc`!tgwQlft4!A>Zw-*!^ZYe!L6y`0m!3UF~cf&s|Ph4LUJYGNWrbaaX>TR zNI}+P2So5pv@;dl8XN~S1CA6#Xc!VgHE-ik72Fye2Q&kY6a>=`cbJ|KAvr+stWc-& z&tNic^ser7QXe2Jl>^7|olva0fV zxVRph(ZMekhMpHJM0_5zkaVmW7rfs?B~tida3IVB$;2~zRP7?rnWJNzD~2P!9&HM( zp+5$B{S4`i02`9Ylyz;{AjjpDnLv4d>-a23MP6funGh``2LQZbAWMy9BiAe}h7Hg| zW?DH_(+aO^HPpZaM?Wj~Bx;T5fHR%6s@%*a6E&BR+rSP?aO{9`PbK%%NOX1KAC#L3 zWQryba#td-PB7C&50E=c?uZ^BDWV6MHO|$nLGA#ju?fy;Ot~Eq?Lb#aQM9zxik8My zLGDsS)d?=JrE<@qZdUtp8k?=)mUGn-CXx#ckr2qum|jeliya}5_hf!f&)*Tz?s=5r z8)gthw{+^DWV2o!dcJ_{B0yGByQq6l^G+CR!Dux=kg{hz38jj5sSpsLsga}_@~d0B zdRXQ=@`JWpI&mOyZB4*o!kPG@f|`W46w0nF zN7P>IhurRl=DdTS5kUco_^gif`?=^hl@lU{7sz0uoG$#X1l^Ne0P~6Zp}`P zan`bIXFkR-Vx?kM?p&333I>RGLv+P^t=@L$saKiqrYaY@vH8PH53NcAAQ;EqyjspV z@NU9$+_Q#`0j;cj5m;^Hwi`VDjt7zISwc6My>kLy=!^{G)`#qU#1AA)b@0mv1^enC zadoI4I^ZSG)M!ZdrEp)fFQRH+L{gUj^#HDf(f!Q+IXi%M4N$vML~N)r2gsq#dE^qR zl$#9XCXlF(Qk6&Ty9)G+1Fquhq)n{@rWMJMUv;oTh9O)TBKNkmRC2(Z^VD7Ed{kHa zB37#bIeQ2n?oe*&LObA@t1z#8V~3IbFuAs+4W78SN2LK#t~GG1X^{adqid^N%`1Jl z0%~66gUPN3GZp2afp2xLy6<_Jo08V~>bjtlWN2Vtozw2ydesON@veJk-d2DJ>U`Hj zxGe>sYeLyJEtX)GR@Y<6K30x#5V4WNIHh5%xYppXn-0TGhBd$8YTm5a@znf=(Ajw_ ztD%IzAH@N_Lw?*xgwEebIp=T96cb3qtyh#QUcQqu{h)Nyp{|ga!>0v*lAKSxv9cbY33;Gg)C0)_a-t&l~4Na?1{Y|Vf|;0q~!A(47G zz#;rq50v5`yK5Km<02t9cxeEx%*SO_A*bTIY zg0Y?n(r_A)I11|{L|*1L(dZZ=@&{WYGDzpx;JU>B_?$b`txG_hM*1{&UTVt>aV?Q| z`AQt^>$cGdXLY&WJIoEa15|7Z!mjNd5~gD`m8acWaDr9_PPG;}5UVJvGP83QX}B9y z?oMWx;5uHJK?uU>h&muP4#iMzMT7yUTS>s*FU{c{1=gbtHlS$-A?^aVS&Kr;x(GSJ za-IrGFaVeS^nxYmm9xDiZa4kE=?y#@+o;Gw(oKQ8#LgkKIz8T(w{YJEAL4smbZWf) zw~XT(E?P~Edc0bXKx@(I4v5oce>c4O$Y$vfhNH-4;9e7r)&L=|i)^+=1`@~}3?tv^ zbV&tiw;I)2!YRD;Y(mOsNVsr1IJ3?R6JJO5_UIo(nC$0rN`5=x~q#`_t&FCDy#GDhG z*Nn{pnPbejdg7FM#3@U_0SF0?F~{csH8#~SCsZMnaf);cRX&m8g1lxLZa8;*kX6=~>?A0eNm&ug9>^uG3@C!u?r~ZaMu`^l+zVK>a3>4gkg( zw9;W;$fc6Po*L1Denz;Ur`BX3YnZfKvTycO3mDiCg-Dzx6XK^@NyEq_83l3DrF%$o#ND zkOGby1@*4tKH!x!RCS5}^~J>yri_^wA|MSBkPlNP3N(~($w9m_ax_IY1&9Xp!W>R1 znr0HylaMR-614{cK!6&2d~4W_|MAgy(hfvcG@m!o4%Cr1M-g#YBBxm*M|)*x{d%hx zJoRnra%<8wYf@EC?D3~o(DD9!dg2SCpggP}b6Pmw8L|&xEGwxrD=Ar6utX9H|Folj zjkmZwVjr5@FazCxLjW@u+ouHCngC{;D{>Azgo~U57z4+_2G)T669mnn5lvNbA+#AO z@hv9TB<8I_ zW1?+LVp{Ww?X@XM%>CO>($x0a*50NqNo-^9-+Qm0{7suC>CON9d)7X4&J3swSEJ^h zWN@Fo_F8MN{q|eWdR~4{k}<=i^g!k}DI`we&O)GLsY9|}%`3gg2s6ET#|5wAjb8YL z91;Q<+tjd`pAhCqe$Z*5fM5`KAABw>v|w=KH64YjVpIvHGk!aiz^)X>(458HZ;0Wp zbspCmMnC!)Xc+zYuS1;8#yFTMQDYQd3=pKrmtlrBMCb7+fy3x)->`-7a)js9F@GXtSu$pO#s>!Zri>3-u`So@FTTDRX_nWrQb9pkc}%N-ZOfVQ zbjU46wA9_6%TIZ?CG1<9P+`z=3y6-Vn>myiYZ`K!i*}K+;>sy7G5;Vu?7TtY^ zEkJ0#Ns0{hBF8tZYNnS!UVciw7?DKMOGPm(*99}Mefu6hMH;vH`G5v;T7Y1U$w2R| zTW(YF3W?X3(*338yC5y`DpU+rnqW#+yVXKcU|?0^NYMm+1P#~HaIMd*f#<@NG_2A` zP=fVL4Uv1VO#CP!@Sld8XqZU68^M1XUQNl>-aUbmYuq(z2(DZuLCsXuMK#p>!CU79`ky5M*U) zxCdmFJ1`PZgNQEFx0|^GCco3~VZVubo;O4NC zO?G-pO!l~$iNQ0;m9deZaK0-g#sijt`D~lDXkN$=s>QcMgAcBWPMLG)3&U zZAP?tS%9@(z`9(3H-g_I%!CG-2KXungiogsE-_Wt2!@~sZi!=w${=fHsIG-C5a=Dv z5edtMUj~3Fs)_D+Y^n?8L{Jz2qFM%w1rp5L_$@ivk%EYmO|X+qq!8zXjFRyLlY=H) zzV>yko9~<-$0;wiD6to*#&;||BcZvMm)&ja_}QYzl1|eNa*Cpyp#czvlD5!AAkgeCF13QT~N*#n&rDnG2NRNZ(|FG&1xp-RJ{E{>8e#6yKKWa<@tTC_iV*WTBfT zf=bI*p}zTO_G^s$0ikxREuf?lR8&+13_EtlEi8>2S#JDX&l^8 z_(3XeWrVFo>||riop&rFGjTnXz~o0+ft`Nq=>&t0sW)}Q&6S$`8bfW6E$4zm6x z(I2D;leyF>93ga!G?_RgJfl&ZfpZ$JV_3@0B-Ho+IV30Ev+Ux`BSEp441O-b6U0t1 z5)tVT*4vE1tV6EFucR=S1#YHAm)Uq{QEN6vF&W6*IX&Z@>zxuXkow^onT`#YyRB?G zj)ZaQu0VGMm~|L#b+|;~dm3&xIUMK9g}}|n!%V{^FNFTHY{Se7cdZu zjBtyZv5GCxa9>a1N){wE2sYeh)T$W8dWO3I+gQe3f+5!r*V47wa4il(!zJAu-Cas| zax7rDt7rkOfhBn_{EddYx=@e*m=a&EAzoL*CD_4+dj)mL*@oAH!p^T`xa%0mdaPlv z>om)&K*N0@g*hxpm=B`A=I&U^cemMHRl?kLbmNRm!uwUZ*l=|%;s3g~=Q@`8 zzy`~-YHu}mF464RrC{dDVCK@rq_ORbX#gh+`Hy}x=u!CXaivF2PGBcN56m~78s*oc!r&@!li|c}V#|R+t`oQ3I zKOSzFxE>_TmtnP$w#gWHqHq3Xy6lyqF?(l~HFC`GsVwhIzFd4SC?k=jzyQ~Z46YS4 z@R{(OLR0}`oFOv!LL})dU|RSXHneXvguCUZkWtDfL*%VMajrFBjPNnwIse1?v7$?H z@@h*x!Oj36Ij_)!oN}WLdxMlZ@Ue>whkNjOHhh+$Cdc5EK6E+mB&~m-l4*JcXEQ>bpW zI&gOIwDIj=_!&-dZ$Nib%xNFCg0&NCal&dI&uIo(dS z(~=H5+3m!hoQ$UfzcQ;nn{q-8o>z5v8NR12`+NK@-zT;90QGG4%N-)8;EZ-Q=hC+g zx*Z2$KWMUWg701UMiktf?)ZELt-I~n7|!=>47f%p#pVM4e%R0#_@PfDz9J`(e?e?a zi};OO#EbfU0q)w13wcmJSI#^{L>>_g<-SHR1xnCXeS>PSF)F=^6-rBk}@&>5JI8 zsE9xD#pXX2MvvS=SIZr-!$krmejw+uT;e>2^8+m|W1qk^f{5`OTZK2;g&_Qj=ykp- zK?LcIlX;)rb|9b4H2fcOO4zx8jR8M}3-E+svp8NyA@0PaV#~R8ifr)v81HTWpxxv< zH9t@t57rHoulKL+hVrW`C%%n3z6sxnoOm0KsQD%fPqF>wes>jjeKS9Cr&yLe>~%O( zSj(#^ziN8w6}2QX<5g|h2Lx>&l%pEH+FP^*m9C+jSw}q+vLVlqB0r1tY)^h!yp@k( ztABjU@w%Xurkk9CEM8NmOgpb@%l^-k?Ze6TSIPDeTMLoAj(WIf0GI4T=x{xch`sMW(mvl zwv$;PBJ5*$*&*Aca6zq|)I`!QT!NWv=UUYAsV0QWkj@w51#VNz@f3~kl@%@> z$Qh>%DaAW<9y2Q(Em=18$qGkHq?oBlF|?Ei=Yp~zL*PfcOCvaoMiyQ-O>||^E3XLZ zp|`Z}lY7B;IfGm133g_>4q<;MH?5QJkHbQAJcaG6W_LDHI;oQFJLC~J0^xz6yHO83 z50D2!@O`B%t@A=#^ca+{Wmhuj+(XbHXhS z3Z7DYP1Pu`@uTFbleL24x`p9St5I)nx$-D&nZSt^eQr_F^62-Y+z!Fdc11^LT**pp zlyvuOGD<>BcJP9WiiZhq2N52MQd4SZ&*Z5qxRKTtdUune^WaTW@XQCq?Mb3pYUe@X z9iG95+7;qX6+xV)+W5Hb#>GvwJF5JW%L|NWb&HKdOg6#k#+6F|~MmMmV zh%{6bOmIGC;v|ciK!l9k;AUh_Q#~MX_D&?6s25UQj+h8d6Q@b4t4NPZ%07~@R3#Fo z1huXtj2Ou>mQ)X0qneo(*W^b@lVfOBB{5Qh@>bIl%ak#qIYF>&i^r?s1STRM5G-MG z5)CI)GP!S>bQn)2CG1%a?JW(@pqf!IB(cAZRZ(P;E|bt-$WP8n*t41t5NU|Q+H)?< z6whrZXEe#s$Bg5TDQ+7JWs?njmUTCYe{CVh%ieZtcH(-Zh?Cwk$`#Dk4jn;XBKK*@vVL?bY+^6 z4s^SLQKhT@3ZAJ5p-xZeBDX{mou1Ie)D>Tt>Mo~Gt?b~yPfp*25Eqyb zr`j7C$wtp=yS|6j_HnV=ddm3-@hvd+bk#Nuuf>h2i0tR;`-u>Nu1q9fR_>~{>2xhZ zSo+@U-Sw*dyP@0Wj2>QbKE27*-HzzH2<^7&dp0cGDQ<*}=SC36;*HGT|H}HGZ;(Sb z@wMH|SEcmlH@lmfxK&JH3i?6}B=q;Y zf0||#_k;xmeRR7b1WV$*(D)ir&67s{Rn1hR16=TfHX1a#1UY=TJRE9&QQatg@*#zY z5(ezE4NJQV6@M5%Xtp5jw8MoDl)YjP0?tN$P{5u(9eg;JeMpJ}sO=F*i!EKr!``I*` zPMzsKN5$D9Y^0fmp!H&Gq}f4{k{wKjKAVQ;(D0lp!bTc)QPkC!Se(z`JidZt<0!NK|5q3A0OuFY6&}uPtKwC^}BDz^h>4lVB zX!xrVa#ZNP@x3kOd-HeP=d7qtcxVK`D`;g5YKPKs1(ug&)RBUW>Mdfq z9a%wyV)YdzY`vDjFTr*ozJ~e=-)%ckTor33s+#{;FI&iRV$A?x-gg4c;AGg)9B&4~ zHnSG42X%=olX_S+8x>b3W#|!|pAYI~ZTY}nN%mh&_FoHml`X!PXfsoQq}5k_u-z&WFqJ>0kTteXi}0pi+ENrK_0pcA zf~?1CcOAffZS?i8Q9Fra7N>zlsgF zy-h)l!r^ZXNIeklJMEZqEboz--#UYD@D?aiGMAV<>Re9XjCMBf>bsF%L0Ca6TNrZP zz!D1B21MACn&Uxc>=?u>in9ZEDKc>NLE=F0V6bwqXUXLV6gNyw`luXoZJ6YQP-SQ- z@>SFcIs#j{4;ANoKaI*rvG_2kvT^pBAA@Jf>U?W8AV#YS_I|@BCwA!cShZrm^wZGt?5#A`?&ZCg20KKXQJoK1&Sxr z*%V5=_kzHgOh7sf6Y1n6xZL5*K*KYscBWyikarpl&!z-qMIKfOE(~gjL3LWf4cSx% zUAPrI=)y=gi-x8lHF;R_^11F@HDsQi#Z0YRA7R-t(CwkgJx`ts`6|x^DNf;fR71ES z=Xh>NYILh%Mc*mucp=4$80sREhgGuJEmp%%DqE0o{32VV^P&UE7mE%(!4)B4mxLD5NKV%izH^%(^t}Eic;vgoO_t#jJa~ExC~!Ji9K4g?{rJlBK~hCTiyR`-uL%KTLHo zMYEVTW(9mBssw7yEw@|Zw7f7hTX;c!V*qX?cZ9IG9l8bPi^JL?wmzpVV(as40n)s~ zS-@qYKl*!1j35q2q*s9|V;bPW(eYF3R?Eq+9!Z04AD~NvdW7aF} zaZIVlO+Ygsf7(CZo0iXkovoFFt;pu>yxL>t*3<-5A^DeCZI)Y*ISiYzN< zv2&KOisS3`JkDPD4oE01d{6p<8D3vNL(a!4a;9HJGJ;NicM2^zFq=MRd$^U$+<>PYhH1)7ZJ&=gO zQ!6fXi?QB(=ikz&&9NM1b+$fyxS?dHA5;_KAJ5-J#147hfkE7?`RPg{6!ETC4Gh=tmk73M@~V`tE(^?G6J$CX#GyU8Zskr zmVNB+D|(?zqSmcQUI)VHkDq4!+b+baW1*jLfyb;D`O}y9;Y$k7OwlS$$q|wSHNX^h zCYC?IRg#K^5z)(+g;kEcWV~Kl-fPd3e(4DQD$&?V5Nv4iTrWijSy2nFd@N-67 z{#N-PzHf5uq&Jph@f-vG-dv9LUOy27#5rJ+J`d&P36s1$nm8YllsJTGVu%-MPc}zf zFD0_b8%E_}mh(ZCEwh990(g;@BjkKYh=|${X~QJvgDP8QhmrI=(u=gsMqu6}Dmp5A zeSs=lW``Ckw|J43BRB%|h=*gS>>*i|VQS0Af)> zOc|j$G6ft~+6TR}Q>pBMT9rSk%2jGzj-WC~L_eF9dqh8Z^_h!qXYhUHjOb752j04l zL=bH6SLz4e((@9buq{5naPYWOKk#CACjz1a!)bT{w*(yl67HL(e&7pOk_d}U{Yw3C zNb;)}9L4R(8LKq8NUp27)3|gVo%(@KX|)$3sd1$mni;+-A6dRyaeJj#-16}FE;sO9 z3NKAc=krve!g9`ttJu5B7|9V}>9r!kvgF@FPMrS_Or+rg|3#bR$aCGs$0He5bMjHL ztKJ#D_G?Y9l%BgpZOO2zeU$8~+Q7k%MCNP*_7k2jY9A%Lsy3K$GpM0gRe8x036s_s*HHBJ8j4DpQA5$bI@OviT9ZW=YVxniqG%l6LKgjL4Ml4x zdMwLS4Ml4xT0_x;w!(Z%6#ZEZMc-d2`q6OTDaU2sCnBrh-B6FR?;np|)HhA^qDo)T zOD`&`i4T)16B9^bDnk@rRMPScccGl4NP#Oq8Pi=743%WG(GiUMiSDuu0~Pri&A6}1 zrn{{2XXOYsszi6`;+V>@8TVD$beE&)Iq{<62wqf)?y?CBRhUFXsj}%V+op_%WPa5hn|YYO@VzR~mLxt-H$EHGgbpS5%t|64j<7dX* zG_3Mqr6loSeN-N-rrM;&dNtfY|FYX-x>}D1E5(~B*=%-ul|W9QGol0CApGqDk@uEc`eK$pVHQ3_qU|_L@`| z)|s+}KXKtH$_?jZW$RK6MO_U=Ybbh!j{|rQpy>ZwL(v+FzLBqKO%|=mqH;8;$)XTw zS$NeO$fB>-P_%}kH59F_=ohf4TF4^msPNSqioW%V{^c5qzRytfmjhtc@}Z{b!l5wE z$WM1`oOM}P2(yZW!ztf;@^=P}B!IKD-%02`pUMC#4JgV%-v^XNU;VwbBP;uecwiDE zb&?xMQ0YkoJrS_q?b)JGtOj5!VbOQi@0?)HY3=qRIP&qWwIL zF*H+x$L9z)Li*4?F{6&$%OfQ7WKI9prqQ$!M(Raj=T47fN0x8gn_9Z#(Tt=O9mp8| zjV0P?Yzf~_QW&~%%?fCmXKw%M!Qlm(6(g&~*|5zd9Zo?1G68LrLZOLkD%9Z*TF&>4 zyZ(J&|4xARb0S`$Q=?~gqWlb8d!_Xm?4F_4p#rJTME!LZt-Y(h;+)Rr`lnNZB2(n7 zl%VL85^N?O{P6oJ;di=CN<*JTyn|jk(I?Gfe^yo6*bW@_vkKxr4@-#&7bF(|?J zr9QFi#isAnpf4kG^s;2obLE)nbDb~KV_GK7r;TPc{C#WOYEQz{O~4X)y&2Iu{;elO zX?+PT=ap`qVnfk$Rvz>MocGD?O^l;7Yi!F8dNaGQ>e+)1N%>lb8Z?`ve2uU154s2; z(>1QB2fdZ*M0l24o2RE*+k?Kga6}HDSyObP&b$_9e%*o+Me^{(jgundv$Zo8=L z>`^b1(lu*J*L6IU8|7YJ|DO({&wMLQDq5fwJ4O~eMo~U0zZ1$?|1%9R zlI=@*qtt81;^Y>UoFW$#IB7Ac@Ta&OYz+r~A5E`l2#KE(zCq=dkOUUNfaZ*AEE1DC5GoZa8sT3NNRIH>hfXCrcza6ybo5R|o9c2(M$3WO-i_ZPnuqA_ z6QP=XGj{Y8P5|2Cq(zv%1aogdDD;Sdm#$CD_JCUD-M9DA0hBNT@wZvN`B zS(^+juh0=!T>C-pU-Q4Z*cF~q*UIosP!?vbIC}I(`2trw`+;)Wj^UKvpWm>2T=aS4 zhiKC`XMw2Rc7-KtqMBE^?^A^PzQ!WNo~k$7m`Qlb;&YghUZ>AD1Begt7Az=Q#JRv1 zbS6ch^I23pOB|-UY3;IPsW%eT>dMIdU2U(zShYU|S|8SB&B8uKOqT0(vvgUQODf^1 zSgdGRu~-4y=ek02S#uQ0cs{2+-xyj1*?sL)6hWk|fh>f6bzyQ@oPw8Iw8M&8b+Z<86vGq*07O(hPJpgR+?Q%2G6196lYs_ezMU%E9xnrAF9KjOWf6r1&Xclx z-avb^w#$qquFVy+Se{T&t}x;X+kZtvVgFTm_OFQk{6B|%EnTO&OQU}Vbm*l~?*8I2 zw0Kp~cxE&s>?!;lR&IW;E{ATdjlT123hWOFR=vVqS&G;3O0Q$eq2hWfuD2B5ngF6l zzM0}4G!*W)*~3WoM4wB=itS5=FRPf+&2l~RupU8??utcVpU|!3X0_tq&oCY4E~DTE zbB&lAz@hjt!d1Cn*E2YhelrPN*9`ub_^Ohl@aVxQ?88(E=6_MGv3o&;pgG|zx0AfI z-~As6ou2V9E4jBff)$9O?{WIS85ZH)(NFxn8$swQ{VFCE3z$(6WE87UjRseHRe)F;eKw}(>3dn6g}%SPzZ+Y~0pfBtqvzqm#t zWm@P%*$q?oQ{Ps|9jS*Eh|2LEQkNK;*ZrYRR5)l43#*nQQT4d!thWhF;a(pucgBrl zB9N~?b%_m7C@5j?ATN_ahUq{AE?_*O?|*`Tn<#*qwabMypMjdszVc`LDYZ`+p!r$8iP5f zGFhiw@gS3Ro!csouQ|UCn5)See+P5*wT~kh*SV-Oz+)oyxMEr*y$z;pu#wfA>;{*R zhmBC6jS~&!=TJgm#dD~L|28;V>Ld<76?&TFVeFFI;Ast&?K6bEinv8rglzn*irF4c zw$FtUzM3fXS`XyoIdeQ|jD)f2d@9nz6HxtwV5`k?v4Ihh!IpsLx1u>8bG|j$?luA-`H4jpsLP zjT2zBnGhY^tY_MYj~g3B`@+Yd+%9!W!vpPrDE=px^%hA*+QmSSp;!`rs@#ts5=RK2OPT1C$J*XJja$;;C~pJA=DvH<|ykQV3Zlus|ru zsm;imb@pZWw$;hE4e}*++eFPE;xK7?cu#pFm4F8-Cfk}69T+~EX;^CtC)Wq@ z`Sd>5o$uzBJVQfg@D)4pS5mOqh`gJuJSD9o24*3)&^oA{ zf%0q-7weE2`S4S7j4kc%Fh+BL+5u-Ne%upYj8mOBzb|ylN)SQRxr;i3PuVqmDivSM zp-WhnTvCdc^N^PFklK2)LDadGX!qgV>pCWh8AA6MY8nVruTU-c+zDBS*fk6kA6B`K5jFV#v z6}{b4`i7qjNPQ~YH`wbNjvS?L09{+T?y{bt&|2YXC9h0$zo^6YCDdyp)i0DR(Vsmo z&a3LAU(w^=q2l;-lX-5APe&*`xY;KmVV_h4j0Z{Y0HF(Nkk5qC16%d&@ChCXKw46H z6+zm;@es~Fl-(XW!69x~^cQzA`70I1@I>WE4w<+wWec}wBsXsqT7pp}IIhSS<4$jm zolfH%&pnD`AxjIrw|GJTu&Pz(uV@YgU+}ZY!4FMxYvRe72OenISBXH&qm&40c?hRi zXRe$QS=PnqS2IowM$*wumF_|69q$S&o`5sexoHr*4=hEb0#HwnhVD#PcF~-!mVMn` zX?c|2t6F|ebS_3~q%rK0-p~7JF3_D^5TBE%OMwg!<6Pk4JlE9?`zs1y?&A6Uo9hZ5 z73KgB^P0h4gZDW$e|i zuIjlG+t18Up1KMRc)l)>-hh`d|fjm)w)MSuEwh>PjX zg=eak_PfPocMBt^@@J(){;cVWKPwUb5xgxl+((yX-WDl)59rIhUDwvLj#n|Nf;)|o z0#yYwXN6x%ecYw$cd=IXi+K6BqC{>J8fQS_q5zpcm9ucaw@f#MxQePYEtOijE&e@K z7T+tv5CwFLuocKVmBBVi@f$cF->*|9EBvAs_x$Mq^528j^^?Z`VpKL1ffNzNdAx&kso5AMR_GF)Up;e5}X^4D(s%SrfX$)}-`Q-!imfBiz@X=riaNs5H6)>dQDq#P#fse%32~~=@$%tBpFN7o zql^_>mC=T`#g59J6E;K|{Kh4~6xuN4R#-fauk2Z+}xw##v@jD=b(V+!W7vbkCBTH1t)|UpZ;|DGk+lM6@+Aqa zcN2zgY7_8~&+l4lh0W&W<+W5JX2OzXi9Lpv+bK%eW42YLe!m{V z-EOzeiRttvqqos(m)=qdcL3%npeKxk<(w}LH`~BcCF&G==+CE5P|;quSN%P%v#>H-7R66Q90faca#ls`^yHoNOrmaOI;C%3AMvAm#wnQ=>S%@gJlaG zUKM76<8{SW7bLbiHN;Mr#Zp(!nkXZlIoWEMSn9Cm$y67V^S)&9woPntvUdH(J-iM+ z&|UHHx{sZjhgZ$Ri;w06J-j|z^YB7y>9>d1k82)Y{rB*?@16DV`i(>J3qPD+f#Mh0 zsX=iKiccJhAFV<0i9qo`)u6clQ2gLK3&o#okbWTv?md!<(~jhZTOnA;5MGv1D8tXg z!n7W5TQbSkA;5&uw;N?Dn?^*hUneF?2Erf)xQ1?@lM6S>lXy?0VHi}xopvBWyis#} zvMCx)#>bU}vT|e}!ik3X+*>FdPT_RJC>drsx1@qVyC9v$sqPfT7g z+b2>gA5A%mgH|@=LwqS!xH}!2&n+IJR$(kh#>(@S^jk#HVl;GPhm%Yzw#zJc0JxZC1e zcrHDj>mBsZakG=bP~Js(m(qJ@M9M%`W4roiQ))AZ9pZS;XLCM*CCM=|Ak!^THFLFn zIz{O3!&&qXB;-Q>fD!{QU$=ndv!s}vUw&jm738ZJ-U|xPg_R&*h50T@217YLtZ>?9rEkAU(X4_`9VTHGIKfXZRc8=`P2y#Jjio}4bYajK+(0`t z89Uuh+=;g8W24 zm(weWAXDt z7gogNU$IjYlWSt~iHpgftBJ`cA|}6D6O;QdCO`Vlipjrmjm4`6E~!BAYwXmZxCX^1 z4#iK_p!h_f_uBoT}scvxMPcaV# zM~Hp{VzH9=B&*twqW$T;Wub4#bnW`YCo3t<9z!z z93{rNwxs=tsyO0!V&Pd`;UreclL;CQ-6VV?TB1L^D^(aOMMe*o0KHXGh!ZT_?#_xH z`x*W4t)XmTDAy1gyaoQSP0`1>D@AxDbyqBwSo{MF zWfHy)0qMdOQG6Xi#M_$T`MAC^ls0@G$e1%dwcHP-q_w^c1u`*_a^)Ly4V?c5h9Y$U zKX2p!B#{Id6Iy&kL)pbph%090zuWDMKE++R#ob~;Ajt)F9G_JHzO|bF1)AfG|uqi-o_K!l3uk7^k5PV37BRjFJ#y{!j(n7dHDa;>uXt zrP#=z*nro=kCiZDiXaZt8`Z-Zmgn10zl|1GJUNKu{DkAwLt*s$uczeDl)<4%*W~L> zldF=L1E;4J__4CaE5!j-5~nMAEovArs5{)qfVteyxX9OWJ+p^{+x%%dDh7Jtu3_* z!btAfNa~C%qKqB|;X`wD->irb_W$Z%=8eVt?ocuoh>Iz>u@up{|$cv zJdMw*QdPM)>iOF_!bH3g}*>|0wDrnE(g=-cvxHV-OQ z8-94EtY!Zpc{pUud4{MtI?*y90Xl$HKxZ@d7 zD8=6k zeb3qbpym~{yn=hB>%Wrgmx~@h*HgUSh%nu{^7S_|ThV=9o_cO0wgX-NW(*3|4tnM5 zABuLI%29j`=8q!184sqIFt?Pie*{`^sx)~wJ&{;a4F&cO>~6ng^I5M!BOFs7<@)th zyxw&F*W2ZrQ=hS6a{NW;Gr0U6Tt3_xD78z?(sB3d2`Kh8Z=|OijpFBu=%-JlnDTD4 zt(^UCGQLWj{-&p1wjmvn12^qn4w(xBx69M&>;|hjpSkvV*G>P*-f%$mfXx(a1OqTv0TlOt8pE6TY#hA)mVy@3XF->Y`lpq*9Ie=iO|daScEn=*jQxAgP+|*YowJM8H)sJ&U!OPyc==6yYMxQ z4-)yI0T0b5dCjnoVQh=w!ysv0=4yf;sP~f zXlOf(3@t4dpQB}J=Xx?%u0xqGvIxuv?nrBT$e_evBYC<)hL)EUo$#$kfA^<| zDk4D>{rmWIzD$OeeQPqbY=sQXAunfplcC+?6K%X*WN6u=$Xs3~%;ZYyevJeI?} z95$W{*WlmS}jl3H$J++R~27We7Pi;b-*T_%h zkSqK^sWtM6`a(sR_oM#Q2v_Vp8O( z;nFU|y7q$=m=1=?bUB>E!#(c>aVn>(#c32N1_k#Fipct@vyF78D*1(&8b+zz=~Ozs z7?YbqkX(tgr%EY-%EhC}*}Hnkj2QKHnKXrh~_ zmUySP;eJj_T_LsZ(k0$S!4?KTiGfUJf3j&jr2m+z&f6(U7~Uy5)19fYpXH`1OPt0& zjeloT=j}N|TT}sK)qC7QJf{{#TN13<;`@Fy77t!uwYF%tp749Mk-f6dj66uoN zr7D4>P3^GdFUOXjj5?BMf1cIujC6ati(Xc-x2lLa>@pM^d8KF|Ga9?e^MIDlNTV!!%OEKbtZJ*Va z^22P~$N_`*2iwDnCdn(r8fZ!6~?BD}6uH*N0aAMGq4aw&84wj(7DCr#pGInrehvgfU z*WJ2Nn^mY@^0J}bN2zRPMBC&+wY=U096@@}sMQ|0BKf}_e_f0yK*l6P`Xd6qg}yN=2{Ye#pwn~Z!Tk0uD% z5+VPIOU3{E+g*ON;RUel)DG-qio%?U#xlJNQm(F_P|!1=F^qeOhcc2d z6Jzugo<5U#0q)Afr_DDCXJ3igJAGymv6_+2EB{ZZ`_#$}7(@P~F(t(8u?SZ-aEyu3 zkA8+AAVH+9(AwLJ4nMl&KDQ!O%Wn>6=u$i-)#awhD{68uMy_*{gRyZthtEKmKBMHh z<2nPV%&;PM2A|avH95OPAa~YH>kQ;F#*wt{ANM#Rmovw;K+bcz#|Q-hLP2tu?Jk*% zU1#t(uZ6CtIzbyFnpwW4P7=b;;taEJ)#bic_~me)>vZSZ!#I!5&+{ibpc5${o#m4c z;w~4uuFe1f#7$?648Fk60;9Hvl|oFH;~XiNO7UDhEH}4&=6N{9mR;Q}X}kHkC9WZk zgwJ;FMVxPuKQ~?i0fJ5CRY=Dd=t(cuqhI34_FTf(jo%mI`gUOnIew{I)}3T_zQ|o% ziZ9{(WOfex6I@<6Mec3#XPaBVsi0z+L`YxmR@wP4lrp70_(vmv45YOZ5@z1!xlFCl7Qi<|a#@;YDr7m!mF~} z&qyQX`Vvw5sQ}-<@#$rf=Gm^253@=2_MJVz@w|P@a_Zed3;esEQ4RTdbDQCD2*{RH zdCVUtmo$U3G>#=C`WyM6S$lu$D;9yx%T9%xsBp8p$=zH+kl&?8Y!!_8Z8zueap77f z{BS^e7w!}3J)_@{K(hw1Zxh5$1Y&JTmtgGu;mr3j$Qsw7M?OChy)zKIU+;ez%lR<7 z+;0wItKi+ww!dMB?FI2~3bA**0mORMT^^-LHN<*AJ{n?8q2>%?QIlm2a{CFf|ByiJ zU4mFtU3Z1mKnu$D17bnt>_i||D^*iH8N@!oS7Q(>Wt1RR1qs9olqUkQ2AW>!B=FQ{ zrU&>25DSDWP2F2U>~nwc77$B?8pOV(X`J1rvfi(fBH-xhb>OFx+Ka? zuE19D94eCZ*qvKa+%rkdGYS{BZ0TkP~E=qsNMp<6R*cU^L_><$|1ZTuY=%}A7van*06z)&jr#nKvR@m=SZ z@apIsldz_-X=fE~sna7iFtH6y(u#MmEU$CRu+4HZHagiw{DhD#Am&i(@QbP7?Q9s? z@+{Hodg7m1mai;d%v@IKt8_7ZA79hOTt-a5?6UxWX77%J? z`OlSQ9A36AhHwQxi7``nx#dCUjaSv#$dPQiSgKnRbiI`8$z?9fitj2(guabaZ188> z$j^;BTdKj|NKIF!YFoy=+5{br|5 zMvz*n%N0>|+2wBKa<`fJOx<2fU)TC>&2HAy?e+9?!mjC%pA5w9^l)$^KW}8b5;Sde$r_vm_{{{L5r*AO+=xtH zM2(cwYB?IEPVi91Ib_OVW1Sqk}pL5_28u3kKdG=tLB*LljPk z@F? znR9tXc?#sJ*&{lG7Tq>$Gr+fDPu>d;hin@x)YrDHs2Lk6k_&?y2nOeb!H1}&7h;e$ zBk*L%DR3F9V$MZoRkUqep$#=|t|uIWpF=FzmPSfb&!!D$hM|gN#(@EriG@TihiGJ* z+^MDbv?)hw5CiqU;q?*T{+Oi#h5VXABICS`~CGtY2mmITTM(T2&n3MS`7arm0j zmd~J{8AbdWI$)y6xtV4kw-a{y6V9Tv)6C>K=}<9~bF>M#W-|g8hn$;j;lDX|jv2kJ z_AZL4yr)3K$GQAI*H|?{@th)&v0eLCx(Kxj^`aKoDOfHK;60~6WUSeoWLG>_n>`?X z&O(dTTA{^ul!o0pe5b;Qa|$cQz@1Y#F$V6rXj!`nlKlz_v<2Lig${Cy64;+}i}Z#P zeNEFQu%FEc06(WG09{>9z>g<@?H^9|pJS^hu|%7p%mO(@jXbZTOXa-78-Rm_w6Xv` ztQQN3I}V9EzSvz-f^KuUpDeA56~2p0X^L|82kPQdb7bIX6MhzKMu7e~x6<4iatbtl zCB&9+8D(VrfDQwV>}n^9j1>g({aypA?KK=*W7$B+_R#^%=aOU}fcq6NUpzUNN*gHk zT3A%DImPO|YL_*MC}LsvWWN)t-5DSF?QWA;5{-q2teqZ z+twNUO~_1kty@eK$+f6iuXEQggzSA4>i~YcAtK)!0z{s{Ninf z-Cw^CVE69^ggN+muqSS90g6pf4VWZaQixVe*=Yn<_VX>Q2be-yvKJz8K@nYKax45* zFy9!_(k^f;Xo@X(=jI!Fq%$Pv>e}B8x(6ckrsoYz({WY;aMCPCGdnYi4BsMW{eN5i zTcs2(g`%*?6<+?-uad@Lp{)py#g|(cA}0B^mMlZ|zbCciBpE_fU*uZm4NNg8jX(02 zMbvcRrAK~+BP(XYZ~t3*AnZ~>%oP>_*|OPa`NUMNCUMG!h82C1oxyQuH1TB$uc(Vt z%U$St?4}*nyE<}NdM=+ty~7m3od}N}*w-GVS9CQturx~iW7c|BweV21S|}M9(X6o5 zF$GUgIrg}M5iXo_05bm98fLIsu_KW`(&+babd(=;hQfc;6|?1zhS6s`%8xL)v$~bI zFAT)>p}_n;rhG$M?Iw$FCaWhfBF^Y0@XNLMf|gA8KwW~%Y=xMQ0~y|&o?6sr1Yx0F z4@u+IrK%Rp2C7dpD(epEzOoR5+pm0AG}Hpz2qFK$LXIiJMqg-BQB$v?NJUYvqP&Xo zJw-0GF4}aJOBe!7Rp~Aph(=v_F;MlkVsc}2V7b2~O9txZaZ8qzZ^`21mMrksJJ-MG zv{=w$H(+i{wtFBi1Xrh3rCn^c*i(!8x+SDHUn7Y-4KmHxw z0w@#guK3r>Zk4FEPzffti&sq-#>mh~pkm?GiN5+%@}l`y`9-}-DPLFbT7egs&N)-> zFXpdRulxvf-2Y#-fD0Q`N`vA{N^6{y=XnpyutnWTMaUk++%?mqvLhug*Xxvk!mvye>(u-dSBXma~+}^o+EE| z)@3=&gO&`=NfK`^=;C_3xiBR1@B^}GL~rEH6}^Qw*U4xHaE=&!3~#Q}I62;25Rpv| zPK)2jn@f5Da(bFB!o0bpvl`Cr8QvLGyt$gt%$f@q!*(&R_&1 z8b^=g2!O!a8Hk(`mF{%rrU1P`;3nu)AQ10=CZ0&`Np7N>R6j)udb;m zwA<<1$37_V!A(uPx?Fq~?Wei3+_X}BcB;#rO%Gf`EH*Q(b-WIDx@WD-x|yAU*>Pud z1|QOs?Icd3vlN@Nm3OG)$ROS?nQ2?S=auP<0;vpiug~EE&PndI-78}>^R9lnp7W^F z<<4_mrMSR&3gs)BgHPA_Tm(7-setD4lZ2l0+&pvvbKuyKgWY`kMhl?REa2w?e;V%E zLKnJ)-lOYW#>a6Z8e_!vz)p%UplGp{m8E!z9++EFKJQW#ofmR4)V;f;+K{c<@@-s% zPIsxh*iLNBmj1-cIq~w!yD$iX2p;vNdiE<>x34V0bjk0_2(P%T#G-zcySy9DFy+-) z?bejywVWKzu)sgZD{$ws44%^H9uDGloZUNFv8unqZLqU%+b0?T&R5CqN$|oAcs6a1J_HfRUNdl z-Q0oQd@Xcv3muT8^Hz5&43`Qh*yC=qoSkiGA@*@_pOSa*jqHr~YXJK}pT$%>Aiz7o zV*GYW+k(YC3wr+%v8Y$7&hk@IOvMM(T*RR;D$xAQLT+|^TYGPe@7EC*QagJuU& z5ZH2GQ+z7=)2GUw1ys97)$X-?o%d1=mF#_{%C%~6l!fvAI_3Qgk}t}q!gzK-_*K)= zrg>l$TotAg945_dBhQ8zP&!!@vY5iU<9g0xiH}Qh&-9h*at++UdbF%5RIH7tSV>Dn zZcge(4&L4pI@FWR%pepYD6H_m$WWvgbEq5ahCQk{=O)X)k;`bSDiZ@iXyED6c zftx!!X_}6w7hVrQHmY}kUn1ny?@l7R49jM^S>3U$Cdvq8q`c=QO$AT?g!huF7XYb3 z3DXq6&v#ws3?I!V$6qKkTOCZwxq$xJ3!jC~BRbPZoa#0D;;rC)#!h|}2&ywzV zDNW%4^PZl|lBPM_JsI%Ds(y*P$W)8^y#h7kiV`lK%iX2j@aT%45ba<|aac*yI@rG$ z@M=|G0|S@^8d1B{;qK zeKl5}t4meWJ^&>8CY z4d@SVD1jC`+|KU!MtX!E(A`u*EqJpbAFo{+d?@^ja^R>5x<25->-w}05`Y>X;G5;^2Py7CDR}H}KJYUz zUpfz#oHsP)Grvb)dMUo&_W88IfCt#enTZenLv#k3hGYx}Jps&;7;QgN9$6MLTaD}? zYYc}igti~0&c|#YZ}^8qSX)vm?T>}9z;uhHHWW!M>9Rk`flr0-y(IT27n6$Uhsr;# zk>QN}>5#LyYIlhJM?x}4yGQ8kQFZpY&^;Qu&vD?f&^=b}tSyv zzhI3Y58dZO_c(Q)u>Ic+-4{alyX^m7=$=r9;_mp1>g>tTeKB-Ta^Op$`;t22HTbfC z@5`Vn^1P<}uLxzo!oJ=StQ>)RDuG;tqOYp*SJ_9PoQxa)@9X&QCzby|JAa_c4TBoK zH6Zoja9@)IQ%gqGi!|LPrEK9&mX5n5n;wOroVtMlH@bSydrpEkH?Y}96eyNJq)mfB z-^gWLR1|!=&<%>d^Ka?XbZ9V#dNRCWR&s;wkd_V^%u%5`rASO|hqp*sNUbJTo;I`G zsdSle>Jn|M&|2kw4+`x_o5OsTw~?yNTS0Adyd}xxbqHqwUJBK2i(_iXmg-HlKWeo{ zQ+u=p-0F}hbU$jf9e_J53AI&i-Z1)x2~ad)WRuq+TnKz>cWg!zsXehM09I{cG^jn9 z+DV8lho)kQQsQ?-(za9EOPi{V>oK*@r1qIbnWuDUnw!S^tJ-;DZigi?x2nw>P3;-f z_BJXVn(1aL7d*noFje7w7b!E2gWS>10=!nUC?LibhXVN)oTDD9GP_aK<+{|8@8cY0 zez&_@P|G>AoMU<9Wr>=rmKC0K6#?OD$;UI7FGwxhfO1+cq~*dQU=Ex^S*wct#iMLhD%PG3tr-!GAP+PU+gTBn?h39FkRm&@==3{T=zrRi`*Hg6Klg&~@ z?5$cJ3f($j!9STzYPp$en;~=r@HZhqs^u1nwiL1FLy&HQqgsL^R|6w@N+c*-2AWXo zQT7463=(DFB}$IbDJZiIkWo-<2UEm0%NMV+T~DLyEizU`C0A0{AklSTk!rVNSK4L~ zvZ`%-k45>dF2Uf7-??V#?(^O)Ivk# z$qeFTVm-10%p><$L%b{4N>x5JJHSlyA!`U0Gar#Ho`xRy zm~xae4z*ZA;RTz7GR#3mKL^QApcjT7>XRrl!O#!xf6kWo{fE$pp(E!Kjs>9{I$;P! zmhK0HQoA1zO6`6?D7E_mq15gNgi^a75K8UigU~}VF?Wh|voD6y#qnS$E&F09EsqC7 zY1tP;X?Z*tO3S_&O3UNHP+IoIP+A@jhSIVxhSG99pWphoz))KD#ZX!v2ZmCs2Sktb z1yOoEHi&YdA0SHYet;;o`vIcV?k|Ya?CS|J#kB zECdG?8jp#g92(4_6B0xB_X|U*-46_wvxC=E|c3Z>!k zN}+~()d+gzSlZB62c$j~dOFvXEcU$+G$XToBe_JgC;)I|Bbq9%WBHwDH($iTsUEXD zfvC|P_of|5f=0v*1$i#+!p78alu;h@)5(~h24kEbTw)0yVP6{391oQ=D z1UofgNXobg#@z~u)O}z7j<9mPgGnlSW+$#nftylkJ(b<5Y8@&( z8vXfLQ&{g# z=eb#;g|d6rAu~$G%qWp!IJ?;CDhH%CV)Q57t`W5YkqSsn9`xL}J9*IaaeN>W6=);| zsT-bF^6GL+@auFw&OHxyzO0x7ToVIA^D zAbq3jWaq-v;|*PTp&)zSDx}+kMJR(!s3;o{e>#AD=RP|i7q1aqsNiubZ0VQ`N6Km2cM()Bj2U24`HeF=WeibfivLC8|<{;a)Fc4832>TZ1vNMeV92 z)D{f(YB!dyFvr8xCkpL0*QVzLG>z%8@Qzo@3d)Kvdy-mKiKG-^p;ya8%4lA;@V2XE zUxcOQQ4p(^d}(LdmzE&Sqk4w2@NVI%XYfy1=@Y7KjQ5@DyUMCW5%k!)Xrtlt7kwVh zx@hKsReafV)T{!oD#FcE=jW4}W1p0K47zDJpN8{|T~7qr3)OHDMetoKgDgd4T~tH9 ztA+Zk%-vuK4VO|YA;(?rC!dnjDt zmIKBsK;lc?%5ET6k^4zLSX?|;moUsL10(s$ee&|PVD1&M5-qOlj@MHa+H1F=Br7~K zEY7`jzW{emORf05kgt%i%`$XuW*1KEfLHt~YFuS*ok*cuqW}7lw4#(vE6M`#Jpa?lA7(H64rEOam9OcC(SB}$yI_ImUylC z;CJeK=cY!uW6`impxlLhorYBiN(tG?)$j?B(_sj=r?F2B_v^Oq2PzCs1+e&Lxjvw& zV(=1cI(=Xi2XQfq+mlHz22{P(f>^jI20g0_mIufXslBMFHtO=9~$_-Wx`D zEEV+u=L1bM;As*!@BK2PU;b3{0l*30cOT&V5LG{-(*cv21SSQ7DhDb*YRC*u0`XiNFMRf4G;4ZH|*eGTzA_3J+>ldoX-F9*)q`gi4`lKI()AC^!wVq)biaMi`fa zKgCE5%h;;76Y3PkraIUe$6Pj|>`-5+MU_T7R0r3^tsH5Uw&cZc5|2EFy)h=DKQF(3 zgj=K1uw#i%0TIFadXhjzH9_c=|LS;k9eGLD;>`Bqn3@r#72a@r@lKuKlig+rmr6R%h)TYlqH69he|&v?2u+FiEW!zWSp?kInDWPN;TZaj zL;9AWPkAgU#_v_S5JYp`-6Yrfb{?;3cnPTDr;@WEZtqvqJ=0TNZ1#g_bGg5W=oxo_ zods@>?l59F)ou^D$%^~4P7`g1Lgx0#7uKgg-@^_9JO`DU7ZIJm9r*6+lX>vR+;4ng zM@Uvbq&tqZZrTqdc7NC9vD#Y&A_@1e%*r)HXq+iL*oWIHEgw}^CyxJ|5cyXGj4O<4 zzxaYeLbkr~EG1%*f!#_Hb$wwFS_4R{%31?RsuCis5v1FSJXcjw3IklQB7z0-ZeaA0 z`_l#2izPdAzn9n=|u^(KKkiCG!2A}0zVt6hx*ok0VKWJ#9QPEp+GgashLQx zs}prUZ`vC43ppjpx-V5Y^7ZG$%pbTd?waU7{xv0iA4GnImy{U`&M0&Zs1(pVT+6M5 z(#dDMx?UxKo$lMA5FM}AK}9GXXt;xF)k=qsYIdlK(%}&)9W2OzC$∨eSe)@RiEy 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
    +rh*hf? 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

    _`JV zjk};WVP!h|9rFYydXvSZVUd~KL?$;8>8daHoloiTllY2Ykz!FN^Q%9Fi8z7t@c|1; zlf(CTS1yYA5rsz_a*Li}E~o4nrif=)H*yBg@C^FXO`BPCLLHykl~arIlMSfvMiJ}m zB@V)u#d~w*bRA zcM^rKPZ=4kCoeqsYGBc9m|KYy=CN8He(660d;o5UUzb_CJrCT_1rN-#0`I%Zcwal; zq=uyjMhx&;re30YRRRH`hYYv9wQ}1txWXg3x)bf&&^7J*NPsrSCi;Cdzk@BO03>>Iuv&xo-NTE1-@@Tbo;$Bs7F08O=aK0^IsLobHu z8X+ZVl%<@5xmZ-CD;!p&|njIa~wb8&5Si9zutypB_Z zq4i&Q9Q$qaD68K-S>Q zwC#b}R5lLSG#wog$A(=zDNbdcfVpgRzai#PSqAj^-m(R?BO^5*9G+0m_XO@rGdF5? zTt(%Qla7>_MO5bF8h4E<^Dr$+Om}z%o9RxzCgU^sOv&WLla-P|&S3mnzF#X@qtSE5 z-t+$q;Ut*}Qaf;LVmpo2lQ@k#Q>D#O%C2Qj`^_47GNn zOm?NOuQkp`(nE4koVWQJndzvU0|!$U+>6QuDi?_5g*kgY1~0c!)8OU4 zL8dtwosfFk8@KKnP6U0SiwQAc0-Af-sFJ^ z7E8YlNTT5zAfkh)NJR51j83C|9l@_7ZYkNdHeuH? zzaA2DevUO5#b59@#4~$N31`gb@OiTL>9@r15LMV*A5n#^_*{3cPOXmBHPxVHnXe%) zlkMhr2!q2*WIIAuqi1i-KM~&(#bQ{77Cnxy-{MIDKL$evr zA2|3tn+z*@2dBe*noXUEDBlD>A0ae;KAKJ9;IlJ`w<4CAAL4!bE{@yeGV=zS$1fZe z(_x59_)55+MXp)1!Aj;@+Gb+_*o1Ljv%$T`O%W;MhsDiD0e|*tHmvmrl49Ud?EQ2< zn^t~=AKDV%=@Ak(g|CWtI@6;h5IT)IL_1ZEn@jn6sd&ign#*ipb9UQY3^a|gV=jps z5R{$W5J4z>5u%6PSvVLgCisRJIxbc#V?ZkR+$|hK%ZeS^#Mdj`d>?AVJcP8w5J8ie z%T;{kG-`{Rr@7c^5$58%TF7rOL#t^ojD-$b%U3%-A~h{5BB(~>z~S%lz%Ay1Bbt&P zI7QqbIBN318604Je*#psDRP7jL)`ZU#$eDgx&cHHBPGi`)>{$LGeW3rd_W=nvaVtc zFjEOxTqzE>fe$#`(R=_@AIKrE7^5s@snX@Ri@Erb#AwA`)bH4>B*9eiQN_xt9z^of zd^YeG0uG-~=U{C{BidAY(WX*9$xr6uhcci?r8t|Xa{NAk?*nv#yiyGDK6S-Uk6Ty! za^M7AJua5GQo_>VfX}{7=~wj$hy1!eVTj+rYbJo%sdR%)@IkA3j9h!M_SL_+;vrDP0_yLBeXG5P2o0|0#T(g2LrutlOX63xy}2 z$!Yo^&`rFz0>!J+pZ1)=(>W6kbz1n3PXtI!1iKlTKJ;u0no0a*B~NH&F=&^(Q;0=6 zGW`O-qJC7G`mwJv-jhYbschqN)&1rCeYtrc6PjyZB@bYwyTW2~;g|FBvs~3x%=l_V zpZQ`)NI&)SZw1nX7gBMdB$-9{8q@K${4KeJL*Gl>HEv0`^Ke=Yqt{V>ok=HHq-eK{ zzx~sL`n5*`tcXvIR>mLD3a-NA*iK@(RpDQLR4UqyRKHPCM(Jub-_5W1CUm2c3TRmCy(0RlN+gfU z#QBEcSv1+q-<#!GvjvgS^#mel^cja_4sHmh1!z_E*OHDO@JBBpQVubuH_rem^1{z^ts%kxcEa26dsQCfsW#P0P1=yBzlzYNBz_J+ z>B250xo@D_fiH>YpRC)1)$UY^e3(%c5sgAZ;C2jB+qG?ZoTvF!GhaP?0p)a8f){_- zoSsXdlAJcz@D9{*e)vf3>KIE(5~@&?M-ZXiSrp01*qyDS5pINr=a$raO+XW%R&rCu zXXK^YKobm1id#LB3pIkESq zB`Qb`9IEtE!Yo_?8;}NY1%&7Eb6|7MNt6l#9`oJUS^6y@jf!ArHHRwz7T))o!v*!q%grg>IqdfCjR_YaklQ_IxT)GA4jS-a1Z4B_t9lYbPG`e!s?Dr-2%I zrKilWL)8)(sf0ij8iz;ddasXgaVx020*#5vtC*DNRCEbSIH|76ymwaWy+h9qfI{Mj zU8ORxl(4BPS?kuSG91#)4s@n+4N67I`~s=Gp33M$3huWKh;jv02Don#a8o%1v7q&wpreEa}bV$w|yam?|8JY0#Iy`{n@+-1q>I{_w${ z+Qei-%0qvuAqfBby9kPUJ#&OgujfLpDTHLL}Dk@YB##3JXH)n&l>319wskKCBX+cQs^l zO!h<~J1JH}(-EYou#{H}z434+e5`+r(d+EXX<12)%CR?=orRj__SS zqQS`Yrs%zr6y9q{k>gRvmL$o9F1FIdB$I6_+U~Y%)E&qvNF-(=WmMjLS>Al5Sj0RT zym9W4e^o;73Sb^pwMV(5ULEIskZmW6#LsDw5JOTxG^ng~G9O~yBG9ybT;g59j!F+P z2fBioX98!=trhynV&GQLP>A1>d{W^m!#^BIc{$8r%l^zyGahL$fA~K7`9Au`eSjKI zs(h7X69d>076PXbosv$Xg|d~h1jCV@Lj)YtbEc!{1Tr64lnN@6aDkcNER&TMx&HtT z->2h9R2x64ucTgp5gl68BGsR_F`WSbof$cl9d{YPBiz9r4el7lIUEof7nMj{uqTUT zQjCm_$^-m_Uu&V#Ih1}d?|`x`q?Aq^)h|CL5uiM0hV zF>7itwmP>kPWHhIso^CNi6PWf)Hb(F`8&%+T7aO)U-)sTbrhD z(lkj;YSN@JjZMCW7f5Nw7TX@KX35BoTh6Y}Ge61g+>&9n1K!EIVugGm##WLtEpJz;;FU#Vr9l zD?IF|qh96^gts6OXD+CjwYEw^hDg(c!Aa%r7!stPb0yIz(l5pU~I=4+b+8xU)aNp zm+U+gLsAqol0x(ZEKt^!KDYsE$k&H80L_hrpn9qk185lu@CAu7lEOfrC>$WgXuJf` z6BA1EK9y2)?AO7%qE!x(S7d}nejDAmZGayEfX^r9R()c~ErUCJ2r#%)?t$>4WRT?! zuP5T`a-`Q&0mu=zBg9d$f%xJd+$G!2?BfEV8=Mw^4=_h@Uiz^<1U}CJCI=X;qa0vz zfDtJ95H>FxzhVT6)FaE)aU#}E+Dx#iWb%}BhoBv7Ru@@ zY!?>Sr2CN6Jd&sD;eH7lIxvISNjW8I{HyD60tzYXnY-rQ_#+MR-_|*zGfG6 zmdqT!RVZh~DPb8W$IE%DRvyqfRC?a89-oEPQmQ$$0~D4N!TpXAFmt+3u5UXbw3JPc)iyS|q?SpZ*aruJgyXF1nP zkg!}*gSnEA!HO2QGQ8@f%T@*z=6d%UU)LsmU5h3y^#QKI-&Ktq5KaGDJRw%us=l|g zDUd;4kL2IZ8YWqBK(n`lmqK_uYs1^Q%q~R)bD6?qT~5x+``*qvexi5L+fj2zdjlrS zE?~)B!g2?~q>p9_)^ce-s!1u&(_pKjw1*OyU3dtwbAROvgcQfiNL(z1Hq;(1Abi@I z37;gd0sCbB#)B8AwDnG_NOG$FoqBD%2#IM0+JMp!7b6Zmg}uYuN#;E~=%cihl-c)C zY?s7PCa9zJ5nXj)6nXhUa0UhWM!&Iz49{}gGS-~fCMfvnt_WN;P5raUs z(}t21p|G!r12R?7DFBf_A5->v1gX&S3q8QB-2Z+w`~4wb(W7$Kq@oY$5IlrRA;=4Q zG3kWSWl73{$XQYp_%eV?YVCQ9y_s8J&busBKJ>kRLYa*LN-Of30fHgVvcZ|PrtiO) zQbws>F3{=z@rKKvT(i^$P?0MkPsQ7Tj^bbN-P|MreIF(Q zh)-(XE}-!XW#lt}zr$D<5psnyHkmle^+}ZgKSW1<<`z@b2g>nB==qsjLef%nS@OfA z*=3y(WLkT)5WI`sa)De8$h!pV-!MFcN*dlu_LqViukzC4^li-A8VX!$*zwk6coSyr zBbqgWMEF^|oDA!bBCo3j>5*owkX4KIjjFwZYP}?aUN@tWa>V+?LMLQh7)T(9wgrvdv-{OHwkJ)s_Lp(k4_NBbY22Py?+*Y$)R zWC|&_opO>O>l96hfPz*vHyVn`$Dz(noC;E%Ze++==urmm z1;}zfkj8p^3;5t;p@R>tP)8i&(v8A81`?3l)SS~UHn*5>F7-FNiJ^XIA_q1E6PKSO zH>R=|SpO>23^C1X+Ui-|t!#JScXmA6{X7U8+$g(|4Wojljt>6jAPx35z_YQW>uhmz z1IE}~=)cj3XbL`bgcs2iWKz;b>U>gr#50JP7O;5{vMeMOgOM3w*5pX^H6&yMH!hOW zLL)USAun=Xl+Wzlf^0%MNWGX_uL4>gPNp*=S;_gaAQzu`WLU***thIi>3Z0+GL|by z-qIBs)}B?v1NQ9tAfjEU<+GvEiQt!*R^9GO|0=FzsK|1>zPXzX%V|$c(ACs>HAew! zxodkC>>7SGTA@9fv)oUGez_np`tIfHjt>H z3eQ8aty!c#j09Vo+o7Nk*1vL&_S}?A)Mf>8#-EkR{378@-`1vY+br}>K`DS4uqYRB z1Nm<^v1?FMQ^m>r_4;fR4BbYzxG{d-$M~7-i4Z}<<17+UA&dHEZksbcq#5Nj;~P)6 z#`lYaKC2&nQBOCWA_1n@M2b!9r<vbVch`9{kg=S(;KSZ%I+v0w(`a4frO4We%b`wiHxm7S33<_1uTb7Ty;Y{dmS%(vvVsi~ zqzr4wy#{%*a<8T4wLV^zlF(%Ta-xS^z|4xEBE0c9b`jkdd!w4^G-604Kf7J!P+;(8uEvDA&w0O%a~fWq4(kh?(ASr z6|M2R=9OLn%F>^`o$vp&q)ohCk72X)+PIRT@1lmADRHxxLn{SjQ=bpoO?HsMHCBL& zTgf3Um)$1z=oQ40kLFnNlCb18IhH^eEfc)p!I)#oD~%<;`Hq(vOa7vi96B;WvfYA! z2F}HbJ0($p@oA6&ue=wr>gA&+_60?BRTeN1Bsf0$uTv8gNkew3r6`j0>2DS=oa0~? z|B>?7_u<*p2BV3xx&hhmYkuN?7a>!;q zzx#V%!{UrdKl%3sYd4W-L5RX{P3)mmX z9>-_N+v=jTmZ85*YH^cAEG1nw8FHx^d2om83!^6!yEamL9U-SHMczgQnIN?BDfZ&E z8I)?LNA1ruoN2I`&o`VoD#MxJty98qrUS;PAv4bHvzuwi%yawM&G5-B>yumXUW?88 zE{0Hm9h#L6h?E2(r4yEEE>sCZjqVUYh7ou1hkU~-HK-55FW7<>D366ff|^m6i}-FW z;=3fd0`)b?Y`5PbEt%PF`geE9(^aS2LmNvI5eSB*+>88BnTzRH;G&d-1Vr$$0x-dX z-ir&Hk%1st?sJ%wI(rQ>(dRR%6dg;+Eb~=f;{}@{V=h<0zO$PYFn9w6{n1U{YF8=P z%BdiqVA>-kkD>d6FbNnhz<#DbtEM{xjTj`39?mU52$267fWwjL&-gq+|%E- zMkSH6-WcSp&`|qSvR`ODblf+q&08oLOlqX|M%Jp5_r!K{Z@|C8dYKS}fPV*6%dPwf zga?HARy&mbw@;)rG?03A&RuR!XIB(i8C6>w3k-Vxl6fZZi^B)6c4yl*mrZ5uTplaS3Hr>P8sgo-r!F=_&h0f;w3?a5WrzJ{hF;v4pbmHE$S$L(yrH6sp@$!U2^Yk6!`c7d*ziv=8zqRiVwsQ zc&sdTsP`w5kiCshgY&FaCbdVk^|*>~MF^?@I2C?Xyy1?*{w&~~Vk_KKdF;dVWnty> z(r+z9QuJrf`q0;X=7T}c<=wX6H5pT%xX8N@J%RtQJczt&<#Jw&H`rke3lt9nPGNRo z4^x;0bm*}YlsIX%nAbj2K_wyd)ihj&(h83t&-d&JdY9P+85vzJfomU=6;SVKWWF?X zMSs{+Ej=c}dJUUkRf-Cdaa8X!L>292xIn_qs`y&6TpOG!Ny45`wQRG^o{v&3l z5Pm$BF1p~e-j6Roe@ zK4#b%;7AtYVHw82{e`@~f0d{IMTTBdKqK$Ycpd!2MJ=%cz2b%za+3smQQSN9H8s@C ztFsx_+n6k2sxP&M7Q8HY8C$v4*6bARVy#P%mT(5tKH>n&>UW(#0?N?2tr1)?)#`0M8AY5x6$eS@9^KoCh3_4XI_DvDafI2z7ng#Q>pM&#U>|9 z8*syA21@0$ztC6iO0omaDjW^ykS)_K`{-sIUzcg%5hkyv$JD=(i=l(%!b4V|zPzqy zVTG%?u)H=2wfb9fOk(|HS|~6JQbk?VR-1x5sBWWJB0NitW3eRi=AhQ*3lsdB5x z6f{+VxuV>qBzbMs+J4;CewZsozT(4PIKYI zq-zar!Vg;cx5KP)+2!e#&0+5#C1&qPU%j8)8UF22wmpKrwnPWvc?8sMB2e87y^rfy zIi6-|3J54yr-w8?f#B6>t3S%Cfpu$(P*|(L4HS?k1fmj;efT(49#sLUxvsHV`Uwgs z8pN)06bov9Ti`P;Fij5)1Rwh8Ntn*)*FE6$1iq8ok!)Iswb_lYqC!lecH=riW_2|X zgCKV{vc-+^Ul2lTRt%_!Gf|3IKGAvzRiEJr@yoijOW8f}QE$f;jVG z)N{RkJQ{Ij^a0LTO1&U4Ue6`Z1~MQ`e83s=X3QSX#be8D04hb}qGzWGkxwV#^bq^y zv?^2zXRdg6X;pRrqQ!@ukph~$lXyC*>WC;VZPFBeaZv~u@*V^T4yuh5Fd(m9W}A1R zmP7S)esRf!GPm0Fo*-m1l((Iy{iHJdLdS${it4=$NsNM!Y4K-nCQ>f7!TI25;5i@2 z8Y%(Ud;O=4vk%gDei3<^q8S}#ODOgjL+)jB+Fr=zsQ%mGa^xF|^uWinlB-i&&>VUD zJSn=nf~(UJSe;C=RH1`@+hWyv6pp4>oYYO`ZoCf2yoAg_!`&}Z z3^JsPf(%Jt+Y9!`pF)g1VjUO2hKvo|ZL13?VNcA28cq=(UKSYyjG|7!IC-3s`^ zt{$i;l5~jNC0Li`nSMyQ@ASF*S<#_7!rwZ`cx<_{Ai9xX4(5N9-pHW5PlAUigfmwK z;S8PjL=plWHSe*)$1~`0f}|ouH`nyqz-^)A7CAwZTd;tDrk@uix$lC9GMCt&sE+=z) zWvY&GB9bP@b6YFOQVd2d0+t4m7tmTlTiUDn~9}9#?MSIrzI?D zkYJ=))=1iwh=Dm!4z2U<^!1;{zD#Ec-^fJzv*c>7mULN7mM%&9#N!1IC3`6q408n~ z&q?8vh~yX|xr#TK-3eHfQ26*D$AFuU#f^2X55|otWl8pH59*3J+uL;we38%h*(@Js zv4!+4Pk}G=#z&~@J?o7=HL|wbK#x*(+8cSl^>{%sf@gptT-rd8lK7d2RUga_#O1@X zsV(&>flf}pd^B;VP`@{*tw{kCSVxISLQrqn8Ov*$xZZ(8DWvb>zz|w!g-qenj0d9u z6r~I(=*hc7hRN_WWFXeA4hxzW2 zwK4tH$C-W+-98$fhb1D?sc08PdrVV+)`b$E$eFq%p-JXUt<7+esz9<1zS8+%y`=J~SDU(f#E5Nu()+1xr~n~+F~jD2;G-jvdB zKIoTdk&VuzXrq_3(G_MKUSghP6Qt9`W>Vla2rj~KuH{D%l)_wWO~3U|i8gpZM48&NCvu#eSbrs7rNms`i>Z3 zhv|@!tn@x=!_)d9-x~!um!XN>1Yv%2`fYk6(|h&i00Ni;B1Y8fgXBBtV<$lG-j;s( z=>o!&k{yyoqm(@*JIu)afIFa3>E}Fm#3I?wNxFhT9m^yZomsM82kRVhn5SPDalZcE z7l$|x3S7?CP$ncagIY8=Qjz;!7l%~G|t-w199$I_o5KzS98S4 z5$9E+asEnNl{fD%R2~~Bpn)ufTY3bZS9Wx`hqeWQO^+R2DShl)1z48;R&<_K!g4M< z7#or9$n?IqU{M9-pQQJE!ZXlCI3~Eo2n&B5PttQhfZ;@)eg;i7&zgd0Me#1ZOhqPS zNLV^V*CSk+HBh)RE`9R_L9ik<6vgMEX;#3O*voR^e_C8Clx8ao0Sac>aP>QtM3P&E z;b_A72_)GHA0;0&a z%!0gx{DlJ{k>sjrFKQtkoy|}Zj)fU-FYN zt`yaCRjVSpVs(eigKk`$e(7HctaTAdnrFKt;0YU3GT%lI`WCTyobti(gVNMV|db#$#3Db2z{A; z^n-qdtwO*Oj4{w!!&Y62bOnd#?!Zm4Gy)@axj*9(QfIwg(IOFTrtm5vlAY^Cvh=S< z1WVJfPT2i7!%a2xdJQ5KxhDO`d$YJwTf_ox%@azPtx_lc%LL4>%o*F z1imiV@990SlK)LOzgPTaRjiGdp#*Dwq_a1u^4;VKR{Ijz5{gbW-G%xlNP$(;9?5wd zyqvd--qyIUWp@3lw9mi}%-IKLMemjF#YjD2G!Le4@A5%Y zA81YYtrDjqWq9&XJv{MU15dns%nN`!BVKMM0oJ{twMH9_E~-DW03{`zk&4`?DN`FY zd9_i`x=Xrr^tGPLgNO@J8K_oAU!PP9;#-|Vi(FUd(DHoj^8_-PmKONP4!rgPKY#jc z3D19T)&mrXclJFTS1I&@P6foFYOinBS=i4zh*ssj0A1xJa@A3*r&VSIIWNwO+18l= zKoQ{1>@@GkSotqeG6bON79P>R1=;(bT|kVifNeMGVl0EmAE(5HBaKSl%B(#q4iF6+ zV&TwnB*T4Y(Y68E)9AX;$)*ENXL6!;m}kYyQ@A`%maMt6nBTL){7wUd7{PQfNDy?k zKdP20&h3ndjfO>VXY^LR(errZ-Jmi5<#gBZ#Czy5$1?z@20P!2=Kv{0|IAU10r-QK zm}5UjURK;0y^BSm@yw=Huez?eIrL{v&xnHml0Q{NX9D+0iGiz5{GN3t@O3hyCE%!VTk+@7(uv`yrs5zqs<}maQMRb3-Nh9J{%r^mx>2Ke z>9LQ71%wd_%Qw7?h7lgCVIRw>Zw)jeMVc5S$=&V}U-czn1t^5Xike%g72s`ix`S;_ zc!6swCk5fLl*rFYG1ZVMrqF4xA@;AvyN+hpg=TwBf0BqX6D9X;G=ENuj2d_;8}YJ6 z{(B|$Np5T#5iMPXF#3x0bMH#@q|d+@5R7b7`cHo#Sz+kb=E@jENDXpr+9blaPmGKh z32Qswt?MXuUFg_d^CcV~?w3sEdZSe*X&ujMh| z&0pG@PLaJ29as-?jbLaaq-OHwFB_TlQ4DSX9-SNnz(pvXDCn^L5deG0JBGYt`5R|r zY+MbHX&%wk#8k);I?X_4vCEvGt+j^u_q0&k{a^TVw9?oYO{hHhMQ#njFFw&drW#6e z$Zchw8w*%C)b@{FpBeh0pw^5{=HnynbPx%nt)7&A?JKA&MULkTkFo`azye(4b$M0TP}?WoP-2yuiwb)X{TzS2_X! zZ4w`$pFEt1z)7D3AHBBP8y?B3=zM0Z%-j%024d#?77(H%!*Y5%3sT32OxP7V(}|j? zGyTcEB5ZJYL|vzuodISL>OT`GS3a!v=hMET`OBYRWcs;>5^$m7+h0K51)0UuJhzbc z7tucYYUIfaTR?>FzV#d;%Z;0z_SV20frnW}xs4EYv&ntPktN2^Zlhq+?UTm25ane@yo<~dKtWVrp zKIxZ{?XnQR7b2;sTPOaBoW%Nd?vaJzv3lzA|)dBU&lU`}*GV zk{(#S~ALDOJmSfo` zw{FRw<=DNg1+X9lUkD8>K8xdvO--u@_|qtKS}1=y zx2LN-^Go9=gGw`;36Q#b?B!%97vlSJzJTKU^1%agyt9B!;qB7mRGOLE8KG=%k4^!D zB0HlqikZkZZi(mOU3xryFpW-6x89SoqcE*-T7C3RJL*WU#Lln=fN9U@ozXy!?B@WS znmaG)vhxDHGX}t+>9HVtx#Q^>WJbdTxJmHWbQoTjd*GO>3(|!-`S0Mh%CTKNM%{iDJcUZMVD3SAAJ{ z^~4Uh%WK#W^Xk13aknsL1SFq6M^`}WczQ&U4W3XCiH5!ao>%DbIA|T2gut9>yq+xS z9q(pxZ|>b+8F9iqOGK~*F+v}!<}GCsaOaCqIMOAI2H}<$!X60Lt*3 zLdhwVL8MSVTOUw9m;=fQ0w_6!l2a&yNum68eL(qG4k$UGM7bSGZin(x?NI){KA`+G z7s{R>fRbx@atdWIDU^S#4=CTuDU=fgP#SX?N-jegL>bC6^#SEKb3i#k0A*wjC^?`E zBB18 zP=@Ae<6Lb#h-%}f>jTQqaxKpZ0w}qbCueyEljZq(eL#6Om!X^>fRcL~=YTSpfbv)M z0p&k)3grX=lsrgv4k&{OD1TEQP=1tCC?^P@ZJYzj zU;@ft)(4b7$+bKu2%zLFPYx)92`JyK4=4}j6v_z#D7oo<4k&{OD4(wnC?CoJ45L zAI$;f1Ob#>ZJe__gURxIp+2BIFzA5t@lta0k*3=xMJ}m47Q2EaR@mu^R-7DFV%K0r zYbYm8m7*KM?T~VkayyjUq2**W8A{xi%1LWwrW?lXu&Ntw!(F2_TAaRjtrgpnnXakQ z;6_-J8)+llC>v>`x?Ng{+({HanZHvkwNq+tw4G!p+vpZICh1DLY|My=JYy}gvE?MH zl-xLO$CZ;JsmB3?Th&doX?8}{O{dtIq?}oGGi-)Z+O1v1Znf!lE5)ohtuWKwMwZ)V7gklCi`-e< zpH+2d+u3fW&15wH>%9d{*&cTePtGYP?~a+DbL|{Ex9ZNT9C5SkJmas$ozL_0%gIBr zvOg5NGQZ2^H=o=2<>V2c-o=lus;gMVE#P)RIeFA~-Xpfs zjwml9yOa!n`K=vU2hP&@cgOBp9$#B^TWpJ- zY_+YnIV|#Rg$-VKBApt+`ABZ1hjJ08l0Y<7o z$Pln&X!_)r3a-Rt53`aDtAQ9r8{QecnW1QDHnP8(NNTEr8Y4iBk=B_0{rl;7dsK3x zSU_pzXR$lUM%hU<5QO_)2mwI4-59DK%Ss-{wb{m4bIqMUB4PV47QF);EbO+Gm$Qf?BtCRN>Jn`{$73sR?& zGPUZ?urrj>W^F3R$fnqv{Yzsnl-&J#Y4`Kn!kDHprs*2TnLx>zH8(@|?Z8HR4UCv! zXLY-?8Ouz@bPm^Z?QA=@=FS5$&Jh^QvRR8qco>`)fT0Q=l!XK7YyZ{1?|JTln0Nd@ z_P#r~@2I*tm3hJe>#TwUbCojB=IMQ3U~}vOznC@S7t*`=>QR?nXk9f|(ftCOZwqQ{ z_KGd+c8loMVtUujm5po{)!535t=pEgxTUr<>s`q$qqSvKHuA;V#pz%FmEw~!YnPCI zN!6{e6>g=i>`8yR|2B4OnD73ZmZmOe{ajvi>uil(X6w?w{(fBfO4M)5vR|pAZ@;ox zudu7qUwJsuN?Yr$uDs^x(W3|0p;xm#uW_4glWp#H*HZNsMzfXcHoMlg)!2|**reCB zxa3UX9$!)IycRT3%jw(B^YTMa)>cB3Nc2(JYHzK?Zm%lc$M1c9`?2@-+D+*_pY!jRtbN;$&)5OI;70A}CGM?y!*9*r z@ImemR^6?t+<$SZ0PrCt9k#>j&h2)q-R`@ii8zu?#L?J}fI2{zfQ6eo;%=aVdEj#p zx!39L^)a|%ua9f)uGsF3?RBx;6}Py%W4k+E%)BrGZ_w!85LewjvE389H^%nHIDP8t zylN2QUOl{*hxf&HUn~syd?`85LxMb796*AQ6$p8^KKh;%>5Se*iUu&GG7Kyk0s%5K z;7GR{PVXAY*~E2(4Yv_Bz@yQcY-EcY)wAofy+3LMP_4QjDhg1zPpd%6Nw6~~^CAA? zI|`L1V5MlMRG~~pgDK4rBSjlqg%BARU?qJo>$WXvg7#n;v5v;usn8zdfs+<%?RKZp zkJIVT1g-|O@OB*lGQnJnXpO}q;-;h#bev>yKoMvTKCs2g-9;#mqD}FXhsTo1=||sL zV9B*req4ayDB3g#4gdo3<4k3rLDCFQaVY65J4@e&TkXsq!XqJ%Uk9@bKlX?~HHTOu zhr$QoY;Mo40x%?d(xVE<05eb>cAly_4AvYbZ&O1fgPBEZv-B$H(fO4}3xWKoddlPc zs_S6tL~qQg0xz9L3h<(LHV+a6(!zfvn^=NHeYqbksD=TA#{BdXPbaR6mMYd|l^STX zU_=5`Xu4BT7;VXD$OunhJPfUBiy(7~m1hfXF+UbpAuGB)O#z{iK5%K}8wK#FXiKU> zBZ!G25VS1N66_s{9f77e66WF(ZiPjvZ6$?PRv{)tGbr^wN-bSTK8l{6{K3Hr1iF5lgj?OOy6>*wV-vofz~!;(|Sea$wEKm zvMZo8G*4HP=jtkmb&ZmGXbQW^6A+@b$kR&`JXv6**U}A7YcNvkWbbb2{qS!UtX17M zHFg~}Usr|NxL!$68yf2l+h#j7)+P`xvMRSi>|u}?McY|U9`hrAtN=dn_|9zPySNts zR(P@9wxZXxv+O;lqAyg0zG168Q=gU2$RG?FkGf zZ_dHw6{1Z3Ag4?q7W#OqoHFs0$zPtpVDdl?Ca(~fd^M*`axi%zoAdb-7)SJ zlaJ(-Ne(721e1UK`C#(7QgZ8&k<#H5D^F)i-<{IdOpdG|DXR_bjK*<6Uiw7LH7O@g z#t8pP+?T4zUxy*WOwvF57!M^79j;5sHCD!<$r;k8$r)lJ%gJOtoE#K6JnScTZA550 zDt*&^g-RQ;*C7LCuS1?Edwn{tJQJbV86w5*c%-f^lxpQ?P~@QUZL!nSuaA~Ca01Ce zo8z2HP2@M~nMpRuO*Utf)4$zgL)xQNsBoIyROvU)Kx1=84S6f~(`>3ut08Y~v+3Q) zTVoV7k!$CA782I8YAA4LSi7Cw;%4?pnQf-mEuB+Al723YNq>v(_MEDlrT&~x5@J!b zG)h8IBQ4SGsCF|=W{1knAyXzoMKv>5<>rwzuZpnr0%>c|%BtKEbT`s!+7Rhk5kU^| zs>h=-%B}g84%9Y7GF`3Buet@QdLc;*t4L56DQU4SRy~L#7X;NJZ?>C)7m@2CuauRF zcBu+3BPl3wl!OjP1(7!{^*Tu31#%%{93mNGp@W((sXP>;*%{(hvnXH@q^{ykttMr) z*UT#AQoB@gL8OSQBt`UtN!lbQ93nYk;h|WytmT&^s&*Ly)yvZ#9+5ybeUewSo+s<2 zFW1_7ckDLsg0A2NU1?XM^4ZWLZEcXZE5lk8K||~+1h;YJ=tmxx_BKL8__F86S3n^QI!j_b6woSuFA#yGHkf0U3P6e+gTc)u^qPl~E zRZ@atRx;LIwo3)kpX@+)lD)bPsZfTXL_s9Z4U*hgij)XNimFc0Cq-VFs}^n~=Z#*R zswDJAst;|;ZuBjoBYVj$MXqx1CwGvdDhWZVa-)^mhhB!<60C=5yM>Iml#{38%5xuP zS`JXhEhw3o7RGRphbWM4wOdgo+?M{+BXOh9;t>y8wHI+%w8%t?B6 zIAbf{ee^L@I0$aBC~4+Bd5e3hyirMKG@19AsfnkMDkVgdR68{{qG!t` zT{Z%xPMkjdKtW35^n>3iU~W>hQ8H|>Q4(i+J&&~eB&X$s2`9NIRkGmfWKvHqqt6bR zz4oV^pseL-6I!66jV>n-`ky5fLdBpEDkpD`D+yYmF*a_$YX(40CFiN$c%vC$YPRva z(FzrLub%cs8B>6`sVJz=u(obD4cn6G=$@zV z3-AW4&8W$K#cN&I#AngPV5y>Qx}E(ylO|_Y(H5Pf2htX8*FyG230@~UyU<3q^T>7{ zsAsbPy~xf_f1?v+2P@9&a^?kLuWT=DLi)hFVw7(!>Cr`QHZQmXJC=@`o1+(Ob4GZ@ zgEw4}smf!T^SNZ7yB}2a7AueIt)gC9!kh8xq;j%|+Y3p(u$+80=FQCKn=pSDh=}!y z|CIUbDsojws+5!E;f-WAEl;XOY+E)ebz{&wEt1};EmQ(LlJ1}tsKDt8f+)T3gm z{CU);>0W9VW0tbWYr`)}zuctkO&}+iOz&Mzu#>XoggI?)_ctpN~o`>hnH%{a^?3t?PW472P?U(0xQ?rW$DL%RFI}ci_L4IJn}^t zxClAd+4`E>;AeS**NU=G_fwA`lv=Og7iDD?b4XPj3c{aqg5ISq*$=XEIRK&-g{abG zZ!9Ofl(L93VrB<{)p)f=+pF)(C5?F3_u@^ zL+GP%oH*$7YsW^P@BeB*pF3Y1`V?L&`ZVR}bHbp{lOL~#K0kZ)X`f%cKhQoudWF&F z7_<+--3LGXcq!D+lM4pmk47T=(MV1l{CU^0@#m)*_4B$Hhd(cw`r&ot4?Tq~Sy;m53(thMmv5)+Dd)yCz`0-Kz=t~0uNFxydX(T5O0KNU#0Q8m&fL?QK z04fE0Vb6XQk4XTP`q(e5hapD;`^D=x766rU{_8m7zux$vdI0oGApQAH20*|63IotF z_^-4d{uBfJ-2CFCKi|A?0R5wJ2!1q<69<0Yd2IN3YX(1e92t^uObp)Qt&{MY#vq2_+C}a=_=?UAowGlj_j9$eKKDo z1s5b0L>1#QRSdS^ZPLUPy(Xp$1;P~myZ|`(C*fYurmFk76OeSKovDftk+%g+41&!W z6l|xWcJEpsM}xCfu%8H+Bt*a}h|1<{ud>3i^vUPOhmlU~9W^*oo^K6dIt3gn7qUE}v1!p8t5f`$F=R-5#9MFwM zOA4(8wy-9J7ETrNh-ph^NJ49iy;3OBwMfg|h#0#&qX>!bMLZ4KEjb0G-*{U=R`@C2 z0Z$EZHALNY3CSzSjwd1RNm76zo7G_NitUo1!C{tGt03Z8TjTXv(r&G#p!Y7UN@1lG z6jmyT=3%W@_4rvzdpu@l7uM4=@&8@9GITl(iAnSuYKMCas^0#_)RHg zpYLI~8Tl!-Zll(1-nGz3!OUM0)$O*`wo9UlEVd{GQqe1ra3*|C#{WI8O>QR@?81Xd zR{hG0Zz1}l8>Bz-z7D&&mzBSq4kZE(&P+<$YkSquKJ5SZ$&sKKZ2CJRvP~=OkvmX? zJCKxCDR%ym-Gqipt$QQ?s+^pZgmu5>4WFT#@fuR@5}K&UZmqi8lpE1>riD_{?RL9z z9*hV)>l=&`#;w%ePRR9^cU_j>E5_z*9(nn`bl^D8`tCjbmAD--1*60QUJO?1E3$i!T^-Tdhn)w z&3*85w9rqw%a50$UHaNU0MbYVKpM%313+J!dQ9WKzs~^Z-eUt$fAMbfG4ZFLabJJ! z60hS`*DmE0(92}q_s4Ys=tc5hPyO(#_4zOV;1}b+-ukw{fBngKUlrTpQa}93;O9kZ zmmXR;K)a-I2!1q<69;}CJ2w6E2(AILEq=?3gP)hoe`VC+;Sm4TRC_@oY%?p-*O7^CHpbHwK#4XdFTxjpM{YpN}6K zeLj$(&jZIspSYiCjpB0F_iTv!Ol#tPrZt&mO&#=!2g|Z1N1vC8_W4p>^!aQlIdo*W z{Hh8H!dWyF)H{iZ*MN&=gZwfdiMisJ`Dl!8cnJ4Hs(4imMc!OW|L9u~wOY-X?Ib!uT4)aHO~ptd|sAIOUOaggBkv2eM&W(ku;M13JFh z1@P<6*iGiwWFO2I-_D}^o)n$8&B#j&=-S()YxjE0Y1}Kco|-k`&CBhET9i zH{z|5Tk(4v>@4q2MpZO~w!J5)YKl{67E_N0=aBK7{xS75tFwryH%lr}g6NS~{-EmZ zZ1T<~h#s->NSb4FGRMer2(KpXwx799^5F>eq1Zap4+Eq^g{m#8UL}d}*rn$CUO7kL0^Gkx#yunub0J~4it*If4%!{&o z4beXT?5p@;@;UdxpQ8p=C3E|`VeK8 zB%et!2xz1v6JJLXpDw~&5|SBXm>o<9C*&3L0l z>36>k#nOyIyumBP?KVaG)N>!P_b|zay;3|2khkZ^(BPqojeUPB89w?T$umiau-Q;K z+zTW~UJ0~mrKN5dvpbyI;Wn(rHHPI>?_X;i*%ZY|q1Z5FXldB+#z>Jan=B5PQ?wD~ zi7&gj;W2e#VIF0PAX5y2Yo;g z@%Ho^cWExqp`eExI!>;eaL~Ldbmly6<&vqwK8|>BL?;PHbOBQb);PoskFb53LoIXE z{7^ODN%NhG=IMim|1_z5R|YybU3!;vAm>7xn|_iw+OoBagx|;9CmZw|Im%yDak2}h{l)M3OlmzBz-fpoac1sx6a$3ZRGHM#4 zu3kb{@hkUMJNW+=Y(@Ia|4uO9iEL$OR3w7sDsERPKOs$vxTD9x9o@T8-dU*pIQBl4 zJ%|JXtx50yl7@CU1wAk^G;$rlf$~7;g7>8)Shxy%*U2jQbfs*0a6i}3uCfhsl2qtW zxt!w@88s2avJnr-NUo6?@@}Ftcs*`r#GCO_E>!MJ`Z+|(8`3tX?>&dUY@?ivdMe)q z!ITZJN(CL>0dDQE>%;Ep7rQgjSa(vr$1K7W35}0+rQCUFp>d|w;!H(cU_*zDYh+nG6q|? zenkd*MFpPd;DR&wyov=!@GRhO<;S0WA~WB^%Y6))dI=Vp@r|}|_-5aCF{S#f_YnPJ zqL+T=`vunmAo_s6H33KZXBK_8!QJvw~F5|ZefQ7Ka*~FTg)B~C}iBEBy zzWd{eo6O@WHrb}su+y6w!UNy?c{)cp@${{qDqydtXcUkribhei>7CK(idO*EoypHY ztcX%!dY^eBsXROIhyms6i|&gho+A0q#0+m%`i4(|C5lVIu>x82aFy1K5oiJ;guOo- zLgNR2obVp!R*v@H_%@eV6e>QS?0(aCDXC%=t@#C@0zTB*&I?seVS5+(&91HAt#W;) zcuK+=Pg@(htXp(h!5gQo7v&Wq-5-rH+U$!Zt~!_VNF)b@$R+80x9PPvY43|N^)YVriB9U`!B-2$Q|o6CtZ@Rg1ec>9R|q5vWfN+5G}d{LZHo79uORPS>}~ak^;h zymcYgdUEZrDDDJ_8#pI`3x3nj5WhbS=6ihYdO~J|u4j(mXaHeG-o&i4`h9(l#myk(HMc5UDVXTpJ#w-Zm2ey4dtcE$T!Mj)o69y z$O`hfQUy^O^`Hr>-Wz3DXc+rOHlixhL|H}a`8X0#CJ-e&AWpdLQP$=_msFucPEpnx zS$&*{Dma1_uxEU%rmQLCNEFDCW@X(=R_`n6gV*SRSfIViS^`g^ER2n^?jz-N#+UIy zt?)tow~wqA>G^)1?VnvJF-XVz4a|`q+ytIY;^8DuljwmCG`UG_7zh(*Clx5`&17vO zYg;(aWNHX6ezUSR11@m}F3NffS^HT7gE|~w!dKW2l2c5wun@|6fUM_I>$xHP4e=rf z1QCv25z`ZAV56)D$vT^?16Ut_+)9WkaVyU_MFm8fMjVUVn4sJA(QN~mB2Sc1zK<4B zio)Yi@gdj|ALiV8i4w9_s1A~Yz~VwIm>^|647s5w=M34iLOP?Q1A657N0gBDc3Vua z93}ME{s|>yJz~pxVvDaJtBi=Lbro4x4LG2LtVd(ai+%iX4YMQ+R2cp+ z&`Y@&Il^k_XH!gyY>FuiK(5VLQ=MB9dmCahzkm`^=GVrMBH{dxX3!|MtEwy*=(DY8DsFP1NX^ruO+kMiIZ8895ObFlmBJAv zsu_lAyBMlKY6y`cO6*Gi0^%1|3R~ms{1OoxpDD%rjvxU^1TD{l0KfNp1I!5AhER4$ zX9TgMuh3A>!EjblpPB#A^wHJApCfh@p8QXd8Nfm)e;T)^sl4KSv`1s1Ic5Z!quW^^EzH0@jO%sgfUCKQmH&!BgNZh& z+rgpGJtPHFXmN^Sdr`+YAR)4;osopTXK;Il>Mzj0_NX|J^q4M^MbnD6K>F=}<uT z?3+Gd@Tf2&o8xBA7LXW(6H99D+@#CSRiu&j=u`!WX^+Okjr4g0(5G@|w3iEq4D92< zY-kkk9so7c840#|(3pLaTOm(4Yk(*vbeW50*JDC9yMA^&%hDO$7REA!!=D$nJdfL4hw$GC=gqo>*BZ7|UcO1&ah)DGEGk!(GTTR2O`(Az{ zXQNDnTUle5cDuE{>b2q3!?f6CHFvpQ{W=^F)^!66>qmepdU+cvC-qP&t0V%sl4h^; zyh>nHe6ty!qGmml(mP&Hjr8uX&6I^#VfNaRt}IqoF^iSu22rTwd&pv;iN{%DU;LD98g&aq69Pu2_VBpA?>f^|7^*cH-$C2Zb z9?5Yer$_iwBRLri9Qmi;tV@sldX6Kk%x@`7AG@^j=Pch<*|AATU0kK}UJT+Zrc<++>{{^;l6$QSF&M?Rj*S&w&mq#>8H z=5p3SlaGA5K92k-=WB8t$@!X`ukkwM7oqq4UVR+-!yHF)9LaGc$B`F}BlYz)59c^? zyyHl&ugUekgQxfXU-jvcU(0dic*l|4o;Amj!NZZ?sIRa2?Oe{9<4DfePyjw6GIBcH5Kk35*;$nlONIX#l& z$l&3~r|Z)r-^+0%$B|qXDij~;opzWvCjavV9{ zaU|FK<~TBVIP(4a^vLh#`kLb%M~3D8HMxJyp!wJQTYdS+PjY|X;~htGz9y$f29F;3 zXnh=cd(PJ!?>Lg{YjPYJJRJE>eZJ<8avV9{aU_?ING>1A`I^DwYd%^ZM}9lUk>edla{G}SM+Of^9;uHb@6Gi!$2*SX_N+OM3?7dB zpgxW~meV80JC5Y~njA+44@VxTFK2x;$C2Y5M{>R<$C1Iqkx$j9NB%J9YmRpuY0BdU z*L6;edl@;J{qJu-Oo$aD42op?OQk>edlhUfB;Ts|^r@{xb8Pmg>s$C2Y5 zM{@Z{PLB*8J@Wnf^vEZ2968=`K z3?7c$U0+}G`#C+5<4A6YmfNAdSUa?L)W?zk%KdAOcO1$6YjS#I@aU2I>*L73=Jd$% zjw7wP-Z$6#4w~NgQ}yK||B=%p$2*SXaRYLCWbo*bzpGD={6S8S9Pc>NnA0OUJu+zY z$mi?h$ZzI2a=hb6uJ_I9k-?)!9;?sS{NAAJeZNpjsz-+2J}GiZ<+0cmEV05)SG3~f z$PgMAT?3QSP)-i%SLBB9Ye+dc8tZ4t4dv(1a&l)JGOZ6!*IKbHS?fx=tarmmER~ap z%dm1n%_>n!x(Z#Dk{e!WbB!c5R$Y@d+3>0x!7nZ&ZKT>8Wg~2qFFcK3yLh&1cA-rb z&vYqePa@@{syo?EcBgQAN;$ckzO*H6ZZtnfmy>&A8+~^CmVz6@?=f@Zx5Sm7{jA`| z+87&KbK@*^%{I=RYRz`)Qa8R5yA~U7Ej8DgbR}KZIwGQzr&XSb-074*z3L{|1Us$j zjJ6#quIeV*M5Ro!N$T)qGn*VbTxfGQkmZKih3%E*K&4dORGaF~s1#kBondWNH_eLE zlI?D{O|#vz6E!xS+v!zzrrMlA@flUuZtY4s%g#~@XWN-}HZ9QCnLM9aPMVuy=1_w^ zN0%AyT++`eClBhioLf%b?x$p?JCC2|m6LZXna3N$(@i0DD}9{B?X0Rh-_Cbs`Z(Ll zHoNLN)W?nPM(eN}Lm%gGJE!V8E8mFRT*}O?x_LHFNf+1!>f?phX&0)Gk(K51nw~)pb*+N@Xb&HvTZd+{KRd~J-UtQLB?oZID9cM0WJkY`2Jt+bU&S!JtK@oKxoR#Qz= z;``R>)@b(3T}tLP<>Vnv)1~F)VLyA59jn^bmXr6zmCr`*GJafEb(h=aZk?^OHFjzG zJ7=i)61Scgvw?wMVOQ7&Ti@cYWXM;JVEwlx%bg~DV>x-mSGvSq#m}qC$)o<~Dt9$M zuP!GaQq$x*5T5Q=(f#fkT@EaZD3OuHCMt>VKRUT3N zeFi60fTILz46`_W{i#-Lj|`YdTw~>DF(5JAnrd!@?nhdqjjRQT=mrfUcM|oT%-<=N z+9@?4;3PZQMz^>zelw3@*`3VJFWT77=&KB`oqvIV$i{U>>Q*zi&C(UdjjYd8^`6I* zdwdm8Xt7hPu9aCnjTE-~>2|tOfP-m;$lYeGb{msfNkImRIWlF?U_b-KCX+I`3JOdy zQa}L}J7kmWkcySS1d0J{0Tia$8C5r(gL!S?k`L5!yEE(YDwSMKw$)X({2E(Tb(gB7-{4iY_GL<9 zYpdkzV!PB{=X=j=Z+EX(?_bYvzB6%p|2O$LjeB<&KkY8xLNkyM+qx=9z=I9s-%#~v zK+=_VrD~<{db``_PJx8jHdftL%IyK5%2vNdNtg`H#5rzBqifs(h4oyBjN% z^9Wl7T5F)jjkY)a!50e3w~zYvRo#Bu?`~r2+?3*u1D3S2vE9vV!&~fTyQSt1Bwco3 z@d)4oL^w#9gH?B{-TDf^#RD%lT!>J};Ub5N94>w#xcGd1xZu>^R~0Van!`m-UF6io zFB^67+sB|T{_RzUi+f&fxEPsJ7tpIYb&*pSzX)~lcgLVEur+&Csf)W_Zn$X3;Ub5N zTz2sb$}WC-47m8ws|*+Sz1(n7%;6%3iySU~LAW^jSM_BVKm5R}OI^G+hl^Zxk;^WA z*<=?VKZfk$d#^He@#Y*Za=6Ih;+G9BzW+ph>f*<*GIjCb%MBN~B2}vST-2G1I)4#S z=dV6lA1?morBWB4DaHGaOp?v#(RxN&yZUUjc4EhonP}|{CZI#HFDqdcQL4&F%MHgO zYiRlq_B8ELlWQb<6Lwj$(UQ?s_}@mz{H;A2fz1||k!}>(QX6S$Em&}N4yN_^fBi@7 zTCrDY#i)&boW|{G!Rkw$8|zN5%)qYebequaEbG5vI)=rWBh}U1#L9m~*n3X2N!@O; zOP12DfLZ{z9Y0?GdJ*G&;@NY+4Ot&*{vJx2#o^ zjxYZp2|s3F8r4pP?cVBB23IooDCQ zulAP9}i~pV0KL=oz~GA4G#|*do3X6kT9p5?5E3IG&`N#c82&FVRpQ| zXJ>R<7|T4eT!1y$1+|xEJ+61Kh^iNbRu*%+IJCmj>$cdsJ0qD2&+Wu)D8>}DXcy66 zFVG*3Nob5o=n`96bIbIGY+27NUR-H#%gMYP^Hy1>_F02r3U;xrOx5rzT3ZzwUd`?5 zzL($V)>I~90E#_lw_EG0UK?KhWu#qJbC>JYud~Z-UAJ3r>qo@leQl_mgoW3CgPrH7v)Gq%p^lpN}J-dtY4~ z!7eMu5oT{xXN37@do(69DnB_Gm5&x22A_d6xRuB~CbBUBNyl=Ffw^}p@K8LiQoyvl zXwBth2BZb7l`O}{+jz{%$61R<;+LBqd3mD!PDqqdtyc`1#`L z5%uVo4@drAmya~$@{yMmr6ZS*{37y^N9yx6n0UQ-9C=yjk*}AM+mFO@hb>f|i*Tzi zSaB!ruMK$DH&`Se>;`$oZsL-ZldTB8lJvfRPTUaWFGFpJ4XwFSCW9;?DHuo}`w>($Y8^YvZb}x$-gPm!td`J2m~l$78(Z zo8VyZmd7#HTGOxnYJ#VHjA!g=c6v>ou_F?uyYkd$DQA_*&Q*S@+lhF{JDZsP<8$&L zenPcQs?2kfD|hSZ6kK8_+m!5S6#V5a3I6g+-835T9`ZGJW|)_x%g$UZ@n3s{!#rF+ zPO><{CJ0T>va^>Ckd`7V73W5#^D1vwYqJoCCN?Ymo1eua;oDQ?~LEH82l{*)cXR{Zr=a z0_N*NyTC52;uPO-b~FhG+4@y* z?ia~u$Op2dXlNSb7C(avLeiOfg%M)W_o)?0MiYG9{d^I?VFpgK4Yt-h&B|jo{lPq> zqYbvMoXk>fv+#k9@P?0H;0>?spv5o8SG!8G#E}1L(h!pF3KMz_6S@gs*iBWpSsts` z^7Ps&0?{q4IIY+1aK`j6}4-wsl5VaKY*IO1-ozkdJb?5)o;GUEdk4=d!&s zQkQmcyQ4E&$IMj`r|#rukdVrs{RTC+o21=UA|KqSq&>DrZuB*~!D@1&Z+ioM+Lts*1c=l1imZ?gS%Q`Oz9m%T1{!-kiA0LRz^Rd=xRw-KJO4R&i45AxfT zbjS{AJcsR|9oF0Kz`eV{Zm+r{cElZxZ8Lt?>F@4siW(a~T#ApzL5cGu_`-YX4cvjR zemPl!oB?QAjyNJt-}7wZ8W{5sY8z5>Lo-Ynig0^=(B_mA<5ekG2T?lkR#zkh=?8`r zyFtGu12)9zC?~C4ROLfo#P?Y!K_mjr%LwKX^-d4|jIgHke}5Ug)9NEifmYv1JU&S) zw`eIVEG(^)`E@di6MnIx+Hl?{jz<+_8VwqaN$>lsI2f|B7FEkkH?DH@C=%@~ZU=&t zQ*C^=YoYh8j4(h@OMswOuxLVyGeE)^YU~`9J2e*MH#6Nt5+-W3QuQo1sdAQ^Y?Is+ zn+)0MPlM58*hvT?f_r030>2 zrgMbM5C!pb(R_e5(#8aoS?cDK(?d*6KKMP*w}3Vls73TqzKw;IA4f1PMJZ!CD*qAz zIYnDsPUg{eH@Dp||J-^V4BCXy+!9n?s9?aHrNrY{W*0BT{XRzDvfM7IxfR*^TEYCV zhF4O{N*{N_tp@AX08MN51178O(kckDR?FuyTL^+&)~j5hGNNbLhMJ%wd`XJ#%F2V! z{Ih^#iCt+M0}L_lEQ&@eODOd2YD!;YSKBq-hkh~O5rZ9@?b@2#qORE%y*I_rU^Q#@ zwlbV;wiN`~24Gxg*LS<^l-Xh1ZAT47N;S;h(QnfF&PuD>Re4w)xxseYE|e+ZTPDCL z+U~HtDzm_iqTT3m1JJ0YzxBn~?WNLvw%7L6+E4IR3+)Z{!8M9ir9LAP07P=Dpc_7<>*) z&~v{H(8;*MQyN490`{OZx@hcVF*vnAR&+*-MCIRIaHG-KkC9EsSR3slf$3hnO>+$< zXPlkd4Sy3sRUlL4?=<+F(`xWGE!JwMx3~$UnN5J6Fh~g4nQmx@*g-qkJwlDT?6JhTTVOQ`1lXsG#Zz|7FuUBPJsBYC6BCizIz4f|}^DSQSf?{)~A# ztMYUKlA>s5S4C2|b0E3SwR7y;Dhv%R%~DIfaedB%UYO-uTF~y^qz}QHpi`eNKx573 zhmY*l;pV8$zVJS7o`}*5cpifKz^crFk(y`o)Az^9id}+r`Jg@u-IadwGvcY$_`=FF zje(5tObf$Y7>3DMJQ?95dMTEVAIs9pb0ho3?}2)NI}!Cj>>gFOQq`@ZF=FwowiVC{ zD|^QBW{u^|jODqJjD;<1YY5?Em%6p8b3kaWwYJpOrGE?eJraA3qOGq&RcsJRp`H`K zDk3CL(XOmQQ*0C`l0NYJ1$uHdf5h9$2nf4c{6`xkL@{GOlmZ7L!etwD#kMT0R-3zD zeY>B&mB`=ULIZxlQxjE~jS|d8HDfkZ#SO6To^%Mj23!cdhTWh_s|s=UfGT}}N}DNK z0>RKiv?doo&5C=h%^|(!i=^tHBhF(#=`lC@9<^D**KMHCY_LD zOp(9-zAxjW5!OO9LI&N+v(_pQBoJyzzW~%x#c05YONyYS!6x`{bq#j94_8O>L$NdZ zX&}&ZPr$f4bLk)cYa#Ub;TX(n5Zm)Uwac|Fuws+=HHlx1EHeo?6tIk$k}PCu6$qPR zXQZF~ns2@dD5ISc5Y}MRU>3NvNlQrLJU6{}rl$9ssV*?>OpRL8ij0M|;jh2vNA0<$ z8W<<8sR7J6yJx6Hz>aDo7^j9Tu3>}X9un7(6HdvRBP07zCuENhsIRQGlG|B}8 zm*le0767LU;l>u(;%?VX!xve%T~u>RnC2yHGYYrCgmIZA*-u;2;Vz~_%c*X8XLLtw zk=A{Q%TmP)jBJ?@C9;b#RFF`FJ$;F;?CKTNzLI!|D{Ejb)^VLt%4J1obdmyqd6AG0 zmZqIb)=O#P(#{BsR@k&Y2~g!@8tgi9te1_PtxwGFSKzXbOn7QDv_p z>8dIkq^p%g)Uy!fbEBesDk|P4mD^0F&BQe%tQm5kEh@K_q^&-%p^~n%>s0Or+oE8b z%u5KViR@-}0ijlVw9;L#iX;NsUIm7CfWeQer#tO>>#~Z#IQ`gL*wCLZCAEM;#mdn* z5G^}_oguJJfRE;Hh!r${Lo~M=nQkwpMcTxmOQe=`tN4XOY*1?4%k5%n%7kbV)m-Q}mo@r#v4mv29IK zlFTAyh-58e$p_TPB83aX;J*VQ%pu*E__G1n86tC((TLYh<+j%xB?e!lK09YX8Z3ij9iT|Iy zcY(92I`6;F-si%Z3$Q_ikwIM>5C@zQ6ohdAoejeXf`ST)fCzFC1_X|vpkkO9l8{Cl zn$VW!wFzl#LR#CJ*0#1aDKVrqX)ZLijcIK{64TJuwESDz*u*6N@9$ar%pBl=iP*l) z`;LBwz0cljt-bbT{nm3^zo*k1d3hICaOAzQ+F*-G92ihY?Z05aJZvO$97L+opMSyJ9@gj$zR?>gd4sI1 z1$X1*a0`vjXLo*2qYHeaH__i;gX%jEDlt|0o9c%Rrk=o+_Lw&;$fF z14kgr0c^4@nYy@8IXuq1?+OFzkv+1xe4$^lrnW9q$H*~(sFyf3jGp_`ki)fH!F!1i zd@>khk8i6VRF}Mfv6eIajb+)KMPc;S|0k>C5yzu0kY^CElW~KiZ)~fN@Y0A=HD6(t z#ZC1`T!P~!*>r&~!$1}IQ=@mysb`Kj7Jw}I9%M;g{DV))K3gj?<-_cHO$twuyD<9k z*F%*zL8dE~dniWEi=)@VvYhfVGjdb-auAP7GI)vvDFT&IjWJBBv-%h7YwD8YApnw3 zl`H^cEPedMp-{)iaeN${%GhR`>0@*B8+X+AuS;mZg)pSI51ZpBNedZwO?2>%`r5kWVAhKZhAna8AKeTd-OS|C&+zCvk~+X4aWfo@$!?ZC zKI(MR0Z*9-yg`Ly+4mlH}7uk z!mN8+yx8B$?cB0AAn-njF3w$h5sSc~#t}xPQcbN}#-3Ynr5t?Eb4V zPY{o(z}fYJM}}#m_OzTnL8cJdi_f!8J@5iv{WX{1ZT+cJ(#qq(VCG7f2F#DIc_L>`%yGnQsa z*va7opAp)y#>ZV0ef2-X`oUIYG;ouX-n7hJ9R2EhvN5m|9pNrw4#(!Bl5{py$Uz7#0n0v^n<;sdyV)8l)**1-!f7-fn5|nf*MfE# zx6n6ah^HR;x7iBd<=m|js;r^gD2XOy4S}**#3QUwZ5h02Et%^uMrGXXzM&=TE>T0? z_t)+XQwSx#p=F$w&r6>$n3Mw~p^irfQ$zE85T0+SXK@jD#I4N+I?dJ9oeqYTw6wyl zw3bX8Ftb)$hK{#nZUs;?Zk2CoHM^_TB|oedfU7y->YlWvwVYoAn$joc#!7xl$eVyeYUG@8NR6B`4yloI#vwIw?l`1Y`f%v~pE&fbbg^?Fhze2h z!VPiOWwGdF9dR-Z5;?N%E~_w(oDj1E`6%B%@J9;CXm8>%^(y-8FJ`grSlL?Xmvsn6 zbxK~7RoskYQ!lxM0uC#)1*!~i{ZX<8AS(@YQ71uoioipm;!ojsX2DSe-uaF3&|dM! z4Mp^^>kOmOVG882%|bU!X4eMaHl|_)!1y@4&NKi9d55+yb|c)yrPxXEajr3r)i#~d zZPVOhzggjijSmRQv#dC_rnwZ;edVxOAp2%L63;MqiBeW%CFv|f()rdmgfLlmDP`)^ z#|83hDWrvYf}f+MeYIrDLeDsNS;>n$ih1$(B#+jC1%Cf>nz~#f3h8Z%@pyk@6Wn;T zuL<70)rorxLoN^QDz@aSaFa_IaVDXEA;YxVjkVg1(N2eNZne8yH+Hq%m<8pP(7v(~ zZ>IShnnotaT&j=2vgu}>_ zbu$q8keg?+JJa%6pr>VJy=hXJCR8+n_@aM*G@Cvshb2s~NY zYMWK78JXugH#a&#Euy}BclZ|cwW7UAs=JZmEO=hW25Zhn|7(Yvr^h+pcXxrCkA$-T zYYtLPXM78faUqX$5!+kcE$-G53fe+6x7!-y#r8NC+vB9woxVAy{2bECJfF)V>z0`L zdY&HfQhUV9B%R2{lT|_+TtxJ6H;V(3ecvWf=1yv_z}mBt)2S_Y2|@@FI?<0%At|e* zHEfFLaap$-`H9UcI|CpwAY=pHk zA}$F>?&X*d^#eyr1M9x|(}K)|vw+O=l^`>z4`cK)-WbMw=w}aOCcGIK^KWkmWB%hz z7}MN`G5@U?bKob!n6DIZkz1fmHaVI@Ryk=k0q&@MxbSlMeI#++7& zzKKg&)|47;B5x*^)RLDB(?lH%PYU&IM)s*^R~~bO81tB8CR3{eIXn=bWsaGvY&53y zU=9!N!dQ$AC_41>X0{!Hn8S4%a8%jif`jTEsrjDNmR>)l_Pm*hr3RRZYyxUv0yR zbA#C}7kFR#LS!cMp?9#sG&GxjId+|dFYEH59CKKlC~O$Nxh4H`aTgZp!ja9@>uX$QNuV$L>HB0LV^e^7O+1%sb zoWOi#{>{bNb~SO5y*jU?e}}pMrf_vU(Vpf+d@Wk;FsUg#{>V(ksEmBxP2mZC$m@+a zT;9TG8#VfDd2;WWvoyK)_F_!ph&Pk=GMJ7FQ8@J6;yq8?xH@U?d5th#P!V+HZ z$>B>mt$1KbLPe|*_N8}zBv6&*ig>z{lL}Z?!IkWroU{Vt_Hr`^tK6!jJ48V8&TrLO z%l=w%z^uWOy{f0&I+Zi4wp?FJaDJ^To0RL4!*BbvJl{8Al-=M%s4IbGZ(S8&IV?{S z!18>$JyOeitO6|WWN^K4V0l5UroeKj_AJ2iY;|CHQN3eey`(L`a#Zb|8CYJfl@q2a zuvgu?o7b)?6FgUq_mf9-7vM+t| z`_t`#GXTrKpPR%|0W5pZ1}uMC9as*kcam7NmBey(V0pS$&|DQ*UNzO@)od!UWX}m$z|o%>iG})rhrsgF;7X;y z@>Dfkc^TElX76-+yr#Oq^4sSmu$)kHw|3Vz_cF#g$ji4Of8CpA}ru98(oncJH0ts|oGl$D1Uu z{Prqc@EkOuqcvrLWq);Cc|3i`2h#01;0nX%ECS0D_Uw9a#U?^<bP=zFTpw?0?V<&>k2HCTa_Ho_6jW2sRk^RTc>jC83606XhJXU#e;K_CR8b~9LQD? zSY8Ne3lZ_fbbBeSbh8$QZ|zhQ%Q5v1V0lGbhW>H2cVm> z5B~Xdd*lqJ+uuDWTzR3wbc-$X%%GlNoUsYf^^p&~20?T23yh#Gf z)2npBa}Zb#^_Xs7t!}z~Eq%w`L{{iCKL=c4_?!h-c5{KIum@N6=z6lS`~;?3KGmwY z@@T#)uKaksK5h&wuWz}f90ryO%Pn=P;R@w2u$HMNY0-I7s_oRv9ea-Ed0uqy+Nb(iv>)a zBgUmkzv}%$0(pwGESm+DV$|RTjF9xA^X40}#g}%#bd5j^wCft%0n|MoG1maAJNn051*hf~|Ol%(-+_HHS}TtpMit z;avpAn5XDP9p;W+Vuh2IM9@ijf2^-j8CP~B7s(N%Rg^o~y_m?Ei?_#)BY1$iO~~mE z;+WsDo}yiSq&6esQ5+nFn}a(W%`VY1Ti6wu)g{{ronif?LUSp)4bPA*xjdpC5kd1p zKq7%lwKANu^+e9FiEs&xb>p@YG0d+a1kYUNnzx!)2xrpss@Z}&BydfB@dB$Q`NVY? zr`_RzxE4Z^#`AN$-l(-}4kC!gxUVZXaRo8U>|W_6xGT5&H4WygkrQMR=O^i-v1_wd zQcu~IH{dSgt^_(biWalm$}+0f?d7$R%T#okIg9WoJ){1xOcLqvDr3ab*%8F@v8l&( zMACq*tfk^tgwN<2ckNd584;iJlxpHTBFb~BUu&LMtj$3k=F59BaEV-!Gx#|}AF#DM zlV2>Sn$2Bxu**`adF;-@&opbh_a&LnPk{v2ah{-?^ySZ1{UPP064SV=>p4&OO*^}D z-5fV}J6>2@vdW~;56 z#Q(HkHE*#ssW*BG9F|Zbbm?$^+_(X;IIPZD#Lq=NUz#nXP=L`z#Oip8Eq1lea`ASY zO?h{_!dAFit6yoEzWPW`C*7dEod&I~Q1?XIxm1qHj9bQv0yaeLXsPIO-h2X>l)X`I zh1_G`F9!GeH3f`-)48U!P9JfAuxQsqiRcb;UyV$S)OAdXQ%Z!9SXjF1kR~)S*B5t(j4^j)0 z;!CJ{iQ?>RBf@Z7V_+WTxGDLes*UB#9LL}XBVf?@O zTopILmiNd(Uehh~c_EB>IE#5rKX@W!L@%<}l&%q&t+r;fUK)*t#{x42YoQ3igPx-I zHFcC10_^miu|PX}$hHDN51BPj(-_e?u~M*z8W-|=bp4gAG`hW>e3h+Ut>Qg;2- zlqJTF#S=~8ym$@QU(5B$B;p{zYGjqvy58&0M$O47if)I$ewSPCy6pNJIL@jlBQ>C* zX))PF>@&HC6D+4JpO{Cm0=!tvfWC#zZj;+=E$H#FDypfxnxmve*Y|R;GPLfwVtD_q z+LRgM^o5i*1DMX*vw||)&cbGseY(m*&%pwROyse&MbYuU&z7YemQ|T-!16Dk@reQe zl}b4l_5!=ipK0pRC`ZK6C`YzY@QcVB$^s9nR2j5fRKa;LqAd07Dx|`k|F_)zamTYa^ zi9g}PYDq2zSN3QH-+0#ow2Y5ldY{&!aTgPk=arra5u=Oc*v`uqT_6aHvE2k8p>R9| zNeDXWQVOBNNJmlF9ZdE;-+q;<8nb{$$QN0S{1P(z|qk205i=CeBAWNBtx!l83vWIdr zLI~iXjD+bY$KznSPZ<{cjE>Nur?i5@e!(>eahHt-VMF?qRx3Vc4Mi;Eb`_wo+MW{e zHe3NNN_gbdskOS<9k_L_8|oT8n2nU)C~i$kTl|veyWtRlwkrKr z)?d4~T4@p85LpY+jY{_{kKCq1klm>CBZ0fuJ)+VI5)RL{Ch|}*+_9^_Fr=S^8(@0nz{Y2p3V-wDVn!U}Y#p zplr~}$zf;?FomAYDeu z%Lr0)%{oIEzZ)khGEjipF3#~?px;Ge;B}Y#&^6vvH^B%%1LyssYMs(TM*m?H0f{hO zRPDb4mA;D79wBsU3IJgrh6~eIUt_O+f56w=N>QPQyBg)AE&7*NLhxg1^u%XFsEd-P zC2-XA^0HhLeQ|;gUdzF2(?!-UiC%yPWp^O6-V9F6=n`z8N@zKOj2DIIwL0!=7L*X3 zocAlO1tYW7**P3aQG!EA66)mJr5LtJg zfb#GTRdh9Dvy^(LzQ%WQKrFMjuz!oe2oY$9GGfj2E39kAvNA8;6F|VQC-4DrM#dl* z;lvW^rTi<$N+qbdZ!gZFj-y={o5R!%@AsQCC#6x;lfK>4= z^^vEdCD^NAYtYkMLp8&VwK{}Mp*w==XEiKPDqTdpxXXB0RJx1OaO*U66FAjx#^L`ptl~(7*az7KI=HQfu79U7+b(qyhbr5M+Q5B$pgL zg&8J`lmS;aG@NYEgV4;4EaphS-5M#32_1~4F#1#UVR$n{&cLP^*CoTyh6=qgwgt%) zqjhpLI3g1*yf0-+hQX*yweVH#2XI7{Tj=3rprkRsl&KhCvWq@^G!R=(CB+N1Mo`Q1 zNg+Q#lpFoZAhF|I%;Af>01gLgP-`T=eTXZPLJTH+{6TeU0hCZ)y@MbZv={?QT;*Pb0 zf|Z>Bg=RXQCK-C+0Ge*K*wjnM;vS~;1YB|5RILdhs-A@bw)y*(bBP0irFE=0{J$RzMmkaRzDSR}iC!SQc? zFBEA(6yG5MYB_~GC`hbW!4p}@5yOSMbOb3vBY1ZJS_n||)>fEa0K^y|nAK47a5V_}He>fLckQh6ETGy$z4exO^laB**`d$0Fi| z`#={S3-_>{Rx04-ZU4xVIvRj3g%n)`9e-R5AKsPs&~YI4L9dkT<_BWhHI6z|8VF4nw1Zl(I|94nglbjYCnpu@=O6u@9qKV`p zdD(g~L}ySvWJ}d2Fp{z!O!S!F8mKTBXAE=h5}ks`C7s|K)33f@Up@TxV$Up85W7Ur zeo!jPI9>KK&Rm9#%s{6gR=FXn(8A%Cp5&>~vF8l-$uY!nFMCa3gCv4@VdGBs(?)3zIR0x_>1niW>j|gp)HT>JYyh}P>33bQ?|Mc0YM=Wq z5(vE(heCVFV^3S=gYtaOporuTz_f!lF=g)I!@v_33x1lyM`LUp;(@v@o*lMlA%lbd zsXGLEjEfs!nd|1w!FVD51MC(hfMq@keX?f|@W|S*3HBqjfIVt1b(w4zq=^oZNIS?a57u>EcO&{HXu;c5B zpiRY&>VY{Ik_p)^5j2XFzBz4)Xf z=t~;%TR^leeg+&zQ4vs4w3#b3r<#)il!}%RlS(Qo?#qJQHtl-!?O0P@RY$JiAa4_I z%@xsSyII1eF?Xdl$V|Y|B+gGVfyn`B(UCv1S5%LAg(5|dW3qD=WUQU7k6Ao0FREz~ z!G!MWo|GO;alO)%M5*ZLG;A#et&v7zk-hMA0vNiR@YYbB_|wXsnI)hLLc8ec>kuA% zwVq5SFxjhmO9fb zN(my#OQ2VCzq?5+a{~QER9n3cm`c&84na4S@Ahr7e=@Yh(WdcCkG$!fLgRftaM8C8K3`J34PD&;L2*p&|F+ljkeOVBp zC`7>46C&yqMVSEEmW(RX-L>10YKrpUZuFaOok`eFED}H#mUeGpDavQN#kGSLd4wD2 z?B<-pbldY*V26_2JBO-swt)b6aLm#o4Akd|e-^(gU1ucRz;n2P;!o=FW1vlECVz51 zg>l`W7tN18@$nD{C@Ry@HaAn=T2KIrggKrfL9UyU6e^$o<8d{2D;CjR-^m(;_>7}2 zY`FrKFBiiFyCzEOk;)yq;3VD^5u_8b!e5>TmoJI_(iM2cGrGGEzVi0p`OA-sc9_Id z77vIIZQ)5`jD(ov@XP-tk8)GYn#OOlTQBT^<Y9!`g|Bx_CxZ}xvhF-R z>5J;<;y=Fa<6j%f*P^*%2_FU=8cRHN9#&%G4Ik=Vq!Egk@wVjZM^N$5=l*^7heN&` zA{*Tu`b^xNOAwe8ZHJ@;dAJ+yD-J|f%4)H6u6{Tb5A6H($1dcP!aL|zFwv}ZcP+uO zt(aXTDP=gg$k!WyGMAM%DOcY>y(543=@UdtffuWxypq11c+cMe>_hnV3jTwSE8mlESt#e4pzj z%)1RsaDE3sDL`5RK*#xNb)aWfu$hC`Z$|fXUm4HmDk|uWUglrIa_RsSB_R{k;_h-^ zs}?CMD=8}nx#^7V-}!daK^EI zs2;MNJ%qBc(>=T-Zl_KHb|ocQxO|;F!dg}koFfQg#>=Dvpw2G$7U>_m&_I@8^9npJ zmt^zuwQ`7UMq87^^Ejgxb)H&}1gP&mQvh1>63pVVio-!%0;{k06|=}?S)(7>cB<{YRu;lt}@t2kwFPG-{W&N9YMVbb06^=!iN2^=q5TzGP2CS62`)0lL>#x*!@p=MQ>bRVz6 zr2BI`Y>pFD*6ZKN^f2i@`39JDsnbboCo$>r_{3)D)<2dq#yUE-2fRP`$bqHG!|hgk6?ku z!L4Arbxa6VnRH)EnRMaLxSM;pyDF0|UzPcQe*z}mXHzEKXV1o@%VXZm#WwTUF?F1k zN%zT=N%zUKG3j!z_tD;cgb=Ddwy(pa`@UlM;I2p_OsD~RO5B?{dJ=~K!<&Ol7Y(r= zvP{2T9_~W)EY!=nmW)G82@z9ZL6wkFUqT9De*ofN#Bft|<;SW$QngZVqpMee*3 z7Lq|&ONKPY=SxCy=Ogrl-~`P6IEAGlw4wuH?rh+?UI~(|b~rsDWGzk1sw3nMk)FBJ z4fmdu31xFFVQPjG?jp>!R2xY(Z>QA}SZ`JBVHcYt1xf1?U2P17##lg_tQ}2M8_SWg zM%S++po6Ntg}EA!ONK|(>}|5SRF{zfWIWXrCg-t1N0?|;Z5KLD8eK3^)r{CSwQUeE zLbWMWo6?2i(kkOEW?5BZ#+uBG<+X1@NR*fZGF$ToNqL!0#cMcnjk2$nnfq0d*=sse zmsh`St;h_D$^MF5oe*k9#aSGg<-I-}!SJez%y=ECVnD6TM4?SeaLyW0tt=Gt;|1!x(b1NXVga1nkG-4b$KqUyllmY z%GaaPD=6&)Ms$dn5tV*tfI(MoX}#lBlr|qQrPok;jV0!&@B#0U4;aTZr5g|hA>zjQ zqqe&!-F2!D7+1{t9{=(^l)eYoj!JK)wAV6p2m`Kqf`55akAE4l%v?Jvy^Ye|FRVlN zyZcp|N4eFRe_3N_?aCm-|4W z4;1=9p$`-)LE%SzaSDB)&<6^Apil`4f6yl>^npSjDD;6sB`AEX4;1=9p$`=LK%o*8 z-q!~TeW1_>3VonZ2?~$(fkGcB^npSjC{%*NKlFh@A1L&JLLVqpg2J!#fkGcB^npSj zC{%*N6Mdl22MT?l&<6^YpzwWIdHP6J`bbv#_!Nxq{(mLO%JJ_*YU4>(4n6YO*Cko` zwPLt>*FaC1|J2E}*RUg5whiSe+yzx_L0L@28V(=RPEL}p$JMlDwi|0(pk$x$4=XVy z3_-?_4S!A@jAkdkBGzzH5TqGvNRsN4a6q4L%$>F!;_JZ8X?2~bjGZUO9#SnmhteGl zAVJ3-@(YMN_PkT6CEa=OvvNu)+Y3rdI64^(r){B!)0W*~qB4aIstTW@ui8i@_v zAxr0>`&Dwn&|PTB3B^Hrv9fs3;WP`F&R8Nav3-W(*k8}N_2hh^=BVV*Nre2P#A{9U z3Sw&xl@kF$Y;9S8NXW1b_MU?4nv!i-3zxBfnPmqeN0^cTksM4(fU;uU*#NQA2G7sb z!(*Ej|5Hl*w9#GRHhLPSi4?UwAn+~vJRsD+2Wmywx-+^E#Ma96K~^AWp!CceU2F8r z=;28LKB$blx-FA|(NGU-w5PN7c`%fZ^ne~(wJe0Wh?4&5lzpdsLu?dqMIptBSmjCdMKTM579`-U8l|)mHm`#6W6$j%Nf6% zJ@Asd*|UmAu+2fCDo*RHHfidyd)-2@YwL=)a{g9PM`g81siU^K+r+ZX=Q=j43_BUO zO{Jq=8mXpAitAn$srw+2GJfr1FNahU6jFuLDWvX)K}z)6JjRyH_IMQo7=lr^x)iSo z+ua%nVHv8Hkp~!9OABj_{aQp!KVJ-fA@IqMqc}&;a~t4dgN;pzOfAcFJqZvQw!#a5 zB27XXK;~HEYD;mQajMnn5Zw>8-0)85r~}ba`}}$+uyZ zS8+=LT!KZO{Yi|#NhLT;C%UUTp;}X}oyl%WNmOfT)jSDz{tb$F6`x8%jHxBaNZBXn zg=Zt3=C0{HIk82ORxL0{{wx#ERPhcz)Q%F_wAi;id?m)mEO%XJFKe3dhNe~fL7v7{ z=c)J&Zmzqb1U)GG^W8i*zr=XB(JknN#9bWjus4_Z-fu~(7UP9_!i!Y=RzCP!OC-W! ze=)RZi%WdUx4GLpVMG%l+7h?4BzESsY7La_--TdT#qWfo{mxRnLi;OW+g(|T?{X{L zU7aU=vi^hRYpNxoCQtZo6<_Dpx^*R}&e$h6h3hH-h3nmhPSVyWYt2S?PYJf#P3cwZ z81R41s8;ck+w4kYsL=jam}$3`7>4({ZJqIbRE0&>-Cu%8c6(a29ttxa(*r90ARJ~7 zmg0xBzZ2Hjoh5ku9&!(N#&4l29ItLyNu+t*L0Y*#OnCZ?9|=?iGCPRz-WHUU6OG@{ z$UPFkBUchd95d)Uf==k)XbG+sXyEp60>-v?sWIRcI<`D?Y;76FV@oCv;Tk0$4d7gJ zk5cln04#Zo(}Lok*N>m)hh^~#;`gZTd-zQ{&X!CehV(s%e<5&iY5xLs->c&9P3yi- zKi;Rhbpz`@R16>3RrE5$-q7<(pOj|jwR95iCV_(3?01J;K9wb!;G{EI!e{DInv;L> zSrkSn)sCj}y2QcWSkBai3{e|>^6Qq1VYC+r988XuDML9PNR%gb|i@YEr`Hi#=hpCB0BPj&=-xCcCwW2L=n_n4eI3@cbUE(+MWX7So)oJ+Y@O5cwQy>FvolrK)4U*y?{r+i8>4)~d(JQd93SG%@OCU27M(7WmUUE`*@Yf8-4 zkRiKk8=0uvQzCw9H^oVE@cn<4f$%tRBnyt-`+<;IdS-O!_XC=>3>8R2O!2zbG-hj( zdqHHc?}Kd<4_6eMoyjwmnJUB$JBPzcLUFyHw>dJ;&C_K3u$$w#GAEFDf@&2L_YF+k zRJ)04o๴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

    CdKixbTf+rrD>y=rM+R^djQkDlu^{p{ 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 Fk zt`kPT^FNTpgef+IFx5Rbl?Kk7D_A|pRIvKffk-2eK^3uCl?&opSE;ldw zN#1a3-BCi_6k*){ws#sPO&K;~w`AW1r~WKAZKA~u{7pIb}@=VE3{ zS&+y0ib?tt1c8Q5FX$VU*K`6dQY*FNTOm`-QM294sbzKMEztjTsAL4o6j2re3;HYc zr4Ytf_2rSTCZOccTmOwL=Twd2RU}!g<`=w?;KV9sQ7Q_m%<|~}{glrDu^g1OY0pYT zAbj!b>Y0Ru*VMCRBvg7PA3;4|PtRl?qqlG+gjs3`yl#Qo1P1BOhU&yxWf+ZDlr3zwAODbu@nE}cE1@V)lzO# z>r=83JNpD%ka4|?zAA-$jw zy%y>}OfQEAKw-aHA8yjFbT#_P0-4i&?s+h_j#6G$J*R^>CF@GyErU5F^D0Wd`niA6 z>R;y?lq70<&^r#KY)#?-A9)yOGpa(JYwQl*8$y*$oHvz`pz9Q0@F=@t3wtr*7Zimv zq0L*wyg77)I@1x{a72bWC1pKkwH;wfb&iB>v>Q9Jfw@wmMsh_?)e|bUG%bJZ@`tC= zV)9!c`Me8`V=ax#t~>lC zTi5F~wdybjZc`^Mq>Y2(rS%pI@n!aWm%%5fBQ1o(By1gZ%Gz4af$SX_c~D5&gRg$> z-Z-W#?hgJW)Q2>Iivhu=&i2yfY1(qD5p4MR3VtS29Oy`FA9YHa`lS859M)4O{K)6^ z>>SxsU1<~3++;T``Z|%?(LmWW zU^iI;v*PF3l%Zo><*q{Os1s-eIcVIihxqC`?V9_N#=!A}N>9MOu4Fr_Z!m_rl+R@h zHi89+Ky`wIdD(vvU3?K@Y;}Tz*I>Zb)_9@K z`$FsGTIyb#!e255flJmYwF)L=$Bov>Mhq-qP0$fw*H~AQ)_93^vc$i{+MeSa$;C1V)6SA)8MA6b%TV!}?jaM?8D}5L1ke}*=H3^fl<7?>=-f7nl>Ihk& zOE6Hf*H-HYGg(79aonf%`x;A2pd7Y(oqm5ns!N@c-{BN>VuCE0c72P#>{G2<5Y9OC z!4&JnAoayyywP{caM`J+EqC^_3CvN^-5_c|%f%+@5b~|6o2Y7!*apL-A2_57wAo*Q z!)Ex9_{kP3B9no0At@wdH5sePSWU)iF2-t}c%Zk!YM$gGV>OvnlSwtKpP5v1iKUun z{<@0QoaG{8H5sePSWU)iF1-Tvzz3IAq?!l0$XHFrYBE-nv6@TIYM%PNDpvC}7a6O` zSWU)iGFEfxS-Z&$w-C@<_-g24VC^A0OD=q(!Jw zO2Q93Y^mXX;XLOU{q<)!Dn*|>d_`-F;2t1>MPDNnt(h8l%3FjRRlq|Yc-V7xHZhdc zQQYOLf3G+ig92-j^REi_+~B`(x{rx|ALI|)`#`ZIAueu%1S4Wzo@&=7d8VSsXzJ`a@yO2wm2rcV1nXlCOQIXN(9nyKACv_$t8T(liU@(@f135!{s=Y z<1{zLa6pNand+vu#xu?P~ znCPkd6^t-jU}9HMEe+MfYkf7fZI==S<;|5JyUTTHO6R$&<#<*id$*cZW%m=BcMZ)9 z@5^=>QLtW*>rs^60o>1ubtUvGML#c;(a#fd`)Ot|`nE%%_99v4mZ{l6VqdjaM?zey z?pBrAPeAJ`npsf31;Qxml~@=xyNz%d_Vlm~4(1SjR!~%``O0m+EKuL?u_B+a-gUl* zTPOpAjSJT6P6qF#ok!NY>!XiD=wH(~())Q$&f|Sq2>dNHzr}x&X$O|!FI-(+U{p!*sZKb$<0MZ{zgFDCIs2P5PpqkUpkCl2V>KD8$yiOsYA!viIs1GS zt9h1-jMZeUCSx@jtGV>7=J_vNS0&YOk+GVL)nu$DV>Oqa)%1V2iq)LvB4afftI1eR z#%eA-t9j+O*H)yOSGmYoO~z_6R+F)sOV4T^`JF0O^C%Y?tI1eR#%eNFbLm;l<6o{~ zHBWHy!?BuA)fZNrs=qgUOYS5)9^|y6TAod|@(1FAE0Fwc&=2EWcoF1>3I@a*oq-L} z;;|uW>*@y$ZfI;8GBg@CeE5jwk)wnbAs~oaGSqEfm6C^u5IzC$5NyaWs02bp;0AXG z+NYv{(}wOKXdIO`G_Z*7AQoUklk1iYT~f zehA>g>v{H4i2RN#!+!(tfWWQxjYe=fLXDbfBnXKVFJh8w*6u66;rILVbw^QmlCCNREzHYnTeD5RN;{|Rsxmlz00CdjWE%s@Iq1f- zIGv>`gM{MI0s2Nqk&USe?n-SiSkK-Jg>-KQcV%?{^M;+!$Tkgz?r=4Y*_J`@{cPG$ zpVav6snlJ4ddIo?M(V-DC}^Vw;W)4bLmv&eQai5HZXT!e)UHm$=w=wUeO1BD@67Gu zMJ=Eqd&_8VhWXL={?dlgEC3B{#&Ru<*_=V$EmU{4U}*%dN8Qz?!$|xv02OhG_UQmq zL;G|h+hV7<$>PRX`T;WNm#PGJ(x+dAc$_pGnjW6pB%!$~d~P(%h4 zkpV?ytma}s5l{Sn6{~rYi;UG|_L$5bli6b~y*=jpAKp-rYWknpkg=Lv#%eNFld+l~ z0jqiM#wu3x=*EoIWUMCJ<~G~r_D8VI?F--7TwygYa*-)enN*WWHJMa%>7|;N{`!Ur zt9hA=jMZeUCSx@jtGV>7=CQXOsIZ#HxyV>e#%eNFld+mh&uU)!gTob8^D-A1tI1eR z#%eNFbLm;lgP*NpH4kx-v6_t4WUMA*HJ6^%y!gtU6{+SWE;3e=v6_t4WUS`WvzkZ0 zd!oW>&Tx^jnvB(CtR`bMm!8!;@xi+)tma8BGFFqZnvB(Ctme|QnulJxyTWQ7<|1P? z8LP=yO~z_2J*)ZtKUcAu{(s3>4Vm_?t}V9<6o)!DvNQKY=#NjP$1Z>QRC@VzdOQO7 z#3+8sGP|?PZa#x7vztjcFSGlp58qRfYM$oehm&f)SQnlSPXR}h2N|Q_@~&_ou5mRk z1jK?vt~1vNh(@i;2{;DSm^xSA8xI0&Ww0CM2AAT7^YLh0LsI|%o4yS?QT|Y+(FYTU5C4}1k}mwv}r!RD*3A*o}=nlyQ|#QrMOe) zbKM*_w*;6;r|asC=h3v=&2!zQc)pvTHZ8;plD`k)YgB!qTi_O!;%jx@19C}EDNfwA zF6oUI(R8s}ftc(dE+HuuIi(0Gfx!EGtUH@X{XoU_Kc_@?9=L430s+~RI>x0K>rb-vZz?6#KT zZSGdLtvBwY@pjkewwK}^ZpYH5Q13Ax@6?R$QuW<#r`uhM_vn1D+vWC_;(cz9+t(ZK zr)kmccg0eCz#X6|Pk)eUIoKWKH7)u0HlS5*^MFT(I6dSMSagS6d^q`L5Fb&mC3o1B zO7ZPFKkAOSqow$myWJh@jql(N$K4(7cqzWq-MO?W@Pj*{FXb*(zuTQ~cbDRObbiv^ zrR#8{?PS@G^XUOA>(^%*c}u!z(Raq$gu9?T4TRo7x!~v zz%cpvv?`zGx>l8ILMuuhivEoyy&7kW=mg#HsF}HThT&*JzM* z`}i$pq-l4<_}Im;-MQ^gv7b;XtimfpruqM>d{8j&~xjGcpU9PVse+2;>$g! zahKBxZN|eKMBX6g#6n&w8uAh)ATPNI%i>9H0H=``2orn+g-S6<5jlNGqhOh1T7hMd%yGfbY>K1jV8$v9}gCKj+_}RQRuEM#yz@gqBe^tSX7D^>wJkz+>#Q+zt}BZ5%X!SdTj6@#ic-9isaxe%x>ZH!9f}vduW_rF0j#w;UQ6qB(EPd*$W-gA zrfvgMcYX4(rfwsIe!bf`Fm-GF)NNuGH&svFW~S~2-(-v1EMAaKT}OPQ#(k5!(cM%k z^McTL0c_ybHStzPvCVCD+e&dCGuNkCm=|wXqa8f>juNbZ^IdMc+g0++U=7SbykL*# z1^d)wUA&*#`-^cg>4*=g#X+tQmg3uVe#jkghf48bcbhxB0-_hqA2FKembXLJfh+na zJId+N^vUcyI>uz&k(}0K9CydW3(_Z}+dH|%ou&8$_)sT0bL0G>5$1dsr*~<2EldT? z3Zf4n`nkCPl&HHozq<&>sE1(`+{q#g<1H$=*WEic7llQ0!-HOCKND67?LbJH;NHOj!F>*gpfmRX3?_R06GDFs5aMfGU1zR~Lv3en zfvaiDb+OcQSb$XDhE!kU1{YcC8(h5`6n*4#$VzRw8Hn>7+K}jLTvKPRheKm$Zb`le zE;NLTAw?GdvjK~Ljf;wi_$>a>%YT?tt4Z;29UO8%jT_OKTh3v4XKu9$m&eT&{lPWE zs#}l_0+SBhsOa}!&LbcQ#<4~)juPKScjk_$7H+|@;J6Fbo^&@ZB|{ah~YqBlcCEXLi*)9P)$>vl7NKKv-XEkM8kHZf=n z8XA)E$Q#bf8{^%=V+b2H!a{sl^Yc9O)5EJsC0ByqWiXgJhIayd@Qyw(!bc)xd5np|E-S$+D`U1V}Kq%Uoyr_7w_dobL#dL5o-3M;uPIpd(j6Fc@9J$ zdRS5}FY}CUa*&(cmV8GyIphu^;2iQd`LFf41E)f-5}XY$&=eK@+gBL*NQ1{=M-qiiW#k zZg?pkQAPD5kkEv^xkMU*6#S9gXJmKqOV;&r?1B8a8e>2~X2C}&6%%+g^eCJy*Z@XG zfB#1z+Jh_t&_5Od*Xn0FfF~5(I5?eexF!WsK*UB@U#WGtwK*7 z89jEZMqCA+S`c`ukWB$k?V&k@(*`FfxXvPq1_KgmYF80fFxSnC{${6|&p_kg&;~~^ za8!w^-C|o5o<#qU=|Pr2b07Hmi2!%33z)BH)`0<>&Z-yaoh+qhz7=oS?hERZmET_TpB3P#@T#rklZ?FVW za~ynuLkrBH;8yuZU8zUKoIv?WsWAF@*6{P1?%>1rVo!LCU^71(bnIHU)~&IxWgSnp z-mP=%OE85Ee1c54p6h!5TpRg$6Y9^VB6f_;OV6=lFby}t6X4i4akHC>FoB!nTaxeS z!Ebf9NF{=U+!}oe*j{7oTXlp-Z=?Fw&Kx%Ig4@=ad&9;S<-j=7!4xtJ4mC*-?yl!Y)vX%5yUb4nhwOu2FEi{oL&GpFz^E_pk>xus3;C z1C(`SuiNL@fLbkpjd19Jlc48#1l#@GG=VQ1puYn}l%<1Orhc|Qx93!yXBy9+%QTp+ z8tT@_S|~F@LDEIUsqu`?Tr=Mi`i`sb%(YNDh|@vnM9C=xj)EK9nRDVFoPs(%g$jl@ z-I;5nw29KD?qC+BLpUAMnd{(mD5pau;uK`5d{_n&-L4EXU12XN6CchCDkagSZ^*=*vs+l<~%d{0HTz@9f>%J!4lTX7rvfW)#fACdO+lrZe}r))%u%7GX67 zNfoR0)>b2Ggc3CX5O-7box>=mW4-jOM<4Y0tcPDCwLHT^_Mn>pGSD5K=;SjlML#Y*3rs z!XlE&wQwY3MbCvQPq;{m2qufLjTYSE&fF(MQEZtT@xAmSqQG*3MFF3F!4>D`PcV7Q z#4D><(6S@aJ{7{+o`*uh|!deZ>H$xBJ##9 zD!SF(s$RBYM1{H7Sg4b(ByjzyNcd*o^lx<=uW4Hm%W9YLo9#uI$_|ylRMgKd*XLj! z=}X;BZ8(agLr8uPH{MgkxUx6n2N^$jQ+`m$_<^mSKUMsofQ0eJ{NSa!+_6)Umk%Dw zT|}vPASdo+fzc;U?*W`nuR135T>X|rDltzIJFxWLkpPVHAe=Hu7 z+}GdVf1<2f_(i|hyBgr@%`Cwq-Eeavx)FF2N43VIB?h?B2mxLA51&I>fRl|WvWnwF zEXJ+6ziA3ZRD{b^go-dVFJn)uJ3cobpgW9LJ4ZWLjAPt~cHJ<7sd0{ zP8vjcZ-ipJQ0=az=vrJ3uE)(UvalvpZBt0VExYf4OvdpeR+5Z5-p0@qC zmrw9s-MY)~%u$Tj(R@AC*R#s9ma?*5@2=O~P9fl*Qq>NYTsFI4$))OMs%|c#=HH-_ zEpCgd_J`>9{h=zivDgOgMlH7W)oU#!thK6)&Hg6Y?5XTncmub!h@xK~_tA4-k#%*u zN?2D_`MwbKADcauTUcZRx3d`UqOu9=Mb^|kDq&4k<@-ao3ooB4M@VLYsrghk38jdL zaX=*qSPD1q6JIpN|#eJKP;w?fN?Vpqp9So-FnKwQ zCv!2msQsG=8!A*3^qQ$Tx_Jw0`CGiwHH}lP_3FK1`&ZFSH&geWg%mK0o1~&m2OW2G z=3dsqcx7@%R{xrTt&>p0^~@D(zf^Jz{_3X-1zq-h#}KGdqQ|z1tA|!Z+;`oWW90l{WO~egz@bq>8kx_bmRKqc46u z$FOcr`g17LHQsoCt5oZ)d~Mq(*@mKwK1|7Ww_Q)Z1H0RfbbhlD@MUAc}DpVdjo|1*>C8H&3;#e=p)<$5ky{a!;9GGMnL4l zTyylD-wsWTH%|a}d*xiy96eMdc*wiOwMO@wVR;vXo$xO$=Z!cKtAp8T|x~ z6QOiP{vp9naFbf&$rW3nn~Z``kHG#~wQb)E>YJ*P;^)ev z*WpcPMaX%9ql8_}B<ww2lYCU`bcVRD!e+XYdmoI7Y=aExx&>bi` zK%PN-WG$K^%=Roo)x05jOk)@aiy#nLM*8UKcPo5~xI+HQwtAjwyyh~DoeN|BQ4oNe z&>K&rXc7^HlS(nFJvDMH_tNLD@XLK~Je3-@zL%uSQ{!3Pa7Ho{4gOm?JtvCD1$ydP zIAjLm1#|F(E8Xnl=<*oZeLR9H%}Hut41^6H_iVs>;x#>UsW{iXTJ%9)3=jdvtzOdoA|Z z&%J6-5srP0pw}%j|85w~QFqLL?9P~AV*;h0%LYDI7rxV?|FtHcw-+r;0E3%&KpWCx4Ie!$fYrX% z)%C{OZFLZfzV?kZ+uC5}$_4VkHY5Z|H7c-D!hTZ;dmZOPU85UXg0P329}3_s0Dz{@ zxT3B{s`@C|?Mmh7;E@&`>_)pWy~O*3a=5wH5=1>Ny(=reB4RIB)A7jm78uNV%=#af zpk;Rk~;3 zxm(i8NK58R%3V8y8;Hg zVoWgq+r#)Bp?e3n{Vb&5Mg)~KqE3NtX+&LfC8Dl{3Rn#kQ8%6n zW{2}}c4tCEy2)sO$OhN7O}LgCB^fBQ~s!DC9Sd zsFT@hyR_nV<_Y&Z%79|+6w|vM*D4WpRIn(`xp|_<gKvm8UM^USQS+_k3r7s%$=2# z$nn|qXxiy5-c+DieA89uyHJsLjj~Zzq5#VF0bKNySFDI}LYIj})kzoOLbk+33S3|8 zc55bxMD>QyB~qA|a*e&P7w-Vs0n5}`RgfJ;7!)-Ddr(>SSo5j*BZ&N%(B|g*(C$|y z{nar6$_Kbk9b+<(!=Jol6%lKvUiM*lB&3l+OwIS9EEEW7%wt%rCkn5l%C=~M|LV9Z zBmfgb8WK>%n?O{c^+KHkbaP;C9wW!pyiE4k==hO72ciW!E*>p#8{P(jx-Fv4zf=nu z&`Y(bx@~mq9SyR~y-=4co@x|N$ZKTPo;aw~tZ-rkr_jVLl}D~M{Byhb(HwEz!8RYs zJg8#W_GfMo>P-R5d}t{?SXUIQ@7;1zPKHo2l-`D#U0y$ss;_`sJ>+nzdJDa5DYsFz z;*HY}a>(f+U4wo%C&t`-1P?OT9D|~TrSTN8&W-VoIqVpeR+4ux+gpatK}s!Wr-(8? z9_xK$9HYU{NXchsBF5FUN=6wE5Wl z!~PYvqwITXR^212JBwSTrh9(562d&9$1?&qH_Y684>z36cQ9LFI5kuAJt&t~x!cuc z1Vvw^IGd~0S0{aSnvYIJU9L-aIf_l-sK5O@>dG^xy7Q?^oQ=%+6s6|;W0>=gsjdum zfm_Hs5rP6fp>YtUW$7IAhZ9Uq57iRa<)d9YvgSSipsBXD`Xhr){`LG9Emz#e=SFaRk-0+^DE|kr4bu_ zMvy0|IMw8-4{ZbFNfwSitMi?Agxk~C4Yaz!=ujCt*!VSHcVJ?;L$83Dj?mU?6qwb< z2YnMWVo~_G9NW;|Z^i{f=MfhFo6V=k$hJ~Fwe*vsgHKQ6*p2~WyC266s_wwvPt{#i z-BpB(9UJ5ThBnZrf~-)Qk;>(DH%wCpCxxQFGWt{gH%BwbGmZ4 zPA8*|n20%tQxn9A;-k(va<~RJ4>=s=81E&|@hLn+=_c2Bgb9jA!u8U)M9@Qu5V?j< zt|2xazZ}1idFBpzDZYog-gmCLhgEkGb)^`i6!VLsnOrUuFNyU@if}zcKqYgO_(5pSdLN! z?W0FmJ$Q^${USm;?zXgebuDN)p8=~P0_HXDJMj2P4(DZUp|1Sws(TZ4eJ-qu$W2q- z#p`}dSI3ap z@fF&;QryE1#XTtOu1+y|<2c}m=c8A=sKHN;LyE7HKfaLzX>1V(Zr+SSxrftoY#!;b zA6X(&-%p_r(32+qdv#&`DachfnZRdGjKze)?a23(735_MU9N~@JV+XgR7r5d)uMgX zIW+NH4^vx@_FkKuDo&^s071dk^fu+pSzeeC1QP}&r&iMm<~`-q55hMI+Lp!U;|fo3 z`GT;Q;K-&gPPVP0ZhcaF%niO>*1m*W*Q@qml@-7&qsi@Z##8yoS}G5wdgC!)Ie%W| zyejki@MB4T|7$_%c1F|R|7_6Pl&9+gwHugs=9ZotjJ&Z=8;_{7o*vie*TZaucIf^dgDe7E~u9#0i2VAb#V!P~$@1w|_ zlb+>GJU$i@4VBox)|h{IC!DA!muDcnvu3>}-cgI*5n(mMns~MPp%B;D{ZL*tW@<%W z9vc^!QyS;|tu?{9Bwvba)2an#R-@q0-c>FE)UB>u!aLUp1{EjNYlMGrYGsj04sE#U zMXvfHKX74BIf$8`Fo=0(mic5fra`<4>vf<*YN|^<8UJaiwhfNZ%r&&(z+$Blsgy^- zdGCf4azU8OF;h15Iz3li5+2uW=}c#Jyjk^2^p~G2?!YWXtbdxtc#wvnkC{(D2mC{= ztLN8Yg8~LhG?kyzi%xdJJ7OGzc$}OX=@s}{6qWD`Um6dsu~{gbAH{ihuzTxWGvXC? ze8W37{AFG4Hg8tXCuh$!p)oyJx8Xi!G<#eoL0jJ~j8y}SK35K3$C{?7szLB)BH7ER zI0U^!@Az|z%57$Or%FVei=pC>*Ke>mPlZHx5!r62I0Uj0Ze7C}0J3RQ5s;UDZMwqDT};n3wVO`6 z=~ZYJw3|s00jw1?3$-h`c3Ydu)-Ym|{R(#_hL!VU*y;Cz7ji9Zh>v%yo~*Zac$U=#+8js zC)9x<*H|8#0&1ey&j>NI#;r75A+1fTcoD045eA~?R<#mUb6pye%2%?)o5IqNR07Zh zb+OI`Zk>mnyIE3U&-9Alj&5Izlb<*2DB(g`Sg%D$^u&J+O` z{q+-}1+WeT#vj(={2!afKZaG@(|B!0<3G(bUYpT4gl#ll`zAF0oxi*ojXztT+xf;p z>a61gr?()0BauqMDmr8VJotP_GTv$~1Y(fS_qh!}mM1&a2HZ%7=9a7MjQLH?2(> z_lotQ8TM)rSKetxRD1NP4{!qsS%k7npdgf8iu)PemdJL*6^dDK#^ie37*_MwKKZ!- zZGLR@TYs1LBYsSxLBX|}9%aWixGgKvI7-34YLj!UjDE#Tji-2gF?L7`E_%q%l)P-* zr#_y*k9gVS1&)CcQsIJl;($Ccv1+DzV$$RE)RUMKya1442M{QI z8$A+CG%m%YcXS6oqj7NrAcr?N0McD>vwib4^nQ+?G&0SFqcx`i)>O%)FNfVPNgmRm zQfE7EY_0C8tNlTHRm;o1b?h_q^prsE=|IXI=7R-DEF{?VBAA58CD$63H`AOT1JhTV z-05w(IS42mx(Mz~-RIrGeW42^zap8tMbc^mOT*)^gjH1f)qR$;(;nOp_Ak9JcfCFW zIB+YvgNTaDx`Sa-byxC;7LmV7t0`4iQ?R-_SgVloHJp2s0?9ki=wW?KFtPaL-@W_8 zvW#p{IB+FR$Gg&Ld!Z|x2j7h=T~Psigg2^P1vpDm%PqPmfM(u4uvJB*YF8~3TB?G$<0B;J`ktC0%71{`%KK)q*_>G8F?GHg{|VF%R?b;OX| z{IHRy0pQ-%q6AS=*BuN=2770^vRYZFhe#K9gAq?$&8)C7MvQR{^F#UDc^e1IlyTwF z8M5~v*h%Obu>-m$aL5Ov9DtV%C_a|Je9{Et2rVccVEkM%0nH$^q!%}$sRmM&PSxBC z%NW^IE7ZABT#xF7Rg7*bG!jA30lSdt>a(xpbxC~p7_P_I_232}w2$R_tX&UkNd6{( zQv~G8seXNfdK|~~IJ-s(>o>`pWrBE+ zFT9KFS)O_+W3ih0Ha=Rglcb0d+9?KuTg{tsklNa ztU{D3``<;6RayteK(r3AJxidWA3e5F%yK!%`#A6G4wk6DB_y^4*hbA@yPZ?fv{G6t zDYYuXC$IkYxE*c}{WXZ5_tK3|vlAox+q&H0f$Y`%IVmm7w22C`|0#dnFzQ-3HK{>p zbRk4<7~8^a z|It6@$0pC^2$Lze%hNC!$TEyR@M|XZ@KelBEZ>jj8Po(9TShx!Ll!gRCX)Ed@0jb) zSp73Z%yWGO!bYCaftK&Ci2mZFE!)`XAJ6lIQ=u7Ku2b_pfR}%Tc%f7^genOR>AL)a z3~@6$b1&v-l`hOL<&qb2kZd_0mNmE_;L9h-(^moeVh9>unrodv_I&+Mp9$3pZ*5ER7oUHjh z8bv};VoB~Q!f3CLZHepA>dMkgntaY@Tgk4_0o{gaOq-P4+mn}bRcUYfMG%%24b;YR zOKST-zU)!ewFTD)%kYbGWi1-WLCWN&87ZsZW2(EJk)ixo&~1D)Pzz~rVVd}^x_78< z)dIZH$IzIyK7yRX)JCAX$5poqNsdJqbQ^E2uZMEOG+st^?^NAB#?V&{Zes=r7plSu ze#5Tta*m1J$@$K57Ci0ta6MpYC+j`>+9SM6an8H=@RgCr8`;mPEbp{GKz$!LqY^9t zdJBhK(H%09Kb!YSaE5R5BPRLp{TN98{vVp;|12YUKACwL$zvN#5v{y~?k9)j&%Ec7 zlKg9Rx&H7}!3WO2R&(w$-!@WZe`N_qOP@ z|CN_2E=1W^YZRAWS>dI2v&KJQYy5Ju*$XV@?X2N5(W+;;j$Q)UL8f7izltNkux?I? z<$5;3tXH?T|;4y@-{2v0KuMa~++SL3(|7sn>@A zsc|b>S(aBWZK{#T#SK?64XX^|RW|(Sl|KuUNAfJpg;c(laLs)DoXrQntmj@E+vVn7+)&Vgy5)gH!1emNF+OD=c&ds$lvN@Z*ZIo`%{dRvKAl{|BI zsFfA8%O{aGo$c!>()u}8}1^{Tg+mJDPDxx|veNEi255GSw#&1=MtQPrm zDE`T&jN&f|#XsJ3QHp=?Qd0aAP3Kblzj%u0lbDyhoc~uTo_Y&a@5e#$UxebnQ+pxB zKV1kf*LJe=Yx~8a>kYQ zc=_nOf~1}5@Yomev<->bnXVB%zTkJJ8-{;vD1r8`eG`*}hBHDvHDeGMaLN;fhf`h( zC(28{2c2m&I#Y`q?O~|!z$3a1jExg@W43yt^rh>wG0X!t<_8pT&(Hm1fTe61aKPhr z7ZBZ7%xpeR&UghVn0AlVT;6}SrF)5E8&`3R!(oDp(e)?9X1(wAo;1cag>kjH$$qoy zD=^wmZAF2f<`wVc`G5LD?O8pMp!%~qZFker=-bnXe&0Ff`8IB4mid_=&g$j>(Y|6g zcPRQD(fhuDI@ZQdioZ|079uSsdv@#5PYw$}-e2i-rR*txHND~dZ1$95g zsMFTii`+`- zTbyeLP+ipJ^cl=N- z;u!G=o4+}IhGu+fJVRvG`CIH6w$dA6?B8igzSA*!O5PnE+VETTegn%~a^_;-ljvKbdk8}DJMas+0BR{@ zSE)(<(B=;_h#l|mKN%Y=9kKGsQ9r=_4UWEot&0a1G^M;u+~Ejr z9P`bCPz#j}p>#-hz}M6sEXKLlJ-XfHo~s=97D7uU8WTPJ`PB0#pkKQmJVc>ACz9{K zuJj(;Yl^+@8L{D49{1rq%I)U&*8@1oc#MS3yZzS06L}luRQX(wp;$ir^*;`X|D6m6 zdE^_M3i(dqIer)H@zG!Xsl4%iqp4)hIYvQgS?1_7^a~ir3^yzK+4tqZ!K*~pcxLWq zWI0>2i*;^horS7H?W)qgU!)$GG*BF`hVWhGb@DeA?>cu6|YB|i2>$?yPG zD5lpA>-au;9b40B9}9aG=^I%gXZK1fd8eLt<{5M+l8V8n@OyO_4QP|^`HMUzMD~QT zlq~LQp&aus8Dc;PR+RXIXo4SEFwIz96GsiYiZVS6m+M7!5x3B*u z9F4Ytwoq=@xm%9GEZ9H$c5DlI&mg*kJ$x;F+#Q$uUVYztWM>eFq*w(wfdE@?cRQkw ze9LC7AUB?<&I}F)XsP5HIuMX0et5qQM4$QJ*c#~ocYK#Zufph6h>RO3MSh=Z@52Vk z24j_%nF4ZXJ6C=_=*1U^i+63@s0%A4T!CK=6WiU!a&cg2!{62Aj-0CZCjT>+*0cZ3 z5821G0MyDKoooMJ&YElg`-JBtPyMT|{UD268%(YKn^Qd^PpU(MWH#VYkwVeePW*K9#h>7^h?N11=hCg z+TTQ7ANQ}icc|_S)J<_Q_(j;)scZix>iXn6)jh7dNDXB`dmo8YcI^WXlfuoY?wzU& zCpb64zwFwl!U=xEwf~%4`vca;-IyC`XLN31{s<2saz?-T>%7bJT>BQ;k9tD;3QbF4 zIphv$b`Rr(IBc$c$hu;Ql-2*cb-8=XZodBd^EC_B@9)$l&*v_*1@`}8PQH|ShAvgX zc9f!?t^L&=zpwl^V|G*>0;Bx5xckh>M|(uE{D7NJ_qHWlTT+v#LvUW%dv%%WUCy{H zXa_mpU6#6SSg&35)h~vK`zcYEkoYGKxX_*mV~IYKAba$nzx+f%01p9nZgTY5`xJ)f z3asZW%>?eGo6=fu=b}?D)iQ@V@KB0oYfE_aDtFcXnq@?4N%^WbJ9$)Kwm9@`?Y4Rs zpxGwh`66TKLh!P!9nCk?&B)l@vB0Fx=M-2ebw?~+^yItD%fvXZNuH~%4#EMJx;zs- zdX5Coo+wu5i<5`yaOV}u8_8;CY0W5|_Uc*6n@%7ktY9TuVf3kQYgO`MU3H)hzbMd# z{bK|6qoP7T9{`@Fx%n6C=xnVXcmQ%5v?vm2J#DJ9jmfKZtjlS+gRjEY2#@p1+wu>gvM&~>9YX%QhmyeSoGKoue+s)-pn>ev=a z`%2I;Q*eI>U@mTH>)60^ftAI*sdlt};2>vBg=4N0N#&Rg!Exrq7yzbryjt4GJK#O;ap8xkrv(sQHV zeTE`T0(x0@5Y%Vfvke1*wx2262ZVn$T+K#MG@^(o->f3yZ`JHLQGJ%t?BY>08%>?j zw(*R%jUA(AW(cr7XH*16wVK`O#`t_Ki~uwn-~iA+QTS>W(^D*js|hNC^407FOu@E; zi{eQ%n@pX_w%?4h_@<~?8%1rFx2Ga>e>J-cS>ASoV>4Kq&7clx^9rAx4#lfkB@jD{=6rCTMcCrwzs7arT$yiYqQ+Ki7zJj`MQC*YZJ=7e(X!|*~mv z*TM=OrV;R}`~S1|CIDJh=l%b^?=tfO16+`0Unq_ag%VArLl6-wu=PB*3ktz&RA3k^3jn>zK(RyV=TrB zxHfhSuG~fQmrTDg`uaOls7J-^LX(sj_h#bpK2DJtUds@8IESbxkpEQIC3ELzA)?-P zes9OZ5$1nXDVl?baQx5zk9c_CC`w^WL;#D#g1`~(QTiye;WhUJ9wQc0Sd{?*~UwQK+BPsdjRA1vIi(b)Zb+y z#kH{;Ov$?*I|B3e+!2`MHg*KtNQkXxSXqx(wC;sk&Ma=9IC+rm)s#Tn?I$GHs!FOT zg)8~^vFahc&(W|;7)Fe(Ks0CqL_<-ex4Su(Q>rDmc|I{a?ev#}T^xLXDBVzUK{3L| z&2Q}zKu`F*oa*{Y7D4!^wZ2A%ju|t(>|+yv^NSq~>EcyzOQLVSB`uG zGjBzFKoQp`0kxN;73Ew_QY{d6nxG^xlp=CDVbpI}cBc%X~96G0J89! zgAMtyuzwQJRDn(<;`O_fxKG-CYdn_q8^TT@9$&uARErzGkUI^dZ~QpLf4})96@;I_ zwIvSZry})}Uf0e}(16))5-LC#{q;v}+nh=Ue~K)c$q@Y%WB?oht;hh9_{omrI0G7= zQ9w^8q|cpS2a#Wp82M$=hrwIDci8$vzjIurXF^!|?C4uLZ_xLU!lsy$LQ#{^H`z>J z;>C{$*E#MLTYUi1vf$E^UCk1v1q^RHafYQRT-e57d0pMy5fwOect zKueIQOr;v(jhasHr?`?n4_F^^G_1i`-$E&$}Kd?-VRk)VY;i5ogEG>U>pGHn}Y}R8}t&F zYYy%Yxqy&9`dIr^xOi29v|(I49leI?v?>}^Rrcmhg|e$Eop~wTdCxeyokP2q*d?w< z_n!yRR*7gy`>cU#)5fWl@-~9@5mx^hO&w4TyNSfE9FZ6b%zJv}M(Y!JDa||?j z`p&1Xm%??15>dq>a;@|=+xcbcd%OBBqOX_2bw+lyq;lL6`j+iz2h{fp`XANSH*Tx(D7MsX+>~-;hybS!bo7C{ z&6Lu_W>A$_$`Qv^{TWHzSaEdX7y^w@S*l#Yf34FXKa~1Jr!T~ve4CxRa5{SIIoKT3 zdn>(B-;+Xd59Pv*a_wi8Yu6JBuL*BF^gV||N~z)o;kAH6M$Ril?Cp?xT1q*jjeCA^ ztX$(7bnlu%+`p2+RsJSTHlW)8mvaM_j6@V5Q+7ZqMMyyY#QPo>Ze9!{Klwp^cE!!( zg3&krLaMt#<}KwAMxXpTkWo@lhv<;7b(DHKmc`vR7CklFTzJ5f=>(s5 zQx;?4t1MULBfC#%q0{sD^z$$1rz%!8x*3Th>Bz%0nT(%5s-G%e1%P$p5R~^Y9sS9d zWwY1sjQtjz9(MZ`9A?R*#vQF-_u;S#;lKy@KYEAE_SNnpl_40zrc<3{*P;g;c?%aJ zA0Er!f4wf%quNy!A9J4mezPgR$Qt$=t^tg7{%+lf@@MDU+gunuw_Lc`_Bw?b$X7U1 zedWdDFcU!_<%s={K5~F3w1^GeZ$%3!jHQ~im%AkenF0J0(*`umU9lZCK(*Sx+GTL@7tr-r_^%^yA=9Tp2Rb>DeFyA3eFTU^cmM3;uzeW)%KR~{cop^lym-mO zt#(%e(BM})Rm)TXdJa?l#^Y{awLDEf_b|=9n$D{=Hxz3Gu?B)zn?J6(Z^X8^mP7&X z$+btI?~y0Lx28}H@b-k=-NsUHLX%)_|5dN^U-f!E*$w%lnrfr=Ds58sRSQZF482+& zucB2p`{di|k{IAN5A649+bvH1&u5Ce#b@>NCGQr0_F{I6JATfk{cdrOex41x#q(OI z-!0zw3x0OpE#9sszgs+_pD)*L@z862`EGHaR^)e!kH7v!?G_JehF9Tk@%65|#j&5T zOut(^p%uTR-GaF*cMBs3zgs-5xnII=VPCc1EgsQSXTDoJu2L66y_o>%qGTor#ig@} z!3LQ_nge14aeuAE{RQ3>!2XMs&%_8>1zi8Scz|)k0mu#+B!L~<3M2xt;PU&{4!$B$8rFeA0Tl6bl?u?@QU7e&ST=2 z{f`4R=QV%9O#pC@+fW$PzW7`&ey%iPBqfLb5hlI?b=^fvIk`_Krn;#@tR3X3%}o zQpn2JYW5)qB(9aqH4Mc+Q9nGgh6>OZ)%*lmL&I)!R}@_<%QdXReUJTb1y`%^5YmE& zP{Z~U)FX?iz6w|LtSr)Bi!gKsxHEW%4pI+1pe{4tz~#M9zX+(yJO{BI9#r32+=hVx z=4cgVCxDvPxplhcAwqf%sc+;pe3iGLugoGFyVtik44Y4CSZ`rosrKq?1{qU1)P&Zd zd5?r{s}vxt1Oxl^(s0~M!}6o{((qYJ!{4e-?Kxa6KAg^<=!Tb@@=AYmAV}c^9_v#A zxE1(SE(xxI0f*5irsS)!(1VOs46!j(+^LG*or+yvT6{JsE`|19k1(E1N=l)b4{}4? zfaskclLL4tCp<%rhcm28*{IqGDB0~AVXoOqvt1m$sao2K zRgW^?I<7QEO`w~1r^7hMyK|!-eE}%cX+cLfFe-@^CRzYWrFkkLsaQ$Ta_6QCG^vqE z8?87%wjsb2HG{vwx!J+vGXPv$a$|gfk{D-l&YRa2Vl#_dufU_C1>2oB+RgGjrvcMC z!zxNdnQdJz^K8*r=WXj6wjbNNdEp#s@eG?sr+Mut&-0~HFW_nmX<6u9<+R``*Rb2& z0&kKdK3>DD3m{ z7_jZE)DvO;Ze6D6OXo85m_}C$l7&cm9j;J_ccogKFz9(OySesmh2?Z&v%57q@-J8e z!Cux6}%*7^qu&YT(%MysD(S$gxvX3-@F_{QNQ(e&_ z+^CU8^j4@s=K2dXvVzuWLP*v~EX5ZjmSRxQ7RdvfwOEgRyx;O(fES%f%gA)Gm5Gmj z2a1+$3wyoYE3lHd(&r*3gDKex(Nlne`<>6f1upLv6d-s)=iI_N#A1t@!vuC21Ww3Y zYj+EndD5AFDRiE7R~Q)_dy3b0r3)bZE2AfWlFAFLs#xGnAu-W+yc1pUkax>KR-*W; z1vJ-)#l0KOoSwpK33N4_6Is-+*T4#z$MC*}fn}9f;!hb*m)KRjTS!st|8K3f8&!mhO``p5O=L~q2mRYa|ZptnZv{IPK1x8)xRF}4Hs zXOgc>?>m^)2-t#G)dFya)VL0}!*!r{X&Fuh+q0BxpPi;QCt;gbEwDWXO9RDvp?6Zg2G2PeWIe@K&kXdqBN+N$)vSmB8&IpiYzVc_%m;Y640_mp|xk za|gM+k^CWg94f`p9jOlcP{e`{n;G-zcIp+3O}SwE*t9QtklsEP2oEdTpgIRxzL_fi zg$$ru>)2|@!T$6O`NO;0^J!lMLFFenr}_lUjW95_&s6p}D|FB&Us3g-55+1f&Qw%A z2wg5u&4ZkZ7&tD)G^y<|7dFwtCN9kxhfcGy6QwweP1zV67wk{0Eh{HR&Skj2@;W5D zFeacMA5Xlt`Z3Q8o6siYB)XFjzDBLoi1_Bh40RT?0zVh8E`@zDOWxQ>UVr=-4} zakV|yO#WwKVQgP}PF52F4<={ZV?8*0n{lZ7@HIllQZ8e6zIqS0UA1Rd{*Kq&nJaKE zr`i<1Rm8pb36t@5h%i@x%X zltiBav=3;9>l~Zs@zB)?@E!WWHGdteCbtg6k(&uweC%6 z%xK1pmJtm1I$2Z6xqEE(yHl~#^!KFVSjRc>Shn49bRE|o3-)GgaUJ913F_d8fH@i> z!dE3BFix&A|4?Y3L_56NT<_%UCD*zur7HCzpIC z)R>htu9U;R%B`A}I+2`v%9e9N#W0xuDM=B8gUB&irHHOI9PrAvafsz(trB$jRt}^v z$%Q_LI3Etc{C096_-7vnf`1Nh00sAmu5yE6&L0#YD zfuh(UPaIyh_2?mQTB11A4V>JNfMc?WY>M81u#k@4^>|vl!)DHUs7y)g&sV7B$4)~n zCz$3GYWZU?gIa#qX{qI({ad!bqF&Bop6e=}v%&Sy%fDsSWxD9)jOwA6e;W99MA22~ znyE1pVUfZuRbNwt5R|!>B#I0GSd_;~MMY8Di4@e{KehgObhC;VIahq_xOq zeW705ESeHxrHN2hiB_fRaL8q=u>M-bln!QTmQdea6KCQcs<>t;g}E_HhnL}qvCqh7@+tYe|JJ#zYZsu|gTS6xvJmam`jfm;paG@n>A3$=q z5E|Ceh}f7-LTH#_Ie%cU24WVm{hH`q+vL|awb=^Lhz@uK2P)w0R^h|Gt`2IuJ_*y~ z{2DL1Tg26IX|t>O%5NZ<{VP97$y-gti~?3GqCx z7h%vwvYnkKUX|rD%VFkDjMf|ZDWkR~FH7@D4I0g~&23UJyJRwx>GjML75o6II<=ZD zO6{1|EOi}VJgr$Txh(NZ+>f4ri`UEVKTW;-nZL0hoJ23bKeQm5u6p^ahtmJ#v?%=x zXHMyVIYA`$YbpI>clA>GBJ^=+Kk-xj#wq>i%S`E?H1pWmMd_^h6qNqsd(Mo~zy0B} zh|=G8T9kg`%qjgFr^nMD?d9oM-(FEl|Ff5w(*OP}kxQvcLhD894iQ;_=KpCPIL?%)1eQh)U*>i3=&ssH1d zlloh0PK(l?=%w^mn$quonJN9zvyjqR^C>9(vu8-@-~9DV{nbP1cb^uef9cFA{f`Hq z7Nvi_m(pKpN`K&Gru5%G3&nTVd&e=_%^HCb{lO zBENCt`-3ktrT_0W$$kE8;_3IC7Nvjn%qjhmy3^w6-|IEWz0y4W11~eB6MlQvIn)(0 z+|!{>%&-NzpRPmwZ$I*DdHTOsr*?Tjnx28~r3m+d!~&EvTE_RxXd!fF;3+a%h~#b{ zE^h$QR$Ve$#-A#q*q>*R@za4RLRZ{IF=6iVT;gQ)IXh3vwG7 zE(tv5A`R=F;nH-93>Sv&C&R^ZIEg-KB26Z%2%NVA;3#m2E>ZA*xlM627Cd7i@B)O_ zTOjgr1?#pdkw8Fz^j@a~(Q^3AMq=8sifQ|7n78m5A*oqY6} zGGo^2Y2HZFjTRWMrZ%9TcmoHBKTE=W(#wkBKF1V3lV+9@5DqAETxOk0uG3r&lUEZd zF`DTxF>D5kqw4Df%U5Kua8p}o0`Hv+7K@+R%4|TUa=u*+skJ$@R9eCag`vCC@<%~8`&8wnkzmn29s?6w+^Bcje zlpdcdN<17A0b0XvABaor?EnWpUG%<_yt<(4&QRN9XNbPTtkZ%PVr+#Y`HPT*^Pz5d z0U&99k8s1>hyszdwQgi!Y#20M=q}VG9qxQG+wJ1B7*jJhu?u1(;6K+s<>Fp-vxf>m<4<;G(hlZ zh9z9V&nw9O5&=g<#S*Ap-Y*0sx19UGnyZi_Bh)xr2))zI-bz5MVH68Fj$swqGla&j zV%YTzBOm4lV(e&15UTdDWe74<@24TQP%|aR=}#uHY!W^AsDxgnxhpmh;_s3Tun_OG^ASM;YsQl1*4$k zS`Q+18f5Iwl!W<`Z-a!B7j*h0%((rKaFLg_6nWVhkuZ}SfP}?fc<`r9!VEhI2`lAO z)VHb_)Y+hC*YKN7Wm`~8WxH3OBq?o0P*|n3fx#5;4U{R<^4Xp%=d&SQ88bKP6s=y% zS6o4nw3HC!uJz1P*=!8!p3T-!8ULDOvq9}gl+9*ogr0Ek5T_BGdbx@5MsbpCI1-lutgs4l4aoFaONP_+9KT(A98(x3E)Je5Enm!W94CQ? zlt%ByTCp)ob*XMe2=`t!Ugq>P-ss!G-K3v&gxj4qPkJKUr|B z?qZIX>0ZDx&yQ7%f^@mdj#tCtz=LP{FYD9PT2?^P#?X`RiRb0#xWQ!@k z%ERS_nVb*wIHysmrI|xRBDDl)7D$R3Hi7-2WKSt%*foR@a2 z{f`?;wt@_=jQ{srQijc7w6yye+zRIwqtAy>f9%Fm42t!RGZNMPWr`Hv#HGNUb`v@w z_P|Y)cApiI+e^v-0+)3SK=aZK)1RBv3BiXR)*|bs%t|eA=W4ezMPHb`Q}ma?T+B)> zb>}KcGC)}%J(gS4b$ycEc@9JlRSaCVX^1C8SeZ-d;yESfW->rME5P>Q8#`U ziQ4P~DL1ndLqJyWv3KhfU1TCt7gVvtpg1cfYymDRB)Qq_4i}P+*W@l*%+JOG`IXQ`A>h@z87=>16+4$DkSoQ?h>;=_;R=+&yg%8SDs@tm3{tJ9zC zRr)jMs7$H9R%l>O&!Hw>$#YO9;3^fiz!<@O+UEdSmp2^I{J&R+tA!+eDovi}6)~9S zRib#RLNIeriWkcVismIze6h64%S!P|eeI?A62^bwdrM` zcZ8x!de^2>LGSD>mGq7zP)YB|XqEK-r>_EfPsD~_NAKxhNAKFOWur*w9a`Su>7BZD zIwyC-N|VLpb?Ai7`Ag)^UsSLvk~`xvp4_j8C~p9K3nznlA&TUV#-)7))8SgTR^$$- z+|9*$t#|i{OW>}V@c~mT2X0%`7h zz7Q&%E*@&kdMGSEfUgI_e3$KNI6sGT zgS6K2vzDEli~PaIRTRX^I_4kDAk|aW9h3{!W5rxlB%%%*{D`C+Uk=WlRCOE^JN_?> ze(0BZG#AI5iYYptV^PM<0inwuj;$uM8&?+#({%z^58N~u4>=fl#!aN!7T`Ft)g!|{ zdjLjGr8mGLa;$Tbe!EH0pIMPsLBBIlz;qe0^oR8DCgZA5S1bO8yCRo=Chx=~kH#H$yM-IUrh*$oeLuD9ui7HRb)#{4X-Cc{C@-DA?nkVL~ zZxXCj`gAZ1w}In5%!j7QlU?8zsNcf;BdYUG$roSrjWbHGgD=b4yqLa=4a82GTS0v* z0AD#HFgy7bSlN~I_2pgEcbEDuW8P)H=o@G7?Gs4~*9$a_(CCdJsGHy;XgCV7&H(&V3}u^4D|y^-1Y>joZZEn~Fu> zH-caHurJc;u*L;=R*eSavXeEQ@$K|aAg^fI;dbch?sVJSP97y#_I*6sv0-2Rh6(+< zuLPkVdC7$SLNB57&GZubtBuefe|ZW0-dwm%0(?ppBrEwjFCPIOp(-PZPtFx>8Ch{# zy~S#?SQ%Vs>VECt^TGRaQ;hy@vB(jXmyOd8DOf`30p@b4K}@}Ae4nFW-i8f<-r z{GQZ#JDHq%&Sp6&2R*Yqr&7-m+JDBwP$Co{rvp_~jT;jioAOccH{Gk4sjD+HlqouhI!6HDZ==K<~0*k=0XFp5e4-a!( zeri0PGvnKlASQr@d%BePy-{zocJm52@* zspt=e`M0TJEH&Q^BZm&x@CSmz3J$31NA(0acc0xQQZ?cPm~8U>BUYHTBqNpl9>YCe zNuvQ_t-`|h_LHpl2JT|D&@R_-%1h%wQ-w$m$n0*l;HY$GggUg*q3BWM&eq$VZJ=wh zE*0lDac2M{P7A8L)TGh|u#MB(EUJefo2|X-{r@t9UaxxpQp|a0zk2`ek~NRLrdwPN z!axnS0Av9f^|0Sdp+B`XFIBYW$)=vz@9Sl0sE<$Ee*a6Xc{uNwv#0$YEuZ#ZV!wBO z-GYcVYu=8c{a$8t?n`EJ?yHgWiTz&jPW->O?W(Nv>DljtSgry*b~D+qPienz(qjmU z_WL<>JEi@;rHlQ3K^Ob|B5ViU?Ds{Gyh{6h@aygOG8S{+3fSyw&FkO<&!y9!-^X*o z=O?zG@lPak+NS$V(R8nRC>8~5mir@S$;%Wi_jiWyDq&r6l@{|WR9f=h+|`oz`=_wv zWnlc>E%)ZY;3fKdS?cda5ypw-zT}2DUCVv0Xt`g(wN7cd$M7cmWMa8rL$^~}?%Uil zc_OgfPYZnf-?hzwd}-G;2blo)f{Y*B~QKzEP2gAC`+FHTA^`? zX|$&$&m0(DcBr)E^^$rosmoE}A5LJuPy zW;wiGKO?Y~E1OHM8ebfdFJ#C5AxY~**5;p1Y;x@uctbFKjRy2*Kz|=tPt!m*P-d#g z)yVgzc$z^PH<(UD%o9s*)s{7`B9@*!I%4S++HkWQQp_bKhWr*r-7-7a)*vP6{Y zy{YIj;1;SYQ>^uQjv9L*L! z>#M}kM3p!#vC&OcVMr};27MJKuf7$@u{0?;mcF~mtlO=58%nA5c_QsG3Hq`z7bzpQ z*)=Okw3DFuP9M2)G3SY#nWMg!@Y}3tbJcXIyVNI?&hZJQwcdb6l#TjYpsUZDZ?S+H z_1%LnOj)Gdn+3S48U=kT0_3S8BanLf?!{xaSABCnLSA(u=_^ZGQYiBBQlZFwIL=gf zSxIj6NlI$)Cv_tmahF}?BW?WI{e-hx4NGOn64^?ItR^nUz^jQccrD^~a%Zh3hQlVd z-27tdTahA*t1L;8JwS@Ar7qUuC|hohGW9)W66`^eV68-D6tAQ2I_1gJx151jktctM zTs+mK}CR zI~8K{f2&iS#WdKHsV?SrE>s20dIHvGmeWU7N`CFDGm4rcmM-umdXs!$zH$7YHC(5d zz^;J<`FmhH)ErSZeSjMjz45<=Us0xJ(qb4^CS~Y&h#MZgt^o&nErTJ+5pG00l0kL+ zS*J?q_1MZsx>3=G_&%ovHSuU&94=I}Yq|tt737@dOO86FFLK z)&hp`3AnWz>f%WjR4|D!K8nEPkE)6jk?g*l`Q-L^8Y{6>6{9>wx;MH;J((Glgu#cc z5U=w!tb+2+R|%M!60Jc|v`_&?w7Ab*=nI9{l9;e!xZ$bRhA>YD{7Vd8m;tIt@7o*Rylo@N^+BBm{-&)Ka6AA zO1Y?3`ErY2)4Z~DZ|q*H{7C3FIIBO-$G?T%TU4!_-rMNyUD6fR%I{FMa_FBZ7Sxm$Eje7K`MwzO7?z37}d2Bro5g*GrP7+`6xAW?iRMc3WU z!LzCSefK}EeK>Ht+-}zy{o<`DnCJ(8hmZ=W^;Wvw+Rk>mN2L6$m~wy5l#lmd%D7nW zgV)GsMx=m9yU3fN@l^CAumZRZYGBmnJ?O*UY)-R;LAzY^1}#eoOHj5FmW){^s1-Ga zTG2Dl-PJ_*|ABoOgSZ~Nd9YKCdp%Jy-E!Q&@Eu#gq8FXxZlvohap#PnDsFb;O-$gK zoPM4=d+aSlxgby&vuW`!_spRx3UFhK4LyTAcdot5U1VXRVsxwQtJ(c4pepJscL)zv zA%a^#Fzf>D-Oy@1-x#Gs6R3(JQ+BQJHed4-O zE$2OirkoaB#ab4spjZ)d&s~HkejB?;f`+i3zKViX-=4b&efP78bb+hb!n56yz*TT8 zJ`RhF<#E7l%KHoadVBQbS3-lV=*p|lZUX;wFM*$aQhP6fLoz=6%t6lALn0M|z}ZjW zCw>bF{Byko-b>(DL#fw5yB2o3Liwb<9K5V;pWPh%iCzNlCGcJXZ#NPB)ExY4XSELg z{4is7%qBAgN}@>QUM`&Zhlf&&vN72H3LU#^0`=SLVRFr#%cZgv9W5ipPr$KjY(dNiH%_u8hGl}XJRYiO%_dT-SH-0 z1tvBDI(kG{$SuN9|Eo-FJaKPgqi+sF{jV~y(bt>UQe{NgZYH+k<4EXR{+w%ut67j-p-xW9B<|3BB?_s>zU#d(k@3vY@3^Xq9sT>9ec z9z>KHNN`sX+5+Yy;VeT7q>T>ipThBfUdoy`dC z6{HIJ@xghJSAPOyNg53}02rk#6~DrXtnl3YGg@H-Q8MSchVlw?@g#2DU|y-};2+-9 z{CCxN8t!qhU8AEP4T+h_2-dYt9Rh;ZIAjQ&F(il%4#ci?Y7rgaJf;AFm_Y!|`DBA$ z;AXZGJrfGW)y*ozvr{c@wtzB!rYjIc6aCeHqyta{G!(c8xuyjM1zyZP4q!qZ@PFwE z@t57Hi!WxHignY= zG#PvpNU(z1TEfdzkO=MLak6Iw0J~AokK8aIIxK7)P>B3pzsmzrfZI~HEc!DZ`EvRK z3bEBKSKq76GIKTeobsR$1_2^GRj?tX5njt$fr!wOL4wfB*T5QshOoF&Lxxz!t1w&$ z;de4_DUmuHmJtY-QHZG^FF00^wjx*`Tfq5<7&9gS`NajfHU*u#*Dz{wgy<+|d*Lh>8w?<0E@74ubD z$sEB}awoY?Kdxuy%n)H(eNXGiW4)j@Tq% zU?5GyfN5tFm?_xT==TiWrbYlT`k-ggn@n(a4Mm+RHyr2}LA4wZFbd?91hd+90Odav zs=b8zGDiq6!g4ugYuaZ(FA%x_U_|f&i-USw=ufw z9eg#DfE=%Yh}*Z(%M4-4R(w3sJ4Qsdl&7wX=noL2f%ewwKDde55+OGxXT6 zQAPBs5Cw>2Q?#3q9IIRkV5lmnx!UDg2|ri#c^}ue5cex`b9h2O_Q$?Nx0R3|y8}DB zK>#?5$tuWxaQ@pte2(Hvhrr{96u^Yww-szDK**F_YV86C;YJ$zvmaci!SxzoSdRq) zSNW~lOJfSL#jdu-F{>Oa&?Nwx-8jOlG&CfB^@jlgtaP791rXQ}-qy8Jh|Otn#~=aMtDmbaj!txRroa#fHyumlP5#buAcph5Xk8=!Wijcd5%4 zfJox^e8^>f0hT$>Eog;QLMUaSYb_|^EV*iyl1L&Db-&y#a+eo~{pR;lx7gz&Epb=0 zQuRnhkFIoA6<~nNlA%>pKKf=5U#;%fz+$c`P#%rn*Aho|Z2`6hTtRCYV7Q>KKN(sL z&=K3+YIR=&u+f?VjEdhk3gW212fo(b)Ec*O)pf4Ttt;?}uTO^N;tlzK3F3|FzKI~P zO$EMbes6JrBNq6mH@mH^@ivCG6RzD}kRvG>+K2d2qMvuF`^|2LySYHnD8D=0PS;Vu zh99mcgP(s#79CxVI^$^F_EsS7t4*Xobg@`tQ(5Syj?-O1lb*VBTk_;ot}x}@{#^~dYgx!=Hky~Nu~yuHMG>)A=X zf07Fid(6h8>F#Pa3BOYBV8U-V8L<&To4w#i!fIm6DMPQj9Q(`NpZR%!bloTV(B0{{ zuhIyR@m)W1!dwke=KU#s_~&m<=Z~IvJV4d{*=IQn%%1}uGd%%d^kLtJTEln37BZQPilhOfU}S?Sz>az5m_tZLW`g zeQ!Gd6#Sb%CRnN%ay3~f(NnKW=bzWWhWt}HOv(>}i!1jF+-2o{F{lKwJQa>jWfe5> zzxMY!L^8E>c|CQsX$g;@EG|=HBT6+lX4MmbRwQL&CTC|_LYTWC`s**)`s*c9%Th2~ z0DhGMbbef{dI%IzaTiBlT7vo}^hn_=`?81#%*sr;#9bQQc~?r4jE`G%aDqe>%5tJA z&xhGBaCz4fz5bvQ-WGC#JTJ0SP>ku=1rPBu@DM-n9$Q)?T>n@i5L;FX!tj-DN%Z79 zcw}rJyb(+7ivIc!(0kQ%wfdL950}I2ueNjxE{INy-tjs!ErEY1ZTDy>G)93S5?8v? ztwgC^75zWH2_JQuF;Q3xF3G^F-P+=Fn~Ge(y(0K3O$3d#41BmAf%+zQW3*OhHgIM` zJG$vcB!f-Shdvi-Mzbi8$mO<3;*H+*cv?#-;~!e2$4#WdXEup6AajXwopsC^Qi0M`A4b?7)o_scxV4iN_q^aP7aqYwA zpkk?g{oVj@E3lw_NHKZ*YiafgLvTHzX+d&*f@1^!jVaO;op^`R&j4~Y)0gO^gyqhz zF~~)A2=bES&ykT18Gfi6)*26|i3k{1TZl)LwS-iQ8zDm>vqxSRM{VrG4iQG5C&|Yu zs%p0=c(uGa7^a6j3;|#A{b(=WJ481*a58bsvSL%q*)Gf~_p}~JSvN<@pBTN38#MiU zR_Ynu;JLF>PuUGV)rSq^i16DoNqtpzj47^x)qFUwHF9n$h9dNE)bMF+6QHxTBKNDL ziWF_-sx`U`3Tz6f*=}Z?m-?wFqSdh{C>_*Fr10piL<-rV2zjPTHwVLYbHi;%K+8U^ zwasY`KHbMP+e;AyJAVf?n0-8&>fGiaU6bvnkM`31^J(oAN>R(}CQ3U+-pyw>vE(WG z`C>|buh5Xo7(#m5A`(LvxdjPfYwKE^pMsvS7&ZEGbObO|TTz|KQsdHB@o$;C!YwPH zHlr)J<#p^5+9a+w2x5XTo}J$e+k!)yi0% zWVX|_{8a7;B^GaVH~3{|x+=mlSFQ8V>AaI18Upid${z>&l)>a}Zqb}u`E9A3ThIZCBLdaE{S-&v`EMrgQ+10+6^18B{S zq!!X;kQ=0#2D_9F=jf1uayjJCz>ll^LbV&_3#!o_zAhAG%{Ww+$!duL3pgMOv~c|q z{KRNBQX}j5ZIV2FA`o+#VCpSjLSd6&%wU-N&Pq zkM>uLWy-9UZGHs@lE`7m>H?&)rkW@MHN%=_Y|vjasKXZ~)1B;6kuu#;;Z?Ii_b^E& z-D(wU*vNrxpbZ&e8b7Cz6Rx#P=l68-QZ>sAek&Ionn$&d{^)&a8kp|_cY&_UbJgKO z9YpFJa4M+8C)RCx;zH9eH_g4R&Bs-T>fHOF19MlnjDhXtaCM8gj~R3 z2vp92iplvS$_TIart|sgE|I`2?A0!Bn2XiIUPOhgRxu@53IjV36*w@qm1ZpKB+XZ= z?9pejv-_e9oTh-Xdflm_>(y?Np+i^8xc-TdeZnkkoZiRoz~POOC#q#$$JAFXt2%)+ z>==?SnzjBbed&j*IC-U+39ALWjD3*JLp74BWxaPCFw~FdaD^&!IX0JSx7^$0xH*+v zUZy9PnC7^!W2@mX9(jX9115;O1+ZA1lyA@@QN?Am#aAmI7VPtCkIKvuY2|L*Gg=@U zkPgTsdVB0adV4oY)VPU`Nfs=#tz+ZC?yk3Yqm`qomZAMV%}On{qoJ<9opC#Q zCjOQ^&TU3C3D|SCL@!JhjqBUnYGyf^*58y%?eMi2Gx_6*Eq%L~IATL03#f8w8DvF3bJ!-TWM6ND6#MYAPtm?!C6b@X?pi}@O}nW9spy-Jr(BgBSp#&a zMGc^qAsr&y7m)u4L_hvJuA~P%SO*7Ve?lriRk@<4LIPOVCM0pIU=`f6s-1!Ma?_NeYbImpjsSEzCq zn895l0Q<%39+l%QEoy%vrEvmWto-c2vOQSFW^sHXwarL?^EkO zjD<7V396EEERa35SnR5cX@uZAkqW-|K&ngiGislukwSDEf>o>%!5+1%@V#HjgjdmK zl)VfhMnF9 z=)^yy!IVf`?FD3njO*JR{K9m|Ox%x0QA3j_ekgu`>lc0Xy=XVn0_rlbHAJ!{41($h z6|lzhyHu44dwi?MXy#pcIew_g@otzK?nc!4;)q!RnP$*nKM8yx0*x1lcH zs1L(!vN3&BE&I5O=+g(y_xb7Zq0xg}8+Pw(k``m4<@qQM6J2!EF<3YFI9W2C$ zq@ue+br|svFVr1`F|?mSD{q$-|Bg_$``3igv;WK+Ig*y~K7;YTT~_-$L+>z8?>t;{ zDD)*%k95U^aq^`B9MK#Mh&OiM>Y52H^^$qz)}&z22&U^_{g zCj@;acD$$yA`CNBBEg`P4}qD#`D22Jsf2`KSS1z=)I2i!-i_S9LBiNtc#35pC#bjy zD$bT_oItv9^aA))$hl)__kufKHHJ;#?~+w+Jbd}x$8mg2N_WH^^HQ+#4&GP6J7AWh zcZUe;$m$%Waf@J~+sX2HSFmO$#%yzdurMXP&k$7bvpy}C%7Kg0Cw1iS=aau*2$|DB zX6$AfA$b^WBb^$piki6j`P@?l#0)J0cVdUR6&2oK5&(D7u&fNa1hXzd%+Ml_H^cVA!3~# zlUgo!muuKQcbP}MiQ*+1wv@R|@V-LeGgmTxnngFxO3e1K=u*^_~Z$g@09sS38Hi2Vmk&~1SY*YN!8wjqYnGnL9!}G{If8B^lv^9u#*tJj@td9pQPk`3(T+1 zf!8fj!ayVRc6HKUU=tH;vid`JYl6*m-sCoG0(wlNYrKWeY^&Siwie=TsTQ|Q#NEWM zlP$CA9npz@N%i9bhC-tYK;kLv1X*`;sixYC;?!R_b58xWUQXT1se3u~Z<13V&4ue^ zeiNi&%7req9Y0(eZ5kY*lrxPv3qu{Ra$;1`R%E$i#_5hYhbCF|w|H)aWrT9y@OQgusjY zK_c!)M}DDbq5QhO{F* z47IkgYO~U;W*fA&SZ%fR^U!kE=F~QlHg5*7wlT7W*VE>egXoJt4r@lMZ8UA(BoO`h zo^;J9wK>|H=?d1bUTtG(^MZ!8)v0YfZR5=rXk$mJZ6a-E6gb!VjZj+yZ4Fjt&Dv_! zHkmeWAGEgNYMV;iR50p@x&7z2q-%z$?L6AfGq5^q8`_Up-cs4M85&Ec^XYWHSp}ol ze>+t(L<48i=3RugxO3Dti#G2Ju(rW!Yoe{G9i`%;=tK91HG|aFOk1;|*xBMDwauYT zE<<-o^dX934piG*+Psuu{RXJ5g*LeZT;AIHt8E@_^GxW7zV_pk9Apb7{zBpl|u zZpD<)%CV$oWwFC_^e@N>vJF)y(X2UF%@&bEEhkW}6;cTabOoZ7BbvAyP(XgKasA!E zx;QFt6)rMudJxKFS)MnXR-_Q{-ylaB$#x^&6PPFkdKg`YbJCmPWV#nJD~FM8q`G#x z5ng^G#Yz$`kax4wwcejl#~s&8cQW*49|8-Fj$ukiM^A>LTF_cGdXF391>IacPQ%92 z$>DQ8`5fW7q#MZBYc%d?_=zm zeT?13XyV7#>d)g6Mp}_0W>?am)zmIyog1%DX)we=|r%4h#eQ!sC zzn#AFqupU1c%vJP(=rc4;IAT-uiz@4Y=j|mou1uFni4E1nuyfXWCw858O$o-sv5VN zPTra(%2}&%6_BemwYfHpD?+a7R_SwyVW6s_5F87U>a&Ky>ej~_G-nyz4T*dM^7s$2 zd@_!%hq>7VRZ=E$STn%eAX@rP^mKZ& zW1UEVgWF{(5Jmq?wa-)D&UUnGI6I0w6fGMT+#ds9eTnbOt)74Q&j}%cs6lf4`_E7u zjc=lB46Mb!%HZyqFkh(^LN)da*Nvk0o=l^rmm+Qi>Vq z&@_cd6Vp0bEg$<*$j&A3mUY7kJg(0rBc4p}GUE+zR>1 z)JDKMrZ(+n?mQGM^CJAkmQbg3*@ z=UYC5(jy4CX-KUglO=+Q7Cq{2CS?DYPg=Cb5J;Uak+;rS0)z^VuJLBGW(C@q!`*w? zV6K<&WacteqNUT);##zO=kd7btIhj{v1035$ib6^(YyanMt1g@ zmGtymgZ2fi?C<%nQ0?TNBn&iO2%birj z6*l*go`LUB*9fCsm>BKUbthe87Ld5x#&~!8PA@`?r>ke<>UuL>E9~!_Xuv#YNiCty z-@-H`wd5d?bPf^;%w5MVPvYk!5ZD=C47+1Tpaq#)0}E^w2G;6If;C-jKk%kGMD6q4 z`RcmMO*ep6ZutUcm0yjnWvjeeFwCp#ZZ-lFg`$!)P1j}?300d%tz@U`#7>u_Xk5aq zSmNf=wIXGW7DQ*wdMg%tSpxkIGLHx3MQCxDJs6G_Fuxa}bpqqP$4L!!elO>+>oxI} zm?fW2ipwk#T`lI6xzdTp7ZQ6@iRuZip@qmi%}@ejXK!gjo*@NFG8{iJY01xWFMHRUlWumK1o{9-QJEcVEF7&Npx1tTmvC; z0mNO1x1?I!mW7InL#8Ns2)2o1mmwum@{(63r1F3hn*Csi#r%JMKaDJ&Q5M?6f@rSh ztyQGbWwz5BzzpSxO5ypn&@ zm7q5_B>HzIo)&DyXI6_qjs?^bSPCSt@OuPavk?Vox7LkpjV;2Bm5<`?MB!)V-8nx+~> zs_8ruGZ|OHiQ&W9T4Z`hLKbMeyE*uvOeBqpkD0-Ei-{rKMbWTa1@2r7hoxzjo24lW zB%db0%(FGF91-hgD*}#j6&#r+R9lVP<(fS*GfSb5#a@y?$Ag~Bqb(+p5d-^kUUr@< z!>sXk=M!r(TmKGNH4(Gs^+xfP=d>2-J#h0SwoCbia&=40DGm7Z|6;*Im;egm>25=`JsBD_3ej#ty^@`hyk1G*^b4hAGgm_BpAK1o5jkO!Aqy-LIk&Ee zy*|YN80soS-+HG>hxox0rSL^%m_pG^Jghl*&|b}hz|r$i1YHhM4Ckk$^gPWY=%!dW zH&RV?u1+tx1FBaz3+pRdz|^-amP@@RG>UoVaLWxPZQ5!EUDdcB*d=R_tvI z#^)^xl8uzBG)b5(xy*5x!;&?84v%V%5xtt`y1ANokGr^NUAR=^*ohNkmNG}@Y2198 z=KH8Onjl||+w10e^8$C@0`JU-7FNL!{_|`0##X^WL+|^FVAY}7xpaXF0{7CnX4{W+ zo|Ji5LSIq4`j%bnYQmzWzPGav7~dp>UR#<;=01E46W2Aoz!j_}QO9Ya9Ex67u~Y-E zi-__Abb+C=-{#^~a;siX!}UInZ53Ihnz(|JX@V1Lnwy|xvc2`zrHUV97|gZ!vpXytGITv}0VU4-tyZHvBpu~Ge}an3_@+a+cf;vG=^4&&6& zYS~FIPW`#+)UCx-@uR0ABBe*xdqJKKYiEcqShkU&lbs4opgUW#C) zi6~Vs4UY9*UZiS`JC{!9dYKwi^(2j(Op`Z*$$CwInwJ45*`BVq+ftMPS3y(L@(oZg zh!DPt$}~l*GH(TErimC;O|l>DDEXLYGOU7XXCgprSOsIINrj6TcDtKx-?gs2s`!C6 z=*2WZzdl=kj=LD9JqO~w#LaCb8Xbb=x#jsc&t2-~6(H6YM<{w7-fcOz7eIRpk%(K} zWvxiViZdmyv>>gxzoi8;{Q}QnO^XbqBo~3mmO9MLeCvDzWl9toM$ciaPs{wZOdof5 z3T)^}fg;?4sKF+f<_Laa*eaeUge4t#C6vdbB0jWe52IzRTdQG*+znPki06`Sz=oAk zm7osRbR$1+Y=J(NmOErhbzE8AB) zvzGa!TBtZAs=paJyg8xz`uGStoNQz1H)^X>TrT#nz}vr=*f8R9C^aguTpM&J8mMSAAANUoS{QtN5A zn23h59NqJA+mdtf^+bf+;I8L6-@xv++O1hmObclyd`1yRD{(|v8qsNy8%%ylg=Bn= zEK6c^MD0#W3j>1$0KojXB5T$4ABek{G=k?14pJx^j8*U zz=enBpHO>k{`fmM6!Bybh(^*AQ%#12)$tR1o5UwwsL}7Wv(t|dRHbCMVgwuNm;^AjL$Qf%jHWkcI-p0r7q4V&m`}k$yRYG#URNT zguz3EB5Q{1k(2lf8oA{Gwyb&O$I{{D43dPB$0A$be4=8L$C4t1*1nWh|5z@=_{XlM z$6^M5|5z3?h-lj4mjZ|F;L6B?PiO^gGMaPTs$x*S{XuO7B@Y{mLxeB5C0>t;P&#~o zy(If98G$0f{wI?mdHdR(c40%<?a`kFP+7lffHfs^0uuJ+QMGWT$*`E^ni zsZzrbQ~!K*>cHVXiOH;MU@CiV*Igj`j~}Kat#sK0q8^(7WbuZth03s~RIxR15Vtib zDRKnepA&t9uSC|(A^E;gucelWVS8){NR-zwfu*<_y7#iNS5g&XDdlhF#~ zDN-Tpj=7MT!jxY++NTO}>tzNG)iGis-QdWm*PimC|NH$^{&=Ng9Z%6CD{Iwo<|*#H z=t)?5LyDf$SvUwSkV_+ULW-CWBFG(K(H@xT0t05khIOHvT?aRA@}D6)Y*Ny!WXB@v zbdDa{B`iv&E53G`lJbFv+#Fxsu2jd9qd z0gIR%I}~B3QgAQVxFt08(0SoImmA-)t+*|Q>tw`r_?R_K`TK+||LFJF@|N?JEpyAG zuPx;9m(^kE!qL;Xw7q6{Ewgx(75K7zyDN4cM(cSE>v^wHAVujuu9-I~InPoOWSyuQi>(1wg^dRx*BgCJGz6V6VcwZX99FsbX zT{s$9sGLI;yq$xx%;Vt^sooU!{Ba(ThRJf2()xZ0CI`1HNd|pZULi&_->DXaM zbJ5%X)>4v7L_QY69v2;B?3{Q!W4)~#rb;YCSsX`Mp6Dh;Z)Gs-sVtMn2;|XY3`Sa> z#%QE#>}F6ly~-*x)J-^f^bSVfsiaWcSS6+xJ<8}Gbz^z->cR5f#^|HU{wQk4qVni_ zM^e(y%64jmY z76QukdX^%OOU7nAnZAmbh?F1~B5@CLR}>)Xz+KrK$ZUHRR!;+rfvB5<&9p3cgWd81 zluaau{O6cOngdkLNhz0@vTP04aN-)65pS_f>uOo)R(h>x1zHbXqjF#ebIjrUzTP|4 z%Uc0&a}D>=)k4jE>_?n5pSnXJ_ZDicV-k?jfXW8aCSw=N;h3Dni_E6+PdZ%PcyaI}{#FDd3#V zE;t2E*L(WQCaRl-pts}G9tx|*p}iQTn}h2^EL)Ltp3af@v|&N_05ywH!(M1qZBZ}S z`-S|-1M1%#IKGuq{0kqN$H1|mG|Y@dPx*l+2{hx6#eS|7^T7o+igVuY#Uq?g%whp* z8gmX~riU3X-d`M!&Hv&TX@q-3djUxee?Q+hx}+au(P|nrm_bU(8o{zgC3!+4EXnG_M*|9NFAiD-x_1$ zd&pCeMy8NJ0vBr}sY|wc(+MsP&*#e@hfp%EGnO4;+^w=BJOsf7?kYcWB0nc; z*%5M8)O8xgA#hXF4-acNg{NVrt&7r}+AqZfZ^9Diw??!QUnEd1;umVqc`K0_SpynzbeM050C->_v2k>sTy z0}H(K(*c2(%U7{A2kuf$SCuTI#V;ez^-0Iw$^k!xoYnlLW$>5A&Ew}hjU&1(htlDl z6w3CmW=|(bPvR(2ktWd>L=na3vk*Uo~%x7K3wgk zceak6+`f%>lI8ZZLXR-l*+wm0xhcl$xB3@p620!ATTI*GxJJ~yI|*y+@59=#!ZioG zA<>943S)Yo`1%C6`;A z%T(4|&reWVmB(e|rbJhv%8*u8f^Xc4*6rw*Sm-#Rg5xM#EJ0i9HqLF6k9KNTp}(o8 z%>R?$<@HZWO=XJ@aM>FhGrE$idn$C{5oTP`)vc#@9xgX>NbLpX@S-K3d8019oxP#r zGoNn8I&<**rR`useE2e!c5`~0&90V@w+PQDzguFm+lk3e?tCq^*2|!xZ@Jm}yNe6) z9Nxejd26V!!g#Mhc$p$WkFAMYIKc!z5F2bz{Pu=+Z|<}7Y9n!zD-8BBAQn!c zaAds!US}WjO)@M<*H|I?3%qi{U;StWABV9GsWnI#7Tm)16uY!uhgDwG@HhtKyDU}X z(ika8QBIrqyzq`o{34Y_y9DbbWEQ%WIcKxE*F@C+@aiM#6K5My|7R~zV;gw+h?)WO?^UR9p-=_QWu^u*|lBY;{8`#t&osa6i6Q zHaZ~TzV(7!3-uMQ@whI3OjoE!s1bH6fa}P~gQG`ZpUMyEqRKNY=Ct7f?(2^=ui%R4Tvib%!j5XS>OUyKd%msJUy|q9oL;Va;+JD<$`g=Oy^gwjd_Tq zPhC=RE{L7tW;2@u_HO-Ed0E~&AQ#E#~38KiH4f&c1woUxYqk0AxBg)Om zH*{sl%}!zImqy=tGzCL$v3$xrb0RWgyAU$RJZ@?}FJ%E7ld$wU`0m28@p=f-VMgdK zYy1tF)*t=%U1`sUVJQf`^x&&%(tJ(c7$7042L4>mFwg%Vt?>%h=CYaM<7B-p#T5DyMEgdT;zP|8Y__pZevtA~ z8ojpy_U)Il&27c?t;b~=y_S;VaY+l=uJ0g1w^y|32Y;00sF!=p@nRS3-A`qDy-j6? ze>(c$)LdMUUA1fgB;~9yu-_dyf>W*XLR!YaZpkLRE+zW12`uA~(t7XhkIWvpDl~bT zFw8xK9IsQyh@jAhU@A1oxDx7w9A|}iMsd4#Gm`t3 zUm&Ys_qP1gG8~59aA-|;=^4y4&?0*lNWkYuA9ya!UXvAk6dt6R(Yv|dS^SNL3xW!Z z0zqXq4|X=f{&(NY<0=<=@Fy>#GbJ9d)GJQ5l+S)q^z3I+8ecO~|5bH|tUzcE=&u8W z%pa-DY}ej|&*Bm?pPm?(pNXbW%y4IKqUQqs_5rf&NAq24^xRg>GZQyMik;{(cAZ6R zH;dint??3`-%_6A6&yjPbXOLzcW95fs!qPGgjfR}O)C0UUn1&&s3dmo>H_u&N+mZ3 z=SVHaA|X55wKRDbf&y<=vNU~AiF2P8;Gv|Ut;V%rxK8Aw%!IVF(!g3Y!5V&ho1y}3 zqQCo2iXA6J%4e%7u;Y;9qAPj|Xkyc`-1UvFw7w1WF2=}laudBR3;i5C3vw)MHZW_^ zcsbpLEnw@bQnLTy*(TZF_j`y4z3TdWI5|jAM|c>bZ7`rTd8 znH6!3Sf#cjN}Oda)WI z$vesi`%-A+p15Ik@$jNliP$$Bv5z2tTE(T9b4%!~T)gBoCqf3zT3$~j_a;q>cb z7nchDrTZjG5JD2~otGxi!hpkYFW=_&FHeG9!Dr_Y%|{lV?~}tR$AUs$d>;T+2a<+c z^DkuZ(|A}nUAyFfrz{J?v40y}Dihz%^8hFuKl1_n#|Pb^<;cfa$+^t0mXCRvKTY`n zSn`*X*CBsAl5+8N5Dn&E#|r;Ct|bl@2<8hKV~tR7LQhtnrqLU6 zsN&$dNfob_+Raz?!VgRvBQGV1HYcDRlJDzXX05o)WO7r;tF&nEC^NGgYO~j&2jk;5 zNOd=~m9#Qtm0?yRt4tSlwfeSdiGgdtNtW$W(+tE_T1IuRX?7cwZxCQn>=+f($6MFr zCL6~+jHks1$EXEDm%nO1WS_*4pUbEQ`ZN%@4k4dgO!mxLjRj0=v?$q=QMW_pN{vvy ze~u3tur?Las*TT6Eb?^z#_^@7E*Pi1<-J3FPaVqhXhDwIpJWq?1b-)Vgy7E%I&HRupQ=j$KT)niw$Lr2zQPX(5|wwWh|Y!?jd{w* z4v?yBXkX^0lqP?5@|E;}R3~4ASHFsXBxt+q3y>dCaqfmX2ynG_VjRS|?po`={wTy0 z^3iW7Ha$SoSG;Q$VFEl0LFL#8*zbKwhkvN+*atqyzDxpcm zyfCtzrX=QtrX=R&HKE&Pk#~ChJ2kQbreUYTTo_qkq^Cl~#6XC8{;yS-i$&Mz4J=a3 zT-IXd2#jSK@c$AD_533G%WGKQlE%0hFiGrJJ2@zrus=|>~%ELZQ zFpuB!it(@uqKA(rh^h*2;mvmTyl|Lgv|@4LeHrIiPR9g-pGe;=_*BCiM5n+y_vggwXVQw*o%B_2(uE#eI%^b zv5qO%nFL;e)v(XCS-xRn*zQCw&ng}TKa7t{Ngl^0{vB9ZLHriu0v^>2!(Kio^yMAN^LM1A6wBkF&6aYX&d z=@IppdWqV*jbC+~`u}6^T;Q~-%Kg9J%Upl~HZaJ@jJjT~Gsp-60uCtiav4BS0Z~y= zK~P{o;T2T$Sdv;*O;hZ!<~9p&xrc&eIx2`m&NbbDN%o> zOw_M2QNM;e^$&YS)SufoqJBT&Y+n5KNF&`vX(@}}e=YI*w*4n+|4Pd`b)-}K<@n1w z^~YXFzE(Q*H+x3ZpWQd2{xTjj8Cix#IjFA*QDZOak)e!!C5AF)-4jC@gY?8uMz<0} zS@N%MDBIOdqMqB?P?pDNiip~B6#vGCG65lZLm6hgI71mL?saO~#u>_J>kVZd*M(1d z4?|ggIU=GK7;q;;*#l3#W<>p)ANI)l{iC1kllA-iCVnq|Z4G6-f-+IZS-)TDCQ-*( zziSjdaR3u_-Wd=Pb=qWf)Ty8JN3(DqVCn5 zx~D|_jjF^yDOocGN9+_DmS_p&U?xJWCi|6uL`|}=tY#RQn)=-bw{;)Y>aBKtkI$6C zqnOs(Uol-@S6movK}~W4bNMp81FTFhv7m#G&lHdoECo}2?!JN)tAxt_4AXrh-0_4V zC}^w#LK@MZ3nT1t;7Pz9*L{g5JB&eS=SbV6MrVeszY)ZJj_`E?IAdTW^E0E}NN|%9 zM14|sJ4Y~BqfY>R_(NbRHDxozd0u@JKl5>(mH>*!5Wtdj_R1ai3W40hK21uzS-qM` z^gF`$njlbOs)G2m(Vr+WlR1H%=8nt}?a6P;kIE4rHpxvnK7vp?${^HuhG|-f|0Ur` zEeZ5=N9Rbj)IAZKIHjsK`yf}TD^sS^^PN+?6@59ntgptHPt-GV&V+A{_gns1b-b5 z9-6?CPV`_&%Su-7Bvx;E_603TJ}fi8dSEO?s~1IS7FX|7R&Ryx1$HTZeI=(|v6N^Vd&LDd%v$|Emq4&{bBM5O z-Fe4n)-n5h8BJeAa|vN!2@3-QDru8?oX_9q=ZM4P_hv`!-W<;U3*454eN+{VJgk-cYNq>?r4gSv<%xj1{5mgEw5k-OMk5FJ&$Rif->Ijd*Of8ICAZQ9NF>I7N zen!A34K%QLZqjnI)1m7Q*yD-t%QJj(?S4UzdyLY96pN51_!CSm9wQ5R^Ro^gJW-}! ze$EoOtBC_8u8xrI4uPQ42?Pa@sB<9bMgl<`fk1zMA zYDz@qAr42`B1<}7jzCf2S20^<+7kP%P#vp2U=?lzrm~(s76?v0XZER5z++`-D;XQ; zI?gLko1ha)`Vuc{x!B~xGT!=pGWH$(DIg#s8+iT&e6NB|G3AenVHUTdwJe5*>y%3U zvf*Dq0Qm)K%Z)n3i>KWzg^sW|%GGbx9Dz?kOf15*2}xzHIu>zKbc)(x3SC+Nb6KE| zl{u}2Zmh^kW7ZL+l88b}6&$ifAU~G8;mZ(!;wBzr5c75LnM8yOsc9Pq4KYVx(Fys5iA5#PfKm# z@z3PvnFd)7!=c+M{`LW=WKL2yJp9p(DLt|RT>{D>*lSqBPlcq?|6JOi3nrtZf|!Mx zXsy=6jMlSOk!cJl9{`hGyTU)eQkC4AkKDelvg7ugRNqQ~2llAx6Zox|xA&K8`cxC8 zov-Pmfd*%vRibl+8{(_^gjU7N4c0p}jG>FUMpnbK%CkL)-`bqrF!pAljsb3@QUU03 zjB<$^PMnTCdObgdZK%OZg19+FPP1<7pj{`9&?l2&(2PQHsv%ZiAv61Q0&IlpjHNOw zgnJ~^Im+VSXHS4<2Kg8t+KhF{2#H)@_N4+mZDPbGUonJGZm@zaUfd^D$&>;%WA9kP$?OEE&UG4oHIG^9j#rrmyA0>5`Z+BEE?k(|ugn!8tJ5R;c%xgAM{8Y9+vTdiP1{pwdx}9J>Qq#K z`wH+AB81k{Xe+!TwJoXF$EgUPd`E)aUNP(14uOEUGns8-yRUF(kwdQcQHTQLQCDYq zCd*z{y&gcysnDf73BHpzCHPP*`n#VqqFKw=26h5ucrM{yBrvyS#Ev&WFzx&U^U!Jo z5c%EiHq{e5s;KYt;bIrC^>21t+V-~fC&RBQxCAOKhIWgD?@)G?ftIC|AJSREws<~C z*hm0+yOmLG8Q0*WhIk_+x z!~&oV0#~E2-Ga(hDAS@uMPfx#$KI6|qJgJqGsSF2ZZ_P?YBpz(PpI0(4NCGdIMd)7 zbmv3d!R`><2N^}MWrynIVXUTO)!2AJ3ZxX!2>t-2Aj4Lh8SO^7(QT334e~c~cO-W< zBD86o8f0(fSS5^RK_aNnSL9Aa;Ep!d!jR;hGXtvEJ^x>a7&@gTxLnK)h$8X^{~WXcG=_G*R)KGmmCa_Qd+~7nDn)?R4L$T zRSGD82^1;?6e?%>N DAc;kEyd1@FMyzu^eL*Hu80abBTngzz;nlteKGLTId|K{-7I73 ze4V<$U7((u$)DOxPi}ANQti+xZ7sCc;}dTIpV)2Fn|uSp`y1G(EHBI=Qw!w+sFiye zK%^rDLb|J?EX@{9@ODkMrkELtIGr!~VIs9AqO_^1@cLV%B_mB+El!oV?2Fu9nkt!n z@R6?xTNt!K0<~{`M@qy%4%Wk+DuC2L()p5mQMmR8-k##)7|Q9PR&Wn(nO=4LEsAx* z038O*@a>m*;k`bJd2MiDin|77NxDPZAl3xL8lWX7*mw_fBXW?cgK|gK7a>KM^k{uB zV;G!}Y%s)CuuI=&6KA4LmNRU!TG`88qcWuQ7RIYv5ouWa>;$?Mk|2-N85PR27c#+i z9WTkhk&#J!T94FdB5{O3tno_W_QCC#9$tfBsyc^9M-DkiT6-)TEciohD9I7JKF`?d zj&ZFysP$OLI$Iy5JkEwn=lK1zjm?w2Q{Ip!dCWw51!>qM_vu%}fmke4+WrR#gXIveA_Z-Wr za!_pAQ|uZ7rq_n=vw9xqDqpDx+9v^aJ)>@*t(R1F2B=_t^_$o`H;HhWMwq!$(-3Ys zDiSy@=kwS3MyZ+28gmPOLyb8MG8blTLASEKUPvP21K%()nm$)0SYy(tjG|4YCaqC} zT}rY0 zc4krZ+sYJOrs!U#=nwd^T>DAUw{(Z1|5&EzJVn2?OwnbE?vkRvRF$|yuBfCC1v|le z1B+M7hK}fsy;ysF1(4%JY~;;fuDUJL2QjZNvYYor_3=RceO*7-za9xYEf7Gg%<4Rl z&Ji35ay5wjZJ8l-HaHRnQ1N=h+pk409#-#VY6<;VrWwbKUBf*Hi7JTHcnG0(#Ogy3 ztEo{>U0}%$)!4Z>)MU_tGyDeu8#mN~%t-EGW@nH{yz;C6y3y#rhaqD-1Z*_pHU#Vh z0(PTo$_bLsyI1fQ9L_C3uOFgh`Ghw+dk{As!9;C=w4r1)2SYGu1qj@9Qn@Q(_UX5k z_sAhuAL%ByVacL?kE3W$4*MJP@c(mDrHig&tODa0vX3aeXrt){0myZEf+ci z)kCm8&Mj)gOcjCZF_sYZtYn9vJD1ewQS_wiVgm*Sq%8vMJlUO+6I`da4;WgHZi9Wm zKtll`)h8wMJ|Eb0|JO`^z)Y-9<+N-C=HZgsZf$!3(PpV=X69hjem^|puJl8!X28`_ zmH8G7J=>i_E2bcOz#1;DF{n{ZfdT}&=~_nH!$hTIMDRRwnRfeH+Wk#8(tjiGt?*2X z{SXEyBC7*;nd@b5TG>ro(UvLeBb3yM-Z*cieNdIBped)_g{CQ^CgFkiBH_W(zpBIfBOBd6w8QmvseGqMCf}j{-;gYu&qpeHG1@Y0d$`3fJ8De zqpxfaB$D&7X6G^PC;As6w-qZpmgX3&aYvi43AY&d7rez)d5;r7^kM=ynJBP{+X{3} ze9hzQUg~hp&A~6kxJ=3z z40VFwC6V@yV=aN|4mPl!ry2*h!@-?as0iE9H2u=+lcsl-X&M7inWp1u`g6TY)9L(fIDgl zhm=H?MEL%zlHMcbk>8P^Jt9e^3Mlu@KKu2@j}riYLUn}gan7Fc2#9mOb3g1L->tHQo7cFJkFtx{kl?) z=kXjIa+q1)$0Mm%Mge0PqQ%1Nj>(MX3`p8j)N2aN8Dw!5KlmiKjq# ztYgEjbmJm9ur6~rv(Hzpcg^#V&9z12&B|$aHu2sMexy6HIneH0=_a)VGjy^sGdX+n zH(2T^tp8+?vR`GXkD|d*;kSNj&z#0APQw8ARyE>!rH}oXfy7?v-CIZF@|sF5+Gl@c z?Q7VUX)l*^rK9!}e`%9$)k#&tK6V~6l02?*S9NY&_|St%@WxbGC*kqNY+AFk*J)aF zTvnof_~tKrEPnz>^hNRTqgbhV{G6wEMs28_yJ+4TCEB`elx5k6 z)#W5C?D)g%OC?&w@78SAyb9C=z)DW8kKoBxMjIh#ia1;8BhJn$ysB1=>6NNm zzaB!l>G1?AK&4wH$;s}yI{T#Vc@7i76&AjQX|8dV&A|-J>y>V8OEA|rU!aq7k@)Gg zfL(eG!6fH`7I-}uG+d+X^M11HII~V+MC*($*7GO9Bch89{KRR7y2~g?pgN4gFi%jL zufWqT@dKh~a*^XKGK_C6)Wq#5w;oFP_;u9I()l6 z5FQwTu5UZcpHQ}4ynabXK<5yKE`-y+$FbJ2-U_Rg> zG*m1KeF`2f;6bIUQ_ACaA4i024r+)&VODZe5#6~0h#*lt=GPiaTQ8)m?Zs-_#3VY# zn+OKf!5JcLN%DPEEkhZw#0>Ji)SCRmIM3o@B*CYM_@m~i!{>Za4U=`_Ow)hQrB zb+=31R3GbNVzxO#s3pz-Ewsj?4YVM{@7&Drp06i6g^=2}jRP{s>+vp|lT*9DinsM+ zj5&-kCjt*7+T_pAOPl9>8|T|B0!-4j&igL`V4~)r0V+;-O+J@d43k-m#_aP2kEh@9 zs#Mni4d*LC%TpHqhBvj86*GK%i#O4zoLCMKE6zk}#9BN&CwtFwh|G<`FQ9w^(@fbn z93q_pDPJpdIW!(c+MGdK$=qsN4D8Y=%B`#I8=!ajhxK?3Ub#20LFoA$o7);B?&puu zKD6ttUzO565-Iypeas3l6#?f<#;oJPJl-H=x*@#dGl=P;rgo@=O5kpzAr6Kg{d9_T zH$PcRQ16>uz`9xSjg|l4t2>H{Q?HDtfKL4OLjpP_cN6ShMO6jsVn& zzLTDUTQLpQz8J<|2pkHdVJ&JSAXJ6S6ujx+k{Sp-?Q7vG^#~b?Yoq4RA~=c)b-+<_ z8OP`CAQwKH>Wqc8<*WXHeP&hWYyk0W3x?TP42HQFtsg{EAa50CR}5f7+Xt33DnZ8z z7sJ&QSc(K8_|XbC(aO-N@MIq7EHjyLrbu8A+psztb$oME`8m}B){qp4OfwrnHSB|8 z8hH)ALK-|pIhd@K&yXEc;G@V0D$OC0;btBATX1LmNid9d?_*sfI{dN73A0@5LgGeM z-WTa02kRg%rX{!~>V{i5i3Z>3=59kmnCT1sTC7)t!~+`7&ui`glKPS`lB&Qqll*3O z!SG)`n8Y+F7&9W+2u^1fC%{{(kpwCtmpdW=acdqXPY<(9{c8{fDx}Qcq1l`i)o9^w z;$D+*m`1mJ8ysetufJhIF1u){S8qUPQ?~eg zf{?w_S~vw9v=h9k#j`ySjeIs&MOB5M(sRPw?l#n3qG%#uQ;7WRf&E^VY91BXA?jn# zxH4XbKIFMDl!)jX75+9#6fFYP*AERhaDcEK%^+FP>L_ot?8}-)0KY!ktjz=biW14= zV3|XNbqq^`T*8;rf*{395PY?LbFW5-5m4`q5aSR?uofBv@^@jTv?8XLnpGE5J+xU5 zb@kydDM+N5HHa%UNDxg>5cG)$2{_AUptVOo{t#hii1QF!BsdP%f;-0{4bj=%NBDy( zBGx&Q3!)oPL#=zZFTJ%nm>@eow#a&s4U zh?4OOss9o$!<&?_U#BN;K$c(V8a6_+3nADBEN#H^FO1N?vEHjX&WR-}u!I>b&EBCI zEF)M(aNp4kWUp(`n2k{GNty`qyE|!NXG?$aTUo)ka$5FYjdeQax6|C|g|UcSGjeG3 zv8R0Xg*8~o49?6xs$NPip;l(TS95UG-V#mxb0QQ#4ifMoRAY%!qqH}IJJ`UM*TiC+ z?}B`Ez9nB03(nov(a1{&3Z+3n(5Ku^WU5K*Q1?a}co9Jo`%jeUVWdxm>^&rQ_VWi4 zP_wD_Ey4W>=42*!`>hR~TDSz4ID*`;l-tbj$N zwLPo;9CE!I){a~cCOG`%;PByB62!9w+JV)vo}cyVm@uEjK)3}(JX(TB64?>(2$U1m z)ly2BemgjY62S;>%d}-iFhi?KO(IzFL6fa+)I6Rw5&rbWB>(-{_Y&y3qq+HL1b+#M zo$T^sX!N-+n`dGz+#v~f7zb;xVp*=a&1?6(2p_0Q7&%#Aj=EWHQayI|$$n+BsS=?c z^1uBZyCl;mMEv0|q{o|q-7&nG*ZGuGO^%>dX>w*}w{#9k^~Y$E$I{_gAG6A-R@bU; zDGNu)Y9BIr**r$mQiNa0Hjijud`auQbU!uuRDuPbZz&9+qu-A)3}+k>e?`uq#!q#p)n`sO4s|+oisp2NWapLK zbtSQJP+`HiekR)Y89q>+W~9=LPdD!Udvhs!(go=))Au)yD+gy;T6kmvQSk=u;KS)e;$Ihu_xJIq*L5Uu9xWp6E4gF%>z|}Nc}uY5 zyQpFop1k$q`#?&48QE*$x`1^~n>^pSRGf`mBX=rvY3y|&qBc(Q_6(Xi-f=+u!%x2_ zNwDT1P7kt}a;fEhQxBhjoSOsUPZ1{%5|IsK=N6v7ejm(6Z}qP0-0-$cJp|Xlybs}c zsH-=!l+>)ya95;23C&C*qbSx9+|sM!@}(&$Z8T>@iEfO}5P_=PgG~gJN4~d4bt_T9 zf%QL}ZsX}jgegG&0{TC~9ieXLyTkLox775!?`;XQGlyAAaHW*YiCO1;Wl;rp@cea) z5*>V^g_CQ*%}Cfn1Lg%xqnlB!Y2(t(Thy(DR5`^Kt!`V`qm}FgU8a_x(^1U;{AYhdVvr!#(zK%51JSY7A7loV8 z1@o0f4>wO?v_*|wqW1zOZZ5KRHtXYbW|3Q@SzhQCtD8}031F~8Sudnz;YI5N z7_5hLc`w#_{k1-G5z{q8iack54^L-g6#9I*yOS(+M7O_~U0#M1)^-JLSEz0WZBM7| z=@tPSrEIC~C2aD-2!^V%cRu$O)w|xM!&#WTw2@O9#Ii>GqOD@MRVYTF>x1UoEw9ywoP#|_i-)j_b0&}%-bMcQsXv$6fuB3g8Y#165G z?GW#Fy$Y;n^x{j6@+)OX8$qv;oEhmwZO)8#qt)wD;JvLd>B5jg2R*3LL7r(Ja*GBlw%r8kD|u&FH=idn9L$^rXreHdqaE zIoquTqK8De(9PV~C77X&rKF0A9MzwH1CqC;KMBs8ZZjD>60FJEI+nYY_^3IP^*-u1 zB2TMSho;;}EO%P5+-UNAtwxj)o_DrNJE+%o+pvOjgAQBeT+HFeh0hvnKbvGB^+V%y z*bR@zMn=UAzL5p&g#H`ZV>gU!+q`@n&>eR}ce=O=-)(h?16t`<;a)0koTZTMvzd<1 z@Q@#RwYJf7ICYM)Jl5zGVdGl&9SOJE2fOj9>@|R#p2aOMiXd0dHznM9XW3fJYLo71 z<}eEzm(_Z+?uqCUMULwf zVp+;E#rA|^pDR=B--2R$SslK4spQ(%yE^>GmtQk=_>mX(SslKkx7FcSKYM>s9e%p3 z4tI8uz3$cF-QVmDb@;04#HsRVB~?GMREW;*2)*1a$4y$kthus3*W^`VvqsD2WkzYm zm}2Xe#R1DV;Q=z&_TeuS;^qFDoQ7PJS%8+Ski#n#iHZg-pL-uyxe@7`LYMOR+sRG- z(CAO1ZOT4bqr-Sv%;aE_nA~4>bxu0z*s{W7EmJ(YBpLFwxB0)e`@b&te<4KK#j6v@ z^aEA52XmWggVq)G&yFaYvICov?&FAQgqAAXH94aSR*^Fu+k7pDAsA+}wcZwI7!P@? z8{P~V=!<4IO#8##!9KVqEn^#A4MwZ;s)4MG`m@#t#ZFB=tm$B{H**jv;h2M@?OQNB z#vRoCjacl{?y#xJUDk6~!YdHwv#QNxxQ1ds!j14+gt??@GX)1c+JE?68p*akMu*5C zCsQj)sq#K?a%QH{Y&?yqHam9Q8(9QoHB0c`xaO4&b8Mk>m}QpJ4VlAz^T>XOegSw> z8jo(yG9F&mTunQtpFA;TU(-3 zc%z-c%hZ-=7FgrcC=Pheq&Qdw>|1T+>bxp%4l#zU_3DKAx6-oI-9al^;P2EcFeTp# z0f7y%(HrRUk-0ZZ^Kfp#MihS|8!7$^rT8agldI85RsEYG?;5%X_WCv|1SL@TPjpLi zii-87ds*QEi;R_#(1wy;Z=PngSKt*9A;%^P2~-weYW zzn$Wt40T253})!v?522AcpcU@lFAgP=1RlVIHNE%ZoGwE)3Clm3~y5`FpZ`q#x^`y zSi;pb=Vo}QFI?C(orP)7rIt6SI<_>y1)`CWDXX+B-~tcU#rSClFeg#vcODZ5y0moPC4J*6zJ$4jzMK*JNe zglpKSSFmz<+qYJ31=iK&-nv?cA)G?i?L?(AR&f{9si>^pr9`Sm)sIi7tqkF6E4fwf zER5ZpI?J75E#v`Lrg^Dh~~c@eKUeSWM=pHNwuK7DXWnLZs6Ag?F-ytz!D zW%^_rF4O1hQ@*{vOrK@?EYs)fR{y-EOrK@?EYs)fmOlTrOrK@?EYs)fmOejJrq42c zmg)0#OP~KuHe#r$=5ERM&?LZ(v6INo!n=M(Cs1VW>72|Y!!u3-GNKG-A#s6|O15!a{0uK<0Lk@sV zL3&gupoyp?JKhi-ud^XZj2MVlP0974)u_OuN`VTO48OG7YPyD*A=$nee5<4c*5Xkm zO`#1u`vlnu0cd;*b_B~lhXa*bGp=5#_oM|I^27)3#5H+Hb~I_hcl;MW^J&3PTrVJS zf%3Ubh8z3fBKc8AG8Lc*_Qd4d;6|G7R>_(wHc%n=tW)N!%Z$zTAtQJ!DMpRN5Rv%X zM$8Zu;Fw!8|Bi5nyCZTWBnXOcLOs6HiP8M};xG-|kv@TrmXjEkEZ!-+jmi83wPT8# zg0Iw)^QlNxLqt(YcK&pGQFu(lKi$YuH4)CW(H)Ja7%-P&?TYLa{HBHMU+*{7o12B- zR8TzffL7x(Wqq==i=3vdLeXn+~nq%Gnrea96sU-`G{LdX|ue1 z0_K?L0?saISBkH4@|B=_qvpSe-(cn~CT2+WD)ga&&Xb@2a$L+O__|X{(vPakP^4jx z>N0wOMvIO&W0sBi7o8r2pH9rO8Kbm>&`1 zX2iOd0G=f*pMx3ZU_YW|`f9|%{j%TFbJv3h3)%*AtOvqNbM(oCzU(6fA1&)UnSofH zYYF;m#QvEKBWC=FBltN&BZmF5PiVxE*?uqqjY#=78?h7_z>W1Iri23E8kOYChy$Sh zz%}_1$MJKVMjX&D`wNYDIEg*uZN$UfcpK3(1|kW?7$*1;g~UlVzw)ISaiC`oe#A+P z2;NsvQ`0Z|8;v-bbrjxLlJvqUHsVpd83GQiNTi$QN30-;2@H>xfEUypghW?Rs>YAl z!p|0s*tcKyIgL1jb)0D|H643EdhFR)Iv{*!qNT&3w`W{cp z_J@&Zjz9z3h$l0mfdzSVVEcOdkRe4qoR*+gBi6!K0(Y7p@pOKkt`U>{_-w3PRZ9S< zOmlFMXCc1XnKV07&0rRNJwIs)K%!|5hWfli-)t4lR?)0q)_IO%Q5fA|1)qML$ks}D zF@eoIRIjjtR~}=`US$P4HOnEaSFf>xFKNVjh@#h6!QC2hBrmJiSiv_nVz07-hc)74 zm`ks*f-5!R49Kk4Sixf&aSnTbud#xkX+&RqR^NCpu!3J}#FKdHzYA9INLBKjD+YB@ zf(jhtnR_M;KSwIB!r-fkXYX##aI!Vo>J;$kyOKPhtbvJMb{vw05i5g$7{{T==R>GD z#RQ5O13E+1DG6=E-9ZBCAn3ixFi=RKo|d{<@C5bQi9Ub8M?cn+TC8y`F`zv|EV{xY zGcKc1Mz})-%44I@=3MT5E--c$$3GFG^|Op>%8?TQrcWDUdIH#d;{G{~b7S4OT;^~m zpq|62BBuw;|IdxL$j)ZvlXlJ~p2)7;DVtamn&Kw<`i_L_O+>IuyYmF;M{PM6IeEAd zq?TeHr)$_EAhu2cx~D;Ak{CdW7+ zCMazNS^pYar|pRBz~CtYS3rTJ99Th0X$}QEZcar7DYudny;W_i{dR8!DffcMZ4sj= z7!-mvA;2&2Sq!hjcszA6Gny@Zb@;)r3M_G#@C5Sd(c0f{s!FcDqE1Ae%I+wt@8DDb zzUy`MD&0yd1e!Y_J))cdqUpo+J_d@f>*sQvzd+U$Nd#G?93@;$JIZ)}T|bZO{6%?4 zeWIG5)n8W*QK;)uK*%UkvB-70URQ{4_OZz8xjxueg5?|2N)BcGp;l&2{Wox(zo-D4 zk9Dr&IzRz109}{r%wNOZa3A1ofv<*Qq|v6s26hGT0RX;=e1N~8eG0>BfKAZ8g)&b> zf2VCH1)jF(@c{FxZ5~OVRT!AK)y&Fe}Nm)0(ij%enrNq?crQK+#`B{ zKmdZ5fCwU#kj-fF2I^6l4}V5(xA14-?MaR2AfN%p-Qp(YLz$;&TvO+ZKm)X$Vj!Jr zn*&{duU6mO(Q4bmRWx?^gTVKs#&d`eLN0VO?OT=>u6X7OeXXtZJeE(-aDKSZigr26 zM=noCatCz}NCJ&KoA$FUFj}X8@6sR_xvY;|o(S>IG8h82HMQQyKm+}OO0TvTyEc!# z0SYf|k0UimZ5J~xM5!2PPNCbY?IrBd!rsU_wE9`TW-M*@(CXE8J6gQ~Nz_52vpk8? zwnVuvlIW$7XcX#v8f~TNYYuy@8G9KdD$ocP=q%a-NN~2=qW4FTdO8JCm*((K!2AFy z5wKCLVKKq%@&vl-ii6_`R488&fv(XQoe5L~91*AyaAyJ)0Y?OC1l*ZGMZgh(8Uc4E zP!VuMphm!*2~-3e5vUQcAaY9yR0JFmsFD>x17bxYgV#P0=tc-sRo8j)SOVRIifzQa z4+MHX1gd0&tOHYvSJxGRUI2j_G4BI`ZiYaOn1uwwxLpzG76{bx683>Wa}cPA*%Ro6 zEGt{jo&>s;uhI6IeIU?n5UBPUmNu3^FM>cV4PhS$^kN9qfOPhOKrewnjhOd=K(|An z5h_e9fnExMMp!Vh1bP_+Dq^0UgjNHi)q(x~eP4D^B!w<_P_B2mgL1vg9hB=`?x0-n zatGylmpdre_uN4_xz9T&ZTEQxrR_fNptRlR9hA2Fyo1tqpLbB&?(+^x+maoWzY063 zFt!RiXfnTpBFe=PD1-PNl(umMN?X5!(l(AjY3p}T6DPagL22uEP};^3C~f@?O4|@2 zx2qkLwtfetZQKq@Tfc+S_8Mhc7dO!|jf#86Nx3XwnMT3EV;#yg`q!t?w{@h^kCgY( zGL4q^(bv~LdNpRH?Ij!O*Qyd5Jnqf29Sfr3`l-OMR3WhB0{&|)j*%+P0$fwa0WciQ z`{Do1$Bbm4HjT0jH)i@^9qo(KE8`JplJ!2i!-4b61wqybtHz9kY7JbC!a7?0VU!tP zL9d~INOKvGsG~~Bmb_Ute{_RA=E*1np8<7dt{bAHe6t|81dC+;8mfeRaN!M-Qorl4 zE7#>PB2mI+VP-ftsmFp;pTktt;Qfe1dbmRxlg~V|7{jq*Jq~M3KFc4D`B8PXfrA5a z2hX2>^b995hKeINoDuwmMR~Csp{alizbhkrnUO8QN!i0Pqft{w=fJ3BCRTtohx0eB zY7FCL$!kK?8s|p2aobQz!Fs-k*bmSsF)cT5lgY?6Uu5AQ6Bd9+nZSY!PK+R*C;6E( z=wu#sat_;?4a#b8rDmI=;sN4r_uFbiQAx(KsS9af=Z-Rx~jmv^%-!YY(? za~EVvowj<1IBw;}^iwjEuGL2s(vX3~3L}ZSE&+BSDk-)EYw%B5K?cgZa0Vo2!$KPG zO}i@ZQt4f|+W?T6g?0C61CY_gt-MRl+jcL+9+XzV$9VhF#(PLu(3a?K{@QH-JI}&; zJIbIe)t%z3?(`h?pi|u$7y1l%x-<9a8y@egyHH_-G0qYUEFiFqv5L2`DhG%qW8_g^ z(Ky#!i0+8PqVNFbckr*vO#Vg8AX48I8MGcnVm*km9M;Jg46PQSEoJrX4KjY|ACZh7 zf9jGV89%`vdnIEY{qK#8neyw6jG0oIjQ{3jy!#)KjBo$MrA0E{$scy3<=QkjhRi;TZgmAvqZbOa&QKT`@P$-a-&{H%c0O}uUiep`c-R>}EF`(5J&?9%cn zw-Es$#L2!90QcT%CNW;fID>G<4$9$b9f;68xIQx^FD#qDHN@f(Y7x+eazF2DRj|b{ zqG}}1d+(~w;8vA0ydE)GHBj)(bN_8L!D~QE!)T16BdAUWn$#f(%2Y~f!&MVxGR$NI z|3(sQF*27K1t`V{H>w`-ceIZl&UbVXHq8q3eIs2qxdQ(&aY#&`D3 z?n)vY-`W@HIKpuckdK>ul?<9zBPchPfJvzy!vr34BF!UzDrXRs^-z;Rbf4@WDpiN2 zH7)ms0y<1;wwEy7i_PX;MLwolO8C@w@%>9SozBESU_>xJ8iy(sklHdcdDdeX;8>2c z@Yc-AAq*4m=vwPD*<`EBvhF*Rls$Sn>0uV}lw!Oq1UAgY#WLHM1F0s!;l{qD5f1Z- zaNyw$!wZB9{*Q;1SnO_=i8g?4Mz&g5UkF$a#ahWWRu<(}!oSEeR+>mxDQH=UP; zLsq3I1>?EcXfYAOR{m`bFww$w-{j8EDaJ&f9jb=Ew3$m=Kyu%b!_1%aC{z8h5T@OQ z?U?VkN}ztUDtT7EW+`DHdy?>ugeR?3E5t)ygsY&i0zXYXE>dr0cr&H!coLCsOt~|o zQI$N?JVR)inkX&7TdjL7G;Og`I9c_|hPWY7AP$A(YqH*iWuAdLl`;hq83R&P)hjMEW>&K%t979ox{pd6btui?Lnibvl%JUdBbdyULK?&*DjGlg ztt6;%35Xk5)m&yeR65<86Y5O+Wd($E#z7zW(E#_X#E%g$nn4{F{&Kv z*7%jM=qlm=a$yO|UV<1KTZvYFTId9W&1T>Zp%Yq)dFaaEs`3d4%(aas%`JhnMIKXR zLKUR-+<89K02^SRR(aBM-2#Gi>>XItvzF4oRf?keA+)3OFjB0^p;$~{G9fh zb31VrjHm*^Clc0UBU+S{LEtLVZXFM>&Oggiel8VTnOVwJIMa!%SY=^e*A~x9T7tLR z+smP1rxgqR4tsklaF}+dS$Yo~rzP0#uU_iUUd|LPL|W+=OmRD0;0&VEY>Jj*5q&?Z zv`UCHe_64Vv*@lE4R^Mvnuy0->DlpYqUaEp?s+I=T?E6$%XvmHyu9@-+ z7T27SLn;ye+Xs!z$5Y-cg*&Q7iHJlmQvspPyPW7hn14gip@-y%u)`2t6OOlQo=6l9!hkZ%d$uZh|Y8)-uPqs94W`0cZcoS!gm%jMQY657Nlpq#1`lz8sM|t=iwD){<_l-((lw#1vHtp;?D0 zfx#ECXr7u}LBmMeUYRAawy0>MWv7*VOqwz0JILK>cT~PCz>2)p>!ZxeO`V#&m17gy z^(N%;O?QvRPLu zag&}rR~-vFc$+eoNhZ{@E^u?*g6KUgM~h4=UKGI`zf=LUnPwL#Tev7j=P{e3c+nC} zSlVt@TN9<*Rns7k*&M}-p2WCbE0@Z%MQu;!t|x=f3<@(>PQ~>U#fz?>?Fx_5Oxv8= z?op`F$BSD1O;c-0y~w(vs(u#gIo(!qi&fNEbF0y^&UWX7*Z&)Y(Uf#3!9um>>#p{$ zVydpuzo4d{r#j*5+&Zn*dbd`tDWq+vw5X0t+WtaS@@$VJP$6Gzr6ZtuBMNdA^~I}P zppU6a*02>E$Uk1mA>}Kgq~*;EAmS4K%0Ji=L4h@a;=Z+%X|S6 z2;Y05E-KfUgIvv3ay75#K#`P9zW)HW8X<2{4o@ z3shunzu2zq5Pzm0igg16}aBH)@fio~JrAy73my)eQND5MJ;y1{O(!$d}{aTCMu{yD*`ti!iF&KvC58P6A&%rRZn_6z=T+$YX6U}5@el)_7ubJ#_0NaTq9y#2~D%z`U> zxm=8Z2GFem8t~aCnAK=%8uJ1*T~E`6G+pQ`k#d1bq)K)Qd{xH{TqA0Ix~mdXYG;1! zB8L#q^BBuZp#KT90eYR{;ySa$Ez!UmNmz)06PD7{^yBI1$5nZ&o7a!kbQ4xLu{zyD z@CTFOGIozs_<0I6&pL=SJhAHx_yg*A0nFe6HC0i?$?lAHEODalDtD$Kvg-^AubOUl zD~U<>mX!nqKZf?J!bb;1pWbR-ra7inU9n0D3boSK|H_1W`xhSTOt|-Uhj8yw|G!AM zey9V1a39b*>=)rap%Kc2`*%aQ--{t!>|0yC<0+lpQR$`RjT!3wvg4BeH#PY*Td?-p zXLMwW-+8$<*WyQUx3NZ&#sQSA*igC4mY{@IAHiQHO);8BV1I=_38 zyoY`N2;>7R3k(KN_?`PzxNs-yH<8X0C01+QZXh-b31JemC3%mupd+c}g%B`>4gA(5 z+h?T}EpbyR<*kZ?mC;7Y4mr)Wgzx%53N(osoSuQaoKp7c%>x)uJ>Xm@7zz7)Y# zl|JQ;KCAd`;_KONH3fyW1iXwtypYhS=cx4>S|F*K{T=bvTCfnz_EJ89OZ~&0%g=Lh zKItLW(P5oc8qui@Zi5!$GMrME`8_mxx$QJ-pPGDCU(H5-Z)|5X-^3PP>CTU|s0;Xg zfoVZECfJ25-R5?DPFrv|1+LxYcy{TA7jnV-oN%sg3txH~UnX>W5vMO|$Denxq{L52 z6RwWD$sILeBtD3Gr7uQQQIr;4#ej5>NK#qF6l6Y1VRZR|g9tI`r>-N%^)0rVW-4G@9qD7=x zn%cZ91mu?an@wHL7XZ|mPU-yIp`J17QIa)A$htP<^+6oXrZUr}=#kQyOvhw?9%m#9 zyE&c%H_8K|jAqo)!c9r_%hqPb@VJ)0i^Qy`JqF-RqjGpnJKn-P$8m;C-AFawhEGYF zF>d5$*9;dp!i}{hY4mz96~diz`j14R)=EwBdaz~hW9-9{jXYo^9A=?Ni=v25!Y;`Wog6e&;TFhgN zd6JNs#}vNMHj@+iCg<~0f-;Y=kTE()$RdX=IGeVJbP@=|fm^Ia<+DxWlTNtfm8+W; zSJ<8N`B%E+PC_?7gPR-EpgNHh75r;*+sYZoUrBwYi{EXuSkv^5j;ZsH4_<_g~L&_479u3|Af<;ICr5`fHl4 z?s%U)!C%pA^~JK;N?-P0GFzp(VYZ^}KAWv*yU%7T+IDTWqCt1eR@e2e+3K%Iz)%0( z6Y%HD1e}N0`Pf`D)8T>`$fDw(^YuLS0VY_75 z)9vWS6;h1DtDZ|Cm0@{yRfVW6JLwRLQ(h?UhcsMcCslDfRjTr;`*g%%OvVM&S!;;| zGla7y4c96(%g!QN9K_j!4A=$@x6aN!0RSy$aRd=}DKC+oeOmZ6smNSRbk?DE_64OR zrBq~$;K~f5ugjH0zye064w8zWI>EKVdO-vEWSk)|g3 zGDaA6X^c^*!GTwU8Dl&u(9wit+86{{`of*#u^Fe_Ohc~G847o5 zj648sb|U_sz{0Dv9@EjEvcyB$7_<3_J$Q~;h*KRc#2RBhdh&eDV0MmZH3_*9L8cWMQrnE97cR-&|?mRDLWBS~SHd^#%`r9(wdjdC{8QDD4W_*YtGjx0xva}&2FRHthqppTWGMQ9hpBT)%FKf$u(D`ylT6v3KGTlvJnbR zW3MvR_BtFy8lob59@L7_3OzR4&pU<|Vw_qBk%B9Y=88R{2Jdc-(hd6;HQ~;`T>k+z z(u~s;l~vV!`t}Q?@}fiEP{os2CStoxSyFH@CVZz)_L@{?5SJ|avfV4VZjhN0YWhWe zZ)B3;qfe!>!_j;Lxru~^>c{tlxR1Gp!ziffBZY-9P0t3BWDKK)cyi4PVUAaxVSmf?_QLQ=6L2XL#w#nAH}zHa~m@wK;GLH9WS4 zGy#|iV;eLDp6<@7>@}6J5Aqj{eV{I%;1-1+uA}9N^dl&Hi41p3)odBfU<@a@CGdo$ ze)th^4G`xvylLGhGrakU(Uzws?_%~HW47TLr-V0sRf}I5KS`_eU=bGMDU9kfJVrIA zixHD07}e`YYP7J=ktoiA0IDrmcN9u<;LhPMkm#zgx23(kZLNs=OI3+YKD8JgR7%>A zY81Z_5P%WIZ$R{N2{&?p9A#?ZFp)*)s}sFrtpb7i#C#OB>z7kjv8%x;>f2V+)^dvt zl+GKfgn^!bmX#P0Lc;`d9G@A&DJ!v^D~ae(mM{dlQ7&8&h940-;WCGDNAvEQt!iFo1b>etB|;`D zF(^069wIX}ITypmXeKiHVxl;r9N}${o8>_)VC2X^rO1_t-a_4S$Bp+05*8a(_Kv&w z*(`UjYYu<$EUzY|5OoWchVtA5c5AXC6a-vTB)>_}93j%gEOS;N;C`znMmk-vOmTL) zMSv*q734|fa70-U5E`k$3(0~=KwTc{*`92cMa#6h*2d(m|1yUt48=XqZcN_JA9ENm zi_4M29K8HIhsG4ZYg$&S6^u2{&2{s_8y-zrC^W&(GD~u;j%!AIbhlo$nFXxl0y2t| z_II5(UdcGhnAJXqn5=XCH7c_R`}$&b>&4sH!tIR6@c6CXU{z?gBs+*5e2H6nu}D!J zF=xAFTk{#j(P$?F_?pig_RX+Xxl_01BbuXT7Nw!!Ae+z`Ji$ub{3|zNs5--)ne&9F zFbA$T$YjOFoq*g{xz#6P&lZNziuO& z_Ig?Huuy5t_Uyg-I5xU~PmE2QjEO%UD~GS7giZAJTepb!vjr;_*8L)kq^n?Ot`KSB z=`hrIVuq>W>lhry@vrmVGeHxm8lEb(D$ci%5vT4&KgmNnss&TVM zC02t<5)Ev})Ojdw#~8c9kH0&a-6c?fiYQ_OYHom3nbI_WJ@*gba zU(04ocQD^1gAAva56bd>B?uW~@}bPtQkhJ^ZVUnfG9DLFY=sHbZlpwSU?G+BFX?AA zffEEhBUd-kc9YtUrR`XABt@{022JM^b#5g5Ks}njl#ltFq>B zBzvgpJ8;8EbSqYMkSu+ax)m!r=oEXR?sfsfw!)Esjtf>GhgArmu8~2GRtkA1R7e)` z7+T1~gc+G_be5YX*$e-YHbxD?H?)N&L?Ug`09k(Ly-jXT_~)Aw&@P1@6l=p<-Na5A zuu+OsWmTS6&rZ1@$^hf~TxhgHJLT;OzDSN~njXhb!)j-D3nA1UGBX#jAn`(-!1JHT z8SRwNCTEDJ(mahNp<^?KYNoT%{|$c02BqU%EfP z<38|pe!d=e+!sE-sJP?q=8t{eaX(YuanFI)dSSz3;gHr)bG2X?WKj zZeB!Vh44l@Z_o_iDDn5&wpKBq(rdPXf}CIePC>LDB{fPR9)z07#$}PwH^Nfnw(Y|e zFnV0yT!wDMQ2zEkNj7DizryG-1*tzBEy}}idPrv+!1(|6RSGWAY@nK%q7%~0j9_G% zX(xyG6}09d=**w{HV+`F0D(_Zf#E$ogWo-JTb}KMJZWH@x9@ z$-D?I>>%XQ;oQ(R@U)VY;gR*>AOATe&#`Mz<|45o{5+%pbc0l`1m43iSUD~@lg4>w z@|MHLaATW{G(v|u#B)G+XZVKs^0FDuPscy*UrV2X%dDKBaE^#E!rki-i9D{b2mORhRQ@1s4Ho1-n7Py*bvaK2X{;EiVpO_cc5d$q_QSS>S zBrNF5y3<0gA(|eC=6qau)!nxIwF;+}IJlUL0Q_970nnPSu`lOpm1!aDgcqxzO9b}% z%#viQTjCQp8zl&YukhWQ-t5074M#s*%|dnGY2%>1FXwM`=sOZf1;t2fb2h7f%h&Es zVtXSy(WfIeQge*#X9BIcHPxSpOgXI{Az&rSr)e8pHg7Zfy=F}IVIIcntSq#AHs{W^ zdQV8tXIVL>bEO%lvkyn93{j94+FzBcbX6)?WCsOU@z(%<7?^$a9bZvcbfvcVFGr9rj4cOt~D(| zy{l{v_AsMiI!jjsiOLH2gknPar$vTOzLOaZq#umnK1od${WUfDK!Wue#NVcM=dhd& z@xj8kUP}iH{4yp1Mi-s2iy`u39H+xDcaR&F%hd5^>l84h_IfIGZ^eJ<$*BC`XpN=3 zF}d^FEb@DV+I0ti97+S|e>?{yf{EFk8sISgI*ivsL&r~tr2%<2!_Q)<7@=^VxLq+b z7*$Kd#j^Kmgt6Sa(T#CqU1RvfClYGZM0W_+Vyv?_Y9TDlIvT}RrkN(q((6^ft0%5SL1X!u zV}dOWC-XC(!OdsF2UL$qGpA8Ll+2MY;b#tZmuvMiXJ|eh_^BOXZ+3)s>>J7QXSOBy zLV}NVw)3T$d<)rH=J0b)OE4XK=UjfuTIS}#4=RO3(yG`$wUBLb8svq&tVox$fEJ3?xY-~UFnv$1T#4- zYYC2lgLMc!tCVrQRe@Zska&^+vk%^@GAH>6G$DTy~JE*m^B}!<|>?+fH0|+n9B^e z^TRpMy_xrT4$NDhcRh<-zl~j)QViOP?Yhc|aeXG&58)?!bPdeJwh7I;M(!?XwgF<@ zOHzaziSZ+4DpC!UN|{BO5?*aq1~0bbN+ z5Mtk0?Y^4$cxCP%uD?{R0qR{2(Q^>y2-kQ-&F~1Gega`&6Qrb5wn2{|Q;K3gRe}-6 zS1vP|Pi?X{O4)O7rzOvQIkT9;x=h&yAzM|(9Ws2da98U{i)+LUO{a&^lVZXx!^qlw z6np!0cl1Kc+*r9q*SXA0?lUvGk6M}{Z|pyc6swTI8wt|JnZ-RQ*~l&sS-z>nrnp6S ztmI15>RW;jC0wiioK54|Ex}D(wX$rkRpf7r5N75ug+h#Jg^&wEEdnpnKaR?s@iZ%W zm^OaG1C%erBx+?7fCnUD01Mngsyi}L9^H?JSzLIST1<2miaA}yqFISH@co>(lyhMT zsX~50D+3{Tgd_sMQnzdy93e`p!Vn;v#1g&Jlj(G_GI^HkFRKTka*Inm0?Kk-vxloC z0fXpN!q3bDM*&DCZ*Le%J)J>Lw@Q#@A}$kgnTX3o49_a>#O0m1yc4sv|Lt~S3LW=Q zv)=KAZ@kVl>!|6W_>4rbk?lz&<*!Xv%XIw zlxo(`>_xNwfEJ=uv$mD#LbKMy3!1ei-dVG@iSM6gZ8I;`tTpq_nzhaRz}2kpxxcJg zmo@9MW?j~-QK@^RS@(QD-+A?eue1I9hPN=I?(FAJ=n=ZHpIiGb_VcH%KEAl0Kg}PV z_w%Q8!~NRNcWZ>w{e0Ia_q3Eh@Map7?&r2LUF_$Ycws-+#5?cjHu3%2&u!+V`?+S` zc|W(AAGrJZuU?z|{B9~6?`bJ7vw|`!XiSz_!Ry0m_Dq=-;H^QhGvDZb_|MByLF7L# zO9g+Y{_|g#SwWc|+Z8;adoC{yhh3`f#{8y_IYXoSK0FJv9 zdEKQ1Z_tozCI6qF;V;&^l;8z`V;2ln1-bTy1e*ih0xb5Hfcj*vq9x$3=AbfD&2>Y7 z&1L$MYTFk8ifT}80@tq{bc>qs=U-AaGN9RKBpg6PRP=QNE+*PO(Fn{%${jKzQLP(PgEE;Q&>rBaT*mP@4%`g8 z;{bnP-p#=Plw%G9Gb1>e5hPH`jc5t_({&_2N49`eQw{tDHI7u*EHxqMml@+myD>As z5=??ZIoePtfy-{9xyPx|nZw=TTKMtcQ;lbO!fN0)eE_>ix#pGttoP=iFK9I>cSK8| zlN=@pvBl6Xazx?-ap5Kkduo!KG%qumzo&psH6@ohN-!Wi&r$j3IYRxWx>`3i2YSUM zz-gv=^osc%&?~^MNHUM?lkfQ+*faq19GiXMR({SBl&qWOVQl^Mw8p%edd+fphHpto zMOjX^wghz?z@|8u3C-pws1?Ilp*gIO0a&p@!#tv_U!gX@W!qE&Z5Tilsg4!Uv_gwO zs9EG!h$Yfp^`UU!^Jor+08_(3@DyOdw*-SY9N!WML*)d1p3oAgL}dY~f}4jV#sVhm zZ@!G5!gl6E+5-k&H#Zn~`+D?JhB6|rf!YDh!B9XcI2;6IP0Fok2|)jMr?mvahCH30 zr?&(^XR0Dn%2z~Mso~D#K4$?+dDb@2sF+JKv&yY$-3kKZ+fbaa}!3;H6Fdu`}ikiMELAagAF(Bx6sC?)=Xxu9Ls>*F1gNieC zEx}a@f92`~mktJ=N{Ba{8r~ATgG>02dW5WnoWK+It*zoGa>7QBg{#seAwW552(w%|4J0{T|N3#x={qk7Ch z;ZSt8kpe=^`K9(p*IcsTE8q`RLbC!=<_In61pb^LNEx1QqMP8WK^!>`4pAlGT2O*j z3vrU0oP$?XxhV!HW0!8$C2B&rqf}A2%1vzvZm~tZC6SrNC0K@=o`Y)~-9IG;&D>T1 zUE89&&Y(Rt5`n0)<4W)f`Nc=K(l0o7Uds?OIXM#m8NcAixMTc+AIpLp#;q1y9~%%k zt2ngM%kHx(lV!oPEci8#v)}+%hqvVyd@X#XO1RbFWZ7}0by)x$4l`USJ_F>q6pva1b1Ri0Jrufsoes&hc!2F8kWuh5Ev}r`{hZcT_DF-VIMJxWkimmqGSh>!TgcHt-x9_&`reArxLwsIij0_uW5%jA>WvfU5#T^0}{IzEQ!z^Laq4 zqg>p&;XK3WJWPm^by3klff!x@C996IP%huAsSJl?>TN2+fo|0Ft>CDDp>vS(p?)e3 z07Jj818+IV7uCz}(pd+cRzwhy+P6W8)Ks>xS*xg?@GqaZ zmI0fxqXCGnhCo55vN{T`$qBJ48D9GlgK?@6I+cj`2!S0>pq(L6`67fzfc^flH!!J5 zoS$UCf8b$X4-KlZK)CYw?#ywjn;gFX3K7S{s>o8|rWt@VAklw*FDQ2{NH#MZHCQO1 z@bZpib{FMHY2@p$uv62?0Hvrq=vvu|k3|5x?VUEqRuCk8rMfw8wt%Ai_S@z`p&>s{ z7Hw`JWFb5_cU*mDQL@!7GWl+?a3T%;No563P|1W7b^9gU-ioU%)v0A}nU*jIBxHo+ zoNUeGIIm&}PlEe(#)4+tJ;9(EWGi6MTZL=Mx3mgm<_Zegq$V;z5%5X4kKt#&mSW^H z1%h3I|4g;PRkU4Ax79+1J4f{g*;O^Yi`*&-+W3(tQktfM(ln_py3ZDh%mn!&Gi&)N zglLU?9*xdx2QY4(P66evakjg2t&|L}OAzOC!Go?49`sF#?Ctsz+Zh08_wcE!Nus+s z0rYG|RG(Bt{#x(sA9&_K-`TIdWn*z?zm7k;-r1kN^;i3~v)^*S@9bLe!p^P*?|Nt7 ztpz{ec6Q1;Y`&smuQi3?%2u7FB{$dg768L}rv5nK6TS8x>gspWDuCn?QnX%8|MT9IP8xpE*1) z+PK4cYDO6k!t+G7=sd!+7m_I;ER85FS$Pu&{@U*Uy4?S@#s9U9TNL!{ob+r%<790n zYricPXmOLNrN+}tqo3clbp~Ns_iJHmZ_zq|(yY=3X-eIumiWTATUq|CzJS*Ze$Hs8 z#yBG%L!+ny1gAPxfRJ=j%?|G?3$w@tZ0Ol;Zhnz#*yDNrYNX%sl72nVYa7z<1orrO z9^|nNfp?)>oa>13dLq024R3jw4L&=C3P|_qr}SjN9K8vE7hp)v{xexFS)hpCtYQzR zGARRYw(<@-bGkcSOK}D`j%WC#NY$~ir?s)Sa+{U>^wrZcU^T07S{|#Jef%u9I{e|R$Qr$Gbp__xVGwXSq8{B%gA(v@Swz_s6YM)d7@1riFco1dB0Gr z3EI$;VK=Ml*^s6b)hW0Lc6(H6#SJ#A7-gXhJ$#rO6iL`>x}K(aVsun8Ylj}|-FnGC zgLIvOG;YJRR5cH5aP7>S+a018V6~IlAR!hhQ>a%OlL;Aks6^Ly}8}rdX%~u z7`xSBkytIuT_fGBuwj$V0Me{(8zI<@nnt=QRhxVdHhBIzuiOfs-J#4D@Y$h7;j?q&3)~bd#lmAwrxyt9N7J;0 zrc^SV;b!Q}OgB?aHzRCQr$rXdV`wUJr0Fc00>F-ptutAdRnsj<+f-u-W=sAJO#T%& ztz$<^SiwU#N6ju&g_yYvFxT*yb)^lx6mB5A`1!P*uPSB>)OM@d7Qoq&%G)8?MJ5$9 zp~bZImCMw2o7$ehxF;Z)BY$&6HCZ4n@n#xa#5JVe74%%n{FX{uXXREP056jOtd*mp zlFG3x*H|Ug%&Ak|sT$-GuwyRqQ(Zw@!Lh2X)l)JIR-HmBSKICAuiMoY>72G_wnNpl zEmE~kt#+%`_EPBkQrgZ=P!utsD57jB5bPT}Ra4Bak2(w9V?{xvmf%pDv!$Z0HV21x zfN^#}I45LHNs2iNWx7s9wFI1Ya;vSATv^? z<56hTqjH(i`aOo)OJi~wvuhuZO-q|_qiw=|mE1VV8{zkVqUwW~xQDR=C)k0hgO-Dw zkMNe15#fCgCcV0Bbp=qNsRs}tIAc6BBuWYh99plo2HH%$Q#VIf=DN9__qM2kDU6~?l~)6^ zxh2@D4`eG!`9yd@MZ^m-3pLPj{C%8p0Nb%4e(D^4QrdkJ6)>c1w(EsD)bzj|uj)(_ z;RJ>1Oq`)8gYLQ!{e7dF*1-Y-Z~E?_mtzd40;-yBqR84NH4Whaftjcn^)yC3&GvJh zp$dbVo=>5*$l9}#rrOA9TB4G321B=+UV!ym)}DS@Xtk)Ki;$6qH~NCXDV1xm3c(wZ zf(ymYYPmOrd~1SI!DbK76LN*D-*@VCCqn+}4`kJ{T4s0YqpDG{3E6AzfVg2!#oA`B zfB5l->{1PcZ5AB}S|wCOmdMK>r>l6IkvHFEt&`1qF!e<9%t1#tl#icw5|t}dN@Zt) zmr^u)LD(`}C&TYQnN&N6kep&u9xkIbVlgJJHt&_<7LHFt5^*L6NrJ!bM$~KD^(-TM z$LDqhnNiuPP~|iFIYy}KZcO;Z^;%rV-b?*kgIjNhLYriO9>?htOBQD+3Mv+S0X8ia zDC4U*LfwjHEY(0el5S?e^5suBGsR6&x6Pod+YT90{ETi>d1j-rX)25|oo+{SMx+F3 zaEAR=-L|;twp+6PGu5qxqOfMoqFXE7qVgx4K`m6boST)mETvo~st~q7t5}x%Rwp;#hug)a+w5_YYnlqH8ipTP zvuL}gHH)^FV9nCjE}`XJckF^WWg96|_)&dV8)e6$M4{EN6kTp&W}B?Ia747{T`^G7 zaIX>V`=96r(SG_hB--aiv`u_`8)heAx*J%Vc9vtK+q4uqmh%ZYn&TnJ+GeW859JQ6 zmk?b_v{c)~7G*>`0;aUWhhdHe4eV$y~o)s7enACk5|VN_$3f{2clgI(Vpvx_B^*1l0L6UwCh;gb!NR5 z(eA8HpKwL;jfpoTE*}|WlG=((D+425BQ~SB$qK{%E8(=n{AA_JvO~QEY9T^16@gvf z`b@vloiP5l>o?#aUn$Mk0I%skU|=|C@Q~V}lK*vUB1)QrG#hn^BZ^XIErDz@q3dsz zQ+VHl!sou9s2Ljd8tewE*ASj!NJ}71aY%UoL&+Lnp|(*w_k=_mUvt_GospQt^`YUD zTptqkC&on9vSD1O07D%gQDwf@w)$T zuH%``a(#IC_B)d`VRRi8T=zGHdq!e5*BincxsLD8o*KWk?jIE|p3C(^!_Ra70nv51 ziSECY@t2C0(C5PExqtuYIxJ-z{jK`e^yG4`FAMK`bE>8$x}HG@pubsgj!v!M`bpti zex9&8>SlJ6^E-{CVWro!cZ>{Qd?I1B)OCFnBC?s{q~=p+O|?Gc<4&888(m;bvBq4J zw?U0#ka4al{LS|glwJ3aiE^OZ06-}#l`M2v;baM*#LE`it8Vf=yOY#O_wA41wuM43 zRylba+hCz^xyqK`^V7(_I9Xjn#1wP_ylQ{qwkn^l*&pSO(ru^eP;K_QsowZEO^Twt zaMQvcaNA0vn!?}xKB3qJ>o}eJTg4ZNGnfl3RDHU}LaYg&eJlk73@GjNxnCvZ{|>^J z=}f$Vbv}m9R*+f7JPZg{VFv$q8V1;Eo%Nk$!!OerbwYa_CbBLktjb=7(3+%Q0ocm<>TSXkgLD(buaHZee(*?>h?7hlY{r z;1-9UtT)-bXixZuTjXAH;qml%$5XAH;qeGJF= zb_~aOXAH-9rFS^S^N?-mb@*Ly$J>VGk_7cbV_QalZ zj89BD5IDw*F&yJtF&yK^F&yLW7>@DB7#ZWAV>rh3F&yKIF&txe49ECJ499qL499rB zcR0o~-Q*bG>K%^pYBxE?ck>+MxgKzgFXlPMOFiHi|J_R*X5`WQ^a(aEwP| zIL2c!9OKI|9OLR38RK0s9OK_&IL3d)aEzB?IL5;<9OGRv9OLEQ;TX?#lVg0NcR0o$ zy2&vf$#aYsdcZO6%yW!ad%!Wi+DjbcKWcj}V?0>97a8Nz|7doMA3xZ&9pgj)ljzcp zaTC|OvSZxL^{(s~w?ERgR`Ox`cV)-;cdmD3$M^`>yRu{4#{IjpV|Y$oqNNI@zC&|^NZ((?}cCd!`VGwiIFhA9V213FEgtkTCu$FJbKN zfrN2)FG&~=?}ruRlLv$qW4zb{j`5XV;uvq<4=cv) z2ZR;lg&2-;Ukt~1B8Fq^is2Z4fMUDyl)O8JW4tehV|*!wW4sc>F&>KH7}v&djF)F$uWMM=NP}~0mt}!o@4x>2OQ(;y~HuzvL77dQwIdc_~s9~wqktj zv96;rZs&SeR*YAk?>ZXexBuHU$9VFtuA?#jm+M_wF<#*QU0E@H$^E;sVtn%*T}NX) zPyep081FzQ?*%KyEAQ`~Z}m5CO7(^r<9{FPUNpwrXWBeh8 zV>}eYF@6}sG46@s7;l2&y0T+j6T>my8^bZ~is2Z)i{TjGis2a7#Bhw=y~8nn*G-P` zK<{vjKX#L2JeKDe&-8#}+>z%Pf9e6p_*ySs{F~?&JPl*)jf|`*&r>*m-T&c8pKazbiY& zC%b3I_~o}P*`bC6I1(1B!IJPC7-2pZ`d(DzaMstCk_ZZ#xG(lpZCUajIYITj8DaIjF)39pSxo$pD)K) zK5viV7`tOEpFfGQe7+K6`TV!u;TZq*_GGs>#+PW{3wdb2>ZaxME^cca@BV%0IO&Q}8c^Tt(J>VFh%yW!C^nhdR>?Mxz zh5e8*et1C082=o@G5#-xW9*LM7!SvAjE}@{jCaLwjQ7THjBmtnjGJRP#;0O9#wTMq z#x1?WF?M&8W8Ba?9OF;jlre74bBq^yz%g#mbBtGdz%l-_mpI0q`@u1ObU<*72V%66 zkH>I~PsMPImt*2Fo{iB;eioyZJQbsryciRY@#`3^%^6|Wk z@q7@D#7>@B^jEwQo7#ZW8F*3$`Vq}c3$H*8r z#mE?+j*&5Li;*#I?H!KsayL1~hk8fG_;WWo#)tDV#&bR37`NtSjNLup7@zJXj`79) zkTIS-AY_bh#mE@9#Bhw;VmQX`7#ZVtF*3$aV`Pk9#K;)W$H*AZ#K;);#mE@X#mE?M z?;Vcu({6H%U-yoT@w0AnjOX$)#((yJW4!wR*?SlGs;=wK|K4-&l>`Vlyaf`lju0T; z0>nkUb$AHzG7kgByk7=<#Oq>gsi$>1Zkn`d zo2Kr+ZsT@5Q@8a@JdHc`Bx&Pj+{yp@+viGGG6--Cj)IQ;5$B$L*4}5Iea>&Mwbx#c zb{XTd-@}aYe{Yf=)A?4fh^O=Db=D+rUT41e z_I2iqKfTU;@zizJBpjll;;nUsqoe1@wz^b+rTo z$iXpC=>hl~WCLtaAsB1}$<#%vo;XwW5JLYCB|pzF8{QI(fUL?!SXChy={4I(ilni3-e_qR(RVBAMpsGpSAHWQy#JNCz3Jit;d{sGneXlhDmgcWO*d+sds5DmC%wr zhf^7qsmj}vB0T=j=XE3H?75^|TBNg#NTJmb=j@@KSroa1S+i9{(jFypm_yQ@Ib^jV zcz#~>I;E^6ch5X^ty4NYij)qIdZ$T;=Tcsf4o~$K)A(YSn^KAJnpH2PC{Ey^BC=ko z-u-0Ca~YS(-U!VD(2(Kck{7<>b;^ZD)+^d1ihW1gD-z?a@-P3ZLf)?qU+{u8Tw4y57<7k+qv9Z`}yfIS5kb<)RnxYBhVg+NXY|jMC(x$v{{>qj@nW6;9)ZKJgjyr z$O*I0jzz(7(U!7Ss;FQE(Vn&Ab{5*oR6p{gWJs4nHqwZMMfWMn|DTt850Mwd!0_Yp-^v-r1Lrqv;idf7zm2VPuo(=t4EsoLNFAh4h0S*rKRSu z`KgKg9L`S?ZjrTQT52M=t_RmytBRCz3p~G|zEy*CGWwC8r`mu1W6G2DC6dcSRucj7 z(cpUwK>QbBZ!D!_=chjEslAVSB;z6(O+aA~0qojWq}hBXw(WiiF3+f4tJO-cbfi$NB6 zg^N<6SrS($PyCOPweYdd*af)Im4HiTtu#1I$5|%|WSy923vG%2XHR*0gUvMFO!`X3 zZE5(ThGv&YtPgx*IB-&YBsz;lKFzgl&vQh6%nkm1rx zkn@Z&vsGkT^TID>I^kBywfvv_t+Yx@&?U<(qvW!gxFqrbb^{qn-u#G1F3Ji3dpX+~ zuq4jfrboYmRGjhMS0WF9)>|Lhk?!j+BZposbA0|NDLlzY)l zPOJA9?K%iB7xU7-o3whz;m|G{-@8kzcY?Hf#SC5V zCavB{Qf+mYp=%lQLou!18NI_Z%mp0Il8S4Ytsn*EA3Yp&$-|YiRr6C1Dv#xZaP2hU zUu|m&V%o(7Xqh-eWhtxP9VDiT)7CN(kf3WL=Pp0(rs72Kn;lv8+EaVMS(Md?tkPSQ zpld5NirkzcadQ%M-3K?nkC^~2d^fb3DMY&i+8r)St%^vl7bo-D9!oYpGegRD!`el= z7h1=?NkAPjGwc`b{UF{Y^Qs`vUdj$c!9mg91MNL7Bdv-K+hNf@KoTw`^I{_~&Z>6= zrgU$dpethTAg^92L020sv^kb8%zn2#z2zKin3=1XQo1cDv$DDrV@f`0vD=#XVDX_o zK1}6+gxSb}M43n8!%-%=3Vv2ZK_5iOzWnSPAvgCS)9vqlJY!{=<0^IVVZ~))#myXG z(92cW91Q51%*zH0$dI^;EL~h(4xb(<_TW>6G?^#kL#s3-?(!fC$f9}L28n7gXM;(& z#B-26vzT6f1$?~BhLV7ZVkejvNWWEPBj%@mI2~VkB+aENWOfPa6p?Sl;=7Hl_n!Hkbujl7ygjJ*E^|@~ zjX}eqHt%h4kFhow$C!*m=6Lptf1(V1b^b3uqddht;)Y;6q~n!hDL%F;J^KWHPf!Nz zM&yCAI0N=XQea*92TzqM5$-uukhQPOrsPS}Rc4d(-Zm9(4yL|iz^8T^@NEeHWlEC8 za$%Z=bULTg^WNhcp^gMu4J!~Q%B&&pJ)!bhOewPpWXCSE+4EDMR!6yXNtYVA)L39y zP-b)Hr=D_y`c#^=L7Jrj*{}*E%5LhPkpm%p+eQwoVp97u<-mGIO>x{Q?UwuKcE$rv z^9N~S0fh_l-rjh?SxUqMzK8)|Y>VRoUjoe{XgH7<>!7>O-k_NQZ)U*1paBobjrA+- z1AdTPFpA9I0S&6{|s{>ynVm{-XMbJ*$ zpa?;`suMQ#g$-kF8WN|O9~Q5yMu1(i$tx8e*OkhcGv&4=o4nQ`qqy#pR#)qK#C6U9 zr^^*@gH`AzJW*$XYARk`lg(IphsVTuhpPbSm}1^)9UMYa;FCA#` zd63R?*>XjC3ep91AkIIn3yW-#%WX+gcdnBzS}aa;*J6Gy)^|XaCCcX5DS_@1GHO!1 z43cGW4r)qP*a|gq8j-)4#X)wWSW5_vM?ss!0y)gH9F+`?SBt_?9a zr{(rztRhmK*f|NOX|a@X8t%OdH0||&=Ifp)_vxSg)YYn+w|>C(IZaJJ$tu5{hKq}d zlQgps90CxBT&npO(y;Q*c{ATPw*15=dOKVG@*8)R*z${nF5)A}!p&~r9W8BE>bd>U?o?#%oMt{w~COs_+@3LjVMdM*q@nnn~)*+9**ySTOs zZW1>-i!5bISJUv=f~>CWD!8pS@&5w9=#6+yH65U1)9N>t%}eE z7;<*5U4c&txJ!*-1fXb-iQRS2t?O}#1uFlEz z)EPjn%G1>8Anr3Ql@c)*2A@U`@MfxTsKM4B9 zbbVtw4jpuT9o>IsfJ6vs&Q#gBMVnM0m4o^-@^sOU!iuPtuFzS2@oFTdWGpku%hnE> zn?Y$|gPwAIJfB|4OFEBYBNM-e0mb6t^Ngyk)Du;&@1LUqv>?&^)F_U9*Y_`Xce2We zkqbNqk~gYxjc+Dqi#BFyircYBZk_XT>)x`tZ%ar|8fB zH!4i-;l>J?lTXCpt#9g1E22$ zLB}RDo%6rmtUa~{R9+sKs^p#a*GSvI7K}nt!62#+=5GiuNPEdP2wm0C>R_0A_F--) zhSOvAlBJs(!B6DgEH$h6S(W!HxX0ICa~}-WA0xx(&_L4%sk`V-$8K`9jkb}orN|2& zis!72iKKB3B>ATO&-{$rUFDM7R7Nt*(5YI);aW^a!gE2LjYE+&t~zjrBB*;adaTDX z$h%pafYi!YfS@}Ox%Y3*qT9+^J<8q;{hXxVsG5Hqs}=3vPSzoXw40T*`(^FUA_>3f zLFzW6^WIBd_+<}iH*3?JnhX6F#w5s<8I?D1(hwo`&P2V1MF}#d>&uHC(r(sfBNuY6 zEC>xTH){)Hg%|3t z#p=ZpiqKr46qZJem8YI*sV$Zwn6GRS4;Gt8NF`Q}pqno0yCnCug)e)Ew^>^eA>Oik z6`|`|X>Ae(Eogp!Y&032hZ}Yg#I;JM0e89uw_)+I52K z23^^RhS+WT`RInzGBA<)3)3RL3>xn_SFf|cG}|R3R~Px z`-t+7#@tr%+ze&_)@5f~_4aU&JyEdN_6BTSq3C+`3Es~n&oBZ>p=)%4`F?)xM;AtY zwzutIg!=0ql^n7|8rj3B$PP2I{RGb=P+)IzuiYzAxifZO^#Ue1%d`dTa68`mp0NAI z`+(h#|96MoS5sgYo#Az``=&OH-htg;j}P> zyFYVP?7q#MA?%*-gxyEH@a^DjO#xArsj9qAN7`xEk0Cq22fnDldf!%+8 zPuK;X-DCGA^WA@ZAF%uSd*-{JO8727OZe{l!FS(!PuP7w`R@OEAF%uUd*-{JPWWz& z-GuKVi(e@--%P&yW1o62GV?Y0?qlUQRc8Lp1pgtH{i6m35Mtf9q;# zY+3kB*;Qobw_W*_GV^&<57;V|wXb&{ktzb2`9gWfkThyYt|l{ck1J*7N6SkxGyS-_ z%uLPe%FNJQLuP)i?8eu-(B81j4DAie%+TJj%na=f$jr}`h3{DJQtt|x`HA<0UEtZh z%nYz^=6d%Z-Uq(>`|p|W{zAfc6TW*5UDeIxyFdG$uzLmH{q=Hh|GBc*qv_357wqy% z+0sV$Cv{g&+TVBnZ@B?|QfV)f&6Sl`pb3*U8f|yfu8Cf2Sv1jDaQHv;s5Cl#(5X39 zG|D#ZHTPw&*(uwcZa!k004JyjrL^;JVkgK3NXaZ$C$@q3iCa6(_}s)9Ze(RRy#Y_c z!BiX^p|T$0j5h`q?>CHU!(^Aq{VLJl4YzyZ`;FkI%rmJvlBy#kIQA%&V4$I=t+6Vr z(XG?5?WJzbjzboOz0m_i#Uq*LTL2s5zelugxHP92#>N1QG?E8FI6 zu*nXSOO(;r8|$@Y(MfZtKrNlJnX!c}+UW}F&!z+honrffvkn_fbkZ_3p5y=7kI5J# zWqGOgbFk@@3^Gz|nLyse&71Irr2j0G4~BKIj>{QjpqgHYK}I|Zi>QXDBd(B>ygF2- zi|uec3QPDYWi?epS_!ei#L|KioFX*}%h6&l=YFBMbjnuf)}C(N!mTm1TuG&s*blLx z(8|wPISrFuZ7YknUPCqK4#}+>U|4JINPO#c{FH*4s#h>--FlPVAxq^{SdL;kC2M78 z{+fkVr(@N0*0x}*6fQ(P-R>tTw+h=*ymh-ng`RpLO5yET{nB0qD(dadyMn5nTqW_h zz*SPW-fKH;uWns|Vj2?>e)bDN<$mrXU9=r|r+WE(Sr^Fiy}l>)@<;czi^`ezyfxIF zsQjBRWVDxvFWAVC>F7G@<;QYYipm#1;#9O;DvHXl5a|?qYs}(U;g^R zfBO|+t++Z^Wp&V>vf_?!YysI4@Azt)w-5{wi?<%H^r z*>VGRYT2fp2qR>3wk4R%4W>|QDu2^3BAiyh!C;C_wdvJC(J2`A)&OtAb*Ckm4H@Qy zv8&FUjt9UUSZ;Z9VI)m97naooVCLEU7Pe7Sot%Id*kU;WFT}KONi}>a4PR=8DTQz( z+v>l}ETvjG?e z?P!FL$uay$j$51m%}3IB+Mn=0|7;pR5T7m9GAl&*@1BxVy`A)b?ayUA#LGC%mD5-< z$UE$Qxbp*?Kj3_K?fxh@L*0icdC2+gs^npNSe-s=XY4GT(#j@b`1ujKYadBtBTEY( zfbnt8xfEeyfkZomT0lfS3ocdb3?>#hknq@(G8GJYPT?9F zT+or1Qvo)`9Z@-Gv!2s>C%YoJPPEDXE12%ex^@cYH|NivflE#Sy;FfMrob%#H-(9C zI+)2HjzF=`T>}W7T^%$s^E6^!(f|X@#kLW7nBH9flfRn@`vTvTHAxsl4#X8ma#1HU zV7z}8hV)N{zfR&@EQg>awnU#uGq`TnC&D9b!|gjqn2F3uogLvT%E=}E^|U?gfAjA% z!P)SVu%9c+q`@-XXgTN0omUXxm*qr@o%P?GE4wOL{;rIWLR;|%qH4(@h#6p&t@Zy7 zcP8ezG|qErjszo5mtlDk5D! zz;({VVx5D7!DiDoFha8Rb^RdMIm5*#_G+j?QrHoZ?K#YK{CT82I;=U+nVub?@QA3Jf@+0sso^}1pCcAMhBFQr zI;sQr;(+U1f*S%8ZNSyQ1<;XFX&h%9ii|n3an3zBtPjSEb^=!?$a#07II=i#tVL40 zZOG6?`1oK4u4sH!C92%Eh(Vl=qD>jFCvW)j&3v)BgI%_T( z<+<@(4D(nFTUT>jbs>5zR1xYU)jVZOoCh#p(lTh}&@0*%(5~og*(lokkmg+ojC#0t z%IT0qTVmiv%SO?jhLt-T202 z+6UnE&gIuf>Q6ZXN73F5?cL5PM@0(W1MP#Tn2O@uPH3I<4{gb(S49{#iuMd^0ts;g z`z26JpqN0h3Z9ujG2w~{R|EzLS4_BKBA_M$DypS~D<*5jWUZL26_d3hJ6?&}Myi8E zZIf_Cbf(E#FtLnhBJdu?3b|w;i){{(cS*ZJX~{@77>xtS7y^)uktGiCb`@EeyVM2lp7q$_ z7}l{tY_h&8sH1PrajOtaa2E0tTo^P=Z|c35e`iaakWT(vuW&M%1_?E$*!cL0G+^8u zH|=b2;?y2k#oAQ=Kfjc5ra0uP&{N^+CDYjH{KTbes;f0MnBnd>!`+X#za^9RH9=RC zcNfo2cOq{cP2jjiPLM`tlQY-ZP-;RNTC?ym6t9D`h1gTgv7XXUq?WqDyTLq#v8z#4&~I@q%mN=~iMo z>&#_cVB9JO$33Ty^*p(8l;Nakfx{=rcSG)pVoY4wy{(gNOs8P__;-=i&eo}Co?Hr@ z(Q0fs@?Dv{&zpVK^|7(w9yLP~t z-^$4K)?xVnCKx6}_U(n?uOt|LN1W^T7sKCrpE3O7|0&_a*Te8@-`rZ_!>@C4!+iL6 zzb}0Fr3Ayb7Q=saZ9e=TKXElad_(54$P4@6-rZWRbN!l@>s%N2@78ji>({hg=lV4* z*SUU8%XO|_X}M0}4KHhnVGojV;%q zy`JSdw6Wznv=#WRUdwVF+Sqd4yHU$^Y9vs+Q6~}xD}iDH#RubPBncF|`g4JfgexMJ z%u!T&V$yf<=VEXYu6P~8AjT-+iVDIdRa_#VG6;!)dL7qF#wZa`leJ>ImouM3BA_M$ zY9gRsHQ)f~NCebGKi~YeMB?4+9pe7pB zWHUoyc$f~7&5Y}W;bDxD&5Uj%Vlg_2fSL%XJzPNj%ks?DbJ-82&yFMCLHJ^K2D3xS zF|<$+AzeD&F2R{G1wDy1tRIJoB|u%?Yjj4YGNx^G z=9G;Dj&-)RGD0O$Z-eX?r^-TBiGQmwsvKce{y+S@((@|A=SUk>2&$c>X*C&~WwENp z9w*O&46AC)pF%8H**TIG;R!v6- zGnTh|)$-23joDu8ZHb15X*35iC~VWU%?gUAAh)wAB%gv-8bokE;!KiXBS$Fb?4HcA zIqjCX&!$7l6&|m{6qo3CdG9#|6>g7HAo@mHFTOub!?|3hAAU-QBm33H+03Y$YmbHjYW@B2kje#Q(d$CH$@Ombmzn_)>#o z1)p@`CgU_EgKVh(v45lk(^Aa@SWg4lVK%%Fj1WQ`N=ASZ8mXcdK_*Aq$T;9S!6p^z z8N-XwR#SvqeJT}abY8EiQwXY<5Drgv%``=w3JC;8LwbDA0zSJtHH<$ zQ02bndT%*FpL5niD(xv+*QICFX)^gRAhUI%=&giqw{IH(jGZd zqepuM;zSnarev9OH$N3eQn%T`ZFWQ$;OtZp(W3Rfb`vdncOKdbOxL%$K+&Sz2dxVn zzh6b<9nniVWqXOO39WQ1DLbf#7pKqwYPatm@|$abIBI|n@$(Qgr20rZu`rG*FQh&v zhm~|O*gB~YtV^(U*rh-SU|YEr(6qAosg<%z^V$u*hkt;lW_853#{Eq@dui zrBA_+9ZvM&kXk5y(Bb?XUi=br?OrHVe5IX%YiS$hzxW;UB|u#rSFGV@P5UTLOO1%x zryL(@Nulsvk7g6(qnqfHeOB!Y5(v3+2h~8 z|I0LEHGz98PHZ?e=AG@~+7+-p?SJ-n+ypl@m_puyE26chfpO~U(b}ys9u_{GQWRJK z`^tqE1lcsvUz_}|5viSlh1J#5W5?;{r|Oh+NXbf?O8jn-@VuBVIwsd`8hfBUHU8M< zW|$W0y(T!^veNr$0K$&b;hQAhr4MlhKUZj&Gwx$uC^Xl5&5rp2W^pJ|32o*%9Sh_G zi>LZkxD2i4;%b-X9xN-KJKih)SAI$v3q-UKXuG!Ll!6<|HV$_nNYIuG4cpPy2HGm& zT-*-s2jlcFeoQS*OVtH(zH&(*3c*%4{cnxG+401GSNQk4Y+E6ANSU8HOv!diwikeP z%6808rMaau=xP6+>b?5dF-7iHY1`%h#vgmYJq6s|sO;hA9*EuDR|b1&vE5h2@Kn(g zy4*uu-BdnX?j1i@Q4H*ydna;%>`+Dk0KbvNFUCQ)JzIivH+xIPPJE7p+kn8%{x80g zi8*NAdpk?*%Dne2j`jRYvXY9}i_GOuu>StHf7Nm9N_mor9S@>{e8)H-uhyurCI&C# zp|H+?xH=ft1tP;Vu5#xQ#|oR(aN2Q2WIX#>pimd)iP!vweoioQf7t~8m5(d26A8e?-s|ZF43zX= zN(MHWzD%KHO02M@1O}_=zX0nkNOJNKS*hk^)(9!J!KOzb)Lf+ISuRquN*b+E)lQLH z;gqU@QdP^-c3ze}b7kk#L^X#`*ecwUk_EOv)$X$<7aJLtk}cq^5dG4rSg=689`m&DOQ9EYG{ja^LFY9~`X(4APBE*D~Vz{>ewtxO^ zVEfpwy??O1Sc0vW!1lev_G>o)+t+Rv*j_C6?mai4$ZgBIa$9d&3gH;eR4(bT z!pf|o5cJXSzARk(7T~RYtX~V6h*ELRFJ{$&R%rtZ@J^IX=2r)UoSZR;Wo89y)Aqy& zTB8hA8kS+qA?SL^L8K%JN`ipnb&4bh5ER#FZ%TpDS?phFSN&3|laaQqZ9Fl456z#x%&wEtu$eKA%k2*hmGuL?? z%L12mtj+Hj;rpmcdV)7|;e~9M6)Zy>!cs#eJN*SjV2P86} zXt(Va?So`JE2co$1FiBJsoj0hc3rMQdxqs|oX5)6=Dja@;iQ-alfF@J;~qYjd*H)* z(8J*+FLr*4V7-UzUOU|WRXqe5`LD!Ol};R`h~vj%s=XJT0~2)KYIF{44~USUGeM^q z&yDlWK?yoZEeUJhu34|2h&d*`R5Z%+HKwg)3RVx0quX*J1i>PZ!L1Qa{X zLdR|8oPI|@v7xZTt^vi)#1*9tMh&d>C`#cPZtiwmT_iDer%nn;ivx<)p&oVt#iV~_ zT|3q7-q&|p^u{`2g`}$Qvc!d+fMVy<6kju<*dtEoRUeq{I+Z1^vA(^bkYbPg(WX); zlM9?o=AMKU)2ft^VzIS{6#Q;U>mqTbwRb~IvEM1hGSPz(Q>>9;n9ffu8yZmd%K+rv z#}peHD~`2?&aTZ|n(HuRP)xB;enW~c%o=lByCE5{FtjjJ>98*jhgafvKq>bnk z=+e-3+lD97tjC*eNu1e_B)se>u$pI~YfB?-^|bHrTy%q56RhCr&>>q()NagBqn(Sm z(N?Ol*2Tgm6;BC#hI~7#S;NPhI_k$k85nfhsO1V9wJu*|98}EhZO+Zm*d(tN#ceCO zAl(zL=cjC))Ie!-M@6z`py|VG@*EazRTu3uy&}}uW5p-v*xk{Jn6!U(Q;u$gZFo7s-l~_3&B@||3?Gm4vM{tTh(36t0xO-z6tMDIL%%E0M-fjc|*+5PQ zx+wDO(G0Lb{*RI?T;LvDObpG&3|T#e{!C*aK?Vji)r>_%HsVPc4SZy>E&#p z2n`UH4Jx|J?$V9UpwW@ShL3-n>fH@dF$v~2Wxc1~PKt_3A&R6FqTWL&g`}ck=Gdcp zdm)OEAO+EW)jL4Z0T*jeMQp*S-Un>I@_=h`bx8FNL!=EDwpk9L2U0zk?cOPTRCLsi zs@}tPuQGiM$@dec5A&cs2c@6OXn>93NKpFzq4c6Y$podHQTohvQTiXsy_4jBQp zLQ<0tw;TlL9E_>bAnoW3DY0*_*@ncH4!#q0k#XM~%-mYq)rq%s5Z_*Nw?YwK6@J*U zw2_!WU=)2%V6#{#6|Eg! zO|yaX7TlJnogizZs*>fyL~I|%JB_=ZwGtzUbcbl04H>GbRElj4F@9iEqGbHQ7R_`l zBWC)4O~cbt(9UAnFkAazjqKVq7BG9@cOC=7d;z{Y$L6-cY}3I!o@YMC1z0*PD8Ojv z!F3l_YZE4Zo}~@&=al2m*a0H!FAgvF?QEVz*6C24D+#AEGKA;qb*+FIuh2G&!EC9A zO;HzSOTCh9Q73NOk!ZS#?HB5GY`?JiB2kliokUHFilXNIh?9vo?Y>mNVX4@CuC!lyz~B7za)ELp9{XrI*+uwkmY99hPWj2U~jMu^Pj7J7b677_- zGYVJ5c3zui$3S5*XZu7|tB0tw!BG`h%U)@4bR1Y|KNYEAx~k29XhtW4qbj7_Y`c_O zGB`THmZ>vS%}&ZxA^l{vbGpqq+r}G8#WqY;$ipco53A+55XH+$6%nO6-Z{<3hD$#3 za4L>Y4edf`yM(6}?R^NuE|a@#`=629L01X&E z!+{5RMArZ9vAslb2C(h|tZvQfmW~mEGPm1Hg`%Lm8$sFj3)p9D4@idA1HdUez-<_) zX^aVAPJ`uxc26NVk7`(MR2U-si!i`+;8zBW$Uoct`I_tWLx zv3PCjg_o{|Oa`t4nV;0tTnm{HOznzH%m%q%f5o5gicG&NGN)dN%>VM&SRyNe`tah~ z?t6wODuH*x(+{qIr(Whn;E8vOmM`_vBut|7vE@Q+YVX7SvRy6h^`1_k?s4`D6~PQu zYk;U|u>eYE(b{ZEW;;^_;TCTcRXbTUWzdJ=1IVlZ*{ZWv79}YlM^CEYmnml^sFs@` zV)3cy@mLPBI90C~VCJwO?)5@w1xe8^h88Bc1Pu;F&DN}Y-iKYoeevfPLMup$b{VwA zMJh$bMQXb#LlK@sQSM}Aa(_|ZghS)}6tBDjYrzY$xX;?EP8RoB7OmOtE$;Q0vgLE| z#1-pp$--IL*l%=p477MB=Xc7GVKZplWLt{x+#0@~Vx5{T28Oq-@KIIYPEl+$s3L6Z zH8#88u)B)zJll@WBT(`jQffLYTrjBa908nr+QGS(p8}+AwjcVKiK^(J9gM-bF9v6< zd2lui?Ew8GCiejJF!l?F3&9bu*^UUHGA7IxjR|E**bdO6lpb|s2?mdG5-(c?&`>4iCL?~=W>jEyKa)S}q8w=@JX9?)0I7mBjPA*_iAL|86mVh>1qz^$l zfmXGg#FquZx8CZVD$r88{sFF`;FAeqiK!y&PGKYJhv)Ruc+><_>Gw1q5C=A!W>c%- zrZ~OW3>KCRNVqd?Rtw8XttMx?)g<%kocL+;G@qZJS{K$J!KR!9%hSwbJsIn89h+pm z(n)0H0y^B7aY|Nga2SjP>-_iLAU)9&ClBi#C3`-AWm< z!_AA1oVp@!G~8QKvDxMax%NRU`MK8`ev&{1EiWrgs&y7rZ5>M7r#>wad0J{MYFue? zH`=B`a3{}yC(q9i{=x6!P~*O-&BbpDTR(KVTVRx1?XDKIxH#lebvu7MY@6*Uz#;F( z<7{Vj`!)tla5r)&Y_A2jmxk-@v;BqO0Czc{yKwtEy2zbQ>a>*qi!a1CuVG0^;Bu-W ze4@EMTpdK5w6Xj-YHct!?BZL3;}o6Hda)3kr0J8zrq=}pE}XK0ohl%u+($7l^E5B> zbcC32zyAhz5zd^19l@#}6o35la_`hRue+rsyPp@*j4eydN7M26 zc_FBX^)yz&GrA$f-_-xfH@u)PG!BvlbhVXeB8o%YALp0nUdtfUW|dQEA?wP4{B&C^ ztTx?p_Rq@MYsqTslf}$JAe)ulu3LU$^r${@=}C_DoS_rq_@u0Sv)cb`?KZeplYsE<9li~;FtxgR;c*3J-vnxe+<{gD4o(+R;M+cFbsgr z#`(YW5s7W>A}|%MfUdq^6hZRmc1s(dSCK6()|~fg%Ky0~Zb-5MvPN|(BL;A7S|ONT z9M$RZs7g;X!;Px)DuHL4Spd?r+D8>Vkt1meP z|4yp!bY{FLlm1X-d%_%u&jR-sb-Eu#67U!9{YSP02f|lXdJx0*dvyCl)MxAEupI{E zuEM=`Kx(%S4~0noE1Jw?N( zBB36IP+?%dUn%zvpX+l~P*c-!R_#R>7o&;^k&QWPY-mtHa}`(^ushy|pPhC{$)a|T zK8YrjMzMCazg2?c{s4G@4QxS)Ta5C+eTJAH`bxn_8*LF4>P#WJ&KjZ!v3 zethD&DXYR7LvPLpsJ!n{bYN5jSgXZpYv|HwO0cpQ)1?H6ilN+#T1gJypwd(=fT*)N zsVQg&Ye}6%we|p=TD>&IOZ&N*4O+5Hq=AW!2?OIvVzU3_>B*0P+^h^2*oc>6cd}D9 z5lF+qRy=n)*Rf9!mK=thuE`l2WZ}hdWB+f?0^qDdFgWeNEIQq3eG8ZNe~gEe@)-PT zpV@Ke7=CjEzoME+AO~(87@jA*3a2bEDHmvQM8&ZjMR3*@#q*}(9=MflJbfzq!qaqh zlDB~`ZZW>Yn2IG`la$A3iUs`5Xq`3}fqxosWTi%s zul*K~8>@^(c9%fDjjKhKF;`F-+g+;ZJV1)7J!c2A13GlWtbbwb)Z5KDDkZX^0rg$B z*Z;_;K;k4UR$>((&sBjYIpwVO>H7ibi~F#9nM(_`=onz0Y;h_x`3>L>bcoF(3F{1&>WzdBn1{ z;+>4O!vEUOIBgJS4MlbB_rzI0;nu@W=#8iQNrX0n&7~9oMH7|dw)loiTRoDl!9rQr z+6c#DwWrXAEUfS);=wF*F@NgBa9Q(?rPQd%q9m|Dt6&1NXo?$WV+|)aNxPYfSbCY8 zX@I)Kc`;A&;j9xJXXWQ4mbkHcSa&`qsb>mJ7yZS#BF8qj-NU{Ov?a&3|R(4 zwBo4hOsCZ_MXZK(=lkKcMN_CX;#Zxt#w>~N;03Pd7VG2mqLiQ>*6Z4YUEro7>uhLO z?7{%?e^Z#5lBg^dG9GW8rDPSc^{QsJvpn8jYzCSKxfNTfClOH`A9Wu-3yChGGtHwf zb{=oG7uLDk_W4i!Nk)l8OPXTT#KdLs|9GuixBn))HGt_5vhtxqaM)|M!z^(734=#y zD&B!DZphqwuK!g;x8pAom8=orEA^Q06HG(@x}0D;HBOsx;<5XPDb>d zthi%SIsiHq;@EsaSEOkw0(1tn?9CwJiq-+tNx8AhDOXsax=q+Px>+ZHHtO5%SgOX^ zS_HI`U@PddS)+zevRP9E=mOR2q>)0{U95Ub=%R#IL{y4G3stXxl!A0iA4g zb%WA^RYfh{ZufyhxP2A08r>k(kwqZ0?;2sfc}p^zPgBe`8EUS#RQ-UKz|Sc z`q?jE9iU%I0GcR?nxr>MltkF(ejk-Y-2n7Iyi0(-QJ&s?Zk!_KUwVf}xMK9;+WF$Y zEe*=iVO3Z~z4sC)a(O9_y|MdflQf0BQQw$O7Q&b}#B_>-PvCsqq!kXo&OA0pb2eap zN?y-spN>L25Ji@616{n{;wC>~%Pft31lyrSFK>1Rv+STcuWq*Uvh8j!E`Z&^*zu(p z-hD5-sc~d{8Ykwjc2lRuo8K;)S!}2|QZ}Ze(CL)?ywUrPL__(F-SSi!ik_E)Y#(wq z2CEDXqw^@*C|rovH;rN`g<>f{i!`=6sEvEh^;-JwXozxF?==TFrb`bjFAB6xXXCTR z_^b)Li}Czy*EaDJbK&#OWv40jp>amv-{rq@sfVS3ig#JpbTN*w>HR$((SQ0Gg|m`D z{|pQjetcOR;@4)@drxpOi}vwmUCx2f_N^L|l+;l1i)-WrOXB#&DV8W!6C%Y@qSZNF zFDC+UyvyBWbHRQSIw(AATJUB?@5G2K;tvZbTUT!sVgE;qhWIelprT zSLwDm0|98jK}Q(~imu{B1W>L5=PVw7!76A(gTbYoFq(Y+TJ3D}iPH3n11npp?SE2pu zJ(joMO0?G}tUY1vPEzPqVDGuCJrU#+K|T@WWg4QT=_IW+iH0r#djj@e0`|H@9iOP<6Loy=P{&VAz@C7;_kq24s^ecsyj&AGK9S>l zi5y>(u=a$t_deF%JJs=thA!dk31{ymoITOdC1CG`VDGt$_FHLH^I|HI;}bbPk>h)Z zK0aBrC#<~}vi6?4Xup-Ly&~c431{zpoW1AD@wd`o_RU0&Pgr}x+IxwL&Jxz1u=d`^ z+Iy}Xe=AvgviX*9_Jp(d63(80Jpp?H_8tWGTgllIF+Kr%F9dtf)zIBab^Ieqw3-C% zy%6m^chP<;(cX|~=n@TG@6*urT-JUo<@h93L^@&Z32W~`tM*&T+7tWu1nddedkNT+ zKy(S%dm-3+t{i_WIs1ilvT9FO?Y(c+-aA!v32RSSdoN_|Js0e^Qbm_+wI^Utz@9AH zll+cJe#iW6ny0@NJ;^goTIm|A;;bs~ou>XsE{+QQpqirUD5$X- z8)YLc?SEsp8W|dl*1-?PaD7bPTgYK_o~}{2Fc?b%MgxHbW;V7usEs?$^;){_XvXQ# z9Mn;9T;4mwp)T*8jn5k6v!<{y7|+k~Q82+K1QYo=G4Gvs`$0`XJ*V~gB)?-6tYjpT z{Eq$fK{W{59{u-j6$JMU#V?8ou3OTyJ8oIT;}y@azT0i_eLCt$x4>=%ExB`8N& ztFVfC?-D0{kgv+~p48iY@?H&>`dZ(5Pjvc%Dy=f6>kmP{yk{Kx=e;`ff&u&-Fh4b! zLptvrh4@PG&LY4Y6!K3)x&d6h$#!@2x|O z*Zb|MV*DrnkK3!r2Cb55Q^6`8X;t1^%b^vcHy$aLbyvqrfi+=8plfTRU>&Q1JNS7= z6s)&(w%%6T8vm!`<|=~?qOS-xLa;GzZbPrNq5Hmp{Z{U@H(hAqArJKvyKivyC z`*kQUO)%hFLTm8+V$c((5@HP zQ_=n(ZZ6t?qZgw6y6X7b67Ah=v?pLsz}~Cn_}dcf-E6ccU{An)JA=LF%JH{SL-$-a z2D1s;6SUvXXz!hJd^gc*60j#=Pr%N$tlMe7T~u_59N)3io@nTL&rW;ql;bZaa(sgJ zUZ{`nooIinn+O((AfE{Gi6H;|5ae&Aj;&#w=>v#u7>Vbg1x(xZwcBHwBOEX@40gP ztweh_shbn9Cty#&e!I!>iH0uG&?OqWE5p?!&M-fK(c=?0*Wh~LY7#eB>m^|CCJ(%&=c4^qvi7$U&$ooPC%nCvsOa8K;!Y-L?}cdZxy$xjX;+gdLa_H-LH<^P z{YwdJPtcyAy$1>Mw{qG3L^|1jOZMMfUa4M{2&(7u_FIYe^GU#(gtzxX-rhTx?TM#r z0`^`A_MXeyZ{@Q6rDWNjpuHEO{X)5S@?5_UjY|bycsU(p%(F~ekhN@G%CgF`{7gFh z@cHxS&jdNnb9t{K92%7Ivn&eAtz5CD{lEC%>Cngrm$g2TaygU#Z76A+vsM|A{jGm6 zAgl-mayl>yeDi}r*3SmmAWQqtjpfSV@a0r6gv&#sV5kkX!BH@b;^CAGkAe|4LM2sJ zrIfuRZJ3SBdvt9Q8Fx=Xa%yg78`Pu1*Hb|?=habAV>LD^3P#h3F_esng0VJMC1$2Z z0vl~Xv5}#{eURKYH*+L>D;3o8yEY2O*|?z2>inNP6*dIpDH|UJ6Kp~-F{}#eZKBmj z!6fxyTX5PY+3C4niXKen=j14uqNkZkovBeU&8Denx=q(@XV?^*!EK>!pxv3!%#6s# zHp?2KV7B_-NKs=H%&|Et%3EI5=GttVTkP$T;C@K%pPOk=Z=3kt6b18aUNAqb3>MgY zTMz{cX?qb@7Dd5gTO2ImO0zAo<|qhl;UpS-z(RWtb!kpJc<(DO|48iEHcWe=)RBWH3d&Y9dm z&g5*IGkLvAHrNKWzmW{e(oZM#Z#*bb3CWZUea_^Eb6x-$xPLAo2#-BGZ|_NZj9?G@<^e|hvP;L@bf?v9MmY>Lo4@0!67@OqQiDrt(>)kc2=~!i6amk ziGq9W-XP+!+AOlRC^%|I{g=O$7QrzHjzz(7J06^{6aK5en-SPfQhG893Rb8~4eWPa zA^VyCxVDsT^)e^jWMCAX=5m)vU35J;17kOCs2{&w5-?u;+}ctC#!H-ZpMX*Cts?=W z-dj&i!1#R3CvR3F_22G=Z1?(L|M`ySi>@bg_HMv_@pj?tPdv50#Mv)$(miL_d+XrrdT%|Ivw!*Ka`r#& zg`EAmy7Jo+?2mSn${|5}g7#j`+TZ%`oml(ZoOHw5Mc2XFMfYA=`>iy3>Bi~&=WiF* ze*S-SV(pJ`(miX}d+T8BdT%|Iwg2hOW$j<-g{=L$8oJvO?A@etNWh+eJ>l%_8oJws zvv(uLCty#&-mAg>%x`ThY3MF<(v27|x(+d3bnjJ+zm*1V-R!+xx?RNhXBqznX6TtV zv)+4-lkUZMy|)fAUhl1^it&GSbH(_-PQ>^t_ugLpgH0u{zs5;7U>98n*hSZq!9Mir zUTME{yMX<5#=isXZ*bB**!A8zz^?b!Q^EfAn+x`TNWk7pz}}4*pMX69d#@JbZ%fYJ z%|?3y_5|z+*xMC!w~H9x&6+&{djj^`8SH;m?(I3}$tNuvzL1U`&)RT0E5j$POg?FA zIe2+*1BXoB+Z)`+ zdj4fapAIUSHgHq3O6yl04Dg!0W*g9-J2`@ZR2Z1|o>hY!pG;S#`}v>z>kOW3W#+4( zpD3S9%XZB!ws z=BCvv;=2yTgRRVJ^4_-i@Lcg>o==Bw|MFj?aBQm&#)QxQ3O~o<$~MNv`d@p~OVJOF z%}EXn%4yu|{@wpf2l%}C-{ipqig9{7s@@$9YPs_`dWe^sjkDV7V7z#X8)H;~4m%x34kz2VDgoZ-CK8O{|wsxg?8_Z};b z#p7w4?f=?q8CLUUmd|@nq-~D>OFZvf&T*H!2wlBgx|$f+rv9n$jn6P#xXSsz{*8== z%3Yif@%+4ZDIHeeK3C@4=kSG_@Bhsoc_OJCrGG2%rz^8XdGD;w&IXIa^XXs-MN1-F z>zeVa3oUPpE#rS_T-X>a<%)BvTNW%Ap?xWL6=*+^gP!mAVvZ*$=eGlOg#+;G-_Gz=f93IvoJ{?H`iKX7 z4L7&4lA~!Oj-~*$=xE9)4#wGZZ~^~Pd7KXMpZ~iw4v}EghT>)l9Ea1w2u?>hA5$Dm zhXY8@|I(+^;YC6+a|OrIYO4m5HU3+la;2jw9Ub9ZIwlxPYsRTXL0|z6q+_ktfBEM? z7w_lMuX{nAzUA>ywEK|aKROQI(w`a?K9-IVByZA5KnKDp5Kf8kADs$vCfhXsl_4Pk z<)%|SJpx2CKoHetavuAR0+|Mo@X=PigjN(?9`2)!pkfY4$lKhOpo!0E9s@C-zXjH0 z3ktzPn}@IH!s=j=!`~v{!A%y^=;DYEdr8n7X8Ed{EsTPt_+BovrMArZhdNKo@bzq` zk6Kso55@U1BiGheXj>z`>s8LxQnagScy+`lj?ZX>d+1ucFEc4yDuRc(_VC=y>sgKV zI!@L_c#Yn{$G_fx`5!!Pz9BrHE$n{0#pMQL?2MMZ~Eii!@SXK@%k8+YU` z)zb{RE#jlUTdtzpRc{AHJ0d>nohss^RyRI~FX;!>DR2PIhoJe;+|2nL5WGM`>^>eB&vmy!&YAl-=jQbl%etpN8Ocgd6ew_yIqlA?_Dm%Hh6SW)DXA+n%{0 zPt<3h-%`? z^Kac;o%uHto%xkI^V<^a-K?w=uqR-@ombY^HEO*r!Jcq-31KcrV#3*bPa>rR>{_&& zG;C=<;p_=#@70|Bm4De-z@C7e zZ(;-c!Tt0(tz|zf%^pF@?S24h#d5Ya?_D5wgWZ+)*kE+$ zY%sdxw)nt4qdPsKN=MjF$k{e_oH?-7x>JRl*{3+BOKJAja<<2XtGpp?{Pzv)x6)muo4Ak( z*b}gWjs)y3RNU<%#&=`Eo`5|8djfU@ncE8N-E6%jU{AoFfc z@6FZ5|68Jszfv3j#P6Lbf&C&U-GE(m9bgyT4H`l8YA79s~=E9Q?mB9WeC*6QubRA$9-FpT5t&9QNjW+(* zZx^s%`gaeN!2TpB-Gg24tpn_OZ#@<4KXr4#{;>q?S911Oe(2#6*k9$O8?cM61MH%E zuVBBGTW^h5-)H}g+Xd{eG5#f^8cw~+T)9^`R~Dx|elvBIw8sbe zDstp!&CO382y5Pv@fdsZZ+s?$F`3ay+6ssFHJb`~OyjlXeAot;Z)lTl7h{kt92&7o#bO z{n1rIvST^u8>a6jM}Jb=`t4bc>#>Xqpbqp@6&?AGX|;~hx+oZLS9}DiwkmRCu%~!VrQG7ZI=BO zgR&Vf=oHD6vAL?i+dUO~yORfg8AP$WyNXuW3O#NMe(fzqhwKy%?^#5cyzra1UjN>>ga$58=Ol z*p9RW_fizuy%rUMHm}**6wV_%Ep;F`%7tTg)Q%OD`Pdb^^v6H<`HX~Nm;RVR>=%N- z0^Kb{r1U-|o41dbdq>-|lD~PitmLn!X`qPDucf( zXlR9B(T;_7tV>m{B4SD?G{6ahyqr+G^*}b|Qk0AK3e1Z3B$z!ZS_8f*n;3yqXh~RZ zlOm8hSw+NX5pBWhtsvSeLQbSy%5u?8hc*s3p`r$B5bY^Yd`h%F;U`iq{Df#{LpwVH z&W$P}b-8HovsvU+hqeN6rz{@@b46Q9SgxY^Hea--ZLUk9E`#5yU;&S~kR}&K1YKFA zfGmq?WCg3e|d$pcNoa6Je$T#AQKTrry$;sW$MTY_tu<_!KL! zJWT`JJ8g5J!|pU~n+OcVhqaZOTisWBA&muU)}=JJZNc4iWjm(|xneu86}=l<(ck~q zbok{IcA{C^<>IacdqS%1JWY#&i4_Sk;^N4}g9-2uuExY!dUEKk`z{+q)zrjPy3 z7g9u>s0j{-Z+wNHM~E^3Y>Od-K*iV6S3@wMOcQY;>mp9rF@f@la_@LMC<#K6Q4E^4 zAZuB|GG#&8hdov& zBrq>ozX)_zvO?}poBw%J#rid#tlmvr7)BHR3GNmL z&9=mvTY`|Hr54)K0!Uj1qs}-U(ikk~X3L%ZbV|o;@op>l1XpN!tL%hBfzbb-k7cOL zxU33aO}W)ak#y+1GiP}xZO*ix?qp?t^nW5 z`zurZG$VC}pY8GA{)RZr-taA0BzN2w0mA*l;{jSdNXfwn_}!zDLv~0oI802K!$sa* z89W3Dp>mi)CV6Lq4=_p}h$qS;{5(Q17_}Th6h%RswW;W+9aTHWV6n%oVrC5mn#2*Nz|aT4eXPI#ix)g57#9F7LbM$m41uz9kR>2F z-2eT*OheTr*wRS*79fA?i+>It z!zn=!Uiy80))L+jgvT{j2XovcGe?2bY!t383^1X^ydWQ5 zRtM+uu{3e1DME&wr*T$PCjY;lcXX97LC6(+ENu&jJN9}NcVEbtu#gw6*}Dl@mbg%* z*i5#FpksQVkXA$DGa;8!1SZ9&PFu5^2biOlt6nMgm@Owvlj;#Esu-Y2MXPOf%u83s zytF=8qk3y0S{ngHq*nqmsor{uijpct1S5;N=^ZgF4W|q0y)y_I^{$9Q7W30B4wvBT zZq?gP<1z2EyNS)D`|YAAW_v2yV|!HZ3{jilye|5Z>Xm|v#So<4LF#qEpz1vY28#iz z4yzs!*c{k^6mgg$-LH+JHU~Bp9kXMq_W_IIU{z(4GTYjNRlS^66CDwlP6Q{z7xbl?v8`J7TjG<-s}`wOH@T(0PShjA4a2|4Rd!NZo_qVhhAoR1)i%zlavN=bS*kv}xEmpy^>rWsoyZ+RIGoljOxI$1zf9mK@ z1~{i|yxMSgp1_^qn!wrr=-+05bW>MEgK7T{iS=eM)-os95`=I%R5Li8;e=W^>2#av zKlKxu&}UIR%du1Vr6I=>Z7@Q3&9f|R1h9V(lJxvd^kkkjf!le2cD^lW2^J!LxCJM@ zUSbPvNdcb8+S8h=gHW@Bn;}BY5JVINu!ILBmLS8ojE7i8Ts3~K;HL``2u&8CKBw_- zwH5-awYrfcpqk#Si=~Da9rs*ALu<6|rOH7eRt`$*Y&o2Ao&Wp9Dg?J~VAtCnL{oe7 zkGztoT2Lsp{+?zSAAuFIqEk3Eq6ltfNbaJ2BBT*FP;mtbp(a3_wyp65Q$aK}s&$H{ z27Y%@Z8z0iytF++^j_PmYWEX6P_jDl)sUYbfCOgVss>634i1EG>8TY#@PHlkzjd7T zJwtO3L!-cHdO)~o_$3jwOR=Bh^CfJY0hK?y3Jj!Lo zQB#B2;CT4D>L`-haXaD0`lOxIl>$`?YFB~)nC%Maua&2Fog0VhNFG~R?w4(Y@#gAM zyc#6mdhf-5TUy#1dWn;6_J%~)u{R{Tp1e1Nr-tP^)K4HCP1tU!4HdMMgOpJ@8=dzS za$tGetipvXZCTkeFhJbK+L-Df=m16lFdR*-4$S~RXSJH&ayCvOH{DrdeAW~;26gO2hbE?xDNG}|cpAwubu6>x{y%-EXz{U9 zM4D1^)*9<}SK=_qBgJj3irZKnRxq#p|LnaBfL&F2_r1?PXJ$?^lVk@1Ofm_qolKG$ z$dCyMlgT8I*&#W}kShd|K)B?da3&$yNw}%6M8!&#RluUOHdrBz#7X+`CG{eJ&v?Q_mdE(&sy%MmAMU)EZC?X~xRKlkTp5Yb=3a4Xp~ zS$GAXkO6mY^lyH+7PtY1E0UblVzHzuUR{g7JdX*V&pk?qb-p{VExv&F-~#`gSD?$H z>l*li2C1|x{*pLMi@#*w;xGACq$NKVf5~qaf2p8Nf;ET7UuHp>S^Q-dji~@)e`^F} zYI!!2;&J29_)Cl4?1s;`KUT58ch(rS-PV{}yrF3mDr=eh!^)t*49=1s;eW-``xgrO=*QKyZm z8l;@prMYogS8P+se+JYVp!rGi?np66v2E1`Qbg)jH=z`_ab;6|r!q)oT|;E&?@;JN z%^hZ7m!kV-+bRvDNXxOCQliR0E}n`tYHEs5JT2==y^iGH#S=NdTUmAg_@hkMT+)|?P?JXN@$euuRt($=ehG! z$);J?Vtj#~>xF8*&RyWvrSW=gZ*Uj74JnGR_3ok)+OC`zAybtO$hwX|AFoStyGqwtm{Z@vP^iVnoF6rE5-D~b{XTW94XLg z4VI4LLBWgI9Pdqjh?!E&Q@7WpDaroXK7jW5K#GcPzdKlpui~m#yQ|#QDc0+2xGIdR zlq%Qu1*oaIf`<4yTD;0#=U$bf*$&*R`+^*8Uc=^V`U0~)n~m|im}^S`>JB>4t9>M7}GPWD#rB8UaX3-cU9sZpBu&4J1cRIuORCBYZYS;{l(H6 z&>v>!7(iFMD$v#LB?k1TUM@g?gte~%{ZV#~4Rk%TD$w=JUaUaB?YRZ|d+R_y($sbP zcZLA{4t9>*>dS)+Hpnvqa1^P$o zK(7P64)hnHO}h?s{NY$EN6dW>t!=XZB*H=%09QDf%bt6#Ynwe)p$`0R0|zjsbMFs{&o^USdFh z$IAuipZd%Ypx?{Rv4O5r&Jhwop(ve=nvh#x(4)z**ON# z)vgM3wR^Tee}V1jx4v9}e#`q-*MNR2JI4mPo>>*>dS)+Hpg-{30{u&MpdShJC%-oY z=ufe844|uB73gaBY=Qm)E92htasm3G?+*d`4eT5n=z3;VpzE2vSb_eP=N9N+t^@r@ zpg;P>^J^6SF?NmtbhWDjUG1JN&|hGR{y$$XK!2RIud(jz92@9*W>ui;nY~zn{)6Wh z=>J*=dL8I5c{_R?=<%fi-gPd$|bepJMH+g8IGe99vM=Gph>fdS)+HLH&v6R#5**T~I$#Q2(s~ z{RO7zb)eUQ{)%SZe``RmQ}o}Ab+1$OU(34JDf&^;vi{b9UZ?1FpjXne)>-%GKZLCg z^p{xv4^FQAg%vP-drDAs^ zce4{J#Zgppayx%ca^L^_dVuaOa78!5${dX3%t&IM6AGVD+@zUWM9Gu4&}fuXB?TqX zA59W0tE7;|Q6*WoC5ns4u|-Dvu?#oX%AinG<&$4k6|qKld|$9yIl9KFI8jPvg+_M* zdBUlGaU#u6EXOBt#a6CpgaHcuysii#2PC##JIEQ@BhIHyR^iy)`F^k*zRg|QmC^KNB4a#uXE$#srsR0 z5hIXUT}1(?xv(MMpZue$0XAkej3{74oxD@o_XUi|CD-X@MBn}(qjUwA9g$NmukPJ6 z?=GWwo0Sz(Il~HvF<&YZWz`mxWp8fsctAe6YRwetFiAwhS=I$GdJ9s@FtDvu>Q?ygEVppw5y{g73IV8FmSisfG?UD!TuX38rRKsK6)<{C z@6HN$l52A-qQ^e1ymKp+Vto};U)2-NQJY8KPMg)qL@F;lq~_jpP}%P?cUkm@p9!fTmZK)a#)TR>Bn=yMoFp zu1s;TT~8w^+#~CF zdS)+Hjrz}@TaEh9UV$3*uQi3+JhjfLltSooE*zv*V4m+lUgU~$rO}5v;{qQdtKXT% zjUhyu50-w=N|uo>UgS*Cl!t;<7xDF z)Tn?{|BDaQXvP_>8an}$I`78t4fRK6Xs8ZSw(>KBGM}wD$>iN}WoWc&eU6PDh7fXY zB7~ZsRtR-ogu0ubar&m`nv)wI`-W1vc0#i6(q^kW5hBp)zv)oQh_tSGtM{37Qw%BZ z+NjbCDW4eq*Jr8!B`P~fKM{01?@sOsd-<`7DIDyrlse-WcW_V*4^koN(E#e5cQN$` z-Q;)*H9iC9qCZ%w6YZR+Rz#T={oNPx)JRgt1(58#N}?RfWeY?7K~lkvhIDrxUJ`|e z(4{P)MT(*1E9F0{PoV|!&4@)(!cuDT3|dsGB|*Dqx$fxq-e^yY&{GDY99r_wKe09x zP>MeMpQ^D^gs$H!x}LApLYoU+*I@HGL{(2}_c{(y^;1OjY$*QOl;d#u&Ts{UC-1h; zg_mOr{S;ZsyM?OrqTR)$k>zI@X=L*%?Mpq8yi2T}$aKo3BveOPtGlzv|ojiKE@bm#3hc!3PF46a&BdDU9lz|Xlo;Uzk_fn>9X z4pC5ZrCR~bUrDN2$}E+j^pJTjc0PY=A@*xi=r}27-34vrm{p3|3n{I%&eQJ_<U}Fa$DrP7SEb%+_iU;63#?ST^W{Rle|X>C8uk7$JIAKpdS+GXt!MUPrQSC_ z^_d$9ujEzd2`-&_a!k&Z9FHK4!16ul1gI?!LyjxV?V?AjVdzm1(^P;|Ac zQgpR@iBa^wdbv>aPd#;QjiTSn&ao-Fo>`Tm>zTb+Df;g}w-o)Yb&7r@MZfX(>uNy1 ziJfBrUG1tsSG$)O&_Dcg0s3u!eq9adx3hC>pzE1cfv#uvVg>r!o?D>5y$$>_&n?j3^$G;~ z2b;pC>q8u0l4x*pu08O!{mQ>CK%qZ5#EP*<6^Yp^PR{G6FuAaL6x9t~zKlCX^2J~& zdl*uZTzPT>l@GDcV0c@Nu`F~A*5unkX%uFEGsn5Y^0v5-PtN0gktQPtMln;@l)U%)vK^Sf0e1hUvb%az6T27}@+#5Zl)V3XHk%#A?kh8N zIX7Zau;}bXLG-16$+=u-zPKnjpSxfym|S%E4=ws-?hUV*Ji-+(9u>4SG*hTicOFd+ zu;~PGLrY_G^145JDoAqJy*~HTJVzQTS5WQ85sPy4UbDo^EnGRDgk_HFuABYIqE1$a z)hc7BX-FRaQwEJ(s6j_zso`3VEA|DHk54des%l1E@Dz3@y z;0+q8fM=5KfaOu+aV&gKI8Ng&%0+K@f37lQ*t{s0y$CGY`9tOu+H$-}gN2oOg?>&W zxRjr}?jreJ-=;wqtc;6ijI6&yFK){YrK-&UOBlDPNoBW_-Hm?2{^xpGd78GGtjRG} zQB&4Sqy=-u_YJaQ%`TTj@^EQr{%TWhw@QtM$%6srZqPSK$P0d8m$<1xwO|A)=U zji&f$RP`zv%f-fe{~WG&9DB#H*X#;1qnkHc8TG=GzqZR`Ybxe!RW8-`bgGz6PvZ_Z&2^OUGs{u4G>A{**L=*cr$$E7A^_b;mQnPfHUk}}NgvHt}Ih)CxA&Yy#&F%{p_`RavYe|aK zH!Zk1Wr*sT6gPeSH@U~TNr=&!8mF$8_v5Kgh4DN$FM5!f_R+Qvw_$1GxsB1cem}2bsW#}Pw8Tg~LxawsVk+io2E{CmGumZs7^ZPXvp2Me zb(&|@f(d$y+Zui3i4Y&Og4?FM;uB|c+RlOPJz>AU{T*(*+hMoAljC@z$pr4Nvx@_} zj`PVYG+VnuJSf!e=HTvfyvOYUwS!}t|GX*OXY@A?Rnhh^P=jW@ zIAD7NH)FK3FIdk#HFC7kZ#J=OWrfptMA+{}==)a$+66bVjDKmf3WrBO`?rvy!Vyj@ zqul5+m=>T5F6s-~v=D8+vT*dCZ-x~pkK;}J!7oFgTyV$tgcFl-z`5YYm2p=&0XP@j zi7IV8ky^tAcTySTw&IggaN~PIMpg~z3G7XfBLjO8PAUc0))Q`W6XYX631a==YYK)Z z;Y@n6JEasmZUrp6I0eR&xsM>8LboY>!4x(DfonG`bOlr5sY!c0jU&^_zmsFSd*a>M|da>Ojq48K5K^zAAO;3`RM3)Ia$;%4Gzl?7#C zco$!f*$yAlG}c!YA5y$c&h+(&OK~p)&jYga(zs9GGuOw^?hM`7d^bP3>HA@Z)&=gY zR9N+2)&hlzAJk+8&@)_rbpM~?eUaStbNoD#Tl1jyH03a@pZhj4@%z;WU znF7axJFhR;$<1Ym?C0fK%h9!ETuLqwBJEP^IJB-O-0jvyAG$M4n&e*M)~B)F%ZorJ zzM;N!aVfrp;V*TUxJ%RcGXI%(muX=No%#NFKi&4v&FdAtoXyM2@g}+KY-ae)Wl*_A zhqk({Fk#dh-sBFbtx6lO&Pp45@0B8zjeo3F+DTdCb#7<2h5==c0VBZBOIO50^or<# ze-Wa)g7tBkfd*aK4W{vKp4M(A#WeQNV^2B0(p?$vb$g?~_&AIMNZiNaePwDNr*ckt zfnfTRrw7y9hQstH8JNG17-|+$HY6;2H)YmW>cwi`}@5CoD3&u}eJ&v8)CMx&l?4AgTJ%<$)a6!Hlk%V8gk5g$({c-|VBJl>rc{pfX) zWKQDnNqqrVBYvZm9Up}OpW6;`Z1f(S6CsHc#Mrw@(c^b3ARt^8pPan&(4j-uib_Hq zPw^zO6i;SQql^4bb(4*|g~@Gq)7s+cHU8R7x6fQh^03Hbqw6f=nR%+~D8ukF6NRzN zD8un~=@8^lU*18u-$A~-uCX(}44$RY?Vg+8z{hfC(mN!^!p($IYTVhhm|cdmoufl= zwi;v)#BEPD$OgWzjqb|1`Cit&hs_>ai3rx0Z|#sk40G6o)1}EV{WY1#LUqHV*Y%g- zZWFh#4B2dlW;VKW%8<&%Is&Qegck3GjPCXGfQQ~klYMjZ`!qm_?NS-{%%zagWzo;B zj|VscZ_6Ebgu989!Yh;2T>%MQ?#^u!Yn$=goR>$YMPb~TbAh5U3fXg7%`W-L0=Zej z|0Xx)ptFtcyfQTQe7B|yyW8vIF3QI7as+-?OP0E|F3py#7h2gUT6rVyY$yLh4+BpR z#S;g{6Km{?Xm(K<3Vg8+ZFCzo(m}Vu9b_c#z#=rX-16A9`?{1K@X2>*-uzbPeHptr zcLvPva$1NsyG`Pnqc=POvr9xYTcA9LTn?ICenB(+nAJ2i~y(o(d_X!&LL=GvM3Xg0K!T4&J9SFEPvSDbm zlQuhr8PXWC30J&}5hw81#;$p5k!Pb+U|BU_y$xQT;g$)tLb}zMS0eIW>BsD&TVFYzueJ+lyTF{ZbqKauZTGtQfH<_LR0PBUAhtJk zA)8=bY->Wtgbx9D=LqtxI;O54NYS*L&q81vG)+r1^~l!|z^|tJ-4gId(+<7^fg31i zp^{B*dD*@J9N`O~rU%@)K#``7j{x8=XQFPC;Ejx{BY<5^55l@0RMS@Y>cIGFCU7AW z@Ud1pvfiy%)2k4EuTs+pX*X~i$_TtgfZgOSHel-rvaXt5jre=Dnik=;L2(&zS1ff? z23s8gxoUciyUbmqroe0q4YnAAEw1+NrrZ_MC*|egkG{?o2BDb^AP~KoL{GG#2zmT~ z!^j_0T2BrtPbUW_dODLwo2Y<>M#vvjRp^A2qRv|#kK}t{QI2WcGK46#AP`uWQRqI9 zN)_!0FwrorCS*d6m}A{>sX``T_?yr=Dx@JxDS82FpijO%L=bII+(d^?D#o!vBIz0k zu1=oB?n%-GoB%>k0)(w@{89jz1As_~DI(}Zuk5g)C((S8gw;vWzy2r(A{*Sv^K@1p}g`SINem0v#QY>I|A-XBykt6-pTS(YTP*8Gy5u1yoq%4?( zYt*{IEw0|e5>Au=VrdY*xd1em0LEp=wgc|mfs7h2cPmmMag?@ z0(8)B9%>u?;yZcBExWCzfzs}!QZHWSHoD7FbWdz=a+mrz$jja4r4Y~SJ@GscZ)4Q$ zZkyYlLOL4U4hCmvX*PCpW|!OPcBSzZ0%n=h z(kHcva}%9Ylu4lzmC*rahWy{b^54-Z^8H=-4SGvXc}?Sovs6{b$Yc>39<*(<0_}~HxpdVOkr}n-07~njaZ}{+Mrn? zbHb9FQ;N^z5NaUTlLDu?-oC@|<3Lrx^};#28?-1Jpb>$m5u$g2(L1pa=g=tQ zd?A5wzPjBKl&~a5l(7QXT=cnq4VS^vO4!|%ehu@YH3eu5 zta}l??)^ZD{nceuNT_z9c8q1ZBlud_SB{`J(jXT?1~1GWL@!jR02RtF(_Ji!3D9%b zdh)f7&2^AKjm$k7)q}Wk2#jf*jRYZYWE@kY!p>&Pf{F>GT?);+%w1lJH*trXS;8&+ zZFQU6R`^p#yph}17H{Vm3S23RJhDn4D+jQyaOE@}4Ex=nDX6-Fo$+o?>~Xu@o>VF! zJ8XKPKl!Y&w5Aqf5lu&wGTpQc->_fQ^f$-lTkE*2<5J(YIxe3FT)sm}q0yq3`Q%V| zIG+nI`$NpJ;%Vjnq2C`%_%nfY2=T-K{qv6!X{;~Oi0l(Ytgv`nNGK7)B~(N? z(!|@ok*_eOkLQxdbCA=9jGT&=M)!R>@91+#VWt_{UIT@dOexO7f4aBP1^a0rmDhH<4ABPt%ZChjyEwY5ESrp|<;_ju z*6YUzm4O~uj_$d^7(b8p0Qi_4l+oBMpxQz0Q(#jLNAfOW6K$?*lmW68{x-}4`eAKH zM1LWB{z#6EG~H3yfd&bb;+ueQC=+Z8+ZBcv3B%ItNGar7!syDcAyCWXXo-dgArywU z2sYtzh0U-t-wKm)qT8ysup6WjosTAn$&9B9{H)UIaHP$(Ng21zwVH|vKu)Bo087)8 zX_{$$I3leNO}B$&^iRTIOw(9+Z3V7j1+E+sTxq%kxJu*1`Dru-kJH)gplQc2O%F|X zy6MtJNwIJmO;PL2plKIPhbww$x(ohSYA5cuo2F9q(DV$No?*b%5%j#8z!h$mbW(u~ zcxTeyc;e_|Z1N6={rv|lMOj~a$)gg?fYP-js<3BbIMtH7U ziq=PM2WTrr4_q*Zmb>L@d!<|EKQOH@#BJaR&+U|8L?W4ldo=00L zdDV6;ZM_Lqhp?im?LK$DzBpRjb+k3Em$n;dyTKrvalLAr!u6Ue*j5sy=dC$7;m~a~ z6%b0FP^#P8S>X;;qF^|b?iQ7<{oa}VqBQ0FEjhU4&|NNhoZWE%8^~?ukOww$<)$&s zzi5O`MnYskrw=opKo_}~8Bw^18By-UF-hv4A?Sm$VZ4a`h}2Iq`j5;$4jGX|8B2nz zQjJK0R8h#WDNsZ8WtN_$}x+w|S z0$hn3h z9YL1V)eb-uWyRN>_CmZGC68aL0ami@DIr>#$h#zn@I}x)l35tt(+F2d3!*e(7kGOK zXRwz**9=MPY3u2p+Fq@;M_5E8z6S0*HMoXxkVB2M9hSQa5l@rclu4(yKvhb}u$$>R zoDwqLb#9Zp&dRwXwwAuC%!hZU+g9eIx=Yu7mD}!KMcbp8L*Cz%yU?p*Zx+cr zToo%FEC`ei7OgA3l$m!Q*vq{8Tv3)7JSk~10&Nv0PzbRE0q)T;1qW z#;5{37*&JaSd9VQqv`SPICp#s1jm_zLkfh${rKETzPYYt`qea^V8cw1*la3fv7XGk zo!)JH8QOMxj@6X5QZY-n$@y;1XBt?6o&S4{vP>g*_~9jl-P5^&IObB5UF;^O@f1E2 zQ}E2iy8{(m09+g79yABN=Tz9*sR!d}d_F`KIe|h5R#MF}#p?o^p#^fC2jOXRLzJ%l zZn~OfO4r5iH0@=2*JY4V)USa%O$u3VQRlqU=yVxAySY*~CrtYY)5~O09l0~om@I*A zHj@pdpya;A3vu7Ox$ilw%bbIr`RxhClyd%{KYuOfd)VxO|M4qQ5cZ*>X99MVO9SX= zb5Kx}vuV75i!8`4q6{pVg7!5mgUBf3prbv6xS^BAAzOl*+z@^3jX8HV4&4w~6t;cA z@8?{y97rd3TZV?}3*RQj-0H|@9!D6VZk=zEigt=+~c!&(by{zDedsWVw5}PQb zivC`Td_rV-4WYuz+`s_lmK-GbT(>-pS8y*Ys`pa#T(gn|2L6+Q!dEIWZlwr8wt7&P z@ElDo)!^31(QK7wejev=aN6P4XwUd*v^VhH=WG6?$;)m7rzb9s8rXki8l<@@+H(Yt z>lj4D+N~Go`gl`rt%vGu!=cImCN+AT!kx-q!H^I2uPZ}{}eN)IUHkQ8NfIo4N z6Vm*ilwx9`Y+GOOYH6@vP2sj29PoHIAr(Qc7#g$;WQ*-J#A@Jvnq{b8AQEqAhh6{N zQfRcqRtM|CPE1G4FAMmI>1DUDAfC({GMUfS4?p)sxd~2*K5!>rR^48IkIqqqOz7OV7vBYFyJ{dRa_)Ij)rdsAJVPG<2&doYCi&L{wz7|+u`hs_X(Juat zXLHJw&MDuAGckAQ`yrPQWMo}+F74s7Z>7C{S9k*mZ`TUH$Xr=&wS4-dmtNx+8SATG zHT*1~mtAK~d=`s*7K{9p78&*-`e0>|FQ|M$U@?)kxukXJjr%pj z6?{SZ`D|pVv6df^8jEpD-WIkZ`wHazS77C@c#yYdSvw9Z_h)4 zZ~RkQXK217pS(2>HEwXDdcr#aydZv?e%Zg>J^;5V%N(=6J#RoJSKA?-2hcaF^FXWPYbDqdnQoPc3HdmQ#GATmn z&064|?N=w+F= zd|}+5Jfy*RrJWq_lj#4vJ4|lOR7U1$!23;?B@DX6Bu?Jx#cpZz)qZ4WJ}0IeQjc@l zHV%0JSKRE@C&DRn+17Zam}0YKnvjXvlG`-`X3hk>uVi{d++1Nx(G9g~$XMdTH9+_c z*h*Z?N^DFX)8sFKV>XX@eC1gQSz9gz3%Cg&I!gWXD(on)@+KKGsmS{WnbF(`^l-Pp z=xz~m$jZBwo?Df<4W(Fn{A$dYul7C7qKO|6VA#p*b{gv|T@YFy4N`VHj0e%2 z?55Ffxx)u;j~k3W|I_>gEz^}8zOsy1v=WrARrNnz;p`;z0C||3w^3h(yug z4wlh$U4;hgYHJHtui@x5WjOh3h3%V~!oiAPAYG0WZSO;yB+mN&FnJ_%41_MbqBKhO zJ@~yheX-*`=f9!!gpZ|qV1UIjU8x|B92yJ*$pR6YG(5w0+q+P6QYme z-PRQp;uDj6e3FdB%I?^jLN?h(Z{+Fbc-K}!dWA%aF!Bo<>`qAm<0N;ob8T@fy5wTM z&K+R#Mk#e0E11L_I+dABkTB_y4^|ez=0b%?(9YEWuA*a++A zfY;a3wkD_!(bryszSjJD_Lz^o&{&ss>$0vpvo7nt1Z3ShRO?W!Llx$$u9g}Zee4F4N?)OBsoTD> zuBMi{ot+pFc)pziJhdfA1BI z^ap;pzJ~M%+433_9UvWr(vXLM;bICZ&)!z(i zaz-pFPYr6I2Gl@#%ukrvQSC@vx06k z93)C-o1cZ{j*#K05gi!1>4T`HPxS5_mOElMP6ZaOqv|FTWkTPK?siD%0D*Lhn%gYB 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

    ZDOVimsAaS%zK@G0%}<2YBu!7$ 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

    g;-kOg%!}A_7Xh`6yo4sbza>o9@m?9d6kB*+ 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

    8=vw@ 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%0D8;UC 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

    f%(xpkmx@-FB;}lvnsv`XT2LmR% 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�o2!IA?h*6Mylb^TH)pN(ma4Vq`<`i7?fEC(0Tgo?SkJ5p zPHpmhI~rGe{zhf(`Mp6ndS;vBI*2kLFx{1UVV1`r7KN$d zv}dTbYjEZSnm`KOFajATs|p6%R6a`AYF%O(K;UJZi$GB58rCvQDyl6pTq8Vz zb{?luQWz#%kCT!C>msPC0oP2hn0fZSQ$66iOPObl)Y|AvDG?D&+jac)`BBvwni5 zaDgf#cDU(4WbSJbcYl9iFBaBaRU5RBZV8mk5~BHVQDk82m|P*_tA1H;JO4VTGQGdD7f+2LTf z**%9$4Ph8L4CD0595T)NLcu2Mn-^ESP*Q~i*i$=$s=5-UAxy&P;*V(2r*_YZewUaz zfjMA=4OaD~2Ax)nXjDcDtXut;O2Jew3~%~c6xRT@MK6pTZ~dGgos0{A9!jPc>0lvz?jQ!p$FqMNfm1MuGr)0D|9CT~f>Y}9!ItyE{v{bNQ z`Blu?`;ObvMbqi%_H#n579x#e&{Q7h2Aa23-eqZX#$$)-MXWWqjjJBe+!`H1?I~P`cy049VYt}j}PMx zEO?eRsiu^;8731Um~}~)ALa66{InI%QTCTYoB=A;!(iFC?N7-TxF6KMx1tSoJt3 zKWw&oP76dk_h%dka<*8hqMKN@%rM{vwU9u!O^4-;f0Ys+U<>Fx7A%3!yura^*Oz@I zp(XiZncX2nLu*i+3^`-NhA;I>Rv=4eQxLN0W3fi#znTs@#-&f7P(~?d_HE+xiD-4k7yVFRdDVx}lEIr=}XQ*IRYO-l(r& zb2dqJ6@(GHMJ^Wa0!`M$wU~}r zt3&;#;(-L4BXqqjldrWx*EiNtu&07>*fA}If@K$*8_7-IxL0vALXP4lxOY#=5wpl@hA2MLb_2-dPn_a2vbd7!Zq^QUq-@<8v! z@?ax+K)%fBZZg6cGd=8n26Q7)a$?D%ovi;Rw>q5c)@B6rD-x>;WU=S$4RXyjE5B36 z!D}Lm{{D07=T<%*1WTR$TM?MTP?X)q?2~oIr&yLAv(&;A?aVbkwlPuJh;GW}t75~Q z7KKuPQRy;1O)8NmSXj>a0>+-L&{W2r9d}1NXd!LZCx)f2=tEe#24VY23rmg5s#LU# zXqIC#Qa{INup8Uj0vsv5I}XX9HM*WdIvKFRiFpZGf9berL8LYbsz>L8b`nXPo?axA zcM^H~R)(h{peT^~2j2y;AB%&f24|{DcPIhv!$1Rm@i*^paFG7+2eh}$A=4ZI?QnVO zj#W!Ds|jfu{&k%cJMl(S#|3YN{PPky&qVQ@mnF)tNoFoyG0Eh($JBhZVRznj)n%^> z_@ca{66I~mx-WY4PkD63K3B5kiU;IXz5}mvm;PMFyE^JU%MI|hsgVOYcHb9SS+Bz* z)45NHR9e}$#>H`62b*bVmzI)<1p|6FS>y93xmAC2c=nd*HAvZMDwkikk zfg4WSbZf|_b8lkXfdBBTzxI%8nNon;SElxTa`!b4>1FGQ zu76o%-nOro>tG_uqROgcVFiEkCsx~_C}gJ+L_n6E(bUB{ATrih{{-#Q2^;X&t}qO} z)C-5GmtkeruhXKd@re9`*@0l)gca-5WKomNkZs)y5eRk&-t^6N^jlceEQ@J`VIhl4 zxQ@jwFN>G>vy4)E=`=Z*5n8qs5%Ft5-i-L9hqVn7B~4hf^CQ=Dlw7zJZ=+1IMzOXQi#w9D2>s9CZHVeY)WDMDST)#I)K8*wR+tE~4q{*Bft) z0f=0DBf4i#p1TiiYYTVugI7b;ilK*SJ|Er70eu{xZNFHKqwO4EEZllT92XBnFaEu< zux-*dF7n?l8I%q|xHMBsLRK2A{B4U_0o#k-wx$a8+>|W>trhC|Q61kpMyv_e>svC3 z>a|`2_wf0$3L6=XBF7d}88s2@e?F8`qczaIb$>Qh+D^uzRk`Tl$IwM~v~Uo?I$kvO z&mzODH|z8gA2>WU9#n`+s>GtC*3gaDM=#LQXz!m;dj`@u+I&Y|E5@dqAHkGLrpN|v zy@Nl;zzpNlM9=OcQ-;pa-Hxxt)mf$`?ZKkxTxl*)8W9_Vu5{$c?l~VVLNrc>uq8GF zZE(+=e@|*jSc?cTSd*391ao7ZzyzhX+?GQo+mfurpydZiYHI%&>+%@;otI~ohWcbd z6h$it4*Jxbp>rxVhq9owA1XUg`FdkX8=seDs9nl5n zmP2zGN#!^NE$ybgjaDJ`bz?wRvwRtlG;&{R4Y28LD@)8M7n_#sWEC4u21+eVS}Zth zsf3Il+5cRoDNdzEiOYbp1~=iRz{6n@V~7ER*k$ zmB-zx%ds++D(a(1Z=mK)X&62NjZYW^v+uGG;AeI7U*>d*#$K%zGj*VEEJm$D(OwtP z!N(kT@DuCqavUyfk;iGi4!{U5oN0=9&{VnBmQh-!jXE4(0ogLHg{%I&OVk) zwXx;HfB59F?Pu{}KmQDT{4BnC*V+93nV4Yr1*&|~FX=q?8Q(|OF6b(zSjKio;G^_5TP5wtzg=f(di-^Eho3i?_Nsk~eQ zY0AO73wto;@qAAxO6tmIm}vgS`Qu74DW6pyl`60Nz=|3=v%__;%K~uR6;XPF|Hhrp z=f&-^K2-6j^q5s3n*}31CQC|9F54Y46Ktk(nRsG`3)cDLm`_%^jQOOzWP7|!nNOtz z>9Zxx$Bqa~Y9Os*wv;)Vj|*oN4^o2YI$dJ|1hK{LL$oUe&lpt$JwTfmxHOu0A1;z; z;g3&uOG#5a+ZO)V2$!C|J4mzi%+3R90wvPCCNPV}G=arG=BEk9&;&AW^ukLokam+M zP=#BuCRm0hSmuIk2hs$~(FCGCSQGl1gFKp`<;G@#>ou{l70tAx(lpTu+FD~%rqdSq zOzUv(4Gl+IL8rC!>bbyYT5G*GM`v1Qr!||$mTxIrp!mHZtT=RLyQ9|H7?k2q1H~#v z*5nEQjS%7+#rCD<^UqyfDq#W_RHV>WK}BKTAQQ;ABG&)^?7a(+9MzfcS(#P+QuQNS z{nW#DHmkiM#?n|D!8N#tjZv|KX1tym-|_X#cq8ua-QBwpccPh{nBMVv?HSuNLVz&B z$XGVQ2#{@T9u^>D*_Le#LI})5fB=C679c=?02u^`myuzA|LGK6Ku0u(W%bh*T3F3sjr;XM>=K0Dr1(!^kG`?&v)?(h#X;{1a%7?VZDD-F<1 z1K2vUuF^m}_MxPkDi1z#svB_dDV@8z!B-iT7~&dlO0`yvDlt=vT$U)V2>yVQ;CrMH z_FAzePHIYd6Hh6GSannCfP^1YYrhG<{a$fa`SDpLX6g8>DvF7{Qz|BQPAn$4R3)bW z+5hPsw{0ombm3RnPI4 ziA|{5$KND{L_Nn}iG-+mLd`TlRVWfI4Y}mDyx)@hfs4~*^}YHoPH|bzs+w?FUhE|5 zhF8)cCfP|F(-VquF1^1PFDT_VYNLS$L4kGF+s)d^kzZM^ms`Q}xCAe*PplZ_nAp5E z<<6M=`o#J+(fY)t_Xk#3pD3_kz$mx?u(h%E$-P;$K8>+H0ikpV#)ZYfrZRjYHt54I zGb#OiZ`063TV5``|K`xKG_ln^pa>q0`#CP;|M|_KyhYKjW01X6Q*l#fku)FNXUD6 zHYVaTECE$+Ufvs^F= z)D1@WrtAH9qQ_zC2GeZ(&c@O2vMdc#68q^GCM8HV{(MSeKOGGjfmzl6%Kw#LQlwk~p7|i0Np^2=suXr$-bSQeoL`E6Ix2{;N5+ zT1;KAkh_3f<0{A7hj6m=M@wWK%I4lu9s*ei1mWtoPTgkt?NV(z3Qj_9>*itPD8a@% z)Wg?aalwg$7d@Mu8zdZ#c=wc#4kIc7P1IDUu3`iKtyD;DaehIqU-^QZ6$&sX)YWfdnZi5!wht@==L+R$m~! zBL)+sH$52_*#Kz`wx2_Wi+;6OTB%6JEk(qScnI{QE`&I_>L~P#^;LUrWa z9+f{-WFwJ4VBYH)1BiNs6VS5-QEo&E47J%VFNEZpm{m_mun9;hwyu;?ypZ7*Riv>p zYjCJJrMcND%^GzPX=Gv4nbNFL$Nd_0sj^YW^?anbjk+i{yfEsx?na#{<@vPR;;7@g z8+8f>KL$qGJP^apxSnB%x?#o;tu)NI-bb*M3BO9ijO+bG>d1amahTZ@P(p%DfkFyG zVVH5fM7Y6ZHIZ<$VOEI#sx)WpWeI|Jl6u^n(R^$L45Unw)NRZOGthZDpb0ohJu45U zAQR%;Bm>BV2#nP@ld2at&<&#YMUvWLza*lq(qxoXH3xYhNqub2Xz`q3a|V-Zazyhn zFpausMm>YHno**;vO05Ym`(FAdpO!m`z(1S&T%6l6LqKUI&Ci_{RQg2mo84D&lahb z3Ch)0nNoU2p=?399l`dO*a9t1kz#CHWmo0OCq?VLnI2Bf4J5JL-NeQlFTD%i2*-0@wayxQ@%+9D<;yb=F-#nk8`U&q;!GIl4i(Ck=lIMFtboP(Sk78ti3lq3 zWr@CKqA-6wn>|ghh1iq_RT6y8}l#lupDKjHQ)VW){9PwDa{Le zocDn5QY&H3weN5@E>3+KUxYK#^^Xn>@Yn%yG5NuceF*X$+M>tFyRl{W30Apzo)?K& zk|UBQoV6nNZQ?>R&zEum?0I>LQ*7~Vs1=04EQ=WN^Q8Y_r~ba(9MK-5L}`*ow8t{n z8&fyb1tR;jYk8wQ*N`EDVYh;H%selJLcc;coA24d!_87AdTCZ<0G;8GRyU1@^oZwo zyLuWK2sBN{JB?A-j3B2NjeH&Kzr_$s9ZLON&5mn5#Ypjk3;+Ab?2``Bzn(jtz9VA} z@^tBUrsK7!hoHMYO%`v)Y>Rp`oK?!_9d>ls3Z}rOW(792%Y|YV7}fvEt^f5lB{d9D zfn%pWc4OxbAX+zCFBSP{C%9<|J=a{wD+^~^!5SNYHdp+Iz+B)V}`3g*|-L#`ykwpUV=w5HszB@0E?uFXX>0U$kVxyv4l}GnR?dWu`p?kAY(Vd@1_g3xbbg!X%yHU}7 zJ&*2dKdgDR)4hi7ydPFr?HXZ4xFC=2)pxyGmpk2S=w5plRl8ivY=pIZbspXQpQ#m` zZZ&Xser7zjM(DY3fNw25x_&&bkZp=q|ss=Cxe+8oK8zp(7Wke|+9bD03=W z=85USoJeI`*w8jpAMNf8xMJBj)XdAZ z4#oW$xfXVPvC@fmJaC&fql)3|4qp1NW>cX)g+lZqzE^WucvqS!MF}_97xMgj+KQLD zDu~4T08FRn@myOMJo~2>53-}j*|my{wqX-JWN}y&V39>Zth|wt3-(HFf+yzc&AC0g zMJZvz)$p)8;JB3$M+F0j&Xg6Z!`X5=`AF47(PDBzRJdHQB2w*G$hax6kS(kU!FkKs zonzzbhw3)UDHVOQUS1;d$5;#H)6>$yr`8G5nIXacBS9$}V*;S_Nl7Eoe?OhvL% z7#5mU97W~|KRECLal?W=%T+728ecM2H7owKSpJ-d0*A5LVQe;xv;vqK1B^mg&5Kh# zWsbHm5CA<~0mjZ)f?-eNl!MIZK!}@8>TU_YWK1)gxmEO6)ZMtB(A>Sm=eirs#$az2N)*uPkcqOg0X!&KE5S;3{QHpsTVT*9MDXo*5WrTLzLKT%7Nuyeebj zyjH~{PKFr!I4nS{U~di{{-l%rZgNL-;DOyPAwtVurk719%`3>jQ<48QOl=tcvr`#{fBOVs_(vDgV^ay~wh16L!j|NBDBk9>xU6=i zUH2kWQ^ER68`P-3=Ayhq=H;5VB)Zqoz4mg0qWe}J-QBhKo$fVs+Z(m-F3O{Or*_k@ z?lp9WZ)woJTboCBSM7bLdkx(^mHO@u&-;)zVt#H*DR*Ap;~S6ayXB+o2TFqaRJpM% zsPF!leU(2FOmo8m(u`gx9lulc?qQ>GCf06XNG$?7o=#J+1U=td$zLHGCO07 zRS2O~u61T-tVz1gg~;rTNm^!SMTe0J5$t?YPm|eMeg_K*8y%YMFAZl$X6Iu0TIoO2 z?jksJ?%h-A@}Qz$x6@3QRLDBPawh}c0vBUv6b&WTzjOb+>~2{9a;H0I4%`j=iWXt0 z$h@$v(^o*As20>xY-(oUTj=a{82HpPk=0MaOC6|dsy@tNJ}NGSL7l0bxI{TCEUwRa zALwe!_~u&{Rl2DEs;l;TUYGNJpv79i>uK`d2aR zjDkZ%B|+U^V3GT_#2rp>Cr@(UPId>4Pg=qpB6ti+!HZlb zj7^~=HC;cF4bk2_P+2p9o{}=Ic8*M62&wWH`K!{oqKC%-w}w6kzm!Zl-hjI zzLg$S=D{pB1%}45hE%#xZ^fZA?9~1F{CZcZ%qUG<&BA!LeNZvmK49~a_u5p-ws-!d zK@bjtuq*puNaN7L1Gc42|KX-Xf-=@JF(9hjY?Oiwv(TQ81LZvbG#DC z!HdVW3WdQwsBSW8=+jMQu)w2n&n%lCdW%!NL}5q%xKUm`6}AkgdL7Mx{Ys8|tCb6m zCnfm#!=Ad36LgrP3AH@v4$c<0huF_oK4qk);z(d(;fkWyi`H>su7ltkzqTg5+A(Sz z_7Te7NBsG7U(<`1`bzhDUWaB^lZK^DpwoEY7G@WjX~NW^*)^X-THRqM7f6v(!WwR0 z^?@B0Ilmf_$@ArdZwh-D)U4?Ua|F)u>9x;( znsU_=I~0Ll&lgo%>{ZHClV~(r5mnk^;8Q+64fzrypX@5l2ytk1QKPnTq1|!8-xQ(k z;7hI0j%2Z3)yRwWk?A4lCl}gz$%XdyMus+J@g?7SvGL+dX5Qj`@0V&@yk{Q5bN)5y z2(PPI0dwJN&FIvoY$%7V6%7;BT)O~NdMTQ%wngQDzPXSC`sSjrRhlCE9c{H{<@WvX zL2cM*f;LDl8Ek^r-|y*a2Hk`MCIi!#TOFsH;-ZK;309w~i&B|6NM#m}U~7>_u+>Nq zIAc*Rw3*L}&OypDktq0J`k;(_@jD&}252@gf`x8STQ_WtbEH0dXyLvzt<%^Tq`{Wf z4hKr3V9$RkqZ;&=hRxU{f_s0LX2V^Ko($W9@1Ey_lFE33HVPzk-eF?S(u-4BkSQsZ zTsbABcJYMV_G>Xo1}OZ`Z%da%+i_pdaB7xQ#w_!aZ}ym3C7GwZ^dM~qNAMuQk`@ja z&BGMO8v4M24Q)7OF?ei@)mI#jFwXF{i)xB9e4=0=VV_gBcca%AMz&$Mvx)YiOW4q{ z`#gamWqk9Fo|H{^aOtn2O<0@TghgAyU7WrZf_FRg4Qc2s0J9b|tOCYlk@#0eVWN54f*Ve8KN~w#^@{9R zJ_EEJ`ih?51v{%)axP{}+N=HzgOH9?JnsO_i_-qcb~oQ_WIg%Fpsh(Rw6)2F_N_*S zHnj`(^^Lb+@9;byDVYmTI}U}>OlmA>Bgdgee$ugVq>l4)-sg|YAh7uFQ}d4VbEv+# zR{M1NzvMphg`teQPuvhWnV{uUgG5>4Go9lg^-kt>#4ZiQRwNVFnMW1YBVM|b zI$-H9+x#l^6c*>#hviSpGaA8)gR8=(n&g%DQCtT$)jokQLn-KZ&*;J^A<pK z?5TH?*i+A6m%!ooZW2M=lEiiDoFi3}2(F*=eqr0v(=DjaC|!bgo+i2yXH6lrQdQds z(hCke^0xKg;=%RhoB8zw}y{Bj>AR8k%RBth{HnVn=B1Y zHDa{)Vz;GAe6qDSMeOoAgF96^{~R2xxPN4MFDYA~N+ zrZ6v%YzBF98qTmYls&)T9wPp*;2w&cLB{^8K*Q0YPTQPxvdgqvL`D;BGomOrJg+!| z?$7Z9hz1zX&^Ep(63#fa%_pQCiGW!|a3PUM4hC3k*e5<-2u>^|S5*L?_MWO{)AM(j zn&7@M3zJ@oElm@z)oe7WUKY1pWMaZ^xj5AfWPIz6@!yK>i18o7t%$CnP#7R`%X(Ze z6Ox+w+TEJJZ#YE&?P8T1;AwEbsF|5$)QmssJB!kA3NzSZt380H+%+=_bed(4;XBrU z$HpgO=h*zi+*=R%LLT#AJ|=&oS0S)tgQxn0$WN7vYo@MBF_OdVP|d1ONGY|V(HddM zViH_8pc~Cxtqh9H@z}8E;#HpORx(v8rGi4h6N_;eIzx#_C-4Ik@p?!f&o4yX6J-O% zw<|2`Df*!heq&ilQOQML_l*xzS)~QJn7RWP)sNZs8P&!mdda*Axx ztBh!p9l^HWQTchWRClDE1r0%TpnE74z!P231ovn6Mt^qS5>yW}+774oFVS-paMNcs zKN)ZX!Rssi8~~J#|U*F{!_C6SeIM_Lk~Y67!=VMk&yrNIwYN!O?D zv?7e`Fld@`o+^-lQ5VMLE)rWQuVhr7nq(Atz=sM2Kom9_X6I=W5V8fxz4eP*Et4hq z@vG+WR^zBRhPF4xQl=m{$6LmDH655g$WEq*zu2SlIhLJXE3O|V6xY=W#r30v;<_TC zxHcpd*Y^{O>zah(x;CM>HYOC;l?lc5lNo~RnC0}CW%!uodxl#UMeAX~v5n`sxXbf< z@^xlQLlb#pg54Ifv&)+m9pk*9U}Pk>QKkD*82#EX$+eBhnE}m?>Asj{etj9Ypz-9aBOPJ9E&Hx)Ze_Y?%ZA*q%rf5=T>4W_ zZAzGNVzz89#ckOx*5g2h1cqO~R&NBJIUUdh^AYU^8Wy@>Pi{hrVj~GnoqcmiA3nRtp|* zreN133dwbrxNkk84)o#L`q87&D-rRl_eK!vP>7&5(RXTD24<*o_B>prJ*g>cu63ow zDkwnHuV_lk?f4o+O#4VA?9bh(k9byK!X0q+Oz#$XU6Z(RGKgApnpiB6A2N^!cJvi?u z;sV$kPO%yc+LgXwt!G9vAR2z7*5GkZLCW4P-%Z0TD&= zwveeK$B8MY;#{zj&5ICnsuTX?|G~!_i+$gNTdn>Ux{3lgk z&nx9fy>Y(&<*R(&uS}!xf>k-)SP zs_wv#D!ON2;%vfi1T%_?r#15%nLOwirVnBxtK8Xc9Bb?wNvHR(#j8% zD~yBk_2Qvz__V}x&y%Bi?;>=_7kgK%*gu0b>tuLZE0u9~*rVE^05#W{G8oCBkE*(N zW%Ihk2MjcIkg+u?U&|CF@jFIYlA?TJh%931A~n*6$U=W1S%r}rNV*|`XEq2G%SYf@ zKdTgnfs!%EN`&IX;8Ve&YY&wZChmBLa&xnDze%A7zIB+-y~goE&>|#>yLWkW8GA+j zN$Fg>Jui?mvWY82l0?lM2n(eSiQzCJNF>*G0Uc>^ha#CULc=x?I%XGfyR^+4YParc zx6~)G9U32nJp-0R@#0u2uia}zhhn;IQEKEu4x~CQa^KXLZ-bC2ip!$nwu6WCGUqr9 zg47}p6@Un11;}Jqr6pePLXrzU5e%K}DDH^AQ zRx%FJ5_$94JWiA&VGkR@?yfAXU&a}m5vyfU_2VMpp`v85L&RfgTC09ok_+|2l4h&i z+-3n-;!d964ukIGeC_wOyXP<;X#&lJpje@~UY!&VD~DcyHEa5v!~tL@Gh+;x+vNMq zFpvjteo>7z6*-8c$o$FbA}~ixFU?Uw2o1)hYa9(B8AUAW1|92LTrz&K8p)_)9Yx7V z)?_5=Cm@MZeydWRZKR5DIsb2%u^3+xOhw-ltpP2;rCZYy(%MlL2xK|OKA^Bo$yy^n z%W_mu<2!VY*LyHwx%TQ~yfoFxCO(5j$KM?P6 zKd1XgQ1}MWl2R<(gTeRzNiRKz3v)(L#^!3wbH&(MaK1Zp z#laPPEHPKq1=}NyfvsV)H?CU!sbcoV2ENpmy)j7}=iLo!z9a8ryW)rq~SAOzB1vI74Oh_p)(Su@-Y* z=ba|pY}xVV4wfaL;Joj2o^EA$VRTj=Ow;jR$UeUpcd?f;TYEm8OPl;!7pOPux2Vz5x3v7ae=G4J2B5#{HDGJ<+3^F5^z(pYv zPjg+!6{6C3T;q&b*SSk)aE?d{*;A>ImI~ewd34Mm4SgRYjX)o{HjQb5NAnmt z_bU0dc>NxpUJM6n0ARmKDzICV3T#_lfYrK&U3|V=ru9l*-TcBsQ@nzVYHJ%Fu;+ruCw+sz%Y7qL5!BPBLb86RgH`RAGePh=& zNr@X0ifiM{!PS`3PnC9xTaeW;6e zfi_vAh!7$Pi?U%hS44r*GwL>6l*>}gMQIpX)qq}@7|^8?09tE+Zu;<11(e*lx>_~B zo9ikoHtu?Hnq>Qp3B`5O48cWRCyPDv5hi7PVx=-;I%1B#+lBiDpPNBz0#WMY{t412A{ z!k~h3{oI&e0oz*&EHXVX3Tj8Y^@6Rhq#apWzVr%Vxr&x1tUcm5HNvXbp0GHrFFFwp z^_9nJ&>39(3omz2ue?HX+!a*e_Co#jZuHhJ%lG0Uzpo2DJ|rtHcNB%WBAtje-gVI4 zeOzF;RZsJCr4?s*BFh!!yq$iFZLUxhgU)Diiu$sW`jIZi_*CL{m0pHL(3tELMeGXr zSw1Q0J0M$rc@&t&x+LSDL6YHyRf@=5>9d4O^Nq0KfS*g|9II5*3oI*_ChLtzO?mA? z0Q`V-c1+Y!B36Y#h<2`3QcAiMYs{5l(gY+{ilTdYGik< zM28-{a;T7_@aG`!zcRwzW_2_DrD3~JZ@J}dao!D~z+a({@ZHJA>GH$eU)3+3#?pQ#o7le{uXJlPiH%6*OeQ)osWTQr<_Iee}vs?H#@hGesK<~ z+)B0U%e9e}v_>BX6uOEmQeG`>kw?KLhrOXWEQ@o)IpN&Vp?Sy*)p4CaGW4PFLu@(b zO;lP}LS5z-GrD`z!eM>zsn~!##FyFzBvHm`x=)4d`~@jnbG)24a-0>6lQM8z+Lf^* z4=3~}UdO^5@}GT*m$6H;=kg0>>?l*Gln>vPv17M|fMzAia>mNo@muA~*ilfleJG98 z=YuO_7a5;;f|apL7t7eCSs1XivJ{OgW5s{JWz?9GPN94w%JoE_vTR6g=an=8# zyK&gBPE3c^FxNhEimwb{{%mT5Z@G7s1Ie{nF{qyZJ$vs()uho?YJ(w zjIm*g-gHLv7amRAcH9brm^#*GfM3H7R&fySkH`Wcv|6*59YtBxj>##Q9AtaV)a zQn;0}M#9n{2VDB|b7DCLC5-o>F}+Le;kpz#<(!G-I1JnnwR|fLUnz(!(hTLSE7&bs z!d`w>q;nq^^Xvn;eHU#}@}p|DWBUv8qXaXGwlepE;1KzYZmMx`1Q^}HmUaA1`Ml$7vNHzK z>s3Sgjpz5Bo>oLtc_uMBmF*90Kd%~&1Dq-5cq@Bdr3D8Z29i%Cl!V%q) zE{JDoP<$6GyGk_5z)q1?P)rveCG@zXknWA2C%EWJOC+}Z^@##w@}w&gmkkT#+cg5A zuCMJ7(JD%Egc;Zs($(EGQjU5v4f5_bjePg7EloC=m@isrlvk+rh&x=0G|KuYoz?Dg z)MdIzD=vhEluk>_e9?RZqn@_K9*sa(+9@6x7(u6bVKU9Zk@64GTb{nc3cCX$ze%MVfqzQ-J zj;~fX?k+quW5ivRtL(!S#9f2RhR;>kM>{GYg2tgQUqGpnzex@tjA^~-UQMAZqQn_1 zp(owj*z(L3Xa=uf?+T)-Xj?|H)EwM*jtBwoeO?#Ra3x^{Ll8O!cr#?}R7ESMq1cpBNt5%Gqp4*fqCT<-@z zzYoyT_N|a#D{85$O3nddmk{p3f@7_dUTAXMJlr7~EDnP};4mKrl!LZ!0c1m}k9hw2 z3dtQ!C4^VEH|kdC>|y66#35MCPN-pVytE`4IQD!r88~hTlY!%jKTigZcmFIII4-w{ zg{mz#4J)sHTAKx`VR5|u7s(h`=YFCl9QZt}-d?$36O9V}ME+v*lSL&Ymir?U8f?C% zn&g={QKo+OWJGKj4Q@s2lT{kgFyYe429HvMnH5^OnHI4lZ4OHrQdWA(0-c=ibS!x( z`L+X)p2;)}MV1C@d{J0aJ5QN*&r?+F!(G%=-yMcIzn;R#@yi*vsit?w@l z13bQ_y{X_Jk5DuZ+-5G{Owq)KI8H1LDPj~^_I?2gLMdfStAs_A*XuEDBt z!R=T}cS*;ew(c5BR}G7%HQ}QDGy>a87EhJqkft>OqkTPqHSBWxfU)Y%eD&x4+HfH7 zBHqm%3rZYUI4D?ew=Ynx!{$NUz04uxYg0bp8QRT^mr9X-oa0U-xHT(*Yz(SZ8>iiT z%u_|$81LqFx2AKO1`+ax`V4<^K!ehZkcryqA#sZ=XN){)E1)<4StG$MA?1m zi1<;z2{zCVz;*xYUJgFuA}pO4jHA+t1#wV1u_TU3Cr*w-(g~=$V~}(P-iKJv=nP^b z)-yVDK-|%UJv&G`Qx2)hMR!Z}i!M!T5_Yt&TG;)ldTn9`ExP~BqpETc9;|-FrD;ur zkoMC!2p3eXNi3)h)`ICo)d>3R)K9Hs_7(ADRqC?xpVY8bjONuBs@N*l&{tIoj0V|z z)Bvo?RjUzp_BEiYvb)e|svU(it!Wt2ej4Tb43mUacGt%0bwZlf)Lpc%M|V{TtU-46 zHB7K7#m17V=hu?j`fJH_cGueK7cZLDG!AJ$jpL9?k=4pWn$`r2_VoZ(L)(4&fu{hru7tZ0htXEvjcZl zpmv}|v2-w#ks7kWxBg=ZyH}3aoy$|^jttEU=P}`7``Y1o9}*T4I{gx>ZSIOFkHQSK z$b#nJoEyB{CKX2~+sNv;T4GBoICr^k!FB0k=^bvi*n3N8;q|%A@*#|Ym)BR8kX7o_4`W6M~7#0KGj>vgYcwlK959%S0M;*l(4 zw+V}@OIB36V$-~#QkHAd6Nghh;;oAEds%*6fRa_&wa4fTPFe*hk+~RLcyrp~l1Pf< zR+>#1m&BDGXl^`~YU092hk9}$>P0&8De}%e7S}$_c)l^Ecp7vfRhdR{#mq@{`FwSW zA)9X*pN}-XeKcWaUzNh{V8bDrFvF_KQFq;e@#1@W`)EQ$|9f?#?(&A4M-w9Yi|P{;-E5MwmxPtBZaPuh6 zTp4h)3E(OVFh}tT&bi2MPh}Mr_b9S^33ioCEHbQ0!}oLr5A3*|_%Roez56acRvD39 zC93K2M%Ncrd(}>g_S&2j3iE#-C&eUDRq5ND#_0J;0;_Tm&am#P64i7?4otGIsvLw! zplThPG_A?8N&9-tt}44LtQuEX8>}XWYN9ZzNp@G2s91-q3=X3lORk3CFy+r938xqp zMx%&Qe08SWDT8jYf-JV+JC75*!V2C*mX#&iABe)?_T8NR`7WYmRAWDteU~vBCHf@OmkQQ%QPY~+Nyx1 zJTAdfr9KCXn+=vdWDLqU{52I|J%RRmm^gIv=0sU~C9vW&-SLox^DugFjEig{5O<&lD9;Pi8a)1HS|UAcTj(Et=u?msu8$Q#YnSC8 zPMhQXLtLAaTkFSyYeXq&*A8$^Y0Ps^Ot0oo;iu=%#G`Iiq2@#3yMU?^2N?00qN{@fmFG!MUH}u6*cA*o{BRLs`20l{7A? zVtqS>g~d%XVV`ME)4~F9$&aJL)b;TqV&|M0;VpltTJ=kZXNG<`)xr!j3b|LmRo;m=o#Y#v7`(A8!!GFeAiaI zbD_V5FPiv>0&SBZG;0+d#e4jt0zukpMfTjkDzWGC$W9)){?hxY>XBP@83!v<7u@`~ ztM+6CFGpN7T%PpZ5mH3EGphw8;`h>8KuU*=+i@T8{NVH!SFV0MWr!9_TZR?=iu8lA z&BEb+`LIalSsYJH51ul{KVQT}-oqd3;T^nXWS3m3TSs1X^DN)kV znTq3u2xS3^!16U|Ium*n+1%|ANI$V6@H(jM2|Od+Z9wC<$rF&%v}-u^G0p@~l3N+V z?qKEXlwsvviuwn@X3wDbzIQ7L!0nX;;Ea*!XA-M9jspI^84YQ9@*tg&JV@_VnoBc# z;Eh$?OAu>xIX)}Y-0{0aB~Y+QR02hjIuv32$iKMl1hPBEV6}+W2yLZ#AkdZOAu}hH z2PEl9$55&UPdk|abZzZqmgEfbU0EAW+RJTfD}l6jOWqKPDb`O&OciQIxouI5QpZM% z6e^m?@u_>KLawtlkes>ZF^AGiDp$T3SPMv+pQLkSvsJ2bDpu*$^lhD zwRzh4=!j_;KApj@ccd9V_V8W~JiHHeDBvT0d{+abIZ}7{?HOlK*IxXhYHO;wV?IF( z>kq#Dy3bn;aB^S-b!$-Lj{J>?a%>#8uw@9acP(r&l#@Xj$N_C=Wm-2a7EZi{-h9-% z_=XmR>6M+>$yJ63qG45N&*laImM`xCu#9E`3}`kz1PGOjynQ+P&Ize>tC9D=GM*fNU8hR>QoZKDjR z)^OG*8BnDay`xP9MZeS*xoh=&^x3A0>UnpC-OHlE71ii~ zm!Zjs4+r>0@C#$PMRTVsduPF7saaLTgFNtp`*%l#RhrS!Tq&9>FZp9;3!A;L%@PMq z3h^)jeU)V zD!$ngc349x1sMq9L zrXF(CYv4B{gmun*_xp$Lq;ododU0$en6koju=h;J&(%BhntDZD#&#p%Kp)b(=A)RX zt7Lyrx!{0JOeT2n6$)0nI|%KQ*(<6&ypX5SL5o~Jsk@BLU5<=+cirRpJ^A2|aT4B8 znP?Z`d?eSE>JSNa)v=UI276pD;x}I#h+UUi@kZEIwQE1s5q3zXccL501Q#|P5BP|v zg>OjoF2MM~Zz*NE#Nlgt9<(uvlGsrY|+LT?Q0&Tcp)0tN>Ih znN(D1S&lR@VwD249No8+Mn#_=JIho!7(DriIC!nb>Ijh{b7dPkwlGaaC4^n|U6`h8 zy}i4>p&iBDVBA);AZ2M$@X0W$DJG2hm2{*Hi=3sA;AL4FRq))FESZX!Ny8}}T89x) zT&MCg*R8+<8$~{{2r-K~nKxZwu&gA}JM6I}s>P`+Gd!cx>6&h;pspviV^Hy!P)|PP zSzeSETy;C?>%oJ!r7`9dXPBnay^?TE@~T&21V1s|dde*RgiJJ%!~C=3N?hAQOPOn0 znq(T287f$L6@m~Hwp^QhKefz#?krpp2MudxyRV#ht>+3n*!#i@$VArMuH2f}_!wYy z;&+HDRX7JHXyT^*u)8bUP!jv`BbL}xwWz+(K#S^((OA!|q_O^?lE#Wbe4>SwePBK= zkL9f>9+(_^-}=2m{<9_&JoCXkzax#RP%MGStbO4Bbn7ZpTkC2R^sjZ590#qd=CLq7 zeOwiaG07C1F1Z8x6TR|SguTJ@|H3rx3pU)xwvU-P5cY=yqi{EsF0V2nPp^w?!d&Wq zKps|6w);hMC&eX0S9Yo<(rd>il3SY0iD9Cj>OOfO?djAp$|epxw6Q?ZJznveLck4=K1V=)_R9l#EDFbw{XX^QdC*hC}t`BSQ7j zJgQGPRG&C9RGY3%BC40Bs;?Sq1m1kz6!ld@p?c%U`>Nq2;5$E>A_>?~vf`Q}AAb$k zQ{TA$hdrUlwuVjGq}xWlsWYAOROM9mi8$wn z{1HU7$mXeZVi_$}Q`0gEj-8+kWEv+FVAFoUn9Aw+%pa5=5VlYdm_NkHW z(-ISf*<6dQ7XD@qN4X!(Bg+1gy(M`K?Cqx>Ta+ptyO@_ajnt+Fg>^nJjwemmB0N45ss z?fHGDr)Bj?=XSJ~q>$vG%WclBY>oNPwa<=n{iASP#|faO?P^*m&6p)vu07whE4M@8 za|F++u$%9aHoLbW0V{3%gfpu_Uif^;)RsPdCG_LTCnpJ4rMP%>g%%17Rsc}vOKQM?J^xr#?+j&<>%E;5>3Y>VZB*xim5AWGaO-kv*% z@KOl z$PG^#5rw#`2p=IFk~m+BD{(0kbX)M)jnmJACOsG@voz-dgrxvQ& zLPDG7BkA%{GA7UZU@H9O&Awi{pDXklZl4C1^7RvjjZ?ixeJY&mv|?XlC;Vh*=UlmnEr0 zflT%-R1=}#;PN|2^{_M#?5FmaUT|@75Iocub*50V>oJAiE@l7=2`U9ex}VLO0!hsw z<+He1!xikfi*kc5mnEWw1XN3~<-ahcin%NVtq+2e5UnT}RWxD2`NTk{^ay@6CAP#E z0w}?1k*YkUn473GM5!uls2?6v-akbLl(Lro#`C*R&$wkX-Z|ws2%J+%)Rq64KSaOf zle28R@lG0VO~2;GC~I!#dUpv0NepxUt(QbjAl9p#HGv4*d95nVTTq1IpT^P7k0{2=w;5uW6{Za z^MVU6N#l}f#Y0hGf7SfPVPS&TiL&6umyAD0?D+~zBr9WdD6mB{Ab67qQWZq7fYNzk zcktlNDo;o@ANdweqJ@j-X0Wp(%s3IUz2W$>ya$^x| zQ<2yW1@y3w1dbxo-|?g1ZPZG180~GCK}6Q8`dXCMZt|L7l0-L~7Y zKW(`(-?bo(8@WTWFR4F@cCo0k^%T%Jed^Wgy+5wGq-VR52yZ=9jI~m6xdL)i2PueXEs4I213O)l%fnQBdWmmap{d-4x2O0oy89t+CkZ7!@dzr8~vCCd&7a?{5#XM zD!K-6g`j_jbAvOQWt3J1?7Weo`QiMC6?sNt`PN?~2g}o^BnQj#IpeWlXS01xMtHIV8Ic2zkK>XwWU+9}TZA9Yomu^3brAe-~ERL5F_HYpucFLb7k4f;2 z2e4%^g~YHHqYMwUfo13U=p9_vL*+5zFP$uJΠ@IGoIkYGyj&>M+yccRsDxF69!x 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 kg3&{V*|ZmBa_%n9M#&30sEZH1DTTY} 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�JPy$J$9?Lc#9L-g>KW~geTUxF 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%0AOj{S;L8 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≷Uk~s^pyc^27=L` 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

    qUBgCx7PY}=8)u}R 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പ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

    ew_~dPbYp5w(vPY3dorfv7w0(pFJMY8bglb- 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�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

    3o+*We-5{+HXpG+K6YNEXx=1_y=PU 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 F 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

    ki(nz^no$9Kih*Lyt7Re*ERby0Om< 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%0DJ$ez4%n`&oX>nQwLKAbql5`#@`{d+BX_Z6~ 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 AOaK4? diff --git a/feat/seek-player-action/aabab5112d6e04708a05fd6c44b6dda32362b248/scripts/worker.js b/feat/seek-player-action/aabab5112d6e04708a05fd6c44b6dda32362b248/scripts/worker.js deleted file mode 100644 index 39f6893c3..000000000 --- a/feat/seek-player-action/aabab5112d6e04708a05fd6c44b6dda32362b248/scripts/worker.js +++ /dev/null @@ -1,2 +0,0 @@ -(()=>{var t={56553:(t,e,n)=>{"use strict";var r=n(69926),o=r(n(33167)),a=r(n(15016));t.exports=function(t,e){e.addEventListener("message",(function(){var n=(0,a.default)(o.default.mark((function n(r){var a,i,u,c,f,s,_;return o.default.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(a=r.data.request){n.next=3;break}return n.abrupt("return");case 3:if(i=a.id,u=a.path,c=a.args,n.prev=4,"function"!=typeof(f=u.reduce((function(t,e){return t[e]}),t))){n.next=13;break}return _=u.slice(0,u.length-1).reduce((function(t,e){return t[e]}),t),n.next=10,f.apply(_,c);case 10:s=n.sent,n.next=16;break;case 13:return n.next=15,f;case 15:s=n.sent;case 16:e.postMessage({response:{id:i,result:{data:s}}}),n.next=22;break;case 19:n.prev=19,n.t0=n.catch(4),e.postMessage({response:{id:i,result:{error:n.t0}}});case 22:case"end":return n.stop()}}),n,null,[[4,19]])})));return function(t){return n.apply(this,arguments)}})()),this.call=(function(){var t=(0,a.default)(o.default.mark((function t(n,r){var a;return o.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return a=Math.random().toString(32).slice(2),t.abrupt("return",new Promise((function(t,o){e.addEventListener("message",(function n(r){var i=r.data.response;i&&i.id===a&&(e.removeEventListener("message",n),"error"in i.result?o(i.result.error):t(i.result.data))})),e.postMessage({request:{id:a,path:n,args:r}})})));case 2:case"end":return t.stop()}}),t)})));return function(e,n){return t.apply(this,arguments)}})()}},6489:(t,e,n)=>{"use strict";var r=n(69926);Object.defineProperty(e,"__esModule",{value:!0}),e.analytics=function(t,e){o.analytics(p(t),p(e))},e.decode_stream=function(t){return S(o.decode_stream(p(t)))},e.default=void 0,e.dispatch=function(t,e,n){o.dispatch(p(t),p(e),p(n))},e.get_debug_state=function(){return S(o.get_debug_state())},e.get_state=function(t){return S(o.get_state(p(t)))},e.initialize_runtime=function(t){return S(o.initialize_runtime(p(t)))},e.start=function(){o.start()};var o,a=r(n(33167)),i=r(n(15016)),u=r(n(97606)),c={url:new URL("/stremio_core_web.js",document.baseURI).href},f=new Array(32).fill(void 0);function s(t){return f[t]}function _(t){if("boolean"!=typeof t)throw new Error("expected a boolean argument")}f.push(void 0,null,!0,!1);var l=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0});l.decode();var b=null;function g(){return null!==b&&b.buffer===o.memory.buffer||(b=new Uint8Array(o.memory.buffer)),b}function d(t,e){return l.decode(g().subarray(t,t+e))}var w=f.length;function p(t){w===f.length&&f.push(f.length+1);var e=w;if("number"!=typeof(w=f[e]))throw new Error("corrupt heap");return f[e]=t,e}var h=0,y=new TextEncoder("utf-8"),v="function"==typeof y.encodeInto?function(t,e){return y.encodeInto(t,e)}:function(t,e){var n=y.encode(t);return e.set(n),{read:t.length,written:n.length}};function m(t,e,n){if("string"!=typeof t)throw new Error("expected a string argument");if(void 0===n){var r=y.encode(t),o=e(r.length);return g().subarray(o,o+r.length).set(r),h=r.length,o}for(var a=t.length,i=e(a),u=g(),c=0;c<a;c++){var f=t.charCodeAt(c);if(f>127)break;u[i+c]=f}if(c!==a){0!==c&&(t=t.slice(c)),i=n(i,a,a=c+3*t.length);var s=g().subarray(i+c,i+a),_=v(t,s);if(_.read!==t.length)throw new Error("failed to pass whole string");c+=_.written}return h=c,i}function x(t){return null==t}var E=null;function k(){return null!==E&&E.buffer===o.memory.buffer||(E=new Int32Array(o.memory.buffer)),E}function S(t){var e=s(t);return(function(t){t<36||(f[t]=w,w=t)})(t),e}function L(t){var e=(0,u.default)(t);if("number"==e||"boolean"==e||null==t)return"".concat(t);if("string"==e)return'"'.concat(t,'"');if("symbol"==e){var n=t.description;return null==n?"Symbol":"Symbol(".concat(n,")")}if("function"==e){var r=t.name;return"string"==typeof r&&r.length>0?"Function(".concat(r,")"):"Function"}if(Array.isArray(t)){var o=t.length,a="[";o>0&&(a+=L(t[0]));for(var i=1;i<o;i++)a+=", "+L(t[i]);return a+="]"}var c,f=/\[object ([^\]]+)\]/.exec(toString.call(t));if(!(f.length>1))return toString.call(t);if("Object"==(c=f[1]))try{return"Object("+JSON.stringify(t)+")"}catch(t){return"Object"}return t instanceof Error?"".concat(t.name,": ").concat(t.message,"\n").concat(t.stack):c}function O(t,e,n,r){var a={a:t,b:e,cnt:1,dtor:n},i=function(){a.cnt++;var t=a.a;a.a=0;try{for(var e=arguments.length,n=new Array(e),i=0;i<e;i++)n[i]=arguments[i];return r.apply(void 0,[t,a.b].concat(n))}finally{0==--a.cnt?o.__wbindgen_export_2.get(a.dtor)(t,a.b):a.a=t}};return i.original=a,i}function j(t,e){try{return t.apply(this,e)}catch(t){var n=(function(){try{return t instanceof Error?"".concat(t.message,"\n\nStack:\n").concat(t.stack):t.toString()}catch(t){return"<failed to stringify thrown value>"}})();throw console.error("wasm-bindgen: imported JS function that was not marked as `catch` threw an error:",n),t}}function R(t){if("number"!=typeof t)throw new Error("expected a number argument")}function A(t,e){R(t),R(e),o._dyn_core__ops__function__FnMut_____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__he4831cbc35adb439(t,e)}function T(t,e,n){R(t),R(e),o._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h36d4b5a02cf7d0ed(t,e,p(n))}function I(t,e){try{return t.apply(this,e)}catch(t){o.__wbindgen_exn_store(p(t))}}function M(t,e,n,r){R(t),R(e),o.wasm_bindgen__convert__closures__invoke2_mut__hb3c4412ee6134f39(t,e,p(n),p(r))}function P(t,e){return F.apply(this,arguments)}function F(){return(F=(0,i.default)(a.default.mark((function t(e,n){var r,o;return a.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!("function"==typeof Response&&e instanceof Response)){t.next=23;break}if("function"!=typeof WebAssembly.instantiateStreaming){t.next=15;break}return t.prev=2,t.next=5,WebAssembly.instantiateStreaming(e,n);case 5:case 20:return t.abrupt("return",t.sent);case 8:if(t.prev=8,t.t0=t.catch(2),"application/wasm"==e.headers.get("Content-Type")){t.next=14;break}console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",t.t0),t.next=15;break;case 14:throw t.t0;case 15:return t.next=17,e.arrayBuffer();case 17:return r=t.sent,t.next=20,WebAssembly.instantiate(r,n);case 23:return t.next=25,WebAssembly.instantiate(e,n);case 25:if(!((o=t.sent)instanceof WebAssembly.Instance)){t.next=30;break}return t.abrupt("return",{instance:o,module:e});case 30:return t.abrupt("return",o);case 31:case"end":return t.stop()}}),t,null,[[2,8]])})))).apply(this,arguments)}function N(t){return W.apply(this,arguments)}function W(){return W=(0,i.default)(a.default.mark((function t(e){var r,i,f,l;return a.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return void 0===e&&(e=new URL("stremio_core_web_bg.wasm",c.url)),(r={}).wbg={},r.wbg.__wbindgen_is_undefined=function(t){var e=void 0===s(t);return _(e),e},r.wbg.__wbindgen_string_new=function(t,e){return p(d(t,e))},r.wbg.__wbindgen_string_get=function(t,e){var n=s(e),r="string"==typeof n?n:void 0,a=x(r)?0:m(r,o.__wbindgen_malloc,o.__wbindgen_realloc),i=h;k()[t/4+1]=i,k()[t/4+0]=a},r.wbg.__wbg_static_accessor_APP_VERSION_1beed7e43b5ab0b3=function(){return j((function(t){var e=m(self.app_version,o.__wbindgen_malloc,o.__wbindgen_realloc),n=h;k()[t/4+1]=n,k()[t/4+0]=e}),arguments)},r.wbg.__wbg_static_accessor_SHELL_VERSION_37fd0a93ebab812d=function(){return j((function(t){var e=self.shell_version,n=x(e)?0:m(e,o.__wbindgen_malloc,o.__wbindgen_realloc),r=h;k()[t/4+1]=r,k()[t/4+0]=n}),arguments)},r.wbg.__wbg_getlocationhash_dd592d928d0ba73a=function(){return I((function(){return p(self.get_location_hash())}),arguments)},r.wbg.__wbg_localstoragegetitem_e469eae7dc6e338a=function(){return I((function(t,e){try{return p(self.local_storage_get_item(d(t,e)))}finally{o.__wbindgen_free(t,e)}}),arguments)},r.wbg.__wbg_localstoragesetitem_89d703a20718d73d=function(){return I((function(t,e,n,r){try{return p(self.local_storage_set_item(d(t,e),d(n,r)))}finally{o.__wbindgen_free(t,e),o.__wbindgen_free(n,r)}}),arguments)},r.wbg.__wbg_localstorageremoveitem_3c5846a8b3cf91e2=function(){return I((function(t,e){try{return p(self.local_storage_remove_item(d(t,e)))}finally{o.__wbindgen_free(t,e)}}),arguments)},r.wbg.__wbindgen_object_drop_ref=function(t){S(t)},r.wbg.__wbg_error_09919627ac0992f5=function(){return j((function(t,e){try{console.error(d(t,e))}finally{o.__wbindgen_free(t,e)}}),arguments)},r.wbg.__wbg_new_693216e109162396=function(){return j((function(){return p(new Error)}),arguments)},r.wbg.__wbg_stack_0ddaca5d1abfb52f=function(){return j((function(t,e){var n=m(s(e).stack,o.__wbindgen_malloc,o.__wbindgen_realloc),r=h;k()[t/4+1]=r,k()[t/4+0]=n}),arguments)},r.wbg.__wbindgen_is_object=function(t){var e=s(t),n="object"===(0,u.default)(e)&&null!==e;return _(n),n},r.wbg.__wbindgen_is_string=function(t){var e="string"==typeof s(t);return _(e),e},r.wbg.__wbg_crypto_1dc1c51d9d27e0dd=function(){return j((function(t){return p(s(t).crypto)}),arguments)},r.wbg.__wbg_msCrypto_4ef1b0e1cd4cedbb=function(){return j((function(t){return p(s(t).msCrypto)}),arguments)},r.wbg.__wbg_getRandomValues_3293819ebec805bc=function(){return I((function(t,e){s(t).getRandomValues(s(e))}),arguments)},r.wbg.__wbg_randomFillSync_d84d19ffc1d700ed=function(){return I((function(t,e){s(t).randomFillSync(S(e))}),arguments)},r.wbg.__wbg_require_3f60396135018b0f=function(){return I((function(){return p(l.require)}),arguments)},r.wbg.__wbg_process_65edac0b2f0a8427=function(){return j((function(t){return p(s(t).process)}),arguments)},r.wbg.__wbg_versions_0d0eed1c1b42b216=function(){return j((function(t){return p(s(t).versions)}),arguments)},r.wbg.__wbg_node_82761bdd6eaac7e7=function(){return j((function(t){return p(s(t).node)}),arguments)},r.wbg.__wbg_mark_abc7631bdced64f0=function(){return j((function(t,e){performance.mark(d(t,e))}),arguments)},r.wbg.__wbg_measure_c528ff64085b7146=function(){return I((function(t,e,n,r){try{performance.measure(d(t,e),d(n,r))}finally{o.__wbindgen_free(t,e),o.__wbindgen_free(n,r)}}),arguments)},r.wbg.__wbg_log_02e20a3c32305fb7=function(){return j((function(t,e){try{console.log(d(t,e))}finally{o.__wbindgen_free(t,e)}}),arguments)},r.wbg.__wbg_log_5c7513aa8c164502=function(){return j((function(t,e,n,r,a,i,u,c){try{console.log(d(t,e),d(n,r),d(a,i),d(u,c))}finally{o.__wbindgen_free(t,e)}}),arguments)},r.wbg.__wbindgen_cb_drop=function(t){var e=S(t).original;if(1==e.cnt--)return e.a=0,!0;return _(false),false},r.wbg.__wbindgen_object_clone_ref=function(t){return p(s(t))},r.wbg.__wbg_newwithstrandinit_9b0fa00478c37287=function(){return I((function(t,e,n){return p(new Request(d(t,e),s(n)))}),arguments)},r.wbg.__wbg_instanceof_Response_e1b11afbefa5b563=function(){return j((function(t){var e=s(t)instanceof Response;return _(e),e}),arguments)},r.wbg.__wbg_status_6d8bb444ddc5a7b2=function(){return j((function(t){var e=s(t).status;return R(e),e}),arguments)},r.wbg.__wbg_text_8279d34d73e43c68=function(){return I((function(t){return p(s(t).text())}),arguments)},r.wbg.__wbg_language_cd6e22892ba36a1f=function(){return j((function(t,e){var n=s(e).language,r=x(n)?0:m(n,o.__wbindgen_malloc,o.__wbindgen_realloc),a=h;k()[t/4+1]=a,k()[t/4+0]=r}),arguments)},r.wbg.__wbg_instanceof_WorkerGlobalScope_f191ca0158f5637b=function(){return j((function(t){var e=s(t)instanceof WorkerGlobalScope;return _(e),e}),arguments)},r.wbg.__wbg_navigator_8bc0889cda8f8500=function(){return j((function(t){return p(s(t).navigator)}),arguments)},r.wbg.__wbg_fetch_b4e81012e07ff95a=function(){return j((function(t,e){return p(s(t).fetch(s(e)))}),arguments)},r.wbg.__wbg_setInterval_a02797f5ab1c7eb1=function(){return I((function(t,e,n){var r=s(t).setInterval(s(e),n);return R(r),r}),arguments)},r.wbg.__wbindgen_number_new=function(t){return p(t)},r.wbg.__wbg_instanceof_Error_561efcb1265706d8=function(){return j((function(t){var e=s(t)instanceof Error;return _(e),e}),arguments)},r.wbg.__wbg_message_9f7d15ff97fc4102=function(){return j((function(t){return p(s(t).message)}),arguments)},r.wbg.__wbg_newnoargs_be86524d73f67598=function(){return j((function(t,e){return p(new Function(d(t,e)))}),arguments)},r.wbg.__wbg_call_888d259a5fefc347=function(){return I((function(t,e){return p(s(t).call(s(e)))}),arguments)},r.wbg.__wbg_call_346669c262382ad7=function(){return I((function(t,e,n){return p(s(t).call(s(e),s(n)))}),arguments)},r.wbg.__wbg_getTimezoneOffset_d3e5a22a1b7fb1d8=function(){return j((function(t){return s(t).getTimezoneOffset()}),arguments)},r.wbg.__wbg_new_f11872bb9bb9d781=function(){return j((function(t){return p(new Date(s(t)))}),arguments)},r.wbg.__wbg_now_af172eabe2e041ad=function(){return j((function(){return Date.now()}),arguments)},r.wbg.__wbg_new_0b83d3df67ecb33e=function(){return j((function(){return p(new Object)}),arguments)},r.wbg.__wbg_new_b1d61b5687f5e73a=function(){return j((function(t,e){try{var n={a:t,b:e},r=new Promise((function(t,e){var r=n.a;n.a=0;try{return M(r,n.b,t,e)}finally{n.a=r}}));return p(r)}finally{n.a=n.b=0}}),arguments)},r.wbg.__wbg_resolve_d23068002f584f22=function(){return j((function(t){return p(Promise.resolve(s(t)))}),arguments)},r.wbg.__wbg_then_2fcac196782070cc=function(){return j((function(t,e){return p(s(t).then(s(e)))}),arguments)},r.wbg.__wbg_then_8c2d62e8ae5978f7=function(){return j((function(t,e,n){return p(s(t).then(s(e),s(n)))}),arguments)},r.wbg.__wbg_globalThis_3f735a5746d41fbd=function(){return I((function(){return p(globalThis.globalThis)}),arguments)},r.wbg.__wbg_self_c6fbdfc2918d5e58=function(){return I((function(){return p(self.self)}),arguments)},r.wbg.__wbg_window_baec038b5ab35c54=function(){return I((function(){return p(window.window)}),arguments)},r.wbg.__wbg_global_1bc0b39582740e95=function(){return I((function(){return p(n.g.global)}),arguments)},r.wbg.__wbg_new_a7ce447f15ff496f=function(){return j((function(t){return p(new Uint8Array(s(t)))}),arguments)},r.wbg.__wbg_newwithlength_929232475839a482=function(){return j((function(t){return p(new Uint8Array(t>>>0))}),arguments)},r.wbg.__wbg_newwithbyteoffsetandlength_4b9b8c4e3f5adbff=function(){return j((function(t,e,n){return p(new Uint8Array(s(t),e>>>0,n>>>0))}),arguments)},r.wbg.__wbg_subarray_8b658422a224f479=function(){return j((function(t,e,n){return p(s(t).subarray(e>>>0,n>>>0))}),arguments)},r.wbg.__wbg_set_969ad0a60e51d320=function(){return j((function(t,e,n){s(t).set(s(e),n>>>0)}),arguments)},r.wbg.__wbindgen_is_function=function(t){var e="function"==typeof s(t);return _(e),e},r.wbg.__wbg_buffer_397eaa4d72ee94dd=function(){return j((function(t){return p(s(t).buffer)}),arguments)},r.wbg.__wbg_parse_ccb2cd4fe8ead0cb=function(){return I((function(t,e){return p(JSON.parse(d(t,e)))}),arguments)},r.wbg.__wbg_stringify_d4507a59932eed0c=function(){return I((function(t){return p(JSON.stringify(s(t)))}),arguments)},r.wbg.__wbg_set_82a4e8a85e31ac42=function(){return I((function(t,e,n){var r=Reflect.set(s(t),s(e),s(n));return _(r),r}),arguments)},r.wbg.__wbindgen_debug_string=function(t,e){var n=m(L(s(e)),o.__wbindgen_malloc,o.__wbindgen_realloc),r=h;k()[t/4+1]=r,k()[t/4+0]=n},r.wbg.__wbindgen_throw=function(t,e){throw new Error(d(t,e))},r.wbg.__wbindgen_memory=function(){return p(o.memory)},r.wbg.__wbindgen_closure_wrapper12503=function(){return j((function(t,e,n){return p(O(t,e,809,A))}),arguments)},r.wbg.__wbindgen_closure_wrapper41114=function(){return j((function(t,e,n){return p(O(t,e,1605,T))}),arguments)},("string"==typeof e||"function"==typeof Request&&e instanceof Request||"function"==typeof URL&&e instanceof URL)&&(e=fetch(e)),t.t0=P,t.next=78,e;case 78:return t.t1=t.sent,t.t2=r,t.next=82,(0,t.t0)(t.t1,t.t2);case 82:return i=t.sent,f=i.instance,l=i.module,o=f.exports,N.__wbindgen_wasm_module=l,o.__wbindgen_start(),t.abrupt("return",o);case 89:case"end":return t.stop()}}),t)}))),W.apply(this,arguments)}e.default=N},36310:(t,e,n)=>{"use strict";t.exports=n.p+"aabab5112d6e04708a05fd6c44b6dda32362b248/binaries/stremio_core_web_bg.wasm"},15016:t=>{function e(t,e,n,r,o,a,i){try{var u=t[a](i),c=u.value}catch(t){return void n(t)}u.done?e(c):Promise.resolve(c).then(r,o)}t.exports=function(t){return function(){var n=this,r=arguments;return new Promise((function(o,a){var i=t.apply(n,r);function u(t){e(i,o,a,u,c,"next",t)}function c(t){e(i,o,a,u,c,"throw",t)}u(void 0)}))}},t.exports.__esModule=!0,t.exports.default=t.exports},69926:t=>{t.exports=function(t){return t&&t.__esModule?t:{default:t}},t.exports.__esModule=!0,t.exports.default=t.exports},49685:(t,e,n)=>{var r=n(97606).default;function o(){"use strict";t.exports=o=function(){return n},t.exports.__esModule=!0,t.exports.default=t.exports;var e,n={},a=Object.prototype,i=a.hasOwnProperty,u=Object.defineProperty||function(t,e,n){t[e]=n.value},c="function"==typeof Symbol?Symbol:{},f=c.iterator||"@@iterator",s=c.asyncIterator||"@@asyncIterator",_=c.toStringTag||"@@toStringTag";function l(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{l({},"")}catch(e){l=function(t,e,n){return t[e]=n}}function b(t,e,n,r){var o=e&&e.prototype instanceof y?e:y,a=Object.create(o.prototype),i=new I(r||[]);return u(a,"_invoke",{value:j(t,n,i)}),a}function g(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}n.wrap=b;var d="suspendedStart",w="executing",p="completed",h={};function y(){}function v(){}function m(){}var x={};l(x,f,(function(){return this}));var E=Object.getPrototypeOf,k=E&&E(E(M([])));k&&k!==a&&i.call(k,f)&&(x=k);var S=m.prototype=y.prototype=Object.create(x);function L(t){["next","throw","return"].forEach((function(e){l(t,e,(function(t){return this._invoke(e,t)}))}))}function O(t,e){function n(o,a,u,c){var f=g(t[o],t,a);if("throw"!==f.type){var s=f.arg,_=s.value;return _&&"object"==r(_)&&i.call(_,"__await")?e.resolve(_.__await).then((function(t){n("next",t,u,c)}),(function(t){n("throw",t,u,c)})):e.resolve(_).then((function(t){s.value=t,u(s)}),(function(t){return n("throw",t,u,c)}))}c(f.arg)}var o;u(this,"_invoke",{value:function(t,r){function a(){return new e((function(e,o){n(t,r,e,o)}))}return o=o?o.then(a,a):a()}})}function j(t,n,r){var o=d;return function(a,i){if(o===w)throw Error("Generator is already running");if(o===p){if("throw"===a)throw i;return{value:e,done:!0}}for(r.method=a,r.arg=i;;){var u=r.delegate;if(u){var c=R(u,r);if(c){if(c===h)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(o===d)throw o=p,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);o=w;var f=g(t,n,r);if("normal"===f.type){if(o=r.done?p:"suspendedYield",f.arg===h)continue;return{value:f.arg,done:r.done}}"throw"===f.type&&(o=p,r.method="throw",r.arg=f.arg)}}}function R(t,n){var r=n.method,o=t.iterator[r];if(o===e)return n.delegate=null,"throw"===r&&t.iterator.return&&(n.method="return",n.arg=e,R(t,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),h;var a=g(o,t.iterator,n.arg);if("throw"===a.type)return n.method="throw",n.arg=a.arg,n.delegate=null,h;var i=a.arg;return i?i.done?(n[t.resultName]=i.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,h):i:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,h)}function A(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function T(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function I(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(A,this),this.reset(!0)}function M(t){if(t||""===t){var n=t[f];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var o=-1,a=function n(){for(;++o<t.length;)if(i.call(t,o))return n.value=t[o],n.done=!1,n;return n.value=e,n.done=!0,n};return a.next=a}}throw new TypeError(r(t)+" is not iterable")}return v.prototype=m,u(S,"constructor",{value:m,configurable:!0}),u(m,"constructor",{value:v,configurable:!0}),v.displayName=l(m,_,"GeneratorFunction"),n.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===v||"GeneratorFunction"===(e.displayName||e.name))},n.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,m):(t.__proto__=m,l(t,_,"GeneratorFunction")),t.prototype=Object.create(S),t},n.awrap=function(t){return{__await:t}},L(O.prototype),l(O.prototype,s,(function(){return this})),n.AsyncIterator=O,n.async=function(t,e,r,o,a){void 0===a&&(a=Promise);var i=new O(b(t,e,r,o),a);return n.isGeneratorFunction(e)?i:i.next().then((function(t){return t.done?t.value:i.next()}))},L(S),l(S,_,"Generator"),l(S,f,(function(){return this})),l(S,"toString",(function(){return"[object Generator]"})),n.keys=function(t){var e=Object(t),n=[];for(var r in e)n.push(r);return n.reverse(),function t(){for(;n.length;){var r=n.pop();if(r in e)return t.value=r,t.done=!1,t}return t.done=!0,t}},n.values=M,I.prototype={constructor:I,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(T),!t)for(var n in this)"t"===n.charAt(0)&&i.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=e)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var n=this;function r(r,o){return u.type="throw",u.arg=t,n.next=r,o&&(n.method="next",n.arg=e),!!o}for(var o=this.tryEntries.length-1;o>=0;--o){var a=this.tryEntries[o],u=a.completion;if("root"===a.tryLoc)return r("end");if(a.tryLoc<=this.prev){var c=i.call(a,"catchLoc"),f=i.call(a,"finallyLoc");if(c&&f){if(this.prev<a.catchLoc)return r(a.catchLoc,!0);if(this.prev<a.finallyLoc)return r(a.finallyLoc)}else if(c){if(this.prev<a.catchLoc)return r(a.catchLoc,!0)}else{if(!f)throw Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return r(a.finallyLoc)}}}},abrupt:function(t,e){for(var n=this.tryEntries.length-1;n>=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&i.call(r,"finallyLoc")&&this.prev<r.finallyLoc){var o=r;break}}o&&("break"===t||"continue"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=t,a.arg=e,o?(this.method="next",this.next=o.finallyLoc,h):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),h},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),T(n),h}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var o=r.arg;T(n)}return o}}throw Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:M(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),h}},n}t.exports=o,t.exports.__esModule=!0,t.exports.default=t.exports},97606:t=>{function e(n){return t.exports=e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t.exports.__esModule=!0,t.exports.default=t.exports,e(n)}t.exports=e,t.exports.__esModule=!0,t.exports.default=t.exports},33167:(t,e,n)=>{var r=n(49685)();t.exports=r;try{regeneratorRuntime=r}catch(t){"object"==typeof globalThis?globalThis.regeneratorRuntime=r:Function("r","regeneratorRuntime = r")(r)}}},e={};function n(r){var o=e[r];if(void 0!==o)return o.exports;var a=e[r]={exports:{}};return t[r](a,a.exports,n),a.exports}n.g=(function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}})(),(()=>{var t;n.g.importScripts&&(t=n.g.location+"");var e=n.g.document;if(!t&&e&&(e.currentScript&&(t=e.currentScript.src),!t)){var r=e.getElementsByTagName("script");r.length&&(t=r[r.length-1].src)}if(!t)throw new Error("Automatic publicPath is not supported in this browser");t=t.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),n.p=t+"../../"})(),(()=>{"use strict";var t=n(69926),e=t(n(33167)),r=t(n(15016)),o=new(n(56553))(self,self);self.init=(function(){var t=(0,r.default)(e.default.mark((function t(a){var i,u,c,f,s,_,l,b,g,d;return e.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return i=a.appVersion,u=a.shellVersion,self.document={baseURI:self.location.href},self.app_version=i,self.shell_version=u,self.get_location_hash=(0,r.default)(e.default.mark((function t(){return e.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",o.call(["location","hash"],[]));case 1:case"end":return t.stop()}}),t)}))),self.local_storage_get_item=(function(){var t=(0,r.default)(e.default.mark((function t(n){return e.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",o.call(["localStorage","getItem"],[n]));case 1:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}})(),self.local_storage_set_item=(function(){var t=(0,r.default)(e.default.mark((function t(n,r){return e.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",o.call(["localStorage","setItem"],[n,r]));case 1:case"end":return t.stop()}}),t)})));return function(e,n){return t.apply(this,arguments)}})(),self.local_storage_remove_item=(function(){var t=(0,r.default)(e.default.mark((function t(n){return e.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",o.call(["localStorage","removeItem"],[n]));case 1:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}})(),c=n(6489),f=c.default,s=c.initialize_runtime,_=c.get_state,l=c.get_debug_state,b=c.dispatch,g=c.analytics,d=c.decode_stream,self.getState=_,self.getDebugState=l,self.dispatch=b,self.analytics=g,self.decodeStream=d,t.next=16,f(n(36310));case 16:return t.next=18,s((function(t){return o.call(["onCoreEvent"],[t])}));case 18:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}})()})()})(); -//# sourceMappingURL=worker.js.map \ No newline at end of file diff --git a/feat/seek-player-action/aabab5112d6e04708a05fd6c44b6dda32362b248/scripts/worker.js.map b/feat/seek-player-action/aabab5112d6e04708a05fd6c44b6dda32362b248/scripts/worker.js.map deleted file mode 100644 index 2cbd10337..000000000 --- a/feat/seek-player-action/aabab5112d6e04708a05fd6c44b6dda32362b248/scripts/worker.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"aabab5112d6e04708a05fd6c44b6dda32362b248/scripts/worker.js","mappings":"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","sources":["webpack://stremio/./node_modules/@stremio/stremio-core-web/bridge.js","webpack://stremio/./node_modules/@stremio/stremio-core-web/stremio_core_web.js","webpack://stremio/./node_modules/@stremio/stremio-core-web/node_modules/@babel/runtime/helpers/asyncToGenerator.js","webpack://stremio/./node_modules/@stremio/stremio-core-web/node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack://stremio/./node_modules/@stremio/stremio-core-web/node_modules/@babel/runtime/helpers/regeneratorRuntime.js","webpack://stremio/./node_modules/@stremio/stremio-core-web/node_modules/@babel/runtime/helpers/typeof.js","webpack://stremio/./node_modules/@stremio/stremio-core-web/node_modules/@babel/runtime/regenerator/index.js","webpack://stremio/webpack/bootstrap","webpack://stremio/webpack/runtime/global","webpack://stremio/webpack/runtime/publicPath","webpack://stremio/./node_modules/@stremio/stremio-core-web/worker.js"],"sourcesContent":["\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nvar _regenerator = _interopRequireDefault(require(\"@babel/runtime/regenerator\"));\nvar _asyncToGenerator2 = _interopRequireDefault(require(\"@babel/runtime/helpers/asyncToGenerator\"));\nfunction getId() {\n return Math.random().toString(32).slice(2);\n}\nfunction Bridge(scope, handler) {\n handler.addEventListener('message', /*#__PURE__*/function () {\n var _ref2 = (0, _asyncToGenerator2[\"default\"])( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee(_ref) {\n var request, id, path, args, value, data, thisArg;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n request = _ref.data.request;\n if (request) {\n _context.next = 3;\n break;\n }\n return _context.abrupt(\"return\");\n case 3:\n id = request.id, path = request.path, args = request.args;\n _context.prev = 4;\n value = path.reduce(function (value, prop) {\n return value[prop];\n }, scope);\n if (!(typeof value === 'function')) {\n _context.next = 13;\n break;\n }\n thisArg = path.slice(0, path.length - 1).reduce(function (value, prop) {\n return value[prop];\n }, scope);\n _context.next = 10;\n return value.apply(thisArg, args);\n case 10:\n data = _context.sent;\n _context.next = 16;\n break;\n case 13:\n _context.next = 15;\n return value;\n case 15:\n data = _context.sent;\n case 16:\n handler.postMessage({\n response: {\n id: id,\n result: {\n data: data\n }\n }\n });\n _context.next = 22;\n break;\n case 19:\n _context.prev = 19;\n _context.t0 = _context[\"catch\"](4);\n handler.postMessage({\n response: {\n id: id,\n result: {\n error: _context.t0\n }\n }\n });\n case 22:\n case \"end\":\n return _context.stop();\n }\n }, _callee, null, [[4, 19]]);\n }));\n return function (_x) {\n return _ref2.apply(this, arguments);\n };\n }());\n this.call = /*#__PURE__*/function () {\n var _ref3 = (0, _asyncToGenerator2[\"default\"])( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2(path, args) {\n var id;\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n id = getId();\n return _context2.abrupt(\"return\", new Promise(function (resolve, reject) {\n var onMessage = function onMessage(_ref4) {\n var response = _ref4.data.response;\n if (!response || response.id !== id) return;\n handler.removeEventListener('message', onMessage);\n if ('error' in response.result) {\n reject(response.result.error);\n } else {\n resolve(response.result.data);\n }\n };\n handler.addEventListener('message', onMessage);\n handler.postMessage({\n request: {\n id: id,\n path: path,\n args: args\n }\n });\n }));\n case 2:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2);\n }));\n return function (_x2, _x3) {\n return _ref3.apply(this, arguments);\n };\n }();\n}\nmodule.exports = Bridge;\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.analytics = analytics;\nexports.decode_stream = decode_stream;\nexports[\"default\"] = void 0;\nexports.dispatch = dispatch;\nexports.get_debug_state = get_debug_state;\nexports.get_state = get_state;\nexports.initialize_runtime = initialize_runtime;\nexports.start = start;\nvar _regenerator = _interopRequireDefault(require(\"@babel/runtime/regenerator\"));\nvar _asyncToGenerator2 = _interopRequireDefault(require(\"@babel/runtime/helpers/asyncToGenerator\"));\nvar _typeof2 = _interopRequireDefault(require(\"@babel/runtime/helpers/typeof\"));\nvar importMeta = {\n url: new URL('/stremio_core_web.js', document.baseURI).href\n};\nvar wasm;\nvar heap = new Array(32).fill(undefined);\nheap.push(undefined, null, true, false);\nfunction getObject(idx) {\n return heap[idx];\n}\nfunction _assertBoolean(n) {\n if (typeof n !== 'boolean') {\n throw new Error('expected a boolean argument');\n }\n}\nvar cachedTextDecoder = new TextDecoder('utf-8', {\n ignoreBOM: true,\n fatal: true\n});\ncachedTextDecoder.decode();\nvar cachegetUint8Memory0 = null;\nfunction getUint8Memory0() {\n if (cachegetUint8Memory0 === null || cachegetUint8Memory0.buffer !== wasm.memory.buffer) {\n cachegetUint8Memory0 = new Uint8Array(wasm.memory.buffer);\n }\n return cachegetUint8Memory0;\n}\nfunction getStringFromWasm0(ptr, len) {\n return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr, ptr + len));\n}\nvar heap_next = heap.length;\nfunction addHeapObject(obj) {\n if (heap_next === heap.length) heap.push(heap.length + 1);\n var idx = heap_next;\n heap_next = heap[idx];\n if (typeof heap_next !== 'number') throw new Error('corrupt heap');\n heap[idx] = obj;\n return idx;\n}\nvar WASM_VECTOR_LEN = 0;\nvar cachedTextEncoder = new TextEncoder('utf-8');\nvar encodeString = typeof cachedTextEncoder.encodeInto === 'function' ? function (arg, view) {\n return cachedTextEncoder.encodeInto(arg, view);\n} : function (arg, view) {\n var buf = cachedTextEncoder.encode(arg);\n view.set(buf);\n return {\n read: arg.length,\n written: buf.length\n };\n};\nfunction passStringToWasm0(arg, malloc, realloc) {\n if (typeof arg !== 'string') throw new Error('expected a string argument');\n if (realloc === undefined) {\n var buf = cachedTextEncoder.encode(arg);\n var _ptr = malloc(buf.length);\n getUint8Memory0().subarray(_ptr, _ptr + buf.length).set(buf);\n WASM_VECTOR_LEN = buf.length;\n return _ptr;\n }\n var len = arg.length;\n var ptr = malloc(len);\n var mem = getUint8Memory0();\n var offset = 0;\n for (; offset < len; offset++) {\n var code = arg.charCodeAt(offset);\n if (code > 0x7F) break;\n mem[ptr + offset] = code;\n }\n if (offset !== len) {\n if (offset !== 0) {\n arg = arg.slice(offset);\n }\n ptr = realloc(ptr, len, len = offset + arg.length * 3);\n var view = getUint8Memory0().subarray(ptr + offset, ptr + len);\n var ret = encodeString(arg, view);\n if (ret.read !== arg.length) throw new Error('failed to pass whole string');\n offset += ret.written;\n }\n WASM_VECTOR_LEN = offset;\n return ptr;\n}\nfunction isLikeNone(x) {\n return x === undefined || x === null;\n}\nvar cachegetInt32Memory0 = null;\nfunction getInt32Memory0() {\n if (cachegetInt32Memory0 === null || cachegetInt32Memory0.buffer !== wasm.memory.buffer) {\n cachegetInt32Memory0 = new Int32Array(wasm.memory.buffer);\n }\n return cachegetInt32Memory0;\n}\nfunction dropObject(idx) {\n if (idx < 36) return;\n heap[idx] = heap_next;\n heap_next = idx;\n}\nfunction takeObject(idx) {\n var ret = getObject(idx);\n dropObject(idx);\n return ret;\n}\nfunction debugString(val) {\n // primitive types\n var type = (0, _typeof2[\"default\"])(val);\n if (type == 'number' || type == 'boolean' || val == null) {\n return \"\".concat(val);\n }\n if (type == 'string') {\n return \"\\\"\".concat(val, \"\\\"\");\n }\n if (type == 'symbol') {\n var description = val.description;\n if (description == null) {\n return 'Symbol';\n } else {\n return \"Symbol(\".concat(description, \")\");\n }\n }\n if (type == 'function') {\n var name = val.name;\n if (typeof name == 'string' && name.length > 0) {\n return \"Function(\".concat(name, \")\");\n } else {\n return 'Function';\n }\n }\n // objects\n if (Array.isArray(val)) {\n var length = val.length;\n var debug = '[';\n if (length > 0) {\n debug += debugString(val[0]);\n }\n for (var i = 1; i < length; i++) {\n debug += ', ' + debugString(val[i]);\n }\n debug += ']';\n return debug;\n }\n // Test for built-in\n var builtInMatches = /\\[object ([^\\]]+)\\]/.exec(toString.call(val));\n var className;\n if (builtInMatches.length > 1) {\n className = builtInMatches[1];\n } else {\n // Failed to match the standard '[object ClassName]'\n return toString.call(val);\n }\n if (className == 'Object') {\n // we're a user defined class or Object\n // JSON.stringify avoids problems with cycles, and is generally much\n // easier than looping through ownProperties of `val`.\n try {\n return 'Object(' + JSON.stringify(val) + ')';\n } catch (_) {\n return 'Object';\n }\n }\n // errors\n if (val instanceof Error) {\n return \"\".concat(val.name, \": \").concat(val.message, \"\\n\").concat(val.stack);\n }\n // TODO we could test for more things here, like `Set`s and `Map`s.\n return className;\n}\nfunction makeMutClosure(arg0, arg1, dtor, f) {\n var state = {\n a: arg0,\n b: arg1,\n cnt: 1,\n dtor: dtor\n };\n var real = function real() {\n // First up with a closure we increment the internal reference\n // count. This ensures that the Rust closure environment won't\n // be deallocated while we're invoking it.\n state.cnt++;\n var a = state.a;\n state.a = 0;\n try {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return f.apply(void 0, [a, state.b].concat(args));\n } finally {\n if (--state.cnt === 0) {\n wasm.__wbindgen_export_2.get(state.dtor)(a, state.b);\n } else {\n state.a = a;\n }\n }\n };\n real.original = state;\n return real;\n}\nfunction logError(f, args) {\n try {\n return f.apply(this, args);\n } catch (e) {\n var error = function () {\n try {\n return e instanceof Error ? \"\".concat(e.message, \"\\n\\nStack:\\n\").concat(e.stack) : e.toString();\n } catch (_) {\n return \"<failed to stringify thrown value>\";\n }\n }();\n console.error(\"wasm-bindgen: imported JS function that was not marked as `catch` threw an error:\", error);\n throw e;\n }\n}\nfunction _assertNum(n) {\n if (typeof n !== 'number') throw new Error('expected a number argument');\n}\nfunction __wbg_adapter_28(arg0, arg1) {\n _assertNum(arg0);\n _assertNum(arg1);\n wasm._dyn_core__ops__function__FnMut_____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__he4831cbc35adb439(arg0, arg1);\n}\nfunction __wbg_adapter_31(arg0, arg1, arg2) {\n _assertNum(arg0);\n _assertNum(arg1);\n wasm._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h36d4b5a02cf7d0ed(arg0, arg1, addHeapObject(arg2));\n}\nfunction handleError(f, args) {\n try {\n return f.apply(this, args);\n } catch (e) {\n wasm.__wbindgen_exn_store(addHeapObject(e));\n }\n}\n/**\n*/\nfunction start() {\n wasm.start();\n}\n\n/**\n* @param {Function} emit_to_ui\n* @returns {Promise<void>}\n*/\nfunction initialize_runtime(emit_to_ui) {\n var ret = wasm.initialize_runtime(addHeapObject(emit_to_ui));\n return takeObject(ret);\n}\n\n/**\n* @returns {any}\n*/\nfunction get_debug_state() {\n var ret = wasm.get_debug_state();\n return takeObject(ret);\n}\n\n/**\n* @param {any} field\n* @returns {any}\n*/\nfunction get_state(field) {\n var ret = wasm.get_state(addHeapObject(field));\n return takeObject(ret);\n}\n\n/**\n* @param {any} action\n* @param {any} field\n* @param {any} location_hash\n*/\nfunction dispatch(action, field, location_hash) {\n wasm.dispatch(addHeapObject(action), addHeapObject(field), addHeapObject(location_hash));\n}\n\n/**\n* @param {any} event\n* @param {any} location_hash\n*/\nfunction analytics(event, location_hash) {\n wasm.analytics(addHeapObject(event), addHeapObject(location_hash));\n}\n\n/**\n* @param {any} stream\n* @returns {any}\n*/\nfunction decode_stream(stream) {\n var ret = wasm.decode_stream(addHeapObject(stream));\n return takeObject(ret);\n}\nfunction __wbg_adapter_117(arg0, arg1, arg2, arg3) {\n _assertNum(arg0);\n _assertNum(arg1);\n wasm.wasm_bindgen__convert__closures__invoke2_mut__hb3c4412ee6134f39(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3));\n}\nfunction load(_x, _x2) {\n return _load.apply(this, arguments);\n}\nfunction _load() {\n _load = (0, _asyncToGenerator2[\"default\"])( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee(module, imports) {\n var bytes, instance;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n if (!(typeof Response === 'function' && module instanceof Response)) {\n _context.next = 23;\n break;\n }\n if (!(typeof WebAssembly.instantiateStreaming === 'function')) {\n _context.next = 15;\n break;\n }\n _context.prev = 2;\n _context.next = 5;\n return WebAssembly.instantiateStreaming(module, imports);\n case 5:\n return _context.abrupt(\"return\", _context.sent);\n case 8:\n _context.prev = 8;\n _context.t0 = _context[\"catch\"](2);\n if (!(module.headers.get('Content-Type') != 'application/wasm')) {\n _context.next = 14;\n break;\n }\n console.warn(\"`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\\n\", _context.t0);\n _context.next = 15;\n break;\n case 14:\n throw _context.t0;\n case 15:\n _context.next = 17;\n return module.arrayBuffer();\n case 17:\n bytes = _context.sent;\n _context.next = 20;\n return WebAssembly.instantiate(bytes, imports);\n case 20:\n return _context.abrupt(\"return\", _context.sent);\n case 23:\n _context.next = 25;\n return WebAssembly.instantiate(module, imports);\n case 25:\n instance = _context.sent;\n if (!(instance instanceof WebAssembly.Instance)) {\n _context.next = 30;\n break;\n }\n return _context.abrupt(\"return\", {\n instance: instance,\n module: module\n });\n case 30:\n return _context.abrupt(\"return\", instance);\n case 31:\n case \"end\":\n return _context.stop();\n }\n }, _callee, null, [[2, 8]]);\n }));\n return _load.apply(this, arguments);\n}\nfunction init(_x3) {\n return _init.apply(this, arguments);\n}\nfunction _init() {\n _init = (0, _asyncToGenerator2[\"default\"])( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2(input) {\n var imports, _yield$load, instance, module;\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n if (typeof input === 'undefined') {\n input = new URL('stremio_core_web_bg.wasm', importMeta.url);\n }\n imports = {};\n imports.wbg = {};\n imports.wbg.__wbindgen_is_undefined = function (arg0) {\n var ret = getObject(arg0) === undefined;\n _assertBoolean(ret);\n return ret;\n };\n imports.wbg.__wbindgen_string_new = function (arg0, arg1) {\n var ret = getStringFromWasm0(arg0, arg1);\n return addHeapObject(ret);\n };\n imports.wbg.__wbindgen_string_get = function (arg0, arg1) {\n var obj = getObject(arg1);\n var ret = typeof obj === 'string' ? obj : undefined;\n var ptr0 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len0 = WASM_VECTOR_LEN;\n getInt32Memory0()[arg0 / 4 + 1] = len0;\n getInt32Memory0()[arg0 / 4 + 0] = ptr0;\n };\n imports.wbg.__wbg_static_accessor_APP_VERSION_1beed7e43b5ab0b3 = function () {\n return logError(function (arg0) {\n var ret = self.app_version;\n var ptr0 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len0 = WASM_VECTOR_LEN;\n getInt32Memory0()[arg0 / 4 + 1] = len0;\n getInt32Memory0()[arg0 / 4 + 0] = ptr0;\n }, arguments);\n };\n imports.wbg.__wbg_static_accessor_SHELL_VERSION_37fd0a93ebab812d = function () {\n return logError(function (arg0) {\n var ret = self.shell_version;\n var ptr0 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len0 = WASM_VECTOR_LEN;\n getInt32Memory0()[arg0 / 4 + 1] = len0;\n getInt32Memory0()[arg0 / 4 + 0] = ptr0;\n }, arguments);\n };\n imports.wbg.__wbg_getlocationhash_dd592d928d0ba73a = function () {\n return handleError(function () {\n var ret = self.get_location_hash();\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_localstoragegetitem_e469eae7dc6e338a = function () {\n return handleError(function (arg0, arg1) {\n try {\n var ret = self.local_storage_get_item(getStringFromWasm0(arg0, arg1));\n return addHeapObject(ret);\n } finally {\n wasm.__wbindgen_free(arg0, arg1);\n }\n }, arguments);\n };\n imports.wbg.__wbg_localstoragesetitem_89d703a20718d73d = function () {\n return handleError(function (arg0, arg1, arg2, arg3) {\n try {\n var ret = self.local_storage_set_item(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3));\n return addHeapObject(ret);\n } finally {\n wasm.__wbindgen_free(arg0, arg1);\n wasm.__wbindgen_free(arg2, arg3);\n }\n }, arguments);\n };\n imports.wbg.__wbg_localstorageremoveitem_3c5846a8b3cf91e2 = function () {\n return handleError(function (arg0, arg1) {\n try {\n var ret = self.local_storage_remove_item(getStringFromWasm0(arg0, arg1));\n return addHeapObject(ret);\n } finally {\n wasm.__wbindgen_free(arg0, arg1);\n }\n }, arguments);\n };\n imports.wbg.__wbindgen_object_drop_ref = function (arg0) {\n takeObject(arg0);\n };\n imports.wbg.__wbg_error_09919627ac0992f5 = function () {\n return logError(function (arg0, arg1) {\n try {\n console.error(getStringFromWasm0(arg0, arg1));\n } finally {\n wasm.__wbindgen_free(arg0, arg1);\n }\n }, arguments);\n };\n imports.wbg.__wbg_new_693216e109162396 = function () {\n return logError(function () {\n var ret = new Error();\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_stack_0ddaca5d1abfb52f = function () {\n return logError(function (arg0, arg1) {\n var ret = getObject(arg1).stack;\n var ptr0 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len0 = WASM_VECTOR_LEN;\n getInt32Memory0()[arg0 / 4 + 1] = len0;\n getInt32Memory0()[arg0 / 4 + 0] = ptr0;\n }, arguments);\n };\n imports.wbg.__wbindgen_is_object = function (arg0) {\n var val = getObject(arg0);\n var ret = (0, _typeof2[\"default\"])(val) === 'object' && val !== null;\n _assertBoolean(ret);\n return ret;\n };\n imports.wbg.__wbindgen_is_string = function (arg0) {\n var ret = typeof getObject(arg0) === 'string';\n _assertBoolean(ret);\n return ret;\n };\n imports.wbg.__wbg_crypto_1dc1c51d9d27e0dd = function () {\n return logError(function (arg0) {\n var ret = getObject(arg0).crypto;\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_msCrypto_4ef1b0e1cd4cedbb = function () {\n return logError(function (arg0) {\n var ret = getObject(arg0).msCrypto;\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_getRandomValues_3293819ebec805bc = function () {\n return handleError(function (arg0, arg1) {\n getObject(arg0).getRandomValues(getObject(arg1));\n }, arguments);\n };\n imports.wbg.__wbg_randomFillSync_d84d19ffc1d700ed = function () {\n return handleError(function (arg0, arg1) {\n getObject(arg0).randomFillSync(takeObject(arg1));\n }, arguments);\n };\n imports.wbg.__wbg_require_3f60396135018b0f = function () {\n return handleError(function () {\n var ret = module.require;\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_process_65edac0b2f0a8427 = function () {\n return logError(function (arg0) {\n var ret = getObject(arg0).process;\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_versions_0d0eed1c1b42b216 = function () {\n return logError(function (arg0) {\n var ret = getObject(arg0).versions;\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_node_82761bdd6eaac7e7 = function () {\n return logError(function (arg0) {\n var ret = getObject(arg0).node;\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_mark_abc7631bdced64f0 = function () {\n return logError(function (arg0, arg1) {\n performance.mark(getStringFromWasm0(arg0, arg1));\n }, arguments);\n };\n imports.wbg.__wbg_measure_c528ff64085b7146 = function () {\n return handleError(function (arg0, arg1, arg2, arg3) {\n try {\n performance.measure(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3));\n } finally {\n wasm.__wbindgen_free(arg0, arg1);\n wasm.__wbindgen_free(arg2, arg3);\n }\n }, arguments);\n };\n imports.wbg.__wbg_log_02e20a3c32305fb7 = function () {\n return logError(function (arg0, arg1) {\n try {\n console.log(getStringFromWasm0(arg0, arg1));\n } finally {\n wasm.__wbindgen_free(arg0, arg1);\n }\n }, arguments);\n };\n imports.wbg.__wbg_log_5c7513aa8c164502 = function () {\n return logError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) {\n try {\n console.log(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3), getStringFromWasm0(arg4, arg5), getStringFromWasm0(arg6, arg7));\n } finally {\n wasm.__wbindgen_free(arg0, arg1);\n }\n }, arguments);\n };\n imports.wbg.__wbindgen_cb_drop = function (arg0) {\n var obj = takeObject(arg0).original;\n if (obj.cnt-- == 1) {\n obj.a = 0;\n return true;\n }\n var ret = false;\n _assertBoolean(ret);\n return ret;\n };\n imports.wbg.__wbindgen_object_clone_ref = function (arg0) {\n var ret = getObject(arg0);\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_newwithstrandinit_9b0fa00478c37287 = function () {\n return handleError(function (arg0, arg1, arg2) {\n var ret = new Request(getStringFromWasm0(arg0, arg1), getObject(arg2));\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_instanceof_Response_e1b11afbefa5b563 = function () {\n return logError(function (arg0) {\n var ret = getObject(arg0) instanceof Response;\n _assertBoolean(ret);\n return ret;\n }, arguments);\n };\n imports.wbg.__wbg_status_6d8bb444ddc5a7b2 = function () {\n return logError(function (arg0) {\n var ret = getObject(arg0).status;\n _assertNum(ret);\n return ret;\n }, arguments);\n };\n imports.wbg.__wbg_text_8279d34d73e43c68 = function () {\n return handleError(function (arg0) {\n var ret = getObject(arg0).text();\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_language_cd6e22892ba36a1f = function () {\n return logError(function (arg0, arg1) {\n var ret = getObject(arg1).language;\n var ptr0 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len0 = WASM_VECTOR_LEN;\n getInt32Memory0()[arg0 / 4 + 1] = len0;\n getInt32Memory0()[arg0 / 4 + 0] = ptr0;\n }, arguments);\n };\n imports.wbg.__wbg_instanceof_WorkerGlobalScope_f191ca0158f5637b = function () {\n return logError(function (arg0) {\n var ret = getObject(arg0) instanceof WorkerGlobalScope;\n _assertBoolean(ret);\n return ret;\n }, arguments);\n };\n imports.wbg.__wbg_navigator_8bc0889cda8f8500 = function () {\n return logError(function (arg0) {\n var ret = getObject(arg0).navigator;\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_fetch_b4e81012e07ff95a = function () {\n return logError(function (arg0, arg1) {\n var ret = getObject(arg0).fetch(getObject(arg1));\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_setInterval_a02797f5ab1c7eb1 = function () {\n return handleError(function (arg0, arg1, arg2) {\n var ret = getObject(arg0).setInterval(getObject(arg1), arg2);\n _assertNum(ret);\n return ret;\n }, arguments);\n };\n imports.wbg.__wbindgen_number_new = function (arg0) {\n var ret = arg0;\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_instanceof_Error_561efcb1265706d8 = function () {\n return logError(function (arg0) {\n var ret = getObject(arg0) instanceof Error;\n _assertBoolean(ret);\n return ret;\n }, arguments);\n };\n imports.wbg.__wbg_message_9f7d15ff97fc4102 = function () {\n return logError(function (arg0) {\n var ret = getObject(arg0).message;\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_newnoargs_be86524d73f67598 = function () {\n return logError(function (arg0, arg1) {\n var ret = new Function(getStringFromWasm0(arg0, arg1));\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_call_888d259a5fefc347 = function () {\n return handleError(function (arg0, arg1) {\n var ret = getObject(arg0).call(getObject(arg1));\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_call_346669c262382ad7 = function () {\n return handleError(function (arg0, arg1, arg2) {\n var ret = getObject(arg0).call(getObject(arg1), getObject(arg2));\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_getTimezoneOffset_d3e5a22a1b7fb1d8 = function () {\n return logError(function (arg0) {\n var ret = getObject(arg0).getTimezoneOffset();\n return ret;\n }, arguments);\n };\n imports.wbg.__wbg_new_f11872bb9bb9d781 = function () {\n return logError(function (arg0) {\n var ret = new Date(getObject(arg0));\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_now_af172eabe2e041ad = function () {\n return logError(function () {\n var ret = Date.now();\n return ret;\n }, arguments);\n };\n imports.wbg.__wbg_new_0b83d3df67ecb33e = function () {\n return logError(function () {\n var ret = new Object();\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_new_b1d61b5687f5e73a = function () {\n return logError(function (arg0, arg1) {\n try {\n var state0 = {\n a: arg0,\n b: arg1\n };\n var cb0 = function cb0(arg0, arg1) {\n var a = state0.a;\n state0.a = 0;\n try {\n return __wbg_adapter_117(a, state0.b, arg0, arg1);\n } finally {\n state0.a = a;\n }\n };\n var ret = new Promise(cb0);\n return addHeapObject(ret);\n } finally {\n state0.a = state0.b = 0;\n }\n }, arguments);\n };\n imports.wbg.__wbg_resolve_d23068002f584f22 = function () {\n return logError(function (arg0) {\n var ret = Promise.resolve(getObject(arg0));\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_then_2fcac196782070cc = function () {\n return logError(function (arg0, arg1) {\n var ret = getObject(arg0).then(getObject(arg1));\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_then_8c2d62e8ae5978f7 = function () {\n return logError(function (arg0, arg1, arg2) {\n var ret = getObject(arg0).then(getObject(arg1), getObject(arg2));\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_globalThis_3f735a5746d41fbd = function () {\n return handleError(function () {\n var ret = globalThis.globalThis;\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_self_c6fbdfc2918d5e58 = function () {\n return handleError(function () {\n var ret = self.self;\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_window_baec038b5ab35c54 = function () {\n return handleError(function () {\n var ret = window.window;\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_global_1bc0b39582740e95 = function () {\n return handleError(function () {\n var ret = global.global;\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_new_a7ce447f15ff496f = function () {\n return logError(function (arg0) {\n var ret = new Uint8Array(getObject(arg0));\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_newwithlength_929232475839a482 = function () {\n return logError(function (arg0) {\n var ret = new Uint8Array(arg0 >>> 0);\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_newwithbyteoffsetandlength_4b9b8c4e3f5adbff = function () {\n return logError(function (arg0, arg1, arg2) {\n var ret = new Uint8Array(getObject(arg0), arg1 >>> 0, arg2 >>> 0);\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_subarray_8b658422a224f479 = function () {\n return logError(function (arg0, arg1, arg2) {\n var ret = getObject(arg0).subarray(arg1 >>> 0, arg2 >>> 0);\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_set_969ad0a60e51d320 = function () {\n return logError(function (arg0, arg1, arg2) {\n getObject(arg0).set(getObject(arg1), arg2 >>> 0);\n }, arguments);\n };\n imports.wbg.__wbindgen_is_function = function (arg0) {\n var ret = typeof getObject(arg0) === 'function';\n _assertBoolean(ret);\n return ret;\n };\n imports.wbg.__wbg_buffer_397eaa4d72ee94dd = function () {\n return logError(function (arg0) {\n var ret = getObject(arg0).buffer;\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_parse_ccb2cd4fe8ead0cb = function () {\n return handleError(function (arg0, arg1) {\n var ret = JSON.parse(getStringFromWasm0(arg0, arg1));\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_stringify_d4507a59932eed0c = function () {\n return handleError(function (arg0) {\n var ret = JSON.stringify(getObject(arg0));\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_set_82a4e8a85e31ac42 = function () {\n return handleError(function (arg0, arg1, arg2) {\n var ret = Reflect.set(getObject(arg0), getObject(arg1), getObject(arg2));\n _assertBoolean(ret);\n return ret;\n }, arguments);\n };\n imports.wbg.__wbindgen_debug_string = function (arg0, arg1) {\n var ret = debugString(getObject(arg1));\n var ptr0 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len0 = WASM_VECTOR_LEN;\n getInt32Memory0()[arg0 / 4 + 1] = len0;\n getInt32Memory0()[arg0 / 4 + 0] = ptr0;\n };\n imports.wbg.__wbindgen_throw = function (arg0, arg1) {\n throw new Error(getStringFromWasm0(arg0, arg1));\n };\n imports.wbg.__wbindgen_memory = function () {\n var ret = wasm.memory;\n return addHeapObject(ret);\n };\n imports.wbg.__wbindgen_closure_wrapper12503 = function () {\n return logError(function (arg0, arg1, arg2) {\n var ret = makeMutClosure(arg0, arg1, 809, __wbg_adapter_28);\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbindgen_closure_wrapper41114 = function () {\n return logError(function (arg0, arg1, arg2) {\n var ret = makeMutClosure(arg0, arg1, 1605, __wbg_adapter_31);\n return addHeapObject(ret);\n }, arguments);\n };\n if (typeof input === 'string' || typeof Request === 'function' && input instanceof Request || typeof URL === 'function' && input instanceof URL) {\n input = fetch(input);\n }\n _context2.t0 = load;\n _context2.next = 78;\n return input;\n case 78:\n _context2.t1 = _context2.sent;\n _context2.t2 = imports;\n _context2.next = 82;\n return (0, _context2.t0)(_context2.t1, _context2.t2);\n case 82:\n _yield$load = _context2.sent;\n instance = _yield$load.instance;\n module = _yield$load.module;\n wasm = instance.exports;\n init.__wbindgen_wasm_module = module;\n wasm.__wbindgen_start();\n return _context2.abrupt(\"return\", wasm);\n case 89:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2);\n }));\n return _init.apply(this, arguments);\n}\nvar _default = exports[\"default\"] = init;\n","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nfunction _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}\nmodule.exports = _asyncToGenerator, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n module.exports = _regeneratorRuntime = function _regeneratorRuntime() {\n return e;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var t,\n e = {},\n r = Object.prototype,\n n = r.hasOwnProperty,\n o = Object.defineProperty || function (t, e, r) {\n t[e] = r.value;\n },\n i = \"function\" == typeof Symbol ? Symbol : {},\n a = i.iterator || \"@@iterator\",\n c = i.asyncIterator || \"@@asyncIterator\",\n u = i.toStringTag || \"@@toStringTag\";\n function define(t, e, r) {\n return Object.defineProperty(t, e, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), t[e];\n }\n try {\n define({}, \"\");\n } catch (t) {\n define = function define(t, e, r) {\n return t[e] = r;\n };\n }\n function wrap(t, e, r, n) {\n var i = e && e.prototype instanceof Generator ? e : Generator,\n a = Object.create(i.prototype),\n c = new Context(n || []);\n return o(a, \"_invoke\", {\n value: makeInvokeMethod(t, r, c)\n }), a;\n }\n function tryCatch(t, e, r) {\n try {\n return {\n type: \"normal\",\n arg: t.call(e, r)\n };\n } catch (t) {\n return {\n type: \"throw\",\n arg: t\n };\n }\n }\n e.wrap = wrap;\n var h = \"suspendedStart\",\n l = \"suspendedYield\",\n f = \"executing\",\n s = \"completed\",\n y = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var p = {};\n define(p, a, function () {\n return this;\n });\n var d = Object.getPrototypeOf,\n v = d && d(d(values([])));\n v && v !== r && n.call(v, a) && (p = v);\n var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);\n function defineIteratorMethods(t) {\n [\"next\", \"throw\", \"return\"].forEach(function (e) {\n define(t, e, function (t) {\n return this._invoke(e, t);\n });\n });\n }\n function AsyncIterator(t, e) {\n function invoke(r, o, i, a) {\n var c = tryCatch(t[r], t, o);\n if (\"throw\" !== c.type) {\n var u = c.arg,\n h = u.value;\n return h && \"object\" == _typeof(h) && n.call(h, \"__await\") ? e.resolve(h.__await).then(function (t) {\n invoke(\"next\", t, i, a);\n }, function (t) {\n invoke(\"throw\", t, i, a);\n }) : e.resolve(h).then(function (t) {\n u.value = t, i(u);\n }, function (t) {\n return invoke(\"throw\", t, i, a);\n });\n }\n a(c.arg);\n }\n var r;\n o(this, \"_invoke\", {\n value: function value(t, n) {\n function callInvokeWithMethodAndArg() {\n return new e(function (e, r) {\n invoke(t, n, e, r);\n });\n }\n return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(e, r, n) {\n var o = h;\n return function (i, a) {\n if (o === f) throw Error(\"Generator is already running\");\n if (o === s) {\n if (\"throw\" === i) throw a;\n return {\n value: t,\n done: !0\n };\n }\n for (n.method = i, n.arg = a;;) {\n var c = n.delegate;\n if (c) {\n var u = maybeInvokeDelegate(c, n);\n if (u) {\n if (u === y) continue;\n return u;\n }\n }\n if (\"next\" === n.method) n.sent = n._sent = n.arg;else if (\"throw\" === n.method) {\n if (o === h) throw o = s, n.arg;\n n.dispatchException(n.arg);\n } else \"return\" === n.method && n.abrupt(\"return\", n.arg);\n o = f;\n var p = tryCatch(e, r, n);\n if (\"normal\" === p.type) {\n if (o = n.done ? s : l, p.arg === y) continue;\n return {\n value: p.arg,\n done: n.done\n };\n }\n \"throw\" === p.type && (o = s, n.method = \"throw\", n.arg = p.arg);\n }\n };\n }\n function maybeInvokeDelegate(e, r) {\n var n = r.method,\n o = e.iterator[n];\n if (o === t) return r.delegate = null, \"throw\" === n && e.iterator[\"return\"] && (r.method = \"return\", r.arg = t, maybeInvokeDelegate(e, r), \"throw\" === r.method) || \"return\" !== n && (r.method = \"throw\", r.arg = new TypeError(\"The iterator does not provide a '\" + n + \"' method\")), y;\n var i = tryCatch(o, e.iterator, r.arg);\n if (\"throw\" === i.type) return r.method = \"throw\", r.arg = i.arg, r.delegate = null, y;\n var a = i.arg;\n return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, \"return\" !== r.method && (r.method = \"next\", r.arg = t), r.delegate = null, y) : a : (r.method = \"throw\", r.arg = new TypeError(\"iterator result is not an object\"), r.delegate = null, y);\n }\n function pushTryEntry(t) {\n var e = {\n tryLoc: t[0]\n };\n 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);\n }\n function resetTryEntry(t) {\n var e = t.completion || {};\n e.type = \"normal\", delete e.arg, t.completion = e;\n }\n function Context(t) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], t.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(e) {\n if (e || \"\" === e) {\n var r = e[a];\n if (r) return r.call(e);\n if (\"function\" == typeof e.next) return e;\n if (!isNaN(e.length)) {\n var o = -1,\n i = function next() {\n for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;\n return next.value = t, next.done = !0, next;\n };\n return i.next = i;\n }\n }\n throw new TypeError(_typeof(e) + \" is not iterable\");\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), o(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, \"GeneratorFunction\"), e.isGeneratorFunction = function (t) {\n var e = \"function\" == typeof t && t.constructor;\n return !!e && (e === GeneratorFunction || \"GeneratorFunction\" === (e.displayName || e.name));\n }, e.mark = function (t) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, \"GeneratorFunction\")), t.prototype = Object.create(g), t;\n }, e.awrap = function (t) {\n return {\n __await: t\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {\n return this;\n }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {\n void 0 === i && (i = Promise);\n var a = new AsyncIterator(wrap(t, r, n, o), i);\n return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {\n return t.done ? t.value : a.next();\n });\n }, defineIteratorMethods(g), define(g, u, \"Generator\"), define(g, a, function () {\n return this;\n }), define(g, \"toString\", function () {\n return \"[object Generator]\";\n }), e.keys = function (t) {\n var e = Object(t),\n r = [];\n for (var n in e) r.push(n);\n return r.reverse(), function next() {\n for (; r.length;) {\n var t = r.pop();\n if (t in e) return next.value = t, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, e.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(e) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) \"t\" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);\n },\n stop: function stop() {\n this.done = !0;\n var t = this.tryEntries[0].completion;\n if (\"throw\" === t.type) throw t.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(e) {\n if (this.done) throw e;\n var r = this;\n function handle(n, o) {\n return a.type = \"throw\", a.arg = e, r.next = n, o && (r.method = \"next\", r.arg = t), !!o;\n }\n for (var o = this.tryEntries.length - 1; o >= 0; --o) {\n var i = this.tryEntries[o],\n a = i.completion;\n if (\"root\" === i.tryLoc) return handle(\"end\");\n if (i.tryLoc <= this.prev) {\n var c = n.call(i, \"catchLoc\"),\n u = n.call(i, \"finallyLoc\");\n if (c && u) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n } else if (c) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n } else {\n if (!u) throw Error(\"try statement without catch or finally\");\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(t, e) {\n for (var r = this.tryEntries.length - 1; r >= 0; --r) {\n var o = this.tryEntries[r];\n if (o.tryLoc <= this.prev && n.call(o, \"finallyLoc\") && this.prev < o.finallyLoc) {\n var i = o;\n break;\n }\n }\n i && (\"break\" === t || \"continue\" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);\n var a = i ? i.completion : {};\n return a.type = t, a.arg = e, i ? (this.method = \"next\", this.next = i.finallyLoc, y) : this.complete(a);\n },\n complete: function complete(t, e) {\n if (\"throw\" === t.type) throw t.arg;\n return \"break\" === t.type || \"continue\" === t.type ? this.next = t.arg : \"return\" === t.type ? (this.rval = this.arg = t.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === t.type && e && (this.next = e), y;\n },\n finish: function finish(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;\n }\n },\n \"catch\": function _catch(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.tryLoc === t) {\n var n = r.completion;\n if (\"throw\" === n.type) {\n var o = n.arg;\n resetTryEntry(r);\n }\n return o;\n }\n }\n throw Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(e, r, n) {\n return this.delegate = {\n iterator: values(e),\n resultName: r,\n nextLoc: n\n }, \"next\" === this.method && (this.arg = t), y;\n }\n }, e;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// TODO(Babel 8): Remove this file.\n\nvar runtime = require(\"../helpers/regeneratorRuntime\")();\nmodule.exports = runtime;\n\n// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) scriptUrl = scripts[scripts.length - 1].src\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl + \"../../\";","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nvar _regenerator = _interopRequireDefault(require(\"@babel/runtime/regenerator\"));\nvar _asyncToGenerator2 = _interopRequireDefault(require(\"@babel/runtime/helpers/asyncToGenerator\"));\nvar Bridge = require('./bridge');\nvar bridge = new Bridge(self, self);\nself.init = /*#__PURE__*/function () {\n var _ref2 = (0, _asyncToGenerator2[\"default\"])( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee5(_ref) {\n var appVersion, shellVersion, _require, initialize_api, initialize_runtime, get_state, get_debug_state, dispatch, analytics, decode_stream;\n return _regenerator[\"default\"].wrap(function _callee5$(_context5) {\n while (1) switch (_context5.prev = _context5.next) {\n case 0:\n appVersion = _ref.appVersion, shellVersion = _ref.shellVersion;\n // TODO remove the document shim when this PR is merged\n // https://github.com/cfware/babel-plugin-bundled-import-meta/pull/26\n self.document = {\n baseURI: self.location.href\n };\n self.app_version = appVersion;\n self.shell_version = shellVersion;\n self.get_location_hash = /*#__PURE__*/(0, _asyncToGenerator2[\"default\"])( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee() {\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n return _context.abrupt(\"return\", bridge.call(['location', 'hash'], []));\n case 1:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }));\n self.local_storage_get_item = /*#__PURE__*/function () {\n var _ref4 = (0, _asyncToGenerator2[\"default\"])( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2(key) {\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n return _context2.abrupt(\"return\", bridge.call(['localStorage', 'getItem'], [key]));\n case 1:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2);\n }));\n return function (_x2) {\n return _ref4.apply(this, arguments);\n };\n }();\n self.local_storage_set_item = /*#__PURE__*/function () {\n var _ref5 = (0, _asyncToGenerator2[\"default\"])( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee3(key, value) {\n return _regenerator[\"default\"].wrap(function _callee3$(_context3) {\n while (1) switch (_context3.prev = _context3.next) {\n case 0:\n return _context3.abrupt(\"return\", bridge.call(['localStorage', 'setItem'], [key, value]));\n case 1:\n case \"end\":\n return _context3.stop();\n }\n }, _callee3);\n }));\n return function (_x3, _x4) {\n return _ref5.apply(this, arguments);\n };\n }();\n self.local_storage_remove_item = /*#__PURE__*/function () {\n var _ref6 = (0, _asyncToGenerator2[\"default\"])( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee4(key) {\n return _regenerator[\"default\"].wrap(function _callee4$(_context4) {\n while (1) switch (_context4.prev = _context4.next) {\n case 0:\n return _context4.abrupt(\"return\", bridge.call(['localStorage', 'removeItem'], [key]));\n case 1:\n case \"end\":\n return _context4.stop();\n }\n }, _callee4);\n }));\n return function (_x5) {\n return _ref6.apply(this, arguments);\n };\n }();\n _require = require('./stremio_core_web.js'), initialize_api = _require[\"default\"], initialize_runtime = _require.initialize_runtime, get_state = _require.get_state, get_debug_state = _require.get_debug_state, dispatch = _require.dispatch, analytics = _require.analytics, decode_stream = _require.decode_stream;\n self.getState = get_state;\n self.getDebugState = get_debug_state;\n self.dispatch = dispatch;\n self.analytics = analytics;\n self.decodeStream = decode_stream;\n _context5.next = 16;\n return initialize_api(require('./stremio_core_web_bg.wasm'));\n case 16:\n _context5.next = 18;\n return initialize_runtime(function (event) {\n return bridge.call(['onCoreEvent'], [event]);\n });\n case 18:\n case \"end\":\n return _context5.stop();\n }\n }, _callee5);\n }));\n return function (_x) {\n return _ref2.apply(this, arguments);\n };\n}();\n"],"names":["_interopRequireDefault","_regenerator","_asyncToGenerator2","module","exports","scope","handler","addEventListener","_ref2","mark","_callee","_ref","request","id","path","args","value","data","thisArg","wrap","_context","prev","next","abrupt","reduce","prop","slice","length","apply","sent","postMessage","response","result","t0","error","stop","_x","this","arguments","call","_ref3","_callee2","_context2","Math","random","toString","Promise","resolve","reject","onMessage","_ref4","removeEventListener","_x2","_x3","Object","defineProperty","analytics","event","location_hash","wasm","addHeapObject","decode_stream","stream","takeObject","dispatch","action","field","get_debug_state","get_state","initialize_runtime","emit_to_ui","start","_typeof2","importMeta","url","URL","document","baseURI","href","heap","Array","fill","undefined","getObject","idx","_assertBoolean","n","Error","push","cachedTextDecoder","TextDecoder","ignoreBOM","fatal","decode","cachegetUint8Memory0","getUint8Memory0","buffer","memory","Uint8Array","getStringFromWasm0","ptr","len","subarray","heap_next","obj","WASM_VECTOR_LEN","cachedTextEncoder","TextEncoder","encodeString","encodeInto","arg","view","buf","encode","set","read","written","passStringToWasm0","malloc","realloc","_ptr","mem","offset","code","charCodeAt","ret","isLikeNone","x","cachegetInt32Memory0","getInt32Memory0","Int32Array","dropObject","debugString","val","type","concat","description","name","isArray","debug","i","className","builtInMatches","exec","JSON","stringify","_","message","stack","makeMutClosure","arg0","arg1","dtor","f","state","a","b","cnt","real","_len","_key","__wbindgen_export_2","get","original","logError","e","console","_assertNum","__wbg_adapter_28","_dyn_core__ops__function__FnMut_____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__he4831cbc35adb439","__wbg_adapter_31","arg2","_dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h36d4b5a02cf7d0ed","handleError","__wbindgen_exn_store","__wbg_adapter_117","arg3","wasm_bindgen__convert__closures__invoke2_mut__hb3c4412ee6134f39","load","_load","imports","bytes","instance","Response","WebAssembly","instantiateStreaming","headers","warn","arrayBuffer","instantiate","Instance","init","_init","input","_yield$load","wbg","__wbindgen_is_undefined","__wbindgen_string_new","__wbindgen_string_get","ptr0","__wbindgen_malloc","__wbindgen_realloc","len0","__wbg_static_accessor_APP_VERSION_1beed7e43b5ab0b3","self","app_version","__wbg_static_accessor_SHELL_VERSION_37fd0a93ebab812d","shell_version","__wbg_getlocationhash_dd592d928d0ba73a","get_location_hash","__wbg_localstoragegetitem_e469eae7dc6e338a","local_storage_get_item","__wbindgen_free","__wbg_localstoragesetitem_89d703a20718d73d","local_storage_set_item","__wbg_localstorageremoveitem_3c5846a8b3cf91e2","local_storage_remove_item","__wbindgen_object_drop_ref","__wbg_error_09919627ac0992f5","__wbg_new_693216e109162396","__wbg_stack_0ddaca5d1abfb52f","__wbindgen_is_object","__wbindgen_is_string","__wbg_crypto_1dc1c51d9d27e0dd","crypto","__wbg_msCrypto_4ef1b0e1cd4cedbb","msCrypto","__wbg_getRandomValues_3293819ebec805bc","getRandomValues","__wbg_randomFillSync_d84d19ffc1d700ed","randomFillSync","__wbg_require_3f60396135018b0f","require","__wbg_process_65edac0b2f0a8427","process","__wbg_versions_0d0eed1c1b42b216","versions","__wbg_node_82761bdd6eaac7e7","node","__wbg_mark_abc7631bdced64f0","performance","__wbg_measure_c528ff64085b7146","measure","__wbg_log_02e20a3c32305fb7","log","__wbg_log_5c7513aa8c164502","arg4","arg5","arg6","arg7","__wbindgen_cb_drop","__wbindgen_object_clone_ref","__wbg_newwithstrandinit_9b0fa00478c37287","Request","__wbg_instanceof_Response_e1b11afbefa5b563","__wbg_status_6d8bb444ddc5a7b2","status","__wbg_text_8279d34d73e43c68","text","__wbg_language_cd6e22892ba36a1f","language","__wbg_instanceof_WorkerGlobalScope_f191ca0158f5637b","WorkerGlobalScope","__wbg_navigator_8bc0889cda8f8500","navigator","__wbg_fetch_b4e81012e07ff95a","fetch","__wbg_setInterval_a02797f5ab1c7eb1","setInterval","__wbindgen_number_new","__wbg_instanceof_Error_561efcb1265706d8","__wbg_message_9f7d15ff97fc4102","__wbg_newnoargs_be86524d73f67598","Function","__wbg_call_888d259a5fefc347","__wbg_call_346669c262382ad7","__wbg_getTimezoneOffset_d3e5a22a1b7fb1d8","getTimezoneOffset","__wbg_new_f11872bb9bb9d781","Date","__wbg_now_af172eabe2e041ad","now","__wbg_new_0b83d3df67ecb33e","__wbg_new_b1d61b5687f5e73a","state0","__wbg_resolve_d23068002f584f22","__wbg_then_2fcac196782070cc","then","__wbg_then_8c2d62e8ae5978f7","__wbg_globalThis_3f735a5746d41fbd","globalThis","__wbg_self_c6fbdfc2918d5e58","__wbg_window_baec038b5ab35c54","window","__wbg_global_1bc0b39582740e95","g","global","__wbg_new_a7ce447f15ff496f","__wbg_newwithlength_929232475839a482","__wbg_newwithbyteoffsetandlength_4b9b8c4e3f5adbff","__wbg_subarray_8b658422a224f479","__wbg_set_969ad0a60e51d320","__wbindgen_is_function","__wbg_buffer_397eaa4d72ee94dd","__wbg_parse_ccb2cd4fe8ead0cb","parse","__wbg_stringify_d4507a59932eed0c","__wbg_set_82a4e8a85e31ac42","Reflect","__wbindgen_debug_string","__wbindgen_throw","__wbindgen_memory","__wbindgen_closure_wrapper12503","__wbindgen_closure_wrapper41114","t1","t2","__wbindgen_wasm_module","__wbindgen_start","asyncGeneratorStep","gen","_next","_throw","key","info","done","fn","err","__esModule","_typeof","_regeneratorRuntime","t","r","prototype","hasOwnProperty","o","Symbol","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","Generator","create","Context","makeInvokeMethod","tryCatch","h","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","__await","callInvokeWithMethodAndArg","method","delegate","maybeInvokeDelegate","_sent","dispatchException","TypeError","resultName","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","isNaN","displayName","isGeneratorFunction","constructor","setPrototypeOf","__proto__","awrap","async","keys","reverse","pop","charAt","rval","handle","complete","finish","delegateYield","runtime","regeneratorRuntime","accidentalStrictMode","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","scriptUrl","importScripts","location","currentScript","src","scripts","getElementsByTagName","replace","bridge","_callee5","appVersion","shellVersion","_require","initialize_api","_context5","_ref5","_callee3","_context3","_x4","_ref6","_callee4","_context4","_x5","getState","getDebugState","decodeStream"],"sourceRoot":""} \ No newline at end of file diff --git a/feat/seek-player-action/db0f16b81e41b3901bcf5e0a624af142b1dd9f00/binaries/stremio_core_web_bg.wasm b/feat/seek-player-action/db0f16b81e41b3901bcf5e0a624af142b1dd9f00/binaries/stremio_core_web_bg.wasm new file mode 100644 index 0000000000000000000000000000000000000000..d3fde7dd3749dd045c175402b6c1c32417d71454 GIT binary patch literal 4836300 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%0Dv%d*Vu8b6i z9c-?QhB3t}hL6?<I}#RkWQR|mO%Jv4FvM6~D#pI(9IZyA-4Y{r8+d#5NV6~3Fwz_I zislYE&0)GYf6v9zfb_qJ=_Vy|oJ=bbS#NDwjtcfuCY?rwZ3mqxXng`7Ea_Ui{gXI{ zR&j+g;ahRDMU&8x6E8-2{11z5!hVJ{t_X_Mt9@&K#p0BzBpmk~IIc?KS(Vt)2$isC z2$K7(;kl5|+dfz{FY2A7ny6s!Y4TBIAQ>ucizPTw82@Nl${(Rr^)Y#bEal%3ZIHrb z9Cf@b<v`kNyGLF%5)KpYQD!L**1G&7W+{JWx++J^z@{F3mh!(`{|YBLA(ry5Q@t_q zC8jnWj{-~ibS28Rdn<5n8G9HkWrj1-A3IC=UylY$@k$;sOYv$>kfm__h}l{7ZbRjW z>1d{!A`AZ~Wz5lUNOp@dF+bgitUaB)n9_%BYE{3JSm?4TB#s-_h(};*H7b+w<1w|W z!%&)95qDLLdp0;f5mT!voyPS{t)_yhmBg<EC(G>PJ!>nBjJ1@OV9&L-vbrePv$hIC zZerD;W|v-ZRrU`>WpK4(R-JtYS5vHh0)juiE0|?uvy?Xh4DG<s4D_rqd*)V{(aYRw zSuZn-yqjAQwe5JVtxgDto~_k9K%m=H=s18tp0GZ0%2AnG4H^aVMTWjv7^|$U0CYC4 zYQ|P|Ivg|?3=9-~gKL3a8M#qMx^y`F%8t|4YSiU<Nt}>DwQ*FpIrTt1`Iq1k=6Y9V z6{{MeA@<e1e|dUlyksmYU+Cwl92?F&kX~NQ?6%EqERRE8X{-3qLwf%JXR2(>-6w`> zwNXc$(<w_k`<Ns?t)GaKwi0Cja^9o_$#l8|;cL&3M7>0Zl`ErD&|OQ5>cvrIYg>=j z$f2E;Rf;+EkLa_Ldak!lct5C6@N@4Y7^ne@!edPPMX+mQjRnXhg?me3@zuy~+Ne() zq1td@+=TloUB-iRCcfhAhy#6o4P8~ekZ~~>IS4XFuPP2I5A|9d9LCvE3Ysdw=*JnG z-wM&q0A9>#b{}L>1sTh41sPjUAcRf$iLj3YE}VjdAhLDPXf^=0>554d6y{*)P0Th& z`jgOaBT_r7w?^2!HtA7;3!@Z-R{yl>;=(DBm*qsmtzHXR93YaZ#1^31Sn>^2M5qT$ z<qJJbkfH)G$H|BHzjI|BO;>O|<ID`Mxc!55ER=Lb5M}cs#71%QRk#J(utbb-4L>?q zZD`cW{Bb#Og0^kY`Yyt#n!b8(`Uo5HWY#)in~}EEDO`fY>|j&%{r?Sa4n1UlEWZ#C zSf|$~s9G($Xg$CDt9&mHiR<MJ3ey*8N>wvrc3G{I(wXApaZ?qbZU<f-m`;|2HuovE z-WYGjjVR$p6Gkh}rAN))#tz7KoVMI>tOqa6?pfBWK%Jgqa+&-|dIg8NjqJUvJ>a%L z;f(S-sGm6gwGkwdOTds0kJoM&_*e)~cP>YhY@|`QO06Puof8dEw_4YDKe7;YidkV2 z{OZkF8KrKMgn;yylU|g%Lo!zLUG2Rj+qt6Dp)O6OtKNiCGa<mm2}P;<#7YgZM(uGK zrOs)g0WFvU#{y1d-(0LY(e5HloX5U7$+UnKGw(w8_2lBvJF!nch~-uwokurH-K>G` zMXA$ZOTW8`c5Sq4Ad1@<-}P%H_R0M4H262nC(b$F&@synbL6<YoecS{>N~Ksl!1pj zTG?>G-L>I>ABfhD<Ay^CT;$Dp)NVKoLgdxF4aqIQ;RoK?R|8McHst)V=-fnBSv@ub zE%M<-9H=zVWtQ)A9HDSurISha#zG3DHrFpHFM<BO5poyXKC?&5rd`J*d$Z8wwnF(X zm;{I^EQ8asKu5nXEDb|@^-%Bubl>-IEM-OqGZd7v_EkI(eXoWZXu54z#24FZZ8B}k zHs3{?%hU6_mdk{Li(r`6UJEsvgT5s$LBS$W^@Ph9p~bSE`Cx|y)L^ewL`iNY=>fkj z0KZjFpx+|r=VZDMcN@6UIr1h;9R9~|JF+SWX;5|@7pzIH4>fK#4I_pjW=2DCkX8wz zp8M)G>2@t~{!b|TwW^_jxch0Sjwk{x2HUg`>SFiS2e(WL9h~{Z5QWi`PJj(RCDP^q z3xvWB<f(B_Z9AYBa$WOx7Wm#W`7Lc2b0F~O+tyejxQWsH#TvDo4rY<TZ70EH`T35| zjXa=@^*o3&G{s~1987U}oSSbwM;^ez(qk%|!r1TZP~UZj_RX}bn%gYtsuGOLy7Zpk z;ECBe3F%r5-%1;hW<<iAve_gvxUze5DU6bVFc^F5X-V;Z>0wFoOvxSyPA127>7gk_ zvGz#hDHb#s<;Xw0ryWX<PjL9s@34N-$%~hqa_SSr>U6t=p^3Bmv!i(Q33^u^EQfce z>K*LQ@|_uDw2+LRqIb9e**ipPwtez^hiim)%M~lCJ-S%$BnIaUg}>v48QHq2a2kB! z?WS__gf`9P9XHl`o91TT?r+l^%sEx4)$h*Vm=@RG&1usdwQ-xUJWoj)Yuy=)V~_Ce zjI{l9;D-*-;fHsjpT?aQOEZB#Kop&&N{Vsifr6JujWxE0B+H}rnkeRz?JXB=ULHlb znY%OfqEO@Vq`~=;JjRk@c8%Hb*2pPDRGidbqYfB~lX>T)&Iy=sP6y!HCE{t5_duuf zgm5YhYqONN6k{=Qc9fG1Syp+on_Rif!ZKA%XraIsE`-Bshj3V&MQeUfRirPa%whp& z@vT%>4*)xmwpS$pe%1o_2&xwV0Gk|4!O}nXo8mg0#i?61Ykz#*VxKm*Tc<o)-Ll;c zD>Xv|&a)dAI~sa#zD&Fb<D_Of)()m)obI^|*~i*(OWZ=IvTkk4h(VQbT!#E4qfFtn z%etjd3Z$o`san<JCu(_V(YV}}6=Y+R#*0|?c^;4p^U^o&Lq@rX7jME#LX6r#QXD%a zSF!V(7Mf&6mwo)D=KINRhQ?sy$i-}30mYlti@b}zi%DY}9g3+{9k2GcdT-V0kvFLQ zi|b9ufDcKFy^&Y0$|iJM6{d)~VTjMrec$ILlN6GENF)vpu*uVM&SF&d^Zv3$LGyCn z4`^5&hIMM~Vm~2Vu>GMqtv4HcRaGbxI#rc0cLCXK@hUO57R;T`E2&#{Z`%h-425rK zquY@the42RNsy!5&E})*wik3Yx^hs_2!R(`HIobsI@N9NzAE-?6~a^<oEo94$aP<t z<(5oo$g~Gz%5R$2<!NQ}Uu;z3fpIWFSJ}sqe|f^~U;?`wH<I*z6OS1>;gk|km-G<^ zEtojbBZUjQEDGpwimmECEGm2ZCLH8N^mA*!d3NnJijY@5v&p3zD5<!G%;+v}IaO_5 zI9WEWEaH5q^6oep=<NMyS6&hPvKVdXA`}!0;t7V~&mV)+8qILAx&y|jQnKuJHQL4R z51Jsz82vNE!rcJY`4Yq(GPq={OU*O~jCF^v2x_1#d=>L+&}lZCqeRgnC$anvFxXr! zCQ+x@&P*xp<BwU67T5kBKUWpE@Ni!lil_&6{+c&OUOVTw1om-!$0Z<3tASyS#ByUF z%m|E)XaFOY_dg3^QQ95P`IPR7ADHyj$vObB+43#fW3lA4hv}CNi8hY+prqb*c~G*# z4@&A_m^e~@!Kul7zUUzvyr&@rO2{_H551lZJCfk=Z4y-PU?l7Lpo8;|^-e`_>DL0R zN+ipKM(BClhR0+W-j@F7nX9Fk-ST$g&qVgFGppkeRMb^v2tff9B&{jq9}tZlg&g@r z<#|pWYFpUT$_6h}#DO^L9fKf1i~Z)Fk?H0~Ao+<NfgDHUz2lDojq?f>Ty^wec#f;1 zk2!djKw@~Rp+;PykZo_qlM3ocshxS$Nh+R2&Ne+c?-*QzpLgH@#vEgP*ETBx!}2Q! z3|L1nS%F1MyrgbBFEj5|2!W;1w4x#kfeK^ioa3{txKqjymF83R%e`66bO}O9U(v8G zMX|5Bhm#aaG`_XF7{zB7iy>`fUFESJM-(2@_@KzOS8E5SE34VMO&Tu<tiMydL^hpG z;6Veg@F}XFTj?>3!AI8WC)x>B<Mp_ajX#g|)X8I-)o{eKR8_06Dn!R2L6KgMSerQg z%6}1WLisO(5W68t{Iz^hJVgzftWHK#um`LOW|gPMD&O()2o6C86$;|)ozF_(gh0iy zk9pRTUO%Z}t*xDIKu9HEUO-fpD6a_5>-yG)vaXR@T^hzgby11xlEIG&#i}ceDl~yN zboNo*i)pY8dwuNEM3owp#ue4|X<(+_C6uEhCt8#{uxdp+M{5;)_O;3oQ`Et=g2Le- zaIK&V&e`9s@B;vRY>Y-3dGk>uJ{*C7FIH_)w^N*91SUnD1<7hCG$+0@HeNQ`?TT7J zhDMt~uc*a#95zB=b?8L<hqL~}Ejp?RN7vl$)5u1|(4$z5y*5d1PxY?q5Mw{vfodxI zjO+g^rhL>xj8)J!RM&+#=Nw|JsvTnJDw_Hs21`MCh_RwP#6U=pFy%KBV_(j-Gwc)I z_p<C3(I?E}0#_8nW2A*O?!nqX;0YZ?$~w~YRXRLNi+po2hG76<<j9aCAoEy8`Dl4` z*Sn8DuDwn#KqU*1#cs1h3|)9b1h?{*9o;Z<T(|7(i#FGfFy#8f8t~t!jp<GY!!0|C zfshtolPq|FCBcGQ&?D)3)8+Za#o_#7eRa!@vV`*s1)63N=lnvPSh}W7u6t)cR9>$` z_z59qLS7-f)Y+7oqJsVEdYz9|2N&zWUwOUGMs`V*tRjFk=>dBzb2`>Qi^C9ZmP~>t zpsc)JXPuZCyj-dVn)So1C9?BZote=ADtNjtKZE0;1B|!(=%DX<9kc*FS|G-x@{V!_ z+M@-+u5H%Oua~63c?3#i&Ld1uqTw&9vx|cuwvp{QMe35{JG)p{JG&s>+@KqF*7a`K zDRcDQu(Q5)!_KTh?wws|pmla}v1WkIFlr!%SwoJ34iIT%z}W@Cu2|@AX(#P#ny*G( zphHeOyU-K|X&#}G=C#o1H+W$|j?GQ=<%~Gf+V(x!hqPVh^G+6QJ@@H3ljt*6IbS~2 z*^IUZGl^{p+(p#131p*w)<$z!RdOhuRsm(dR>7;VvW!9vY31<&58tV6Qt@8-d9-vm zkxDYHwfn}WiPLXM*emm#A)ub3J^?X`b=;zL6LwAarML83KGUW4$vUgci0+LAPH2%D z06+T*S533mUd~4;x8y`igcQHJs3}Uf3m*Am0`1N8Pa#isx`JG2`HQo<>6qe}d)@o2 zHy==M?6@LzRb7R}LA_yKJ%Zj?i`1|$^ak9Ny|Ey!Wp5NJwZAuagx>6vWa(oi<b-|e z@^nv(P)23DiLj&Ru6S}(_`8`i0O_*K!}sPbTy}l?x#vccqlln5I$U=flBlxhUV4JK zJ7wkjWDH;m%213Sy5EzF-FIJit_A?Yqamedq>V^3xecRYo*efUozBQcck3feo_&m< z7djYwsRQw(0*%={(AH3;4<-8y%yp|UK=hIwdX6hj2G0)F=sB_`MWK?9u1PQB0Xw;r z2VDQ<iIKHtB(sSQ32M!+J?@SGX1KNVyHLQv?|jlCD8{TtHtm9t=+o^hze%~RVbpAj z-To3gfvL|qpKaCIg{DEB(x@Sf`(V<p+68=(83cR#ON5dgcH;TRl~i#Um-a^{Rlr8( zl`4KVOe4&QU&6&BHjUU5^+^>tMM<joG2PvF?(m74L)=<P6^~1E2p|7Sq;PYHdvL@% zUXkJ_a%mr%o(pRr!mR4%5bofHc7aV7OwY|B4$GT;<n0x6IHq6NF}EB)>&!u1VfL2e zMD3=2vdn>1@x*MU?tGjxhyMMBGlxTub>_f+<0#C*3@>K!23JQc2oA@uj({&{cmFdW zI5bX_H+=SS&Kqp}X9*79c&zgVlzK<u4M!0iddy*FVOLS=r|cMif6PHjLx!{HOi@(n zjK>^ue+HNXcH<`|IQ;$NnK?*98EBwxWc^Q%b>@Jya}?&VlXwktjI3vDS5adQ3*H#V zW)6>c$zk8)nK_h_<1ESHpC9YY;pmdX&Osg+=yg#!^q9lJ1?I5895}5~wEn(R&egS3 z&Mz!5huRURs~qnA>1GaF2T2YGjX8Wc+|{+GaY?s{b5>JE!seO4;jmms3B;(NIvnT8 zIE|>UGWTc}I|(4BbG_{CXXxaHgOVo4Tq!m^!C!`|IMhn<=rxB^d~n?^fy0yH;Gf~w zcFPB_ed8u9We9mWAy;Y_4KE|fBj*9*TROMJ<8LoMp7vIGdn>%XsYlXYay;#=^Y+$y zd$_drF#0-+w&Ymt!>kT_dzjKGmltCg!Z8`cK<sU-Ukc8)`;pA~Z`16UIE!tntQV2V zh7i5p0bv+>fPCy11Cm?vj3Y?34X8$+o4P!sn!dwM=xCZt0@O4im;0N>a-bQG7QJjJ zLX%jKabVii@h=DCwYIlBwca+y-BsK7*4y^eL2o%FCh@G6F@Pzl5DT_4$p*1ZLV8hg zqal)d0~P}u<#kp5Q@A6=!63#sZs<nm!?){g^`)x&tSYYCtIWR{vE|9qHOZkkw<MRE zA0}BmU^%B|=j1Z*Bl^6>dWpAhts;=ML$!dccj(Em$>fUpVb&Q2T=x1G3ELP@cWbw8 zH*tklIA43}`t7C;E$szQf5Fw2_JXHga4MU<eh5gI_d1QG6=Ad3(~wMYu+6pI*hL&1 zvJ*~@+Taq)c)%WV3@i3qd_k;3cRi^`$VSX8Kl{_-=S9jXKzLr_5gJO%f<)B#vnMH7 z!~PVy<M{;`Nitnv$iMeJAx!p-?;%XK{$#hUC(=IL=RL2)T~GJC790ti6FaZucysf6 zUOAR}@m-e5qTUm#KsVN<#V?$d+$l?=-Pi90{QXJ-e{uh}VNhSYD6-0LQ8^t+Mb?6y z%3`CzFjzxwFu`P!vCzsWvU=g9NrriZ|C5=>gx^I#iqJ8REwwD<9SBcr9-{(-A-nhg zAaRS3$*QeCOR~ckIxBUvqg$|L6JvFJ?g4Cw(uz3cco1^xUY^{7GGR}O=2_-O@iXH4 z)gm1}oE8xp6#kx-+{e3f#ld%B4tpqMILK2U?+U*SRAAW)0UF|-9I$3hgSzadj$j2@ z=3}5H)dc@rcmk@C+0k%imB#(Wde!K5Ahcmog3Na4j409*T$V>^CVJJ|7BCadE+3wh z37k4|tKb8byY*zU+`=<ZB2@m{l?&F^6f=?^zEl?rVl9Pfn2)#7Ab0<%)E42C3;2`< z4oq$t>Fh=RD|<V(Vj2|(PYEJq+tLMfV4^0{_8GwZE=gOf>Vcu+7AV#~XCGe7TIhsp z#h}(?8Z!bkS$?3%FVM0Ks<u}#XN>+TufL+UgF{S8Eb0MwiXq{0q~eA@<XX>3z5#+= zB6=$?{O->x*PgVvL)mh&iF7RAePzCE|9>}I$(=wP26~qznZLW<OtHlj(?q#dca$C} zixu0LM#bsHP9E96oNI%_hTG^IBT)+9&jr}UN%g`9mG`Ezm}<nhOzm=#?*}96!`#Nv zKrm^@iD)(Ur1Xw!XGD)H{MQr@nA9?Vxs=CR#Mx}`v;D<d9{94#W=j|8;PYX@5dE_G za&m%JW_Q$W@v+;^KJ;7qp=%xFZKA6ia=QjPe3Ac`Ul&@v$cx1853QB8s}P3a2UL@D zp$KaYZCLC>c+o9y#l_^)&y`WtRPsQxYvzOvi=Ylo=U4?}CyJ%#voZK-tc)-Q*UyU} zcpkxD876lYWtkc9C|$18^47Wpo!2c3#nqSRT-C!Gjp<k`u%V8+qzjX<_#Gy(ltm2s zrpWY3ZN4xyG4$cl#xTjQh&mtJa9w;z(=rObw1i#!uh=rA{&l&`tVM9img>3;i^8ER zb(NX=wq>ZxyBA;p8G47k85d^|uUYO_v~z*rSs7hqUh(Q2#BE5!R9*-}rl1`Rn_Jmm zY|xugEC7uG3$d*txf1I#O}f}V8b2PTY9ihMw9T-4Kln<5r4SZbW0ZaAWmcoScvX-5 zdNC0aFhEh7>Ix7U;OEVGtHAZhssQ=sd)Wfz-Igu}X%yI;W)CfugH=N&V)FGIgz6=Z z>a0ZdrCg>#xD#ckOAj<98#lC?QyD1**N2{U^}xD(R9+3DH)sL^(+q%ZX#EAB%M)&T ziddZ(XCwMD{3@@2C(HwxD=L=|7ioRtBIgPHBw7q_K&4jHJm&tW&=;oNTFFc%6{wc% zQ!fyRhvgXo2U2vP``!j=f8lIq^Da`w(~BK?aZmv)Y~Eggv)SG+-VT&P6MwPmEsiM9 z9o!`L%~sr$XtByJ5AIFSG9_5=>;%h4@jLO{0`ES7{Xoa4u~qC$Y}&Pon=L`8D@2;9 z<UrVmNSuv}J3D?e$N?e%CB6E~TH@j>i57EchRk2JwCWjBs3=?`VYdWb%3k0*oVd8v znsWA1#8+ZP+4L*!X~{puqU9kuOD?6BWo0c~%tsHh7bMd;*T9P3TgaQH?h?YM0~b{6 zG_j<&xeC3Tti;l#!D3}%o2Ek#EPd?`N8V|8mWcSwSdoP{`{Xl78_y)0yvv~$gFqi| ze5$p}f?5Ykp0C^{D`(iw9N0Q}Q-Mk<*oGPRL4f6O!BO}OQAMvLP6m$2f=WGtc6EKw z>`$|Bs~JdkT~}f_Aw7YiB)ra28VwUYi!C3!BP!0Y4ivkTp4rdFL~9B)Kr*{KFn3kK zPXx*d4QlFq25*4p8Fw!B8~GIbY_udFK(FMo$p9`Ow(Jsw6fR$U-s!B}%#7kzFT&MQ zhz!IMKb>ZpSHYGhF2}nTen7l&e!+a6`MlHf_V4gQ*WVy@w4QhR^8f;>yfaws`vuC7 zMO^Ie$U^weCc>N%*|v^497w}Q8Z^ioek!@QB5FQRc88U{7mn#=-<GK?&QE$oxI7VB z=J4mi&YKW!HEzYOJ^cD2GZyyUDfX1ViXC49kxwkP@o;y@{Z+A&+Lrb(4-p&Y4=R(b z=G&|6%pl)KK(wOdRoX?|+w$O(+g&fIzRV;N^vi!5IE<6SrJ0g(8-9PLk^yP2;Ip=l zDfdrlfj0s16(}Oaae0X=1Vi2g>oSmLo-i9N!Ul;0o&eEh!rx>cd$9rrqd6#Z9x5}0 zH{4ZVZ>pT^{6H>64wpH@n<Tu+zWTp=o$UNP=aDjJc!T@2y~+N3(sQy)$G8?c@Wihf zNO#1>lX&YXsO&lVusp@?oIjome(Xg(;V%iB;x9enFZY(<u(cIjME)of{-)~Uj<UEX zy!g)Yr6>F)_vd*Rcb8R#H+K6BpR&8p3do2ypJ81j76^%#Sr=!@Iz8ca-cY{ugunb; zg$z%X$SD4{`rxVZgEdw*MC6J*;g7Y7S+v<kTgBY0rympHN3I`v_%Wp)Q{l%d{a6)# zVCv5ei{Zz#eoWhsmC?53*)lrbmXvTTPdDoOM*FVazT<1FCy1L;Cj3n~24~2PoIe5L z3suL3p^Z0r8*i$$u}R-I@m*ZEx_VZ=f4b0!O{2Mh$81w~EiotZH2eC6IV>*-2B{>Q zQI{gvG?hW!lkD3oC7EDgTWptZk>l2wcR4lr3)}#yNxQi1re?gkGJ8C{;AwU2Gl<vt z_H#zj6nlozKQVVJjPh}RWH52|Dm|{sh;coSt7{$TgHmj;;nU6?fnyWDm}Lqc_wp0+ zy1H$pRs*fQk6W*+9ywHpmJA8TF7JC7VdEZM*Q+qX+HYutd!AS6%QfqJw7?1;T*Fve zN+W3z)b>FqmMosg1@Eu8#r6emaopS@|0!e^GmkQ}`1As^2+Sg%?WTFtW1Lq&3iI*` zyEDA#_oqOHg;n$fi<w7k+_35>&Q?DQF5Jj*fjGARGzu0Rn?0(6#r_3e(Ibahg2m3q zIJ1Bj=4BQ;1_>5!3f1ElhZnfTaSIkRL`D1Q+lELz`zUThzP!LK%56w8TeNupW1L$Y zL_IO@He`@()L~OvytUef=n(ReIdVS^WQz_8UKqt=AUuphnjc+RF_1GPC#InI+Xc>G zL*HQNEu_8cCLVa~F@*%(#2`knJlRwomSRkSa-vjqvghDXB+gNT%I3pPIY$=w!o%{@ ze7y37k1X(oL40B7$+bDiDf-c_y7)2aEEo7f(la`frhS?N9aFgf$im5?i+H^9g}n=W zVGv(<{{mm&nCtN#X7X{&7rwZ_7Y6Z#4=nJ71->AY)5oj4@TCR5Fo-Yw>CY@*_`P-< z%K{o(Q)14Rwvb1A<~TV;<0nP4udhOPf$9^Z#0GvSzlYaFntiXpRRB9J3dpMun>X2r z5y%xI9n>D#+g^ZyDECKI<=&`r!?VjR8dwek@T%PPDmOB_-1xw93Mg8_`EHea;_Pw+ zEFAzRmqAqJcB@=-b~$3J4k$-x=c?StRIWX{oHESCi|#rr;oNo|<yy1L5!-b@Io*R* zmix5YJ85<~!mJM{r)%iSa$g<@C!;o?oa}<ja$i%qq1o-pe0^^J6ePGTcSz+%XO|-o z?tpT-$G9wacwjmFhX<6?<qc)IBPusGyFFZc29(1Su`2h5H&QN}T@KU40p+m%t;+q8 z%FStyQUl6iJz14|-@x{mQ3J}!>7eZ2U#i@kalj~QZaGTfMS#;&Jo1TFJT6|qo!S*I z$nhC#`;Abh&9pmsNO3_na~m`N$yPc&n_YMzEc|s-4-U6DC=k(^JLKeaN7*ix^!9EP z&d?oGFeOrP7vp`s7(WkN{jq#p|6|8KiVZyfpN9pzdd^jF>M6Isb#RPmyl_kxN{z|? z21|D<-@yp5qk`p2`Id~RX8WRwAQ9~G`GfiTaQ0?6#mZ>W<d{05<S1}kmCqhyvaF0w z!e@pDv5aMkN@^TWDIQ~!;}o!*l<1IayvoumLl(p0B0ad|JIbScQTE!6_I6U2(}0tF zkzr&}-oei&UzFR;b>sy7=4E8ltloEZC~vDPxbbY}?u3RAjS~P3;QTV#QYhjfoFVr9 z;GW<jb0?|ducKnegS<J2j|`A;pF#yxI{?*~G??0xG&({JHhe<7yv4$`dp*G952BW7 zk(Az3Zl0R0O0sZe)-h@|5+Mk=YQp{Gh21gm#(2xOEwnPsC%qLdO^!hYc#yn+`^{88 z{#;{R&j60_G#LdtrR1qKT<h;})!&xG4G+Xotsk;*wPEOQ7gwn^BM!#LIP|4yZe0<^ zN2pnjcL<MIqKZ}W;G!Le1}7@54(3H8Ka}(m1sV{Qr)o{%4n&aIN1mKB<`5vZ+uEP& zc{yg$nx(o8+x#wviz8eAHuz8s0q!m30RLMn5(St4D09{3@n+hHBmAk2wy82Iw&R}A zh?~s_mdJ~^(9QD=C6nSG%OtLoWwKFxvrIO7Z-;QG3dLH*H<Sds)FBJZy^)+IaCP7{ zj(aPk;o{%QWT*IgnH(wZQ4%Hs=Tc|CrJsuaZ$+$9B|E*QMy#}M(+NfXlct&?b@IiQ z5B~)9M6FmdE&j7iHmra4w%N-tWMJ6amVsc&cJZaM*f57Np|Xy3)iR8DvKT5sIRq#T z%>mkvihrkw!RYw4q~q6;j$cbUel6+vwWQ<Ml8#?XI#iY%wqdbkr}%+d;|_cKDai2C zkRg5rO6&;IP+QVLv801yNe9J}4vHlm6iYfNmTVWFFDn}^{;5oMddU&Pf#n@FT$v@9 z;2499o->x1Gh0QMUA$L#E4r!1&T(hx#tVivESXx*E!il(TfS{lfe0_A0ui2lA2PzT zWUE(g+eh4Dw*k&Dquv`jQBmowureBQ$OU!F$Sd?+AjU=05k3rwd4H78;b%o%89D7) zvSAfjvS~nBa>zinWXtH(l5Hb6M82|mjb}Vkv=!wU2BRA;!IL~f-_eSP!lFILYQRPH zp~ysat(wL4uq(Vxqe&PAqPl((o+7dv16VC-4iCg3-E&8(5D((dE5@4Sj^vw)X%1g) zzUoFWxg>u39A3gn<g-C`jGw5GgnN}_UxVw(&n_vyl>R1s!Kn?+|ET^<=ug(QqkyGd zhA@xMJDuwWyL2;;FUh0R8C~Gv&&JaMPIbCVJWo90)w=)Y`SITnLok2_HR}Kk0`*4- z5O)Dy1N68v3E%XoOvZFdodt^wZkfYz@3~1|GO1~y;WD>6#-kcPoUS9e4@Me421LF! zj2|i0fy*W1r;)QyNDOjD9KyeuaRW(sxq(~NK9%f9<QA=pl|E*jWNdoP%wuc7>ZS+8 z6QO&_=6V~F#neaSr?TsUuhw7n(Mht_NAL8b)JN-A=%e-bMEhvH6YK-~DALnnohKvP z+dez@6Y?mLkS*y5ZiIxwfIQs$=q0rxRpdNs_tE1Pu@%AIoe>Fop!7cCNF>=U%QT!e zqzJ3~Qsb>Sc`;We*<2}?k^*GEzYW5?WZS<^@q?}1`4W#OvE57;uBcDp1dsrD+{(fO z-!2Y(VGsL!zn@;av;f6h3uU?^os9L|mv&QSS6^m;vQY-Y!SfJoe)h$h4QD0W=!L{3 zdL~H88S*hnyw&}o$7=bmTFct!g_iF+XHLuJu?erQTCeUcCss_aMm~d)?49_V8#s3c za6m4*Sp&x}HSgWKA}nm^G9$eC5*xemo3mb<Q!(utD%AdVoMy{0sF0x8H(Ru!1P3$n zc~j3}td_k*f%YJVJi}RmGrPi=lxP9J)=Q+)5;5O;rjTE3PvQRJl8wM30p?C7J)ht- z2=Ue@fw(1%)(o+5_=<C;w+JXDs04p<JmO916_mvV`wF^1SEl$vP!Q_?m6T=edfqF2 zgfCP5B3Cc2Ug&rB@xCkMAMmSLAgid15=1M4jcW;G^(odeAQ3{t=9l)Avq0p$Pq!LN zr{bhoVasvlVn;dTAS6(=-yMHLQp4LU2psFjbA|kVi)Qq#R?@mA)jdyp1{wNkyU>d` z02sZ91H^Iihy#r>;y|MwaR8oDk2nxn!~vxGLJ<dIF#-Pv0z*AfE#^Q}i#gyIgyo_b z^K_5OumjPYumh|%5g4E`TlNbJI*=;p01G-yFb4n)Gm+jx&;geDoTXe0gZ&e~mMMII zmh0*V611(|EMSTykc#I`>AS@e$h~5HB$j}xW8J8?CD(OAE#dcXkpu=dNNupqOwtat zD4Oa;3=m8%2q{Kf?~{S0couz_0agST$z_`Vgel-Bm#V2hw2+q`>jH3YtN;d^SOGSZ z#5ODviG?PCU@d9@HW3~#Aet2~fEXxAp)wvX0H!4IseK8N1BT`8UnpV#<JBKApm92l z5iy`qMhxKBmHY}31BQNw&qNH6Yk$Kd20&H4hyip7XI-g2w2Wz32}-h-o)RUD%Q6%P zX%!DFp;vhKHEP_(q#+|fRb-I{aEVu>0pTN17x4x_+JsX@!?u6*Km$zj(CTtp1<%XD zH$r3CIQKiLRc?FgHAh>DOb{0qnV{Ad@d;>4a%{5}m|$-3fn8NJ0i(;M1BY@?6?|Z( zmz{ZSYd_M>$Xi=+;~LG6AoKBnE0;5|{$wQCmA4|-s-t&NG?h@wQyWl4Q4iFoKMAt& z*s$FJENutt1&<A5iVen!o?3Cc;xS>KHMoTK6Kl|ADZhUF^DjMntSv-W6+*e<nF`oK ztJGr84Fs)H#U8Q5a);aDnfE1#)}-~UZQ8Lsy@D&b5eT(~SmFT$6y!ylV#N>8obo_L zA@)x8*(UpDYu)<Xs}S8mm=uX|84uOt_tQHB24)we^Z<rRS>Qm=koMyIy27q^D_gb9 zR*`8h9JvOoH4g63E+7=8(<GP-XgnbS5dPVwt&~fN-vaURfYR9njYcDEtwNXTl_TaI zPvulLZ{>|pxkg;$01V7~Bxp?+{(xf<kp_lvZz7i(ZpuRJgsXA!vdrDGSkUbzj?KPd znN?10Si@2v@MEcdEDb+${m8?QW%{v9+hd~v7_nYVNglBmE2CA<*5-JXkppx@*catk zK@L5$$+QG76Z&EA4xaHkuxih+MQ6CK(2gh6{8X#?sb$S8qo>)6r}5$y#-taKb>yQz zGEH|XO*fdYYr6H0kXNOqTVK(1>%}oN-L6MOcZh1Y(sX-CbdV^2r5qpTz^&U+Z74eP zcAs_|33E96!l~ldM1L}*k{s=hAoc7OD?*d0)N`cfW_%}o25Sghv0Y{xM~gZVRNI!% ziLTx4*J)ojN2jg6qs&$p7TImcxs7*Cr_G`vZK--mrRqpN`T`&$B$znVu=p8)d*Jwe z3T}IGVoGj@a<-D&MovMm2s|cefK!wiAU!@MciDgOZ%w~;ar9c}D7lB}c)yaHQOosq zh^i)sVM=2)B{!pw!XK0|JOoY^>sIVF^3c4EFC(0l{T;RbOmdJp%D4-%F|FK$_|nQ< z>u;CtbC%+m?^kl8u%1`RjcR<<WqJadP-&^;M%}H}Dkb;sCkwU5P;!s;DY?gbO744F zN#mMW0yO7TW6K7vrlNGvkiy7wzdN^Jhe0YHWeWg{;W|n^8k3y2z)>ytIEO|cnunG> zK5(sNapU_BMM$o@U(B-A@jEQ_rJJo_HTwhsK%04{BA3*1!el#>nfw!GwItkWc*M?l zjOPUUQ-kcXV`X2Ir<+yp^u{qeK~eZT%hv;JSgc$Sl<h-mDwZQdT~gfqL7+`7fXlF; z;xr_n!hv2%<!5TzcXVz6;4d80SyN_fGaq6D9Qe7p7ZO0g%!*q+bVzK1jo)rk*_Q~L zmdiV~Q|$Txt;N~yQ%S#i^JLcFU6x){i2<`^M`=PbNZHX(T=QJCjr;@$`FODh@U!o{ zlm-HNpUWDu<4<U1MRCLX_;!#pD>!|o5<P@VV+lx|;s5|LSRZ^AX%1*+0VD}SEp;fn zPhGK=^lO*eRS-GBafz-RHI$AQ`yHRV6``s4l74(1l2BPe65#F>?<nD}#&$rr!D_wR zHjLiwyDDJjZ$7S?zprW@BGX7o?W$>)Gq1CMUu;c}LE>GIpk3D3a-tZXl#^f;&=igG zlh!cn8C=QhuolVd9Mo!;g|O(s{m{MS{2G2n{Bu0o&xn^I<NW{Zy$`rvMRo7L_kRDL zzu5_g8j>jceTjOaiA0+c3=}d)D&U{qP*G#+{oT|bzvtmO<hc*fT&4XX93W__QPW;p zBgJyi)L<cPs?;K)Jpz_kQ6uH25m6$dprVaR6&2<8`K~p4zwbE-2-NG--V2Akd-m-4 zvu4ejnYGreS%Ys&<{2XwQ$g#Z=oSDhOOn-zCXkkeRuQu6i6vo)^N)-WlZ?n0NErM& z<&x&x{~vz-1s}lBq~@Rzcy*52f4!A8e2~jumo#Ttm|`%e`9G~v1Few=NmD5e<atqw z9GB^uu9ZRtF2C~kzX;<JYGYm7oOV>LXj(u@aln`UaxPB8Pgw=|M&@^*3%mB+xO<)% z^m}qsaVrar8C;Vrl)NO5obcTFPtop34tXsdK(TsbpiEyu=1)!VLX8`XO!Dv<yzRg5 z<3wyAE#?rp-%d-YZ5Pz4eN5q|Z&_&}_`-NV$aR)X{-~u)6@#nz{5?!1{--wXP4R?j zdLMj`HP{$X<Q?TjzY?16NV~1o*?wB69>0sHE-mI)g?;9Cl>YvdDS+n#<m1C#+--|y z#RKN3S@7__5+jz|Uc^YW?Jknqg~cG(<UA{vZkMT##UV6%oZs_oai$WYeo>F7^Bz{; zg{9_oFbliwI|%nPQZ<o*;v|LhBhOJ)9At)ATg9o3JJi<J3E9>5oG7-Oz}3e@;jxm8 zy9rVmKi;Svh75|&KW5_eN->==g&O?n7dba>w<ZI=T+*90lTxAI04QBJT}I)HTc%Dd zh2z-<_3C(b26z8LVMa{pq(~{vf4sm{u{7GSR8;v<>j^e1xGIxTxk?QXom)4q;{o;; zuC5)MA+QK!sRsJtzU@Ut)9IKmf^{$b{k_#Ti|04Lu9MCg8BA29vNGE~d}l);8Ie*d zNa=Mk5jJz!_$K+BaX7mMsY<rlsn@r(v!-8q9$j@6HH{UC^Nc2m^Xj99cn35J8cpZ< zgL|Iw2TX_6<Xrq?M`vsGXI{KDBh&&)NxBELTQUWe19xr;Vlh%C|6GdNp-;=5RX3ZX zCO8j#g>U}LOuX1U)6&&f?NzUkE`c$|<m&^_oID2{(Sf3Fi)pVS2RwdT-7x8z3}c7V zJ_}u+3V5&3fwz0jfnJw)i^k1~Zh4ityLqk3K+kkOsDj|nGl^Fy`ODM0nTfq#@OHb^ z{D7Kbx0=Tty9$GcYKn08<eOqOI?Cf6?NwXsj`p%Gc1L@wzb*Kix5jL*ZZ#KX{8Dqu z*p?y=@Z6H3h~hbwcIcJy?0mo7!BmYiU!93}nu}eihdsQD0G8DX&%6*1#!dp`*><NG zX|_EZQ17F&xW|0oSJw*pP~NiIUWNBsA*O!Po#ti^R8p8Xw!d?!Z#%u`nRe^)bz-hg z#ev(=Pk!kEa&#GP%oWt66nn|Do}gV^UeopFXY$6S&+B-gPCJDM+Ab(Y69JyuG+2&h zBG6z^{XQ+KtZZD>iw0CveoyGCv1$>%slgHZ2CjJNTN>>nea2HO!=1n9o2eD8eC%i+ zXABOQX)v!5AbmQ)Ilb<Y8b%bxkTgn2%5@mJwQbr1=3VDcTG?pD*Rz!!*u%6gV&WXb z?`D^oV4)-&ZGq<9)_h&vZV6}-y`1sS7JL@*Npk>?{;7lG_s*bF#UVe?9fEW24$HHC zQm|1f;nEDnyfd+?O2digARY{dBhTr~qXom^zllwsho9+U^jyq-hQwSNBR;A)vSegA zmpns=8Jz*kbM}8B&nUTuH<3q-h$WVRniBJ2f!w$rNX|L8TMFTHt2h88ff`SEp^K*K z`L~>huB}Mwun49$$5u^UFnX34kzjFy1zw3!n-tRI=uxER*}dRvYF%7prEFpTr=x5! z=;?S=>3Xt7G#Y9Y37O%Wv$G0tKRmw$<^eG`(ghTNh3x1W@mEH6_3r%DwH!F+?=%>v zv@rnqozd72qcJ+RXHl22u_9TFH6I1YUTaOVi07c365D=+U3Fml$MmT1>Xn(Y-Byhn z%rF}_g$M&2uulkwPMM3C-~l~g5vT!3C0!W?^N)y}QIr?3$)<&qP=wtb6)Q^fpH{j_ zgv3$i_(n00&MV6wvQ2hY1n3m`k<OYD#?1tWaIP?jQT$Y0yZfwqh;4cf7DHztxHEmB z*N{Y1V;s@eaR1&PL^%W+R`Rgt24W<qP($Wq9ywPf5Lxn2&)HVK_pqc=<1@0e#P-JC zOZ&P`gGp$T0YJ?d?xHR;M5`2kz-6WX+{y-gNY3CJuQ^-R78{dvTj5-Gc4#aBw!+iY zox01!xS77?&*LPi^yWuY%Qow+CC50|9w=LW#R7W^(_3yz!v61mJjws|dCc6*25$2r z-aRJ0e6?*AL<O<0t5Seq1!%IpbQqY&i6-qqJ|R4;+z2}{47|}4VgM$vi|~QohZeDz z7$gN|fT-=l(Z-4ng@xEx>C@1fWZXgAQh~Vpc~n|~NR4%wax{$zfr4h?!5Nc7;o-cn zkm)K#2WOeDW@VTs70ob@C}1^%Vp%UVJu%TEcCl#SP@hnD-fGqs2aQUb;Xd5*#st1D z5O;Sk4%ghttF>p+3`a~Bqw0!8oyVvq`$$=1L4)z>T+CaY%-1|By!kd?Gb~(_tkujW zBgFj)SdCo+;hGn<qPZejE6gd4b?<GjA`nqvRaLA|g{=rdTo9XKo3)s1&+j$oN;p3e z4UkrF;%VGODmJf{CCgUBC#d>ykwd<3Et5vXtEkMtpkX3C5$j`hrB#$)zM5yw6;$xe zD$j}C%vqY@i*V{xzb$nPszmDnHMHUYy(Wf0iGZqwUsd+l&Z-;kw@4b=-@x;<>Vxey z$$B0PKziWpLcOL|z4I`KDlOW=c<R808CzbjYO@uE(oF7U8pzWPIe3qkZ!xF}<_XyN zg_=U80EmaNr7oy~x~a+}ObH>}e*}aLMqmD=XF6d-@@T9`HrP~Ei*r2@zt6@ZCqS4b zVxszJjjb+bXe;59tEK0!Gn+zQ7^IDRJ!GKYu(9p5!skDFvyO&5a3X9T3uIsQ)6Z6x zGvM`kY+yz*7+;JIkM}c?uIvJ$%h%I1SY%zk1=pm@x6pl#GxvIxtIBM>D(_a6O|KF) z+vBLx?q%^Rxdf@KQul9BrS9L-MyXq{)Yx>b>57P|g<n^7W<DcC^jEj-xkcmXbOZZP zJYENH<6?b<%pS&0?lzf$4bl>0AEM#H3)}<$;fGl(8TUk;u{t}+0kbj8ZA(zAiM7T= z#?{=C!bGkGO|k1JtwdJ0CDzWXi`aUM>Q49S)@jPHYooln{)?xqx>azxT9||&^llL^ z*s##UCcIvIMhsx+r?RZ~Ri;LPeN=#tLZf{Y2jpNfd2(@xilO$tM%LD?u5D22wc6Jk z&rT8HjAtiVr4TutSt~Kv)R5EiVluBpUxtp@YDE4Gs~Iwh6lPp*!A_MfMG>nqr%S)| z%tGS?^s)9kj1pDM^wLIwW44EC!}IK$wKB~G<Sj>wj8zVC*_Ht>?jv5Z6^F3kg(_hI z8Zw$e>2@IAhOw6^!c}goCMAxuvY9%FX<|8y)aK3i(jZy(+&iVvO5jL&lOX;YK)_|! zr0qX+!HhP$YWWvo1xbaXuHJ=3VqE*wP|}orl>wvfP)XeaLK@7ZVyfU``j{%h##GU( zbe3;OjJy<DNsDBY^kBCo=fFu4Sb2^P1Tb<k-CrZ{r%UkFG?Xc2D|&4}ir1wNC{b1< zjWx+q((IdeO!hJ_qwoh@W4P9e8ukbjJp`7r3ZBBVwkA1=2m2~Cd!kq^`D{X%C%BRi zOtN5*z&IIn5&)wot)N`~NRTcAm58~zcEz`&p}q^*au&<OOdYmTb-q{ko}}zjTvxt< zrAJJUX=X!hi2#W>v|$weQoH;UWJ^1AHbKp@iQgW-g68Og8FlpBKOpS9!~lH*rxns# ztCi8nBy@GvKoXuUP8>@%wzFgjI6O%(|HP~8J_@}(Xm5;k`}Tc%Bfq_U*WREKd+RD2 z^lmTD)(dPhvVy=WlKkC=jU*QM$zr2o&Icv=pB|w^hA^RM3O00D{F%z|&xTjvSV@73 z|6-3+mh*c5#c{Muq(*L*(`bZ{b-8P-ee?hwlbq?TipE(|7usk-6k!Zi;|E!aStAQ^ zcoKTFp=s1)MVkgt16diF{a^uVL+@;5ZD;Vg0SB48ziVi;BugfxI{z@YVnSpg_JLcp zBt>)YlcZ=r`~zFa`1Kv+R+OT}ZX-n_fD<q&dQcMcz`3?xiDcE%{5_yJvbYpIV2Mq9 z9)OXQ_^i!M1nXIeYbHex_M~V_h4gF^8HM!zsC!rh)(&qlSw#XDFI{$*c#Md#2QlK= zt?Cmz?NK7Xb~suGDFCt^PSn!bX6Dg;xk7j8sjRw?21No_Ojh%iTHX@^l}kb(j0^0j zjBn8}i!Ijt#Z*x6pbNR_i?SH+@C7KEm`qrsU}&^{6g8VZa$TmQFZ}2>t^5lwA!L%c ztu$TR$u${#DH6DJGGo@XUPaWmr0h|M0qc5DXANjcO#-fUwUk4^1&tp*!kTO}2Y#AH z62OE8L<mz9RtFX<$x8w)bRujj4FuS%_9_#7D4I?q!hOONz2%y?6^G~y0M-RsA&Rzl zczs2ZguBsm{3BN{9U+mIm=xMu<Gt{(^+HjXtcxXDNb*b8s@d8T=TQfO7BU<-HwkUH zfM9*?W-ip)9rwO#M<+{<OGZdFPsn|i_C#IgM2*I!nt3tcI6(?v*Gfod<4U9<V?`!m zuUKk9iPB(sj0e4{J+OGS1sy4-VMyB|lt!njlwN5n%WkXL+fFkK#|#}TcK_F8ILznr zsjJ_Jw$NCku;gr8mf!n@L?<IL^nC4PSfrpXvZU(C@Wt0oBG;$k%KthU4%f*!E0B-p z8bQ)&qGq=S^4gxvFYWvI&N`zeV;T*+-%|y*U!@>%x4#wUUz7QrZ^cNh8}5CpxY1jH zF}%6?;>FTEg!{ho|4xq9us3dK7$)H&E0Vxxzs!fM*|IJ1B>a4z(hYP55gwB8)}53* zNMPGeN-n~m?5s-uB%dhS3VZiWjS{|pxF!O1ld=wz^~3KcYX?~V>GKp_U)1R=K0;;h zxkD8XkBoX5_k8q^SfAz<MLyrEe)nJT-db?vkw+eO<k<Y7@X5K23YTA10dvDu228l( zpeQQ(tE&KDak%E7Z{cs=Q<bpuJzm1!9u!3hx4w@O7KTr~uO4pWU&QSf-bWVN^)Wp$ ze7fWy<b+FmQ6F)9g}3*jgd+70Iw2toEnzUMDF*bOJTeyc>_l}GZn&nZ^lz{6%06;X z6mb6i2go!(T>pV8`R)&tRTzG2L&A4>-%Z@l%fHx=>6;qXkSq11x}CjGF^aO^e^cY+ zk&&?Dpl{)ucUC3ccc+(d|G`n;IymZ9YuqRFON)1lPFmr{_p8MpvEPr`?^QQ7h<UI5 z{*``7Y|y0PJ@(3$*`^{rx2v)6;U9eYdw;l*!23RM>04?WyXhb7nwV}~!0zNuj)H~< zZ%6V!Iz>E*3H!g-HgP87`md6L`K?6Gb@9DOUhHZ{8&0>?Hv+|yjg#Tt?|<cj$)QWz zS<UUv_f|XVurL(IzQCWKKw#P~Jz^D0rDZ}9p#@*ttqSVYgKgxaj>+E)uNw+w-X7nI z78{VPB~97lB4A3dq|<mx!xc|d;4_b|*aB|kP}UPtSn!z4L_%XrNI%8Fi$6bsF~`Wo zfQEaF4$kme&AaSNTLoLo3`&j(WU%GK&qhS`n_B1*SS+NNEohH~N!a5eoJl$5d#qu{ zEF!i1vQ93`xH0)gSam5bxm$U648qc1ZNc$uB{#yxASS~*JVD0&wmQ!e=r?`=7tBbl zsCfmDPeC@1Aal|H@b)3S8o;;M>t?#(U~sqEnP#m}oRPA0Ty04EBe3CNRDH_j087M^ zZYcsSQ0&zKmrBmEI`9Ffw)W}`;0kRo${KO4ZIkykg8JFP0qnhW^nK6fm8->gmG!_k zT=1ij+Yi-^TTFpw=q3Y=C%<N1>;ib_H-E1d<Ol7QUwdV5IvZY{UC%Nm-4^x1eOIzP zRqe<+`Ua))js0^!)xu&c)Fgqc%!sGYdzrxDvh1YQ*)8N#aNTO?l%$+UBIzt$fqj3i zb!cLEH!AEaO46@&b?jtHM9e-#6<ha%zup(v18~gIDT4_#_7x;R4j?q_jX*t27^{s$ zx4}^ZNS>2;OST#`lVIAw_Jdv}Md&;eGCnt6+HuiojtVqP4Ty@Orv{Y%4>aXG#3sTP z#t|yj3m*y|eAvSf57%SH-=MYm9nUPe2I(}eZ!oeOOb<ZE3}WdNl-6Yrq)(6w8asW; z!4EeW04y&_RZO3Dkn-nh2aBK$d$`M1*uNW{neAxTB@p%j^@Zn3HF9G^`WsGJG`a)I zC3rXm1)Df+zPK5HeDwnPR7~bq9xVZz9$U%-Rem8Ii}J)AmBMfjLVO9v{Q_gyHHD_S zt8nxAgTWvdYOV-|@4@m4YVt3?(yP8rDmv;0&Em{exu<gx1<e@ja8>z(s=VQqOFPi( zn0HXQbqGq570C^a&Y+$jZkQ}+^Q$-h<ZjFQ45&+t{=<4l4T$4rL$Tu|1)CCe1dk~S zl^)jDQRyIGMpeSzHopeWd%%<y)?lNHs}1!&!Bgs<O!J@C1E-aU%<KChu<6ku(EW@1 zTOz#~s;}_U>ups;H(I3}_R?hFIodI`@pg<wZ;3<0sIewda!kc%Xb-iYxO7AK$%vy0 zm`jH5G0^ys;+^4uf{bJd6Er<>Wn)DGcbKa0dMx*&u1`cM;i%MhM@pi?ec2@1GBlVq zw3k{P7&K0vuG=f=GeX8fl)t$N=nP3_HdSuwyy>=v`jyeO(>BhY&XMiQfmS}5Y-!l& zaN@^LTJ3>BY@KKxILX45|L}2C?_u-b^T_hMP)o@ydXe$nmL}diK0NGwnuV*CW3bHe z!}+p02#c!idB6<MG?P4`4eu6ZzHferd<)BbKk|HwA2lCJx(MR!%J{T0<97#*xD8CB z9D0hgLuT|Sy^W+UpBKZDvTzd1_Inmwwh?bA_-mDaSXuu6RM)6<XqKWqC*AOLHHJ+6 zanDqoL>IDT;UXcXYT!fOz-N>&h=yhXz+4g=xKGHRUjpz*yVpP)oNOGZSqw&mX*i2; zWLf5++QlrvWr<9KS@@_Lc6eFtmrQRW8<cIeiPmW}&&ss2HR`AAx)WMj*0$O2KPmcZ z+s-mEyA{&X#_A4SM|Hzxb$9kxH*j!ue(1BWx`(}SoyV+>ArO)F0Vl&-^vLqJ^-;w< z&1k)5ctxSxSMEW?fX*ludzt#8YQ#VE6>E#76@4(lISUt#daOE7EFMHVreGMG3}`FV z9d}*-aacSQJBq-bA-s#$p;i!i8G!j0>uxKR1koM^imb#hCt)cO)){sb^}RZZn#qzL z?{DeSYWek9!BzM&Cz(i4rRXR`7ZF|xeK}oHZQ_^1tte(?W58U9GYN-;B|zpcEMu1B zZd5d&k68V~?1F2lb(R5`51o=FmqpT=WF?>jTgS|3v+rPOY;Yy|AWg@Mq#0?MddOa7 zGSUkFx0K~Hx)t6py}1x89hX5^q{YBQGI7F0l7H(MG4t(-<acO<>=C+Xjdo2ul3sE? zM=9ICiy=t^LlQut<#{(TzC$i*!q<QN{UoI5fG^w7X}E=rDv*X}U?L^=I@Coh*i?)} zqIfkL1)x5*^|2~dNDgd!gd0^RdS1$uW)Zb3oo4p|@X$ok%Tsem42gYx<7oGu`9wSc zqMo686&JY|>htzk&42zAYDEu8tq~AUmgF~?UkM<S##GlD3m|4rYzx_WP<aMWdtHS8 zKEW?#HSmKPr5&@%$ArL%H2=X-WewTT1j<eWAB6o*A3&L*;@c_;p~-;C9H0T}ak#aZ zhVOWi#w@s%c~;GaaQK$0diq2iDu`lJVoUUJLot0Rsr}!HQCW=$k>KM|5GaU6B|=uw z-ic?ZF)0wtDO+P`r%Yt+xXZS|=tF{OzRR?ZVx9?nkI6Awgi6Uz6HQHfP_}aMJ^vd- z^OBL@-&8YsC;5YHs7z?innJXAK)WkjV62oe|H$DoSl-%-NAU=6X`y>~Cu!M2PSkJx zf57`~4iUHP-fN=?a!{4ZR(jPLw*H)X)ArN-Ht}9<Z+U@g+fr@aOIY6DoXjs;?*VTL zz!9h#ig>gIwZs0V1|K<Cw0ONALY4?~ub#|&`+4>%`eUoeo8?uqTWG#CG;3$!p{A-} zhnV_}%axE^<BN*lUt3*!2rQ|hj!n4Zps<^&pa<jxj9d>ikzDgXK3Q=OHpSx*I3Ps| zR?JGej3QJb>Tel`qpbB!KW1~ztEi!+F)Vee3>!ZWdLso?e(4L0UgdoQ8YWGN=hFKG zJv&7UtY>Es`5$U(A}kxHrdccd5D601G$nEhpc(nkWAWDUHEW(zgcp_XUl#-4eWiG9 z00FNeB7pRQgvwf&s+kFu`oYoLU$Ky}Md((IA9_g)JSZ<9VB}@qha%=k=T>@IB>S>d z)gyh7D~i~ws%A`uA&q@KZ24CR&y2}FxT=#frGj(DoAc~ebbjaa$g{Ub7pYxoPMfsL z=M6S|!&az+1;=)4k+8)``IK!VmWZ1*bd<k0Y`~!H+RbSxeb^A`^!m|BQS@&pR^Yp@ zr1lbQF<52Y0%F^s*!{n#Zjh3(9t=O!WXDOQ6!QZlA{g7^(WXd4r~VnSY{E3c1?Tv6 zjW6b2dkjju&Bb<(P}8hYS-jFdg?nhRiO*Uo9-2~`cusI1QhDmdTYCBgXHMi+@2~;o zyHBs>fsC@jA2O(b+}+Cf{@*3=AVL}GZQo`%KR|+U{4$ht2nlwZ&V$qLmX_Q!tt*j> z65;SS*`W?AP+6~|@AHSvZUc>p*K=jpi!mWf<;iOZX{Xb!xk0cgtj6&fY;T#m*vDe% zSXPG>t((oSTGa0sxN^!=#h_#(<_h!iB&Y-^`kqMe2IJ;v+zq%p2<~PAKq;EaF0>XX zonO>{RA%ZqRYL{*Qdt#41;kKUS+FW0#?ezoN`o^+@nYxKujUYx2X`~q?=VAYhNiNq z`h4F}P5?-zB1qx25tfRxYUm<mws`$kA|Hm<1L%I^>}b~HjCK4p&S|b};#iBU<!bJ+ zjK)iRO@JmCUF;~U=QgLlTL&UUT4sTyxzdf|rNo0$npMka(JAikfzYuwkLF+dEePJq z7Ndl_t?R!tlZ0-#<GbhxK7X3=y=pI$O@7a_z1g&pL!m(85UAy0Kr>xx#W6)A%3N%O z0C(sim2Mli5qeKr)m)*G*@At>VID4c>U^Ch9U#V@icLWcg~B5iYFF1z%Eh+FmM3Ak z`qi56jTa-9l$90CQDNHyH1nvi^~W@GzfL9gK8vK#kUljzsDmHJ<Z#tflfzS!Lw@&D zlfzS-!@-=xM~`AQ6~iF)>{Fb>|Dl}2oli{;PfZR7PY%;haSl&$4*6I9Pn#TOw1eQv z$yU@kAf`w!sRzo`@=p<XsY9|dQ<oHBs&wXMXL^yl{Jnv&Ltb-XgTNZ@N8$BV+k;(} z-CuKe5-7wUlrf<x4@e+k+3aIv+->Ef`NOP6TjZvJx3k9xvRgSTtrGdg;6<-#erG_7 zVX>%oP*iCz6@e8nVyYh>K>%F`(kedJ^jOlRH5dV!ESIyX-dCs>vIvQngW9{1EGsDU zZ@!#2baQ(UlO+Wr7T(6@Es=ZB@ErJk;1Js8OWkO@EaqZ_JrmyWKJj}}NIf33sl=7+ zZqq)Y-wO3De5<L%0~kOOz8wpXo&T2P_rFSwYKMoijoy9qRyfZLIOOlEC6&OKl%6#e zSvQR?_fBvi7pTy%y-_ynoNU9UTPnbX+9{B8N)+#?{fOn(0~%+V1&kV6*1-s?Qg5zE z686+d*(BtO5cTS+*aIQ%(AR<#i?wh^vr@Q7uDcBl;yw_HAwd%u%D%V@9p@@nJgT!j zKHO!d2Y`g7Iwlqbv}Kf?d`?F?(jceI=wD2K$>#r0JCdO39e#1p;eK`rn{5l*LzYz3 z7xfhC)qN<53%*ojR@PaO8s&LWXi-oBpxjhGjL6V-;td{`Z7L63xqX|{W(j!FT$6kl z{bs?zl<OG;3=Y>&QQzYqC~DTWmJ|aYsZQPRkEec8nulF+iV{YH7*!$G<_e(!VW*q! z<$-Os9(A-fJlNNA!hken*6gF+PdBR>roltmAxN>t_U$M_18T18$#gJ|lng#$Ve_>& zF;KwF1SU<V6Y*0t`6uzb8zsu|v>x5C%njxJ7wbU_ts(@m13f>esq(*JBMth(Qq8@k zU{JGMgQ0ME>{M!M+iI@K)gV`Po;1n8qHi^RE!HO)4NeqO_^{=$X}idGmg>p0;EN4v zlssM(nX95~wvxU$l8dRRC^(`9+a*&bUxm?&4O+-K>FSJrfz6H-!b}~-;Ns3uZEe8` zat<bMVKZ}3P~y*jD-#+67q6`-oHchbn1+2O#b3d&&#iLlM{b<JNNuYTt8=^O%Q8zt zldc@lNbSxevkt8>Ou2%m9H=-jJP#YH5y3JL{s&$T*`4Fxsf*=+0Id{ox`rEq$h)$Y zugD<IT2ic4Esn$xNkCg43(fJY+U<KD!nF6Zx)Zw%5rawqiCFxJB=k0yWQ<0J$&2-? zI<iX{ZFL&?N?H-sKpjtlR&X*vrS!i*iT&J9GO?d+hKP$2sz}+-8mTc{a9wcVe3~lV zU`pShlN6Ltr#6MuZ`gYh!`Rq3spA|{K})L_Nrg$1O%OY<_pWOB)v4b4+#URqltOZf z#-z>*b6Q1bP8H-18yuiAAQ=%*L>exXI#PqZ+sME9Y+%tB#;QOqiY7;1Qmre*a=Q-D z(kkt1nGLS)Xh}|%F=`sV%oG-@>e}TwY50nw!hp^6gZkKB>}i*4`+*W^zle$L2jKx& z?R10;b%lvK#?#V@6Gnf_l}B0#8KFhULRz%htDt|`WZ%@4SA|f7C5p7gO6P6h0z^uh z)tcH8Vg02fmbJn*5Q-M34z-A(;vVOLfl!^vFTW2*jMiX_3$!=?C^I%jz7XhhbQ-PB z^g~HL?p85ulsSL%vt)|sS@Un7T;-7UA)cpJv8c#ftfdek`zmFpLh29~*p|T%X>5N+ z#LMW{mX8~BaF8@?z57#1e$6R#=M`m$ugjEE+f?D%gvdoNY5EqXq&I$?l~=9M%FY4Q z?f}P93kuRkWnFICavlsjJaYE%lW#V5&s$p)e#GmEUNE4vVruyfzukw76gV*>Qkqad zHym$kb!@(B{>7NmE}ktZvnbdqWfMX7dNBo6H3}e`ELS-$pCcSqL@pGuItft7#740} z#$0o3gv|TE`e#-?a`^#T&H!9ncE=}MX-miLIakNH6v4H73#iD?&pO#$&zhvObT+;< zy;j@c^5HG6jKR@hvS*4NICXKMTh%Nd<0!X*ZG&ZiVIroB;R#jwK|P9Ms?qogoRZbx zw9PUONiqDitCPE3?%9lajR65x!oi3#pfUW=ih(txiYM;L77wQ=y9*!M0#gf*m0DX% zwEPGfsH`joY)gYffI10_oPeGYD!MN8&`bnX;*pPnXee{XQo_ul%<oG`zi=|Yef$@+ z(^z^s$J%K<CBVG7ziPnbmsh)vE$|_#DEopXCx4$EW$N!CfF;&C4O`OKU6${$sfo@6 zSImsuI%CvCIS-u11X`{z8VQjIjZ4b(Ih*ylrdg#8ig{>OU~n)U7<p)Ms1t@&(?sF8 zq(hjGbtqB|^vMAZ`z?!Y)X`C5ndsm?mPy?QO?Yg@eNpl<4pd+|!Cb5kzMjxQsG1uE zC0k3wXW#xgxv>m8-toC|yG+Zu@!J)TMsb=PGy%XO|7E*$IJ<wqh1}W%=`q36l*nc^ z1edv!I@#kzB<_}-jid>Rx`h>|va`8SyQKR}rodR>&Ce6g?&1zH8`6aLVNvoZb~X%z zIaW5Lry{G8nL{;(hi{*WRyNUJT~*gE^H;a8N>7!lysrQt+wEot9+26Ah13rQHGzm7 z$*=&6l-tyzV<N50NRUd9Pmam1(-Q>k=GklSH3oyXSC!M+M$Z7pge}bj!qM)20~{-U zH?ozaXH0RLHbyAm78&61ywMDBYT?Gx0LQ-Bq0sScMvRIZ;E;I_P-^POR73_iz^YUC zMy_UngDV%`cUHN#I5T>SH&Q_57s&ue4(rP<D=~O-7r_|F>GHj0m&*WWj~U>UjZ@S5 z4RE|^z_iEga=p7~h8y4j0yx5<fW{0jLLDVYWw0NAa2CK=h3U&bYWo}@`K2JCk^@z4 zfCHM8dUg*QGWH4Gsu2Sm4`6_UA-^V3>&t~i`(X5LDNTC9)zqZrMZ?9~A%d9Jh>+rg z|24Egw!UG2U9*}1%skO)S*eU#pcIW32J}9LM3|msic_^NGt6rb+#zyH95FY2G}aqa z!bxvDfk7R(p4(DJfpyz290?VyP>d)(>>tqlu)Uo&;!@vasc%ZE==W1ADw+EyRYzfK zH-Qd4+m!EGNe4}k=DurTg810Q_Vr6T;>?UJ7q!A|GaQWyVHX?zGlLwG=5|O-BbJ&$ zy_>D5JD_mDG=JCPxXpcS3!kG#v@Pj9Oc0O@TS#1PE*K<QSOoz;oHe-FPj69pn-#_E zAi$w28|LiIMViU&EH@Zz`>WU&KIc;ASSqG>IOolmGbi0~F#uzLRppd2z#wy9s8pZ7 zc}Ozt7@)A0%k30v$uJMZpmwj0R8G68L8!Xx)g>T>aDjm>eyQf7lGs61fsC(MqfWTX z|7yeoJVS+tC60%Mlw&RILkYxr3GUYsUnJa$IWS}rF))hFP~8k4X?IZ}BV4wHmYY+b zmOQ{j+)~h8uZS4ZL+G{2BqKQf!0D`#$V!jg^=irxZgATr+^EyQjq$FudothkYR>X7 zTzVBni0N#Gi7{X*w^yNcn7PRk4f(CHAhv}3hrd4uK*(=a2Q&7XC>Zc4t7U+1&_-!J zr6s@D3TQ{GebtbIdjH1@9=-Qx(-{3PVea7m2O7R<h&V`A-$C?%*-WHfId+JcPYW~~ zqMRr=p#WhVNxzwRlD<(zv2rVL^Xod~n)_8vG|u7nRx)?s(~Jyf>7zpl&URY$R;$Lz zb_!dO;As|nZE+0<+VY>F>qJ}7tkIYyxQr`eYH2I+45{5`$*5V8WZ^rO7c(-w;xkFF zA~-8aS7f5SQ@Z;U47D<yeX(&N0Cd47LqU~Scdur4iKoTZ?AA;R*6jvM3pNaH3pSC1 zVhOF@MX~K(f&sg&6BWJJKN!BN^tO_!TI|Y6t2w0aB3f^zm7nzhsM$rW5f(Kn!lG+t zBP?p01zWufZrffXie5w1fHzsIr?tAeVN{1ctII}JCeto<kA0VoT2n37ZwR$ut9RRI z+YnF-17%Hi2`xhe3W!bpPHgHA%kmxVR#Mh0sb)P80T7K?u;H+jH;^{1VKogwYl-^L znwS|Jku2^nW4$F7+b|qt<u$fVzqppUqDOacgYL34VQg91YDp|x{T<7;8biyQTdzv- zEb5C?L2s7@Wy48q80^nt`!&Lkbv0|4h*7yMm{}_==(#Oew}D{6MlV~_inrKS_(WMk z+eV7T4)n4O8i~UHJ19eb1ME;3(ryH7wS-WJQunQXww1QE+UrKgMyYW-Sln0{j43zq z$qE=&IX1gY=!@7w&4z|#bK70#LO@iwVsLzIfoZDC`wP1la9B*(D6*K70uDepK>Jeg zjw3jEpkWPAX09sY&3%-&!WO#?1V!OS6uYgk*<QQ#uv@2L7+)M}rc~DHOy`mn9IUNn zU@{?U->Ds@Nr-SGRU;Yd+RITrXbhzHQEa`?tu~tArKKK-nqr^v$mrTvbF!)1T02oR z;#wDG&qkPb3lcGM23vmlVe+3golaz@;mIpmk^J3X|Bpp5ubl7w*=uyM5lp4$iyUo8 zJFq_5F=Q%cGp`ZAUjF?PZIcOL*|OrSQb@*=FTCUAW9UMYFO#E_FTLaB<9Ou+DGI2T zHX(G}z7clwn%Ulgy-wTL2l%@E8P-qMmPWXO<JGnN%VtB{2s=2_4Bw>UbnaS8DNZ$U zeC!H(#+xY+eamMNF&y0Hm#SI5K%HmRNpl0BKT^l~DPeX>^n(YGR<w2WfS$bH&ofXX zhri`OuQr3jfd}=C@NU9WF@D+|5rCIzIn6fA(EyC9{Tv@_T|h#w<!|4BY7tsc8a`Xf zn1)h^jv>ElH0ZF1`o@XbTGtCR-%8Y`1}>x1V=TXJRAV>awc67_$l^P7H_n!HBdpP< ze~)PeNOh*4Q6^UOP-CSq(M*+A7!n;N8k~nrZ;mB*trif&ev6dU6}>v~0cfY-9&V;D z(10%dbPaTOJoL`Ib36pj+i}v{>A_y@iewGCA>P(7G@?U{m8FcsJh)8$wvA~vdcl9( z5}iBO?3J*exq=mrSLvgr?B;<Mdc2Eb4?5_gn@39m$53!pu>5MFJ+y(T<}J6-h_P_g zJSsvxQUz*iVsqo@<mtzy!<vT{cI?4@PkLi}nqJkG0gi^=#C4`pJ>x!B_o`W6b>{&| zH(v|{x+H{w+Fig`yaLdZdG|1V9kZ{8^L5E&_t*G}=PAA}>^@Cj7uwe&_{!G7BEBxQ zuSIvUzAmw^Pbd0?lO%cJWcL|D;IZ8!7Xy8#-~+?VRKXG?yB$m46|Rr%9Hqx^c9tr~ zZ$h!WozQuv-cIN|OK&H3*r?EBTyJYT%k;Lk^Blc}&U5t^I?MGo(OIFliH;#X={!%k zZ+DK?Bk!!#V`1m{dK4WF34tyS?R9^h5EPg7V>%r^E|pKGaUryTXIzu4;=%Z%6x|#} zebSPT7mEs=2<Ght#o}VgVo4IeRvh6`&o7=<EF@}Sv7k8IqgED&6=Ou{LZSH{bu@Rz z<V1-n?Mgysd=$?sIz*{lngsr8FJ?Dog4gF3%Zue8o!7wYvf??#bNqEJug@;Vi*bKF zk=JJy&nlkfuP5-jv>1Z!Ebnjf%8buwvCVN6cRW!{H88eS)Nw?$*dsKzZ=P{Y@r<JI zweqOq$a8f!B*b}inje?^29U3wEPlPDScDm5<z(oNR$9~O+s&Dkj2H${-xV*umK^F= zzVMO}4Hg0^g9Qzoc8pU3+WdY0i#TVS`SMDNtSg>a&Zugk`(mz1tc4YD*F3)DoQY_| zL}VN{O4~s*btjrc$=QX{4x8ec(<ELmpbC=zAeQ|NSUM?F#Mja_5-MTje>6j;{GCT~ z44#b>?N}zm^QAy|kmS;ONU%pnt#QiL5X>1@RSpr&s=PML)kF;Hx{Lb#aPVO^VB9ef ztG}<Ro;4IgD&Z%4UAlvq>|07!7nCGpuA7yN8N`wqa%obM-}B#ud(L4@)O2uL`>VqH z!|QDCN>HwIdKHv%rx~j;9;hrvb5Q<aIoT(@+3Q$I<Jrrsfc*W>lMF)~F@2?hstC>C znq)g&PUW0N;rDM@%l3Z!W_b<Qxgd&BGlWFz-}2IxHxG#i(h^F4Xvy9tx)G!Wjb{@@ z&SUbQtv12n5TqeqBtn1}=_dmL*S<Uk1fr4%0StYKt@JUFPBKGNKhkw5?-vp<qEAM5 zzUie}O|y^^;>k>`Weco`+Qj(7@!agvuAwQCzgA#_PkUs_kAXBQF?PSq%gnZ#jcQnl zTDCS@t3`wJT7ivc#=egOtMypuKyGcK*CX34K2W~Gsqz)B$-lDSti1vqknKgx_3ETV z2YYo=tVoU@08wun4cO&P=G;kS;H$WfOIfg3&E+bD%(v54i^Kv<7tz>fII0caus$zN z*TWJr7^p~{Xr7$JWEs?KWA|bV?9F}dos`Vs<|r65oUQK0p&8t8s{MfPFmNhQPy76p zb78ijaht#1A75|rSC=M^;nEH@0NKw=oblJv)6><w2AaXIK#G=65X1F!rAP96BkkO4 zE*Ufnf}$&QiVnucXoB3Sj)Qq~AGBBe9L3ERD?YY$e_vbO<rNOds)m|lDa-W$1D!H& ziG}R<*Bj&OK7YL}X1(8EuaB>GgS$I9({7KvVwqnlZ$<RSMclaf%dVz?V|$z?Z>Iic zUt*5usEpLgpd+jhYQ>uZDBDULO&j;nNxox69Db(7J34YjkrBD2e<<PGk;)K}kYsRz zskja8h_g)Wd@zMwk!p0tr9y|xvU`aM4~TD%NTfG)pOXZKG(5xy$!wy3`+y<h!}_q9 zE{fi&HI%p2G?YJ~>lV#P#8kON%M?Ss%?bJZ(t&KP|7ogNZ$0mRu0(e=tZ&?AXPi2# zgVY-odlHBtswkQ}<@^aq!VK7`pKI3^qqt|!T9j1FFT$@b{757mZ7jf=_|}4kuz}ML z$-xjgEC|;F@btjB0YAf8t=`n+qkh7l*Gh#n9ITpST~X7Vn95GKHX-}3cYrsL46_EW z7W+Y9p86WS^C8oJ+M=zpn#U)rv@c<0(il}td$UbE=(Mx>fGMAsnK1*+E%V-Y-kRip zznTw>XPr6m08Y&jE2+iuK1wE^%2}Bx{!x-ph74KiI{ygjS0t<42|>0j`Hj^{1JYx{ zQD)7RNh0YP4p3)6k=?YS+q!f(X~^oc6oT8BAcKK*7}cHhRf$zPot+@ZH#gDM;7Rq_ z2n1GA`VeoLIN(fjor){iZ+lgoUhvfn$-1<iiUR$DX077d!Re=j9yJOIYs+kcq-9ol z1gX|flk^`gr`|r=WS9@Tb^*k-H3>?tgcDkp9Qf8ry7)l?s+0{6ed{Dcmn8CG&;_3; z_MH)G?7J;H$Q;7FNRDOf#$`_yVZQ!yA-c=XhHWI5a&U-JurFg6Pe<SGk<UiUWGiwx zR5ChaMRJ=wah-20sE&clHVb!er!Ho5qmgRsKz~Jjw4Sz;EM+sn@FbaOPnN&yb@b=O zsJ70tW5)<8E|?okhV3}#&{4~>l|C)-G08u}eCRl3UtSX)m=%@`XVWRgvK;U`ZO(?u zN;Nk!Ph(aKnTVFTWLDc_J`ZC|2w6wfmZ99H=UiLMHic`LtMB8i-DP-2w~!@~>KX!! zrN8r1Yc=L&zOJ#POXCFfIR~LNUQ2tqYiyjGXsaH#kwx*kT>$2yX7JgdqB><9w)rLz zAVec|d-PZpEo5EB#UiWtVm<3A>ER?cfLN-x{C*vZHH%oFv{)?a8Nr$=DJ)ruhJx;w z>z1m>xuE8ObJ+UK+~dVqaaEHQZFO4RWjif(9|`&{x-}nT*|VYXu;UvyC!rgzyAKxK z&SZNPmg%77Q%F0Ty$T>PYQimEY>)Mp!&bqxQXpBUJ9HIPd@zfGva0ffy5;QEHH7y3 zeJ5%_Pzxpp#&abhIWB?nH042v0S}4PF3PPzxf;hzDc0knQ`45HSbIS^f*F|*?g}a- z%G+S9-ShfxjmDyeso3uOLB&zw-fx47{hZt0-o!y`Gu~_5C^gGYd-8izUx&w_i3G(H zbac8_5&Jo9vF2~SF;wXiliUArXOaEkPHt>sbvh^Cd*X!l!%jSB*PA+W-)9$db_S&! z%sW<MZEd!e0teqn(L<;2dSiEZB6$T>;s9y0)i?A;5KE<Ke(i@!QT|Ffju)RT#o)w= zZ`#~3*G5~YVvso0PDymLqb8_)H3DJlbd7-mp%JhZnBt0~+68ayU^`=)@%(q07KbN_ zHx(&9aW{8m_C_LpE_kEI$}V!=C7S^Wpr*Po2V`eYSYL+(Frh8Q$mY%n=o+?NFi(lt zuap+6Eg$}}DfE<C89R}3Rhxa8-B|c6nh1dDmd#+U#tWE}9^d}Eu#-_{JzHB_OGAhI z5Q&>9AriC-Li%hod;o5YFrAj}dKUIFp^aYXVUK*)a&oEH4FwT=mS5R8*29TK?GJZq zQscLEmRP8QonZ`Vo3lDz*Z44J)KK%Q;}h%n65{@@pA9h`-UspA{vH;nH1}~qoEfRv zLPyiV7a9sM<E{`e4beDa#^TaLLb~)&t}mq}8v1I>uP)k;<Kmh|kIb(i7t_G#!L(p^ zgi5WW4q*k_L=Zj86d06WS$?rL`(V5$luoLxNVaG63>lb(@kuH*3<(u%s2e@ayE2w| zdDv3~Q7QXi?m~^?xMP!RHFYJ268F0*VK&La#ky_Nw*KwT>pnQ%ZAMU6WRL{ewr5>d zX@M=rphQe(=$fS*n#{k3a}sIz&-d1z$AeaF0*hYdRBFqT)wla|)Q2VCiD<selBjC; z-yK{Zi<w%CJO-9$T(&S=<hRQ72cBg!z^Sq+h~HDjbj)gwo~p$s+sQ7+Uu^Y<);oYS z4g(}_9N3l_&=r{RBb!<!d;EMBk|W4)sP|ZZc>C#%IKNv?TsZ9MRX&wcw5bxj=GcDo z8|r9v<Orn{&s1a0#kPoU_9lxO{j2DNn*DIM0x;S_qFo+cX069;#7Ck6e?9EMU;?n& zu6ZN+U<Yu&#uJR9UlfAJC<VWMtbGoD)e8tAm4K#p*Unsxgy4xRwQUG3>$9xF9&&po zgqsiLdqQ=~C*|K^ovX&U#-(7;i4|4l`M;g6>8@;z4G|w2aN6knB5rhmVGhNS2lj<Y z2Fauuot1*7iX>hvhow%#c3xh@tQ(|f!JwM=n_J>9x47@%D9%&Z2p4(v|1rMLn;ade z!-UqF&8Du0L7kVFmK6@L+#<Fh(lWYN3)aFH%3$3L8Z5RE?kQuN;r24v>LqB~zObcr z`v40L25oywFfw;xTHQ-9R2~~&0z=#L7WAEJ3)al&!h#Nl1smo#(SpsMF-6M_Bve?t zXSFb3#s=a#{#+wTb!(9l3cf~#P*aHl3uczng06|SVBHX7!A8%xplQvr*p{Kof^FOl z#c~I%O%^-YD*^Y1WrATg%VXM+UfR)~(Zal#Epe+>LC@-C&{yUIsX>Ht2UWeHz=Ara z8SM+|2B*d1E4hqy(+i7jS+7~JjTj%Z4H%pjJJ_pY$gLB==k^kxZrhNAZ;%tdpzKQv z;+(9Eb;}xyt(QuEE{U?bEw&kCiDN-0sgzpYRo23EW9^p32g9(e#ex!(W31O=v2Li5 zFt$l8U(EkvMk8ElTvpTURo=38S>@h?s{HcVl{ekgLB+MgPs$qGh9@n-e^Dk!JTO&D zhSd8txC}{X%o@mMMT$8(H>yy&7KmY=Q6%G<LOls@k7cL?xiMq~FO^99Q6kl~^D~~E z$;PT(YaMHVX>POd@#w3;%*gN35=2cXI2kaeyX3GbMz*|5=-_v+>lsl5U?NMB^NE8U zw$J%zpF;qxp~dB2a$PhDZ%NC=Nr)$6Ps%dkg)wV+fQ0~5@X;>%=D9aTIHrZ>*iavC zOC4--b7Tmk=oEGhJ*c!i1}EB7JG8JP!auDiS~oThtX-Gs$@UczqGg-XI|9VD_GCX* zbA7g3UumaS3~LvGxCqefWf`)JA;g-E-ZdsF6d)VFusZqfj>q$h=HWAGhCnY5V3E&3 zE5oYEZDEStYz-RE&Q|*rv8mhZtE2<U9Q(4f(C(n9Lab<hW6P&+<vAPFX1n~(AE4X> zZW2eI#z~V>GD&zK<b-TS4Q}ibBcJTrj4ipEtPU2ZizYY!O0I&-Vg->pY*`IE)CjQk zBh6`q^(;@?i^fbcLH+>`&;_4`S;H_GhfLHFn|OG4skZ!kWtVR?dWgl_RpXrT;)rFc zwyR+4If_-!!Ijp^o;#1vT-c44uMjDy(7#*E21!Jiqh3Wh;=u&0h#^7S4F;lUCo@zu zK?Q#Bc6{rmBs|B92oL^*m#yEvDam&pgC0gl6}p+J3FXjEjEdfGID^jki&ycEPPX^m zF}U6x^wo8O4^E{(A-M@#8`)#j!B&3fD|zmhyvl_lhMzp_7YsUCgW$hIAUsTjfv~HU z4r&G8=FSJb|Eb8B?EK@e(#%n(!+A&-T9YwUp?;0GQIRw~I{j0&-<bDwXxDgPlie9r zHEBms4I>71GPn^~bmHjTCc6t|UH+6tG8t_q=E@w@P}7=ZrL#Gxq*hXAhHi^QYm(<{ zCDOqoqN<BprOG!^Ns<UsgmSYyNNEp)#BL6XCdDzC$GE+!1r@<c%@oE(d)fzI#_qUr zY%XL(eh@K5v?OgoEudgnDT7gtY%y|>fQ(TkJ>SqISR>W?{E8J`bbjA!WJTo4FJX*> zU62l{3ez(Ruh5SxX#v~8Nf9&DZtR}9L)D~=DP$LMy;2(3%<zTZ0yRK}E^+DX-ngPB z;JjDJ8yyr%5Vj!w!n$Vt!u4=OY6GD0_&R2N)iLY)JLWa&n87(6Ge`qwcg%WqjPz7} z9kX5?6XVK`iD%?js-H<pzhLO3b{l=gZUI-O-HE-jUbus8HC7z!Hpkle67#_hWW1>> z|L<BOBY6)?hoMERZFInaY03Dp2Za+u7es?^%cUZHrQX7XF1w#C($U!AR2eR@G)7v` zX?b>+Y;2T0jS%JJV+wTZJ)rPr(E9L`8*arsCG7YJTL}AKf+^Q^3cc;MHX2~tS&`q| zcA0vHgTraRvPrF@6YZoR{xQP-t3M7!9ZQG>cNLF^ap5jgmsB&V#wxTqWi~y9x$K6q z=&($<&`c{_Z92+!3w@R3Zw;DuQmh1qtSB4;bF*t^%rpwvsN4@*Zz-$A0z=j6Y5=#e zu^K<W8ky5{m~awEC#)$YUrwDCWKs>6edXpPEDzInqh$NmM55F4Pp)OgLdJH%Kd4={ ziEZsMKwK!!MzaJ}dD%3C@l2$g<Tw600F(1cLtrd;gurRAhugHq#M8rVvxnOVfOVrQ zBjiiFNVVM2c|{_Z1*lpGF+VeP_$2!8qJn-%kxCs~raXrV(pgl{08&v{KWJK85ThxD zM^x6P?8-}>EI$E^SxneCu5B%NT$G~I0%kC<`2`SK**QjcAdbm#sdSlX&SxP9%BE^f z2c}}T%F$pKtb4XGfkxxe$WwU@#(a<b-O&6e-QjacZWbEnbhyx{ap~T*)x)!}s<v4h znU_qI2f`V<0yO*2HxcLxjlPNC&i`x^!CyT!5fsdlzk-S25R~%2ej+F<{ZBU${9UW| zv<n*-r02uLPdDRL1FQ+`i!piF_J-C7{6gDO(Y4bE+WOK*7!+fCScc8z4Q9^MDZV&( zH-BEzyuu_7=*T2o66LhJBT`m&MoD7kSYdZ-vNI1UvT+ut3;ugYHUMm>bKYP+bJhZ; z(MGX=FB>O2hY>Nxd^oZq*=A10vjB^lzipW|g0HA`5?{oM!^SgH(W7o)?~F+=Ihop$ zlm7t0@WLYH@OzOg?$|cnVLAmsjVk9mCv@PH>^gD|SailTXC6*<^Jr;L@Sj&4=56I^ zNXYM4-Z@+w8%Nlhhfkfm%rV1oF`7>gcNWRZ&fbCUuZ0<Ry@N(!fIX~5JJ0DP#iEHL zwoE*dTrzRd#hbTmo1U3UFX$|$-lx&-Un{UmNs{i8V)3QjMH3fZO6o^`_R}Bz>)rqO z$OY$LGBH)=x$u(CqMFv*MY_)<DV7vVCek;}O2EA%wIV5=rWN*StW?x3etFR!b)HVH z3(qeWQ3m$M&5#sN-x+GJr*2ZQv6OA>a=!4}>s>Q!n4;zQJGtz2K*)YOx7b}^#DGo# z7_2Kmbfqcj+Xvv=G~x(X^#P3Vf%XBX=HQo3f^Z0MnxvD)4%vbgEi5BTvv&~hv0PKN zmD&V$n9|M>CnfQ}&NEc@1!je`NE@Ua+VQui>uu2u#nW$iZ%qA~weRUXgVk}!X^IYE zPYly4L^2(B*skYci1~WDiPU8TMJ@bp<2>_y^<sX6?tUdYd`<Evw6GXklWfzI%v<$D z==@VXpYcL?nXEWMyqC7Ew$(POC<uOAye<L0pP{!v?EiuyhuJj!fEizA3{Wxgd$=jx zw~Qrq*HNpbAMFep_R}K$eH;RyT9GU=IH5gL{%c**9V+)N+nb3`-!$=a|1|FsURQAm z=_B*b!T&#d!09EO5pBP#z-(<mFBEY9Qf7Y$YVD4$>$VmbqkVCwEe^=S1+hcx79($t z)@uo(xO}TML}|_N={M+L(a5?^gYKFKcxCQ_ZQt}w{D@@uuYFp#vA8olkxj6<y|^<k zeCiG1wl@%zFCQ<#R3^uz2v7B5o~vKDXT2u%3mb`2p&(zs#R$?{;lIew7nEi$I#X0T zb+K-|PQu5o`9Tu?Q9pYx`2j?*nD!>Gz?V?KAR=gw`NS=3u5-^S6t0W1M{8Lvp;>Z8 z!H+8=xm00(evc0WbUX_gigsdZc7oqk&se;e&FJj{%6BCds<MTvYa2*0o}JOfX&3S$ zhHKq{6$$4;Ud}E<{dwt`OuWVj!<y>ssx&j%ap^)q3#L<CB}uU220tlV&<fGA*{PUf zFoB`12(A4oZ=RJ>LV8t*D&Xy(g{52hDQcWXSb~%j9^Oe*Cu}Fu<<8xIO~jGm>N0|C z$0AUJH*2I^{0*4&D+Dc%!k?Tkh0Dm|X{c@`UwJGQF}j$ARE$q6qQN@y@<yrpkOy$` z5k5@La6LZ;7y4Ia#lDP6&B@>FOo&0sbfYreFgFt&-a1Rpk5q-_(|J73-ZZ^LPKKlk zH8>z*I!rbSfX6$Kl2IY+4DkjYg7lc|Or~Dz@%&-A1LD-4nS(TjZk8u6GyY%)tRek4 zlK~nA2)!keEz*L`Z`4h?jfh*$(JSez^sStOr(q<?94C;fP{U~5#M~|aZtdFIa!5^0 zUC4m4(WRdYJ0oOlk_ft!1IWaE&Sk&Bx<3M{L7RU|^=-(MbNa>xeqSNg_*aRt<~PT6 zn$3O#-e8`}@vJdsbXM-Xzo_}71&-4lj)o>-nJ%!*eD{UdPE5VGaRKeb{*;2xpSZuJ zH&<VVna#iX-*=rqF}3}JpZLtbo^yU@zN!W6(_PJpLgnD1%&S;cl=(8Fod*?#(>Kmg zGQsDs;5^Q#{hYSAz_Z>f^mE$cu5}i3Fnkc*0nVfb*GVSPLaRt#&VtjnzJTW#c&Sb1 zE$2M69IGR(8_Q0lyX^#+bt9b9FX%xnN#1>SxUScI(zd!&CF_#(arB*+(BF5S^$GNy zpOX~n|A**1^+4@0d#~&%^bnJ*{VdQS{R0M&v=B{ghDax@*H$r9DdFhJ+F5j*w6V6! zbww*3k_ud&G_@F`GZ!^&nYtx;vF@FdpDO7eS@#>*=lDd-eCV?ShR)Y6x3SJVe=HQG z0cM_(bY8(Gdgevlo?BbX%u(gbzt@4#mB;ST<&$jy9m~x`YZN_(MHUYZ0{VCu!|f=; zVp!@cnw9_YDS90<1qjK2a3Rwvw#w2Y1F0xjdn_2UGgV4YZnXo6?MgAzSbm$v<q67{ zAq`xu5*3)%ykd}94|j3~ZrMZ(ki{6xPP+?K%t{5gLXPw)h9tr4BRd5s>9x&`k6JL` zEfDDs2Gn#cvypG7Ejpe=w~R^KF07bpM4DUPG$->I=IEsL9U2_>C`MxntF<v&PtrOH zzM`pv*A>hteQNox<+C70<E4t}ZzbaymKwEyPQhWTE%U=Tb!kQHj!My47rRM0D5#m` z&~q4*P{eQa32ULBF|_rV%tCPuKb>Fu^%7$PPCC-K9kO~b<pu<5DtoO)BWjGXAslNI z;ixIYkw_J88wFDZ9x9!5hAYz1d8{7dIk_g%!46QQ1M%rpETl6a(rF)(Xy%d$^;ILl z$>XswY5n^sXjZfKo3qT#|G_ohTRv85yuq6^-nvA$Pto<o|7?n`>z-0{{gM=2$M>nb z9}k)Q^0Zv?fCDK`JsNHPr_*v>U!F{aov!x1q>qAs@|BudGh+h1kr|mapKu%DkiGF! zrOapk%fcU-Hx!$7OmhXgwSZ{@MeF?(>%DL2&xz7>Y}<5YDyBAcOYZ1GWi#co5rVS| zS89=bpN#jkyCsuXwsoy=^@)^bic@GThFAzS@uua@2=ku!nOaCYb$ABZQqU;dCT6;3 zaf5N$Cnv)?4F=m|J^{1|8EpmylK)Z3AB&5TTp{y`4Xijy?Fnu7&A1#mC4ng1CE$+c zf;)C4PDNZz3~yNtOyN)z7C-`70$f>s@yoy}%bgXZyf}(#>3B&hqYteuXHbgaVv$vF zi}BSJQVv1|-9)B#7jS8smMZ|uFEvi5E#;otPf2RMS5lU)2538$9kH_RGk@iEi<+wH zfAvil%K?Hm8cBfZjR3=APbw_p%~DS&ZAMShohdE}OC2I3N{`8Iv~OmzbH{ON478a4 z*-|BM%Sj?FWRtWmtiOGO_eaw8<6TwHFci!;NZ4j3qF<8@nQ5nW5V0=)T5Ln+=4s*> zBvFs!9v(n6YEscIM{bl5wc7@G8US6-15Lr{JQxY<_-0(sUf{dsMaJ|%g%raPFW1ko z-8e=2Wdlb!I%WxPWQGD1z9LD)&GKbN+}g`jrB&Mu=8w|i!`r`klLqz;()g4q%4g9W zZMKp$tJgT`?#bVx<d^cJ^3!f@F^IzKVzCNn#RAOGKu+gmjUJUxv;j?`*|Fq5d72ld zroe}DWLde*FEzX>24Q_^|3BDv!LMY6ewLOsS#i&;;j^V^zYavUKUyjhACay)ssPXg z$^}3y!-|&ClTi9@Y>))Bf9ykqala3#PO}!VU$M$Er(nqPw5c`!w}6HU)z^yTJc&1S zjhTDtXqMOT&X?0sjF*@J?}BEHr}l(D6(Un0fDT$Egkf_TOUVL5S1Mp%58cs~v3^zQ zpy{MH>db(Uj+*Oi!syaa21!0TlO#~Y8G2(|L5^=lWh8j5CxF<LK*Ywkbxd|rZt)}B z{4@Im!uELAXmmw#zD<jmjevk2lrAU;Rlqc!Ezke-n69j(P={OByI~1dEtfw-M~wIc zHmomX4(0(rHEQ8rACPK1J4r1a&(`)U>Ulo}M}VwNCW1PWfS=~7ZPr|GDdR~kWjtwE zF`j5?=?zaEWU`{#I(>p_LCDl27o2pltz*7snQbB(?Qb;G!w{hXDmgmMI?T~Wr&xQ@ zEx705)_AGQ?Ll{-QBwpVJ#?ncRb^Q?{~Qr)nAw${-Nj|^ph76lNTID9j&Y*bPCBC+ z-yD9}m2O10%r{y3EMeb?$3lGJ@EGeXC^I0s9#*8CF=ec+<@a!UbF>&M4o6AAG$5xs zY+#`v09d<!eX=`LuzQskSOvKUnaS>OF`xY`ltwjH8Ot?NEST)z0tVvm9xh;5t;iR? z_ekw*^3M0bd^Q3sW&xyV0V?vq5H|)`%y2Q{fsta=1AwOzCp!%AV&0@j*4ee0x&4C4 zE)PQs?JjaDBbxF$gWt<y0iv|cGsOU-#;|huEUe^09olg1Pz)CBvuMDfQW=IG9XW?j zb`JkV$T0-6q2PNV;Anx+Q?>8WaiG1T+Bvj5Ezp?&pJZqn6Y+;O#~q9!ZsTB7s40fd z3bl>&gs>@XkK+W34`?oS1ks>7-E>yChns>OTX_6o{Kqa+f|0XS1YbogY%dt8Ftymk zW{p;Zx=hv9*AkT*8)NU($RaDHrpC^YPlakbizW2rIhZ!am;gw1c(K5U=x_=rkv5BH z>X_KPG1D<>B2{yaOIe#^)6iHCO|`O-3+uBF8x|M@lHPSAQXE3enicUj*Vxn<pgJ8P z3ri^|&A&Dx=K?7Dj43V`v;L<$-qK73ylGKG>8Z!bxS(NJQ^cLW8&d5M7wmA!_mvM! z?eYP|WOrnF!d489u-M{I4Cynre9KrX>@1G!G22-fCS&X0a4o`jU!!ReP9z}*BX)$c zts2VoY8WROT0Ag4SPX-|uvCn=Y4I4nBl-8}4`!*~8e!W>Q^BAfV`xfvEa{H22#xq* zrFyu68d+gzN+N!Pl4Xur3@uMGgB`^TJ53!*$F~yfu21GwF5%0R<;qS{-1*5et{5&` z*&-4)nf$|Kj+-BhZy}S1#0*)Nfv;k8(lfn8m$A?cCa00GyTS-D0l>pd6$91+Im5%d zO01FREY%gu>!|03MHK9fq1UGMMO&I|LJRS+--SB(Os9%iIR}`3a2WCv>EKmtllJzF zeujz#>~S;E9b%7LTlqPpHLn=4J?^pMuuHoOw8y>RQTMp91pu%GzQ;XQj2&W+8yy(~ zl09yXBI*{EEchd)8;U-^Sa1no0x$CjgTi*XN0ja?wt2eqtzB+e3H9fH|4J~x-fISo z^Cx{fgbM(FK3{VnyTle|He@IeW2g`6%jpu)>RY2oqj|{84mDzcX?`Rt$5$9Xnm`A& zn*LczAZ|kX%%@-=RubC#NrjH3<tc9%U4HB}^h_crEE=m)EyKyOd13F|;c_F65W|>m z1wu02kujQiPG{_#nvQb-xEdlrVUtqXVwARyOMH;`AA%&zUKFn+ULN~&FNgAVNd6FD zZkr2cACMZ0dmP9HbvEg3(=KB(&wz5s-^(<-l*08~!e=ZIuT?W)Fs{}UUV+0BS=ev& zV0AA@IOCvgO$FIU(_~D-HOWREVCu{wo0x`y!JK&m!HWs*M_`sq3`$++X(f1~<2Z!` z#cGg{8BeQp$9g(2Phcgb??^pnnkOM`=b7h~Oc%7PGhl$UPU%`P`HYu=OwGM<T6-{9 zp#l!IB1IG6S_FyHStxXRK=he~6D%mQ;>H|>#mM0~Q+>Mw%or+!BEb;e1xqHR5FCr} z5j3O#ScMfs7Oa`!6ZC9VUP|A>(-1_%rxY$RbROTq(Ahj9Ho?#wY>F{FG&U)@51VC~ zJ#4Bgms7Ot{&_rX9lEf>^0;a>zt#amAMmIJREq<ec|L(^bvfYD0U#Zkbv{^h*=-nQ z@(qSmgXgiRl3iOY1>gv*u}Xb?MZ=#OjF_b{k=Cr@V+|Zt?!!-^I2;JYN^h%*i6hpa zwG1Xwston;ZubN*^lx~fDR+%bBc)-AHflw3hDIb~bsYo9q@u2js>upRZ8TxjmNK7c zgGdJYdk}iGS5#Y@*&j-euO7zw{f0@uQl%XVm4J`W^i;Vp*B@`~*LMfPk@AkGYr9a? z|C&xQl4=D{Eyx4Prw=Q2(vJ`OQL32O<=+49{se~dD-xE%b6Am}<vGzAzUCq3B>%I+ z7HQfPSm7u;qbHVvd75cdk0F|FDo5=a7`M+FB}z$cU^14+ycFO@l3<~tJxnMnkcrJI zpmI62@zz=U)Y?R=ooEy2b8EapQ*~{q!y@7y0i@uv@Fn&({Q9t8Z)lA8)_i^S`BZEW z+CoWxo|oF&g4c%whs;wIS=MnX#xQNr1aK%sa1pA<n5n54%DTA7G*wGFzOkaUw(y&@ zEIq>klnBlJK%82FI%7a!`U4~3jyy#dP95;V`PHYI<OlA=esccBaSbw^fanHXD8!Di z!!c#AKw|NRJ0m)l8<p?0Y0Nc2c6i(ohH<c7q93hM1r(5tVM$HPA?yU)vv)^Ue;=k| zqU*v$qiE+_nMt%q<y&?V>6V(l4ubcsG^PZ;8$O0LKTxE-BoJA+?#G|@OR^%Rcxz1+ zg{1kTX4b&3mAW9b&M}RvjRvie=v=}w2!oFj%@YyMbhJO?Al8Fd|G*3o#2>?***#q~ zilA!D(h)jXR%us_5+<;#DU$M*%!g%xbxwzqVjgQNA)ECuSQixS^ShjY6GGth@w8b+ z<IAG@Lf1UXm*GeG(k45VY1>x9w=5G%^&7yChwY!kR_FFLa_%FwZ1Siekvo>vka*D$ z>G<@q)790r@a&f|M?hARog~&P$jr@PA!Hb2=vS3~&MKu^%=~o~g^yR`QD);Go}s1@ z_c(A3i*pEETWr;^iK&~uaP$R5>-=tO4!X-PhVl5Z!uX*+R!BeiV@r6K)xZ<Qds$Q; zc%VKO*F$~L>PNeTyGKX6%`+jl`#vy7_%lqMviu*Li#)!F@!J$%@5Rp~@x!z}w0a+= z{N@liPkk8e`=DuF!{tGJSZp5(9Uh$3=Rb;`sJI!ei4wQT@&#l3PpiED5A|C#S0L?Z zG!p1g!xO(O<@)!{#LH5c@DN{?nwV3ns(@KKth%`=Ez&1<S;`|AJ_$r=xc^<3rQCbz z%rE`26xp~j_0PF1g?aT5m!%M^%TnZFU=}XWoZuDL_7)%KWhsvgJ4$q6N>T$m<)1oI zSEgjCErQ^z@V;O*4_Cc|_P6B6WX_c-H?9+Qxn871@<ni=I8AwySEewfsA4)RmSci# z-%Tiv9=}rs{zVp!5jIW^wKOI5ZdrK*B@)eq{++=3FF~<t`YM6q=?U>c<t-&OGDT$f z?!x)s?KYI3%yvO1Rz`mGc<9>Y%;tf}b!0mFiiDuma48{X5OeUuyP_9LbmbGvvgCz$ z@K39p<P!X2NVX}%V&Jv?#4jV@Q%ju&bxL>x#D<R92~!cjj~P0f3`s?%Dc7xF-z#>V zyl)Ni_fxk$81WigdKT^Blea>&4R^l7c1K^0ZwpF$Mh7rtzgu&-M76x13EQ3p&Vb6( zPbn2+pM|wJ>9uNZ5#PbQLgLH%>idl9Ygf*G9!Gs<+T`^~U@hx2QIYyglBB-N#J^Kt z>HHfU-P2bWvqE28@1SkMBMcqb<4&~bod;k`<eV&4!Sj?z`p|kuMb#X7AJ1yp8LLgm zR_o!m7#`TUySoEJ5nWJ{hf;6B&U?C7-(@MCXWf5tRbNDs`64ppS2Y5WkPqDI8Z%6{ z5J*>@c97lz?3}2{a&7CWw_{pOgu3QsJP@o;;Q`1ec_VfpR35LO_(;2@TAPo^mtZtK zXAO?fd-x0EG6+-Wia_(bUl9HFWEe(=<@%<|S(VKRohs2dSv8q|Oa4jw3WBVyBYgVt zmK;npWKhquD-?AWuT~nPi?X-OZI2VAB@<=3+nzocoEjHutv50JOKS{6Z6AmdFm1S8 z^a6osV(!rAqMP@<m`38}JzIP5pVpd$;c+fU1{id8V@bvHjn<ouMq-HA?87@LSg-xy zs`eJeWWhz+hGCa}p?=93I7Nc@R!0n@J^s-194c!TgPD#cE9Ef#hy@jG<zEce+cp(> zdHtm=RB6&XTxO@%ZQ`nVL&_51|AD`eq>V-f#M=7^a_hnj##XL5S+QUi<Y>l%weZz4 zSdT7$NZT-<GnT+Fvaw(*e7;Ou-l{~}c#Dy$80=Ls6kQ1sI~+b)W*dp%^o~ob#iVi9 zH#h(&;k008z*$g-;U)c(z~QuD=}L&$@*X6DEvv;6v<+knmac?IFxX2_x)LIG*g&?l zBL=bsM`PMP??(_n$rJNZ#84E-LZSuz!YT{a@Rk!}>*guRVjI0|rT-vGaF8v5dtS2O zfOUff9kmu5GKefVY|XQvdq1+EgKWWh)*}|oqh}*(n_qb#dS@hQu@jk2J}eY1n~z5A zZCaF(cjceLqD=O#jz^2$byiuc;kZ`1&!Pyr{w=uX*nS!dPtVVh2wsdXl_k!Rh`@;i zg*f-sq?>4k)xcpSNp<^<2p}9ve)(zviTViv`l5DuEo$`g&KDMB)P@t9hEdg=Nz4K4 zcQOz@$#%>`0*@f=Lm`3lX!DG2DX=!tKs`I(`P*ITby(in5{@<Z<_c7S7HM;g)E2m3 zA7->O3%9*&pWUd$+@R#USZV~-Lun7J1B49>gRX?jd5IGAf+SqY6Sm#!rbbBf9OPnF zm%4UJPttFVPZh3r6|59!XExI#@kAl*%eTIEL}?x}|ALmpCmh{TKp$&4D^}MYQf}b~ zOgzkbaY$tJP(bR40;x|y!I)R!D4?!B6aWPC*#w^VL{ikjTiA{QS+8{Tg92~cLu#y{ zN1x~sPwVI-EHyLzOQ=mq-AgU}s)>J-JJ@37aBIU!9TGxo=kc9VrA_8BizMLd8u>LZ zRQdxPS8?aPNQ2%lrO$cQF{?=>QLWOHO=7!)J-_m|39^k1;vCU<5x}{@mLHwuZ6-XW z@Dyu)*!Cl}w1@9VrmE>{qgqK((&%xvTCuElCZ-2CEY)ZjEXjFrGW@)B$<Eq1P@u9} zlW5$yn`_8`WvQD8^h7-&^m#jY+B>UIZ#9Bm<i1uhsXlWW;0%5&p?PB0?czVgugCMk zT|CU2MYtOB4Dt~U<YB*FZu~l~$mJ5~pv3C870H7P^E1QM^mJHEK2gF0WC^zr<F14t zsx`^?M9Q>>ez`+w4=1f?=q{ywpiKM2W;S$Ts$Jv*tm`$Td5)&3S32-It_2g5All+g z0or^eux{fZMI7HR?zR_mLP6K*kP$sF{yG#A!%rCQpYKSd1zH^MY904d<ZzMNSqL`A zwf9rg4LtZ%)B%JXRUw{qMvAs%3{Fc)#u(IA7m~zEx01@gvPj#LD|>=jO*5P3U!~C$ zEDf|2D~e_gwrHl|{%Gc5i}uqHN{!nHoKcU;LW$x}_w2>!&Ny=|?g|(KOpVep*LDV2 zsQG(yn^l?b#$TdIl<YTi+_Au-Ow74#SmI7_#GyFe5`j=)4}n-ivB_<-dc?c%YXe4D zq*P(pE)SQ15`2;l?QkAdw)=1#-fC=%z5<u(Q067RH1rm3?2JU5I^Gy`oCG!_f5RMj zG{g}Pb+;<i5pS3y9u3=I886)B!rjWUx>bhW9{Rco*G4T7RaL#!t1b3ZuNp;A&+PKm zGb0cM)MFIU(pj?<Z$oFwe8(szaf;D3c#siG3&XmvGy6Jgv6d@L#h|lz|DAa1z62$t z)|=>6=#aMU+1m%Uh1ARah*su^Wcrof22Q0oU=BM_i=Q*}1je0u`Byvc*nfIz-2E>e zcf<c%jXNww4jy-q(SNvccS*eaQ%<uQk0!-36X@{g%NgG$Tf$%I;2^UE7C<N)b=<zC zost$CJ$A*g<~k+~zXepQC$<5aPBpW1+xb1n=<E{0k?>fEp(Zn$ZOgS~<xE;J?8|vz zkva|=Va_PJAn)aJgUh^2k<8Vsr$n;u=KGmH<u0Cb>LJM=whJ@c9W%!mwiJ}BW2x-n z4D*;J4~VCO$B|A`M<)CvcNQ>P)LGB*$^1wE#V!?t|4|CIKpc#C8z_M2w6->TI|FL8 z&^4$Bk{VTEMD(eX<tc-8%eE<r5dy_Lijx4POUWw>fdNZa?e~>1VF1i$w$yZqB3EE) z0g?e9%UOOkJFWeIHF=#4n6N7^`54;5b?_MPpu~2C^Pn|aU^Zui2`(a-^gPUn%mLj| z6bMc?8PJo)J<o<(A8>g}J<RXgJjAwv^#Pp%1<a)&BPM>5vqJiMQfpt0e11TYty~<Z zsHX}#kgOsLNI=LIhUv+rU?7wA9k#_$u+nYmC>_Jh6g#EbkE63mDL(h2n1q<xE)*%I zXJI+qTP4+n^asi}sYrR>U%rEOI&2(<uK~XKfsYe)gsF?D>bBpG>9^_4Dt@%|(^Y!8 zDVN;IQTe7bopO4S!F1YHP4u#8J-Y0Qw>J?rM@H`A?d(_|aA3KOw~O?gfX!1ZrG9R> zX6MJHS^eu5N!bg@tw`WSJpt?lC7S8x_P-+4SpK)ih^bzut9et(Gub%YLJ9c?e#iA= z7;cLK{YxKwie~_Nd>@d0SBRu0@kk6$&K)2it#r9+6*ewkKk&J0-uIa=?S3Fxod|47 z%6GpEyM(6c5K3^oXuh~66*CJKrC6Hu?i4zV$}|~Iez+s(!WtaiGt9=5ANy-2z2%ma zV&Dv?cxvRI&jXSJyjbx+y+{SsnLK!Cqc#(J3Q1?`?ZK+XaV9EKELV-ol55@-1iN}C za3Ajn-xYKpZ>GD0HhD!7GhGIieb#1GkA!PrK;!}gt9@ZfeIk)go);V!-!P48M1x8t z31|>V#bh|V0;zD6E_IMTu`_}+0!Yh}+sju$xGed!zh;4}I{P356r^N1fq258aG%)I zD^M0XC`%lapO)A;-0I$Td4vpR8BpF@zB*)=_-hupYV=^pocboN|C7v=N!Ul#ghM$s zeZmk^{SS9Q^>id6ME-Ax#xjewo|j2~2K{qst6x)XNrZHI*=7`xjXGnSxu5)CywV}+ zgNdhW_?-W2eYUpzQ~5==)-Q0-W*bbTc0o*KN`1l!V-yg|u~dteQ7P=b|JfiOZ8n+- zie(p_09KQ4d4h&MT$7v(7|SR7tiqNOvH8O{F_RU9entykraGj(vYjV_w<>rFfdZ}k zbD@8D^<Q3Lrrf5lekqXIphUL+r4)wJSXv;P4)aS_(QtIKQH?HQCT#k6I#ml7hnS8L zeQ1T!?g*$nmIA=+D!u9O48wb+Cs^(Y#ytU@prK#Xl-=<B&qt`A*(=aR<pzb#X7&6- zuU4Gg%WHknE<aq1u31Y8mNCfCm8=laf$!gxgn|6;PT=fK>SdTq#C-Z$RZRHtp%Njn zee~(QG#CGXf`;Z4#OS!^`Mor6QyLwZWb5ExUKQhwg01FA$u%fhqresgK&&(hv~gL+ zvQ^LsYyZyUW&4$Be*R_jC1bQ7M-+^L>YLIkp`dyvZg6b|W#!%9s%4l=*%`cToS%gS zW>FWTDhwMhGRA}P4l5`|BIh$*tczUONaB|QFMn<vlkiqsbX}xz8d_h8z~8p-A(q-9 z;se_2Yi~}%b$^Wy*AK3;1Tih9p$cuI#-(0=!2=Roa&V1G_-OSBOfRUc_r*rAEBRnt zF`Ka>V3=$Y!blPxe_~Z+u)40_QIoi?_7^va3+;WJSd&)u*LTVD%c+fW%Z6#^S}!0G zUeH{=8{WY>tdn*V+3gl@iH({i6+^{GPaBg^Ct}1&MZID#si4<;mmRI!gTP};3Q=(L z+}gHO{BkeJpOs14mW2A+6B*v<LSt^DnK1zOGHtB#q#S`=5z4zEl&WnPiyiGJ67p80 zlZEEoqQx6Wa`GUh+wO)}6gw5eDloPzTcW)R3#~F+Xz4SBmL)<DGmTa*45y5Q*_rK& zE0j!VjM{1(qFc`K{#2@h^$B-O8XMRnFpg#2%@bOMwrp}*!UNQ6laaxm^B8!cHZUg; zWw8IsPFu_puFX2DF#qx^6=E+KHL*RlO=|*}MIeZI#FChTry`h`^EWps)ffT;fEB9| z&)B}Vl@7=jIeLXIFoxuqxLWS=7xvn;)$n0k$T|Tc1AZoOaFjt>&h)a#8#l<DtrT4w zraW9+Bpu^Qy;(zAlx_=|i(`ngE5tYvTbL}r?<7rdzG1*a>>v~RMw9I}QUEWzjX%%A zb@U6?+wq=P2{HLqmb#!&E2Jn#3sqUYTIU5IvlMKqpMP%=UTU%I2djgY@&Ey>Gg|*8 zHzGUl_#L)Dk=@NDw$`QN%jpcDZ#|9!_iFLObtG0Sc?nK6qzOp!&yLFiT5A9=2VSUE zksWlR=v=F$!cBxR6_W*e!h>5mW3=1=2v@&_@bud_ondbOvDi#i(vl96J?2M@MBRUb zn5FT;+~u(3UpXFO(C44@oO7|`M(A0*Dc-ai_94*>gzf*6qKo|U4JP%J2$<7$DEOc+ z`PWXSdiZ)r8R~ao%j7YbqI*|}`{FPaS=smO)SwB-j-HU@)!u}e@3%Rmr+G*yj_C*J zI+9~HCTdV`pIJ2Ew9f3I%cXn_1YV{yXi9<!h%o|NV;^sYFltgK*f&jR1Q>QT)5tLC zh%v>PnlYxH$moj^N-Kp|+@9+|c|Cu>bQR<-oPJFCfu_H&<4V$M8c7?YBlZzGD%9=F z5xPf##SG_k2k1XZz0hhZj+5giU`GcCpt*1x-Rn41Z@W&Xz}13!{f?I>L$^jP)O5WR ze^ITAz2M#`w9yG!m|#FC!_Hiqb(_oLU6E`PC#U<ivP%YC^g&e)7fDeP%}swE<-qes z*Z17VY!^m!IUMSQ=6?0EFoghV{f;kH^i*h`N?`Pb9+q~cg2ii@(iq(j$?{oRAyDf5 z;RgUV@O37goEV?jL!YPyPoBT)83eY}EuSS((b@x7+W}DJ;Tx`;6+}eKYBSgjZ4q}0 zM|B6`b?Vc-EIg2gT4+Pj(MN~5DZ3SDw?9`ER`sk>9bQ=lH`Sbnj=?M3f)UC>f~J}? z5Z0}RjqnzODp8Qv7g3<Q`K%2Bmyp_j8|{xrRd(CP<&04A7trlykVg=#n0p3=DF-=O zNQLxnQ9_W!FG!4gv|Cx*Z6x54lk8BPJd|qqZi!FJP6lFya7GH-wAor80yDN%D=b4V zUU0ekSzW%TNu|Db>BTS<X(_3FWyq)FZtYe&!+OzV+k<y&x9Pj@)~erP|9hFLLc6tU zTJ;GQ`=Mpt)y|=)QWEe_91t&&@O%5Kvo~I8By`P?zw=a$d#;|&!gSpRuW-F0xdlma zsur&MAv>W9yk6fzouO~aE!6DjbWeJm((NTSbYnW(K7FuE_p@f!_N%qAg_a^qs||e< zM-_BoIIsC26U&xh@!<P;)?Z7C%nTN0m_Wt?R+Ok-m|vA^_MfJ)WOP8{Z=DO&8qu~& zr(iX2y<UW1x@F$9be)Yxp0e7twfv^c*v$g<q=;3EeZk%tD+X^O-2pK%n!Z>?Kqbq% z>{>B<*HLQ~gw~Mc2m$&8I&o~uky`2-Lu&LBE_KrdLw)fWj6@Ko?p-!@FVW1c1)`HW zlz<>8(Y3PHnCk@q=ri0x%Fv}S0Qy+vad>J@c`S?GAVB0$9Otr;Vd*(0-*R3uDOXBc z5hF89X?4aHTmG-6sMB^c)eaW`CjET-$pE7HVi?TYX6%4gC;=nrT!Mua5kj79GnpCG zZ;#Q;Oxm1B!C$GY@@_FSmOU~cTasT;v~fYoWqL`GAC!g2Mjwm5Qa>^Yr6(xhAx{+; z`+$*Ab_8Dr)kUnXNX7s=v=izxwnqa+8S*=E1!MdungG$~rsz>7L$!)Hdu=OC#q9dv zn>}Fq-*hu}GCFL7r_pS+2L^rNzT(~YCgIun=ht&G+qjg(xQ8(+Us_Gr^ckZxJV07M zpn71Q*(woNXQD1Nr`XOwy?`2}A^6y9D384lWD_e-jbZueS?{psVZ5Vq^ohPy1>66! ztl)dG0`cx<6U5i5D%Xu2sz%!icp^3K{`b}>P1$3&QBCP<<Nm6~5{ZXwqoGqOKu|Lq zt5T=M8V}h^TdpjTSXR)7x<mAm*oH%v7dz$JCs>}8YKJT@QqjIASRO+1W0v>O6D&_0 zH1LU<X5%lmcV@c8-}fIEmFom!*h{AH0v|>;H(Y#GHLj@7#%hraeIaU$E9XxI7J2hv z8JA8<o1L&wp(ha+gA;5qHMt(jztO<OMkCB4gfk?cCd_9|89am78Q2-S6z{sIqGDF5 zuSnLGM_2R`m}LBBBh3)ib-;Y#L=m}xWGQW8pRIP#-9svFJX>E)QepqkK91(Cvf=N8 z;Lm?sNl#Ld<JsD7#R1Sl`Q|~oz;o7Q{s=d{iOM&4i{*-k=~5S9d0l7p>iYS=Qdhi; z7&3btb%C(5E(D9JF1bDeyQME6CUL_AX=BUW;NN`>#TH`lZ|$fiXv&u9BIbCTytuQq z7?}HXt*X|#-c)aC*W=E;s_KjqB~l`IRk49)>u;4+NFzmTh)`;_{zMpZrRNd9>NoVc ztv}y33d7@^4-lqw$DsAY**zagKs3(nUI<S@KLVm;$zyqd{#86!uvhW`Ps@22^Y2i? z^4r~cl@*ysTbp5lE1j=3nJb4xWR@hq`^0!S0KB10N*IS$7@DSPCq&C5$xZnrlPcH+ zrl_POa`Ffy$|gyEnVoE~!VRYUy5}0XvtqKE(LOMA5FL?H#9$~>z;sMXT#~h}{dMBB zG@??aIS2;z_LOY}eL4<oX_RF`Sd%!M!+Zd$EYUQE?eGuQX=O|HNr<<_{+R53g&&fr zPwVr4K3e1m)@mz~hf-s2`4-Z1I~g+s1GN8k?;ocOXZOe8xyYB6rw=5X<@9__a|-uP zji6G!68p>L;jZaue@SvXCIiaCo+-Y?136}|Re|(%Zr?Uw<Xudn2>phsYAGCh933Zy zG786VG!~jcDS+Oxu6}56&bW3?z)Us?|37<g18!GY-g&RJ_UGAqpL13|fYhYA&L-BA znn*?&5+QHRIt2uQHdwTD<hq8ozB612*Svs8z229~K~fA#HFVHM#4(JtL`97sqs){# z5g8jPwxOa;HQHFBO>MLRsl|%&{{Hv<thLuZIVS|DiWqWn_OsS{KJMp!zV7G#e7_nq z6S)vtylm|6XzYZTp2IsnA%0XmRet{!ZA>UfYN1oR%VkKEg9_A4l?oysvY6qIlzBzs z?dA^oKZw((gr=HhClPJ}ruz5@*XrHDhKR=YmlZ_$N7UH3?{}=MN@E9SG)7JN{-QAw zhih!V2uU0AVk{_pH+wmEuk!X^!%qV*gnefduz&<^4UPaSwk8?(g}lMB{|kBIqjZw> zcYoYZ!ZzBEO$NZ_Lmv*rM3518M%lSWlU`aB-D^d6&nTMl*^2J*qDv}8(O;z+sjGxh zUaYVO1%gSy#4mRTLo`fc6wfV3`cTg15NCibQgNGIby@nwq{Lj&{RHJ)n9d*@OUv`7 z-~M@BX(~f;&j~(TeH);k%pvyX%6NoXfc$JwnKHPW#?8UOswBJhrBSi22EW2x1hX@@ z+owgZ&}E4wvPg#~DJU(nNFbQ$k!9$II?ADKIe>sMc=KrCc*-mv;Eo&7zq78AS|eOo z^Gyw1LZOXo+(K=JFc~{mcRT-5B8L^MrD$SAhfh2Ivb{kRDYpySBDwXl!$WMRuhJGb ziSiaTbDzZsP%oCl_QYX^PGhGXxGlnFMOg!n4mg3yTIoaK<Rb_L%Deh@D$FuzHo>}g zzMo-$V<JCr&%Nw4lXTg<A=(k5z5HR`8{>~_HJnX5nogBYD1rj*<`C@~PTTy!nRz&O z6xAK;bD&7-L5!thN3bz)`Ff<@Zw>Ggqo)d9S^+PosYM|p!%UXD`Pu4Bj{=~?I#&9b zZ-iE1NuPEZ(}*g-Y12=5uqvsY@IyW6gNC0;PS&EDmGH0)x9kwyBy|R`F07wANbRa+ z-<uMG27r(br*E*{8dPdj$IwFQYENa?aZzL+)jq*!(<fg5;yqAPD()YUy!cs9tu|Sc z>8Q||n;+bDFACZD&ifd;y^6rOgBR{msRX{rw5`mvwaoO?;Sp}&OmffN-;Bp}&&}+7 z4TF;yj#flJAOTG;*3%t{-8b(LHys;(^VpP|+cpfXP+f$cVa4EB>am>f|7xp+T5R?- z@OEYab@FG4r_{)^*VtzE?(*$oP9RXvm&=T-f~WXcE|h&DR1{l9QNDf9Fn}b82~2<@ zY4;~QmL_K>>zYu*cvOQGmGOi8L9mVFJ8t=$d7_!<Fw_k)ecV?y!iEWM8xy^nPSR;q z3ixx@Vs`||JKWjH{sg@})dMSQJR4U^B5ca?m}cW=E#{&DPzq*Z(AI~$U01iYe5>6y zUx|FVY=ST%xCz83S(bX$gGzNYkI8$Ewq@u8?K`zA@Yw($@PV^&Kel-LSafOnmllpa z_55r;q0a!>F<{3OrR2>1_+t2MFpe@364A2O8}eQ#H<WE{Brwp@hn_F~#>bfkz7LEH zcWFdjVzmx+$wrbdHj)T!sYH`L#^Ku`t%xyak`5M!jUWnQAA2`yf5E*NFMlA%X_?Kz z9x_4+c6x^1hM~hqBU4l5C{Tz7ez5&;C%-Iu&0RU1E15szHn(AafVS9t2y;ODMgm7f zVqnj!`JtlWLMXnG$uGrK0MkWL?WxLmXEJEQ+^!i6Uw9c|y=$<WSZTXk_>{3IJ_p-n zJgyPzN}R>N$zc=Xag7vibcx4R2Gk-R*T`@@u90dyE`pm~gNwwPJ8etW=3Fx&Cq|3| zOy4aY*Qmwg8m+t=#N+B5HXc{c<8jF;YEe4NX!BbB2($d>@wmEE$rSSQ#S>#Q;&G`4 zcAcz!O1z(AFvE;vFTaQ`YP<Ceqi&aeF)R8eT+zWlCe0zyxa5s)mS|if7LBXLRAZjd z_aYh>N26kK!QW;kS!9eYG!^1q-KZo%pf+0+FVdUgC8Jt7f$T<+uUaC328BHI)u2#O z00LU$SJaiEYQ({pZxtb|DFXB1l=x<A3v+t?zKwuV2>g|_ChcOLU!J3yo2QrO>1&zo z(HV>J{z+oT4<h-ZvaI~wMYZNY7pHPp<T#lHVB*a%1z*o}o1RYatlmif40L)`J}q>h zZANNJ(H&MnSq=R6^#9g6voCBXBmjy8OTfU_jeIjy<&L&?BchA##F0tXP#hu&=2Z0# zx-yyEjVC5faW7v_Z-UdpiWFwFKII*&iYMx-F_w%NC7@IcGoP7>8CXkC6qWhs6twHP z`NRD9A$#~X)WW^=!`3s?6p<O-(au1J?9NX20_KYNTnF2%>#Whev6a+Z>G&`f?DW)5 zp~Ks-v*EFwh$bVX$`s=_RX=a>n#lZq>RJflYMOI%TC#6OfsXNTIUB#QEsPk1g5!wx z0Zlir(bYd;Un=U;7;{ZAyZF+Q{lSj1siZW6{9jQA`{M5^zFjj$q6492-na8(UaG4l z=a(5&TQWAgW=kgdx6$LbWX(+6Em_b1p?KTK|Gr2z&Dz~EwDO0Fx9$9EMRLR}&MiY{ zP=njG+uPotwbA^qieh8=*NfzM{$P<z2d&K;R5pLm@B%N!25Xm*g}LnZEqtE!R#4do z$=O3P8QAOB++Lqe#WK|m^m=Jqe~=>F+OV?DUnt%nw|YHcRH+Yk1uIYrEvsz*#0N_{ zN-gOqwWOoel8#bKI!Z0+D7B=c)RH6l-xc+C+_asgYM{6oz6A$Qbn8G*<=@5(eOtv0 z9nq=HeVxMWxkeJ$3wjJo4?yzznGjjxA4r~A$%2j{o7b=j`n!Wi8LdfU9hnG;c{|F^ zN*l$D)-N-7dV16IT;d7OI9!2I@d~LgQers(@Q4*@zT>l>W?K{=3YefsbkB$5d^SIJ z@2yQCB4lfu(#g0Bmep#$u$ORYCn1NSnWZL;=gij4(w3LdK<k8i{=VqHq<?`oLN<g3 z^XmVx2laYIdbQlUiVEaxz-t`6`btBg$au-?Z{782qjQN6h<id61CK?i2+FQO$F9hq zb7}GE{>W>zwGN`oRnDFGz>V*@Qun$zf9${h<DS}C3jYZ<bZ)KrFI@4~Try$p=9`xo zxN7QTua1qZXrX)~clm2B-atS*|Ady3?i6BfC`cbY;pgHFKwJ~|{*aOQK5rNa$(6<P z3j=a*Wk7nv1Hx8*1|v}!kd;R|9*W&!Y)(P9za`-Iw|=y+xp&zknJf<6;juIudSo9} znXiYUXER){Bb%=bod|mi608}RZ)X_XWT%!BcbK}xrdqk4d6}d?>`ZW0m}Rci8M^z5 zXgk4DhsihO@=2RaAU{mx&xlivIe(&-s>>(2_eV)V7wn9mx3TE(^Q6pLe<Uv=d9^1m zCn<(ZlK#cgVhfPw#@f-Sw$}Cn9`e~GIZ5#HRO4Js)=H9pk+&eW>!v^70SR9UY>HOg z!;=IGWM9h+GLTN^807g3Dci`--aRfsDN2`-Iejrd^!Fl{){yh^($FE_cRvjUW->H& z(a`m|YOFM59X_3N$s2Nj2lY@8Wk4F1+>Vy7^p;=eEnjXEf2fm%vnH@tbk?0Utp!`5 zS2QNg0c1BD>9Be-?V^0~^F=4RSAmkQwA>fT?gWGe2*HtoF7b_ZuITZ1f75dai=lJm z2v}6t3s+5s1hwd7kP@Y<rYl{)>2<n}P<CVNBQqUW1vq@z6iZh_h=HPV362fPi9DGE z$9lJ%Cs*I{NmX&$1e((KmQI_hav3{9hvhQ%%2~L^BVrFVjA|CMi;BagEZ!e}&GQ5L zy$`qts&Yo#Oy+hZl>?g$VV=%9>^23987$e1Peo)io|siO<3nI7n<7Zl;NK~@3^MhK z)SWxIG0z{h;zSIlgB-(c);)|r^#(mc^-U)991@3h@Ysg=E0#(|;^%;phy$)*+m;gS zdw&_;9n3yHJ_{Dlmx)7_z>)YqzY-6%^E+<aVcs2^(!;=je~B^q3iM`<UQ?=wMWHW} zqVdSd(IT6VBVw6|V-U-$p&HD@_eJuO{>eP5w*u~!4=z*s#;$@QUZiHu=V-Jc6l<5~ z)o@vwoF`D@bb4k7Y(HsQ=UkhxEh$Cte9&g(DMT!n@&#LJTP|e6{)m@mTU~9)gz}xj zDXx)*AvdyR$pscnTyQiU2BdHOmL^n7v&nF|_f;aihS2~n4Fyd1Lr|~>M*2(?;FwS- z5cV`=6+~!mG=&U_A=nCjq+Nu4TO!?@^R^`vpS{Cv+kqckr3-MG#-F1NAG-iCNrjhL zhOJ~4wKN6GHCs+9F1wXV#4oo;VS;(QthPv6N|r))v6K{RLxpW^L^|r)oStEj70Zq1 zNz-K2z94>kK&I3|?bUL<s@&YwC-Krh{aX|9p#Z8=NV$zW<q-#VA!wDh;mpHWSH<!$ zKD__MEYU$M1FdinOO{~$c1MD~ce_q%zSVpLaZ&w~a2jg|+nRtNL^F0|*vU>ddS$2O zPJfF~pzzKZ<{AZWNjQoIP8yNd)}lBu2`Ss*mhzZlr2cG2d5B7%Y5>TdU((h|NQ79w zTa#iPpFS%6`A1BaT)O5Ps?<SF-*t{oRQ7E1p2&!9fg|Qc{dg#;hn;bGj^&#KP{+v! zsap*Ix+OmZpsPVAzD<SLLja=EH|VqCe51F_*;fK|FJ00U+bJoH6%7E%>=AmNg)UJ` zl>dQ%={hiMSQTL23NSW6R3Lnt06I)^L)aF~e~MYo>2AIeVdyEfGiHMhpaa`va<8m= zyz-_)!dhd(%5gpvw_%wFx8Bth2yXyY-V)`!QwKEEozTs(CBBW6tLY=>bcw>EoL;2w z*O|;(;5+6z`^@&q9R)HA-<->^JJHp=T+I=A!wJlZd(SKRSWF+2ol5bkY>Ij82r3U@ z&7^P&7vn9iSvfS0o66ke6EojN?GP9|^AUPi+-0Hh?h6tgneA{7PS#RKoFAh*p{|`e z%dSYTK9~M(C72ACKk44WK{4SMS+EVd?&T2JEd(KwG=q&6{Kmb}#eJf@bTT&d4N%kD z5LiRN_t{bi)<YXGDij{Z+G}S$1*L&8FW(k$0Ew5$54y$DlIf~4+}PtAhITxFmckr$ zh;d|^#1rF48AkP#hCK**i^zu%_(%Z<xLS0mXFXC4!mH2|;?+o+LEtSY0oNM^jQq~G zekw{oFLwq&<4^K%ZXKm-^o9>yR$hqp108Fp`%xNE*OvATZtGC8wzgIs^M8O*yIfh8 z^vA(S{yK*mQ4VU*=+_gt2ZdDBodF(rQi-gn>l`+eaT32vb{U=Ms{-?+>lI6dI>D91 zkfemJ8CeNi!%FGo7pfe{8C!qWC{jiu+rTkUAtDQnXx<T^!5ZWs2OTu7s#3FZ!F4~_ zSGyevp1`ub9_4j^{7mR4G+WN%0wEC-L$qFEt_>NVCHi6mNI$uN>KO@YVYE_imYP%? z4<qTlC{8%iH0G=sp|}uh+r6Dze7^7dJM650LuM&m7vV46t3i@E%M&QGr!1rH9VmyH zKKPRjGqf8spL!WB{mJODY5vlmhB|2vc4{i7jjjDWrmKJdG64fo&tZ8)OX?aesYe)v zBVJOQ;_8y>rk^}k5I)HzMP*NANo|sul;+na1cO>q>d8}CQr+|oFFLxUhL#jVG;>LH z)6FSs=^3=7=;Z86s+;~}Wl4SZNKUD@Yf0e{YStBX^DKuH5xWLwR5$%26sex{g6ch` z_0$W?3C~qpO>|<e#q`i;s^^oQ4n3c`>F3JDbkoYC=M(1>zKmuZPu=t@oSAd1r5jGt zRM44zxZ`QZw?7k(r=6B6jwg-ET*uQKW%iV1?070i*^Z}jln;MA_2yhk*PJytoqjA! z=^YE6F-z$$jxMEPQg61U^yc2r%2L|+M3>T5ok|zYaVougmQ!ib@Tv4oB#KY^R9f_u zPNhZRRKky`P9-`q$EmdA4fwDqZ%y_z+o`m>TuNJyo=Unk;o10*Q)%<uOX+P#bSmw? zdS^J54q7UlO1m^hbDc_al-XOB(W!K>9A%wK_H+c7rbTm}N?V@jQo2=33A5l?3A{g= zWhvD!A0qHRk4X4QFQxkBPvyeow#^+lDz=p9#2ia$+aLXTWhvRyY)k3O<x;x!=u*;B z!l?U@rSvXXL~{^$?>wTVwEZS`qEXB5uvAz|cW8{}T1s=2*;$s+QrcaPvX+uP9l=rx zR>+62AG+zgp6F8g(BV#{56-fbW}HeNwOGwhlKJpsI+eD4_krqC($j29=^N!zdjHX- zG}ozg1N_xFmeMUpw3K%J^8?{j+HI*~DQQ&ZT1s=2*;$scrBsfxEv0gl4}Vvh`&7E4 zvXuU&^cTCgcBs!fxc)eclZZjC>(JlI;1LE%7Rs+ha_Jzs9Z^pX-<`im6Tbf3f<?>~ zy|E(NCAn4uiC(@Dt{SE;O4cvKUcn04Te)|p0=>q=hRUnteF-`b72D$aSQ00ZEGB5? zv#a{3rU#`Ie3&gQ<S&uf_W8CCemd9#Dms~0?*%{bJUK$UUrK)b?n>Z8TkoWu!i(L> zL`Th6Yoy>(Q$w&{xA5$k^E>IQOoAp9;Fh}D3I(@UL~erRLxRODjqB1at>9|UGKV3+ zQX9Y`EoO}M5LG_vF*VQ>GZ`Sl2f4b29WB0dBXigOJ7R~q(liy|nepv797WAoI!T6b z>IfAw63c2b_7nFS2}h@_lFn>*6T%7_UfORVBMWFn1Z0|=2BQiKF;%GW@3s`>_7bY1 zW02kjI#h>uQu27KDJZOfLOJ(!JT(h=3j`RnC9GJ$;S*?wxv#@*kvfGRqlqv{ZaSab z<>;a(D4fY$-zzVwHmj=XI733Q%DvGs`#0-3pa{L5D3|lBhGdK0_>7_a`g47<y9kUf zXoht)7bTAvo)uK%L&F!Q{$Q#}ALY=w24d5j<aJWY7EK@ttI;4-m(<(6H8JVm*Ni(? zQL9;Tpr`R_G4s>+9*du?>FK-C@8=sL?R9;1$YxPr3oMWAi^ax9SxeFaB+WA8Q)Fmd zb>`BroSsG%bwV<KX-Bg~$o-X|!tqQHdhv|Oki=g6cyJD;UvvHPD8h>7WfIa*j;UD7 z?^iJ5Z~q3s^SnWtt;*PEklfWy4DOJjA`+7mH{@?v)$xFyu<Z{~Kc-SFQSo+$1Pd|G zgyf4zbBT9LGju*CMzy_s&ZVk}um4ey5xpA6gP1>43PY(#x$!!HQ}Pv2LXpd$W###K zBC;}<$OfT9sUGg(tm=+cu!1g;nGf?X2Q>$yOD{9K*t=Z`he<X;-|AVsAwxi?m5`KC z#}kV>Zm$g4zGISsxZ`b)JB~>uVmZYfm$Z0#1v+i=bkp{@<7h}o8JZ6g0|p&sNwTYP z#|>CR$>4QDIC6<@k3U_avDbhY9y<B)db)J6DYP>R=zh=^IM-FVs|oxh26*4_0K2g@ zlSvbC+!lq#+eQ)VSB+w%;UhY3F?MpT!Pse*MLu?Qp+32cJh-^5jF{#%mnaRDW-UWi z$x^d%st?9Vb2#b#u$hdzvnlC+)Y1PiqYl{%1eGHOFQiyADKp+Y72rlriUgHhDF3ku zr8Y0I_`qn?>_7T#$w2G*776j?L*J8jS#r+~BxOh-e`zE!`qkM;YE)G*+3UG^T0-_L zsQPFR*skwz^%tzFWz1B#>#c0TZQ#}PBVxp%1~yyWs7l4sI`DGRd*PL~0M?H-!+JJq zz+aNdLoL9A)by@jq-C;dV=f#)WXO)wAM|<N&OX@9SDN!M?yM&z`(*U9-%qD8T;-vb zQ&Y|LWi=c&>}TpTI#i7+gc+joetSHzK(FqIC(Kr62OCh0Y-C(86}=p^;b;H^B>9ft zRhVuCbEAY|K`sauOkMSRQ`2bMZrZ$c$MjX#^cSp?<gPAyWe4D77)altUou{qEx4vn zh;_)6arE3K#<k#Q|B_+!XLdJ=bO!3?0YH>3_<wIh>3l;zdGY%EeDKMavX35RZj<&B zlp77my3|utdOk0+N>)_BtQ<z_3uK?2u&scLP3Cx%*|7}sbz!cfA(|JO7}3N0qCJ~S zycjE9WK4oPnDQ#UpVC`2{TU1X?z6v4K0-5mrk5=Qf8$!t?5iw}W~B}!Z##voPzNKT zK~BH)tDH{E;lvdQ%pj;Poi8&LV#C&vV5-JU4o%f`)A<<#uVH6unfY~CF#=b!E&U>{ zK}70tR{i%DXVvi-twMyFj)qN3)5Xz5@PFD1?#2T}Qja5A#%-jXzmNya;X5&J0v-lF zmNpxI&FQR;CX^OgrRD*0(p@f^jGa-DBI6#k3f%!@thI8+DhM84-@!>Hzn!eduwu}r zH2;v&9p45%8|n49(2|2yG5~~8PUzgp&^Ai{*D2z}^o)RXmJG)tJ1fCy+F1v%x@K)_ zTRU_~jZsp>Khd+)#50M|FkK)#TTMu7OK>L2n}x0|h@Uz-9cXO!G@O*&LEjC&!tJ2F zQa41HioO%=0>!E%nNa{jrL*Xwy#XVTl0HfnK5SFWxeN?=Rzc;+dvAr)YdO9BMfxwO zA_)<4tI5FVq3#j<AjnQ)d<320P1`c4na3zHveJ{;7GuW2p)Qy(rp6T!xQ8VX+t5VC zYeq~a4<Gi|tPVjHy_c!JpGBuR(AVPgX`#?l(YzXMsI__@Ujz{?v$kN6ncZuwncc6a zkKs=!{kvCC@)0y7>$cNLB@{y9WF{Of;(TTt`djnFfZ>^8>V<`8xY^IjW!E3fTlUTm z|1x#33kimXd;a&K8POQ|4q)}sQC>W!?5(Uow*{o9tLPzLL0$Txvsp<RMn972`~m@F ztE-kT4&}8hz1{p{`?zjQ=J$RbvxL1^+VdVW9r}c-9o1+^itu^c_mlPbd@Db0FSv(7 z`APYW-{8d;&y}S-R(^@%*==pj;k|->$}wlZHT7#(_6Z*n<K4P;-r}(&ils#-&SWG1 z&-h3N9sg;4-aT_MWDrJlt(bdRYwGn@2>NR3`R8F{laGl8Y2<zBFL7DIO!cH>uUX;^ zq4}!}9Uq~3i#cDHV)WO}x6R#rL46HR3bL@)8MfL6ukfN&9`D$9;zbEJMXD(MDh{Nr zz4L93GP%yM-N--l7iC)F3fjTv0XviQ4}Z-F4#5$=)B$J!i0Ul>IUoyBK58C0=oK0Q zQ1;eV)z0u{sJHApZ+5X&FvqoF7^K&+S1Z9^l(W6X?=8#NV8dGqq~BX61SaekEQ*|X zI7Oj^xs9dl4{@<ENuwhD8APKA%<BY8#`_&2C(-mG)#0_fFOrb9_ZH^O+^LvTk5HU* zGzO)I4imQ-hRNtl!y-9q>9xm5+nDoPyA~t`s3I-1oxL^sRqgzj<+z9T8I2OP8e`W6 zpJR+=xuvo2F_!+lMj|xLH|Qg4lU<7j>(Fa6+Vt}LwZX$H;Sjzj4c($EtQAHaY}tq! z+L(n5emD>TgGw|9wHWKHES-iovL19A&gmt_&qD@EJ1)Dw^a(X2kZ}->+EIVnyv3~K zRAUA%=e{-5X$<=T|K|1=Gb+RtigktqCi4^W7juR;eyW0Mak!#K$dI8)i{hV9stvXm z&P*FOCPrjoyv)^(DDWCC<If%KFii(ec3_wt&Vvj$TJ2AT2N`*RVUG+hTR2wJvu!DY zl;B5(E7)mhO!8u(v_|a~!W2*pOo}l{VR%5KLDQJ)7(S85oX2o;bL84p&iv$b^kSvg zvm8^P+;9ENr<6;A?s{1ZyAntWp3b3Xb=G~wC6DOBk9|=td300R_@_!OB!%zIJ9+I4 zPlJ(t$NaU(uTSJIU^++Q0tT3ZpO`JB3z*HN3z#PX4zw-@BS(*5rhD%5g7KApr%q{| zn+B?K#q8yBo1-CN8)8+yxrIYwi{~mYi<t5Zw#vXZd`-VYELi@>`#=Xu&6Z`dR&PYx z$do}_M&;4~g=s{@N<NBmQ<n6)h5nT9`p6DEzVIjg&<iGFO~!$RuxGvcg?89;uud>i zV#R2+Kq1KJg%h4oulk|F3`vpO3@#~m4|!?{O#xPi!3(D$k<0+5<1T`94Kd>pURXFd ztqAIa$nRTFS<+@VPe<8~`lD|40LMoxitfpgI!Dj9mA%>i0>CVL1AG>I!Yna_pAP(z z{un9MW@^rDE-0kAL0;l@k;@QPflxL+XA>Kh51D+xikB}qN5!>nXIw*;ddI<oxxjB1 z<{4|X4!t_+?P){yYpcIQMZD)1I>&^FW)6*BAmD@@K<2IESyZ7QU7Mx14Pk;D>CRWu z&|W+C`;1f$q=VLE5R=KNIhTl)jAvVS6aKCdBCInOG@E`Bh=W!E3hOg|g|pDAUel0X z0fRuJ(hCKT(nQ}|XSe{mNL#AsPPb2TGr3XsH^K$DsZR+l1GqL+dbklJ3sd*%7xK&H zPX=%We4*x-VJiz2z>KY8ySf&N@eqi<EM`KfN~g^);?c!;bTJll{Ta3xKk`$t7(X(3 zbTJ-18K3bd<41og7UM^cE=H3x93@kSN!MrC$@t-)ipBWhql@wAVtnS`89($>u^2ye zbTJ-XjL-bV_`#ow#rVO>V%*zI=3iBpG*R4CJgyX6N%*A}mkPzQUZ3a;e^BegVMj=n z_sqc`?C*ZlUYq_aT-vO03b~A(CC02hSX3zF#d0){$m(LbCAerk){Z5+&2k|8>cI~* zbq(F-a64eUzeTvry&kXLsL#l-5^f|B)l?Wx9L^YkO&$RFY4_(@hWVC#0bI(7g&9r( z#7KolH$T6TTI6A1Vt!`o#gd2_8yJ7o^TpJ&$3@Z*NwawdsoLqMfd^?qFqBUOWPd^N zGDC+&@xUEg6lF?bG(HzXCggo`u%lj?v=Wx!xZs8fsE+b+rBq?g=Q9cuRBw7F{bRg@ zUQt5YCjDa_HI!J}KW<g+B2W&eAGE;QL#4zj91#Kli@Nny7#GNyRi_?hR!cXd0=a95 zO=$tPqm)vl${<nvhW<!;^?3}L1_k1EBz?nq<Q;?U*Sk3VLn0J5;bY_SM-OmFBQgoM zO(u;ZzNmW<Jnbe5a(FO7Q4NK;4BqL*`~*iSxE7KNGk^wxf=~khWAb|-LZTILBhiYh zbvbSjsmbwnzn1P3aFzpIIVNa&&3QtlYG{!oR00rWLIjV+2DzBN8%P`chHHuF()XNU z<&cFd0w9m@UGx11cSQN(eCI<uf)IW;sr-fc_1`I8+)OH;%<nE=Y*voR{QlwvwK|LR z3-ZdFyk24tLyvSXVpAh{P#Sy^7woZ+*ZQh78rG)6<9ZlnGRpUw)A=mQ_jw{N-k?)s zZ;<-p;sX9|s6j5jP+}27*~9=ewZGET{<)hvP&9S0XezwH9P3D%dbrZm!*e(FNYT`z zMN{EToco){>s6HBUsSQXs3N?<;>F&ix4r;WYY5~=ertT1beOir2>XO&&~k};7S;e< zGAI6VQ^?E)|LCVE5zBF*C;ZLhK}tio{WEzL4P7~BLrffR2=#ogKfH;hn$Mf`Z%=x> zfnGUiXr<Kh*$?!GNP?Pv$OztoR~*n`A|}(X;!UVDt6e6k5#Zu|u!MJ0JSV^*aw>{r z1;F7=T*Oj+{F!-Ur740W&$S4)6u7y$XezvkbAR)=gTPiA{E$c5Rhy_OW)1z}(Ig&i zg2rnVq5Qm2nvbBu;#f(aF#TH3RaLK%#fGclaN5<Y2d53NDd2RZfYX%%PPb6Nad(e% zDB#p%1f3lz;B=>c@s;eFUGu>|e$CVvx{1=Uklx2YJ7iJCja7Q9j*zRh*mbhtzqX?D z!nl-*8Mp(pk2(x+k8X;QIwv^~P)EVNI*MFtgS<7!U*9pGoO`95A&H(OvVSEhGiALh z{vxR?^e_B1*`@CS%!R%S;_TQv&~OxiPg9^RwkSbuyOmV^U28~nq2BXLg2&ap3XoX_ z)=vkykK=yAVDJ+EnTCYZQ7a_gX1jPAK?}V?+_V_*5&my_i^`2qOV~TTudG>-A$Dmi zfM>QCk*3pk0?}%s>5O#@7VuTTlB%uuBVnaIZbm?Hz%}6-45wxwnw#>2D^0D+a21V6 zYlqBM_3-#sGS3`aophlgA)Gm_rs{N$(MHKJwb8b1g2C2{!C+gq;c;dwVVLdEIj9+8 zBa8xIsE3_vXx6An<zu9EP%j&TpN}^GZ2qF5!&D6#I*w!~=LGCl6F<JK<=z5`8q-2q z9K#LC+R@5Dx1ciCO*2{2p8wDn5|m8X_)k`n6Bk|ggI|!r(UqJ8JfkxzhjnCqkgOdg zzC&WfCTtU*e*LZ{j<n(#Ce~Pv)Oj(2=j2Q?Qh>U&j~p$Rovfk-7>sUR>KyG*RJ-ee zFC=J^w2+<y()2VWDlWgE+w4IZ_J2VN$y9!sil4r?Kbrmu7;d3h)W_F2kY_Cs;tbL` zI_ohKU?3_LT6H3uq{3XkY*4ysrE|1(^ZyUsRccwHIWNi!5<Y(vUtukN7hRq&dMzs| z`jydU{<~NhNkLF~I}}B+9H1u9UYsDu1gMj#81SJ=K-ZW$BT}&kUUrT2yZ<i3BU{_? z!3bK_syL$J4$}ZYI*dRKB)JPfU@(t$!nkA0GL#Y2u%6QK4Ls%swi6V^8Jetf*=c}? z6F2Im&a#N|vXQDWHf67rh-n&VY5t6{(@Wz>iYaJswE2-*1V3Z!HBy~1+-j5>Y+Vqc zjSZ&L%-|K{HR}+8FhedQ)x?_@`aC4^Td)0Wl<tz(w`fW$@<J{2Na{Up=?VHvVzHMm z<qpttZojJXmNVnf@@Cu7G@=KhnUQ0kz;!yRE6f^Rs4A)3sH>3V>ME;7T{X2Ta)b0@ z<Sd(%hR9~RL;ASF=AYy6vePIl>{y7IyP9!NigSl`^|$?8>U!NAHufKy#V{DxblfB3 zti6E?$=#Wh?%I8>Ar?1nhMT{Ztctjp%FUnFrWE_-=8vrdAgO7h!%Q7n5k;7IjAR`W z(&_1BJ^hSG^QFfoi|u?*3x}I$*mB3D$fCsr<mkw;DKo>nx<oNcIqVoqJPYUBK8-_1 z^HU++c6*v>5sW|A^dCx#;18`#nELVrG$L>#UnaG+#rDBhImJ_!C4C$aj>@}V2cXz8 z_$j>mjRx<2I1iN5IO>vjKkZ3)_v@(RD#ArB>zQ{y>I~lfNSQOl;jFfRuvxj#jy}q{ zcfYZ$XWsor<lV2M6$TEiL7^Gkndd;Hk~U_#dMOZlf7Gt|WYKFdTJLw|-Ot=HYUas* zAxxsIyCD<4>6(H+eQP1Lb5B%|D8>W*9%ihZ`*qUy1dCuSr4HlVZ`WOl_$zyX-IgjW zf;C2SS_IEtW@lLj+naoMIm+_kXirCATpt|$`GTzY_8Up>JS&(EpymdBSy6LqI(?}< zCMx`zz6RRn7|s)^xyc|Q%p1MYw%CNo7tK&n?SThlObHB6MIBleskzzH;nmz!o0Nt) zUVuU7fBe)rOVM7Enp;!brkpYILxoJRk(p|4rupwp0T!%;Ld~sdcaZi#iL5C`2{}qN zH|k?&>9ZGG-9gRGj6Av(<*ufyxmnMLl%%w61*JXdlM40C!tknXiycha4Ata<?*XCF zCp6S0h9Y6n;kH<PB9xohRJod46Tn0i+qTfuJk9tzHc)e8ZtC1`7HU<d=2oJiL*+Im z%E6dGj<G&UMwq{Y1=AU*xd|EMbX=Ii8ITg0t*Yi`<)r4;EY#c>DM31DO;%x<)ZDN- zQ9Q$@skt==YHm$abEBW8=GGLUh?-kd*g%=h@KXTID`4PBm0l>!Da{GG&Ts*AA!qvL zQFh0widzLzQ*rYiA8zyj!RDfM$W+`4*h0-iDsEmM09MyQF%|-^qT(jB0-+`c#OcvR zcytlkt=Ol~GiVX+IqvDc2=^R!bP?Jndh{e5Ivt-ui|}ur_KWauDvR(BTgiyCJGZ-> z(71XWsxW3`Fq_Eg%^2eTq}b-LG3=x6Fd`Q($fx-aQ3MxHPeLGw7Bk@*+0nBXtFOo( zLc$E?zrgcLBi{^+mEY?UqndZikzYZ{`8(0UiCjlRJ@v&`nG}^L8qeR#=#ICgMR>5P zL+S)okaAm0@>|8@^ggK`M1pk>i;)!KIvkSNG2t(mq1@3z8$o&p6VG!fyy!)eMcrx< z2bR^g;TJ{s@-?D`xr%bB9)lgj&!{YTaa}K16fLDyU?p^I2rHXHa3df@geGn&JzNI& z-nay!*u1|$FQVBIV9`&wQETYPQohIUIr%!gho?LEU^Nm@X*!0ORzrzG!&JW8R>d{Q zWFl$;9>KEOx>dDxuuFhu^{Uz;Pw{TjA-rH!auL;uA(&|R2h}C{E!GB8NRUMuvUk`U zmy!yl_VR}ErPH>0DXHp3tD@@wHG@w!#t){vqx``4g5#mU2Goa@RM~IqUT+nQXL9ko zh97P=tNCHjR`LUvWH~>{vIx9JNT2iLL<zewGF~xMqoxSNd+~0m-o2|dpN<qehtcM5 zz_w7NC{?FYn=HUP<$HR7o%aR2f0XySK08WzPqY?1ZpdmH5*07IE!@jg|Jl_{CfH(- z)biW^{xkBs1h-n4spTKl^QehQ)T-e(UwSdq4iTe0!4yQ8%m0eC0K-HfjIe2w$$Ja0 zLYS-R(!?E4lPRn;?x4Eo^9PYE%-=tK1>z>Lxmwuw=NG8Mo>P$}nHwf>MhdniYz3z; zW~L*JifKh6SODPhpuy8O^ZY13;Lxf0HL~B=YNuYab+?s00X|vHdZ*QH_eU)!u9kWy zt8|l2%aKL0md@A{zxF+g5j7ax;?;>!WU~VdgzmsmVj`uFH5B21@PUqrQ(08-eiC>; z0qRFfsMXO&o;Fa!Q=9=cn@<x*MEFf$Oj^>e7#>sxp(TZl%0Npxp;1N^fQe9`R@<nf z76z(u25Q1@^inaG<u^x_YvPD`KztNssWFatPQb+gGe(H@Iph1kSeI;)c2%#m=7X!& zd~jLOL#@^3Y%MNYqa_>ZPuL6<N3e#6n>_CBY{v7%wp>{R>Vzi<Lq_}c8gW47VnOUD z+`p+!%J~v&q@Q|;?amEWn6kizw^NPlBwZH!ec{E{PZfi65-`;%v8NHhfKyIpY+}Nb zWPi^$ezOQcE+!erio%XuuDDhUnZ3lnkkKhA0;Y@kCVsShhV;}NAJaD-D>(2Xlkd8o zn(hnT!7-XZ7pI~oz6Aj&09#QrmRo8eDY#|4>ylbT1609Ls@ZM*ESrD{00er^|Acd& zNCiFxx*lDmg9pkHR8XSHD4v*ybUkX|T!w|cB8vL+(Ie6%;kFISem$=y=nRF&^-R6l z0wq{M{FNvGfH+;XEyU?2YMWRfds*~%r~#%U&aD`(`Hp;|7vy(-xaf2%n}5Xh&(ET4 zUQxf*Oz+f8s_F$Rtj2COrnx=t@DJ5}q@YvP5971Ylfl2mgt}~PWzk~9Esu#U$lC1D zFDAw)`x81)=JzG$wZedIAB^aVs5`;LGj$nA7EQ`s%mvLAyvRr|=H5idPEd*n9~{?) zT+JQx7Fg&@6oqYQeJ;xvpdCSwX|82q^-P#Q18R1ns0M3>Luqd_ZfYeVmxFUj$0XrO zKXIalcjmvWxguI<)0o6DfYMZ4JvMg|_$7GnuS}RQo{z_Jka%3ZRvA~X$+?@~`IWn) z^iv%>I0X8l2?mH+GBDGX+$t75WnuMNMOeL-rj}+}oE|uzVbENpl-QXp4>3j|odkV) zaGp&~pkS{T$Rq4q)z5lYe8O)R@y^+A_-*5&tQB^#o=nRF7#^&TcG7o@_u-UjS(xO> z7^*sG0gZiA?TonN4a9LX5rfPHwyIDCckZUuYG=5cUXQXoZWkX58?W^PUvmf#Bqb^O zJpz-t;`y;1JU@c&h5c^&&S!H7!v0LJYv{BNP9R+rYN5P-@YTDKl`52%$+iZlyXV&& zb&%D<>IerZdq79s&#mO|{VgR&yri_r$}uTQBCu3R$q?Z>8_p?jV<6n4fiNiZ7!P!i zG1t+D>e#G9@|VZXG9*CdgMwT|gK`?$ZE8{TC*a?OX6^J{zXg|>`D79Q4js0clM|+T zgx@==Pp@FkvX{neLaluIhqX)DW-O>QbCgf&iiz0X*^1+tWM6_zXl$h3h@)Dw*-TiO zO!z2-A17IaKqsk~s|tZmvX=jKk*wz)l$^H>i@|LfnjvaAZ(D;5MF@1>jzGGG$~yV? zEE&RZLbAH=xX7xri%o2S%`NFs!!23M6>{B@4uvHf`JWYUn-&D!-nK06xFy>mxVb^0 zFy$g*->zF`rRfKF&v{oMz>*#n-I6uKkR?4Lx+NRdo+X>sDND8tS(a3U#!&Bwb;;g# z46&B<VC9zVSr~Imjt=sU<=-i47!Spw{10aUuTHV03;2hMWD)|e^R|XETF6j0FfA`W zF^jiN8!~&_%D+~;Re;V=Y-Et3Giah~utApPTV??C4GP*G;{$0)#l{P7YgV1Tts7!3 z*|4T9+04IH<n`&qT+iPzqml2Dg&D72|3i^X3}$=ljaag7xQJMs<Zkq9`R8%=C^AeK z2o0*+mTXzCEa}6iwr?70yE$mEmH%tecH4R-YW|&r+?<*&ICtk2`CG%M?l)U;O~>CM zD%CU3zT#O&_O!G<n7FT@59o8`y)ze&^`bbb)f>%Ld!!@LGF^<u>fPSx7(U~g5YP!6 zjU3`Dedr}3Qzs!x`B{!bJZP;y`Oc}jHxr4Hqx*#De}CuHQ=+Ih*3IWzNyLNm%aZc$ zO34#da#{4L@0_a3wFp&}yw6JVh(8~`e%8MBMvIDI9}Fs5?G>%@iatMF(F4O3ec3DO zb@P@%1ihSdX9%5H>ouL~o%wpvnHn%mM*Hm%$0&K*itZHepe%ZZ7d^WlPkraEzj^-` zzq#il4~boX21nkp{9<i%%KYm*|9KAdfdXiC_k`$S$J<DOaTpvGl%MZKFK{ToTR`b3 z|5q>CE;_h(sDl@J(N}xXM~kA~!N<IVt!~~mfW`ITnh<bvkr%z#0lwzpFkCIe&6^(9 zxT8T5a07Rxf}2ac=;h$%@9(+qA0PhxzuA7kaD%6pacc@?)_lBd>UEy~N^j~d)uxt3 zZ?i|;*Be$8jKMnyK(@VP&-=Hf=$}x7$DZ$;%6Z1&9DtN^Us*Esk_&<Hp?lu-=O2H| zSHk!uD6?BbFt3QV9vWKY*_Swo@2U>pvgnU|lEvM8%t~hKb7=QaGV_v4z2paql1)Hd z7Jbwnb*2Xenc$?xToxy+ZjrjzwUUOrquIQ0wve@~Y#rx`i06eO&UKSS8&Erk{jlzI z1yx)DQGrRm4Ig(2Yc`#pEcS=NuQ*%V#_{Y{JC|LK6}x@hYQNKXd=wQ^>tS<<mO!se zB{=TPxk-LzM{r^D(G#IcAVZV<j)n=Ylbo_%MEDVaI~x49@M6jD0G#c=p!R6IuF$r0 zX)?Ke9Nr6Aq!g-*+8_>^b8H&NQ8=4;j?VIM<B;Moue!?YWkV6#gz*2EZZKeHyK<GN z7;c*@P1*M5vBR{T%xv3kD_cfG+msz@`{q$^dkepVwy&Nn`~3!O(Bg&-+Ml-3^1gF( zD<bj^V#nvTnLtPdIN#h5+>|bZ!m6{iFm~QP56UE5J>o9Mll;a7dZjLuuZ+tm2=>9K z#yG?9c)i9DJZ{o2W18{9kivnrfkMqdbIdsr;w;M0f@gTBt_o}{+xjXd8$)Sj((6tp zVl8JNk1W5f4K=2~pg7%<tcvr(CN&?^$JW^#^XX|m?`*)#Bc0>UE_ER(e9)tG8V`Hc z-H>92ruQv5qye}nqPcC2{N?{;$XuwU_%6}JCI4oyW}ZmOkJv@kbC=V0Je@ax!NOyX zJ&rS&<rMCfP$!V)J)|Ve^5J*K>Rl4voe(Fd#7XZMy~FLJVTwLT5oMv?!J)QysGk!Y zy|+N`U{_b(@qz)<aqN<W-hAbOmu-0h9P{*!tF65YZKitH4(~#nP~_aFhU$kX;9Y0v z9WRF4L@$D1%puP&CiT_8-_twOnPc>yUu(Y@__<iYUmk8#PRERXU^nE~{2!(dpJuZs zA1~TX>ck<}#DV%zcb)xOWPkgaygy!Rq~zPvSJ+g`lHRIlvEcQJYRjTUt0Iwh>@Wj= zp5g&S`MlxA*bt(8KJR3xWc(%Z_TU5m4_IC1!7pEAtgjW(hu`<wXXT5y!~Wnm6r5SS zHk`4VWtUBTT|E}4c8!zORgRbS#a|T)IBE~*QRkCp8x~Z8L7JTTLZ!I0J|Sqt(mVv3 zV~!je+B*aqT}x+<0+{*Iak}=-_T|4Z#cRd^f}e_cSo)R=;fWWC&oz_u@k|XD&TeYh z8#XnR$E?!Cu&_JCqb>^6;;t%goIHD*t=dF~DPpFF{K_ECP1dADCDS?c|4nr={_6KO zz-3bnsB@0F1)PlBV1JA8I7$U$vV<#47Dp&mtVn-}+zd9IHqk=hCrv5sx=1=Ac<cPM zv0_xq;|6akxu2{nZZxJEOj5b@qbJ&iSu5jaxhRPy9LRb$Pg}L@+-Rd;ci(FEh<tM# zfy`I{m#>9CY7^u2Q-if%xUf#L`EI%B@U6|}mG+8gxCZDUP-a>#3Xnc*DuB?(m3^v_ z*@?^KGFeN?2fAR?E7sq*USZ!DO01P(<3+G%5H*<NPOGdAIMmrSQG-^G)nOjhtZ3Wq z7YjQ>l*m~p13SaE+Zl@Q1Y8hW7xM#`{33p+|3rSE;Hq|pW=9wWJHgaM!wIUVcCarT zvJ*5Sg}!7x7&3^nF+Jqe>WNfhERm0hzq(TFO)MAXhMCv&l}*Hq5;at8$isGp8z0;e z><VurmA@$8S-#k<7thP5u_ko)zrn8Xj^YKaIpMjvl_2;t%UyisH(;|i%pj+hzU3@9 z#3G?E=g|G|?mxaOO8<OHkuxUYCiAlr#pZ@a$jdkh0^7;rkuYvpLT!G}lm@MljjpO) z$WKoL4Q-EebbUF4G!lO?8rG-RuhtQ3J%>emwTL7rzw{%&JpoA%N003SW|q-T6OuQ> zt33Ey6HUtiH(O?OR$W*);13S>vfAoZ3?$^sNy(M`aAIA=4~O2X`C(Xr$}2r7Id6~@ zV0R$hb;$mBY1WuxA)W2@oZ-M(KkqIxedIU;e*n1vw(<!63S_EnAi0DO+^4Jt@E64L znh~g1?^7&#ktU7&Mi}?V)XX3Ppih#=Ze*br!=wQVFTi)hS=KamOPQ6E0=U`fX+N6i z)`V6zxXI+A^rrciLo@kNNqHI=X{=A*c(%ObH?%)_k8fb`;ed<d%kPpt<`f*ruq)*> zo~+#o{12LV$pi^AA!F@T>oLO$>S155^eafI9uF|i53^dTR>&HKJQcdAFflLobkUT? zLklRBaLBv|AMDFOn&#^yLU|!vCYyx&;10O|jh~9r-@kyv#U`7C5Dm#$Gb6c}P$a>V z1_GI}#Q91hTh@+b^MeHI)UzN0=Oy!@@=~qefg#*34IAmZQKi_UGzi-tXPkasVfy=o zWXdt!f&TpCR-B0bOoQ|M+38N^|LfO}jYgd~X*6r~4*#_vkHp$B))VKC*k0n#jj+qT zP0I#2Wqe|JzRd@uBg!MbmL(J8saeulV{H?7s7mp9IW3i4oHR>1_t%m&<J?)&`K~Rf zb(@pc*bP^$AFIdhb|k@t>JWoC)FGB%sH1#aH<;{g!+33$bRMK7Th=k;=q005^qy5M zo*zV&nA57yk~QN<TC$#(85-6Vd+SwOvX%df6&tWDhmc^rZ0QUIR<(100}EU%NlVrT zeDB79bKbOWS%#LiZOOLbu0dZ4_N8t*hBq;G>)tI5fF%>_izR)KEa@1tWWz?$!a0<c z7|&RGRe{y)mDpRa#FAc#CA|_$Hl4q$-OTD!CB_IIVkMV6;hOc#GT^tl$lI{Nu(!^F zw`2=8YpASkz}ef80spu&DAqOPS%#kV(2}DigSp_SYIhoNV`XVDVCAb1H7(u**3APi z5#22A5<fjwqSzf1T9j<iJ*`b=%j$+j9d8LMNHwHdr*Bh4CYMgumqyi9N)E(M%y_u2 zQ8&FCSN-hawVIe2qUqP?@A%Gj_sc+voLB`>AqO2dP*DV&4}l`!@R!_Qc5>!Udl9D| zPYa<%(MLi~YeywCgQzK3XTM{~Ua7M48hxqvdzWU(YZTn%*}v0AOs}5F9I&-sgbKYu zJj|EmHJ83dmnCZ9@O}30c;9Q#u}w099LOrN)m~$@aS$sb7y>mM3*tf`coK0-hFVdR zHXK-U!+pQyumAqLY=1NQj?FL~H59<WlHYTlVKaaWp6S1JUC(u%d8%MQm1!%jr=OkF zzCPUEp6`A85wm4J6xWbl!Zj4Ca1FI1TpN-Xfn=T*a&SBmT#tes^gs%9b5J|FIex&R zkUbiZ9r6W?H!2wKU>-FS<5njpL<Q*@7$IF=!i9AHmLn*<!>Js`!xyi4^XISpk>TA< ze_0lY6z%vrh)v_rx-gT>Sab3b30SyjE<TB*913V_$u~B2mO^R7`PO&ujPe)f8~O1- z7i?^k$w9Wu{NaXjF*5Ta)|}0KlkX}8d7-sT9bCQWDc@<wL_iY0-}QVo!=0v<{^hHo z$!>Y2SFpcM0jDcRt&C`tI6qKVOVkkJ)T{8r@KbjvmI!>eK{Y(z3XjP??5KW_2pYKV zSAP#}V7GN;xPiUY^RZWka=YtgDVo@=ouYu;a#Y;Y3*g-la{uxI5?cs|@GmbAygN;4 zEFef6HG9oAbkNvtY-@0#Y>N6O$AZ?(VRa!!vhmP7y@ZHd>(j5S@;y%LA_7Bo1mNb3 zglA#UxH0{Pq0nNJiDiuO@dsX;KgNG8X-K4>|1C-~C?<@qIS*|1!4-GkcqIp+{=_U1 zrN;sauyb=Nfrm!Z4lO#&cpqWs4t;Zd6R1qx$LXNDt3yD88_TN;2`XTyo(R-5L<!-5 zu1mo{XsH`Mpq1z7coI6ESjP>`vrOwld(M);pL(NUgoM-#WPnra+5j2GUSadp+C13M znRQze{p+~!BE!@Kdd*N``zXR1DR3h_Bol~7IfOF%D&xh}Q$?BqYPQHMlX1(w4#g=Q zdYm02XQ`$^AxgA_5p*axj47=D&sxl`Yb8uO6y-gO4pY`<bv0Gj5CE#{15=&X_q$Ws zrrT%-*9_VSal0^r9+>eAjU1=FlcT!vD2JX0;1`hpEfmNQyw*vd>Y=;no^mBuP!3dN zbQm@108D~nMq<ROKIv*?jKHB5*`R9{C2{Q;qc&&ET@N(~hg<|g1jV!YsEhvw@S+lC zqn?n3p4gntZ~oRpq+tH&)~aK-!+bZb%Opq5V*>{lw;Q?EA{3f5>1xSZyZMb|CP7ho zR!wKZ6`|CIMu|ls9ZDnZ3>Vz86{#^%=dEJ(EJ|1&S=$1Wj7qN;4axkf*JL;&2u@Dw zm5wO0&6!Xlze;qmM67iRp}NBs!)d#oJcN2Aek8pQpKx5_kRf2z3X?LFp}>B^n7WD+ z!{PXVUK2iaRXcRVsSox6@Ld1BheB9N-Y{P6{O0lv!0-l#1&@S0_c!B4Anq!vXP<de zs%O6(Fn$=-vz>noqh`lbQ$73s;Z@JRaCp_TFU&KICa~R<Dvqf=fg)3bdOX#$H+E;y zb7Foxp6ZzpGo*U<;3~}wXoQM}o!8^4XOGjx2Yi2`1I(HuQ9X+i^XpL2FWdaq9q{{I zOAJQ;K;!GPLBEU@>-uF}GfbuL1HX>ST7#{P$y!l2+oFnQQ#UIrdLrs(575@*tDAjq z{w%`)REJkLdvKK<6Ina`^l!0_@|Z!fz71&!GE}-q74j)E`prsI|B<VkJ))pv7IZ~E z9fsTl4mMmM);Z*)kJMO>VVA->ot<iIyxC|(4gb${S_D)fNJH?|Z%o0`nyR0-cnu;o z4nA=SIpv);F<uVmi5Y%tBZcfoAv)c>hI}ZA5){*ZKl$q_%J#y+NMR!t$YcUYG2KFa zY&YzQUK^}=%0gg0*s<HYXaV+L|5wxjtNM2pAgvj5*+a0PBd?wxqrI`FGglgBmMm24 zc<ah-_O_NwY08rIz&;>D!&KhvZPQL|OSbF|ZOKB#j=Upw$+owhK@DBgeX_T`z^owe zXwcUqIcB$T%P^ilSiq1DTAMehZ2q9(1zs#Cny~t}(0Dctp@*l)uJiW6xm1>PZi*$H zrBvsru}9abGe>|{S_*BPz+xu7kQCE4RA3*ptyngp6sl3#{;5bhO6{$q)RK-;OFBv| z=_s|Nqtud)QcI2)r^k{VXLqpi7$~l|7b5t=KZot0xr89Y#Tafej#dE7b^g3$eZK!r zPJth;<5(VEX(rDrX8DRp#5OJD#B7$}m<umf1eJw=AXvMo*|aA)+E5UF4>jGz(P4v- zY2Uqhlp{c(DFjvvxCSAxVxG8T1g~c-jz{VceP2pM00sh&cANQ^?M)uNlnB|nNr;|N z{42XSAOtgN84j*pv~~M7%6Wtgn0P=(OClh~12!ZooIXgnKWx_^Y$&OK@?7cccD~lj zu9-lo3ax7@;P#h7leS+<J#9jWb^|eI*Fv3b`L>{Sp5JZ>5$-kL9^efdKZvSDUu68i zqFJItkX!bda1xRB=?5(XXeV8-A(XWHEb<cg^K#EoX4)qf1{4~-^QdESzNrCS29R8> zI=XbwAxEBi-I#$kApu2bcp9&&^nN63oCXR&$6DAGpi3JFiW|laSp%Xup3t6t$S}54 z7?a8(*(X5;tY1)b&M1)4W63jwY~$e+;lK1^qlNzx+=JL(v})WD1s78#XF&skaaC!9 zr&WFU0AEW@rRe**U{W)>en5~o1dwlv9Xo9S$P}{iKF~i&pP;o*RM+U?Nt!;SP9(M5 zQcFlJ<qcJBE@G7ByLQ}*;Z1(vQv@yh=9KNSSQl2hs)jt$nHuu0QnP9q^p-BIv5uw> zzW7;o5a<?6_%N+CMqRJaweRr*q&i5LD55~&_gI^#1+wPe(oA{--+nbjYg~Bqt*Gi> z=%LQT>A)p<D<M-eIqYE`ER$ngtu?NuZYh(j)v)Uut4|9cxqKo45EF~lgcuf8a7Lui zVbV?HrgAzfj9o$=hFBl69MZW8M@y=l{ZY0Vd^ZAb?*kL#QxO(53E#Tfeax*9X0E>q zSzbewT>JM)bY<4zZ#Irs!St6%q};$LV-3)p8i*l)thru(C1P;ZjXodHr?*Mff!mty zCpFb;*FXU+8Xm+!?6czGNAg_>?uWSPffR|{9!_4t#6Y!f!Rk_Tc5?+*?@wFJs}Xft zH+>SZRl^sLb4<(mmixXFOql3j<tgA@SO>+4>Nk5&L+mK6Gw9|EY{U@WwfAk(U67`m zO(z>YU5B$UfL|n4z(@$;c)1nA8$hbNA6sOB@D|?)DxAd=$fBvMBh=_FS)jaq7?exe zMOoQU(qL04Z>o0lmnxJSHhS;~9p!e%F_g0{;fkz4d9R9cfP@4G@EOPns4~AqNP``5 z!538(jauBy@V8&6VLXX>ZO^QRtk(UzX4Mx_YX;ApRe(-FLG_J5_3=MGiAE|uiFl(8 zy9E)Z<5ZeC;W$MUWT}jgh|!fpE{XIo?2$;0^7w`iB3;$R{q5*S26d=!Xf?x1uqmk@ ztPYt*9rr<mFF>DRRx9lj|GCg}Yw4WjMd{k7Wl=~+2F{15h=%2_*(x;}bfr7A>J`q1 z;E%MV8>L>*#Ub}KvS{J8G>&KQ`Z})#gPWK^w9KZmE3mZQDJB%l1s%OoaQObXd=nMe zv|bJ1CunrCW>rm~pj3+@RVYZ1K>0=-UnT27{R2J5V{H{e#+ACn6*xk1ryL^<2IROr zNf*PWR|uWuAG&x2xZu*!B#+pFa%DDN^-HA6<(8;Khrw8BXs=_b<(9qPV}fAgNpl^r z)3c>gN5DKc)41c1hy@;SR@BTetn^+C4+HOP{_u+ef<oh|Jj*b+BQkbKOGfPqyM3XK zxB?dixJ6IRj=PmRu#8O!CzkEBtqI7^&xvmR{eu?)YiQ<W>=GTZ%_D~(H)W1&<meh> zaE`9Aqid|(O`g~qyW!{>+i~<93(7J_&oK_3fBSQ6^U*bSbd4RQ6&0QNM@B2Y_2?Qq zy2g&Ku^;Igd&`lmv8!8dOeVhj9P%!)AEL35c4PuAjI?3l7)wG9krOzcQ|5mS&Xic6 zNxt=c_i$5`+(6vaQ^}n8g&E5Pl8d-Hi%%x8Li)+yn21aa7Ai#3O)2;ssv4n0!G*Od zc(OVr$_kC`fBeSIux6#DH{2|2QiI<3%rMj(`t9#8puhi*m0CFjDm)p3#8^9^g<m)F zdXvjZ1aH8`m$)6HFIWJ&r>NH}unv+GHinvz%x|r@k)~&Psu-8)=Uyc<s>Jy!?!znC zh@{po3<|ND4uOX)Mko^`LfH^H^^&p4kvVG6cHbVlO<FKjkyaVN%CLb=KwadFQ&LL; zr~oRp9ePlA`DN$<5+KIbjsH9aw_~nRew5)A$N{>oA1DSzA7-6WRe&o{y0$G|-0-Dz z0doxo`5jaShw#o1-V>Dfo-|mGY<sd`X*7)qpGDn!<l4^dIUCM%l;VyUmDA_~qKIRD z@?oGp_7c>W_|SAsCD<+-@@d8x<)Y@9XhKL&Q7<F_U<}~D`%sJoe^xN1U)o1{blPRk z5aT@(tdR|QW~x47eSx|3U5mxlSrMfO&lJl;Pv|ZRB#kVNr{LWc=A2UgaZ!8LI3b#M zN)+>{hCFITWJZDr1t=?K8F0(uuTcA>R?}{c`W7z)5rJf4jVchsV1&j4EC8w=KB1;z z;TK@j_Q(c@JX!1icx8~7Er-NbS$a>d)<PH=397u!0Er>F4ig=wx|TXxM_SblqzFw` z5Mg={d^8m}gYn5)u!`ZW%8Wu1dhcl?eebwXl?l~I+iL+9A;(p;n@Jq8=>W!36fE-N zrNbo=SMiL}y||gwF_9mSoLSIdQ<TZ|q^zRS|M{}RwODh(LzG{AZ*)p*_LvNU%A=|% zl@a|@YgpLmhj=U!0$G~Ch>APmbAnuTJ{*Ey?OVbu6Ir}#SpL{&=T}LRf-6KMg;`eu zaF~<|%Yf<G<$NT=%lN2yCOPsW|MZy<WkM=Y_T-%XtiA!)d6K};NAt+_mX@nU?Wh&b z?J$+WB17{QNw4_mNXp2oG{Ys4*K(xWo;r~f1HbZOhEHGG>y@*XxBOYzCSk-%h(g&l z{7`$wkLk{yl<bqf8kr92m+)@<MQdZz&jmCh<$oj*_T=x8FB0e~o02UbdT9cDFF_Z+ z;({t3LsQuFfDr%gLpaNSSm)z$@jZVAzNHHk%LJs-<b5xasQA$YkrTg<B>ki)WisUH znlu396Epqa=Q9*o5FC(Hha+&me(AzKQ?fDm|LR50vZ<h|4x*5%rXN+)HE)_Bt~CAm zLz||An!5vpNDN`d`-X$`O|SG;9}ca8IN^kxAs=&_nN{icOQpbD^!y*yb7@ipERvv4 zptE0&uFR(QVc_%#>Vn<@aDmXd?1Jj>3Z!0RHKpj+sMg8kVbj_$H>&cE9w5hi=wSL3 z4eVAeFe7N4#1_Cn#49%ihTbzAtEc)W{xY>z>$9Lz?)3kh5WEg}E%#etv!2$BVr6M` zghtv(-|>pF+g2BIOf%<^giRXZ7?5l11M0$<k#QPPTVh&7bWvZK$(1Q}naxej3d4jF zWMfTN0B|f$>M%fBxjx;!mgZJOnN16a<(+JawR}fSBIc*t+4gs=MQxTp(X&lJ41*Ci zQSGptv$m)HsL!_l(^qRh(zEUNvLEr;_L-Sy+fa)?6=&O{AH#&iA}E=9ub$>Q+n%P% zi3d)BmgSf`ta9RkQzXt#jP&svllHVjloPM(Dw`eCwQy(#^+r?^Un|u_y#7HH<TycP zFI*8tW?pAWw;r@)VS-48!UU0IFhS%1w@if@qK>bkB5PESaeh78oJkb>*TYt*{Gl=> z-H)I(;f~)d**3jIOOBXcq9xsY(30+nPU@}p*fUMYLY*)%B|cLp#C1-gS?C&p_EyH_ zLEo@xT7LG{+qY!fjU)x&2se+Aw_{3<mZ9r46v~i2vmmXNdWy0fH6=o~jkToP*IKe> z6<M-wdYP6ij4BN)(#y2BE$hD}-QS!gN8C`dP)>9QgHJ>`ap(W!fd0`aCvFY#7lWfa z-Cm{JWr42wyL5f}f#>*iwT&H$`22ihpwjrxy&IyS2#YO`7kC`tQoSrWA2K~zo5S(A z`<B-_Wp(Q<{~YD|liqbI%3OG&y5+U~D8~XJ&P89x(4xGO4bJViyml0_Mwzx-CL#$c z3$!Cw@BDcu;a461S2x}bwC9KRAO6;-qx7pXDW}xOREk3Y{TtO!Q7BQ})VL|q42ol1 z#~^pb<Y0+dt?(M+G%k9pgKLo+&68R(p?+~0qFtfrLjO_Q+${|O>HhyfVhvBhK6GJv z@O&puA%}Unrl3@*N-8Rjx;6TRVwaUqz#Y0DXRun7Ej}f_(i?sqt6SPpG=6!OOkK?& zY{%Qq#s2jo|MF^o5_B|pwxj8I$5Am*>1`c-1U1G4S3|0r|7*IISjishKxU>(Mrl#; zQ^(o|%MDR>+V12v!uCZaKKbh^%?+j?;4?1r*$6#AJxf*6w{`pg``P@Us|Qa*aRwX( zHj9F0h9(bw^UWs-8KC1Bv-Digp5CO<Kcwj}mry;k3B=6`H9{tq?l#F<m^Vvxvy0P6 zgdts7%B-_j5wEDwG&nF{v94bLaQQ)IRxaj|hUxYnd^*Z+ej6T&Z#xN_;$6ROg|;z~ z9lzTxb$-76trS||kmh%)(CtN`{CZWmIKNXbzA5cUZeu=~&|f@1fA|mhJg-{x-lFKW zPaiKKZ+hB#3At_Q5qJst=+oRw2-{x5JT;!n)5Sr^+%U0K{7m@<`R`IGE)8f<DYgSK zMp2S6lV1WciLXef&*e;+D=6x9j~5j6x}VpzH3UVqOD+LqxRF|0xP6g*Csd@EQ`MlT zQh4tw^ri<z<s8P>6v~r2kU3O3QW@lDDCB8Rnz|?o!$xL1qVD|8w|*)R>@?v|LCus< zo$Q~=L^RJIyik$0H*gf}KY{%ec#kOLDY~xRGUO@jGENjwrenPuLZ0GyOF<Aq$kQH) z;gF|%pFQO1jI18=v|ENe9W6qhVnP5zajuZ3G@fKA6we5Gidr-}#UKy#ddO2Er*aT# z6hu&1h*TbXA>^q{R7cXQ74j5)O@%xKyE=)OBo^}Y-V+O)9WLbQzVGkgcp->Ge!x;8 z<mtT{qq#z!&QWGhSw_7(P>wQP@FyE(Sc%MJ<FF7;0`*Kf3=8gaucAMVA}xk2(_F*E zgve3!PQURo<B6Es{njH18~g^XkSj%v(aJ)x94+pFp(mYfg`lb~uW*`kBkAtrl>bSt zkU~>m!FX_>#R?&zp+SS(egs#C8G>Fn!}nxY$YW1>g|y2RGFn|B?XW`d>~@$HLP(2j z^vG67R|DA&D}-{sLb}=LVOI!^YlV!?SRpVaJ<76HNLQ4it&q{d3X!n^SvF*RC5W)C zkk8?;u2>;$;C{NSkkQHtp$kX6LK0ssv#gN)Ki(Dc(Bh~63Yjj$W<Sw0<Y#Dwyl27B z$_n|1ALj~5(k~)XczT~9NqY6s6#|uY*fS(a@1Fm&u|kscn?K$a@@<5BPxlpa&CwO| z_$%Z_-2=lt<e5xmCFz063i)(1sbl_YhKc<q=JayRCwn%+DV*D{UFtT#nYb-@jFMX3 zy1=^Zn<_>5lw9hrBuoQ@?65hx^X2zj_)ijWD4}Sf62qG!c&Y_LOhWGckyy;9k;_w< z=ga*>q;RQ}E?Ne}8E+c2Za|_KK=!>wtNV&p!y9>VP))SzEM1cWNoUIV2F-O8Z}G?B zK~GJ{XrDXCix$tusp#dp9V4O2+yRl$k_861gyQf_*Z-n*)_z|_adR*TOE#-r7RpWz z%1#cIT^`EX?*)VxGi|9sSsGhiV8X_rd}6rFA(D*&!xgZ)#xNhDyAX!JU&P^sj{rcU zR8T=OnjkaYfMnpOe~x4rz8X;r^r{4o+=>P~=<5)Y(Mk}`6l%C>xJC;w?F-kLupU4) z150YM-wN7MovNUH<p6anhfsH7K%M>0j=GBr)G>)Blk!P3eK5=A_SpM|yJqiOcq0L$ z-q1I>v%q;*9(9lCGXJ*2UFL6|h21rDng6Qs0De-J`G*SKD`R)*X*PD(z2z};)5<5t z?)n+Jsyv8y?>UZ{8%`1_Ar|4`*j+om{h7e-+G(kR-K9~Pi`_LxnLTA0u__LfqimP? za+D9x?wb2D|Aw;$?5=k<ldi`@*o%&Nqp+&aq^l&YDEB4-+mB!YHAG$grZ}^5+(6iJ zETJQU1t>;@1?Pp~gg+yN5<uOGggCa^GWs1B=7fB+nXa=!Q}joaQMbc+o{Oq`UR^Is z^$Jd{_$e*i@blC3d^PvcZ?48wsdAWBs;V<r@e;?WqCWb|5=00frPA9bYV2jWK#`iE zTr$WN3;bhq29A6Uu9;re*1{*f()JePUqyX<Ji#%low+!@=|b4XBsXNO#d-8AkS-ng zp>W&eKmjL*9{kmHaPx?NANww2UqrmEJSlK64kDUzXD5N^l8ZA`(k`N^WGw)+<dK0R zX+!}Uu3E1#FxMEca04RqS38prUwyLb=BEXZ7XB39hXGdTT>$Rl0PAH^Kl9_1kPdX+ zc<};*(WN;s2PZQ{IZa0l!v?bW323%a!xJroCpjmGm+}V)kqD)DBkffCh9uR(xBL77 zO~w3aYmmeIkr#nt{+N_@{LuMhe9oA8GOn?<DYAer*{likujLblb3<81eZsVdCX6Of z_gC@%2hX?TlLo?LsT}_CA-`MWWO_cxmGk?HQ9GjJ<Nb#_K5jq!@sXtO02M#6Tgv7= zpQ}hq?CH?sBT4s`$H#3)j}J*p4&?<W=_llYX7*dkyN~GjxZ}&83&+O}ONHZOtHx-q z<7198+siUKK6aF&tmDI;jzC&6*YT00AE_K4Kk^kalK#`g(|v`Eq+dI_LLToPKa&1) zMV>h09{-G5AtUKWpXdttfX<ND&mm9z;4EiIT$Lxj@7SlXLa50l?k7Y+o=Acat&%6& zkKmF#F_~SSxb3?SRL&54I`j+~N%xg2<o!p_5S=05{SbNLyXTfC-f~1|$gY2WAe<q) zEfvm?J2Xafogs6S*;$s+8M3<^Wt}1RbOdJz=0av3DgMH+#Qo!y6>@}HDIe4tnM*5W zwlyMAZYgvB_)}RUPgN`B2-nEhpY$5}8PZDGT3I7Av{HVeYouLSBhpGa(lrt^RA!O6 zf8vR+k?n_DBOjXO92r_84?Pu1>nX31Pw%UqBYK+c9QkIsMn3ce&yk;@HS+BWr8Q%X zyywWyk-PR4=ZK|>b3~&u=Q%QanVn@BX>RQ<N7>d$Im(A;WzD@t{<N}2cFR3@Q?UqF z9wzo#;B4h)=9{1)enUqwOEcI(T*N2)Vu!=g;xjCDqS%w;^LBP*vX9Vvu>wg=iZR0Z zR+PuBXef`xMx}gQmWNY(Ncp5JPf&qSz9Ak>Vrq%Y-GE=5H{gl$73sd?rmlkLL*913 zJ{nI=*C#r>=}PZCnz~A?E_i3FY8gKkY8lqYs#?m~*<Np-6)xA{FvfK+{k<twmh}l| zY+YDBLI36Qm+mToA7GhNn4x3_RK#F#Tkxy!5KC3UU3Y4_Inm)E>#8mIhQRuKU>)=X zOLAi=3Io=1J-v3&vNiccT2?32^2pRQJ~-9#i2N1MvV1Qa0H|XDHtnTvUy51j^z_}4 zB8EpYKZw9i@`0)B+N?7*J$B8;soF-O{*oIX?C)8l=)v$Wmog{H+)YIVrlHx9tJdYo zm+o7TyrS3?%&@u#7!IvkJvix@wSM^qF2HN4B=%ObX2kHR%-B{&S;Wo;v02r7(^GF$ z+l~?XsQD7wntG$^D85h=JU-B%gxPI>OR~sX5#<xTVIlbB=mZIBDwf+kMVdUS^;ELJ zj$7>`g1V>%hHZqIq4>9q4F=j|J%JQ6U7?1owe+i{J@#a>GZqs%-{w}sT7G29ODCh4 zBExhQ+<LvFaHi@7u!KSH)B+f3xYd?&1(&Pa;$nsEip{cDBcI>C@h*!|TFW<ClR2WW zJFc}5q;zUoZM)K&=pneSVZ^^RBniK~CC;~9dl%i;LGI<zl&$4E1`t@K3z_`|i_~7= z8Wn4iz%!-VZ8#{oUiE^#O;#6RQxT3uXF-jds`GizpdFs>j~y8Ysc15xi>y78h5?h{ z!7lcvOsrej&1Ug!aV=Hi-q^+wETmt0m7H{F11iwt9mNs0`pck5a!3V;W98bytA#O) zhZG8lA05KAA%tXJkwM5UeYldJ_cmI3UpjI%9B;-pd>y#J7%S?t#C8fX7@b_i4`5yo zj?N~@&l%K<08mc9HP|DvDni3~Rc%^D*a%-2ATtQelPq<*h(O2%)bOl^la*?#n3(CV zlS=Dv0qdsb?z<$cY9O$Ah#}FJUZs}E#>NBkSY`pCgY_nW$v&B^^evIGz2TRII!wSZ z%l=B~>3A0brt$lu?KHjac;8HcO1$zux%uyP*g?jT*0LEmsa}uCUas$+FLS+DJa^4c z(8;O6_yGMv|LM_2XH{}@%rBNsTlkfCg*biZb8V$0E25P-KEY{5D+Mg-JHLIK&YU{- z-VC%1n|+f6=)LAQ_>?o5?M&r_HOL>V>a9rn4O!V!{r0%1pIqsO&z4ow8oB9C@{i%F z8rd|G5w>y4;Vote8Pjn;g!Tm+4TUcNLmOj^!IV^YH^zN>w^_Zza*Orl0H}Lvo7Ic# zhPRVoz?!_??d*yBQ`*^wNcUjJwp#==%UJd%oN|1~tw1RpvDh!xil$ar;F{-#1rm&* z%~dZ;pH-GAsrgHhkk6;3&1t%^-MtrOo!b=uS|O$B%}S&;9R;*f{1%NvFiP{MfPGo{ z?e_(!D3Sum#!T;MOi{3lcfLW@WR6!EFB!5~6%5#H!{v@XkXdQdN0wyZ`4kn1nl0%M z30s|?qI&RqWP8I&Q55E-k5g||^rDPDEQ?mIigZ>RB37+m7DcO=yTv>|aWK!ROb!~% zj!y~sL{R<dKM<KFP9Iaay(R1Qi%*|e%gatPvx1SuXoKY?36_R|&=)2$G=DK#2Ka+< zf}#xaOn9xLQ%g;TXntiF0yzw_iqdb`ib>WcYh_@M3Pp{iKb(u9bj5c_owb`_ub}qR z&#uxgUE|1CUg$1wNB%r+-Hsuig%vW2pwiaX=PB!Xs7Ua$uGkagNuKBP+2tFuf4zyI z*_tWK`C<3O_l!EX6m)u1+J^Gm)rk2kF}vnUBfFkswFBHBI~6madtc?gT{N$)0EsY- z^j$dh*X4|}*9@w^E+?J2#aV~nYF4Zxt3<#{<(EF>4~Y0U{ZV)E!K5uv2DPdnId2tq zrPjquwDK)Twq}r!z;9S_mK6`)mlVB+jxM{8!x1Wznu(^AC*0wPg(^33CmmZ-Rwk7u zoCsOJO3I|6HHgiPy)C`GTf-;nL<9Ou*k%Cva!I5${ESi9(bXONOKC0B?`5@hqRp@= zS_L`F-XQu`Ccjxb>?#oyQPwOUAUp6(uD!)v5mo1<%}2%>@)ih~H3bHA3<*{ZXtEZO zD4&b@C%+>$iwqykCatglvUb-veWS=^8wrEWKvx#FYL?p<b($IRc+kDrdDe;0Tj{Zh zj@*?HZzK#S8vv{J{zUts_H7+bTtXDELR1BP!*$z~GNUP=1B^QbTOyGXY#YS#{_UTN z@=p3$_I~M=S&sB!wZsm8k!CwJ={P~rh((eZ28k}A7q8a1ZAkx@ETI<?RYz6Ddc<N( z=GH?sT78DlK^@E=FTN~M99XJc$efztg+XYh*Lx1>^<M9F_sDup07K;0)@vds|0H|O zY##L54&a4$kPi8tzyTWny-qQJ)cgHOac&!7!I&TL-V-ZbW6qX!*fH;^_dP%QezLu1 z5f6F~=x!A@bIdbV5>A}Zo76JiqhFT!E`HT<j}VWJBuR!}2O~>BRGBt{INzlR)11B9 zoLE=awBn{5(}h*#cQI&Tskdmlu_co>8pGzMZ78Uk*!9~(QfQs=n$Rs;QyD)+pm&m2 zYoty}UQKc}3nRUKsW#?>MYAGW%?ct;760Q=ODn1P@M4@}H5g3KYH#DQdPF2^?dy;k z1og|!N7dc;>?nOy!A1y;yfydgS(7WG7vn&Vi*Ay>IfwpkamS?!3y$qo{F$m~l^(Wc zRKZGB6*cH|iZuo;|AmTKY`xgso>=#amO-70g^+yO4;&LZhyPk7gG(;~=7_l-m=*FT z*3W8u#Tn+z%LDEsEU?s2HI!pdN*@rRqA7kcKU@f)w{&}XwVi+!Obz-hzgVHq=3A># z>6pHSj+NgisfHO6gGgK(fn0RsyT9oGhtDD!$i7y3QR+_1h-Yn(_TnP*TL>QGOHYnY z0@j+P{yiz&qVP`CDDcaTsF51hsmXw(d@{Jx5&-E(Ul{IFkhGIN(~Zt^CkjRbYh<Eg z4%++|$(O)&198lXJj@^Kto$<+lho#qpK;a=n|DG(F)Tttf&W8VaFnGw4-=>tLUT|x ztH>9I?NT8ynlHjFt)$@=)mszyX{YE&tUoP14|SH<;^461rKX{R8L!WEroR5t{0&-U zr!VH{i%;)2@v5h(O6w{_4)<~ch1kMDj)ez;qQVQCG*J4S(b2%y2l=^Brs7|+yZD)7 zOqc7!otevz-JLh_E27Bm;d1y<%kLD20alLw^zith-#cU9tJUXPzS;cXvD;c^r=|L~ zqu6!%PVVWOH6^&htMH9Xiu6%YG&}V|uhak5CqX@;t32_^UsvAg1Uk;KGM3c1y!k+} z_95Z;zB4wbfL60HFzT1(C)!RZXs)+7Y<7{-y?tXMKqx1&eW!W~0D1i~5>yb%St;IZ z87fP;Rg||@9c;Co?mpfJsU(&Zc+EU-G~{^$0Pi;dmx*a&7zAMGYte=L-A$`D_i?UA z_)9SfxF~=?D9Kr&U&nH~#%2X%pt#KZp{h`cv8fomK;h9(_%6`Riy*@ukb1rq743&! z`yJn6yXxone;bCy7ta;2)-U$fbkFk~we+Q<oeI<me4BJ5+9<p_7$`|S^dD79PpNhV zc`CX-qvaA^8EYtnIdck@vrmT_Q&{~9J+dQkHF@dCqE&DOP2HUwSs<~U&l38znmbFr z`2hVoo`}5kYwyeGS5$O+wfeZ#m?)bRt2%kTufF21G5-e-9z~hC0vBUNq=9W-fx5$3 zlEm6l7>S2Jf*V>>-~>QUO6W%837;H^7H8J0L&WfVo_BUpPFOqMK#(Wqq(`5h%LPOi zOVGiRe#xb$;o5Y`RD_8?W2F4b%G9xMii#|7vP2=Gy;165>dfAtH^yyyxFtq3tIK3V zu1l|A!x+DGec3GQ!<y91Lr!Z?3yrp|QPfuP@wphv75<s35bGstalT9oBUf3i3Z@s! zMW`Y+j$b+<-Ch(#I?VFyth{|W`&&E}zj84|a}$4>mjVQxym-A7UVG|0RW@LxUD_Yj ze$~|<OxY<;|GQ|T;%Wh3rVVs6iOh{R0-T9Lmv_&UjDns`)Tv}V>rS*)nKsvd7ZF|V z+H7nidbQ(I?JM~Th}w#!9!rp2-FixV!o42glXe^V&t0BB=e1e)QXr=N4FI59hE3r` zj%4GfREKkv>B7)!$B6QWx69kG<Seyn-5R;)2}Xo7uv``~fqa69;$rGd=$w=9-Cy8` zb2H;-3|Rt-se*jtM~nG~E8zUb@(G^|`K@}|b#jDnFxt+S=Z}22@R=;b_)VI+5}|&n z5wj9FP-gziFjzr|lqK#9!6>WsI9%1Vfvz*(Qlci&i5?V{VzM1S+JbPgB!cb@wr0e4 z(?y)=8=W(%Nu#C0Nu`XDJ2jTyX<<vVHGb)0>m}7uLZLB<LwJQ|q*R(~m-f-eerX@y z6><&2)iFA2R34t>Y=dh)3Q3%Sy$NU_{bLIBGUPk#yo{jjuxi#~GfV0NOE_;|A!uc{ zq^C4IA+usjVg^Int*3T<TXY3`pn3yS6d<^3J7nusGct$TIisjeJ0b`=NI@F&&dgGP z?ooj7eS-qVjF_`P?a%_|$9&ELIPjg>LK;9~5tkiDXvP45{eX9R!bq{Usw2h5qoty? ze($zFFLytl-dlazqi>ph!h3!|PcE;g-0fvf)@pw9(9`upPmd0@u&4OO+yVER7j%o| zkue=@9s#(jytBx7bZ#G=+rFru=-l4)dGxBo$zIPl-Cup$qHpEg-lnH=ZtpM4X(H|( zdfGYkbVvCFjgxOFT6ny<{YX*lhGwk^<1D$7Oa4Hk0V>QQy`oTe#Y9~@GnI3|aoAn1 zYs6&`>9IV<*GsR}M0}MvPQG!nCJy3b-5YfQsb9YS`L#CtYwtIChEnk7(QNcLaaXT( zhwk5RBYUApzV}~uM0q#gfh!+#|E67+t=8J2NxZI*KhAIcub&Ed<y(GZ`4sB!H!3Z* z)MCG-H=)hCwJ2ewIE;O<IAM?y2{96F;npS4TrDG@^_HuVWba7jP4>?5)6tWB_hFJV zz=-?;v7u{Mk3pBNW*iv-2@pvl$h|S-ylRX(NH~F4K*F)=jX@(=E8ZCR#XY)CcF4IV zzimG-0TaXn^$f&Yw<~CPGKhy<)F8vDb;LI+h!-h&DB=yxVW^4v3gX)p#LEG<23x~! z*p*mMwndH&;+h6*aGHd1DY1d$E@7ippx&&ZF7Ja4O-2C->UEh7laL1nVPi2h4w+f( z_EI~*f^+7a`$&jGz5{ZgzBC$8B|xuhy8b{mLVUV_O=q<!^l<lfp1qV=QXMY3nZyw4 zl!ByZ;Xty>$-My#??O2i>5jv&+Egc5H!C-)Z;LD%5#dLwO#pFal%q~NbwxVEpjT0& zPVBY@sU(ZJ^n?GA_bZ|$@Jw{g2Ng{XWceY>lS|DY7d%hI#ruAfQY?#{8JodrfU%u5 z&RWbbAJk)N63YQ3`}R=Qr-pFr&pIiZRts8T;f44J*uc?YuwYQ1L;K8P-RDK5iWMVT z)V}q>un6k>b(dP-b(MuWk2AXgOeSmRwb^>qbx~O)>U|e>3!jV+^j}yc2~DsHg}H^c z{L<h5ZSEAp1-H+g=P1TXTr6S8WE%v?J25$0LK&%^;vN(vrUkji9@)OJ`UB;Oi%|J3 zrd4&&CZR=mu5rN<BkAGWc1HQL^GCPg+*!BD{QCEj`hA?RvauonD5Kicb!jak-oX2m zJPlgseLF!C@y0FgxMI1(1S7Jz6&5>8DMcV(VkuoKi1e<i?xdt^(<v}Hw*&A4a=hBT zWwqOHR|C|eGW&}%8Xw&p$ll|JyQ$QVnB0)cj_NwsEAff%Z91P=F@$2R8Ik=_Kgn?= z$5ZhSatmF8dKANhp<)dj2wti=)jWqV7F>vnm&?OT^R-&MY?~>5nMX5<NwgyR@cUki zfInHAv*)Bg_zl+rGmG?oLpLJ2Af6<fN;5p_XEkrdz!tag{io6;CifB-`f5soN_q@t zy{m+Y)(|jTKs^H;v9-rgr3^N?m#gq3k5YEkE-^uMwo~*O!xNPg{0c8aDB-b!5Xvp3 zTmX3{sH}kkRNCq>(}ZL0o{_B}!wS+68<`;QTHd!#Ej4Bf6C{h$YtIm*%O`Y34Is9` z)u<Y~Ew(J|R`g3_0$dcB3odaB0}82e;g1V0F&MNj(qHvos-FDNI}Mi&jTFQNW58&$ z``7?UFDw>14DP>uj`rAptGaabBjbEO8$Vd<v!5oWwUDFzkiO+YM>~#nbq1CLVEzMD z61E+y=?k;!<~(+Mvey3z*dLp2&dtwNqvCi!opf`4IE0MpC$F1x^K;d;qq;e4j)C~% zQf?_^Mb8Y~oFwSvyt|nk54YBDI?{OK<XFd!8S6)^0NcsXstZbb5NOMiweZOX>uyD~ zko!+f`>A<8SrLh$i?)sK5{MjQ?ZRszNJUDCIAsfsSUs>D&$cquu1%YBG`LrR!mG)# zY?8k~{M_Tj7!xBG;_HOym{a2ATI|w&<fjL%%#Yjts|a%M>2s8T>eFo^24cMTJa=8c zyO`EXg&5^jo*sad$}{#71N>25nuey%N#ttiSel+O^g@4(J?TXDNwf&@5|EtUPZtaP zd4RuWeIFML^5f3e)%^wfy3oEJ!|UaoHT>xxYnxpEIQsyPb47IS#Lo%i=ZZzSB6|76 zv-I@xiN$*QwFyGV>F4M5bl$|X^>p6EbM*9ziA+zgm@phqPD}{ZD<}H;Sv_&Q`7oOJ z1#nS^I$hsiN@}@M6@13aPl<J0LbHH3@bwGXb8%Xresj8=9G%S%T<$aYfe(8sKag2# zv-#OEA_t=E_-sM8aItjH#<F?-s-KN#DX&&$$7YM{RUT&(*>Svr8jxOGKqhmm6Bd{P z_u*uqxcH%0GFm)j^bzbOr!PJ^dIja5ojoUejz6Bq<C5&>v!D0JU*qvv+2U-mKfavD zpM$97HmI`a@(5)NJ?FA;Uah0!e~GwgX+Q|Toe<YgiOvC0x(Q{bMbmOY<L00fiiwfQ zue3^}D4@Zwi>9U!r|p_7nL>;t4H+b}!YgeK>xgXBoyRc#unLM}%M{+^EJE{y!Q=HV zp<t##*^*z1m2l#lK||)mLo{T><*e51bvjQ`6V|H1Jw&L0*$?%kP>=kI<OFujbwtCc zN{MvX7y3qWuP0e?b9Au{TB~X>RX~Qj7u0{~o&W|eZp}saxU$dIJ?<8+0937YX7{X` zQU!?Vr0&h^)*_d!8p>Is=)ug;eF}Oo=zOush^+U>W^;9W1bxtKWESP8Dx^P&{x4(w z+s1gJp&9ADDQfa-v8xzT(`upnQh=emEOxDIbY#$><CX1%71cdkwNja3nw!87Et-a= z2ssVcVFIaQ_zkASM_V+sXXrV}H=B0aea$3cT@}ZO|7zcgP@DMA>vJ~l{6DSFyJs#Q z>qbre#|5e0@ayPssZchS%WqtxQ1CcP9UIR}=FL-)R(qt=o%jE<_cq{mRpq_!{8(%4 zwLdfS1%U*ddl~DFCKB6}#DJK&1ql*sw5V8po~G4%FE`}&F^HVpUJh&|VpO!Trfsxn z_d!}>MU9F!KBaX-QR4w6JyJzP*$B2sQ385ew6xsc|9!`tYp$K0K&V=uRwH|kHRhOO zyyG2T@AnA*6OYAq*og#T1cXSom62WkJWD}sX74<SEKY&mGEe0V^<K70^=5ZICp0vp z)>%L~+7hsg>~Jz(R6qXy471lM5z1yee#yn1^jh}dbi8@a;*myQU^O}6I<e3YYoP3C z>g_Q{=~vD+uoo0L1x(1I&2%PeI7Vw<mZM|Wn${ZcQ{&=u&BVkGVnXU6ZHRzGhQb1Y zr?p7i`%bqMP}VB9!u5=@wX(xvpc9`8F;ij4CQzKT(?+}9Znp3MI%I4Up|3^$f?k9W zv@N^#C60gqAX_Cmea?;S?_W{E*@d{9x|X992C$<EUD|WNX_eL4!ct9WI*W;vDaYAW zJZcHH3%)v7+1PRl6$csEYoThQViNf*fz_?;-nk>gv{;5|*<ro#@_1yd2^#EwaoTPt z<&XNar5}Cb%7`iWB7`;O9W~K7C5E0tND$MJ;;#F-UM8CT)qVELMtSB}ciAiRqMG?? zpS?0I<;+*p<t>~ExNMjZ4YbVw=w>S<7Py#@piOw2S?0@DCLZig8cIt}$99vwf4<58 zvL7#&RE`{%drY87j?B-iXo+}|*#VS9K~>U^{VPA`Kv=}6<BNSC{ecB+TpNv87TWio z++oW_AKH^kpeW7M8M)H95&LOIuB-zPpU%id5QxzC|0+=9UZPEKP~o3a;LRn7Euxd6 zn-08DQ6-q_bYMkv^MN<27xZIU+`_^iT<N$}58InhiY*WYmb_9kf{3-zfMg!_`oAm! zm|1Z#Q0zbOgP^18{UsSRa*BU!#SJaOod}DYP>>ce?I`^l_y~E8d>b&L;xBvQ*Pc;M zS=o}Ce_pWY=X|$vl<F#;RzzRK_pEpdE)U$rRQ%5m{|!fp>^mD;;59HNpD7D<ES4a& zWTn+f%gqfNdpW$BInC1G`2gQ=SkDJ-xe>%KW<%G}+Mu__o>6P<tIs~9H9O~;vMGbC zpYp3j&4B)!uYfW^Qn!i+BFdH0C#YB`WV*Lxo$3qr^=ER2m4*itmmU7}xn6>P)plR= z9=H_;po_hQZSsZ*SdfUmSv+cH4<wdq^#nr5KEvB#n{77wU?sKcj@8g;==Z*Qqe4ok zTimm{iNi*>7u}Z0r&%MjEP=0tU>QqRjh0`QceCo)U~$*cK@Q}M*U<%;rkADLR>SNC zHv_GGmuyQ0>TV6-%U^%(89o)+Jf&vxX(9cE+x^mC8)FK?19jR0wJqus9HTs_#^FUr z@^gR&4{i=D2yIuu!3oinJtK>adsI^`w#r?vSW!INiAd(wdKgYP7QTuwG3umm%(?zp zKTiFBn75~H;fGjt<xo~ul|w2mb0iEw4qMRdw##BD6|^v=;AC&bK?TLdSIyqeexbuC zf4vtYBbn+-Fd+_FsRg9uw3RRhnzKo99b=6hlPcRo((KEUVlv)5J_%2mi%vJcD`PRk zPezh{l%FwY%FplvvCm*d^%?V}{uvm>G?fG4<m3%JXmtw@xWM!BWSpuu@sOD;Njb4m zY$Fe7eY(gBQ;j@u2q_NSEfcIo))9aan{Nf_y%*%?O0shpdA-Q~`qiWE56Nx7T?{=r z>`9Tc-kLfR9&hd9kqKKOWGWzJr6Xh?Kj~nJ)}Jlz_XgZQ<uTBbtneIu@X&zVKg)p3 zHU^@V%r_4~#}``392ay*VU;e866W>He`313x=s`;#Wlm)@H!|QOYJ1Y>*TODLbT2l zZzK7WU!Y21aw#n$i;_vC3{0TL2!Sww@{%Qyl4Yb=u{(9cupQ0KqeCvnnkSj`A`2jj zP2Y;>s$t1-ur_RuW~qJKP)JKvf^D598x~kX2e+xqpb-rpvIeEN8enaNidmb<0xzY| z39L^MVlcs26HB9oU8Ah&0BoN46!t=nJln!yau0BiwdpFQGlwXqw0$(j<E~q7Wj!pV zGPW6}>vEnP4fl~<M)5$=GL(zL8_B*Nd)JquHp7dy0m+r+7+=QuTtMz%6ED+CxN~~K zi(JUc8yGeUUD|uuauW-6Af$+$LUI-WF7}&+obxvbu4I>KJz|g^MXO%iX~IBGVx&!` zRxiF`IcJzlc}_zZEpM<-)Er;vhyq}ovd*|bgN38ena~Le1tIkj+GjX0AB8ru9csuP z#vq;j-j6>Ep)pojnd38qzBhaLdE5*MhH35dO}f)(dSe}FLSa`ItTrlLaH>s72%q?B zK)C6GnG71t4R!oeh^@xMBj_$Izo(wMcJiqWN^y`OEyjvF{+5hs>7%!6yfnt;t3B1L z$!ho!;GHRru$h-b?<IqGwc^AMC6*Bqb>Z&G|I-|UZQ+00-pC=fka`zNm=U@3!$cWF z!y|LDx%1{PSm@L_E(+NdXAdnj1nS4mvxXMf4}_W7yU!Y$Z$B88?6WT(nrA-{3uJFU zduVR;&Hl57vg(^Jo;4%}Q@}K`zkc!1NcGLz&K?@JAJ5{=U%gl{O(=#vOSa=|MeooT zql}`?5xenGU59R-Fe50QnapN*PBdPM(FeyncBj0(U~RP4e!&Gz>z9s2oWo_7>aU+y zqy%{|^Kkf)HAT!X@LsRsdF3}#Rs$YV78Rmigj<=ZcHTwUM$gtr1w*%0x}!dtpG%y5 z=sB9{I>V{PH??rYp%-bGjzD`H8wo`z2kCBtH=a;v*sC~F`Pc|W)rUkPK>$+LXS=$z zEYyZ_fOj02d(SXV+t6Emd+nK8A5r%C4d$&SGX=;zjex{pUDcKJAKa)bXbi8&B}gOp zE)LwtwYML8jx^+cQnQJP-b<(}+x^S5l$o?a+;61CCiez=`$R4EKh>5PQcxs8)(=nC zhQyETlPlFIlm#T;=UbKI50>doR$P;_q~<}s$Qgi)2LLbOwXG&~%h;+MojuMf=kW`v zHh*dAyFJ|1bRr_0A)%ATT~SU+q|@fgKjcmW$|c#K+VU1He2+Y8X63nPW2T#V-sOOH z|1}(t`O^h{s{+h9p!;z76U988uqCkn!devf_i{i8&`J(ysUsja4v1nU2b75NhQL41 z&IZxx#h<9*R*m(l8vf=oHF&=@yey^R0evMDs^NY@egwa=szOIjcHh~M=Q>&6zyp)O z^Ed<Sqwq<M5d#Ay6DC{+ER_5ZZF1HIeh3VRpPNoKU@DCEVk&TdI<X&w=TW2gi}z8V zjo+boxAW?c5a}$NdSOG1DUfa@4yaK#U(RV55EGozALSUX_!r}X<VG%e>yRwe9T)t9 z-VV)st^8o%aWLl)bUPv0NIDx;VfwqqMor6o%-JXb*=3{3@lwU`d!QFkjepVva^7hr z`WtOCso1NkQ8qgB5Z7#nnK2ObcCw*$^qE%D_awZ-rOLJSqk*7Cwk6`h7^4K2b3`X$ zbR+nW%%U6lk97<;t;pdW!-r;cn4SKqIm7p={C?(rW{PwjqX%>*J+WK(BJ|_+!G=y! z--Am$B-IheyXF!f_viwD=6z=q==PnXLw)BoU{k0a#yVP<!a8C(^I$Th1!GNXorw3x zUpqL1OHJ(z<3T%u-qVVkmx}04*5%OA>)DjiJT;0IJVxs*d`fi&ugA8zo{QY)NK|0n z9O(-*o`^bUk9b<R8qPywmw4K5u38a!#zC(?D7=*7Py6sMzJBr<&~5Qa@gnV8JUUoy znlAkD6!EwAvg0N9r3rg-$cUVqtqoN*FtaLlUwlbbmDD*is%lyMHeu94!rc3sGw^+x z0gI656|@empwA<@ITDVD6tI9c-Umi|mmMJC9C>1_o-y2ZfhS@**hYQbQU>SV1qR)) z2rjk+TH#p^ivJFSl-+$YgVX)ONT;LvLL|^EV|zDvkDpZQMspjb5Xl@@TX%V36p88b z0w2FZiZSt=@^T_r4!Up7&OFp#G`5uDZ}#>LV)?ky-g5X$j<}y>aMv#u#lL4!6brcI z<QJ<#>*_G;=;wG<eBh8(@qw@^J}zhISdK)x<);#==}1CIrL{z=!Qs>>h7|8Xn>c)i zHuO;)wp@H<LE^b0NmrnoFee}6AQPhS4bhsFt0ZzAxjFVjkapxoJ_wb_CfL|_dSw5b zdcoCy+!+c#4i>M=%XAd|pPhcwe-3?kbO7R<MopA61$!um<bi^Naj})3CRo5j#p@S$ z`m;a4U0lBF>vS$^LzLN&3Bj~G+ffUII!N*Alqe>s7gZ~qsTYm2Prn`-^(GmK2yXrC z=cm{{Ft7vzmK6Hki1{!nyhf<dq1BT4h4+}DXAh2Aj}ecVeCkPeez5Gk#9wrt-CmkJ zcgCjggERU*sJ`R6D%R3uK1i(o0jK^FQ2W@s2-OXQ%aTm60@(SCEOM|RA6c=DNYNNq zP`sX*Fp#(Lpa29>_ya|H5#%$)m8qx9w^l?HEBdzL(~ax5AO$^CJ(x|LpfiW*62?F0 zn`LPj9!A9BtAgLzka?aPMA|T#1~?26A_I+{#w67cCE2@Ps>zDXR>u$%k{N3@+8Qpk zR*rwqWUwl$5uY(R80K;cs4vq-UG0*gw^^j-!EeF_mJ<=*2|InXc92+rk`6+o2y7vA zMA{5?ikl*{L!~w_Ar3_!*Z+x66h^UL5;}{!6`R&rR=qiU@hC0^qy2JHquyD{vJJtB zVr^s1S{+c$8(|R5tZ=|xg8GU-!Bt0ghR4e*s;~HL`BP5yeZ}h#Aqa1M#fR{TlT8YY zS%5f?;hLiH)5fFhfs<vtimUz0q0r2Xl}YlE@yFxKFGh4e@EgOjOE4jzz7~twKOXaH zBSR$N7{h|TpM3R6_vEA>;T!gprqIV-2r>@%Ar3jQej{n76-|C*_kFfxaRg*ojeSIz zLLlk9|1_or#VsGN`|O7;Y71^^nni+B3Mb@R%w=oHf}<qG4L^E>dB;rJwW;!1u~%_% zt6m*vuK*oC^U<c*WUyjaM@gE97?$cJf3ku8Vr`(+@u-Nhhp?c;P?S;$Rj_zHb1@k* z`LI5U?qxUr0qrr10YyLcNm&A_(NRPWEkfkmQ~*Ei4$Uy@G=1o@O`p#R3`Z!E02>29 zq^)wQqU{JR6yH-PiO{J2(+!N8MnJsoLJR&OYFTn`0V9}LA4Lwco;T5SBKGoNZlxKj zjtXo+bW|AiAC0OqFeNP`>Wk$(;AN2e>9JG~rUU+mu4zR1Me(JZvmY(-^`X_hFV@mf zU`NdX2?8kwof~F>DJ5BZo?Qk0O=J@<ZBH#4u9TYkHU#0@9jg&FF%@^b5$4&{JqU4b z8K<bL&<j)-cie+{xqu*jK<RBjZYGDRRAoxCq3*zwiI0PT*FJ~6K*VE*j@O4+kUh}$ zG0#9+Q^o+cdK5(TVyXmL+azH;5=y2GB@{xlShm8in?u0gX+X2SrP>|6>t(=S|5XP3 zO^|P+g)!N+qW##YNtN#bf0Gg^-oLcCUEO3P*au|sPKPWYlp&Wf66xU9WQf6pwl%V9 z=P8WVjNQq$gIU>Kb9dD@K{ORc2GnSCU!Cp~mSKre`l?SCn@O{9gh;*+FYgVBU4AV^ zu;oU5tVqA-g??M}s8)>W5m1^L{H{(#AwR)1Vjq*jzscUV)@DWMfQ$CD)>*--fnCMr z(zvA&=hu3P$kW680;JG*NMTe?EIn&GyY2ZJ;Dcs*dSfdYbxr5Ao66-Dmnq7wVu}J0 zlP2#h9Z#k5ON(7|6w8E=)+4e(=9J<oyRYr!bDkHE@>>eSNBJ#+WiL;Rw2J)}+k&u7 zJW&S}dwF91RqP>b1xeI*#SMs$F&!)R@<an!JUY19Zsog!=RAI2L;if8yLqChEFK-+ zJSvUQRWwOx{9-51V|i}pi9WM<koR0qUrh7l67J$IzFVx{JVmYSCjSJU2l#y=&x1`3 z3a$i%OCm`Wj-2G!=Fw3eNLU*ejCQoaM59k<hKLp!wPkErTIwpsJnv|8V2pCjyH0o1 zbE@EXb@)FmA1(GaEr3*-Gx`UmiDg*t5LUqot^@`Le*rA}pCFT{+=FT+Rg3;lVC)`t z`%byNBXAjMHR1&0U=G3)v%h;qeuDlSpY1p|KaM|=_ns)Z&xz8&u&17weexyzdE^zE zUngdd{~CY3{R*weB`UT=#S+`X>A6jy?5)H%vTZ_JeXdFt>$}B#H<&L{OULTZG5WJG zyJsVR9(qN-KtJbaZ<B!!P~Ty}cIIjR&gBnUUcH~AKO@<<UXu^2^<i4ihm;ypYEY>` zr3RE5P^w?4ex-z;5gP_?;n9(<_^y&y!zAoDSKR@G=~{u7s%fd3rV2np>u<FZs#SnE z+*HiDk!Z4U%k#m#tu*5}GR|f~Zqel0NtAMAvRUaz8}Un&{TUiJ9Z@YHAb|~lP}<~( z*`n=CA<$%~UOZ?ljBk~;a{5Mxm~{9R$b*QDmW>CEy^I?r2miy<$U`H<3?TZr|3sd_ zPlWLNq&1zLYH-*kAUaHOLgYjEbltffrtN^HsokDkWiXHJTI?02+mX4=+EFqMEWCtB zwx4(SPXM7MQ$Ogf-6nl9@yV?0Qg7)7|Fzsp-pns`1Ty+&*Ff-{9~kl=vW=UyFFoF~ z+3|57(#G$$MsaZ^$F0_-54R}Z#FHl{*SX45hD1=;e|Va<J@$T1iV;#^k)*-OH`<0z zm(OqFy2H*KQuJj;5yG57L;#&?fqv6X<1>o9*29eZ0ZO+*rzmS~CY`yYfM~{7*KzXb z!c`m99G4$$_2z#(Pb7fQz@4I&VvH6(PpN!?XUNpR&Ok>Wg%Qr?BcW?HNp!fa@zRg+ zZcg=1@#=YJ5fEcDvdgM>(&6xqn*{^_h}JKnvFX<?e$5Rf2`r*xoD0Qpb{;a_4b$2v zQ5}#HBqK1lfiY9HH@D(G3kH>o`VqO#DFQXQgy0n`j2S4N%^2RySw|);MZC2WFJ_5A zrBajy%#<d81;GnMl^VH94(z5F3=Zt<{Y|5WlxbzcjR@T14Lf5+MY-~E%zt9_`S@bk z$TEl3rYSl=ca}#H9LtNbQ31}{kEH%1t$vKgYz_mQADsb{J>;;6f@y%0&uXnIq@=3k zK<pRZ`VDW08mk`Cd2CvWn1Uo1bcXa;)Pe1>K7MTjn}Nbop<9H3ncGLO3c5xa)KYot z?4$pbm>VVmpo(l%B*aP!CblBVEvg7$D3VxycxY($e03=nqrfDgTVg}#=Ssnt&9y@W zvYxOS>Q)c*lw+P){SqlC%$*IJD%F;00~Y~IhiI-z6h~q|Z2%P-Mv+!7qDtL?tQ03* zY@h(NvHIZI`qgjXj}FWLaR82xi;E8daR4AId`mDPd{a>P_8F7{84EYo)`Mf`SxCG? z%QNaUgoFZvzu%XPIBQ?}(rLHcU+&+S3);?0_)pv3`Hgv|w$rdPTljh%1hF=<71i!6 zk2T<-vSkWuYW&Z#BzGS!_DP2HRK2xO25e<2$C6&)DTtRL!!z%<%Q6Mqo1QK89HE-q ziLGHAyKGmDS47{?jRkx(C39$gPm8bSd8b_4cz#_Td_3=nM@<Z&vO8yMV3Rk1{DYoJ z%+9u5LUh$^A8hdt9<&c6g|B_EXSNTv`3DgHw6Lf5gX?GeV0$=5<i{549*DBj_rx66 z1W2};_)EU}co%X?J-;2>BJ!^ASFeduW~KS-KOGGI+D|rE5s>RCrvp9d9uk<@8G8kB z4C=5tCxF1R<mMP68ST-xV(4j_{ALU>&GX(EVw!CSmXkRJo!MdQT+68BtdO;g3Qv~W z*Y(5@hNC;qF?#)mo-oK$Jbk}c=W0L*J_6itS2>cK>^h5B+kXx(cSzAKc9{q9nCv}$ zu2(f@Enrd)<}vr^Ik*;#@x;;ME<H!q(jA_|r_eo~+_nv+z@~9B-3LDK;dgGw!3|yP zTy>xueAsXA(I<eq9sc%ueFl-0n{#NlZ0U!0jjk9naa*+}McoMDNZGQt*x8}Us0B8b ztkcFG+)NoQh>{MM8z~Q?BJR5)MawDLPiL*kT3JXy(Ym&PlH;W@rf?PwDug8Eaun&O z((JNVav&KKs``u$waYP_xqvMOs5F~^xC9Ect${8Su>o;l?_JnH(*lEBX&n89iz*CG zvW<42J`&+Hx6+6Qyf0zIv7}Y%bT@ZkinPTsKxr8^^}Pu<LVH%UV;A0-U5Hi1=59*m z0?HuRP8}BDs)F-a2_-DO6|no`%Pk@!5iJYKKq4b$YziB&(ND^-$Yiw1#%%-U$n(MM z4x=Uy4LOR8<SYj>06F`Bp2rsyp!wRU4ngZb@&Y6A*%d|dL#ap0qJs~dF83l4vPCo& zJ^H}uC-YPC=YmPC6c8BTt|IU}<Mx>v`bAybb>$n_Q$@XRr;XxbENs&lMo|NveYY?v zj6iE#klnCMZG@R)p@UV7?HFsB-|KUmPQ`pji<770IyIbsML3}4=8@ec39u8y>`%)$ z+StFANyO<|DhT2>XSbXb7FKGJ-BVv>{7^J^=6B?;HO3>UJ8iOJhB)z4iAC5A3F>s< zPreWp%Zs}vzks}WJkpGy&<2NsI*LDd{PV$^CzdX|+x!E+u9AwM&SOo7iLIkgo{;=r z$C@>p+3b3t*9Lixch|0kqIWLlq~y8YH8u5KHP!UM@DL;2rXHHv)MefjtiLtoKzD26 z(>s`9pAtu^wl{g(ujPRp`dsJF`Lr8cy!e3H9`Lqd(4V+%`d4eaTN9t&S8scZw|$<s z{dy)zKrw?9Fvf&{Urx?jjSq*VUaLDpEVXepCMHY}Gd1_}YM0>ftO>^gZYs-Z)auf^ zb9>+A))yuz&xSTT9hdBIRy{_dYXlB+Dtn{|GPD$lZLw667Bdhnryh&V#b|mj?%$r0 zBNVxC%@hCIPo0Z=qntEll=m(+Z#gN~Y=yv={>i3Kz{hMDJp8x@9M&)>18s*&33F4Q z3Au(9Hjf3#v6cF<C2xi1Qd=tQ*J<`Z#*WvdC*XHUNhCs-jYY(w7~_o&1(4T-=VjeC zvhztocj~aQFbHg9Zw906s)*$=Z?sF+TnwpiR1A*>?M#xGLJbk4O-B|gF)_;0WsV}S z(l$Kg8Y?lfRL35nTbVVbsTM+&G1RasE{duP#Y9xPX$dP6M)8z*19dZj<d#Lj(=lMx z#F=g?YPY>v<8S2qMmZb@CBMb>u6T}jnMMS9cFQnuAtc8q!=y0UOyD#}V{JXO8bagA znS(jV!;~x#x7p-+{Y3tUpoqOahv9gR+>|gOA{(ZIL&-MTYRiIG6=&Ki(#^1$RM%qb z%=;AMj!e^e^r>M*#${Dgqjj7Y>__4`FMToUtwidr))+r0E_?I#Z5Fz(VC6D$EyDLh z(Xpp@QW#rmg6bBY%c9gNo|NhUgxSizwz*rA^h}{ojQ#Bg?$aiD-)~S#;U<_D|Aq=j zF%Dq=2q7nw&?=D%g(+c=Uy6|%(BWM21_k^BJE9dVMO{?No>5%)C0bZn?D_J2A$Yp1 zcx_C?^l4NG9BLX2-Mb{)D`rWwr1H(x#AUY70S-`|R1&kLf>;M96NAx+IF=$1W|us% zO1|B)by1E<_sLWwbo6jE5GT!6+8E$}eW?ARqNC!w3_9jnD<a9jlnj?JFh#}YsmS-q zM>3%z_ms(`_+FVzi|;6@)5ePbkYC0LVHa2?(L0t&1lMJ<VPE#KZ3$NY`rWw2G~#wU zLQQH-s&cCisbQJ)CM~yNFj=x${Gcq*@|smcpY=-$&Oc%qan(xbS6uuPrHyq<th6Q5 z;*m19(Jj!lo>&2|*^+(5KU>+T*xgezQOe0@aSCJim&v5~-(@m2<XM46@$E9VX^6Jm zmUYUKeb%%k+lGK9J$dhp_SA3Yq1sc^mQ1WCmUMJk($Qtfra@t<DZY#hdCc;%5=(j| zmh?(2>6KX0E3stDYtUr1`UDA!QuPU^mQ1W;mc(MV%xzf5EVpSxVaZnav%cahWmy?u zhsyf91qQmG4R)ItvL0Gx!v<Ue?*6!oyQp|y{l_2HerU^YvnW~HvX=b4@M`dH#6a1t zc9TIfYeXY^=I2+H3r?<UJ7YErp6`y03xc%etY96o1$^j*L66A=9&E;vLfL`fjTyn= zHR=1`kBfi7W`TEn{3q<gk9`9X=+uB;x)=++izI}?=bWIJvO&-`7H9v0K2Lj@)Oz&c z9Dd!eFK-zqMRQ0^MAV`+E~YR00vQsNnCz3C)lyI$m8e)JT(VAY#Lw|pqJXRW986X& zMEf?FG>~LBWi}O~p1g}|S3_PbW@87v5P=7G?P&9wZuxbU?g~qIYq*i>SrQnC7f*;x z5DxjX2v?Q&oX%!yF*A)t(dlZ{YU2#5VX;}d-V`oI4NHaDIxX3x2e#^`C8`;szpPbC z1!s5OC9aD%*@w>!cP@&Fp#>e{Fv8Atk_9m#E1)t<niO6lIM?OQ#=kDdN1E}op^7(a zpyKRD^N=2?EBap2_VRn<d=s@*ud_$L&tzIp2N*3><10bGnU-PcKwcd=dDHQ45nB_J zyuA<A7AIu(H^0px)I0Auz@ktm6Ca4EtPX`45!E2&NOZwBXtfiHcQa;rZwnf_N#n2n zxFY8QhgD7_J#%rm90A;BrL{pvWfYTr=o#jgq@O;#Jk293yZh;4)Qx6k%9q)lM)pN$ zTxWH#5~J77{Q&neS+aFkw~==`z-x85!)i18qqBi1)MC?HYf&zRVq{gGXOLGKg?{Sl zB!^a@i4D#ku#XVY%|V62q;n8k47Rk&(jbVzVu7yb!CPH>;BJfRr5wj`Q60bZE#snx zcI=#-nz;0GtxL@~Yd-ru0CW(uaEZA^AZ4vmuiVNKSQ)Wb{Dl@yO%0V~2hq10?@=Jc zhqCaQ4O{VhXY0ifpz;7zr~K7XW`uRTGApz08yuj6*%}xXm9=$Z6ik^blq?bGLLcpX z*DgHf$Fc<WNqejz6hIwUB9U!JRC#U|eL(m9@_g?r1=v{0NeFZsj7}BX$VXBY85GEl zfx*Q#K134R;H9J2U9pW#VQM~A(UL)^t*J28SSy4D-ZGj9s{o%vz-5mc<GhA#&oCIX z@+g-S=VE15QgqpuUajNMddbYFdTG-pY*EmZ^i`A3d7XEJK*HF=HJ#BBJoSG*iQq~g zNP$!WAlhB9g-x&F3fCAGkLo)ZY5{Awab&*<(P3v^q7wqFQ3BdLxe)SK*w)mPQo$-V zy0=y_2ox0@SQRQ(v|@f5tAqJitLWb%_6xm?HP;zHJA=Z3l_!P2e7F1U1fggrQQ@(u zsXF7_>Jp??9cUFq!=s9@FI7``3#3sj{{n@qU>kkxxz6D9$q`R0S{$6mZe(JrkS3<@ z*1Tk5ca?RAtEP37)nIDJX;SQcXL+|l3)`@%>X+UfsDA0)boDFvVfJ(m4+0fBSQgUA z*YK`Bbl|Hr7S3n(37Z;`lOvht2}3+Atc2}0Hl8u_o&DNIIm{N*SZY(nxx1KrR|&oK zrTpcMOErgIU$<qnNU&l@YIcFRX1G7iDk+gEOM8)Q^{l;#vIWE4&gz##sqvL5+~9|0 z2&e0%beu+=w3u&m-oT2+CnmQ4+n;^wp1J3M4Q&K(fDW=gqGM(dy9FjX?W*u4|GlFZ z-@W|f-#TXES|XnpH~j@+oKA`?3KE+pR#tGCe0^Uu(dp;!n-3|~EPhu7c78dUIL!NP zdOx-O`G<Rdk={?-^tF=!;lAh%Gr?#UtV#;(|JdX+4p-s=D>1q2Pv3b0MdVF0TTLuN zK)mF?Ut1YHTC*62<|*V!gff~T(I&AC>``S2mrw?Ld<j12$?wdB(NNVAs)!62{SHd( zSvt}ZrU>Bj<>+?~3nG^$^XZoJWdf;6VOII1cVGr>$lEv>sxH}NHV`0SjB4x#+q2{X z?B^^twFSsLi22egTNQl0Rf==Bwq&BK_PuCtA#Ydr335|XgJNb5>H=yZjrdzME3-VI zKz|QgkH~Wkl8lB8;r?yN?QK@mnVBpOoJOGUX{3P?z+%OOSH;^u^8*~$iak6mgh7`# z=|;#AZTrN$$x50r9m7-SO>P61w_b%Q-;?J}M2tiFh*M#op47*;jPnC-WJ{iiJrQ+2 z{SP;iv5B%y@NV;z8zPFDsWB&LF8P9^e+F}MeHG%Vc60qc6uO!{su)vP@h52Cj7^ww zbcDKY+Nj-UWnuJRxW9fCvo9&8O6EifXHKS#gIFm?`WJS&6K642205)aA|^=8h%rUZ zja*r^>(xjf>s-jA=Exdg5DjX>b@{7G-el3Cya`!GoK*)PbIOjwMe5Eb=S^OJc-{nP z`95JI4hN{Q5M)@zWu7LZRPb!PD|r}2YeR)ijbznz-eje!bJXO$ya~$1?BUf<$eU0n zhrIJ9btnRFQbEezHVbdkGs~%lX~k}5EWUV?1IC-|?eid0v)p}>tb3w=I_)B#CvRj6 zTF5r`1o1q)Z~%m89)NA3J$hu}Azx8Gs=FZtH~~LYUI9PKs~N3B&~3_B?2lqQvsOYc zm6vH#+O{wt#an9mp?*aKDXysHhx*xtqT;Q!{7}E*gcLh!`JsM=3@P4L%O`rs8sJg% zkmBvNd;*C)4|pW~EZ$Me5A{RlNlXu+V~n0U!Io{IGSnTWGjiMeUW~V>-y3W9oG=0n zXpca-BMzpR{HDT4i$;{eR`E`?rxORVkeU^jqoIj4OJn#wcw?-G>^m<;(D_8|ed^Hm zOoCKv4?-JP%g|}rm^N5w)?0Nz;D;5aE{lN8?EtW1*~d=ROq4KsW%tTlu(K>(DY=BP zHaae<TAT}^{3`m+`%=`!it7pb@%tq}aMVWw(B7W{KqiooOh1n~!rp&^_klFO9$6&# zrc61+T@ej;me`9(&h)i87f-_Zh@k;}AXMxu_^|b<c_iJJYjsiurDppoR&Igc)*H?u zN~T4h|5mXvc5>Cgj)6N^LG3vYaHXYnjgDx}A^xIee#>#bNl0&Y-Y_EiDoi68|Mx7K zUXyb$m~tWECZ-!JwI(yNR`17tMSSmhQZd1JF5|xFwrF>2^E<lex#cR_zKvA#K&=|n z%vRw2rB?&*Ms3W09SLt3?H^Y_C^Lg5`<kw%v-qKE8mj48tD64IYT7bN?*&(o{@E?J zW5mk<NEyW_(62?=x{h+%YWL{L_H>O*jzYJ2^vUa~0=#~=wgFTsUuCIfNGSpPw8?nR zE8iQpsphSJ_*iPvP{VaH+TytfV=W^xB?=^B*lN>rGr|(Xm|P7HMwt`yF!|u=g7zch z`4xHVBimP}n`%Q+tdY)DWi|TQ)hAW@Smvc)yXy+sFi!~nD+H(mh#7103KXzm+`9_c z3e9i9#GjeO<Zulv2p8H6D?S5VA|+g#l2-{=r_N~CzZw%8FSGybj&)#SMU)rjGHw&; zeH_6!DA+;x*;djDeiKbM`Gyu_md~UnH&Gvg>fbWyBPiU%FmsyjA-Zvmntc5e3A%r~ zCg;8z_k_oej+R7_E#xA_?j<C#1Qa0&g%Su!5h*U`4l-1>Ru-SSCJzV+WdU7D7+7RI zHR^IFM0g_1^-8{Xrsd?X5tqBt8gaQR?J(0OCE;V{UnR<sHoUICFyeAg3VXt(8eope z%D23{3JjX$TL~vFu>$($Yf7q;7;(jQiFsJaFULH1s2)+jIQvaiBSv+}g3mgcz1Jwo zJ*kB*@<Q4D>q<HjiLXh`s^cf&&^rtrnHgEk!UAUKVNq|h$+(5iOs&_2+}3@oxlTx4 z7f{3;GE#ECo=*1fm6E+qOlpFC^EET*$o*tK2|6-}h&b*;_W}@4PR2cBhI5?Gpd_c8 zl3o0-Dt6WMke^FB%s`ijM3*x9QNjEp6I$_Serf$)c4<w?>%;Rp?b<f}*R?i>OY8eN z*f>b_r@FMhzrOQKa$wpwH}oq(=UfV7!qywGl9=S<f(mWZLO>O+tXIX#&ffD364c`R zmlCp4As*EL3rlw%r|6ULkTk0>^7r@KVN5~3+fSp73kXqR3n8>qJUFnq_@QNKw`YIf zFS(?b^~SniP?jtJ318Tep|XNuf4{D#M^d6q7YUf6j4TxcUtLRYz;Lg7Ki2yWoCKb` zx#a?}JHYKMA-je-kMg^M45<SOIz?r{_>0p?QEvUq?l&f}=feORoA146K(bx#l*eJO zp9gk=Z)VeYs;djYTwOm8nCeM!G}q6oi!)j_l;rIE9!!Vr2eQ&AX_f=4-Fj2@1IqN| zWHROrhZC<5*!$o}af2a-UP67$cH_Lg)1ib{8*A!Tmj@DIVY2i?V#=8zkM^P9%Bo)5 zk_2qiKkU|tlxwwP$D4grdQDsVIrItQ2Ye3nXG!)C=R(eyG~&ALH@P$do(4k=?LmyM zeGe)=f%CFlAr;kCzK{?#<{VnCYCBOLGv=KpKDjtq=l|5oV{u8W)Q*dZB<O@Ci<n5z zP$XBf^XW+2!L!)K)KCwyD}Pya>`HtAh67_aU-NoL5)KR{{J>CmOHWhyTdh;8EUeSu zM7q!4^jY*SlM-`OcwYE*(0>JAP+;7ZaHORNv};kP<s*ESk&^+v4|wuEq;)6btVxox z2lX^b%j$Gm;Ci2eVYT6kRx;DO@(RK+oJr#4r}S~CtfafuhJ1pucc4C&Uk?^LJ_EWE zk75GAxvxUUIxW?XAPwmxis1=r8B4B;g+Y7`5d(=pa(aL{f<6HPq0G?4E;CetoN3Pk zGKL9Jl>pq7tYdkZ42n5OO?<j6-Q--E%{dVo)kzo*9OYF&8~5e_l&7$^ByLZB2wHsl z`!`0}Cl&U)=h$(G&CxK?Jh|nS`etSkdtrK5^HO?iD_Q6y-c-4o#4DwuFsP7$6${1g z5oP~CtV|Ao(y^~yI`-{|-La3oONX0$`#9A}4Ul3?q;(!ui`R3}{SePRJcoJe15D@S zre<US*8G;@$}OT$$}_fabRO%7^Fqp7-ML_nW9}}3ivWC^);2Q^|A4O7NJe%1?(rBY z#=I!&o>xeT^qmMn`3Txp!I1I8RAR1b*BR}hzbk=&48(PU+t&-c3uMqiIX38?u;3tp zpMuCq<qnaQBgF0#DGxflk0D;5&>}Rf)X`N8kIrZ2#4@nxETHwy!eSWGz8F-#&8mgP zo48J_NOJze4>nB*A*L`7ae>2I_TJ^i(CB<d-Ahx~!s5Se)~#eY|EWC1QL3Sfp<@#I z4}>p)Gbsj?$&}F`;LG~1P6?fD84M9~5wvM3XccFjV^^m;ll<6gM-e}<9a)q{{Jd(W z7yb6Z1T9&mJ|7<SIF8<Pw(f=1$A)pQKAj+nA+^g{&^`t$Ac>6=?Bw&sL|Lb`wst0( z16*_rb{B>^SSuJ9Hu8BAozE+^v2M}BBGpk9-1VkxArKxhSoKJRAoo_tZ|a-L>s%GA zdfs1I_4LRT4S!=CW>3WIe4uXC^D$P*T}Q|5Y|>OTYZmbR<QN`E-oWs%7q6p#D>bAw z?nd}CXU`ez&Gy-3=R4}M^BpET-xUKC$MsI0hCHwA-k1CS>Z}c@(I&l<UE5e2B}&$Y z{3VFZzx=|I!NG%{ebMG0gF&J`0k2}~eS^1XTkmPuIWS?2X-9hyAXuqBVc*SP>dN-C zOFrkQ<>f22B_5H_0ii4%?Y`v^p}m2Ox}+K@(oxFG9VavRoSz4I`Cbzf{EKXP%pgum zrzT6swC?zsX7|286f-sjdZ4tHgUFSWFO-dIAJVk~2a)$ozEGB|auDZ+yAKkd_}v?_ zUB7MH9cw$%eNyf5<dqzx?QyY3b1ol`6{(?$^J{V>eu}bm)z7ZqmiidziU-RIUzs<v z2hK3BD%s)Q%B;Khw_plHzA$EXElBqM=UcPDnw8X5t(_apMNT%nnvwd9r?zP*V2VK~ zDDsmm&gFhZB}gQ)Z^@z<fdO;fo|@{`B6gv`ppJrtWY6TAObAo#oc!Mih53_x_Vj8W zSBYJdZ|V>_h8r{s?M*TgB1>2M?4Ep+?kk6c;kQYA<ab3MSvps#rm~T}Wg~mli2h_Z zo-S}?DRaG-<d+r;M{V}|!p*7bsfMQ7)$JY<GC_AeQ=5n5yjGIMO(y85m&ET?7VB)k zx-5px7?cTliq0a7c9PeSR6Jpldo5;*C2t_PLqKU!1^jpV!iH}ph(ol_-tY&cU%pnc zgR-K<rB-bCZW#hW<|EGd^-^5i`l;is;Gf}}qr;G_I$@&XPUMVVl$qBJdAIiD(dYrK zh&hAVf!A@)Hj7;#)eZAC5RxMA`6D7QFE;RsT|d4F!{JG${Iw?&2WSte;)G(qG9JLO zNBzg{LSNmXR|LA&+`C?19W1~4Ob9+NWfiBE=I_jZCT$q$=j`{(@k9Y|S~loh&P?J) zbnt3($_St0z`>gZDzDzh7(wQc($yOxm$bKuC{l3{{L##!nIEaPA0Ab0SdbqPwp|Y& z4QvQ{*?ZZCW^+`#>fzw1#yntKx~}}mamvqY{3lqiTLEk9ws_7ZkkGSqUUqsyC8JYb zTQ8LHqxf-PpLnnx6bCE#^<p;M!iQ2$m!8zIjGW&nC}}dXcfgI-hHW>aw3Hmk0X1>M zBLPMBg#kuN!?v<JZ1&C%V903#pumQgeVTPr+)>v0q$Y(3z9UVFM~|vD(WFPJZRZb; zVp0f^Q>HaK(2TJx3d@CDS)9>On!SS{W!h13;CH3Zt&jhIgiIrpSy~XxXWLdi&suB@ z7)B@P)Fczyw$&Z@S*0m%D*!x^=<b7-K))cQ&PS_DfWJ7GVTbO$?_l{wJfRW{wi?RI z!h~p$=wUwoCJBZtJ*hN&w3LIyx!sCYof?I)ZOK6iPZimIHM4ikQx%9C6)6I<#oQfx z@b$T%NG{M(g<cE`MLLo4v%ya)h_y>_Ws2np2_GFc7(-Qa&ZcR>jAL)E4);{Y_lWws z-y7y&r9b|r3bsT&ECHi71VVrxZ_Qg>sAg0H@>30fXlj>^&e8=3ICR0*TIk6oTj?7E zDESnqBf(oi<h{@_GD~%i5$-YRcBYFAJ7cRpovoN|X|~OyKQN-j#l<$m4d-;abulw) z+g8J~Ce>Ms;a;G8qwF?<NP$Su$;e1k;_r^PSL7R#X8{i#nue8it}*hCT~&6BiIPWy zdz&$#6hX8hoBGes6V0VKhvn7@$fLn9u$3q~gxAAzYU?N*KJo=DoQOlwr;(BjMBi}; zj<!?e(_*BUiYq({gD(FWWxDCE9qFYIugKx6U#?$Np;mDIVtP}jsv=~?dZrLRFC=o} zqOHgi@#Nat8Nh5y@h$T9`N~ZdLL;&UWrD}#Mx=V7onY7>CKuWKjqMvvAlhc<;y|<N zV{yVbpHU$Ihwq(@r!PGpC46K^s!(B~WlsJ)I$vl=3I3%%2zJRrVn;%)|FD-xCLqMX ziU0{n;L0&af}xr!7~mObkQ3V>Xh2{xI~u@1a#4wa^umAv6{m{`M0^O~=1VlNz#Reh zk#ov3ivw&w-P9;(|IrRB=K&ZT`VI2va2V*A9@12;qmFTX?o%JCo}t$S<107e)8vR% zjZd0xUFPjqO`2%%lNH-Nskv=zw}{4>Z1+#indYwdPaTcH8lqyc-Duc)dG1wtA|<2F zU$<6+e3EFwIc=q&ED=75MCjqUCC&IrJJU=V!wt$<zYwy{a6_N_d9Q>s++)U?!f@aA zLiX98k{8WiR}8oDOPo5TNRxgW2~Ji;hqF@}s!Xx?AL=}F+Y4tf+>-MB)D??8E@B)h z5aR4VnsP<~P8!4gp+NJ?6S~ck!E#>bxa_|v-3Gxu>qq-s??3Hg?cs>ci9|m;Tw9SB z)OK4`y(#S>;dnW~X7&xd&l0u^d7<gNY8QJx;)|vw!!3?VA{2<43DyQBz_PB7T_4QR zK?IaVf`W?7MU76$MNJKIutAa(arW^!<p=I0)uzl_2c<&Tpk~H6O{@(mJ@~yGwM@&e zE9OX<*?}e-Jg?O`7<{#(Y32e<;i$?*6kp3lLf;mH$uVTu%!!DLNtKZV%dsZGCP#H; z55G*N9liZ4`^Fw|NZ-CE5{8X%5&Nkez|^-N&9lDw;PmuR79B11vV!s_0Xu#Q7251- zty)jo=8pgHYEfHN8VaY6KJz#f!LyAxla%s<K1vE(8U{?=VIZ_0qDQ7{ny*0u8^N1U zJp)p?6`6f!7$a>5S_6&<-zePM4AQ#vVw*AZ1TOM1w1xlSOJ(=RemYC#6aR^q%7edH zD*pjXWp^v?*ENPKYf;#{$3_k}I$Jz;sC)%cZx)xz-cOc}umXK9Z^OC)uO!J&6tGU# zRB!|+2&GQ%hrHx$+2}#j%^||Ft2pYdvmmK`LnUUrc_^}~IY|1>9)>|-Zx?N@hp`}f zoXIsc+~R_Bn~ok*XA{f-io)U+u3JCcuf5H(*~9^9tB$jA?H##-`>>xBm%zPfZ;I`^ z4tg@qDcA~FQ}{^nL2>q7l=JLxH%A6x9~}M7zz2JU*tpY{-~dZX1vK!SK1pmXr}&Nn zf<yfi5S$E*{uD5-U39X`UJaMu1BzM`L=KGLus(;@)g*gry3Pm4wpq&|^-L*C<)ueE ze?~lcwpXJF$l)1|HA*Z?h^(1=6*`#mVj|W)P4ZbtC3rmhrHB;7tmwpg7SDl~Dhh=5 z>%Ps5AAJC!Fj!0JhO)E2d^KAy?Oyh3#)d&as(Hsl^!eEi#`c4xAN<}UF7Tx1&s5J9 zHNuhVm=q`FNHHX--C{qrWPfY7(;JrY8Wi%%5c3MLPL>WT9|fA9`JPA}8V3<o-5B$9 zK;?h{Z5X6fpK<1x;?U}YkJ9G%UmXn|&{a3AjBuq#o{H3mFBMr9>5+$EP%_~OM-f(| zWfH?uGbhfzR15#K5&)CYM09r;0t_*qi+WSh(R@^W!104dZp%_YzCt(_>Vhs|6owHt z&l(BpbZ?hx%Ah{n>mG}431D~_DA^BC<w|5p2J(w^>ny&~TE^0ydl)Dqy{x0_=_o|v z>6jcdvlF}PAW<U|6U3tmahO14XykqZK&^;YGJ(`Dgg6!?p9VIT&B+mfFYOw{ShQ65 z^80*Q`P#TylyqGdu84%@vPyR6vRRoyqHT2ZWmyOo?^e}yqh-{9X?EAktZLROEv&Lg zIAZ(h55G?@jdHXItj_fc8EKtI@<*5Bt!pC!H)%oS4T3n00SHBLqSl{{og{RPIIeaZ zaKU^SgICng+{!{2l2&ML>j2M6rD-j~B(4-Ryskxel3t04W>k@QB^i%Ev04_Stz|iR zXjz6JN_o}LO5j$*)b#?<rlPO1PbxrmIZe8z$A+vgS>UIYV3YMoKbSBYBOi-^vT7`O zp*dsb$4ZF7Jfuy1K5b;#yX=~rOITAuZ=qcT15%&z>`~f>5W%^@A1SQ(4G0NZi5A@| zR|xBN%ye)TWxADp^f&o<MYKelyA5oNnZHgh?OPW8PlB(iTrN4P_ApQ?@8t4LXMk@s zk04s}zVq1**{9E5Of9@X;uTZ0pCX(`7*^D4RLd4=sHY98s;VaXlWvF*yM~ybN)Rn0 ze$j^A^o)**sA?q5Xn>%M8B#8LQQ)Xma~qMk`bBPNrsM*%17U|i28V}zNB8m(wnzx% zh7X=pO*45*hiH-ynt~jGg$@_#bXe7rThPAziAmuY!K}~TGej>{KQ5G7>5>UjfwgTd zUF)oY=g<Y!G{pCLrBUJ(L!VLXx>@l>&~_9DAO~EJv>b(m>}g!r;Q$oZP|$D82KCHR zoiEmr<sGEA2n7T)C$)|oM2wn+98S4t1rS73D8uA()4cqP?at~KSmjPkFp%g<TLE;{ z7fOKsHUNa#0*2ze>cXX)yoIJ72(RNyhtLk^F*bidS^(;3P8u72>0zi~5-&^ExM3tP zuM=%So{>XDcF?F#*?Ra`@c7pW6SR0a)A;e2ZC02!36V}6oocofi6u^oga4#^u-B8i z^?OQfq;e1Q@z<}03P|(`Ba-t9+Qkr-FqyJXKC5GX^**jPs2P^FQYy36xl1kQ!X;bL z7~ru4o-s}4avSc6s{=z@^jd&Cb_75$gV*LyC1$)`eRIvh0KA|)=P-Q`ju<qxapgak z<<VEF{3FB<XEcE=yNEySiv%Nycq^MM!ZwO5php`mwT2YKM4kjWphq16FPeiqtRA1E z=G&7<E}`$UZyy8X$%<&qkd>0w8W_`rw3&<?LgQ+&f0&MdAf1k$Aj`UKdlUQZMPz3e zL7vI<iml(_ZG{9v4Rtmk^tuW;p|d}rvpz%B6YtYXQfumc@&!{OY)^$SX1@@oI!+JI znRTtAF6$d-&x~53s_N(n$e?!|3>CnWRbz)8P3?;!x7_DewsJP5yLH@N)-lU;mUlto z$48zH-rkBEM@y0^W=f4ZV|=;oDv)G0PEaaiB~dN1Wf>Gf?RMvQB#A9dNA`hpB>7IA z$meKWQ=Nm*a~QeZG6iwx9#cjUSyS&fx@NhPU1JroAPNa`XH+LLK~e6NvlN>VJDbQ$ ze9ff5TH~Y*1#8runtJd~no4T{IIXGA9HuFwN4zN=(hr2THh5d2@M!CFqlg4R)v+@b z&jk1op@qJE`dlwCb_mh5+#RZbUG$hLq03I*Rn*&>nbaFm`!`l(SnwlbewE!5WkT~J zJ&eLo!teH=`g0tkUGmE@dagX%xRzD)tP&fHB-8eslL3aI!n8{-;sLNC^ys`)y!5gy zs_GEZj2+xwXWuSLN3V)BdopwwbKwx0hzg;@-uf!XP?(dNeDczA!VCPFBDzFSHQD%9 z!+4Jv3?&}oauV3xYS`?yXq#1rHD=cnkY(4k;#jMSz%yyDEeT8ScQ<20($N3XB!(J` z;Q)*OWt=a`xKNZnP`M)VD1DYpi-*eGo``XZGYG?6M5n~M(ah`mJ2E-!RoB5XDbu}> zn|7nRHM$YtdZNWuA>#TB8mp`)T3i)4ZlD`_ZqS16S=piDAIjFc(c&f&0U1s(>-1j{ zps*RGX&SR98N9XVc0z+y_9WoFy)4^jcna`Vl^rg+ouV-Yc)df+s)hsU;0T6TNe{Yc z$<zYqS<=yG$)+LIk}X53B|YMxCEFG?&yu<XKGf^zv)sYr-ZFP6lm(oYz+w3tz79|z za>x|F(UOTZY{|6vQJLE)ZYz@>3(*R+nBCzsA6Uz6TX058_S<M$a=^f`<e*K0NNcVw za5!ES09WT__Rw#VwpGpv|4n{CX6w&Tap2|~71H?LQMMJRt+f#qnEu5+&K`!bNuh9& zE&pRPnHy~9oou5#dREPA3(LcnE<=7uZ?+=D5}3}5sFTcxU)=YpU&NE;%wQ#q4)CAW zIf1oDhm&;>8gsCXA0QTfG&)!3(`^6p{?Z71XgDe2(IMpT19>`Xt7<53%G9LI)fCBv zn@6L3h<AP+ha@FjOaUjOCg<hDx}kY4MKX$vjLs1Z8b7|gr~@@CNf5RtbcmYhk#^Bm zRc``9_>peCKpiUEFj)+JW7iyJ&?EDq9kAOBJM+ieS8UJcZ^v9c6-h9R2|p4o0^^S& zftg!C^)~ZC1bJ)@{s|xCb5+Ime8lSD+rfOk9996E`gjiH^RESVs`Fas<>17Pqptka zmkj7cB*${{_kBVcqTdBQ1Ys#Zf`Gj5FUwF!z=rdJFrSYYb(!g}k>rZqk4r?Jt&O<y zNTHR6cs$0ZlFuaLsa-fx{N;#o5ydW^YFAIJweq<oIp+p-B38w47)e>2LdrDA#adFi z0SVbIAk7@6YLz34%8Fe#l)Zz}Q!8q9L1+!Ix~<7n&1+U`8Ltv+4gQ!^i3lUp2p$pm zlYHLb51K9=7KhS6P==)d(}36yh#htBW~LmbKNU6?iymH(H#95c+@`ZJ`~0Y35!<1> zlN23W&oE{zh6X2YFfpk<$R4J+jA?R<i%uC9t18THS*z?Jg<)pR>WUMwgA1@{;xVLZ z<@ffs^_Huvs>!CC#UdhP8T$yFI`<<U#B<Ii$x8&H-F!)QY+o8LL?3jUtsVo`#Th+f zwh{!IWnK0v(DuDOe~-M$%Mt)6JZOCzJ{)$*17g5Hyv>Nhrqo~t%?QeML$}C>4v?G8 zC4HuG1|g$;9-u;xp-~x2kuVC!z<0Ilz(^yC8w!Qrw3x+ZSI~E+*?Uf_0Ay~f9Y#{U z;8~n%ewE-$O(RQc$zB-zBlE|hhn>Q%5l(4;5Kx-Bc$8~Hg<)<>(xk^`Ow-hmnDeNO zqqas+!*yX#ayWcuX#kmVWgo%>tMx%F){(klxI9cB<!Ci+Z247{|L&9w>X`Nri4q<| z+^Bzkgk&EyeS{6C&Jm`!u^Bk`#Ss&ba*T^)Zc)L#Bz7)FVm*h*;Gul(E%5`2n~pgc zQs+$VA<7iBDS?5ELd5_&EwBS%)V81FZLWwWxff5Hl1?UDZYn{dW7l7%;f0-ddV$kT z>D4B&V=6DWoR8N~t4_$&9F<gA_V>p#c_ByFlnp>d{^*x=213Mh+CgtxTQV@RLo1al z62R3w<mo=KUn`_E6&sekiP&xX2xURij$fX-Vo`2V>Yf_r;!gxubb1UF(3}~jiNW^J z>W)%y%<OC!DX9+aFpFjrXIX8aBIuE2tm`e12zk~QvavQd_a^(zoKm=VxjWf!trP2M zrKL8BtxyMJsTmHqdHXa8gYi^QWLe@%Xd-Dqw8K=jDUaqPi7E3WPou3(-Ufed6y&mR zRWJ;~MR%APMTWs$S<>Re!WW-Vq0Z(g3Ns2wK<<Lo(FbENlrE!!)e%Xxo)*_~*G{DP z;X3Gft*{^6St^4tgp}6;W(Z<W1KD?1Yv`xU4CT{R4A%pLrR~=BT<bW~cI)~<DoR#F zpW-~HHkR&zrtNkIxb?9XAY$L3nUNr>OBVr;R#;#~ZJJZVrw7d##rMkFFvXp|Y*y<n zA|Jxm>7+LKr-edReb<@1Vr{fnPg>{ib%UF;ugy^d{!d%yfhN+io+V7??Fv_wKrQi6 z)ihq1L6||uHD*>V2_unIRQZH8_53POEO=N(jjNM=#<Agk-wV;*f#9Q93N%eQ!L-I> zoM4i5+`%%EL<k~^_z+MSNX@Fy9D?I;|0d)P0X6K!zCm^cl40ig8%=g*XbE+g`TOkl zW%_;xeOJwNCcEra+|a2gMzJXR(waqfI?%f~d>K}!n&sMpfwP?b&2H_GO3VP^Al(NJ zZdbawI=!E#ZUW_R4RUiF7wg;f`$v%>Y8GkkT*fWs#r-6%9MADt6@ecljFSM`Ypc~W zt8Bi9*0uZEz;z+CK(vrPRVUzxd!d3N_DM=tY~O~yIAmHAMzJ=PZGZ>GHyobJrk4q3 zsw4ezvza!VjVO`qm0V+^cENV05t8D-bSe@*3u#4!V6RN3#-mwo!(!80(z!fKI+th3 zK4X<E*(QEXsI1?(Cd(Z#<{RF{`Sg0b4R2RB09djozPuP%%XQ}5k}c!bEa^O)CEMKy z_5Icf%k@z18W?A5HQ8V+j8Es}m4HBfw`5WX21}OV>G{l9_EN4;G5vlUfpO0MnI-)* zOEwG!OEwLAmh@2kmh9^a9@>UI%k4MpS+XYzy^AgY$GBma6+~8V-0g)Wd-(K<pKe&a zR=_c7$(D^uEbJIt%Ve&w!_Fw|Na$iouh){PHEc;2#aOaw9kOJr%Q^R1!<O3)Of>cO zTf;hACI+57KfQMc{B&zpei{<iw^=7$I9^On#Zz*sltssCdAym->AkNE;+WN*+eSya z&2|=LKM3CGO|2ni8lAvxNzoQaio{q99+=y*xj?*D*OCp8bipK)vnPrCV@!D7(yh&A z$lRCXi5-`RL^vvh_K{X(epL|7i3|%iDv%pTCMkBcG#^$xZ_2HWUMA{fP@AxFJ97d} z0(~)<&(Vf#&S!iJg}KrBbNifoqs%><L(L?rLtZP{2h<W_|2Jyq>t_FO1KALi8}%C3 z^W3hlRV9RxTcf-5mZd94=N;OaMKe3It?JCSvNOkdXZ~MxroYyiu@e4%I#ct1r8C>q znE{8I@ZDu+wu$WMW|y6@n+v<yWoNcA%Qa4;F`YuWZ8Vj}%_%#uXxU(QutcQJmyH&O zUs^U`?T8NqAtb{|2kW;i-6k5(tY-Ver)G8OGo)KRMUyRZoNh9F-rCCSk2W!okj-;d z#~f5Ax!q(tM=h%Eb)GMW#q!G8Ve7^)@&vd&u4ECPqC*bhir5;qJrR@Y4~Fn8fWPQQ z;ez)T6C&R|4qN8_PbG*DIFyPqxezXaCbHVJ7m)~mBg&A}5I`7DA_W3HKn|^k^aw=S zi9+}w5zbVjKaK1l)G-QVU-n{Yi<ay7?E{-na+YSSbV*VziV$%>saFW*`we)fe(9y5 z5!*9Nr}rvVmaG${yb>o91lCC+hBqyq!)Gg^Uy(3R<}D0P7-=9qDSGZH@p8dzw+BNw z$`k=%mzf-dxcSwL)(7$OQ=+r@0G2~N=R2TN=hcv{^|M{r2voR!S%r!r)JKhgC!}J= z(2XG!q5v5MpU9UBSkD%$YAibIlvuKqc8IID0gjm#H?oHT=(*yT#*)_>AI7psP=*@> z{&BqEl$bynPcCE-b5x>}Z$48st_Q+0V$cRNjpz*+)Q?u%Bas46T*V}%-^SaW16(tj zweIIkb@dGJPKvWrB91YkaRCo(*rhlpT2yx>aF-NFo##lk`xN0__+Etg&IhNW;_1be zKY|6Aez6HH^h(1$ZQT3swYqU!TPz#IG-?SEg|t4XUE%oh#`zo`mqS#G<6g?kmKiB8 z5ieWcAt}JQ^qJ#0Y@V*;s=*YNR60if(F_+K<%kfqDi?LQZ$s{FIBXG9h+}RpAd4J9 z_+j<DUBZhAT=rlb)$l6)l)GNC&T7`h&4Rah!B&c0ur@l`ehpnzOzYPw`_;Ordi|?K z>i!$`Z&q8Wc^4H2XZ@zCvTWm53)$PSDYNtzF@8J{F$wN^t-o5fJ!Q2jD3?S+gsE!b zld5p6y8ViN@cB}llXxr<HDX1Yx>rmu#6a-Ox$D{|1c)cwq;5-{tp#<!qcJEgJ;`Zz zkQ1Cubv#O8TQKnaEWYt-*uG$6Dt7I$E50o9tA6j+@1{qB)$c!@@&0Q4R-{<7-=Q%~ zBDB-BARaVu0#`sX-HpN1xHgRX*Q}8waXDp!hIvd_)0f$|ep4y!Hw<&DnEn{89OMrh zJPc})ya;23Q<)k<Uv|G7*lDD?-NKvCcK;t<*;gQpgh|if`IT4YwsdrCFt1gd-Az8| zfQ;WL{X9TpX2<xEC-56#r>^tv_30nb+J@sZ9+bp!8im98jU122@=(8#`}g!3!!I$0 zzeJf<zcKws?Kkr7h2Ssla-#^dgWt${IXtZC^!kmAv3JUE#9TQJ@f$JA-IjIEP9i$F zs-hRzG_-HDrEg^$7sBxjS(YppJ7}p>gRjU~=_|4ZljZF3U(5TlZ@<Df0fRKS#6U#V z#T0GLwbC8tHryF!cFSEx)|cZ^>zsC_78?+r8Ue<q3bwn6IF^E&$jnZdiwrEb&bca$ zyRFTB_6~&N>g%CiBYaR6(pCd6!T+}T)^CH4I;d93p&lfQ+?>h{<ZI`K(M-m<2Ly!S zAwGU^FDa=$!OU`-;X6{!J^>9~3E}mR&3G_q!y6nQNH=tD@L<Eid_Wt2c}i%MhQPn+ zIut}Y`&(#~713Pe+B`B7bh5G$buYqIn#Yn(V#f%(fNa`jj?l-!?XhW-Gf`aBmmj4h z%VK@_7TA0VCx=JIW|!o~l_vU)&H&+UJc0=g5N$>Fi@|-G&rG?91^#FX4J*9H7vb&6 z(nulnhE_z4&M=z?ld&_RD`BB4a)?xn9?jqtYF0nbTHHx+5awONF3efqF8+;}EZF2T z@npZrA^=9`KXXF)oT;A;7MviL6iHDSrHe_&xtIuZ3+dz7%*Qq8Q>5vmmE|aqi50JM zdJCqhTUF%)<ogC3dT3VY>IOBN3`;J+z#y}3V5gG+)yn?tc|h2d0z;sn3!+*(pw)5V zPq<h><@z+S_J}P)m^09xgp-AYa5|zXgv#$iP-0*9wmYKZPw4VmhZzi=fWsyT%x*bT z^c77El4I~%RnktG8()&6yEF2QQg$F3ZSyQL)okQ3LY-g0c#)02_$A&+Yaxc2jUT7! zV(&w@27~z_HKt24^a9$qdLeP!Wcdq=+z{&*{|`-f2phGbvrZ|^Z8ko}J^ScfLk@FH zf#Gbi(mf`XPe`qg?2E@qhPVKo5XGdS(u|a2dHtU<>s91^BTbm;ly#TWo^Fd0Wr*Fb zRqgh>0>##}T4QZXj;XACK&FmtfsPqNr5}mf=XGxTJtw4=lcI^%sBSRz*#Hd-nlwsy zRcG%s?IE+p=87meu2zDUu_i2JjXdA236Lm=+F_lQIQn%ep3yt?+-b_tq^)P__VsV; zhF}cdlvZ`Cz@r5?t)s#{l>?-W1uTH{1)`MoI=g1EdI@Kt7?nJRU<kx#l;J4z)<`2s z5LK{Z1C@&9fo;*Q4YaXsX20G8H9M3hoaxCxHo8E&WSB-pYG^4niaEYU4T?`c%g|V^ z_CBGPv%t~XU!j$CX)D?LDi0V1+TlJSCZzP!7%>Q|b|I7|IJcy#Ih*{4gGJIc!>g?r zIp$Zh^^h(dp-<|O96<&jYsP)r{HNTs!)CmuNT=L;L_yl>?O+@sG7DWcoSRK^ALi~< zrw0x3FfgS<Tyjf?|C`y3D>gYOY8OxQ++oIBSZx=%>>t|2a*Oy;{HshO=pdW43BOtP zs|;6=3a~KRDw(91b1csOYKRxm;gW&r&rtTjS+MC5UP_hyKWtD#EKB5zHw>lKu6@Vr zgH-}Fs-<_V?QRc<C>R&V68)k8;TIO~nV4vBG{LHNKNKtsIulaNfvJ21@0duN!^4YN z0&DYd@M<lZ=MES%oON`5wjDQAjy;9iKrVEoHjn^8wjZGlLmrn(ub>Tzu5uKqsYn8# zRkqh?ZmA$oUyzcM@g8c-H{=r8T3|`B&_RQ|J`!kHAVU@$4m9TX5fIElsm|xxB+xb; z9>=*FS$dd81gkL*znK01wP*i7{@0%US68&q&Tdd#h*vwcOv@=wIUL32IKz(0@)xI} zW1)E=hZw&lZ<5HFBb#;S*R<FRY{SyYm@Gm7LQs8msUH<mlHVV*)g*<iG&oQ~86_Jj z+g|sd%6>N<N#jH&CP<nm<4$`#eK}Tu3HH|JZD+aTDZvtpTke`7j;!p&Q|<g^%bzT? z9~?BFl4a@rR>jMpij!hL04%cLGCZoTDi^B~$%86;1}}@mR+d~{y>ieY?~k>S3OobE zyO#a%939tW?+=C=Y^WA}544%phRaLz15}HUafGtZ?cqBGlb$rrG|ApkbZ`VtTvGu) zwKv<{Iiin*O674XsM<>Btvrokt#5MG;fwoYY#xMnyD7xBZ@)NUBI%-m$cj|_DE1SQ z>ZlRK0sKAK%~9v>r*m?%U>e|!;&MK;gl6O?)i4L1&j7zFM2OPw>}p-+Vh0XKrpLWK z-cFctgrmx*3J!M(mp*=~A2EDp6UnC#lqJ+YU3id@6@@YD07PYVVzX2T>QOYQ4$<rz zYpsHC6}-;BB)bf|AG8t{FZXA?Mn3n8HS&u!Vt4KM8u`1Yx<)>?^k=q4-cuP!>8gUt zeDG;HJ9@6Al6tT_Pt29WnaWflS+sw2Z>GwL6)qz0X?DVx3Thoc*&eYzlje9$fs(;* zF%Z94l(!h5GEx{`9+|{9(k&t+<rV`ZBzAiNng~0T(qh`I$*}!<d>{!Yj`*7C*m(%; z1!-|RcF{3>0eU;%U+uf@9_#r`S<mNqa0@pv81Sys3K-4qk1<n8Vat+`EmiwBJCSYp z*zS2yac$^jo`1eNeH5F(uxanmx4KNg`(^cz)+GpBCSb4Z7OHyJ>Rl4AVrr}VVzz#( zM0X~@a#=TYy+Dc{Mj{$}scy3Kvlr78IzAa%hBsAQe|0k@q;0xQEfIu^igm-ibVK?M z8(JMfT?0*Ja89vRd(HYD)$}Iy((kH*3r2lvLzhD9*KVI;G_y}sw@)og&$V+x^_LBW zS}lx@=T&_O=74Iyv_f#vtc`)4HtHSk15zRv2>BZh4*IpuI|cVpUMjVwFaf6k&HPfS zNjo^+*Nqn4Wv$D3)_scE6|;T8<}v_+8bVMo(r7iCk@zifgHa9?Ol?f$kQ0ul=PW)o zvRDVk35LM^k|T0{X|gn2X2Jv;LP|C9Le4X!C#aC^iBB0)6l#>5G0Zs%i6u|y2U*oM zgk^2AR8)NL>^oTyEn=IZZj|2_7s+a?5li)J`6(SM-Y;9OxD`<|zZKM8+AMlyzubU| zWMbAgV1GsA?nIV!{~b$~7FHB+yCBQ$vxq5{Y@4YR7BbS+%Z5kRP>s+M6brwYsjB|F zWwK#LS(fY7Te4-gQI_=TE!p<Z3cFlQ)yp?26-`2&k+sd5Q4eL+WXYtPEKRQ{P?}zm zYz8YVlC3iI%ZjKpy&|_AyroF?7ynq+8%(dHkW`DotxL8iqLj22MDB%kU|A(q=nKxW zO5!nOX>PF^MW~IjH1SU2I*Ye+FU;<jv7V#4dyx9vos#sJ$qR}KqI<4oN}{kvMO!O^ z8eAeBTN`F}gwW|dE&T6%n*5~x=C~R~x}!KQP5=R8+ye1TGgxZ%wfhGKhlWSyWOL`u zU+_!6wD6c?7ae!};w2}X__Tbq^Yo?9@CcdAWZab6r7b%vAp572Towm^5Nqwk?pKJ` zGTYOq2FD;{b^YyY5Jqcv$?kp0Q%qsy^zf_fTOwUXQlmwv(LzS|RX6pd3iTBK<V&dY zk+M#{uV<iPeHaZZqEEU?>oKkKlMR0+Fi)J3UG}^~0Ou<Z7=ge;UX?(ilBlpu(~tx+ zKKgeT$bRrET@?3%GovXRgnwrVz@6FYBV-H?zPpuXmo_hHT^yvbP3hv8)X2wW57w6( zHD%)S49T;k?yh!djIzF1zoQFN-+32~N4hv*;pj0YcV%YFk_jTFzgTB+sZ{tFWQtHL za?d+v{L;6KPh9rq?K^f(PEA~TdFL2z)?_71C@w0*6%UkVnLFdlF~d#iLH`aRCO$2e zFAVk`Xd6gV=f(Lkmv<KGgtmC@G{#w^HirX$ice8~%<o>yp|JIQg@{HUv<8`;i~Pq( zjc7h1c<0JhX*M?K@a@Y-vai1e@X1)m1v&>V(G5EMIK4A3Kjzx4?25;XAGc%t@#ymL zvP<zLqsMYG%m)PkC~ttyqWsvmbkuQ5KmM=(^3M<5{n^Jax%l!r8b*&1K6$VEI`c*O zqVf2Oo&p;s4sLMg41Jo9MI3F5pg87tM~^G}51b>o`9=A0*B0qTv`wk=xv^nO2P>P0 zUPFf<$mTH0`+y7$6urUn2C0a$J~(>3b$eev$T`06gV_gPH@X-qc~89g*^J<le1L0( zM^DHHY&=ho?0*MeFnVG)`7}B(5cpkibe?`JIDcQ>dUm?8DwXZtH2So`{P=wF)uYF& z#|(ddg36rRQ|3ej-I@g&&U^$2^CkK5Rf);`X;<ebUVU};#Q{pVZhi>JI>*=)(5(bx zo#SLbFq|JFX+oMG=RyVCtK{uBSlo68Hng4M=C9uv+06j|Lw-rA!si?eQFBGCbnif0 zV^lO`SrD7JXhSjxJH>F}`P9q!u}?w+va+vM*OSppXrp~Dgz{@2ydY}8N_qmGQ3~7l zK>=rimc3+4r+Al*l9OCs$o(FmhK&HCfvMOe93q@54kZzVP3Zk}-xcG+OrrE&rDc2y zS)6krQ0z(U?eGiQbHz;&vM!EMx79@aR*8y?F2}APB07j@9_8#dPYh;JnW<`Z?Zm~R z4o^-nGMxo0HH=IL{zUhORM@q9-wZj^fM=b9#wRHRJITQ=<-g31kgX*VD`E~M`r?Kd zYQp+ZUDeiQ-MpL4;(GNKw1<1>#Lt-|PmP2v2#`F)jIJ#;W+JdB>aU@cYzQGoSC<%4 zrMk$B!M9zegPdufP;DFs$j5=p-Bm%7rqO-yrEa8(y&ir}CXsss4|vJ*R2*#tx*Sn_ z8c15j@P{j|j2iR)8Y!en0=X@viA}^?pRbLgQQYx;Cj2yiX20i*34G^kyk5AAJ741@ zUUuvAl|TpwDfOLZLMU`Ck#0OgqlL_Rl}#^AwTVHjU_Y*hncTr^OHWsP4x&<!NfpK( z4p0fD%YSB%rf=LpELm54Pl5gT*uv037P8@CL_-M+nP^HrYpH21bz0IGf?aD%z8h+b zxHar?CW-?v?9IH819Z1*0Lj%G0xoh}vaB-I3IBJPFA&Pga5Qub1>{B+sTrOTbCF@I z;w>Jp%L3ZPX9+tcv$W%1%2(~;b%X=gkW{G1`^V#pJN+Bk;rqugeHpYqOiR1?5POyB zz)IzzoqOZa_-W&8SwtaZy6U`$?L_Xd6Pgb<HRS`pq0OEyR|qYm`U#!Ga7a;4#6IKD zxBx)|!-=YC9%X;oq5=p36JW;hYFZL{$206(YFZcc<n^W~17Fw3K9v$r?<+s9Mse7J zGfHn7XV*g|G>tK&evVN%Q{0WU!sUxp+^Vt1+`-0Paqhe$`bZO@4EmT@XY^V|g*{zl z17kYO3`%J6xKkzti{59F@Wjl8iwMyQ8-q8tnC5o((nNU@i2kWm6_P5A#;giXf(6V1 zmKq9TCrs>NQv>p&A)SSk6_Q2aRe+uT)2pe)T3!zWVOmX1R(@}=jaNu_`3>1cRNQ{+ z6c-D9g2k@;32kRqQ8mIh8|5hedT)M{1H;xavqhC$-$`e0E$z0(WqY%?CRbv$c5<Q} ziEU~N4@3ZLOi#5f;%_}sTRK8$OJ@~rU084H4-Aus?-%F~Ry5qeFry{yXg@@%0@3XW z58Zx$nWcnhaih4GQexIXFM@!{r|H1>-uC=3J{yq>@@9h_QVhRH37t?hOHzB7Iddn9 z3y1Kv%(Vkvz7PJEGbFjNGf>_!mz=j6OIbTXavtn!OL#E-7V*H2W+e~Mbvh61Xx8xn zYo}7b0FW3A5P8zN+7USXuGX^X0m*XK>q~u-y=`r!Gl8bC`xMo^$T8b<&LFIL|4W2d z=nYPaKNr)@IWbwecmpN&-`#)0PN>L*pLhMO!pF(t-@r)LGlDyem_l=M#R7>R<hCs1 zjnr<iqeFE+WR7Cbw{x2>)iXb$5gC~Ka{2~}*k=dn-QJf=$i}raW@sV1YzaTHk&%lr zxRqFN_w51-F|e?_i3}amOea2{Tuwq4=zRst5w)!*xt!>8X1kOkQs$QeR_L8BeUh`e zB3i8CG5r<QyOMgXN-j}R+vcxfSN$oygw11zXH&IkgjD;gYUYk8p1`8X=?UHKY?twU zVS~o#Ft}5_^xcslfGdIJlfs>$wu?LST0t-*`<#F~0SWHZN5`G|2=0iv6>taihB|O4 zboF8n4PJ#W;U8QY+OD#32-u+CF1vLcX>@Ez9CMB%`gUX_F^x4Va<vzPwRu>YKAcdr zX81?t@{(ucE3Ww>0Z^Y!V?yDyemu%J`bA?qfG~UKYhh!L_`!85W;c`FP=4^aX32PH zwfJ=%P^ybIj|cjaA6flJyZoU7TE!-bD@*gETbds|rN=}n<ZMbvt;BC|VP0fLRPer- z9a>}_HkOZc+T*8Ok@t=FUjZ?J3jB)g<V^fqdinU+72C;}n0T!3^6^DiSaRY~t`8*i z%yvGAui%|BNYB~f<&^(4(tHkmvu4Nk?c05q!4>0;?o%i_4aT*Vy?4{`I*D^AAMF(o zi)*$PYqUey<*$XhtKEzURChwjevv@1j7OZ=y}Thwk!hC39inDQh*Iu;w*4FBXa15; z)gWT;^C-@w9G|2EZZw<dgx|n6YA9Arnf2j^1q)Q=yaF76Xl7sg6>Xdf!2t2g^WskY z5<l0^bNvKV&iPOgO-l3n4V~5&d7P2F5C9T_3F(p;H!*}TSfpHVwzX(qcmYWw8|oLS zMHgMbg*BT*oQ57YiU%L?Zjq--b%~99nq&u=8sDEV5sEzYq_|yNFUYg-xAw{zmq?4j zP6|r<-e6fQd@JQ!s<Oo1w25;-zO9tO9r6r<lETWDI*_QbzmquNiMY%$heKYOONa`X z+Xqjxh@f}=J6I8fQczsm(Yo7=fNa}d-JR-3haL1v5<ACuND^0iA}({{kRw+Wixnwn zBdqtZ4g^hQQlwxa+3X$h8KOz=U}l_2&1Lr2J^Sl3vhVclJ43cAn2z=RbZmTx_*YTV zQ~Fuf^$q{%8`VdyKh)oBr-`2;zb#jPtDHR?iE!z)oa-%zzh#*f(LL7qJ>IyKOg<J6 zF-pW`PF#47W4VOuE{E%`3a%B=x2?W!hx*umy*~C1uP@}-ZbD8qw(OH$60*ljhMZW0 zP`%`1Wl87<FBx)J1C~?PxgxsPfVsDh%5OTz->g6$OKvuV-|QgkqDkR@fBmCx`A6Rh zAC=v|+q3U3>*6zRq%?MxXL`XIatoAj(EON~>4tvYefqyQ$o@PT{9e<2<aV;1n~$89 z9*at>6MfV1B1bv?PgX^KVK#3}l?h$VRZK!pLA?N3_2*Y<@|XYQkGO6)Vx^HNfTbm$ zq4RP%JTWL90K~%_c$smS)L`4G8)sB*;E)fHe6$KE4D;gSh{zsaAyUH7y+}I=u7Eh? zxNi-cnL>cHZ2POe__q~haleoSG2r?Foh5Xs5xK}o><gFRNPOb?V8`<-dc^ZVk>^*m zoVk6imqesx<e^X_EbNGfeSaYRw%AYtt(6-}axhZyR=j_EjD_o&lnGtn;5WcPT^%s8 z4K8KZ;3C_=Qg$y`=fMbzu{Y%QG_5>nnVcOPN@6L$G)((nCKeqW<wYWJNG*lKGoBw~ zEo5`r(hM{jtwc+<Lu;hEP#FbdStUfOh5AmXKG<VYLV#eikU!-_+5a+)a7%$UdS{RB zbkL|~Z*2jBk+h%-nUYGA{pMHjWT%4Gf6LFAf(>{9@Vze=gFlviyw9F9m1pn&HPg;e z@F-I-c^^8rtJ%5pECeMVdS$6-s$Lysp>A>0l*v<pV7SLvSA09%A8jdc(01(~KuDn$ ziY+``F%)edI+vFe|MOB8)`_xSm=DRw{;*Q1Ro$UbuZF4ya47We)|hefA6Y4v{pqSM z;(Nh41ipWN#?h+Oem<AM`@%B##O%x9gVi!P$`n)TV~1Y`)vKc{)Gc10-#>w6@UgHA zK6(_(;Jwu{sJe5=tf~PV3O&&ze!^M)gaxu|f1a1YZQ))QDbdV2555!`s0jh&cNpim zu1GFA<V3fqsZySFdqs+$oJ=b{1#KlQZuaFFA;qUS;boLk){(9&Nh1zaBt<vIa8L;8 zqcS@;v+h*vxdhIt972pR4#R!3UHO6>OU!{N|7*Gzs_@Y?bl#`V)fIg;=pMGv;5WzO zxJ*@5eQvUV{jrP$W!;zE$z>@L(cJ|AQUu+hC#UP}a!~^G29Ahue6sQ?KHP0sijP`* z-=@8jVsL=b;Yl&=+ViFu4T;?=01(sA&1DZhp^D~sJaeS`wTkXDz^AIR0@Hiw2~h9F zNd(H39xa29S)ESDZY3R>5k~3ICi>HNO8m>-&D?vbsNi&R5k(NXj3xI|SRi&vJlW+g zlBbz4={_h<{P)MKIPy)>OD(M^mjOSEPl=H%X@WS6Mot_3ObY@LYxb#FlR;%__r5?z z!9AJY443$*K+w8AH`0a=d6|9x1Yx^rlJ;`&6)Rnc3!@KdRYT&J?M{~|&THw{=@<i2 zE6sc_QKZi_3pl$GI-;H8U3sq0fJH@J>GsoEQ2YPm7SxU1c}*t+O8=8AsK5WoE+}@2 zO-$$iL<=em{t*|{{-5rG`uQZ(J`f1CPt8uK?WqX0qf9}lec|wgTJ`EE3w4YCgbB4T z1VZgIM?t7vT@h+kcMc`gs#hiGKLbMT(?8FI+Re@QgiFOkwjq_03nli1pBy!c39?9H zN_6CqSopj1pWLdAl|;HsL0Jl#q!!u(kpj^OxU5p;O?bhD=j|dU3V&=7_!GXDWEGRV z(P5q={5OaHGXBF}ZFHUqj?H3jbU{hV<#R%K4ooH_u>v%Xe+6li7^BHA?&7A_71784 z{7qPr6|3Nn|Mk@!T`>lr2=t%JxenQ}oX4QZ31an&lHi<|B!<`#(w|0(3?YMaG<1r5 z!j`M3CAb$4@mL^Z!ze$-JdhReovN{H)TMR5OlrVVD{}%w6pdn4_O4AbV+1=ur+3!F zfn;57CKQ0W5^?gV=nf2dbP0j<k8|=CLd9b#W#JX)2!1vJNAHV9k42=Ib3I#T?Hb;& zQOT_sH9l80x?RlJDE*KK={P-d4ElI1!HSQ^A}si@L^x|SVN613-h3V)3RwVbF}LRG z)_{2obP;oPz}z$RrXfqmvo7eIuo%lnk~xWEG-iWXDGpvRI+!1q4-wlDi@tO#GhlH( zyp@{=mgFNBFwU2%(Z$TIRuSdLE*@=Rz-VZRN9X4m1e47IAfn;<YEHMfX`Y!+K!<V2 z7XU`S@azjZ(c;mC0v_NPsKuihA*}{K9N3Ks*o_1uR>Y+>ON~V0OtMVo>aL_3!lY32 z3y6=pQ|Tf=K^r5sV2sBfh<euOCvG%RH$Q+OIk40@3;8{*XR);0_NkkBRu2Or_9Kds zo-uM#_;{V7^7q_2g@DG1bB0j_q3c?*D+?7xY^TS1)N_|PK@Uh6V(7ZQ-m3T(p*oix zX~Hm#WjukzPR0`u<`)LmzzmTT*Sxr@)-r5Ct>v$s=G{WQv?4kSi#mhbOl)rbyDqq9 zDOZ7e&kGDr-DzRwDTp0~4TBL}1mHnFnlTt99@~6Vv4%@L{L^pgO=TFPhz<PS=pSs* zHP|d)Mo#8btrsn}=s1nxDEq|gEGj}yKu?)Jpn|4l^&9gCAp-+DAwv%RCB*I^>KWN5 z<oXupfLFyMFf|zQ2r8ky30Xsk0<jt%ts@bC`i?^KI^&3XqC!YwN(%%byZ2SjE|sk_ zgAB=<?;zg>`jFYdr{$0yQmvzQk#-C7l?l$JZJ)UeFxf!n{-qNpsr^H_2~{Sp4cUAP zVb5e=W!4ifPbeDGLsf2pNng&7M)6EiD|yPcRToQSS3g5TtA8>LH_O&W;g+o^m8~G# zS767?h8Qm|&-UOl2)6wLgxigpajROB?PafVD{V~0W{M&g>B_jZVTPD+eqH-kI#SuU zQkMmh#J<&%n5p&HxBBODFULl@WN$qa8&}ku8ev`r8`sk4)#`HlR>K$et+QaJh8H*- z@u-cOeXF{8GZwQ<BKT;PrGIYy)??r5$SCbwxj~_{Z{-WKZ#C$GeQTpcj2pKSS^SEd zbcTb4_9($y=#Y$Cy-v)Lq#kxtB-V#Iik_S~?;Wo69hPmQBs^3)2*ZM#w=#$5NHA|@ zw##yc*TKBiaI}V6(GhAP(vX|Ca;&e$AcsgaQsyYS#+d0-gcB7aRMD7O%o@Pi^b42( z&?pXP*YY)BLT85U@*DxIIVV<X8TOeBT&+JSgk<2_2rTwrlrjA9C~dPU2$G}Yp8!`n z0NM&cFjE8Pv%mbC6S{AS>ElS8z|ylAetY6PCM8|%hhFH~7ha#(nJtPRv-r^&f&B8G zKz__(>zZzWrdo8%rjqMNB_}8#4lLvyWu%s~R#7(fp<#@(&&@BtaIG9F#t_PHKh~-& zV847jXv4|a1MQaAqxsG3N;jUL6>d3_tW|=uqH4G6O%ybaH#b*a{ua#d2E6n$nSQp5 zeTtPP%|ai>bq;j4eS<d2-X4~{V-G*HckgSJrMtcJh<^LAMKI*_^if-5i@o0a`4m9s znC{{z#PU0QPl)7)%WM_Z&(nvA>NgY3P+}%K;?8bp-pGHLnNyexX;nbc0eb`cK`Yy^ zl%ruJu1zCbhHhM-Aqw;nvlcV>)wtDa^`Ie~5zMceff~63=6Cwf%`(8*!4O6n0dIEC ze3@LI8*ty??h+|Cbx0X4#{DVDMs2N$s59)+P4%yxLGm|pJsuVdJ7bg-ZCp2^G>S{1 z%&R(=2x>R0X=0AGh4<Ex&Baa>)$&+yWWhN|ltvrub++Xp|1-wL8`KN!_P!I6S27eX zMO?Z%#SBeE0f)isu{tsq13F#QqX|cm7=HCRtTc`XE|gIprmQWwpx934892AeLtM>O zTdU-h@+xMIYP(zlcsv#eSq%Zz%yz7|7h<Y-vk0>ux++U8_Bbvg^ZltQi>nDjI7*;M zjq4<Dms1SwL2ZO{tSMxd;XrJA=2m6S^(7kYU=`_oL4vseu8s$B&j78uKv|9;3PEMo zMNE$?)+>h_*xXeIoI~cP7b=tq`=_jv%rdfRrL3_b`k|g=_DeyO|6o3R1F&jzL@D`! z1l=Y~VjF8Iu>)aux4z0c3of+isF>R;`3a=2bh^OgssH8&Zbj(3wc@z9%CSUo`##kS z@lOGb&aNMSNl75uO)5L^Yw#$0l=|>`QUqf$Chv>Qq#sX+Fddm7XWQ;i0{o2Q{RJ~I zz<=UzEbP6M@G(&n34V|8d$X}|gQ1`b7%QBvBbB7<V7@3BgZnuoI`dZGLpD%6pN&fm z<_Sa4N65zKlD%O3@%Uvd6SjG|rY*>IxmstiSi7Y-ZR<y_u-o9MbU4?Yckp|-xaA{q zR)!K_iTs$$B85o~ZDEob4Uf*OP{hNi^biOyi7Gr`&fzxk^SP{=P;y9JTRb`hY={yp zrY3-^F~SEB_)^C)MD7!`2l9$N`yT=4YheLL@;T=NHdp5v8(|%{Gj4<{A|tT*|Fict zV0u;6-S_#pzh>s1nG;AfC9$5ljXKdFX^SKU)Hx$c5L8sqv=7(yrhU2IH&5W|MJQSx zn@TVV1_c`}RaE*ktsq#T#&2w~jX)_asIf&wMH`fARII6h#Y)Tb`>(anxz9Z_feF&m z$A(<Yea=4nW9_xqUVH7e)?Rzm-MB_`E`v#FGwyc-nYLja2$1``aGQ^mn_pE}{>w+k zhB|D|(x}mFMI+f=M7}OM6XR@|ii{t)^<sWtwmCn^NHNI|ym=+}>J@PnRy6N0Fo);k z*Ii_%GEAD6c&-3t{LcXskwjdqwlN;g*@fvyUuy$}IM1{3y6wkD;)>^s-*Fd{V&B;r zv^XC>$+ij9<q8QOB}R^Lm(hvkc!lE*bB`BjQba(FEGI>Z>xJphgXssw!$rzwlVBbs z#s89PsEB$AJ7TWuCH5zNhi91{C{6ol6D5l_@gF&_Sp3>vyU<=(T<9!@gb|^8FCP^_ zE2m;FifiZSi=uN2odG?6BN(t_n&hO5pg0<_DZV+M7_tWlpd6-|zu@SKzr4@<S2>Jr z8*F5wRCLGAm6JHkuOa>)#-O7||HSs$KMf;;%$eMt4FVl#ZCDXS9OZe*Xv;#A=N%=8 zL+T%}>;#6fD5?Etks*t98;hM6Xc9oQIvVs60xMYnp*9gmY$MyH>v_B2X7Jz8>8?&O zwT3f5toZh1mlGnc)SI&gchF!nj-p6`O54S_R|YHMuB>9}Wn~pGI%{PmLm_70DSj6i zVv%Rci66(6nAWg-hUy&^0*A?@vC9)3Uh026Wz^T5&3nNt{i#L`xI;0on^p&km05RF z&P!>I=cv{4^t!G2@K)#TtZ*V#n+AppjjP{B1Z8^sL{XIn1*(hL-`mKiFkmAih>wBR z=GtT>aXHvqm>b#|jJz>i5HCMHGgY$#VM*G#kfNz}Ba=w6J$qUy!euhp%L;pG3V*03 zdaa}4x1&nZ$ufP`RL`zMA?g2=XVOB7X`Pi~;%rr~=+?=Z8e=VU6Z9lRzc#Pk<E@3Z zjnHa6_d05XOb8cxwKjDNN@289Iq!>I@SWb#2y5qd%|Up^R{gRlZ`LoX@+N-V-S8YL z6@|pv#}Q&wW<5U?Ig=k9JOf|{Q@Oz4V{1aYzt9k;y1sLqOC5tfmw@CwH{7xxt-9Lp zxgp}wdQMNR=k(NiPOq%zbZf4jzfV06BU3|w!#G#B=Usol+sJfuo8g{J&K4m}ChOf@ z;7r}hu|1LgC=d|N<lsHKcac+=U7xN3E0jlME;3cZO7iG8Tx*?J=nT<2Swy-z(WZVe z0V-LF8SJKYci#J~j&wG4q*Fmzr4o{tDw1fD?d<xBjz$&8EcPo>hG5J74!T9HN;uuT z%PII~-sKd0Z*=B4cw`+$aDrt4a{$vlnPMp*@T?t*M-JK6>*`Q^_kf4uyIO4cZinK> zr)yyYkg8&>4D1ZK))vh^dEixDPWW^59Z{vVabiR)uA7hBQF^OF;a?Fnp<+H0de}G@ znc4^ufsw$7k(ldES(Q}go0le8do5NyS_|ST!m>69=)ha~=+(u;(Z(Jtu~245B{lED zi^=4rhbG?{9*N#zry$h?@0E_FX*forJAcDQn|fAjtkjN~7tWF}z<r>)j|Y;nYH~<} z47!on_6RKKBWEer6^B$EB0I+gHx!r9n$&$gq9FsZDerEf4{&P+jbd3Jm1iM-dKKCC z*1E<LLLnPqcsjHuvI#vgRx20&p2ZwQpJP&b%pRmST;%~9b_~Vi!Gzt5?V03<QlUvJ zP=zDtzK@{9&gR*<yoNX<&ZrMG<0jEwXm7V^9Tdk<t>55p;^2gxE+aULMfc^Il4a{x zyOfB#*%1nn35SMQVM%Eq7qO^_T_nX7pSvwY1J~RjyN<GOG?;8?-Lw;$XhHAH&xpMr zOBO;KgVWYg57LZBQ_%7fkfO!9)lnFXT5T5M+iSx@_vp1@9aGDjytcO0Rzc130o1q8 z1+{I;4$zKPt(i~{w$rS)^K!5wIRVikbhF{u><D*SB-KAO|4^Rbd8iLhfD}1HNT3Zi zmeTF?t1|3hxaEKg;q=2zom6tko^mKu<-JvviV$$^z}pQ2Z+De%VXejhwKFN<gu-i0 z?=<`9mEmig4}QH8O%qghd!RC>IrKh^vox@>uQp0r2%?m*Y8OIPv|w0mX!NjXjEo@t zs5du%rrx(ZsyC`B?kV3s8Ls6ykQq!<EwuAkVyl)Wu=TWQ3MsdSG38h%K2kG<aVVib zpJd-CU<_O;6WN@Kxnnan(HDEi`pP6!+I|S68p4cu#clw@gI(s4DMFQ8NZa`2F{+q| z%=9x*55VoK3}D!Jby68I@@#%s1lPM2ixTIRs-dX3_V(SnzQ$TMbC$P!RiP$oEnBB` zgM+tBOR~%C<E~5@lWUeX8afZsw(bhJ8J4eeSo%pm+XdM~Osnj@TfV0H1<dlb#tWQa zcZI4OvS-m`&7KvhMnIrr;K(60hdPb}7uMYQ=0mrFS7u-Et+TdCk)Ut{zd(|GtY!q8 zls?IID-wlaz-I9xiPe*0T97=+BDoD(zygg>fobE(Zx%2smwoY6|NWNT+!Ek`ibO67 zdFSRZkT090qnXJiWR?U#kE@YJslb0&YRkqv?|g!;x>4*i&3H^lm8HRy1=-d=5RIwO z=8OW}t)x;ds=bE9aOvORuu56jYg-CJ#Zb`|cMAvCkPgCep9!Y1@`w-QL&r&sr(j1^ zEkQ0ZAt3wLwLD>fp(2)GL^_IhQT2_IQcm35V;QX`rj1{Ffk;TU3x2aV#y;R|?#(*_ zR&xp4F5Qx$(z*gM*IgAt4=Nd5#>P`ynJ{nYZW6NPo$SKXXdWe5fM(yX@PzKL0w-6$ z0yts)_6#ig<96jnnF^57d#*7cVLS9?Sq^-Q1AIW{6=7-`4~5jpT;Y3U`56_MYxKk= z2A~Y(f`Rx(fv5^yYC=H%F*wuRFQWj*fDpdoJV_KBr{sc2Q7JlA)D|QlK^b<eEb58u zy=(M!WiQTSjSZR+4NN&}k1k^Ld7$ZX#1PJ0Xd_@eWF0@alAOs8LLJ;tSJ=Z}m>&Fr z`5<3bfayFrjp*_S35xvLONN#tR`e^`J*Uw<%fWYOE8C(DdX^Hv^~J3YfrNS*mcj?p z6#cU;k@~XO`T!j4S;a1X?8df_H{+!i?vAYe({2+f@;Am&yR(EjyjX`sb>jzA$)dM- zrZ*24XrR_AV&rzY@gVH-zbP~G<T1GLK=N|ok?4j_OUJf7OpmUpH!xAAMKc|F%p0cV zjyx?Pnw!Afk%wJ}-z&#%J}1!}d0OtsW4h;XAzj8dbL45cBTvg6d0OtsBg>CF^4OT* z(z7ye)g5`HrvgC6%N=>-c4K@6@!uSIFa(iDjy(Lxk*66Pc`O`haO4SoQs&4roSP$$ z+BFR@$|HB=p+<A$!74^oa^&Ghjy(Lxk%u2S^6=x1Ji{k3BC{NM_<R6I9=;reBTups z1>|f;o?#T2OkZ>4Y37gQ$U}4P$OC_I$=Drv7!DkHT6ISrUd)l_(pKECyFpOKG?pPR zghQ4(WF`qT+kKKm>m4E1D}uaa5Hk~BMzARiK(4!JOv6Ri!3W`H7|fY*N%sC1sOZs> z%KBFByk?29R9LS>HPWlChpJC=yNo{jhhJmIC@T}}<I-bP;ZphF04R@(vkyP1*R}@4 z8BQf5=U0orX0NR_S;dM^hi5>NIU~GcCQ7=iFu0NnF8xvc?*72dJnqt?a-FHJ!Sop1 z0tJoq08L!tZ{R!W_y6h5?3{SNUhiftlh2PHaiowCq(>Ya#IN*-Iob}7tGS(O1BP;$ zelPi;n#Ic35Y7dou^N>DW(!f#&;fb>uILJm-#GgMI1mdgKa)LsH?AX03XAAtM_3E) z=8PFfyL0A06(#e;0|aGwxONsE_`)c9cLN@_nkx)=nuP~AeWUQteLQG32p?U<JG-M4 zJZN*H8S83!sOo)qZZZ1is&jKQNiJwfFSEzx5~DPnTe$yR5dsqlY$A0Y^&@$Zuf*N5 z$g1#m+cNjKQXMfcZ%p5P&+p&&#e2Ve!@bcqyS|sC2mbamTfTJdS3hx|l30X@^?Tpn ze*U(rFZuF^?^jZ8N#Fna+wObE?RS0R9wjX%NgIh?WM+p`fWuZcj{9R8{r9#*Dfr}} z0R7C$VQZ-hQ4O*vjDlh;ug^`UrdMBNBFa|wcgO(wHUbc57h_J~CEL_%ZtJzC7hMe2 zcwek7HT~Vx>rCetZ|b$S^@fz0Tib{>F?w;{+16`QhL2dtwvkO4D2-o3-q>cj7F@io z*YG@6L0c7|o&q(a`jk_<D%jL(Z=)Fsa}5+9tz6zJKhkt(I=e{1iW&w?d|Jwn?QPS~ z-fm^=gEAn}Y$DI}QQNoiOwPu1uE%Y7wrU-mFzgA*EZQfc;+ekcmhFFZ>lIi3_+;Be zf*j#5lKpSn^hdTJ{^oD6<s7*JUqTe%rrWQLg0yc@$}D~KqUd^|OpS}HPBcuRY&1uM z06P$5Vvod<ynz-Bca)K<%fn!eQo|01nQ<7*f@Gl@Dekm;X>nQm;xCDe`v0Utxie+v z=s=fV?n+so(qbz@tQ7+tOb2ab;KuAX!2ofywqD4wr~MD#65?i|Oh}6xU~J&d%6btH z$1eLA9I&*?7+W0xB{WVz4U0TvjZ1{N#GnP{fySHOcs#RlJ28YGj5ki%055IA;qk&T z&HK&jRfUGzpJTJhJKyx%fazI4fSfewZSV?JkCT~=%HUAKtEav2u{)#%qRBn_Mb~}1 zj0y+QWWPboLNgi^f^SbZWFK9tCwiM*^lJI?I1uI>X;4T6G`P$o0z682XWLL8O*osE zXA2UN_u<Q8m4iTLhWIgnF9&=a=uD{>P^$sC%)O7SpR9^z_+VkR{<5mtaB~(-qm8LY zz4u{(iUw=PLG8|fpX|QEJUn5nwi+O{N*qt|)5zXw8`-j#U|n;9_^Q|VF*CFAKzLw- zPxazL)Bc9kmV29VOVZC?ccZa^kD07rjk4c8f-&b=5_>GgWm=mWq5uUWjI2Zx9X66Y zclII@u**PTvCAjj&$dbYY%VvJ!+!D9jpo|XD*hjBbUH=ryu5ub<Dw9NzDH;)jUov} z&ebJ@lsZQnTy|we_dL&>&d8i9Gv5!Bie-Pa5m}Fin=RsmholkBwu<NIYPMD}`cf>C zQt}nAz&)l|pjXjLanC33VT@P!P;m}W$X-S|iL3L}?ZOIoW?`R-yFRYmLOO>2Gx*8v z4sqqic}G7d_|Ngwlp;x4m@)Z)%ifgjDa@#X!;QWL5{LqUty~p#88l84NWYLSkA_x7 zF$u;*SYo4S71vOA*ec~Myt;3XbZwjb22h#uzGqCH334E~A0UfWG%<t&D~oBd{d#T? zRwO98e-!~Dv46|zFJ~za)KIKbnEoh=BXQ)Y*fM-vEa54E$3Yrji?SWME|?D;|3IQ5 zM)Ex=WctkG6^uBxWYJI43>>=8S%^Ab8)Zb81jBjuFTU|jkBp92ed^`&yq80cB4GB8 za^$wD1)MxbM$aSIdXf5pk0$uh2LUD%(ftgdU5`v#NI_8e$K`w6kU+CH{;6H{X@yap z<frDQAM`+X2nI#T(JGmJvZkE8CN|%k<}|xHpF~nQy*~~si>8qNnXi75I(sELak20A z-Ia^JIm%bHzpK#JoqA0s*~LNJX{M-X*cyLJfzPTm-Bj9AO`p1pnmVp-gzjr_RyCRE zLrooOYOxqolqT+oUCqTzFYXdJEw6-irB=zM2F|tdMC@Qy>Oci6on%MBZl4%eu%d4U z%_ZlMk<{!QvMD$?hg|hrK%3>Q1Y3vp>=Z!>6NodUYgIBZO4vSbnwe|jGDC3V2LJ;E z2vboDFx?fB?j(r>X*W<0YIBF=D9G0E10Mzp(@mFU+s`-cXB(;M`4-)<91hoI3OMt* zy{Uhj4b%ETTS~-jsw<kPy+d9C(sAPxQ#OpVbyL99sYsM^O*rBU*uwGbp`nP7i$AMB zSis2gLMXN7h?}R+KF;1x+`PHz(7chU;b&sruqD(UaK7_q_v1HjZd&%=ZQfjeXx{wH z%$tK;Z~p%An>W}0x0^RN9-22lGxO#k*PELkzj<@x6E|<J3eKdDg9ir6I&_}e;pF^; z9gZaIu){f%$JMfHd?`$tM7tIQ)Ya?`F!QD5MuwzcMg%YYFUW)kMl5e(yW$mbR_6d* zC_S^k!Jzr#!7ulBDz@jb27QBZyzehoqn|X0f?vcG`UAVg!gm)ana*|*emy@3^k@1; z$V2#`4_7yf&0nFNcFh69+WA<KCr8DrWjsLGroGy>BLI40uW7puY~}%0-*l`V*mIyG zPL5xNp~&_U=h&vh++Eqf8?1eekA*)!lOu^jhyw|X0Y2>sD1gz`rF%Vav7PpCxLr6t z&gpNrK!lDrv)fYamZQD@lEK&ntl)=T&SV(G+NNdohU^ckxuDaJ=rrbVw_rGci~nj) z4^+mnT-$i?3uIEM9~B>q?<E^7?PUVN7@2^4cd`&>P36o!($G1{A*V2=A~@Vvy;42Q z8UEghXa3$6e{;y&;*ht+f2g-b1G=@@jot}ck9k{k<ZXfaRMV0z{|s-7PH+bq@V0<) ztTgM|0X;2lZN^>cY_qd^F*Xlb+)zzpnZTh!F(`0oSctxZw+8&2A2}27(?tUt6^nFo zM&~jn&<dd5XwA5JM#f|&7gjDAJ>-ny4!v!P;f-qtZVDYnv2Qww)y;>c*X1ZkQ1s$7 zQTzij$bpFBI@X1UvZ;EHj9jg&9Q)&wI546dje#7l%N?oda))6JH=~}E4n?a|SDX@q zn*(TwhUp9Hp&3A`14F2m{URm421T?3OaTEZP4r06L=THotBj7GNVjY1XbSe#(SqFd z(Icjhu8I)KexS&#j_A0_aPg`Q1xiw!z(cR>DDBO7x=4LzaJ0_l1w{~EC!qyY`NMX( zk6r9Dj7xRFjXyCf8A^2y7!7Cdcxtb!&Z7VZEg-1=k8@_7_E0O5Q!xx0qi~Cb4HYSI z_d9xG*@;mY%dS9DOORNSYlP*tL*0G`fbS!IE`uj3)3J<PUf<bAenIBDF1{M*ePzeP zA)(8&jtus&bY<XH`7>GShR0DZ-_T6PT{kOZb3@)2`j<=J#ShDt5UmAaDL!BcE#c`6 zIqTRO4qz=kFXS12@3zRigDIMyMJmFBuVZ{1(#K&)#?FOm!t^@I$n}8v!g96qq=h6M zt|Xw=_~W{xx2ESy@<n>HGYJZmqeifVGuh-#!4qC_z$i@V>?m`>e4U1MZad7-2E%1@ z64YP{FsCNd3e%LG<&kq7-JOV;oI_N&NwZtH;HL)@$vY=4$=<zAcIdowR^DDByGu+) zoSRUAQyOz@3)QHC6)|PxI%D<ubmvVVzTAq?48CB+db@eCI8zl2<wB+EK45zsd!q7T zhttu<L4S=-TUcGlGZ-Gz^CF%Z0A2ovw-Rj$V^pu>-@OG&J&Z%AnK0c^p-hFIMDQNN zvmcu9dcsJJ=Z7itm=8<a^Tj@7ess~Oj1EZ2%1n0WHT<@i<ki7kPFc$O=l(W)v66P( z6L>CezYp83jwoWx#kacuhHDz7+|-<mJS3NY2Jw8t2lHd&1d*P<vB$x2Gi?|#CpcZ1 z#OQ}bZ5Sbs4HF{qI4AT2^BDi{54|=RS-Cf8qs+M^=Wx5rKlECekKpDU)KhQNSj<HX z%vOEZX*H_J-g;P=^_CYv5;dEu?khj^TED)=+mTjW3V9$^F_i`$O!!_a^>46>K}88z zAC}-9J`<FxkO_$}I1rgf*`15vQ5051*MI1>B0WInDaT<fnNsrR55Cr7XDK5jFY^#& z$cIiZlDr5O;^JZMS?ABm@;Ca>YjKt%@fh{XtG+@NTGe`@w0A`auDYPHbaeUy2)FeF z`^1M{+iP%ThO$zn`5y=xhmRU@@m!8wt9bBFABZNRbc%Y(%5`vgs>K8BF*=y6P9B9o z`j9{7{>ip#@F?~G(8(nqI@?%m|KI~9Z3);NfChQ-Eq&d2y@>G!FF*rv@F`Cx%r*w; zbS9XvsZgdl!A}<?u{F{UIO&uK1t*SB5uGDcPh^@&8zbLry5C#~z~H2QWW<m`S>}A_ zHkXd}loCbk@CqyNvC%kGiIcAw9*5K3hDp50EgC|~SyD|@Blk6STuj7#idGNIu$t4k zew27B7E6y5Wc`v&mSgn2WEw4i$Ub-xn_C|5X1nG5e!3<!t~RqzJd-y&Eafo}G@aDC zIRfJ^GMSv_aEH;hS}lr${Fk-SG-JO`E&|(`{<Drc*=TV+kbcx2dmsZSyP?AaHr*2p zU9bXXGoz!1xP>mq$1cjgcNi#)vx^l;%9#bLp`IjQZjU`0yQVx)5;cQQVrHQmRA60D z=k8uBVa6N2+YHjjMgj_4i~ETa3scmS;P#wb6*Mbg{4PWg-Ke!lUhfHY|9Cldmz}`* zOCU<d)mB`C&A_T8Bp|>Q%4i}<r|1z~xPa&i*|oh;B!c~oN|K9<*TP5(G2rB+C0Mhy zd)y8)5EKvU%2;uOet!T*fNQ{n($k<(!-EgJddD%d5&=Yw_{XQhBtLgDmCnj0iVAf_ zpiPai(Z&e&GeP7Z`!7i3_d1ck`H3O&H~-8M`L{&mdk&7se^BG(b`V9gJSsMabBu5Z zeA?_qQ+h-8S48O}3rwC5_ge%r9GI2sL3{CBfBk&12V)UL{ITLJPpKK;SzJ@Cp~dCi z1`ev{v&M=ISb?Tk0jKYnhp>WPI+iBvT_k(q-wKN}_QEL|J!&~%L1P=>3mQL&xDO^` z&l!Lst?`$O?!WrHqBQ?Y4nR3r`tz(K!?F#<oe$n<%rlWY&kE9VyXR1ur8MJ5dkucN zw3WDTaxUIfwy^gIq#kQgEXH#15LmLQ`PQvUPsNwTSleD)S1lV54rWVF#gkmz4^N?R zILFx;Z!1DlbuLPM(@@N64nU;<WFy4co27m9;Jvy|k$PM;C(L|37t>zNj)0%zCn7#k zC$}H|@MYrIIGnpnCK$232*)YPRVYFI$C;8JC?o3zuA|1*0h1SoZ(+!&VfDJYV~r$^ zOcyMHKb4*@mF5suO;cH@fd!G`>3Mkfe#Wi@Hin$*<jH=<36Ca6^ff=`W$VA*7+jj@ zFI~XTytx1OZi<R$1hjmV48@+yZt`63_z$``rYE5g$0k;>r?84mp0s4_nc8wUTkX!! z@JM%bY&=_V*x?JG@r*@Jdh+6*J7USwr~Ld=^NHTmmOUNuOv_hx*(>=)llu4V?$blk zJ73ma)_;6j|FPG9w2dak$;&RsYT}XW&ha1GkiBnhms`#C*yC=cmmyqy<Mi%R`X86} zAD7I^$F+E6B|q1HT-<*oPHd=}@bYo?!_&J@nw7FhDclP4K99282ZLmYpbyo;s%Q!4 z;j>bR0BaDv{g=B7!XrJ*s(cVsEP^tj*}Fg1&o`>aIbtx!B19`ku&77Lff({AITTnV z`=g`n;%LWvS-WY`Z6wMRlqdm#Wr``f2J)bznUMz-&5RVd${<uy)6B@jBpXc8`#vN{ z&9e7A0j8vz|Km(aUzF3^h?{sGXHybPjy0@V+^r^tXIhcoUWg0L*NPOtd|a(afEPgf zDGW%yey~fNj{)h<$J2nMRcO$Fbn~(&+JN*#OpebVnjAid|1X~$fBqjkIX?e{PmbH9 z3dJO~18pV|txVQ4-9@AL9UYLCYj%nxZ`uK(k_@Dx_H^;kigAo!gTghK2_kthdKm(j zytqf)98Mh~qAG$a_kEi1&%?d`z#-`J!BgzoPP7kUgTjMvP7nxv%ff@FR5^XaLr&l9 zkRhaSz{U0{RZi0Yk<lW5lF#2|hd=-fxmW?#c(@m-K-O>|!3=5~bZ}+IWn~X8F98oJ zi2_=e^>Elf+?C1$I|fPBNtt3IzvskIgU~=5C!*V>4SrA&O(s{MOc4%&#vf<kk@K0V zGA=$^LJ?Ak;@pSALdeBOMjh3}&xzs6%O<h!QjQ5werc%3cL)l3@1WXyg*ZDKNC)iq zl^&Wd#>*eQA*uFD-I7}xZh9gZfwnemQg$uGD?^$Y#9Xvlru_+lPtpD?M2s=Dj-90` zcT3q<pXC}L+h=W0>`+fkYL51d{6$DAl|DNxxa`*gG4DzH#7wW}tJ!4pTvKeKT(koo zHO1y?yOB!UrQ@a8WS=ADp-!i<cb!b8f?{(i32bb0AVsCslVX#RN~h6lO$B`>aj<nR z#kF$m*FKJ>2f+iQpz2}5s0}GF6;s4?{tSw=*4n<;)R>%I(U~lCgn|Sep?*#!8~V!= z{7219O3jF~NU6m<x}4{x<s)h}+T87_X0u2SV$oiZr-pQY=q3JuNd3hQqRpV`G$WK0 zdY&1m%FLGMY?nwGCqPiR0xYYv;vuc1>#Ve!z*8zW1*$1?4NS(juHszH=~LP=O=W8~ zK!o`%HH>zgn&bR{T7m)Iz4tUcAJr!%=cD?Rhm`3894Uka|Lqb8Lv%^!7Cgfh$0eOx z$d0;_Q)HLzdopPL$|)iw4e{lvQG7|>ds68%-`7goe!>?A0+=<E7e6H^tf2s)A-JM^ zaW0q`HVuiMdC^E&kRY8M?xC`Qk88{t&t-sZ9HqYQnb~kiA3FLl90D|Y9o>3`qg3cM zFjUV)l{2a)yl6=24wN3Nm*y@J9c(_$fv~f7I?M^D_@`gKc6#%Bn{NPGECN)#X?kB< zZ+_`?v3u+De&f1L)0;2<$X|W-2OBpLOO>hs`;n^Z3{=%QP*r29iU4!3BAQ6o{=8xd z8}i{->CY>c6m~1LhbJauEM0+NAPhmlUF>l>Rqy8PArO*nX7v%z96MOVmo;=ABi60F zagAA6e{QliV0<z;;}NiZ;3^(3Z2L+J!)a<s;T$h<Qe+;HQGG(O#hCMLm{87M4r{r1 z4KHFM%oCOY3k;E$mubVt4-}0*Z{c%ejE{#!(7xS^ZF~z#uA=bsk!TGZu9P*lUFb$^ zcs!Yj$GYz-&Z6!fp6JN=f+@CGafl*|te68a?9ZdWvJ6`Q{&pFFzwN#o<RL_Tp*tC| zX6wRiWCyJ-c1N~?fn;A>;1U)qxLFDTX9za}TwGqfr0ASSuy>lI>FxyE<yZ&l7h{YK zRVi>k#&m@?0f!1Xh<gVY7Rb7d*8qM5L#*5;ge(p$yXrbUVp^-C@K29OAF9^?sDaQ4 zQXj1oZ-Q+wcYs};!1*QR)&D7R$U>ebG7t~p#)Dgn^-jOmL%XN4Os9hF+jpZ7(GK1m zVfx7W@+-X!41Cl|z((OlSiJ5vy^gqcKkJ)t*#I1P9*Us@;*YBVX5){Z7zTk>7?fiy z?HCUX$btwMi%xdauR{V1uV1UJi?avFYbLEo^+VO2*Xgh%wrs2B*a-4&p~Z!~?`pCP z*qtm2z!?HiDTF>7eiq8|AG6`BxL!#-!@t88dX&84hVUHCC6*e6)t4nvx_0#O3a*a% zj^DcvFOD@?(bA{{!9vlNC>9k2mHau%m}pjN$<5u?3bJYVy0xp?=2uc;PBhUlHy3YP zv46b042NQplBcb)UfVuOI5EKmhXuw$(t&>RwvMs#Lnh5fLM+%ZR?f7hV(}g#C~v=< zZc@BD;%Xn`;-PJyrGMGY&z>LPRHz0dKb@6bwFLFC$dzd6^FkOSGbsZCgQGDjhebzi zh28R9!vy9r2?QBQLF#pRiiQ@c$s$Qnk%{KLVN18s>WwIFhxD}hu#X%=Myz|rFdy+B zjn#`aoRBKBSr|*qY{D$G%J2NiXY@q%n=ksT2e*H8T7ZP%FN{K~xEF+mW4&`ykfagg z-3cf9Mcx0}Od9<gha}~sGM&WyO9~=CWZ#rQ{CZC7Dm~ltv_8Fudxg^SULna+WMt}> z;-t=Jf^AQ(?iETE?1l|eTDw*VvzV0~yjBQG+#TDsLJCY(?7kb$f7>)!u_Q5K1@Tnw zynD*06wiC~d_MTX;GeHbcd&QS<6^s3=vE4wGj%A=l`#^-G&8+ER;}_n0#DF}DojGF z$FCH!y#`kb&4Con9J^{M<p{L^B-8D-IkZ-It6eGNePbSJhb6RGR9Wpv?5(^~$f}x1 z%#ko$DP+)vD}`)x7VuJ77YXsBo{HO~ifqPDN4E-jwNO7hQ>S)!!Zi68lJ!0tQ9D8r zix-#4Rm59Egx@M876qeVVps?VL;`J#=+-91Kr}RIFQfp==Iv?sK4=5QVc~Q53AYM~ ztopN0^%Hp8suUh9ssl2B1_^)|e`1Kp<&$=FzmmAQjUf|CEC0*{E2dk8tT_G{x>X3L z1v|NWe>09Prb9UIt{IpU5<+I%i;%-{--m|G4MLx?&*M}m+SOJ&a7Sb8g5YLl<aZap zA{#n+s~+8t@1y$45&YfuRdr-rUPh;!zVM2)P9#%v{gX;!M>xm*o3K2B4ii&+$=EQK z-pXWF7L?W@)5@-kw2h-Q&c$j}+Dow5%t|CBmu0EU!wMjSYCnb7m4mNv!N$4S4_>32 zj%L*-Q;wmF3hfsQlUWtOU@ZxfoRQ0`>Z+;DC+BhY&!^k*4Pm}k4*4@FcEUg^h<V4_ zJ@CF`#{0d|2EZjFjDv?{ipS$A0t4uurl=|mkkLQm&x7sTHgq6~x<H7*{otv<edDV& zTL-bq>xw}TR}a44%)Sy|rZXvj-|6H=LMY$&oi4IgBQ-qOyEhsJj+Dv4I*+cssscZ+ z{x8iq71hfhtp&fA_ykE+m*|<eCh`tk97!NNfv&|SHLs+Ag$&DXG1W#zeMomJB^ZEU z9)E##+2nh$!UJ700iVYUeRk!n<V@Se^sg-Qi@i?K({`j|QoqU#OU3di6@YNUP)agr zgTZ~z5yoN{%#oZslAJrG>$crc)q<Ub+;=~x%o=2Psg?{v?LG`{p-3h8)rx>9;K{I4 zq#AvwBGM5uOhG);Q%T<k@6%35$XFj#fjs_C!wcf$V(Zpo(848>h6Lr@Q2bjE=(s0L zz4F#UU%h#fSzt;qN~qL0GUj4YpkZ#H38l?IJt^$=`HP?`k$i2K4+vK!M=&{#D2HD3 zL;-KRF8RarYzwU9RKt-$8=x^wqjjLfj*3wD=pdX+1?QnuCW*MKAr>rPv<^o{aCCy> z1GUYh298sp(0Nk}2twb2>!w8b?2V^W>wXh;{u>bfcMpp2|M3vv|F<Cg?=*?*lPI!J zdG^&q;ljg-A(w3%D*3n8#mQtnGu%uk{AImlG83c_F*z|`WX|04D9Pm<C7;GKNkqB2 z+5@n;w^8F<?JsRBS=jNTG`o=CT7>V^T4FLc+{+FY_`5@tW}BB72<TXcaqOo}TUz;r zm$KYdn>1w4vsam)8OuW^iLmBRMl?@}rWL5k*}axHvN0s<3w#SGyjX6WwAMn8HOc!( zK`O~9D3MR8oN%%0Z%hSd>-_YaS<H5r+Sa|r*jTBvbYJp?6uh|Vt8A<U*PlyCkDIRd z3%4#GgFg1f?6v=xF#uF8u3vR*#u(V9j<#!q!7hp0%d#KZ-M>2Y#sGJbBBSNe{_mc! zDiUzoNliu%e)oi9c%`e-T9Gcr339hUMZIPy!R@RVmOj9wksFpjM!Yjv5+5QDnP+zc zNny14<vHk5<!&zo6!(hLY7VZJC+5a&qiBTTGK#y%;pND7_U@pI)G?{H+gFn*wT9Xk zB_>{yLb{Y09N(c$+A{Nwde?T0S47tKGcklyv#%<~`J0U8h9}ar=SJLKY<fSZO{qxa z+)WHiwK1$84i%R3E1l9)&bgtkoY?(HL{s6!5RgeFdS%d%ykxX(B9Y~fftjxhIZz!- zx5=~a=kw!Js3rA@VakCA<CJ+Yp5#Z=AQe4Xx=xkxq{6!Waj8<J*R_&t7nKpsuIDEa z53{x$D>;HlR*r;aFHzx1^GM}kSuZIPNdrzJ7I_S<CSO+c<ky~<MhGv&8@V3g(lc0% z+sNGDsrZQzlPc$JIuSd-bS>vmOi4H2#x80ZPoD?HQ?$&7Qv^4Kbv9d11T&SrO^-`? zI-XzZ+DXyuj+g!?HYC?3Q6^ZA-~~2VvcZbnu;goe`FXL2WE0W!$JYy*&90ndUX79Z zK)TI6VGpJNiGQIPcO<{>X4fixjhKx7bg)jzlBL#-`IgK^hXi5JFdU1dUeCqkhXSB4 zsr|&#uu<fVUn0`_bbgUpSI*farY7|Zf5efpPf10=aRb<fDRE2?)fGvM8(k^2LCVFa zzUII_;KQhs9egkahiMur9Sv=xt(aVuUM`&oJ0kVO7AIaY?eZ#{EaJI``PZ4p#)Ne0 zI$CP#O!QlRQxo>kqv9PYdJx4g8`5+kn>OS^0wozQom->0=IM}5teMWjjJns+{e1X3 zZaOoahJq?*AAN<IZpc_{N&vcV!022C&pJA32ngFH6an;NdAc3bvsCPTWs`}>(1#*2 z_l7FTU5jCL_l_1yZ8R2Z;)N_s!|((M%R!RsY4-Y>0C|N0P(sdf6*8kiB0+njGC`$x zQF@&t9Q_#j7@45#3<*!Cm5cXUzw}B9(>mFJHV|o~6KHEPxjdC2w@*$Y1vT8i=Zc98 zp-SCjfPw%!xC9}KtiRfd+ahbMNa)y0jyb<yn*+Xa`ORKhaOGC92o1@T>Kc;Dsdy0# zBJBDF5Fil;nfoZa=6f5q5cPC(wSA-SSS|gixWT2IU30iqa9{L9mJW4D2W4)zTWjg2 z4eGcL?zUQbXxAKagTAR=zq#eUsg^&~Z$7%)Yw4kWbJ)GOmj0}yu^M>HO;<un3FouZ z&M&8(E^|IA-cm~s^~)t!7C@N+r3{OTOF}01(!I1+WO;(KMMKM1zsPq^;N`7l5p&x8 z-PuLVbys4OpkiN`{n2TXPPB^@<I27v27;_pF7&?bHoHhB!jFo#^(&Q-B4tffyuGY3 zeGE1J-i#XI2|>>XZJQoYZZ={=1liB7J5GWCx9cV*VQ`FFvK~=X&!Z!)3CyMw9r!Me z{;~JVI;9F{bc)Y9p+=|D;v6#!fd$HoLC~-S7c6Pw(JYiMj$KwkDyFRUhrUy>G_5Wz z#o2b;)e|@Ylk4}M0EgvIFY8ZU^GTH{_3?>)vkwh-c`1;o7SZJ-+2a!Xh9LyXX7PPB zF*eg-`HDhAK3|9B0OsTElNmspufwu&q7VTnM7%jDhvm=B*C(^i@<gQx`pE3fQx@rF zwxjZ=ml;ujZz-Jh{h%Y=%xKW3;rt`ryfwr=msz)oAjRo_wxpPTb5!gSr!i4UM~5gY ziIh-CKIypEyVNvI@_01!k4c!_{dA{y#biDjD&q7K|Kn*m(GGGyAD+v`R{P=F)M$(~ zA{6-&V3_|hXv*=ixZ~QJI0YsGY>4gl+qv}F-U8w~^>IuL5!3+qn^m0rY{Ler$f8Pn zMPE`y7Qo3IBW72GAEYV@VQ|gCz)OBzC5IdY*!Ap^Y#3CsZL+T<oJmKF;QzJ?o4-KA zAuRE9^)r=oHH?j)quG|(lB-CbydN)lZ?GoXg^u3MVbi8IWGne$nO(sT8-z&{{AzgX z_noat5&F(l5fFR}z0<eQyXsqLmjN<>w6jr<%Z~i$*BsvJk~6zCU6Hn|H+FF^Pb)oP zh2%*am3PYpQ?3igMq@nTa>COnPpLiCcG^%GJ8f4i5bQP(fWe1)qmTW&pKb);GshaY zA?K-&{u<Imn*f2pHlQSB!BA5ynoZ1VS|q+-sfqUE(CG&pCBfbP#anEHVLlB6>UkzL z1)D>kj1yY}*C7krERhD^j?|qgC6Qf9;im#sVVphqD!2nu;O00_Y@5OAcRopIA~tX4 zi|H$5xWo^d6^uVBx6GXMtl%lsjt1uh|KgdNS93o`zWwTK*HZ+|k<mK8kATH>9oIxW z9B-L!ywcqWsm;n1e$^&%w9?Q>cH1wB8{Ly4M~0qADzO5~lYLw*c6AR*RXb?NZ!lfJ zIxX;G8NxE3F3PzlS^6fg7rbQ;@yRPuQ`ybW6od{}@(SS!wHuUUdM58I`{euG4;SRS zD#q15W=AoD82drg;#7?8#1i<$*v3><b=g0jsv6l}OIq?eOh@K<y|7uhq*)=Z+Byd@ z`_`;-{an441$910=zl(^`lb9!&g2J9S(g9y?D9+oQxle1_RY#d+xdp<fs^^gQT5ZH zi@8+X{{@^7IB{iP2aJ*ua*V+CalycWt0mJQc9gK++&e$fOh)`--IcTN)s@qv_S6iG zb~Q|LsP<0DgUF^h$BbXCF#Y4YR5zP>sqO-0iu^)dWQk$hn4&DQOLd9jvaL6+OLfN& zc&RS;z|r&spwifcU$HyxSL_~EzxS3Ks_edjoSUXJ;gko(%eY^$+eRAP=uV5og6Ute zi!O(G)+2H}pIJmKgc9B5wmDNiMQf-^d(L`Oe#I_340Vld|0wQgM@EX56`TnKEjrhU z@w}~jX?4YJS4*jOwGvFZ8%;0FWl8nrJ{Hc-du3FMReg0auHl-i>&nY@tv<^ln_Ijw zT&_E=t8r{cZ2M(he>HkmF?sfeVy$bKZ3}t?bE^eF(pZkap1??q!KQqC3jlX>?-m6Q zznTCcj1;Ijt2Y)ZLD+9d=!XW(OURt`T^biQ@>)I}(F}caT{HV`V*U8u#Vlk^P*B~% zYYGB0C;Db5WRz=6g_D6RbXST`U)tj4Ayen?bjO7{7xriEX```Dx&LLyYrK_kW)E|; z_hu>W;Xa%SIFApP;N0W)INtE<JiwN>!#8+B$&-C)k;!ksQz#f(_8xIHD{)kuWq+Xp zaHqinVn9+jfSm?<j<{-Y@hauCw)m^+twq%J*}MN=QaISbU+(1!Mgp7Q=dDUEQK4CI zA@?K@5O57y3#g6|D#S;Mky=ODpwdhAH(#Y&IBWg=vpM@~M*rQcH~osItm4(GxEtD9 zEfuG(qZq5T1v8Y#NKTvTs2W|lDnXrPihTa6&wn0T#h08Ebsi*}0RtVEMlLp_8K(KF zFp+B<)5`mvM@7`E@eucweb+jqYLAT8vNZ7XE4Jm9u>p+L2G>5mf*5wnbZU{Ecdn-G zdFP&+{iT4P)q<F@tgKZFN5$u;1+&@+XKMARc)c~ZmwX`2o6FPVqSt|`__)YM>8N<! zagjuUK2?5dt|rwWULZ_|cedh0ilbdzVbnp4hto=r36IdK*^y9xAaCSkO8@fCk<n6# z<a&6Dm|ww$`f_06iNFh$S2CY}zBd%Sl7}j<WCh<UE)QPGEvZ%Tk<Z;XDQp=w%YzB5 zMe>-5E5C#xOa}&m`PoW)V7>{~syipJ>imTKUc%iI@Me{ZF}=G6-2jTWMz8IniVS8- zNMwJ&$C#}#;lpNkrDZz=b<{HBrz|8{tN8U45BcppiabW*mB#zTy+P*k<O-q&WnQyT z^QSMAY%tg(_a;_ow>f%q(Hy<O;n#Xo4oAIDTGv`tza9gq?49~JF`r-`RENA%T!WI! zJ*}%}E`zagV|5&2TSN!vL}OfKlO3>9DfY+O0v4j+@_MAfuViD>mI>`8woS8RMWw=_ zHoE|pAz+2E1TD#!zqZ;&16K+BoS9*>TNSXo?8>6Igo&}2RpN1+80RqD9ZmLm&5M24 z;<LAV7&Oi`FSIv0h-pEi)wI~cCVlQ{ai`6KTjLqi;+z??Vn#pelj0oYnlLBC)R+@@ z_&rx)PTWyBb=sV`9bI~u6GF>BpEi#<QSZv7Vm0vn@(_V$xX+0@<NloJcc?Ze9uuTK zB^)1NM)cw4NC|6HIU~aJ0cOMu6dqtgRD(RP`4BK|^FbxUbdVdVus>ruoS}Wd?AcH@ zsmb78Z`CTn!Q01iGO)DUDgnyg|3dd=dZbn2)<1ou*|0f2xan{?;*vSMu}a*|Hf1Ia zg;l~LR9>FUm=2f6Gv>q0uGA+4nX4H=tF}rE%!n)P+;4xCVAENy5};=5Df5^S_1=6- zXq|ILT$A)?M88k98S&Ua4XcFXq+BH`$XOX!>&iJ1o)0i5W}@)`lcGP?^O_Y8IktV3 z5Sf&#1SBxWwAd<LDkz+_N~ow9uB{Swi1$M6CSo}U?P8t4A=CsC1XnZ%(oA40#CO7< z*^lloFR<6TEX7fd*xuZb-Scb3zV|*5Wq-Do)s8#mfJ>X0?6OxwqMk9NXTRSpc3c^< zmV@cLTir!x1|joRXi4N>!xdLbWa*ot9ueO|-~O~Mi7kbn+9|KW+#Izn{}p=YGvc@X zZswOK06j*R$C^pWz{}ox24aPrU$s589KO915zC1)nSzGpF)0~b)6C8p0sQqP@T7P@ z3D~24sulB?up<5LhI~lK$QoC@EM&A+DPL>VD!?hl>P2r6n4MRgm+5v=yn@o5@eSZh zFg2gzu**0s=TY;?6j-k4(rwRfE#e4`#A8}YxSP&!lz}2CAi+xZ=BHTU>>pngfH8;g zFXD%red~0@o#L{6pH^%s!{6<CzUDihu5Qb#jT@09ji78V$T}xK1ujya9lX)wVKG44 zYmpmm6c`UPn#~v^9o7|<`)Jw;V6y9^w<wdN?(7=fCZ<sW%VAS#)eyc>C2_=O2XU`X zc-a(?Pjq9MbUu(4*C$K!-$iXfO15t;V87=$y~%q9cM5ISaY2(-1CGdkP}gM2Nf&0> z(AJQ|wz{mNQ~cn}P~fkSPFWHDFc|Wyxp2&<LHSq5b@N_YeDC3hA8v2Jn;!##1kCCx zJ;1^L1`=?^yB~wHyH`~mCIj`nmfJ)usxbJh-E99W^Tv_UltNh#WToO0R56G}Hxy9D z@i-YdsxwlcM~ZmAU0U79KKCl7CuP@pv&N5wpmkC{nn$^1)+o3##8D-W2dV*8{SPX( z5|2W!a4Aj})VomX_y$t~JKx18DrKp~7{(D92Gl$cHzt*1%1W^gw8NntF`>TagSIr@ za^;sIje!EUFO`*ICMwR<G!uN;g}*5Dp<w;+Oa1qLdF2CR4f$mk?Ur(`7wzM#_#8aM zIO)i$h#G-4S-2`XF^9CJB_nBhG*w;cSR!Y6q{}OTiaw~IMnxlRroRDLHNrFD6TrxI z%M|yRu`Uo#B79!(25rss1_faR06})OvoBy7H9o7~J1jJzNcRlq%o>HHWYW37Ng#f5 z<F`$2@R5L#$z=T;*;jb>70Qk?r?Pu4b10Kvh@F-9G!c;NEKs1~mxG=sFhfs8(T4m_ z+hLePh!G|p`ZpbWawSv4J0#r)q{aa`p~)fzg3)FuYwr*SjxWsY@EwfU{Dz*8pX~bX zN$wFb|AX`G*f0KQOb>)8<diY=L;Q@w1NgxuKu93GM2U~EO&dU;F)!;4Oci861ZYs# zihTtSM+ZAV6-h4!?50jF(^SH=cvhAO?VDo?qhumuodE4K>aR2SDoI+S)+bLwcaugq z@9L~7WVt*!LG~3Zxnfnao|4+L=p0MEBrsBvzZFOfz^U$RJE`m_&H7Tih{fE91L_qp z-}6-SUk&Q~gicZ(U!9*srL&rZl}I~g&HxJWAe%XESmSh+tZL|ZyVMBv!q{(XCc_>! z9~FNJU&sDof~u+WZuduq4A>bm$V>`Lno>j&NM$jsgo&lNBPfLA8YdRNIrWH{IID^C zz3Ug9ZL_<-Ye-nYv>0(lS`4(<JA|U0R#BDon%U0o#3+e(ST>9ZqZkoz&YVp43}FV{ z{W}|QL>tAVFw>wgMuki*)(xG0g(>uioUpAoDl5Y10j&t5sV3v7Nme|Jqw$U}+EQ2Q z>%vokih`rT4GPSV5qKpqNuM$Ldg9R2#HM_73t;OShDe%y^y4~#i+;RY>`u<!kbQ5h zTOvDLZlHu>{~Lq`ZbsKMp?7!LDQ!I90s^eRBcZ>1zhkJv#esT{1sx^*W9$2zJ=d{o zP_I6_o#e6gd8F*~CPn6XkvV#TQdSbt2Al(m>STYcHI`SSm;EiM6tQ9@KYr3U%y%tY z)g*$NpGyV~E*(uVQ~Pr<kA;rHK@KS$iOp!z<+xIEV4OwF42W@_wD@<45cr|`2Z)== zx>C*baP(!C!&hOJoE<(3*#y9iW=ySUN06Ym>@z2-&Xu~Ph~E{=03v#0C5Kn?*@SZm zc~oZk<Y|d$DKq_$?oPl=o)4WQc0EL-c9cM%{iR@EOnrqQVHBtkJoWHZjscWuCic(I zS%QtP6T^(ZfPjTl*kq~|x-3K1CA&`<fuO@o<Hz8}<1@SML|Nux&@{=sMk|@(A8Q=m zO!tv3`{1~Aud2Ffjlj^=TLUh%BX4d(KIo?-v!3dmSF3=HuL7&SUzIV?JQg%D9N3Q- zjs=TQC<;&r2Lz|K>-eX|vg(2plhBJvTkT&&1S{&)V9M`OX;>;1*Gd9c_Af7&L^IFo ztxt0Hq}%E^^bx8gl){OmmQ}Lrz2SSeMa5H#yZFhzJIz)S@+t1s+vm9o!rmSlc)R4@ z@*7(<@#P1aNz)_iY-Z2dfSTh^1xH_6|25cBxW;;D8v50L?Jd13z)NRqJ_IY97H#w2 z_!eG|-j2<2d}FV*q&G4hZ<**8smBycri!@0h)f=BBl+*ahoddM(NlZvC9pS7QW`;L zQnHacd@47EaI<$R^VtXzy9GsQ6`%Pn&6Vz{g#L*q#$fPe={%>+i}(|2>%5}ZTrx2- zolHaiOD4vO+kUIK{kM1|079ri(|}9C&*x`M?zfF;Hf-y8BZj~_ewhESFDEsU_Zv3I zF$hB>lcG?3IJp`YfAN9)qT(<4L+7Gb(Wa;D*+L49B}=eDV<0YKzQ17m)k;8n0!h=m zG)c9o(B6eVds)RB+$m5j$iBf8BokznGYRbykHHMTs-?}+p)wxol7tDiIjg_=M-`{) z4;MQf70Zv>@;0(}v$4{i2<p}RY|Hk=RUUE%M)0LO^0sOe>`QZjZ^ejmiO+GNuCZVl z;Gw`x0|i26KokjuTIi1LE^VU`B<1M1Sgee>r&fQzswC%z7nSyg$*j+}415-}I;Ut} zmr#uSK5VC`8?2b;oHHWF9z@)Sbf*IngM^X1IkI04HWo=_Ct65%urWW|>rK{X_U?=& z&{8N?=mb3?Notp>M|@4R5r_*;H)n6sz6aqcmP*9lbfA7EOAaTUh{CNiLOEGhD+^%< zkT7jrncJ5nb4ceWXjGE|r+e~adyqs5-i#IC#}?#q_R$6biXGc2+(`mLTI{m076AlW z(!3h}vMOqS<Ebox!GG4oY{{5MW86)&PRj2;*&H5`R3D6$3d={8W2x-;j!EvfRC7Ak z#ppsZfA6vu<s1}1UIX_EAn!vKHu=;6zAVuz$Hl|Wwhk^9#|qqgtk@luSPLwbUD^Sb zG%P7L0Ie;Jy*l7Jw*_&Rz!wPJ_Uavwq-_9LC*0~?>qJfnZfl>v*|(nwIU(j_QocUs z%Wf0y8#N&uEM1vQ=o^FqI?!mz=^l@VAR;RW1?foQH3@?%iI#RV#Z)`8KCrMku$&BB zEvtON4b=>5sF&4g4Y{>#Fspt43o~Y)MrNle7yr7MEC|X)DBdJ+&3tByW_~l7qIGj! zk;4l!1>KL7CqQx*&%Xi5rv<SkfdIY<d)~ly%L7$lDo0vQ3lz^2lD3erClp`{(nVTL zaon32;|E>LIGiI!ei&C<x*W@icMKqpF3Dg_tV|&R0$GfS%xyLVieTS|sAOL!;baM1 z&t7tSF^NhtkG@zyN8dwew`SP@URX9U$$CUSdLWt{<q<m5qc$#ZVm)du-pk|VKTjv1 zCH~&($XBO@5>x0EqZ1iOH17htC8~FrT@Fx;C|&>Z!*oT!;YE`3KW8Gs1p(S1v!Beq z#)O=Zw$*c6{@>a_EeQoJKZ_uXdRpLmDRmS22QLYbsgCBGQX<V4Wbf=Ln?M7X5@yw3 zsbfsc?JZoDGQAgGJ%LWu0&pmsOy@Q)lub8{txEU9hqSe#)BF#;F=Ae6Zvjp3XRcRe zU<}JCU^PQE8Zs|(nBmNB%R0>W&C6+B{OK@F{#+MoxxB<)nW=-2BTxG(&Y65op>d!p zb{QcPCMR`5ex&m$#x9+?*3O}5x$RWGIEHDRLTdDcEu?VPng)=g2x3(7^g7%7l3*lB zz_VL##%Q$bIf#DZ(ZJ-9s*uN7XXMh<33Y1s`gqmp#}CDqk;|tyC#M;lqVE7F>x%@` z1B2N-K8l%oEbaz!gam5@8Lx;0CO0FhG{LQ`*Vi7nI`ESY^t@lCe0r0q0c_Ulyl#5s zMbj(a^q6XvORZ|I;j~usV}mvgb=Gj&uk#V`*+;-EoH8MUN{9uj(xKRT%3RVcAE2Ut zH^0k)Sb5YCNn0K<OtGCvg2-aicP4N-r1eiWOMf$Y5+JRYyrTToEF@ys^s6@Y+E*8x zdzns8TcXg!?uiNk75_gwFGSb>4@aYumK49eVXU1ro6VFhEnAf7H&Af;S+8cB(Kdm9 ze9QFsD{x?uV#2+#b=<Q7zowT2PSHh2tWnuz3wS{Hl*gJl#U8XR@}1i;qU$nllM<d) znIb5Q5QsQt{e_?NlKiDED@&MCdT#acm;8!bY7W(m{bFxj(vM$XB0XdF-skhCwYCBV zX63*jz#SNvT~=f+U{qN{(%&F76mV$xsQ#Lf1JyCBwE$w&kTo^J_F3a^ON={{*+Hd( z5X53{l!g{q`5yX3-c0D6iAQOD4}`{L2f`vXnO1xNiOURX2n%uE@DcDd=LqeYg%ov7 z<&dGh{}ALs^<UZdnga0uQqujz9He{46GgfP43t=(M>Sw}*hu}CBwd4ikaTN+|5T)F zRnH(@>V6za_eV_+PDbou?G#}~QE~S>F|@|npZzLxnPnJx(cJnINr2b|w!e$d3*ZP6 zEpJ+Gf%ELcyY%6(Jjy=2s-O4)B@UAtfhgO)tpDL-`hYIo9DzRjoc@O!^?^md_%bEx zAO5cV@Rb=KzM&7GMbk06>bd=@exeUg;R6#r`{uLyA1;4)XydChs=7uW1Qi4~2(CUn zi4RxI_;8y(2pw#t2TI(f4{``6a{IuCAC+y~&4>GHP;GfnXk3zd9kV;i4{YBCQ1S=* zz?P%<#*C`2)d$AHB>j3-f1wYH`5?K!{^5)Iu!s*@W$GWkrw<yBZ_a4rC;FhCe{BX- zms}A_+{}kM+ON<DwQ=i=4<FJ8_2cU^s@km&8jpXN@!>Q2@Kipq>&)&nDincY7DH!c zCmTe{drMNbGx(BX?6%{0<V(#mSWS>NP^uvDJ{g{l<q2`oRz6b^iTD@unPsb3DWi;8 z<%=itlp}^D*|*nnPQ6iFyOmq7ZkslP9$QN6dL6ctE*vD;hheO;Ds5(+lnw=*oK|A~ zveZAYD4FtqQdaGZ>+%5m_KAdzrM9i67qN2mBW!#;-BxGnV}f!vz_&!ECfkXFq9Rk~ z$V^fkp08+Q4GaEA8O?WXKpGkmE%BPjWg1-o7K@U|&cQ0ZRjWLHiTst!WA%99?5*l6 zpR$Kv!$YlW^)6wWlx`kXLTosbAoP|0A+g)Kk-g<rJfLo|Zt%!=dfJmsTbn%pW>#7M zR<o~z?{j1jr1G;>_hhoZXK`UoABPUBG{oAw^h;%>8Y*mws~H#+bw~4qRZhEXjZGcV zg2oU{a<%a^EEC*dJ>+LVW&iMkUIGmQuDKZSBo$f!BQ$Ep_5ewhWOdiP6todWYSsWj z(x%#%lYk>^;6q;)c~>*(VvGbB-G0_ff{{kl#nSqMjqHiy^H5yfzxBRo!%?x$m`kG_ z7gr2pz(IH(c^$f3G=fOd@mW%cawRf!92Y;@MhO|B>B^5nX_Y-|Vz{{HwWj<S&QX1g z@TPN?*iZCB(G8ZOAa|QvgxD5r%GfQg9F{JuH|iI~+ZE?BUZWTFB3N_u`1T$55t`es z(mppw<3@~6jxVsC<=Cq!a`Y3Em!BbQWmlEeT8#t}g623(1l*{%PdW=tJ9|6zxVVy< zvpupWC`gSP);0^w;xc_POGBbBF$2+-m9?n`)9WV2ra6U_ma{e%m>0GbDg*>^_He^5 zL>$?<C?DU{%kpe`cr&N5UiXGg6AJ)@@0(i~q4EW%G8b8DkBzpsG}gF7w2CW1tvB5A zn(_t5D^9cry(liw6as_P$z~a_+W-f97@yHj81VDGtw?RD58jq-@R`N^n&}`l{;EyS zNTh>t00xIi(ddX5ow)=eflkyuQ)`IR#w7q6QU+74ka#|Y^{coqMcbzR$VZ#;=mmf- zrqfIH2c~J(@euz*{*OuqMa42x(S^84K`G5QC{ap0hM6Bis>oh#U6m28uW$}tM4-p_ zC)a-a7M)K1)agV?(BPBX4gz<I+Ls7rz7+Z~Fp{BL@=Ia4yqyE>UlW!fNXQ1>yS-6G zUKrI~0bJiK*v9nJ;K-NM&=WB#!7*lmw=VWKDx<Zwzi5y1_}mGd0;IjgReO48Q!G@( zrVtqshom+|FVy*QHP3-PlBkI<f*`ir3i7TX;I;!nFveT}f-a$zhJax-`vm<L1mjFG z+8#M~BM01cNp=&5LeQ>j>LEmF;waC^Sx>3jy5H{vNWz(n`Lx#ttPVIVFbt_dE(2Bx zd84?;KFR*;po6Iz=-{9u{0ekj0R%e!0Dw++D$vIS_}IDhjYY;=2Q9LH_@$;c8Mw+o zh+;?}C9l<nWK^JNNT{*jn~{7BG>Dktb*M!xB8sh*(D2ArO^+C(SYM60R>JAHsX#y6 zCN$zIHcYAztJ=iZ0!uUcM&3KpMI>ngE}GIE!$(3EY|@_JXc?ShOJmC9Ev(pZ&{CUg zu5tafSxBV{S+vQ7&-7Uw80wy#y%Tl(jI6avG_4j>f+OwrJH%fV0Vq$g0Y|e@oeG5V z-6N*N1{`EJ>ptcukR_YUuuXGwI@1De9+ak)^#$8__J-p?k!D?|_+Mz)ZE<P2{Y&di z)2wbdaj;~_4Tgzn?vO%}*{8J(GroAi-1c&Q1px92e_KmziU_0BEmVpQq=aag(ZIf! z?omEYdB;|{3bA4oHK9j{72$yq!|HH})fxHtUJgwhaMu)+@?R;D+W&yCQ9~*kqOjsy zr8R8H3?Cb|phOcsR!cLT_HmvH=U_>SY<Tc$t^0^esL#ID^z&&7Gf|y9(CTZ>XwrbA zZX1lFE56zPr(<axL>38h!2;B0=hO0B-N*;d9SlQkerHDgblNo^K!032g3}#1nx?r0 zz>RsHOv@Qu2@q^U-<AOaD#QA*6+d!typCMuy|%NTa4c;Z(@Ce&2nYm~E51g(0~Vd3 zWu0SC)Um#NCmiuc>S{4qA=%E|5GjmbJYhLqWM|#L#vASYdw`2IPDkvJKM*f!2hwVt z_$+g8W+(jY&G9}016`3K&`zT{I0p-)pE7VnghK`u$Q=l%I%43DOw6{0<(LCul0W-% z-$xL2DfvsUN(Bn6_&<Zp`7vAtJ3K*n5+96OO#%)G4!AW5xD$Ad+jpS<8RyMPve95N z@1gT;WjK{!+ZG?iUsAjRfsh{-W+pVlrwE0R+(Legjo6Qr8SM0Q=YV!~i8ey~g}1!p zX<;M~EUu4Xg%@hKByp4k1%Zb*BvX*2;e+%7`|0O*bD-hF5dKFLY#8R@dD%$lX*bPZ z12k&?O8xS_Q_#(5RC(vuWIUfHKN_0c6`H(upvmi>kxbE#vPrJIDtjpN5H>J}kI7(+ zN2XZowt_Gg7-$E(jO<W$N9HpyA(JrIiXr4u18lO`X^&ylWlIAGc5MQ!c`m$%ifd=( zx>gpq(3NG5yqt{824mUau-_b3a>)%gY0YpbPa}V$!E^`i`s+0&*yniU2(WE{nd};R zXfR}!;feQZZ)ebUwF4H$R3^LlSkoebGeNS~`s+U3Y|u(_wU5~?r^>Y86d}@3A3Z9D z9{%DrN&-2aqz5H|<9a=ap%P4tLO=IBmDp{T!XGraP^0yRoEC8b&J(D4wZ;`VNjScj ziav3%#K!~|7$5Nh`!F($=uvk+77ey5WNJ>!I|cyb=SDn<$Z_U5H@DpkV$_CTijV_v zYrF2EyuB6n%6*0$L$G}POxo|%GSQKoyE0b7#8X`xzIx+z7j2a$VkOlBf>vS60jD6e zci!IC>uf?S;w9@1Pmf-V;Ky^csW-f>H?pbM#qVjs#oOG-)}78T7E{({t23QlOxfv0 z7sIWG`LL<iAsZSl33xmO%Q0KSrcF?s5V7^PH=17nkQC={>?PW`(VP@Ef`Cr)vzT3m zU~s>{;1`PEwGB7{mge#{@L^3F1q2?uJOU)8xjSe!T*KS6I|W2q8O}$x;aMQhLX8N* zqc8@3P_%KIi^K1I)ZH%{MVzV<4NVxfq#8CLt41!-$TiiSSmV6G1}~`%9=6bPInzK* z*s5yzG=8;w0h*QiMI1YR<PgCfBDj)I93nW_;2{ooh{LfXKeVK3ojJ6m9$Hcl$#92c zxc+|N(5693?*HbShQHDYoQ7QqGg3ys)#hEc)$C2b<Qp0kIBaq48TE~AcV&36JRj+@ zNs?}dvwOo=Z^W)UJjcmJwytd8U5yOZQJdTGMfQx_*h_MJarl787di69R%qA*Lv-1l z#TRWEIJ~GMd>qZyJ`KoQfFMiV@awTqQ1zyKcnc8vDL*0t+QCIsC>&g5qs{@gAss+O zndG7Uq#g&-Dzsly2PcM#J->qsHfnG4Ww>-X4-dM3v%cdRY&w<ZG$9BdWYZ=Ci)YC` ze*zEq=iRU5NmGp2=e`DmLtw-cB~FS$*oIPfuk}(}b<C$M<t+x!0W0;ON>OGSpK5Ct zSPe37wgS;=C^g!$vZFAq!C95Uc~9#3DEsCMOjk33Zh?`tael`-ba<FXQdIX+e>98j zJaYC%k6U>}bEe0q6U>#2(?`t#lD<1?2<@rHzyg0(>gxIz4)mU!%M-e1Rf0Yc5#lKJ zu^@MJVlj_M=g3_ccJ=fgh&aVd3W_*3ax0JP9NC<gs>jq-kEWjIMhltkb)=Uc^UenW zm|*<0Z;I*EkN@riQrQ8rJAYpD!2ihxx344Gk&2F&dpk6PF`%i;6rlhnuu4Ifx=!-W zf5S0m?>~Jy=p@lVacm(q+OV>rh{JS+oscAUn|$FbDE@a|wT*g^a3)pT*BGFoZCCa& zeK2IIZ4ST;wvA>vE%vrU+mv;M9XK<D+=FgN1G`r`qN?$)fPy?dGTJAu5Sj*rVn62h zDoUlSN#yyiPCoJb9fk09oS-G<Ngck%=Z#k_vyn}sG$;@~_r8z^%EXu8#9o7_$!`-* z8oWm*^0q^7jNUSb70ejw#h--#$_>Yp!#MIK%p^+d?0mYfqh6_KcH=QYgJ_^UXb{ZS zAd(l~m`jhMkm>(>RWxKN6@5hPQoHaNhM5v<Ob2v`WN=i9z~1&kW!z(A{bl+7mDKk5 z{7U&4agGqGeF|hT$x)DJa=fw8Y_&T>!z0!07|(ddq9;9h@y{KxWa(3W{;Byy?`g}P zF5yWKUh+y+GMQ~d6{lF!`(T>H<~5@%pTGUm$M{50oQGdyWg8oMQTFi5@+kYp=^>&2 zssA*uOas|J@>1&jVOb~T>j^~f!81w``LcH$5RTbxZu#X|Ad-nV%n|D1S)WR97BT|L z6qAWIIYBj}&`+HqyYT2fG6%t#(UhV4r_2GkGdukV2_qx_HA#C%Anl9hChfPs%rFX( zALJ7x_0F~Z(U?Kn)u)5ZG?2Yc$u^+%1W5ax#KIG4zq_PKhG!6tSqa%C6=_!>&KlG{ z5arWPO}RL;Jo4no{@@U4A1v2?dm!yM%}v_BUy=4fK0#7{d|=Y9J{@GHf$Viko{O~q zIFR-q9t3Ics7Sj4aW-jJpGt5ZjW8dTavwEA_J{wKN&Dl?cqm-X6)&?LVO=VbIM6YN z)|^XE5T|%=^cqLvK#ISYq<?vEhHv;)B8ecC=9smzEo&?@f~V@xVL|x-#OEpK6EP4Z zUWT)2`YsPFwjMg~h)GPgIsD!5%rU<;ZBs7T@KU@{t$CbH*cg%m7%FEzAXxN<P8?OJ zpQgfy;7`K^_AeU6L7L4T*F!4E0#QWrp_7T7pkMue(h|Q8tp<2n0ggQ~04`bC0Viq; zfcsT4bh8GyWLdeXYF7wMT>U7gKg3uX?=@aJiY3vZ*M5x36boFwvD#<&8C5c{C#o>m z2gJH<7}OCs1B8MHgv44s2^>V)7U2q<^RrMt8atkGnUr*``=f!6So=%$5lE?8u}S2w zmwobSY~Qd{he3}ts_Y|uR1Fwa=kOGp|D9Oh%3w!VD#U0!sZB=>St*ry*H69~9BnnC zB<wB|ifbR@lU*jMUhb*VZ>Z9>5qoI+XQS-za2~#)8IOo=L-?n(&}krTSTTJc8?E3c zr(<+L&C=;fAy=+R_D0|*C3gF?E}wynYdD1m^Iz=|YX>|r#67TsHCLk>87UE(gu8rV zoh#;hGy!7#CLq3>(xF%GqjDQiOw()#mZ4}_(2hpgN=S7A1o*rKEyV(YOQksVP^ZR? z&^H*9`Jw5)e`s*bb;sS9(0G`(<?Tz9`iEc8hlc<*HLw6}B%KoR1<-V7q`(QFK?8lz zw8LXt#;&irHC_R;V%%SuPli@rLeQ^C9t~6STPG|_G{JsL|428L3*ikTxnB~^^SlWh zaG7^R!P?Lpg>Z`ZEs*mVkD_?FHpPl5Wx=_$g~!_wGIfyq^^&!$w4+LOfhoKIzmu{; zxuB@Rjw<AOJgbRlUpZIbE+ltwtJQG!<{X8@JmDvNW5g)vGFk3*aCd5Gm;uKbz_6AZ znwh;-Wz-0{RrrK}1cscH=slQ7E#6ZekNlku-dbErxwuxogSFW9Y<3^rcQ7k`2Ny7= z<~zus@Gv>xJ9roza<=av8|m%Wu|dauupJ_JFEsbT`n59ibRC@RyAFO=Y-P6VARcLJ z<fk^-8=g*H3I1^ITgmvfYi@&su$!|>+xmr*r+nzb_P)b-@Q%wV1Facv9)m~Ajl(K! zyT>4hU|ZS6XX4)WZ>KB7Qh@3}j)S!>?8IexW*2ZAR2Kq)mmN_Q-L^U-Kh%Q)(ftJ- z1HoT#Ccqs#>{o^+#`jh}gv?O6@$zGymIEk*W(UR&MnhhL6-{t80caPr<}66W-7Zgb z2+1**uM6B^sd``z@WN??SYzFilCks@YzI%ldMg6Ny<u;v6wf=_7RU^mZ^I25VmO?t zZk!DRu;>q3bd4u*V2D!*1qW2b4pG_?kLF~~XQaCI29>W$`8|pIf7>ofbVvDyc}#_| z5C`r%L!#Y8n=MClb2M8_m5NP=UQtb%W*CK@bfEYWjiB8oF4G*^ZE-V2CPPXvwKl%% zxI{^<J#s*`wzJt0S8I<Ffoir|n{!JzE5p`@L2ih~H}ZP?>Zy8DKC%TkB{6V{rHsbc zAsQdIcqO%He4K}|1gWrvNl>h5(kk}q+$&0L>0SMe6LHzLr|XSa7oJwCwqcaJ@IBJW zG(}P7d-!4`rkG6@69nFU3>gv2s%Gqyn&5cF51$k&&$i$wS2h#0=hlQnXvM{Ek=xAs z5vHj@m-jVIXFp!Rph?NkX9<w@x#~t8Jh<YP=UF+rTXv=&FqlL?OHaVyy#&?~URb#9 zMG6J)yr@)pnm#n{pzml)?fkvq(jCs`CMpzXpLm`V+vD+9=Ov|KUZDO%yj^+HjxCs_ zv7`6?T^`&EAdKwRqqX!;kc^<y=qlPuNaIYVry*vQX&k}zG%l4b)0UKJT=!I_>1ean zr`0ml_vA87B5X+G2&w0TnUraVmuaxGGL6Hjo=?kpC~E<F1T!8yW!h+&58hm+smlh7 z!Yqce_yc;HRInip8OhTmu!J<EWKV;N$}~hiPXn1{S{%}RWd^Z0MSIwlSSaO4Z24x| zow4%G?&cjW-|R+SuC0n;6tUmKJ5s)ZG>%`FZ+7P{zUrP6L_vt<8z|z4RQV?NCf#J^ zITaPK&_>Bx03ir)<r}C#A}!xQ0=uR1jqXR1!@ZnK9;7e{jH37gS-~A4_P?(V<SIJ0 zM=i6M8xnfcY}-(u-bJZvMX(_<6pC_I2HgOtG})W9ikP?WI;EbVjgX?2HLsQ}g%215 zENnI$OCl0|Gp?Uq_-e*R$6iASB_^CaG{d_`(M_|5ac~9#woJp48`S}c&-U4+P_0_# zJA8&BcP9#9l!=#l!_>-^eHNPw@B*mG89hR(O@SRgTUTHgTJ5Y@>GTXnyahjj=WVEx zoPrYJZM{@^n2edy#K@9q-OFtMU7&l`6P+TZuk>DgP-`M5EmSmCf?_f%xF#!vVOhga zjzAyxLZS6~5dC(1^?)M~TCR-*q8|&K-Na}+Tw_D9q-c4x|GOuwf<Pp}7tv(&;CD|r zhFAJ2d7N|?8CU|uPz`*BB`bzyveKYrH!OdQNC#yE120!{)rM*&%D!?ETKD(AT5B5P zyF5X55j-}Y&_GEj8fP5RA?gnt^yPnl&Twf6uy-H2{BNF@|8cfPdz~3q_}Td>#G7_` zDc}k>*+K9XrB{~#BIa<LAC}o-y$&smYhc+u*~DLljKdJy{dy#uG-s9jF}ZTq=$3<U zTVUjrLo=ekdEWzAHt#!4YZYKCX8}!BPAXQpy6hSOQ0Ghoqyi2?m3TRU*oo*`9p>lS z#)?>ds@SmuJ9407=n(54HT|HYPLRQWlc{9N*h4R+QmX7pdtpZ<dgeGTodLTh_-D7g zdst=sA5Itz?bDI5x(dP7DSnHv3MY-Wm^{?mDW2-7qi|5|h&n~C6W*O-g&1_F_!<Yk znPzO>8pg2MA51c>7zZK}!<12L;V_|t4B4kR)59)PQ`Qa#ceC%FBu$?dGp47wpe^>{ zW=3tlR4Y<`sE6G+AW<Fe@NnQh<b<e;izlBvnig>$pI2~idxP^`W*#;Gw2cP_sn_zR zA{QsR(oJx(D|{q4a{;?-E;w0R;eE$O78*)ukOZ0(i@aL)5sy?YoE^3`SG5KkI7+kY z68ehRH|aYa@i94Uh>zJWWzuZgetI*oHj-d%mL%IVMF?5!TvsR-jn_~)6C-H%gb_BS zBA7=QJWgW~eRB@zg;!P^NOXHR{IyvQr#NCTC2EJi4DFgFn%|0$=)NRLfjUmK%l!@Z zMaheiWY876HZJMkVv&?n_a1G2uE+C4M3?Pa7RVaRU9Yn>NqNP*aQVp;I?)~?WQxZU z3ukCW-%?0YPAx8-dU#J-t}BGlzil^F`StJ6Wv#(W3+25bWghc;eeIrLpyp&*%FMHS zf3t6LHLuRv-3!246Zh$tMe&}LrJu33pa%s}6NsVmRhk?2<{-3MbH7V-)-wvLKX!6R zy{SWdVo*tfl@fBlbRO`+u{Z^MFrnmzbX9VHfM~zP)niR`FBAj2&zUUyJzTH5UxDjN za3T8=T)T$CO8ZGEs)23U(JC#%_fwPuPy%#6-9DObjVXKwUdiy|V<WmyjiW~_Rj-tk z{cUyUJRA^@BRPn;C&m#X6caJ%kEEr4USbVaH9--MF@z^%>@Zg9KvNTTV3?`l9$Lc$ z?hk&<tJZ`7;{3nlFin)~tH)Z6o&GH+MoGFH1p2gF_nxqsaLb{Yz^TxmwVCiYKgCSA z<%yjM7RjknUkAZOtZVR}7JcdW&L!l!^cxmLh4`Snwwlez_Oz_KHtRidCe{Z<m?XZa zl(^bZur#|lMrtP*4B{8}luB>O^u^0B`@I*EkLALqI=`?fZL3{A4VDNpN#IE&BZT_u zwdvrZF@g6kG)*y*t?XX<XFDMi#0al42Fy(qM6A7ZtoS~H0&5(WyyEWiF)9A3d`ye) zl#h+#TjgW3_{Z|GRotgXRz<6&%{4u|iWyq<dPD9}^*<~h6Kly*Q)|f{8&;7$HrWM* zVy)r_<zu^FL&sXNyhFto$_&Gvp-_MyS{xx#8MTQ0HVRCcEN<$sI$@8oeYZ!4$R5+; z+sdGITKOHS#J7XUGe{${9R;sdiH|<KRpbjxLfX`zmAOL1C`mICH+9=mas9<NM%m@B zV404j=qMKrlaorDGL#oXdGu33_0fH>Fc&PbP)3<W+7u+e?A@zG8Lq?r{@iw%|IC;U zcmB!lM~LaLRFn<v&eJesGO@>Wcvm-%XIeFg=|J#j3^O{u96}06y~2BrurmY+Fqh_t z>0mcVdcX>%C_9M0amFkm9)24M*K9M(n6M&iHXIwWADrg07=}(=!Hd!>fOR0tOsx<9 ztcY+7Z9OgpmKpVdsao%abW20FtC=r+kVe^UUB6LTUkvVGeNmn{`e4bk;$A>p*omgF z#(KTd3RSz*Y8<(SLP{cT5}q@tgH%cwXmWnoj;WNz7MWq5p<cxNM+@vwwy92(<n94X z@@n@v$iN@zEtk~qu-77Dk3A`xrO7_*@P&))n2z><*+nOJ7l8=d5N110>Mpbwf@WuL zJE?oPy}*C7zkEseFneKP$liRiG~l7kttXkD)<Q#Pe{)h-YFYu)$o}FbU1@2>GdkJD zCwHZ!&EseB<x?*)9c>;zn=ji>mc3IYU?GV)Nt7Lh_iT=FKGAQcaAA_MvG*eC@`#ar zbA0Zx(XhRBUsvqaTgTp7ud6<D9Su5R=@4}VoG$7x(?-1pLTOPSWp-N)uuP9+QESAC z7l*x$xae~=Qo&FHHN<gsSCYX#VQcSyj(CK6VhRa<Z5>s*l+f1y@}m-c(VUU_>Jv3V zXJjUk#Wc!pIYpD2#n*74R+ECD=6gPUQ<Q!1ImVuC(Wbc60mggTnFjSLDseFPsHHS% zN-(QFJaB^afk}bNeI9ivr+iRG_DbJvV#^M~U28LIS0|W|QCo#L|1sApB$cnldypno z4j}UJ@fx^B`U6*U1fY}s$qR#fhStlFfql**)U6!BKxA2oxrd*l(PX1;z2b^O>efav zin?`q^#1a-W3N~GtEnQ0pP@bUIsAasvuT%@p)8=&*FV|R+0z7T+$?g&5O6*}OmNVJ zZ=E(%#2xhl*|&~JrnHGV)m0IeFWYsBP{ew?paOH!!Cc{5;h((6z?4%+5gi%5<%&Yf zt}BU`M_WoT7aXH79~$i%m=|)}O9{}tVaYcX;}tBq!$KTe;pju&nquJT_4=~$@wpn0 zA4A&&n*7m~3?@gKFl=NG*yew!SOxn<+obaWL=dJijA@3z!^edJa5DPQm4$TXXeR)0 zGWxN<CK5ZgYk=V68YrP@lMkxUW3z`L&2B-Sm3q(G>mafCfUPbE43IQlKB@SDC`5$> ze}Tepkn%gx;V)6R&duNrLnZpjq<n#AOMfWW0{8)IaEeH#CnRcQu8Fa9D&b#Fs71L8 zj7^N2@{kny4WX&ye2&NbQtojm7j>@$zHyA>^+Q~}aqggF$%F9|wq3v(pJx6`c1LB0 z;>^S`mE4q%Z|QMclDq&`>Hra{)7Q%c9!_+ji^4fzD7);}$v`x&q&O2BdiK3n^NJ}X z<NQ`CKF(D{)0@A&l|x&n@<c3~HKc=C@9)>Y!>B$byZ%M~&R@zZFqpY#W!bK0(M?pV zYkDJ63m`i#Pfl6IAf-}gpI?>wUBVZcA49eu0LX8-Z9Z0Qft3+(t+BCs))0LbL0^6a zqqLF~cCB1bp+fOW^4h-td}Ax|izh}k=tCj89uGS`=-$0wrvput(-cZxl#iY(4=3UG zcyTQ4QgoFE?+mGig(rAVrH?j1j_-jTBtF+oTZ}R<q~5O7N4%wsJYb7fQ^gr!5<x6a zDJ|UQSU}g23p@(VqOP*Xslv1J36e&C>ZopK@9!`#6xtK28Yy;tiT+F!ckpA^joli~ ze90OK?HVD%t0HyRS1+GvI)Ox64N<a~8LR9#O+eGGs?FY}KEOlpVM)3BD!{}@NiPZ- zCX-WoP~tKbH=jUpRqnLnLJ=Jl!+TJ(lW?@Uf}q!!Hb(--itq}r6`H3dxaopCFky|W z&1~<pd4oNW(dS!<kpvpRwT)Y|3~uv%VWVWYE<;_?_}Mg$j0f&Cwa@e)A(^++{73C! za<!t_4ILifEhiYdB-LnXClQ8ZUN6~4$Amz8E@4SCjbEHyw~9ZTU(KM@hEJxAbd7aU z9rC-Fy)lk4T4MqP{Hl=bHJZ4hA9|Sc1v4NO+wW$qyL@zTsf-&K{6-oBvS+?Q45iMJ z*@&Xr*HuA`vw9-xnMhJGq@>u6!)P<Rwx=m0N`u>uO3aUS4GzcQc;H$a)V^BGh}(>x z4;64O3cG{+7=&o|4KYY<qJX#45T0w(*6q#`FRTFWWA{82Z|2XQOr^83iEPws>XHkJ z%D55oie@r&K~sDfN0J6?m<2*w3$37#g}7#RXV>m*(_qmHI$X$YDbBv&=18vHDAtyN zDsfgya8`n#a8}}aP%gTgzVMA(x9`}wdvp8-1?Gf{*?ma5>v34_RhkOsyOilh(L}yW z$pL+r0*>8xDXa7GiKK`p#EypLlLh9<GXaK;J=22xn7Xz`5zJN|PthyMr69sgfFb+b z%tt1Mk%y_Im3KF+i0~UIqBUgG-R9gzzq#zn1zW7zURP!;-L<LwI^p|pw6SNVr7mh1 zn#Ai<qhU$0(>ti!h%YlZ)_ZAX3?6Z<BFejG6_Xen*SfJ0lJ!uKfu)&=QHw?O&PG-w zT)pSc5B=T5`_~g%7{s!QZ-Lmx@f0QIuX%16Ue4-`s6`5Z5_1Zn$`<~mB^XSh9$Q44 zKV}M2Jj<RLJps?iQegE)$~*>guMDb<u`zrQ;Z=}pO|QTfb0~E#Qs$W7$Jc_@ac7Vb zYyz4HBLht;D~={3M?dW<s7bBJiuY+2CBBqVbC>vc?pqOi)=RVC8aC#peC&!H{s<iw z+x<~-%(nU?j$R=~8jSFKJo7Y{6V3D?&1d4Bk(c@0YnB&V$=*fqI?a3u2o2qCpqHT~ zI;~8~(2`@4%V1uhqPY2e=!kBc=4CHy6Qa$I_fETf!2}iFV1VLFr3BzCOk}$~)e-=M zlaPWKAuf#Emdc?-G5~dLS6y&I5gH5LR=)Cqpz$Wzr81oHjs%|Fe+09~VxUp*nB)p_ z+NyyUgF&i=bKl2q^i@+HJ?Bs`KPFkHhHNbeVvT+TOlamzy04YhTiJWWr~sr{O$y7x zgTY20#iA}l7Mfz0$&|7p_yyjkYZ4ebui}m+ycxwWRVAS;rI#m5<-TH1+~bE1L8iS_ zyM@7Q-1j%hN5r?3YHJ_eV@NBHU0+cuFcdNtQJ7RYdr$ELzLkd=U-qR21{c7yvZV^% zCsDH4{P7#3LW_)geZ5{T`vgON^)b=N*W`$5+q}(zz|(?_faEw<dmBUT71HSoS-*F- zSJ{%wm-W;JnziKe#t=vdID^DvO|o=p0)ZgAcv6IF#L6nmJ@!Q^oq<BRY1v)e!^iM^ zXc+J(%vg_OHPtXS=6DMA%J+txic`!_7p~C65T?w+!X!V40L%CRLpeohRZECY`6}Qa zG6;3sB+Wj#804XDm3J0(ouNw5$B`XT{Uf(VtSDa*-B1M(u=u1!UK<`GkKD*PbUuhO z>gd}JSCwl@)u7x2w3MqSsjjvI2+2`2EJ8V@*O6I}Maq+S(=jf~yrR}5*_S6=JkDUN ze_ehEUkZ(h0IjTPxpd_No2c^&E-L;Xu06oPm7e}ecF8lzEa~ffYl#kJA7|L~d*f@Q zXG?9z?MRM<d}C+YFJASLHQI3}VaNU9^3`|T*ZHf6Q1*Wy6!-xqs6j3c{dR53NAOvf z7D~JzX1K6A8#PAUp*FfaSQ~@pz2NsoqEZ4gzVsym)F-$fd%Uj)7gdyY2+1TP<wn_c zArxgvnf+g(Y@v9o9u}c@_<n>R2(Jx{3GxVO6g|cFZxlz#9Yi;vVp5jAtWo@LY&Fg1 z$jC^G^{Y|5UH9F!hKGmS!#Y}SAQGHo*w%l@xo0$q5rAJ{x@wI`v@^jTQ0qw!VtP^> znBiDQzF4jiR}vIbfTOIBUcp^vFq&0^9~_%k4M)uhLVNxopzoTa52g~IUmw^t%~63J zc$i-WIG4^*fvXDUg#-Lp=cvF$wE01R_HK>}Tv>;>d}WhSH5uB@-5Bp<G69=hhm2$) zZ`-7p>yS-Z>FDxg<P+gU;?59l*yQdwdw8wWO}Cd8U-%R8Q~q+}97U*!-|U0OF|A?X z3PNl<Rr3QiX2*Ua5!)m3KkTV^kT|y7A1Zeazk>xn?2lxSMsXJzcpNHcQ99*`?3VT) z;fdOK?vjmZJz?gfMr`*55QB7i6p6w3&KmAfy^kyG%y{_@Cp|X0HKy9Vs1xFB7uBlD zz1YZX{@~6KOYtQLu~CTu0`Ky4FH1T65%|4qU)Iw_-XX0L1}!jef$Y}d4??vKoAsZ( z3R@o}Nc_K!inuvh8Yve*9|X3^<n|c*g=-TXZFc`Gu2*?-RJ=)t{*cntDp!v7TM)Jp zf5K(81Q60<W<Aasx5eT%iMSbm85FzkRK3?)$`{zGYgV;=&)#~Xeb50?zAUCZ7Xo>4 zFR6-+mn`i@Qa6$7qhOAGXR%n_g++>S%bzs+<V*ecfzw5uYCXIC)%-qNH7+dIC>1K6 zY^c)ycHye%Y1EP|kMdPf9F~OQnPDVV4f+`v^Pb9`T5^Z0mnC0nhc|~i^?DN-bltS+ zav2CYPScJpz?GA7dXAD$qn9L2)x3Cx;KsRrfR%-KzW&rE@n%;H3s37=4QBXLOCmKx zfmT1wqvY(F{?uyNDDD24{?up7pZZkC&;k9as}^eh)MwArpL&ND-{4QZ8v$kh4%Oam zcWJk-8}`)|<jt7_K-KEufyN+_&`I01!9aZY4|l0PXuR88Sm;63-9eivaNSywzR3BJ ze5qa3xI2g%yP73E!(R766{6{e4s7q$i*1BBekfnRdq^m@BdEdHIN0+8bP@U|lyBGV zCciJK%@hehknS*F4vKJhIr}VTsbp@=0jnbWTyVqaSF)#3aLzmA$Ugg|D(l}F=kU+4 zE>%$fyr=d#fLQ<h_qESF&MbXL?Xy_PjLN@QeU=0jfGe(v&AH7CXjY_5k@d_gDO1>& z%}9~8Y%q^F+F%N+W(^bzaGzZht~C=%uSa@xT%qC(%jXT?SGPiYN&YIPyF<zgLuTB^ z!M&Af5bmb-PnR3Zrt`X*9-iYvr9xL$UwA6NXoN3^59|j$qPHt~en{A*L}<CH-j_3K zDq;CQ?7a=RT~&GSJ3rQ1d+pCmFlq$Ob?$9?&W<KRdpQXL)yysOp;%+9=VI%94z=Fr z@dlngK+)^<;mAe;#)>vpT4NjAw55U-EUnt2<!V4wDyY#?ODolgsl_9<Q4wiDxxfGa z9doU<cM=F5`=O1Iy~Z4K%rV|E#yj5ej`wTe?V*`AqzDv0^@Qec|M=tFe^Pz)zs!mV zOX<&m2wkjMr$VHzY0UMNP-?%DdQojbXwDwr7191wLUCDOBd7~RE8vxzoS`G3Gd{a~ zoOVLe&q5?q`Mg}k*_)rW`dOF#1b%G(`sU20*f=x_*{MypR2V91<5OMGBmpI3NH~Il zC|O0r-bn_mJou1}C?6ke>0OGA>;Yh)j!piUTk=|oLe(xb!7E{%0kLzXZrDQ~!pg!x zQ=2j3gAd<E+cl}Tq1`x{N;@3wbof+iiWHZ#u|YPAyKc*>JD#tdbqJbPSb)ajH)y#5 zgCyWFuKqE6s>oV|h{TsVQ~k})(ywC_2SP&}IwBWj%Cxv#FQs(ipnVRly8g@}bt)Fl zQL(5OsKj7+ch!&29moi(2TpUYV@{|_hLo^?oN(5ZwZ_2gsOB}*MGdko2X^s(K*nAR zWIA%)@WeCd1}%nMIJP#4Z{uqzzz;CCS3cs{9y1)<9TfD~HW~kJ`4CUO|12AvGL75A zC-8Up4k^xGpTVDZA!PR*J>WCKkEG)s@hNDrdiZO!j%r7&H)NW(!lrrHx!Kf>Fk))a zd?SkuDKmG5e;-zQ_b+&2AK6Op{)I!b()-IJ4`!t&8@*1(ik6%UZkMC(z(j9gc2|U* zoeGqkfKvh8>64P(VQw$VHUksAdsJv(q9^-37AYF2p;cWmw6!a3>*oSGYp1eZL*?9_ z8+CGQSRk3`Avpwfxfci_WirNdpKN3ojeeUKY`^QW!Yw&j+8EHuWPzsw-R3Xave73O z2)jTh`@<T>4NB44@l6=sp&cKL(IZ*tJqsfI;aypEfD6fO0n(xpwm^_6`i}7Ikqz|1 z1{;<O^!`>N*Qiwxehl$BQsCG{n`b7nqSxz{y}Z|9r-dkIHkIru8K#;}7VejmF;VQ? zty6-ow2v?MGHl49^krZW$s!Clm0LDnZVPlg@h;m<rk@n(*&x%o$-q;e^@jz<ZKml0 z6Jb0m-2!E@gi|DQ7l&S|?XU|aS%#ISayx-(5DN`NeElXCbCKiKqQ^XtC~6SexUw># zqHDOj&Fv=3QgV9<D@l$GVd$rZv*vB$=ClL1tpr9=yl7M(`<CDo$WC@#iId%7ZZDaW zx)qJG3-l8rXU+Dum3ClMbspVPaVHD+(8*ZVPI7H#TOcOIxnUaXWGn$EW%8FQ8#kQJ zjY)BG(jYrIW#Do!=It$T5`Hwl-abL7z0DK|Cb0aGv_s2T!rmMf1Ys{9$36~S)y~5v z69UFJr#e)F^)**_i?Ly}kRDQ!p2gmrT=+y!>}01)Jg~kvg&(ThsGlfS?HXUcPV|}$ z47u)8#UDy=z#~Esaytk>kOJzwKo!;3PK%=BDvHyK3QX`lMV`l}V`w+99OLPnh%>{h zQdRQl4o84h>K)HUc%d%|@u_yZs*JRUf)E`V9HN1$#CVjLQVCrMm)H1)RUiDR$Tq-e z4ap{a)6#69clHF?Z3jEiL9V+)?S_FVh8^QDznUqIC|t*L0Su*XPx9br>I#7abQPjS zwLKV~=J-@#IvjkZvk0R&)E1K9K2=j-Ik8_sINXsu@-()Mu9Q<7OpKTb8C+-&@kdJv z1O`|W5)yBwcnJ__2ZSlqpo$Q#*_v+u-WU{P<nn&{4cMu{>ei!!mB(ONAG5S$6Kcn- z$MV|f5qy&NF;VCHyWEgu^P@em(+Bkn2pTny8Pt#ikzQho(4|vZj;BD1T}ssqTJ_B% z87dZqNX=p{<4xtFZp`9r>)bGQjNI3?WmRxphP-tu89l~(MpfpJ)$0im&|KOUP9~61 zWXm8|=Qmj}@d<zZme#*MW+TWJj>`wdHLq=M+s<xP@%lj#h-D#u7T#C}0jko^=v@_R zNzb|{+44z>%`1C8vSHD+QrRw~@E_wlZ^tJqm+dsGzH*{YKFLCcGXlffxlrUroHdnU zJq4eugCq|pBmx4zE6S0lpgIye^1$&=wdT}%ziU;y=F!FTm#$T(IVz&4Ph#;T)m}6r z`m~A4xMXP+KS+n9O7thY6&twOIv5mayYg#KtV^_`*A5TbAvqAF;Zf`y7hA3D)iH{4 z-{07_pjFqrVbFkAgPih>MVh1}`}8s#vNVC{Z+!HE0(g({{!ipKV7%YQwV<8-8IvHu z=)Dl~^%j2SqPelF8z`H6U9?AA|Iu4`t@9_yf7**sd^eNQ&Jbr$syq%P<2nm)Q>GmL zx{4oS(yN_?nLp|UM0`szbfoluBC7MUnGqT1FnHQDSgd19v-mL9xwkEZ!3d;PH*Y}- zIA~SxJWKSmS%n$vr=Lw0BcQRW$z|dc*U5KfC9}_R=j%?9BpUSKlppEN!sD#-qZX+T zKXZ!B`>Q`ag+uD{H_%BT=RMK_A+cYVLBu2&MpJ1CLNw2wBX)>uY{7GFsImc!+A;d; z$W%cv>uuzINT=!LZL#2@OkUm3`8L$4`lx!(b3g<RcW1@f80PflEY-F)5^?S`4BB4z zQhjQTh59k>A?9<}S2j079Sq%k3(R%TI^f9i#e5Qb9{^Y;Il6+e)gi$KVSY>>sQA9V z==F!%AnQ=;u@-B!#N|UyU^$$}S*@`xk4ev%LePnTj6pzo9>|Ju=g_7^=taNPXO*lx zp;2I{wk=Y)Zs^udZD}H7`0tBWdC!Nf@E$+g(_$(4uh>|R!7u4FE>^>bayzb*3y&g0 zqUOUFKX+P+v$Vi+%JFukqEn(gSGv-<{ut7VIH(XCHT5ESQP<dXu<e)Q1s0TS^$%)0 z<7u^?h;rozW__N#ZMR5XvYOOqY_C9X))!~04L+95pi%^V79mwqr~H%orLLWP8WI%2 zBT<7FwZU6ykOW>Ru7C?>iZV4f854?6`IgtQR`GootPnf}zGJ}aes#L~C~Iwg*3NP7 zpc1PQn`z6DfCE0F*>^JlIJV-yR!=>919?$QApFLu=|aFI6DX?`^Izg@m@IKN^g1{W z^?I1^kRuv{;5U9-jIrr1=fS*1-~l#RL?;v51)-X>j|hSIA%f`(7+cQ0lF>CEhwGQr z7COny&|G2mRu}bwb1w2lRN{~!W=8)JLbOMf<3dtBAD|=#9nfc9ryAzQnoUTUY~VWq z>hWf*`EA8+%+GI*5-yH`%jr?1e60C}&9ipm9&6r(#VoBeDlLR{&Si($!ZQ~zoLz5T zKz4VWWwpUT{;ykjIKNbPJNCI=9#+$ym-M`v%W(3>$_wVD`MZDmX2vd*Rac%(h9^M{ zXuQW4a=zY_f^unSblYWLo#rw|z3l6ybmp#AgWO>0)ZC~#G3};K7M5BP8WLNf#l~d) zIrysXZ<@yPkx&0#pTc1HQ#wnLl?F$VBC>_N`qooYD^TNwJPkjv%HXiAk2$2Ouc;~) zI#nqQfEDB8*rP`=MXqhW9!0t?V%W7%_;^Xn?kn_Z&^%3xDXqSV^_m$4r_wid|7t7{ zS)=0WIHh$bZ|UY;MJd%S7E%ZzbQ}quAQ9wj4iROYN@)%CS;-F=&j{*gN<R$#;O1Q2 z*q~KaeQ9-z<qQr4c6ez84_sOyZf_S>h=p%XVBg>AI}a!vIsv4O_kDKP=ta6_N_B^W zo8a5@NkGD-6^4&XD_mtjal?Nev`r`mdNOF6izkL{BMsvG<F*UVn+?*krEQz{OP5v@ z4c~IS70;?h8HT;kS`E$~etl_$hv068Ks!oYS`kfaFm-7~M}kHi!u}6!+?4U975w_r ziWn2*NfcIxukp~Ns>^6v_vu>p9NEo1sSL}VK)<KWm2qhWB!uVo(h38+I$*8Sht_Mb zwG8gNZD)k{WCw!*8)XFv*WUWl3YS@S?d`!Xt)MKd)@8>Az*vh8E+NnfG7XD3$CMP; zO0W4sI|O?et0E4j6j*-oZCqOMYu%zB*38F+HFGj!E)-gEO7jX@v%17!f?r|A{Kqs& zzM?8k*>rj8Ag0S+1(?qImilokIN0@Uy1YWB%TqF4o;s-M@>IDI2&TgBc*UqKG2Rxr zWfkLLx~wuV8B+t(<=*+TlOkbL_@LyMU)q{3k6b*&0eN;D9HI~s1allVT$YK%Xj86| z$}CpL#%_|}qiij-Rxl=7=AbUD<g85nl07qyT962j5yFXAZ$3Yko^q461I|aMbspLB z#r!5EM6Qoo3uoEFPM#wbjGSV+^^`eTnb_f(a12|9RwCdkJH=7rz!nC=&f-|*_EK11 zkU`ZGtG6|%&Vr9%B~86%wqmHUc%HhHuCOTS8tqrD(KB~2%}pd&s;`{|p^d{j#i%dA zsG~PV%z_Wx3!EW@5}y45WP)9QjC6W%4~^JY2T%IG(DIKCqvekbTC#$sMBx8@q2-%; zMSgL9QN$*HL>bs{3x~dB(2JQPN2OnJa}VqWwv<Tl!`Jngq{l@)V{W0@{TtteeSl$T z9wuk4HWE&k3h%B|pVT}HNs^N4Lob=l<Va0@NRQ-?B5h~rg$MQBJE-rWL#mIMnTJ^4 z_YSE(xe4N>t-XJL;I8=1wzF^Ja48B@KBJr;^fdac-pdVS*k`=LfsxHfFAh-cHG^v3 z4#9o&F~qT4eI^pgvigF9YjzFl`#qX`^!l*1Mcl?mM2h;{Sxl04lIF7`8Avzt<}PJS zMG5$DbUMnIi3~*7d2_!q`jLUeCvU!|j50E$(rPZ*K}IJsVEOarGG(MnVHon}Ey`FC zC0JZ}vr`$<ks<2YT&IlGEW(G}Lu*P7op(9L$27XmCci3~a9HC{?5DKT2J-SoCKByh zki7QnnNBgDXKoAoIBlN@JTVA?=PtsdluP3PBw3H(Wr*PjM?$jroAwcel=jWqC7IIh zQadQcs_#kC%%14H>Z80APtHD!-7~ooI5210d^if)rAy!Hw1|np)Dby{q4{EW7xA2> z%ptPc2dnK0o5f%h5o|f@uCBmWeKfSDxC4{2J>K&PWg1QL+SdF>l#GFxG&m;qP56G~ zn}CM#yQF@XNEjE=JQ&>Qz#f?N))K+>Q#UcaBnMn{4*@Fy#JDwg{oO~hW_@$zSC9aH z?uF157mKP?a$pQ9P|JN(wFpv`@WH8M>KhzhxP8J$V4T4k6wkd3l6{gD(jiSSR))z6 z<|<Dc3@i3DIuigjO9tDln2rBQdC@h=;Pz-X#Dk|+;a+TR#z@M0M}}rub1(HVNFHEo zY|4fv5M#S?22l$>OY*sWTv3^r4$TEOG!~l{=7^?lL{qcP`}Q(K^UdvyRJG^13=yX# z`nqsj+&xa8bQWHm;B<!%%Juh9`YFvF{J8X0-J%z$4xgMTzx}3#iSW0oO{gG0Dh<0N zsR?-OZxOLFUj3^PxH~pB{Yswi$KZ7ij1E!s##2aC557#slXgR?^J*IF(iz(;)#V_H zoE8-CR&W-IcRY3~uDH-63l5xGtq2$0%7T_|bp-M9k95TLp5CCtt1LEfIg0y9mBial zC7A`1<s_saRZLcon@x20_kP*{0AnR==67YBn6)PX*R6!mV?D9(_|f43L5WFav+K8R zA#7yD)CD<Tt8?1C{viAR^V3uwMPgff$TNJ!LNS{!0dKOoLW?H3&||5^nsvw26;-n~ zGB9Uh49ZDG;b^RUot1!{qQJx(hJM&*P@+P-7=sA1^2zI?mH4C`DA2@hl`)94Ha|C# zMWw(xl2I#|rEvYBm-)_>JU-9)yvZHdBTy(4PD?_@{0}inT(s}A2+Ea|FG8snYxot@ z3_-qQK#--R!-@hhkkH73nstPM^}wEt9F}-i?L1vHZ>9doLq{hRRxA$^N3m{D4KU5a zNbmG4-Lv7CZTM+RR1$XumAunT>p~idIp=V6!YjJ&!2Zk;l4%7WcbXHWmZk;8EYOME zgc(sOsDI-aC3v+_ICCAVmtBn2d<rKl9G)~4GH#F{l=uQ6`hh}Gm8+yf)Daz8HOtKM z2AK;-pab-(XFNb^4Cs8#rYvvrhLwT%<e@J^W&Zp{^psIkZ`={vC2B-rw-7=27b%1q zLVHr2$qxg@cxoC?;fJB1JIzrHbL*~z#7Db8fnp`Q?@NxyY>JT`n_Y4DDYCgQJTGgq zEqAB4NK7dFP!#rnMeB?lLJ%k*kq@V8J~TZ{DCEPxX2!tO0SwlA_1M+PJ6_99V=f;v zfk_BcMxE|OFw$nC_3}XOZ8nnipzVNW=v#CB-M26{>fUzPDm>{(p%;q&%LFj|>g<Fl zNZ$h@5E_M1r-?Pi3F58--zEH{QnL9fy2h`9I+jTV_n|I!Z=r$<)iZ-cTf)o(8Q=d~ z#xf7v`@^x!lj%L&fTY&;7Z8!s{xGz>KU*(O(e9vV@_PTTZ+H)G3Me9pE_Zl1NC0{5 z)rV|qzt1Y<>sp^|yq-*xMQ24Aq4QH<ISYxUY0|uiAuq(Zv3!!n;uPLW5|<=*CQ;1? zS|_K-rGOa2<k^IdBmO~;oylLs%I}_T7doy@g<YHSlFbsW-kR`hlFyKxn+DJLHT8#n zP0%;{HL)(yVY$+e{fub9(6xy*zBf0WkZaR#&Pq;+)9Mn}CVvi<li&)T%dSn4H{?>2 z&k<b6z_lrQEd&D0^eyx(xi&#<orh}^FyPuW4uCo~#AnI1iI>T>iS1qQmbo_hljPb| zO6j?pS)$W5lWy0hvXN_(XQg#*qB-1z)v8^a>;PBDwMj41Hl(duu1)?txi;w#Yz29^ zHc=YaCN`6SYZF9K2oSDKs(ubtjJp@r`5s@>c+jQ#ssiTV>!c4DAn~4AMrHPOf;ta; zoyt*Pr*g#CsYELv&GEkvbiMXp0$q0>Mpt3wj}*GTeKa0R7nT<SDY^=iXju`I2Gy{L zM)f;Wvop{u@eS}gk_(8g=GFUIc4SJQF@rv%sAr_lSg|}53)d&ItY(+%GdOy}-yTs{ zm(9&cpD}Y#ea4J}1We6N=%=6V?jstPl$=M5svKrH#`&a>v>Pge&}=5O8xStE8xG7e z!*>JihT{BlRDeSA8iF*`Za6SYgk?Ffc0)ocy2dymzDJiP`!uBZeWK40{3K$u*fBX* zxmG>F2F9S(irW$jj$x6J+Z(78_px)Dv!x?X3W=6{GdG+FhUA>2%$8ErAx8~M*9;)7 znt9Fakqj;xikVAwuNHO^0=hoZ8VZlf-1ML+y+OMwLO8hcA@c_?`CLwcM_YiT(^YEH z3JdY|bJnV`IXQHTz@C$Rm$oa8HYtVFXasZ~+AU4zAshGpYEls=i%AH6Ey+MueekH* zp><NN8I}nhVB+-bwyNL#@l@Ek)g?7(>#}z0q%4LYum|-2be)F8LaY`e)vS8eiP=+} zsz}W_)h9Kplr}P*-cTh86gH4I&5*$e$llHwAN<)mx2eHG{~~pFP&LM5scJf!s;2*` zYK~a7R@|W0gI3tBKJ>Fd9wh~d6poDOGj-&3%%BZrO^P$rOI?aTNbitq0-EJOEFQYc z+(`FTN2rB~I5BfpqBC6Oj+Ci-$A6Oo!KLOU5cgcV-FBkL(xF#Cw}Et2p0SN{I56-i zd>B^AnMzd_tD|AX)6w_Gw9+1jZ*|tnfk+DWD@sibvTQ^t8I<AWIH~*Rd0b_4kg~er z`2~y>J=I;MU|lo-z{j2IeP5qq82Nq`0}EES#pVSE#kv;`iV;=t56`0gJ!VF)Z_O4s zN^v>m5D#^Q-V(d83FyhtE^H1@GP%AFEyLzyqFkd))L>z&5l@U>rC4>`*r<{0&+)pi zbl8VQd&S0bqf#|wTJ~T3V4W``U1;OL_)Bpc5_~y@CMkj78=6S;DLn3?&13ihw3<35 z<<Esk1!sJv3{oWqi4rmp<2+usA5o9W&~OyB*rF>nZ$FH%V2i6W72X#EEC4038m?J3 z4mE^@E^{6pmz^+g!Z@n{z7C=9h89`6Hj)8Lwr8rCr?5T4XJ6Wz{=oLEpKQ<ivizoD zUWM(MQpxsA$*?_hT|?Wmf31el<U7Eu=GtN|My9m{<L*LDB|oP!FpRope>j`*AuEc7 z*jj?Q8ZW3N`N<NjjbwZnV;QGo*zXPjV}I^2#x7kN|0Wpw(QaPKG)%!R!=*>Y@9ZOK z=kk$Pq#wDjkHA(Un7cso%2~dLEJS3Tu(Q?2j&G@;DQ0h7c3h~`YLY+BitFi?q)oM4 zf;jM2?|SyEl2$5-;9&ud7?%ave*O~}0MAKF&~F~Z_ECkQ(T`dIJaSLlC3k}&C*S*Y zE%96`y;Y*E1kPDSg_u0braiA7Jd4sNw59KUdRsK#Y$IW0ysg@cO<!;`I{qTK0gsBa z#m-WZ1}n)6#3Y=cSQI^(N72^Dj@MAUVj4OPJtFykdsHCOGHe&n)w|A|l^!8pZ*IPe zSty%oK#9V}Z3hr-D||(pe68%Ijc-EsF0rr2ZAlZ#TQ=}fL-o+<ZX9+m3aEVyq*no! ztuyHpQB}2b8y3TqKrvUUUJSs{CwzQ7AH(60I)Rh`nlH}v<O>fTI$blwcgyEiBA;IM z`W|g1SVfYhbD((jx)<}!KC=q{0nqr%j|q*x@*f_JKfUQ+8;w7`=`b4aPgR2a45;x} z9}^n?{eO5g{;L=NYoqaBIV#ov3N?Onik+s|51sbl<{eK`5cHVd)8$Qw@J8oF_z2#t zl5GN<1Ojn>Duhq`OwC&0)5p-0Cxues>`pD{`Bfv^WViVx-HDX<dW9^9^p=YmbzqX1 z!bLf2wamZXOz>b1M-N<r!PzktlU<fAP<f-RtE~;m5N}d#1Y+mGzC%*-j?{)Aepp+{ z$!JiUZ!v0XD@JQ8Mr$KT8Q&z>iqYD1h8)ypZ!{gXciF^5TWhy@qP@o5eOM)({qYde zrBd+ZEBS$QlG`IE&?$a6x~08TdQR9fHuQQ-TpkQO8@^NXY`hr#O54H!xs2F7F@=6F zCP17M5XZ9!paQrIvfvYBCp-AW&oC>kNv)sZBP7aF6@G?TNRXA9wB7Lt2$&?fBrbH) z6~s3qpeqK63~vO<E^`N8@3aoV$#R?z83kdF{?XWLH#bkQ{|r24COZT(DRS%^iC43d z3Lm)cTZ}_RN?uxP0YP4L8fT>xuSTAI*emRK&$q(cYS0S&XV$!U^Gul+GAb)%|Kjk3 zg}72HOpx*tm7WDZ0IbqMwP-j`C9W6=oU+R6Y^dHXIn|ntRppx`9mAIliRg88|Fv`D z3-#8k@e7bkj%%hSoOr;itGOJvCy~||y@o==Pc5xcf&>9PXOAJ+M@(^=i@}8Y0wRLr z3Pc5B{&60{#WPw3370ktcl`*>$|l<vhKG4Xbc{og`sA@{yECYUe$}P#eTX4TpvO0l z9bnrTYQQ-tEU#F=X;pNn+^lN?m7C0SKFEBxIoPfz6~z`UFdePb7gKbQ#d1W6%3ZyZ zq|+Bsv9MXEqB7*6R<L69B1Hg7RsBfoD!DDU{#xluQQaX>^NUWEzu0zs;Xk#AGG9E9 zW3pu~SqwY!xQB8e_dz0Wl0^!r-RybjCjR`xO<DC`apgcCWf8+GwMf(V0GB}6t6$K3 zkKkO^sLCE%llh@Ed0%RBUuyE+B~AWTt$q%gv|-u+>Sh-L^;YGY);@(%n=%j$!o;N= zX6cm*%+FswOyzml?JU&ALt<ApcRBOkC7B{Rgug6q6{w`|C4Gm$o%b=!m1Fdg3=0{? zwK0nG(Ju2w0tzu8c=3gaBH4qZwks#R)Ye>G7s%B|*Uw43$n>hQJwg0+D6<g_`An7+ zvAF5qwn+-@7$nVcLnp#yMTumy(q_?XXDzFTO;{3LquN`Ztx6V4sa>y?CytG2wZmg4 zz#_pE&ZsS?Qs97ggYI-@w#Ra2eNh(&c}Rrzd96H3zzIl3tJGNac5WvM=Nmq-ZLAex zA9!j@4O<i-_7hFeoJ_f9ibBK`Z&RFpqfty)84w73+)oS(;TYI*#g(1m``05JT|4lM z!H7yrcS8E=qFILpQ<z|Bx0gUzp+4_<^UV-_txKt_wHndjqZQ*3Es2Euq!6!@O4hk8 ztTkN}8pf)J47Va^WX$WJ%-ne6qFst;cNaBK3NgJ-xmul%GL+I@uwQxu*LTolsp=tK zY6>qvf{HzlzJ)B>5mh2&1eiNi45%aYfS%}6D+ZjkR59SJ5yily^dE_NfGev$@(ghz z2bqgPe5{C{@FUF+GnY_~jRMaC5!Cm->E^6?LURja9>%XWB=f~R(v2#jxu{^*<IY}m zv3pCeP4?(V^@q=hQNz+RV`uwKX<d!2xaVRI3uRcXo}#AADXx^MGKQJ*`u2b;2ml4) zE|}$ky(}03qbkHek{&ZvGX{)+Kb%CnXOq^1^R2&=WoSZ9jV;3Zlv-AM)FhvDm||5$ zf7peJ>fJfwpLYurboojq2xF=MM(s6NkO+yiZL&e57KQJ_)tqMVf^rBQ_`1%l#vd#= zUmc73Xp&{qb}ybBCRdG2xHD9$ZZHb&g;zz}6~L75R1C>u?i8yX$6z>r9EIs>Fd>Fd zT}>TE$HZY^&~GVpV`kJ%ajO6})|xYGUd*e`O(baGt(hJ=lcr`_Z`zqi9YH^ozFSta zYheHmG&N(xshJ`c&~Gi&Fwb@OoM!45gTodRK_1NExz5w*-*6_Y)_T{^DrSd~vmO|0 zYcfaw1x9)cUlt{=-$to{u;x_xWMZJ)0{8olpPtQGS!POT4+tDpCTJTOgz6HD8(J%0 zVF>TAs5lEvM0?g^g!{;^YeS{5I}NM9{^_cbX`(9XVJ2Dj&_F0Bv_+tMq5r_@jL-@! z$Fk2gNQ=db45vDr;3R%)M07bAm>ur&1<V#?g(C<s*AoAYyPy=}1eICp^|c4Dj`1<i zH0b%TO8IB1=UgJ$_I#wy>lTi?eBrp)e_u6=bS@jyk($3hXwz|GbWDeJKEiko2VnV_ z>PS<IJ$U`0I_k2r*^wL80~>+11`ZO3y>uV5m#)R_7)m8C-L>K`2M6|C1KXOxBrjc# z6c|-<`di|qyPB!c`jIRjvYxzj2jYFQT-X1KOKvngaLENSIpijA1`fH1dN_{hWUn@5 z1fqf%kBG@0bPN%O-dp7m+>hAX!hCFU&3*5{6K2mK6gr!*gB%Fk;1Lz+06svxssl&M zUh$fTKIY&=g}AY`b+G^-n5;B=F8MeaHD54Bcr~05DFhHQ2}bb^(Jh)=I8n-IWS131 zal4TA9fj@UFE)}NTBGHxf8u?&DSE$&JIri1gPxFiWg;_biU+PVDRxr1#1`D%1Bh*1 zm%Tvd3fFLptE4}Cc`aX3U`Md_kr20^1#8KGYCkGisr;G8^5QM0h-o8hO?gd<&C3bJ zP3VXc$Y7uP$O{FNX9m8LesVY($ZDiHOnI$Hh#53hR=I)L2oTp4yWAXtt*hmJaY}Sg zBc-9^o4&*sbH?gI`ZMLllYrf*oBbRzU2O_mlM*WOC_7?(i$#&&zB+*8ulp~hoQqdq z!83kcwu^BT2j^Z@A2~CH@>i>;171KGlO>M=Lt6d%iy2%G1w8c7I44GetN~y~Rkf^f z2n``ktto4G6cJBOVNlPv9pK^#j_vzhECEV@yipshtW#K5Yi==UrU_eH4a~12*XGy7 zfy}R+32XA!*<z!*=4&O!zaQIc#7j%=lz7LFMSXjg+$kYJDRBM(?vxlYyk;)l^`%qa z8eX?Z@W^*cFo4PM8oL>x#}dP94Ybs(w$cVAIAg8mhaT53*N=Fo1U*iM*P;UOitU{e z*s1Vl72ofFr-Y7eP^{5AC1lpp-YJ1-R}&tF*Z%#1-YLO-CpgG8VQhULw~NSBfKyaw zDAbqu5$qIo_OXWzUE+L&@Ijp4gMIJLPVin)cr0;+7EaDimmnEvF)k6~%rNGV9R6k; zjcA?L;mja7(UUmCO4v44PgC<8T)$2Rh!Z%Z*D$Wd@ZEI0n-(DH!oQj3)Cg*He~!G9 zqBHgQ?4$%FdDN%Ea}%o4wfW%1!Gr)BGAo@S)RH1yO;bSqm{EV=$?9of?4m=Mk&V|R zeQBPqP;rj*BX<dfRVq(Y6Q^EqfsbD5H6QA{&nATsT5NQ0Enj~4;xnP(k;(p7ARLwi z8=EW{2IRI3&6#<hBD00dh%wmFNj?WaiZ|PTcW+kx!%O5WnHm8q#Qla!{=pMOILa6i zs<pI(o}wp^mSenap8>JDK$-zCTjv&uA@~8)2`V%dIuT-Wz&+@kO2bSU(;#3e6}kn! zp$0)p4b83{dj+%F1=dD8{uS>?unziz_*ucC7W$VjjBTN3>beg|SEt}`9FKAYO}TEX zEH>6zbzhHtQv*ydvdDu=kQ^O&+0W-_n@v8VVs$oa81~tgLL;w51&Gozg%78z(xe~< zQX|ctZ{c0ed^j?btmX8|?YBXj^onp?gQnGR4q$(VP76pRP||j&U2DXEhD>ob_DWX! zb7iX5g$Wz~{!(GU25)ZqXW&5aq{g~h0R>IGwKLse9Z||1c2C==VlMz6VH5@()+CnE zVU1f`aj~)OhpG-3N}m!9yC-X;FPsIxzrOT_O*W%_A@bLtFCnLCq03B9N>FV{Y%puk z1ip+MDXT+l+}z3t#+==*Xj)H-vGVz}9ose_m`BlPRnEV{O(7<Wq7)01P{5D)sY^cO z(b7x`*5-?W5{gtt7DQXeUWt&9DV39-NS0I*iDIn^^?+-b;s>rl){rnM%PpkTkKw<% zzb>mR*d%cT$OKC&b~7h|R7=KET0^`%a&El&JoZrRJGP6GU{kWz=7wuI{O_8;(^b}? zQl;v6+A=I!)mqNnl*R{)pUt7zy27t=JWQe}BV!}AS=)dL+VhZ1hx|bpMWLsyUOy@E z=n1ysLrau23;-gBaUuiak&TgTUq(Gk``|0eCfq-`rasp+f^niUjFN8TD=Sf%K0<7y z!m#vXu=G(q`-=LekP=J4XBceF1(NOu`gO>UmV^FJM;dgH2w>-1;I-jQ$W~X(+yTLY z2(-O>4vVypqO<zOhJZGbDsgbY{dT|cV2Y@9HG5A~u1Vg1&TtI(5Gw>g8f^j0s5uV7 z6e;jcQ*539A(V#Hl3aBthS>6CET=y5ve|t9HU#@FD@^}PZma_Ve~KY6#MCxrIu~Fq z6HNWfT;K5Bg}MOEea_P_F3q4A2n(HOA^K=oefQ9=Z}{Dn-aPp-=t;4$t${cZT;PE1 zdABP&vyOt^qEyiaqA>4H=FQ+vhr+?>om)CyyHtjL>^PwO@SX;3KTvXl==c*SBZ$9~ zab<#&o#s1j*{%cgJGU2iIyC7<hA|vL754zFGH@d|GUx?+z`CsPp66ugubu2PUu+9> zeRF_wBOJYxV~)M=WE=mU%EpJ6GekK00>g6mG(yrpmdhEoegI1KFLOD=zf<IW>$495 zdEfeMVPzrOD{)97jL<bj`5}w~EEbEo`n^X(-ptpgB*Yk?YT%t`tcXh<gd+)SmFzTM z0Wn;lJ4E(gTr|<5b-F-8WRFkU`yoi?!#hV}Q6#kf2cc<HKe(!-Ys5@w{f}*dxCX(w z>G~0UHs1VYTVP`85}1rDAk3X<nHpm=cf!d$UFkq20g-dd#!IC|-gG~SSb#!m)s|n2 z6S~G;sd>NT&$9^C_-FrO$b0EPb_&DWv9b!E9@y;VK@P!>kez-&teT`*hh?WM7gz)& zOB^-fT@EF}Axsl$qk-%cCGLobG1tHzlI(P)B@PnijLJ@_d>}z{T}x!A-p<92fp~`) zJ8qf$)H~mSB&Y+y=s<cZW?)39I@-%6Aq_3SzjDNW5AD9T#`ywMesJ#M^~G@}1i2iB z#J0uTjedK)gibERCz6PclsKLex^w!r(^T8ZwgG^FV$SN0E|U&JD-YAjI$xseJh^$Q z6{}Vm`&s~|myi3ieNI0*EMteHa$-neA9<zQ!gMpWF5;RSe?D!J;+&v&*!uYjE^N>H zFPP4$f|Sg*^g$2m#~~jN1)ZF%Eaej}lh&7~NVhCEtIrzvGiPBt$UYs0Dd$@R1*pLQ zVCYqPrn-P0_Dq9DJDeiYP@Nog9<MrKA_oH!b;3{^9z}T9DRtnlHW(QN^j3wl<C+Mu zbO@yqIMrWFFcMgO5a7Rgsu@IGF;Wh$7_oj%h0l!mUXm?HgMOwM9Z9a;u|6O&c#N=$ zE*-ZbWKnRd%`M-$J#GpM95^$MV=*tTl8;ZG>mVS|M2b^0Q|g{<bni5a6gtii#{sAL zPl8(A{tc>r_vw6jW1D(MGOODC{T{G{BL_NS%>#tE_Cq>i-FkH#vBs7jv67gCpN_-k zEjgbU2bLVK8by6jn}Z|PuRdNwp)=W%BbFu4I;AifW7GP^mP7n9Qb~xM4lHb415vY% zQsr?vO0{ROrJYR9fSl9D><ZYn&3e*#kcBdGpxPhUk50EA41wiPC15qk0+;nd{P4#N z?g(HKpy)CrpRsgEYSV0ZJt8i(r>Uhqqo7{;3^h6_gtf9q;5d+_Lz5kCebx(WtR#}x zNnJx4qsv#V!k3fiM_$GRGaj^(`7AB4kOy0CUrb!wc`X7`j7&K)@gaf=i4X|oCnTTJ zg15IYyoB<xe+qSy6cw^Gk|2-#4kACErKXbB0!RH(k9%p5C5vJ1s8j};*S|)hRvrj9 z1yR!xi9eVJe)G8ifM~hzc<X5P85VNF0_QnW8UPiDs2h$T%oB4`zUGA1ebUzD0R^V% z&IFZ1e;q?$rk;LmF_CBL8T<b)Uh=vvTet1pwRrKR#BP`5VnRFc1nL^v*1WM7t{4gL z%Vaf~Jp0R6(Ke;dX?AzdotxyAi!-392s*}r3Q29&-1?f$)zyS8lw9Nrhdd;)EfNG7 ze+`Pn=Bjwin`@k~SXJe>x8--V1+H%s?^{|j)i9oFU@~rOOYT})@`|`|5*Q*u>uus1 zCkCzG(U!ckEpTs}*tfJK7I>W8Z~Y(KYm$0;Eg>GW=EBX@w-F#SfEHbemvyAIQg<<S zF76947efnba%4L~9DGX|nMKZgu`v$wM$||m;n5CL$fjH7=DOf!Q2fjT6h9@3>+&6Q z0Hfv4IzV~*%vh&Fd0p2sQvb^jQ2wP+zoKO3iiD){q`X|UBy^JuNGkh0)&$EZjH9$X z&O1PLuZZgGohM(i(dI8YK=})!Ja<mhD4HQR&$4!$Fjl)#n>KLGEptQ}jT`9AIu!#} z#PNdI6{v|}js`C<$aP_9mIj&D{c^bt^o{S-lL>7QTXp=WWA!ZkhRDO}@^b>0h1r0R zwUm=m9D+ejhUyg?it~W#0XIZ{hp$C2_`gmWTrD^HLcMvZ!}lq5p+ghY)6#rP`;OWh z=2HNoX4p{H{P>0*NWX{_3pYL(mx-KUDCZS>F4HZx=20{z&R?~mcscp^k}sMz$VbO{ z5&2uR?g#mZZnqjG7p*V-ow$~+VDLrhOj%Lw!}|!U;~$h1vv?X4!9+YR7BAdTFe7BF z;*yMR^W^7ID4#Z~Qb2^Im&QD;?w#X^lv*<cn>^iDYH&&x=Z7}}BUgR)WlgD%$7VT| z%@!iVYNKrCPQ@G_Lt@&HsU|EIyqfq{DnpWqfN2au%qR4a4|w%UjcDYn&)2Te{O&DV z-%|Wi^YC{c{C_r|4`FKy>)l;9eB<u!$h&TH(fM$D3_+g@DCf8tuM`~Wb2(D2tSFXN zOJxFaNp(^yx~>jPG<&TjVL&evlCeh6oij`I411}8^*C7mSpDHC1WyK+WDcRjl=d0@ z=p;=K#}#;Hd_fTCzq!jsV$hJk=fe+w@4F9v=O6$3MO%0hOdoyY+un0mHd<`UrK1}n zH-tz9h2XOdI@A2WY@dCgVA`99{^T3Mq_%UCYfdx?niCdT%n2hz<P^GEs;dkkCj>b9 z;+)yM{m_%?k>W!wvZa$*#D~I#6sHx`0FKGY&ke+>dwOAlS~P4GNUOj6->3$B->Na< zcadLGyj)*wQ{GOv_o9L5H}Cx3E`>~f_cL0Qo-cN$h_)^eh1+1ng|9BptM`I**q9*X z)Gt?2YhGzcb}szrh7W&jMkKWc{{wQ<l0Jzx)LXI*&yprW7ORWMi3t*bBCjZwT}Bpt z;nO8q>Eydh1P9hDL%Q*8g$}1^^^dAXi9cLRLYI6~0+xY5+mzEzx{w%%OSE~_#pvT! z^)7~tD&qU<Q~xIkZJX_@)jo8J7_&60&;49_kypRRe6P#iP=dJpZY?!vYsy6~S)oW& zNaf8=->6=51Mv%uKkQl!{7dwHVsrDou>D7e2;GVyOP_#sCuTn{v{dL~mb~sM)8gQd z_P#6Jps&qSw;8s<H5xUCMfbPa(}UeKas%X5P{YNt`2!)xkqLzR-in9EmWMf~T)p17 zoXS<hVpQ%@R}M>g(61nvk6^rs9t+4_-R3HaG`irP0ciHB>KogS4&(J<ytbRmqv7>0 zAI9q;EfpCXkfSBUv_4F)*+_nf==B>9<Mm;@{t@Iu-f$SN599TZAYQ-eFkT<V>mNb9 ze)D0xK8)8tf_N<vm?Zg0P;^)xa`@c1C^Y|Jm-GF~4;Nm)XCS|p?ZqRQ1Bc4vg3U7> zIi_bQ3K75)q@&a8b~DE*adeFge>TFiNN+_jkA?h&N7vm=N6RA}YXymf5zgEAQ68Fz zODHJwM;SLGk;bv6dgF5`_h^>DZ+z|{8B<=jYN;hKjazfpyavFtPA3mvarK4%HQUsm ztk=uY5|NQ(pPSrh{PYb>6_K9H;PBgRvK*QScWl5oFcD5xmdTcKi81hft<7V{mY7^; z6t=eAFo7JH{oYGCWVNkTv6Erl>11guVJDNJqslHZ`~6Z|!&q1gW8dH&^uykFU>J$1 zL{hYdAle2eWDTrNl77<z7}gV>yCvq6pGH`|^_Pk5vHgXJ*}(&aTd^&LuE`=JVTkdA zPNBNWPdyqPL1_fRF@td!meY+{C<Al+2!%Rfim_7~Z{NbSbKv)j>e_Iji1@-$h4q3$ zri~FYNtRND^o()`lD?-wxrkDk1RqMfET0{fQNA@H%BSa}`Ih4=Km1%(UV77wTw$22 zNj^VWRZ>T_^-MRZ<gfosD3$m4%i5v(+iI03eavW6$^$e)Lk$$mMEchkXRAw#IjYS| z(6Mj@8Riu30ZZl!TqZu~FB*O<1*9C1r!aq`PV^z6X1Q{ZIWS->nkxpG;lJvo$^Lxy zhGI)jSFvVU<hQ9AX@1nTZ=z9AAX#gC@KE-|Sxva0tX;B}jLuUUAm4c!AEJ$BfmHXL z=(=JsQSGbZ7zP=6>cRaF&6atDFtuUCYZ*XleB>~#6hp|pXG$?gc+P1ieff;gD`*UM zgtox3Pk1}cLhiw!0HQu0app2*V%!(iUk9L9r+-_$q@c|3R5y+3N*g&7pbfIp`Y?w6 zd%@6e{YS*mosW*8-|Z0NtMl4oqyG8QS&Xf`lCTqjURUp(!sNtewmpoGSdz)mb{ZS9 zem#8v8#1}gj+?ypYA6V{04wU5%jTwK5HLMr1+YZBAFjf@*WEKfvZ7wGpB<SU2FGm> zh$R=6EaOl|ppZ4$v@VOMiHqv#O92?jF<;2iUGXf^j_-<}Iv1Z}mTS$Q&fpRjyx3$g ztos1CiW3S~((AcL=pe0gR|}R1N6${t+3vqsXT4W)Wq~@2qWd771>nctSvJ>B^rCY# zvpNoQ(UI@<#q^(DnDOJkGmfr)<7^C6NS;%7j>cswJB`n>(~rh>7aJBupXvwIKb0)z z&EB&Y*Hg05aj3Tb+!&wKWB%mg2D8JFPbS}=?*0f{O5>o7cjVDoZe(oPr>V7Mu*-AK z$M)~x^0{+eV@TFKOW}M7SBd?OOnUG|uX`6ZZ@lDni?7CpM$8so$+qFhAoQ~3;1@Sy zx%pBlm8phEt%$l72|GpqxzU*4s9}+ScK)&+{qo^FeK2UiEd+0~s8$5pqUwnRv1-GK zIF{Oh|H@(9@I0B?o15fdrvA<JtFq`6MbVYXQuA>3Tx@Q$rao=D*L+sS;U4<b9~GcC z<NPktXuo;abz>t%MgTu;dZKy5p7>s+1@(jzd^g$bx=pWUU>}-)R%&Xp`GS72JmjVy zyi4Iw`NdWKZvDd3QwPJ`Yd+!@$0i%h|HX8Z&ma=p(2e2ndy}iiR`*Yx!0GW%oPh0n zCZB+YH&dndQC*Qf4@$CauQkJ3Xd{;u$@Nqs&)Y&C1=`XT?k~bL6hwa0{+^S^J%b;5 z$#fx9szD+g7>7L3s?7`b;~3O=V_Rpl<BwGPNEHE&Z7n;8(RL~N9!A?kN84-P`l%l{ z+TPIC+3bF!YCjm-Zco>K;&Ya-hR_WE)nQbry&rdXksvn6@UC&7&u(?cb0nVgI|w9u zsH}%6U0r^<3u}2n+2t$GeqrAh>>cIU0`U&^Snp+R3A5f80WO;249FZjy;gP!nP+dg zc=PikFalfgX6zejsrpM9vFmG`->_4}(9%s(KyUAO4%rxQ61{^+iM7*b9Bq#xf8)Xl z+%kb{IC(n+6*{ARF5IczSPQDRUv(bnfF9cD%b5Y6od<A=G+eyK!^q>-JpAxSGFhT_ z1Uq|JKz~S(_}c&mqNg!lGH$@gsKJ|QR55+7(|oHlbEK!pB0h&a`6)>-k7HB@V1Z49 zQzDn@hNp<e4m=k!?@`%-$HphPeGh*aBV9nzL4IlolV*}C<xYmFnnv^b2frM4n4U{A zb`3LdLfSoef@^6W+WM)i`s|6><Oh?}&ks1N!fN{7XEQh?m!BKn6D~goj;f%Eu-ng} zMO9cmbosgKNkD-`_cE6sFzsYV1i-bUJvZB@1}yI3?@a&z+*7onjrKt?5_v6e368xA zUywu-gQyBoM=v~r==$RGVhFzRV#~jlcr3xljyM3h9P0<WdV)dRcHoE#0z2r&65z$= z^x%^o6)c!+IS#p#j=1glSqh{s4^zYi<OppNvNA?Y2!8e-6f+nM;j3f0c$Q!uDF4X8 z6#7gl-4S2F>KAe&KTroG)Cz$G9Obeo3N0Q8kX`l&dVMb&64J+#Vq%MC>)SE4Jc6?b z1E}Y>>-k7MgETz9Th9}EMhe06`}I7nXYuGobF-c+J$L;4*}*d|n!LYT&ri~Oye4>l zP|yEK&rCDV+kd0|Uc`jhZ+dq9nt$5U^Al8l!q2zq+3>RPd4HFlkJ5Wnp633+_i`R9 znoEDPt&fWxdEPd7CR94l@6huKeGhHo`C2`@|3~=wLwa7N_ec8qb9#Qfo*(Duuj$$S zk6rIUJsUoG+9A!_(Y}9zpLgil-#^jMf23!(FOrEAP0#NClUQlW`J{55tQLhL7Ec~6 zlsih2Y_1=G5-as2rJ#=a)GDP2GMZ04Q7P<e^Qk8&B_Zb2<CWs#%Y2Hc&Av-CpL(29 zW6C>HDXy-{r;bnxFTH%KQVO5b96q0voKRuQNlhs=t<<zq+?kp+GfF9}eX~L-s1?Jb zl;epVp_DoGBb9>2WX<E0GMBzmDIc32uaxDlPf&_wm+9VSJ8n5DSvbozPa;q6B+Z?? zDIMl?$r$_vRD=c6-20hZvg*bKybP-QezL~z<CKW)RBY7vBC3SxP)d$8>oT^YhOO+L z>t4w|`0&GHT;7#cfAKPgzVP7cOrXX@8`@7IvIj3L#A^!0{?duWMJ(K<?Yp0;#*Seh z=SQK*X>$+?=nxu=({btyvJp9|Ab^zzA3YVPQ^P1Mnxk3Pfm|KPk)_<b!Q@<ICfBZX z+l%-Ta8@>~HAQUd9=*PJxoT@}|L84Pg7bJbMbUt4;TBYT`{+Ij8kBQQv)9~84D;Yp zM|lyk$1ilWU+2yBAGrmt;4D%qeG0#Tx|W}-XhCNyAW)dg;uT6M{$kwDrA=Mo5S6({ znH!yCMsW=%4?o&B{%1kGdN>%4(M>^yMckqL_@#|Zlwt)5uYw_DnM5CO!~#vaV09iH zRHxbw3U}yK+sEisIohdBw4l=Jl+K6zY;$i@ry$}Zor<ogQ~UL#c^{uucRW9ve0w*a zQt-RQA{;n03h<ul2@I|;Lrn-IK{ehk5>ca1P!b7agIu_c(oHjX?t!;DyDmaVB&5Db zxf+jS<|edd%FU*Cv@Tw*6?*&R&A!6ag%GG;BpjO-m&%`hwHWo;PimZvX*X^V^TpO2 z@khbsAGlN^KA);}buR>fsu^Xi7uZ2cRyT9ixcaV2rvw=Uo4O^gkL=@<uQ*Hv-lA+b zTE7W)#Q`w*u7fUwPyZa}edJ)#i-|M<Y7-@by;S9Df9Snp43_l@$`id3M#%}(y+S$E z)AFYKTXH<(P)gv^7Pr9+_H<tcn}Tu1%b;i)4pB5jQOyGdy<#Mq8w#BzkQ`1m?~A0T z31OA}@mQQn=_AH$C26k$-LeDP>6RVg+(d9|lprKPO$IAYy9zNXnv;FM#~{F?!ItB6 zKt>PDiEw3*;1RWZDD?-VD&%<ljzI|VeFJS5DwM_D8A_CIK8r7aX{+!|wiFveM}r!I z7hvT=R$X#5)69qwMb`YLW==GdKNLf!7B>ERi2S^|?}?i3_-tp6*IK$3x-ByNh$f<* z>W?jHUreQQa`&*35y2WM7`ZvGeuXRwJ&QVQ1=^N;4)yQZJn(}PBVSOa`u%YUczw|_ z3YM!JO*UgeMth^z8TjgB^=0Hf1FLJ4H@whb<Q5IBS)61LuV(UP@|DMhXq#_4X0Ybt z8e^C8#R&j1xbWDy&~e{+OyT3(!V&Lc<j!M)pwg3@&Jxl_6xlW9wmejgkX)c(00B|M zV_jAT;Yqozi~7<*ipv{}EPTg^8EqI^xLS8mt8kyRQ1T&i_1+2z#@gy^Q>fxyBRN~! zX-r&j(ruR41M6bm-0<#?XU)@6b$j)&=bDd){}Cs+o+zhIa0AnUI$M`LEZy$IrV|B} z#S*ths%JKItsYp&J3r~22xj=Nlwx}!mq|#1JA1q9uJAE1(c*}~r}wp=s@miEYX2Ho z=_Y|{Y0F=ymLxM&@qe5N2YmU|s$oeH$4CV)m_U%17$Q_&EiOJZwm!oJSNdp?9iZ)N zd4NIHpR7VYuG>bXKQZqDVeY?*54kw&RgRkK?{KoJdnaaIS}K{JPXYeMdW1R&(yIoL z7DGr^^Ws1dKM{y)!~TS2um_cF2l{=3N*|&7%d22tX}dR;x`m>Z{s6mshpQ}?O+cFm zv$B2A&Ov7dip{MSjEz_*m@?@NR6|0LVO{sMGra%Q!s0;~4)D#Mw*3QsgX9DB(}!$t z@E@JY&kPJ-uJ5*vn|L7BdG&X#<E9XU$zJ4_6fbeyRBEdo4x!Koa@^dCHAl=U1)}iK z5r{|xH1NC38{U`QP;c+(8qH`(5^f=vo8xP1ty61KXQ87C$IWO%3&tcCc$PE~j+?ZV z95(@UnU^MgS)S$Xfes4g*<v8X;kZfBaNJbFj+<00`Z;vm+}V93$Ib0X(NZU<g0uh& zN1%3q$P7ALKmj3#;kc<`&Z|#9*^ZmVEZxO%6KSOOy2V1mIn7B_o`N<H{5CNbNq(Dj ze$;RCP7^zgSR3Y<<J(IZaZYUbYswLGlgFPLs<*l=1wi(g9N0#YSQ0~@%`2#8u^2jI z3P}#+v#E0ZVKD}LKc7vF_vOz9765z;vmyw$b%s8hykF+Cc^IV+=(BkkrAJWuEr(Is z2dKkTx?bX5|3gfrfAxn8rQg>rx)Fd^GBem_>15bokZ?VbInh2`S-CA<fCHt%V%s93 zh+~=J{^`ij70($*V%?S(cWX-6BAKYQR-7(jDe4XqwmEoLm{0N*=a$V~@-S^{Y;$@z zW=`D2jbgTWBIriVouOlr3v&E=5fTr?T>KBSL-cigSi*;eIL%eLN+~DGYUk<7sihNC zy)~OSZPTK&lYXtPdu9VsrU84L@{8t)Vmo?G);#oOL^FSmpiD!c?zksNMty9go#1fz zB}}l`L0JI4R9mE^Ui5f<@gja03-)qxGe@Q4GKX|ATQVjrn`}*X-<M9=0BpLEw#kmo zuDJV@ll%yK!`m%)r?=vV)?^PwVUJk=ARd9(7>I=<I6lowzd-Zo7knVIz(N`G0T0}K zJ$AK@dt&&H3#M+{OEtA(Zxo1;p(5rFCeh6VQN1MakPOfv6cK?4Q#dZry=LFt66UFg z+fiklOU=GYC59l(Azne2!ZiiV?*SVmik0$%X+1s6t_7{cbUuRWv*;VYx?9G_aU>Df zck^6FJz0r&#6YY36h8pNX=wOQ2%G87W?PAaa0tb@Q#S;Tgt_fBd$-&Q+^flx$)<3; zlf;)Cd#G6~x}<<xJl!Z*HCUbIhRgJsuHe0l7pM4hO6mlsnk3{q-KmPyM#dlBP!(5n zJG1mrqM%O0G0gDLwsk(b`uE=sB$i1>a(-Pq{BH*ZYp5d~!@n&Q;Ce@gK@O@y14{}z z&9=e3-vk-hZ{CGL%r@nj>W}{yRl%|ZW8X5Mv%=XfIBRm!=Lhp(Pzgz_R;F*H(!%wv zSaDBQ_1$NBNh0vCIN;Agp-RLM9D5)}5<GJBzwszS_@P{wkXm3BM`M0ghFYRs4a#c2 zZ}R}Q^ztZhqEN8U)e+K=)LK%E0Wl7fa8~AYT23Ob(Ddp}$g@qtEM6DZuf({KOV2lW zDKb0?TE%+dl@_LARu!muXp@DHwh7Y<!8E0-G;|u5IRhi$>WHtU+opYuw3}6$`Wvhy zDa%*0V+;atsF{N0rCq4hrH!hH!x1`OtU%qAEHT{EPM&8{7mXvUCPTqZ1B@{>Hl~dW zg;WuZM9^1n2y8tJj|E;Dc1_t@%PJL?jNY<Q2n>@g(KCQj%&q21Sr@$NrP!|xQiOUM zcR!(eOdNlv7&HOzAyPMmL_!DXsBdk_nmN^Hfw4y1Dxc*TGMHVC`&Pa|a11L4vy&67 z0!w1~K*?eF@_IyIHpGlbdCFtET^4%3-#1z9_N>FpPRg}g<XlR4QeL3p^N<5BA=3D~ zBRiWUbBoIl%l)o=eBc($A4aZxEU8FpH0=jesu7J!!<&an<9<f%LL5s$109$Z4=#-? zw^S~#v-^{-ld)v7RHyK<*jVSfpAi=#*;KNpB@p+!@o-ojo$-E1H4>c#sKaX8n<Ssk z9gW{-wacp%ha*Twhx9SSy1df%F3Hg$9aj1X!#V8#enV=J7+eb2Z5M_JcPbYKrL<a& z_wDSo!TA#cNjE|bS<_+^@sfcWs!(0>6Iz_L=;{5Pyr1rfDpzM77>Ei6V@UA;4eKPY zd?*j&HFd;T7CI)aHm$Xg;j)%6+~RI%hzf>VfCU{<$Y<5(I(x_F*-V)gxm?T`d?-d| zuD~u<v@7|JiPz;7;i^9HElHp2F3lw{r1LJCjfBeM1!4Q>nS_kQBUKOe0Z5zb@mF9n zw+UNQskUH1?IO0M47M?pVOaoO0W~CSsd(Db;<^^}5%7VY;Zsd~R?rcD2(NpONH8ui zicPrfQyC^}<4_rDCsJ!Op}Vdy+9J6(Ubzwm$g~p@Oo+XvCmXYIU-)Dt$#~Ok9->>e zsq&E4<Mwr;)$zC!7-5+<mLRWmzd)v2p5ILTA`nfSdrouQ1ybd!v?Q0E=Cx3KNWC^X z6=Vmb=tMJdUX<i}q-b11J^YxD_GZ7R6NMp=khgF(A>{Si7Y?HH4tyAyFeXO#?}8U& zJ_$g8n2i#u&z{|#d{;6PTO_{T5AgDxMVZoI$6g+yq1aUiG!*j=l06n9F}eA+=2oAw zZt*}?Vh?m>F|}A?Cx)6AKv8;@wx1dri7oHJ&`ivQal{b6(wFSD*;i;o3j45I>GGCi zd9ke=xrXNu48=x4|BEiemoEjKFwtzv4|HQe3_BpCvYpsL;R*w>)Wc*Uc5pEJ%>#&# zTU)V|28%|G#g+|@*8b>Rv6O8pR>Yk<me^Zu?5Nf;TD5r$F&DBF(*hc?3>&FTR$+?@ z+&B5|fx32QIfASe90&u$g;B6E5Y>+zKT0x|rtAK?Y~^&u+9mOL2F^D{?Pjb=?ZyM` zUC$oe74-zD!TxteadO&zZ6IqK$b6N9T00^zy^+4~5buei!2z=Vscf&7%{UiDF*e&v zg(Tmd&rK{8KOM+=CpQMxV<Q%g%X?sC9aI123kr|L*z}vbP>J5?AdG>mdkP4HPNY4Z zv||Wve%>J<>nP~|h+cm==n>O=d)Xpu+kqDX6M@qo0j@yS)Wd|V2M4p?Y-hc-$ePk3 zc`*C@*s^ii;DD@4=1Thxc)C!`V%fzQ3q-5Ng->a;0!zgZ6SX%Xt74kZ=1VJ6i#tmp z>jRy9O#3;kXxh)0VWN%<Y^qRVG!buFV~Xqtr{+4<2Y#XYm1EkE<Pupm)32<>Yk0%A z7K|O0BM56p^gO;!AI1mes~QZxP@4X2_XSuh@~^q_12@|$Y;)6l6`O*Y3>K)3m(e@o z`}IiGv016Y!WGKMd`xGdkxKJdHBUZ&R&Lt5!_u3x&M$fOx@XQ67@mFb7o5ooROYu{ zz#h5pS%UBgaUi|sJaPHIvhn;2VpHwXXHFN*6y}1|(2W|{z`9NODi)}K=>{-V*rB`S z`6R~9-`tFyH_PphuoK$+hrJE}*#K%7DR%tlT%g06PI4kaWchZ8Lfa(&VZ=uT7fhQy z;Vnl$+-}UP&}wt%hi^`%*&30NN5M4m$d{aNe9(k@tGRMm6HlP|FP#NWm1_!Ql4f{L z%#H#1*vj>mUzs8gsH2FS?c#u4M>2T9IEQA`BOEX%dD%eqDha5O&;4?fW?_j=%%oMf zV2;T=lwy^8f%m1Nm6xaslL>SwX%QK#hZ$I1kg--ss8bzR4#`EgJdT<)dTK>7)q-c8 z0)^t8>c$r`ww4mP$)0@@sfL4_<(kOq_-(6nw(*&4PQIOFUJ>OzIJ}SpU;9Fx;L?Uo zj2+xr?nb~iT6m(MMZ%{JWy*jjb{-MX$(!prSDkp#hD`Re<(jOoyj;cnRy==vXy40t zY4E5EFYin>gDW=REStxH!Gg=J9gUQ%eFz}o1V<Y=gsKCS1o?cHt*5opdybTs{ROa8 zxC`g)Gds*)w8ZR$Neh!I82s#edYIHf#%lGANsYl@U}sTPgd-PkpC+w&-`<a8&3tqF z-+d&j_B@v^1PK++?UOhN-^IIl*Q{@@{0c=r_rh%Qvz?-c8*Gi`CZYgIB47!dXPtlD zEbRSk4%FkCCjB!r409};!IH`sNsli~@NF&c5QhK9v+SZd?(o<u#DNK}DXr=pD%(Xn zO#GnKCOafzs@~K8-?s(!{WG{ks5fAT28+noU<sr_Rf^&lk<Sm%L^+~pPrTNxDonOU zMIIseZA#3p<rmPyoL_R@>C@acQF90D#h1-a&_6al2uDr?a2}wBz`=*auSa$uw;J(x zM97BzlFi6y%@ckc@Q?!WEwVFHiyCPMUASe?1?a8%IV-w^L_{4pIm7#w)WoI0dl6?H z*^vmu%?4XtrBCB?>~1PS0k)~FSEpqnfJAz8o%(fiNG93C)`U_pw;~yF90NM`)NwCf z4Togf>1eAjKnfEp&?es1x?fbsGk4m{k;{h#j3#y+mdTj=(D17*ABx!SjZP_Xs#E|J zb^gk>^OJ8%SK1DJTQvnTi87rD;~~iZF-gkFc~2S+Y=5r)Ce#W6ee+JjVWS)%HBYPI z<S6;ne1rT$lOn2&m6YL@`$D2&)XhkQY%W#rFA7mLHSxYd6IUOsiDlIba!9t;N6Fx* z7of|IcghD8tnr~T3)79{w96XY%mJPqkAou&05z~90!KOqbGB6|eSYLv%R-jNS9?V< zhhj}%*+71p+&EZj+rI+9!+2*fY|`y$kU;Wzx^@j6;xaGBXaC-krGb>JN~}q1=M{q} z09%-mDm`2>xAZLJOsQu+&uC@UY)Syeb<;W&OSk~|jt~RX$Ug=h0lxsP&UCFZDZN@U zFGDDI4dz5$IN-Do=fpa-boB=YeyqS62%2rw;oG5kE*p-_%|pzPb3WcJi;KIjEiZ!4 z+sXNvy;j;KTeLil;9C=Vs<g=0l&j#B_^Dxwil>$HTE9>86%=Hiz>@Ud2IRV!<4R1V z)@2uQ%J<eqE<{$jXa`TsUcnC+L!8df)H7I1Wj*<f@&takG=htubcMt`KTz<RpNVIn z6#^k7M+Cn)PM}_tU}anS-Kt-BR{n0q^yt=0ZUWI$uzYRhJCiQols<~K=1}c-SZjmC zs=$eA=TDK|))VPKvsc{lx<+Q1w7RCaUFmH&6sj@)M#Cz5*XwAws@{CYAU8^YN#9+k z4Q*#B9!1D|1Lr1x+T0TX<+V3Pes!4`62@M=Qh(T|6^ex0Mp6cGWMp|Qejs3`kd%17 zC5<I$Qio`-IDSKMBef_wzoEE3CF>2vHBNH(*81XxlssmAaaAgSov?;hpV7kd(G81W z&&NGL8r`V2{uHPN*n9xeh4#eb4dio!Tjo?aMX={XBG_ZHw6)usIYoDE=X4`O84>I$ zcWi!5d6LSdaP(2m;pp#e%YD?!9HFt4IRjhM*xv>ucBa?Oq<4h-7N^&I_-3qCKgb`E zu6!;#+LE{I=<0(%i@+~F*23;1aLjEt4<@6<7FDIM)j#7dB)ri{$mbA!D27|JxuoP@ zqNPrSSUzyjZ4<8RX(e|#)nhM%V2u5L3-WRC|FTQ1?MJWvz{B3+<ye4H`yIt>mZ~!} zQCD>7BkEE|Ih+b@VJ!MUD<QPhu@E?_Z#PgeU|yG<E(HzDwAMBnU-lC<@wVsB>gEr= zm7cWvjsJ~Dh*<hu`wX?f*xah-a+(tfhgO!NdCd)jT#M>b<K`7uLmE-sQt@Lsfo2hW z94`QEX)DALkpqKHlM)=-tpcl~Kn-jZ(B)XXTUBo4nbl!{KOxU72Db8jSJ|w{oY?_s z!3OYnP?8!h3bZ24KW{<SsKH&vsEJ$B{4-vveqFXvqm=;wqeX0|(<v+??sm93&7EyM z=;FPIs(pQ1fHQpJ-x#)LFh_E?B{RjYs<TOMytl#hPH|eI#Q*>i6@F=Wfq{un=VnxS z7L&tsv6D1Yzi7UsWIy(t@d>{X&FuCEnWcWU`}ql_A&PbQb;z<oG;%e9M0*U7UIm5c z=NP!KF{FY_TMFmlAWkK_WepK{rcc=teTif<No)DR#bI6>G&c<eL7UgFP=x{z2uK8^ zsC+d=bo{`ZrS3I%2)fP^=&BYvQAOr!1UlXAM3yf3JRo$(i;mL%D1;{mgx+F6w*;Z2 zMo|>W(a6c{_yqF+;^TELE1NrkbA9oO=*5dR6lar1#)Wn1Wy%5gTyh|3+ePAQJ6^cN zm3qGBJNkN?lKd{FUq*rqE<ajdT%oKzU|ztqyU{U0sK^K+=5VPP%mHBMZYWuDI&4N? zl<-|F44X8mDo7<lRb#`{=2<cz0mu}@V1ruieMFoN;1^u8oIQLX+6BnXh6Ka|dbs0( zWZD0lDQdtTe4>P?#v?66?HS%Gy)Xws(!9TkEVl1iK&fQ4<0XK@!VsoweI!h0wH?FR zn|0*#j+}XfNzJNr!ARX9tS6n)8H3&&>S9Ird4=xAD^(>_kA(}ecnzU-1~`jSEH-gV zef&3Rfv$6Yl*XdE0!(SPlk8MizKrBmN-|#Y#6h#`<?eUa>kCa?wfE<vNzE6;T0X}& zYBEF6pmKV1Bf{BVgCvB2f|^Gr)BCqu9?8^Vk!Oq67s>4;1s;&5npbabj<X(_^>AxW zk4wZH{JEVH$%Sa_IXVq%K;{&sOe3aE#D@Y#19ogZ;#Gd(myt5UAFrn>{W6#+;no+o z>j`pu2fykAe}SO7_a`Ams@FrqFSA9}Zk)e>mLPyOoS5A{GBmr?ENq;c0rDG3->E#( zyK?E=@6Z#!yZx*DTXHxvL35Y(28jm@#P6>L2wY_0539?5hD^k)NG=Z}XY(H$IluPr z7&)&V2sd{fm{U!Av^fP+lVwI8D;!XjOWu9YyP4T6)Xne)l7w~_I5aPGUUc-y*`Y^O z{q{+a1+13X6a9<fq+G&Hm)Rt|iC5n~DY#o$jHITG9VTM5uA;bku}?nU`WI33GI~>N zZ0l(L$L5)_tW*ruLX?T~3X}p*)d*v%>)<7|=HR$4i<qcgRpxU0c<C2$+k7hX)i$?m z?r)QwMuAOTAi|xp+eMwd=AZON`h3^<b)FzSu>bzV$s)q6Dz|LD))q*ySe2{2D1Fvz z)V@C(Ykb>18<rdH`>J_M+TGGuC<j4POW$mhxNa$lFw~!vjle0yX&10rjJk(S$13(z zHc6*oip7KZI{NLq(B!q|8antfV=~u(bsr)H<{EQlLkmskj5d-go9##u4&{gxTXPP0 z4yfpMA!^y)9m*!JsWb@4+FyIo+}PC(JMKdHB0|849nR+ZOS2J`BwUtZ!A!vsiZ-;> zu?>+3kuCj5IcBAK<z1Q1im!>1xPU8RJ~<MRGbo98JW9epMS+xKM^kcANqB*mCrK3R z>*a`{yu!p$cZNxOyhnX(?@`}9Z6b20&k|ZV0M{TCNHvgT`sR!Ch7Fx}(1wDip|5bP z(NM}MQqH3^<T>fd9=oqUIYJwWW%@rK(4oQFB4H;Gp_#qtIhM+Bwo*VlkO^@je<Y9Q zfs-G9(nGC>+7HNjROS53R1Ara9**+^avv2t0hvZf+QC;7kLy=TY|5tmrKB7}EFc~c z(ZrMwC8S%;5Ne#opNz9a(JV?DB5shpI;S#c9L0Gf)I*Dopt_@*Pf9bXQ&KMbc<Q_c zVGQOwU8D_+Bj|pq7_n352xN$OO*RfNhFpP)ynT${d-z2e+U(?aoL}6&5O!s>w|REb zgKD#-Evh7f&s`G9gwbV8yGXP6qVkNRXUZ1AVNZ(cu5~e~{DpnohwR+EeJ)4+#Q7S{ z$j2>ykONms4k38k9A>7tNLK}duK@{A?&`wIMh~@&jXgTZ`4(L<;XyDW-|{1F7z~+( z2ub9dxG0~QNackFXK_4Jm8S7vWqR!u3)K-L)~a4|8K@IqVVI$FAQ2dJDm;@Pj)PdF z);7n^<q5x$C*0#t;0MN2miw@I6+f__Q~c2WtL58}OCE4Cb!%$TiR-Ted!=bbb|CA2 zz~e9D`^8#SGeTMeoGNFtcwPzD>p5hFlOww(;)lrgtB`cIP)rIDKI)*K)jJtxIv&4k z^{aP24%Kp*20$vufWF!BhFh}cDZJDGUi)1XM-Px=k=0kb`3hm@Vqj;nu|a}x%{yP& z$cUub^ZVb9Kh>S5sB-QIR+dg48qS7ABFBB&IWA5`$Ae<H9(>~R)8;zie1OX!;;P%p z!2MaX$xbo+Y#u!4>$M1!Tpj}<&M8r_9xYh204TT`{g4Zej}*k+p*H|z6)S^+xPZ`; z?30(DhWZX-*8z-Uv(H?9nxK+|vLOybg1tgI%qJ_Md)b=oFD^e#x<pw;3-Zrjep-OT z<M5OIEC|54eva$L*JO9aC)4SZz3nGSN<qPFme@hC7;`HG)!zkFD;m^2Jl+$Jk_OUc zF)3MdJIE4AA>HY<fM)b>l|XYYlgemMPBDJ}M!%O7C*_=svgU@jP<)qCFx3kpEB@cb zaiqSM6OsK8pup>kYgCN$<9@{yR9jX;w8|1e3XnB>Cr-+~q(pX7_IdrXWi=L)K#qXb zhjGj`gzA)rc79o<pim31Uk1cO6kidw<GcQ9O0kQCH%z93ay=a{i6e0?FWJl5mk8^% z_5>H}@@!sW<M{=(!#MmczYE(wMPuK=^WqlevMf0eqT)0m{!AyINhY6N(cyL3AN|2A zj|vi5ASy$u^WB#uQI5{%Hr7DYiReLXVtt`y&lU92e)y?VY}Bmw=lW8+dwvx#7#b~u zau87}wLmWPIh!47SAwv`#apsdXQ!Kd7MdaBMAPsdnxnay=3>QL$C5%@z>K7Vvn#aW z^wwok=W^rxj4VDXnx1L?yXZpI^e(JdT)-QmsPL6auTUPJz;<EUp*L(PNBEobWO2EI zucj{4n<GX(I70j_AMo<X3xRT9cK!umtifeJ?Wt3+x6r}o!>+<N$XFgj&i>pC-3H5n zdakM`;$iLxJsw$C^^s>BP4-wlO}m}bF2GKY%rP>@>M63PFdQAzP^vELVY{@%w)%n7 zTsv!r7gJKfvx=JH!i1e}TLY_j98-)rV<u}>+2GPIg3#6Duys}?<J=GdCRn3P9^}9P z$HdAu6P3C!;LT@aY!7lYcmC?1x27hvdC%Yp=DB&Gefnp`o;KIH4a1`jScM$blUbrw z1zw`O&@r}MF>OW)NgdF$inN!CKP?782;=Aq23aAAv$+X0hQQBY@}Deg5pmElnU>*a z)_1ogH8UBq@=iSyW&OZOvIOZ<lpltL%;Lhi3GpfrPYa{@fehd)q-8EQnQh*8`J)K* z)gORefX(OIs=09>cY%<@L_o`^{K{%>0_=e6xFCK|gHm?81vVJe78f$2pZqxuL<g;= zcH+6Ig?g*vaW_|mSVzipT93*ZkIsKBc2vwbjc>0I-A~l)AP%A#gneqZV9kt`fM=-3 zAfcMYF}lxMU92?YymMbv@nU7E6ZJeF?3lh94r}Uau}w^?qnv<+EZyVyjvRP|vFe7? zlyictDRW$SG|FSm71g;hJW(TGVdcM7XbsWZ!msGVqSym{o5;oqF~mFMqXo&@u3zZK zmHLGOZ>yjuGYj?Qb$Q*E=uq{0N3}zY?w^pQI@huzcK9((rrWkVy0RM<>?r4RWSY66 zVy)D?#lM<;T&CyN1j$LLdgrv2BHD$-_cFFdNE>2V$x$$9&Xvd&hFEAQ#?m+{<SS`~ z&9;NFSkNp6u?%S2z)QlxYR?9Zfn9Lmj<s|dVhxXYB|1?%>Nb;|YjZosD9ugnnrYw) zi#Qq=OF{kNn&Zz>d8nps31&I;_f^-bBf8*(rj%{GVW60e-l@<R3__wwBGsi>R_3_n zsuNh_IA7iBQwww$#)>|MVYwC<y8;8V=h|1!MKo_pT={38VEd`wjdoW9$ud_l6<n9? zz4n!iR(y2VyAlg^*Slb$^r!lQSt!PDubvhi&21G6#$(#w4DHn!OkFqz><K>uEd7Oh zp_R~tl|-;FKz>b*K}f&|`+0A2M<ou*BIW-9<HCWeK0?Evz}rCYJZ_-pAH0(4z79`p zy?o0<qHUdL6vb=;<cZnZ=7tY`LQ!<g%xz&rnyWtaiQp&Sk|O9yv6)Wcfsaf721-E( z3)#XzA4R}{9~0~ov(-x3Mh}NurO@%Nl+ts@^mIw*GU!Oy&v7g_c8FW`!HJ_r2e4qm zTMbmRIH3iM#pB-;0^b%9;hENa-Z`8wwbHFBLKZ~=9{uMuxbu8P%_8AFf0rp%A;NoY z0=r;FR8$4gCP6{adqB+)%zyJNJ#T~sWkR68c2kv+ayf_&<1X`AbMGf^2bpC-fHXQB zKm|#2ANdaGmO4)NQn%%GFzmL@YB~>sIvSe!;(-o)?4YmMmx=s#Q(r^CE~p{u9Q@Ao zR{%K0M|2hJr4L;hX^P`vWE3VH&^S!FBgT6;WyXmbs&BZb^U+hRD&+R(u!W>>^o9^u z-+0DRim;x|QeGz*(mDFs{$#Un_w87#G`D_+p6<cQt=UC}-QC)Xa3)EGt{D{CIVc2& ze;PGGs@#eNfb{8OU8yOpXo4<glMi+BiNyCUQMH>ws-Gf$iS99&vGB~#ns_0i40{_E zW=EPq#!c%bizr~AWes_wjtYXt(=ko|d{%W|J2qQZ4}}mA@*Wh1Qo+{TgSkW^#dZg; z6;F!_nFSn4@P*0w&OB}197i=-gXu%X2<8v~kOcsm-Isn#+a607mBl&6yb_K<?pStG zVXUXlRY>Y~-PPTpE0P%?8U!~0O(&grun`t`V56tW5%-?S<lZA(0=iy3DfgbNfgX{x zdk=gej!-N+@CS4hA8;WyaV>oWEOrl(V}8yFY$b0(4DMWarc-2jriru_urUZ^c@?!u z^QRQJ1kbJd(`eCz2Gx9%LI%hu3mz4AiOH#suqiB(MNnZl_C<_63j!cPm3#X3Jc4D@ zKxyrY3jl~17dN-GMnR$Q1pL;WGh%l}r&HHHQB^TMywzR`_H`%U)6ENE-yROwKR}0{ z^MJo^JEaj9iX-O^<U+y0_0FqzW!0_;<{M@hABB}RXN{X}v<+q<hh?Qh=H&*%a1yw6 zm8nCDuuPfi!Ly=KhR-{Cg}qJsBHt{{7F&9S8wIO`(<lv{$4+*M7{uiEb0JG*G&J<G zZj3tpTnL&apC1W!_Slps+$cEOR(HvNg41Gk!%tg&zXa}jc~oc}D_fZV9t@1qLzu(a z=gvG<%M!@NxhH?01A`PE6w$NfKyd&7`=ZhV&xw>q(mCqpvvf2--2G;VRbWpak7;=O zI4K}yKj9HeW5ukRTERdt$Jzx(JbwJuaO&kqvB#(6H*k&I#c3FzbE;U(j}{T!phzF? z=Th-&p(CN!NkFExG9O{<g%mwcTb?W<bA5zMC5vH|cxQ;Ke$l?4TfOb<qb7al2j?NN z00%7DO(pqM8#9E!-`Cx9(hE40^x*;Diz7;(MAL1BBQ3M+4eUWc=nX+Y9uNR<hJxnq z2g1@`9{58BO&?-p#sIim1p~6AL#giAQ#!NR2!M=u0)aVo4O!|Si_;x#Th+i&npkie z?YW-z`}PY6TwMwZmIRd?bdV;0xeF>lx^`<;A!hObWqlvq;Y$(+PNqOiLg&Vw4ka%a z-mysxy}ful0bvMlud(JqtWLEid(Eer;_dGYT4k>;PPjhzV}U<JRyoC{6%3t{M%{FZ z*nSba&~(ZzGAeoX-J{#mvECv5qEQ^bZlz5rR>m4EWu1Nn!`=@^FNShI*iE14p+0*B z+r3AmC$kFVVLE0i9yKz|Q)kD~lIcz&xd5r_pMTC$DrGx>1Tkw$lywO4{p5^NC_xN` zGQ??Vws32GvWXoWAdW}|R{b({dIa!#wo?f2u0h%~s;};dXF0&Ah)#{p&hP_`h3uw- zG-<HXFoBJ9rajUIY3jFO>PPBQd%I1R{-~Qp&)dHs{zaQ-CbFW}>y_wdI}%K-%QCAq zp%oIBeF^=flSLy{rITf&m_gzqeogxlSfyi*KHN(_G)f<;h?Akzb+T-}+~%gcF;%u} zjj9Xu*pAX?V^+C3w?8Z}ZvClqCk$o;@m1TQp>^A#p(R-ib2%nZHERUrsDUeCP>l5C zWX+qTu*@?y2iI^<TQ+X?^k<>0O*P!z7U+f&SfBMgS}rh_w8Z50Q^Q&Fwk4yL`_53% zRA8z)Crd-@WXE+l8Tw}@wNz5sG55o{{pMTFMHs!Lk<2xFCB&3Csjxs=tu$R4W+yvV zr#l%_;$+Vw?&O&D*iQBlqo*3i4W@HrN}QZ@Kb)L0Y&q!i_91Lp^XnrIl3~F4n}wp> zucTL#hf(%0$_AeP(4g$~vZBakMWHaV$Zz0H^6E>Ell#?;mM{#+Z>RZN77+!+6cp7q zBpC3W@CVMR-s)o*o@f~FLP~K+li05aM@C5%b6ClcwAqLn0Rs#sIoq+Eb37Yyly*I^ z^6tv;Jm@yxdHByn?TVajrqpTp2Bd+cZbYQN@1ajBc>`R;eI%>hKV?Ax!jgrg(?`y< z3+|`6ir4CrKK!<lw>U{1*XlzB(&yCyKD_gwAMP3X@OE)^%{4G<t1W!SxqzGwWW|qp z^=psglG`=KCeAqcoS-r;q(x%{#O0LD9pw1(SAST2eKmQi!9z?*)nf9`@U9hi?*2!i z)JUt};xQCkxy4qVAB~kkSzp{Exzpu~ioLeiA}F`A7boxQj)Rz?hCwVf=ttJP!9{(V zP^$pdb_$8lZfidzyt$(Y$#K_a-g$M+aj;_aa8_~wm^RA=RPgp<4!}4l`~A7r7jSx( ze6Z%YFQh3!#!%4Q`yg}k?$a}=YJmUE=xR7#JCd8s)Ao}$GO8GG_3}>9>6FZ9(ae}6 zHD7u6Uvkd~H$z&I2U~)*Fm9A5(H2^5M5#q66&Mk0)NItM7kAxpN7h{V*LP&qC*?q1 ztEeTJo;8`h;uKr673f`c&pO#{<;@59pefauR58eZLD++}wQA7To*jRK?vp=<+Lm_z z=32GYr7dJ3W~<g@*}_d<`Q&Z)-~RbO-m9BQql*v!4g)YzT{>QD)GQoFhuO9;L2&^( zhJ?^#fi%n>un>ZBP4-_mWIv|Vy6pHQri}@rw|~PHsNqP%B8w1Enda6MH7W6q`V5(V z7EJ{|j}FD*dT?OcPKSRC{4A<pTVvz~FbGJXcP;s&C6K<Otook(i%{02k#;AdUUqhI zr0$N}kgz*K0>umotbo*W9gu3U>;wJ?lY`AX*3Ci$%}cZI&?iTABQM5IZA%x8p(!kS z8xR($9&}YAE5x?ysw9i(P5{u7EzWRAvzQhHPI7k8ENfUKYcuN2ja6@dJhjNncf4da z)isB7`@mB*itRs*5TZ<)pgGB~prMkup*`^}r)u<wQbU8DDyGX)VHy+RKsQ^xe?4fj zmb3r5ESp8L8Fri#rsd5#^l&H>z>We4=Fo{@=iEH-=9{4`D}^(tprq@;SGzx}@nA;j z5g*`~sFakIN8~^Ue85`MMc>t+p<yquMGi_c=?K;#_(f0TqFu&JcAT+b3oS~Be26=! z{t<?f!!+N8L4m%bLrK#wjUEak0;NfaF;2G3PLhu&5U(j#hv%4AiB}6v1wv15z)%f( zrY9mXR5w3EsDF@A78CEe*UYDpm$0}208l}gD{WZw-Z$NxHBV@6VKl=ZTv+Hh-N+8` z=aq=Mra28LI*ZV4(Vf_!S)G6QjKCWtn;9a}U)8<y#zN6eq~b;@>-PkB%t3=!D^N*c zthF8e6WZB;7WnM#o&@H6WqOm$_JswY!wP0sIs{c;Nh4FEFyqw<NrNQY-7hvOnV<<H zxNr$8*cVK=UNES0jxY&Cj3O;!2Nr;mh&pzF*5f(UzEgHOIu8xN7LV?*SZzPlt7Lep zv1Y4N22*8J$g90p&DXjyL|Se3qt%R$&H1q+#6wZvh~D|@miag8c~;A26I%Y9xKt8v zY28F5$U;8StI4?IZf&|XDcul@OS7svSyT?uaX6C|zOshFP(y;t(LX&hHKuVAQU|p1 zZ8)0I)vh_b;{@c^Yo<(SA<$Gi$V(IkAt`euxYZG6)%-@L#naAq)L+FempC_fcWEtX z+G7v|Wz@1{I82Ty<Y6;~q2FyA>cK8k#;ej!z9)9_x)jfbx=D56L{&2fO;<NSq9|;s zJNVQlH<9#yfMwk7V*@#~;~Y1gl^cyCJp4F=6OP=@$vHL4Q4(@f&5Cgau&U0v=XdvS z!x5})?%Ih5(f?e?v`i_qF&bl8G}k@+F<r8D@3T<v$l`m@_E+)jU_)(7imjx7)%#JD zDPfe+7BVnD(Z(viVWW@q`gl|OG47sfW+s|}nHV<nwWZC7zG6KV&5$^FGn-<kV_DA= zU0AI_)V*1rI+tUqD4irg&&y<yN3r!n8>PjC`n%Khe&f>b>h`-+To%pk;5%&u?lHgc zS|e^%^ju!l8eK|M-)!dcAUSIaI3XdXkW17(e6t3NPFbx@ZY=9d=mXN6sTx`)oYq&> zhfmZJACB7YV~r9}Te(qj-Hr4hBO{k)Y9M!SYg3^;#!`Y}_3=UHgtRMNu*KL&ajPZ9 zGI$_wQ7@=((d@vOF0ZatFa+WofuhbLkys=zrd#YTRUC^I8&rlZj(|*@n${H8N*BoQ zRXLj`zdQ2TDVBNm*Lbkj#j*Jv(#Da0V~$Y`zwgVjo$+BpC}5r&$h`Ei@K??k9gav_ zb)o&`<^0Hc@TZvMnGH-o=QZEgQuj{E&*Z7QK6@cQQ_{f~_2dS7v=X%x8YcJnP5j{S z{9=CC7dFZGS0nPb+2&(2Yz6->sy85EKR>74T)RQP`s^7ZS7LM|fflckS0DZb^;$z# z{qr+PJiyq+2x{=EFVkh6BC5Br+Sw1F_^P|wCLoyg`*H!ZzSzevif}GtLKGXso2xdQ zxkZkyyj;ZKO1}>&q>|3(YUqjr%c|!1II;;p6rr%a5)L*%+bO{TfbKglU^dj`R;Evz z{TBVAZdueX^!y=#!j|$tE|$ecj8U)8RPI^z@pgX-Ldz`e$eXOW_p;m6%%JbhJ~FD? zb(Up<0eB*CT*yghp`;2T>*I|E?$giZ<6U+wdv6lpUqA4Blv$lAY3D+QQ#9!shFCT> z)oo8N5}m{VIEPSrMVW(`7aGd1v4C3%VnIHj?*7a!L<N70!2Z1~B~uocWfnAi*E2xd zp{tURU8!H5w~5X!YgA<qtx4Q09=*w{Qj<GVlRK6)dB^|0te=)p0|9*mZcT4MD9r3Y zv*WN$$7Nm9pn6{lf#nd<AwEszsR5%?)gURxHYd|MG`$yNvna4oOsbT`08Adq(Na4o zbzTggSZGF%{SZ<}F@9-t*c#Ny++UDB6cUp9d)=!&+S(v$ujF|fikHKEY0j55$DL)@ zq@k+51t}I|PlwGRsBwLSb>PP~*&k_u6hcD*l{B;-4<Vu*mX%QCbq_*hF&fTVQngB4 zZ>0UxZjlFXx{Vdyfj6aHogAPHI#hJz76HRTP&vqaNAtx~bF1O(uzGHy+Yd;%bQ@Wa z1o_lch_xvVWryR2m!*=rG7Dk>nPA20lSLMY8xW_(iDZimL-^g=0XHCAUf><^2`p^? z`g0)SiAFS8Z7>f$djM`vOmwHI|9|%02i~r#y7ygw_TFcobM`q|fdnIoy3RJXCmKp@ zDTxpz>zFGbXt70`TJERR%k9UT@Oh5__40hF93*I}sHt+jXt72bO+c{N@_Nyt929L- ztSIQE{*6L4Y6?M7qawWTZ;ZLtUVG;pI3V8kz6bem)?9PXHRqUfjydKSV~#mSsMjsH zIr>vm8V^r!589gLuiG0o+%_?L_lwEe##Hqjd(dof>@lrAsMYdY>a02TD03;1ePl|G zu?{9vseF1gjNsYt+>kJO7c3?rgxSq>nVU8cN*`VJ;L@juXY~8@@I0<XQHsAuxla!U z%Y1t5v~kl#`sDJEL?1xpDcc4xY}pZ#SeacK3ZQY(@TvxQ!2S`g22eg$W`I<S!FrNi zDz_d$&gUF0Iis(U2RYeW80%Q~&9R?sxa`E}9Th!*2I4?mdiC(Wm{*SnKqU9-LAj&j zX*M~^?R*G|cSIN%^XhTw>q5DAHQmx98_+~Sj?djFC+TULusArk@UtfNkMgX^l1bs0 z?y7?g%Wd>dT6BLqoSwAMe^m!5Un-M+)?}Xz+i{j9M+zNhS#s2G@TuWW@u@O*ER^jX ziAfGJI0X?KMhT}SlisO|ANW|V!)eK8@2I6^ZCmb;wPMM3A&@QEcL1XkILjUFeb(t6 z;fxu`R$x3-);o#O9%>-#bO;`>JpZ$#ALCgvEp9IhH0(sra`9zc<~qoh>mXaQZPQ@M zVVed^`p{ZZW>BHwj&;v+$LxH`k`A&Z7g+Z!nOXNNxzLW9#PpVDZO*EL-$@Z=cb%YZ zQV~CRbaMC$)-6m8yh6qHiWh+C5ca>>`C&;n;6IutJYJ_4q9nox0Y6`1Awo&)@I+kZ z#39G-APN|?*z6=Et|?1~9JGy=Q<e0vqm=Yeq>zJ<L)gW7N!Y*0@7l_G1FI4zl9;KR z!ogJtRAWYQ)MB0hc-p&PF=VpMxKi5{+cI1{m7dhA^rS;74Oc8N#PYj~7K>ONv#V|- z9;V{$Fy&$z1n&00Rcg}<@Zudo6){wvfJ&4J&zY-gTvV`e5D7UUI@_tP1KMjj{H=2K zTMmCi4m~|c=#&zmgF)5qRyx`osgb|gk52WQj?l<+O(%L(v=t^oe}$-$U;^B?lrtN0 zpyNJYTYt@gy0t8MTUj#Xz>j&!_lM>&Y@&JoW^a9}jL4JG>w{cB9Xxg+NvVuREXn?( z^J3N)c$2-c_9qQ3Tt0s(S?*8p>WywJmL0qD;(;Hd5F4^_)k-KX{t535y+h}Cf4$yY zdY8ela^9qzVRF=?wBSmmw^G*6X^%C@57~!cl!^zw|1q}teZnxFdwFW%oy0kbvSv#7 zvY+EYO9sC1jtIqY!6v7hL>)e-N^Iu&i0)*UEGEI_i+$oXk<|ICCU@e)3z^$%Ic-8s zNYJ_K*)G7|Z{V_#V*@O<$2hrtFm?M?O<A3>g}vIiDxpf-z+_Arzj(F1KFgnuwf|vt zdH+4Lbr~}l>#~XB>cWq#$BVpn6el9RvySLwS^Ga&?fYk|eKORZtE_5&&}v`qwdX;q zm~Fn+l(pZe+Haf{_BEk)#BQ(sUaMWl5RA+!GlLXY$8r!Eg|^}WQPgr*Gab6H^_uk0 zB<Z`3G+8H9VgkCu@(j%<=GPb^?IKZFl3;dF;7D9BJaCg}h52M{NKJ!xG`mj=D-i6| zjU3szXC+^Ov;m9kMuf@H4L)U2K?=q8D67ZAn<4>qimpa;d1XXv<ru$lyK>_*A-T9) zEtXpfB^TE1NWeT~y-crA%By=^UGY{$iUY)J1hDsB3|^O!3mp?3nFY!;Ksos^P)<6O zQf2_9_zi|fP%b28mx57f0M0616A?E$?hs5SXU{T1$7rhz;3E83`+&w3afQ;d6b$Hk zh#tmR6twZ98#eQH*)oyQeI<S+ax1I)LRLf-0{EEKY^W&q<rdJyZf-kj$32Y)8j`g< zkX6?3ShxmHVP@vEipPRAXjURA2qt-CYtWuxkSFzTgt~<(i%`DU!2#z7+QsoWXgF!! zasLZ&BPasUg5dsEorMH}s6UduCP+Gsksjws5<sMPXXL~x@Q~zUZhS~ve{~5#$SyJn zClAj}JZJ<Vy(7liQd!{dDz=JjzFW_OnxzkPLWv}J(UUbN$vP?3@W{&LH{_iOHfF52 z?Lu4c=aW$==sdx5_#_^0L~)XuMIAStQIu;pE&lewn{|L`dR5H)YK`sqEpG;c(W9c1 z@gHrU+C>-t^nd8n)IY`QZI(}wvh`^Q_GT{E{L>HX(~f^?S3#;SmaQVj>r>h71H45$ z_D?^lPZ#^ArU*XdQ;3Q_HCy{0P{o>{SFo(?+M`|d>4#{N7#WfF`Al=neM~IhHy7FY z=jw=RbFt+7bC1PY3av%b;0aG8o%_bawEW9&QkPNu3YLqWEFex|?{mfHscryX`<h;f zBKq!#F80oK4B=7Hr1g@)q~3R~)~HUKJ>EAP@exA113?RFhz557j@f~xF?LNcOx&4p zw$6?rL~Mkb;J9}3VIdQwN{U`S?T#YKqu>;ay^-}V3s(7xlS&g(caY2lBrlJ36MEx> zbgJ9gT=A8)FeLf>Fp@By6Nkg>E=t$&hR*^{jTXs8RCh5hp!fkq%!enr7irc9GM<GR zl5q~)=0ub)7K}&e(U^D=bqtx4F20HIm=2&k&$p-gZ9NK{Mda7v)VnBuQhtPI7qQ<{ z5l>6)Ej)j9Tg-(3(Nd;E`LJ%)o8~Sbm7A(Wb{Bcalk_ql@#LK($K=J!VWQmK<fvQu z;k@YQ*fZt8>oCU6tLhOq1_%X$sZSWT70HYzy(BDPuVgvE?zn4#mtZt|C76yCID->U zqAB8!Cg-5rxo~U)t8un+nZ2!2G~}ELZWVXK-HMbc;b?VHj#Y;6l7%8Fgof1=K^M#2 zYx0`J+`U5G8d3#GQ?r4RJhqvN0M)DX8N9!eYzWl_da%!#?qCZ)Z8vyHz)%5)@}aE= z^(zwGN1%@^RR~a6M$W$o#liYFKGV}yEW0}v1(Ql>LkI$Ng984jy2<1WI8zhUNJkT@ zSZpjWIFJMZC9t6nOe`{Gs6-p+wa^B(FW@;tTXMO*akNVvi7<p7U8`H7@wHnW;=Hv> zzQ<6mdK=P%(9i7aiq4VT@YfT=6_~Uj(AWh~jmSSDZ)Xd*$>f#YsMvst60FRJpTnRi z;1|b~Haw7&FrsJCKIeL8@bJ+$*7UyLH=tQVwW?R7vY@8wbFBMeI;i`cyrGI!BNd;? z1HZXCD$xC3ak?K|dZc7J8!%>xfmSsPvZDsuQqME1kKJ0g4Uvl0mSV!4cl<_v_77DL zhd*C_DbF3ER#^C257ZG_H~g{jY%-q78O6@;Asd8gF7E#sFIT|)oAQSn-YG~3rPH~j zPRbM8|3t*P_;Isw)>s1*oD91l1+=TGC*l>GzBFKk(O2;!>m@x+x$+}Q7RUCx<ffA! z=%en|HmJ&2EIWTsvx{B^*%fv;=dV>Jj1BJ&PMST)@el1I_hK~x+GuCsz($q?nICIY zyDd<>5%Db`1aOj5bsh|tqMr?1C=^iZD*#@RoLU(>SYwcA(AzjCbNk?@7ix#*Sl((i zhdFpzU?{O4VS_TOj661u#4NzXZDR&TVcVr_D0@Q)u$)N`jv~4|gK_qO49$iC)fhl^ zI;==slrT1Jovhh86AIMm!1pX1s+@%t(PVV+d+X&W1TLUYnF2u)H34Y=lv83E18An8 z3pcLtjz8*QWvSb+S`3PCw4arf$<J~28f*9ZmMawVS$zaM(mmW?(}#^O5u4Q@%3gbT zWVACjz93t8*x`#7AMqq{vQBG!E~PS)rPPy@e^F2$0cx3lgz{fo%O`r+@o}TGSo!ia zB4c`$hu(=D!Gb0#w$}2cnN8cB!^t;^1EesY0NJe*ox@c4l3L*a%tGbAu9hDf&6NN8 zT7GC$7hj5PwfxZNIQjjJer7_Kd1cYqgZ!CEV-1iKLNY4eP|L?h)pLNHJt`{RSj!KM za&ImwF0JL8vk4)NtYxb8qI)Y*@uow{neVzvVP|m4S;e8>!<zQ&%X{UV6Wku^6&ol7 zwRz}@ag)wKD@JQaC#L1QPJ{dx%`q3RC5CW(aV({l7$tQBnYWfTLlAzcny;zVjLv`w zk%6h&&fa!}c9VL}J>ZpAG&0VcYZsA_aY~$54<nr@=SE;;VeCIq?@G}qw?Wk&sq3M# zZP1N%eqf_BJ7d{PRTjlKl`FPmVOmTU`+tF<>0Sli;A4HK(Q~s~v1}Ta=24M$Yde9K zKM{7(nq4mRyA3JcHjSf~p3qYP-eBF`C^OhX>_!`ZT<vm|(q;<AAf%WK19id@u%UZJ zCMb|JDZ@&brfE_?o0Ws*iSLKVY5O7HG&As=ekWVJt(Ann2pP1EFalb(VS`D}6pSKu zT15st7;)uVufUw~Ruy19M99{@3J`(M2F`<UJ>_szcF1>1L5G7Kv;CH$g;G9bNQ{v? z<Kf*4*<D`WkjjyF;u5sm%Q@dP$;Y6ypS0FM=rgt7hBz$VO(D7EVP|Lut|3E+BQ{hU zUGY`TcrYzy9^Z^<F-FEA1r{(!IbYvq!q0a3Z+E5uzEn&Bb!mIy(Ln0fPHxC4z-0Pm z`y?p@Z}r^FnD|B6=s_f2<D0I$khG+LKhD0hVIn4v`JeeFXV9OS65}AJE<AM8++6N) zqV=~=rXJ`jd@P0st5dk*M82O43~<Br#F|u?R04A#Xh{2!{V?-s-Wem9v%aS<kU^*$ zN$)8c<_bGlSSym<aQQQ8h28K*J&h$v_o%@;tX|D~Vs3ZY)Zs?oEHL>gyX*JO?2xy8 z=#Ml&n*17N(oAtm2Xkz{R8Ha4unw=&Gli2|G$i;<ld}=EI>T46u4Pyv&w%p5=mxsR z*JqmJa{;{`n9;y!92`=#K$AfVx2)`2lAJ*wwYp9;QvzGnP^i_6lFGKKJeHH^mGsrv zCqIM)Kg37a@7b6C(D(*fJlG5a3VEXJfu~YgpPWgP#<Q;+2PMS#*AYa*v`wK$Geu<z zg}nSwb*0bhBP%5*wM9J!rDRX#Rw^ZpRsmb3H52v=b8txxCal0W1dfiRc!Y+CM9)Jh zIigKFnpHPxfX`Dm*#oxJO_mze*?=_->Pqww1}qfySD>3@=}T!Cw1q)27&L+ey=(Iu zsz6~N{5tADqhK6j2{k$3)(@;D_mvk(;(+!l6Jmq1Q7LF7ibkbS+Um1lQs){_o2)?m z-QC=vRup1|5|i(BS5x8vO95S_GJ>wsrWT5C9^3{eUaJ$#L{T&>MG@xiP2aj1&Bbya zf#n+i%ac<KJ&Po=rqC%93Rp4Fw)ZVDB_Daxd)dMydc)x+rUC^dAp1<mc6X>9dwDi7 zA}&JK@4cVNS7?|a?bw~o)T2e^_3s+@INm8a!=|C3DKJhJyF7|pe)LKA0Y)~PDhwG8 zE0&=|8r6&K@tvG>yE~ebIC&`-FS=t&Zpz1&7SW5ThrY4isUYTSjM(YcKMi%wC^*zM zVflD*Di;3^Cw2|EOf`Oo8oy0pw3>X`wl8mQQ4!APn76K=v^V!)#B|GGR;&#K1UviU z?)yFoMOi{>&pk>ZX)=Yy{i@e4IK@=O{zYTvVN4M{(^pLxYtvw(0W9n67#1@j0y+i7 zN*VMmAcFJ4_sZLc1MkK=d<5_L7@Oh91lN+Ky<j|k#}pgZzl8oZ=MC-MJ!lJaA0nuP z8<(7-YGegJdRN0eVQmkaaf0nk9%bJ-R_k|-OMPn@W#5)9zle{I&mx0iIU`S|B<<`) z^gZ3PPUZ0%wo#~tV`MsgCVk^^nm<nB!7o^^u&1c5OTk6)2)6t3+{$}Z>lXj*0<Zjh ze>;Z<i~nqI>Xl)ChNjsbncX$Q+=~3@suX!(v~M4GF#`oTU>(k4!&b7A;Z2IXR>sUj zVQ@Uu0Hv4P4G}OVWi{oX&kOME7Hcr2kwh;d!=1X#`lx9qlXdn5>r;l5AcfR+tX+MC zdbs}!)c6<;p~BLAel$EJxg(#$-)do?Rmj_$@@Q!{DmX4sHPMN5ffYL}*DazyeAOaM z!26b}gG+qsmeEuqfkwXX^qXKRE(AX*v#1-NNGd)V-?`Ei>HGsipsc)M&C(87o~NPN zI5Z3P&>;cGM?4%7>wyMU7iB<H^vl{`@#AuLBN@8TbdmF-WQWkQyIL^rg1k=4uGZ?L zXM#4)cA^krdCgAC?B|D}WjhZWQ~h?qLbS}zDOlPSEqm+D!JnbX4(6Z8wB1hL`QtoQ zYAhf7V}+xmhE6{ApF|@?xvUn34ERL3zSHSZE~;Q+$ge0@lL0fzrKUu=ioHLZ;Z{pA z^K&@Z?_ow?BV~Jp;PWPBZ@!sDrNP=yRXtLshGrvW%%?~h)pKD!kTT%y4l~%|C1|=% z$^^FJmNv4>2T0lF!)y#r%0@-XsCXWvY<6hx?m^p6%Kr6*6)F3ABN=t`^4mCAX-KjN zd~vp;GqFH$v+$W5(^-oWLhiHw3BpSBz>IXkuFdp!!PJwtb+f65h{<%(YqxIOzGG%O zevM96**N^B7-B3FkZKBsbf$=(&V`qB7Z6X8k01KQ&wq07H*R|9HCry8nl3B2@M4|4 zXfri#v@y|1HI54`JYjxVf58Gmz>g#D_)=vc3=3Ypi&>$)ytR2^Ovt)`@8Z{8>{Z|{ z12Wegwx8Lq*~|_7+WDBpqSFzhLNiD8rmRXTV?a!Y#)_?^7C3GxNjX++h&IZ=RNTIe z0;0wkzC)m3kj|kz+f_UiZSIarrerBffR@Fm+`VdG^D!=25#tsr+$$pYAMs``CCM8s z$GDp?s5u*P?a!cM0%pcrbLSY61{S<};&8_6!Y%m%jV0Tnfx@?k_XcJYE?~=g&?%UE zJL<Pi`C$^P3?P}wJe0ic&!l|_os+$BNLG=|G&<PnuvPv*MqqGb!KDkQv_o1Awj!hr zGPiolmGV6*>_}E`@H*3O?^OPH0haQ1u-E2}E$Q@R)?9p|xHJ~soguuXNNc0m>Mk77 zz`T-onU!MEO8w|R_C`8-KAY^8@v~{Mm%GQe{gyR@2{SGhMT=z2%#3vL4=VSygcG(e zD_yzDh(nXOW1w4xq(u7B2zF31f|8RC<|n&qF$Lj?Lyx1Nf1s1?prk;)g};0QBBPG9 zXx}ipB{OY-ZeTTyeI3g79F`9i)2ZCE%DZdn7E)ke7HbO@$SQGmIG_M?WbLofu~Qs- zzfADy=!A_^+6)<amL5|?dXNsz@l5-@^rd2p+QfXCFq5=knMU>MZFc)810e+DXIX66 z&mtMw!5nP2LJX&^4My4B-a}>C^rxg6m=RyerdSYJD>c=K_R!gjg(eSz+okK4+qH8x zbcBK;8<JL{Td_U0k!%8zkuyRHVF`t83<K|4dm*9BkhKJ3W&?vq;S-7+4x;=kR+@x* zUUUru=btuB9KUun>L#nJ^6WDs&@G+Haz=OEtIe;zunSjqP|RjN3dJ0xmmD2TupvSu zIjJ!s32%Q%cT_}jbWS2UYGiTLXc{=i#%d(4Mn{Q#ATUjf2z`g<p*?{l8aFrkYEHXp zVoN@HF%a9p;HNVmHxfbIfYxRl$rZOX&nC{($@EcN3d=zm=9W&qqkI$YP}>R|zrR>j z*$sAT*VO7k7*C5!Z4M?z1Q0}9w}@NT<q^8v9b$ADG7u-&U@`}aC84D*C(EEMq5(Un zDuf8>9M`&rDwRcByh17+IKorl&GNP`)4~<1s7R|Zh{aPW_SBP?7CSB!Az*!r$bzHU zcNeGw4JfzxFZB9a^!xU5A@6ori~EDwi=!09&_;qG^l0bp_#-{YpKOa`TEI7uXpybj z-un`TNH65>kCm6Q7jSnr7oSU*H}ShgDt4AtNE+lR6*Th33p3|K1**Ca)0I(N+=TOP zAumiETG{|q${<n8rFRG}{>%lJcOAwV&NurZp0c&qg6=x9BK-QvV=M}f<=Q}F4p&kE zL=-o<>9l!6uSy$Y=0WtE<Y^j<kt0t==a?tw>IFiQKFrTLJQT!T;zYp4yWS3p!Q_P= zLBWf-fKX&VfMM0BCVVq1OgQ-jWd3KD;j4!6+AE{f28u17twT=i%saXHE1<e%^o$1q zTy1;2+^(Tup6n*Iz=WU`W<s>e%wA?~+>}g^Sq{nVbF(hc-U%I*C@&HsRv(E0J_-e( zaOR#rFfNbr2D%3{TbAQ!IQqtBl7xHHuxFJ!M;*FDgCsx;4Ijos8pF^&Dq7@{`%%$i zNK{)s(slqNDNd`inm@-QU|8Kr+HmD0t<BC*+_@8mdS(QdT&#ZFEG{u~9y3RzWAxda zr%~r4`EsN|Z7d8>oNYyL^DlaS5%H78Xx#vTAs}qr9g*Q9fSU4>@7z;bTb|MedtlaC zL+YOumh8sZv<pHIV2`7{#(g=e%Qv5*LydlLVFp1~$%Vn~WF6G^%F5R|*8>#?X$ERo z-W9;ICmyPRo(&Fn;D|a_J+h6`XTrg1%XqzV+!)eqrY(1fHe2UGvc9<h6Dd79l}vC_ z$QTMFI~&xPgwb%kWXt6;A6L6sY>3;zC0e~Qxh23x2VU;an|?fefNN3}DuRPT#Wtnb z7#|rGvl0~-mZ->N3l-JT8Y<4|T6E8Q9Tf*$i<%{mp`tku?w?ytQ8~Yqakrv0SfS!& z9Hk7-FQ`bz_Td6z5`<)HGM|0C+$aXM?o@QJ2ZoB6Tj@&*OE_d~Y#58(#-uwcs>}P< z%>xzdpk4)_gP^)M(S2y~t)~^hQr)*473YA%Q8Dx=pkfa!_CGF-xqrSYExrx|A|8f{ z1D)5lRi6t`(Hw~4&QJWH-F>ukHjPOb4RDZ=7Kvm*1ypR!>YWb{th!58q2k`h7ZtB_ zRJ?AUsJQ!mj}t1=V1<hBoQ2dlD&A?RcwHS8uOCFk!5-96k-`-!GRMV^8Y-&GTaTUx zD%L^0curKjvxbTea19mbfWuKS^eCWW4=mi-)=)8|2T*aK^N$V{eKZ~oD(*E@oGz&% z%HYS5Dqg@UZ|m4_UPSTE*)h?CmPbVtbxv9C&-V`l!@#B&h@x%D7eEt{?<~D#fFurp zUq{0&JuIANZ{BBepc6!O_rU4%z`{D1dnKw3fEfrP!c<8R4cHnI&JKm+pm!#qU=JoJ zAiP6G4Lv=8g8ls#2G-}GB!;Y76OIK>j~Mz$JS+y*DiirVU}v%AzPzJO41akR@iHfd zm-Q3FIa$Pm11RV$Vqf>?=kA*ZD-`@Y)M0~j>nM1I5yQ(w3`-ome2^Fp_Mnc16c#Zw z7LmJ&#dM7rs>@#}=7ENFQ1{MB46mpWLkGBqhjYN;h!}blFtG<#ySSo83`2SV69+o~ zC{Pg=(MRLapyG}`Vz{?X4B-uZf0rmR4;HagvWR0Pi`eg{Trw0w&G@XsN@HVj!|wiV znHyt+TfzJ=QJTAw7~VK1G5o3#KslZ-8N^5Jbe>@`T3_5<BZktXeeK2bz`{D1x6Z=I zIx+lejTjoRH6(OD^Mg=04)*z(@4?hAzFH%OAw7VC{nIu$2PH9_g)>Cr^pSX246L!4 zB8Gd781^LQ?T@d-%t@<u<Zbl2CZ^0u4)<O4I7!SjSRvt0XPI5dAzbq|lbE-~HHn!^ z#QhTUU=NHO28o%%m842EK6$&WBxZH_WAl-i>!5ydc5-N-mb>zb)B&zZ%yYous2F+_ z$YBpGW(A5}Zp<MKF4iUHfzE@Bbs<-((T9<keKbHuz@MMQyxk<`k~h5W@g;{F3={9{ z=MCp1hX>z3D><yO5{kGJwpq>+=8VHZgB2$JlN{p>FkQYeUt{EOLv3F^V}Lgt0KdK~ z%fi)m2_3g=<ep>?3)S6w=EED-!TkO#Dkdj~*VM?N0b3)7vqRxH=$#2D*n`RROce^E zb5eSM9QOD7QEbSNLm!EUC5N>M6*<Ht6G8bt1q>Y0SqN4H7>-VH3_FEuudoC;%HdW? zv79q5e(9hEO4j9M5=3JK3f-}(EnB9xyo_ylY)SzH7hF8SVZEKvoO3Z1VJByw@X^>* z`f@*J$kTAW2(|7OuARxD>jV+N(5`!{p>5($$djbmL!=mLu$>b=4aF{3P;~(heLbd) zK(Rp9X$!2??B(d^^x--7A@{KLVM`yP2Cu%z^hH*Fp@ZSH$cyCy@^tJrG}Q}sbvf2n zr;CNfVoWz^EN26UG3PMAugwOlGi=bb=vn(xQJ_49X~#-XC%rkTOc$jVa8GK9jHY!3 zZU1{YG%$OFHd?1WSMl}**;OSRB-NZU>fXxTyZ(`bFI{ALfcaZV9}+CaWqP1go75yv zG$r>_&`l52!UMGy2%PXZx6t!lV>Wo5e1zW7Y2cVjJr$4*Ww!1$@iWHbiCag#y%{&{ zf^a&Usj?j&#+3DLo9<XMr@^%cdUECwZ&B`gF+oSf>09>xU+W={tO9l?*ssZq%3KJO zaSbjisCGBorG3NTRmQf}6*m<5#f|?sQ}-bT<#!ukvv}fj`-*cIGnbMn73yu7QaKzK zF(1}?!>^|3^u}9nQD$1Os${+OhQrBO6~`C@twSPk@I|B6I-fhtw2DUT4yxA3+@|sJ z=C5WL<gRab!bx0cm?cx_*p!jb2vA%0t`~{;Q0^+OM~9D_Wz`1XqySaJe$~=^1^Ng8 zgI_FA;}{$q7s-N*B_W(-EQGe|Au3H_CdYMJ5oNDQ_*F3w1{AhcvO5vb`Y8MJ<4S{P zX`%zW%duPJJqT;dkbwf(r(dR>*~i!1K7?eLGx|B}r@&;xlYQ>FD#<}Pr10~Vsf+w8 za4yUtgqwh8Tl-C2bUKmC&gDx_*tviLrJ401b}l+R#e^;mh^3|dD=~9fgO$rkGI9YD zyTuN=uq^Dt;Jj^Iypl(@a8WtCqiUA=90Hf!>$7f|F<aw*Y9u3WJ%tahrjCuZPGrOb zeZ<yP_@&cJ%mLoohhnHTKrv3Uvws1_v}E9sY~N+4!#-e`{qA8bs&sm;lg>^!IUk<C zMOC_vwK%5@Rf`|7M6wN1HdNSmxeXOYQtjDnsD^W_G_X&$pNHY0I}jcqQ$-_gN5#Hw zmQ*A8$ZWP$-7y^wPrzNNd}$a(xFVPi_yd~FM~pmLR;*Fdt{M!X?7g&|VpwDq#jSgV z0>t!R<YZV^zD!h<wU@~0Y<Pnm4aQ@oVU+dOD#AF5s>~XQj}?#_B+vdIIrZTrbleym za+ol)tN{bWQDI!9wIJJNnuGPhcG<mo8ZOA0CxAIW0iEY7Fa;9zDDY{|Xx%!mhfm*r z0-v71rxKqosluz&TnhF0s4}HB6*l1Wx+&Z+|6?J8Z}SDMW;1H~e|D=^+bxz@Vg|*{ zzz}ddq}!Z|U$QiBp0<=IztZH3FMz_iA8=cHD##sEW2D)`ajBhs`V=F4@{=e6h^s_> z%C2n2SLA4=ecJR62}U_(eOfMMZFYZ@EhxKtiRsDsvb=xf-xsgqmRT&v?6S5oe|N|X zT=gyFqR^6wc^9-~YJLPQ>8|=L>8|=L*(yF?el}$O`7F2Ht8Cb7fB?e65_GQksmhCo zvGx@d3|30*f3r-A`3$*f@r5$!QMasYGeoQ6vsUoUNOCCnW+d5m-;9tMYjoJl8v}?e zA)+UnFKDk=cbhR%5-TRf!JPoRcLN%N2Tz-bnN=)Ym|XFBcFD7vZJTS1o57Fx1za`3 zzFm`zkscgo4=d!MS*8S;Ul#Li@(DD20uASZhL_*?t3|_mf(hRN*#8t}4LW4LgZjuI z3}TR_WbRodohXU*;4365Qf3^DLKa#_MLgYPF~~%$EPJm?EeoY`drB3cuSD5I=j0}k zy13$_x>tGBpkqQ2dwSNSWrgeJwuHSFyMA8Qg8Zgp4*hu;JxfANPnJ!jIk=eZH&w5D zOwf>64;Z*)9s7vlwnQ;2{1E?@6c0WwlVYzmXzg>M26N}X!UWi&4Yr`Ww2Q$Uq|J?n zo8xJe#^^&zKlUVUvkIuvJ=>G;oKR(~%Y9HV@;&jpUOO7d=Sa+b4t48TC`_K{X*GE! zH^%NGWi5VR7GazWJq97OZ*G9pr55j<r~4AI^H}{Vn&~c3lI+XJnZ>4%Sl6Ybm4wE9 z`M6xRixe%7ZmCgKb4&s^_m?u>vs>E=PH*CY-8d43g<-QxbK*=FxxA2<&`Wd(9Z?K~ zrY?6I-+1>kN>tU<Sg469RBI_S<r&Xru4Q54#qvf7H(?)tYPD{{r|gp|%l)hhx!JAK z;+CsFE(e$RL9@I6y+(KZx=Q2MPmfiQ|F9-3_{$nN+a`DGvUhHv6R@%?dB9>%@}OtS znG;$Yas%YF_>3B9cq16#^&0uhXIkyxAa|?ROteu^4wah49;_$I&fUH$!TtLU-kDW& zyjrV3W}cweJ1mNG5xO8Ip(zZ~L<(-6EC%Di_0e*oVmQF?_a(I7XGr`ju`2etcoi8t zPbTY7I`QFp#5Wsd#-Y87^0i??bGSO`<fc`W9#IkqkM>l)?RjjnedBQVGi+X6y6|B) zi&g<;eXq}(^}u0b2ITZSfB*vqcD}yFc5Z{>hZbsAMOauM=XB4qw7kX0H-ELV#4w|d z<!l=h#V8uhq#pF3h1?-%WZ@7b^4dfB7%Q6z7pfn3O~B7m8CfZo<!b!i10UG2o2N(> z?e70QwX2o9!7q8(-C)x&Q2+{CaxXG3w?(Mz8dJl~3Vds!q0(YWbk3XvRUq8qw~zF? zSCw_+Ztml!icR&_Ke)tO$Nf`HrASRQJdvir<+Z9!*9wS6mk1|CtqfUeU<I7A%Y4cg zji`FCowD>St@TP5LjZr;2F41?yF%!I^@Rq=;M1xzyW_Gq=qv}iqsa?hLF;JucgQ)T zf8x}s?Cr$Sz$>+n8BhxH2=ugRWSW@8&g$q7b7p=;v|)7=^OJRys2=F%R|gzWgSF}% zcIWH`op4i=l6`lz5;Jx*!7bXR{6k|MkwZoSlzkxPP62r>23>m(F3+_1bgu>*!HuYV z2R2(}Y9xW15$)}`F?IFtxC;B_rFuKAs5iIW$@XhWeB`g)HcK$Kdo<iv^R1WJ_wPO7 znPCScrlS3dHrP&m^7gr7tPT0QtXFPtT&Ac<)le^KTbvp&r}o|wl*$uas3*Z@Segr4 z4cg{H4J6eZo~<ZXb;e)kY%uJ#)$U8=#j?R__kGv~V?+o6Sn?yN$^yX7kH|?gV_XA? zWNmEajz{04?bp+X)R2%Ydkzd}OPmIKj{GC&L$NAefxpY|DDT<(A(o(hWArP5=kwDq zEpz>Y;(U7@c!R+=(;Tr7_$Ww@T-nhCxhtCJ=vbG=n!m&G5<3^jDLz2nUi5+T4E5~d zh~mn_LxJB%+r<)T4%73|I1&7uOxTU9jj5vfL))OJ#jod^c;oT0HVFF~AX#qk3O-0C zd;6vufFPC)wRN<5%)&d({^}&<ERu`c0A5*@Np-xq0B@ye4f3o`>5L@!-%*oM!RTf? zkIf0S@)Dp)$SjtN@zFLA8qYO8swa#XF`HJE+jcKkp!qn4KEjZOK3Z(Wu8|b$qsBPr zc8PWtjgt>_mw~SL5%x0l(Iih_{azK^tEe1fP9*}Ak(j%WDE;Q@qo|`h^20696`$p# z!jAB`DpFi=D{ng9dsj1Q`RxobcoHdu(4d9%Deh<4@hx2kL^@K?A?naZhPGL}W^*_| zf-Og+?zWctr4<N|p=il^vu6(>cN0NebdFkDMS@C_8!J&3d-YbHRhGGfLQ;!3zXBJJ z#pxgXiM;*TL#}mgJA(4>dpR$-?4UF!iVSadV1rX5eOvJv*msuhrv27Z$v)|0Dgz8T zh6FvuNQ;4@TJ~USSkJND0}A<LX9P6)V9pCPO&fzJKKlF2GDVk^G)hi^BpQ&H<K~ga zGM0N=3(TDd`$|}YF4h~RbM#Rj$%T2OyzOP#olh4AX_y$_<+=#e%rusEhes8!A|LO1 zpvq*j7XA(Jk3o+cXLtPv=CSlICw2A>|2h*D-QtdWW{9Ku5<#a{@Qjpw<=6XbvMOk{ zSq$5LW_8J#N;oZKXyeMI9q?L5)%ZZGT4S6yi)+-!Jap`=t;It%vOJ3I`+@4|#ic(5 zs=aa@=06EKXYu~7r~Sh+)Llv5kc!>9`(><W7_trikduj|;3soCp|Ci-Qb+N=2Wg@a z;>#rPL4;UJibTf)R)D`0X4f%+s0=;!mZMd0rv(<9Om<jcv2fh02O_k8Z6}JMHL#M2 zpru|LF{Q{pv<c@cxSs`I;We=^@Qo>~@+`WdtcJ20RTdrJEpNUMGT`TG1}lWC9VM%7 zE+A&o>_<9{r-tla)vm<fC`KLE(s4_pj<f&wZn>LIt^UejhCcBrX~r@8r~l|RRX;f^ zk`%e^R$ux<Tfw3lz5<0ii6@U`#D&;iDfgJn9lPw}KcLz3xe|~B+<}X{&I0aefc+p` z)3eP3?u5+jlXM#%6I2wF-K`z=2aln}Oo&&*7e__c<AnRPGF*+Lg@vox`Ve@x>sauv zD%S25V~nlTW%W`=$2TO$M-2E*atUf<qgz-|n;Xk=Pay3RNIMJC&iuPZ+KVbmTXzX$ z+ckeG$#0DbiH9iT<r#O4QGh01A-FxOYt1YUiZ{+J-oNW+_@nIV=LgT>M@0x{UH}1g ztT6x2(6LoAf06SboExr)cE7VgHiKDdLhM#V*ZONxj2)ZEngbdB93BYaXVcK+#v-li zne=*As-B~x8+R4QTRqSbd=`9kS0TPC!M8TwI5|9MlDMlitV(QV3fQj;ctHG&CxU}Z z<YJw_6t861(@GImMDjY5$a5%n1xxO*EJyC66PJ4@+=K3lXh+$n%=-l6SL+i#l1c#P z-8Q;~AMa$e6`&D6Z$E-UivM6E(v4ShX_+ve1=r&h9f{lwW{(F>fr@A{`ti;}!ZX*n z8LY|Zr~aCV-`=L(j2(TNr&v_k6)_0{(e^lv$|s+%x;ow-!4$;5K!Dejg9Jz#BN{M4 zK8(0K3>v+)5s%C2Dz}}UFU8L%r<lepa?zI=#dmg7Jn<4-p_!PNqZ5QnJ~~F}rkuQ~ zqwI;1bRAWUz_r7&+MT^2y<ud$c@zJ0OP1q$@w)gqgT3avVI74J`*nQG;LM(gPuXel z;zK{Yo0#<c?B(iZaO%?GPQL~WNxyS^yoNM;>@pt21UID&P~aNm6kx=bS&T1E`pM9x zY&4G>u@fAdhz;0SB8E6@1DCg?i_4SE%D|o?<^Jcy2t6Fe%%F|ABNeL)Vx@;`-Q<{l z<Ai+j;3Fzua6CQ6*8uXE<Rg5p#`!o+`yF+_DDM2uEx~6RgSu>@ttm6DfsHY9rGZ_* zfYx9f>Vpw4HNO;$04ErS>M)K$9%$Pkf-TIkqQD|Fc@=3B&^K<%z65Wqsc+GX<oqHr zH|AnUkYdu&4>jUeaH3~?BOQsxC5xU9C)9q`xyQ#c&?K|dm)Y^mk-p3k&y<~M?{hJM zeBSEI#DY$lI%DjWWPvF&>C1%WP-Z02@qBt^AVtN6T8<NXB0Wu{OgD-oqpT7@t+$9N zn4>H;zXnVe-cwHX{7qeuAKYrbuseh+3*;I6MJ#0%swOelM0jAhzz^(A+Zth9f=L`i zdfL>5L4P44oS4|+!WVXN{$)&iP8L<k6<BhTM7*?k4Q1rIf}d;=f{Fgmu$aLYZI6rB zefaJO^Pn$n7)u1^Kpp@A#ETJLng$dYO%}v;ff<n&+xXhdN@Z@kj2|EwC}A~fMJ&Tg zj(^E@OH)V^R4x1HA4tnqv`#^bK`C>#)dK@u!9iPWP7Bp`v7IKe&&%mnG$AI?<mEgX zeM8exXL~UJbYHFYi{T<_cf|CF=NDsEaw3leXXSzeUy**jLM-oOLR4ZB{WpqbqpW}W z{7bR<D`3F*_AQXz{qKS+of&br6|q~WLtHqORv=Hi;7_hDfHNk?MY60EIlWciyPwKi zkt?oWs0P%;WO5c{(?|;GR~plNy~#(EmLyU7VAe8X=8CAe{E8WTXucLWh*9ef^W>A( z2_WD4C)(L0)ZHlv*a>9oS%ct<27$VGmeDE_{~5fqCgNF}KuxR=US=?lTEwB%yvQH! zSN?;^5Y~gyA_c1%v6}flrv;-WM6Yy!&f-(wu`xfldZF^RzwZ&qsQ+&X>Ib@R17ylR zhQZBHHIp<8T3UWm>;VqHqhb1<q0*g@$+lW8jDm@{O^eQiEcfwOuon(aK49Vfp&wiN z3#rq%`r(k{?nWGoj45bLV|k=0E&oYwXHjag0kSq`jSz7?QM9Mowx^KXMw0lh7H>|h zj=bd&`lO4Z00W9?6q{s7^MBc{A4S=RH)Q(?&)_fB!0DJ+j0$2J>j^1R0F3f9%u2IX z<*JjEq+hGaKdCaY3U|ft|9q;7@ol#C_eg2~Osk$qZtMoJ9LFh=&dbB-5W~=#a9x@w z%gBaO&mMXTYlfCV6>MqPGup7TSd~Wr=9NUyep{K4X=%@|%7Y4C9tW~YSecM%Y0t09 zA1KS?j;bmjGOfJlXYc(D;MZW$c}=8szM4fV8Rh_IBfpnx%xm)!aadc;xgQ1NVEUki zmVx&rY>cR-O^v>)PJ>miPeX_s^Y0ML2${pc%^S<Wbc$zBV3|(tD~$X1g=Gf<ErY>F z)9i~M#6QB0`$>$sRu0aD9qp({PMAY7wwSP%>v3r<nHFw>M%hO3t+H%i$lofAug9g; za){tFMboW?Px2M?K;~>eD3gg*Yq@D5dpAqEIh!S$X5?ncR<G=k*|1rzo6}ixxcFRI z!$@&YnH)9KH!ILF1G^Z&rU?yV=g}2p5U3I|OFCqhbjU2}kXh0pv!p|2Nr%jm4w)r~ zi<<$*k`9?A`(pCSmd|p>3Js(s$3w_nAY0H2#G6@%tiZxv*x$o!NG$j8UR2*jz0Vfg zkRZJk(+zbV%9ldqp>s)g?;nwdb}1wK8ZV`mzu5Nfo7qycyC!UJt(p6I+50%EO-&3S z(jTFSV%;6n@dk20x#RRd4Hw|fi8<Ynjc6nxNL~rY8)iK!{_Sxx8U67oxdcg90P~#H zWc0`LGZ}sBQ|2%kRbT?Mc*3+Yve7mx&)A}6Thaq(TQaqov1Fgg=y#cM%XLgb=0G%| zLO0v&S%e;-986V-sFqBuQA>KfYfJW7gx*ztR>tMFs%^a%!3?wwH%Z-Etft}N5GKUA zG?lfKJ~~dS>!-*9We(9#)r>_y2h)4`8$K3gm%n5XePrZXO?0ppjX{ffS&J&tpJ|I= z+TIc3_s(FK(nK0Hhs7}Pq@=Ji7pYQ!H2snV<^p2QnrLh|;d$q?0%gQ_W(}PCMI4l0 zpvA|#2NeN1;iN(~?E0R+!zSr^43osJn~ukda$cry)>T$oI0F`kim_I`C6$>^JMkm8 zQ`$^<JNaX42R8eW`g05oFpjId9SpX-KU<&OKXT|;!l*G6Vm+-O2*L@T^R<Qi9TXTH z^tT8<Rt+{70Y=&9<!7QM%HsN$ogQlPXlO;UXm!G=u2Q)iqetQ{DThL^zud~z$(j5L z&&aPU`+lWcl^_8+>Sxgkd%As89x`}(2ISF7@H8tGghMl&GUX<$DmAL288cb=Y9nbl zMdZE@0tKtO8AeUcY`bk4y16If_SAH8I&Xv~#nfwhx}g`jcht*tTW|P*^tb6uug&Up zI@f!v_dY!nDQ5^>gMBXaosLg8kDHAtgb_i~O2KUGVe<A`)=GP-y$$7>+(}Af!4e39 z23#=f<i1m7lG#=uI65gC{`S;E@x@aO-0exsA7Yt6cGxw#txW}bkEKYT({emXkK`_v z9_a<k4SSi!=enHQRL~>_4U)2j%|T)CD$a4GSOpp}>osVGfQIH~hsRvk5pM?3P@)n_ zz{dG`^W5ViU9Vb1&sfdiWSqTe+$dKUY1%VB{Bm|e1@oASw=hD<x?&oI4KW$e65jfi zPnye0L4yU&h38VQH18+iICQ8uK~^D*k{YSkKUdWT*L(|ux*}%Ut(hhIrIE1PKX0o{ z@=7Ic|3<4fGc9oPHE>m<ZTB;Xx<-XD<NP$vWq(fOg?Ig~Q))N_8kFkTu2~o-rwrIX zREWB|3=)MxN5_^I{Kq3-5(&MWaXZ$P?nElQ_*xGl9MrpIo7WM{z(^_eQ#r`VE`)q0 zF2!$w`@NAyxiDg21U0-;u8GK>{@isoo@;g52vWboWBJ&uM0bcX`Grg$B4GgWnz^eh zXxAsg+($d8y=vtRJXx2=zY#y?Y6q)KLY4I)eblfHR_YqD{vqvE`Y^-U>;K@8YCD!L zSaza{M+tJEQmG#n7kfB#e%EstpGc&yG1X$J+ITgl{%lLPxvRk7Why;=satf|FQ}y3 z#ebC<AE;9#gds~(>DIMNWLK=RSbCj}-AE)kf*zC6D7{y5o;?w(mij-wJRpLC%qFkk zX`ujVE$VIgYS3E9wqfm{Kau&E{OAS}w{U*`(G6k%$)tkn5L{-xy%(v;vcG$gaDW#4 z04^%<?jRYFEj>CL>j=gFgoChJzI-wtT=g=OkRH>A&^YYMy_Q326=wE>tBkK&Ur6jL z6Zcy}Go$Fdf*ciG#M>SAro#wYdE-mz0_KhrvVufMno7f~k0z7blF--5<POc$9kq@k zAv1JdZi`bQ?IDp=Rg7bRJyc}jog-Px;7Nc}%(ty4q5Z#nRR_>MP$LN(&v*jHR8jHT z*<Y+59sTD<JSrugoTyZiuOoq|7rT|nH7Gy;JUyWAzaynGWR*E#1DC@Dpw@3VT-Kw} z9m+5kA+i@+B#-ks7UFRZ$5}yYqBF%Yrb}he2kMTg+l^Djjs6mK>j3IyvUt*!DG(}q z-*dIexgDQ2F@u0#I26-4S-3GeB0VWz;0A)(Gxy)+ny3v3``7Hlz&2cV9_ZEiv0mqi z>onTyxYaRRcjsA$I`~YT)r}O-GW}=ShvJ#W_R&Z6Ef_YL277I<*F;8DuQ{?7Q)j(q zbbP$yoG1<1hhLl^YBF({kI{~>Q1*kGZ5^GjH9pmb&$tIp8%y`n*BL+eg@y<6nGPoK zTIE{mjm^b{CzcvkEeMX3Bt(!RU<x*=qi_on=%hbQ5T&429{s00J)h7Hlp{=4(SJ@S z14-r7Jej%(?oH8u)_c}k9&DJaKr1kf!|p2V&pK_f7OPLc<T7<j6#Yl1$JC|MV;&sn zS5=<vzo5g{FK7ANnLOZU&+v9Ou=*|Zjaf2Pfq#}*G@G#LVyt&pJ?@WP<pBg4<0X<C z6V|kfm~odZ4>|QT@E6%Ra-6KA73_4ok%#?(Ef%5S@L9KW4+;B2dHVvUP7XD&hf~-e zGY5w{4SwN+-%^MmFqG0*2<m?i`-6pK-rkhQOW9_)c;29z=tP(72>S!6)9)u*`7VVT zcD_>95?ctLfhxd>vI=Wj<XwlSELJucJ55O>At9_b6o0HdI+aBz$2>-X{LnrXPRQCh z`|^mooEZA%0s<xpui+2<07Zc<ZZLrX1G!hyl9#1)LO}!!mB8!!smNbgWqk1JKRuGy zSb-!I$Wljg+6cjbMF7AlQ|54Vs3Fdi7lFzt=J*92%Wm(gkqlvj$0E6rM`n;Uo?DIK zY=_B^iRU5*wv#8D3cRy>6*QZMDi%#>bqW{25$*9D(C)wJyzY<;NZ9SofaD%B+LGlN z7tAEAUeX+?a4}>FP}%r!XG7zo+87)94>FNnDQQay!JsE=MbSCb7f`&{7do%L0FOYa z^@T!JUlehvSKYk2#4&s1eaQzqA;Q#yUG3YfVn+acx<mnGF=5ySzLaRer0n(=X%B-% zdGncKg-qn6s6;#ua4aeb6%eY~A?xVY%G~Jjzt-(sB#fIgZ)>^ZJKqc44^A<skEES@ za7tWPqOs})D%RxL_3$P1U$iNE%Ul<_|8LZaQ3I=fMniN#IxkbS#f7xZmP|~qY{{UX zV?mhujpIBOGJ(OqM@95)$Oxm(rcu=-&3LHkhh;MD-5zfgKPhvYJq2Ma-2D#vH`ke$ zn!dgZ-<9?*HSmLa&vo#0%Imb;ma77F$6DYH72l`fo=#7Q!HC0un@&%2M~bt3ZAo^u zd*35p?KTk*)|n0$ToMhpx{azql(beEomp;m|48?D;LG-+92TXEF$fo!;HXkqI?IMT zTzL=yOZngbp)z>TEa4Hhq4sLlgVqd5ZJfl3aW`;{S{B#9luah5p?~mi#*;>il^wi4 zDK=NDRP!~8TYo$g6;CPd_z6m??-2m(P}}V|`@#v-i}`p?9l<o6XBb2&M7<A{;hu)r zv#OznFt12gY0%k#!Yxs$9pDSAr5)MkKy`;UB1`^5+p*k3nqpe4sSNri$cwE`7;>i& z_*yfj$eXEYc*{0w8s4&j8qOHIE6Cw-#FDY;+CXT-@Nm0KY=65ZF#CuzhV~{9@wp~U zv2hj20~5KtY7WG#-D-p*@41aY81z6G$*M*;QeaU*=YWa!?X`=G7gt)6{yRM-ZuOo* zY#6tV<0B(csT{%03`lLvXCD7noZyi{-Vb|uzinPBJaT$jP61FU=iVuJVG;~EvO6cx zo2bD&CK?NCs9*Jv_NyL_#^w6GH%FOiM+)>PVeGDz=8Xm*Qm!TuM_lS&egiwU$6oJ4 z=^+)D`WHz-kG0}KU`zdr^oWhA3ttL7t@JPb>W4YTfI|J<w}Fsvk!q}O$J>!M4#c9t zqYScGv^7MxQmmvJqHBi{aYSoH75ph7DNiy2PDpV@J3WMWc0@F2rasR6kisH>ez%b< z^bk|mrInXEe2<9cvDJVO5*oT@Ye~!}7ft-C*bsG_V-!SBO1BX`DckOj(1!^zEX_^m zDgKWMcpS=2jDZ#7={o*K)Y{C)`H_II3nVpn)ml#kPl_FOyW{Q8Q)x*IJJQ;(`2y)m z6z*!wM}X4R`XX!;S3P&6uqlSmBQROUlbWQ-xGSF3;W^n+H?w$FxHJ+9#l(`^OlybF z63<G(v9M!G*X8K*%th7We9<M{!xhi!@HyjI9j<+X-=p6({%mo+c=mW!Qv2mmzK}k2 z7c$pCp_x1U)e}eXHSw$tzZi%WPA$rh*rh;#kxFe+<f`sry<k>Zei*iHnsN_h6)p8Q ztbrkDywLgo&Z#I-HKK`_3WrD>n_MFUF4(f&dh)(gPt5Oj=xI}teS<3{`2yXUAt+Fa zm1fEeoh{_sK~!j52&9sVQs$Jo9M5%$4}Os?RJh394zpqUoZQx#7Xj#9qdbH)L~{lf zBxrzXJUWhP?3O4vRJAELxWHO0AyyYEeVYpoXQJ+Ki5To;62aNV(59=0BcwX=e1P35 zTU%oyL%>4w5K#@nbtXo3h!Xh%PjTQZ(LBc?p+e3rkuh+H)@5<2q$}Z?2|@+kV}clI zWk}GlUD$MNZ+<>&Rpb_Gs-9$YO}l=>yMVVd!^&XRgn$ul_jWaAkWvf7OnI5Ps;^o# zh=mj5q0d@n=qvz3oge9SzU;NmxT;>$PxU`zQSb?okkvoVN<#0=L9O-P{Kspy47voE z$JI5(aT7!WOs>i_5n*KNLt-;-mc~{@yMc`i?#%QZ*2IhuN{~gPIoL-lLT@_hBg1>y zaosFjvQd+0zpAJp(CPs5O63VGuF<ZCf`BSFD1IpnwSP|)VXA~3SV2kGz?7`y!2sl- zvSAwCT}PUS6c#*SHw_!5YFjSTTh==_8pQ!7qRR=qe)gRa(IbNYKuRQ#E~64tO2TGr zWRKQPJt7s0(1q2YA|}S#$Trax+nxeEXXc4c(568|8F6w+;;Wa**p*Lp>j2n_++Y*% zQmyb1N6aIqc2jz|B1KXC1lt?V7>fnnndY^Q#0E*x)W@B6LF1;;QhuNuwu;c@7z_$j zcq&=O_(j>5kN4_Dk+>sZFzK!pr#u1`3poh5xj4x#mB5~h{swX)@KL@AnMfT2?I}M` z@C+cx;jGs2V3gO?nqSH4w52c3(+m^!Jxww6+zr;@d70~+YAR5WzFhlr{b5w91?OGv z`@mgVJp9*&W9o=q4W?35Z@M;H+|Q&GtI5EQu(;;G@v`mh7!2#e*gr_2t4&WEruIps z25o_U^It2M|HTdr8@;l)TnZEnr0m{k9zd`-$7SM(^86nIgCk&k5eiR6&@2>NHg`!$ zo5TYHZB%tsNeo#o0CXJRUI4|4<nNH%2co^ajLIeP7$(rHwM4@$OYb~EacJ@P20m}F zFl(Qy7$~ATi~>dIW@!z*cn9Jk$}?QN;j-PgMduYny#22mp$!+Fw>j_VmrnmL9sP1{ zp&*VIY*rtHQ|Llb-MErIA1wh(O#^K0RI7-NidfJibq<+P>kjD1Yt#F#vM1VfkiJQS zLIc$j)WGL$l)`N`RQNE)+**a&aL<7JWP%+a$IetkL>+jdF?Xw6hq(TSXkbN!Itzy| zKNJBQf*#V$&?dWnp+V(E43VaxT=_4UVB>3gtlKdtcO%E?a9IyCXQt=u7%lF(;Ly4$ zqolpf0WYp_D5l^7m8jmtF*Jy_f^VneM!i~j2X>{IcjR6Zr`Azlz+#S&g^vCB$1-p? z)cN=&-Hv#d&YZl9hbZoNd|_NxGkq2enOMd~)#*L^fqJhpQ2CC#*R(L3i~+xQ@Xi^( z?qaV30|8AuR6^l8^AWD5=und3AMJ%G9)hv0H{~IU#YwREodQ=xpdPh2tZWWVETyQ$ zlaje^Xc}{(p<vq{MPbGSOYxhJdDP+&DFtGUm5@J}<glC#^F3;DuLzpi(pe{_I{B#a zUmL}1IefQyYwnI;_||zfJ1^tBCGRk5v?@UOl90*pa3LV+h{YdOEmcrbK%yXvUy(_R zJ+GDuvg}H)S4p-VUXD1xO`UGOrB9RAM2n%FRO${=;_jC5fF{q|MbkH)QBovkiG{Js znCLWRop{D$cG1)-c7E{VScS~uqUnRbE{mJWMU#v(%o}uY(Ii_AeqUZ@tCKhknm)y! z_q|k0kGp9#-%ac_!FQ83X(&Rg_|jFh-kHUB(--<%=L49@-%i%ZEqdeHtxz4EPuCzg zvD>1~&>MMIGG9tk8`(Zux)sp=XRe%<uTED{0q2t?5WyuAM-bKtp7*`fD$zAaBq(gM zAR^_MP_6t^)rJLbZZ$e_7%9JFPv>>gBx4^QbYAi|qk{&@Tq=EIcDGFCN{hbK`lh9Q z=;%5GVtxAEGDV?LwKZefjazJQ3}*WilxO{lB<V1ubUFf>%XEl`!nF$N=`6aAr%0ka zDq1E>7Q68_<U1rZgd7P|38SdXa}oPeg0Knm-%YebFb)|%YN5lqEIGee@~5uLh}pqW z=IeL;8e<z{%<R)P8?7BGz7ew_vkA7&$LEbX?V?sw?b|oR?B;mts0d}`=5uYw8A1xx zmcu?&bk47R!u7hoPf~qCp~KDxaSueB&jm8MDAB$*I$=ss2`|YeBT=>cg0e7Z7f%8% zsDJzX;@#LPv4_g{!*qPIa}snGYpPdK?rE|X!QBr<iz7}1cPVugPuu!DI&Zr$hkX37 zS9)LVqHZqqjZa`B&Y0;4+AbmtWGCE|v`r8;T&sw!lp&HYi@c#d8A620hmBQg4y<3E z0$7|;LBxc<1XrM?kYp*qA5&T6%a{tWj^JlzQ;ZAZI7hc|I@#Bg(brdGt#-1>l@TF} zoN^h?XqsR$7YQr142-n|LSF_vAe!ccpP9Ea`vfK?d;8OcM*1iI_%vwjMItuFj7%n{ zPspBz-()W2*#+nNpPi|D+@}+KdOC2}iQxvnx69%?+d+Bdq3zALt@x4K(%C6(UEpnj zoV~u?`)l5>73pcXv`x`JsND_LCyql1MavD7ffghYfCO%mtc3fz!aC8jlu%Y*xEWQ; zu~y8t4C&{dE76avGbYGUgN%%5k6aDbR5T_aSZmM|R=o%$Be)`YrRn@Ni_5)pIS($C zFY%wxcUcaz3ugupxQwXS_v*dqt{~xAar;z@QtmWOvx?Lm_oEmwFKB{#pj&L7*^f`x znAmaX=%sxw5L1gk!iI{;q8&*BF)9ip7)=lNke1jjr!J60{zAP!bhIW0SU3Y&C+bzc z6yTrko`s)dEVns3P(k)XuZmxb8@>zznsdWghHkZ*-}QScx}JgOu?}KrX#0XOJ3%~& ziAa&fvb%m?D^}tpz`8dbR`f9<5eDC1olaB(UG<~orffiOQiJB`Ft+91>&i9O;5r>I ztw>LrXifQPu6Ib+_ruBoY=N|vJ%GoWa44*L%HI4vu5|=+^#N5*CMWp^>vhEs;wahI zKws{l=Nfz|8BfFQ(DQWS3S!F<;W8f;p@O>9Lj?hvp#Nq}nO*W_h2@2_Zxsq?o&)KM zbcyNzg<)2%Iz2JnzUy9P{FhhsOFORUB6}j{UNNgg3ccFgeCTMKZ|EU}lCCjJhfFQy znIFElr!BM+gH%701$8VP;=Enh*pTd?bJON8&+UCaaC?E%n_?s8|8~Gn*gtW5+HV~{ z8Mg+$Pm|R8VO}w>_y@SE)VV73Jw2AA^oYq+$s^`4crv8%F@8k8JjWD*mm1CH_}#T? z`Z$-e8XZ$njbi^u3go*!j<C2=6$JO6Oi~Yy-2>cRxj?8;XbE`YC9jyn{b$ut0cs*m z5kL)mpW(egVW7$#!&)yP0?YZi=HD|gwa9g1dCfNtsg<l?9+Nurw;_Vzv+1`JW$kjt z-ihZU+_g|+*!^!R^*s2!=4cV-!XRU1_r~D!v#@{3zzF&{JoI9JeoH(xYejtLAk!xp zpe5jC$@Kla5qH9E`?yr_mKZ}jnASB-d!P$g)5KFkE=yf%hhfsfl_5UA?M&T$FFV7^ zTp8D-Rv2ZP7!0!6`bn%rW@B*h3c<4b;d7M72tq0_NoUVDOLCm!>4cWbbz5HH5un?7 z^OU9VDyFr$CMCiGN^NpRq`uh=p(qw1c|jpuBSAs21=bE%gkivCWthzz6S5eYR`D8w zM<|QC%`Y-_3|*RTF+_NPcmVZGaZnN;#+?G0W@wfL{UQi-txZY%!#c+UPSNfWJp?;i zjx-+?hulFpU8Dn+j_64V0S92z?(M?{x4hG0&GOhHUJXIjikUZjHY%RQH~W>i?QNfR zJyvnsTX{XYm{!K#7uq*$Y#j<-M?oKSC=i2QTzZ)@A~8dxym{_%lg@5^afCB3)$yh? zr~`P59eUH<dZuOw6YD_`t}8*Hr^CfeRT@HkY;utGtAj6VglE{&ndBA8G7)KR0Avp= z=4Vp}U(<+3E+h~425E_OIaD2XH7R7vzy?LS#ct07L1QA3TFw@3vNGb*gS$|muvES# zYnaSe$qULvUKj?I+r=MATo{&A&_o`{6Qm0_XKMCI3OYh-7v~7e8x)tIpu!+{uzkY! zNE0#Mr3)7ohHIjNJ0xTx1-f-($VCPeu$!clO89{QV+FcCDTxphrf-eJuIIYn&}0_{ z--QU)cc=>SVvTGHwIcN&^a7vTu>Yv_Ol0C<K?lG#G&p(~_;IvYcars8V_{sf)q&Y^ zUmcy|CUZ$KTrBW%w1aCEl_`cctHT|Wr8vp9VI1vy8_^r^xGzT|^uy{SB1%47_A$yO z3otE^4K@S%#-U@**s^tqEwzbup<-y0%f!;-iDvzvx)b>Ln;x+^FcZ@`?PH86@tIRV zkw-E>`po>U2fpn{sQ^q~Vp*_QjOAvR!T}68DHlu-JWa}dk_nZJdm$kbGwiY45LCj@ zjY5rqkPx~!Yo<OPlERYZEnSMsmNgV;^sWUq?dGSIZS|r<3|XU=+wSEK7auQc80pn8 z+KVL7@ycwG(Bha!lMrv4pbvCHQkiAg^bFV--T4m~+x!Z{N9?H%+Yg}QM~E=-iPej& zWEZgVNM@s!Z5ok0+Eg6m2wgh>tZYNHBh^Ntq)uU#+=K1(2(uy`z4ZPEIaZfWL;s3t zd34zKGF>cayD2=W2D<N9<t8|}EA~R}a4=Nd$rF90JPV+QomfPYV|FDMlicUYBS>y@ z<NJjqw|eq0nh(TO=kHQj`Y$x&rSrq`h2|CkqJrUS9O~;nDL>+ObN-yZw0k&fTfcat z{IXcTEUx|HknzhR{j$h^;R_(ovux%S-NRi!L>8UO7i2fTV&ZTP(v>S^HN+2ZKXe>T zFccArp>3+znu>k6bS-<3u0jwp8@2k;(Sbw~h;7?ehM)YbJLiV>J|<$49m<NRg5lzR z3%pJJ?jb`nmUptNCna5)0K=KCw-$=ZMgm6;Oc&Wq??JCX*8boG+7vhn`D~Wdz!o9C zfmPI&x_5sgPQ_@=dY@T~J?f%Bi^f}#*$dH4_78NyF1M6-rCI4Rl5?XM(FTwNwmybD zA`hF5Nu=9H@GFc=5QH+TqkPZ4Xu^*F{;V|0ZnkKlfyzLfS!bL_8$d;r{lJ`!X~Pm4 zGAy#qr4--00+VfDJT09?fvICqJ1bW8=ohYdlE%^&b6i!MX1~xS4(gk94UR1!pp^t? zWverTM7gFSFmg~=5lrfCRS7lFG14>&j96A5o18=jAgxz#?C?@7C`Yn<5#h_<4cjSj zj2GZMSp`<|#&46XOHp$JCj0c09avVQ7P<(N!D;Za*u>XZu6<zembp5C#W-z}@llCv z*IJ`(9A1dwA&-i<<#T+fSpsbK*{5jL>ulZ~-Se$6athml6Lb40`=q%Kp;lv_HSoIY zsF6lt0=5y&t9F0BW!FWAoWS(|)tEteyRu$L39e%?H)I2u0D_9<Da(#`u2FJ0k$r2O z;)}_58jm(=QF0OTwajeG%Gr;&2B!n>mh}!1t*e>Ab|r6T_rk<!l5&=cmC^Ap7bqk| zP~jrzrhmpg(X*6ezv>!Ci(9%7P#G{;5uVi@mEfn=>=bmFkT&>So2b<p^A%vKVxDCf zKOa^25mu=dh@cV_Xc~;R`?nHadcCoZWP6UEr4xxd0hng|U3NlU{_u;derU5UyN6|u zT_LeP#`;)mmeT-D<}*b(3}|U7oCIJ3Vm+u`E&(rOiBw$nt<T_h{3IC0on>l1J-51< zTGT~{)~#XDtUEq^xtR)|(k)Q1Y|{iI`Vp+{PT00fn@ImZuFd7!IINQhx0$Jb|0gfs zs{6X25`Fq(byJt^*5CV_pFKGB8?Re;7NZue|H6&0{@Syi{<@j}BsMr+AK8C9{yvZX z`tR2;B=Iwo#*ra6lK<Ff{YzFI^~LPu*V`9n3JC%D*jMj-5J%sly3^A$_aUpLy^k=) z65T?V0b-=Z2S4$#hg3kYJowsY{pS-G|Kx-#SwJbQ>W&{p8zGH5y3O$U-kbl#MU=ex zjxwtNR!&^5HbsDI5KsZYNxJkJ^m%w-%T>z^x!)+xl25kgE93*t8uotfz3@tgBnFW3 zeaCZ96vWR;+ecQJ2Ts^Qp`?h<LyQR4n*YN9+{-wA`=%>*bb)65tJeNszkTm>zW3ZK zyRG-=Rx~)}|E}afHT+wD+s==k`(IZ7$@8vUf8VAre4_ZsKYVn@mFri2{TY9=@ns87 zAo;eBeDsL3Z~l{;NIvhS`tK9uzNg!~G5{E%fq2hf=dJhb2pIs!r0Bq|L<UCqp&^}b zq{VA5crl1y4&|BYl`2}?aE>A_r^Tm`h-@^<0*r<gcyNK-(x=5mm^65VozPfW!+}@w z>w#CkaB1<@1u6n657zOECsE`VPdaI7@!E4JqFq^VZM=5snAhDzGh~dusTrH6E*X<I z;PBYwq_km6(aDpa<!2w@x>xznoM7osr?}<1Tco=pID&ONkB*A4UF4&+8>MJgibZ-1 zk6S4z+n`1<^M0k)Ff+1>%I^Ln1}D-HjACGucgUyv9_~}VU<>)ci}?^nNK|n~hlo}; zZ$z56mz&At-n|^B3Yx7S4AAHTK7ekZ7M;)Q`j=7|@n{cKl3E9#HTFX~5Q|h%wfnKz z+GPyY-ZfQwbe$#)NZ{$!U$#%9b_}ke`2hN=?9*rQ=M%s0<WRps!y(Y>BfVUaETMza zPTIf)4_aZ&Z!BAV_~w?&9AJ*->L<e1+;TO?!P#xhV(~2duy{b}JD4T2F*@|819Sg$ z1t7XBYwQAS>&DST@a&(P#NpB#3qQ&pIzcR~$R7`;ojn9zOmt0VBXJ^*Le^>|T6m}| zzWZ&HO)UMX_w~}>wRHKJm;KbYW1aDF-2<Hjgo8S$A0-II8kN>X7qX6uq<G22w6%+G z*bSC;!LcRC%cn>ZIWS1LFV_oIVH&A}UB0{N!i~n<9|@dfqi<m5)eu`R_IP%=NwkqX zYSE*(^@n!_m6YCYtlqqQk#98C$C>at3~=EzEnlhe3sA4H#^7RGfKSvJZMQ8P=<q3J zeAvkNAsJyD)xQ=ckBit7I0J#SQ>?h6Y#xOHy0!96fa-3WAiPGI9<sr>71*O21M{Vc zGXilfyi6;ctgPS)9Ijq{3o%Yegvpe{##t-OdEUHst5$MKcP%yq>QB41CX2?7STHNq zQmL%C{9ShlIa85?Ta<p_2Y@64xch?`vZF=pdWfB|b#)J!y-6!m8ZxY!7$y?KHY&8a z4L*;rw{a8ys^@b|iKNEQBXERY0VNb1=I1=U(7Ri>aomlhJ~M)P4$c;)2VcYVv3Q2B zV{y1rqQ>Gzmq@uq$X)ZoOGU_n+G)*ornM+M%dT2hmX1MyC18&{Np|5|wp$F`Z7Hxk zBQTbirf`;R&d=Eq;qVRxUsn?-z<^996qe<Xv5a^gD5lL~T6ZwKzaMyx>1X;tEx|;< zkcZD6nAg!IFWCe0r-wP1KEi6!fwd*2g)k=!Xx{us^~U1;)In+$+gqih%PP%U8e-IW z%+~S2Ie?H-dbD_kcn8K$AO-Fj*4ak_)MS+5Q^l^Da1g`ie*6^^asPy>#T_k)BllI} z$TaRS9q-`d9~tjhD~@+#CEi`YaJI~ocMa{vXGOb*aGkj4YDc@FfOeUo-PEvzHc$%L zb)IN<P!{~4-Fu#L=zM~9jKl!|TajMS9iAG-la1zSItG!3YFIY_ydm9?BOPTW`<Qei z59j;covI-nZD-#<b{<Gq0{Irua2BL9AWNhRpyD|L5KC}p1Ho}F^d;b252BXc>~QC* zRT^Y#!)KQ`*WYbWu5bK7ISP+X4J!~ggC~fBm<Rdtad2D{HPp<BPeLmkP_AB?P;NRA z%Kf-Px$VC!%1twts+SuqkBD<`;jZ!J*UpM_I?s7@I7f?yb63uZbJG%x)9Dzb8wyCb zZ4l`O!LMT-g{vvYaVPp$N%BtW)ZaIqFb}LN!F=tUST`M{#2&CUw3`D4N4wCQfOb8Q zY?^~l-zq(Tb^{$3-qq)z#JeHKyP<x(^O1O1ysK3vyxVSg_rrgy4R&9^x`7S$$j7|F zUOk@;_Q+qw2K(vJd0-u!hb@l(lf`LF!z1pmM?Uub)gh|(ROnBY2I(GQf2~hJxxXIi z`>TQUsP@-dWxf6NJxwgrhh$wc&7D9UQ=kRchJ}RiO$>FCbuyE=pgTI13d>XZ>w&-N zBI*__`=D0!Z0>GINX8*fkg_;RT9It!CgMJnqqeCbm9I!Ik2%=pxg&NbF1usXtY4Ez zH;$j8-~xrOC!=>D2JYl*ez}74hloIryLerZZcjMSQ1uB18oVEjIndyJf2`YkfITYH zH$e>dvFFFo)z3^JkYFOk#=u1tXy3tg&KHwD_!H7+O>wXi)G?gGpnw&89PD8RZ)P6c z@9<~1h-ODIX3W76)a9JDs+X7QC|12qbbvFN+^-u5Jom+z9HbJ}q}{~q!vs;!kb*R5 zel=!{*Xs043L{@KB8<2@g|QLYl^h#AO#?!-Dh6j6#L2i39;3cbP{ElVyp`Wqkw4~& z<j(3eXMg1G8}nt6iPe9_*&yS9`4F}xk8zT<UAdw`L%buVp7GVp9Z$G{%k<<r*`<2I z({0leh4r+aT)f-DW8rGNykNQ_Q%NR*yGX}I@8S1iC%Y4K`?O=x__HAR1s(xi9x4ah z=l~n;1x=jYCH&V$oap>RzWE!arHMv~@`jUqp5h)afuKm3=MbuLjJ+)=F_6VBqXBW| zR)B<1*Ll!Jak-%$9J?->HsolF)^AKh8FFs5oLf?fun2yk5?C%)ftjml;IJ-YAlwG^ z`tb3M{<@o2X-ls2*B#+?x4&{{($L`sf4w5Sg7;cxoH!Y*m+~rBf~-9yq`ZppBOqv* zbGa4RTfW**7yEg={Hc6i^*@|%DMxx5uen%dCp20<38F1973P?|VSX!hvp4(iFOa&M zd{J))M|I$Zn>U;u9aJuuEnrEt(Eu?b8Zbfblk>G_d%`oh6D-aFmj2VH<@%cW3waU^ zAJcr!0zjxa``WWrCwDt5e{Gzcy!S=QWd33Q{<&iRW?=tB5p{fp{2$whbn)%bl}i^J zBV6F17-U2)D8^3Il_yDY|IGGha>lKvkiaD90wzcYKiN;8Oo}-G<1<KTqM;YfMD?$0 z(Vc}c>qG=cWD0$iKH`tC(%!jiCwp2)UC+9O$x90U2F&CX&f-X)3W*>!xtf`@RK6O` zAt~(Aq@c6ZGU?dtSFRT1o&rlTuoO?iQHV7R;iU<juKDY3dxehqs|S{VrV7K-!toE- z%M(=P7>Ze)hGM!yY(6aXQ*d_A`NryWJNtwEmfim%o=hY3#wa3CT@iyv)<AaPkHIeC z;X>#I&qkMvyuvt!ALSx<AB8%0ACmVAx=HD1{7*RzE-*hv*|pR*2i=>=zV$SpFy@vi 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%0A{-dR=KaJXTLlGTu7 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%0AZx(n;fU=L($G)rQNM`mP#9l&(-a8D9*;)hKvZ1 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%0A0}?G4Np&M&n7$ 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 B^7sG% literal 0 HcmV?d00001 diff --git a/feat/seek-player-action/aabab5112d6e04708a05fd6c44b6dda32362b248/favicons/favicon.ico b/feat/seek-player-action/db0f16b81e41b3901bcf5e0a624af142b1dd9f00/favicons/favicon.ico similarity index 100% rename from feat/seek-player-action/aabab5112d6e04708a05fd6c44b6dda32362b248/favicons/favicon.ico rename to feat/seek-player-action/db0f16b81e41b3901bcf5e0a624af142b1dd9f00/favicons/favicon.ico diff --git a/feat/seek-player-action/aabab5112d6e04708a05fd6c44b6dda32362b248/favicons/icon_256x256.ico b/feat/seek-player-action/db0f16b81e41b3901bcf5e0a624af142b1dd9f00/favicons/icon_256x256.ico similarity index 100% rename from feat/seek-player-action/aabab5112d6e04708a05fd6c44b6dda32362b248/favicons/icon_256x256.ico rename to feat/seek-player-action/db0f16b81e41b3901bcf5e0a624af142b1dd9f00/favicons/icon_256x256.ico diff --git a/feat/seek-player-action/aabab5112d6e04708a05fd6c44b6dda32362b248/fonts/PlusJakartaSans.ttf b/feat/seek-player-action/db0f16b81e41b3901bcf5e0a624af142b1dd9f00/fonts/PlusJakartaSans.ttf similarity index 100% rename from feat/seek-player-action/aabab5112d6e04708a05fd6c44b6dda32362b248/fonts/PlusJakartaSans.ttf rename to feat/seek-player-action/db0f16b81e41b3901bcf5e0a624af142b1dd9f00/fonts/PlusJakartaSans.ttf diff --git a/feat/seek-player-action/aabab5112d6e04708a05fd6c44b6dda32362b248/images/anonymous.png b/feat/seek-player-action/db0f16b81e41b3901bcf5e0a624af142b1dd9f00/images/anonymous.png similarity index 100% rename from feat/seek-player-action/aabab5112d6e04708a05fd6c44b6dda32362b248/images/anonymous.png rename to feat/seek-player-action/db0f16b81e41b3901bcf5e0a624af142b1dd9f00/images/anonymous.png diff --git a/feat/seek-player-action/aabab5112d6e04708a05fd6c44b6dda32362b248/images/background_1.svg b/feat/seek-player-action/db0f16b81e41b3901bcf5e0a624af142b1dd9f00/images/background_1.svg similarity index 100% rename from feat/seek-player-action/aabab5112d6e04708a05fd6c44b6dda32362b248/images/background_1.svg rename to feat/seek-player-action/db0f16b81e41b3901bcf5e0a624af142b1dd9f00/images/background_1.svg diff --git a/feat/seek-player-action/aabab5112d6e04708a05fd6c44b6dda32362b248/images/background_2.svg b/feat/seek-player-action/db0f16b81e41b3901bcf5e0a624af142b1dd9f00/images/background_2.svg similarity index 100% rename from feat/seek-player-action/aabab5112d6e04708a05fd6c44b6dda32362b248/images/background_2.svg rename to feat/seek-player-action/db0f16b81e41b3901bcf5e0a624af142b1dd9f00/images/background_2.svg diff --git a/feat/seek-player-action/aabab5112d6e04708a05fd6c44b6dda32362b248/images/default_avatar.png b/feat/seek-player-action/db0f16b81e41b3901bcf5e0a624af142b1dd9f00/images/default_avatar.png similarity index 100% rename from feat/seek-player-action/aabab5112d6e04708a05fd6c44b6dda32362b248/images/default_avatar.png rename to feat/seek-player-action/db0f16b81e41b3901bcf5e0a624af142b1dd9f00/images/default_avatar.png diff --git a/feat/seek-player-action/aabab5112d6e04708a05fd6c44b6dda32362b248/images/empty.png b/feat/seek-player-action/db0f16b81e41b3901bcf5e0a624af142b1dd9f00/images/empty.png similarity index 100% rename from feat/seek-player-action/aabab5112d6e04708a05fd6c44b6dda32362b248/images/empty.png rename to feat/seek-player-action/db0f16b81e41b3901bcf5e0a624af142b1dd9f00/images/empty.png diff --git a/feat/seek-player-action/aabab5112d6e04708a05fd6c44b6dda32362b248/images/icon.png b/feat/seek-player-action/db0f16b81e41b3901bcf5e0a624af142b1dd9f00/images/icon.png similarity index 100% rename from feat/seek-player-action/aabab5112d6e04708a05fd6c44b6dda32362b248/images/icon.png rename to feat/seek-player-action/db0f16b81e41b3901bcf5e0a624af142b1dd9f00/images/icon.png diff --git a/feat/seek-player-action/aabab5112d6e04708a05fd6c44b6dda32362b248/images/icon_196x196.png b/feat/seek-player-action/db0f16b81e41b3901bcf5e0a624af142b1dd9f00/images/icon_196x196.png similarity index 100% rename from feat/seek-player-action/aabab5112d6e04708a05fd6c44b6dda32362b248/images/icon_196x196.png rename to feat/seek-player-action/db0f16b81e41b3901bcf5e0a624af142b1dd9f00/images/icon_196x196.png diff --git a/feat/seek-player-action/aabab5112d6e04708a05fd6c44b6dda32362b248/images/icon_512x512.png b/feat/seek-player-action/db0f16b81e41b3901bcf5e0a624af142b1dd9f00/images/icon_512x512.png similarity index 100% rename from feat/seek-player-action/aabab5112d6e04708a05fd6c44b6dda32362b248/images/icon_512x512.png rename to feat/seek-player-action/db0f16b81e41b3901bcf5e0a624af142b1dd9f00/images/icon_512x512.png diff --git a/feat/seek-player-action/aabab5112d6e04708a05fd6c44b6dda32362b248/images/logo.png b/feat/seek-player-action/db0f16b81e41b3901bcf5e0a624af142b1dd9f00/images/logo.png similarity index 100% rename from feat/seek-player-action/aabab5112d6e04708a05fd6c44b6dda32362b248/images/logo.png rename to feat/seek-player-action/db0f16b81e41b3901bcf5e0a624af142b1dd9f00/images/logo.png diff --git a/feat/seek-player-action/aabab5112d6e04708a05fd6c44b6dda32362b248/images/maskable_icon.png b/feat/seek-player-action/db0f16b81e41b3901bcf5e0a624af142b1dd9f00/images/maskable_icon.png similarity index 100% rename from feat/seek-player-action/aabab5112d6e04708a05fd6c44b6dda32362b248/images/maskable_icon.png rename to feat/seek-player-action/db0f16b81e41b3901bcf5e0a624af142b1dd9f00/images/maskable_icon.png diff --git a/feat/seek-player-action/aabab5112d6e04708a05fd6c44b6dda32362b248/images/stremio_symbol.png b/feat/seek-player-action/db0f16b81e41b3901bcf5e0a624af142b1dd9f00/images/stremio_symbol.png similarity index 100% rename from feat/seek-player-action/aabab5112d6e04708a05fd6c44b6dda32362b248/images/stremio_symbol.png rename to feat/seek-player-action/db0f16b81e41b3901bcf5e0a624af142b1dd9f00/images/stremio_symbol.png diff --git a/feat/seek-player-action/aabab5112d6e04708a05fd6c44b6dda32362b248/screenshots/board_narrow.webp b/feat/seek-player-action/db0f16b81e41b3901bcf5e0a624af142b1dd9f00/screenshots/board_narrow.webp similarity index 100% rename from feat/seek-player-action/aabab5112d6e04708a05fd6c44b6dda32362b248/screenshots/board_narrow.webp rename to feat/seek-player-action/db0f16b81e41b3901bcf5e0a624af142b1dd9f00/screenshots/board_narrow.webp diff --git a/feat/seek-player-action/aabab5112d6e04708a05fd6c44b6dda32362b248/screenshots/board_wide.webp b/feat/seek-player-action/db0f16b81e41b3901bcf5e0a624af142b1dd9f00/screenshots/board_wide.webp similarity index 100% rename from feat/seek-player-action/aabab5112d6e04708a05fd6c44b6dda32362b248/screenshots/board_wide.webp rename to feat/seek-player-action/db0f16b81e41b3901bcf5e0a624af142b1dd9f00/screenshots/board_wide.webp diff --git a/feat/seek-player-action/aabab5112d6e04708a05fd6c44b6dda32362b248/scripts/main.js b/feat/seek-player-action/db0f16b81e41b3901bcf5e0a624af142b1dd9f00/scripts/main.js similarity index 99% rename from feat/seek-player-action/aabab5112d6e04708a05fd6c44b6dda32362b248/scripts/main.js rename to feat/seek-player-action/db0f16b81e41b3901bcf5e0a624af142b1dd9f00/scripts/main.js index 4b8c8ac82..0ba80c976 100644 --- a/feat/seek-player-action/aabab5112d6e04708a05fd6c44b6dda32362b248/scripts/main.js +++ b/feat/seek-player-action/db0f16b81e41b3901bcf5e0a624af142b1dd9f00/scripts/main.js @@ -1,2 +1,2 @@ -(()=>{var e={67228:e=>{e.exports=function(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o},e.exports.default=e.exports,e.exports.__esModule=!0},22858:e=>{e.exports=function(e){if(Array.isArray(e))return e},e.exports.default=e.exports,e.exports.__esModule=!0},34575:e=>{e.exports=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},e.exports.default=e.exports,e.exports.__esModule=!0},93913:e=>{function t(e,t){for(var a=0;a<t.length;a++){var o=t[a];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}e.exports=function(e,a,o){return a&&t(e.prototype,a),o&&t(e,o),e},e.exports.default=e.exports,e.exports.__esModule=!0},59713:e=>{e.exports=function(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e},e.exports.default=e.exports,e.exports.__esModule=!0},95318:e=>{e.exports=function(e){return e&&e.__esModule?e:{default:e}},e.exports.default=e.exports,e.exports.__esModule=!0},13884:e=>{e.exports=function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n}},e.exports.default=e.exports,e.exports.__esModule=!0},80521:e=>{e.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")},e.exports.default=e.exports,e.exports.__esModule=!0},6479:(e,t,a)=>{var o=a(37316);e.exports=function(e,t){if(null==e)return{};var a,i,n=o(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(i=0;i<r.length;i++)a=r[i],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n},e.exports.default=e.exports,e.exports.__esModule=!0},37316:e=>{e.exports=function(e,t){if(null==e)return{};var a,o,i={},n=Object.keys(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||(i[a]=e[a]);return i},e.exports.default=e.exports,e.exports.__esModule=!0},63038:(e,t,a)=>{var o=a(22858),i=a(13884),n=a(60379),r=a(80521);e.exports=function(e,t){return o(e)||i(e,t)||n(e,t)||r()},e.exports.default=e.exports,e.exports.__esModule=!0},50008:e=>{function t(a){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?(e.exports=t=function(e){return typeof e},e.exports.default=e.exports,e.exports.__esModule=!0):(e.exports=t=function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.default=e.exports,e.exports.__esModule=!0),t(a)}e.exports=t,e.exports.default=e.exports,e.exports.__esModule=!0},60379:(e,t,a)=>{var o=a(67228);e.exports=function(e,t){if(e){if("string"==typeof e)return o(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?o(e,t):void 0}},e.exports.default=e.exports,e.exports.__esModule=!0},56553:(e,t,a)=>{"use strict";var o=a(69926),i=o(a(33167)),n=o(a(15016));e.exports=function(e,t){t.addEventListener("message",(function(){var a=(0,n.default)(i.default.mark((function a(o){var n,r,E,_,T,s,S;return i.default.wrap((function(a){for(;;)switch(a.prev=a.next){case 0:if(n=o.data.request){a.next=3;break}return a.abrupt("return");case 3:if(r=n.id,E=n.path,_=n.args,a.prev=4,"function"!=typeof(T=E.reduce((function(e,t){return e[t]}),e))){a.next=13;break}return S=E.slice(0,E.length-1).reduce((function(e,t){return e[t]}),e),a.next=10,T.apply(S,_);case 10:s=a.sent,a.next=16;break;case 13:return a.next=15,T;case 15:s=a.sent;case 16:t.postMessage({response:{id:r,result:{data:s}}}),a.next=22;break;case 19:a.prev=19,a.t0=a.catch(4),t.postMessage({response:{id:r,result:{error:a.t0}}});case 22:case"end":return a.stop()}}),a,null,[[4,19]])})));return function(e){return a.apply(this,arguments)}})()),this.call=(function(){var e=(0,n.default)(i.default.mark((function e(a,o){var n;return i.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=Math.random().toString(32).slice(2),e.abrupt("return",new Promise((function(e,i){t.addEventListener("message",(function a(o){var r=o.data.response;r&&r.id===n&&(t.removeEventListener("message",a),"error"in r.result?i(r.result.error):e(r.result.data))})),t.postMessage({request:{id:n,path:a,args:o}})})));case 2:case"end":return e.stop()}}),e)})));return function(t,a){return e.apply(this,arguments)}})()}},10792:(e,t,a)=>{var o=a(26729),i=a(39657);function n(e){var t=(e=e||{}).containerElement;if(!(t instanceof HTMLElement))throw new Error("Container element required to be instance of HTMLElement");var a=e.chromecastTransport;if(!a)throw new Error("Chromecast transport required");var n=a.getCastDevice();if(null===n)throw new Error("Chromecast session must be started");var r=document.createElement("div");r.style.display="flex",r.style.flexDirection="row",r.style.alignItems="center",r.style.justifyContent="center",r.style.width="100%",r.style.height="100%",r.style.backgroundColor="black";var E=document.createElement("div");E.style.flex="none",E.style.maxWidth="80%",E.style.fontSize="5vmin",E.style.lineHeight="1.2em",E.style.maxHeight="3.6em",E.style.textAlign="center",E.style.color="#FFFFFF90",E.innerText="Casting to "+n.friendlyName,r.appendChild(E),t.appendChild(r),a.on("message",I),a.on("message-error",l);var _=new o,T=!1,s={stream:!1,loaded:!1,paused:!1,time:!1,duration:!1,buffering:!1,buffered:!1,audioTracks:!1,selectedAudioTrackId:!1,subtitlesTracks:!1,selectedSubtitlesTrackId:!1,subtitlesOffset:!1,subtitlesSize:!1,subtitlesTextColor:!1,subtitlesBackgroundColor:!1,subtitlesOutlineColor:!1,volume:!1,muted:!1,playbackSpeed:!1,videoParams:!1,extraSubtitlesTracks:!1,selectedExtraSubtitlesTrackId:!1,extraSubtitlesDelay:!1,extraSubtitlesSize:!1,extraSubtitlesOffset:!1,extraSubtitlesTextColor:!1,extraSubtitlesBackgroundColor:!1,extraSubtitlesOutlineColor:!1};function S(e,t){_.emit("error",Object.assign({},i.CHROMECAST_SENDER_VIDEO.MESSAGE_SEND_FAILED,{error:e,action:t}))}function l(e){_.emit("error",Object.assign({},i.CHROMECAST_SENDER_VIDEO.INVALID_MESSAGE_RECEIVED,{error:e}))}function I(e){if(e&&"string"==typeof e.event){var t=Array.isArray(e.args)?e.args:[];_.emit.apply(_,[e.event].concat(t))}else l(new Error("Invalid message: "+e))}function A(e,t){s[e]&&_.emit("propChanged",e,t)}this.on=function(e,t){if(T)throw new Error("Video is destroyed");_.on(e,t)},this.dispatch=function(e){if(T)throw new Error("Video is destroyed");if(e)switch(e.type){case"observeProp":return i=e.propName,s.hasOwnProperty(i)&&(s[i]=!0),void a.sendMessage(e).catch((function(t){S(t,e)}));case"setProp":return void a.sendMessage(e).catch((function(t){S(t,e)}));case"command":return o=e.commandName,e.commandArgs,"destroy"===o&&(T=!0,A("stream",null),A("loaded",null),A("paused",null),A("time",null),A("duration",null),A("buffering",null),A("buffered",null),A("audioTracks",[]),A("selectedAudioTrackId",[]),A("subtitlesTracks",[]),A("selectedSubtitlesTrackId",null),A("subtitlesOffset",null),A("subtitlesSize",null),A("subtitlesTextColor",null),A("subtitlesBackgroundColor",null),A("subtitlesOutlineColor",null),A("volume",null),A("muted",null),A("playbackSpeed",null),A("videoParams",null),A("extraSubtitlesTracks",[]),A("selectedExtraSubtitlesTrackId",null),A("extraSubtitlesDelay",null),A("extraSubtitlesSize",null),A("extraSubtitlesOffset",null),A("extraSubtitlesTextColor",null),A("extraSubtitlesBackgroundColor",null),A("extraSubtitlesOutlineColor",null),_.removeAllListeners(),a.off("message",I),t.removeChild(r)),void a.sendMessage(e).catch((function(t){S(t,e)}))}var o,i;throw new Error("Invalid action dispatched: "+JSON.stringify(e))}}n.canPlayStream=function(){return Promise.resolve(!0)},n.manifest={name:"ChromecastSenderVideo",external:!0,props:["stream","loaded","paused","time","duration","buffering","buffered","audioTracks","selectedAudioTrackId","subtitlesTracks","selectedSubtitlesTrackId","subtitlesOffset","subtitlesSize","subtitlesTextColor","subtitlesBackgroundColor","subtitlesOutlineColor","volume","muted","playbackSpeed","videoParams","extraSubtitlesTracks","selectedExtraSubtitlesTrackId","extraSubtitlesDelay","extraSubtitlesSize","extraSubtitlesOffset","extraSubtitlesTextColor","extraSubtitlesBackgroundColor","extraSubtitlesOutlineColor"],commands:["load","unload","destroy","addExtraSubtitlesTracks"],events:["propValue","propChanged","ended","error","subtitlesTrackLoaded","audioTrackLoaded","extraSubtitlesTrackLoaded","implementationChanged"]},e.exports=n},43153:(e,t,a)=>{var o=a(10792);e.exports=o},41431:(e,t,a)=>{var o=a(26729),i=a(67631),n=a(83465),r=a(62682),E=a(6767),_=a(39657),T=a(28973),s=a(11566);function S(e){var t=(e=e||{}).containerElement;if(!(t instanceof HTMLElement))throw new Error("Container element required to be instance of HTMLElement");var a=document.createElement("style");t.appendChild(a),a.sheet.insertRule("video::cue { font-size: 4vmin; color: rgb(255, 255, 255); background-color: rgba(0, 0, 0, 0); text-shadow: rgb(34, 34, 34) 1px 1px 0.1em; }");var S=document.createElement("video");S.style.width="100%",S.style.height="100%",S.style.backgroundColor="black",S.controls=!1,S.playsInline=!0,S.onerror=function(){!(function(){if(A)return;var e;switch(S.error.code){case 1:e=_.HTML_VIDEO.MEDIA_ERR_ABORTED;break;case 2:e=_.HTML_VIDEO.MEDIA_ERR_NETWORK;break;case 3:e=_.HTML_VIDEO.MEDIA_ERR_DECODE;break;case 4:e=_.HTML_VIDEO.MEDIA_ERR_SRC_NOT_SUPPORTED;break;default:e=_.UNKNOWN_ERROR}N(Object.assign({},e,{critical:!0,error:S.error}))})()},S.onended=function(){I.emit("ended")},S.onpause=function(){m("paused")},S.onplay=function(){m("paused")},S.ontimeupdate=function(){m("time"),m("buffered")},S.ondurationchange=function(){m("duration")},S.onwaiting=function(){m("buffering"),m("buffered")},S.onseeking=function(){m("time"),m("buffering"),m("buffered")},S.onseeked=function(){m("time"),m("buffering"),m("buffered")},S.onstalled=function(){m("buffering"),m("buffered")},S.onplaying=function(){m("time"),m("buffering"),m("buffered")},S.oncanplay=function(){m("buffering"),m("buffered")},S.canplaythrough=function(){m("buffering"),m("buffered")},S.onloadedmetadata=function(){m("loaded")},S.onloadeddata=function(){m("buffering"),m("buffered")},S.onvolumechange=function(){m("volume"),m("muted")},S.onratechange=function(){m("playbackSpeed")},S.textTracks.onchange=function(){m("subtitlesTracks"),m("selectedSubtitlesTrackId"),R(),Array.from(S.textTracks).forEach((function(e){e.oncuechange=R}))},t.appendChild(S);var l=null,I=new o,A=!1,u=null,d=0,c={stream:!1,loaded:!1,paused:!1,time:!1,duration:!1,buffering:!1,buffered:!1,subtitlesTracks:!1,selectedSubtitlesTrackId:!1,subtitlesOffset:!1,subtitlesSize:!1,subtitlesTextColor:!1,subtitlesBackgroundColor:!1,subtitlesOutlineColor:!1,audioTracks:!1,selectedAudioTrackId:!1,volume:!1,muted:!1,playbackSpeed:!1};function O(e){switch(e){case"stream":return u;case"loaded":return null===u?null:S.readyState>=S.HAVE_METADATA;case"paused":return null===u?null:!!S.paused;case"time":return null!==u&&null!==S.currentTime&&isFinite(S.currentTime)?Math.floor(1e3*S.currentTime):null;case"duration":return null!==u&&null!==S.duration&&isFinite(S.duration)?Math.floor(1e3*S.duration):null;case"buffering":return null===u?null:S.readyState<S.HAVE_FUTURE_DATA;case"buffered":if(null===u)return null;for(var t=null!==S.currentTime&&isFinite(S.currentTime)?S.currentTime:0,o=0;o<S.buffered.length;o++)if(S.buffered.start(o)<=t&&t<=S.buffered.end(o))return Math.floor(1e3*S.buffered.end(o));return Math.floor(1e3*t);case"subtitlesTracks":return null===u?[]:Array.from(S.textTracks).map((function(e,t){return Object.freeze({id:"EMBEDDED_"+String(t),lang:e.language,label:e.label,origin:"EMBEDDED",embedded:!0})}));case"selectedSubtitlesTrackId":return null===u?null:Array.from(S.textTracks).reduce((function(e,t,a){return null===e&&"showing"===t.mode?"EMBEDDED_"+String(a):e}),null);case"subtitlesOffset":return A?null:d;case"subtitlesSize":return A?null:25*parseInt(a.sheet.cssRules[0].style.fontSize,10);case"subtitlesTextColor":return A?null:a.sheet.cssRules[0].style.color;case"subtitlesBackgroundColor":return A?null:a.sheet.cssRules[0].style.backgroundColor;case"subtitlesOutlineColor":return A?null:a.sheet.cssRules[0].style.textShadow.slice(0,a.sheet.cssRules[0].style.textShadow.indexOf(")")+1);case"audioTracks":return null!==l&&Array.isArray(l.audioTracks)?l.audioTracks.map((function(e){return Object.freeze({id:"EMBEDDED_"+String(e.id),lang:"string"==typeof e.lang&&e.lang.length>0?e.lang:"string"==typeof e.name&&e.name.length>0?e.name:String(e.id),label:"string"==typeof e.name&&e.name.length>0?e.name:"string"==typeof e.lang&&e.lang.length>0?e.lang:String(e.id),origin:"EMBEDDED",embedded:!0})})):[];case"selectedAudioTrackId":return null!==l&&null!==l.audioTrack&&isFinite(l.audioTrack)&&-1!==l.audioTrack?"EMBEDDED_"+String(l.audioTrack):null;case"volume":return A||null===S.volume||!isFinite(S.volume)?null:Math.floor(100*S.volume);case"muted":return A?null:!!S.muted;case"playbackSpeed":return A||null===S.playbackRate||!isFinite(S.playbackRate)?null:S.playbackRate;default:return null}}function R(){Array.from(S.textTracks).forEach((function(e){Array.from(e.cues||[]).forEach((function(e){e.snapToLines=!1,e.line=100-d}))}))}function N(e){I.emit("error",e),e.critical&&L("unload")}function m(e){c[e]&&I.emit("propChanged",e,O(e))}function L(e,o){switch(e){case"load":L("unload"),o&&o.stream&&"string"==typeof o.stream.url?(u=o.stream,m("stream"),m("loaded"),S.autoplay="boolean"!=typeof o.autoplay||o.autoplay,S.currentTime=null!==o.time&&isFinite(o.time)?parseInt(o.time,10)/1e3:0,m("paused"),m("time"),m("duration"),m("buffering"),m("buffered"),m("subtitlesTracks"),m("selectedSubtitlesTrackId"),m("audioTracks"),m("selectedAudioTrackId"),T(u).then((function(e){u===o.stream&&("application/vnd.apple.mpegurl"===e&&i.isSupported()?((l=new i(s)).on(i.Events.AUDIO_TRACKS_UPDATED,(function(){m("audioTracks"),m("selectedAudioTrackId")})),l.on(i.Events.AUDIO_TRACK_SWITCHED,(function(){m("audioTracks"),m("selectedAudioTrackId")})),l.loadSource(u.url),l.attachMedia(S)):S.src=u.url)})).catch((function(){u===o.stream&&(S.src=u.url)}))):N(Object.assign({},_.UNSUPPORTED_STREAM,{critical:!0,stream:o?o.stream:null}));break;case"unload":u=null,Array.from(S.textTracks).forEach((function(e){e.oncuechange=null})),null!==l&&(l.removeAllListeners(),l.detachMedia(S),l.destroy(),l=null),S.removeAttribute("src"),S.load(),S.currentTime=0,m("stream"),m("loaded"),m("paused"),m("time"),m("duration"),m("buffering"),m("buffered"),m("subtitlesTracks"),m("selectedSubtitlesTrackId"),m("audioTracks"),m("selectedAudioTrackId");break;case"destroy":L("unload"),A=!0,m("subtitlesOffset"),m("subtitlesSize"),m("subtitlesTextColor"),m("subtitlesBackgroundColor"),m("subtitlesOutlineColor"),m("volume"),m("muted"),m("playbackSpeed"),I.removeAllListeners(),S.onerror=null,S.onended=null,S.onpause=null,S.onplay=null,S.ontimeupdate=null,S.ondurationchange=null,S.onwaiting=null,S.onseeking=null,S.onseeked=null,S.onstalled=null,S.onplaying=null,S.oncanplay=null,S.canplaythrough=null,S.onloadeddata=null,S.onvolumechange=null,S.onratechange=null,S.textTracks.onchange=null,t.removeChild(S),t.removeChild(a)}}this.on=function(e,t){if(A)throw new Error("Video is destroyed");I.on(e,t)},this.dispatch=function(e){if(A)throw new Error("Video is destroyed");if(e)switch((e=r(n(e))).type){case"observeProp":return t=e.propName,void(c.hasOwnProperty(t)&&(I.emit("propValue",t,O(t)),c[t]=!0));case"setProp":return void(function(e,t){switch(e){case"paused":null!==u&&(t?S.pause():S.play(),m("paused"));break;case"time":null!==u&&null!==t&&isFinite(t)&&(S.currentTime=parseInt(t,10)/1e3,m("time"));break;case"selectedSubtitlesTrackId":if(null!==u){Array.from(S.textTracks).forEach((function(e,a){e.mode="EMBEDDED_"+String(a)===t?"showing":"disabled"}));var o=O("subtitlesTracks").find((function(e){return e.id===t}));o&&(m("selectedSubtitlesTrackId"),I.emit("subtitlesTrackLoaded",o))}break;case"subtitlesOffset":null!==t&&isFinite(t)&&(d=Math.max(0,Math.min(100,parseInt(t,10))),R(),m("subtitlesOffset"));break;case"subtitlesSize":null!==t&&isFinite(t)&&(a.sheet.cssRules[0].style.fontSize=Math.floor(Math.max(0,parseInt(t,10))/25)+"vmin",m("subtitlesSize"));break;case"subtitlesTextColor":if("string"==typeof t){try{a.sheet.cssRules[0].style.color=E(t).rgb().string()}catch(e){console.error("HTMLVideo",e)}m("subtitlesTextColor")}break;case"subtitlesBackgroundColor":if("string"==typeof t){try{a.sheet.cssRules[0].style.backgroundColor=E(t).rgb().string()}catch(e){console.error("HTMLVideo",e)}m("subtitlesBackgroundColor")}break;case"subtitlesOutlineColor":if("string"==typeof t){try{a.sheet.cssRules[0].style.textShadow=E(t).rgb().string()+" 1px 1px 0.1em"}catch(e){console.error("HTMLVideo",e)}m("subtitlesOutlineColor")}break;case"selectedAudioTrackId":if(null!==l){var i=O("audioTracks").find((function(e){return e.id===t}));l.audioTrack=i?parseInt(i.id.split("_").pop(),10):-1,i&&(m("selectedAudioTrackId"),I.emit("audioTrackLoaded",i))}break;case"volume":null!==t&&isFinite(t)&&(S.muted=!1,S.volume=Math.max(0,Math.min(100,parseInt(t,10)))/100,m("muted"),m("volume"));break;case"muted":S.muted=!!t,m("muted");break;case"playbackSpeed":null!==t&&isFinite(t)&&(S.playbackRate=parseFloat(t),m("playbackSpeed"))}})(e.propName,e.propValue);case"command":return void L(e.commandName,e.commandArgs)}var t;throw new Error("Invalid action dispatched: "+JSON.stringify(e))}}S.canPlayStream=function(e){return!e||e.behaviorHints&&e.behaviorHints.notWebReady?Promise.resolve(!1):T(e).then((function(e){return!!document.createElement("video").canPlayType(e)||"application/vnd.apple.mpegurl"===e&&i.isSupported()})).catch((function(){return!1}))},S.manifest={name:"HTMLVideo",external:!1,props:["stream","loaded","paused","time","duration","buffering","buffered","audioTracks","selectedAudioTrackId","subtitlesTracks","selectedSubtitlesTrackId","subtitlesOffset","subtitlesSize","subtitlesTextColor","subtitlesBackgroundColor","subtitlesOutlineColor","volume","muted","playbackSpeed"],commands:["load","unload","destroy"],events:["propValue","propChanged","ended","error","subtitlesTrackLoaded","audioTrackLoaded"]},e.exports=S},28973:e=>{e.exports=function(e){return e&&"string"==typeof e.url?e.behaviorHints&&e.behaviorHints.proxyHeaders&&e.behaviorHints.proxyHeaders.response&&"string"==typeof e.behaviorHints.proxyHeaders.response["content-type"]?Promise.resolve(e.behaviorHints.proxyHeaders.response["content-type"]):fetch(e.url,{method:"HEAD"}).then((function(e){if(e.ok)return e.headers.get("content-type");throw new Error(e.status+" ("+e.statusText+")")})):Promise.reject(new Error("Invalid stream parameter!"))}},11566:e=>{e.exports={debug:!1,enableWorker:!0,lowLatencyMode:!1,backBufferLength:30,maxBufferLength:50,maxMaxBufferLength:80,maxFragLookUpTolerance:0,maxBufferHole:0,appendErrorMaxRetry:20,nudgeMaxRetry:20,manifestLoadingTimeOut:3e4,manifestLoadingMaxRetry:10,fragLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:12e4,timeoutRetry:{maxNumRetry:20,retryDelayMs:0,maxRetryDelayMs:15},errorRetry:{maxNumRetry:6,retryDelayMs:1e3,maxRetryDelayMs:15}}}}},59222:(e,t,a)=>{var o=a(41431);e.exports=o},78879:(e,t,a)=>{var o=a(26729),i=a(83465),n=a(62682),r=a(39657);function E(e){var t=(e=e||{}).containerElement;if(!(t instanceof HTMLElement))throw new Error("Container element required to be instance of HTMLElement");var a=document.createElement("iframe");a.style.width="100%",a.style.height="100%",a.style.border=0,a.style.backgroundColor="black",a.allowFullscreen=!1,a.allow="autoplay",t.appendChild(a);var E=new o,_=!1,T={stream:!1,loaded:!1,paused:!1,time:!1,duration:!1,buffering:!1,buffered:!1,volume:!1,muted:!1,playbackSpeed:!1};function s(e){if(e.source===a.contentWindow){var t=e.data||e.message;if(t&&"string"==typeof t.event){var o=t.event,i=Array.isArray(t.args)?t.args:[];E.emit.apply(E,[o].concat(i))}}}function S(e){a.contentWindow.postMessage(e,"*")}function l(e,t){T[e]&&E.emit("propChanged",e,t)}function I(e,o){switch(e){case"load":return I("unload"),o&&o.stream&&"string"==typeof o.stream.playerFrameUrl?(window.addEventListener("message",s,!1),a.onload=function(){S({type:"command",commandName:e,commandArgs:o})},a.src=o.stream.playerFrameUrl):(i=Object.assign({},r.UNSUPPORTED_STREAM,{critical:!0,stream:o?o.stream:null}),E.emit("error",i),i.critical&&I("unload")),!0;case"unload":return window.removeEventListener("message",s),a.onload=null,a.removeAttribute("src"),l("stream",null),l("loaded",null),l("paused",null),l("time",null),l("duration",null),l("buffering",null),l("buffered",null),l("volume",null),l("muted",null),l("playbackSpeed",null),!0;case"destroy":return I("unload"),_=!0,E.removeAllListeners(),t.removeChild(a),!0}var i}this.on=function(e,t){if(_)throw new Error("Video is destroyed");E.on(e,t)},this.dispatch=function(e){if(_)throw new Error("Video is destroyed");if(e)switch((e=n(i(e))).type){case"observeProp":return t=e.propName,T.hasOwnProperty(t)&&(T[t]=!0),void S(e);case"setProp":return void S(e);case"command":return void(I(e.commandName,e.commandArgs)||S(e))}var t;throw new Error("Invalid action dispatched: "+JSON.stringify(e))}}E.canPlayStream=function(e){return Promise.resolve(e&&"string"==typeof e.playerFrameUrl)},E.manifest={name:"IFrameVideo",external:!0,props:["stream","loaded","paused","time","duration","buffering","buffered","audioTracks","selectedAudioTrackId","subtitlesTracks","selectedSubtitlesTrackId","subtitlesOffset","subtitlesSize","subtitlesTextColor","subtitlesBackgroundColor","subtitlesOutlineColor","volume","muted","playbackSpeed","extraSubtitlesTracks","selectedExtraSubtitlesTrackId","extraSubtitlesDelay","extraSubtitlesSize","extraSubtitlesOffset","extraSubtitlesTextColor","extraSubtitlesBackgroundColor","extraSubtitlesOutlineColor"],commands:["load","unload","destroy","addExtraSubtitlesTracks"],events:["propValue","propChanged","ended","error","subtitlesTrackLoaded","audioTrackLoaded","extraSubtitlesTrackLoaded","implementationChanged"]},e.exports=E},47685:(e,t,a)=>{var o=a(78879);e.exports=o},78945:(e,t,a)=>{var o=a(26729),i=a(83465),n=a(62682),r=a(39657),E=.0066,_={loaded:"loaded",stream:null,paused:"pause",time:"time-pos",duration:"duration",buffering:"buffering",volume:"volume",muted:"mute",playbackSpeed:"speed",audioTracks:"audioTracks",selectedAudioTrackId:"aid",subtitlesTracks:"subtitlesTracks",selectedSubtitlesTrackId:"sid",subtitlesSize:"sub-scale",subtitlesTextColor:"sub-color",subtitlesBackgroundColor:"sub-back-color",subtitlesOutlineColor:"sub-border-color"};function T(e){return e.split(".").slice(0,2).map((function(e){return parseInt(e)}))}function s(e){var t,a=(e=e||{}).shellTransport,s={},S={},l={};Object.keys(_).forEach((function(e){_[e]&&(l[_[e]]=e)}));var I=new Promise((function(e){t=e}));p("unload"),a.send("mpv-command",["stop"]),a.send("mpv-observe-prop","path"),a.send("mpv-observe-prop","time-pos"),a.send("mpv-observe-prop","volume"),a.send("mpv-observe-prop","pause"),a.send("mpv-observe-prop","seeking"),a.send("mpv-observe-prop","eof-reached"),a.send("mpv-observe-prop","duration"),a.send("mpv-observe-prop","metadata"),a.send("mpv-observe-prop","video-params"),a.send("mpv-observe-prop","track-list"),a.send("mpv-observe-prop","paused-for-cache"),a.send("mpv-observe-prop","cache-buffering-state"),a.send("mpv-observe-prop","aid"),a.send("mpv-observe-prop","vid"),a.send("mpv-observe-prop","sid"),a.send("mpv-observe-prop","sub-scale"),a.send("mpv-observe-prop","sub-pos"),a.send("mpv-observe-prop","speed"),a.send("mpv-observe-prop","mpv-version"),a.send("mpv-observe-prop","ffmpeg-version");var A=new o,u=!1,d=null,c=0;function O(t){for(var a=t?"":"transparent",o=e.containerElement;o;o=o.parentElement)o.style.background=a}function R(e){console.log(e.name+": "+e.data)}var N=0;function m(e){return _[e]?S[_[e]]:(console.log("Unsupported prop requested",e),null)}function L(e){A.emit("error",e),e.critical&&p("unload")}function D(e){s[e]&&A.emit("propChanged",e,m(e))}function p(t,o){switch(t){case"load":p("unload"),o&&o.stream&&"string"==typeof o.stream.url?I.then((function(t){d=o.stream,D("stream"),O(!1),a.send("mpv-set-prop",["no-sub-ass"]);var i="Win32"===navigator.platform?"direct3d":"opengl",n=e.mpvSeparateWindow?i:"opengl-cb",r=e.mpvSeparateWindow?"yes":"no";a.send("mpv-set-prop",["vo",n]),a.send("mpv-set-prop",["osc",r]),a.send("mpv-set-prop",["input-defalt-bindings",r]),a.send("mpv-set-prop",["input-vo-keyboard",r]);var E,_,s,l=Math.floor(parseInt(o.time,10)/1e3)||0;0!==l?(E="0.39",_=T(t),s=T(E),_[0]>s[0]||!(_[0]<s[0])&&_[1]>=s[1]?a.send("mpv-command",["loadfile",d.url,"replace","-1","start=+"+l]):a.send("mpv-command",["loadfile",d.url,"replace","start=+"+l])):a.send("mpv-command",["loadfile",d.url]),a.send("mpv-set-prop",["pause",!1]),a.send("mpv-set-prop",["speed",S.speed]),a.send("mpv-set-prop",["aid",S.aid]),a.send("mpv-set-prop",["mute","no"]),D("paused"),D("time"),D("duration"),D("buffering"),D("volume"),D("muted"),D("subtitlesTracks"),D("selectedSubtitlesTrackId")})):L(Object.assign({},r.UNSUPPORTED_STREAM,{critical:!0,stream:o?o.stream:null}));break;case"unload":S={loaded:!1,pause:!1,mute:!1,speed:1,subtitlesTracks:[],audioTracks:[],buffering:!1,aid:null,sid:null},c=0,a.send("mpv-command",["stop"]),D("loaded"),D("stream"),D("paused"),D("time"),D("duration"),D("buffering"),D("volume"),D("muted"),D("subtitlesTracks"),D("selectedSubtitlesTrackId"),O(!0);break;case"destroy":p("unload"),u=!0,A.removeAllListeners()}}a.on("mpv-prop-change",(function(e){switch(e.name){case"mpv-version":t(e.data),S[e.name]=R(e);break;case"ffmpeg-version":S[e.name]=R(e);break;case"duration":var a=0|e.data;S[e.name]=e.data>=30&&(!c||a===c)?Math.round(1e3*e.data):null,c=c?c+a>>1:a,S.loaded=a>0,S.loaded&&D("loaded");break;case"time-pos":S[e.name]=Math.round(1e3*e.data);break;case"sub-scale":S[e.name]=Math.round(e.data/E);break;case"paused-for-cache":case"seeking":S.buffering!==e.data&&(S.buffering=e.data,D("buffering"));break;case"aid":case"sid":case"vid":S[e.name]=(function(e){return e.data?"EMBEDDED_"+e.data.toString():null})(e);break;case"track-list":S.audioTracks=e.data.filter((function(e){return"audio"===e.type})).map((function(e,t){return{id:"EMBEDDED_"+e.id,lang:void 0===e.lang?"Track"+(t+1):e.lang,label:void 0===e.title||void 0===e.lang?"":e.title||e.lang,origin:"EMBEDDED",embedded:!0,mode:e.id===S.aid?"showing":"disabled"}})),D("audioTracks"),S.subtitlesTracks=e.data.filter((function(e){return"sub"===e.type})).map((function(e,t){return{id:"EMBEDDED_"+e.id,lang:void 0===e.lang?"Track "+(t+1):e.lang,label:void 0===e.title||void 0===e.lang?"":e.title||e.lang,origin:"EMBEDDED",embedded:!0,mode:e.id===S.sid?"showing":"disabled"}})),D("subtitlesTracks");break;default:S[e.name]=e.data}var o="time-pos"===e.name?Math.floor(S["time-pos"]/1e3):null;o&&N===o||!l[e.name]||(o&&(N=o),D(l[e.name]))})),a.on("mpv-event-ended",(function(e){e.error?L(e.error):A.emit("ended")})),this.on=function(e,t){if(u)throw new Error("Video is destroyed");A.on(e,t)},this.dispatch=function(e){if(u)throw new Error("Video is destroyed");if(e)switch((e=n(i(e))).type){case"observeProp":t=e.propName,A.emit("propValue",t,m(t)),s[t]=!0;break;case"setProp":return void(function(e,t){switch(e){case"paused":null!==d&&a.send("mpv-set-prop",["pause",t]);break;case"time":null!==d&&null!==t&&isFinite(t)&&a.send("mpv-set-prop",["time-pos",t/1e3]);break;case"playbackSpeed":null!==d&&null!==t&&isFinite(t)&&a.send("mpv-set-prop",["speed",t]);break;case"volume":null!==d&&null!==t&&isFinite(t)&&(S.mute=!1,a.send("mpv-set-prop",["mute","no"]),a.send("mpv-set-prop",["volume",t]),D("muted"),D("volume"));break;case"muted":null!==d&&(a.send("mpv-set-prop",["mute",t?"yes":"no"]),S.mute=t,D("muted"));break;case"selectedAudioTrackId":if(null!==d){var o=t.slice("EMBEDDED_".length);a.send("mpv-set-prop",["aid",o])}break;case"selectedSubtitlesTrackId":null!==d&&(t?(o=t.slice("EMBEDDED_".length),a.send("mpv-set-prop",["sid",o]),A.emit("subtitlesTrackLoaded",t)):(a.send("mpv-set-prop",["sid","no"]),S.sid=null)),D("selectedSubtitlesTrackId");break;case"subtitlesSize":a.send("mpv-set-prop",[_[e],t*E]);break;case"subtitlesOffset":a.send("mpv-set-prop",[_[e],t]);break;case"subtitlesTextColor":case"subtitlesBackgroundColor":case"subtitlesOutlineColor":var i=t.replace(/^#(\w{6})(\w{2})$/,"#$2$1");a.send("mpv-set-prop",[_[e],i]);break;default:console.log("Unhandled setProp for",e)}})(e.propName,e.propValue);case"command":return void p(e.commandName,e.commandArgs)}var t}}s.canPlayStream=function(){return Promise.resolve(!0)},s.manifest={name:"ShellVideo",external:!1,props:Object.keys(_),commands:["load","unload","destroy"],events:["propValue","propChanged","ended","error","subtitlesTrackLoaded"]},e.exports=s},22024:(e,t,a)=>{var o=a(78945);e.exports=o},8117:(e,t,a)=>{var o=a(26729),i=a(83465),n=a(62682),r=a(72081),E=a(39657);function _(){var e=null,t=new o,a=!1;this.on=function(e,o){if(a)throw new Error("Video is destroyed");t.on(e,o)},this.dispatch=function(o,_){if(a)throw new Error("Video is destroyed");if(!o)throw new Error("Invalid action dispatched: "+JSON.stringify(o));if(_=_||{},"command"===(o=n(i(o))).type&&"load"===o.commandName&&o.commandArgs){var T=r(o.commandArgs,_);if(null!==e&&e.constructor!==T&&(e.dispatch({type:"command",commandName:"destroy"}),e=null),null===e){if(null===T)return void t.emit("error",Object.assign({},E.UNSUPPORTED_STREAM,{error:new Error("No video implementation was selected"),critical:!0,stream:o.commandArgs.stream}));(e=new T(_)).on("ended",(function(){t.emit("ended")})),e.on("error",(function(e){t.emit("error",e)})),e.on("propValue",(function(e,a){t.emit("propValue",e,a)})),e.on("propChanged",(function(e,a){t.emit("propChanged",e,a)})),e.on("subtitlesTrackLoaded",(function(e){t.emit("subtitlesTrackLoaded",e)})),e.on("audioTrackLoaded",(function(e){t.emit("audioTrackLoaded",e)})),e.on("extraSubtitlesTrackLoaded",(function(e){t.emit("extraSubtitlesTrackLoaded",e)})),T.manifest.external?e.on("implementationChanged",(function(e){t.emit("implementationChanged",e)})):t.emit("implementationChanged",T.manifest)}}if(null!==e)try{e.dispatch(o)}catch(t){console.error(e.constructor.manifest.name,t)}"command"===o.type&&"destroy"===o.commandName&&(e=null)},this.destroy=function(){a=!0,null!==e&&(e.dispatch({type:"command",commandName:"destroy"}),e=null),t.removeAllListeners()}}_.ERROR=E,e.exports=_},35010:(e,t,a)=>{var o=a(8117);e.exports=o},72081:(e,t,a)=>{var o=a(43153),i=a(22024),n=a(59222),r=a(5682),E=a(18846),_=a(47685),T=a(33142),s=a(5690),S=a(74282),l=a(29450);e.exports=function(e,t){return e.stream&&"string"!=typeof e.stream.externalUrl?t.chromecastTransport&&t.chromecastTransport.getCastState()===cast.framework.CastState.CONNECTED?o:"string"==typeof e.stream.ytId?l(S(T)):"string"==typeof e.stream.playerFrameUrl?l(_):t.shellTransport?s(S(i)):"string"==typeof e.streamingServerURL?"Tizen"===e.platform?s(S(r)):"webOS"===e.platform?s(S(E)):s(S(n)):"string"==typeof e.stream.url?"Tizen"===e.platform?l(S(r)):"webOS"===e.platform?l(S(E)):l(S(n)):null:null}},85494:e=>{const t="AVPlay";e.exports=e=>({getState:()=>e.request(t,"getState"),getCurrentTime:()=>e.request(t,"getCurrentTime"),getDuration:()=>e.request(t,"getDuration"),getTotalTrackInfo:()=>e.request(t,"getTotalTrackInfo"),getCurrentStreamInfo:()=>e.request(t,"getCurrentStreamInfo"),open:a=>e.request(t,"open",a),prepareAsync:async(a,o)=>{const[i,n]=await e.request(t,"prepareAsync","handler:success","handler:error");"handler:success"===i&&a(),"handler:error"===i&&o(...n)},pause:()=>e.request(t,"pause"),play:()=>e.request(t,"play"),stop:()=>e.request(t,"stop"),seekTo:a=>e.request(t,"seekTo",a),setSpeed:a=>e.request(t,"setSpeed",a),setSelectTrack:(a,o)=>e.request(t,"setSelectTrack",a,o),setDisplayRect:(a,o,i,n)=>e.request(t,"setDisplayRect",a,o,i,n),setDisplayMethod:a=>e.request(t,"setDisplayMethod",a),setListener:a=>{const o=Object.keys(a).map((e=>`handler:${e}`));e.listen(t,"setListener",((e,t)=>{const o=e.replace("handler:","");a[o]&&(t?a[o](...t):a[o]())}),...o)}})},95071:(e,t,a)=>{var o=a(26729),i=a(83465),n=a(62682),r=a(6767),E=a(39657),_=a(73276),T=a(85494);function s(e){var t=!0,s=1,S=null,l=null,I=(e=e||{}).containerElement;if(!(I instanceof HTMLElement))throw new Error("Container element required to be instance of HTMLElement");var A,u=T(e.transport),d=!1,c=100,O=0,R="rgb(255, 255, 255)",N="rgba(0, 0, 0, 0)",m="rgb(34, 34, 34)",L=1,D=document.createElement("object");D.type="application/avplayer",D.style.width="100%",D.style.height="100%",D.style.backgroundColor="black";var p=!1;async function h(){if(A){var e=await G("time"),t=A.duration-(e-A.now);t>0&&C(t,A.text)}}async function C(e,t){if(!p){var a=await G("time");for(A={duration:e,text:t,now:a},f&&(clearTimeout(f),f=!1);B.hasChildNodes();)B.removeChild(B.lastChild);B.style.bottom=O+"%",B.style.opacity=L;var o=document.createElement("span");o.innerHTML=t,o.style.display="inline-block",o.style.padding="0.2em",o.style.fontSize=Math.floor(c/25)+"vmin",o.style.color=R,o.style.backgroundColor=N,o.style.textShadow="1px 1px 0.1em "+m,B.appendChild(o),B.appendChild(document.createElement("br")),e&&(f=setTimeout((function(){for(;B.hasChildNodes();)B.removeChild(B.lastChild)}),parseInt(e*s)))}}var f=!1;u.setListener({onbufferingstart:function(){t=!0,F("buffering")},onbufferingprogress:function(){t=!0,F("buffering")},onbufferingcomplete:function(){t=!1,F("buffering")},oncurrentplaytime:function(){F("time")},onsubtitlechange:function(e,t){C(e,t)},onstreamcompleted:function(){P.emit("ended")}}),I.appendChild(D);var B=document.createElement("div");B.style.position="absolute",B.style.right="0",B.style.bottom="0",B.style.left="0",B.style.zIndex="1",B.style.textAlign="center",I.style.position="relative",I.style.zIndex="0",I.appendChild(B);var P=new o,g=!1,v=null,y=0,W=null,M={stream:!1,loaded:!1,paused:!1,time:!1,duration:!1,buffering:!1,subtitlesTracks:!1,selectedSubtitlesTrackId:!1,subtitlesOffset:!1,subtitlesSize:!1,subtitlesTextColor:!1,subtitlesBackgroundColor:!1,subtitlesOutlineColor:!1,subtitlesOpacity:!1,audioTracks:!1,selectedAudioTrackId:!1,playbackSpeed:!1},b=!1,U={audio:[],subs:[]};async function G(e){switch(e){case"stream":return v;case"loaded":return W;case"paused":if(null===v)return null;var a=!("PAUSED"!==await u.getState());return!a&&d&&(u.setSelectTrack("AUDIO",parseInt(d.replace("EMBEDDED_",""))),d=!1),a;case"time":var o=await u.getCurrentTime();return null!==v&&null!==o&&isFinite(o)?Math.floor(o):null;case"duration":var i=await u.getDuration();return null!==v&&null!==i&&isFinite(i)?Math.floor(i):null;case"buffering":return null===v?null:t;case"subtitlesTracks":if(null===v)return[];for(var n=await u.getTotalTrackInfo(),r=[],E=0;E<n.length;E++)if("TEXT"===n[E].type){var _=n[E],T="EMBEDDED_"+String(_.index);S||r.length||(S=T);var I={};try{I=JSON.parse(_.extra_info)}catch(e){}var A="string"==typeof I.track_lang&&I.track_lang.length>0?I.track_lang.trim():null;if(((U||{}).subs||[]).length)(B=U.subs.find((function(e){return(e||{}).id-1===_.index})))&&(A=B.lang||"eng");r.push({id:T,lang:A,label:A,origin:"EMBEDDED",embedded:!0,mode:p||T!==S?"disabled":"showing"})}return r;case"selectedSubtitlesTrackId":if(null===v||p)return null;var D=await u.getCurrentStreamInfo();for(E=0;E<D.length;E++)if("TEXT"===D[E].type){y=D[E].index;break}return y?"EMBEDDED_"+String(y):null;case"subtitlesOffset":return g?null:O;case"subtitlesSize":return g?null:c;case"subtitlesTextColor":return g?null:R;case"subtitlesBackgroundColor":return g?null:N;case"subtitlesOutlineColor":return g?null:m;case"subtitlesOpacity":return g?null:L;case"audioTracks":if(null===v)return[];n=await u.getTotalTrackInfo();var h=[];for(E=0;E<n.length;E++)if("AUDIO"===n[E].type){var C=n[E],f="EMBEDDED_"+String(C.index);l||h.length||(l=f);I={};try{I=JSON.parse(C.extra_info)}catch(e){}var B,P="string"==typeof I.language&&I.language.length>0?I.language:null;if(((U||{}).audio||[]).length)(B=U.audio.find((function(e){return(e||{}).id-1===C.index})))&&(P=B.lang||"eng");h.push({id:f,lang:P,label:P,origin:"EMBEDDED",embedded:!0,mode:f===l?"showing":"disabled"})}return h;case"selectedAudioTrackId":if(null===v)return null;if(d)return d;D=await u.getCurrentStreamInfo();var y=!1;for(E=0;E<D.length;E++)if("AUDIO"===D[E].type){y=D[E].index;break}return!1!==y?"EMBEDDED_"+String(y):null;case"playbackSpeed":return g||null===s||!isFinite(s)?null:s;default:return null}}function k(e){P.emit("error",e),e.critical&&V("unload")}async function F(e){if(M[e]){var t=await G(e);P.emit("propChanged",e,t)}}function V(e,t){switch(e){case"load":if(t&&t.stream&&"string"==typeof t.stream.url){if((v=t.stream)!==t.stream)return;F("buffering");var o=!1;try{o=parseFloat(a.g.tizen.systeminfo.getCapability("http://tizen.org/feature/platform.version"))}catch(e){}(!o||o>=6)&&(b||null===v||(b=!0,_(v.url,(function(e){e&&(U=e),((U||{}).subs||[]).length&&F("subtitlesTracks"),((U||{}).audio||[]).length&&F("audioTracks")})))),u.open(v.url),u.setDisplayRect(0,0,window.innerWidth,window.innerHeight),u.setDisplayMethod("PLAYER_DISPLAY_MODE_LETTER_BOX"),u.seekTo(null!==t.time&&isFinite(t.time)?parseInt(t.time,10):0),u.prepareAsync((function(){F("duration"),u.play(),W=!0,F("loaded"),F("stream"),F("paused"),F("time"),F("duration"),F("subtitlesTracks"),F("selectedSubtitlesTrackId"),F("audioTracks"),F("selectedAudioTrackId")}),(function(e){if(y<5){y++;try{u.stop()}catch(e){}V("load",t)}else k(Object.assign({},E.STREAM_FAILED_TO_LOAD,{critical:!0,stream:t?t.stream:null,error:e}))}))}else k(Object.assign({},E.UNSUPPORTED_STREAM,{critical:!0,stream:t?t.stream:null}));break;case"unload":v=null,u.stop(),W=!1,F("loaded"),F("stream"),F("paused"),F("time"),F("duration"),F("buffering"),F("subtitlesTracks"),F("selectedSubtitlesTrackId"),F("audioTracks"),F("selectedAudioTrackId");break;case"destroy":V("unload"),g=!0,u.stop(),F("subtitlesOffset"),F("subtitlesSize"),F("subtitlesTextColor"),F("subtitlesBackgroundColor"),F("subtitlesOutlineColor"),F("subtitlesOpacity"),F("playbackSpeed"),P.removeAllListeners(),I.removeChild(D)}}this.on=function(e,t){if(g)throw new Error("Video is destroyed");P.on(e,t)},this.dispatch=function(e){if(g)throw new Error("Video is destroyed");if(e)switch((e=n(i(e))).type){case"observeProp":return void(async function(e){if(M.hasOwnProperty(e)){var t=await G(e);P.emit("propValue",e,t),M[e]=!0}})(e.propName);case"setProp":return void(async function(e,t){switch(e){case"paused":if(null!==v){var a=!!t;a?u.pause():u.play(),a?f&&clearTimeout(f):h()}F("paused");var o=await G("paused");setTimeout((async function(){await G("paused")!==o&&F("paused")}),1e3);break;case"time":null!==v&&null!==t&&isFinite(t)&&(u.seekTo(parseInt(t,10)),C(1,""),F("time"));break;case"selectedSubtitlesTrackId":if(null!==v)if(0===(S||"").indexOf("EMBEDDED_")){if(-1===(t||"").indexOf("EMBEDDED_"))return C(1,""),p=!0,void F("selectedSubtitlesTrackId");p=!1,S=t;var i=(await G("subtitlesTracks")).find((function(e){return e.id===t}));u.setSelectTrack("TEXT",parseInt(S.replace("EMBEDDED_",""))),i&&(P.emit("subtitlesTrackLoaded",i),F("selectedSubtitlesTrackId"))}else t||(C(1,""),p=!0,F("selectedSubtitlesTrackId"));break;case"subtitlesOffset":null!==t&&isFinite(t)&&(O=Math.max(0,Math.min(100,parseInt(t,10))),h(),F("subtitlesOffset"));break;case"subtitlesSize":null!==t&&isFinite(t)&&(c=Math.max(0,parseInt(t,10)),h(),F("subtitlesSize"));break;case"subtitlesTextColor":if("string"==typeof t){try{R=r(t).rgb().string()}catch(e){console.error("Tizen player with HTML Subtitles",e)}h(),F("subtitlesTextColor")}break;case"subtitlesBackgroundColor":if("string"==typeof t){try{N=r(t).rgb().string()}catch(e){console.error("Tizen player with HTML Subtitles",e)}h(),F("subtitlesBackgroundColor")}break;case"subtitlesOutlineColor":if("string"==typeof t){try{m=r(t).rgb().string()}catch(e){console.error("Tizen player with HTML Subtitles",e)}h(),F("subtitlesOutlineColor")}break;case"subtitlesOpacity":if("number"==typeof t){try{L=Math.min(Math.max(t/100,0),1)}catch(e){console.error("Tizen player with HTML Subtitles",e)}h(),F("subtitlesOpacity")}break;case"selectedAudioTrackId":if(null!==v){l=t;var n=(await G("audioTracks")).find((function(e){return e.id===t}));await G("paused")?(d=t,F("selectedAudioTrackId")):u.setSelectTrack("AUDIO",parseInt(l.replace("EMBEDDED_",""))),n&&(P.emit("audioTrackLoaded",n),F("selectedAudioTrackId"))}break;case"playbackSpeed":if(null!==t&&isFinite(t)){s=parseFloat(t);try{u.setSpeed(s)}catch(e){}F("playbackSpeed")}}})(e.propName,e.propValue);case"command":return void V(e.commandName,e.commandArgs)}throw new Error("Invalid action dispatched: "+JSON.stringify(e))}}s.canPlayStream=function(){return Promise.resolve(!0)},s.manifest={name:"TizenVideo",external:!1,props:["stream","loaded","paused","time","duration","buffering","audioTracks","selectedAudioTrackId","subtitlesTracks","selectedSubtitlesTrackId","subtitlesOffset","subtitlesSize","subtitlesTextColor","subtitlesBackgroundColor","subtitlesOutlineColor","subtitlesOpacity","playbackSpeed"],commands:["load","unload","destroy"],events:["propValue","propChanged","ended","error","subtitlesTrackLoaded","audioTrackLoaded"]},e.exports=s},5682:(e,t,a)=>{var o=a(95071);e.exports=o},64333:(e,t,a)=>{var o=a(26729),i=a(83465),n=a(62682),r=a(39657),E=a(73276);function _(e,t,a,o){t&&(e.onSuccess=t||function(){}),e.onFailure=function(t){console.log("WebOS",(e.method||o)+" [fail]["+t.errorCode+"] "+t.errorText),console.log("fail result",JSON.stringify(t)),a&&a()},window.webOS.service.request(o||"luna://com.webos.media",e)}function T(e,t,a){window.webOS.service.request("luna://com.webos.applicationManager",{method:"launch",parameters:{id:e.id,params:{payload:[{fullPath:e.url,artist:"",subtitle:"",dlnaInfo:{flagVal:4096,cleartextSize:"-1",contentLength:"-1",opVal:1,protocolInfo:"http-get:*:video/x-matroska:DLNA.ORG_OP=01;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=01700000000000000000000000000000",duration:0},mediaType:"VIDEO",thumbnail:"",deviceType:"DMR",album:"",fileName:e.name,lastPlayPosition:e.position}]}},onSuccess:function(){t&&t()},onFailure:function(){a&&a(new Error("Failed to launch"+e.id)),"com.webos.app.photovideo"===e.id?(e.id="com.webos.app.smartshare",T(e,t,a)):"com.webos.app.smartshare"===e.id&&(e.id="com.webos.app.mediadiscovery",T(e,t,a))}})}var s=["none","black","white","yellow","red","green","blue"],S={"rgba(0, 0, 0, 0)":"none","rgba(0, 0, 0, 255)":"black","rgba(255, 255, 255, 255)":"white","rgba(255, 255, 0, 255)":"yellow","rgba(255, 0, 0, 255)":"red","rgba(0, 255, 0, 255)":"green","rgba(0, 0, 255, 255)":"blue","rgba(0, 0, 0, 1)":"black","rgba(255, 255, 255, 1)":"white","rgba(255, 255, 0, 1)":"yellow","rgba(255, 0, 0, 1)":"red","rgba(0, 255, 0, 1)":"green","rgba(0, 0, 255, 1)":"blue","rgb(0, 0, 0)":"black","rgb(255, 255, 255)":"white","rgb(255, 255, 0)":"yellow","rgb(255, 0, 0)":"red","rgb(0, 255, 0)":"green","rgb(0, 0, 255)":"blue","#000000FF":"black","#FFFFFFFF":"white","#FFFF00FF":"yellow","#FF0000FF":"red","#00FF00FF":"green","#0000FFFF":"blue","#000000":"black","#FFFFFF":"white","#FFFF00":"yellow","#FF0000":"red","#00FF00":"green","#0000FF":"blue"};var l={unsupportedAudio:["DTS","TRUEHD"],unsupportedSubs:["HDMV/PGS","VOBSUB"]},I=!1;function A(){I||window.webOS.service.request("luna://com.webos.service.config",{method:"getConfigs",parameters:{configNames:["tv.model.edidType"]},onSuccess:function(e){if(((e||{}).configs||{})["tv.model.edidType"]){I=!0;var t=e.configs["tv.model.edidType"].toLowerCase();t.includes("dts")&&(l.unsupportedAudio=l.unsupportedAudio.filter((function(e){return"DTS"!==e}))),t.includes("truehd")&&(l.unsupportedAudio=l.unsupportedAudio.filter((function(e){return"TRUEHD"!==e})))}},onFailure:function(e){console.log("could not get deviceInfo",e)}})}function u(e){var t=(e=e||{}).containerElement;if(!(t instanceof HTMLElement))throw new Error("Container element required to be instance of HTMLElement");var a=null,I=75,u=!0,d=!1,c=!1,O=[],R=[],N={color:"white",font_size:1,bg_color:"none",position:-1,bg_opacity:0,char_opacity:255},m=function(e){D.mediaId&&(u=!e,_({method:"setSubtitleEnable",parameters:{mediaId:D.mediaId,enable:e}}))},L=document.createElement("style");t.appendChild(L),L.sheet.insertRule("video::cue { font-size: 4vmin; color: rgb(255, 255, 255); background-color: rgba(0, 0, 0, 0); text-shadow: rgb(34, 34, 34) 1px 1px 0.1em; }");var D=document.createElement("video");D.style.width="100%",D.style.height="100%",D.style.backgroundColor="black",D.controls=!1,D.onerror=function(){!(function(){if(B)return;var e;switch((D.error||{}).code){case 1:e=r.HTML_VIDEO.MEDIA_ERR_ABORTED;break;case 2:e=r.HTML_VIDEO.MEDIA_ERR_NETWORK;break;case 3:e=r.HTML_VIDEO.MEDIA_ERR_DECODE,T({id:"com.webos.app.photovideo",url:P.url,name:"Stremio",position:-1},null,(function(e){console.error(e)}));break;case 4:e=r.HTML_VIDEO.MEDIA_ERR_SRC_NOT_SUPPORTED,T({id:"com.webos.app.photovideo",url:P.url,name:"Stremio",position:-1},null,(function(e){console.error(e)}));break;default:e=r.UNKNOWN_ERROR}F(Object.assign({},e,{critical:!0,error:D.error}))})()},D.onended=function(){f.emit("ended")},D.onpause=function(){V("paused")},D.onplay=function(){V("paused")},D.ontimeupdate=function(){V("time"),V("buffered")},D.ondurationchange=function(){V("duration")},D.onwaiting=function(){V("buffering"),V("buffered")},D.onseeking=function(){V("buffering"),V("buffered")},D.onseeked=function(){V("buffering"),V("buffered")},D.onstalled=function(){V("buffering"),V("buffered")},D.onplaying=function(){V("buffering"),V("buffered"),a||(a=!0,V("loaded"))},D.oncanplay=function(){V("buffering"),V("buffered")},D.canplaythrough=function(){V("buffering"),V("buffered")},D.onloadeddata=function(){V("buffering"),V("buffered")},D.onloadedmetadata=function(){V("buffering"),V("buffered"),H("time",g)},D.onvolumechange=function(){V("volume"),V("muted")},D.onratechange=function(){V("playbackSpeed")},D.textTracks.onchange=function(){V("subtitlesTracks"),V("selectedSubtitlesTrackId"),k(),Array.from(D.textTracks).forEach((function(e){e.oncuechange=k}))},t.appendChild(D);var p=null,h=null,C=1,f=new o,B=!1,P=null,g=null,v=0,y=100,W={stream:!1,loaded:!1,paused:!1,time:!1,duration:!1,buffering:!1,buffered:!1,subtitlesTracks:!1,selectedSubtitlesTrackId:!1,subtitlesOffset:!1,subtitlesSize:!1,subtitlesTextColor:!1,subtitlesBackgroundColor:!1,subtitlesOpacity:!1,audioTracks:!1,selectedAudioTrackId:!1,volume:!1,muted:!1,playbackSpeed:!1},M=!1,b={audio:[],subs:[]};function U(){M||null===P||(M=!0,E(P.url,(function(e){var t=0,a=0;O=[],R=[],e&&(b=e),((b||{}).subs||[]).length&&(b.subs.forEach((function(e){if(!l.unsupportedSubs.includes(e.codec||"")){var a=t;t++,d||O.length||(d=a),O.push({id:"EMBEDDED_"+a,lang:e.lang||"eng",label:e.lang||"eng",origin:"EMBEDDED",embedded:!0,mode:a===d?"showing":"disabled"})}})),V("subtitlesTracks"),V("selectedSubtitlesTrackId")),((b||{}).audio||[]).length&&(b.audio.forEach((function(e){if(!l.unsupportedAudio.includes(e.codec||"")){var t=a;a++,c||R.length||(c=t),R.push({id:"EMBEDDED_"+t,lang:e.lang||"eng",label:e.lang||"eng",origin:"EMBEDDED",embedded:!0,mode:t===c?"showing":"disabled"})}})),c="EMBEDDED_0",V("audioTracks"),V("selectedAudioTrackId"))})))}function G(e){switch(e){case"stream":return P;case"loaded":return a;case"paused":return null===P?null:!!D.paused;case"time":return null!==P&&null!==D.currentTime&&isFinite(D.currentTime)?Math.floor(1e3*D.currentTime):null;case"duration":return null!==P&&null!==D.duration&&isFinite(D.duration)?Math.floor(1e3*D.duration):null;case"buffering":return null===P?null:D.readyState<D.HAVE_FUTURE_DATA;case"buffered":if(null===P)return null;for(var t=null!==D.currentTime&&isFinite(D.currentTime)?D.currentTime:0,o=0;o<D.buffered.length;o++)if(D.buffered.start(o)<=t&&t<=D.buffered.end(o))return Math.floor(1e3*D.buffered.end(o));return Math.floor(1e3*t);case"subtitlesTracks":return null===P?[]:O;case"selectedSubtitlesTrackId":return null===P||u?null:d;case"subtitlesOffset":return B?null:v;case"subtitlesSize":return B?null:I;case"subtitlesTextColor":return B?null:p||"rgb(255, 255, 255)";case"subtitlesBackgroundColor":return B?null:h||"rgba(0, 0, 0, 0)";case"subtitlesOpacity":return B?null:y||100;case"audioTracks":return R;case"selectedAudioTrackId":return c;case"volume":return B||null===D.volume||!isFinite(D.volume)?null:Math.floor(100*D.volume);case"muted":return B?null:!!D.muted;case"playbackSpeed":return B||null===C||!isFinite(C)?null:C;default:return null}}function k(){Array.from(D.textTracks).forEach((function(e){Array.from(e.cues||[]).forEach((function(e){e.snapToLines=!1,e.line=100-v}))}))}function F(e){f.emit("error",e),e.critical&&w("unload")}function V(e){W[e]&&f.emit("propChanged",e,G(e))}function H(e,t){switch(e){case"paused":null!==P&&(t?D.pause():D.play());break;case"time":if(null!==P&&D.readyState>=D.HAVE_METADATA&&null!==t&&isFinite(t))try{D.currentTime=parseInt(t,10)/1e3,V("time")}catch(e){}break;case"selectedSubtitlesTrackId":if(D.mediaId&&null!==P&&0===(t||"").indexOf("EMBEDDED_")){m(!0),N.bg_opacity="none"===N.bg_color?0:255,["setSubtitleCharacterColor","setSubtitleBackgroundColor","setSubtitlePosition","setSubtitleFontSize","setSubtitleBackgroundOpacity","setSubtitleCharacterOpacity"].forEach((function(e){_({method:e,parameters:{mediaId:D.mediaId,charColor:N.color,bgColor:"none"===N.bg_color?"black":N.bg_color,position:N.position,fontSize:N.font_size,bgOpacity:N.bg_opacity,charOpacity:N.char_opacity}})})),console.log("WebOS","change subtitles for id: ",D.mediaId," index:",t),d=t;var a=parseInt(t.replace("EMBEDDED_",""));console.log("set subs to track idx: "+a),setTimeout((function(){var e=function(){var e=G("subtitlesTracks").find((function(e){return e.id===t}));O=O.map((function(e){return e.mode=e.id===d?"showing":"disabled",e})),e&&(f.emit("subtitlesTrackLoaded",e),V("selectedSubtitlesTrackId"))};_({method:"selectTrack",parameters:{type:"text",mediaId:D.mediaId,index:a}},e,e)}),500)}-1===(t||"").indexOf("EMBEDDED_")&&(d=null,V("selectedSubtitlesTrackId"),m(!1));break;case"subtitlesOffset":if(null!==t&&isFinite(t)){v=t;var o=(l=Math.max(0,Math.min(100,parseInt(v,10))))<=0?-3:l<=5?-2:l<=10?0:l<=15?2:l<=20&&4;!1===o&&(o=-2),N.position=o,D.mediaId&&_({method:"setSubtitlePosition",parameters:{mediaId:D.mediaId,position:o}}),V("subtitlesOffset")}break;case"subtitlesSize":if(null!==t&&isFinite(t)){I=t;var i=(T=Math.max(0,parseInt(I,10)))<=100?1:T<=125?2:T<=150?3:T<=200&&4;!1===i&&(i=1),N.font_size=i,D.mediaId&&_({method:"setSubtitleFontSize",parameters:{mediaId:D.mediaId,fontSize:i}}),V("subtitlesSize")}break;case"subtitlesTextColor":if("string"==typeof t){var n="white";S[t]&&s.indexOf(S[t])>-1&&(n=S[t]),N.color=n,D.mediaId&&_({method:"setSubtitleCharacterColor",parameters:{mediaId:D.mediaId,charColor:n}}),p=t,V("subtitlesTextColor")}break;case"subtitlesBackgroundColor":"string"==typeof t&&(S[t]&&s.indexOf(S[t])>-1&&(N.bg_color=S[t],D.mediaId&&(_({method:"setSubtitleBackgroundColor",parameters:{mediaId:D.mediaId,bgColor:"none"===S[t]?"black":S[t]}}),_("none"===S[t]?{method:"setSubtitleBackgroundOpacity",parameters:{mediaId:D.mediaId,bgOpacity:0}}:{method:"setSubtitleBackgroundOpacity",parameters:{mediaId:D.mediaId,bgOpacity:255}}))),h=t,V("subtitlesBackgroundColor"));break;case"subtitlesOpacity":if("number"==typeof t){var r=Math.floor(t/100*255);N.char_opacity=r,D.mediaId&&_({method:"setSubtitleCharacterOpacity",parameters:{mediaId:D.mediaId,charOpacity:r}}),y=t,V("subtitlesOpacity")}break;case"selectedAudioTrackId":if(0===(t||"").indexOf("EMBEDDED_")){c=t;a=parseInt(t.replace("EMBEDDED_",""));if(D.mediaId&&_({method:"selectTrack",parameters:{type:"audio",mediaId:D.mediaId,index:a}},(function(){var e=G("audioTracks").find((function(e){return e.id===t}));R=R.map((function(e){return e.mode=e.id===c?"showing":"disabled",e})),e&&(f.emit("audioTrackLoaded",e),V("selectedAudioTrackId"))})),D&&D.audioTracks){for(var E=0;E<D.audioTracks.length;E++)D.audioTracks[E].enabled=!1;D.audioTracks[a]&&(D.audioTracks[a].enabled=!0)}}break;case"volume":null!==t&&isFinite(t)&&(D.muted=!1,D.volume=Math.max(0,Math.min(100,parseInt(t,10)))/100);break;case"muted":D.muted=!!t;break;case"playbackSpeed":null!==t&&isFinite(t)&&(C=parseFloat(t),D.mediaId&&_({method:"setPlayRate",parameters:{mediaId:D.mediaId,playRate:C,audioOutput:!0}}),V("playbackSpeed"))}var T,l}function w(e,a){switch(e){case"load":if(a&&a.stream&&"string"==typeof a.stream.url){P=a.stream,g=a.time,V("stream"),D.autoplay="boolean"!=typeof a.autoplay||a.autoplay,V("loaded"),V("paused"),V("time"),V("duration"),V("buffering"),V("buffered"),V("subtitlesTracks"),V("selectedSubtitlesTrackId"),V("audioTracks"),V("selectedAudioTrackId");var o=0;D.src=P.url,i=function(){try{D.load()}catch(e){}try{D.play()}catch(e){}},n=setInterval((function(){if(D.mediaId)return clearInterval(n),U(),A(),void i();++o>4&&(clearInterval(n),U(),A(),i())}),300)}else F(Object.assign({},r.UNSUPPORTED_STREAM,{critical:!0,stream:a?a.stream:null}));break;case"unload":P=null,g=null,Array.from(D.textTracks).forEach((function(e){e.oncuechange=null})),D.removeAttribute("src"),D.load(),V("stream"),V("paused"),V("time"),V("duration"),V("buffering"),V("buffered"),V("subtitlesTracks"),V("selectedSubtitlesTrackId"),V("audioTracks"),V("selectedAudioTrackId");break;case"destroy":w("unload"),B=!0,V("subtitlesOffset"),V("subtitlesSize"),V("subtitlesTextColor"),V("subtitlesBackgroundColor"),V("subtitlesOpacity"),V("volume"),V("muted"),V("playbackSpeed"),f.removeAllListeners(),D.onerror=null,D.onended=null,D.onpause=null,D.onplay=null,D.ontimeupdate=null,D.ondurationchange=null,D.onwaiting=null,D.onseeking=null,D.onseeked=null,D.onstalled=null,D.onplaying=null,D.oncanplay=null,D.canplaythrough=null,D.onloadeddata=null,D.onloadedmetadata=null,D.onvolumechange=null,D.onratechange=null,D.textTracks.onchange=null,t.removeChild(D),t.removeChild(L)}var i,n}this.on=function(e,t){if(B)throw new Error("Video is destroyed");f.on(e,t)},this.dispatch=function(e){if(B)throw new Error("Video is destroyed");if(e)switch((e=n(i(e))).type){case"observeProp":return t=e.propName,void(W.hasOwnProperty(t)&&(f.emit("propValue",t,G(t)),W[t]=!0));case"setProp":return void H(e.propName,e.propValue);case"command":return void w(e.commandName,e.commandArgs)}var t;throw new Error("Invalid action dispatched: "+JSON.stringify(e))}}u.canPlayStream=function(){return Promise.resolve(!0)},u.manifest={name:"WebOsVideo",external:!1,props:["stream","loaded","paused","time","duration","buffering","buffered","audioTracks","selectedAudioTrackId","subtitlesTracks","selectedSubtitlesTrackId","subtitlesOffset","subtitlesSize","subtitlesTextColor","subtitlesBackgroundColor","subtitlesOpacity","volume","muted","playbackSpeed"],commands:["load","unload","destroy"],events:["propValue","propChanged","ended","error","subtitlesTrackLoaded","audioTrackLoaded"]},e.exports=u},18846:(e,t,a)=>{var o=a(64333);e.exports=o},59736:(e,t,a)=>{var o=a(26729),i=a(83465),n=a(62682),r=a(39657);function E(e){var t=null!==(e=e||{}).timeChangedTimeout&&isFinite(e.timeChangedTimeout)?parseInt(e.timeChangedTimeout,10):100,a=e.containerElement;if(!(a instanceof HTMLElement))throw new Error("Container element required to be instance of HTMLElement");var E=document.createElement("script");E.type="text/javascript",E.src="https://www.youtube.com/iframe_api",E.onload=function(){if(A)return;if(!YT||"function"!=typeof YT.ready)return void O();YT.ready((function(){A||(YT&&YT.PlayerState&&"function"==typeof YT.Player?s=new YT.Player(_,{width:"100%",height:"100%",playerVars:{autoplay:1,cc_load_policy:3,controls:0,disablekb:1,enablejsapi:1,fs:0,iv_load_policy:3,loop:0,modestbranding:1,playsinline:1,rel:0},events:{onError:R,onReady:N,onApiChange:m,onStateChange:L}}):O())}))},E.onerror=O,a.appendChild(E);var _=document.createElement("div");_.style.width="100%",_.style.height="100%",_.style.backgroundColor="black",a.appendChild(_);var T=window.setInterval((function(){h("time"),h("volume"),h("muted"),h("playbackSpeed")}),t),s=null,S=!1,l=null,I=new o,A=!1,u=null,d=null,c={stream:!1,loaded:!1,paused:!1,time:!1,duration:!1,buffering:!1,volume:!1,muted:!1,playbackSpeed:!1,subtitlesTracks:!1,selectedSubtitlesTrackId:!1};function O(){A||p(Object.assign({},r.YOUTUBE_VIDEO.API_LOAD_FAILED,{critical:!0}))}function R(e){if(!A){var t;switch(e.data){case 2:t=r.YOUTUBE_VIDEO.INVALID_PARAMETER;break;case 5:t=r.YOUTUBE_VIDEO.HTML5_VIDEO;break;case 100:t=r.YOUTUBE_VIDEO.VIDEO_NOT_FOUND;break;case 101:case 150:t=r.YOUTUBE_VIDEO.VIDEO_NOT_EMBEDDABLE;break;default:t=r.UNKNOWN_ERROR}p(Object.assign({},t,{critical:!0,error:e}))}}function N(){A||(S=!0,null!==l&&(C("load",l),l=null))}function m(){A||("function"==typeof s.loadModule&&s.loadModule("captions"),"function"==typeof s.setOption&&s.setOption("captions","track",{}),h("paused"),h("time"),h("duration"),h("buffering"),h("volume"),h("muted"),h("playbackSpeed"),h("subtitlesTracks"),h("selectedSubtitlesTrackId"))}function L(e){switch(h("buffering"),e.data){case YT.PlayerState.ENDED:I.emit("ended");break;case YT.PlayerState.CUED:case YT.PlayerState.UNSTARTED:case YT.PlayerState.PAUSED:case YT.PlayerState.PLAYING:h("paused"),h("time"),h("duration")}}function D(e){switch(e){case"stream":return u;case"loaded":return null!==u||null;case"paused":return null===u||"function"!=typeof s.getPlayerState?null:s.getPlayerState()!==YT.PlayerState.PLAYING;case"time":return null!==u&&"function"==typeof s.getCurrentTime&&null!==s.getCurrentTime()&&isFinite(s.getCurrentTime())?Math.floor(1e3*s.getCurrentTime()):null;case"duration":return null!==u&&"function"==typeof s.getDuration&&null!==s.getDuration()&&isFinite(s.getDuration())?Math.floor(1e3*s.getDuration()):null;case"buffering":return null===u||"function"!=typeof s.getPlayerState?null:s.getPlayerState()===YT.PlayerState.BUFFERING;case"volume":return null!==u&&"function"==typeof s.getVolume&&null!==s.getVolume()&&isFinite(s.getVolume())?s.getVolume():null;case"muted":return null===u||"function"!=typeof s.isMuted?null:s.isMuted();case"playbackSpeed":return null!==u&&"function"==typeof s.getPlaybackRate&&null!==s.getPlaybackRate()&&isFinite(s.getPlaybackRate())?s.getPlaybackRate():null;case"subtitlesTracks":return null===u||"function"!=typeof s.getOption?[]:(s.getOption("captions","tracklist")||[]).filter((function(e){return e&&"string"==typeof e.languageCode})).map((function(e,t){return Object.freeze({id:"EMBEDDED_"+String(t),lang:e.languageCode,label:"string"==typeof e.displayName?e.displayName:e.languageCode,origin:"EMBEDDED",embedded:!0})}));case"selectedSubtitlesTrackId":return null===u?null:d;default:return null}}function p(e){I.emit("error",e),e.critical&&C("unload")}function h(e){c[e]&&I.emit("propChanged",e,D(e))}function C(e,t){switch(e){case"load":if(C("unload"),t&&t.stream&&"string"==typeof t.stream.ytId)if(S){u=t.stream,h("stream"),h("loaded");var o="boolean"!=typeof t.autoplay||t.autoplay,i=null!==t.time&&isFinite(t.time)?parseInt(t.time,10)/1e3:0;o&&"function"==typeof s.loadVideoById?s.loadVideoById({videoId:t.stream.ytId,startSeconds:i}):"function"==typeof s.cueVideoById&&s.cueVideoById({videoId:t.stream.ytId,startSeconds:i}),h("paused"),h("time"),h("duration"),h("buffering"),h("volume"),h("muted"),h("playbackSpeed"),h("subtitlesTracks"),h("selectedSubtitlesTrackId")}else l=t;else p(Object.assign({},r.UNSUPPORTED_STREAM,{critical:!0,stream:t?t.stream:null}));break;case"unload":l=null,u=null,h("stream"),h("loaded"),d=null,S&&"function"==typeof s.stopVideo&&s.stopVideo(),h("paused"),h("time"),h("duration"),h("buffering"),h("volume"),h("muted"),h("playbackSpeed"),h("subtitlesTracks"),h("selectedSubtitlesTrackId");break;case"destroy":C("unload"),A=!0,I.removeAllListeners(),clearInterval(T),S&&"function"==typeof s.destroy&&s.destroy(),a.removeChild(E),a.removeChild(_)}}this.on=function(e,t){if(A)throw new Error("Video is destroyed");I.on(e,t)},this.dispatch=function(e){if(A)throw new Error("Video is destroyed");if(e)switch((e=n(i(e))).type){case"observeProp":return t=e.propName,void(c.hasOwnProperty(t)&&(I.emit("propValue",t,D(t)),c[t]=!0));case"setProp":return void(function(e,t){switch(e){case"paused":null!==u&&(t?"function"==typeof s.pauseVideo&&s.pauseVideo():"function"==typeof s.playVideo&&s.playVideo());break;case"time":null!==u&&"function"==typeof s.seekTo&&null!==t&&isFinite(t)&&s.seekTo(parseInt(t,10)/1e3);break;case"volume":null!==u&&null!==t&&isFinite(t)&&("function"==typeof s.unMute&&s.unMute(),"function"==typeof s.setVolume&&s.setVolume(Math.max(0,Math.min(100,parseInt(t,10)))),h("muted"),h("volume"));break;case"muted":null!==u&&(t?"function"==typeof s.mute&&s.mute():"function"==typeof s.unMute&&s.unMute(),h("muted"));break;case"playbackSpeed":null!==u&&"function"==typeof s.setPlaybackRate&&isFinite(t)&&(s.setPlaybackRate(t),h("playbackSpeed"));break;case"selectedSubtitlesTrackId":if(null!==u){d=null;var a=D("subtitlesTracks").find((function(e){return e.id===t}));"function"==typeof s.setOption&&(a?(d=a.id,s.setOption("captions","track",{languageCode:a.lang}),I.emit("subtitlesTrackLoaded",a)):s.setOption("captions","track",{})),h("selectedSubtitlesTrackId")}}})(e.propName,e.propValue);case"command":return void C(e.commandName,e.commandArgs)}var t;throw new Error("Invalid action dispatched: "+JSON.stringify(e))}}E.canPlayStream=function(e){return Promise.resolve(e&&"string"==typeof e.ytId)},E.manifest={name:"YouTubeVideo",external:!1,props:["stream","loaded","paused","time","duration","buffering","volume","muted","playbackSpeed","subtitlesTracks","selectedSubtitlesTrackId"],commands:["load","unload","destroy"],events:["propValue","propChanged","ended","error","subtitlesTrackLoaded"]},e.exports=E},33142:(e,t,a)=>{var o=a(59736);e.exports=o},39657:e=>{e.exports={CHROMECAST_SENDER_VIDEO:{INVALID_MESSAGE_RECEIVED:{code:100,message:"Invalid message received"},MESSAGE_SEND_FAILED:{code:101,message:"Failed to send message"}},YOUTUBE_VIDEO:{API_LOAD_FAILED:{code:90,message:"YouTube player iframe API failed to load"},INVALID_PARAMETER:{code:91,message:"The request contains an invalid parameter value"},HTML5_VIDEO:{code:92,message:"The requested content cannot be played in an HTML5 player"},VIDEO_NOT_FOUND:{code:93,message:"The video requested was not found"},VIDEO_NOT_EMBEDDABLE:{code:94,message:"The owner of the requested video does not allow it to be played in embedded players"}},HTML_VIDEO:{MEDIA_ERR_ABORTED:{code:80,message:"Fetching process aborted"},MEDIA_ERR_NETWORK:{code:81,message:"Error occurred when downloading"},MEDIA_ERR_DECODE:{code:82,message:"Error occurred when decoding"},MEDIA_ERR_SRC_NOT_SUPPORTED:{code:83,message:"Video is not supported"}},WITH_HTML_SUBTITLES:{LOAD_FAILED:{code:70,message:"Failed to load external subtitles"}},WITH_STREAMING_SERVER:{CONVERT_FAILED:{code:60,message:"Your device does not support the stream"}},UNKNOWN_ERROR:{code:1,message:"Unknown error"},UNSUPPORTED_STREAM:{code:2,message:"Stream is not supported"},STREAM_FAILED_TO_LOAD:{code:3,message:"Stream failed to load"}}},91654:(e,t,a)=>{var o=a(35010);e.exports=o},55015:e=>{var t,a,o=[{codec:"h264",force:window.chrome||window.cast,mime:'video/mp4; codecs="avc1.42E01E"'},{codec:"h265",mime:'video/mp4; codecs="hev1.1.6.L150.B0"',aliases:["hevc"]},{codec:"vp8",mime:'video/mp4; codecs="vp8"'},{codec:"vp9",mime:'video/mp4; codecs="vp9"'}],i=[{codec:"aac",mime:'audio/mp4; codecs="mp4a.40.2"'},{codec:"mp3",mime:'audio/mp4; codecs="mp3"'},{codec:"ac3",mime:'audio/mp4; codecs="ac-3"'},{codec:"eac3",mime:'audio/mp4; codecs="ec-3"'},{codec:"vorbis",mime:'audio/mp4; codecs="vorbis"'},{codec:"opus",mime:'audio/mp4; codecs="opus"'}];function n(e,t){return e.force||t.mediaElement.canPlayType(e.mime)?[e.codec].concat(e.aliases||[]):[]}e.exports=(t=document.createElement("video"),a=["mp4"],(window.chrome||window.cast)&&a.push("matroska,webm"),{formats:a,videoCodecs:o.map((function(e){return n(e,{mediaElement:t})})).reduce((function(e,t){return e.concat(t)}),[]),audioCodecs:i.map((function(e){return n(e,{mediaElement:t})})).reduce((function(e,t){return e.concat(t)}),[]),maxAudioChannels:(function(){if(/firefox/i.test(window.navigator.userAgent))return 6;if(!window.AudioContext||window.chrome||window.cast)return 2;var e=(new AudioContext).destination.maxChannelCount;return e>0?e:2})()})},21258:(e,t,a)=>{e.exports=function(){return void 0!==a.g.tizen||void 0!==a.g.webOS||void 0!==window.qt?Promise.resolve(!1):Promise.resolve(!0)}},73276:e=>{e.exports=function(e,t){fetch("http://127.0.0.1:11470/tracks/"+encodeURIComponent(e)).then((function(e){return e.json()})).then((function(e){var a=e.filter((function(e){return"audio"===(e||{}).type})),o=e.filter((function(e){return"text"===(e||{}).type}));t({audio:a,subs:o})})).catch((function(e){console.error(e),t(!1)}))}},69490:e=>{e.exports=function(e,t){if(t<e[0]||e[e.length-1]<t)return-1;for(var a=0,o=e.length-1,i=-1;a<=o;){var n=Math.floor((a+o)/2);e[n]>t?o=n-1:(e[n]<t||(i=n),a=n+1)}return-1!==i?i:o}},74282:(e,t,a)=>{var o=a(4253);e.exports=o},86950:e=>{function t(e){for(var t="",a=(e=e.replace(/<[a-zA-Z/][^>]*>/g,"")).split(/\n/);a.length>3;){for(var o=3;o<a.length;o++)a[2]+="\n"+a[o];a.splice(3,a.length-3)}var i=0;if(!a[0].match(/\d+:\d+:\d+/)&&a[1].match(/\d+:\d+:\d+/)&&(t+=a[0].match(/\w+/)+"\n",i+=1),!a[i].match(/\d+:\d+:\d+/))return"";var n=a[1].match(/(\d+):(\d+):(\d+)(?:,(\d+))?\s*--?>\s*(\d+):(\d+):(\d+)(?:,(\d+))?/);return n?(t+=n[1]+":"+n[2]+":"+n[3]+"."+n[4]+" --\x3e "+n[5]+":"+n[6]+":"+n[7]+"."+n[8]+"\n",a[i+=1]&&(t+=a[i]+"\n\n"),t):""}e.exports={convert:function(e){if(e.includes("WEBVTT"))return e;try{return(function(e){var a=e.replace(/\r+/g,""),o=(a=a.replace(/^\s+|\s+$/g,"")).split("\n\n"),i="";if(o.length>0){i+="WEBVTT\n\n";for(var n=0;n<o.length;n+=1)i+=t(o[n])}return i})(e)}catch(e){throw new Error("Failed to convert srt to webvtt: "+e.message)}}}},45517:(e,t,a)=>{var o=a(58369),i=a(69490);e.exports={parse:function(e){return new Promise((function(t,a){var n=new o.WebVTT.Parser(window,o.WebVTT.StringDecoder()),r=[],E=[],_={};n.oncue=function(e){var t={startTime:1e3*e.startTime|0,endTime:1e3*e.endTime|0,text:e.text};E.push(t),_[t.startTime]=_[t.startTime]||[],_[t.endTime]=_[t.endTime]||[]},n.onparsingerror=function(e){0===e.code?(n.oncue=null,n.onparsingerror=null,n.onflush=null,a(e)):(console.warn("Subtitles parsing error",e),r.push(e))},n.onflush=function(){_.times=Object.keys(_).map((function(e){return parseInt(e,10)})).sort((function(e,t){return e-t}));for(var e=0;e<E.length;e++){_[E[e].startTime].push(E[e]);for(var o=i(_.times,E[e].startTime)+1;o<_.times.length&&!(E[e].endTime<=_.times[o]);o++)_[_.times[o]].push(E[e])}for(var T=0;T<_.times.length;T++)_[_.times[T]].sort((function(e,t){return e.startTime-t.startTime||e.endTime-t.endTime}));n.oncue=null,n.onparsingerror=null,n.onflush=null,0===E.length&&r.length?a(r[0]):0===_.times.length?a(new Error("Missing subtitle track cues")):t(_)},n.parse(e)}))}}},42913:(e,t,a)=>{var o=a(58369),i=a(69490);e.exports={render:function(e,t){var a=[],n=i(e.times,t);if(-1!==n)for(var r=e[e.times[n]],E=0;E<r.length;E++){var _=o.WebVTT.convertCueToDOMTree(window,r[E].text);a.push(_)}return a}}},4253:(e,t,a)=>{var o=a(26729),i=a(83465),n=a(62682),r=a(6767),E=a(39657),_=a(45517),T=a(42913),s=a(86950);e.exports=function(e){function t(t){var a=new e(t=t||{});a.on("error",(function(e){u.emit("error",e),e.critical&&y("unload")})),a.on("propValue",B.bind(null,"propValue")),a.on("propChanged",B.bind(null,"propChanged")),e.manifest.events.filter((function(e){return!["error","propValue","propChanged"].includes(e)})).forEach((function(e){a.on(e,(function(e){return function(){u.emit.apply(u,[e].concat(Array.from(arguments)))}})(e))}));var S=t.containerElement;if(!(S instanceof HTMLElement))throw new Error("Container element required to be instance of HTMLElement");var l=document.createElement("div");l.style.position="absolute",l.style.right="0",l.style.bottom="0",l.style.left="0",l.style.zIndex="1",l.style.textAlign="center",S.style.position="relative",S.style.zIndex="0",S.appendChild(l);var I={time:null},A=null,u=new o,d=!1,c=[],O=null,R=null,N=100,m=0,L="rgb(255, 255, 255)",D="rgba(0, 0, 0, 0)",p="rgb(34, 34, 34)",h=1,C={extraSubtitlesTracks:!1,selectedExtraSubtitlesTrackId:!1,extraSubtitlesDelay:!1,extraSubtitlesSize:!1,extraSubtitlesOffset:!1,extraSubtitlesTextColor:!1,extraSubtitlesBackgroundColor:!1,extraSubtitlesOutlineColor:!1,extraSubtitlesOpacity:!1};function f(){for(;l.hasChildNodes();)l.removeChild(l.lastChild);null!==A&&null!==I.time&&isFinite(I.time)&&(l.style.bottom=m+"%",l.style.opacity=h,T.render(A,I.time-R).forEach((function(e){e.style.display="inline-block",e.style.padding="0.2em",e.style.whiteSpace="pre-wrap",e.style.fontSize=Math.floor(N/25)+"vmin",e.style.color=L,e.style.backgroundColor=D,e.style.textShadow="1px 1px 0.1em "+p,l.appendChild(e),l.appendChild(document.createElement("br"))})))}function B(e,t,a){if("time"===t)I.time=a,f();u.emit(e,t,g(t,a))}function P(e){C[e]&&u.emit("propChanged",e,g(e,null))}function g(e,t){switch(e){case"extraSubtitlesTracks":return d?[]:c.slice();case"selectedExtraSubtitlesTrackId":return d?null:O;case"extraSubtitlesDelay":return d?null:R;case"extraSubtitlesSize":return d?null:N;case"extraSubtitlesOffset":return d?null:m;case"extraSubtitlesTextColor":return d?null:L;case"extraSubtitlesBackgroundColor":return d?null:D;case"extraSubtitlesOutlineColor":return d?null:p;case"extraSubtitlesOpacity":return d?null:h;default:return t}}function v(e,t){switch(e){case"selectedExtraSubtitlesTrackId":A=null,O=null,R=null;var o=c.find((function(e){return e.id===t}));return o&&(O=o.id,R=0,fetch(o.url).then((function(e){if(e.ok)return e.text();throw new Error(e.status+" ("+e.statusText+")")})).then((function(e){return s.convert(e)})).then((function(e){return _.parse(e)})).then((function(e){O===o.id&&(A=e,f(),u.emit("extraSubtitlesTrackLoaded",o))})).catch((function(e){O===o.id&&(function(e){u.emit("error",e),e.critical&&(y("unload"),a.dispatch({type:"command",commandName:"unload"}))})(Object.assign({},E.WITH_HTML_SUBTITLES.LOAD_FAILED,{error:e,track:o,critical:!1}))}))),f(),P("selectedExtraSubtitlesTrackId"),P("extraSubtitlesDelay"),!0;case"extraSubtitlesDelay":return null!==O&&null!==t&&isFinite(t)&&(R=parseInt(t,10),f(),P("extraSubtitlesDelay")),!0;case"extraSubtitlesSize":return null!==t&&isFinite(t)&&(N=Math.max(0,parseInt(t,10)),f(),P("extraSubtitlesSize")),!0;case"extraSubtitlesOffset":return null!==t&&isFinite(t)&&(m=Math.max(0,Math.min(100,parseInt(t,10))),f(),P("extraSubtitlesOffset")),!0;case"extraSubtitlesTextColor":if("string"==typeof t){try{L=r(t).rgb().string()}catch(e){console.error("withHTMLSubtitles",e)}f(),P("extraSubtitlesTextColor")}return!0;case"extraSubtitlesBackgroundColor":if("string"==typeof t){try{D=r(t).rgb().string()}catch(e){console.error("withHTMLSubtitles",e)}f(),P("extraSubtitlesBackgroundColor")}return!0;case"extraSubtitlesOutlineColor":if("string"==typeof t){try{p=r(t).rgb().string()}catch(e){console.error("withHTMLSubtitles",e)}f(),P("extraSubtitlesOutlineColor")}return!0;case"extraSubtitlesOpacity":if("number"==typeof t){try{h=Math.min(Math.max(t/100,0),1)}catch(e){console.error("withHTMLSubtitles",e)}f(),P("extraSubtitlesOpacity")}return!0;default:return!1}}function y(e,t){switch(e){case"addExtraSubtitlesTracks":return t&&Array.isArray(t.tracks)&&(c=c.concat(t.tracks).filter((function(e,t,a){return e&&"string"==typeof e.id&&"string"==typeof e.url&&"string"==typeof e.lang&&"string"==typeof e.label&&"string"==typeof e.origin&&!e.embedded&&t===a.findIndex((function(t){return t.id===e.id}))})),P("extraSubtitlesTracks")),!0;case"load":return y("unload"),t.stream&&Array.isArray(t.stream.subtitles)&&y("addExtraSubtitlesTracks",{tracks:t.stream.subtitles.map((function(e){return Object.assign({},e,{origin:"EXCLUSIVE",exclusive:!0,embedded:!1})}))}),!1;case"unload":return A=null,c=[],O=null,R=null,f(),P("extraSubtitlesTracks"),P("selectedExtraSubtitlesTrackId"),P("extraSubtitlesDelay"),!1;case"destroy":return y("unload"),d=!0,P("extraSubtitlesSize"),P("extraSubtitlesOffset"),P("extraSubtitlesTextColor"),P("extraSubtitlesBackgroundColor"),P("extraSubtitlesOutlineColor"),P("extraSubtitlesOpacity"),a.dispatch({type:"command",commandName:"destroy"}),u.removeAllListeners(),S.removeChild(l),!0;default:return!1}}this.on=function(e,t){if(d)throw new Error("Video is destroyed");u.on(e,t)},this.dispatch=function(e){if(d)throw new Error("Video is destroyed");if(e)switch((e=n(i(e))).type){case"observeProp":if((function(e){switch(e){case"extraSubtitlesTracks":case"selectedExtraSubtitlesTrackId":case"extraSubtitlesDelay":case"extraSubtitlesSize":case"extraSubtitlesOffset":case"extraSubtitlesTextColor":case"extraSubtitlesBackgroundColor":case"extraSubtitlesOutlineColor":case"extraSubtitlesOpacity":return u.emit("propValue",e,g(e,null)),C[e]=!0,!0;default:return!1}})(e.propName))return;break;case"setProp":if(v(e.propName,e.propValue))return;break;case"command":if(y(e.commandName,e.commandArgs))return}a.dispatch(e)}}return t.canPlayStream=function(t){return e.canPlayStream(t)},t.manifest={name:e.manifest.name+"WithHTMLSubtitles",external:e.manifest.external,props:e.manifest.props.concat(["extraSubtitlesTracks","selectedExtraSubtitlesTrackId","extraSubtitlesDelay","extraSubtitlesSize","extraSubtitlesOffset","extraSubtitlesTextColor","extraSubtitlesBackgroundColor","extraSubtitlesOutlineColor","extraSubtitlesOpacity"]).filter((function(e,t,a){return a.indexOf(e)===t})),commands:e.manifest.commands.concat(["load","unload","destroy","addExtraSubtitlesTracks"]).filter((function(e,t,a){return a.indexOf(e)===t})),events:e.manifest.events.concat(["propValue","propChanged","error","extraSubtitlesTrackLoaded"]).filter((function(e,t,a){return a.indexOf(e)===t}))},t}},17054:(e,t,a)=>{var o=a(8575),i=a(49566),n=a(97190);function r(e,t,a,i){var n=new URL(t),r=new URLSearchParams;return r.set("d",n.origin),Object.entries(a).forEach((function(e){r.append("h",e[0]+":"+e[1])})),Object.entries(i).forEach((function(e){r.append("r",e[0]+":"+e[1])})),o.resolve(e,"/proxy/"+r.toString()+n.pathname)+n.search}e.exports=function(e,t,a,o){return new Promise((function(E,_){if("string"!=typeof t.url)"string"!=typeof t.infoHash?_(new Error("Stream cannot be converted")):n(e,t.infoHash,t.fileIdx,t.announce,a).then((function(e){E({url:e.url,infoHash:e.infoHash,fileIdx:e.fileIdx})})).catch((function(e){_(e)}));else if(0===t.url.indexOf("magnet:")){var T;try{if(!(T=i.decode(t.url))||"string"!=typeof T.infoHash)throw new Error("Failed to decode magnet url")}catch(e){return void _(e)}var s=Array.isArray(T.announce)?T.announce.map((function(e){return"tracker:"+e})):[];n(e,T.infoHash,null,s,a).then((function(e){E({url:e.url,infoHash:e.infoHash,fileIdx:e.fileIdx})})).catch((function(e){_(e)}))}else{var S=o&&o.proxyStreamsEnabled,l=t.behaviorHints&&t.behaviorHints.proxyHeaders;if(S||l){var I=l&&l.request?l.request:{},A=l&&l.response?l.response:{};E({url:r(e,t.url,I,A)})}else E({url:t.url})}}))}},97190:(e,t,a)=>{var o=a(8575);function i(e,t,a,i){var n=Array.isArray(i)&&i.length>0?"?"+new URLSearchParams(i.map((function(e){return["tr",e]}))):"";return{url:o.resolve(e,"/"+encodeURIComponent(t)+"/"+encodeURIComponent(a))+n,infoHash:t,fileIdx:a,sources:i}}e.exports=function(e,t,a,n,r){if((!Array.isArray(n)||0===n.length)&&null!==a&&isFinite(a))return Promise.resolve(i(e,t,a,n));var E={torrent:{infoHash:t}};return Array.isArray(n)&&n.length>0&&(E.peerSearch={sources:["dht:"+t].concat(n).filter((function(e,t,a){return a.indexOf(e)===t})),min:40,max:200}),null!==a&&isFinite(a)?E.guessFileIdx=!1:(E.guessFileIdx={},r&&(null!==r.season&&isFinite(r.season)&&(E.guessFileIdx.season=r.season),null!==r.episode&&isFinite(r.episode)&&(E.guessFileIdx.episode=r.episode))),fetch(o.resolve(e,"/"+encodeURIComponent(t)+"/create"),{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(E)}).then((function(e){if(e.ok)return e.json();throw new Error(e.status+" ("+e.statusText+")")})).then((function(o){return i(e,t,E.guessFileIdx?o.guessedFileIdx:a,E.peerSearch?E.peerSearch.sources:[])}))}},94536:(e,t,a)=>{var o=a(8575);function i(e,t,a){var i=a&&"string"==typeof a.videoHash?a.videoHash:null,n=a&&isFinite(a.videoSize)?a.videoSize:null;if("string"==typeof i&&null!==n&&isFinite(n))return Promise.resolve({hash:i,size:n});var r=new URLSearchParams([["videoUrl",t]]);return fetch(o.resolve(e,"/opensubHash?"+r.toString())).then((function(e){if(e.ok)return e.json();throw new Error(e.status+" ("+e.statusText+")")})).then((function(e){if(e.error)throw new Error(e.error);return{hash:"string"==typeof i?i:e.result&&"string"==typeof e.result.hash?e.result.hash:null,size:null!==n&&isFinite(n)?n:e.result&&(e.result.size,1)?e.result.size:null}}))}function n(e,t,a,i,n){return n&&"string"==typeof n.filename?Promise.resolve(n.filename):a?fetch(o.resolve(e,"/"+encodeURIComponent(a)+"/"+encodeURIComponent(i)+"/stats.json")).then((function(e){if(e.ok)return e.json();throw new Error(e.status+" ("+e.statusText+")")})).then((function(e){if(!e||"string"!=typeof e.streamName)throw new Error("Could not retrieve filename from torrent");return e.streamName})):Promise.resolve(decodeURIComponent(t.split("/").pop()))}e.exports=function(e,t,a,o,r){return Promise.allSettled([i(e,t,r),n(e,t,a,o,r)]).then((function(e){var t={hash:null,size:null,filename:null};return"fulfilled"===e[0].status?(t.hash=e[0].value.hash,t.size=e[0].value.size):e[0].reason&&console.error(e[0].reason),"fulfilled"===e[1].status?t.filename=e[1].value:e[1].reason&&console.error(e[1].reason),t}))}},5690:(e,t,a)=>{var o=a(47746);e.exports=o},88393:e=>{e.exports=function(e,t){return t.includes("loaded")?new Promise((function(t,a){var o=null;e.on("propChanged",(function(e,i){"loaded"===e&&null!==i&&null===o&&(o=i,!0===i?t(!0):!1===i&&a(Error("Player failed to load, will not retrieve video params")))})),e.dispatch({type:"observeProp",propName:"loaded"})})):Promise.resolve(!0)}},47746:(e,t,a)=>{var o=a(26729),i=a(8575),n=a(542),r=a(83465),E=a(62682),_=a(55015),T=a(17054),s=a(94536),S=a(88393),l=a(21258),I=a(39657);e.exports=function(e){function t(a){var l=new e(a=a||{});l.on("error",(function(e){R.emit("error",e),e.critical&&C("unload")})),l.on("propValue",L.bind(null,"propValue")),l.on("propChanged",L.bind(null,"propChanged")),e.manifest.events.filter((function(e){return!["error","propValue","propChanged"].includes(e)})).forEach((function(e){l.on(e,(function(e){return function(){R.emit.apply(R,[e].concat(Array.from(arguments)))}})(e))}));var A=this,u=null,d=!1,c=[],O=null,R=new o,N=!1,m={stream:!1,videoParams:!1};function L(e,t,a){R.emit(e,t,h(t,a))}function D(e){m[e]&&R.emit("propChanged",e,h(e,null))}function p(e){R.emit("error",e),e.critical&&(C("unload"),l.dispatch({type:"command",commandName:"unload"}))}function h(e,t){switch(e){case"stream":return null!==u?u.stream:null;case"videoParams":return O;default:return t}}function C(a,o){switch(a){case"load":return o&&o.stream&&"string"==typeof o.streamingServerURL?(C("unload"),l.dispatch({type:"command",commandName:"unload"}),u=o,D("stream"),T(o.streamingServerURL,o.stream,o.seriesInfo,o.streamingServerSettings).then((function(e){var a=e.url,r=e.infoHash,E=e.fileIdx,T=Array.isArray(o.formats)?o.formats:_.formats,s=Array.isArray(o.videoCodecs)?o.videoCodecs:_.videoCodecs,S=Array.isArray(o.audioCodecs)?o.audioCodecs:_.audioCodecs,l=null!==o.maxAudioChannels&&isFinite(o.maxAudioChannels)?o.maxAudioChannels:_.maxAudioChannels,I=Object.assign({},o,{formats:T,videoCodecs:s,audioCodecs:S,maxAudioChannels:l});return(o.forceTranscoding?Promise.resolve(!1):t.canPlayStream({url:a},I)).catch((function(e){return console.warn("Media probe error",e),!1})).then((function(e){if(e)return{mediaURL:a,infoHash:r,fileIdx:E,stream:{url:a}};var t=n(),_=new URLSearchParams([["mediaURL",a]]);return o.forceTranscoding&&_.set("forceTranscoding","1"),s.forEach((function(e){_.append("videoCodecs",e)})),S.forEach((function(e){_.append("audioCodecs",e)})),_.set("maxAudioChannels",l),{mediaURL:a,infoHash:r,fileIdx:E,stream:{url:i.resolve(o.streamingServerURL,"/hlsv2/"+t+"/master.m3u8?"+_.toString()),subtitles:Array.isArray(o.stream.subtitles)?o.stream.subtitles.map((function(e){return Object.assign({},e,{url:"string"==typeof e.url?i.resolve(o.streamingServerURL,"/subtitles.vtt?"+new URLSearchParams([["from",e.url]]).toString()):e.url})})):[],behaviorHints:{headers:{"content-type":"application/vnd.apple.mpegurl"}}}}}))})).then((function(t){o===u&&(l.dispatch({type:"command",commandName:"load",commandArgs:Object.assign({},o,{stream:t.stream})}),d=!0,(function(){for(;c.length>0;){var e=c.shift();A.dispatch.call(A,e)}})(),S(l,e.manifest.props).then((function(){return s(o.streamingServerURL,t.mediaURL,t.infoHash,t.fileIdx,o.stream.behaviorHints)})).then((function(e){o===u&&(O=e,D("videoParams"))})).catch((function(e){o===u&&(console.error(e),O={hash:null,size:null,filename:null},D("videoParams"))})))})).catch((function(e){o===u&&p(Object.assign({},I.WITH_STREAMING_SERVER.CONVERT_FAILED,{error:e,critical:!0,stream:o.stream,streamingServerURL:o.streamingServerURL}))}))):p(Object.assign({},I.UNSUPPORTED_STREAM,{critical:!0,stream:o?o.stream:null,streamingServerURL:o&&"string"==typeof o.streamingServerURL?o.streamingServerURL:null})),!0;case"addExtraSubtitlesTracks":return u&&o&&Array.isArray(o.tracks)&&(d?l.dispatch({type:"command",commandName:"addExtraSubtitlesTracks",commandArgs:Object.assign({},o,{tracks:o.tracks.map((function(e){return Object.assign({},e,{url:"string"==typeof e.url?i.resolve(u.streamingServerURL,"/subtitles.vtt?"+new URLSearchParams([["from",e.url]]).toString()):e.url})}))})}):c.push({type:"command",commandName:"addExtraSubtitlesTracks",commandArgs:o})),!0;case"unload":return u=null,d=!1,c=[],O=null,D("stream"),D("videoParams"),!1;case"destroy":return C("unload"),N=!0,l.dispatch({type:"command",commandName:"destroy"}),R.removeAllListeners(),!0;default:return!d&&(c.push({type:"command",commandName:a,commandArgs:o}),!0)}}this.on=function(e,t){if(N)throw new Error("Video is destroyed");R.on(e,t)},this.dispatch=function(e){if(N)throw new Error("Video is destroyed");if(e)switch((e=E(r(e))).type){case"observeProp":if((function(e){switch(e){case"stream":case"videoParams":return R.emit("propValue",e,h(e,null)),m[e]=!0,!0;default:return!1}})(e.propName))return;break;case"command":if(C(e.commandName,e.commandArgs))return}l.dispatch(e)}}return t.canPlayStream=function(t,a){return l().then((function(o){if(!o)return e.canPlayStream(t);var n=new URLSearchParams([["mediaURL",t.url]]);return fetch(i.resolve(a.streamingServerURL,"/hlsv2/probe?"+n.toString())).then((function(e){return e.json()})).then((function(e){var t=a.formats.some((function(t){return-1!==e.format.name.indexOf(t)})),o=e.streams.every((function(e){return"audio"===e.track?e.channels<=a.maxAudioChannels&&-1!==a.audioCodecs.indexOf(e.codec):"video"!==e.track||-1!==a.videoCodecs.indexOf(e.codec)}));return t&&o})).catch((function(){return e.canPlayStream(t)}))}))},t.manifest={name:e.manifest.name+"WithStreamingServer",external:e.manifest.external,props:e.manifest.props.concat(["stream","videoParams"]).filter((function(e,t,a){return a.indexOf(e)===t})),commands:e.manifest.commands.concat(["load","unload","destroy","addExtraSubtitlesTracks"]).filter((function(e,t,a){return a.indexOf(e)===t})),events:e.manifest.events.concat(["propValue","propChanged","error"]).filter((function(e,t,a){return a.indexOf(e)===t}))},t}},29450:(e,t,a)=>{var o=a(6693);e.exports=o},6693:(e,t,a)=>{var o=a(26729),i=a(83465),n=a(62682);e.exports=function(e){function t(t){var a=new e(t=t||{});a.on("propValue",s.bind(null,"propValue")),a.on("propChanged",s.bind(null,"propChanged")),e.manifest.events.filter((function(e){return!["propValue","propChanged"].includes(e)})).forEach((function(e){a.on(e,(function(e){return function(){E.emit.apply(E,[e].concat(Array.from(arguments)))}})(e))}));var r=null,E=new o,_=!1,T={videoParams:!1};function s(e,t,a){"videoParams"!==t&&E.emit(e,t,S(t,a)),"stream"===t&&(r=a,(function(e){T[e]&&E.emit("propChanged",e,S(e,null))})("videoParams"))}function S(e,t){return"videoParams"===e?null===r?null:{hash:r.behaviorHints&&"string"==typeof r.behaviorHints.videoHash?r.behaviorHints.videoHash:null,size:r.behaviorHints&&null!==r.behaviorHints.videoSize&&isFinite(r.behaviorHints.videoSize)?r.behaviorHints.videoSize:null,filename:r.behaviorHints&&"string"==typeof r.behaviorHints.filename?r.behaviorHints.filename:null}:t}this.on=function(e,t){if(_)throw new Error("Video is destroyed");E.on(e,t)},this.dispatch=function(e){if(_)throw new Error("Video is destroyed");if(e)switch((e=n(i(e))).type){case"observeProp":if("videoParams"===(o=e.propName)&&(E.emit("propValue",o,S(o,null)),T[o]=!0,1))return;break;case"command":if(t=e.commandName,e.commandArgs,"destroy"===t&&(_=!0,a.dispatch({type:"command",commandName:"destroy"}),E.removeAllListeners(),1))return}var t,o;a.dispatch(e)}}return t.canPlayStream=function(t,a){return e.canPlayStream(t,a)},t.manifest={name:e.manifest.name+"WithVideoParams",external:e.manifest.external,props:e.manifest.props.concat(["videoParams"]).filter((function(e,t,a){return a.indexOf(e)===t})),commands:e.manifest.commands.concat(["destroy"]).filter((function(e,t,a){return a.indexOf(e)===t})),events:e.manifest.events.concat(["propValue","propChanged"]).filter((function(e,t,a){return a.indexOf(e)===t}))},t}},43746:function(e){"undefined"!=typeof self&&self,e.exports=(function(e){var t={};function a(o){if(t[o])return t[o].exports;var i=t[o]={i:o,l:!1,exports:{}};return e[o].call(i.exports,i,i.exports,a),i.l=!0,i.exports}return a.m=e,a.c=t,a.d=function(e,t,o){a.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(e,t){if(1&t&&(e=a(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(a.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)a.d(o,i,function(t){return e[t]}.bind(null,i));return o},a.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(t,"a",t),t},a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a.p="",a(a.s=1)})([function(e,t,a){"use strict";var o=a(3);function i(e){return!0===o(e)&&"[object Object]"===Object.prototype.toString.call(e)}e.exports=function(e){var t,a;return!1!==i(e)&&"function"==typeof(t=e.constructor)&&!1!==i(a=t.prototype)&&!1!==a.hasOwnProperty("isPrototypeOf")}},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.VERSION=t.PALETTE_MATERIAL_CHROME=t.PALETTE_MATERIAL_500=t.COLOR_NAMES=t.getLuminance=t.intToRgb=t.rgbToInt=t.rgbToHsv=t.rgbToHsl=t.hslToRgb=t.rgbToHex=t.parseColor=t.parseColorToHsla=t.parseColorToHsl=t.parseColorToRgba=t.parseColorToRgb=t.from=t.createPicker=void 0;var o=(function(){function e(e,t){for(var a=0;a<t.length;a++){var o=t[a];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}return function(t,a,o){return a&&e(t.prototype,a),o&&e(t,o),t}})(),i=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return(function(e,t){var a=[],o=!0,i=!1,n=void 0;try{for(var r,E=e[Symbol.iterator]();!(o=(r=E.next()).done)&&(a.push(r.value),!t||a.length!==t);o=!0);}catch(e){i=!0,n=e}finally{try{!o&&E.return&&E.return()}finally{if(i)throw n}}return a})(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")},n=a(2),r=_(a(0)),E=_(a(4));function _(e){return e&&e.__esModule?e:{default:e}}function T(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e){if(Array.isArray(e)){for(var t=0,a=Array(e.length);t<e.length;t++)a[t]=e[t];return a}return Array.from(e)}var S="undefined"!=typeof window&&window.navigator.userAgent.indexOf("Edge")>-1,l="undefined"!=typeof window&&window.navigator.userAgent.indexOf("rv:")>-1,I={id:null,attachTo:"body",showHSL:!0,showRGB:!0,showHEX:!0,showAlpha:!1,color:"#ff0000",palette:null,paletteEditable:!1,useAlphaInPalette:"auto",slBarSize:[232,150],hueBarSize:[150,11],alphaBarSize:[150,11]},A="COLOR",u="RGBA_USER",d="HSLA_USER";function c(e,t,a){return e?e instanceof HTMLElement?e:e instanceof NodeList?e[0]:"string"==typeof e?document.querySelector(e):e.jquery?e.get(0):a?t:null:t}function O(e){var t=e.getContext("2d"),a=+e.width,o=+e.height,r=t.createLinearGradient(1,1,1,o-1);return r.addColorStop(0,"white"),r.addColorStop(1,"black"),{setHue:function(e){var i=t.createLinearGradient(1,0,a-1,0);i.addColorStop(0,"hsla("+e+", 100%, 50%, 0)"),i.addColorStop(1,"hsla("+e+", 100%, 50%, 1)"),t.fillStyle=r,t.fillRect(0,0,a,o),t.fillStyle=i,t.globalCompositeOperation="multiply",t.fillRect(0,0,a,o),t.globalCompositeOperation="source-over"},grabColor:function(e,a){return t.getImageData(e,a,1,1).data},findColor:function(e,t,r){var E=(0,n.rgbToHsv)(e,t,r),_=i(E,3),T=_[1],s=_[2];return[T*a,o-s*o]}}}function R(e,t,a){return null===e?t:/^\s*$/.test(e)?a:!!/true|yes|1/i.test(e)||!/false|no|0/i.test(e)&&t}function N(e,t,a){if(null===e)return t;if(/^\s*$/.test(e))return a;var o=e.split(",").map(Number);return 2===o.length&&o[0]&&o[1]?o:t}var m=(function(){function e(t,a){if(T(this,e),a?(t=c(t),this.options=Object.assign({},I,a)):t&&(0,r.default)(t)?(this.options=Object.assign({},I,t),t=c(this.options.attachTo)):(this.options=Object.assign({},I),t=c((0,n.nvl)(t,this.options.attachTo))),!t)throw new Error("Container not found: "+this.options.attachTo);!(function(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"acp-";if(t.hasAttribute(a+"show-hsl")&&(e.showHSL=R(t.getAttribute(a+"show-hsl"),I.showHSL,!0)),t.hasAttribute(a+"show-rgb")&&(e.showRGB=R(t.getAttribute(a+"show-rgb"),I.showRGB,!0)),t.hasAttribute(a+"show-hex")&&(e.showHEX=R(t.getAttribute(a+"show-hex"),I.showHEX,!0)),t.hasAttribute(a+"show-alpha")&&(e.showAlpha=R(t.getAttribute(a+"show-alpha"),I.showAlpha,!0)),t.hasAttribute(a+"palette-editable")&&(e.paletteEditable=R(t.getAttribute(a+"palette-editable"),I.paletteEditable,!0)),t.hasAttribute(a+"sl-bar-size")&&(e.slBarSize=N(t.getAttribute(a+"sl-bar-size"),I.slBarSize,[232,150])),t.hasAttribute(a+"hue-bar-size")&&(e.hueBarSize=N(t.getAttribute(a+"hue-bar-size"),I.hueBarSize,[150,11]),e.alphaBarSize=e.hueBarSize),t.hasAttribute(a+"palette")){var o=t.getAttribute(a+"palette");switch(o){case"PALETTE_MATERIAL_500":e.palette=n.PALETTE_MATERIAL_500;break;case"PALETTE_MATERIAL_CHROME":case"":e.palette=n.PALETTE_MATERIAL_CHROME;break;default:e.palette=o.split(/[;|]/)}}t.hasAttribute(a+"color")&&(e.color=t.getAttribute(a+"color"))})(this.options,t),this.H=0,this.S=0,this.L=0,this.R=0,this.G=0,this.B=0,this.A=1,this.palette={},this.element=document.createElement("div"),this.options.id&&(this.element.id=this.options.id),this.element.className="a-color-picker",this.element.innerHTML=E.default,t.appendChild(this.element);var o=this.element.querySelector(".a-color-picker-h");this.setupHueCanvas(o),this.hueBarHelper=O(o),this.huePointer=this.element.querySelector(".a-color-picker-h+.a-color-picker-dot");var i=this.element.querySelector(".a-color-picker-sl");this.setupSlCanvas(i),this.slBarHelper=O(i),this.slPointer=this.element.querySelector(".a-color-picker-sl+.a-color-picker-dot"),this.preview=this.element.querySelector(".a-color-picker-preview"),this.setupClipboard(this.preview.querySelector(".a-color-picker-clipbaord")),this.options.showHSL?(this.setupInput(this.inputH=this.element.querySelector(".a-color-picker-hsl>input[nameref=H]")),this.setupInput(this.inputS=this.element.querySelector(".a-color-picker-hsl>input[nameref=S]")),this.setupInput(this.inputL=this.element.querySelector(".a-color-picker-hsl>input[nameref=L]"))):this.element.querySelector(".a-color-picker-hsl").remove(),this.options.showRGB?(this.setupInput(this.inputR=this.element.querySelector(".a-color-picker-rgb>input[nameref=R]")),this.setupInput(this.inputG=this.element.querySelector(".a-color-picker-rgb>input[nameref=G]")),this.setupInput(this.inputB=this.element.querySelector(".a-color-picker-rgb>input[nameref=B]"))):this.element.querySelector(".a-color-picker-rgb").remove(),this.options.showHEX?this.setupInput(this.inputRGBHEX=this.element.querySelector("input[nameref=RGBHEX]")):this.element.querySelector(".a-color-picker-rgbhex").remove(),this.options.paletteEditable||this.options.palette&&this.options.palette.length>0?this.setPalette(this.paletteRow=this.element.querySelector(".a-color-picker-palette")):(this.paletteRow=this.element.querySelector(".a-color-picker-palette"),this.paletteRow.remove()),this.options.showAlpha?(this.setupAlphaCanvas(this.element.querySelector(".a-color-picker-a")),this.alphaPointer=this.element.querySelector(".a-color-picker-a+.a-color-picker-dot")):this.element.querySelector(".a-color-picker-alpha").remove(),this.element.style.width=this.options.slBarSize[0]+"px",this.onValueChanged(A,this.options.color)}return o(e,[{key:"setupHueCanvas",value:function(e){var t=this;e.width=this.options.hueBarSize[0],e.height=this.options.hueBarSize[1];for(var a=e.getContext("2d"),o=a.createLinearGradient(0,0,this.options.hueBarSize[0],0),i=0;i<=1;i+=1/360)o.addColorStop(i,"hsl("+360*i+", 100%, 50%)");a.fillStyle=o,a.fillRect(0,0,this.options.hueBarSize[0],this.options.hueBarSize[1]);var r=function(a){var o=(0,n.limit)(a.clientX-e.getBoundingClientRect().left,0,t.options.hueBarSize[0]),i=Math.round(360*o/t.options.hueBarSize[0]);t.huePointer.style.left=o-7+"px",t.onValueChanged("H",i)},E=function e(){document.removeEventListener("mousemove",r),document.removeEventListener("mouseup",e)};e.addEventListener("mousedown",(function(e){r(e),document.addEventListener("mousemove",r),document.addEventListener("mouseup",E)}))}},{key:"setupSlCanvas",value:function(e){var t=this;e.width=this.options.slBarSize[0],e.height=this.options.slBarSize[1];var a=function(a){var o=(0,n.limit)(a.clientX-e.getBoundingClientRect().left,0,t.options.slBarSize[0]-1),i=(0,n.limit)(a.clientY-e.getBoundingClientRect().top,0,t.options.slBarSize[1]-1),r=t.slBarHelper.grabColor(o,i);t.slPointer.style.left=o-7+"px",t.slPointer.style.top=i-7+"px",t.onValueChanged("RGB",r)},o=function e(){document.removeEventListener("mousemove",a),document.removeEventListener("mouseup",e)};e.addEventListener("mousedown",(function(e){a(e),document.addEventListener("mousemove",a),document.addEventListener("mouseup",o)}))}},{key:"setupAlphaCanvas",value:function(e){var t=this;e.width=this.options.alphaBarSize[0],e.height=this.options.alphaBarSize[1];var a=e.getContext("2d"),o=a.createLinearGradient(0,0,e.width-1,0);o.addColorStop(0,"hsla(0, 0%, 50%, 0)"),o.addColorStop(1,"hsla(0, 0%, 50%, 1)"),a.fillStyle=o,a.fillRect(0,0,this.options.alphaBarSize[0],this.options.alphaBarSize[1]);var i=function(a){var o=(0,n.limit)(a.clientX-e.getBoundingClientRect().left,0,t.options.alphaBarSize[0]),i=+(o/t.options.alphaBarSize[0]).toFixed(2);t.alphaPointer.style.left=o-7+"px",t.onValueChanged("ALPHA",i)},r=function e(){document.removeEventListener("mousemove",i),document.removeEventListener("mouseup",e)};e.addEventListener("mousedown",(function(e){i(e),document.addEventListener("mousemove",i),document.addEventListener("mouseup",r)}))}},{key:"setupInput",value:function(e){var t=this,a=+e.min,o=+e.max,i=e.getAttribute("nameref");e.hasAttribute("select-on-focus")&&e.addEventListener("focus",(function(){e.select()})),"text"===e.type?e.addEventListener("change",(function(){t.onValueChanged(i,e.value)})):((S||l)&&e.addEventListener("keydown",(function(r){"Up"===r.key?(e.value=(0,n.limit)(+e.value+1,a,o),t.onValueChanged(i,e.value),r.returnValue=!1):"Down"===r.key&&(e.value=(0,n.limit)(+e.value-1,a,o),t.onValueChanged(i,e.value),r.returnValue=!1)})),e.addEventListener("change",(function(){var r=+e.value;t.onValueChanged(i,(0,n.limit)(r,a,o))})))}},{key:"setupClipboard",value:function(e){var t=this;e.title="click to copy",e.addEventListener("click",(function(){e.value=(0,n.parseColor)([t.R,t.G,t.B,t.A],"hexcss4"),e.select(),document.execCommand("copy")}))}},{key:"setPalette",value:function(e){var t=this,a="auto"===this.options.useAlphaInPalette?this.options.showAlpha:this.options.useAlphaInPalette,o=null;switch(this.options.palette){case"PALETTE_MATERIAL_500":o=n.PALETTE_MATERIAL_500;break;case"PALETTE_MATERIAL_CHROME":o=n.PALETTE_MATERIAL_CHROME;break;default:o=(0,n.ensureArray)(this.options.palette)}if(this.options.paletteEditable||o.length>0){var i=function(a,o,i){var n=e.querySelector('.a-color-picker-palette-color[data-color="'+a+'"]')||document.createElement("div");n.className="a-color-picker-palette-color",n.style.backgroundColor=a,n.setAttribute("data-color",a),n.title=a,e.insertBefore(n,o),t.palette[a]=!0,i&&t.onPaletteColorAdd(a)},r=function(a,o){a?(e.removeChild(a),t.palette[a.getAttribute("data-color")]=!1,o&&t.onPaletteColorRemove(a.getAttribute("data-color"))):(e.querySelectorAll(".a-color-picker-palette-color[data-color]").forEach((function(t){e.removeChild(t)})),Object.keys(t.palette).forEach((function(e){t.palette[e]=!1})),o&&t.onPaletteColorRemove())};if(o.map((function(e){return(0,n.parseColor)(e,a?"rgbcss4":"hex")})).filter((function(e){return!!e})).forEach((function(e){return i(e)})),this.options.paletteEditable){var E=document.createElement("div");E.className="a-color-picker-palette-color a-color-picker-palette-add",E.innerHTML="+",e.appendChild(E),e.addEventListener("click",(function(e){/a-color-picker-palette-add/.test(e.target.className)?e.shiftKey?r(null,!0):i(a?(0,n.parseColor)([t.R,t.G,t.B,t.A],"rgbcss4"):(0,n.rgbToHex)(t.R,t.G,t.B),e.target,!0):/a-color-picker-palette-color/.test(e.target.className)&&(e.shiftKey?r(e.target,!0):t.onValueChanged(A,e.target.getAttribute("data-color")))}))}else e.addEventListener("click",(function(e){/a-color-picker-palette-color/.test(e.target.className)&&t.onValueChanged(A,e.target.getAttribute("data-color"))}))}else e.style.display="none"}},{key:"updatePalette",value:function(e){this.paletteRow.innerHTML="",this.palette={},this.paletteRow.parentElement||this.element.appendChild(this.paletteRow),this.options.palette=e,this.setPalette(this.paletteRow)}},{key:"onValueChanged",value:function(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{silent:!1};switch(e){case"H":this.H=t;var o=(0,n.hslToRgb)(this.H,this.S,this.L),r=i(o,3);this.R=r[0],this.G=r[1],this.B=r[2],this.slBarHelper.setHue(t),this.updatePointerH(this.H),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGB(this.R,this.G,this.B),this.updateInputRGBHEX(this.R,this.G,this.B);break;case"S":this.S=t;var E=(0,n.hslToRgb)(this.H,this.S,this.L),_=i(E,3);this.R=_[0],this.G=_[1],this.B=_[2],this.updatePointerSL(this.H,this.S,this.L),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGB(this.R,this.G,this.B),this.updateInputRGBHEX(this.R,this.G,this.B);break;case"L":this.L=t;var T=(0,n.hslToRgb)(this.H,this.S,this.L),s=i(T,3);this.R=s[0],this.G=s[1],this.B=s[2],this.updatePointerSL(this.H,this.S,this.L),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGB(this.R,this.G,this.B),this.updateInputRGBHEX(this.R,this.G,this.B);break;case"R":this.R=t;var S=(0,n.rgbToHsl)(this.R,this.G,this.B),l=i(S,3);this.H=l[0],this.S=l[1],this.L=l[2],this.slBarHelper.setHue(this.H),this.updatePointerH(this.H),this.updatePointerSL(this.H,this.S,this.L),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGBHEX(this.R,this.G,this.B);break;case"G":this.G=t;var I=(0,n.rgbToHsl)(this.R,this.G,this.B),c=i(I,3);this.H=c[0],this.S=c[1],this.L=c[2],this.slBarHelper.setHue(this.H),this.updatePointerH(this.H),this.updatePointerSL(this.H,this.S,this.L),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGBHEX(this.R,this.G,this.B);break;case"B":this.B=t;var O=(0,n.rgbToHsl)(this.R,this.G,this.B),R=i(O,3);this.H=R[0],this.S=R[1],this.L=R[2],this.slBarHelper.setHue(this.H),this.updatePointerH(this.H),this.updatePointerSL(this.H,this.S,this.L),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGBHEX(this.R,this.G,this.B);break;case"RGB":var N=i(t,3);this.R=N[0],this.G=N[1],this.B=N[2];var m=(0,n.rgbToHsl)(this.R,this.G,this.B),L=i(m,3);this.H=L[0],this.S=L[1],this.L=L[2],this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGB(this.R,this.G,this.B),this.updateInputRGBHEX(this.R,this.G,this.B);break;case u:var D=i(t,4);this.R=D[0],this.G=D[1],this.B=D[2],this.A=D[3];var p=(0,n.rgbToHsl)(this.R,this.G,this.B),h=i(p,3);this.H=h[0],this.S=h[1],this.L=h[2],this.slBarHelper.setHue(this.H),this.updatePointerH(this.H),this.updatePointerSL(this.H,this.S,this.L),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGB(this.R,this.G,this.B),this.updateInputRGBHEX(this.R,this.G,this.B),this.updatePointerA(this.A);break;case d:var C=i(t,4);this.H=C[0],this.S=C[1],this.L=C[2],this.A=C[3];var f=(0,n.hslToRgb)(this.H,this.S,this.L),B=i(f,3);this.R=B[0],this.G=B[1],this.B=B[2],this.slBarHelper.setHue(this.H),this.updatePointerH(this.H),this.updatePointerSL(this.H,this.S,this.L),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGB(this.R,this.G,this.B),this.updateInputRGBHEX(this.R,this.G,this.B),this.updatePointerA(this.A);break;case"RGBHEX":var P=(0,n.cssColorToRgb)(t)||[this.R,this.G,this.B],g=i(P,3);this.R=g[0],this.G=g[1],this.B=g[2];var v=(0,n.rgbToHsl)(this.R,this.G,this.B),y=i(v,3);this.H=y[0],this.S=y[1],this.L=y[2],this.slBarHelper.setHue(this.H),this.updatePointerH(this.H),this.updatePointerSL(this.H,this.S,this.L),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGB(this.R,this.G,this.B);break;case A:var W=(0,n.parseColor)(t,"rgba")||[0,0,0,1],M=i(W,4);this.R=M[0],this.G=M[1],this.B=M[2],this.A=M[3];var b=(0,n.rgbToHsl)(this.R,this.G,this.B),U=i(b,3);this.H=U[0],this.S=U[1],this.L=U[2],this.slBarHelper.setHue(this.H),this.updatePointerH(this.H),this.updatePointerSL(this.H,this.S,this.L),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGB(this.R,this.G,this.B),this.updateInputRGBHEX(this.R,this.G,this.B),this.updatePointerA(this.A);break;case"ALPHA":this.A=t}1===this.A?this.preview.style.backgroundColor="rgb("+this.R+","+this.G+","+this.B+")":this.preview.style.backgroundColor="rgba("+this.R+","+this.G+","+this.B+","+this.A+")",a&&a.silent||this.onchange&&this.onchange(this.preview.style.backgroundColor)}},{key:"onPaletteColorAdd",value:function(e){this.oncoloradd&&this.oncoloradd(e)}},{key:"onPaletteColorRemove",value:function(e){this.oncolorremove&&this.oncolorremove(e)}},{key:"updateInputHSL",value:function(e,t,a){this.options.showHSL&&(this.inputH.value=e,this.inputS.value=t,this.inputL.value=a)}},{key:"updateInputRGB",value:function(e,t,a){this.options.showRGB&&(this.inputR.value=e,this.inputG.value=t,this.inputB.value=a)}},{key:"updateInputRGBHEX",value:function(e,t,a){this.options.showHEX&&(this.inputRGBHEX.value=(0,n.rgbToHex)(e,t,a))}},{key:"updatePointerH",value:function(e){var t=this.options.hueBarSize[0]*e/360;this.huePointer.style.left=t-7+"px"}},{key:"updatePointerSL",value:function(e,t,a){var o=(0,n.hslToRgb)(e,t,a),r=i(o,3),E=r[0],_=r[1],T=r[2],s=this.slBarHelper.findColor(E,_,T),S=i(s,2),l=S[0],I=S[1];l>=0&&(this.slPointer.style.left=l-7+"px",this.slPointer.style.top=I-7+"px")}},{key:"updatePointerA",value:function(e){if(this.options.showAlpha){var t=this.options.alphaBarSize[0]*e;this.alphaPointer.style.left=t-7+"px"}}}]),e})(),L=(function(){function e(t){T(this,e),this.name=t,this.listeners=[]}return o(e,[{key:"on",value:function(e){e&&this.listeners.push(e)}},{key:"off",value:function(e){this.listeners=e?this.listeners.filter((function(t){return t!==e})):[]}},{key:"emit",value:function(e,t){for(var a=this.listeners.slice(0),o=0;o<a.length;o++)a[o].apply(t,e)}}]),e})();function D(e,t){var a=new m(e,t),o={change:new L("change"),coloradd:new L("coloradd"),colorremove:new L("colorremove")},r=!0,E={},_={get element(){return a.element},get rgb(){return[a.R,a.G,a.B]},set rgb(e){var t=i(e,3),o=t[0],r=t[1],E=t[2],_=[(0,n.limit)(o,0,255),(0,n.limit)(r,0,255),(0,n.limit)(E,0,255)];o=_[0],r=_[1],E=_[2],a.onValueChanged(u,[o,r,E,1])},get hsl(){return[a.H,a.S,a.L]},set hsl(e){var t=i(e,3),o=t[0],r=t[1],E=t[2],_=[(0,n.limit)(o,0,360),(0,n.limit)(r,0,100),(0,n.limit)(E,0,100)];o=_[0],r=_[1],E=_[2],a.onValueChanged(d,[o,r,E,1])},get rgbhex(){return this.all.hex},get rgba(){return[a.R,a.G,a.B,a.A]},set rgba(e){var t=i(e,4),o=t[0],r=t[1],E=t[2],_=t[3],T=[(0,n.limit)(o,0,255),(0,n.limit)(r,0,255),(0,n.limit)(E,0,255),(0,n.limit)(_,0,1)];o=T[0],r=T[1],E=T[2],_=T[3],a.onValueChanged(u,[o,r,E,_])},get hsla(){return[a.H,a.S,a.L,a.A]},set hsla(e){var t=i(e,4),o=t[0],r=t[1],E=t[2],_=t[3],T=[(0,n.limit)(o,0,360),(0,n.limit)(r,0,100),(0,n.limit)(E,0,100),(0,n.limit)(_,0,1)];o=T[0],r=T[1],E=T[2],_=T[3],a.onValueChanged(d,[o,r,E,_])},get color(){return this.all.toString()},set color(e){a.onValueChanged(A,e)},setColor:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];a.onValueChanged(A,e,{silent:t})},get all(){if(r){var e=[a.R,a.G,a.B,a.A],t=a.A<1?"rgba("+a.R+","+a.G+","+a.B+","+a.A+")":n.rgbToHex.apply(void 0,e);(E=(0,n.parseColor)(e,E)).toString=function(){return t},r=!1}return Object.assign({},E)},get onchange(){return o.change&&o.change.listeners[0]},set onchange(e){this.off("change").on("change",e)},get oncoloradd(){return o.coloradd&&o.coloradd.listeners[0]},set oncoloradd(e){this.off("coloradd").on("coloradd",e)},get oncolorremove(){return o.colorremove&&o.colorremove.listeners[0]},set oncolorremove(e){this.off("colorremove").on("colorremove",e)},get palette(){return Object.keys(a.palette).filter((function(e){return a.palette[e]}))},set palette(e){a.updatePalette(e)},show:function(){a.element.classList.remove("hidden")},hide:function(){a.element.classList.add("hidden")},toggle:function(){a.element.classList.toggle("hidden")},on:function(e,t){return e&&o[e]&&o[e].on(t),this},off:function(e,t){return e&&o[e]&&o[e].off(t),this},destroy:function(){o.change.off(),o.coloradd.off(),o.colorremove.off(),a.element.remove(),o=null,a=null}};return a.onchange=function(){for(var e=arguments.length,t=Array(e),a=0;a<e;a++)t[a]=arguments[a];r=!0,o.change.emit([_].concat(t),_)},a.oncoloradd=function(){for(var e=arguments.length,t=Array(e),a=0;a<e;a++)t[a]=arguments[a];o.coloradd.emit([_].concat(t),_)},a.oncolorremove=function(){for(var e=arguments.length,t=Array(e),a=0;a<e;a++)t[a]=arguments[a];o.colorremove.emit([_].concat(t),_)},a.element.ctrl=_,_}if("undefined"!=typeof window&&!document.querySelector('head>style[data-source="a-color-picker"]')){var p=a(5).toString(),h=document.createElement("style");h.setAttribute("type","text/css"),h.setAttribute("data-source","a-color-picker"),h.innerHTML=p,document.querySelector("head").appendChild(h)}t.createPicker=D,t.from=function(e,t){var a=(function(e){return e?Array.isArray(e)?e:e instanceof HTMLElement?[e]:e instanceof NodeList?[].concat(s(e)):"string"==typeof e?[].concat(s(document.querySelectorAll(e))):e.jquery?e.get():[]:[]})(e).map((function(e,a){var o=D(e,t);return o.index=a,o}));return a.on=function(e,t){return a.forEach((function(a){return a.on(e,t)})),this},a.off=function(e){return a.forEach((function(t){return t.off(e)})),this},a},t.parseColorToRgb=n.parseColorToRgb,t.parseColorToRgba=n.parseColorToRgba,t.parseColorToHsl=n.parseColorToHsl,t.parseColorToHsla=n.parseColorToHsla,t.parseColor=n.parseColor,t.rgbToHex=n.rgbToHex,t.hslToRgb=n.hslToRgb,t.rgbToHsl=n.rgbToHsl,t.rgbToHsv=n.rgbToHsv,t.rgbToInt=n.rgbToInt,t.intToRgb=n.intToRgb,t.getLuminance=n.getLuminance,t.COLOR_NAMES=n.COLOR_NAMES,t.PALETTE_MATERIAL_500=n.PALETTE_MATERIAL_500,t.PALETTE_MATERIAL_CHROME=n.PALETTE_MATERIAL_CHROME,t.VERSION="1.2.1"},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.nvl=t.ensureArray=t.limit=t.getLuminance=t.parseColor=t.parseColorToHsla=t.parseColorToHsl=t.cssHslaToHsla=t.cssHslToHsl=t.parseColorToRgba=t.parseColorToRgb=t.cssRgbaToRgba=t.cssRgbToRgb=t.cssColorToRgba=t.cssColorToRgb=t.intToRgb=t.rgbToInt=t.rgbToHsv=t.rgbToHsl=t.hslToRgb=t.rgbToHex=t.PALETTE_MATERIAL_CHROME=t.PALETTE_MATERIAL_500=t.COLOR_NAMES=void 0;var o=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return(function(e,t){var a=[],o=!0,i=!1,n=void 0;try{for(var r,E=e[Symbol.iterator]();!(o=(r=E.next()).done)&&(a.push(r.value),!t||a.length!==t);o=!0);}catch(e){i=!0,n=e}finally{try{!o&&E.return&&E.return()}finally{if(i)throw n}}return a})(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")},i=(function(e){return e&&e.__esModule?e:{default:e}})(a(0));function n(e){if(Array.isArray(e)){for(var t=0,a=Array(e.length);t<e.length;t++)a[t]=e[t];return a}return Array.from(e)}var r={aliceblue:"#F0F8FF",antiquewhite:"#FAEBD7",aqua:"#00FFFF",aquamarine:"#7FFFD4",azure:"#F0FFFF",beige:"#F5F5DC",bisque:"#FFE4C4",black:"#000000",blanchedalmond:"#FFEBCD",blue:"#0000FF",blueviolet:"#8A2BE2",brown:"#A52A2A",burlywood:"#DEB887",cadetblue:"#5F9EA0",chartreuse:"#7FFF00",chocolate:"#D2691E",coral:"#FF7F50",cornflowerblue:"#6495ED",cornsilk:"#FFF8DC",crimson:"#DC143C",cyan:"#00FFFF",darkblue:"#00008B",darkcyan:"#008B8B",darkgoldenrod:"#B8860B",darkgray:"#A9A9A9",darkgrey:"#A9A9A9",darkgreen:"#006400",darkkhaki:"#BDB76B",darkmagenta:"#8B008B",darkolivegreen:"#556B2F",darkorange:"#FF8C00",darkorchid:"#9932CC",darkred:"#8B0000",darksalmon:"#E9967A",darkseagreen:"#8FBC8F",darkslateblue:"#483D8B",darkslategray:"#2F4F4F",darkslategrey:"#2F4F4F",darkturquoise:"#00CED1",darkviolet:"#9400D3",deeppink:"#FF1493",deepskyblue:"#00BFFF",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1E90FF",firebrick:"#B22222",floralwhite:"#FFFAF0",forestgreen:"#228B22",fuchsia:"#FF00FF",gainsboro:"#DCDCDC",ghostwhite:"#F8F8FF",gold:"#FFD700",goldenrod:"#DAA520",gray:"#808080",grey:"#808080",green:"#008000",greenyellow:"#ADFF2F",honeydew:"#F0FFF0",hotpink:"#FF69B4","indianred ":"#CD5C5C","indigo ":"#4B0082",ivory:"#FFFFF0",khaki:"#F0E68C",lavender:"#E6E6FA",lavenderblush:"#FFF0F5",lawngreen:"#7CFC00",lemonchiffon:"#FFFACD",lightblue:"#ADD8E6",lightcoral:"#F08080",lightcyan:"#E0FFFF",lightgoldenrodyellow:"#FAFAD2",lightgray:"#D3D3D3",lightgrey:"#D3D3D3",lightgreen:"#90EE90",lightpink:"#FFB6C1",lightsalmon:"#FFA07A",lightseagreen:"#20B2AA",lightskyblue:"#87CEFA",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#B0C4DE",lightyellow:"#FFFFE0",lime:"#00FF00",limegreen:"#32CD32",linen:"#FAF0E6",magenta:"#FF00FF",maroon:"#800000",mediumaquamarine:"#66CDAA",mediumblue:"#0000CD",mediumorchid:"#BA55D3",mediumpurple:"#9370DB",mediumseagreen:"#3CB371",mediumslateblue:"#7B68EE",mediumspringgreen:"#00FA9A",mediumturquoise:"#48D1CC",mediumvioletred:"#C71585",midnightblue:"#191970",mintcream:"#F5FFFA",mistyrose:"#FFE4E1",moccasin:"#FFE4B5",navajowhite:"#FFDEAD",navy:"#000080",oldlace:"#FDF5E6",olive:"#808000",olivedrab:"#6B8E23",orange:"#FFA500",orangered:"#FF4500",orchid:"#DA70D6",palegoldenrod:"#EEE8AA",palegreen:"#98FB98",paleturquoise:"#AFEEEE",palevioletred:"#DB7093",papayawhip:"#FFEFD5",peachpuff:"#FFDAB9",peru:"#CD853F",pink:"#FFC0CB",plum:"#DDA0DD",powderblue:"#B0E0E6",purple:"#800080",rebeccapurple:"#663399",red:"#FF0000",rosybrown:"#BC8F8F",royalblue:"#4169E1",saddlebrown:"#8B4513",salmon:"#FA8072",sandybrown:"#F4A460",seagreen:"#2E8B57",seashell:"#FFF5EE",sienna:"#A0522D",silver:"#C0C0C0",skyblue:"#87CEEB",slateblue:"#6A5ACD",slategray:"#708090",slategrey:"#708090",snow:"#FFFAFA",springgreen:"#00FF7F",steelblue:"#4682B4",tan:"#D2B48C",teal:"#008080",thistle:"#D8BFD8",tomato:"#FF6347",turquoise:"#40E0D0",violet:"#EE82EE",wheat:"#F5DEB3",white:"#FFFFFF",whitesmoke:"#F5F5F5",yellow:"#FFFF00",yellowgreen:"#9ACD32"};function E(e,t,a){return e=+e,isNaN(e)||e<t?t:e>a?a:e}function _(e,t){return null==e?t:e}function T(e,t,a){var o=[E(e,0,255),E(t,0,255),E(a,0,255)];return"#"+("000000"+((e=o[0])<<16|(t=o[1])<<8|(a=o[2])).toString(16)).slice(-6)}function s(e,t,a){var o=void 0,i=void 0,n=void 0,r=[E(e,0,360)/360,E(t,0,100)/100,E(a,0,100)/100];if(e=r[0],a=r[2],0==(t=r[1]))o=i=n=a;else{var _=function(e,t,a){return a<0&&(a+=1),a>1&&(a-=1),a<1/6?e+6*(t-e)*a:a<.5?t:a<2/3?e+(t-e)*(2/3-a)*6:e},T=a<.5?a*(1+t):a+t-a*t,s=2*a-T;o=_(s,T,e+1/3),i=_(s,T,e),n=_(s,T,e-1/3)}return[255*o,255*i,255*n].map(Math.round)}function S(e,t,a){var o=[E(e,0,255)/255,E(t,0,255)/255,E(a,0,255)/255];e=o[0],t=o[1],a=o[2];var i=Math.max(e,t,a),n=Math.min(e,t,a),r=void 0,_=void 0,T=(i+n)/2;if(i==n)r=_=0;else{var s=i-n;switch(_=T>.5?s/(2-i-n):s/(i+n),i){case e:r=(t-a)/s+(t<a?6:0);break;case t:r=(a-e)/s+2;break;case a:r=(e-t)/s+4}r/=6}return[360*r,100*_,100*T].map(Math.round)}function l(e,t,a){return e<<16|t<<8|a}function I(e){if(e){var t=r[e.toString().toLowerCase()],a=/^\s*#?((([0-9A-F])([0-9A-F])([0-9A-F]))|(([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})))\s*$/i.exec(t||e)||[],i=o(a,10),n=i[3],E=i[4],_=i[5],T=i[7],s=i[8],S=i[9];if(void 0!==n)return[parseInt(n+n,16),parseInt(E+E,16),parseInt(_+_,16)];if(void 0!==T)return[parseInt(T,16),parseInt(s,16),parseInt(S,16)]}}function A(e){if(e){var t=r[e.toString().toLowerCase()],a=/^\s*#?((([0-9A-F])([0-9A-F])([0-9A-F])([0-9A-F])?)|(([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})?))\s*$/i.exec(t||e)||[],i=o(a,12),n=i[3],E=i[4],_=i[5],T=i[6],s=i[8],S=i[9],l=i[10],I=i[11];if(void 0!==n)return[parseInt(n+n,16),parseInt(E+E,16),parseInt(_+_,16),T?+(parseInt(T+T,16)/255).toFixed(2):1];if(void 0!==s)return[parseInt(s,16),parseInt(S,16),parseInt(l,16),I?+(parseInt(I,16)/255).toFixed(2):1]}}function u(e){if(e){var t=/^rgb\((\d+)[\s,](\d+)[\s,](\d+)\)/i.exec(e)||[],a=o(t,4),i=a[0],n=a[1],r=a[2],_=a[3];return i?[E(n,0,255),E(r,0,255),E(_,0,255)]:void 0}}function d(e){if(e){var t=/^rgba?\((\d+)\s*[\s,]\s*(\d+)\s*[\s,]\s*(\d+)(\s*[\s,]\s*(\d*(.\d+)?))?\)/i.exec(e)||[],a=o(t,6),i=a[0],n=a[1],r=a[2],T=a[3],s=a[5];return i?[E(n,0,255),E(r,0,255),E(T,0,255),E(_(s,1),0,1)]:void 0}}function c(e){if(Array.isArray(e))return[E(e[0],0,255),E(e[1],0,255),E(e[2],0,255),E(_(e[3],1),0,1)];var t=A(e)||d(e);return t&&3===t.length&&t.push(1),t}function O(e){if(e){var t=/^hsl\((\d+)[\s,](\d+)[\s,](\d+)\)/i.exec(e)||[],a=o(t,4),i=a[0],n=a[1],r=a[2],_=a[3];return i?[E(n,0,360),E(r,0,100),E(_,0,100)]:void 0}}function R(e){if(e){var t=/^hsla?\((\d+)\s*[\s,]\s*(\d+)\s*[\s,]\s*(\d+)(\s*[\s,]\s*(\d*(.\d+)?))?\)/i.exec(e)||[],a=o(t,6),i=a[0],n=a[1],r=a[2],T=a[3],s=a[5];return i?[E(n,0,255),E(r,0,255),E(T,0,255),E(_(s,1),0,1)]:void 0}}function N(e){if(Array.isArray(e))return[E(e[0],0,360),E(e[1],0,100),E(e[2],0,100),E(_(e[3],1),0,1)];var t=R(e);return t&&3===t.length&&t.push(1),t}function m(e,t){switch(t){default:return e.slice(0,3);case"rgbcss":return"rgb("+e[0]+", "+e[1]+", "+e[2]+")";case"rgbcss4":return"rgb("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+")";case"rgba":return e;case"rgbacss":return"rgba("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+")";case"hsl":return S.apply(void 0,n(e));case"hslcss":return"hsl("+(e=S.apply(void 0,n(e)))[0]+", "+e[1]+", "+e[2]+")";case"hslcss4":var a=S.apply(void 0,n(e));return"hsl("+a[0]+", "+a[1]+", "+a[2]+", "+e[3]+")";case"hsla":return[].concat(n(S.apply(void 0,n(e))),[e[3]]);case"hslacss":var o=S.apply(void 0,n(e));return"hsla("+o[0]+", "+o[1]+", "+o[2]+", "+e[3]+")";case"hex":return T.apply(void 0,n(e));case"hexcss4":return T.apply(void 0,n(e))+("00"+parseInt(255*e[3]).toString(16)).slice(-2);case"int":return l.apply(void 0,n(e))}}t.COLOR_NAMES=r,t.PALETTE_MATERIAL_500=["#F44336","#E91E63","#E91E63","#9C27B0","#9C27B0","#673AB7","#673AB7","#3F51B5","#3F51B5","#2196F3","#2196F3","#03A9F4","#03A9F4","#00BCD4","#00BCD4","#009688","#009688","#4CAF50","#4CAF50","#8BC34A","#8BC34A","#CDDC39","#CDDC39","#FFEB3B","#FFEB3B","#FFC107","#FFC107","#FF9800","#FF9800","#FF5722","#FF5722","#795548","#795548","#9E9E9E","#9E9E9E","#607D8B","#607D8B"],t.PALETTE_MATERIAL_CHROME=["#f44336","#e91e63","#9c27b0","#673ab7","#3f51b5","#2196f3","#03a9f4","#00bcd4","#009688","#4caf50","#8bc34a","#cddc39","#ffeb3b","#ffc107","#ff9800","#ff5722","#795548","#9e9e9e","#607d8b"],t.rgbToHex=T,t.hslToRgb=s,t.rgbToHsl=S,t.rgbToHsv=function(e,t,a){var o=[E(e,0,255)/255,E(t,0,255)/255,E(a,0,255)/255];e=o[0],t=o[1],a=o[2];var i,n=Math.max(e,t,a),r=Math.min(e,t,a),_=void 0,T=n,s=n-r;if(i=0===n?0:s/n,n==r)_=0;else{switch(n){case e:_=(t-a)/s+(t<a?6:0);break;case t:_=(a-e)/s+2;break;case a:_=(e-t)/s+4}_/=6}return[_,i,T]},t.rgbToInt=l,t.intToRgb=function(e){return[e>>16&255,e>>8&255,255&e]},t.cssColorToRgb=I,t.cssColorToRgba=A,t.cssRgbToRgb=u,t.cssRgbaToRgba=d,t.parseColorToRgb=function(e){return Array.isArray(e)?e=[E(e[0],0,255),E(e[1],0,255),E(e[2],0,255)]:I(e)||u(e)},t.parseColorToRgba=c,t.cssHslToHsl=O,t.cssHslaToHsla=R,t.parseColorToHsl=function(e){return Array.isArray(e)?e=[E(e[0],0,360),E(e[1],0,100),E(e[2],0,100)]:O(e)},t.parseColorToHsla=N,t.parseColor=function(e,t){if(t=t||"rgb",null!=e){var a=void 0;if((a=c(e))||(a=N(e))&&(a=[].concat(n(s.apply(void 0,n(a))),[a[3]])))return(0,i.default)(t)?["rgb","rgbcss","rgbcss4","rgba","rgbacss","hsl","hslcss","hslcss4","hsla","hslacss","hex","hexcss4","int"].reduce((function(e,t){return e[t]=m(a,t),e}),t||{}):m(a,t.toString().toLowerCase())}},t.getLuminance=function(e,t,a){return.2126*(e=(e/=255)<.03928?e/12.92:Math.pow((e+.055)/1.055,2.4))+.7152*(t=(t/=255)<.03928?t/12.92:Math.pow((t+.055)/1.055,2.4))+.0722*((a/=255)<.03928?a/12.92:Math.pow((a+.055)/1.055,2.4))},t.limit=E,t.ensureArray=function(e){return e?Array.from(e):[]},t.nvl=_},function(e,t,a){"use strict";e.exports=function(e){return null!=e&&"object"==typeof e&&!1===Array.isArray(e)}},function(e,t){e.exports='<div class="a-color-picker-row a-color-picker-stack a-color-picker-row-top"> <canvas class="a-color-picker-sl a-color-picker-transparent"></canvas> <div class=a-color-picker-dot></div> </div> <div class=a-color-picker-row> <div class="a-color-picker-stack a-color-picker-transparent a-color-picker-circle"> <div class=a-color-picker-preview> <input class=a-color-picker-clipbaord type=text> </div> </div> <div class=a-color-picker-column> <div class="a-color-picker-cell a-color-picker-stack"> <canvas class=a-color-picker-h></canvas> <div class=a-color-picker-dot></div> </div> <div class="a-color-picker-cell a-color-picker-alpha a-color-picker-stack" show-on-alpha> <canvas class="a-color-picker-a a-color-picker-transparent"></canvas> <div class=a-color-picker-dot></div> </div> </div> </div> <div class="a-color-picker-row a-color-picker-hsl" show-on-hsl> <label>H</label> <input nameref=H type=number maxlength=3 min=0 max=360 value=0> <label>S</label> <input nameref=S type=number maxlength=3 min=0 max=100 value=0> <label>L</label> <input nameref=L type=number maxlength=3 min=0 max=100 value=0> </div> <div class="a-color-picker-row a-color-picker-rgb" show-on-rgb> <label>R</label> <input nameref=R type=number maxlength=3 min=0 max=255 value=0> <label>G</label> <input nameref=G type=number maxlength=3 min=0 max=255 value=0> <label>B</label> <input nameref=B type=number maxlength=3 min=0 max=255 value=0> </div> <div class="a-color-picker-row a-color-picker-rgbhex a-color-picker-single-input" show-on-single-input> <label>HEX</label> <input nameref=RGBHEX type=text select-on-focus> </div> <div class="a-color-picker-row a-color-picker-palette"></div>'},function(e,t,a){var o=a(6);e.exports="string"==typeof o?o:o.toString()},function(e,t,a){(e.exports=a(7)(!1)).push([e.i,"/*!\n * a-color-picker\n * https://github.com/narsenico/a-color-picker\n *\n * Copyright (c) 2017-2018, Gianfranco Caldi.\n * Released under the MIT License.\n */.a-color-picker{background-color:#fff;padding:0;display:inline-flex;flex-direction:column;user-select:none;width:232px;font:400 10px Helvetica,Arial,sans-serif;border-radius:3px;box-shadow:0 0 0 1px rgba(0,0,0,.05),0 2px 4px rgba(0,0,0,.25)}.a-color-picker,.a-color-picker-row,.a-color-picker input{box-sizing:border-box}.a-color-picker-row{padding:15px;display:flex;flex-direction:row;align-items:center;justify-content:space-between;user-select:none}.a-color-picker-row-top{padding:0}.a-color-picker-row:not(:first-child){border-top:1px solid #f5f5f5}.a-color-picker-column{display:flex;flex-direction:column}.a-color-picker-cell{flex:1 1 auto;margin-bottom:4px}.a-color-picker-cell:last-child{margin-bottom:0}.a-color-picker-stack{position:relative}.a-color-picker-dot{position:absolute;width:14px;height:14px;top:0;left:0;background:#fff;pointer-events:none;border-radius:50px;z-index:1000;box-shadow:0 1px 2px rgba(0,0,0,.75)}.a-color-picker-a,.a-color-picker-h,.a-color-picker-sl{cursor:cell}.a-color-picker-a+.a-color-picker-dot,.a-color-picker-h+.a-color-picker-dot{top:-2px}.a-color-picker-a,.a-color-picker-h{border-radius:2px}.a-color-picker-preview{box-sizing:border-box;width:30px;height:30px;user-select:none;border-radius:15px}.a-color-picker-circle{border-radius:50px;border:1px solid #eee}.a-color-picker-hsl,.a-color-picker-rgb,.a-color-picker-single-input{justify-content:space-evenly}.a-color-picker-hsl>label,.a-color-picker-rgb>label,.a-color-picker-single-input>label{padding:0 8px;flex:0 0 auto;color:#969696}.a-color-picker-hsl>input,.a-color-picker-rgb>input,.a-color-picker-single-input>input{text-align:center;padding:2px 0;width:0;flex:1 1 auto;border:1px solid #e0e0e0;line-height:20px}.a-color-picker-hsl>input::-webkit-inner-spin-button,.a-color-picker-rgb>input::-webkit-inner-spin-button,.a-color-picker-single-input>input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.a-color-picker-hsl>input:focus,.a-color-picker-rgb>input:focus,.a-color-picker-single-input>input:focus{border-color:#04a9f4;outline:none}.a-color-picker-transparent{background-image:linear-gradient(-45deg,#cdcdcd 25%,transparent 0),linear-gradient(45deg,#cdcdcd 25%,transparent 0),linear-gradient(-45deg,transparent 75%,#cdcdcd 0),linear-gradient(45deg,transparent 75%,#cdcdcd 0);background-size:11px 11px;background-position:0 0,0 -5.5px,-5.5px 5.5px,5.5px 0}.a-color-picker-sl{border-radius:3px 3px 0 0}.a-color-picker.hide-alpha [show-on-alpha],.a-color-picker.hide-hsl [show-on-hsl],.a-color-picker.hide-rgb [show-on-rgb],.a-color-picker.hide-single-input [show-on-single-input]{display:none}.a-color-picker-clipbaord{width:100%;height:100%;opacity:0;cursor:pointer}.a-color-picker-palette{flex-flow:wrap;flex-direction:row;justify-content:flex-start;padding:10px}.a-color-picker-palette-color{width:15px;height:15px;flex:0 1 15px;margin:3px;box-sizing:border-box;cursor:pointer;border-radius:3px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1)}.a-color-picker-palette-add{text-align:center;line-height:13px;color:#607d8b}.a-color-picker.hidden{display:none}",""])},function(e,t){e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var a=(function(e,t){var a=e[1]||"",o=e[3];if(!o)return a;if(t&&"function"==typeof btoa){var i=(function(e){return"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(e))))+" */"})(o),n=o.sources.map((function(e){return"/*# sourceURL="+o.sourceRoot+e+" */"}));return[a].concat(n).concat([i]).join("\n")}return[a].join("\n")})(t,e);return t[2]?"@media "+t[2]+"{"+a+"}":a})).join("")},t.i=function(e,a){"string"==typeof e&&(e=[[null,e,""]]);for(var o={},i=0;i<this.length;i++){var n=this[i][0];"number"==typeof n&&(o[n]=!0)}for(i=0;i<e.length;i++){var r=e[i];"number"==typeof r[0]&&o[r[0]]||(a&&!r[2]?r[2]=a:a&&(r[2]="("+r[2]+") and ("+a+")"),t.push(r))}},t}}])},5677:(e,t,a)=>{function o(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return i(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return i(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}a(92341);var n=a(67294),r=a(81468).useTranslation,E=a(21665).Router,_=a(63662),T=_.Core,s=_.Shell,S=_.Chromecast,l=_.DragAndDrop,I=_.KeyboardShortcuts,A=_.ServicesProvider,u=a(71529).NotFound,d=a(86590),c=d.PlatformProvider,O=d.ToastProvider,R=d.TooltipProvider,N=d.CONSTANTS,m=d.withCoreSuspender,L=a(59239),D=a(21210),p=a(78921),h=a(88011),C=a(41544),f=a(49884),B=a(90510),P=m(C(E));e.exports=function(){var e=r().i18n,t=n.useCallback((function(){return u}),[]),a=n.useMemo((function(){var e=new T({appVersion:"5.0.0-beta.13",shellVersion:null});return{core:e,shell:new s,chromecast:new S,keyboardShortcuts:new I,dragAndDrop:new l({core:e})}}),[]),i=o(n.useState(!1),2),E=i[0],_=i[1];return n.useEffect((function(){var e=window.location.hash.slice(1),t=function(){a.core.active&&a.core.transport.analytics({event:"LocationPathChanged",args:{prevPath:e}}),e=window.location.hash.slice(1)};return window.addEventListener("hashchange",t),function(){window.removeEventListener("hashchange",t)}}),[]),n.useEffect((function(){var e=function(){_((a.core.active||a.core.error instanceof Error)&&(a.shell.active||a.shell.error instanceof Error))},t=function(){_((a.core.active||a.core.error instanceof Error)&&(a.shell.active||a.shell.error instanceof Error))},o=function(){a.chromecast.active&&a.chromecast.transport.setOptions({receiverApplicationId:N.CHROMECAST_RECEIVER_APP_ID,autoJoinPolicy:chrome.cast.AutoJoinPolicy.PAGE_SCOPED,resumeSavedSession:!1,language:null,androidReceiverCompatible:!0})};return a.core.on("stateChanged",e),a.shell.on("stateChanged",t),a.chromecast.on("stateChanged",o),a.core.start(),a.shell.start(),a.chromecast.start(),a.keyboardShortcuts.start(),a.dragAndDrop.start(),window.services=a,function(){a.core.stop(),a.shell.stop(),a.chromecast.stop(),a.keyboardShortcuts.stop(),a.dragAndDrop.stop(),a.core.off("stateChanged",e),a.shell.off("stateChanged",t),a.chromecast.off("stateChanged",o)}}),[]),n.useEffect((function(){var t=function(t){var a=t.event,o=t.args;if("SettingsUpdated"===a)o&&o.settings&&"string"==typeof o.settings.interfaceLanguage&&e.changeLanguage(o.settings.interfaceLanguage)},o=function(){a.core.transport.dispatch({action:"Ctx",args:{action:"PullAddonsFromAPI"}}),a.core.transport.dispatch({action:"Ctx",args:{action:"PullUserFromAPI"}}),a.core.transport.dispatch({action:"Ctx",args:{action:"SyncLibraryWithAPI"}}),a.core.transport.dispatch({action:"Ctx",args:{action:"PullNotifications"}})};return a.core.active&&(o(),window.addEventListener("focus",o),a.core.transport.on("CoreEvent",t),a.core.transport.getState("ctx").then((function(t){t&&t.profile&&t.profile.settings&&"string"==typeof t.profile.settings.interfaceLanguage&&e.changeLanguage(t.profile.settings.interfaceLanguage)})).catch((function(e){return console.error(e)}))),function(){a.core.active&&(window.removeEventListener("focus",o),a.core.transport.off("CoreEvent",t))}}),[E]),n.createElement(n.StrictMode,null,n.createElement(A,{services:a},E?a.core.error instanceof Error?n.createElement(h,{className:B["error-container"]}):n.createElement(c,null,n.createElement(O,{className:B["toasts-container"]},n.createElement(R,{className:B["tooltip-container"]},n.createElement(L,null),n.createElement(D,null),n.createElement(p,null),n.createElement(P,{className:B.router,viewsConfig:f,onPathNotMatch:t})))):n.createElement("div",{className:B["loader-container"]})))}},21210:(e,t,a)=>{function o(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return i(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return i(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var n=a(67294),r=a(86590),E=r.withCoreSuspender,_=r.useStreamingServer;e.exports=E((function(){var e=_();return n.useEffect((function(){if(null!==e.torrent){var t=o(e.torrent,2)[1],a=t.type,i=t.content;if("Ready"===a){var n=o(i,2)[1];"string"==typeof n.metaDetailsVideos&&(window.location=n.metaDetailsVideos)}}}),[e.torrent]),null}))},81341:(e,t,a)=>{function o(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return i(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return i(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var n=a(67294),r=a(81468).useTranslation,E=a(45697),_=a(94184),T=a(86590),s=T.Button,S=T.Image,l=a(74923),I=function(e){var t=e.className,i=r().t,E=o(n.useState(!1),2),T=E[0],I=E[1],A=n.useCallback((function(){window.location.reload()}),[]),u=n.useCallback((function(){window.localStorage.clear(),I(!0)}),[]);return n.createElement("div",{className:_(t,l["error-container"])},n.createElement(S,{className:l["error-image"],src:a(47740),alt:" "}),n.createElement("div",{className:l["error-message"]},i("GENERIC_ERROR_MESSAGE")),n.createElement("div",{className:l["buttons-container"]},n.createElement(s,{className:l["button-container"],title:i("TRY_AGAIN"),onClick:A},n.createElement("div",{className:l.label},i("TRY_AGAIN"))),n.createElement(s,{className:l["button-container"],disabled:T,title:i("CLEAR_DATA"),onClick:u},n.createElement("div",{className:l.label},i("CLEAR_DATA")))))};I.displayName="ErrorDialog",I.propTypes={className:E.string},e.exports=I},88011:(e,t,a)=>{var o=a(81341);e.exports=o},78921:(e,t,a)=>{function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?o(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):o(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function r(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return E(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return E(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function E(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var _=a(67294),T=a(72307),s=a(86590),S=s.withCoreSuspender,l=s.useProfile,I=s.useToast,A=a(63662).useServices;e.exports=S((function(){var e=A().core,t=l(),a=I(),o=r(_.useState({}),2),n=o[0],E=o[1],s=function(){var e=window.location,t=e.origin,a=e.hash,o=e.search,i=new URL("".concat(t).concat(a.replace("#","")).concat(o)).searchParams;E((function(e){var t=Object.fromEntries(i.entries());return T(e,t)?e:t}))};return _.useEffect((function(){var o=n.streamingServerUrl;o&&(e.transport.dispatch({action:"Ctx",args:{action:"UpdateSettings",args:i(i({},t.settings),{},{streamingServerUrl:o})}}),a.show({type:"success",title:"Using streaming server at ".concat(o),timeout:4e3}))}),[n]),_.useEffect((function(){return s(),window.addEventListener("hashchange",s),function(){return window.removeEventListener("hashchange",s)}}),[]),null}))},59239:(e,t,a)=>{var o=a(67294),i=a(63662).useServices,n=a(86590).useToast;e.exports=function(){var e=i(),t=e.core,a=e.dragAndDrop,r=n();return o.useEffect((function(){var e=function(e){var t=e.event,a=e.args;switch(t){case"Error":if("UserPulledFromAPI"===a.source.event&&null===a.source.args.uid)break;if("LibrarySyncWithAPIPlanned"===a.source.event&&null===a.source.args.uid)break;if("Other"===a.error.type&&3===a.error.code&&"AddonInstalled"===a.source.event&&a.source.args.transport_url.startsWith("https://www.strem.io/trakt/addon"))break;r.show({type:"error",title:a.source.event,message:a.error.message,timeout:4e3,dataset:{type:"CoreEvent"}});break;case"TorrentParsed":r.show({type:"success",title:"Torrent file parsed",timeout:4e3});break;case"MagnetParsed":r.show({type:"success",title:"Magnet link parsed",timeout:4e3});break;case"PlayingOnDevice":r.show({type:"success",title:"Stream opened in ".concat(a.device),timeout:4e3})}},o=function(e){var t;r.show({type:"error",title:e.message,message:null===(t=e.file)||void 0===t?void 0:t.name,timeout:4e3})};return t.transport.on("CoreEvent",e),a.on("error",o),function(){t.transport.off("CoreEvent",e),a.off("error",o)}}),[]),null}},4008:(e,t,a)=>{var o=a(5677);e.exports=o},49884:(e,t,a)=>{function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?o(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):o(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}var r=a(71529),E=a(86590).routesRegexp,_=[[i(i({},E.board),{},{component:r.Board})],[i(i({},E.intro),{},{component:r.Intro}),i(i({},E.discover),{},{component:r.Discover}),i(i({},E.library),{},{component:r.Library}),i(i({},E.continuewatching),{},{component:r.Library}),i(i({},E.search),{},{component:r.Search})],[i(i({},E.metadetails),{},{component:r.MetaDetails})],[i(i({},E.addons),{},{component:r.Addons}),i(i({},E.settings),{},{component:r.Settings})],[i(i({},E.player),{},{component:r.Player})]];e.exports=_},41544:(e,t,a)=>{function o(){return o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(e[o]=a[o])}return e},o.apply(this,arguments)}var i=a(67294),n=a(71529).Intro,r=a(86590).useProfile;e.exports=function(e){return function(t){var a=r(),E=i.useRef(a.auth);i.useEffect((function(){null!==E.current&&null===a.auth&&(window.location="#/intro"),E.current=a.auth}),[a]);var _=i.useCallback((function(e){if(null!==a.auth&&e.component===n)return window.location.replace("#/"),!0}),[a]);return i.createElement(e,o({},t,{onRouteChange:_}))}}},95471:(e,t,a)=>{var o=a(67294),i=a(45697),n=a(94184),r=a(95985).default,E=a(29872),_=a(66739),T=function(e){var t=e.className,a=e.id,i=e.name,T=e.version,s=e.logo,S=e.description,l=e.types,I=e.transportUrl,A=e.official,u=o.useCallback((function(){return o.createElement(r,{className:_.icon,name:"addons"})}),[]);return o.createElement("div",{className:n(t,_["addon-details-container"])},o.createElement("div",{className:_["title-container"]},o.createElement(E,{className:_.logo,src:s,alt:" ",renderFallback:u}),o.createElement("div",{className:_["name-container"]},o.createElement("span",{className:_.name},"string"==typeof i&&i.length>0?i:a),"string"==typeof T&&T.length>0?o.createElement("span",{className:_.version},"v. ",T):null)),"string"==typeof S&&S.length>0?o.createElement("div",{className:_["section-container"]},o.createElement("span",{className:_["section-label"]},S)):null,"string"==typeof I&&I.length>0?o.createElement("div",{className:_["section-container"]},o.createElement("span",{className:_["section-header"]},"URL: "),o.createElement("span",{className:n(_["section-label"],_["transport-url-label"])},I)):null,Array.isArray(l)&&l.length>0?o.createElement("div",{className:_["section-container"]},o.createElement("span",{className:_["section-header"]},"Supported types: "),o.createElement("span",{className:_["section-label"]},1===l.length?l[0]:l.slice(0,-1).join(", ")+" & "+l[l.length-1])):null,A?null:o.createElement("div",{className:_["section-container"]},o.createElement("div",{className:n(_["section-label"],_["disclaimer-label"])},"Using third-party add-ons will always be subject to your responsibility and the governing law of the jurisdiction you are located.")))};T.propTypes={className:i.string,id:i.string,name:i.string,version:i.string,logo:i.string,description:i.string,types:i.arrayOf(i.string),transportUrl:i.string,official:i.bool},e.exports=T},45368:(e,t,a)=>{var o=a(95471);e.exports=o},88029:(e,t,a)=>{var o=["remoteAddon","localAddon"];function i(){return i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(e[o]=a[o])}return e},i.apply(this,arguments)}function n(e,t){if(null==e)return{};var a,o,i=(function(e,t){if(null==e)return{};var a,o,i={},n=Object.keys(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||(i[a]=e[a]);return i})(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}var r=a(67294),E=a(45697),_=a(58253),T=a(36672).withCoreSuspender,s=a(85169).usePlatform,S=a(63662).useServices,l=(function(e){var t=function(t){var a=t.remoteAddon,E=t.localAddon,_=n(t,o),T=null!==a&&"Ready"===a.content.type?a.content.content:null!==E?E:null;return null===T?null:r.createElement(e,i({},_,{id:T.manifest.id,name:T.manifest.name,version:T.manifest.version,background:T.manifest.background,logo:T.manifest.logo,description:T.manifest.description,types:T.manifest.types,transportUrl:T.transportUrl,official:T.flags.official}))};return t.displayName="withRemoteAndLocalAddon",t})(a(45368)),I=a(29208),A=a(57527);var u=function(e){var t=e.transportUrl,a=e.onCloseRequest,o=S().core,i=s(),n=I(t),E=r.useMemo((function(){var e={className:A["cancel-button"],label:"Cancel",props:{onClick:function(e){"function"==typeof a&&a({type:"cancel",reactEvent:e,nativeEvent:e.nativeEvent})}}},r=null!==n.remoteAddon&&"Ready"===n.remoteAddon.content.type&&n.remoteAddon.content.content.manifest.behaviorHints.configurable?{className:A["configure-button"],label:"Configure",props:{onClick:function(e){i.openExternal(t.replace("manifest.json","configure")),"function"==typeof a&&a({type:"configure",reactEvent:e,nativeEvent:e.nativeEvent})}}}:null,E=null!==n.localAddon?{className:A["uninstall-button"],label:"Uninstall",props:{onClick:function(e){o.transport.dispatch({action:"Ctx",args:{action:"UninstallAddon",args:n.localAddon}}),"function"==typeof a&&a({type:"uninstall",reactEvent:e,nativeEvent:e.nativeEvent})}}}:null===n.remoteAddon||"Ready"!==n.remoteAddon.content.type||n.remoteAddon.content.content.manifest.behaviorHints.configurationRequired?null:{className:A["install-button"],label:"Install",props:{onClick:function(e){o.transport.dispatch({action:"Ctx",args:{action:"InstallAddon",args:n.remoteAddon.content.content}}),"function"==typeof a&&a({type:"install",reactEvent:e,nativeEvent:e.nativeEvent})}}};return r&&E?[e,r,E]:r?[e,r]:E?[e,E]:[e]}),[n,a]),T=r.useMemo((function(){var e;return"Ready"===(null===(e=n.remoteAddon)||void 0===e?void 0:e.content.type)?n.remoteAddon.content.content.manifest.background:null}),[n.remoteAddon]);return r.createElement(_,{className:A["addon-details-modal-container"],title:"Stremio addon",buttons:E,background:T,onCloseRequest:a},null===n.selected?r.createElement("div",{className:A["addon-details-message-container"]},"Loading addon manifest"):null===n.remoteAddon||"Loading"===n.remoteAddon.content.type?r.createElement("div",{className:A["addon-details-message-container"]},"Loading addon manifest from ",n.selected.transportUrl):"Err"===n.remoteAddon.content.type&&null===n.localAddon?r.createElement("div",{className:A["addon-details-message-container"]},"Failed to get addon manifest from ",n.selected.transportUrl,r.createElement("div",null,n.remoteAddon.content.content.message)):r.createElement(l,{className:A["addon-details-container"],remoteAddon:n.remoteAddon,localAddon:n.localAddon}))};u.propTypes={transportUrl:E.string,onCloseRequest:E.func};var d=function(e){var t=e.onCloseRequest;return r.createElement(_,{className:A["addon-details-modal-container"],title:"Stremio addon",onCloseRequest:t},r.createElement("div",{className:A["addon-details-message-container"]},"Loading addon manifest"))};d.propTypes=u.propTypes,e.exports=T(u,d)},58512:(e,t,a)=>{var o=a(88029);e.exports=o},29208:(e,t,a)=>{var o=a(67294),i=a(71535);e.exports=function(e){var t=o.useMemo((function(){return"string"==typeof e?{action:"Load",args:{model:"AddonDetails",args:{transportUrl:e}}}:{action:"Unload"}}),[e]);return i({model:"addon_details",action:t})}},67458:(e,t,a)=>{var o=["className","href","disabled","children","onLongPress","onDoubleClick"];function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function n(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?i(Object(a),!0).forEach((function(t){r(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):i(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function E(e,t){if(null==e)return{};var a,o,i=(function(e,t){if(null==e)return{};var a,o,i={},n=Object.keys(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||(i[a]=e[a]);return i})(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}var _=a(67294),T=a(45697),s=a(94184),S=a(15837),l=a(20243).useLongPress,I=_.forwardRef((function(e,t){var a=e.className,i=e.href,r=e.disabled,T=e.children,I=e.onLongPress,A=e.onDoubleClick,u=E(e,o),d=l(I,{detect:"pointer"}),c=_.useCallback((function(e){"function"==typeof u.onKeyDown&&u.onKeyDown(e),"Enter"===e.key&&(e.preventDefault(),e.nativeEvent.buttonClickPrevented||e.currentTarget.click())}),[u.onKeyDown]),O=_.useCallback((function(e){"function"==typeof u.onMouseDown&&u.onMouseDown(e),e.nativeEvent.buttonBlurPrevented||(e.preventDefault(),document.activeElement instanceof HTMLElement&&document.activeElement.blur())}),[u.onMouseDown]);return _.createElement("string"==typeof i&&i.length>0?"a":"div",n(n({tabIndex:0},u),{},{ref:t,className:s(a,S["button-container"],{disabled:r}),href:i,onKeyDown:c,onMouseDown:O,onDoubleClick:A},d()),T)}));I.displayName="Button",I.propTypes={className:T.string,href:T.string,disabled:T.bool,children:T.node,onKeyDown:T.func,onMouseDown:T.func,onLongPress:T.func,onDoubleClick:T.func},e.exports=I},6851:(e,t,a)=>{var o=a(67458);e.exports=o},52734:e=>{var t={movie:10,series:9,channel:8,tv:7,music:6,radio:5,podcast:4,game:3,book:2,adult:1,other:-1/0},a=new Map([["movie","movies"],["series","series"],["channel","channels"],["tv","tv"],["book","ic_book"],["game","ic_games"],["music","ic_music"],["adult","ic_adult"],["radio","ic_radio"],["podcast","ic_podcast"],["other","movies"]]);e.exports={CHROMECAST_RECEIVER_APP_ID:"1634F54B",SUBTITLES_SIZES:[75,100,125,150,175,200,250],SUBTITLES_FONTS:["PlusJakartaSans","Arial","Halvetica","Times New Roman","Verdana","Courier","Lucida Console","sans-serif","serif","monospace"],SEEK_TIME_DURATIONS:[3e3,5e3,1e4,15e3,2e4,3e4],NEXT_VIDEO_POPUP_DURATIONS:[0,5e3,1e4,15e3,2e4,25e3,3e4,35e3,4e4,45e3,5e4,55e3,6e4,65e3,7e4,75e3,8e4,85e3,9e4],CATALOG_PREVIEW_SIZE:10,CATALOG_PAGE_SIZE:100,NONE_EXTRA_VALUE:"None",SKIP_EXTRA_NAME:"skip",META_LINK_CATEGORY:"meta",IMDB_LINK_CATEGORY:"imdb",SHARE_LINK_CATEGORY:"share",WRITERS_LINK_CATEGORY:"Writers",TYPE_PRIORITIES:t,ICON_FOR_TYPE:a,EXTERNAL_PLAYERS:[{label:"EXTERNAL_PLAYER_DISABLED",value:null,platforms:["ios","visionos","android","windows","linux","macos"]},{label:"EXTERNAL_PLAYER_ALLOW_CHOOSING",value:"choose",platforms:["android"]},{label:"VLC",value:"vlc",platforms:["ios","visionos","android"]},{label:"MPV",value:"mpv",platforms:["macos"]},{label:"IINA",value:"iina",platforms:["macos"]},{label:"MX Player",value:"mxplayer",platforms:["android"]},{label:"Just Player",value:"justplayer",platforms:["android"]},{label:"Outplayer",value:"outplayer",platforms:["ios","visionos"]},{label:"Moonplayer (VisionOS)",value:"moonplayer",platforms:["visionos"]},{label:"M3U Playlist",value:"m3u",platforms:["ios","visionos","android","windows","linux","macos"]}],WHITELISTED_HOSTS:["stremio.com","strem.io","stremio.zendesk.com","google.com","youtube.com","twitch.tv","twitter.com","x.com","netflix.com","adex.network","amazon.com","forms.gle"]}},83064:(e,t,a)=>{var o=["className","checked","children"];function i(){return i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(e[o]=a[o])}return e},i.apply(this,arguments)}function n(e,t){if(null==e)return{};var a,o,i=(function(e,t){if(null==e)return{};var a,o,i={},n=Object.keys(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||(i[a]=e[a]);return i})(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}var r=a(67294),E=a(45697),_=a(94184),T=a(6851),s=a(22523),S=r.forwardRef((function(e,t){var a=e.className,E=e.checked,S=e.children,l=n(e,o);return r.createElement(T,i({},l,{ref:t,className:_(a,s["checkbox-container"],{checked:E})}),r.createElement("div",{className:s.toggle}),S)}));S.displayName="Checkbox",S.propTypes={className:E.string,checked:E.bool,children:E.node},e.exports=S},49666:(e,t,a)=>{var o=a(83064);e.exports=o},54750:(e,t,a)=>{var o=["className","value","dataset","onChange"];function i(){return i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(e[o]=a[o])}return e},i.apply(this,arguments)}function n(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return r(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return r(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}function E(e,t){if(null==e)return{};var a,o,i=(function(e,t){if(null==e)return{};var a,o,i={},n=Object.keys(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||(i[a]=e[a]);return i})(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}var _=a(67294),T=a(45697),s=a(94184),S=a(43746),l=a(81468).useTranslation,I=a(6851),A=a(58253),u=a(74024),d=a(57711),c=a(22440),O=function(e){var t=S.parseColor(e,"hexcss4");return"string"==typeof t?t:"#ffffffff"},R=function(e){var t=e.className,a=e.value,r=e.dataset,T=e.onChange,S=E(e,o),R=l().t,N=n(u(!1),3),m=N[0],L=N[1],D=N[2],p=n(_.useState((function(){return O(a)})),2),h=p[0],C=p[1],f=_.useMemo((function(){return{backgroundColor:a}}),[a]),B=_.useMemo((function(){return O(a).endsWith("00")}),[a]),P=_.useCallback((function(e){"function"==typeof S.onClick&&S.onClick(e),e.nativeEvent.openModalPrevented||L()}),[S.onClick]),g=_.useCallback((function(e){e.nativeEvent.openModalPrevented=!0}),[]),v=_.useMemo((function(){return[{label:"Select",props:{"data-autofocus":!0,onClick:function(e){"function"==typeof T&&T({type:"change",value:h,dataset:r,reactEvent:e,nativeEvent:e.nativeEvent}),D()}}}]}),[h,r,T]),y=_.useCallback((function(e){C(O(e.value))}),[]);return _.useLayoutEffect((function(){C(O(a))}),[a,m]),_.createElement(I,i({title:B?R("BUTTON_COLOR_TRANSPARENT"):a},S,{style:f,className:s(t,c["color-input-container"]),onClick:P}),B?_.createElement("div",{className:c["transparent-label-container"]},_.createElement("div",{className:c["transparent-label"]},R("BUTTON_COLOR_TRANSPARENT"))):null,m?_.createElement(A,{title:"Choose a color:",buttons:v,onCloseRequest:D,onClick:g},_.createElement(d,{className:c["color-picker-container"],value:h,onInput:y})):null)};R.propTypes={className:T.string,value:T.string,dataset:T.object,onChange:T.func,onClick:T.func},e.exports=R},73378:(e,t,a)=>{var o=a(67294),i=a(45697),n=a(94184),r=a(43746),E=a(47001),_=function(e){return r.parseColor(e,"hexcss4")},T=function(e){var t=e.className,a=e.value,i=e.onInput,T=o.useRef(null),s=o.useRef(null);return o.useLayoutEffect((function(){T.current=r.createPicker(s.current,{color:_(a),showHSL:!1,showHEX:!1,showRGB:!1,showAlpha:!0});var e=s.current.querySelector(".a-color-picker-clipbaord");e instanceof HTMLElement&&(e.tabIndex=-1)}),[]),o.useLayoutEffect((function(){return"function"==typeof i&&T.current.on("change",(function(e,t){i({type:"input",value:_(t)})})),function(){T.current.off("change")}}),[i]),o.useLayoutEffect((function(){var e=_(a);e!==_(T.current.color)&&(T.current.color=e)}),[a]),o.createElement("div",{ref:s,className:n(t,E["color-picker-container"])})};T.propTypes={className:i.string,value:i.string,onInput:i.func},e.exports=T},57711:(e,t,a)=>{var o=a(73378);e.exports=o},28809:(e,t,a)=>{var o=a(54750);e.exports=o},16306:(e,t,a)=>{var o=["_id","notifications","deepLinks"];function i(){return i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(e[o]=a[o])}return e},i.apply(this,arguments)}function n(e,t){if(null==e)return{};var a,o,i=(function(e,t){if(null==e)return{};var a,o,i={},n=Object.keys(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||(i[a]=e[a]);return i})(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}var r=a(67294),E=a(45697),_=a(63662).useServices,T=a(35748),s=function(e){var t=e._id,a=e.notifications,E=e.deepLinks,s=n(e,o),S=_().core,l=r.useCallback((function(){var e,t;(null!==(e=null==E?void 0:E.metaDetailsVideos)&&void 0!==e?e:null==E?void 0:E.metaDetailsStreams)&&(window.location=null!==(t=null==E?void 0:E.metaDetailsVideos)&&void 0!==t?t:null==E?void 0:E.metaDetailsStreams)}),[E]),I=r.useCallback((function(e){var t,a,o,i;(e.stopPropagation(),null!==(t=null!==(a=null==E?void 0:E.player)&&void 0!==a?a:null==E?void 0:E.metaDetailsStreams)&&void 0!==t?t:null==E?void 0:E.metaDetailsVideos)&&(window.location=null!==(o=null!==(i=null==E?void 0:E.player)&&void 0!==i?i:null==E?void 0:E.metaDetailsStreams)&&void 0!==o?o:null==E?void 0:E.metaDetailsVideos)}),[E]),A=r.useCallback((function(e){e.stopPropagation(),"string"==typeof t&&(S.transport.dispatch({action:"Ctx",args:{action:"RewindLibraryItem",args:t}}),S.transport.dispatch({action:"Ctx",args:{action:"DismissNotificationItem",args:t}}))}),[t]);return r.createElement(T,i({},s,{_id:t,posterChangeCursor:!0,notifications:a,onClick:l,onPlayClick:I,onDismissClick:A}))};s.propTypes={_id:E.string,notifications:E.object,deepLinks:E.shape({metaDetailsVideos:E.string,metaDetailsStreams:E.string,player:E.string})},e.exports=s},63418:(e,t,a)=>{var o=a(16306);e.exports=o},36672:(e,t,a)=>{function o(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return i(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return i(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var n=a(67294),r=a(63662).useServices,E=n.createContext(null);function _(e){var t,a="pending",o=e.then((function(e){a="success",t=e}),(function(e){a="error",t=e}));return{read:function(){if("pending"===a)throw o;if("error"===a)throw t;if("success"===a)return t}}}E.displayName="CoreSuspenderContext";var T=function(){return n.useContext(E)};e.exports={withCoreSuspender:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){};return function(a){var i=r().core,s=T(),S=o(n.useState(null===s),2),l=S[0],I=S[1],A=n.useRef({}),u=n.useRef({}),d=n.useCallback((function(e){return A.current[e]||(A.current[e]=_(i.transport.getState(e))),A.current[e].read()}),[]),c=n.useCallback((function(e){return u.current[e]||(u.current[e]=_(i.transport.decodeStream(e))),u.current[e].read()}),[]),O=n.useMemo((function(){return{getState:d,decodeStream:c}}),[]);return n.useLayoutEffect((function(){l||I(!0)}),[]),l?n.createElement(n.Suspense,{fallback:n.createElement(t,a)},n.createElement(E.Provider,{value:O},n.createElement(e,a))):null}},useCoreSuspender:T}},17473:(e,t,a)=>{function o(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return i(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return i(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var n=a(67294),r=a(45697),E=function(e){var t=e.children,a=e.delay,i=o(n.useState(!1),2),r=i[0],E=i[1];return n.useEffect((function(){var e=setTimeout((function(){E(!0)}),a);return function(){clearTimeout(e)}}),[]),r?t:null};E.propTypes={children:r.node,delay:r.number},e.exports=E},8006:(e,t,a)=>{var o=a(17473);e.exports=o},83193:(e,t,a)=>{var o=a(67294),i=a(81468).useTranslation,n=a(6851),r=a(58253),E=a(25876),_=a(34478),T=a(95985).default;e.exports=function(){var e,t,a=i().t,s=E(),S=s.events,l=s.pullEvents,I=s.dismissEvent,A=o.useMemo((function(){var e;return"Ready"===(null==S||null===(e=S.modal)||void 0===e?void 0:e.type)?S.modal.content:null}),[S]),u=o.useCallback((function(){(null==A?void 0:A.id)&&I(A.id)}),[A]);return o.useEffect((function(){l()}),[]),null!==A?o.createElement(r,{className:_["event-modal"],onCloseRequest:u},A.imageUrl?o.createElement("img",{className:_.image,src:A.imageUrl}):null,o.createElement("div",{className:_["info-container"]},o.createElement("div",{className:_["title-container"]},A.title?o.createElement("div",{className:_.title},A.title):null,A.message?o.createElement("div",{className:_.label},A.message):null),null!=A&&null!==(e=A.addon)&&void 0!==e&&e.name?o.createElement("div",{className:_["addon-container"]},o.createElement(T,{className:_.icon,name:"addons"}),o.createElement("div",{className:_.name},A.addon.name)):null,null!=A&&null!==(t=A.addon)&&void 0!==t&&t.manifestUrl?o.createElement(n,{className:_["action-button"],href:"#/addons?addon=".concat(encodeURIComponent(A.addon.manifestUrl)),onClick:u},o.createElement("div",{className:_["button-label"]},a("INSTALL_ADDON"))):A.externalUrl?o.createElement(n,{className:_["action-button"],href:A.externalUrl,target:"_blank"},o.createElement("div",{className:_["button-label"]},a("LEARN_MORE"))):null)):null}},50586:(e,t,a)=>{var o=a(83193);e.exports=o},25876:(e,t,a)=>{function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function i(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}var n=a(71535),r=a(63662).useServices,E=function(e){return(function(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?o(Object(a),!0).forEach((function(t){i(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):o(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e})({},e.events)};e.exports=function(){var e=r().core;return{events:n({model:"ctx",map:E}),pullEvents:function(){e.transport.dispatch({action:"Ctx",args:{action:"GetEvents"}})},dismissEvent:function(t){e.transport.dispatch({action:"Ctx",args:{action:"DismissEvent",args:t}})}}}},49504:(e,t,a)=>{var o=["className","src","alt","fallbackSrc","renderFallback"];function i(){return i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(e[o]=a[o])}return e},i.apply(this,arguments)}function n(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return r(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return r(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}function E(e,t){if(null==e)return{};var a,o,i=(function(e,t){if(null==e)return{};var a,o,i={},n=Object.keys(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||(i[a]=e[a]);return i})(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}var _=a(67294),T=a(45697),s=function(e){var t=e.className,a=e.src,r=e.alt,T=e.fallbackSrc,s=e.renderFallback,S=E(e,o),l=n(_.useState(!1),2),I=l[0],A=l[1],u=_.useCallback((function(e){"function"==typeof S.onError&&S.onError(e),A(!0)}),[S.onError]);return _.useLayoutEffect((function(){A(!1)}),[a]),!I&&"string"==typeof a&&0!==a.length||"function"!=typeof s&&"string"!=typeof T?_.createElement("img",i({},S,{className:t,src:a,alt:r,loading:"lazy",onError:u})):"function"==typeof s?s():_.createElement("img",i({},S,{className:t,src:T,alt:r,loading:"lazy"}))};s.propTypes={className:T.string,src:T.string,alt:T.string,fallbackSrc:T.string,renderFallback:T.func,onError:T.func},e.exports=s},29872:(e,t,a)=>{var o=a(49504);e.exports=o},60859:(e,t,a)=>{var o=["_id","removable","notifications","watched"];function i(){return i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(e[o]=a[o])}return e},i.apply(this,arguments)}function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function r(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?n(Object(a),!0).forEach((function(t){E(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):n(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function E(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function _(e,t){if(null==e)return{};var a,o,i=(function(e,t){if(null==e)return{};var a,o,i={},n=Object.keys(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||(i[a]=e[a]);return i})(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}var T=a(67294),s=a(63662).useServices,S=a(45697),l=a(98277),I=a(96073).t,A=function(e){var t=e._id,a=e.removable,n=e.notifications,E=e.watched,S=_(e,o),A=s().core,u=T.useMemo((function(){var e,a,o,i=null!==(e=null===(a=n.items)||void 0===a||null===(o=a[t])||void 0===o?void 0:o.length)&&void 0!==e?e:0;return Math.min(Math.max(i,0),99)}),[t,n]),d=T.useMemo((function(){return[{label:"LIBRARY_PLAY",value:"play"},{label:"LIBRARY_DETAILS",value:"details"},{label:"LIBRARY_RESUME_DISMISS",value:"dismiss"},{label:E?"CTX_MARK_UNWATCHED":"CTX_MARK_WATCHED",value:"watched"},{label:"LIBRARY_REMOVE",value:"remove"}].filter((function(e){switch(e.value){case"play":return S.deepLinks&&"string"==typeof S.deepLinks.player;case"details":case"watched":return S.deepLinks&&("string"==typeof S.deepLinks.metaDetailsVideos||"string"==typeof S.deepLinks.metaDetailsStreams);case"dismiss":return"string"==typeof t&&null!==S.progress&&!isNaN(S.progress)&&S.progress>0;case"remove":return"string"==typeof t&&a}})).map((function(e){return r(r({},e),{},{label:I(e.label)})}))}),[t,a,S.progress,S.deepLinks,E]),c=T.useCallback((function(e){if("function"==typeof S.optionOnSelect&&S.optionOnSelect(e),!e.nativeEvent.optionSelectPrevented)switch(e.value){case"play":S.deepLinks&&"string"==typeof S.deepLinks.player&&(window.location=S.deepLinks.player);break;case"details":S.deepLinks&&("string"==typeof S.deepLinks.metaDetailsVideos?window.location=S.deepLinks.metaDetailsVideos:"string"==typeof S.deepLinks.metaDetailsStreams&&(window.location=S.deepLinks.metaDetailsStreams));break;case"watched":"string"==typeof t&&A.transport.dispatch({action:"Ctx",args:{action:"LibraryItemMarkAsWatched",args:{id:t,is_watched:!E}}});break;case"dismiss":"string"==typeof t&&(A.transport.dispatch({action:"Ctx",args:{action:"RewindLibraryItem",args:t}}),A.transport.dispatch({action:"Ctx",args:{action:"DismissNotificationItem",args:t}}));break;case"remove":"string"==typeof t&&A.transport.dispatch({action:"Ctx",args:{action:"RemoveFromLibrary",args:t}})}}),[t,S.deepLinks,S.optionOnSelect]);return T.createElement(l,i({},S,{watched:E,newVideos:u,options:d,optionOnSelect:c}))};A.propTypes={_id:S.string,removable:S.bool,progress:S.number,notifications:S.object,watched:S.bool,deepLinks:S.shape({metaDetailsVideos:S.string,metaDetailsStreams:S.string,player:S.string}),optionOnSelect:S.func},e.exports=A},35748:(e,t,a)=>{var o=a(60859);e.exports=o},83364:(e,t,a)=>{var o=a(67294),i=a(45697),n=a(94184),r=a(11785),E=r.VerticalNavBar,_=r.HorizontalNavBar,T=a(72252),s=[{id:"board",label:"Board",icon:"home",href:"#/"},{id:"discover",label:"Discover",icon:"discover",href:"#/discover"},{id:"library",label:"Library",icon:"library",href:"#/library"},{id:"addons",label:"ADDONS",icon:"addons",href:"#/addons"},{id:"settings",label:"SETTINGS",icon:"settings",href:"#/settings"}],S=o.memo((function(e){var t=e.className,a=e.route,i=e.query,r=e.children;return o.createElement("div",{className:n(t,T["main-nav-bars-container"])},o.createElement(_,{className:T["horizontal-nav-bar"],route:a,query:i,backButton:!1,searchBar:!0,addonsButton:!0,fullscreenButton:!0,navMenu:!0}),o.createElement(E,{className:T["vertical-nav-bar"],selected:a,tabs:s}),o.createElement("div",{className:T["nav-content-container"]},r))}));S.displayName="MainNavBars",S.propTypes={className:i.string,route:i.string,query:i.string,children:i.node},e.exports=S},11297:(e,t,a)=>{var o=a(83364);e.exports=o},43037:(e,t,a)=>{var o=["className","type","name","poster","posterShape","posterChangeCursor","progress","newVideos","options","deepLinks","dataset","optionOnSelect","onDismissClick","onPlayClick","watched"];function i(){return i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(e[o]=a[o])}return e},i.apply(this,arguments)}function n(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return r(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return r(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}function E(e,t){if(null==e)return{};var a,o,i=(function(e,t){if(null==e)return{};var a,o,i={},n=Object.keys(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||(i[a]=e[a]);return i})(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}var _=a(67294),T=a(45697),s=a(94184),S=a(81468).useTranslation,l=a(87280).Z,I=a(95985).default,A=a(6851),u=a(29872),d=a(53981),c=a(74024),O=a(52734).ICON_FOR_TYPE,R=a(6432),N=_.memo((function(e){var t=e.className,a=e.type,r=e.name,T=e.poster,N=e.posterShape,m=e.posterChangeCursor,L=e.progress,D=e.newVideos,p=e.options,h=e.deepLinks,C=e.dataset,f=e.optionOnSelect,B=e.onDismissClick,P=e.onPlayClick,g=e.watched,v=E(e,o),y=S().t,W=n(c(!1),3),M=W[0],b=W[1],U=W[2],G=_.useMemo((function(){return h?"string"==typeof h.player?h.player:"string"==typeof h.metaDetailsStreams?h.metaDetailsStreams:"string"==typeof h.metaDetailsVideos?h.metaDetailsVideos:null:null}),[h]),k=_.useCallback((function(e){e.nativeEvent.selectPrevented?e.preventDefault():"function"==typeof v.onClick&&v.onClick(e)}),[v.onClick]),F=_.useCallback((function(e){e.nativeEvent.selectPrevented=!0}),[]),V=_.useCallback((function(e){"function"==typeof f&&f({type:"select-option",value:e.value,dataset:C,reactEvent:e.reactEvent,nativeEvent:e.nativeEvent})}),[C,f]),H=_.useCallback((function(){return _.createElement(I,{className:R["placeholder-icon"],name:O.has(a)?O.get(a):O.get("other")})}),[a]),w=_.useCallback((function(){return _.createElement(I,{className:R.icon,name:"more-vertical"})}),[]);return _.createElement(A,i({title:r,href:G},l(v),{className:s(t,R["meta-item-container"],R["poster-shape-poster"],R["poster-shape-".concat(N)],{active:M}),onClick:k}),_.createElement("div",{className:s(R["poster-container"],{"poster-change-cursor":m})},B?_.createElement("div",{title:y("LIBRARY_RESUME_DISMISS"),className:R["dismiss-icon-layer"],onClick:B},_.createElement(I,{className:R["dismiss-icon"],name:"close"}),_.createElement("div",{className:R["dismiss-icon-backdrop"]})):null,g?_.createElement("div",{className:R["watched-icon-layer"]},_.createElement(I,{className:R["watched-icon"],name:"checkmark"})):null,_.createElement("div",{className:R["poster-image-layer"]},_.createElement(u,{className:R["poster-image"],src:T,alt:" ",renderFallback:H})),P?_.createElement("div",{title:y("CONTINUE_WATCHING"),className:R["play-icon-layer"],onClick:P},_.createElement(I,{className:R["play-icon"],name:"play"}),_.createElement("div",{className:R["play-icon-outer"]}),_.createElement("div",{className:R["play-icon-background"]})):null,L>0?_.createElement("div",{className:R["progress-bar-layer"]},_.createElement("div",{className:R["progress-bar"],style:{width:"".concat(L,"%")}}),_.createElement("div",{className:R["progress-bar-background"]})):null,D>0?_.createElement("div",{className:R["new-videos"]},_.createElement("div",{className:R.layer}),_.createElement("div",{className:R.layer}),_.createElement("div",{className:R.layer},_.createElement(I,{className:R.icon,name:"add"}),_.createElement("div",{className:R.label},D))):null),"string"==typeof r&&r.length>0||Array.isArray(p)&&p.length>0?_.createElement("div",{className:R["title-bar-container"]},_.createElement("div",{className:R["title-label"]},"string"==typeof r&&r.length>0?r:""),Array.isArray(p)&&p.length>0?_.createElement(d,{className:R["menu-label-container"],renderLabelContent:w,options:p,onOpen:b,onClose:U,onSelect:V,tabIndex:-1,onClick:F}):null):null)}));N.displayName="MetaItem",N.propTypes={className:T.string,type:T.string,name:T.string,poster:T.string,posterShape:T.oneOf(["poster","landscape","square"]),posterChangeCursor:T.bool,progress:T.number,newVideos:T.number,options:T.array,deepLinks:T.shape({metaDetailsVideos:T.string,metaDetailsStreams:T.string,player:T.string}),dataset:T.object,optionOnSelect:T.func,onDismissClick:T.func,onPlayClick:T.func,onClick:T.func,watched:T.bool},e.exports=N},98277:(e,t,a)=>{var o=a(43037);e.exports=o},84902:(e,t,a)=>{var o=["className","icon","label","tooltip"];function i(){return i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(e[o]=a[o])}return e},i.apply(this,arguments)}function n(e,t){if(null==e)return{};var a,o,i=(function(e,t){if(null==e)return{};var a,o,i={},n=Object.keys(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||(i[a]=e[a]);return i})(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}var r=a(67294),E=a(45697),_=a(94184),T=a(95985).default,s=a(6851),S=a(9058),l=a(37541).Tooltip,I=function(e){var t=e.className,a=e.icon,E=e.label,I=e.tooltip,A=n(e,o);return r.createElement(s,i({title:I?"":E},A,{className:_(t,S["action-button-container"],{wide:"string"==typeof E&&!I})}),!0===I?r.createElement(l,{label:E,position:"top"}):null,"string"==typeof a&&a.length>0?r.createElement("div",{className:S["icon-container"]},r.createElement(T,{className:S.icon,name:a})):null,!I&&"string"==typeof E&&E.length>0?r.createElement("div",{className:S["label-container"]},r.createElement("div",{className:S.label},E)):null)};I.propTypes={className:E.string,icon:E.string,label:E.string,tooltip:E.bool},e.exports=I},60217:(e,t,a)=>{var o=a(84902);e.exports=o},78049:(e,t,a)=>{var o=a(67294),i=a(45697),n=a(94184),r=a(81468).useTranslation,E=a(6851),_=a(41467),T=function(e){var t=e.className,a=e.label,i=e.links,T=r().t;return o.createElement("div",{className:n(t,_["meta-links-container"])},"string"==typeof a&&a.length>0?o.createElement("div",{className:_["label-container"]},T("LINKS_".concat(a.toUpperCase()))):null,Array.isArray(i)&&i.length>0?o.createElement("div",{className:_["links-container"]},i.map((function(e,t){var a=e.label,i=e.href;return o.createElement(E,{key:t,className:_["link-container"],title:a,href:i},T(a))}))):null)};T.propTypes={className:i.string,label:i.string,links:i.arrayOf(i.shape({label:i.string,href:i.string}))},e.exports=T},37818:(e,t,a)=>{var o=a(78049);e.exports=o},26314:(e,t,a)=>{function o(){return o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(e[o]=a[o])}return e},o.apply(this,arguments)}function i(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return n(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return n(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function n(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var r=a(67294),E=a(45697),_=a(94184),T=a(8575),s=a(81468).useTranslation,S=a(95985).default,l=a(6851),I=a(29872),A=a(58253),u=a(89393),d=a(52734),c=a(68803),O=a(74024),R=a(60217),N=a(37818),m=a(74322),L=a(19480),D=[c.search.regexp,c.discover.regexp,c.metadetails.regexp],p=function(e){var t,a,n,E=e.className,c=e.compact,m=e.name,p=e.logo,h=e.background,C=e.runtime,f=e.releaseInfo,B=e.released,P=e.description,g=e.deepLinks,v=e.links,y=e.trailerStreams,W=e.inLibrary,M=e.toggleInLibrary,b=s().t,U=i(O(!1),3),G=U[0],k=U[1],F=U[2],V=r.useMemo((function(){return Array.isArray(v)?v.filter((function(e){return e&&"string"==typeof e.category&&"string"==typeof e.url})).reduce((function(e,t){var a=t.category,o=t.name,i=t.url,n=T.parse(i),r=n.protocol,E=n.path,_=n.pathname,s=n.hostname;return a===d.IMDB_LINK_CATEGORY?"imdb.com"===s&&e.set(a,{label:o,href:"https://www.stremio.com/warning#".concat(encodeURIComponent(i))}):a===d.SHARE_LINK_CATEGORY?e.set(a,{label:o,href:i}):"stremio:"===r?null!==_&&D.some((function(e){return _.match(e)}))&&(e.has(a)||e.set(a,[]),e.get(a).push({label:o,href:"#".concat(E)})):"string"==typeof s&&s.length>0&&(e.has(a)||e.set(a,[]),e.get(a).push({label:o,href:"https://www.stremio.com/warning#".concat(encodeURIComponent(i))})),e}),new Map):new Map}),[v]),H=r.useMemo((function(){return g?"string"==typeof g.player?g.player:"string"==typeof g.metaDetailsStreams?g.metaDetailsStreams:"string"==typeof g.metaDetailsVideos?g.metaDetailsVideos:null:null}),[g]),w=r.useMemo((function(){return Array.isArray(y)&&0!==y.length?y[0].deepLinks.player:null}),[y]),Y=r.useCallback((function(){return r.createElement("div",{className:L["logo-placeholder"]},m)}),[m]);return r.createElement("div",{className:_(E,L["meta-preview-container"],(t={},a=L.compact,n=c,a in t?Object.defineProperty(t,a,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[a]=n,t))},"string"==typeof h&&h.length>0?r.createElement("div",{className:L["background-image-layer"]},r.createElement(I,{className:L["background-image"],src:h,alt:" "})):null,r.createElement("div",{className:L["meta-info-container"]},"string"==typeof p&&p.length>0?r.createElement(I,{className:L.logo,src:p,alt:" ",title:m,renderFallback:Y}):Y(),"string"==typeof f&&f.length>0||B instanceof Date&&!isNaN(B.getTime())||"string"==typeof C&&C.length>0||V.has(d.IMDB_LINK_CATEGORY)?r.createElement("div",{className:L["runtime-release-info-container"]},"string"==typeof C&&C.length>0?r.createElement("div",{className:L["runtime-label"]},C):null,"string"==typeof f&&f.length>0?r.createElement("div",{className:L["release-info-label"]},f):B instanceof Date&&!isNaN(B.getTime())?r.createElement("div",{className:L["release-info-label"]},B.getFullYear()):null,V.has(d.IMDB_LINK_CATEGORY)?r.createElement(l,o({className:L["imdb-button-container"],title:V.get(d.IMDB_LINK_CATEGORY).label,href:V.get(d.IMDB_LINK_CATEGORY).href,target:"_blank"},c?{tabIndex:-1}:null),r.createElement("div",{className:L.label},V.get(d.IMDB_LINK_CATEGORY).label),r.createElement(S,{className:L.icon,name:"imdb"})):null):null,c&&"string"==typeof P&&P.length>0?r.createElement("div",{className:L["description-container"]},P):null,Array.from(V.keys()).filter((function(e){return e!==d.IMDB_LINK_CATEGORY&&e!==d.SHARE_LINK_CATEGORY&&e!==d.WRITERS_LINK_CATEGORY})).map((function(e,t){return r.createElement(N,{key:t,className:L["meta-links"],label:e,links:V.get(e)})})),!c&&"string"==typeof P&&P.length>0?r.createElement("div",{className:L["description-container"]},r.createElement("div",{className:L["label-container"]},b("SUMMARY")),P):null),r.createElement("div",{className:L["action-buttons-container"]},"function"==typeof M?r.createElement(R,{className:L["action-button"],icon:W?"remove-from-library":"add-to-library",label:b(W?"REMOVE_FROM_LIB":"ADD_TO_LIB"),tooltip:c,tabIndex:c?-1:0,onClick:M}):null,"string"==typeof w?r.createElement(R,{className:L["action-button"],icon:"trailer",label:b("TRAILER"),tabIndex:c?-1:0,href:w,tooltip:c}):null,"string"==typeof H&&c?r.createElement(R,{className:_(L["action-button"],L["show-button"]),icon:"play",label:b("SHOW"),tabIndex:c?-1:0,href:H}):null,V.has(d.SHARE_LINK_CATEGORY)&&!c?r.createElement(r.Fragment,null,r.createElement(R,{className:L["action-button"],icon:"share",label:b("CTX_SHARE"),tooltip:!0,tabIndex:c?-1:0,onClick:k}),G?r.createElement(A,{title:b("CTX_SHARE"),onCloseRequest:F},r.createElement(u,{className:L["share-prompt"],url:V.get(d.SHARE_LINK_CATEGORY).href})):null):null))};p.Placeholder=m,p.propTypes={className:E.string,compact:E.bool,name:E.string,logo:E.string,background:E.string,runtime:E.string,releaseInfo:E.string,released:E.instanceOf(Date),description:E.string,deepLinks:E.shape({metaDetailsVideos:E.string,metaDetailsStreams:E.string,player:E.string}),links:E.arrayOf(E.shape({category:E.string,name:E.string,url:E.string})),trailerStreams:E.array,inLibrary:E.bool,toggleInLibrary:E.func},e.exports=p},12641:(e,t,a)=>{var o=a(67294),i=a(45697),n=a(94184),r=a(8132),E=function(e){var t=e.className;return o.createElement("div",{className:n(t,r["meta-preview-placeholder-container"])},o.createElement("div",{className:r["meta-info-container"]},o.createElement("div",{className:r["logo-container"]}),o.createElement("div",{className:r["duration-release-info-container"]},o.createElement("div",{className:r["duration-container"]}),o.createElement("div",{className:r["release-info-container"]})),o.createElement("div",{className:r["genres-container"]},o.createElement("div",{className:r["genres-header-container"]}),o.createElement("div",{className:r["genre-label-container"]})),o.createElement("div",{className:r["genres-container"]},o.createElement("div",{className:r["genres-header-container"]}),o.createElement("div",{className:r["genre-label-container"]})),o.createElement("div",{className:r["genres-container"]},o.createElement("div",{className:r["genres-header-container"]}),o.createElement("div",{className:r["genre-label-container"]}))),o.createElement("div",{className:r["action-buttons-container"]}))};E.propTypes={className:i.string},e.exports=E},74322:(e,t,a)=>{var o=a(12641);e.exports=o},73070:(e,t,a)=>{var o=a(26314);e.exports=o},78370:(e,t,a)=>{function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?o(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):o(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}var r=a(67294),E=a(59864),_=a(45697),T=a(94184),s=a(95985).default,S=a(6851),l=a(52734),I=a(13590),A=a(90411),u=a(31770),d=function(e){var t=e.className,a=e.title,o=e.catalog,n=e.message,_=e.itemComponent,A=e.notifications,d=I(),c=r.useMemo((function(){return null!=a?a:d.catalogTitle(o)}),[a,o,d.catalogTitle]),O=r.useMemo((function(){var e,t;return null!==(e=null==o?void 0:o.items)&&void 0!==e?e:null==o||null===(t=o.content)||void 0===t?void 0:t.content}),[o]),R=r.useMemo((function(){var e,t,a;return null!==(e=null==o||null===(t=o.deepLinks)||void 0===t?void 0:t.discover)&&void 0!==e?e:null==o||null===(a=o.deepLinks)||void 0===a?void 0:a.library}),[o]);return r.createElement("div",{className:T(t,u["meta-row-container"])},r.createElement("div",{className:u["header-container"]},"string"==typeof c&&c.length>0?r.createElement("div",{className:u["title-container"],title:c},c):null,R?r.createElement(S,{className:u["see-all-container"],title:d.string("BUTTON_SEE_ALL"),href:R,tabIndex:-1},r.createElement("div",{className:u.label},d.string("BUTTON_SEE_ALL")),r.createElement(s,{className:u.icon,name:"chevron-forward"})):null),"string"==typeof n&&n.length>0?r.createElement("div",{className:u["message-container"],title:n},n):r.createElement("div",{className:u["meta-items-container"]},E.isValidElementType(_)?O.slice(0,l.CATALOG_PREVIEW_SIZE).map((function(e,t){return r.createElement(_,i(i({},e),{},{key:t,className:T(u["meta-item"],u["poster-shape-poster"],u["poster-shape-".concat(e.posterShape)]),notifications:A}))})):null,Array(Math.max(0,l.CATALOG_PREVIEW_SIZE-O.length)).fill(null).map((function(e,t){return r.createElement("div",{key:t,className:T(u["meta-item"],u["poster-shape-poster"])})}))))};d.Placeholder=A,d.propTypes={className:_.string,title:_.string,message:_.string,catalog:_.shape({id:_.string,name:_.string,type:_.string,addon:_.shape({manifest:_.shape({id:_.string,name:_.string})}),content:_.shape({content:_.oneOfType([_.string,_.arrayOf(_.shape({posterShape:_.string}))])}),items:_.arrayOf(_.shape({posterShape:_.string})),deepLinks:_.shape({discover:_.string,library:_.string})}),itemComponent:_.elementType,notifications:_.object},e.exports=d},92268:(e,t,a)=>{var o=a(67294),i=a(45697),n=a(94184),r=a(81468).useTranslation,E=a(95985).default,_=a(6851),T=a(52734),s=a(35250),S=function(e){var t=e.className,a=e.title,i=e.deepLinks,S=r().t;return o.createElement("div",{className:n(t,s["meta-row-placeholder-container"])},o.createElement("div",{className:s["header-container"]},o.createElement("div",{className:s["title-container"],title:"string"==typeof a&&a.length>0?a:null},"string"==typeof a&&a.length>0?a:null),i&&"string"==typeof i.discover?o.createElement(_,{className:s["see-all-container"],title:S("BUTTON_SEE_ALL"),href:i.discover,tabIndex:-1},o.createElement("div",{className:s.label},S("BUTTON_SEE_ALL")),o.createElement(E,{className:s.icon,name:"chevron-forward"})):null),o.createElement("div",{className:s["meta-items-container"]},Array(T.CATALOG_PREVIEW_SIZE).fill(null).map((function(e,t){return o.createElement("div",{key:t,className:s["meta-item"]},o.createElement("div",{className:s["poster-container"]}),o.createElement("div",{className:s["title-bar-container"]},o.createElement("div",{className:s["title-label"]})))}))))};S.propTypes={className:i.string,title:i.string,deepLinks:i.shape({discover:i.string})},e.exports=S},90411:(e,t,a)=>{var o=a(92268);e.exports=o},39321:(e,t,a)=>{var o=a(78370);e.exports=o},98787:(e,t,a)=>{var o=["className","title","buttons","children","dataset","onCloseRequest","background"];function i(){return i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(e[o]=a[o])}return e},i.apply(this,arguments)}function n(e,t){if(null==e)return{};var a,o,i=(function(e,t){if(null==e)return{};var a,o,i={},n=Object.keys(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||(i[a]=e[a]);return i})(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}var r=a(67294),E=a(45697),_=a(94184),T=a(21665),s=T.useRouteFocused,S=T.useModalsContainer,l=a(6851),I=a(95985).default,A=a(21665).Modal,u=a(93837),d=function(e){var t=e.className,a=e.title,E=e.buttons,T=e.children,d=e.dataset,c=e.onCloseRequest,O=e.background,R=n(e,o),N=s(),m=S(),L=r.useRef(null),D=r.useCallback((function(e){"function"==typeof c&&c({type:"close",dataset:d,reactEvent:e,nativeEvent:e.nativeEvent})}),[d,c]),p=r.useCallback((function(e){e.nativeEvent.closeModalDialogPrevented||"function"!=typeof c||c({type:"close",dataset:d,reactEvent:e,nativeEvent:e.nativeEvent})}),[d,c]),h=r.useCallback((function(e){e.nativeEvent.closeModalDialogPrevented=!0}),[]);return r.useEffect((function(){var e=function(e){"Escape"===e.code&&m.childNodes[m.childElementCount-2]===L.current&&"function"==typeof c&&c({type:"close",dataset:d,nativeEvent:e})};return N&&window.addEventListener("keydown",e),function(){window.removeEventListener("keydown",e)}}),[N,d,c]),r.createElement(A,i({ref:L},R,{className:_(t,u["modal-container"]),onMouseDown:p}),r.createElement("div",{className:u["modal-dialog-container"],onMouseDown:h},r.createElement("div",{className:u["modal-dialog-background"],style:{backgroundImage:"url('".concat(O,"')")}}),r.createElement(l,{className:u["close-button-container"],title:"Close",onClick:D},r.createElement(I,{className:u.icon,name:"close"})),r.createElement("div",{className:u["modal-dialog-content"]},"string"==typeof a&&a.length>0?r.createElement("div",{className:u["title-container"],title:a},a):null,r.createElement("div",{className:u["body-container"]},T),Array.isArray(E)&&E.length>0?r.createElement("div",{className:u["buttons-container"]},E.map((function(e,t){var a=e.className,o=e.label,n=e.icon,E=e.props;return r.createElement(l,i({title:o},E,{key:t,className:_(a,u["action-button"])}),"string"==typeof n&&n.length>0?r.createElement(I,{className:u.icon,name:n}):null,"string"==typeof o&&o.length>0?r.createElement("div",{className:u.label},o):null)}))):null)))};d.propTypes={className:E.string,title:E.string,background:E.string,buttons:E.arrayOf(E.shape({className:E.string,label:E.string,icon:E.string,props:E.object})),children:E.oneOfType([E.arrayOf(E.node),E.node]),dataset:E.object,onCloseRequest:E.func},e.exports=d},58253:(e,t,a)=>{var o=a(98787);e.exports=o},82035:(e,t,a)=>{var o=["className","mode","direction","title","disabled","dataset","renderLabelContent","renderLabelText","onOpen","onClose","onSelect"],i=["children","className"];function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function r(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?n(Object(a),!0).forEach((function(t){E(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):n(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function E(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function _(){return _=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(e[o]=a[o])}return e},_.apply(this,arguments)}function T(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return s(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return s(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}function S(e,t){if(null==e)return{};var a,o,i=(function(e,t){if(null==e)return{};var a,o,i={},n=Object.keys(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||(i[a]=e[a]);return i})(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}var l=a(67294),I=a(45697),A=a(94184),u=a(95985).default,d=a(6851),c=a(9418),O=a(58253),R=a(74024),N=a(84629),m=function(e){var t=e.className,a=e.mode,n=e.direction,E=e.title,s=e.disabled,I=e.dataset,m=e.renderLabelContent,L=e.renderLabelText,D=e.onOpen,p=e.onClose,h=e.onSelect,C=S(e,o),f=T(R(!1),4),B=f[0],P=f[2],g=f[3],v=l.useMemo((function(){return Array.isArray(C.options)?C.options.filter((function(e){return e&&("string"==typeof e.value||null===e.value)})):[]}),[C.options]),y=l.useMemo((function(){return Array.isArray(C.selected)?C.selected.filter((function(e){return"string"==typeof e||null===e})):[]}),[C.selected]),W=l.useCallback((function(e){"function"==typeof C.onClick&&C.onClick(e),e.nativeEvent.toggleMenuPrevented||g()}),[C.onClick,g]),M=l.useCallback((function(e){e.nativeEvent.toggleMenuPrevented=!0}),[]),b=l.useCallback((function(e){e.nativeEvent.buttonClickPrevented=!0}),[]),U=l.useCallback((function(e){"function"==typeof h&&h({type:"select",value:e.currentTarget.dataset.value,reactEvent:e,nativeEvent:e.nativeEvent,dataset:I}),e.nativeEvent.closeMenuPrevented||P()}),[I,h]),G=l.useRef(!1);l.useLayoutEffect((function(){G.current&&(B?"function"==typeof D&&D({type:"open",dataset:I}):"function"==typeof p&&p({type:"close",dataset:I})),G.current=!0}),[B]);var k=l.useCallback((function(e){var t=e.children,a=e.className,o=S(e,i);return l.createElement(d,_({},o,{className:A(a,N["label-container"],{active:B}),title:E,disabled:s,onClick:W}),"function"==typeof m?m():l.createElement(l.Fragment,null,l.createElement("div",{className:N.label},"function"==typeof L?L():y.length>0?y.map((function(e){var t=v.find((function(t){return t.value===e}));return t&&"string"==typeof t.label?t.label:e})).join(", "):E),l.createElement(u,{className:N.icon,name:"caret-down"})),t)}),[B,E,s,v,y,W,m,L]),F=l.useCallback((function(){return l.createElement("div",{className:N["menu-container"],onKeyDown:b,onClick:M},v.length>0?v.map((function(e){var t=e.label,a=e.title,o=e.value;return l.createElement(d,{key:o,className:A(N["option-container"],{selected:y.includes(o)}),title:"string"==typeof a?a:"string"==typeof t?t:o,"data-value":o,onClick:U},l.createElement("div",{className:N.label},"string"==typeof t?t:o),l.createElement("div",{className:N.icon}))})):l.createElement("div",{className:N["no-options-container"]},l.createElement("div",{className:N.label},"No options available")))}),[v,y,b,M,U]),V=l.useMemo((function(){return function(e){return k(r(r(r({},e),C),{},{className:A(t,e.className)}))}}),[C,t,k]);return"modal"===a?k(r(r({},C),{},{className:t,children:B?l.createElement(O,{className:N["modal-container"],title:E,onCloseRequest:P,onKeyDown:b,onClick:M},F()):null})):l.createElement(c,{open:B,direction:n,onCloseRequest:P,renderLabel:V,renderMenu:F})};m.propTypes={className:I.string,mode:I.oneOf(["popup","modal"]),direction:I.any,title:I.string,options:I.arrayOf(I.shape({value:I.string,title:I.string,label:I.string})),selected:I.arrayOf(I.string),disabled:I.bool,dataset:I.object,renderLabelContent:I.func,renderLabelText:I.func,onOpen:I.func,onClose:I.func,onSelect:I.func,onClick:I.func},e.exports=m},53981:(e,t,a)=>{var o=a(82035);e.exports=o},46934:(e,t,a)=>{var o=["className","route","query","title","backButton","searchBar","addonsButton","fullscreenButton","navMenu"];function i(){return i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(e[o]=a[o])}return e},i.apply(this,arguments)}function n(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return r(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return r(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}function E(e,t){if(null==e)return{};var a,o,i=(function(e,t){if(null==e)return{};var a,o,i={},n=Object.keys(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||(i[a]=e[a]);return i})(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}var _=a(67294),T=a(45697),s=a(94184),S=a(95985).default,l=a(6851),I=a(29872),A=a(88489),u=a(43224),d=a(75430),c=a(70923),O=a(88287),R=a(96073).t,N=_.memo((function(e){var t=e.className,r=e.route,T=e.query,N=e.title,m=e.backButton,L=e.searchBar,D=e.addonsButton,p=e.fullscreenButton,h=e.navMenu,C=E(e,o),f=_.useCallback((function(){window.history.back()}),[]),B=n(A(),3),P=B[0],g=B[1],v=B[2],y=n(u(),1)[0],W=_.useCallback((function(e){var t=e.ref,a=e.className,o=e.onClick,i=e.children;return _.createElement(l,{ref:t,className:s(a,O["button-container"],O["menu-button-container"]),tabIndex:-1,onClick:o},_.createElement(S,{className:O.icon,name:"person-outline"}),i)}),[]);return _.createElement("nav",i({},C,{className:s(t,O["horizontal-nav-bar-container"])}),m?_.createElement(l,{className:s(O["button-container"],O["back-button-container"]),tabIndex:-1,onClick:f},_.createElement(S,{className:O.icon,name:"chevron-back"})):_.createElement("div",{className:O["logo-container"]},_.createElement(I,{className:O.logo,src:a(35313),alt:" "})),"string"==typeof N&&N.length>0?_.createElement("h2",{className:O.title},N):null,L&&"addons"!==r?_.createElement(d,{className:O["search-bar"],query:T,active:"search"===r}):null,_.createElement("div",{className:O["buttons-container"]},D?_.createElement(l,{className:O["button-container"],href:"#/addons",title:R("ADDONS"),tabIndex:-1},_.createElement(S,{className:O.icon,name:"addons-outline"})):null,!y&&p?_.createElement(l,{className:O["button-container"],title:R(P?"EXIT_FULLSCREEN":"ENTER_FULLSCREEN"),tabIndex:-1,onClick:P?v:g},_.createElement(S,{className:O.icon,name:P?"minimize":"maximize"})):null,h?_.createElement(c,{renderLabel:W}):null))}));N.displayName="HorizontalNavBar",N.propTypes={className:T.string,route:T.string,query:T.string,title:T.string,backButton:T.bool,searchBar:T.bool,addonsButton:T.bool,fullscreenButton:T.bool,navMenu:T.bool},e.exports=N},21229:(e,t,a)=>{function o(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return i(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return i(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var n=a(67294),r=a(45697),E=a(94184),_=a(21665).useRouteFocused,T=a(9418),s=a(74024),S=a(6856),l=a(41757),I=function(e){var t=_(),a=o(s(!1),4),i=a[0],r=a[2],I=a[3],A=n.useCallback((function(e){e.nativeEvent.togglePopupPrevented||I()}),[I]),u=n.useCallback((function(e){e.nativeEvent.togglePopupPrevented=!0}),[]),d=n.useMemo((function(){return function(t){var a=t.ref,o=t.className,n=t.children;return e.renderLabel({ref:a,className:E(o,{active:i}),onClick:A,children:n})}}),[i,A,e.renderLabel]),c=n.useCallback((function(){return n.createElement(S,{onClick:u})}),[]);return n.useEffect((function(){t||r()}),[t]),n.createElement(T,{open:i,direction:"bottom-left",onCloseRequest:r,renderLabel:d,renderMenu:c,className:l["nav-menu-popup-label"]})};I.propTypes={renderLabel:r.func},e.exports=I},6856:(e,t,a)=>{function o(e,t,a,o,i,n,r){try{var E=e[n](r),_=E.value}catch(e){return void a(e)}E.done?t(_):Promise.resolve(_).then(o,i)}function i(e){return function(){var t=this,a=arguments;return new Promise((function(i,n){var r=e.apply(t,a);function E(e){o(r,i,n,E,_,"next",e)}function _(e){o(r,i,n,E,_,"throw",e)}E(void 0)}))}}function n(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return r(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return r(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var E=a(67294),_=a(45697),T=a(94184),s=a(81468).useTranslation,S=a(95985).default,l=a(63662).useServices,I=a(6851),A=a(88489),u=a(50552),d=a(43224),c=a(91657),O=a(36672).withCoreSuspender,R=a(41757),N=function(e){var t=e.onClick,o=s().t,r=l().core,_=u(),O=c().createTorrentFromMagnet,N=n(A(),3),m=N[0],L=N[1],D=N[2],p=n(d(),2),h=p[0],C=p[1],f=E.useCallback((function(){r.transport.dispatch({action:"Ctx",args:{action:"Logout"}})}),[]),B=E.useCallback(i(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,navigator.clipboard.readText();case 3:t=e.sent,O(t),e.next=10;break;case 7:e.prev=7,e.t0=e.catch(0),console.error(e.t0);case 10:case"end":return e.stop()}}),e,null,[[0,7]])}))),[]);return E.createElement("div",{className:T(R["nav-menu-container"],"animation-fade-in"),onClick:t},E.createElement("div",{className:R["user-info-container"]},E.createElement("div",{className:R["avatar-container"],style:{backgroundImage:null===_.auth?"url('".concat(a(93028),"')"):_.auth.user.avatar?"url('".concat(_.auth.user.avatar,"')"):"url('".concat(a(11251),"')")}}),E.createElement("div",{className:R["user-info-details"]},E.createElement("div",{className:R["email-container"]},E.createElement("div",{className:R["email-label"]},null===_.auth?o("ANONYMOUS_USER"):_.auth.user.email)),E.createElement(I,{className:R["logout-button-container"],title:null===_.auth?"".concat(o("LOG_IN")," / ").concat(o("SIGN_UP")):o("LOG_OUT"),href:null===_.auth?"#/intro":null,onClick:null!==_.auth?f:null},E.createElement("div",{className:R["logout-label"]},null===_.auth?"".concat(o("LOG_IN")," / ").concat(o("SIGN_UP")):o("LOG_OUT"))))),h||C?null:E.createElement("div",{className:R["nav-menu-section"]},E.createElement(I,{className:R["nav-menu-option-container"],title:o(m?"EXIT_FULLSCREEN":"ENTER_FULLSCREEN"),onClick:m?D:L},E.createElement(S,{className:R.icon,name:m?"minimize":"maximize"}),E.createElement("div",{className:R["nav-menu-option-label"]},o(m?"EXIT_FULLSCREEN":"ENTER_FULLSCREEN")))),E.createElement("div",{className:R["nav-menu-section"]},E.createElement(I,{className:R["nav-menu-option-container"],title:o("SETTINGS"),href:"#/settings"},E.createElement(S,{className:R.icon,name:"settings"}),E.createElement("div",{className:R["nav-menu-option-label"]},o("SETTINGS"))),E.createElement(I,{className:R["nav-menu-option-container"],title:o("ADDONS"),href:"#/addons"},E.createElement(S,{className:R.icon,name:"addons-outline"}),E.createElement("div",{className:R["nav-menu-option-label"]},o("ADDONS"))),E.createElement(I,{className:R["nav-menu-option-container"],title:o("PLAY_URL_MAGNET_LINK"),onClick:B},E.createElement(S,{className:R.icon,name:"magnet-link"}),E.createElement("div",{className:R["nav-menu-option-label"]},o("PLAY_URL_MAGNET_LINK"))),E.createElement(I,{className:R["nav-menu-option-container"],title:o("HELP_FEEDBACK"),href:"https://stremio.zendesk.com/",target:"_blank"},E.createElement(S,{className:R.icon,name:"help"}),E.createElement("div",{className:R["nav-menu-option-label"]},o("HELP_FEEDBACK")))),E.createElement("div",{className:R["nav-menu-section"]},E.createElement(I,{className:R["nav-menu-option-container"],title:o("TERMS_OF_SERVICE"),href:"https://www.stremio.com/tos",target:"_blank"},E.createElement("div",{className:R["nav-menu-option-label"]},o("TERMS_OF_SERVICE"))),E.createElement(I,{className:R["nav-menu-option-container"],title:o("PRIVACY_POLICY"),href:"https://www.stremio.com/privacy",target:"_blank"},E.createElement("div",{className:R["nav-menu-option-label"]},o("PRIVACY_POLICY"))),null!==_.auth?E.createElement(I,{className:R["nav-menu-option-container"],title:o("USER_PANEL"),href:"https://www.stremio.com/acc-settings",target:"_blank"},E.createElement("div",{className:R["nav-menu-option-label"]},o("USER_PANEL"))):null))};N.propTypes={onClick:_.func};e.exports=O(N,(function(){return E.createElement("div",{className:R["nav-menu-container"]})}))},70923:(e,t,a)=>{var o=a(21229);e.exports=o},83833:(e,t,a)=>{function o(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return i(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return i(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var n=a(67294),r=a(45697),E=a(94184),_=a(91296),T=a(81468).useTranslation,s=a(95985).default,S=a(21665).useRouteFocused,l=a(6851),I=a(86230),A=a(91657),u=a(36672).withCoreSuspender,d=a(39899),c=a(55562),O=a(74461),R=a(74024),N=n.memo((function(e){var t,a,i,r,u=e.className,N=e.query,m=e.active,L=T().t,D=S(),p=d(),h=c(),C=A().createTorrentFromMagnet,f=o(R(null===N),3),B=f[0],P=f[1],g=f[2],v=o(n.useState(N||""),2),y=v[0],W=v[1],M=n.useRef(null),b=n.useRef(null),U=n.useCallback((function(){m||(window.location="#/search")}),[m]),G=n.useCallback((function(e){B&&b.current&&!b.current.contains(e.target)&&g()}),[B]);n.useEffect((function(){return document.addEventListener("mousedown",G),function(){document.removeEventListener("mousedown",G)}}),[G]);var k=n.useCallback((function(){var e=M.current.value;W(e),P();try{C(e)}catch(e){console.error("Failed to create torrent from magnet:",e)}}),[C]),F=n.useCallback((function(e){e.preventDefault();var t="/search?search=".concat(e.target.value);W(t),M.current&&t&&(window.location.hash=t,g())}),[]),V=n.useCallback((function(){M.current.value="",W(""),window.location.hash="/search"}),[]),H=n.useCallback(_((function(e){h.search(e)}),250),[]);return n.useEffect((function(){H(y)}),[y]),n.useEffect((function(){D&&m&&M.current.focus()}),[D,m]),n.useEffect((function(){return function(){H.cancel()}}),[]),n.createElement("div",{className:E(u,O["search-bar-container"],{active:m}),onClick:U,ref:b},m?n.createElement(I,{key:N,ref:M,className:O["search-input"],type:"text",placeholder:L("SEARCH_OR_PASTE_LINK"),defaultValue:N,tabIndex:-1,onChange:k,onSubmit:F,onClick:P}):n.createElement("div",{className:O["search-input"]},n.createElement("div",{className:O["placeholder-label"]},L("SEARCH_OR_PASTE_LINK"))),y.length>0?n.createElement(l,{className:O["submit-button-container"],onClick:V},n.createElement(s,{className:O.icon,name:"close"})):n.createElement(l,{className:O["submit-button-container"]},n.createElement(s,{className:O.icon,name:"search"})),B&&(null!=p&&null!==(t=p.items)&&void 0!==t&&t.length||null!=h&&null!==(a=h.items)&&void 0!==a&&a.length)?n.createElement("div",{className:O["menu-container"]},(null==p||null===(i=p.items)||void 0===i?void 0:i.length)>0?n.createElement("div",{className:O.items},n.createElement("div",{className:O.title},n.createElement("div",{className:O.label},L("STREMIO_TV_SEARCH_HISTORY_TITLE")),n.createElement("button",{className:O["search-history-clear"],onClick:p.clear},L("CLEAR_HISTORY"))),p.items.slice(0,8).map((function(e,t){var a=e.query,o=e.deepLinks;return n.createElement(l,{key:t,className:O.item,href:o.search,onClick:g},a)}))):null,null!=h&&null!==(r=h.items)&&void 0!==r&&r.length?n.createElement("div",{className:O.items},n.createElement("div",{className:O.title},n.createElement("div",{className:O.label},L("SEARCH_SUGGESTIONS"))),h.items.map((function(e,t){var a=e.query,o=e.deepLinks;return n.createElement(l,{key:t,className:O.item,href:o.search,onClick:g},a)}))):null):null)}));N.displayName="SearchBar",N.propTypes={className:r.string,query:r.string,active:r.bool};var m=function(e){var t=e.className,a=T().t;return n.createElement("label",{className:E(t,O["search-bar-container"])},n.createElement("div",{className:O["search-input"]},n.createElement("div",{className:O["placeholder-label"]},a("SEARCH_OR_PASTE_LINK"))),n.createElement(l,{className:O["submit-button-container"],tabIndex:-1},n.createElement(s,{className:O.icon,name:"search"})))};m.propTypes=N.propTypes,e.exports=u(N,m)},75430:(e,t,a)=>{var o=a(83833);e.exports=o},55562:(e,t,a)=>{var o=a(67294),i=a(63662).useServices,n=a(71535);e.exports=function(){var e=i().core,t=o.useMemo((function(){return{action:"Load",args:{model:"LocalSearch"}}}),[]);return{items:n({model:"local_search",action:t}).items,search:o.useCallback((function(t){e.transport.dispatch({action:"Search",args:{action:"Search",args:{searchQuery:t,maxResults:5}}})}),[])}}},39899:(e,t,a)=>{var o=a(67294),i=a(71535),n=a(63662).useServices;e.exports=function(){var e=n().core;return{items:i({model:"ctx"}).searchHistory,clear:o.useCallback((function(){e.transport.dispatch({action:"Ctx",args:{action:"ClearSearchHistory"}})}),[])}}},91871:(e,t,a)=>{var o=a(46934);e.exports=o},82878:(e,t,a)=>{var o=a(67294),i=a(45697),n=a(94184),r=a(95985).default,E=a(6851),_=a(29872),T=a(35916),s=function(e){var t=e.className,a=e.logo,i=e.icon,s=e.label,S=e.href,l=e.selected,I=e.onClick,A=o.useCallback((function(){return"string"==typeof i&&i.length>0?o.createElement(r,{className:T.icon,name:i}):null}),[i]);return o.createElement(E,{className:n(t,T["nav-tab-button-container"],{selected:l}),title:s,tabIndex:-1,href:S,onClick:I,onDoubleClick:function(){document.querySelectorAll("div").forEach((function(e){e.scrollTop>0&&e.scrollTo({top:0,behavior:"smooth"})}))}},"string"==typeof a&&a.length>0?o.createElement(_,{className:T.logo,src:a,alt:" ",renderFallback:A}):"string"==typeof i&&i.length>0?o.createElement(r,{className:T.icon,name:l?i:"".concat(i,"-outline")}):null,"string"==typeof s&&s.length>0?o.createElement("div",{className:T.label},s):null)};s.propTypes={className:i.string,logo:i.string,icon:i.string,label:i.string,href:i.string,selected:i.bool,onClick:i.func},e.exports=s},63908:(e,t,a)=>{var o=a(82878);e.exports=o},96063:(e,t,a)=>{var o=a(67294),i=a(45697),n=a(94184),r=a(81468).useTranslation,E=a(63908),_=a(46216),T=o.memo((function(e){var t=e.className,a=e.selected,i=e.tabs,T=r().t;return o.createElement("nav",{className:n(t,_["vertical-nav-bar-container"])},Array.isArray(i)?i.map((function(e,t){return o.createElement(E,{key:t,className:_["nav-tab-button"],selected:e.id===a,href:e.href,logo:e.logo,icon:e.icon,label:T(e.label),onClick:e.onClick})})):null)}));T.displayName="VerticalNavBar",T.propTypes={className:i.string,selected:i.string,tabs:i.arrayOf(i.shape({id:i.string,label:i.string,logo:i.string,icon:i.string,href:i.string,onClick:i.func}))},e.exports=T},29798:(e,t,a)=>{var o=a(96063);e.exports=o},11785:(e,t,a)=>{var o=a(91871),i=a(29798);e.exports={HorizontalNavBar:o,VerticalNavBar:i}},98417:(e,t,a)=>{var o=["className","label","dataset","onSelect"];function i(){return i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(e[o]=a[o])}return e},i.apply(this,arguments)}function n(e,t){if(null==e)return{};var a,o,i=(function(e,t){if(null==e)return{};var a,o,i={},n=Object.keys(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||(i[a]=e[a]);return i})(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}var r=a(67294),E=a(45697),_=a(94184),T=a(95985).default,s=a(6851),S=a(31903),l=function(e){var t=e.className,a=e.label,E=e.dataset,l=e.onSelect,I=n(e,o),A=r.useCallback((function(e){"function"==typeof l&&l({type:"change-page",value:e.currentTarget.dataset.value,dataset:E,reactEvent:e,nativeEvent:e.nativeEvent})}),[E,l]);return r.createElement("div",i({},I,{className:_(t,S["pagination-input-container"])}),r.createElement(s,{className:S["prev-button-container"],title:"Previous page","data-value":"prev",onClick:A},r.createElement(T,{className:S.icon,name:"chevron-back"})),r.createElement("div",{className:S["label-container"],title:a},r.createElement("div",{className:S.label},a)),r.createElement(s,{className:S["next-button-container"],title:"Next page","data-value":"next",onClick:A},r.createElement(T,{className:S.icon,name:"chevron-forward"})))};l.propTypes={className:E.string,label:E.string,dataset:E.object,onSelect:E.func},e.exports=l},52391:(e,t,a)=>{var o=a(98417);e.exports=o},57206:(e,t,a)=>{var o=a(67294),i=a(45697),n=a(12801),r=function(e){var t=e.className;return o.createElement("svg",{className:t,viewBox:"0 0 100 100"},o.createElement("circle",{className:n.background,cx:"50",cy:"50",r:"50"}),o.createElement("svg",{className:n.icon,x:"0",y:"25",width:"100",height:"50",viewBox:"0 0 37.14 32"},o.createElement("path",{d:"M 9.14,0 37.14,16 9.14,32 Z"})))};r.propTypes={className:i.string},e.exports=r},60926:(e,t,a)=>{var o=a(57206);e.exports=o},51804:(e,t,a)=>{var o=["open","direction","renderLabel","renderMenu","dataset","onCloseRequest"];function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function n(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?i(Object(a),!0).forEach((function(t){r(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):i(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function E(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return _(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return _(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function _(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}function T(e,t){if(null==e)return{};var a,o,i=(function(e,t){if(null==e)return{};var a,o,i={},n=Object.keys(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||(i[a]=e[a]);return i})(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}var s=a(67294),S=a(45697),l=a(94184),I=a(56413).ZP,A=a(21665).useRouteFocused,u=a(31727),d=function e(t){if(t===document.documentElement)return t;var a=window.getComputedStyle(t);return-1!==a.overflowY.indexOf("auto")||-1!==a.overflowY.indexOf("scroll")?t:e(t.parentElement)},c=function(e){var t=e.open,a=e.direction,i=e.renderLabel,_=e.renderMenu,S=e.dataset,c=e.onCloseRequest,O=T(e,o),R=A(),N=s.useRef(null),m=s.useRef(null),L=E(s.useState(null),2),D=L[0],p=L[1],h=s.useCallback((function(e){e.nativeEvent.closePopupPrevented=!0}),[]);return s.useEffect((function(){var e=function(e){if(!e.closePopupPrevented&&"function"==typeof c){var t={type:"close",nativeEvent:e,dataset:S};switch(e.type){case"keydown":"Escape"===e.code&&c(t);break;case"mousedown":case"pointerdown":e.target===document.documentElement||N.current.contains(e.target)||c(t)}}};return R&&t&&(window.addEventListener("keydown",e),window.addEventListener("mousedown",e),window.addEventListener("pointerdown",e)),function(){window.removeEventListener("keydown",e),window.removeEventListener("mousedown",e),window.removeEventListener("pointerdown",e)}}),[R,t,c,S]),s.useLayoutEffect((function(){if(t){var e=[],a=d(N.current).getBoundingClientRect(),o=N.current.getBoundingClientRect(),i=m.current.getBoundingClientRect(),n={left:o.left-a.left,top:o.top-a.top,right:a.width+a.left-(o.left+o.width),bottom:a.height+a.top-(o.top+o.height)};i.height<=n.bottom?e.push("bottom"):i.height<=n.top?e.push("top"):n.bottom>=n.top?e.push("bottom"):e.push("top"),i.width<=n.right+o.width?e.push("right"):i.width<=n.left+o.width?e.push("left"):n.right>n.left?e.push("right"):e.push("left"),p(e.join("-"))}else p(null)}),[t]),i(n(n({},O),{},{ref:N,className:l(u["label-container"],O.className,{active:t}),children:t?s.createElement(I,{ref:m,className:l(u["menu-container"],r({},u["menu-direction-".concat(D)],!a),r({},u["menu-direction-".concat(a)],a)),autoFocus:!1,lockProps:{onMouseDown:h}},_()):null}))};c.propTypes={open:S.bool,direction:S.oneOf(["top-left","bottom-left","top-right","bottom-right"]),renderLabel:S.func.isRequired,renderMenu:S.func.isRequired,dataset:S.object,onCloseRequest:S.func},e.exports=c},9418:(e,t,a)=>{var o=a(51804);e.exports=o},56182:(e,t,a)=>{var o=a(67294),i=a(45697),n=a(94184),r=a(95985).default,E=a(86230),_=a(64830),T=a(81632),s=function(e){var t=e.className,a=e.title,i=e.value,_=e.onChange;return o.createElement("label",{title:a,className:n(t,T["search-bar-container"])},o.createElement(E,{className:T["search-input"],type:"text",placeholder:a,value:i,onChange:_}),o.createElement(r,{className:T.icon,name:"search"}))};s.Placeholder=_,s.propTypes={className:i.string,title:i.string,value:i.string,onChange:i.func},e.exports=s},83994:(e,t,a)=>{var o=a(67294),i=a(45697),n=a(94184),r=a(95985).default,E=a(85451),_=function(e){var t=e.className,a=e.title;return o.createElement("div",{className:n(t,E["search-bar-container"])},o.createElement("div",{className:E["search-input"]},a),o.createElement(r,{className:E.icon,name:"search"}))};_.propTypes={className:i.string,title:i.string},e.exports=_},64830:(e,t,a)=>{var o=a(83994);e.exports=o},6798:(e,t,a)=>{var o=a(56182);e.exports=o},55005:(e,t,a)=>{var o=a(67294),i=a(45697),n=a(94184),r=a(81468).useTranslation,E=a(95985).default,_=a(21665).useRouteFocused,T=a(63662).useServices,s=a(17263),S=a(6851),l=a(86230),I=a(43486),A=function(e){var t=e.className,a=e.url,i=r().t,A=T().core,u=s(),d=o.useRef(null),c=_(),O=o.useCallback((function(){null!==d.current&&d.current.select()}),[]),R=o.useCallback((function(){null!==d.current&&(d.current.select(),document.execCommand("copy"),u.show({type:"success",title:"Copied to clipboard",timeout:3e3}))}),[]);return o.useEffect((function(){c&&null!==d.current&&d.current.select()}),[c]),o.useEffect((function(){A.transport.analytics({event:"Share",args:{url:a}})}),[a]),o.createElement("div",{className:n(t,I["share-prompt-container"])},o.createElement("div",{className:I["buttons-container"]},o.createElement(S,{className:n(I["button-container"],I["facebook-button"]),title:"Facebook",href:"https://www.facebook.com/sharer/sharer.php?u=".concat(a),target:"_blank"},o.createElement(E,{className:I.icon,name:"facebook"})),o.createElement(S,{className:n(I["button-container"],I["x-button"]),title:"X (Twitter)",href:"https://twitter.com/intent/tweet?text=".concat(a),target:"_blank"},o.createElement(E,{className:I.icon,name:"x"})),o.createElement(S,{className:n(I["button-container"],I["reddit-button"]),title:"Reddit",href:"https://www.reddit.com/submit?url=".concat(a),target:"_blank"},o.createElement(E,{className:I.icon,name:"reddit"}))),o.createElement("div",{className:I["url-container"]},o.createElement(l,{ref:d,className:I["url-text-input"],type:"text",readOnly:!0,defaultValue:a,onClick:O,tabIndex:-1}),o.createElement(S,{className:I["copy-button"],title:"Copy to clipboard",onClick:R},o.createElement(E,{className:I.icon,name:"link"}),o.createElement("div",{className:I.label},i("COPY")))))};A.propTypes={className:i.string,url:i.string},e.exports=A},89393:(e,t,a)=>{var o=a(55005);e.exports=o},34068:(e,t,a)=>{function o(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return i(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return i(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var n=a(67294),r=a(45697),E=a(94184),_=a(21665).useRouteFocused,T=a(4),s=a(47985),S=a(18305),l=function(e){var t=e.className,a=e.value,i=e.buffered,r=e.minimumValue,l=e.maximumValue,I=e.disabled,A=e.onSlide,u=e.onComplete,d=s(null===r||isNaN(r)?0:r),c=s(null===l||isNaN(l)?100:l),O=s(null===a||isNaN(a)?0:Math.min(c.current,Math.max(d.current,a))),R=s(null===i||isNaN(i)?0:Math.min(c.current,Math.max(d.current,i))),N=s(A),m=s(u),L=n.useRef(null),D=_(),p=o(T(),2),h=p[0],C=p[1],f=n.useCallback((function(e){if(null===L.current)return 0;var t=L.current.getBoundingClientRect(),a=t.x,o=t.width;return Math.min(Math.max(e-a,0),o)/o*(c.current-d.current)+d.current}),[]),B=n.useCallback((function(){window.addEventListener("blur",g),window.addEventListener("mouseup",v),window.addEventListener("mousemove",y),document.documentElement.className=E(document.documentElement.className,S["active-slider-within"])}),[]),P=n.useCallback((function(){C(),window.removeEventListener("blur",g),window.removeEventListener("mouseup",v),window.removeEventListener("mousemove",y);var e=document.documentElement.className.split(" "),t=e.indexOf(S["active-slider-within"]);-1!==t&&(e.splice(t,1),document.documentElement.className=E(e))}),[]),g=n.useCallback((function(){"function"==typeof N.current&&N.current(O.current),"function"==typeof m.current&&m.current(O.current),P()}),[]),v=n.useCallback((function(e){var t=f(e.clientX);"function"==typeof m.current&&m.current(t),P()}),[]),y=n.useCallback((function(e){h((function(){var t=f(e.clientX);"function"==typeof N.current&&N.current(t)}))}),[]),W=n.useCallback((function(e){if(0===e.button){var t=f(e.clientX);"function"==typeof N.current&&N.current(t),B()}}),[]);n.useLayoutEffect((function(){D&&!I||P()}),[D,I]),n.useLayoutEffect((function(){return function(){P()}}),[]);var M=Math.max(0,Math.min(1,(O.current-d.current)/(c.current-d.current))),b=Math.max(0,Math.min(1,(R.current-d.current)/(c.current-d.current)));return n.createElement("div",{ref:L,className:E(t,S["slider-container"],{disabled:I}),onMouseDown:W},n.createElement("div",{className:S.layer},n.createElement("div",{className:S.track})),n.createElement("div",{className:S.layer},n.createElement("div",{className:S["track-before"],style:{width:"calc(100% * ".concat(b,")")}})),n.createElement("div",{className:S.layer},n.createElement("div",{className:S["track-after"],style:{width:"calc(100% * ".concat(M,")")}})),n.createElement("div",{className:S.layer},n.createElement("div",{className:S.thumb,style:{marginLeft:"calc(100% * ".concat(M,")")}})))};l.propTypes={className:r.string,value:r.number,buffered:r.number,minimumValue:r.number,maximumValue:r.number,disabled:r.bool,onSlide:r.func,onComplete:r.func},e.exports=l},36e3:(e,t,a)=>{var o=a(34068);e.exports=o},69009:(e,t,a)=>{function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?o(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):o(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}var r=a(67294),E=a(63662).useServices,_=a(45697),T=a(94184),s=a(81468).useTranslation,S=a(6851),l=a(50552),I=a(36672).withCoreSuspender,A=a(12226),u=function(e){var t=e.className,a=s().t,o=E().core,n=l(),_=r.useCallback((function(){var e=new Date;e.setMonth(e.getMonth()+1),o.transport.dispatch({action:"Ctx",args:{action:"UpdateSettings",args:i(i({},n.settings),{},{streamingServerWarningDismissed:e})}})}),[n.settings]),I=r.useCallback((function(){var e=new Date;e.setFullYear(e.getFullYear()+50),o.transport.dispatch({action:"Ctx",args:{action:"UpdateSettings",args:i(i({},n.settings),{},{streamingServerWarningDismissed:e})}})}),[n.settings]);return!isNaN(n.settings.streamingServerWarningDismissed.getTime())&&n.settings.streamingServerWarningDismissed.getTime()>Date.now()?null:r.createElement("div",{className:T(t,A["warning-container"])},r.createElement("div",{className:A["warning-statement"]},a("SETTINGS_SERVER_UNAVAILABLE")),r.createElement("a",{href:"https://www.stremio.com/download-service",target:"_blank",rel:"noreferrer"},r.createElement(S,{className:A["warning-button"],title:a("SERVICE_INSTALL"),tabIndex:-1},r.createElement("div",{className:A["warning-label"]},a("SERVICE_INSTALL")))),r.createElement(S,{className:A["warning-button"],title:a("WARNING_STREAMING_SERVER_LATER"),onClick:_,tabIndex:-1},r.createElement("div",{className:A["warning-label"]},a("WARNING_STREAMING_SERVER_LATER"))),r.createElement(S,{className:A["warning-button"],title:a("DONT_SHOW_AGAIN"),onClick:I,tabIndex:-1},r.createElement("div",{className:A["warning-label"]},a("DONT_SHOW_AGAIN"))))};u.propTypes={className:_.string},e.exports=I(u)},60861:(e,t,a)=>{var o=a(69009);e.exports=o},31007:(e,t,a)=>{function o(){return o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(e[o]=a[o])}return e},o.apply(this,arguments)}var i=a(67294),n=a(45697),r=a(94184),E=a(15867),_=i.forwardRef((function(e,t){var a=i.useCallback((function(t){"function"==typeof e.onKeyDown&&e.onKeyDown(t),"Enter"!==t.key||t.nativeEvent.submitPrevented||"function"!=typeof e.onSubmit||e.onSubmit(t)}),[e.onKeyDown,e.onSubmit]);return i.createElement("input",o({size:1,autoCorrect:"off",autoCapitalize:"off",autoComplete:"off",spellCheck:!1,tabIndex:0},e,{ref:t,className:r(e.className,E["text-input"],{disabled:e.disabled}),onKeyDown:a}))}));_.displayName="TextInput",_.propTypes={className:n.string,disabled:n.bool,onKeyDown:n.func,onSubmit:n.func},e.exports=_},86230:(e,t,a)=>{var o=a(31007);e.exports=o},6049:(e,t,a)=>{var o=a(67294).createContext({show:function(){},clear:function(){}});o.displayName="ToastContext",e.exports=o},33345:(e,t,a)=>{var o=["title","message","dataset","onSelect","onClose"];function i(e,t){if(null==e)return{};var a,o,i=(function(e,t){if(null==e)return{};var a,o,i={},n=Object.keys(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||(i[a]=e[a]);return i})(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}var n=a(67294),r=a(45697),E=a(94184),_=a(95985).default,T=a(6851),s=a(94202),S=function(e){var t=e.title,a=e.message,r=e.dataset,S=e.onSelect,l=e.onClose,I=i(e,o),A=n.useMemo((function(){return["success","alert","info","error"].includes(I.type)?I.type:"success"}),[I.type]),u=n.useMemo((function(){return"string"==typeof I.icon?I.icon:"success"===A?"checkmark":"error"===A?"close":"info"===A?"about":null}),[A,I.icon]),d=n.useCallback((function(e){e.nativeEvent.selectToastPrevented||"function"!=typeof S||S({type:"select",dataset:r,reactEvent:e,nativeEvent:e.nativeEvent}),e.nativeEvent.closeToastPrevented||"function"!=typeof l||l({type:"close",dataset:r,reactEvent:e,nativeEvent:e.nativeEvent})}),[r,S,l]),c=n.useCallback((function(e){e.nativeEvent.selectToastPrevented=!0,"function"==typeof l&&l({type:"close",dataset:r,reactEvent:e,nativeEvent:e.nativeEvent})}),[r,l]);return n.createElement(T,{className:E(s["toast-item-container"],s[A]),tabIndex:-1,onClick:d},"string"==typeof u&&u.length>0?n.createElement("div",{className:s["icon-container"]},n.createElement(_,{className:s.icon,name:u})):null,n.createElement("div",{className:s["info-container"]},"string"==typeof t&&t.length>0?n.createElement("div",{className:s["title-container"]},t):null,"string"==typeof a&&a.length>0?n.createElement("div",{className:s["message-container"]},a):null),n.createElement(T,{className:s["close-button-container"],title:"Close",tabIndex:-1,onClick:c},n.createElement(_,{className:s.icon,name:"close"})))};S.propTypes={type:r.oneOf(["success","alert","info","error"]),title:r.string,message:r.string,icon:r.string,dataset:r.object,onSelect:r.func,onClose:r.func},e.exports=S},25008:(e,t,a)=>{var o=a(33345);e.exports=o},19076:(e,t,a)=>{function o(){return o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(e[o]=a[o])}return e},o.apply(this,arguments)}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function n(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?i(Object(a),!0).forEach((function(t){r(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):i(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function E(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return _(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return _(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function _(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var T=a(67294),s=a(45697),S=a(25008),l=a(6049),I=function(e){var t=e.className,a=e.children,i=E(T.useState(null),2),r=i[0],_=i[1],s=T.useReducer((function(e,t){switch(t.type){case"add":return e.concat(t.item);case"remove":return e.filter((function(e){return e.id!==t.id}));case"clear":return[];default:return e}}),[]),I=E(s,2),A=I[0],u=I[1],d=T.useCallback((function(e){clearTimeout(e.dataset.id),u({type:"remove",id:e.dataset.id})}),[]),c=T.useMemo((function(){var e=[];return{addFilter:function(t){e.push(t)},removeFilter:function(t){var a=e.indexOf(t);a>-1&&e.splice(a,1)},show:function(t){if(!e.some((function(e){return e(t)}))){var a="number"!=typeof t.timeout||isNaN(t.timeout)?3e3:t.timeout,o=setTimeout((function(){u({type:"remove",id:o})}),a);u({type:"add",item:n(n({},t),{},{id:o,dataset:n(n({},t.dataset),{},{id:o}),onClose:d})})}},clear:function(){u({type:"clear"})}}}),[]);return T.createElement(l.Provider,{value:c},r instanceof HTMLElement?a:null,T.createElement("div",{ref:_,className:t},A.map((function(e,t){return T.createElement(S,o({key:t},e))}))))};I.propTypes={className:s.string,children:s.node},e.exports=I},20018:(e,t,a)=>{var o=a(19076),i=a(17263);e.exports={ToastProvider:o,useToast:i}},17263:(e,t,a)=>{var o=a(67294),i=a(6049);e.exports=function(){return o.useContext(i)}},36014:(e,t,a)=>{var o=a(67294),i=a(45697),n=a(10152),r=a(90729),E=function(e){var t=e.label,a=e.position,i=e.margin,E=void 0===i?15:i,_=n(),T=o.useRef((Math.random()+1).toString(36).substring(7)),s=o.useRef(null),S=function(){_.update(T.current,{active:!0})},l=function(){_.update(T.current,{active:!1})};return o.useEffect((function(){_.update(T.current,{label:t})}),[t]),o.useLayoutEffect((function(){if(s.current&&s.current.parentElement){var e=s.current.parentElement;_.add({id:T.current,label:t,position:a,margin:E,parent:e}),e.addEventListener("mouseenter",S),e.addEventListener("mouseleave",l)}return function(){if(s.current&&s.current.parentElement){var e=s.current.parentElement;e.removeEventListener("mouseenter",S),e.removeEventListener("mouseleave",l),_.remove(T.current)}}}),[]),o.createElement("div",{ref:s,className:r["tooltip-placeholder"]})};E.propTypes={label:i.string.isRequired,position:i.string.isRequired,margin:i.number},e.exports=E},79410:(e,t,a)=>{var o=a(36014);e.exports=o},5494:(e,t,a)=>{var o=(0,a(67294).createContext)(null);e.exports=o},12508:(e,t,a)=>{function o(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return i(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return i(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var n=a(67294),r=a(45697),E=a(94184),_=a(2980),T=n.memo((function(e){var t=e.className,a=e.active,i=e.label,r=e.position,T=e.margin,s=e.parent,S=n.useRef(null),l=o(n.useState(null),2),I=l[0],A=l[1],u=n.useCallback((function(){a||A(null)}),[a]);return n.useEffect((function(){if(!S.current)return A(null);var e=S.current.getBoundingClientRect(),t=s.getBoundingClientRect();switch(r){case"top":return A({top:"".concat(t.top-e.height-T,"px"),left:"".concat(t.left+t.width/2-e.width/2,"px")});case"bottom":return A({top:"".concat(t.top+t.height+T,"px"),left:"".concat(t.left+t.width/2-e.width/2,"px")});case"left":return A({top:"".concat(t.top+t.height/2-e.height/2,"px"),left:"".concat(t.left-e.width-T,"px")});case"right":return A({top:"".concat(t.top+t.height/2-e.height/2,"px"),left:"".concat(t.left+t.width+T,"px")})}}),[a,r,T,s,i]),n.createElement("div",{ref:S,className:E(t,_["tooltip-item"],{active:a}),style:I,onTransitionEnd:u},i)}));T.displayName="TooltipItem",T.propTypes={className:r.string,active:r.bool,label:r.string,position:r.string,margin:r.number,parent:r.instanceOf(HTMLElement)},e.exports=T},97754:(e,t,a)=>{var o=a(12508);e.exports=o},67169:(e,t,a)=>{var o=["id"];function i(){return i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(e[o]=a[o])}return e},i.apply(this,arguments)}function n(e,t){if(null==e)return{};var a,o,i=(function(e,t){if(null==e)return{};var a,o,i={},n=Object.keys(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||(i[a]=e[a]);return i})(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}function r(e){return(function(e){if(Array.isArray(e))return l(e)})(e)||(function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)})(e)||S(e)||(function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function E(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function _(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?E(Object(a),!0).forEach((function(t){T(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):E(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function T(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function s(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||S(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function S(e,t){if(e){if("string"==typeof e)return l(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?l(e,t):void 0}}function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var I=a(67294),A=a(45697),u=a(5494),d=a(97754),c=function(e){var t=e.children,a=e.className,E=s(I.useState([]),2),T=E[0],S=E[1];return I.createElement(u.Provider,{value:{add:function(e){var t=_(_({},e),{},{active:!1});S((function(e){return[].concat(r(e),[t])}))},remove:function(e){S((function(t){return t.filter((function(t){return t.id!==e}))}))},update:function(e,t){S((function(a){return a.map((function(a){return a.id===e&&(a=_(_({},a),t)),a}))}))}}},t,I.createElement("div",{className:"tooltips-items-container"},T.map((function(e){var t=e.id,r=n(e,o);return I.createElement(d,i({key:t,className:a},r))}))))};c.propTypes={children:A.node,className:A.string},e.exports=c},37541:(e,t,a)=>{var o=a(67169),i=a(79410);e.exports={TooltipProvider:o,Tooltip:i}},10152:(e,t,a)=>{var o=a(67294),i=a(5494);e.exports=function(){return o.useContext(i)}},69309:e=>{e.exports=function(e){return function(t,a){return isNaN(e[t])&&isNaN(e[a])?t.localeCompare(a):isNaN(e[t])?e[a]===Number.NEGATIVE_INFINITY?-1:1:isNaN(e[a])?e[t]===Number.NEGATIVE_INFINITY?1:-1:e[a]-e[t]}}},9324:e=>{e.exports=function(e){return Array.from(e.children).reduce((function(t,a,o){return(function(e,t){var a=t.offsetTop,o=t.offsetTop+t.clientHeight,i=e.scrollTop,n=e.scrollTop+e.clientHeight;return a>=i&&o<=n||a<i&&i<o||a<n&&n<o})(e,a)&&(null===t?t={start:o,end:o}:t.end=o),t}),null)}},86590:(e,t,a)=>{var o=a(58512),i=a(6851),n=a(49666),r=a(64853).default,E=a(28809),_=a(63418),T=a(8006),s=a(29872),S=a(35748),l=a(11297),I=a(98277),A=a(73070),u=a(39321),d=a(58253),c=a(53981),O=a(21081).default,R=a(11785),N=R.HorizontalNavBar,m=R.VerticalNavBar,L=a(52391),D=a(85169),p=D.PlatformProvider,h=D.usePlatform,C=a(60926),f=a(9418),B=a(6798),P=a(60861),g=a(89393),v=a(36e3),y=a(86230),W=a(20018),M=W.ToastProvider,b=W.useToast,U=a(37541),G=U.TooltipProvider,k=U.Tooltip,F=a(69309),V=a(52734),H=a(36672),w=H.withCoreSuspender,Y=H.useCoreSuspender,z=a(9324),K=a(75232),x=a(68832),j=a(68803),Q=a(4),X=a(74024),$=a(88489),q=a(47985),J=a(71535),Z=a(7049),ee=a(83760),te=a(50552),ae=a(30432),oe=a(91657),ie=a(13590),ne=a(50586);e.exports={AddonDetailsModal:o,Button:i,Checkbox:n,Chips:r,ColorInput:E,ContinueWatchingItem:_,DelayedRenderer:T,Image:s,LibItem:S,MainNavBars:l,MetaItem:I,MetaPreview:A,MetaRow:u,ModalDialog:d,Multiselect:c,MultiselectMenu:O,HorizontalNavBar:N,VerticalNavBar:m,PaginationInput:L,PlatformProvider:p,usePlatform:h,PlayIconCircleCentered:C,Popup:f,SearchBar:B,StreamingServerWarning:P,SharePrompt:g,Slider:v,TextInput:y,ToastProvider:M,useToast:b,TooltipProvider:G,Tooltip:k,comparatorWithPriorities:F,CONSTANTS:V,withCoreSuspender:w,useCoreSuspender:Y,getVisibleChildrenRange:z,interfaceLanguages:K,languageNames:x,routesRegexp:j,useAnimationFrame:Q,useBinaryState:X,useFullscreen:$,useLiveRef:q,useModelState:J,useNotifications:Z,useOnScrollToBottom:ee,useProfile:te,useStreamingServer:ae,useTorrent:oe,useTranslate:ie,EventModal:ne}},68803:e=>{e.exports={intro:{regexp:/^\/intro$/,urlParamsNames:[]},board:{regexp:/^\/?$/,urlParamsNames:[]},discover:{regexp:/^\/discover(?:\/([^/]*)\/([^/]*)\/([^/]*))?$/,urlParamsNames:["transportUrl","type","catalogId"]},library:{regexp:/^\/library(?:\/([^/]*))?$/,urlParamsNames:["type"]},continuewatching:{regexp:/^\/continuewatching(?:\/([^/]*))?$/,urlParamsNames:["type"]},search:{regexp:/^\/search$/,urlParamsNames:[]},metadetails:{regexp:/^\/(?:metadetails|detail)\/([^/]*)\/([^/]*)(?:\/([^/]*))?$/,urlParamsNames:["type","id","videoId"]},addons:{regexp:/^\/addons(?:\/([^/]*)(?:\/([^/]*)\/([^/]*))?)?$/,urlParamsNames:["type","transportUrl","catalogId"]},settings:{regexp:/^\/settings$/,urlParamsNames:[]},player:{regexp:/^\/player\/([^/]*)(?:\/([^/]*)\/([^/]*)\/([^/]*)\/([^/]*)\/([^/]*))?$/,urlParamsNames:["stream","streamTransportUrl","metaTransportUrl","type","id","videoId"]}}},4:(e,t,a)=>{var o=a(67294);e.exports=function(){var e=o.useRef(null),t=o.useCallback((function(){cancelAnimationFrame(e.current),e.current=null}),[]);return[o.useCallback((function(a){t(),e.current=requestAnimationFrame((function(){a(),e.current=null}))}),[]),t]}},74024:(e,t,a)=>{function o(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return i(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return i(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var n=a(67294);e.exports=function(e){var t=o(n.useState(!!e),2),a=t[0],i=t[1],r=n.useCallback((function(){i(!0)}),[]),E=n.useCallback((function(){i(!1)}),[]),_=n.useCallback((function(){i(!a)}),[a]);return[a,r,E,_]}},88489:(e,t,a)=>{function o(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return i(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return i(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var n=a(67294);e.exports=function(){var e=o(n.useState(document.fullscreenElement===document.documentElement),2),t=e[0],a=e[1],i=n.useCallback((function(){document.documentElement.requestFullscreen()}),[]),r=n.useCallback((function(){document.exitFullscreen()}),[]),E=n.useCallback((function(){t?r():i()}),[t]);return n.useEffect((function(){var e=function(){a(document.fullscreenElement===document.documentElement)};return document.addEventListener("fullscreenchange",e),function(){document.removeEventListener("fullscreenchange",e)}}),[]),[t,i,r,E]}},47985:(e,t,a)=>{var o=a(67294);e.exports=function(e){var t=o.useRef();return t.current=e,t}},71535:(e,t,a)=>{var o=["action"];function i(e,t,a,o,i,n,r){try{var E=e[n](r),_=E.value}catch(e){return void a(e)}E.done?t(_):Promise.resolve(_).then(o,i)}function n(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return r(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return r(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}function E(e,t){if(null==e)return{};var a,o,i=(function(e,t){if(null==e)return{};var a,o,i={},n=Object.keys(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||(i[a]=e[a]);return i})(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}var _=a(67294),T=a(93096),s=a(72307),S=a(20394),l=a(36672).useCoreSuspender,I=a(21665).useRouteFocused,A=a(63662).useServices;e.exports=function(e){var t=e.action,a=E(e,o),r=A().core,u=I(),d=_.useRef(!1),c=n(_.useMemo((function(){return[a.model,a.timeout,a.map,a.deps]}),[]),4),O=c[0],R=c[1],N=c[2],m=c[3],L=l().getState,D=n(_.useReducer((function(e,t){return Object.keys(e).reduce((function(a,o){return a[o]=s(e[o],t[o])?e[o]:t[o],a}),{})}),void 0,(function(){return"function"==typeof N?N(L(O)):L(O)})),2),p=D[0],h=D[1];return _.useInsertionEffect((function(){t&&r.transport.dispatch(t,O)}),[t]),_.useInsertionEffect((function(){return function(){r.transport.dispatch({action:"Unload"},O)}}),[]),_.useInsertionEffect((function(){var e=(function(){var e,t=(e=regeneratorRuntime.mark((function e(t){var a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(-1!==t.indexOf(O)||Array.isArray(m)&&0!==S(m,t).length){e.next=2;break}return e.abrupt("return");case 2:return e.next=4,r.transport.getState(O);case 4:a=e.sent,h("function"==typeof N?N(a):a);case 6:case"end":return e.stop()}}),e)})),function(){var t=this,a=arguments;return new Promise((function(o,n){var r=e.apply(t,a);function E(e){i(r,o,n,E,_,"next",e)}function _(e){i(r,o,n,E,_,"throw",e)}E(void 0)}))});return function(e){return t.apply(this,arguments)}})(),t=T(e,R);return u&&(r.transport.on("NewState",t),d.current&&e([O])),function(){t.cancel(),r.transport.off("NewState",t)}}),[u]),_.useInsertionEffect((function(){d.current=!0}),[]),p}},7049:(e,t,a)=>{var o=a(71535),i=function(e){return e.notifications};e.exports=function(){return o({model:"ctx",map:i})}},83760:(e,t,a)=>{var o=a(67294);e.exports=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,a=o.useRef(!1),i=o.useCallback((function(o){o.target.scrollTop+o.target.clientHeight>=o.target.scrollHeight-t?a.current||(a.current=!0,"function"==typeof e&&e(o)):a.current=!1}),[e]);return i}},43224:(e,t,a)=>{var o=a(67294);e.exports=function(){return o.useMemo((function(){return[window.navigator.standalone,window.matchMedia("(display-mode: standalone)").matches]}),[])}},50552:(e,t,a)=>{function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?o(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):o(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}var r=a(71535),E=function(e){return i(i({},e.profile),{},{settings:i(i({},e.profile.settings),{},{streamingServerWarningDismissed:new Date("string"==typeof e.profile.settings.streamingServerWarningDismissed?e.profile.settings.streamingServerWarningDismissed:NaN)})})};e.exports=function(){return r({model:"ctx",map:E})}},30432:(e,t,a)=>{var o=a(71535);e.exports=function(){return o({model:"streaming_server"})}},91657:(e,t,a)=>{function o(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return i(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return i(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var n=a(67294),r=a(49566),E=a(63662).useServices,_=a(17263),T=a(30432);e.exports=function(){var e=E().core,t=T(),a=_(),i=n.useRef(null),s=n.useCallback((function(t){var o=r.decode(t);o&&"string"==typeof o.infoHash&&(e.transport.dispatch({action:"StreamingServer",args:{action:"CreateTorrent",args:t}}),clearTimeout(i.current),i.current=setTimeout((function(){a.show({type:"error",title:"It's taking a long time to get metadata from the torrent.",timeout:1e4})}),1e4))}),[]);return n.useEffect((function(){null!==t.torrent&&("Ready"===o(t.torrent,2)[1].type&&clearTimeout(i.current))}),[t.torrent]),n.useEffect((function(){return function(){return clearTimeout(i.current)}}),[]),{createTorrentFromMagnet:s}}},13590:(e,t,a)=>{var o=a(67294).useCallback,i=a(81468).useTranslation;e.exports=function(){var e=i().t,t=o((function(t){return e(t)}),[e]),a=o((function(t,a){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i="".concat(a).concat(t),n=null!=o?o:t.charAt(0).toUpperCase()+t.slice(1);return e(i,{defaultValue:n})}),[e]),n=o((function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.addon,o=e.id,i=e.name,n=e.type,r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(t&&o&&i){var E="".concat(t.manifest.id.split(".").join("_"),"_").concat(o),_=a(E,"CATALOG_",i);if(n&&r){var T=a(n,"TYPE_");return"".concat(_," - ").concat(T)}return _}return null}),[a]);return{string:t,stringWithPrefix:a,catalogTitle:n}}},49900:(e,t,a)=>{var o=["className","autoFocus","disabled","children"];function i(e,t){if(null==e)return{};var a,o,i=(function(e,t){if(null==e)return{};var a,o,i={},n=Object.keys(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||(i[a]=e[a]);return i})(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}var n=a(67294),r=a(73935),E=a(45697),_=a(94184),T=a(56413).ZP,s=a(98795).useModalsContainer,S=n.forwardRef((function(e,t){var a=e.className,E=e.autoFocus,S=e.disabled,l=e.children,I=i(e,o),A=s();return r.createPortal(n.createElement(T,{ref:t,className:_(a,"modal-container"),autoFocus:!!E,disabled:!!S,lockProps:I},l),A)}));S.displayName="Modal",S.propTypes={className:E.string,autoFocus:E.bool,disabled:E.bool,children:E.node},e.exports=S},65717:(e,t,a)=>{var o=a(49900);e.exports=o},57033:(e,t,a)=>{var o=a(67294).createContext(null);o.displayName="ModalsContainerContext",e.exports=o},50115:(e,t,a)=>{function o(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return i(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return i(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var n=a(67294),r=a(45697),E=a(57033),_=function(e){var t=e.children,a=o(n.useState(null),2),i=a[0],r=a[1];return n.createElement(E.Provider,{value:i},i instanceof HTMLElement?t:null,n.createElement("div",{ref:r,className:"modals-container"}))};_.propTypes={children:r.node},e.exports=_},98795:(e,t,a)=>{var o=a(50115),i=a(94163);e.exports={ModalsContainerProvider:o,useModalsContainer:i}},94163:(e,t,a)=>{var o=a(67294),i=a(57033);e.exports=function(){return o.useContext(i)}},59314:(e,t,a)=>{var o=a(67294),i=a(45697),n=a(98795).ModalsContainerProvider,r=function(e){var t=e.children;return o.createElement("div",{className:"route-container"},o.createElement(n,null,o.createElement("div",{className:"route-content"},t)))};r.propTypes={children:i.node},e.exports=r},4777:(e,t,a)=>{var o=a(59314);e.exports=o},9010:(e,t,a)=>{var o=a(67294).createContext(!0);o.displayName="RouteFocusedContext",e.exports=o},16267:(e,t,a)=>{var o=a(9010),i=a(71517);e.exports={RouteFocusedProvider:o.Provider,useRouteFocused:i}},71517:(e,t,a)=>{var o=a(67294),i=a(9010);e.exports=function(){return o.useContext(i)}},88968:(e,t,a)=>{var o=["className","onPathNotMatch","onRouteChange"];function i(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return n(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return n(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function n(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}function r(e,t){if(null==e)return{};var a,o,i=(function(e,t){if(null==e)return{};var a,o,i={},n=Object.keys(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||(i[a]=e[a]);return i})(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}var E=a(67294),_=a(59864),T=a(45697),s=a(94184),S=a(8575),l=a(72307),I=a(16267).RouteFocusedProvider,A=a(4777),u=a(33295),d=a(10598),c=function(e){var t=e.className,a=e.onPathNotMatch,n=e.onRouteChange,T=r(e,o),c=E.useMemo((function(){return T.viewsConfig}),[]),O=i(E.useState((function(){return Array(c.length).fill(null)})),2),R=O[0],N=O[1];return E.useLayoutEffect((function(){var e=function(){var e=S.parse(window.location.hash.slice(1)),t=e.pathname,o=e.query,i=new URLSearchParams("string"==typeof o?o:""),r=u(c,"string"==typeof t?t:"");if(null!==r){var E=d(r,"string"==typeof t?t:""),T=c.findIndex((function(e){return e.includes(r)})),s=c[T].findIndex((function(e){return e===r}));"function"==typeof n&&n(r,E,i)||N((function(e){return e.slice(0,c.length).map((function(e,t){return t<T?e:t===T?{key:"".concat(T).concat(s),component:r.component,urlParams:null!==e&&l(e.urlParams,E)?e.urlParams:E,queryParams:null!==e&&l(Array.from(e.queryParams.entries()),Array.from(i.entries()))?e.queryParams:i}:null}))}))}else if("function"==typeof a){var I=a();_.isValidElementType(I)&&N((function(e){return e.slice(0,c.length).concat({key:"-1",component:I})}))}};return window.addEventListener("hashchange",e),e(),function(){window.removeEventListener("hashchange",e)}}),[a,n]),E.createElement("div",{className:s(t,"routes-container")},R.filter((function(e){return null!==e})).map((function(e,t,a){var o=e.key,i=e.component,n=e.urlParams,r=e.queryParams;return E.createElement(I,{key:o,value:t===a.length-1},E.createElement(A,null,E.createElement(i,{urlParams:n,queryParams:r})))})))};c.propTypes={className:T.string,onPathNotMatch:T.func,onRouteChange:T.func,viewsConfig:T.arrayOf(T.arrayOf(T.exact({regexp:T.instanceOf(RegExp).isRequired,urlParamsNames:T.arrayOf(T.string).isRequired,component:T.elementType.isRequired}))).isRequired},e.exports=c},16013:(e,t,a)=>{var o=a(88968);e.exports=o},33295:e=>{function t(e,t){var o="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!o){if(Array.isArray(e)||(o=(function(e,t){if(!e)return;if("string"==typeof e)return a(e,t);var o=Object.prototype.toString.call(e).slice(8,-1);"Object"===o&&e.constructor&&(o=e.constructor.name);if("Map"===o||"Set"===o)return Array.from(e);if("Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o))return a(e,t)})(e))||t&&e&&"number"==typeof e.length){o&&(e=o);var i=0,n=function(){};return{s:n,n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:n}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,E=!0,_=!1;return{s:function(){o=o.call(e)},n:function(){var e=o.next();return E=e.done,e},e:function(e){_=!0,r=e},f:function(){try{E||null==o.return||o.return()}finally{if(_)throw r}}}}function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}e.exports=function(e,a){var o,i=t(e);try{for(i.s();!(o=i.n()).done;){var n,r=t(o.value);try{for(r.s();!(n=r.n()).done;){var E=n.value;if(a.match(E.regexp))return E}}catch(e){r.e(e)}finally{r.f()}}}catch(e){i.e(e)}finally{i.f()}return null}},10598:e=>{e.exports=function(e,t){var a=t.match(e.regexp);return e.urlParamsNames.reduce((function(e,t,o){return Array.isArray(a)&&"string"==typeof a[o+1]?e[t]=decodeURIComponent(a[o+1]):e[t]=null,e}),{path:t})}},21665:(e,t,a)=>{var o=a(16267).useRouteFocused,i=a(98795).useModalsContainer,n=a(65717),r=a(16013);e.exports={useRouteFocused:o,useModalsContainer:i,Modal:n,Router:r}},92788:(e,t,a)=>{var o=a(67294),i=a(45697),n=a(94184),r=a(81468).useTranslation,E=a(95985).default,_=a(86590),T=_.Button,s=_.Image,S=a(58658),l=function(e){var t=e.className,a=e.id,i=e.name,_=e.version,l=e.logo,I=e.description,A=e.types,u=e.behaviorHints,d=e.installed,c=e.onToggle,O=e.onConfigure,R=e.onShare,N=e.dataset,m=r().t,L=o.useCallback((function(e){"function"==typeof c&&c({type:"toggle",nativeEvent:e.nativeEvent,reactEvent:e,dataset:N})}),[c,N]),D=o.useCallback((function(e){"function"==typeof O&&O({type:"configure",nativeEvent:e.nativeEvent,reactEvent:e,dataset:N})}),[O,N]),p=o.useCallback((function(e){"function"==typeof R&&R({type:"share",nativeEvent:e.nativeEvent,reactEvent:e,dataset:N})}),[R,N]),h=o.useCallback((function(e){"Enter"===e.key&&"function"==typeof c&&c({type:"toggle",nativeEvent:e.nativeEvent,reactEvent:e,dataset:N})}),[c,N]),C=o.useCallback((function(){return o.createElement(E,{className:S.icon,name:"addons"})}),[]);return o.createElement(T,{className:n(t,S["addon-container"]),onKeyDown:h},o.createElement("div",{className:S["logo-container"]},o.createElement(s,{className:S.logo,src:l,alt:" ",renderFallback:C})),o.createElement("div",{className:S["info-container"]},o.createElement("div",{className:S["name-container"],title:"string"==typeof i&&i.length>0?i:a},"string"==typeof i&&i.length>0?i:a),"string"==typeof _&&_.length>0?o.createElement("div",{className:S["version-container"],title:"v.".concat(_)},"v.",_):null,Array.isArray(A)&&A.length>0?o.createElement("div",{className:S["types-container"]},1===A.length?A.join(""):A.slice(0,-1).join(", ")+" & "+A[A.length-1]):null,"string"==typeof I&&I.length>0?o.createElement("div",{className:S["description-container"],title:I},I):null),o.createElement("div",{className:S["buttons-container"]},o.createElement("div",{className:S["action-buttons-container"]},!u.configurationRequired&&u.configurable?o.createElement(T,{className:S["configure-button-container"],title:m("ADDON_CONFIGURE"),tabIndex:-1,onClick:D},o.createElement(E,{className:S.icon,name:"settings"})):null,o.createElement(T,{className:d?S["uninstall-button-container"]:S["install-button-container"],title:d?m("ADDON_UNINSTALL"):u.configurationRequired?m("ADDON_CONFIGURE"):m("ADDON_INSTALL"),tabIndex:-1,onClick:!d&&u.configurationRequired?D:L},o.createElement("div",{className:S.label},d?m("ADDON_UNINSTALL"):u.configurationRequired?m("ADDON_CONFIGURE"):m("ADDON_INSTALL")))),o.createElement(T,{className:S["share-button-container"],title:m("SHARE_ADDON"),tabIndex:-1,onClick:p},o.createElement(E,{className:S.icon,name:"share"}),o.createElement("div",{className:S.label},m("SHARE_ADDON")))))};l.propTypes={className:i.string,id:i.string,name:i.string,version:i.string,logo:i.string,description:i.string,types:i.arrayOf(i.string),behaviorHints:i.shape({adult:i.bool,configurable:i.bool,configurationRequired:i.bool,p2p:i.bool}),installed:i.bool,onToggle:i.func,onConfigure:i.func,onShare:i.func,dataset:i.object},e.exports=l},84845:(e,t,a)=>{var o=a(92788);e.exports=o},92994:(e,t,a)=>{function o(){return o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(e[o]=a[o])}return e},o.apply(this,arguments)}function i(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return n(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return n(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function n(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var r=a(67294),E=a(45697),_=a(94184),T=a(81468).useTranslation,s=a(95985).default,S=a(86590),l=S.AddonDetailsModal,I=S.Button,A=S.Image,u=S.Multiselect,d=S.MainNavBars,c=S.TextInput,O=S.SearchBar,R=S.SharePrompt,N=S.ModalDialog,m=S.usePlatform,L=S.useBinaryState,D=S.withCoreSuspender,p=a(84845),h=a(68061),C=a(8916),f=a(60290),B=a(40146),P=a(16795),g=function(e){var t=e.urlParams,a=e.queryParams,n=T().t,E=m(),S=h(t),D=C(t),g=i(f(t,a),2),v=g[0],y=g[1],W=B(S,D),M=i(L(!1),3),b=M[0],U=M[1],G=M[2],k=i(L(!1),3),F=k[0],V=k[1],H=k[2],w=r.useRef(null),Y=r.useCallback((function(){null!==w.current&&y(w.current.value)}),[y]),z=r.useMemo((function(){return[{className:P["cancel-button"],label:n("BUTTON_CANCEL"),props:{onClick:H}},{label:n("ADDON_ADD"),props:{onClick:Y}}]}),[Y]),K=i(r.useState(""),2),x=K[0],j=K[1],Q=r.useCallback((function(e){j(e.currentTarget.value)}),[]),X=i(r.useState(null),2),$=X[0],q=X[1],J=r.useCallback((function(){q(null)}),[]),Z=r.useCallback((function(e){q(e.dataset.addon)}),[]),ee=r.useCallback((function(e){y(e.dataset.addon.transportUrl)}),[y]),te=r.useCallback((function(e){E.openExternal(e.dataset.addon.transportUrl.replace("manifest.json","configure"))}),[]),ae=r.useCallback((function(){y(null)}),[y]),oe=r.useCallback((function(e){return 0===x.length||"string"==typeof e.manifest.name&&e.manifest.name.toLowerCase().includes(x.toLowerCase())||"string"==typeof e.manifest.description&&e.manifest.description.toLowerCase().includes(x.toLowerCase())}),[x]),ie=r.useCallback((function(){return r.createElement(s,{className:P.icon,name:"addons"})}),[]);return r.useLayoutEffect((function(){H(),j(""),J()}),[t,a]),r.createElement(d,{className:P["addons-container"],route:"addons"},r.createElement("div",{className:P["addons-content"]},r.createElement("div",{className:P["selectable-inputs-container"]},W.map((function(e,t){return r.createElement(u,o({},e,{key:t,className:P["select-input-container"]}))})),r.createElement("div",{className:P.spacing}),r.createElement(I,{className:P["add-button-container"],title:n("ADD_ADDON"),onClick:V},r.createElement(s,{className:P.icon,name:"add"}),r.createElement("div",{className:P["add-button-label"]},n("ADD_ADDON"))),r.createElement(O,{className:P["search-bar"],title:n("ADDON_SEARCH"),value:x,onChange:Q}),r.createElement(I,{className:P["filter-button"],title:"All filters",onClick:U},r.createElement(s,{className:P["filter-icon"],name:"filters"}))),null!==S.selected?0===S.selectable.types.length?r.createElement("div",{className:P["message-container"]},"No addons ware installed!"):0===S.catalog.length?r.createElement("div",{className:P["message-container"]},"No addons ware installed for that type!"):r.createElement("div",{className:P["addons-list-container"]},S.catalog.filter(oe).map((function(e,t){return r.createElement(p,{key:t,className:_(P.addon,"animation-fade-in"),id:e.manifest.id,name:e.manifest.name,version:e.manifest.version,logo:e.manifest.logo,description:e.manifest.description,types:e.manifest.types,behaviorHints:e.manifest.behaviorHints,installed:e.installed,onToggle:ee,onConfigure:te,onShare:Z,dataset:{addon:e}})}))):null!==D.selected?"Err"===D.catalog.content.type?r.createElement("div",{className:P["message-container"]},D.catalog.content.content):"Loading"===D.catalog.content.type?r.createElement("div",{className:P["message-container"]},"Loading!"):r.createElement("div",{className:P["addons-list-container"]},D.catalog.content.content.filter(oe).map((function(e,t){return r.createElement(p,{key:t,className:_(P.addon,"animation-fade-in"),id:e.manifest.id,name:e.manifest.name,version:e.manifest.version,logo:e.manifest.logo,description:e.manifest.description,types:e.manifest.types,behaviorHints:e.manifest.behaviorHints,installed:e.installed,onToggle:ee,onConfigure:te,onShare:Z,dataset:{addon:e}})}))):r.createElement("div",{className:P["message-container"]},"No select")),b?r.createElement(N,{title:"Addons filters",className:P["filters-modal"],onCloseRequest:G},W.map((function(e,t){return r.createElement(u,o({},e,{key:t,className:P["select-input-container"]}))}))):null,F?r.createElement(N,{className:P["add-addon-modal-container"],title:n("ADD_ADDON"),buttons:z,onCloseRequest:H},r.createElement("div",{className:P.notice},n("ADD_ADDON_DESCRIPTION")),r.createElement(c,{ref:w,className:P["addon-url-input"],type:"text",placeholder:n("PASTE_ADDON_URL"),autoFocus:!0,onSubmit:Y})):null,null!==$?r.createElement(N,{className:P["share-modal-container"],title:n("SHARE_ADDON"),onCloseRequest:J},r.createElement("div",{className:P["title-container"]},r.createElement(A,{className:P.logo,src:$.manifest.logo,alt:" ",renderFallback:ie}),r.createElement("div",{className:P["name-container"]},r.createElement("span",{className:P.name},"string"==typeof $.manifest.name&&$.manifest.name.length>0?$.manifest.name:$.manifest.id),"string"==typeof $.manifest.version&&$.manifest.version.length>0?r.createElement("span",{className:P.version},"v. ",$.manifest.version):null)),r.createElement(R,{className:P["share-prompt-container"],url:$.transportUrl})):null,"string"==typeof v?r.createElement(l,{transportUrl:v,onCloseRequest:ae}):null)};g.propTypes={urlParams:E.shape({path:E.string,transportUrl:E.string,catalogId:E.string,type:E.string}),queryParams:E.instanceOf(URLSearchParams)};e.exports=D(g,(function(){return r.createElement(d,{className:P["addons-container"],route:"addons"})}))},57165:(e,t,a)=>{var o=a(92994);e.exports=o},60290:(e,t,a)=>{var o=a(67294);e.exports=function(e,t){var a=o.useMemo((function(){return t.get("addon")}),[t]),i=o.useCallback((function(a){var o=new URLSearchParams(t);"string"==typeof a?o.set("addon",a):o.delete("addon"),window.location.replace("#".concat(e.path,"?").concat(o))}),[e,t]);return[a,i]}},68061:(e,t,a)=>{var o=a(67294),i=a(86590).useModelState;e.exports=function(e){var t=o.useMemo((function(){return"string"!=typeof e.transportUrl&&"string"!=typeof e.catalogId?{action:"Load",args:{model:"InstalledAddonsWithFilters",args:{request:{type:"string"==typeof e.type?e.type:null}}}}:{action:"Unload"}}),[e]);return i({model:"installed_addons",action:t})}},8916:(e,t,a)=>{var o=a(67294),i=a(86590).useModelState;e.exports=function(e){var t=o.useMemo((function(){return"string"==typeof e.type&&"string"==typeof e.transportUrl&&"string"==typeof e.catalogId?{action:"Load",args:{model:"CatalogWithFilters",args:{request:{base:e.transportUrl,path:{resource:"addon_catalog",type:e.type,id:e.catalogId,extra:[]}}}}}:{action:"Unload"}}),[e]);return i({model:"remote_addons",action:t,deps:["ctx"]})}},40146:(e,t,a)=>{var o=a(67294),i=a(86590).useTranslate;e.exports=function(e,t){var a=i(),n=o.useMemo((function(){return(function(e,t,a){var o={title:a.string("SELECT_CATALOG"),options:t.selectable.catalogs.concat(e.selectable.catalogs).map((function(e){var t=e.name;return{value:e.deepLinks.addons,label:a.stringWithPrefix(t,"ADDON_"),title:a.stringWithPrefix(t,"ADDON_")}})),selected:t.selectable.catalogs.concat(e.selectable.catalogs).filter((function(e){return e.selected})).map((function(e){return e.deepLinks.addons})),renderLabelText:null!==t.selected?function(){var e=t.selectable.catalogs.find((function(e){return e.id===t.selected.request.path.id}));return e?a.stringWithPrefix(e.name,"ADDON_"):t.selected.request.path.id}:null,onSelect:function(e){window.location=e.value}},i={title:a.string("SELECT_TYPE"),options:null!==e.selected?e.selectable.types.map((function(e){var t=e.type;return{value:e.deepLinks.addons,label:null!==t?a.stringWithPrefix(t,"TYPE_"):a.string("TYPE_ALL")}})):t.selectable.types.map((function(e){var t=e.type;return{value:e.deepLinks.addons,label:a.stringWithPrefix(t,"TYPE_")}})),selected:null!==e.selected?e.selectable.types.filter((function(e){return e.selected})).map((function(e){return e.deepLinks.addons})):t.selectable.types.filter((function(e){return e.selected})).map((function(e){return e.deepLinks.addons})),renderLabelText:function(){return null!==e.selected?null===e.selected.request.type?a.string("TYPE_ALL"):a.stringWithPrefix(e.selected.request.type,"TYPE_"):null!==t.selected?a.stringWithPrefix(t.selected.request.path.type,"TYPE_"):i.title},onSelect:function(e){window.location=e.value}};return[o,i]})(e,t,a)}),[e,t]);return n}},1180:(e,t,a)=>{function o(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return i(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return i(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var n=a(67294),r=a(94184),E=a(91296),_=a(81468).useTranslation,T=a(86590),s=T.MainNavBars,S=T.MetaRow,l=T.ContinueWatchingItem,I=T.MetaItem,A=T.StreamingServerWarning,u=T.useStreamingServer,d=T.useNotifications,c=T.withCoreSuspender,O=T.getVisibleChildrenRange,R=T.EventModal,N=a(76981),m=a(82916),L=a(85846);e.exports=c((function(){var e=_().t,t=u(),a=m(),i=o(N(),2),T=i[0],c=i[1],D=d(),p=a.items.length>0?1:0,h=n.useRef(),C=n.useCallback((function(){var e=O(h.current);if(null!==e){var t=Math.max(0,e.start-p-5),a=e.end-p+5;a<t||c({start:t,end:a})}}),[p]),f=n.useCallback(E(C,250),[C]);return n.useLayoutEffect((function(){C()}),[T.catalogs,C]),n.createElement("div",{className:L["board-container"]},n.createElement(R,null),n.createElement(s,{className:L["board-content-container"],route:"board"},n.createElement("div",{ref:h,className:L["board-content"],onScroll:f},a.items.length>0?n.createElement(S,{className:r(L["board-row"],L["continue-watching-row"],"animation-fade-in"),title:e("BOARD_CONTINUE_WATCHING"),catalog:a,itemComponent:l,notifications:D}):null,T.catalogs.map((function(e,t){var a;switch(null===(a=e.content)||void 0===a?void 0:a.type){case"Ready":return n.createElement(S,{key:t,className:r(L["board-row"],L["board-row-".concat(e.content.content[0].posterShape)],"animation-fade-in"),catalog:e,itemComponent:I});case"Err":return n.createElement(S,{key:t,className:r(L["board-row"],"animation-fade-in"),catalog:e,message:e.content.content});default:return n.createElement(S.Placeholder,{key:t,className:r(L["board-row"],L["board-row-poster"],"animation-fade-in"),catalog:e})}})))),null!==t.settings&&"Err"===t.settings.type?n.createElement(A,{className:L["board-warning-container"]}):null)}),(function(){return n.createElement("div",{className:L["board-container"]},n.createElement(s,{className:L["board-content-container"],route:"board"}))}))},88823:(e,t,a)=>{var o=a(1180);e.exports=o},76981:(e,t,a)=>{var o=a(67294),i=a(63662).useServices,n=a(86590).useModelState;e.exports=function(){var e=i().core,t=o.useMemo((function(){return{action:"Load",args:{model:"CatalogsWithExtra",args:{extra:[]}}}}),[]),a=o.useCallback((function(t){e.transport.dispatch({action:"CatalogsWithExtra",args:{action:"LoadRange",args:t}},"board")}),[]);return[n({model:"board",action:t}),a]}},82916:(e,t,a)=>{var o=a(86590).useModelState;e.exports=function(){return o({model:"continue_watching_preview"})}},69694:(e,t,a)=>{function o(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return i(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return i(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var n=a(67294),r=a(45697),E=a(94184),_=a(95985).default,T=a(63662).useServices,s=a(86590),S=s.AddonDetailsModal,l=s.DelayedRenderer,I=s.Button,A=s.MainNavBars,u=s.MetaItem,d=s.Image,c=s.MetaPreview,O=s.Multiselect,R=s.ModalDialog,N=s.CONSTANTS,m=s.useBinaryState,L=s.useOnScrollToBottom,D=s.withCoreSuspender,p=a(30083),h=a(88674),C=a(63276),f=function(e){var t=e.urlParams,i=e.queryParams,r=T().core,s=o(p(t,i),2),D=s[0],f=s[1],B=o(h(D),2),P=B[0],g=B[1],v=o(m(!1),3),y=v[0],W=v[1],M=v[2],b=o(m(!1),3),U=b[0],G=b[1],k=b[2],F=o(n.useState(0),2),V=F[0],H=F[1],w=n.useRef();n.useEffect((function(){var e;"Loading"===(null===(e=D.catalog)||void 0===e?void 0:e.content.type)&&(w.current.scrollTop=0)}),[D.catalog]);var Y=n.useMemo((function(){return null!==D.catalog&&"Ready"===D.catalog.content.type&&D.catalog.content.content[V]?D.catalog.content.content[V]:null}),[D.catalog,V]),z=n.useCallback((function(){null!==Y&&r.transport.dispatch({action:"Ctx",args:{action:"AddToLibrary",args:Y}})}),[Y]),K=n.useCallback((function(){null!==Y&&r.transport.dispatch({action:"Ctx",args:{action:"RemoveFromLibrary",args:Y.id}})}),[Y]),x=n.useCallback((function(e){null===e.target.dataset.index||isNaN(e.target.dataset.index)||H(parseInt(e.target.dataset.index,10))}),[]),j=n.useCallback((function(e){e.currentTarget.dataset.index!==V.toString()&&(e.preventDefault(),e.currentTarget.focus())}),[V]),Q=n.useCallback((function(){g&&f()}),[g,f]),X=L(Q,400);return n.useEffect((function(){M(),k(),H(0)}),[D.selected]),n.createElement(A,{className:C["discover-container"],route:"discover"},n.createElement("div",{className:C["discover-content"]},n.createElement("div",{className:C["catalog-container"]},n.createElement("div",{className:C["selectable-inputs-container"]},P.map((function(e,t){var a=e.title,o=e.options,i=e.selected,r=e.renderLabelText,E=e.onSelect;return n.createElement(O,{key:t,className:C["select-input"],title:a,options:o,selected:i,renderLabelText:r,onSelect:E})})),n.createElement(I,{className:C["filter-container"],title:"All filters",onClick:W},n.createElement(_,{className:C["filter-icon"],name:"filters"}))),null===D.catalog||D.catalog.installed?null:n.createElement("div",{className:C["missing-addon-warning-container"]},n.createElement("div",{className:C["warning-label"]},"Addon is not installed. Install now?"),n.createElement(I,{className:C["install-button"],title:"Install addon",onClick:G},n.createElement("div",{className:C.label},"Install"))),null===D.catalog?n.createElement(l,{delay:500},n.createElement("div",{className:C["message-container"]},n.createElement(d,{className:C.image,src:a(47740),alt:" "}),n.createElement("div",{className:C["message-label"]},"No catalog selected!"))):"Err"===D.catalog.content.type?n.createElement("div",{className:C["message-container"]},n.createElement(d,{className:C.image,src:a(47740),alt:" "}),n.createElement("div",{className:C["message-label"]},D.catalog.content.content)):"Loading"===D.catalog.content.type?n.createElement("div",{ref:w,className:E(C["meta-items-container"],"animation-fade-in")},Array(N.CATALOG_PAGE_SIZE).fill(null).map((function(e,t){return n.createElement("div",{key:t,className:C["meta-item-placeholder"]},n.createElement("div",{className:C["poster-container"]}),n.createElement("div",{className:C["title-bar-container"]},n.createElement("div",{className:C["title-label"]})))}))):n.createElement("div",{ref:w,className:E(C["meta-items-container"],"animation-fade-in"),onScroll:X,onFocusCapture:x},D.catalog.content.content.map((function(e,t){return n.createElement(u,{key:t,className:E({selected:V===t}),type:e.type,name:e.name,poster:e.poster,posterShape:e.posterShape,playname:V===t,deepLinks:e.deepLinks,watched:e.watched,"data-index":t,onClick:j})})))),null!==Y?n.createElement(c,{className:C["meta-preview-container"],compact:!0,name:Y.name,logo:Y.logo,background:Y.poster,runtime:Y.runtime,releaseInfo:Y.releaseInfo,released:Y.released,description:Y.description,links:Y.links,deepLinks:Y.deepLinks,trailerStreams:Y.trailerStreams,inLibrary:Y.inLibrary,toggleInLibrary:Y.inLibrary?K:z}):null!==D.catalog&&"Loading"===D.catalog.content.type?n.createElement("div",{className:C["meta-preview-container"]}):null),y?n.createElement(R,{title:"Catalog filters",className:C["selectable-inputs-modal"],onCloseRequest:M},P.map((function(e,t){var a=e.title,o=e.options,i=e.selected,r=e.renderLabelText,E=e.onSelect;return n.createElement(O,{key:t,className:C["select-input"],title:a,options:o,selected:i,renderLabelText:r,onSelect:E})}))):null,U&&null!==D.selected?n.createElement(S,{transportUrl:D.selected.request.base,onCloseRequest:k}):null)};f.propTypes={urlParams:r.shape({transportUrl:r.string,type:r.string,catalogId:r.string}),queryParams:r.instanceOf(URLSearchParams)};e.exports=D(f,(function(){return n.createElement(A,{className:C["discover-container"],route:"discover"})}))},21901:(e,t,a)=>{var o=a(69694);e.exports=o},30083:(e,t,a)=>{function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?o(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):o(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}var r=a(67294),E=a(8575),_=a(63662).useServices,T=a(86590).useModelState,s=function(e){return i(i({},e),{},{catalog:null!==e.catalog&&"Ready"===e.catalog.content.type?i(i({},e.catalog),{},{content:i(i({},e.catalog.content),{},{content:e.catalog.content.content.map((function(e){return i(i({},e),{},{released:new Date("string"==typeof e.released?e.released:NaN)})}))})}):e.catalog})};e.exports=function(e,t){var a=_().core,o=r.useCallback((function(){a.transport.dispatch({action:"CatalogWithFilters",args:{action:"LoadNextPage"}},"discover")}),[]),i=r.useMemo((function(){if("string"!=typeof e.transportUrl||"string"!=typeof e.type||"string"!=typeof e.catalogId)return{action:"Load",args:{model:"CatalogWithFilters",args:null}};var a=E.parse(e.transportUrl).hostname;return"string"==typeof a&&a.length>0?{action:"Load",args:{model:"CatalogWithFilters",args:{request:{base:e.transportUrl,path:{resource:"catalog",type:e.type,id:e.catalogId,extra:Array.from(t.entries())}}}}}:{action:"Unload"}}),[e,t]);return[T({model:"discover",action:i,map:s,deps:["ctx"]}),o]}},88674:(e,t,a)=>{function o(e){return(function(e){if(Array.isArray(e))return i(e)})(e)||(function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)})(e)||(function(e,t){if(!e)return;if("string"==typeof e)return i(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return i(e,t)})(e)||(function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var n=a(67294),r=a(86590).useTranslate;e.exports=function(e){var t=r(),a=n.useMemo((function(){return(function(e,t){var a={title:t.string("SELECT_TYPE"),options:e.selectable.types.map((function(e){var a=e.type;return{value:e.deepLinks.discover,label:t.stringWithPrefix(a,"TYPE_")}})),selected:e.selectable.types.filter((function(e){return e.selected})).map((function(e){return e.deepLinks.discover})),renderLabelText:null!==e.selected?function(){return t.stringWithPrefix(e.selected.request.path.type,"TYPE_")}:null,onSelect:function(e){window.location=e.value}},i={title:t.string("SELECT_CATALOG"),options:e.selectable.catalogs.map((function(e){var a=e.id,o=e.name,i=e.addon;return{value:e.deepLinks.discover,label:t.catalogTitle({addon:i,id:a,name:o}),title:"".concat(o," (").concat(i.manifest.name,")")}})),selected:e.selectable.catalogs.filter((function(e){return e.selected})).map((function(e){return e.deepLinks.discover})),renderLabelText:null!==e.selected?function(){var a=e.selectable.catalogs.find((function(t){return t.id===e.selected.request.path.id}));return a?t.catalogTitle(a,!1):e.selected.request.path.id}:null,onSelect:function(e){window.location=e.value}},n=e.selectable.extra.map((function(e){var a=e.name,o=e.isRequired,i=e.options;return{title:t.stringWithPrefix(a,"SELECT_"),isRequired:o,options:i.map((function(e){var a=e.value,o=e.deepLinks;return{label:"string"==typeof a?t.stringWithPrefix(a):t.string("NONE"),value:JSON.stringify({href:o.discover,value:a})}})),selected:i.filter((function(e){return e.selected})).map((function(e){var t=e.value,a=e.deepLinks;return JSON.stringify({href:a.discover,value:t})})),renderLabelText:i.some((function(e){var t=e.selected,a=e.value;return t&&null===a}))?function(){return t.stringWithPrefix(a,"SELECT_")}:null,onSelect:function(e){var t=JSON.parse(e.value).href;window.location=t}}}));return[[a,i].concat(o(n)),e.selectable.nextPage]})(e,t)}),[e.selected,e.selectable]);return a}},82759:(e,t,a)=>{var o=["className","label","link","href","onToggle"];function i(){return i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(e[o]=a[o])}return e},i.apply(this,arguments)}function n(e,t){if(null==e)return{};var a,o,i=(function(e,t){if(null==e)return{};var a,o,i={},n=Object.keys(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||(i[a]=e[a]);return i})(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}var r=a(67294),E=a(45697),_=a(94184),T=a(86590),s=T.Button,S=T.Checkbox,l=a(705),I=r.forwardRef((function(e,t){var a=e.className,E=e.label,T=e.link,I=e.href,A=e.onToggle,u=n(e,o),d=r.useCallback((function(e){"function"==typeof u.onClick&&u.onClick(e),e.nativeEvent.togglePrevented||"function"!=typeof A||A({type:"toggle",reactEvent:e,nativeEvent:e.nativeEvent})}),[A,u.onClick]),c=r.useCallback((function(e){e.nativeEvent.togglePrevented=!0}),[]);return r.createElement(S,i({},u,{ref:t,className:_(a,l["consent-checkbox-container"]),onClick:d}),r.createElement("div",{className:l.label},E," ","string"==typeof T&&T.length>0&&"string"==typeof I&&I.length>0?r.createElement(s,{className:l.link,href:I,target:"_blank",tabIndex:-1,onClick:c},T):null))}));I.displayName="ConsentCheckbox",I.propTypes={className:E.string,checked:E.bool,label:E.string,link:E.string,href:E.string,onToggle:E.func,onClick:E.func},e.exports=I},6050:(e,t,a)=>{var o=a(82759);e.exports=o},12130:(e,t,a)=>{function o(){return o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(e[o]=a[o])}return e},o.apply(this,arguments)}var i=a(67294),n=a(45697),r=a(86590).TextInput,E=i.forwardRef((function(e,t){var a=i.useCallback((function(t){"function"==typeof e.onKeyDown&&e.onKeyDown(t),t.nativeEvent.navigationPrevented||(["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"].includes(t.key)&&(t.nativeEvent.spatialNavigationPrevented=!0),t.shiftKey||("ArrowDown"===t.key?window.navigate("down"):"ArrowUp"===t.key&&window.navigate("up")))}),[e.onKeyDown]);return i.createElement(r,o({},e,{ref:t,onKeyDown:a}))}));E.displayName="CredentialsTextInput",E.propTypes={onKeyDown:n.func},e.exports=E},3962:(e,t,a)=>{var o=a(12130);e.exports=o},45398:(e,t,a)=>{function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?o(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):o(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function r(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return E(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return E(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function E(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var _=a(67294),T=a(81468).useTranslation,s=a(45697),S=a(94184),l=a(95985).default,I=a(21665),A=I.Modal,u=I.useRouteFocused,d=a(63662).useServices,c=a(86590),O=c.Button,R=c.Image,N=c.useBinaryState,m=a(3962),L=a(6050),D=a(2015),p=a(10952),h=a(3608),C="signup",f="login",B=function(e){var t=e.queryParams,o=d().core,E=T().t,s=u(),I=r(p(),2),c=I[0],B=I[1],P=_.useRef(null),g=_.useRef(null),v=_.useRef(null),y=_.useRef(null),W=_.useRef(null),M=_.useRef(null),b=_.useRef(null),U=r(N(!1),3),G=U[0],k=U[1],F=U[2],V=r(N(!1),3),H=V[0],w=V[1],Y=V[2],z=_.useReducer((function(e,t){switch(t.type){case"set-form":return e.form!==t.form?{form:t.form,email:"",password:"",confirmPassword:"",termsAccepted:!1,privacyPolicyAccepted:!1,marketingAccepted:!1,error:""}:e;case"change-credentials":return i(i({},e),{},n({error:""},t.name,t.value));case"toggle-checkbox":return i(i({},e),{},n({error:""},t.name,!e[t.name]));case"error":return i(i({},e),{},{error:t.error});default:return e}}),{form:[f,C].includes(t.get("form"))?t.get("form"):C,email:"",password:"",confirmPassword:"",termsAccepted:!1,privacyPolicyAccepted:!1,marketingAccepted:!1,error:""}),K=r(z,2),x=K[0],j=K[1],Q=_.useCallback((function(){w(),c().then((function(e){var t=e.email,a=e.password;o.transport.dispatch({action:"Ctx",args:{action:"Authenticate",args:{type:"Login",email:t,password:a,facebook:!0}}})})).catch((function(e){Y(),j({type:"error",error:e.message})}))}),[]),X=_.useCallback((function(){B(),Y()}),[]),$=_.useCallback((function(){"string"==typeof x.email&&0!==x.email.length&&P.current.validity.valid?"string"==typeof x.password&&0!==x.password.length?(w(),o.transport.dispatch({action:"Ctx",args:{action:"Authenticate",args:{type:"Login",email:x.email,password:x.password}}})):j({type:"error",error:"Invalid password"}):j({type:"error",error:"Invalid email"})}),[x.email,x.password]),q=_.useCallback((function(){x.termsAccepted?window.location="#/":j({type:"error",error:"You must accept the Terms of Service"})}),[x.termsAccepted]),J=_.useCallback((function(){"string"==typeof x.email&&0!==x.email.length&&P.current.validity.valid?"string"==typeof x.password&&0!==x.password.length?x.password===x.confirmPassword?x.termsAccepted?x.privacyPolicyAccepted?(w(),o.transport.dispatch({action:"Ctx",args:{action:"Authenticate",args:{type:"Register",email:x.email,password:x.password,gdpr_consent:{tos:x.termsAccepted,privacy:x.privacyPolicyAccepted,marketing:x.marketingAccepted,from:"web"}}}})):j({type:"error",error:"You must accept the Privacy Policy"}):j({type:"error",error:"You must accept the Terms of Service"}):j({type:"error",error:"Passwords do not match"}):j({type:"error",error:"Invalid password"}):j({type:"error",error:"Invalid email"})}),[x.email,x.password,x.confirmPassword,x.termsAccepted,x.privacyPolicyAccepted,x.marketingAccepted]),Z=_.useCallback((function(e){j({type:"change-credentials",name:"email",value:e.currentTarget.value})}),[]),ee=_.useCallback((function(){g.current.focus()}),[]),te=_.useCallback((function(e){j({type:"change-credentials",name:"password",value:e.currentTarget.value})}),[]),ae=_.useCallback((function(){x.form===C?v.current.focus():$()}),[x.form,$]),oe=_.useCallback((function(e){j({type:"change-credentials",name:"confirmPassword",value:e.currentTarget.value})}),[]),ie=_.useCallback((function(){y.current.focus()}),[]),ne=_.useCallback((function(){j({type:"toggle-checkbox",name:"termsAccepted"})}),[]),re=_.useCallback((function(){j({type:"toggle-checkbox",name:"privacyPolicyAccepted"})}),[]),Ee=_.useCallback((function(){j({type:"toggle-checkbox",name:"marketingAccepted"})}),[]),_e=_.useCallback((function(){var e=new URLSearchParams([["form",x.form===C?f:C]]);window.location="#/intro?".concat(e.toString())}),[x.form]);return _.useEffect((function(){[f,C].includes(t.get("form"))&&j({type:"set-form",form:t.get("form")})}),[t]),_.useEffect((function(){s&&"string"==typeof x.error&&x.error.length>0&&b.current.scrollIntoView()}),[x.error]),_.useEffect((function(){s&&P.current.focus()}),[x.form,s]),_.useEffect((function(){var e=function(e){var t=e.event,a=e.args;switch(t){case"UserAuthenticated":Y(),s&&(window.location="#/");break;case"Error":"UserAuthenticated"===a.source.event&&Y()}};return o.transport.on("CoreEvent",e),function(){o.transport.off("CoreEvent",e)}}),[s]),_.createElement("div",{className:h["intro-container"]},_.createElement("div",{className:h["background-container"]}),_.createElement("div",{className:h["heading-container"]},_.createElement("div",{className:h["logo-container"]},_.createElement(R,{className:h.logo,src:a(75631),alt:" "})),_.createElement("div",{className:h["title-container"]},"Freedom to Stream"),_.createElement("div",{className:h["slogan-container"]},"All the Video Content You Enjoy in One Place")),_.createElement("div",{className:h["content-container"]},_.createElement("div",{className:h["form-container"]},_.createElement(m,{ref:P,className:h["credentials-text-input"],type:"email",placeholder:"Email",value:x.email,onChange:Z,onSubmit:ee}),_.createElement(m,{ref:g,className:h["credentials-text-input"],type:"password",placeholder:"Password",value:x.password,onChange:te,onSubmit:ae}),x.form===C?_.createElement(_.Fragment,null,_.createElement(m,{ref:v,className:h["credentials-text-input"],type:"password",placeholder:"Confirm Password",value:x.confirmPassword,onChange:oe,onSubmit:ie}),_.createElement(L,{ref:y,className:h["consent-checkbox"],label:"I have read and agree with the Stremio",link:"Terms and conditions",href:"https://www.stremio.com/tos",checked:x.termsAccepted,onToggle:ne}),_.createElement(L,{ref:W,className:h["consent-checkbox"],label:"I have read and agree with the Stremio",link:"Privacy Policy",href:"https://www.stremio.com/privacy",checked:x.privacyPolicyAccepted,onToggle:re}),_.createElement(L,{ref:M,className:h["consent-checkbox"],label:"I agree to receive marketing communications from Stremio",checked:x.marketingAccepted,onToggle:Ee})):_.createElement("div",{className:h["forgot-password-link-container"]},_.createElement(O,{className:h["forgot-password-link"],onClick:k},"Forgot password?")),x.error.length>0?_.createElement("div",{ref:b,className:h["error-message"]},x.error):null,_.createElement(O,{className:S(h["form-button"],h["submit-button"]),onClick:x.form===C?J:$},_.createElement("div",{className:h.label},x.form===C?"Sign up":"Log in"))),_.createElement("div",{className:h["options-container"]},_.createElement(O,{className:S(h["form-button"],h["facebook-button"]),onClick:Q},_.createElement(l,{className:h.icon,name:"facebook"}),_.createElement("div",{className:h.label},"Continue with Facebook")),x.form===C?_.createElement(O,{className:S(h["form-button"],h["login-form-button"]),onClick:_e},_.createElement("div",{className:h.label},"LOG IN")):null,x.form===f?_.createElement(O,{className:S(h["form-button"],h["signup-form-button"]),onClick:_e},_.createElement("div",{className:h.label},"SIGN UP WITH EMAIL")):null,x.form===C?_.createElement(O,{className:S(h["form-button"],h["guest-login-button"]),onClick:q},_.createElement("div",{className:h.label},"GUEST LOGIN")):null)),G?_.createElement(D,{email:x.email,onCloseRequest:F}):null,H?_.createElement(A,{className:h["loading-modal-container"]},_.createElement("div",{className:h["loader-container"]},_.createElement(l,{className:h.icon,name:"person"}),_.createElement("div",{className:h.label},"Authenticating..."),_.createElement(O,{className:h.button,onClick:X},E("BUTTON_CANCEL")))):null)};B.propTypes={queryParams:s.instanceOf(URLSearchParams)},e.exports=B},21517:(e,t,a)=>{function o(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return i(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return i(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var n=a(67294),r=a(45697),E=a(21665).useRouteFocused,_=a(86590),T=_.ModalDialog,s=_.usePlatform,S=a(3962),l=a(23808),I=function(e){var t=e.email,a=e.onCloseRequest,i=E(),r=s(),_=o(n.useState(""),2),I=_[0],A=_[1],u=n.useRef(null),d=n.useCallback((function(){u.current.value.length>0&&u.current.validity.valid?r.openExternal("https://www.strem.io/reset-password/"+u.current.value,"_blank"):A("Invalid email")}),[]),c=n.useMemo((function(){return[{className:l["cancel-button"],label:"Cancel",props:{onClick:a}},{label:"Send",props:{onClick:d}}]}),[a]),O=n.useCallback((function(){A("")}),[]);return n.useEffect((function(){i&&u.current.focus()}),[i]),n.createElement(T,{className:l["password-reset-modal-container"],title:"Password reset",buttons:c,onCloseRequest:a},n.createElement(S,{ref:u,className:l["credentials-text-input"],type:"email",placeholder:"Email",defaultValue:"string"==typeof t?t:"",onChange:O,onSubmit:d}),I.length>0?n.createElement("div",{className:l["error-message"]},I):null)};I.propTypes={email:r.string,onCloseRequest:r.func},e.exports=I},2015:(e,t,a)=>{var o=a(21517);e.exports=o},16732:(e,t,a)=>{var o=a(45398);e.exports=o},68171:(e,t,a)=>{function o(){return o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(e[o]=a[o])}return e},o.apply(this,arguments)}function i(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return n(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return n(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function n(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var r=a(67294),E=a(45697),_=a(94184),T=a(50353),s=a(86590),S=s.Button,l=s.Chips,I=s.DelayedRenderer,A=s.Multiselect,u=s.MainNavBars,d=s.LibItem,c=s.Image,O=s.useProfile,R=s.useNotifications,N=s.routesRegexp,m=s.useOnScrollToBottom,L=s.withCoreSuspender,D=a(53242),p=a(62948),h=a(76495);var C=function(e){var t=e.model,n=e.urlParams,E=e.queryParams,T=O(),s=R(),N=i(D(t,n,E),2),L=N[0],C=N[1],f=i(p(L),3),B=f[0],P=f[1],g=f[2],v=r.useRef(null),y=r.useCallback((function(){g&&C()}),[g,C]),W=m(y,400);return r.useLayoutEffect((function(){null!==T.auth&&L.selected&&1===L.selected.request.page&&0!==L.catalog.length&&(v.current.scrollTop=0)}),[T.auth,L.selected]),r.createElement(u,{className:h["library-container"],route:t},r.createElement("div",{className:h["library-content"]},"continue_watching"===t||null!==T.auth?r.createElement("div",{className:h["selectable-inputs-container"]},r.createElement(A,o({},B,{className:h["select-input-container"]})),r.createElement(l,o({},P,{className:h["select-input-container"]}))):null,"library"===t&&null===T.auth?r.createElement("div",{className:_(h["message-container"],h["no-user-message-container"])},r.createElement(c,{className:h.image,src:a(93028),alt:" "}),r.createElement("div",{className:h["message-label"]},"Library is only available for logged in users!"),r.createElement(S,{className:h["login-button-container"],href:"#/intro"},r.createElement("div",{className:h.label},"LOG IN"))):null===L.selected?r.createElement(I,{delay:500},r.createElement("div",{className:h["message-container"]},r.createElement(c,{className:h.image,src:a(47740),alt:" "}),r.createElement("div",{className:h["message-label"]},"library"===t?"Library":"Continue Watching"," not loaded!"))):0===L.catalog.length?r.createElement("div",{className:h["message-container"]},r.createElement(c,{className:h.image,src:a(47740),alt:" "}),r.createElement("div",{className:h["message-label"]},"Empty ","library"===t?"Library":"Continue Watching")):r.createElement("div",{ref:v,className:_(h["meta-items-container"],"animation-fade-in"),onScroll:W},L.catalog.map((function(e,a){return r.createElement(d,o({},e,{notifications:s,removable:"library"===t,key:a}))})))))};C.propTypes={model:E.oneOf(["library","continue_watching"]),urlParams:E.shape({type:E.string}),queryParams:E.instanceOf(URLSearchParams)};var f=function(e){var t=e.model;return r.createElement(u,{className:h["library-container"],route:t})};f.propTypes=C.propTypes,e.exports=(function(e){var t=function(t){var a=t.urlParams,o=t.queryParams,i=r.useMemo((function(){return"string"==typeof a.path?a.path.match(N.library.regexp)?"library":a.path.match(N.continuewatching.regexp)?"continue_watching":null:null}),[a.path]);return null===i?r.createElement(T,null):r.createElement(e,{key:i,model:i,urlParams:a,queryParams:o})};return t.displayName="withModel",t})(L(C,f))},77965:(e,t,a)=>{var o=a(68171);e.exports=o},53242:(e,t,a)=>{var o=a(67294),i=a(63662).useServices,n=a(86590).useModelState;e.exports=function(e,t,a){var r=i().core,E=o.useCallback((function(){r.transport.dispatch({action:"LibraryWithFilters",args:{action:"LoadNextPage"}},"library")}),[]),_=o.useMemo((function(){return{action:"Load",args:{model:"LibraryWithFilters",args:{request:{type:"string"==typeof t.type?t.type:null,sort:a.has("sort")?a.get("sort"):void 0}}}}}),[t,a]);return[n({model:e,action:_}),E]}},62948:(e,t,a)=>{var o=a(67294),i=a(86590).useTranslate;e.exports=function(e){var t=i(),a=o.useMemo((function(){return(function(e,t){return[{title:t.string("SELECT_TYPE"),options:e.selectable.types.map((function(e){var a=e.type;return{value:e.deepLinks.library,label:null===a?t.string("TYPE_ALL"):t.stringWithPrefix(a,"TYPE_")}})),selected:e.selectable.types.filter((function(e){return e.selected})).map((function(e){return e.deepLinks.library})),onSelect:function(e){window.location=e.value}},{options:e.selectable.sorts.map((function(e){var a=e.sort;return{value:e.deepLinks.library,label:t.stringWithPrefix(a.toUpperCase(),"SORT_")}})),selected:e.selectable.sorts.filter((function(e){return e.selected})).map((function(e){return e.deepLinks.library})),onSelect:function(e){window.location=e}},e.selectable.nextPage]})(e,t)}),[e]);return a}},88493:(e,t,a)=>{function o(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return i(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return i(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var n=a(67294),r=a(45697),E=a(94184),_=a(63662).useServices,T=a(86590),s=T.VerticalNavBar,S=T.HorizontalNavBar,l=T.MetaPreview,I=T.ModalDialog,A=T.Image,u=T.DelayedRenderer,d=T.withCoreSuspender,c=a(42231),O=a(48437),R=a(48450),N=a(85651),m=a(84636),L=a(1995),D=function(e){var t=e.urlParams,i=e.queryParams,r=_().core,T=R(t),d=o(N(t,i),2),D=d[0],p=d[1],h=o(m(T.metaExtensions),3),C=h[0],f=h[1],B=h[2],P=o(n.useMemo((function(){return null!==T.selected?[T.selected.metaPath,T.selected.streamPath]:[null,null]}),[T.selected]),2),g=P[0],v=P[1],y=n.useMemo((function(){return null!==v&&null!==T.metaItem&&"Ready"===T.metaItem.content.type?T.metaItem.content.content.videos.reduce((function(e,t){return t.id===v.id?t:e}),null):null}),[T.metaItem,v]),W=n.useCallback((function(){null!==T.metaItem&&"Ready"===T.metaItem.content.type&&r.transport.dispatch({action:"Ctx",args:{action:"AddToLibrary",args:T.metaItem.content.content}})}),[T]),M=n.useCallback((function(){null!==T.metaItem&&"Ready"===T.metaItem.content.type&&r.transport.dispatch({action:"Ctx",args:{action:"RemoveFromLibrary",args:T.metaItem.content.content.id}})}),[T]),b=n.useCallback((function(){T.libraryItem&&r.transport.dispatch({action:"Ctx",args:{action:"ToggleLibraryItemNotifications",args:[T.libraryItem._id,!T.libraryItem.state.noNotif]}})}),[T.libraryItem]),U=n.useCallback((function(e){p(e.value)}),[p]),G=n.useCallback((function(){return null}),[]);return n.createElement("div",{className:L["metadetails-container"]},n.createElement(S,{className:L["nav-bar"],backButton:!0,addonsButton:!0,fullscreenButton:!0,navMenu:!0}),n.createElement("div",{className:L["metadetails-content"]},C.length>0?n.createElement(s,{className:L["vertical-nav-bar"],tabs:C,selected:null!==f?f.url:null}):null,null===g?n.createElement(u,{delay:500},n.createElement("div",{className:L["meta-message-container"]},n.createElement(A,{className:L.image,src:a(47740),alt:" "}),n.createElement("div",{className:L["message-label"]},"No meta was selected!"))):null===T.metaItem?n.createElement("div",{className:L["meta-message-container"]},n.createElement(A,{className:L.image,src:a(47740),alt:" "}),n.createElement("div",{className:L["message-label"]},"No addons ware requested for this meta!")):"Err"===T.metaItem.content.type?n.createElement("div",{className:L["meta-message-container"]},n.createElement(A,{className:L.image,src:a(47740),alt:" "}),n.createElement("div",{className:L["message-label"]},"No metadata was found!")):"Loading"===T.metaItem.content.type?n.createElement(l.Placeholder,{className:L["meta-preview"]}):n.createElement(n.Fragment,null,"string"==typeof T.metaItem.content.content.background&&T.metaItem.content.content.background.length>0?n.createElement("div",{className:L["background-image-layer"]},n.createElement(A,{className:L["background-image"],src:T.metaItem.content.content.background,renderFallback:G,alt:" "})):null,n.createElement(l,{className:E(L["meta-preview"],"animation-fade-in"),name:T.metaItem.content.content.name,logo:T.metaItem.content.content.logo,runtime:T.metaItem.content.content.runtime,releaseInfo:T.metaItem.content.content.releaseInfo,released:T.metaItem.content.content.released,description:null!==y&&"string"==typeof y.overview&&y.overview.length>0?y.overview:T.metaItem.content.content.description,links:T.metaItem.content.content.links,trailerStreams:T.metaItem.content.content.trailerStreams,inLibrary:T.metaItem.content.content.inLibrary,toggleInLibrary:T.metaItem.content.content.inLibrary?M:W})),n.createElement("div",{className:L.spacing}),null!==v?n.createElement(c,{className:L["streams-list"],streams:T.streams,video:y}):null!==g?n.createElement(O,{className:L["videos-list"],metaItem:T.metaItem,libraryItem:T.libraryItem,season:D,seasonOnSelect:U,toggleNotifications:b}):null),null!==f?n.createElement(I,{className:L["meta-extension-modal-container"],title:f.name,onCloseRequest:B},n.createElement("iframe",{className:L["meta-extension-modal-iframe"],sandbox:"allow-forms allow-scripts allow-same-origin",src:f.url})):null)};D.propTypes={urlParams:r.shape({type:r.string,id:r.string,videoId:r.string}),queryParams:r.instanceOf(URLSearchParams)};e.exports=d(D,(function(){return n.createElement("div",{className:L["metadetails-container"]},n.createElement(S,{className:L["nav-bar"],backButton:!0,addonsButton:!0,fullscreenButton:!0,navMenu:!0}))}))},72742:(e,t,a)=>{var o=["className","videoId","videoReleased","addonName","name","description","thumbnail","progress","deepLinks"],i=["className","children"];function n(){return n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(e[o]=a[o])}return e},n.apply(this,arguments)}function r(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return E(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return E(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function E(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}function _(e,t){if(null==e)return{};var a,o,i=(function(e,t){if(null==e)return{};var a,o,i={},n=Object.keys(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||(i[a]=e[a]);return i})(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}var T=a(67294),s=a(45697),S=a(94184),l=a(95985).default,I=a(96073).t,A=a(86590),u=A.Button,d=A.Image,c=A.useProfile,O=A.usePlatform,R=A.useToast,N=A.Popup,m=A.useBinaryState,L=a(63662).useServices,D=a(21665).useRouteFocused,p=a(34134),h=a(29144),C=function(e){var t=e.className,a=e.videoId,E=e.videoReleased,s=e.addonName,A=e.name,p=e.description,C=e.thumbnail,f=e.progress,B=e.deepLinks,P=_(e,o),g=c(),v=R(),y=O(),W=L().core,M=D(),b=r(m(!1),4),U=b[0],G=b[2],k=b[3],F=T.useCallback((function(e){e.nativeEvent.togglePopupPrevented||(e.nativeEvent.ctrlKey||2===e.nativeEvent.button)&&(e.preventDefault(),k())}),[]),V=T.useCallback((function(e){e.nativeEvent.togglePopupPrevented||e.nativeEvent.ctrlKey||e.preventDefault()}),[k]),H=T.useCallback((function(e){"mouse"===e.nativeEvent.pointerType||e.nativeEvent.togglePopupPrevented||k()}),[k]),w=T.useCallback((function(e){e.nativeEvent.togglePopupPrevented=!0}),[]),Y=T.useCallback((function(e){e.nativeEvent.togglePopupPrevented=!0}),[]),z=T.useCallback((function(e){e.nativeEvent.togglePopupPrevented=!0}),[]),K=T.useCallback((function(e){e.nativeEvent.buttonClickPrevented=!0}),[]),x=T.useMemo((function(){return B?B.externalPlayer?B.externalPlayer.web?B.externalPlayer.web:B.externalPlayer.openPlayer?B.externalPlayer.openPlayer[y.name]?B.externalPlayer.openPlayer[y.name]:B.externalPlayer.playlist:B.player:B.player:null}),[B]),j=T.useMemo((function(){var e;return x===(null==B||null===(e=B.externalPlayer)||void 0===e?void 0:e.playlist)?B.externalPlayer.fileName:null}),[x,B]),Q=T.useMemo((function(){var e;return x===(null==B||null===(e=B.externalPlayer)||void 0===e?void 0:e.web)?"_blank":null}),[x,B]),X=T.useMemo((function(){var e;return null==B||null===(e=B.externalPlayer)||void 0===e?void 0:e.download}),[B]),$=T.useCallback((function(){"string"==typeof a&&W.transport.dispatch({action:"MetaDetails",args:{action:"MarkVideoAsWatched",args:[{id:a,released:E},!0]}})}),[a,E]),q=T.useCallback((function(e){null!==g.settings.playerType&&($(),v.show({type:"success",title:"Stream opened in external player",timeout:4e3})),"function"==typeof P.onClick&&P.onClick(e)}),[P.onClick,g.settings,$]),J=T.useCallback((function(e){e.preventDefault(),G(),X&&navigator.clipboard.writeText(X).then((function(){v.show({type:"success",title:I("PLAYER_COPY_STREAM_SUCCESS"),timeout:4e3})})).catch((function(){v.show({type:"error",title:I("PLAYER_COPY_STREAM_ERROR"),timeout:4e3})}))}),[X]),Z=T.useCallback((function(){return T.createElement(l,{className:h["placeholder-icon"],name:"ic_broken_link"})}),[]),ee=T.useMemo((function(){return function(e){var t=e.className,a=e.children,o=_(e,i);return T.createElement(u,n({className:S(t,h["stream-container"]),title:s,href:x,target:Q,download:j,onClick:q},o),T.createElement("div",{className:h["info-container"]},"string"==typeof C&&C.length>0?T.createElement("div",{className:h["thumbnail-container"],title:A||s},T.createElement(d,{className:h.thumbnail,src:C,alt:" ",renderFallback:Z})):T.createElement("div",{className:h["addon-name-container"],title:A||s},T.createElement("div",{className:h["addon-name"]},A||s)),null!==f&&!isNaN(f)&&f>0?T.createElement("div",{className:h["progress-bar-container"]},T.createElement("div",{className:h["progress-bar"],style:{width:"".concat(f,"%")}}),T.createElement("div",{className:h["progress-bar-background"]})):null),T.createElement("div",{className:h["description-container"],title:p},p),T.createElement(l,{className:h.icon,name:"play"}),a)}}),[C,f,s,A,p,x,Q,j,q]),te=T.useMemo((function(){return function(){return T.createElement("div",{className:h["context-menu-content"],onPointerDown:w,onContextMenu:Y,onClick:z,onKeyDown:K},T.createElement(u,{className:h["context-menu-option-container"],title:I("CTX_PLAY")},T.createElement("div",{className:h["context-menu-option-label"]},I("CTX_PLAY"))),X&&T.createElement(u,{className:h["context-menu-option-container"],title:I("CTX_COPY_STREAM_LINK"),onClick:J},T.createElement("div",{className:h["context-menu-option-label"]},I("CTX_COPY_STREAM_LINK"))))}}),[J,q]);return T.useEffect((function(){M||G()}),[M]),T.createElement(N,{className:t,onMouseUp:F,onLongPress:H,onContextMenu:V,open:U,onCloseRequest:G,renderLabel:ee,renderMenu:te})};C.Placeholder=p,C.propTypes={className:s.string,videoId:s.string,videoReleased:s.instanceOf(Date),addonName:s.string,name:s.string,description:s.string,thumbnail:s.string,progress:s.number,deepLinks:s.shape({player:s.string,externalPlayer:s.shape({download:s.string,streaming:s.string,playlist:s.string,fileName:s.string,web:s.string,openPlayer:s.shape({ios:s.string,android:s.string,windows:s.string,macos:s.string,linux:s.string})})}),onClick:s.func},e.exports=C},63210:(e,t,a)=>{var o=a(67294),i=a(45697),n=a(94184),r=a(60926),E=a(51586),_=function(e){var t=e.className;return o.createElement("div",{className:n(t,E["stream-placeholder-container"])},o.createElement("div",{className:E["addon-container"]},o.createElement("div",{className:E["addon-name"]})),o.createElement("div",{className:E["info-container"]},o.createElement("div",{className:E["description-container"]}),o.createElement("div",{className:E["description-container"]})),o.createElement(r,{className:E["play-icon"]}))};_.propTypes={className:i.string},e.exports=_},34134:(e,t,a)=>{var o=a(63210);e.exports=o},24674:(e,t,a)=>{var o=a(72742);e.exports=o},14176:(e,t,a)=>{var o=["className","video"];function i(){return i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(e[o]=a[o])}return e},i.apply(this,arguments)}function n(e){return(function(e){if(Array.isArray(e))return S(e)})(e)||(function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)})(e)||s(e)||(function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function r(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function E(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?r(Object(a),!0).forEach((function(t){_(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):r(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function _(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function T(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||s(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function s(e,t){if(e){if("string"==typeof e)return S(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?S(e,t):void 0}}function S(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}function l(e,t){if(null==e)return{};var a,o,i=(function(e,t){if(null==e)return{};var a,o,i={},n=Object.keys(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||(i[a]=e[a]);return i})(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}var I=a(67294),A=a(45697),u=a(94184),d=a(81468).useTranslation,c=a(95985).default,O=a(86590),R=O.Button,N=O.Image,m=O.Multiselect,L=a(63662).useServices,D=a(24674),p=a(56789),h="ALL",C=function(e){var t=e.className,r=e.video,_=l(e,o),s=d().t,S=L().core,A=T(I.useState(h),2),O=A[0],C=A[1],f=I.useCallback((function(e){C(e.value)}),[]),B=I.useCallback((function(){r.deepLinks&&"string"==typeof r.deepLinks.metaDetailsVideos?window.location.replace(r.deepLinks.metaDetailsVideos+("number"==typeof r.season?"?".concat(new URLSearchParams({season:r.season})):null)):window.history.back()}),[r]),P=I.useMemo((function(){return _.streams.filter((function(e){return"Loading"===e.content.type})).length}),[_.streams]),g=I.useMemo((function(){return _.streams.filter((function(e){return"Ready"===e.content.type})).reduce((function(e,t){return e[t.addon.transportUrl]={addon:t.addon,streams:t.content.content.map((function(e){return E(E({},e),{},{onClick:function(){S.transport.analytics({event:"StreamClicked",args:{stream:e}})},addonName:t.addon.manifest.name})}))},e}),{})}),[_.streams]),v=I.useMemo((function(){return O===h?Object.values(g).map((function(e){return e.streams})).flat(1):g[O]?g[O].streams:[]}),[g,O]),y=I.useMemo((function(){return{title:"Select Addon",options:[{value:h,label:s("ALL_ADDONS"),title:s("ALL_ADDONS")}].concat(n(Object.keys(g).map((function(e){return{value:e,label:g[e].addon.manifest.name,title:g[e].addon.manifest.name}})))),selected:[O],onSelect:f}}),[g,O]);return I.createElement("div",{className:u(t,p["streams-list-container"])},I.createElement("div",{className:p["select-choices-wrapper"]},r?I.createElement(I.Fragment,null,I.createElement(R,{className:u(p["button-container"],p["back-button-container"]),tabIndex:-1,onClick:B},I.createElement(c,{className:p.icon,name:"chevron-back"})),I.createElement("div",{className:p["episode-title"]},"S".concat(null==r?void 0:r.season,"E").concat(null==r?void 0:r.episode," ").concat(null==r?void 0:r.title))):null,Object.keys(g).length>1?I.createElement(m,i({},y,{className:p["select-input-container"]})):null),0===_.streams.length?I.createElement("div",{className:p["message-container"]},I.createElement(N,{className:p.image,src:a(47740),alt:" "}),I.createElement("div",{className:p.label},"No addons were requested for streams!")):_.streams.every((function(e){return"Err"===e.content.type}))?I.createElement("div",{className:p["message-container"]},I.createElement(N,{className:p.image,src:a(47740),alt:" "}),I.createElement("div",{className:p.label},s("NO_STREAM"))):0===v.length?I.createElement("div",{className:p["streams-container"]},I.createElement(D.Placeholder,null),I.createElement(D.Placeholder,null)):I.createElement(I.Fragment,null,P>0?I.createElement("div",{className:p["addons-loading-container"]},I.createElement("div",{className:p["addons-loading"]},P," ",s("MOBILE_ADDONS_LOADING")),I.createElement("span",{className:p["addons-loading-bar"]})):null,I.createElement("div",{className:p["streams-container"]},v.map((function(e,t){return I.createElement(D,{key:t,videoId:null==r?void 0:r.id,videoReleased:null==r?void 0:r.released,addonName:e.addonName,name:e.name,description:e.description,thumbnail:e.thumbnail,progress:e.progress,deepLinks:e.deepLinks,onClick:e.onClick})})))),I.createElement(R,{className:p["install-button-container"],title:s("ADDON_CATALOGUE_MORE"),href:"#/addons"},I.createElement(c,{className:p.icon,name:"addons"}),I.createElement("div",{className:p.label},s("ADDON_CATALOGUE_MORE"))))};C.propTypes={className:A.string,streams:A.arrayOf(A.object).isRequired,video:A.object},e.exports=C},42231:(e,t,a)=>{var o=a(14176);e.exports=o},42813:(e,t,a)=>{function o(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return i(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return i(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var n=a(67294),r=a(45697),E=a(94184),_=a(96073).t,T=a(95985).default,s=a(86590).Button,S=a(53570),l=a(90801),I=a(86590).MultiselectMenu,A=function(e){var t=e.className,a=e.seasons,i=e.season,r=e.onSelect,S=n.useMemo((function(){return a.map((function(e){return{value:String(e),label:e>0?"".concat(_("SEASON")," ").concat(e):_("SPECIAL")}}))}),[a]),A=n.useMemo((function(){return{label:String(i),value:String(i)}}),[i]),u=n.useCallback((function(e){if("function"==typeof r){var t=a.indexOf(i),o="next"===e.currentTarget.dataset.action?t+1<a.length?t+1:a.length-1:t-1>=0?t-1:0,n=a[o];r({type:"select",value:n,reactEvent:e,nativeEvent:e.nativeEvent})}}),[i,a,r]),d=n.useCallback((function(e){"function"==typeof r&&r({type:"select",value:e,reactEvent:event.reactEvent,nativeEvent:event.nativeEvent})}),[r]),c=o(n.useMemo((function(){var e=a.indexOf(i);return[0===e,e===a.length-1]}),[i,a]),2),O=c[0],R=c[1];return n.createElement("div",{className:E(t,l["seasons-bar-container"])},n.createElement(s,{className:E(l["prev-season-button"],{disabled:O}),title:"Previous season","data-action":"prev",onClick:u},n.createElement(T,{className:l.icon,name:"chevron-back"}),n.createElement("div",{className:l.label},"Prev")),n.createElement(I,{className:l["seasons-popup-label-container"],options:S,title:i>0?"".concat(_("SEASON")," ").concat(i):_("SPECIAL"),selectedOption:A,onSelect:d}),n.createElement(s,{className:E(l["next-season-button"],{disabled:R}),title:"Next season","data-action":"next",onClick:u},n.createElement("div",{className:l.label},"Next"),n.createElement(T,{className:l.icon,name:"chevron-forward"})))};A.Placeholder=S,A.propTypes={className:r.string,seasons:r.arrayOf(r.number).isRequired,season:r.number.isRequired,onSelect:r.func},e.exports=A},89319:(e,t,a)=>{var o=a(67294),i=a(45697),n=a(94184),r=a(95985).default,E=a(61892),_=function(e){var t=e.className;return o.createElement("div",{className:n(t,E["seasons-bar-placeholder-container"])},o.createElement("div",{className:E["prev-season-button"]},o.createElement(r,{className:E.icon,name:"chevron-back"}),o.createElement("div",{className:E.label},"Prev")),o.createElement("div",{className:E["seasons-popup-label-container"]},o.createElement("div",{className:E["seasons-popup-label"]},"Season 1"),o.createElement(r,{className:E["seasons-popup-icon"],name:"caret-down"})),o.createElement("div",{className:E["next-season-button"]},o.createElement("div",{className:E.label},"Next"),o.createElement(r,{className:E.icon,name:"chevron-forward"})))};_.propTypes={className:i.string},e.exports=_},53570:(e,t,a)=>{var o=a(89319);e.exports=o},23424:(e,t,a)=>{var o=a(42813);e.exports=o},32824:(e,t,a)=>{var o=["className","id","title","thumbnail","episode","released","upcoming","watched","progress","scheduled","deepLinks"],i=["className","id","title","thumbnail","episode","released","upcoming","watched","progress","scheduled","children"];function n(){return n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(e[o]=a[o])}return e},n.apply(this,arguments)}function r(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return E(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return E(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function E(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}function _(e,t){if(null==e)return{};var a,o,i=(function(e,t){if(null==e)return{};var a,o,i={},n=Object.keys(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||(i[a]=e[a]);return i})(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}var T=a(67294),s=a(45697),S=a(94184),l=a(96073).t,I=a(63662).useServices,A=a(21665).useRouteFocused,u=a(95985).default,d=a(86590),c=d.Button,O=d.Image,R=d.Popup,N=d.useBinaryState,m=a(9922),L=a(22860),D=function(e){var t=e.className,a=e.id,E=e.title,s=e.thumbnail,d=e.episode,m=e.released,D=e.upcoming,p=e.watched,h=e.progress,C=e.scheduled,f=e.deepLinks,B=_(e,o),P=I().core,g=A(),v=r(N(!1),4),y=v[0],W=v[2],M=v[3],b=T.useCallback((function(e){e.nativeEvent.togglePopupPrevented||(e.nativeEvent.ctrlKey||2===e.nativeEvent.button)&&(e.preventDefault(),M())}),[]),U=T.useCallback((function(e){e.nativeEvent.togglePopupPrevented||e.nativeEvent.ctrlKey||e.preventDefault()}),[M]),G=T.useCallback((function(e){"mouse"===e.nativeEvent.pointerType||e.nativeEvent.togglePopupPrevented||M()}),[M]),k=T.useCallback((function(e){e.nativeEvent.togglePopupPrevented=!0}),[]),F=T.useCallback((function(e){e.nativeEvent.togglePopupPrevented=!0}),[]),V=T.useCallback((function(e){e.nativeEvent.togglePopupPrevented=!0}),[]),H=T.useCallback((function(e){e.nativeEvent.buttonClickPrevented=!0}),[]),w=T.useCallback((function(e){e.preventDefault(),W(),P.transport.dispatch({action:"MetaDetails",args:{action:"MarkVideoAsWatched",args:[{id:a,released:m},!p]}})}),[a,m,p]),Y=T.useCallback((function(){f&&("string"==typeof f.player?window.location=f.player:"string"==typeof f.metaDetailsStreams&&window.location.replace(f.metaDetailsStreams))}),[f]),z=T.useMemo((function(){return function(e){var t=e.className,a=e.id,o=e.title,r=e.thumbnail,E=e.episode,s=e.released,l=e.upcoming,I=e.watched,A=e.progress,d=e.scheduled,R=e.children,N=_(e,i);return T.createElement(c,n({},N,{className:S(t,L["video-container"]),title:o}),"string"==typeof r&&r.length>0?T.createElement("div",{className:L["thumbnail-container"]},T.createElement(O,{className:L.thumbnail,src:r,alt:" ",renderFallback:function(){return T.createElement(u,{className:L["placeholder-icon"],name:"symbol"})}}),null!==A&&!isNaN(A)&&A>0?T.createElement("div",{className:L["progress-bar-container"]},T.createElement("div",{className:L["progress-bar"],style:{width:"".concat(A,"%")}}),T.createElement("div",{className:L["progress-bar-background"]})):null):null,T.createElement("div",{className:L["info-container"]},T.createElement("div",{className:L["title-container"]},null===E||isNaN(E)?null:"".concat(E,". "),"string"==typeof o&&o.length>0?o:a),T.createElement("div",{className:L["flex-row-container"]},s instanceof Date&&!isNaN(s.getTime())?T.createElement("div",{className:L["released-container"]},s.toLocaleString(void 0,{year:"numeric",month:"short",day:"numeric"})):d?T.createElement("div",{className:L["released-container"],title:"To be announced"},"TBA"):null,T.createElement("div",{className:L["upcoming-watched-container"]},l&&!I?T.createElement("div",{className:L["upcoming-container"]},T.createElement("div",{className:L["flag-label"]},"Upcoming")):null,I?T.createElement("div",{className:L["watched-container"]},T.createElement(u,{className:L["flag-icon"],name:"eye"}),T.createElement("div",{className:L["flag-label"]},"Watched")):null))),R)}}),[]),K=T.useMemo((function(){return function(){return T.createElement("div",{className:L["context-menu-content"],onPointerDown:k,onContextMenu:F,onClick:V,onKeyDown:H},T.createElement(c,{className:L["context-menu-option-container"],title:"Watch"},T.createElement("div",{className:L["context-menu-option-label"]},l("CTX_WATCH"))),T.createElement(c,{className:L["context-menu-option-container"],title:p?"Mark as non-watched":"Mark as watched",onClick:w},T.createElement("div",{className:L["context-menu-option-label"]},l(p?"CTX_MARK_NON_WATCHED":"CTX_MARK_WATCHED"))))}}),[p,w]);return T.useEffect((function(){g||W()}),[g]),T.createElement(R,n({className:t,id:a,title:E,thumbnail:s,episode:d,released:m,upcoming:D,watched:p,progress:h,scheduled:C,onClick:Y},B,{onMouseUp:b,onLongPress:G,onContextMenu:U,open:y,onCloseRequest:W,renderLabel:z,renderMenu:K}))};D.Placeholder=m,D.propTypes={className:s.string,id:s.string,title:s.string,thumbnail:s.string,episode:s.number,released:s.instanceOf(Date),upcoming:s.bool,watched:s.bool,progress:s.number,scheduled:s.bool,deepLinks:s.shape({metaDetailsStreams:s.string,player:s.string})},e.exports=D},38509:(e,t,a)=>{var o=a(67294),i=a(45697),n=a(94184),r=a(51162),E=function(e){var t=e.className;return o.createElement("div",{className:n(t,r["video-placeholder-container"])},o.createElement("div",{className:r["info-container"]},o.createElement("div",{className:r["name-container"]}),o.createElement("div",{className:r["released-container"]})))};E.propTypes={className:i.string},e.exports=E},9922:(e,t,a)=>{var o=a(38509);e.exports=o},90123:(e,t,a)=>{var o=a(32824);e.exports=o},41702:(e,t,a)=>{function o(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return i(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return i(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var n=a(67294),r=a(45697),E=a(94184),_=a(96073).t,T=a(86590),s=T.Image,S=T.SearchBar,l=T.Checkbox,I=a(23424),A=a(90123),u=a(2721),d=function(e){var t=e.className,i=e.metaItem,r=e.libraryItem,T=e.season,d=e.seasonOnSelect,c=e.toggleNotifications,O=n.useMemo((function(){var e,t,a,o,n;return(null==i||null===(e=i.content)||void 0===e||null===(t=e.content)||void 0===t?void 0:t.inLibrary)&&(null==i||null===(a=i.content)||void 0===a||null===(o=a.content)||void 0===o||null===(n=o.videos)||void 0===n?void 0:n.length)}),[i]),R=n.useMemo((function(){return i&&"Ready"===i.content.type?i.content.content.videos:[]}),[i]),N=n.useMemo((function(){return R.map((function(e){return e.season})).filter((function(e,t,a){return null!==e&&!isNaN(e)&&"number"==typeof e&&a.indexOf(e)===t})).sort((function(e,t){return(e||Number.MAX_SAFE_INTEGER)-(t||Number.MAX_SAFE_INTEGER)}))}),[R]),m=n.useMemo((function(){if(N.includes(T))return T;var e=N.filter((function(e){return 0!==e}));return e.length>0?e[e.length-1]:N.length>0?N[N.length-1]:null}),[N,T]),L=n.useMemo((function(){return R.filter((function(e){return null===m||e.season===m})).sort((function(e,t){return e.episode-t.episode}))}),[R,m]),D=o(n.useState(""),2),p=D[0],h=D[1],C=n.useCallback((function(e){h(e.currentTarget.value)}),[]);return n.createElement("div",{className:E(t,u["videos-list-container"])},i&&"Loading"!==i.content.type?"Err"===i.content.type||0===L.length?n.createElement("div",{className:u["message-container"]},n.createElement(s,{className:u.image,src:a(47740),alt:" "}),n.createElement("div",{className:u.label},"No videos found for this meta!")):n.createElement(n.Fragment,null,O&&r?n.createElement(l,{className:u["notifications-checkbox"],checked:!r.state.noNotif,onClick:c},_("DETAIL_RECEIVE_NOTIF_SERIES")):null,N.length>0?n.createElement(I,{className:u["seasons-bar"],season:m,seasons:N,onSelect:d}):null,n.createElement(S,{className:u["search-bar"],title:_("SEARCH_VIDEOS"),value:p,onChange:C}),n.createElement("div",{className:u["videos-container"]},L.filter((function(e){return 0===p.length||"string"==typeof e.title&&e.title.toLowerCase().includes(p.toLowerCase())||!isNaN(e.released.getTime())&&e.released.toLocaleString(void 0,{year:"2-digit",month:"short",day:"numeric"}).toLowerCase().includes(p.toLowerCase())})).map((function(e,t){return n.createElement(A,{key:t,id:e.id,title:e.title,thumbnail:e.thumbnail,episode:e.episode,released:e.released,upcoming:e.upcoming,watched:e.watched,progress:e.progress,deepLinks:e.deepLinks,scheduled:e.scheduled})})))):n.createElement(n.Fragment,null,n.createElement(I.Placeholder,{className:u["seasons-bar"]}),n.createElement(S.Placeholder,{className:u["search-bar"],title:_("SEARCH_VIDEOS")}),n.createElement("div",{className:u["videos-scroll-container"]},n.createElement(A.Placeholder,null),n.createElement(A.Placeholder,null),n.createElement(A.Placeholder,null),n.createElement(A.Placeholder,null),n.createElement(A.Placeholder,null))))};d.propTypes={className:r.string,metaItem:r.object,libraryItem:r.object,season:r.number,seasonOnSelect:r.func,toggleNotifications:r.func},e.exports=d},48437:(e,t,a)=>{var o=a(41702);e.exports=o},69005:(e,t,a)=>{var o=a(88493);e.exports=o},48450:(e,t,a)=>{function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?o(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):o(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}var r=a(67294),E=a(86590).useModelState,_=function(e){return i(i({},e),{},{metaItem:null!==e.metaItem&&"Ready"===e.metaItem.content.type?i(i({},e.metaItem),{},{content:i(i({},e.metaItem.content),{},{content:i(i({},e.metaItem.content.content),{},{released:new Date("string"==typeof e.metaItem.content.content.released?e.metaItem.content.content.released:NaN),videos:e.metaItem.content.content.videos.map((function(e){return i(i({},e),{},{released:new Date("string"==typeof e.released?e.released:NaN)})}))})})}):e.metaItem})};e.exports=function(e){var t=r.useMemo((function(){return"string"==typeof e.type&&"string"==typeof e.id?{action:"Load",args:{model:"MetaDetails",args:{metaPath:{resource:"meta",type:e.type,id:e.id,extra:[]},streamPath:"string"==typeof e.videoId?{resource:"stream",type:e.type,id:e.videoId,extra:[]}:null,guessStream:!0}}}:{action:"Unload"}}),[e]);return E({model:"meta_details",action:t,map:_})}},84636:(e,t,a)=>{function o(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return i(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return i(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var n=a(67294);e.exports=function(e){var t=n.useMemo((function(){return e.map((function(e){return{id:e.url,label:e.addon.manifest.name,logo:e.addon.manifest.logo,icon:"addons",onClick:function(){return r(e)}}}))}),[e]),a=o(n.useState(null),2),i=a[0],r=a[1];return[t,i,n.useCallback((function(){r(null)}),[])]}},85651:(e,t,a)=>{var o=a(67294);e.exports=function(e,t){var a=o.useMemo((function(){return t.has("season")&&!isNaN(t.get("season"))?parseInt(t.get("season"),10):null}),[t]),i=o.useCallback((function(a){var o=new URLSearchParams(t);o.set("season",a),window.location.replace("#".concat(e.path,"?").concat(o))}),[e,t]);return[a,i]}},39096:(e,t,a)=>{var o=a(67294),i=a(86590),n=i.Image,r=i.HorizontalNavBar,E=a(4407);e.exports=function(){return o.createElement("div",{className:E["not-found-container"]},o.createElement(r,{className:E["nav-bar"],title:"Page not found",backButton:!0,fullscreenButton:!0,navMenu:!0}),o.createElement("div",{className:E["not-found-content"]},o.createElement(n,{className:E["not-found-image"],src:a(47740),alt:" "}),o.createElement("div",{className:E["not-found-label"]},"Page not found!")))}},50353:(e,t,a)=>{var o=a(39096);e.exports=o},29579:(e,t,a)=>{var o=a(67294),i=a(45697),n=a(94184),r=a(86590).Image,E=a(91190),_=function(e){var t=e.className,i=e.logo;return o.createElement("div",{className:n(t,E["buffering-loader-container"])},o.createElement(r,{className:E["buffering-loader"],src:i,alt:" ",fallbackSrc:a(35313)}))};_.propTypes={className:i.string,logo:i.string},e.exports=_},33475:(e,t,a)=>{var o=a(29579);e.exports=o},95531:(e,t,a)=>{var o=["className","paused","time","duration","buffered","volume","muted","playbackSpeed","subtitlesTracks","audioTracks","metaItem","nextVideo","stream","statistics","onPlayRequested","onPauseRequested","onNextVideoRequested","onMuteRequested","onUnmuteRequested","onVolumeChangeRequested","onSeekRequested","onToggleSubtitlesMenu","onToggleInfoMenu","onToggleSpeedMenu","onToggleVideosMenu","onToggleOptionsMenu","onToggleStatisticsMenu"];function i(){return i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(e[o]=a[o])}return e},i.apply(this,arguments)}function n(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return r(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return r(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}function E(e,t){if(null==e)return{};var a,o,i=(function(e,t){if(null==e)return{};var a,o,i={},n=Object.keys(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||(i[a]=e[a]);return i})(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}var _=a(67294),T=a(45697),s=a(94184),S=a(95985).default,l=a(86590).Button,I=a(63662).useServices,A=a(85280),u=a(47429),d=a(25483),c=a(86590).useBinaryState,O=a(96073).t,R=function(e){var t,a,r=e.className,T=e.paused,R=e.time,N=e.duration,m=e.buffered,L=e.volume,D=e.muted,p=e.playbackSpeed,h=e.subtitlesTracks,C=e.audioTracks,f=e.metaItem,B=e.nextVideo,P=e.stream,g=e.statistics,v=e.onPlayRequested,y=e.onPauseRequested,W=e.onNextVideoRequested,M=e.onMuteRequested,b=e.onUnmuteRequested,U=e.onVolumeChangeRequested,G=e.onSeekRequested,k=e.onToggleSubtitlesMenu,F=e.onToggleInfoMenu,V=e.onToggleSpeedMenu,H=e.onToggleVideosMenu,w=e.onToggleOptionsMenu,Y=e.onToggleStatisticsMenu,z=E(e,o),K=I().chromecast,x=n(_.useState((function(){return K.active})),2),j=x[0],Q=x[1],X=n(c(!1),4),$=X[0],q=X[3],J=_.useCallback((function(e){e.nativeEvent.subtitlesMenuClosePrevented=!0}),[]),Z=_.useCallback((function(e){e.nativeEvent.infoMenuClosePrevented=!0}),[]),ee=_.useCallback((function(e){e.nativeEvent.speedMenuClosePrevented=!0}),[]),te=_.useCallback((function(e){e.nativeEvent.videosMenuClosePrevented=!0}),[]),ae=_.useCallback((function(e){e.nativeEvent.optionsMenuClosePrevented=!0}),[]),oe=_.useCallback((function(e){e.nativeEvent.statisticsMenuClosePrevented=!0}),[]),ie=_.useCallback((function(){T?"function"==typeof v&&v():"function"==typeof y&&y()}),[T,v,y]),ne=_.useCallback((function(){null!==B&&"function"==typeof W&&W()}),[B,W]),re=_.useCallback((function(){D?"function"==typeof b&&b():"function"==typeof M&&M()}),[D,M,b]),Ee=_.useCallback((function(){K.transport.requestSession()}),[]);return _.useEffect((function(){var e=function(){Q(K.active)};return K.on("stateChanged",e),function(){K.off("stateChanged",e)}}),[]),_.createElement("div",i({},z,{className:s(r,d["control-bar-container"])}),_.createElement(A,{className:d["seek-bar"],time:R,duration:N,buffered:m,onSeekRequested:G}),_.createElement("div",{className:d["control-bar-buttons-container"]},_.createElement(l,{className:s(d["control-bar-button"],{disabled:"boolean"!=typeof T}),title:O(T?"PLAYER_PLAY":"PLAYER_PAUSE"),tabIndex:-1,onClick:ie},_.createElement(S,{className:d.icon,name:"boolean"!=typeof T||T?"play":"pause"})),null!==B?_.createElement(l,{className:s(d["control-bar-button"]),title:O("PLAYER_NEXT_VIDEO"),tabIndex:-1,onClick:ne},_.createElement(S,{className:d.icon,name:"next"})):null,_.createElement(l,{className:s(d["control-bar-button"],{disabled:"boolean"!=typeof D}),title:O(D?"PLAYER_UNMUTE":"PLAYER_MUTE"),tabIndex:-1,onClick:re},_.createElement(S,{className:d.icon,name:"boolean"==typeof D&&D?"volume-mute":null===L||isNaN(L)?"volume-off":L<30?"volume-low":L<70?"volume-medium":"volume-high"})),_.createElement(u,{className:d["volume-slider"],volume:L,onVolumeChangeRequested:U}),_.createElement("div",{className:d.spacing}),_.createElement(l,{className:d["control-bar-buttons-menu-button"],onClick:q},_.createElement(S,{className:d.icon,name:"more-vertical"})),_.createElement("div",{className:s(d["control-bar-buttons-menu-container"],{open:$})},_.createElement(l,{className:s(d["control-bar-button"],{disabled:null===g||"Err"===g.type||null===P||"string"!=typeof P.infoHash||"number"!=typeof P.fileIdx}),tabIndex:-1,onMouseDown:oe,onClick:Y},_.createElement(S,{className:d.icon,name:"network"})),_.createElement(l,{className:s(d["control-bar-button"],{disabled:null===p}),tabIndex:-1,onMouseDown:ee,onClick:V},_.createElement(S,{className:d.icon,name:"speed"})),_.createElement(l,{className:s(d["control-bar-button"],{disabled:null===f||"Ready"!==f.type}),tabIndex:-1,onMouseDown:Z,onClick:F},_.createElement(S,{className:d.icon,name:"about"})),_.createElement(l,{className:s(d["control-bar-button"],{disabled:!j}),tabIndex:-1,onClick:Ee},_.createElement(S,{className:d.icon,name:"cast"})),_.createElement(l,{className:s(d["control-bar-button"],{disabled:!(Array.isArray(h)&&0!==h.length||Array.isArray(C)&&0!==C.length)}),tabIndex:-1,onMouseDown:J,onClick:k},_.createElement(S,{className:d.icon,name:"subtitles"})),(null==f||null===(t=f.content)||void 0===t||null===(a=t.videos)||void 0===a?void 0:a.length)>0?_.createElement(l,{className:d["control-bar-button"],tabIndex:-1,onMouseDown:te,onClick:H},_.createElement(S,{className:d.icon,name:"episodes"})):null,_.createElement(l,{className:d["control-bar-button"],tabIndex:-1,onMouseDown:ae,onClick:w},_.createElement(S,{className:d.icon,name:"more-horizontal"})))))};R.propTypes={className:T.string,paused:T.bool,time:T.number,duration:T.number,buffered:T.number,volume:T.number,muted:T.bool,playbackSpeed:T.number,subtitlesTracks:T.array,audioTracks:T.array,metaItem:T.object,nextVideo:T.object,stream:T.object,statistics:T.object,onPlayRequested:T.func,onPauseRequested:T.func,onNextVideoRequested:T.func,onMuteRequested:T.func,onUnmuteRequested:T.func,onVolumeChangeRequested:T.func,onSeekRequested:T.func,onToggleSubtitlesMenu:T.func,onToggleInfoMenu:T.func,onToggleSpeedMenu:T.func,onToggleVideosMenu:T.func,onToggleOptionsMenu:T.func,onToggleStatisticsMenu:T.func},e.exports=R},36181:(e,t,a)=>{function o(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return i(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return i(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var n=a(67294),r=a(45697),E=a(94184),_=a(91296),T=a(21665).useRouteFocused,s=a(86590),S=s.Slider,l=s.Button,I=s.useBinaryState,A=a(57537),u=a(99371),d=function(e){var t=e.className,a=e.time,i=e.duration,r=e.buffered,s=e.onSeekRequested,d=null===a||isNaN(a)||null===i||isNaN(i),c=T(),O=o(n.useState(null),2),R=O[0],N=O[1],m=o(I(!1),4),L=m[0],D=m[3],p=n.useCallback(_((function(){N(null)}),1500),[]),h=n.useCallback((function(e){p.cancel(),N(e)}),[]),C=n.useCallback((function(e){p(),N(e),"function"==typeof s&&s(e)}),[s]);return n.useLayoutEffect((function(){c&&!d||(p.cancel(),N(null))}),[c,d]),n.useEffect((function(){return function(){p.cancel()}}),[]),n.createElement("div",{className:E(t,u["seek-bar-container"],{active:null!==R})},n.createElement("div",{className:u.label},A(null!==R?R:a)),n.createElement(S,{className:E(u.slider,{active:null!==R}),value:d?0:null!==R?R:a,buffered:r,minimumValue:0,maximumValue:i,disabled:d,onSlide:h,onComplete:C}),n.createElement(l,{onClick:D,tabIndex:-1},n.createElement("div",{className:u.label},L&&null!==i&&!isNaN(i)?A(i-a,"-"):A(i))))};d.propTypes={className:r.string,time:r.number,duration:r.number,buffered:r.number,onSeekRequested:r.func},e.exports=d},57537:e=>{var t=function(e){return("0"+e).slice(-1*Math.max(e.toString().length,2))};e.exports=function(e){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";if(null===e||isNaN(e))return"--:--:--";var o=Math.floor(e/36e5),i=Math.floor(e/6e4%60),n=Math.floor(e/1e3%60);return"".concat(t(o),":").concat(t(i),":").concat(t(n)).concat(a)}},85280:(e,t,a)=>{var o=a(36181);e.exports=o},44932:(e,t,a)=>{function o(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return i(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return i(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var n=a(67294),r=a(45697),E=a(94184),_=a(91296),T=a(21665).useRouteFocused,s=a(86590).Slider,S=a(80424),l=function(e){var t=e.className,a=e.volume,i=e.onVolumeChangeRequested,r=null===a||isNaN(a),l=T(),I=o(n.useState(null),2),A=I[0],u=I[1],d=n.useCallback(_((function(){u(null)}),100),[]),c=n.useCallback((function(e){d.cancel(),u(e),"function"==typeof i&&i(e)}),[i]),O=n.useCallback((function(e){d(),u(e),"function"==typeof i&&i(e)}),[i]);return n.useLayoutEffect((function(){l&&!r||(d.cancel(),u(null))}),[l,r]),n.useEffect((function(){return function(){d.cancel()}}),[]),n.createElement(s,{className:E(t,S["volume-slider"],{active:null!==A}),value:r?100:null!==A?A:a,minimumValue:0,maximumValue:100,disabled:r,onSlide:c,onComplete:O})};l.propTypes={className:r.string,volume:r.number,onVolumeChangeRequested:r.func},e.exports=l},47429:(e,t,a)=>{var o=a(44932);e.exports=o},39292:(e,t,a)=>{var o=a(95531);e.exports=o},96295:(e,t,a)=>{function o(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return i(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return i(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var n=a(67294),r=a(81468).useTranslation,E=a(45697),_=a(94184),T=a(95985).default,s=a(6851),S=a(80381),l=function(e){var t=e.className,a=e.code,i=e.message,E=e.stream,l=r().t,I=o(n.useMemo((function(){var e,t,a,o;return[null==E||null===(e=E.deepLinks)||void 0===e||null===(t=e.externalPlayer)||void 0===t?void 0:t.playlist,null==E||null===(a=E.deepLinks)||void 0===a||null===(o=a.externalPlayer)||void 0===o?void 0:o.fileName]}),[E]),2),A=I[0],u=I[1];return n.createElement("div",{className:_(t,S.error)},n.createElement("div",{className:S["error-label"],title:i},i),2===a?n.createElement("div",{className:S["error-sub"],title:l("EXTERNAL_PLAYER_HINT")},l("EXTERNAL_PLAYER_HINT")):null,A&&u?n.createElement(s,{className:S["playlist-button"],title:l("PLAYER_OPEN_IN_EXTERNAL"),href:A,download:u,target:"_blank"},n.createElement(T,{className:S.icon,name:"ic_downloads"}),n.createElement("div",{className:S.label},l("PLAYER_OPEN_IN_EXTERNAL"))):null)};l.propTypes={className:E.string,code:E.number,message:E.string,stream:E.object},e.exports=l},36462:(e,t,a)=>{var o=a(96295);e.exports=o},68928:(e,t,a)=>{var o=["className"];function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function n(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?i(Object(a),!0).forEach((function(t){r(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):i(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function E(e,t){if(null==e)return{};var a,o,i=(function(e,t){if(null==e)return{};var a,o,i={},n=Object.keys(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||(i[a]=e[a]);return i})(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}var _=a(67294),T=a(45697),s=a(94184),S=a(86590),l=S.MetaPreview,I=S.CONSTANTS,A=a(13185),u=function(e){var t=e.className,a=E(e,o),i=_.useMemo((function(){return null!==a.metaItem?n(n({},a.metaItem),{},{links:a.metaItem.links.filter((function(e){return e.category===I.SHARE_LINK_CATEGORY}))}):null}),[a.metaItem]),r=_.useCallback((function(e){e.nativeEvent.infoMenuClosePrevented=!0}),[]);return _.createElement("div",{className:s(t,A["info-menu-container"]),onMouseDown:r},null!==i?_.createElement(l,{className:A["meta-preview"],compact:!0,name:i.name,logo:i.logo,runtime:i.runtime,releaseInfo:i.releaseInfo,released:i.released,description:i.description,links:i.links}):null)};u.propTypes={className:T.string,metaItem:T.object,addon:T.object,stream:T.object},e.exports=u},95458:(e,t,a)=>{var o=a(68928);e.exports=o},72690:(e,t,a)=>{function o(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return i(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return i(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var n=a(67294),r=a(45697),E=a(94184),_=a(95985).default,T=a(86590),s=T.Image,S=T.Button,l=T.CONSTANTS,I=a(85485),A=function(e){var t=e.className,a=e.metaItem,i=e.nextVideo,r=e.onDismiss,T=e.onNextVideoRequested,A=n.useRef(null),u=o(n.useState(!1),2),d=u[0],c=u[1],O=n.useMemo((function(){var e=i&&i.title||a&&a.title;return null!==i&&"number"==typeof i.season&&"number"==typeof i.episode?"".concat(e," (S").concat(i.season,"E").concat(i.episode,")"):e}),[a,i]),R=n.useCallback((function(){c(!0)}),[]),N=n.useCallback((function(){return null!==a&&"string"==typeof a.type?n.createElement(_,{className:I["placeholder-icon"],name:l.ICON_FOR_TYPE.has(a.type)?l.ICON_FOR_TYPE.get(a.type):l.ICON_FOR_TYPE.get("other")}):null}),[a]),m=n.useCallback((function(){"function"==typeof r&&r()}),[r]),L=n.useCallback((function(){"function"==typeof T&&T()}),[T]);return n.useLayoutEffect((function(){!0===d&&null!==A.current&&A.current.focus()}),[d]),n.createElement("div",{className:E(t,I["next-video-popup-container"]),onAnimationEnd:R},n.createElement("div",{className:I["poster-container"]},n.createElement(s,{className:I["poster-image"],src:null==i?void 0:i.thumbnail,alt:" ",fallbackSrc:null==a?void 0:a.poster,renderFallback:N})),n.createElement("div",{className:I["info-container"]},n.createElement("div",{className:I["details-container"]},"string"==typeof(null==a?void 0:a.name)?n.createElement("div",{className:I.name},n.createElement("span",{className:I.label},"Next on")," ",a.name):null,"string"==typeof O?n.createElement("div",{className:I.title},O):null,null!==i&&"string"==typeof i.overview?n.createElement("div",{className:I.description},i.overview):null),n.createElement("div",{className:I["buttons-container"]},n.createElement(S,{className:E(I["button-container"],I.dismiss),onClick:m},n.createElement(_,{className:I.icon,name:"close"}),n.createElement("div",{className:I.label},"Dismiss")),n.createElement(S,{ref:A,className:E(I["button-container"],I["play-button"]),onClick:L},n.createElement(_,{className:I.icon,name:"play"}),n.createElement("div",{className:I.label},"Watch Now")))))};A.propTypes={className:r.string,metaItem:r.object,nextVideo:r.object,onDismiss:r.func,onNextVideoRequested:r.func},e.exports=A},28698:(e,t,a)=>{var o=a(72690);e.exports=o},19252:(e,t,a)=>{var o=a(67294),i=a(45697),n=a(94184),r=a(95985).default,E=a(86590).Button,_=a(55503),T=function(e){var t=e.icon,a=e.label,i=e.deviceId,T=e.disabled,s=e.onClick,S=o.useCallback((function(){"function"==typeof s&&s(i)}),[s,i]);return o.createElement(E,{className:n(_["option-container"],{disabled:T}),disabled:T,onClick:S},o.createElement(r,{className:_.icon,name:t}),o.createElement("div",{className:_.label},a))};T.propTypes={icon:i.string,label:i.string,deviceId:i.string,disabled:i.bool,onClick:i.func},e.exports=T},19944:(e,t,a)=>{var o=a(19252);e.exports=o},61366:(e,t,a)=>{function o(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return i(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return i(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var n=a(67294),r=a(45697),E=a(94184),_=a(81468).useTranslation,T=a(86590),s=T.usePlatform,S=T.useToast,l=a(63662).useServices,I=a(19944),A=a(90628),u=function(e){var t=e.className,a=e.stream,i=e.playbackDevices,r=_().t,T=l().core,u=s(),d=S(),c=o(n.useMemo((function(){return null!==a?a.deepLinks&&a.deepLinks.externalPlayer&&[a.deepLinks.externalPlayer.streaming,a.deepLinks.externalPlayer.download]:[null,null]}),[a]),2),O=c[0],R=c[1],N=n.useMemo((function(){return i.filter((function(e){return"external"===e.type}))}),[i]),m=n.useCallback((function(){(O||R)&&navigator.clipboard.writeText(O||R).then((function(){d.show({type:"success",title:"Copied",message:r("PLAYER_COPY_STREAM_SUCCESS"),timeout:3e3})})).catch((function(e){console.error(e),d.show({type:"error",title:r("Error"),message:"".concat(r("PLAYER_COPY_STREAM_ERROR"),": ").concat(O||R),timeout:3e3})}))}),[O,R]),L=n.useCallback((function(){(O||R)&&u.openExternal(O||R)}),[O,R]),D=n.useCallback((function(e){O&&T.transport.dispatch({action:"StreamingServer",args:{action:"PlayOnDevice",args:{device:e,source:O}}})}),[O]),p=n.useCallback((function(e){e.nativeEvent.optionsMenuClosePrevented=!0}),[]);return n.createElement("div",{className:E(t,A["options-menu-container"]),onMouseDown:p},O||R?n.createElement(I,{icon:"link",label:r("CTX_COPY_STREAM_LINK"),disabled:null===a,onClick:m}):null,O||R?n.createElement(I,{icon:"download",label:r("CTX_DOWNLOAD_VIDEO"),disabled:null===a,onClick:L}):null,O&&N.map((function(e){var t=e.id,o=e.name;return n.createElement(I,{key:t,icon:"vlc",label:r("PLAYER_PLAY_IN",{device:o}),deviceId:t,disabled:null===a,onClick:D})})))};u.propTypes={className:r.string,stream:r.object,playbackDevices:r.array},e.exports=u},65714:(e,t,a)=>{var o=a(61366);e.exports=o},12230:(e,t,a)=>{function o(){return o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(e[o]=a[o])}return e},o.apply(this,arguments)}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function n(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?i(Object(a),!0).forEach((function(t){r(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):i(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function E(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return _(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return _(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function _(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var T=a(67294),s=a(45697),S=a(94184),l=a(91296),I=a(27576),A=a(81468).useTranslation,u=a(21665).useRouteFocused,d=a(63662).useServices,c=a(86590),O=c.HorizontalNavBar,R=c.useFullscreen,N=c.useBinaryState,m=c.useToast,L=c.useStreamingServer,D=c.withCoreSuspender,p=a(33475),h=a(78565),C=a(36462),f=a(39292),B=a(28698),P=a(24426),g=a(95458),v=a(65714),y=a(66429),W=a(19646),M=a(41998),b=a(85852),U=a(64109),G=a(13600),k=a(46722),F=a(57822),V=a(5711),H=function(e){var t,a,i,_,s=e.urlParams,c=e.queryParams,D=A().t,H=d(),w=H.chromecast,Y=H.shell,z=H.core,K=T.useMemo((function(){return c.has("forceTranscoding")}),[c]),x=E(b(s),7),j=x[0],Q=x[1],X=x[2],$=x[3],q=x[4],J=x[5],Z=x[6],ee=E(U(),2),te=ee[0],ae=ee[1],oe=L(),ie=G(j,oe),ne=k(),re=u(),Ee=m(),_e=E(T.useState(!1),2),Te=_e[0],se=_e[1],Se=E(T.useState((function(){return w.active&&w.transport.getCastState()===cast.framework.CastState.CONNECTED})),2),le=Se[0],Ie=Se[1],Ae=E(T.useState(!0),2),ue=Ae[0],de=Ae[1],ce=T.useCallback(l(de,3e3),[]),Oe=E(R(),4)[3],Re=E(N(!1),4),Ne=Re[0],me=Re[2],Le=Re[3],De=E(N(!1),4),pe=De[0],he=De[2],Ce=De[3],fe=E(N(!1),4),Be=fe[0],Pe=fe[2],ge=fe[3],ve=E(N(!1),4),ye=ve[0],We=ve[2],Me=ve[3],be=E(N(!1),4),Ue=be[0],Ge=be[2],ke=be[3],Fe=E(N(!1),4),Ve=Fe[0],He=Fe[2],we=Fe[3],Ye=E(N(!1),3),ze=Ye[0],Ke=Ye[1],xe=Ye[2],je=T.useMemo((function(){return Ne||pe||Be||ye||Ue||Ve}),[Ne,pe,Be,ye,Ue,Ve]),Qe=T.useCallback((function(){me(),he(),Pe(),We(),Ge(),He()}),[]),Xe=T.useMemo((function(){return ue&&!le&&null!==ne.state.paused&&!ne.state.paused&&!je&&!ze}),[ue,le,ne.state.paused,je,ze]),$e=T.useRef(!1),qe=T.useRef(!1),Je=T.useRef(!1),Ze=E(T.useState(null),2),et=Ze[0],tt=Ze[1],at=T.useCallback((function(){ne.setProp("subtitlesSize",te.subtitlesSize),ne.setProp("subtitlesOffset",te.subtitlesOffset),ne.setProp("subtitlesTextColor",te.subtitlesTextColor),ne.setProp("subtitlesBackgroundColor",te.subtitlesBackgroundColor),ne.setProp("subtitlesOutlineColor",te.subtitlesOutlineColor),ne.setProp("extraSubtitlesSize",te.subtitlesSize),ne.setProp("extraSubtitlesOffset",te.subtitlesOffset),ne.setProp("extraSubtitlesTextColor",te.subtitlesTextColor),ne.setProp("extraSubtitlesBackgroundColor",te.subtitlesBackgroundColor),ne.setProp("extraSubtitlesOutlineColor",te.subtitlesOutlineColor)}),[te.subtitlesSize,te.subtitlesOffset,te.subtitlesTextColor,te.subtitlesBackgroundColor,te.subtitlesOutlineColor]),ot=T.useCallback((function(){J(),null!==j.nextVideo?Dt():window.history.back()}),[j.nextVideo,Dt]),it=T.useCallback((function(e){console.error("Player",e),e.critical?tt(e):Ee.show({type:"error",title:D("ERROR"),message:e.message,timeout:3e3})}),[]),nt=T.useCallback((function(){Ee.show({type:"success",title:D("PLAYER_SUBTITLES_LOADED"),message:D("PLAYER_SUBTITLES_LOADED_EMBEDDED"),timeout:3e3})}),[]),rt=T.useCallback((function(e){Ee.show({type:"success",title:D("PLAYER_SUBTITLES_LOADED"),message:e.exclusive?D("PLAYER_SUBTITLES_LOADED_EXCLUSIVE"):D("PLAYER_SUBTITLES_LOADED_ORIGIN",{origin:e.origin}),timeout:3e3})}),[]),Et=T.useCallback((function(){ne.setProp("paused",!1),se(!1)}),[]),_t=T.useCallback(l(Et,200),[]),Tt=T.useCallback((function(){ne.setProp("paused",!0)}),[]),st=T.useCallback(l(Tt,200),[]),St=T.useCallback((function(){ne.setProp("muted",!0)}),[]),lt=T.useCallback((function(){ne.setProp("muted",!1)}),[]),It=T.useCallback((function(e){ne.setProp("volume",e)}),[]),At=T.useCallback((function(e){!Te&&se(!0),ne.setProp("time",e)}),[]),ut=T.useCallback((function(e){ne.setProp("playbackSpeed",e)}),[]),dt=T.useCallback((function(e){ne.setProp("selectedSubtitlesTrackId",e),ne.setProp("selectedExtraSubtitlesTrackId",null)}),[]),ct=T.useCallback((function(e){ne.setProp("selectedSubtitlesTrackId",null),ne.setProp("selectedExtraSubtitlesTrackId",e)}),[]),Ot=T.useCallback((function(e){ne.setProp("selectedAudioTrackId",e)}),[]),Rt=T.useCallback((function(e){ne.setProp("extraSubtitlesDelay",e)}),[]),Nt=T.useCallback((function(e){ae({subtitlesSize:e})}),[ae]),mt=T.useCallback((function(e){ae({subtitlesOffset:e})}),[ae]),Lt=T.useCallback((function(){xe(),$e.current=!0}),[]),Dt=T.useCallback((function(){if(null!==j.nextVideo){Z();var e,t=j.nextVideo.deepLinks;if(t.metaDetailsStreams&&t.player)window.location.replace(t.metaDetailsStreams),window.location.href=t.player;else window.location.replace(null!==(e=t.player)&&void 0!==e?e:t.metaDetailsStreams)}}),[j.nextVideo]),pt=T.useCallback((function(){null!==ne.state.paused&&(ne.state.paused?_t():st())}),[ne.state.paused]),ht=T.useCallback((function(){_t.cancel(),st.cancel(),Oe()}),[Oe]),Ct=T.useCallback((function(e){e.nativeEvent.optionsMenuClosePrevented||me(),e.nativeEvent.subtitlesMenuClosePrevented||he(),e.nativeEvent.infoMenuClosePrevented||Pe(),e.nativeEvent.speedMenuClosePrevented||We(),e.nativeEvent.videosMenuClosePrevented||Ge(),e.nativeEvent.statisticsMenuClosePrevented||He()}),[]),ft=T.useCallback((function(e){de(!1),e.nativeEvent.immersePrevented?ce.cancel():ce(!0)}),[]),Bt=T.useCallback((function(){ce.cancel(),de(!0)}),[]),Pt=T.useCallback((function(e){e.nativeEvent.immersePrevented=!0}),[]);return T.useEffect((function(){tt(null),null===j.selected?ne.unload():null!==oe.settings&&"Loading"!==oe.settings.type&&(null===j.selected.metaRequest||null!==j.metaItem&&"Loading"!==j.metaItem.type)&&ne.load({stream:n(n({},j.selected.stream),{},{subtitles:Array.isArray(j.selected.stream.subtitles)?j.selected.stream.subtitles.map((function(e){return n(n({},e),{},{label:e.url})})):[]}),autoplay:!0,time:null!==j.libraryItem&&null!==j.selected.streamRequest&&null!==j.selected.streamRequest.path&&j.libraryItem.state.video_id===j.selected.streamRequest.path.id?j.libraryItem.state.timeOffset:0,forceTranscoding:K||le,maxAudioChannels:te.surroundSound?32:2,streamingServerURL:oe.baseUrl?le?oe.baseUrl:oe.selected.transportUrl:null,seriesInfo:j.seriesInfo},{chromecastTransport:w.active?w.transport:null,shellTransport:Y.active?Y.transport:null})}),[oe.baseUrl,j.selected,j.metaItem,K,le]),T.useEffect((function(){if(null!==ne.state.stream){var e=j.subtitles.map((function(e){return n(n({},e),{},{label:e.url})}));ne.addExtraSubtitlesTracks(e)}}),[j.subtitles,ne.state.stream]),T.useEffect((function(){ne.setProp("subtitlesSize",te.subtitlesSize),ne.setProp("extraSubtitlesSize",te.subtitlesSize)}),[te.subtitlesSize]),T.useEffect((function(){ne.setProp("subtitlesOffset",te.subtitlesOffset),ne.setProp("extraSubtitlesOffset",te.subtitlesOffset)}),[te.subtitlesOffset]),T.useEffect((function(){ne.setProp("subtitlesTextColor",te.subtitlesTextColor),ne.setProp("extraSubtitlesTextColor",te.subtitlesTextColor)}),[te.subtitlesTextColor]),T.useEffect((function(){ne.setProp("subtitlesBackgroundColor",te.subtitlesBackgroundColor),ne.setProp("extraSubtitlesBackgroundColor",te.subtitlesBackgroundColor)}),[te.subtitlesBackgroundColor]),T.useEffect((function(){ne.setProp("subtitlesOutlineColor",te.subtitlesOutlineColor),ne.setProp("extraSubtitlesOutlineColor",te.subtitlesOutlineColor)}),[te.subtitlesOutlineColor]),T.useEffect((function(){null===ne.state.time||isNaN(ne.state.time)||null===ne.state.duration||isNaN(ne.state.duration)||null===ne.state.manifest||"string"!=typeof ne.state.manifest.name||(Te?$(ne.state.time,ne.state.duration,ne.state.manifest.name):X(ne.state.time,ne.state.duration,ne.state.manifest.name))}),[ne.state.time,ne.state.duration,ne.state.manifest]),T.useEffect((function(){null!==ne.state.paused&&q(ne.state.paused)}),[ne.state.paused]),T.useEffect((function(){Q(ne.state.videoParams)}),[ne.state.videoParams]),T.useEffect((function(){te.bingeWatching&&null!==j.nextVideo&&!$e.current&&(null!==ne.state.time&&null!==ne.state.duration&&ne.state.time<ne.state.duration&&ne.state.duration-ne.state.time<=te.nextVideoNotificationDuration?Ke():xe())}),[j.nextVideo,ne.state.time,ne.state.duration]),T.useEffect((function(){if(!qe.current){var e=function(e,t){return e.find((function(e){var a;return e.lang===t||(null===(a=I.where("1",e.lang))||void 0===a?void 0:a[2])===t}))},t=e(ne.state.subtitlesTracks,te.subtitlesLanguage),a=e(ne.state.extraSubtitlesTracks,te.subtitlesLanguage);t&&t.id?(dt(t.id),qe.current=!0):a&&a.id&&(ct(a.id),qe.current=!0)}}),[ne.state.subtitlesTracks,ne.state.extraSubtitlesTracks]),T.useEffect((function(){if(!Je.current){var e=(t=ne.state.audioTracks,a=te.audioLanguage,t.find((function(e){var t;return e.lang===a||(null===(t=I.where("1",e.lang))||void 0===t?void 0:t[2])===a})));e&&e.id&&(Ot(e.id),Je.current=!0)}var t,a}),[ne.state.audioTracks]),T.useEffect((function(){qe.current=!1,Je.current=!1,$e.current=!1}),[ne.state.stream]),T.useEffect((function(){Array.isArray(ne.state.subtitlesTracks)&&0!==ne.state.subtitlesTracks.length||Array.isArray(ne.state.extraSubtitlesTracks)&&0!==ne.state.extraSubtitlesTracks.length||Array.isArray(ne.state.audioTracks)&&0!==ne.state.audioTracks.length||he()}),[ne.state.audioTracks,ne.state.subtitlesTracks,ne.state.extraSubtitlesTracks]),T.useEffect((function(){null!==j.metaItem&&"Ready"===j.metaItem.type||(Pe(),Ge())}),[j.metaItem]),T.useEffect((function(){null===ne.state.playbackSpeed&&We()}),[ne.state.playbackSpeed]),T.useEffect((function(){var e=function(e){var t;return"CoreEvent"===(null==e||null===(t=e.dataset)||void 0===t?void 0:t.type)};Ee.addFilter(e);var t=function(){Ie(w.active&&w.transport.getCastState()===cast.framework.CastState.CONNECTED)},a=function(){t(),w.active&&w.transport.on(cast.framework.CastContextEventType.CAST_STATE_CHANGED,t)},o=function(e){"PlayingOnDevice"===e.event&&Tt()};return w.on("stateChanged",a),z.transport.on("CoreEvent",o),a(),function(){Ee.removeFilter(e),w.off("stateChanged",a),z.transport.off("CoreEvent",o),w.active&&w.transport.off(cast.framework.CastContextEventType.CAST_STATE_CHANGED,t)}}),[]),T.useLayoutEffect((function(){var e=function(e){switch(e.code){case"Space":je||ze||null===ne.state.paused||(ne.state.paused?(Et(),se(!1)):Tt());break;case"ArrowRight":if(!je&&!ze&&null!==ne.state.time){var t=e.shiftKey?te.seekShortTimeDuration:te.seekTimeDuration;At(ne.state.time+t)}break;case"ArrowLeft":if(!je&&!ze&&null!==ne.state.time){var a=e.shiftKey?te.seekShortTimeDuration:te.seekTimeDuration;At(ne.state.time-a)}break;case"ArrowUp":je||ze||null===ne.state.volume||It(ne.state.volume+5);break;case"ArrowDown":je||ze||null===ne.state.volume||It(ne.state.volume-5);break;case"KeyS":Qe(),(Array.isArray(ne.state.subtitlesTracks)&&ne.state.subtitlesTracks.length>0||Array.isArray(ne.state.extraSubtitlesTracks)&&ne.state.extraSubtitlesTracks.length>0||Array.isArray(ne.state.audioTracks)&&ne.state.audioTracks.length>0)&&Ce();break;case"KeyI":Qe(),null!==j.metaItem&&"Ready"===j.metaItem.type&&ge();break;case"KeyR":Qe(),null!==ne.state.playbackSpeed&&Me();break;case"KeyV":var o,i,n;Qe(),null!==j.metaItem&&"Ready"===j.metaItem.type&&(null===(o=j.metaItem)||void 0===o||null===(i=o.content)||void 0===i||null===(n=i.videos)||void 0===n?void 0:n.length)>0&&ke();break;case"KeyD":Qe(),null!==oe.statistics&&"Err"!==oe.statistics.type&&j.selected&&"string"==typeof j.selected.stream.infoHash&&"number"==typeof j.selected.stream.fileIdx&&we();break;case"Escape":Qe()}},t=function(e){"ArrowRight"!==e.code&&"ArrowLeft"!==e.code||Te&&se(!1)},a=function(e){e.deltaY>0?je||null===ne.state.volume||It(ne.state.volume-5):je||null===ne.state.volume||It(ne.state.volume+5)};return re&&(window.addEventListener("keydown",e),window.addEventListener("keyup",t),window.addEventListener("wheel",a)),function(){window.removeEventListener("keydown",e),window.removeEventListener("keyup",t),window.removeEventListener("wheel",a)}}),[j.metaItem,j.selected,oe.statistics,te.seekTimeDuration,te.seekShortTimeDuration,re,je,ze,ne.state.paused,ne.state.time,ne.state.volume,ne.state.audioTracks,ne.state.subtitlesTracks,ne.state.extraSubtitlesTracks,ne.state.playbackSpeed,Ce,ge,ke,we]),T.useEffect((function(){return ne.events.on("error",it),ne.events.on("ended",ot),ne.events.on("subtitlesTrackLoaded",nt),ne.events.on("extraSubtitlesTrackLoaded",rt),ne.events.on("implementationChanged",at),function(){ne.events.off("error",it),ne.events.off("ended",ot),ne.events.off("subtitlesTrackLoaded",nt),ne.events.off("extraSubtitlesTrackLoaded",rt),ne.events.off("implementationChanged",at)}}),[]),T.useLayoutEffect((function(){return function(){ce.cancel(),_t.cancel(),st.cancel()}}),[]),T.createElement("div",{className:S(F["player-container"],r({},F.overlayHidden,Xe)),onMouseDown:Ct,onMouseMove:ft,onMouseOver:ft,onMouseLeave:Bt},T.createElement(V,{ref:ne.containerElement,className:F.layer,onClick:pt,onDoubleClick:ht}),ne.state.loaded?null:T.createElement("div",{className:S(F.layer,F["background-layer"])},T.createElement("img",{className:F.image,src:null==j||null===(t=j.metaItem)||void 0===t||null===(a=t.content)||void 0===a?void 0:a.background})),!ne.state.buffering&&ne.state.loaded||et?null:T.createElement(p,{className:S(F.layer,F["buffering-layer"]),logo:null==j||null===(i=j.metaItem)||void 0===i||null===(_=i.content)||void 0===_?void 0:_.logo}),null!==et?T.createElement(C,o({className:S(F.layer,F["error-layer"]),stream:ne.state.stream},et)):null,je?T.createElement("div",{className:F.layer}):null,null!==ne.state.volume&&Xe?T.createElement(h,{muted:ne.state.muted,volume:ne.state.volume}):null,T.createElement(O,{className:S(F.layer,F["nav-bar-layer"]),title:null!==j.title?j.title:"",backButton:!0,fullscreenButton:!0,onMouseMove:Pt,onMouseOver:Pt}),T.createElement(f,{className:S(F.layer,F["control-bar-layer"]),paused:ne.state.paused,time:ne.state.time,duration:ne.state.duration,buffered:ne.state.buffered,volume:ne.state.volume,muted:ne.state.muted,playbackSpeed:ne.state.playbackSpeed,subtitlesTracks:ne.state.subtitlesTracks.concat(ne.state.extraSubtitlesTracks),audioTracks:ne.state.audioTracks,metaItem:j.metaItem,nextVideo:j.nextVideo,stream:null!==j.selected?j.selected.stream:null,statistics:ie,onPlayRequested:Et,onPauseRequested:Tt,onNextVideoRequested:Dt,onMuteRequested:St,onUnmuteRequested:lt,onVolumeChangeRequested:It,onSeekRequested:At,onToggleOptionsMenu:Le,onToggleSubtitlesMenu:Ce,onToggleInfoMenu:ge,onToggleSpeedMenu:Me,onToggleVideosMenu:ke,onToggleStatisticsMenu:we,onMouseMove:Pt,onMouseOver:Pt}),ze?T.createElement(B,{className:S(F.layer,F["menu-layer"]),metaItem:null!==j.metaItem&&"Ready"===j.metaItem.type?j.metaItem.content:null,nextVideo:j.nextVideo,onDismiss:Lt,onNextVideoRequested:Dt}):null,Ve?T.createElement(P,o({className:S(F.layer,F["menu-layer"])},ie)):null,pe?T.createElement(W,{className:S(F.layer,F["menu-layer"]),audioTracks:ne.state.audioTracks,selectedAudioTrackId:ne.state.selectedAudioTrackId,subtitlesTracks:ne.state.subtitlesTracks,selectedSubtitlesTrackId:ne.state.selectedSubtitlesTrackId,subtitlesOffset:ne.state.subtitlesOffset,subtitlesSize:ne.state.subtitlesSize,extraSubtitlesTracks:ne.state.extraSubtitlesTracks,selectedExtraSubtitlesTrackId:ne.state.selectedExtraSubtitlesTrackId,extraSubtitlesOffset:ne.state.extraSubtitlesOffset,extraSubtitlesDelay:ne.state.extraSubtitlesDelay,extraSubtitlesSize:ne.state.extraSubtitlesSize,onSubtitlesTrackSelected:dt,onExtraSubtitlesTrackSelected:ct,onAudioTrackSelected:Ot,onSubtitlesOffsetChanged:mt,onSubtitlesSizeChanged:Nt,onExtraSubtitlesOffsetChanged:mt,onExtraSubtitlesDelayChanged:Rt,onExtraSubtitlesSizeChanged:Nt}):null,Be?T.createElement(g,{className:S(F.layer,F["menu-layer"]),stream:null!==j.selected?j.selected.stream:null,addon:j.addon,metaItem:null!==j.metaItem&&"Ready"===j.metaItem.type?j.metaItem.content:null}):null,ye?T.createElement(M,{className:S(F.layer,F["menu-layer"]),playbackSpeed:ne.state.playbackSpeed,onPlaybackSpeedChanged:ut}):null,Ue?T.createElement(y,{className:S(F.layer,F["menu-layer"]),metaItem:null!==j.metaItem&&"Ready"===j.metaItem.type?j.metaItem.content:null,seriesInfo:j.seriesInfo}):null,Ne?T.createElement(v,{className:S(F.layer,F["menu-layer"]),stream:j.selected.stream,playbackDevices:null!==oe.playbackDevices&&"Ready"===oe.playbackDevices.type?oe.playbackDevices.content:[]}):null)};H.propTypes={urlParams:s.shape({stream:s.string,streamTransportUrl:s.string,metaTransportUrl:s.string,type:s.string,id:s.string,videoId:s.string}),queryParams:s.instanceOf(URLSearchParams)};e.exports=D(H,(function(){return T.createElement("div",{className:S(F["player-container"])})}))},97764:(e,t,a)=>{var o=a(67294),i=a(45697),n=a(94184),r=a(86590).Button,E=a(74988),_=function(e){var t=e.className,a=e.value,i=e.selected,_=e.onSelect,T=o.useCallback((function(){"function"==typeof _&&_(a)}),[_,a]);return o.createElement(r,{className:n(t,E.option,{selected:i}),onClick:T},o.createElement("div",{className:E.label},a,"x"),o.createElement("div",{className:E.icon}))};_.propTypes={className:i.string,value:i.number,selected:i.bool,onSelect:i.func},e.exports=_},99396:(e,t,a)=>{var o=a(97764);e.exports=o},85296:(e,t,a)=>{var o=a(67294),i=a(45697),n=a(94184),r=a(81468).useTranslation,E=a(99396),_=a(33579),T=Array.from(Array(8).keys(),(function(e){return.25*e+.25})).reverse(),s=function(e){var t=e.className,a=e.playbackSpeed,i=e.onPlaybackSpeedChanged,s=r().t,S=o.useCallback((function(e){e.nativeEvent.speedMenuClosePrevented=!0}),[]),l=o.useCallback((function(e){"function"==typeof i&&i(e)}),[i]);return o.createElement("div",{className:n(t,_["speed-menu-container"]),onMouseDown:S},o.createElement("div",{className:_.title},s("PLAYBACK_SPEED")),o.createElement("div",{className:_["options-container"]},T.map((function(e){return o.createElement(E,{className:_.option,key:e,value:e,selected:e===a,onSelect:l})}))))};s.propTypes={className:i.string,playbackSpeed:i.number,onPlaybackSpeedChanged:i.func},e.exports=s},41998:(e,t,a)=>{var o=a(85296);e.exports=o},92763:(e,t,a)=>{var o=a(67294),i=a(94184),n=a(45697),r=a(67071),E=function(e){var t=e.className,a=e.peers,n=e.speed,E=e.completed,_=e.infoHash;return o.createElement("div",{className:i(t,r["statistics-menu-container"])},o.createElement("div",{className:r.title},"Statistics"),o.createElement("div",{className:r.stats},o.createElement("div",{className:r.stat},o.createElement("div",{className:r.label},"Peers"),o.createElement("div",{className:r.value},a)),o.createElement("div",{className:r.stat},o.createElement("div",{className:r.label},"Speed"),o.createElement("div",{className:r.value},n," MB/s")),o.createElement("div",{className:r.stat},o.createElement("div",{className:r.label},"Completed"),o.createElement("div",{className:r.value},E," %"))),o.createElement("div",{className:r["info-hash"]},o.createElement("div",{className:r.label},"Info Hash"),o.createElement("div",{className:r.value},_)))};E.propTypes={className:n.string,peers:n.number,speed:n.number,completed:n.number,infoHash:n.string},e.exports=E},24426:(e,t,a)=>{var o=a(92763);e.exports=o},50569:(e,t,a)=>{var o=a(67294),i=a(45697),n=a(94184),r=a(95985).default,E=a(86590).Button,_=a(68134),T=function(e){var t=e.className,a=e.value,i=e.label,T=e.disabled,s=e.dataset,S=e.onChange,l=o.useCallback((function(e){"function"==typeof S&&S({type:"change",value:e.currentTarget.dataset.type,dataset:s,reactEvent:e,nativeEvent:e.nativeEvent})}),[s,S]);return o.createElement("div",{className:n(t,_["discrete-input-container"],{disabled:T})},o.createElement("div",{className:_.header},i),o.createElement("div",{className:_["input-container"],title:T?"".concat(i," is not configurable"):null},o.createElement(E,{className:n(_["button-container"],{disabled:T}),"data-type":"decrement",onClick:l},o.createElement(r,{className:_.icon,name:"remove"})),o.createElement("div",{className:_["option-label"],title:a},a),o.createElement(E,{className:n(_["button-container"],{disabled:T}),"data-type":"increment",onClick:l},o.createElement(r,{className:_.icon,name:"add"}))))};T.propTypes={className:i.string,value:i.string,label:i.string,disabled:i.bool,dataset:i.object,onChange:i.func},e.exports=T},23132:(e,t,a)=>{var o=a(50569);e.exports=o},81346:(e,t,a)=>{var o=a(67294),i=a(45697),n=a(94184),r=a(86590),E=r.Button,_=r.CONSTANTS,T=r.comparatorWithPriorities,s=r.languageNames,S=a(23132),l=a(82748),I=a(96073).t,A={EMBEDDED:2,EXCLUSIVE:1},u={eng:1},d=o.memo((function(e){var t=o.useMemo((function(){return(Array.isArray(e.subtitlesTracks)?e.subtitlesTracks:[]).concat(Array.isArray(e.extraSubtitlesTracks)?e.extraSubtitlesTracks:[]).reduce((function(e,t){var a=t.lang;return e.includes(a)||e.push(a),e}),[]).sort(T(u))}),[e.subtitlesTracks,e.extraSubtitlesTracks]),a=o.useMemo((function(){return"string"==typeof e.selectedSubtitlesTrackId?(Array.isArray(e.subtitlesTracks)?e.subtitlesTracks:[]).reduce((function(t,a){var o=a.id,i=a.lang;return o===e.selectedSubtitlesTrackId?i:t}),null):"string"==typeof e.selectedExtraSubtitlesTrackId?(Array.isArray(e.extraSubtitlesTracks)?e.extraSubtitlesTracks:[]).reduce((function(t,a){var o=a.id,i=a.lang;return o===e.selectedExtraSubtitlesTrackId?i:t}),null):null}),[e.subtitlesTracks,e.extraSubtitlesTracks,e.selectedSubtitlesTrackId,e.selectedExtraSubtitlesTrackId]),i=o.useMemo((function(){return(Array.isArray(e.subtitlesTracks)?e.subtitlesTracks:[]).concat(Array.isArray(e.extraSubtitlesTracks)?e.extraSubtitlesTracks:[]).filter((function(e){return e.lang===a})).sort((function(e,t){return T(A)(e.origin,t.origin)}))}),[e.subtitlesTracks,e.extraSubtitlesTracks,a]),r=o.useCallback((function(e){e.nativeEvent.subtitlesMenuClosePrevented=!0}),[]),d=o.useCallback((function(t){var a=(Array.isArray(e.subtitlesTracks)?e.subtitlesTracks:[]).concat(Array.isArray(e.extraSubtitlesTracks)?e.extraSubtitlesTracks:[]).filter((function(e){return e.lang===t.currentTarget.dataset.lang})).sort((function(e,t){return T(A)(e.origin,t.origin)})).shift();a?a.embedded?"function"==typeof e.onSubtitlesTrackSelected&&e.onSubtitlesTrackSelected(a.id):"function"==typeof e.onExtraSubtitlesTrackSelected&&e.onExtraSubtitlesTrackSelected(a.id):("function"==typeof e.onSubtitlesTrackSelected&&e.onSubtitlesTrackSelected(null),"function"==typeof e.onExtraSubtitlesTrackSelected&&e.onExtraSubtitlesTrackSelected(null))}),[e.subtitlesTracks,e.extraSubtitlesTracks,e.onSubtitlesTrackSelected,e.onExtraSubtitlesTrackSelected]),c=o.useCallback((function(t){"true"===t.currentTarget.dataset.embedded?"function"==typeof e.onSubtitlesTrackSelected&&e.onSubtitlesTrackSelected(t.currentTarget.dataset.id):"function"==typeof e.onExtraSubtitlesTrackSelected&&e.onExtraSubtitlesTrackSelected(t.currentTarget.dataset.id)}),[e.onSubtitlesTrackSelected,e.onExtraSubtitlesTrackSelected]),O=o.useCallback((function(t){var a="increment"===t.value?250:-250;if("string"==typeof e.selectedExtraSubtitlesTrackId&&null!==e.extraSubtitlesDelay&&!isNaN(e.extraSubtitlesDelay)){var o=e.extraSubtitlesDelay+a;"function"==typeof e.onExtraSubtitlesDelayChanged&&e.onExtraSubtitlesDelayChanged(o)}}),[e.selectedExtraSubtitlesTrackId,e.extraSubtitlesDelay,e.onExtraSubtitlesDelayChanged]),R=o.useCallback((function(t){var a="increment"===t.value?1:-1;if("string"==typeof e.selectedSubtitlesTrackId){if(null!==e.subtitlesSize&&!isNaN(e.subtitlesSize)){var o=_.SUBTITLES_SIZES.indexOf(e.subtitlesSize),i=_.SUBTITLES_SIZES[Math.max(0,Math.min(_.SUBTITLES_SIZES.length-1,o+a))];"function"==typeof e.onSubtitlesSizeChanged&&e.onSubtitlesSizeChanged(i)}}else if("string"==typeof e.selectedExtraSubtitlesTrackId&&null!==e.extraSubtitlesSize&&!isNaN(e.extraSubtitlesSize)){var n=_.SUBTITLES_SIZES.indexOf(e.extraSubtitlesSize),r=_.SUBTITLES_SIZES[Math.max(0,Math.min(_.SUBTITLES_SIZES.length-1,n+a))];"function"==typeof e.onExtraSubtitlesSizeChanged&&e.onExtraSubtitlesSizeChanged(r)}}),[e.selectedSubtitlesTrackId,e.selectedExtraSubtitlesTrackId,e.subtitlesSize,e.extraSubtitlesSize,e.onSubtitlesSizeChanged,e.onExtraSubtitlesSizeChanged]),N=o.useCallback((function(t){var a="increment"===t.value?1:-1;if("string"==typeof e.selectedSubtitlesTrackId){if(null!==e.extraSubtitlesOffset&&!isNaN(e.extraSubtitlesOffset)){var o=Math.max(0,Math.min(100,Math.floor(e.extraSubtitlesOffset+a)));"function"==typeof e.onExtraSubtitlesOffsetChanged&&e.onExtraSubtitlesOffsetChanged(o)}}else if("string"==typeof e.selectedExtraSubtitlesTrackId&&null!==e.subtitlesOffset&&!isNaN(e.subtitlesOffset)){var i=Math.max(0,Math.min(100,Math.floor(e.subtitlesOffset+a)));"function"==typeof e.onSubtitlesOffsetChanged&&e.onSubtitlesOffsetChanged(i)}}),[e.selectedSubtitlesTrackId,e.selectedExtraSubtitlesTrackId,e.subtitlesOffset,e.extraSubtitlesOffset,e.onSubtitlesOffsetChanged,e.onExtraSubtitlesOffsetChanged]),m=o.useCallback((function(t){"function"==typeof e.onAudioTrackSelected&&e.onAudioTrackSelected(t.currentTarget.dataset.id)}),[e.onAudioTrackSelected]);return o.createElement("div",{className:n(e.className,l["subtitles-menu-container"]),onMouseDown:r},Array.isArray(e.audioTracks)&&e.audioTracks.length>1?o.createElement("div",{className:l["languages-container"]},o.createElement("div",{className:l["languages-header"]},"Audio Languages"),o.createElement("div",{className:l["languages-list"]},e.audioTracks.map((function(t,a){var i=t.id,r=t.label,_=t.lang;return o.createElement(E,{key:a,title:r,className:n(l["language-option"],{selected:e.selectedAudioTrackId===i}),"data-id":i,onClick:m},o.createElement("div",{className:l["language-label"]},"string"==typeof s[_]?s[_]:_),e.selectedAudioTrackId===i?o.createElement("div",{className:l.icon}):null)})))):null,o.createElement("div",{className:l["languages-container"]},o.createElement("div",{className:l["languages-header"]},I("PLAYER_SUBTITLES_LANGUAGES")),o.createElement("div",{className:l["languages-list"]},o.createElement(E,{title:I("OFF"),className:n(l["language-option"],{selected:null===a}),onClick:d},o.createElement("div",{className:l["language-label"]},I("OFF")),null===a?o.createElement("div",{className:l.icon}):null),t.map((function(e,t){return o.createElement(E,{key:t,title:"string"==typeof s[e]?s[e]:e,className:n(l["language-option"],{selected:a===e}),"data-lang":e,onClick:d},o.createElement("div",{className:l["language-label"]},"string"==typeof s[e]?s[e]:e),a===e?o.createElement("div",{className:l.icon}):null)})))),o.createElement("div",{className:l["variants-container"]},o.createElement("div",{className:l["variants-header"]},I("PLAYER_SUBTITLES_VARIANTS")),i.length>0?o.createElement("div",{className:l["variants-list"]},i.map((function(t,a){return o.createElement(E,{key:a,title:t.label,className:n(l["variant-option"],{selected:e.selectedSubtitlesTrackId===t.id||e.selectedExtraSubtitlesTrackId===t.id}),"data-id":t.id,"data-origin":t.origin,"data-embedded":t.embedded,onClick:c},o.createElement("div",{className:l["variant-label"]},t.origin),e.selectedSubtitlesTrackId===t.id||e.selectedExtraSubtitlesTrackId===t.id?o.createElement("div",{className:l.icon}):null)}))):o.createElement("div",{className:l["no-variants-container"]},o.createElement("div",{className:l["no-variants-label"]},I("PLAYER_SUBTITLES_DISABLED")))),o.createElement("div",{className:l["subtitles-settings-container"]},o.createElement("div",{className:l["settings-header"]},"Subtitles Settings"),o.createElement(S,{className:l["discrete-input"],label:I("DELAY"),value:"string"!=typeof e.selectedExtraSubtitlesTrackId||null===e.extraSubtitlesDelay||isNaN(e.extraSubtitlesDelay)?"--":"".concat((e.extraSubtitlesDelay/1e3).toFixed(2),"s"),disabled:"string"!=typeof e.selectedExtraSubtitlesTrackId||null===e.extraSubtitlesDelay||isNaN(e.extraSubtitlesDelay),onChange:O}),o.createElement(S,{className:l["discrete-input"],label:I("SIZE"),value:"string"==typeof e.selectedSubtitlesTrackId?null===e.subtitlesSize||isNaN(e.subtitlesSize)?"--":"".concat(e.subtitlesSize,"%"):"string"==typeof e.selectedExtraSubtitlesTrackId?null===e.extraSubtitlesSize||isNaN(e.extraSubtitlesSize)?"--":"".concat(e.extraSubtitlesSize,"%"):"--",disabled:"string"==typeof e.selectedSubtitlesTrackId?null===e.subtitlesSize||isNaN(e.subtitlesSize):"string"!=typeof e.selectedExtraSubtitlesTrackId||(null===e.extraSubtitlesSize||isNaN(e.extraSubtitlesSize)),onChange:R}),o.createElement(S,{className:l["discrete-input"],label:I("PLAYER_SUBTITLES_VERTICAL_POSIITON"),value:"string"==typeof e.selectedSubtitlesTrackId?null===e.subtitlesOffset||isNaN(e.subtitlesOffset)?"--":"".concat(e.subtitlesOffset,"%"):"string"==typeof e.selectedExtraSubtitlesTrackId?null===e.extraSubtitlesOffset||isNaN(e.extraSubtitlesOffset)?"--":"".concat(e.extraSubtitlesOffset,"%"):"--",disabled:"string"==typeof e.selectedSubtitlesTrackId?null===e.subtitlesOffset||isNaN(e.subtitlesOffset):"string"!=typeof e.selectedExtraSubtitlesTrackId||(null===e.extraSubtitlesOffset||isNaN(e.extraSubtitlesOffset)),onChange:N})))}));d.displayName="MainNavBars",d.propTypes={className:i.string,subtitlesTracks:i.arrayOf(i.shape({id:i.string.isRequired,lang:i.string.isRequired,origin:i.string.isRequired})),selectedSubtitlesTrackId:i.string,subtitlesOffset:i.number,subtitlesSize:i.number,extraSubtitlesTracks:i.arrayOf(i.shape({id:i.string.isRequired,lang:i.string.isRequired,origin:i.string.isRequired,label:i.string.isRequired})),selectedExtraSubtitlesTrackId:i.string,extraSubtitlesOffset:i.number,extraSubtitlesDelay:i.number,extraSubtitlesSize:i.number,audioTracks:i.arrayOf(i.shape({id:i.string.isRequired,lang:i.string.isRequired,origin:i.string.isRequired,label:i.string.isRequired})),selectedAudioTrackId:i.string,onSubtitlesTrackSelected:i.func,onExtraSubtitlesTrackSelected:i.func,onAudioTrackSelected:i.func,onSubtitlesOffsetChanged:i.func,onSubtitlesSizeChanged:i.func,onExtraSubtitlesOffsetChanged:i.func,onExtraSubtitlesDelayChanged:i.func,onExtraSubtitlesSizeChanged:i.func},e.exports=d},19646:(e,t,a)=>{var o=a(81346);e.exports=o},55245:(e,t,a)=>{var o=a(67294),i=a(45697),n=a(94184),r=a(23466),E=o.forwardRef((function(e,t){var a=e.className,i=e.onClick,E=e.onDoubleClick;return o.createElement("div",{className:n(a,r["video-container"]),onClick:i,onDoubleClick:E},o.createElement("div",{ref:t,className:r.video}))}));E.displayName="Video",E.propTypes={className:i.string,onClick:i.func,onDoubleClick:i.func},e.exports=E},5711:(e,t,a)=>{var o=a(55245);e.exports=o},84027:(e,t,a)=>{var o=a(67294),i=a(45697),n=a(94184),r=a(90123),E=a(58994),_=function(e){var t=e.className,a=e.metaItem,i=e.seriesInfo,_=o.useCallback((function(e){e.nativeEvent.videosMenuClosePrevented=!0}),[]),T=o.useMemo((function(){return i&&"number"==typeof i.season&&Array.isArray(a.videos)?a.videos.filter((function(e){return e.season===i.season})):a.videos}),[a,i]);return o.createElement("div",{className:n(t,E["videos-menu-container"]),onMouseDown:_},T.map((function(e,t){return o.createElement(r,{key:t,id:e.id,title:e.title,thumbnail:e.thumbnail,episode:e.episode,released:e.released,upcoming:e.upcoming,watched:e.watched,progress:e.progress,deepLinks:e.deepLinks,scheduled:e.scheduled})})))};_.propTypes={className:i.string,metaItem:i.object,seriesInfo:i.shape({season:i.number,episode:i.number})},e.exports=_},66429:(e,t,a)=>{var o=a(84027);e.exports=o},56624:(e,t,a)=>{function o(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return i(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return i(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var n=a(67294),r=a(47429),E=a(95985).default,_=a(94184).default,T=a(45697),s=a(46897),S=a(86590).useBinaryState,l=n.memo((function(e){var t=e.muted,a=e.volume,i=o(S(!1),3),T=i[0],l=i[1],I=i[2],A=n.useRef(null),u=n.useRef(a),d=n.useMemo((function(){return"boolean"==typeof t&&t?"volume-mute":null===a||isNaN(a)?"volume-off":a<30?"volume-low":a<70?"volume-medium":"volume-high"}),[t,a]);return n.useEffect((function(){u.current!==a&&(l(),A.current&&clearTimeout(A.current),A.current=setTimeout(I,1500)),u.current=a}),[a]),n.useEffect((function(){return function(){A.current&&clearTimeout(A.current)}}),[]),n.createElement(n.Fragment,null,T?n.createElement("div",{className:_(s.layer,s["volume-change-indicator"])},n.createElement(E,{name:d,className:s["volume-icon"]}),n.createElement(r,{volume:a,className:s["volume-slider"]})):null)}));l.displayName="VolumeChangeIndicator",e.exports=l,l.propTypes={muted:T.bool,volume:T.number}},78565:(e,t,a)=>{var o=a(56624);e.exports=o},57793:(e,t,a)=>{var o=a(12230);e.exports=o},85852:(e,t,a)=>{function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?o(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):o(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}var r=a(67294),E=a(63662).useServices,_=a(86590),T=_.useModelState,s=_.useCoreSuspender,S=function(e){return i(i({},e),{},{metaItem:null!==e.metaItem&&"Ready"===e.metaItem.type?i(i({},e.metaItem),{},{content:i(i({},e.metaItem.content),{},{released:new Date("string"==typeof e.metaItem.content.released?e.metaItem.content.released:NaN),videos:e.metaItem.content.videos.map((function(e){return i(i({},e),{},{released:new Date("string"==typeof e.released?e.released:NaN)})}))})}):e.metaItem})};e.exports=function(e){var t=E().core,a=(0,s().decodeStream)(e.stream),o=r.useMemo((function(){return null!==a?{action:"Load",args:{model:"Player",args:{stream:a,streamRequest:"string"==typeof e.streamTransportUrl&&"string"==typeof e.type&&"string"==typeof e.videoId?{base:e.streamTransportUrl,path:{resource:"stream",type:e.type,id:e.videoId,extra:[]}}:null,metaRequest:"string"==typeof e.metaTransportUrl&&"string"==typeof e.type&&"string"==typeof e.id?{base:e.metaTransportUrl,path:{resource:"meta",type:e.type,id:e.id,extra:[]}}:null,subtitlesPath:"string"==typeof e.type&&"string"==typeof e.videoId?{resource:"subtitles",type:e.type,id:e.videoId,extra:[]}:null}}}:(console.warn("Player Unload triggered"),{action:"Unload"})}),[e]),i=r.useCallback((function(e){t.transport.dispatch({action:"Player",args:{action:"VideoParamsChanged",args:{videoParams:e}}},"player")}),[]),n=r.useCallback((function(e,a,o){t.transport.dispatch({action:"Player",args:{action:"TimeChanged",args:{time:e,duration:a,device:o}}},"player")}),[]),_=r.useCallback((function(e,a,o){t.transport.dispatch({action:"Player",args:{action:"Seek",args:{time:e,duration:a,device:o}}},"player")}),[]),l=r.useCallback((function(){t.transport.dispatch({action:"Player",args:{action:"Ended"}},"player")}),[]),I=r.useCallback((function(e){t.transport.dispatch({action:"Player",args:{action:"PausedChanged",args:{paused:e}}},"player")}),[]),A=r.useCallback((function(){t.transport.dispatch({action:"Player",args:{action:"NextVideo"}},"player")}),[]);return[T({model:"player",action:o,map:S}),i,n,_,I,l,A]}},64109:(e,t,a)=>{function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?o(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):o(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}var r=a(67294),E=a(63662).useServices,_=a(86590).useProfile;e.exports=function(){var e=E().core,t=_(),a=r.useCallback((function(a){e.transport.dispatch({action:"Ctx",args:{action:"UpdateSettings",args:i(i({},t.settings),a)}})}),[t]);return[t.settings,a]}},13600:(e,t,a)=>{var o=a(67294),i=a(63662).useServices;e.exports=function(e,t){var a=i().core,n=o.useMemo((function(){var t;return null!==(t=e.selected)&&void 0!==t&&t.stream?e.selected.stream:null}),[e.selected]),r=o.useMemo((function(){return null!=n&&n.infoHash?null==n?void 0:n.infoHash:null}),[n]),E=o.useMemo((function(){var e;return"Ready"===(null===(e=t.statistics)||void 0===e?void 0:e.type)?t.statistics.content:null}),[t.statistics]),_=o.useMemo((function(){return null!=E&&E.peers?E.peers:0}),[E]),T=o.useMemo((function(){return null!=E&&E.downloadSpeed?parseFloat((E.downloadSpeed/1e3/1e3).toFixed(2)):0}),[E]),s=o.useMemo((function(){return null!=E&&E.streamProgress?parseFloat((100*E.streamProgress).toFixed(2)):0}),[E]),S=o.useCallback((function(){if(n){var e=n.infoHash,t=n.fileIdx;"string"==typeof e&&"number"==typeof t&&a.transport.dispatch({action:"StreamingServer",args:{action:"GetStatistics",args:{infoHash:e,fileIdx:t}}})}}),[n]);return o.useEffect((function(){S();var e=setInterval(S,5e3);return function(){return clearInterval(e)}}),[S]),{infoHash:r,peers:_,speed:T,completed:s}}},46722:(e,t,a)=>{function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?o(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):o(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function r(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return E(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return E(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function E(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var _=a(67294),T=a(91654),s=new(a(26729));e.exports=function(){var e=_.useRef(null),t=_.useRef(null),a=r(_.useState({manifest:null,stream:null,paused:null,time:null,duration:null,buffering:null,buffered:null,volume:null,muted:null,playbackSpeed:null,videoParams:null,audioTracks:[],selectedAudioTrackId:null,subtitlesTracks:[],selectedSubtitlesTrackId:null,subtitlesOffset:null,subtitlesSize:null,subtitlesTextColor:null,subtitlesBackgroundColor:null,subtitlesOutlineColor:null,extraSubtitlesTracks:[],selectedExtraSubtitlesTrackId:null,extraSubtitlesSize:null,extraSubtitlesDelay:null,extraSubtitlesOffset:null,extraSubtitlesTextColor:null,extraSubtitlesBackgroundColor:null,extraSubtitlesOutlineColor:null}),2),o=a[0],E=a[1],S=function(a,o){if(e.current&&t.current)try{e.current.dispatch(a,i(i({},o),{},{containerElement:t.current}))}catch(e){console.error("Video:",e)}},l=function(e){s.emit("error",e)},I=function(){s.emit("ended")},A=function(e){s.emit("subtitlesTrackLoaded",e)},u=function(e){s.emit("extraSubtitlesTrackLoaded",e)},d=function(e,t){E((function(a){return i(i({},a),{},n({},e,t))}))},c=function(e){e.props.forEach((function(e){return S({type:"observeProp",propName:e})})),E((function(t){return i(i({},t),{},{manifest:e})})),s.emit("implementationChanged",e)};return _.useEffect((function(){return e.current=new T,e.current.on("error",l),e.current.on("ended",I),e.current.on("propChanged",d),e.current.on("propValue",d),e.current.on("implementationChanged",c),e.current.on("subtitlesTrackLoaded",A),e.current.on("extraSubtitlesTrackLoaded",u),function(){return e.current.destroy()}}),[]),{events:s,containerElement:t,state:o,load:function(e,t){S({type:"command",commandName:"load",commandArgs:e},t)},unload:function(){S({type:"command",commandName:"unload"})},addExtraSubtitlesTracks:function(e){S({type:"command",commandName:"addExtraSubtitlesTracks",commandArgs:{tracks:e}})},setProp:function(e,t){S({type:"setProp",propName:e,propValue:t})}}}},24853:(e,t,a)=>{function o(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return i(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return i(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var n=a(67294),r=a(45697),E=a(94184),_=a(91296),T=a(81468).useTranslation,s=a(95985).default,S=a(86590),l=S.Image,I=S.MainNavBars,A=S.MetaRow,u=S.MetaItem,d=S.withCoreSuspender,c=S.getVisibleChildrenRange,O=a(84182),R=a(63287),N=function(e){var t=e.queryParams,i=T().t,r=o(O(t),2),S=r[0],d=r[1],N=n.useMemo((function(){return null!==S.selected?S.selected.extra.reduceRight((function(e,t){var a=o(t,2),i=a[0],n=a[1];return"search"===i?n:e}),null):null}),[S.selected]),m=n.useRef(),L=n.useCallback((function(){if(0!==S.catalogs.length){var e=c(m.current,100);null!==e&&d(e)}}),[S.catalogs]),D=n.useCallback(_(L,250),[L]);return n.useLayoutEffect((function(){L()}),[S.catalogs,L]),n.createElement(I,{className:R["search-container"],route:"search",query:N},n.createElement("div",{ref:m,className:R["search-content"],onScroll:D},null===N?n.createElement("div",{className:E(R["search-hints-wrapper"])},n.createElement("div",{className:E(R["search-hints-title-container"],"animation-fade-in")},n.createElement("div",{className:R["search-hints-title"]},i("SEARCH_ANYTHING"))),n.createElement("div",{className:E(R["search-hints-container"],"animation-fade-in")},n.createElement("div",{className:R["search-hint-container"]},n.createElement(s,{className:R.icon,name:"trailer"}),n.createElement("div",{className:R.label},i("SEARCH_CATEGORIES"))),n.createElement("div",{className:R["search-hint-container"]},n.createElement(s,{className:R.icon,name:"actors"}),n.createElement("div",{className:R.label},i("SEARCH_PERSONS"))),n.createElement("div",{className:R["search-hint-container"]},n.createElement(s,{className:R.icon,name:"link"}),n.createElement("div",{className:R.label},i("SEARCH_PROTOCOLS"))),n.createElement("div",{className:R["search-hint-container"]},n.createElement(s,{className:R.icon,name:"imdb-outline"}),n.createElement("div",{className:R.label},i("SEARCH_TYPES"))))):0===S.catalogs.length?n.createElement("div",{className:R["message-container"]},n.createElement(l,{className:R.image,src:a(47740),alt:" "}),n.createElement("div",{className:R["message-label"]},i("STREMIO_TV_SEARCH_NO_ADDONS"))):S.catalogs.map((function(e,t){var a;switch(null===(a=e.content)||void 0===a?void 0:a.type){case"Ready":return n.createElement(A,{key:t,className:E(R["search-row"],R["search-row-".concat(e.content.content[0].posterShape)],"animation-fade-in"),catalog:e,itemComponent:u});case"Err":return n.createElement(A,{key:t,className:E(R["search-row"],"animation-fade-in"),catalog:e,message:e.content.content});default:return n.createElement(A.Placeholder,{key:t,className:E(R["search-row"],R["search-row-poster"],"animation-fade-in"),catalog:e})}}))))};N.propTypes={queryParams:r.instanceOf(URLSearchParams)};var m=function(e){var t,a=e.queryParams;return n.createElement(I,{className:R["search-container"],route:"search",query:null!==(t=a.get("search"))&&void 0!==t?t:a.get("query")})};m.propTypes=N.propTypes,e.exports=d(N,m)},96375:(e,t,a)=>{var o=a(24853);e.exports=o},84182:(e,t,a)=>{var o=a(67294),i=a(86590).useModelState,n=a(63662).useServices;e.exports=function(e){var t=n().core,a=o.useMemo((function(){var t,a=null!==(t=e.get("search"))&&void 0!==t?t:e.get("query");return(null==a?void 0:a.length)>0?{action:"Load",args:{model:"CatalogsWithExtra",args:{extra:[["search",a]]}}}:{action:"Unload"}}),[e]),r=o.useCallback((function(e){t.transport.dispatch({action:"CatalogsWithExtra",args:{action:"LoadRange",args:e}},"search")}),[]);return[i({model:"search",action:a}),r]}},85674:(e,t,a)=>{function o(){return o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(e[o]=a[o])}return e},o.apply(this,arguments)}function i(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function n(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return r(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return r(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var E=a(67294),_=a(94184),T=a(93096),s=a(81468).useTranslation,S=a(95985).default,l=a(21665).useRouteFocused,I=a(63662).useServices,A=a(86590),u=A.Button,d=A.Checkbox,c=A.MainNavBars,O=A.Multiselect,R=A.ColorInput,N=A.TextInput,m=A.ModalDialog,L=A.useProfile,D=A.usePlatform,p=A.useStreamingServer,h=A.useBinaryState,C=A.withCoreSuspender,f=A.useToast,B=a(81621),P=a(86842),g=a(94137),v=a(44371),y="general",W="player",M="streaming",b="shortcuts";e.exports=C((function(){var e=s().t,t=I(),r=t.core,A=t.shell,C=l().routeFocused,U=L(),G=n(g(),2),k=G[0],F=G[1],V=p(),H=D(),w=f(),Y=B(U),z=Y.interfaceLanguageSelect,K=Y.subtitlesLanguageSelect,x=Y.subtitlesSizeSelect,j=Y.subtitlesTextColorInput,Q=Y.subtitlesBackgroundColorInput,X=Y.subtitlesOutlineColorInput,$=Y.audioLanguageSelect,q=Y.surroundSoundCheckbox,J=Y.seekTimeDurationSelect,Z=Y.seekShortTimeDurationSelect,ee=Y.escExitFullscreenCheckbox,te=Y.playInExternalPlayerSelect,ae=Y.nextVideoPopupDurationSelect,oe=Y.bingeWatchingCheckbox,ie=Y.playInBackgroundCheckbox,ne=Y.hardwareDecodingCheckbox,re=Y.streamingServerUrlInput,Ee=P(V),_e=Ee.streamingServerRemoteUrlInput,Te=Ee.remoteEndpointSelect,se=Ee.cacheSizeSelect,Se=Ee.torrentProfileSelect,le=Ee.transcodingProfileSelect,Ie=n(h(!1),3),Ae=Ie[0],ue=Ie[1],de=Ie[2],ce=E.useRef(null),Oe=E.useCallback((function(){re.onChange(ce.current.value),de()}),[re]),Re=n(E.useState(!1),2),Ne=Re[0],me=Re[1],Le=E.useMemo((function(){return null!==U.auth&&null!==U.auth.user&&null!==U.auth.user.trakt&&Date.now()/1e3<U.auth.user.trakt.created_at+U.auth.user.trakt.expires_in}),[U.auth]),De=E.useMemo((function(){return[{className:v["cancel-button"],label:"Cancel",props:{onClick:de}},{label:"Submit",props:{onClick:Oe}}]}),[Oe]),pe=E.useCallback((function(){r.transport.dispatch({action:"Ctx",args:{action:"Logout"}})}),[]),he=E.useCallback((function(){Le||null===U.auth||null===U.auth.user||"string"!=typeof U.auth.user._id?r.transport.dispatch({action:"Ctx",args:{action:"LogoutTrakt"}}):(H.openExternal("https://www.strem.io/trakt/auth/".concat(U.auth.user._id)),me(!0))}),[Le,U.auth]),Ce=E.useCallback((function(){if(U.auth){var t="ios"===H.name?"webcal":"https",a="".concat(t,"://www.strem.io/calendar/").concat(U.auth.user._id,".ics");H.openExternal(a),w.show({type:"success",title:"ios"===H.name?e("SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST"):e("SETTINGS_SUBSCRIBE_CALENDAR_TOAST"),timeout:25e3})}}),[U.auth]),fe=E.useCallback((function(){F()}),[]),Be=E.useCallback((function(){r.transport.dispatch({action:"StreamingServer",args:{action:"Reload"}})}),[]),Pe=E.useCallback((function(){V.remoteUrl&&(navigator.clipboard.writeText(V.remoteUrl),w.show({type:"success",title:e("SETTINGS_REMOTE_URL_COPIED"),timeout:2500}))}),[V.remoteUrl]),ge=E.useRef(null),ve=E.useRef(null),ye=E.useRef(null),We=E.useRef(null),Me=E.useRef(null),be=E.useMemo((function(){return[{ref:ve,id:y},{ref:ye,id:W},{ref:We,id:M},{ref:Me,id:b}]}),[]),Ue=n(E.useState(y),2),Ge=Ue[0],ke=Ue[1],Fe=E.useCallback((function(){if(ge.current.scrollTop+ge.current.clientHeight>=ge.current.scrollHeight-50)ke(be[be.length-1].id);else for(var e=be.length-1;e>=0;e--)if(be[e].ref.current.offsetTop-ge.current.offsetTop<=ge.current.scrollTop){ke(be[e].id);break}}),[]),Ve=E.useCallback((function(e){var t=be.find((function(t){return t.id===e.currentTarget.dataset.section}));ge.current.scrollTo({top:t.ref.current.offsetTop-ge.current.offsetTop,behavior:"smooth"})}),[]),He=E.useCallback(T((function(){Fe()}),50),[]);return E.useEffect((function(){Le&&Ne&&(r.transport.dispatch({action:"Ctx",args:{action:"InstallTraktAddon"}}),me(!1))}),[Le,Ne]),E.useEffect((function(){null!==k.exportUrl&&"string"==typeof k.exportUrl&&H.openExternal(k.exportUrl)}),[k.exportUrl]),E.useLayoutEffect((function(){C&&Fe(),de()}),[C]),E.createElement(c,{className:v["settings-container"],route:"settings"},E.createElement("div",{className:_(v["settings-content"],"animation-fade-in")},E.createElement("div",{className:v["side-menu-container"]},E.createElement(u,{className:_(v["side-menu-button"],i({},v.selected,Ge===y)),title:e("SETTINGS_NAV_GENERAL"),"data-section":y,onClick:Ve},e("SETTINGS_NAV_GENERAL")),E.createElement(u,{className:_(v["side-menu-button"],i({},v.selected,Ge===W)),title:e("SETTINGS_NAV_PLAYER"),"data-section":W,onClick:Ve},e("SETTINGS_NAV_PLAYER")),E.createElement(u,{className:_(v["side-menu-button"],i({},v.selected,Ge===M)),title:e("SETTINGS_NAV_STREAMING"),"data-section":M,onClick:Ve},e("SETTINGS_NAV_STREAMING")),E.createElement(u,{className:_(v["side-menu-button"],i({},v.selected,Ge===b)),title:e("SETTINGS_NAV_SHORTCUTS"),"data-section":b,onClick:Ve},e("SETTINGS_NAV_SHORTCUTS")),E.createElement("div",{className:v.spacing}),E.createElement("div",{className:v["version-info-label"],title:"5.0.0-beta.13"},"App Version: ","5.0.0-beta.13"),null!==V.settings&&"Ready"===V.settings.type?E.createElement("div",{className:v["version-info-label"],title:V.settings.content.serverVersion},"Server Version: ",V.settings.content.serverVersion):null),E.createElement("div",{ref:ge,className:v["sections-container"],onScroll:He},E.createElement("div",{ref:ve,className:v["section-container"]},E.createElement("div",{className:_(v["option-container"],v["user-info-option-container"])},E.createElement("div",{className:v["user-info-content"]},E.createElement("div",{className:v["avatar-container"],style:{backgroundImage:null===U.auth?"url('".concat(a(93028),"')"):U.auth.user.avatar?"url('".concat(U.auth.user.avatar,"')"):"url('".concat(a(11251),"')")}}),E.createElement("div",{className:v["email-logout-container"]},E.createElement("div",{className:v["email-label-container"],title:null===U.auth?"Anonymous user":U.auth.user.email},E.createElement("div",{className:v["email-label"]},null===U.auth?"Anonymous user":U.auth.user.email)),null!==U.auth?E.createElement(u,{className:v["logout-button-container"],title:e("LOG_OUT"),onClick:pe},E.createElement("div",{className:v["logout-label"]},e("LOG_OUT"))):null))),null===U.auth?E.createElement("div",{className:v["option-container"]},E.createElement(u,{className:_(v["option-input-container"],v["button-container"]),title:"".concat(e("LOG_IN")," / ").concat(e("SIGN_UP")),href:"#/intro"},E.createElement("div",{className:v.label},e("LOG_IN")," / ",e("SIGN_UP")))):null),E.createElement("div",{className:v["section-container"]},E.createElement("div",{className:_(v["option-container"],v["link-container"])},U.auth?E.createElement(u,{className:_(v["option-input-container"],v["link-input-container"]),title:e("SETTINGS_DATA_EXPORT"),tabIndex:-1,onClick:fe},E.createElement("div",{className:v.label},e("SETTINGS_DATA_EXPORT"))):null),null!==U.auth&&null!==U.auth.user&&"string"==typeof U.auth.user._id?E.createElement("div",{className:_(v["option-container"],v["link-container"])},E.createElement(u,{className:_(v["option-input-container"],v["link-input-container"]),title:e("SETTINGS_SUBSCRIBE_CALENDAR"),tabIndex:-1,onClick:Ce},E.createElement("div",{className:v.label},e("SETTINGS_SUBSCRIBE_CALENDAR")))):null,E.createElement("div",{className:_(v["option-container"],v["link-container"])},E.createElement(u,{className:_(v["option-input-container"],v["link-input-container"]),title:e("SETTINGS_SUPPORT"),target:"_blank",href:"https://stremio.zendesk.com/hc/en-us"},E.createElement("div",{className:v.label},e("SETTINGS_SUPPORT")))),E.createElement("div",{className:_(v["option-container"],v["link-container"])},E.createElement(u,{className:_(v["option-input-container"],v["link-input-container"]),title:"Source code",target:"_blank",href:"https://github.com/stremio/stremio-web/tree/".concat("aabab5112d6e04708a05fd6c44b6dda32362b248")},E.createElement("div",{className:v.label},"Source code"))),E.createElement("div",{className:_(v["option-container"],v["link-container"])},E.createElement(u,{className:_(v["option-input-container"],v["link-input-container"]),title:e("TERMS_OF_SERVICE"),target:"_blank",href:"https://www.stremio.com/tos"},E.createElement("div",{className:v.label},e("TERMS_OF_SERVICE")))),E.createElement("div",{className:_(v["option-container"],v["link-container"])},E.createElement(u,{className:_(v["option-input-container"],v["link-input-container"]),title:e("PRIVACY_POLICY"),target:"_blank",href:"https://www.stremio.com/privacy"},E.createElement("div",{className:v.label},e("PRIVACY_POLICY")))),null!==U.auth&&null!==U.auth.user?E.createElement("div",{className:_(v["option-container"],v["link-container"])},E.createElement(u,{className:_(v["option-input-container"],v["link-input-container"]),title:e("SETTINGS_ACC_DELETE"),target:"_blank",href:"https://stremio.zendesk.com/hc/en-us/articles/360021428911-How-to-delete-my-account"},E.createElement("div",{className:v.label},e("SETTINGS_ACC_DELETE")))):null,null!==U.auth&&null!==U.auth.user&&"string"==typeof U.auth.user.email?E.createElement("div",{className:v["option-container"]},E.createElement(u,{className:_(v["option-input-container"],v["link-input-container"]),title:e("SETTINGS_CHANGE_PASSWORD"),target:"_blank",href:"https://www.strem.io/reset-password/".concat(U.auth.user.email)},E.createElement("div",{className:v.label},e("SETTINGS_CHANGE_PASSWORD")))):null,E.createElement("div",{className:v["option-container"]},E.createElement("div",{className:_(v["option-name-container"],v["trakt-icon"])},E.createElement(S,{className:v.icon,name:"trakt"}),E.createElement("div",{className:v.label},"Trakt Scrobbling")),E.createElement(u,{className:_(v["option-input-container"],v["button-container"]),title:"Authenticate",disabled:null===U.auth,tabIndex:-1,onClick:he},E.createElement("div",{className:v.label},null!==U.auth&&null!==U.auth.user&&null!==U.auth.user.trakt?e("LOG_OUT"):e("SETTINGS_TRAKT_AUTHENTICATE"))))),E.createElement("div",{className:v["section-container"]},E.createElement("div",{className:v["option-container"]},E.createElement("div",{className:v["option-name-container"]},E.createElement("div",{className:v.label},e("SETTINGS_UI_LANGUAGE"))),E.createElement(O,o({className:_(v["option-input-container"],v["multiselect-container"]),tabIndex:-1},z)))),E.createElement("div",{ref:ye,className:v["section-container"]},E.createElement("div",{className:v["section-title"]},e("SETTINGS_NAV_PLAYER")),E.createElement("div",{className:v["section-category-container"]},E.createElement(S,{className:v.icon,name:"subtitles"}),E.createElement("div",{className:v.label},e("SETTINGS_SECTION_SUBTITLES"))),E.createElement("div",{className:v["option-container"]},E.createElement("div",{className:v["option-name-container"]},E.createElement("div",{className:v.label},e("SETTINGS_SUBTITLES_LANGUAGE"))),E.createElement(O,o({className:_(v["option-input-container"],v["multiselect-container"])},K))),A.active?E.createElement("div",{className:v["option-container"]},E.createElement("div",{className:v["option-name-container"]},E.createElement("div",{className:v.label},e("SETTINGS_FULLSCREEN_EXIT"))),E.createElement(d,o({className:_(v["option-input-container"],v["checkbox-container"])},ee))):null,E.createElement("div",{className:v["option-container"]},E.createElement("div",{className:v["option-name-container"]},E.createElement("div",{className:v.label},e("SETTINGS_SUBTITLES_SIZE"))),E.createElement(O,o({className:_(v["option-input-container"],v["multiselect-container"])},x))),E.createElement("div",{className:v["option-container"]},E.createElement("div",{className:v["option-name-container"]},E.createElement("div",{className:v.label},e("SETTINGS_SUBTITLES_COLOR"))),E.createElement(R,o({className:_(v["option-input-container"],v["color-input-container"])},j))),E.createElement("div",{className:v["option-container"]},E.createElement("div",{className:v["option-name-container"]},E.createElement("div",{className:v.label},e("SETTINGS_SUBTITLES_COLOR_BACKGROUND"))),E.createElement(R,o({className:_(v["option-input-container"],v["color-input-container"])},Q))),E.createElement("div",{className:v["option-container"]},E.createElement("div",{className:v["option-name-container"]},E.createElement("div",{className:v.label},e("SETTINGS_SUBTITLES_COLOR_OUTLINE"))),E.createElement(R,o({className:_(v["option-input-container"],v["color-input-container"])},X)))),E.createElement("div",{className:v["section-container"]},E.createElement("div",{className:v["section-category-container"]},E.createElement(S,{className:v.icon,name:"volume-medium"}),E.createElement("div",{className:v.label},e("SETTINGS_SECTION_AUDIO"))),E.createElement("div",{className:v["option-container"]},E.createElement("div",{className:v["option-name-container"]},E.createElement("div",{className:v.label},e("SETTINGS_DEFAULT_AUDIO_TRACK"))),E.createElement(O,o({className:_(v["option-input-container"],v["multiselect-container"])},$))),E.createElement("div",{className:v["option-container"]},E.createElement("div",{className:v["option-name-container"]},E.createElement("div",{className:v.label},e("SETTINGS_SURROUND_SOUND"))),E.createElement(d,o({className:_(v["option-input-container"],v["checkbox-container"]),tabIndex:-1},q)))),E.createElement("div",{className:v["section-container"]},E.createElement("div",{className:v["section-category-container"]},E.createElement(S,{className:v.icon,name:"remote"}),E.createElement("div",{className:v.label},e("SETTINGS_SECTION_CONTROLS"))),E.createElement("div",{className:v["option-container"]},E.createElement("div",{className:v["option-name-container"]},E.createElement("div",{className:v.label},e("SETTINGS_SEEK_KEY"))),E.createElement(O,o({className:_(v["option-input-container"],v["multiselect-container"])},J))),E.createElement("div",{className:v["option-container"]},E.createElement("div",{className:v["option-name-container"]},E.createElement("div",{className:v.label},e("SETTINGS_SEEK_KEY_SHIFT"))),E.createElement(O,o({className:_(v["option-input-container"],v["multiselect-container"])},Z))),E.createElement("div",{className:v["option-container"]},E.createElement("div",{className:v["option-name-container"]},E.createElement("div",{className:v.label},e("SETTINGS_PLAY_IN_BACKGROUND"))),E.createElement(d,o({className:_(v["option-input-container"],v["checkbox-container"]),disabled:!0,tabIndex:-1},ie)))),E.createElement("div",{className:v["section-container"]},E.createElement("div",{className:v["section-category-container"]},E.createElement(S,{className:v.icon,name:"play"}),E.createElement("div",{className:v.label},e("SETTINGS_SECTION_AUTO_PLAY"))),E.createElement("div",{className:v["option-container"]},E.createElement("div",{className:v["option-name-container"]},E.createElement("div",{className:v.label},e("AUTO_PLAY"))),E.createElement(d,o({className:_(v["option-input-container"],v["checkbox-container"])},oe))),E.createElement("div",{className:v["option-container"]},E.createElement("div",{className:v["option-name-container"]},E.createElement("div",{className:v.label},e("SETTINGS_NEXT_VIDEO_POPUP_DURATION"))),E.createElement(O,o({className:_(v["option-input-container"],v["multiselect-container"]),disabled:!U.settings.bingeWatching},ae)))),E.createElement("div",{className:v["section-container"]},E.createElement("div",{className:v["section-category-container"]},E.createElement(S,{className:v.icon,name:"glasses"}),E.createElement("div",{className:v.label},e("SETTINGS_SECTION_ADVANCED"))),E.createElement("div",{className:v["option-container"]},E.createElement("div",{className:v["option-name-container"]},E.createElement("div",{className:v.label},e("SETTINGS_PLAY_IN_EXTERNAL_PLAYER"))),E.createElement(O,o({className:_(v["option-input-container"],v["multiselect-container"])},te))),E.createElement("div",{className:v["option-container"]},E.createElement("div",{className:v["option-name-container"]},E.createElement("div",{className:v.label},e("SETTINGS_HWDEC"))),E.createElement(d,o({className:_(v["option-input-container"],v["checkbox-container"]),disabled:!0,tabIndex:-1},ne)))),E.createElement("div",{ref:We,className:v["section-container"]},E.createElement("div",{className:v["section-title"]},e("SETTINGS_NAV_STREAMING")),E.createElement("div",{className:v["option-container"]},E.createElement(u,{className:_(v["option-input-container"],v["button-container"]),title:"Reload",onClick:Be},E.createElement("div",{className:v.label},e("RELOAD")))),E.createElement("div",{className:v["option-container"]},E.createElement("div",{className:v["option-name-container"]},E.createElement("div",{className:v.label},e("STATUS"))),E.createElement("div",{className:_(v["option-input-container"],v["info-container"])},E.createElement("div",{className:v.label},null===V.settings?"NotLoaded":"Ready"===V.settings.type?e("SETTINGS_SERVER_STATUS_ONLINE"):"Err"===V.settings.type?e("SETTINGS_SERVER_STATUS_ERROR"):V.settings.type))),E.createElement("div",{className:v["option-container"]},E.createElement("div",{className:v["option-name-container"]},E.createElement("div",{className:v.label},"Url")),E.createElement("div",{className:_(v["option-input-container"],v["configure-input-container"])},E.createElement("div",{className:v.label,title:re.value},re.value),E.createElement(u,{className:v["configure-button-container"],title:"Configure server url",onClick:ue},E.createElement(S,{className:v.icon,name:"settings"})))),null!==_e.value?E.createElement("div",{className:v["option-container"]},E.createElement("div",{className:v["option-name-container"]},E.createElement("div",{className:v.label},e("SETTINGS_REMOTE_URL"))),E.createElement("div",{className:_(v["option-input-container"],v["configure-input-container"])},E.createElement("div",{className:v.label,title:_e.value},_e.value),E.createElement(u,{className:v["configure-button-container"],title:e("SETTINGS_COPY_REMOTE_URL"),onClick:Pe},E.createElement(S,{className:v.icon,name:"link"})))):null,null!==U.auth&&null!==U.auth.user&&null!==Te?E.createElement("div",{className:v["option-container"]},E.createElement("div",{className:v["option-name-container"]},E.createElement("div",{className:v.label},e("SETTINGS_HTTPS_ENDPOINT"))),E.createElement(O,o({className:_(v["option-input-container"],v["multiselect-container"])},Te))):null,null!==se?E.createElement("div",{className:v["option-container"]},E.createElement("div",{className:v["option-name-container"]},E.createElement("div",{className:v.label},e("SETTINGS_SERVER_CACHE_SIZE"))),E.createElement(O,o({className:_(v["option-input-container"],v["multiselect-container"])},se))):null,null!==Se?E.createElement("div",{className:v["option-container"]},E.createElement("div",{className:v["option-name-container"]},E.createElement("div",{className:v.label},e("SETTINGS_SERVER_TORRENT_PROFILE"))),E.createElement(O,o({className:_(v["option-input-container"],v["multiselect-container"])},Se))):null,null!==le?E.createElement("div",{className:v["option-container"]},E.createElement("div",{className:v["option-name-container"]},E.createElement("div",{className:v.label},e("SETTINGS_TRANSCODE_PROFILE"))),E.createElement(O,o({className:_(v["option-input-container"],v["multiselect-container"])},le))):null),E.createElement("div",{ref:Me,className:v["section-container"]},E.createElement("div",{className:v["section-title"]},e("SETTINGS_NAV_SHORTCUTS")),E.createElement("div",{className:v["option-container"]},E.createElement("div",{className:v["option-name-container"]},E.createElement("div",{className:v.label},e("SETTINGS_SHORTCUT_PLAY_PAUSE"))),E.createElement("div",{className:_(v["option-input-container"],v["shortcut-container"])},E.createElement("kbd",null,e("SETTINGS_SHORTCUT_SPACE")))),E.createElement("div",{className:v["option-container"]},E.createElement("div",{className:v["option-name-container"]},E.createElement("div",{className:v.label},e("SETTINGS_SHORTCUT_SEEK_FORWARD"))),E.createElement("div",{className:_(v["option-input-container"],v["shortcut-container"])},E.createElement("kbd",null,"→"),E.createElement("div",{className:v.label},e("SETTINGS_SHORTCUT_OR")),E.createElement("kbd",null,"⇧ ",e("SETTINGS_SHORTCUT_SHIFT")),E.createElement("div",{className:v.label},"+"),E.createElement("kbd",null,"→"))),E.createElement("div",{className:v["option-container"]},E.createElement("div",{className:v["option-name-container"]},E.createElement("div",{className:v.label},e("SETTINGS_SHORTCUT_SEEK_BACKWARD"))),E.createElement("div",{className:_(v["option-input-container"],v["shortcut-container"])},E.createElement("kbd",null,"←"),E.createElement("div",{className:v.label},e("SETTINGS_SHORTCUT_OR")),E.createElement("kbd",null,"⇧ ",e("SETTINGS_SHORTCUT_SHIFT")),E.createElement("div",{className:v.label},"+"),E.createElement("kbd",null,"←"))),E.createElement("div",{className:v["option-container"]},E.createElement("div",{className:v["option-name-container"]},E.createElement("div",{className:v.label},e("SETTINGS_SHORTCUT_VOLUME_UP"))),E.createElement("div",{className:_(v["option-input-container"],v["shortcut-container"])},E.createElement("kbd",null,"↑"))),E.createElement("div",{className:v["option-container"]},E.createElement("div",{className:v["option-name-container"]},E.createElement("div",{className:v.label},e("SETTINGS_SHORTCUT_VOLUME_DOWN"))),E.createElement("div",{className:_(v["option-input-container"],v["shortcut-container"])},E.createElement("kbd",null,"↓"))),E.createElement("div",{className:v["option-container"]},E.createElement("div",{className:v["option-name-container"]},E.createElement("div",{className:v.label},e("SETTINGS_SHORTCUT_MENU_SUBTITLES"))),E.createElement("div",{className:_(v["option-input-container"],v["shortcut-container"])},E.createElement("kbd",null,"S"))),E.createElement("div",{className:v["option-container"]},E.createElement("div",{className:v["option-name-container"]},E.createElement("div",{className:v.label},e("SETTINGS_SHORTCUT_MENU_INFO"))),E.createElement("div",{className:_(v["option-input-container"],v["shortcut-container"])},E.createElement("kbd",null,"I"))),E.createElement("div",{className:v["option-container"]},E.createElement("div",{className:v["option-name-container"]},E.createElement("div",{className:v.label},e("SETTINGS_SHORTCUT_MENU_VIDEOS"))),E.createElement("div",{className:_(v["option-input-container"],v["shortcut-container"])},E.createElement("kbd",null,"V"))),E.createElement("div",{className:v["option-container"]},E.createElement("div",{className:v["option-name-container"]},E.createElement("div",{className:v.label},e("SETTINGS_SHORTCUT_FULLSCREEN"))),E.createElement("div",{className:_(v["option-input-container"],v["shortcut-container"])},E.createElement("kbd",null,"F"))),E.createElement("div",{className:v["option-container"]},E.createElement("div",{className:v["option-name-container"]},E.createElement("div",{className:v.label},e("SETTINGS_SHORTCUT_NAVIGATE_MENUS"))),E.createElement("div",{className:_(v["option-input-container"],v["shortcut-container"])},E.createElement("kbd",null,"1"),E.createElement("div",{className:v.label},e("SETTINGS_SHORTCUT_TO")),E.createElement("kbd",null,"5"))),E.createElement("div",{className:v["option-container"]},E.createElement("div",{className:v["option-name-container"]},E.createElement("div",{className:v.label},e("SETTINGS_SHORTCUT_GO_TO_SEARCH"))),E.createElement("div",{className:_(v["option-input-container"],v["shortcut-container"])},E.createElement("kbd",null,"0"))),E.createElement("div",{className:v["option-container"]},E.createElement("div",{className:v["option-name-container"]},E.createElement("div",{className:v.label},e("SETTINGS_SHORTCUT_EXIT_BACK"))),E.createElement("div",{className:_(v["option-input-container"],v["shortcut-container"])},E.createElement("kbd",null,e("SETTINGS_SHORTCUT_ESC"))))),E.createElement("div",{className:_(v["section-container"],v["versions-section-container"])},E.createElement("div",{className:v["option-container"]},E.createElement("div",{className:v["option-name-container"]},E.createElement("div",{className:v.label},"App Version")),E.createElement("div",{className:_(v["option-input-container"],v["info-container"])},E.createElement("div",{className:v.label},"5.0.0-beta.13"))),null!==V.settings&&"Ready"===V.settings.type?E.createElement("div",{className:v["option-container"]},E.createElement("div",{className:v["option-name-container"]},E.createElement("div",{className:v.label},"Server Version")),E.createElement("div",{className:_(v["option-input-container"],v["info-container"])},E.createElement("div",{className:v.label},V.settings.content.serverVersion))):null))),Ae?E.createElement(m,{className:v["configure-server-url-modal-container"],title:e("SETTINGS_SERVER_CONFIGURE_TITLE"),buttons:De,onCloseRequest:de},E.createElement(N,{ref:ce,autoFocus:!0,className:v["server-url-input"],type:"text",defaultValue:re.value,placeholder:e("SETTINGS_SERVER_CONFIGURE_INPUT"),onSubmit:Oe})):null)}),(function(){return E.createElement(c,{className:v["settings-container"],route:"settings"})}))},62465:(e,t,a)=>{var o=a(85674);e.exports=o},94137:(e,t,a)=>{function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?o(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):o(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}var r=a(67294),E=a(63662).useServices,_=a(86590).useModelState,T=function(e){return i(i({},e),{},{exportUrl:null!==e&&null!==e.exportUrl&&"Ready"===e.exportUrl.type?e.exportUrl.content:null})};e.exports=function(){var e=E().core,t=r.useCallback((function(){e.transport.dispatch({action:"Load",args:{model:"DataExport"}},"data_export")}),[]);return[_({model:"data_export",map:T}),t]}},81621:(e,t,a)=>{function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?o(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):o(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}var r=a(67294),E=a(81468).useTranslation,_=a(63662).useServices,T=a(86590),s=T.CONSTANTS,S=T.usePlatform,l=T.interfaceLanguages,I=T.languageNames;e.exports=function(e){var t=E().t,a=_().core,o=S();return{interfaceLanguageSelect:r.useMemo((function(){var t,o;return{options:l.map((function(e){var t=e.name;return{value:e.codes[0],label:t}})),selected:[(null===(t=l.find((function(t){return t.codes[1]===e.settings.interfaceLanguage})))||void 0===t||null===(o=t.codes)||void 0===o?void 0:o[0])||e.settings.interfaceLanguage],onSelect:function(t){a.transport.dispatch({action:"Ctx",args:{action:"UpdateSettings",args:i(i({},e.settings),{},{interfaceLanguage:t.value})}})}}}),[e.settings]),subtitlesLanguageSelect:r.useMemo((function(){return{options:Object.keys(I).map((function(e){return{value:e,label:I[e]}})),selected:[e.settings.subtitlesLanguage],onSelect:function(t){a.transport.dispatch({action:"Ctx",args:{action:"UpdateSettings",args:i(i({},e.settings),{},{subtitlesLanguage:t.value})}})}}}),[e.settings]),subtitlesSizeSelect:r.useMemo((function(){return{options:s.SUBTITLES_SIZES.map((function(e){return{value:"".concat(e),label:"".concat(e,"%")}})),selected:["".concat(e.settings.subtitlesSize)],renderLabelText:function(){return"".concat(e.settings.subtitlesSize,"%")},onSelect:function(t){a.transport.dispatch({action:"Ctx",args:{action:"UpdateSettings",args:i(i({},e.settings),{},{subtitlesSize:parseInt(t.value,10)})}})}}}),[e.settings]),subtitlesTextColorInput:r.useMemo((function(){return{value:e.settings.subtitlesTextColor,onChange:function(t){a.transport.dispatch({action:"Ctx",args:{action:"UpdateSettings",args:i(i({},e.settings),{},{subtitlesTextColor:t.value})}})}}}),[e.settings]),subtitlesBackgroundColorInput:r.useMemo((function(){return{value:e.settings.subtitlesBackgroundColor,onChange:function(t){a.transport.dispatch({action:"Ctx",args:{action:"UpdateSettings",args:i(i({},e.settings),{},{subtitlesBackgroundColor:t.value})}})}}}),[e.settings]),subtitlesOutlineColorInput:r.useMemo((function(){return{value:e.settings.subtitlesOutlineColor,onChange:function(t){a.transport.dispatch({action:"Ctx",args:{action:"UpdateSettings",args:i(i({},e.settings),{},{subtitlesOutlineColor:t.value})}})}}}),[e.settings]),audioLanguageSelect:r.useMemo((function(){return{options:Object.keys(I).map((function(e){return{value:e,label:I[e]}})),selected:[e.settings.audioLanguage],onSelect:function(t){a.transport.dispatch({action:"Ctx",args:{action:"UpdateSettings",args:i(i({},e.settings),{},{audioLanguage:t.value})}})}}}),[e.settings]),surroundSoundCheckbox:r.useMemo((function(){return{checked:e.settings.surroundSound,onClick:function(){a.transport.dispatch({action:"Ctx",args:{action:"UpdateSettings",args:i(i({},e.settings),{},{surroundSound:!e.settings.surroundSound})}})}}}),[e.settings]),escExitFullscreenCheckbox:r.useMemo((function(){return{checked:e.settings.escExitFullscreen,onClick:function(){a.transport.dispatch({action:"Ctx",args:{action:"UpdateSettings",args:i(i({},e.settings),{},{escExitFullscreen:!e.settings.escExitFullscreen})}})}}}),[e.settings]),seekTimeDurationSelect:r.useMemo((function(){return{options:s.SEEK_TIME_DURATIONS.map((function(e){return{value:"".concat(e),label:"".concat(e/1e3," ").concat(t("SECONDS"))}})),selected:["".concat(e.settings.seekTimeDuration)],renderLabelText:function(){return"".concat(e.settings.seekTimeDuration/1e3," ").concat(t("SECONDS"))},onSelect:function(t){a.transport.dispatch({action:"Ctx",args:{action:"UpdateSettings",args:i(i({},e.settings),{},{seekTimeDuration:parseInt(t.value,10)})}})}}}),[e.settings]),seekShortTimeDurationSelect:r.useMemo((function(){return{options:s.SEEK_TIME_DURATIONS.map((function(e){return{value:"".concat(e),label:"".concat(e/1e3," ").concat(t("SECONDS"))}})),selected:["".concat(e.settings.seekShortTimeDuration)],renderLabelText:function(){return"".concat(e.settings.seekShortTimeDuration/1e3," ").concat(t("SECONDS"))},onSelect:function(t){a.transport.dispatch({action:"Ctx",args:{action:"UpdateSettings",args:i(i({},e.settings),{},{seekShortTimeDuration:parseInt(t.value,10)})}})}}}),[e.settings]),playInExternalPlayerSelect:r.useMemo((function(){return{options:s.EXTERNAL_PLAYERS.filter((function(e){return e.platforms.includes(o.name)})).map((function(e){var a=e.label;return{value:e.value,label:t(a)}})),selected:[e.settings.playerType],renderLabelText:function(){var a=s.EXTERNAL_PLAYERS.find((function(t){return t.value===e.settings.playerType}));return a?t(a.label,{defaultValue:a.label}):e.settings.playerType},onSelect:function(t){a.transport.dispatch({action:"Ctx",args:{action:"UpdateSettings",args:i(i({},e.settings),{},{playerType:t.value})}})}}}),[e.settings]),nextVideoPopupDurationSelect:r.useMemo((function(){return{options:s.NEXT_VIDEO_POPUP_DURATIONS.map((function(e){return{value:"".concat(e),label:0===e?"Disabled":"".concat(e/1e3," ").concat(t("SECONDS"))}})),selected:["".concat(e.settings.nextVideoNotificationDuration)],renderLabelText:function(){return 0===e.settings.nextVideoNotificationDuration?"Disabled":"".concat(e.settings.nextVideoNotificationDuration/1e3," ").concat(t("SECONDS"))},onSelect:function(t){a.transport.dispatch({action:"Ctx",args:{action:"UpdateSettings",args:i(i({},e.settings),{},{nextVideoNotificationDuration:parseInt(t.value,10)})}})}}}),[e.settings]),bingeWatchingCheckbox:r.useMemo((function(){return{checked:e.settings.bingeWatching,onClick:function(){a.transport.dispatch({action:"Ctx",args:{action:"UpdateSettings",args:i(i({},e.settings),{},{bingeWatching:!e.settings.bingeWatching})}})}}}),[e.settings]),playInBackgroundCheckbox:r.useMemo((function(){return{checked:e.settings.playInBackground,onClick:function(){a.transport.dispatch({action:"Ctx",args:{action:"UpdateSettings",args:i(i({},e.settings),{},{playInBackground:!e.settings.playInBackground})}})}}}),[e.settings]),hardwareDecodingCheckbox:r.useMemo((function(){return{checked:e.settings.hardwareDecoding,onClick:function(){a.transport.dispatch({action:"Ctx",args:{action:"UpdateSettings",args:i(i({},e.settings),{},{hardwareDecoding:!e.settings.hardwareDecoding})}})}}}),[e.settings]),streamingServerUrlInput:r.useMemo((function(){return{value:e.settings.streamingServerUrl,onChange:function(t){a.transport.dispatch({action:"Ctx",args:{action:"UpdateSettings",args:i(i({},e.settings),{},{streamingServerUrl:t})}})}}}),[e.settings])}}},86842:(e,t,a)=>{function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?o(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):o(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function r(e){return(function(e){if(Array.isArray(e))return E(e)})(e)||(function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)})(e)||(function(e,t){if(!e)return;if("string"==typeof e)return E(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return E(e,t)})(e)||(function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function E(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var _=a(67294),T=a(81468).useTranslation,s=a(72307),S=a(63662).useServices,l=[0,2147483648,5368709120,10737418240,null],I=function(e){return null===e?"Infinite":0===e?"No caching":"".concat(Math.ceil(100*(e/1024/1024/1024+Number.EPSILON))/100,"GiB")},A={default:{btDownloadSpeedHardLimit:3670016,btDownloadSpeedSoftLimit:2621440,btHandshakeTimeout:2e4,btMaxConnections:55,btMinPeersForStable:5,btRequestTimeout:4e3},soft:{btDownloadSpeedHardLimit:1677721.6,btDownloadSpeedSoftLimit:1677721.6,btHandshakeTimeout:2e4,btMaxConnections:35,btMinPeersForStable:5,btRequestTimeout:4e3},fast:{btDownloadSpeedHardLimit:39321600,btDownloadSpeedSoftLimit:4194304,btHandshakeTimeout:2e4,btMaxConnections:200,btMinPeersForStable:10,btRequestTimeout:4e3},"ultra fast":{btDownloadSpeedHardLimit:78643200,btDownloadSpeedSoftLimit:8388608,btHandshakeTimeout:25e3,btMaxConnections:400,btMinPeersForStable:10,btRequestTimeout:6e3}};e.exports=function(e){var t=S().core,a=T().t;return{streamingServerRemoteUrlInput:_.useMemo((function(){return{value:e.remoteUrl}}),[e.remoteUrl]),remoteEndpointSelect:_.useMemo((function(){var o,n;return"Ready"!==(null===(o=e.settings)||void 0===o?void 0:o.type)||"Ready"!==(null===(n=e.networkInfo)||void 0===n?void 0:n.type)?null:{options:[{label:a("SETTINGS_DISABLED"),value:""}].concat(r(e.networkInfo.content.availableInterfaces.map((function(e){return{label:e,value:e}})))),selected:[e.settings.content.remoteHttps],onSelect:function(a){t.transport.dispatch({action:"StreamingServer",args:{action:"UpdateSettings",args:i(i({},e.settings.content),{},{remoteHttps:a.value})}})}}}),[e.settings,e.networkInfo]),cacheSizeSelect:_.useMemo((function(){return null===e.settings||"Ready"!==e.settings.type?null:{options:l.map((function(e){return{label:I(e),value:JSON.stringify(e)}})),selected:[JSON.stringify(e.settings.content.cacheSize)],renderLabelText:function(){return I(e.settings.content.cacheSize)},onSelect:function(a){t.transport.dispatch({action:"StreamingServer",args:{action:"UpdateSettings",args:i(i({},e.settings.content),{},{cacheSize:JSON.parse(a.value)})}})}}}),[e.settings]),torrentProfileSelect:_.useMemo((function(){if(null===e.settings||"Ready"!==e.settings.type)return null;var a={btDownloadSpeedHardLimit:e.settings.content.btDownloadSpeedHardLimit,btDownloadSpeedSoftLimit:e.settings.content.btDownloadSpeedSoftLimit,btHandshakeTimeout:e.settings.content.btHandshakeTimeout,btMaxConnections:e.settings.content.btMaxConnections,btMinPeersForStable:e.settings.content.btMinPeersForStable,btRequestTimeout:e.settings.content.btRequestTimeout},o=Object.values(A).every((function(e){return!s(e,a)}));return{options:Object.keys(A).map((function(e){return{label:e,value:JSON.stringify(A[e])}})).concat(o?[{label:"custom",value:JSON.stringify(a)}]:[]),selected:[JSON.stringify(a)],onSelect:function(a){t.transport.dispatch({action:"StreamingServer",args:{action:"UpdateSettings",args:i(i({},e.settings.content),JSON.parse(a.value))}})}}}),[e.settings]),transcodingProfileSelect:_.useMemo((function(){var o,n;return"Ready"!==(null===(o=e.settings)||void 0===o?void 0:o.type)||"Ready"!==(null===(n=e.deviceInfo)||void 0===n?void 0:n.type)?null:{options:[{label:a("SETTINGS_DISABLED"),value:null}].concat(r(e.deviceInfo.content.availableHardwareAccelerations.map((function(e){return{label:e,value:e}})))),selected:[e.settings.content.transcodeProfile],onSelect:function(a){t.transport.dispatch({action:"StreamingServer",args:{action:"UpdateSettings",args:i(i({},e.settings.content),{},{transcodeProfile:a.value})}})}}}),[e.settings,e.deviceInfo])}}},71529:(e,t,a)=>{var o=a(57165),i=a(88823),n=a(21901),r=a(77965),E=a(69005),_=a(50353),T=a(96375),s=a(62465),S=a(57793),l=a(16732);e.exports={Addons:o,Board:i,Discover:n,Library:r,MetaDetails:E,NotFound:_,Search:T,Settings:s,Player:S,Intro:l}},61099:(e,t,a)=>{var o=a(26729),i=a(55482);e.exports=function(){var e=!1,t=null,a=!1,n=null,r=new o;function E(){e=!0,t=null,a=!1,T()}function _(o){console.error(o),e=!1,t=new Error("Google Cast API not available",{cause:o}),a=!1,T(),n=null}function T(){r.emit("stateChanged")}Object.defineProperties(this,{active:{configurable:!1,enumerable:!0,get:function(){return e}},error:{configurable:!1,enumerable:!0,get:function(){return t}},starting:{configurable:!1,enumerable:!0,get:function(){return a}},transport:{configurable:!1,enumerable:!0,get:function(){return n}}}),this.start=function(){e||t instanceof Error||a||(a=!0,(n=new i).on("init",E),n.on("init-error",_),T())},this.stop=function(){e=!1,t=null,a=!1,T(),null!==n&&(n.removeAllListeners(),n=null)},this.on=function(e,t){r.on(e,t)},this.off=function(e,t){r.off(e,t)}}},55482:(e,t,a)=>{var o=a(26729),i=a(542),n="urn:x-cast:com.stremio",r=2e4,E=null,_=new o;window.__onGCastApiAvailable=function(e){delete window.__onGCastApiAvailable,E=!!e,_.emit("availabilityChanged")};e.exports=function(){var e=new o,t={};function a(a,o){try{var i=JSON.parse(o),n=i.id,r=i.chunk,E=i.index,_=i.length;if(t[n]=t[n]||[],t[n][E]=r,Object.keys(t[n]).length===_){var T=JSON.parse(t[n].join(""));delete t[n],e.emit("message",T)}}catch(t){e.emit("message-error",t)}}function T(t){e.emit(cast.framework.CastSession.APPLICATION_STATUS_CHANGED,t)}function s(t){e.emit(cast.framework.CastSession.APPLICATION_METADATA_CHANGED,t)}function S(t){e.emit(cast.framework.CastSession.ACTIVE_INPUT_STATE_CHANGED,t)}function l(t){e.emit(cast.framework.CastSession.VOLUME_CHANGED,t)}function I(t){e.emit(cast.framework.CastSession.MEDIA_SESSION,t)}function A(t){e.emit(cast.framework.CastContextEventType.CAST_STATE_CHANGED,t)}function u(t){switch(e.emit(cast.framework.CastContextEventType.SESSION_STATE_CHANGED,t),t.sessionState){case cast.framework.SessionState.SESSION_STARTED:t.session.addMessageListener(n,a),t.session.addEventListener(cast.framework.CastSession.APPLICATION_STATUS_CHANGED,T),t.session.addEventListener(cast.framework.CastSession.APPLICATION_METADATA_CHANGED,s),t.session.addEventListener(cast.framework.CastSession.ACTIVE_INPUT_STATE_CHANGED,S),t.session.addEventListener(cast.framework.CastSession.VOLUME_CHANGED,l),t.session.addEventListener(cast.framework.CastSession.MEDIA_SESSION,I);break;case cast.framework.SessionState.SESSION_ENDED:t.session.removeMessageListener(n,a),t.session.removeEventListener(cast.framework.CastSession.APPLICATION_STATUS_CHANGED,T),t.session.removeEventListener(cast.framework.CastSession.APPLICATION_METADATA_CHANGED,s),t.session.removeEventListener(cast.framework.CastSession.ACTIVE_INPUT_STATE_CHANGED,S),t.session.removeEventListener(cast.framework.CastSession.VOLUME_CHANGED,l),t.session.removeEventListener(cast.framework.CastSession.MEDIA_SESSION,I)}}new Promise((function(e,t){function a(){_.off("availabilityChanged",a),E?e():t(new Error("window.cast api not available"))}null!==E?a():_.on("availabilityChanged",a)})).then((function(){cast.framework.CastContext.getInstance().addEventListener(cast.framework.CastContextEventType.CAST_STATE_CHANGED,A),cast.framework.CastContext.getInstance().addEventListener(cast.framework.CastContextEventType.SESSION_STATE_CHANGED,u)})).then((function(){try{e.emit("init")}catch(e){console.error("ChromecastTransport",e)}})).catch((function(t){e.emit("init-error",t)})),this.on=function(t,a){e.on(t,a)},this.off=function(t,a){e.off(t,a)},this.removeAllListeners=function(){e.removeAllListeners()},this.getCastState=function(){return cast.framework.CastContext.getInstance().getCastState()},this.getSessionState=function(){return cast.framework.CastContext.getInstance().getSessionState()},this.getCastDevice=function(){var e=cast.framework.CastContext.getInstance().getCurrentSession();return null!==e?e.getCastDevice():null},this.setOptions=function(e){cast.framework.CastContext.getInstance().setOptions(e)},this.requestSession=function(){return cast.framework.CastContext.getInstance().requestSession()},this.endCurrentSession=function(e){cast.framework.CastContext.getInstance().endCurrentSession(e)},this.sendMessage=function(e){var t=cast.framework.CastContext.getInstance().getCurrentSession();if(null!==t){for(var a=JSON.stringify(e),o=Math.ceil(a.length/r),E=[],_=0;_<o;_++){var T=_*r,s=a.slice(T,T+r);E.push(s)}var S=i();return Promise.all(E.map((function(e,a){return t.sendMessage(n,{id:S,chunk:e,index:a,length:E.length})})))}return Promise.reject(new Error("Session not started"))}}},56623:(e,t,a)=>{var o=a(61099);e.exports=o},46194:(e,t,a)=>{var o=a(26729),i=a(6806);e.exports=function(e){var t=!1,a=null,n=!1,r=null,E=new o;function _(){t=!0,a=null,n=!1,s()}function T(e){console.error(e),t=!1,a=new Error("Stremio Core Transport initialization failed",{cause:e}),n=!1,s(),r=null}function s(){E.emit("stateChanged")}Object.defineProperties(this,{active:{configurable:!1,enumerable:!0,get:function(){return t}},error:{configurable:!1,enumerable:!0,get:function(){return a}},starting:{configurable:!1,enumerable:!0,get:function(){return n}},transport:{configurable:!1,enumerable:!0,get:function(){return r}}}),this.start=function(){t||a instanceof Error||n||(n=!0,(r=new i(e)).on("init",_),r.on("error",T),s())},this.stop=function(){t=!1,a=null,n=!1,s(),null!==r&&(r.removeAllListeners(),r=null)},this.on=function(e,t){E.on(e,t)},this.off=function(e,t){E.off(e,t)}}},6806:(e,t,a)=>{function o(e,t,a,o,i,n,r){try{var E=e[n](r),_=E.value}catch(e){return void a(e)}E.done?t(_):Promise.resolve(_).then(o,i)}function i(e){return function(){var t=this,a=arguments;return new Promise((function(i,n){var r=e.apply(t,a);function E(e){o(r,i,n,E,_,"next",e)}function _(e){o(r,i,n,E,_,"throw",e)}E(void 0)}))}}var n=a(26729),r=a(56553);e.exports=function(e){var t=new n,a=new Worker("".concat("aabab5112d6e04708a05fd6c44b6dda32362b248","/scripts/worker.js")),o=new r(window,a);window.onCoreEvent=function(e){var a=e.name,o=e.args;try{t.emit(a,o)}catch(e){console.error("CoreTransport",e)}},o.call(["init"],[e]).then((function(){try{t.emit("init")}catch(e){console.error("CoreTransport",e)}})).catch((function(e){t.emit("error",e)})),this.on=function(e,a){t.on(e,a)},this.off=function(e,a){t.off(e,a)},this.removeAllListeners=function(){t.removeAllListeners()},this.getState=(function(){var e=i(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",o.call(["getState"],[t]));case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}})(),this.getDebugState=i(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",o.call(["getDebugState"],[]));case 1:case"end":return e.stop()}}),e)}))),this.dispatch=(function(){var e=i(regeneratorRuntime.mark((function e(t,a){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",o.call(["dispatch"],[t,a,location.hash]));case 1:case"end":return e.stop()}}),e)})));return function(t,a){return e.apply(this,arguments)}})(),this.analytics=(function(){var e=i(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",o.call(["analytics"],[t,location.hash]));case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}})(),this.decodeStream=(function(){var e=i(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",o.call(["decodeStream"],[t]));case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}})()}},4937:(e,t,a)=>{var o=a(46194);e.exports=o},48634:(e,t,a)=>{function o(e,t,a,o,i,n,r){try{var E=e[n](r),_=E.value}catch(e){return void a(e)}E.done?t(_):Promise.resolve(_).then(o,i)}function i(e){return function(){var t=this,a=arguments;return new Promise((function(i,n){var r=e.apply(t,a);function E(e){o(r,i,n,E,_,"next",e)}function _(e){o(r,i,n,E,_,"throw",e)}E(void 0)}))}}var n=a(26729);e.exports=function(e){var t=e.core,a=!1,o=new n;function r(e){e.preventDefault()}function E(e){return _.apply(this,arguments)}function _(){return(_=i(regeneratorRuntime.mark((function e(a){var i,n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(a.preventDefault(),!(a.dataTransfer.files instanceof FileList&&a.dataTransfer.files.length>0)){e.next=18;break}i=a.dataTransfer.files[0],e.t0=i.type,e.next="application/x-bittorrent"===e.t0?6:17;break;case 6:return e.prev=6,e.next=9,i.arrayBuffer();case 9:n=e.sent,t.transport.dispatch({action:"StreamingServer",args:{action:"CreateTorrent",args:Array.from(new Uint8Array(n))}}),e.next=16;break;case 13:e.prev=13,e.t1=e.catch(6),o.emit("error",{message:"Failed to process file",file:{name:i.name,type:i.type}});case 16:return e.abrupt("break",18);case 17:o.emit("error",{message:"Unsupported file",file:{name:i.name,type:i.type}});case 18:case"end":return e.stop()}}),e,null,[[6,13]])})))).apply(this,arguments)}function T(){o.emit("stateChanged")}Object.defineProperties(this,{active:{configurable:!1,enumerable:!0,get:function(){return a}}}),this.start=function(){a||(window.addEventListener("dragover",r),window.addEventListener("drop",E),a=!0,T())},this.stop=function(){window.removeEventListener("dragover",r),window.removeEventListener("drop",E),a=!1,T()},this.on=function(e,t){o.on(e,t)},this.off=function(e,t){o.off(e,t)}}},98500:(e,t,a)=>{var o=a(48634);e.exports=o},19093:(e,t,a)=>{var o=a(26729);e.exports=function(){var e=!1,t=new o;function a(e){if(!(e.keyboardShortcutPrevented||"INPUT"===e.target.tagName||e.ctrlKey||e.altKey||e.shiftKey||e.metaKey))switch(e.code){case"Digit0":e.preventDefault(),window.location="#/search";break;case"Digit1":e.preventDefault(),window.location="#/";break;case"Digit2":e.preventDefault(),window.location="#/discover";break;case"Digit3":e.preventDefault(),window.location="#/library";break;case"Digit4":e.preventDefault(),window.location="#/addons";break;case"Digit5":e.preventDefault(),window.location="#/settings";break;case"Backspace":e.preventDefault(),e.ctrlKey?window.history.forward():window.history.back();break;case"KeyF":e.preventDefault(),document.fullscreenElement===document.documentElement?document.exitFullscreen():document.documentElement.requestFullscreen()}}function i(){t.emit("stateChanged")}Object.defineProperties(this,{active:{configurable:!1,enumerable:!0,get:function(){return e}}}),this.start=function(){e||(window.addEventListener("keydown",a),e=!0,i())},this.stop=function(){window.removeEventListener("keydown",a),e=!1,i()}}},97369:(e,t,a)=>{var o=a(19093);e.exports=o},42207:(e,t,a)=>{var o=a(67294).createContext({});o.displayName="ServicesContext",e.exports=o},58261:(e,t,a)=>{var o=a(67294),i=a(45697),n=a(42207),r=function(e){var t=e.services,a=void 0===t?{}:t,i=e.children;return o.createElement(n.Provider,{value:a},i)};r.propTypes={services:i.object,children:i.oneOfType([i.arrayOf(i.node),i.node])},e.exports=r},83487:(e,t,a)=>{var o=a(58261),i=a(71806);e.exports={ServicesProvider:o,useServices:i}},71806:(e,t,a)=>{var o=a(67294),i=a(42207);e.exports=function(){return o.useContext(i)}},53015:(e,t,a)=>{var o=a(26729),i=a(80755);e.exports=function(){var e=!1,t=null,a=!1,n=null,r=new o;function E(){e=!0,t=null,a=!1,T()}function _(o){console.error(o),e=!1,t=new Error(o),a=!1,T(),n=null}function T(){r.emit("stateChanged")}Object.defineProperties(this,{active:{configurable:!1,enumerable:!0,get:function(){return e}},error:{configurable:!1,enumerable:!0,get:function(){return t}},starting:{configurable:!1,enumerable:!0,get:function(){return a}},transport:{configurable:!1,enumerable:!0,get:function(){return n}}}),this.start=function(){e||t instanceof Error||a||(e=!1,a=!0,(n=new i).on("init",E),n.on("init-error",_),T())},this.stop=function(){e=!1,t=null,a=!1,T()},this.on=function(e,t){r.on(e,t)},this.off=function(e,t){r.off(e,t)}}},80755:(e,t,a)=>{var o=a(26729),i=!1,n=new o,r=1,E=3,_=6,T=7,s="transport";window.initShellComm=function(){delete window.initShellComm,n.emit("availabilityChanged")};e.exports=function(){var e=new o;this.props={};var t=this;(window.qt?new Promise((function(e){function t(){n.off("availabilityChanged",t),i=!0,e()}i?t():n.on("availabilityChanged",t)})):Promise.reject("Qt API not found")).then((function(){var a=window.qt&&window.qt.webChannelTransport;if(!a)throw"no viable transport found (qt.webChannelTransport)";var o=0;function i(e){e.id=o++,a.send(JSON.stringify(e))}a.onmessage=function(a){var o=JSON.parse(a.data);if(0===o.id){var n=o.data[s];n.properties.slice(1).forEach((function(e){t.props[e[1]]=e[3]})),"string"==typeof t.props.shellVersion&&(t.shellVersionArr=(t.props.shellVersion.match(/(\d+)\.(\d+)\.(\d+)/)||[]).slice(1,4).map(Number)),e.emit("received-props",t.props),n.signals.forEach((function(e){i({type:T,object:s,signal:e[1]})}));var E=n.methods.filter((function(e){return"onEvent"===e[0]}))[0];t.send=function(e,t){i({type:_,object:s,method:E[1],args:[e,t||{}]})},t.send("app-ready",{})}o.object===s&&o.type===r&&e.emit(o.args[0],o.args[1]),e.emit("init")},i({type:E})})).catch((function(t){e.emit("init-error",t)})),this.on=function(t,a){e.on(t,a)},this.off=function(t,a){e.off(t,a)},this.removeAllListeners=function(){e.removeAllListeners()}}},61921:(e,t,a)=>{var o=a(53015);e.exports=o},63662:(e,t,a)=>{var o=a(56623),i=a(4937),n=a(98500),r=a(97369),E=a(83487),_=E.ServicesProvider,T=E.useServices,s=a(61921);e.exports={Chromecast:o,Core:i,DragAndDrop:n,KeyboardShortcuts:r,ServicesProvider:_,useServices:T,Shell:s}},79742:(e,t)=>{"use strict";t.byteLength=function(e){var t=_(e),a=t[0],o=t[1];return 3*(a+o)/4-o},t.toByteArray=function(e){var t,a,n=_(e),r=n[0],E=n[1],T=new i((function(e,t,a){return 3*(t+a)/4-a})(0,r,E)),s=0,S=E>0?r-4:r;for(a=0;a<S;a+=4)t=o[e.charCodeAt(a)]<<18|o[e.charCodeAt(a+1)]<<12|o[e.charCodeAt(a+2)]<<6|o[e.charCodeAt(a+3)],T[s++]=t>>16&255,T[s++]=t>>8&255,T[s++]=255&t;2===E&&(t=o[e.charCodeAt(a)]<<2|o[e.charCodeAt(a+1)]>>4,T[s++]=255&t);1===E&&(t=o[e.charCodeAt(a)]<<10|o[e.charCodeAt(a+1)]<<4|o[e.charCodeAt(a+2)]>>2,T[s++]=t>>8&255,T[s++]=255&t);return T},t.fromByteArray=function(e){for(var t,o=e.length,i=o%3,n=[],r=16383,E=0,_=o-i;E<_;E+=r)n.push(T(e,E,E+r>_?_:E+r));1===i?(t=e[o-1],n.push(a[t>>2]+a[t<<4&63]+"==")):2===i&&(t=(e[o-2]<<8)+e[o-1],n.push(a[t>>10]+a[t>>4&63]+a[t<<2&63]+"="));return n.join("")};for(var a=[],o=[],i="undefined"!=typeof Uint8Array?Uint8Array:Array,n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",r=0,E=n.length;r<E;++r)a[r]=n[r],o[n.charCodeAt(r)]=r;function _(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var a=e.indexOf("=");return-1===a&&(a=t),[a,a===t?0:4-a%4]}function T(e,t,o){for(var i,n,r=[],E=t;E<o;E+=3)i=(e[E]<<16&16711680)+(e[E+1]<<8&65280)+(255&e[E+2]),r.push(a[(n=i)>>18&63]+a[n>>12&63]+a[n>>6&63]+a[63&n]);return r.join("")}o["-".charCodeAt(0)]=62,o["_".charCodeAt(0)]=63},57500:e=>{function t(e){return e.reduce(((e,t,a,o)=>{const i=t.split("-").map((e=>parseInt(e)));return e.concat(((e,t=e)=>Array.from({length:t-e+1},((t,a)=>a+e)))(...i))}),[])}e.exports=t,e.exports.parse=t,e.exports.compose=function(e){return e.reduce(((e,t,a,o)=>(0!==a&&t===o[a-1]+1||e.push([]),e[e.length-1].push(t),e)),[]).map((e=>e.length>1?`${e[0]}-${e[e.length-1]}`:`${e[0]}`))}},51206:function(e){e.exports=(function(e){var t={};function a(o){if(t[o])return t[o].exports;var i=t[o]={i:o,l:!1,exports:{}};return e[o].call(i.exports,i,i.exports,a),i.l=!0,i.exports}return a.m=e,a.c=t,a.d=function(e,t,o){a.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(e,t){if(1&t&&(e=a(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(a.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)a.d(o,i,function(t){return e[t]}.bind(null,i));return o},a.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(t,"a",t),t},a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a.p="",a(a.s=90)})({17:function(e,t,a){"use strict";t.__esModule=!0,t.default=void 0;var o=a(18),i=(function(){function e(){}return e.getFirstMatch=function(e,t){var a=t.match(e);return a&&a.length>0&&a[1]||""},e.getSecondMatch=function(e,t){var a=t.match(e);return a&&a.length>1&&a[2]||""},e.matchAndReturnConst=function(e,t,a){if(e.test(t))return a},e.getWindowsVersionName=function(e){switch(e){case"NT":return"NT";case"XP":case"NT 5.1":return"XP";case"NT 5.0":return"2000";case"NT 5.2":return"2003";case"NT 6.0":return"Vista";case"NT 6.1":return"7";case"NT 6.2":return"8";case"NT 6.3":return"8.1";case"NT 10.0":return"10";default:return}},e.getMacOSVersionName=function(e){var t=e.split(".").splice(0,2).map((function(e){return parseInt(e,10)||0}));if(t.push(0),10===t[0])switch(t[1]){case 5:return"Leopard";case 6:return"Snow Leopard";case 7:return"Lion";case 8:return"Mountain Lion";case 9:return"Mavericks";case 10:return"Yosemite";case 11:return"El Capitan";case 12:return"Sierra";case 13:return"High Sierra";case 14:return"Mojave";case 15:return"Catalina";default:return}},e.getAndroidVersionName=function(e){var t=e.split(".").splice(0,2).map((function(e){return parseInt(e,10)||0}));if(t.push(0),!(1===t[0]&&t[1]<5))return 1===t[0]&&t[1]<6?"Cupcake":1===t[0]&&t[1]>=6?"Donut":2===t[0]&&t[1]<2?"Eclair":2===t[0]&&2===t[1]?"Froyo":2===t[0]&&t[1]>2?"Gingerbread":3===t[0]?"Honeycomb":4===t[0]&&t[1]<1?"Ice Cream Sandwich":4===t[0]&&t[1]<4?"Jelly Bean":4===t[0]&&t[1]>=4?"KitKat":5===t[0]?"Lollipop":6===t[0]?"Marshmallow":7===t[0]?"Nougat":8===t[0]?"Oreo":9===t[0]?"Pie":void 0},e.getVersionPrecision=function(e){return e.split(".").length},e.compareVersions=function(t,a,o){void 0===o&&(o=!1);var i=e.getVersionPrecision(t),n=e.getVersionPrecision(a),r=Math.max(i,n),E=0,_=e.map([t,a],(function(t){var a=r-e.getVersionPrecision(t),o=t+new Array(a+1).join(".0");return e.map(o.split("."),(function(e){return new Array(20-e.length).join("0")+e})).reverse()}));for(o&&(E=r-Math.min(i,n)),r-=1;r>=E;){if(_[0][r]>_[1][r])return 1;if(_[0][r]===_[1][r]){if(r===E)return 0;r-=1}else if(_[0][r]<_[1][r])return-1}},e.map=function(e,t){var a,o=[];if(Array.prototype.map)return Array.prototype.map.call(e,t);for(a=0;a<e.length;a+=1)o.push(t(e[a]));return o},e.find=function(e,t){var a,o;if(Array.prototype.find)return Array.prototype.find.call(e,t);for(a=0,o=e.length;a<o;a+=1){var i=e[a];if(t(i,a))return i}},e.assign=function(e){for(var t,a,o=e,i=arguments.length,n=new Array(i>1?i-1:0),r=1;r<i;r++)n[r-1]=arguments[r];if(Object.assign)return Object.assign.apply(Object,[e].concat(n));var E=function(){var e=n[t];"object"==typeof e&&null!==e&&Object.keys(e).forEach((function(t){o[t]=e[t]}))};for(t=0,a=n.length;t<a;t+=1)E();return e},e.getBrowserAlias=function(e){return o.BROWSER_ALIASES_MAP[e]},e.getBrowserTypeByAlias=function(e){return o.BROWSER_MAP[e]||""},e})();t.default=i,e.exports=t.default},18:function(e,t,a){"use strict";t.__esModule=!0,t.ENGINE_MAP=t.OS_MAP=t.PLATFORMS_MAP=t.BROWSER_MAP=t.BROWSER_ALIASES_MAP=void 0,t.BROWSER_ALIASES_MAP={"Amazon Silk":"amazon_silk","Android Browser":"android",Bada:"bada",BlackBerry:"blackberry",Chrome:"chrome",Chromium:"chromium",Electron:"electron",Epiphany:"epiphany",Firefox:"firefox",Focus:"focus",Generic:"generic","Google Search":"google_search",Googlebot:"googlebot","Internet Explorer":"ie","K-Meleon":"k_meleon",Maxthon:"maxthon","Microsoft Edge":"edge","MZ Browser":"mz","NAVER Whale Browser":"naver",Opera:"opera","Opera Coast":"opera_coast",PhantomJS:"phantomjs",Puffin:"puffin",QupZilla:"qupzilla",QQ:"qq",QQLite:"qqlite",Safari:"safari",Sailfish:"sailfish","Samsung Internet for Android":"samsung_internet",SeaMonkey:"seamonkey",Sleipnir:"sleipnir",Swing:"swing",Tizen:"tizen","UC Browser":"uc",Vivaldi:"vivaldi","WebOS Browser":"webos",WeChat:"wechat","Yandex Browser":"yandex",Roku:"roku"},t.BROWSER_MAP={amazon_silk:"Amazon Silk",android:"Android Browser",bada:"Bada",blackberry:"BlackBerry",chrome:"Chrome",chromium:"Chromium",electron:"Electron",epiphany:"Epiphany",firefox:"Firefox",focus:"Focus",generic:"Generic",googlebot:"Googlebot",google_search:"Google Search",ie:"Internet Explorer",k_meleon:"K-Meleon",maxthon:"Maxthon",edge:"Microsoft Edge",mz:"MZ Browser",naver:"NAVER Whale Browser",opera:"Opera",opera_coast:"Opera Coast",phantomjs:"PhantomJS",puffin:"Puffin",qupzilla:"QupZilla",qq:"QQ Browser",qqlite:"QQ Browser Lite",safari:"Safari",sailfish:"Sailfish",samsung_internet:"Samsung Internet for Android",seamonkey:"SeaMonkey",sleipnir:"Sleipnir",swing:"Swing",tizen:"Tizen",uc:"UC Browser",vivaldi:"Vivaldi",webos:"WebOS Browser",wechat:"WeChat",yandex:"Yandex Browser"},t.PLATFORMS_MAP={tablet:"tablet",mobile:"mobile",desktop:"desktop",tv:"tv"},t.OS_MAP={WindowsPhone:"Windows Phone",Windows:"Windows",MacOS:"macOS",iOS:"iOS",Android:"Android",WebOS:"WebOS",BlackBerry:"BlackBerry",Bada:"Bada",Tizen:"Tizen",Linux:"Linux",ChromeOS:"Chrome OS",PlayStation4:"PlayStation 4",Roku:"Roku"},t.ENGINE_MAP={EdgeHTML:"EdgeHTML",Blink:"Blink",Trident:"Trident",Presto:"Presto",Gecko:"Gecko",WebKit:"WebKit"}},90:function(e,t,a){"use strict";t.__esModule=!0,t.default=void 0;var o,i=(o=a(91))&&o.__esModule?o:{default:o},n=a(18);function r(e,t){for(var a=0;a<t.length;a++){var o=t[a];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}var E=(function(){function e(){}var t,a,o;return e.getParser=function(e,t){if(void 0===t&&(t=!1),"string"!=typeof e)throw new Error("UserAgent should be a string");return new i.default(e,t)},e.parse=function(e){return new i.default(e).getResult()},t=e,o=[{key:"BROWSER_MAP",get:function(){return n.BROWSER_MAP}},{key:"ENGINE_MAP",get:function(){return n.ENGINE_MAP}},{key:"OS_MAP",get:function(){return n.OS_MAP}},{key:"PLATFORMS_MAP",get:function(){return n.PLATFORMS_MAP}}],(a=null)&&r(t.prototype,a),o&&r(t,o),e})();t.default=E,e.exports=t.default},91:function(e,t,a){"use strict";t.__esModule=!0,t.default=void 0;var o=_(a(92)),i=_(a(93)),n=_(a(94)),r=_(a(95)),E=_(a(17));function _(e){return e&&e.__esModule?e:{default:e}}var T=(function(){function e(e,t){if(void 0===t&&(t=!1),null==e||""===e)throw new Error("UserAgent parameter can't be empty");this._ua=e,this.parsedResult={},!0!==t&&this.parse()}var t=e.prototype;return t.getUA=function(){return this._ua},t.test=function(e){return e.test(this._ua)},t.parseBrowser=function(){var e=this;this.parsedResult.browser={};var t=E.default.find(o.default,(function(t){if("function"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some((function(t){return e.test(t)}));throw new Error("Browser's test function is not valid")}));return t&&(this.parsedResult.browser=t.describe(this.getUA())),this.parsedResult.browser},t.getBrowser=function(){return this.parsedResult.browser?this.parsedResult.browser:this.parseBrowser()},t.getBrowserName=function(e){return e?String(this.getBrowser().name).toLowerCase()||"":this.getBrowser().name||""},t.getBrowserVersion=function(){return this.getBrowser().version},t.getOS=function(){return this.parsedResult.os?this.parsedResult.os:this.parseOS()},t.parseOS=function(){var e=this;this.parsedResult.os={};var t=E.default.find(i.default,(function(t){if("function"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some((function(t){return e.test(t)}));throw new Error("Browser's test function is not valid")}));return t&&(this.parsedResult.os=t.describe(this.getUA())),this.parsedResult.os},t.getOSName=function(e){var t=this.getOS().name;return e?String(t).toLowerCase()||"":t||""},t.getOSVersion=function(){return this.getOS().version},t.getPlatform=function(){return this.parsedResult.platform?this.parsedResult.platform:this.parsePlatform()},t.getPlatformType=function(e){void 0===e&&(e=!1);var t=this.getPlatform().type;return e?String(t).toLowerCase()||"":t||""},t.parsePlatform=function(){var e=this;this.parsedResult.platform={};var t=E.default.find(n.default,(function(t){if("function"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some((function(t){return e.test(t)}));throw new Error("Browser's test function is not valid")}));return t&&(this.parsedResult.platform=t.describe(this.getUA())),this.parsedResult.platform},t.getEngine=function(){return this.parsedResult.engine?this.parsedResult.engine:this.parseEngine()},t.getEngineName=function(e){return e?String(this.getEngine().name).toLowerCase()||"":this.getEngine().name||""},t.parseEngine=function(){var e=this;this.parsedResult.engine={};var t=E.default.find(r.default,(function(t){if("function"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some((function(t){return e.test(t)}));throw new Error("Browser's test function is not valid")}));return t&&(this.parsedResult.engine=t.describe(this.getUA())),this.parsedResult.engine},t.parse=function(){return this.parseBrowser(),this.parseOS(),this.parsePlatform(),this.parseEngine(),this},t.getResult=function(){return E.default.assign({},this.parsedResult)},t.satisfies=function(e){var t=this,a={},o=0,i={},n=0;if(Object.keys(e).forEach((function(t){var r=e[t];"string"==typeof r?(i[t]=r,n+=1):"object"==typeof r&&(a[t]=r,o+=1)})),o>0){var r=Object.keys(a),_=E.default.find(r,(function(e){return t.isOS(e)}));if(_){var T=this.satisfies(a[_]);if(void 0!==T)return T}var s=E.default.find(r,(function(e){return t.isPlatform(e)}));if(s){var S=this.satisfies(a[s]);if(void 0!==S)return S}}if(n>0){var l=Object.keys(i),I=E.default.find(l,(function(e){return t.isBrowser(e,!0)}));if(void 0!==I)return this.compareVersion(i[I])}},t.isBrowser=function(e,t){void 0===t&&(t=!1);var a=this.getBrowserName().toLowerCase(),o=e.toLowerCase(),i=E.default.getBrowserTypeByAlias(o);return t&&i&&(o=i.toLowerCase()),o===a},t.compareVersion=function(e){var t=[0],a=e,o=!1,i=this.getBrowserVersion();if("string"==typeof i)return">"===e[0]||"<"===e[0]?(a=e.substr(1),"="===e[1]?(o=!0,a=e.substr(2)):t=[],">"===e[0]?t.push(1):t.push(-1)):"="===e[0]?a=e.substr(1):"~"===e[0]&&(o=!0,a=e.substr(1)),t.indexOf(E.default.compareVersions(i,a,o))>-1},t.isOS=function(e){return this.getOSName(!0)===String(e).toLowerCase()},t.isPlatform=function(e){return this.getPlatformType(!0)===String(e).toLowerCase()},t.isEngine=function(e){return this.getEngineName(!0)===String(e).toLowerCase()},t.is=function(e,t){return void 0===t&&(t=!1),this.isBrowser(e,t)||this.isOS(e)||this.isPlatform(e)},t.some=function(e){var t=this;return void 0===e&&(e=[]),e.some((function(e){return t.is(e)}))},e})();t.default=T,e.exports=t.default},92:function(e,t,a){"use strict";t.__esModule=!0,t.default=void 0;var o,i=(o=a(17))&&o.__esModule?o:{default:o},n=/version\/(\d+(\.?_?\d+)+)/i,r=[{test:[/googlebot/i],describe:function(e){var t={name:"Googlebot"},a=i.default.getFirstMatch(/googlebot\/(\d+(\.\d+))/i,e)||i.default.getFirstMatch(n,e);return a&&(t.version=a),t}},{test:[/opera/i],describe:function(e){var t={name:"Opera"},a=i.default.getFirstMatch(n,e)||i.default.getFirstMatch(/(?:opera)[\s/](\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/opr\/|opios/i],describe:function(e){var t={name:"Opera"},a=i.default.getFirstMatch(/(?:opr|opios)[\s/](\S+)/i,e)||i.default.getFirstMatch(n,e);return a&&(t.version=a),t}},{test:[/SamsungBrowser/i],describe:function(e){var t={name:"Samsung Internet for Android"},a=i.default.getFirstMatch(n,e)||i.default.getFirstMatch(/(?:SamsungBrowser)[\s/](\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/Whale/i],describe:function(e){var t={name:"NAVER Whale Browser"},a=i.default.getFirstMatch(n,e)||i.default.getFirstMatch(/(?:whale)[\s/](\d+(?:\.\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/MZBrowser/i],describe:function(e){var t={name:"MZ Browser"},a=i.default.getFirstMatch(/(?:MZBrowser)[\s/](\d+(?:\.\d+)+)/i,e)||i.default.getFirstMatch(n,e);return a&&(t.version=a),t}},{test:[/focus/i],describe:function(e){var t={name:"Focus"},a=i.default.getFirstMatch(/(?:focus)[\s/](\d+(?:\.\d+)+)/i,e)||i.default.getFirstMatch(n,e);return a&&(t.version=a),t}},{test:[/swing/i],describe:function(e){var t={name:"Swing"},a=i.default.getFirstMatch(/(?:swing)[\s/](\d+(?:\.\d+)+)/i,e)||i.default.getFirstMatch(n,e);return a&&(t.version=a),t}},{test:[/coast/i],describe:function(e){var t={name:"Opera Coast"},a=i.default.getFirstMatch(n,e)||i.default.getFirstMatch(/(?:coast)[\s/](\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/opt\/\d+(?:.?_?\d+)+/i],describe:function(e){var t={name:"Opera Touch"},a=i.default.getFirstMatch(/(?:opt)[\s/](\d+(\.?_?\d+)+)/i,e)||i.default.getFirstMatch(n,e);return a&&(t.version=a),t}},{test:[/yabrowser/i],describe:function(e){var t={name:"Yandex Browser"},a=i.default.getFirstMatch(/(?:yabrowser)[\s/](\d+(\.?_?\d+)+)/i,e)||i.default.getFirstMatch(n,e);return a&&(t.version=a),t}},{test:[/ucbrowser/i],describe:function(e){var t={name:"UC Browser"},a=i.default.getFirstMatch(n,e)||i.default.getFirstMatch(/(?:ucbrowser)[\s/](\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/Maxthon|mxios/i],describe:function(e){var t={name:"Maxthon"},a=i.default.getFirstMatch(n,e)||i.default.getFirstMatch(/(?:Maxthon|mxios)[\s/](\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/epiphany/i],describe:function(e){var t={name:"Epiphany"},a=i.default.getFirstMatch(n,e)||i.default.getFirstMatch(/(?:epiphany)[\s/](\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/puffin/i],describe:function(e){var t={name:"Puffin"},a=i.default.getFirstMatch(n,e)||i.default.getFirstMatch(/(?:puffin)[\s/](\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/sleipnir/i],describe:function(e){var t={name:"Sleipnir"},a=i.default.getFirstMatch(n,e)||i.default.getFirstMatch(/(?:sleipnir)[\s/](\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/k-meleon/i],describe:function(e){var t={name:"K-Meleon"},a=i.default.getFirstMatch(n,e)||i.default.getFirstMatch(/(?:k-meleon)[\s/](\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/micromessenger/i],describe:function(e){var t={name:"WeChat"},a=i.default.getFirstMatch(/(?:micromessenger)[\s/](\d+(\.?_?\d+)+)/i,e)||i.default.getFirstMatch(n,e);return a&&(t.version=a),t}},{test:[/qqbrowser/i],describe:function(e){var t={name:/qqbrowserlite/i.test(e)?"QQ Browser Lite":"QQ Browser"},a=i.default.getFirstMatch(/(?:qqbrowserlite|qqbrowser)[/](\d+(\.?_?\d+)+)/i,e)||i.default.getFirstMatch(n,e);return a&&(t.version=a),t}},{test:[/msie|trident/i],describe:function(e){var t={name:"Internet Explorer"},a=i.default.getFirstMatch(/(?:msie |rv:)(\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/\sedg\//i],describe:function(e){var t={name:"Microsoft Edge"},a=i.default.getFirstMatch(/\sedg\/(\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/edg([ea]|ios)/i],describe:function(e){var t={name:"Microsoft Edge"},a=i.default.getSecondMatch(/edg([ea]|ios)\/(\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/vivaldi/i],describe:function(e){var t={name:"Vivaldi"},a=i.default.getFirstMatch(/vivaldi\/(\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/seamonkey/i],describe:function(e){var t={name:"SeaMonkey"},a=i.default.getFirstMatch(/seamonkey\/(\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/sailfish/i],describe:function(e){var t={name:"Sailfish"},a=i.default.getFirstMatch(/sailfish\s?browser\/(\d+(\.\d+)?)/i,e);return a&&(t.version=a),t}},{test:[/silk/i],describe:function(e){var t={name:"Amazon Silk"},a=i.default.getFirstMatch(/silk\/(\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/phantom/i],describe:function(e){var t={name:"PhantomJS"},a=i.default.getFirstMatch(/phantomjs\/(\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/slimerjs/i],describe:function(e){var t={name:"SlimerJS"},a=i.default.getFirstMatch(/slimerjs\/(\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/blackberry|\bbb\d+/i,/rim\stablet/i],describe:function(e){var t={name:"BlackBerry"},a=i.default.getFirstMatch(n,e)||i.default.getFirstMatch(/blackberry[\d]+\/(\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t={name:"WebOS Browser"},a=i.default.getFirstMatch(n,e)||i.default.getFirstMatch(/w(?:eb)?[o0]sbrowser\/(\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/bada/i],describe:function(e){var t={name:"Bada"},a=i.default.getFirstMatch(/dolfin\/(\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/tizen/i],describe:function(e){var t={name:"Tizen"},a=i.default.getFirstMatch(/(?:tizen\s?)?browser\/(\d+(\.?_?\d+)+)/i,e)||i.default.getFirstMatch(n,e);return a&&(t.version=a),t}},{test:[/qupzilla/i],describe:function(e){var t={name:"QupZilla"},a=i.default.getFirstMatch(/(?:qupzilla)[\s/](\d+(\.?_?\d+)+)/i,e)||i.default.getFirstMatch(n,e);return a&&(t.version=a),t}},{test:[/firefox|iceweasel|fxios/i],describe:function(e){var t={name:"Firefox"},a=i.default.getFirstMatch(/(?:firefox|iceweasel|fxios)[\s/](\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/electron/i],describe:function(e){var t={name:"Electron"},a=i.default.getFirstMatch(/(?:electron)\/(\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/MiuiBrowser/i],describe:function(e){var t={name:"Miui"},a=i.default.getFirstMatch(/(?:MiuiBrowser)[\s/](\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/chromium/i],describe:function(e){var t={name:"Chromium"},a=i.default.getFirstMatch(/(?:chromium)[\s/](\d+(\.?_?\d+)+)/i,e)||i.default.getFirstMatch(n,e);return a&&(t.version=a),t}},{test:[/chrome|crios|crmo/i],describe:function(e){var t={name:"Chrome"},a=i.default.getFirstMatch(/(?:chrome|crios|crmo)\/(\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/GSA/i],describe:function(e){var t={name:"Google Search"},a=i.default.getFirstMatch(/(?:GSA)\/(\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:function(e){var t=!e.test(/like android/i),a=e.test(/android/i);return t&&a},describe:function(e){var t={name:"Android Browser"},a=i.default.getFirstMatch(n,e);return a&&(t.version=a),t}},{test:[/playstation 4/i],describe:function(e){var t={name:"PlayStation 4"},a=i.default.getFirstMatch(n,e);return a&&(t.version=a),t}},{test:[/safari|applewebkit/i],describe:function(e){var t={name:"Safari"},a=i.default.getFirstMatch(n,e);return a&&(t.version=a),t}},{test:[/.*/i],describe:function(e){var t=-1!==e.search("\\(")?/^(.*)\/(.*)[ \t]\((.*)/:/^(.*)\/(.*) /;return{name:i.default.getFirstMatch(t,e),version:i.default.getSecondMatch(t,e)}}}];t.default=r,e.exports=t.default},93:function(e,t,a){"use strict";t.__esModule=!0,t.default=void 0;var o,i=(o=a(17))&&o.__esModule?o:{default:o},n=a(18),r=[{test:[/Roku\/DVP/],describe:function(e){var t=i.default.getFirstMatch(/Roku\/DVP-(\d+\.\d+)/i,e);return{name:n.OS_MAP.Roku,version:t}}},{test:[/windows phone/i],describe:function(e){var t=i.default.getFirstMatch(/windows phone (?:os)?\s?(\d+(\.\d+)*)/i,e);return{name:n.OS_MAP.WindowsPhone,version:t}}},{test:[/windows /i],describe:function(e){var t=i.default.getFirstMatch(/Windows ((NT|XP)( \d\d?.\d)?)/i,e),a=i.default.getWindowsVersionName(t);return{name:n.OS_MAP.Windows,version:t,versionName:a}}},{test:[/Macintosh(.*?) FxiOS(.*?)\//],describe:function(e){var t={name:n.OS_MAP.iOS},a=i.default.getSecondMatch(/(Version\/)(\d[\d.]+)/,e);return a&&(t.version=a),t}},{test:[/macintosh/i],describe:function(e){var t=i.default.getFirstMatch(/mac os x (\d+(\.?_?\d+)+)/i,e).replace(/[_\s]/g,"."),a=i.default.getMacOSVersionName(t),o={name:n.OS_MAP.MacOS,version:t};return a&&(o.versionName=a),o}},{test:[/(ipod|iphone|ipad)/i],describe:function(e){var t=i.default.getFirstMatch(/os (\d+([_\s]\d+)*) like mac os x/i,e).replace(/[_\s]/g,".");return{name:n.OS_MAP.iOS,version:t}}},{test:function(e){var t=!e.test(/like android/i),a=e.test(/android/i);return t&&a},describe:function(e){var t=i.default.getFirstMatch(/android[\s/-](\d+(\.\d+)*)/i,e),a=i.default.getAndroidVersionName(t),o={name:n.OS_MAP.Android,version:t};return a&&(o.versionName=a),o}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t=i.default.getFirstMatch(/(?:web|hpw)[o0]s\/(\d+(\.\d+)*)/i,e),a={name:n.OS_MAP.WebOS};return t&&t.length&&(a.version=t),a}},{test:[/blackberry|\bbb\d+/i,/rim\stablet/i],describe:function(e){var t=i.default.getFirstMatch(/rim\stablet\sos\s(\d+(\.\d+)*)/i,e)||i.default.getFirstMatch(/blackberry\d+\/(\d+([_\s]\d+)*)/i,e)||i.default.getFirstMatch(/\bbb(\d+)/i,e);return{name:n.OS_MAP.BlackBerry,version:t}}},{test:[/bada/i],describe:function(e){var t=i.default.getFirstMatch(/bada\/(\d+(\.\d+)*)/i,e);return{name:n.OS_MAP.Bada,version:t}}},{test:[/tizen/i],describe:function(e){var t=i.default.getFirstMatch(/tizen[/\s](\d+(\.\d+)*)/i,e);return{name:n.OS_MAP.Tizen,version:t}}},{test:[/linux/i],describe:function(){return{name:n.OS_MAP.Linux}}},{test:[/CrOS/],describe:function(){return{name:n.OS_MAP.ChromeOS}}},{test:[/PlayStation 4/],describe:function(e){var t=i.default.getFirstMatch(/PlayStation 4[/\s](\d+(\.\d+)*)/i,e);return{name:n.OS_MAP.PlayStation4,version:t}}}];t.default=r,e.exports=t.default},94:function(e,t,a){"use strict";t.__esModule=!0,t.default=void 0;var o,i=(o=a(17))&&o.__esModule?o:{default:o},n=a(18),r=[{test:[/googlebot/i],describe:function(){return{type:"bot",vendor:"Google"}}},{test:[/huawei/i],describe:function(e){var t=i.default.getFirstMatch(/(can-l01)/i,e)&&"Nova",a={type:n.PLATFORMS_MAP.mobile,vendor:"Huawei"};return t&&(a.model=t),a}},{test:[/nexus\s*(?:7|8|9|10).*/i],describe:function(){return{type:n.PLATFORMS_MAP.tablet,vendor:"Nexus"}}},{test:[/ipad/i],describe:function(){return{type:n.PLATFORMS_MAP.tablet,vendor:"Apple",model:"iPad"}}},{test:[/Macintosh(.*?) FxiOS(.*?)\//],describe:function(){return{type:n.PLATFORMS_MAP.tablet,vendor:"Apple",model:"iPad"}}},{test:[/kftt build/i],describe:function(){return{type:n.PLATFORMS_MAP.tablet,vendor:"Amazon",model:"Kindle Fire HD 7"}}},{test:[/silk/i],describe:function(){return{type:n.PLATFORMS_MAP.tablet,vendor:"Amazon"}}},{test:[/tablet(?! pc)/i],describe:function(){return{type:n.PLATFORMS_MAP.tablet}}},{test:function(e){var t=e.test(/ipod|iphone/i),a=e.test(/like (ipod|iphone)/i);return t&&!a},describe:function(e){var t=i.default.getFirstMatch(/(ipod|iphone)/i,e);return{type:n.PLATFORMS_MAP.mobile,vendor:"Apple",model:t}}},{test:[/nexus\s*[0-6].*/i,/galaxy nexus/i],describe:function(){return{type:n.PLATFORMS_MAP.mobile,vendor:"Nexus"}}},{test:[/[^-]mobi/i],describe:function(){return{type:n.PLATFORMS_MAP.mobile}}},{test:function(e){return"blackberry"===e.getBrowserName(!0)},describe:function(){return{type:n.PLATFORMS_MAP.mobile,vendor:"BlackBerry"}}},{test:function(e){return"bada"===e.getBrowserName(!0)},describe:function(){return{type:n.PLATFORMS_MAP.mobile}}},{test:function(e){return"windows phone"===e.getBrowserName()},describe:function(){return{type:n.PLATFORMS_MAP.mobile,vendor:"Microsoft"}}},{test:function(e){var t=Number(String(e.getOSVersion()).split(".")[0]);return"android"===e.getOSName(!0)&&t>=3},describe:function(){return{type:n.PLATFORMS_MAP.tablet}}},{test:function(e){return"android"===e.getOSName(!0)},describe:function(){return{type:n.PLATFORMS_MAP.mobile}}},{test:function(e){return"macos"===e.getOSName(!0)},describe:function(){return{type:n.PLATFORMS_MAP.desktop,vendor:"Apple"}}},{test:function(e){return"windows"===e.getOSName(!0)},describe:function(){return{type:n.PLATFORMS_MAP.desktop}}},{test:function(e){return"linux"===e.getOSName(!0)},describe:function(){return{type:n.PLATFORMS_MAP.desktop}}},{test:function(e){return"playstation 4"===e.getOSName(!0)},describe:function(){return{type:n.PLATFORMS_MAP.tv}}},{test:function(e){return"roku"===e.getOSName(!0)},describe:function(){return{type:n.PLATFORMS_MAP.tv}}}];t.default=r,e.exports=t.default},95:function(e,t,a){"use strict";t.__esModule=!0,t.default=void 0;var o,i=(o=a(17))&&o.__esModule?o:{default:o},n=a(18),r=[{test:function(e){return"microsoft edge"===e.getBrowserName(!0)},describe:function(e){if(/\sedg\//i.test(e))return{name:n.ENGINE_MAP.Blink};var t=i.default.getFirstMatch(/edge\/(\d+(\.?_?\d+)+)/i,e);return{name:n.ENGINE_MAP.EdgeHTML,version:t}}},{test:[/trident/i],describe:function(e){var t={name:n.ENGINE_MAP.Trident},a=i.default.getFirstMatch(/trident\/(\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:function(e){return e.test(/presto/i)},describe:function(e){var t={name:n.ENGINE_MAP.Presto},a=i.default.getFirstMatch(/presto\/(\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:function(e){var t=e.test(/gecko/i),a=e.test(/like gecko/i);return t&&!a},describe:function(e){var t={name:n.ENGINE_MAP.Gecko},a=i.default.getFirstMatch(/gecko\/(\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/(apple)?webkit\/537\.36/i],describe:function(){return{name:n.ENGINE_MAP.Blink}}},{test:[/(apple)?webkit/i],describe:function(e){var t={name:n.ENGINE_MAP.WebKit},a=i.default.getFirstMatch(/webkit\/(\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}}];t.default=r,e.exports=t.default}})},48764:(e,t,a)=>{"use strict";const o=a(79742),i=a(80645),n="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;t.Buffer=_,t.SlowBuffer=function(e){+e!=e&&(e=0);return _.alloc(+e)},t.INSPECT_MAX_BYTES=50;const r=2147483647;function E(e){if(e>r)throw new RangeError('The value "'+e+'" is invalid for option "size"');const t=new Uint8Array(e);return Object.setPrototypeOf(t,_.prototype),t}function _(e,t,a){if("number"==typeof e){if("string"==typeof t)throw new TypeError('The "string" argument must be of type string. Received type number');return S(e)}return T(e,t,a)}function T(e,t,a){if("string"==typeof e)return(function(e,t){"string"==typeof t&&""!==t||(t="utf8");if(!_.isEncoding(t))throw new TypeError("Unknown encoding: "+t);const a=0|u(e,t);let o=E(a);const i=o.write(e,t);i!==a&&(o=o.slice(0,i));return o})(e,t);if(ArrayBuffer.isView(e))return(function(e){if(X(e,Uint8Array)){const t=new Uint8Array(e);return I(t.buffer,t.byteOffset,t.byteLength)}return l(e)})(e);if(null==e)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(X(e,ArrayBuffer)||e&&X(e.buffer,ArrayBuffer))return I(e,t,a);if("undefined"!=typeof SharedArrayBuffer&&(X(e,SharedArrayBuffer)||e&&X(e.buffer,SharedArrayBuffer)))return I(e,t,a);if("number"==typeof e)throw new TypeError('The "value" argument must not be of type number. Received type number');const o=e.valueOf&&e.valueOf();if(null!=o&&o!==e)return _.from(o,t,a);const i=(function(e){if(_.isBuffer(e)){const t=0|A(e.length),a=E(t);return 0===a.length||e.copy(a,0,0,t),a}if(void 0!==e.length)return"number"!=typeof e.length||$(e.length)?E(0):l(e);if("Buffer"===e.type&&Array.isArray(e.data))return l(e.data)})(e);if(i)return i;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof e[Symbol.toPrimitive])return _.from(e[Symbol.toPrimitive]("string"),t,a);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}function s(e){if("number"!=typeof e)throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function S(e){return s(e),E(e<0?0:0|A(e))}function l(e){const t=e.length<0?0:0|A(e.length),a=E(t);for(let o=0;o<t;o+=1)a[o]=255&e[o];return a}function I(e,t,a){if(t<0||e.byteLength<t)throw new RangeError('"offset" is outside of buffer bounds');if(e.byteLength<t+(a||0))throw new RangeError('"length" is outside of buffer bounds');let o;return o=void 0===t&&void 0===a?new Uint8Array(e):void 0===a?new Uint8Array(e,t):new Uint8Array(e,t,a),Object.setPrototypeOf(o,_.prototype),o}function A(e){if(e>=r)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+r.toString(16)+" bytes");return 0|e}function u(e,t){if(_.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||X(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);const a=e.length,o=arguments.length>2&&!0===arguments[2];if(!o&&0===a)return 0;let i=!1;for(;;)switch(t){case"ascii":case"latin1":case"binary":return a;case"utf8":case"utf-8":return x(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*a;case"hex":return a>>>1;case"base64":return j(e).length;default:if(i)return o?-1:x(e).length;t=(""+t).toLowerCase(),i=!0}}function d(e,t,a){let o=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===a||a>this.length)&&(a=this.length),a<=0)return"";if((a>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return g(this,t,a);case"utf8":case"utf-8":return C(this,t,a);case"ascii":return B(this,t,a);case"latin1":case"binary":return P(this,t,a);case"base64":return h(this,t,a);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return v(this,t,a);default:if(o)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),o=!0}}function c(e,t,a){const o=e[t];e[t]=e[a],e[a]=o}function O(e,t,a,o,i){if(0===e.length)return-1;if("string"==typeof a?(o=a,a=0):a>2147483647?a=2147483647:a<-2147483648&&(a=-2147483648),$(a=+a)&&(a=i?0:e.length-1),a<0&&(a=e.length+a),a>=e.length){if(i)return-1;a=e.length-1}else if(a<0){if(!i)return-1;a=0}if("string"==typeof t&&(t=_.from(t,o)),_.isBuffer(t))return 0===t.length?-1:R(e,t,a,o,i);if("number"==typeof t)return t&=255,"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,a):Uint8Array.prototype.lastIndexOf.call(e,t,a):R(e,[t],a,o,i);throw new TypeError("val must be string, number or Buffer")}function R(e,t,a,o,i){let n,r=1,E=e.length,_=t.length;if(void 0!==o&&("ucs2"===(o=String(o).toLowerCase())||"ucs-2"===o||"utf16le"===o||"utf-16le"===o)){if(e.length<2||t.length<2)return-1;r=2,E/=2,_/=2,a/=2}function T(e,t){return 1===r?e[t]:e.readUInt16BE(t*r)}if(i){let o=-1;for(n=a;n<E;n++)if(T(e,n)===T(t,-1===o?0:n-o)){if(-1===o&&(o=n),n-o+1===_)return o*r}else-1!==o&&(n-=n-o),o=-1}else for(a+_>E&&(a=E-_),n=a;n>=0;n--){let a=!0;for(let o=0;o<_;o++)if(T(e,n+o)!==T(t,o)){a=!1;break}if(a)return n}return-1}function N(e,t,a,o){a=Number(a)||0;const i=e.length-a;o?(o=Number(o))>i&&(o=i):o=i;const n=t.length;let r;for(o>n/2&&(o=n/2),r=0;r<o;++r){const o=parseInt(t.substr(2*r,2),16);if($(o))return r;e[a+r]=o}return r}function m(e,t,a,o){return Q(x(t,e.length-a),e,a,o)}function L(e,t,a,o){return Q((function(e){const t=[];for(let a=0;a<e.length;++a)t.push(255&e.charCodeAt(a));return t})(t),e,a,o)}function D(e,t,a,o){return Q(j(t),e,a,o)}function p(e,t,a,o){return Q((function(e,t){let a,o,i;const n=[];for(let r=0;r<e.length&&!((t-=2)<0);++r)a=e.charCodeAt(r),o=a>>8,i=a%256,n.push(i),n.push(o);return n})(t,e.length-a),e,a,o)}function h(e,t,a){return 0===t&&a===e.length?o.fromByteArray(e):o.fromByteArray(e.slice(t,a))}function C(e,t,a){a=Math.min(e.length,a);const o=[];let i=t;for(;i<a;){const t=e[i];let n=null,r=t>239?4:t>223?3:t>191?2:1;if(i+r<=a){let a,o,E,_;switch(r){case 1:t<128&&(n=t);break;case 2:a=e[i+1],128==(192&a)&&(_=(31&t)<<6|63&a,_>127&&(n=_));break;case 3:a=e[i+1],o=e[i+2],128==(192&a)&&128==(192&o)&&(_=(15&t)<<12|(63&a)<<6|63&o,_>2047&&(_<55296||_>57343)&&(n=_));break;case 4:a=e[i+1],o=e[i+2],E=e[i+3],128==(192&a)&&128==(192&o)&&128==(192&E)&&(_=(15&t)<<18|(63&a)<<12|(63&o)<<6|63&E,_>65535&&_<1114112&&(n=_))}}null===n?(n=65533,r=1):n>65535&&(n-=65536,o.push(n>>>10&1023|55296),n=56320|1023&n),o.push(n),i+=r}return(function(e){const t=e.length;if(t<=f)return String.fromCharCode.apply(String,e);let a="",o=0;for(;o<t;)a+=String.fromCharCode.apply(String,e.slice(o,o+=f));return a})(o)}t.kMaxLength=r,_.TYPED_ARRAY_SUPPORT=(function(){try{const e=new Uint8Array(1),t={foo:function(){return 42}};return Object.setPrototypeOf(t,Uint8Array.prototype),Object.setPrototypeOf(e,t),42===e.foo()}catch(e){return!1}})(),_.TYPED_ARRAY_SUPPORT||"undefined"==typeof console||"function"!=typeof console.error||console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(_.prototype,"parent",{enumerable:!0,get:function(){if(_.isBuffer(this))return this.buffer}}),Object.defineProperty(_.prototype,"offset",{enumerable:!0,get:function(){if(_.isBuffer(this))return this.byteOffset}}),_.poolSize=8192,_.from=function(e,t,a){return T(e,t,a)},Object.setPrototypeOf(_.prototype,Uint8Array.prototype),Object.setPrototypeOf(_,Uint8Array),_.alloc=function(e,t,a){return(function(e,t,a){return s(e),e<=0?E(e):void 0!==t?"string"==typeof a?E(e).fill(t,a):E(e).fill(t):E(e)})(e,t,a)},_.allocUnsafe=function(e){return S(e)},_.allocUnsafeSlow=function(e){return S(e)},_.isBuffer=function(e){return null!=e&&!0===e._isBuffer&&e!==_.prototype},_.compare=function(e,t){if(X(e,Uint8Array)&&(e=_.from(e,e.offset,e.byteLength)),X(t,Uint8Array)&&(t=_.from(t,t.offset,t.byteLength)),!_.isBuffer(e)||!_.isBuffer(t))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(e===t)return 0;let a=e.length,o=t.length;for(let i=0,n=Math.min(a,o);i<n;++i)if(e[i]!==t[i]){a=e[i],o=t[i];break}return a<o?-1:o<a?1:0},_.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},_.concat=function(e,t){if(!Array.isArray(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return _.alloc(0);let a;if(void 0===t)for(t=0,a=0;a<e.length;++a)t+=e[a].length;const o=_.allocUnsafe(t);let i=0;for(a=0;a<e.length;++a){let t=e[a];if(X(t,Uint8Array))i+t.length>o.length?(_.isBuffer(t)||(t=_.from(t)),t.copy(o,i)):Uint8Array.prototype.set.call(o,t,i);else{if(!_.isBuffer(t))throw new TypeError('"list" argument must be an Array of Buffers');t.copy(o,i)}i+=t.length}return o},_.byteLength=u,_.prototype._isBuffer=!0,_.prototype.swap16=function(){const e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let t=0;t<e;t+=2)c(this,t,t+1);return this},_.prototype.swap32=function(){const e=this.length;if(e%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let t=0;t<e;t+=4)c(this,t,t+3),c(this,t+1,t+2);return this},_.prototype.swap64=function(){const e=this.length;if(e%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let t=0;t<e;t+=8)c(this,t,t+7),c(this,t+1,t+6),c(this,t+2,t+5),c(this,t+3,t+4);return this},_.prototype.toString=function(){const e=this.length;return 0===e?"":0===arguments.length?C(this,0,e):d.apply(this,arguments)},_.prototype.toLocaleString=_.prototype.toString,_.prototype.equals=function(e){if(!_.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||0===_.compare(this,e)},_.prototype.inspect=function(){let e="";const a=t.INSPECT_MAX_BYTES;return e=this.toString("hex",0,a).replace(/(.{2})/g,"$1 ").trim(),this.length>a&&(e+=" ... "),"<Buffer "+e+">"},n&&(_.prototype[n]=_.prototype.inspect),_.prototype.compare=function(e,t,a,o,i){if(X(e,Uint8Array)&&(e=_.from(e,e.offset,e.byteLength)),!_.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===t&&(t=0),void 0===a&&(a=e?e.length:0),void 0===o&&(o=0),void 0===i&&(i=this.length),t<0||a>e.length||o<0||i>this.length)throw new RangeError("out of range index");if(o>=i&&t>=a)return 0;if(o>=i)return-1;if(t>=a)return 1;if(this===e)return 0;let n=(i>>>=0)-(o>>>=0),r=(a>>>=0)-(t>>>=0);const E=Math.min(n,r),T=this.slice(o,i),s=e.slice(t,a);for(let e=0;e<E;++e)if(T[e]!==s[e]){n=T[e],r=s[e];break}return n<r?-1:r<n?1:0},_.prototype.includes=function(e,t,a){return-1!==this.indexOf(e,t,a)},_.prototype.indexOf=function(e,t,a){return O(this,e,t,a,!0)},_.prototype.lastIndexOf=function(e,t,a){return O(this,e,t,a,!1)},_.prototype.write=function(e,t,a,o){if(void 0===t)o="utf8",a=this.length,t=0;else if(void 0===a&&"string"==typeof t)o=t,a=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t>>>=0,isFinite(a)?(a>>>=0,void 0===o&&(o="utf8")):(o=a,a=void 0)}const i=this.length-t;if((void 0===a||a>i)&&(a=i),e.length>0&&(a<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");o||(o="utf8");let n=!1;for(;;)switch(o){case"hex":return N(this,e,t,a);case"utf8":case"utf-8":return m(this,e,t,a);case"ascii":case"latin1":case"binary":return L(this,e,t,a);case"base64":return D(this,e,t,a);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return p(this,e,t,a);default:if(n)throw new TypeError("Unknown encoding: "+o);o=(""+o).toLowerCase(),n=!0}},_.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};const f=4096;function B(e,t,a){let o="";a=Math.min(e.length,a);for(let i=t;i<a;++i)o+=String.fromCharCode(127&e[i]);return o}function P(e,t,a){let o="";a=Math.min(e.length,a);for(let i=t;i<a;++i)o+=String.fromCharCode(e[i]);return o}function g(e,t,a){const o=e.length;(!t||t<0)&&(t=0),(!a||a<0||a>o)&&(a=o);let i="";for(let o=t;o<a;++o)i+=q[e[o]];return i}function v(e,t,a){const o=e.slice(t,a);let i="";for(let e=0;e<o.length-1;e+=2)i+=String.fromCharCode(o[e]+256*o[e+1]);return i}function y(e,t,a){if(e%1!=0||e<0)throw new RangeError("offset is not uint");if(e+t>a)throw new RangeError("Trying to access beyond buffer length")}function W(e,t,a,o,i,n){if(!_.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||t<n)throw new RangeError('"value" argument is out of bounds');if(a+o>e.length)throw new RangeError("Index out of range")}function M(e,t,a,o,i){w(t,o,i,e,a,7);let n=Number(t&BigInt(4294967295));e[a++]=n,n>>=8,e[a++]=n,n>>=8,e[a++]=n,n>>=8,e[a++]=n;let r=Number(t>>BigInt(32)&BigInt(4294967295));return e[a++]=r,r>>=8,e[a++]=r,r>>=8,e[a++]=r,r>>=8,e[a++]=r,a}function b(e,t,a,o,i){w(t,o,i,e,a,7);let n=Number(t&BigInt(4294967295));e[a+7]=n,n>>=8,e[a+6]=n,n>>=8,e[a+5]=n,n>>=8,e[a+4]=n;let r=Number(t>>BigInt(32)&BigInt(4294967295));return e[a+3]=r,r>>=8,e[a+2]=r,r>>=8,e[a+1]=r,r>>=8,e[a]=r,a+8}function U(e,t,a,o,i,n){if(a+o>e.length)throw new RangeError("Index out of range");if(a<0)throw new RangeError("Index out of range")}function G(e,t,a,o,n){return t=+t,a>>>=0,n||U(e,0,a,4),i.write(e,t,a,o,23,4),a+4}function k(e,t,a,o,n){return t=+t,a>>>=0,n||U(e,0,a,8),i.write(e,t,a,o,52,8),a+8}_.prototype.slice=function(e,t){const a=this.length;(e=~~e)<0?(e+=a)<0&&(e=0):e>a&&(e=a),(t=void 0===t?a:~~t)<0?(t+=a)<0&&(t=0):t>a&&(t=a),t<e&&(t=e);const o=this.subarray(e,t);return Object.setPrototypeOf(o,_.prototype),o},_.prototype.readUintLE=_.prototype.readUIntLE=function(e,t,a){e>>>=0,t>>>=0,a||y(e,t,this.length);let o=this[e],i=1,n=0;for(;++n<t&&(i*=256);)o+=this[e+n]*i;return o},_.prototype.readUintBE=_.prototype.readUIntBE=function(e,t,a){e>>>=0,t>>>=0,a||y(e,t,this.length);let o=this[e+--t],i=1;for(;t>0&&(i*=256);)o+=this[e+--t]*i;return o},_.prototype.readUint8=_.prototype.readUInt8=function(e,t){return e>>>=0,t||y(e,1,this.length),this[e]},_.prototype.readUint16LE=_.prototype.readUInt16LE=function(e,t){return e>>>=0,t||y(e,2,this.length),this[e]|this[e+1]<<8},_.prototype.readUint16BE=_.prototype.readUInt16BE=function(e,t){return e>>>=0,t||y(e,2,this.length),this[e]<<8|this[e+1]},_.prototype.readUint32LE=_.prototype.readUInt32LE=function(e,t){return e>>>=0,t||y(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},_.prototype.readUint32BE=_.prototype.readUInt32BE=function(e,t){return e>>>=0,t||y(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},_.prototype.readBigUInt64LE=J((function(e){Y(e>>>=0,"offset");const t=this[e],a=this[e+7];void 0!==t&&void 0!==a||z(e,this.length-8);const o=t+256*this[++e]+65536*this[++e]+this[++e]*2**24,i=this[++e]+256*this[++e]+65536*this[++e]+a*2**24;return BigInt(o)+(BigInt(i)<<BigInt(32))})),_.prototype.readBigUInt64BE=J((function(e){Y(e>>>=0,"offset");const t=this[e],a=this[e+7];void 0!==t&&void 0!==a||z(e,this.length-8);const o=t*2**24+65536*this[++e]+256*this[++e]+this[++e],i=this[++e]*2**24+65536*this[++e]+256*this[++e]+a;return(BigInt(o)<<BigInt(32))+BigInt(i)})),_.prototype.readIntLE=function(e,t,a){e>>>=0,t>>>=0,a||y(e,t,this.length);let o=this[e],i=1,n=0;for(;++n<t&&(i*=256);)o+=this[e+n]*i;return i*=128,o>=i&&(o-=Math.pow(2,8*t)),o},_.prototype.readIntBE=function(e,t,a){e>>>=0,t>>>=0,a||y(e,t,this.length);let o=t,i=1,n=this[e+--o];for(;o>0&&(i*=256);)n+=this[e+--o]*i;return i*=128,n>=i&&(n-=Math.pow(2,8*t)),n},_.prototype.readInt8=function(e,t){return e>>>=0,t||y(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},_.prototype.readInt16LE=function(e,t){e>>>=0,t||y(e,2,this.length);const a=this[e]|this[e+1]<<8;return 32768&a?4294901760|a:a},_.prototype.readInt16BE=function(e,t){e>>>=0,t||y(e,2,this.length);const a=this[e+1]|this[e]<<8;return 32768&a?4294901760|a:a},_.prototype.readInt32LE=function(e,t){return e>>>=0,t||y(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},_.prototype.readInt32BE=function(e,t){return e>>>=0,t||y(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},_.prototype.readBigInt64LE=J((function(e){Y(e>>>=0,"offset");const t=this[e],a=this[e+7];void 0!==t&&void 0!==a||z(e,this.length-8);const o=this[e+4]+256*this[e+5]+65536*this[e+6]+(a<<24);return(BigInt(o)<<BigInt(32))+BigInt(t+256*this[++e]+65536*this[++e]+this[++e]*2**24)})),_.prototype.readBigInt64BE=J((function(e){Y(e>>>=0,"offset");const t=this[e],a=this[e+7];void 0!==t&&void 0!==a||z(e,this.length-8);const o=(t<<24)+65536*this[++e]+256*this[++e]+this[++e];return(BigInt(o)<<BigInt(32))+BigInt(this[++e]*2**24+65536*this[++e]+256*this[++e]+a)})),_.prototype.readFloatLE=function(e,t){return e>>>=0,t||y(e,4,this.length),i.read(this,e,!0,23,4)},_.prototype.readFloatBE=function(e,t){return e>>>=0,t||y(e,4,this.length),i.read(this,e,!1,23,4)},_.prototype.readDoubleLE=function(e,t){return e>>>=0,t||y(e,8,this.length),i.read(this,e,!0,52,8)},_.prototype.readDoubleBE=function(e,t){return e>>>=0,t||y(e,8,this.length),i.read(this,e,!1,52,8)},_.prototype.writeUintLE=_.prototype.writeUIntLE=function(e,t,a,o){if(e=+e,t>>>=0,a>>>=0,!o){W(this,e,t,a,Math.pow(2,8*a)-1,0)}let i=1,n=0;for(this[t]=255&e;++n<a&&(i*=256);)this[t+n]=e/i&255;return t+a},_.prototype.writeUintBE=_.prototype.writeUIntBE=function(e,t,a,o){if(e=+e,t>>>=0,a>>>=0,!o){W(this,e,t,a,Math.pow(2,8*a)-1,0)}let i=a-1,n=1;for(this[t+i]=255&e;--i>=0&&(n*=256);)this[t+i]=e/n&255;return t+a},_.prototype.writeUint8=_.prototype.writeUInt8=function(e,t,a){return e=+e,t>>>=0,a||W(this,e,t,1,255,0),this[t]=255&e,t+1},_.prototype.writeUint16LE=_.prototype.writeUInt16LE=function(e,t,a){return e=+e,t>>>=0,a||W(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},_.prototype.writeUint16BE=_.prototype.writeUInt16BE=function(e,t,a){return e=+e,t>>>=0,a||W(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},_.prototype.writeUint32LE=_.prototype.writeUInt32LE=function(e,t,a){return e=+e,t>>>=0,a||W(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},_.prototype.writeUint32BE=_.prototype.writeUInt32BE=function(e,t,a){return e=+e,t>>>=0,a||W(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},_.prototype.writeBigUInt64LE=J((function(e,t=0){return M(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))})),_.prototype.writeBigUInt64BE=J((function(e,t=0){return b(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))})),_.prototype.writeIntLE=function(e,t,a,o){if(e=+e,t>>>=0,!o){const o=Math.pow(2,8*a-1);W(this,e,t,a,o-1,-o)}let i=0,n=1,r=0;for(this[t]=255&e;++i<a&&(n*=256);)e<0&&0===r&&0!==this[t+i-1]&&(r=1),this[t+i]=(e/n>>0)-r&255;return t+a},_.prototype.writeIntBE=function(e,t,a,o){if(e=+e,t>>>=0,!o){const o=Math.pow(2,8*a-1);W(this,e,t,a,o-1,-o)}let i=a-1,n=1,r=0;for(this[t+i]=255&e;--i>=0&&(n*=256);)e<0&&0===r&&0!==this[t+i+1]&&(r=1),this[t+i]=(e/n>>0)-r&255;return t+a},_.prototype.writeInt8=function(e,t,a){return e=+e,t>>>=0,a||W(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},_.prototype.writeInt16LE=function(e,t,a){return e=+e,t>>>=0,a||W(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},_.prototype.writeInt16BE=function(e,t,a){return e=+e,t>>>=0,a||W(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},_.prototype.writeInt32LE=function(e,t,a){return e=+e,t>>>=0,a||W(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},_.prototype.writeInt32BE=function(e,t,a){return e=+e,t>>>=0,a||W(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},_.prototype.writeBigInt64LE=J((function(e,t=0){return M(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),_.prototype.writeBigInt64BE=J((function(e,t=0){return b(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),_.prototype.writeFloatLE=function(e,t,a){return G(this,e,t,!0,a)},_.prototype.writeFloatBE=function(e,t,a){return G(this,e,t,!1,a)},_.prototype.writeDoubleLE=function(e,t,a){return k(this,e,t,!0,a)},_.prototype.writeDoubleBE=function(e,t,a){return k(this,e,t,!1,a)},_.prototype.copy=function(e,t,a,o){if(!_.isBuffer(e))throw new TypeError("argument should be a Buffer");if(a||(a=0),o||0===o||(o=this.length),t>=e.length&&(t=e.length),t||(t=0),o>0&&o<a&&(o=a),o===a)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError("targetStart out of bounds");if(a<0||a>=this.length)throw new RangeError("Index out of range");if(o<0)throw new RangeError("sourceEnd out of bounds");o>this.length&&(o=this.length),e.length-t<o-a&&(o=e.length-t+a);const i=o-a;return this===e&&"function"==typeof Uint8Array.prototype.copyWithin?this.copyWithin(t,a,o):Uint8Array.prototype.set.call(e,this.subarray(a,o),t),i},_.prototype.fill=function(e,t,a,o){if("string"==typeof e){if("string"==typeof t?(o=t,t=0,a=this.length):"string"==typeof a&&(o=a,a=this.length),void 0!==o&&"string"!=typeof o)throw new TypeError("encoding must be a string");if("string"==typeof o&&!_.isEncoding(o))throw new TypeError("Unknown encoding: "+o);if(1===e.length){const t=e.charCodeAt(0);("utf8"===o&&t<128||"latin1"===o)&&(e=t)}}else"number"==typeof e?e&=255:"boolean"==typeof e&&(e=Number(e));if(t<0||this.length<t||this.length<a)throw new RangeError("Out of range index");if(a<=t)return this;let i;if(t>>>=0,a=void 0===a?this.length:a>>>0,e||(e=0),"number"==typeof e)for(i=t;i<a;++i)this[i]=e;else{const n=_.isBuffer(e)?e:_.from(e,o),r=n.length;if(0===r)throw new TypeError('The value "'+e+'" is invalid for argument "value"');for(i=0;i<a-t;++i)this[i+t]=n[i%r]}return this};const F={};function V(e,t,a){F[e]=class extends a{constructor(){super(),Object.defineProperty(this,"message",{value:t.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${e}]`,this.stack,delete this.name}get code(){return e}set code(e){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:e,writable:!0})}toString(){return`${this.name} [${e}]: ${this.message}`}}}function H(e){let t="",a=e.length;const o="-"===e[0]?1:0;for(;a>=o+4;a-=3)t=`_${e.slice(a-3,a)}${t}`;return`${e.slice(0,a)}${t}`}function w(e,t,a,o,i,n){if(e>a||e<t){const o="bigint"==typeof t?"n":"";let i;throw i=n>3?0===t||t===BigInt(0)?`>= 0${o} and < 2${o} ** ${8*(n+1)}${o}`:`>= -(2${o} ** ${8*(n+1)-1}${o}) and < 2 ** ${8*(n+1)-1}${o}`:`>= ${t}${o} and <= ${a}${o}`,new F.ERR_OUT_OF_RANGE("value",i,e)}!(function(e,t,a){Y(t,"offset"),void 0!==e[t]&&void 0!==e[t+a]||z(t,e.length-(a+1))})(o,i,n)}function Y(e,t){if("number"!=typeof e)throw new F.ERR_INVALID_ARG_TYPE(t,"number",e)}function z(e,t,a){if(Math.floor(e)!==e)throw Y(e,a),new F.ERR_OUT_OF_RANGE(a||"offset","an integer",e);if(t<0)throw new F.ERR_BUFFER_OUT_OF_BOUNDS;throw new F.ERR_OUT_OF_RANGE(a||"offset",`>= ${a?1:0} and <= ${t}`,e)}V("ERR_BUFFER_OUT_OF_BOUNDS",(function(e){return e?`${e} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"}),RangeError),V("ERR_INVALID_ARG_TYPE",(function(e,t){return`The "${e}" argument must be of type number. Received type ${typeof t}`}),TypeError),V("ERR_OUT_OF_RANGE",(function(e,t,a){let o=`The value of "${e}" is out of range.`,i=a;return Number.isInteger(a)&&Math.abs(a)>2**32?i=H(String(a)):"bigint"==typeof a&&(i=String(a),(a>BigInt(2)**BigInt(32)||a<-(BigInt(2)**BigInt(32)))&&(i=H(i)),i+="n"),o+=` It must be ${t}. Received ${i}`,o}),RangeError);const K=/[^+/0-9A-Za-z-_]/g;function x(e,t){let a;t=t||1/0;const o=e.length;let i=null;const n=[];for(let r=0;r<o;++r){if(a=e.charCodeAt(r),a>55295&&a<57344){if(!i){if(a>56319){(t-=3)>-1&&n.push(239,191,189);continue}if(r+1===o){(t-=3)>-1&&n.push(239,191,189);continue}i=a;continue}if(a<56320){(t-=3)>-1&&n.push(239,191,189),i=a;continue}a=65536+(i-55296<<10|a-56320)}else i&&(t-=3)>-1&&n.push(239,191,189);if(i=null,a<128){if((t-=1)<0)break;n.push(a)}else if(a<2048){if((t-=2)<0)break;n.push(a>>6|192,63&a|128)}else if(a<65536){if((t-=3)<0)break;n.push(a>>12|224,a>>6&63|128,63&a|128)}else{if(!(a<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;n.push(a>>18|240,a>>12&63|128,a>>6&63|128,63&a|128)}}return n}function j(e){return o.toByteArray((function(e){if((e=(e=e.split("=")[0]).trim().replace(K,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e})(e))}function Q(e,t,a,o){let i;for(i=0;i<o&&!(i+a>=t.length||i>=e.length);++i)t[i+a]=e[i];return i}function X(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}function $(e){return e!=e}const q=(function(){const e="0123456789abcdef",t=new Array(256);for(let a=0;a<16;++a){const o=16*a;for(let i=0;i<16;++i)t[o+i]=e[a]+e[i]}return t})();function J(e){return"undefined"==typeof BigInt?Z:e}function Z(){throw new Error("BigInt not supported")}},94184:(e,t)=>{var a;!(function(){"use strict";var o={}.hasOwnProperty;function i(){for(var e=[],t=0;t<arguments.length;t++){var a=arguments[t];if(a){var n=typeof a;if("string"===n||"number"===n)e.push(a);else if(Array.isArray(a)){if(a.length){var r=i.apply(null,a);r&&e.push(r)}}else if("object"===n)if(a.toString===Object.prototype.toString)for(var E in a)o.call(a,E)&&a[E]&&e.push(E);else e.push(a.toString())}}return e.join(" ")}e.exports?(i.default=i,e.exports=i):void 0===(a=function(){return i}.apply(t,[]))||(e.exports=a)})()},8874:e=>{"use strict";e.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},19818:(e,t,a)=>{var o=a(8874),i=a(86851),n=Object.hasOwnProperty,r=Object.create(null);for(var E in o)n.call(o,E)&&(r[o[E]]=E);var _=e.exports={to:{},get:{}};function T(e,t,a){return Math.min(Math.max(t,e),a)}function s(e){var t=Math.round(e).toString(16).toUpperCase();return t.length<2?"0"+t:t}_.get=function(e){var t,a;switch(e.substring(0,3).toLowerCase()){case"hsl":t=_.get.hsl(e),a="hsl";break;case"hwb":t=_.get.hwb(e),a="hwb";break;default:t=_.get.rgb(e),a="rgb"}return t?{model:a,value:t}:null},_.get.rgb=function(e){if(!e)return null;var t,a,i,r=[0,0,0,1];if(t=e.match(/^#([a-f0-9]{6})([a-f0-9]{2})?$/i)){for(i=t[2],t=t[1],a=0;a<3;a++){var E=2*a;r[a]=parseInt(t.slice(E,E+2),16)}i&&(r[3]=parseInt(i,16)/255)}else if(t=e.match(/^#([a-f0-9]{3,4})$/i)){for(i=(t=t[1])[3],a=0;a<3;a++)r[a]=parseInt(t[a]+t[a],16);i&&(r[3]=parseInt(i+i,16)/255)}else if(t=e.match(/^rgba?\(\s*([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/)){for(a=0;a<3;a++)r[a]=parseInt(t[a+1],0);t[4]&&(t[5]?r[3]=.01*parseFloat(t[4]):r[3]=parseFloat(t[4]))}else{if(!(t=e.match(/^rgba?\(\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/)))return(t=e.match(/^(\w+)$/))?"transparent"===t[1]?[0,0,0,0]:n.call(o,t[1])?((r=o[t[1]])[3]=1,r):null:null;for(a=0;a<3;a++)r[a]=Math.round(2.55*parseFloat(t[a+1]));t[4]&&(t[5]?r[3]=.01*parseFloat(t[4]):r[3]=parseFloat(t[4]))}for(a=0;a<3;a++)r[a]=T(r[a],0,255);return r[3]=T(r[3],0,1),r},_.get.hsl=function(e){if(!e)return null;var t=e.match(/^hsla?\(\s*([+-]?(?:\d{0,3}\.)?\d+)(?:deg)?\s*,?\s*([+-]?[\d\.]+)%\s*,?\s*([+-]?[\d\.]+)%\s*(?:[,|\/]\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/);if(t){var a=parseFloat(t[4]);return[(parseFloat(t[1])%360+360)%360,T(parseFloat(t[2]),0,100),T(parseFloat(t[3]),0,100),T(isNaN(a)?1:a,0,1)]}return null},_.get.hwb=function(e){if(!e)return null;var t=e.match(/^hwb\(\s*([+-]?\d{0,3}(?:\.\d+)?)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/);if(t){var a=parseFloat(t[4]);return[(parseFloat(t[1])%360+360)%360,T(parseFloat(t[2]),0,100),T(parseFloat(t[3]),0,100),T(isNaN(a)?1:a,0,1)]}return null},_.to.hex=function(){var e=i(arguments);return"#"+s(e[0])+s(e[1])+s(e[2])+(e[3]<1?s(Math.round(255*e[3])):"")},_.to.rgb=function(){var e=i(arguments);return e.length<4||1===e[3]?"rgb("+Math.round(e[0])+", "+Math.round(e[1])+", "+Math.round(e[2])+")":"rgba("+Math.round(e[0])+", "+Math.round(e[1])+", "+Math.round(e[2])+", "+e[3]+")"},_.to.rgb.percent=function(){var e=i(arguments),t=Math.round(e[0]/255*100),a=Math.round(e[1]/255*100),o=Math.round(e[2]/255*100);return e.length<4||1===e[3]?"rgb("+t+"%, "+a+"%, "+o+"%)":"rgba("+t+"%, "+a+"%, "+o+"%, "+e[3]+")"},_.to.hsl=function(){var e=i(arguments);return e.length<4||1===e[3]?"hsl("+e[0]+", "+e[1]+"%, "+e[2]+"%)":"hsla("+e[0]+", "+e[1]+"%, "+e[2]+"%, "+e[3]+")"},_.to.hwb=function(){var e=i(arguments),t="";return e.length>=4&&1!==e[3]&&(t=", "+e[3]),"hwb("+e[0]+", "+e[1]+"%, "+e[2]+"%"+t+")"},_.to.keyword=function(e){return r[e.slice(0,3)]}},6767:(e,t,a)=>{const o=a(19818),i=a(80978),n=["keyword","gray","hex"],r={};for(const e of Object.keys(i))r[[...i[e].labels].sort().join("")]=e;const E={};function _(e,t){if(!(this instanceof _))return new _(e,t);if(t&&t in n&&(t=null),t&&!(t in i))throw new Error("Unknown model: "+t);let a,T;if(null==e)this.model="rgb",this.color=[0,0,0],this.valpha=1;else if(e instanceof _)this.model=e.model,this.color=[...e.color],this.valpha=e.valpha;else if("string"==typeof e){const t=o.get(e);if(null===t)throw new Error("Unable to parse color from string: "+e);this.model=t.model,T=i[this.model].channels,this.color=t.value.slice(0,T),this.valpha="number"==typeof t.value[T]?t.value[T]:1}else if(e.length>0){this.model=t||"rgb",T=i[this.model].channels;const a=Array.prototype.slice.call(e,0,T);this.color=l(a,T),this.valpha="number"==typeof e[T]?e[T]:1}else if("number"==typeof e)this.model="rgb",this.color=[e>>16&255,e>>8&255,255&e],this.valpha=1;else{this.valpha=1;const t=Object.keys(e);"alpha"in e&&(t.splice(t.indexOf("alpha"),1),this.valpha="number"==typeof e.alpha?e.alpha:0);const o=t.sort().join("");if(!(o in r))throw new Error("Unable to parse color from object: "+JSON.stringify(e));this.model=r[o];const{labels:n}=i[this.model],E=[];for(a=0;a<n.length;a++)E.push(e[n[a]]);this.color=l(E)}if(E[this.model])for(T=i[this.model].channels,a=0;a<T;a++){const e=E[this.model][a];e&&(this.color[a]=e(this.color[a]))}this.valpha=Math.max(0,Math.min(1,this.valpha)),Object.freeze&&Object.freeze(this)}_.prototype={toString(){return this.string()},toJSON(){return this[this.model]()},string(e){let t=this.model in o.to?this:this.rgb();t=t.round("number"==typeof e?e:1);const a=1===t.valpha?t.color:[...t.color,this.valpha];return o.to[t.model](a)},percentString(e){const t=this.rgb().round("number"==typeof e?e:1),a=1===t.valpha?t.color:[...t.color,this.valpha];return o.to.rgb.percent(a)},array(){return 1===this.valpha?[...this.color]:[...this.color,this.valpha]},object(){const e={},{channels:t}=i[this.model],{labels:a}=i[this.model];for(let o=0;o<t;o++)e[a[o]]=this.color[o];return 1!==this.valpha&&(e.alpha=this.valpha),e},unitArray(){const e=this.rgb().color;return e[0]/=255,e[1]/=255,e[2]/=255,1!==this.valpha&&e.push(this.valpha),e},unitObject(){const e=this.rgb().object();return e.r/=255,e.g/=255,e.b/=255,1!==this.valpha&&(e.alpha=this.valpha),e},round(e){return e=Math.max(e||0,0),new _([...this.color.map(T(e)),this.valpha],this.model)},alpha(e){return void 0!==e?new _([...this.color,Math.max(0,Math.min(1,e))],this.model):this.valpha},red:s("rgb",0,S(255)),green:s("rgb",1,S(255)),blue:s("rgb",2,S(255)),hue:s(["hsl","hsv","hsl","hwb","hcg"],0,(e=>(e%360+360)%360)),saturationl:s("hsl",1,S(100)),lightness:s("hsl",2,S(100)),saturationv:s("hsv",1,S(100)),value:s("hsv",2,S(100)),chroma:s("hcg",1,S(100)),gray:s("hcg",2,S(100)),white:s("hwb",1,S(100)),wblack:s("hwb",2,S(100)),cyan:s("cmyk",0,S(100)),magenta:s("cmyk",1,S(100)),yellow:s("cmyk",2,S(100)),black:s("cmyk",3,S(100)),x:s("xyz",0,S(95.047)),y:s("xyz",1,S(100)),z:s("xyz",2,S(108.833)),l:s("lab",0,S(100)),a:s("lab",1),b:s("lab",2),keyword(e){return void 0!==e?new _(e):i[this.model].keyword(this.color)},hex(e){return void 0!==e?new _(e):o.to.hex(this.rgb().round().color)},hexa(e){if(void 0!==e)return new _(e);const t=this.rgb().round().color;let a=Math.round(255*this.valpha).toString(16).toUpperCase();return 1===a.length&&(a="0"+a),o.to.hex(t)+a},rgbNumber(){const e=this.rgb().color;return(255&e[0])<<16|(255&e[1])<<8|255&e[2]},luminosity(){const e=this.rgb().color,t=[];for(const[a,o]of e.entries()){const e=o/255;t[a]=e<=.04045?e/12.92:((e+.055)/1.055)**2.4}return.2126*t[0]+.7152*t[1]+.0722*t[2]},contrast(e){const t=this.luminosity(),a=e.luminosity();return t>a?(t+.05)/(a+.05):(a+.05)/(t+.05)},level(e){const t=this.contrast(e);return t>=7?"AAA":t>=4.5?"AA":""},isDark(){const e=this.rgb().color;return(2126*e[0]+7152*e[1]+722*e[2])/1e4<128},isLight(){return!this.isDark()},negate(){const e=this.rgb();for(let t=0;t<3;t++)e.color[t]=255-e.color[t];return e},lighten(e){const t=this.hsl();return t.color[2]+=t.color[2]*e,t},darken(e){const t=this.hsl();return t.color[2]-=t.color[2]*e,t},saturate(e){const t=this.hsl();return t.color[1]+=t.color[1]*e,t},desaturate(e){const t=this.hsl();return t.color[1]-=t.color[1]*e,t},whiten(e){const t=this.hwb();return t.color[1]+=t.color[1]*e,t},blacken(e){const t=this.hwb();return t.color[2]+=t.color[2]*e,t},grayscale(){const e=this.rgb().color,t=.3*e[0]+.59*e[1]+.11*e[2];return _.rgb(t,t,t)},fade(e){return this.alpha(this.valpha-this.valpha*e)},opaquer(e){return this.alpha(this.valpha+this.valpha*e)},rotate(e){const t=this.hsl();let a=t.color[0];return a=(a+e)%360,a=a<0?360+a:a,t.color[0]=a,t},mix(e,t){if(!e||!e.rgb)throw new Error('Argument to "mix" was not a Color instance, but rather an instance of '+typeof e);const a=e.rgb(),o=this.rgb(),i=void 0===t?.5:t,n=2*i-1,r=a.alpha()-o.alpha(),E=((n*r==-1?n:(n+r)/(1+n*r))+1)/2,T=1-E;return _.rgb(E*a.red()+T*o.red(),E*a.green()+T*o.green(),E*a.blue()+T*o.blue(),a.alpha()*i+o.alpha()*(1-i))}};for(const e of Object.keys(i)){if(n.includes(e))continue;const{channels:t}=i[e];_.prototype[e]=function(...t){return this.model===e?new _(this):t.length>0?new _(t,e):new _([...(a=i[this.model][e].raw(this.color),Array.isArray(a)?a:[a]),this.valpha],e);var a},_[e]=function(...a){let o=a[0];return"number"==typeof o&&(o=l(a,t)),new _(o,e)}}function T(e){return function(t){return(function(e,t){return Number(e.toFixed(t))})(t,e)}}function s(e,t,a){e=Array.isArray(e)?e:[e];for(const o of e)(E[o]||(E[o]=[]))[t]=a;return e=e[0],function(o){let i;return void 0!==o?(a&&(o=a(o)),i=this[e](),i.color[t]=o,i):(i=this[e]().color[t],a&&(i=a(i)),i)}}function S(e){return function(t){return Math.max(0,Math.min(e,t))}}function l(e,t){for(let a=0;a<t;a++)"number"!=typeof e[a]&&(e[a]=0);return e}e.exports=_},12956:(e,t,a)=>{const o=a(58900),i={};for(const e of Object.keys(o))i[o[e]]=e;const n={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};e.exports=n;for(const e of Object.keys(n)){if(!("channels"in n[e]))throw new Error("missing channels property: "+e);if(!("labels"in n[e]))throw new Error("missing channel labels property: "+e);if(n[e].labels.length!==n[e].channels)throw new Error("channel and label counts mismatch: "+e);const{channels:t,labels:a}=n[e];delete n[e].channels,delete n[e].labels,Object.defineProperty(n[e],"channels",{value:t}),Object.defineProperty(n[e],"labels",{value:a})}n.rgb.hsl=function(e){const t=e[0]/255,a=e[1]/255,o=e[2]/255,i=Math.min(t,a,o),n=Math.max(t,a,o),r=n-i;let E,_;n===i?E=0:t===n?E=(a-o)/r:a===n?E=2+(o-t)/r:o===n&&(E=4+(t-a)/r),E=Math.min(60*E,360),E<0&&(E+=360);const T=(i+n)/2;return _=n===i?0:T<=.5?r/(n+i):r/(2-n-i),[E,100*_,100*T]},n.rgb.hsv=function(e){let t,a,o,i,n;const r=e[0]/255,E=e[1]/255,_=e[2]/255,T=Math.max(r,E,_),s=T-Math.min(r,E,_),S=function(e){return(T-e)/6/s+.5};return 0===s?(i=0,n=0):(n=s/T,t=S(r),a=S(E),o=S(_),r===T?i=o-a:E===T?i=1/3+t-o:_===T&&(i=2/3+a-t),i<0?i+=1:i>1&&(i-=1)),[360*i,100*n,100*T]},n.rgb.hwb=function(e){const t=e[0],a=e[1];let o=e[2];const i=n.rgb.hsl(e)[0],r=1/255*Math.min(t,Math.min(a,o));return o=1-1/255*Math.max(t,Math.max(a,o)),[i,100*r,100*o]},n.rgb.cmyk=function(e){const t=e[0]/255,a=e[1]/255,o=e[2]/255,i=Math.min(1-t,1-a,1-o);return[100*((1-t-i)/(1-i)||0),100*((1-a-i)/(1-i)||0),100*((1-o-i)/(1-i)||0),100*i]},n.rgb.keyword=function(e){const t=i[e];if(t)return t;let a,n=1/0;for(const t of Object.keys(o)){const i=o[t],_=(E=i,((r=e)[0]-E[0])**2+(r[1]-E[1])**2+(r[2]-E[2])**2);_<n&&(n=_,a=t)}var r,E;return a},n.keyword.rgb=function(e){return o[e]},n.rgb.xyz=function(e){let t=e[0]/255,a=e[1]/255,o=e[2]/255;t=t>.04045?((t+.055)/1.055)**2.4:t/12.92,a=a>.04045?((a+.055)/1.055)**2.4:a/12.92,o=o>.04045?((o+.055)/1.055)**2.4:o/12.92;return[100*(.4124*t+.3576*a+.1805*o),100*(.2126*t+.7152*a+.0722*o),100*(.0193*t+.1192*a+.9505*o)]},n.rgb.lab=function(e){const t=n.rgb.xyz(e);let a=t[0],o=t[1],i=t[2];a/=95.047,o/=100,i/=108.883,a=a>.008856?a**(1/3):7.787*a+16/116,o=o>.008856?o**(1/3):7.787*o+16/116,i=i>.008856?i**(1/3):7.787*i+16/116;return[116*o-16,500*(a-o),200*(o-i)]},n.hsl.rgb=function(e){const t=e[0]/360,a=e[1]/100,o=e[2]/100;let i,n,r;if(0===a)return r=255*o,[r,r,r];i=o<.5?o*(1+a):o+a-o*a;const E=2*o-i,_=[0,0,0];for(let e=0;e<3;e++)n=t+1/3*-(e-1),n<0&&n++,n>1&&n--,r=6*n<1?E+6*(i-E)*n:2*n<1?i:3*n<2?E+(i-E)*(2/3-n)*6:E,_[e]=255*r;return _},n.hsl.hsv=function(e){const t=e[0];let a=e[1]/100,o=e[2]/100,i=a;const n=Math.max(o,.01);o*=2,a*=o<=1?o:2-o,i*=n<=1?n:2-n;return[t,100*(0===o?2*i/(n+i):2*a/(o+a)),100*((o+a)/2)]},n.hsv.rgb=function(e){const t=e[0]/60,a=e[1]/100;let o=e[2]/100;const i=Math.floor(t)%6,n=t-Math.floor(t),r=255*o*(1-a),E=255*o*(1-a*n),_=255*o*(1-a*(1-n));switch(o*=255,i){case 0:return[o,_,r];case 1:return[E,o,r];case 2:return[r,o,_];case 3:return[r,E,o];case 4:return[_,r,o];case 5:return[o,r,E]}},n.hsv.hsl=function(e){const t=e[0],a=e[1]/100,o=e[2]/100,i=Math.max(o,.01);let n,r;r=(2-a)*o;const E=(2-a)*i;return n=a*i,n/=E<=1?E:2-E,n=n||0,r/=2,[t,100*n,100*r]},n.hwb.rgb=function(e){const t=e[0]/360;let a=e[1]/100,o=e[2]/100;const i=a+o;let n;i>1&&(a/=i,o/=i);const r=Math.floor(6*t),E=1-o;n=6*t-r,0!=(1&r)&&(n=1-n);const _=a+n*(E-a);let T,s,S;switch(r){default:T=E,s=_,S=a;break;case 1:T=_,s=E,S=a;break;case 2:T=a,s=E,S=_;break;case 3:T=a,s=_,S=E;break;case 4:T=_,s=a,S=E;break;case 5:T=E,s=a,S=_}return[255*T,255*s,255*S]},n.cmyk.rgb=function(e){const t=e[0]/100,a=e[1]/100,o=e[2]/100,i=e[3]/100;return[255*(1-Math.min(1,t*(1-i)+i)),255*(1-Math.min(1,a*(1-i)+i)),255*(1-Math.min(1,o*(1-i)+i))]},n.xyz.rgb=function(e){const t=e[0]/100,a=e[1]/100,o=e[2]/100;let i,n,r;return i=3.2406*t+-1.5372*a+-.4986*o,n=-.9689*t+1.8758*a+.0415*o,r=.0557*t+-.204*a+1.057*o,i=i>.0031308?1.055*i**(1/2.4)-.055:12.92*i,n=n>.0031308?1.055*n**(1/2.4)-.055:12.92*n,r=r>.0031308?1.055*r**(1/2.4)-.055:12.92*r,i=Math.min(Math.max(0,i),1),n=Math.min(Math.max(0,n),1),r=Math.min(Math.max(0,r),1),[255*i,255*n,255*r]},n.xyz.lab=function(e){let t=e[0],a=e[1],o=e[2];t/=95.047,a/=100,o/=108.883,t=t>.008856?t**(1/3):7.787*t+16/116,a=a>.008856?a**(1/3):7.787*a+16/116,o=o>.008856?o**(1/3):7.787*o+16/116;return[116*a-16,500*(t-a),200*(a-o)]},n.lab.xyz=function(e){let t,a,o;a=(e[0]+16)/116,t=e[1]/500+a,o=a-e[2]/200;const i=a**3,n=t**3,r=o**3;return a=i>.008856?i:(a-16/116)/7.787,t=n>.008856?n:(t-16/116)/7.787,o=r>.008856?r:(o-16/116)/7.787,t*=95.047,a*=100,o*=108.883,[t,a,o]},n.lab.lch=function(e){const t=e[0],a=e[1],o=e[2];let i;i=360*Math.atan2(o,a)/2/Math.PI,i<0&&(i+=360);return[t,Math.sqrt(a*a+o*o),i]},n.lch.lab=function(e){const t=e[0],a=e[1],o=e[2]/360*2*Math.PI;return[t,a*Math.cos(o),a*Math.sin(o)]},n.rgb.ansi16=function(e,t=null){const[a,o,i]=e;let r=null===t?n.rgb.hsv(e)[2]:t;if(r=Math.round(r/50),0===r)return 30;let E=30+(Math.round(i/255)<<2|Math.round(o/255)<<1|Math.round(a/255));return 2===r&&(E+=60),E},n.hsv.ansi16=function(e){return n.rgb.ansi16(n.hsv.rgb(e),e[2])},n.rgb.ansi256=function(e){const t=e[0],a=e[1],o=e[2];if(t===a&&a===o)return t<8?16:t>248?231:Math.round((t-8)/247*24)+232;return 16+36*Math.round(t/255*5)+6*Math.round(a/255*5)+Math.round(o/255*5)},n.ansi16.rgb=function(e){let t=e%10;if(0===t||7===t)return e>50&&(t+=3.5),t=t/10.5*255,[t,t,t];const a=.5*(1+~~(e>50));return[(1&t)*a*255,(t>>1&1)*a*255,(t>>2&1)*a*255]},n.ansi256.rgb=function(e){if(e>=232){const t=10*(e-232)+8;return[t,t,t]}let t;e-=16;return[Math.floor(e/36)/5*255,Math.floor((t=e%36)/6)/5*255,t%6/5*255]},n.rgb.hex=function(e){const t=(((255&Math.round(e[0]))<<16)+((255&Math.round(e[1]))<<8)+(255&Math.round(e[2]))).toString(16).toUpperCase();return"000000".substring(t.length)+t},n.hex.rgb=function(e){const t=e.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!t)return[0,0,0];let a=t[0];3===t[0].length&&(a=a.split("").map((e=>e+e)).join(""));const o=parseInt(a,16);return[o>>16&255,o>>8&255,255&o]},n.rgb.hcg=function(e){const t=e[0]/255,a=e[1]/255,o=e[2]/255,i=Math.max(Math.max(t,a),o),n=Math.min(Math.min(t,a),o),r=i-n;let E,_;return E=r<1?n/(1-r):0,_=r<=0?0:i===t?(a-o)/r%6:i===a?2+(o-t)/r:4+(t-a)/r,_/=6,_%=1,[360*_,100*r,100*E]},n.hsl.hcg=function(e){const t=e[1]/100,a=e[2]/100,o=a<.5?2*t*a:2*t*(1-a);let i=0;return o<1&&(i=(a-.5*o)/(1-o)),[e[0],100*o,100*i]},n.hsv.hcg=function(e){const t=e[1]/100,a=e[2]/100,o=t*a;let i=0;return o<1&&(i=(a-o)/(1-o)),[e[0],100*o,100*i]},n.hcg.rgb=function(e){const t=e[0]/360,a=e[1]/100,o=e[2]/100;if(0===a)return[255*o,255*o,255*o];const i=[0,0,0],n=t%1*6,r=n%1,E=1-r;let _=0;switch(Math.floor(n)){case 0:i[0]=1,i[1]=r,i[2]=0;break;case 1:i[0]=E,i[1]=1,i[2]=0;break;case 2:i[0]=0,i[1]=1,i[2]=r;break;case 3:i[0]=0,i[1]=E,i[2]=1;break;case 4:i[0]=r,i[1]=0,i[2]=1;break;default:i[0]=1,i[1]=0,i[2]=E}return _=(1-a)*o,[255*(a*i[0]+_),255*(a*i[1]+_),255*(a*i[2]+_)]},n.hcg.hsv=function(e){const t=e[1]/100,a=t+e[2]/100*(1-t);let o=0;return a>0&&(o=t/a),[e[0],100*o,100*a]},n.hcg.hsl=function(e){const t=e[1]/100,a=e[2]/100*(1-t)+.5*t;let o=0;return a>0&&a<.5?o=t/(2*a):a>=.5&&a<1&&(o=t/(2*(1-a))),[e[0],100*o,100*a]},n.hcg.hwb=function(e){const t=e[1]/100,a=t+e[2]/100*(1-t);return[e[0],100*(a-t),100*(1-a)]},n.hwb.hcg=function(e){const t=e[1]/100,a=1-e[2]/100,o=a-t;let i=0;return o<1&&(i=(a-o)/(1-o)),[e[0],100*o,100*i]},n.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]},n.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]},n.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]},n.gray.hsl=function(e){return[0,0,e[0]]},n.gray.hsv=n.gray.hsl,n.gray.hwb=function(e){return[0,100,e[0]]},n.gray.cmyk=function(e){return[0,0,0,e[0]]},n.gray.lab=function(e){return[e[0],0,0]},n.gray.hex=function(e){const t=255&Math.round(e[0]/100*255),a=((t<<16)+(t<<8)+t).toString(16).toUpperCase();return"000000".substring(a.length)+a},n.rgb.gray=function(e){return[(e[0]+e[1]+e[2])/3/255*100]}},80978:(e,t,a)=>{const o=a(12956),i=a(87774),n={};Object.keys(o).forEach((e=>{n[e]={},Object.defineProperty(n[e],"channels",{value:o[e].channels}),Object.defineProperty(n[e],"labels",{value:o[e].labels});const t=i(e);Object.keys(t).forEach((a=>{const o=t[a];n[e][a]=(function(e){const t=function(...t){const a=t[0];if(null==a)return a;a.length>1&&(t=a);const o=e(t);if("object"==typeof o)for(let e=o.length,t=0;t<e;t++)o[t]=Math.round(o[t]);return o};return"conversion"in e&&(t.conversion=e.conversion),t})(o),n[e][a].raw=(function(e){const t=function(...t){const a=t[0];return null==a?a:(a.length>1&&(t=a),e(t))};return"conversion"in e&&(t.conversion=e.conversion),t})(o)}))})),e.exports=n},87774:(e,t,a)=>{const o=a(12956);function i(e){const t=(function(){const e={},t=Object.keys(o);for(let a=t.length,o=0;o<a;o++)e[t[o]]={distance:-1,parent:null};return e})(),a=[e];for(t[e].distance=0;a.length;){const e=a.pop(),i=Object.keys(o[e]);for(let o=i.length,n=0;n<o;n++){const o=i[n],r=t[o];-1===r.distance&&(r.distance=t[e].distance+1,r.parent=e,a.unshift(o))}}return t}function n(e,t){return function(a){return t(e(a))}}function r(e,t){const a=[t[e].parent,e];let i=o[t[e].parent][e],r=t[e].parent;for(;t[r].parent;)a.unshift(t[r].parent),i=n(o[t[r].parent][r],i),r=t[r].parent;return i.conversion=a,i}e.exports=function(e){const t=i(e),a={},o=Object.keys(t);for(let e=o.length,i=0;i<e;i++){const e=o[i];null!==t[e].parent&&(a[e]=r(e,t))}return a}},58900:e=>{"use strict";e.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},62682:e=>{e.exports=function e(t){return Object.freeze(t),Object.getOwnPropertyNames(t).forEach((function(a){!t.hasOwnProperty(a)||null===t[a]||"object"!=typeof t[a]&&"function"!=typeof t[a]||Object.isFrozen(t[a])||e(t[a])})),t}},26729:e=>{"use strict";var t=Object.prototype.hasOwnProperty,a="~";function o(){}function i(e,t,a){this.fn=e,this.context=t,this.once=a||!1}function n(e,t,o,n,r){if("function"!=typeof o)throw new TypeError("The listener must be a function");var E=new i(o,n||e,r),_=a?a+t:t;return e._events[_]?e._events[_].fn?e._events[_]=[e._events[_],E]:e._events[_].push(E):(e._events[_]=E,e._eventsCount++),e}function r(e,t){0==--e._eventsCount?e._events=new o:delete e._events[t]}function E(){this._events=new o,this._eventsCount=0}Object.create&&(o.prototype=Object.create(null),(new o).__proto__||(a=!1)),E.prototype.eventNames=function(){var e,o,i=[];if(0===this._eventsCount)return i;for(o in e=this._events)t.call(e,o)&&i.push(a?o.slice(1):o);return Object.getOwnPropertySymbols?i.concat(Object.getOwnPropertySymbols(e)):i},E.prototype.listeners=function(e){var t=a?a+e:e,o=this._events[t];if(!o)return[];if(o.fn)return[o.fn];for(var i=0,n=o.length,r=new Array(n);i<n;i++)r[i]=o[i].fn;return r},E.prototype.listenerCount=function(e){var t=a?a+e:e,o=this._events[t];return o?o.fn?1:o.length:0},E.prototype.emit=function(e,t,o,i,n,r){var E=a?a+e:e;if(!this._events[E])return!1;var _,T,s=this._events[E],S=arguments.length;if(s.fn){switch(s.once&&this.removeListener(e,s.fn,void 0,!0),S){case 1:return s.fn.call(s.context),!0;case 2:return s.fn.call(s.context,t),!0;case 3:return s.fn.call(s.context,t,o),!0;case 4:return s.fn.call(s.context,t,o,i),!0;case 5:return s.fn.call(s.context,t,o,i,n),!0;case 6:return s.fn.call(s.context,t,o,i,n,r),!0}for(T=1,_=new Array(S-1);T<S;T++)_[T-1]=arguments[T];s.fn.apply(s.context,_)}else{var l,I=s.length;for(T=0;T<I;T++)switch(s[T].once&&this.removeListener(e,s[T].fn,void 0,!0),S){case 1:s[T].fn.call(s[T].context);break;case 2:s[T].fn.call(s[T].context,t);break;case 3:s[T].fn.call(s[T].context,t,o);break;case 4:s[T].fn.call(s[T].context,t,o,i);break;default:if(!_)for(l=1,_=new Array(S-1);l<S;l++)_[l-1]=arguments[l];s[T].fn.apply(s[T].context,_)}}return!0},E.prototype.on=function(e,t,a){return n(this,e,t,a,!1)},E.prototype.once=function(e,t,a){return n(this,e,t,a,!0)},E.prototype.removeListener=function(e,t,o,i){var n=a?a+e:e;if(!this._events[n])return this;if(!t)return r(this,n),this;var E=this._events[n];if(E.fn)E.fn!==t||i&&!E.once||o&&E.context!==o||r(this,n);else{for(var _=0,T=[],s=E.length;_<s;_++)(E[_].fn!==t||i&&!E[_].once||o&&E[_].context!==o)&&T.push(E[_]);T.length?this._events[n]=1===T.length?T[0]:T:r(this,n)}return this},E.prototype.removeAllListeners=function(e){var t;return e?(t=a?a+e:e,this._events[t]&&r(this,t)):(this._events=new o,this._eventsCount=0),this},E.prototype.off=E.prototype.removeListener,E.prototype.addListener=E.prototype.on,E.prefixed=a,E.EventEmitter=E,e.exports=E},87280:(e,t,a)=>{"use strict";t.Z=function(e){var t={};for(var a in e)e.hasOwnProperty(a)&&E(a)&&(t[a]=e[a]);return t};var o,i=a(52047),n=(o=i)&&o.__esModule?o:{default:o};var r={onCopy:!0,onCut:!0,onPaste:!0,onLoad:!0,onError:!0,onWheel:!0,onScroll:!0,onCompositionEnd:!0,onCompositionStart:!0,onCompositionUpdate:!0,onKeyDown:!0,onKeyPress:!0,onKeyUp:!0,onFocus:!0,onBlur:!0,onChange:!0,onInput:!0,onSubmit:!0,onClick:!0,onContextMenu:!0,onDoubleClick:!0,onDrag:!0,onDragEnd:!0,onDragEnter:!0,onDragExit:!0,onDragLeave:!0,onDragOver:!0,onDragStart:!0,onDrop:!0,onMouseDown:!0,onMouseEnter:!0,onMouseLeave:!0,onMouseMove:!0,onMouseOut:!0,onMouseOver:!0,onMouseUp:!0,onSelect:!0,onTouchCancel:!0,onTouchEnd:!0,onTouchMove:!0,onTouchStart:!0,onAnimationStart:!0,onAnimationEnd:!0,onAnimationIteration:!0,onTransitionEnd:!0};function E(e){return r[e]||n.default[e]||/^(data|aria)-/.test(e)}},542:e=>{var t=e.exports=function(e,a){if(a||(a=16),void 0===e&&(e=128),e<=0)return"0";for(var o=Math.log(Math.pow(2,e))/Math.log(a),i=2;o===1/0;i*=2)o=Math.log(Math.pow(2,e/i))/Math.log(a)*i;var n=o-Math.floor(o),r="";for(i=0;i<Math.floor(o);i++){r=Math.floor(Math.random()*a).toString(a)+r}if(n){var E=Math.pow(a,n);r=Math.floor(Math.random()*E).toString(a)+r}var _=parseInt(r,a);return _!==1/0&&_>=Math.pow(2,e)?t(e,a):r};t.rack=function(e,a,o){var i=function(i){var r=0;do{if(r++>10){if(!o)throw new Error("too many ID collisions, use more bits");e+=o}var E=t(e,a)}while(Object.hasOwnProperty.call(n,E));return n[E]=i,E},n=i.hats={};return i.get=function(e){return i.hats[e]},i.set=function(e,t){return i.hats[e]=t,i},i.bits=e||128,i.base=a||16,i}},67631:e=>{!(function t(a){e.exports=(function(){"use strict";function e(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function o(t){for(var a=1;a<arguments.length;a++){var o=null!=arguments[a]?arguments[a]:{};a%2?e(Object(o),!0).forEach((function(e){_(t,e,o[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(o)):e(Object(o)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(o,e))}))}return t}function i(e,t){if("object"!=typeof e||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var o=a.call(e,t||"default");if("object"!=typeof o)return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}function n(e){var t=i(e,"string");return"symbol"==typeof t?t:String(t)}function r(e,t){for(var a=0;a<t.length;a++){var o=t[a];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,n(o.key),o)}}function E(e,t,a){return t&&r(e.prototype,t),a&&r(e,a),Object.defineProperty(e,"prototype",{writable:!1}),e}function _(e,t,a){return(t=n(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function T(){return T=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(e[o]=a[o])}return e},T.apply(this,arguments)}function s(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,l(e,t)}function S(e){return S=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},S(e)}function l(e,t){return l=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},l(e,t)}function I(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}function A(e,t,a){return A=I()?Reflect.construct.bind():function(e,t,a){var o=[null];o.push.apply(o,t);var i=new(Function.bind.apply(e,o));return a&&l(i,a.prototype),i},A.apply(null,arguments)}function u(e){try{return-1!==Function.toString.call(e).indexOf("[native code]")}catch(t){return"function"==typeof e}}function d(e){var t="function"==typeof Map?new Map:void 0;return d=function(e){if(null===e||!u(e))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,a)}function a(){return A(e,arguments,S(this).constructor)}return a.prototype=Object.create(e.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),l(a,e)},d(e)}function c(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function O(e,t){if(e){if("string"==typeof e)return R(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?R(e,t):void 0}}function R(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}function N(e,t){var a="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(a)return(a=a.call(e)).next.bind(a);if(Array.isArray(e)||(a=O(e))||t&&e&&"number"==typeof e.length){a&&(e=a);var o=0;return function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function m(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var L={exports:{}};!(function(e,t){var a,o,i,n,r;a=/^(?=((?:[a-zA-Z0-9+\-.]+:)?))\1(?=((?:\/\/[^\/?#]*)?))\2(?=((?:(?:[^?#\/]*\/)*[^;?#\/]*)?))\3((?:;[^?#]*)?)(\?[^#]*)?(#[^]*)?$/,o=/^(?=([^\/?#]*))\1([^]*)$/,i=/(?:\/|^)\.(?=\/)/g,n=/(?:\/|^)\.\.\/(?!\.\.\/)[^\/]*(?=\/)/g,r={buildAbsoluteURL:function(e,t,a){if(a=a||{},e=e.trim(),!(t=t.trim())){if(!a.alwaysNormalize)return e;var i=r.parseURL(e);if(!i)throw new Error("Error trying to parse base URL.");return i.path=r.normalizePath(i.path),r.buildURLFromParts(i)}var n=r.parseURL(t);if(!n)throw new Error("Error trying to parse relative URL.");if(n.scheme)return a.alwaysNormalize?(n.path=r.normalizePath(n.path),r.buildURLFromParts(n)):t;var E=r.parseURL(e);if(!E)throw new Error("Error trying to parse base URL.");if(!E.netLoc&&E.path&&"/"!==E.path[0]){var _=o.exec(E.path);E.netLoc=_[1],E.path=_[2]}E.netLoc&&!E.path&&(E.path="/");var T={scheme:E.scheme,netLoc:n.netLoc,path:null,params:n.params,query:n.query,fragment:n.fragment};if(!n.netLoc&&(T.netLoc=E.netLoc,"/"!==n.path[0]))if(n.path){var s=E.path,S=s.substring(0,s.lastIndexOf("/")+1)+n.path;T.path=r.normalizePath(S)}else T.path=E.path,n.params||(T.params=E.params,n.query||(T.query=E.query));return null===T.path&&(T.path=a.alwaysNormalize?r.normalizePath(n.path):n.path),r.buildURLFromParts(T)},parseURL:function(e){var t=a.exec(e);return t?{scheme:t[1]||"",netLoc:t[2]||"",path:t[3]||"",params:t[4]||"",query:t[5]||"",fragment:t[6]||""}:null},normalizePath:function(e){for(e=e.split("").reverse().join("").replace(i,"");e.length!==(e=e.replace(n,"")).length;);return e.split("").reverse().join("")},buildURLFromParts:function(e){return e.scheme+e.netLoc+e.path+e.params+e.query+e.fragment}},e.exports=r})(L);var D=L.exports,p=Number.isFinite||function(e){return"number"==typeof e&&isFinite(e)},h=Number.isSafeInteger||function(e){return"number"==typeof e&&Math.abs(e)<=C},C=Number.MAX_SAFE_INTEGER||9007199254740991,f=(function(e){return e.MEDIA_ATTACHING="hlsMediaAttaching",e.MEDIA_ATTACHED="hlsMediaAttached",e.MEDIA_DETACHING="hlsMediaDetaching",e.MEDIA_DETACHED="hlsMediaDetached",e.BUFFER_RESET="hlsBufferReset",e.BUFFER_CODECS="hlsBufferCodecs",e.BUFFER_CREATED="hlsBufferCreated",e.BUFFER_APPENDING="hlsBufferAppending",e.BUFFER_APPENDED="hlsBufferAppended",e.BUFFER_EOS="hlsBufferEos",e.BUFFER_FLUSHING="hlsBufferFlushing",e.BUFFER_FLUSHED="hlsBufferFlushed",e.MANIFEST_LOADING="hlsManifestLoading",e.MANIFEST_LOADED="hlsManifestLoaded",e.MANIFEST_PARSED="hlsManifestParsed",e.LEVEL_SWITCHING="hlsLevelSwitching",e.LEVEL_SWITCHED="hlsLevelSwitched",e.LEVEL_LOADING="hlsLevelLoading",e.LEVEL_LOADED="hlsLevelLoaded",e.LEVEL_UPDATED="hlsLevelUpdated",e.LEVEL_PTS_UPDATED="hlsLevelPtsUpdated",e.LEVELS_UPDATED="hlsLevelsUpdated",e.AUDIO_TRACKS_UPDATED="hlsAudioTracksUpdated",e.AUDIO_TRACK_SWITCHING="hlsAudioTrackSwitching",e.AUDIO_TRACK_SWITCHED="hlsAudioTrackSwitched",e.AUDIO_TRACK_LOADING="hlsAudioTrackLoading",e.AUDIO_TRACK_LOADED="hlsAudioTrackLoaded",e.SUBTITLE_TRACKS_UPDATED="hlsSubtitleTracksUpdated",e.SUBTITLE_TRACKS_CLEARED="hlsSubtitleTracksCleared",e.SUBTITLE_TRACK_SWITCH="hlsSubtitleTrackSwitch",e.SUBTITLE_TRACK_LOADING="hlsSubtitleTrackLoading",e.SUBTITLE_TRACK_LOADED="hlsSubtitleTrackLoaded",e.SUBTITLE_FRAG_PROCESSED="hlsSubtitleFragProcessed",e.CUES_PARSED="hlsCuesParsed",e.NON_NATIVE_TEXT_TRACKS_FOUND="hlsNonNativeTextTracksFound",e.INIT_PTS_FOUND="hlsInitPtsFound",e.FRAG_LOADING="hlsFragLoading",e.FRAG_LOAD_EMERGENCY_ABORTED="hlsFragLoadEmergencyAborted",e.FRAG_LOADED="hlsFragLoaded",e.FRAG_DECRYPTED="hlsFragDecrypted",e.FRAG_PARSING_INIT_SEGMENT="hlsFragParsingInitSegment",e.FRAG_PARSING_USERDATA="hlsFragParsingUserdata",e.FRAG_PARSING_METADATA="hlsFragParsingMetadata",e.FRAG_PARSED="hlsFragParsed",e.FRAG_BUFFERED="hlsFragBuffered",e.FRAG_CHANGED="hlsFragChanged",e.FPS_DROP="hlsFpsDrop",e.FPS_DROP_LEVEL_CAPPING="hlsFpsDropLevelCapping",e.MAX_AUTO_LEVEL_UPDATED="hlsMaxAutoLevelUpdated",e.ERROR="hlsError",e.DESTROYING="hlsDestroying",e.KEY_LOADING="hlsKeyLoading",e.KEY_LOADED="hlsKeyLoaded",e.LIVE_BACK_BUFFER_REACHED="hlsLiveBackBufferReached",e.BACK_BUFFER_REACHED="hlsBackBufferReached",e.STEERING_MANIFEST_LOADED="hlsSteeringManifestLoaded",e})({}),B=(function(e){return e.NETWORK_ERROR="networkError",e.MEDIA_ERROR="mediaError",e.KEY_SYSTEM_ERROR="keySystemError",e.MUX_ERROR="muxError",e.OTHER_ERROR="otherError",e})({}),P=(function(e){return e.KEY_SYSTEM_NO_KEYS="keySystemNoKeys",e.KEY_SYSTEM_NO_ACCESS="keySystemNoAccess",e.KEY_SYSTEM_NO_SESSION="keySystemNoSession",e.KEY_SYSTEM_NO_CONFIGURED_LICENSE="keySystemNoConfiguredLicense",e.KEY_SYSTEM_LICENSE_REQUEST_FAILED="keySystemLicenseRequestFailed",e.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED="keySystemServerCertificateRequestFailed",e.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED="keySystemServerCertificateUpdateFailed",e.KEY_SYSTEM_SESSION_UPDATE_FAILED="keySystemSessionUpdateFailed",e.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED="keySystemStatusOutputRestricted",e.KEY_SYSTEM_STATUS_INTERNAL_ERROR="keySystemStatusInternalError",e.MANIFEST_LOAD_ERROR="manifestLoadError",e.MANIFEST_LOAD_TIMEOUT="manifestLoadTimeOut",e.MANIFEST_PARSING_ERROR="manifestParsingError",e.MANIFEST_INCOMPATIBLE_CODECS_ERROR="manifestIncompatibleCodecsError",e.LEVEL_EMPTY_ERROR="levelEmptyError",e.LEVEL_LOAD_ERROR="levelLoadError",e.LEVEL_LOAD_TIMEOUT="levelLoadTimeOut",e.LEVEL_PARSING_ERROR="levelParsingError",e.LEVEL_SWITCH_ERROR="levelSwitchError",e.AUDIO_TRACK_LOAD_ERROR="audioTrackLoadError",e.AUDIO_TRACK_LOAD_TIMEOUT="audioTrackLoadTimeOut",e.SUBTITLE_LOAD_ERROR="subtitleTrackLoadError",e.SUBTITLE_TRACK_LOAD_TIMEOUT="subtitleTrackLoadTimeOut",e.FRAG_LOAD_ERROR="fragLoadError",e.FRAG_LOAD_TIMEOUT="fragLoadTimeOut",e.FRAG_DECRYPT_ERROR="fragDecryptError",e.FRAG_PARSING_ERROR="fragParsingError",e.FRAG_GAP="fragGap",e.REMUX_ALLOC_ERROR="remuxAllocError",e.KEY_LOAD_ERROR="keyLoadError",e.KEY_LOAD_TIMEOUT="keyLoadTimeOut",e.BUFFER_ADD_CODEC_ERROR="bufferAddCodecError",e.BUFFER_INCOMPATIBLE_CODECS_ERROR="bufferIncompatibleCodecsError",e.BUFFER_APPEND_ERROR="bufferAppendError",e.BUFFER_APPENDING_ERROR="bufferAppendingError",e.BUFFER_STALLED_ERROR="bufferStalledError",e.BUFFER_FULL_ERROR="bufferFullError",e.BUFFER_SEEK_OVER_HOLE="bufferSeekOverHole",e.BUFFER_NUDGE_ON_STALL="bufferNudgeOnStall",e.INTERNAL_EXCEPTION="internalException",e.INTERNAL_ABORTED="aborted",e.UNKNOWN="unknown",e})({}),g=function(){},v={trace:g,debug:g,log:g,warn:g,info:g,error:g},y=v;function W(e){var t=self.console[e];return t?t.bind(self.console,"["+e+"] >"):g}function M(e){for(var t=arguments.length,a=new Array(t>1?t-1:0),o=1;o<t;o++)a[o-1]=arguments[o];a.forEach((function(t){y[t]=e[t]?e[t].bind(e):W(t)}))}function b(e,t){if("object"==typeof console&&!0===e||"object"==typeof e){M(e,"debug","log","info","warn","error");try{y.log('Debug logs enabled for "'+t+'" in hls.js version 1.5.5-0.canary.9893')}catch(e){y=v}}else y=v}var U=y,G=/^(\d+)x(\d+)$/,k=/(.+?)=(".*?"|.*?)(?:,|$)/g,F=(function(){function e(t){"string"==typeof t&&(t=e.parseAttrList(t)),T(this,t)}var t=e.prototype;return t.decimalInteger=function(e){var t=parseInt(this[e],10);return t>Number.MAX_SAFE_INTEGER?1/0:t},t.hexadecimalInteger=function(e){if(this[e]){var t=(this[e]||"0x").slice(2);t=(1&t.length?"0":"")+t;for(var a=new Uint8Array(t.length/2),o=0;o<t.length/2;o++)a[o]=parseInt(t.slice(2*o,2*o+2),16);return a}return null},t.hexadecimalIntegerAsNumber=function(e){var t=parseInt(this[e],16);return t>Number.MAX_SAFE_INTEGER?1/0:t},t.decimalFloatingPoint=function(e){return parseFloat(this[e])},t.optionalFloat=function(e,t){var a=this[e];return a?parseFloat(a):t},t.enumeratedString=function(e){return this[e]},t.bool=function(e){return"YES"===this[e]},t.decimalResolution=function(e){var t=G.exec(this[e]);if(null!==t)return{width:parseInt(t[1],10),height:parseInt(t[2],10)}},e.parseAttrList=function(e){var t,a={},o='"';for(k.lastIndex=0;null!==(t=k.exec(e));){var i=t[2];0===i.indexOf(o)&&i.lastIndexOf(o)===i.length-1&&(i=i.slice(1,-1)),a[t[1].trim()]=i}return a},E(e,[{key:"clientAttrs",get:function(){return Object.keys(this).filter((function(e){return"X-"===e.substring(0,2)}))}}]),e})();function V(e){return"ID"!==e&&"CLASS"!==e&&"START-DATE"!==e&&"DURATION"!==e&&"END-DATE"!==e&&"END-ON-NEXT"!==e}function H(e){return"SCTE35-OUT"===e||"SCTE35-IN"===e}var w=(function(){function e(e,t){if(this.attr=void 0,this._startDate=void 0,this._endDate=void 0,this._badValueForSameId=void 0,t){var a=t.attr;for(var o in a)if(Object.prototype.hasOwnProperty.call(e,o)&&e[o]!==a[o]){U.warn('DATERANGE tag attribute: "'+o+'" does not match for tags with ID: "'+e.ID+'"'),this._badValueForSameId=o;break}e=T(new F({}),a,e)}if(this.attr=e,this._startDate=new Date(e["START-DATE"]),"END-DATE"in this.attr){var i=new Date(this.attr["END-DATE"]);p(i.getTime())&&(this._endDate=i)}}return E(e,[{key:"id",get:function(){return this.attr.ID}},{key:"class",get:function(){return this.attr.CLASS}},{key:"startDate",get:function(){return this._startDate}},{key:"endDate",get:function(){if(this._endDate)return this._endDate;var e=this.duration;return null!==e?new Date(this._startDate.getTime()+1e3*e):null}},{key:"duration",get:function(){if("DURATION"in this.attr){var e=this.attr.decimalFloatingPoint("DURATION");if(p(e))return e}else if(this._endDate)return(this._endDate.getTime()-this._startDate.getTime())/1e3;return null}},{key:"plannedDuration",get:function(){return"PLANNED-DURATION"in this.attr?this.attr.decimalFloatingPoint("PLANNED-DURATION"):null}},{key:"endOnNext",get:function(){return this.attr.bool("END-ON-NEXT")}},{key:"isValid",get:function(){return!!this.id&&!this._badValueForSameId&&p(this.startDate.getTime())&&(null===this.duration||this.duration>=0)&&(!this.endOnNext||!!this.class)}}]),e})(),Y=function(){this.aborted=!1,this.loaded=0,this.retry=0,this.total=0,this.chunkCount=0,this.bwEstimate=0,this.loading={start:0,first:0,end:0},this.parsing={start:0,end:0},this.buffering={start:0,first:0,end:0}},z={AUDIO:"audio",VIDEO:"video",AUDIOVIDEO:"audiovideo"},K=(function(){function e(e){var t;this._byteRange=null,this._url=null,this.baseurl=void 0,this.relurl=void 0,this.elementaryStreams=((t={})[z.AUDIO]=null,t[z.VIDEO]=null,t[z.AUDIOVIDEO]=null,t),this.baseurl=e}return e.prototype.setByteRange=function(e,t){var a,o=e.split("@",2);a=1===o.length?(null==t?void 0:t.byteRangeEndOffset)||0:parseInt(o[1]),this._byteRange=[a,parseInt(o[0])+a]},E(e,[{key:"byteRange",get:function(){return this._byteRange?this._byteRange:[]}},{key:"byteRangeStartOffset",get:function(){return this.byteRange[0]}},{key:"byteRangeEndOffset",get:function(){return this.byteRange[1]}},{key:"url",get:function(){return!this._url&&this.baseurl&&this.relurl&&(this._url=D.buildAbsoluteURL(this.baseurl,this.relurl,{alwaysNormalize:!0})),this._url||""},set:function(e){this._url=e}}]),e})(),x=(function(e){function t(t,a){var o;return(o=e.call(this,a)||this)._decryptdata=null,o.rawProgramDateTime=null,o.programDateTime=null,o.tagList=[],o.duration=0,o.sn=0,o.levelkeys=void 0,o.type=void 0,o.loader=null,o.keyLoader=null,o.level=-1,o.cc=0,o.startPTS=void 0,o.endPTS=void 0,o.startDTS=void 0,o.endDTS=void 0,o.start=0,o.deltaPTS=void 0,o.maxStartPTS=void 0,o.minEndPTS=void 0,o.stats=new Y,o.data=void 0,o.bitrateTest=!1,o.title=null,o.initSegment=null,o.endList=void 0,o.gap=void 0,o.urlId=0,o.type=t,o}s(t,e);var a=t.prototype;return a.setKeyFormat=function(e){if(this.levelkeys){var t=this.levelkeys[e];t&&!this._decryptdata&&(this._decryptdata=t.getDecryptData(this.sn))}},a.abortRequests=function(){var e,t;null==(e=this.loader)||e.abort(),null==(t=this.keyLoader)||t.abort()},a.setElementaryStreamInfo=function(e,t,a,o,i,n){void 0===n&&(n=!1);var r=this.elementaryStreams,E=r[e];E?(E.startPTS=Math.min(E.startPTS,t),E.endPTS=Math.max(E.endPTS,a),E.startDTS=Math.min(E.startDTS,o),E.endDTS=Math.max(E.endDTS,i)):r[e]={startPTS:t,endPTS:a,startDTS:o,endDTS:i,partial:n}},a.clearElementaryStreamInfo=function(){var e=this.elementaryStreams;e[z.AUDIO]=null,e[z.VIDEO]=null,e[z.AUDIOVIDEO]=null},E(t,[{key:"decryptdata",get:function(){if(!this.levelkeys&&!this._decryptdata)return null;if(!this._decryptdata&&this.levelkeys&&!this.levelkeys.NONE){var e=this.levelkeys.identity;if(e)this._decryptdata=e.getDecryptData(this.sn);else{var t=Object.keys(this.levelkeys);if(1===t.length)return this._decryptdata=this.levelkeys[t[0]].getDecryptData(this.sn)}}return this._decryptdata}},{key:"end",get:function(){return this.start+this.duration}},{key:"endProgramDateTime",get:function(){if(null===this.programDateTime)return null;if(!p(this.programDateTime))return null;var e=p(this.duration)?this.duration:0;return this.programDateTime+1e3*e}},{key:"encrypted",get:function(){var e;if(null!=(e=this._decryptdata)&&e.encrypted)return!0;if(this.levelkeys){var t=Object.keys(this.levelkeys),a=t.length;if(a>1||1===a&&this.levelkeys[t[0]].encrypted)return!0}return!1}}]),t})(K),j=(function(e){function t(t,a,o,i,n){var r;(r=e.call(this,o)||this).fragOffset=0,r.duration=0,r.gap=!1,r.independent=!1,r.relurl=void 0,r.fragment=void 0,r.index=void 0,r.stats=new Y,r.duration=t.decimalFloatingPoint("DURATION"),r.gap=t.bool("GAP"),r.independent=t.bool("INDEPENDENT"),r.relurl=t.enumeratedString("URI"),r.fragment=a,r.index=i;var E=t.enumeratedString("BYTERANGE");return E&&r.setByteRange(E,n),n&&(r.fragOffset=n.fragOffset+n.duration),r}return s(t,e),E(t,[{key:"start",get:function(){return this.fragment.start+this.fragOffset}},{key:"end",get:function(){return this.start+this.duration}},{key:"loaded",get:function(){var e=this.elementaryStreams;return!!(e.audio||e.video||e.audiovideo)}}]),t})(K),Q=10,X=(function(){function e(e){this.PTSKnown=!1,this.alignedSliding=!1,this.averagetargetduration=void 0,this.endCC=0,this.endSN=0,this.fragments=void 0,this.fragmentHint=void 0,this.partList=null,this.dateRanges=void 0,this.live=!0,this.ageHeader=0,this.advancedDateTime=void 0,this.updated=!0,this.advanced=!0,this.availabilityDelay=void 0,this.misses=0,this.startCC=0,this.startSN=0,this.startTimeOffset=null,this.targetduration=0,this.totalduration=0,this.type=null,this.url=void 0,this.m3u8="",this.version=null,this.canBlockReload=!1,this.canSkipUntil=0,this.canSkipDateRanges=!1,this.skippedSegments=0,this.recentlyRemovedDateranges=void 0,this.partHoldBack=0,this.holdBack=0,this.partTarget=0,this.preloadHint=void 0,this.renditionReports=void 0,this.tuneInGoal=0,this.deltaUpdateFailed=void 0,this.driftStartTime=0,this.driftEndTime=0,this.driftStart=0,this.driftEnd=0,this.encryptedFragments=void 0,this.playlistParsingError=null,this.variableList=null,this.hasVariableRefs=!1,this.fragments=[],this.encryptedFragments=[],this.dateRanges={},this.url=e}return e.prototype.reloaded=function(e){if(!e)return this.advanced=!0,void(this.updated=!0);var t=this.lastPartSn-e.lastPartSn,a=this.lastPartIndex-e.lastPartIndex;this.updated=this.endSN!==e.endSN||!!a||!!t||!this.live,this.advanced=this.endSN>e.endSN||t>0||0===t&&a>0,this.updated||this.advanced?this.misses=Math.floor(.6*e.misses):this.misses=e.misses+1,this.availabilityDelay=e.availabilityDelay},E(e,[{key:"hasProgramDateTime",get:function(){return!!this.fragments.length&&p(this.fragments[this.fragments.length-1].programDateTime)}},{key:"levelTargetDuration",get:function(){return this.averagetargetduration||this.targetduration||Q}},{key:"drift",get:function(){var e=this.driftEndTime-this.driftStartTime;return e>0?1e3*(this.driftEnd-this.driftStart)/e:1}},{key:"edge",get:function(){return this.partEnd||this.fragmentEnd}},{key:"partEnd",get:function(){var e;return null!=(e=this.partList)&&e.length?this.partList[this.partList.length-1].end:this.fragmentEnd}},{key:"fragmentEnd",get:function(){var e;return null!=(e=this.fragments)&&e.length?this.fragments[this.fragments.length-1].end:0}},{key:"age",get:function(){return this.advancedDateTime?Math.max(Date.now()-this.advancedDateTime,0)/1e3:0}},{key:"lastPartIndex",get:function(){var e;return null!=(e=this.partList)&&e.length?this.partList[this.partList.length-1].index:-1}},{key:"lastPartSn",get:function(){var e;return null!=(e=this.partList)&&e.length?this.partList[this.partList.length-1].fragment.sn:this.endSN}}]),e})();function $(e){return Uint8Array.from(atob(e),(function(e){return e.charCodeAt(0)}))}function q(e){var t=ee(e).subarray(0,16),a=new Uint8Array(16);return a.set(t,16-t.length),a}function J(e){var t=function(e,t,a){var o=e[t];e[t]=e[a],e[a]=o};t(e,0,3),t(e,1,2),t(e,4,5),t(e,6,7)}function Z(e){var t=e.split(":"),a=null;if("data"===t[0]&&2===t.length){var o=t[1].split(";"),i=o[o.length-1].split(",");if(2===i.length){var n="base64"===i[0],r=i[1];n?(o.splice(-1,1),a=$(r)):a=q(r)}}return a}function ee(e){return Uint8Array.from(unescape(encodeURIComponent(e)),(function(e){return e.charCodeAt(0)}))}var te="undefined"!=typeof self?self:void 0,ae={CLEARKEY:"org.w3.clearkey",FAIRPLAY:"com.apple.fps",PLAYREADY:"com.microsoft.playready",WIDEVINE:"com.widevine.alpha"},oe={CLEARKEY:"org.w3.clearkey",FAIRPLAY:"com.apple.streamingkeydelivery",PLAYREADY:"com.microsoft.playready",WIDEVINE:"urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"};function ie(e){switch(e){case oe.FAIRPLAY:return ae.FAIRPLAY;case oe.PLAYREADY:return ae.PLAYREADY;case oe.WIDEVINE:return ae.WIDEVINE;case oe.CLEARKEY:return ae.CLEARKEY}}var ne={WIDEVINE:"edef8ba979d64acea3c827dcd51d21ed"};function re(e){if(e===ne.WIDEVINE)return ae.WIDEVINE}function Ee(e){switch(e){case ae.FAIRPLAY:return oe.FAIRPLAY;case ae.PLAYREADY:return oe.PLAYREADY;case ae.WIDEVINE:return oe.WIDEVINE;case ae.CLEARKEY:return oe.CLEARKEY}}function _e(e){var t=e.drmSystems,a=e.widevineLicenseUrl,o=t?[ae.FAIRPLAY,ae.WIDEVINE,ae.PLAYREADY,ae.CLEARKEY].filter((function(e){return!!t[e]})):[];return!o[ae.WIDEVINE]&&a&&o.push(ae.WIDEVINE),o}var Te,se=null!=te&&null!=(Te=te.navigator)&&Te.requestMediaKeySystemAccess?self.navigator.requestMediaKeySystemAccess.bind(self.navigator):null;function Se(e,t,a,o){var i;switch(e){case ae.FAIRPLAY:i=["cenc","sinf"];break;case ae.WIDEVINE:case ae.PLAYREADY:i=["cenc"];break;case ae.CLEARKEY:i=["cenc","keyids"];break;default:throw new Error("Unknown key-system: "+e)}return le(i,t,a,o)}function le(e,t,a,o){return[{initDataTypes:e,persistentState:o.persistentState||"optional",distinctiveIdentifier:o.distinctiveIdentifier||"optional",sessionTypes:o.sessionTypes||[o.sessionType||"temporary"],audioCapabilities:t.map((function(e){return{contentType:'audio/mp4; codecs="'+e+'"',robustness:o.audioRobustness||"",encryptionScheme:o.audioEncryptionScheme||null}})),videoCapabilities:a.map((function(e){return{contentType:'video/mp4; codecs="'+e+'"',robustness:o.videoRobustness||"",encryptionScheme:o.videoEncryptionScheme||null}}))}]}function Ie(e,t,a){return Uint8Array.prototype.slice?e.slice(t,a):new Uint8Array(Array.prototype.slice.call(e,t,a))}var Ae,ue=function(e,t){return t+10<=e.length&&73===e[t]&&68===e[t+1]&&51===e[t+2]&&e[t+3]<255&&e[t+4]<255&&e[t+6]<128&&e[t+7]<128&&e[t+8]<128&&e[t+9]<128},de=function(e,t){return t+10<=e.length&&51===e[t]&&68===e[t+1]&&73===e[t+2]&&e[t+3]<255&&e[t+4]<255&&e[t+6]<128&&e[t+7]<128&&e[t+8]<128&&e[t+9]<128},ce=function(e,t){for(var a=t,o=0;ue(e,t);)o+=10,o+=Oe(e,t+6),de(e,t+10)&&(o+=10),t+=o;if(o>0)return e.subarray(a,a+o)},Oe=function(e,t){var a=0;return a=(127&e[t])<<21,a|=(127&e[t+1])<<14,a|=(127&e[t+2])<<7,a|=127&e[t+3]},Re=function(e,t){return ue(e,t)&&Oe(e,t+6)+10<=e.length-t},Ne=function(e){for(var t=De(e),a=0;a<t.length;a++){var o=t[a];if(me(o))return Be(o)}},me=function(e){return e&&"PRIV"===e.key&&"com.apple.streaming.transportStreamTimestamp"===e.info},Le=function(e){var t=String.fromCharCode(e[0],e[1],e[2],e[3]),a=Oe(e,4),o=10;return{type:t,size:a,data:e.subarray(o,o+a)}},De=function(e){for(var t=0,a=[];ue(e,t);){for(var o=Oe(e,t+6),i=(t+=10)+o;t+8<i;){var n=Le(e.subarray(t)),r=pe(n);r&&a.push(r),t+=n.size+10}de(e,t)&&(t+=10)}return a},pe=function(e){return"PRIV"===e.type?he(e):"W"===e.type[0]?fe(e):Ce(e)},he=function(e){if(!(e.size<2)){var t=Pe(e.data,!0),a=new Uint8Array(e.data.subarray(t.length+1));return{key:e.type,info:t,data:a.buffer}}},Ce=function(e){if(!(e.size<2)){if("TXXX"===e.type){var t=1,a=Pe(e.data.subarray(t),!0);t+=a.length+1;var o=Pe(e.data.subarray(t));return{key:e.type,info:a,data:o}}var i=Pe(e.data.subarray(1));return{key:e.type,data:i}}},fe=function(e){if("WXXX"===e.type){if(e.size<2)return;var t=1,a=Pe(e.data.subarray(t),!0);t+=a.length+1;var o=Pe(e.data.subarray(t));return{key:e.type,info:a,data:o}}var i=Pe(e.data);return{key:e.type,data:i}},Be=function(e){if(8===e.data.byteLength){var t=new Uint8Array(e.data),a=1&t[3],o=(t[4]<<23)+(t[5]<<15)+(t[6]<<7)+t[7];return o/=45,a&&(o+=47721858.84),Math.round(o)}},Pe=function(e,t){void 0===t&&(t=!1);var a=ge();if(a){var o=a.decode(e);if(t){var i=o.indexOf("\0");return-1!==i?o.substring(0,i):o}return o.replace(/\0/g,"")}for(var n,r,E,_=e.length,T="",s=0;s<_;){if(0===(n=e[s++])&&t)return T;if(0!==n&&3!==n)switch(n>>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:T+=String.fromCharCode(n);break;case 12:case 13:r=e[s++],T+=String.fromCharCode((31&n)<<6|63&r);break;case 14:r=e[s++],E=e[s++],T+=String.fromCharCode((15&n)<<12|(63&r)<<6|(63&E)<<0)}}return T};function ge(){if(!navigator.userAgent.includes("PlayStation 4"))return Ae||void 0===self.TextDecoder||(Ae=new self.TextDecoder("utf-8")),Ae}var ve={hexDump:function(e){for(var t="",a=0;a<e.length;a++){var o=e[a].toString(16);o.length<2&&(o="0"+o),t+=o}return t}},ye=Math.pow(2,32)-1,We=[].push,Me={video:1,audio:2,id3:3,text:4};function be(e){return String.fromCharCode.apply(null,e)}function Ue(e,t){var a=e[t]<<8|e[t+1];return a<0?65536+a:a}function Ge(e,t){var a=Fe(e,t);return a<0?4294967296+a:a}function ke(e,t){var a=Ge(e,t);return a*=Math.pow(2,32),a+=Ge(e,t+4)}function Fe(e,t){return e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3]}function Ve(e,t,a){e[t]=a>>24,e[t+1]=a>>16&255,e[t+2]=a>>8&255,e[t+3]=255&a}function He(e){for(var t=e.byteLength,a=0;a<t;){var o=Ge(e,a);if(o>8&&109===e[a+4]&&111===e[a+5]&&111===e[a+6]&&102===e[a+7])return!0;a=o>1?a+o:t}return!1}function we(e,t){var a=[];if(!t.length)return a;for(var o=e.byteLength,i=0;i<o;){var n=Ge(e,i),r=n>1?i+n:o;if(be(e.subarray(i+4,i+8))===t[0])if(1===t.length)a.push(e.subarray(i+8,r));else{var E=we(e.subarray(i+8,r),t.slice(1));E.length&&We.apply(a,E)}i=r}return a}function Ye(e){var t=[],a=e[0],o=8,i=Ge(e,o);o+=4;var n=0,r=0;0===a?(n=Ge(e,o),r=Ge(e,o+4),o+=8):(n=ke(e,o),r=ke(e,o+8),o+=16),o+=2;var E=e.length+r,_=Ue(e,o);o+=2;for(var T=0;T<_;T++){var s=o,S=Ge(e,s);s+=4;var l=2147483647&S;if(1==(2147483648&S)>>>31)return U.warn("SIDX has hierarchical references (not supported)"),null;var I=Ge(e,s);s+=4,t.push({referenceSize:l,subsegmentDuration:I,info:{duration:I/i,start:E,end:E+l-1}}),E+=l,o=s+=4}return{earliestPresentationTime:n,timescale:i,version:a,referencesCount:_,references:t}}function ze(e){for(var t=[],a=we(e,["moov","trak"]),i=0;i<a.length;i++){var n=a[i],r=we(n,["tkhd"])[0];if(r){var E=r[0],_=Ge(r,0===E?12:20),T=we(n,["mdia","mdhd"])[0];if(T){var s=Ge(T,0===(E=T[0])?12:20),S=we(n,["mdia","hdlr"])[0];if(S){var l=be(S.subarray(8,12)),I={soun:z.AUDIO,vide:z.VIDEO}[l];if(I){var A=Ke(we(n,["mdia","minf","stbl","stsd"])[0]);t[_]={timescale:s,type:I},t[I]=o({timescale:s,id:_},A)}}}}}return we(e,["moov","mvex","trex"]).forEach((function(e){var a=Ge(e,4),o=t[a];o&&(o.default={duration:Ge(e,12),flags:Ge(e,20)})})),t}function Ke(e){var t=e.subarray(8),a=t.subarray(86),o=be(t.subarray(4,8)),i=o,n="enca"===o||"encv"===o;if(n){var r=we(t,[o])[0];we(r.subarray("enca"===o?28:78),["sinf"]).forEach((function(e){var t=we(e,["schm"])[0];if(t){var a=be(t.subarray(4,8));if("cbcs"===a||"cenc"===a){var o=we(e,["frma"])[0];o&&(i=be(o))}}}))}switch(i){case"avc1":case"avc2":case"avc3":case"avc4":var E=we(a,["avcC"])[0];i+="."+je(E[1])+je(E[2])+je(E[3]);break;case"mp4a":var _=we(t,[o])[0],T=we(_.subarray(28),["esds"])[0];if(T&&T.length>12){var s=4;if(3!==T[s++])break;s=xe(T,s),s+=2;var S=T[s++];if(128&S&&(s+=2),64&S&&(s+=T[s++]),4!==T[s++])break;s=xe(T,s);var l=T[s++];if(64!==l)break;if(i+="."+je(l),s+=12,5!==T[s++])break;s=xe(T,s);var I=T[s++],A=(248&I)>>3;31===A&&(A+=1+((7&I)<<3)+((224&T[s])>>5)),i+="."+A}break;case"hvc1":case"hev1":var u=we(a,["hvcC"])[0],d=u[1],c=["","A","B","C"][d>>6],O=31&d,R=Ge(u,2),N=(32&d)>>5?"H":"L",m=u[12],L=u.subarray(6,12);i+="."+c+O,i+="."+R.toString(16).toUpperCase(),i+="."+N+m;for(var D="",p=L.length;p--;){var h=L[p];(h||D)&&(D="."+h.toString(16).toUpperCase()+D)}i+=D;break;case"dvh1":case"dvhe":var C=we(a,["dvcC"])[0],f=C[2]>>1&127,B=C[2]<<5&32|C[3]>>3&31;i+="."+Qe(f)+"."+Qe(B);break;case"vp09":var P=we(a,["vpcC"])[0],g=P[4],v=P[5],y=P[6]>>4&15;i+="."+Qe(g)+"."+Qe(v)+"."+Qe(y);break;case"av01":var W=we(a,["av1C"])[0],M=W[1]>>>5,b=31&W[1],U=W[2]>>>7?"H":"M",G=(64&W[2])>>6,k=(32&W[2])>>5,F=2===M&&G?k?12:10:G?10:8,V=(16&W[2])>>4,H=(8&W[2])>>3,w=(4&W[2])>>2,Y=3&W[2],z=1,K=1,x=1,j=0;i+="."+M+"."+Qe(b)+U+"."+Qe(F)+"."+V+"."+H+w+Y+"."+Qe(z)+"."+Qe(K)+"."+Qe(x)+"."+j}return{codec:i,encrypted:n}}function xe(e,t){for(var a=t+5;128&e[t++]&&t<a;);return t}function je(e){return("0"+e.toString(16).toUpperCase()).slice(-2)}function Qe(e){return(e<10?"0":"")+e}function Xe(e,t){if(!e||!t)return e;var a=t.keyId;return a&&t.isCommonEncryption&&we(e,["moov","trak"]).forEach((function(e){var t=we(e,["mdia","minf","stbl","stsd"])[0].subarray(8),o=we(t,["enca"]),i=o.length>0;i||(o=we(t,["encv"])),o.forEach((function(e){we(i?e.subarray(28):e.subarray(78),["sinf"]).forEach((function(e){var t=$e(e);if(t){var o=t.subarray(8,24);o.some((function(e){return 0!==e}))||(U.log("[eme] Patching keyId in 'enc"+(i?"a":"v")+">sinf>>tenc' box: "+ve.hexDump(o)+" -> "+ve.hexDump(a)),t.set(a,8))}}))}))})),e}function $e(e){var t=we(e,["schm"])[0];if(t){var a=be(t.subarray(4,8));if("cbcs"===a||"cenc"===a)return we(e,["schi","tenc"])[0]}return U.error("[eme] missing 'schm' box"),null}function qe(e,t){return we(t,["moof","traf"]).reduce((function(t,a){var o=we(a,["tfdt"])[0],i=o[0],n=we(a,["tfhd"]).reduce((function(t,a){var n=Ge(a,4),r=e[n];if(r){var E=Ge(o,4);if(1===i){if(E===ye)return U.warn("[mp4-demuxer]: Ignoring assumed invalid signed 64-bit track fragment decode time"),t;E*=ye+1,E+=Ge(o,8)}var _=E/(r.timescale||9e4);if(p(_)&&(null===t||_<t))return _}return t}),null);return null!==n&&p(n)&&(null===t||n<t)?n:t}),null)}function Je(e,t){for(var a=1/0,o=0,i=0,n=we(e,["sidx"]),r=0;r<n.length;r++){var E=Ye(n[r]);if(null!=E&&E.references){a=Math.min(a,E.earliestPresentationTime/E.timescale);var _=E.references.reduce((function(e,t){return e+t.info.duration||0}),0);i=(o=Math.max(o,_+E.earliestPresentationTime/E.timescale))-a}}if(i&&p(i))return i;for(var T=0,s=0,S=0,l=we(e,["moof","traf"]),I=0;I<l.length;I++){var A=l[I],u=we(A,["tfhd"])[0],d=t[Ge(u,4)];if(d){var c=d.default,O=Ge(u,0)|(null==c?void 0:c.flags),R=null==c?void 0:c.duration;8&O&&(R=Ge(u,2&O?12:8));for(var N=d.timescale||9e4,m=we(A,["trun"]),L=0;L<m.length;L++)!(T=Ze(m[L]))&&R&&(T=R*Ge(m[L],4)),d.type===z.VIDEO?s+=T/N:d.type===z.AUDIO&&(S+=T/N)}}return s||S}function Ze(e){var t=Ge(e,0),a=8;1&t&&(a+=4),4&t&&(a+=4);for(var o=0,i=Ge(e,4),n=0;n<i;n++)256&t&&(o+=Ge(e,a),a+=4),512&t&&(a+=4),1024&t&&(a+=4),2048&t&&(a+=4);return o}function et(e,t,a){we(t,["moof","traf"]).forEach((function(t){we(t,["tfhd"]).forEach((function(o){var i=Ge(o,4),n=e[i];if(n){var r=n.timescale||9e4;we(t,["tfdt"]).forEach((function(e){var t=e[0],o=a*r;if(o){var i=Ge(e,4);if(0===t)i-=o,Ve(e,4,i=Math.max(i,0));else{i*=Math.pow(2,32),i+=Ge(e,8),i-=o,i=Math.max(i,0);var n=Math.floor(i/(ye+1)),E=Math.floor(i%(ye+1));Ve(e,4,n),Ve(e,8,E)}}}))}}))}))}function tt(e){var t={valid:null,remainder:null},a=we(e,["moof"]);if(a.length<2)return t.remainder=e,t;var o=a[a.length-1];return t.valid=Ie(e,0,o.byteOffset-8),t.remainder=Ie(e,o.byteOffset-8),t}function at(e,t){var a=new Uint8Array(e.length+t.length);return a.set(e),a.set(t,e.length),a}function ot(e,t){var a=[],o=t.samples,i=t.timescale,n=t.id,r=!1;return we(o,["moof"]).map((function(E){var _=E.byteOffset-8;we(E,["traf"]).map((function(E){var T=we(E,["tfdt"]).map((function(e){var t=e[0],a=Ge(e,4);return 1===t&&(a*=Math.pow(2,32),a+=Ge(e,8)),a/i}))[0];return void 0!==T&&(e=T),we(E,["tfhd"]).map((function(T){var s=Ge(T,4),S=16777215&Ge(T,0),l=0,I=0!=(16&S),A=0,u=0!=(32&S),d=8;s===n&&(0!=(1&S)&&(d+=8),0!=(2&S)&&(d+=4),0!=(8&S)&&(l=Ge(T,d),d+=4),I&&(A=Ge(T,d),d+=4),u&&(d+=4),"video"===t.type&&(r=it(t.codec)),we(E,["trun"]).map((function(n){var E=n[0],T=16777215&Ge(n,0),s=0!=(1&T),S=0,I=0!=(4&T),u=0!=(256&T),d=0,c=0!=(512&T),O=0,R=0!=(1024&T),N=0!=(2048&T),m=0,L=Ge(n,4),D=8;s&&(S=Ge(n,D),D+=4),I&&(D+=4);for(var p=S+_,h=0;h<L;h++){if(u?(d=Ge(n,D),D+=4):d=l,c?(O=Ge(n,D),D+=4):O=A,R&&(D+=4),N&&(m=0===E?Ge(n,D):Fe(n,D),D+=4),t.type===z.VIDEO)for(var C=0;C<O;){var f=Ge(o,p);nt(r,o[p+=4])&&rt(o.subarray(p,p+f),r?2:1,e+m/i,a),p+=f,C+=f+4}e+=d/i}})))}))}))})),a}function it(e){if(!e)return!1;var t=e.indexOf("."),a=t<0?e:e.substring(0,t);return"hvc1"===a||"hev1"===a||"dvh1"===a||"dvhe"===a}function nt(e,t){if(e){var a=t>>1&63;return 39===a||40===a}return 6==(31&t)}function rt(e,t,a,o){var i=Et(e),n=0;n+=t;for(var r=0,E=0,_=0;n<i.length;){r=0;do{if(n>=i.length)break;r+=_=i[n++]}while(255===_);E=0;do{if(n>=i.length)break;E+=_=i[n++]}while(255===_);var T=i.length-n,s=n;if(E<T)n+=E;else if(E>T){U.error("Malformed SEI payload. "+E+" is too small, only "+T+" bytes left to parse.");break}if(4===r){if(181===i[s++]){var S=Ue(i,s);if(s+=2,49===S){var l=Ge(i,s);if(s+=4,1195456820===l){var I=i[s++];if(3===I){var A=i[s++],u=64&A,d=u?2+3*(31&A):0,c=new Uint8Array(d);if(u){c[0]=A;for(var O=1;O<d;O++)c[O]=i[s++]}o.push({type:I,payloadType:r,pts:a,bytes:c})}}}}}else if(5===r&&E>16){for(var R=[],N=0;N<16;N++){var m=i[s++].toString(16);R.push(1==m.length?"0"+m:m),3!==N&&5!==N&&7!==N&&9!==N||R.push("-")}for(var L=E-16,D=new Uint8Array(L),p=0;p<L;p++)D[p]=i[s++];o.push({payloadType:r,pts:a,uuid:R.join(""),userData:Pe(D),userDataBytes:D})}}}function Et(e){for(var t=e.byteLength,a=[],o=1;o<t-2;)0===e[o]&&0===e[o+1]&&3===e[o+2]?(a.push(o+2),o+=2):o++;if(0===a.length)return e;var i=t-a.length,n=new Uint8Array(i),r=0;for(o=0;o<i;r++,o++)r===a[0]&&(r++,a.shift()),n[o]=e[r];return n}function _t(e){var t=e[0],a="",o="",i=0,n=0,r=0,E=0,_=0,T=0;if(0===t){for(;"\0"!==be(e.subarray(T,T+1));)a+=be(e.subarray(T,T+1)),T+=1;for(a+=be(e.subarray(T,T+1)),T+=1;"\0"!==be(e.subarray(T,T+1));)o+=be(e.subarray(T,T+1)),T+=1;o+=be(e.subarray(T,T+1)),T+=1,i=Ge(e,12),n=Ge(e,16),E=Ge(e,20),_=Ge(e,24),T=28}else if(1===t){i=Ge(e,T+=4);var s=Ge(e,T+=4),S=Ge(e,T+=4);for(T+=4,r=Math.pow(2,32)*s+S,h(r)||(r=Number.MAX_SAFE_INTEGER,U.warn("Presentation time exceeds safe integer limit and wrapped to max safe integer in parsing emsg box")),E=Ge(e,T),_=Ge(e,T+=4),T+=4;"\0"!==be(e.subarray(T,T+1));)a+=be(e.subarray(T,T+1)),T+=1;for(a+=be(e.subarray(T,T+1)),T+=1;"\0"!==be(e.subarray(T,T+1));)o+=be(e.subarray(T,T+1)),T+=1;o+=be(e.subarray(T,T+1)),T+=1}return{schemeIdUri:a,value:o,timeScale:i,presentationTime:r,presentationTimeDelta:n,eventDuration:E,id:_,payload:e.subarray(T,e.byteLength)}}function Tt(e){for(var t=arguments.length,a=new Array(t>1?t-1:0),o=1;o<t;o++)a[o-1]=arguments[o];for(var i=a.length,n=8,r=i;r--;)n+=a[r].byteLength;var E=new Uint8Array(n);for(E[0]=n>>24&255,E[1]=n>>16&255,E[2]=n>>8&255,E[3]=255&n,E.set(e,4),r=0,n=8;r<i;r++)E.set(a[r],n),n+=a[r].byteLength;return E}function st(e,t,a){if(16!==e.byteLength)throw new RangeError("Invalid system id");var o,i,n;if(t){o=1,i=new Uint8Array(16*t.length);for(var r=0;r<t.length;r++){var E=t[r];if(16!==E.byteLength)throw new RangeError("Invalid key");i.set(E,16*r)}}else o=0,i=new Uint8Array;o>0?(n=new Uint8Array(4),t.length>0&&new DataView(n.buffer).setUint32(0,t.length,!1)):n=new Uint8Array;var _=new Uint8Array(4);return a&&a.byteLength>0&&new DataView(_.buffer).setUint32(0,a.byteLength,!1),Tt([112,115,115,104],new Uint8Array([o,0,0,0]),e,n,i,_,a||new Uint8Array)}function St(e){if(!(e instanceof ArrayBuffer)||e.byteLength<32)return null;var t={version:0,systemId:"",kids:null,data:null},a=new DataView(e),o=a.getUint32(0);if(e.byteLength!==o&&o>44)return null;if(1886614376!==a.getUint32(4))return null;if(t.version=a.getUint32(8)>>>24,t.version>1)return null;t.systemId=ve.hexDump(new Uint8Array(e,12,16));var i=a.getUint32(28);if(0===t.version){if(o-32<i)return null;t.data=new Uint8Array(e,32,i)}else if(1===t.version){t.kids=[];for(var n=0;n<i;n++)t.kids.push(new Uint8Array(e,32+16*n,16))}return t}var lt={},It=(function(){function e(e,t,a,o,i){void 0===o&&(o=[1]),void 0===i&&(i=null),this.uri=void 0,this.method=void 0,this.keyFormat=void 0,this.keyFormatVersions=void 0,this.encrypted=void 0,this.isCommonEncryption=void 0,this.iv=null,this.key=null,this.keyId=null,this.pssh=null,this.method=e,this.uri=t,this.keyFormat=a,this.keyFormatVersions=o,this.iv=i,this.encrypted=!!e&&"NONE"!==e,this.isCommonEncryption=this.encrypted&&"AES-128"!==e}e.clearKeyUriToKeyIdMap=function(){lt={}};var t=e.prototype;return t.isSupported=function(){if(this.method){if("AES-128"===this.method||"NONE"===this.method)return!0;if("identity"===this.keyFormat)return"SAMPLE-AES"===this.method;switch(this.keyFormat){case oe.FAIRPLAY:case oe.WIDEVINE:case oe.PLAYREADY:case oe.CLEARKEY:return-1!==["ISO-23001-7","SAMPLE-AES","SAMPLE-AES-CENC","SAMPLE-AES-CTR"].indexOf(this.method)}}return!1},t.getDecryptData=function(t){if(!this.encrypted||!this.uri)return null;if("AES-128"===this.method&&this.uri&&!this.iv){"number"!=typeof t&&("AES-128"!==this.method||this.iv||U.warn('missing IV for initialization segment with method="'+this.method+'" - compliance issue'),t=0);var a=At(t);return new e(this.method,this.uri,"identity",this.keyFormatVersions,a)}var o=Z(this.uri);if(o)switch(this.keyFormat){case oe.WIDEVINE:this.pssh=o,o.length>=22&&(this.keyId=o.subarray(o.length-22,o.length-6));break;case oe.PLAYREADY:var i=new Uint8Array([154,4,240,121,152,64,66,134,171,146,230,91,224,136,95,149]);this.pssh=st(i,null,o);var n=new Uint16Array(o.buffer,o.byteOffset,o.byteLength/2),r=String.fromCharCode.apply(null,Array.from(n)),E=r.substring(r.indexOf("<"),r.length),_=(new DOMParser).parseFromString(E,"text/xml").getElementsByTagName("KID")[0];if(_){var T=_.childNodes[0]?_.childNodes[0].nodeValue:_.getAttribute("VALUE");if(T){var s=$(T).subarray(0,16);J(s),this.keyId=s}}break;default:var S=o.subarray(0,16);if(16!==S.length){var l=new Uint8Array(16);l.set(S,16-S.length),S=l}this.keyId=S}if(!this.keyId||16!==this.keyId.byteLength){var I=lt[this.uri];if(!I){var A=Object.keys(lt).length%Number.MAX_SAFE_INTEGER;I=new Uint8Array(16),new DataView(I.buffer,12,4).setUint32(0,A),lt[this.uri]=I}this.keyId=I}return this},e})();function At(e){for(var t=new Uint8Array(16),a=12;a<16;a++)t[a]=e>>8*(15-a)&255;return t}var ut=/\{\$([a-zA-Z0-9-_]+)\}/g;function dt(e){return ut.test(e)}function ct(e,t,a){if(null!==e.variableList||e.hasVariableRefs)for(var o=a.length;o--;){var i=a[o],n=t[i];n&&(t[i]=Ot(e,n))}}function Ot(e,t){if(null!==e.variableList||e.hasVariableRefs){var a=e.variableList;return t.replace(ut,(function(t){var o=t.substring(2,t.length-1),i=null==a?void 0:a[o];return void 0===i?(e.playlistParsingError||(e.playlistParsingError=new Error('Missing preceding EXT-X-DEFINE tag for Variable Reference: "'+o+'"')),t):i}))}return t}function Rt(e,t,a){var o,i,n=e.variableList;if(n||(e.variableList=n={}),"QUERYPARAM"in t){o=t.QUERYPARAM;try{var r=new self.URL(a).searchParams;if(!r.has(o))throw new Error('"'+o+'" does not match any query parameter in URI: "'+a+'"');i=r.get(o)}catch(t){e.playlistParsingError||(e.playlistParsingError=new Error("EXT-X-DEFINE QUERYPARAM: "+t.message))}}else o=t.NAME,i=t.VALUE;o in n?e.playlistParsingError||(e.playlistParsingError=new Error('EXT-X-DEFINE duplicate Variable Name declarations: "'+o+'"')):n[o]=i||""}function Nt(e,t,a){var o=t.IMPORT;if(a&&o in a){var i=e.variableList;i||(e.variableList=i={}),i[o]=a[o]}else e.playlistParsingError||(e.playlistParsingError=new Error('EXT-X-DEFINE IMPORT attribute not found in Multivariant Playlist: "'+o+'"'))}function mt(e){if(void 0===e&&(e=!0),"undefined"!=typeof self)return(e||!self.MediaSource)&&self.ManagedMediaSource||self.MediaSource||self.WebKitMediaSource}var Lt={audio:{a3ds:1,"ac-3":.95,"ac-4":1,alac:.9,alaw:1,dra1:1,"dts+":1,"dts-":1,dtsc:1,dtse:1,dtsh:1,"ec-3":.9,enca:1,fLaC:.9,flac:.9,FLAC:.9,g719:1,g726:1,m4ae:1,mha1:1,mha2:1,mhm1:1,mhm2:1,mlpa:1,mp4a:1,"raw ":1,Opus:1,opus:1,samr:1,sawb:1,sawp:1,sevc:1,sqcp:1,ssmv:1,twos:1,ulaw:1},video:{avc1:1,avc2:1,avc3:1,avc4:1,avcp:1,av01:.8,drac:1,dva1:1,dvav:1,dvh1:.7,dvhe:.7,encv:1,hev1:.75,hvc1:.75,mjp2:1,mp4v:1,mvc1:1,mvc2:1,mvc3:1,mvc4:1,resv:1,rv60:1,s263:1,svc1:1,svc2:1,"vc-1":1,vp08:1,vp09:.9},text:{stpp:1,wvtt:1}};function Dt(e,t){var a=Lt[t];return!!a&&!!a[e.slice(0,4)]}function pt(e,t,a){return void 0===a&&(a=!0),!e.split(",").some((function(e){return!ht(e,t,a)}))}function ht(e,t,a){var o;void 0===a&&(a=!0);var i=mt(a);return null!=(o=null==i?void 0:i.isTypeSupported(Ct(e,t)))&&o}function Ct(e,t){return t+'/mp4;codecs="'+e+'"'}function ft(e){if(e){var t=e.substring(0,4);return Lt.video[t]}return 2}function Bt(e){return e.split(",").reduce((function(e,t){var a=Lt.video[t];return a?(2*a+e)/(e?3:2):(Lt.audio[t]+e)/(e?2:1)}),0)}var Pt={};function gt(e,t){if(void 0===t&&(t=!0),Pt[e])return Pt[e];for(var a={flac:["flac","fLaC","FLAC"],opus:["opus","Opus"]}[e],o=0;o<a.length;o++)if(ht(a[o],"audio",t))return Pt[e]=a[o],a[o];return e}var vt=/flac|opus/i;function yt(e,t){return void 0===t&&(t=!0),e.replace(vt,(function(e){return gt(e.toLowerCase(),t)}))}function Wt(e,t){return e&&"mp4a"!==e?e:t}function Mt(e){var t=e.split(".");if(t.length>2){var a=t.shift()+".";return a+=parseInt(t.shift()).toString(16),a+=("000"+parseInt(t.shift()).toString(16)).slice(-4)}return e}var bt=/#EXT-X-STREAM-INF:([^\r\n]*)(?:[\r\n](?:#[^\r\n]*)?)*([^\r\n]+)|#EXT-X-(SESSION-DATA|SESSION-KEY|DEFINE|CONTENT-STEERING|START):([^\r\n]*)[\r\n]+/g,Ut=/#EXT-X-MEDIA:(.*)/g,Gt=/^#EXT(?:INF|-X-TARGETDURATION):/m,kt=new RegExp([/#EXTINF:\s*(\d*(?:\.\d+)?)(?:,(.*)\s+)?/.source,/(?!#) *(\S[\S ]*)/.source,/#EXT-X-BYTERANGE:*(.+)/.source,/#EXT-X-PROGRAM-DATE-TIME:(.+)/.source,/#.*/.source].join("|"),"g"),Ft=new RegExp([/#(EXTM3U)/.source,/#EXT-X-(DATERANGE|DEFINE|KEY|MAP|PART|PART-INF|PLAYLIST-TYPE|PRELOAD-HINT|RENDITION-REPORT|SERVER-CONTROL|SKIP|START):(.+)/.source,/#EXT-X-(BITRATE|DISCONTINUITY-SEQUENCE|MEDIA-SEQUENCE|TARGETDURATION|VERSION): *(\d+)/.source,/#EXT-X-(DISCONTINUITY|ENDLIST|GAP|INDEPENDENT-SEGMENTS)/.source,/(#)([^:]*):(.*)/.source,/(#)(.*)(?:.*)\r?\n?/.source].join("|")),Vt=(function(){function e(){}return e.findGroup=function(e,t){for(var a=0;a<e.length;a++){var o=e[a];if(o.id===t)return o}},e.resolve=function(e,t){return D.buildAbsoluteURL(t,e,{alwaysNormalize:!0})},e.isMediaPlaylist=function(e){return Gt.test(e)},e.parseMasterPlaylist=function(t,a){var o,i={contentSteering:null,levels:[],playlistParsingError:null,sessionData:null,sessionKeys:null,startTimeOffset:null,variableList:null,hasVariableRefs:dt(t)},n=[];for(bt.lastIndex=0;null!=(o=bt.exec(t));)if(o[1]){var r,E=new F(o[1]);ct(i,E,["CODECS","SUPPLEMENTAL-CODECS","ALLOWED-CPC","PATHWAY-ID","STABLE-VARIANT-ID","AUDIO","VIDEO","SUBTITLES","CLOSED-CAPTIONS","NAME"]);var _=Ot(i,o[2]),T={attrs:E,bitrate:E.decimalInteger("BANDWIDTH")||E.decimalInteger("AVERAGE-BANDWIDTH"),name:E.NAME,url:e.resolve(_,a)},s=E.decimalResolution("RESOLUTION");s&&(T.width=s.width,T.height=s.height),Yt(E.CODECS,T),null!=(r=T.unknownCodecs)&&r.length||n.push(T),i.levels.push(T)}else if(o[3]){var S=o[3],l=o[4];switch(S){case"SESSION-DATA":var I=new F(l);ct(i,I,["DATA-ID","LANGUAGE","VALUE","URI"]);var A=I["DATA-ID"];A&&(null===i.sessionData&&(i.sessionData={}),i.sessionData[A]=I);break;case"SESSION-KEY":var u=Ht(l,a,i);u.encrypted&&u.isSupported()?(null===i.sessionKeys&&(i.sessionKeys=[]),i.sessionKeys.push(u)):U.warn('[Keys] Ignoring invalid EXT-X-SESSION-KEY tag: "'+l+'"');break;case"DEFINE":var d=new F(l);ct(i,d,["NAME","VALUE","QUERYPARAM"]),Rt(i,d,a);break;case"CONTENT-STEERING":var c=new F(l);ct(i,c,["SERVER-URI","PATHWAY-ID"]),i.contentSteering={uri:e.resolve(c["SERVER-URI"],a),pathwayId:c["PATHWAY-ID"]||"."};break;case"START":i.startTimeOffset=wt(l)}}var O=n.length>0&&n.length<i.levels.length;return i.levels=O?n:i.levels,0===i.levels.length&&(i.playlistParsingError=new Error("no levels found in manifest")),i},e.parseMasterPlaylistMedia=function(t,a,o){var i,n={},r=o.levels,E={AUDIO:r.map((function(e){return{id:e.attrs.AUDIO,audioCodec:e.audioCodec}})),SUBTITLES:r.map((function(e){return{id:e.attrs.SUBTITLES,textCodec:e.textCodec}})),"CLOSED-CAPTIONS":[]},_=0;for(Ut.lastIndex=0;null!==(i=Ut.exec(t));){var T=new F(i[1]),s=T.TYPE;if(s){var S=E[s],l=n[s]||[];n[s]=l,ct(o,T,["URI","GROUP-ID","LANGUAGE","ASSOC-LANGUAGE","STABLE-RENDITION-ID","NAME","INSTREAM-ID","CHARACTERISTICS","CHANNELS"]);var I=T.LANGUAGE,A=T["ASSOC-LANGUAGE"],u=T.CHANNELS,d=T.CHARACTERISTICS,c=T["INSTREAM-ID"],O={attrs:T,bitrate:0,id:_++,groupId:T["GROUP-ID"]||"",name:T.NAME||I||"",type:s,default:T.bool("DEFAULT"),autoselect:T.bool("AUTOSELECT"),forced:T.bool("FORCED"),lang:I,url:T.URI?e.resolve(T.URI,a):""};if(A&&(O.assocLang=A),u&&(O.channels=u),d&&(O.characteristics=d),c&&(O.instreamId=c),null!=S&&S.length){var R=e.findGroup(S,O.groupId)||S[0];zt(O,R,"audioCodec"),zt(O,R,"textCodec")}l.push(O)}}return n},e.parseLevelPlaylist=function(e,t,a,o,i,n){var r,E,_,s=new X(t),S=s.fragments,l=null,I=0,A=0,u=0,d=0,c=null,O=new x(o,t),R=-1,N=!1,m=null;for(kt.lastIndex=0,s.m3u8=e,s.hasVariableRefs=dt(e);null!==(r=kt.exec(e));){N&&(N=!1,(O=new x(o,t)).start=u,O.sn=I,O.cc=d,O.level=a,l&&(O.initSegment=l,O.rawProgramDateTime=l.rawProgramDateTime,l.rawProgramDateTime=null,m&&(O.setByteRange(m),m=null)));var L=r[1];if(L){O.duration=parseFloat(L);var D=(" "+r[2]).slice(1);O.title=D||null,O.tagList.push(D?["INF",L,D]:["INF",L])}else if(r[3]){if(p(O.duration)){O.start=u,_&&Qt(O,_,s),O.sn=I,O.level=a,O.cc=d,S.push(O);var h=(" "+r[3]).slice(1);O.relurl=Ot(s,h),xt(O,c),c=O,u+=O.duration,I++,A=0,N=!0}}else if(r[4]){var C=(" "+r[4]).slice(1);c?O.setByteRange(C,c):O.setByteRange(C)}else if(r[5])O.rawProgramDateTime=(" "+r[5]).slice(1),O.tagList.push(["PROGRAM-DATE-TIME",O.rawProgramDateTime]),-1===R&&(R=S.length);else{if(!(r=r[0].match(Ft))){U.warn("No matches on slow regex match for level playlist!");continue}for(E=1;E<r.length&&void 0===r[E];E++);var f=(" "+r[E]).slice(1),B=(" "+r[E+1]).slice(1),P=r[E+2]?(" "+r[E+2]).slice(1):"";switch(f){case"PLAYLIST-TYPE":s.type=B.toUpperCase();break;case"MEDIA-SEQUENCE":I=s.startSN=parseInt(B);break;case"SKIP":var g=new F(B);ct(s,g,["RECENTLY-REMOVED-DATERANGES"]);var v=g.decimalInteger("SKIPPED-SEGMENTS");if(p(v)){s.skippedSegments=v;for(var y=v;y--;)S.unshift(null);I+=v}var W=g.enumeratedString("RECENTLY-REMOVED-DATERANGES");W&&(s.recentlyRemovedDateranges=W.split("\t"));break;case"TARGETDURATION":s.targetduration=Math.max(parseInt(B),1);break;case"VERSION":s.version=parseInt(B);break;case"INDEPENDENT-SEGMENTS":case"EXTM3U":break;case"ENDLIST":s.live=!1;break;case"#":(B||P)&&O.tagList.push(P?[B,P]:[B]);break;case"DISCONTINUITY":d++,O.tagList.push(["DIS"]);break;case"GAP":O.gap=!0,O.tagList.push([f]);break;case"BITRATE":O.tagList.push([f,B]);break;case"DATERANGE":var M=new F(B);ct(s,M,["ID","CLASS","START-DATE","END-DATE","SCTE35-CMD","SCTE35-OUT","SCTE35-IN"]),ct(s,M,M.clientAttrs);var b=new w(M,s.dateRanges[M.ID]);b.isValid||s.skippedSegments?s.dateRanges[b.id]=b:U.warn('Ignoring invalid DATERANGE tag: "'+B+'"'),O.tagList.push(["EXT-X-DATERANGE",B]);break;case"DEFINE":var G=new F(B);ct(s,G,["NAME","VALUE","IMPORT","QUERYPARAM"]),"IMPORT"in G?Nt(s,G,n):Rt(s,G,t);break;case"DISCONTINUITY-SEQUENCE":d=parseInt(B);break;case"KEY":var k=Ht(B,t,s);if(k.isSupported()){if("NONE"===k.method){_=void 0;break}_||(_={}),_[k.keyFormat]&&(_=T({},_)),_[k.keyFormat]=k}else U.warn('[Keys] Ignoring invalid EXT-X-KEY tag: "'+B+'"');break;case"START":s.startTimeOffset=wt(B);break;case"MAP":var V=new F(B);if(ct(s,V,["BYTERANGE","URI"]),O.duration){var H=new x(o,t);jt(H,V,a,_),l=H,O.initSegment=l,l.rawProgramDateTime&&!O.rawProgramDateTime&&(O.rawProgramDateTime=l.rawProgramDateTime)}else{var Y=O.byteRangeEndOffset;if(Y){var z=O.byteRangeStartOffset;m=Y-z+"@"+z}else m=null;jt(O,V,a,_),l=O,N=!0}break;case"SERVER-CONTROL":var K=new F(B);s.canBlockReload=K.bool("CAN-BLOCK-RELOAD"),s.canSkipUntil=K.optionalFloat("CAN-SKIP-UNTIL",0),s.canSkipDateRanges=s.canSkipUntil>0&&K.bool("CAN-SKIP-DATERANGES"),s.partHoldBack=K.optionalFloat("PART-HOLD-BACK",0),s.holdBack=K.optionalFloat("HOLD-BACK",0);break;case"PART-INF":var Q=new F(B);s.partTarget=Q.decimalFloatingPoint("PART-TARGET");break;case"PART":var $=s.partList;$||($=s.partList=[]);var q=A>0?$[$.length-1]:void 0,J=A++,Z=new F(B);ct(s,Z,["BYTERANGE","URI"]);var ee=new j(Z,O,t,J,q);$.push(ee),O.duration+=ee.duration;break;case"PRELOAD-HINT":var te=new F(B);ct(s,te,["URI"]),s.preloadHint=te;break;case"RENDITION-REPORT":var ae=new F(B);ct(s,ae,["URI"]),s.renditionReports=s.renditionReports||[],s.renditionReports.push(ae);break;default:U.warn("line parsed but not handled: "+r)}}}c&&!c.relurl?(S.pop(),u-=c.duration,s.partList&&(s.fragmentHint=c)):s.partList&&(xt(O,c),O.cc=d,s.fragmentHint=O,_&&Qt(O,_,s));var oe=S.length,ie=S[0],ne=S[oe-1];if((u+=s.skippedSegments*s.targetduration)>0&&oe&&ne){s.averagetargetduration=u/oe;var re=ne.sn;s.endSN="initSegment"!==re?re:0,s.live||(ne.endList=!0),ie&&(s.startCC=ie.cc)}else s.endSN=0,s.startCC=0;return s.fragmentHint&&(u+=s.fragmentHint.duration),s.totalduration=u,s.endCC=d,R>0&&Kt(S,R),s},e})();function Ht(e,t,a){var o,i,n=new F(e);ct(a,n,["KEYFORMAT","KEYFORMATVERSIONS","URI","IV","URI"]);var r=null!=(o=n.METHOD)?o:"",E=n.URI,_=n.hexadecimalInteger("IV"),T=n.KEYFORMATVERSIONS,s=null!=(i=n.KEYFORMAT)?i:"identity";E&&n.IV&&!_&&U.error("Invalid IV: "+n.IV);var S=E?Vt.resolve(E,t):"",l=(T||"1").split("/").map(Number).filter(Number.isFinite);return new It(r,S,s,l,_)}function wt(e){var t=new F(e).decimalFloatingPoint("TIME-OFFSET");return p(t)?t:null}function Yt(e,t){var a=(e||"").split(/[ ,]+/).filter((function(e){return e}));["video","audio","text"].forEach((function(e){var o=a.filter((function(t){return Dt(t,e)}));o.length&&(t[e+"Codec"]=o.join(","),a=a.filter((function(e){return-1===o.indexOf(e)})))})),t.unknownCodecs=a}function zt(e,t,a){var o=t[a];o&&(e[a]=o)}function Kt(e,t){for(var a=e[t],o=t;o--;){var i=e[o];if(!i)return;i.programDateTime=a.programDateTime-1e3*i.duration,a=i}}function xt(e,t){e.rawProgramDateTime?e.programDateTime=Date.parse(e.rawProgramDateTime):null!=t&&t.programDateTime&&(e.programDateTime=t.endProgramDateTime),p(e.programDateTime)||(e.programDateTime=null,e.rawProgramDateTime=null)}function jt(e,t,a,o){e.relurl=t.URI,t.BYTERANGE&&e.setByteRange(t.BYTERANGE),e.level=a,e.sn="initSegment",o&&(e.levelkeys=o),e.initSegment=null}function Qt(e,t,a){e.levelkeys=t;var o=a.encryptedFragments;o.length&&o[o.length-1].levelkeys===t||!Object.keys(t).some((function(e){return t[e].isCommonEncryption}))||o.push(e)}var Xt={MANIFEST:"manifest",LEVEL:"level",AUDIO_TRACK:"audioTrack",SUBTITLE_TRACK:"subtitleTrack"},$t={MAIN:"main",AUDIO:"audio",SUBTITLE:"subtitle"};function qt(e){switch(e.type){case Xt.AUDIO_TRACK:return $t.AUDIO;case Xt.SUBTITLE_TRACK:return $t.SUBTITLE;default:return $t.MAIN}}function Jt(e,t){var a=e.url;return void 0!==a&&0!==a.indexOf("data:")||(a=t.url),a}var Zt=(function(){function e(e){this.hls=void 0,this.loaders=Object.create(null),this.variableList=null,this.hls=e,this.registerListeners()}var t=e.prototype;return t.startLoad=function(e){},t.stopLoad=function(){this.destroyInternalLoaders()},t.registerListeners=function(){var e=this.hls;e.on(f.MANIFEST_LOADING,this.onManifestLoading,this),e.on(f.LEVEL_LOADING,this.onLevelLoading,this),e.on(f.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),e.on(f.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this)},t.unregisterListeners=function(){var e=this.hls;e.off(f.MANIFEST_LOADING,this.onManifestLoading,this),e.off(f.LEVEL_LOADING,this.onLevelLoading,this),e.off(f.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),e.off(f.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this)},t.createInternalLoader=function(e){var t=this.hls.config,a=t.pLoader,o=t.loader,i=new(a||o)(t);return this.loaders[e.type]=i,i},t.getInternalLoader=function(e){return this.loaders[e.type]},t.resetInternalLoader=function(e){this.loaders[e]&&delete this.loaders[e]},t.destroyInternalLoaders=function(){for(var e in this.loaders){var t=this.loaders[e];t&&t.destroy(),this.resetInternalLoader(e)}},t.destroy=function(){this.variableList=null,this.unregisterListeners(),this.destroyInternalLoaders()},t.onManifestLoading=function(e,t){var a=t.url;this.variableList=null,this.load({id:null,level:0,responseType:"text",type:Xt.MANIFEST,url:a,deliveryDirectives:null})},t.onLevelLoading=function(e,t){var a=t.id,o=t.level,i=t.pathwayId,n=t.url,r=t.deliveryDirectives;this.load({id:a,level:o,pathwayId:i,responseType:"text",type:Xt.LEVEL,url:n,deliveryDirectives:r})},t.onAudioTrackLoading=function(e,t){var a=t.id,o=t.groupId,i=t.url,n=t.deliveryDirectives;this.load({id:a,groupId:o,level:null,responseType:"text",type:Xt.AUDIO_TRACK,url:i,deliveryDirectives:n})},t.onSubtitleTrackLoading=function(e,t){var a=t.id,o=t.groupId,i=t.url,n=t.deliveryDirectives;this.load({id:a,groupId:o,level:null,responseType:"text",type:Xt.SUBTITLE_TRACK,url:i,deliveryDirectives:n})},t.load=function(e){var t,a,o,i=this,n=this.hls.config,r=this.getInternalLoader(e);if(r){var E=r.context;if(E&&E.url===e.url&&E.level===e.level)return void U.trace("[playlist-loader]: playlist request ongoing");U.log("[playlist-loader]: aborting previous loader for type: "+e.type),r.abort()}if(a=e.type===Xt.MANIFEST?n.manifestLoadPolicy.default:T({},n.playlistLoadPolicy.default,{timeoutRetry:null,errorRetry:null}),r=this.createInternalLoader(e),p(null==(t=e.deliveryDirectives)?void 0:t.part)&&(e.type===Xt.LEVEL&&null!==e.level?o=this.hls.levels[e.level].details:e.type===Xt.AUDIO_TRACK&&null!==e.id?o=this.hls.audioTracks[e.id].details:e.type===Xt.SUBTITLE_TRACK&&null!==e.id&&(o=this.hls.subtitleTracks[e.id].details),o)){var _=o.partTarget,s=o.targetduration;if(_&&s){var S=1e3*Math.max(3*_,.8*s);a=T({},a,{maxTimeToFirstByteMs:Math.min(S,a.maxTimeToFirstByteMs),maxLoadTimeMs:Math.min(S,a.maxTimeToFirstByteMs)})}}var l=a.errorRetry||a.timeoutRetry||{},I={loadPolicy:a,timeout:a.maxLoadTimeMs,maxRetry:l.maxNumRetry||0,retryDelay:l.retryDelayMs||0,maxRetryDelay:l.maxRetryDelayMs||0},A={onSuccess:function(e,t,a,o){var n=i.getInternalLoader(a);i.resetInternalLoader(a.type);var r=e.data;0===r.indexOf("#EXTM3U")?(t.parsing.start=performance.now(),Vt.isMediaPlaylist(r)?i.handleTrackOrLevelPlaylist(e,t,a,o||null,n):i.handleMasterPlaylist(e,t,a,o)):i.handleManifestParsingError(e,a,new Error("no EXTM3U delimiter"),o||null,t)},onError:function(e,t,a,o){i.handleNetworkError(t,a,!1,e,o)},onTimeout:function(e,t,a){i.handleNetworkError(t,a,!0,void 0,e)}};r.load(e,I,A)},t.handleMasterPlaylist=function(e,t,a,o){var i=this.hls,n=e.data,r=Jt(e,a),E=Vt.parseMasterPlaylist(n,r);if(E.playlistParsingError)this.handleManifestParsingError(e,a,E.playlistParsingError,o,t);else{var _=E.contentSteering,T=E.levels,s=E.sessionData,S=E.sessionKeys,l=E.startTimeOffset,I=E.variableList;this.variableList=I;var A=Vt.parseMasterPlaylistMedia(n,r,E),u=A.AUDIO,d=void 0===u?[]:u,c=A.SUBTITLES,O=A["CLOSED-CAPTIONS"];d.length&&(d.some((function(e){return!e.url}))||!T[0].audioCodec||T[0].attrs.AUDIO||(U.log("[playlist-loader]: audio codec signaled in quality level, but no embedded audio track signaled, create one"),d.unshift({type:"main",name:"main",groupId:"main",default:!1,autoselect:!1,forced:!1,id:-1,attrs:new F({}),bitrate:0,url:""}))),i.trigger(f.MANIFEST_LOADED,{levels:T,audioTracks:d,subtitles:c,captions:O,contentSteering:_,url:r,stats:t,networkDetails:o,sessionData:s,sessionKeys:S,startTimeOffset:l,variableList:I})}},t.handleTrackOrLevelPlaylist=function(e,t,a,o,i){var n=this.hls,r=a.id,E=a.level,_=a.type,T=Jt(e,a),s=0,S=p(E)?E:p(r)?r:0,l=qt(a),I=Vt.parseLevelPlaylist(e.data,T,S,l,s,this.variableList);if(_===Xt.MANIFEST){var A={attrs:new F({}),bitrate:0,details:I,name:"",url:T};n.trigger(f.MANIFEST_LOADED,{levels:[A],audioTracks:[],url:T,stats:t,networkDetails:o,sessionData:null,sessionKeys:null,contentSteering:null,startTimeOffset:null,variableList:null})}t.parsing.end=performance.now(),a.levelDetails=I,this.handlePlaylistLoaded(I,e,t,a,o,i)},t.handleManifestParsingError=function(e,t,a,o,i){this.hls.trigger(f.ERROR,{type:B.NETWORK_ERROR,details:P.MANIFEST_PARSING_ERROR,fatal:t.type===Xt.MANIFEST,url:e.url,err:a,error:a,reason:a.message,response:e,context:t,networkDetails:o,stats:i})},t.handleNetworkError=function(e,t,a,i,n){void 0===a&&(a=!1);var r="A network "+(a?"timeout":"error"+(i?" (status "+i.code+")":""))+" occurred while loading "+e.type;e.type===Xt.LEVEL?r+=": "+e.level+" id: "+e.id:e.type!==Xt.AUDIO_TRACK&&e.type!==Xt.SUBTITLE_TRACK||(r+=" id: "+e.id+' group-id: "'+e.groupId+'"');var E=new Error(r);U.warn("[playlist-loader]: "+r);var _=P.UNKNOWN,T=!1,s=this.getInternalLoader(e);switch(e.type){case Xt.MANIFEST:_=a?P.MANIFEST_LOAD_TIMEOUT:P.MANIFEST_LOAD_ERROR,T=!0;break;case Xt.LEVEL:_=a?P.LEVEL_LOAD_TIMEOUT:P.LEVEL_LOAD_ERROR,T=!1;break;case Xt.AUDIO_TRACK:_=a?P.AUDIO_TRACK_LOAD_TIMEOUT:P.AUDIO_TRACK_LOAD_ERROR,T=!1;break;case Xt.SUBTITLE_TRACK:_=a?P.SUBTITLE_TRACK_LOAD_TIMEOUT:P.SUBTITLE_LOAD_ERROR,T=!1}s&&this.resetInternalLoader(e.type);var S={type:B.NETWORK_ERROR,details:_,fatal:T,url:e.url,loader:s,context:e,error:E,networkDetails:t,stats:n};if(i){var l=(null==t?void 0:t.url)||e.url;S.response=o({url:l,data:void 0},i)}this.hls.trigger(f.ERROR,S)},t.handlePlaylistLoaded=function(e,t,a,o,i,n){var r=this.hls,E=o.type,_=o.level,T=o.id,s=o.groupId,S=o.deliveryDirectives,l=Jt(t,o),I=qt(o),A="number"==typeof o.level&&I===$t.MAIN?_:void 0;if(e.fragments.length){e.targetduration||(e.playlistParsingError=new Error("Missing Target Duration"));var u=e.playlistParsingError;if(u)r.trigger(f.ERROR,{type:B.NETWORK_ERROR,details:P.LEVEL_PARSING_ERROR,fatal:!1,url:l,error:u,reason:u.message,response:t,context:o,level:A,parent:I,networkDetails:i,stats:a});else switch(e.live&&n&&(n.getCacheAge&&(e.ageHeader=n.getCacheAge()||0),n.getCacheAge&&!isNaN(e.ageHeader)||(e.ageHeader=0)),E){case Xt.MANIFEST:case Xt.LEVEL:r.trigger(f.LEVEL_LOADED,{details:e,level:A||0,id:T||0,stats:a,networkDetails:i,deliveryDirectives:S});break;case Xt.AUDIO_TRACK:r.trigger(f.AUDIO_TRACK_LOADED,{details:e,id:T||0,groupId:s||"",stats:a,networkDetails:i,deliveryDirectives:S});break;case Xt.SUBTITLE_TRACK:r.trigger(f.SUBTITLE_TRACK_LOADED,{details:e,id:T||0,groupId:s||"",stats:a,networkDetails:i,deliveryDirectives:S})}}else{var d=new Error("No Segments found in Playlist");r.trigger(f.ERROR,{type:B.NETWORK_ERROR,details:P.LEVEL_EMPTY_ERROR,fatal:!1,url:l,error:d,reason:d.message,response:t,context:o,level:A,parent:I,networkDetails:i,stats:a})}},e})();function ea(e,t){var a;try{a=new Event("addtrack")}catch(e){(a=document.createEvent("Event")).initEvent("addtrack",!1,!1)}a.track=e,t.dispatchEvent(a)}function ta(e,t){var a=e.mode;if("disabled"===a&&(e.mode="hidden"),e.cues&&!e.cues.getCueById(t.id))try{if(e.addCue(t),!e.cues.getCueById(t.id))throw new Error("addCue is failed for: "+t)}catch(a){U.debug("[texttrack-utils]: "+a);try{var o=new self.TextTrackCue(t.startTime,t.endTime,t.text);o.id=t.id,e.addCue(o)}catch(e){U.debug("[texttrack-utils]: Legacy TextTrackCue fallback failed: "+e)}}"disabled"===a&&(e.mode=a)}function aa(e){var t=e.mode;if("disabled"===t&&(e.mode="hidden"),e.cues)for(var a=e.cues.length;a--;)e.removeCue(e.cues[a]);"disabled"===t&&(e.mode=t)}function oa(e,t,a,o){var i=e.mode;if("disabled"===i&&(e.mode="hidden"),e.cues&&e.cues.length>0)for(var n=na(e.cues,t,a),r=0;r<n.length;r++)o&&!o(n[r])||e.removeCue(n[r]);"disabled"===i&&(e.mode=i)}function ia(e,t){if(t<e[0].startTime)return 0;var a=e.length-1;if(t>e[a].endTime)return-1;for(var o=0,i=a;o<=i;){var n=Math.floor((i+o)/2);if(t<e[n].startTime)i=n-1;else{if(!(t>e[n].startTime&&o<a))return n;o=n+1}}return e[o].startTime-t<t-e[i].startTime?o:i}function na(e,t,a){var o=[],i=ia(e,t);if(i>-1)for(var n=i,r=e.length;n<r;n++){var E=e[n];if(E.startTime>=t&&E.endTime<=a)o.push(E);else if(E.startTime>a)return o}return o}function ra(e){for(var t=[],a=0;a<e.length;a++){var o=e[a];"subtitles"!==o.kind&&"captions"!==o.kind||!o.label||t.push(e[a])}return t}var Ea={audioId3:"org.id3",dateRange:"com.apple.quicktime.HLS",emsg:"https://aomedia.org/emsg/ID3"},_a=.25;function Ta(){if("undefined"!=typeof self)return self.VTTCue||self.TextTrackCue}function sa(e,t,a,i,n){var r=new e(t,a,"");try{r.value=i,n&&(r.type=n)}catch(E){r=new e(t,a,JSON.stringify(n?o({type:n},i):i))}return r}var Sa=(function(){var e=Ta();try{e&&new e(0,Number.POSITIVE_INFINITY,"")}catch(e){return Number.MAX_VALUE}return Number.POSITIVE_INFINITY})();function la(e,t){return e.getTime()/1e3-t}function Ia(e){return Uint8Array.from(e.replace(/^0x/,"").replace(/([\da-fA-F]{2}) ?/g,"0x$1 ").replace(/ +$/,"").split(" ")).buffer}var Aa=(function(){function e(e){this.hls=void 0,this.id3Track=null,this.media=null,this.dateRangeCuesAppended={},this.hls=e,this._registerListeners()}var t=e.prototype;return t.destroy=function(){this._unregisterListeners(),this.id3Track=null,this.media=null,this.dateRangeCuesAppended={},this.hls=null},t._registerListeners=function(){var e=this.hls;e.on(f.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(f.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(f.MANIFEST_LOADING,this.onManifestLoading,this),e.on(f.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),e.on(f.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(f.LEVEL_UPDATED,this.onLevelUpdated,this)},t._unregisterListeners=function(){var e=this.hls;e.off(f.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(f.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(f.MANIFEST_LOADING,this.onManifestLoading,this),e.off(f.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),e.off(f.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(f.LEVEL_UPDATED,this.onLevelUpdated,this)},t.onMediaAttached=function(e,t){this.media=t.media},t.onMediaDetaching=function(){this.id3Track&&(aa(this.id3Track),this.id3Track=null,this.media=null,this.dateRangeCuesAppended={})},t.onManifestLoading=function(){this.dateRangeCuesAppended={}},t.createTrack=function(e){var t=this.getID3Track(e.textTracks);return t.mode="hidden",t},t.getID3Track=function(e){if(this.media){for(var t=0;t<e.length;t++){var a=e[t];if("metadata"===a.kind&&"id3"===a.label)return ea(a,this.media),a}return this.media.addTextTrack("metadata","id3")}},t.onFragParsingMetadata=function(e,t){if(this.media){var a=this.hls.config,o=a.enableEmsgMetadataCues,i=a.enableID3MetadataCues;if(o||i){var n=t.samples;this.id3Track||(this.id3Track=this.createTrack(this.media));var r=Ta();if(r)for(var E=0;E<n.length;E++){var _=n[E].type;if((_!==Ea.emsg||o)&&i){var T=De(n[E].data);if(T){var s=n[E].pts,S=s+n[E].duration;S>Sa&&(S=Sa),S-s<=0&&(S=s+_a);for(var l=0;l<T.length;l++){var I=T[l];if(!me(I)){this.updateId3CueEnds(s,_);var A=sa(r,s,S,I,_);A&&this.id3Track.addCue(A)}}}}}}}},t.updateId3CueEnds=function(e,t){var a,o=null==(a=this.id3Track)?void 0:a.cues;if(o)for(var i=o.length;i--;){var n=o[i];n.type===t&&n.startTime<e&&n.endTime===Sa&&(n.endTime=e)}},t.onBufferFlushing=function(e,t){var a=t.startOffset,o=t.endOffset,i=t.type,n=this.id3Track,r=this.hls;if(r){var E=r.config,_=E.enableEmsgMetadataCues,T=E.enableID3MetadataCues;n&&(_||T)&&oa(n,a,o,"audio"===i?function(e){return e.type===Ea.audioId3&&T}:"video"===i?function(e){return e.type===Ea.emsg&&_}:function(e){return e.type===Ea.audioId3&&T||e.type===Ea.emsg&&_})}},t.onLevelUpdated=function(e,t){var a=this,o=t.details;if(this.media&&o.hasProgramDateTime&&this.hls.config.enableDateRangeMetadataCues){var i=this.dateRangeCuesAppended,n=this.id3Track,r=o.dateRanges,E=Object.keys(r);if(n)for(var _=Object.keys(i).filter((function(e){return!E.includes(e)})),T=function(){var e=_[s];Object.keys(i[e].cues).forEach((function(t){n.removeCue(i[e].cues[t])})),delete i[e]},s=_.length;s--;)T();var S=o.fragments[o.fragments.length-1];if(0!==E.length&&p(null==S?void 0:S.programDateTime)){this.id3Track||(this.id3Track=this.createTrack(this.media));for(var l=S.programDateTime/1e3-S.start,I=Ta(),A=function(){var e=E[u],t=r[e],o=la(t.startDate,l),n=i[e],_=(null==n?void 0:n.cues)||{},T=(null==n?void 0:n.durationKnown)||!1,s=Sa,S=t.endDate;if(S)s=la(S,l),T=!0;else if(t.endOnNext&&!T){var A=E.reduce((function(e,a){if(a!==t.id){var o=r[a];if(o.class===t.class&&o.startDate>t.startDate&&(!e||t.startDate<e.startDate))return o}return e}),null);A&&(s=la(A.startDate,l),T=!0)}for(var d=Object.keys(t.attr),c=0;c<d.length;c++){var O=d[c];if(V(O)){var R=_[O];if(R)T&&!n.durationKnown&&(R.endTime=s);else if(I){var N=t.attr[O];H(O)&&(N=Ia(N));var m=sa(I,o,s,{key:O,data:N},Ea.dateRange);m&&(m.id=e,a.id3Track.addCue(m),_[O]=m)}}}i[e]={cues:_,dateRange:t,durationKnown:T}},u=0;u<E.length;u++)A()}}},e})(),ua=(function(){function e(e){var t=this;this.hls=void 0,this.config=void 0,this.media=null,this.levelDetails=null,this.currentTime=0,this.stallCount=0,this._latency=null,this.timeupdateHandler=function(){return t.timeupdate()},this.hls=e,this.config=e.config,this.registerListeners()}var t=e.prototype;return t.destroy=function(){this.unregisterListeners(),this.onMediaDetaching(),this.levelDetails=null,this.hls=this.timeupdateHandler=null},t.registerListeners=function(){this.hls.on(f.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.on(f.MEDIA_DETACHING,this.onMediaDetaching,this),this.hls.on(f.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.on(f.LEVEL_UPDATED,this.onLevelUpdated,this),this.hls.on(f.ERROR,this.onError,this)},t.unregisterListeners=function(){this.hls.off(f.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.off(f.MEDIA_DETACHING,this.onMediaDetaching,this),this.hls.off(f.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.off(f.LEVEL_UPDATED,this.onLevelUpdated,this),this.hls.off(f.ERROR,this.onError,this)},t.onMediaAttached=function(e,t){this.media=t.media,this.media.addEventListener("timeupdate",this.timeupdateHandler)},t.onMediaDetaching=function(){this.media&&(this.media.removeEventListener("timeupdate",this.timeupdateHandler),this.media=null)},t.onManifestLoading=function(){this.levelDetails=null,this._latency=null,this.stallCount=0},t.onLevelUpdated=function(e,t){var a=t.details;this.levelDetails=a,a.advanced&&this.timeupdate(),!a.live&&this.media&&this.media.removeEventListener("timeupdate",this.timeupdateHandler)},t.onError=function(e,t){var a;t.details===P.BUFFER_STALLED_ERROR&&(this.stallCount++,null!=(a=this.levelDetails)&&a.live&&U.warn("[playback-rate-controller]: Stall detected, adjusting target latency"))},t.timeupdate=function(){var e=this.media,t=this.levelDetails;if(e&&t){this.currentTime=e.currentTime;var a=this.computeLatency();if(null!==a){this._latency=a;var o=this.config,i=o.lowLatencyMode,n=o.maxLiveSyncPlaybackRate;if(i&&1!==n&&t.live){var r=this.targetLatency;if(null!==r){var E=a-r;if(E<Math.min(this.maxLatency,r+t.targetduration)&&E>.05&&this.forwardBufferLength>1){var _=Math.min(2,Math.max(1,n)),T=Math.round(2/(1+Math.exp(-.75*E-this.edgeStalled))*20)/20;e.playbackRate=Math.min(_,Math.max(1,T))}else 1!==e.playbackRate&&0!==e.playbackRate&&(e.playbackRate=1)}}}}},t.estimateLiveEdge=function(){var e=this.levelDetails;return null===e?null:e.edge+e.age},t.computeLatency=function(){var e=this.estimateLiveEdge();return null===e?null:e-this.currentTime},E(e,[{key:"latency",get:function(){return this._latency||0}},{key:"maxLatency",get:function(){var e=this.config,t=this.levelDetails;return void 0!==e.liveMaxLatencyDuration?e.liveMaxLatencyDuration:t?e.liveMaxLatencyDurationCount*t.targetduration:0}},{key:"targetLatency",get:function(){var e=this.levelDetails;if(null===e)return null;var t=e.holdBack,a=e.partHoldBack,o=e.targetduration,i=this.config,n=i.liveSyncDuration,r=i.liveSyncDurationCount,E=i.lowLatencyMode,_=this.hls.userConfig,T=E&&a||t;(_.liveSyncDuration||_.liveSyncDurationCount||0===T)&&(T=void 0!==n?n:r*o);var s=o,S=1;return T+Math.min(this.stallCount*S,s)}},{key:"liveSyncPosition",get:function(){var e=this.estimateLiveEdge(),t=this.targetLatency,a=this.levelDetails;if(null===e||null===t||null===a)return null;var o=a.edge,i=e-t-this.edgeStalled,n=o-a.totalduration,r=o-(this.config.lowLatencyMode&&a.partTarget||a.targetduration);return Math.min(Math.max(n,i),r)}},{key:"drift",get:function(){var e=this.levelDetails;return null===e?1:e.drift}},{key:"edgeStalled",get:function(){var e=this.levelDetails;if(null===e)return 0;var t=3*(this.config.lowLatencyMode&&e.partTarget||e.targetduration);return Math.max(e.age-t,0)}},{key:"forwardBufferLength",get:function(){var e=this.media,t=this.levelDetails;if(!e||!t)return 0;var a=e.buffered.length;return(a?e.buffered.end(a-1):t.edge)-this.currentTime}}]),e})(),da=["NONE","TYPE-0","TYPE-1",null];function ca(e){return da.indexOf(e)>-1}var Oa=["SDR","PQ","HLG"];function Ra(e){return!!e&&Oa.indexOf(e)>-1}var Na={No:"",Yes:"YES",v2:"v2"};function ma(e,t){var a=e.canSkipUntil,o=e.canSkipDateRanges,i=e.endSN;return a&&(void 0!==t?t-i:0)<a?o?Na.v2:Na.Yes:Na.No}var La=(function(){function e(e,t,a){this.msn=void 0,this.part=void 0,this.skip=void 0,this.msn=e,this.part=t,this.skip=a}return e.prototype.addDirectives=function(e){var t=new self.URL(e);return void 0!==this.msn&&t.searchParams.set("_HLS_msn",this.msn.toString()),void 0!==this.part&&t.searchParams.set("_HLS_part",this.part.toString()),this.skip&&t.searchParams.set("_HLS_skip",this.skip),t.href},e})(),Da=(function(){function e(e){this._attrs=void 0,this.audioCodec=void 0,this.bitrate=void 0,this.codecSet=void 0,this.url=void 0,this.frameRate=void 0,this.height=void 0,this.id=void 0,this.name=void 0,this.videoCodec=void 0,this.width=void 0,this.details=void 0,this.fragmentError=0,this.loadError=0,this.loaded=void 0,this.realBitrate=0,this.supportedPromise=void 0,this.supportedResult=void 0,this._avgBitrate=0,this._audioGroups=void 0,this._subtitleGroups=void 0,this._urlId=0,this.url=[e.url],this._attrs=[e.attrs],this.bitrate=e.bitrate,e.details&&(this.details=e.details),this.id=e.id||0,this.name=e.name,this.width=e.width||0,this.height=e.height||0,this.frameRate=e.attrs.optionalFloat("FRAME-RATE",0),this._avgBitrate=e.attrs.decimalInteger("AVERAGE-BANDWIDTH"),this.audioCodec=e.audioCodec,this.videoCodec=e.videoCodec,this.codecSet=[e.videoCodec,e.audioCodec].filter((function(e){return!!e})).map((function(e){return e.substring(0,4)})).join(","),this.addGroupId("audio",e.attrs.AUDIO),this.addGroupId("text",e.attrs.SUBTITLES)}var t=e.prototype;return t.hasAudioGroup=function(e){return pa(this._audioGroups,e)},t.hasSubtitleGroup=function(e){return pa(this._subtitleGroups,e)},t.addGroupId=function(e,t){if(t)if("audio"===e){var a=this._audioGroups;a||(a=this._audioGroups=[]),-1===a.indexOf(t)&&a.push(t)}else if("text"===e){var o=this._subtitleGroups;o||(o=this._subtitleGroups=[]),-1===o.indexOf(t)&&o.push(t)}},t.addFallback=function(){},E(e,[{key:"maxBitrate",get:function(){return Math.max(this.realBitrate,this.bitrate)}},{key:"averageBitrate",get:function(){return this._avgBitrate||this.realBitrate||this.bitrate}},{key:"attrs",get:function(){return this._attrs[0]}},{key:"codecs",get:function(){return this.attrs.CODECS||""}},{key:"pathwayId",get:function(){return this.attrs["PATHWAY-ID"]||"."}},{key:"videoRange",get:function(){return this.attrs["VIDEO-RANGE"]||"SDR"}},{key:"score",get:function(){return this.attrs.optionalFloat("SCORE",0)}},{key:"uri",get:function(){return this.url[0]||""}},{key:"audioGroups",get:function(){return this._audioGroups}},{key:"subtitleGroups",get:function(){return this._subtitleGroups}},{key:"urlId",get:function(){return 0},set:function(e){}},{key:"audioGroupIds",get:function(){return this.audioGroups?[this.audioGroupId]:void 0}},{key:"textGroupIds",get:function(){return this.subtitleGroups?[this.textGroupId]:void 0}},{key:"audioGroupId",get:function(){var e;return null==(e=this.audioGroups)?void 0:e[0]}},{key:"textGroupId",get:function(){var e;return null==(e=this.subtitleGroups)?void 0:e[0]}}]),e})();function pa(e,t){return!(!t||!e)&&-1!==e.indexOf(t)}function ha(e,t){var a=t.startPTS;if(p(a)){var o,i=0;t.sn>e.sn?(i=a-e.start,o=e):(i=e.start-a,o=t),o.duration!==i&&(o.duration=i)}else t.sn>e.sn?e.cc===t.cc&&e.minEndPTS?t.start=e.start+(e.minEndPTS-e.start):t.start=e.start+e.duration:t.start=Math.max(e.start-t.duration,0)}function Ca(e,t,a,o,i,n){o-a<=0&&(U.warn("Fragment should have a positive duration",t),o=a+t.duration,n=i+t.duration);var r=a,E=o,_=t.startPTS,T=t.endPTS;if(p(_)){var s=Math.abs(_-a);p(t.deltaPTS)?t.deltaPTS=Math.max(s,t.deltaPTS):t.deltaPTS=s,r=Math.max(a,_),a=Math.min(a,_),i=Math.min(i,t.startDTS),E=Math.min(o,T),o=Math.max(o,T),n=Math.max(n,t.endDTS)}var S=a-t.start;0!==t.start&&(t.start=a),t.duration=o-t.start,t.startPTS=a,t.maxStartPTS=r,t.startDTS=i,t.endPTS=o,t.minEndPTS=E,t.endDTS=n;var l,I=t.sn;if(!e||I<e.startSN||I>e.endSN)return 0;var A=I-e.startSN,u=e.fragments;for(u[A]=t,l=A;l>0;l--)ha(u[l],u[l-1]);for(l=A;l<u.length-1;l++)ha(u[l],u[l+1]);return e.fragmentHint&&ha(u[u.length-1],e.fragmentHint),e.PTSKnown=e.alignedSliding=!0,S}function fa(e,t){for(var a=null,o=e.fragments,i=o.length-1;i>=0;i--){var n=o[i].initSegment;if(n){a=n;break}}e.fragmentHint&&delete e.fragmentHint.endPTS;var r,E=0;if(ga(e,t,(function(e,o){e.relurl&&(E=e.cc-o.cc),p(e.startPTS)&&p(e.endPTS)&&(o.start=o.startPTS=e.startPTS,o.startDTS=e.startDTS,o.maxStartPTS=e.maxStartPTS,o.endPTS=e.endPTS,o.endDTS=e.endDTS,o.minEndPTS=e.minEndPTS,o.duration=e.endPTS-e.startPTS,o.duration&&(r=o),t.PTSKnown=t.alignedSliding=!0),o.elementaryStreams=e.elementaryStreams,o.loader=e.loader,o.stats=e.stats,e.initSegment&&(o.initSegment=e.initSegment,a=e.initSegment)})),a&&(t.fragmentHint?t.fragments.concat(t.fragmentHint):t.fragments).forEach((function(e){var t;!e||e.initSegment&&e.initSegment.relurl!==(null==(t=a)?void 0:t.relurl)||(e.initSegment=a)})),t.skippedSegments)if(t.deltaUpdateFailed=t.fragments.some((function(e){return!e})),t.deltaUpdateFailed){U.warn("[level-helper] Previous playlist missing segments skipped in delta playlist");for(var _=t.skippedSegments;_--;)t.fragments.shift();t.startSN=t.fragments[0].sn,t.startCC=t.fragments[0].cc}else t.canSkipDateRanges&&(t.dateRanges=Ba(e.dateRanges,t.dateRanges,t.recentlyRemovedDateranges));var T=t.fragments;if(E){U.warn("discontinuity sliding from playlist, take drift into account");for(var s=0;s<T.length;s++)T[s].cc+=E}t.skippedSegments&&(t.startCC=t.fragments[0].cc),Pa(e.partList,t.partList,(function(e,t){t.elementaryStreams=e.elementaryStreams,t.stats=e.stats})),r?Ca(t,r,r.startPTS,r.endPTS,r.startDTS,r.endDTS):va(e,t),T.length&&(t.totalduration=t.edge-T[0].start),t.driftStartTime=e.driftStartTime,t.driftStart=e.driftStart;var S=t.advancedDateTime;if(t.advanced&&S){var l=t.edge;t.driftStart||(t.driftStartTime=S,t.driftStart=l),t.driftEndTime=S,t.driftEnd=l}else t.driftEndTime=e.driftEndTime,t.driftEnd=e.driftEnd,t.advancedDateTime=e.advancedDateTime}function Ba(e,t,a){var o=T({},e);return a&&a.forEach((function(e){delete o[e]})),Object.keys(t).forEach((function(e){var a=new w(t[e].attr,o[e]);a.isValid?o[e]=a:U.warn('Ignoring invalid Playlist Delta Update DATERANGE tag: "'+JSON.stringify(t[e].attr)+'"')})),o}function Pa(e,t,a){if(e&&t)for(var o=0,i=0,n=e.length;i<=n;i++){var r=e[i],E=t[i+o];r&&E&&r.index===E.index&&r.fragment.sn===E.fragment.sn?a(r,E):o--}}function ga(e,t,a){for(var o=t.skippedSegments,i=Math.max(e.startSN,t.startSN)-t.startSN,n=(e.fragmentHint?1:0)+(o?t.endSN:Math.min(e.endSN,t.endSN))-t.startSN,r=t.startSN-e.startSN,E=t.fragmentHint?t.fragments.concat(t.fragmentHint):t.fragments,_=e.fragmentHint?e.fragments.concat(e.fragmentHint):e.fragments,T=i;T<=n;T++){var s=_[r+T],S=E[T];o&&!S&&T<o&&(S=t.fragments[T]=s),s&&S&&a(s,S)}}function va(e,t){var a=t.startSN+t.skippedSegments-e.startSN,o=e.fragments;a<0||a>=o.length||ya(t,o[a].start)}function ya(e,t){if(t){for(var a=e.fragments,o=e.skippedSegments;o<a.length;o++)a[o].start+=t;e.fragmentHint&&(e.fragmentHint.start+=t)}}function Wa(e,t){void 0===t&&(t=1/0);var a=1e3*e.targetduration;if(e.updated){var o=e.fragments,i=4;if(o.length&&a*i>t){var n=1e3*o[o.length-1].duration;n<a&&(a=n)}}else a/=2;return Math.round(a)}function Ma(e,t,a){if(null==e||!e.details)return null;var o=e.details,i=o.fragments[t-o.startSN];return i||((i=o.fragmentHint)&&i.sn===t?i:t<o.startSN&&a&&a.sn===t?a:null)}function ba(e,t,a){var o;return null!=e&&e.details?Ua(null==(o=e.details)?void 0:o.partList,t,a):null}function Ua(e,t,a){if(e)for(var o=e.length;o--;){var i=e[o];if(i.index===a&&i.fragment.sn===t)return i}return null}function Ga(e){e.forEach((function(e,t){var a=e.details;null!=a&&a.fragments&&a.fragments.forEach((function(e){e.level=t}))}))}function ka(e){switch(e.details){case P.FRAG_LOAD_TIMEOUT:case P.KEY_LOAD_TIMEOUT:case P.LEVEL_LOAD_TIMEOUT:case P.MANIFEST_LOAD_TIMEOUT:return!0}return!1}function Fa(e,t){var a=ka(t);return e.default[(a?"timeout":"error")+"Retry"]}function Va(e,t){var a="linear"===e.backoff?1:Math.pow(2,t);return Math.min(a*e.retryDelayMs,e.maxRetryDelayMs)}function Ha(e){return o(o({},e),{errorRetry:null,timeoutRetry:null})}function wa(e,t,a,o){if(!e)return!1;var i=null==o?void 0:o.code,n=t<e.maxNumRetry&&(Ya(i)||!!a);return e.shouldRetry?e.shouldRetry(e,t,a,o,n):n}function Ya(e){return 0===e&&!1===navigator.onLine||!!e&&(e<400||e>499)}var za={search:function(e,t){for(var a=0,o=e.length-1,i=null,n=null;a<=o;){var r=t(n=e[i=(a+o)/2|0]);if(r>0)a=i+1;else{if(!(r<0))return n;o=i-1}}return null}};function Ka(e,t,a){if(null===t||!Array.isArray(e)||!e.length||!p(t))return null;if(t<(e[0].programDateTime||0))return null;if(t>=(e[e.length-1].endProgramDateTime||0))return null;a=a||0;for(var o=0;o<e.length;++o){var i=e[o];if(Qa(t,a,i))return i}return null}function xa(e,t,a,o){void 0===a&&(a=0),void 0===o&&(o=0);var i=null;if(e){i=t[e.sn-t[0].sn+1]||null;var n=e.endDTS-a;n>0&&n<15e-7&&(a+=15e-7)}else 0===a&&0===t[0].start&&(i=t[0]);if(i&&(!e||e.level===i.level)&&0===ja(a,o,i))return i;var r=za.search(t,ja.bind(null,a,o));return!r||r===e&&i?i:r}function ja(e,t,a){if(void 0===e&&(e=0),void 0===t&&(t=0),a.start<=e&&a.start+a.duration>e)return 0;var o=Math.min(t,a.duration+(a.deltaPTS?a.deltaPTS:0));return a.start+a.duration-o<=e?1:a.start-o>e&&a.start?-1:0}function Qa(e,t,a){var o=1e3*Math.min(t,a.duration+(a.deltaPTS?a.deltaPTS:0));return(a.endProgramDateTime||0)-o>e}function Xa(e,t){return za.search(e,(function(e){return e.cc<t?1:e.cc>t?-1:0}))}var $a={DoNothing:0,SendEndCallback:1,SendAlternateToPenaltyBox:2,RemoveAlternatePermanently:3,InsertDiscontinuity:4,RetryRequest:5},qa={None:0,MoveAllAlternatesMatchingHost:1,MoveAllAlternatesMatchingHDCP:2,SwitchToSDR:4},Ja=(function(){function e(e){this.hls=void 0,this.playlistError=0,this.penalizedRenditions={},this.log=void 0,this.warn=void 0,this.error=void 0,this.hls=e,this.log=U.log.bind(U,"[info]:"),this.warn=U.warn.bind(U,"[warning]:"),this.error=U.error.bind(U,"[error]:"),this.registerListeners()}var t=e.prototype;return t.registerListeners=function(){var e=this.hls;e.on(f.ERROR,this.onError,this),e.on(f.MANIFEST_LOADING,this.onManifestLoading,this),e.on(f.LEVEL_UPDATED,this.onLevelUpdated,this)},t.unregisterListeners=function(){var e=this.hls;e&&(e.off(f.ERROR,this.onError,this),e.off(f.ERROR,this.onErrorOut,this),e.off(f.MANIFEST_LOADING,this.onManifestLoading,this),e.off(f.LEVEL_UPDATED,this.onLevelUpdated,this))},t.destroy=function(){this.unregisterListeners(),this.hls=null,this.penalizedRenditions={}},t.startLoad=function(e){},t.stopLoad=function(){this.playlistError=0},t.getVariantLevelIndex=function(e){return(null==e?void 0:e.type)===$t.MAIN?e.level:this.hls.loadLevel},t.onManifestLoading=function(){this.playlistError=0,this.penalizedRenditions={}},t.onLevelUpdated=function(){this.playlistError=0},t.onError=function(e,t){var a,o;if(!t.fatal){var i=this.hls,n=t.context;switch(t.details){case P.FRAG_LOAD_ERROR:case P.FRAG_LOAD_TIMEOUT:case P.KEY_LOAD_ERROR:case P.KEY_LOAD_TIMEOUT:return void(t.errorAction=this.getFragRetryOrSwitchAction(t));case P.FRAG_PARSING_ERROR:if(null!=(a=t.frag)&&a.gap)return void(t.errorAction={action:$a.DoNothing,flags:qa.None});case P.FRAG_GAP:case P.FRAG_DECRYPT_ERROR:return t.errorAction=this.getFragRetryOrSwitchAction(t),void(t.errorAction.action=$a.SendAlternateToPenaltyBox);case P.LEVEL_EMPTY_ERROR:case P.LEVEL_PARSING_ERROR:var r,E,_=t.parent===$t.MAIN?t.level:i.loadLevel;return void(t.details===P.LEVEL_EMPTY_ERROR&&null!=(r=t.context)&&null!=(E=r.levelDetails)&&E.live?t.errorAction=this.getPlaylistRetryOrSwitchAction(t,_):(t.levelRetry=!1,t.errorAction=this.getLevelSwitchAction(t,_)));case P.LEVEL_LOAD_ERROR:case P.LEVEL_LOAD_TIMEOUT:return void("number"==typeof(null==n?void 0:n.level)&&(t.errorAction=this.getPlaylistRetryOrSwitchAction(t,n.level)));case P.AUDIO_TRACK_LOAD_ERROR:case P.AUDIO_TRACK_LOAD_TIMEOUT:case P.SUBTITLE_LOAD_ERROR:case P.SUBTITLE_TRACK_LOAD_TIMEOUT:if(n){var T=i.levels[i.loadLevel];if(T&&(n.type===Xt.AUDIO_TRACK&&T.hasAudioGroup(n.groupId)||n.type===Xt.SUBTITLE_TRACK&&T.hasSubtitleGroup(n.groupId)))return t.errorAction=this.getPlaylistRetryOrSwitchAction(t,i.loadLevel),t.errorAction.action=$a.SendAlternateToPenaltyBox,void(t.errorAction.flags=qa.MoveAllAlternatesMatchingHost)}return;case P.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED:var s=i.levels[i.loadLevel],S=null==s?void 0:s.attrs["HDCP-LEVEL"];return void(S?t.errorAction={action:$a.SendAlternateToPenaltyBox,flags:qa.MoveAllAlternatesMatchingHDCP,hdcpLevel:S}:this.keySystemError(t));case P.BUFFER_ADD_CODEC_ERROR:case P.REMUX_ALLOC_ERROR:case P.BUFFER_APPEND_ERROR:return void(t.errorAction=this.getLevelSwitchAction(t,null!=(o=t.level)?o:i.loadLevel));case P.INTERNAL_EXCEPTION:case P.BUFFER_APPENDING_ERROR:case P.BUFFER_FULL_ERROR:case P.LEVEL_SWITCH_ERROR:case P.BUFFER_STALLED_ERROR:case P.BUFFER_SEEK_OVER_HOLE:case P.BUFFER_NUDGE_ON_STALL:return void(t.errorAction={action:$a.DoNothing,flags:qa.None})}t.type===B.KEY_SYSTEM_ERROR&&this.keySystemError(t)}},t.keySystemError=function(e){var t=this.getVariantLevelIndex(e.frag);e.levelRetry=!1,e.errorAction=this.getLevelSwitchAction(e,t)},t.getPlaylistRetryOrSwitchAction=function(e,t){var a=Fa(this.hls.config.playlistLoadPolicy,e),o=this.playlistError++;if(wa(a,o,ka(e),e.response))return{action:$a.RetryRequest,flags:qa.None,retryConfig:a,retryCount:o};var i=this.getLevelSwitchAction(e,t);return a&&(i.retryConfig=a,i.retryCount=o),i},t.getFragRetryOrSwitchAction=function(e){var t=this.hls,a=this.getVariantLevelIndex(e.frag),o=t.levels[a],i=t.config,n=i.fragLoadPolicy,r=i.keyLoadPolicy,E=Fa(e.details.startsWith("key")?r:n,e),_=t.levels.reduce((function(e,t){return e+t.fragmentError}),0);if(o&&(e.details!==P.FRAG_GAP&&o.fragmentError++,wa(E,_,ka(e),e.response)))return{action:$a.RetryRequest,flags:qa.None,retryConfig:E,retryCount:_};var T=this.getLevelSwitchAction(e,a);return E&&(T.retryConfig=E,T.retryCount=_),T},t.getLevelSwitchAction=function(e,t){var a=this.hls;null==t&&(t=a.loadLevel);var o=this.hls.levels[t];if(o){var i,n,r=e.details;o.loadError++,r===P.BUFFER_APPEND_ERROR&&o.fragmentError++;var E=-1,_=a.levels,T=a.loadLevel,s=a.minAutoLevel,S=a.maxAutoLevel;a.autoLevelEnabled||(a.loadLevel=-1);for(var l,I=null==(i=e.frag)?void 0:i.type,A=(I===$t.AUDIO&&r===P.FRAG_PARSING_ERROR||"audio"===e.sourceBufferName&&(r===P.BUFFER_ADD_CODEC_ERROR||r===P.BUFFER_APPEND_ERROR))&&_.some((function(e){var t=e.audioCodec;return o.audioCodec!==t})),u="video"===e.sourceBufferName&&(r===P.BUFFER_ADD_CODEC_ERROR||r===P.BUFFER_APPEND_ERROR)&&_.some((function(e){var t=e.codecSet,a=e.audioCodec;return o.codecSet!==t&&o.audioCodec===a})),d=null!=(n=e.context)?n:{},c=d.type,O=d.groupId,R=function(){var t=(N+T)%_.length;if(t!==T&&t>=s&&t<=S&&0===_[t].loadError){var a,i,n=_[t];if(r===P.FRAG_GAP&&e.frag){var l=_[t].details;if(l){var d=xa(e.frag,l.fragments,e.frag.start);if(null!=d&&d.gap)return 0}}else{if(c===Xt.AUDIO_TRACK&&n.hasAudioGroup(O)||c===Xt.SUBTITLE_TRACK&&n.hasSubtitleGroup(O))return 0;if(I===$t.AUDIO&&null!=(a=o.audioGroups)&&a.some((function(e){return n.hasAudioGroup(e)}))||I===$t.SUBTITLE&&null!=(i=o.subtitleGroups)&&i.some((function(e){return n.hasSubtitleGroup(e)}))||A&&o.audioCodec===n.audioCodec||!A&&o.audioCodec!==n.audioCodec||u&&o.codecSet===n.codecSet)return 0}return E=t,1}},N=_.length;N--&&(0===(l=R())||1!==l););if(E>-1&&a.loadLevel!==E)return e.levelRetry=!0,this.playlistError=0,{action:$a.SendAlternateToPenaltyBox,flags:qa.None,nextAutoLevel:E}}return{action:$a.SendAlternateToPenaltyBox,flags:qa.MoveAllAlternatesMatchingHost}},t.onErrorOut=function(e,t){var a;switch(null==(a=t.errorAction)?void 0:a.action){case $a.DoNothing:break;case $a.SendAlternateToPenaltyBox:this.sendAlternateToPenaltyBox(t),t.errorAction.resolved||t.details===P.FRAG_GAP?/MediaSource readyState: ended/.test(t.error.message)&&(this.warn('MediaSource ended after "'+t.sourceBufferName+'" sourceBuffer append error. Attempting to recover from media error.'),this.hls.recoverMediaError()):t.fatal=!0}t.fatal&&this.hls.stopLoad()},t.sendAlternateToPenaltyBox=function(e){var t=this.hls,a=e.errorAction;if(a){var o=a.flags,i=a.hdcpLevel,n=a.nextAutoLevel;switch(o){case qa.None:this.switchLevel(e,n);break;case qa.MoveAllAlternatesMatchingHDCP:i&&(t.maxHdcpLevel=da[da.indexOf(i)-1],a.resolved=!0),this.warn('Restricting playback to HDCP-LEVEL of "'+t.maxHdcpLevel+'" or lower')}a.resolved||this.switchLevel(e,n)}},t.switchLevel=function(e,t){void 0!==t&&e.errorAction&&(this.warn("switching to level "+t+" after "+e.details),this.hls.nextAutoLevel=t,e.errorAction.resolved=!0,this.hls.nextLoadLevel=this.hls.nextAutoLevel)},e})(),Za=(function(){function e(e,t){this.hls=void 0,this.timer=-1,this.requestScheduled=-1,this.canLoad=!1,this.log=void 0,this.warn=void 0,this.log=U.log.bind(U,t+":"),this.warn=U.warn.bind(U,t+":"),this.hls=e}var t=e.prototype;return t.destroy=function(){this.clearTimer(),this.hls=this.log=this.warn=null},t.clearTimer=function(){-1!==this.timer&&(self.clearTimeout(this.timer),this.timer=-1)},t.startLoad=function(){this.canLoad=!0,this.requestScheduled=-1,this.loadPlaylist()},t.stopLoad=function(){this.canLoad=!1,this.clearTimer()},t.switchParams=function(e,t){var a=null==t?void 0:t.renditionReports;if(a){for(var o=-1,i=0;i<a.length;i++){var n=a[i],r=void 0;try{r=new self.URL(n.URI,t.url).href}catch(e){U.warn("Could not construct new URL for Rendition Report: "+e),r=n.URI||""}if(r===e){o=i;break}r===e.substring(0,r.length)&&(o=i)}if(-1!==o){var E=a[o],_=parseInt(E["LAST-MSN"])||(null==t?void 0:t.lastPartSn),T=parseInt(E["LAST-PART"])||(null==t?void 0:t.lastPartIndex);if(this.hls.config.lowLatencyMode){var s=Math.min(t.age-t.partTarget,t.targetduration);T>=0&&s>t.partTarget&&(T+=1)}return new La(_,T>=0?T:void 0,Na.No)}}},t.loadPlaylist=function(e){-1===this.requestScheduled&&(this.requestScheduled=self.performance.now())},t.shouldLoadPlaylist=function(e){return this.canLoad&&!!e&&!!e.url&&(!e.details||e.details.live)},t.shouldReloadPlaylist=function(e){return-1===this.timer&&-1===this.requestScheduled&&this.shouldLoadPlaylist(e)},t.playlistLoaded=function(e,t,a){var o=this,i=t.details,n=t.stats,r=self.performance.now(),E=n.loading.first?Math.max(0,r-n.loading.first):0;if(i.advancedDateTime=Date.now()-E,i.live||null!=a&&a.live){if(i.reloaded(a),a&&this.log("live playlist "+e+" "+(i.advanced?"REFRESHED "+i.lastPartSn+"-"+i.lastPartIndex:i.updated?"UPDATED":"MISSED")),a&&i.fragments.length>0&&fa(a,i),!this.canLoad||!i.live)return;var _,T=void 0,s=void 0;if(i.canBlockReload&&i.endSN&&i.advanced){var S=this.hls.config.lowLatencyMode,l=i.lastPartSn,I=i.endSN,A=i.lastPartIndex,u=l===I;-1!==A?(T=u?I+1:l,s=u?S?0:A:A+1):T=I+1;var d=i.age,c=d+i.ageHeader,O=Math.min(c-i.partTarget,1.5*i.targetduration);if(O>0){if(a&&O>a.tuneInGoal)this.warn("CDN Tune-in goal increased from: "+a.tuneInGoal+" to: "+O+" with playlist age: "+i.age),O=0;else{var R=Math.floor(O/i.targetduration);T+=R,void 0!==s&&(s+=Math.round(O%i.targetduration/i.partTarget)),this.log("CDN Tune-in age: "+i.ageHeader+"s last advanced "+d.toFixed(2)+"s goal: "+O+" skip sn "+R+" to part "+s)}i.tuneInGoal=O}if(_=this.getDeliveryDirectives(i,t.deliveryDirectives,T,s),S||!u)return void this.loadPlaylist(_)}else(i.canBlockReload||i.canSkipUntil)&&(_=this.getDeliveryDirectives(i,t.deliveryDirectives,T,s));var N=this.hls.mainForwardBufferInfo,m=N?N.end-N.len:0,L=Wa(i,1e3*(i.edge-m));i.updated&&r>this.requestScheduled+L&&(this.requestScheduled=n.loading.start),void 0!==T&&i.canBlockReload?this.requestScheduled=n.loading.first+L-(1e3*i.partTarget||1e3):-1===this.requestScheduled||this.requestScheduled+L<r?this.requestScheduled=r:this.requestScheduled-r<=0&&(this.requestScheduled+=L);var D=this.requestScheduled-r;D=Math.max(0,D),this.log("reload live playlist "+e+" in "+Math.round(D)+" ms"),this.timer=self.setTimeout((function(){return o.loadPlaylist(_)}),D)}else this.clearTimer()},t.getDeliveryDirectives=function(e,t,a,o){var i=ma(e,a);return null!=t&&t.skip&&e.deltaUpdateFailed&&(a=t.msn,o=t.part,i=Na.No),new La(a,o,i)},t.checkRetry=function(e){var t=this,a=e.details,o=ka(e),i=e.errorAction,n=i||{},r=n.action,E=n.retryCount,_=void 0===E?0:E,T=n.retryConfig,s=!!i&&!!T&&(r===$a.RetryRequest||!i.resolved&&r===$a.SendAlternateToPenaltyBox);if(s){var S;if(this.requestScheduled=-1,_>=T.maxNumRetry)return!1;if(o&&null!=(S=e.context)&&S.deliveryDirectives)this.warn("Retrying playlist loading "+(_+1)+"/"+T.maxNumRetry+' after "'+a+'" without delivery-directives'),this.loadPlaylist();else{var l=Va(T,_);this.timer=self.setTimeout((function(){return t.loadPlaylist()}),l),this.warn("Retrying playlist loading "+(_+1)+"/"+T.maxNumRetry+' after "'+a+'" in '+l+"ms")}e.levelRetry=!0,i.resolved=!0}return s},e})(),eo=(function(){function e(e,t,a){void 0===t&&(t=0),void 0===a&&(a=0),this.halfLife=void 0,this.alpha_=void 0,this.estimate_=void 0,this.totalWeight_=void 0,this.halfLife=e,this.alpha_=e?Math.exp(Math.log(.5)/e):0,this.estimate_=t,this.totalWeight_=a}var t=e.prototype;return t.sample=function(e,t){var a=Math.pow(this.alpha_,e);this.estimate_=t*(1-a)+a*this.estimate_,this.totalWeight_+=e},t.getTotalWeight=function(){return this.totalWeight_},t.getEstimate=function(){if(this.alpha_){var e=1-Math.pow(this.alpha_,this.totalWeight_);if(e)return this.estimate_/e}return this.estimate_},e})(),to=(function(){function e(e,t,a,o){void 0===o&&(o=100),this.defaultEstimate_=void 0,this.minWeight_=void 0,this.minDelayMs_=void 0,this.slow_=void 0,this.fast_=void 0,this.defaultTTFB_=void 0,this.ttfb_=void 0,this.defaultEstimate_=a,this.minWeight_=.001,this.minDelayMs_=50,this.slow_=new eo(e),this.fast_=new eo(t),this.defaultTTFB_=o,this.ttfb_=new eo(e)}var t=e.prototype;return t.update=function(e,t){var a=this.slow_,o=this.fast_,i=this.ttfb_;a.halfLife!==e&&(this.slow_=new eo(e,a.getEstimate(),a.getTotalWeight())),o.halfLife!==t&&(this.fast_=new eo(t,o.getEstimate(),o.getTotalWeight())),i.halfLife!==e&&(this.ttfb_=new eo(e,i.getEstimate(),i.getTotalWeight()))},t.sample=function(e,t){var a=(e=Math.max(e,this.minDelayMs_))/1e3,o=8*t/a;this.fast_.sample(a,o),this.slow_.sample(a,o)},t.sampleTTFB=function(e){var t=e/1e3,a=Math.sqrt(2)*Math.exp(-Math.pow(t,2)/2);this.ttfb_.sample(a,Math.max(e,5))},t.canEstimate=function(){return this.fast_.getTotalWeight()>=this.minWeight_},t.getEstimate=function(){return this.canEstimate()?Math.min(this.fast_.getEstimate(),this.slow_.getEstimate()):this.defaultEstimate_},t.getEstimateTTFB=function(){return this.ttfb_.getTotalWeight()>=this.minWeight_?this.ttfb_.getEstimate():this.defaultTTFB_},t.destroy=function(){},e})(),ao={supported:!0,configurations:[],decodingInfoResults:[{supported:!0,powerEfficient:!0,smooth:!0}]},oo={};function io(e,t,a,o,i,n){var r=e.audioCodec?e.audioGroups:null,E=null==n?void 0:n.audioCodec,_=null==n?void 0:n.channels,T=_?parseInt(_):E?1/0:2,s=null;if(null!=r&&r.length)try{s=1===r.length&&r[0]?t.groups[r[0]].channels:r.reduce((function(e,a){if(a){var o=t.groups[a];if(!o)throw new Error("Audio track group "+a+" not found");Object.keys(o.channels).forEach((function(t){e[t]=(e[t]||0)+o.channels[t]}))}return e}),{2:0})}catch(e){return!0}return void 0!==e.videoCodec&&(e.width>1920&&e.height>1088||e.height>1920&&e.width>1088||e.frameRate>Math.max(o,30)||"SDR"!==e.videoRange&&e.videoRange!==a||e.bitrate>Math.max(i,8e6))||!!s&&p(T)&&Object.keys(s).some((function(e){return parseInt(e)>T}))}function no(e,t,a){var i=e.videoCodec,n=e.audioCodec;if(!i||!n||!a)return Promise.resolve(ao);var r={width:e.width,height:e.height,bitrate:Math.ceil(Math.max(.9*e.bitrate,e.averageBitrate)),framerate:e.frameRate||30},E=e.videoRange;"SDR"!==E&&(r.transferFunction=E.toLowerCase());var _=i.split(",").map((function(e){return{type:"media-source",video:o(o({},r),{},{contentType:Ct(e,"video")})}}));return n&&e.audioGroups&&e.audioGroups.forEach((function(e){var a;e&&(null==(a=t.groups[e])||a.tracks.forEach((function(t){if(t.groupId===e){var a=t.channels||"",o=parseFloat(a);p(o)&&o>2&&_.push.apply(_,n.split(",").map((function(e){return{type:"media-source",audio:{contentType:Ct(e,"audio"),channels:""+o}}})))}})))})),Promise.all(_.map((function(e){var t=ro(e);return oo[t]||(oo[t]=a.decodingInfo(e))}))).then((function(e){return{supported:!e.some((function(e){return!e.supported})),configurations:_,decodingInfoResults:e}})).catch((function(e){return{supported:!1,configurations:_,decodingInfoResults:[],error:e}}))}function ro(e){var t=e.audio,a=e.video,o=a||t;if(o){var i=o.contentType.split('"')[1];if(a)return"r"+a.height+"x"+a.width+"f"+Math.ceil(a.framerate)+(a.transferFunction||"sd")+"_"+i+"_"+Math.ceil(a.bitrate/1e5);if(t)return"c"+t.channels+(t.spatialRendering?"s":"n")+"_"+i}return""}function Eo(){if("function"==typeof matchMedia){var e=matchMedia("(dynamic-range: high)"),t=matchMedia("bad query");if(e.media!==t.media)return!0===e.matches}return!1}function _o(e,t){var a=!1,o=[];return e&&(a="SDR"!==e,o=[e]),t&&(o=t.allowedVideoRanges||Oa.slice(0),o=(a=void 0!==t.preferHDR?t.preferHDR:Eo())?o.filter((function(e){return"SDR"!==e})):["SDR"]),{preferHDR:a,allowedVideoRanges:o}}function To(e,t,a,o,i){for(var n=Object.keys(e),r=null==o?void 0:o.channels,E=null==o?void 0:o.audioCodec,_=r&&2===parseInt(r),T=!0,s=!1,S=1/0,l=1/0,I=1/0,A=0,u=[],d=_o(t,i),c=d.preferHDR,O=d.allowedVideoRanges,R=function(){var t=e[n[N]];T=t.channels[2]>0,S=Math.min(S,t.minHeight),l=Math.min(l,t.minFramerate),I=Math.min(I,t.minBitrate);var a=O.filter((function(e){return t.videoRanges[e]>0}));a.length>0&&(s=!0,u=a)},N=n.length;N--;)R();S=p(S)?S:0,l=p(l)?l:0;var m=Math.max(1080,S),L=Math.max(30,l);return I=p(I)?I:a,a=Math.max(I,a),s||(t=void 0,u=[]),{codecSet:n.reduce((function(t,o){var i=e[o];if(o===t)return t;if(i.minBitrate>a)return so(o,"min bitrate of "+i.minBitrate+" > current estimate of "+a),t;if(!i.hasDefaultAudio)return so(o,"no renditions with default or auto-select sound found"),t;if(E&&o.indexOf(E.substring(0,4))%5!=0)return so(o,'audio codec preference "'+E+'" not found'),t;if(r&&!_){if(!i.channels[r])return so(o,"no renditions with "+r+" channel sound found (channels options: "+Object.keys(i.channels)+")"),t}else if((!E||_)&&T&&0===i.channels[2])return so(o,"no renditions with stereo sound found"),t;return i.minHeight>m?(so(o,"min resolution of "+i.minHeight+" > maximum of "+m),t):i.minFramerate>L?(so(o,"min framerate of "+i.minFramerate+" > maximum of "+L),t):u.some((function(e){return i.videoRanges[e]>0}))?i.maxScore<A?(so(o,"max score of "+i.maxScore+" < selected max of "+A),t):t&&(Bt(o)>=Bt(t)||i.fragmentError>e[t].fragmentError)?t:(A=i.maxScore,o):(so(o,"no variants with VIDEO-RANGE of "+JSON.stringify(u)+" found"),t)}),void 0),videoRanges:u,preferHDR:c,minFramerate:l,minBitrate:I}}function so(e,t){U.log('[abr] start candidates with "'+e+'" ignored because '+t)}function So(e){return e.reduce((function(e,t){var a=e.groups[t.groupId];a||(a=e.groups[t.groupId]={tracks:[],channels:{2:0},hasDefault:!1,hasAutoSelect:!1}),a.tracks.push(t);var o=t.channels||"2";return a.channels[o]=(a.channels[o]||0)+1,a.hasDefault=a.hasDefault||t.default,a.hasAutoSelect=a.hasAutoSelect||t.autoselect,a.hasDefault&&(e.hasDefaultAudio=!0),a.hasAutoSelect&&(e.hasAutoSelectAudio=!0),e}),{hasDefaultAudio:!1,hasAutoSelectAudio:!1,groups:{}})}function lo(e,t,a,o){return e.slice(a,o+1).reduce((function(e,a){if(!a.codecSet)return e;var o=a.audioGroups,i=e[a.codecSet];i||(e[a.codecSet]=i={minBitrate:1/0,minHeight:1/0,minFramerate:1/0,maxScore:0,videoRanges:{SDR:0},channels:{2:0},hasDefaultAudio:!o,fragmentError:0}),i.minBitrate=Math.min(i.minBitrate,a.bitrate);var n=Math.min(a.height,a.width);return i.minHeight=Math.min(i.minHeight,n),i.minFramerate=Math.min(i.minFramerate,a.frameRate),i.maxScore=Math.max(i.maxScore,a.score),i.fragmentError+=a.fragmentError,i.videoRanges[a.videoRange]=(i.videoRanges[a.videoRange]||0)+1,o&&o.forEach((function(e){if(e){var a=t.groups[e];i.hasDefaultAudio=i.hasDefaultAudio||t.hasDefaultAudio?a.hasDefault:a.hasAutoSelect||!t.hasDefaultAudio&&!t.hasAutoSelectAudio,Object.keys(a.channels).forEach((function(e){i.channels[e]=(i.channels[e]||0)+a.channels[e]}))}})),e}),{})}function Io(e,t,a){if("attrs"in e){var o=t.indexOf(e);if(-1!==o)return o}for(var i=0;i<t.length;i++)if(Ao(e,t[i],a))return i;return-1}function Ao(e,t,a){var o=e.groupId,i=e.name,n=e.lang,r=e.assocLang,E=e.characteristics,_=e.default,T=e.forced;return(void 0===o||t.groupId===o)&&(void 0===i||t.name===i)&&(void 0===n||t.lang===n)&&(void 0===n||t.assocLang===r)&&(void 0===_||t.default===_)&&(void 0===T||t.forced===T)&&(void 0===E||uo(E,t.characteristics))&&(void 0===a||a(e,t))}function uo(e,t){void 0===t&&(t="");var a=e.split(","),o=t.split(",");return a.length===o.length&&!a.some((function(e){return-1===o.indexOf(e)}))}function co(e,t){var a=e.audioCodec,o=e.channels;return!(void 0!==a&&(t.audioCodec||"").substring(0,4)!==a.substring(0,4)||void 0!==o&&o!==(t.channels||"2"))}function Oo(e,t,a,o,i){var n=t[o],r=t.reduce((function(e,t,a){var o=t.uri;return(e[o]||(e[o]=[])).push(a),e}),{})[n.uri];r.length>1&&(o=Math.max.apply(Math,r));var E=n.videoRange,_=n.frameRate,T=n.codecSet.substring(0,4),s=Ro(t,o,(function(t){if(t.videoRange!==E||t.frameRate!==_||t.codecSet.substring(0,4)!==T)return!1;var o=t.audioGroups,n=a.filter((function(e){return!o||-1!==o.indexOf(e.groupId)}));return Io(e,n,i)>-1}));return s>-1?s:Ro(t,o,(function(t){var o=t.audioGroups,n=a.filter((function(e){return!o||-1!==o.indexOf(e.groupId)}));return Io(e,n,i)>-1}))}function Ro(e,t,a){for(var o=t;o;o--)if(a(e[o]))return o;for(var i=t+1;i<e.length;i++)if(a(e[i]))return i;return-1}var No=(function(){function e(e){var t=this;this.hls=void 0,this.lastLevelLoadSec=0,this.lastLoadedFragLevel=-1,this.firstSelection=-1,this._nextAutoLevel=-1,this.nextAutoLevelKey="",this.audioTracksByGroup=null,this.codecTiers=null,this.timer=-1,this.fragCurrent=null,this.partCurrent=null,this.bitrateTestDelay=0,this.bwEstimator=void 0,this._abandonRulesCheck=function(){var e=t.fragCurrent,a=t.partCurrent,o=t.hls,i=o.autoLevelEnabled,n=o.media;if(e&&n){var r=performance.now(),E=a?a.stats:e.stats,_=a?a.duration:e.duration,T=r-E.loading.start,s=o.minAutoLevel;if(E.aborted||E.loaded&&E.loaded===E.total||e.level<=s)return t.clearTimer(),void(t._nextAutoLevel=-1);if(i&&!n.paused&&n.playbackRate&&n.readyState){var S=o.mainForwardBufferInfo;if(null!==S){var l=t.bwEstimator.getEstimateTTFB(),I=Math.abs(n.playbackRate);if(!(T<=Math.max(l,_/(2*I)*1e3))){var A=S.len/I,u=E.loading.first?E.loading.first-E.loading.start:-1,d=E.loaded&&u>-1,c=t.getBwEstimate(),O=o.levels,R=O[e.level],N=E.total||Math.max(E.loaded,Math.round(_*R.averageBitrate/8)),m=d?T-u:T;m<1&&d&&(m=Math.min(T,8*E.loaded/c));var L=d?1e3*E.loaded/m:0,D=L?(N-E.loaded)/L:8*N/c+l/1e3;if(!(D<=A)){var h,C=L?8*L:c,B=Number.POSITIVE_INFINITY;for(h=e.level-1;h>s;h--){var P=O[h].maxBitrate;if((B=t.getTimeToLoadFrag(l/1e3,C,_*P,!O[h].details))<A)break}if(!(B>=D||B>10*_)){o.nextLoadLevel=o.nextAutoLevel=h,d?t.bwEstimator.sample(T-Math.min(l,u),E.loaded):t.bwEstimator.sampleTTFB(T);var g=O[h].maxBitrate;t.getBwEstimate()*t.hls.config.abrBandWidthUpFactor>g&&t.resetEstimator(g),t.clearTimer(),U.warn("[abr] Fragment "+e.sn+(a?" part "+a.index:"")+" of level "+e.level+" is loading too slowly;\n Time to underbuffer: "+A.toFixed(3)+" s\n Estimated load time for current fragment: "+D.toFixed(3)+" s\n Estimated load time for down switch fragment: "+B.toFixed(3)+" s\n TTFB estimate: "+(0|u)+" ms\n Current BW estimate: "+(p(c)?0|c:"Unknown")+" bps\n New BW estimate: "+(0|t.getBwEstimate())+" bps\n Switching to level "+h+" @ "+(0|g)+" bps"),o.trigger(f.FRAG_LOAD_EMERGENCY_ABORTED,{frag:e,part:a,stats:E})}}}}}}},this.hls=e,this.bwEstimator=this.initEstimator(),this.registerListeners()}var t=e.prototype;return t.resetEstimator=function(e){e&&(U.log("setting initial bwe to "+e),this.hls.config.abrEwmaDefaultEstimate=e),this.firstSelection=-1,this.bwEstimator=this.initEstimator()},t.initEstimator=function(){var e=this.hls.config;return new to(e.abrEwmaSlowVoD,e.abrEwmaFastVoD,e.abrEwmaDefaultEstimate)},t.registerListeners=function(){var e=this.hls;e.on(f.MANIFEST_LOADING,this.onManifestLoading,this),e.on(f.FRAG_LOADING,this.onFragLoading,this),e.on(f.FRAG_LOADED,this.onFragLoaded,this),e.on(f.FRAG_BUFFERED,this.onFragBuffered,this),e.on(f.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(f.LEVEL_LOADED,this.onLevelLoaded,this),e.on(f.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(f.MAX_AUTO_LEVEL_UPDATED,this.onMaxAutoLevelUpdated,this),e.on(f.ERROR,this.onError,this)},t.unregisterListeners=function(){var e=this.hls;e&&(e.off(f.MANIFEST_LOADING,this.onManifestLoading,this),e.off(f.FRAG_LOADING,this.onFragLoading,this),e.off(f.FRAG_LOADED,this.onFragLoaded,this),e.off(f.FRAG_BUFFERED,this.onFragBuffered,this),e.off(f.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(f.LEVEL_LOADED,this.onLevelLoaded,this),e.off(f.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(f.MAX_AUTO_LEVEL_UPDATED,this.onMaxAutoLevelUpdated,this),e.off(f.ERROR,this.onError,this))},t.destroy=function(){this.unregisterListeners(),this.clearTimer(),this.hls=this._abandonRulesCheck=null,this.fragCurrent=this.partCurrent=null},t.onManifestLoading=function(e,t){this.lastLoadedFragLevel=-1,this.firstSelection=-1,this.lastLevelLoadSec=0,this.fragCurrent=this.partCurrent=null,this.onLevelsUpdated(),this.clearTimer()},t.onLevelsUpdated=function(){this.lastLoadedFragLevel>-1&&this.fragCurrent&&(this.lastLoadedFragLevel=this.fragCurrent.level),this._nextAutoLevel=-1,this.onMaxAutoLevelUpdated(),this.codecTiers=null,this.audioTracksByGroup=null},t.onMaxAutoLevelUpdated=function(){this.firstSelection=-1,this.nextAutoLevelKey=""},t.onFragLoading=function(e,t){var a,o=t.frag;this.ignoreFragment(o)||(o.bitrateTest||(this.fragCurrent=o,this.partCurrent=null!=(a=t.part)?a:null),this.clearTimer(),this.timer=self.setInterval(this._abandonRulesCheck,100))},t.onLevelSwitching=function(e,t){this.clearTimer()},t.onError=function(e,t){if(!t.fatal)switch(t.details){case P.BUFFER_ADD_CODEC_ERROR:case P.BUFFER_APPEND_ERROR:this.lastLoadedFragLevel=-1,this.firstSelection=-1;break;case P.FRAG_LOAD_TIMEOUT:var a=t.frag,o=this.fragCurrent,i=this.partCurrent;if(a&&o&&a.sn===o.sn&&a.level===o.level){var n=performance.now(),r=i?i.stats:a.stats,E=n-r.loading.start,_=r.loading.first?r.loading.first-r.loading.start:-1;if(r.loaded&&_>-1){var T=this.bwEstimator.getEstimateTTFB();this.bwEstimator.sample(E-Math.min(T,_),r.loaded)}else this.bwEstimator.sampleTTFB(E)}}},t.getTimeToLoadFrag=function(e,t,a,o){return e+a/t+(o?this.lastLevelLoadSec:0)},t.onLevelLoaded=function(e,t){var a=this.hls.config,o=t.stats.loading,i=o.end-o.start;p(i)&&(this.lastLevelLoadSec=i/1e3),t.details.live?this.bwEstimator.update(a.abrEwmaSlowLive,a.abrEwmaFastLive):this.bwEstimator.update(a.abrEwmaSlowVoD,a.abrEwmaFastVoD)},t.onFragLoaded=function(e,t){var a=t.frag,o=t.part,i=o?o.stats:a.stats;if(a.type===$t.MAIN&&this.bwEstimator.sampleTTFB(i.loading.first-i.loading.start),!this.ignoreFragment(a)){if(this.clearTimer(),a.level===this._nextAutoLevel&&(this._nextAutoLevel=-1),this.firstSelection=-1,this.hls.config.abrMaxWithRealBitrate){var n=o?o.duration:a.duration,r=this.hls.levels[a.level],E=(r.loaded?r.loaded.bytes:0)+i.loaded,_=(r.loaded?r.loaded.duration:0)+n;r.loaded={bytes:E,duration:_},r.realBitrate=Math.round(8*E/_)}if(a.bitrateTest){var T={stats:i,frag:a,part:o,id:a.type};this.onFragBuffered(f.FRAG_BUFFERED,T),a.bitrateTest=!1}else this.lastLoadedFragLevel=a.level}},t.onFragBuffered=function(e,t){var a=t.frag,o=t.part,i=null!=o&&o.stats.loaded?o.stats:a.stats;if(!i.aborted&&!this.ignoreFragment(a)){var n=i.parsing.end-i.loading.start-Math.min(i.loading.first-i.loading.start,this.bwEstimator.getEstimateTTFB());this.bwEstimator.sample(n,i.loaded),i.bwEstimate=this.getBwEstimate(),a.bitrateTest?this.bitrateTestDelay=n/1e3:this.bitrateTestDelay=0}},t.ignoreFragment=function(e){return e.type!==$t.MAIN||"initSegment"===e.sn},t.clearTimer=function(){this.timer>-1&&(self.clearInterval(this.timer),this.timer=-1)},t.getAutoLevelKey=function(){var e;return this.getBwEstimate()+"_"+(null==(e=this.hls.mainForwardBufferInfo)?void 0:e.len)},t.getNextABRAutoLevel=function(){var e=this.fragCurrent,t=this.partCurrent,a=this.hls,o=a.maxAutoLevel,i=a.config,n=a.minAutoLevel,r=a.media,E=t?t.duration:e?e.duration:0,_=r&&0!==r.playbackRate?Math.abs(r.playbackRate):1,T=this.getBwEstimate(),s=a.mainForwardBufferInfo,S=(s?s.len:0)/_,l=i.abrBandWidthFactor,I=i.abrBandWidthUpFactor;if(S){var A=this.findBestLevel(T,n,o,S,0,l,I);if(A>=0)return A}var u=E?Math.min(E,i.maxStarvationDelay):i.maxStarvationDelay;if(!S){var d=this.bitrateTestDelay;d&&(u=(E?Math.min(E,i.maxLoadingDelay):i.maxLoadingDelay)-d,U.info("[abr] bitrate test took "+Math.round(1e3*d)+"ms, set first fragment max fetchDuration to "+Math.round(1e3*u)+" ms"),l=I=1)}var c=this.findBestLevel(T,n,o,S,u,l,I);if(U.info("[abr] "+(S?"rebuffering expected":"buffer is empty")+", optimal quality level "+c),c>-1)return c;var O=a.levels[n],R=a.levels[a.loadLevel];return(null==O?void 0:O.bitrate)<(null==R?void 0:R.bitrate)?n:a.loadLevel},t.getBwEstimate=function(){return this.bwEstimator.canEstimate()?this.bwEstimator.getEstimate():this.hls.config.abrEwmaDefaultEstimate},t.findBestLevel=function(e,t,a,o,i,n,r){var E,_=this,T=o+i,s=this.lastLoadedFragLevel,S=-1===s?this.hls.firstLevel:s,l=this.fragCurrent,I=this.partCurrent,A=this.hls,u=A.levels,d=A.allAudioTracks,c=A.loadLevel,O=A.config;if(1===u.length)return 0;var R,N=u[S],m=!(null==N||null==(E=N.details)||!E.live),L=-1===c||-1===s,D="SDR",h=(null==N?void 0:N.frameRate)||0,C=O.audioPreference,f=O.videoPreference,B=this.audioTracksByGroup||(this.audioTracksByGroup=So(d));if(L){if(-1!==this.firstSelection)return this.firstSelection;var P=To(this.codecTiers||(this.codecTiers=lo(u,B,t,a)),D,e,C,f),g=P.codecSet,v=P.videoRanges,y=P.minFramerate,W=P.minBitrate,M=P.preferHDR;R=g,D=M?v[v.length-1]:v[0],h=y,e=Math.max(e,W),U.log("[abr] picked start tier "+JSON.stringify(P))}else R=null==N?void 0:N.codecSet,D=null==N?void 0:N.videoRange;for(var b,G=I?I.duration:l?l.duration:0,k=this.bwEstimator.getEstimateTTFB()/1e3,F=[],V=function(){var t,E=u[H],l=H>S;if(!E)return 0;if(O.useMediaCapabilities&&!E.supportedResult&&!E.supportedPromise){var A=navigator.mediaCapabilities;"function"==typeof(null==A?void 0:A.decodingInfo)&&io(E,B,D,h,e,C)?(E.supportedPromise=no(E,B,A),E.supportedPromise.then((function(e){E.supportedResult=e;var t=_.hls.levels,a=t.indexOf(E);e.error?U.warn('[abr] MediaCapabilities decodingInfo error: "'+e.error+'" for level '+a+" "+JSON.stringify(e)):e.supported||(U.warn("[abr] Unsupported MediaCapabilities decodingInfo result for level "+a+" "+JSON.stringify(e)),a>-1&&t.length>1&&(U.log("[abr] Removing unsupported level "+a),_.hls.removeLevel(a)))}))):E.supportedResult=ao}if(R&&E.codecSet!==R||D&&E.videoRange!==D||l&&h>E.frameRate||!l&&h>0&&h<E.frameRate||E.supportedResult&&(null==(t=E.supportedResult.decodingInfoResults)||!t[0].smooth))return F.push(H),0;var d,f=E.details,P=(I?null==f?void 0:f.partTarget:null==f?void 0:f.averagetargetduration)||G;d=l?r*e:n*e;var g=G&&o>=2*G&&0===i?u[H].averageBitrate:u[H].maxBitrate,v=_.getTimeToLoadFrag(k,d,g*P,void 0===f);if(d>=g&&(H===s||0===E.loadError&&0===E.fragmentError)&&(v<=k||!p(v)||m&&!_.bitrateTestDelay||v<T)){var y=_.forcedAutoLevel;return H===c||-1!==y&&y===c||(F.length&&U.trace("[abr] Skipped level(s) "+F.join(",")+" of "+a+' max with CODECS and VIDEO-RANGE:"'+u[F[0]].codecs+'" '+u[F[0]].videoRange+'; not compatible with "'+N.codecs+'" '+D),U.info("[abr] switch candidate:"+S+"->"+H+" adjustedbw("+Math.round(d)+")-bitrate="+Math.round(d-g)+" ttfb:"+k.toFixed(1)+" avgDuration:"+P.toFixed(1)+" maxFetchDuration:"+T.toFixed(1)+" fetchDuration:"+v.toFixed(1)+" firstSelection:"+L+" codecSet:"+R+" videoRange:"+D+" hls.loadLevel:"+c)),L&&(_.firstSelection=H),{v:H}}},H=a;H>=t;H--)if(0!==(b=V())&&b)return b.v;return-1},E(e,[{key:"firstAutoLevel",get:function(){var e=this.hls,t=e.maxAutoLevel,a=e.minAutoLevel,o=this.getBwEstimate(),i=this.hls.config.maxStarvationDelay,n=this.findBestLevel(o,a,t,0,i,1,1);if(n>-1)return n;var r=this.hls.firstLevel,E=Math.min(Math.max(r,a),t);return U.warn("[abr] Could not find best starting auto level. Defaulting to first in playlist "+r+" clamped to "+E),E}},{key:"forcedAutoLevel",get:function(){return this.nextAutoLevelKey?-1:this._nextAutoLevel}},{key:"nextAutoLevel",get:function(){var e=this.forcedAutoLevel,t=this.bwEstimator.canEstimate(),a=this.lastLoadedFragLevel>-1;if(!(-1===e||t&&a&&this.nextAutoLevelKey!==this.getAutoLevelKey()))return e;var o=t&&a?this.getNextABRAutoLevel():this.firstAutoLevel;if(-1!==e){var i=this.hls.levels;if(i.length>Math.max(e,o)&&i[e].loadError<=i[o].loadError)return e}return this._nextAutoLevel=o,this.nextAutoLevelKey=this.getAutoLevelKey(),o},set:function(e){var t=this.hls,a=t.maxAutoLevel,o=t.minAutoLevel,i=Math.min(Math.max(e,o),a);this._nextAutoLevel!==i&&(this.nextAutoLevelKey="",this._nextAutoLevel=i)}}]),e})(),mo=(function(){function e(){this._boundTick=void 0,this._tickTimer=null,this._tickInterval=null,this._tickCallCount=0,this._boundTick=this.tick.bind(this)}var t=e.prototype;return t.destroy=function(){this.onHandlerDestroying(),this.onHandlerDestroyed()},t.onHandlerDestroying=function(){this.clearNextTick(),this.clearInterval()},t.onHandlerDestroyed=function(){},t.hasInterval=function(){return!!this._tickInterval},t.hasNextTick=function(){return!!this._tickTimer},t.setInterval=function(e){return!this._tickInterval&&(this._tickCallCount=0,this._tickInterval=self.setInterval(this._boundTick,e),!0)},t.clearInterval=function(){return!!this._tickInterval&&(self.clearInterval(this._tickInterval),this._tickInterval=null,!0)},t.clearNextTick=function(){return!!this._tickTimer&&(self.clearTimeout(this._tickTimer),this._tickTimer=null,!0)},t.tick=function(){this._tickCallCount++,1===this._tickCallCount&&(this.doTick(),this._tickCallCount>1&&this.tickImmediate(),this._tickCallCount=0)},t.tickImmediate=function(){this.clearNextTick(),this._tickTimer=self.setTimeout(this._boundTick,0)},t.doTick=function(){},e})(),Lo={NOT_LOADED:"NOT_LOADED",APPENDING:"APPENDING",PARTIAL:"PARTIAL",OK:"OK"},Do=(function(){function e(e){this.activePartLists=Object.create(null),this.endListFragments=Object.create(null),this.fragments=Object.create(null),this.timeRanges=Object.create(null),this.bufferPadding=.2,this.hls=void 0,this.hasGaps=!1,this.hls=e,this._registerListeners()}var t=e.prototype;return t._registerListeners=function(){var e=this.hls;e.on(f.BUFFER_APPENDED,this.onBufferAppended,this),e.on(f.FRAG_BUFFERED,this.onFragBuffered,this),e.on(f.FRAG_LOADED,this.onFragLoaded,this)},t._unregisterListeners=function(){var e=this.hls;e.off(f.BUFFER_APPENDED,this.onBufferAppended,this),e.off(f.FRAG_BUFFERED,this.onFragBuffered,this),e.off(f.FRAG_LOADED,this.onFragLoaded,this)},t.destroy=function(){this._unregisterListeners(),this.fragments=this.activePartLists=this.endListFragments=this.timeRanges=null},t.getAppendedFrag=function(e,t){var a=this.activePartLists[t];if(a)for(var o=a.length;o--;){var i=a[o];if(!i)break;var n=i.end;if(i.start<=e&&null!==n&&e<=n)return i}return this.getBufferedFrag(e,t)},t.getBufferedFrag=function(e,t){for(var a=this.fragments,o=Object.keys(a),i=o.length;i--;){var n=a[o[i]];if((null==n?void 0:n.body.type)===t&&n.buffered){var r=n.body;if(r.start<=e&&e<=r.end)return r}}return null},t.detectEvictedFragments=function(e,t,a,o){var i=this;this.timeRanges&&(this.timeRanges[e]=t);var n=(null==o?void 0:o.fragment.sn)||-1;Object.keys(this.fragments).forEach((function(o){var r=i.fragments[o];if(r&&!(n>=r.body.sn))if(r.buffered||r.loaded){var E=r.range[e];E&&E.time.some((function(e){var a=!i.isTimeBuffered(e.startPTS,e.endPTS,t);return a&&i.removeFragment(r.body),a}))}else r.body.type===a&&i.removeFragment(r.body)}))},t.detectPartialFragments=function(e){var t=this,a=this.timeRanges,o=e.frag,i=e.part;if(a&&"initSegment"!==o.sn){var n=ho(o),r=this.fragments[n];if(!(!r||r.buffered&&o.gap)){var E=!o.relurl;Object.keys(a).forEach((function(e){var n=o.elementaryStreams[e];if(n){var _=a[e],T=E||!0===n.partial;r.range[e]=t.getBufferedTimes(o,i,T,_)}})),r.loaded=null,Object.keys(r.range).length?(r.buffered=!0,(r.body.endList=o.endList||r.body.endList)&&(this.endListFragments[r.body.type]=r),po(r)||this.removeParts(o.sn-1,o.type)):this.removeFragment(r.body)}}},t.removeParts=function(e,t){var a=this.activePartLists[t];a&&(this.activePartLists[t]=a.filter((function(t){return t.fragment.sn>=e})))},t.fragBuffered=function(e,t){var a=ho(e),o=this.fragments[a];!o&&t&&(o=this.fragments[a]={body:e,appendedPTS:null,loaded:null,buffered:!1,range:Object.create(null)},e.gap&&(this.hasGaps=!0)),o&&(o.loaded=null,o.buffered=!0)},t.getBufferedTimes=function(e,t,a,o){for(var i={time:[],partial:a},n=e.start,r=e.end,E=e.minEndPTS||r,_=e.maxStartPTS||n,T=0;T<o.length;T++){var s=o.start(T)-this.bufferPadding,S=o.end(T)+this.bufferPadding;if(_>=s&&E<=S){i.time.push({startPTS:Math.max(n,o.start(T)),endPTS:Math.min(r,o.end(T))});break}if(n<S&&r>s){var l=Math.max(n,o.start(T)),I=Math.min(r,o.end(T));I>l&&(i.partial=!0,i.time.push({startPTS:l,endPTS:I}))}else if(r<=s)break}return i},t.getPartialFragment=function(e){var t,a,o,i=null,n=0,r=this.bufferPadding,E=this.fragments;return Object.keys(E).forEach((function(_){var T=E[_];T&&po(T)&&(a=T.body.start-r,o=T.body.end+r,e>=a&&e<=o&&(t=Math.min(e-a,o-e),n<=t&&(i=T.body,n=t)))})),i},t.isEndListAppended=function(e){var t=this.endListFragments[e];return void 0!==t&&(t.buffered||po(t))},t.getState=function(e){var t=ho(e),a=this.fragments[t];return a?a.buffered?po(a)?Lo.PARTIAL:Lo.OK:Lo.APPENDING:Lo.NOT_LOADED},t.isTimeBuffered=function(e,t,a){for(var o,i,n=0;n<a.length;n++){if(o=a.start(n)-this.bufferPadding,i=a.end(n)+this.bufferPadding,e>=o&&t<=i)return!0;if(t<=o)return!1}return!1},t.onFragLoaded=function(e,t){var a=t.frag,o=t.part;if("initSegment"!==a.sn&&!a.bitrateTest){var i=o?null:t,n=ho(a);this.fragments[n]={body:a,appendedPTS:null,loaded:i,buffered:!1,range:Object.create(null)}}},t.onBufferAppended=function(e,t){var a=this,o=t.frag,i=t.part,n=t.timeRanges;if("initSegment"!==o.sn){var r=o.type;if(i){var E=this.activePartLists[r];E||(this.activePartLists[r]=E=[]),E.push(i)}this.timeRanges=n,Object.keys(n).forEach((function(e){var t=n[e];a.detectEvictedFragments(e,t,r,i)}))}},t.onFragBuffered=function(e,t){this.detectPartialFragments(t)},t.hasFragment=function(e){var t=ho(e);return!!this.fragments[t]},t.hasParts=function(e){var t;return!(null==(t=this.activePartLists[e])||!t.length)},t.removeFragmentsInRange=function(e,t,a,o,i){var n=this;o&&!this.hasGaps||Object.keys(this.fragments).forEach((function(r){var E=n.fragments[r];if(E){var _=E.body;_.type!==a||o&&!_.gap||_.start<t&&_.end>e&&(E.buffered||i)&&n.removeFragment(_)}}))},t.removeFragment=function(e){var t=ho(e);e.stats.loaded=0,e.clearElementaryStreamInfo();var a=this.activePartLists[e.type];if(a){var o=e.sn;this.activePartLists[e.type]=a.filter((function(e){return e.fragment.sn!==o}))}delete this.fragments[t],e.endList&&delete this.endListFragments[e.type]},t.removeAllFragments=function(){this.fragments=Object.create(null),this.endListFragments=Object.create(null),this.activePartLists=Object.create(null),this.hasGaps=!1},e})();function po(e){var t,a,o;return e.buffered&&(e.body.gap||(null==(t=e.range.video)?void 0:t.partial)||(null==(a=e.range.audio)?void 0:a.partial)||(null==(o=e.range.audiovideo)?void 0:o.partial))}function ho(e){return e.type+"_"+e.level+"_"+e.sn}var Co={length:0,start:function(){return 0},end:function(){return 0}},fo=(function(){function e(){}return e.isBuffered=function(t,a){try{if(t)for(var o=e.getBuffered(t),i=0;i<o.length;i++)if(a>=o.start(i)&&a<=o.end(i))return!0}catch(e){}return!1},e.bufferInfo=function(t,a,o){try{if(t){var i,n=e.getBuffered(t),r=[];for(i=0;i<n.length;i++)r.push({start:n.start(i),end:n.end(i)});return this.bufferedInfo(r,a,o)}}catch(e){}return{len:0,start:a,end:a,nextStart:void 0}},e.bufferedInfo=function(e,t,a){t=Math.max(0,t),e.sort((function(e,t){var a=e.start-t.start;return a||t.end-e.end}));var o=[];if(a)for(var i=0;i<e.length;i++){var n=o.length;if(n){var r=o[n-1].end;e[i].start-r<a?e[i].end>r&&(o[n-1].end=e[i].end):o.push(e[i])}else o.push(e[i])}else o=e;for(var E,_=0,T=t,s=t,S=0;S<o.length;S++){var l=o[S].start,I=o[S].end;if(t+a>=l&&t<I)T=l,_=(s=I)-t;else if(t+a<l){E=l;break}}return{len:_,start:T||0,end:s||0,nextStart:E}},e.getBuffered=function(e){try{return e.buffered}catch(e){return U.log("failed to get media.buffered",e),Co}},e})(),Bo=function(e,t,a,o,i,n){void 0===o&&(o=0),void 0===i&&(i=-1),void 0===n&&(n=!1),this.level=void 0,this.sn=void 0,this.part=void 0,this.id=void 0,this.size=void 0,this.partial=void 0,this.transmuxing=Po(),this.buffering={audio:Po(),video:Po(),audiovideo:Po()},this.level=e,this.sn=t,this.id=a,this.size=o,this.part=i,this.partial=n};function Po(){return{start:0,executeStart:0,executeEnd:0,end:0}}function go(e,t){for(var a=0,o=e.length;a<o;a++){var i;if((null==(i=e[a])?void 0:i.cc)===t)return e[a]}return null}function vo(e,t,a){return!(!t||!(a.endCC>a.startCC||e&&e.cc<a.startCC))}function yo(e,t){var a=e.fragments,o=t.fragments;if(o.length&&a.length){var i=go(a,o[0].cc);if(i&&(!i||i.startPTS))return i;U.log("No frag in previous level to align on")}else U.log("No fragments to align")}function Wo(e,t){if(e){var a=e.start+t;e.start=e.startPTS=a,e.endPTS=a+e.duration}}function Mo(e,t){for(var a=t.fragments,o=0,i=a.length;o<i;o++)Wo(a[o],e);t.fragmentHint&&Wo(t.fragmentHint,e),t.alignedSliding=!0}function bo(e,t,a){t&&(Uo(e,a,t),!a.alignedSliding&&t&&Go(a,t),a.alignedSliding||!t||a.skippedSegments||va(t,a))}function Uo(e,t,a){if(vo(e,a,t)){var o=yo(a,t);o&&p(o.start)&&(U.log("Adjusting PTS using last level due to CC increase within current level "+t.url),Mo(o.start,t))}}function Go(e,t){if(e.hasProgramDateTime&&t.hasProgramDateTime){var a=e.fragments,o=t.fragments;if(a.length&&o.length){var i,n,r=Math.min(t.endCC,e.endCC);t.startCC<r&&e.startCC<r&&(i=go(o,r),n=go(a,r)),i&&n||(n=go(a,(i=o[Math.floor(o.length/2)]).cc)||a[Math.floor(a.length/2)]);var E=i.programDateTime,_=n.programDateTime;E&&_&&Mo((_-E)/1e3-(n.start-i.start),e)}}}var ko=Math.pow(2,17),Fo=(function(){function e(e){this.config=void 0,this.loader=null,this.partLoadTimeout=-1,this.config=e}var t=e.prototype;return t.destroy=function(){this.loader&&(this.loader.destroy(),this.loader=null)},t.abort=function(){this.loader&&this.loader.abort()},t.load=function(e,t){var a=this,i=e.url;if(!i)return Promise.reject(new wo({type:B.NETWORK_ERROR,details:P.FRAG_LOAD_ERROR,fatal:!1,frag:e,error:new Error("Fragment does not have a "+(i?"part list":"url")),networkDetails:null}));this.abort();var n=this.config,r=n.fLoader,E=n.loader;return new Promise((function(_,T){if(a.loader&&a.loader.destroy(),e.gap){if(e.tagList.some((function(e){return"GAP"===e[0]})))return void T(Ho(e));e.gap=!1}var s=a.loader=e.loader=r?new r(n):new E(n),S=Vo(e),l=Ha(n.fragLoadPolicy.default),I={loadPolicy:l,timeout:l.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:"initSegment"===e.sn?1/0:ko};e.stats=s.stats,s.load(S,I,{onSuccess:function(t,o,i,n){a.resetLoader(e,s);var r=t.data;i.resetIV&&e.decryptdata&&(e.decryptdata.iv=new Uint8Array(r.slice(0,16)),r=r.slice(16)),_({frag:e,part:null,payload:r,networkDetails:n})},onError:function(t,n,r,E){a.resetLoader(e,s),T(new wo({type:B.NETWORK_ERROR,details:P.FRAG_LOAD_ERROR,fatal:!1,frag:e,response:o({url:i,data:void 0},t),error:new Error("HTTP Error "+t.code+" "+t.text),networkDetails:r,stats:E}))},onAbort:function(t,o,i){a.resetLoader(e,s),T(new wo({type:B.NETWORK_ERROR,details:P.INTERNAL_ABORTED,fatal:!1,frag:e,error:new Error("Aborted"),networkDetails:i,stats:t}))},onTimeout:function(t,o,i){a.resetLoader(e,s),T(new wo({type:B.NETWORK_ERROR,details:P.FRAG_LOAD_TIMEOUT,fatal:!1,frag:e,error:new Error("Timeout after "+I.timeout+"ms"),networkDetails:i,stats:t}))},onProgress:function(a,o,i,n){t&&t({frag:e,part:null,payload:i,networkDetails:n})}})}))},t.loadPart=function(e,t,a){var i=this;this.abort();var n=this.config,r=n.fLoader,E=n.loader;return new Promise((function(_,T){if(i.loader&&i.loader.destroy(),e.gap||t.gap)T(Ho(e,t));else{var s=i.loader=e.loader=r?new r(n):new E(n),S=Vo(e,t),l=Ha(n.fragLoadPolicy.default),I={loadPolicy:l,timeout:l.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:ko};t.stats=s.stats,s.load(S,I,{onSuccess:function(o,n,r,E){i.resetLoader(e,s),i.updateStatsFromPart(e,t);var T={frag:e,part:t,payload:o.data,networkDetails:E};a(T),_(T)},onError:function(a,n,r,E){i.resetLoader(e,s),T(new wo({type:B.NETWORK_ERROR,details:P.FRAG_LOAD_ERROR,fatal:!1,frag:e,part:t,response:o({url:S.url,data:void 0},a),error:new Error("HTTP Error "+a.code+" "+a.text),networkDetails:r,stats:E}))},onAbort:function(a,o,n){e.stats.aborted=t.stats.aborted,i.resetLoader(e,s),T(new wo({type:B.NETWORK_ERROR,details:P.INTERNAL_ABORTED,fatal:!1,frag:e,part:t,error:new Error("Aborted"),networkDetails:n,stats:a}))},onTimeout:function(a,o,n){i.resetLoader(e,s),T(new wo({type:B.NETWORK_ERROR,details:P.FRAG_LOAD_TIMEOUT,fatal:!1,frag:e,part:t,error:new Error("Timeout after "+I.timeout+"ms"),networkDetails:n,stats:a}))}})}}))},t.updateStatsFromPart=function(e,t){var a=e.stats,o=t.stats,i=o.total;if(a.loaded+=o.loaded,i){var n=Math.round(e.duration/t.duration),r=Math.min(Math.round(a.loaded/i),n),E=(n-r)*Math.round(a.loaded/r);a.total=a.loaded+E}else a.total=Math.max(a.loaded,a.total);var _=a.loading,T=o.loading;_.start?_.first+=T.first-T.start:(_.start=T.start,_.first=T.first),_.end=T.end},t.resetLoader=function(e,t){e.loader=null,this.loader===t&&(self.clearTimeout(this.partLoadTimeout),this.loader=null),t.destroy()},e})();function Vo(e,t){void 0===t&&(t=null);var a=t||e,o={frag:e,part:t,responseType:"arraybuffer",url:a.url,headers:{},rangeStart:0,rangeEnd:0},i=a.byteRangeStartOffset,n=a.byteRangeEndOffset;if(p(i)&&p(n)){var r,E=i,_=n;if("initSegment"===e.sn&&"AES-128"===(null==(r=e.decryptdata)?void 0:r.method)){var T=n-i;T%16&&(_=n+(16-T%16)),0!==i&&(o.resetIV=!0,E=i-16)}o.rangeStart=E,o.rangeEnd=_}return o}function Ho(e,t){var a=new Error("GAP "+(e.gap?"tag":"attribute")+" found"),o={type:B.MEDIA_ERROR,details:P.FRAG_GAP,fatal:!1,frag:e,error:a,networkDetails:null};return t&&(o.part=t),(t||e).stats.aborted=!0,new wo(o)}var wo=(function(e){function t(t){var a;return(a=e.call(this,t.error.message)||this).data=void 0,a.data=t,a}return s(t,e),t})(d(Error)),Yo=(function(){function e(e,t){this.subtle=void 0,this.aesIV=void 0,this.subtle=e,this.aesIV=t}return e.prototype.decrypt=function(e,t){return this.subtle.decrypt({name:"AES-CBC",iv:this.aesIV},t,e)},e})(),zo=(function(){function e(e,t){this.subtle=void 0,this.key=void 0,this.subtle=e,this.key=t}return e.prototype.expandKey=function(){return this.subtle.importKey("raw",this.key,{name:"AES-CBC"},!1,["encrypt","decrypt"])},e})();function Ko(e){var t=e.byteLength,a=t&&new DataView(e.buffer).getUint8(t-1);return a?Ie(e,0,t-a):e}var xo=(function(){function e(){this.rcon=[0,1,2,4,8,16,32,64,128,27,54],this.subMix=[new Uint32Array(256),new Uint32Array(256),new Uint32Array(256),new Uint32Array(256)],this.invSubMix=[new Uint32Array(256),new Uint32Array(256),new Uint32Array(256),new Uint32Array(256)],this.sBox=new Uint32Array(256),this.invSBox=new Uint32Array(256),this.key=new Uint32Array(0),this.ksRows=0,this.keySize=0,this.keySchedule=void 0,this.invKeySchedule=void 0,this.initTable()}var t=e.prototype;return t.uint8ArrayToUint32Array_=function(e){for(var t=new DataView(e),a=new Uint32Array(4),o=0;o<4;o++)a[o]=t.getUint32(4*o);return a},t.initTable=function(){var e=this.sBox,t=this.invSBox,a=this.subMix,o=a[0],i=a[1],n=a[2],r=a[3],E=this.invSubMix,_=E[0],T=E[1],s=E[2],S=E[3],l=new Uint32Array(256),I=0,A=0,u=0;for(u=0;u<256;u++)l[u]=u<128?u<<1:u<<1^283;for(u=0;u<256;u++){var d=A^A<<1^A<<2^A<<3^A<<4;d=d>>>8^255&d^99,e[I]=d,t[d]=I;var c=l[I],O=l[c],R=l[O],N=257*l[d]^16843008*d;o[I]=N<<24|N>>>8,i[I]=N<<16|N>>>16,n[I]=N<<8|N>>>24,r[I]=N,N=16843009*R^65537*O^257*c^16843008*I,_[d]=N<<24|N>>>8,T[d]=N<<16|N>>>16,s[d]=N<<8|N>>>24,S[d]=N,I?(I=c^l[l[l[R^c]]],A^=l[l[A]]):I=A=1}},t.expandKey=function(e){for(var t=this.uint8ArrayToUint32Array_(e),a=!0,o=0;o<t.length&&a;)a=t[o]===this.key[o],o++;if(!a){this.key=t;var i=this.keySize=t.length;if(4!==i&&6!==i&&8!==i)throw new Error("Invalid aes key size="+i);var n,r,E,_,T=this.ksRows=4*(i+6+1),s=this.keySchedule=new Uint32Array(T),S=this.invKeySchedule=new Uint32Array(T),l=this.sBox,I=this.rcon,A=this.invSubMix,u=A[0],d=A[1],c=A[2],O=A[3];for(n=0;n<T;n++)n<i?E=s[n]=t[n]:(_=E,n%i==0?(_=l[(_=_<<8|_>>>24)>>>24]<<24|l[_>>>16&255]<<16|l[_>>>8&255]<<8|l[255&_],_^=I[n/i|0]<<24):i>6&&n%i==4&&(_=l[_>>>24]<<24|l[_>>>16&255]<<16|l[_>>>8&255]<<8|l[255&_]),s[n]=E=(s[n-i]^_)>>>0);for(r=0;r<T;r++)n=T-r,_=3&r?s[n]:s[n-4],S[r]=r<4||n<=4?_:u[l[_>>>24]]^d[l[_>>>16&255]]^c[l[_>>>8&255]]^O[l[255&_]],S[r]=S[r]>>>0}},t.networkToHostOrderSwap=function(e){return e<<24|(65280&e)<<8|(16711680&e)>>8|e>>>24},t.decrypt=function(e,t,a){for(var o,i,n,r,E,_,T,s,S,l,I,A,u,d,c=this.keySize+6,O=this.invKeySchedule,R=this.invSBox,N=this.invSubMix,m=N[0],L=N[1],D=N[2],p=N[3],h=this.uint8ArrayToUint32Array_(a),C=h[0],f=h[1],B=h[2],P=h[3],g=new Int32Array(e),v=new Int32Array(g.length),y=this.networkToHostOrderSwap;t<g.length;){for(S=y(g[t]),l=y(g[t+1]),I=y(g[t+2]),A=y(g[t+3]),E=S^O[0],_=A^O[1],T=I^O[2],s=l^O[3],u=4,d=1;d<c;d++)o=m[E>>>24]^L[_>>16&255]^D[T>>8&255]^p[255&s]^O[u],i=m[_>>>24]^L[T>>16&255]^D[s>>8&255]^p[255&E]^O[u+1],n=m[T>>>24]^L[s>>16&255]^D[E>>8&255]^p[255&_]^O[u+2],r=m[s>>>24]^L[E>>16&255]^D[_>>8&255]^p[255&T]^O[u+3],E=o,_=i,T=n,s=r,u+=4;o=R[E>>>24]<<24^R[_>>16&255]<<16^R[T>>8&255]<<8^R[255&s]^O[u],i=R[_>>>24]<<24^R[T>>16&255]<<16^R[s>>8&255]<<8^R[255&E]^O[u+1],n=R[T>>>24]<<24^R[s>>16&255]<<16^R[E>>8&255]<<8^R[255&_]^O[u+2],r=R[s>>>24]<<24^R[E>>16&255]<<16^R[_>>8&255]<<8^R[255&T]^O[u+3],v[t]=y(o^C),v[t+1]=y(r^f),v[t+2]=y(n^B),v[t+3]=y(i^P),C=S,f=l,B=I,P=A,t+=4}return v.buffer},e})(),jo=16,Qo=(function(){function e(e,t){var a=(void 0===t?{}:t).removePKCS7Padding,o=void 0===a||a;if(this.logEnabled=!0,this.removePKCS7Padding=void 0,this.subtle=null,this.softwareDecrypter=null,this.key=null,this.fastAesKey=null,this.remainderData=null,this.currentIV=null,this.currentResult=null,this.useSoftware=void 0,this.useSoftware=e.enableSoftwareAES,this.removePKCS7Padding=o,o)try{var i=self.crypto;i&&(this.subtle=i.subtle||i.webkitSubtle)}catch(e){}null===this.subtle&&(this.useSoftware=!0)}var t=e.prototype;return t.destroy=function(){this.subtle=null,this.softwareDecrypter=null,this.key=null,this.fastAesKey=null,this.remainderData=null,this.currentIV=null,this.currentResult=null},t.isSync=function(){return this.useSoftware},t.flush=function(){var e=this.currentResult,t=this.remainderData;if(!e||t)return this.reset(),null;var a=new Uint8Array(e);return this.reset(),this.removePKCS7Padding?Ko(a):a},t.reset=function(){this.currentResult=null,this.currentIV=null,this.remainderData=null,this.softwareDecrypter&&(this.softwareDecrypter=null)},t.decrypt=function(e,t,a){var o=this;return this.useSoftware?new Promise((function(i,n){o.softwareDecrypt(new Uint8Array(e),t,a);var r=o.flush();r?i(r.buffer):n(new Error("[softwareDecrypt] Failed to decrypt data"))})):this.webCryptoDecrypt(new Uint8Array(e),t,a)},t.softwareDecrypt=function(e,t,a){var o=this.currentIV,i=this.currentResult,n=this.remainderData;this.logOnce("JS AES decrypt"),n&&(e=at(n,e),this.remainderData=null);var r=this.getValidChunk(e);if(!r.length)return null;o&&(a=o);var E=this.softwareDecrypter;E||(E=this.softwareDecrypter=new xo),E.expandKey(t);var _=i;return this.currentResult=E.decrypt(r.buffer,0,a),this.currentIV=Ie(r,-16).buffer,_||null},t.webCryptoDecrypt=function(e,t,a){var o=this,i=this.subtle;return this.key===t&&this.fastAesKey||(this.key=t,this.fastAesKey=new zo(i,t)),this.fastAesKey.expandKey().then((function(t){return i?(o.logOnce("WebCrypto AES decrypt"),new Yo(i,new Uint8Array(a)).decrypt(e.buffer,t)):Promise.reject(new Error("web crypto not initialized"))})).catch((function(i){return U.warn("[decrypter]: WebCrypto Error, disable WebCrypto API, "+i.name+": "+i.message),o.onWebCryptoError(e,t,a)}))},t.onWebCryptoError=function(e,t,a){this.useSoftware=!0,this.logEnabled=!0,this.softwareDecrypt(e,t,a);var o=this.flush();if(o)return o.buffer;throw new Error("WebCrypto and softwareDecrypt: failed to decrypt data")},t.getValidChunk=function(e){var t=e,a=e.length-e.length%jo;return a!==e.length&&(t=Ie(e,0,a),this.remainderData=Ie(e,a)),t},t.logOnce=function(e){this.logEnabled&&(U.log("[decrypter]: "+e),this.logEnabled=!1)},e})(),Xo={toString:function(e){for(var t="",a=e.length,o=0;o<a;o++)t+="["+e.start(o).toFixed(3)+"-"+e.end(o).toFixed(3)+"]";return t}},$o={STOPPED:"STOPPED",IDLE:"IDLE",KEY_LOADING:"KEY_LOADING",FRAG_LOADING:"FRAG_LOADING",FRAG_LOADING_WAITING_RETRY:"FRAG_LOADING_WAITING_RETRY",WAITING_TRACK:"WAITING_TRACK",PARSING:"PARSING",PARSED:"PARSED",ENDED:"ENDED",ERROR:"ERROR",WAITING_INIT_PTS:"WAITING_INIT_PTS",WAITING_LEVEL:"WAITING_LEVEL"},qo=(function(e){function t(t,a,o,i,n){var r;return(r=e.call(this)||this).hls=void 0,r.fragPrevious=null,r.fragCurrent=null,r.fragmentTracker=void 0,r.transmuxer=null,r._state=$o.STOPPED,r.playlistType=void 0,r.media=null,r.mediaBuffer=null,r.config=void 0,r.bitrateTest=!1,r.lastCurrentTime=0,r.nextLoadPosition=0,r.startPosition=0,r.startTimeOffset=null,r.loadedmetadata=!1,r.retryDate=0,r.levels=null,r.fragmentLoader=void 0,r.keyLoader=void 0,r.levelLastLoaded=null,r.startFragRequested=!1,r.decrypter=void 0,r.initPTS=[],r.onvseeking=null,r.onvended=null,r.logPrefix="",r.log=void 0,r.warn=void 0,r.playlistType=n,r.logPrefix=i,r.log=U.log.bind(U,i+":"),r.warn=U.warn.bind(U,i+":"),r.hls=t,r.fragmentLoader=new Fo(t.config),r.keyLoader=o,r.fragmentTracker=a,r.config=t.config,r.decrypter=new Qo(t.config),t.on(f.MANIFEST_LOADED,r.onManifestLoaded,c(r)),r}s(t,e);var a=t.prototype;return a.doTick=function(){this.onTickEnd()},a.onTickEnd=function(){},a.startLoad=function(e){},a.stopLoad=function(){this.fragmentLoader.abort(),this.keyLoader.abort(this.playlistType);var e=this.fragCurrent;null!=e&&e.loader&&(e.abortRequests(),this.fragmentTracker.removeFragment(e)),this.resetTransmuxer(),this.fragCurrent=null,this.fragPrevious=null,this.clearInterval(),this.clearNextTick(),this.state=$o.STOPPED},a._streamEnded=function(e,t){if(t.live||e.nextStart||!e.end||!this.media)return!1;var a=t.partList;if(null!=a&&a.length){var o=a[a.length-1];return fo.isBuffered(this.media,o.start+o.duration/2)}var i=t.fragments[t.fragments.length-1].type;return this.fragmentTracker.isEndListAppended(i)},a.getLevelDetails=function(){var e;if(this.levels&&null!==this.levelLastLoaded)return null==(e=this.levelLastLoaded)?void 0:e.details},a.onMediaAttached=function(e,t){var a=this.media=this.mediaBuffer=t.media;this.onvseeking=this.onMediaSeeking.bind(this),this.onvended=this.onMediaEnded.bind(this),a.addEventListener("seeking",this.onvseeking),a.addEventListener("ended",this.onvended);var o=this.config;this.levels&&o.autoStartLoad&&this.state===$o.STOPPED&&this.startLoad(o.startPosition)},a.onMediaDetaching=function(){var e=this.media;null!=e&&e.ended&&(this.log("MSE detaching and video ended, reset startPosition"),this.startPosition=this.lastCurrentTime=0),e&&this.onvseeking&&this.onvended&&(e.removeEventListener("seeking",this.onvseeking),e.removeEventListener("ended",this.onvended),this.onvseeking=this.onvended=null),this.keyLoader&&this.keyLoader.detach(),this.media=this.mediaBuffer=null,this.loadedmetadata=!1,this.fragmentTracker.removeAllFragments(),this.stopLoad()},a.onMediaSeeking=function(){var e=this.config,t=this.fragCurrent,a=this.media,o=this.mediaBuffer,i=this.state,n=a?a.currentTime:0,r=fo.bufferInfo(o||a,n,e.maxBufferHole);if(this.log("media seeking to "+(p(n)?n.toFixed(3):n)+", state: "+i),this.state===$o.ENDED)this.resetLoadingState();else if(t){var E=e.maxFragLookUpTolerance,_=t.start-E,T=t.start+t.duration+E;if(!r.len||T<r.start||_>r.end){var s=n>T;(n<_||s)&&(s&&t.loader&&(this.log("seeking outside of buffer while fragment load in progress, cancel fragment load"),t.abortRequests(),this.resetLoadingState()),this.fragPrevious=null)}}a&&(this.fragmentTracker.removeFragmentsInRange(n,1/0,this.playlistType,!0),this.lastCurrentTime=n),this.loadedmetadata||r.len||(this.nextLoadPosition=this.startPosition=n),this.tickImmediate()},a.onMediaEnded=function(){this.startPosition=this.lastCurrentTime=0},a.onManifestLoaded=function(e,t){this.startTimeOffset=t.startTimeOffset,this.initPTS=[]},a.onHandlerDestroying=function(){this.hls.off(f.MANIFEST_LOADED,this.onManifestLoaded,this),this.stopLoad(),e.prototype.onHandlerDestroying.call(this),this.hls=null},a.onHandlerDestroyed=function(){this.state=$o.STOPPED,this.fragmentLoader&&this.fragmentLoader.destroy(),this.keyLoader&&this.keyLoader.destroy(),this.decrypter&&this.decrypter.destroy(),this.hls=this.log=this.warn=this.decrypter=this.keyLoader=this.fragmentLoader=this.fragmentTracker=null,e.prototype.onHandlerDestroyed.call(this)},a.loadFragment=function(e,t,a){this._loadFragForPlayback(e,t,a)},a._loadFragForPlayback=function(e,t,a){var o=this,i=function(t){if(o.fragContextChanged(e))return o.warn("Fragment "+e.sn+(t.part?" p: "+t.part.index:"")+" of level "+e.level+" was dropped during download."),void o.fragmentTracker.removeFragment(e);e.stats.chunkCount++,o._handleFragmentLoadProgress(t)};this._doFragLoad(e,t,a,i).then((function(t){if(t){var a=o.state;o.fragContextChanged(e)?(a===$o.FRAG_LOADING||!o.fragCurrent&&a===$o.PARSING)&&(o.fragmentTracker.removeFragment(e),o.state=$o.IDLE):("payload"in t&&(o.log("Loaded fragment "+e.sn+" of level "+e.level),o.hls.trigger(f.FRAG_LOADED,t)),o._handleFragmentLoadComplete(t))}})).catch((function(t){o.state!==$o.STOPPED&&o.state!==$o.ERROR&&(o.warn(t),o.resetFragmentLoading(e))}))},a.clearTrackerIfNeeded=function(e){var t,a=this.fragmentTracker;if(a.getState(e)===Lo.APPENDING){var o=e.type,i=this.getFwdBufferInfo(this.mediaBuffer,o),n=Math.max(e.duration,i?i.len:this.config.maxBufferLength);this.reduceMaxBufferLength(n)&&a.removeFragment(e)}else 0===(null==(t=this.mediaBuffer)?void 0:t.buffered.length)?a.removeAllFragments():a.hasParts(e.type)&&(a.detectPartialFragments({frag:e,part:null,stats:e.stats,id:e.type}),a.getState(e)===Lo.PARTIAL&&a.removeFragment(e))},a.checkLiveUpdate=function(e){if(e.updated&&!e.live){var t=e.fragments[e.fragments.length-1];this.fragmentTracker.detectPartialFragments({frag:t,part:null,stats:t.stats,id:t.type})}e.fragments[0]||(e.deltaUpdateFailed=!0)},a.flushMainBuffer=function(e,t,a){if(void 0===a&&(a=null),e-t){var o={startOffset:e,endOffset:t,type:a};this.hls.trigger(f.BUFFER_FLUSHING,o)}},a._loadInitSegment=function(e,t){var a=this;this._doFragLoad(e,t).then((function(t){if(!t||a.fragContextChanged(e)||!a.levels)throw new Error("init load aborted");return t})).then((function(t){var o=a.hls,i=t.payload,n=e.decryptdata;if(i&&i.byteLength>0&&null!=n&&n.key&&n.iv&&"AES-128"===n.method){var r=self.performance.now();return a.decrypter.decrypt(new Uint8Array(i),n.key.buffer,n.iv.buffer).catch((function(t){throw o.trigger(f.ERROR,{type:B.MEDIA_ERROR,details:P.FRAG_DECRYPT_ERROR,fatal:!1,error:t,reason:t.message,frag:e}),t})).then((function(i){var n=self.performance.now();return o.trigger(f.FRAG_DECRYPTED,{frag:e,payload:i,stats:{tstart:r,tdecrypt:n}}),t.payload=i,a.completeInitSegmentLoad(t)}))}return a.completeInitSegmentLoad(t)})).catch((function(t){a.state!==$o.STOPPED&&a.state!==$o.ERROR&&(a.warn(t),a.resetFragmentLoading(e))}))},a.completeInitSegmentLoad=function(e){if(!this.levels)throw new Error("init load aborted, missing levels");var t=e.frag.stats;this.state=$o.IDLE,e.frag.data=new Uint8Array(e.payload),t.parsing.start=t.buffering.start=self.performance.now(),t.parsing.end=t.buffering.end=self.performance.now(),this.tick()},a.fragContextChanged=function(e){var t=this.fragCurrent;return!e||!t||e.sn!==t.sn||e.level!==t.level},a.fragBufferedComplete=function(e,t){var a,o,i,n,r=this.mediaBuffer?this.mediaBuffer:this.media;if(this.log("Buffered "+e.type+" sn: "+e.sn+(t?" part: "+t.index:"")+" of "+(this.playlistType===$t.MAIN?"level":"track")+" "+e.level+" (frag:["+(null!=(a=e.startPTS)?a:NaN).toFixed(3)+"-"+(null!=(o=e.endPTS)?o:NaN).toFixed(3)+"] > buffer:"+(r?Xo.toString(fo.getBuffered(r)):"(detached)")+")"),"initSegment"!==e.sn){var E;if(e.type!==$t.SUBTITLE){var _=e.elementaryStreams;if(!Object.keys(_).some((function(e){return!!_[e]})))return void(this.state=$o.IDLE)}var T=null==(E=this.levels)?void 0:E[e.level];null!=T&&T.fragmentError&&(this.log("Resetting level fragment error count of "+T.fragmentError+" on frag buffered"),T.fragmentError=0)}this.state=$o.IDLE,r&&(!this.loadedmetadata&&e.type==$t.MAIN&&r.buffered.length&&(null==(i=this.fragCurrent)?void 0:i.sn)===(null==(n=this.fragPrevious)?void 0:n.sn)&&(this.loadedmetadata=!0,this.seekToStartPos()),this.tick())},a.seekToStartPos=function(){},a._handleFragmentLoadComplete=function(e){var t=this.transmuxer;if(t){var a=e.frag,o=e.part,i=e.partsLoaded,n=!i||0===i.length||i.some((function(e){return!e})),r=new Bo(a.level,a.sn,a.stats.chunkCount+1,0,o?o.index:-1,!n);t.flush(r)}},a._handleFragmentLoadProgress=function(e){},a._doFragLoad=function(e,t,a,o){var i,n=this;void 0===a&&(a=null);var r=null==t?void 0:t.details;if(!this.levels||!r)throw new Error("frag load aborted, missing level"+(r?"":" detail")+"s");var E=null;if(!e.encrypted||null!=(i=e.decryptdata)&&i.key?!e.encrypted&&r.encryptedFragments.length&&this.keyLoader.loadClear(e,r.encryptedFragments):(this.log("Loading key for "+e.sn+" of ["+r.startSN+"-"+r.endSN+"], "+("[stream-controller]"===this.logPrefix?"level":"track")+" "+e.level),this.state=$o.KEY_LOADING,this.fragCurrent=e,E=this.keyLoader.load(e).then((function(e){if(!n.fragContextChanged(e.frag))return n.hls.trigger(f.KEY_LOADED,e),n.state===$o.KEY_LOADING&&(n.state=$o.IDLE),e})),this.hls.trigger(f.KEY_LOADING,{frag:e}),null===this.fragCurrent&&(E=Promise.reject(new Error("frag load aborted, context changed in KEY_LOADING")))),a=Math.max(e.start,a||0),this.config.lowLatencyMode&&"initSegment"!==e.sn){var _=r.partList;if(_&&o){a>e.end&&r.fragmentHint&&(e=r.fragmentHint);var T=this.getNextPart(_,e,a);if(T>-1){var s,S=_[T];return this.log("Loading part sn: "+e.sn+" p: "+S.index+" cc: "+e.cc+" of playlist ["+r.startSN+"-"+r.endSN+"] parts [0-"+T+"-"+(_.length-1)+"] "+("[stream-controller]"===this.logPrefix?"level":"track")+": "+e.level+", target: "+parseFloat(a.toFixed(3))),this.nextLoadPosition=S.start+S.duration,this.state=$o.FRAG_LOADING,s=E?E.then((function(a){return!a||n.fragContextChanged(a.frag)?null:n.doFragPartsLoad(e,S,t,o)})).catch((function(e){return n.handleFragLoadError(e)})):this.doFragPartsLoad(e,S,t,o).catch((function(e){return n.handleFragLoadError(e)})),this.hls.trigger(f.FRAG_LOADING,{frag:e,part:S,targetBufferTime:a}),null===this.fragCurrent?Promise.reject(new Error("frag load aborted, context changed in FRAG_LOADING parts")):s}if(!e.url||this.loadedEndOfParts(_,a))return Promise.resolve(null)}}this.log("Loading fragment "+e.sn+" cc: "+e.cc+" "+(r?"of ["+r.startSN+"-"+r.endSN+"] ":"")+("[stream-controller]"===this.logPrefix?"level":"track")+": "+e.level+", target: "+parseFloat(a.toFixed(3))),p(e.sn)&&!this.bitrateTest&&(this.nextLoadPosition=e.start+e.duration),this.state=$o.FRAG_LOADING;var l,I=this.config.progressive;return l=I&&E?E.then((function(t){return!t||n.fragContextChanged(null==t?void 0:t.frag)?null:n.fragmentLoader.load(e,o)})).catch((function(e){return n.handleFragLoadError(e)})):Promise.all([this.fragmentLoader.load(e,I?o:void 0),E]).then((function(e){var t=e[0];return!I&&t&&o&&o(t),t})).catch((function(e){return n.handleFragLoadError(e)})),this.hls.trigger(f.FRAG_LOADING,{frag:e,targetBufferTime:a}),null===this.fragCurrent?Promise.reject(new Error("frag load aborted, context changed in FRAG_LOADING")):l},a.doFragPartsLoad=function(e,t,a,o){var i=this;return new Promise((function(n,r){var E,_=[],T=null==(E=a.details)?void 0:E.partList;!(function t(E){i.fragmentLoader.loadPart(e,E,o).then((function(o){_[E.index]=o;var r=o.part;i.hls.trigger(f.FRAG_LOADED,o);var s=ba(a,e.sn,E.index+1)||Ua(T,e.sn,E.index+1);if(!s)return n({frag:e,part:r,partsLoaded:_});t(s)})).catch(r)})(t)}))},a.handleFragLoadError=function(e){if("data"in e){var t=e.data;e.data&&t.details===P.INTERNAL_ABORTED?this.handleFragLoadAborted(t.frag,t.part):this.hls.trigger(f.ERROR,t)}else this.hls.trigger(f.ERROR,{type:B.OTHER_ERROR,details:P.INTERNAL_EXCEPTION,err:e,error:e,fatal:!0});return null},a._handleTransmuxerFlush=function(e){var t=this.getCurrentContext(e);if(t&&this.state===$o.PARSING){var a=t.frag,o=t.part,i=t.level,n=self.performance.now();a.stats.parsing.end=n,o&&(o.stats.parsing.end=n),this.updateLevelTiming(a,o,i,e.partial)}else this.fragCurrent||this.state===$o.STOPPED||this.state===$o.ERROR||(this.state=$o.IDLE)},a.getCurrentContext=function(e){var t=this.levels,a=this.fragCurrent,o=e.level,i=e.sn,n=e.part;if(null==t||!t[o])return this.warn("Levels object was unset while buffering fragment "+i+" of level "+o+". The current chunk will not be buffered."),null;var r=t[o],E=n>-1?ba(r,i,n):null,_=E?E.fragment:Ma(r,i,a);return _?(a&&a!==_&&(_.stats=a.stats),{frag:_,part:E,level:r}):null},a.bufferFragmentData=function(e,t,a,o,i){var n;if(e&&this.state===$o.PARSING){var r=e.data1,E=e.data2,_=r;if(r&&E&&(_=at(r,E)),null!=(n=_)&&n.length){var T={type:e.type,frag:t,part:a,chunkMeta:o,parent:t.type,data:_};if(this.hls.trigger(f.BUFFER_APPENDING,T),e.dropped&&e.independent&&!a){if(i)return;this.flushBufferGap(t)}}}},a.flushBufferGap=function(e){var t=this.media;if(t)if(fo.isBuffered(t,t.currentTime)){var a=t.currentTime,o=fo.bufferInfo(t,a,0),i=e.duration,n=Math.min(2*this.config.maxFragLookUpTolerance,.25*i),r=Math.max(Math.min(e.start-n,o.end-n),a+n);e.start-r>n&&this.flushMainBuffer(r,e.start)}else this.flushMainBuffer(0,e.start)},a.getFwdBufferInfo=function(e,t){var a=this.getLoadPosition();return p(a)?this.getFwdBufferInfoAtPos(e,a,t):null},a.getFwdBufferInfoAtPos=function(e,t,a){var o=this.config.maxBufferHole,i=fo.bufferInfo(e,t,o);if(0===i.len&&void 0!==i.nextStart){var n=this.fragmentTracker.getBufferedFrag(t,a);if(n&&i.nextStart<n.end)return fo.bufferInfo(e,t,Math.max(i.nextStart,o))}return i},a.getMaxBufferLength=function(e){var t,a=this.config;return t=e?Math.max(8*a.maxBufferSize/e,a.maxBufferLength):a.maxBufferLength,Math.min(t,a.maxMaxBufferLength)},a.reduceMaxBufferLength=function(e){var t=this.config,a=e||t.maxBufferLength;return t.maxMaxBufferLength>=a&&(t.maxMaxBufferLength/=2,this.warn("Reduce max buffer length to "+t.maxMaxBufferLength+"s"),!0)},a.getAppendedFrag=function(e,t){var a=this.fragmentTracker.getAppendedFrag(e,$t.MAIN);return a&&"fragment"in a?a.fragment:a},a.getNextFragment=function(e,t){var a=t.fragments,o=a.length;if(!o)return null;var i,n=this.config,r=a[0].start;if(t.live){var E=n.initialLiveManifestSize;if(o<E)return this.warn("Not enough fragments to start playback (have: "+o+", need: "+E+")"),null;(!t.PTSKnown&&!this.startFragRequested&&-1===this.startPosition||e<r)&&(i=this.getInitialLiveFragment(t,a),this.startPosition=this.nextLoadPosition=i?this.hls.liveSyncPosition||i.start:e)}else e<=r&&(i=a[0]);if(!i){var _=n.lowLatencyMode?t.partEnd:t.fragmentEnd;i=this.getFragmentAtPosition(e,_,t)}return this.mapToInitFragWhenRequired(i)},a.isLoopLoading=function(e,t){var a=this.fragmentTracker.getState(e);return(a===Lo.OK||a===Lo.PARTIAL&&!!e.gap)&&this.nextLoadPosition>t},a.getNextFragmentLoopLoading=function(e,t,a,o,i){var n=e.gap,r=this.getNextFragment(this.nextLoadPosition,t);if(null===r)return r;if(e=r,n&&e&&!e.gap&&a.nextStart){var E=this.getFwdBufferInfoAtPos(this.mediaBuffer?this.mediaBuffer:this.media,a.nextStart,o);if(null!==E&&a.len+E.len>=i)return this.log('buffer full after gaps in "'+o+'" playlist starting at sn: '+e.sn),null}return e},a.mapToInitFragWhenRequired=function(e){return null==e||!e.initSegment||null!=e&&e.initSegment.data||this.bitrateTest?e:e.initSegment},a.getNextPart=function(e,t,a){for(var o=-1,i=!1,n=!0,r=0,E=e.length;r<E;r++){var _=e[r];if(n=n&&!_.independent,o>-1&&a<_.start)break;var T=_.loaded;T?o=-1:(i||_.independent||n)&&_.fragment===t&&(o=r),i=T}return o},a.loadedEndOfParts=function(e,t){var a=e[e.length-1];return a&&t>a.start&&a.loaded},a.getInitialLiveFragment=function(e,t){var a=this.fragPrevious,o=null;if(a){if(e.hasProgramDateTime&&(this.log("Live playlist, switching playlist, load frag with same PDT: "+a.programDateTime),o=Ka(t,a.endProgramDateTime,this.config.maxFragLookUpTolerance)),!o){var i=a.sn+1;if(i>=e.startSN&&i<=e.endSN){var n=t[i-e.startSN];a.cc===n.cc&&(o=n,this.log("Live playlist, switching playlist, load frag with next SN: "+o.sn))}o||(o=Xa(t,a.cc))&&this.log("Live playlist, switching playlist, load frag with same CC: "+o.sn)}}else{var r=this.hls.liveSyncPosition;null!==r&&(o=this.getFragmentAtPosition(r,this.bitrateTest?e.fragmentEnd:e.edge,e))}return o},a.getFragmentAtPosition=function(e,t,a){var o,i=this.config,n=this.fragPrevious,r=a.fragments,E=a.endSN,_=a.fragmentHint,T=i.maxFragLookUpTolerance,s=a.partList,S=!!(i.lowLatencyMode&&null!=s&&s.length&&_);if(S&&_&&!this.bitrateTest&&(r=r.concat(_),E=_.sn),o=e<t?xa(n,r,e,e>t-T?0:T):r[r.length-1]){var l=o.sn-a.startSN,I=this.fragmentTracker.getState(o);if((I===Lo.OK||I===Lo.PARTIAL&&o.gap)&&(n=o),n&&o.sn===n.sn&&(!S||s[0].fragment.sn>o.sn)&&n&&o.level===n.level){var A=r[l+1];o=o.sn<E&&this.fragmentTracker.getState(A)!==Lo.OK?A:null}}return o},a.synchronizeToLiveEdge=function(e){var t=this.config,a=this.media;if(a){var o=this.hls.liveSyncPosition,i=a.currentTime,n=e.fragments[0].start,r=e.edge,E=i>=n-t.maxFragLookUpTolerance&&i<=r;if(null!==o&&a.duration>o&&(i<o||!E)){var _=void 0!==t.liveMaxLatencyDuration?t.liveMaxLatencyDuration:t.liveMaxLatencyDurationCount*e.targetduration;(!E&&a.readyState<4||i<r-_)&&(this.loadedmetadata||(this.nextLoadPosition=o),a.readyState&&(this.warn("Playback: "+i.toFixed(3)+" is located too far from the end of live sliding playlist: "+r+", reset currentTime to : "+o.toFixed(3)),a.currentTime=o))}}},a.alignPlaylists=function(e,t,a){var o=e.fragments.length;if(!o)return this.warn("No fragments in live playlist"),0;var i=e.fragments[0].start,n=!t,r=e.alignedSliding&&p(i);if(n||!r&&!i){var E=this.fragPrevious;bo(E,a,e);var _=e.fragments[0].start;return this.log("Live playlist sliding: "+_.toFixed(2)+" start-sn: "+(t?t.startSN:"na")+"->"+e.startSN+" prev-sn: "+(E?E.sn:"na")+" fragments: "+o),_}return i},a.waitForCdnTuneIn=function(e){var t=3;return e.live&&e.canBlockReload&&e.partTarget&&e.tuneInGoal>Math.max(e.partHoldBack,e.partTarget*t)},a.setStartPosition=function(e,t){var a=this.startPosition;if(a<t&&(a=-1),-1===a||-1===this.lastCurrentTime){var o=null!==this.startTimeOffset,i=o?this.startTimeOffset:e.startTimeOffset;null!==i&&p(i)?(a=t+i,i<0&&(a+=e.totalduration),a=Math.min(Math.max(t,a),t+e.totalduration),this.log("Start time offset "+i+" found in "+(o?"multivariant":"media")+" playlist, adjust startPosition to "+a),this.startPosition=a):e.live?a=this.hls.liveSyncPosition||t:this.startPosition=a=0,this.lastCurrentTime=a}this.nextLoadPosition=a},a.getLoadPosition=function(){var e=this.media,t=0;return this.loadedmetadata&&e?t=e.currentTime:this.nextLoadPosition&&(t=this.nextLoadPosition),t},a.handleFragLoadAborted=function(e,t){this.transmuxer&&"initSegment"!==e.sn&&e.stats.aborted&&(this.warn("Fragment "+e.sn+(t?" part "+t.index:"")+" of level "+e.level+" was aborted"),this.resetFragmentLoading(e))},a.resetFragmentLoading=function(e){this.fragCurrent&&(this.fragContextChanged(e)||this.state===$o.FRAG_LOADING_WAITING_RETRY)||(this.state=$o.IDLE)},a.onFragmentOrKeyLoadError=function(e,t){if(t.chunkMeta&&!t.frag){var a=this.getCurrentContext(t.chunkMeta);a&&(t.frag=a.frag)}var o=t.frag;if(o&&o.type===e&&this.levels)if(this.fragContextChanged(o)){var i;this.warn("Frag load error must match current frag to retry "+o.url+" > "+(null==(i=this.fragCurrent)?void 0:i.url))}else{var n=t.details===P.FRAG_GAP;n&&this.fragmentTracker.fragBuffered(o,!0);var r=t.errorAction,E=r||{},_=E.action,T=E.retryCount,s=void 0===T?0:T,S=E.retryConfig;if(r&&_===$a.RetryRequest&&S){this.resetStartWhenNotLoaded(this.levelLastLoaded);var l=Va(S,s);this.warn("Fragment "+o.sn+" of "+e+" "+o.level+" errored with "+t.details+", retrying loading "+(s+1)+"/"+S.maxNumRetry+" in "+l+"ms"),r.resolved=!0,this.retryDate=self.performance.now()+l,this.state=$o.FRAG_LOADING_WAITING_RETRY}else if(S&&r){if(this.resetFragmentErrors(e),!(s<S.maxNumRetry))return void U.warn(t.details+" reached or exceeded max retry ("+s+")");n||_===$a.RemoveAlternatePermanently||(r.resolved=!0)}else(null==r?void 0:r.action)===$a.SendAlternateToPenaltyBox?this.state=$o.WAITING_LEVEL:this.state=$o.ERROR;this.tickImmediate()}},a.reduceLengthAndFlushBuffer=function(e){if(this.state===$o.PARSING||this.state===$o.PARSED){var t=e.parent,a=this.getFwdBufferInfo(this.mediaBuffer,t),o=a&&a.len>.5;o&&this.reduceMaxBufferLength(a.len);var i=!o;return i&&this.warn("Buffer full error while media.currentTime is not buffered, flush "+t+" buffer"),e.frag&&(this.fragmentTracker.removeFragment(e.frag),this.nextLoadPosition=e.frag.start),this.resetLoadingState(),i}return!1},a.resetFragmentErrors=function(e){e===$t.AUDIO&&(this.fragCurrent=null),this.loadedmetadata||(this.startFragRequested=!1),this.state!==$o.STOPPED&&(this.state=$o.IDLE)},a.afterBufferFlushed=function(e,t,a){if(e){var o=fo.getBuffered(e);this.fragmentTracker.detectEvictedFragments(t,o,a),this.state===$o.ENDED&&this.resetLoadingState()}},a.resetLoadingState=function(){this.log("Reset loading state"),this.fragCurrent=null,this.fragPrevious=null,this.state=$o.IDLE},a.resetStartWhenNotLoaded=function(e){if(!this.loadedmetadata){this.startFragRequested=!1;var t=e?e.details:null;null!=t&&t.live?(this.startPosition=-1,this.setStartPosition(t,0),this.resetLoadingState()):this.nextLoadPosition=this.startPosition}},a.resetWhenMissingContext=function(e){this.warn("The loading context changed while buffering fragment "+e.sn+" of level "+e.level+". This chunk will not be buffered."),this.removeUnbufferedFrags(),this.resetStartWhenNotLoaded(this.levelLastLoaded),this.resetLoadingState()},a.removeUnbufferedFrags=function(e){void 0===e&&(e=0),this.fragmentTracker.removeFragmentsInRange(e,1/0,this.playlistType,!1,!0)},a.updateLevelTiming=function(e,t,a,o){var i,n=this,r=a.details;if(r){if(!Object.keys(e.elementaryStreams).reduce((function(t,i){var E=e.elementaryStreams[i];if(E){var _=E.endPTS-E.startPTS;if(_<=0)return n.warn("Could not parse fragment "+e.sn+" "+i+" duration reliably ("+_+")"),t||!1;var T=o?0:Ca(r,e,E.startPTS,E.endPTS,E.startDTS,E.endDTS);return n.hls.trigger(f.LEVEL_PTS_UPDATED,{details:r,level:a,drift:T,type:i,frag:e,start:E.startPTS,end:E.endPTS}),!0}return t}),!1)&&null===(null==(i=this.transmuxer)?void 0:i.error)){var E=new Error("Found no media in fragment "+e.sn+" of level "+e.level+" resetting transmuxer to fallback to playlist timing");if(0===a.fragmentError&&(a.fragmentError++,e.gap=!0,this.fragmentTracker.removeFragment(e),this.fragmentTracker.fragBuffered(e,!0)),this.warn(E.message),this.hls.trigger(f.ERROR,{type:B.MEDIA_ERROR,details:P.FRAG_PARSING_ERROR,fatal:!1,error:E,frag:e,reason:"Found no media in msn "+e.sn+' of level "'+a.url+'"'}),!this.hls)return;this.resetTransmuxer()}this.state=$o.PARSED,this.hls.trigger(f.FRAG_PARSED,{frag:e,part:t})}else this.warn("level.details undefined")},a.resetTransmuxer=function(){this.transmuxer&&(this.transmuxer.destroy(),this.transmuxer=null)},a.recoverWorkerError=function(e){"demuxerWorker"===e.event&&(this.fragmentTracker.removeAllFragments(),this.resetTransmuxer(),this.resetStartWhenNotLoaded(this.levelLastLoaded),this.resetLoadingState())},E(t,[{key:"state",get:function(){return this._state},set:function(e){var t=this._state;t!==e&&(this._state=e,this.log(t+"->"+e))}}]),t})(mo),Jo=(function(){function e(){this.chunks=[],this.dataLength=0}var t=e.prototype;return t.push=function(e){this.chunks.push(e),this.dataLength+=e.length},t.flush=function(){var e,t=this.chunks,a=this.dataLength;return t.length?(e=1===t.length?t[0]:Zo(t,a),this.reset(),e):new Uint8Array(0)},t.reset=function(){this.chunks.length=0,this.dataLength=0},e})();function Zo(e,t){for(var a=new Uint8Array(t),o=0,i=0;i<e.length;i++){var n=e[i];a.set(n,o),o+=n.length}return a}function ei(e,t){return void 0===e&&(e=""),void 0===t&&(t=9e4),{type:e,id:-1,pid:-1,inputTimeScale:t,sequenceNumber:-1,samples:[],dropped:0}}var ti=(function(){function e(){this._audioTrack=void 0,this._id3Track=void 0,this.frameIndex=0,this.cachedData=null,this.basePTS=null,this.initPTS=null,this.lastPTS=null}var t=e.prototype;return t.resetInitSegment=function(e,t,a,o){this._id3Track={type:"id3",id:3,pid:-1,inputTimeScale:9e4,sequenceNumber:0,samples:[],dropped:0}},t.resetTimeStamp=function(e){this.initPTS=e,this.resetContiguity()},t.resetContiguity=function(){this.basePTS=null,this.lastPTS=null,this.frameIndex=0},t.canParse=function(e,t){return!1},t.appendFrame=function(e,t,a){},t.demux=function(e,t){this.cachedData&&(e=at(this.cachedData,e),this.cachedData=null);var a,o=ce(e,0),i=o?o.length:0,n=this._audioTrack,r=this._id3Track,E=o?Ne(o):void 0,_=e.length;for((null===this.basePTS||0===this.frameIndex&&p(E))&&(this.basePTS=ai(E,t,this.initPTS),this.lastPTS=this.basePTS),null===this.lastPTS&&(this.lastPTS=this.basePTS),o&&o.length>0&&r.samples.push({pts:this.lastPTS,dts:this.lastPTS,data:o,type:Ea.audioId3,duration:Number.POSITIVE_INFINITY});i<_;){if(this.canParse(e,i)){var T=this.appendFrame(n,e,i);T?(this.frameIndex++,this.lastPTS=T.sample.pts,a=i+=T.length):i=_}else Re(e,i)?(o=ce(e,i),r.samples.push({pts:this.lastPTS,dts:this.lastPTS,data:o,type:Ea.audioId3,duration:Number.POSITIVE_INFINITY}),a=i+=o.length):i++;if(i===_&&a!==_){var s=Ie(e,a);this.cachedData?this.cachedData=at(this.cachedData,s):this.cachedData=s}}return{audioTrack:n,videoTrack:ei(),id3Track:r,textTrack:ei()}},t.demuxSampleAes=function(e,t,a){return Promise.reject(new Error("["+this+"] This demuxer does not support Sample-AES decryption"))},t.flush=function(e){var t=this.cachedData;return t&&(this.cachedData=null,this.demux(t,0)),{audioTrack:this._audioTrack,videoTrack:ei(),id3Track:this._id3Track,textTrack:ei()}},t.destroy=function(){},e})(),ai=function(e,t,a){return p(e)?90*e:9e4*t+(a?9e4*a.baseTime/a.timescale:0)};function oi(e,t,a,o){var i,n,r,E,_=navigator.userAgent.toLowerCase(),T=o,s=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350];i=1+((192&t[a+2])>>>6);var S=(60&t[a+2])>>>2;if(!(S>s.length-1))return r=(1&t[a+2])<<2,r|=(192&t[a+3])>>>6,U.log("manifest codec:"+o+", ADTS type:"+i+", samplingIndex:"+S),/firefox/i.test(_)?S>=6?(i=5,E=new Array(4),n=S-3):(i=2,E=new Array(2),n=S):-1!==_.indexOf("android")?(i=2,E=new Array(2),n=S):(i=5,E=new Array(4),o&&(-1!==o.indexOf("mp4a.40.29")||-1!==o.indexOf("mp4a.40.5"))||!o&&S>=6?n=S-3:((o&&-1!==o.indexOf("mp4a.40.2")&&(S>=6&&1===r||/vivaldi/i.test(_))||!o&&1===r)&&(i=2,E=new Array(2)),n=S)),E[0]=i<<3,E[0]|=(14&S)>>1,E[1]|=(1&S)<<7,E[1]|=r<<3,5===i&&(E[1]|=(14&n)>>1,E[2]=(1&n)<<7,E[2]|=8,E[3]=0),{config:E,samplerate:s[S],channelCount:r,codec:"mp4a.40."+i,manifestCodec:T};var l=new Error("invalid ADTS sampling index:"+S);e.emit(f.ERROR,f.ERROR,{type:B.MEDIA_ERROR,details:P.FRAG_PARSING_ERROR,fatal:!0,error:l,reason:l.message})}function ii(e,t){return 255===e[t]&&240==(246&e[t+1])}function ni(e,t){return 1&e[t+1]?7:9}function ri(e,t){return(3&e[t+3])<<11|e[t+4]<<3|(224&e[t+5])>>>5}function Ei(e,t){return t+5<e.length}function _i(e,t){return t+1<e.length&&ii(e,t)}function Ti(e,t){return Ei(e,t)&&ii(e,t)&&ri(e,t)<=e.length-t}function si(e,t){if(_i(e,t)){var a=ni(e,t);if(t+a>=e.length)return!1;var o=ri(e,t);if(o<=a)return!1;var i=t+o;return i===e.length||_i(e,i)}return!1}function Si(e,t,a,o,i){if(!e.samplerate){var n=oi(t,a,o,i);if(!n)return;e.config=n.config,e.samplerate=n.samplerate,e.channelCount=n.channelCount,e.codec=n.codec,e.manifestCodec=n.manifestCodec,U.log("parsed codec:"+e.codec+", rate:"+n.samplerate+", channels:"+n.channelCount)}}function li(e){return 9216e4/e}function Ii(e,t){var a=ni(e,t);if(t+a<=e.length){var o=ri(e,t)-a;if(o>0)return{headerLength:a,frameLength:o}}}function Ai(e,t,a,o,i){var n,r=o+i*li(e.samplerate),E=Ii(t,a);if(E){var _=E.frameLength,T=E.headerLength,s=T+_,S=Math.max(0,a+s-t.length);S?(n=new Uint8Array(s-T)).set(t.subarray(a+T,t.length),0):n=t.subarray(a+T,a+s);var l={unit:n,pts:r};return S||e.samples.push(l),{sample:l,length:s,missing:S}}var I=t.length-a;return(n=new Uint8Array(I)).set(t.subarray(a,t.length),0),{sample:{unit:n,pts:r},length:I,missing:-1}}var ui=null,di=[32,64,96,128,160,192,224,256,288,320,352,384,416,448,32,48,56,64,80,96,112,128,160,192,224,256,320,384,32,40,48,56,64,80,96,112,128,160,192,224,256,320,32,48,56,64,80,96,112,128,144,160,176,192,224,256,8,16,24,32,40,48,56,64,80,96,112,128,144,160],ci=[44100,48e3,32e3,22050,24e3,16e3,11025,12e3,8e3],Oi=[[0,72,144,12],[0,0,0,0],[0,72,144,12],[0,144,144,12]],Ri=[0,1,1,4];function Ni(e,t,a,o,i){if(!(a+24>t.length)){var n=mi(t,a);if(n&&a+n.frameLength<=t.length){var r=o+i*(9e4*n.samplesPerFrame/n.sampleRate),E={unit:t.subarray(a,a+n.frameLength),pts:r,dts:r};return e.config=[],e.channelCount=n.channelCount,e.samplerate=n.sampleRate,e.samples.push(E),{sample:E,length:n.frameLength,missing:0}}}}function mi(e,t){var a=e[t+1]>>3&3,o=e[t+1]>>1&3,i=e[t+2]>>4&15,n=e[t+2]>>2&3;if(1!==a&&0!==i&&15!==i&&3!==n){var r=e[t+2]>>1&1,E=e[t+3]>>6,_=1e3*di[14*(3===a?3-o:3===o?3:4)+i-1],T=ci[3*(3===a?0:2===a?1:2)+n],s=3===E?1:2,S=Oi[a][o],l=Ri[o],I=8*S*l,A=Math.floor(S*_/T+r)*l;if(null===ui){var u=(navigator.userAgent||"").match(/Chrome\/(\d+)/i);ui=u?parseInt(u[1]):0}return!!ui&&ui<=87&&2===o&&_>=224e3&&0===E&&(e[t+3]=128|e[t+3]),{sampleRate:T,channelCount:s,frameLength:A,samplesPerFrame:I}}}function Li(e,t){return 255===e[t]&&224==(224&e[t+1])&&0!=(6&e[t+1])}function Di(e,t){return t+1<e.length&&Li(e,t)}function pi(e,t){var a=4;return Li(e,t)&&a<=e.length-t}function hi(e,t){if(t+1<e.length&&Li(e,t)){var a=4,o=mi(e,t),i=a;null!=o&&o.frameLength&&(i=o.frameLength);var n=t+i;return n===e.length||Di(e,n)}return!1}var Ci=(function(e){function t(t,a){var o;return(o=e.call(this)||this).observer=void 0,o.config=void 0,o.observer=t,o.config=a,o}s(t,e);var a=t.prototype;return a.resetInitSegment=function(t,a,o,i){e.prototype.resetInitSegment.call(this,t,a,o,i),this._audioTrack={container:"audio/adts",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"aac",samples:[],manifestCodec:a,duration:i,inputTimeScale:9e4,dropped:0}},t.probe=function(e){if(!e)return!1;var t=ce(e,0),a=(null==t?void 0:t.length)||0;if(hi(e,a))return!1;for(var o=e.length;a<o;a++)if(si(e,a))return U.log("ADTS sync word found !"),!0;return!1},a.canParse=function(e,t){return Ti(e,t)},a.appendFrame=function(e,t,a){Si(e,this.observer,t,a,e.manifestCodec);var o=Ai(e,t,a,this.basePTS,this.frameIndex);if(o&&0===o.missing)return o},t})(ti),fi=/\/emsg[-/]ID3/i,Bi=(function(){function e(e,t){this.remainderData=null,this.timeOffset=0,this.config=void 0,this.videoTrack=void 0,this.audioTrack=void 0,this.id3Track=void 0,this.txtTrack=void 0,this.config=t}var t=e.prototype;return t.resetTimeStamp=function(){},t.resetInitSegment=function(e,t,a,o){var i=this.videoTrack=ei("video",1),n=this.audioTrack=ei("audio",1),r=this.txtTrack=ei("text",1);if(this.id3Track=ei("id3",1),this.timeOffset=0,null!=e&&e.byteLength){var E=ze(e);if(E.video){var _=E.video,T=_.id,s=_.timescale,S=_.codec;i.id=T,i.timescale=r.timescale=s,i.codec=S}if(E.audio){var l=E.audio,I=l.id,A=l.timescale,u=l.codec;n.id=I,n.timescale=A,n.codec=u}r.id=Me.text,i.sampleDuration=0,i.duration=n.duration=o}},t.resetContiguity=function(){this.remainderData=null},e.probe=function(e){return He(e)},t.demux=function(e,t){this.timeOffset=t;var a=e,o=this.videoTrack,i=this.txtTrack;if(this.config.progressive){this.remainderData&&(a=at(this.remainderData,e));var n=tt(a);this.remainderData=n.remainder,o.samples=n.valid||new Uint8Array}else o.samples=a;var r=this.extractID3Track(o,t);return i.samples=ot(t,o),{videoTrack:o,audioTrack:this.audioTrack,id3Track:r,textTrack:this.txtTrack}},t.flush=function(){var e=this.timeOffset,t=this.videoTrack,a=this.txtTrack;t.samples=this.remainderData||new Uint8Array,this.remainderData=null;var o=this.extractID3Track(t,this.timeOffset);return a.samples=ot(e,t),{videoTrack:t,audioTrack:ei(),id3Track:o,textTrack:ei()}},t.extractID3Track=function(e,t){var a=this.id3Track;if(e.samples.length){var o=we(e.samples,["emsg"]);o&&o.forEach((function(e){var o=_t(e);if(fi.test(o.schemeIdUri)){var i=p(o.presentationTime)?o.presentationTime/o.timeScale:t+o.presentationTimeDelta/o.timeScale,n=4294967295===o.eventDuration?Number.POSITIVE_INFINITY:o.eventDuration/o.timeScale;n<=.001&&(n=Number.POSITIVE_INFINITY);var r=o.payload;a.samples.push({data:r,len:r.byteLength,dts:i,pts:i,type:Ea.emsg,duration:n})}}))}return a},t.demuxSampleAes=function(e,t,a){return Promise.reject(new Error("The MP4 demuxer does not support SAMPLE-AES decryption"))},t.destroy=function(){},e})(),Pi=function(e,t){var a=0,o=5;t+=o;for(var i=new Uint32Array(1),n=new Uint32Array(1),r=new Uint8Array(1);o>0;){r[0]=e[t];var E=Math.min(o,8),_=8-E;n[0]=4278190080>>>24+_<<_,i[0]=(r[0]&n[0])>>_,a=a?a<<E|i[0]:i[0],t+=1,o-=E}return a},gi=(function(e){function t(t){var a;return(a=e.call(this)||this).observer=void 0,a.observer=t,a}s(t,e);var a=t.prototype;return a.resetInitSegment=function(t,a,o,i){e.prototype.resetInitSegment.call(this,t,a,o,i),this._audioTrack={container:"audio/ac-3",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"ac3",samples:[],manifestCodec:a,duration:i,inputTimeScale:9e4,dropped:0}},a.canParse=function(e,t){return t+64<e.length},a.appendFrame=function(e,t,a){var o=vi(e,t,a,this.basePTS,this.frameIndex);if(-1!==o)return{sample:e.samples[e.samples.length-1],length:o,missing:0}},t.probe=function(e){if(!e)return!1;var t=ce(e,0);if(!t)return!1;var a=t.length;return 11===e[a]&&119===e[a+1]&&void 0!==Ne(t)&&Pi(e,a)<16},t})(ti);function vi(e,t,a,o,i){if(a+8>t.length)return-1;if(11!==t[a]||119!==t[a+1])return-1;var n=t[a+4]>>6;if(n>=3)return-1;var r=[48e3,44100,32e3][n],E=63&t[a+4],_=2*[64,69,96,64,70,96,80,87,120,80,88,120,96,104,144,96,105,144,112,121,168,112,122,168,128,139,192,128,140,192,160,174,240,160,175,240,192,208,288,192,209,288,224,243,336,224,244,336,256,278,384,256,279,384,320,348,480,320,349,480,384,417,576,384,418,576,448,487,672,448,488,672,512,557,768,512,558,768,640,696,960,640,697,960,768,835,1152,768,836,1152,896,975,1344,896,976,1344,1024,1114,1536,1024,1115,1536,1152,1253,1728,1152,1254,1728,1280,1393,1920,1280,1394,1920][3*E+n];if(a+_>t.length)return-1;var T=t[a+6]>>5,s=0;2===T?s+=2:(1&T&&1!==T&&(s+=2),4&T&&(s+=2));var S=(t[a+6]<<8|t[a+7])>>12-s&1,l=[2,1,2,3,3,4,4,5][T]+S,I=t[a+5]>>3,A=7&t[a+5],u=new Uint8Array([n<<6|I<<1|A>>2,(3&A)<<6|T<<3|S<<2|E>>4,E<<4&224]),d=o+i*(1536/r*9e4),c=t.subarray(a,a+_);return e.config=u,e.channelCount=l,e.samplerate=r,e.samples.push({unit:c,pts:d}),_}var yi=(function(){function e(){this.VideoSample=null}var t=e.prototype;return t.createVideoSample=function(e,t,a,o){return{key:e,frame:!1,pts:t,dts:a,units:[],debug:o,length:0}},t.getLastNalUnit=function(e){var t,a,o=this.VideoSample;if(o&&0!==o.units.length||(o=e[e.length-1]),null!=(t=o)&&t.units){var i=o.units;a=i[i.length-1]}return a},t.pushAccessUnit=function(e,t){if(e.units.length&&e.frame){if(void 0===e.pts){var a=t.samples,o=a.length;if(!o)return void t.dropped++;var i=a[o-1];e.pts=i.pts,e.dts=i.dts}t.samples.push(e)}e.debug.length&&U.log(e.pts+"/"+e.dts+":"+e.debug)},e})(),Wi=(function(){function e(e){this.data=void 0,this.bytesAvailable=void 0,this.word=void 0,this.bitsAvailable=void 0,this.data=e,this.bytesAvailable=e.byteLength,this.word=0,this.bitsAvailable=0}var t=e.prototype;return t.loadWord=function(){var e=this.data,t=this.bytesAvailable,a=e.byteLength-t,o=new Uint8Array(4),i=Math.min(4,t);if(0===i)throw new Error("no bytes available");o.set(e.subarray(a,a+i)),this.word=new DataView(o.buffer).getUint32(0),this.bitsAvailable=8*i,this.bytesAvailable-=i},t.skipBits=function(e){var t;e=Math.min(e,8*this.bytesAvailable+this.bitsAvailable),this.bitsAvailable>e?(this.word<<=e,this.bitsAvailable-=e):(e-=this.bitsAvailable,e-=(t=e>>3)<<3,this.bytesAvailable-=t,this.loadWord(),this.word<<=e,this.bitsAvailable-=e)},t.readBits=function(e){var t=Math.min(this.bitsAvailable,e),a=this.word>>>32-t;if(e>32&&U.error("Cannot read more than 32 bits at a time"),this.bitsAvailable-=t,this.bitsAvailable>0)this.word<<=t;else{if(!(this.bytesAvailable>0))throw new Error("no bits available");this.loadWord()}return(t=e-t)>0&&this.bitsAvailable?a<<t|this.readBits(t):a},t.skipLZ=function(){var e;for(e=0;e<this.bitsAvailable;++e)if(0!=(this.word&2147483648>>>e))return this.word<<=e,this.bitsAvailable-=e,e;return this.loadWord(),e+this.skipLZ()},t.skipUEG=function(){this.skipBits(1+this.skipLZ())},t.skipEG=function(){this.skipBits(1+this.skipLZ())},t.readUEG=function(){var e=this.skipLZ();return this.readBits(e+1)-1},t.readEG=function(){var e=this.readUEG();return 1&e?1+e>>>1:-1*(e>>>1)},t.readBoolean=function(){return 1===this.readBits(1)},t.readUByte=function(){return this.readBits(8)},t.readUShort=function(){return this.readBits(16)},t.readUInt=function(){return this.readBits(32)},t.skipScalingList=function(e){for(var t=8,a=8,o=0;o<e;o++)0!==a&&(a=(t+this.readEG()+256)%256),t=0===a?t:a},t.readSPS=function(){var e,t,a,o=0,i=0,n=0,r=0,E=this.readUByte.bind(this),_=this.readBits.bind(this),T=this.readUEG.bind(this),s=this.readBoolean.bind(this),S=this.skipBits.bind(this),l=this.skipEG.bind(this),I=this.skipUEG.bind(this),A=this.skipScalingList.bind(this);E();var u=E();if(_(5),S(3),E(),I(),100===u||110===u||122===u||244===u||44===u||83===u||86===u||118===u||128===u){var d=T();if(3===d&&S(1),I(),I(),S(1),s())for(t=3!==d?8:12,a=0;a<t;a++)s()&&A(a<6?16:64)}I();var c=T();if(0===c)T();else if(1===c)for(S(1),l(),l(),e=T(),a=0;a<e;a++)l();I(),S(1);var O=T(),R=T(),N=_(1);0===N&&S(1),S(1),s()&&(o=T(),i=T(),n=T(),r=T());var m=[1,1];if(s()&&s())switch(E()){case 1:m=[1,1];break;case 2:m=[12,11];break;case 3:m=[10,11];break;case 4:m=[16,11];break;case 5:m=[40,33];break;case 6:m=[24,11];break;case 7:m=[20,11];break;case 8:m=[32,11];break;case 9:m=[80,33];break;case 10:m=[18,11];break;case 11:m=[15,11];break;case 12:m=[64,33];break;case 13:m=[160,99];break;case 14:m=[4,3];break;case 15:m=[3,2];break;case 16:m=[2,1];break;case 255:m=[E()<<8|E(),E()<<8|E()]}return{width:Math.ceil(16*(O+1)-2*o-2*i),height:(2-N)*(R+1)*16-(N?2:4)*(n+r),pixelRatio:m}},t.readSliceType=function(){return this.readUByte(),this.readUEG(),this.readUEG()},e})(),Mi=(function(e){function t(){return e.apply(this,arguments)||this}s(t,e);var a=t.prototype;return a.parseAVCPES=function(e,t,a,o,i){var n,r=this,E=this.parseAVCNALu(e,a.data),_=this.VideoSample,T=!1;a.data=null,_&&E.length&&!e.audFound&&(this.pushAccessUnit(_,e),_=this.VideoSample=this.createVideoSample(!1,a.pts,a.dts,"")),E.forEach((function(o){var E;switch(o.type){case 1:var s=!1;n=!0;var S,l=o.data;if(T&&l.length>4){var I=new Wi(l).readSliceType();2!==I&&4!==I&&7!==I&&9!==I||(s=!0)}s&&null!=(S=_)&&S.frame&&!_.key&&(r.pushAccessUnit(_,e),_=r.VideoSample=null),_||(_=r.VideoSample=r.createVideoSample(!0,a.pts,a.dts,"")),_.frame=!0,_.key=s;break;case 5:n=!0,null!=(E=_)&&E.frame&&!_.key&&(r.pushAccessUnit(_,e),_=r.VideoSample=null),_||(_=r.VideoSample=r.createVideoSample(!0,a.pts,a.dts,"")),_.key=!0,_.frame=!0;break;case 6:n=!0,rt(o.data,1,a.pts,t.samples);break;case 7:var A,u;n=!0,T=!0;var d=o.data,c=new Wi(d).readSPS();if(!e.sps||e.width!==c.width||e.height!==c.height||(null==(A=e.pixelRatio)?void 0:A[0])!==c.pixelRatio[0]||(null==(u=e.pixelRatio)?void 0:u[1])!==c.pixelRatio[1]){e.width=c.width,e.height=c.height,e.pixelRatio=c.pixelRatio,e.sps=[d],e.duration=i;for(var O=d.subarray(1,4),R="avc1.",N=0;N<3;N++){var m=O[N].toString(16);m.length<2&&(m="0"+m),R+=m}e.codec=R}break;case 8:n=!0,e.pps=[o.data];break;case 9:n=!0,e.audFound=!0,_&&r.pushAccessUnit(_,e),_=r.VideoSample=r.createVideoSample(!1,a.pts,a.dts,"");break;case 12:n=!0;break;default:n=!1,_&&(_.debug+="unknown NAL "+o.type+" ")}_&&n&&_.units.push(o)})),o&&_&&(this.pushAccessUnit(_,e),this.VideoSample=null)},a.parseAVCNALu=function(e,t){var a,o,i=t.byteLength,n=e.naluState||0,r=n,E=[],_=0,T=-1,s=0;for(-1===n&&(T=0,s=31&t[0],n=0,_=1);_<i;)if(a=t[_++],n)if(1!==n)if(a)if(1===a){if(o=_-n-1,T>=0){var S={data:t.subarray(T,o),type:s};E.push(S)}else{var l=this.getLastNalUnit(e.samples);l&&(r&&_<=4-r&&l.state&&(l.data=l.data.subarray(0,l.data.byteLength-r)),o>0&&(l.data=at(l.data,t.subarray(0,o)),l.state=0))}_<i?(T=_,s=31&t[_],n=0):n=-1}else n=0;else n=3;else n=a?0:2;else n=a?0:1;if(T>=0&&n>=0){var I={data:t.subarray(T,i),type:s,state:n};E.push(I)}if(0===E.length){var A=this.getLastNalUnit(e.samples);A&&(A.data=at(A.data,t))}return e.naluState=n,E},t})(yi),bi=(function(){function e(e,t,a){this.keyData=void 0,this.decrypter=void 0,this.keyData=a,this.decrypter=new Qo(t,{removePKCS7Padding:!1})}var t=e.prototype;return t.decryptBuffer=function(e){return this.decrypter.decrypt(e,this.keyData.key.buffer,this.keyData.iv.buffer)},t.decryptAacSample=function(e,t,a){var o=this,i=e[t].unit;if(!(i.length<=16)){var n=i.subarray(16,i.length-i.length%16),r=n.buffer.slice(n.byteOffset,n.byteOffset+n.length);this.decryptBuffer(r).then((function(n){var r=new Uint8Array(n);i.set(r,16),o.decrypter.isSync()||o.decryptAacSamples(e,t+1,a)}))}},t.decryptAacSamples=function(e,t,a){for(;;t++){if(t>=e.length)return void a();if(!(e[t].unit.length<32||(this.decryptAacSample(e,t,a),this.decrypter.isSync())))return}},t.getAvcEncryptedData=function(e){for(var t=16*Math.floor((e.length-48)/160)+16,a=new Int8Array(t),o=0,i=32;i<e.length-16;i+=160,o+=16)a.set(e.subarray(i,i+16),o);return a},t.getAvcDecryptedUnit=function(e,t){for(var a=new Uint8Array(t),o=0,i=32;i<e.length-16;i+=160,o+=16)e.set(a.subarray(o,o+16),i);return e},t.decryptAvcSample=function(e,t,a,o,i){var n=this,r=Et(i.data),E=this.getAvcEncryptedData(r);this.decryptBuffer(E.buffer).then((function(E){i.data=n.getAvcDecryptedUnit(r,E),n.decrypter.isSync()||n.decryptAvcSamples(e,t,a+1,o)}))},t.decryptAvcSamples=function(e,t,a,o){if(e instanceof Uint8Array)throw new Error("Cannot decrypt samples of type Uint8Array");for(;;t++,a=0){if(t>=e.length)return void o();for(var i=e[t].units;!(a>=i.length);a++){var n=i[a];if(!(n.data.length<=48||1!==n.type&&5!==n.type||(this.decryptAvcSample(e,t,a,o,n),this.decrypter.isSync())))return}}},e})(),Ui=188,Gi=(function(){function e(e,t,a){this.observer=void 0,this.config=void 0,this.typeSupported=void 0,this.sampleAes=null,this.pmtParsed=!1,this.audioCodec=void 0,this.videoCodec=void 0,this._duration=0,this._pmtId=-1,this._videoTrack=void 0,this._audioTrack=void 0,this._id3Track=void 0,this._txtTrack=void 0,this.aacOverFlow=null,this.remainderData=null,this.videoParser=void 0,this.observer=e,this.config=t,this.typeSupported=a,this.videoParser=new Mi}e.probe=function(t){var a=e.syncOffset(t);return a>0&&U.warn("MPEG2-TS detected but first sync word found @ offset "+a),-1!==a},e.syncOffset=function(e){for(var t=e.length,a=Math.min(5*Ui,t-Ui)+1,o=0;o<a;){for(var i=!1,n=-1,r=0,E=o;E<t;E+=Ui){if(71!==e[E]||t-E!==Ui&&71!==e[E+Ui]){if(r)return-1;break}if(r++,-1===n&&0!==(n=E)&&(a=Math.min(n+99*Ui,e.length-Ui)+1),i||(i=0===ki(e,E)),i&&r>1&&(0===n&&r>2||E+Ui>a))return n}o++}return-1},e.createTrack=function(e,t){return{container:"video"===e||"audio"===e?"video/mp2t":void 0,type:e,id:Me[e],pid:-1,inputTimeScale:9e4,sequenceNumber:0,samples:[],dropped:0,duration:"audio"===e?t:void 0}};var t=e.prototype;return t.resetInitSegment=function(t,a,o,i){this.pmtParsed=!1,this._pmtId=-1,this._videoTrack=e.createTrack("video"),this._audioTrack=e.createTrack("audio",i),this._id3Track=e.createTrack("id3"),this._txtTrack=e.createTrack("text"),this._audioTrack.segmentCodec="aac",this.aacOverFlow=null,this.remainderData=null,this.audioCodec=a,this.videoCodec=o,this._duration=i},t.resetTimeStamp=function(){},t.resetContiguity=function(){var e=this._audioTrack,t=this._videoTrack,a=this._id3Track;e&&(e.pesData=null),t&&(t.pesData=null),a&&(a.pesData=null),this.aacOverFlow=null,this.remainderData=null},t.demux=function(t,a,o,i){var n;void 0===o&&(o=!1),void 0===i&&(i=!1),o||(this.sampleAes=null);var r=this._videoTrack,E=this._audioTrack,_=this._id3Track,T=this._txtTrack,s=r.pid,S=r.pesData,l=E.pid,I=_.pid,A=E.pesData,u=_.pesData,d=null,c=this.pmtParsed,O=this._pmtId,R=t.length;if(this.remainderData&&(R=(t=at(this.remainderData,t)).length,this.remainderData=null),R<Ui&&!i)return this.remainderData=t,{audioTrack:E,videoTrack:r,id3Track:_,textTrack:T};var N=Math.max(0,e.syncOffset(t));(R-=(R-N)%Ui)<t.byteLength&&!i&&(this.remainderData=new Uint8Array(t.buffer,R,t.buffer.byteLength-R));for(var m=0,L=N;L<R;L+=Ui)if(71===t[L]){var D=!!(64&t[L+1]),p=ki(t,L),h=void 0;if((48&t[L+3])>>4>1){if((h=L+5+t[L+4])===L+Ui)continue}else h=L+4;switch(p){case s:D&&(S&&(n=wi(S))&&this.videoParser.parseAVCPES(r,T,n,!1,this._duration),S={data:[],size:0}),S&&(S.data.push(t.subarray(h,L+Ui)),S.size+=L+Ui-h);break;case l:if(D){if(A&&(n=wi(A)))switch(E.segmentCodec){case"aac":this.parseAACPES(E,n);break;case"mp3":this.parseMPEGPES(E,n);break;case"ac3":this.parseAC3PES(E,n)}A={data:[],size:0}}A&&(A.data.push(t.subarray(h,L+Ui)),A.size+=L+Ui-h);break;case I:D&&(u&&(n=wi(u))&&this.parseID3PES(_,n),u={data:[],size:0}),u&&(u.data.push(t.subarray(h,L+Ui)),u.size+=L+Ui-h);break;case 0:D&&(h+=t[h]+1),O=this._pmtId=Fi(t,h);break;case O:D&&(h+=t[h]+1);var C=Vi(t,h,this.typeSupported,o);(s=C.videoPid)>0&&(r.pid=s,r.segmentCodec=C.segmentVideoCodec),(l=C.audioPid)>0&&(E.pid=l,E.segmentCodec=C.segmentAudioCodec),(I=C.id3Pid)>0&&(_.pid=I),null===d||c||(U.warn("MPEG-TS PMT found at "+L+" after unknown PID '"+d+"'. Backtracking to sync byte @"+N+" to parse all TS packets."),d=null,L=N-188),c=this.pmtParsed=!0;break;case 17:case 8191:break;default:d=p}}else m++;if(m>0){var g=new Error("Found "+m+" TS packet/s that do not start with 0x47");this.observer.emit(f.ERROR,f.ERROR,{type:B.MEDIA_ERROR,details:P.FRAG_PARSING_ERROR,fatal:!1,error:g,reason:g.message})}r.pesData=S,E.pesData=A,_.pesData=u;var v={audioTrack:E,videoTrack:r,id3Track:_,textTrack:T};return i&&this.extractRemainingSamples(v),v},t.flush=function(){var e,t=this.remainderData;return this.remainderData=null,e=t?this.demux(t,-1,!1,!0):{videoTrack:this._videoTrack,audioTrack:this._audioTrack,id3Track:this._id3Track,textTrack:this._txtTrack},this.extractRemainingSamples(e),this.sampleAes?this.decrypt(e,this.sampleAes):e},t.extractRemainingSamples=function(e){var t,a=e.audioTrack,o=e.videoTrack,i=e.id3Track,n=e.textTrack,r=o.pesData,E=a.pesData,_=i.pesData;if(r&&(t=wi(r))?(this.videoParser.parseAVCPES(o,n,t,!0,this._duration),o.pesData=null):o.pesData=r,E&&(t=wi(E))){switch(a.segmentCodec){case"aac":this.parseAACPES(a,t);break;case"mp3":this.parseMPEGPES(a,t);break;case"ac3":this.parseAC3PES(a,t)}a.pesData=null}else null!=E&&E.size&&U.log("last AAC PES packet truncated,might overlap between fragments"),a.pesData=E;_&&(t=wi(_))?(this.parseID3PES(i,t),i.pesData=null):i.pesData=_},t.demuxSampleAes=function(e,t,a){var o=this.demux(e,a,!0,!this.config.progressive),i=this.sampleAes=new bi(this.observer,this.config,t);return this.decrypt(o,i)},t.decrypt=function(e,t){return new Promise((function(a){var o=e.audioTrack,i=e.videoTrack;o.samples&&"aac"===o.segmentCodec?t.decryptAacSamples(o.samples,0,(function(){i.samples?t.decryptAvcSamples(i.samples,0,0,(function(){a(e)})):a(e)})):i.samples&&t.decryptAvcSamples(i.samples,0,0,(function(){a(e)}))}))},t.destroy=function(){this._duration=0},t.parseAACPES=function(e,t){var a,o,i,n=0,r=this.aacOverFlow,E=t.data;if(r){this.aacOverFlow=null;var _=r.missing,T=r.sample.unit.byteLength;if(-1===_)E=at(r.sample.unit,E);else{var s=T-_;r.sample.unit.set(E.subarray(0,_),s),e.samples.push(r.sample),n=r.missing}}for(a=n,o=E.length;a<o-1&&!_i(E,a);a++);if(a!==n){var S,l=a<o-1;S=l?"AAC PES did not start with ADTS header,offset:"+a:"No ADTS header found in AAC PES";var I=new Error(S);if(U.warn("parsing error: "+S),this.observer.emit(f.ERROR,f.ERROR,{type:B.MEDIA_ERROR,details:P.FRAG_PARSING_ERROR,fatal:!1,levelRetry:l,error:I,reason:S}),!l)return}if(Si(e,this.observer,E,a,this.audioCodec),void 0!==t.pts)i=t.pts;else{if(!r)return void U.warn("[tsdemuxer]: AAC PES unknown PTS");var A=li(e.samplerate);i=r.sample.pts+A}for(var u,d=0;a<o;){if(a+=(u=Ai(e,E,a,i,d)).length,u.missing){this.aacOverFlow=u;break}for(d++;a<o-1&&!_i(E,a);a++);}},t.parseMPEGPES=function(e,t){var a=t.data,o=a.length,i=0,n=0,r=t.pts;if(void 0!==r)for(;n<o;)if(Di(a,n)){var E=Ni(e,a,n,r,i);if(!E)break;n+=E.length,i++}else n++;else U.warn("[tsdemuxer]: MPEG PES unknown PTS")},t.parseAC3PES=function(e,t){var a=t.data,o=t.pts;if(void 0!==o)for(var i,n=a.length,r=0,E=0;E<n&&(i=vi(e,a,E,o,r++))>0;)E+=i;else U.warn("[tsdemuxer]: AC3 PES unknown PTS")},t.parseID3PES=function(e,t){if(void 0!==t.pts){var a=T({},t,{type:this._videoTrack?Ea.emsg:Ea.audioId3,duration:Number.POSITIVE_INFINITY});e.samples.push(a)}else U.warn("[tsdemuxer]: ID3 PES unknown PTS")},e})();function ki(e,t){return((31&e[t+1])<<8)+e[t+2]}function Fi(e,t){return(31&e[t+10])<<8|e[t+11]}function Vi(e,t,a,o){var i={audioPid:-1,videoPid:-1,id3Pid:-1,segmentVideoCodec:"avc",segmentAudioCodec:"aac"},n=t+3+((15&e[t+1])<<8|e[t+2])-4;for(t+=12+((15&e[t+10])<<8|e[t+11]);t<n;){var r=ki(e,t),E=(15&e[t+3])<<8|e[t+4];switch(e[t]){case 207:if(!o){Hi("ADTS AAC");break}case 15:-1===i.audioPid&&(i.audioPid=r);break;case 21:-1===i.id3Pid&&(i.id3Pid=r);break;case 219:if(!o){Hi("H.264");break}case 27:-1===i.videoPid&&(i.videoPid=r,i.segmentVideoCodec="avc");break;case 3:case 4:a.mpeg||a.mp3?-1===i.audioPid&&(i.audioPid=r,i.segmentAudioCodec="mp3"):U.log("MPEG audio found, not supported in this browser");break;case 193:if(!o){Hi("AC-3");break}case 129:a.ac3?-1===i.audioPid&&(i.audioPid=r,i.segmentAudioCodec="ac3"):U.log("AC-3 audio found, not supported in this browser");break;case 6:if(-1===i.audioPid&&E>0)for(var _=t+5,T=E;T>2;){106===e[_]&&(!0!==a.ac3?U.log("AC-3 audio found, not supported in this browser for now"):(i.audioPid=r,i.segmentAudioCodec="ac3"));var s=e[_+1]+2;_+=s,T-=s}break;case 194:case 135:U.warn("Unsupported EC-3 in M2TS found");break;case 36:U.warn("Unsupported HEVC in M2TS found")}t+=E+5}return i}function Hi(e){U.log(e+" with AES-128-CBC encryption found in unencrypted stream")}function wi(e){var t,a,o,i,n,r=0,E=e.data;if(!e||0===e.size)return null;for(;E[0].length<19&&E.length>1;)E[0]=at(E[0],E[1]),E.splice(1,1);if(1===((t=E[0])[0]<<16)+(t[1]<<8)+t[2]){if((a=(t[4]<<8)+t[5])&&a>e.size-6)return null;var _=t[7];192&_&&(i=536870912*(14&t[9])+4194304*(255&t[10])+16384*(254&t[11])+128*(255&t[12])+(254&t[13])/2,64&_?i-(n=536870912*(14&t[14])+4194304*(255&t[15])+16384*(254&t[16])+128*(255&t[17])+(254&t[18])/2)>54e5&&(U.warn(Math.round((i-n)/9e4)+"s delta between PTS and DTS, align them"),i=n):n=i);var T=(o=t[8])+9;if(e.size<=T)return null;e.size-=T;for(var s=new Uint8Array(e.size),S=0,l=E.length;S<l;S++){var I=(t=E[S]).byteLength;if(T){if(T>I){T-=I;continue}t=t.subarray(T),I-=T,T=0}s.set(t,r),r+=I}return a&&(a-=o+3),{data:s,pts:i,dts:n,len:a}}return null}var Yi=(function(e){function t(){return e.apply(this,arguments)||this}s(t,e);var a=t.prototype;return a.resetInitSegment=function(t,a,o,i){e.prototype.resetInitSegment.call(this,t,a,o,i),this._audioTrack={container:"audio/mpeg",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"mp3",samples:[],manifestCodec:a,duration:i,inputTimeScale:9e4,dropped:0}},t.probe=function(e){if(!e)return!1;var t=ce(e,0),a=(null==t?void 0:t.length)||0;if(t&&11===e[a]&&119===e[a+1]&&void 0!==Ne(t)&&Pi(e,a)<=16)return!1;for(var o=e.length;a<o;a++)if(hi(e,a))return U.log("MPEG Audio sync word found !"),!0;return!1},a.canParse=function(e,t){return pi(e,t)},a.appendFrame=function(e,t,a){if(null!==this.basePTS)return Ni(e,t,a,this.basePTS,this.frameIndex)},t})(ti),zi=(function(){function e(){}return e.getSilentFrame=function(e,t){if("mp4a.40.2"===e){if(1===t)return new Uint8Array([0,200,0,128,35,128]);if(2===t)return new Uint8Array([33,0,73,144,2,25,0,35,128]);if(3===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,142]);if(4===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,128,44,128,8,2,56]);if(5===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,56]);if(6===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,0,178,0,32,8,224])}else{if(1===t)return new Uint8Array([1,64,34,128,163,78,230,128,186,8,0,0,0,28,6,241,193,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(2===t)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(3===t)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94])}},e})(),Ki=Math.pow(2,32)-1,xi=(function(){function e(){}return e.init=function(){var t;for(t in e.types={avc1:[],avcC:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],".mp3":[],dac3:[],"ac-3":[],mvex:[],mvhd:[],pasp:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[]},e.types)e.types.hasOwnProperty(t)&&(e.types[t]=[t.charCodeAt(0),t.charCodeAt(1),t.charCodeAt(2),t.charCodeAt(3)]);var a=new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),o=new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0]);e.HDLR_TYPES={video:a,audio:o};var i=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),n=new Uint8Array([0,0,0,0,0,0,0,0]);e.STTS=e.STSC=e.STCO=n,e.STSZ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),e.VMHD=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0]),e.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]),e.STSD=new Uint8Array([0,0,0,0,0,0,0,1]);var r=new Uint8Array([105,115,111,109]),E=new Uint8Array([97,118,99,49]),_=new Uint8Array([0,0,0,1]);e.FTYP=e.box(e.types.ftyp,r,_,r,E),e.DINF=e.box(e.types.dinf,e.box(e.types.dref,i))},e.box=function(e){for(var t=8,a=arguments.length,o=new Array(a>1?a-1:0),i=1;i<a;i++)o[i-1]=arguments[i];for(var n=o.length,r=n;n--;)t+=o[n].byteLength;var E=new Uint8Array(t);for(E[0]=t>>24&255,E[1]=t>>16&255,E[2]=t>>8&255,E[3]=255&t,E.set(e,4),n=0,t=8;n<r;n++)E.set(o[n],t),t+=o[n].byteLength;return E},e.hdlr=function(t){return e.box(e.types.hdlr,e.HDLR_TYPES[t])},e.mdat=function(t){return e.box(e.types.mdat,t)},e.mdhd=function(t,a){a*=t;var o=Math.floor(a/(Ki+1)),i=Math.floor(a%(Ki+1));return e.box(e.types.mdhd,new Uint8Array([1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,t>>24&255,t>>16&255,t>>8&255,255&t,o>>24,o>>16&255,o>>8&255,255&o,i>>24,i>>16&255,i>>8&255,255&i,85,196,0,0]))},e.mdia=function(t){return e.box(e.types.mdia,e.mdhd(t.timescale,t.duration),e.hdlr(t.type),e.minf(t))},e.mfhd=function(t){return e.box(e.types.mfhd,new Uint8Array([0,0,0,0,t>>24,t>>16&255,t>>8&255,255&t]))},e.minf=function(t){return"audio"===t.type?e.box(e.types.minf,e.box(e.types.smhd,e.SMHD),e.DINF,e.stbl(t)):e.box(e.types.minf,e.box(e.types.vmhd,e.VMHD),e.DINF,e.stbl(t))},e.moof=function(t,a,o){return e.box(e.types.moof,e.mfhd(t),e.traf(o,a))},e.moov=function(t){for(var a=t.length,o=[];a--;)o[a]=e.trak(t[a]);return e.box.apply(null,[e.types.moov,e.mvhd(t[0].timescale,t[0].duration)].concat(o).concat(e.mvex(t)))},e.mvex=function(t){for(var a=t.length,o=[];a--;)o[a]=e.trex(t[a]);return e.box.apply(null,[e.types.mvex].concat(o))},e.mvhd=function(t,a){a*=t;var o=Math.floor(a/(Ki+1)),i=Math.floor(a%(Ki+1)),n=new Uint8Array([1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,t>>24&255,t>>16&255,t>>8&255,255&t,o>>24,o>>16&255,o>>8&255,255&o,i>>24,i>>16&255,i>>8&255,255&i,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]);return e.box(e.types.mvhd,n)},e.sdtp=function(t){var a,o,i=t.samples||[],n=new Uint8Array(4+i.length);for(a=0;a<i.length;a++)o=i[a].flags,n[a+4]=o.dependsOn<<4|o.isDependedOn<<2|o.hasRedundancy;return e.box(e.types.sdtp,n)},e.stbl=function(t){return e.box(e.types.stbl,e.stsd(t),e.box(e.types.stts,e.STTS),e.box(e.types.stsc,e.STSC),e.box(e.types.stsz,e.STSZ),e.box(e.types.stco,e.STCO))},e.avc1=function(t){var a,o,i,n=[],r=[];for(a=0;a<t.sps.length;a++)i=(o=t.sps[a]).byteLength,n.push(i>>>8&255),n.push(255&i),n=n.concat(Array.prototype.slice.call(o));for(a=0;a<t.pps.length;a++)i=(o=t.pps[a]).byteLength,r.push(i>>>8&255),r.push(255&i),r=r.concat(Array.prototype.slice.call(o));var E=e.box(e.types.avcC,new Uint8Array([1,n[3],n[4],n[5],255,224|t.sps.length].concat(n).concat([t.pps.length]).concat(r))),_=t.width,T=t.height,s=t.pixelRatio[0],S=t.pixelRatio[1];return e.box(e.types.avc1,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,_>>8&255,255&_,T>>8&255,255&T,0,72,0,0,0,72,0,0,0,0,0,0,0,1,18,100,97,105,108,121,109,111,116,105,111,110,47,104,108,115,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,17]),E,e.box(e.types.btrt,new Uint8Array([0,28,156,128,0,45,198,192,0,45,198,192])),e.box(e.types.pasp,new Uint8Array([s>>24,s>>16&255,s>>8&255,255&s,S>>24,S>>16&255,S>>8&255,255&S])))},e.esds=function(e){var t=e.config.length;return new Uint8Array([0,0,0,0,3,23+t,0,1,0,4,15+t,64,21,0,0,0,0,0,0,0,0,0,0,0,5].concat([t]).concat(e.config).concat([6,1,2]))},e.audioStsd=function(e){var t=e.samplerate;return new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,e.channelCount,0,16,0,0,0,0,t>>8&255,255&t,0,0])},e.mp4a=function(t){return e.box(e.types.mp4a,e.audioStsd(t),e.box(e.types.esds,e.esds(t)))},e.mp3=function(t){return e.box(e.types[".mp3"],e.audioStsd(t))},e.ac3=function(t){return e.box(e.types["ac-3"],e.audioStsd(t),e.box(e.types.dac3,t.config))},e.stsd=function(t){return"audio"===t.type?"mp3"===t.segmentCodec&&"mp3"===t.codec?e.box(e.types.stsd,e.STSD,e.mp3(t)):"ac3"===t.segmentCodec?e.box(e.types.stsd,e.STSD,e.ac3(t)):e.box(e.types.stsd,e.STSD,e.mp4a(t)):e.box(e.types.stsd,e.STSD,e.avc1(t))},e.tkhd=function(t){var a=t.id,o=t.duration*t.timescale,i=t.width,n=t.height,r=Math.floor(o/(Ki+1)),E=Math.floor(o%(Ki+1));return e.box(e.types.tkhd,new Uint8Array([1,0,0,7,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,a>>24&255,a>>16&255,a>>8&255,255&a,0,0,0,0,r>>24,r>>16&255,r>>8&255,255&r,E>>24,E>>16&255,E>>8&255,255&E,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,i>>8&255,255&i,0,0,n>>8&255,255&n,0,0]))},e.traf=function(t,a){var o=e.sdtp(t),i=t.id,n=Math.floor(a/(Ki+1)),r=Math.floor(a%(Ki+1));return e.box(e.types.traf,e.box(e.types.tfhd,new Uint8Array([0,0,0,0,i>>24,i>>16&255,i>>8&255,255&i])),e.box(e.types.tfdt,new Uint8Array([1,0,0,0,n>>24,n>>16&255,n>>8&255,255&n,r>>24,r>>16&255,r>>8&255,255&r])),e.trun(t,o.length+16+20+8+16+8+8),o)},e.trak=function(t){return t.duration=t.duration||4294967295,e.box(e.types.trak,e.tkhd(t),e.mdia(t))},e.trex=function(t){var a=t.id;return e.box(e.types.trex,new Uint8Array([0,0,0,0,a>>24,a>>16&255,a>>8&255,255&a,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]))},e.trun=function(t,a){var o,i,n,r,E,_,T=t.samples||[],s=T.length,S=12+16*s,l=new Uint8Array(S);for(a+=8+S,l.set(["video"===t.type?1:0,0,15,1,s>>>24&255,s>>>16&255,s>>>8&255,255&s,a>>>24&255,a>>>16&255,a>>>8&255,255&a],0),o=0;o<s;o++)n=(i=T[o]).duration,r=i.size,E=i.flags,_=i.cts,l.set([n>>>24&255,n>>>16&255,n>>>8&255,255&n,r>>>24&255,r>>>16&255,r>>>8&255,255&r,E.isLeading<<2|E.dependsOn,E.isDependedOn<<6|E.hasRedundancy<<4|E.paddingValue<<1|E.isNonSync,61440&E.degradPrio,15&E.degradPrio,_>>>24&255,_>>>16&255,_>>>8&255,255&_],12+16*o);return e.box(e.types.trun,l)},e.initSegment=function(t){e.types||e.init();var a=e.moov(t);return at(e.FTYP,a)},e})();xi.types=void 0,xi.HDLR_TYPES=void 0,xi.STTS=void 0,xi.STSC=void 0,xi.STCO=void 0,xi.STSZ=void 0,xi.VMHD=void 0,xi.SMHD=void 0,xi.STSD=void 0,xi.FTYP=void 0,xi.DINF=void 0;var ji=9e4;function Qi(e,t,a,o){void 0===a&&(a=1),void 0===o&&(o=!1);var i=e*t*a;return o?Math.round(i):i}function Xi(e,t,a,o){return void 0===a&&(a=1),void 0===o&&(o=!1),Qi(e,t,1/a,o)}function $i(e,t){return void 0===t&&(t=!1),Qi(e,1e3,1/ji,t)}function qi(e,t){return void 0===t&&(t=1),Qi(e,ji,1/t)}var Ji=1e4,Zi=1024,en=1152,tn=1536,an=null,on=null,nn=(function(){function e(e,t,a,o){if(this.observer=void 0,this.config=void 0,this.typeSupported=void 0,this.ISGenerated=!1,this._initPTS=null,this._initDTS=null,this.nextAvcDts=null,this.nextAudioPts=null,this.videoSampleDuration=null,this.isAudioContiguous=!1,this.isVideoContiguous=!1,this.videoTrackConfig=void 0,this.observer=e,this.config=t,this.typeSupported=a,this.ISGenerated=!1,null===an){var i=(navigator.userAgent||"").match(/Chrome\/(\d+)/i);an=i?parseInt(i[1]):0}if(null===on){var n=navigator.userAgent.match(/Safari\/(\d+)/i);on=n?parseInt(n[1]):0}}var t=e.prototype;return t.destroy=function(){this.config=this.videoTrackConfig=this._initPTS=this._initDTS=null},t.resetTimeStamp=function(e){U.log("[mp4-remuxer]: initPTS & initDTS reset"),this._initPTS=this._initDTS=e},t.resetNextTimestamp=function(){U.log("[mp4-remuxer]: reset next timestamp"),this.isVideoContiguous=!1,this.isAudioContiguous=!1},t.resetInitSegment=function(){U.log("[mp4-remuxer]: ISGenerated flag reset"),this.ISGenerated=!1,this.videoTrackConfig=void 0},t.getVideoStartPts=function(e){var t=!1,a=e.reduce((function(e,a){var o=a.pts-e;return o<-4294967296?(t=!0,rn(e,a.pts)):o>0?e:a.pts}),e[0].pts);return t&&U.debug("PTS rollover detected"),a},t.remux=function(e,t,a,o,i,n,r,E){var _,T,s,S,l,I,A=i,u=i,d=e.pid>-1,c=t.pid>-1,O=t.samples.length,R=e.samples.length>0,N=r&&O>0||O>1;if((!d||R)&&(!c||N)||this.ISGenerated||r){if(this.ISGenerated){var m,L,D,p,h=this.videoTrackConfig;!h||t.width===h.width&&t.height===h.height&&(null==(m=t.pixelRatio)?void 0:m[0])===(null==(L=h.pixelRatio)?void 0:L[0])&&(null==(D=t.pixelRatio)?void 0:D[1])===(null==(p=h.pixelRatio)?void 0:p[1])||this.resetInitSegment()}else s=this.generateIS(e,t,i,n);var C,f=this.isVideoContiguous,B=-1;if(N&&(B=En(t.samples),!f&&this.config.forceKeyFrameOnDiscontinuity))if(I=!0,B>0){U.warn("[mp4-remuxer]: Dropped "+B+" out of "+O+" video samples due to a missing keyframe");var P=this.getVideoStartPts(t.samples);t.samples=t.samples.slice(B),t.dropped+=B,C=u+=(t.samples[0].pts-P)/t.inputTimeScale}else-1===B&&(U.warn("[mp4-remuxer]: No keyframe found out of "+O+" video samples"),I=!1);if(this.ISGenerated){if(R&&N){var g=this.getVideoStartPts(t.samples),v=(rn(e.samples[0].pts,g)-g)/t.inputTimeScale;A+=Math.max(0,v),u+=Math.max(0,-v)}if(R){if(e.samplerate||(U.warn("[mp4-remuxer]: regenerate InitSegment as audio detected"),s=this.generateIS(e,t,i,n)),T=this.remuxAudio(e,A,this.isAudioContiguous,n,c||N||E===$t.AUDIO?u:void 0),N){var y=T?T.endPTS-T.startPTS:0;t.inputTimeScale||(U.warn("[mp4-remuxer]: regenerate InitSegment as video detected"),s=this.generateIS(e,t,i,n)),_=this.remuxVideo(t,u,f,y)}}else N&&(_=this.remuxVideo(t,u,f,0));_&&(_.firstKeyFrame=B,_.independent=-1!==B,_.firstKeyFramePTS=C)}}return this.ISGenerated&&this._initPTS&&this._initDTS&&(a.samples.length&&(l=_n(a,i,this._initPTS,this._initDTS)),o.samples.length&&(S=Tn(o,i,this._initPTS))),{audio:T,video:_,initSegment:s,independent:I,text:S,id3:l}},t.generateIS=function(e,t,a,o){var i,n,r,E=e.samples,_=t.samples,T=this.typeSupported,s={},S=this._initPTS,l=!S||o,I="audio/mp4";if(l&&(i=n=1/0),e.config&&E.length){switch(e.timescale=e.samplerate,e.segmentCodec){case"mp3":T.mpeg?(I="audio/mpeg",e.codec=""):T.mp3&&(e.codec="mp3");break;case"ac3":e.codec="ac-3"}s.audio={id:"audio",container:I,codec:e.codec,initSegment:"mp3"===e.segmentCodec&&T.mpeg?new Uint8Array(0):xi.initSegment([e]),metadata:{channelCount:e.channelCount}},l&&(r=e.inputTimeScale,S&&r===S.timescale?l=!1:i=n=E[0].pts-Math.round(r*a))}if(t.sps&&t.pps&&_.length){if(t.timescale=t.inputTimeScale,s.video={id:"main",container:"video/mp4",codec:t.codec,initSegment:xi.initSegment([t]),metadata:{width:t.width,height:t.height}},l)if(r=t.inputTimeScale,S&&r===S.timescale)l=!1;else{var A=this.getVideoStartPts(_),u=Math.round(r*a);n=Math.min(n,rn(_[0].dts,A)-u),i=Math.min(i,A-u)}this.videoTrackConfig={width:t.width,height:t.height,pixelRatio:t.pixelRatio}}if(Object.keys(s).length)return this.ISGenerated=!0,l?(this._initPTS={baseTime:i,timescale:r},this._initDTS={baseTime:n,timescale:r}):i=r=void 0,{tracks:s,initPTS:i,timescale:r}},t.remuxVideo=function(e,t,a,o){var i,n,r=e.inputTimeScale,E=e.samples,_=[],s=E.length,S=this._initPTS,l=this.nextAvcDts,I=8,A=this.videoSampleDuration,u=Number.POSITIVE_INFINITY,d=Number.NEGATIVE_INFINITY,c=!1;if(!a||null===l){var O=t*r,R=E[0].pts-rn(E[0].dts,E[0].pts);an&&null!==l&&Math.abs(O-R-l)<15e3?a=!0:l=O-R}for(var N=S.baseTime*r/S.timescale,m=0;m<s;m++){var L=E[m];L.pts=rn(L.pts-N,l),L.dts=rn(L.dts-N,l),L.dts<E[m>0?m-1:m].dts&&(c=!0)}c&&E.sort((function(e,t){var a=e.dts-t.dts,o=e.pts-t.pts;return a||o})),i=E[0].dts;var D=(n=E[E.length-1].dts)-i,p=D?Math.round(D/(s-1)):A||e.inputTimeScale/30;if(a){var h=i-l,C=h>p,g=h<-1;if((C||g)&&(C?U.warn("AVC: "+$i(h,!0)+" ms ("+h+"dts) hole between fragments detected at "+t.toFixed(3)):U.warn("AVC: "+$i(-h,!0)+" ms ("+h+"dts) overlapping between fragments detected at "+t.toFixed(3)),!g||l>=E[0].pts||an)){i=l;var v=E[0].pts-h;if(C)E[0].dts=i,E[0].pts=v;else for(var y=0;y<E.length&&!(E[y].dts>v);y++)E[y].dts-=h,E[y].pts-=h;U.log("Video: Initial PTS/DTS adjusted: "+$i(v,!0)+"/"+$i(i,!0)+", delta: "+$i(h,!0)+" ms")}}for(var W=0,M=0,b=i=Math.max(0,i),G=0;G<s;G++){for(var k=E[G],F=k.units,V=F.length,H=0,w=0;w<V;w++)H+=F[w].data.length;M+=H,W+=V,k.length=H,k.dts<b?(k.dts=b,b+=p/4|0||1):b=k.dts,u=Math.min(k.pts,u),d=Math.max(k.pts,d)}n=E[s-1].dts;var Y,z=M+4*W+8;try{Y=new Uint8Array(z)}catch(e){return void this.observer.emit(f.ERROR,f.ERROR,{type:B.MUX_ERROR,details:P.REMUX_ALLOC_ERROR,fatal:!1,error:e,bytes:z,reason:"fail allocating video mdat "+z})}var K=new DataView(Y.buffer);K.setUint32(0,z),Y.set(xi.types.mdat,4);for(var x=!1,j=Number.POSITIVE_INFINITY,Q=Number.POSITIVE_INFINITY,X=Number.NEGATIVE_INFINITY,$=Number.NEGATIVE_INFINITY,q=0;q<s;q++){for(var J=E[q],Z=J.units,ee=0,te=0,ae=Z.length;te<ae;te++){var oe=Z[te],ie=oe.data,ne=oe.data.byteLength;K.setUint32(I,ne),I+=4,Y.set(ie,I),I+=ne,ee+=4+ne}var re=void 0;if(q<s-1)A=E[q+1].dts-J.dts,re=E[q+1].pts-J.pts;else{var Ee=this.config,_e=q>0?J.dts-E[q-1].dts:p;if(re=q>0?J.pts-E[q-1].pts:p,Ee.stretchShortVideoTrack&&null!==this.nextAudioPts){var Te=Math.floor(Ee.maxBufferHole*r),se=(o?u+o*r:this.nextAudioPts)-J.pts;se>Te?((A=se-_e)<0?A=_e:x=!0,U.log("[mp4-remuxer]: It is approximately "+se/90+" ms to the next segment; using duration "+A/90+" ms for the last video frame.")):A=_e}else A=_e}var Se=Math.round(J.pts-J.dts);j=Math.min(j,A),X=Math.max(X,A),Q=Math.min(Q,re),$=Math.max($,re),_.push(new Sn(J.key,A,ee,Se))}if(_.length)if(an){if(an<70){var le=_[0].flags;le.dependsOn=2,le.isNonSync=0}}else if(on&&$-Q<X-j&&p/X<.025&&0===_[0].cts){U.warn("Found irregular gaps in sample duration. Using PTS instead of DTS to determine MP4 sample duration.");for(var Ie=i,Ae=0,ue=_.length;Ae<ue;Ae++){var de=Ie+_[Ae].duration,ce=Ie+_[Ae].cts;if(Ae<ue-1){var Oe=de+_[Ae+1].cts;_[Ae].duration=Oe-ce}else _[Ae].duration=Ae?_[Ae-1].duration:p;_[Ae].cts=0,Ie=de}}A=x||!A?p:A,this.nextAvcDts=l=n+A,this.videoSampleDuration=A,this.isVideoContiguous=!0;var Re={data1:xi.moof(e.sequenceNumber++,i,T({},e,{samples:_})),data2:Y,startPTS:u/r,endPTS:(d+A)/r,startDTS:i/r,endDTS:l/r,type:"video",hasAudio:!1,hasVideo:!0,nb:_.length,dropped:e.dropped};return e.samples=[],e.dropped=0,Re},t.getSamplesPerFrame=function(e){switch(e.segmentCodec){case"mp3":return en;case"ac3":return tn;default:return Zi}},t.remuxAudio=function(e,t,a,o,i){var n=e.inputTimeScale,r=n/(e.samplerate?e.samplerate:n),E=this.getSamplesPerFrame(e),_=E*r,s=this._initPTS,S="mp3"===e.segmentCodec&&this.typeSupported.mpeg,l=[],I=void 0!==i,A=e.samples,u=S?0:8,d=this.nextAudioPts||-1,c=t*n,O=s.baseTime*n/s.timescale;if(this.isAudioContiguous=a=a||A.length&&d>0&&(o&&Math.abs(c-d)<9e3||Math.abs(rn(A[0].pts-O,c)-d)<20*_),A.forEach((function(e){e.pts=rn(e.pts-O,c)})),!a||d<0){if(A=A.filter((function(e){return e.pts>=0})),!A.length)return;d=0===i?0:o&&!I?Math.max(0,c):A[0].pts}if("aac"===e.segmentCodec)for(var R=this.config.maxAudioFramesDrift,N=0,m=d;N<A.length;N++){var L=A[N],D=L.pts,p=D-m,h=Math.abs(1e3*p/n);if(p<=-R*_&&I)0===N&&(U.warn("Audio frame @ "+(D/n).toFixed(3)+"s overlaps nextAudioPts by "+Math.round(1e3*p/n)+" ms."),this.nextAudioPts=d=m=D);else if(p>=R*_&&h<Ji&&I){var C=Math.round(p/_);(m=D-C*_)<0&&(C--,m+=_),0===N&&(this.nextAudioPts=d=m),U.warn("[mp4-remuxer]: Injecting "+C+" audio frame @ "+(m/n).toFixed(3)+"s due to "+Math.round(1e3*p/n)+" ms gap.");for(var g=0;g<C;g++){var v=Math.max(m,0),y=zi.getSilentFrame(e.manifestCodec||e.codec,e.channelCount);y||(U.log("[mp4-remuxer]: Unable to get silent frame for given audio codec; duplicating last frame instead."),y=L.unit.subarray()),A.splice(N,0,{unit:y,pts:v}),m+=_,N++}}L.pts=m,m+=_}for(var W,M=null,b=null,G=0,k=A.length;k--;)G+=A[k].unit.byteLength;for(var F=0,V=A.length;F<V;F++){var H=A[F],w=H.unit,Y=H.pts;if(null!==b)l[F-1].duration=Math.round((Y-b)/r);else{if(a&&"aac"===e.segmentCodec&&(Y=d),M=Y,!(G>0))return;G+=u;try{W=new Uint8Array(G)}catch(e){return void this.observer.emit(f.ERROR,f.ERROR,{type:B.MUX_ERROR,details:P.REMUX_ALLOC_ERROR,fatal:!1,error:e,bytes:G,reason:"fail allocating audio mdat "+G})}S||(new DataView(W.buffer).setUint32(0,G),W.set(xi.types.mdat,4))}W.set(w,u);var z=w.byteLength;u+=z,l.push(new Sn(!0,E,z,0)),b=Y}var K=l.length;if(K){var x=l[l.length-1];this.nextAudioPts=d=b+r*x.duration;var j=S?new Uint8Array(0):xi.moof(e.sequenceNumber++,M/r,T({},e,{samples:l}));e.samples=[];var Q=M/n,X=d/n,$={data1:j,data2:W,startPTS:Q,endPTS:X,startDTS:Q,endDTS:X,type:"audio",hasAudio:!0,hasVideo:!1,nb:K};return this.isAudioContiguous=!0,$}},t.remuxEmptyAudio=function(e,t,a,o){var i=e.inputTimeScale,n=i/(e.samplerate?e.samplerate:i),r=this.nextAudioPts,E=this._initDTS,_=9e4*E.baseTime/E.timescale,T=(null!==r?r:o.startDTS*i)+_,s=o.endDTS*i+_,S=n*Zi,l=Math.ceil((s-T)/S),I=zi.getSilentFrame(e.manifestCodec||e.codec,e.channelCount);if(U.warn("[mp4-remuxer]: remux empty Audio"),I){for(var A=[],u=0;u<l;u++){var d=T+u*S;A.push({unit:I,pts:d,dts:d})}return e.samples=A,this.remuxAudio(e,t,a,!1)}U.trace("[mp4-remuxer]: Unable to remuxEmptyAudio since we were unable to get a silent frame for given audio codec")},e})();function rn(e,t){var a;if(null===t)return e;for(a=t<e?-8589934592:8589934592;Math.abs(e-t)>4294967296;)e+=a;return e}function En(e){for(var t=0;t<e.length;t++)if(e[t].key)return t;return-1}function _n(e,t,a,o){var i=e.samples.length;if(i){for(var n=e.inputTimeScale,r=0;r<i;r++){var E=e.samples[r];E.pts=rn(E.pts-a.baseTime*n/a.timescale,t*n)/n,E.dts=rn(E.dts-o.baseTime*n/o.timescale,t*n)/n}var _=e.samples;return e.samples=[],{samples:_}}}function Tn(e,t,a){var o=e.samples.length;if(o){for(var i=e.inputTimeScale,n=0;n<o;n++){var r=e.samples[n];r.pts=rn(r.pts-a.baseTime*i/a.timescale,t*i)/i}e.samples.sort((function(e,t){return e.pts-t.pts}));var E=e.samples;return e.samples=[],{samples:E}}}var sn,Sn=function(e,t,a,o){this.size=void 0,this.duration=void 0,this.cts=void 0,this.flags=void 0,this.duration=t,this.size=a,this.cts=o,this.flags={isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:e?2:1,isNonSync:e?0:1}},ln=(function(){function e(){this.emitInitSegment=!1,this.audioCodec=void 0,this.videoCodec=void 0,this.initData=void 0,this.initPTS=null,this.initTracks=void 0,this.lastEndTime=null}var t=e.prototype;return t.destroy=function(){},t.resetTimeStamp=function(e){this.initPTS=e,this.lastEndTime=null},t.resetNextTimestamp=function(){this.lastEndTime=null},t.resetInitSegment=function(e,t,a,o){this.audioCodec=t,this.videoCodec=a,this.generateInitSegment(Xe(e,o)),this.emitInitSegment=!0},t.generateInitSegment=function(e){var t=this.audioCodec,a=this.videoCodec;if(null==e||!e.byteLength)return this.initTracks=void 0,void(this.initData=void 0);var o=this.initData=ze(e);o.audio&&(t=An(o.audio,z.AUDIO)),o.video&&(a=An(o.video,z.VIDEO));var i={};o.audio&&o.video?i.audiovideo={container:"video/mp4",codec:t+","+a,initSegment:e,id:"main"}:o.audio?i.audio={container:"audio/mp4",codec:t,initSegment:e,id:"audio"}:o.video?i.video={container:"video/mp4",codec:a,initSegment:e,id:"main"}:U.warn("[passthrough-remuxer.ts]: initSegment does not contain moov or trak boxes."),this.initTracks=i},t.remux=function(e,t,a,o,i,n){var r,E,_=this.initPTS,T=this.lastEndTime,s={audio:void 0,video:void 0,text:o,id3:a,initSegment:void 0};p(T)||(T=this.lastEndTime=i||0);var S=t.samples;if(null==S||!S.length)return s;var l={initPTS:void 0,timescale:1},I=this.initData;if(null!=(r=I)&&r.length||(this.generateInitSegment(S),I=this.initData),null==(E=I)||!E.length)return U.warn("[passthrough-remuxer.ts]: Failed to generate initSegment."),s;this.emitInitSegment&&(l.tracks=this.initTracks,this.emitInitSegment=!1);var A=Je(S,I),u=qe(I,S),d=null===u?i:u;(In(_,d,i,A)||l.timescale!==_.timescale&&n)&&(l.initPTS=d-i,_&&1===_.timescale&&U.warn("Adjusting initPTS by "+(l.initPTS-_.baseTime)),this.initPTS=_={baseTime:l.initPTS,timescale:1});var c=e?d-_.baseTime/_.timescale:T,O=c+A;et(I,S,_.baseTime/_.timescale),A>0?this.lastEndTime=O:(U.warn("Duration parsed from mp4 should be greater than zero"),this.resetNextTimestamp());var R=!!I.audio,N=!!I.video,m="";R&&(m+="audio"),N&&(m+="video");var L={data1:S,startPTS:c,startDTS:c,endPTS:O,endDTS:O,type:m,hasAudio:R,hasVideo:N,nb:1,dropped:0};return s.audio="audio"===L.type?L:void 0,s.video="audio"!==L.type?L:void 0,s.initSegment=l,s.id3=_n(a,i,_,_),o.samples.length&&(s.text=Tn(o,i,_)),s},e})();function In(e,t,a,o){if(null===e)return!0;var i=Math.max(o,1),n=t-e.baseTime/e.timescale;return Math.abs(n-a)>i}function An(e,t){var a=null==e?void 0:e.codec;if(a&&a.length>4)return a;if(t===z.AUDIO){if("ec-3"===a||"ac-3"===a||"alac"===a)return a;if("fLaC"===a||"Opus"===a)return yt(a,!1);var o="mp4a.40.5";return U.info('Parsed audio codec "'+a+'" or audio object type not handled. Using "'+o+'"'),o}return U.warn('Unhandled video codec "'+a+'"'),"hvc1"===a||"hev1"===a?"hvc1.1.6.L120.90":"av01"===a?"av01.0.04M.08":"avc1.42e01e"}try{sn=self.performance.now.bind(self.performance)}catch(e){U.debug("Unable to use Performance API on this environment"),sn=null==te?void 0:te.Date.now}var un=[{demux:Bi,remux:ln},{demux:Gi,remux:nn},{demux:Ci,remux:nn},{demux:Yi,remux:nn}];un.splice(2,0,{demux:gi,remux:nn});var dn=(function(){function e(e,t,a,o,i){this.async=!1,this.observer=void 0,this.typeSupported=void 0,this.config=void 0,this.vendor=void 0,this.id=void 0,this.demuxer=void 0,this.remuxer=void 0,this.decrypter=void 0,this.probe=void 0,this.decryptionPromise=null,this.transmuxConfig=void 0,this.currentTransmuxState=void 0,this.observer=e,this.typeSupported=t,this.config=a,this.vendor=o,this.id=i}var t=e.prototype;return t.configure=function(e){this.transmuxConfig=e,this.decrypter&&this.decrypter.reset()},t.push=function(e,t,a,o){var i=this,n=a.transmuxing;n.executeStart=sn();var r=new Uint8Array(e),E=this.currentTransmuxState,_=this.transmuxConfig;o&&(this.currentTransmuxState=o);var T=o||E,s=T.contiguous,S=T.discontinuity,l=T.trackSwitch,I=T.accurateTimeOffset,A=T.timeOffset,u=T.initSegmentChange,d=_.audioCodec,c=_.videoCodec,O=_.defaultInitPts,R=_.duration,N=_.initSegmentData,m=cn(r,t);if(m&&"AES-128"===m.method){var L=this.getDecrypter();if(!L.isSync())return this.decryptionPromise=L.webCryptoDecrypt(r,m.key.buffer,m.iv.buffer).then((function(e){var t=i.push(e,null,a);return i.decryptionPromise=null,t})),this.decryptionPromise;var D=L.softwareDecrypt(r,m.key.buffer,m.iv.buffer);if(a.part>-1&&(D=L.flush()),!D)return n.executeEnd=sn(),On(a);r=new Uint8Array(D)}var p=this.needsProbing(S,l);if(p){var h=this.configureTransmuxer(r);if(h)return U.warn("[transmuxer] "+h.message),this.observer.emit(f.ERROR,f.ERROR,{type:B.MEDIA_ERROR,details:P.FRAG_PARSING_ERROR,fatal:!1,error:h,reason:h.message}),n.executeEnd=sn(),On(a)}(S||l||u||p)&&this.resetInitSegment(N,d,c,R,t),(S||u||p)&&this.resetInitialTimestamp(O),s||this.resetContiguity();var C=this.transmux(r,m,A,I,a),g=this.currentTransmuxState;return g.contiguous=!0,g.discontinuity=!1,g.trackSwitch=!1,n.executeEnd=sn(),C},t.flush=function(e){var t=this,a=e.transmuxing;a.executeStart=sn();var o=this.decrypter,i=this.currentTransmuxState,n=this.decryptionPromise;if(n)return n.then((function(){return t.flush(e)}));var r=[],E=i.timeOffset;if(o){var _=o.flush();_&&r.push(this.push(_,null,e))}var T=this.demuxer,s=this.remuxer;if(!T||!s)return a.executeEnd=sn(),[On(e)];var S=T.flush(E);return Rn(S)?S.then((function(a){return t.flushRemux(r,a,e),r})):(this.flushRemux(r,S,e),r)},t.flushRemux=function(e,t,a){var o=t.audioTrack,i=t.videoTrack,n=t.id3Track,r=t.textTrack,E=this.currentTransmuxState,_=E.accurateTimeOffset,T=E.timeOffset;U.log("[transmuxer.ts]: Flushed fragment "+a.sn+(a.part>-1?" p: "+a.part:"")+" of level "+a.level);var s=this.remuxer.remux(o,i,n,r,T,_,!0,this.id);e.push({remuxResult:s,chunkMeta:a}),a.transmuxing.executeEnd=sn()},t.resetInitialTimestamp=function(e){var t=this.demuxer,a=this.remuxer;t&&a&&(t.resetTimeStamp(e),a.resetTimeStamp(e))},t.resetContiguity=function(){var e=this.demuxer,t=this.remuxer;e&&t&&(e.resetContiguity(),t.resetNextTimestamp())},t.resetInitSegment=function(e,t,a,o,i){var n=this.demuxer,r=this.remuxer;n&&r&&(n.resetInitSegment(e,t,a,o),r.resetInitSegment(e,t,a,i))},t.destroy=function(){this.demuxer&&(this.demuxer.destroy(),this.demuxer=void 0),this.remuxer&&(this.remuxer.destroy(),this.remuxer=void 0)},t.transmux=function(e,t,a,o,i){return t&&"SAMPLE-AES"===t.method?this.transmuxSampleAes(e,t,a,o,i):this.transmuxUnencrypted(e,a,o,i)},t.transmuxUnencrypted=function(e,t,a,o){var i=this.demuxer.demux(e,t,!1,!this.config.progressive),n=i.audioTrack,r=i.videoTrack,E=i.id3Track,_=i.textTrack;return{remuxResult:this.remuxer.remux(n,r,E,_,t,a,!1,this.id),chunkMeta:o}},t.transmuxSampleAes=function(e,t,a,o,i){var n=this;return this.demuxer.demuxSampleAes(e,t,a).then((function(e){return{remuxResult:n.remuxer.remux(e.audioTrack,e.videoTrack,e.id3Track,e.textTrack,a,o,!1,n.id),chunkMeta:i}}))},t.configureTransmuxer=function(e){for(var t,a=this.config,o=this.observer,i=this.typeSupported,n=this.vendor,r=0,E=un.length;r<E;r++){var _;if(null!=(_=un[r].demux)&&_.probe(e)){t=un[r];break}}if(!t)return new Error("Failed to find demuxer by probing fragment data");var T=this.demuxer,s=this.remuxer,S=t.remux,l=t.demux;s&&s instanceof S||(this.remuxer=new S(o,a,i,n)),T&&T instanceof l||(this.demuxer=new l(o,a,i),this.probe=l.probe)},t.needsProbing=function(e,t){return!this.demuxer||!this.remuxer||e||t},t.getDecrypter=function(){var e=this.decrypter;return e||(e=this.decrypter=new Qo(this.config)),e},e})();function cn(e,t){var a=null;return e.byteLength>0&&null!=(null==t?void 0:t.key)&&null!==t.iv&&null!=t.method&&(a=t),a}var On=function(e){return{remuxResult:{},chunkMeta:e}};function Rn(e){return"then"in e&&e.then instanceof Function}var Nn=function(e,t,a,o,i){this.audioCodec=void 0,this.videoCodec=void 0,this.initSegmentData=void 0,this.duration=void 0,this.defaultInitPts=void 0,this.audioCodec=e,this.videoCodec=t,this.initSegmentData=a,this.duration=o,this.defaultInitPts=i||null},mn=function(e,t,a,o,i,n){this.discontinuity=void 0,this.contiguous=void 0,this.accurateTimeOffset=void 0,this.trackSwitch=void 0,this.timeOffset=void 0,this.initSegmentChange=void 0,this.discontinuity=e,this.contiguous=t,this.accurateTimeOffset=a,this.trackSwitch=o,this.timeOffset=i,this.initSegmentChange=n},Ln={exports:{}};!(function(e){var t=Object.prototype.hasOwnProperty,a="~";function o(){}function i(e,t,a){this.fn=e,this.context=t,this.once=a||!1}function n(e,t,o,n,r){if("function"!=typeof o)throw new TypeError("The listener must be a function");var E=new i(o,n||e,r),_=a?a+t:t;return e._events[_]?e._events[_].fn?e._events[_]=[e._events[_],E]:e._events[_].push(E):(e._events[_]=E,e._eventsCount++),e}function r(e,t){0==--e._eventsCount?e._events=new o:delete e._events[t]}function E(){this._events=new o,this._eventsCount=0}Object.create&&(o.prototype=Object.create(null),(new o).__proto__||(a=!1)),E.prototype.eventNames=function(){var e,o,i=[];if(0===this._eventsCount)return i;for(o in e=this._events)t.call(e,o)&&i.push(a?o.slice(1):o);return Object.getOwnPropertySymbols?i.concat(Object.getOwnPropertySymbols(e)):i},E.prototype.listeners=function(e){var t=a?a+e:e,o=this._events[t];if(!o)return[];if(o.fn)return[o.fn];for(var i=0,n=o.length,r=new Array(n);i<n;i++)r[i]=o[i].fn;return r},E.prototype.listenerCount=function(e){var t=a?a+e:e,o=this._events[t];return o?o.fn?1:o.length:0},E.prototype.emit=function(e,t,o,i,n,r){var E=a?a+e:e;if(!this._events[E])return!1;var _,T,s=this._events[E],S=arguments.length;if(s.fn){switch(s.once&&this.removeListener(e,s.fn,void 0,!0),S){case 1:return s.fn.call(s.context),!0;case 2:return s.fn.call(s.context,t),!0;case 3:return s.fn.call(s.context,t,o),!0;case 4:return s.fn.call(s.context,t,o,i),!0;case 5:return s.fn.call(s.context,t,o,i,n),!0;case 6:return s.fn.call(s.context,t,o,i,n,r),!0}for(T=1,_=new Array(S-1);T<S;T++)_[T-1]=arguments[T];s.fn.apply(s.context,_)}else{var l,I=s.length;for(T=0;T<I;T++)switch(s[T].once&&this.removeListener(e,s[T].fn,void 0,!0),S){case 1:s[T].fn.call(s[T].context);break;case 2:s[T].fn.call(s[T].context,t);break;case 3:s[T].fn.call(s[T].context,t,o);break;case 4:s[T].fn.call(s[T].context,t,o,i);break;default:if(!_)for(l=1,_=new Array(S-1);l<S;l++)_[l-1]=arguments[l];s[T].fn.apply(s[T].context,_)}}return!0},E.prototype.on=function(e,t,a){return n(this,e,t,a,!1)},E.prototype.once=function(e,t,a){return n(this,e,t,a,!0)},E.prototype.removeListener=function(e,t,o,i){var n=a?a+e:e;if(!this._events[n])return this;if(!t)return r(this,n),this;var E=this._events[n];if(E.fn)E.fn!==t||i&&!E.once||o&&E.context!==o||r(this,n);else{for(var _=0,T=[],s=E.length;_<s;_++)(E[_].fn!==t||i&&!E[_].once||o&&E[_].context!==o)&&T.push(E[_]);T.length?this._events[n]=1===T.length?T[0]:T:r(this,n)}return this},E.prototype.removeAllListeners=function(e){var t;return e?(t=a?a+e:e,this._events[t]&&r(this,t)):(this._events=new o,this._eventsCount=0),this},E.prototype.off=E.prototype.removeListener,E.prototype.addListener=E.prototype.on,E.prefixed=a,E.EventEmitter=E,e.exports=E})(Ln);var Dn=m(Ln.exports);function pn(e){var t=new Dn,a=function(t,a){e.postMessage({event:t,data:a})};t.on(f.FRAG_DECRYPTED,a),t.on(f.ERROR,a);var o=function(){var e=function(e){var t=function(t){a("workerLog",{logType:e,message:t})};U[e]=t};for(var t in U)e(t)};e.addEventListener("message",(function(i){var n=i.data;switch(n.cmd){case"init":var r=JSON.parse(n.config);e.transmuxer=new dn(t,n.typeSupported,r,n.vendor,n.id),b(r.debug,n.id),o(),a("init",null);break;case"configure":e.transmuxer.configure(n.config);break;case"demux":var E=e.transmuxer.push(n.data,n.decryptdata,n.chunkMeta,n.state);Rn(E)?(e.transmuxer.async=!0,E.then((function(t){hn(e,t)})).catch((function(e){a(f.ERROR,{type:B.MEDIA_ERROR,details:P.FRAG_PARSING_ERROR,chunkMeta:n.chunkMeta,fatal:!1,error:e,err:e,reason:"transmuxer-worker push error"})}))):(e.transmuxer.async=!1,hn(e,E));break;case"flush":var _=n.chunkMeta,T=e.transmuxer.flush(_);Rn(T)||e.transmuxer.async?(Rn(T)||(T=Promise.resolve(T)),T.then((function(t){fn(e,t,_)})).catch((function(e){a(f.ERROR,{type:B.MEDIA_ERROR,details:P.FRAG_PARSING_ERROR,chunkMeta:n.chunkMeta,fatal:!1,error:e,err:e,reason:"transmuxer-worker flush error"})}))):fn(e,T,_)}}))}function hn(e,t){if(Bn(t.remuxResult))return!1;var a=[],o=t.remuxResult,i=o.audio,n=o.video;return i&&Cn(a,i),n&&Cn(a,n),e.postMessage({event:"transmuxComplete",data:t},a),!0}function Cn(e,t){t.data1&&e.push(t.data1.buffer),t.data2&&e.push(t.data2.buffer)}function fn(e,t,a){t.reduce((function(t,a){return hn(e,a)||t}),!1)||e.postMessage({event:"transmuxComplete",data:t[0]}),e.postMessage({event:"flush",data:a})}function Bn(e){return!(e.audio||e.video||e.text||e.id3||e.initSegment)}function Pn(){return!0}function gn(){var e=new self.Blob(["var exports={};var module={exports:exports};function define(f){f()};define.amd=true;("+t.toString()+")(true);"],{type:"text/javascript"}),a=self.URL.createObjectURL(e);return{worker:new self.Worker(a),objectURL:a}}function vn(e){var t=new self.URL(e,self.location.href).href;return{worker:new self.Worker(t),scriptURL:t}}void 0!==a&&a&&pn(self);var yn=(function(){function e(e,t,a,o){var i=this;this.error=null,this.hls=void 0,this.id=void 0,this.observer=void 0,this.frag=null,this.part=null,this.useWorker=void 0,this.workerContext=null,this.onwmsg=void 0,this.transmuxer=null,this.onTransmuxComplete=void 0,this.onFlush=void 0;var n=e.config;this.hls=e,this.id=t,this.useWorker=!!n.enableWorker,this.onTransmuxComplete=a,this.onFlush=o;var r=function(e,t){(t=t||{}).frag=i.frag,t.id=i.id,e===f.ERROR&&(i.error=t.error),i.hls.trigger(e,t)};this.observer=new Dn,this.observer.on(f.FRAG_DECRYPTED,r),this.observer.on(f.ERROR,r);var E=mt(n.preferManagedMediaSource)||{isTypeSupported:function(){return!1}},_={mpeg:E.isTypeSupported("audio/mpeg"),mp3:E.isTypeSupported('audio/mp4; codecs="mp3"'),ac3:E.isTypeSupported('audio/mp4; codecs="ac-3"')},T=navigator.vendor;if(this.useWorker&&"undefined"!=typeof Worker&&(n.workerPath||Pn()))try{n.workerPath?(U.log("loading Web Worker "+n.workerPath+' for "'+t+'"'),this.workerContext=vn(n.workerPath)):(U.log('injecting Web Worker for "'+t+'"'),this.workerContext=gn()),this.onwmsg=function(e){return i.onWorkerMessage(e)};var s=this.workerContext.worker;s.addEventListener("message",this.onwmsg),s.onerror=function(e){var a=new Error(e.message+" ("+e.filename+":"+e.lineno+")");n.enableWorker=!1,U.warn('Error in "'+t+'" Web Worker, fallback to inline'),i.hls.trigger(f.ERROR,{type:B.OTHER_ERROR,details:P.INTERNAL_EXCEPTION,fatal:!1,event:"demuxerWorker",error:a})},s.postMessage({cmd:"init",typeSupported:_,vendor:T,id:t,config:JSON.stringify(n)})}catch(e){U.warn('Error setting up "'+t+'" Web Worker, fallback to inline',e),this.resetWorker(),this.error=null,this.transmuxer=new dn(this.observer,_,n,T,t)}else this.transmuxer=new dn(this.observer,_,n,T,t)}var t=e.prototype;return t.resetWorker=function(){if(this.workerContext){var e=this.workerContext,t=e.worker,a=e.objectURL;a&&self.URL.revokeObjectURL(a),t.removeEventListener("message",this.onwmsg),t.onerror=null,t.terminate(),this.workerContext=null}},t.destroy=function(){if(this.workerContext)this.resetWorker(),this.onwmsg=void 0;else{var e=this.transmuxer;e&&(e.destroy(),this.transmuxer=null)}var t=this.observer;t&&t.removeAllListeners(),this.frag=null,this.observer=null,this.hls=null},t.push=function(e,t,a,o,i,n,r,E,_,T){var s,S,l=this;_.transmuxing.start=self.performance.now();var I=this.transmuxer,A=n?n.start:i.start,u=i.decryptdata,d=this.frag,c=!(d&&i.cc===d.cc),O=!(d&&_.level===d.level),R=d?_.sn-d.sn:-1,N=this.part?_.part-this.part.index:-1,m=0===R&&_.id>1&&_.id===(null==d?void 0:d.stats.chunkCount),L=!O&&(1===R||0===R&&(1===N||m&&N<=0)),D=self.performance.now();(O||R||0===i.stats.parsing.start)&&(i.stats.parsing.start=D),!n||!N&&L||(n.stats.parsing.start=D);var p=!(d&&(null==(s=i.initSegment)?void 0:s.url)===(null==(S=d.initSegment)?void 0:S.url)),h=new mn(c,L,E,O,A,p);if(!L||c||p){U.log("[transmuxer-interface, "+i.type+"]: Starting new transmux session for sn: "+_.sn+" p: "+_.part+" level: "+_.level+" id: "+_.id+"\n discontinuity: "+c+"\n trackSwitch: "+O+"\n contiguous: "+L+"\n accurateTimeOffset: "+E+"\n timeOffset: "+A+"\n initSegmentChange: "+p);var C=new Nn(a,o,t,r,T);this.configureTransmuxer(C)}if(this.frag=i,this.part=n,this.workerContext)this.workerContext.worker.postMessage({cmd:"demux",data:e,decryptdata:u,chunkMeta:_,state:h},e instanceof ArrayBuffer?[e]:[]);else if(I){var f=I.push(e,u,_,h);Rn(f)?(I.async=!0,f.then((function(e){l.handleTransmuxComplete(e)})).catch((function(e){l.transmuxerError(e,_,"transmuxer-interface push error")}))):(I.async=!1,this.handleTransmuxComplete(f))}},t.flush=function(e){var t=this;e.transmuxing.start=self.performance.now();var a=this.transmuxer;if(this.workerContext)this.workerContext.worker.postMessage({cmd:"flush",chunkMeta:e});else if(a){var o=a.flush(e);Rn(o)||a.async?(Rn(o)||(o=Promise.resolve(o)),o.then((function(a){t.handleFlushResult(a,e)})).catch((function(a){t.transmuxerError(a,e,"transmuxer-interface flush error")}))):this.handleFlushResult(o,e)}},t.transmuxerError=function(e,t,a){this.hls&&(this.error=e,this.hls.trigger(f.ERROR,{type:B.MEDIA_ERROR,details:P.FRAG_PARSING_ERROR,chunkMeta:t,fatal:!1,error:e,err:e,reason:a}))},t.handleFlushResult=function(e,t){var a=this;e.forEach((function(e){a.handleTransmuxComplete(e)})),this.onFlush(t)},t.onWorkerMessage=function(e){var t=e.data,a=this.hls;switch(t.event){case"init":var o,i=null==(o=this.workerContext)?void 0:o.objectURL;i&&self.URL.revokeObjectURL(i);break;case"transmuxComplete":this.handleTransmuxComplete(t.data);break;case"flush":this.onFlush(t.data);break;case"workerLog":U[t.data.logType]&&U[t.data.logType](t.data.message);break;default:t.data=t.data||{},t.data.frag=this.frag,t.data.id=this.id,a.trigger(t.event,t.data)}},t.configureTransmuxer=function(e){var t=this.transmuxer;this.workerContext?this.workerContext.worker.postMessage({cmd:"configure",config:e}):t&&t.configure(e)},t.handleTransmuxComplete=function(e){e.chunkMeta.transmuxing.end=self.performance.now(),this.onTransmuxComplete(e)},e})();function Wn(e,t){if(e.length!==t.length)return!1;for(var a=0;a<e.length;a++)if(!Mn(e[a].attrs,t[a].attrs))return!1;return!0}function Mn(e,t,a){var o=e["STABLE-RENDITION-ID"];return o&&!a?o===t["STABLE-RENDITION-ID"]:!(a||["LANGUAGE","NAME","CHARACTERISTICS","AUTOSELECT","DEFAULT","FORCED","ASSOC-LANGUAGE"]).some((function(a){return e[a]!==t[a]}))}function bn(e,t){return t.label.toLowerCase()===e.name.toLowerCase()&&(!t.language||t.language.toLowerCase()===(e.lang||"").toLowerCase())}var Un=100,Gn=(function(e){function t(t,a,o){var i;return(i=e.call(this,t,a,o,"[audio-stream-controller]",$t.AUDIO)||this).videoBuffer=null,i.videoTrackCC=-1,i.waitingVideoCC=-1,i.bufferedTrack=null,i.switchingTrack=null,i.trackId=-1,i.waitingData=null,i.mainDetails=null,i.flushing=!1,i.bufferFlushed=!1,i.cachedTrackLoadedData=null,i._registerListeners(),i}s(t,e);var a=t.prototype;return a.onHandlerDestroying=function(){this._unregisterListeners(),e.prototype.onHandlerDestroying.call(this),this.mainDetails=null,this.bufferedTrack=null,this.switchingTrack=null},a._registerListeners=function(){var e=this.hls;e.on(f.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(f.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(f.MANIFEST_LOADING,this.onManifestLoading,this),e.on(f.LEVEL_LOADED,this.onLevelLoaded,this),e.on(f.AUDIO_TRACKS_UPDATED,this.onAudioTracksUpdated,this),e.on(f.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.on(f.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.on(f.ERROR,this.onError,this),e.on(f.BUFFER_RESET,this.onBufferReset,this),e.on(f.BUFFER_CREATED,this.onBufferCreated,this),e.on(f.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(f.BUFFER_FLUSHED,this.onBufferFlushed,this),e.on(f.INIT_PTS_FOUND,this.onInitPtsFound,this),e.on(f.FRAG_BUFFERED,this.onFragBuffered,this)},a._unregisterListeners=function(){var e=this.hls;e.off(f.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(f.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(f.MANIFEST_LOADING,this.onManifestLoading,this),e.off(f.LEVEL_LOADED,this.onLevelLoaded,this),e.off(f.AUDIO_TRACKS_UPDATED,this.onAudioTracksUpdated,this),e.off(f.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.off(f.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.off(f.ERROR,this.onError,this),e.off(f.BUFFER_RESET,this.onBufferReset,this),e.off(f.BUFFER_CREATED,this.onBufferCreated,this),e.off(f.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(f.BUFFER_FLUSHED,this.onBufferFlushed,this),e.off(f.INIT_PTS_FOUND,this.onInitPtsFound,this),e.off(f.FRAG_BUFFERED,this.onFragBuffered,this)},a.onInitPtsFound=function(e,t){var a=t.frag,o=t.id,i=t.initPTS,n=t.timescale;if("main"===o){var r=a.cc;this.initPTS[a.cc]={baseTime:i,timescale:n},this.log("InitPTS for cc: "+r+" found from main: "+i),this.videoTrackCC=r,this.state===$o.WAITING_INIT_PTS&&this.tick()}},a.startLoad=function(e){if(!this.levels)return this.startPosition=e,void(this.state=$o.STOPPED);var t=this.lastCurrentTime;this.stopLoad(),this.setInterval(Un),t>0&&-1===e?(this.log("Override startPosition with lastCurrentTime @"+t.toFixed(3)),e=t,this.state=$o.IDLE):(this.loadedmetadata=!1,this.state=$o.WAITING_TRACK),this.nextLoadPosition=this.startPosition=this.lastCurrentTime=e,this.tick()},a.doTick=function(){switch(this.state){case $o.IDLE:this.doTickIdle();break;case $o.WAITING_TRACK:var t,a=this.levels,o=this.trackId,i=null==a||null==(t=a[o])?void 0:t.details;if(i){if(this.waitForCdnTuneIn(i))break;this.state=$o.WAITING_INIT_PTS}break;case $o.FRAG_LOADING_WAITING_RETRY:var n,r=performance.now(),E=this.retryDate;if(!E||r>=E||null!=(n=this.media)&&n.seeking){var _=this.levels,T=this.trackId;this.log("RetryDate reached, switch back to IDLE state"),this.resetStartWhenNotLoaded((null==_?void 0:_[T])||null),this.state=$o.IDLE}break;case $o.WAITING_INIT_PTS:var s=this.waitingData;if(s){var S=s.frag,l=s.part,I=s.cache,A=s.complete;if(void 0!==this.initPTS[S.cc]){this.waitingData=null,this.waitingVideoCC=-1,this.state=$o.FRAG_LOADING;var u={frag:S,part:l,payload:I.flush(),networkDetails:null};this._handleFragmentLoadProgress(u),A&&e.prototype._handleFragmentLoadComplete.call(this,u)}else if(this.videoTrackCC!==this.waitingVideoCC)this.log("Waiting fragment cc ("+S.cc+") cancelled because video is at cc "+this.videoTrackCC),this.clearWaitingFragment();else{var d=this.getLoadPosition(),c=fo.bufferInfo(this.mediaBuffer,d,this.config.maxBufferHole);ja(c.end,this.config.maxFragLookUpTolerance,S)<0&&(this.log("Waiting fragment cc ("+S.cc+") @ "+S.start+" cancelled because another fragment at "+c.end+" is needed"),this.clearWaitingFragment())}}else this.state=$o.IDLE}this.onTickEnd()},a.clearWaitingFragment=function(){var e=this.waitingData;e&&(this.fragmentTracker.removeFragment(e.frag),this.waitingData=null,this.waitingVideoCC=-1,this.state=$o.IDLE)},a.resetLoadingState=function(){this.clearWaitingFragment(),e.prototype.resetLoadingState.call(this)},a.onTickEnd=function(){var e=this.media;null!=e&&e.readyState&&(this.lastCurrentTime=e.currentTime)},a.doTickIdle=function(){var e=this.hls,t=this.levels,a=this.media,o=this.trackId,i=e.config;if((a||!this.startFragRequested&&i.startFragPrefetch)&&null!=t&&t[o]){var n=t[o],r=n.details;if(!r||r.live&&this.levelLastLoaded!==n||this.waitForCdnTuneIn(r))this.state=$o.WAITING_TRACK;else{var E=this.mediaBuffer?this.mediaBuffer:this.media;this.bufferFlushed&&E&&(this.bufferFlushed=!1,this.afterBufferFlushed(E,z.AUDIO,$t.AUDIO));var _=this.getFwdBufferInfo(E,$t.AUDIO);if(null!==_){var T=this.bufferedTrack,s=this.switchingTrack;if(!s&&this._streamEnded(_,r))return e.trigger(f.BUFFER_EOS,{type:"audio"}),void(this.state=$o.ENDED);var S=this.getFwdBufferInfo(this.videoBuffer?this.videoBuffer:this.media,$t.MAIN),l=_.len,I=this.getMaxBufferLength(null==S?void 0:S.len),A=r.fragments,u=A[0].start,d=this.flushing?this.getLoadPosition():_.end;if(s&&a){var c=this.getLoadPosition();T&&!Mn(s.attrs,T.attrs)&&(d=c),r.PTSKnown&&c<u&&(_.end>u||_.nextStart)&&(this.log("Alt audio track ahead of main track, seek to start of alt audio track"),a.currentTime=u+.05)}if(!(l>=I&&!s&&d<A[A.length-1].start)){var O=this.getNextFragment(d,r),R=!1;if(O&&this.isLoopLoading(O,d)&&(R=!!O.gap,O=this.getNextFragmentLoopLoading(O,r,_,$t.MAIN,I)),O){var N=S&&O.start>S.end+r.targetduration;if(N||(null==S||!S.len)&&_.len){var m=this.getAppendedFrag(O.start,$t.MAIN);if(null===m)return;if(R||(R=!!m.gap||!!N&&0===S.len),N&&!R||R&&_.nextStart&&_.nextStart<m.end)return}this.loadFragment(O,n,d)}else this.bufferFlushed=!0}}}}},a.getMaxBufferLength=function(t){var a=e.prototype.getMaxBufferLength.call(this);return t?Math.min(Math.max(a,t),this.config.maxMaxBufferLength):a},a.onMediaDetaching=function(){this.videoBuffer=null,this.bufferFlushed=this.flushing=!1,e.prototype.onMediaDetaching.call(this)},a.onAudioTracksUpdated=function(e,t){var a=t.audioTracks;this.resetTransmuxer(),this.levels=a.map((function(e){return new Da(e)}))},a.onAudioTrackSwitching=function(e,t){var a=!!t.url;this.trackId=t.id;var o=this.fragCurrent;o&&(o.abortRequests(),this.removeUnbufferedFrags(o.start)),this.resetLoadingState(),a?this.setInterval(Un):this.resetTransmuxer(),a?(this.switchingTrack=t,this.state=$o.IDLE,this.flushAudioIfNeeded(t)):(this.switchingTrack=null,this.bufferedTrack=t,this.state=$o.STOPPED),this.tick()},a.onManifestLoading=function(){this.fragmentTracker.removeAllFragments(),this.startPosition=this.lastCurrentTime=0,this.bufferFlushed=this.flushing=!1,this.levels=this.mainDetails=this.waitingData=this.bufferedTrack=this.cachedTrackLoadedData=this.switchingTrack=null,this.startFragRequested=!1,this.trackId=this.videoTrackCC=this.waitingVideoCC=-1},a.onLevelLoaded=function(e,t){this.mainDetails=t.details,null!==this.cachedTrackLoadedData&&(this.hls.trigger(f.AUDIO_TRACK_LOADED,this.cachedTrackLoadedData),this.cachedTrackLoadedData=null)},a.onAudioTrackLoaded=function(e,t){var a;if(null!=this.mainDetails){var o=this.levels,i=t.details,n=t.id;if(o){this.log("Audio track "+n+" loaded ["+i.startSN+","+i.endSN+"]"+(i.lastPartSn?"[part-"+i.lastPartSn+"-"+i.lastPartIndex+"]":"")+",duration:"+i.totalduration);var r=o[n],E=0;if(i.live||null!=(a=r.details)&&a.live){this.checkLiveUpdate(i);var _,T=this.mainDetails;if(i.deltaUpdateFailed||!T)return;!r.details&&i.hasProgramDateTime&&T.hasProgramDateTime?(Go(i,T),E=i.fragments[0].start):E=this.alignPlaylists(i,r.details,null==(_=this.levelLastLoaded)?void 0:_.details)}r.details=i,this.levelLastLoaded=r,this.startFragRequested||!this.mainDetails&&i.live||this.setStartPosition(this.mainDetails||i,E),this.state!==$o.WAITING_TRACK||this.waitForCdnTuneIn(i)||(this.state=$o.IDLE),this.tick()}else this.warn("Audio tracks were reset while loading level "+n)}else this.cachedTrackLoadedData=t},a._handleFragmentLoadProgress=function(e){var t,a=e.frag,o=e.part,i=e.payload,n=this.config,r=this.trackId,E=this.levels;if(E){var _=E[r];if(_){var T=_.details;if(!T)return this.warn("Audio track details undefined on fragment load progress"),void this.removeUnbufferedFrags(a.start);var s=n.defaultAudioCodec||_.audioCodec||"mp4a.40.2",S=this.transmuxer;S||(S=this.transmuxer=new yn(this.hls,$t.AUDIO,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this)));var l=this.initPTS[a.cc],I=null==(t=a.initSegment)?void 0:t.data;if(void 0!==l){var A=!1,u=o?o.index:-1,d=-1!==u,c=new Bo(a.level,a.sn,a.stats.chunkCount,i.byteLength,u,d);S.push(i,I,s,"",a,o,T.totalduration,A,c,l)}else this.log("Unknown video PTS for cc "+a.cc+", waiting for video PTS before demuxing audio frag "+a.sn+" of ["+T.startSN+" ,"+T.endSN+"],track "+r),(this.waitingData=this.waitingData||{frag:a,part:o,cache:new Jo,complete:!1}).cache.push(new Uint8Array(i)),this.waitingVideoCC=this.videoTrackCC,this.state=$o.WAITING_INIT_PTS}else this.warn("Audio track is undefined on fragment load progress")}else this.warn("Audio tracks were reset while fragment load was in progress. Fragment "+a.sn+" of level "+a.level+" will not be buffered")},a._handleFragmentLoadComplete=function(t){this.waitingData?this.waitingData.complete=!0:e.prototype._handleFragmentLoadComplete.call(this,t)},a.onBufferReset=function(){this.mediaBuffer=this.videoBuffer=null,this.loadedmetadata=!1},a.onBufferCreated=function(e,t){var a=t.tracks.audio;a&&(this.mediaBuffer=a.buffer||null),t.tracks.video&&(this.videoBuffer=t.tracks.video.buffer||null)},a.onFragBuffered=function(e,t){var a=t.frag,i=t.part;if(a.type===$t.AUDIO)if(this.fragContextChanged(a))this.warn("Fragment "+a.sn+(i?" p: "+i.index:"")+" of level "+a.level+" finished buffering, but was aborted. state: "+this.state+", audioSwitch: "+(this.switchingTrack?this.switchingTrack.name:"false"));else{if("initSegment"!==a.sn){this.fragPrevious=a;var n=this.switchingTrack;n&&(this.bufferedTrack=n,this.switchingTrack=null,this.hls.trigger(f.AUDIO_TRACK_SWITCHED,o({},n)))}this.fragBufferedComplete(a,i)}else if(!this.loadedmetadata&&a.type===$t.MAIN){var r=this.videoBuffer||this.media;r&&fo.getBuffered(r).length&&(this.loadedmetadata=!0)}},a.onError=function(t,a){var o;if(a.fatal)this.state=$o.ERROR;else switch(a.details){case P.FRAG_GAP:case P.FRAG_PARSING_ERROR:case P.FRAG_DECRYPT_ERROR:case P.FRAG_LOAD_ERROR:case P.FRAG_LOAD_TIMEOUT:case P.KEY_LOAD_ERROR:case P.KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError($t.AUDIO,a);break;case P.AUDIO_TRACK_LOAD_ERROR:case P.AUDIO_TRACK_LOAD_TIMEOUT:case P.LEVEL_PARSING_ERROR:a.levelRetry||this.state!==$o.WAITING_TRACK||(null==(o=a.context)?void 0:o.type)!==Xt.AUDIO_TRACK||(this.state=$o.IDLE);break;case P.BUFFER_APPEND_ERROR:case P.BUFFER_FULL_ERROR:if(!a.parent||"audio"!==a.parent)return;if(a.details===P.BUFFER_APPEND_ERROR)return void this.resetLoadingState();this.reduceLengthAndFlushBuffer(a)&&(this.bufferedTrack=null,e.prototype.flushMainBuffer.call(this,0,Number.POSITIVE_INFINITY,"audio"));break;case P.INTERNAL_EXCEPTION:this.recoverWorkerError(a)}},a.onBufferFlushing=function(e,t){t.type!==z.VIDEO&&(this.flushing=!0)},a.onBufferFlushed=function(e,t){var a=t.type;if(a!==z.VIDEO){this.flushing=!1,this.bufferFlushed=!0,this.state===$o.ENDED&&(this.state=$o.IDLE);var o=this.mediaBuffer||this.media;o&&(this.afterBufferFlushed(o,a,$t.AUDIO),this.tick())}},a._handleTransmuxComplete=function(e){var t,a="audio",o=this.hls,i=e.remuxResult,n=e.chunkMeta,r=this.getCurrentContext(n);if(r){var E=r.frag,_=r.part,s=r.level,S=s.details,l=i.audio,I=i.text,A=i.id3,u=i.initSegment;if(!this.fragContextChanged(E)&&S){if(this.state=$o.PARSING,this.switchingTrack&&l&&this.completeAudioSwitch(this.switchingTrack),null!=u&&u.tracks){var d=E.initSegment||E;this._bufferInitSegment(s,u.tracks,d,n),o.trigger(f.FRAG_PARSING_INIT_SEGMENT,{frag:d,id:a,tracks:u.tracks})}if(l){var c=l.startPTS,O=l.endPTS,R=l.startDTS,N=l.endDTS;_&&(_.elementaryStreams[z.AUDIO]={startPTS:c,endPTS:O,startDTS:R,endDTS:N}),E.setElementaryStreamInfo(z.AUDIO,c,O,R,N),this.bufferFragmentData(l,E,_,n)}if(null!=A&&null!=(t=A.samples)&&t.length){var m=T({id:a,frag:E,details:S},A);o.trigger(f.FRAG_PARSING_METADATA,m)}if(I){var L=T({id:a,frag:E,details:S},I);o.trigger(f.FRAG_PARSING_USERDATA,L)}}else this.fragmentTracker.removeFragment(E)}else this.resetWhenMissingContext(n)},a._bufferInitSegment=function(e,t,a,o){if(this.state===$o.PARSING){t.video&&delete t.video;var i=t.audio;if(i){i.id="audio";var n=e.audioCodec;this.log("Init audio buffer, container:"+i.container+", codecs[level/parsed]=["+n+"/"+i.codec+"]"),n&&1===n.split(",").length&&(i.levelCodec=n),this.hls.trigger(f.BUFFER_CODECS,t);var r=i.initSegment;if(null!=r&&r.byteLength){var E={type:"audio",frag:a,part:null,chunkMeta:o,parent:a.type,data:r};this.hls.trigger(f.BUFFER_APPENDING,E)}this.tickImmediate()}}},a.loadFragment=function(t,a,o){var i,n=this.fragmentTracker.getState(t);if(this.fragCurrent=t,this.switchingTrack||n===Lo.NOT_LOADED||n===Lo.PARTIAL)if("initSegment"===t.sn)this._loadInitSegment(t,a);else if(null!=(i=a.details)&&i.live&&!this.initPTS[t.cc]){this.log("Waiting for video PTS in continuity counter "+t.cc+" of live stream before loading audio fragment "+t.sn+" of level "+this.trackId),this.state=$o.WAITING_INIT_PTS;var r=this.mainDetails;r&&r.fragments[0].start!==a.details.fragments[0].start&&Go(a.details,r)}else this.startFragRequested=!0,e.prototype.loadFragment.call(this,t,a,o);else this.clearTrackerIfNeeded(t)},a.flushAudioIfNeeded=function(t){var a=this.media,o=this.bufferedTrack,i=null==o?void 0:o.attrs,n=t.attrs;a&&i&&(i.CHANNELS!==n.CHANNELS||o.name!==t.name||o.lang!==t.lang)&&(this.log("Switching audio track : flushing all audio"),e.prototype.flushMainBuffer.call(this,0,Number.POSITIVE_INFINITY,"audio"),this.bufferedTrack=null)},a.completeAudioSwitch=function(e){var t=this.hls;this.flushAudioIfNeeded(e),this.bufferedTrack=e,this.switchingTrack=null,t.trigger(f.AUDIO_TRACK_SWITCHED,o({},e))},t})(qo),kn=(function(e){function t(t){var a;return(a=e.call(this,t,"[audio-track-controller]")||this).tracks=[],a.groupIds=null,a.tracksInGroup=[],a.trackId=-1,a.currentTrack=null,a.selectDefaultTrack=!0,a.registerListeners(),a}s(t,e);var a=t.prototype;return a.registerListeners=function(){var e=this.hls;e.on(f.MANIFEST_LOADING,this.onManifestLoading,this),e.on(f.MANIFEST_PARSED,this.onManifestParsed,this),e.on(f.LEVEL_LOADING,this.onLevelLoading,this),e.on(f.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(f.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.on(f.ERROR,this.onError,this)},a.unregisterListeners=function(){var e=this.hls;e.off(f.MANIFEST_LOADING,this.onManifestLoading,this),e.off(f.MANIFEST_PARSED,this.onManifestParsed,this),e.off(f.LEVEL_LOADING,this.onLevelLoading,this),e.off(f.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(f.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.off(f.ERROR,this.onError,this)},a.destroy=function(){this.unregisterListeners(),this.tracks.length=0,this.tracksInGroup.length=0,this.currentTrack=null,e.prototype.destroy.call(this)},a.onManifestLoading=function(){this.tracks=[],this.tracksInGroup=[],this.groupIds=null,this.currentTrack=null,this.trackId=-1,this.selectDefaultTrack=!0},a.onManifestParsed=function(e,t){this.tracks=t.audioTracks||[]},a.onAudioTrackLoaded=function(e,t){var a=t.id,o=t.groupId,i=t.details,n=this.tracksInGroup[a];if(n&&n.groupId===o){var r=n.details;n.details=t.details,this.log("Audio track "+a+' "'+n.name+'" lang:'+n.lang+" group:"+o+" loaded ["+i.startSN+"-"+i.endSN+"]"),a===this.trackId&&this.playlistLoaded(a,t,r)}else this.warn("Audio track with id:"+a+" and group:"+o+" not found in active group "+(null==n?void 0:n.groupId))},a.onLevelLoading=function(e,t){this.switchLevel(t.level)},a.onLevelSwitching=function(e,t){this.switchLevel(t.level)},a.switchLevel=function(e){var t=this.hls.levels[e];if(t){var a=t.audioGroups||null,o=this.groupIds,i=this.currentTrack;if(!a||(null==o?void 0:o.length)!==(null==a?void 0:a.length)||null!=a&&a.some((function(e){return-1===(null==o?void 0:o.indexOf(e))}))){this.groupIds=a,this.trackId=-1,this.currentTrack=null;var n=this.tracks.filter((function(e){return!a||-1!==a.indexOf(e.groupId)}));if(n.length)this.selectDefaultTrack&&!n.some((function(e){return e.default}))&&(this.selectDefaultTrack=!1),n.forEach((function(e,t){e.id=t}));else if(!i&&!this.tracksInGroup.length)return;this.tracksInGroup=n;var r=this.hls.config.audioPreference;if(!i&&r){var E=Io(r,n,co);if(E>-1)i=n[E];else{var _=Io(r,this.tracks);i=this.tracks[_]}}var T=this.findTrackId(i);-1===T&&i&&(T=this.findTrackId(null));var s={audioTracks:n};this.log("Updating audio tracks, "+n.length+" track(s) found in group(s): "+(null==a?void 0:a.join(","))),this.hls.trigger(f.AUDIO_TRACKS_UPDATED,s);var S=this.trackId;if(-1!==T&&-1===S)this.setAudioTrack(T);else if(n.length&&-1===S){var l,I=new Error("No audio track selected for current audio group-ID(s): "+(null==(l=this.groupIds)?void 0:l.join(","))+" track count: "+n.length);this.warn(I.message),this.hls.trigger(f.ERROR,{type:B.MEDIA_ERROR,details:P.AUDIO_TRACK_LOAD_ERROR,fatal:!0,error:I})}}else this.shouldReloadPlaylist(i)&&this.setAudioTrack(this.trackId)}},a.onError=function(e,t){!t.fatal&&t.context&&(t.context.type!==Xt.AUDIO_TRACK||t.context.id!==this.trackId||this.groupIds&&-1===this.groupIds.indexOf(t.context.groupId)||(this.requestScheduled=-1,this.checkRetry(t)))},a.setAudioOption=function(e){var t=this.hls;if(t.config.audioPreference=e,e){var a=this.allAudioTracks;if(this.selectDefaultTrack=!1,a.length){var o=this.currentTrack;if(o&&Ao(e,o,co))return o;var i=Io(e,this.tracksInGroup,co);if(i>-1){var n=this.tracksInGroup[i];return this.setAudioTrack(i),n}if(o){var r=t.loadLevel;-1===r&&(r=t.firstAutoLevel);var E=Oo(e,t.levels,a,r,co);if(-1===E)return null;t.nextLoadLevel=E}if(e.channels||e.audioCodec){var _=Io(e,a);if(_>-1)return a[_]}}}return null},a.setAudioTrack=function(e){var t=this.tracksInGroup;if(e<0||e>=t.length)this.warn("Invalid audio track id: "+e);else{this.clearTimer(),this.selectDefaultTrack=!1;var a=this.currentTrack,i=t[e],n=i.details&&!i.details.live;if(!(e===this.trackId&&i===a&&n||(this.log("Switching to audio-track "+e+' "'+i.name+'" lang:'+i.lang+" group:"+i.groupId+" channels:"+i.channels),this.trackId=e,this.currentTrack=i,this.hls.trigger(f.AUDIO_TRACK_SWITCHING,o({},i)),n))){var r=this.switchParams(i.url,null==a?void 0:a.details);this.loadPlaylist(r)}}},a.findTrackId=function(e){for(var t=this.tracksInGroup,a=0;a<t.length;a++){var o=t[a];if((!this.selectDefaultTrack||o.default)&&(!e||Ao(e,o,co)))return a}if(e){for(var i=e.name,n=e.lang,r=e.assocLang,E=e.characteristics,_=e.audioCodec,T=e.channels,s=0;s<t.length;s++)if(Ao({name:i,lang:n,assocLang:r,characteristics:E,audioCodec:_,channels:T},t[s],co))return s;for(var S=0;S<t.length;S++){var l=t[S];if(Mn(e.attrs,l.attrs,["LANGUAGE","ASSOC-LANGUAGE","CHARACTERISTICS"]))return S}for(var I=0;I<t.length;I++){var A=t[I];if(Mn(e.attrs,A.attrs,["LANGUAGE"]))return I}}return-1},a.loadPlaylist=function(t){var a=this.currentTrack;if(this.shouldLoadPlaylist(a)&&a){e.prototype.loadPlaylist.call(this);var o=a.id,i=a.groupId,n=a.url;if(t)try{n=t.addDirectives(n)}catch(e){this.warn("Could not construct new URL with HLS Delivery Directives: "+e)}this.log("loading audio-track playlist "+o+' "'+a.name+'" lang:'+a.lang+" group:"+i),this.clearTimer(),this.hls.trigger(f.AUDIO_TRACK_LOADING,{url:n,id:o,groupId:i,deliveryDirectives:t||null})}},E(t,[{key:"allAudioTracks",get:function(){return this.tracks}},{key:"audioTracks",get:function(){return this.tracksInGroup}},{key:"audioTrack",get:function(){return this.trackId},set:function(e){this.selectDefaultTrack=!1,this.setAudioTrack(e)}}]),t})(Za),Fn=500,Vn=(function(e){function t(t,a,o){var i;return(i=e.call(this,t,a,o,"[subtitle-stream-controller]",$t.SUBTITLE)||this).currentTrackId=-1,i.tracksBuffered=[],i.mainDetails=null,i._registerListeners(),i}s(t,e);var a=t.prototype;return a.onHandlerDestroying=function(){this._unregisterListeners(),e.prototype.onHandlerDestroying.call(this),this.mainDetails=null},a._registerListeners=function(){var e=this.hls;e.on(f.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(f.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(f.MANIFEST_LOADING,this.onManifestLoading,this),e.on(f.LEVEL_LOADED,this.onLevelLoaded,this),e.on(f.ERROR,this.onError,this),e.on(f.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.on(f.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.on(f.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.on(f.SUBTITLE_FRAG_PROCESSED,this.onSubtitleFragProcessed,this),e.on(f.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(f.FRAG_BUFFERED,this.onFragBuffered,this)},a._unregisterListeners=function(){var e=this.hls;e.off(f.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(f.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(f.MANIFEST_LOADING,this.onManifestLoading,this),e.off(f.LEVEL_LOADED,this.onLevelLoaded,this),e.off(f.ERROR,this.onError,this),e.off(f.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.off(f.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.off(f.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.off(f.SUBTITLE_FRAG_PROCESSED,this.onSubtitleFragProcessed,this),e.off(f.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(f.FRAG_BUFFERED,this.onFragBuffered,this)},a.startLoad=function(e){this.stopLoad(),this.state=$o.IDLE,this.setInterval(Fn),this.nextLoadPosition=this.startPosition=this.lastCurrentTime=e,this.tick()},a.onManifestLoading=function(){this.mainDetails=null,this.fragmentTracker.removeAllFragments()},a.onMediaDetaching=function(){this.tracksBuffered=[],e.prototype.onMediaDetaching.call(this)},a.onLevelLoaded=function(e,t){this.mainDetails=t.details},a.onSubtitleFragProcessed=function(e,t){var a=t.frag,o=t.success;if(this.fragPrevious=a,this.state=$o.IDLE,o){var i=this.tracksBuffered[this.currentTrackId];if(i){for(var n,r=a.start,E=0;E<i.length;E++)if(r>=i[E].start&&r<=i[E].end){n=i[E];break}var _=a.start+a.duration;n?n.end=_:(n={start:r,end:_},i.push(n)),this.fragmentTracker.fragBuffered(a),this.fragBufferedComplete(a,null)}}},a.onBufferFlushing=function(e,t){var a=t.startOffset,o=t.endOffset;if(0===a&&o!==Number.POSITIVE_INFINITY){var i=o-1;if(i<=0)return;t.endOffsetSubtitles=Math.max(0,i),this.tracksBuffered.forEach((function(e){for(var t=0;t<e.length;)if(e[t].end<=i)e.shift();else{if(!(e[t].start<i))break;e[t].start=i,t++}})),this.fragmentTracker.removeFragmentsInRange(a,i,$t.SUBTITLE)}},a.onFragBuffered=function(e,t){var a;this.loadedmetadata||t.frag.type!==$t.MAIN||null!=(a=this.media)&&a.buffered.length&&(this.loadedmetadata=!0)},a.onError=function(e,t){var a=t.frag;(null==a?void 0:a.type)===$t.SUBTITLE&&(this.fragCurrent&&this.fragCurrent.abortRequests(),this.state!==$o.STOPPED&&(this.state=$o.IDLE))},a.onSubtitleTracksUpdated=function(e,t){var a=this,o=t.subtitleTracks;this.levels&&!Wn(this.levels,o)?(this.tracksBuffered=[],this.levels=o.map((function(e){var t=new Da(e);return a.tracksBuffered[t.id]=[],t})),this.fragmentTracker.removeFragmentsInRange(0,Number.POSITIVE_INFINITY,$t.SUBTITLE),this.fragPrevious=null,this.mediaBuffer=null):this.levels=o.map((function(e){return new Da(e)}))},a.onSubtitleTrackSwitch=function(e,t){var a;if(this.currentTrackId=t.id,null!=(a=this.levels)&&a.length&&-1!==this.currentTrackId){var o=this.levels[this.currentTrackId];null!=o&&o.details?this.mediaBuffer=this.mediaBufferTimeRanges:this.mediaBuffer=null,o&&this.setInterval(Fn)}else this.clearInterval()},a.onSubtitleTrackLoaded=function(e,t){var a,o=this.currentTrackId,i=this.levels,n=t.details,r=t.id;if(i){var E=i[o];if(!(r>=i.length||r!==o)&&E){this.log("Subtitle track "+r+" loaded ["+n.startSN+","+n.endSN+"]"+(n.lastPartSn?"[part-"+n.lastPartSn+"-"+n.lastPartIndex+"]":"")+",duration:"+n.totalduration),this.mediaBuffer=this.mediaBufferTimeRanges;var _=0;if(n.live||null!=(a=E.details)&&a.live){var T=this.mainDetails;if(n.deltaUpdateFailed||!T)return;var s,S=T.fragments[0];E.details?0===(_=this.alignPlaylists(n,E.details,null==(s=this.levelLastLoaded)?void 0:s.details))&&S&&ya(n,_=S.start):n.hasProgramDateTime&&T.hasProgramDateTime?(Go(n,T),_=n.fragments[0].start):S&&ya(n,_=S.start)}E.details=n,this.levelLastLoaded=E,this.startFragRequested||!this.mainDetails&&n.live||this.setStartPosition(this.mainDetails||n,_),this.tick(),n.live&&!this.fragCurrent&&this.media&&this.state===$o.IDLE&&(xa(null,n.fragments,this.media.currentTime,0)||(this.warn("Subtitle playlist not aligned with playback"),E.details=void 0))}}else this.warn("Subtitle tracks were reset while loading level "+r)},a._handleFragmentLoadComplete=function(e){var t=this,a=e.frag,o=e.payload,i=a.decryptdata,n=this.hls;if(!this.fragContextChanged(a)&&o&&o.byteLength>0&&null!=i&&i.key&&i.iv&&"AES-128"===i.method){var r=performance.now();this.decrypter.decrypt(new Uint8Array(o),i.key.buffer,i.iv.buffer).catch((function(e){throw n.trigger(f.ERROR,{type:B.MEDIA_ERROR,details:P.FRAG_DECRYPT_ERROR,fatal:!1,error:e,reason:e.message,frag:a}),e})).then((function(e){var t=performance.now();n.trigger(f.FRAG_DECRYPTED,{frag:a,payload:e,stats:{tstart:r,tdecrypt:t}})})).catch((function(e){t.warn(e.name+": "+e.message),t.state=$o.IDLE}))}},a.doTick=function(){if(this.media){if(this.state===$o.IDLE){var e=this.currentTrackId,t=this.levels,a=null==t?void 0:t[e];if(!a||!t.length||!a.details)return;var o=this.config,i=this.getLoadPosition(),n=fo.bufferedInfo(this.tracksBuffered[this.currentTrackId]||[],i,o.maxBufferHole),r=n.end,E=n.len,_=this.getFwdBufferInfo(this.media,$t.MAIN),T=a.details;if(E>this.getMaxBufferLength(null==_?void 0:_.len)+T.levelTargetDuration)return;var s=T.fragments,S=s.length,l=T.edge,I=null,A=this.fragPrevious;if(r<l){var u=o.maxFragLookUpTolerance,d=r>l-u?0:u;!(I=xa(A,s,Math.max(s[0].start,r),d))&&A&&A.start<s[0].start&&(I=s[0])}else I=s[S-1];if(!I)return;if("initSegment"!==(I=this.mapToInitFragWhenRequired(I)).sn){var c=s[I.sn-T.startSN-1];c&&c.cc===I.cc&&this.fragmentTracker.getState(c)===Lo.NOT_LOADED&&(I=c)}this.fragmentTracker.getState(I)===Lo.NOT_LOADED&&this.loadFragment(I,a,r)}}else this.state=$o.IDLE},a.getMaxBufferLength=function(t){var a=e.prototype.getMaxBufferLength.call(this);return t?Math.max(a,t):a},a.loadFragment=function(t,a,o){this.fragCurrent=t,"initSegment"===t.sn?this._loadInitSegment(t,a):(this.startFragRequested=!0,e.prototype.loadFragment.call(this,t,a,o))},E(t,[{key:"mediaBufferTimeRanges",get:function(){return new Hn(this.tracksBuffered[this.currentTrackId]||[])}}]),t})(qo),Hn=function(e){this.buffered=void 0;var t=function(t,a,o){if((a>>>=0)>o-1)throw new DOMException("Failed to execute '"+t+"' on 'TimeRanges': The index provided ("+a+") is greater than the maximum bound ("+o+")");return e[a][t]};this.buffered={get length(){return e.length},end:function(a){return t("end",a,e.length)},start:function(a){return t("start",a,e.length)}}},wn=(function(e){function t(t){var a;return(a=e.call(this,t,"[subtitle-track-controller]")||this).media=null,a.tracks=[],a.groupIds=null,a.tracksInGroup=[],a.trackId=-1,a.currentTrack=null,a.selectDefaultTrack=!0,a.queuedDefaultTrack=-1,a.asyncPollTrackChange=function(){return a.pollTrackChange(0)},a.useTextTrackPolling=!1,a.subtitlePollingInterval=-1,a._subtitleDisplay=!0,a.onTextTracksChanged=function(){if(a.useTextTrackPolling||self.clearInterval(a.subtitlePollingInterval),a.media&&a.hls.config.renderTextTracksNatively){for(var e=null,t=ra(a.media.textTracks),o=0;o<t.length;o++)if("hidden"===t[o].mode)e=t[o];else if("showing"===t[o].mode){e=t[o];break}var i=a.findTrackForTextTrack(e);a.subtitleTrack!==i&&a.setSubtitleTrack(i)}},a.registerListeners(),a}s(t,e);var a=t.prototype;return a.destroy=function(){this.unregisterListeners(),this.tracks.length=0,this.tracksInGroup.length=0,this.currentTrack=null,this.onTextTracksChanged=this.asyncPollTrackChange=null,e.prototype.destroy.call(this)},a.registerListeners=function(){var e=this.hls;e.on(f.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(f.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(f.MANIFEST_LOADING,this.onManifestLoading,this),e.on(f.MANIFEST_PARSED,this.onManifestParsed,this),e.on(f.LEVEL_LOADING,this.onLevelLoading,this),e.on(f.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(f.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.on(f.ERROR,this.onError,this)},a.unregisterListeners=function(){var e=this.hls;e.off(f.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(f.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(f.MANIFEST_LOADING,this.onManifestLoading,this),e.off(f.MANIFEST_PARSED,this.onManifestParsed,this),e.off(f.LEVEL_LOADING,this.onLevelLoading,this),e.off(f.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(f.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.off(f.ERROR,this.onError,this)},a.onMediaAttached=function(e,t){this.media=t.media,this.media&&(this.queuedDefaultTrack>-1&&(this.subtitleTrack=this.queuedDefaultTrack,this.queuedDefaultTrack=-1),this.useTextTrackPolling=!(this.media.textTracks&&"onchange"in this.media.textTracks),this.useTextTrackPolling?this.pollTrackChange(500):this.media.textTracks.addEventListener("change",this.asyncPollTrackChange))},a.pollTrackChange=function(e){self.clearInterval(this.subtitlePollingInterval),this.subtitlePollingInterval=self.setInterval(this.onTextTracksChanged,e)},a.onMediaDetaching=function(){this.media&&(self.clearInterval(this.subtitlePollingInterval),this.useTextTrackPolling||this.media.textTracks.removeEventListener("change",this.asyncPollTrackChange),this.trackId>-1&&(this.queuedDefaultTrack=this.trackId),ra(this.media.textTracks).forEach((function(e){aa(e)})),this.subtitleTrack=-1,this.media=null)},a.onManifestLoading=function(){this.tracks=[],this.groupIds=null,this.tracksInGroup=[],this.trackId=-1,this.currentTrack=null,this.selectDefaultTrack=!0},a.onManifestParsed=function(e,t){this.tracks=t.subtitleTracks},a.onSubtitleTrackLoaded=function(e,t){var a=t.id,o=t.groupId,i=t.details,n=this.tracksInGroup[a];if(n&&n.groupId===o){var r=n.details;n.details=t.details,this.log("Subtitle track "+a+' "'+n.name+'" lang:'+n.lang+" group:"+o+" loaded ["+i.startSN+"-"+i.endSN+"]"),a===this.trackId&&this.playlistLoaded(a,t,r)}else this.warn("Subtitle track with id:"+a+" and group:"+o+" not found in active group "+(null==n?void 0:n.groupId))},a.onLevelLoading=function(e,t){this.switchLevel(t.level)},a.onLevelSwitching=function(e,t){this.switchLevel(t.level)},a.switchLevel=function(e){var t=this.hls.levels[e];if(t){var a=t.subtitleGroups||null,o=this.groupIds,i=this.currentTrack;if(!a||(null==o?void 0:o.length)!==(null==a?void 0:a.length)||null!=a&&a.some((function(e){return-1===(null==o?void 0:o.indexOf(e))}))){this.groupIds=a,this.trackId=-1,this.currentTrack=null;var n=this.tracks.filter((function(e){return!a||-1!==a.indexOf(e.groupId)}));if(n.length)this.selectDefaultTrack&&!n.some((function(e){return e.default}))&&(this.selectDefaultTrack=!1),n.forEach((function(e,t){e.id=t}));else if(!i&&!this.tracksInGroup.length)return;this.tracksInGroup=n;var r=this.hls.config.subtitlePreference;if(!i&&r){this.selectDefaultTrack=!1;var E=Io(r,n);if(E>-1)i=n[E];else{var _=Io(r,this.tracks);i=this.tracks[_]}}var T=this.findTrackId(i);-1===T&&i&&(T=this.findTrackId(null));var s={subtitleTracks:n};this.log("Updating subtitle tracks, "+n.length+' track(s) found in "'+(null==a?void 0:a.join(","))+'" group-id'),this.hls.trigger(f.SUBTITLE_TRACKS_UPDATED,s),-1!==T&&-1===this.trackId&&this.setSubtitleTrack(T)}else this.shouldReloadPlaylist(i)&&this.setSubtitleTrack(this.trackId)}},a.findTrackId=function(e){for(var t=this.tracksInGroup,a=this.selectDefaultTrack,o=0;o<t.length;o++){var i=t[o];if((!a||i.default)&&(a||e)&&(!e||Ao(i,e)))return o}if(e){for(var n=0;n<t.length;n++){var r=t[n];if(Mn(e.attrs,r.attrs,["LANGUAGE","ASSOC-LANGUAGE","CHARACTERISTICS"]))return n}for(var E=0;E<t.length;E++){var _=t[E];if(Mn(e.attrs,_.attrs,["LANGUAGE"]))return E}}return-1},a.findTrackForTextTrack=function(e){if(e)for(var t=this.tracksInGroup,a=0;a<t.length;a++)if(bn(t[a],e))return a;return-1},a.onError=function(e,t){!t.fatal&&t.context&&(t.context.type!==Xt.SUBTITLE_TRACK||t.context.id!==this.trackId||this.groupIds&&-1===this.groupIds.indexOf(t.context.groupId)||this.checkRetry(t))},a.setSubtitleOption=function(e){if(this.hls.config.subtitlePreference=e,e){var t=this.allSubtitleTracks;if(this.selectDefaultTrack=!1,t.length){var a=this.currentTrack;if(a&&Ao(e,a))return a;var o=Io(e,this.tracksInGroup);if(o>-1){var i=this.tracksInGroup[o];return this.setSubtitleTrack(o),i}if(a)return null;var n=Io(e,t);if(n>-1)return t[n]}}return null},a.loadPlaylist=function(t){e.prototype.loadPlaylist.call(this);var a=this.currentTrack;if(this.shouldLoadPlaylist(a)&&a){var o=a.id,i=a.groupId,n=a.url;if(t)try{n=t.addDirectives(n)}catch(e){this.warn("Could not construct new URL with HLS Delivery Directives: "+e)}this.log("Loading subtitle playlist for id "+o),this.hls.trigger(f.SUBTITLE_TRACK_LOADING,{url:n,id:o,groupId:i,deliveryDirectives:t||null})}},a.toggleTrackModes=function(){var e=this.media;if(e){var t,a=ra(e.textTracks),o=this.currentTrack;if(o&&((t=a.filter((function(e){return bn(o,e)}))[0])||this.warn('Unable to find subtitle TextTrack with name "'+o.name+'" and language "'+o.lang+'"')),[].slice.call(a).forEach((function(e){"disabled"!==e.mode&&e!==t&&(e.mode="disabled")})),t){var i=this.subtitleDisplay?"showing":"hidden";t.mode!==i&&(t.mode=i)}}},a.setSubtitleTrack=function(e){var t=this.tracksInGroup;if(this.media)if(e<-1||e>=t.length||!p(e))this.warn("Invalid subtitle track id: "+e);else{this.clearTimer(),this.selectDefaultTrack=!1;var a=this.currentTrack,o=t[e]||null;if(this.trackId=e,this.currentTrack=o,this.toggleTrackModes(),o){var i=!!o.details&&!o.details.live;if(e!==this.trackId||o!==a||!i){this.log("Switching to subtitle-track "+e+(o?' "'+o.name+'" lang:'+o.lang+" group:"+o.groupId:""));var n=o.id,r=o.groupId,E=void 0===r?"":r,_=o.name,T=o.type,s=o.url;this.hls.trigger(f.SUBTITLE_TRACK_SWITCH,{id:n,groupId:E,name:_,type:T,url:s});var S=this.switchParams(o.url,null==a?void 0:a.details);this.loadPlaylist(S)}}else this.hls.trigger(f.SUBTITLE_TRACK_SWITCH,{id:e})}else this.queuedDefaultTrack=e},E(t,[{key:"subtitleDisplay",get:function(){return this._subtitleDisplay},set:function(e){this._subtitleDisplay=e,this.trackId>-1&&this.toggleTrackModes()}},{key:"allSubtitleTracks",get:function(){return this.tracks}},{key:"subtitleTracks",get:function(){return this.tracksInGroup}},{key:"subtitleTrack",get:function(){return this.trackId},set:function(e){this.selectDefaultTrack=!1,this.setSubtitleTrack(e)}}]),t})(Za),Yn=(function(){function e(e){this.buffers=void 0,this.queues={video:[],audio:[],audiovideo:[]},this.buffers=e}var t=e.prototype;return t.append=function(e,t,a){var o=this.queues[t];o.push(e),1!==o.length||a||this.executeNext(t)},t.insertAbort=function(e,t){this.queues[t].unshift(e),this.executeNext(t)},t.appendBlocker=function(e){var t,a=new Promise((function(e){t=e})),o={execute:t,onStart:function(){},onComplete:function(){},onError:function(){}};return this.append(o,e),a},t.executeNext=function(e){var t=this.queues[e];if(t.length){var a=t[0];try{a.execute()}catch(t){U.warn('[buffer-operation-queue]: Exception executing "'+e+'" SourceBuffer operation: '+t),a.onError(t);var o=this.buffers[e];null!=o&&o.updating||this.shiftAndExecuteNext(e)}}},t.shiftAndExecuteNext=function(e){this.queues[e].shift(),this.executeNext(e)},t.current=function(e){return this.queues[e][0]},e})(),zn=/(avc[1234]|hvc1|hev1|dvh[1e]|vp09|av01)(?:\.[^.,]+)+/,Kn=(function(){function e(e){var t=this;this.details=null,this._objectUrl=null,this.operationQueue=void 0,this.listeners=void 0,this.hls=void 0,this.bufferCodecEventsExpected=0,this._bufferCodecEventsTotal=0,this.media=null,this.mediaSource=null,this.lastMpegAudioChunk=null,this.appendSource=void 0,this.appendErrors={audio:0,video:0,audiovideo:0},this.tracks={},this.pendingTracks={},this.sourceBuffer=void 0,this.log=void 0,this.warn=void 0,this.error=void 0,this._onEndStreaming=function(e){t.hls&&t.hls.pauseBuffering()},this._onStartStreaming=function(e){t.hls&&t.hls.resumeBuffering()},this._onMediaSourceOpen=function(){var e=t.media,a=t.mediaSource;t.log("Media source opened"),e&&(e.removeEventListener("emptied",t._onMediaEmptied),t.updateMediaElementDuration(),t.hls.trigger(f.MEDIA_ATTACHED,{media:e,mediaSource:a})),a&&a.removeEventListener("sourceopen",t._onMediaSourceOpen),t.checkPendingTracks()},this._onMediaSourceClose=function(){t.log("Media source closed")},this._onMediaSourceEnded=function(){t.log("Media source ended")},this._onMediaEmptied=function(){var e=t.mediaSrc,a=t._objectUrl;e!==a&&U.error("Media element src was set while attaching MediaSource ("+a+" > "+e+")")},this.hls=e;var a="[buffer-controller]";this.appendSource=e.config.preferManagedMediaSource,this.log=U.log.bind(U,a),this.warn=U.warn.bind(U,a),this.error=U.error.bind(U,a),this._initSourceBuffer(),this.registerListeners()}var t=e.prototype;return t.hasSourceTypes=function(){return this.getSourceBufferTypes().length>0||Object.keys(this.pendingTracks).length>0},t.destroy=function(){this.unregisterListeners(),this.details=null,this.lastMpegAudioChunk=null,this.hls=null},t.registerListeners=function(){var e=this.hls;e.on(f.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(f.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(f.MANIFEST_LOADING,this.onManifestLoading,this),e.on(f.MANIFEST_PARSED,this.onManifestParsed,this),e.on(f.BUFFER_RESET,this.onBufferReset,this),e.on(f.BUFFER_APPENDING,this.onBufferAppending,this),e.on(f.BUFFER_CODECS,this.onBufferCodecs,this),e.on(f.BUFFER_EOS,this.onBufferEos,this),e.on(f.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(f.LEVEL_UPDATED,this.onLevelUpdated,this),e.on(f.FRAG_PARSED,this.onFragParsed,this),e.on(f.FRAG_CHANGED,this.onFragChanged,this)},t.unregisterListeners=function(){var e=this.hls;e.off(f.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(f.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(f.MANIFEST_LOADING,this.onManifestLoading,this),e.off(f.MANIFEST_PARSED,this.onManifestParsed,this),e.off(f.BUFFER_RESET,this.onBufferReset,this),e.off(f.BUFFER_APPENDING,this.onBufferAppending,this),e.off(f.BUFFER_CODECS,this.onBufferCodecs,this),e.off(f.BUFFER_EOS,this.onBufferEos,this),e.off(f.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(f.LEVEL_UPDATED,this.onLevelUpdated,this),e.off(f.FRAG_PARSED,this.onFragParsed,this),e.off(f.FRAG_CHANGED,this.onFragChanged,this)},t._initSourceBuffer=function(){this.sourceBuffer={},this.operationQueue=new Yn(this.sourceBuffer),this.listeners={audio:[],video:[],audiovideo:[]},this.appendErrors={audio:0,video:0,audiovideo:0},this.lastMpegAudioChunk=null},t.onManifestLoading=function(){this.bufferCodecEventsExpected=this._bufferCodecEventsTotal=0,this.details=null},t.onManifestParsed=function(e,t){var a=2;(t.audio&&!t.video||!t.altAudio)&&(a=1),this.bufferCodecEventsExpected=this._bufferCodecEventsTotal=a,this.log(this.bufferCodecEventsExpected+" bufferCodec event(s) expected")},t.onMediaAttaching=function(e,t){var a=this.media=t.media,o=mt(this.appendSource);if(a&&o){var i,n=this.mediaSource=new o;this.log("created media source: "+(null==(i=n.constructor)?void 0:i.name)),n.addEventListener("sourceopen",this._onMediaSourceOpen),n.addEventListener("sourceended",this._onMediaSourceEnded),n.addEventListener("sourceclose",this._onMediaSourceClose),n.addEventListener("startstreaming",this._onStartStreaming),n.addEventListener("endstreaming",this._onEndStreaming);var r=this._objectUrl=self.URL.createObjectURL(n);if(this.appendSource)try{a.removeAttribute("src");var E=self.ManagedMediaSource;a.disableRemotePlayback=a.disableRemotePlayback||E&&n instanceof E,xn(a),jn(a,r),a.load()}catch(e){a.src=r}else a.src=r;a.addEventListener("emptied",this._onMediaEmptied)}},t.onMediaDetaching=function(){var e=this.media,t=this.mediaSource,a=this._objectUrl;if(t){if(this.log("media source detaching"),"open"===t.readyState)try{t.endOfStream()}catch(e){this.warn("onMediaDetaching: "+e.message+" while calling endOfStream")}this.onBufferReset(),t.removeEventListener("sourceopen",this._onMediaSourceOpen),t.removeEventListener("sourceended",this._onMediaSourceEnded),t.removeEventListener("sourceclose",this._onMediaSourceClose),t.removeEventListener("startstreaming",this._onStartStreaming),t.removeEventListener("endstreaming",this._onEndStreaming),e&&(e.removeEventListener("emptied",this._onMediaEmptied),a&&self.URL.revokeObjectURL(a),this.mediaSrc===a?(e.removeAttribute("src"),this.appendSource&&xn(e),e.load()):this.warn("media|source.src was changed by a third party - skip cleanup")),this.mediaSource=null,this.media=null,this._objectUrl=null,this.bufferCodecEventsExpected=this._bufferCodecEventsTotal,this.pendingTracks={},this.tracks={}}this.hls.trigger(f.MEDIA_DETACHED,void 0)},t.onBufferReset=function(){var e=this;this.getSourceBufferTypes().forEach((function(t){e.resetBuffer(t)})),this._initSourceBuffer()},t.resetBuffer=function(e){var t=this.sourceBuffer[e];try{var a;t&&(this.removeBufferListeners(e),this.sourceBuffer[e]=void 0,null!=(a=this.mediaSource)&&a.sourceBuffers.length&&this.mediaSource.removeSourceBuffer(t))}catch(t){this.warn("onBufferReset "+e,t)}},t.onBufferCodecs=function(e,t){var a=this,o=this.getSourceBufferTypes().length,i=Object.keys(t);if(i.forEach((function(e){if(o){var i=a.tracks[e];if(i&&"function"==typeof i.buffer.changeType){var n,r=t[e],E=r.id,_=r.codec,T=r.levelCodec,s=r.container,S=r.metadata,l=Wt(i.codec,i.levelCodec),I=null==l?void 0:l.replace(zn,"$1"),A=Wt(_,T),u=null==(n=A)?void 0:n.replace(zn,"$1");if(A&&I!==u){"audio"===e.slice(0,5)&&(A=yt(A,a.hls.config.preferManagedMediaSource));var d=s+";codecs="+A;a.appendChangeType(e,d),a.log("switching codec "+l+" to "+A),a.tracks[e]={buffer:i.buffer,codec:_,container:s,levelCodec:T,metadata:S,id:E}}}}else a.pendingTracks[e]=t[e]})),!o){var n=Math.max(this.bufferCodecEventsExpected-1,0);this.bufferCodecEventsExpected!==n&&(this.log(n+" bufferCodec event(s) expected "+i.join(",")),this.bufferCodecEventsExpected=n),this.mediaSource&&"open"===this.mediaSource.readyState&&this.checkPendingTracks()}},t.appendChangeType=function(e,t){var a=this,o=this.operationQueue,i={execute:function(){var i=a.sourceBuffer[e];i&&(a.log("changing "+e+" sourceBuffer type to "+t),i.changeType(t)),o.shiftAndExecuteNext(e)},onStart:function(){},onComplete:function(){},onError:function(t){a.warn("Failed to change "+e+" SourceBuffer type",t)}};o.append(i,e,!!this.pendingTracks[e])},t.onBufferAppending=function(e,t){var a=this,o=this.hls,i=this.operationQueue,n=this.tracks,r=t.data,E=t.type,_=t.frag,T=t.part,s=t.chunkMeta,S=s.buffering[E],l=self.performance.now();S.start=l;var I=_.stats.buffering,A=T?T.stats.buffering:null;0===I.start&&(I.start=l),A&&0===A.start&&(A.start=l);var u=n.audio,d=!1;"audio"===E&&"audio/mpeg"===(null==u?void 0:u.container)&&(d=!this.lastMpegAudioChunk||1===s.id||this.lastMpegAudioChunk.sn!==s.sn,this.lastMpegAudioChunk=s);var c=_.start,O={execute:function(){if(S.executeStart=self.performance.now(),d){var e=a.sourceBuffer[E];if(e){var t=c-e.timestampOffset;Math.abs(t)>=.1&&(a.log("Updating audio SourceBuffer timestampOffset to "+c+" (delta: "+t+") sn: "+_.sn+")"),e.timestampOffset=c)}}a.appendExecutor(r,E)},onStart:function(){},onComplete:function(){var e=self.performance.now();S.executeEnd=S.end=e,0===I.first&&(I.first=e),A&&0===A.first&&(A.first=e);var t=a.sourceBuffer,o={};for(var i in t)o[i]=fo.getBuffered(t[i]);a.appendErrors[E]=0,"audio"===E||"video"===E?a.appendErrors.audiovideo=0:(a.appendErrors.audio=0,a.appendErrors.video=0),a.hls.trigger(f.BUFFER_APPENDED,{type:E,frag:_,part:T,chunkMeta:s,parent:_.type,timeRanges:o})},onError:function(e){var t={type:B.MEDIA_ERROR,parent:_.type,details:P.BUFFER_APPEND_ERROR,sourceBufferName:E,frag:_,part:T,chunkMeta:s,error:e,err:e,fatal:!1};if(e.code===DOMException.QUOTA_EXCEEDED_ERR)t.details=P.BUFFER_FULL_ERROR;else{var i=++a.appendErrors[E];t.details=P.BUFFER_APPEND_ERROR,a.warn("Failed "+i+"/"+o.config.appendErrorMaxRetry+' times to append segment in "'+E+'" sourceBuffer'),i>=o.config.appendErrorMaxRetry&&(t.fatal=!0)}o.trigger(f.ERROR,t)}};i.append(O,E,!!this.pendingTracks[E])},t.onBufferFlushing=function(e,t){var a=this,o=this.operationQueue,i=function(e){return{execute:a.removeExecutor.bind(a,e,t.startOffset,t.endOffset),onStart:function(){},onComplete:function(){a.hls.trigger(f.BUFFER_FLUSHED,{type:e})},onError:function(t){a.warn("Failed to remove from "+e+" SourceBuffer",t)}}};t.type?o.append(i(t.type),t.type):this.getSourceBufferTypes().forEach((function(e){o.append(i(e),e)}))},t.onFragParsed=function(e,t){var a=this,o=t.frag,i=t.part,n=[],r=i?i.elementaryStreams:o.elementaryStreams;r[z.AUDIOVIDEO]?n.push("audiovideo"):(r[z.AUDIO]&&n.push("audio"),r[z.VIDEO]&&n.push("video"));var E=function(){var e=self.performance.now();o.stats.buffering.end=e,i&&(i.stats.buffering.end=e);var t=i?i.stats:o.stats;a.hls.trigger(f.FRAG_BUFFERED,{frag:o,part:i,stats:t,id:o.type})};0===n.length&&this.warn("Fragments must have at least one ElementaryStreamType set. type: "+o.type+" level: "+o.level+" sn: "+o.sn),this.blockBuffers(E,n)},t.onFragChanged=function(e,t){this.trimBuffers()},t.onBufferEos=function(e,t){var a=this;this.getSourceBufferTypes().reduce((function(e,o){var i=a.sourceBuffer[o];return!i||t.type&&t.type!==o||(i.ending=!0,i.ended||(i.ended=!0,a.log(o+" sourceBuffer now EOS"))),e&&!(i&&!i.ended)}),!0)&&(this.log("Queueing mediaSource.endOfStream()"),this.blockBuffers((function(){a.getSourceBufferTypes().forEach((function(e){var t=a.sourceBuffer[e];t&&(t.ending=!1)}));var e=a.mediaSource;e&&"open"===e.readyState?(a.log("Calling mediaSource.endOfStream()"),e.endOfStream()):e&&a.log("Could not call mediaSource.endOfStream(). mediaSource.readyState: "+e.readyState)})))},t.onLevelUpdated=function(e,t){var a=t.details;a.fragments.length&&(this.details=a,this.getSourceBufferTypes().length?this.blockBuffers(this.updateMediaElementDuration.bind(this)):this.updateMediaElementDuration())},t.trimBuffers=function(){var e=this.hls,t=this.details,a=this.media;if(a&&null!==t&&this.getSourceBufferTypes().length){var o=e.config,i=a.currentTime,n=t.levelTargetDuration,r=t.live&&null!==o.liveBackBufferLength?o.liveBackBufferLength:o.backBufferLength;if(p(r)&&r>0){var E=Math.max(r,n),_=Math.floor(i/n)*n-E;this.flushBackBuffer(i,n,_)}if(p(o.frontBufferFlushThreshold)&&o.frontBufferFlushThreshold>0){var T=Math.max(o.maxBufferLength,o.frontBufferFlushThreshold),s=Math.max(T,n),S=Math.floor(i/n)*n+s;this.flushFrontBuffer(i,n,S)}}},t.flushBackBuffer=function(e,t,a){var o=this,i=this.details,n=this.sourceBuffer;this.getSourceBufferTypes().forEach((function(r){var E=n[r];if(E){var _=fo.getBuffered(E);if(_.length>0&&a>_.start(0)){if(o.hls.trigger(f.BACK_BUFFER_REACHED,{bufferEnd:a}),null!=i&&i.live)o.hls.trigger(f.LIVE_BACK_BUFFER_REACHED,{bufferEnd:a});else if(E.ended&&_.end(_.length-1)-e<2*t)return void o.log("Cannot flush "+r+" back buffer while SourceBuffer is in ended state");o.hls.trigger(f.BUFFER_FLUSHING,{startOffset:0,endOffset:a,type:r})}}}))},t.flushFrontBuffer=function(e,t,a){var o=this,i=this.sourceBuffer;this.getSourceBufferTypes().forEach((function(n){var r=i[n];if(r){var E=fo.getBuffered(r),_=E.length;if(_<2)return;var T=E.start(_-1),s=E.end(_-1);if(a>T||e>=T&&e<=s)return;if(r.ended&&e-s<2*t)return void o.log("Cannot flush "+n+" front buffer while SourceBuffer is in ended state");o.hls.trigger(f.BUFFER_FLUSHING,{startOffset:T,endOffset:1/0,type:n})}}))},t.updateMediaElementDuration=function(){if(this.details&&this.media&&this.mediaSource&&"open"===this.mediaSource.readyState){var e=this.details,t=this.hls,a=this.media,o=this.mediaSource,i=e.fragments[0].start+e.totalduration,n=a.duration,r=p(o.duration)?o.duration:0;e.live&&t.config.liveDurationInfinity?(o.duration=1/0,this.updateSeekableRange(e)):(i>r&&i>n||!p(n))&&(this.log("Updating Media Source duration to "+i.toFixed(3)),o.duration=i)}},t.updateSeekableRange=function(e){var t=this.mediaSource,a=e.fragments;if(a.length&&e.live&&null!=t&&t.setLiveSeekableRange){var o=Math.max(0,a[0].start),i=Math.max(o,o+e.totalduration);this.log("Media Source duration is set to "+t.duration+". Setting seekable range to "+o+"-"+i+"."),t.setLiveSeekableRange(o,i)}},t.checkPendingTracks=function(){var e=this.bufferCodecEventsExpected,t=this.operationQueue,a=this.pendingTracks,o=Object.keys(a).length;if(o&&(!e||2===o||"audiovideo"in a)){this.createSourceBuffers(a),this.pendingTracks={};var i=this.getSourceBufferTypes();if(i.length)this.hls.trigger(f.BUFFER_CREATED,{tracks:this.tracks}),i.forEach((function(e){t.executeNext(e)}));else{var n=new Error("could not create source buffer for media codec(s)");this.hls.trigger(f.ERROR,{type:B.MEDIA_ERROR,details:P.BUFFER_INCOMPATIBLE_CODECS_ERROR,fatal:!0,error:n,reason:n.message})}}},t.createSourceBuffers=function(e){var t=this,a=this.sourceBuffer,o=this.mediaSource;if(!o)throw Error("createSourceBuffers called when mediaSource was null");var i=function(i){if(!a[i]){var n=e[i];if(!n)throw Error("source buffer exists for track "+i+", however track does not");var r=n.levelCodec||n.codec;r&&"audio"===i.slice(0,5)&&(r=yt(r,t.hls.config.preferManagedMediaSource));var E=n.container+";codecs="+r;t.log("creating sourceBuffer("+E+")");try{var _=a[i]=o.addSourceBuffer(E),T=i;t.addBufferListener(T,"updatestart",t._onSBUpdateStart),t.addBufferListener(T,"updateend",t._onSBUpdateEnd),t.addBufferListener(T,"error",t._onSBUpdateError),t.addBufferListener(T,"bufferedchange",(function(e,a){var o=a.removedRanges;null!=o&&o.length&&t.hls.trigger(f.BUFFER_FLUSHED,{type:i})})),t.tracks[i]={buffer:_,codec:r,container:n.container,levelCodec:n.levelCodec,metadata:n.metadata,id:n.id}}catch(e){t.error("error while trying to add sourceBuffer: "+e.message),t.hls.trigger(f.ERROR,{type:B.MEDIA_ERROR,details:P.BUFFER_ADD_CODEC_ERROR,fatal:!1,error:e,sourceBufferName:i,mimeType:E})}}};for(var n in e)i(n)},t._onSBUpdateStart=function(e){this.operationQueue.current(e).onStart()},t._onSBUpdateEnd=function(e){var t;if("closed"!==(null==(t=this.mediaSource)?void 0:t.readyState)){var a=this.operationQueue;a.current(e).onComplete(),a.shiftAndExecuteNext(e)}else this.resetBuffer(e)},t._onSBUpdateError=function(e,t){var a,o=new Error(e+" SourceBuffer error. MediaSource readyState: "+(null==(a=this.mediaSource)?void 0:a.readyState));this.error(""+o,t),this.hls.trigger(f.ERROR,{type:B.MEDIA_ERROR,details:P.BUFFER_APPENDING_ERROR,sourceBufferName:e,error:o,fatal:!1});var i=this.operationQueue.current(e);i&&i.onError(o)},t.removeExecutor=function(e,t,a){var o=this.media,i=this.mediaSource,n=this.operationQueue,r=this.sourceBuffer[e];if(!o||!i||!r)return this.warn("Attempting to remove from the "+e+" SourceBuffer, but it does not exist"),void n.shiftAndExecuteNext(e);var E=p(o.duration)?o.duration:1/0,_=p(i.duration)?i.duration:1/0,T=Math.max(0,t),s=Math.min(a,E,_);s>T&&(!r.ending||r.ended)?(r.ended=!1,this.log("Removing ["+T+","+s+"] from the "+e+" SourceBuffer"),r.remove(T,s)):n.shiftAndExecuteNext(e)},t.appendExecutor=function(e,t){var a=this.sourceBuffer[t];if(a)a.ended=!1,a.appendBuffer(e);else if(!this.pendingTracks[t])throw new Error("Attempting to append to the "+t+" SourceBuffer, but it does not exist")},t.blockBuffers=function(e,t){var a=this;if(void 0===t&&(t=this.getSourceBufferTypes()),!t.length)return this.log("Blocking operation requested, but no SourceBuffers exist"),void Promise.resolve().then(e);var o=this.operationQueue,i=t.map((function(e){return o.appendBlocker(e)}));Promise.all(i).then((function(){e(),t.forEach((function(e){var t=a.sourceBuffer[e];null!=t&&t.updating||o.shiftAndExecuteNext(e)}))}))},t.getSourceBufferTypes=function(){return Object.keys(this.sourceBuffer)},t.addBufferListener=function(e,t,a){var o=this.sourceBuffer[e];if(o){var i=a.bind(this,e);this.listeners[e].push({event:t,listener:i}),o.addEventListener(t,i)}},t.removeBufferListeners=function(e){var t=this.sourceBuffer[e];t&&this.listeners[e].forEach((function(e){t.removeEventListener(e.event,e.listener)}))},E(e,[{key:"mediaSrc",get:function(){var e,t=(null==(e=this.media)?void 0:e.firstChild)||this.media;return null==t?void 0:t.src}}]),e})();function xn(e){var t=e.querySelectorAll("source");[].slice.call(t).forEach((function(t){e.removeChild(t)}))}function jn(e,t){var a=self.document.createElement("source");a.type="video/mp4",a.src=t,e.appendChild(a)}var Qn={42:225,92:233,94:237,95:243,96:250,123:231,124:247,125:209,126:241,127:9608,128:174,129:176,130:189,131:191,132:8482,133:162,134:163,135:9834,136:224,137:32,138:232,139:226,140:234,141:238,142:244,143:251,144:193,145:201,146:211,147:218,148:220,149:252,150:8216,151:161,152:42,153:8217,154:9473,155:169,156:8480,157:8226,158:8220,159:8221,160:192,161:194,162:199,163:200,164:202,165:203,166:235,167:206,168:207,169:239,170:212,171:217,172:249,173:219,174:171,175:187,176:195,177:227,178:205,179:204,180:236,181:210,182:242,183:213,184:245,185:123,186:125,187:92,188:94,189:95,190:124,191:8764,192:196,193:228,194:214,195:246,196:223,197:165,198:164,199:9475,200:197,201:229,202:216,203:248,204:9487,205:9491,206:9495,207:9499},Xn=function(e){var t=e;return Qn.hasOwnProperty(e)&&(t=Qn[e]),String.fromCharCode(t)},$n=15,qn=100,Jn={17:1,18:3,21:5,22:7,23:9,16:11,19:12,20:14},Zn={17:2,18:4,21:6,22:8,23:10,19:13,20:15},er={25:1,26:3,29:5,30:7,31:9,24:11,27:12,28:14},tr={25:2,26:4,29:6,30:8,31:10,27:13,28:15},ar=["white","green","blue","cyan","red","yellow","magenta","black","transparent"],or=(function(){function e(){this.time=null,this.verboseLevel=0}return e.prototype.log=function(e,t){if(this.verboseLevel>=e){var a="function"==typeof t?t():t;U.log(this.time+" ["+e+"] "+a)}},e})(),ir=function(e){for(var t=[],a=0;a<e.length;a++)t.push(e[a].toString(16));return t},nr=(function(){function e(){this.foreground="white",this.underline=!1,this.italics=!1,this.background="black",this.flash=!1}var t=e.prototype;return t.reset=function(){this.foreground="white",this.underline=!1,this.italics=!1,this.background="black",this.flash=!1},t.setStyles=function(e){for(var t=["foreground","underline","italics","background","flash"],a=0;a<t.length;a++){var o=t[a];e.hasOwnProperty(o)&&(this[o]=e[o])}},t.isDefault=function(){return"white"===this.foreground&&!this.underline&&!this.italics&&"black"===this.background&&!this.flash},t.equals=function(e){return this.foreground===e.foreground&&this.underline===e.underline&&this.italics===e.italics&&this.background===e.background&&this.flash===e.flash},t.copy=function(e){this.foreground=e.foreground,this.underline=e.underline,this.italics=e.italics,this.background=e.background,this.flash=e.flash},t.toString=function(){return"color="+this.foreground+", underline="+this.underline+", italics="+this.italics+", background="+this.background+", flash="+this.flash},e})(),rr=(function(){function e(){this.uchar=" ",this.penState=new nr}var t=e.prototype;return t.reset=function(){this.uchar=" ",this.penState.reset()},t.setChar=function(e,t){this.uchar=e,this.penState.copy(t)},t.setPenState=function(e){this.penState.copy(e)},t.equals=function(e){return this.uchar===e.uchar&&this.penState.equals(e.penState)},t.copy=function(e){this.uchar=e.uchar,this.penState.copy(e.penState)},t.isEmpty=function(){return" "===this.uchar&&this.penState.isDefault()},e})(),Er=(function(){function e(e){this.chars=[],this.pos=0,this.currPenState=new nr,this.cueStartTime=null,this.logger=void 0;for(var t=0;t<qn;t++)this.chars.push(new rr);this.logger=e}var t=e.prototype;return t.equals=function(e){for(var t=0;t<qn;t++)if(!this.chars[t].equals(e.chars[t]))return!1;return!0},t.copy=function(e){for(var t=0;t<qn;t++)this.chars[t].copy(e.chars[t])},t.isEmpty=function(){for(var e=!0,t=0;t<qn;t++)if(!this.chars[t].isEmpty()){e=!1;break}return e},t.setCursor=function(e){this.pos!==e&&(this.pos=e),this.pos<0?(this.logger.log(3,"Negative cursor position "+this.pos),this.pos=0):this.pos>qn&&(this.logger.log(3,"Too large cursor position "+this.pos),this.pos=qn)},t.moveCursor=function(e){var t=this.pos+e;if(e>1)for(var a=this.pos+1;a<t+1;a++)this.chars[a].setPenState(this.currPenState);this.setCursor(t)},t.backSpace=function(){this.moveCursor(-1),this.chars[this.pos].setChar(" ",this.currPenState)},t.insertChar=function(e){var t=this;e>=144&&this.backSpace();var a=Xn(e);this.pos>=qn?this.logger.log(0,(function(){return"Cannot insert "+e.toString(16)+" ("+a+") at position "+t.pos+". Skipping it!"})):(this.chars[this.pos].setChar(a,this.currPenState),this.moveCursor(1))},t.clearFromPos=function(e){var t;for(t=e;t<qn;t++)this.chars[t].reset()},t.clear=function(){this.clearFromPos(0),this.pos=0,this.currPenState.reset()},t.clearToEndOfRow=function(){this.clearFromPos(this.pos)},t.getTextString=function(){for(var e=[],t=!0,a=0;a<qn;a++){var o=this.chars[a].uchar;" "!==o&&(t=!1),e.push(o)}return t?"":e.join("")},t.setPenStyles=function(e){this.currPenState.setStyles(e),this.chars[this.pos].setPenState(this.currPenState)},e})(),_r=(function(){function e(e){this.rows=[],this.currRow=$n-1,this.nrRollUpRows=null,this.lastOutputScreen=null,this.logger=void 0;for(var t=0;t<$n;t++)this.rows.push(new Er(e));this.logger=e}var t=e.prototype;return t.reset=function(){for(var e=0;e<$n;e++)this.rows[e].clear();this.currRow=$n-1},t.equals=function(e){for(var t=!0,a=0;a<$n;a++)if(!this.rows[a].equals(e.rows[a])){t=!1;break}return t},t.copy=function(e){for(var t=0;t<$n;t++)this.rows[t].copy(e.rows[t])},t.isEmpty=function(){for(var e=!0,t=0;t<$n;t++)if(!this.rows[t].isEmpty()){e=!1;break}return e},t.backSpace=function(){this.rows[this.currRow].backSpace()},t.clearToEndOfRow=function(){this.rows[this.currRow].clearToEndOfRow()},t.insertChar=function(e){this.rows[this.currRow].insertChar(e)},t.setPen=function(e){this.rows[this.currRow].setPenStyles(e)},t.moveCursor=function(e){this.rows[this.currRow].moveCursor(e)},t.setCursor=function(e){this.logger.log(2,"setCursor: "+e),this.rows[this.currRow].setCursor(e)},t.setPAC=function(e){this.logger.log(2,(function(){return"pacData = "+JSON.stringify(e)}));var t=e.row-1;if(this.nrRollUpRows&&t<this.nrRollUpRows-1&&(t=this.nrRollUpRows-1),this.nrRollUpRows&&this.currRow!==t){for(var a=0;a<$n;a++)this.rows[a].clear();var o=this.currRow+1-this.nrRollUpRows,i=this.lastOutputScreen;if(i){var n=i.rows[o].cueStartTime,r=this.logger.time;if(null!==n&&null!==r&&n<r)for(var E=0;E<this.nrRollUpRows;E++)this.rows[t-this.nrRollUpRows+E+1].copy(i.rows[o+E])}}this.currRow=t;var _=this.rows[this.currRow];if(null!==e.indent){var T=e.indent,s=Math.max(T-1,0);_.setCursor(e.indent),e.color=_.chars[s].penState.foreground}var S={foreground:e.color,underline:e.underline,italics:e.italics,background:"black",flash:!1};this.setPen(S)},t.setBkgData=function(e){this.logger.log(2,(function(){return"bkgData = "+JSON.stringify(e)})),this.backSpace(),this.setPen(e),this.insertChar(32)},t.setRollUpRows=function(e){this.nrRollUpRows=e},t.rollUp=function(){var e=this;if(null!==this.nrRollUpRows){this.logger.log(1,(function(){return e.getDisplayText()}));var t=this.currRow+1-this.nrRollUpRows,a=this.rows.splice(t,1)[0];a.clear(),this.rows.splice(this.currRow,0,a),this.logger.log(2,"Rolling up")}else this.logger.log(3,"roll_up but nrRollUpRows not set yet")},t.getDisplayText=function(e){e=e||!1;for(var t=[],a="",o=-1,i=0;i<$n;i++){var n=this.rows[i].getTextString();n&&(o=i+1,e?t.push("Row "+o+": '"+n+"'"):t.push(n.trim()))}return t.length>0&&(a=e?"["+t.join(" | ")+"]":t.join("\n")),a},t.getTextAndFormat=function(){return this.rows},e})(),Tr=(function(){function e(e,t,a){this.chNr=void 0,this.outputFilter=void 0,this.mode=void 0,this.verbose=void 0,this.displayedMemory=void 0,this.nonDisplayedMemory=void 0,this.lastOutputScreen=void 0,this.currRollUpRow=void 0,this.writeScreen=void 0,this.cueStartTime=void 0,this.logger=void 0,this.chNr=e,this.outputFilter=t,this.mode=null,this.verbose=0,this.displayedMemory=new _r(a),this.nonDisplayedMemory=new _r(a),this.lastOutputScreen=new _r(a),this.currRollUpRow=this.displayedMemory.rows[$n-1],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null,this.logger=a}var t=e.prototype;return t.reset=function(){this.mode=null,this.displayedMemory.reset(),this.nonDisplayedMemory.reset(),this.lastOutputScreen.reset(),this.outputFilter.reset(),this.currRollUpRow=this.displayedMemory.rows[$n-1],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null},t.getHandler=function(){return this.outputFilter},t.setHandler=function(e){this.outputFilter=e},t.setPAC=function(e){this.writeScreen.setPAC(e)},t.setBkgData=function(e){this.writeScreen.setBkgData(e)},t.setMode=function(e){e!==this.mode&&(this.mode=e,this.logger.log(2,(function(){return"MODE="+e})),"MODE_POP-ON"===this.mode?this.writeScreen=this.nonDisplayedMemory:(this.writeScreen=this.displayedMemory,this.writeScreen.reset()),"MODE_ROLL-UP"!==this.mode&&(this.displayedMemory.nrRollUpRows=null,this.nonDisplayedMemory.nrRollUpRows=null),this.mode=e)},t.insertChars=function(e){for(var t=this,a=0;a<e.length;a++)this.writeScreen.insertChar(e[a]);var o=this.writeScreen===this.displayedMemory?"DISP":"NON_DISP";this.logger.log(2,(function(){return o+": "+t.writeScreen.getDisplayText(!0)})),"MODE_PAINT-ON"!==this.mode&&"MODE_ROLL-UP"!==this.mode||(this.logger.log(1,(function(){return"DISPLAYED: "+t.displayedMemory.getDisplayText(!0)})),this.outputDataUpdate())},t.ccRCL=function(){this.logger.log(2,"RCL - Resume Caption Loading"),this.setMode("MODE_POP-ON")},t.ccBS=function(){this.logger.log(2,"BS - BackSpace"),"MODE_TEXT"!==this.mode&&(this.writeScreen.backSpace(),this.writeScreen===this.displayedMemory&&this.outputDataUpdate())},t.ccAOF=function(){},t.ccAON=function(){},t.ccDER=function(){this.logger.log(2,"DER- Delete to End of Row"),this.writeScreen.clearToEndOfRow(),this.outputDataUpdate()},t.ccRU=function(e){this.logger.log(2,"RU("+e+") - Roll Up"),this.writeScreen=this.displayedMemory,this.setMode("MODE_ROLL-UP"),this.writeScreen.setRollUpRows(e)},t.ccFON=function(){this.logger.log(2,"FON - Flash On"),this.writeScreen.setPen({flash:!0})},t.ccRDC=function(){this.logger.log(2,"RDC - Resume Direct Captioning"),this.setMode("MODE_PAINT-ON")},t.ccTR=function(){this.logger.log(2,"TR"),this.setMode("MODE_TEXT")},t.ccRTD=function(){this.logger.log(2,"RTD"),this.setMode("MODE_TEXT")},t.ccEDM=function(){this.logger.log(2,"EDM - Erase Displayed Memory"),this.displayedMemory.reset(),this.outputDataUpdate(!0)},t.ccCR=function(){this.logger.log(2,"CR - Carriage Return"),this.writeScreen.rollUp(),this.outputDataUpdate(!0)},t.ccENM=function(){this.logger.log(2,"ENM - Erase Non-displayed Memory"),this.nonDisplayedMemory.reset()},t.ccEOC=function(){var e=this;if(this.logger.log(2,"EOC - End Of Caption"),"MODE_POP-ON"===this.mode){var t=this.displayedMemory;this.displayedMemory=this.nonDisplayedMemory,this.nonDisplayedMemory=t,this.writeScreen=this.nonDisplayedMemory,this.logger.log(1,(function(){return"DISP: "+e.displayedMemory.getDisplayText()}))}this.outputDataUpdate(!0)},t.ccTO=function(e){this.logger.log(2,"TO("+e+") - Tab Offset"),this.writeScreen.moveCursor(e)},t.ccMIDROW=function(e){var t={flash:!1};if(t.underline=e%2==1,t.italics=e>=46,t.italics)t.foreground="white";else{var a=Math.floor(e/2)-16,o=["white","green","blue","cyan","red","yellow","magenta"];t.foreground=o[a]}this.logger.log(2,"MIDROW: "+JSON.stringify(t)),this.writeScreen.setPen(t)},t.outputDataUpdate=function(e){void 0===e&&(e=!1);var t=this.logger.time;null!==t&&this.outputFilter&&(null!==this.cueStartTime||this.displayedMemory.isEmpty()?this.displayedMemory.equals(this.lastOutputScreen)||(this.outputFilter.newCue(this.cueStartTime,t,this.lastOutputScreen),e&&this.outputFilter.dispatchCue&&this.outputFilter.dispatchCue(),this.cueStartTime=this.displayedMemory.isEmpty()?null:t):this.cueStartTime=t,this.lastOutputScreen.copy(this.displayedMemory))},t.cueSplitAtTime=function(e){this.outputFilter&&(this.displayedMemory.isEmpty()||(this.outputFilter.newCue&&this.outputFilter.newCue(this.cueStartTime,e,this.displayedMemory),this.cueStartTime=e))},e})(),sr=(function(){function e(e,t,a){this.channels=void 0,this.currentChannel=0,this.cmdHistory=Ir(),this.logger=void 0;var o=this.logger=new or;this.channels=[null,new Tr(e,t,o),new Tr(e+1,a,o)]}var t=e.prototype;return t.getHandler=function(e){return this.channels[e].getHandler()},t.setHandler=function(e,t){this.channels[e].setHandler(t)},t.addData=function(e,t){var a,o,i,n=!1;this.logger.time=e;for(var r=0;r<t.length;r+=2)if(o=127&t[r],i=127&t[r+1],0!==o||0!==i){if(this.logger.log(3,"["+ir([t[r],t[r+1]])+"] -> ("+ir([o,i])+")"),(a=this.parseCmd(o,i))||(a=this.parseMidrow(o,i)),a||(a=this.parsePAC(o,i)),a||(a=this.parseBackgroundAttributes(o,i)),!a&&(n=this.parseChars(o,i))){var E=this.currentChannel;E&&E>0?this.channels[E].insertChars(n):this.logger.log(2,"No channel found yet. TEXT-MODE?")}a||n||this.logger.log(2,"Couldn't parse cleaned data "+ir([o,i])+" orig: "+ir([t[r],t[r+1]]))}},t.parseCmd=function(e,t){var a=this.cmdHistory;if(!((20===e||28===e||21===e||29===e)&&t>=32&&t<=47||(23===e||31===e)&&t>=33&&t<=35))return!1;if(lr(e,t,a))return Sr(null,null,a),this.logger.log(3,"Repeated command ("+ir([e,t])+") is dropped"),!0;var o=20===e||21===e||23===e?1:2,i=this.channels[o];return 20===e||21===e||28===e||29===e?32===t?i.ccRCL():33===t?i.ccBS():34===t?i.ccAOF():35===t?i.ccAON():36===t?i.ccDER():37===t?i.ccRU(2):38===t?i.ccRU(3):39===t?i.ccRU(4):40===t?i.ccFON():41===t?i.ccRDC():42===t?i.ccTR():43===t?i.ccRTD():44===t?i.ccEDM():45===t?i.ccCR():46===t?i.ccENM():47===t&&i.ccEOC():i.ccTO(t-32),Sr(e,t,a),this.currentChannel=o,!0},t.parseMidrow=function(e,t){var a=0;if((17===e||25===e)&&t>=32&&t<=47){if((a=17===e?1:2)!==this.currentChannel)return this.logger.log(0,"Mismatch channel in midrow parsing"),!1;var o=this.channels[a];return!!o&&(o.ccMIDROW(t),this.logger.log(3,"MIDROW ("+ir([e,t])+")"),!0)}return!1},t.parsePAC=function(e,t){var a,o=this.cmdHistory;if(!((e>=17&&e<=23||e>=25&&e<=31)&&t>=64&&t<=127||(16===e||24===e)&&t>=64&&t<=95))return!1;if(lr(e,t,o))return Sr(null,null,o),!0;var i=e<=23?1:2;a=t>=64&&t<=95?1===i?Jn[e]:er[e]:1===i?Zn[e]:tr[e];var n=this.channels[i];return!!n&&(n.setPAC(this.interpretPAC(a,t)),Sr(e,t,o),this.currentChannel=i,!0)},t.interpretPAC=function(e,t){var a,o={color:null,italics:!1,indent:null,underline:!1,row:e};return a=t>95?t-96:t-64,o.underline=1==(1&a),a<=13?o.color=["white","green","blue","cyan","red","yellow","magenta","white"][Math.floor(a/2)]:a<=15?(o.italics=!0,o.color="white"):o.indent=4*Math.floor((a-16)/2),o},t.parseChars=function(e,t){var a,o,i=null,n=null;if(e>=25?(a=2,n=e-8):(a=1,n=e),n>=17&&n<=19?(o=17===n?t+80:18===n?t+112:t+144,this.logger.log(2,"Special char '"+Xn(o)+"' in channel "+a),i=[o]):e>=32&&e<=127&&(i=0===t?[e]:[e,t]),i){var r=ir(i);this.logger.log(3,"Char codes = "+r.join(",")),Sr(e,t,this.cmdHistory)}return i},t.parseBackgroundAttributes=function(e,t){var a;if(!((16===e||24===e)&&t>=32&&t<=47||(23===e||31===e)&&t>=45&&t<=47))return!1;var o={};16===e||24===e?(a=Math.floor((t-32)/2),o.background=ar[a],t%2==1&&(o.background=o.background+"_semi")):45===t?o.background="transparent":(o.foreground="black",47===t&&(o.underline=!0));var i=e<=23?1:2;return this.channels[i].setBkgData(o),Sr(e,t,this.cmdHistory),!0},t.reset=function(){for(var e=0;e<Object.keys(this.channels).length;e++){var t=this.channels[e];t&&t.reset()}this.cmdHistory=Ir()},t.cueSplitAtTime=function(e){for(var t=0;t<this.channels.length;t++){var a=this.channels[t];a&&a.cueSplitAtTime(e)}},e})();function Sr(e,t,a){a.a=e,a.b=t}function lr(e,t,a){return a.a===e&&a.b===t}function Ir(){return{a:null,b:null}}var Ar=(function(){function e(e,t){this.timelineController=void 0,this.cueRanges=[],this.trackName=void 0,this.startTime=null,this.endTime=null,this.screen=null,this.timelineController=e,this.trackName=t}var t=e.prototype;return t.dispatchCue=function(){null!==this.startTime&&(this.timelineController.addCues(this.trackName,this.startTime,this.endTime,this.screen,this.cueRanges),this.startTime=null)},t.newCue=function(e,t,a){(null===this.startTime||this.startTime>e)&&(this.startTime=e),this.endTime=t,this.screen=a,this.timelineController.createCaptionsTrack(this.trackName)},t.reset=function(){this.cueRanges=[],this.startTime=null},e})(),ur=(function(){if(null!=te&&te.VTTCue)return self.VTTCue;var e=["","lr","rl"],t=["start","middle","end","left","right"];function a(e,t){if("string"!=typeof t)return!1;if(!Array.isArray(e))return!1;var a=t.toLowerCase();return!!~e.indexOf(a)&&a}function o(t){return a(e,t)}function i(e){return a(t,e)}function n(e){for(var t=arguments.length,a=new Array(t>1?t-1:0),o=1;o<t;o++)a[o-1]=arguments[o];for(var i=1;i<arguments.length;i++){var n=arguments[i];for(var r in n)e[r]=n[r]}return e}function r(e,t,a){var r=this,E={enumerable:!0};r.hasBeenReset=!1;var _="",T=!1,s=e,S=t,l=a,I=null,A="",u=!0,d="auto",c="start",O=50,R="middle",N=50,m="middle";Object.defineProperty(r,"id",n({},E,{get:function(){return _},set:function(e){_=""+e}})),Object.defineProperty(r,"pauseOnExit",n({},E,{get:function(){return T},set:function(e){T=!!e}})),Object.defineProperty(r,"startTime",n({},E,{get:function(){return s},set:function(e){if("number"!=typeof e)throw new TypeError("Start time must be set to a number.");s=e,this.hasBeenReset=!0}})),Object.defineProperty(r,"endTime",n({},E,{get:function(){return S},set:function(e){if("number"!=typeof e)throw new TypeError("End time must be set to a number.");S=e,this.hasBeenReset=!0}})),Object.defineProperty(r,"text",n({},E,{get:function(){return l},set:function(e){l=""+e,this.hasBeenReset=!0}})),Object.defineProperty(r,"region",n({},E,{get:function(){return I},set:function(e){I=e,this.hasBeenReset=!0}})),Object.defineProperty(r,"vertical",n({},E,{get:function(){return A},set:function(e){var t=o(e);if(!1===t)throw new SyntaxError("An invalid or illegal string was specified.");A=t,this.hasBeenReset=!0}})),Object.defineProperty(r,"snapToLines",n({},E,{get:function(){return u},set:function(e){u=!!e,this.hasBeenReset=!0}})),Object.defineProperty(r,"line",n({},E,{get:function(){return d},set:function(e){if("number"!=typeof e&&"auto"!==e)throw new SyntaxError("An invalid number or illegal string was specified.");d=e,this.hasBeenReset=!0}})),Object.defineProperty(r,"lineAlign",n({},E,{get:function(){return c},set:function(e){var t=i(e);if(!t)throw new SyntaxError("An invalid or illegal string was specified.");c=t,this.hasBeenReset=!0}})),Object.defineProperty(r,"position",n({},E,{get:function(){return O},set:function(e){if(e<0||e>100)throw new Error("Position must be between 0 and 100.");O=e,this.hasBeenReset=!0}})),Object.defineProperty(r,"positionAlign",n({},E,{get:function(){return R},set:function(e){var t=i(e);if(!t)throw new SyntaxError("An invalid or illegal string was specified.");R=t,this.hasBeenReset=!0}})),Object.defineProperty(r,"size",n({},E,{get:function(){return N},set:function(e){if(e<0||e>100)throw new Error("Size must be between 0 and 100.");N=e,this.hasBeenReset=!0}})),Object.defineProperty(r,"align",n({},E,{get:function(){return m},set:function(e){var t=i(e);if(!t)throw new SyntaxError("An invalid or illegal string was specified.");m=t,this.hasBeenReset=!0}})),r.displayState=void 0}return r.prototype.getCueAsHTML=function(){return self.WebVTT.convertCueToDOMTree(self,this.text)},r})(),dr=(function(){function e(){}return e.prototype.decode=function(e,t){if(!e)return"";if("string"!=typeof e)throw new Error("Error - expected string data.");return decodeURIComponent(encodeURIComponent(e))},e})();function cr(e){function t(e,t,a,o){return 3600*(0|e)+60*(0|t)+(0|a)+parseFloat(o||0)}var a=e.match(/^(?:(\d+):)?(\d{2}):(\d{2})(\.\d+)?/);return a?parseFloat(a[2])>59?t(a[2],a[3],0,a[4]):t(a[1],a[2],a[3],a[4]):null}var Or=(function(){function e(){this.values=Object.create(null)}var t=e.prototype;return t.set=function(e,t){this.get(e)||""===t||(this.values[e]=t)},t.get=function(e,t,a){return a?this.has(e)?this.values[e]:t[a]:this.has(e)?this.values[e]:t},t.has=function(e){return e in this.values},t.alt=function(e,t,a){for(var o=0;o<a.length;++o)if(t===a[o]){this.set(e,t);break}},t.integer=function(e,t){/^-?\d+$/.test(t)&&this.set(e,parseInt(t,10))},t.percent=function(e,t){if(/^([\d]{1,3})(\.[\d]*)?%$/.test(t)){var a=parseFloat(t);if(a>=0&&a<=100)return this.set(e,a),!0}return!1},e})();function Rr(e,t,a,o){var i=o?e.split(o):[e];for(var n in i)if("string"==typeof i[n]){var r=i[n].split(a);2===r.length&&t(r[0],r[1])}}var Nr=new ur(0,0,""),mr="middle"===Nr.align?"middle":"center";function Lr(e,t,a){var o=e;function i(){var t=cr(e);if(null===t)throw new Error("Malformed timestamp: "+o);return e=e.replace(/^[^\sa-zA-Z-]+/,""),t}function n(e,t){var o=new Or;Rr(e,(function(e,t){var i;switch(e){case"region":for(var n=a.length-1;n>=0;n--)if(a[n].id===t){o.set(e,a[n].region);break}break;case"vertical":o.alt(e,t,["rl","lr"]);break;case"line":i=t.split(","),o.integer(e,i[0]),o.percent(e,i[0])&&o.set("snapToLines",!1),o.alt(e,i[0],["auto"]),2===i.length&&o.alt("lineAlign",i[1],["start",mr,"end"]);break;case"position":i=t.split(","),o.percent(e,i[0]),2===i.length&&o.alt("positionAlign",i[1],["start",mr,"end","line-left","line-right","auto"]);break;case"size":o.percent(e,t);break;case"align":o.alt(e,t,["start",mr,"end","left","right"])}}),/:/,/\s/),t.region=o.get("region",null),t.vertical=o.get("vertical","");var i=o.get("line","auto");"auto"===i&&-1===Nr.line&&(i=-1),t.line=i,t.lineAlign=o.get("lineAlign","start"),t.snapToLines=o.get("snapToLines",!0),t.size=o.get("size",100),t.align=o.get("align",mr);var n=o.get("position","auto");"auto"===n&&50===Nr.position&&(n="start"===t.align||"left"===t.align?0:"end"===t.align||"right"===t.align?100:50),t.position=n}function r(){e=e.replace(/^\s+/,"")}if(r(),t.startTime=i(),r(),"--\x3e"!==e.slice(0,3))throw new Error("Malformed time stamp (time stamps must be separated by '--\x3e'): "+o);e=e.slice(3),r(),t.endTime=i(),r(),n(e,t)}function Dr(e){return e.replace(/<br(?: \/)?>/gi,"\n")}var pr=(function(){function e(){this.state="INITIAL",this.buffer="",this.decoder=new dr,this.regionList=[],this.cue=null,this.oncue=void 0,this.onparsingerror=void 0,this.onflush=void 0}var t=e.prototype;return t.parse=function(e){var t=this;function a(){var e=t.buffer,a=0;for(e=Dr(e);a<e.length&&"\r"!==e[a]&&"\n"!==e[a];)++a;var o=e.slice(0,a);return"\r"===e[a]&&++a,"\n"===e[a]&&++a,t.buffer=e.slice(a),o}function o(e){Rr(e,(function(e,t){}),/:/)}e&&(t.buffer+=t.decoder.decode(e,{stream:!0}));try{var i="";if("INITIAL"===t.state){if(!/\r\n|\n/.test(t.buffer))return this;var n=(i=a()).match(/^()?WEBVTT([ \t].*)?$/);if(null==n||!n[0])throw new Error("Malformed WebVTT signature.");t.state="HEADER"}for(var r=!1;t.buffer;){if(!/\r\n|\n/.test(t.buffer))return this;switch(r?r=!1:i=a(),t.state){case"HEADER":/:/.test(i)?o(i):i||(t.state="ID");continue;case"NOTE":i||(t.state="ID");continue;case"ID":if(/^NOTE($|[ \t])/.test(i)){t.state="NOTE";break}if(!i)continue;if(t.cue=new ur(0,0,""),t.state="CUE",-1===i.indexOf("--\x3e")){t.cue.id=i;continue}case"CUE":if(!t.cue){t.state="BADCUE";continue}try{Lr(i,t.cue,t.regionList)}catch(e){t.cue=null,t.state="BADCUE";continue}t.state="CUETEXT";continue;case"CUETEXT":var E=-1!==i.indexOf("--\x3e");if(!i||E&&(r=!0)){t.oncue&&t.cue&&t.oncue(t.cue),t.cue=null,t.state="ID";continue}if(null===t.cue)continue;t.cue.text&&(t.cue.text+="\n"),t.cue.text+=i;continue;case"BADCUE":i||(t.state="ID")}}}catch(e){"CUETEXT"===t.state&&t.cue&&t.oncue&&t.oncue(t.cue),t.cue=null,t.state="INITIAL"===t.state?"BADWEBVTT":"BADCUE"}return this},t.flush=function(){var e=this;try{if((e.cue||"HEADER"===e.state)&&(e.buffer+="\n\n",e.parse()),"INITIAL"===e.state||"BADWEBVTT"===e.state)throw new Error("Malformed WebVTT signature.")}catch(t){e.onparsingerror&&e.onparsingerror(t)}return e.onflush&&e.onflush(),this},e})(),hr=/\r\n|\n\r|\n|\r/g,Cr=function(e,t,a){return void 0===a&&(a=0),e.slice(a,a+t.length)===t},fr=function(e){var t=parseInt(e.slice(-3)),a=parseInt(e.slice(-6,-4)),o=parseInt(e.slice(-9,-7)),i=e.length>9?parseInt(e.substring(0,e.indexOf(":"))):0;if(!(p(t)&&p(a)&&p(o)&&p(i)))throw Error("Malformed X-TIMESTAMP-MAP: Local:"+e);return t+=1e3*a,t+=6e4*o,t+=36e5*i},Br=function(e){for(var t=5381,a=e.length;a;)t=33*t^e.charCodeAt(--a);return(t>>>0).toString()};function Pr(e,t,a){return Br(e.toString())+Br(t.toString())+Br(a)}var gr=function(e,t,a){var o=e[t],i=e[o.prevCC];if(!i||!i.new&&o.new)return e.ccOffset=e.presentationOffset=o.start,void(o.new=!1);for(;null!=(n=i)&&n.new;){var n;e.ccOffset+=o.start-i.start,o.new=!1,i=e[(o=i).prevCC]}e.presentationOffset=a};function vr(e,t,a,o,i,n,r){var E,_=new pr,T=Pe(new Uint8Array(e)).trim().replace(hr,"\n").split("\n"),s=[],S=t?qi(t.baseTime,t.timescale):0,l="00:00.000",I=0,A=0,u=!0;_.oncue=function(e){var n=a[o],r=a.ccOffset,_=(I-S)/9e4;if(null!=n&&n.new&&(void 0!==A?r=a.ccOffset=n.start:gr(a,o,_)),_){if(!t)return void(E=new Error("Missing initPTS for VTT MPEGTS"));r=_-a.presentationOffset}var T=e.endTime-e.startTime,l=rn(9e4*(e.startTime+r-A),9e4*i)/9e4;e.startTime=Math.max(l,0),e.endTime=Math.max(l+T,0);var u=e.text.trim();e.text=decodeURIComponent(encodeURIComponent(u)),e.id||(e.id=Pr(e.startTime,e.endTime,u)),e.endTime>0&&s.push(e)},_.onparsingerror=function(e){E=e},_.onflush=function(){E?r(E):n(s)},T.forEach((function(e){if(u){if(Cr(e,"X-TIMESTAMP-MAP=")){u=!1,e.slice(16).split(",").forEach((function(e){Cr(e,"LOCAL:")?l=e.slice(6):Cr(e,"MPEGTS:")&&(I=parseInt(e.slice(7)))}));try{A=fr(l)/1e3}catch(e){E=e}return}""===e&&(u=!1)}_.parse(e+"\n")})),_.flush()}var yr="stpp.ttml.im1t",Wr=/^(\d{2,}):(\d{2}):(\d{2}):(\d{2})\.?(\d+)?$/,Mr=/^(\d*(?:\.\d*)?)(h|m|s|ms|f|t)$/,br={left:"start",center:"center",right:"end",start:"start",end:"end"};function Ur(e,t,a,o){var i=we(new Uint8Array(e),["mdat"]);if(0!==i.length){var n=i.map((function(e){return Pe(e)})),r=Xi(t.baseTime,1,t.timescale);try{n.forEach((function(e){return a(Gr(e,r))}))}catch(e){o(e)}}else o(new Error("Could not parse IMSC1 mdat"))}function Gr(e,t){var a=(new DOMParser).parseFromString(e,"text/xml").getElementsByTagName("tt")[0];if(!a)throw new Error("Invalid ttml");var o={frameRate:30,subFrameRate:1,frameRateMultiplier:0,tickRate:0},i=Object.keys(o).reduce((function(e,t){return e[t]=a.getAttribute("ttp:"+t)||o[t],e}),{}),n="preserve"!==a.getAttribute("xml:space"),r=Fr(kr(a,"styling","style")),E=Fr(kr(a,"layout","region")),_=kr(a,"body","[begin]");return[].map.call(_,(function(e){var a=Vr(e,n);if(!a||!e.hasAttribute("begin"))return null;var o=zr(e.getAttribute("begin"),i),_=zr(e.getAttribute("dur"),i),s=zr(e.getAttribute("end"),i);if(null===o)throw Yr(e);if(null===s){if(null===_)throw Yr(e);s=o+_}var S=new ur(o-t,s-t,a);S.id=Pr(S.startTime,S.endTime,S.text);var l=Hr(E[e.getAttribute("region")],r[e.getAttribute("style")],r),I=l.textAlign;if(I){var A=br[I];A&&(S.lineAlign=A),S.align=I}return T(S,l),S})).filter((function(e){return null!==e}))}function kr(e,t,a){var o=e.getElementsByTagName(t)[0];return o?[].slice.call(o.querySelectorAll(a)):[]}function Fr(e){return e.reduce((function(e,t){var a=t.getAttribute("xml:id");return a&&(e[a]=t),e}),{})}function Vr(e,t){return[].slice.call(e.childNodes).reduce((function(e,a,o){var i;return"br"===a.nodeName&&o?e+"\n":null!=(i=a.childNodes)&&i.length?Vr(a,t):t?e+a.textContent.trim().replace(/\s+/g," "):e+a.textContent}),"")}function Hr(e,t,a){var o="http://www.w3.org/ns/ttml#styling",i=null,n=["displayAlign","textAlign","color","backgroundColor","fontSize","fontFamily"],r=null!=e&&e.hasAttribute("style")?e.getAttribute("style"):null;return r&&a.hasOwnProperty(r)&&(i=a[r]),n.reduce((function(a,n){var r=wr(t,o,n)||wr(e,o,n)||wr(i,o,n);return r&&(a[n]=r),a}),{})}function wr(e,t,a){return e&&e.hasAttributeNS(t,a)?e.getAttributeNS(t,a):null}function Yr(e){return new Error("Could not parse ttml timestamp "+e)}function zr(e,t){if(!e)return null;var a=cr(e);return null===a&&(Wr.test(e)?a=Kr(e,t):Mr.test(e)&&(a=xr(e,t))),a}function Kr(e,t){var a=Wr.exec(e),o=(0|a[4])+(0|a[5])/t.subFrameRate;return 3600*(0|a[1])+60*(0|a[2])+(0|a[3])+o/t.frameRate}function xr(e,t){var a=Mr.exec(e),o=Number(a[1]);switch(a[2]){case"h":return 3600*o;case"m":return 60*o;case"ms":return 1e3*o;case"f":return o/t.frameRate;case"t":return o/t.tickRate}return o}var jr=(function(){function e(e){this.hls=void 0,this.media=null,this.config=void 0,this.enabled=!0,this.Cues=void 0,this.textTracks=[],this.tracks=[],this.initPTS=[],this.unparsedVttFrags=[],this.captionsTracks={},this.nonNativeCaptionsTracks={},this.cea608Parser1=void 0,this.cea608Parser2=void 0,this.lastCc=-1,this.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs=qr(),this.captionsProperties=void 0,this.hls=e,this.config=e.config,this.Cues=e.config.cueHandler,this.captionsProperties={textTrack1:{label:this.config.captionsTextTrack1Label,languageCode:this.config.captionsTextTrack1LanguageCode},textTrack2:{label:this.config.captionsTextTrack2Label,languageCode:this.config.captionsTextTrack2LanguageCode},textTrack3:{label:this.config.captionsTextTrack3Label,languageCode:this.config.captionsTextTrack3LanguageCode},textTrack4:{label:this.config.captionsTextTrack4Label,languageCode:this.config.captionsTextTrack4LanguageCode}},e.on(f.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(f.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(f.MANIFEST_LOADING,this.onManifestLoading,this),e.on(f.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(f.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.on(f.FRAG_LOADING,this.onFragLoading,this),e.on(f.FRAG_LOADED,this.onFragLoaded,this),e.on(f.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),e.on(f.FRAG_DECRYPTED,this.onFragDecrypted,this),e.on(f.INIT_PTS_FOUND,this.onInitPtsFound,this),e.on(f.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),e.on(f.BUFFER_FLUSHING,this.onBufferFlushing,this)}var t=e.prototype;return t.destroy=function(){var e=this.hls;e.off(f.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(f.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(f.MANIFEST_LOADING,this.onManifestLoading,this),e.off(f.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(f.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.off(f.FRAG_LOADING,this.onFragLoading,this),e.off(f.FRAG_LOADED,this.onFragLoaded,this),e.off(f.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),e.off(f.FRAG_DECRYPTED,this.onFragDecrypted,this),e.off(f.INIT_PTS_FOUND,this.onInitPtsFound,this),e.off(f.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),e.off(f.BUFFER_FLUSHING,this.onBufferFlushing,this),this.hls=this.config=null,this.cea608Parser1=this.cea608Parser2=void 0},t.initCea608Parsers=function(){if(this.config.enableCEA708Captions&&(!this.cea608Parser1||!this.cea608Parser2)){var e=new Ar(this,"textTrack1"),t=new Ar(this,"textTrack2"),a=new Ar(this,"textTrack3"),o=new Ar(this,"textTrack4");this.cea608Parser1=new sr(1,e,t),this.cea608Parser2=new sr(3,a,o)}},t.addCues=function(e,t,a,o,i){for(var n=!1,r=i.length;r--;){var E=i[r],_=$r(E[0],E[1],t,a);if(_>=0&&(E[0]=Math.min(E[0],t),E[1]=Math.max(E[1],a),n=!0,_/(a-t)>.5))return}if(n||i.push([t,a]),this.config.renderTextTracksNatively){var T=this.captionsTracks[e];this.Cues.newCue(T,t,a,o)}else{var s=this.Cues.newCue(null,t,a,o);this.hls.trigger(f.CUES_PARSED,{type:"captions",cues:s,track:e})}},t.onInitPtsFound=function(e,t){var a=this,o=t.frag,i=t.id,n=t.initPTS,r=t.timescale,E=this.unparsedVttFrags;"main"===i&&(this.initPTS[o.cc]={baseTime:n,timescale:r}),E.length&&(this.unparsedVttFrags=[],E.forEach((function(e){a.onFragLoaded(f.FRAG_LOADED,e)})))},t.getExistingTrack=function(e,t){var a=this.media;if(a)for(var o=0;o<a.textTracks.length;o++){var i=a.textTracks[o];if(Xr(i,{name:e,lang:t,attrs:{}}))return i}return null},t.createCaptionsTrack=function(e){this.config.renderTextTracksNatively?this.createNativeTrack(e):this.createNonNativeTrack(e)},t.createNativeTrack=function(e){if(!this.captionsTracks[e]){var t=this.captionsProperties,a=this.captionsTracks,o=this.media,i=t[e],n=i.label,r=i.languageCode,E=this.getExistingTrack(n,r);if(E)a[e]=E,aa(a[e]),ea(a[e],o);else{var _=this.createTextTrack("captions",n,r);_&&(_[e]=!0,a[e]=_)}}},t.createNonNativeTrack=function(e){if(!this.nonNativeCaptionsTracks[e]){var t=this.captionsProperties[e];if(t){var a={_id:e,label:t.label,kind:"captions",default:!!t.media&&!!t.media.default,closedCaptions:t.media};this.nonNativeCaptionsTracks[e]=a,this.hls.trigger(f.NON_NATIVE_TEXT_TRACKS_FOUND,{tracks:[a]})}}},t.createTextTrack=function(e,t,a){var o=this.media;if(o)return o.addTextTrack(e,t,a)},t.onMediaAttaching=function(e,t){this.media=t.media,this._cleanTracks()},t.onMediaDetaching=function(){var e=this.captionsTracks;Object.keys(e).forEach((function(t){aa(e[t]),delete e[t]})),this.nonNativeCaptionsTracks={}},t.onManifestLoading=function(){this.lastCc=-1,this.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs=qr(),this._cleanTracks(),this.tracks=[],this.captionsTracks={},this.nonNativeCaptionsTracks={},this.textTracks=[],this.unparsedVttFrags=[],this.initPTS=[],this.cea608Parser1&&this.cea608Parser2&&(this.cea608Parser1.reset(),this.cea608Parser2.reset())},t._cleanTracks=function(){var e=this.media;if(e){var t=e.textTracks;if(t)for(var a=0;a<t.length;a++)aa(t[a])}},t.onSubtitleTracksUpdated=function(e,t){var a=this,o=t.subtitleTracks||[],i=o.some((function(e){return e.textCodec===yr}));if(this.config.enableWebVTT||i&&this.config.enableIMSC1){if(Wn(this.tracks,o))return void(this.tracks=o);if(this.textTracks=[],this.tracks=o,this.config.renderTextTracksNatively){var n=this.media,r=n?ra(n.textTracks):null;if(this.tracks.forEach((function(e,t){var o;if(r){for(var i=null,n=0;n<r.length;n++)if(r[n]&&Xr(r[n],e)){i=r[n],r[n]=null;break}i&&(o=i)}if(o)aa(o);else{var E=Qr(e);(o=a.createTextTrack(E,e.name,e.lang))&&(o.mode="disabled")}o&&a.textTracks.push(o)})),null!=r&&r.length){var E=r.filter((function(e){return null!==e})).map((function(e){return e.label}));E.length&&U.warn("Media element contains unused subtitle tracks: "+E.join(", ")+". Replace media element for each source to clear TextTracks and captions menu.")}}else if(this.tracks.length){var _=this.tracks.map((function(e){return{label:e.name,kind:e.type.toLowerCase(),default:e.default,subtitleTrack:e}}));this.hls.trigger(f.NON_NATIVE_TEXT_TRACKS_FOUND,{tracks:_})}}},t.onManifestLoaded=function(e,t){var a=this;this.config.enableCEA708Captions&&t.captions&&t.captions.forEach((function(e){var t=/(?:CC|SERVICE)([1-4])/.exec(e.instreamId);if(t){var o="textTrack"+t[1],i=a.captionsProperties[o];i&&(i.label=e.name,e.lang&&(i.languageCode=e.lang),i.media=e)}}))},t.closedCaptionsForLevel=function(e){var t=this.hls.levels[e.level];return null==t?void 0:t.attrs["CLOSED-CAPTIONS"]},t.onFragLoading=function(e,t){this.initCea608Parsers();var a=this.cea608Parser1,o=this.cea608Parser2,i=this.lastCc,n=this.lastSn,r=this.lastPartIndex;if(this.enabled&&a&&o&&t.frag.type===$t.MAIN){var E,_,T=t.frag,s=T.cc,S=T.sn,l=null!=(E=null==t||null==(_=t.part)?void 0:_.index)?E:-1;S===n+1||S===n&&l===r+1||s===i||(a.reset(),o.reset()),this.lastCc=s,this.lastSn=S,this.lastPartIndex=l}},t.onFragLoaded=function(e,t){var a=t.frag,o=t.payload;if(a.type===$t.SUBTITLE)if(o.byteLength){var i=a.decryptdata,n="stats"in t;if(null==i||!i.encrypted||n){var r=this.tracks[a.level],E=this.vttCCs;E[a.cc]||(E[a.cc]={start:a.start,prevCC:this.prevCC,new:!0},this.prevCC=a.cc),r&&r.textCodec===yr?this._parseIMSC1(a,o):this._parseVTTs(t)}}else this.hls.trigger(f.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:a,error:new Error("Empty subtitle payload")})},t._parseIMSC1=function(e,t){var a=this,o=this.hls;Ur(t,this.initPTS[e.cc],(function(t){a._appendCues(t,e.level),o.trigger(f.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:e})}),(function(t){U.log("Failed to parse IMSC1: "+t),o.trigger(f.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:e,error:t})}))},t._parseVTTs=function(e){var t,a=this,o=e.frag,i=e.payload,n=this.initPTS,r=this.unparsedVttFrags,E=n.length-1;if(n[o.cc]||-1!==E){var _=this.hls;vr(null!=(t=o.initSegment)&&t.data?at(o.initSegment.data,new Uint8Array(i)):i,this.initPTS[o.cc],this.vttCCs,o.cc,o.start,(function(e){a._appendCues(e,o.level),_.trigger(f.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:o})}),(function(t){var n="Missing initPTS for VTT MPEGTS"===t.message;n?r.push(e):a._fallbackToIMSC1(o,i),U.log("Failed to parse VTT cue: "+t),n&&E>o.cc||_.trigger(f.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:o,error:t})}))}else r.push(e)},t._fallbackToIMSC1=function(e,t){var a=this,o=this.tracks[e.level];o.textCodec||Ur(t,this.initPTS[e.cc],(function(){o.textCodec=yr,a._parseIMSC1(e,t)}),(function(){o.textCodec="wvtt"}))},t._appendCues=function(e,t){var a=this.hls;if(this.config.renderTextTracksNatively){var o=this.textTracks[t];if(!o||"disabled"===o.mode)return;e.forEach((function(e){return ta(o,e)}))}else{var i=this.tracks[t];if(!i)return;var n=i.default?"default":"subtitles"+t;a.trigger(f.CUES_PARSED,{type:"subtitles",cues:e,track:n})}},t.onFragDecrypted=function(e,t){t.frag.type===$t.SUBTITLE&&this.onFragLoaded(f.FRAG_LOADED,t)},t.onSubtitleTracksCleared=function(){this.tracks=[],this.captionsTracks={}},t.onFragParsingUserdata=function(e,t){this.initCea608Parsers();var a=this.cea608Parser1,o=this.cea608Parser2;if(this.enabled&&a&&o){var i=t.frag,n=t.samples;if(i.type!==$t.MAIN||"NONE"!==this.closedCaptionsForLevel(i))for(var r=0;r<n.length;r++){var E=n[r].bytes;if(E){var _=this.extractCea608Data(E);a.addData(n[r].pts,_[0]),o.addData(n[r].pts,_[1])}}}},t.onBufferFlushing=function(e,t){var a=t.startOffset,o=t.endOffset,i=t.endOffsetSubtitles,n=t.type,r=this.media;if(r&&!(r.currentTime<o)){if(!n||"video"===n){var E=this.captionsTracks;Object.keys(E).forEach((function(e){return oa(E[e],a,o)}))}if(this.config.renderTextTracksNatively&&0===a&&void 0!==i){var _=this.textTracks;Object.keys(_).forEach((function(e){return oa(_[e],a,i)}))}}},t.extractCea608Data=function(e){for(var t=[[],[]],a=31&e[0],o=2,i=0;i<a;i++){var n=e[o++],r=127&e[o++],E=127&e[o++];if((0!==r||0!==E)&&0!=(4&n)){var _=3&n;0!==_&&1!==_||(t[_].push(r),t[_].push(E))}}return t},e})();function Qr(e){return e.characteristics&&/transcribes-spoken-dialog/gi.test(e.characteristics)&&/describes-music-and-sound/gi.test(e.characteristics)?"captions":"subtitles"}function Xr(e,t){return!!e&&e.kind===Qr(t)&&bn(t,e)}function $r(e,t,a,o){return Math.min(t,o)-Math.max(e,a)}function qr(){return{ccOffset:0,presentationOffset:0,0:{start:0,prevCC:-1,new:!0}}}var Jr=(function(){function e(e){this.hls=void 0,this.autoLevelCapping=void 0,this.firstLevel=void 0,this.media=void 0,this.restrictedLevels=void 0,this.timer=void 0,this.clientRect=void 0,this.streamController=void 0,this.hls=e,this.autoLevelCapping=Number.POSITIVE_INFINITY,this.firstLevel=-1,this.media=null,this.restrictedLevels=[],this.timer=void 0,this.clientRect=null,this.registerListeners()}var t=e.prototype;return t.setStreamController=function(e){this.streamController=e},t.destroy=function(){this.hls&&this.unregisterListener(),this.timer&&this.stopCapping(),this.media=null,this.clientRect=null,this.hls=this.streamController=null},t.registerListeners=function(){var e=this.hls;e.on(f.FPS_DROP_LEVEL_CAPPING,this.onFpsDropLevelCapping,this),e.on(f.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(f.MANIFEST_PARSED,this.onManifestParsed,this),e.on(f.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(f.BUFFER_CODECS,this.onBufferCodecs,this),e.on(f.MEDIA_DETACHING,this.onMediaDetaching,this)},t.unregisterListener=function(){var e=this.hls;e.off(f.FPS_DROP_LEVEL_CAPPING,this.onFpsDropLevelCapping,this),e.off(f.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(f.MANIFEST_PARSED,this.onManifestParsed,this),e.off(f.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(f.BUFFER_CODECS,this.onBufferCodecs,this),e.off(f.MEDIA_DETACHING,this.onMediaDetaching,this)},t.onFpsDropLevelCapping=function(e,t){var a=this.hls.levels[t.droppedLevel];this.isLevelAllowed(a)&&this.restrictedLevels.push({bitrate:a.bitrate,height:a.height,width:a.width})},t.onMediaAttaching=function(e,t){this.media=t.media instanceof HTMLVideoElement?t.media:null,this.clientRect=null,this.timer&&this.hls.levels.length&&this.detectPlayerSize()},t.onManifestParsed=function(e,t){var a=this.hls;this.restrictedLevels=[],this.firstLevel=t.firstLevel,a.config.capLevelToPlayerSize&&t.video&&this.startCapping()},t.onLevelsUpdated=function(e,t){this.timer&&p(this.autoLevelCapping)&&this.detectPlayerSize()},t.onBufferCodecs=function(e,t){this.hls.config.capLevelToPlayerSize&&t.video&&this.startCapping()},t.onMediaDetaching=function(){this.stopCapping()},t.detectPlayerSize=function(){if(this.media){if(this.mediaHeight<=0||this.mediaWidth<=0)return void(this.clientRect=null);var e=this.hls.levels;if(e.length){var t=this.hls,a=this.getMaxLevel(e.length-1);a!==this.autoLevelCapping&&U.log("Setting autoLevelCapping to "+a+": "+e[a].height+"p@"+e[a].bitrate+" for media "+this.mediaWidth+"x"+this.mediaHeight),t.autoLevelCapping=a,t.autoLevelCapping>this.autoLevelCapping&&this.streamController&&this.streamController.nextLevelSwitch(),this.autoLevelCapping=t.autoLevelCapping}}},t.getMaxLevel=function(t){var a=this,o=this.hls.levels;if(!o.length)return-1;var i=o.filter((function(e,o){return a.isLevelAllowed(e)&&o<=t}));return this.clientRect=null,e.getMaxLevelByMediaSize(i,this.mediaWidth,this.mediaHeight)},t.startCapping=function(){this.timer||(this.autoLevelCapping=Number.POSITIVE_INFINITY,self.clearInterval(this.timer),this.timer=self.setInterval(this.detectPlayerSize.bind(this),1e3),this.detectPlayerSize())},t.stopCapping=function(){this.restrictedLevels=[],this.firstLevel=-1,this.autoLevelCapping=Number.POSITIVE_INFINITY,this.timer&&(self.clearInterval(this.timer),this.timer=void 0)},t.getDimensions=function(){if(this.clientRect)return this.clientRect;var e=this.media,t={width:0,height:0};if(e){var a=e.getBoundingClientRect();t.width=a.width,t.height=a.height,t.width||t.height||(t.width=a.right-a.left||e.width||0,t.height=a.bottom-a.top||e.height||0)}return this.clientRect=t,t},t.isLevelAllowed=function(e){return!this.restrictedLevels.some((function(t){return e.bitrate===t.bitrate&&e.width===t.width&&e.height===t.height}))},e.getMaxLevelByMediaSize=function(e,t,a){if(null==e||!e.length)return-1;for(var o=function(e,t){return!t||e.width!==t.width||e.height!==t.height},i=e.length-1,n=Math.max(t,a),r=0;r<e.length;r+=1){var E=e[r];if((E.width>=n||E.height>=n)&&o(E,e[r+1])){i=r;break}}return i},E(e,[{key:"mediaWidth",get:function(){return this.getDimensions().width*this.contentScaleFactor}},{key:"mediaHeight",get:function(){return this.getDimensions().height*this.contentScaleFactor}},{key:"contentScaleFactor",get:function(){var e=1;if(!this.hls.config.ignoreDevicePixelRatio)try{e=self.devicePixelRatio}catch(e){}return e}}]),e})(),Zr=(function(){function e(e){this.hls=void 0,this.isVideoPlaybackQualityAvailable=!1,this.timer=void 0,this.media=null,this.lastTime=void 0,this.lastDroppedFrames=0,this.lastDecodedFrames=0,this.streamController=void 0,this.hls=e,this.registerListeners()}var t=e.prototype;return t.setStreamController=function(e){this.streamController=e},t.registerListeners=function(){this.hls.on(f.MEDIA_ATTACHING,this.onMediaAttaching,this)},t.unregisterListeners=function(){this.hls.off(f.MEDIA_ATTACHING,this.onMediaAttaching,this)},t.destroy=function(){this.timer&&clearInterval(this.timer),this.unregisterListeners(),this.isVideoPlaybackQualityAvailable=!1,this.media=null},t.onMediaAttaching=function(e,t){var a=this.hls.config;if(a.capLevelOnFPSDrop){var o=t.media instanceof self.HTMLVideoElement?t.media:null;this.media=o,o&&"function"==typeof o.getVideoPlaybackQuality&&(this.isVideoPlaybackQualityAvailable=!0),self.clearInterval(this.timer),this.timer=self.setInterval(this.checkFPSInterval.bind(this),a.fpsDroppedMonitoringPeriod)}},t.checkFPS=function(e,t,a){var o=performance.now();if(t){if(this.lastTime){var i=o-this.lastTime,n=a-this.lastDroppedFrames,r=t-this.lastDecodedFrames,E=1e3*n/i,_=this.hls;if(_.trigger(f.FPS_DROP,{currentDropped:n,currentDecoded:r,totalDroppedFrames:a}),E>0&&n>_.config.fpsDroppedMonitoringThreshold*r){var T=_.currentLevel;U.warn("drop FPS ratio greater than max allowed value for currentLevel: "+T),T>0&&(-1===_.autoLevelCapping||_.autoLevelCapping>=T)&&(T-=1,_.trigger(f.FPS_DROP_LEVEL_CAPPING,{level:T,droppedLevel:_.currentLevel}),_.autoLevelCapping=T,this.streamController.nextLevelSwitch())}}this.lastTime=o,this.lastDroppedFrames=a,this.lastDecodedFrames=t}},t.checkFPSInterval=function(){var e=this.media;if(e)if(this.isVideoPlaybackQualityAvailable){var t=e.getVideoPlaybackQuality();this.checkFPS(e,t.totalVideoFrames,t.droppedVideoFrames)}else this.checkFPS(e,e.webkitDecodedFrameCount,e.webkitDroppedFrameCount)},e})(),eE="[eme]",tE=(function(){function e(t){this.hls=void 0,this.config=void 0,this.media=null,this.keyFormatPromise=null,this.keySystemAccessPromises={},this._requestLicenseFailureCount=0,this.mediaKeySessions=[],this.keyIdToKeySessionPromise={},this.setMediaKeysQueue=e.CDMCleanupPromise?[e.CDMCleanupPromise]:[],this.onMediaEncrypted=this._onMediaEncrypted.bind(this),this.onWaitingForKey=this._onWaitingForKey.bind(this),this.debug=U.debug.bind(U,eE),this.log=U.log.bind(U,eE),this.warn=U.warn.bind(U,eE),this.error=U.error.bind(U,eE),this.hls=t,this.config=t.config,this.registerListeners()}var t=e.prototype;return t.destroy=function(){this.unregisterListeners(),this.onMediaDetached();var e=this.config;e.requestMediaKeySystemAccessFunc=null,e.licenseXhrSetup=e.licenseResponseCallback=void 0,e.drmSystems=e.drmSystemOptions={},this.hls=this.onMediaEncrypted=this.onWaitingForKey=this.keyIdToKeySessionPromise=null,this.config=null},t.registerListeners=function(){this.hls.on(f.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.on(f.MEDIA_DETACHED,this.onMediaDetached,this),this.hls.on(f.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.on(f.MANIFEST_LOADED,this.onManifestLoaded,this)},t.unregisterListeners=function(){this.hls.off(f.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.off(f.MEDIA_DETACHED,this.onMediaDetached,this),this.hls.off(f.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.off(f.MANIFEST_LOADED,this.onManifestLoaded,this)},t.getLicenseServerUrl=function(e){var t=this.config,a=t.drmSystems,o=t.widevineLicenseUrl,i=a[e];if(i)return i.licenseUrl;if(e===ae.WIDEVINE&&o)return o;throw new Error('no license server URL configured for key-system "'+e+'"')},t.getServerCertificateUrl=function(e){var t=this.config.drmSystems[e];if(t)return t.serverCertificateUrl;this.log('No Server Certificate in config.drmSystems["'+e+'"]')},t.attemptKeySystemAccess=function(e){var t=this,a=this.hls.levels,o=function(e,t,a){return!!e&&a.indexOf(e)===t},i=a.map((function(e){return e.audioCodec})).filter(o),n=a.map((function(e){return e.videoCodec})).filter(o);return i.length+n.length===0&&n.push("avc1.42e01e"),new Promise((function(a,o){!(function e(r){var E=r.shift();t.getMediaKeysPromise(E,i,n).then((function(e){return a({keySystem:E,mediaKeys:e})})).catch((function(t){r.length?e(r):o(t instanceof rE?t:new rE({type:B.KEY_SYSTEM_ERROR,details:P.KEY_SYSTEM_NO_ACCESS,error:t,fatal:!0},t.message))}))})(e)}))},t.requestMediaKeySystemAccess=function(e,t){var a=this.config.requestMediaKeySystemAccessFunc;if("function"!=typeof a){var o="Configured requestMediaKeySystemAccess is not a function "+a;return null===se&&"http:"===self.location.protocol&&(o="navigator.requestMediaKeySystemAccess is not available over insecure protocol "+location.protocol),Promise.reject(new Error(o))}return a(e,t)},t.getMediaKeysPromise=function(e,t,a){var o=this,i=Se(e,t,a,this.config.drmSystemOptions),n=this.keySystemAccessPromises[e],r=null==n?void 0:n.keySystemAccess;if(!r){this.log('Requesting encrypted media "'+e+'" key-system access with config: '+JSON.stringify(i)),r=this.requestMediaKeySystemAccess(e,i);var E=this.keySystemAccessPromises[e]={keySystemAccess:r};return r.catch((function(t){o.log('Failed to obtain access to key-system "'+e+'": '+t)})),r.then((function(t){o.log('Access for key-system "'+t.keySystem+'" obtained');var a=o.fetchServerCertificate(e);return o.log('Create media-keys for "'+e+'"'),E.mediaKeys=t.createMediaKeys().then((function(t){return o.log('Media-keys created for "'+e+'"'),a.then((function(a){return a?o.setMediaKeysServerCertificate(t,e,a):t}))})),E.mediaKeys.catch((function(t){o.error('Failed to create media-keys for "'+e+'"}: '+t)})),E.mediaKeys}))}return r.then((function(){return n.mediaKeys}))},t.createMediaKeySessionContext=function(e){var t=e.decryptdata,a=e.keySystem,o=e.mediaKeys;this.log('Creating key-system session "'+a+'" keyId: '+ve.hexDump(t.keyId||[]));var i=o.createSession(),n={decryptdata:t,keySystem:a,mediaKeys:o,mediaKeysSession:i,keyStatus:"status-pending"};return this.mediaKeySessions.push(n),n},t.renewKeySession=function(e){var t=e.decryptdata;if(t.pssh){var a=this.createMediaKeySessionContext(e),o=this.getKeyIdString(t),i="cenc";this.keyIdToKeySessionPromise[o]=this.generateRequestWithPreferredKeySession(a,i,t.pssh,"expired")}else this.warn("Could not renew expired session. Missing pssh initData.");this.removeSession(e)},t.getKeyIdString=function(e){if(!e)throw new Error("Could not read keyId of undefined decryptdata");if(null===e.keyId)throw new Error("keyId is null");return ve.hexDump(e.keyId)},t.updateKeySession=function(e,t){var a,o=e.mediaKeysSession;return this.log('Updating key-session "'+o.sessionId+'" for keyID '+ve.hexDump((null==(a=e.decryptdata)?void 0:a.keyId)||[])+"\n } (data length: "+(t?t.byteLength:t)+")"),o.update(t)},t.selectKeySystemFormat=function(e){var t=Object.keys(e.levelkeys||{});return this.keyFormatPromise||(this.log("Selecting key-system from fragment (sn: "+e.sn+" "+e.type+": "+e.level+") key formats "+t.join(", ")),this.keyFormatPromise=this.getKeyFormatPromise(t)),this.keyFormatPromise},t.getKeyFormatPromise=function(e){var t=this;return new Promise((function(a,o){var i=_e(t.config),n=e.map(ie).filter((function(e){return!!e&&-1!==i.indexOf(e)}));return t.getKeySystemSelectionPromise(n).then((function(e){var t=e.keySystem,i=Ee(t);i?a(i):o(new Error('Unable to find format for key-system "'+t+'"'))})).catch(o)}))},t.loadKey=function(e){var t=this,a=e.keyInfo.decryptdata,o=this.getKeyIdString(a),i="(keyId: "+o+' format: "'+a.keyFormat+'" method: '+a.method+" uri: "+a.uri+")";this.log("Starting session for key "+i);var n=this.keyIdToKeySessionPromise[o];return n||(n=this.keyIdToKeySessionPromise[o]=this.getKeySystemForKeyPromise(a).then((function(o){var n=o.keySystem,r=o.mediaKeys;return t.throwIfDestroyed(),t.log("Handle encrypted media sn: "+e.frag.sn+" "+e.frag.type+": "+e.frag.level+" using key "+i),t.attemptSetMediaKeys(n,r).then((function(){t.throwIfDestroyed();var e=t.createMediaKeySessionContext({keySystem:n,mediaKeys:r,decryptdata:a}),o="cenc";return t.generateRequestWithPreferredKeySession(e,o,a.pssh,"playlist-key")}))}))).catch((function(e){return t.handleError(e)})),n},t.throwIfDestroyed=function(e){if(!this.hls)throw new Error("invalid state")},t.handleError=function(e){this.hls&&(this.error(e.message),e instanceof rE?this.hls.trigger(f.ERROR,e.data):this.hls.trigger(f.ERROR,{type:B.KEY_SYSTEM_ERROR,details:P.KEY_SYSTEM_NO_KEYS,error:e,fatal:!0}))},t.getKeySystemForKeyPromise=function(e){var t=this.getKeyIdString(e),a=this.keyIdToKeySessionPromise[t];if(!a){var o=ie(e.keyFormat),i=o?[o]:_e(this.config);return this.attemptKeySystemAccess(i)}return a},t.getKeySystemSelectionPromise=function(e){if(e.length||(e=_e(this.config)),0===e.length)throw new rE({type:B.KEY_SYSTEM_ERROR,details:P.KEY_SYSTEM_NO_CONFIGURED_LICENSE,fatal:!0},"Missing key-system license configuration options "+JSON.stringify({drmSystems:this.config.drmSystems}));return this.attemptKeySystemAccess(e)},t._onMediaEncrypted=function(e){var t=this,a=e.initDataType,o=e.initData;if(this.debug('"'+e.type+'" event: init data type: "'+a+'"'),null!==o){var i,n;if("sinf"===a&&this.config.drmSystems[ae.FAIRPLAY]){var r=be(new Uint8Array(o));try{var E=$(JSON.parse(r).sinf),_=$e(new Uint8Array(E));if(!_)return;i=_.subarray(8,24),n=ae.FAIRPLAY}catch(e){return void this.warn('Failed to parse sinf "encrypted" event message initData')}}else{var T=St(o);if(null===T)return;0===T.version&&T.systemId===ne.WIDEVINE&&T.data&&(i=T.data.subarray(8,24)),n=re(T.systemId)}if(n&&i){for(var s,S=ve.hexDump(i),l=this.keyIdToKeySessionPromise,I=this.mediaKeySessions,A=l[S],u=function(){var e=I[d],n=e.decryptdata;if(n.pssh||!n.keyId)return 0;var r=ve.hexDump(n.keyId);return S===r||-1!==n.uri.replace(/-/g,"").indexOf(S)?(A=l[r],delete l[r],n.pssh=new Uint8Array(o),n.keyId=i,A=l[S]=A.then((function(){return t.generateRequestWithPreferredKeySession(e,a,o,"encrypted-event-key-match")})),1):void 0},d=0;d<I.length&&(0===(s=u())||1!==s);d++);A||(A=l[S]=this.getKeySystemSelectionPromise([n]).then((function(e){var n,r=e.keySystem,E=e.mediaKeys;t.throwIfDestroyed();var _=new It("ISO-23001-7",S,null!=(n=Ee(r))?n:"");return _.pssh=new Uint8Array(o),_.keyId=i,t.attemptSetMediaKeys(r,E).then((function(){t.throwIfDestroyed();var e=t.createMediaKeySessionContext({decryptdata:_,keySystem:r,mediaKeys:E});return t.generateRequestWithPreferredKeySession(e,a,o,"encrypted-event-no-match")}))}))),A.catch((function(e){return t.handleError(e)}))}}},t._onWaitingForKey=function(e){this.log('"'+e.type+'" event')},t.attemptSetMediaKeys=function(e,t){var a=this,o=this.setMediaKeysQueue.slice();this.log('Setting media-keys for "'+e+'"');var i=Promise.all(o).then((function(){if(!a.media)throw new Error("Attempted to set mediaKeys without media element attached");return a.media.setMediaKeys(t)}));return this.setMediaKeysQueue.push(i),i.then((function(){a.log('Media-keys set for "'+e+'"'),o.push(i),a.setMediaKeysQueue=a.setMediaKeysQueue.filter((function(e){return-1===o.indexOf(e)}))}))},t.generateRequestWithPreferredKeySession=function(e,t,a,o){var i,n,r=this,E=null==(i=this.config.drmSystems)||null==(n=i[e.keySystem])?void 0:n.generateRequest;if(E)try{var _=E.call(this.hls,t,a,e);if(!_)throw new Error("Invalid response from configured generateRequest filter");t=_.initDataType,a=e.decryptdata.pssh=_.initData?new Uint8Array(_.initData):null}catch(e){var T;if(this.warn(e.message),null!=(T=this.hls)&&T.config.debug)throw e}if(null===a)return this.log('Skipping key-session request for "'+o+'" (no initData)'),Promise.resolve(e);var s=this.getKeyIdString(e.decryptdata);this.log('Generating key-session request for "'+o+'": '+s+" (init data type: "+t+" length: "+(a?a.byteLength:null)+")");var S=new Dn,l=e._onmessage=function(t){var a=e.mediaKeysSession;if(a){var o=t.messageType,i=t.message;r.log('"'+o+'" message event for session "'+a.sessionId+'" message size: '+i.byteLength),"license-request"===o||"license-renewal"===o?r.renewLicense(e,i).catch((function(e){r.handleError(e),S.emit("error",e)})):"license-release"===o?e.keySystem===ae.FAIRPLAY&&(r.updateKeySession(e,ee("acknowledged")),r.removeSession(e)):r.warn('unhandled media key message type "'+o+'"')}else S.emit("error",new Error("invalid state"))},I=e._onkeystatuseschange=function(t){if(e.mediaKeysSession){r.onKeyStatusChange(e);var a=e.keyStatus;S.emit("keyStatus",a),"expired"===a&&(r.warn(e.keySystem+" expired for key "+s),r.renewKeySession(e))}else S.emit("error",new Error("invalid state"))};e.mediaKeysSession.addEventListener("message",l),e.mediaKeysSession.addEventListener("keystatuseschange",I);var A=new Promise((function(e,t){S.on("error",t),S.on("keyStatus",(function(a){a.startsWith("usable")?e():"output-restricted"===a?t(new rE({type:B.KEY_SYSTEM_ERROR,details:P.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED,fatal:!1},"HDCP level output restricted")):"internal-error"===a?t(new rE({type:B.KEY_SYSTEM_ERROR,details:P.KEY_SYSTEM_STATUS_INTERNAL_ERROR,fatal:!0},'key status changed to "'+a+'"')):"expired"===a?t(new Error("key expired while generating request")):r.warn('unhandled key status change "'+a+'"')}))}));return e.mediaKeysSession.generateRequest(t,a).then((function(){var t;r.log('Request generated for key-session "'+(null==(t=e.mediaKeysSession)?void 0:t.sessionId)+'" keyId: '+s)})).catch((function(e){throw new rE({type:B.KEY_SYSTEM_ERROR,details:P.KEY_SYSTEM_NO_SESSION,error:e,fatal:!1},"Error generating key-session request: "+e)})).then((function(){return A})).catch((function(t){throw S.removeAllListeners(),r.removeSession(e),t})).then((function(){return S.removeAllListeners(),e}))},t.onKeyStatusChange=function(e){var t=this;e.mediaKeysSession.keyStatuses.forEach((function(a,o){t.log('key status change "'+a+'" for keyStatuses keyId: '+ve.hexDump("buffer"in o?new Uint8Array(o.buffer,o.byteOffset,o.byteLength):new Uint8Array(o))+" session keyId: "+ve.hexDump(new Uint8Array(e.decryptdata.keyId||[]))+" uri: "+e.decryptdata.uri),e.keyStatus=a}))},t.fetchServerCertificate=function(e){var t=this.config,a=new(0,t.loader)(t),i=this.getServerCertificateUrl(e);return i?(this.log('Fetching server certificate for "'+e+'"'),new Promise((function(n,r){var E={responseType:"arraybuffer",url:i},_=t.certLoadPolicy.default,T={loadPolicy:_,timeout:_.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0},s={onSuccess:function(e,t,a,o){n(e.data)},onError:function(t,a,n,_){r(new rE({type:B.KEY_SYSTEM_ERROR,details:P.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,fatal:!0,networkDetails:n,response:o({url:E.url,data:void 0},t)},'"'+e+'" certificate request failed ('+i+"). Status: "+t.code+" ("+t.text+")"))},onTimeout:function(t,a,o){r(new rE({type:B.KEY_SYSTEM_ERROR,details:P.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,fatal:!0,networkDetails:o,response:{url:E.url,data:void 0}},'"'+e+'" certificate request timed out ('+i+")"))},onAbort:function(e,t,a){r(new Error("aborted"))}};a.load(E,T,s)}))):Promise.resolve()},t.setMediaKeysServerCertificate=function(e,t,a){var o=this;return new Promise((function(i,n){e.setServerCertificate(a).then((function(n){o.log("setServerCertificate "+(n?"success":"not supported by CDM")+" ("+(null==a?void 0:a.byteLength)+') on "'+t+'"'),i(e)})).catch((function(e){n(new rE({type:B.KEY_SYSTEM_ERROR,details:P.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED,error:e,fatal:!0},e.message))}))}))},t.renewLicense=function(e,t){var a=this;return this.requestLicense(e,new Uint8Array(t)).then((function(t){return a.updateKeySession(e,new Uint8Array(t)).catch((function(e){throw new rE({type:B.KEY_SYSTEM_ERROR,details:P.KEY_SYSTEM_SESSION_UPDATE_FAILED,error:e,fatal:!0},e.message)}))}))},t.unpackPlayReadyKeyMessage=function(e,t){var a=String.fromCharCode.apply(null,new Uint16Array(t.buffer));if(!a.includes("PlayReadyKeyMessage"))return e.setRequestHeader("Content-Type","text/xml; charset=utf-8"),t;var o=(new DOMParser).parseFromString(a,"application/xml"),i=o.querySelectorAll("HttpHeader");if(i.length>0)for(var n,r=0,E=i.length;r<E;r++){var _,T,s=null==(_=(n=i[r]).querySelector("name"))?void 0:_.textContent,S=null==(T=n.querySelector("value"))?void 0:T.textContent;s&&S&&e.setRequestHeader(s,S)}var l=o.querySelector("Challenge"),I=null==l?void 0:l.textContent;if(!I)throw new Error("Cannot find <Challenge> in key message");return ee(atob(I))},t.setupLicenseXHR=function(e,t,a,o){var i=this,n=this.config.licenseXhrSetup;return n?Promise.resolve().then((function(){if(!a.decryptdata)throw new Error("Key removed");return n.call(i.hls,e,t,a,o)})).catch((function(r){if(!a.decryptdata)throw r;return e.open("POST",t,!0),n.call(i.hls,e,t,a,o)})).then((function(a){return e.readyState||e.open("POST",t,!0),{xhr:e,licenseChallenge:a||o}})):(e.open("POST",t,!0),Promise.resolve({xhr:e,licenseChallenge:o}))},t.requestLicense=function(e,t){var a=this,o=this.config.keyLoadPolicy.default;return new Promise((function(i,n){var r=a.getLicenseServerUrl(e.keySystem);a.log("Sending license request to URL: "+r);var E=new XMLHttpRequest;E.responseType="arraybuffer",E.onreadystatechange=function(){if(!a.hls||!e.mediaKeysSession)return n(new Error("invalid state"));if(4===E.readyState)if(200===E.status){a._requestLicenseFailureCount=0;var _=E.response;a.log("License received "+(_ instanceof ArrayBuffer?_.byteLength:_));var T=a.config.licenseResponseCallback;if(T)try{_=T.call(a.hls,E,r,e)}catch(e){a.error(e)}i(_)}else{var s=o.errorRetry,S=s?s.maxNumRetry:0;if(a._requestLicenseFailureCount++,a._requestLicenseFailureCount>S||E.status>=400&&E.status<500)n(new rE({type:B.KEY_SYSTEM_ERROR,details:P.KEY_SYSTEM_LICENSE_REQUEST_FAILED,fatal:!0,networkDetails:E,response:{url:r,data:void 0,code:E.status,text:E.statusText}},"License Request XHR failed ("+r+"). Status: "+E.status+" ("+E.statusText+")"));else{var l=S-a._requestLicenseFailureCount+1;a.warn("Retrying license request, "+l+" attempts left"),a.requestLicense(e,t).then(i,n)}}},e.licenseXhr&&e.licenseXhr.readyState!==XMLHttpRequest.DONE&&e.licenseXhr.abort(),e.licenseXhr=E,a.setupLicenseXHR(E,r,e,t).then((function(t){var o=t.xhr,i=t.licenseChallenge;e.keySystem==ae.PLAYREADY&&(i=a.unpackPlayReadyKeyMessage(o,i)),o.send(i)}))}))},t.onMediaAttached=function(e,t){if(this.config.emeEnabled){var a=t.media;this.media=a,a.addEventListener("encrypted",this.onMediaEncrypted),a.addEventListener("waitingforkey",this.onWaitingForKey)}},t.onMediaDetached=function(){var t=this,a=this.media,o=this.mediaKeySessions;a&&(a.removeEventListener("encrypted",this.onMediaEncrypted),a.removeEventListener("waitingforkey",this.onWaitingForKey),this.media=null),this._requestLicenseFailureCount=0,this.setMediaKeysQueue=[],this.mediaKeySessions=[],this.keyIdToKeySessionPromise={},It.clearKeyUriToKeyIdMap();var i=o.length;e.CDMCleanupPromise=Promise.all(o.map((function(e){return t.removeSession(e)})).concat(null==a?void 0:a.setMediaKeys(null).catch((function(e){t.log("Could not clear media keys: "+e)})))).then((function(){i&&(t.log("finished closing key sessions and clearing media keys"),o.length=0)})).catch((function(e){t.log("Could not close sessions and clear media keys: "+e)}))},t.onManifestLoading=function(){this.keyFormatPromise=null},t.onManifestLoaded=function(e,t){var a=t.sessionKeys;if(a&&this.config.emeEnabled&&!this.keyFormatPromise){var o=a.reduce((function(e,t){return-1===e.indexOf(t.keyFormat)&&e.push(t.keyFormat),e}),[]);this.log("Selecting key-system from session-keys "+o.join(", ")),this.keyFormatPromise=this.getKeyFormatPromise(o)}},t.removeSession=function(e){var t=this,a=e.mediaKeysSession,o=e.licenseXhr;if(a){this.log("Remove licenses and keys and close session "+a.sessionId),e._onmessage&&(a.removeEventListener("message",e._onmessage),e._onmessage=void 0),e._onkeystatuseschange&&(a.removeEventListener("keystatuseschange",e._onkeystatuseschange),e._onkeystatuseschange=void 0),o&&o.readyState!==XMLHttpRequest.DONE&&o.abort(),e.mediaKeysSession=e.decryptdata=e.licenseXhr=void 0;var i=this.mediaKeySessions.indexOf(e);return i>-1&&this.mediaKeySessions.splice(i,1),a.remove().catch((function(e){t.log("Could not remove session: "+e)})).then((function(){return a.close()})).catch((function(e){t.log("Could not close session: "+e)}))}},e})();tE.CDMCleanupPromise=void 0;var aE,oE,iE,nE,rE=(function(e){function t(t,a){var o;return(o=e.call(this,a)||this).data=void 0,t.error||(t.error=new Error(a)),o.data=t,t.err=t.error,o}return s(t,e),t})(d(Error));(function(e){e.MANIFEST="m",e.AUDIO="a",e.VIDEO="v",e.MUXED="av",e.INIT="i",e.CAPTION="c",e.TIMED_TEXT="tt",e.KEY="k",e.OTHER="o"})(aE||(aE={})),(function(e){e.DASH="d",e.HLS="h",e.SMOOTH="s",e.OTHER="o"})(oE||(oE={})),(function(e){e.OBJECT="CMCD-Object",e.REQUEST="CMCD-Request",e.SESSION="CMCD-Session",e.STATUS="CMCD-Status"})(iE||(iE={}));var EE=((nE={})[iE.OBJECT]=["br","d","ot","tb"],nE[iE.REQUEST]=["bl","dl","mtp","nor","nrr","su"],nE[iE.SESSION]=["cid","pr","sf","sid","st","v"],nE[iE.STATUS]=["bs","rtp"],nE),_E=function e(t,a){this.value=void 0,this.params=void 0,Array.isArray(t)&&(t=t.map((function(t){return t instanceof e?t:new e(t)}))),this.value=t,this.params=a},TE=function(e){this.description=void 0,this.description=e},sE="Dict";function SE(e){return Array.isArray(e)?JSON.stringify(e):e instanceof Map?"Map{}":e instanceof Set?"Set{}":"object"==typeof e?JSON.stringify(e):String(e)}function lE(e,t,a,o){return new Error("failed to "+e+' "'+SE(t)+'" as '+a,{cause:o})}var IE="Bare Item",AE="Boolean",uE="Byte Sequence",dE="Decimal",cE="Integer";function OE(e){return e<-999999999999999||999999999999999<e}var RE=/[\x00-\x1f\x7f]+/,NE="Token",mE="Key";function LE(e,t,a){return lE("serialize",e,t,a)}function DE(e){if("boolean"!=typeof e)throw LE(e,AE);return e?"?1":"?0"}function pE(e){return btoa(String.fromCharCode.apply(String,e))}function hE(e){if(!1===ArrayBuffer.isView(e))throw LE(e,uE);return":"+pE(e)+":"}function CE(e){if(OE(e))throw LE(e,cE);return e.toString()}function fE(e){return"@"+CE(e.getTime()/1e3)}function BE(e,t){if(e<0)return-BE(-e,t);var a=Math.pow(10,t);if(Math.abs(e*a%1-.5)<Number.EPSILON){var o=Math.floor(e*a);return(o%2==0?o:o+1)/a}return Math.round(e*a)/a}function PE(e){var t=BE(e,3);if(Math.floor(Math.abs(t)).toString().length>12)throw LE(e,dE);var a=t.toString();return a.includes(".")?a:a+".0"}var gE="String";function vE(e){if(RE.test(e))throw LE(e,gE);return'"'+e.replace(/\\/g,"\\\\").replace(/"/g,'\\"')+'"'}function yE(e){return e.description||e.toString().slice(7,-1)}function WE(e){var t=yE(e);if(!1===/^([a-zA-Z*])([!#$%&'*+\-.^_`|~\w:/]*)$/.test(t))throw LE(t,NE);return t}function ME(e){switch(typeof e){case"number":if(!p(e))throw LE(e,IE);return Number.isInteger(e)?CE(e):PE(e);case"string":return vE(e);case"symbol":return WE(e);case"boolean":return DE(e);case"object":if(e instanceof Date)return fE(e);if(e instanceof Uint8Array)return hE(e);if(e instanceof TE)return WE(e);default:throw LE(e,IE)}}function bE(e){if(!1===/^[a-z*][a-z0-9\-_.*]*$/.test(e))throw LE(e,mE);return e}function UE(e){return null==e?"":Object.entries(e).map((function(e){var t=e[0],a=e[1];return!0===a?";"+bE(t):";"+bE(t)+"="+ME(a)})).join("")}function GE(e){return e instanceof _E?""+ME(e.value)+UE(e.params):ME(e)}function kE(e){return"("+e.value.map(GE).join(" ")+")"+UE(e.params)}function FE(e,t){var a;if(void 0===t&&(t={whitespace:!0}),"object"!=typeof e)throw LE(e,sE);var o=e instanceof Map?e.entries():Object.entries(e),i=null!=(a=t)&&a.whitespace?" ":"";return Array.from(o).map((function(e){var t=e[0],a=e[1];a instanceof _E==0&&(a=new _E(a));var o=bE(t);return!0===a.value?o+=UE(a.params):(o+="=",Array.isArray(a.value)?o+=kE(a):o+=GE(a)),o})).join(","+i)}function VE(e,t){return FE(e,t)}var HE=function(e){return"ot"===e||"sf"===e||"st"===e},wE=function(e){return"number"==typeof e?p(e):null!=e&&""!==e&&!1!==e};function YE(e,t){var a=new URL(e),o=new URL(t);if(a.origin!==o.origin)return e;for(var i=a.pathname.split("/").slice(1),n=o.pathname.split("/").slice(1,-1);i[0]===n[0];)i.shift(),n.shift();for(;n.length;)n.shift(),i.unshift("..");return i.join("/")}function zE(){try{return crypto.randomUUID()}catch(o){try{var e=URL.createObjectURL(new Blob),t=e.toString();return URL.revokeObjectURL(e),t.slice(t.lastIndexOf("/")+1)}catch(e){var a=(new Date).getTime();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){var t=(a+16*Math.random())%16|0;return a=Math.floor(a/16),("x"==e?t:3&t|8).toString(16)}))}}}var KE=function(e){return Math.round(e)},xE=function(e){return 100*KE(e/100)},jE={br:KE,d:KE,bl:xE,dl:xE,mtp:xE,nor:function(e,t){return null!=t&&t.baseUrl&&(e=YE(e,t.baseUrl)),encodeURIComponent(e)},rtp:xE,tb:KE};function QE(e,t){var a={};if(null==e||"object"!=typeof e)return a;var o=Object.keys(e).sort(),i=T({},jE,null==t?void 0:t.formatters),n=null==t?void 0:t.filter;return o.forEach((function(o){if(null==n||!n(o)){var r=e[o],E=i[o];E&&(r=E(r,t)),"v"===o&&1===r||"pr"==o&&1===r||wE(r)&&(HE(o)&&"string"==typeof r&&(r=new TE(r)),a[o]=r)}})),a}function XE(e,t){return void 0===t&&(t={}),e?VE(QE(e,t),T({whitespace:!1},t)):""}function $E(e,t){var a;if(void 0===t&&(t={}),!e)return{};var o=Object.entries(e),i=Object.entries(EE).concat(Object.entries((null==(a=t)?void 0:a.customHeaderMap)||{})),n=o.reduce((function(e,t){var a,o=t[0],n=t[1],r=(null==(a=i.find((function(e){return e[1].includes(o)})))?void 0:a[0])||iE.REQUEST;return null!=e[r]||(e[r]={}),e[r][o]=n,e}),{});return Object.entries(n).reduce((function(e,a){var o=a[0],i=a[1];return e[o]=XE(i,t),e}),{})}function qE(e,t,a){return T(e,$E(t,a))}var JE="CMCD";function ZE(e,t){if(void 0===t&&(t={}),!e)return"";var a=XE(e,t);return JE+"="+encodeURIComponent(a)}var e_=/CMCD=[^&#]+/;function t_(e,t,a){var o=ZE(t,a);if(!o)return e;if(e_.test(e))return e.replace(e_,o);var i=e.includes("?")?"&":"?";return""+e+i+o}var a_=(function(){function e(e){var t=this;this.hls=void 0,this.config=void 0,this.media=void 0,this.sid=void 0,this.cid=void 0,this.useHeaders=!1,this.includeKeys=void 0,this.initialized=!1,this.starved=!1,this.buffering=!0,this.audioBuffer=void 0,this.videoBuffer=void 0,this.onWaiting=function(){t.initialized&&(t.starved=!0),t.buffering=!0},this.onPlaying=function(){t.initialized||(t.initialized=!0),t.buffering=!1},this.applyPlaylistData=function(e){try{t.apply(e,{ot:aE.MANIFEST,su:!t.initialized})}catch(e){U.warn("Could not generate manifest CMCD data.",e)}},this.applyFragmentData=function(e){try{var a=e.frag,o=t.hls.levels[a.level],i=t.getObjectType(a),n={d:1e3*a.duration,ot:i};i!==aE.VIDEO&&i!==aE.AUDIO&&i!=aE.MUXED||(n.br=o.bitrate/1e3,n.tb=t.getTopBandwidth(i)/1e3,n.bl=t.getBufferLength(i)),t.apply(e,n)}catch(e){U.warn("Could not generate segment CMCD data.",e)}},this.hls=e;var a=this.config=e.config,o=a.cmcd;null!=o&&(a.pLoader=this.createPlaylistLoader(),a.fLoader=this.createFragmentLoader(),this.sid=o.sessionId||zE(),this.cid=o.contentId,this.useHeaders=!0===o.useHeaders,this.includeKeys=o.includeKeys,this.registerListeners())}var t=e.prototype;return t.registerListeners=function(){var e=this.hls;e.on(f.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(f.MEDIA_DETACHED,this.onMediaDetached,this),e.on(f.BUFFER_CREATED,this.onBufferCreated,this)},t.unregisterListeners=function(){var e=this.hls;e.off(f.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(f.MEDIA_DETACHED,this.onMediaDetached,this),e.off(f.BUFFER_CREATED,this.onBufferCreated,this)},t.destroy=function(){this.unregisterListeners(),this.onMediaDetached(),this.hls=this.config=this.audioBuffer=this.videoBuffer=null,this.onWaiting=this.onPlaying=null},t.onMediaAttached=function(e,t){this.media=t.media,this.media.addEventListener("waiting",this.onWaiting),this.media.addEventListener("playing",this.onPlaying)},t.onMediaDetached=function(){this.media&&(this.media.removeEventListener("waiting",this.onWaiting),this.media.removeEventListener("playing",this.onPlaying),this.media=null)},t.onBufferCreated=function(e,t){var a,o;this.audioBuffer=null==(a=t.tracks.audio)?void 0:a.buffer,this.videoBuffer=null==(o=t.tracks.video)?void 0:o.buffer},t.createData=function(){var e;return{v:1,sf:oE.HLS,sid:this.sid,cid:this.cid,pr:null==(e=this.media)?void 0:e.playbackRate,mtp:this.hls.bandwidthEstimate/1e3}},t.apply=function(e,t){void 0===t&&(t={}),T(t,this.createData());var a=t.ot===aE.INIT||t.ot===aE.VIDEO||t.ot===aE.MUXED;this.starved&&a&&(t.bs=!0,t.su=!0,this.starved=!1),null==t.su&&(t.su=this.buffering);var o=this.includeKeys;o&&(t=Object.keys(t).reduce((function(e,a){return o.includes(a)&&(e[a]=t[a]),e}),{})),this.useHeaders?(e.headers||(e.headers={}),qE(e.headers,t)):e.url=t_(e.url,t)},t.getObjectType=function(e){var t=e.type;return"subtitle"===t?aE.TIMED_TEXT:"initSegment"===e.sn?aE.INIT:"audio"===t?aE.AUDIO:"main"===t?this.hls.audioTracks.length?aE.VIDEO:aE.MUXED:void 0},t.getTopBandwidth=function(e){var t,a=0,o=this.hls;if(e===aE.AUDIO)t=o.audioTracks;else{var i=o.maxAutoLevel,n=i>-1?i+1:o.levels.length;t=o.levels.slice(0,n)}for(var r,E=N(t);!(r=E()).done;){var _=r.value;_.bitrate>a&&(a=_.bitrate)}return a>0?a:NaN},t.getBufferLength=function(e){var t=this.hls.media,a=e===aE.AUDIO?this.audioBuffer:this.videoBuffer;return a&&t?1e3*fo.bufferInfo(a,t.currentTime,this.config.maxBufferHole).len:NaN},t.createPlaylistLoader=function(){var e=this.config.pLoader,t=this.applyPlaylistData,a=e||this.config.loader;return(function(){function e(e){this.loader=void 0,this.loader=new a(e)}var o=e.prototype;return o.destroy=function(){this.loader.destroy()},o.abort=function(){this.loader.abort()},o.load=function(e,a,o){t(e),this.loader.load(e,a,o)},E(e,[{key:"stats",get:function(){return this.loader.stats}},{key:"context",get:function(){return this.loader.context}}]),e})()},t.createFragmentLoader=function(){var e=this.config.fLoader,t=this.applyFragmentData,a=e||this.config.loader;return(function(){function e(e){this.loader=void 0,this.loader=new a(e)}var o=e.prototype;return o.destroy=function(){this.loader.destroy()},o.abort=function(){this.loader.abort()},o.load=function(e,a,o){t(e),this.loader.load(e,a,o)},E(e,[{key:"stats",get:function(){return this.loader.stats}},{key:"context",get:function(){return this.loader.context}}]),e})()},e})(),o_=3e5,i_=(function(){function e(e){this.hls=void 0,this.log=void 0,this.loader=null,this.uri=null,this.pathwayId=".",this.pathwayPriority=null,this.timeToLoad=300,this.reloadTimer=-1,this.updated=0,this.started=!1,this.enabled=!0,this.levels=null,this.audioTracks=null,this.subtitleTracks=null,this.penalizedPathways={},this.hls=e,this.log=U.log.bind(U,"[content-steering]:"),this.registerListeners()}var t=e.prototype;return t.registerListeners=function(){var e=this.hls;e.on(f.MANIFEST_LOADING,this.onManifestLoading,this),e.on(f.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(f.MANIFEST_PARSED,this.onManifestParsed,this),e.on(f.ERROR,this.onError,this)},t.unregisterListeners=function(){var e=this.hls;e&&(e.off(f.MANIFEST_LOADING,this.onManifestLoading,this),e.off(f.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(f.MANIFEST_PARSED,this.onManifestParsed,this),e.off(f.ERROR,this.onError,this))},t.startLoad=function(){if(this.started=!0,this.clearTimeout(),this.enabled&&this.uri){if(this.updated){var e=1e3*this.timeToLoad-(performance.now()-this.updated);if(e>0)return void this.scheduleRefresh(this.uri,e)}this.loadSteeringManifest(this.uri)}},t.stopLoad=function(){this.started=!1,this.loader&&(this.loader.destroy(),this.loader=null),this.clearTimeout()},t.clearTimeout=function(){-1!==this.reloadTimer&&(self.clearTimeout(this.reloadTimer),this.reloadTimer=-1)},t.destroy=function(){this.unregisterListeners(),this.stopLoad(),this.hls=null,this.levels=this.audioTracks=this.subtitleTracks=null},t.removeLevel=function(e){var t=this.levels;t&&(this.levels=t.filter((function(t){return t!==e})))},t.onManifestLoading=function(){this.stopLoad(),this.enabled=!0,this.timeToLoad=300,this.updated=0,this.uri=null,this.pathwayId=".",this.levels=this.audioTracks=this.subtitleTracks=null},t.onManifestLoaded=function(e,t){var a=t.contentSteering;null!==a&&(this.pathwayId=a.pathwayId,this.uri=a.uri,this.started&&this.startLoad())},t.onManifestParsed=function(e,t){this.audioTracks=t.audioTracks,this.subtitleTracks=t.subtitleTracks},t.onError=function(e,t){var a=t.errorAction;if((null==a?void 0:a.action)===$a.SendAlternateToPenaltyBox&&a.flags===qa.MoveAllAlternatesMatchingHost){var o=this.levels,i=this.pathwayPriority,n=this.pathwayId;if(t.context){var r=t.context,E=r.groupId,_=r.pathwayId,T=r.type;E&&o?n=this.getPathwayForGroupId(E,T,n):_&&(n=_)}n in this.penalizedPathways||(this.penalizedPathways[n]=performance.now()),!i&&o&&(i=o.reduce((function(e,t){return-1===e.indexOf(t.pathwayId)&&e.push(t.pathwayId),e}),[])),i&&i.length>1&&(this.updatePathwayPriority(i),a.resolved=this.pathwayId!==n),a.resolved||U.warn("Could not resolve "+t.details+' ("'+t.error.message+'") with content-steering for Pathway: '+n+" levels: "+(o?o.length:o)+" priorities: "+JSON.stringify(i)+" penalized: "+JSON.stringify(this.penalizedPathways))}},t.filterParsedLevels=function(e){this.levels=e;var t=this.getLevelsForPathway(this.pathwayId);if(0===t.length){var a=e[0].pathwayId;this.log("No levels found in Pathway "+this.pathwayId+'. Setting initial Pathway to "'+a+'"'),t=this.getLevelsForPathway(a),this.pathwayId=a}return t.length!==e.length?(this.log("Found "+t.length+"/"+e.length+' levels in Pathway "'+this.pathwayId+'"'),t):e},t.getLevelsForPathway=function(e){return null===this.levels?[]:this.levels.filter((function(t){return e===t.pathwayId}))},t.updatePathwayPriority=function(e){var t;this.pathwayPriority=e;var a=this.penalizedPathways,o=performance.now();Object.keys(a).forEach((function(e){o-a[e]>o_&&delete a[e]}));for(var i=0;i<e.length;i++){var n=e[i];if(!(n in a)){if(n===this.pathwayId)return;var r=this.hls.nextLoadLevel,E=this.hls.levels[r];if((t=this.getLevelsForPathway(n)).length>0){this.log('Setting Pathway to "'+n+'"'),this.pathwayId=n,Ga(t),this.hls.trigger(f.LEVELS_UPDATED,{levels:t});var _=this.hls.levels[r];E&&_&&this.levels&&(_.attrs["STABLE-VARIANT-ID"]!==E.attrs["STABLE-VARIANT-ID"]&&_.bitrate!==E.bitrate&&this.log("Unstable Pathways change from bitrate "+E.bitrate+" to "+_.bitrate),this.hls.nextLoadLevel=r);break}}}},t.getPathwayForGroupId=function(e,t,a){for(var o=this.getLevelsForPathway(a).concat(this.levels||[]),i=0;i<o.length;i++)if(t===Xt.AUDIO_TRACK&&o[i].hasAudioGroup(e)||t===Xt.SUBTITLE_TRACK&&o[i].hasSubtitleGroup(e))return o[i].pathwayId;return a},t.clonePathways=function(e){var t=this,a=this.levels;if(a){var o={},i={};e.forEach((function(e){var n=e.ID,r=e["BASE-ID"],E=e["URI-REPLACEMENT"];if(!a.some((function(e){return e.pathwayId===n}))){var _=t.getLevelsForPathway(r).map((function(e){var t=new F(e.attrs);t["PATHWAY-ID"]=n;var a=t.AUDIO&&t.AUDIO+"_clone_"+n,r=t.SUBTITLES&&t.SUBTITLES+"_clone_"+n;a&&(o[t.AUDIO]=a,t.AUDIO=a),r&&(i[t.SUBTITLES]=r,t.SUBTITLES=r);var _=r_(e.uri,t["STABLE-VARIANT-ID"],"PER-VARIANT-URIS",E),T=new Da({attrs:t,audioCodec:e.audioCodec,bitrate:e.bitrate,height:e.height,name:e.name,url:_,videoCodec:e.videoCodec,width:e.width});if(e.audioGroups)for(var s=1;s<e.audioGroups.length;s++)T.addGroupId("audio",e.audioGroups[s]+"_clone_"+n);if(e.subtitleGroups)for(var S=1;S<e.subtitleGroups.length;S++)T.addGroupId("text",e.subtitleGroups[S]+"_clone_"+n);return T}));a.push.apply(a,_),n_(t.audioTracks,o,E,n),n_(t.subtitleTracks,i,E,n)}}))}},t.loadSteeringManifest=function(e){var t,a=this,o=this.hls.config,i=o.loader;this.loader&&this.loader.destroy(),this.loader=new i(o);try{t=new self.URL(e)}catch(t){return this.enabled=!1,void this.log("Failed to parse Steering Manifest URI: "+e)}if("data:"!==t.protocol){var n=0|(this.hls.bandwidthEstimate||o.abrEwmaDefaultEstimate);t.searchParams.set("_HLS_pathway",this.pathwayId),t.searchParams.set("_HLS_throughput",""+n)}var r={responseType:"json",url:t.href},E=o.steeringManifestLoadPolicy.default,_=E.errorRetry||E.timeoutRetry||{},T={loadPolicy:E,timeout:E.maxLoadTimeMs,maxRetry:_.maxNumRetry||0,retryDelay:_.retryDelayMs||0,maxRetryDelay:_.maxRetryDelayMs||0},s={onSuccess:function(e,o,i,n){a.log('Loaded steering manifest: "'+t+'"');var r=e.data;if(1===r.VERSION){a.updated=performance.now(),a.timeToLoad=r.TTL;var E=r["RELOAD-URI"],_=r["PATHWAY-CLONES"],T=r["PATHWAY-PRIORITY"];if(E)try{a.uri=new self.URL(E,t).href}catch(e){return a.enabled=!1,void a.log("Failed to parse Steering Manifest RELOAD-URI: "+E)}a.scheduleRefresh(a.uri||i.url),_&&a.clonePathways(_);var s={steeringManifest:r,url:t.toString()};a.hls.trigger(f.STEERING_MANIFEST_LOADED,s),T&&a.updatePathwayPriority(T)}else a.log("Steering VERSION "+r.VERSION+" not supported!")},onError:function(e,t,o,i){if(a.log("Error loading steering manifest: "+e.code+" "+e.text+" ("+t.url+")"),a.stopLoad(),410===e.code)return a.enabled=!1,void a.log("Steering manifest "+t.url+" no longer available");var n=1e3*a.timeToLoad;if(429!==e.code)a.scheduleRefresh(a.uri||t.url,n);else{var r=a.loader;if("function"==typeof(null==r?void 0:r.getResponseHeader)){var E=r.getResponseHeader("Retry-After");E&&(n=1e3*parseFloat(E))}a.log("Steering manifest "+t.url+" rate limited")}},onTimeout:function(e,t,o){a.log("Timeout loading steering manifest ("+t.url+")"),a.scheduleRefresh(a.uri||t.url)}};this.log("Requesting steering manifest: "+t),this.loader.load(r,T,s)},t.scheduleRefresh=function(e,t){var a=this;void 0===t&&(t=1e3*this.timeToLoad),this.clearTimeout(),this.reloadTimer=self.setTimeout((function(){var t,o=null==(t=a.hls)?void 0:t.media;!o||o.ended?a.scheduleRefresh(e,1e3*a.timeToLoad):a.loadSteeringManifest(e)}),t)},e})();function n_(e,t,a,o){e&&Object.keys(t).forEach((function(i){var n=e.filter((function(e){return e.groupId===i})).map((function(e){var n=T({},e);return n.details=void 0,n.attrs=new F(n.attrs),n.url=n.attrs.URI=r_(e.url,e.attrs["STABLE-RENDITION-ID"],"PER-RENDITION-URIS",a),n.groupId=n.attrs["GROUP-ID"]=t[i],n.attrs["PATHWAY-ID"]=o,n}));e.push.apply(e,n)}))}function r_(e,t,a,o){var i,n=o.HOST,r=o.PARAMS,E=o[a];t&&(i=null==E?void 0:E[t])&&(e=i);var _=new self.URL(e);return n&&!i&&(_.host=n),r&&Object.keys(r).sort().forEach((function(e){e&&_.searchParams.set(e,r[e])})),_.href}var E_=/^age:\s*[\d.]+\s*$/im,__=(function(){function e(e){this.xhrSetup=void 0,this.requestTimeout=void 0,this.retryTimeout=void 0,this.retryDelay=void 0,this.config=null,this.callbacks=null,this.context=null,this.loader=null,this.stats=void 0,this.xhrSetup=e&&e.xhrSetup||null,this.stats=new Y,this.retryDelay=0}var t=e.prototype;return t.destroy=function(){this.callbacks=null,this.abortInternal(),this.loader=null,this.config=null,this.context=null,this.xhrSetup=null,this.stats=null},t.abortInternal=function(){var e=this.loader;self.clearTimeout(this.requestTimeout),self.clearTimeout(this.retryTimeout),e&&(e.onreadystatechange=null,e.onprogress=null,4!==e.readyState&&(this.stats.aborted=!0,e.abort()))},t.abort=function(){var e;this.abortInternal(),null!=(e=this.callbacks)&&e.onAbort&&this.callbacks.onAbort(this.stats,this.context,this.loader)},t.load=function(e,t,a){if(this.stats.loading.start)throw new Error("Loader can only be used once.");this.stats.loading.start=self.performance.now(),this.context=e,this.config=t,this.callbacks=a,this.loadInternal()},t.loadInternal=function(){var e=this,t=this.config,a=this.context;if(t&&a){var o=this.loader=new self.XMLHttpRequest,i=this.stats;i.loading.first=0,i.loaded=0,i.aborted=!1;var n=this.xhrSetup;n?Promise.resolve().then((function(){if(!e.stats.aborted)return n(o,a.url)})).catch((function(e){return o.open("GET",a.url,!0),n(o,a.url)})).then((function(){e.stats.aborted||e.openAndSendXhr(o,a,t)})).catch((function(t){e.callbacks.onError({code:o.status,text:t.message},a,o,i)})):this.openAndSendXhr(o,a,t)}},t.openAndSendXhr=function(e,t,a){e.readyState||e.open("GET",t.url,!0);var o=t.headers,i=a.loadPolicy,n=i.maxTimeToFirstByteMs,r=i.maxLoadTimeMs;if(o)for(var E in o)e.setRequestHeader(E,o[E]);t.rangeEnd&&e.setRequestHeader("Range","bytes="+t.rangeStart+"-"+(t.rangeEnd-1)),e.onreadystatechange=this.readystatechange.bind(this),e.onprogress=this.loadprogress.bind(this),e.responseType=t.responseType,self.clearTimeout(this.requestTimeout),a.timeout=n&&p(n)?n:r,this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),a.timeout),e.send()},t.readystatechange=function(){var e=this.context,t=this.loader,a=this.stats;if(e&&t){var o=t.readyState,i=this.config;if(!a.aborted&&o>=2&&(0===a.loading.first&&(a.loading.first=Math.max(self.performance.now(),a.loading.start),i.timeout!==i.loadPolicy.maxLoadTimeMs&&(self.clearTimeout(this.requestTimeout),i.timeout=i.loadPolicy.maxLoadTimeMs,this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),i.loadPolicy.maxLoadTimeMs-(a.loading.first-a.loading.start)))),4===o)){self.clearTimeout(this.requestTimeout),t.onreadystatechange=null,t.onprogress=null;var n=t.status,r="text"!==t.responseType;if(n>=200&&n<300&&(r&&t.response||null!==t.responseText)){a.loading.end=Math.max(self.performance.now(),a.loading.first);var E=r?t.response:t.responseText,_="arraybuffer"===t.responseType?E.byteLength:E.length;if(a.loaded=a.total=_,a.bwEstimate=8e3*a.total/(a.loading.end-a.loading.first),!this.callbacks)return;var T=this.callbacks.onProgress;if(T&&T(a,e,E,t),!this.callbacks)return;var s={url:t.responseURL,data:E,code:n};this.callbacks.onSuccess(s,a,e,t)}else{var S=i.loadPolicy.errorRetry;wa(S,a.retry,!1,{url:e.url,data:void 0,code:n})?this.retry(S):(U.error(n+" while loading "+e.url),this.callbacks.onError({code:n,text:t.statusText},e,t,a))}}}},t.loadtimeout=function(){var e,t=null==(e=this.config)?void 0:e.loadPolicy.timeoutRetry;if(wa(t,this.stats.retry,!0))this.retry(t);else{var a;U.warn("timeout while loading "+(null==(a=this.context)?void 0:a.url));var o=this.callbacks;o&&(this.abortInternal(),o.onTimeout(this.stats,this.context,this.loader))}},t.retry=function(e){var t=this.context,a=this.stats;this.retryDelay=Va(e,a.retry),a.retry++,U.warn((status?"HTTP Status "+status:"Timeout")+" while loading "+(null==t?void 0:t.url)+", retrying "+a.retry+"/"+e.maxNumRetry+" in "+this.retryDelay+"ms"),this.abortInternal(),this.loader=null,self.clearTimeout(this.retryTimeout),this.retryTimeout=self.setTimeout(this.loadInternal.bind(this),this.retryDelay)},t.loadprogress=function(e){var t=this.stats;t.loaded=e.loaded,e.lengthComputable&&(t.total=e.total)},t.getCacheAge=function(){var e=null;if(this.loader&&E_.test(this.loader.getAllResponseHeaders())){var t=this.loader.getResponseHeader("age");e=t?parseFloat(t):null}return e},t.getResponseHeader=function(e){return this.loader&&new RegExp("^"+e+":\\s*[\\d.]+\\s*$","im").test(this.loader.getAllResponseHeaders())?this.loader.getResponseHeader(e):null},e})();function T_(){if(self.fetch&&self.AbortController&&self.ReadableStream&&self.Request)try{return new self.ReadableStream({}),!0}catch(e){}return!1}var s_=/(\d+)-(\d+)\/(\d+)/,S_=(function(){function e(e){this.fetchSetup=void 0,this.requestTimeout=void 0,this.request=null,this.response=null,this.controller=void 0,this.context=null,this.config=null,this.callbacks=null,this.stats=void 0,this.loader=null,this.fetchSetup=e.fetchSetup||u_,this.controller=new self.AbortController,this.stats=new Y}var t=e.prototype;return t.destroy=function(){this.loader=this.callbacks=this.context=this.config=this.request=null,this.abortInternal(),this.response=null,this.fetchSetup=this.controller=this.stats=null},t.abortInternal=function(){this.controller&&!this.stats.loading.end&&(this.stats.aborted=!0,this.controller.abort())},t.abort=function(){var e;this.abortInternal(),null!=(e=this.callbacks)&&e.onAbort&&this.callbacks.onAbort(this.stats,this.context,this.response)},t.load=function(e,t,a){var o=this,i=this.stats;if(i.loading.start)throw new Error("Loader can only be used once.");i.loading.start=self.performance.now();var n=l_(e,this.controller.signal),r=a.onProgress,E="arraybuffer"===e.responseType,_=E?"byteLength":"length",T=t.loadPolicy,s=T.maxTimeToFirstByteMs,S=T.maxLoadTimeMs;this.context=e,this.config=t,this.callbacks=a,this.request=this.fetchSetup(e,n),self.clearTimeout(this.requestTimeout),t.timeout=s&&p(s)?s:S,this.requestTimeout=self.setTimeout((function(){o.abortInternal(),a.onTimeout(i,e,o.response)}),t.timeout),self.fetch(this.request).then((function(n){o.response=o.loader=n;var _=Math.max(self.performance.now(),i.loading.start);if(self.clearTimeout(o.requestTimeout),t.timeout=S,o.requestTimeout=self.setTimeout((function(){o.abortInternal(),a.onTimeout(i,e,o.response)}),S-(_-i.loading.start)),!n.ok){var T=n.status,s=n.statusText;throw new c_(s||"fetch, bad network response",T,n)}return i.loading.first=_,i.total=A_(n.headers)||i.total,r&&p(t.highWaterMark)?o.loadProgressively(n,i,e,t.highWaterMark,r):E?n.arrayBuffer():"json"===e.responseType?n.json():n.text()})).then((function(n){var E=o.response;if(!E)throw new Error("loader destroyed");self.clearTimeout(o.requestTimeout),i.loading.end=Math.max(self.performance.now(),i.loading.first);var T=n[_];T&&(i.loaded=i.total=T);var s={url:E.url,data:n,code:E.status};r&&!p(t.highWaterMark)&&r(i,e,n,E),a.onSuccess(s,i,e,E)})).catch((function(t){if(self.clearTimeout(o.requestTimeout),!i.aborted){var n=t&&t.code||0,r=t?t.message:null;a.onError({code:n,text:r},e,t?t.details:null,i)}}))},t.getCacheAge=function(){var e=null;if(this.response){var t=this.response.headers.get("age");e=t?parseFloat(t):null}return e},t.getResponseHeader=function(e){return this.response?this.response.headers.get(e):null},t.loadProgressively=function(e,t,a,o,i){void 0===o&&(o=0);var n=new Jo,r=e.body.getReader();return(function E(){return r.read().then((function(r){if(r.done)return n.dataLength&&i(t,a,n.flush(),e),Promise.resolve(new ArrayBuffer(0));var _=r.value,T=_.length;return t.loaded+=T,T<o||n.dataLength?(n.push(_),n.dataLength>=o&&i(t,a,n.flush(),e)):i(t,a,_,e),E()})).catch((function(){return Promise.reject()}))})()},e})();function l_(e,t){var a={method:"GET",mode:"cors",credentials:"same-origin",signal:t,headers:new self.Headers(T({},e.headers))};return e.rangeEnd&&a.headers.set("Range","bytes="+e.rangeStart+"-"+String(e.rangeEnd-1)),a}function I_(e){var t=s_.exec(e);if(t)return parseInt(t[2])-parseInt(t[1])+1}function A_(e){var t=e.get("Content-Range");if(t){var a=I_(t);if(p(a))return a}var o=e.get("Content-Length");if(o)return parseInt(o)}function u_(e,t){return new self.Request(e.url,t)}var d_,c_=(function(e){function t(t,a,o){var i;return(i=e.call(this,t)||this).code=void 0,i.details=void 0,i.code=a,i.details=o,i}return s(t,e),t})(d(Error)),O_=/\s/,R_={newCue:function(e,t,a,o){for(var i,n,r,E,_,T=[],s=self.VTTCue||self.TextTrackCue,S=0;S<o.rows.length;S++)if(r=!0,E=0,_="",!(i=o.rows[S]).isEmpty()){for(var l,I=0;I<i.chars.length;I++)O_.test(i.chars[I].uchar)&&r?E++:(_+=i.chars[I].uchar,r=!1);i.cueStartTime=t,t===a&&(a+=1e-4),E>=16?E--:E++;var A=Dr(_.trim()),u=Pr(t,a,A);null!=e&&null!=(l=e.cues)&&l.getCueById(u)||((n=new s(t,a,A)).id=u,n.line=S+1,n.align="left",n.position=10+Math.min(80,10*Math.floor(8*E/32)),T.push(n))}return e&&T.length&&(T.sort((function(e,t){return"auto"===e.line||"auto"===t.line?0:e.line>8&&t.line>8?t.line-e.line:e.line-t.line})),T.forEach((function(t){return ta(e,t)}))),T}},N_=o(o({autoStartLoad:!0,startPosition:-1,defaultAudioCodec:void 0,debug:!1,capLevelOnFPSDrop:!1,capLevelToPlayerSize:!1,ignoreDevicePixelRatio:!1,preferManagedMediaSource:!0,initialLiveManifestSize:1,maxBufferLength:30,backBufferLength:1/0,frontBufferFlushThreshold:1/0,maxBufferSize:6e7,maxBufferHole:.1,highBufferWatchdogPeriod:2,nudgeOffset:.1,nudgeMaxRetry:3,maxFragLookUpTolerance:.25,liveSyncDurationCount:3,liveMaxLatencyDurationCount:1/0,liveSyncDuration:void 0,liveMaxLatencyDuration:void 0,maxLiveSyncPlaybackRate:1,liveDurationInfinity:!1,liveBackBufferLength:null,maxMaxBufferLength:600,enableWorker:!0,workerPath:null,enableSoftwareAES:!0,startLevel:void 0,startFragPrefetch:!1,fpsDroppedMonitoringPeriod:5e3,fpsDroppedMonitoringThreshold:.2,appendErrorMaxRetry:3,loader:__,fLoader:void 0,pLoader:void 0,xhrSetup:void 0,licenseXhrSetup:void 0,licenseResponseCallback:void 0,abrController:No,bufferController:Kn,capLevelController:Jr,errorController:Ja,fpsController:Zr,stretchShortVideoTrack:!1,maxAudioFramesDrift:1,forceKeyFrameOnDiscontinuity:!0,abrEwmaFastLive:3,abrEwmaSlowLive:9,abrEwmaFastVoD:3,abrEwmaSlowVoD:9,abrEwmaDefaultEstimate:5e5,abrEwmaDefaultEstimateMax:5e6,abrBandWidthFactor:.95,abrBandWidthUpFactor:.7,abrMaxWithRealBitrate:!1,maxStarvationDelay:4,maxLoadingDelay:4,minAutoBitrate:0,emeEnabled:!1,widevineLicenseUrl:void 0,drmSystems:{},drmSystemOptions:{},requestMediaKeySystemAccessFunc:se,testBandwidth:!0,progressive:!1,lowLatencyMode:!0,cmcd:void 0,enableDateRangeMetadataCues:!0,enableEmsgMetadataCues:!0,enableID3MetadataCues:!0,useMediaCapabilities:!0,certLoadPolicy:{default:{maxTimeToFirstByteMs:8e3,maxLoadTimeMs:2e4,timeoutRetry:null,errorRetry:null}},keyLoadPolicy:{default:{maxTimeToFirstByteMs:8e3,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:2e4,backoff:"linear"},errorRetry:{maxNumRetry:8,retryDelayMs:1e3,maxRetryDelayMs:2e4,backoff:"linear"}}},manifestLoadPolicy:{default:{maxTimeToFirstByteMs:1/0,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},playlistLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:2,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},fragLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:12e4,timeoutRetry:{maxNumRetry:4,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:6,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},steeringManifestLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},manifestLoadingTimeOut:1e4,manifestLoadingMaxRetry:1,manifestLoadingRetryDelay:1e3,manifestLoadingMaxRetryTimeout:64e3,levelLoadingTimeOut:1e4,levelLoadingMaxRetry:4,levelLoadingRetryDelay:1e3,levelLoadingMaxRetryTimeout:64e3,fragLoadingTimeOut:2e4,fragLoadingMaxRetry:6,fragLoadingRetryDelay:1e3,fragLoadingMaxRetryTimeout:64e3},m_()),{},{subtitleStreamController:Vn,subtitleTrackController:wn,timelineController:jr,audioStreamController:Gn,audioTrackController:kn,emeController:tE,cmcdController:a_,contentSteeringController:i_});function m_(){return{cueHandler:R_,enableWebVTT:!0,enableIMSC1:!0,enableCEA708Captions:!0,captionsTextTrack1Label:"English",captionsTextTrack1LanguageCode:"en",captionsTextTrack2Label:"Spanish",captionsTextTrack2LanguageCode:"es",captionsTextTrack3Label:"Unknown CC",captionsTextTrack3LanguageCode:"",captionsTextTrack4Label:"Unknown CC",captionsTextTrack4LanguageCode:"",renderTextTracksNatively:!0}}function L_(e,t){if((t.liveSyncDurationCount||t.liveMaxLatencyDurationCount)&&(t.liveSyncDuration||t.liveMaxLatencyDuration))throw new Error("Illegal hls.js config: don't mix up liveSyncDurationCount/liveMaxLatencyDurationCount and liveSyncDuration/liveMaxLatencyDuration");if(void 0!==t.liveMaxLatencyDurationCount&&(void 0===t.liveSyncDurationCount||t.liveMaxLatencyDurationCount<=t.liveSyncDurationCount))throw new Error('Illegal hls.js config: "liveMaxLatencyDurationCount" must be greater than "liveSyncDurationCount"');if(void 0!==t.liveMaxLatencyDuration&&(void 0===t.liveSyncDuration||t.liveMaxLatencyDuration<=t.liveSyncDuration))throw new Error('Illegal hls.js config: "liveMaxLatencyDuration" must be greater than "liveSyncDuration"');var a=D_(e),i=["TimeOut","MaxRetry","RetryDelay","MaxRetryTimeout"];return["manifest","level","frag"].forEach((function(e){var o=("level"===e?"playlist":e)+"LoadPolicy",n=void 0===t[o],r=[];i.forEach((function(i){var E=e+"Loading"+i,_=t[E];if(void 0!==_&&n){r.push(E);var T=a[o].default;switch(t[o]={default:T},i){case"TimeOut":T.maxLoadTimeMs=_,T.maxTimeToFirstByteMs=_;break;case"MaxRetry":T.errorRetry.maxNumRetry=_,T.timeoutRetry.maxNumRetry=_;break;case"RetryDelay":T.errorRetry.retryDelayMs=_,T.timeoutRetry.retryDelayMs=_;break;case"MaxRetryTimeout":T.errorRetry.maxRetryDelayMs=_,T.timeoutRetry.maxRetryDelayMs=_}}})),r.length&&U.warn('hls.js config: "'+r.join('", "')+'" setting(s) are deprecated, use "'+o+'": '+JSON.stringify(t[o]))})),o(o({},a),t)}function D_(e){return e&&"object"==typeof e?Array.isArray(e)?e.map(D_):Object.keys(e).reduce((function(t,a){return t[a]=D_(e[a]),t}),{}):e}function p_(e){var t=e.loader;t!==S_&&t!==__?(U.log("[config]: Custom loader detected, cannot enable progressive streaming"),e.progressive=!1):T_()&&(e.loader=S_,e.progressive=!0,e.enableSoftwareAES=!0,U.log("[config]: Progressive streaming enabled, using FetchLoader"))}var h_=(function(e){function t(t,a){var o;return(o=e.call(this,t,"[level-controller]")||this)._levels=[],o._firstLevel=-1,o._maxAutoLevel=-1,o._startLevel=void 0,o.currentLevel=null,o.currentLevelIndex=-1,o.manualLevelIndex=-1,o.steering=void 0,o.onParsedComplete=void 0,o.steering=a,o._registerListeners(),o}s(t,e);var a=t.prototype;return a._registerListeners=function(){var e=this.hls;e.on(f.MANIFEST_LOADING,this.onManifestLoading,this),e.on(f.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(f.LEVEL_LOADED,this.onLevelLoaded,this),e.on(f.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(f.FRAG_BUFFERED,this.onFragBuffered,this),e.on(f.ERROR,this.onError,this)},a._unregisterListeners=function(){var e=this.hls;e.off(f.MANIFEST_LOADING,this.onManifestLoading,this),e.off(f.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(f.LEVEL_LOADED,this.onLevelLoaded,this),e.off(f.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(f.FRAG_BUFFERED,this.onFragBuffered,this),e.off(f.ERROR,this.onError,this)},a.destroy=function(){this._unregisterListeners(),this.steering=null,this.resetLevels(),e.prototype.destroy.call(this)},a.stopLoad=function(){this._levels.forEach((function(e){e.loadError=0,e.fragmentError=0})),e.prototype.stopLoad.call(this)},a.resetLevels=function(){this._startLevel=void 0,this.manualLevelIndex=-1,this.currentLevelIndex=-1,this.currentLevel=null,this._levels=[],this._maxAutoLevel=-1},a.onManifestLoading=function(e,t){this.resetLevels()},a.onManifestLoaded=function(e,t){var a=this.hls.config.preferManagedMediaSource,o=[],i={},n={},r=!1,E=!1,_=!1;t.levels.forEach((function(e){var t,T,s=e.attrs,S=e.audioCodec,l=e.videoCodec;-1!==(null==(t=S)?void 0:t.indexOf("mp4a.40.34"))&&(d_||(d_=/chrome|firefox/i.test(navigator.userAgent)),d_&&(e.audioCodec=S=void 0)),S&&(e.audioCodec=S=yt(S,a)),0===(null==(T=l)?void 0:T.indexOf("avc1"))&&(l=e.videoCodec=Mt(l));var I=e.width,A=e.height,u=e.unknownCodecs;if(r||(r=!(!I||!A)),E||(E=!!l),_||(_=!!S),!(null!=u&&u.length||S&&!pt(S,"audio",a)||l&&!pt(l,"video",a))){var d=s.CODECS,c=s["FRAME-RATE"],O=s["HDCP-LEVEL"],R=s["PATHWAY-ID"],N=s.RESOLUTION,m=s["VIDEO-RANGE"],L=(R||".")+"-"+e.bitrate+"-"+N+"-"+c+"-"+d+"-"+m+"-"+O;if(i[L])if(i[L].uri===e.url||e.attrs["PATHWAY-ID"])i[L].addGroupId("audio",s.AUDIO),i[L].addGroupId("text",s.SUBTITLES);else{var D=n[L]+=1;e.attrs["PATHWAY-ID"]=new Array(D+1).join(".");var p=new Da(e);i[L]=p,o.push(p)}else{var h=new Da(e);i[L]=h,n[L]=1,o.push(h)}}})),this.filterAndSortMediaOptions(o,t,r,E,_)},a.filterAndSortMediaOptions=function(e,t,a,o,i){var n=this,r=[],E=[],_=e;if((a||o)&&i&&(_=_.filter((function(e){var t=e.videoCodec,a=e.videoRange,o=e.width,i=e.height;return(!!t||!(!o||!i))&&Ra(a)}))),0!==_.length){if(t.audioTracks){var T=this.hls.config.preferManagedMediaSource;C_(r=t.audioTracks.filter((function(e){return!e.audioCodec||pt(e.audioCodec,"audio",T)})))}t.subtitles&&C_(E=t.subtitles);var s=_.slice(0);_.sort((function(e,t){if(e.attrs["HDCP-LEVEL"]!==t.attrs["HDCP-LEVEL"])return(e.attrs["HDCP-LEVEL"]||"")>(t.attrs["HDCP-LEVEL"]||"")?1:-1;if(a&&e.height!==t.height)return e.height-t.height;if(e.frameRate!==t.frameRate)return e.frameRate-t.frameRate;if(e.videoRange!==t.videoRange)return Oa.indexOf(e.videoRange)-Oa.indexOf(t.videoRange);if(e.videoCodec!==t.videoCodec){var o=ft(e.videoCodec),i=ft(t.videoCodec);if(o!==i)return i-o}if(e.uri===t.uri&&e.codecSet!==t.codecSet){var n=Bt(e.codecSet),r=Bt(t.codecSet);if(n!==r)return r-n}return e.averageBitrate!==t.averageBitrate?e.averageBitrate-t.averageBitrate:0}));var S=s[0];if(this.steering&&(_=this.steering.filterParsedLevels(_)).length!==s.length)for(var l=0;l<s.length;l++)if(s[l].pathwayId===_[0].pathwayId){S=s[l];break}this._levels=_;for(var I=0;I<_.length;I++)if(_[I]===S){var A;this._firstLevel=I;var u=S.bitrate,d=this.hls.bandwidthEstimate;if(this.log("manifest loaded, "+_.length+" level(s) found, first bitrate: "+u),void 0===(null==(A=this.hls.userConfig)?void 0:A.abrEwmaDefaultEstimate)){var c=Math.min(u,this.hls.config.abrEwmaDefaultEstimateMax);c>d&&d===N_.abrEwmaDefaultEstimate&&(this.hls.bandwidthEstimate=c)}break}var O=i&&!o,R={levels:_,audioTracks:r,subtitleTracks:E,sessionData:t.sessionData,sessionKeys:t.sessionKeys,firstLevel:this._firstLevel,stats:t.stats,audio:i,video:o,altAudio:!O&&r.some((function(e){return!!e.url}))};this.hls.trigger(f.MANIFEST_PARSED,R),(this.hls.config.autoStartLoad||this.hls.forceStartLoad)&&this.hls.startLoad(this.hls.config.startPosition)}else Promise.resolve().then((function(){if(n.hls){t.levels.length&&n.warn("One or more CODECS in variant not supported: "+JSON.stringify(t.levels[0].attrs));var e=new Error("no level with compatible codecs found in manifest");n.hls.trigger(f.ERROR,{type:B.MEDIA_ERROR,details:P.MANIFEST_INCOMPATIBLE_CODECS_ERROR,fatal:!0,url:t.url,error:e,reason:e.message})}}))},a.onError=function(e,t){!t.fatal&&t.context&&t.context.type===Xt.LEVEL&&t.context.level===this.level&&this.checkRetry(t)},a.onFragBuffered=function(e,t){var a=t.frag;if(void 0!==a&&a.type===$t.MAIN){var o=a.elementaryStreams;if(!Object.keys(o).some((function(e){return!!o[e]})))return;var i=this._levels[a.level];null!=i&&i.loadError&&(this.log("Resetting level error count of "+i.loadError+" on frag buffered"),i.loadError=0)}},a.onLevelLoaded=function(e,t){var a,o,i=t.level,n=t.details,r=this._levels[i];if(!r)return this.warn("Invalid level index "+i),void(null!=(o=t.deliveryDirectives)&&o.skip&&(n.deltaUpdateFailed=!0));i===this.currentLevelIndex?(0===r.fragmentError&&(r.loadError=0),this.playlistLoaded(i,t,r.details)):null!=(a=t.deliveryDirectives)&&a.skip&&(n.deltaUpdateFailed=!0)},a.loadPlaylist=function(t){e.prototype.loadPlaylist.call(this);var a=this.currentLevelIndex,o=this.currentLevel;if(o&&this.shouldLoadPlaylist(o)){var i=o.uri;if(t)try{i=t.addDirectives(i)}catch(e){this.warn("Could not construct new URL with HLS Delivery Directives: "+e)}var n=o.attrs["PATHWAY-ID"];this.log("Loading level index "+a+(void 0!==(null==t?void 0:t.msn)?" at sn "+t.msn+" part "+t.part:"")+" with"+(n?" Pathway "+n:"")+" "+i),this.clearTimer(),this.hls.trigger(f.LEVEL_LOADING,{url:i,level:a,pathwayId:o.attrs["PATHWAY-ID"],id:0,deliveryDirectives:t||null})}},a.removeLevel=function(e){var t,a=this,o=this._levels.filter((function(t,o){return o!==e||(a.steering&&a.steering.removeLevel(t),t===a.currentLevel&&(a.currentLevel=null,a.currentLevelIndex=-1,t.details&&t.details.fragments.forEach((function(e){return e.level=-1}))),!1)}));Ga(o),this._levels=o,this.currentLevelIndex>-1&&null!=(t=this.currentLevel)&&t.details&&(this.currentLevelIndex=this.currentLevel.details.fragments[0].level),this.hls.trigger(f.LEVELS_UPDATED,{levels:o})},a.onLevelsUpdated=function(e,t){var a=t.levels;this._levels=a},a.checkMaxAutoUpdated=function(){var e=this.hls,t=e.autoLevelCapping,a=e.maxAutoLevel,o=e.maxHdcpLevel;this._maxAutoLevel!==a&&(this._maxAutoLevel=a,this.hls.trigger(f.MAX_AUTO_LEVEL_UPDATED,{autoLevelCapping:t,levels:this.levels,maxAutoLevel:a,minAutoLevel:this.hls.minAutoLevel,maxHdcpLevel:o}))},E(t,[{key:"levels",get:function(){return 0===this._levels.length?null:this._levels}},{key:"level",get:function(){return this.currentLevelIndex},set:function(e){var t=this._levels;if(0!==t.length){if(e<0||e>=t.length){var a=new Error("invalid level idx"),o=e<0;if(this.hls.trigger(f.ERROR,{type:B.OTHER_ERROR,details:P.LEVEL_SWITCH_ERROR,level:e,fatal:o,error:a,reason:a.message}),o)return;e=Math.min(e,t.length-1)}var i=this.currentLevelIndex,n=this.currentLevel,r=n?n.attrs["PATHWAY-ID"]:void 0,E=t[e],_=E.attrs["PATHWAY-ID"];if(this.currentLevelIndex=e,this.currentLevel=E,i!==e||!E.details||!n||r!==_){this.log("Switching to level "+e+" ("+(E.height?E.height+"p ":"")+(E.videoRange?E.videoRange+" ":"")+(E.codecSet?E.codecSet+" ":"")+"@"+E.bitrate+")"+(_?" with Pathway "+_:"")+" from level "+i+(r?" with Pathway "+r:""));var T={level:e,attrs:E.attrs,details:E.details,bitrate:E.bitrate,averageBitrate:E.averageBitrate,maxBitrate:E.maxBitrate,realBitrate:E.realBitrate,width:E.width,height:E.height,codecSet:E.codecSet,audioCodec:E.audioCodec,videoCodec:E.videoCodec,audioGroups:E.audioGroups,subtitleGroups:E.subtitleGroups,loaded:E.loaded,loadError:E.loadError,fragmentError:E.fragmentError,name:E.name,id:E.id,uri:E.uri,url:E.url,urlId:0,audioGroupIds:E.audioGroupIds,textGroupIds:E.textGroupIds};this.hls.trigger(f.LEVEL_SWITCHING,T);var s=E.details;if(!s||s.live){var S=this.switchParams(E.uri,null==n?void 0:n.details);this.loadPlaylist(S)}}}}},{key:"manualLevel",get:function(){return this.manualLevelIndex},set:function(e){this.manualLevelIndex=e,void 0===this._startLevel&&(this._startLevel=e),-1!==e&&(this.level=e)}},{key:"firstLevel",get:function(){return this._firstLevel},set:function(e){this._firstLevel=e}},{key:"startLevel",get:function(){if(void 0===this._startLevel){var e=this.hls.config.startLevel;return void 0!==e?e:this.hls.firstAutoLevel}return this._startLevel},set:function(e){this._startLevel=e}},{key:"nextLoadLevel",get:function(){return-1!==this.manualLevelIndex?this.manualLevelIndex:this.hls.nextAutoLevel},set:function(e){this.level=e,-1===this.manualLevelIndex&&(this.hls.nextAutoLevel=e)}}]),t})(Za);function C_(e){var t={};e.forEach((function(e){var a=e.groupId||"";e.id=t[a]=t[a]||0,t[a]++}))}var f_=(function(){function e(e){this.config=void 0,this.keyUriToKeyInfo={},this.emeController=null,this.config=e}var t=e.prototype;return t.abort=function(e){for(var t in this.keyUriToKeyInfo){var a=this.keyUriToKeyInfo[t].loader;if(a){var o;if(e&&e!==(null==(o=a.context)?void 0:o.frag.type))return;a.abort()}}},t.detach=function(){for(var e in this.keyUriToKeyInfo){var t=this.keyUriToKeyInfo[e];(t.mediaKeySessionContext||t.decryptdata.isCommonEncryption)&&delete this.keyUriToKeyInfo[e]}},t.destroy=function(){for(var e in this.detach(),this.keyUriToKeyInfo){var t=this.keyUriToKeyInfo[e].loader;t&&t.destroy()}this.keyUriToKeyInfo={}},t.createKeyLoadError=function(e,t,a,o,i){return void 0===t&&(t=P.KEY_LOAD_ERROR),new wo({type:B.NETWORK_ERROR,details:t,fatal:!1,frag:e,response:i,error:a,networkDetails:o})},t.loadClear=function(e,t){var a=this;if(this.emeController&&this.config.emeEnabled)for(var o=e.sn,i=e.cc,n=function(){var e=t[r];if(i<=e.cc&&("initSegment"===o||"initSegment"===e.sn||o<e.sn))return a.emeController.selectKeySystemFormat(e).then((function(t){e.setKeyFormat(t)})),1},r=0;r<t.length&&!n();r++);},t.load=function(e){var t=this;return!e.decryptdata&&e.encrypted&&this.emeController?this.emeController.selectKeySystemFormat(e).then((function(a){return t.loadInternal(e,a)})):this.loadInternal(e)},t.loadInternal=function(e,t){var a,o;t&&e.setKeyFormat(t);var i=e.decryptdata;if(!i){var n=new Error(t?"Expected frag.decryptdata to be defined after setting format "+t:"Missing decryption data on fragment in onKeyLoading");return Promise.reject(this.createKeyLoadError(e,P.KEY_LOAD_ERROR,n))}var r=i.uri;if(!r)return Promise.reject(this.createKeyLoadError(e,P.KEY_LOAD_ERROR,new Error('Invalid key URI: "'+r+'"')));var E,_=this.keyUriToKeyInfo[r];if(null!=(a=_)&&a.decryptdata.key)return i.key=_.decryptdata.key,Promise.resolve({frag:e,keyInfo:_});if(null!=(o=_)&&o.keyLoadPromise)switch(null==(E=_.mediaKeySessionContext)?void 0:E.keyStatus){case void 0:case"status-pending":case"usable":case"usable-in-future":return _.keyLoadPromise.then((function(t){return i.key=t.keyInfo.decryptdata.key,{frag:e,keyInfo:_}}))}switch(_=this.keyUriToKeyInfo[r]={decryptdata:i,keyLoadPromise:null,loader:null,mediaKeySessionContext:null},i.method){case"ISO-23001-7":case"SAMPLE-AES":case"SAMPLE-AES-CENC":case"SAMPLE-AES-CTR":return"identity"===i.keyFormat?this.loadKeyHTTP(_,e):this.loadKeyEME(_,e);case"AES-128":return this.loadKeyHTTP(_,e);default:return Promise.reject(this.createKeyLoadError(e,P.KEY_LOAD_ERROR,new Error('Key supplied with unsupported METHOD: "'+i.method+'"')))}},t.loadKeyEME=function(e,t){var a={frag:t,keyInfo:e};if(this.emeController&&this.config.emeEnabled){var o=this.emeController.loadKey(a);if(o)return(e.keyLoadPromise=o.then((function(t){return e.mediaKeySessionContext=t,a}))).catch((function(t){throw e.keyLoadPromise=null,t}))}return Promise.resolve(a)},t.loadKeyHTTP=function(e,t){var a=this,i=this.config,n=new(0,i.loader)(i);return t.keyLoader=e.loader=n,e.keyLoadPromise=new Promise((function(r,E){var _={keyInfo:e,frag:t,responseType:"arraybuffer",url:e.decryptdata.uri},T=i.keyLoadPolicy.default,s={loadPolicy:T,timeout:T.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0},S={onSuccess:function(e,t,o,i){var n=o.frag,_=o.keyInfo,T=o.url;if(!n.decryptdata||_!==a.keyUriToKeyInfo[T])return E(a.createKeyLoadError(n,P.KEY_LOAD_ERROR,new Error("after key load, decryptdata unset or changed"),i));_.decryptdata.key=n.decryptdata.key=new Uint8Array(e.data),n.keyLoader=null,_.loader=null,r({frag:n,keyInfo:_})},onError:function(e,i,n,r){a.resetLoader(i),E(a.createKeyLoadError(t,P.KEY_LOAD_ERROR,new Error("HTTP Error "+e.code+" loading key "+e.text),n,o({url:_.url,data:void 0},e)))},onTimeout:function(e,o,i){a.resetLoader(o),E(a.createKeyLoadError(t,P.KEY_LOAD_TIMEOUT,new Error("key loading timed out"),i))},onAbort:function(e,o,i){a.resetLoader(o),E(a.createKeyLoadError(t,P.INTERNAL_ABORTED,new Error("key loading aborted"),i))}};n.load(_,s,S)}))},t.resetLoader=function(e){var t=e.frag,a=e.keyInfo,o=e.url,i=a.loader;t.keyLoader===i&&(t.keyLoader=null,a.loader=null),delete this.keyUriToKeyInfo[o],i&&i.destroy()},e})();function B_(){return self.SourceBuffer||self.WebKitSourceBuffer}function P_(){if(!mt())return!1;var e=B_();return!e||e.prototype&&"function"==typeof e.prototype.appendBuffer&&"function"==typeof e.prototype.remove}function g_(){if(!P_())return!1;var e=mt();return"function"==typeof(null==e?void 0:e.isTypeSupported)&&(["avc1.42E01E,mp4a.40.2","av01.0.01M.08","vp09.00.50.08"].some((function(t){return e.isTypeSupported(Ct(t,"video"))}))||["mp4a.40.2","fLaC"].some((function(t){return e.isTypeSupported(Ct(t,"audio"))})))}function v_(){var e,t=B_();return"function"==typeof(null==t||null==(e=t.prototype)?void 0:e.changeType)}var y_=250,W_=2,M_=.1,b_=.05,U_=(function(){function e(e,t,a,o){this.config=void 0,this.media=null,this.fragmentTracker=void 0,this.hls=void 0,this.nudgeRetry=0,this.stallReported=!1,this.stalled=null,this.moved=!1,this.seeking=!1,this.config=e,this.media=t,this.fragmentTracker=a,this.hls=o}var t=e.prototype;return t.destroy=function(){this.media=null,this.hls=this.fragmentTracker=null},t.poll=function(e,t){var a=this.config,o=this.media,i=this.stalled;if(null!==o){var n=o.currentTime,r=o.seeking,E=this.seeking&&!r,_=!this.seeking&&r;if(this.seeking=r,n===e)if(_||E)this.stalled=null;else if(o.paused&&!r||o.ended||0===o.playbackRate||!fo.getBuffered(o).length)this.nudgeRetry=0;else{var T=fo.bufferInfo(o,n,0),s=T.nextStart||0;if(r){var S=T.len>W_,l=!s||t&&t.start<=n||s-n>W_&&!this.fragmentTracker.getPartialFragment(n);if(S||l)return;this.moved=!1}if(!this.moved&&null!==this.stalled){var I;if(!(T.len>0||s))return;var A=Math.max(s,T.start||0)-n,u=this.hls.levels?this.hls.levels[this.hls.currentLevel]:null,d=(null==u||null==(I=u.details)?void 0:I.live)?2*u.details.targetduration:W_,c=this.fragmentTracker.getPartialFragment(n);if(A>0&&(A<=d||c))return void(o.paused||this._trySkipBufferHole(c))}var O=self.performance.now();if(null!==i){var R=O-i;if(r||!(R>=y_)||(this._reportStall(T),this.media)){var N=fo.bufferInfo(o,n,a.maxBufferHole);this._tryFixBufferStall(N,R)}}else this.stalled=O}else if(this.moved=!0,r||(this.nudgeRetry=0),null!==i){if(this.stallReported){var m=self.performance.now()-i;U.warn("playback not stuck anymore @"+n+", after "+Math.round(m)+"ms"),this.stallReported=!1}this.stalled=null}}},t._tryFixBufferStall=function(e,t){var a=this.config,o=this.fragmentTracker,i=this.media;if(null!==i){var n=i.currentTime,r=o.getPartialFragment(n);if(r&&(this._trySkipBufferHole(r)||!this.media))return;(e.len>a.maxBufferHole||e.nextStart&&e.nextStart-n<a.maxBufferHole)&&t>1e3*a.highBufferWatchdogPeriod&&(U.warn("Trying to nudge playhead over buffer-hole"),this.stalled=null,this._tryNudgeBuffer())}},t._reportStall=function(e){var t=this.hls,a=this.media;if(!this.stallReported&&a){this.stallReported=!0;var o=new Error("Playback stalling at @"+a.currentTime+" due to low buffer ("+JSON.stringify(e)+")");U.warn(o.message),t.trigger(f.ERROR,{type:B.MEDIA_ERROR,details:P.BUFFER_STALLED_ERROR,fatal:!1,error:o,buffer:e.len})}},t._trySkipBufferHole=function(e){var t=this.config,a=this.hls,o=this.media;if(null===o)return 0;var i=o.currentTime,n=fo.bufferInfo(o,i,0),r=i<n.start?n.start:n.nextStart;if(r){var E=n.len<=t.maxBufferHole,_=n.len>0&&n.len<1&&o.readyState<3,T=r-i;if(T>0&&(E||_)){if(T>t.maxBufferHole){var s=this.fragmentTracker,S=!1;if(0===i){var l=s.getAppendedFrag(0,$t.MAIN);l&&r<l.end&&(S=!0)}if(!S){var I=e||s.getAppendedFrag(i,$t.MAIN);if(I){for(var A=!1,u=I.end;u<r;){var d=s.getPartialFragment(u);if(!d){A=!0;break}u+=d.duration}if(A)return 0}}}var c=Math.max(r+b_,i+M_);if(U.warn("skipping hole, adjusting currentTime from "+i+" to "+c),this.moved=!0,this.stalled=null,o.currentTime=c,e&&!e.gap){var O=new Error("fragment loaded with buffer holes, seeking from "+i+" to "+c);a.trigger(f.ERROR,{type:B.MEDIA_ERROR,details:P.BUFFER_SEEK_OVER_HOLE,fatal:!1,error:O,reason:O.message,frag:e})}return c}}return 0},t._tryNudgeBuffer=function(){var e=this.config,t=this.hls,a=this.media,o=this.nudgeRetry;if(null!==a){var i=a.currentTime;if(this.nudgeRetry++,o<e.nudgeMaxRetry){var n=i+(o+1)*e.nudgeOffset,r=new Error("Nudging 'currentTime' from "+i+" to "+n);U.warn(r.message),a.currentTime=n,t.trigger(f.ERROR,{type:B.MEDIA_ERROR,details:P.BUFFER_NUDGE_ON_STALL,error:r,fatal:!1})}else{var E=new Error("Playhead still not moving while enough data buffered @"+i+" after "+e.nudgeMaxRetry+" nudges");U.error(E.message),t.trigger(f.ERROR,{type:B.MEDIA_ERROR,details:P.BUFFER_STALLED_ERROR,error:E,fatal:!0})}}},e})(),G_=100,k_=(function(e){function t(t,a,o){var i;return(i=e.call(this,t,a,o,"[stream-controller]",$t.MAIN)||this).audioCodecSwap=!1,i.gapController=null,i.level=-1,i._forceStartLoad=!1,i.altAudio=!1,i.audioOnly=!1,i.fragPlaying=null,i.onvplaying=null,i.onvseeked=null,i.fragLastKbps=0,i.couldBacktrack=!1,i.backtrackFragment=null,i.audioCodecSwitch=!1,i.videoBuffer=null,i._registerListeners(),i}s(t,e);var a=t.prototype;return a._registerListeners=function(){var e=this.hls;e.on(f.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(f.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(f.MANIFEST_LOADING,this.onManifestLoading,this),e.on(f.MANIFEST_PARSED,this.onManifestParsed,this),e.on(f.LEVEL_LOADING,this.onLevelLoading,this),e.on(f.LEVEL_LOADED,this.onLevelLoaded,this),e.on(f.FRAG_LOAD_EMERGENCY_ABORTED,this.onFragLoadEmergencyAborted,this),e.on(f.ERROR,this.onError,this),e.on(f.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.on(f.AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this),e.on(f.BUFFER_CREATED,this.onBufferCreated,this),e.on(f.BUFFER_FLUSHED,this.onBufferFlushed,this),e.on(f.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(f.FRAG_BUFFERED,this.onFragBuffered,this)},a._unregisterListeners=function(){var e=this.hls;e.off(f.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(f.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(f.MANIFEST_LOADING,this.onManifestLoading,this),e.off(f.MANIFEST_PARSED,this.onManifestParsed,this),e.off(f.LEVEL_LOADED,this.onLevelLoaded,this),e.off(f.FRAG_LOAD_EMERGENCY_ABORTED,this.onFragLoadEmergencyAborted,this),e.off(f.ERROR,this.onError,this),e.off(f.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.off(f.AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this),e.off(f.BUFFER_CREATED,this.onBufferCreated,this),e.off(f.BUFFER_FLUSHED,this.onBufferFlushed,this),e.off(f.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(f.FRAG_BUFFERED,this.onFragBuffered,this)},a.onHandlerDestroying=function(){this._unregisterListeners(),e.prototype.onHandlerDestroying.call(this)},a.startLoad=function(e){if(this.levels){var t=this.lastCurrentTime,a=this.hls;if(this.stopLoad(),this.setInterval(G_),this.level=-1,!this.startFragRequested){var o=a.startLevel;-1===o&&(a.config.testBandwidth&&this.levels.length>1?(o=0,this.bitrateTest=!0):o=a.firstAutoLevel),a.nextLoadLevel=o,this.level=a.loadLevel,this.loadedmetadata=!1}t>0&&-1===e&&(this.log("Override startPosition with lastCurrentTime @"+t.toFixed(3)),e=t),this.state=$o.IDLE,this.nextLoadPosition=this.startPosition=this.lastCurrentTime=e,this.tick()}else this._forceStartLoad=!0,this.state=$o.STOPPED},a.stopLoad=function(){this._forceStartLoad=!1,e.prototype.stopLoad.call(this)},a.doTick=function(){switch(this.state){case $o.WAITING_LEVEL:var e=this.levels,t=this.level,a=null==e?void 0:e[t],o=null==a?void 0:a.details;if(o&&(!o.live||this.levelLastLoaded===a)){if(this.waitForCdnTuneIn(o))break;this.state=$o.IDLE;break}if(this.hls.nextLoadLevel!==this.level){this.state=$o.IDLE;break}break;case $o.FRAG_LOADING_WAITING_RETRY:var i,n=self.performance.now(),r=this.retryDate;if(!r||n>=r||null!=(i=this.media)&&i.seeking){var E=this.levels,_=this.level,T=null==E?void 0:E[_];this.resetStartWhenNotLoaded(T||null),this.state=$o.IDLE}}this.state===$o.IDLE&&this.doTickIdle(),this.onTickEnd()},a.onTickEnd=function(){e.prototype.onTickEnd.call(this),this.checkBuffer(),this.checkFragmentChanged()},a.doTickIdle=function(){var e=this.hls,t=this.levelLastLoaded,a=this.levels,o=this.media,i=e.config,n=e.nextLoadLevel;if(null!==t&&(o||!this.startFragRequested&&i.startFragPrefetch)&&(!this.altAudio||!this.audioOnly)&&null!=a&&a[n]){var r=a[n],E=this.getMainFwdBufferInfo();if(null!==E){var _=this.getLevelDetails();if(_&&this._streamEnded(E,_)){var T={};return this.altAudio&&(T.type="video"),this.hls.trigger(f.BUFFER_EOS,T),void(this.state=$o.ENDED)}e.loadLevel!==n&&-1===e.manualLevel&&this.log("Adapting to level "+n+" from level "+this.level),this.level=e.nextLoadLevel=n;var s=r.details;if(!s||this.state===$o.WAITING_LEVEL||s.live&&this.levelLastLoaded!==r)return this.level=n,void(this.state=$o.WAITING_LEVEL);var S=E.len,l=this.getMaxBufferLength(r.maxBitrate);if(!(S>=l)){this.backtrackFragment&&this.backtrackFragment.start>E.end&&(this.backtrackFragment=null);var I=this.backtrackFragment?this.backtrackFragment.start:E.end,A=this.getNextFragment(I,s);if(this.couldBacktrack&&!this.fragPrevious&&A&&"initSegment"!==A.sn&&this.fragmentTracker.getState(A)!==Lo.OK){var u,d=(null!=(u=this.backtrackFragment)?u:A).sn-s.startSN,c=s.fragments[d-1];c&&A.cc===c.cc&&(A=c,this.fragmentTracker.removeFragment(c))}else this.backtrackFragment&&E.len&&(this.backtrackFragment=null);if(A&&this.isLoopLoading(A,I)){if(!A.gap){var O=this.audioOnly&&!this.altAudio?z.AUDIO:z.VIDEO,R=(O===z.VIDEO?this.videoBuffer:this.mediaBuffer)||this.media;R&&this.afterBufferFlushed(R,O,$t.MAIN)}A=this.getNextFragmentLoopLoading(A,s,E,$t.MAIN,l)}A&&(!A.initSegment||A.initSegment.data||this.bitrateTest||(A=A.initSegment),this.loadFragment(A,r,I))}}}},a.loadFragment=function(t,a,o){var i=this.fragmentTracker.getState(t);this.fragCurrent=t,i===Lo.NOT_LOADED||i===Lo.PARTIAL?"initSegment"===t.sn?this._loadInitSegment(t,a):this.bitrateTest?(this.log("Fragment "+t.sn+" of level "+t.level+" is being downloaded to test bitrate and will not be buffered"),this._loadBitrateTestFrag(t,a)):(this.startFragRequested=!0,e.prototype.loadFragment.call(this,t,a,o)):this.clearTrackerIfNeeded(t)},a.getBufferedFrag=function(e){return this.fragmentTracker.getBufferedFrag(e,$t.MAIN)},a.followingBufferedFrag=function(e){return e?this.getBufferedFrag(e.end+.5):null},a.immediateLevelSwitch=function(){this.abortCurrentFrag(),this.flushMainBuffer(0,Number.POSITIVE_INFINITY)},a.nextLevelSwitch=function(){var e=this.levels,t=this.media;if(null!=t&&t.readyState){var a,o=this.getAppendedFrag(t.currentTime);o&&o.start>1&&this.flushMainBuffer(0,o.start-1);var i=this.getLevelDetails();if(null!=i&&i.live){var n=this.getMainFwdBufferInfo();if(!n||n.len<2*i.targetduration)return}if(!t.paused&&e){var r=e[this.hls.nextLoadLevel],E=this.fragLastKbps;a=E&&this.fragCurrent?this.fragCurrent.duration*r.maxBitrate/(1e3*E)+1:0}else a=0;var _=this.getBufferedFrag(t.currentTime+a);if(_){var T=this.followingBufferedFrag(_);if(T){this.abortCurrentFrag();var s=T.maxStartPTS?T.maxStartPTS:T.start,S=T.duration,l=Math.max(_.end,s+Math.min(Math.max(S-this.config.maxFragLookUpTolerance,S*(this.couldBacktrack?.5:.125)),S*(this.couldBacktrack?.75:.25)));this.flushMainBuffer(l,Number.POSITIVE_INFINITY)}}}},a.abortCurrentFrag=function(){var e=this.fragCurrent;switch(this.fragCurrent=null,this.backtrackFragment=null,e&&(e.abortRequests(),this.fragmentTracker.removeFragment(e)),this.state){case $o.KEY_LOADING:case $o.FRAG_LOADING:case $o.FRAG_LOADING_WAITING_RETRY:case $o.PARSING:case $o.PARSED:this.state=$o.IDLE}this.nextLoadPosition=this.getLoadPosition()},a.flushMainBuffer=function(t,a){e.prototype.flushMainBuffer.call(this,t,a,this.altAudio?"video":null)},a.onMediaAttached=function(t,a){e.prototype.onMediaAttached.call(this,t,a);var o=a.media;this.onvplaying=this.onMediaPlaying.bind(this),this.onvseeked=this.onMediaSeeked.bind(this),o.addEventListener("playing",this.onvplaying),o.addEventListener("seeked",this.onvseeked),this.gapController=new U_(this.config,o,this.fragmentTracker,this.hls)},a.onMediaDetaching=function(){var t=this.media;t&&this.onvplaying&&this.onvseeked&&(t.removeEventListener("playing",this.onvplaying),t.removeEventListener("seeked",this.onvseeked),this.onvplaying=this.onvseeked=null,this.videoBuffer=null),this.fragPlaying=null,this.gapController&&(this.gapController.destroy(),this.gapController=null),e.prototype.onMediaDetaching.call(this)},a.onMediaPlaying=function(){this.tick()},a.onMediaSeeked=function(){var e=this.media,t=e?e.currentTime:null;p(t)&&this.log("Media seeked to "+t.toFixed(3));var a=this.getMainFwdBufferInfo();null!==a&&0!==a.len?this.tick():this.warn('Main forward buffer length on "seeked" event '+(a?a.len:"empty")+")")},a.onManifestLoading=function(){this.log("Trigger BUFFER_RESET"),this.hls.trigger(f.BUFFER_RESET,void 0),this.fragmentTracker.removeAllFragments(),this.couldBacktrack=!1,this.startPosition=this.lastCurrentTime=this.fragLastKbps=0,this.levels=this.fragPlaying=this.backtrackFragment=this.levelLastLoaded=null,this.altAudio=this.audioOnly=this.startFragRequested=!1},a.onManifestParsed=function(e,t){var a=!1,o=!1;t.levels.forEach((function(e){var t=e.audioCodec;t&&(a=a||-1!==t.indexOf("mp4a.40.2"),o=o||-1!==t.indexOf("mp4a.40.5"))})),this.audioCodecSwitch=a&&o&&!v_(),this.audioCodecSwitch&&this.log("Both AAC/HE-AAC audio found in levels; declaring level codec as HE-AAC"),this.levels=t.levels,this.startFragRequested=!1},a.onLevelLoading=function(e,t){var a=this.levels;if(a&&this.state===$o.IDLE){var o=a[t.level];(!o.details||o.details.live&&this.levelLastLoaded!==o||this.waitForCdnTuneIn(o.details))&&(this.state=$o.WAITING_LEVEL)}},a.onLevelLoaded=function(e,t){var a,o=this.levels,i=t.level,n=t.details,r=n.totalduration;if(o){this.log("Level "+i+" loaded ["+n.startSN+","+n.endSN+"]"+(n.lastPartSn?"[part-"+n.lastPartSn+"-"+n.lastPartIndex+"]":"")+", cc ["+n.startCC+", "+n.endCC+"] duration:"+r);var E=o[i],_=this.fragCurrent;!_||this.state!==$o.FRAG_LOADING&&this.state!==$o.FRAG_LOADING_WAITING_RETRY||_.level!==t.level&&_.loader&&this.abortCurrentFrag();var T=0;if(n.live||null!=(a=E.details)&&a.live){var s;if(this.checkLiveUpdate(n),n.deltaUpdateFailed)return;T=this.alignPlaylists(n,E.details,null==(s=this.levelLastLoaded)?void 0:s.details)}if(E.details=n,this.levelLastLoaded=E,this.hls.trigger(f.LEVEL_UPDATED,{details:n,level:i}),this.state===$o.WAITING_LEVEL){if(this.waitForCdnTuneIn(n))return;this.state=$o.IDLE}this.startFragRequested?n.live&&this.synchronizeToLiveEdge(n):this.setStartPosition(n,T),this.tick()}else this.warn("Levels were reset while loading level "+i)},a._handleFragmentLoadProgress=function(e){var t,a=e.frag,o=e.part,i=e.payload,n=this.levels;if(n){var r=n[a.level],E=r.details;if(!E)return this.warn("Dropping fragment "+a.sn+" of level "+a.level+" after level details were reset"),void this.fragmentTracker.removeFragment(a);var _=r.videoCodec,T=E.PTSKnown||!E.live,s=null==(t=a.initSegment)?void 0:t.data,S=this._getAudioCodec(r),l=this.transmuxer=this.transmuxer||new yn(this.hls,$t.MAIN,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this)),I=o?o.index:-1,A=-1!==I,u=new Bo(a.level,a.sn,a.stats.chunkCount,i.byteLength,I,A),d=this.initPTS[a.cc];l.push(i,s,S,_,a,o,E.totalduration,T,u,d)}else this.warn("Levels were reset while fragment load was in progress. Fragment "+a.sn+" of level "+a.level+" will not be buffered")},a.onAudioTrackSwitching=function(e,t){var a=this.altAudio;if(!t.url){if(this.mediaBuffer!==this.media){this.log("Switching on main audio, use media.buffered to schedule main fragment loading"),this.mediaBuffer=this.media;var o=this.fragCurrent;o&&(this.log("Switching to main audio track, cancel main fragment load"),o.abortRequests(),this.fragmentTracker.removeFragment(o)),this.resetTransmuxer(),this.resetLoadingState()}else this.audioOnly&&this.resetTransmuxer();var i=this.hls;a&&(i.trigger(f.BUFFER_FLUSHING,{startOffset:0,endOffset:Number.POSITIVE_INFINITY,type:null}),this.fragmentTracker.removeAllFragments()),i.trigger(f.AUDIO_TRACK_SWITCHED,t)}},a.onAudioTrackSwitched=function(e,t){var a=t.id,o=!!this.hls.audioTracks[a].url;if(o){var i=this.videoBuffer;i&&this.mediaBuffer!==i&&(this.log("Switching on alternate audio, use video.buffered to schedule main fragment loading"),this.mediaBuffer=i)}this.altAudio=o,this.tick()},a.onBufferCreated=function(e,t){var a,o,i=t.tracks,n=!1;for(var r in i){var E=i[r];if("main"===E.id){if(o=r,a=E,"video"===r){var _=i[r];_&&(this.videoBuffer=_.buffer)}}else n=!0}n&&a?(this.log("Alternate track found, use "+o+".buffered to schedule main fragment loading"),this.mediaBuffer=a.buffer):this.mediaBuffer=this.media},a.onFragBuffered=function(e,t){var a=t.frag,o=t.part;if(!a||a.type===$t.MAIN){if(this.fragContextChanged(a))return this.warn("Fragment "+a.sn+(o?" p: "+o.index:"")+" of level "+a.level+" finished buffering, but was aborted. state: "+this.state),void(this.state===$o.PARSED&&(this.state=$o.IDLE));var i=o?o.stats:a.stats;this.fragLastKbps=Math.round(8*i.total/(i.buffering.end-i.loading.first)),"initSegment"!==a.sn&&(this.fragPrevious=a),this.fragBufferedComplete(a,o)}},a.onError=function(e,t){var a;if(t.fatal)this.state=$o.ERROR;else switch(t.details){case P.FRAG_GAP:case P.FRAG_PARSING_ERROR:case P.FRAG_DECRYPT_ERROR:case P.FRAG_LOAD_ERROR:case P.FRAG_LOAD_TIMEOUT:case P.KEY_LOAD_ERROR:case P.KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError($t.MAIN,t);break;case P.LEVEL_LOAD_ERROR:case P.LEVEL_LOAD_TIMEOUT:case P.LEVEL_PARSING_ERROR:t.levelRetry||this.state!==$o.WAITING_LEVEL||(null==(a=t.context)?void 0:a.type)!==Xt.LEVEL||(this.state=$o.IDLE);break;case P.BUFFER_APPEND_ERROR:case P.BUFFER_FULL_ERROR:if(!t.parent||"main"!==t.parent)return;if(t.details===P.BUFFER_APPEND_ERROR)return void this.resetLoadingState();this.reduceLengthAndFlushBuffer(t)&&this.flushMainBuffer(0,Number.POSITIVE_INFINITY);break;case P.INTERNAL_EXCEPTION:this.recoverWorkerError(t)}},a.checkBuffer=function(){var e=this.media,t=this.gapController;if(e&&t&&e.readyState){if(this.loadedmetadata||!fo.getBuffered(e).length){var a=this.state!==$o.IDLE?this.fragCurrent:null;t.poll(this.lastCurrentTime,a)}this.lastCurrentTime=e.currentTime}},a.onFragLoadEmergencyAborted=function(){this.state=$o.IDLE,this.loadedmetadata||(this.startFragRequested=!1,this.nextLoadPosition=this.startPosition),this.tickImmediate()},a.onBufferFlushed=function(e,t){var a=t.type;if(a!==z.AUDIO||this.audioOnly&&!this.altAudio){var o=(a===z.VIDEO?this.videoBuffer:this.mediaBuffer)||this.media;this.afterBufferFlushed(o,a,$t.MAIN),this.tick()}},a.onLevelsUpdated=function(e,t){this.level>-1&&this.fragCurrent&&(this.level=this.fragCurrent.level),this.levels=t.levels},a.swapAudioCodec=function(){this.audioCodecSwap=!this.audioCodecSwap},a.seekToStartPos=function(){var e=this.media;if(e){var t=e.currentTime,a=this.startPosition;if(a>=0&&t<a){if(e.seeking)return void this.log("could not seek to "+a+", already seeking at "+t);var o=fo.getBuffered(e),i=(o.length?o.start(0):0)-a;i>0&&(i<this.config.maxBufferHole||i<this.config.maxFragLookUpTolerance)&&(this.log("adjusting start position by "+i+" to match buffer start"),a+=i,this.startPosition=a),this.log("seek to target start position "+a+" from current time "+t),e.currentTime=a}}},a._getAudioCodec=function(e){var t=this.config.defaultAudioCodec||e.audioCodec;return this.audioCodecSwap&&t&&(this.log("Swapping audio codec"),t=-1!==t.indexOf("mp4a.40.5")?"mp4a.40.2":"mp4a.40.5"),t},a._loadBitrateTestFrag=function(e,t){var a=this;e.bitrateTest=!0,this._doFragLoad(e,t).then((function(o){var i=a.hls;if(o&&!a.fragContextChanged(e)){t.fragmentError=0,a.state=$o.IDLE,a.startFragRequested=!1,a.bitrateTest=!1;var n=e.stats;n.parsing.start=n.parsing.end=n.buffering.start=n.buffering.end=self.performance.now(),i.trigger(f.FRAG_LOADED,o),e.bitrateTest=!1}}))},a._handleTransmuxComplete=function(e){var t,a="main",o=this.hls,i=e.remuxResult,n=e.chunkMeta,r=this.getCurrentContext(n);if(r){var E=r.frag,_=r.part,T=r.level,s=i.video,S=i.text,l=i.id3,I=i.initSegment,A=T.details,u=this.altAudio?void 0:i.audio;if(this.fragContextChanged(E))this.fragmentTracker.removeFragment(E);else{if(this.state=$o.PARSING,I){if(null!=I&&I.tracks){var d=E.initSegment||E;this._bufferInitSegment(T,I.tracks,d,n),o.trigger(f.FRAG_PARSING_INIT_SEGMENT,{frag:d,id:a,tracks:I.tracks})}var c=I.initPTS,O=I.timescale;p(c)&&(this.initPTS[E.cc]={baseTime:c,timescale:O},o.trigger(f.INIT_PTS_FOUND,{frag:E,id:a,initPTS:c,timescale:O}))}if(s&&A&&"initSegment"!==E.sn){var R=A.fragments[E.sn-1-A.startSN],N=E.sn===A.startSN,m=!R||E.cc>R.cc;if(!1!==i.independent){var L=s.startPTS,D=s.endPTS,h=s.startDTS,C=s.endDTS;if(_)_.elementaryStreams[s.type]={startPTS:L,endPTS:D,startDTS:h,endDTS:C};else if(s.firstKeyFrame&&s.independent&&1===n.id&&!m&&(this.couldBacktrack=!0),s.dropped&&s.independent){var B=this.getMainFwdBufferInfo(),P=(B?B.end:this.getLoadPosition())+this.config.maxBufferHole,g=s.firstKeyFramePTS?s.firstKeyFramePTS:L;if(!N&&P<g-this.config.maxBufferHole&&!m)return void this.backtrack(E);m&&(E.gap=!0),E.setElementaryStreamInfo(s.type,E.start,D,E.start,C,!0)}else N&&L>W_&&(E.gap=!0);E.setElementaryStreamInfo(s.type,L,D,h,C),this.backtrackFragment&&(this.backtrackFragment=E),this.bufferFragmentData(s,E,_,n,N||m)}else{if(!N&&!m)return void this.backtrack(E);E.gap=!0}}if(u){var v=u.startPTS,y=u.endPTS,W=u.startDTS,M=u.endDTS;_&&(_.elementaryStreams[z.AUDIO]={startPTS:v,endPTS:y,startDTS:W,endDTS:M}),E.setElementaryStreamInfo(z.AUDIO,v,y,W,M),this.bufferFragmentData(u,E,_,n)}if(A&&null!=l&&null!=(t=l.samples)&&t.length){var b={id:a,frag:E,details:A,samples:l.samples};o.trigger(f.FRAG_PARSING_METADATA,b)}if(A&&S){var U={id:a,frag:E,details:A,samples:S.samples};o.trigger(f.FRAG_PARSING_USERDATA,U)}}}else this.resetWhenMissingContext(n)},a._bufferInitSegment=function(e,t,a,o){var i=this;if(this.state===$o.PARSING){this.audioOnly=!!t.audio&&!t.video,this.altAudio&&!this.audioOnly&&delete t.audio;var n=t.audio,r=t.video,E=t.audiovideo;if(n){var _=e.audioCodec,T=navigator.userAgent.toLowerCase();this.audioCodecSwitch&&(_&&(_=-1!==_.indexOf("mp4a.40.5")?"mp4a.40.2":"mp4a.40.5"),1!==n.metadata.channelCount&&-1===T.indexOf("firefox")&&(_="mp4a.40.5")),_&&-1!==_.indexOf("mp4a.40.5")&&-1!==T.indexOf("android")&&"audio/mpeg"!==n.container&&(_="mp4a.40.2",this.log("Android: force audio codec to "+_)),e.audioCodec&&e.audioCodec!==_&&this.log('Swapping manifest audio codec "'+e.audioCodec+'" for "'+_+'"'),n.levelCodec=_,n.id="main",this.log("Init audio buffer, container:"+n.container+", codecs[selected/level/parsed]=["+(_||"")+"/"+(e.audioCodec||"")+"/"+n.codec+"]")}r&&(r.levelCodec=e.videoCodec,r.id="main",this.log("Init video buffer, container:"+r.container+", codecs[level/parsed]=["+(e.videoCodec||"")+"/"+r.codec+"]")),E&&this.log("Init audiovideo buffer, container:"+E.container+", codecs[level/parsed]=["+e.codecs+"/"+E.codec+"]"),this.hls.trigger(f.BUFFER_CODECS,t),Object.keys(t).forEach((function(e){var n=t[e].initSegment;null!=n&&n.byteLength&&i.hls.trigger(f.BUFFER_APPENDING,{type:e,data:n,frag:a,part:null,chunkMeta:o,parent:a.type})})),this.tickImmediate()}},a.getMainFwdBufferInfo=function(){return this.getFwdBufferInfo(this.mediaBuffer?this.mediaBuffer:this.media,$t.MAIN)},a.backtrack=function(e){this.couldBacktrack=!0,this.backtrackFragment=e,this.resetTransmuxer(),this.flushBufferGap(e),this.fragmentTracker.removeFragment(e),this.fragPrevious=null,this.nextLoadPosition=e.start,this.state=$o.IDLE},a.checkFragmentChanged=function(){var e=this.media,t=null;if(e&&e.readyState>1&&!1===e.seeking){var a=e.currentTime;if(fo.isBuffered(e,a)?t=this.getAppendedFrag(a):fo.isBuffered(e,a+.1)&&(t=this.getAppendedFrag(a+.1)),t){this.backtrackFragment=null;var o=this.fragPlaying,i=t.level;o&&t.sn===o.sn&&o.level===i||(this.fragPlaying=t,this.hls.trigger(f.FRAG_CHANGED,{frag:t}),o&&o.level===i||this.hls.trigger(f.LEVEL_SWITCHED,{level:i}))}}},E(t,[{key:"nextLevel",get:function(){var e=this.nextBufferedFrag;return e?e.level:-1}},{key:"currentFrag",get:function(){var e=this.media;return e?this.fragPlaying||this.getAppendedFrag(e.currentTime):null}},{key:"currentProgramDateTime",get:function(){var e=this.media;if(e){var t=e.currentTime,a=this.currentFrag;if(a&&p(t)&&p(a.programDateTime)){var o=a.programDateTime+1e3*(t-a.start);return new Date(o)}}return null}},{key:"currentLevel",get:function(){var e=this.currentFrag;return e?e.level:-1}},{key:"nextBufferedFrag",get:function(){var e=this.currentFrag;return e?this.followingBufferedFrag(e):null}},{key:"forceStartLoad",get:function(){return this._forceStartLoad}}]),t})(qo),F_=(function(){function e(t){void 0===t&&(t={}),this.config=void 0,this.userConfig=void 0,this.coreComponents=void 0,this.networkControllers=void 0,this.started=!1,this._emitter=new Dn,this._autoLevelCapping=-1,this._maxHdcpLevel=null,this.abrController=void 0,this.bufferController=void 0,this.capLevelController=void 0,this.latencyController=void 0,this.levelController=void 0,this.streamController=void 0,this.audioTrackController=void 0,this.subtitleTrackController=void 0,this.emeController=void 0,this.cmcdController=void 0,this._media=null,this.url=null,this.triggeringException=void 0,b(t.debug||!1,"Hls instance");var a=this.config=L_(e.DefaultConfig,t);this.userConfig=t,a.progressive&&p_(a);var o=a.abrController,i=a.bufferController,n=a.capLevelController,r=a.errorController,E=a.fpsController,_=new r(this),T=this.abrController=new o(this),s=this.bufferController=new i(this),S=this.capLevelController=new n(this),l=new E(this),I=new Zt(this),A=new Aa(this),u=a.contentSteeringController,d=u?new u(this):null,c=this.levelController=new h_(this,d),O=new Do(this),R=new f_(this.config),N=this.streamController=new k_(this,O,R);S.setStreamController(N),l.setStreamController(N);var m=[I,c,N];d&&m.splice(1,0,d),this.networkControllers=m;var L=[T,s,S,l,A,O];this.audioTrackController=this.createController(a.audioTrackController,m);var D=a.audioStreamController;D&&m.push(new D(this,O,R)),this.subtitleTrackController=this.createController(a.subtitleTrackController,m);var p=a.subtitleStreamController;p&&m.push(new p(this,O,R)),this.createController(a.timelineController,L),R.emeController=this.emeController=this.createController(a.emeController,L),this.cmcdController=this.createController(a.cmcdController,L),this.latencyController=this.createController(ua,L),this.coreComponents=L,m.push(_);var h=_.onErrorOut;"function"==typeof h&&this.on(f.ERROR,h,_)}e.isMSESupported=function(){return P_()},e.isSupported=function(){return g_()},e.getMediaSource=function(){return mt()};var t=e.prototype;return t.createController=function(e,t){if(e){var a=new e(this);return t&&t.push(a),a}return null},t.on=function(e,t,a){void 0===a&&(a=this),this._emitter.on(e,t,a)},t.once=function(e,t,a){void 0===a&&(a=this),this._emitter.once(e,t,a)},t.removeAllListeners=function(e){this._emitter.removeAllListeners(e)},t.off=function(e,t,a,o){void 0===a&&(a=this),this._emitter.off(e,t,a,o)},t.listeners=function(e){return this._emitter.listeners(e)},t.emit=function(e,t,a){return this._emitter.emit(e,t,a)},t.trigger=function(e,t){if(this.config.debug)return this.emit(e,e,t);try{return this.emit(e,e,t)}catch(t){if(U.error("An internal error happened while handling event "+e+'. Error message: "'+t.message+'". Here is a stacktrace:',t),!this.triggeringException){this.triggeringException=!0;var a=e===f.ERROR;this.trigger(f.ERROR,{type:B.OTHER_ERROR,details:P.INTERNAL_EXCEPTION,fatal:a,event:e,error:t}),this.triggeringException=!1}}return!1},t.listenerCount=function(e){return this._emitter.listenerCount(e)},t.destroy=function(){U.log("destroy"),this.trigger(f.DESTROYING,void 0),this.detachMedia(),this.removeAllListeners(),this._autoLevelCapping=-1,this.url=null,this.networkControllers.forEach((function(e){return e.destroy()})),this.networkControllers.length=0,this.coreComponents.forEach((function(e){return e.destroy()})),this.coreComponents.length=0;var e=this.config;e.xhrSetup=e.fetchSetup=void 0,this.userConfig=null},t.attachMedia=function(e){U.log("attachMedia"),this._media=e,this.trigger(f.MEDIA_ATTACHING,{media:e})},t.detachMedia=function(){U.log("detachMedia"),this.trigger(f.MEDIA_DETACHING,void 0),this._media=null},t.loadSource=function(e){this.stopLoad();var t=this.media,a=this.url,o=this.url=D.buildAbsoluteURL(self.location.href,e,{alwaysNormalize:!0});this._autoLevelCapping=-1,this._maxHdcpLevel=null,U.log("loadSource:"+o),t&&a&&(a!==o||this.bufferController.hasSourceTypes())&&(this.detachMedia(),this.attachMedia(t)),this.trigger(f.MANIFEST_LOADING,{url:e})},t.startLoad=function(e){void 0===e&&(e=-1),U.log("startLoad("+e+")"),this.started=!0,this.networkControllers.forEach((function(t){t.startLoad(e)}))},t.stopLoad=function(){U.log("stopLoad"),this.started=!1,this.networkControllers.forEach((function(e){e.stopLoad()}))},t.resumeBuffering=function(){this.started&&this.networkControllers.forEach((function(e){"fragmentLoader"in e&&e.startLoad(-1)}))},t.pauseBuffering=function(){this.networkControllers.forEach((function(e){"fragmentLoader"in e&&e.stopLoad()}))},t.swapAudioCodec=function(){U.log("swapAudioCodec"),this.streamController.swapAudioCodec()},t.recoverMediaError=function(){U.log("recoverMediaError");var e=this._media;this.detachMedia(),e&&this.attachMedia(e)},t.removeLevel=function(e){this.levelController.removeLevel(e)},t.setAudioOption=function(e){var t;return null==(t=this.audioTrackController)?void 0:t.setAudioOption(e)},t.setSubtitleOption=function(e){var t;return null==(t=this.subtitleTrackController)||t.setSubtitleOption(e),null},E(e,[{key:"levels",get:function(){var e=this.levelController.levels;return e||[]}},{key:"currentLevel",get:function(){return this.streamController.currentLevel},set:function(e){U.log("set currentLevel:"+e),this.levelController.manualLevel=e,this.streamController.immediateLevelSwitch()}},{key:"nextLevel",get:function(){return this.streamController.nextLevel},set:function(e){U.log("set nextLevel:"+e),this.levelController.manualLevel=e,this.streamController.nextLevelSwitch()}},{key:"loadLevel",get:function(){return this.levelController.level},set:function(e){U.log("set loadLevel:"+e),this.levelController.manualLevel=e}},{key:"nextLoadLevel",get:function(){return this.levelController.nextLoadLevel},set:function(e){this.levelController.nextLoadLevel=e}},{key:"firstLevel",get:function(){return Math.max(this.levelController.firstLevel,this.minAutoLevel)},set:function(e){U.log("set firstLevel:"+e),this.levelController.firstLevel=e}},{key:"startLevel",get:function(){var e=this.levelController.startLevel;return-1===e&&this.abrController.forcedAutoLevel>-1?this.abrController.forcedAutoLevel:e},set:function(e){U.log("set startLevel:"+e),-1!==e&&(e=Math.max(e,this.minAutoLevel)),this.levelController.startLevel=e}},{key:"capLevelToPlayerSize",get:function(){return this.config.capLevelToPlayerSize},set:function(e){var t=!!e;t!==this.config.capLevelToPlayerSize&&(t?this.capLevelController.startCapping():(this.capLevelController.stopCapping(),this.autoLevelCapping=-1,this.streamController.nextLevelSwitch()),this.config.capLevelToPlayerSize=t)}},{key:"autoLevelCapping",get:function(){return this._autoLevelCapping},set:function(e){this._autoLevelCapping!==e&&(U.log("set autoLevelCapping:"+e),this._autoLevelCapping=e,this.levelController.checkMaxAutoUpdated())}},{key:"bandwidthEstimate",get:function(){var e=this.abrController.bwEstimator;return e?e.getEstimate():NaN},set:function(e){this.abrController.resetEstimator(e)}},{key:"ttfbEstimate",get:function(){var e=this.abrController.bwEstimator;return e?e.getEstimateTTFB():NaN}},{key:"maxHdcpLevel",get:function(){return this._maxHdcpLevel},set:function(e){ca(e)&&this._maxHdcpLevel!==e&&(this._maxHdcpLevel=e,this.levelController.checkMaxAutoUpdated())}},{key:"autoLevelEnabled",get:function(){return-1===this.levelController.manualLevel}},{key:"manualLevel",get:function(){return this.levelController.manualLevel}},{key:"minAutoLevel",get:function(){var e=this.levels,t=this.config.minAutoBitrate;if(!e)return 0;for(var a=e.length,o=0;o<a;o++)if(e[o].maxBitrate>=t)return o;return 0}},{key:"maxAutoLevel",get:function(){var e,t=this.levels,a=this.autoLevelCapping,o=this.maxHdcpLevel;if(e=-1===a&&null!=t&&t.length?t.length-1:a,o)for(var i=e;i--;){var n=t[i].attrs["HDCP-LEVEL"];if(n&&n<=o)return i}return e}},{key:"firstAutoLevel",get:function(){return this.abrController.firstAutoLevel}},{key:"nextAutoLevel",get:function(){return this.abrController.nextAutoLevel},set:function(e){this.abrController.nextAutoLevel=e}},{key:"playingDate",get:function(){return this.streamController.currentProgramDateTime}},{key:"mainForwardBufferInfo",get:function(){return this.streamController.getMainFwdBufferInfo()}},{key:"allAudioTracks",get:function(){var e=this.audioTrackController;return e?e.allAudioTracks:[]}},{key:"audioTracks",get:function(){var e=this.audioTrackController;return e?e.audioTracks:[]}},{key:"audioTrack",get:function(){var e=this.audioTrackController;return e?e.audioTrack:-1},set:function(e){var t=this.audioTrackController;t&&(t.audioTrack=e)}},{key:"allSubtitleTracks",get:function(){var e=this.subtitleTrackController;return e?e.allSubtitleTracks:[]}},{key:"subtitleTracks",get:function(){var e=this.subtitleTrackController;return e?e.subtitleTracks:[]}},{key:"subtitleTrack",get:function(){var e=this.subtitleTrackController;return e?e.subtitleTrack:-1},set:function(e){var t=this.subtitleTrackController;t&&(t.subtitleTrack=e)}},{key:"media",get:function(){return this._media}},{key:"subtitleDisplay",get:function(){var e=this.subtitleTrackController;return!!e&&e.subtitleDisplay},set:function(e){var t=this.subtitleTrackController;t&&(t.subtitleDisplay=e)}},{key:"lowLatencyMode",get:function(){return this.config.lowLatencyMode},set:function(e){this.config.lowLatencyMode=e}},{key:"liveSyncPosition",get:function(){return this.latencyController.liveSyncPosition}},{key:"latency",get:function(){return this.latencyController.latency}},{key:"maxLatency",get:function(){return this.latencyController.maxLatency}},{key:"targetLatency",get:function(){return this.latencyController.targetLatency}},{key:"drift",get:function(){return this.latencyController.drift}},{key:"forceStartLoad",get:function(){return this.streamController.forceStartLoad}}],[{key:"version",get:function(){return"1.5.5-0.canary.9893"}},{key:"Events",get:function(){return f}},{key:"ErrorTypes",get:function(){return B}},{key:"ErrorDetails",get:function(){return P}},{key:"DefaultConfig",get:function(){return e.defaultConfig?e.defaultConfig:N_},set:function(t){e.defaultConfig=t}}]),e})();return F_.defaultConfig=void 0,F_})()})(!1)},52047:e=>{"use strict";e.exports={abbr:"abbr",accept:"accept",acceptCharset:"accept-charset",accessKey:"accesskey",action:"action",allowFullScreen:"allowfullscreen",allowTransparency:"allowtransparency",alt:"alt",async:"async",autoComplete:"autocomplete",autoFocus:"autofocus",autoPlay:"autoplay",cellPadding:"cellpadding",cellSpacing:"cellspacing",challenge:"challenge",charset:"charset",checked:"checked",cite:"cite",class:"class",className:"class",cols:"cols",colSpan:"colspan",command:"command",content:"content",contentEditable:"contenteditable",contextMenu:"contextmenu",controls:"controls",coords:"coords",crossOrigin:"crossorigin",data:"data",dateTime:"datetime",default:"default",defer:"defer",dir:"dir",disabled:"disabled",download:"download",draggable:"draggable",dropzone:"dropzone",encType:"enctype",for:"for",form:"form",formAction:"formaction",formEncType:"formenctype",formMethod:"formmethod",formNoValidate:"formnovalidate",formTarget:"formtarget",frameBorder:"frameBorder",headers:"headers",height:"height",hidden:"hidden",high:"high",href:"href",hrefLang:"hreflang",htmlFor:"for",httpEquiv:"http-equiv",icon:"icon",id:"id",inputMode:"inputmode",isMap:"ismap",itemId:"itemid",itemProp:"itemprop",itemRef:"itemref",itemScope:"itemscope",itemType:"itemtype",kind:"kind",label:"label",lang:"lang",list:"list",loop:"loop",manifest:"manifest",max:"max",maxLength:"maxlength",media:"media",mediaGroup:"mediagroup",method:"method",min:"min",minLength:"minlength",multiple:"multiple",muted:"muted",name:"name",noValidate:"novalidate",open:"open",optimum:"optimum",pattern:"pattern",ping:"ping",placeholder:"placeholder",poster:"poster",preload:"preload",radioGroup:"radiogroup",readOnly:"readonly",rel:"rel",required:"required",role:"role",rows:"rows",rowSpan:"rowspan",sandbox:"sandbox",scope:"scope",scoped:"scoped",scrolling:"scrolling",seamless:"seamless",selected:"selected",shape:"shape",size:"size",sizes:"sizes",sortable:"sortable",span:"span",spellCheck:"spellcheck",src:"src",srcDoc:"srcdoc",srcSet:"srcset",start:"start",step:"step",style:"style",tabIndex:"tabindex",target:"target",title:"title",translate:"translate",type:"type",typeMustMatch:"typemustmatch",useMap:"usemap",value:"value",width:"width",wmode:"wmode",wrap:"wrap"}},81613:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>l});var o=a(71739),i=a.n(o),n=/\s([^'"/\s><]+?)[\s/>]|([^\s=]+)=\s?(".*?"|'.*?')/g;function r(e){var t={type:"tag",name:"",voidElement:!1,attrs:{},children:[]},a=e.match(/<\/?([^\s]+?)[/\s>]/);if(a&&(t.name=a[1],(i()[a[1]]||"/"===e.charAt(e.length-2))&&(t.voidElement=!0),t.name.startsWith("!--"))){var o=e.indexOf("--\x3e");return{type:"comment",comment:-1!==o?e.slice(4,o):""}}for(var r=new RegExp(n),E=null;null!==(E=r.exec(e));)if(E[0].trim())if(E[1]){var _=E[1].trim(),T=[_,""];_.indexOf("=")>-1&&(T=_.split("=")),t.attrs[T[0]]=T[1],r.lastIndex--}else E[2]&&(t.attrs[E[2]]=E[3].trim().substring(1,E[3].length-1));return t}var E=/<[a-zA-Z0-9\-\!\/](?:"[^"]*"|'[^']*'|[^'">])*>/g,_=/^\s*$/,T=Object.create(null);function s(e,t){switch(t.type){case"text":return e+t.content;case"tag":return e+="<"+t.name+(t.attrs?(function(e){var t=[];for(var a in e)t.push(a+'="'+e[a]+'"');return t.length?" "+t.join(" "):""})(t.attrs):"")+(t.voidElement?"/>":">"),t.voidElement?e:e+t.children.reduce(s,"")+"</"+t.name+">";case"comment":return e+"\x3c!--"+t.comment+"--\x3e"}}var S={parse:function(e,t){t||(t={}),t.components||(t.components=T);var a,o=[],i=[],n=-1,s=!1;if(0!==e.indexOf("<")){var S=e.indexOf("<");o.push({type:"text",content:-1===S?e:e.substring(0,S)})}return e.replace(E,(function(E,T){if(s){if(E!=="</"+a.name+">")return;s=!1}var S,l="/"!==E.charAt(1),I=E.startsWith("\x3c!--"),A=T+E.length,u=e.charAt(A);if(I){var d=r(E);return n<0?(o.push(d),o):((S=i[n]).children.push(d),o)}if(l&&(n++,"tag"===(a=r(E)).type&&t.components[a.name]&&(a.type="component",s=!0),a.voidElement||s||!u||"<"===u||a.children.push({type:"text",content:e.slice(A,e.indexOf("<",A))}),0===n&&o.push(a),(S=i[n-1])&&S.children.push(a),i[n]=a),(!l||a.voidElement)&&(n>-1&&(a.voidElement||a.name===E.slice(2,-1))&&(n--,a=-1===n?o:i[n]),!s&&"<"!==u&&u)){S=-1===n?o:i[n].children;var c=e.indexOf("<",A),O=e.slice(A,-1===c?void 0:c);_.test(O)&&(O=" "),(c>-1&&n+S.length>=0||" "!==O)&&S.push({type:"text",content:O})}})),o},stringify:function(e){return e.reduce((function(e,t){return e+s("",t)}),"")}};const l=S},96073:(e,t,a)=>{"use strict";var o=a(17021),i=a(50949),n=a(94813),r=a(25627),E=a(96433),_=a(28542),T=a(42411),s=a(92401),S=a(29394);function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var I=l(o),A=l(i),u=l(n),d=l(r),c=l(E),O=l(_),R=l(T),N=l(s),m=l(S);function L(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function D(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?L(Object(a),!0).forEach((function(t){N.default(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):L(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}var p={type:"logger",log:function(e){this.output("log",e)},warn:function(e){this.output("warn",e)},error:function(e){this.output("error",e)},output:function(e,t){console&&console[e]&&console[e].apply(console,t)}},h=new((function(){function e(t){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};A.default(this,e),this.init(t,a)}return u.default(e,[{key:"init",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.prefix=t.prefix||"i18next:",this.logger=e||p,this.options=t,this.debug=t.debug}},{key:"setDebug",value:function(e){this.debug=e}},{key:"log",value:function(){for(var e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];return this.forward(t,"log","",!0)}},{key:"warn",value:function(){for(var e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];return this.forward(t,"warn","",!0)}},{key:"error",value:function(){for(var e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];return this.forward(t,"error","")}},{key:"deprecate",value:function(){for(var e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];return this.forward(t,"warn","WARNING DEPRECATED: ",!0)}},{key:"forward",value:function(e,t,a,o){return o&&!this.debug?null:("string"==typeof e[0]&&(e[0]="".concat(a).concat(this.prefix," ").concat(e[0])),this.logger[t](e))}},{key:"create",value:function(t){return new e(this.logger,D(D({},{prefix:"".concat(this.prefix,":").concat(t,":")}),this.options))}},{key:"clone",value:function(t){return(t=t||this.options).prefix=t.prefix||this.prefix,new e(this.logger,t)}}]),e})()),C=(function(){function e(){A.default(this,e),this.observers={}}return u.default(e,[{key:"on",value:function(e,t){var a=this;return e.split(" ").forEach((function(e){a.observers[e]=a.observers[e]||[],a.observers[e].push(t)})),this}},{key:"off",value:function(e,t){this.observers[e]&&(t?this.observers[e]=this.observers[e].filter((function(e){return e!==t})):delete this.observers[e])}},{key:"emit",value:function(e){for(var t=arguments.length,a=new Array(t>1?t-1:0),o=1;o<t;o++)a[o-1]=arguments[o];if(this.observers[e]){var i=[].concat(this.observers[e]);i.forEach((function(e){e.apply(void 0,a)}))}if(this.observers["*"]){var n=[].concat(this.observers["*"]);n.forEach((function(t){t.apply(t,[e].concat(a))}))}}}]),e})();function f(){var e,t,a=new Promise((function(a,o){e=a,t=o}));return a.resolve=e,a.reject=t,a}function B(e){return null==e?"":""+e}function P(e,t,a){e.forEach((function(e){t[e]&&(a[e]=t[e])}))}function g(e,t,a){function o(e){return e&&e.indexOf("###")>-1?e.replace(/###/g,"."):e}function i(){return!e||"string"==typeof e}for(var n="string"!=typeof t?[].concat(t):t.split(".");n.length>1;){if(i())return{};var r=o(n.shift());!e[r]&&a&&(e[r]=new a),e=Object.prototype.hasOwnProperty.call(e,r)?e[r]:{}}return i()?{}:{obj:e,k:o(n.shift())}}function v(e,t,a){var o=g(e,t,Object);o.obj[o.k]=a}function y(e,t){var a=g(e,t),o=a.obj,i=a.k;if(o)return o[i]}function W(e,t,a){var o=y(e,a);return void 0!==o?o:y(t,a)}function M(e,t,a){for(var o in t)"__proto__"!==o&&"constructor"!==o&&(o in e?"string"==typeof e[o]||e[o]instanceof String||"string"==typeof t[o]||t[o]instanceof String?a&&(e[o]=t[o]):M(e[o],t[o],a):e[o]=t[o]);return e}function b(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}var U={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;"};function G(e){return"string"==typeof e?e.replace(/[&<>"'\/]/g,(function(e){return U[e]})):e}var k="undefined"!=typeof window&&window.navigator&&void 0===window.navigator.userAgentData&&window.navigator.userAgent&&window.navigator.userAgent.indexOf("MSIE")>-1,F=[" ",",","?","!",";"];function V(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function H(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?V(Object(a),!0).forEach((function(t){N.default(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):V(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function w(e){var t=(function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}})();return function(){var a,o=R.default(e);if(t){var i=R.default(this).constructor;a=Reflect.construct(o,arguments,i)}else a=o.apply(this,arguments);return O.default(this,a)}}function Y(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:".";if(e){if(e[t])return e[t];for(var o=t.split(a),i=e,n=0;n<o.length;++n){if(!i)return;if("string"==typeof i[o[n]]&&n+1<o.length)return;if(void 0===i[o[n]]){for(var r=2,E=o.slice(n,n+r).join(a),_=i[E];void 0===_&&o.length>n+r;)r++,_=i[E=o.slice(n,n+r).join(a)];if(void 0===_)return;if(null===_)return null;if(t.endsWith(E)){if("string"==typeof _)return _;if(E&&"string"==typeof _[E])return _[E]}var T=o.slice(n+r).join(a);return T?Y(_,T,a):void 0}i=i[o[n]]}return i}}var z=(function(e){c.default(a,e);var t=w(a);function a(e){var o,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{ns:["translation"],defaultNS:"translation"};return A.default(this,a),o=t.call(this),k&&C.call(d.default(o)),o.data=e||{},o.options=i,void 0===o.options.keySeparator&&(o.options.keySeparator="."),void 0===o.options.ignoreJSONStructure&&(o.options.ignoreJSONStructure=!0),o}return u.default(a,[{key:"addNamespaces",value:function(e){this.options.ns.indexOf(e)<0&&this.options.ns.push(e)}},{key:"removeNamespaces",value:function(e){var t=this.options.ns.indexOf(e);t>-1&&this.options.ns.splice(t,1)}},{key:"getResource",value:function(e,t,a){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},i=void 0!==o.keySeparator?o.keySeparator:this.options.keySeparator,n=void 0!==o.ignoreJSONStructure?o.ignoreJSONStructure:this.options.ignoreJSONStructure,r=[e,t];a&&"string"!=typeof a&&(r=r.concat(a)),a&&"string"==typeof a&&(r=r.concat(i?a.split(i):a)),e.indexOf(".")>-1&&(r=e.split("."));var E=y(this.data,r);return E||!n||"string"!=typeof a?E:Y(this.data&&this.data[e]&&this.data[e][t],a,i)}},{key:"addResource",value:function(e,t,a,o){var i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{silent:!1},n=this.options.keySeparator;void 0===n&&(n=".");var r=[e,t];a&&(r=r.concat(n?a.split(n):a)),e.indexOf(".")>-1&&(o=t,t=(r=e.split("."))[1]),this.addNamespaces(t),v(this.data,r,o),i.silent||this.emit("added",e,t,a,o)}},{key:"addResources",value:function(e,t,a){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{silent:!1};for(var i in a)"string"!=typeof a[i]&&"[object Array]"!==Object.prototype.toString.apply(a[i])||this.addResource(e,t,i,a[i],{silent:!0});o.silent||this.emit("added",e,t,a)}},{key:"addResourceBundle",value:function(e,t,a,o,i){var n=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{silent:!1},r=[e,t];e.indexOf(".")>-1&&(o=a,a=t,t=(r=e.split("."))[1]),this.addNamespaces(t);var E=y(this.data,r)||{};o?M(E,a,i):E=H(H({},E),a),v(this.data,r,E),n.silent||this.emit("added",e,t,a)}},{key:"removeResourceBundle",value:function(e,t){this.hasResourceBundle(e,t)&&delete this.data[e][t],this.removeNamespaces(t),this.emit("removed",e,t)}},{key:"hasResourceBundle",value:function(e,t){return void 0!==this.getResource(e,t)}},{key:"getResourceBundle",value:function(e,t){return t||(t=this.options.defaultNS),"v1"===this.options.compatibilityAPI?H(H({},{}),this.getResource(e,t)):this.getResource(e,t)}},{key:"getDataByLanguage",value:function(e){return this.data[e]}},{key:"hasLanguageSomeTranslations",value:function(e){var t=this.getDataByLanguage(e);return!!(t&&Object.keys(t)||[]).find((function(e){return t[e]&&Object.keys(t[e]).length>0}))}},{key:"toJSON",value:function(){return this.data}}]),a})(C),K={processors:{},addPostProcessor:function(e){this.processors[e.name]=e},handle:function(e,t,a,o,i){var n=this;return e.forEach((function(e){n.processors[e]&&(t=n.processors[e].process(t,a,o,i))})),t}};function x(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function j(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?x(Object(a),!0).forEach((function(t){N.default(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):x(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function Q(e){var t=(function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}})();return function(){var a,o=R.default(e);if(t){var i=R.default(this).constructor;a=Reflect.construct(o,arguments,i)}else a=o.apply(this,arguments);return O.default(this,a)}}var X={},$=(function(e){c.default(a,e);var t=Q(a);function a(e){var o,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return A.default(this,a),o=t.call(this),k&&C.call(d.default(o)),P(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],e,d.default(o)),o.options=i,void 0===o.options.keySeparator&&(o.options.keySeparator="."),o.logger=h.create("translator"),o}return u.default(a,[{key:"changeLanguage",value:function(e){e&&(this.language=e)}},{key:"exists",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{interpolation:{}};if(null==e)return!1;var a=this.resolve(e,t);return a&&void 0!==a.res}},{key:"extractFromKey",value:function(e,t){var a=void 0!==t.nsSeparator?t.nsSeparator:this.options.nsSeparator;void 0===a&&(a=":");var o=void 0!==t.keySeparator?t.keySeparator:this.options.keySeparator,i=t.ns||this.options.defaultNS||[],n=a&&e.indexOf(a)>-1,r=!(this.options.userDefinedKeySeparator||t.keySeparator||this.options.userDefinedNsSeparator||t.nsSeparator||(function(e,t,a){t=t||"",a=a||"";var o=F.filter((function(e){return t.indexOf(e)<0&&a.indexOf(e)<0}));if(0===o.length)return!0;var i=new RegExp("(".concat(o.map((function(e){return"?"===e?"\\?":e})).join("|"),")")),n=!i.test(e);if(!n){var r=e.indexOf(a);r>0&&!i.test(e.substring(0,r))&&(n=!0)}return n})(e,a,o));if(n&&!r){var E=e.match(this.interpolator.nestingRegexp);if(E&&E.length>0)return{key:e,namespaces:i};var _=e.split(a);(a!==o||a===o&&this.options.ns.indexOf(_[0])>-1)&&(i=_.shift()),e=_.join(o)}return"string"==typeof i&&(i=[i]),{key:e,namespaces:i}}},{key:"translate",value:function(e,t,o){var i=this;if("object"!==I.default(t)&&this.options.overloadTranslationOptionHandler&&(t=this.options.overloadTranslationOptionHandler(arguments)),t||(t={}),null==e)return"";Array.isArray(e)||(e=[String(e)]);var n=void 0!==t.returnDetails?t.returnDetails:this.options.returnDetails,r=void 0!==t.keySeparator?t.keySeparator:this.options.keySeparator,E=this.extractFromKey(e[e.length-1],t),_=E.key,T=E.namespaces,s=T[T.length-1],S=t.lng||this.language,l=t.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(S&&"cimode"===S.toLowerCase()){if(l){var A=t.nsSeparator||this.options.nsSeparator;return n?(u.res="".concat(s).concat(A).concat(_),u):"".concat(s).concat(A).concat(_)}return n?(u.res=_,u):_}var u=this.resolve(e,t),d=u&&u.res,c=u&&u.usedKey||_,O=u&&u.exactUsedKey||_,R=Object.prototype.toString.apply(d),N=["[object Number]","[object Function]","[object RegExp]"],m=void 0!==t.joinArrays?t.joinArrays:this.options.joinArrays,L=!this.i18nFormat||this.i18nFormat.handleAsObject,D="string"!=typeof d&&"boolean"!=typeof d&&"number"!=typeof d;if(L&&d&&D&&N.indexOf(R)<0&&("string"!=typeof m||"[object Array]"!==R)){if(!t.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");var p=this.options.returnedObjectHandler?this.options.returnedObjectHandler(c,d,j(j({},t),{},{ns:T})):"key '".concat(_," (").concat(this.language,")' returned an object instead of string.");return n?(u.res=p,u):p}if(r){var h="[object Array]"===R,C=h?[]:{},f=h?O:c;for(var B in d)if(Object.prototype.hasOwnProperty.call(d,B)){var P="".concat(f).concat(r).concat(B);C[B]=this.translate(P,j(j({},t),{joinArrays:!1,ns:T})),C[B]===P&&(C[B]=d[B])}d=C}}else if(L&&"string"==typeof m&&"[object Array]"===R)(d=d.join(m))&&(d=this.extendTranslation(d,e,t,o));else{var g=!1,v=!1,y=void 0!==t.count&&"string"!=typeof t.count,W=a.hasDefaultValue(t),M=y?this.pluralResolver.getSuffix(S,t.count,t):"",b=t["defaultValue".concat(M)]||t.defaultValue;!this.isValidLookup(d)&&W&&(g=!0,d=b),this.isValidLookup(d)||(v=!0,d=_);var U=t.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey,G=U&&v?void 0:d,k=W&&b!==d&&this.options.updateMissing;if(v||g||k){if(this.logger.log(k?"updateKey":"missingKey",S,s,_,k?b:d),r){var F=this.resolve(_,j(j({},t),{},{keySeparator:!1}));F&&F.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}var V=[],H=this.languageUtils.getFallbackCodes(this.options.fallbackLng,t.lng||this.language);if("fallback"===this.options.saveMissingTo&&H&&H[0])for(var w=0;w<H.length;w++)V.push(H[w]);else"all"===this.options.saveMissingTo?V=this.languageUtils.toResolveHierarchy(t.lng||this.language):V.push(t.lng||this.language);var Y=function(e,a,o){var n=W&&o!==d?o:G;i.options.missingKeyHandler?i.options.missingKeyHandler(e,s,a,n,k,t):i.backendConnector&&i.backendConnector.saveMissing&&i.backendConnector.saveMissing(e,s,a,n,k,t),i.emit("missingKey",e,s,a,d)};this.options.saveMissing&&(this.options.saveMissingPlurals&&y?V.forEach((function(e){i.pluralResolver.getSuffixes(e,t).forEach((function(a){Y([e],_+a,t["defaultValue".concat(a)]||b)}))})):Y(V,_,b))}d=this.extendTranslation(d,e,t,u,o),v&&d===_&&this.options.appendNamespaceToMissingKey&&(d="".concat(s,":").concat(_)),(v||g)&&this.options.parseMissingKeyHandler&&(d="v1"!==this.options.compatibilityAPI?this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?"".concat(s,":").concat(_):_,g?d:void 0):this.options.parseMissingKeyHandler(d))}return n?(u.res=d,u):d}},{key:"extendTranslation",value:function(e,t,a,o,i){var n=this;if(this.i18nFormat&&this.i18nFormat.parse)e=this.i18nFormat.parse(e,j(j({},this.options.interpolation.defaultVariables),a),o.usedLng,o.usedNS,o.usedKey,{resolved:o});else if(!a.skipInterpolation){a.interpolation&&this.interpolator.init(j(j({},a),{interpolation:j(j({},this.options.interpolation),a.interpolation)}));var r,E="string"==typeof e&&(a&&a.interpolation&&void 0!==a.interpolation.skipOnVariables?a.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);if(E){var _=e.match(this.interpolator.nestingRegexp);r=_&&_.length}var T=a.replace&&"string"!=typeof a.replace?a.replace:a;if(this.options.interpolation.defaultVariables&&(T=j(j({},this.options.interpolation.defaultVariables),T)),e=this.interpolator.interpolate(e,T,a.lng||this.language,a),E){var s=e.match(this.interpolator.nestingRegexp);r<(s&&s.length)&&(a.nest=!1)}!1!==a.nest&&(e=this.interpolator.nest(e,(function(){for(var e=arguments.length,o=new Array(e),r=0;r<e;r++)o[r]=arguments[r];return i&&i[0]===o[0]&&!a.context?(n.logger.warn("It seems you are nesting recursively key: ".concat(o[0]," in key: ").concat(t[0])),null):n.translate.apply(n,o.concat([t]))}),a)),a.interpolation&&this.interpolator.reset()}var S=a.postProcess||this.options.postProcess,l="string"==typeof S?[S]:S;return null!=e&&l&&l.length&&!1!==a.applyPostProcessor&&(e=K.handle(l,e,t,this.options&&this.options.postProcessPassResolved?j({i18nResolved:o},a):a,this)),e}},{key:"resolve",value:function(e){var t,a,o,i,n,r=this,E=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return"string"==typeof e&&(e=[e]),e.forEach((function(e){if(!r.isValidLookup(t)){var _=r.extractFromKey(e,E),T=_.key;a=T;var s=_.namespaces;r.options.fallbackNS&&(s=s.concat(r.options.fallbackNS));var S=void 0!==E.count&&"string"!=typeof E.count,l=S&&!E.ordinal&&0===E.count&&r.pluralResolver.shouldUseIntlApi(),I=void 0!==E.context&&("string"==typeof E.context||"number"==typeof E.context)&&""!==E.context,A=E.lngs?E.lngs:r.languageUtils.toResolveHierarchy(E.lng||r.language,E.fallbackLng);s.forEach((function(e){r.isValidLookup(t)||(n=e,!X["".concat(A[0],"-").concat(e)]&&r.utils&&r.utils.hasLoadedNamespace&&!r.utils.hasLoadedNamespace(n)&&(X["".concat(A[0],"-").concat(e)]=!0,r.logger.warn('key "'.concat(a,'" for languages "').concat(A.join(", "),'" won\'t get resolved as namespace "').concat(n,'" was not yet loaded'),"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),A.forEach((function(a){if(!r.isValidLookup(t)){i=a;var n,_=[T];if(r.i18nFormat&&r.i18nFormat.addLookupKeys)r.i18nFormat.addLookupKeys(_,T,a,e,E);else{var s;S&&(s=r.pluralResolver.getSuffix(a,E.count,E));var A="".concat(r.options.pluralSeparator,"zero");if(S&&(_.push(T+s),l&&_.push(T+A)),I){var u="".concat(T).concat(r.options.contextSeparator).concat(E.context);_.push(u),S&&(_.push(u+s),l&&_.push(u+A))}}for(;n=_.pop();)r.isValidLookup(t)||(o=n,t=r.getResource(a,e,n,E))}})))}))}})),{res:t,usedKey:a,exactUsedKey:o,usedLng:i,usedNS:n}}},{key:"isValidLookup",value:function(e){return!(void 0===e||!this.options.returnNull&&null===e||!this.options.returnEmptyString&&""===e)}},{key:"getResource",value:function(e,t,a){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(e,t,a,o):this.resourceStore.getResource(e,t,a,o)}}],[{key:"hasDefaultValue",value:function(e){var t="defaultValue";for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a)&&t===a.substring(0,t.length)&&void 0!==e[a])return!0;return!1}}]),a})(C);function q(e){return e.charAt(0).toUpperCase()+e.slice(1)}var J=(function(){function e(t){A.default(this,e),this.options=t,this.supportedLngs=this.options.supportedLngs||!1,this.logger=h.create("languageUtils")}return u.default(e,[{key:"getScriptPartFromCode",value:function(e){if(!e||e.indexOf("-")<0)return null;var t=e.split("-");return 2===t.length?null:(t.pop(),"x"===t[t.length-1].toLowerCase()?null:this.formatLanguageCode(t.join("-")))}},{key:"getLanguagePartFromCode",value:function(e){if(!e||e.indexOf("-")<0)return e;var t=e.split("-");return this.formatLanguageCode(t[0])}},{key:"formatLanguageCode",value:function(e){if("string"==typeof e&&e.indexOf("-")>-1){var t=["hans","hant","latn","cyrl","cans","mong","arab"],a=e.split("-");return this.options.lowerCaseLng?a=a.map((function(e){return e.toLowerCase()})):2===a.length?(a[0]=a[0].toLowerCase(),a[1]=a[1].toUpperCase(),t.indexOf(a[1].toLowerCase())>-1&&(a[1]=q(a[1].toLowerCase()))):3===a.length&&(a[0]=a[0].toLowerCase(),2===a[1].length&&(a[1]=a[1].toUpperCase()),"sgn"!==a[0]&&2===a[2].length&&(a[2]=a[2].toUpperCase()),t.indexOf(a[1].toLowerCase())>-1&&(a[1]=q(a[1].toLowerCase())),t.indexOf(a[2].toLowerCase())>-1&&(a[2]=q(a[2].toLowerCase()))),a.join("-")}return this.options.cleanCode||this.options.lowerCaseLng?e.toLowerCase():e}},{key:"isSupportedCode",value:function(e){return("languageOnly"===this.options.load||this.options.nonExplicitSupportedLngs)&&(e=this.getLanguagePartFromCode(e)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(e)>-1}},{key:"getBestMatchFromCodes",value:function(e){var t,a=this;return e?(e.forEach((function(e){if(!t){var o=a.formatLanguageCode(e);a.options.supportedLngs&&!a.isSupportedCode(o)||(t=o)}})),!t&&this.options.supportedLngs&&e.forEach((function(e){if(!t){var o=a.getLanguagePartFromCode(e);if(a.isSupportedCode(o))return t=o;t=a.options.supportedLngs.find((function(e){if(0===e.indexOf(o))return e}))}})),t||(t=this.getFallbackCodes(this.options.fallbackLng)[0]),t):null}},{key:"getFallbackCodes",value:function(e,t){if(!e)return[];if("function"==typeof e&&(e=e(t)),"string"==typeof e&&(e=[e]),"[object Array]"===Object.prototype.toString.apply(e))return e;if(!t)return e.default||[];var a=e[t];return a||(a=e[this.getScriptPartFromCode(t)]),a||(a=e[this.formatLanguageCode(t)]),a||(a=e[this.getLanguagePartFromCode(t)]),a||(a=e.default),a||[]}},{key:"toResolveHierarchy",value:function(e,t){var a=this,o=this.getFallbackCodes(t||this.options.fallbackLng||[],e),i=[],n=function(e){e&&(a.isSupportedCode(e)?i.push(e):a.logger.warn("rejecting language code not found in supportedLngs: ".concat(e)))};return"string"==typeof e&&e.indexOf("-")>-1?("languageOnly"!==this.options.load&&n(this.formatLanguageCode(e)),"languageOnly"!==this.options.load&&"currentOnly"!==this.options.load&&n(this.getScriptPartFromCode(e)),"currentOnly"!==this.options.load&&n(this.getLanguagePartFromCode(e))):"string"==typeof e&&n(this.formatLanguageCode(e)),o.forEach((function(e){i.indexOf(e)<0&&n(a.formatLanguageCode(e))})),i}}]),e})(),Z=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","tl","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kk","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","ht","id","ja","jbo","ka","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he","iw"],nr:[1,2,20,21],fc:22}],ee={1:function(e){return Number(e>1)},2:function(e){return Number(1!=e)},3:function(e){return 0},4:function(e){return Number(e%10==1&&e%100!=11?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2)},5:function(e){return Number(0==e?0:1==e?1:2==e?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5)},6:function(e){return Number(1==e?0:e>=2&&e<=4?1:2)},7:function(e){return Number(1==e?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2)},8:function(e){return Number(1==e?0:2==e?1:8!=e&&11!=e?2:3)},9:function(e){return Number(e>=2)},10:function(e){return Number(1==e?0:2==e?1:e<7?2:e<11?3:4)},11:function(e){return Number(1==e||11==e?0:2==e||12==e?1:e>2&&e<20?2:3)},12:function(e){return Number(e%10!=1||e%100==11)},13:function(e){return Number(0!==e)},14:function(e){return Number(1==e?0:2==e?1:3==e?2:3)},15:function(e){return Number(e%10==1&&e%100!=11?0:e%10>=2&&(e%100<10||e%100>=20)?1:2)},16:function(e){return Number(e%10==1&&e%100!=11?0:0!==e?1:2)},17:function(e){return Number(1==e||e%10==1&&e%100!=11?0:1)},18:function(e){return Number(0==e?0:1==e?1:2)},19:function(e){return Number(1==e?0:0==e||e%100>1&&e%100<11?1:e%100>10&&e%100<20?2:3)},20:function(e){return Number(1==e?0:0==e||e%100>0&&e%100<20?1:2)},21:function(e){return Number(e%100==1?1:e%100==2?2:e%100==3||e%100==4?3:0)},22:function(e){return Number(1==e?0:2==e?1:(e<0||e>10)&&e%10==0?2:3)}},te=["v1","v2","v3"],ae={zero:0,one:1,two:2,few:3,many:4,other:5};function oe(){var e={};return Z.forEach((function(t){t.lngs.forEach((function(a){e[a]={numbers:t.nr,plurals:ee[t.fc]}}))})),e}var ie=(function(){function e(t){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};A.default(this,e),this.languageUtils=t,this.options=a,this.logger=h.create("pluralResolver"),this.options.compatibilityJSON&&"v4"!==this.options.compatibilityJSON||"undefined"!=typeof Intl&&Intl.PluralRules||(this.options.compatibilityJSON="v3",this.logger.error("Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.")),this.rules=oe()}return u.default(e,[{key:"addRule",value:function(e,t){this.rules[e]=t}},{key:"getRule",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(this.shouldUseIntlApi())try{return new Intl.PluralRules(e,{type:t.ordinal?"ordinal":"cardinal"})}catch(e){return}return this.rules[e]||this.rules[this.languageUtils.getLanguagePartFromCode(e)]}},{key:"needsPlural",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=this.getRule(e,t);return this.shouldUseIntlApi()?a&&a.resolvedOptions().pluralCategories.length>1:a&&a.numbers.length>1}},{key:"getPluralFormsOfKey",value:function(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.getSuffixes(e,a).map((function(e){return"".concat(t).concat(e)}))}},{key:"getSuffixes",value:function(e){var t=this,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=this.getRule(e,a);return o?this.shouldUseIntlApi()?o.resolvedOptions().pluralCategories.sort((function(e,t){return ae[e]-ae[t]})).map((function(e){return"".concat(t.options.prepend).concat(e)})):o.numbers.map((function(o){return t.getSuffix(e,o,a)})):[]}},{key:"getSuffix",value:function(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=this.getRule(e,a);return o?this.shouldUseIntlApi()?"".concat(this.options.prepend).concat(o.select(t)):this.getSuffixRetroCompatible(o,t):(this.logger.warn("no plural rule found for: ".concat(e)),"")}},{key:"getSuffixRetroCompatible",value:function(e,t){var a=this,o=e.noAbs?e.plurals(t):e.plurals(Math.abs(t)),i=e.numbers[o];this.options.simplifyPluralSuffix&&2===e.numbers.length&&1===e.numbers[0]&&(2===i?i="plural":1===i&&(i=""));var n=function(){return a.options.prepend&&i.toString()?a.options.prepend+i.toString():i.toString()};return"v1"===this.options.compatibilityJSON?1===i?"":"number"==typeof i?"_plural_".concat(i.toString()):n():"v2"===this.options.compatibilityJSON||this.options.simplifyPluralSuffix&&2===e.numbers.length&&1===e.numbers[0]?n():this.options.prepend&&o.toString()?this.options.prepend+o.toString():o.toString()}},{key:"shouldUseIntlApi",value:function(){return!te.includes(this.options.compatibilityJSON)}}]),e})();function ne(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function re(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?ne(Object(a),!0).forEach((function(t){N.default(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):ne(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}var Ee=(function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};A.default(this,e),this.logger=h.create("interpolator"),this.options=t,this.format=t.interpolation&&t.interpolation.format||function(e){return e},this.init(t)}return u.default(e,[{key:"init",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};e.interpolation||(e.interpolation={escapeValue:!0});var t=e.interpolation;this.escape=void 0!==t.escape?t.escape:G,this.escapeValue=void 0===t.escapeValue||t.escapeValue,this.useRawValueToEscape=void 0!==t.useRawValueToEscape&&t.useRawValueToEscape,this.prefix=t.prefix?b(t.prefix):t.prefixEscaped||"{{",this.suffix=t.suffix?b(t.suffix):t.suffixEscaped||"}}",this.formatSeparator=t.formatSeparator?t.formatSeparator:t.formatSeparator||",",this.unescapePrefix=t.unescapeSuffix?"":t.unescapePrefix||"-",this.unescapeSuffix=this.unescapePrefix?"":t.unescapeSuffix||"",this.nestingPrefix=t.nestingPrefix?b(t.nestingPrefix):t.nestingPrefixEscaped||b("$t("),this.nestingSuffix=t.nestingSuffix?b(t.nestingSuffix):t.nestingSuffixEscaped||b(")"),this.nestingOptionsSeparator=t.nestingOptionsSeparator?t.nestingOptionsSeparator:t.nestingOptionsSeparator||",",this.maxReplaces=t.maxReplaces?t.maxReplaces:1e3,this.alwaysFormat=void 0!==t.alwaysFormat&&t.alwaysFormat,this.resetRegExp()}},{key:"reset",value:function(){this.options&&this.init(this.options)}},{key:"resetRegExp",value:function(){var e="".concat(this.prefix,"(.+?)").concat(this.suffix);this.regexp=new RegExp(e,"g");var t="".concat(this.prefix).concat(this.unescapePrefix,"(.+?)").concat(this.unescapeSuffix).concat(this.suffix);this.regexpUnescape=new RegExp(t,"g");var a="".concat(this.nestingPrefix,"(.+?)").concat(this.nestingSuffix);this.nestingRegexp=new RegExp(a,"g")}},{key:"interpolate",value:function(e,t,a,o){var i,n,r,E=this,_=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{};function T(e){return e.replace(/\$/g,"$$$$")}var s=function(e){if(e.indexOf(E.formatSeparator)<0){var i=W(t,_,e);return E.alwaysFormat?E.format(i,void 0,a,re(re(re({},o),t),{},{interpolationkey:e})):i}var n=e.split(E.formatSeparator),r=n.shift().trim(),T=n.join(E.formatSeparator).trim();return E.format(W(t,_,r),T,a,re(re(re({},o),t),{},{interpolationkey:r}))};this.resetRegExp();var S=o&&o.missingInterpolationHandler||this.options.missingInterpolationHandler,l=o&&o.interpolation&&void 0!==o.interpolation.skipOnVariables?o.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:function(e){return T(e)}},{regex:this.regexp,safeValue:function(e){return E.escapeValue?T(E.escape(e)):T(e)}}].forEach((function(t){for(r=0;i=t.regex.exec(e);){var a=i[1].trim();if(void 0===(n=s(a)))if("function"==typeof S){var _=S(e,i,o);n="string"==typeof _?_:""}else if(o&&o.hasOwnProperty(a))n="";else{if(l){n=i[0];continue}E.logger.warn("missed to pass in variable ".concat(a," for interpolating ").concat(e)),n=""}else"string"==typeof n||E.useRawValueToEscape||(n=B(n));var T=t.safeValue(n);if(e=e.replace(i[0],T),l?(t.regex.lastIndex+=n.length,t.regex.lastIndex-=i[0].length):t.regex.lastIndex=0,++r>=E.maxReplaces)break}})),e}},{key:"nest",value:function(e,t){var a,o,i,n=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};function E(e,t){var a=this.nestingOptionsSeparator;if(e.indexOf(a)<0)return e;var o=e.split(new RegExp("".concat(a,"[ ]*{"))),n="{".concat(o[1]);e=o[0];var r=(n=this.interpolate(n,i)).match(/'/g),E=n.match(/"/g);(r&&r.length%2==0&&!E||E.length%2!=0)&&(n=n.replace(/'/g,'"'));try{i=JSON.parse(n),t&&(i=re(re({},t),i))}catch(t){return this.logger.warn("failed parsing options string in nesting for key ".concat(e),t),"".concat(e).concat(a).concat(n)}return delete i.defaultValue,e}for(;a=this.nestingRegexp.exec(e);){var _=[];(i=re({},r)).applyPostProcessor=!1,delete i.defaultValue;var T=!1;if(-1!==a[0].indexOf(this.formatSeparator)&&!/{.*}/.test(a[1])){var s=a[1].split(this.formatSeparator).map((function(e){return e.trim()}));a[1]=s.shift(),_=s,T=!0}if((o=t(E.call(this,a[1].trim(),i),i))&&a[0]===e&&"string"!=typeof o)return o;"string"!=typeof o&&(o=B(o)),o||(this.logger.warn("missed to resolve ".concat(a[1]," for nesting ").concat(e)),o=""),T&&(o=_.reduce((function(e,t){return n.format(e,t,r.lng,re(re({},r),{},{interpolationkey:a[1].trim()}))}),o.trim())),e=e.replace(a[0],o),this.regexp.lastIndex=0}return e}}]),e})();function _e(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function Te(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?_e(Object(a),!0).forEach((function(t){N.default(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):_e(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function se(e){var t={};return function(a,o,i){var n=o+JSON.stringify(i),r=t[n];return r||(r=e(o,i),t[n]=r),r(a)}}var Se=(function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};A.default(this,e),this.logger=h.create("formatter"),this.options=t,this.formats={number:se((function(e,t){var a=new Intl.NumberFormat(e,t);return function(e){return a.format(e)}})),currency:se((function(e,t){var a=new Intl.NumberFormat(e,Te(Te({},t),{},{style:"currency"}));return function(e){return a.format(e)}})),datetime:se((function(e,t){var a=new Intl.DateTimeFormat(e,Te({},t));return function(e){return a.format(e)}})),relativetime:se((function(e,t){var a=new Intl.RelativeTimeFormat(e,Te({},t));return function(e){return a.format(e,t.range||"day")}})),list:se((function(e,t){var a=new Intl.ListFormat(e,Te({},t));return function(e){return a.format(e)}}))},this.init(t)}return u.default(e,[{key:"init",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{interpolation:{}},a=t.interpolation;this.formatSeparator=a.formatSeparator?a.formatSeparator:a.formatSeparator||","}},{key:"add",value:function(e,t){this.formats[e.toLowerCase().trim()]=t}},{key:"addCached",value:function(e,t){this.formats[e.toLowerCase().trim()]=se(t)}},{key:"format",value:function(e,t,a,o){var i=this;return t.split(this.formatSeparator).reduce((function(e,t){var n=(function(e){var t=e.toLowerCase().trim(),a={};if(e.indexOf("(")>-1){var o=e.split("(");t=o[0].toLowerCase().trim();var i=o[1].substring(0,o[1].length-1);"currency"===t&&i.indexOf(":")<0?a.currency||(a.currency=i.trim()):"relativetime"===t&&i.indexOf(":")<0?a.range||(a.range=i.trim()):i.split(";").forEach((function(e){if(e){var t=e.split(":"),o=m.default(t),i=o[0],n=o.slice(1).join(":").trim().replace(/^'+|'+$/g,"");a[i.trim()]||(a[i.trim()]=n),"false"===n&&(a[i.trim()]=!1),"true"===n&&(a[i.trim()]=!0),isNaN(n)||(a[i.trim()]=parseInt(n,10))}}))}return{formatName:t,formatOptions:a}})(t),r=n.formatName,E=n.formatOptions;if(i.formats[r]){var _=e;try{var T=o&&o.formatParams&&o.formatParams[o.interpolationkey]||{},s=T.locale||T.lng||o.locale||o.lng||a;_=i.formats[r](e,s,Te(Te(Te({},E),o),T))}catch(e){i.logger.warn(e)}return _}return i.logger.warn("there was no format function for ".concat(r)),e}),e)}}]),e})();function le(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function Ie(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?le(Object(a),!0).forEach((function(t){N.default(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):le(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function Ae(e){var t=(function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}})();return function(){var a,o=R.default(e);if(t){var i=R.default(this).constructor;a=Reflect.construct(o,arguments,i)}else a=o.apply(this,arguments);return O.default(this,a)}}var ue=(function(e){c.default(a,e);var t=Ae(a);function a(e,o,i){var n,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return A.default(this,a),n=t.call(this),k&&C.call(d.default(n)),n.backend=e,n.store=o,n.services=i,n.languageUtils=i.languageUtils,n.options=r,n.logger=h.create("backendConnector"),n.waitingReads=[],n.maxParallelReads=r.maxParallelReads||10,n.readingCalls=0,n.maxRetries=r.maxRetries>=0?r.maxRetries:5,n.retryTimeout=r.retryTimeout>=1?r.retryTimeout:350,n.state={},n.queue=[],n.backend&&n.backend.init&&n.backend.init(i,r.backend,r),n}return u.default(a,[{key:"queueLoad",value:function(e,t,a,o){var i=this,n={},r={},E={},_={};return e.forEach((function(e){var o=!0;t.forEach((function(t){var E="".concat(e,"|").concat(t);!a.reload&&i.store.hasResourceBundle(e,t)?i.state[E]=2:i.state[E]<0||(1===i.state[E]?void 0===r[E]&&(r[E]=!0):(i.state[E]=1,o=!1,void 0===r[E]&&(r[E]=!0),void 0===n[E]&&(n[E]=!0),void 0===_[t]&&(_[t]=!0)))})),o||(E[e]=!0)})),(Object.keys(n).length||Object.keys(r).length)&&this.queue.push({pending:r,pendingCount:Object.keys(r).length,loaded:{},errors:[],callback:o}),{toLoad:Object.keys(n),pending:Object.keys(r),toLoadLanguages:Object.keys(E),toLoadNamespaces:Object.keys(_)}}},{key:"loaded",value:function(e,t,a){var o=e.split("|"),i=o[0],n=o[1];t&&this.emit("failedLoading",i,n,t),a&&this.store.addResourceBundle(i,n,a),this.state[e]=t?-1:2;var r={};this.queue.forEach((function(a){var o,E,_,T,s,S;o=a.loaded,E=n,T=g(o,[i],Object),s=T.obj,S=T.k,s[S]=s[S]||[],_&&(s[S]=s[S].concat(E)),_||s[S].push(E),(function(e,t){void 0!==e.pending[t]&&(delete e.pending[t],e.pendingCount--)})(a,e),t&&a.errors.push(t),0!==a.pendingCount||a.done||(Object.keys(a.loaded).forEach((function(e){r[e]||(r[e]={});var t=a.loaded[e];t.length&&t.forEach((function(t){void 0===r[e][t]&&(r[e][t]=!0)}))})),a.done=!0,a.errors.length?a.callback(a.errors):a.callback())})),this.emit("loaded",r),this.queue=this.queue.filter((function(e){return!e.done}))}},{key:"read",value:function(e,t,a){var o=this,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:this.retryTimeout,r=arguments.length>5?arguments[5]:void 0;if(!e.length)return r(null,{});if(this.readingCalls>=this.maxParallelReads)this.waitingReads.push({lng:e,ns:t,fcName:a,tried:i,wait:n,callback:r});else{this.readingCalls++;var E=function(E,_){if(o.readingCalls--,o.waitingReads.length>0){var T=o.waitingReads.shift();o.read(T.lng,T.ns,T.fcName,T.tried,T.wait,T.callback)}E&&_&&i<o.maxRetries?setTimeout((function(){o.read.call(o,e,t,a,i+1,2*n,r)}),n):r(E,_)},_=this.backend[a].bind(this.backend);if(2!==_.length)return _(e,t,E);try{var T=_(e,t);T&&"function"==typeof T.then?T.then((function(e){return E(null,e)})).catch(E):E(null,T)}catch(e){E(e)}}}},{key:"prepareLoading",value:function(e,t){var a=this,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),i&&i();"string"==typeof e&&(e=this.languageUtils.toResolveHierarchy(e)),"string"==typeof t&&(t=[t]);var n=this.queueLoad(e,t,o,i);if(!n.toLoad.length)return n.pending.length||i(),null;n.toLoad.forEach((function(e){a.loadOne(e)}))}},{key:"load",value:function(e,t,a){this.prepareLoading(e,t,{},a)}},{key:"reload",value:function(e,t,a){this.prepareLoading(e,t,{reload:!0},a)}},{key:"loadOne",value:function(e){var t=this,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",o=e.split("|"),i=o[0],n=o[1];this.read(i,n,"read",void 0,void 0,(function(o,r){o&&t.logger.warn("".concat(a,"loading namespace ").concat(n," for language ").concat(i," failed"),o),!o&&r&&t.logger.log("".concat(a,"loaded namespace ").concat(n," for language ").concat(i),r),t.loaded(e,o,r)}))}},{key:"saveMissing",value:function(e,t,a,o,i){var n=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},r=arguments.length>6&&void 0!==arguments[6]?arguments[6]:function(){};if(this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(t))this.logger.warn('did not save key "'.concat(a,'" as the namespace "').concat(t,'" was not yet loaded'),"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");else if(null!=a&&""!==a){if(this.backend&&this.backend.create){var E=Ie(Ie({},n),{},{isUpdate:i}),_=this.backend.create.bind(this.backend);if(_.length<6)try{var T;(T=5===_.length?_(e,t,a,o,E):_(e,t,a,o))&&"function"==typeof T.then?T.then((function(e){return r(null,e)})).catch(r):r(null,T)}catch(e){r(e)}else _(e,t,a,o,r,E)}e&&e[0]&&this.store.addResource(e[0],t,a,o)}}}]),a})(C);function de(){return{debug:!1,initImmediate:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!0,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:function(e){var t={};if("object"===I.default(e[1])&&(t=e[1]),"string"==typeof e[1]&&(t.defaultValue=e[1]),"string"==typeof e[2]&&(t.tDescription=e[2]),"object"===I.default(e[2])||"object"===I.default(e[3])){var a=e[3]||e[2];Object.keys(a).forEach((function(e){t[e]=a[e]}))}return t},interpolation:{escapeValue:!0,format:function(e,t,a,o){return e},prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}}function ce(e){return"string"==typeof e.ns&&(e.ns=[e.ns]),"string"==typeof e.fallbackLng&&(e.fallbackLng=[e.fallbackLng]),"string"==typeof e.fallbackNS&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs&&e.supportedLngs.indexOf("cimode")<0&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),e}function Oe(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function Re(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?Oe(Object(a),!0).forEach((function(t){N.default(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):Oe(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function Ne(e){var t=(function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}})();return function(){var a,o=R.default(e);if(t){var i=R.default(this).constructor;a=Reflect.construct(o,arguments,i)}else a=o.apply(this,arguments);return O.default(this,a)}}function me(){}function Le(e){Object.getOwnPropertyNames(Object.getPrototypeOf(e)).forEach((function(t){"function"==typeof e[t]&&(e[t]=e[t].bind(e))}))}var De=(function(e){c.default(a,e);var t=Ne(a);function a(){var e,o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=arguments.length>1?arguments[1]:void 0;if(A.default(this,a),e=t.call(this),k&&C.call(d.default(e)),e.options=ce(o),e.services={},e.logger=h,e.modules={external:[]},Le(d.default(e)),i&&!e.isInitialized&&!o.isClone){if(!e.options.initImmediate)return e.init(o,i),O.default(e,d.default(e));setTimeout((function(){e.init(o,i)}),0)}return e}return u.default(a,[{key:"init",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=arguments.length>1?arguments[1]:void 0;"function"==typeof t&&(a=t,t={}),!t.defaultNS&&!1!==t.defaultNS&&t.ns&&("string"==typeof t.ns?t.defaultNS=t.ns:t.ns.indexOf("translation")<0&&(t.defaultNS=t.ns[0]));var o=de();function i(e){return e?"function"==typeof e?new e:e:null}if(this.options=Re(Re(Re({},o),this.options),ce(t)),"v1"!==this.options.compatibilityAPI&&(this.options.interpolation=Re(Re({},o.interpolation),this.options.interpolation)),void 0!==t.keySeparator&&(this.options.userDefinedKeySeparator=t.keySeparator),void 0!==t.nsSeparator&&(this.options.userDefinedNsSeparator=t.nsSeparator),!this.options.isClone){var n;this.modules.logger?h.init(i(this.modules.logger),this.options):h.init(null,this.options),this.modules.formatter?n=this.modules.formatter:"undefined"!=typeof Intl&&(n=Se);var r=new J(this.options);this.store=new z(this.options.resources,this.options);var E=this.services;E.logger=h,E.resourceStore=this.store,E.languageUtils=r,E.pluralResolver=new ie(r,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),!n||this.options.interpolation.format&&this.options.interpolation.format!==o.interpolation.format||(E.formatter=i(n),E.formatter.init(E,this.options),this.options.interpolation.format=E.formatter.format.bind(E.formatter)),E.interpolator=new Ee(this.options),E.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},E.backendConnector=new ue(i(this.modules.backend),E.resourceStore,E,this.options),E.backendConnector.on("*",(function(t){for(var a=arguments.length,o=new Array(a>1?a-1:0),i=1;i<a;i++)o[i-1]=arguments[i];e.emit.apply(e,[t].concat(o))})),this.modules.languageDetector&&(E.languageDetector=i(this.modules.languageDetector),E.languageDetector.init&&E.languageDetector.init(E,this.options.detection,this.options)),this.modules.i18nFormat&&(E.i18nFormat=i(this.modules.i18nFormat),E.i18nFormat.init&&E.i18nFormat.init(this)),this.translator=new $(this.services,this.options),this.translator.on("*",(function(t){for(var a=arguments.length,o=new Array(a>1?a-1:0),i=1;i<a;i++)o[i-1]=arguments[i];e.emit.apply(e,[t].concat(o))})),this.modules.external.forEach((function(t){t.init&&t.init(e)}))}if(this.format=this.options.interpolation.format,a||(a=me),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){var _=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);_.length>0&&"dev"!==_[0]&&(this.options.lng=_[0])}this.services.languageDetector||this.options.lng||this.logger.warn("init: no languageDetector is used and no lng is defined");var T=["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"];T.forEach((function(t){e[t]=function(){var a;return(a=e.store)[t].apply(a,arguments)}}));var s=["addResource","addResources","addResourceBundle","removeResourceBundle"];s.forEach((function(t){e[t]=function(){var a;return(a=e.store)[t].apply(a,arguments),e}}));var S=f(),l=function(){var t=function(t,o){e.isInitialized&&!e.initializedStoreOnce&&e.logger.warn("init: i18next is already initialized. You should call init just once!"),e.isInitialized=!0,e.options.isClone||e.logger.log("initialized",e.options),e.emit("initialized",e.options),S.resolve(o),a(t,o)};if(e.languages&&"v1"!==e.options.compatibilityAPI&&!e.isInitialized)return t(null,e.t.bind(e));e.changeLanguage(e.options.lng,t)};return this.options.resources||!this.options.initImmediate?l():setTimeout(l,0),S}},{key:"loadResources",value:function(e){var t=this,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:me,o=a,i="string"==typeof e?e:this.language;if("function"==typeof e&&(o=e),!this.options.resources||this.options.partialBundledLanguages){if(i&&"cimode"===i.toLowerCase())return o();var n=[],r=function(e){e&&t.services.languageUtils.toResolveHierarchy(e).forEach((function(e){n.indexOf(e)<0&&n.push(e)}))};if(i)r(i);else{var E=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);E.forEach((function(e){return r(e)}))}this.options.preload&&this.options.preload.forEach((function(e){return r(e)})),this.services.backendConnector.load(n,this.options.ns,(function(e){e||t.resolvedLanguage||!t.language||t.setResolvedLanguage(t.language),o(e)}))}else o(null)}},{key:"reloadResources",value:function(e,t,a){var o=f();return e||(e=this.languages),t||(t=this.options.ns),a||(a=me),this.services.backendConnector.reload(e,t,(function(e){o.resolve(),a(e)})),o}},{key:"use",value:function(e){if(!e)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!e.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return"backend"===e.type&&(this.modules.backend=e),("logger"===e.type||e.log&&e.warn&&e.error)&&(this.modules.logger=e),"languageDetector"===e.type&&(this.modules.languageDetector=e),"i18nFormat"===e.type&&(this.modules.i18nFormat=e),"postProcessor"===e.type&&K.addPostProcessor(e),"formatter"===e.type&&(this.modules.formatter=e),"3rdParty"===e.type&&this.modules.external.push(e),this}},{key:"setResolvedLanguage",value:function(e){if(e&&this.languages&&!(["cimode","dev"].indexOf(e)>-1))for(var t=0;t<this.languages.length;t++){var a=this.languages[t];if(!(["cimode","dev"].indexOf(a)>-1)&&this.store.hasLanguageSomeTranslations(a)){this.resolvedLanguage=a;break}}}},{key:"changeLanguage",value:function(e,t){var a=this;this.isLanguageChangingTo=e;var o=f();this.emit("languageChanging",e);var i=function(e){a.language=e,a.languages=a.services.languageUtils.toResolveHierarchy(e),a.resolvedLanguage=void 0,a.setResolvedLanguage(e)},n=function(n){e||n||!a.services.languageDetector||(n=[]);var r="string"==typeof n?n:a.services.languageUtils.getBestMatchFromCodes(n);r&&(a.language||i(r),a.translator.language||a.translator.changeLanguage(r),a.services.languageDetector&&a.services.languageDetector.cacheUserLanguage&&a.services.languageDetector.cacheUserLanguage(r)),a.loadResources(r,(function(e){!(function(e,n){n?(i(n),a.translator.changeLanguage(n),a.isLanguageChangingTo=void 0,a.emit("languageChanged",n),a.logger.log("languageChanged",n)):a.isLanguageChangingTo=void 0,o.resolve((function(){return a.t.apply(a,arguments)})),t&&t(e,(function(){return a.t.apply(a,arguments)}))})(e,r)}))};return e||!this.services.languageDetector||this.services.languageDetector.async?!e&&this.services.languageDetector&&this.services.languageDetector.async?0===this.services.languageDetector.detect.length?this.services.languageDetector.detect().then(n):this.services.languageDetector.detect(n):n(e):n(this.services.languageDetector.detect()),o}},{key:"getFixedT",value:function(e,t,a){var o=this,i=function e(t,i){var n;if("object"!==I.default(i)){for(var r=arguments.length,E=new Array(r>2?r-2:0),_=2;_<r;_++)E[_-2]=arguments[_];n=o.options.overloadTranslationOptionHandler([t,i].concat(E))}else n=Re({},i);n.lng=n.lng||e.lng,n.lngs=n.lngs||e.lngs,n.ns=n.ns||e.ns,n.keyPrefix=n.keyPrefix||a||e.keyPrefix;var T=o.options.keySeparator||".",s=n.keyPrefix?"".concat(n.keyPrefix).concat(T).concat(t):t;return o.t(s,n)};return"string"==typeof e?i.lng=e:i.lngs=e,i.ns=t,i.keyPrefix=a,i}},{key:"t",value:function(){var e;return this.translator&&(e=this.translator).translate.apply(e,arguments)}},{key:"exists",value:function(){var e;return this.translator&&(e=this.translator).exists.apply(e,arguments)}},{key:"setDefaultNamespace",value:function(e){this.options.defaultNS=e}},{key:"hasLoadedNamespace",value:function(e){var t=this,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;var o=this.resolvedLanguage||this.languages[0],i=!!this.options&&this.options.fallbackLng,n=this.languages[this.languages.length-1];if("cimode"===o.toLowerCase())return!0;var r=function(e,a){var o=t.services.backendConnector.state["".concat(e,"|").concat(a)];return-1===o||2===o};if(a.precheck){var E=a.precheck(this,r);if(void 0!==E)return E}return!!this.hasResourceBundle(o,e)||(!(this.services.backendConnector.backend&&(!this.options.resources||this.options.partialBundledLanguages))||!(!r(o,e)||i&&!r(n,e)))}},{key:"loadNamespaces",value:function(e,t){var a=this,o=f();return this.options.ns?("string"==typeof e&&(e=[e]),e.forEach((function(e){a.options.ns.indexOf(e)<0&&a.options.ns.push(e)})),this.loadResources((function(e){o.resolve(),t&&t(e)})),o):(t&&t(),Promise.resolve())}},{key:"loadLanguages",value:function(e,t){var a=f();"string"==typeof e&&(e=[e]);var o=this.options.preload||[],i=e.filter((function(e){return o.indexOf(e)<0}));return i.length?(this.options.preload=o.concat(i),this.loadResources((function(e){a.resolve(),t&&t(e)})),a):(t&&t(),Promise.resolve())}},{key:"dir",value:function(e){if(e||(e=this.resolvedLanguage||(this.languages&&this.languages.length>0?this.languages[0]:this.language)),!e)return"rtl";var t=this.services&&this.services.languageUtils||new J(de());return["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"].indexOf(t.getLanguagePartFromCode(e))>-1||e.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}},{key:"cloneInstance",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:me,i=Re(Re(Re({},this.options),t),{isClone:!0}),n=new a(i);void 0===t.debug&&void 0===t.prefix||(n.logger=n.logger.clone(t));var r=["store","services","language"];return r.forEach((function(t){n[t]=e[t]})),n.services=Re({},this.services),n.services.utils={hasLoadedNamespace:n.hasLoadedNamespace.bind(n)},n.translator=new $(n.services,n.options),n.translator.on("*",(function(e){for(var t=arguments.length,a=new Array(t>1?t-1:0),o=1;o<t;o++)a[o-1]=arguments[o];n.emit.apply(n,[e].concat(a))})),n.init(i,o),n.translator.options=n.options,n.translator.backendConnector.services.utils={hasLoadedNamespace:n.hasLoadedNamespace.bind(n)},n}},{key:"toJSON",value:function(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}]),a})(C);N.default(De,"createInstance",(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;return new De(e,t)}));var pe=De.createInstance();pe.createInstance=De.createInstance,e.exports=pe},80645:(e,t)=>{t.read=function(e,t,a,o,i){var n,r,E=8*i-o-1,_=(1<<E)-1,T=_>>1,s=-7,S=a?i-1:0,l=a?-1:1,I=e[t+S];for(S+=l,n=I&(1<<-s)-1,I>>=-s,s+=E;s>0;n=256*n+e[t+S],S+=l,s-=8);for(r=n&(1<<-s)-1,n>>=-s,s+=o;s>0;r=256*r+e[t+S],S+=l,s-=8);if(0===n)n=1-T;else{if(n===_)return r?NaN:1/0*(I?-1:1);r+=Math.pow(2,o),n-=T}return(I?-1:1)*r*Math.pow(2,n-o)},t.write=function(e,t,a,o,i,n){var r,E,_,T=8*n-i-1,s=(1<<T)-1,S=s>>1,l=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,I=o?0:n-1,A=o?1:-1,u=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(E=isNaN(t)?1:0,r=s):(r=Math.floor(Math.log(t)/Math.LN2),t*(_=Math.pow(2,-r))<1&&(r--,_*=2),(t+=r+S>=1?l/_:l*Math.pow(2,1-S))*_>=2&&(r++,_/=2),r+S>=s?(E=0,r=s):r+S>=1?(E=(t*_-1)*Math.pow(2,i),r+=S):(E=t*Math.pow(2,S-1)*Math.pow(2,i),r=0));i>=8;e[a+I]=255&E,I+=A,E/=256,i-=8);for(r=r<<i|E,T+=i;T>0;e[a+I]=255&r,I+=A,r/=256,T-=8);e[a+I-A]|=128*u}},85457:e=>{e.exports=[{name:"Abkhaz",local:"Аҧсуа",1:"ab",2:"abk","2T":"abk","2B":"abk",3:"abk"},{name:"Afar",local:"Afaraf",1:"aa",2:"aar","2T":"aar","2B":"aar",3:"aar"},{name:"Afrikaans",local:"Afrikaans",1:"af",2:"afr","2T":"afr","2B":"afr",3:"afr"},{name:"Akan",local:"Akan",1:"ak",2:"aka","2T":"aka","2B":"aka",3:"aka"},{name:"Albanian",local:"Shqip",1:"sq",2:"sqi","2T":"sqi","2B":"alb",3:"sqi"},{name:"Amharic",local:"አማርኛ",1:"am",2:"amh","2T":"amh","2B":"amh",3:"amh"},{name:"Arabic",local:"العربية",1:"ar",2:"ara","2T":"ara","2B":"ara",3:"ara"},{name:"Aragonese",local:"Aragonés",1:"an",2:"arg","2T":"arg","2B":"arg",3:"arg"},{name:"Armenian",local:"Հայերեն",1:"hy",2:"hye","2T":"hye","2B":"arm",3:"hye"},{name:"Assamese",local:"অসমীয়া",1:"as",2:"asm","2T":"asm","2B":"asm",3:"asm"},{name:"Avaric",local:"Авар",1:"av",2:"ava","2T":"ava","2B":"ava",3:"ava"},{name:"Avestan",local:"avesta",1:"ae",2:"ave","2T":"ave","2B":"ave",3:"ave"},{name:"Aymara",local:"Aymar",1:"ay",2:"aym","2T":"aym","2B":"aym",3:"aym"},{name:"Azerbaijani",local:"Azərbaycanca",1:"az",2:"aze","2T":"aze","2B":"aze",3:"aze"},{name:"Bambara",local:"Bamanankan",1:"bm",2:"bam","2T":"bam","2B":"bam",3:"bam"},{name:"Bashkir",local:"Башҡортса",1:"ba",2:"bak","2T":"bak","2B":"bak",3:"bak"},{name:"Basque",local:"Euskara",1:"eu",2:"eus","2T":"eus","2B":"baq",3:"eus"},{name:"Belarusian",local:"Беларуская",1:"be",2:"bel","2T":"bel","2B":"bel",3:"bel"},{name:"Bengali",local:"বাংলা",1:"bn",2:"ben","2T":"ben","2B":"ben",3:"ben"},{name:"Bihari",local:"भोजपुरी",1:"bh",2:"bih","2T":"bih","2B":"bih",3:"bih"},{name:"Bislama",local:"Bislama",1:"bi",2:"bis","2T":"bis","2B":"bis",3:"bis"},{name:"Bosnian",local:"Bosanski",1:"bs",2:"bos","2T":"bos","2B":"bos",3:"bos"},{name:"Breton",local:"Brezhoneg",1:"br",2:"bre","2T":"bre","2B":"bre",3:"bre"},{name:"Bulgarian",local:"Български",1:"bg",2:"bul","2T":"bul","2B":"bul",3:"bul"},{name:"Burmese",local:"မြန်မာဘာသာ",1:"my",2:"mya","2T":"mya","2B":"bur",3:"mya"},{name:"Catalan",local:"Català",1:"ca",2:"cat","2T":"cat","2B":"cat",3:"cat"},{name:"Chamorro",local:"Chamoru",1:"ch",2:"cha","2T":"cha","2B":"cha",3:"cha"},{name:"Chechen",local:"Нохчийн",1:"ce",2:"che","2T":"che","2B":"che",3:"che"},{name:"Chichewa",local:"Chichewa",1:"ny",2:"nya","2T":"nya","2B":"nya",3:"nya"},{name:"Chinese",local:"中文",1:"zh",2:"zho","2T":"zho","2B":"chi",3:"zho"},{name:"Chuvash",local:"Чӑвашла",1:"cv",2:"chv","2T":"chv","2B":"chv",3:"chv"},{name:"Cornish",local:"Kernewek",1:"kw",2:"cor","2T":"cor","2B":"cor",3:"cor"},{name:"Corsican",local:"Corsu",1:"co",2:"cos","2T":"cos","2B":"cos",3:"cos"},{name:"Cree",local:"ᓀᐦᐃᔭᐍᐏᐣ",1:"cr",2:"cre","2T":"cre","2B":"cre",3:"cre"},{name:"Croatian",local:"Hrvatski",1:"hr",2:"hrv","2T":"hrv","2B":"hrv",3:"hrv"},{name:"Czech",local:"Čeština",1:"cs",2:"ces","2T":"ces","2B":"cze",3:"ces"},{name:"Danish",local:"Dansk",1:"da",2:"dan","2T":"dan","2B":"dan",3:"dan"},{name:"Divehi",local:"Divehi",1:"dv",2:"div","2T":"div","2B":"div",3:"div"},{name:"Dutch",local:"Nederlands",1:"nl",2:"nld","2T":"nld","2B":"dut",3:"nld"},{name:"Dzongkha",local:"རྫོང་ཁ",1:"dz",2:"dzo","2T":"dzo","2B":"dzo",3:"dzo"},{name:"English",local:"English",1:"en",2:"eng","2T":"eng","2B":"eng",3:"eng"},{name:"Esperanto",local:"Esperanto",1:"eo",2:"epo","2T":"epo","2B":"epo",3:"epo"},{name:"Estonian",local:"Eesti",1:"et",2:"est","2T":"est","2B":"est",3:"est"},{name:"Ewe",local:"Eʋegbe",1:"ee",2:"ewe","2T":"ewe","2B":"ewe",3:"ewe"},{name:"Faroese",local:"Føroyskt",1:"fo",2:"fao","2T":"fao","2B":"fao",3:"fao"},{name:"Fijian",local:"Na Vosa Vaka-Viti",1:"fj",2:"fij","2T":"fij","2B":"fij",3:"fij"},{name:"Finnish",local:"Suomi",1:"fi",2:"fin","2T":"fin","2B":"fin",3:"fin"},{name:"French",local:"Français",1:"fr",2:"fra","2T":"fra","2B":"fre",3:"fra"},{name:"Fula",local:"Fulfulde",1:"ff",2:"ful","2T":"ful","2B":"ful",3:"ful"},{name:"Galician",local:"Galego",1:"gl",2:"glg","2T":"glg","2B":"glg",3:"glg"},{name:"Georgian",local:"ქართული",1:"ka",2:"kat","2T":"kat","2B":"geo",3:"kat"},{name:"German",local:"Deutsch",1:"de",2:"deu","2T":"deu","2B":"ger",3:"deu"},{name:"Greek",local:"Ελληνικά",1:"el",2:"ell","2T":"ell","2B":"gre",3:"ell"},{name:"Guaraní",local:"Avañe'ẽ",1:"gn",2:"grn","2T":"grn","2B":"grn",3:"grn"},{name:"Gujarati",local:"ગુજરાતી",1:"gu",2:"guj","2T":"guj","2B":"guj",3:"guj"},{name:"Haitian",local:"Kreyòl Ayisyen",1:"ht",2:"hat","2T":"hat","2B":"hat",3:"hat"},{name:"Hausa",local:"هَوُسَ",1:"ha",2:"hau","2T":"hau","2B":"hau",3:"hau"},{name:"Hebrew",local:"עברית",1:"he",2:"heb","2T":"heb","2B":"heb",3:"heb"},{name:"Herero",local:"Otjiherero",1:"hz",2:"her","2T":"her","2B":"her",3:"her"},{name:"Hindi",local:"हिन्दी",1:"hi",2:"hin","2T":"hin","2B":"hin",3:"hin"},{name:"Hiri Motu",local:"Hiri Motu",1:"ho",2:"hmo","2T":"hmo","2B":"hmo",3:"hmo"},{name:"Hungarian",local:"Magyar",1:"hu",2:"hun","2T":"hun","2B":"hun",3:"hun"},{name:"Interlingua",local:"Interlingua",1:"ia",2:"ina","2T":"ina","2B":"ina",3:"ina"},{name:"Indonesian",local:"Bahasa Indonesia",1:"id",2:"ind","2T":"ind","2B":"ind",3:"ind"},{name:"Interlingue",local:"Interlingue",1:"ie",2:"ile","2T":"ile","2B":"ile",3:"ile"},{name:"Irish",local:"Gaeilge",1:"ga",2:"gle","2T":"gle","2B":"gle",3:"gle"},{name:"Igbo",local:"Igbo",1:"ig",2:"ibo","2T":"ibo","2B":"ibo",3:"ibo"},{name:"Inupiaq",local:"Iñupiak",1:"ik",2:"ipk","2T":"ipk","2B":"ipk",3:"ipk"},{name:"Ido",local:"Ido",1:"io",2:"ido","2T":"ido","2B":"ido",3:"ido"},{name:"Icelandic",local:"Íslenska",1:"is",2:"isl","2T":"isl","2B":"ice",3:"isl"},{name:"Italian",local:"Italiano",1:"it",2:"ita","2T":"ita","2B":"ita",3:"ita"},{name:"Inuktitut",local:"ᐃᓄᒃᑎᑐᑦ",1:"iu",2:"iku","2T":"iku","2B":"iku",3:"iku"},{name:"Japanese",local:"日本語",1:"ja",2:"jpn","2T":"jpn","2B":"jpn",3:"jpn"},{name:"Javanese",local:"Basa Jawa",1:"jv",2:"jav","2T":"jav","2B":"jav",3:"jav"},{name:"Kalaallisut",local:"Kalaallisut",1:"kl",2:"kal","2T":"kal","2B":"kal",3:"kal"},{name:"Kannada",local:"ಕನ್ನಡ",1:"kn",2:"kan","2T":"kan","2B":"kan",3:"kan"},{name:"Kanuri",local:"Kanuri",1:"kr",2:"kau","2T":"kau","2B":"kau",3:"kau"},{name:"Kashmiri",local:"كشميري",1:"ks",2:"kas","2T":"kas","2B":"kas",3:"kas"},{name:"Kazakh",local:"Қазақша",1:"kk",2:"kaz","2T":"kaz","2B":"kaz",3:"kaz"},{name:"Khmer",local:"ភាសាខ្មែរ",1:"km",2:"khm","2T":"khm","2B":"khm",3:"khm"},{name:"Kikuyu",local:"Gĩkũyũ",1:"ki",2:"kik","2T":"kik","2B":"kik",3:"kik"},{name:"Kinyarwanda",local:"Kinyarwanda",1:"rw",2:"kin","2T":"kin","2B":"kin",3:"kin"},{name:"Kyrgyz",local:"Кыргызча",1:"ky",2:"kir","2T":"kir","2B":"kir",3:"kir"},{name:"Komi",local:"Коми",1:"kv",2:"kom","2T":"kom","2B":"kom",3:"kom"},{name:"Kongo",local:"Kongo",1:"kg",2:"kon","2T":"kon","2B":"kon",3:"kon"},{name:"Korean",local:"한국어",1:"ko",2:"kor","2T":"kor","2B":"kor",3:"kor"},{name:"Kurdish",local:"Kurdî",1:"ku",2:"kur","2T":"kur","2B":"kur",3:"kur"},{name:"Kwanyama",local:"Kuanyama",1:"kj",2:"kua","2T":"kua","2B":"kua",3:"kua"},{name:"Latin",local:"Latina",1:"la",2:"lat","2T":"lat","2B":"lat",3:"lat"},{name:"Luxembourgish",local:"Lëtzebuergesch",1:"lb",2:"ltz","2T":"ltz","2B":"ltz",3:"ltz"},{name:"Ganda",local:"Luganda",1:"lg",2:"lug","2T":"lug","2B":"lug",3:"lug"},{name:"Limburgish",local:"Limburgs",1:"li",2:"lim","2T":"lim","2B":"lim",3:"lim"},{name:"Lingala",local:"Lingála",1:"ln",2:"lin","2T":"lin","2B":"lin",3:"lin"},{name:"Lao",local:"ພາສາລາວ",1:"lo",2:"lao","2T":"lao","2B":"lao",3:"lao"},{name:"Lithuanian",local:"Lietuvių",1:"lt",2:"lit","2T":"lit","2B":"lit",3:"lit"},{name:"Luba-Katanga",local:"Tshiluba",1:"lu",2:"lub","2T":"lub","2B":"lub",3:"lub"},{name:"Latvian",local:"Latviešu",1:"lv",2:"lav","2T":"lav","2B":"lav",3:"lav"},{name:"Manx",local:"Gaelg",1:"gv",2:"glv","2T":"glv","2B":"glv",3:"glv"},{name:"Macedonian",local:"Македонски",1:"mk",2:"mkd","2T":"mkd","2B":"mac",3:"mkd"},{name:"Malagasy",local:"Malagasy",1:"mg",2:"mlg","2T":"mlg","2B":"mlg",3:"mlg"},{name:"Malay",local:"Bahasa Melayu",1:"ms",2:"msa","2T":"msa","2B":"may",3:"msa"},{name:"Malayalam",local:"മലയാളം",1:"ml",2:"mal","2T":"mal","2B":"mal",3:"mal"},{name:"Maltese",local:"Malti",1:"mt",2:"mlt","2T":"mlt","2B":"mlt",3:"mlt"},{name:"Māori",local:"Māori",1:"mi",2:"mri","2T":"mri","2B":"mao",3:"mri"},{name:"Marathi",local:"मराठी",1:"mr",2:"mar","2T":"mar","2B":"mar",3:"mar"},{name:"Marshallese",local:"Kajin M̧ajeļ",1:"mh",2:"mah","2T":"mah","2B":"mah",3:"mah"},{name:"Mongolian",local:"Монгол",1:"mn",2:"mon","2T":"mon","2B":"mon",3:"mon"},{name:"Nauru",local:"Dorerin Naoero",1:"na",2:"nau","2T":"nau","2B":"nau",3:"nau"},{name:"Navajo",local:"Diné Bizaad",1:"nv",2:"nav","2T":"nav","2B":"nav",3:"nav"},{name:"Northern Ndebele",local:"isiNdebele",1:"nd",2:"nde","2T":"nde","2B":"nde",3:"nde"},{name:"Nepali",local:"नेपाली",1:"ne",2:"nep","2T":"nep","2B":"nep",3:"nep"},{name:"Ndonga",local:"Owambo",1:"ng",2:"ndo","2T":"ndo","2B":"ndo",3:"ndo"},{name:"Norwegian Bokmål",local:"Norsk (Bokmål)",1:"nb",2:"nob","2T":"nob","2B":"nob",3:"nob"},{name:"Norwegian Nynorsk",local:"Norsk (Nynorsk)",1:"nn",2:"nno","2T":"nno","2B":"nno",3:"nno"},{name:"Norwegian",local:"Norsk",1:"no",2:"nor","2T":"nor","2B":"nor",3:"nor"},{name:"Nuosu",local:"ꆈꌠ꒿ Nuosuhxop",1:"ii",2:"iii","2T":"iii","2B":"iii",3:"iii"},{name:"Southern Ndebele",local:"isiNdebele",1:"nr",2:"nbl","2T":"nbl","2B":"nbl",3:"nbl"},{name:"Occitan",local:"Occitan",1:"oc",2:"oci","2T":"oci","2B":"oci",3:"oci"},{name:"Ojibwe",local:"ᐊᓂᔑᓈᐯᒧᐎᓐ",1:"oj",2:"oji","2T":"oji","2B":"oji",3:"oji"},{name:"Old Church Slavonic",local:"Словѣ́ньскъ",1:"cu",2:"chu","2T":"chu","2B":"chu",3:"chu"},{name:"Oromo",local:"Afaan Oromoo",1:"om",2:"orm","2T":"orm","2B":"orm",3:"orm"},{name:"Oriya",local:"ଓଡି଼ଆ",1:"or",2:"ori","2T":"ori","2B":"ori",3:"ori"},{name:"Ossetian",local:"Ирон æвзаг",1:"os",2:"oss","2T":"oss","2B":"oss",3:"oss"},{name:"Panjabi",local:"ਪੰਜਾਬੀ",1:"pa",2:"pan","2T":"pan","2B":"pan",3:"pan"},{name:"Pāli",local:"पाऴि",1:"pi",2:"pli","2T":"pli","2B":"pli",3:"pli"},{name:"Persian",local:"فارسی",1:"fa",2:"fas","2T":"fas","2B":"per",3:"fas"},{name:"Polish",local:"Polski",1:"pl",2:"pol","2T":"pol","2B":"pol",3:"pol"},{name:"Pashto",local:"پښتو",1:"ps",2:"pus","2T":"pus","2B":"pus",3:"pus"},{name:"Portuguese",local:"Português",1:"pt",2:"por","2T":"por","2B":"por",3:"por"},{name:"Quechua",local:"Runa Simi",1:"qu",2:"que","2T":"que","2B":"que",3:"que"},{name:"Romansh",local:"Rumantsch",1:"rm",2:"roh","2T":"roh","2B":"roh",3:"roh"},{name:"Kirundi",local:"Kirundi",1:"rn",2:"run","2T":"run","2B":"run",3:"run"},{name:"Romanian",local:"Română",1:"ro",2:"ron","2T":"ron","2B":"rum",3:"ron"},{name:"Russian",local:"Русский",1:"ru",2:"rus","2T":"rus","2B":"rus",3:"rus"},{name:"Sanskrit",local:"संस्कृतम्",1:"sa",2:"san","2T":"san","2B":"san",3:"san"},{name:"Sardinian",local:"Sardu",1:"sc",2:"srd","2T":"srd","2B":"srd",3:"srd"},{name:"Sindhi",local:"سنڌي‎",1:"sd",2:"snd","2T":"snd","2B":"snd",3:"snd"},{name:"Northern Sami",local:"Sámegiella",1:"se",2:"sme","2T":"sme","2B":"sme",3:"sme"},{name:"Samoan",local:"Gagana Sāmoa",1:"sm",2:"smo","2T":"smo","2B":"smo",3:"smo"},{name:"Sango",local:"Sängö",1:"sg",2:"sag","2T":"sag","2B":"sag",3:"sag"},{name:"Serbian",local:"Српски",1:"sr",2:"srp","2T":"srp","2B":"srp",3:"srp"},{name:"Gaelic",local:"Gàidhlig",1:"gd",2:"gla","2T":"gla","2B":"gla",3:"gla"},{name:"Shona",local:"ChiShona",1:"sn",2:"sna","2T":"sna","2B":"sna",3:"sna"},{name:"Sinhala",local:"සිංහල",1:"si",2:"sin","2T":"sin","2B":"sin",3:"sin"},{name:"Slovak",local:"Slovenčina",1:"sk",2:"slk","2T":"slk","2B":"slo",3:"slk"},{name:"Slovene",local:"Slovenščina",1:"sl",2:"slv","2T":"slv","2B":"slv",3:"slv"},{name:"Somali",local:"Soomaaliga",1:"so",2:"som","2T":"som","2B":"som",3:"som"},{name:"Southern Sotho",local:"Sesotho",1:"st",2:"sot","2T":"sot","2B":"sot",3:"sot"},{name:"Spanish",local:"Español",1:"es",2:"spa","2T":"spa","2B":"spa",3:"spa"},{name:"Sundanese",local:"Basa Sunda",1:"su",2:"sun","2T":"sun","2B":"sun",3:"sun"},{name:"Swahili",local:"Kiswahili",1:"sw",2:"swa","2T":"swa","2B":"swa",3:"swa"},{name:"Swati",local:"SiSwati",1:"ss",2:"ssw","2T":"ssw","2B":"ssw",3:"ssw"},{name:"Swedish",local:"Svenska",1:"sv",2:"swe","2T":"swe","2B":"swe",3:"swe"},{name:"Tamil",local:"தமிழ்",1:"ta",2:"tam","2T":"tam","2B":"tam",3:"tam"},{name:"Telugu",local:"తెలుగు",1:"te",2:"tel","2T":"tel","2B":"tel",3:"tel"},{name:"Tajik",local:"Тоҷикӣ",1:"tg",2:"tgk","2T":"tgk","2B":"tgk",3:"tgk"},{name:"Thai",local:"ภาษาไทย",1:"th",2:"tha","2T":"tha","2B":"tha",3:"tha"},{name:"Tigrinya",local:"ትግርኛ",1:"ti",2:"tir","2T":"tir","2B":"tir",3:"tir"},{name:"Tibetan Standard",local:"བོད་ཡིག",1:"bo",2:"bod","2T":"bod","2B":"tib",3:"bod"},{name:"Turkmen",local:"Türkmençe",1:"tk",2:"tuk","2T":"tuk","2B":"tuk",3:"tuk"},{name:"Tagalog",local:"Tagalog",1:"tl",2:"tgl","2T":"tgl","2B":"tgl",3:"tgl"},{name:"Tswana",local:"Setswana",1:"tn",2:"tsn","2T":"tsn","2B":"tsn",3:"tsn"},{name:"Tonga",local:"faka Tonga",1:"to",2:"ton","2T":"ton","2B":"ton",3:"ton"},{name:"Turkish",local:"Türkçe",1:"tr",2:"tur","2T":"tur","2B":"tur",3:"tur"},{name:"Tsonga",local:"Xitsonga",1:"ts",2:"tso","2T":"tso","2B":"tso",3:"tso"},{name:"Tatar",local:"Татарча",1:"tt",2:"tat","2T":"tat","2B":"tat",3:"tat"},{name:"Twi",local:"Twi",1:"tw",2:"twi","2T":"twi","2B":"twi",3:"twi"},{name:"Tahitian",local:"Reo Mā’ohi",1:"ty",2:"tah","2T":"tah","2B":"tah",3:"tah"},{name:"Uyghur",local:"ئۇيغۇرچه",1:"ug",2:"uig","2T":"uig","2B":"uig",3:"uig"},{name:"Ukrainian",local:"Українська",1:"uk",2:"ukr","2T":"ukr","2B":"ukr",3:"ukr"},{name:"Urdu",local:"اردو",1:"ur",2:"urd","2T":"urd","2B":"urd",3:"urd"},{name:"Uzbek",local:"O‘zbek",1:"uz",2:"uzb","2T":"uzb","2B":"uzb",3:"uzb"},{name:"Venda",local:"Tshivenḓa",1:"ve",2:"ven","2T":"ven","2B":"ven",3:"ven"},{name:"Vietnamese",local:"Tiếng Việt",1:"vi",2:"vie","2T":"vie","2B":"vie",3:"vie"},{name:"Volapük",local:"Volapük",1:"vo",2:"vol","2T":"vol","2B":"vol",3:"vol"},{name:"Walloon",local:"Walon",1:"wa",2:"wln","2T":"wln","2B":"wln",3:"wln"},{name:"Welsh",local:"Cymraeg",1:"cy",2:"cym","2T":"cym","2B":"wel",3:"cym"},{name:"Wolof",local:"Wolof",1:"wo",2:"wol","2T":"wol","2B":"wol",3:"wol"},{name:"Western Frisian",local:"Frysk",1:"fy",2:"fry","2T":"fry","2B":"fry",3:"fry"},{name:"Xhosa",local:"isiXhosa",1:"xh",2:"xho","2T":"xho","2B":"xho",3:"xho"},{name:"Yiddish",local:"ייִדיש",1:"yi",2:"yid","2T":"yid","2B":"yid",3:"yid"},{name:"Yoruba",local:"Yorùbá",1:"yo",2:"yor","2T":"yor","2B":"yor",3:"yor"},{name:"Zhuang",local:"Cuengh",1:"za",2:"zha","2T":"zha","2B":"zha",3:"zha"},{name:"Zulu",local:"isiZulu",1:"zu",2:"zul","2T":"zul","2B":"zul",3:"zul"}]},27576:(e,t,a)=>{var o=a(85457),i={all:function(){return o},has:function(e,t){return void 0!==n(e,t)},codes:function(e){if((function(e){return-1!==[1,2,3,"1","2","2B","2T","3"].indexOf(e)})(e))return r(o,(function(t){return t[e]}))},names:function(e){return r(o,(function(t){return e?t.local:t.name}))},where:n};function n(e,t){for(var a=0;a<o.length;a++)if(t===o[a][e])return o[a]}function r(e,t){var a,o=[];for(a=0;a<e.length;a++)o.push(t(e[a],a));return o}e.exports=i},83465:(e,t,a)=>{e=a.nmd(e);var o="__lodash_hash_undefined__",i=9007199254740991,n="[object Arguments]",r="[object Boolean]",E="[object Date]",_="[object Function]",T="[object GeneratorFunction]",s="[object Map]",S="[object Number]",l="[object Object]",I="[object Promise]",A="[object RegExp]",u="[object Set]",d="[object String]",c="[object Symbol]",O="[object WeakMap]",R="[object ArrayBuffer]",N="[object DataView]",m="[object Float32Array]",L="[object Float64Array]",D="[object Int8Array]",p="[object Int16Array]",h="[object Int32Array]",C="[object Uint8Array]",f="[object Uint8ClampedArray]",B="[object Uint16Array]",P="[object Uint32Array]",g=/\w*$/,v=/^\[object .+?Constructor\]$/,y=/^(?:0|[1-9]\d*)$/,W={};W[n]=W["[object Array]"]=W[R]=W[N]=W[r]=W[E]=W[m]=W[L]=W[D]=W[p]=W[h]=W[s]=W[S]=W[l]=W[A]=W[u]=W[d]=W[c]=W[C]=W[f]=W[B]=W[P]=!0,W["[object Error]"]=W[_]=W[O]=!1;var M="object"==typeof a.g&&a.g&&a.g.Object===Object&&a.g,b="object"==typeof self&&self&&self.Object===Object&&self,U=M||b||Function("return this")(),G=t&&!t.nodeType&&t,k=G&&e&&!e.nodeType&&e,F=k&&k.exports===G;function V(e,t){return e.set(t[0],t[1]),e}function H(e,t){return e.add(t),e}function w(e,t,a,o){var i=-1,n=e?e.length:0;for(o&&n&&(a=e[++i]);++i<n;)a=t(a,e[i],i,e);return a}function Y(e){var t=!1;if(null!=e&&"function"!=typeof e.toString)try{t=!!(e+"")}catch(e){}return t}function z(e){var t=-1,a=Array(e.size);return e.forEach((function(e,o){a[++t]=[o,e]})),a}function K(e,t){return function(a){return e(t(a))}}function x(e){var t=-1,a=Array(e.size);return e.forEach((function(e){a[++t]=e})),a}var j,Q=Array.prototype,X=Function.prototype,$=Object.prototype,q=U["__core-js_shared__"],J=(j=/[^.]+$/.exec(q&&q.keys&&q.keys.IE_PROTO||""))?"Symbol(src)_1."+j:"",Z=X.toString,ee=$.hasOwnProperty,te=$.toString,ae=RegExp("^"+Z.call(ee).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),oe=F?U.Buffer:void 0,ie=U.Symbol,ne=U.Uint8Array,re=K(Object.getPrototypeOf,Object),Ee=Object.create,_e=$.propertyIsEnumerable,Te=Q.splice,se=Object.getOwnPropertySymbols,Se=oe?oe.isBuffer:void 0,le=K(Object.keys,Object),Ie=ke(U,"DataView"),Ae=ke(U,"Map"),ue=ke(U,"Promise"),de=ke(U,"Set"),ce=ke(U,"WeakMap"),Oe=ke(Object,"create"),Re=Ye(Ie),Ne=Ye(Ae),me=Ye(ue),Le=Ye(de),De=Ye(ce),pe=ie?ie.prototype:void 0,he=pe?pe.valueOf:void 0;function Ce(e){var t=-1,a=e?e.length:0;for(this.clear();++t<a;){var o=e[t];this.set(o[0],o[1])}}function fe(e){var t=-1,a=e?e.length:0;for(this.clear();++t<a;){var o=e[t];this.set(o[0],o[1])}}function Be(e){var t=-1,a=e?e.length:0;for(this.clear();++t<a;){var o=e[t];this.set(o[0],o[1])}}function Pe(e){this.__data__=new fe(e)}function ge(e,t){var a=Ke(e)||(function(e){return(function(e){return(function(e){return!!e&&"object"==typeof e})(e)&&xe(e)})(e)&&ee.call(e,"callee")&&(!_e.call(e,"callee")||te.call(e)==n)})(e)?(function(e,t){for(var a=-1,o=Array(e);++a<e;)o[a]=t(a);return o})(e.length,String):[],o=a.length,i=!!o;for(var r in e)!t&&!ee.call(e,r)||i&&("length"==r||He(r,o))||a.push(r);return a}function ve(e,t,a){var o=e[t];ee.call(e,t)&&ze(o,a)&&(void 0!==a||t in e)||(e[t]=a)}function ye(e,t){for(var a=e.length;a--;)if(ze(e[a][0],t))return a;return-1}function We(e,t,a,o,i,I,O){var v;if(o&&(v=I?o(e,i,I,O):o(e)),void 0!==v)return v;if(!Xe(e))return e;var y=Ke(e);if(y){if(v=(function(e){var t=e.length,a=e.constructor(t);t&&"string"==typeof e[0]&&ee.call(e,"index")&&(a.index=e.index,a.input=e.input);return a})(e),!t)return(function(e,t){var a=-1,o=e.length;t||(t=Array(o));for(;++a<o;)t[a]=e[a];return t})(e,v)}else{var M=Ve(e),b=M==_||M==T;if(je(e))return(function(e,t){if(t)return e.slice();var a=new e.constructor(e.length);return e.copy(a),a})(e,t);if(M==l||M==n||b&&!I){if(Y(e))return I?e:{};if(v=(function(e){return"function"!=typeof e.constructor||we(e)?{}:(t=re(e),Xe(t)?Ee(t):{});var t})(b?{}:e),!t)return(function(e,t){return Ue(e,Fe(e),t)})(e,(function(e,t){return e&&Ue(t,$e(t),e)})(v,e))}else{if(!W[M])return I?e:{};v=(function(e,t,a,o){var i=e.constructor;switch(t){case R:return be(e);case r:case E:return new i(+e);case N:return(function(e,t){var a=t?be(e.buffer):e.buffer;return new e.constructor(a,e.byteOffset,e.byteLength)})(e,o);case m:case L:case D:case p:case h:case C:case f:case B:case P:return(function(e,t){var a=t?be(e.buffer):e.buffer;return new e.constructor(a,e.byteOffset,e.length)})(e,o);case s:return(function(e,t,a){return w(t?a(z(e),!0):z(e),V,new e.constructor)})(e,o,a);case S:case d:return new i(e);case A:return(function(e){var t=new e.constructor(e.source,g.exec(e));return t.lastIndex=e.lastIndex,t})(e);case u:return(function(e,t,a){return w(t?a(x(e),!0):x(e),H,new e.constructor)})(e,o,a);case c:return n=e,he?Object(he.call(n)):{}}var n})(e,M,We,t)}}O||(O=new Pe);var U=O.get(e);if(U)return U;if(O.set(e,v),!y)var G=a?(function(e){return(function(e,t,a){var o=t(e);return Ke(e)?o:(function(e,t){for(var a=-1,o=t.length,i=e.length;++a<o;)e[i+a]=t[a];return e})(o,a(e))})(e,$e,Fe)})(e):$e(e);return(function(e,t){for(var a=-1,o=e?e.length:0;++a<o&&!1!==t(e[a],a,e););})(G||e,(function(i,n){G&&(i=e[n=i]),ve(v,n,We(i,t,a,o,n,e,O))})),v}function Me(e){return!(!Xe(e)||(t=e,J&&J in t))&&(Qe(e)||Y(e)?ae:v).test(Ye(e));var t}function be(e){var t=new e.constructor(e.byteLength);return new ne(t).set(new ne(e)),t}function Ue(e,t,a,o){a||(a={});for(var i=-1,n=t.length;++i<n;){var r=t[i],E=o?o(a[r],e[r],r,a,e):void 0;ve(a,r,void 0===E?e[r]:E)}return a}function Ge(e,t){var a,o,i=e.__data__;return("string"==(o=typeof(a=t))||"number"==o||"symbol"==o||"boolean"==o?"__proto__"!==a:null===a)?i["string"==typeof t?"string":"hash"]:i.map}function ke(e,t){var a=(function(e,t){return null==e?void 0:e[t]})(e,t);return Me(a)?a:void 0}Ce.prototype.clear=function(){this.__data__=Oe?Oe(null):{}},Ce.prototype.delete=function(e){return this.has(e)&&delete this.__data__[e]},Ce.prototype.get=function(e){var t=this.__data__;if(Oe){var a=t[e];return a===o?void 0:a}return ee.call(t,e)?t[e]:void 0},Ce.prototype.has=function(e){var t=this.__data__;return Oe?void 0!==t[e]:ee.call(t,e)},Ce.prototype.set=function(e,t){return this.__data__[e]=Oe&&void 0===t?o:t,this},fe.prototype.clear=function(){this.__data__=[]},fe.prototype.delete=function(e){var t=this.__data__,a=ye(t,e);return!(a<0)&&(a==t.length-1?t.pop():Te.call(t,a,1),!0)},fe.prototype.get=function(e){var t=this.__data__,a=ye(t,e);return a<0?void 0:t[a][1]},fe.prototype.has=function(e){return ye(this.__data__,e)>-1},fe.prototype.set=function(e,t){var a=this.__data__,o=ye(a,e);return o<0?a.push([e,t]):a[o][1]=t,this},Be.prototype.clear=function(){this.__data__={hash:new Ce,map:new(Ae||fe),string:new Ce}},Be.prototype.delete=function(e){return Ge(this,e).delete(e)},Be.prototype.get=function(e){return Ge(this,e).get(e)},Be.prototype.has=function(e){return Ge(this,e).has(e)},Be.prototype.set=function(e,t){return Ge(this,e).set(e,t),this},Pe.prototype.clear=function(){this.__data__=new fe},Pe.prototype.delete=function(e){return this.__data__.delete(e)},Pe.prototype.get=function(e){return this.__data__.get(e)},Pe.prototype.has=function(e){return this.__data__.has(e)},Pe.prototype.set=function(e,t){var a=this.__data__;if(a instanceof fe){var o=a.__data__;if(!Ae||o.length<199)return o.push([e,t]),this;a=this.__data__=new Be(o)}return a.set(e,t),this};var Fe=se?K(se,Object):function(){return[]},Ve=function(e){return te.call(e)};function He(e,t){return!!(t=null==t?i:t)&&("number"==typeof e||y.test(e))&&e>-1&&e%1==0&&e<t}function we(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||$)}function Ye(e){if(null!=e){try{return Z.call(e)}catch(e){}try{return e+""}catch(e){}}return""}function ze(e,t){return e===t||e!=e&&t!=t}(Ie&&Ve(new Ie(new ArrayBuffer(1)))!=N||Ae&&Ve(new Ae)!=s||ue&&Ve(ue.resolve())!=I||de&&Ve(new de)!=u||ce&&Ve(new ce)!=O)&&(Ve=function(e){var t=te.call(e),a=t==l?e.constructor:void 0,o=a?Ye(a):void 0;if(o)switch(o){case Re:return N;case Ne:return s;case me:return I;case Le:return u;case De:return O}return t});var Ke=Array.isArray;function xe(e){return null!=e&&(function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=i})(e.length)&&!Qe(e)}var je=Se||function(){return!1};function Qe(e){var t=Xe(e)?te.call(e):"";return t==_||t==T}function Xe(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function $e(e){return xe(e)?ge(e):(function(e){if(!we(e))return le(e);var t=[];for(var a in Object(e))ee.call(e,a)&&"constructor"!=a&&t.push(a);return t})(e)}e.exports=function(e){return We(e,!0,!0)}},91296:(e,t,a)=>{var o=/^\s+|\s+$/g,i=/^[-+]0x[0-9a-f]+$/i,n=/^0b[01]+$/i,r=/^0o[0-7]+$/i,E=parseInt,_="object"==typeof a.g&&a.g&&a.g.Object===Object&&a.g,T="object"==typeof self&&self&&self.Object===Object&&self,s=_||T||Function("return this")(),S=Object.prototype.toString,l=Math.max,I=Math.min,A=function(){return s.Date.now()};function u(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function d(e){if("number"==typeof e)return e;if((function(e){return"symbol"==typeof e||(function(e){return!!e&&"object"==typeof e})(e)&&"[object Symbol]"==S.call(e)})(e))return NaN;if(u(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=u(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(o,"");var a=n.test(e);return a||r.test(e)?E(e.slice(2),a?2:8):i.test(e)?NaN:+e}e.exports=function(e,t,a){var o,i,n,r,E,_,T=0,s=!1,S=!1,c=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function O(t){var a=o,n=i;return o=i=void 0,T=t,r=e.apply(n,a)}function R(e){return T=e,E=setTimeout(m,t),s?O(e):r}function N(e){var a=e-_;return void 0===_||a>=t||a<0||S&&e-T>=n}function m(){var e=A();if(N(e))return L(e);E=setTimeout(m,(function(e){var a=t-(e-_);return S?I(a,n-(e-T)):a})(e))}function L(e){return E=void 0,c&&o?O(e):(o=i=void 0,r)}function D(){var e=A(),a=N(e);if(o=arguments,i=this,_=e,a){if(void 0===E)return R(_);if(S)return E=setTimeout(m,t),O(_)}return void 0===E&&(E=setTimeout(m,t)),r}return t=d(t)||0,u(a)&&(s=!!a.leading,n=(S="maxWait"in a)?l(d(a.maxWait)||0,t):n,c="trailing"in a?!!a.trailing:c),D.cancel=function(){void 0!==E&&clearTimeout(E),T=0,o=_=i=E=void 0},D.flush=function(){return void 0===E?r:L(A())},D}},20394:(e,t,a)=>{var o="__lodash_hash_undefined__",i=9007199254740991,n=/^\[object .+?Constructor\]$/,r="object"==typeof a.g&&a.g&&a.g.Object===Object&&a.g,E="object"==typeof self&&self&&self.Object===Object&&self,_=r||E||Function("return this")();function T(e,t,a){switch(a.length){case 0:return e.call(t);case 1:return e.call(t,a[0]);case 2:return e.call(t,a[0],a[1]);case 3:return e.call(t,a[0],a[1],a[2])}return e.apply(t,a)}function s(e,t){return!!(e?e.length:0)&&(function(e,t,a){if(t!=t)return(function(e,t,a,o){var i=e.length,n=a+(o?1:-1);for(;o?n--:++n<i;)if(t(e[n],n,e))return n;return-1})(e,I,a);var o=a-1,i=e.length;for(;++o<i;)if(e[o]===t)return o;return-1})(e,t,0)>-1}function S(e,t,a){for(var o=-1,i=e?e.length:0;++o<i;)if(a(t,e[o]))return!0;return!1}function l(e,t){for(var a=-1,o=e?e.length:0,i=Array(o);++a<o;)i[a]=t(e[a],a,e);return i}function I(e){return e!=e}function A(e){return function(t){return e(t)}}function u(e,t){return e.has(t)}var d,c=Array.prototype,O=Function.prototype,R=Object.prototype,N=_["__core-js_shared__"],m=(d=/[^.]+$/.exec(N&&N.keys&&N.keys.IE_PROTO||""))?"Symbol(src)_1."+d:"",L=O.toString,D=R.hasOwnProperty,p=R.toString,h=RegExp("^"+L.call(D).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),C=c.splice,f=Math.max,B=Math.min,P=F(_,"Map"),g=F(Object,"create");function v(e){var t=-1,a=e?e.length:0;for(this.clear();++t<a;){var o=e[t];this.set(o[0],o[1])}}function y(e){var t=-1,a=e?e.length:0;for(this.clear();++t<a;){var o=e[t];this.set(o[0],o[1])}}function W(e){var t=-1,a=e?e.length:0;for(this.clear();++t<a;){var o=e[t];this.set(o[0],o[1])}}function M(e){var t=-1,a=e?e.length:0;for(this.__data__=new W;++t<a;)this.add(e[t])}function b(e,t){for(var a,o,i=e.length;i--;)if((a=e[i][0])===(o=t)||a!=a&&o!=o)return i;return-1}function U(e){if(!z(e)||(t=e,m&&m in t))return!1;var t,a=Y(e)||(function(e){var t=!1;if(null!=e&&"function"!=typeof e.toString)try{t=!!(e+"")}catch(e){}return t})(e)?h:n;return a.test((function(e){if(null!=e){try{return L.call(e)}catch(e){}try{return e+""}catch(e){}}return""})(e))}function G(e){return(function(e){return(function(e){return!!e&&"object"==typeof e})(e)&&(function(e){return null!=e&&(function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=i})(e.length)&&!Y(e)})(e)})(e)?e:[]}function k(e,t){var a,o,i=e.__data__;return("string"==(o=typeof(a=t))||"number"==o||"symbol"==o||"boolean"==o?"__proto__"!==a:null===a)?i["string"==typeof t?"string":"hash"]:i.map}function F(e,t){var a=(function(e,t){return null==e?void 0:e[t]})(e,t);return U(a)?a:void 0}v.prototype.clear=function(){this.__data__=g?g(null):{}},v.prototype.delete=function(e){return this.has(e)&&delete this.__data__[e]},v.prototype.get=function(e){var t=this.__data__;if(g){var a=t[e];return a===o?void 0:a}return D.call(t,e)?t[e]:void 0},v.prototype.has=function(e){var t=this.__data__;return g?void 0!==t[e]:D.call(t,e)},v.prototype.set=function(e,t){return this.__data__[e]=g&&void 0===t?o:t,this},y.prototype.clear=function(){this.__data__=[]},y.prototype.delete=function(e){var t=this.__data__,a=b(t,e);return!(a<0)&&(a==t.length-1?t.pop():C.call(t,a,1),!0)},y.prototype.get=function(e){var t=this.__data__,a=b(t,e);return a<0?void 0:t[a][1]},y.prototype.has=function(e){return b(this.__data__,e)>-1},y.prototype.set=function(e,t){var a=this.__data__,o=b(a,e);return o<0?a.push([e,t]):a[o][1]=t,this},W.prototype.clear=function(){this.__data__={hash:new v,map:new(P||y),string:new v}},W.prototype.delete=function(e){return k(this,e).delete(e)},W.prototype.get=function(e){return k(this,e).get(e)},W.prototype.has=function(e){return k(this,e).has(e)},W.prototype.set=function(e,t){return k(this,e).set(e,t),this},M.prototype.add=M.prototype.push=function(e){return this.__data__.set(e,o),this},M.prototype.has=function(e){return this.__data__.has(e)};var V,H,w=(V=function(e){var t=l(e,G);return t.length&&t[0]===e[0]?(function(e,t,a){for(var o=a?S:s,i=e[0].length,n=e.length,r=n,E=Array(n),_=1/0,T=[];r--;){var I=e[r];r&&t&&(I=l(I,A(t))),_=B(I.length,_),E[r]=!a&&(t||i>=120&&I.length>=120)?new M(r&&I):void 0}I=e[0];var d=-1,c=E[0];e:for(;++d<i&&T.length<_;){var O=I[d],R=t?t(O):O;if(O=a||0!==O?O:0,!(c?u(c,R):o(T,R,a))){for(r=n;--r;){var N=E[r];if(!(N?u(N,R):o(e[r],R,a)))continue e}c&&c.push(R),T.push(O)}}return T})(t):[]},H=f(void 0===H?V.length-1:H,0),function(){for(var e=arguments,t=-1,a=f(e.length-H,0),o=Array(a);++t<a;)o[t]=e[H+t];t=-1;for(var i=Array(H+1);++t<H;)i[t]=e[t];return i[H]=o,T(V,this,i)});function Y(e){var t=z(e)?p.call(e):"";return"[object Function]"==t||"[object GeneratorFunction]"==t}function z(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}e.exports=w},72307:(e,t,a)=>{e=a.nmd(e);var o="__lodash_hash_undefined__",i=9007199254740991,n="[object Arguments]",r="[object Array]",E="[object Boolean]",_="[object Date]",T="[object Error]",s="[object Function]",S="[object Map]",l="[object Number]",I="[object Object]",A="[object Promise]",u="[object RegExp]",d="[object Set]",c="[object String]",O="[object Symbol]",R="[object WeakMap]",N="[object ArrayBuffer]",m="[object DataView]",L=/^\[object .+?Constructor\]$/,D=/^(?:0|[1-9]\d*)$/,p={};p["[object Float32Array]"]=p["[object Float64Array]"]=p["[object Int8Array]"]=p["[object Int16Array]"]=p["[object Int32Array]"]=p["[object Uint8Array]"]=p["[object Uint8ClampedArray]"]=p["[object Uint16Array]"]=p["[object Uint32Array]"]=!0,p[n]=p[r]=p[N]=p[E]=p[m]=p[_]=p[T]=p[s]=p[S]=p[l]=p[I]=p[u]=p[d]=p[c]=p[R]=!1;var h="object"==typeof a.g&&a.g&&a.g.Object===Object&&a.g,C="object"==typeof self&&self&&self.Object===Object&&self,f=h||C||Function("return this")(),B=t&&!t.nodeType&&t,P=B&&e&&!e.nodeType&&e,g=P&&P.exports===B,v=g&&h.process,y=(function(){try{return v&&v.binding&&v.binding("util")}catch(e){}})(),W=y&&y.isTypedArray;function M(e,t){for(var a=-1,o=null==e?0:e.length;++a<o;)if(t(e[a],a,e))return!0;return!1}function b(e){var t=-1,a=Array(e.size);return e.forEach((function(e,o){a[++t]=[o,e]})),a}function U(e){var t=-1,a=Array(e.size);return e.forEach((function(e){a[++t]=e})),a}var G,k,F,V=Array.prototype,H=Function.prototype,w=Object.prototype,Y=f["__core-js_shared__"],z=H.toString,K=w.hasOwnProperty,x=(G=/[^.]+$/.exec(Y&&Y.keys&&Y.keys.IE_PROTO||""))?"Symbol(src)_1."+G:"",j=w.toString,Q=RegExp("^"+z.call(K).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),X=g?f.Buffer:void 0,$=f.Symbol,q=f.Uint8Array,J=w.propertyIsEnumerable,Z=V.splice,ee=$?$.toStringTag:void 0,te=Object.getOwnPropertySymbols,ae=X?X.isBuffer:void 0,oe=(k=Object.keys,F=Object,function(e){return k(F(e))}),ie=ye(f,"DataView"),ne=ye(f,"Map"),re=ye(f,"Promise"),Ee=ye(f,"Set"),_e=ye(f,"WeakMap"),Te=ye(Object,"create"),se=Ue(ie),Se=Ue(ne),le=Ue(re),Ie=Ue(Ee),Ae=Ue(_e),ue=$?$.prototype:void 0,de=ue?ue.valueOf:void 0;function ce(e){var t=-1,a=null==e?0:e.length;for(this.clear();++t<a;){var o=e[t];this.set(o[0],o[1])}}function Oe(e){var t=-1,a=null==e?0:e.length;for(this.clear();++t<a;){var o=e[t];this.set(o[0],o[1])}}function Re(e){var t=-1,a=null==e?0:e.length;for(this.clear();++t<a;){var o=e[t];this.set(o[0],o[1])}}function Ne(e){var t=-1,a=null==e?0:e.length;for(this.__data__=new Re;++t<a;)this.add(e[t])}function me(e){var t=this.__data__=new Oe(e);this.size=t.size}function Le(e,t){var a=Fe(e),o=!a&&ke(e),i=!a&&!o&&Ve(e),n=!a&&!o&&!i&&Ke(e),r=a||o||i||n,E=r?(function(e,t){for(var a=-1,o=Array(e);++a<e;)o[a]=t(a);return o})(e.length,String):[],_=E.length;for(var T in e)!t&&!K.call(e,T)||r&&("length"==T||i&&("offset"==T||"parent"==T)||n&&("buffer"==T||"byteLength"==T||"byteOffset"==T)||be(T,_))||E.push(T);return E}function De(e,t){for(var a=e.length;a--;)if(Ge(e[a][0],t))return a;return-1}function pe(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":ee&&ee in Object(e)?(function(e){var t=K.call(e,ee),a=e[ee];try{e[ee]=void 0;var o=!0}catch(e){}var i=j.call(e);o&&(t?e[ee]=a:delete e[ee]);return i})(e):(function(e){return j.call(e)})(e)}function he(e){return ze(e)&&pe(e)==n}function Ce(e,t,a,o,i){return e===t||(null==e||null==t||!ze(e)&&!ze(t)?e!=e&&t!=t:(function(e,t,a,o,i,s){var A=Fe(e),R=Fe(t),L=A?r:Me(e),D=R?r:Me(t),p=(L=L==n?I:L)==I,h=(D=D==n?I:D)==I,C=L==D;if(C&&Ve(e)){if(!Ve(t))return!1;A=!0,p=!1}if(C&&!p)return s||(s=new me),A||Ke(e)?Pe(e,t,a,o,i,s):(function(e,t,a,o,i,n,r){switch(a){case m:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case N:return!(e.byteLength!=t.byteLength||!n(new q(e),new q(t)));case E:case _:case l:return Ge(+e,+t);case T:return e.name==t.name&&e.message==t.message;case u:case c:return e==t+"";case S:var s=b;case d:var I=1&o;if(s||(s=U),e.size!=t.size&&!I)return!1;var A=r.get(e);if(A)return A==t;o|=2,r.set(e,t);var R=Pe(s(e),s(t),o,i,n,r);return r.delete(e),R;case O:if(de)return de.call(e)==de.call(t)}return!1})(e,t,L,a,o,i,s);if(!(1&a)){var f=p&&K.call(e,"__wrapped__"),B=h&&K.call(t,"__wrapped__");if(f||B){var P=f?e.value():e,g=B?t.value():t;return s||(s=new me),i(P,g,a,o,s)}}if(!C)return!1;return s||(s=new me),(function(e,t,a,o,i,n){var r=1&a,E=ge(e),_=E.length,T=ge(t).length;if(_!=T&&!r)return!1;var s=_;for(;s--;){var S=E[s];if(!(r?S in t:K.call(t,S)))return!1}var l=n.get(e);if(l&&n.get(t))return l==t;var I=!0;n.set(e,t),n.set(t,e);var A=r;for(;++s<_;){var u=e[S=E[s]],d=t[S];if(o)var c=r?o(d,u,S,t,e,n):o(u,d,S,e,t,n);if(!(void 0===c?u===d||i(u,d,a,o,n):c)){I=!1;break}A||(A="constructor"==S)}if(I&&!A){var O=e.constructor,R=t.constructor;O==R||!("constructor"in e)||!("constructor"in t)||"function"==typeof O&&O instanceof O&&"function"==typeof R&&R instanceof R||(I=!1)}return n.delete(e),n.delete(t),I})(e,t,a,o,i,s)})(e,t,a,o,Ce,i))}function fe(e){return!(!Ye(e)||(function(e){return!!x&&x in e})(e))&&(He(e)?Q:L).test(Ue(e))}function Be(e){if(a=(t=e)&&t.constructor,o="function"==typeof a&&a.prototype||w,t!==o)return oe(e);var t,a,o,i=[];for(var n in Object(e))K.call(e,n)&&"constructor"!=n&&i.push(n);return i}function Pe(e,t,a,o,i,n){var r=1&a,E=e.length,_=t.length;if(E!=_&&!(r&&_>E))return!1;var T=n.get(e);if(T&&n.get(t))return T==t;var s=-1,S=!0,l=2&a?new Ne:void 0;for(n.set(e,t),n.set(t,e);++s<E;){var I=e[s],A=t[s];if(o)var u=r?o(A,I,s,t,e,n):o(I,A,s,e,t,n);if(void 0!==u){if(u)continue;S=!1;break}if(l){if(!M(t,(function(e,t){if(r=t,!l.has(r)&&(I===e||i(I,e,a,o,n)))return l.push(t);var r}))){S=!1;break}}else if(I!==A&&!i(I,A,a,o,n)){S=!1;break}}return n.delete(e),n.delete(t),S}function ge(e){return(function(e,t,a){var o=t(e);return Fe(e)?o:(function(e,t){for(var a=-1,o=t.length,i=e.length;++a<o;)e[i+a]=t[a];return e})(o,a(e))})(e,xe,We)}function ve(e,t){var a,o,i=e.__data__;return("string"==(o=typeof(a=t))||"number"==o||"symbol"==o||"boolean"==o?"__proto__"!==a:null===a)?i["string"==typeof t?"string":"hash"]:i.map}function ye(e,t){var a=(function(e,t){return null==e?void 0:e[t]})(e,t);return fe(a)?a:void 0}ce.prototype.clear=function(){this.__data__=Te?Te(null):{},this.size=0},ce.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},ce.prototype.get=function(e){var t=this.__data__;if(Te){var a=t[e];return a===o?void 0:a}return K.call(t,e)?t[e]:void 0},ce.prototype.has=function(e){var t=this.__data__;return Te?void 0!==t[e]:K.call(t,e)},ce.prototype.set=function(e,t){var a=this.__data__;return this.size+=this.has(e)?0:1,a[e]=Te&&void 0===t?o:t,this},Oe.prototype.clear=function(){this.__data__=[],this.size=0},Oe.prototype.delete=function(e){var t=this.__data__,a=De(t,e);return!(a<0)&&(a==t.length-1?t.pop():Z.call(t,a,1),--this.size,!0)},Oe.prototype.get=function(e){var t=this.__data__,a=De(t,e);return a<0?void 0:t[a][1]},Oe.prototype.has=function(e){return De(this.__data__,e)>-1},Oe.prototype.set=function(e,t){var a=this.__data__,o=De(a,e);return o<0?(++this.size,a.push([e,t])):a[o][1]=t,this},Re.prototype.clear=function(){this.size=0,this.__data__={hash:new ce,map:new(ne||Oe),string:new ce}},Re.prototype.delete=function(e){var t=ve(this,e).delete(e);return this.size-=t?1:0,t},Re.prototype.get=function(e){return ve(this,e).get(e)},Re.prototype.has=function(e){return ve(this,e).has(e)},Re.prototype.set=function(e,t){var a=ve(this,e),o=a.size;return a.set(e,t),this.size+=a.size==o?0:1,this},Ne.prototype.add=Ne.prototype.push=function(e){return this.__data__.set(e,o),this},Ne.prototype.has=function(e){return this.__data__.has(e)},me.prototype.clear=function(){this.__data__=new Oe,this.size=0},me.prototype.delete=function(e){var t=this.__data__,a=t.delete(e);return this.size=t.size,a},me.prototype.get=function(e){return this.__data__.get(e)},me.prototype.has=function(e){return this.__data__.has(e)},me.prototype.set=function(e,t){var a=this.__data__;if(a instanceof Oe){var o=a.__data__;if(!ne||o.length<199)return o.push([e,t]),this.size=++a.size,this;a=this.__data__=new Re(o)}return a.set(e,t),this.size=a.size,this};var We=te?function(e){return null==e?[]:(e=Object(e),(function(e,t){for(var a=-1,o=null==e?0:e.length,i=0,n=[];++a<o;){var r=e[a];t(r,a,e)&&(n[i++]=r)}return n})(te(e),(function(t){return J.call(e,t)})))}:function(){return[]},Me=pe;function be(e,t){return!!(t=null==t?i:t)&&("number"==typeof e||D.test(e))&&e>-1&&e%1==0&&e<t}function Ue(e){if(null!=e){try{return z.call(e)}catch(e){}try{return e+""}catch(e){}}return""}function Ge(e,t){return e===t||e!=e&&t!=t}(ie&&Me(new ie(new ArrayBuffer(1)))!=m||ne&&Me(new ne)!=S||re&&Me(re.resolve())!=A||Ee&&Me(new Ee)!=d||_e&&Me(new _e)!=R)&&(Me=function(e){var t=pe(e),a=t==I?e.constructor:void 0,o=a?Ue(a):"";if(o)switch(o){case se:return m;case Se:return S;case le:return A;case Ie:return d;case Ae:return R}return t});var ke=he((function(){return arguments})())?he:function(e){return ze(e)&&K.call(e,"callee")&&!J.call(e,"callee")},Fe=Array.isArray;var Ve=ae||function(){return!1};function He(e){if(!Ye(e))return!1;var t=pe(e);return t==s||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}function we(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=i}function Ye(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function ze(e){return null!=e&&"object"==typeof e}var Ke=W?(function(e){return function(t){return e(t)}})(W):function(e){return ze(e)&&we(e.length)&&!!p[pe(e)]};function xe(e){return null!=(t=e)&&we(t.length)&&!He(t)?Le(e):Be(e);var t}e.exports=function(e,t){return Ce(e,t)}},93096:(e,t,a)=>{var o="Expected a function",i=/^\s+|\s+$/g,n=/^[-+]0x[0-9a-f]+$/i,r=/^0b[01]+$/i,E=/^0o[0-7]+$/i,_=parseInt,T="object"==typeof a.g&&a.g&&a.g.Object===Object&&a.g,s="object"==typeof self&&self&&self.Object===Object&&self,S=T||s||Function("return this")(),l=Object.prototype.toString,I=Math.max,A=Math.min,u=function(){return S.Date.now()};function d(e,t,a){var i,n,r,E,_,T,s=0,S=!1,l=!1,d=!0;if("function"!=typeof e)throw new TypeError(o);function R(t){var a=i,o=n;return i=n=void 0,s=t,E=e.apply(o,a)}function N(e){return s=e,_=setTimeout(L,t),S?R(e):E}function m(e){var a=e-T;return void 0===T||a>=t||a<0||l&&e-s>=r}function L(){var e=u();if(m(e))return D(e);_=setTimeout(L,(function(e){var a=t-(e-T);return l?A(a,r-(e-s)):a})(e))}function D(e){return _=void 0,d&&i?R(e):(i=n=void 0,E)}function p(){var e=u(),a=m(e);if(i=arguments,n=this,T=e,a){if(void 0===_)return N(T);if(l)return _=setTimeout(L,t),R(T)}return void 0===_&&(_=setTimeout(L,t)),E}return t=O(t)||0,c(a)&&(S=!!a.leading,r=(l="maxWait"in a)?I(O(a.maxWait)||0,t):r,d="trailing"in a?!!a.trailing:d),p.cancel=function(){void 0!==_&&clearTimeout(_),s=0,i=T=n=_=void 0},p.flush=function(){return void 0===_?E:D(u())},p}function c(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function O(e){if("number"==typeof e)return e;if((function(e){return"symbol"==typeof e||(function(e){return!!e&&"object"==typeof e})(e)&&"[object Symbol]"==l.call(e)})(e))return NaN;if(c(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=c(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(i,"");var a=r.test(e);return a||E.test(e)?_(e.slice(2),a?2:8):n.test(e)?NaN:+e}e.exports=function(e,t,a){var i=!0,n=!0;if("function"!=typeof e)throw new TypeError(o);return c(a)&&(i="leading"in a?!!a.leading:i,n="trailing"in a?!!a.trailing:n),d(e,t,{leading:i,maxWait:t,trailing:n})}},49566:(e,t,a)=>{var o=a(48764).Buffer;e.exports=r,e.exports.decode=r,e.exports.encode=function(e){e=Object.assign({},e);let t=new Set;e.xt&&"string"==typeof e.xt&&t.add(e.xt);e.xt&&Array.isArray(e.xt)&&(t=new Set(e.xt));e.infoHashBuffer&&t.add(`urn:btih:${e.infoHashBuffer.toString("hex")}`);e.infoHash&&t.add(`urn:btih:${e.infoHash}`);e.infoHashV2Buffer&&t.add(e.xt=`urn:btmh:1220${e.infoHashV2Buffer.toString("hex")}`);e.infoHashV2&&t.add(`urn:btmh:1220${e.infoHashV2}`);const a=Array.from(t);1===a.length&&(e.xt=a[0]);a.length>1&&(e.xt=a);e.publicKeyBuffer&&(e.xs=`urn:btpk:${e.publicKeyBuffer.toString("hex")}`);e.publicKey&&(e.xs=`urn:btpk:${e.publicKey}`);e.name&&(e.dn=e.name);e.keywords&&(e.kt=e.keywords);e.announce&&(e.tr=e.announce);e.urlList&&(e.ws=e.urlList,delete e.as);e.peerAddresses&&(e["x.pe"]=e.peerAddresses);let o="magnet:?";return Object.keys(e).filter((e=>2===e.length||"x.pe"===e)).forEach(((t,a)=>{const i=Array.isArray(e[t])?e[t]:[e[t]];i.forEach(((e,i)=>{(a>0||i>0)&&("kt"!==t&&"so"!==t||0===i)&&(o+="&"),"dn"===t&&(e=encodeURIComponent(e).replace(/%20/g,"+")),"tr"!==t&&"as"!==t&&"ws"!==t||(e=encodeURIComponent(e)),"xs"!==t||e.startsWith("urn:btpk:")||(e=encodeURIComponent(e)),"kt"===t&&(e=encodeURIComponent(e)),"so"!==t&&(o+="kt"===t&&i>0?`+${e}`:`${t}=${e}`)})),"so"===t&&(o+=`${t}=${n.compose(i)}`)})),o};const i=a(25017),n=a(57500);function r(e){const t={},a=e.split("magnet:?")[1];let r;if((a&&a.length>=0?a.split("&"):[]).forEach((e=>{const a=e.split("=");if(2!==a.length)return;const o=a[0];let i=a[1];"dn"===o&&(i=decodeURIComponent(i).replace(/\+/g," ")),"tr"!==o&&"xs"!==o&&"as"!==o&&"ws"!==o||(i=decodeURIComponent(i)),"kt"===o&&(i=decodeURIComponent(i).split("+")),"ix"===o&&(i=Number(i)),"so"===o&&(i=n.parse(decodeURIComponent(i).split(","))),t[o]?(Array.isArray(t[o])||(t[o]=[t[o]]),t[o].push(i)):t[o]=i})),t.xt){(Array.isArray(t.xt)?t.xt:[t.xt]).forEach((e=>{if(r=e.match(/^urn:btih:(.{40})/))t.infoHash=r[1].toLowerCase();else if(r=e.match(/^urn:btih:(.{32})/)){const e=i.decode(r[1]);t.infoHash=o.from(e,"binary").toString("hex")}else(r=e.match(/^urn:btmh:1220(.{64})/))&&(t.infoHashV2=r[1].toLowerCase())}))}if(t.xs){(Array.isArray(t.xs)?t.xs:[t.xs]).forEach((e=>{(r=e.match(/^urn:btpk:(.{64})/))&&(t.publicKey=r[1].toLowerCase())}))}return t.infoHash&&(t.infoHashBuffer=o.from(t.infoHash,"hex")),t.infoHashV2&&(t.infoHashV2Buffer=o.from(t.infoHashV2,"hex")),t.publicKey&&(t.publicKeyBuffer=o.from(t.publicKey,"hex")),t.dn&&(t.name=t.dn),t.kt&&(t.keywords=t.kt),t.announce=[],("string"==typeof t.tr||Array.isArray(t.tr))&&(t.announce=t.announce.concat(t.tr)),t.urlList=[],("string"==typeof t.as||Array.isArray(t.as))&&(t.urlList=t.urlList.concat(t.as)),("string"==typeof t.ws||Array.isArray(t.ws))&&(t.urlList=t.urlList.concat(t.ws)),t.peerAddresses=[],("string"==typeof t["x.pe"]||Array.isArray(t["x.pe"]))&&(t.peerAddresses=t.peerAddresses.concat(t["x.pe"])),t.announce=Array.from(new Set(t.announce)),t.urlList=Array.from(new Set(t.urlList)),t.peerAddresses=Array.from(new Set(t.peerAddresses)),t}},74923:e=>{e.exports={"error-container":"error-container-OJnoc","error-image":"error-image-qU9Qo","error-message":"error-message-kW59Z","buttons-container":"buttons-container-tQonN","button-container":"button-container-vLSQK",label:"label-Up_te"}},90510:e=>{e.exports={"fade-in":"fade-in-pFkt_","toasts-container":"toasts-container-oKECy","tooltip-container":"tooltip-container-Qpse8",router:"router-_65XU","error-container":"error-container-VZXwH","loader-container":"loader-container-vwvnb"}},66739:e=>{e.exports={"addon-details-container":"addon-details-container-ZQqDB","title-container":"title-container-fR02m",icon:"icon-ScXNu",logo:"logo-BujW_","name-container":"name-container-Gfhqw",name:"name-XNqfo",version:"version-w_xoN","section-container":"section-container-l3YaI","section-header":"section-header-bs8iy","section-label":"section-label-rYxQh","transport-url-label":"transport-url-label-EW7I5","disclaimer-label":"disclaimer-label-IGdd3"}},57527:e=>{e.exports={"addon-details-modal-container":"addon-details-modal-container-_bwQ0","addon-details-container":"addon-details-container-AmNx2","addon-details-message-container":"addon-details-message-container-VEzeN","cancel-button":"cancel-button-luYIO","cancel-button-label":"cancel-button-label-jqVQf","uninstall-button":"uninstall-button-X2JXr"}},15837:e=>{e.exports={"button-container":"button-container-HNufV"}},22523:e=>{e.exports={"checkbox-container":"checkbox-container-heGq4",toggle:"toggle-jrHgS"}},70232:e=>{e.exports={chip:"chip-oNDf9",active:"active-hnUWc"}},25006:e=>{e.exports={chips:"chips-2SaqO",left:"left-g78Dv",right:"right-xHY1L",center:"center-r2lxe"}},47001:e=>{e.exports={"color-picker-container":"color-picker-container-deFkW"}},22440:e=>{e.exports={"color-input-container":"color-input-container-jRZsi","transparent-label-container":"transparent-label-container-Tx2fI","transparent-label":"transparent-label-omLaY","color-picker-container":"color-picker-container-C4puR"}},34478:e=>{e.exports={"event-modal":"event-modal-rnryK",image:"image-e8XVK","info-container":"info-container-wB_Hp","title-container":"title-container-HRHiu",title:"title-QWkHL",label:"label-BkLRo","addon-container":"addon-container-vbdZn",icon:"icon-wYzOg",name:"name-YiulJ","action-button":"action-button-Off_h","button-label":"button-label-j6aOz"}},72252:e=>{e.exports={"main-nav-bars-container":"main-nav-bars-container-fA7pO","horizontal-nav-bar":"horizontal-nav-bar-x5sxp","vertical-nav-bar":"vertical-nav-bar-JNw53","nav-content-container":"nav-content-container-VHwOU"}},6432:e=>{e.exports={"meta-item-container":"meta-item-container-drt6V","poster-container":"poster-container-Fruke","dismiss-icon-layer":"dismiss-icon-layer-ujhD1","poster-image-layer":"poster-image-layer-CdxrT","play-icon-layer":"play-icon-layer-_75Lo","play-icon-outer":"play-icon-outer-sAk71","play-icon-background":"play-icon-background-yHWuQ","title-bar-container":"title-bar-container-DFXJK","menu-label-container":"menu-label-container-dlL1I","poster-shape-poster":"poster-shape-poster-F_CO5","poster-shape-square":"poster-shape-square-UCby3","poster-shape-landscape":"poster-shape-landscape-BPmb1","dismiss-icon":"dismiss-icon-w57SZ","dismiss-icon-backdrop":"dismiss-icon-backdrop-L8zeK","watched-icon-layer":"watched-icon-layer-wtjcc","watched-icon":"watched-icon-oXlb3","poster-image":"poster-image-lt9zC","placeholder-icon":"placeholder-icon-uYwsv","play-icon":"play-icon-d9_ll","progress-bar-layer":"progress-bar-layer-r81Qx","progress-bar":"progress-bar-E3QY9","progress-bar-background":"progress-bar-background-Q7lT4","new-videos":"new-videos-gZv0w",layer:"layer-RqXo1",icon:"icon-IfJ81",label:"label-hSihm","title-label":"title-label-dZZ_A"}},9058:e=>{e.exports={"action-button-container":"action-button-container-TmbQ2","icon-container":"icon-container-hvLw4",icon:"icon-DG4TM","label-container":"label-container-eh2bk",label:"label-YhHvD"}},41467:e=>{e.exports={"meta-links-container":"meta-links-container-wSrm1","label-container":"label-container-zWFke","links-container":"links-container-o4RUG","link-container":"link-container-HUDqV"}},8132:e=>{e.exports={"meta-preview-placeholder-container":"meta-preview-placeholder-container-AQ4ld","meta-info-container":"meta-info-container-pEOFb","logo-container":"logo-container-g5eNB","duration-release-info-container":"duration-release-info-container-lNaI6","duration-container":"duration-container-x2E01","release-info-container":"release-info-container-PEmeu","genres-container":"genres-container-v3H7A","genres-header-container":"genres-header-container-lsPLU","genre-label-container":"genre-label-container-z7kU8","action-buttons-container":"action-buttons-container-U3sbl"}},19480:e=>{e.exports={"meta-preview-container":"meta-preview-container-bgBNf",compact:"compact-Wbl4Q","meta-info-container":"meta-info-container-tlmcb",logo:"logo-X9v1A","logo-placeholder":"logo-placeholder-kIy0x","runtime-release-info-container":"runtime-release-info-container-lXo3K","release-info-label":"release-info-label-XmqSY","runtime-label":"runtime-label-B29EN","description-container":"description-container-eSGft","action-buttons-container":"action-buttons-container-qQrnO","action-button":"action-button-R44aX","background-image-layer":"background-image-layer-GstuA","background-image":"background-image-B0d6i","imdb-button-container":"imdb-button-container-qCbl7",label:"label-_DfnK",icon:"icon-MBu8k","label-container":"label-container-xChHj","meta-links":"meta-links-mTHUo","show-button":"show-button-Sh8P3","share-prompt":"share-prompt-F8qOC"}},35250:e=>{e.exports={"meta-row-placeholder-container":"meta-row-placeholder-container-wpHNk","header-container":"header-container-GCHdB","title-container":"title-container-Bjp93","see-all-container":"see-all-container-FnlIf",label:"label-dU3S2",icon:"icon-FLhtv","meta-items-container":"meta-items-container-dbGXx","meta-item":"meta-item-IegjY","poster-container":"poster-container-RlQMV","title-bar-container":"title-bar-container-YJZrl","title-label":"title-label-Ka1vs"}},31770:e=>{e.exports={"meta-row-container":"meta-row-container-ucOuu","header-container":"header-container-RherZ","title-container":"title-container-SJ0nR","see-all-container":"see-all-container-HlJ4b",label:"label-isJw8",icon:"icon-PO0GH","message-container":"message-container-bIcjN","meta-items-container":"meta-items-container-TqzFs","meta-item":"meta-item-x28TU","poster-shape-poster":"poster-shape-poster-B1QR0","poster-shape-square":"poster-shape-square-m5r_O","poster-shape-landscape":"poster-shape-landscape-_FSOH"}},93837:e=>{e.exports={"modal-container":"modal-container-jZglc","modal-dialog-container":"modal-dialog-container-QgsId","modal-dialog-background":"modal-dialog-background-I_IoU","close-button-container":"close-button-container-QrgQo",icon:"icon-hRjWc","modal-dialog-content":"modal-dialog-content-ChXwF","title-container":"title-container-wqhp3","body-container":"body-container-_WHlr","buttons-container":"buttons-container-EJKJF","action-button":"action-button-bi6FL",label:"label-_ADoX"}},84629:e=>{e.exports={"label-container":"label-container-ZHk2S",icon:"icon-YGvLz",label:"label-kz1K0","modal-container":"modal-container-BQwj3","menu-container":"menu-container-Z1Pou","option-container":"option-container-yVj1o","no-options-container":"no-options-container-NYx9Z"}},65349:e=>{e.exports={dropdown:"dropdown-F4S7Q",open:"open-RbKyy","back-button":"back-button-sQrkb","back-button-icon":"back-button-icon-Inmcg"}},28249:e=>{e.exports={option:"option-SHgyE",label:"label-gTtLc",icon:"icon-lDn76"}},8235:e=>{e.exports={"multiselect-menu":"multiselect-menu-ilDVi",disabled:"disabled-gvjEF","multiselect-button":"multiselect-button-Qry4t",icon:"icon-spGqV",open:"open-QN4il"}},41757:e=>{e.exports={"nav-menu-popup-label":"nav-menu-popup-label-JmI2m","nav-menu-container":"nav-menu-container-VSzwW","user-info-container":"user-info-container-BR8yb","avatar-container":"avatar-container-jmlBM","user-info-details":"user-info-details-vvVBe","email-container":"email-container-fvFrL","email-label":"email-label-WBX2T","logout-button-container":"logout-button-container-hSW_i","logout-label":"logout-label-dUa8B","nav-menu-section":"nav-menu-section-oMELF","nav-menu-option-container":"nav-menu-option-container-gZ1gT",icon:"icon-OSgm6","nav-menu-option-label":"nav-menu-option-label-XNuY6"}},74461:e=>{e.exports={"search-bar-container":"search-bar-container-TNPzI","search-input":"search-input-aOiJ2","placeholder-label":"placeholder-label-Irklk","submit-button-container":"submit-button-container-jPP5J",icon:"icon-FT4bG","menu-container":"menu-container-vU2Gr",label:"label-Pk7mj",title:"title-CwL12","search-history-clear":"search-history-clear-i_wja",items:"items-XwajL",item:"item-C5WAm"}},88287:e=>{e.exports={"horizontal-nav-bar-container":"horizontal-nav-bar-container-jFw5Y","logo-container":"logo-container-fnFzY",logo:"logo-RVSxt","back-button-container":"back-button-container-K9AwF",title:"title-_UxXH","search-bar":"search-bar-NopQ6","buttons-container":"buttons-container-fHCke","button-container":"button-container-B23qB",icon:"icon-wrBcp","menu-button-container":"menu-button-container-WWcwa"}},35916:e=>{e.exports={"nav-tab-button-container":"nav-tab-button-container-r8HUb",label:"label-mc9eB",icon:"icon-vxKmB",logo:"logo-ST06l"}},46216:e=>{e.exports={"vertical-nav-bar-container":"vertical-nav-bar-container-AsGLM","nav-tab-button":"nav-tab-button-noMv6"}},31903:e=>{e.exports={"pagination-input-container":"pagination-input-container-vXhi6","next-button-container":"next-button-container-zNwG6","prev-button-container":"prev-button-container-qmJ1m",icon:"icon-UoyQ9","label-container":"label-container-VwInD",label:"label-cJKC1"}},12801:e=>{e.exports={background:"background-FNyrF",icon:"icon-XXj2q"}},31727:e=>{e.exports={"label-container":"label-container-iBMb9","menu-container":"menu-container-bfvDO","menu-direction-top-left":"menu-direction-top-left-KpAQN","menu-direction-bottom-left":"menu-direction-bottom-left-Uw06K","menu-direction-top-right":"menu-direction-top-right-jOtwq","menu-direction-bottom-right":"menu-direction-bottom-right-XZ9Ch"}},85451:e=>{e.exports={"search-bar-container":"search-bar-container-Vb_fz","search-input":"search-input-BWyeG",icon:"icon-poa62"}},81632:e=>{e.exports={"search-bar-container":"search-bar-container-MpNBA","search-input":"search-input-ge2wu",icon:"icon-Z_Hni"}},43486:e=>{e.exports={"share-prompt-container":"share-prompt-container-YsJwl","buttons-container":"buttons-container-Oc7PG","button-container":"button-container-oMOnv",icon:"icon-FVvQH","facebook-button":"facebook-button-KaNwb","reddit-button":"reddit-button-qVXIY","x-button":"x-button-qkuNq","url-container":"url-container-fMSp4","url-text-input":"url-text-input-Yka4x","copy-button":"copy-button-ShwCB",label:"label-iOGrs"}},18305:e=>{e.exports={"active-slider-within":"active-slider-within-lQFc1","slider-container":"slider-container-aRzVq",layer:"layer-FqnD7",track:"track-jWhBI","track-before":"track-before-FwOXh","track-after":"track-after-iD0ee",thumb:"thumb-tfDk6"}},12226:e=>{e.exports={"warning-container":"warning-container-FIITF","warning-statement":"warning-statement-I7pdD","warning-button":"warning-button-zlx_V","warning-label":"warning-label-XJnBc"}},15867:e=>{e.exports={"text-input":"text-input-jR2Nr"}},94202:e=>{e.exports={"toast-item-container":"toast-item-container-nG0uk",success:"success-eIDTa","icon-container":"icon-container-rjAiH",icon:"icon-Y4I_O",error:"error-quyOd",info:"info-KEWq8","info-container":"info-container-xD9V6","title-container":"title-container-VFReJ","message-container":"message-container-znkCj","close-button-container":"close-button-container-YtyYE"}},90729:e=>{e.exports={"tooltip-placeholder":"tooltip-placeholder-niioe"}},2980:e=>{e.exports={"tooltip-item":"tooltip-item-gfYXu"}},58658:e=>{e.exports={"addon-container":"addon-container-lC5KN","logo-container":"logo-container-ZcSSC",logo:"logo-WrsGF",icon:"icon-GxVbY","info-container":"info-container-AdMB6","name-container":"name-container-qIAg8","version-container":"version-container-zdPyN","types-container":"types-container-DaOrg","description-container":"description-container-v7Jhe","buttons-container":"buttons-container-g0xXr","action-buttons-container":"action-buttons-container-xMVmz","configure-button-container":"configure-button-container-VwVAQ","install-button-container":"install-button-container-yfcq5","share-button-container":"share-button-container-s3gwP","uninstall-button-container":"uninstall-button-container-oV4Yo",label:"label-OnWh2"}},16795:e=>{e.exports={"addons-container":"addons-container-ogGYu","addons-content":"addons-content-zhFBl","selectable-inputs-container":"selectable-inputs-container-tUul1","add-button-container":"add-button-container-SkafT",icon:"icon-HsyZS","add-button-label":"add-button-label-NN6bu","select-input-container":"select-input-container-KqG8N",spacing:"spacing-wH1w5","search-bar":"search-bar-k7MXd","filter-button":"filter-button-lLJ1X","filter-icon":"filter-icon-LUDTS","message-container":"message-container-GBw0P","addons-list-container":"addons-list-container-Ovr2Z",addon:"addon-whmdO","filters-modal":"filters-modal-w6oWY","add-addon-modal-container":"add-addon-modal-container-KR5ny",notice:"notice-UQkO1","addon-url-input":"addon-url-input-ucetZ","cancel-button":"cancel-button-R2AxR","share-modal-container":"share-modal-container-DkzPM","title-container":"title-container-La49g",logo:"logo-PmYDP","name-container":"name-container-m_Sz0",name:"name-YD0xd",version:"version-wuAFB","share-prompt-container":"share-prompt-container-vaK4P"}},85846:e=>{e.exports={"board-container":"board-container-DTN_b","board-content-container":"board-content-container-ToQTz","board-content":"board-content-nPWv1","board-row":"board-row-CoJrZ","board-warning-container":"board-warning-container-a4m04","board-row-landscape":"board-row-landscape-FRGXx","board-row-poster":"board-row-poster-QPQqC","board-row-square":"board-row-square-pgaZ3","continue-watching-row":"continue-watching-row-ZiNSa"}},63276:e=>{e.exports={"discover-container":"discover-container-L6OGL","discover-content":"discover-content-CRsRg","catalog-container":"catalog-container-VNK_T","selectable-inputs-container":"selectable-inputs-container-IRz50","select-input":"select-input-CHDbe","filter-container":"filter-container-BVkqT","filter-icon":"filter-icon-zlFnX","missing-addon-warning-container":"missing-addon-warning-container-IXGuv","warning-label":"warning-label-f19Jg","install-button":"install-button-SmJe1",label:"label-ToW4S","message-container":"message-container-Zv9eF",image:"image-txC9E","message-label":"message-label-mRyRX","meta-items-container":"meta-items-container-n8vNz","meta-item-placeholder":"meta-item-placeholder-wxG4I","poster-container":"poster-container-Dch4R","title-bar-container":"title-bar-container-dtDnk","title-label":"title-label-vHdQd","meta-preview-container":"meta-preview-container-CoWs5","selectable-inputs-modal":"selectable-inputs-modal-ChpOa"}},705:e=>{e.exports={"consent-checkbox-container":"consent-checkbox-container-WV60T",label:"label-l3LSw",link:"link-UppYg"}},23808:e=>{e.exports={"password-reset-modal-container":"password-reset-modal-container-KzJPQ","credentials-text-input":"credentials-text-input-ncrIR","error-message":"error-message-DkekN","cancel-button":"cancel-button-AneJE"}},3608:e=>{e.exports={"intro-container":"intro-container-tkNS6","background-container":"background-container-aYKCH","heading-container":"heading-container-oI70m","logo-container":"logo-container-W49kt",logo:"logo-WJ36F","slogan-container":"slogan-container-UlcYd","title-container":"title-container-CbIkM","content-container":"content-container-A1Drn","form-button":"form-button-vyqqj",icon:"icon-L_6b6",label:"label-uHD7L","guest-login-button":"guest-login-button-D8DWZ","login-form-button":"login-form-button-DqJUV","signup-form-button":"signup-form-button-UGmSk","submit-button":"submit-button-x3L8z","form-container":"form-container-HMlEh","credentials-text-input":"credentials-text-input-QMCZz","forgot-password-link-container":"forgot-password-link-container-ygZqb","forgot-password-link":"forgot-password-link-NxNUD","error-message":"error-message-cKdzB","options-container":"options-container-qxboQ","facebook-button":"facebook-button-LZ_kG","loading-modal-container":"loading-modal-container-eLyTm","loader-container":"loader-container-oe8rU",flash:"flash-wUFXY",button:"button-ryGtP"}},76495:e=>{e.exports={"library-container":"library-container-zM_bj","library-content":"library-content-PgX4O","selectable-inputs-container":"selectable-inputs-container-hR3or","select-input-container":"select-input-container-H1VZ1","message-container":"message-container-MhY5t","no-user-message-container":"no-user-message-container-KMLpE","login-button-container":"login-button-container-RoEh7",label:"label-QqYmf",image:"image-csRHm","message-label":"message-label-UExl3","meta-items-container":"meta-items-container-IKrND","selectable-inputs-modal":"selectable-inputs-modal-rHlo7"}},51586:e=>{e.exports={"stream-placeholder-container":"stream-placeholder-container-T1nxv","addon-container":"addon-container-pm1P0","addon-name":"addon-name-zAOKP","info-container":"info-container-Z1Dl6","description-container":"description-container-ZOMcn","play-icon":"play-icon-MXqj3"}},29144:e=>{e.exports={"stream-container":"stream-container-JPdah",icon:"icon-rAZvO","info-container":"info-container-TihQo",thumbnail:"thumbnail-whoms","placeholder-icon":"placeholder-icon-znYz0","addon-name":"addon-name-tC8PX","progress-bar-container":"progress-bar-container-ADRp_","progress-bar":"progress-bar-XrEBL","progress-bar-background":"progress-bar-background-HueVQ","description-container":"description-container-vW_De","context-menu-content":"context-menu-content-Xe_lN","context-menu-option-container":"context-menu-option-container-BZGla","context-menu-option-label":"context-menu-option-label-EbNNz"}},56789:e=>{e.exports={"streams-list-container":"streams-list-container-xYMJo","message-container":"message-container-f9_L4",image:"image-rIyu6",label:"label-luvnO","addons-loading-container":"addons-loading-container-Vkwp3","addons-loading":"addons-loading-zhdQr","addons-loading-bar":"addons-loading-bar-MqT59","select-choices-wrapper":"select-choices-wrapper-xGzfs","back-button-container":"back-button-container-cJ4bk",icon:"icon-SoFgF","episode-title":"episode-title-dln_c","select-input-container":"select-input-container-irGn_","streams-container":"streams-container-bbSc4","install-button-container":"install-button-container-Q60yJ"}},61892:e=>{e.exports={"seasons-bar-placeholder-container":"seasons-bar-placeholder-container-M81RN","next-season-button":"next-season-button-oGnlT","prev-season-button":"prev-season-button-TCbOq",icon:"icon-UzQjF",label:"label-lmBnj","seasons-popup-label-container":"seasons-popup-label-container-r2UDB","seasons-popup-label":"seasons-popup-label-xBinL","seasons-popup-icon":"seasons-popup-icon-p1T5d"}},90801:e=>{e.exports={"seasons-bar-container":"seasons-bar-container-nOZjG","next-season-button":"next-season-button-RrYAq","prev-season-button":"prev-season-button-bs1GQ",disabled:"disabled-WJy2x",label:"label-uJbfD",icon:"icon-_ZBEE","seasons-popup-label-container":"seasons-popup-label-container-fZcu4"}},51162:e=>{e.exports={"video-placeholder-container":"video-placeholder-container-uDsav","info-container":"info-container-KTKtT","name-container":"name-container-Jvesr","released-container":"released-container-uoc4E"}},22860:e=>{e.exports={"video-container":"video-container-UBBpR","thumbnail-container":"thumbnail-container-n_jp7",thumbnail:"thumbnail-MiS3K","placeholder-icon":"placeholder-icon-LzVIO","progress-bar-container":"progress-bar-container-gMpiB","progress-bar":"progress-bar-Yhl4z","progress-bar-background":"progress-bar-background-briMe","info-container":"info-container-szYxP","title-container":"title-container-EMXpV","flex-row-container":"flex-row-container-ExEua","released-container":"released-container-zA91y","upcoming-watched-container":"upcoming-watched-container-y_ijd","upcoming-container":"upcoming-container-ASE1L","watched-container":"watched-container-LCso2","flag-icon":"flag-icon-IJVCW","flag-label":"flag-label-dIdBb","context-menu-content":"context-menu-content-MGBhW","context-menu-option-container":"context-menu-option-container-VlNjD","context-menu-option-label":"context-menu-option-label-hOUnH"}},2721:e=>{e.exports={"videos-list-container":"videos-list-container-NepX5","message-container":"message-container-_hhmQ",image:"image-_xAbP",label:"label-Ff1_X","notifications-checkbox":"notifications-checkbox-E2l5g","seasons-bar":"seasons-bar-Ma8vp","search-bar":"search-bar-mZHWa","videos-container":"videos-container-msX8s"}},1995:e=>{e.exports={"metadetails-container":"metadetails-container-K_Dqa","nav-bar":"nav-bar-MH6Vk","metadetails-content":"metadetails-content-Uz5EV","vertical-nav-bar":"vertical-nav-bar-B39nq","background-image-layer":"background-image-layer-wJa90","background-image":"background-image-tSjYu","meta-message-container":"meta-message-container-MJZN5",image:"image-R1LcJ","message-label":"message-label-Uz4_P","meta-preview":"meta-preview-ES0h3",spacing:"spacing-rgIYg","streams-list":"streams-list-Y1lCM","videos-list":"videos-list-nE0LJ","meta-extension-modal-container":"meta-extension-modal-container-gHjqy","meta-extension-modal-iframe":"meta-extension-modal-iframe-GGHlm"}},4407:e=>{e.exports={"not-found-container":"not-found-container-Q1qsP","nav-bar":"nav-bar-Eu3_y","not-found-content":"not-found-content-z_Eza","not-found-image":"not-found-image-Qab4G","not-found-label":"not-found-label-mmwyZ"}},91190:e=>{e.exports={"buffering-loader-container":"buffering-loader-container-P7S0m","buffering-loader":"buffering-loader-fMSpb",fadeInOut:"fadeInOut-WS5RD"}},99371:e=>{e.exports={"seek-bar-container":"seek-bar-container-JGGTa",label:"label-QFbsS",slider:"slider-hBDOf"}},80424:e=>{e.exports={"volume-slider":"volume-slider-G_xAt"}},25483:e=>{e.exports={"control-bar-container":"control-bar-container-xsWA7","seek-bar":"seek-bar-I7WeY","control-bar-buttons-container":"control-bar-buttons-container-SWhkU","control-bar-button":"control-bar-button-FQUsj",icon:"icon-qy6I6","volume-slider":"volume-slider-U9jfo",spacing:"spacing-p8NJQ","control-bar-buttons-menu-button":"control-bar-buttons-menu-button-h0MWd","control-bar-buttons-menu-container":"control-bar-buttons-menu-container-M6L0_"}},80381:e=>{e.exports={error:"error-ty_iB","error-label":"error-label-lyLDv","error-sub":"error-sub-rdwAf","playlist-button":"playlist-button-tZTCo",icon:"icon-fIGRf",label:"label-Z7jSJ"}},13185:e=>{e.exports={"info-menu-container":"info-menu-container-R1QKH",stream:"stream-MY2Oy"}},85485:e=>{e.exports={"next-video-popup-container":"next-video-popup-container-H4wnL","slide-fade-in":"slide-fade-in-rk2M8","poster-container":"poster-container-tXZjA","poster-image":"poster-image-2D6wg","placeholder-icon":"placeholder-icon-fu1rK","info-container":"info-container-KLOMx","details-container":"details-container-bUOTZ",name:"name-sIiDL",label:"label-zOq_w",title:"title-Z5Kgo",description:"description-gIXiC","buttons-container":"buttons-container-iYrpZ",spacing:"spacing-iFwsN","button-container":"button-container-i4F7t","play-button":"play-button-Dluk6",icon:"icon-N3Ewm",dismiss:"dismiss-IvEL_"}},55503:e=>{e.exports={"option-container":"option-container-m_jZq",icon:"icon-krR0X",label:"label-cmqqu"}},90628:e=>{e.exports={"options-menu-container":"options-menu-container-qlzLt"}},74988:e=>{e.exports={option:"option-_O96j",icon:"icon-kqaPF",label:"label-FEOiu"}},33579:e=>{e.exports={"speed-menu-container":"speed-menu-container-ABjzc",title:"title-Hu2Dm","options-container":"options-container-DNn3D",option:"option-GcPlB"}},67071:e=>{e.exports={"statistics-menu-container":"statistics-menu-container-DhiHn",title:"title-NCwWH",label:"label-h6nN_",value:"value-E8Ftb",stats:"stats-Tr37t",stat:"stat-zoq5A","info-hash":"info-hash-GT1Cv"}},68134:e=>{e.exports={"discrete-input-container":"discrete-input-container-CMThy",header:"header-n0jWL","input-container":"input-container-TNuI2","button-container":"button-container-ciSB5",icon:"icon-JDltr","option-label":"option-label-tjeeT"}},82748:e=>{e.exports={"subtitles-menu-container":"subtitles-menu-container-PxBRZ","languages-container":"languages-container-NS7H9","subtitles-settings-container":"subtitles-settings-container-LhRGS","variants-container":"variants-container-XglzH","languages-header":"languages-header-jGNcK","settings-header":"settings-header-eaWnm","variants-header":"variants-header-TsVSR","languages-list":"languages-list-sxIwI","variants-list":"variants-list-yZo6B","language-option":"language-option-O1Yr9","variant-option":"variant-option-t7_LA","language-label":"language-label-FjjqA","variant-label":"variant-label-opjnP",icon:"icon-I1Ruh","no-variants-container":"no-variants-container-q6u1Q","no-variants-label":"no-variants-label-RmDKZ",spacing:"spacing-AWJpt","discrete-input":"discrete-input-fXELp"}},23466:e=>{e.exports={"video-container":"video-container-v9_vA",video:"video-tkpQm"}},58994:e=>{e.exports={"videos-menu-container":"videos-menu-container-ATzKq"}},46897:e=>{e.exports={"volume-change-indicator":"volume-change-indicator-EWypD","volume-icon":"volume-icon-zn9zT","volume-slider":"volume-slider-FKN0X"}},57822:e=>{e.exports={"player-container":"player-container-wIELK",overlayHidden:"overlayHidden-gyjIy","control-bar-layer":"control-bar-layer-m2jto","menu-layer":"menu-layer-HZFG9","nav-bar-layer":"nav-bar-layer-r9HT5",layer:"layer-qalDW","buffering-layer":"buffering-layer-ZZCYp","error-layer":"error-layer-RCEZC","background-layer":"background-layer-ldsp8",image:"image-XxZuJ"}},63287:e=>{e.exports={"search-container":"search-container-uXEFf","search-content":"search-content-LX6un","search-row":"search-row-EQLaD","search-hints-wrapper":"search-hints-wrapper-IjhmE","search-hints-title-container":"search-hints-title-container-MXt8W","search-hints-title":"search-hints-title-cigX3","search-hints-container":"search-hints-container-FHpPM","search-hint-container":"search-hint-container-kd8iX",icon:"icon-fOZZl",label:"label-l6wxz","message-container":"message-container-YAunr",image:"image-Xuwya","message-label":"message-label-K8LPz","search-row-landscape":"search-row-landscape-o3Lfv","search-row-poster":"search-row-poster-m7CUE","search-row-square":"search-row-square-VesJA"}},44371:e=>{e.exports={"settings-container":"settings-container-b0DCu","settings-content":"settings-content-lLXmk","side-menu-container":"side-menu-container-NG17D","side-menu-button":"side-menu-button-vbkJ1",selected:"selected-yhdng",spacing:"spacing-fpLUM","version-info-label":"version-info-label-uMkm7","sections-container":"sections-container-EUKAe","section-container":"section-container-twzKQ","section-title":"section-title-Nt71Z","section-category-container":"section-category-container-EOuS0",label:"label-FFamJ",icon:"icon-REQkK","option-container":"option-container-EGlcv","link-container":"link-container-ERYsD","user-info-option-container":"user-info-option-container-oRLJc","user-info-content":"user-info-content-ez7kZ","avatar-container":"avatar-container-YWq9E","email-logout-container":"email-logout-container-kYQDM","email-label-container":"email-label-container-oVmiO","logout-button-container":"logout-button-container-jLrU2","email-label":"email-label-Q__sJ","logout-label":"logout-label-zo4ES","user-panel-container":"user-panel-container-kkrJG","user-panel-label":"user-panel-label-beAQl","option-input-container":"option-input-container-NPgpT","option-name-container":"option-name-container-exGMI","trakt-icon":"trakt-icon-_dK95","button-container":"button-container-ENMae","multiselect-container":"multiselect-container-w0c9l","link-input-container":"link-input-container-TCi0w","checkbox-container":"checkbox-container-R9LLN","color-input-container":"color-input-container-WclA_","info-container":"info-container-wfFcS",selectable:"selectable-eucrJ","configure-input-container":"configure-input-container-PMyIY","configure-button-container":"configure-button-container-xGFgg","shortcut-container":"shortcut-container-ZSm5O","versions-section-container":"versions-section-container-LRCVQ","configure-server-url-modal-container":"configure-server-url-modal-container-vSL44","server-url-input":"server-url-input-Dfazw","cancel-button":"cancel-button-iydew"}},92703:(e,t,a)=>{"use strict";var o=a(50414);function i(){}function n(){}n.resetWarningCache=i,e.exports=function(){function e(e,t,a,i,n,r){if(r!==o){var E=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw E.name="Invariant Violation",E}}function t(){return e}e.isRequired=e;var a={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:n,resetWarningCache:i};return a.PropTypes=a,a}},45697:(e,t,a)=>{e.exports=a(92703)()},50414:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},74971:function(e,t,a){var o;e=a.nmd(e),(function(i){t&&t.nodeType,e&&e.nodeType;var n="object"==typeof a.g&&a.g;n.global!==n&&n.window!==n&&n.self;var r,E=2147483647,_=36,T=/^xn--/,s=/[^\x20-\x7E]/,S=/[\x2E\u3002\uFF0E\uFF61]/g,l={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},I=Math.floor,A=String.fromCharCode;function u(e){throw RangeError(l[e])}function d(e,t){for(var a=e.length,o=[];a--;)o[a]=t(e[a]);return o}function c(e,t){var a=e.split("@"),o="";return a.length>1&&(o=a[0]+"@",e=a[1]),o+d((e=e.replace(S,".")).split("."),t).join(".")}function O(e){for(var t,a,o=[],i=0,n=e.length;i<n;)(t=e.charCodeAt(i++))>=55296&&t<=56319&&i<n?56320==(64512&(a=e.charCodeAt(i++)))?o.push(((1023&t)<<10)+(1023&a)+65536):(o.push(t),i--):o.push(t);return o}function R(e){return d(e,(function(e){var t="";return e>65535&&(t+=A((e-=65536)>>>10&1023|55296),e=56320|1023&e),t+=A(e)})).join("")}function N(e,t){return e+22+75*(e<26)-((0!=t)<<5)}function m(e,t,a){var o=0;for(e=a?I(e/700):e>>1,e+=I(e/t);e>455;o+=_)e=I(e/35);return I(o+36*e/(e+38))}function L(e){var t,a,o,i,n,r,T,s,S,l,A,d=[],c=e.length,O=0,N=128,L=72;for((a=e.lastIndexOf("-"))<0&&(a=0),o=0;o<a;++o)e.charCodeAt(o)>=128&&u("not-basic"),d.push(e.charCodeAt(o));for(i=a>0?a+1:0;i<c;){for(n=O,r=1,T=_;i>=c&&u("invalid-input"),((s=(A=e.charCodeAt(i++))-48<10?A-22:A-65<26?A-65:A-97<26?A-97:_)>=_||s>I((E-O)/r))&&u("overflow"),O+=s*r,!(s<(S=T<=L?1:T>=L+26?26:T-L));T+=_)r>I(E/(l=_-S))&&u("overflow"),r*=l;L=m(O-n,t=d.length+1,0==n),I(O/t)>E-N&&u("overflow"),N+=I(O/t),O%=t,d.splice(O++,0,N)}return R(d)}function D(e){var t,a,o,i,n,r,T,s,S,l,d,c,R,L,D,p=[];for(c=(e=O(e)).length,t=128,a=0,n=72,r=0;r<c;++r)(d=e[r])<128&&p.push(A(d));for(o=i=p.length,i&&p.push("-");o<c;){for(T=E,r=0;r<c;++r)(d=e[r])>=t&&d<T&&(T=d);for(T-t>I((E-a)/(R=o+1))&&u("overflow"),a+=(T-t)*R,t=T,r=0;r<c;++r)if((d=e[r])<t&&++a>E&&u("overflow"),d==t){for(s=a,S=_;!(s<(l=S<=n?1:S>=n+26?26:S-n));S+=_)D=s-l,L=_-l,p.push(A(N(l+D%L,0))),s=I(D/L);p.push(A(N(s,0))),n=m(a,R,o==i),a=0,++o}++a,++t}return p.join("")}r={version:"1.3.2",ucs2:{decode:O,encode:R},decode:L,encode:D,toASCII:function(e){return c(e,(function(e){return s.test(e)?"xn--"+D(e):e}))},toUnicode:function(e){return c(e,(function(e){return T.test(e)?L(e.slice(4).toLowerCase()):e}))}},void 0===(o=function(){return r}.call(t,a,t,e))||(e.exports=o)})()},62587:e=>{"use strict";function t(e,t){return Object.prototype.hasOwnProperty.call(e,t)}e.exports=function(e,a,o,i){a=a||"&",o=o||"=";var n={};if("string"!=typeof e||0===e.length)return n;var r=/\+/g;e=e.split(a);var E=1e3;i&&"number"==typeof i.maxKeys&&(E=i.maxKeys);var _=e.length;E>0&&_>E&&(_=E);for(var T=0;T<_;++T){var s,S,l,I,A=e[T].replace(r,"%20"),u=A.indexOf(o);u>=0?(s=A.substr(0,u),S=A.substr(u+1)):(s=A,S=""),l=decodeURIComponent(s),I=decodeURIComponent(S),t(n,l)?Array.isArray(n[l])?n[l].push(I):n[l]=[n[l],I]:n[l]=I}return n}},12361:e=>{"use strict";var t=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}};e.exports=function(e,a,o,i){return a=a||"&",o=o||"=",null===e&&(e=void 0),"object"==typeof e?Object.keys(e).map((function(i){var n=encodeURIComponent(t(i))+o;return Array.isArray(e[i])?e[i].map((function(e){return n+encodeURIComponent(t(e))})).join(a):n+encodeURIComponent(t(e[i]))})).join(a):i?encodeURIComponent(t(i))+o+encodeURIComponent(t(e)):""}},17673:(e,t,a)=>{"use strict";t.decode=t.parse=a(62587),t.encode=t.stringify=a(12361)},64448:(e,t,a)=>{"use strict";var o=a(67294),i=a(63840);function n(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,a=1;a<arguments.length;a++)t+="&args[]="+encodeURIComponent(arguments[a]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var r=new Set,E={};function _(e,t){T(e,t),T(e+"Capture",t)}function T(e,t){for(E[e]=t,e=0;e<t.length;e++)r.add(t[e])}var s=!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement),S=Object.prototype.hasOwnProperty,l=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,I={},A={};function u(e,t,a,o,i,n,r){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=o,this.attributeNamespace=i,this.mustUseProperty=a,this.propertyName=e,this.type=t,this.sanitizeURL=n,this.removeEmptyString=r}var d={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach((function(e){d[e]=new u(e,0,!1,e,null,!1,!1)})),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach((function(e){var t=e[0];d[t]=new u(t,1,!1,e[1],null,!1,!1)})),["contentEditable","draggable","spellCheck","value"].forEach((function(e){d[e]=new u(e,2,!1,e.toLowerCase(),null,!1,!1)})),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach((function(e){d[e]=new u(e,2,!1,e,null,!1,!1)})),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach((function(e){d[e]=new u(e,3,!1,e.toLowerCase(),null,!1,!1)})),["checked","multiple","muted","selected"].forEach((function(e){d[e]=new u(e,3,!0,e,null,!1,!1)})),["capture","download"].forEach((function(e){d[e]=new u(e,4,!1,e,null,!1,!1)})),["cols","rows","size","span"].forEach((function(e){d[e]=new u(e,6,!1,e,null,!1,!1)})),["rowSpan","start"].forEach((function(e){d[e]=new u(e,5,!1,e.toLowerCase(),null,!1,!1)}));var c=/[\-:]([a-z])/g;function O(e){return e[1].toUpperCase()}function R(e,t,a,o){var i=d.hasOwnProperty(t)?d[t]:null;(null!==i?0!==i.type:o||!(2<t.length)||"o"!==t[0]&&"O"!==t[0]||"n"!==t[1]&&"N"!==t[1])&&((function(e,t,a,o){if(null==t||(function(e,t,a,o){if(null!==a&&0===a.type)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return!o&&(null!==a?!a.acceptsBooleans:"data-"!==(e=e.toLowerCase().slice(0,5))&&"aria-"!==e);default:return!1}})(e,t,a,o))return!0;if(o)return!1;if(null!==a)switch(a.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1})(t,a,i,o)&&(a=null),o||null===i?(function(e){return!!S.call(A,e)||!S.call(I,e)&&(l.test(e)?A[e]=!0:(I[e]=!0,!1))})(t)&&(null===a?e.removeAttribute(t):e.setAttribute(t,""+a)):i.mustUseProperty?e[i.propertyName]=null===a?3!==i.type&&"":a:(t=i.attributeName,o=i.attributeNamespace,null===a?e.removeAttribute(t):(a=3===(i=i.type)||4===i&&!0===a?"":""+a,o?e.setAttributeNS(o,t,a):e.setAttribute(t,a))))}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach((function(e){var t=e.replace(c,O);d[t]=new u(t,1,!1,e,null,!1,!1)})),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach((function(e){var t=e.replace(c,O);d[t]=new u(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)})),["xml:base","xml:lang","xml:space"].forEach((function(e){var t=e.replace(c,O);d[t]=new u(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)})),["tabIndex","crossOrigin"].forEach((function(e){d[e]=new u(e,1,!1,e.toLowerCase(),null,!1,!1)})),d.xlinkHref=new u("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach((function(e){d[e]=new u(e,1,!1,e.toLowerCase(),null,!0,!0)}));var N=o.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,m=Symbol.for("react.element"),L=Symbol.for("react.portal"),D=Symbol.for("react.fragment"),p=Symbol.for("react.strict_mode"),h=Symbol.for("react.profiler"),C=Symbol.for("react.provider"),f=Symbol.for("react.context"),B=Symbol.for("react.forward_ref"),P=Symbol.for("react.suspense"),g=Symbol.for("react.suspense_list"),v=Symbol.for("react.memo"),y=Symbol.for("react.lazy");Symbol.for("react.scope"),Symbol.for("react.debug_trace_mode");var W=Symbol.for("react.offscreen");Symbol.for("react.legacy_hidden"),Symbol.for("react.cache"),Symbol.for("react.tracing_marker");var M=Symbol.iterator;function b(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=M&&e[M]||e["@@iterator"])?e:null}var U,G=Object.assign;function k(e){if(void 0===U)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);U=t&&t[1]||""}return"\n"+U+e}var F=!1;function V(e,t){if(!e||F)return"";F=!0;var a=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),"object"==typeof Reflect&&Reflect.construct){try{Reflect.construct(t,[])}catch(e){var o=e}Reflect.construct(e,[],t)}else{try{t.call()}catch(e){o=e}e.call(t.prototype)}else{try{throw Error()}catch(e){o=e}e()}}catch(t){if(t&&o&&"string"==typeof t.stack){for(var i=t.stack.split("\n"),n=o.stack.split("\n"),r=i.length-1,E=n.length-1;1<=r&&0<=E&&i[r]!==n[E];)E--;for(;1<=r&&0<=E;r--,E--)if(i[r]!==n[E]){if(1!==r||1!==E)do{if(r--,0>--E||i[r]!==n[E]){var _="\n"+i[r].replace(" at new "," at ");return e.displayName&&_.includes("<anonymous>")&&(_=_.replace("<anonymous>",e.displayName)),_}}while(1<=r&&0<=E);break}}}finally{F=!1,Error.prepareStackTrace=a}return(e=e?e.displayName||e.name:"")?k(e):""}function H(e){switch(e.tag){case 5:return k(e.type);case 16:return k("Lazy");case 13:return k("Suspense");case 19:return k("SuspenseList");case 0:case 2:case 15:return e=V(e.type,!1);case 11:return e=V(e.type.render,!1);case 1:return e=V(e.type,!0);default:return""}}function w(e){if(null==e)return null;if("function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case D:return"Fragment";case L:return"Portal";case h:return"Profiler";case p:return"StrictMode";case P:return"Suspense";case g:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case f:return(e.displayName||"Context")+".Consumer";case C:return(e._context.displayName||"Context")+".Provider";case B:var t=e.render;return(e=e.displayName)||(e=""!==(e=t.displayName||t.name||"")?"ForwardRef("+e+")":"ForwardRef"),e;case v:return null!==(t=e.displayName||null)?t:w(e.type)||"Memo";case y:t=e._payload,e=e._init;try{return w(e(t))}catch(e){}}return null}function Y(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=(e=t.render).displayName||e.name||"",t.displayName||(""!==e?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return w(t);case 8:return t===p?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if("function"==typeof t)return t.displayName||t.name||null;if("string"==typeof t)return t}return null}function z(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":case"object":return e;default:return""}}function K(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function x(e){e._valueTracker||(e._valueTracker=(function(e){var t=K(e)?"checked":"value",a=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),o=""+e[t];if(!e.hasOwnProperty(t)&&void 0!==a&&"function"==typeof a.get&&"function"==typeof a.set){var i=a.get,n=a.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(e){o=""+e,n.call(this,e)}}),Object.defineProperty(e,t,{enumerable:a.enumerable}),{getValue:function(){return o},setValue:function(e){o=""+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}})(e))}function j(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var a=t.getValue(),o="";return e&&(o=K(e)?e.checked?"true":"false":e.value),(e=o)!==a&&(t.setValue(e),!0)}function Q(e){if(void 0===(e=e||("undefined"!=typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}function X(e,t){var a=t.checked;return G({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=a?a:e._wrapperState.initialChecked})}function $(e,t){var a=null==t.defaultValue?"":t.defaultValue,o=null!=t.checked?t.checked:t.defaultChecked;a=z(null!=t.value?t.value:a),e._wrapperState={initialChecked:o,initialValue:a,controlled:"checkbox"===t.type||"radio"===t.type?null!=t.checked:null!=t.value}}function q(e,t){null!=(t=t.checked)&&R(e,"checked",t,!1)}function J(e,t){q(e,t);var a=z(t.value),o=t.type;if(null!=a)"number"===o?(0===a&&""===e.value||e.value!=a)&&(e.value=""+a):e.value!==""+a&&(e.value=""+a);else if("submit"===o||"reset"===o)return void e.removeAttribute("value");t.hasOwnProperty("value")?ee(e,t.type,a):t.hasOwnProperty("defaultValue")&&ee(e,t.type,z(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function Z(e,t,a){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var o=t.type;if(!("submit"!==o&&"reset"!==o||void 0!==t.value&&null!==t.value))return;t=""+e._wrapperState.initialValue,a||t===e.value||(e.value=t),e.defaultValue=t}""!==(a=e.name)&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,""!==a&&(e.name=a)}function ee(e,t,a){"number"===t&&Q(e.ownerDocument)===e||(null==a?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+a&&(e.defaultValue=""+a))}var te=Array.isArray;function ae(e,t,a,o){if(e=e.options,t){t={};for(var i=0;i<a.length;i++)t["$"+a[i]]=!0;for(a=0;a<e.length;a++)i=t.hasOwnProperty("$"+e[a].value),e[a].selected!==i&&(e[a].selected=i),i&&o&&(e[a].defaultSelected=!0)}else{for(a=""+z(a),t=null,i=0;i<e.length;i++){if(e[i].value===a)return e[i].selected=!0,void(o&&(e[i].defaultSelected=!0));null!==t||e[i].disabled||(t=e[i])}null!==t&&(t.selected=!0)}}function oe(e,t){if(null!=t.dangerouslySetInnerHTML)throw Error(n(91));return G({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function ie(e,t){var a=t.value;if(null==a){if(a=t.children,t=t.defaultValue,null!=a){if(null!=t)throw Error(n(92));if(te(a)){if(1<a.length)throw Error(n(93));a=a[0]}t=a}null==t&&(t=""),a=t}e._wrapperState={initialValue:z(a)}}function ne(e,t){var a=z(t.value),o=z(t.defaultValue);null!=a&&((a=""+a)!==e.value&&(e.value=a),null==t.defaultValue&&e.defaultValue!==a&&(e.defaultValue=a)),null!=o&&(e.defaultValue=""+o)}function re(e){var t=e.textContent;t===e._wrapperState.initialValue&&""!==t&&null!==t&&(e.value=t)}function Ee(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function _e(e,t){return null==e||"http://www.w3.org/1999/xhtml"===e?Ee(t):"http://www.w3.org/2000/svg"===e&&"foreignObject"===t?"http://www.w3.org/1999/xhtml":e}var Te,se,Se=(se=function(e,t){if("http://www.w3.org/2000/svg"!==e.namespaceURI||"innerHTML"in e)e.innerHTML=t;else{for((Te=Te||document.createElement("div")).innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=Te.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}},"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(e,t,a,o){MSApp.execUnsafeLocalFunction((function(){return se(e,t)}))}:se);function le(e,t){if(t){var a=e.firstChild;if(a&&a===e.lastChild&&3===a.nodeType)return void(a.nodeValue=t)}e.textContent=t}var Ie={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Ae=["Webkit","ms","Moz","O"];function ue(e,t,a){return null==t||"boolean"==typeof t||""===t?"":a||"number"!=typeof t||0===t||Ie.hasOwnProperty(e)&&Ie[e]?(""+t).trim():t+"px"}function de(e,t){for(var a in e=e.style,t)if(t.hasOwnProperty(a)){var o=0===a.indexOf("--"),i=ue(a,t[a],o);"float"===a&&(a="cssFloat"),o?e.setProperty(a,i):e[a]=i}}Object.keys(Ie).forEach((function(e){Ae.forEach((function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Ie[t]=Ie[e]}))}));var ce=G({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Oe(e,t){if(t){if(ce[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw Error(n(137,e));if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw Error(n(60));if("object"!=typeof t.dangerouslySetInnerHTML||!("__html"in t.dangerouslySetInnerHTML))throw Error(n(61))}if(null!=t.style&&"object"!=typeof t.style)throw Error(n(62))}}function Re(e,t){if(-1===e.indexOf("-"))return"string"==typeof t.is;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Ne=null;function me(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}var Le=null,De=null,pe=null;function he(e){if(e=Oi(e)){if("function"!=typeof Le)throw Error(n(280));var t=e.stateNode;t&&(t=Ni(t),Le(e.stateNode,e.type,t))}}function Ce(e){De?pe?pe.push(e):pe=[e]:De=e}function fe(){if(De){var e=De,t=pe;if(pe=De=null,he(e),t)for(e=0;e<t.length;e++)he(t[e])}}function Be(e,t){return e(t)}function Pe(){}var ge=!1;function ve(e,t,a){if(ge)return e(t,a);ge=!0;try{return Be(e,t,a)}finally{ge=!1,(null!==De||null!==pe)&&(Pe(),fe())}}function ye(e,t){var a=e.stateNode;if(null===a)return null;var o=Ni(a);if(null===o)return null;a=o[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(o=!o.disabled)||(o=!("button"===(e=e.type)||"input"===e||"select"===e||"textarea"===e)),e=!o;break e;default:e=!1}if(e)return null;if(a&&"function"!=typeof a)throw Error(n(231,t,typeof a));return a}var We=!1;if(s)try{var Me={};Object.defineProperty(Me,"passive",{get:function(){We=!0}}),window.addEventListener("test",Me,Me),window.removeEventListener("test",Me,Me)}catch(se){We=!1}function be(e,t,a,o,i,n,r,E,_){var T=Array.prototype.slice.call(arguments,3);try{t.apply(a,T)}catch(e){this.onError(e)}}var Ue=!1,Ge=null,ke=!1,Fe=null,Ve={onError:function(e){Ue=!0,Ge=e}};function He(e,t,a,o,i,n,r,E,_){Ue=!1,Ge=null,be.apply(Ve,arguments)}function we(e){var t=e,a=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{0!=(4098&(t=e).flags)&&(a=t.return),e=t.return}while(e)}return 3===t.tag?a:null}function Ye(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&(null!==(e=e.alternate)&&(t=e.memoizedState)),null!==t)return t.dehydrated}return null}function ze(e){if(we(e)!==e)throw Error(n(188))}function Ke(e){return null!==(e=(function(e){var t=e.alternate;if(!t){if(null===(t=we(e)))throw Error(n(188));return t!==e?null:e}for(var a=e,o=t;;){var i=a.return;if(null===i)break;var r=i.alternate;if(null===r){if(null!==(o=i.return)){a=o;continue}break}if(i.child===r.child){for(r=i.child;r;){if(r===a)return ze(i),e;if(r===o)return ze(i),t;r=r.sibling}throw Error(n(188))}if(a.return!==o.return)a=i,o=r;else{for(var E=!1,_=i.child;_;){if(_===a){E=!0,a=i,o=r;break}if(_===o){E=!0,o=i,a=r;break}_=_.sibling}if(!E){for(_=r.child;_;){if(_===a){E=!0,a=r,o=i;break}if(_===o){E=!0,o=r,a=i;break}_=_.sibling}if(!E)throw Error(n(189))}}if(a.alternate!==o)throw Error(n(190))}if(3!==a.tag)throw Error(n(188));return a.stateNode.current===a?e:t})(e))?xe(e):null}function xe(e){if(5===e.tag||6===e.tag)return e;for(e=e.child;null!==e;){var t=xe(e);if(null!==t)return t;e=e.sibling}return null}var je=i.unstable_scheduleCallback,Qe=i.unstable_cancelCallback,Xe=i.unstable_shouldYield,$e=i.unstable_requestPaint,qe=i.unstable_now,Je=i.unstable_getCurrentPriorityLevel,Ze=i.unstable_ImmediatePriority,et=i.unstable_UserBlockingPriority,tt=i.unstable_NormalPriority,at=(i.unstable_LowPriority,i.unstable_IdlePriority),ot=null,it=null;var nt=Math.clz32?Math.clz32:function(e){return 0===(e>>>=0)?32:31-(rt(e)/Et|0)|0},rt=Math.log,Et=Math.LN2;var _t=64,Tt=4194304;function st(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return 4194240&e;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return 130023424&e;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function St(e,t){var a=e.pendingLanes;if(0===a)return 0;var o=0,i=e.suspendedLanes,n=e.pingedLanes,r=268435455&a;if(0!==r){var E=r&~i;0!==E?o=st(E):0!==(n&=r)&&(o=st(n))}else 0!==(r=a&~i)?o=st(r):0!==n&&(o=st(n));if(0===o)return 0;if(0!==t&&t!==o&&0==(t&i)&&((i=o&-o)>=(n=t&-t)||16===i&&0!=(4194240&n)))return t;if(0!=(4&o)&&(o|=16&a),0!==(t=e.entangledLanes))for(e=e.entanglements,t&=o;0<t;)i=1<<(a=31-nt(t)),o|=e[a],t&=~i;return o}function lt(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;default:return-1}}function It(e){return 0!==(e=-1073741825&e.pendingLanes)?e:1073741824&e?1073741824:0}function At(){var e=_t;return 0==(4194240&(_t<<=1))&&(_t=64),e}function ut(e){for(var t=[],a=0;31>a;a++)t.push(e);return t}function dt(e,t,a){e.pendingLanes|=t,536870912!==t&&(e.suspendedLanes=0,e.pingedLanes=0),(e=e.eventTimes)[t=31-nt(t)]=a}function ct(e,t){var a=e.entangledLanes|=t;for(e=e.entanglements;a;){var o=31-nt(a),i=1<<o;i&t|e[o]&t&&(e[o]|=t),a&=~i}}var Ot=0;function Rt(e){return 1<(e&=-e)?4<e?0!=(268435455&e)?16:536870912:4:1}var Nt,mt,Lt,Dt,pt,ht=!1,Ct=[],ft=null,Bt=null,Pt=null,gt=new Map,vt=new Map,yt=[],Wt="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function Mt(e,t){switch(e){case"focusin":case"focusout":ft=null;break;case"dragenter":case"dragleave":Bt=null;break;case"mouseover":case"mouseout":Pt=null;break;case"pointerover":case"pointerout":gt.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":vt.delete(t.pointerId)}}function bt(e,t,a,o,i,n){return null===e||e.nativeEvent!==n?(e={blockedOn:t,domEventName:a,eventSystemFlags:o,nativeEvent:n,targetContainers:[i]},null!==t&&(null!==(t=Oi(t))&&mt(t)),e):(e.eventSystemFlags|=o,t=e.targetContainers,null!==i&&-1===t.indexOf(i)&&t.push(i),e)}function Ut(e){var t=ci(e.target);if(null!==t){var a=we(t);if(null!==a)if(13===(t=a.tag)){if(null!==(t=Ye(a)))return e.blockedOn=t,void pt(e.priority,(function(){Lt(a)}))}else if(3===t&&a.stateNode.current.memoizedState.isDehydrated)return void(e.blockedOn=3===a.tag?a.stateNode.containerInfo:null)}e.blockedOn=null}function Gt(e){if(null!==e.blockedOn)return!1;for(var t=e.targetContainers;0<t.length;){var a=Qt(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(null!==a)return null!==(t=Oi(a))&&mt(t),e.blockedOn=a,!1;var o=new(a=e.nativeEvent).constructor(a.type,a);Ne=o,a.target.dispatchEvent(o),Ne=null,t.shift()}return!0}function kt(e,t,a){Gt(e)&&a.delete(t)}function Ft(){ht=!1,null!==ft&&Gt(ft)&&(ft=null),null!==Bt&&Gt(Bt)&&(Bt=null),null!==Pt&&Gt(Pt)&&(Pt=null),gt.forEach(kt),vt.forEach(kt)}function Vt(e,t){e.blockedOn===t&&(e.blockedOn=null,ht||(ht=!0,i.unstable_scheduleCallback(i.unstable_NormalPriority,Ft)))}function Ht(e){function t(t){return Vt(t,e)}if(0<Ct.length){Vt(Ct[0],e);for(var a=1;a<Ct.length;a++){var o=Ct[a];o.blockedOn===e&&(o.blockedOn=null)}}for(null!==ft&&Vt(ft,e),null!==Bt&&Vt(Bt,e),null!==Pt&&Vt(Pt,e),gt.forEach(t),vt.forEach(t),a=0;a<yt.length;a++)(o=yt[a]).blockedOn===e&&(o.blockedOn=null);for(;0<yt.length&&null===(a=yt[0]).blockedOn;)Ut(a),null===a.blockedOn&&yt.shift()}var wt=N.ReactCurrentBatchConfig,Yt=!0;function zt(e,t,a,o){var i=Ot,n=wt.transition;wt.transition=null;try{Ot=1,xt(e,t,a,o)}finally{Ot=i,wt.transition=n}}function Kt(e,t,a,o){var i=Ot,n=wt.transition;wt.transition=null;try{Ot=4,xt(e,t,a,o)}finally{Ot=i,wt.transition=n}}function xt(e,t,a,o){if(Yt){var i=Qt(e,t,a,o);if(null===i)Yo(e,t,o,jt,a),Mt(e,o);else if((function(e,t,a,o,i){switch(t){case"focusin":return ft=bt(ft,e,t,a,o,i),!0;case"dragenter":return Bt=bt(Bt,e,t,a,o,i),!0;case"mouseover":return Pt=bt(Pt,e,t,a,o,i),!0;case"pointerover":var n=i.pointerId;return gt.set(n,bt(gt.get(n)||null,e,t,a,o,i)),!0;case"gotpointercapture":return n=i.pointerId,vt.set(n,bt(vt.get(n)||null,e,t,a,o,i)),!0}return!1})(i,e,t,a,o))o.stopPropagation();else if(Mt(e,o),4&t&&-1<Wt.indexOf(e)){for(;null!==i;){var n=Oi(i);if(null!==n&&Nt(n),null===(n=Qt(e,t,a,o))&&Yo(e,t,o,jt,a),n===i)break;i=n}null!==i&&o.stopPropagation()}else Yo(e,t,o,null,a)}}var jt=null;function Qt(e,t,a,o){if(jt=null,null!==(e=ci(e=me(o))))if(null===(t=we(e)))e=null;else if(13===(a=t.tag)){if(null!==(e=Ye(t)))return e;e=null}else if(3===a){if(t.stateNode.current.memoizedState.isDehydrated)return 3===t.tag?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return jt=e,null}function Xt(e){switch(e){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(Je()){case Ze:return 1;case et:return 4;default:return 16;case at:return 536870912}default:return 16}}var $t=null,qt=null,Jt=null;function Zt(){if(Jt)return Jt;var e,t,a=qt,o=a.length,i="value"in $t?$t.value:$t.textContent,n=i.length;for(e=0;e<o&&a[e]===i[e];e++);var r=o-e;for(t=1;t<=r&&a[o-t]===i[n-t];t++);return Jt=i.slice(e,1<t?1-t:void 0)}function ea(e){var t=e.keyCode;return"charCode"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,10===e&&(e=13),32<=e||13===e?e:0}function ta(){return!0}function aa(){return!1}function oa(e){function t(t,a,o,i,n){for(var r in this._reactName=t,this._targetInst=o,this.type=a,this.nativeEvent=i,this.target=n,this.currentTarget=null,e)e.hasOwnProperty(r)&&(t=e[r],this[r]=t?t(i):i[r]);return this.isDefaultPrevented=(null!=i.defaultPrevented?i.defaultPrevented:!1===i.returnValue)?ta:aa,this.isPropagationStopped=aa,this}return G(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=ta)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=ta)},persist:function(){},isPersistent:ta}),t}var ia,na,ra,Ea={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},_a=oa(Ea),Ta=G({},Ea,{view:0,detail:0}),sa=oa(Ta),Sa=G({},Ta,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Da,button:0,buttons:0,relatedTarget:function(e){return void 0===e.relatedTarget?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==ra&&(ra&&"mousemove"===e.type?(ia=e.screenX-ra.screenX,na=e.screenY-ra.screenY):na=ia=0,ra=e),ia)},movementY:function(e){return"movementY"in e?e.movementY:na}}),la=oa(Sa),Ia=oa(G({},Sa,{dataTransfer:0})),Aa=oa(G({},Ta,{relatedTarget:0})),ua=oa(G({},Ea,{animationName:0,elapsedTime:0,pseudoElement:0})),da=G({},Ea,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),ca=oa(da),Oa=oa(G({},Ea,{data:0})),Ra={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Na={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},ma={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function La(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=ma[e])&&!!t[e]}function Da(){return La}var pa=G({},Ta,{key:function(e){if(e.key){var t=Ra[e.key]||e.key;if("Unidentified"!==t)return t}return"keypress"===e.type?13===(e=ea(e))?"Enter":String.fromCharCode(e):"keydown"===e.type||"keyup"===e.type?Na[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Da,charCode:function(e){return"keypress"===e.type?ea(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?ea(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}}),ha=oa(pa),Ca=oa(G({},Sa,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),fa=oa(G({},Ta,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Da})),Ba=oa(G({},Ea,{propertyName:0,elapsedTime:0,pseudoElement:0})),Pa=G({},Sa,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),ga=oa(Pa),va=[9,13,27,32],ya=s&&"CompositionEvent"in window,Wa=null;s&&"documentMode"in document&&(Wa=document.documentMode);var Ma=s&&"TextEvent"in window&&!Wa,ba=s&&(!ya||Wa&&8<Wa&&11>=Wa),Ua=String.fromCharCode(32),Ga=!1;function ka(e,t){switch(e){case"keyup":return-1!==va.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Fa(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var Va=!1;var Ha={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function wa(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!Ha[e.type]:"textarea"===t}function Ya(e,t,a,o){Ce(o),0<(t=Ko(t,"onChange")).length&&(a=new _a("onChange","change",null,a,o),e.push({event:a,listeners:t}))}var za=null,Ka=null;function xa(e){Go(e,0)}function ja(e){if(j(Ri(e)))return e}function Qa(e,t){if("change"===e)return t}var Xa=!1;if(s){var $a;if(s){var qa="oninput"in document;if(!qa){var Ja=document.createElement("div");Ja.setAttribute("oninput","return;"),qa="function"==typeof Ja.oninput}$a=qa}else $a=!1;Xa=$a&&(!document.documentMode||9<document.documentMode)}function Za(){za&&(za.detachEvent("onpropertychange",eo),Ka=za=null)}function eo(e){if("value"===e.propertyName&&ja(Ka)){var t=[];Ya(t,Ka,e,me(e)),ve(xa,t)}}function to(e,t,a){"focusin"===e?(Za(),Ka=a,(za=t).attachEvent("onpropertychange",eo)):"focusout"===e&&Za()}function ao(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)return ja(Ka)}function oo(e,t){if("click"===e)return ja(t)}function io(e,t){if("input"===e||"change"===e)return ja(t)}var no="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t};function ro(e,t){if(no(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var a=Object.keys(e),o=Object.keys(t);if(a.length!==o.length)return!1;for(o=0;o<a.length;o++){var i=a[o];if(!S.call(t,i)||!no(e[i],t[i]))return!1}return!0}function Eo(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function _o(e,t){var a,o=Eo(e);for(e=0;o;){if(3===o.nodeType){if(a=e+o.textContent.length,e<=t&&a>=t)return{node:o,offset:t-e};e=a}e:{for(;o;){if(o.nextSibling){o=o.nextSibling;break e}o=o.parentNode}o=void 0}o=Eo(o)}}function To(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?To(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function so(){for(var e=window,t=Q();t instanceof e.HTMLIFrameElement;){try{var a="string"==typeof t.contentWindow.location.href}catch(e){a=!1}if(!a)break;t=Q((e=t.contentWindow).document)}return t}function So(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}function lo(e){var t=so(),a=e.focusedElem,o=e.selectionRange;if(t!==a&&a&&a.ownerDocument&&To(a.ownerDocument.documentElement,a)){if(null!==o&&So(a))if(t=o.start,void 0===(e=o.end)&&(e=t),"selectionStart"in a)a.selectionStart=t,a.selectionEnd=Math.min(e,a.value.length);else if((e=(t=a.ownerDocument||document)&&t.defaultView||window).getSelection){e=e.getSelection();var i=a.textContent.length,n=Math.min(o.start,i);o=void 0===o.end?n:Math.min(o.end,i),!e.extend&&n>o&&(i=o,o=n,n=i),i=_o(a,n);var r=_o(a,o);i&&r&&(1!==e.rangeCount||e.anchorNode!==i.node||e.anchorOffset!==i.offset||e.focusNode!==r.node||e.focusOffset!==r.offset)&&((t=t.createRange()).setStart(i.node,i.offset),e.removeAllRanges(),n>o?(e.addRange(t),e.extend(r.node,r.offset)):(t.setEnd(r.node,r.offset),e.addRange(t)))}for(t=[],e=a;e=e.parentNode;)1===e.nodeType&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for("function"==typeof a.focus&&a.focus(),a=0;a<t.length;a++)(e=t[a]).element.scrollLeft=e.left,e.element.scrollTop=e.top}}var Io=s&&"documentMode"in document&&11>=document.documentMode,Ao=null,uo=null,co=null,Oo=!1;function Ro(e,t,a){var o=a.window===a?a.document:9===a.nodeType?a:a.ownerDocument;Oo||null==Ao||Ao!==Q(o)||("selectionStart"in(o=Ao)&&So(o)?o={start:o.selectionStart,end:o.selectionEnd}:o={anchorNode:(o=(o.ownerDocument&&o.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:o.anchorOffset,focusNode:o.focusNode,focusOffset:o.focusOffset},co&&ro(co,o)||(co=o,0<(o=Ko(uo,"onSelect")).length&&(t=new _a("onSelect","select",null,t,a),e.push({event:t,listeners:o}),t.target=Ao)))}function No(e,t){var a={};return a[e.toLowerCase()]=t.toLowerCase(),a["Webkit"+e]="webkit"+t,a["Moz"+e]="moz"+t,a}var mo={animationend:No("Animation","AnimationEnd"),animationiteration:No("Animation","AnimationIteration"),animationstart:No("Animation","AnimationStart"),transitionend:No("Transition","TransitionEnd")},Lo={},Do={};function po(e){if(Lo[e])return Lo[e];if(!mo[e])return e;var t,a=mo[e];for(t in a)if(a.hasOwnProperty(t)&&t in Do)return Lo[e]=a[t];return e}s&&(Do=document.createElement("div").style,"AnimationEvent"in window||(delete mo.animationend.animation,delete mo.animationiteration.animation,delete mo.animationstart.animation),"TransitionEvent"in window||delete mo.transitionend.transition);var ho=po("animationend"),Co=po("animationiteration"),fo=po("animationstart"),Bo=po("transitionend"),Po=new Map,go="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function vo(e,t){Po.set(e,t),_(t,[e])}for(var yo=0;yo<go.length;yo++){var Wo=go[yo];vo(Wo.toLowerCase(),"on"+(Wo[0].toUpperCase()+Wo.slice(1)))}vo(ho,"onAnimationEnd"),vo(Co,"onAnimationIteration"),vo(fo,"onAnimationStart"),vo("dblclick","onDoubleClick"),vo("focusin","onFocus"),vo("focusout","onBlur"),vo(Bo,"onTransitionEnd"),T("onMouseEnter",["mouseout","mouseover"]),T("onMouseLeave",["mouseout","mouseover"]),T("onPointerEnter",["pointerout","pointerover"]),T("onPointerLeave",["pointerout","pointerover"]),_("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),_("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),_("onBeforeInput",["compositionend","keypress","textInput","paste"]),_("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),_("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),_("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Mo="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),bo=new Set("cancel close invalid load scroll toggle".split(" ").concat(Mo));function Uo(e,t,a){var o=e.type||"unknown-event";e.currentTarget=a,(function(e,t,a,o,i,r,E,_,T){if(He.apply(this,arguments),Ue){if(!Ue)throw Error(n(198));var s=Ge;Ue=!1,Ge=null,ke||(ke=!0,Fe=s)}})(o,t,void 0,e),e.currentTarget=null}function Go(e,t){t=0!=(4&t);for(var a=0;a<e.length;a++){var o=e[a],i=o.event;o=o.listeners;e:{var n=void 0;if(t)for(var r=o.length-1;0<=r;r--){var E=o[r],_=E.instance,T=E.currentTarget;if(E=E.listener,_!==n&&i.isPropagationStopped())break e;Uo(i,E,T),n=_}else for(r=0;r<o.length;r++){if(_=(E=o[r]).instance,T=E.currentTarget,E=E.listener,_!==n&&i.isPropagationStopped())break e;Uo(i,E,T),n=_}}}if(ke)throw e=Fe,ke=!1,Fe=null,e}function ko(e,t){var a=t[Ai];void 0===a&&(a=t[Ai]=new Set);var o=e+"__bubble";a.has(o)||(wo(t,e,2,!1),a.add(o))}function Fo(e,t,a){var o=0;t&&(o|=4),wo(a,e,o,t)}var Vo="_reactListening"+Math.random().toString(36).slice(2);function Ho(e){if(!e[Vo]){e[Vo]=!0,r.forEach((function(t){"selectionchange"!==t&&(bo.has(t)||Fo(t,!1,e),Fo(t,!0,e))}));var t=9===e.nodeType?e:e.ownerDocument;null===t||t[Vo]||(t[Vo]=!0,Fo("selectionchange",!1,t))}}function wo(e,t,a,o){switch(Xt(t)){case 1:var i=zt;break;case 4:i=Kt;break;default:i=xt}a=i.bind(null,t,a,e),i=void 0,!We||"touchstart"!==t&&"touchmove"!==t&&"wheel"!==t||(i=!0),o?void 0!==i?e.addEventListener(t,a,{capture:!0,passive:i}):e.addEventListener(t,a,!0):void 0!==i?e.addEventListener(t,a,{passive:i}):e.addEventListener(t,a,!1)}function Yo(e,t,a,o,i){var n=o;if(0==(1&t)&&0==(2&t)&&null!==o)e:for(;;){if(null===o)return;var r=o.tag;if(3===r||4===r){var E=o.stateNode.containerInfo;if(E===i||8===E.nodeType&&E.parentNode===i)break;if(4===r)for(r=o.return;null!==r;){var _=r.tag;if((3===_||4===_)&&((_=r.stateNode.containerInfo)===i||8===_.nodeType&&_.parentNode===i))return;r=r.return}for(;null!==E;){if(null===(r=ci(E)))return;if(5===(_=r.tag)||6===_){o=n=r;continue e}E=E.parentNode}}o=o.return}ve((function(){var o=n,i=me(a),r=[];e:{var E=Po.get(e);if(void 0!==E){var _=_a,T=e;switch(e){case"keypress":if(0===ea(a))break e;case"keydown":case"keyup":_=ha;break;case"focusin":T="focus",_=Aa;break;case"focusout":T="blur",_=Aa;break;case"beforeblur":case"afterblur":_=Aa;break;case"click":if(2===a.button)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":_=la;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":_=Ia;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":_=fa;break;case ho:case Co:case fo:_=ua;break;case Bo:_=Ba;break;case"scroll":_=sa;break;case"wheel":_=ga;break;case"copy":case"cut":case"paste":_=ca;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":_=Ca}var s=0!=(4&t),S=!s&&"scroll"===e,l=s?null!==E?E+"Capture":null:E;s=[];for(var I,A=o;null!==A;){var u=(I=A).stateNode;if(5===I.tag&&null!==u&&(I=u,null!==l&&(null!=(u=ye(A,l))&&s.push(zo(A,u,I)))),S)break;A=A.return}0<s.length&&(E=new _(E,T,null,a,i),r.push({event:E,listeners:s}))}}if(0==(7&t)){if(_="mouseout"===e||"pointerout"===e,(!(E="mouseover"===e||"pointerover"===e)||a===Ne||!(T=a.relatedTarget||a.fromElement)||!ci(T)&&!T[Ii])&&(_||E)&&(E=i.window===i?i:(E=i.ownerDocument)?E.defaultView||E.parentWindow:window,_?(_=o,null!==(T=(T=a.relatedTarget||a.toElement)?ci(T):null)&&(T!==(S=we(T))||5!==T.tag&&6!==T.tag)&&(T=null)):(_=null,T=o),_!==T)){if(s=la,u="onMouseLeave",l="onMouseEnter",A="mouse","pointerout"!==e&&"pointerover"!==e||(s=Ca,u="onPointerLeave",l="onPointerEnter",A="pointer"),S=null==_?E:Ri(_),I=null==T?E:Ri(T),(E=new s(u,A+"leave",_,a,i)).target=S,E.relatedTarget=I,u=null,ci(i)===o&&((s=new s(l,A+"enter",T,a,i)).target=I,s.relatedTarget=S,u=s),S=u,_&&T)e:{for(l=T,A=0,I=s=_;I;I=xo(I))A++;for(I=0,u=l;u;u=xo(u))I++;for(;0<A-I;)s=xo(s),A--;for(;0<I-A;)l=xo(l),I--;for(;A--;){if(s===l||null!==l&&s===l.alternate)break e;s=xo(s),l=xo(l)}s=null}else s=null;null!==_&&jo(r,E,_,s,!1),null!==T&&null!==S&&jo(r,S,T,s,!0)}if("select"===(_=(E=o?Ri(o):window).nodeName&&E.nodeName.toLowerCase())||"input"===_&&"file"===E.type)var d=Qa;else if(wa(E))if(Xa)d=io;else{d=ao;var c=to}else(_=E.nodeName)&&"input"===_.toLowerCase()&&("checkbox"===E.type||"radio"===E.type)&&(d=oo);switch(d&&(d=d(e,o))?Ya(r,d,a,i):(c&&c(e,E,o),"focusout"===e&&(c=E._wrapperState)&&c.controlled&&"number"===E.type&&ee(E,"number",E.value)),c=o?Ri(o):window,e){case"focusin":(wa(c)||"true"===c.contentEditable)&&(Ao=c,uo=o,co=null);break;case"focusout":co=uo=Ao=null;break;case"mousedown":Oo=!0;break;case"contextmenu":case"mouseup":case"dragend":Oo=!1,Ro(r,a,i);break;case"selectionchange":if(Io)break;case"keydown":case"keyup":Ro(r,a,i)}var O;if(ya)e:{switch(e){case"compositionstart":var R="onCompositionStart";break e;case"compositionend":R="onCompositionEnd";break e;case"compositionupdate":R="onCompositionUpdate";break e}R=void 0}else Va?ka(e,a)&&(R="onCompositionEnd"):"keydown"===e&&229===a.keyCode&&(R="onCompositionStart");R&&(ba&&"ko"!==a.locale&&(Va||"onCompositionStart"!==R?"onCompositionEnd"===R&&Va&&(O=Zt()):(qt="value"in($t=i)?$t.value:$t.textContent,Va=!0)),0<(c=Ko(o,R)).length&&(R=new Oa(R,e,null,a,i),r.push({event:R,listeners:c}),O?R.data=O:null!==(O=Fa(a))&&(R.data=O))),(O=Ma?(function(e,t){switch(e){case"compositionend":return Fa(t);case"keypress":return 32!==t.which?null:(Ga=!0,Ua);case"textInput":return(e=t.data)===Ua&&Ga?null:e;default:return null}})(e,a):(function(e,t){if(Va)return"compositionend"===e||!ya&&ka(e,t)?(e=Zt(),Jt=qt=$t=null,Va=!1,e):null;switch(e){default:return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return ba&&"ko"!==t.locale?null:t.data}})(e,a))&&(0<(o=Ko(o,"onBeforeInput")).length&&(i=new Oa("onBeforeInput","beforeinput",null,a,i),r.push({event:i,listeners:o}),i.data=O))}Go(r,t)}))}function zo(e,t,a){return{instance:e,listener:t,currentTarget:a}}function Ko(e,t){for(var a=t+"Capture",o=[];null!==e;){var i=e,n=i.stateNode;5===i.tag&&null!==n&&(i=n,null!=(n=ye(e,a))&&o.unshift(zo(e,n,i)),null!=(n=ye(e,t))&&o.push(zo(e,n,i))),e=e.return}return o}function xo(e){if(null===e)return null;do{e=e.return}while(e&&5!==e.tag);return e||null}function jo(e,t,a,o,i){for(var n=t._reactName,r=[];null!==a&&a!==o;){var E=a,_=E.alternate,T=E.stateNode;if(null!==_&&_===o)break;5===E.tag&&null!==T&&(E=T,i?null!=(_=ye(a,n))&&r.unshift(zo(a,_,E)):i||null!=(_=ye(a,n))&&r.push(zo(a,_,E))),a=a.return}0!==r.length&&e.push({event:t,listeners:r})}var Qo=/\r\n?/g,Xo=/\u0000|\uFFFD/g;function $o(e){return("string"==typeof e?e:""+e).replace(Qo,"\n").replace(Xo,"")}function qo(e,t,a){if(t=$o(t),$o(e)!==t&&a)throw Error(n(425))}function Jo(){}var Zo=null,ei=null;function ti(e,t){return"textarea"===e||"noscript"===e||"string"==typeof t.children||"number"==typeof t.children||"object"==typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}var ai="function"==typeof setTimeout?setTimeout:void 0,oi="function"==typeof clearTimeout?clearTimeout:void 0,ii="function"==typeof Promise?Promise:void 0,ni="function"==typeof queueMicrotask?queueMicrotask:void 0!==ii?function(e){return ii.resolve(null).then(e).catch(ri)}:ai;function ri(e){setTimeout((function(){throw e}))}function Ei(e,t){var a=t,o=0;do{var i=a.nextSibling;if(e.removeChild(a),i&&8===i.nodeType)if("/$"===(a=i.data)){if(0===o)return e.removeChild(i),void Ht(t);o--}else"$"!==a&&"$?"!==a&&"$!"!==a||o++;a=i}while(a);Ht(t)}function _i(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break;if(8===t){if("$"===(t=e.data)||"$!"===t||"$?"===t)break;if("/$"===t)return null}}return e}function Ti(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){var a=e.data;if("$"===a||"$!"===a||"$?"===a){if(0===t)return e;t--}else"/$"===a&&t++}e=e.previousSibling}return null}var si=Math.random().toString(36).slice(2),Si="__reactFiber$"+si,li="__reactProps$"+si,Ii="__reactContainer$"+si,Ai="__reactEvents$"+si,ui="__reactListeners$"+si,di="__reactHandles$"+si;function ci(e){var t=e[Si];if(t)return t;for(var a=e.parentNode;a;){if(t=a[Ii]||a[Si]){if(a=t.alternate,null!==t.child||null!==a&&null!==a.child)for(e=Ti(e);null!==e;){if(a=e[Si])return a;e=Ti(e)}return t}a=(e=a).parentNode}return null}function Oi(e){return!(e=e[Si]||e[Ii])||5!==e.tag&&6!==e.tag&&13!==e.tag&&3!==e.tag?null:e}function Ri(e){if(5===e.tag||6===e.tag)return e.stateNode;throw Error(n(33))}function Ni(e){return e[li]||null}var mi=[],Li=-1;function Di(e){return{current:e}}function pi(e){0>Li||(e.current=mi[Li],mi[Li]=null,Li--)}function hi(e,t){Li++,mi[Li]=e.current,e.current=t}var Ci={},fi=Di(Ci),Bi=Di(!1),Pi=Ci;function gi(e,t){var a=e.type.contextTypes;if(!a)return Ci;var o=e.stateNode;if(o&&o.__reactInternalMemoizedUnmaskedChildContext===t)return o.__reactInternalMemoizedMaskedChildContext;var i,n={};for(i in a)n[i]=t[i];return o&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=n),n}function vi(e){return null!=(e=e.childContextTypes)}function yi(){pi(Bi),pi(fi)}function Wi(e,t,a){if(fi.current!==Ci)throw Error(n(168));hi(fi,t),hi(Bi,a)}function Mi(e,t,a){var o=e.stateNode;if(t=t.childContextTypes,"function"!=typeof o.getChildContext)return a;for(var i in o=o.getChildContext())if(!(i in t))throw Error(n(108,Y(e)||"Unknown",i));return G({},a,o)}function bi(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Ci,Pi=fi.current,hi(fi,e),hi(Bi,Bi.current),!0}function Ui(e,t,a){var o=e.stateNode;if(!o)throw Error(n(169));a?(e=Mi(e,t,Pi),o.__reactInternalMemoizedMergedChildContext=e,pi(Bi),pi(fi),hi(fi,e)):pi(Bi),hi(Bi,a)}var Gi=null,ki=!1,Fi=!1;function Vi(e){null===Gi?Gi=[e]:Gi.push(e)}function Hi(){if(!Fi&&null!==Gi){Fi=!0;var e=0,t=Ot;try{var a=Gi;for(Ot=1;e<a.length;e++){var o=a[e];do{o=o(!0)}while(null!==o)}Gi=null,ki=!1}catch(t){throw null!==Gi&&(Gi=Gi.slice(e+1)),je(Ze,Hi),t}finally{Ot=t,Fi=!1}}return null}var wi=[],Yi=0,zi=null,Ki=0,xi=[],ji=0,Qi=null,Xi=1,$i="";function qi(e,t){wi[Yi++]=Ki,wi[Yi++]=zi,zi=e,Ki=t}function Ji(e,t,a){xi[ji++]=Xi,xi[ji++]=$i,xi[ji++]=Qi,Qi=e;var o=Xi;e=$i;var i=32-nt(o)-1;o&=~(1<<i),a+=1;var n=32-nt(t)+i;if(30<n){var r=i-i%5;n=(o&(1<<r)-1).toString(32),o>>=r,i-=r,Xi=1<<32-nt(t)+i|a<<i|o,$i=n+e}else Xi=1<<n|a<<i|o,$i=e}function Zi(e){null!==e.return&&(qi(e,1),Ji(e,1,0))}function en(e){for(;e===zi;)zi=wi[--Yi],wi[Yi]=null,Ki=wi[--Yi],wi[Yi]=null;for(;e===Qi;)Qi=xi[--ji],xi[ji]=null,$i=xi[--ji],xi[ji]=null,Xi=xi[--ji],xi[ji]=null}var tn=null,an=null,on=!1,nn=null;function rn(e,t){var a=gT(5,null,null,0);a.elementType="DELETED",a.stateNode=t,a.return=e,null===(t=e.deletions)?(e.deletions=[a],e.flags|=16):t.push(a)}function En(e,t){switch(e.tag){case 5:var a=e.type;return null!==(t=1!==t.nodeType||a.toLowerCase()!==t.nodeName.toLowerCase()?null:t)&&(e.stateNode=t,tn=e,an=_i(t.firstChild),!0);case 6:return null!==(t=""===e.pendingProps||3!==t.nodeType?null:t)&&(e.stateNode=t,tn=e,an=null,!0);case 13:return null!==(t=8!==t.nodeType?null:t)&&(a=null!==Qi?{id:Xi,overflow:$i}:null,e.memoizedState={dehydrated:t,treeContext:a,retryLane:1073741824},(a=gT(18,null,null,0)).stateNode=t,a.return=e,e.child=a,tn=e,an=null,!0);default:return!1}}function _n(e){return 0!=(1&e.mode)&&0==(128&e.flags)}function Tn(e){if(on){var t=an;if(t){var a=t;if(!En(e,t)){if(_n(e))throw Error(n(418));t=_i(a.nextSibling);var o=tn;t&&En(e,t)?rn(o,a):(e.flags=-4097&e.flags|2,on=!1,tn=e)}}else{if(_n(e))throw Error(n(418));e.flags=-4097&e.flags|2,on=!1,tn=e}}}function sn(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;tn=e}function Sn(e){if(e!==tn)return!1;if(!on)return sn(e),on=!0,!1;var t;if((t=3!==e.tag)&&!(t=5!==e.tag)&&(t="head"!==(t=e.type)&&"body"!==t&&!ti(e.type,e.memoizedProps)),t&&(t=an)){if(_n(e))throw ln(),Error(n(418));for(;t;)rn(e,t),t=_i(t.nextSibling)}if(sn(e),13===e.tag){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(n(317));e:{for(e=e.nextSibling,t=0;e;){if(8===e.nodeType){var a=e.data;if("/$"===a){if(0===t){an=_i(e.nextSibling);break e}t--}else"$"!==a&&"$!"!==a&&"$?"!==a||t++}e=e.nextSibling}an=null}}else an=tn?_i(e.stateNode.nextSibling):null;return!0}function ln(){for(var e=an;e;)e=_i(e.nextSibling)}function In(){an=tn=null,on=!1}function An(e){null===nn?nn=[e]:nn.push(e)}var un=N.ReactCurrentBatchConfig;function dn(e,t){if(e&&e.defaultProps){for(var a in t=G({},t),e=e.defaultProps)void 0===t[a]&&(t[a]=e[a]);return t}return t}var cn=Di(null),On=null,Rn=null,Nn=null;function mn(){Nn=Rn=On=null}function Ln(e){var t=cn.current;pi(cn),e._currentValue=t}function Dn(e,t,a){for(;null!==e;){var o=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,null!==o&&(o.childLanes|=t)):null!==o&&(o.childLanes&t)!==t&&(o.childLanes|=t),e===a)break;e=e.return}}function pn(e,t){On=e,Nn=Rn=null,null!==(e=e.dependencies)&&null!==e.firstContext&&(0!=(e.lanes&t)&&(RE=!0),e.firstContext=null)}function hn(e){var t=e._currentValue;if(Nn!==e)if(e={context:e,memoizedValue:t,next:null},null===Rn){if(null===On)throw Error(n(308));Rn=e,On.dependencies={lanes:0,firstContext:e}}else Rn=Rn.next=e;return t}var Cn=null;function fn(e){null===Cn?Cn=[e]:Cn.push(e)}function Bn(e,t,a,o){var i=t.interleaved;return null===i?(a.next=a,fn(t)):(a.next=i.next,i.next=a),t.interleaved=a,Pn(e,o)}function Pn(e,t){e.lanes|=t;var a=e.alternate;for(null!==a&&(a.lanes|=t),a=e,e=e.return;null!==e;)e.childLanes|=t,null!==(a=e.alternate)&&(a.childLanes|=t),a=e,e=e.return;return 3===a.tag?a.stateNode:null}var gn=!1;function vn(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function yn(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Wn(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Mn(e,t,a){var o=e.updateQueue;if(null===o)return null;if(o=o.shared,0!=(2&f_)){var i=o.pending;return null===i?t.next=t:(t.next=i.next,i.next=t),o.pending=t,Pn(e,a)}return null===(i=o.interleaved)?(t.next=t,fn(o)):(t.next=i.next,i.next=t),o.interleaved=t,Pn(e,a)}function bn(e,t,a){if(null!==(t=t.updateQueue)&&(t=t.shared,0!=(4194240&a))){var o=t.lanes;a|=o&=e.pendingLanes,t.lanes=a,ct(e,a)}}function Un(e,t){var a=e.updateQueue,o=e.alternate;if(null!==o&&a===(o=o.updateQueue)){var i=null,n=null;if(null!==(a=a.firstBaseUpdate)){do{var r={eventTime:a.eventTime,lane:a.lane,tag:a.tag,payload:a.payload,callback:a.callback,next:null};null===n?i=n=r:n=n.next=r,a=a.next}while(null!==a);null===n?i=n=t:n=n.next=t}else i=n=t;return a={baseState:o.baseState,firstBaseUpdate:i,lastBaseUpdate:n,shared:o.shared,effects:o.effects},void(e.updateQueue=a)}null===(e=a.lastBaseUpdate)?a.firstBaseUpdate=t:e.next=t,a.lastBaseUpdate=t}function Gn(e,t,a,o){var i=e.updateQueue;gn=!1;var n=i.firstBaseUpdate,r=i.lastBaseUpdate,E=i.shared.pending;if(null!==E){i.shared.pending=null;var _=E,T=_.next;_.next=null,null===r?n=T:r.next=T,r=_;var s=e.alternate;null!==s&&((E=(s=s.updateQueue).lastBaseUpdate)!==r&&(null===E?s.firstBaseUpdate=T:E.next=T,s.lastBaseUpdate=_))}if(null!==n){var S=i.baseState;for(r=0,s=T=_=null,E=n;;){var l=E.lane,I=E.eventTime;if((o&l)===l){null!==s&&(s=s.next={eventTime:I,lane:0,tag:E.tag,payload:E.payload,callback:E.callback,next:null});e:{var A=e,u=E;switch(l=t,I=a,u.tag){case 1:if("function"==typeof(A=u.payload)){S=A.call(I,S,l);break e}S=A;break e;case 3:A.flags=-65537&A.flags|128;case 0:if(null==(l="function"==typeof(A=u.payload)?A.call(I,S,l):A))break e;S=G({},S,l);break e;case 2:gn=!0}}null!==E.callback&&0!==E.lane&&(e.flags|=64,null===(l=i.effects)?i.effects=[E]:l.push(E))}else I={eventTime:I,lane:l,tag:E.tag,payload:E.payload,callback:E.callback,next:null},null===s?(T=s=I,_=S):s=s.next=I,r|=l;if(null===(E=E.next)){if(null===(E=i.shared.pending))break;E=(l=E).next,l.next=null,i.lastBaseUpdate=l,i.shared.pending=null}}if(null===s&&(_=S),i.baseState=_,i.firstBaseUpdate=T,i.lastBaseUpdate=s,null!==(t=i.shared.interleaved)){i=t;do{r|=i.lane,i=i.next}while(i!==t)}else null===n&&(i.shared.lanes=0);b_|=r,e.lanes=r,e.memoizedState=S}}function kn(e,t,a){if(e=t.effects,t.effects=null,null!==e)for(t=0;t<e.length;t++){var o=e[t],i=o.callback;if(null!==i){if(o.callback=null,o=a,"function"!=typeof i)throw Error(n(191,i));i.call(o)}}}var Fn=(new o.Component).refs;function Vn(e,t,a,o){a=null==(a=a(o,t=e.memoizedState))?t:G({},t,a),e.memoizedState=a,0===e.lanes&&(e.updateQueue.baseState=a)}var Hn={isMounted:function(e){return!!(e=e._reactInternals)&&we(e)===e},enqueueSetState:function(e,t,a){e=e._reactInternals;var o=Z_(),i=eT(e),n=Wn(o,i);n.payload=t,null!=a&&(n.callback=a),null!==(t=Mn(e,n,i))&&(tT(t,e,i,o),bn(t,e,i))},enqueueReplaceState:function(e,t,a){e=e._reactInternals;var o=Z_(),i=eT(e),n=Wn(o,i);n.tag=1,n.payload=t,null!=a&&(n.callback=a),null!==(t=Mn(e,n,i))&&(tT(t,e,i,o),bn(t,e,i))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var a=Z_(),o=eT(e),i=Wn(a,o);i.tag=2,null!=t&&(i.callback=t),null!==(t=Mn(e,i,o))&&(tT(t,e,o,a),bn(t,e,o))}};function wn(e,t,a,o,i,n,r){return"function"==typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(o,n,r):!t.prototype||!t.prototype.isPureReactComponent||(!ro(a,o)||!ro(i,n))}function Yn(e,t,a){var o=!1,i=Ci,n=t.contextType;return"object"==typeof n&&null!==n?n=hn(n):(i=vi(t)?Pi:fi.current,n=(o=null!=(o=t.contextTypes))?gi(e,i):Ci),t=new t(a,n),e.memoizedState=null!==t.state&&void 0!==t.state?t.state:null,t.updater=Hn,e.stateNode=t,t._reactInternals=e,o&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=i,e.__reactInternalMemoizedMaskedChildContext=n),t}function zn(e,t,a,o){e=t.state,"function"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(a,o),"function"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(a,o),t.state!==e&&Hn.enqueueReplaceState(t,t.state,null)}function Kn(e,t,a,o){var i=e.stateNode;i.props=a,i.state=e.memoizedState,i.refs=Fn,vn(e);var n=t.contextType;"object"==typeof n&&null!==n?i.context=hn(n):(n=vi(t)?Pi:fi.current,i.context=gi(e,n)),i.state=e.memoizedState,"function"==typeof(n=t.getDerivedStateFromProps)&&(Vn(e,t,n,a),i.state=e.memoizedState),"function"==typeof t.getDerivedStateFromProps||"function"==typeof i.getSnapshotBeforeUpdate||"function"!=typeof i.UNSAFE_componentWillMount&&"function"!=typeof i.componentWillMount||(t=i.state,"function"==typeof i.componentWillMount&&i.componentWillMount(),"function"==typeof i.UNSAFE_componentWillMount&&i.UNSAFE_componentWillMount(),t!==i.state&&Hn.enqueueReplaceState(i,i.state,null),Gn(e,a,i,o),i.state=e.memoizedState),"function"==typeof i.componentDidMount&&(e.flags|=4194308)}function xn(e,t,a){if(null!==(e=a.ref)&&"function"!=typeof e&&"object"!=typeof e){if(a._owner){if(a=a._owner){if(1!==a.tag)throw Error(n(309));var o=a.stateNode}if(!o)throw Error(n(147,e));var i=o,r=""+e;return null!==t&&null!==t.ref&&"function"==typeof t.ref&&t.ref._stringRef===r?t.ref:(t=function(e){var t=i.refs;t===Fn&&(t=i.refs={}),null===e?delete t[r]:t[r]=e},t._stringRef=r,t)}if("string"!=typeof e)throw Error(n(284));if(!a._owner)throw Error(n(290,e))}return e}function jn(e,t){throw e=Object.prototype.toString.call(t),Error(n(31,"[object Object]"===e?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function Qn(e){return(0,e._init)(e._payload)}function Xn(e){function t(t,a){if(e){var o=t.deletions;null===o?(t.deletions=[a],t.flags|=16):o.push(a)}}function a(a,o){if(!e)return null;for(;null!==o;)t(a,o),o=o.sibling;return null}function o(e,t){for(e=new Map;null!==t;)null!==t.key?e.set(t.key,t):e.set(t.index,t),t=t.sibling;return e}function i(e,t){return(e=yT(e,t)).index=0,e.sibling=null,e}function r(t,a,o){return t.index=o,e?null!==(o=t.alternate)?(o=o.index)<a?(t.flags|=2,a):o:(t.flags|=2,a):(t.flags|=1048576,a)}function E(t){return e&&null===t.alternate&&(t.flags|=2),t}function _(e,t,a,o){return null===t||6!==t.tag?((t=UT(a,e.mode,o)).return=e,t):((t=i(t,a)).return=e,t)}function T(e,t,a,o){var n=a.type;return n===D?S(e,t,a.props.children,o,a.key):null!==t&&(t.elementType===n||"object"==typeof n&&null!==n&&n.$$typeof===y&&Qn(n)===t.type)?((o=i(t,a.props)).ref=xn(e,t,a),o.return=e,o):((o=WT(a.type,a.key,a.props,null,e.mode,o)).ref=xn(e,t,a),o.return=e,o)}function s(e,t,a,o){return null===t||4!==t.tag||t.stateNode.containerInfo!==a.containerInfo||t.stateNode.implementation!==a.implementation?((t=GT(a,e.mode,o)).return=e,t):((t=i(t,a.children||[])).return=e,t)}function S(e,t,a,o,n){return null===t||7!==t.tag?((t=MT(a,e.mode,o,n)).return=e,t):((t=i(t,a)).return=e,t)}function l(e,t,a){if("string"==typeof t&&""!==t||"number"==typeof t)return(t=UT(""+t,e.mode,a)).return=e,t;if("object"==typeof t&&null!==t){switch(t.$$typeof){case m:return(a=WT(t.type,t.key,t.props,null,e.mode,a)).ref=xn(e,null,t),a.return=e,a;case L:return(t=GT(t,e.mode,a)).return=e,t;case y:return l(e,(0,t._init)(t._payload),a)}if(te(t)||b(t))return(t=MT(t,e.mode,a,null)).return=e,t;jn(e,t)}return null}function I(e,t,a,o){var i=null!==t?t.key:null;if("string"==typeof a&&""!==a||"number"==typeof a)return null!==i?null:_(e,t,""+a,o);if("object"==typeof a&&null!==a){switch(a.$$typeof){case m:return a.key===i?T(e,t,a,o):null;case L:return a.key===i?s(e,t,a,o):null;case y:return I(e,t,(i=a._init)(a._payload),o)}if(te(a)||b(a))return null!==i?null:S(e,t,a,o,null);jn(e,a)}return null}function A(e,t,a,o,i){if("string"==typeof o&&""!==o||"number"==typeof o)return _(t,e=e.get(a)||null,""+o,i);if("object"==typeof o&&null!==o){switch(o.$$typeof){case m:return T(t,e=e.get(null===o.key?a:o.key)||null,o,i);case L:return s(t,e=e.get(null===o.key?a:o.key)||null,o,i);case y:return A(e,t,a,(0,o._init)(o._payload),i)}if(te(o)||b(o))return S(t,e=e.get(a)||null,o,i,null);jn(t,o)}return null}function u(i,n,E,_){for(var T=null,s=null,S=n,u=n=0,d=null;null!==S&&u<E.length;u++){S.index>u?(d=S,S=null):d=S.sibling;var c=I(i,S,E[u],_);if(null===c){null===S&&(S=d);break}e&&S&&null===c.alternate&&t(i,S),n=r(c,n,u),null===s?T=c:s.sibling=c,s=c,S=d}if(u===E.length)return a(i,S),on&&qi(i,u),T;if(null===S){for(;u<E.length;u++)null!==(S=l(i,E[u],_))&&(n=r(S,n,u),null===s?T=S:s.sibling=S,s=S);return on&&qi(i,u),T}for(S=o(i,S);u<E.length;u++)null!==(d=A(S,i,u,E[u],_))&&(e&&null!==d.alternate&&S.delete(null===d.key?u:d.key),n=r(d,n,u),null===s?T=d:s.sibling=d,s=d);return e&&S.forEach((function(e){return t(i,e)})),on&&qi(i,u),T}function d(i,E,_,T){var s=b(_);if("function"!=typeof s)throw Error(n(150));if(null==(_=s.call(_)))throw Error(n(151));for(var S=s=null,u=E,d=E=0,c=null,O=_.next();null!==u&&!O.done;d++,O=_.next()){u.index>d?(c=u,u=null):c=u.sibling;var R=I(i,u,O.value,T);if(null===R){null===u&&(u=c);break}e&&u&&null===R.alternate&&t(i,u),E=r(R,E,d),null===S?s=R:S.sibling=R,S=R,u=c}if(O.done)return a(i,u),on&&qi(i,d),s;if(null===u){for(;!O.done;d++,O=_.next())null!==(O=l(i,O.value,T))&&(E=r(O,E,d),null===S?s=O:S.sibling=O,S=O);return on&&qi(i,d),s}for(u=o(i,u);!O.done;d++,O=_.next())null!==(O=A(u,i,d,O.value,T))&&(e&&null!==O.alternate&&u.delete(null===O.key?d:O.key),E=r(O,E,d),null===S?s=O:S.sibling=O,S=O);return e&&u.forEach((function(e){return t(i,e)})),on&&qi(i,d),s}return function e(o,n,r,_){if("object"==typeof r&&null!==r&&r.type===D&&null===r.key&&(r=r.props.children),"object"==typeof r&&null!==r){switch(r.$$typeof){case m:e:{for(var T=r.key,s=n;null!==s;){if(s.key===T){if((T=r.type)===D){if(7===s.tag){a(o,s.sibling),(n=i(s,r.props.children)).return=o,o=n;break e}}else if(s.elementType===T||"object"==typeof T&&null!==T&&T.$$typeof===y&&Qn(T)===s.type){a(o,s.sibling),(n=i(s,r.props)).ref=xn(o,s,r),n.return=o,o=n;break e}a(o,s);break}t(o,s),s=s.sibling}r.type===D?((n=MT(r.props.children,o.mode,_,r.key)).return=o,o=n):((_=WT(r.type,r.key,r.props,null,o.mode,_)).ref=xn(o,n,r),_.return=o,o=_)}return E(o);case L:e:{for(s=r.key;null!==n;){if(n.key===s){if(4===n.tag&&n.stateNode.containerInfo===r.containerInfo&&n.stateNode.implementation===r.implementation){a(o,n.sibling),(n=i(n,r.children||[])).return=o,o=n;break e}a(o,n);break}t(o,n),n=n.sibling}(n=GT(r,o.mode,_)).return=o,o=n}return E(o);case y:return e(o,n,(s=r._init)(r._payload),_)}if(te(r))return u(o,n,r,_);if(b(r))return d(o,n,r,_);jn(o,r)}return"string"==typeof r&&""!==r||"number"==typeof r?(r=""+r,null!==n&&6===n.tag?(a(o,n.sibling),(n=i(n,r)).return=o,o=n):(a(o,n),(n=UT(r,o.mode,_)).return=o,o=n),E(o)):a(o,n)}}var $n=Xn(!0),qn=Xn(!1),Jn={},Zn=Di(Jn),er=Di(Jn),tr=Di(Jn);function ar(e){if(e===Jn)throw Error(n(174));return e}function or(e,t){switch(hi(tr,t),hi(er,e),hi(Zn,Jn),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:_e(null,"");break;default:t=_e(t=(e=8===e?t.parentNode:t).namespaceURI||null,e=e.tagName)}pi(Zn),hi(Zn,t)}function ir(){pi(Zn),pi(er),pi(tr)}function nr(e){ar(tr.current);var t=ar(Zn.current),a=_e(t,e.type);t!==a&&(hi(er,e),hi(Zn,a))}function rr(e){er.current===e&&(pi(Zn),pi(er))}var Er=Di(0);function _r(e){for(var t=e;null!==t;){if(13===t.tag){var a=t.memoizedState;if(null!==a&&(null===(a=a.dehydrated)||"$?"===a.data||"$!"===a.data))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(0!=(128&t.flags))return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Tr=[];function sr(){for(var e=0;e<Tr.length;e++)Tr[e]._workInProgressVersionPrimary=null;Tr.length=0}var Sr=N.ReactCurrentDispatcher,lr=N.ReactCurrentBatchConfig,Ir=0,Ar=null,ur=null,dr=null,cr=!1,Or=!1,Rr=0,Nr=0;function mr(){throw Error(n(321))}function Lr(e,t){if(null===t)return!1;for(var a=0;a<t.length&&a<e.length;a++)if(!no(e[a],t[a]))return!1;return!0}function Dr(e,t,a,o,i,r){if(Ir=r,Ar=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,Sr.current=null===e||null===e.memoizedState?rE:EE,e=a(o,i),Or){r=0;do{if(Or=!1,Rr=0,25<=r)throw Error(n(301));r+=1,dr=ur=null,t.updateQueue=null,Sr.current=_E,e=a(o,i)}while(Or)}if(Sr.current=nE,t=null!==ur&&null!==ur.next,Ir=0,dr=ur=Ar=null,cr=!1,t)throw Error(n(300));return e}function pr(){var e=0!==Rr;return Rr=0,e}function hr(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===dr?Ar.memoizedState=dr=e:dr=dr.next=e,dr}function Cr(){if(null===ur){var e=Ar.alternate;e=null!==e?e.memoizedState:null}else e=ur.next;var t=null===dr?Ar.memoizedState:dr.next;if(null!==t)dr=t,ur=e;else{if(null===e)throw Error(n(310));e={memoizedState:(ur=e).memoizedState,baseState:ur.baseState,baseQueue:ur.baseQueue,queue:ur.queue,next:null},null===dr?Ar.memoizedState=dr=e:dr=dr.next=e}return dr}function fr(e,t){return"function"==typeof t?t(e):t}function Br(e){var t=Cr(),a=t.queue;if(null===a)throw Error(n(311));a.lastRenderedReducer=e;var o=ur,i=o.baseQueue,r=a.pending;if(null!==r){if(null!==i){var E=i.next;i.next=r.next,r.next=E}o.baseQueue=i=r,a.pending=null}if(null!==i){r=i.next,o=o.baseState;var _=E=null,T=null,s=r;do{var S=s.lane;if((Ir&S)===S)null!==T&&(T=T.next={lane:0,action:s.action,hasEagerState:s.hasEagerState,eagerState:s.eagerState,next:null}),o=s.hasEagerState?s.eagerState:e(o,s.action);else{var l={lane:S,action:s.action,hasEagerState:s.hasEagerState,eagerState:s.eagerState,next:null};null===T?(_=T=l,E=o):T=T.next=l,Ar.lanes|=S,b_|=S}s=s.next}while(null!==s&&s!==r);null===T?E=o:T.next=_,no(o,t.memoizedState)||(RE=!0),t.memoizedState=o,t.baseState=E,t.baseQueue=T,a.lastRenderedState=o}if(null!==(e=a.interleaved)){i=e;do{r=i.lane,Ar.lanes|=r,b_|=r,i=i.next}while(i!==e)}else null===i&&(a.lanes=0);return[t.memoizedState,a.dispatch]}function Pr(e){var t=Cr(),a=t.queue;if(null===a)throw Error(n(311));a.lastRenderedReducer=e;var o=a.dispatch,i=a.pending,r=t.memoizedState;if(null!==i){a.pending=null;var E=i=i.next;do{r=e(r,E.action),E=E.next}while(E!==i);no(r,t.memoizedState)||(RE=!0),t.memoizedState=r,null===t.baseQueue&&(t.baseState=r),a.lastRenderedState=r}return[r,o]}function gr(){}function vr(e,t){var a=Ar,o=Cr(),i=t(),r=!no(o.memoizedState,i);if(r&&(o.memoizedState=i,RE=!0),o=o.queue,Yr(Mr.bind(null,a,o,e),[e]),o.getSnapshot!==t||r||null!==dr&&1&dr.memoizedState.tag){if(a.flags|=2048,kr(9,Wr.bind(null,a,o,i,t),void 0,null),null===B_)throw Error(n(349));0!=(30&Ir)||yr(a,t,i)}return i}function yr(e,t,a){e.flags|=16384,e={getSnapshot:t,value:a},null===(t=Ar.updateQueue)?(t={lastEffect:null,stores:null},Ar.updateQueue=t,t.stores=[e]):null===(a=t.stores)?t.stores=[e]:a.push(e)}function Wr(e,t,a,o){t.value=a,t.getSnapshot=o,br(t)&&Ur(e)}function Mr(e,t,a){return a((function(){br(t)&&Ur(e)}))}function br(e){var t=e.getSnapshot;e=e.value;try{var a=t();return!no(e,a)}catch(e){return!0}}function Ur(e){var t=Pn(e,1);null!==t&&tT(t,e,1,-1)}function Gr(e){var t=hr();return"function"==typeof e&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:fr,lastRenderedState:e},t.queue=e,e=e.dispatch=tE.bind(null,Ar,e),[t.memoizedState,e]}function kr(e,t,a,o){return e={tag:e,create:t,destroy:a,deps:o,next:null},null===(t=Ar.updateQueue)?(t={lastEffect:null,stores:null},Ar.updateQueue=t,t.lastEffect=e.next=e):null===(a=t.lastEffect)?t.lastEffect=e.next=e:(o=a.next,a.next=e,e.next=o,t.lastEffect=e),e}function Fr(){return Cr().memoizedState}function Vr(e,t,a,o){var i=hr();Ar.flags|=e,i.memoizedState=kr(1|t,a,void 0,void 0===o?null:o)}function Hr(e,t,a,o){var i=Cr();o=void 0===o?null:o;var n=void 0;if(null!==ur){var r=ur.memoizedState;if(n=r.destroy,null!==o&&Lr(o,r.deps))return void(i.memoizedState=kr(t,a,n,o))}Ar.flags|=e,i.memoizedState=kr(1|t,a,n,o)}function wr(e,t){return Vr(8390656,8,e,t)}function Yr(e,t){return Hr(2048,8,e,t)}function zr(e,t){return Hr(4,2,e,t)}function Kr(e,t){return Hr(4,4,e,t)}function xr(e,t){return"function"==typeof t?(e=e(),t(e),function(){t(null)}):null!=t?(e=e(),t.current=e,function(){t.current=null}):void 0}function jr(e,t,a){return a=null!=a?a.concat([e]):null,Hr(4,4,xr.bind(null,t,e),a)}function Qr(){}function Xr(e,t){var a=Cr();t=void 0===t?null:t;var o=a.memoizedState;return null!==o&&null!==t&&Lr(t,o[1])?o[0]:(a.memoizedState=[e,t],e)}function $r(e,t){var a=Cr();t=void 0===t?null:t;var o=a.memoizedState;return null!==o&&null!==t&&Lr(t,o[1])?o[0]:(e=e(),a.memoizedState=[e,t],e)}function qr(e,t,a){return 0==(21&Ir)?(e.baseState&&(e.baseState=!1,RE=!0),e.memoizedState=a):(no(a,t)||(a=At(),Ar.lanes|=a,b_|=a,e.baseState=!0),t)}function Jr(e,t){var a=Ot;Ot=0!==a&&4>a?a:4,e(!0);var o=lr.transition;lr.transition={};try{e(!1),t()}finally{Ot=a,lr.transition=o}}function Zr(){return Cr().memoizedState}function eE(e,t,a){var o=eT(e);if(a={lane:o,action:a,hasEagerState:!1,eagerState:null,next:null},aE(e))oE(t,a);else if(null!==(a=Bn(e,t,a,o))){tT(a,e,o,Z_()),iE(a,t,o)}}function tE(e,t,a){var o=eT(e),i={lane:o,action:a,hasEagerState:!1,eagerState:null,next:null};if(aE(e))oE(t,i);else{var n=e.alternate;if(0===e.lanes&&(null===n||0===n.lanes)&&null!==(n=t.lastRenderedReducer))try{var r=t.lastRenderedState,E=n(r,a);if(i.hasEagerState=!0,i.eagerState=E,no(E,r)){var _=t.interleaved;return null===_?(i.next=i,fn(t)):(i.next=_.next,_.next=i),void(t.interleaved=i)}}catch(e){}null!==(a=Bn(e,t,i,o))&&(tT(a,e,o,i=Z_()),iE(a,t,o))}}function aE(e){var t=e.alternate;return e===Ar||null!==t&&t===Ar}function oE(e,t){Or=cr=!0;var a=e.pending;null===a?t.next=t:(t.next=a.next,a.next=t),e.pending=t}function iE(e,t,a){if(0!=(4194240&a)){var o=t.lanes;a|=o&=e.pendingLanes,t.lanes=a,ct(e,a)}}var nE={readContext:hn,useCallback:mr,useContext:mr,useEffect:mr,useImperativeHandle:mr,useInsertionEffect:mr,useLayoutEffect:mr,useMemo:mr,useReducer:mr,useRef:mr,useState:mr,useDebugValue:mr,useDeferredValue:mr,useTransition:mr,useMutableSource:mr,useSyncExternalStore:mr,useId:mr,unstable_isNewReconciler:!1},rE={readContext:hn,useCallback:function(e,t){return hr().memoizedState=[e,void 0===t?null:t],e},useContext:hn,useEffect:wr,useImperativeHandle:function(e,t,a){return a=null!=a?a.concat([e]):null,Vr(4194308,4,xr.bind(null,t,e),a)},useLayoutEffect:function(e,t){return Vr(4194308,4,e,t)},useInsertionEffect:function(e,t){return Vr(4,2,e,t)},useMemo:function(e,t){var a=hr();return t=void 0===t?null:t,e=e(),a.memoizedState=[e,t],e},useReducer:function(e,t,a){var o=hr();return t=void 0!==a?a(t):t,o.memoizedState=o.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},o.queue=e,e=e.dispatch=eE.bind(null,Ar,e),[o.memoizedState,e]},useRef:function(e){return e={current:e},hr().memoizedState=e},useState:Gr,useDebugValue:Qr,useDeferredValue:function(e){return hr().memoizedState=e},useTransition:function(){var e=Gr(!1),t=e[0];return e=Jr.bind(null,e[1]),hr().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,a){var o=Ar,i=hr();if(on){if(void 0===a)throw Error(n(407));a=a()}else{if(a=t(),null===B_)throw Error(n(349));0!=(30&Ir)||yr(o,t,a)}i.memoizedState=a;var r={value:a,getSnapshot:t};return i.queue=r,wr(Mr.bind(null,o,r,e),[e]),o.flags|=2048,kr(9,Wr.bind(null,o,r,a,t),void 0,null),a},useId:function(){var e=hr(),t=B_.identifierPrefix;if(on){var a=$i;t=":"+t+"R"+(a=(Xi&~(1<<32-nt(Xi)-1)).toString(32)+a),0<(a=Rr++)&&(t+="H"+a.toString(32)),t+=":"}else t=":"+t+"r"+(a=Nr++).toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},EE={readContext:hn,useCallback:Xr,useContext:hn,useEffect:Yr,useImperativeHandle:jr,useInsertionEffect:zr,useLayoutEffect:Kr,useMemo:$r,useReducer:Br,useRef:Fr,useState:function(){return Br(fr)},useDebugValue:Qr,useDeferredValue:function(e){return qr(Cr(),ur.memoizedState,e)},useTransition:function(){return[Br(fr)[0],Cr().memoizedState]},useMutableSource:gr,useSyncExternalStore:vr,useId:Zr,unstable_isNewReconciler:!1},_E={readContext:hn,useCallback:Xr,useContext:hn,useEffect:Yr,useImperativeHandle:jr,useInsertionEffect:zr,useLayoutEffect:Kr,useMemo:$r,useReducer:Pr,useRef:Fr,useState:function(){return Pr(fr)},useDebugValue:Qr,useDeferredValue:function(e){var t=Cr();return null===ur?t.memoizedState=e:qr(t,ur.memoizedState,e)},useTransition:function(){return[Pr(fr)[0],Cr().memoizedState]},useMutableSource:gr,useSyncExternalStore:vr,useId:Zr,unstable_isNewReconciler:!1};function TE(e,t){try{var a="",o=t;do{a+=H(o),o=o.return}while(o);var i=a}catch(e){i="\nError generating stack: "+e.message+"\n"+e.stack}return{value:e,source:t,stack:i,digest:null}}function sE(e,t,a){return{value:e,source:null,stack:null!=a?a:null,digest:null!=t?t:null}}function SE(e,t){try{console.error(t.value)}catch(e){setTimeout((function(){throw e}))}}var lE="function"==typeof WeakMap?WeakMap:Map;function IE(e,t,a){(a=Wn(-1,a)).tag=3,a.payload={element:null};var o=t.value;return a.callback=function(){Y_||(Y_=!0,z_=o),SE(0,t)},a}function AE(e,t,a){(a=Wn(-1,a)).tag=3;var o=e.type.getDerivedStateFromError;if("function"==typeof o){var i=t.value;a.payload=function(){return o(i)},a.callback=function(){SE(0,t)}}var n=e.stateNode;return null!==n&&"function"==typeof n.componentDidCatch&&(a.callback=function(){SE(0,t),"function"!=typeof o&&(null===K_?K_=new Set([this]):K_.add(this));var e=t.stack;this.componentDidCatch(t.value,{componentStack:null!==e?e:""})}),a}function uE(e,t,a){var o=e.pingCache;if(null===o){o=e.pingCache=new lE;var i=new Set;o.set(t,i)}else void 0===(i=o.get(t))&&(i=new Set,o.set(t,i));i.has(a)||(i.add(a),e=pT.bind(null,e,t,a),t.then(e,e))}function dE(e){do{var t;if((t=13===e.tag)&&(t=null===(t=e.memoizedState)||null!==t.dehydrated),t)return e;e=e.return}while(null!==e);return null}function cE(e,t,a,o,i){return 0==(1&e.mode)?(e===t?e.flags|=65536:(e.flags|=128,a.flags|=131072,a.flags&=-52805,1===a.tag&&(null===a.alternate?a.tag=17:((t=Wn(-1,1)).tag=2,Mn(a,t,1))),a.lanes|=1),e):(e.flags|=65536,e.lanes=i,e)}var OE=N.ReactCurrentOwner,RE=!1;function NE(e,t,a,o){t.child=null===e?qn(t,null,a,o):$n(t,e.child,a,o)}function mE(e,t,a,o,i){a=a.render;var n=t.ref;return pn(t,i),o=Dr(e,t,a,o,n,i),a=pr(),null===e||RE?(on&&a&&Zi(t),t.flags|=1,NE(e,t,o,i),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~i,YE(e,t,i))}function LE(e,t,a,o,i){if(null===e){var n=a.type;return"function"!=typeof n||vT(n)||void 0!==n.defaultProps||null!==a.compare||void 0!==a.defaultProps?((e=WT(a.type,null,o,t,t.mode,i)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=n,DE(e,t,n,o,i))}if(n=e.child,0==(e.lanes&i)){var r=n.memoizedProps;if((a=null!==(a=a.compare)?a:ro)(r,o)&&e.ref===t.ref)return YE(e,t,i)}return t.flags|=1,(e=yT(n,o)).ref=t.ref,e.return=t,t.child=e}function DE(e,t,a,o,i){if(null!==e){var n=e.memoizedProps;if(ro(n,o)&&e.ref===t.ref){if(RE=!1,t.pendingProps=o=n,0==(e.lanes&i))return t.lanes=e.lanes,YE(e,t,i);0!=(131072&e.flags)&&(RE=!0)}}return CE(e,t,a,o,i)}function pE(e,t,a){var o=t.pendingProps,i=o.children,n=null!==e?e.memoizedState:null;if("hidden"===o.mode)if(0==(1&t.mode))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},hi(y_,v_),v_|=a;else{if(0==(1073741824&a))return e=null!==n?n.baseLanes|a:a,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,hi(y_,v_),v_|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},o=null!==n?n.baseLanes:a,hi(y_,v_),v_|=o}else null!==n?(o=n.baseLanes|a,t.memoizedState=null):o=a,hi(y_,v_),v_|=o;return NE(e,t,i,a),t.child}function hE(e,t){var a=t.ref;(null===e&&null!==a||null!==e&&e.ref!==a)&&(t.flags|=512,t.flags|=2097152)}function CE(e,t,a,o,i){var n=vi(a)?Pi:fi.current;return n=gi(t,n),pn(t,i),a=Dr(e,t,a,o,n,i),o=pr(),null===e||RE?(on&&o&&Zi(t),t.flags|=1,NE(e,t,a,i),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~i,YE(e,t,i))}function fE(e,t,a,o,i){if(vi(a)){var n=!0;bi(t)}else n=!1;if(pn(t,i),null===t.stateNode)wE(e,t),Yn(t,a,o),Kn(t,a,o,i),o=!0;else if(null===e){var r=t.stateNode,E=t.memoizedProps;r.props=E;var _=r.context,T=a.contextType;"object"==typeof T&&null!==T?T=hn(T):T=gi(t,T=vi(a)?Pi:fi.current);var s=a.getDerivedStateFromProps,S="function"==typeof s||"function"==typeof r.getSnapshotBeforeUpdate;S||"function"!=typeof r.UNSAFE_componentWillReceiveProps&&"function"!=typeof r.componentWillReceiveProps||(E!==o||_!==T)&&zn(t,r,o,T),gn=!1;var l=t.memoizedState;r.state=l,Gn(t,o,r,i),_=t.memoizedState,E!==o||l!==_||Bi.current||gn?("function"==typeof s&&(Vn(t,a,s,o),_=t.memoizedState),(E=gn||wn(t,a,E,o,l,_,T))?(S||"function"!=typeof r.UNSAFE_componentWillMount&&"function"!=typeof r.componentWillMount||("function"==typeof r.componentWillMount&&r.componentWillMount(),"function"==typeof r.UNSAFE_componentWillMount&&r.UNSAFE_componentWillMount()),"function"==typeof r.componentDidMount&&(t.flags|=4194308)):("function"==typeof r.componentDidMount&&(t.flags|=4194308),t.memoizedProps=o,t.memoizedState=_),r.props=o,r.state=_,r.context=T,o=E):("function"==typeof r.componentDidMount&&(t.flags|=4194308),o=!1)}else{r=t.stateNode,yn(e,t),E=t.memoizedProps,T=t.type===t.elementType?E:dn(t.type,E),r.props=T,S=t.pendingProps,l=r.context,"object"==typeof(_=a.contextType)&&null!==_?_=hn(_):_=gi(t,_=vi(a)?Pi:fi.current);var I=a.getDerivedStateFromProps;(s="function"==typeof I||"function"==typeof r.getSnapshotBeforeUpdate)||"function"!=typeof r.UNSAFE_componentWillReceiveProps&&"function"!=typeof r.componentWillReceiveProps||(E!==S||l!==_)&&zn(t,r,o,_),gn=!1,l=t.memoizedState,r.state=l,Gn(t,o,r,i);var A=t.memoizedState;E!==S||l!==A||Bi.current||gn?("function"==typeof I&&(Vn(t,a,I,o),A=t.memoizedState),(T=gn||wn(t,a,T,o,l,A,_)||!1)?(s||"function"!=typeof r.UNSAFE_componentWillUpdate&&"function"!=typeof r.componentWillUpdate||("function"==typeof r.componentWillUpdate&&r.componentWillUpdate(o,A,_),"function"==typeof r.UNSAFE_componentWillUpdate&&r.UNSAFE_componentWillUpdate(o,A,_)),"function"==typeof r.componentDidUpdate&&(t.flags|=4),"function"==typeof r.getSnapshotBeforeUpdate&&(t.flags|=1024)):("function"!=typeof r.componentDidUpdate||E===e.memoizedProps&&l===e.memoizedState||(t.flags|=4),"function"!=typeof r.getSnapshotBeforeUpdate||E===e.memoizedProps&&l===e.memoizedState||(t.flags|=1024),t.memoizedProps=o,t.memoizedState=A),r.props=o,r.state=A,r.context=_,o=T):("function"!=typeof r.componentDidUpdate||E===e.memoizedProps&&l===e.memoizedState||(t.flags|=4),"function"!=typeof r.getSnapshotBeforeUpdate||E===e.memoizedProps&&l===e.memoizedState||(t.flags|=1024),o=!1)}return BE(e,t,a,o,n,i)}function BE(e,t,a,o,i,n){hE(e,t);var r=0!=(128&t.flags);if(!o&&!r)return i&&Ui(t,a,!1),YE(e,t,n);o=t.stateNode,OE.current=t;var E=r&&"function"!=typeof a.getDerivedStateFromError?null:o.render();return t.flags|=1,null!==e&&r?(t.child=$n(t,e.child,null,n),t.child=$n(t,null,E,n)):NE(e,t,E,n),t.memoizedState=o.state,i&&Ui(t,a,!0),t.child}function PE(e){var t=e.stateNode;t.pendingContext?Wi(0,t.pendingContext,t.pendingContext!==t.context):t.context&&Wi(0,t.context,!1),or(e,t.containerInfo)}function gE(e,t,a,o,i){return In(),An(i),t.flags|=256,NE(e,t,a,o),t.child}var vE,yE,WE,ME={dehydrated:null,treeContext:null,retryLane:0};function bE(e){return{baseLanes:e,cachePool:null,transitions:null}}function UE(e,t,a){var o,i=t.pendingProps,r=Er.current,E=!1,_=0!=(128&t.flags);if((o=_)||(o=(null===e||null!==e.memoizedState)&&0!=(2&r)),o?(E=!0,t.flags&=-129):null!==e&&null===e.memoizedState||(r|=1),hi(Er,1&r),null===e)return Tn(t),null!==(e=t.memoizedState)&&null!==(e=e.dehydrated)?(0==(1&t.mode)?t.lanes=1:"$!"===e.data?t.lanes=8:t.lanes=1073741824,null):(_=i.children,e=i.fallback,E?(i=t.mode,E=t.child,_={mode:"hidden",children:_},0==(1&i)&&null!==E?(E.childLanes=0,E.pendingProps=_):E=bT(_,i,0,null),e=MT(e,i,a,null),E.return=t,e.return=t,E.sibling=e,t.child=E,t.child.memoizedState=bE(a),t.memoizedState=ME,e):GE(t,_));if(null!==(r=e.memoizedState)&&null!==(o=r.dehydrated))return(function(e,t,a,o,i,r,E){if(a)return 256&t.flags?(t.flags&=-257,kE(e,t,E,o=sE(Error(n(422))))):null!==t.memoizedState?(t.child=e.child,t.flags|=128,null):(r=o.fallback,i=t.mode,o=bT({mode:"visible",children:o.children},i,0,null),(r=MT(r,i,E,null)).flags|=2,o.return=t,r.return=t,o.sibling=r,t.child=o,0!=(1&t.mode)&&$n(t,e.child,null,E),t.child.memoizedState=bE(E),t.memoizedState=ME,r);if(0==(1&t.mode))return kE(e,t,E,null);if("$!"===i.data){if(o=i.nextSibling&&i.nextSibling.dataset)var _=o.dgst;return o=_,kE(e,t,E,o=sE(r=Error(n(419)),o,void 0))}if(_=0!=(E&e.childLanes),RE||_){if(null!==(o=B_)){switch(E&-E){case 4:i=2;break;case 16:i=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:i=32;break;case 536870912:i=268435456;break;default:i=0}0!==(i=0!=(i&(o.suspendedLanes|E))?0:i)&&i!==r.retryLane&&(r.retryLane=i,Pn(e,i),tT(o,e,i,-1))}return AT(),kE(e,t,E,o=sE(Error(n(421))))}return"$?"===i.data?(t.flags|=128,t.child=e.child,t=CT.bind(null,e),i._reactRetry=t,null):(e=r.treeContext,an=_i(i.nextSibling),tn=t,on=!0,nn=null,null!==e&&(xi[ji++]=Xi,xi[ji++]=$i,xi[ji++]=Qi,Xi=e.id,$i=e.overflow,Qi=t),(t=GE(t,o.children)).flags|=4096,t)})(e,t,_,i,o,r,a);if(E){E=i.fallback,_=t.mode,o=(r=e.child).sibling;var T={mode:"hidden",children:i.children};return 0==(1&_)&&t.child!==r?((i=t.child).childLanes=0,i.pendingProps=T,t.deletions=null):(i=yT(r,T)).subtreeFlags=14680064&r.subtreeFlags,null!==o?E=yT(o,E):(E=MT(E,_,a,null)).flags|=2,E.return=t,i.return=t,i.sibling=E,t.child=i,i=E,E=t.child,_=null===(_=e.child.memoizedState)?bE(a):{baseLanes:_.baseLanes|a,cachePool:null,transitions:_.transitions},E.memoizedState=_,E.childLanes=e.childLanes&~a,t.memoizedState=ME,i}return e=(E=e.child).sibling,i=yT(E,{mode:"visible",children:i.children}),0==(1&t.mode)&&(i.lanes=a),i.return=t,i.sibling=null,null!==e&&(null===(a=t.deletions)?(t.deletions=[e],t.flags|=16):a.push(e)),t.child=i,t.memoizedState=null,i}function GE(e,t){return(t=bT({mode:"visible",children:t},e.mode,0,null)).return=e,e.child=t}function kE(e,t,a,o){return null!==o&&An(o),$n(t,e.child,null,a),(e=GE(t,t.pendingProps.children)).flags|=2,t.memoizedState=null,e}function FE(e,t,a){e.lanes|=t;var o=e.alternate;null!==o&&(o.lanes|=t),Dn(e.return,t,a)}function VE(e,t,a,o,i){var n=e.memoizedState;null===n?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:o,tail:a,tailMode:i}:(n.isBackwards=t,n.rendering=null,n.renderingStartTime=0,n.last=o,n.tail=a,n.tailMode=i)}function HE(e,t,a){var o=t.pendingProps,i=o.revealOrder,n=o.tail;if(NE(e,t,o.children,a),0!=(2&(o=Er.current)))o=1&o|2,t.flags|=128;else{if(null!==e&&0!=(128&e.flags))e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&FE(e,a,t);else if(19===e.tag)FE(e,a,t);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}o&=1}if(hi(Er,o),0==(1&t.mode))t.memoizedState=null;else switch(i){case"forwards":for(a=t.child,i=null;null!==a;)null!==(e=a.alternate)&&null===_r(e)&&(i=a),a=a.sibling;null===(a=i)?(i=t.child,t.child=null):(i=a.sibling,a.sibling=null),VE(t,!1,i,a,n);break;case"backwards":for(a=null,i=t.child,t.child=null;null!==i;){if(null!==(e=i.alternate)&&null===_r(e)){t.child=i;break}e=i.sibling,i.sibling=a,a=i,i=e}VE(t,!0,a,null,n);break;case"together":VE(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function wE(e,t){0==(1&t.mode)&&null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2)}function YE(e,t,a){if(null!==e&&(t.dependencies=e.dependencies),b_|=t.lanes,0==(a&t.childLanes))return null;if(null!==e&&t.child!==e.child)throw Error(n(153));if(null!==t.child){for(a=yT(e=t.child,e.pendingProps),t.child=a,a.return=t;null!==e.sibling;)e=e.sibling,(a=a.sibling=yT(e,e.pendingProps)).return=t;a.sibling=null}return t.child}function zE(e,t){if(!on)switch(e.tailMode){case"hidden":t=e.tail;for(var a=null;null!==t;)null!==t.alternate&&(a=t),t=t.sibling;null===a?e.tail=null:a.sibling=null;break;case"collapsed":a=e.tail;for(var o=null;null!==a;)null!==a.alternate&&(o=a),a=a.sibling;null===o?t||null===e.tail?e.tail=null:e.tail.sibling=null:o.sibling=null}}function KE(e){var t=null!==e.alternate&&e.alternate.child===e.child,a=0,o=0;if(t)for(var i=e.child;null!==i;)a|=i.lanes|i.childLanes,o|=14680064&i.subtreeFlags,o|=14680064&i.flags,i.return=e,i=i.sibling;else for(i=e.child;null!==i;)a|=i.lanes|i.childLanes,o|=i.subtreeFlags,o|=i.flags,i.return=e,i=i.sibling;return e.subtreeFlags|=o,e.childLanes=a,t}function xE(e,t,a){var o=t.pendingProps;switch(en(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return KE(t),null;case 1:case 17:return vi(t.type)&&yi(),KE(t),null;case 3:return o=t.stateNode,ir(),pi(Bi),pi(fi),sr(),o.pendingContext&&(o.context=o.pendingContext,o.pendingContext=null),null!==e&&null!==e.child||(Sn(t)?t.flags|=4:null===e||e.memoizedState.isDehydrated&&0==(256&t.flags)||(t.flags|=1024,null!==nn&&(nT(nn),nn=null))),KE(t),null;case 5:rr(t);var i=ar(tr.current);if(a=t.type,null!==e&&null!=t.stateNode)yE(e,t,a,o),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!o){if(null===t.stateNode)throw Error(n(166));return KE(t),null}if(e=ar(Zn.current),Sn(t)){o=t.stateNode,a=t.type;var r=t.memoizedProps;switch(o[Si]=t,o[li]=r,e=0!=(1&t.mode),a){case"dialog":ko("cancel",o),ko("close",o);break;case"iframe":case"object":case"embed":ko("load",o);break;case"video":case"audio":for(i=0;i<Mo.length;i++)ko(Mo[i],o);break;case"source":ko("error",o);break;case"img":case"image":case"link":ko("error",o),ko("load",o);break;case"details":ko("toggle",o);break;case"input":$(o,r),ko("invalid",o);break;case"select":o._wrapperState={wasMultiple:!!r.multiple},ko("invalid",o);break;case"textarea":ie(o,r),ko("invalid",o)}for(var _ in Oe(a,r),i=null,r)if(r.hasOwnProperty(_)){var T=r[_];"children"===_?"string"==typeof T?o.textContent!==T&&(!0!==r.suppressHydrationWarning&&qo(o.textContent,T,e),i=["children",T]):"number"==typeof T&&o.textContent!==""+T&&(!0!==r.suppressHydrationWarning&&qo(o.textContent,T,e),i=["children",""+T]):E.hasOwnProperty(_)&&null!=T&&"onScroll"===_&&ko("scroll",o)}switch(a){case"input":x(o),Z(o,r,!0);break;case"textarea":x(o),re(o);break;case"select":case"option":break;default:"function"==typeof r.onClick&&(o.onclick=Jo)}o=i,t.updateQueue=o,null!==o&&(t.flags|=4)}else{_=9===i.nodeType?i:i.ownerDocument,"http://www.w3.org/1999/xhtml"===e&&(e=Ee(a)),"http://www.w3.org/1999/xhtml"===e?"script"===a?((e=_.createElement("div")).innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):"string"==typeof o.is?e=_.createElement(a,{is:o.is}):(e=_.createElement(a),"select"===a&&(_=e,o.multiple?_.multiple=!0:o.size&&(_.size=o.size))):e=_.createElementNS(e,a),e[Si]=t,e[li]=o,vE(e,t),t.stateNode=e;e:{switch(_=Re(a,o),a){case"dialog":ko("cancel",e),ko("close",e),i=o;break;case"iframe":case"object":case"embed":ko("load",e),i=o;break;case"video":case"audio":for(i=0;i<Mo.length;i++)ko(Mo[i],e);i=o;break;case"source":ko("error",e),i=o;break;case"img":case"image":case"link":ko("error",e),ko("load",e),i=o;break;case"details":ko("toggle",e),i=o;break;case"input":$(e,o),i=X(e,o),ko("invalid",e);break;default:i=o;break;case"select":e._wrapperState={wasMultiple:!!o.multiple},i=G({},o,{value:void 0}),ko("invalid",e);break;case"textarea":ie(e,o),i=oe(e,o),ko("invalid",e)}for(r in Oe(a,i),T=i)if(T.hasOwnProperty(r)){var s=T[r];"style"===r?de(e,s):"dangerouslySetInnerHTML"===r?null!=(s=s?s.__html:void 0)&&Se(e,s):"children"===r?"string"==typeof s?("textarea"!==a||""!==s)&&le(e,s):"number"==typeof s&&le(e,""+s):"suppressContentEditableWarning"!==r&&"suppressHydrationWarning"!==r&&"autoFocus"!==r&&(E.hasOwnProperty(r)?null!=s&&"onScroll"===r&&ko("scroll",e):null!=s&&R(e,r,s,_))}switch(a){case"input":x(e),Z(e,o,!1);break;case"textarea":x(e),re(e);break;case"option":null!=o.value&&e.setAttribute("value",""+z(o.value));break;case"select":e.multiple=!!o.multiple,null!=(r=o.value)?ae(e,!!o.multiple,r,!1):null!=o.defaultValue&&ae(e,!!o.multiple,o.defaultValue,!0);break;default:"function"==typeof i.onClick&&(e.onclick=Jo)}switch(a){case"button":case"input":case"select":case"textarea":o=!!o.autoFocus;break e;case"img":o=!0;break e;default:o=!1}}o&&(t.flags|=4)}null!==t.ref&&(t.flags|=512,t.flags|=2097152)}return KE(t),null;case 6:if(e&&null!=t.stateNode)WE(0,t,e.memoizedProps,o);else{if("string"!=typeof o&&null===t.stateNode)throw Error(n(166));if(a=ar(tr.current),ar(Zn.current),Sn(t)){if(o=t.stateNode,a=t.memoizedProps,o[Si]=t,(r=o.nodeValue!==a)&&null!==(e=tn))switch(e.tag){case 3:qo(o.nodeValue,a,0!=(1&e.mode));break;case 5:!0!==e.memoizedProps.suppressHydrationWarning&&qo(o.nodeValue,a,0!=(1&e.mode))}r&&(t.flags|=4)}else(o=(9===a.nodeType?a:a.ownerDocument).createTextNode(o))[Si]=t,t.stateNode=o}return KE(t),null;case 13:if(pi(Er),o=t.memoizedState,null===e||null!==e.memoizedState&&null!==e.memoizedState.dehydrated){if(on&&null!==an&&0!=(1&t.mode)&&0==(128&t.flags))ln(),In(),t.flags|=98560,r=!1;else if(r=Sn(t),null!==o&&null!==o.dehydrated){if(null===e){if(!r)throw Error(n(318));if(!(r=null!==(r=t.memoizedState)?r.dehydrated:null))throw Error(n(317));r[Si]=t}else In(),0==(128&t.flags)&&(t.memoizedState=null),t.flags|=4;KE(t),r=!1}else null!==nn&&(nT(nn),nn=null),r=!0;if(!r)return 65536&t.flags?t:null}return 0!=(128&t.flags)?(t.lanes=a,t):((o=null!==o)!==(null!==e&&null!==e.memoizedState)&&o&&(t.child.flags|=8192,0!=(1&t.mode)&&(null===e||0!=(1&Er.current)?0===W_&&(W_=3):AT())),null!==t.updateQueue&&(t.flags|=4),KE(t),null);case 4:return ir(),null===e&&Ho(t.stateNode.containerInfo),KE(t),null;case 10:return Ln(t.type._context),KE(t),null;case 19:if(pi(Er),null===(r=t.memoizedState))return KE(t),null;if(o=0!=(128&t.flags),null===(_=r.rendering))if(o)zE(r,!1);else{if(0!==W_||null!==e&&0!=(128&e.flags))for(e=t.child;null!==e;){if(null!==(_=_r(e))){for(t.flags|=128,zE(r,!1),null!==(o=_.updateQueue)&&(t.updateQueue=o,t.flags|=4),t.subtreeFlags=0,o=a,a=t.child;null!==a;)e=o,(r=a).flags&=14680066,null===(_=r.alternate)?(r.childLanes=0,r.lanes=e,r.child=null,r.subtreeFlags=0,r.memoizedProps=null,r.memoizedState=null,r.updateQueue=null,r.dependencies=null,r.stateNode=null):(r.childLanes=_.childLanes,r.lanes=_.lanes,r.child=_.child,r.subtreeFlags=0,r.deletions=null,r.memoizedProps=_.memoizedProps,r.memoizedState=_.memoizedState,r.updateQueue=_.updateQueue,r.type=_.type,e=_.dependencies,r.dependencies=null===e?null:{lanes:e.lanes,firstContext:e.firstContext}),a=a.sibling;return hi(Er,1&Er.current|2),t.child}e=e.sibling}null!==r.tail&&qe()>H_&&(t.flags|=128,o=!0,zE(r,!1),t.lanes=4194304)}else{if(!o)if(null!==(e=_r(_))){if(t.flags|=128,o=!0,null!==(a=e.updateQueue)&&(t.updateQueue=a,t.flags|=4),zE(r,!0),null===r.tail&&"hidden"===r.tailMode&&!_.alternate&&!on)return KE(t),null}else 2*qe()-r.renderingStartTime>H_&&1073741824!==a&&(t.flags|=128,o=!0,zE(r,!1),t.lanes=4194304);r.isBackwards?(_.sibling=t.child,t.child=_):(null!==(a=r.last)?a.sibling=_:t.child=_,r.last=_)}return null!==r.tail?(t=r.tail,r.rendering=t,r.tail=t.sibling,r.renderingStartTime=qe(),t.sibling=null,a=Er.current,hi(Er,o?1&a|2:1&a),t):(KE(t),null);case 22:case 23:return sT(),o=null!==t.memoizedState,null!==e&&null!==e.memoizedState!==o&&(t.flags|=8192),o&&0!=(1&t.mode)?0!=(1073741824&v_)&&(KE(t),6&t.subtreeFlags&&(t.flags|=8192)):KE(t),null;case 24:case 25:return null}throw Error(n(156,t.tag))}function jE(e,t){switch(en(t),t.tag){case 1:return vi(t.type)&&yi(),65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 3:return ir(),pi(Bi),pi(fi),sr(),0!=(65536&(e=t.flags))&&0==(128&e)?(t.flags=-65537&e|128,t):null;case 5:return rr(t),null;case 13:if(pi(Er),null!==(e=t.memoizedState)&&null!==e.dehydrated){if(null===t.alternate)throw Error(n(340));In()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 19:return pi(Er),null;case 4:return ir(),null;case 10:return Ln(t.type._context),null;case 22:case 23:return sT(),null;default:return null}}vE=function(e,t){for(var a=t.child;null!==a;){if(5===a.tag||6===a.tag)e.appendChild(a.stateNode);else if(4!==a.tag&&null!==a.child){a.child.return=a,a=a.child;continue}if(a===t)break;for(;null===a.sibling;){if(null===a.return||a.return===t)return;a=a.return}a.sibling.return=a.return,a=a.sibling}},yE=function(e,t,a,o){var i=e.memoizedProps;if(i!==o){e=t.stateNode,ar(Zn.current);var n,r=null;switch(a){case"input":i=X(e,i),o=X(e,o),r=[];break;case"select":i=G({},i,{value:void 0}),o=G({},o,{value:void 0}),r=[];break;case"textarea":i=oe(e,i),o=oe(e,o),r=[];break;default:"function"!=typeof i.onClick&&"function"==typeof o.onClick&&(e.onclick=Jo)}for(s in Oe(a,o),a=null,i)if(!o.hasOwnProperty(s)&&i.hasOwnProperty(s)&&null!=i[s])if("style"===s){var _=i[s];for(n in _)_.hasOwnProperty(n)&&(a||(a={}),a[n]="")}else"dangerouslySetInnerHTML"!==s&&"children"!==s&&"suppressContentEditableWarning"!==s&&"suppressHydrationWarning"!==s&&"autoFocus"!==s&&(E.hasOwnProperty(s)?r||(r=[]):(r=r||[]).push(s,null));for(s in o){var T=o[s];if(_=null!=i?i[s]:void 0,o.hasOwnProperty(s)&&T!==_&&(null!=T||null!=_))if("style"===s)if(_){for(n in _)!_.hasOwnProperty(n)||T&&T.hasOwnProperty(n)||(a||(a={}),a[n]="");for(n in T)T.hasOwnProperty(n)&&_[n]!==T[n]&&(a||(a={}),a[n]=T[n])}else a||(r||(r=[]),r.push(s,a)),a=T;else"dangerouslySetInnerHTML"===s?(T=T?T.__html:void 0,_=_?_.__html:void 0,null!=T&&_!==T&&(r=r||[]).push(s,T)):"children"===s?"string"!=typeof T&&"number"!=typeof T||(r=r||[]).push(s,""+T):"suppressContentEditableWarning"!==s&&"suppressHydrationWarning"!==s&&(E.hasOwnProperty(s)?(null!=T&&"onScroll"===s&&ko("scroll",e),r||_===T||(r=[])):(r=r||[]).push(s,T))}a&&(r=r||[]).push("style",a);var s=r;(t.updateQueue=s)&&(t.flags|=4)}},WE=function(e,t,a,o){a!==o&&(t.flags|=4)};var QE=!1,XE=!1,$E="function"==typeof WeakSet?WeakSet:Set,qE=null;function JE(e,t){var a=e.ref;if(null!==a)if("function"==typeof a)try{a(null)}catch(a){DT(e,t,a)}else a.current=null}function ZE(e,t,a){try{a()}catch(a){DT(e,t,a)}}var e_=!1;function t_(e,t,a){var o=t.updateQueue;if(null!==(o=null!==o?o.lastEffect:null)){var i=o=o.next;do{if((i.tag&e)===e){var n=i.destroy;i.destroy=void 0,void 0!==n&&ZE(t,a,n)}i=i.next}while(i!==o)}}function a_(e,t){if(null!==(t=null!==(t=t.updateQueue)?t.lastEffect:null)){var a=t=t.next;do{if((a.tag&e)===e){var o=a.create;a.destroy=o()}a=a.next}while(a!==t)}}function o_(e){var t=e.ref;if(null!==t){var a=e.stateNode;e.tag,e=a,"function"==typeof t?t(e):t.current=e}}function i_(e){var t=e.alternate;null!==t&&(e.alternate=null,i_(t)),e.child=null,e.deletions=null,e.sibling=null,5===e.tag&&(null!==(t=e.stateNode)&&(delete t[Si],delete t[li],delete t[Ai],delete t[ui],delete t[di])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function n_(e){return 5===e.tag||3===e.tag||4===e.tag}function r_(e){e:for(;;){for(;null===e.sibling;){if(null===e.return||n_(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;5!==e.tag&&6!==e.tag&&18!==e.tag;){if(2&e.flags)continue e;if(null===e.child||4===e.tag)continue e;e.child.return=e,e=e.child}if(!(2&e.flags))return e.stateNode}}function E_(e,t,a){var o=e.tag;if(5===o||6===o)e=e.stateNode,t?8===a.nodeType?a.parentNode.insertBefore(e,t):a.insertBefore(e,t):(8===a.nodeType?(t=a.parentNode).insertBefore(e,a):(t=a).appendChild(e),null!=(a=a._reactRootContainer)||null!==t.onclick||(t.onclick=Jo));else if(4!==o&&null!==(e=e.child))for(E_(e,t,a),e=e.sibling;null!==e;)E_(e,t,a),e=e.sibling}function __(e,t,a){var o=e.tag;if(5===o||6===o)e=e.stateNode,t?a.insertBefore(e,t):a.appendChild(e);else if(4!==o&&null!==(e=e.child))for(__(e,t,a),e=e.sibling;null!==e;)__(e,t,a),e=e.sibling}var T_=null,s_=!1;function S_(e,t,a){for(a=a.child;null!==a;)l_(e,t,a),a=a.sibling}function l_(e,t,a){if(it&&"function"==typeof it.onCommitFiberUnmount)try{it.onCommitFiberUnmount(ot,a)}catch(e){}switch(a.tag){case 5:XE||JE(a,t);case 6:var o=T_,i=s_;T_=null,S_(e,t,a),s_=i,null!==(T_=o)&&(s_?(e=T_,a=a.stateNode,8===e.nodeType?e.parentNode.removeChild(a):e.removeChild(a)):T_.removeChild(a.stateNode));break;case 18:null!==T_&&(s_?(e=T_,a=a.stateNode,8===e.nodeType?Ei(e.parentNode,a):1===e.nodeType&&Ei(e,a),Ht(e)):Ei(T_,a.stateNode));break;case 4:o=T_,i=s_,T_=a.stateNode.containerInfo,s_=!0,S_(e,t,a),T_=o,s_=i;break;case 0:case 11:case 14:case 15:if(!XE&&(null!==(o=a.updateQueue)&&null!==(o=o.lastEffect))){i=o=o.next;do{var n=i,r=n.destroy;n=n.tag,void 0!==r&&(0!=(2&n)||0!=(4&n))&&ZE(a,t,r),i=i.next}while(i!==o)}S_(e,t,a);break;case 1:if(!XE&&(JE(a,t),"function"==typeof(o=a.stateNode).componentWillUnmount))try{o.props=a.memoizedProps,o.state=a.memoizedState,o.componentWillUnmount()}catch(e){DT(a,t,e)}S_(e,t,a);break;case 21:S_(e,t,a);break;case 22:1&a.mode?(XE=(o=XE)||null!==a.memoizedState,S_(e,t,a),XE=o):S_(e,t,a);break;default:S_(e,t,a)}}function I_(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var a=e.stateNode;null===a&&(a=e.stateNode=new $E),t.forEach((function(t){var o=fT.bind(null,e,t);a.has(t)||(a.add(t),t.then(o,o))}))}}function A_(e,t){var a=t.deletions;if(null!==a)for(var o=0;o<a.length;o++){var i=a[o];try{var r=e,E=t,_=E;e:for(;null!==_;){switch(_.tag){case 5:T_=_.stateNode,s_=!1;break e;case 3:case 4:T_=_.stateNode.containerInfo,s_=!0;break e}_=_.return}if(null===T_)throw Error(n(160));l_(r,E,i),T_=null,s_=!1;var T=i.alternate;null!==T&&(T.return=null),i.return=null}catch(e){DT(i,t,e)}}if(12854&t.subtreeFlags)for(t=t.child;null!==t;)u_(t,e),t=t.sibling}function u_(e,t){var a=e.alternate,o=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(A_(t,e),d_(e),4&o){try{t_(3,e,e.return),a_(3,e)}catch(t){DT(e,e.return,t)}try{t_(5,e,e.return)}catch(t){DT(e,e.return,t)}}break;case 1:A_(t,e),d_(e),512&o&&null!==a&&JE(a,a.return);break;case 5:if(A_(t,e),d_(e),512&o&&null!==a&&JE(a,a.return),32&e.flags){var i=e.stateNode;try{le(i,"")}catch(t){DT(e,e.return,t)}}if(4&o&&null!=(i=e.stateNode)){var r=e.memoizedProps,E=null!==a?a.memoizedProps:r,_=e.type,T=e.updateQueue;if(e.updateQueue=null,null!==T)try{"input"===_&&"radio"===r.type&&null!=r.name&&q(i,r),Re(_,E);var s=Re(_,r);for(E=0;E<T.length;E+=2){var S=T[E],l=T[E+1];"style"===S?de(i,l):"dangerouslySetInnerHTML"===S?Se(i,l):"children"===S?le(i,l):R(i,S,l,s)}switch(_){case"input":J(i,r);break;case"textarea":ne(i,r);break;case"select":var I=i._wrapperState.wasMultiple;i._wrapperState.wasMultiple=!!r.multiple;var A=r.value;null!=A?ae(i,!!r.multiple,A,!1):I!==!!r.multiple&&(null!=r.defaultValue?ae(i,!!r.multiple,r.defaultValue,!0):ae(i,!!r.multiple,r.multiple?[]:"",!1))}i[li]=r}catch(t){DT(e,e.return,t)}}break;case 6:if(A_(t,e),d_(e),4&o){if(null===e.stateNode)throw Error(n(162));i=e.stateNode,r=e.memoizedProps;try{i.nodeValue=r}catch(t){DT(e,e.return,t)}}break;case 3:if(A_(t,e),d_(e),4&o&&null!==a&&a.memoizedState.isDehydrated)try{Ht(t.containerInfo)}catch(t){DT(e,e.return,t)}break;default:A_(t,e),d_(e);break;case 13:A_(t,e),d_(e),8192&(i=e.child).flags&&(r=null!==i.memoizedState,i.stateNode.isHidden=r,!r||null!==i.alternate&&null!==i.alternate.memoizedState||(V_=qe())),4&o&&I_(e);break;case 22:if(S=null!==a&&null!==a.memoizedState,1&e.mode?(XE=(s=XE)||S,A_(t,e),XE=s):A_(t,e),d_(e),8192&o){if(s=null!==e.memoizedState,(e.stateNode.isHidden=s)&&!S&&0!=(1&e.mode))for(qE=e,S=e.child;null!==S;){for(l=qE=S;null!==qE;){switch(A=(I=qE).child,I.tag){case 0:case 11:case 14:case 15:t_(4,I,I.return);break;case 1:JE(I,I.return);var u=I.stateNode;if("function"==typeof u.componentWillUnmount){o=I,a=I.return;try{t=o,u.props=t.memoizedProps,u.state=t.memoizedState,u.componentWillUnmount()}catch(e){DT(o,a,e)}}break;case 5:JE(I,I.return);break;case 22:if(null!==I.memoizedState){N_(l);continue}}null!==A?(A.return=I,qE=A):N_(l)}S=S.sibling}e:for(S=null,l=e;;){if(5===l.tag){if(null===S){S=l;try{i=l.stateNode,s?"function"==typeof(r=i.style).setProperty?r.setProperty("display","none","important"):r.display="none":(_=l.stateNode,E=null!=(T=l.memoizedProps.style)&&T.hasOwnProperty("display")?T.display:null,_.style.display=ue("display",E))}catch(t){DT(e,e.return,t)}}}else if(6===l.tag){if(null===S)try{l.stateNode.nodeValue=s?"":l.memoizedProps}catch(t){DT(e,e.return,t)}}else if((22!==l.tag&&23!==l.tag||null===l.memoizedState||l===e)&&null!==l.child){l.child.return=l,l=l.child;continue}if(l===e)break e;for(;null===l.sibling;){if(null===l.return||l.return===e)break e;S===l&&(S=null),l=l.return}S===l&&(S=null),l.sibling.return=l.return,l=l.sibling}}break;case 19:A_(t,e),d_(e),4&o&&I_(e);case 21:}}function d_(e){var t=e.flags;if(2&t){try{e:{for(var a=e.return;null!==a;){if(n_(a)){var o=a;break e}a=a.return}throw Error(n(160))}switch(o.tag){case 5:var i=o.stateNode;32&o.flags&&(le(i,""),o.flags&=-33),__(e,r_(e),i);break;case 3:case 4:var r=o.stateNode.containerInfo;E_(e,r_(e),r);break;default:throw Error(n(161))}}catch(t){DT(e,e.return,t)}e.flags&=-3}4096&t&&(e.flags&=-4097)}function c_(e,t,a){qE=e,O_(e,t,a)}function O_(e,t,a){for(var o=0!=(1&e.mode);null!==qE;){var i=qE,n=i.child;if(22===i.tag&&o){var r=null!==i.memoizedState||QE;if(!r){var E=i.alternate,_=null!==E&&null!==E.memoizedState||XE;E=QE;var T=XE;if(QE=r,(XE=_)&&!T)for(qE=i;null!==qE;)_=(r=qE).child,22===r.tag&&null!==r.memoizedState?m_(i):null!==_?(_.return=r,qE=_):m_(i);for(;null!==n;)qE=n,O_(n,t,a),n=n.sibling;qE=i,QE=E,XE=T}R_(e)}else 0!=(8772&i.subtreeFlags)&&null!==n?(n.return=i,qE=n):R_(e)}}function R_(e){for(;null!==qE;){var t=qE;if(0!=(8772&t.flags)){var a=t.alternate;try{if(0!=(8772&t.flags))switch(t.tag){case 0:case 11:case 15:XE||a_(5,t);break;case 1:var o=t.stateNode;if(4&t.flags&&!XE)if(null===a)o.componentDidMount();else{var i=t.elementType===t.type?a.memoizedProps:dn(t.type,a.memoizedProps);o.componentDidUpdate(i,a.memoizedState,o.__reactInternalSnapshotBeforeUpdate)}var r=t.updateQueue;null!==r&&kn(t,r,o);break;case 3:var E=t.updateQueue;if(null!==E){if(a=null,null!==t.child)switch(t.child.tag){case 5:case 1:a=t.child.stateNode}kn(t,E,a)}break;case 5:var _=t.stateNode;if(null===a&&4&t.flags){a=_;var T=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":T.autoFocus&&a.focus();break;case"img":T.src&&(a.src=T.src)}}break;case 6:case 4:case 12:case 19:case 17:case 21:case 22:case 23:case 25:break;case 13:if(null===t.memoizedState){var s=t.alternate;if(null!==s){var S=s.memoizedState;if(null!==S){var l=S.dehydrated;null!==l&&Ht(l)}}}break;default:throw Error(n(163))}XE||512&t.flags&&o_(t)}catch(e){DT(t,t.return,e)}}if(t===e){qE=null;break}if(null!==(a=t.sibling)){a.return=t.return,qE=a;break}qE=t.return}}function N_(e){for(;null!==qE;){var t=qE;if(t===e){qE=null;break}var a=t.sibling;if(null!==a){a.return=t.return,qE=a;break}qE=t.return}}function m_(e){for(;null!==qE;){var t=qE;try{switch(t.tag){case 0:case 11:case 15:var a=t.return;try{a_(4,t)}catch(e){DT(t,a,e)}break;case 1:var o=t.stateNode;if("function"==typeof o.componentDidMount){var i=t.return;try{o.componentDidMount()}catch(e){DT(t,i,e)}}var n=t.return;try{o_(t)}catch(e){DT(t,n,e)}break;case 5:var r=t.return;try{o_(t)}catch(e){DT(t,r,e)}}}catch(e){DT(t,t.return,e)}if(t===e){qE=null;break}var E=t.sibling;if(null!==E){E.return=t.return,qE=E;break}qE=t.return}}var L_,D_=Math.ceil,p_=N.ReactCurrentDispatcher,h_=N.ReactCurrentOwner,C_=N.ReactCurrentBatchConfig,f_=0,B_=null,P_=null,g_=0,v_=0,y_=Di(0),W_=0,M_=null,b_=0,U_=0,G_=0,k_=null,F_=null,V_=0,H_=1/0,w_=null,Y_=!1,z_=null,K_=null,x_=!1,j_=null,Q_=0,X_=0,$_=null,q_=-1,J_=0;function Z_(){return 0!=(6&f_)?qe():-1!==q_?q_:q_=qe()}function eT(e){return 0==(1&e.mode)?1:0!=(2&f_)&&0!==g_?g_&-g_:null!==un.transition?(0===J_&&(J_=At()),J_):0!==(e=Ot)?e:e=void 0===(e=window.event)?16:Xt(e.type)}function tT(e,t,a,o){if(50<X_)throw X_=0,$_=null,Error(n(185));dt(e,a,o),0!=(2&f_)&&e===B_||(e===B_&&(0==(2&f_)&&(U_|=a),4===W_&&rT(e,g_)),aT(e,o),1===a&&0===f_&&0==(1&t.mode)&&(H_=qe()+500,ki&&Hi()))}function aT(e,t){var a=e.callbackNode;!(function(e,t){for(var a=e.suspendedLanes,o=e.pingedLanes,i=e.expirationTimes,n=e.pendingLanes;0<n;){var r=31-nt(n),E=1<<r,_=i[r];-1===_?0!=(E&a)&&0==(E&o)||(i[r]=lt(E,t)):_<=t&&(e.expiredLanes|=E),n&=~E}})(e,t);var o=St(e,e===B_?g_:0);if(0===o)null!==a&&Qe(a),e.callbackNode=null,e.callbackPriority=0;else if(t=o&-o,e.callbackPriority!==t){if(null!=a&&Qe(a),1===t)0===e.tag?(function(e){ki=!0,Vi(e)})(ET.bind(null,e)):Vi(ET.bind(null,e)),ni((function(){0==(6&f_)&&Hi()})),a=null;else{switch(Rt(o)){case 1:a=Ze;break;case 4:a=et;break;default:a=tt;break;case 536870912:a=at}a=BT(a,oT.bind(null,e))}e.callbackPriority=t,e.callbackNode=a}}function oT(e,t){if(q_=-1,J_=0,0!=(6&f_))throw Error(n(327));var a=e.callbackNode;if(mT()&&e.callbackNode!==a)return null;var o=St(e,e===B_?g_:0);if(0===o)return null;if(0!=(30&o)||0!=(o&e.expiredLanes)||t)t=uT(e,o);else{t=o;var i=f_;f_|=2;var r=IT();for(B_===e&&g_===t||(w_=null,H_=qe()+500,ST(e,t));;)try{cT();break}catch(t){lT(e,t)}mn(),p_.current=r,f_=i,null!==P_?t=0:(B_=null,g_=0,t=W_)}if(0!==t){if(2===t&&(0!==(i=It(e))&&(o=i,t=iT(e,i))),1===t)throw a=M_,ST(e,0),rT(e,o),aT(e,qe()),a;if(6===t)rT(e,o);else{if(i=e.current.alternate,0==(30&o)&&!(function(e){for(var t=e;;){if(16384&t.flags){var a=t.updateQueue;if(null!==a&&null!==(a=a.stores))for(var o=0;o<a.length;o++){var i=a[o],n=i.getSnapshot;i=i.value;try{if(!no(n(),i))return!1}catch(e){return!1}}}if(a=t.child,16384&t.subtreeFlags&&null!==a)a.return=t,t=a;else{if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0})(i)&&(2===(t=uT(e,o))&&(0!==(r=It(e))&&(o=r,t=iT(e,r))),1===t))throw a=M_,ST(e,0),rT(e,o),aT(e,qe()),a;switch(e.finishedWork=i,e.finishedLanes=o,t){case 0:case 1:throw Error(n(345));case 2:case 5:NT(e,F_,w_);break;case 3:if(rT(e,o),(130023424&o)===o&&10<(t=V_+500-qe())){if(0!==St(e,0))break;if(((i=e.suspendedLanes)&o)!==o){Z_(),e.pingedLanes|=e.suspendedLanes&i;break}e.timeoutHandle=ai(NT.bind(null,e,F_,w_),t);break}NT(e,F_,w_);break;case 4:if(rT(e,o),(4194240&o)===o)break;for(t=e.eventTimes,i=-1;0<o;){var E=31-nt(o);r=1<<E,(E=t[E])>i&&(i=E),o&=~r}if(o=i,10<(o=(120>(o=qe()-o)?120:480>o?480:1080>o?1080:1920>o?1920:3e3>o?3e3:4320>o?4320:1960*D_(o/1960))-o)){e.timeoutHandle=ai(NT.bind(null,e,F_,w_),o);break}NT(e,F_,w_);break;default:throw Error(n(329))}}}return aT(e,qe()),e.callbackNode===a?oT.bind(null,e):null}function iT(e,t){var a=k_;return e.current.memoizedState.isDehydrated&&(ST(e,t).flags|=256),2!==(e=uT(e,t))&&(t=F_,F_=a,null!==t&&nT(t)),e}function nT(e){null===F_?F_=e:F_.push.apply(F_,e)}function rT(e,t){for(t&=~G_,t&=~U_,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var a=31-nt(t),o=1<<a;e[a]=-1,t&=~o}}function ET(e){if(0!=(6&f_))throw Error(n(327));mT();var t=St(e,0);if(0==(1&t))return aT(e,qe()),null;var a=uT(e,t);if(0!==e.tag&&2===a){var o=It(e);0!==o&&(t=o,a=iT(e,o))}if(1===a)throw a=M_,ST(e,0),rT(e,t),aT(e,qe()),a;if(6===a)throw Error(n(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,NT(e,F_,w_),aT(e,qe()),null}function _T(e,t){var a=f_;f_|=1;try{return e(t)}finally{0===(f_=a)&&(H_=qe()+500,ki&&Hi())}}function TT(e){null!==j_&&0===j_.tag&&0==(6&f_)&&mT();var t=f_;f_|=1;var a=C_.transition,o=Ot;try{if(C_.transition=null,Ot=1,e)return e()}finally{Ot=o,C_.transition=a,0==(6&(f_=t))&&Hi()}}function sT(){v_=y_.current,pi(y_)}function ST(e,t){e.finishedWork=null,e.finishedLanes=0;var a=e.timeoutHandle;if(-1!==a&&(e.timeoutHandle=-1,oi(a)),null!==P_)for(a=P_.return;null!==a;){var o=a;switch(en(o),o.tag){case 1:null!=(o=o.type.childContextTypes)&&yi();break;case 3:ir(),pi(Bi),pi(fi),sr();break;case 5:rr(o);break;case 4:ir();break;case 13:case 19:pi(Er);break;case 10:Ln(o.type._context);break;case 22:case 23:sT()}a=a.return}if(B_=e,P_=e=yT(e.current,null),g_=v_=t,W_=0,M_=null,G_=U_=b_=0,F_=k_=null,null!==Cn){for(t=0;t<Cn.length;t++)if(null!==(o=(a=Cn[t]).interleaved)){a.interleaved=null;var i=o.next,n=a.pending;if(null!==n){var r=n.next;n.next=i,o.next=r}a.pending=o}Cn=null}return e}function lT(e,t){for(;;){var a=P_;try{if(mn(),Sr.current=nE,cr){for(var o=Ar.memoizedState;null!==o;){var i=o.queue;null!==i&&(i.pending=null),o=o.next}cr=!1}if(Ir=0,dr=ur=Ar=null,Or=!1,Rr=0,h_.current=null,null===a||null===a.return){W_=1,M_=t,P_=null;break}e:{var r=e,E=a.return,_=a,T=t;if(t=g_,_.flags|=32768,null!==T&&"object"==typeof T&&"function"==typeof T.then){var s=T,S=_,l=S.tag;if(0==(1&S.mode)&&(0===l||11===l||15===l)){var I=S.alternate;I?(S.updateQueue=I.updateQueue,S.memoizedState=I.memoizedState,S.lanes=I.lanes):(S.updateQueue=null,S.memoizedState=null)}var A=dE(E);if(null!==A){A.flags&=-257,cE(A,E,_,0,t),1&A.mode&&uE(r,s,t),T=s;var u=(t=A).updateQueue;if(null===u){var d=new Set;d.add(T),t.updateQueue=d}else u.add(T);break e}if(0==(1&t)){uE(r,s,t),AT();break e}T=Error(n(426))}else if(on&&1&_.mode){var c=dE(E);if(null!==c){0==(65536&c.flags)&&(c.flags|=256),cE(c,E,_,0,t),An(TE(T,_));break e}}r=T=TE(T,_),4!==W_&&(W_=2),null===k_?k_=[r]:k_.push(r),r=E;do{switch(r.tag){case 3:r.flags|=65536,t&=-t,r.lanes|=t,Un(r,IE(0,T,t));break e;case 1:_=T;var O=r.type,R=r.stateNode;if(0==(128&r.flags)&&("function"==typeof O.getDerivedStateFromError||null!==R&&"function"==typeof R.componentDidCatch&&(null===K_||!K_.has(R)))){r.flags|=65536,t&=-t,r.lanes|=t,Un(r,AE(r,_,t));break e}}r=r.return}while(null!==r)}RT(a)}catch(e){t=e,P_===a&&null!==a&&(P_=a=a.return);continue}break}}function IT(){var e=p_.current;return p_.current=nE,null===e?nE:e}function AT(){0!==W_&&3!==W_&&2!==W_||(W_=4),null===B_||0==(268435455&b_)&&0==(268435455&U_)||rT(B_,g_)}function uT(e,t){var a=f_;f_|=2;var o=IT();for(B_===e&&g_===t||(w_=null,ST(e,t));;)try{dT();break}catch(t){lT(e,t)}if(mn(),f_=a,p_.current=o,null!==P_)throw Error(n(261));return B_=null,g_=0,W_}function dT(){for(;null!==P_;)OT(P_)}function cT(){for(;null!==P_&&!Xe();)OT(P_)}function OT(e){var t=L_(e.alternate,e,v_);e.memoizedProps=e.pendingProps,null===t?RT(e):P_=t,h_.current=null}function RT(e){var t=e;do{var a=t.alternate;if(e=t.return,0==(32768&t.flags)){if(null!==(a=xE(a,t,v_)))return void(P_=a)}else{if(null!==(a=jE(a,t)))return a.flags&=32767,void(P_=a);if(null===e)return W_=6,void(P_=null);e.flags|=32768,e.subtreeFlags=0,e.deletions=null}if(null!==(t=t.sibling))return void(P_=t);P_=t=e}while(null!==t);0===W_&&(W_=5)}function NT(e,t,a){var o=Ot,i=C_.transition;try{C_.transition=null,Ot=1,(function(e,t,a,o){do{mT()}while(null!==j_);if(0!=(6&f_))throw Error(n(327));a=e.finishedWork;var i=e.finishedLanes;if(null===a)return null;if(e.finishedWork=null,e.finishedLanes=0,a===e.current)throw Error(n(177));e.callbackNode=null,e.callbackPriority=0;var r=a.lanes|a.childLanes;if((function(e,t){var a=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var o=e.eventTimes;for(e=e.expirationTimes;0<a;){var i=31-nt(a),n=1<<i;t[i]=0,o[i]=-1,e[i]=-1,a&=~n}})(e,r),e===B_&&(P_=B_=null,g_=0),0==(2064&a.subtreeFlags)&&0==(2064&a.flags)||x_||(x_=!0,BT(tt,(function(){return mT(),null}))),r=0!=(15990&a.flags),0!=(15990&a.subtreeFlags)||r){r=C_.transition,C_.transition=null;var E=Ot;Ot=1;var _=f_;f_|=4,h_.current=null,(function(e,t){if(Zo=Yt,So(e=so())){if("selectionStart"in e)var a={start:e.selectionStart,end:e.selectionEnd};else e:{var o=(a=(a=e.ownerDocument)&&a.defaultView||window).getSelection&&a.getSelection();if(o&&0!==o.rangeCount){a=o.anchorNode;var i=o.anchorOffset,r=o.focusNode;o=o.focusOffset;try{a.nodeType,r.nodeType}catch(e){a=null;break e}var E=0,_=-1,T=-1,s=0,S=0,l=e,I=null;t:for(;;){for(var A;l!==a||0!==i&&3!==l.nodeType||(_=E+i),l!==r||0!==o&&3!==l.nodeType||(T=E+o),3===l.nodeType&&(E+=l.nodeValue.length),null!==(A=l.firstChild);)I=l,l=A;for(;;){if(l===e)break t;if(I===a&&++s===i&&(_=E),I===r&&++S===o&&(T=E),null!==(A=l.nextSibling))break;I=(l=I).parentNode}l=A}a=-1===_||-1===T?null:{start:_,end:T}}else a=null}a=a||{start:0,end:0}}else a=null;for(ei={focusedElem:e,selectionRange:a},Yt=!1,qE=t;null!==qE;)if(e=(t=qE).child,0!=(1028&t.subtreeFlags)&&null!==e)e.return=t,qE=e;else for(;null!==qE;){t=qE;try{var u=t.alternate;if(0!=(1024&t.flags))switch(t.tag){case 0:case 11:case 15:case 5:case 6:case 4:case 17:break;case 1:if(null!==u){var d=u.memoizedProps,c=u.memoizedState,O=t.stateNode,R=O.getSnapshotBeforeUpdate(t.elementType===t.type?d:dn(t.type,d),c);O.__reactInternalSnapshotBeforeUpdate=R}break;case 3:var N=t.stateNode.containerInfo;1===N.nodeType?N.textContent="":9===N.nodeType&&N.documentElement&&N.removeChild(N.documentElement);break;default:throw Error(n(163))}}catch(e){DT(t,t.return,e)}if(null!==(e=t.sibling)){e.return=t.return,qE=e;break}qE=t.return}u=e_,e_=!1})(e,a),u_(a,e),lo(ei),Yt=!!Zo,ei=Zo=null,e.current=a,c_(a,e,i),$e(),f_=_,Ot=E,C_.transition=r}else e.current=a;if(x_&&(x_=!1,j_=e,Q_=i),0===(r=e.pendingLanes)&&(K_=null),(function(e){if(it&&"function"==typeof it.onCommitFiberRoot)try{it.onCommitFiberRoot(ot,e,void 0,128==(128&e.current.flags))}catch(e){}})(a.stateNode),aT(e,qe()),null!==t)for(o=e.onRecoverableError,a=0;a<t.length;a++)i=t[a],o(i.value,{componentStack:i.stack,digest:i.digest});if(Y_)throw Y_=!1,e=z_,z_=null,e;0!=(1&Q_)&&0!==e.tag&&mT(),0!=(1&(r=e.pendingLanes))?e===$_?X_++:(X_=0,$_=e):X_=0,Hi()})(e,t,a,o)}finally{C_.transition=i,Ot=o}return null}function mT(){if(null!==j_){var e=Rt(Q_),t=C_.transition,a=Ot;try{if(C_.transition=null,Ot=16>e?16:e,null===j_)var o=!1;else{if(e=j_,j_=null,Q_=0,0!=(6&f_))throw Error(n(331));var i=f_;for(f_|=4,qE=e.current;null!==qE;){var r=qE,E=r.child;if(0!=(16&qE.flags)){var _=r.deletions;if(null!==_){for(var T=0;T<_.length;T++){var s=_[T];for(qE=s;null!==qE;){var S=qE;switch(S.tag){case 0:case 11:case 15:t_(8,S,r)}var l=S.child;if(null!==l)l.return=S,qE=l;else for(;null!==qE;){var I=(S=qE).sibling,A=S.return;if(i_(S),S===s){qE=null;break}if(null!==I){I.return=A,qE=I;break}qE=A}}}var u=r.alternate;if(null!==u){var d=u.child;if(null!==d){u.child=null;do{var c=d.sibling;d.sibling=null,d=c}while(null!==d)}}qE=r}}if(0!=(2064&r.subtreeFlags)&&null!==E)E.return=r,qE=E;else e:for(;null!==qE;){if(0!=(2048&(r=qE).flags))switch(r.tag){case 0:case 11:case 15:t_(9,r,r.return)}var O=r.sibling;if(null!==O){O.return=r.return,qE=O;break e}qE=r.return}}var R=e.current;for(qE=R;null!==qE;){var N=(E=qE).child;if(0!=(2064&E.subtreeFlags)&&null!==N)N.return=E,qE=N;else e:for(E=R;null!==qE;){if(0!=(2048&(_=qE).flags))try{switch(_.tag){case 0:case 11:case 15:a_(9,_)}}catch(e){DT(_,_.return,e)}if(_===E){qE=null;break e}var m=_.sibling;if(null!==m){m.return=_.return,qE=m;break e}qE=_.return}}if(f_=i,Hi(),it&&"function"==typeof it.onPostCommitFiberRoot)try{it.onPostCommitFiberRoot(ot,e)}catch(e){}o=!0}return o}finally{Ot=a,C_.transition=t}}return!1}function LT(e,t,a){e=Mn(e,t=IE(0,t=TE(a,t),1),1),t=Z_(),null!==e&&(dt(e,1,t),aT(e,t))}function DT(e,t,a){if(3===e.tag)LT(e,e,a);else for(;null!==t;){if(3===t.tag){LT(t,e,a);break}if(1===t.tag){var o=t.stateNode;if("function"==typeof t.type.getDerivedStateFromError||"function"==typeof o.componentDidCatch&&(null===K_||!K_.has(o))){t=Mn(t,e=AE(t,e=TE(a,e),1),1),e=Z_(),null!==t&&(dt(t,1,e),aT(t,e));break}}t=t.return}}function pT(e,t,a){var o=e.pingCache;null!==o&&o.delete(t),t=Z_(),e.pingedLanes|=e.suspendedLanes&a,B_===e&&(g_&a)===a&&(4===W_||3===W_&&(130023424&g_)===g_&&500>qe()-V_?ST(e,0):G_|=a),aT(e,t)}function hT(e,t){0===t&&(0==(1&e.mode)?t=1:(t=Tt,0==(130023424&(Tt<<=1))&&(Tt=4194304)));var a=Z_();null!==(e=Pn(e,t))&&(dt(e,t,a),aT(e,a))}function CT(e){var t=e.memoizedState,a=0;null!==t&&(a=t.retryLane),hT(e,a)}function fT(e,t){var a=0;switch(e.tag){case 13:var o=e.stateNode,i=e.memoizedState;null!==i&&(a=i.retryLane);break;case 19:o=e.stateNode;break;default:throw Error(n(314))}null!==o&&o.delete(t),hT(e,a)}function BT(e,t){return je(e,t)}function PT(e,t,a,o){this.tag=e,this.key=a,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=o,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function gT(e,t,a,o){return new PT(e,t,a,o)}function vT(e){return!(!(e=e.prototype)||!e.isReactComponent)}function yT(e,t){var a=e.alternate;return null===a?((a=gT(e.tag,t,e.key,e.mode)).elementType=e.elementType,a.type=e.type,a.stateNode=e.stateNode,a.alternate=e,e.alternate=a):(a.pendingProps=t,a.type=e.type,a.flags=0,a.subtreeFlags=0,a.deletions=null),a.flags=14680064&e.flags,a.childLanes=e.childLanes,a.lanes=e.lanes,a.child=e.child,a.memoizedProps=e.memoizedProps,a.memoizedState=e.memoizedState,a.updateQueue=e.updateQueue,t=e.dependencies,a.dependencies=null===t?null:{lanes:t.lanes,firstContext:t.firstContext},a.sibling=e.sibling,a.index=e.index,a.ref=e.ref,a}function WT(e,t,a,o,i,r){var E=2;if(o=e,"function"==typeof e)vT(e)&&(E=1);else if("string"==typeof e)E=5;else e:switch(e){case D:return MT(a.children,i,r,t);case p:E=8,i|=8;break;case h:return(e=gT(12,a,t,2|i)).elementType=h,e.lanes=r,e;case P:return(e=gT(13,a,t,i)).elementType=P,e.lanes=r,e;case g:return(e=gT(19,a,t,i)).elementType=g,e.lanes=r,e;case W:return bT(a,i,r,t);default:if("object"==typeof e&&null!==e)switch(e.$$typeof){case C:E=10;break e;case f:E=9;break e;case B:E=11;break e;case v:E=14;break e;case y:E=16,o=null;break e}throw Error(n(130,null==e?e:typeof e,""))}return(t=gT(E,a,t,i)).elementType=e,t.type=o,t.lanes=r,t}function MT(e,t,a,o){return(e=gT(7,e,o,t)).lanes=a,e}function bT(e,t,a,o){return(e=gT(22,e,o,t)).elementType=W,e.lanes=a,e.stateNode={isHidden:!1},e}function UT(e,t,a){return(e=gT(6,e,null,t)).lanes=a,e}function GT(e,t,a){return(t=gT(4,null!==e.children?e.children:[],e.key,t)).lanes=a,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function kT(e,t,a,o,i){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=ut(0),this.expirationTimes=ut(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=ut(0),this.identifierPrefix=o,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function FT(e,t,a,o,i,n,r,E,_){return e=new kT(e,t,a,E,_),1===t?(t=1,!0===n&&(t|=8)):t=0,n=gT(3,null,null,t),e.current=n,n.stateNode=e,n.memoizedState={element:o,isDehydrated:a,cache:null,transitions:null,pendingSuspenseBoundaries:null},vn(n),e}function VT(e,t,a){var o=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:L,key:null==o?null:""+o,children:e,containerInfo:t,implementation:a}}function HT(e){if(!e)return Ci;e:{if(we(e=e._reactInternals)!==e||1!==e.tag)throw Error(n(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(vi(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(null!==t);throw Error(n(171))}if(1===e.tag){var a=e.type;if(vi(a))return Mi(e,a,t)}return t}function wT(e,t,a,o,i,n,r,E,_){return(e=FT(a,o,!0,e,0,n,0,E,_)).context=HT(null),a=e.current,(n=Wn(o=Z_(),i=eT(a))).callback=null!=t?t:null,Mn(a,n,i),e.current.lanes=i,dt(e,i,o),aT(e,o),e}function YT(e,t,a,o){var i=t.current,n=Z_(),r=eT(i);return a=HT(a),null===t.context?t.context=a:t.pendingContext=a,(t=Wn(n,r)).payload={element:e},null!==(o=void 0===o?null:o)&&(t.callback=o),null!==(e=Mn(i,t,r))&&(tT(e,i,r,n),bn(e,i,r)),r}function zT(e){return(e=e.current).child?(e.child.tag,e.child.stateNode):null}function KT(e,t){if(null!==(e=e.memoizedState)&&null!==e.dehydrated){var a=e.retryLane;e.retryLane=0!==a&&a<t?a:t}}function xT(e,t){KT(e,t),(e=e.alternate)&&KT(e,t)}L_=function(e,t,a){if(null!==e)if(e.memoizedProps!==t.pendingProps||Bi.current)RE=!0;else{if(0==(e.lanes&a)&&0==(128&t.flags))return RE=!1,(function(e,t,a){switch(t.tag){case 3:PE(t),In();break;case 5:nr(t);break;case 1:vi(t.type)&&bi(t);break;case 4:or(t,t.stateNode.containerInfo);break;case 10:var o=t.type._context,i=t.memoizedProps.value;hi(cn,o._currentValue),o._currentValue=i;break;case 13:if(null!==(o=t.memoizedState))return null!==o.dehydrated?(hi(Er,1&Er.current),t.flags|=128,null):0!=(a&t.child.childLanes)?UE(e,t,a):(hi(Er,1&Er.current),null!==(e=YE(e,t,a))?e.sibling:null);hi(Er,1&Er.current);break;case 19:if(o=0!=(a&t.childLanes),0!=(128&e.flags)){if(o)return HE(e,t,a);t.flags|=128}if(null!==(i=t.memoizedState)&&(i.rendering=null,i.tail=null,i.lastEffect=null),hi(Er,Er.current),o)break;return null;case 22:case 23:return t.lanes=0,pE(e,t,a)}return YE(e,t,a)})(e,t,a);RE=0!=(131072&e.flags)}else RE=!1,on&&0!=(1048576&t.flags)&&Ji(t,Ki,t.index);switch(t.lanes=0,t.tag){case 2:var o=t.type;wE(e,t),e=t.pendingProps;var i=gi(t,fi.current);pn(t,a),i=Dr(null,t,o,e,i,a);var r=pr();return t.flags|=1,"object"==typeof i&&null!==i&&"function"==typeof i.render&&void 0===i.$$typeof?(t.tag=1,t.memoizedState=null,t.updateQueue=null,vi(o)?(r=!0,bi(t)):r=!1,t.memoizedState=null!==i.state&&void 0!==i.state?i.state:null,vn(t),i.updater=Hn,t.stateNode=i,i._reactInternals=t,Kn(t,o,e,a),t=BE(null,t,o,!0,r,a)):(t.tag=0,on&&r&&Zi(t),NE(null,t,i,a),t=t.child),t;case 16:o=t.elementType;e:{switch(wE(e,t),e=t.pendingProps,o=(i=o._init)(o._payload),t.type=o,i=t.tag=(function(e){if("function"==typeof e)return vT(e)?1:0;if(null!=e){if((e=e.$$typeof)===B)return 11;if(e===v)return 14}return 2})(o),e=dn(o,e),i){case 0:t=CE(null,t,o,e,a);break e;case 1:t=fE(null,t,o,e,a);break e;case 11:t=mE(null,t,o,e,a);break e;case 14:t=LE(null,t,o,dn(o.type,e),a);break e}throw Error(n(306,o,""))}return t;case 0:return o=t.type,i=t.pendingProps,CE(e,t,o,i=t.elementType===o?i:dn(o,i),a);case 1:return o=t.type,i=t.pendingProps,fE(e,t,o,i=t.elementType===o?i:dn(o,i),a);case 3:e:{if(PE(t),null===e)throw Error(n(387));o=t.pendingProps,i=(r=t.memoizedState).element,yn(e,t),Gn(t,o,null,a);var E=t.memoizedState;if(o=E.element,r.isDehydrated){if(r={element:o,isDehydrated:!1,cache:E.cache,pendingSuspenseBoundaries:E.pendingSuspenseBoundaries,transitions:E.transitions},t.updateQueue.baseState=r,t.memoizedState=r,256&t.flags){t=gE(e,t,o,a,i=TE(Error(n(423)),t));break e}if(o!==i){t=gE(e,t,o,a,i=TE(Error(n(424)),t));break e}for(an=_i(t.stateNode.containerInfo.firstChild),tn=t,on=!0,nn=null,a=qn(t,null,o,a),t.child=a;a;)a.flags=-3&a.flags|4096,a=a.sibling}else{if(In(),o===i){t=YE(e,t,a);break e}NE(e,t,o,a)}t=t.child}return t;case 5:return nr(t),null===e&&Tn(t),o=t.type,i=t.pendingProps,r=null!==e?e.memoizedProps:null,E=i.children,ti(o,i)?E=null:null!==r&&ti(o,r)&&(t.flags|=32),hE(e,t),NE(e,t,E,a),t.child;case 6:return null===e&&Tn(t),null;case 13:return UE(e,t,a);case 4:return or(t,t.stateNode.containerInfo),o=t.pendingProps,null===e?t.child=$n(t,null,o,a):NE(e,t,o,a),t.child;case 11:return o=t.type,i=t.pendingProps,mE(e,t,o,i=t.elementType===o?i:dn(o,i),a);case 7:return NE(e,t,t.pendingProps,a),t.child;case 8:case 12:return NE(e,t,t.pendingProps.children,a),t.child;case 10:e:{if(o=t.type._context,i=t.pendingProps,r=t.memoizedProps,E=i.value,hi(cn,o._currentValue),o._currentValue=E,null!==r)if(no(r.value,E)){if(r.children===i.children&&!Bi.current){t=YE(e,t,a);break e}}else for(null!==(r=t.child)&&(r.return=t);null!==r;){var _=r.dependencies;if(null!==_){E=r.child;for(var T=_.firstContext;null!==T;){if(T.context===o){if(1===r.tag){(T=Wn(-1,a&-a)).tag=2;var s=r.updateQueue;if(null!==s){var S=(s=s.shared).pending;null===S?T.next=T:(T.next=S.next,S.next=T),s.pending=T}}r.lanes|=a,null!==(T=r.alternate)&&(T.lanes|=a),Dn(r.return,a,t),_.lanes|=a;break}T=T.next}}else if(10===r.tag)E=r.type===t.type?null:r.child;else if(18===r.tag){if(null===(E=r.return))throw Error(n(341));E.lanes|=a,null!==(_=E.alternate)&&(_.lanes|=a),Dn(E,a,t),E=r.sibling}else E=r.child;if(null!==E)E.return=r;else for(E=r;null!==E;){if(E===t){E=null;break}if(null!==(r=E.sibling)){r.return=E.return,E=r;break}E=E.return}r=E}NE(e,t,i.children,a),t=t.child}return t;case 9:return i=t.type,o=t.pendingProps.children,pn(t,a),o=o(i=hn(i)),t.flags|=1,NE(e,t,o,a),t.child;case 14:return i=dn(o=t.type,t.pendingProps),LE(e,t,o,i=dn(o.type,i),a);case 15:return DE(e,t,t.type,t.pendingProps,a);case 17:return o=t.type,i=t.pendingProps,i=t.elementType===o?i:dn(o,i),wE(e,t),t.tag=1,vi(o)?(e=!0,bi(t)):e=!1,pn(t,a),Yn(t,o,i),Kn(t,o,i,a),BE(null,t,o,!0,e,a);case 19:return HE(e,t,a);case 22:return pE(e,t,a)}throw Error(n(156,t.tag))};var jT="function"==typeof reportError?reportError:function(e){console.error(e)};function QT(e){this._internalRoot=e}function XT(e){this._internalRoot=e}function $T(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType)}function qT(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType&&(8!==e.nodeType||" react-mount-point-unstable "!==e.nodeValue))}function JT(){}function ZT(e,t,a,o,i){var n=a._reactRootContainer;if(n){var r=n;if("function"==typeof i){var E=i;i=function(){var e=zT(r);E.call(e)}}YT(t,r,e,i)}else r=(function(e,t,a,o,i){if(i){if("function"==typeof o){var n=o;o=function(){var e=zT(r);n.call(e)}}var r=wT(t,o,e,0,null,!1,0,"",JT);return e._reactRootContainer=r,e[Ii]=r.current,Ho(8===e.nodeType?e.parentNode:e),TT(),r}for(;i=e.lastChild;)e.removeChild(i);if("function"==typeof o){var E=o;o=function(){var e=zT(_);E.call(e)}}var _=FT(e,0,!1,null,0,!1,0,"",JT);return e._reactRootContainer=_,e[Ii]=_.current,Ho(8===e.nodeType?e.parentNode:e),TT((function(){YT(t,_,a,o)})),_})(a,t,e,i,o);return zT(r)}XT.prototype.render=QT.prototype.render=function(e){var t=this._internalRoot;if(null===t)throw Error(n(409));YT(e,t,null,null)},XT.prototype.unmount=QT.prototype.unmount=function(){var e=this._internalRoot;if(null!==e){this._internalRoot=null;var t=e.containerInfo;TT((function(){YT(null,e,null,null)})),t[Ii]=null}},XT.prototype.unstable_scheduleHydration=function(e){if(e){var t=Dt();e={blockedOn:null,target:e,priority:t};for(var a=0;a<yt.length&&0!==t&&t<yt[a].priority;a++);yt.splice(a,0,e),0===a&&Ut(e)}},Nt=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var a=st(t.pendingLanes);0!==a&&(ct(t,1|a),aT(t,qe()),0==(6&f_)&&(H_=qe()+500,Hi()))}break;case 13:TT((function(){var t=Pn(e,1);if(null!==t){var a=Z_();tT(t,e,1,a)}})),xT(e,1)}},mt=function(e){if(13===e.tag){var t=Pn(e,134217728);if(null!==t)tT(t,e,134217728,Z_());xT(e,134217728)}},Lt=function(e){if(13===e.tag){var t=eT(e),a=Pn(e,t);if(null!==a)tT(a,e,t,Z_());xT(e,t)}},Dt=function(){return Ot},pt=function(e,t){var a=Ot;try{return Ot=e,t()}finally{Ot=a}},Le=function(e,t,a){switch(t){case"input":if(J(e,a),t=a.name,"radio"===a.type&&null!=t){for(a=e;a.parentNode;)a=a.parentNode;for(a=a.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<a.length;t++){var o=a[t];if(o!==e&&o.form===e.form){var i=Ni(o);if(!i)throw Error(n(90));j(o),J(o,i)}}}break;case"textarea":ne(e,a);break;case"select":null!=(t=a.value)&&ae(e,!!a.multiple,t,!1)}},Be=_T,Pe=TT;var es={usingClientEntryPoint:!1,Events:[Oi,Ri,Ni,Ce,fe,_T]},ts={findFiberByHostInstance:ci,bundleType:0,version:"18.2.0",rendererPackageName:"react-dom"},as={bundleType:ts.bundleType,version:ts.version,rendererPackageName:ts.rendererPackageName,rendererConfig:ts.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:N.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return null===(e=Ke(e))?null:e.stateNode},findFiberByHostInstance:ts.findFiberByHostInstance||function(){return null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.2.0-next-9e3b772b8-20220608"};if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var os=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!os.isDisabled&&os.supportsFiber)try{ot=os.inject(as),it=os}catch(se){}}t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=es,t.createPortal=function(e,t){var a=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!$T(t))throw Error(n(200));return VT(e,t,null,a)},t.createRoot=function(e,t){if(!$T(e))throw Error(n(299));var a=!1,o="",i=jT;return null!=t&&(!0===t.unstable_strictMode&&(a=!0),void 0!==t.identifierPrefix&&(o=t.identifierPrefix),void 0!==t.onRecoverableError&&(i=t.onRecoverableError)),t=FT(e,1,!1,null,0,a,0,o,i),e[Ii]=t.current,Ho(8===e.nodeType?e.parentNode:e),new QT(t)},t.findDOMNode=function(e){if(null==e)return null;if(1===e.nodeType)return e;var t=e._reactInternals;if(void 0===t){if("function"==typeof e.render)throw Error(n(188));throw e=Object.keys(e).join(","),Error(n(268,e))}return e=null===(e=Ke(t))?null:e.stateNode},t.flushSync=function(e){return TT(e)},t.hydrate=function(e,t,a){if(!qT(t))throw Error(n(200));return ZT(null,e,t,!0,a)},t.hydrateRoot=function(e,t,a){if(!$T(e))throw Error(n(405));var o=null!=a&&a.hydratedSources||null,i=!1,r="",E=jT;if(null!=a&&(!0===a.unstable_strictMode&&(i=!0),void 0!==a.identifierPrefix&&(r=a.identifierPrefix),void 0!==a.onRecoverableError&&(E=a.onRecoverableError)),t=wT(t,null,e,1,null!=a?a:null,i,0,r,E),e[Ii]=t.current,Ho(e),o)for(e=0;e<o.length;e++)i=(i=(a=o[e])._getVersion)(a._source),null==t.mutableSourceEagerHydrationData?t.mutableSourceEagerHydrationData=[a,i]:t.mutableSourceEagerHydrationData.push(a,i);return new XT(t)},t.render=function(e,t,a){if(!qT(t))throw Error(n(200));return ZT(null,e,t,!1,a)},t.unmountComponentAtNode=function(e){if(!qT(e))throw Error(n(40));return!!e._reactRootContainer&&(TT((function(){ZT(null,null,e,!1,(function(){e._reactRootContainer=null,e[Ii]=null}))})),!0)},t.unstable_batchedUpdates=_T,t.unstable_renderSubtreeIntoContainer=function(e,t,a,o){if(!qT(a))throw Error(n(200));if(null==e||void 0===e._reactInternals)throw Error(n(38));return ZT(e,t,a,!1,o)},t.version="18.2.0-next-9e3b772b8-20220608"},20745:(e,t,a)=>{"use strict";var o=a(73935);t.createRoot=o.createRoot,t.hydrateRoot=o.hydrateRoot},73935:(e,t,a)=>{"use strict";!(function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}})(),e.exports=a(64448)},56413:(e,t,a)=>{"use strict";function o(){return o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(e[o]=a[o])}return e},o.apply(this,arguments)}a.d(t,{ZP:()=>ye});var i=a(67294),n=(a(45697),"data-focus-lock"),r="data-focus-lock-disabled";function E(e,t){return a=t||null,o=function(t){return e.forEach((function(e){return(function(e,t){return"function"==typeof e?e(t):e&&(e.current=t),e})(e,t)}))},(n=(0,i.useState)((function(){return{value:a,callback:o,facade:{get current(){return n.value},set current(e){var t=n.value;t!==e&&(n.value=e,n.callback(e,t))}}}}))[0]).callback=o,n.facade;var a,o,n}var _={width:"1px",height:"0px",padding:0,overflow:"hidden",position:"fixed",top:"1px",left:"1px"},T=function(e){var t=e.children;return i.createElement(i.Fragment,null,i.createElement("div",{key:"guard-first","data-focus-guard":!0,"data-focus-auto-guard":!0,style:_}),t,t&&i.createElement("div",{key:"guard-last","data-focus-guard":!0,"data-focus-auto-guard":!0,style:_}))};T.propTypes={},T.defaultProps={children:null};var s=function(){return s=Object.assign||function(e){for(var t,a=1,o=arguments.length;a<o;a++)for(var i in t=arguments[a])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},s.apply(this,arguments)};Object.create;Object.create;function S(e){return e}function l(e,t){void 0===t&&(t=S);var a=[],o=!1;return{read:function(){if(o)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return a.length?a[a.length-1]:e},useMedium:function(e){var i=t(e,o);return a.push(i),function(){a=a.filter((function(e){return e!==i}))}},assignSyncMedium:function(e){for(o=!0;a.length;){var t=a;a=[],t.forEach(e)}a={push:function(t){return e(t)},filter:function(){return a}}},assignMedium:function(e){o=!0;var t=[];if(a.length){var i=a;a=[],i.forEach(e),t=a}var n=function(){var a=t;t=[],a.forEach(e)},r=function(){return Promise.resolve().then(n)};r(),a={push:function(e){t.push(e),r()},filter:function(e){return t=t.filter(e),a}}}}}function I(e,t){return void 0===t&&(t=S),l(e,t)}var A=I({},(function(e){return{target:e.target,currentTarget:e.currentTarget}})),u=I(),d=I(),c=(function(e){void 0===e&&(e={});var t=l(null);return t.options=s({async:!0,ssr:!1},e),t})({async:!0}),O=[],R=i.forwardRef((function(e,t){var a,T=i.useState(),s=T[0],S=T[1],l=i.useRef(),I=i.useRef(!1),d=i.useRef(null),R=e.children,N=e.disabled,m=e.noFocusGuards,L=e.persistentFocus,D=e.crossFrame,p=e.autoFocus,h=(e.allowTextSelection,e.group),C=e.className,f=e.whiteList,B=e.hasPositiveIndices,P=e.shards,g=void 0===P?O:P,v=e.as,y=void 0===v?"div":v,W=e.lockProps,M=void 0===W?{}:W,b=e.sideCar,U=e.returnFocus,G=e.focusOptions,k=e.onActivation,F=e.onDeactivation,V=i.useState({})[0],H=i.useCallback((function(){d.current=d.current||document&&document.activeElement,l.current&&k&&k(l.current),I.current=!0}),[k]),w=i.useCallback((function(){I.current=!1,F&&F(l.current)}),[F]);(0,i.useEffect)((function(){N||(d.current=null)}),[]);var Y=i.useCallback((function(e){var t=d.current;if(t&&t.focus){var a="function"==typeof U?U(t):U;if(a){var o="object"==typeof a?a:void 0;d.current=null,e?Promise.resolve().then((function(){return t.focus(o)})):t.focus(o)}}}),[U]),z=i.useCallback((function(e){I.current&&A.useMedium(e)}),[]),K=u.useMedium,x=i.useCallback((function(e){l.current!==e&&(l.current=e,S(e))}),[]);var j=o(((a={})[r]=N&&"disabled",a[n]=h,a),M),Q=!0!==m,X=Q&&"tail"!==m,$=E([t,x]);return i.createElement(i.Fragment,null,Q&&[i.createElement("div",{key:"guard-first","data-focus-guard":!0,tabIndex:N?-1:0,style:_}),B?i.createElement("div",{key:"guard-nearest","data-focus-guard":!0,tabIndex:N?-1:1,style:_}):null],!N&&i.createElement(b,{id:V,sideCar:c,observed:s,disabled:N,persistentFocus:L,crossFrame:D,autoFocus:p,whiteList:f,shards:g,onActivation:H,onDeactivation:w,returnFocus:Y,focusOptions:G}),i.createElement(y,o({ref:$},j,{className:C,onBlur:K,onFocus:z}),R),X&&i.createElement("div",{"data-focus-guard":!0,tabIndex:N?-1:0,style:_}))}));R.propTypes={},R.defaultProps={children:void 0,disabled:!1,returnFocus:!1,focusOptions:void 0,noFocusGuards:!1,autoFocus:!0,persistentFocus:!1,crossFrame:!0,hasPositiveIndices:void 0,allowTextSelection:void 0,group:void 0,className:void 0,whiteList:void 0,shards:void 0,as:"div",lockProps:{},onActivation:void 0,onDeactivation:void 0};const N=R;function m(e,t){return m=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},m(e,t)}const L=function(e,t){return function(a){var o,n=[];function r(){o=e(n.map((function(e){return e.props}))),t(o)}var E,_,T,s=(function(e){var t,E;function _(){return e.apply(this,arguments)||this}E=e,(t=_).prototype=Object.create(E.prototype),t.prototype.constructor=t,m(t,E),_.peek=function(){return o};var T=_.prototype;return T.componentDidMount=function(){n.push(this),r()},T.componentDidUpdate=function(){r()},T.componentWillUnmount=function(){var e=n.indexOf(this);n.splice(e,1),r()},T.render=function(){return i.createElement(a,this.props)},_})(i.PureComponent);return E=s,_="displayName",T="SideEffect("+(function(e){return e.displayName||e.name||"Component"})(a)+")",_ in E?Object.defineProperty(E,_,{value:T,enumerable:!0,configurable:!0,writable:!0}):E[_]=T,s}};var D=function(e){return e.parentNode&&e.parentNode.nodeType===Node.DOCUMENT_FRAGMENT_NODE?e.parentNode.host:e.parentNode},p=function(e){return e===document||e&&e.nodeType===Node.DOCUMENT_NODE},h=function(e,t){return!e||p(e)||!(function(e){if(e.nodeType!==Node.ELEMENT_NODE)return!1;var t=window.getComputedStyle(e,null);return!(!t||!t.getPropertyValue||"none"!==t.getPropertyValue("display")&&"hidden"!==t.getPropertyValue("visibility"))})(e)&&t(D(e))},C=function(e,t){var a=e.get(t);if(void 0!==a)return a;var o=h(t,C.bind(void 0,e));return e.set(t,o),o},f=function(e,t){var a=e.get(t);if(void 0!==a)return a;var o=(function(e,t){return!(e&&!p(e))||!!v(e)&&t(D(e))})(t,f.bind(void 0,e));return e.set(t,o),o},B=function(e){return e.dataset},P=function(e){return"INPUT"===e.tagName},g=function(e){return P(e)&&"radio"===e.type},v=function(e){var t=e.getAttribute("data-no-autofocus");return![!0,"true",""].includes(t)},y=function(e){var t;return Boolean(e&&(null===(t=B(e))||void 0===t?void 0:t.focusGuard))},W=function(e){return!y(e)},M=function(e){return Boolean(e)},b=function(e,t){return g(e)&&e.name?(function(e,t){return t.filter(g).filter((function(t){return t.name===e.name})).filter((function(e){return e.checked}))[0]||e})(e,t):e},U=function(e){return e[0]&&e.length>1?b(e[0],e):e[0]},G=function(e,t){return e.length>1?e.indexOf(b(e[t],e)):t},k="NEW_FOCUS",F=function(e,t,a,o){var i=e.length,n=e[0],r=e[i-1],E=y(a);if(!(a&&e.indexOf(a)>=0)){var _,T,s=void 0!==a?t.indexOf(a):-1,S=o?t.indexOf(o):s,l=o?e.indexOf(o):-1,I=s-S,A=t.indexOf(n),u=t.indexOf(r),d=(_=t,T=new Set,_.forEach((function(e){return T.add(b(e,_))})),_.filter((function(e){return T.has(e)}))),c=(void 0!==a?d.indexOf(a):-1)-(o?d.indexOf(o):s),O=G(e,0),R=G(e,i-1);return-1===s||-1===l?k:!I&&l>=0?l:s<=A&&E&&Math.abs(I)>1?R:s>=u&&E&&Math.abs(I)>1?O:I&&Math.abs(c)>1?l:s<=A?R:s>u?O:I?Math.abs(I)>1?l:(i+l+I)%i:void 0}},V=function(e){for(var t=Array(e.length),a=0;a<e.length;++a)t[a]=e[a];return t},H=function(e){return Array.isArray(e)?e:[e]},w=function(e,t){var a=e.tabIndex-t.tabIndex,o=e.index-t.index;if(a){if(!e.tabIndex)return 1;if(!t.tabIndex)return-1}return a||o},Y=function(e,t,a){return V(e).map((function(e,t){return{node:e,index:t,tabIndex:a&&-1===e.tabIndex?(e.dataset||{}).focusGuard?0:-1:e.tabIndex}})).filter((function(e){return!t||e.tabIndex>=0})).sort(w)},z=["button:enabled","select:enabled","textarea:enabled","input:enabled","a[href]","area[href]","summary","iframe","object","embed","audio[controls]","video[controls]","[tabindex]","[contenteditable]","[autofocus]"].join(","),K="".concat(z,", [data-focus-guard]"),x=function(e,t){var a;return V((null===(a=e.shadowRoot)||void 0===a?void 0:a.children)||e.children).reduce((function(e,a){return e.concat(a.matches(t?K:z)?[a]:[],x(a))}),[])},j=function(e,t){return e.reduce((function(e,a){return e.concat(x(a,t),a.parentNode?V(a.parentNode.querySelectorAll(z)).filter((function(e){return e===a})):[])}),[])},Q=function(e,t){return V(e).filter((function(e){return C(t,e)})).filter((function(e){return(function(e){return!((P(e)||(function(e){return"BUTTON"===e.tagName})(e))&&("hidden"===e.type||e.disabled))})(e)}))},X=function(e,t){return void 0===t&&(t=new Map),V(e).filter((function(e){return f(t,e)}))},$=function(e,t,a){return Y(Q(j(e,a),t),!0,a)},q=function(e,t){return Y(Q(j(e),t),!1)},J=function(e,t){return Q((function(e){var t=e.querySelectorAll("[".concat("data-autofocus-inside","]"));return V(t).map((function(e){return j([e])})).reduce((function(e,t){return e.concat(t)}),[])})(e),t)},Z=function(e,t){return(e.shadowRoot?Z(e.shadowRoot,t):Object.getPrototypeOf(e).contains.call(e,t))||V(e.children).some((function(e){return Z(e,t)}))},ee=function(e){return e.parentNode?ee(e.parentNode):e},te=function(e){return H(e).filter(Boolean).reduce((function(e,t){var a=t.getAttribute(n);return e.push.apply(e,a?(function(e){for(var t=new Set,a=e.length,o=0;o<a;o+=1)for(var i=o+1;i<a;i+=1){var n=e[o].compareDocumentPosition(e[i]);(n&Node.DOCUMENT_POSITION_CONTAINED_BY)>0&&t.add(i),(n&Node.DOCUMENT_POSITION_CONTAINS)>0&&t.add(o)}return e.filter((function(e,a){return!t.has(a)}))})(V(ee(t).querySelectorAll("[".concat(n,'="').concat(a,'"]:not([').concat(r,'="disabled"])')))):[t]),e}),[])},ae=function(e){return e.activeElement?e.activeElement.shadowRoot?ae(e.activeElement.shadowRoot):e.activeElement:void 0},oe=function(){return document.activeElement?document.activeElement.shadowRoot?ae(document.activeElement.shadowRoot):document.activeElement:void 0},ie=function(e,t){return void 0===t&&(t=[]),t.push(e),e.parentNode&&ie(e.parentNode.host||e.parentNode,t),t},ne=function(e,t){for(var a=ie(e),o=ie(t),i=0;i<a.length;i+=1){var n=a[i];if(o.indexOf(n)>=0)return n}return!1},re=function(e,t,a){var o=H(e),i=H(t),n=o[0],r=!1;return i.filter(Boolean).forEach((function(e){r=ne(r||e,e)||r,a.filter(Boolean).forEach((function(e){var t=ne(n,e);t&&(r=!r||Z(t,r)?t:ne(t,r))}))})),r},Ee=function(e,t){var a=document&&oe(),o=te(e).filter(W),i=re(a||e,e,o),n=new Map,r=q(o,n),E=$(o,n).filter((function(e){var t=e.node;return W(t)}));if(E[0]||(E=r)[0]){var _,T,s,S,l=q([i],n).map((function(e){return e.node})),I=(_=l,T=E,s=new Map,T.forEach((function(e){return s.set(e.node,e)})),_.map((function(e){return s.get(e)})).filter(M)),A=I.map((function(e){return e.node})),u=F(A,l,a,t);if(u===k){var d=X(r.map((function(e){return e.node}))).filter((S=(function(e,t){return e.reduce((function(e,a){return e.concat(J(a,t))}),[])})(o,n),function(e){var t;return e.autofocus||!!(null===(t=B(e))||void 0===t?void 0:t.autofocus)||S.indexOf(e)>=0}));return{node:d&&d.length?U(d):U(X(A))}}return void 0===u?u:I[u]}},_e=0,Te=!1;const se=function(e,t,a){void 0===a&&(a={});var o,i,n=Ee(e,t);if(!Te&&n){if(_e>2)return console.error("FocusLock: focus-fighting detected. Only one focus management system could be active. See https://github.com/theKashey/focus-lock/#focus-fighting"),Te=!0,void setTimeout((function(){Te=!1}),1);_e++,o=n.node,i=a.focusOptions,"focus"in o&&o.focus(i),"contentWindow"in o&&o.contentWindow&&o.contentWindow.focus(),_e--}};var Se=function(e){return Boolean(V(e.querySelectorAll("iframe")).some((function(e){return e===document.activeElement})))},le=function(e){var t=document&&oe();return!(!t||t.dataset&&t.dataset.focusGuard)&&te(e).some((function(e){return Z(e,t)||Se(e)}))},Ie=function(e){var t=te(e).filter(W),a=re(e,e,t),o=new Map,i=$([a],o,!0),n=$(t,o).filter((function(e){var t=e.node;return W(t)})).map((function(e){return e.node}));return i.map((function(e){var t=e.node;return{node:t,index:e.index,lockItem:n.indexOf(t)>=0,guard:y(t)}}))};function Ae(e){var t=window.setImmediate;void 0!==t?t(e):setTimeout(e,1)}var ue=function(){return document&&document.activeElement===document.body||!!(e=document&&oe())&&V(document.querySelectorAll("[".concat("data-no-focus-lock","]"))).some((function(t){return Z(t,e)}));var e},de=null,ce=null,Oe=null,Re=!1,Ne=function(){return!0};function me(e,t,a,o){var i=null,n=e;do{var r=o[n];if(r.guard)r.node.dataset.focusAutoGuard&&(i=r);else{if(!r.lockItem)break;if(n!==e)return;i=null}}while((n+=a)!==t);i&&(i.node.tabIndex=0)}var Le=function(e){return e&&"current"in e?e.current:e},De=function e(t,a,o){return a&&(a.host===t&&(!a.activeElement||o.contains(a.activeElement))||a.parentNode&&e(t,a.parentNode,o))},pe=function(){var e,t=!1;if(de){var a=de,o=a.observed,i=a.persistentFocus,n=a.autoFocus,r=a.shards,E=a.crossFrame,_=a.focusOptions,T=o||Oe&&Oe.portaledElement,s=document&&document.activeElement;if(T){var S=[T].concat(r.map(Le).filter(Boolean));if(s&&!(function(e){return(de.whiteList||Ne)(e)})(s)||(i||(E?Boolean(Re):"meanwhile"===Re)||!ue()||!ce&&n)&&(T&&!(le(S)||s&&(function(e,t){return t.some((function(t){return De(e,t,t)}))})(s,S)||(e=s,Oe&&Oe.portaledElement===e))&&(document&&!ce&&s&&!n?(s.blur&&s.blur(),document.body.focus()):(t=se(S,ce,{focusOptions:_}),Oe={})),Re=!1,ce=document&&document.activeElement),document){var l=document&&document.activeElement,I=Ie(S),A=I.map((function(e){return e.node})).indexOf(l);A>-1&&(I.filter((function(e){var t=e.guard,a=e.node;return t&&a.dataset.focusAutoGuard})).forEach((function(e){return e.node.removeAttribute("tabIndex")})),me(A,I.length,1,I),me(A,-1,-1,I))}}}return t},he=function(e){pe()&&e&&(e.stopPropagation(),e.preventDefault())},Ce=function(){return Ae(pe)},fe=function(e){var t=e.target,a=e.currentTarget;a.contains(t)||(Oe={observerNode:a,portaledElement:t})},Be=function(){Re="just",setTimeout((function(){Re="meanwhile"}),0)};A.assignSyncMedium(fe),u.assignMedium(Ce),d.assignMedium((function(e){return e({moveFocusInside:se,focusInside:le})}));const Pe=L((function(e){return e.filter((function(e){return!e.disabled}))}),(function(e){var t=e.slice(-1)[0];t&&!de&&(document.addEventListener("focusin",he),document.addEventListener("focusout",Ce),window.addEventListener("blur",Be));var a=de,o=a&&t&&t.id===a.id;de=t,a&&!o&&(a.onDeactivation(),e.filter((function(e){return e.id===a.id})).length||a.returnFocus(!t)),t?(ce=null,o&&a.observed===t.observed||t.onActivation(),pe(),Ae(pe)):(document.removeEventListener("focusin",he),document.removeEventListener("focusout",Ce),window.removeEventListener("blur",Be),ce=null)}))((function(){return null}));var ge=i.forwardRef((function(e,t){return i.createElement(N,o({sideCar:Pe,ref:t},e))})),ve=N.propTypes||{};ve.sideCar,(function(e,t){if(null==e)return{};var a,o,i={},n=Object.keys(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||(i[a]=e[a])})(ve,["sideCar"]);ge.propTypes={};const ye=ge},52832:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.I18nextProvider=function(e){var t=e.i18n,a=e.defaultNS,n=e.children,r=(0,o.useMemo)((function(){return{i18n:t,defaultNS:a}}),[t,a]);return(0,o.createElement)(i.I18nContext.Provider,{value:r},n)};var o=a(67294),i=a(59336)},69779:(e,t,a)=>{"use strict";var o=a(95318);Object.defineProperty(t,"__esModule",{value:!0}),t.Trans=function(e){var t=e.children,a=e.count,o=e.parent,S=e.i18nKey,l=e.context,I=e.tOptions,A=void 0===I?{}:I,u=e.values,d=e.defaults,c=e.components,O=e.ns,R=e.i18n,N=e.t,m=e.shouldUnescape,L=(0,n.default)(e,T),D=(0,r.useContext)(_.I18nContext)||{},p=D.i18n,h=D.defaultNS,C=R||p||(0,_.getI18n)(),f=N||C.t.bind(C)||function(e){return e};return(0,E.Trans)((function(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?s(Object(a),!0).forEach((function(t){(0,i.default)(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):s(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e})({children:t,count:a,parent:o,i18nKey:S,context:l,tOptions:A,values:u,defaults:d,components:c,ns:O||f.ns||h||C.options&&C.options.defaultNS,i18n:C,t:N,shouldUnescape:m},L))},Object.defineProperty(t,"nodesToString",{enumerable:!0,get:function(){return E.nodesToString}});var i=o(a(59713)),n=o(a(6479)),r=a(67294),E=a(57346),_=a(59336),T=["children","count","parent","i18nKey","context","tOptions","values","defaults","components","ns","i18n","t","shouldUnescape"];function s(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}},57346:(e,t,a)=>{"use strict";var o=a(95318);Object.defineProperty(t,"__esModule",{value:!0}),t.nodesToString=R,t.Trans=function(e){var t=e.children,a=e.count,o=e.parent,r=e.i18nKey,l=e.context,A=e.tOptions,N=void 0===A?{}:A,m=e.values,L=e.defaults,D=e.components,p=e.ns,h=e.i18n,C=e.t,f=e.shouldUnescape,B=(0,i.default)(e,I),P=h||(0,S.getI18n)();if(!P)return(0,T.warnOnce)("You will need to pass in an i18next instance by using i18nextReactModule"),t;var g=C||P.t.bind(P)||function(e){return e};l&&(N.context=l);var v=u(u({},(0,s.getDefaults)()),P.options&&P.options.react),y=p||g.ns||P.options&&P.options.defaultNS;y="string"==typeof y?[y]:y||["translation"];var W=L||R(t,v)||v.transEmptyNodeValue||r,M=v.hashTransKey,b=r||(M?M(W):W),U=m?N.interpolation:{interpolation:u(u({},N.interpolation),{},{prefix:"#$?",suffix:"?$#"})},G=u(u(u(u({},N),{},{count:a},m),U),{},{defaultValue:W,ns:y}),k=b?g(b,G):W,F=(function(e,t,a,o,i,r){if(""===t)return[];var T=o.transKeepBasicHtmlNodesFor||[],s=t&&new RegExp(T.join("|")).test(t);if(!e&&!s)return[t];var S={};function l(e){O(e).forEach((function(e){"string"!=typeof e&&(d(e)?l(c(e)):"object"!==(0,n.default)(e)||(0,E.isValidElement)(e)||Object.assign(S,e))}))}l(e);var I=_.default.parse("<0>".concat(t,"</0>")),A=u(u({},S),i);function R(e,t,a){var o=c(e),i=m(o,t.children,a);return(function(e){return"[object Array]"===Object.prototype.toString.call(e)&&e.every((function(e){return(0,E.isValidElement)(e)}))})(o)&&0===i.length?o:i}function N(e,t,a,o,i){e.dummy&&(e.children=t),a.push((0,E.cloneElement)(e,u(u({},e.props),{},{key:o}),i?void 0:t))}function m(t,i,_){var S=O(t);return O(i).reduce((function(t,i,l){var I,c,O,L=i.children&&i.children[0]&&i.children[0].content&&a.services.interpolator.interpolate(i.children[0].content,A,a.language);if("tag"===i.type){var D=S[parseInt(i.name,10)];!D&&1===_.length&&_[0][i.name]&&(D=_[0][i.name]),D||(D={});var p=0!==Object.keys(i.attrs).length?(I={props:i.attrs},(O=u({},c=D)).props=Object.assign(I.props,c.props),O):D,h=(0,E.isValidElement)(p),C=h&&d(i,!0)&&!i.voidElement,f=s&&"object"===(0,n.default)(p)&&p.dummy&&!h,B="object"===(0,n.default)(e)&&null!==e&&Object.hasOwnProperty.call(e,i.name);if("string"==typeof p){var P=a.services.interpolator.interpolate(p,A,a.language);t.push(P)}else if(d(p)||C){N(p,R(p,i,_),t,l)}else if(f){var g=m(S,i.children,_);t.push((0,E.cloneElement)(p,u(u({},p.props),{},{key:l}),g))}else if(Number.isNaN(parseFloat(i.name))){if(B)N(p,R(p,i,_),t,l,i.voidElement);else if(o.transSupportBasicHtmlNodes&&T.indexOf(i.name)>-1)if(i.voidElement)t.push((0,E.createElement)(i.name,{key:"".concat(i.name,"-").concat(l)}));else{var v=m(S,i.children,_);t.push((0,E.createElement)(i.name,{key:"".concat(i.name,"-").concat(l)},v))}else if(i.voidElement)t.push("<".concat(i.name," />"));else{var y=m(S,i.children,_);t.push("<".concat(i.name,">").concat(y,"</").concat(i.name,">"))}}else if("object"!==(0,n.default)(p)||h)1===i.children.length&&L?t.push((0,E.cloneElement)(p,u(u({},p.props),{},{key:l}),L)):t.push((0,E.cloneElement)(p,u(u({},p.props),{},{key:l})));else{var W=i.children[0]?L:null;W&&t.push(W)}}else if("text"===i.type){var M=o.transWrapTextNodes,b=r?o.unescape(a.services.interpolator.interpolate(i.content,A,a.language)):a.services.interpolator.interpolate(i.content,A,a.language);M?t.push((0,E.createElement)(M,{key:"".concat(i.name,"-").concat(l)},b)):t.push(b)}return t}),[])}return c(m([{dummy:!0,children:e||[]}],I,O(e||[]))[0])})(D||t,k,P,v,G,f),V=void 0!==o?o:v.defaultTransParent;return V?(0,E.createElement)(V,B,F):F};var i=o(a(6479)),n=o(a(50008)),r=o(a(59713)),E=a(67294),_=o(a(81613)),T=a(17873),s=a(58255),S=a(46425),l=["format"],I=["children","count","parent","i18nKey","context","tOptions","values","defaults","components","ns","i18n","t","shouldUnescape"];function A(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function u(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?A(Object(a),!0).forEach((function(t){(0,r.default)(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):A(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function d(e,t){if(!e)return!1;var a=e.props?e.props.children:e.children;return t?a.length>0:!!a}function c(e){return e?e.props?e.props.children:e.children:[]}function O(e){return Array.isArray(e)?e:[e]}function R(e,t){if(!e)return"";var a="",o=O(e),r=t.transSupportBasicHtmlNodes&&t.transKeepBasicHtmlNodesFor?t.transKeepBasicHtmlNodesFor:[];return o.forEach((function(e,o){if("string"==typeof e)a+="".concat(e);else if((0,E.isValidElement)(e)){var _=Object.keys(e.props).length,s=r.indexOf(e.type)>-1,S=e.props.children;if(!S&&s&&0===_)a+="<".concat(e.type,"/>");else if(S||s&&0===_)if(e.props.i18nIsDynamicList)a+="<".concat(o,"></").concat(o,">");else if(s&&1===_&&"string"==typeof S)a+="<".concat(e.type,">").concat(S,"</").concat(e.type,">");else{var I=R(S,t);a+="<".concat(o,">").concat(I,"</").concat(o,">")}else a+="<".concat(o,"></").concat(o,">")}else if(null===e)(0,T.warn)("Trans: the passed in value is invalid - seems you passed in a null child.");else if("object"===(0,n.default)(e)){var A=e.format,u=(0,i.default)(e,l),d=Object.keys(u);if(1===d.length){var c=A?"".concat(d[0],", ").concat(A):d[0];a+="{{".concat(c,"}}")}else(0,T.warn)("react-i18next: the passed in object contained more than one variable - the object should look like {{ value, format }} where format is optional.",e)}else(0,T.warn)("Trans: the passed in value is invalid - seems you passed in a variable like {number} - please pass in variables for interpolation as full objects like {{number}}.",e)})),a}},20634:(e,t,a)=>{"use strict";var o=a(95318);Object.defineProperty(t,"__esModule",{value:!0}),t.Translation=function(e){var t=e.ns,a=e.children,o=(0,n.default)(e,E),_=(0,r.useTranslation)(t,o),T=(0,i.default)(_,3),s=T[0],S=T[1],l=T[2];return a(s,{i18n:S,lng:S.language},l)};var i=o(a(63038)),n=o(a(6479)),r=a(32607),E=["ns","children"]},59336:(e,t,a)=>{"use strict";var o=a(95318);Object.defineProperty(t,"__esModule",{value:!0}),t.composeInitialProps=function(e){return function(t){return new Promise((function(a){var o=u();e.getInitialProps?e.getInitialProps(t).then((function(e){a(l(l({},e),o))})):a(o)}))}},t.getInitialProps=u,Object.defineProperty(t,"getDefaults",{enumerable:!0,get:function(){return _.getDefaults}}),Object.defineProperty(t,"setDefaults",{enumerable:!0,get:function(){return _.setDefaults}}),Object.defineProperty(t,"getI18n",{enumerable:!0,get:function(){return T.getI18n}}),Object.defineProperty(t,"setI18n",{enumerable:!0,get:function(){return T.setI18n}}),Object.defineProperty(t,"initReactI18next",{enumerable:!0,get:function(){return s.initReactI18next}}),t.ReportNamespaces=t.I18nContext=void 0;var i=o(a(59713)),n=o(a(34575)),r=o(a(93913)),E=a(67294),_=a(58255),T=a(46425),s=a(78564);function S(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function l(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?S(Object(a),!0).forEach((function(t){(0,i.default)(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):S(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}var I=(0,E.createContext)();t.I18nContext=I;var A=(function(){function e(){(0,n.default)(this,e),this.usedNamespaces={}}return(0,r.default)(e,[{key:"addUsedNamespaces",value:function(e){var t=this;e.forEach((function(e){t.usedNamespaces[e]||(t.usedNamespaces[e]=!0)}))}},{key:"getUsedNamespaces",value:function(){return Object.keys(this.usedNamespaces)}}]),e})();function u(){var e=(0,T.getI18n)(),t=e.reportNamespaces?e.reportNamespaces.getUsedNamespaces():[],a={},o={};return e.languages.forEach((function(a){o[a]={},t.forEach((function(t){o[a][t]=e.getResourceBundle(a,t)||{}}))})),a.initialI18nStore=o,a.initialLanguage=e.language,a}t.ReportNamespaces=A},58255:(e,t,a)=>{"use strict";var o=a(95318);Object.defineProperty(t,"__esModule",{value:!0}),t.setDefaults=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};E=r(r({},E),e)},t.getDefaults=function(){return E};var i=o(a(59713));function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function r(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?n(Object(a),!0).forEach((function(t){(0,i.default)(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):n(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}var E={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:a(40832).unescape}},46425:(e,t)=>{"use strict";var a;Object.defineProperty(t,"__esModule",{value:!0}),t.setI18n=function(e){a=e},t.getI18n=function(){return a}},81468:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"Trans",{enumerable:!0,get:function(){return o.Trans}}),Object.defineProperty(t,"TransWithoutContext",{enumerable:!0,get:function(){return i.Trans}}),Object.defineProperty(t,"useTranslation",{enumerable:!0,get:function(){return n.useTranslation}}),Object.defineProperty(t,"withTranslation",{enumerable:!0,get:function(){return r.withTranslation}}),Object.defineProperty(t,"Translation",{enumerable:!0,get:function(){return E.Translation}}),Object.defineProperty(t,"I18nextProvider",{enumerable:!0,get:function(){return _.I18nextProvider}}),Object.defineProperty(t,"withSSR",{enumerable:!0,get:function(){return T.withSSR}}),Object.defineProperty(t,"useSSR",{enumerable:!0,get:function(){return s.useSSR}}),Object.defineProperty(t,"I18nContext",{enumerable:!0,get:function(){return S.I18nContext}}),Object.defineProperty(t,"initReactI18next",{enumerable:!0,get:function(){return S.initReactI18next}}),Object.defineProperty(t,"setDefaults",{enumerable:!0,get:function(){return S.setDefaults}}),Object.defineProperty(t,"getDefaults",{enumerable:!0,get:function(){return S.getDefaults}}),Object.defineProperty(t,"setI18n",{enumerable:!0,get:function(){return S.setI18n}}),Object.defineProperty(t,"getI18n",{enumerable:!0,get:function(){return S.getI18n}}),Object.defineProperty(t,"composeInitialProps",{enumerable:!0,get:function(){return S.composeInitialProps}}),Object.defineProperty(t,"getInitialProps",{enumerable:!0,get:function(){return S.getInitialProps}}),t.selectOrdinal=t.plural=t.select=t.number=t.time=t.date=void 0;var o=a(69779),i=a(57346),n=a(32607),r=a(28481),E=a(20634),_=a(52832),T=a(40469),s=a(87377),S=a(59336);t.date=function(){return""};t.time=function(){return""};t.number=function(){return""};t.select=function(){return""};t.plural=function(){return""};t.selectOrdinal=function(){return""}},78564:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.initReactI18next=void 0;var o=a(58255),i=a(46425),n={type:"3rdParty",init:function(e){(0,o.setDefaults)(e.options.react),(0,i.setI18n)(e)}};t.initReactI18next=n},40832:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.unescape=void 0;var a=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,o={"&amp;":"&","&#38;":"&","&lt;":"<","&#60;":"<","&gt;":">","&#62;":">","&apos;":"'","&#39;":"'","&quot;":'"',"&#34;":'"',"&nbsp;":" ","&#160;":" ","&copy;":"©","&#169;":"©","&reg;":"®","&#174;":"®","&hellip;":"…","&#8230;":"…","&#x2F;":"/","&#47;":"/"},i=function(e){return o[e]};t.unescape=function(e){return e.replace(a,i)}},87377:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.useSSR=function(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=a.i18n,r=(0,o.useContext)(i.I18nContext)||{},E=r.i18n,_=n||E||(0,i.getI18n)();if(_.options&&_.options.isClone)return;e&&!_.initializedStoreOnce&&(_.services.resourceStore.data=e,_.options.ns=Object.values(e).reduce((function(e,t){return Object.keys(t).forEach((function(t){e.indexOf(t)<0&&e.push(t)})),e}),_.options.ns),_.initializedStoreOnce=!0,_.isInitialized=!0);t&&!_.initializedLanguageOnce&&(_.changeLanguage(t),_.initializedLanguageOnce=!0)};var o=a(67294),i=a(59336)},32607:(e,t,a)=>{"use strict";var o=a(95318);Object.defineProperty(t,"__esModule",{value:!0}),t.useTranslation=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=t.i18n,o=(0,r.useContext)(E.I18nContext)||{},n=o.i18n,T=o.defaultNS,l=a||n||(0,E.getI18n)();l&&!l.reportNamespaces&&(l.reportNamespaces=new E.ReportNamespaces);if(!l){(0,_.warnOnce)("You will need to pass in an i18next instance by using initReactI18next");var I=function(e){return Array.isArray(e)?e[e.length-1]:e},A=[I,{},!1];return A.t=I,A.i18n={},A.ready=!1,A}l.options.react&&void 0!==l.options.react.wait&&(0,_.warnOnce)("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");var u=s(s(s({},(0,E.getDefaults)()),l.options.react),t),d=u.useSuspense,c=u.keyPrefix,O=e||T||l.options&&l.options.defaultNS;O="string"==typeof O?[O]:O||["translation"],l.reportNamespaces.addUsedNamespaces&&l.reportNamespaces.addUsedNamespaces(O);var R=(l.isInitialized||l.initializedStoreOnce)&&O.every((function(e){return(0,_.hasLoadedNamespace)(e,l,u)}));function N(){return l.getFixedT(null,"fallback"===u.nsMode?O:O[0],c)}var m=(0,r.useState)(N),L=(0,i.default)(m,2),D=L[0],p=L[1],h=O.join(),C=S(h),f=(0,r.useRef)(!0);(0,r.useEffect)((function(){var e=u.bindI18n,t=u.bindI18nStore;function a(){f.current&&p(N)}return f.current=!0,R||d||(0,_.loadNamespaces)(l,O,(function(){f.current&&p(N)})),R&&C&&C!==h&&f.current&&p(N),e&&l&&l.on(e,a),t&&l&&l.store.on(t,a),function(){f.current=!1,e&&l&&e.split(" ").forEach((function(e){return l.off(e,a)})),t&&l&&t.split(" ").forEach((function(e){return l.store.off(e,a)}))}}),[l,h]);var B=(0,r.useRef)(!0);(0,r.useEffect)((function(){f.current&&!B.current&&p(N),B.current=!1}),[l,c]);var P=[D,l,R];if(P.t=D,P.i18n=l,P.ready=R,R)return P;if(!R&&!d)return P;throw new Promise((function(e){(0,_.loadNamespaces)(l,O,(function(){e()}))}))};var i=o(a(63038)),n=o(a(59713)),r=a(67294),E=a(59336),_=a(17873);function T(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function s(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?T(Object(a),!0).forEach((function(t){(0,n.default)(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):T(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}var S=function(e,t){var a=(0,r.useRef)();return(0,r.useEffect)((function(){a.current=t?a.current:e}),[e,t]),a.current}},17873:(e,t)=>{"use strict";function a(){if(console&&console.warn){for(var e,t=arguments.length,a=new Array(t),o=0;o<t;o++)a[o]=arguments[o];"string"==typeof a[0]&&(a[0]="react-i18next:: ".concat(a[0])),(e=console).warn.apply(e,a)}}Object.defineProperty(t,"__esModule",{value:!0}),t.warn=a,t.warnOnce=i,t.loadNamespaces=function(e,t,a){e.loadNamespaces(t,(function(){if(e.isInitialized)a();else{e.on("initialized",(function t(){setTimeout((function(){e.off("initialized",t)}),0),a()}))}}))},t.hasLoadedNamespace=function(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!t.languages||!t.languages.length)return i("i18n.languages were undefined or empty",t.languages),!0;var o=void 0!==t.options.ignoreJSONStructure;if(!o)return n(e,t,a);return t.hasLoadedNamespace(e,{precheck:function(t,o){if(a.bindI18n&&a.bindI18n.indexOf("languageChanging")>-1&&t.services.backendConnector.backend&&t.isLanguageChangingTo&&!o(t.isLanguageChangingTo,e))return!1}})},t.getDisplayName=function(e){return e.displayName||e.name||("string"==typeof e&&e.length>0?e:"Unknown")};var o={};function i(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];"string"==typeof t[0]&&o[t[0]]||("string"==typeof t[0]&&(o[t[0]]=new Date),a.apply(void 0,t))}function n(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=t.languages[0],i=!!t.options&&t.options.fallbackLng,n=t.languages[t.languages.length-1];if("cimode"===o.toLowerCase())return!0;var r=function(e,a){var o=t.services.backendConnector.state["".concat(e,"|").concat(a)];return-1===o||2===o};return!(a.bindI18n&&a.bindI18n.indexOf("languageChanging")>-1&&t.services.backendConnector.backend&&t.isLanguageChangingTo&&!r(t.isLanguageChangingTo,e))&&(!!t.hasResourceBundle(o,e)||(!(t.services.backendConnector.backend&&(!t.options.resources||t.options.partialBundledLanguages))||!(!r(o,e)||i&&!r(n,e))))}},40469:(e,t,a)=>{"use strict";var o=a(95318);Object.defineProperty(t,"__esModule",{value:!0}),t.withSSR=function(){return function(e){function t(t){var a=t.initialI18nStore,o=t.initialLanguage,_=(0,n.default)(t,s);return(0,E.useSSR)(a,o),(0,r.createElement)(e,(function(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?S(Object(a),!0).forEach((function(t){(0,i.default)(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):S(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e})({},_))}return t.getInitialProps=(0,_.composeInitialProps)(e),t.displayName="withI18nextSSR(".concat((0,T.getDisplayName)(e),")"),t.WrappedComponent=e,t}};var i=o(a(59713)),n=o(a(6479)),r=a(67294),E=a(87377),_=a(59336),T=a(17873),s=["initialI18nStore","initialLanguage"];function S(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}},28481:(e,t,a)=>{"use strict";var o=a(95318);Object.defineProperty(t,"__esModule",{value:!0}),t.withTranslation=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function(a){function o(o){var i=o.forwardedRef,T=(0,r.default)(o,s),S=(0,_.useTranslation)(e,l(l({},T),{},{keyPrefix:t.keyPrefix})),I=(0,n.default)(S,3),A=I[0],u=I[1],d=I[2],c=l(l({},T),{},{t:A,i18n:u,tReady:d});return t.withRef&&i?c.ref=i:!t.withRef&&i&&(c.forwardedRef=i),(0,E.createElement)(a,c)}o.displayName="withI18nextTranslation(".concat((0,T.getDisplayName)(a),")"),o.WrappedComponent=a;return t.withRef?(0,E.forwardRef)((function(e,t){return(0,E.createElement)(o,Object.assign({},e,{forwardedRef:t}))})):o}};var i=o(a(59713)),n=o(a(63038)),r=o(a(6479)),E=a(67294),_=a(32607),T=a(17873),s=["forwardedRef"];function S(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function l(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?S(Object(a),!0).forEach((function(t){(0,i.default)(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):S(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}},69921:(e,t)=>{"use strict";var a,o=Symbol.for("react.element"),i=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),r=Symbol.for("react.strict_mode"),E=Symbol.for("react.profiler"),_=Symbol.for("react.provider"),T=Symbol.for("react.context"),s=Symbol.for("react.server_context"),S=Symbol.for("react.forward_ref"),l=Symbol.for("react.suspense"),I=Symbol.for("react.suspense_list"),A=Symbol.for("react.memo"),u=Symbol.for("react.lazy"),d=Symbol.for("react.offscreen");function c(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case o:switch(e=e.type){case n:case E:case r:case l:case I:return e;default:switch(e=e&&e.$$typeof){case s:case T:case S:case u:case A:case _:return e;default:return t}}case i:return t}}}a=Symbol.for("react.module.reference"),t.ContextConsumer=T,t.ContextProvider=_,t.Element=o,t.ForwardRef=S,t.Fragment=n,t.Lazy=u,t.Memo=A,t.Portal=i,t.Profiler=E,t.StrictMode=r,t.Suspense=l,t.SuspenseList=I,t.isAsyncMode=function(){return!1},t.isConcurrentMode=function(){return!1},t.isContextConsumer=function(e){return c(e)===T},t.isContextProvider=function(e){return c(e)===_},t.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===o},t.isForwardRef=function(e){return c(e)===S},t.isFragment=function(e){return c(e)===n},t.isLazy=function(e){return c(e)===u},t.isMemo=function(e){return c(e)===A},t.isPortal=function(e){return c(e)===i},t.isProfiler=function(e){return c(e)===E},t.isStrictMode=function(e){return c(e)===r},t.isSuspense=function(e){return c(e)===l},t.isSuspenseList=function(e){return c(e)===I},t.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===n||e===E||e===r||e===l||e===I||e===d||"object"==typeof e&&null!==e&&(e.$$typeof===u||e.$$typeof===A||e.$$typeof===_||e.$$typeof===T||e.$$typeof===S||e.$$typeof===a||void 0!==e.getModuleId)},t.typeOf=c},59864:(e,t,a)=>{"use strict";e.exports=a(69921)},72408:(e,t)=>{"use strict";var a=Symbol.for("react.element"),o=Symbol.for("react.portal"),i=Symbol.for("react.fragment"),n=Symbol.for("react.strict_mode"),r=Symbol.for("react.profiler"),E=Symbol.for("react.provider"),_=Symbol.for("react.context"),T=Symbol.for("react.forward_ref"),s=Symbol.for("react.suspense"),S=Symbol.for("react.memo"),l=Symbol.for("react.lazy"),I=Symbol.iterator;var A={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},u=Object.assign,d={};function c(e,t,a){this.props=e,this.context=t,this.refs=d,this.updater=a||A}function O(){}function R(e,t,a){this.props=e,this.context=t,this.refs=d,this.updater=a||A}c.prototype.isReactComponent={},c.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},c.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},O.prototype=c.prototype;var N=R.prototype=new O;N.constructor=R,u(N,c.prototype),N.isPureReactComponent=!0;var m=Array.isArray,L=Object.prototype.hasOwnProperty,D={current:null},p={key:!0,ref:!0,__self:!0,__source:!0};function h(e,t,o){var i,n={},r=null,E=null;if(null!=t)for(i in void 0!==t.ref&&(E=t.ref),void 0!==t.key&&(r=""+t.key),t)L.call(t,i)&&!p.hasOwnProperty(i)&&(n[i]=t[i]);var _=arguments.length-2;if(1===_)n.children=o;else if(1<_){for(var T=Array(_),s=0;s<_;s++)T[s]=arguments[s+2];n.children=T}if(e&&e.defaultProps)for(i in _=e.defaultProps)void 0===n[i]&&(n[i]=_[i]);return{$$typeof:a,type:e,key:r,ref:E,props:n,_owner:D.current}}function C(e){return"object"==typeof e&&null!==e&&e.$$typeof===a}var f=/\/+/g;function B(e,t){return"object"==typeof e&&null!==e&&null!=e.key?(function(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,(function(e){return t[e]}))})(""+e.key):t.toString(36)}function P(e,t,i,n,r){var E=typeof e;"undefined"!==E&&"boolean"!==E||(e=null);var _=!1;if(null===e)_=!0;else switch(E){case"string":case"number":_=!0;break;case"object":switch(e.$$typeof){case a:case o:_=!0}}if(_)return r=r(_=e),e=""===n?"."+B(_,0):n,m(r)?(i="",null!=e&&(i=e.replace(f,"$&/")+"/"),P(r,t,i,"",(function(e){return e}))):null!=r&&(C(r)&&(r=(function(e,t){return{$$typeof:a,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}})(r,i+(!r.key||_&&_.key===r.key?"":(""+r.key).replace(f,"$&/")+"/")+e)),t.push(r)),1;if(_=0,n=""===n?".":n+":",m(e))for(var T=0;T<e.length;T++){var s=n+B(E=e[T],T);_+=P(E,t,i,s,r)}else if(s=(function(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=I&&e[I]||e["@@iterator"])?e:null})(e),"function"==typeof s)for(e=s.call(e),T=0;!(E=e.next()).done;)_+=P(E=E.value,t,i,s=n+B(E,T++),r);else if("object"===E)throw t=String(e),Error("Objects are not valid as a React child (found: "+("[object Object]"===t?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return _}function g(e,t,a){if(null==e)return e;var o=[],i=0;return P(e,o,"","",(function(e){return t.call(a,e,i++)})),o}function v(e){if(-1===e._status){var t=e._result;(t=t()).then((function(t){0!==e._status&&-1!==e._status||(e._status=1,e._result=t)}),(function(t){0!==e._status&&-1!==e._status||(e._status=2,e._result=t)})),-1===e._status&&(e._status=0,e._result=t)}if(1===e._status)return e._result.default;throw e._result}var y={current:null},W={transition:null},M={ReactCurrentDispatcher:y,ReactCurrentBatchConfig:W,ReactCurrentOwner:D};t.Children={map:g,forEach:function(e,t,a){g(e,(function(){t.apply(this,arguments)}),a)},count:function(e){var t=0;return g(e,(function(){t++})),t},toArray:function(e){return g(e,(function(e){return e}))||[]},only:function(e){if(!C(e))throw Error("React.Children.only expected to receive a single React element child.");return e}},t.Component=c,t.Fragment=i,t.Profiler=r,t.PureComponent=R,t.StrictMode=n,t.Suspense=s,t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=M,t.cloneElement=function(e,t,o){if(null==e)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var i=u({},e.props),n=e.key,r=e.ref,E=e._owner;if(null!=t){if(void 0!==t.ref&&(r=t.ref,E=D.current),void 0!==t.key&&(n=""+t.key),e.type&&e.type.defaultProps)var _=e.type.defaultProps;for(T in t)L.call(t,T)&&!p.hasOwnProperty(T)&&(i[T]=void 0===t[T]&&void 0!==_?_[T]:t[T])}var T=arguments.length-2;if(1===T)i.children=o;else if(1<T){_=Array(T);for(var s=0;s<T;s++)_[s]=arguments[s+2];i.children=_}return{$$typeof:a,type:e.type,key:n,ref:r,props:i,_owner:E}},t.createContext=function(e){return(e={$$typeof:_,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null}).Provider={$$typeof:E,_context:e},e.Consumer=e},t.createElement=h,t.createFactory=function(e){var t=h.bind(null,e);return t.type=e,t},t.createRef=function(){return{current:null}},t.forwardRef=function(e){return{$$typeof:T,render:e}},t.isValidElement=C,t.lazy=function(e){return{$$typeof:l,_payload:{_status:-1,_result:e},_init:v}},t.memo=function(e,t){return{$$typeof:S,type:e,compare:void 0===t?null:t}},t.startTransition=function(e){var t=W.transition;W.transition={};try{e()}finally{W.transition=t}},t.unstable_act=function(){throw Error("act(...) is not supported in production builds of React.")},t.useCallback=function(e,t){return y.current.useCallback(e,t)},t.useContext=function(e){return y.current.useContext(e)},t.useDebugValue=function(){},t.useDeferredValue=function(e){return y.current.useDeferredValue(e)},t.useEffect=function(e,t){return y.current.useEffect(e,t)},t.useId=function(){return y.current.useId()},t.useImperativeHandle=function(e,t,a){return y.current.useImperativeHandle(e,t,a)},t.useInsertionEffect=function(e,t){return y.current.useInsertionEffect(e,t)},t.useLayoutEffect=function(e,t){return y.current.useLayoutEffect(e,t)},t.useMemo=function(e,t){return y.current.useMemo(e,t)},t.useReducer=function(e,t,a){return y.current.useReducer(e,t,a)},t.useRef=function(e){return y.current.useRef(e)},t.useState=function(e){return y.current.useState(e)},t.useSyncExternalStore=function(e,t,a){return y.current.useSyncExternalStore(e,t,a)},t.useTransition=function(){return y.current.useTransition()},t.version="18.2.0"},67294:(e,t,a)=>{"use strict";e.exports=a(72408)},60053:(e,t)=>{"use strict";function a(e,t){var a=e.length;e.push(t);e:for(;0<a;){var o=a-1>>>1,i=e[o];if(!(0<n(i,t)))break e;e[o]=t,e[a]=i,a=o}}function o(e){return 0===e.length?null:e[0]}function i(e){if(0===e.length)return null;var t=e[0],a=e.pop();if(a!==t){e[0]=a;e:for(var o=0,i=e.length,r=i>>>1;o<r;){var E=2*(o+1)-1,_=e[E],T=E+1,s=e[T];if(0>n(_,a))T<i&&0>n(s,_)?(e[o]=s,e[T]=a,o=T):(e[o]=_,e[E]=a,o=E);else{if(!(T<i&&0>n(s,a)))break e;e[o]=s,e[T]=a,o=T}}}return t}function n(e,t){var a=e.sortIndex-t.sortIndex;return 0!==a?a:e.id-t.id}if("object"==typeof performance&&"function"==typeof performance.now){var r=performance;t.unstable_now=function(){return r.now()}}else{var E=Date,_=E.now();t.unstable_now=function(){return E.now()-_}}var T=[],s=[],S=1,l=null,I=3,A=!1,u=!1,d=!1,c="function"==typeof setTimeout?setTimeout:null,O="function"==typeof clearTimeout?clearTimeout:null,R="undefined"!=typeof setImmediate?setImmediate:null;function N(e){for(var t=o(s);null!==t;){if(null===t.callback)i(s);else{if(!(t.startTime<=e))break;i(s),t.sortIndex=t.expirationTime,a(T,t)}t=o(s)}}function m(e){if(d=!1,N(e),!u)if(null!==o(T))u=!0,W(L);else{var t=o(s);null!==t&&M(m,t.startTime-e)}}function L(e,a){u=!1,d&&(d=!1,O(C),C=-1),A=!0;var n=I;try{for(N(a),l=o(T);null!==l&&(!(l.expirationTime>a)||e&&!P());){var r=l.callback;if("function"==typeof r){l.callback=null,I=l.priorityLevel;var E=r(l.expirationTime<=a);a=t.unstable_now(),"function"==typeof E?l.callback=E:l===o(T)&&i(T),N(a)}else i(T);l=o(T)}if(null!==l)var _=!0;else{var S=o(s);null!==S&&M(m,S.startTime-a),_=!1}return _}finally{l=null,I=n,A=!1}}"undefined"!=typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);var D,p=!1,h=null,C=-1,f=5,B=-1;function P(){return!(t.unstable_now()-B<f)}function g(){if(null!==h){var e=t.unstable_now();B=e;var a=!0;try{a=h(!0,e)}finally{a?D():(p=!1,h=null)}}else p=!1}if("function"==typeof R)D=function(){R(g)};else if("undefined"!=typeof MessageChannel){var v=new MessageChannel,y=v.port2;v.port1.onmessage=g,D=function(){y.postMessage(null)}}else D=function(){c(g,0)};function W(e){h=e,p||(p=!0,D())}function M(e,a){C=c((function(){e(t.unstable_now())}),a)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){u||A||(u=!0,W(L))},t.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):f=0<e?Math.floor(1e3/e):5},t.unstable_getCurrentPriorityLevel=function(){return I},t.unstable_getFirstCallbackNode=function(){return o(T)},t.unstable_next=function(e){switch(I){case 1:case 2:case 3:var t=3;break;default:t=I}var a=I;I=t;try{return e()}finally{I=a}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=function(){},t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var a=I;I=e;try{return t()}finally{I=a}},t.unstable_scheduleCallback=function(e,i,n){var r=t.unstable_now();switch("object"==typeof n&&null!==n?n="number"==typeof(n=n.delay)&&0<n?r+n:r:n=r,e){case 1:var E=-1;break;case 2:E=250;break;case 5:E=1073741823;break;case 4:E=1e4;break;default:E=5e3}return e={id:S++,callback:i,priorityLevel:e,startTime:n,expirationTime:E=n+E,sortIndex:-1},n>r?(e.sortIndex=n,a(s,e),null===o(T)&&e===o(s)&&(d?(O(C),C=-1):d=!0,M(m,n-r))):(e.sortIndex=E,a(T,e),u||A||(u=!0,W(L))),e},t.unstable_shouldYield=P,t.unstable_wrapCallback=function(e){var t=I;return function(){var a=I;I=t;try{return e.apply(this,arguments)}finally{I=a}}}},63840:(e,t,a)=>{"use strict";e.exports=a(60053)},86851:(e,t,a)=>{"use strict";var o=a(89594),i=Array.prototype.concat,n=Array.prototype.slice,r=e.exports=function(e){for(var t=[],a=0,r=e.length;a<r;a++){var E=e[a];o(E)?t=i.call(t,n.call(E)):t.push(E)}return t};r.wrap=function(e){return function(){return e(r(arguments))}}},89594:e=>{e.exports=function(e){return!(!e||"string"==typeof e)&&(e instanceof Array||Array.isArray(e)||e.length>=0&&(e.splice instanceof Function||Object.getOwnPropertyDescriptor(e,e.length-1)&&"String"!==e.constructor.name))}},92341:()=>{!(function(){if(void 0!==window.navigate)return;const e={37:"left",38:"up",39:"right",40:"down"};let t=null,a=null;function o(){window.navigate=i,window.Element.prototype.spatialNavigationSearch=T,window.Element.prototype.focusableAreas=I,window.Element.prototype.getSpatialNavigationContainer=l,window.CSS&&CSS.registerProperty&&(""===window.getComputedStyle(document.documentElement).getPropertyValue("--spatial-navigation-contain")&&CSS.registerProperty({name:"--spatial-navigation-contain",syntax:"auto | contain",inherits:!1,initialValue:"auto"}),""===window.getComputedStyle(document.documentElement).getPropertyValue("--spatial-navigation-action")&&CSS.registerProperty({name:"--spatial-navigation-action",syntax:"auto | focus | scroll",inherits:!1,initialValue:"auto"}),""===window.getComputedStyle(document.documentElement).getPropertyValue("--spatial-navigation-function")&&CSS.registerProperty({name:"--spatial-navigation-function",syntax:"normal | euclidean | grid",inherits:!0,initialValue:"normal"})),window.addEventListener("keydown",(o=>{const n=parent&&parent.__spatialNavigation__.keyMode||window.__spatialNavigation__.keyMode,r=document.activeElement,E=e[o.keyCode];if(9===o.keyCode&&(a=null),!(!n||"NONE"===n||"SHIFTARROW"===n&&!o.shiftKey||"ARROW"===n&&o.shiftKey||o.defaultPrevented||o.spatialNavigationPrevented)){let n={left:!0,up:!0,right:!0,down:!0};"INPUT"!==r.nodeName&&"TEXTAREA"!==r.nodeName||(n=(function(t){const a=["email","date","month","number","time","week"],o=["password","text","search","tel","url",null],i=document.activeElement,n=i.selectionStart,r=i.selectionEnd,E={left:!1,up:!1,right:!1,down:!1},_=e[t.keyCode];if(void 0===_)return E;(!a.includes(i.getAttribute("type"))||"up"!==_&&"down"!==_)&&(o.includes(i.getAttribute("type"))||"TEXTAREA"===i.nodeName)?n===r&&(0===n&&(E.left=!0,E.up=!0),r===i.value.length&&(E.right=!0,E.down=!0)):E[_]=!0;return E})(o)),n[E]&&(o.preventDefault(),t=new Map,i(E),t=null,a=null)}}))}function i(e){let t=(function(){let e=document.activeElement;e&&(e!==document.body||document.querySelector(":focus"))||(e=document);return e})(),o=null;a&&(o=document.elementFromPoint(a.x,a.y),null===o&&(o=document.body),C(o)&&!R(o)?a=null:t=R(o)?o:o.getSpatialNavigationContainer()),t!==document&&t!==document.documentElement||(t=document.body||document.documentElement);let i=null;if((R(t)||"BODY"===t.nodeName)&&"INPUT"!==t.nodeName){i=t,"IFRAME"===t.nodeName&&(t=t.contentDocument.documentElement);let a=null;if("scroll"===d(t)){if(r(t,e))return}else if("focus"===d(t)){if(a=t.spatialNavigationSearch(e,{container:t,candidates:E(t,{mode:"all"}),inside:!0}),n(a,e))return}else if("auto"===d(t)&&(a=t.spatialNavigationSearch(e,{container:t,inside:!0}),n(a,e)||r(t,e)))return}i=i||t.getSpatialNavigationContainer();let _=i.parentElement?i.getSpatialNavigationContainer():null;if(_||window.location===window.parent.location||(_=window.parent.document.documentElement),"scroll"===d(t)){if(r(i,e))return}else"focus"===d(t)?c(t,i,_,e,"all"):"auto"===d(t)&&c(t,i,_,e,"visible")}function n(e,t){if(e){const a=e.getSpatialNavigationContainer(),o=window.getComputedStyle(a,null);o.getPropertyValue("overflow-x"),o.getPropertyValue("overflow-y");return L(a,t)&&(function(e){const t=F(e),a=F(e.getSpatialNavigationContainer());t.left<a.left||t.right>a.right||t.top<a.top||(t.bottom,a.bottom)})(e),e.scrollIntoView(),A("beforefocus",e,null,t)?(e.focus(),!0):!0}return!1}function r(e,t){return L(e,t)&&!h(e,t)?(O(e,t),!0):!e.parentElement&&!p(e,t)&&(O(document.documentElement,t),!0)}function E(e,t={mode:"visible"}){let a=[];if(e.childElementCount>0){e.parentElement||(e=e.getElementsByTagName("body")[0]||document.body);const t=e.children;for(const e of t)N(e)?a.push(e):C(e)?(a.push(e),!R(e)&&e.childElementCount&&(a=a.concat(E(e,{mode:"all"})))):e.childElementCount&&(a=a.concat(E(e,{mode:"all"})))}return"all"===t.mode?a:a.filter(f)}function _(e,t,a,o){const i=e;return o=o||i.getSpatialNavigationContainer(),s(i,a=!a||a.length<=0?E(o):a,t,o)}function T(e,t){const o=this;let i,n=[],r=[];t||(t={});const T=t.container||o.getSpatialNavigationContainer(),s=t.candidates&&t.candidates.length>0?t.candidates.filter((e=>T.contains(e))):E(T),l=t.inside||!1;if(s&&s.length>0){if(s.forEach((e=>{(o.contains(e)&&o!==e?n:r).push(e)})),t.candidates&&t.candidates.length>0||0!==n.length||(n=E(o)),r.length>0&&(r=_(o,e,r,T)),l&&(R(o)||"BODY"===o.nodeName)&&"INPUT"!==o.nodeName&&(i=(function(e,t,o){return S(e,t,o,a?W:M)})(o,n,e)),i=i||(function(e,t,a){const o=getComputedStyle(e).getPropertyValue("--spatial-navigation-function"),i=F(e);let n,r;switch(o){case"grid":r=t.filter((e=>y(i,F(e),a))),r.length>0&&(t=r),n=G;break;case"euclidean":n=U;break;default:n=b}return S(e,t,a,n)})(o,r,e),i&&N(i)){const t=E(i,{mode:"all"}),a=t.length>0?o.spatialNavigationSearch(e,{candidates:t,container:i}):null;a?i=a:C(i)||(s.splice(s.indexOf(i),1),i=s.length?o.spatialNavigationSearch(e,{candidates:s,container:T}):null)}return i}return null}function s(e,t,a,o){const i=e.getSpatialNavigationContainer();let n;return void 0===a?t:(n=i.parentElement&&o!==i&&!f(e)?F(i):F(e),!R(e)&&"BODY"!==e.nodeName||"INPUT"===e.nodeName?t.filter((t=>{const i=F(t),r="IFRAME"===t.nodeName?t.contentDocument.body:null;return o.contains(t)&&t!==e&&r!==e&&P(i,n,a)})):t.filter((t=>{const i=F(t);return o.contains(t)&&(e.contains(t)&&(function(e,t){const a=e.left<=t.right&&e.right>=t.right,o=e.left<=t.left&&e.right>=t.left,i=e.top<=t.top&&e.bottom>=t.top,n=e.top<=t.bottom&&e.bottom>=t.bottom;return(a||o)&&(i||n)})(n,i)&&t!==e||P(i,n,a))})))}function S(e,t,a,o){let i=null;window.location===window.parent.location||"BODY"!==e.nodeName&&"HTML"!==e.nodeName?i=e.getBoundingClientRect():(i=window.frameElement.getBoundingClientRect(),i.x=0,i.y=0);let n=Number.POSITIVE_INFINITY,r=[];if(t)for(let e=0;e<t.length;e++){const E=o(i,F(t[e]),a);E<n?(n=E,r=[t[e]]):E===n&&r.push(t[e])}return 0===r.length?null:r.length>1&&o===G?S(e,r,a,U):r[0]}function l(){let e=this;do{if(!e.parentElement){e=window.location!==window.parent.location?window.parent.document.documentElement:window.document.documentElement;break}e=e.parentElement}while(!R(e));return e}function I(e={mode:"visible"}){const t=this.parentElement?this:document.body,a=Array.prototype.filter.call(t.getElementsByTagName("*"),C);return"all"===e.mode?a:a.filter(f)}function A(e,t,a,o){if(["beforefocus","notarget"].includes(e)){const i=new CustomEvent("nav"+e,{bubbles:!0,cancelable:!0,detail:{causedTarget:a,dir:o}});return t.dispatchEvent(i)}}function u(e,t){return window.getComputedStyle(e).getPropertyValue(`--${t}`).trim()}function d(e){return u(e,"spatial-navigation-action")||"auto"}function c(e,t,a,o,i){let _={candidates:E(t,{mode:i}),container:t};for(;a;){if(n(e.spatialNavigationSearch(o,_),o))return;if("visible"===i&&r(t,o))return;if(!A("notarget",t,e,o))return;if(t===document||t===document.documentElement){if(window.location!==window.parent.location){if(e=window.frameElement,!(t=window.parent.document.documentElement).parentElement){a=null;break}a=t.getSpatialNavigationContainer()}}else{if(_={candidates:E(t=a,{mode:i}),container:t},!t.parentElement){a=null;break}a=t.getSpatialNavigationContainer()}}_={candidates:E(t,{mode:i}),container:t},!a&&t&&n(e.spatialNavigationSearch(o,_),o)||A("notarget",_.container,e,o)&&("auto"!==d(t)||"visible"!==i||r(t,o))}function O(e,t,a=0){if(e)switch(t){case"left":e.scrollLeft-=40+a;break;case"right":e.scrollLeft+=40+a;break;case"up":e.scrollTop-=40+a;break;case"down":e.scrollTop+=40+a}}function R(e){return!e.parentElement||"IFRAME"===e.nodeName||m(e)||(function(e){return"contain"===u(e,"spatial-navigation-contain")})(e)}function N(e){return"delegable"===u(e,"spatial-navigation-contain")}function m(e){const t=window.getComputedStyle(e,null),a=t.getPropertyValue("overflow-x"),o=t.getPropertyValue("overflow-y");return!!("visible"!==a&&"clip"!==a&&D(e,"left")||"visible"!==o&&"clip"!==o&&D(e,"down"))}function L(e,t){if(e&&"object"==typeof e){if(t&&"string"==typeof t){if(D(e,t)){const a=window.getComputedStyle(e,null),o=a.getPropertyValue("overflow-x"),i=a.getPropertyValue("overflow-y");switch(t){case"left":case"right":return"visible"!==o&&"clip"!==o&&"hidden"!==o;case"up":case"down":return"visible"!==i&&"clip"!==i&&"hidden"!==i}}return!1}return"HTML"===e.nodeName||"BODY"===e.nodeName||m(e)&&D(e)}}function D(e,t){if(e&&"object"==typeof e){if(!t||"string"!=typeof t)return e.scrollWidth>e.clientWidth||e.scrollHeight>e.clientHeight;switch(t){case"left":case"right":return e.scrollWidth>e.clientWidth;case"up":case"down":return e.scrollHeight>e.clientHeight}return!1}}function p(e,t){let a=!1;switch(t){case"left":a=0===window.scrollX;break;case"right":a=e.scrollWidth-e.scrollLeft-e.clientWidth==0;break;case"up":a=0===window.scrollY;break;case"down":a=e.scrollHeight-e.scrollTop-e.clientHeight==0}return a}function h(e,t){if(L(e,t)){const a=e.scrollTop,o=e.scrollLeft,i=e.scrollHeight-e.clientHeight,n=e.scrollWidth-e.clientWidth;switch(t){case"left":return 0===o;case"right":return Math.abs(o-n)<=1;case"up":return 0===a;case"down":return Math.abs(a-i)<=1}}return!1}function C(e){return!(e.tabIndex<0||(function(e){return"A"===e.tagName&&null===e.getAttribute("href")&&null===e.getAttribute("tabIndex")})(e)||(function(e){return!!["BUTTON","INPUT","SELECT","TEXTAREA","OPTGROUP","OPTION","FIELDSET"].includes(e.tagName)&&e.disabled})(e)||(function(e){return e.inert&&!e.ownerDocument.documentElement.inert})(e)||!(function(e){return!!B(e.parentElement)&&!(!B(e)||0===e.style.opacity||!("0px"!==e.style.width&&0!==e.style.width||"0px"!==e.style.height&&0!==e.style.height))})(e))&&(!!(!e.parentElement||L(e)&&D(e)||e.tabIndex>=0)||void 0)}function f(e){return!e.parentElement||B(e)&&(function(e){const t=F(e);if("IFRAME"!==e.nodeName&&(t.top<0||t.left<0||t.top>window.innerHeight||t.left>window.innerWidth))return!1;let a=parseInt(e.offsetWidth)/10,o=parseInt(e.offsetHeight)/10;a=isNaN(a)?1:a,o=isNaN(o)?1:o;const i={middle:[(t.left+t.right)/2,(t.top+t.bottom)/2],leftTop:[t.left+a,t.top+o],rightBottom:[t.right-a,t.bottom-o]};for(const t in i){const a=document.elementFromPoint(...i[t]);if(e===a||e.contains(a))return!0}return!1})(e)}function B(e){const t=window.getComputedStyle(e,null),a=t.getPropertyValue("visibility");return"none"!==t.getPropertyValue("display")&&!["hidden","collapse"].includes(a)}function P(e,t,a){switch(a){case"left":return g(t,e);case"right":return g(e,t);case"up":return v(t,e);case"down":return v(e,t);default:return!1}}function g(e,t){return e.left>=t.right||e.left>=t.left&&e.right>t.right&&e.bottom>t.top&&e.top<t.bottom}function v(e,t){return e.top>=t.bottom||e.top>=t.top&&e.bottom>t.bottom&&e.left<t.right&&e.right>t.left}function y(e,t,a){switch(a){case"left":case"right":return e.bottom>t.top&&e.top<t.bottom;case"up":case"down":return e.right>t.left&&e.left<t.right;default:return!1}}function W(e,t,o){const i=k(o,a,t),n=Math.abs(i.entryPoint.x-i.exitPoint.x),r=Math.abs(i.entryPoint.y-i.exitPoint.y);return Math.sqrt(Math.pow(n,2)+Math.pow(r,2))}function M(e,t,a){const o={left:"right",right:"left",up:"bottom",down:"top"}[a];return Math.abs(e[o]-t[o])}function b(e,t,a){let o=0,i=0;const n=k(a,e,t),r=Math.abs(n.entryPoint.x-n.exitPoint.x),E=Math.abs(n.entryPoint.y-n.exitPoint.y),_=Math.sqrt(Math.pow(r,2)+Math.pow(E,2));let T,s;const S=(function(e,t){const a={width:0,height:0,area:0},o=[Math.max(e.left,t.left),Math.max(e.top,t.top)],i=[Math.min(e.right,t.right),Math.min(e.bottom,t.bottom)];a.width=Math.abs(o[0]-i[0]),a.height=Math.abs(o[1]-i[1]),o[0]>=i[0]||o[1]>=i[1]||(a.area=Math.sqrt(a.width*a.height));return a})(e,t),l=S.area;switch(a){case"left":case"right":y(e,t,a)?i=Math.min(S.height/e.height,1):o=e.height/2,T=30*(E+o),s=5*i;break;case"up":case"down":y(e,t,a)?i=Math.min(S.width/e.width,1):o=e.width/2,T=2*(r+o),s=5*i;break;default:T=0,s=0}return _+T-s-l}function U(e,t,a){const o=k(a,e,t),i=Math.abs(o.entryPoint.x-o.exitPoint.x),n=Math.abs(o.entryPoint.y-o.exitPoint.y);return Math.sqrt(Math.pow(i,2)+Math.pow(n,2))}function G(e,t,a){const o=k(a,e,t);return"left"===a||"right"===a?Math.abs(o.entryPoint.x-o.exitPoint.x):Math.abs(o.entryPoint.y-o.exitPoint.y)}function k(e="down",t,o){const i={entryPoint:{x:0,y:0},exitPoint:{x:0,y:0}};if(a){switch(i.exitPoint=t,e){case"left":i.entryPoint.x=o.right;break;case"up":i.entryPoint.y=o.bottom;break;case"right":i.entryPoint.x=o.left;break;case"down":i.entryPoint.y=o.top}switch(e){case"left":case"right":a.y<=o.top?i.entryPoint.y=o.top:a.y<o.bottom?i.entryPoint.y=a.y:i.entryPoint.y=o.bottom;break;case"up":case"down":a.x<=o.left?i.entryPoint.x=o.left:a.x<o.right?i.entryPoint.x=a.x:i.entryPoint.x=o.right}}else{switch(e){case"left":i.exitPoint.x=t.left,i.entryPoint.x=o.right<t.left?o.right:t.left;break;case"up":i.exitPoint.y=t.top,i.entryPoint.y=o.bottom<t.top?o.bottom:t.top;break;case"right":i.exitPoint.x=t.right,i.entryPoint.x=o.left>t.right?o.left:t.right;break;case"down":i.exitPoint.y=t.bottom,i.entryPoint.y=o.top>t.bottom?o.top:t.bottom}switch(e){case"left":case"right":v(t,o)?(i.exitPoint.y=t.top,i.entryPoint.y=o.bottom<t.top?o.bottom:t.top):v(o,t)?(i.exitPoint.y=t.bottom,i.entryPoint.y=o.top>t.bottom?o.top:t.bottom):(i.exitPoint.y=Math.max(t.top,o.top),i.entryPoint.y=i.exitPoint.y);break;case"up":case"down":g(t,o)?(i.exitPoint.x=t.left,i.entryPoint.x=o.right<t.left?o.right:t.left):g(o,t)?(i.exitPoint.x=t.right,i.entryPoint.x=o.left>t.right?o.left:t.right):(i.exitPoint.x=Math.max(t.left,o.left),i.entryPoint.x=i.exitPoint.x)}}return i}function F(e){let a=t&&t.get(e);if(!a){const o=e.getBoundingClientRect();a={top:Number(o.top.toFixed(2)),right:Number(o.right.toFixed(2)),bottom:Number(o.bottom.toFixed(2)),left:Number(o.left.toFixed(2)),width:Number(o.width.toFixed(2)),height:Number(o.height.toFixed(2))},t&&t.set(e,a)}return a}function V(e){const t=window.__spatialNavigation__&&window.__spatialNavigation__.keyMode;window.__spatialNavigation__=!1===e?H():Object.assign(H(),(function(){function e(e,t){return L(e,t)&&!h(e,t)||!e.parentElement&&!p(e,t)}function t(t,a,o,i){let n=a,r=null;if(n!==document&&n!==document.documentElement||(n=document.body||document.documentElement),(R(n)||"BODY"===n.nodeName)&&"INPUT"!==n.nodeName){"IFRAME"===n.nodeName&&(n=n.contentDocument.body);const a=E(n,i);if(Array.isArray(a)&&a.length>0)return t?_(n,o,a):n.spatialNavigationSearch(o,{candidates:a});if(e(n,o))return t?[]:n}let T=n.getSpatialNavigationContainer(),S=T.parentElement?T.getSpatialNavigationContainer():null;for(S||window.location===window.parent.location||(S=window.parent.document.documentElement);S;){const a=s(n,E(T,i),o,T);if(Array.isArray(a)&&a.length>0){if(r=n.spatialNavigationSearch(o,{candidates:a,container:T}),r)return t?a:r}else{if(e(T,o))return t?[]:n;if(T===document||T===document.documentElement){if(T=window.document.documentElement,window.location!==window.parent.location){if(n=window.frameElement,T=window.parent.document.documentElement,!T.parentElement){S=null;break}S=T.getSpatialNavigationContainer()}}else{if(C(T)&&(n=T),T=S,!T.parentElement){S=null;break}S=T.getSpatialNavigationContainer()}}}if(!S&&T){const e=s(n,E(T,i),o,T);if(Array.isArray(e)&&e.length>0&&(r=n.spatialNavigationSearch(o,{candidates:e,container:T}),r))return t?e:r}if(e(T,o))return r=n,r}return{isContainer:R,isScrollContainer:m,findCandidates:t.bind(null,!0),findNextTarget:t.bind(null,!1),getDistanceFromTarget:(e,t,a)=>(R(e)||"BODY"===e.nodeName)&&"INPUT"!==e.nodeName&&E(e).includes(t)?M(F(e),F(t),a):b(F(e),F(t),a)}})()),window.__spatialNavigation__.keyMode=t,Object.seal(window.__spatialNavigation__)}function H(){return{enableExperimentalAPIs:V,get keyMode(){return this._keymode?this._keymode:"ARROW"},set keyMode(e){this._keymode=["SHIFTARROW","ARROW","NONE"].includes(e)?e:"ARROW"},setStartingPoint:function(e,t){a=e&&t?{x:e,y:t}:null}}}window.addEventListener("load",(()=>{o(),V(!1)}))})()},16567:(e,t,a)=>{e.exports=function(){return{"ar-AR":a(65929),"bg-BG":a(97726),"ca-CA":a(98569),"cs-CZ":a(32840),"da-DK":a(4806),"de-DE":a(51145),"el-GR":a(15158),"en-US":a(83865),"eo-EO":a(53989),"es-ES":a(99320),"eu-ES":a(43236),"fa-IR":a(32381),"fi-FI":a(52613),"fr-FR":a(65829),"he-IL":a(61525),"hi-IN":a(14018),"hr-HR":a(80487),"hu-HU":a(5657),"id-ID":a(11472),"it-IT":a(42948),"ja-JP":a(4774),"ko-KR":a(96358),"mk-MK":a(49163),"my-BM":a(56735),"nb-NO":a(83778),"ne-NP":a(68978),"nl-NL":a(68472),"nn-NO":a(88159),"pl-PL":a(75517),"pt-BR":a(2012),"pt-PT":a(65857),"ro-RO":a(29894),"ru-RU":a(6687),"sl-SL":a(96650),"sr-RS":a(52963),"sv-SE":a(24662),"te-IN":a(49892),"tr-TR":a(93191),"uk-UA":a(75923),"vi-VN":a(4701),"zh-CN":a(98714),"zh-HK":a(99542),"zh-TW":a(68097),"bn-BD":a(15170)}},e.exports.all=["ar-AR","bg-BG","ca-CA","cs-CZ","da-DK","de-DE","el-GR","en-US","eo-EO","es-ES","eu-ES","fa-IR","fi-FI","fr-FR","he-IL","hi-IN","hr-HR","hu-HU","id-ID","it-IT","ja-JP","ko-KR","mk-MK","my-BM","nb-NO","ne-NP","nl-NL","nn-NO","pl-PL","pt-BR","pt-PT","ro-RO","ru-RU","sl-SL","sr-RS","sv-SE","te-IN","tr-TR","uk-UA","vi-VN","zh-CN","zh-HK","zh-TW","bn-BD"]},25017:(e,t,a)=>{var o=a(80883);t.encode=o.encode,t.decode=o.decode},80883:(e,t,a)=>{"use strict";var o=a(48764).Buffer,i=[255,255,26,27,28,29,30,31,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,255,255,255,255,255];t.encode=function(e){o.isBuffer(e)||(e=new o(e));for(var t,a,i=0,n=0,r=0,E=0,_=new o(8*(t=e,a=Math.floor(t.length/5),t.length%5==0?a:a+1));i<e.length;){var T=e[i];r>3?(E=(E=T&255>>r)<<(r=(r+5)%8)|(i+1<e.length?e[i+1]:0)>>8-r,i++):(E=T>>8-(r+5)&31,0===(r=(r+5)%8)&&i++),_[n]="ABCDEFGHIJKLMNOPQRSTUVWXYZ234567".charCodeAt(E),n++}for(i=n;i<_.length;i++)_[i]=61;return _},t.decode=function(e){var t,a=0,n=0,r=0;o.isBuffer(e)||(e=new o(e));for(var E=new o(Math.ceil(5*e.length/8)),_=0;_<e.length&&61!==e[_];_++){var T=e[_]-48;if(!(T<i.length))throw new Error("Invalid input - it is not base32 encoded string");n=i[T],a<=3?0===(a=(a+5)%8)?(t|=n,E[r]=t,r++,t=0):t|=255&n<<8-a:(t|=255&n>>>(a=(a+5)%8),E[r]=t,r++,t=255&n<<8-a)}return E.slice(0,r)}},12583:function(e,t,a){"use strict";var o=this&&this.__createBinding||(Object.create?function(e,t,a,o){void 0===o&&(o=a);var i=Object.getOwnPropertyDescriptor(t,a);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,o,i)}:function(e,t,a,o){void 0===o&&(o=a),e[o]=t[a]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)"default"!==a&&Object.prototype.hasOwnProperty.call(e,a)&&o(t,e,a);return i(t,e),t},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var E=n(a(67294)),_=r(a(94184)),T=r(a(6851)),s=r(a(70232)),S=(0,E.memo)((function(e){var t,a=e.label,o=e.value,i=e.active,n=e.onSelect,r=(0,E.useRef)(null),S=(0,E.useCallback)((function(e){var t=e.currentTarget.dataset.value;t&&n(t)}),[onselect]);return(0,E.useEffect)((function(){var e;i&&(null===(e=r.current)||void 0===e||e.scrollIntoView({block:"nearest",inline:"center",behavior:"smooth"}))}),[i]),E.default.createElement(T.default,{ref:r,key:o,className:(0,_.default)(s.default.chip,(t={},t[s.default.active]=i,t)),tabIndex:-1,"data-value":o,onClick:S},a)}));t.default=S},66925:function(e,t,a){"use strict";var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var i=o(a(12583));t.default=i.default},66658:function(e,t,a){"use strict";var o=this&&this.__createBinding||(Object.create?function(e,t,a,o){void 0===o&&(o=a);var i=Object.getOwnPropertyDescriptor(t,a);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,o,i)}:function(e,t,a,o){void 0===o&&(o=a),e[o]=t[a]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)"default"!==a&&Object.prototype.hasOwnProperty.call(e,a)&&o(t,e,a);return i(t,e),t},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var E=n(a(67294)),_=r(a(94184)),T=r(a(66925)),s=r(a(25006)),S=(0,E.memo)((function(e){var t=e.options,a=e.selected,o=e.onSelect,i=(0,E.useRef)(null),n=(0,E.useState)("left"),r=n[0],S=n[1];return(0,E.useEffect)((function(){var e,t=function(e){var t=e.target,a=t.scrollLeft,o=t.scrollWidth,i=t.offsetWidth;S(a-1<=0?"left":a+i+1>=o?"right":"center")};return null===(e=i.current)||void 0===e||e.addEventListener("scroll",t),function(){var e;return null===(e=i.current)||void 0===e?void 0:e.removeEventListener("scroll",t)}}),[]),E.default.createElement("div",{ref:i,className:(0,_.default)(s.default.chips,[s.default[r]])},t.map((function(e){var t=e.label,i=e.value;return E.default.createElement(T.default,{key:i,label:t,value:i,active:a.includes(i),onSelect:o})})))}));t.default=S},64853:function(e,t,a){"use strict";var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var i=o(a(66658));t.default=i.default},76727:function(e,t,a){"use strict";var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var i=o(a(67294)),n=o(a(6851)),r=a(81468),E=o(a(94184)),_=o(a(76819)),T=o(a(95985)),s=o(a(65349));t.default=function(e){var t,a=e.level,o=e.setLevel,S=e.options,l=e.onSelect,I=e.selectedOption,A=e.menuOpen,u=(0,r.useTranslation)().t;return i.default.createElement("div",{className:(0,E.default)(s.default.dropdown,(t={},t[s.default.open]=A,t)),role:"listbox"},a>0?i.default.createElement(n.default,{className:s.default["back-button"],onClick:function(){o(a-1)}},i.default.createElement(T.default,{name:"caret-left",className:s.default["back-button-icon"]}),u("BACK")):null,S.filter((function(e){return!e.hidden})).map((function(e,t){return i.default.createElement(_.default,{key:t,option:e,onSelect:l,selectedOption:I})})))}},13294:function(e,t,a){"use strict";var o=this&&this.__createBinding||(Object.create?function(e,t,a,o){void 0===o&&(o=a);var i=Object.getOwnPropertyDescriptor(t,a);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,o,i)}:function(e,t,a,o){void 0===o&&(o=a),e[o]=t[a]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)"default"!==a&&Object.prototype.hasOwnProperty.call(e,a)&&o(t,e,a);return i(t,e),t},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var E=n(a(67294)),_=r(a(94184)),T=r(a(6851)),s=r(a(28249)),S=r(a(95985));t.default=function(e){var t,a=e.option,o=e.selectedOption,i=e.onSelect,n=(0,E.useMemo)((function(){return(null==a?void 0:a.value)===(null==o?void 0:o.value)}),[a,o]),r=(0,E.useCallback)((function(){i(a.value)}),[i,a.value]);return E.default.createElement(T.default,{className:(0,_.default)(s.default.option,(t={},t[s.default.selected]=n,t)),key:a.id,onClick:r,"aria-selected":n},E.default.createElement("div",{className:s.default.label},a.label),n&&!a.level?E.default.createElement("div",{className:s.default.icon}):null,a.level?E.default.createElement(S.default,{name:"caret-right",className:s.default["option-caret"]}):null)}},76819:function(e,t,a){"use strict";var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var i=o(a(13294));t.default=i.default},21080:function(e,t,a){"use strict";var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var i=o(a(76727));t.default=i.default},64167:function(e,t,a){"use strict";var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var i=o(a(67294)),n=o(a(6851)),r=o(a(74024)),E=o(a(21080)),_=o(a(94184)),T=o(a(95985)),s=o(a(8235)),S=o(a(36846));t.default=function(e){var t,a,o=e.className,l=e.title,I=e.options,A=e.selectedOption,u=e.onSelect,d=(0,r.default)(!1),c=d[0],O=d[2],R=d[3],N=(0,S.default)((function(){return O()})),m=i.default.useState(0),L=m[0],D=m[1];return i.default.createElement("div",{className:(0,_.default)(s.default["multiselect-menu"],o),ref:N},i.default.createElement(n.default,{className:(0,_.default)(s.default["multiselect-button"],(t={},t[s.default.open]=c,t)),onClick:R,tabIndex:0,"aria-haspopup":"listbox","aria-expanded":c},l,i.default.createElement(T.default,{name:"caret-down",className:(0,_.default)(s.default.icon,(a={},a[s.default.open]=c,a))})),c?i.default.createElement(E.default,{level:L,setLevel:D,options:I,onSelect:function(e){L?D(L+1):u(e),O()},menuOpen:c,selectedOption:A}):null)}},21081:function(e,t,a){"use strict";var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var i=o(a(64167));t.default=i.default},62561:function(e,t,a){"use strict";var o=this&&this.__createBinding||(Object.create?function(e,t,a,o){void 0===o&&(o=a);var i=Object.getOwnPropertyDescriptor(t,a);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,o,i)}:function(e,t,a,o){void 0===o&&(o=a),e[o]=t[a]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)"default"!==a&&Object.prototype.hasOwnProperty.call(e,a)&&o(t,e,a);return i(t,e),t},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.usePlatform=t.PlatformProvider=void 0;var E=n(a(67294)),_=a(52734),T=r(a(88788)),s=a(61577),S=(0,E.createContext)({});t.PlatformProvider=function(e){var t=e.children,a=(0,T.default)();return E.default.createElement(S.Provider,{value:{openExternal:function(e){try{var t=new URL(e).hostname,o=_.WHITELISTED_HOSTS.some((function(e){return t.endsWith(e)}))?e:"https://www.stremio.com/warning#".concat(encodeURIComponent(e));a.active?a.send("open-external",o):window.open(o,"_blank")}catch(e){console.error("Failed to parse external url:",e)}},name:s.name,isMobile:s.isMobile}},t)};t.usePlatform=function(){return(0,E.useContext)(S)}},61577:function(e,t,a){"use strict";var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.isMobile=t.name=void 0;var i=o(a(51206)),n=globalThis.navigator,r=n.userAgent,E=n.platform,_=n.maxTouchPoints,T=["iPad Simulator","iPhone Simulator","iPod Simulator","iPad","iPhone","iPod"].includes(E)||r.includes("Mac")&&"ontouchend"in document,s=r.includes("Macintosh")&&5===_,S=i.default.getParser(r).getOSName().toLowerCase(),l=s?"visionos":T?"ios":S||"unknown";t.name=l;var I=["ios","android"].includes(l);t.isMobile=I},85169:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.usePlatform=t.PlatformProvider=void 0;var o=a(62561);Object.defineProperty(t,"PlatformProvider",{enumerable:!0,get:function(){return o.PlatformProvider}}),Object.defineProperty(t,"usePlatform",{enumerable:!0,get:function(){return o.usePlatform}})},88788:function(e,t){"use strict";var a=this&&this.__spreadArray||function(e,t,a){if(a||2===arguments.length)for(var o,i=0,n=t.length;i<n;i++)!o&&i in t||(o||(o=Array.prototype.slice.call(t,0,i)),o[i]=t[i]);return e.concat(o||Array.prototype.slice.call(t))};Object.defineProperty(t,"__esModule",{value:!0});var o=function(){return Math.floor(9999*Math.random())+1};t.default=function(){var e,t=null===(e=null===globalThis||void 0===globalThis?void 0:globalThis.qt)||void 0===e?void 0:e.webChannelTransport;return{active:!!t,send:function(e){for(var i=[],n=1;n<arguments.length;n++)i[n-1]=arguments[n];null==t||t.send(JSON.stringify({id:o(),type:6,object:"transport",method:"onEvent",args:a([e],i,!0)}))}}}},36846:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=a(67294);t.default=function(e){var t=(0,o.useRef)(null);return(0,o.useEffect)((function(){var a=function(a){t.current&&!t.current.contains(a.target)&&e()};return document.addEventListener("mouseup",a),document.addEventListener("touchend",a),function(){document.removeEventListener("mouseup",a),document.removeEventListener("touchend",a)}}),[e]),t}},10952:function(e,t,a){"use strict";var o=this&&this.__awaiter||function(e,t,a,o){return new(a||(a=Promise))((function(i,n){function r(e){try{_(o.next(e))}catch(e){n(e)}}function E(e){try{_(o.throw(e))}catch(e){n(e)}}function _(e){var t;e.done?i(e.value):(t=e.value,t instanceof a?t:new a((function(e){e(t)}))).then(r,E)}_((o=o.apply(e,t||[])).next())}))},i=this&&this.__generator||function(e,t){var a,o,i,n,r={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return n={next:E(0),throw:E(1),return:E(2)},"function"==typeof Symbol&&(n[Symbol.iterator]=function(){return this}),n;function E(E){return function(_){return(function(E){if(a)throw new TypeError("Generator is already executing.");for(;n&&(n=0,E[0]&&(r=0)),r;)try{if(a=1,o&&(i=2&E[0]?o.return:E[0]?o.throw||((i=o.return)&&i.call(o),0):o.next)&&!(i=i.call(o,E[1])).done)return i;switch(o=0,i&&(E=[2&E[0],i.value]),E[0]){case 0:case 1:i=E;break;case 4:return r.label++,{value:E[1],done:!1};case 5:r.label++,o=E[1],E=[0];continue;case 7:E=r.ops.pop(),r.trys.pop();continue;default:if(!(i=r.trys,(i=i.length>0&&i[i.length-1])||6!==E[0]&&2!==E[0])){r=0;continue}if(3===E[0]&&(!i||E[1]>i[0]&&E[1]<i[3])){r.label=E[1];break}if(6===E[0]&&r.label<i[1]){r.label=i[1],i=E;break}if(i&&r.label<i[2]){r.label=i[2],r.ops.push(E);break}i[2]&&r.ops.pop(),r.trys.pop();continue}E=t.call(e,r)}catch(e){E=[6,e],o=0}finally{a=i=0}if(5&E[0])throw E[1];return{value:E[0]?E[1]:void 0,done:!0}})([E,_])}}},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var r=a(67294),E=n(a(542)),_=a(86590),T="https://www.strem.io";e.exports=function(){var e=(0,_.usePlatform)(),t=(0,r.useRef)(!1),a=(0,r.useRef)(null),n=(0,r.useCallback)((function(){return new Promise((function(n,r){t.current=!0;var _=(0,E.default)(128),s=0;e.openExternal("".concat(T,"/login-fb/").concat(_));var S=function(){t.current&&(a.current&&clearTimeout(a.current),a.current=setTimeout((function(){if(s>=25)return r(new Error("Failed to authenticate with facebook"));s++,(function(e){return o(void 0,void 0,void 0,(function(){var t,a;return i(this,(function(o){switch(o.label){case 0:return o.trys.push([0,3,,4]),[4,fetch("".concat(T,"/login-fb-get-acc/").concat(e))];case 1:return[4,o.sent().json()];case 2:return t=o.sent().user,[2,Promise.resolve({email:t.email,password:t.fbLoginToken})];case 3:return a=o.sent(),console.error("Failed to get credentials from facebook auth",a),[2,Promise.reject(a)];case 4:return[2]}}))}))})(_).then(n).catch(S)}),1e3))};S()}))}),[]),s=(0,r.useCallback)((function(){t.current=!1,a.current&&clearTimeout(a.current)}),[]);return(0,r.useEffect)((function(){return function(){return s()}}),[]),[n,s]}},8575:(e,t,a)=>{"use strict";var o=a(74971),i=a(62502);function n(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}t.parse=R,t.resolve=function(e,t){return R(e,!1,!0).resolve(t)},t.resolveObject=function(e,t){return e?R(e,!1,!0).resolveObject(t):t},t.format=function(e){i.isString(e)&&(e=R(e));return e instanceof n?e.format():n.prototype.format.call(e)},t.Url=n;var r=/^([a-z0-9.+-]+:)/i,E=/:[0-9]*$/,_=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,T=["{","}","|","\\","^","`"].concat(["<",">",'"',"`"," ","\r","\n","\t"]),s=["'"].concat(T),S=["%","/","?",";","#"].concat(s),l=["/","?","#"],I=/^[+a-z0-9A-Z_-]{0,63}$/,A=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,u={javascript:!0,"javascript:":!0},d={javascript:!0,"javascript:":!0},c={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},O=a(17673);function R(e,t,a){if(e&&i.isObject(e)&&e instanceof n)return e;var o=new n;return o.parse(e,t,a),o}n.prototype.parse=function(e,t,a){if(!i.isString(e))throw new TypeError("Parameter 'url' must be a string, not "+typeof e);var n=e.indexOf("?"),E=-1!==n&&n<e.indexOf("#")?"?":"#",T=e.split(E);T[0]=T[0].replace(/\\/g,"/");var R=e=T.join(E);if(R=R.trim(),!a&&1===e.split("#").length){var N=_.exec(R);if(N)return this.path=R,this.href=R,this.pathname=N[1],N[2]?(this.search=N[2],this.query=t?O.parse(this.search.substr(1)):this.search.substr(1)):t&&(this.search="",this.query={}),this}var m=r.exec(R);if(m){var L=(m=m[0]).toLowerCase();this.protocol=L,R=R.substr(m.length)}if(a||m||R.match(/^\/\/[^@\/]+@[^@\/]+/)){var D="//"===R.substr(0,2);!D||m&&d[m]||(R=R.substr(2),this.slashes=!0)}if(!d[m]&&(D||m&&!c[m])){for(var p,h,C=-1,f=0;f<l.length;f++){-1!==(B=R.indexOf(l[f]))&&(-1===C||B<C)&&(C=B)}-1!==(h=-1===C?R.lastIndexOf("@"):R.lastIndexOf("@",C))&&(p=R.slice(0,h),R=R.slice(h+1),this.auth=decodeURIComponent(p)),C=-1;for(f=0;f<S.length;f++){var B;-1!==(B=R.indexOf(S[f]))&&(-1===C||B<C)&&(C=B)}-1===C&&(C=R.length),this.host=R.slice(0,C),R=R.slice(C),this.parseHost(),this.hostname=this.hostname||"";var P="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!P)for(var g=this.hostname.split(/\./),v=(f=0,g.length);f<v;f++){var y=g[f];if(y&&!y.match(I)){for(var W="",M=0,b=y.length;M<b;M++)y.charCodeAt(M)>127?W+="x":W+=y[M];if(!W.match(I)){var U=g.slice(0,f),G=g.slice(f+1),k=y.match(A);k&&(U.push(k[1]),G.unshift(k[2])),G.length&&(R="/"+G.join(".")+R),this.hostname=U.join(".");break}}}this.hostname.length>255?this.hostname="":this.hostname=this.hostname.toLowerCase(),P||(this.hostname=o.toASCII(this.hostname));var F=this.port?":"+this.port:"",V=this.hostname||"";this.host=V+F,this.href+=this.host,P&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==R[0]&&(R="/"+R))}if(!u[L])for(f=0,v=s.length;f<v;f++){var H=s[f];if(-1!==R.indexOf(H)){var w=encodeURIComponent(H);w===H&&(w=escape(H)),R=R.split(H).join(w)}}var Y=R.indexOf("#");-1!==Y&&(this.hash=R.substr(Y),R=R.slice(0,Y));var z=R.indexOf("?");if(-1!==z?(this.search=R.substr(z),this.query=R.substr(z+1),t&&(this.query=O.parse(this.query)),R=R.slice(0,z)):t&&(this.search="",this.query={}),R&&(this.pathname=R),c[L]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){F=this.pathname||"";var K=this.search||"";this.path=F+K}return this.href=this.format(),this},n.prototype.format=function(){var e=this.auth||"";e&&(e=(e=encodeURIComponent(e)).replace(/%3A/i,":"),e+="@");var t=this.protocol||"",a=this.pathname||"",o=this.hash||"",n=!1,r="";this.host?n=e+this.host:this.hostname&&(n=e+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(n+=":"+this.port)),this.query&&i.isObject(this.query)&&Object.keys(this.query).length&&(r=O.stringify(this.query));var E=this.search||r&&"?"+r||"";return t&&":"!==t.substr(-1)&&(t+=":"),this.slashes||(!t||c[t])&&!1!==n?(n="//"+(n||""),a&&"/"!==a.charAt(0)&&(a="/"+a)):n||(n=""),o&&"#"!==o.charAt(0)&&(o="#"+o),E&&"?"!==E.charAt(0)&&(E="?"+E),t+n+(a=a.replace(/[?#]/g,(function(e){return encodeURIComponent(e)})))+(E=E.replace("#","%23"))+o},n.prototype.resolve=function(e){return this.resolveObject(R(e,!1,!0)).format()},n.prototype.resolveObject=function(e){if(i.isString(e)){var t=new n;t.parse(e,!1,!0),e=t}for(var a=new n,o=Object.keys(this),r=0;r<o.length;r++){var E=o[r];a[E]=this[E]}if(a.hash=e.hash,""===e.href)return a.href=a.format(),a;if(e.slashes&&!e.protocol){for(var _=Object.keys(e),T=0;T<_.length;T++){var s=_[T];"protocol"!==s&&(a[s]=e[s])}return c[a.protocol]&&a.hostname&&!a.pathname&&(a.path=a.pathname="/"),a.href=a.format(),a}if(e.protocol&&e.protocol!==a.protocol){if(!c[e.protocol]){for(var S=Object.keys(e),l=0;l<S.length;l++){var I=S[l];a[I]=e[I]}return a.href=a.format(),a}if(a.protocol=e.protocol,e.host||d[e.protocol])a.pathname=e.pathname;else{for(var A=(e.pathname||"").split("/");A.length&&!(e.host=A.shift()););e.host||(e.host=""),e.hostname||(e.hostname=""),""!==A[0]&&A.unshift(""),A.length<2&&A.unshift(""),a.pathname=A.join("/")}if(a.search=e.search,a.query=e.query,a.host=e.host||"",a.auth=e.auth,a.hostname=e.hostname||e.host,a.port=e.port,a.pathname||a.search){var u=a.pathname||"",O=a.search||"";a.path=u+O}return a.slashes=a.slashes||e.slashes,a.href=a.format(),a}var R=a.pathname&&"/"===a.pathname.charAt(0),N=e.host||e.pathname&&"/"===e.pathname.charAt(0),m=N||R||a.host&&e.pathname,L=m,D=a.pathname&&a.pathname.split("/")||[],p=(A=e.pathname&&e.pathname.split("/")||[],a.protocol&&!c[a.protocol]);if(p&&(a.hostname="",a.port=null,a.host&&(""===D[0]?D[0]=a.host:D.unshift(a.host)),a.host="",e.protocol&&(e.hostname=null,e.port=null,e.host&&(""===A[0]?A[0]=e.host:A.unshift(e.host)),e.host=null),m=m&&(""===A[0]||""===D[0])),N)a.host=e.host||""===e.host?e.host:a.host,a.hostname=e.hostname||""===e.hostname?e.hostname:a.hostname,a.search=e.search,a.query=e.query,D=A;else if(A.length)D||(D=[]),D.pop(),D=D.concat(A),a.search=e.search,a.query=e.query;else if(!i.isNullOrUndefined(e.search)){if(p)a.hostname=a.host=D.shift(),(P=!!(a.host&&a.host.indexOf("@")>0)&&a.host.split("@"))&&(a.auth=P.shift(),a.host=a.hostname=P.shift());return a.search=e.search,a.query=e.query,i.isNull(a.pathname)&&i.isNull(a.search)||(a.path=(a.pathname?a.pathname:"")+(a.search?a.search:"")),a.href=a.format(),a}if(!D.length)return a.pathname=null,a.search?a.path="/"+a.search:a.path=null,a.href=a.format(),a;for(var h=D.slice(-1)[0],C=(a.host||e.host||D.length>1)&&("."===h||".."===h)||""===h,f=0,B=D.length;B>=0;B--)"."===(h=D[B])?D.splice(B,1):".."===h?(D.splice(B,1),f++):f&&(D.splice(B,1),f--);if(!m&&!L)for(;f--;f)D.unshift("..");!m||""===D[0]||D[0]&&"/"===D[0].charAt(0)||D.unshift(""),C&&"/"!==D.join("/").substr(-1)&&D.push("");var P,g=""===D[0]||D[0]&&"/"===D[0].charAt(0);p&&(a.hostname=a.host=g?"":D.length?D.shift():"",(P=!!(a.host&&a.host.indexOf("@")>0)&&a.host.split("@"))&&(a.auth=P.shift(),a.host=a.hostname=P.shift()));return(m=m||a.host&&D.length)&&!g&&D.unshift(""),D.length?a.pathname=D.join("/"):(a.pathname=null,a.path=null),i.isNull(a.pathname)&&i.isNull(a.search)||(a.path=(a.pathname?a.pathname:"")+(a.search?a.search:"")),a.auth=e.auth||a.auth,a.slashes=a.slashes||e.slashes,a.href=a.format(),a},n.prototype.parseHost=function(){var e=this.host,t=E.exec(e);t&&(":"!==(t=t[0])&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)}},62502:e=>{"use strict";e.exports={isString:function(e){return"string"==typeof e},isObject:function(e){return"object"==typeof e&&null!==e},isNull:function(e){return null===e},isNullOrUndefined:function(e){return null==e}}},20243:(e,t,a)=>{"use strict";Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});const o=a(67294);var i,n=((i=n||{}).Mouse="mouse",i.Touch="touch",i.Pointer="pointer",i),r=(e=>(e.CancelledByMovement="cancelled-by-movement",e.CancelledByRelease="cancelled-by-release",e.CancelledOutsideElement="cancelled-outside-element",e))(r||{});const E=()=>"object"==typeof window?window?.PointerEvent??null:null;function _(e){const{nativeEvent:t}=e;if(!t)return!1;const a="object"==typeof window?window?.TouchEvent??null:null;return a&&t instanceof a||"touches"in t}function T(e){const t=E();return e.nativeEvent instanceof MouseEvent&&!(t&&e.nativeEvent instanceof t)}function s(e){const{nativeEvent:t}=e;if(!t)return!1;const a=E();return a&&t instanceof a||"pointerId"in t}function S(e){return T(e)||_(e)||s(e)}function l(e){return _(e)?{x:e.touches[0].pageX,y:e.touches[0].pageY}:T(e)||s(e)?{x:e.pageX,y:e.pageY}:null}t.LongPressCallbackReason=r,t.LongPressEventType=n,t.useLongPress=function(e,{threshold:t=400,captureEvent:a=!1,detect:i=n.Pointer,cancelOnMovement:E=!1,cancelOutsideElement:_=!0,filterEvents:T,onStart:s,onMove:I,onFinish:A,onCancel:u}={}){const d=o.useRef(!1),c=o.useRef(!1),O=o.useRef(),R=o.useRef(),N=o.useRef(e),m=o.useRef(null),L=o.useCallback((e=>o=>{c.current||S(o)&&(void 0!==T&&!T(o)||(a&&o.persist(),s?.(o,{context:e}),m.current=l(o),c.current=!0,O.current=o.currentTarget,R.current=setTimeout((()=>{N.current&&(N.current(o,{context:e}),d.current=!0)}),t)))}),[a,T,s,t]),D=o.useCallback((e=>(t,o)=>{S(t)&&c.current&&(m.current=null,a&&t.persist(),d.current?A?.(t,{context:e}):c.current&&u?.(t,{context:e,reason:o??r.CancelledByRelease}),d.current=!1,c.current=!1,void 0!==R.current&&clearTimeout(R.current))}),[a,A,u]),p=o.useCallback((e=>t=>{if(I?.(t,{context:e}),E&&m.current){const a=l(t);if(a){const o=!0===E?25:E,i={x:Math.abs(a.x-m.current.x),y:Math.abs(a.y-m.current.y)};(i.x>o||i.y>o)&&D(e)(t,r.CancelledByMovement)}}}),[D,E,I]),h=o.useCallback((t=>{if(null===e)return{};switch(i){case n.Mouse:{const e={onMouseDown:L(t),onMouseMove:p(t),onMouseUp:D(t)};return _&&(e.onMouseLeave=e=>{D(t)(e,r.CancelledOutsideElement)}),e}case n.Touch:return{onTouchStart:L(t),onTouchMove:p(t),onTouchEnd:D(t)};case n.Pointer:{const e={onPointerDown:L(t),onPointerMove:p(t),onPointerUp:D(t)};return _&&(e.onPointerLeave=e=>D(t)(e,r.CancelledOutsideElement)),e}}}),[e,D,_,i,p,L]);return o.useEffect((()=>{if(window)return window.addEventListener("mouseup",e),window.addEventListener("touchend",e),window.addEventListener("pointerup",e),()=>{window.removeEventListener("mouseup",e),window.removeEventListener("touchend",e),window.removeEventListener("pointerup",e)};function e(e){const t=(function(e){return{target:e.target,currentTarget:e.currentTarget,nativeEvent:e,persist:()=>{}}})(e);D()(t)}}),[D]),o.useEffect((()=>()=>{void 0!==R.current&&clearTimeout(R.current)}),[]),o.useEffect((()=>{N.current=e}),[e]),h}},71739:e=>{e.exports={area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0}},58369:(e,t,a)=>{e.exports={WebVTT:a(40112).WebVTT,VTTCue:a(66427).VTTCue,VTTRegion:a(47224).VTTRegion}},40112:function(){!(function(e){function t(e,t){return void 0===t&&(t=1),"rgba("+[parseInt(e.substring(0,2),16),parseInt(e.substring(2,4),16),parseInt(e.substring(4,6),16),t].join(",")+")"}var a=1;function o(e,o,n){switch(n){case"webvtt.font.color":case"webvtt.font.opacity":var r=Services.prefs.getCharPref("webvtt.font.color"),E=Services.prefs.getIntPref("webvtt.font.opacity")/100;i.fontSet=t(r,E);break;case"webvtt.font.scale":a=Services.prefs.getIntPref("webvtt.font.scale")/100;break;case"webvtt.bg.color":case"webvtt.bg.opacity":var _=Services.prefs.getCharPref("webvtt.bg.color"),T=Services.prefs.getIntPref("webvtt.bg.opacity")/100;i.backgroundSet=t(_,T);break;case"webvtt.edge.color":case"webvtt.edge.type":var s=Services.prefs.getIntPref("webvtt.edge.type"),S=Services.prefs.getCharPref("webvtt.edge.color");i.edgeSet=["","0px 0px ","4px 4px 4px ","-2px -2px ","2px 2px "][s]+t(S)}}if("undefined"!=typeof Services){var i={};["webvtt.font.color","webvtt.font.opacity","webvtt.font.scale","webvtt.bg.color","webvtt.bg.opacity","webvtt.edge.color","webvtt.edge.type"].forEach((function(e){o(0,0,e),Services.prefs.addObserver(e,o,!1)}))}var n=Object.create||(function(){function e(){}return function(t){if(1!==arguments.length)throw new Error("Object.create shim only accepts one parameter.");return e.prototype=t,new e}})();function r(e,t){this.name="ParsingError",this.code=e.code,this.message=t||e.message}function E(e){function t(e,t,a,o){return 3600*(0|e)+60*(0|t)+(0|a)+(0|o)/1e3}var a=e.match(/^(\d+):(\d{2})(:\d{2})?\.(\d{3})/);return a?a[3]?t(a[1],a[2],a[3].replace(":",""),a[4]):a[1]>59?t(a[1],a[2],0,a[4]):t(0,a[1],a[2],a[4]):null}function _(){this.values=n(null)}function T(e,t,a,o){var i=o?e.split(o):[e];for(var n in i)if("string"==typeof i[n]){var r=i[n].split(a);if(2===r.length)t(r[0],r[1])}}r.prototype=n(Error.prototype),r.prototype.constructor=r,r.Errors={BadSignature:{code:0,message:"Malformed WebVTT signature."},BadTimeStamp:{code:1,message:"Malformed time stamp."}},_.prototype={set:function(e,t){this.get(e)||""===t||(this.values[e]=t)},get:function(e,t,a){return a?this.has(e)?this.values[e]:t[a]:this.has(e)?this.values[e]:t},has:function(e){return e in this.values},alt:function(e,t,a){for(var o=0;o<a.length;++o)if(t===a[o]){this.set(e,t);break}},integer:function(e,t){/^-?\d+$/.test(t)&&this.set(e,parseInt(t,10))},percent:function(e,t){return!!(t.match(/^([\d]{1,3})(\.[\d]*)?%$/)&&(t=parseFloat(t))>=0&&t<=100)&&(this.set(e,t),!0)}};var s={"&amp;":"&","&lt;":"<","&gt;":">","&lrm;":"‎","&rlm;":"‏","&nbsp;":" "},S={c:"span",i:"i",b:"b",u:"u",ruby:"ruby",rt:"rt",v:"span",lang:"span"},l={v:"title",lang:"lang"},I={rt:"ruby"};function A(e,t){function a(){if(!t)return null;var e,a=t.match(/^([^<]*)(<[^>]+>?)?/);return e=a[1]?a[1]:a[2],t=t.substr(e.length),e}function o(e){return s[e]}function i(e){for(;O=e.match(/&(amp|lt|gt|lrm|rlm|nbsp);/);)e=e.replace(O[0],o);return e}function n(e,t){return!I[t.localName]||I[t.localName]===e.localName}function r(t,a){var o=S[t];if(!o)return null;var i=e.document.createElement(o);i.localName=o;var n=l[t];return n&&a&&(i[n]=a.trim()),i}for(var _,T=e.document.createElement("div"),A=T,u=[];null!==(_=a());)if("<"!==_[0])A.appendChild(e.document.createTextNode(i(_)));else{if("/"===_[1]){u.length&&u[u.length-1]===_.substr(2).replace(">","")&&(u.pop(),A=A.parentNode);continue}var d,c=E(_.substr(1,_.length-2));if(c){d=e.document.createProcessingInstruction("timestamp",c),A.appendChild(d);continue}var O=_.match(/^<([^.\s/0-9>]+)(\.[^\s\\>]+)?([^>\\]+)?(\\?)>?$/);if(!O)continue;if(!(d=r(O[1],O[3])))continue;if(!n(A,d))continue;O[2]&&(d.className=O[2].substr(1).replace("."," ")),u.push(O[1]),A.appendChild(d),A=d}return T}var u=[[1470,1470],[1472,1472],[1475,1475],[1478,1478],[1488,1514],[1520,1524],[1544,1544],[1547,1547],[1549,1549],[1563,1563],[1566,1610],[1645,1647],[1649,1749],[1765,1766],[1774,1775],[1786,1805],[1807,1808],[1810,1839],[1869,1957],[1969,1969],[1984,2026],[2036,2037],[2042,2042],[2048,2069],[2074,2074],[2084,2084],[2088,2088],[2096,2110],[2112,2136],[2142,2142],[2208,2208],[2210,2220],[8207,8207],[64285,64285],[64287,64296],[64298,64310],[64312,64316],[64318,64318],[64320,64321],[64323,64324],[64326,64449],[64467,64829],[64848,64911],[64914,64967],[65008,65020],[65136,65140],[65142,65276],[67584,67589],[67592,67592],[67594,67637],[67639,67640],[67644,67644],[67647,67669],[67671,67679],[67840,67867],[67872,67897],[67903,67903],[67968,68023],[68030,68031],[68096,68096],[68112,68115],[68117,68119],[68121,68147],[68160,68167],[68176,68184],[68192,68223],[68352,68405],[68416,68437],[68440,68466],[68472,68479],[68608,68680],[126464,126467],[126469,126495],[126497,126498],[126500,126500],[126503,126503],[126505,126514],[126516,126519],[126521,126521],[126523,126523],[126530,126530],[126535,126535],[126537,126537],[126539,126539],[126541,126543],[126545,126546],[126548,126548],[126551,126551],[126553,126553],[126555,126555],[126557,126557],[126559,126559],[126561,126562],[126564,126564],[126567,126570],[126572,126578],[126580,126583],[126585,126588],[126590,126590],[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[1114109,1114109]];function d(e){for(var t=0;t<u.length;t++){var a=u[t];if(e>=a[0]&&e<=a[1])return!0}return!1}function c(){}function O(e,t,a){var o="undefined"!=typeof navigator&&/MSIE\s8\.0/.test(navigator.userAgent),n="rgba(255, 255, 255, 1)",r="rgba(0, 0, 0, 0.8)",E="";void 0!==i&&(n=i.fontSet,r=i.backgroundSet,E=i.edgeSet),o&&(n="rgb(255, 255, 255)",r="rgb(0, 0, 0)"),c.call(this),this.cue=t,this.cueDiv=A(e,t.text);var _={color:n,backgroundColor:r,textShadow:E,position:"relative",left:0,right:0,top:0,bottom:0,display:"inline"};o||(_.writingMode=""===t.vertical?"horizontal-tb":"lr"===t.vertical?"vertical-lr":"vertical-rl",_.unicodeBidi="plaintext"),this.applyStyles(_,this.cueDiv),this.div=e.document.createElement("div"),_={textAlign:"middle"===t.align?"center":t.align,font:a.font,whiteSpace:"pre-line",position:"absolute"},o||(_.direction=(function(e){var t=[],a="";if(!e||!e.childNodes)return"ltr";function o(e,t){for(var a=t.childNodes.length-1;a>=0;a--)e.push(t.childNodes[a])}function i(e){if(!e||!e.length)return null;var t=e.pop(),a=t.textContent||t.innerText;if(a){var n=a.match(/^.*(\n|\r)/);return n?(e.length=0,n[0]):a}return"ruby"===t.tagName?i(e):t.childNodes?(o(e,t),i(e)):void 0}for(o(t,e);a=i(t);)for(var n=0;n<a.length;n++)if(d(a.charCodeAt(n)))return"rtl";return"ltr"})(this.cueDiv),_.writingMode=""===t.vertical?"horizontal-tb":"lr"===t.vertical?"vertical-lr":"vertical-rl".stylesunicodeBidi="plaintext"),this.applyStyles(_),this.div.appendChild(this.cueDiv);var T=0;switch(t.positionAlign){case"start":T=t.position;break;case"middle":T=t.position-t.size/2;break;case"end":T=t.position-t.size}""===t.vertical?this.applyStyles({left:this.formatStyle(T,"%"),width:this.formatStyle(t.size,"%")}):this.applyStyles({top:this.formatStyle(T,"%"),height:this.formatStyle(t.size,"%")}),this.move=function(e){this.applyStyles({top:this.formatStyle(e.top,"px"),bottom:this.formatStyle(e.bottom,"px"),left:this.formatStyle(e.left,"px"),right:this.formatStyle(e.right,"px"),height:this.formatStyle(e.height,"px"),width:this.formatStyle(e.width,"px")})}}function R(e){var t,a,o,i,n="undefined"!=typeof navigator&&/MSIE\s8\.0/.test(navigator.userAgent);if(e.div){a=e.div.offsetHeight,o=e.div.offsetWidth,i=e.div.offsetTop;var r=(r=e.div.childNodes)&&(r=r[0])&&r.getClientRects&&r.getClientRects();e=e.div.getBoundingClientRect(),t=r?Math.max(r[0]&&r[0].height||0,e.height/r.length):0}this.left=e.left,this.right=e.right,this.top=e.top||i,this.height=e.height||a,this.bottom=e.bottom||i+(e.height||a),this.width=e.width||o,this.lineHeight=void 0!==t?t:e.lineHeight,n&&!this.lineHeight&&(this.lineHeight=13)}function N(e,t,a,o){var i=new R(t),n=t.cue,r=(function(e){if("number"==typeof e.line&&(e.snapToLines||e.line>=0&&e.line<=100))return e.line;if(!e.track||!e.track.textTrackList||!e.track.textTrackList.mediaElement)return-1;for(var t=e.track,a=t.textTrackList,o=0,i=0;i<a.length&&a[i]!==t;i++)"showing"===a[i].mode&&o++;return-1*++o})(n),E=[];if(n.snapToLines){var _;switch(n.vertical){case"":E=["+y","-y"],_="height";break;case"rl":E=["+x","-x"],_="width";break;case"lr":E=["-x","+x"],_="width"}var T=i.lineHeight,s=T*Math.round(r),S=a[_]+T,l=E[0];Math.abs(s)>S&&(s=s<0?-1:1,s*=Math.ceil(S/T)*T),r<0&&(s+=""===n.vertical?a.height:a.width,E=E.reverse()),i.move(l,s)}else{var I=i.lineHeight/a.height*100;switch(n.lineAlign){case"middle":r-=I/2;break;case"end":r-=I}switch(n.vertical){case"":t.applyStyles({top:t.formatStyle(r,"%")});break;case"rl":t.applyStyles({left:t.formatStyle(r,"%")});break;case"lr":t.applyStyles({right:t.formatStyle(r,"%")})}E=["+y","-x","+x","-y"],i=new R(t)}var A=(function(e,t){for(var i,n=new R(e),r=1,E=0;E<t.length;E++){for(;e.overlapsOppositeAxis(a,t[E])||e.within(a)&&e.overlapsAny(o);)e.move(t[E]);if(e.within(a))return e;var _=e.intersectPercentage(a);r>_&&(i=new R(e),r=_),e=new R(n)}return i||n})(i,E);t.move(A.toCSSCompatValues(a))}function m(){}c.prototype.applyStyles=function(e,t){for(var a in t=t||this.div,e)e.hasOwnProperty(a)&&(t.style[a]=e[a])},c.prototype.formatStyle=function(e,t){return 0===e?0:e+t},O.prototype=n(c.prototype),O.prototype.constructor=O,R.prototype.move=function(e,t){switch(t=void 0!==t?t:this.lineHeight,e){case"+x":this.left+=t,this.right+=t;break;case"-x":this.left-=t,this.right-=t;break;case"+y":this.top+=t,this.bottom+=t;break;case"-y":this.top-=t,this.bottom-=t}},R.prototype.overlaps=function(e){return this.left<e.right&&this.right>e.left&&this.top<e.bottom&&this.bottom>e.top},R.prototype.overlapsAny=function(e){for(var t=0;t<e.length;t++)if(this.overlaps(e[t]))return!0;return!1},R.prototype.within=function(e){return this.top>=e.top&&this.bottom<=e.bottom&&this.left>=e.left&&this.right<=e.right},R.prototype.overlapsOppositeAxis=function(e,t){switch(t){case"+x":return this.left<e.left;case"-x":return this.right>e.right;case"+y":return this.top<e.top;case"-y":return this.bottom>e.bottom}},R.prototype.intersectPercentage=function(e){return Math.max(0,Math.min(this.right,e.right)-Math.max(this.left,e.left))*Math.max(0,Math.min(this.bottom,e.bottom)-Math.max(this.top,e.top))/(this.height*this.width)},R.prototype.toCSSCompatValues=function(e){return{top:this.top-e.top,bottom:e.bottom-this.bottom,left:this.left-e.left,right:e.right-this.right,height:this.height,width:this.width}},R.getSimpleBoxPosition=function(e){var t=e.div?e.div.offsetHeight:e.tagName?e.offsetHeight:0,a=e.div?e.div.offsetWidth:e.tagName?e.offsetWidth:0,o=e.div?e.div.offsetTop:e.tagName?e.offsetTop:0;return{left:(e=e.div?e.div.getBoundingClientRect():e.tagName?e.getBoundingClientRect():e).left,right:e.right,top:e.top||o,height:e.height||t,bottom:e.bottom||o+(e.height||t),width:e.width||a}},m.StringDecoder=function(){return{decode:function(e){if(!e)return"";if("string"!=typeof e)throw new Error("Error - expected string data.");return decodeURIComponent(encodeURIComponent(e))}}},m.convertCueToDOMTree=function(e,t){return e&&t?A(e,t):null};m.processCues=function(e,t,o){if(!e||!t||!o)return null;for(;o.firstChild;)o.removeChild(o.firstChild);var i=e.document.createElement("div");if(i.style.position="absolute",i.style.left="0",i.style.right="0",i.style.top="0",i.style.bottom="0",i.style.margin="1.5%",o.appendChild(i),(function(e){for(var t=0;t<e.length;t++)if(e[t].hasBeenReset||!e[t].displayState)return!0;return!1})(t)){var n=[],r=R.getSimpleBoxPosition(i),E={font:Math.round(.05*r.height*100)/100*a+"px sans-serif"};!(function(){for(var a,o,_=0;_<t.length;_++)o=t[_],a=new O(e,o,E),i.appendChild(a.div),N(0,a,r,n),o.displayState=a.div,n.push(R.getSimpleBoxPosition(a))})()}else for(var _=0;_<t.length;_++)i.appendChild(t[_].displayState)},m.Parser=function(e,t,a){this.window=e,this.state="INITIAL",this.buffer="",this.decoder=t||new TextDecoder("utf8"),this.regionList=[],this.VTTCue=a},m.Parser.prototype={reportOrThrowError:function(e){if(!(e instanceof r))throw e;this.onparsingerror&&this.onparsingerror(e)},parse:function(e){var t,a,o=this;function i(){for(var e=o.buffer,t=0;t<e.length&&"\r"!==e[t]&&"\n"!==e[t];)++t;var a=e.substr(0,t);return"\r"===e[t]&&++t,"\n"===e[t]&&++t,o.buffer=e.substr(t),a}function n(e){e.match(/X-TIMESTAMP-MAP/)?T(e,(function(e,t){if("X-TIMESTAMP-MAP"===e)!(function(e){var t=new _;T(e,(function(e,a){switch(e){case"MPEGT":t.integer(e+"S",a);break;case"LOCA":t.set(e+"L",E(a))}}),/[^\d]:/,/,/),o.ontimestampmap&&o.ontimestampmap({MPEGTS:t.get("MPEGTS"),LOCAL:t.get("LOCAL")})})(t)}),/=/):T(e,(function(e,t){if("Region"===e)!(function(e){var t=new _;if(T(e,(function(e,a){switch(e){case"id":t.set(e,a);break;case"width":t.percent(e,a);break;case"lines":t.integer(e,a);break;case"regionanchor":case"viewportanchor":var o=a.split(",");if(2!==o.length)break;var i=new _;if(i.percent("x",o[0]),i.percent("y",o[1]),!i.has("x")||!i.has("y"))break;t.set(e+"X",i.get("x")),t.set(e+"Y",i.get("y"));break;case"scroll":t.alt(e,a,["up"])}}),/=/,/\s/),t.has("id")){var a=new o.window.VTTRegion;a.width=t.get("width",100),a.lines=t.get("lines",3),a.regionAnchorX=t.get("regionanchorX",0),a.regionAnchorY=t.get("regionanchorY",100),a.viewportAnchorX=t.get("viewportanchorX",0),a.viewportAnchorY=t.get("viewportanchorY",100),a.scroll=t.get("scroll",""),o.onregion&&o.onregion(a),o.regionList.push({id:t.get("id"),region:a})}})(t)}),/:/)}if(e&&(o.buffer+=o.decoder.decode(e,{stream:!0})),"INITIAL"===o.state){if(!/\r\n|\n/.test(o.buffer))return this;var s=(t=i()).match(/^WEBVTT([ \t].*)?$/);if(!s||!s[0])return a=new r(r.Errors.BadSignature),o.reportOrThrowError(a),"CUETEXT"===o.state&&o.cue&&o.oncue&&o.oncue(o.cue),o.cue=null,void(o.state="INITIAL"===o.state?"BADWEBVTT":"BADCUE");o.state="HEADER"}var S=!1,l=0;var I,A=(I=function(){if(o.buffer&&/\r\n|\n/.test(o.buffer))switch(S?S=!1:t=i(),o.state){case"HEADER":/:/.test(t)?n(t):t||(o.state="ID"),A();break;case"NOTE":t||(o.state="ID"),A();break;case"ID":if(/^NOTE($|[ \t])/.test(t)){o.state="NOTE",A();break}if(!t){A();break}if(o.cue=new(o.VTTCue||o.window.VTTCue)(0,0,""),o.state="CUE",-1===t.indexOf("--\x3e")){o.cue.id=t,A();break}case"CUE":!(function(e,t,a,o,i){var n,s=e;function S(){var t=E(e);if(null!==t||!i)return e=e.replace(/^[^\sa-zA-Z-]+/,""),t;i(new r(r.Errors.BadTimeStamp,"Malformed timestamp: "+s))}function l(){e=e.replace(/^\s+/,"")}l(),void 0!==(n=S())&&(t.startTime=n,l(),"--\x3e"===e.substr(0,3)?(e=e.substr(3),l(),void 0!==(n=S())&&(t.endTime=n,l(),(function(e,t){var i=new _;T(e,(function(e,t){switch(e){case"region":for(var o=a.length-1;o>=0;o--)if(a[o].id===t){i.set(e,a[o].region);break}break;case"vertical":i.alt(e,t,["rl","lr"]);break;case"line":var n=t.split(","),r=n[0];i.integer(e,r),i.percent(e,r)&&i.set("snapToLines",!1),i.alt(e,r,["auto"]),2===n.length&&i.alt("lineAlign",n[1],["start","middle","end"]);break;case"position":n=t.split(","),i.percent(e,n[0]),2===n.length&&i.alt("positionAlign",n[1],["start","middle","end"]);break;case"size":i.percent(e,t);break;case"align":i.alt(e,t,["start","middle","end","left","right"])}}),/:/,/\s/),t.region=i.get("region",null),t.vertical=i.get("vertical",""),t.line=i.get("line","auto"),t.lineAlign=i.get("lineAlign","start"),t.snapToLines=i.get("snapToLines",!0),t.size=i.get("size",100),t.align=i.get("align","center"),t.position=i.get("position","auto"),t.positionAlign=i.get("positionAlign",{start:"start",left:"start",middle:"middle",end:"end",right:"end",center:"center"},t.align),o()})(e,t))):i(new r(r.Errors.BadTimeStamp,"Malformed time stamp (time stamps must be separated by '--\x3e'): "+s)))})(t,o.cue,o.regionList,(function(){o.state="CUETEXT",A()}),(function(e){o.reportOrThrowError(e),o.cue=null,o.state="BADCUE",A()}));break;case"CUETEXT":var e=-1!==t.indexOf("--\x3e");if(!t||e&&(S=!0)){o.oncue&&o.oncue(o.cue),o.cue=null,o.state="ID",A();break}o.cue.text&&(o.cue.text+="\n"),o.cue.text+=t,A();break;case"BADCUE":t||(o.state="ID"),A()}else o.flush()},function(){if(++l<1e3)return I();setTimeout((function(){l=0,I()}))});return A(),this},flush:function(){var e=this;try{if(e.buffer+=e.decoder.decode(),(e.cue||"HEADER"===e.state)&&(e.buffer+="\n\n",e.parse()),"INITIAL"===e.state)throw new r(r.Errors.BadSignature)}catch(t){e.reportOrThrowError(t)}return e.onflush&&e.onflush(),this}},e.WebVTT=m})(this)},66427:function(e,t,a){var o;e.exports&&(this.VTTCue=this.VTTCue||a(30113).VTTCue),(o=this).VTTCue.prototype.toJSON=function(){var e={},t=this;return Object.keys(this).forEach((function(a){"getCueAsHTML"!==a&&"hasBeenReset"!==a&&"displayState"!==a&&(e[a]=t[a])})),e},o.VTTCue.create=function(e){if(!e.hasOwnProperty("startTime")||!e.hasOwnProperty("endTime")||!e.hasOwnProperty("text"))throw new Error("You must at least have start time, end time, and text.");var t=new o.VTTCue(e.startTime,e.endTime,e.text);for(var a in e)t.hasOwnProperty(a)&&(t[a]=e[a]);return t},o.VTTCue.fromJSON=function(e){return this.create(JSON.parse(e))}},30113:function(){!(function(e){var t={"":!0,lr:!0,rl:!0},a={start:!0,middle:!0,end:!0,left:!0,right:!0};function o(e){return"string"==typeof e&&(!!a[e.toLowerCase()]&&e.toLowerCase())}function i(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var o in a)e[o]=a[o]}return e}function n(e,a,n){var r=this,E=/MSIE\s8\.0/.test(navigator.userAgent),_={};E?r=document.createElement("custom"):_.enumerable=!0,r.hasBeenReset=!1;var T="",s=!1,S=e,l=a,I=n,A=null,u="",d=!0,c="auto",O="start",R=50,N="middle",m=50,L="middle";if(Object.defineProperty(r,"id",i({},_,{get:function(){return T},set:function(e){T=""+e}})),Object.defineProperty(r,"pauseOnExit",i({},_,{get:function(){return s},set:function(e){s=!!e}})),Object.defineProperty(r,"startTime",i({},_,{get:function(){return S},set:function(e){if("number"!=typeof e)throw new TypeError("Start time must be set to a number.");S=e,this.hasBeenReset=!0}})),Object.defineProperty(r,"endTime",i({},_,{get:function(){return l},set:function(e){if("number"!=typeof e)throw new TypeError("End time must be set to a number.");l=e,this.hasBeenReset=!0}})),Object.defineProperty(r,"text",i({},_,{get:function(){return I},set:function(e){I=""+e,this.hasBeenReset=!0}})),Object.defineProperty(r,"region",i({},_,{get:function(){return A},set:function(e){A=e,this.hasBeenReset=!0}})),Object.defineProperty(r,"vertical",i({},_,{get:function(){return u},set:function(e){var a=(function(e){return"string"==typeof e&&!!t[e.toLowerCase()]&&e.toLowerCase()})(e);if(!1===a)throw new SyntaxError("An invalid or illegal string was specified.");u=a,this.hasBeenReset=!0}})),Object.defineProperty(r,"snapToLines",i({},_,{get:function(){return d},set:function(e){d=!!e,this.hasBeenReset=!0}})),Object.defineProperty(r,"line",i({},_,{get:function(){return c},set:function(e){if("number"!=typeof e&&"auto"!==e)throw new SyntaxError("An invalid number or illegal string was specified.");c=e,this.hasBeenReset=!0}})),Object.defineProperty(r,"lineAlign",i({},_,{get:function(){return O},set:function(e){var t=o(e);if(!t)throw new SyntaxError("An invalid or illegal string was specified.");O=t,this.hasBeenReset=!0}})),Object.defineProperty(r,"position",i({},_,{get:function(){return R},set:function(e){if(e<0||e>100)throw new Error("Position must be between 0 and 100.");R=e,this.hasBeenReset=!0}})),Object.defineProperty(r,"positionAlign",i({},_,{get:function(){return N},set:function(e){var t=o(e);if(!t)throw new SyntaxError("An invalid or illegal string was specified.");N=t,this.hasBeenReset=!0}})),Object.defineProperty(r,"size",i({},_,{get:function(){return m},set:function(e){if(e<0||e>100)throw new Error("Size must be between 0 and 100.");m=e,this.hasBeenReset=!0}})),Object.defineProperty(r,"align",i({},_,{get:function(){return L},set:function(e){var t=o(e);if(!t)throw new SyntaxError("An invalid or illegal string was specified.");L=t,this.hasBeenReset=!0}})),r.displayState=void 0,E)return r}n.prototype.getCueAsHTML=function(){return WebVTT.convertCueToDOMTree(window,this.text)},e.VTTCue=e.VTTCue||n})(this)},47224:function(e,t,a){var o;e.exports&&(this.VTTRegion=a(82285).VTTRegion),(o=this).VTTRegion.create=function(e){var t=new o.VTTRegion;for(var a in e)t.hasOwnProperty(a)&&(t[a]=e[a]);return t},o.VTTRegion.fromJSON=function(e){return this.create(JSON.parse(e))}},82285:function(){!(function(e){var t={"":!0,up:!0};function a(e){return"number"==typeof e&&e>=0&&e<=100}e.VTTRegion=e.VTTRegion||function(){var e=100,o=3,i=0,n=100,r=0,E=100,_="";Object.defineProperties(this,{width:{enumerable:!0,get:function(){return e},set:function(t){if(!a(t))throw new Error("Width must be between 0 and 100.");e=t}},lines:{enumerable:!0,get:function(){return o},set:function(e){if("number"!=typeof e)throw new TypeError("Lines must be set to a number.");o=e}},regionAnchorY:{enumerable:!0,get:function(){return n},set:function(e){if(!a(e))throw new Error("RegionAnchorX must be between 0 and 100.");n=e}},regionAnchorX:{enumerable:!0,get:function(){return i},set:function(e){if(!a(e))throw new Error("RegionAnchorY must be between 0 and 100.");i=e}},viewportAnchorY:{enumerable:!0,get:function(){return E},set:function(e){if(!a(e))throw new Error("ViewportAnchorY must be between 0 and 100.");E=e}},viewportAnchorX:{enumerable:!0,get:function(){return r},set:function(e){if(!a(e))throw new Error("ViewportAnchorX must be between 0 and 100.");r=e}},scroll:{enumerable:!0,get:function(){return _},set:function(e){var a=(function(e){return"string"==typeof e&&!!t[e.toLowerCase()]&&e.toLowerCase()})(e);if(!1===a)throw new SyntaxError("An invalid or illegal string was specified.");_=a}}})}})(this)},93028:(e,t,a)=>{"use strict";e.exports=a.p+"aabab5112d6e04708a05fd6c44b6dda32362b248/images/anonymous.png"},11251:(e,t,a)=>{"use strict";e.exports=a.p+"aabab5112d6e04708a05fd6c44b6dda32362b248/images/default_avatar.png"},47740:(e,t,a)=>{"use strict";e.exports=a.p+"aabab5112d6e04708a05fd6c44b6dda32362b248/images/empty.png"},75631:(e,t,a)=>{"use strict";e.exports=a.p+"aabab5112d6e04708a05fd6c44b6dda32362b248/images/logo.png"},35313:(e,t,a)=>{"use strict";e.exports=a.p+"aabab5112d6e04708a05fd6c44b6dda32362b248/images/stremio_symbol.png"},15016:e=>{function t(e,t,a,o,i,n,r){try{var E=e[n](r),_=E.value}catch(e){return void a(e)}E.done?t(_):Promise.resolve(_).then(o,i)}e.exports=function(e){return function(){var a=this,o=arguments;return new Promise((function(i,n){var r=e.apply(a,o);function E(e){t(r,i,n,E,_,"next",e)}function _(e){t(r,i,n,E,_,"throw",e)}E(void 0)}))}},e.exports.__esModule=!0,e.exports.default=e.exports},69926:e=>{e.exports=function(e){return e&&e.__esModule?e:{default:e}},e.exports.__esModule=!0,e.exports.default=e.exports},49685:(e,t,a)=>{var o=a(97606).default;function i(){"use strict";e.exports=i=function(){return a},e.exports.__esModule=!0,e.exports.default=e.exports;var t,a={},n=Object.prototype,r=n.hasOwnProperty,E=Object.defineProperty||function(e,t,a){e[t]=a.value},_="function"==typeof Symbol?Symbol:{},T=_.iterator||"@@iterator",s=_.asyncIterator||"@@asyncIterator",S=_.toStringTag||"@@toStringTag";function l(e,t,a){return Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{l({},"")}catch(t){l=function(e,t,a){return e[t]=a}}function I(e,t,a,o){var i=t&&t.prototype instanceof R?t:R,n=Object.create(i.prototype),r=new y(o||[]);return E(n,"_invoke",{value:B(e,a,r)}),n}function A(e,t,a){try{return{type:"normal",arg:e.call(t,a)}}catch(e){return{type:"throw",arg:e}}}a.wrap=I;var u="suspendedStart",d="executing",c="completed",O={};function R(){}function N(){}function m(){}var L={};l(L,T,(function(){return this}));var D=Object.getPrototypeOf,p=D&&D(D(W([])));p&&p!==n&&r.call(p,T)&&(L=p);var h=m.prototype=R.prototype=Object.create(L);function C(e){["next","throw","return"].forEach((function(t){l(e,t,(function(e){return this._invoke(t,e)}))}))}function f(e,t){function a(i,n,E,_){var T=A(e[i],e,n);if("throw"!==T.type){var s=T.arg,S=s.value;return S&&"object"==o(S)&&r.call(S,"__await")?t.resolve(S.__await).then((function(e){a("next",e,E,_)}),(function(e){a("throw",e,E,_)})):t.resolve(S).then((function(e){s.value=e,E(s)}),(function(e){return a("throw",e,E,_)}))}_(T.arg)}var i;E(this,"_invoke",{value:function(e,o){function n(){return new t((function(t,i){a(e,o,t,i)}))}return i=i?i.then(n,n):n()}})}function B(e,a,o){var i=u;return function(n,r){if(i===d)throw Error("Generator is already running");if(i===c){if("throw"===n)throw r;return{value:t,done:!0}}for(o.method=n,o.arg=r;;){var E=o.delegate;if(E){var _=P(E,o);if(_){if(_===O)continue;return _}}if("next"===o.method)o.sent=o._sent=o.arg;else if("throw"===o.method){if(i===u)throw i=c,o.arg;o.dispatchException(o.arg)}else"return"===o.method&&o.abrupt("return",o.arg);i=d;var T=A(e,a,o);if("normal"===T.type){if(i=o.done?c:"suspendedYield",T.arg===O)continue;return{value:T.arg,done:o.done}}"throw"===T.type&&(i=c,o.method="throw",o.arg=T.arg)}}}function P(e,a){var o=a.method,i=e.iterator[o];if(i===t)return a.delegate=null,"throw"===o&&e.iterator.return&&(a.method="return",a.arg=t,P(e,a),"throw"===a.method)||"return"!==o&&(a.method="throw",a.arg=new TypeError("The iterator does not provide a '"+o+"' method")),O;var n=A(i,e.iterator,a.arg);if("throw"===n.type)return a.method="throw",a.arg=n.arg,a.delegate=null,O;var r=n.arg;return r?r.done?(a[e.resultName]=r.value,a.next=e.nextLoc,"return"!==a.method&&(a.method="next",a.arg=t),a.delegate=null,O):r:(a.method="throw",a.arg=new TypeError("iterator result is not an object"),a.delegate=null,O)}function g(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function v(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function y(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(g,this),this.reset(!0)}function W(e){if(e||""===e){var a=e[T];if(a)return a.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var i=-1,n=function a(){for(;++i<e.length;)if(r.call(e,i))return a.value=e[i],a.done=!1,a;return a.value=t,a.done=!0,a};return n.next=n}}throw new TypeError(o(e)+" is not iterable")}return N.prototype=m,E(h,"constructor",{value:m,configurable:!0}),E(m,"constructor",{value:N,configurable:!0}),N.displayName=l(m,S,"GeneratorFunction"),a.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===N||"GeneratorFunction"===(t.displayName||t.name))},a.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,m):(e.__proto__=m,l(e,S,"GeneratorFunction")),e.prototype=Object.create(h),e},a.awrap=function(e){return{__await:e}},C(f.prototype),l(f.prototype,s,(function(){return this})),a.AsyncIterator=f,a.async=function(e,t,o,i,n){void 0===n&&(n=Promise);var r=new f(I(e,t,o,i),n);return a.isGeneratorFunction(t)?r:r.next().then((function(e){return e.done?e.value:r.next()}))},C(h),l(h,S,"Generator"),l(h,T,(function(){return this})),l(h,"toString",(function(){return"[object Generator]"})),a.keys=function(e){var t=Object(e),a=[];for(var o in t)a.push(o);return a.reverse(),function e(){for(;a.length;){var o=a.pop();if(o in t)return e.value=o,e.done=!1,e}return e.done=!0,e}},a.values=W,y.prototype={constructor:y,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(v),!e)for(var a in this)"t"===a.charAt(0)&&r.call(this,a)&&!isNaN(+a.slice(1))&&(this[a]=t)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var a=this;function o(o,i){return E.type="throw",E.arg=e,a.next=o,i&&(a.method="next",a.arg=t),!!i}for(var i=this.tryEntries.length-1;i>=0;--i){var n=this.tryEntries[i],E=n.completion;if("root"===n.tryLoc)return o("end");if(n.tryLoc<=this.prev){var _=r.call(n,"catchLoc"),T=r.call(n,"finallyLoc");if(_&&T){if(this.prev<n.catchLoc)return o(n.catchLoc,!0);if(this.prev<n.finallyLoc)return o(n.finallyLoc)}else if(_){if(this.prev<n.catchLoc)return o(n.catchLoc,!0)}else{if(!T)throw Error("try statement without catch or finally");if(this.prev<n.finallyLoc)return o(n.finallyLoc)}}}},abrupt:function(e,t){for(var a=this.tryEntries.length-1;a>=0;--a){var o=this.tryEntries[a];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var n=i?i.completion:{};return n.type=e,n.arg=t,i?(this.method="next",this.next=i.finallyLoc,O):this.complete(n)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),O},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var a=this.tryEntries[t];if(a.finallyLoc===e)return this.complete(a.completion,a.afterLoc),v(a),O}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var a=this.tryEntries[t];if(a.tryLoc===e){var o=a.completion;if("throw"===o.type){var i=o.arg;v(a)}return i}}throw Error("illegal catch attempt")},delegateYield:function(e,a,o){return this.delegate={iterator:W(e),resultName:a,nextLoc:o},"next"===this.method&&(this.arg=t),O}},a}e.exports=i,e.exports.__esModule=!0,e.exports.default=e.exports},97606:e=>{function t(a){return e.exports=t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.__esModule=!0,e.exports.default=e.exports,t(a)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports},33167:(e,t,a)=>{var o=a(49685)();e.exports=o;try{regeneratorRuntime=o}catch(e){"object"==typeof globalThis?globalThis.regeneratorRuntime=o:Function("r","regeneratorRuntime = r")(o)}},39059:e=>{e.exports=function(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o},e.exports.__esModule=!0,e.exports.default=e.exports},53280:e=>{e.exports=function(e){if(Array.isArray(e))return e},e.exports.__esModule=!0,e.exports.default=e.exports},25627:e=>{e.exports=function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e},e.exports.__esModule=!0,e.exports.default=e.exports},50949:e=>{e.exports=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},e.exports.__esModule=!0,e.exports.default=e.exports},94813:(e,t,a)=>{var o=a(13213);function i(e,t){for(var a=0;a<t.length;a++){var i=t[a];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,o(i.key),i)}}e.exports=function(e,t,a){return t&&i(e.prototype,t),a&&i(e,a),Object.defineProperty(e,"prototype",{writable:!1}),e},e.exports.__esModule=!0,e.exports.default=e.exports},92401:(e,t,a)=>{var o=a(13213);e.exports=function(e,t,a){return(t=o(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e},e.exports.__esModule=!0,e.exports.default=e.exports},42411:e=>{function t(a){return e.exports=t=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},e.exports.__esModule=!0,e.exports.default=e.exports,t(a)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports},96433:(e,t,a)=>{var o=a(27529);e.exports=function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&o(e,t)},e.exports.__esModule=!0,e.exports.default=e.exports},37713:e=>{e.exports=function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)},e.exports.__esModule=!0,e.exports.default=e.exports},65886:e=>{e.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")},e.exports.__esModule=!0,e.exports.default=e.exports},28542:(e,t,a)=>{var o=a(17021).default,i=a(25627);e.exports=function(e,t){if(t&&("object"===o(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return i(e)},e.exports.__esModule=!0,e.exports.default=e.exports},27529:e=>{function t(a,o){return e.exports=t=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},e.exports.__esModule=!0,e.exports.default=e.exports,t(a,o)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports},29394:(e,t,a)=>{var o=a(53280),i=a(37713),n=a(49863),r=a(65886);e.exports=function(e){return o(e)||i(e)||n(e)||r()},e.exports.__esModule=!0,e.exports.default=e.exports},33029:(e,t,a)=>{var o=a(17021).default;e.exports=function(e,t){if("object"!==o(e)||null===e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var i=a.call(e,t||"default");if("object"!==o(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)},e.exports.__esModule=!0,e.exports.default=e.exports},13213:(e,t,a)=>{var o=a(17021).default,i=a(33029);e.exports=function(e){var t=i(e,"string");return"symbol"===o(t)?t:String(t)},e.exports.__esModule=!0,e.exports.default=e.exports},17021:e=>{function t(a){return e.exports=t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.__esModule=!0,e.exports.default=e.exports,t(a)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports},49863:(e,t,a)=>{var o=a(39059);e.exports=function(e,t){if(e){if("string"==typeof e)return o(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?o(e,t):void 0}},e.exports.__esModule=!0,e.exports.default=e.exports},95985:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>n});var o=a(67294),i={symbol:{viewBox:"0 0 512 512",paths:[{d:"M267.1 52.7a16.057 16.057 0 0 0-22.6 0L52.7 244.5a16.055 16.055 0 0 0 0 22.6l191.8 191.8a16.054 16.054 0 0 0 22.6 0l191.8-191.8a16.056 16.056 0 0 0 0-22.6z m60.3 212.5a10.933 10.933 0 0 0 0-18l-84.5-59.1a11 11 0 0 0-11.383-0.753 10.99 10.99 0 0 0-5.917 9.753v118.2a10.99 10.99 0 0 0 11.714 10.969 11 11 0 0 0 5.586-1.969z",style:{fill:"currentcolor",fillRule:"evenodd",clipRule:"evenodd"}}]},"imdb-outline":{viewBox:"0 0 512 512",paths:[{d:"M450.6700000000001 122.26200000000006H60.932000000000016a39 39 0 0 0-27.747 11.425 39.03 39.03 0 0 0-11.425 27.747v189.529a39.27 39.27 0 0 0 11.501 27.67 39.3 39.3 0 0 0 27.671 11.5h389.738a39.3 39.3 0 0 0 27.67-11.5 39.25 39.25 0 0 0 11.5-27.67V161.43400000000008a39.25 39.25 0 0 0-11.5-27.671 39.26 39.26 0 0 0-27.67-11.501m18.99 228.701c0 2.49-0.49 4.96-1.44 7.27-0.95 2.3-2.35 4.4-4.12 6.16a18.7 18.7 0 0 1-6.16 4.12c-2.3 0.95-4.78 1.44-7.27 1.44H60.932000000000016a19.25 19.25 0 0 1-13.351-5.64 19.28 19.28 0 0 1-5.641-13.35V161.43400000000008a19.254 19.254 0 0 1 18.992-18.992h389.738a18.98 18.98 0 0 1 13.43 5.562 19.15 19.15 0 0 1 4.12 6.162 19.1 19.1 0 0 1 1.44 7.268z",style:{fill:"currentcolor"}},{d:"M83.48500000000001 189.92500000000007h24.532v124.24h-24.532z",style:{fill:"currentcolor"}},{d:"M181.216 273.80600000000004l-23.74-83.881H126.61000000000001v124.24h21.37V227.51300000000003l22.949 72.8h20.575l22.949-74.386v88.235h21.366V189.92500000000007h-30.862z",style:{fill:"currentcolor"}},{d:"M297.544 189.923h-41.15v124.24h41.15a49.74 49.74 0 0 0 36.006-11.87 41.08 41.08 0 0 0 13.06-32.841v-35.214a42.97 42.97 0 0 0-13.057-32.841 51.22 51.22 0 0 0-36.009-11.474m24.927 80.321a19.8 19.8 0 0 1-6.33 15.828A27.6 27.6 0 0 1 297.94000000000005 291.61300000000006h-18.2v-79.138h18.2a27.6 27.6 0 0 1 18.2 5.54 19.8 19.8 0 0 1 6.33 15.827z",style:{fill:"currentcolor"}},{d:"M406.75 223.9520000000001a22.5 22.5 0 0 0-13.06 4.352 23.94 23.94 0 0 0-7.52 9.1v-47.876h-23.74v124.637h23.74v-11.87a20.77 20.77 0 0 0 8.18 9.859 20.78 20.78 0 0 0 12.4 3.198 25.88 25.88 0 0 0 21.76-9.892 43.46 43.46 0 0 0 7.92-28.489v-14.244a42.85 42.85 0 0 0-7.92-28.488 26.235 26.235 0 0 0-21.76-10.287m6.33 53.019c0.29 4.38-0.97 8.722-3.56 12.266a11.4 11.4 0 0 1-4.57 3.528 11.4 11.4 0 0 1-5.72 0.825c-2.37 0.4-4.75-0.4-7.12-1.583a7.9 7.9 0 0 1-2.62-1.73 7.7 7.7 0 0 1-1.73-2.622 17.1 17.1 0 0 1-1.59-7.518v-20.179a17.1 17.1 0 0 1 1.59-7.518 8.6 8.6 0 0 1 4.35-4.748c2.19-1.2 4.63-1.878 7.12-1.979 1.97-0.054 3.92 0.347 5.7 1.17a12.7 12.7 0 0 1 4.59 3.579 19.84 19.84 0 0 1 3.56 12.661z",style:{fill:"currentcolor"}}]},imdb:{viewBox:"0 0 512 512",paths:[{d:"M294.5 217.5c-1.3-0.7-3.8-1-7.4-1v77.9c4.8 0 7.8-0.9 8.9-2.7s1.7-6.6 1.7-14.5v-46c0-5.4-0.2-8.8-0.6-10.3a5.37 5.37 0 0 0-2.6-3.4",style:{fill:"currentcolor"}},{d:"M384 255.60000000000002v28.1c0 5.3-0.3 8.7-0.8 10-0.5 1.4-3.2 2.1-5 2.1s-4.3-0.8-4.9-2.1v-47.6c0.5-1.2 3.2-2 4.9-2s4.2 0.9 4.8 2.3c0.7 1.5 1 4.6 1 9.2",style:{fill:"currentcolor"}},{d:"M45 176.4a26.375 26.375 0 0 1 26.4-26.4h369.2a26.38 26.38 0 0 1 18.68 7.722 26.5 26.5 0 0 1 5.72 8.57c1.32 3.205 2 6.64 2 10.108v158.2c0 3.468-0.68 6.903-2 10.108a26.5 26.5 0 0 1-5.72 8.569 26.5 26.5 0 0 1-8.57 5.722A26.4 26.4 0 0 1 440.5999999999999 361H71.39999999999998a26.375 26.375 0 0 1-26.4-26.4z m52.8 138.4h33V196.2h-33z m95.9-63.2l7.4-55.4h41.7v118.7h-27.9l-0.1-80.1-11.2 80.1h-19.9L172 236.5l-0.1 78.4h-28V196.2h41.4c1.2 7.2 2.5 15.6 3.8 25.3z m62.3 63.2V196.2h51.5a21.064 21.064 0 0 1 21.1 20.9v76.8a20.934 20.934 0 0 1-21.1 20.9z m136.8-88.9h-2.1a22.05 22.05 0 0 0-17.4 8.4v-38.1h-31.6v117.2h29.6l1.9-7.3a21.7 21.7 0 0 0 7.7 6.486 21.7 21.7 0 0 0 9.8 2.314h2.1c11.8 0 21.4-9.3 21.4-20.7v-47.6c0-11.5-9.5-20.7-21.4-20.7",style:{fill:"currentcolor",fillRule:"evenodd",clipRule:"evenodd"}}]},reddit:{viewBox:"0 0 512 512",paths:[{d:"M309.6500000000001 125.026c4.57 19.375 21.98 33.808 42.76 33.808 24.26 0 43.93-19.663 43.93-43.917S376.6700000000001 71 352.40999999999985 71c-21.22 0-38.91 15.03-43.03 35.022-35.52 3.809-63.27 33.931-63.27 70.436v0.226c-38.63 1.627-73.91 12.622-101.92 29.978a61.28 61.28 0 0 0-37.63-12.847c-34 0-61.56 27.548-61.56 61.541 0 24.666 14.5 45.914 35.44 55.735 2.04 71.444 79.91 128.909 175.7 128.909s173.77-57.526 175.7-129.033c20.78-9.882 35.16-31.069 35.16-55.591 0-33.992-27.56-61.541-61.56-61.541-14.11 0-27.1 4.756-37.48 12.745-28.26-17.48-63.93-28.475-102.96-29.937v-0.164c0-26.149 19.44-47.85 44.65-51.412z m-167.93 169.388c1.03-22.319 15.85-39.449 33.09-39.449s30.42 18.098 29.39 40.416c-1.03 22.319-13.9 30.431-31.16 30.431s-32.35-9.08-31.32-31.398m195.78-39.449c17.25 0 32.08 17.13 33.09 39.449 1.03 22.318-14.08 31.398-31.32 31.398s-30.13-8.091-31.16-30.431c-1.03-22.318 12.13-40.416 29.39-40.416m-20.52 91.086c3.24 0.33 5.3 3.686 4.04 6.692-10.61 25.345-35.65 43.155-64.88 43.155-29.22 0-54.24-17.81-64.87-43.155-1.26-3.006 0.8-6.362 4.04-6.692 18.94-1.914 39.44-2.964 60.83-2.964 21.4 0 41.87 1.05 60.84 2.964",style:{fill:"currentcolor"}}]},x:{viewBox:"0 0 512 512",paths:[{d:"M284.53999999999996 231.994L396.2199999999998 102h-26.46l-96.98 112.872L195.32999999999993 102H106l117.12 170.682L106 409h26.47l102.4-119.196L316.6700000000001 409H406l-121.47-177.006z m-36.25 42.192l-11.87-16.996L142 121.95h40.65l76.2 109.143 11.87 16.996 99.05 141.868h-40.65l-80.83-115.765z",style:{fill:"currentcolor"}}]},facebook:{viewBox:"0 0 512 512",paths:[{d:"M338.0999999999999 196.9h-54.7v-37.1c0-14.1 8.8-17.7 15.9-17.7h38.8v-60h-54.7a69.4 69.4 0 0 0-50.36 16.812 69.43 69.43 0 0 0-23.74 47.488c-0.2 3.264-0.2 6.537 0 9.8v40.6H174v63.5h35.3v178.3h74.1V260.4h49.4z",style:{fill:"currentcolor"}}]},youtube:{viewBox:"0 0 512 512",paths:[{d:"M476.0999999999999 161.6c0-39.2-28.8-70.7-64.5-70.7-48.3-2.3-97.5-3.1-147.8-3.1h-15.7c-50.2 0-99.5 0.9-147.7 3.1-35.5 0-64.4 31.7-64.4 70.9-2.2 31-3.1 62-3.1 93-0.1 31 0.9 62.1 3 93.1 0 39.2 28.8 71 64.4 71 50.7 2.4 102.7 3.4 155.6 3.3 53 0.2 104.87-0.9 155.6-3.3 35.6 0 64.5-31.8 64.5-71 2.1-31.1 3.1-62.1 3-93.2 0.1-31-0.8-62-2.9-93.1m-262.8 178.7V169.1l126.3 85.5z",style:{fill:"currentcolor"}}]},vlc:{viewBox:"0 0 512 512",paths:[{d:"M385.5 325.1999999999998c-7.9-25.1-8-25-34-23.6h-0.8c-4.8 0-7.2 1.6-5.9 7.1 1.8 7.6-1.7 13.3-7.2 18.2-7.8 6.8-17.2 10.8-27 13.8-29.3 8.9-59.2 9.4-89.1 4.8-16.6-2.6-33-6.6-46.5-17.8-4.9-4-8.6-8.7-8.7-15.2-0.2-10.9-0.1-10.9-11.6-10.8-2.8 0-5.5 0.3-8.3 0.1-9.1-0.7-14.1 3.4-16.7 12.2-9.7 32.2-20 64.1-29.9 96.2a80.5 80.5 0 0 0-3.4 16.1c-0.6 6.7 2.3 11.1 9.9 11.2 7.4 0.2 14.8 1.2 22.2 1.2 42.7 0.1 85.4 0.13 128.1 0.1 45.2 0 90.3 0.1 135.5-0.1 23.9-0.1 27.2-4.7 20.2-27.5-8.8-28.7-17.7-57.3-26.8-86",style:{fill:"currentcolor"}},{d:"M200.39999999999964 196.19999999999982c-4.8 16.4-9.7 32.73-14.7 49-3.7 12.2-2.2 16.6 9.3 22.5a92 92 0 0 0 15.3 6c14.53 4.41 29.75 6.1 44.9 5 6 0 12.1 0.5 18.1-0.1 16.8-1.6 33.4-4 47.9-13.6 4.2-2.8 8.3-6.4 6.7-12.1-5.7-19.6-11.7-39-17.5-58.5-0.8-2.6-1.6-4.4-5.2-2.7-23 11.1-47.5 10.2-72 7.8-8.5-0.8-17.2-1.9-24.5-6.7-5.2-3.4-6.8-1.8-8.3 3.4",style:{fill:"currentcolor"}},{d:"M283.2999999999993 127.80000000000018c5.2-1.3 6.3-4.4 4.7-9.3-2.8-8.6-5-17.4-7.9-26.1-5.1-15.5-7.5-17.2-23.6-17.2-17.4 0-20.8 2.5-25.8 19.1-2.4 8.2-4.7 16.4-7.3 24.5-1.5 4.6-0.2 7.6 4.4 8.8 18.19 4.71 37.27 4.78 55.5 0.2",style:{fill:"currentcolor"}}]},trakt:{viewBox:"0 0 512 512",paths:[{d:"M114.80000000000018 386.4a192.6 192.6 0 0 0 103.68 58.236A192.63 192.63 0 0 0 336.60000000000036 430.9l-133.3-133z",style:{fill:"currentcolor"}},{d:"M202.5999999999999 217.4l-101 100.7-13.5-13.5 106.3-106.3 124.1-124.1a192.4 192.4 0 0 0-120.28-1.237 192.4 192.4 0 0 0-97.5 70.437 192.33 192.33 0 0 0-36.61 114.576A192.34 192.34 0 0 0 102.69999999999982 371.9l100.7-100.7 6.9 6.6L354.5 422a57.5 57.5 0 0 0 8.2-5.3l-159.4-159.4-96.7 96.7-13.5-13.5 110.2-110.2 6.9 6.6 168.3 168c2.6-2 4.9-4.3 7.3-6.3l-181.5-181.5z",style:{fill:"currentcolor"}},{d:"M399.3000000000002 385.1a192.1 192.1 0 0 0 42.69-78.033 192.1 192.1 0 0 0 2.99-88.899 192.24 192.24 0 0 0-37.37-80.719A192.2 192.2 0 0 0 337.89999999999964 82.2L216.80000000000018 203z m-136-147.2l-13.5-13.5 95.4-95.4 13.5 13.5z m90.5-131l-109.9 109.9-13.5-13.5 109.9-109.9z",style:{fill:"currentcolor"}}]},"in-cinema":{viewBox:"0 0 512 512",paths:[{d:"M457.40000000000055 196.3l-38-38a17.2 17.2 0 0 0-11.38-4.913A17.18 17.18 0 0 0 396.3000000000002 157.4a26.42 26.42 0 0 1-18.19 6.353 26.42 26.42 0 0 1-17.67-7.694 26.4 26.4 0 0 1-7.74-17.648 26.4 26.4 0 0 1 6.3-18.211 17.17 17.17 0 0 0 4.01-11.724 17.23 17.23 0 0 0-4.91-11.376l-37.8-38a17.08 17.08 0 0 0-12.1-5.024 17.09 17.09 0 0 0-12.1 5.024l-60.5 60.5a34.1 34.1 0 0 0-8.2 13.2 6.7 6.7 0 0 1-1.61 2.588 6.9 6.9 0 0 1-2.59 1.612c-5 1.679-9.52 4.525-13.2 8.3l-155.2 155.2a17.09 17.09 0 0 0-5.03 12.1c0 2.249 0.45 4.475 1.31 6.551a17.1 17.1 0 0 0 3.72 5.549l37.6 38a17.2 17.2 0 0 0 11.38 4.913c4.27 0.167 8.45-1.264 11.72-4.013a26.48 26.48 0 0 1 18.7-7.85c3.47-0.014 6.92 0.658 10.14 1.978a26.4 26.4 0 0 1 8.61 5.718 26.4 26.4 0 0 1 5.77 8.582 26.3 26.3 0 0 1 2.03 10.135 26.46 26.46 0 0 1-7.75 18.737 17.17 17.17 0 0 0-4.01 11.724c0.17 4.27 1.92 8.326 4.91 11.376l37.9 37.9a17.089 17.089 0 0 0 18.65 3.718 17.1 17.1 0 0 0 5.55-3.718l155.2-155.2a34.4 34.4 0 0 0 8.3-13.2c0.33-0.975 0.88-1.861 1.61-2.587a6.85 6.85 0 0 1 2.59-1.613 34.2 34.2 0 0 0 13.2-8.2l60.5-60.5a17.4 17.4 0 0 0 4.95-12.15 17.4 17.4 0 0 0-4.95-12.15m-196.6-25.5a13.762 13.762 0 0 1-19.5 0l-9.9-9.9a13.78 13.78 0 0 1-4.47-9.527 13.75 13.75 0 0 1 3.54-9.912 13.78 13.78 0 0 1 9.5-4.536 13.8 13.8 0 0 1 9.93 3.475c0.36 0.308 0.69 0.642 1 1l9.9 9.9c1.28 1.28 2.3 2.799 3 4.47 1.4 3.381 1.4 7.179 0 10.559a13.9 13.9 0 0 1-3 4.471m37.9 37.8a13.762 13.762 0 0 1-19.5 0l-9.4-9.4a13.8 13.8 0 0 1-3.55-9.602 13.81 13.81 0 0 1 13.45-13.446 13.82 13.82 0 0 1 9.6 3.548l9.4 9.4a13.936 13.936 0 0 1 0 19.5m38.1 37.9a13.762 13.762 0 0 1-19.5 0l-9.4-9.4a13.78 13.78 0 0 1-4.47-9.527 13.75 13.75 0 0 1 3.54-9.912 13.78 13.78 0 0 1 9.5-4.536 13.8 13.8 0 0 1 9.93 3.475c0.36 0.308 0.69 0.642 1 1l9.4 9.5a13.85 13.85 0 0 1 3.97 9.7c0 3.629-1.43 7.113-3.97 9.7m38.2 38.3a13.762 13.762 0 0 1-19.5 0l-9.9-9.9a13.7 13.7 0 0 1-3.1-4.397 13.8 13.8 0 0 1-1.19-5.249c-0.04-1.811 0.27-3.613 0.92-5.304a13.75 13.75 0 0 1 7.27-7.653 13.8 13.8 0 0 1 5.25-1.185c1.81-0.047 3.61 0.264 5.3 0.914s3.24 1.627 4.55 2.874l0.5 0.5 9.9 9.9c1.28 1.28 2.3 2.799 3 4.47 1.4 3.381 1.4 7.179 0 10.559a13.9 13.9 0 0 1-3 4.471",style:{fill:"currentcolor"}}]},remote:{viewBox:"0 0 512 512",paths:[{d:"M292.89999999999964 119.1a28.4 28.4 0 0 0-9.43-6.584 28.5 28.5 0 0 0-11.27-2.316 29.22 29.22 0 0 0-21.7 8.9l-20.7 20.7-177.5 177.4a29.2 29.2 0 0 0-7.85 8.26 29.16 29.16 0 0 0-3.79 22.031 29.2 29.2 0 0 0 4.64 10.409 25.8 25.8 0 0 0 3 3.6q45.9 47.25 91.8 91.6a27.47 27.47 0 0 0 38.8 0.6l1.5-1.5c5.9-4.9 10.8-10.8 16.8-15.8L379.5 254c15.8-15.8 16.8-31.5 2-45.4-28.5-30.4-58.1-60-88.6-89.5m-179.3 243.3c-2.6 0.239-5.22-0.037-7.72-0.812a19.8 19.8 0 0 1-6.81-3.707A19.84 19.84 0 0 1 92 344.4c-0.08-0.865-0.11-1.733-0.1-2.6-0.17-2.682 0.19-5.371 1.07-7.912a20.2 20.2 0 0 1 4.03-6.892 20.333 20.333 0 0 1 14.1-6.796h1.5c2.54-0.307 5.11-0.111 7.57 0.578a19.403 19.403 0 0 1 14.03 16.422c0.13 1.228 0.17 2.466 0.1 3.7a19.5 19.5 0 0 1-0.57 7.567 19.42 19.42 0 0 1-9.21 11.696 19.4 19.4 0 0 1-7.22 2.337c-1.3 0-2.5 0-3.7-0.1m47.3 48.3c-3.93 0.175-7.82-0.821-11.18-2.862a19.87 19.87 0 0 1-7.7-8.599 20.1 20.1 0 0 1-1.82-7.539c-0.02-0.868 0.01-1.737 0.1-2.6a19.22 19.22 0 0 1 17.5-20.7c1.06-0.1 2.14-0.1 3.2 0 2.69-0.035 5.35 0.461 7.85 1.458 2.49 0.997 4.76 2.475 6.69 4.351a20.5 20.5 0 0 1 4.51 6.582 20.4 20.4 0 0 1 1.65 7.809v1.5a19.62 19.62 0 0 1-4.97 14.174 19.65 19.65 0 0 1-13.53 6.526c-0.76-0.08-1.53-0.113-2.3-0.1m0-95.6c-3.93 0.175-7.82-0.821-11.18-2.862a19.87 19.87 0 0 1-7.7-8.599 20.1 20.1 0 0 1-1.82-7.539c-0.02-0.868 0.01-1.737 0.1-2.6a22.113 22.113 0 0 1 21.5-22.7h0.1a21.13 21.13 0 0 1 14.51 7.17 21.17 21.17 0 0 1 5.19 15.33v0.2c0.17 2.679-0.18 5.367-1.05 7.909a20.2 20.2 0 0 1-4 6.904 20.4 20.4 0 0 1-6.34 4.843 20.4 20.4 0 0 1-7.71 2.044 8.2 8.2 0 0 1-1.6-0.1m47.3 47.3a19.66 19.66 0 0 1-14.17-4.976 19.66 19.66 0 0 1-6.53-13.524v-2.1a21.08 21.08 0 0 1 21.4-20.7h0.3a21.744 21.744 0 0 1 21.7 20.7c-0.08 2.806-0.71 5.57-1.85 8.133a21.4 21.4 0 0 1-4.84 6.795 21.31 21.31 0 0 1-15.31 5.772c-0.23-0.076-0.46-0.11-0.7-0.1m56-63a61.63 61.63 0 0 1-34.13-10.653 61.593 61.593 0 0 1-25.69-63.416 61.58 61.58 0 0 1 48.73-48.029 61.604 61.604 0 0 1 63.04 26.619 61.57 61.57 0 0 1 10.15 34.279 60.9 60.9 0 0 1-4.6 23.353 61 61 0 0 1-13.19 19.814 61 61 0 0 1-43.11 17.933h-1.2z m168.5-199a120.83 120.83 0 0 0-78.7-52.2c-15.8-1-22.7 3.9-23.6 12.8 0 10.8 6.9 14.8 15.8 15.8a66.8 66.8 0 0 1 27.6 9.8 101.1 101.1 0 0 1 33.46 29.192A101.3 101.3 0 0 1 425 156.5a15.64 15.64 0 0 0 4.39 11.055 15.6 15.6 0 0 0 10.91 4.745h0.4c8.9 0 13.8-6.9 13.8-17.7a97.08 97.08 0 0 0-21.8-54.2m-93.5-4c-8 0-14.8 3-15.8 11.8-0.91 3.42-0.43 7.061 1.33 10.131a13.45 13.45 0 0 0 8.07 6.269c0.81 0.238 1.65 0.373 2.5 0.4a50.3 50.3 0 0 1 28.21 14.189 50.28 50.28 0 0 1 14.19 28.211 14.6 14.6 0 0 0 16.1 12.9c0.2 0 0.5-0.1 0.7-0.1a12.87 12.87 0 0 0 11.8-13.8 76.81 76.81 0 0 0-67.1-70m-73.9 108.4c-4.2-0.202-8.41 0.427-12.37 1.852a32.2 32.2 0 0 0-10.71 6.449 32 32 0 0 0-7.42 10.061 31.9 31.9 0 0 0-3 12.138v3a31.3 31.3 0 0 0 7.6 22.691 31.34 31.34 0 0 0 21.4 10.709c1.2 0.1 2.3 0.1 3.5 0.1 4.2 0.214 8.41-0.403 12.37-1.815a32.1 32.1 0 0 0 10.74-6.417 32 32 0 0 0 7.45-10.039 32.1 32.1 0 0 0 3.04-12.129c0.1-1.031 0.1-2.069 0-3.1a31.92 31.92 0 0 0-8.14-22.96 31.92 31.92 0 0 0-21.96-10.54z",style:{fill:"currentcolor"}}]},link:{viewBox:"0 0 512 512",paths:[{d:"M472.8299999999999 100.5c-15.83-39.171-54.21-64.1-96.55-63.307a95.7 95.7 0 0 0-66.08 22.157c-13.05 10.683-24.53 22.949-36.79 34.424-13.06 12.661-25.72 25.323-38.78 37.984a20.2 20.2 0 0 0-5.79 10.347 20.14 20.14 0 0 0 1.04 11.811 17.905 17.905 0 0 0 16.22 12.266c7.52 0.4 14.64-3.165 19.79-9.1l62.91-61.725c25.32-25.718 66.47-26.114 92.59-1.582a63.05 63.05 0 0 1 18.59 44.432 63.06 63.06 0 0 1-18.2 44.594 8.4 8.4 0 0 1-1.98 1.583c-29.27 29.279-58.55 57.768-87.83 86.652-4.8 4.386-9.97 8.357-15.44 11.87a65.49 65.49 0 0 1-82.69-17.409 21.45 21.45 0 0 0-26.51-9.1c-13.45 5.54-15.83 19.784-5.15 33.632 36.41 45.9 103.28 53.416 149.17 17.014 2.38-1.978 4.75-4.352 7.13-6.726 30.46-29.28 60.93-58.956 91-89.027a102 102 0 0 0 28.59-52.039 102 102 0 0 0-5.24-59.144m-225.14 253.624a4725 4725 0 0 0-63.71 62.512 66.32 66.32 0 0 1-45.89 19.83 66.33 66.33 0 0 1-46.69-17.85 62.6 62.6 0 0 1-13.91-20.28 62.5 62.5 0 0 1-5.04-24.068 62.68 62.68 0 0 1 18.16-44.676l2.37-2.374c28.88-28.488 58.16-56.977 87.05-85.466a69.7 69.7 0 0 1 16.22-12.265 66.4 66.4 0 0 1 44.11-6.352 66.37 66.37 0 0 1 38.19 22.97 19.5 19.5 0 0 0 5.43 5.45 19.355 19.355 0 0 0 21.87-0.306 19.9 19.9 0 0 0 5.46-5.552 19.9 19.9 0 0 0 2.89-7.226c0.48-2.576 0.44-5.221-0.11-7.783a19.7 19.7 0 0 0-3.1-7.139c-0.39-0.792-1.18-1.583-1.58-2.374a106.514 106.514 0 0 0-149.56-14.64 41.6 41.6 0 0 0-4.35 3.561c-32.05 30.467-63.31 61.329-94.57 92.587a100.2 100.2 0 0 0-27.41 51.981 100.25 100.25 0 0 0 6.44 58.412 101.78 101.78 0 0 0 38.43 46.09 101.8 101.8 0 0 0 57.72 16.43 97.13 97.13 0 0 0 68.45-24.14c24.93-22.95 48.67-47.48 72.8-71.22a18.754 18.754 0 0 0 4.36-22.159 20.4 20.4 0 0 0-11.52-10.239 20.4 20.4 0 0 0-15.39 0.739 17.74 17.74 0 0 0-7.52 5.54z",style:{fill:"currentcolor"}}]},"magnet-link":{viewBox:"0 0 512 512",paths:[{d:"M410.3000000000002 285.3a134.1 134.1 0 0 0 38.34-94.526 134.1 134.1 0 0 0-39.27-94.141 134.08 134.08 0 0 0-94.14-39.268A134.09 134.09 0 0 0 220.69999999999982 95.7",style:{stroke:"currentcolor",strokeMiterlimit:"10",strokeWidth:"31.764",fill:"none"}},{d:"M347.09999999999945 222.1a44.7 44.7 0 0 0 13.09-31.6 44.693 44.693 0 0 0-44.69-44.689 44.7 44.7 0 0 0-31.6 13.089",style:{stroke:"currentcolor",strokeMiterlimit:"10",strokeWidth:"31.764",fill:"none"}},{d:"M189.19999999999982 443.8v-46",style:{stroke:"currentcolor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"31.764",fill:"none"}},{d:"M101.59999999999945 404.499l31.6-31.6",style:{stroke:"currentcolor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"31.764",fill:"none"}},{d:"M66.69999999999982 305.899h46",style:{stroke:"currentcolor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"31.764",fill:"none"}},{d:"M284 158.9L178.69999999999982 264.2a29.82 29.82 0 0 1-21.05 8.7c-7.89 0-15.46-3.129-21.05-8.7l-21.2-21a29.82 29.82 0 0 1-8.7-21.05c0-7.892 3.13-15.461 8.7-21.05l105.4-105.3",style:{stroke:"currentcolor",strokeLinejoin:"round",strokeWidth:"31.764",fill:"none"}},{d:"M410.3000000000002 285.3l-105.3 105.4a29.82 29.82 0 0 1-21.05 8.7c-7.89 0-15.46-3.129-21.05-8.7l-21-21.1a29.82 29.82 0 0 1 0-42.1l105.3-105.4",style:{stroke:"currentcolor",strokeLinejoin:"round",strokeWidth:"31.764",fill:"none"}},{d:"M147.59999999999945 170l63.2 63.2",style:{stroke:"currentcolor",strokeLinejoin:"round",strokeWidth:"31.764",fill:"none"}},{d:"M274 296.399l63.2 63.2",style:{stroke:"currentcolor",strokeLinejoin:"round",strokeWidth:"31.764",fill:"none"}}]},help:{viewBox:"0 0 512 512",paths:[{d:"M155.70000000000073 438.8c98.6 56.9 224.6 23.1 281.5-75.4 56.9-98.6 23.1-224.6-75.4-281.5-98.6-56.9-224.6-23.1-281.5 75.4-56.9 98.6-23.2 224.6 75.4 281.5",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"34.354",fill:"none"}},{d:"M224.40000000000055 319.9a68.683 68.683 0 0 0 102.58-67.313 68.68 68.68 0 0 0-22.94-43.79 68.69 68.69 0 0 0-92.24 1.501 68.68 68.68 0 0 0-21.5 44.513 68.7 68.7 0 0 0 13.96 47.423 68.7 68.7 0 0 0 20.14 17.666",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"34.354",fill:"none"}},{d:"M320.40000000000055 63.6l-47.1 125.801",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"34.354",fill:"none"}},{d:"M313 212.301l85.4-103.7",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"34.354",fill:"none"}},{d:"M119.20000000000073 412.1l85.4-103.7",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"34.354",fill:"none"}},{d:"M244.30000000000018 331.301l-47.1 125.8",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"34.354",fill:"none"}},{d:"M455.5 322l-125.8-47.1",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"34.354",fill:"none"}},{d:"M306.8000000000002 314.5l103.8 85.3",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"34.354",fill:"none"}},{d:"M107 120.801l103.7 85.4",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"34.354",fill:"none"}},{d:"M187.80000000000018 245.801l-125.8-47.2",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"34.354",fill:"none"}}]},"search-outline":{viewBox:"0 0 512 512",paths:[{d:"M221.1 64a156.968 156.968 0 0 0-156.146 141.65 156.972 156.972 0 0 0 125.651 169.29c38.22 7.59 77.896 0.7 111.313-19.35a156.96 156.96 0 0 0 69.488-89.08 157 157 0 0 0-8.336-112.68 157 157 0 0 0-81.841-77.89 157 157 0 0 0-60.129-11.94Z",style:{stroke:"currentcolor",strokeMiterlimit:"10",strokeWidth:"32",fill:"none"}},{d:"M338.3 338.29999999999995L448 448",style:{stroke:"currentcolor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"32",fill:"none"}}]},search:{viewBox:"0 0 512 512",paths:[{d:"M456.7 437.4000000000001l-94.1-94.1a173.25 173.25 0 0 0 34.8-104.6c0-96.3-78.4-174.7-174.7-174.7S48 142.4000000000001 48 238.79999999999973c0 96.3 78.4 174.7 174.7 174.7 37.71 0 74.406-12.21 104.6-34.8l94.1 94.1a24.96 24.96 0 0 0 12.646 6.09c4.711 0.78 9.546 0.19 13.933-1.69a25.05 25.05 0 0 0 10.823-8.94 25 25 0 0 0 4.298-13.36 25.94 25.94 0 0 0-6.4-17.5M97.9 238.79999999999973a124.67 124.67 0 0 1 32.268-83.74 124.674 124.674 0 0 1 166.653-16.49 124.7 124.7 0 0 1 48.049 75.8c6.054 30.36 0.6 61.88-15.299 88.43a124.73 124.73 0 0 1-70.722 55.26c-29.615 9-61.519 6.66-89.507-6.56A124.69 124.69 0 0 1 97.9 238.79999999999973",style:{fill:"currentcolor"}}]},"home-outline":{viewBox:"0 0 512 512",paths:[{d:"M86.89999999999998 228.79999999999995v208.6c0.012 1.99 0.419 3.96 1.196 5.79 0.776 1.84 1.909 3.5 3.331 4.9a15.1 15.1 0 0 0 4.955 3.23c1.849 0.74 3.827 1.11 5.818 1.08H194v-127.5a22.75 22.75 0 0 1 6.804-15.98 22.74 22.74 0 0 1 16.096-6.52h76.5c2.982-0.03 5.939 0.53 8.704 1.65a22.9 22.9 0 0 1 7.409 4.85 22.7 22.7 0 0 1 4.985 7.33 22.7 22.7 0 0 1 1.802 8.67v127.5h91.8c1.99 0.02 3.97-0.34 5.82-1.09 1.84-0.74 3.53-1.84 4.95-3.23s2.55-3.06 3.33-4.89 1.19-3.8 1.2-5.79v-208.6",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}},{d:"M476.29999999999995 270.4000000000001l-210.4-206.9a16.295 16.295 0 0 0-21.5 0l-210.2 206.9",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}}]},home:{viewBox:"0 0 512 512",paths:[{d:"M260.4 99a7.98 7.98 0 0 0-5.55-2.25c-2.072 0-4.063 0.81-5.55 2.25l-184.8 176.5a7.944 7.944 0 0 0-2.5 5.8v165.7a32.14 32.14 0 0 0 9.41 22.69 32.13 32.13 0 0 0 22.69 9.41h96.5a16.1 16.1 0 0 0 11.384-4.72 16.07 16.07 0 0 0 4.716-11.38v-136.5a8.024 8.024 0 0 1 8-8H295a8.024 8.024 0 0 1 8 8v136.5c-0.002 2.12 0.412 4.21 1.22 6.16a16 16 0 0 0 3.49 5.23 16.091 16.091 0 0 0 11.39 4.71h96.4c8.51-0.01 16.67-3.39 22.69-9.41s9.4-14.18 9.41-22.69v-165.7c0-1.09-0.22-2.16-0.65-3.16s-1.06-1.9-1.85-2.64z",style:{fill:"currentcolor"}},{d:"M490.70000000000005 242.4000000000001l-75.1-71.8a943 943 0 0 0-80.3-76.9l-58.1-55.6a31.7 31.7 0 0 0-22.2-8.7 30.5 30.5 0 0 0-22.2 8.7l-213.5 204.3a16.43 16.43 0 0 0-1.3 22.5 16 16 0 0 0 4.938 3.83c1.882 0.95 3.931 1.51 6.03 1.65a15.9 15.9 0 0 0 6.203-0.78c1.996-0.67 3.84-1.72 5.429-3.1l0.6-0.6 208.3-199a7.98 7.98 0 0 1 5.55-2.25c2.072 0 4.063 0.81 5.55 2.25l208.3 199c3.08 2.93 7.18 4.53 11.43 4.45 4.25-0.07 8.3-1.82 11.27-4.85a16.582 16.582 0 0 0-0.9-23.1",style:{fill:"currentcolor"}}]},"discover-outline":{viewBox:"0 0 512 512",paths:[{d:"M448 256c0-106-86-192-192-192s-192 86-192 192 86 192 192 192 192-86 192-192Z",style:{stroke:"currentcolor",strokeMiterlimit:"10",strokeWidth:"32",fill:"none"}},{d:"M350.70000000000005 150.9000000000001l-117.2 46.9a63 63 0 0 0-21.5 14.2 66 66 0 0 0-14.2 21.5l-46.9 117.2a7.95 7.95 0 0 0-0.4 4.6 8.74 8.74 0 0 0 2.2 4.1 7.8 7.8 0 0 0 4.1 2.2c1.54 0.32 3.14 0.18 4.6-0.4l117.2-46.9c8.07-3.2 15.39-8.04 21.5-14.2a66.1 66.1 0 0 0 14.2-21.5l46.9-117.2c0.59-1.46 0.73-3.06 0.4-4.6a8.74 8.74 0 0 0-2.2-4.1 8.1 8.1 0 0 0-8.7-1.8m-94.7 129.1c-4.73 0.01-9.36-1.38-13.3-4a23.3 23.3 0 0 1-8.8-10.8c-1.81-4.4-2.29-9.23-1.4-13.9 0.91-4.67 3.21-8.96 6.6-12.3 2.23-2.23 4.87-4 7.78-5.22 2.91-1.21 6.03-1.83 9.18-1.84 3.16 0 6.28 0.62 9.19 1.82 2.92 1.2 5.57 2.96 7.8 5.19s4 4.87 5.22 7.78c1.21 2.91 1.83 6.03 1.84 9.18 0 3.16-0.62 6.28-1.82 9.19-1.2 2.92-2.96 5.57-5.19 7.8a24.32 24.32 0 0 1-17.1 7.1",style:{fill:"currentcolor"}}]},discover:{viewBox:"0 0 512 512",paths:[{d:"M256 280c5.57 0.02 10.97-1.9 15.28-5.42 4.32-3.53 7.28-8.44 8.37-13.9 1.1-5.46 0.27-11.13-2.34-16.04a24.03 24.03 0 0 0-12-10.91 24.065 24.065 0 0 0-29.24 8.83 24.04 24.04 0 0 0-3.95 15.73 24.03 24.03 0 0 0 6.93 14.66c4.5 4.5 10.59 7.03 16.95 7.05",style:{fill:"currentcolor"}},{d:"M256 48c-114.7 0-208 93.3-208 208s93.3 208 208 208 208-93.3 208-208-93.3-208-208-208m105.1 113.4l-46.9 117.2a63 63 0 0 1-14.2 21.5 66 66 0 0 1-21.5 14.2l-117.2 46.9c-1.46 0.59-3.06 0.73-4.6 0.4a8.74 8.74 0 0 1-4.1-2.2 7.8 7.8 0 0 1-2.2-4.1c-0.32-1.54-0.18-3.14 0.4-4.6l46.9-117.2c3.2-8.07 8.04-15.39 14.2-21.5a66 66 0 0 1 21.5-14.2l117.2-46.9c1.46-0.58 3.06-0.72 4.6-0.4 1.54 0.35 2.96 1.11 4.1 2.2a7.8 7.8 0 0 1 2.2 4.1c0.32 1.54 0.18 3.14-0.4 4.6",style:{fill:"currentcolor"}}]},"library-outline":{viewBox:"0 0 512 512",paths:[{d:"M419.0999999999999 176h-326.3a28.9 28.9 0 0 0-20.43 8.47 28.9 28.9 0 0 0-8.47 20.43V403.20000000000005a28.9 28.9 0 0 0 8.47 20.43 28.9 28.9 0 0 0 20.43 8.47h326.3a28.9 28.9 0 0 0 20.43-8.47A28.9 28.9 0 0 0 448 403.20000000000005v-198.3c0.01-3.8-0.74-7.56-2.19-11.07a29 29 0 0 0-6.26-9.38 29 29 0 0 0-9.38-6.26c-3.51-1.45-7.27-2.2-11.07-2.19Z",style:{stroke:"currentcolor",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}},{d:"M144 80h224",style:{stroke:"currentcolor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"32",fill:"none"}},{d:"M112 128h288",style:{stroke:"currentcolor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"32",fill:"none"}}]},library:{viewBox:"0 0 512 512",paths:[{d:"M368 96h-224c-4.24 0-8.31-1.69-11.31-4.69s-4.69-7.07-4.69-11.31 1.69-8.31 4.69-11.31 7.07-4.69 11.31-4.69h224c4.24 0 8.31 1.69 11.31 4.69s4.69 7.07 4.69 11.31-1.69 8.31-4.69 11.31-7.07 4.69-11.31 4.69",style:{fill:"currentcolor"}},{d:"M400 144h-288c-4.24 0-8.31-1.69-11.31-4.69s-4.69-7.07-4.69-11.31 1.69-8.31 4.69-11.31 7.07-4.69 11.31-4.69h288c4.24 0 8.31 1.69 11.31 4.69s4.69 7.07 4.69 11.31-1.69 8.31-4.69 11.31-7.07 4.69-11.31 4.69",style:{fill:"currentcolor"}},{d:"M419.0999999999999 448h-326.3a45.06 45.06 0 0 1-31.7-13.2 45.04 45.04 0 0 1-13.2-31.7v-198.3a45.06 45.06 0 0 1 13.2-31.7 45.1 45.1 0 0 1 31.7-13.2h326.3a44.48 44.48 0 0 1 31.7 13.2 45.3 45.3 0 0 1 13.2 31.7V403.0999999999999a45.04 45.04 0 0 1-13.2 31.7 45.06 45.06 0 0 1-31.7 13.2",style:{fill:"currentcolor"}}]},"addons-outline":{viewBox:"0 0 512 512",paths:[{d:"M413.6999999999998 246.10000000000014H386c-0.53-0.01-1.03-0.23-1.4-0.6s-0.59-0.87-0.6-1.4v-77.2a38.94 38.94 0 0 0-11.4-27.5 38.94 38.94 0 0 0-27.5-11.4h-77.2c-0.53-0.01-1.03-0.23-1.4-0.6s-0.59-0.87-0.6-1.4v-27.7c0-27.1-21.5-49.9-48.6-50.3-6.57-0.1-13.09 1.09-19.2 3.5a49.6 49.6 0 0 0-16.4 10.7 49.8 49.8 0 0 0-11 16.2 48.9 48.9 0 0 0-3.9 19.2v28.5c-0.01 0.53-0.23 1.03-0.6 1.4s-0.87 0.59-1.4 0.6h-77.2c-10.5 0-20.57 4.17-28 11.6a39.6 39.6 0 0 0-11.6 28v70.4c0.01 0.53 0.23 1.03 0.6 1.4s0.87 0.59 1.4 0.6h26.9c29.4 0 53.7 25.5 54.1 54.8 0.4 29.9-23.5 57.2-53.3 57.2H50c-0.53 0.01-1.03 0.23-1.4 0.6s-0.59 0.87-0.6 1.4v70.4c0 10.5 4.17 20.57 11.6 28s17.5 11.6 28 11.6h70.4c0.53-0.01 1.03-0.23 1.4-0.6s0.59-0.87 0.6-1.4V441.20000000000005c0-30.3 24.8-56.4 55-57.1 30.1-0.7 57 20.3 57 50.3v27.7c0.01 0.53 0.23 1.03 0.6 1.4s0.87 0.59 1.4 0.6h71.1a38.94 38.94 0 0 0 27.5-11.4 38.96 38.96 0 0 0 11.4-27.5v-78c0.01-0.53 0.23-1.03 0.6-1.4s0.87-0.59 1.4-0.6h28.5c27.6 0 49.5-22.7 49.5-50.4s-23.2-48.7-50.3-48.7",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}}]},addons:{viewBox:"0 0 512 512",paths:[{d:"M345.0999999999999 480H274c-2.36 0.01-4.71-0.45-6.89-1.36s-4.16-2.25-5.81-3.94a18 18 0 0 1-5.3-12.7v-27.7c0.03-4.26-0.82-8.48-2.5-12.4a32.3 32.3 0 0 0-7.2-10.4c-7.8-7.6-19.1-11.8-30.9-11.5-21.4 0.5-39.4 19.3-39.4 41.1v20.9c0.01 2.36-0.45 4.71-1.36 6.89s-2.25 4.16-3.94 5.81a18.02 18.02 0 0 1-12.7 5.3h-70.4a55.67 55.67 0 0 1-39.36-16.26 55.64 55.64 0 0 1-16.34-39.34v-70.4a18.1 18.1 0 0 1 5.3-12.7 18.1 18.1 0 0 1 12.7-5.3h27.7c9.2 0 18.1-3.9 25.1-11 3.9-3.92 7-8.58 9.1-13.7a40.7 40.7 0 0 0 3.1-16.2c-0.3-21.2-17.7-39.1-38.1-39.1H50c-2.36 0.01-4.71-0.45-6.89-1.36s-4.16-2.25-5.81-3.94a18 18 0 0 1-5.3-12.7v-70.4a55.8 55.8 0 0 1 4.2-21.3 53.9 53.9 0 0 1 12.1-18 55.7 55.7 0 0 1 39.3-16.3h55.2a8.08 8.08 0 0 0 5.7-2.3c0.74-0.75 1.33-1.64 1.72-2.62 0.4-0.98 0.6-2.02 0.58-3.08v-6.5a64.7 64.7 0 0 1 5.1-25.3 66.6 66.6 0 0 1 14.5-21.4 65.2 65.2 0 0 1 21.7-14.1c8.08-3.2 16.71-4.8 25.4-4.7 35.5 0.6 64.4 30.4 64.4 66.3v5.7a7.8 7.8 0 0 0 1.3 4.48 7.8 7.8 0 0 0 3.62 2.95c0.98 0.39 2.03 0.59 3.08 0.57h55.2c7.21-0.01 14.35 1.42 21 4.2a55 55 0 0 1 29.7 29.7 54.3 54.3 0 0 1 4.2 21v55.2a7.8 7.8 0 0 0 1.3 4.48 7.8 7.8 0 0 0 3.62 2.95c0.98 0.39 2.03 0.59 3.08 0.57h5.7c36.6 0 66.3 29 66.3 64.6 0 36.6-29.4 66.4-65.5 66.4h-6.5c-2.13-0.01-4.17 0.82-5.7 2.3-0.74 0.75-1.33 1.64-1.72 2.62-0.4 0.98-0.6 2.03-0.58 3.08v56c0.01 7.21-1.42 14.35-4.2 21a55 55 0 0 1-29.7 29.7 53.9 53.9 0 0 1-21 4.2",style:{fill:"currentcolor"}}]},"settings-outline":{viewBox:"0 0 512 512",paths:[{d:"M456.6999999999998 242.29999999999995l-26.1-4.2a8.2 8.2 0 0 1-4.4-2.3 8.3 8.3 0 0 1-2.2-4.5c-0.5-3.2-1-6.4-1.7-9.5-0.31-1.66-0.1-3.37 0.6-4.9a8.57 8.57 0 0 1 3.3-3.7l23.1-12.8a7.75 7.75 0 0 0 3.8-4.2c0.68-1.83 0.72-3.84 0.1-5.7l-4-11c-0.68-1.83-2-3.35-3.7-4.3a8 8 0 0 0-5.7-0.7l-25.9 5c-1.69 0.3-3.43 0.09-5-0.6a7.22 7.22 0 0 1-3.6-3.5q-2.25-4.2-4.8-8.4a8.16 8.16 0 0 1-1.2-4.91c0.13-1.73 0.79-3.37 1.9-4.69l17.3-19.9a8.42 8.42 0 0 0 2.2-5.2c0.09-1.98-0.59-3.91-1.9-5.4l-7.5-9a7.87 7.87 0 0 0-5-2.8 7.72 7.72 0 0 0-5.5 1.3l-22.7 13.6a8.14 8.14 0 0 1-4.8 1.1 7.4 7.4 0 0 1-4.6-2c-2.4-2.1-4.9-4.2-7.4-6.2a8.3 8.3 0 0 1-2.7-4.21c-0.45-1.64-0.38-3.39 0.2-4.99l9.4-24.8c0.8-1.81 0.9-3.85 0.29-5.73a8.08 8.08 0 0 0-3.59-4.47l-10.2-5.9a7.83 7.83 0 0 0-5.6-0.9 8.14 8.14 0 0 0-4.8 3.1l-16.6 20.8a6.93 6.93 0 0 1-3.8 2.7 7.63 7.63 0 0 1-4.7-0.2s-5.6-2.3-9.8-3.7a8.17 8.17 0 0 1-3.98-2.97 8.1 8.1 0 0 1-1.52-4.73l0.4-26.4c0.1-1.98-0.5-3.93-1.7-5.5a8.7 8.7 0 0 0-4.9-3l-11.6-2c-1.94-0.29-3.92 0.1-5.6 1.1a8.17 8.17 0 0 0-3.5 4.5l-8.6 25.1c-0.58 1.6-1.62 3-3 4-1.39 1-3.09 1.49-4.8 1.4h-9.8c-1.7 0-3.37-0.49-4.8-1.4a7.88 7.88 0 0 1-3-4l-8.6-25.1a7.9 7.9 0 0 0-3.5-4.5c-1.68-1-3.66-1.39-5.6-1.1l-11.6 2a8.17 8.17 0 0 0-4.9 3 8.36 8.36 0 0 0-1.7 5.5l0.4 26.4c0.01 1.72-0.51 3.39-1.5 4.8a8.5 8.5 0 0 1-4 3c-2.3 0.9-7.3 2.8-9.7 3.7-2.8 1-6.1 0.2-8.8-2.9L167 75.20000000000005a8.14 8.14 0 0 0-4.8-3.1 7.83 7.83 0 0 0-5.6 0.9l-10.2 5.9c-1.71 0.96-3 2.53-3.6 4.4s-0.5 3.9 0.3 5.7l9.4 24.8c0.62 1.6 0.69 3.36 0.2 5a8.33 8.33 0 0 1-2.7 4.2c-2.5 2-5 4.1-7.4 6.2a8.7 8.7 0 0 1-4.6 2c-1.68 0.2-3.38-0.19-4.8-1.1l-22.4-13.8a7.7 7.7 0 0 0-5.5-1.2 8.43 8.43 0 0 0-5 2.8l-7.5 9a8.13 8.13 0 0 0-1.9 5.4c0.07 1.94 0.85 3.8 2.2 5.2l17.3 19.9a7.9 7.9 0 0 1 1.9 4.6c0.11 1.72-0.31 3.43-1.2 4.9q-2.55 4.05-4.8 8.4a7.9 7.9 0 0 1-3.6 3.4c-1.56 0.73-3.3 0.98-5 0.7l-25.9-5a7.74 7.74 0 0 0-5.6 0.7 8.37 8.37 0 0 0-3.8 4.3l-4 11c-0.72 1.84-0.68 3.89 0.1 5.7a8.12 8.12 0 0 0 3.8 4.2l23.1 12.8a7.6 7.6 0 0 1 3.4 3.7c0.71 1.53 0.89 3.26 0.5 4.9-0.6 3.2-1.2 6.3-1.7 9.5-0.21 1.7-0.99 3.29-2.2 4.5a8.2 8.2 0 0 1-4.4 2.3l-26.1 4.2c-1.92 0.24-3.7 1.17-5 2.6a8.65 8.65 0 0 0-2.1 5.3v11.7c-0.01 1.96 0.71 3.86 2.02 5.32a7.95 7.95 0 0 0 5.08 2.58l26.1 4.2a8.2 8.2 0 0 1 4.4 2.3 8.3 8.3 0 0 1 2.2 4.5c0.5 3.2 1 6.4 1.7 9.5 0.31 1.66 0.1 3.37-0.6 4.9a9 9 0 0 1-3.3 3.7l-23.1 12.8a7.75 7.75 0 0 0-3.8 4.2 8.57 8.57 0 0 0-0.1 5.7l4 11c0.68 1.83 2 3.35 3.7 4.3 1.75 0.93 3.78 1.18 5.7 0.7l25.9-5c1.69-0.3 3.43-0.09 5 0.6a7.64 7.64 0 0 1 3.6 3.5q2.25 4.2 4.8 8.4a8.16 8.16 0 0 1 1.2 4.91 8.23 8.23 0 0 1-1.9 4.69l-17.3 20a8.4 8.4 0 0 0-2.2 5.2c-0.09 1.98 0.59 3.91 1.9 5.4l7.5 9a7.87 7.87 0 0 0 5 2.8c1.93 0.28 3.9-0.19 5.5-1.3l22.7-13.6a8.3 8.3 0 0 1 4.8-1.1c1.71 0.16 3.32 0.86 4.6 2 2.4 2.1 4.9 4.2 7.4 6.2a7.87 7.87 0 0 1 2.7 4.2 8.6 8.6 0 0 1-0.2 5l-9.4 24.8c-0.8 1.8-0.9 3.83-0.3 5.7s1.89 3.44 3.6 4.4l10.2 5.9c1.69 0.99 3.69 1.31 5.6 0.9a8.14 8.14 0 0 0 4.8-3.1l16.8-20.6c2.1-2.6 5.5-3.7 8.2-2.6 3.4 1.4 5.7 2.2 9.9 3.6 1.62 0.54 3.03 1.59 4 3 0.99 1.4 1.51 3.08 1.5 4.8l-0.4 26.4c-0.1 1.98 0.5 3.93 1.7 5.5a8.17 8.17 0 0 0 4.9 3l11.6 2c1.94 0.29 3.92-0.1 5.6-1.1a8.17 8.17 0 0 0 3.5-4.5l8.6-25c0.58-1.6 1.62-3 3-4 1.39-1 3.09-1.49 4.8-1.4h9.8c1.7 0 3.37 0.49 4.8 1.4 1.41 0.97 2.46 2.38 3 4l8.6 25a7.9 7.9 0 0 0 3.5 4.5c1.68 1 3.66 1.39 5.6 1.1l11.6-2a8.23 8.23 0 0 0 4.9-3.01 8.16 8.16 0 0 0 1.7-5.49l-0.4-26.4c-0.01-1.72 0.51-3.4 1.5-4.8 1-1.38 2.4-2.42 4-3 4.2-1.4 7-2.5 9.6-3.5a6.835 6.835 0 0 1 8.3 2.1l17 20.9a8.14 8.14 0 0 0 4.8 3.1c1.91 0.41 3.91 0.09 5.6-0.9l10.2-5.9a8.2 8.2 0 0 0 3.6-4.4c0.6-1.87 0.5-3.9-0.3-5.7l-9.4-24.8c-0.62-1.6-0.69-3.36-0.2-5a9 9 0 0 1 2.7-4.2c2.5-2 5-4.1 7.4-6.2a8.7 8.7 0 0 1 4.6-2c1.68-0.2 3.38 0.19 4.8 1.1l22.6 13.7a7.64 7.64 0 0 0 5.5 1.2 8.43 8.43 0 0 0 5-2.8l7.5-9a8.13 8.13 0 0 0 1.9-5.4 7.68 7.68 0 0 0-2.2-5.2l-17.3-19.9a7.9 7.9 0 0 1-1.9-4.6c-0.11-1.72 0.31-3.43 1.2-4.9q2.55-4.05 4.8-8.4c0.83-1.5 2.08-2.71 3.6-3.5 1.56-0.73 3.3-0.98 5-0.7l25.9 5c1.89 0.48 3.89 0.23 5.6-0.7 1.75-0.92 3.1-2.45 3.8-4.3l4-11c0.72-1.84 0.68-3.89-0.1-5.7a8.12 8.12 0 0 0-3.8-4.2l-23.1-12.8a7.64 7.64 0 0 1-3.4-3.7 7.82 7.82 0 0 1-0.5-5c0.6-3.2 1.2-6.3 1.7-9.5 0.21-1.7 0.98-3.29 2.2-4.5a8.2 8.2 0 0 1 4.4-2.3l26.1-4.2c1.92-0.24 3.7-1.17 5-2.6a8.65 8.65 0 0 0 2.1-5.3v-11.7a8.4 8.4 0 0 0-2.2-5.2 8.02 8.02 0 0 0-5-2.5M256 112a143.96 143.96 0 0 1 139.4 108.1c0.58 2.36 0.62 4.82 0.1 7.2-0.52 2.36-1.55 4.57-3 6.5-1.48 1.92-3.4 3.47-5.6 4.5a15.6 15.6 0 0 1-7 1.6h-105.2a16.27 16.27 0 0 1-14-8.1l-52.1-91.7a16.75 16.75 0 0 1-2.1-7c-0.1-2.46 0.31-4.91 1.2-7.2 0.92-2.29 2.4-4.32 4.3-5.9a15.8 15.8 0 0 1 6.4-3.4c12.3-3.03 24.93-4.57 37.6-4.6m-144 144c-0.02-19.28 3.82-38.36 11.31-56.12a143.9 143.9 0 0 1 32.29-47.28c1.77-1.69 3.89-2.99 6.2-3.8a16 16 0 0 1 7.2-0.7c2.44 0.31 4.77 1.2 6.8 2.6 2.01 1.38 3.68 3.19 4.9 5.3l52.2 91.9c1.38 2.4 2.1 5.13 2.1 7.9 0.02 2.77-0.71 5.5-2.1 7.9l-52.7 91.7c-1.2 2.15-2.92 3.97-5 5.3-2.08 1.3-4.39 2.18-6.8 2.6-2.42 0.32-4.89 0.08-7.2-0.7-2.31-0.81-4.43-2.11-6.2-3.8a143.3 143.3 0 0 1-32-47.1 147 147 0 0 1-11-55.7m144 144c-12.89 0.02-25.73-1.62-38.2-4.9-2.38-0.6-4.57-1.77-6.4-3.4a15.65 15.65 0 0 1-4.2-5.9c-0.95-2.28-1.36-4.74-1.2-7.21 0.16-2.46 0.87-4.85 2.1-6.99l52.6-91.5a15.9 15.9 0 0 1 5.87-5.88c2.44-1.41 5.21-2.14 8.03-2.12H380c2.43-0.02 4.82 0.53 7 1.6 3.28 1.61 5.91 4.29 7.45 7.6 1.55 3.31 1.92 7.05 1.05 10.6a144 144 0 0 1-51.24 77.93 143.97 143.97 0 0 1-88.26 30.17",style:{fill:"currentcolor"}}]},"filters-outline":{viewBox:"0 0 512 512",paths:[{d:"M46.5 107.29999999999995l160.3 186.7c2.37 2.76 3.71 6.26 3.8 9.9v113.4c-0.03 1.59 0.45 3.14 1.37 4.44a7.46 7.46 0 0 0 3.73 2.76l76.2 25.3a7.694 7.694 0 0 0 9.6-4.7c0.29-0.8 0.42-1.65 0.4-2.5v-138.8c0.01-3.65 1.36-7.18 3.8-9.9l160.2-186.7c2.29-2.68 3.43-6.17 3.17-9.69s-1.9-6.79-4.57-9.11c-2.39-2.07-5.44-3.2-8.6-3.2h-399.1c-1.75-0.01-3.48 0.33-5.1 0.99-1.62 0.67-3.09 1.64-4.33 2.88a13.3 13.3 0 0 0-2.88 4.33c-0.66 1.62-1 3.35-0.99 5.1a12.1 12.1 0 0 0 3 8.8",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}}]},filters:{viewBox:"0 0 512 512",paths:[{d:"M46.5 107.40000000000009l160.3 186.7c2.37 2.76 3.71 6.26 3.8 9.9v113.4c-0.03 1.59 0.45 3.14 1.37 4.44a7.46 7.46 0 0 0 3.73 2.76l76.2 25.3c1.9 0.61 3.96 0.47 5.75-0.41a7.73 7.73 0 0 0 3.85-4.29c0.29-0.8 0.42-1.65 0.4-2.5V304c0.01-3.65 1.36-7.18 3.8-9.9l160.2-186.7c2.29-2.69 3.43-6.17 3.17-9.69s-1.9-6.79-4.57-9.11a13.07 13.07 0 0 0-8.6-3.2h-399.1c-1.75-0.01-3.48 0.33-5.1 0.99-1.62 0.67-3.09 1.64-4.33 2.88a13.3 13.3 0 0 0-2.88 4.33c-0.66 1.62-1 3.35-0.99 5.1-0.17 3.18 0.9 6.3 3 8.7",style:{fill:"currentcolor"}}]},"calendar-outline":{viewBox:"0 0 512 512",paths:[{d:"M101.30000000000018 81h320a48.003 48.003 0 0 1 48 48v288a48.003 48.003 0 0 1-48 48h-320a48.003 48.003 0 0 1-48-48v-288a48.003 48.003 0 0 1 48-48Z",style:{stroke:"currentcolor",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}},{d:"M301.3000000000002 257c5.95 0.01 11.69-2.2 16.11-6.19 4.41-3.99 7.19-9.48 7.78-15.4 0.59-5.93-1.04-11.86-4.58-16.64a23.9 23.9 0 0 0-14.57-9.25 23.97 23.97 0 0 0-17 2.92 23.983 23.983 0 0 0-9.4 30.8 24.04 24.04 0 0 0 12.48 11.92c2.91 1.21 6.03 1.83 9.18 1.84",style:{fill:"currentcolor"}},{d:"M381.3000000000002 257c5.95 0.01 11.69-2.2 16.11-6.19 4.41-3.99 7.19-9.48 7.78-15.4 0.59-5.93-1.04-11.86-4.58-16.64a23.9 23.9 0 0 0-14.57-9.25 23.97 23.97 0 0 0-17 2.92 23.983 23.983 0 0 0-9.4 30.8 24.04 24.04 0 0 0 12.48 11.92c2.91 1.21 6.03 1.83 9.18 1.84",style:{fill:"currentcolor"}},{d:"M301.3000000000002 337c5.95 0.01 11.69-2.2 16.11-6.19 4.41-3.99 7.19-9.48 7.78-15.4 0.59-5.93-1.04-11.86-4.58-16.64a23.9 23.9 0 0 0-14.57-9.25 23.97 23.97 0 0 0-17 2.92 23.983 23.983 0 0 0-9.4 30.8 24.04 24.04 0 0 0 12.48 11.92c2.91 1.21 6.03 1.83 9.18 1.84",style:{fill:"currentcolor"}},{d:"M381.3000000000002 337c5.95 0.01 11.69-2.2 16.11-6.19 4.41-3.99 7.19-9.48 7.78-15.4 0.59-5.93-1.04-11.86-4.58-16.64a23.9 23.9 0 0 0-14.57-9.25 23.97 23.97 0 0 0-17 2.92 23.983 23.983 0 0 0-9.4 30.8 24.04 24.04 0 0 0 12.48 11.92c2.91 1.21 6.03 1.83 9.18 1.84",style:{fill:"currentcolor"}},{d:"M141.30000000000018 337c5.95 0.01 11.69-2.2 16.11-6.19 4.41-3.99 7.19-9.48 7.78-15.4 0.59-5.93-1.04-11.86-4.58-16.64a23.9 23.9 0 0 0-14.57-9.25 23.97 23.97 0 0 0-17 2.92 23.983 23.983 0 0 0-9.4 30.8 24.04 24.04 0 0 0 12.48 11.92c2.91 1.21 6.03 1.83 9.18 1.84",style:{fill:"currentcolor"}},{d:"M221.30000000000018 337c5.95 0.01 11.69-2.2 16.11-6.19 4.41-3.99 7.19-9.48 7.78-15.4 0.59-5.93-1.04-11.86-4.58-16.64a23.9 23.9 0 0 0-14.57-9.25 23.97 23.97 0 0 0-17 2.92 23.983 23.983 0 0 0-9.4 30.8 24.04 24.04 0 0 0 12.48 11.92c2.91 1.21 6.03 1.83 9.18 1.84",style:{fill:"currentcolor"}},{d:"M141.30000000000018 417c5.95 0.01 11.69-2.2 16.11-6.19 4.41-3.99 7.19-9.48 7.78-15.4 0.59-5.93-1.04-11.86-4.58-16.64a23.9 23.9 0 0 0-14.57-9.25 23.97 23.97 0 0 0-17 2.92 23.983 23.983 0 0 0-9.4 30.8 24.04 24.04 0 0 0 12.48 11.92c2.91 1.21 6.03 1.83 9.18 1.84",style:{fill:"currentcolor"}},{d:"M221.30000000000018 417c5.95 0.01 11.69-2.2 16.11-6.19 4.41-3.99 7.19-9.48 7.78-15.4 0.59-5.93-1.04-11.86-4.58-16.64a23.9 23.9 0 0 0-14.57-9.25 23.97 23.97 0 0 0-17 2.92 23.983 23.983 0 0 0-9.4 30.8 24.04 24.04 0 0 0 12.48 11.92c2.91 1.21 6.03 1.83 9.18 1.84",style:{fill:"currentcolor"}},{d:"M301.3000000000002 417c5.95 0.01 11.69-2.2 16.11-6.19 4.41-3.99 7.19-9.48 7.78-15.4 0.59-5.93-1.04-11.86-4.58-16.64a23.9 23.9 0 0 0-14.57-9.25 23.97 23.97 0 0 0-17 2.92 23.983 23.983 0 0 0-9.4 30.8 24.04 24.04 0 0 0 12.48 11.92c2.91 1.21 6.03 1.83 9.18 1.84",style:{fill:"currentcolor"}},{d:"M133.30000000000018 49v32",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}},{d:"M389.3000000000002 49v32",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}},{d:"M469.3000000000002 161h-416",style:{stroke:"currentcolor",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}}]},calendar:{viewBox:"0 0 512 512",paths:[{d:"M480 128a64.03 64.03 0 0 0-18.76-45.24c-12-12-28.27-18.75-45.24-18.76h-16v-15.6c0-8.6-6.6-16-15.2-16.4-4.24-0.18-8.37 1.31-11.52 4.16a16.13 16.13 0 0 0-5.28 11.04v16.8h-224v-15.6c0-8.6-6.6-16-15.2-16.4-4.24-0.18-8.37 1.31-11.52 4.16a16.13 16.13 0 0 0-5.28 11.04v16.8h-16a64.03 64.03 0 0 0-45.24 18.76c-12 12-18.75 28.27-18.76 45.24v12a4.014 4.014 0 0 0 4 4h440a4.014 4.014 0 0 0 4-4z",style:{fill:"currentcolor"}},{d:"M32 416a64.03 64.03 0 0 0 18.76 45.24c12 12 28.27 18.75 45.24 18.76h320a64.03 64.03 0 0 0 45.24-18.76c12-12 18.75-28.27 18.76-45.24v-237c0.01-0.4-0.06-0.79-0.21-1.16s-0.37-0.7-0.65-0.98-0.61-0.5-0.98-0.65-0.76-0.22-1.16-0.21h-442c-0.4-0.01-0.79 0.06-1.16 0.21s-0.7 0.37-0.98 0.65-0.5 0.61-0.65 0.98-0.22 0.76-0.21 1.16z m344-208a23.97 23.97 0 0 1 16.08 6.24c4.4 4.01 7.15 9.51 7.72 15.43 0.58 5.92-1.08 11.84-4.63 16.61a23.9 23.9 0 0 1-14.59 9.2c-5.84 1.15-11.89 0.09-16.99-2.98-5.1-3.06-8.87-7.92-10.59-13.61a23.94 23.94 0 0 1 1.3-17.21 23.97 23.97 0 0 1 21.7-13.68m0 80a23.97 23.97 0 0 1 16.08 6.24c4.4 4.01 7.15 9.51 7.72 15.43 0.58 5.92-1.08 11.84-4.63 16.61a23.9 23.9 0 0 1-14.59 9.2c-5.84 1.15-11.89 0.09-16.99-2.98-5.1-3.06-8.87-7.92-10.59-13.61a23.94 23.94 0 0 1 1.3-17.21 23.97 23.97 0 0 1 21.7-13.68m-80-80a23.97 23.97 0 0 1 16.08 6.24c4.4 4.01 7.15 9.51 7.72 15.43 0.58 5.92-1.08 11.84-4.63 16.61a23.9 23.9 0 0 1-14.59 9.2c-5.84 1.15-11.89 0.09-16.99-2.98-5.1-3.06-8.87-7.92-10.59-13.61a23.94 23.94 0 0 1 1.3-17.21 23.97 23.97 0 0 1 21.7-13.68m0 80a23.97 23.97 0 0 1 16.08 6.24c4.4 4.01 7.15 9.51 7.72 15.43 0.58 5.92-1.08 11.84-4.63 16.61a23.9 23.9 0 0 1-14.59 9.2c-5.84 1.15-11.89 0.09-16.99-2.98-5.1-3.06-8.87-7.92-10.59-13.61a23.94 23.94 0 0 1 1.3-17.21 23.97 23.97 0 0 1 21.7-13.68m0 80a23.97 23.97 0 0 1 16.08 6.24c4.4 4.01 7.15 9.51 7.72 15.43 0.58 5.92-1.08 11.84-4.63 16.61a23.9 23.9 0 0 1-14.59 9.2c-5.84 1.15-11.89 0.09-16.99-2.98-5.1-3.06-8.87-7.92-10.59-13.61a23.94 23.94 0 0 1 1.3-17.21 23.97 23.97 0 0 1 21.7-13.68m-80-80a23.97 23.97 0 0 1 16.08 6.24c4.4 4.01 7.15 9.51 7.72 15.43 0.58 5.92-1.08 11.84-4.63 16.61a23.9 23.9 0 0 1-14.59 9.2c-5.84 1.15-11.89 0.09-16.99-2.98-5.1-3.06-8.87-7.92-10.59-13.61a23.94 23.94 0 0 1 1.3-17.21 23.97 23.97 0 0 1 21.7-13.68m0 80a23.97 23.97 0 0 1 16.08 6.24c4.4 4.01 7.15 9.51 7.72 15.43 0.58 5.92-1.08 11.84-4.63 16.61a23.9 23.9 0 0 1-14.59 9.2c-5.84 1.15-11.89 0.09-16.99-2.98-5.1-3.06-8.87-7.92-10.59-13.61a23.94 23.94 0 0 1 1.3-17.21 23.97 23.97 0 0 1 21.7-13.68m-80-80a23.97 23.97 0 0 1 16.08 6.24c4.4 4.01 7.15 9.51 7.72 15.43 0.58 5.92-1.08 11.84-4.63 16.61a23.9 23.9 0 0 1-14.59 9.2c-5.84 1.15-11.89 0.09-16.99-2.98-5.1-3.06-8.87-7.92-10.59-13.61a23.94 23.94 0 0 1 1.3-17.21 23.97 23.97 0 0 1 21.7-13.68m0 80a23.97 23.97 0 0 1 16.08 6.24c4.4 4.01 7.15 9.51 7.72 15.43 0.58 5.92-1.08 11.84-4.63 16.61a23.9 23.9 0 0 1-14.59 9.2c-5.84 1.15-11.89 0.09-16.99-2.98-5.1-3.06-8.87-7.92-10.59-13.61a23.94 23.94 0 0 1 1.3-17.21 23.97 23.97 0 0 1 21.7-13.68",style:{fill:"currentcolor"}}]},settings:{viewBox:"0 0 512 512",paths:[{d:"M464 250a10 10 0 0 0-2.9-6.7 10.8 10.8 0 0 0-6.5-3.3l-25.6-4.2a5.87 5.87 0 0 1-3-1.6 5.7 5.7 0 0 1-1.5-3.1c-0.5-3.2-1-6.4-1.7-9.5a5.36 5.36 0 0 1 0.4-3.3 6.63 6.63 0 0 1 2.2-2.5l22.8-12.7c2.26-1.16 4.01-3.12 4.9-5.5 0.93-2.37 0.97-5 0.1-7.4l-3.9-10.9a10.6 10.6 0 0 0-4.8-5.6 10.29 10.29 0 0 0-7.3-0.9l-25.5 5c-1.16 0.18-2.34 0.01-3.4-0.5a5.34 5.34 0 0 1-2.4-2.3q-2.25-4.2-4.8-8.4c-0.6-0.99-0.88-2.14-0.8-3.3 0.07-1.18 0.53-2.3 1.3-3.2l17-19.6c1.69-1.87 2.68-4.28 2.8-6.8 0.08-2.52-0.78-4.97-2.4-6.9l-7.4-8.9a10.3 10.3 0 0 0-13.6-2l-22.4 13.4c-1 0.58-2.15 0.83-3.3 0.7a5.24 5.24 0 0 1-3.1-1.4c-2.5-2.2-5-4.3-7.4-6.2a5.43 5.43 0 0 1-1.9-2.8c-0.28-1.13-0.21-2.31 0.2-3.4l9.3-24.4c0.99-2.33 1.1-4.95 0.31-7.36s-2.43-4.45-4.61-5.74l-10.1-5.9a10.34 10.34 0 0 0-7.3-1.2 9.96 9.96 0 0 0-6.2 4l-16.4 20.5a5.24 5.24 0 0 1-2.5 1.9c-1.02 0.33-2.13 0.26-3.1-0.2-0.6-0.2-5.8-2.4-9.8-3.7a5.5 5.5 0 0 1-2.7-2 5.3 5.3 0 0 1-1-3.2l0.4-26.1c0.15-2.55-0.63-5.08-2.2-7.1-1.55-2.01-3.8-3.36-6.3-3.8l-11.4-2c-2.49-0.4-5.04 0.09-7.2 1.4a10.5 10.5 0 0 0-4.5 5.8l-8.5 24.8a5.12 5.12 0 0 1-2.1 2.7c-0.98 0.64-2.13 0.96-3.3 0.9h-9.8c-1.15 0.04-2.28-0.31-3.2-1-0.97-0.66-1.7-1.6-2.1-2.7l-8.5-24.7c-0.71-2.43-2.32-4.51-4.5-5.8-2.16-1.3-4.71-1.79-7.2-1.4l-11.5 2c-2.48 0.48-4.72 1.83-6.3 3.8a9.97 9.97 0 0 0-2.2 7l0.4 26.2c-0.01 1.19-0.4 2.34-1.1 3.3-0.73 0.91-1.7 1.61-2.8 2-2.3 0.9-7.3 2.8-9.5 3.6-2 0.7-4.2-0.1-5.9-2.1l-16.3-20a9.96 9.96 0 0 0-6.2-4c-2.49-0.5-5.07-0.11-7.3 1.1l-10.1 5.8c-2.23 1.29-3.9 3.35-4.7 5.8-0.82 2.43-0.68 5.08 0.4 7.4l9.2 24.3c0.43 1.09 0.47 2.29 0.1 3.4-0.28 1.1-0.91 2.09-1.8 2.8-2.4 2-4.9 4-7.4 6.2-0.86 0.78-1.94 1.27-3.09 1.4s-2.31-0.12-3.31-0.7l-22.1-13.7a10.68 10.68 0 0 0-7.2-1.6c-2.51 0.36-4.79 1.64-6.4 3.6l-7.4 8.9a10.22 10.22 0 0 0-2.4 6.9c0.1 2.53 1.09 4.94 2.8 6.8l17.1 19.6c0.77 0.9 1.23 2.02 1.3 3.2a5.47 5.47 0 0 1-0.8 3.3c-1.7 2.7-3.3 5.6-4.8 8.4a5.8 5.8 0 0 1-2.5 2.4c-1.05 0.51-2.24 0.69-3.4 0.5l-25.5-4.9a10.2 10.2 0 0 0-7.31 0.91c-2.24 1.2-3.94 3.19-4.79 5.59l-4 10.9c-0.92 2.39-0.88 5.04 0.1 7.4 0.92 2.36 2.66 4.31 4.9 5.5l22.8 12.7c1.01 0.57 1.81 1.45 2.3 2.5 0.49 1.06 0.6 2.27 0.3 3.4l-0.2 1.3c-0.5 2.8-1 5.4-1.5 8.2a5.7 5.7 0 0 1-1.5 3c-0.81 0.84-1.86 1.4-3 1.6l-25.7 4.2c-2.51 0.3-4.82 1.51-6.5 3.4a10.22 10.22 0 0 0-2.6 6.9v11.6c-0.01 2.54 0.91 4.99 2.59 6.89 1.67 1.9 3.99 3.11 6.51 3.41l25.7 4.1c1.15 0.18 2.21 0.75 3 1.6 0.81 0.85 1.33 1.94 1.5 3.1 0.5 3.2 1 6.4 1.7 9.5 0.21 1.15 0.08 2.33-0.4 3.4a6.63 6.63 0 0 1-2.2 2.5l-22.8 12.7a10.2 10.2 0 0 0-4.9 5.5c-0.88 2.38-0.92 5-0.1 7.4l4 10.9a10.6 10.6 0 0 0 4.8 5.6c2.24 1.19 4.84 1.52 7.3 0.9l25.6-4.9c1.16-0.23 2.36-0.05 3.4 0.5 1.02 0.5 1.86 1.3 2.4 2.3q2.25 4.2 4.8 8.4c0.6 0.99 0.88 2.14 0.8 3.3a5.4 5.4 0 0 1-1.3 3.2l-17 19.6a10.312 10.312 0 0 0-0.5 13.8l7.4 8.9a10.3 10.3 0 0 0 13.6 2l22.4-13.4c1-0.58 2.15-0.83 3.3-0.7 1.16 0.11 2.25 0.6 3.1 1.4 2.5 2.2 5 4.3 7.4 6.2 0.92 0.71 1.58 1.69 1.9 2.8 0.32 1.12 0.28 2.3-0.1 3.4l-9.3 24.4c-0.99 2.33-1.1 4.95-0.31 7.36s2.43 4.45 4.61 5.74l10.1 5.8c2.2 1.29 4.8 1.71 7.3 1.2a9.96 9.96 0 0 0 6.2-4l16.6-20.3c1.4-1.7 3.6-2.5 5.2-1.8 3.5 1.4 5.8 2.2 9.9 3.6 1.09 0.37 2.03 1.07 2.7 2a5.3 5.3 0 0 1 1 3.2l-0.4 26.1a11.3 11.3 0 0 0 2.2 7.1c1.55 2.01 3.8 3.36 6.3 3.8l11.4 2c2.49 0.41 5.04-0.09 7.2-1.4 2.18-1.29 3.79-3.37 4.5-5.8l8.5-24.8a5.12 5.12 0 0 1 2.1-2.7c0.95-0.69 2.13-1.01 3.3-0.9h9.8c1.15-0.04 2.28 0.32 3.2 1 0.97 0.66 1.7 1.6 2.1 2.7l8.5 24.7a10.66 10.66 0 0 0 10 7.4c0.6-0.02 1.21-0.08 1.8-0.2l11.5-2c2.49-0.47 4.72-1.82 6.3-3.8a9.97 9.97 0 0 0 2.2-7l-0.4-26.2c-0.04-1.15 0.31-2.28 1-3.2 0.69-0.91 1.63-1.6 2.7-2 3.8-1.3 6.5-2.3 8.9-3.2l0.6-0.2c3.1-1.1 4.6 0.2 5.5 1.3l16.8 20.6a10.28 10.28 0 0 0 13.5 2.8l10.1-5.8a9.95 9.95 0 0 0 4.6-5.7c0.8-2.42 0.7-5.05-0.3-7.4l-9.2-24.3a5.72 5.72 0 0 1-0.2-3.4 4.88 4.88 0 0 1 1.9-2.8c2.4-2 4.9-4 7.4-6.2 0.87-0.76 1.95-1.25 3.1-1.4 1.15-0.12 2.3 0.13 3.3 0.7l22.4 13.4a10.68 10.68 0 0 0 7.2 1.6c2.51-0.36 4.79-1.64 6.4-3.6l7.4-8.9c1.64-1.95 2.5-4.45 2.4-7-0.1-2.53-1.09-4.94-2.8-6.8l-17.1-19.7c-0.76-0.89-1.21-2-1.3-3.17s0.19-2.33 0.8-3.33c1.7-2.7 3.3-5.6 4.8-8.4a6.5 6.5 0 0 1 2.5-2.4c1.05-0.51 2.24-0.69 3.4-0.5l25.5 5c2.46 0.62 5.07 0.3 7.31-0.9s3.95-3.2 4.79-5.6l3.9-10.9c0.92-2.39 0.88-5.04-0.1-7.4-0.92-2.36-2.66-4.31-4.9-5.5l-22.8-12.7a5.57 5.57 0 0 1-2.3-2.5c-0.5-1.06-0.6-2.27-0.3-3.4l0.2-1.3c0.5-2.8 1-5.4 1.5-8.2 0.19-1.13 0.71-2.17 1.5-3 0.81-0.84 1.86-1.4 3-1.6l25.7-4.1c2.51-0.3 4.82-1.51 6.5-3.4 1.69-1.9 2.62-4.36 2.6-6.9v-11.8z m-282.4 94a15.5 15.5 0 0 1-5.1 5.4c-2.1 1.37-4.5 2.23-7 2.5-2.48 0.27-4.99-0.07-7.3-1-2.34-0.9-4.43-2.34-6.1-4.2a135.03 135.03 0 0 1-34.9-90.88 135.02 135.02 0 0 1 35.3-90.72c1.67-1.86 3.76-3.3 6.1-4.2 2.32-0.89 4.83-1.2 7.3-0.9 2.5 0.27 4.9 1.13 7 2.5a16.56 16.56 0 0 1 5.1 5.4l45.6 80.4c1.38 2.41 2.1 5.13 2.1 7.9s-0.72 5.49-2.1 7.9z m74.4 47.2c-9.51 0-19-1-28.3-3a15.52 15.52 0 0 1-11-9.1c-0.97-2.27-1.41-4.73-1.3-7.2 0.13-2.47 0.85-4.87 2.1-7l46-80c1.4-2.4 3.4-4.4 5.8-5.8 2.4-1.39 5.13-2.12 7.9-2.1h92.1c2.47 0.01 4.9 0.59 7.1 1.7a15.9 15.9 0 0 1 5.6 4.7c1.47 2.02 2.46 4.34 2.9 6.8 0.39 2.44 0.22 4.94-0.5 7.3-17.5 54.2-68.4 93.7-128.4 93.7m7.5-163.9L218 147.0999999999999a17.25 17.25 0 0 1-2.1-7c-0.22-3.72 0.91-7.4 3.16-10.37s5.5-5.04 9.14-5.83c9.11-1.91 18.39-2.89 27.7-2.9 60 0 110.9 39.4 128.4 93.8 0.71 2.37 0.88 4.86 0.5 7.3-0.41 2.45-1.4 4.77-2.88 6.77-1.47 1.99-3.4 3.62-5.62 4.73-2.21 1.1-4.63 1.68-7.1 1.7h-92c-2.8 0-5.56-0.72-8-2.1-2.33-1.5-4.28-3.52-5.7-5.9",style:{fill:"currentcolor"}}]},trailer:{viewBox:"0 0 512 512",paths:[{d:"M434.4 215.4000000000001l-270.2 2.1c36.8-14.4 74.6-28.9 112.8-43.5 48.7-18.7 97.4-37.3 143.2-55.4a15.34 15.34 0 0 0 8.092-8.42 15.33 15.33 0 0 0-0.192-11.68l-1.9-4.5a541 541 0 0 0-30.2-67.4 14.75 14.75 0 0 0-7.795-5.46 14.7 14.7 0 0 0-9.505 0.46c-7.2 2.8-64.4 25-129.9 50.2-75.2 29.1-161.2 62.2-194.5 75.2a14.75 14.75 0 0 0-8.037 7.63 14.75 14.75 0 0 0-0.463 11.07c5.3 14.7 8.7 24.1 11.2 30.6a48.86 48.86 0 0 0-14.2 23.9l-0.8 3.7-0.3 1.4a18.4 18.4 0 0 0-0.3 3.2v7.6c0.088 1.45 0.322 2.89 0.7 4.3a50.06 50.06 0 0 0 34.9 39.2c0.2 37.9 0.7 155.2 0.7 177.9 0.005 3.9 1.555 7.63 4.31 10.39a14.76 14.76 0 0 0 10.39 4.31c52.3 0 344.4 1.3 344.4 1.3 3.865 0 7.577-1.52 10.329-4.23a14.7 14.7 0 0 0 4.371-10.27c0-1.7 2.3-168.2 2.3-224.7-0.2-16.7-15.5-18.9-19.4-18.9m-155.8 68.8l23.9-38.5 53.6-0.4-24.1 38.9z m-10.8-38.2l-23.7 38.2h-52.9l23.4-37.9z m-36.5-86c-16.6 6.4-32.9 12.7-49.2 19l6-52.3 49.2-19z m35.2-13.6l-4.4 1.7 6-52.4 50.5-19.4-6.1 52.5z m129.1-49.8c-17 6.7-34.5 13.4-52 20.2l6.1-52.5 27.6-10.6c5.3 11.8 13.2 30.5 18.3 42.9m-312.1 86.6l-5.2-14.1c19.4-7.6 47.4-18.4 78.8-30.5l-6 52.4c-6.4 2.5-12.9 5-19.2 7.5a45.6 45.6 0 0 0-16.213-12.17A45.5 45.5 0 0 0 95.8 182.4000000000001c-0.8 0-1.9 0.2-2.8 0.2-2.642-0.03-5.283 0.13-7.9 0.5-0.535-0.01-1.07 0.02-1.6 0.1M70.6 234.4000000000001l0.6-7c1.493-5.09 4.8-9.46 9.297-12.28a21.72 21.72 0 0 1 15.103-3.02c5.217 0.69 9.978 3.33 13.319 7.4a20.75 20.75 0 0 1 4.681 14.5 19.9 19.9 0 0 1-5.9 12.1 21.95 21.95 0 0 1-14.6 6.6 20.75 20.75 0 0 1-22.2-17.3c-0.06-0.34-0.16-0.68-0.3-1m35.6 46c1-0.3 1.8-0.9 2.8-1.3a47.5 47.5 0 0 0 10.2-4.8l0.2-0.1a52.1 52.1 0 0 0 10.8-9.1c0.3-0.3 0.6-0.5 0.8-0.7s0.7-1 1.1-1.4c0.8-1 1.5-2 2.2-3a46 46 0 0 0 7.2-13l38.4-0.3-23.3 37.6h-50.4z m316 163.7c-54.8-0.2-248.7-1.1-315.2-1.2-0.1-29.5-0.3-88-0.5-129.3h317.4c-0.6 49.6-1.3 104.9-1.7 130.5m1.8-159.9h-57.6l24.2-39.2 33.5-0.3c0.1 11.1-0.1 24.7-0.1 39.5",style:{fill:"currentcolor"}}]},"add-to-library":{viewBox:"0 0 512 512",paths:[{d:"M140.5999999999999 72.5h213c9.1-0.3 16.2-7.3 16-15.8-0.3-8.1-7.3-14.6-16-14.9h-213c-9.1 0.3-16.2 7.3-16 15.8 0.3 8.1 7.3 14.6 16 14.9",style:{fill:"currentcolor"}},{d:"M116.79999999999995 118.59999999999991h255.1c8.9 0 16.1-6.9 16.1-15.3 0-8.5-7.2-15.3-16.1-15.3H116.79999999999995c-8.9 0-16.1 6.9-16.1 15.3 0.1 8.4 7.3 15.3 16.1 15.3",style:{fill:"currentcolor"}},{d:"M391.29999999999995 311.5999999999999h-40.8v-40.7c0-3.66-1.454-7.17-4.042-9.76a13.8 13.8 0 0 0-9.758-4.04c-3.66 0-7.17 1.45-9.758 4.04a13.8 13.8 0 0 0-4.042 9.76v40.7h-40.7c-3.66 0-7.17 1.45-9.758 4.04a13.81 13.81 0 0 0 0 19.52 13.8 13.8 0 0 0 9.758 4.04h40.7v40.7c0 3.66 1.454 7.17 4.042 9.76a13.8 13.8 0 0 0 9.758 4.04c3.66 0 7.17-1.45 9.758-4.04a13.8 13.8 0 0 0 4.042-9.76v-40.7h40.8a13.8 13.8 0 0 0 13.8-13.8 13.8 13.8 0 0 0-13.8-13.8",style:{fill:"currentcolor"}},{d:"M424.0999999999999 210.5999999999999v-30a47.6 47.6 0 0 0-13.93-33.57 47.6 47.6 0 0 0-33.57-13.93H98.49999999999989a47.528 47.528 0 0 0-47.5 47.5v179a47.557 47.557 0 0 0 47.5 47.5h119a144.4 144.4 0 0 0 45.184 42.53 144.3 144.3 0 0 0 58.863 19.65 144.4 144.4 0 0 0 61.673-6.86 144.3 144.3 0 0 0 53.1-32.11 144.3 144.3 0 0 0 34.73-51.43 144.3 144.3 0 0 0 9.95-61.25c-1.17-20.9-6.86-41.29-16.68-59.77a144.5 144.5 0 0 0-40.22-47.26m-325.6 165.8a16.93 16.93 0 0 1-11.94-4.96 16.94 16.94 0 0 1-4.96-11.94v-179a16.94 16.94 0 0 1 4.96-11.94 16.93 16.93 0 0 1 11.94-4.96h278.1a16.93 16.93 0 0 1 16.9 16.9v12a144.25 144.25 0 0 0-82.717-9.45 144.29 144.29 0 0 0-115.109 110.31 144.3 144.3 0 0 0 5.926 83.04z m238.3 66a116.8 116.8 0 0 1-46.637-9.74 116.8 116.8 0 0 1-38.863-27.56l-4.5-5.5a122.5 122.5 0 0 1-13.5-20.7l-1.3-2.5h-0.5a117.002 117.002 0 0 1 27.188-138.12 117.006 117.006 0 0 1 187.392 45.29 117.03 117.03 0 0 1 3.18 74.15 117.02 117.02 0 0 1-112.46 84.68",style:{fill:"currentcolor"}}]},"remove-from-library":{viewBox:"0 0 512 512",paths:[{d:"M391.20000000000005 311.5999999999999h-109.1a13.8 13.8 0 0 0-13.8 13.8 13.8 13.8 0 0 0 13.8 13.8h109.1a13.8 13.8 0 0 0 13.8-13.8 13.8 13.8 0 0 0-13.8-13.8",style:{fill:"currentcolor"}},{d:"M424.0999999999999 210.5999999999999v-30a47.523 47.523 0 0 0-47.5-47.5h-278.1a47.6 47.6 0 0 0-33.57 13.93 47.6 47.6 0 0 0-13.93 33.57v179a47.6 47.6 0 0 0 13.93 33.57c8.9 8.9 20.98 13.91 33.57 13.93h119c11.8 17.28 27.22 31.8 45.18 42.53a144.3 144.3 0 0 0 58.87 19.65c20.81 2.21 41.85-0.13 61.67-6.86a144.3 144.3 0 0 0 53.1-32.11 144.3 144.3 0 0 0 34.73-51.43 144.3 144.3 0 0 0 9.95-61.25c-1.17-20.9-6.86-41.29-16.68-59.77a144.5 144.5 0 0 0-40.22-47.26m-325.6 165.8a16.93 16.93 0 0 1-16.9-16.9v-179a16.93 16.93 0 0 1 16.9-16.9h278.1a16.93 16.93 0 0 1 16.9 16.9v12a144.24 144.24 0 0 0-82.72-9.45c-27.9 5.04-53.7 18.19-74.17 37.81a144.33 144.33 0 0 0-40.94 72.5 144.36 144.36 0 0 0 5.93 83.04z m238.2 66c-16.05-0.01-31.93-3.32-46.64-9.74a116.8 116.8 0 0 1-38.86-27.56l-4.5-5.5c-5.19-6.43-9.71-13.36-13.5-20.7l-1.3-2.5h-0.5a116.9 116.9 0 0 1-10.51-67.04c3.2-22.89 13.12-44.32 28.51-61.58a116.8 116.8 0 0 1 57.91-35.36c22.38-5.81 45.97-4.84 67.8 2.76a116.96 116.96 0 0 1 54.84 39.97 116.97 116.97 0 0 1 23.39 63.7c1.32 23.08-4.22 46.04-15.94 65.96a116.9 116.9 0 0 1-49.9 45.99 115.34 115.34 0 0 1-50.8 11.6",style:{fill:"currentcolor"}},{d:"M140.5999999999999 72.5h213c9.1-0.3 16.2-7.3 16-15.8-0.3-8.1-7.3-14.6-16-14.9h-213c-9.1 0.3-16.2 7.3-16 15.8 0.3 8.1 7.3 14.6 16 14.9",style:{fill:"currentcolor"}},{d:"M116.79999999999995 118.59999999999991H372c8.9 0 16.1-6.9 16.1-15.3 0-8.5-7.2-15.3-16.1-15.3h-255.1c-8.9 0-16.1 6.9-16.1 15.3s7.2 15.3 16 15.3",style:{fill:"currentcolor"}}]},details:{viewBox:"0 0 512 512",paths:[{d:"M413.9000000000001 80h-315.6a53.4 53.4 0 0 0-37.66 15.64 53.4 53.4 0 0 0-15.64 37.66v246.2a53.4 53.4 0 0 0 15.64 37.66 53.4 53.4 0 0 0 37.66 15.64h315.6a53.4 53.4 0 0 0 37.66-15.64 53.4 53.4 0 0 0 15.64-37.66v-246.2a53.45 53.45 0 0 0-15.66-37.64 53.45 53.45 0 0 0-37.64-15.66m19.8 299.5a19.84 19.84 0 0 1-19.8 19.8h-315.6a19.84 19.84 0 0 1-19.8-19.8v-246.2a19.84 19.84 0 0 1 19.8-19.8h315.6a19.84 19.84 0 0 1 19.8 19.8z",style:{fill:"currentcolor"}},{d:"M128.70000000000005 184.5999999999999h204.6a16.55 16.55 0 0 0 10.95-5.21c2.86-3.07 4.45-7.1 4.45-11.29s-1.59-8.22-4.45-11.29a16.55 16.55 0 0 0-10.95-5.21h-204.6c-4.18 0.29-8.1 2.15-10.95 5.21-2.86 3.07-4.45 7.1-4.45 11.29s1.59 8.22 4.45 11.29c2.85 3.06 6.77 4.92 10.95 5.21",style:{fill:"currentcolor"}},{d:"M218.4000000000001 299.1999999999998h-89.7c-4.19 0.29-8.11 2.16-10.98 5.23a16.595 16.595 0 0 0 0 22.64c2.87 3.07 6.79 4.94 10.98 5.23h87.8c4.19-0.29 8.11-2.16 10.98-5.23 2.86-3.07 4.46-7.12 4.46-11.32s-1.6-8.24-4.46-11.32a16.6 16.6 0 0 0-10.98-5.23",style:{fill:"currentcolor"}},{d:"M335.4000000000001 223.4000000000001h-206.7c-4.19 0.29-8.11 2.16-10.98 5.23a16.595 16.595 0 0 0 0 22.64c2.87 3.07 6.79 4.94 10.98 5.23h205.1c4.19-0.29 8.11-2.16 10.98-5.23s4.46-7.12 4.46-11.32-1.59-8.24-4.46-11.32a16.6 16.6 0 0 0-10.98-5.23",style:{fill:"currentcolor"}}]},memory:{viewBox:"0 0 512 512",paths:[{d:"M436.9000000000001 143.0999999999999l-59.9-59.9a38.56 38.56 0 0 0-27.6-11.4h-213.2a52.036 52.036 0 0 0-52 52v260.1a52.036 52.036 0 0 0 52 52h260.1a52.036 52.036 0 0 0 52-52v-213.2c0.02-5.13-0.97-10.21-2.93-14.94a38.8 38.8 0 0 0-8.47-12.66m-281.2-6.3h143a6.46 6.46 0 0 1 4.6 1.9c0.6 0.6 1.08 1.32 1.41 2.11 0.32 0.79 0.49 1.64 0.49 2.49v39c0 0.85-0.17 1.7-0.49 2.49a6.53 6.53 0 0 1-3.52 3.52c-0.79 0.32-1.64 0.49-2.49 0.49h-143c-0.85 0-1.7-0.17-2.49-0.49a6.53 6.53 0 0 1-3.52-3.52c-0.32-0.79-0.49-1.64-0.49-2.49v-39c0-0.85 0.17-1.7 0.49-2.49a6.45 6.45 0 0 1 2.39-2.92 6.55 6.55 0 0 1 3.62-1.09m113.6 260.1c-12.85 0.6-25.58-2.62-36.6-9.25a65.06 65.06 0 0 1-25.29-28.03 65.06 65.06 0 0 1-5.46-37.35 65.04 65.04 0 0 1 16.22-34.09 64.993 64.993 0 0 1 70.12-17.4 64.93 64.93 0 0 1 30.27 22.55 64.95 64.95 0 0 1 12.64 35.57c0.1 2 0.1 4.1 0 6.1a65.05 65.05 0 0 1-18.99 42.91 65.12 65.12 0 0 1-42.91 18.99",style:{fill:"currentcolor"}}]},"play-outline":{viewBox:"0 0 512 512",paths:[{d:"M133.49999999999994 106.60000000000036V401.3000000000002c0 17.7 15.1 29 27.6 20.5l220.5-150.7c8.8-6.9 10.7-20.2 4.2-29.7a22.2 22.2 0 0 0-4.2-4.5l-220.5-150.8c-12.5-8.5-27.6 2.9-27.6 20.5Z",style:{stroke:"currentcolor",strokeMiterlimit:"10",strokeWidth:"36.752",fill:"none"}}]},play:{viewBox:"0 0 512 512",paths:[{d:"M396.09999999999997 246.09999999999945l-231.9-160.6c-1.443-1-3.07-1.71-4.787-2.08a13.3 13.3 0 0 0-5.219-0.08 13.32 13.32 0 0 0-8.594 5.56 13.7 13.7 0 0 0-2.4 7.6v321.4c0.003 1.75 0.352 3.49 1.028 5.11a13.2 13.2 0 0 0 2.91 4.32 13.2 13.2 0 0 0 4.346 2.88c1.624 0.66 3.363 1 5.116 0.99 2.723 0.02 5.383-0.82 7.6-2.4L396.09999999999997 268.1999999999998c1.448-1 2.684-2.27 3.639-3.74a13.4 13.4 0 0 0 1.925-4.85 13.35 13.35 0 0 0-2.164-10.01 13.7 13.7 0 0 0-3.4-3.4z",style:{fill:"currentcolor"}}]},"external-player":{viewBox:"0 0 512 512",paths:[{d:"M433.8000000000002 255.80000000000018c0.1 25.8 0 51.6 0.1 77.5z",style:{fill:"currentcolor"}},{d:"M469.3000000000002 137.30000000000018c0-11.6-4.5-20.1-14.2-26.6-4.7-3.2-10.3-4.7-17-4.7h-364a30.06 30.06 0 0 0-17 4.7c-9.7 6.5-14.2 15-14.2 26.6v0.1c0.1 38.2 0.13 76.4 0.1 114.6v74.7c0 16.3 0 32.5-0.1 48.8-0.04 2.02 0.16 4.03 0.6 6 0.84 4.75 2.84 9.21 5.82 13s6.86 6.78 11.28 8.7c1.66 0.69 3.36 1.25 5.1 1.7 2.57 0.72 5.23 1.09 7.9 1.1h46.7l14.8-34.8-33.4-0.2c-3.9 0-7.9-0.1-11.9 0.1-4.2 0.2-10.5 0.4-11.3-6.7-0.09-0.8-0.12-1.6-0.1-2.4v-212.1c0-2.4 0-5 2.1-7.1s4.8-2.1 7.1-2l34.7 0.2h268.1l34.7-0.2c2.3 0 5 0 7.1 2 2.1 2.1 2.1 4.8 2.1 7.1v212.2c0.02 0.8-0.01 1.6-0.1 2.4-0.9 7.2-7.1 6.9-11.3 6.7-3.9-0.2-7.9-0.1-11.9-0.1l-26.7 0.2 16 34.8h38.7c2.67-0.07 5.32-0.44 7.9-1.1 1.76-0.38 3.47-0.95 5.1-1.7 4.43-1.91 8.31-4.9 11.3-8.69 2.98-3.78 4.98-8.26 5.8-13.01 0.48-1.96 0.68-3.98 0.6-6-0.1-16-0.1-32-0.1-48v-75.5c0-38.2-0.1-76.4 0.1-114.6-0.4-0.1-0.4-0.2-0.4-0.2",style:{fill:"currentcolor"}},{d:"M339 336.8000000000002c-4.8-15.3-4.9-15.3-20.8-14.4h-0.5c-2.9 0-4.4 1-3.6 4.3 1.1 4.6-1 8.1-4.4 11.1-4.8 4.2-10.5 6.6-16.5 8.4-17.9 5.4-36.1 5.7-54.3 2.9-10.1-1.6-20.1-4-28.4-10.8-3-2.5-5.2-5.3-5.3-9.3-0.1-6.6-0.1-6.6-7.1-6.6-1.67 0.1-3.33 0.1-5 0-5.6-0.4-8.6 2.1-10.2 7.4-5.9 19.6-12.2 39.1-18.2 58.7a41.4 41.4 0 0 0-2 9.8c-0.3 4.1 1.4 6.7 6 6.9 4.5 0.1 9 0.7 13.6 0.7 26 0.1 52.1 0 78.1 0 27.5 0 55.1 0.1 82.6 0 14.6-0.1 16.6-2.9 12.3-16.8-5.3-17.4-10.8-34.8-16.3-52.3",style:{fill:"currentcolor"}},{d:"M226.0999999999999 258.0999999999999c-2.9 10-5.9 20-8.9 29.9-2.3 7.4-1.3 10.1 5.7 13.7 3 1.46 6.11 2.7 9.3 3.7a76.7 76.7 0 0 0 27.4 3.1c3.7 0.17 7.4 0.13 11.1-0.1 10.2-1 20.4-2.4 29.2-8.3 2.6-1.7 5.1-3.9 4.1-7.4-3.4-11.9-7.1-23.8-10.7-35.7-0.5-1.6-1-2.7-3.2-1.6-14.1 6.8-29 6.2-43.9 4.7-5.2-0.5-10.5-1.2-14.9-4.1-3.3-2-4.2-1.1-5.2 2.1",style:{fill:"currentcolor"}},{d:"M276.6999999999998 216.4000000000001c3.1-0.8 3.9-2.7 2.9-5.7-1.7-5.3-3.1-10.6-4.8-15.9-3.1-9.5-4.6-10.5-14.4-10.5-10.6 0-12.7 1.5-15.7 11.6-1.5 5-2.9 10-4.5 14.9-0.9 2.8-0.1 4.6 2.7 5.4a67.76 67.76 0 0 0 33.8 0.2",style:{fill:"currentcolor"}}]},"series-outline":{viewBox:"0 0 512 512",paths:[{d:"M462.6999999999998 132.59999999999945c-7.8-5.5-16.7-6.3-25.7-6.3h-150.8c-3.4 0-7 0.9-11.3-1.8 12.7-13.4 24.9-26.2 37-39.1 8.4-8.9 16.8-17.7 25-26.7 4.5-5 6.6-10.7 1.1-16.2s-11-3.1-16 1.4c-1.5 1.4-2.9 2.9-4.3 4.3-18.2 19.1-36.5 38.2-54.4 57.6-4.7 5-8.1 6.5-13 0.5-4.7-5.6-10-10.5-15-15.8-14.9-15.5-29.6-31.1-44.6-46.6-4.4-4.7-9.5-7.3-15.3-2.3s-4.7 10.8-0.4 16.2c1.9 2.2 3.8 4.4 5.9 6.4 17 17.9 34.1 35.7 51 53.8 1.8 1.9 5.8 3.6 4.2 6.8-1.4 2.8-5.3 1.5-8.1 1.5h-152.5c-27.5 0.1-39.9 12.7-39.9 40.1v233.6c0 27.6 12.3 40 39.7 40h360.8c5.23-0.02 10.45-0.49 15.6-1.4a30.17 30.17 0 0 0 17.24-10.28c4.4-5.29 6.86-11.93 6.96-18.82 0.1-84 0.1-167.97 0-251.9 0.4-11-4.6-18.9-13.2-25m-101.1 243.1a28.04 28.04 0 0 1-8.21 19.79 28.04 28.04 0 0 1-19.79 8.21h-230.6a28.04 28.04 0 0 1-19.79-8.21 28.04 28.04 0 0 1-8.21-19.79V188.39999999999964c0.01-7.42 2.96-14.54 8.21-19.79s12.37-8.2 19.79-8.21h230.6c7.42 0.01 14.54 2.96 19.79 8.21s8.2 12.37 8.21 19.79z m58.3-103.7c-5.7-0.12-11.13-2.4-15.22-6.37-4.08-3.97-6.5-9.34-6.78-15.03a21.32 21.32 0 0 1 6.1-15.11c3.96-4.04 9.35-6.33 15-6.39h0.4c12.9-0.1 21.4 8.1 21.5 20.8a21.69 21.69 0 0 1-21 22.1m-0.5-67.5a21.525 21.525 0 0 1-19.88-13.27 21.5 21.5 0 0 1-1.22-12.43c0.83-4.18 2.87-8.01 5.88-11.02s6.84-5.05 11.02-5.88a21.5 21.5 0 0 1 12.43 1.22c3.93 1.63 7.29 4.39 9.65 7.93a21.55 21.55 0 0 1 3.62 11.95 21.18 21.18 0 0 1-5.88 14.99 21.2 21.2 0 0 1-14.72 6.51z",style:{fill:"currentcolor"}}]},series:{viewBox:"0 0 512 512",paths:[{d:"M462.6999999999998 132.59999999999945c-7.8-5.5-16.7-6.3-25.7-6.3h-150.8c-3.4 0-7 0.9-11.3-1.8 12.7-13.4 24.9-26.2 37-39.1 8.4-8.9 16.8-17.7 25-26.7 4.5-5 6.6-10.7 1.1-16.2s-11-3.1-16 1.4c-1.5 1.4-2.9 2.9-4.3 4.3-18.2 19.1-36.5 38.2-54.4 57.6-4.7 5-8.1 6.5-13 0.5-4.7-5.6-10-10.5-15-15.8-14.9-15.5-29.6-31.1-44.6-46.6-4.4-4.7-9.5-7.3-15.3-2.3s-4.7 10.8-0.4 16.2c1.9 2.2 3.8 4.4 5.9 6.4 17 17.9 34.1 35.7 51 53.8 1.8 1.9 5.8 3.6 4.2 6.8-1.4 2.8-5.3 1.5-8.1 1.5h-152.5c-27.5 0.1-39.9 12.7-39.9 40.1v233.6c0 27.6 12.3 40 39.7 40h360.8c5.23-0.02 10.45-0.49 15.6-1.4a30.1 30.1 0 0 0 17.24-10.28c4.4-5.29 6.86-11.93 6.96-18.82 0.1-84 0.1-167.97 0-251.9 0.4-11-4.6-18.9-13.2-25m-101.1 243.1a28.04 28.04 0 0 1-8.21 19.79 28.04 28.04 0 0 1-19.79 8.21h-230.6a28.04 28.04 0 0 1-19.79-8.21 28.04 28.04 0 0 1-8.21-19.79v-187.3c0.01-7.42 2.96-14.54 8.21-19.79s12.37-8.2 19.79-8.21h230.6c7.42 0.01 14.54 2.96 19.79 8.21s8.2 12.37 8.21 19.79z m58.3-103.7a22.48 22.48 0 0 1-15.22-6.37c-4.08-3.97-6.5-9.34-6.78-15.03a21.32 21.32 0 0 1 6.1-15.11c3.96-4.03 9.35-6.33 15-6.39h0.4c12.9-0.1 21.4 8.1 21.5 20.8a21.687 21.687 0 0 1-21 22.1m-0.5-67.5c-4.25 0-8.41-1.26-11.95-3.62a21.45 21.45 0 0 1-7.91-9.65 21.47 21.47 0 0 1 4.66-23.43 21.47 21.47 0 0 1 23.43-4.66 21.493 21.493 0 0 1 13.27 19.86c0.09 5.58-2.02 10.96-5.88 14.99a21.2 21.2 0 0 1-14.72 6.51z",style:{fill:"currentcolor"}},{d:"M115.79999999999973 185.19999999999982h208s12 0 12 12v169s0 12-12 12h-208s-12 0-12-12v-169s0-12 12-12",style:{fill:"currentcolor"}}]},megaphone:{viewBox:"0 0 512 512",paths:[{d:"M374.1700000000001 66.3100000000004s-74.52 92.73-144.69 92.73h-137.86c-3.68 0-7.2 1.46-9.81 4.06-2.6 2.6-4.06 6.13-4.06 9.81v82.8c0.04 3.64 1.53 7.13 4.12 9.68 2.6 2.56 6.1 3.99 9.75 3.98h137.86c70.17 0 144.69 93.36 144.69 93.36 5.38 6.83 20.69 2.07 20.69-8.49V74.80000000000018c0-10.77-14.48-16.36-20.69-8.49",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"16",fill:"none"}},{d:"M77.76000000000022 241.84000000000015s-13.67-5.17-13.67-27.53 13.67-27.53 13.67-27.53",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"16",fill:"none"}},{d:"M408.7399999999998 233.35000000000036c5.01-1.71 9.15-5.3 11.55-10.02a20.34 20.34 0 0 0 1.28-15.23 20.8 20.8 0 0 0-4.94-7.89 20.8 20.8 0 0 0-7.89-4.94",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"16",fill:"none"}},{d:"M243.55000000000018 160.48999999999978v104.74",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"16",fill:"none"}},{d:"M116.46000000000004 160.48999999999978v104.74",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"16",fill:"none"}},{d:"M146.89000000000033 269.3699999999999v144.9c-0.01 1.35 0.38 2.68 1.13 3.81a6.73 6.73 0 0 0 3.08 2.52c0.83 0.34 1.72 0.51 2.62 0.5h45.54c1.82 0 3.63-0.36 5.31-1.05 1.69-0.7 3.22-1.72 4.5-3.01a13.815 13.815 0 0 0 4.06-9.81c0-1.34-0.21-2.66-0.62-3.93-7.25-23.19-24.22-49.27-24.22-92.53h13.66c3.65 0.01 7.15-1.42 9.75-3.98 2.59-2.56 4.08-6.04 4.12-9.68v-13.87c0.01-3.65-1.42-7.15-3.98-9.74-2.56-2.6-6.04-4.08-9.68-4.13h-13.87",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"16",fill:"none"}}]},"channels-outline":{viewBox:"0 0 512 512",paths:[{d:"M196.19999999999982 301.1999999999998v-126.9c-0.01-2.72 0.79-5.38 2.29-7.65a13.7 13.7 0 0 1 6.15-5.09c1.67-0.69 3.45-1.05 5.26-1.06 2.34 0.02 4.64 0.6 6.7 1.7l114.2 63.4c2.98 1.62 5.24 4.29 6.37 7.49 1.12 3.19 1.01 6.69-0.3 9.82-1.2 2.88-3.34 5.28-6.07 6.79l-114.2 63.5a13.7 13.7 0 0 1-6.85 1.77 13.64 13.64 0 0 1-6.81-1.89 13.6 13.6 0 0 1-4.96-5.04 13.64 13.64 0 0 1-1.78-6.84",style:{fill:"currentcolor"}},{d:"M411.2999999999997 438.7999999999993h-301.9a14.714 14.714 0 0 1-10.02-24.89c2.63-2.74 6.22-4.36 10.02-4.51h301.9a14.714 14.714 0 0 1 14.12 14.7 14.714 14.714 0 0 1-14.12 14.7",style:{fill:"currentcolor"}},{d:"M456.39999999999964 387h-389.9c-5.11 0-10.17-1.01-14.89-2.96a38.8 38.8 0 0 1-12.62-8.43c-3.61-3.61-6.48-7.9-8.43-12.62a38.8 38.8 0 0 1-2.96-14.89V127.39999999999964c0-5.11 1-10.17 2.96-14.89 1.95-4.72 4.82-9.01 8.43-12.62s7.9-6.48 12.62-8.43c4.72-1.96 9.78-2.96 14.89-2.96h389.9c5.11 0 10.17 1 14.89 2.96 4.72 1.95 9.01 4.82 12.62 8.43s6.48 7.9 8.43 12.62 2.96 9.78 2.96 14.89v220.7a38.99 38.99 0 0 1-11.41 27.49 38.99 38.99 0 0 1-27.49 11.41m-390-273.3a13.826 13.826 0 0 0-13.8 13.8v220.6a13.826 13.826 0 0 0 13.8 13.8h389.9a13.826 13.826 0 0 0 13.8-13.8V127.39999999999964a13.826 13.826 0 0 0-13.8-13.8h-389.9z",style:{fill:"currentcolor"}}]},channels:{viewBox:"0 0 512 512",paths:[{d:"M456.39999999999964 387h-389.9c-5.11 0-10.17-1-14.89-2.96a38.8 38.8 0 0 1-12.62-8.43c-3.61-3.61-6.48-7.9-8.43-12.62a38.8 38.8 0 0 1-2.96-14.89v-220.7c0-5.11 1-10.17 2.96-14.89 1.95-4.72 4.82-9.01 8.43-12.62s7.9-6.48 12.62-8.43 9.78-2.96 14.89-2.96h389.9c5.11 0 10.17 1.01 14.89 2.96s9.01 4.82 12.62 8.43 6.48 7.9 8.43 12.62 2.96 9.78 2.96 14.89v220.7a38.99 38.99 0 0 1-11.41 27.49 38.95 38.95 0 0 1-27.49 11.41m-246.5-226.5c-1.81 0.01-3.59 0.37-5.26 1.06a13.76 13.76 0 0 0-8.44 12.74V301.1999999999998c-0.03 3.62 1.39 7.11 3.93 9.69s6 4.05 9.62 4.08h0.12c2.36 0 4.68-0.61 6.73-1.77l114.2-63.5c1.76-0.96 3.29-2.3 4.48-3.92a13.7 13.7 0 0 0 2.4-5.44 13.775 13.775 0 0 0-2.76-11.29 13.7 13.7 0 0 0-4.12-3.45l-114.2-63.4c-2.06-1.1-4.36-1.68-6.7-1.7",style:{fill:"currentcolor"}},{d:"M411.2999999999997 438.8000000000002h-301.9a14.714 14.714 0 0 1-10.02-24.89c2.63-2.74 6.22-4.36 10.02-4.51h301.9a14.714 14.714 0 0 1 14.12 14.7 14.714 14.714 0 0 1-14.12 14.7",style:{fill:"currentcolor"}}]},actors:{viewBox:"0 0 512 512",paths:[{d:"M124.17000000000007 327.6899999999996c6.86 5.15 11.74 11.66 15.82 21.09 18.83 43.43 50.67 70.54 94.62 80.59 7.65 1.77 15.47 2.68 23.32 2.69 24.09 0 47.93-8.91 70.88-26.51 21.43-16.45 36.82-37.04 45.74-61.22 2.7-7.33 7.55-11.59 12.7-15.66 18.39-14.55 27.28-32.6 27.18-55.21-0.04-9.34-3.02-16.56-9.1-22.07-7.73-7.01-7.57-15.18-6.78-20.72l1.25-8.52c1.73-11.54 3.36-22.46 3.89-33.66 1.64-34.48-11.66-64.68-40.65-92.32-20.77-19.79-44.89-32.92-73.73-40.17a290 290 0 0 0-38.25-2.9c-11.09 0-20.06 0.94-26.69 2.76-43.19 11.92-74.96 33.83-97.15 66.99-12.92 19.32-18.37 42.71-16.63 71.49 0.5 8.2 1.43 16.62 2.34 24.76 0.42 3.83 0.84 7.66 1.23 11.5 0.42 4.06 1.26 12.52-5.82 19.57-11.86 11.8-13.78 25.81-6.45 46.87a63.98 63.98 0 0 0 22.28 30.65m-6.31-56.48c1.71-9.23 6.87-15.63 14.54-18.03 2.29-0.72 3.07-0.96 2.74-5.89-0.99-14.88 2.68-29 6.81-42.05a57.05 57.05 0 0 1 18.62-27.69c1.98-1.62 5.08-3.76 9.05-3.76 2.43 0 8.4 0.94 11.04 9.58 5.61 18.23 18.48 29.23 44.43 37.93 8.46 2.9 17.34 4.41 26.29 4.46 1.61 0 3.22-0.05 4.84-0.15 2.57-0.12 5.12-0.48 7.62-1.09-4.6-6.61-9.52-19.95-9.19-25.5l1.34-21.69 13.25 17.23c12.2 15.84 29.57 19.97 46.54 22.07 3.67 0.45 7.36 0.67 11.05 0.67 10.48 0 20.9-1.6 33.33-3.99 2.11-0.47 4.25-0.74 6.41-0.8 11.66 0 11.8 11.65 11.84 15.49 0.08 8.44-0.14 15.99-0.72 23.06-0.04 0.36-0.05 0.73-0.02 1.09 0.33 0.21 0.67 0.4 1.03 0.55 13.8 6.31 18.79 15.72 16.2 30.5-2.53 14.44-8.53 34.72-31.26 44.02-0.62 1.07-1.1 2.21-1.42 3.41l-0.65 1.94c-7.4 20.71-17.77 37.17-31.73 50.32-20.85 19.64-44.28 30.31-69.64 31.7-1.71 0.09-3.4 0.14-5.08 0.14-20.17 0-39.95-6.76-58.82-20.13a119.1 119.1 0 0 1-45.83-62.51c-1.26-3.99-2.45-5.46-5.59-6.9-17.53-8.02-30.67-34.25-27.02-53.98",style:{fill:"currentcolor"}}]},"anime-outline":{viewBox:"0 0 512 512",paths:[{d:"M358.40999999999985 135.22999999999956c15.61-18.37 35.63-26.75 59.44-23.24 16.6 2.45 30.16 11.11 40.67 24.69 19.83 25.65 19.19 76.55-30.25 98.09 0.16 2.19 0.2 4.55 0.51 6.89 1.48 11 3.48 21.95 4.45 33 1.23 14.14-3.39 19.1-17.54 20.39-1.02 0.18-2.03 0.44-3.01 0.78 6.04 26.7 12.06 53.33 18.07 79.88 0.73 3.22 1.5 6.44 2.01 9.7 1.33 8.43-2.84 15.12-10.14 16.51-7.86 1.49-14.36-3.1-16.4-11.74-3.1-13.16-6.09-26.35-9.17-39.52-0.33-1.38-0.93-2.7-1.81-5.23-30.42 55.78-75.5 87.65-138.92 87.7-63.53 0.05-108.75-31.67-139.57-88.23-1.99 8.07-3.67 14.6-5.2 21.17-1.97 8.49-3.61 17.05-5.77 25.49-0.87 3.56-3.11 6.64-6.22 8.56a13.94 13.94 0 0 1-10.45 1.73c-6.83-1.6-11.33-8.33-9.67-16.05 5.1-23.79 10.6-47.49 15.93-71.23 1.38-6.14 2.7-12.3 4.04-18.43-0.59-0.35-1.07-0.86-1.59-0.9-15.83-1.45-20.23-6.24-18.76-22 1-10.75 3.01-21.39 4.51-32.09 0.29-2.06 0.31-4.15 0.51-6.91-22.11-8.93-37.23-24.65-41.61-48.35-3.42-18.46 0.62-35.97 12.61-51.07 20.27-25.53 65.46-36.84 99.09 0.15 67.47-41.75 135.21-42.06 204.24 0.25m-12.05 26.43c-51.83-41.47-131.95-39.77-179.9-0.23 3.98 41.02-14.94 65.83-54.53 76.35l-5.35 28.96h57.48c3.02-9.43 5.84-18.6 8.89-27.68 2.91-8.65 10.17-13.2 17.09-11.02 8.15 2.58 11.61 9.55 9.04 18.76-1.84 6.58-4 13.08-6.09 19.82h49.83c0-8.53-0.16-16.32 0.04-24.11 0.23-8.95 5.92-15.14 13.43-15.02 7.55 0.12 12.82 6.21 13.11 15.36 0.15 4.52-0.02 9.05 0.07 13.58 0.08 3.48 0.34 6.95 0.52 10.38h49.4c-2.38-7.52-4.77-14.29-6.63-21.19-2.15-7.99 1.46-14.67 8.91-17.37 6.47-2.36 13.3 1.14 16.66 8.64 0.73 1.63 1.09 3.43 1.66 5.13 2.77 8.23 5.56 16.45 8.31 24.58h57.46c-1.99-10.31-3.79-19.63-5.68-29.43-17.72-3.78-32.68-11.45-43.12-26.27-10.4-14.77-14.07-31.03-10.6-49.24m34.04 134.14h-248.61a125.12 125.12 0 0 0 41.11 78.96 125.15 125.15 0 0 0 83.2 31.66c30.67 0 60.28-11.27 83.19-31.66a125.12 125.12 0 0 0 41.11-78.96m-276.77-86.33c18.44 1.93 36.39-15.68 36.35-34.63-0.04-19.77-15.44-35.83-35.13-36.1-20.27-0.28-36.77 15.88-36.52 35.77 0.11 9.3 3.88 18.17 10.48 24.71a35.36 35.36 0 0 0 24.82 10.25m304.29 0c15.8 1.55 35.26-11.81 35.9-35.18 0.52-19.57-15.93-35.29-35.76-35.61-21.7-0.35-35.98 19.45-35.91 35.47 0.08 20.66 19.27 37.19 35.77 35.32",style:{fill:"currentcolor"}},{d:"M181.15999999999985 344.25c-4.06-4.81-3.28-12.06-1.69-15.34 4.01-8.28 14.01-9.79 21.32-2.88 6.75 6.37 13.14 8.34 21.9 4.04 7.52-3.69 15.67-0.42 18.49 6.05 3.19 7.3 0.1 14.51-7.64 18.82-18.99 10.6-40.19 3.85-52.38-10.7",style:{fill:"currentcolor"}},{d:"M331.35000000000036 344.25c4.05-4.81 3.28-12.06 1.69-15.34-4.01-8.28-14.02-9.79-21.33-2.88-6.74 6.37-13.13 8.34-21.89 4.04-7.52-3.69-15.67-0.42-18.5 6.05-3.18 7.3-0.09 14.51 7.64 18.82 18.99 10.6 40.19 3.85 52.39-10.7",style:{fill:"currentcolor"}}]},anime:{viewBox:"0 0 512 512",paths:[{d:"M95.36999999999989 314.5799999999999c-5.33 23.74-10.83 47.44-15.93 71.23-1.66 7.72 2.84 14.46 9.67 16.06a13.943 13.943 0 0 0 16.67-10.3c2.16-8.43 3.8-17 5.77-25.49 1.53-6.57 3.21-13.1 5.2-21.17 30.82 56.56 76.04 88.28 139.57 88.23 63.42-0.05 108.5-31.92 138.92-87.7 0.88 2.53 1.48 3.85 1.81 5.24 3.07 13.16 6.07 26.35 9.17 39.51 2.03 8.64 8.54 13.23 16.4 11.74 7.3-1.38 11.47-8.08 10.14-16.51-0.51-3.26-1.28-6.48-2.01-9.7-5.9-26.14-11.82-52.31-17.76-78.52h-313.81c-1.26 5.78-2.51 11.59-3.81 17.38m193.59 15.3c9.17 4.07 15.86 2.93 22.67-4.07 4.3-4.42 9.94-5.54 15.76-2.36 4.59 2.51 6.57 6 6.94 10.2 0.15 2.09-0.11 4.18-0.77 6.17s-1.71 3.82-3.09 5.4c-11.74 13.78-33 20.33-52.04 9.61-4.1-2.31-7.38-5.03-8.14-10.07-1.74-11.54 7.73-19.73 18.67-14.88m-110.23 1.05c0.18-0.69 0.43-1.37 0.74-2.01 4.01-8.28 14.02-9.79 21.33-2.88 6.74 6.37 13.14 8.33 21.89 4.04 7.53-3.69 15.67-0.43 18.5 6.05 3.18 7.3 0.09 14.5-7.65 18.82-18.4 10.27-38.89 4.24-51.06-9.18a15.9 15.9 0 0 1-3.77-6.94c-0.66-2.59-0.65-5.31 0.02-7.9",style:{fill:"currentcolor"}},{d:"M458.52000000000044 136.67999999999938c-10.5-13.58-24.07-22.24-40.67-24.69-23.81-3.51-43.83 4.88-59.44 23.24-69.03-42.31-136.78-42-204.24-0.25-33.63-36.99-78.82-25.68-99.09-0.15-12 15.1-16.03 32.61-12.61 51.07 4.38 23.7 19.49 39.42 41.61 48.35-0.2 2.76-0.23 4.85-0.51 6.91-0.53 3.75-1.11 7.5-1.69 11.24-0.3 1.95-0.17 3.93 0.37 5.83a13.7 13.7 0 0 0 2.76 5.14c1.28 1.49 2.87 2.69 4.66 3.52 1.79 0.82 3.74 1.25 5.71 1.25h65.75c3.02-9.43 5.84-18.6 8.89-27.69 2.91-8.64 10.17-13.2 17.09-11.02 8.15 2.58 11.61 9.55 9.04 18.76-1.84 6.58-4 13.08-6.09 19.82h49.83c0-8.52-0.16-16.32 0.04-24.11 0.23-8.95 5.92-15.14 13.43-15.01 7.55 0.12 12.82 6.21 13.11 15.36 0.15 4.52-0.02 9.05 0.07 13.57 0.08 3.48 0.34 6.95 0.52 10.38h49.4c-2.38-7.52-4.77-14.28-6.63-21.19-2.15-7.99 1.46-14.66 8.91-17.37 6.47-2.36 13.3 1.15 16.66 8.65 0.73 1.63 1.09 3.42 1.66 5.12 2.77 8.23 5.56 16.45 8.31 24.59h71.43c1.96 0 3.91-0.42 5.69-1.24 1.79-0.82 3.38-2.01 4.66-3.5s2.23-3.23 2.77-5.12c0.55-1.89 0.68-3.87 0.4-5.81-0.53-3.56-1.06-7.11-1.54-10.67-0.31-2.33-0.36-4.7-0.51-6.89 49.43-21.54 50.07-72.44 30.24-98.09m-354.88 72.79a35.42 35.42 0 0 1-24.81-10.25 35.44 35.44 0 0 1-10.49-24.71c-0.25-19.89 16.25-36.05 36.52-35.78 19.69 0.27 35.09 16.34 35.13 36.1 0.04 18.96-17.91 36.57-36.35 34.64m304.29 0c-16.5 1.87-35.69-14.65-35.77-35.32-0.06-16.02 14.21-35.82 35.91-35.47 19.83 0.32 36.28 16.05 35.76 35.61-0.63 23.38-20.1 36.73-35.9 35.18",style:{fill:"currentcolor"}}]},"tv-outline":{viewBox:"0 0 512 512",paths:[{d:"M374.7999999999997 308.7999999999993l82.7 58.2a15.94 15.94 0 0 0 7.8 1.3c2.66-0.22 5.24-1.08 7.5-2.5 2.22-1.46 4.03-3.45 5.29-5.79s1.91-4.96 1.91-7.61v-192.8c0.04-4.03-1.46-7.92-4.19-10.87a15.73 15.73 0 0 0-10.51-5.03c-2.67-0.22-5.35 0.22-7.8 1.3l-82.7 58.2c-2.1 1.47-3.81 3.43-5 5.7a15.86 15.86 0 0 0-1.8 7.4v79.4c-0.01 2.58 0.61 5.12 1.8 7.4 1.19 2.27 2.9 4.22 5 5.7",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}},{d:"M268 384h-184a51.8 51.8 0 0 1-19.88-3.97 51.7 51.7 0 0 1-16.82-11.33 52.77 52.77 0 0 1-15.3-36.7v-152c0-6.83 1.35-13.58 3.97-19.88 2.63-6.3 6.48-12.02 11.33-16.82 9.76-9.7 22.94-15.2 36.7-15.3h184.5c13.65 0.05 26.72 5.48 36.4 15.1a51.3 51.3 0 0 1 11.18 16.69 51.5 51.5 0 0 1 3.92 19.71v152.5a52.23 52.23 0 0 1-15.3 36.7 52.23 52.23 0 0 1-36.7 15.3Z",style:{stroke:"currentcolor",strokeMiterlimit:"10",strokeWidth:"32",fill:"none"}},{d:"M91.39999999999964 207.79999999999927h83.9",style:{stroke:"currentcolor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"32",fill:"none"}},{d:"M133.39999999999964 313.5v-105.7",style:{stroke:"currentcolor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"32",fill:"none"}},{d:"M180.0999999999999 208.79999999999927l38.1 104.7 37.8-104.7",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:"10",strokeWidth:"32",fill:"none"}}]},tv:{viewBox:"0 0 512 512",paths:[{d:"M466.3199999999997 127.94999999999982c-5.29-0.42-10.6 0.47-15.46 2.6-0.97 0.43-1.9 0.95-2.77 1.57l-82.7 58.2a32 32 0 0 0-10 11.43 32.1 32.1 0 0 0-3.59 14.75v79.34a31.85 31.85 0 0 0 3.58 14.79c2.36 4.57 5.8 8.49 10.01 11.45l82.7 58.2c0.86 0.61 1.78 1.13 2.75 1.56 4.06 1.79 8.46 2.72 12.9 2.72 0.9 0 1.79-0.04 2.68-0.12 5.22-0.44 10.25-2.11 14.69-4.89 0.1-0.07 0.2-0.13 0.3-0.2 4.43-2.91 8.07-6.89 10.58-11.56a31.96 31.96 0 0 0 3.81-15.19v-192.73c0.05-8.07-2.96-15.85-8.44-21.78a31.77 31.77 0 0 0-21.04-10.14",style:{fill:"currentcolor"}},{d:"M268.2999999999997 112.19999999999982h-184.62a68.23 68.23 0 0 0-67.88 68v152.14c0.1 17.98 7.29 35.2 20.02 47.91a68.28 68.28 0 0 0 47.93 19.95h184.12a68.46 68.46 0 0 0 47.9-20.07 68.44 68.44 0 0 0 20.03-47.93v-152.49a67.57 67.57 0 0 0-19.78-47.72 67.54 67.54 0 0 0-47.72-19.79m2.55 102.23l-37.8 104.7a16.04 16.04 0 0 1-5.85 7.66 15.96 15.96 0 0 1-9.18 2.91h-0.02c-3.28 0-6.49-1.01-9.18-2.89a15.94 15.94 0 0 1-5.85-7.64l-34.64-95.17h-19.13v89.7c0 4.24-1.69 8.31-4.69 11.31s-7.07 4.69-11.31 4.69-8.31-1.69-11.31-4.69-4.69-7.07-4.69-11.31v-89.7h-26c-4.24 0-8.31-1.69-11.31-4.69s-4.69-7.07-4.69-11.31 1.69-8.31 4.69-11.31 7.07-4.69 11.31-4.69h83.9c4.95 0.6 9.78 1.99 14.29 4.12 2.54 1.87 4.47 4.45 5.55 7.41l23 63.22 22.81-63.18c1.46-3.96 4.43-7.19 8.26-8.97s8.21-1.98 12.18-0.55c3.98 1.44 7.22 4.39 9.03 8.2 1.81 3.82 2.04 8.2 0.63 12.18",style:{fill:"currentcolor"}}]},"calendar-thin":{viewBox:"0 0 512 512",paths:[{d:"M114.45000000000073 100.30000000000018h283.1c11.26 0.01 22.06 4.48 30.03 12.45a42.5 42.5 0 0 1 12.44 30.02v254.78a42.52 42.52 0 0 1-12.45 30.02 42.46 42.46 0 0 1-30.02 12.44h-283.1c-11.26 0-22.06-4.48-30.02-12.44a42.46 42.46 0 0 1-12.44-30.02v-254.78c0-11.26 4.47-22.06 12.44-30.03a42.46 42.46 0 0 1 30.02-12.44Z",style:{stroke:"currentcolor",strokeLinejoin:"round",strokeWidth:"16",fill:"none"}},{d:"M291.3899999999994 256c4.93 0.02 9.72-1.68 13.54-4.8s6.44-7.47 7.41-12.3c0.98-4.84 0.24-9.86-2.07-14.22a21.335 21.335 0 0 0-24.98-10.39c-4.72 1.43-8.8 4.45-11.54 8.55-2.75 4.1-3.98 9.02-3.5 13.93a21.3 21.3 0 0 0 6.14 12.99 21.27 21.27 0 0 0 15 6.24",style:{fill:"currentcolor"}},{d:"M362.15999999999985 256c4.93 0.01 9.71-1.68 13.52-4.8a21.28 21.28 0 0 0 5.33-26.49 21.3 21.3 0 0 0-10.61-9.66 21.36 21.36 0 0 0-14.34-0.72 21.304 21.304 0 0 0-15.03 22.45c0.48 4.91 2.65 9.49 6.13 12.98a21.27 21.27 0 0 0 15 6.24",style:{fill:"currentcolor"}},{d:"M291.3899999999994 326.77000000000044c5.26 0 10.33-1.95 14.23-5.48 3.89-3.53 6.34-8.39 6.86-13.62 0.51-5.23-0.93-10.47-4.06-14.7a21.2 21.2 0 0 0-12.88-8.16c-5.16-1.03-10.51-0.1-15.02 2.6-4.52 2.7-7.86 6.98-9.39 12.01a21.17 21.17 0 0 0 1.11 15.21 21.18 21.18 0 0 0 19.15 12.14",style:{fill:"currentcolor"}},{d:"M362.15999999999985 326.77000000000044c5.26 0 10.33-1.95 14.23-5.48 3.89-3.53 6.34-8.39 6.86-13.62 0.51-5.23-0.93-10.47-4.06-14.7a21.2 21.2 0 0 0-12.88-8.16c-5.16-1.03-10.51-0.1-15.02 2.6-4.52 2.7-7.86 6.98-9.39 12.01a21.17 21.17 0 0 0 1.11 15.21 21.18 21.18 0 0 0 19.15 12.14",style:{fill:"currentcolor"}},{d:"M149.84000000000015 326.77000000000044c4.93 0.02 9.72-1.68 13.54-4.79a21.26 21.26 0 0 0 7.42-12.31c0.98-4.83 0.25-9.86-2.07-14.21a21.33 21.33 0 0 0-10.62-9.67c-4.56-1.9-9.63-2.15-14.35-0.73a21.3 21.3 0 0 0-11.55 8.55c-2.74 4.1-3.98 9.02-3.5 13.93a21.3 21.3 0 0 0 6.14 12.99 21.35 21.35 0 0 0 14.99 6.24",style:{fill:"currentcolor"}},{d:"M220.60000000000036 326.77000000000044a21.3 21.3 0 0 0 13.53-4.79 21.33 21.33 0 0 0 7.41-12.29c0.97-4.83 0.24-9.85-2.08-14.2a21.2 21.2 0 0 0-10.61-9.66 21.27 21.27 0 0 0-14.33-0.73c-4.72 1.42-8.8 4.44-11.54 8.54a21.28 21.28 0 0 0 2.63 26.89c3.98 3.97 9.37 6.21 14.99 6.24",style:{fill:"currentcolor"}},{d:"M149.84000000000015 397.53999999999996c4.92 0.01 9.7-1.69 13.51-4.81a21.276 21.276 0 0 0 5.31-26.47 21.297 21.297 0 0 0-24.94-10.36 21.28 21.28 0 0 0-11.52 8.54 21.27 21.27 0 0 0 17.64 33.1",style:{fill:"currentcolor"}},{d:"M220.60000000000036 397.53999999999996c5.25 0 10.31-1.95 14.19-5.48a21.08 21.08 0 0 0 6.84-13.58c0.52-5.23-0.93-10.45-4.05-14.67-3.12-4.21-7.7-7.12-12.85-8.14a21.1 21.1 0 0 0-14.99 2.59c-4.5 2.69-7.84 6.96-9.37 11.98a21.14 21.14 0 0 0 1.11 15.18c2.23 4.74 6.16 8.49 11 10.5 2.57 1.07 5.33 1.62 8.12 1.62",style:{fill:"currentcolor"}},{d:"M291.3899999999994 397.53999999999996c5.26 0 10.33-1.95 14.23-5.48 3.89-3.53 6.34-8.39 6.86-13.62 0.51-5.23-0.93-10.47-4.06-14.7a21.2 21.2 0 0 0-12.88-8.16c-5.16-1.03-10.51-0.1-15.02 2.6-4.52 2.7-7.86 6.98-9.39 12.01a21.17 21.17 0 0 0 1.11 15.21 21.18 21.18 0 0 0 19.15 12.14",style:{fill:"currentcolor"}},{d:"M142.76000000000022 71.98999999999978v28.31",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"16",fill:"none"}},{d:"M369.2399999999998 71.98999999999978v28.31",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"16",fill:"none"}},{d:"M440.0100000000002 171.0699999999997h-368.02",style:{stroke:"currentcolor",strokeLinejoin:"round",strokeWidth:"16",fill:"none"}}]},android:{viewBox:"0 0 512 512",paths:[{d:"M317.5199999999986 57.850000000000364l23.96-34.79c0.37-0.44 0.65-0.95 0.82-1.5 0.16-0.55 0.21-1.13 0.13-1.7s-0.27-1.12-0.57-1.61-0.7-0.91-1.17-1.24c-0.71-0.49-1.57-0.75-2.43-0.73-0.87 0.02-1.71 0.32-2.4 0.84-0.46 0.35-0.83 0.79-1.11 1.3l-24.9 36.15a148.96 148.96 0 0 0-107.69 0l-24.9-36.15c-0.27-0.51-0.65-0.95-1.11-1.3s-0.99-0.6-1.55-0.73-1.14-0.15-1.71-0.05c-0.57 0.11-1.1 0.33-1.58 0.66a4.111 4.111 0 0 0-0.78 6.06l23.97 34.8c-38.12 17.72-64.84 51.42-68.25 90.73h259.5c-3.4-39.32-30.13-73.01-68.23-90.74m-115.72 54.85c-3.33 0-6.55-1.14-9.12-3.25a14.34 14.34 0 0 1-4.99-8.3c-0.66-3.26-0.16-6.65 1.41-9.58 1.56-2.94 4.1-5.24 7.17-6.51 3.07-1.28 6.49-1.45 9.67-0.49a14.39 14.39 0 0 1 10.14 15.16c-0.33 3.31-1.79 6.41-4.14 8.76a14.3 14.3 0 0 1-4.65 3.11c-1.74 0.73-3.61 1.1-5.49 1.1m108.4 0a14.43 14.43 0 0 1-14.39-13c-0.35-3.56 0.63-7.14 2.76-10.02s5.26-4.86 8.77-5.57a14.44 14.44 0 0 1 16.64 9.96 14.44 14.44 0 0 1-8.28 17.53c-1.74 0.72-3.61 1.1-5.5 1.1",style:{fill:"currentcolor"}},{d:"M109.59000000000015 312.5699999999997c0 7.68-3.05 15.04-8.48 20.47a28.944 28.944 0 0 1-40.94 0 28.94 28.94 0 0 1-8.48-20.47v-117.08c0-7.68 3.05-15.04 8.48-20.47a28.944 28.944 0 0 1 40.94 0 28.94 28.94 0 0 1 8.48 20.47z",style:{fill:"currentcolor"}},{d:"M126.25 167.4300000000003v211.48c0 6.03 2.4 11.81 6.66 16.07a22.73 22.73 0 0 0 16.08 6.66h26.9v65.07c0 7.68 3.05 15.04 8.48 20.47a28.944 28.944 0 0 0 40.94 0 28.94 28.94 0 0 0 8.48-20.47v-65.07h44.42v65.07c0 7.68 3.05 15.04 8.48 20.47a28.944 28.944 0 0 0 40.94 0 28.94 28.94 0 0 0 8.48-20.47v-65.07h26.9c6.03 0 11.81-2.39 16.08-6.66a22.73 22.73 0 0 0 6.66-16.07v-211.48z",style:{fill:"currentcolor"}},{d:"M402.40999999999985 312.5699999999997c0 7.68 3.05 15.04 8.48 20.47a28.938 28.938 0 0 0 40.93 0 28.94 28.94 0 0 0 8.48-20.47v-117.08c0-7.68-3.05-15.04-8.48-20.47a28.94 28.94 0 0 0-40.93 0 28.94 28.94 0 0 0-8.48 20.47z",style:{fill:"currentcolor"}}]},linux:{viewBox:"0 0 512 512",paths:[{d:"M108.5 346.1800000000003c1.3 2.6 1.9 5.44 1.9 8.31 0 2.88-0.6 5.72-1.8 8.32-4.4 10.27-13.3 13.43-23.6 14.01-3.8 0.21-7.7-0.22-11.6-0.09-5.1 0.18-6.8 2.05-6.9 7.15 0.1 2.92 0.8 5.79 2.2 8.37 2 4.14 3.8 8.4 5.3 12.76 0.9 2.46 1.2 5.08 1 7.69s-0.9 5.15-2.1 7.46c-1.8 3.23-3.4 6.57-4.8 9.93-3 6.99-1.6 10.06 5.8 12.42 9.9 3.16 20.1 4.79 30.3 6.8 16.1 3.19 31.9 7.42 47.4 12.68 8.8 2.97 17.7 5.13 26.9 4.26 16.1-1.5 24.3-10.51 21.2-29.03-1.7-10.22-6.5-19.23-11.9-27.81-9-14.3-18.4-28.4-28-42.38-6.6-9.68-13.9-18.84-22.9-26.48-5.9-4.99-12.3-7.55-20-3.36-3.8 2.09-5.4-0.6-6-3.83-2-10.2-0.2-20.79 5.3-29.66 7.3-12.34 12.6-25.45 17.2-38.96 6.5-19.25 15.5-37.16 29.2-52.57 9-10.08 15.8-21.86 23.2-33.1 4.8-7.3 3.8-15.17 3.1-23.07-2-20-2.1-40.06-3-60.11-0.6-11.46 0.2-22.95 2.4-34.22 2.6-12.69 9.8-22.52 19.5-30.8 16.4-13.88 35.4-15.82 55.8-12.41 8.1 1.36 15.9 3.13 23.6 6.52 14.7 6.57 24.8 17.7 32.3 31.26a92.6 92.6 0 0 1 11.6 50.45c-1 24.35 5.1 47.42 15.2 69.46 5.6 12.11 13.9 22.62 23 32.2 11.4 11.9 19.7 25.58 26.9 40.11 8.2 16.69 14.2 34.37 17.8 52.6 2.6 11.57 2.8 23.53 0.6 35.17-1.1 5.3-3.1 9.71-8.8 11.88-4.1 1.51-5.7 5.9-8.2 9.15-6.9 8.96-15 15.49-27.2 15.92-12 0.41-20-4.06-24.9-15.28-1.3-3.13-2.7-6.2-5.2-8.61-4.2-4-8.3-3.16-10.5 2.05-4.4 9.88-4 19.91-1.1 30.1 4.7 16.48 3.4 33.08 1.1 49.66-0.9 5.46-1 11.01-0.3 16.5 1.7 13.91 14.7 21.99 29.2 18.29 6.3-1.63 12.1-4.73 16.9-9.06 13.1-11.6 28.5-20.24 45.1-25.32 8-2.4 16-4.89 22.9-9.83 6.5-4.75 6.7-9.43 0.2-14.33a33.2 33.2 0 0 0-11.5-5.97c-3.2-0.79-6.2-2.25-8.9-4.3-2.6-2.04-4.8-4.62-6.4-7.56-5.3-9.37-6.2-19.46-3.2-29.78 0.4-1.45 1.1-3.21 3-2.82 1.7 0.34 1.5 2.15 1.5 3.48 0.5 17.63 8.9 30.18 24.9 37.85 1 0.45 2 0.97 2.9 1.54 11.5 7.28 12.5 16.34 2.8 25.58-5.7 5.38-12.6 8.98-19.6 11.96-21.3 8.99-40 21.72-56.8 37.32-4.8 4.47-11.1 5.45-17.1 6.21-7.8 0.99-15.7-0.3-23.3-2.62-6.3-1.92-10.7-6.25-13.8-11.76-3.6-6.53-9.1-9.12-16.3-9.46-19.9-1.07-39.9-0.98-59.8 0.26-5.6 0.39-11.4-0.3-17 0.88-9.1 1.88-17.6 4.96-24.7 10.99-13.8 11.8-29 11.46-44.7 4.92-22.6-9.36-46.2-15.01-70.2-19.03-6.6-0.99-13-2.78-19.2-5.34-7.3-3.2-10.5-8.96-8.9-16.7 0.6-2.69 1-5.62 2.4-7.87 6.7-10.68 4.8-21.7 1.8-32.89-0.7-2.81-1.3-5.65-1.8-8.53-1.3-9.1 3.3-13.18 13.1-14.47 4-0.51 8-0.39 12-0.74 4.2-0.38 7.6-2.02 11.2-3.98 2.8-1.44 5.2-3.54 7.1-6.11 1.8-2.57 3-5.55 3.4-8.67 0.2-0.89 0.5-1.78 0.8-2.64 0-0.12 0.2-0.2 1-0.92m248.6-22.27q-1.2-0.075-2.4 0.03c-9.7 1.62-14.2-3.41-14.4-13.18-0.3-15.17-0.8-30.27-4.6-45.13-3-11.81-6.1-23.6-14.4-33.02-2.7-2.9-4.6-6.45-5.5-10.31-3.5-14.78-8.6-28.86-18.3-40.9-2.5-3.05-4.3-6.58-5.4-10.37-1-3.79-1.3-7.75-0.8-11.65 0.5-3.61 1.9-7.09 2.7-10.65 1.6-6.53-0.1-10.46-6.5-11.98-7.5-1.78-14.1-5.6-21.1-8.28-6.1-2.3-7.8-6.28-7.8-12.06 0.1-3.06 0.7-6.08 1.8-8.93 2.2-6.09 5.8-9.21 11.3-9.21 5.9 0 10.4 2.64 13.1 7.99 2.7 5.51 2.7 11.23 0.8 16.98-1.2 3.96-0.2 5.34 4.1 5.25 2.8-0.07 4.7-1.2 5.1-4.18 1-9.07 0.6-17.96-3-26.56-3.6-8.48-12.4-14.19-20.4-13-11.7 1.74-19.5 9.15-20 19.37-0.3 4.43 0 8.89 0.2 13.32 0.2 4.75 0 5.03-4.4 3.37-2.9-1.13-6-1.56-9.1-1.25-8.6 0.83-9.1 0.3-9.2-8.44 0-7.05-1.5-13.74-5.8-19.53-3.9-5.18-10.2-6.11-15.2-2.42-8.8 6.56-10.3 31.59-2.4 39.3 1.4 1.4 2.6 1.34 3.9 0.06 1.6-1.48 0.5-2.14-0.7-3.14-3.1-2.59-5.2-6.16-5.9-10.1-0.8-3.95-0.1-8.03 1.8-11.55 2.6-4.55 9.4-6.41 13.8-3.74 7.4 4.62 8.5 19.85 2 25.56-5 4.68-10.5 8.94-16.2 12.76-5.2 3.3-5 8.14-0.2 11.88 2.5 1.98 4.9 4.23 7 6.71 3.7 4.59 8.5 6.06 14.3 6.3 13.2 0.59 25.7-2.78 38-6.82 6.6-2.15 13.5-3.77 17.9-9.89 1.4-2.03 3.8-2.05 5.7-0.3 2 1.89 1.9 4.11 0.1 6.12-1.4 1.3-3 2.2-4.8 2.61-8.8 2.7-17 6.59-25.4 10.14-9.8 4.17-19.8 7.64-30.9 6.42-2.7-0.29-5.4-0.07-8.6-0.09 5.6 7.2 12.6 9.24 20.8 8.13 8.2-1.23 16.2-4 23.4-8.15 5.6-3.11 10.9-6.93 17.1-8.97 2.7-0.89 5.5-0.95 6.7 2.22 1.1 3-1.1 4.34-3.4 5.6-8.3 4.48-16.8 8.42-24.3 14.13-5.5 4.18-11.1 8.34-17.3 11.5-9.2 4.76-16.4 3.33-23.1-4.55-3-3.3-5.7-6.87-8.1-10.66-1.5-2.7-3-5.9-6.5-7.3-0.4 2.49-0.5 4.63-0.9 6.71-1.5 7.85-5.8 14.44-9.4 21.35-5.1 9.75-10.2 19.47-4.7 30.84 0.3 0.55 0.4 1.19 0.3 1.81-0.1 0.61-0.5 1.17-1 1.56-8.4 7.1-12.7 16.86-16.9 26.5-6.2 14.33-11.8 28.9-10.7 45.11 0.4 5.92 0.6 11.97-0.8 17.85-1.5 6.47-4.9 7.47-9.6 2.76-7.3-7.19-9.3-16.44-9.9-26.05-0.3-3.96 0.5-7.97 0.9-12.13-0.5 0.18-0.9 0.51-1.2 0.93-0.3 0.43-0.5 0.93-0.5 1.45-2.4 10.34-0.9 20.43 2.8 30.2 1.3 3.52 2.4 7.36 5.4 10.08 4.9 4.46 9.8 8.97 14.8 13.35 14 12.31 28.9 23.54 43.5 35.21 9.8 7.84 9.4 22.61-0.7 28.08-6.7 3.61-6.7 3.61-2.4 9.99 0.6 0.89 1.3 1.76 2 2.6 5 6.24 8.2 13.83 9 21.84 0.2 2.72 0.1 5.64 1.6 8.58 1.3-1.05 2.3-2.45 2.8-4.04 0.6-1.59 0.7-3.3 0.3-4.94-0.9-6-3-11.57-7-16.29-1.6-1.81-4-3.72-1.1-6.18 2.5-2.17 5.6-3.19 8.3-0.64 8.8 7.94 19.4 9.65 30.6 9.87 10.7 0.11 21.3-1.56 31.4-4.96 11.4-3.67 21.6-9.15 27.5-20.25 0.6-1.05 1.4-1.99 2.3-2.8 1.6-1.47 3.1-3.25 5.6-2.47s2.8 3.04 3.3 5.16c2 8.29-0.1 16.06-2.6 23.87-1.7 5.51-4 10.96-4 16.9 0 1.8 0.4 3.63 2.4 3.87 2.3 0.27 2.1-1.91 2.4-3.27 1.3-5.99 2.4-12 3.7-17.97 2.7-12.28 3.3-24.94 1.7-37.43-1-8.5-3.5-16.89-2.8-25.53 0.7-8.49 1.4-18.02 9.8-22.03 6.2-2.95 10.7-6.23 14.1-12.02 3-5.05 9-5.41 14.1-6.96 7.1-0.79 13.9 0.92 21.4 2.79-1.5-1.95-3.6-3.39-5.9-4.16-3.7-1.45-4.6-3.61-3.7-7.51 1.8-7.11 4-14.33 2.9-21.75-2.4-17.29-4.3-34.79-14.4-49.96-3.4-5.16-7.2-10.08-10.8-15.1 3 6.12 5.9 12.17 9 18.12 3.2 6.17 5.5 12.69 7.9 19.17 3.7 10.32 6.2 21.07 5.5 31.96-0.6 10-0.4 21.02-11.8 26.49",style:{fill:"currentcolor"}}]},windows:{viewBox:"0 0 512 512",paths:[{d:"M426.10000000000036 457.3699999999999c-27.4-3.99-54.8-7.99-82.2-11.99q-47.25-6.885-94.5-13.74c-6.6-0.96-13.2-1.95-19.8-2.75-1.9-0.25-2.8-0.97-2.6-2.9 0.1-0.7 0.1-1.42 0-2.12V259.1999999999998c77.5 0.41 154.5 0.84 231.7 1.26v201.6c-11-1.58-21.8-3.12-32.6-4.69m-401.8-57.39v-141.85c57.9 0.32 115.6 0.64 173.5 0.95v165.48c-57.9-8.21-115.6-16.38-173.5-24.58m202.9-169.76c0-1.27-0.1-2.51-0.2-3.75v-160.45c0-3.24 1-4.12 4.1-4.53 42.3-5.81 84.6-11.69 126.9-17.63 33.2-4.63 66.5-9.25 99.7-13.85 0.3 0 0.7 0.03 1 0.09v201.39c-77.1-0.42-154.1-0.84-231.5-1.27m-203-1.15v-140.4c57.9-7.49 115.6-14.96 173.6-22.46v163.81c-57.9-0.31-115.6-0.62-173.6-0.95",style:{fill:"currentcolor"}}]},macos:{viewBox:"0 0 512 512",paths:[{d:"M156.79999999999927 464.21000000000004c-12.5-8.49-22.4-19.61-31-31.84-21.5-30.65-37.9-63.77-47.9-99.84-8.9-32.09-11.4-64.6-6.4-97.49 4.4-29.01 15.3-55.14 35.8-76.67 21.3-22.32 47.4-31.41 78.1-28.22 15.4 1.6 30.1 6.12 44.9 10.48 6.1 1.8 12.3 3.16 18.5 4.73 8.7 2.23 17.3 1.23 25.8-1.17 12-3.44 23.9-7.37 35.9-10.85 19-5.52 38.3-6.77 57.7-2.24 22.5 5.21 40.2 17.8 55.2 34.78 2.2 2.45 4.3 4.95 6.3 7.28-7.5 7.32-15 14.05-21.8 21.39-17.3 18.46-26.3 40.39-26.5 65.75-0.3 23.09 7.2 45.61 21.2 63.96 9.3 12.4 20.2 22.81 34.9 28.83 1.7 0.7 3.4 1.33 5.6 2.15-2 5.23-3.7 10.43-5.8 15.45-12 28.73-27.5 55.28-48.7 78.29-4 4.27-8.4 8.23-13 11.85-15.5 12.45-32.9 17.13-52.5 11.38-9.8-2.87-19.5-6.13-29.3-9.18-10-3.15-20.2-5.68-30.7-6-13.1-0.4-25.3 3.44-37.4 7.82-9.2 3.31-18.4 6.77-27.9 8.97-3.3 0.76-6.6 1.14-10 1.15-11.1 0-21.4-4.25-31-10.76m183-437.14c0.4 3.42 1.1 6.81 1 10.18-0.2 24.37-8.6 45.87-23.7 64.82-8.3 10.41-18 19.3-29.8 25.78-8.4 4.62-17.7 5.94-27 7.05-3 0.35-6.1 0.58-9.2 0.87 0.5-56.6 30-97.6 88.7-108.7",style:{fill:"currentcolor"}}]},"star-rating-full":{viewBox:"0 0 512 512",paths:[{d:"M253.60000000000036 34.32999999999993l59.2 169.6 177.8 4.6-141.1 109.4 50.6 172.44-146.5-101.97-146.6 101.97 50.7-172.44-141.2-109.41 177.8-4.6z",style:{fill:"currentcolor"}}]},"star-rating-half":{viewBox:"0 0 512 512",paths:[{d:"M256.5 35.76000000000022l-0.5-1.43-59.2 169.59-177.6 4.6 141 109.41-50.5 172.44 146.3-101.97 0.5 0.35z m236 172.76v0.21l0.3-0.2z",style:{fill:"currentcolor",fillRule:"evenodd",clipRule:"evenodd"}}]},download:{viewBox:"0 0 512 512",paths:[{d:"M336 173h40c5.3 0 10.5 1.03 15.3 3.04 4.9 2.01 9.3 4.96 13 8.67 3.7 3.72 6.7 8.13 8.7 12.98s3 10.06 3 15.31v208c0 5.25-1 10.46-3 15.31s-5 9.26-8.7 12.98c-3.7 3.71-8.1 6.66-13 8.67-4.8 2.01-10 3.04-15.3 3.04h-240c-5.3 0-10.5-1.03-15.3-3.04-4.9-2.01-9.3-4.96-13-8.67-3.7-3.72-6.7-8.13-8.7-12.98s-3-10.06-3-15.31v-208c0-5.25 1-10.46 3-15.31s5-9.26 8.7-12.98c3.7-3.71 8.1-6.66 13-8.67 4.8-2.01 10-3.04 15.3-3.04h40",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}},{d:"M176 269l80 80 80-80",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}},{d:"M256 45v288",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}}]},language:{viewBox:"0 0 512 512",paths:[{d:"M478.2999999999993 433.5999999999999l-90-218c-1.2-3.01-3.1-5.7-5.5-7.89s-5.3-3.81-8.4-4.76-6.4-1.19-9.6-0.71-6.3 1.66-9 3.47c-3.7 2.38-6.5 5.83-8.1 9.89l-90 218c-2.2 5.4-2.3 11.46-0.1 16.89 1.1 2.69 2.7 5.13 4.8 7.16 3.1 3.09 7 5.19 11.3 6.04 4.3 0.84 8.7 0.39 12.7-1.3 2.7-1.1 5.1-2.72 7.2-4.78 2-2.07 3.6-4.52 4.7-7.22l18.4-44.39h102.6l18.4 44.39c1.6 4.06 4.4 7.51 8.1 9.89 3.6 2.44 7.9 3.73 12.2 3.72 3.6 0 7.2-0.89 10.4-2.6 4.8-2.57 8.5-6.84 10.3-11.98 1.9-5.15 1.7-10.79-0.4-15.82m-143.5-71.6l33.2-80.35 33.2 80.35z",style:{fill:"currentcolor"}},{d:"M267.7999999999993 342.9200000000001c1.7-2.32 3-4.97 3.6-7.78 0.7-2.81 0.8-5.73 0.3-8.58-0.4-2.84-1.4-5.58-2.9-8.04s-3.5-4.6-5.8-6.3c-0.2-0.15-15-11.13-36.5-34.73 39.6-53.68 62.1-114.75 71.2-143.49h32.3c5.8-0.02 11.4-2.33 15.6-6.44 4.1-4.14 6.4-9.73 6.4-15.56s-2.3-11.42-6.4-15.56c-4.2-4.11-9.8-6.42-15.6-6.44h-116v-20c0-5.83-2.3-11.42-6.4-15.56-4.1-4.12-9.8-6.44-15.6-6.44s-11.5 2.32-15.6 6.44c-4.1 4.14-6.4 9.73-6.4 15.56v20h-116c-5.8 0.02-11.4 2.33-15.6 6.44-4.1 4.14-6.4 9.73-6.4 15.56s2.3 11.42 6.4 15.56c4.2 4.11 9.8 6.42 15.6 6.44h197.2c-9.5 26.95-27 69.5-53.7 108.36-31.4-41.68-43.1-68.65-43.2-68.87-2.3-5.32-6.6-9.52-12-11.69-5.3-2.17-11.4-2.13-16.7 0.11-5.4 2.24-9.6 6.49-11.8 11.84-2.3 5.36-2.3 11.37-0.1 16.74 0.6 1.38 14.6 34.23 52.9 83.93 0.9 1.19 1.8 2.35 2.7 3.51-39.2 44.35-77.7 71.86-93.8 80.74-2.5 1.38-4.8 3.25-6.6 5.49-1.8 2.25-3.2 4.84-4 7.61s-1.1 5.68-0.8 8.55c0.3 2.88 1.2 5.66 2.6 8.2 1.4 2.53 3.2 4.77 5.5 6.58 2.2 1.82 4.8 3.17 7.6 3.98 2.7 0.82 5.6 1.08 8.5 0.78 2.9-0.31 5.7-1.18 8.2-2.56 2.2-1.18 48.6-26.89 101.7-85.59 22.5 24.08 38 35.44 38.9 36.1 2.3 1.7 5 2.93 7.8 3.59 2.8 0.68 5.7 0.79 8.6 0.34 5.7-0.95 10.9-4.12 14.3-8.83z",style:{fill:"currentcolor"}}]},"movies-outline":{viewBox:"0 0 512 512",paths:[{d:"M436 96h-360c-3.68-0.01-7.32 0.71-10.72 2.12-3.4 1.4-6.49 3.47-9.09 6.07s-4.66 5.69-6.07 9.09-2.13 7.04-2.12 10.72v264a27.96 27.96 0 0 0 17.28 25.88c3.4 1.4 7.04 2.12 10.72 2.12h360c3.68 0 7.32-0.72 10.72-2.12 3.4-1.41 6.49-3.47 9.09-6.07s4.66-5.69 6.07-9.09c1.4-3.4 2.13-7.04 2.12-10.72v-264a28.04 28.04 0 0 0-8.21-19.79 28.04 28.04 0 0 0-19.79-8.21Z",style:{stroke:"currentcolor",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}},{d:"M436 336h-24c-3.68-0.01-7.32 0.71-10.72 2.12-3.4 1.4-6.49 3.47-9.09 6.07s-4.66 5.69-6.07 9.09-2.13 7.04-2.12 10.72v24a27.96 27.96 0 0 0 17.28 25.88c3.4 1.4 7.04 2.12 10.72 2.12h24c3.68 0 7.32-0.72 10.72-2.12 3.4-1.41 6.49-3.47 9.09-6.07s4.66-5.69 6.07-9.09c1.4-3.4 2.13-7.04 2.12-10.72v-24a28.04 28.04 0 0 0-8.21-19.79 28.04 28.04 0 0 0-19.79-8.21Z",style:{stroke:"currentcolor",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}},{d:"M436 256h-24c-3.68-0.01-7.32 0.71-10.72 2.12-3.4 1.4-6.49 3.47-9.09 6.07s-4.66 5.69-6.07 9.09-2.13 7.04-2.12 10.72v24a27.96 27.96 0 0 0 17.28 25.88c3.4 1.4 7.04 2.12 10.72 2.12h24c3.68 0 7.32-0.72 10.72-2.12 3.4-1.41 6.49-3.47 9.09-6.07s4.66-5.69 6.07-9.09c1.4-3.4 2.13-7.04 2.12-10.72v-24a28.04 28.04 0 0 0-8.21-19.79 28.04 28.04 0 0 0-19.79-8.21Z",style:{stroke:"currentcolor",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}},{d:"M436 176h-24c-3.68-0.01-7.32 0.71-10.72 2.12-3.4 1.4-6.49 3.47-9.09 6.07s-4.66 5.69-6.07 9.09-2.13 7.04-2.12 10.72v24a27.96 27.96 0 0 0 17.28 25.88c3.4 1.4 7.04 2.12 10.72 2.12h24c3.68 0 7.32-0.72 10.72-2.12 3.4-1.41 6.49-3.47 9.09-6.07s4.66-5.69 6.07-9.09c1.4-3.4 2.13-7.04 2.12-10.72v-24a28.04 28.04 0 0 0-8.21-19.79 28.04 28.04 0 0 0-19.79-8.21Z",style:{stroke:"currentcolor",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}},{d:"M436 96h-24c-3.68-0.01-7.32 0.71-10.72 2.12-3.4 1.4-6.49 3.47-9.09 6.07s-4.66 5.69-6.07 9.09-2.13 7.04-2.12 10.72v24a27.96 27.96 0 0 0 17.28 25.88c3.4 1.4 7.04 2.12 10.72 2.12h24c3.68 0 7.32-0.72 10.72-2.12 3.4-1.41 6.49-3.47 9.09-6.07s4.66-5.69 6.07-9.09c1.4-3.4 2.13-7.04 2.12-10.72v-24a28.04 28.04 0 0 0-8.21-19.79 28.04 28.04 0 0 0-19.79-8.21Z",style:{stroke:"currentcolor",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}},{d:"M100 336h-24c-3.68-0.01-7.32 0.71-10.72 2.12-3.4 1.4-6.49 3.47-9.09 6.07s-4.66 5.69-6.07 9.09-2.13 7.04-2.12 10.72v24a27.96 27.96 0 0 0 17.28 25.88c3.4 1.4 7.04 2.12 10.72 2.12h24c3.68 0 7.32-0.72 10.72-2.12 3.4-1.41 6.49-3.47 9.09-6.07s4.66-5.69 6.07-9.09c1.4-3.4 2.13-7.04 2.12-10.72v-24a28.04 28.04 0 0 0-8.21-19.79 28.04 28.04 0 0 0-19.79-8.21Z",style:{stroke:"currentcolor",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}},{d:"M100 256h-24c-3.68-0.01-7.32 0.71-10.72 2.12-3.4 1.4-6.49 3.47-9.09 6.07s-4.66 5.69-6.07 9.09-2.13 7.04-2.12 10.72v24a27.96 27.96 0 0 0 17.28 25.88c3.4 1.4 7.04 2.12 10.72 2.12h24c3.68 0 7.32-0.72 10.72-2.12 3.4-1.41 6.49-3.47 9.09-6.07s4.66-5.69 6.07-9.09c1.4-3.4 2.13-7.04 2.12-10.72v-24a28.04 28.04 0 0 0-8.21-19.79 28.04 28.04 0 0 0-19.79-8.21Z",style:{stroke:"currentcolor",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}},{d:"M100 176h-24c-3.68-0.01-7.32 0.71-10.72 2.12-3.4 1.4-6.49 3.47-9.09 6.07s-4.66 5.69-6.07 9.09-2.13 7.04-2.12 10.72v24a27.96 27.96 0 0 0 17.28 25.88c3.4 1.4 7.04 2.12 10.72 2.12h24c3.68 0 7.32-0.72 10.72-2.12 3.4-1.41 6.49-3.47 9.09-6.07s4.66-5.69 6.07-9.09c1.4-3.4 2.13-7.04 2.12-10.72v-24a28.04 28.04 0 0 0-8.21-19.79 28.04 28.04 0 0 0-19.79-8.21Z",style:{stroke:"currentcolor",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}},{d:"M100 96h-24c-3.68-0.01-7.32 0.71-10.72 2.12-3.4 1.4-6.49 3.47-9.09 6.07s-4.66 5.69-6.07 9.09-2.13 7.04-2.12 10.72v24a27.96 27.96 0 0 0 17.28 25.88c3.4 1.4 7.04 2.12 10.72 2.12h24c3.68 0 7.32-0.72 10.72-2.12 3.4-1.41 6.49-3.47 9.09-6.07s4.66-5.69 6.07-9.09c1.4-3.4 2.13-7.04 2.12-10.72v-24a28.04 28.04 0 0 0-8.21-19.79 28.04 28.04 0 0 0-19.79-8.21Z",style:{stroke:"currentcolor",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}},{d:"M356 96h-200c-3.68-0.01-7.32 0.71-10.72 2.12-3.4 1.4-6.49 3.47-9.09 6.07s-4.66 5.69-6.07 9.09-2.13 7.04-2.12 10.72v104a27.96 27.96 0 0 0 17.28 25.88c3.4 1.4 7.04 2.12 10.72 2.12h200c3.68 0 7.32-0.72 10.72-2.12 3.4-1.41 6.49-3.47 9.09-6.07s4.66-5.69 6.07-9.09c1.4-3.4 2.13-7.04 2.12-10.72v-104a28.04 28.04 0 0 0-8.21-19.79 28.04 28.04 0 0 0-19.79-8.21Z",style:{stroke:"currentcolor",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}},{d:"M356 256h-200c-3.68-0.01-7.32 0.71-10.72 2.12-3.4 1.4-6.49 3.47-9.09 6.07s-4.66 5.69-6.07 9.09-2.13 7.04-2.12 10.72v104a27.96 27.96 0 0 0 17.28 25.88c3.4 1.4 7.04 2.12 10.72 2.12h200c3.68 0 7.32-0.72 10.72-2.12 3.4-1.41 6.49-3.47 9.09-6.07s4.66-5.69 6.07-9.09c1.4-3.4 2.13-7.04 2.12-10.72v-104a28.04 28.04 0 0 0-8.21-19.79 28.04 28.04 0 0 0-19.79-8.21Z",style:{stroke:"currentcolor",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}}]},movies:{viewBox:"0 0 512 512",paths:[{d:"M435.79999999999995 80.19999999999982h-360a44.03 44.03 0 0 0-31.1 12.9 44.03 44.03 0 0 0-12.9 31.1v264a44.03 44.03 0 0 0 12.9 31.1 44.03 44.03 0 0 0 31.1 12.9h360a44.03 44.03 0 0 0 31.1-12.9 44.03 44.03 0 0 0 12.9-31.1v-264a44.03 44.03 0 0 0-12.9-31.1 44.03 44.03 0 0 0-31.1-12.9m-324 308a11.997 11.997 0 0 1-12 12h-24c-1.58 0-3.14-0.31-4.6-0.91a12 12 0 0 1-3.89-2.6c-1.12-1.11-2-2.44-2.6-3.9-0.6-1.45-0.91-3.01-0.91-4.59v-24c0-1.58 0.31-3.14 0.91-4.59 0.6-1.46 1.48-2.79 2.6-3.9 1.11-1.11 2.44-2 3.89-2.6 1.46-0.6 3.02-0.91 4.6-0.91h24a11.997 11.997 0 0 1 12 12z m0-80a11.997 11.997 0 0 1-12 12h-24c-1.58 0-3.14-0.31-4.6-0.91a12 12 0 0 1-3.89-2.6c-1.12-1.11-2-2.44-2.6-3.9-0.6-1.45-0.91-3.01-0.91-4.59v-24c0-1.58 0.31-3.14 0.91-4.59 0.6-1.46 1.48-2.79 2.6-3.9 1.11-1.11 2.44-2 3.89-2.6 1.46-0.6 3.02-0.91 4.6-0.91h24a11.997 11.997 0 0 1 12 12z m0-80a11.997 11.997 0 0 1-12 12h-24c-1.58 0-3.14-0.31-4.6-0.91a12 12 0 0 1-3.89-2.6c-1.12-1.11-2-2.44-2.6-3.9-0.6-1.45-0.91-3.01-0.91-4.59v-24c0-1.58 0.31-3.14 0.91-4.59 0.6-1.46 1.48-2.79 2.6-3.9 1.11-1.11 2.44-2 3.89-2.6 1.46-0.6 3.02-0.91 4.6-0.91h24a11.997 11.997 0 0 1 12 12z m0-80a11.997 11.997 0 0 1-12 12h-24c-1.58 0-3.14-0.31-4.6-0.91a12 12 0 0 1-3.89-2.6c-1.12-1.11-2-2.44-2.6-3.9-0.6-1.45-0.91-3.01-0.91-4.59v-24c0-1.58 0.31-3.14 0.91-4.59 0.6-1.46 1.48-2.79 2.6-3.9 1.11-1.11 2.44-2 3.89-2.6 1.46-0.6 3.02-0.91 4.6-0.91h24a11.997 11.997 0 0 1 12 12z m241.68 124h-195.36c-4.24 0-8.31-1.69-11.31-4.69s-4.69-7.07-4.69-11.31 1.69-8.31 4.69-11.31 7.07-4.69 11.31-4.69h195.36c4.24 0 8.31 1.69 11.31 4.69s4.69 7.07 4.69 11.31-1.69 8.31-4.69 11.31-7.07 4.69-11.31 4.69m94.32 116a11.997 11.997 0 0 1-12 12h-24c-1.58 0-3.14-0.31-4.6-0.91a12 12 0 0 1-3.89-2.6c-1.12-1.11-2-2.44-2.6-3.9-0.6-1.45-0.91-3.01-0.91-4.59v-24c0-1.58 0.31-3.14 0.91-4.59 0.6-1.46 1.48-2.79 2.6-3.9 1.11-1.11 2.44-2 3.89-2.6 1.46-0.6 3.02-0.91 4.6-0.91h24a11.997 11.997 0 0 1 12 12z m0-80a11.997 11.997 0 0 1-12 12h-24c-1.58 0-3.14-0.31-4.6-0.91a12 12 0 0 1-3.89-2.6c-1.12-1.11-2-2.44-2.6-3.9-0.6-1.45-0.91-3.01-0.91-4.59v-24c0-1.58 0.31-3.14 0.91-4.59 0.6-1.46 1.48-2.79 2.6-3.9 1.11-1.11 2.44-2 3.89-2.6 1.46-0.6 3.02-0.91 4.6-0.91h24a11.997 11.997 0 0 1 12 12z m0-80a11.997 11.997 0 0 1-12 12h-24c-1.58 0-3.14-0.31-4.6-0.91a12 12 0 0 1-3.89-2.6c-1.12-1.11-2-2.44-2.6-3.9-0.6-1.45-0.91-3.01-0.91-4.59v-24c0-1.58 0.31-3.14 0.91-4.59 0.6-1.46 1.48-2.79 2.6-3.9 1.11-1.11 2.44-2 3.89-2.6 1.46-0.6 3.02-0.91 4.6-0.91h24a11.997 11.997 0 0 1 12 12z m0-80a11.997 11.997 0 0 1-12 12h-24c-1.58 0-3.14-0.31-4.6-0.91a12 12 0 0 1-3.89-2.6c-1.12-1.11-2-2.44-2.6-3.9-0.6-1.45-0.91-3.01-0.91-4.59v-24c0-1.58 0.31-3.14 0.91-4.59 0.6-1.46 1.48-2.79 2.6-3.9 1.11-1.11 2.44-2 3.89-2.6 1.46-0.6 3.02-0.91 4.6-0.91h24a11.997 11.997 0 0 1 12 12z",style:{fill:"currentcolor"}}]},"cloud-library":{viewBox:"0 0 512 512",paths:[{d:"M415.5100000000002 404.5500000000002l0.37-0.04h0.04l0.88-0.13a90.47 90.47 0 0 0 57.9-30.97 90.45 90.45 0 0 0 21.74-61.95 90.5 90.5 0 0 0-25.86-60.36 90.5 90.5 0 0 0-59.85-27l-6.42-0.36-0.13-6.42c-1.62-73.55-63.06-133.4-136.96-133.4-66.36 0-123.05 47.13-134.81 112.05l-1.1 6.02-6.11-0.32c-1.86-0.1-3.73-0.15-5.62-0.16-56.35 0-102.21 45.67-102.21 101.8a101.4 101.4 0 0 0 26.59 68.77 101.45 101.45 0 0 0 66.14 32.58l0.08 0.01c3.17 0.29 6.34 0.43 9.4 0.43 3.12 0 6.3-0.14 9.5-0.44l0.32-0.03h0.31l265.2-0.11h0.37l0.37 0.04q4.935 0.54 9.9 0.54c3.33 0 6.66-0.19 9.97-0.55m-20.6-16.34l-265.21 0.11c-0.7 0-1.41 0.04-2.11 0.1-2.7 0.24-5.39 0.37-8.01 0.37-2.57 0-5.24-0.12-7.92-0.37a85.18 85.18 0 0 1-55.6-27.34 85.25 85.25 0 0 1-22.38-57.77c0-47.14 38.53-85.49 85.9-85.49 1.59 0 3.18 0.05 4.75 0.13q0.63 0.03 1.26 0.03c5.45 0 10.72-1.91 14.9-5.4 4.18-3.5 7-8.35 7.97-13.71 10.34-57.15 60.29-98.63 118.75-98.63 65.1 0 119.23 52.68 120.65 117.44 0.15 5.84 2.49 11.42 6.55 15.62 4.06 4.21 9.55 6.74 15.39 7.09 18.56 0.96 36.08 8.85 49.11 22.11a74.19 74.19 0 0 1 21.22 49.5 74.2 74.2 0 0 1-17.83 50.82 74.2 74.2 0 0 1-47.5 25.38l-0.61 0.08c-2.87 0.33-5.76 0.5-8.65 0.51-2.72 0-5.44-0.15-8.15-0.45-0.83-0.09-1.66-0.13-2.49-0.13",style:{fill:"currentcolor"}},{d:"M321.39999999999964 209.82999999999993c-0.68-2.95-2.51-5.5-5.07-7.1a11.38 11.38 0 0 0-8.61-1.44c-2.95 0.68-5.5 2.5-7.1 5.07s-2.12 5.66-1.44 8.61l25 108.09c0.72 2.9 2.56 5.41 5.11 6.97a11.42 11.42 0 0 0 8.52 1.39 11.43 11.43 0 0 0 7.06-5c1.6-2.52 2.15-5.58 1.52-8.5z",style:{fill:"currentcolor"}},{d:"M277.03999999999996 198.14000000000033c-3.02 0.01-5.92 1.21-8.06 3.35a11.4 11.4 0 0 0-3.34 8.06v110.94a11.43 11.43 0 0 0 3.45 7.84c2.13 2.07 4.98 3.22 7.95 3.22 2.96 0 5.81-1.15 7.94-3.22a11.43 11.43 0 0 0 3.45-7.84v-110.94c0-1.5-0.29-2.98-0.86-4.37-0.86-2.08-2.33-3.87-4.2-5.12a11.44 11.44 0 0 0-6.34-1.92",style:{fill:"currentcolor"}},{d:"M200.4300000000003 198.14000000000033c-1.5 0-2.98 0.29-4.37 0.86-1.38 0.58-2.64 1.42-3.7 2.48s-1.9 2.32-2.47 3.7a11.5 11.5 0 0 0-0.86 4.37v110.94a11.43 11.43 0 0 0 3.45 7.84c2.13 2.07 4.98 3.22 7.95 3.22 2.96 0 5.81-1.15 7.94-3.22a11.43 11.43 0 0 0 3.45-7.84v-110.94c0-1.5-0.29-2.98-0.86-4.37-0.58-1.38-1.42-2.64-2.48-3.7-1.05-1.06-2.31-1.9-3.69-2.47a11.5 11.5 0 0 0-4.37-0.87",style:{fill:"currentcolor"}},{d:"M238.72999999999956 220.51000000000022c-3.02 0.01-5.91 1.21-8.05 3.35a11.43 11.43 0 0 0-3.35 8.05V320.5a11.43 11.43 0 0 0 3.45 7.84 11.4 11.4 0 0 0 7.94 3.22c2.97 0 5.82-1.15 7.95-3.22a11.43 11.43 0 0 0 3.45-7.84v-88.59c-0.01-3.02-1.21-5.91-3.35-8.05a11.43 11.43 0 0 0-8.05-3.35",style:{fill:"currentcolor"}}]},"chevron-back":{viewBox:"0 0 512 512",paths:[{d:"M328 112.00000000000006l-144 144 144 144",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"48",fill:"none"}}]},"sort-up-down":{viewBox:"0 0 512 512",paths:[{d:"M158.59000000000015 319.22499999999997l86.18 100.576a14.78 14.78 0 0 0 11.24 5.165 14.8 14.8 0 0 0 11.23-5.165l86.19-100.576a14.8 14.8 0 0 0 2.21-15.812 14.87 14.87 0 0 0-5.46-6.276 14.85 14.85 0 0 0-7.99-2.341H169.79999999999927c-2.84 0-5.61 0.812-7.99 2.34a14.87 14.87 0 0 0-5.46 6.279 14.84 14.84 0 0 0-1.2 8.232c0.4 2.803 1.59 5.433 3.44 7.578",style:{fill:"currentcolor"}},{d:"M158.59000000000015 192.78000000000003l86.18-100.58a14.8 14.8 0 0 1 5.06-3.812 14.8 14.8 0 0 1 17.41 3.812l86.19 100.58a14.8 14.8 0 0 1 2.21 15.813 14.87 14.87 0 0 1-5.46 6.277 14.85 14.85 0 0 1-7.99 2.34h-172.4c-2.83 0-5.6-0.812-7.98-2.34a14.8 14.8 0 0 1-5.46-6.28 14.84 14.84 0 0 1-1.2-8.232c0.4-2.803 1.59-5.433 3.44-7.578",style:{fill:"currentcolor"}}]},"caret-down":{viewBox:"0 0 512 512",paths:[{d:"M91.79999999999927 213.79899999999998l145.3 169.6c2.1 2.536 4.7 4.592 7.7 6.031 2.9 1.487 6.1 2.382 9.4 2.633 3.2 0.251 6.5-0.147 9.6-1.171 3.1-1.035 6-2.662 8.5-4.793 1-0.797 1.9-1.703 2.7-2.7l145.3-169.6c3.1-3.647 5-8.083 5.7-12.8 0.7-4.719 0-9.539-2-13.869-2-4.344-5.2-8.023-9.2-10.599s-8.7-3.942-13.5-3.932h-290.7c-3.3-0.01-6.6 0.626-9.6 1.873-4.6 1.86-8.5 5.058-11.2 9.175-2.7 4.109-4.2 8.924-4.2 13.852 0.1 5.99 2.3 11.756 6.2 16.3",style:{fill:"currentcolor"}}]},"caret-up":{viewBox:"0 0 512 512",paths:[{d:"M91.79999999999927 314.9l145.3-169.6c2.1-2.535 4.7-4.591 7.7-6.031 2.9-1.487 6.1-2.381 9.4-2.632 3.2-0.251 6.5 0.147 9.6 1.17 3.1 1.036 6 2.663 8.5 4.793 1 0.797 1.9 1.703 2.7 2.7l145.3 169.6c3.1 3.647 5 8.083 5.7 12.8 0.7 4.719 0 9.538-2 13.869a25.1 25.1 0 0 1-9.2 10.599c-4 2.576-8.7 3.94-13.5 3.931h-290.7c-3.3 0.011-6.6-0.625-9.6-1.873a24.23 24.23 0 0 1-11.2-9.175c-2.7-4.109-4.2-8.924-4.2-13.852 0.1-5.99 2.3-11.755 6.2-16.299",style:{fill:"currentcolor"}}]},"chevron-forward":{viewBox:"0 0 512 512",paths:[{d:"M184 400.00000000000006l144-144-144-144",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"48",fill:"none"}}]},"chevron-down":{viewBox:"0 0 512 512",paths:[{d:"M112 184.00000000000006l144 144 144-144",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"48",fill:"none"}}]},"chevron-up":{viewBox:"0 0 512 512",paths:[{d:"M400 328.00000000000006l-144-144-144 144",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"48",fill:"none"}}]},"more-vertical":{viewBox:"0 0 512 512",paths:[{d:"M256 293.591c7.4-0.016 14.7-2.22 20.9-6.339 6.2-4.109 11-9.989 13.8-16.872 2.9-6.862 3.6-14.421 2.2-21.719-1.5-7.273-5.1-13.956-10.3-19.246a38.2 38.2 0 0 0-15.7-9.4 37.47 37.47 0 0 0-18.2-0.9c-9.2 1.827-17.3 6.988-22.9 14.482-5.5 7.495-8.1 16.788-7.2 26.077 0.6 6.164 2.7 12.087 6.1 17.234 3.5 5.147 8.1 9.356 13.6 12.246 5.4 2.922 11.5 4.447 17.7 4.437",style:{fill:"currentcolor"}},{d:"M256 418.899c7.4-0.016 14.7-2.22 20.9-6.339 6.2-4.109 11-9.989 13.8-16.872 2.9-6.862 3.6-14.421 2.2-21.719-1.5-7.273-5.1-13.956-10.3-19.246a38.2 38.2 0 0 0-15.7-9.4 37.45 37.45 0 0 0-18.2-0.9c-6.1 1.211-11.7 3.894-16.5 7.814s-8.5 8.955-10.9 14.662-3.3 11.92-2.7 18.075c0.6 6.164 2.7 12.087 6.1 17.234 3.5 5.147 8.1 9.356 13.6 12.246 5.4 2.925 11.5 4.453 17.7 4.445",style:{fill:"currentcolor"}},{d:"M256 168.28200000000004c7.4-0.016 14.7-2.22 20.9-6.339 6.2-4.109 11-9.989 13.8-16.872 2.9-6.862 3.6-14.421 2.2-21.72-1.5-7.273-5.1-13.955-10.3-19.245a38.2 38.2 0 0 0-15.7-9.4 37.45 37.45 0 0 0-18.2-0.9c-6.1 1.211-11.7 3.896-16.5 7.817s-8.5 8.958-10.9 14.666-3.3 11.92-2.7 18.075c0.6 6.164 2.7 12.087 6.1 17.234 3.5 5.147 8.1 9.356 13.6 12.246 5.4 2.922 11.5 4.447 17.7 4.438",style:{fill:"currentcolor"}}]},"more-horizontal":{viewBox:"0 0 512 512",paths:[{d:"M293.60000000000036 256c0-7.435-2.2-14.701-6.3-20.881-4.2-6.181-10.1-10.998-16.9-13.844-6.9-2.846-14.4-3.593-21.7-2.147s-14 5.021-19.3 10.272c-5.2 5.293-8.8 11.977-10.3 19.252-1.4 7.3-0.7 14.861 2.2 21.725a36.93 36.93 0 0 0 13.8 16.876c4.2 2.833 9 4.777 14 5.711s10.1 0.842 15.1-0.273 9.7-3.23 13.8-6.214 7.6-6.777 10.2-11.147c3.6-5.818 5.4-12.512 5.4-19.333z",style:{fill:"currentcolor"}},{d:"M418.89999999999964 256c0-7.435-2.2-14.701-6.4-20.881-4.1-6.18-10-10.997-16.8-13.843-6.9-2.846-14.5-3.593-21.7-2.147-7.3 1.446-14 5.02-19.3 10.271-5.2 5.292-8.8 11.977-10.3 19.252-1.4 7.299-0.7 14.86 2.2 21.725a36.93 36.93 0 0 0 13.8 16.876c5.1 3.435 11.1 5.549 17.2 6.156 6.2 0.607 12.4-0.312 18.1-2.675 4.6-1.877 8.7-4.647 12.2-8.148 3.5-3.461 6.3-7.616 8.1-12.2 1.9-4.557 2.9-9.447 2.9-14.386",style:{fill:"currentcolor"}},{d:"M168.29999999999927 256c0-7.435-2.2-14.701-6.4-20.881-4.1-6.18-10-10.997-16.8-13.843-6.9-2.846-14.5-3.593-21.7-2.147-7.3 1.446-14 5.02-19.3 10.271-5.2 5.292-8.8 11.977-10.3 19.252-1.4 7.299-0.7 14.86 2.2 21.725a36.93 36.93 0 0 0 13.8 16.876c4.2 2.833 9 4.776 14 5.711s10.1 0.842 15.1-0.274c5-1.115 9.7-3.229 13.8-6.214 4.1-2.984 7.6-6.777 10.2-11.146 3.6-5.818 5.4-12.513 5.4-19.333z",style:{fill:"currentcolor"}}]},"open-in-browser":{viewBox:"0 0 512 512",paths:[{d:"M372.10000000000036 225.5999999999999V376.29999999999995c0 4.75-0.93 9.46-2.75 13.86a36.1 36.1 0 0 1-7.85 11.74 36.1 36.1 0 0 1-11.74 7.85c-4.4 1.82-9.11 2.75-13.86 2.75h-217.1c-4.75 0-9.46-0.93-13.86-2.75a36.23 36.23 0 0 1-19.59-19.6c-1.82-4.39-2.75-9.1-2.75-13.85v-217.1c0-4.76 0.93-9.46 2.75-13.86 1.82-4.39 4.48-8.38 7.85-11.74 3.36-3.37 7.35-6.03 11.74-7.85 4.4-1.82 9.11-2.75 13.86-2.75h151.5",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"39.699",fill:"none"}},{d:"M328.7000000000007 65.20000000000005h101.2v101.2",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"39.699",fill:"none"}},{d:"M221.60000000000036 263.70000000000005l198.5-178.7",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"39.699",fill:"none"}}]},maximize:{viewBox:"0 0 512 512",paths:[{d:"M406.5 311.89999999999986v95.8h-95.8",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"39.027",fill:"none"}},{d:"M105.5 202.5v-95.8h95.8",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"39.027",fill:"none"}},{d:"M310.7000000000007 106.70000000000005h95.8v95.8",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"39.027",fill:"none"}},{d:"M201.30000000000018 407.70000000000005h-95.8v-95.8",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"39.027",fill:"none"}}]},minimize:{viewBox:"0 0 512 512",paths:[{d:"M310.7000000000007 407.7000000000003v-95.8h95.8",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"39.027",fill:"none"}},{d:"M201.30000000000018 106.70000000000005v95.8h-95.8",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"39.027",fill:"none"}},{d:"M406.5 202.5h-95.8v-95.8",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"39.027",fill:"none"}},{d:"M105.5 312h95.8v95.8",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"39.027",fill:"none"}}]},scale:{viewBox:"0 0 512 512",paths:[{d:"M320 80h112v112",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}},{d:"M421.7699999999995 90.19999999999982l-117.77 117.8",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}},{d:"M192 432h-112v-112",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}},{d:"M90.22999999999956 421.7999999999997l117.77-117.8",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}}]},"notifications-outline":{viewBox:"0 0 512 512",paths:[{d:"M413.7999999999993 343.70000000000005c-23.6-28.9-40.3-43.6-40.3-123.2 0-73-37.2-98.9-67.9-111.6-2.12-0.88-4.03-2.19-5.6-3.87a16.1 16.1 0 0 1-3.5-5.83 41.06 41.06 0 0 0-13.92-24.66 41.02 41.02 0 0 0-26.58-9.77c-9.74 0-19.16 3.46-26.58 9.77a41.06 41.06 0 0 0-13.92 24.66c-0.76 2.16-1.96 4.14-3.52 5.81-1.57 1.67-3.47 3-5.58 3.89-30.7 12.6-67.9 38.5-67.9 111.6 0 79.7-16.7 94.4-40.3 123.2a18.552 18.552 0 0 0 3.1 26c3.62 2.8 8.13 4.19 12.7 3.9h284a18.554 18.554 0 0 0 19.6-17.4 18.9 18.9 0 0 0-3.8-12.5",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"37",fill:"none"}},{d:"M314.7999999999993 373.70000000000005v14.6c0 15.59-6.19 30.55-17.22 41.58a58.85 58.85 0 0 1-41.58 17.22c-15.59 0-30.55-6.2-41.58-17.22a58.85 58.85 0 0 1-17.22-41.58v-14.6",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"37",fill:"none"}}]},notifications:{viewBox:"0 0 512 512",paths:[{d:"M413.7999999999993 343.8000000000002c-23.6-28.9-40.3-43.6-40.3-123.2 0-73-37.2-98.9-67.9-111.6-2.12-0.88-4.03-2.19-5.6-3.87a16.1 16.1 0 0 1-3.5-5.83 41.06 41.06 0 0 0-13.92-24.66 41.02 41.02 0 0 0-26.58-9.77c-9.74 0-19.16 3.46-26.58 9.77a41.06 41.06 0 0 0-13.92 24.66c-0.76 2.16-1.96 4.14-3.52 5.81-1.57 1.67-3.47 3-5.58 3.89-30.7 12.6-67.9 38.5-67.9 111.6 0 79.7-16.7 94.4-40.3 123.2a18.552 18.552 0 0 0 3.1 26c3.62 2.8 8.13 4.19 12.7 3.9h284c3.55 0.2 7.09-0.63 10.19-2.38 3.09-1.76 5.63-4.36 7.29-7.51 1.66-3.14 2.39-6.7 2.09-10.25a18.67 18.67 0 0 0-3.77-9.76",style:{fill:"currentcolor"}},{d:"M213.79999999999927 429.4000000000001a58.7 58.7 0 0 0 19.25 13.17c7.23 3.06 15 4.63 22.85 4.63s15.62-1.57 22.85-4.63A58.7 58.7 0 0 0 298 429.4000000000001z",style:{fill:"none",stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"37"}}]},"person-outline":{viewBox:"0 0 512 512",paths:[{d:"M327.60000000000036 151.69999999999982c-3.2 43.1-35.9 78.3-71.7 78.3-35.9 0-68.6-35.1-71.7-78.3a71.98 71.98 0 0 1 16.72-52.36 71.94 71.94 0 0 1 48.8-25.29 71.98 71.98 0 0 1 52.42 16.54 71.95 71.95 0 0 1 25.46 48.71c0.4 4.12 0.4 8.28 0 12.4",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"37",fill:"none"}},{d:"M256 282.1999999999998c-70.9 0-142.9 39.1-156.2 113a13.635 13.635 0 0 0 4.64 14.48c1.41 1.11 3.03 1.94 4.76 2.42 1.11 0.32 2.25 0.49 3.4 0.5h287c2.71-0.07 5.34-0.95 7.55-2.52s3.91-3.76 4.87-6.3c1.03-2.78 1.16-5.82 0.38-8.68-13.4-73.8-85.5-112.9-156.4-112.9",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"37",fill:"none"}}]},person:{viewBox:"0 0 512 512",paths:[{d:"M321 87.5c-16.5-17.7-39.5-27.5-64.8-27.5-25.5 0-48.6 9.7-65 27.3-16.6 17.8-24.6 42-22.8 68.2 3.8 51.6 43.1 93.5 87.7 93.5s83.9-41.9 87.7-93.5c2-25.9-6.1-50.1-22.8-68",style:{fill:"currentcolor"}},{d:"M404.3000000000011 437h-296.1c-3.87 0.06-7.7-0.76-11.2-2.4a25.8 25.8 0 0 1-9.1-7c-2.76-3.4-4.73-7.37-5.77-11.62a29.5 29.5 0 0 1-0.23-12.98c7.1-39.5 29.3-72.7 64.1-96 30.9-20.7 70.1-32.1 110.4-32.1s79.4 11.4 110.4 32.1c34.8 23.3 57 56.5 64.1 96a30.3 30.3 0 0 1-0.31 12.96 30.5 30.5 0 0 1-5.69 11.64 25.8 25.8 0 0 1-9.1 7 27.6 27.6 0 0 1-11.5 2.4",style:{fill:"currentcolor"}}]},glasses:{viewBox:"0 0 512 512",paths:[{d:"M288 250.8399999999997s16.6-16.57 82.8-16.57c66.3 0 82.8 16.57 82.8 16.57v1.25c-0.1 98.43-16.8 131.29-82.8 131.29-66.2 0-82.8-33.11-82.8-132.54m-232 1.25v-1.25s16.6-16.57 82.8-16.57c66.3 0 82.9 16.57 82.9 16.57 0 99.43-16.6 132.54-82.9 132.54-65.9 0-82.7-32.86-82.8-131.29m165.7 2.32c0-1.95 14.8-3.57 33.1-3.57s33.2 1.62 33.2 3.57z m191.9-83.39c6.5 5.1 58.1 74.77 58.1 74.77z m-315.2 0l-58.1 74.77s51.6-69.67 58.1-74.77",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}}]},"star-outline":{viewBox:"0 0 512 512",paths:[{d:"M256 84.89999999999986l51 90.5c4.1 7.25 9.8 13.5 16.6 18.31s14.6 8.05 22.8 9.49l103.3 17.9-71 70.8c-6.2 6.17-10.8 13.7-13.6 21.97-2.8 8.28-3.6 17.08-2.4 25.73l14 98.6-97.4-44.7c-7.4-3.36-15.4-5.1-23.5-5.1s-16.1 1.74-23.5 5.1l-97.3 44.7 14-98.6c1.2-8.66 0.4-17.48-2.4-25.78-2.8-8.29-7.4-15.83-13.6-22.02l-71-70.8 103.4-17.9c8.2-1.41 16-4.63 22.8-9.44s12.4-11.09 16.5-18.36z m0-40.1c-4.3 0-8.5 1.14-12.2 3.3-3.7 2.17-6.8 5.27-8.9 9l-57.8 102.5c-1.8 3.09-4.2 5.78-7.1 7.87-2.9 2.07-6.3 3.48-9.8 4.13l-118.2 20.4c-4.4 0.76-8.5 2.71-11.8 5.64-2.5 2.18-4.5 4.87-5.9 7.87s-2.2 6.26-2.3 9.57 0.5 6.61 1.7 9.69 3.1 5.88 5.4 8.23l81.6 81.4c2.7 2.65 4.7 5.9 5.9 9.48s1.5 7.39 1 11.12l-16 112.7c-0.7 4.6 0 9.3 2 13.5a24.36 24.36 0 0 0 13.6 12.59c6 2.23 12.7 1.98 18.5-0.69l110.3-50.7c3.2-1.45 6.6-2.2 10.1-2.2s6.9 0.75 10.1 2.2l110.4 50.7c3.2 1.47 6.6 2.22 10.1 2.2 1.1 0 2.3-0.1 3.4-0.2 4.7-0.68 9.2-2.75 12.7-5.95 3.6-3.2 6.1-7.38 7.3-12.02 0.8-3.08 1-6.29 0.5-9.43l-16-112.7c-0.5-3.73-0.2-7.54 1-11.12s3.2-6.83 5.9-9.48l81.7-81.4c4.1-4.01 6.6-9.34 7.1-15.03 0.5-5.7-1-11.39-4.3-16.06-1.9-2.58-4.2-4.8-6.9-6.52-2.7-1.68-5.7-2.83-8.8-3.39l-118.2-20.4c-3.5-0.59-6.9-1.98-9.8-4.05-3-2.04-5.4-4.77-7.1-7.95l-57.8-102.5c-2.2-3.82-5.4-6.99-9.2-9.2-3.8-1.99-7.9-3.06-12.2-3.1",style:{fill:"currentcolor"}}]},star:{viewBox:"0 0 512 512",paths:[{d:"M234.89999999999964 57.19999999999982c3.2-5.59 8.4-9.7 14.6-11.43 6.2-1.72 12.8-0.92 18.4 2.23 3.8 2.21 7 5.38 9.2 9.2l57.8 102.5c1.8 3.09 4.2 5.78 7.1 7.87 2.9 2.07 6.3 3.48 9.8 4.13l118.2 20.4c4.4 0.73 8.5 2.68 11.8 5.62 2.5 2.2 4.5 4.87 6 7.86 1.4 3.01 2.2 6.27 2.3 9.59 0.1 3.33-0.5 6.64-1.7 9.73s-3.1 5.88-5.5 8.2l-81.7 81.4c-2.7 2.65-4.7 5.9-5.9 9.48s-1.5 7.39-1 11.12l16 112.7c0.9 6.35-0.8 12.79-4.6 17.93-3.8 5.13-9.6 8.54-15.9 9.47-4.6 0.7-9.3 0-13.5-2l-110.4-50.7a24.5 24.5 0 0 0-10.1-2.18c-3.5 0-6.9 0.74-10.1 2.18l-110.3 50.7c-2.9 1.33-6 2.08-9.2 2.2s-6.3-0.38-9.3-1.49c-3-1.12-5.7-2.8-8.1-4.95-2.3-2.17-4.2-4.77-5.5-7.66-1.9-4.23-2.6-8.9-2-13.5l16-112.7c0.5-3.73 0.2-7.54-1-11.12s-3.2-6.83-5.9-9.48l-81.6-81.4a22.8 22.8 0 0 1-5.3-7.83c-1.8-4.42-2.3-9.28-1.4-13.97 0.9-4.7 3.2-9.01 6.6-12.4 3.6-3.5 8.1-5.86 13-6.8l118.2-20.4c3.5-0.59 6.9-1.97 9.8-4.05 3-2.04 5.4-4.77 7.1-7.95z",style:{fill:"currentcolor"}}]},close:{viewBox:"0 0 512 512",paths:[{d:"M289.90000000000146 256l95-95c4.5-4.53 7-10.63 7.1-17 0-6.38-2.5-12.5-7-17.02s-10.6-7.07-17-7.08c-3.2-0.01-6.3 0.61-9.2 1.81s-5.6 2.96-7.8 5.19l-95 95-95-95c-3.4-3.33-7.6-5.6-12.3-6.51-4.6-0.91-9.4-0.42-13.8 1.4-4.4 1.79-8.1 4.86-10.8 8.81-2.6 3.94-4 8.58-4 13.33-0.1 3.15 0.5 6.28 1.7 9.19 1.2 2.92 3 5.57 5.2 7.78l95 95-95 95c-2.8 2.8-4.8 6.24-6 10.02-1.1 3.78-1.3 7.78-0.5 11.64 0.8 3.87 2.5 7.48 5 10.52 2.5 3.05 5.8 5.43 9.4 6.93 4.4 1.81 9.2 2.29 13.8 1.39 4.7-0.91 8.9-3.17 12.3-6.5l95-95 95 95c3.4 3.34 7.6 5.6 12.3 6.51 4.6 0.92 9.4 0.43 13.8-1.39 4.4-1.8 8.1-4.87 10.8-8.82 2.6-3.94 4-8.58 4-13.33 0.1-3.15-0.5-6.28-1.7-9.2-1.2-2.91-3-5.56-5.2-7.77z",style:{fill:"currentcolor"}}]},checkmark:{viewBox:"0 0 512 512",paths:[{d:"M416 128l-224 256-96-96",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"60",fill:"none"}}]},network:{viewBox:"0 0 512 512",paths:[{d:"M256 74.90000000000009c-103.9 0-188.2 84.22-188.2 188.2 0 103.9 84.2 188.2 188.2 188.2 49.9 0 97.8-19.83 133.1-55.12 35.3-35.3 55.1-83.17 55.1-133.08s-19.8-97.78-55.1-133.08a188.3 188.3 0 0 0-133.1-55.12m0 28.3c1.6 0 3.1 0.17 4.6 0.25a233.3 233.3 0 0 0-68.4 79.23c-4.8-1.15-9.8-1.07-14.6 0.23-4.7 1.3-9.1 3.78-12.6 7.21-3.6 3.42-6.2 7.68-7.7 12.39-1.4 4.71-1.7 9.72-0.7 14.55a276.8 276.8 0 0 0-60.1 39.62c1.7-41.21 19.2-80.18 48.9-108.78s69.4-44.62 110.6-44.7m54.1 87.85c-6.6 0.95-12.8 3.55-18.1 7.55-5.3 4.01-9.5 9.28-12.2 15.34-21.5-4.07-43.4-5.91-65.3-5.49-0.6-6.78-3.5-13.15-8.3-17.99-0.4-0.34-0.7-0.51-1.1-0.85 18.3-34.23 45.2-63.14 78-83.88 1.4 0.25 2.8 0.34 4.2 0.59 11.7 26.9 19.4 55.4 22.7 84.56z m-4.7-79.91c37.2 12.17 68.7 37.53 88.5 71.29-13.6 10.72-29.4 18.47-46.2 22.72-0.8-0.93-1.4-2.02-2.3-2.95-5.6-5.55-12.7-9.37-20.4-10.98 0-0.54-0.1-1.08-0.2-1.61-3.2-26.86-9.7-53.22-19.4-78.47m-15.9 149.85c-22 26.88-49.7 48.45-81.2 63.1-0.6-0.83-1.3-1.62-2-2.37-2.8-2.85-6.3-5.08-10-6.55-3.8-1.47-7.8-2.14-11.8-1.98-6-23.83-5.9-48.8 0.4-72.56 5.8 0.15 11.4-1.43 16.3-4.53s8.7-7.58 11-12.87c21.5-0.58 43 1.09 64.1 4.98-0.4 5.75 0.4 11.52 2.4 16.93 2 5.42 5.1 10.33 9.2 14.41 0.5 0.53 1 1.01 1.6 1.44m-126.4-30.75c0.5 0.66 1 1.28 1.6 1.86 1.8 1.77 3.8 3.28 6 4.48-7.2 26.45-7.3 54.32-0.3 80.83-2.1 1.22-4 2.67-5.7 4.31-5.1 5.14-8.1 12.01-8.5 19.26-14.6-0.34-29.1-2.7-43-7.01-9.1-18.17-14.7-37.93-16.3-58.2 19.8-18.3 42-33.64 66.2-45.53m-4.1 125.52h0.3c2.9 6.12 7.9 10.99 14.1 13.76a28.7 28.7 0 0 0 19.7 1.36c11.9 19.5 27.1 36.74 45 50.94-23.1-2.62-45.3-10.23-65.1-22.29-19.9-12.06-36.8-28.29-49.8-47.57 11.8 2.53 23.8 3.8 35.8 3.8m46.9 7.86c0.1-0.08 0.2-0.17 0.3-0.25 3.3-3.33 5.8-7.4 7.2-11.88 1.5-4.48 1.8-9.25 1-13.89 34.2-15.78 64.2-39.32 87.7-68.76 2.7 0.99 5.5 1.7 8.3 2.12-6.1 52.11-22 102.6-46.8 148.83-24.1-13.02-44-32.47-57.7-56.17m73.7 57.27c24.4-46.86 39.9-97.84 45.7-150.36 7.7-1.6 14.7-5.42 20.2-10.98 1-1.05 1.9-2.18 2.7-3.38a96 96 0 0 1 36.2 17.38c10.7 8.27 19.6 18.69 26 30.6-8.1 30.07-24.8 57.14-48 77.87-23.2 20.74-52 34.25-82.8 38.87m75.6-177.89c2.5-8.05 2.4-16.66-0.2-24.67 16.5-4.67 32-12.31 45.8-22.55 12.7 27 17.5 57.05 13.8 86.66-15.3-18.93-36-32.7-59.4-39.44",style:{fill:"currentcolor"}}]},about:{viewBox:"0 0 512 512",paths:[{d:"M251.3000000000011 83.90000000000009c-42.8 0-84 15.91-115.7 44.63s-51.5 68.2-55.7 110.75c-4.2 42.56 7.6 85.15 33.1 119.49 25.4 34.35 62.8 57.99 104.7 66.32 42 8.34 85.5 0.78 122.2-21.21s63.8-56.83 76.3-97.75c12.4-40.93 9.1-85-9.2-123.65a172.33 172.33 0 0 0-89.8-85.48c-20.9-8.65-43.3-13.1-65.9-13.1Z",style:{stroke:"currentcolor",strokeMiterlimit:"10",strokeWidth:"32",fill:"none"}},{d:"M225.20000000000073 229.80999999999995h29.9v102.06",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}},{d:"M218 335.7199999999998h77.1",style:{stroke:"currentcolor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"32",fill:"none"}},{d:"M251.3000000000011 145.5899999999997c-4.8 0-9.5 1.42-13.5 4.09-3 2-5.5 4.62-7.4 7.7-1.8 3.1-3 6.55-3.4 10.12-0.3 3.59 0.1 7.21 1.4 10.59 1.2 3.4 3.1 6.48 5.7 9 3.4 3.41 7.7 5.74 12.4 6.68 4.8 0.94 9.7 0.45 14.1-1.4 4.4-1.87 8.2-4.98 10.9-8.95 2.7-3.99 4.1-8.7 4.1-13.51 0-3.19-0.6-6.35-1.8-9.31-1.3-2.92-3.1-5.6-5.3-7.89-4.6-4.56-10.8-7.12-17.2-7.12",style:{fill:"currentcolor"}}]},list:{viewBox:"0 0 512 512",paths:[{d:"M100.69999999999891 107h74.5c2.44 0 4.86 0.48 7.12 1.41s4.31 2.3 6.04 4.03 3.1 3.78 4.03 6.04 1.41 4.68 1.41 7.12v74.5c0 2.44-0.48 4.86-1.41 7.12s-2.3 4.31-4.03 6.04-3.78 3.1-6.04 4.03-4.68 1.41-7.12 1.41h-74.5c-2.44 0-4.86-0.48-7.12-1.41s-4.31-2.3-6.04-4.03-3.1-3.78-4.03-6.04-1.41-4.68-1.41-7.12v-74.5c0.01-4.93 1.97-9.65 5.46-13.14s8.21-5.45 13.14-5.46",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"37.252",fill:"none"}},{d:"M100.69999999999891 293.2999999999997h74.5c2.44 0 4.86 0.48 7.12 1.41s4.31 2.3 6.04 4.03 3.1 3.78 4.03 6.04 1.41 4.68 1.41 7.12v74.5c0 2.44-0.48 4.86-1.41 7.12s-2.3 4.31-4.03 6.04-3.78 3.1-6.04 4.03-4.68 1.41-7.12 1.41h-74.5c-2.44 0-4.86-0.48-7.12-1.41s-4.31-2.3-6.04-4.03-3.1-3.78-4.03-6.04-1.41-4.68-1.41-7.12v-74.5c0-2.44 0.48-4.86 1.41-7.12s2.3-4.31 4.03-6.04 3.78-3.1 6.04-4.03 4.68-1.41 7.12-1.41",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"37.252",fill:"none"}},{d:"M286.89999999999964 144.29999999999973h149c4.93 0 9.66 1.96 13.15 5.45s5.45 8.22 5.45 13.15-1.96 9.66-5.45 13.15a18.6 18.6 0 0 1-13.15 5.45h-149c-4.93 0-9.66-1.96-13.15-5.45a18.6 18.6 0 0 1-5.45-13.15c0-4.93 1.96-9.66 5.45-13.15s8.22-5.45 13.15-5.45Z",style:{stroke:"currentcolor",strokeWidth:"37.252",fill:"none"}},{d:"M286.89999999999964 330.5h149c4.93 0 9.66 1.96 13.15 5.45s5.45 8.22 5.45 13.15-1.96 9.66-5.45 13.15a18.6 18.6 0 0 1-13.15 5.45h-149c-4.93 0-9.66-1.96-13.15-5.45a18.6 18.6 0 0 1-5.45-13.15c0-4.93 1.96-9.66 5.45-13.15s8.22-5.45 13.15-5.45Z",style:{stroke:"currentcolor",strokeWidth:"37.252",fill:"none"}}]},grid:{viewBox:"0 0 512 512",paths:[{d:"M125.59999999999854 107h74.5c2.44 0 4.86 0.48 7.12 1.41s4.31 2.3 6.04 4.03 3.1 3.78 4.03 6.04 1.41 4.68 1.41 7.12v74.5c0 2.44-0.48 4.86-1.41 7.12s-2.3 4.31-4.03 6.04-3.78 3.1-6.04 4.03-4.68 1.41-7.12 1.41h-74.5c-2.44 0-4.86-0.48-7.12-1.41s-4.31-2.3-6.04-4.03-3.1-3.78-4.03-6.04-1.41-4.68-1.41-7.12v-74.5a18.52 18.52 0 0 1 5.42-13.18 18.522 18.522 0 0 1 13.18-5.42",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"37.252",fill:"none"}},{d:"M311.7999999999993 107h74.5c2.44 0 4.86 0.48 7.12 1.41s4.31 2.3 6.04 4.03 3.1 3.78 4.03 6.04 1.41 4.68 1.41 7.12v74.5c0 2.44-0.48 4.86-1.41 7.12s-2.3 4.31-4.03 6.04-3.78 3.1-6.04 4.03-4.68 1.41-7.12 1.41h-74.5c-2.44 0-4.86-0.48-7.12-1.41s-4.31-2.3-6.04-4.03-3.1-3.78-4.03-6.04-1.41-4.68-1.41-7.12v-74.5c0.01-4.93 1.97-9.65 5.46-13.14s8.21-5.45 13.14-5.46",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"37.252",fill:"none"}},{d:"M125.59999999999854 293.2999999999997h74.5c2.44 0 4.86 0.48 7.12 1.41s4.31 2.3 6.04 4.03 3.1 3.78 4.03 6.04 1.41 4.68 1.41 7.12v74.5c0 2.44-0.48 4.86-1.41 7.12s-2.3 4.31-4.03 6.04-3.78 3.1-6.04 4.03-4.68 1.41-7.12 1.41h-74.5c-2.44 0-4.86-0.48-7.12-1.41s-4.31-2.3-6.04-4.03-3.1-3.78-4.03-6.04-1.41-4.68-1.41-7.12v-74.5a18.52 18.52 0 0 1 5.42-13.18 18.522 18.522 0 0 1 13.18-5.42",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"37.252",fill:"none"}},{d:"M311.7999999999993 293.2999999999997h74.5c2.44 0 4.86 0.48 7.12 1.41 2.26 0.94 4.31 2.3 6.04 4.03s3.1 3.78 4.03 6.04 1.41 4.68 1.41 7.12v74.5c0 2.44-0.48 4.86-1.41 7.12s-2.3 4.31-4.03 6.04-3.78 3.1-6.04 4.03-4.68 1.41-7.12 1.41h-74.5c-2.44 0-4.86-0.48-7.12-1.41s-4.31-2.3-6.04-4.03-3.1-3.78-4.03-6.04-1.41-4.68-1.41-7.12v-74.5c0.01-4.93 1.97-9.65 5.46-13.14 3.49-3.48 8.21-5.45 13.14-5.46",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"37.252",fill:"none"}}]},share:{viewBox:"0 0 512 512",paths:[{d:"M396 459.89999999999964c-18.1 0.12-35.6-6.92-48.5-19.6-13-12.68-20.4-29.97-20.7-48.1v-1.5l-138.3-45.6a78.16 78.16 0 0 1-27.5 21.83 78.1 78.1 0 0 1-34.3 7.57c-20.25 0.8-39.99-6.47-54.89-20.22a76.497 76.497 0 0 1-4.45-108.01 76.46 76.46 0 0 1 53.04-24.67q3.15-0.15 6.3 0c17.5 0.17 34.4 5.84 48.5 16.2l101.7-66.2c-6.3-12.85-9.8-26.89-10.3-41.2-0.9-19.1 3.9-38.03 13.9-54.36 10-16.32 24.6-29.29 42-37.23 17.4-7.93 36.8-10.48 55.6-7.3 18.9 3.17 36.3 11.93 50.2 25.13 13.8 13.2 23.4 30.24 27.4 48.92 4.1 18.69 2.5 38.16-4.6 55.91-7.1 17.76-19.4 32.97-35.3 43.69a95.6 95.6 0 0 1-53.6 16.44c-12.2 0.2-24.4-2.04-35.8-6.59-11.3-4.55-21.7-11.32-30.4-19.91l-100 64.7c5.7 10.87 8.7 22.93 8.8 35.2-0.3 6.45-1.3 12.85-2.9 19.1l132.3 42.6a70.4 70.4 0 0 1 33.3-29.66c14-6 29.6-7.27 44.4-3.6 14.8 3.66 28 12.06 37.6 23.91s15.1 26.51 15.6 41.75c-0.1 18.45-7.4 36.13-20.3 49.33s-30.4 20.9-48.8 21.47m0-104.4c-6.9 0.3-13.6 2.62-19.2 6.68-5.6 4.05-9.8 9.67-12.3 16.14-2.4 6.47-2.9 13.51-1.4 20.25 1.6 6.74 5.1 12.88 10 17.66 5 4.78 11.3 7.99 18.1 9.22s13.9 0.44 20.2-2.28c6.4-2.72 11.8-7.25 15.6-13.02s5.8-12.54 5.8-19.45c-0.2-9.54-4.2-18.59-11.1-25.19s-16.2-10.19-25.7-10.01m-270.6-102.9a45.6 45.6 0 0 0-17.53 3.05 45.7 45.7 0 0 0-15.04 9.53 45.8 45.8 0 0 0-10.24 14.55 45.61 45.61 0 0 0-0.84 34.9 45.7 45.7 0 0 0 9.53 15.04c4.13 4.33 9.08 7.81 14.55 10.24a45.6 45.6 0 0 0 17.37 3.89h2.2c5.99 0.14 12-0.89 17.5-3.05 5.6-2.16 10.7-5.4 15.1-9.53 4.3-4.13 7.8-9.08 10.2-14.55 2.4-5.48 3.8-11.38 3.9-17.37 0.2-5.99-0.9-11.95-3-17.53-2.2-5.59-5.4-10.7-9.6-15.04-4.1-4.33-9.1-7.81-14.5-10.24a45.9 45.9 0 0 0-17.4-3.89z m236.8-180.9c-8-0.26-16 1.06-23.6 3.89-7.5 2.83-14.4 7.12-20.3 12.62-5.8 5.49-10.6 12.09-13.9 19.42s-5.1 15.23-5.4 23.27v1.1c0.3 16.24 7 31.72 18.6 43.02 11.7 11.31 27.4 17.52 43.6 17.28h1.1c8.2 0.39 16.3-0.89 24-3.75 7.6-2.86 14.6-7.24 20.5-12.88 6-5.65 10.7-12.43 13.9-19.95 3.2-7.51 4.8-15.6 4.8-23.77 0-8.18-1.6-16.26-4.9-23.77-3.2-7.51-7.9-14.29-13.8-19.92s-13-10.01-20.6-12.85c-7.7-2.85-15.8-4.11-24-3.71",style:{fill:"currentcolor"}}]},warning:{viewBox:"0 0 512 512",paths:[{d:"M449.10000000000036 399.0999999999999l-170.5-316.5c-12-22.4-44.2-22.4-56.3 0l-170.4 316.5c-2.7 4.85-4 10.35-3.8 15.9 0.1 5.52 1.7 10.92 4.5 15.67s6.8 8.69 11.6 11.43c4.8 2.72 10.3 4.17 15.8 4.2h340.9c5.5 0.01 11-1.44 15.8-4.2s8.8-6.68 11.7-11.4c2.8-4.76 4.4-10.17 4.5-15.71 0.1-5.53-1.2-11-3.8-15.89m-198.6-1.9c-3 0.01-5.9-0.65-8.6-1.92s-5-3.13-6.9-5.43c-1.9-2.29-3.2-4.98-3.9-7.86s-0.8-5.88-0.2-8.79c0.7-3.88 2.6-7.44 5.4-10.2 2.8-2.81 6.4-4.72 10.3-5.5 3.9-0.76 7.9-0.36 11.5 1.15a19.9 19.9 0 0 1 9 7.35c2.2 3.28 3.4 7.14 3.4 11.1 0 2.65-0.5 5.28-1.6 7.7-1.5 3.66-4 6.79-7.3 9s-7.1 3.39-11.1 3.4m21.7-201.1l-5.7 122c0 4.24-1.7 8.31-4.7 11.31s-7.1 4.69-11.3 4.69-8.3-1.69-11.3-4.69-4.7-7.07-4.7-11.31l-5.8-121.9c-0.2-5.87 1.9-11.59 5.9-15.9 2.1-2.04 4.5-3.73 7.1-5 2.7-1.18 5.6-1.79 8.5-1.8h0.2c2.9 0 5.9 0.58 8.6 1.7 2.7 1.16 5.1 2.86 7.1 5 2.1 2.09 3.7 4.62 4.7 7.4 1 2.72 1.5 5.6 1.4 8.5",style:{fill:"currentcolor"}}]},"cloud-sync":{viewBox:"0 0 512 512",paths:[{d:"M472.6999999999989 189.5c-13.3-8.4-29.8-14.6-48.1-17.9-3-0.6-5.9-2.06-8.1-4.2-2.2-2.19-3.8-4.96-4.5-8-7.9-34.5-24.6-64.1-49.1-86.6-28.8-26.2-66.7-40.7-106.9-40.7-35.4 0-68 11.1-94.4 32-17.8 14.2-32.1 32.25-41.9 52.8-1.1 2.3-2.8 4.32-4.8 5.89-2 1.56-4.4 2.63-6.9 3.11-27.1 4.9-50.5 14.7-68.4 28.7-25.9 20.3-39.6 49.1-39.6 83.1 0 67.4 55.9 114.4 136 114.4h72v-83c0-12.73 5.1-24.94 14.1-33.94s21.2-14.06 33.9-14.06 24.9 5.06 33.9 14.06 14.1 21.21 14.1 33.94v83h92c72.6 0 116-34.2 116-91.6 0-30.2-13.6-54.7-39.3-71",style:{fill:"currentcolor"}},{d:"M256 253c-4.2 0.01-8.3 1.7-11.3 4.7s-4.7 7.06-4.7 11.3v156.4l-36.7-36.6c-1.5-1.44-3.3-2.59-5.2-3.38-1.9-0.78-4-1.16-6.1-1.12-4.2 0.03-8.2 1.71-11.2 4.68-1.5 1.47-2.6 3.22-3.4 5.15s-1.2 3.99-1.2 6.07c0 4.2 1.6 8.25 4.5 11.3l64 63.9c1.5 1.5 3.2 2.69 5.2 3.48 1.9 0.81 4 1.22 6.1 1.22s4.2-0.41 6.1-1.22c2-0.79 3.7-1.98 5.2-3.48l64-63.9c1.5-1.49 2.6-3.26 3.4-5.2 0.7-1.96 1.1-4.02 1.1-6.1 0-3.13-0.9-6.18-2.7-8.79-1.7-2.61-4.1-4.66-7-5.89-1.9-0.81-4-1.23-6.1-1.22-4.2-0.03-8.3 1.59-11.3 4.5l-36.7 36.6v-156.4c0-2.1-0.4-4.18-1.2-6.13s-2-3.71-3.5-5.19-3.3-2.66-5.2-3.47c-1.9-0.8-4-1.21-6.1-1.21",style:{fill:"currentcolor"}}]},hourglass:{viewBox:"0 0 512 512",paths:[{d:"M214.60000000000036 235.32999999999993c-31.8-58.12-54.8-118.18-16.4-184.81-4-2.97-7.6-6.29-11-9.92-0.7-1.21-1.5-2.41-2.1-3.69-2.5-4.67-0.6-11.01 4.4-12.54 10-3.03 23.7-1.25 33.4 0.17 73 11.87 143.2 36.67 207.5 73.24a99.7 99.7 0 0 1 19.7 15.56c7 7.18 4.8 12.76-5.3 14.59-5.9 0.83-11.8 1.31-17.9 1.56-10.7 76.05-65.9 109.28-125.6 134.84 6.8 16.1 13.9 31.45 20.1 47.1 16.7 36.58 19 78.14 6.3 116.31-0.2 0.98-6.8 19.54 3.2 26.69 10.5 11.65 1.2 28.63-7.8 27.44-0.4-0.02-0.8-0.01-1.2 0.02-16.4-0.26-32.9-1.68-49.1-4.22a636 636 0 0 1-182.8-65.68c-8.6-5.21-16.9-11.02-24.7-17.38-2.9-2.16-4.8-5.28-5.6-8.78-0.7-3.51-0.1-7.14 1.6-10.27 0.7-3.2 2.6-6 5.3-7.87s5.9-2.71 9.2-2.36c10.9 1.21 13.3-3.79 15.7-13.63 9.7-35.18 32.7-65.22 64.1-83.81 18.8-12.15 39.1-21.65 59-32.56m84.5 195.45c11.7-21.88 15.4-47.18 10.4-71.49-5.9-31.81-18.6-61.98-37.1-88.51-7.9-12.47-4.9-20.19 8.5-26.07 21.6-8.88 42.5-19.11 62.8-30.62 27-15.29 46.9-40.64 55.3-70.52 4.5-16.24 3.1-17.04-12.7-21.31-29.9-8.17-59.9-16.18-89.2-26.15-23.1-7.97-45.5-18.53-67.9-28.37-7.2-3.11-11.1-2.45-15.2 5.26-11.1 22.85-14.2 48.8-8.6 73.6 6.7 30.9 19.4 60.21 37.2 86.32 1.7 1.93 2.9 4.29 3.4 6.82s0.3 5.15-0.5 7.6c-0.9 2.44-2.4 4.6-4.4 6.26-2 1.65-4.4 2.75-6.9 3.18-7.9 2.89-16 5.82-23.7 9.19a175.14 175.14 0 0 0-83.8 65.27 67 67 0 0 0-12.6 37.63 88.4 88.4 0 0 0 22.9 0.79c20-4.64 58.4 0.14 84.9-13.48 7.7-2.34 15.8-2.3 23.5 0.11 7.6 2.4 14.4 7.06 19.3 13.37 13.1 14.46 13.8 26 24.2 42.58 6.3 9.36 0 14.61 10.2 18.54",style:{fill:"currentcolor"}},{d:"M335.10000000000036 167.03999999999996c-1.5 0.21-3 0.35-4.3 0.53-0.2 0.03-0.3 0.09-0.6 0.12-28.4 6.25-58.1 3.91-85.2-6.72-0.4-0.13-0.9-0.3-1.2-0.43-1.8-0.4-3.6-0.44-5.4-0.13-1.8 0.3-3.5 0.97-5 1.96s-2.6 2.4-3.3 4.05c-1.6 3.62-1.9 7.66-1 11.5 0.1 0.45 0.2 0.88 0.4 1.3 7.1 17.78 14.9 35.15 23.2 52 0.5 1.06 1.3 2 2.2 2.74 1.2 1.03 2.6 1.78 4.1 2.18 1.6 0.4 3.2 0.44 4.7 0.12 0.4-0.06 0.8-0.25 1.2-0.34 27.5-10.1 52.7-25.56 74.2-45.5 0.3-0.31 0.6-0.53 0.9-0.88 3.2-3.82 5.2-8.54 5.6-13.51 0-1.69-0.5-3.34-1.5-4.72-1-1.45-2.3-2.61-3.9-3.36s-3.3-1.07-5.1-0.91",style:{fill:"currentcolor"}},{d:"M266.2000000000007 325.75c-0.2 4.23-2 8.22-5.1 11.11s-7.2 4.46-11.4 4.35c-0.1-0.03-0.3 0.03-0.4-0.01-3.2-0.17-6.2-1.27-8.8-3.17-2.6-1.89-4.5-4.5-5.6-7.5-1.1-2.99-1.3-6.26-0.5-9.35 0.8-3.1 2.4-5.91 4.8-8.06 2.3-2.17 5.3-3.59 8.4-4.07 3.2-0.51 6.4-0.07 9.3 1.26s5.3 3.49 7 6.21c1.7 2.71 2.5 5.85 2.4 9.04 0 0.02-0.1 0.04-0.1 0.08z",style:{fill:"currentcolor"}},{d:"M261.7999999999993 278.64999999999986c-0.9 6.16-4 9.64-10.2 9.38-1.2 0.06-2.3-0.1-3.4-0.48a7.25 7.25 0 0 1-2.9-1.73c-0.9-0.75-1.6-1.68-2.1-2.73s-0.7-2.17-0.8-3.31c0-0.62 0-1.24 0.1-1.86-0.1-1.17 0.1-2.35 0.5-3.45 0.3-1.13 0.9-2.16 1.7-3.01 0.8-0.84 1.8-1.55 2.8-2.08 1.1-0.5 2.2-0.78 3.4-0.83 0.6-0.03 1.1-0.02 1.7 0.05 6.1 0.21 8.9 4.13 9.2 10.05",style:{fill:"currentcolor"}}]},pause:{viewBox:"0 0 512 512",paths:[{d:"M182.60000000000002 93h-18.4v330.5h18.4z",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"36.719",fill:"none"}},{d:"M347.79999999999995 93h-18.4v330.5h18.4z",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"36.719",fill:"none"}}]},next:{viewBox:"0 0 512 512",paths:[{d:"M120.90000000000009 119.19999999999982v278.5c0 16.7 15.2 27.4 27.8 19.4l222-142.4c2.12-1.56 3.91-3.52 5.27-5.77 1.36-2.26 2.26-4.76 2.65-7.36s0.26-5.25-0.38-7.8a19.9 19.9 0 0 0-3.34-7.07 18.6 18.6 0 0 0-4.2-4.2l-222-142.5c-12.6-8.2-27.8 2.5-27.8 19.2Z",style:{stroke:"currentcolor",strokeMiterlimit:"10",strokeWidth:"35.851",fill:"none"}},{d:"M391.0999999999999 90.30000000000018v337.9",style:{stroke:"currentcolor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"35.851",fill:"none"}}]},"skip-back":{viewBox:"0 0 512 512",paths:[{d:"M475.5999999999999 145.5v221c0 13.3-13 21.7-23.6 15.4l-188.9-113c-9.2-5.5-9.2-20.1 0-25.6l188.9-113c10.6-6.5 23.6 1.9 23.6 15.2Z",style:{stroke:"currentcolor",strokeMiterlimit:"10",strokeWidth:"35.851",fill:"none"}},{d:"M247 145.5v221c0 13.3-13 21.7-23.6 15.4l-188.9-113c-9.2-5.5-9.2-20.1 0-25.6l188.9-113c10.6-6.5 23.6 1.9 23.6 15.2Z",style:{stroke:"currentcolor",strokeMiterlimit:"10",strokeWidth:"35.851",fill:"none"}}]},"skip-forward":{viewBox:"0 0 512 512",paths:[{d:"M36.30000000000018 145.5v221c0 13.3 13 21.7 23.6 15.4l188.9-113c9.2-5.5 9.2-20.1 0-25.6l-188.9-113c-10.6-6.5-23.6 1.9-23.6 15.2Z",style:{stroke:"currentcolor",strokeMiterlimit:"10",strokeWidth:"35.851",fill:"none"}},{d:"M264.9000000000001 145.5v221c0 13.3 13 21.7 23.6 15.4l188.9-113c9.2-5.5 9.2-20.1 0-25.6l-188.9-113c-10.6-6.5-23.6 1.9-23.6 15.2Z",style:{stroke:"currentcolor",strokeMiterlimit:"10",strokeWidth:"35.851",fill:"none"}}]},"volume-off":{viewBox:"0 0 512 512",paths:[{d:"M236.9000000000001 187h-72.6c-1.09 0-2.17 0.21-3.18 0.63a8.3 8.3 0 0 0-4.49 4.49 8.3 8.3 0 0 0-0.63 3.18v116.8a8.27 8.27 0 0 0 2.43 5.87 8.274 8.274 0 0 0 5.87 2.43h72.6c3.87-0.02 7.63 1.32 10.6 3.8l95.4 78.1c1.8 1.3 4.03 1.84 6.22 1.5a8.42 8.42 0 0 0 5.48-3.3 8.03 8.03 0 0 0 1.6-5v-283.9a8.27 8.27 0 0 0-2.43-5.87 8.274 8.274 0 0 0-5.87-2.43c-1.76 0.01-3.47 0.57-4.9 1.6l-95.4 78.1c-2.95 2.6-6.76 4.03-10.7 4",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"31.897",fill:"none"}}]},"volume-low":{viewBox:"0 0 512 512",paths:[{d:"M186.9000000000001 188h-72.6c-1.09 0-2.17 0.21-3.18 0.63a8.3 8.3 0 0 0-4.49 4.49 8.3 8.3 0 0 0-0.63 3.18v116.8a8.27 8.27 0 0 0 2.43 5.87 8.274 8.274 0 0 0 5.87 2.43h72.6c3.87-0.02 7.63 1.32 10.6 3.8l95.4 78.1c1.8 1.3 4.03 1.84 6.22 1.5a8.42 8.42 0 0 0 5.48-3.3 8.03 8.03 0 0 0 1.6-5v-283.9a8.27 8.27 0 0 0-2.43-5.87 8.274 8.274 0 0 0-5.87-2.43c-1.76 0.01-3.47 0.57-4.9 1.6l-95.4 78.1c-2.95 2.6-6.76 4.03-10.7 4",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"31.897",fill:"none"}},{d:"M389.5 321.40000000000055a149 149 0 0 0 16.7-66.7c-0.08-23.26-5.81-46.15-16.7-66.7",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"31.897",fill:"none"}}]},"volume-medium":{viewBox:"0 0 512 512",paths:[{d:"M152.89999999999964 188h-72.6c-1.09 0-2.17 0.21-3.18 0.63a8.1 8.1 0 0 0-2.7 1.8c-0.77 0.77-1.38 1.68-1.79 2.69a8.3 8.3 0 0 0-0.63 3.18v116.8a8.27 8.27 0 0 0 2.43 5.87 8.274 8.274 0 0 0 5.87 2.43h72.6c3.87-0.02 7.63 1.32 10.6 3.8l95.4 78.1c1.8 1.3 4.03 1.84 6.22 1.5a8.42 8.42 0 0 0 5.48-3.3 8.03 8.03 0 0 0 1.6-5v-283.9a8.27 8.27 0 0 0-2.43-5.87 8.274 8.274 0 0 0-5.87-2.43c-1.76 0.01-3.47 0.57-4.9 1.6l-95.4 78.1a16.55 16.55 0 0 1-10.7 4",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"31.897",fill:"none"}},{d:"M355.60000000000036 321.40000000000055a149 149 0 0 0 16.7-66.7c-0.09-23.26-5.82-46.14-16.7-66.7",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"31.897",fill:"none"}},{d:"M405.60000000000036 371.5a213.6 213.6 0 0 0 33.4-116.8c0.71-41.39-10.92-82.05-33.4-116.8",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"31.897",fill:"none"}}]},"volume-high":{viewBox:"0 0 512 512",paths:[{d:"M121.89999999999964 188.90000000000055h-72.6c-1.09 0-2.17 0.21-3.18 0.63a8.1 8.1 0 0 0-2.7 1.8c-0.77 0.77-1.38 1.68-1.79 2.69a8.3 8.3 0 0 0-0.63 3.18v116.8c0 1.09 0.21 2.17 0.63 3.18a8.1 8.1 0 0 0 1.8 2.7c0.77 0.77 1.68 1.38 2.69 1.79 1.01 0.42 2.09 0.63 3.18 0.63h72.6c3.87-0.02 7.63 1.32 10.6 3.8l95.4 78.1c1.8 1.3 4.03 1.84 6.22 1.5a8.42 8.42 0 0 0 5.48-3.3 8.03 8.03 0 0 0 1.6-5v-283.9a8.27 8.27 0 0 0-2.43-5.87 8.274 8.274 0 0 0-5.87-2.43c-1.76 0.01-3.47 0.57-4.9 1.6l-95.4 78.1a16.55 16.55 0 0 1-10.7 4",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"31.897",fill:"none"}},{d:"M324.5 322.3000000000002a149 149 0 0 0 16.7-66.7c-0.08-23.26-5.81-46.15-16.7-66.7",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"31.897",fill:"none"}},{d:"M374.60000000000036 372.40000000000055a213.6 213.6 0 0 0 33.4-116.8c0.71-41.39-10.92-82.05-33.4-116.8",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"31.897",fill:"none"}},{d:"M421.6999999999998 415.60000000000036c69.4-88.2 61.4-242.3-1.3-321.3",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"31.897",fill:"none"}}]},"volume-mute":{viewBox:"0 0 512 512",paths:[{d:"M423.8000000000002 441.5L54.69999999999982 72.30000000000018",style:{stroke:"currentcolor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"33.557",fill:"none"}},{d:"M222.39999999999964 132v35.4c-0.01 1.12 0.42 2.2 1.2 3l25.2 25.2c0.48 0.49 1.08 0.85 1.74 1.04 0.66 0.2 1.36 0.23 2.03 0.1 0.68-0.13 1.31-0.43 1.84-0.87s0.94-1 1.2-1.64c0.21-0.52 0.31-1.07 0.29-1.63v-77.7c0.05-4.65-1.16-9.22-3.5-13.24a25.7 25.7 0 0 0-9.8-9.56 25.04 25.04 0 0 0-13.68-2.95c-4.74 0.34-9.3 2.02-13.12 4.85-0.2 0.2-0.5 0.3-0.7 0.5l-33.5 27.4c-0.43 0.35-0.79 0.78-1.05 1.26a4.2 4.2 0 0 0-0.49 1.57c-0.05 0.55 0 1.1 0.16 1.63s0.43 1.02 0.78 1.44l0.3 0.3 17.9 17.9c0.74 0.72 1.71 1.14 2.74 1.2 1.03 0.05 2.05-0.26 2.86-0.9z",style:{fill:"currentcolor"}},{d:"M222.39999999999964 381.8000000000002l-81.9-67a33.5 33.5 0 0 0-21.3-7.5h-64.6v-100.7h53.2c0.83-0.01 1.64-0.26 2.33-0.72 0.69-0.47 1.22-1.13 1.54-1.89a4.3 4.3 0 0 0 0.26-2.43c-0.15-0.82-0.55-1.57-1.13-2.16l-25.2-25.2a4.08 4.08 0 0 0-3-1.2h-36.4a25.25 25.25 0 0 0-17.81 7.39 25.25 25.25 0 0 0-7.39 17.81v117.4a25.25 25.25 0 0 0 7.39 17.81 25.25 25.25 0 0 0 17.81 7.39h73.2l95.8 78.4c0.21 0.2 0.44 0.37 0.7 0.5 3.87 2.87 8.48 4.56 13.29 4.88 4.8 0.32 9.6-0.75 13.81-3.08a25.74 25.74 0 0 0 13-22.6V346.3000000000002c0.01-1.12-0.42-2.2-1.2-3l-25.2-25.2a4.23 4.23 0 0 0-5.9 0c-0.39 0.39-0.7 0.86-0.91 1.38-0.21 0.51-0.31 1.07-0.29 1.62v60.7z",style:{fill:"currentcolor"}},{d:"M356.6999999999998 256.90000000000055c0-25.8-6.1-50.2-18.6-74.7-2.1-3.84-5.61-6.71-9.8-7.99-4.18-1.29-8.7-0.9-12.59 1.1-3.9 1.99-6.86 5.42-8.26 9.57-1.41 4.14-1.13 8.67 0.75 12.62 10.1 19.7 14.9 39.2 14.9 59.5 0 2.8-0.1 5.6-0.3 8.5-0.09 1.21 0.08 2.42 0.5 3.55a8.6 8.6 0 0 0 1.9 3.05l20.6 20.6a4.23 4.23 0 0 0 5.9 0c0.59-0.56 0.98-1.3 1.1-2.1 2.59-11.05 3.9-22.35 3.9-33.7",style:{fill:"currentcolor"}},{d:"M423.8000000000002 256.90000000000055c0-53.7-13.7-88-35.8-125.9a16.82 16.82 0 0 0-10.22-7.57 16.79 16.79 0 0 0-20.33 11.85c-1.16 4.25-0.6 8.78 1.55 12.62 19.8 34 31.3 62.7 31.3 109 0 25-3.5 45-9.8 63.6-0.5 1.49-0.58 3.1-0.23 4.63a8.5 8.5 0 0 0 2.23 4.07l17.6 17.6a4.23 4.23 0 0 0 5.9 0c0.39-0.37 0.69-0.81 0.9-1.3 10.7-25.8 16.9-53 16.9-88.6",style:{fill:"currentcolor"}},{d:"M490.89999999999964 256.90000000000055c0-77.9-21.2-127-53-176.8a16.77 16.77 0 0 0-10.53-7.11c-4.3-0.9-8.79-0.08-12.49 2.29s-6.33 6.1-7.32 10.38a16.8 16.8 0 0 0 2.04 12.54c28.7 44.9 47.7 89 47.7 158.8 0 49.8-9.3 86.1-24.7 118.5-0.37 0.79-0.49 1.66-0.35 2.52s0.54 1.66 1.15 2.28l18.7 18.7c0.58 0.59 1.32 1 2.13 1.16s1.66 0.08 2.42-0.24a4.372 4.372 0 0 0 2.15-2.02c22.5-44.3 32.1-87.5 32.1-141",style:{fill:"currentcolor"}}]},subtitles:{viewBox:"0 0 512 512",paths:[{d:"M482.5 216.69999999999982v-81.3c0-31.9-25.5-41-38.7-40.7h-377.2c-17.9 0-37.1 10.8-37.1 38.7v232.4c0 23.9 15.9 38.6 38.7 38.6h275l31 31c3.9 3.71 9.1 5.77 14.5 5.77s10.6-2.06 14.5-5.77l31-31h17.4c14.5 0 31-9 31-36.7z m-32.9 0v143.2c0 5.8 0 11.6-7.7 11.6h-19.4l-34.9 32.9-32.8-32.9h-282.8c-1.3 0.02-2.5-0.21-3.7-0.69s-2.3-1.19-3.2-2.1c-0.9-0.9-1.6-1.98-2.1-3.17s-0.7-2.46-0.7-3.74v-224.6c0-5.8 0-11.6 7.7-11.6h369.8c6.9 0 9.7 5.8 9.7 9.7v81.4z",style:{fill:"currentcolor"}},{d:"M192.10000000000036 249.60000000000036h-75.5q-3.45-0.015-6.6 1.29c-2.2 0.86-4.1 2.14-5.7 3.75s-2.9 3.52-3.8 5.62c-0.8 2.1-1.3 4.36-1.3 6.64v0.1c0 2.28 0.4 4.54 1.3 6.65s2.1 4.03 3.7 5.64c1.7 1.62 3.6 2.9 5.7 3.78s4.3 1.33 6.6 1.33h75.6c3.4 0.01 6.8-0.99 9.7-2.89 2.8-1.9 5.1-4.6 6.4-7.77 0.8-2.11 1.3-4.36 1.3-6.64v-0.1c0-2.29-0.4-4.55-1.3-6.67-0.9-2.11-2.2-4.03-3.8-5.65s-3.5-2.9-5.6-3.77-4.4-1.32-6.7-1.31",style:{fill:"currentcolor"}},{d:"M228.8000000000011 267.10000000000036c0 2.28 0.4 4.54 1.3 6.65s2.1 4.03 3.7 5.64c1.7 1.62 3.6 2.9 5.7 3.78s4.3 1.33 6.6 1.33h151.1c2.3 0.01 4.5-0.42 6.7-1.29 2.1-0.87 4-2.14 5.6-3.75s2.9-3.52 3.8-5.62c0.8-2.1 1.3-4.36 1.3-6.64v-0.1c0-2.28-0.4-4.54-1.3-6.65-0.8-2.11-2.1-4.03-3.7-5.64-1.6-1.62-3.6-2.9-5.7-3.78s-4.3-1.33-6.6-1.33H244.20000000000073c-4.3 0.42-8.3 2.44-11.1 5.67-2.9 3.23-4.4 7.42-4.3 11.73",style:{fill:"currentcolor"}},{d:"M321.8000000000011 340.60000000000036h75.5c2.3 0.01 4.5-0.43 6.7-1.29 2.1-0.87 4-2.14 5.6-3.75s2.9-3.52 3.8-5.62 1.3-4.36 1.3-6.64v-0.1c0-2.28-0.4-4.54-1.3-6.65s-2.1-4.03-3.7-5.64c-1.6-1.62-3.6-2.91-5.7-3.78-2.1-0.88-4.3-1.33-6.6-1.33h-75.6c-3.4-0.01-6.8 0.99-9.6 2.89-2.9 1.9-5.1 4.6-6.5 7.77-0.8 2.1-1.3 4.36-1.3 6.64v0.1c0 2.28 0.4 4.54 1.3 6.65s2.1 4.03 3.7 5.64c1.6 1.62 3.6 2.9 5.7 3.78s4.3 1.33 6.6 1.33z",style:{fill:"currentcolor"}},{d:"M116.5 340.60000000000036h153c2.3 0.01 4.5-0.42 6.7-1.29 2.1-0.86 4-2.14 5.6-3.75s2.9-3.52 3.8-5.62 1.3-4.36 1.3-6.64v-0.1c0-2.28-0.4-4.54-1.3-6.65s-2.1-4.03-3.7-5.64c-1.6-1.62-3.5-2.91-5.7-3.78-2.1-0.88-4.3-1.33-6.6-1.33h-153.1c-3.4-0.01-6.8 0.99-9.6 2.89-2.9 1.9-5.1 4.6-6.5 7.77-0.8 2.1-1.3 4.36-1.3 6.64v0.1c0 2.29 0.4 4.55 1.3 6.67 0.9 2.11 2.2 4.03 3.8 5.65s3.5 2.9 5.6 3.77c2.2 0.87 4.4 1.32 6.7 1.31",style:{fill:"currentcolor"}}]},"audio-tracks":{viewBox:"0 0 512 512",paths:[{d:"M57.4900000000016 223.5699999999997v75.87c-0.01 2.31 0.44 4.59 1.31 6.72 0.88 2.13 2.17 4.06 3.8 5.69 1.63 1.62 3.56 2.91 5.69 3.79s4.41 1.32 6.71 1.31c2.3 0.01 4.58-0.43 6.71-1.31s4.06-2.17 5.69-3.79c1.63-1.63 2.92-3.56 3.8-5.69 0.87-2.13 1.32-4.41 1.31-6.72v-75.87c0.01-2.3-0.44-4.58-1.31-6.71-0.88-2.13-2.17-4.06-3.8-5.69a17.3 17.3 0 0 0-5.69-3.79c-2.13-0.88-4.41-1.33-6.71-1.32-2.3-0.01-4.58 0.44-6.71 1.32-2.13 0.87-4.06 2.16-5.69 3.79a17.5 17.5 0 0 0-3.8 5.69c-0.87 2.13-1.32 4.41-1.31 6.71",style:{fill:"currentcolor"}},{d:"M454.5100000000002 223.5699999999997v75.88c0.01 2.3-0.44 4.58-1.32 6.71-0.87 2.13-2.16 4.06-3.79 5.69a17.5 17.5 0 0 1-5.69 3.79c-2.13 0.88-4.41 1.32-6.71 1.31-2.3 0.01-4.58-0.43-6.71-1.31s-4.07-2.16-5.69-3.79a17.5 17.5 0 0 1-3.8-5.69c-0.87-2.13-1.32-4.41-1.31-6.71v-75.88c-0.01-2.3 0.44-4.58 1.31-6.71 0.88-2.13 2.17-4.06 3.8-5.69 1.62-1.63 3.56-2.92 5.69-3.79 2.13-0.88 4.41-1.32 6.71-1.31 2.3-0.01 4.58 0.43 6.71 1.31 2.13 0.87 4.06 2.16 5.69 3.79s2.92 3.56 3.79 5.69c0.88 2.13 1.33 4.41 1.32 6.71",style:{fill:"currentcolor"}},{d:"M177.4900000000016 188.03999999999996v146.94c-0.01 2.3 0.44 4.58 1.31 6.71 0.88 2.13 2.17 4.06 3.8 5.69s3.56 2.92 5.69 3.79c2.13 0.88 4.41 1.33 6.71 1.32 2.3 0.01 4.58-0.44 6.71-1.32 2.13-0.87 4.06-2.16 5.69-3.79s2.92-3.56 3.8-5.69c0.87-2.13 1.32-4.41 1.31-6.71v-146.94c0.01-2.3-0.44-4.58-1.31-6.71-0.88-2.13-2.17-4.06-3.8-5.69a17.5 17.5 0 0 0-5.69-3.8c-2.13-0.87-4.41-1.32-6.71-1.31-2.3-0.01-4.58 0.44-6.71 1.31-2.13 0.88-4.06 2.17-5.69 3.8a17.5 17.5 0 0 0-3.8 5.69c-0.87 2.13-1.32 4.41-1.31 6.71",style:{fill:"currentcolor"}},{d:"M333.5100000000002 188.03999999999996v146.94c0.01 2.3-0.44 4.58-1.31 6.71-0.88 2.13-2.17 4.06-3.8 5.69a17.3 17.3 0 0 1-5.69 3.79c-2.13 0.88-4.41 1.33-6.71 1.32-2.3 0.01-4.58-0.44-6.71-1.32-2.13-0.87-4.07-2.16-5.69-3.79a17.5 17.5 0 0 1-3.8-5.69c-0.87-2.13-1.32-4.41-1.31-6.71v-146.94c-0.01-2.3 0.44-4.58 1.31-6.71 0.88-2.13 2.17-4.06 3.8-5.69 1.62-1.63 3.56-2.92 5.69-3.8 2.13-0.87 4.41-1.32 6.71-1.31 2.3-0.01 4.58 0.44 6.71 1.31 2.13 0.88 4.06 2.17 5.69 3.8s2.92 3.56 3.8 5.69c0.87 2.13 1.32 4.41 1.31 6.71",style:{fill:"currentcolor"}},{d:"M152.51000000000022 377.2600000000002v-242.52c0.01-2.3-0.44-4.58-1.31-6.71-0.88-2.13-2.17-4.07-3.8-5.69a17.5 17.5 0 0 0-5.69-3.8c-2.13-0.87-4.41-1.32-6.71-1.31-2.3-0.01-4.58 0.44-6.71 1.31-2.13 0.88-4.06 2.17-5.69 3.8a17.4 17.4 0 0 0-3.8 5.69c-0.87 2.13-1.32 4.41-1.31 6.71v242.52c-0.01 2.3 0.44 4.58 1.31 6.71 0.88 2.13 2.17 4.07 3.8 5.69 1.63 1.63 3.56 2.92 5.69 3.8 2.13 0.87 4.41 1.32 6.71 1.31 2.3 0.01 4.58-0.44 6.71-1.31 2.13-0.88 4.06-2.17 5.69-3.8 1.63-1.62 2.92-3.56 3.8-5.69 0.87-2.13 1.32-4.41 1.31-6.71",style:{fill:"currentcolor"}},{d:"M358.4900000000016 377.2600000000002v-242.52c-0.01-2.3 0.44-4.58 1.31-6.71 0.88-2.13 2.17-4.06 3.8-5.69 1.62-1.63 3.56-2.92 5.69-3.8 2.13-0.87 4.41-1.32 6.71-1.31 2.3-0.01 4.58 0.44 6.71 1.31 2.13 0.88 4.06 2.17 5.69 3.8s2.92 3.56 3.79 5.69c0.88 2.13 1.33 4.41 1.32 6.71v242.52c0.01 2.3-0.44 4.59-1.32 6.71-0.87 2.13-2.16 4.07-3.79 5.69a17.5 17.5 0 0 1-5.69 3.8c-2.13 0.87-4.41 1.32-6.71 1.31-2.3 0.01-4.58-0.44-6.71-1.31-2.13-0.88-4.07-2.17-5.69-3.8a17.38 17.38 0 0 1-5.11-12.4",style:{fill:"currentcolor"}},{d:"M273.5100000000002 430.5600000000004v-349.12c0.01-2.3-0.44-4.58-1.31-6.71-0.88-2.13-2.17-4.07-3.8-5.69a17.5 17.5 0 0 0-5.69-3.8c-2.13-0.87-4.41-1.32-6.71-1.31-2.3-0.01-4.58 0.44-6.71 1.31-2.13 0.88-4.06 2.17-5.69 3.8a17.4 17.4 0 0 0-3.8 5.69c-0.87 2.13-1.32 4.41-1.31 6.71v349.12c-0.01 2.3 0.44 4.58 1.31 6.71 0.88 2.13 2.17 4.07 3.8 5.69 1.63 1.63 3.56 2.92 5.69 3.8 2.13 0.87 4.41 1.32 6.71 1.31 2.3 0.01 4.58-0.44 6.71-1.31 2.13-0.88 4.06-2.17 5.69-3.8 1.63-1.62 2.92-3.56 3.8-5.69 0.87-2.13 1.32-4.41 1.31-6.71",style:{fill:"currentcolor"}}]},chapters:{viewBox:"0 0 512 512",paths:[{d:"M256 178.25c14.96-59.06 71.47-89.22 194.51-89.77 1.97-0.01 3.92 0.37 5.73 1.12 1.82 0.75 3.48 1.85 4.87 3.24s2.49 3.05 3.24 4.87c0.75 1.81 1.13 3.76 1.12 5.73v269.32a14.958 14.958 0 0 1-9.23 13.82c-1.82 0.75-3.77 1.14-5.73 1.14-119.7 0-165.94 24.14-194.51 59.85-28.4-35.53-74.81-59.85-194.5-59.85-9.24 0-14.97-7.53-14.97-16.76v-267.52c0-1.97 0.38-3.91 1.13-5.73 1.13-2.74 3.05-5.08 5.52-6.72 2.46-1.65 5.36-2.52 8.32-2.51 123.03 0.55 179.54 30.71 194.5 89.77",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"34",fill:"none"}},{d:"M256.3000000000002 165.89999999999964v282",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"34",fill:"none"}}]},"skip-15-forward":{viewBox:"0 0 512 512",paths:[{d:"M428.7999999999993 249.60000000000036c-3.95 0.01-7.74 1.58-10.53 4.37a14.95 14.95 0 0 0-4.37 10.53c0 87.1-70.8 157.9-157.9 157.9s-157.9-70.8-157.9-157.9c0-86.8 70.4-157.4 157.1-157.9l-27.1 26.8a13.3 13.3 0 0 0-2.94 4.35 13.37 13.37 0 0 0 0 10.3c0.68 1.63 1.68 3.11 2.94 4.35 2.61 2.5 6.08 3.9 9.7 3.9s7.09-1.4 9.7-3.9l51.9-51.2c1.26-1.24 2.26-2.72 2.94-4.35a13.37 13.37 0 0 0 0-10.3c-0.68-1.63-1.68-3.11-2.94-4.35l-51.9-51.2c-2.61-2.5-6.08-3.9-9.7-3.9s-7.09 1.4-9.7 3.9a13.3 13.3 0 0 0-2.94 4.35 13.37 13.37 0 0 0 0 10.3c0.68 1.63 1.68 3.11 2.94 4.35l27.2 26.9c-103.1 0.4-186.9 84.4-186.9 187.6 0 103.5 84.2 187.6 187.6 187.6s187.7-84.2 187.7-187.7c-0.01-3.94-1.59-7.71-4.38-10.49-2.8-2.77-6.58-4.32-10.52-4.31",style:{fill:"currentcolor"}},{d:"M195.20000000000073 252v69.9h25.5v-120.8h-21l-38.9 31 12.3 15.4 13.9-11.2c3.07-2.61 6.01-5.38 8.8-8.3l-0.4 12.6z",style:{fill:"currentcolor"}},{d:"M321.39999999999964 222.80000000000018v-21.6h-65.5l-4.5 61.6 10.2 5.5c2.82-0.82 5.7-1.45 8.6-1.9 3.2-0.58 6.45-0.88 9.7-0.9 16.1 0 24.2 6.1 24.2 18.3q0 19.2-23.4 19.2a73 73 0 0 1-31.6-7.9v22.1c8.3 4.4 19.1 6.5 32.6 6.5 15.5 0 27.4-3.6 35.7-10.9s12.5-17.7 12.5-31.2c0-11.4-3.5-20.4-10.4-26.9-6.9-6.6-16.2-9.8-27.9-9.8-4.2-0.08-8.39 0.32-12.5 1.2l-2.9 0.6 2.2-23.7h43z",style:{fill:"currentcolor"}}]},"skip-15-back":{viewBox:"0 0 512 512",paths:[{d:"M256.60000000000036 78.10000000000036l27-26.7c1.26-1.23 2.26-2.7 2.94-4.32a13.275 13.275 0 0 0 0-10.26c-0.68-1.62-1.68-3.09-2.94-4.32a13.76 13.76 0 0 0-19.2 0l-51.5 50.8c-1.26 1.23-2.26 2.7-2.94 4.32-0.68 1.63-1.03 3.37-1.03 5.13s0.35 3.5 1.03 5.13c0.68 1.62 1.68 3.09 2.94 4.32l51.5 50.8a13.76 13.76 0 0 0 19.2 0c1.26-1.23 2.26-2.7 2.94-4.32a13.275 13.275 0 0 0 0-10.26c-0.68-1.62-1.68-3.09-2.94-4.32l-26.9-26.6c86 0.4 155.9 70.5 155.9 156.6 0 86.4-70.3 156.7-156.7 156.7s-156.7-70.3-156.7-156.7c0-3.93-1.56-7.69-4.33-10.47a14.83 14.83 0 0 0-10.47-4.33c-3.93 0-7.69 1.56-10.47 4.33a14.83 14.83 0 0 0-4.33 10.47c0 102.7 83.5 186.2 186.2 186.2s186.2-83.5 186.2-186.2c0.2-102.3-83-185.6-185.4-186",style:{fill:"currentcolor"}},{d:"M187.5 236.30000000000018c1.6-1.3 4.6-4.1 8.8-8.3l-0.4 12.5-0.2 11.4v69.4h25.3v-119.9h-20.8l-38.6 30.7 12.2 15.2z",style:{fill:"currentcolor"}},{d:"M280.2999999999993 302.3000000000002c-5.51-0.03-10.98-0.77-16.3-2.2a65.6 65.6 0 0 1-15.1-5.6v21.9c8.2 4.3 19 6.5 32.3 6.5q23.1 0 35.4-10.8c8.3-7.2 12.4-17.5 12.4-30.9 0-11.3-3.4-20.2-10.3-26.7s-16.1-9.8-27.7-9.8c-4.16-0.05-8.31 0.32-12.4 1.1l-2.9 0.6 2.2-23.5h42.8v-21.5h-65l-4.5 61.1 10.1 5.4c2.78-0.83 5.62-1.43 8.5-1.8 3.17-0.57 6.38-0.87 9.6-0.9 16 0 24 6 24 18.1 0.1 12.7-7.6 19-23.1 19",style:{fill:"currentcolor"}}]},reset:{viewBox:"0 0 512 512",paths:[{d:"M114.39000000000033 169.4399999999996l18.89-21.97a171.2 171.2 0 0 1 56.63-39.34 171.25 171.25 0 0 1 67.55-13.81c94.79 0 171.69 76.9 171.69 171.69s-76.9 171.69-171.69 171.69c-35.51 0-70.14-11.01-99.14-31.5a171.84 171.84 0 0 1-62.77-82.95",style:{stroke:"currentcolor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"34",fill:"none"}},{d:"M57.159999999999854 124.21000000000004v98.88c0 1.88 0.37 3.74 1.09 5.47 0.72 1.74 1.77 3.32 3.1 4.64 1.33 1.33 2.91 2.39 4.65 3.1 1.73 0.72 3.59 1.09 5.47 1.09h98.88c2.83 0 5.6-0.83 7.95-2.4 2.36-1.58 4.19-3.81 5.28-6.43 1.08-2.61 1.36-5.49 0.81-8.26-0.55-2.78-1.92-5.33-3.92-7.33l-98.89-98.88c-2-2-4.55-3.37-7.33-3.92a14.36 14.36 0 0 0-8.27 0.81 14.26 14.26 0 0 0-6.42 5.27 14.3 14.3 0 0 0-2.4 7.96",style:{fill:"currentcolor"}}]},audio:{viewBox:"0 0 512 512",paths:[{d:"M153.5 190.20000000000027h-72.6c-1.1 0-2.2 0.21-3.2 0.63-1 0.43-1.9 1.03-2.7 1.79-0.8 0.77-1.4 1.69-1.8 2.7s-0.6 2.09-0.6 3.18v116.8c0 1.09 0.2 2.17 0.6 3.18s1 1.93 1.8 2.7c0.8 0.76 1.7 1.36 2.7 1.79 1 0.42 2.1 0.63 3.2 0.63h72.6c3.9-0.02 7.6 1.32 10.6 3.8l95.4 78.1c1.8 1.3 4 1.83 6.2 1.5 2.2-0.34 4.2-1.52 5.5-3.3 1.1-1.44 1.6-3.2 1.6-5v-283.9c0-1.09-0.2-2.17-0.6-3.18s-1-1.93-1.8-2.7c-0.8-0.76-1.7-1.36-2.7-1.79-1.3-0.55-2.8-0.74-4.2-0.57s-2.7 0.7-3.9 1.54l-95.4 78.1c-3 2.57-6.8 3.99-10.7 4",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"31.897",fill:"none"}},{d:"M356.10000000000036 323.7000000000003c10.7-20.63 16.4-43.47 16.7-66.7-0.1-23.26-5.8-46.15-16.7-66.7",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"31.897",fill:"none"}},{d:"M406.10000000000036 373.7000000000003c22.2-34.88 33.8-75.46 33.4-116.8 0.7-41.39-10.9-82.05-33.4-116.8",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"31.897",fill:"none"}}]},speed:{viewBox:"0 0 512 512",paths:[{d:"M312.90000000000146 231.2100000000005l-38.8 61.69c-1.6 2.2-3.6 4.14-5.8 5.75-2.6 1.9-5.6 3.25-8.8 3.95-3.2 0.72-6.4 0.82-9.6 0.29-6.4-1.08-12.2-4.67-16-9.99-1.9-2.63-3.2-5.61-3.9-8.77s-0.8-6.42-0.3-9.61 1.7-6.25 3.4-8.99 4-5.11 6.6-7l61.7-38.81a8.55 8.55 0 0 1 4.8-1.48c1.7 0 3.4 0.52 4.8 1.48 1.8 1.28 2.9 3.2 3.3 5.35 0.2 1.07 0.2 2.16-0.1 3.22-0.2 1.05-0.7 2.05-1.3 2.92",style:{fill:"currentcolor"}},{d:"M255.60000000000036 93.95000000000027c-101.1 0-183.1 81.88-183.1 182.95 0 44.76 16.3 87.99 46 121.51 0.9 0.98 1.7 1.97 2.6 2.87 3.7 4.02 8.9 6.39 14.4 6.61 5.4 0.21 10.8-1.75 14.8-5.46l1.2-1.23c25.4-27.63 60.8-44.03 98.3-45.6s74.1 11.82 101.7 37.23q4.35 4.065 8.4 8.37c3.7 4.02 8.8 6.41 14.3 6.66 5.4 0.25 10.8-1.68 14.8-5.35l1.2-1.23 2.7-2.87c67-75.64 60-191.41-15.7-258.44-33.5-29.7-76.8-46.07-121.6-46.02",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}},{d:"M249.5 151.7100000000005v15.67",style:{stroke:"currentcolor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"32",fill:"none"}},{d:"M390.5 276.99000000000024h-31.4",style:{stroke:"currentcolor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"32",fill:"none"}},{d:"M155.5 276.99000000000024h-31.3",style:{stroke:"currentcolor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"32",fill:"none"}},{d:"M181.60000000000036 203.07000000000016l-18.5-18.46",style:{stroke:"currentcolor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"32",fill:"none"}},{d:"M329.60000000000036 203.07000000000016l18.5-18.46",style:{stroke:"currentcolor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"32",fill:"none"}}]},episodes:{viewBox:"0 0 512 512",paths:[{d:"M499.60000000000036 161.79999999999973v-65.2c0.2-5.92-1.5-11.74-4.7-16.7-2.7-4.5-6.6-8.19-11.2-10.69-4.6-2.49-9.8-3.71-15.1-3.51q-53.7 0.15-107.4 0h-189.8q-3 0.075-6 0.6c-4.7 0.82-9.1 2.8-12.8 5.77-3.5 2.95-6.3 6.6-8.3 10.72-2 4.13-3 8.63-3.1 13.21v31.2h-31q-3 0.15-6 0.6c-4.7 0.82-9.1 2.8-12.8 5.77-5.1 4.08-8.8 9.76-10.3 16.13-0.7 2.5-1.1 5.1-1.1 7.7v30.9h-32.9q-3 0-6 0.6c-5.6 1.02-10.7 3.64-14.8 7.53-4.1 3.88-7 8.88-8.3 14.37-0.7 2.54-1.1 5.16-1.2 7.8v184.3c-0.1 5.55 1.4 11.02 4.2 15.82 2.8 4.79 6.8 8.75 11.7 11.43 4.6 2.46 9.8 3.65 15 3.45h0.1c36-0.1 72-0.1 108.1 0h143.3c15.2 0 30.4 0 45.6 0.1q3 0 6-0.6c4.7-0.82 9.1-2.8 12.8-5.77 3.7-2.96 6.7-6.78 8.6-11.13 0.7-1.63 1.2-3.3 1.7-5l0.1-0.4c0.6-2.43 0.9-4.91 1-7.4v-31c11 0 21.9 0 32.9 0.1q3 0 6-0.6c4.7-0.82 9.1-2.8 12.8-5.77 3.7-2.96 6.7-6.78 8.6-11.13 0.7-1.63 1.2-3.3 1.7-5l0.1-0.4c0.6-2.43 0.9-4.91 1-7.4v-31.3h31q3 0 6-0.6c4.7-0.82 9.1-2.8 12.8-5.77 3.7-2.96 6.7-6.78 8.6-11.13 0.7-1.63 1.2-3.3 1.7-5l0.1-0.4c0.6-2.43 0.9-4.91 1-7.4v-31.3z m-162.1 124.5V391.4000000000001c0.2 3.6 0.4 8-5 8.6h-270.4c-1 0.13-2 0.07-3-0.19-0.9-0.29-1.8-0.73-2.6-1.31-0.6-0.77-1.1-1.67-1.3-2.64-0.3-0.95-0.4-1.97-0.2-2.96l0.2-17.9v-144.2c0-3.7-0.4-8.4 5-9.1h270.5c1-0.15 2-0.09 3 0.17 0.9 0.26 1.8 0.71 2.6 1.33 0.6 0.77 1.1 1.67 1.3 2.64 0.3 0.95 0.4 1.97 0.2 2.96l-0.2 17.9v14z m63-61.2v105c0.1 3.6 0.3 8-5 8.6h-20.1v-119.6c0.1-8.02-2.9-15.76-8.5-21.53s-13.2-9.11-21.2-9.27h-1.2c-35.8 0.1-71.6 0.1-107.3 0h-118.9v-18.4c-0.1-4-0.4-8.4 5-9.1h270.4c1-0.15 2-0.09 3 0.17 0.9 0.26 1.8 0.71 2.6 1.33 0.6 0.77 1.1 1.67 1.3 2.64 0.3 0.95 0.4 1.97 0.2 2.96l-0.2 17.9v14z m61.2-61.5v105.1c0.1 3.6 0.4 8-5 8.6h-18.2v-119.4c0.1-8.03-2.9-15.77-8.5-21.56s-13.2-9.14-21.2-9.34h-1.3c-35.8 0.1-71.6 0.1-107.3 0h-120.8v-18.8c0-3.8-0.4-8.4 5-9.1h270.5c1-0.15 2-0.09 3 0.17 0.9 0.26 1.8 0.71 2.6 1.33 0.6 0.77 1.1 1.67 1.3 2.64 0.3 0.95 0.4 1.97 0.2 2.96l-0.2 17.9v14z",style:{fill:"currentcolor"}}]},cast:{viewBox:"0 0 512 512",paths:[{d:"M91.60000000000036 104c-26.3 0-43.5 24-43.5 48.1v51.5c5.3-0.4 10.6-0.7 16-0.7s10.7 0.2 16 0.7V152.0999999999999c0-11.3 7.4-16.1 11.5-16.1h328.9c4.2 0 11.5 4.8 11.5 16.1v207.7c0 11.3-7.4 16.1-11.5 16.1h-168.1c0.4 5.3 0.7 10.6 0.7 16s-0.2 10.7-0.7 16h168.1c26.3 0 43.5-24 43.5-48.1V152.0999999999999c0-24.2-17.3-48.1-43.5-48.1z",style:{fill:"currentcolor"}},{d:"M214.20000000000073 408c0.6-5.31 0.8-10.66 0.8-16 0-19.83-3.9-39.47-11.5-57.79s-18.7-34.97-32.72-48.99a150.989 150.989 0 0 0-106.78-44.22c-5.4 0-10.7 0.3-16 0.8v32.2c5.3-0.72 10.65-1.09 16-1.1 31.56 0 61.82 12.54 84.14 34.86a118.99 118.99 0 0 1 34.86 84.14c0 5.35-0.4 10.7-1.1 16z",style:{fill:"currentcolor"}},{d:"M158.70000000000073 408c0.89-5.29 1.32-10.64 1.3-16a96.04 96.04 0 0 0-28.13-67.87c-18-18-42.41-28.12-67.87-28.13-5.36-0.03-10.71 0.41-16 1.3v32.7c5.23-1.33 10.6-2 16-2a63.95 63.95 0 0 1 45.28 18.72 63.95 63.95 0 0 1 18.72 45.28c0 5.4-0.67 10.77-2 16z",style:{fill:"currentcolor"}},{d:"M101.80000000000109 408a40.5 40.5 0 0 0 3.2-16 41.03 41.03 0 0 0-12.02-28.98 41.03 41.03 0 0 0-28.98-12.02c-5.5-0.03-10.94 1.06-16 3.2v7.8c0.01 12.2 4.85 23.89 13.48 32.52a46.07 46.07 0 0 0 32.52 13.48z",style:{fill:"currentcolor"}}]},"cast-connected":{viewBox:"0 0 512 512",paths:[{d:"M91.60000000000036 104c-26.3 0-43.5 24-43.5 48.1v51.5c5.3-0.4 10.6-0.7 16-0.7s10.7 0.2 16 0.7V152.0999999999999c0-11.3 7.4-16.1 11.5-16.1h328.9c4.2 0 11.5 4.8 11.5 16.1v207.7c0 11.3-7.4 16.1-11.5 16.1h-168.1c0.4 5.3 0.7 10.6 0.7 16s-0.2 10.7-0.7 16h168.1c26.3 0 43.5-24 43.5-48.1V152.0999999999999c0-24.2-17.3-48.1-43.5-48.1z",style:{fill:"currentcolor"}},{d:"M214.20000000000073 408c0.6-5.31 0.8-10.66 0.8-16 0-19.83-3.9-39.47-11.5-57.79s-18.7-34.97-32.72-48.99a150.989 150.989 0 0 0-106.78-44.22c-5.4 0-10.7 0.3-16 0.8v32.2c5.3-0.72 10.65-1.09 16-1.1 31.56 0 61.82 12.54 84.14 34.86a118.99 118.99 0 0 1 34.86 84.14c0 5.35-0.4 10.7-1.1 16z",style:{fill:"currentcolor"}},{d:"M158.70000000000073 408c0.89-5.29 1.32-10.64 1.3-16a96.04 96.04 0 0 0-28.13-67.87c-18-18-42.41-28.12-67.87-28.13-5.36-0.03-10.71 0.41-16 1.3v32.7c5.23-1.33 10.6-2 16-2a63.95 63.95 0 0 1 45.28 18.72 63.95 63.95 0 0 1 18.72 45.28c0 5.4-0.67 10.77-2 16z",style:{fill:"currentcolor"}},{d:"M101.80000000000109 408a40.5 40.5 0 0 0 3.2-16 41.03 41.03 0 0 0-12.02-28.98 41.03 41.03 0 0 0-28.98-12.02c-5.5-0.03-10.94 1.06-16 3.2v7.8c0.01 12.2 4.85 23.89 13.48 32.52a46.07 46.07 0 0 0 32.52 13.48z",style:{fill:"currentcolor"}},{d:"M133 169c-1.71 0-3.4 0.33-4.98 0.98a12.9 12.9 0 0 0-4.22 2.82 12.9 12.9 0 0 0-2.82 4.22c-0.65 1.58-0.98 3.27-0.98 4.98v30.2c31.73 7.31 60.7 23.49 83.6 46.65s38.8 52.34 45.7 84.15h128.7c1.7 0 3.4-0.33 5-0.98s3-1.61 4.2-2.82c1.2-1.2 2.2-2.64 2.8-4.22 0.7-1.58 1-3.27 1-4.98v-148c0-1.71-0.3-3.4-1-4.98-0.6-1.58-1.6-3.01-2.8-4.22a12.5 12.5 0 0 0-4.2-2.82c-1.6-0.65-3.3-0.98-5-0.98z",style:{fill:"currentcolor"}}]},add:{viewBox:"0 0 512 512",paths:[{d:"M256 112v288",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"50",fill:"none"}},{d:"M400 256h-288",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"50",fill:"none"}}]},remove:{viewBox:"0 0 512 512",paths:[{d:"M400 256h-288",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"50",fill:"none"}}]},eye:{viewBox:"0 0 512 512",paths:[{d:"M256 320c14.8 0 29.2-5.13 40.6-14.52 11.5-9.4 19.3-22.47 22.2-36.99 2.9-14.53 0.7-29.61-6.3-42.67s-18.3-23.3-32-28.97a64.05 64.05 0 0 0-43.1-2.12c-14.1 4.29-26.4 13.37-34.6 25.69-8.2 12.31-11.9 27.1-10.5 41.84 1.5 14.74 8 28.52 18.5 38.99 5.9 5.95 12.9 10.66 20.7 13.88s16.1 4.87 24.5 4.87",style:{fill:"currentcolor"}},{d:"M490.8000000000011 238.5999999999999c-26.5-40.9-60.8-75.7-99.3-100.5-42.6-27.5-89.6-42.1-135.9-42.1-42.5 0-84.3 12.1-124.3 36.1-40.7 24.4-77.6 60.1-109.7 106.1a32.06 32.06 0 0 0-5.7 17.71c-0.1 6.34 1.7 12.56 5.1 17.89 26.4 41.3 60.4 76.1 98.3 100.7 42.7 27.6 88.5 41.6 136.3 41.6 46.7 0 93.8-14.4 136.2-41.7 38.5-24.8 72.7-59.7 99.1-100.9 3.3-5.23 5-11.29 5-17.46 0-6.18-1.8-12.23-5.1-17.44m-234.8 113.4c-14.2 0.02-28.2-3.12-41.1-9.18-12.8-6.07-24.2-14.9-33.2-25.88-9-10.97-15.5-23.81-18.9-37.59-3.5-13.77-3.8-28.15-1.1-42.08 2.8-13.93 8.6-27.08 17.1-38.49 8.4-11.4 19.3-20.79 31.9-27.49a95.6 95.6 0 0 1 40.5-11.21c14.2-0.69 28.4 1.77 41.5 7.22a97.3 97.3 0 0 1 43.1 35.4c9.6 14.46 15.2 31.25 16 48.6 0.8 17.36-3 34.61-11.2 49.93a96.24 96.24 0 0 1-35.3 37.08 95.94 95.94 0 0 1-49.3 13.69",style:{fill:"currentcolor"}}]},"eye-off":{viewBox:"0 0 512 512",paths:[{d:"M432 448c-2.1 0.01-4.2-0.4-6.1-1.2-2-0.79-3.7-1.98-5.2-3.5l-352-352c-2.9-3.03-4.4-7.04-4.4-11.2 0-2.07 0.4-4.12 1.2-6.03s2-3.63 3.5-5.07c3-2.91 6.9-4.59 11.1-4.7 2.1-0.05 4.1 0.32 6 1.07 2 0.76 3.7 1.89 5.2 3.33l352 352c2.2 2.23 3.8 5.07 4.4 8.17s0.3 6.31-0.9 9.23-3.3 5.42-5.9 7.2c-2.6 1.8-5.7 2.74-8.9 2.7",style:{fill:"currentcolor"}},{d:"M248 315.9000000000001l-51.8-51.8c-0.3-0.29-0.7-0.5-1.1-0.6-0.4-0.08-0.8-0.01-1.2 0.2-0.4 0.19-0.7 0.51-0.9 0.9-0.2 0.36-0.3 0.79-0.2 1.2 2.1 13.45 8.4 25.88 18 35.5s22.1 15.92 35.5 18c0.4 0.08 0.8 0.01 1.2-0.2 0.4-0.19 0.7-0.51 0.9-0.9 0.2-0.38 0.2-0.79 0.2-1.2-0.1-0.41-0.3-0.79-0.6-1.1",style:{fill:"currentcolor"}},{d:"M264 196.19999999999982l51.9 51.9c0.3 0.29 0.7 0.5 1.1 0.6 0.4 0.08 0.8 0.01 1.2-0.2 0.4-0.19 0.7-0.51 0.9-0.9 0.2-0.36 0.3-0.79 0.2-1.2a64.3 64.3 0 0 0-18-35.5c-9.6-9.62-22.1-15.93-35.5-18-0.4-0.08-0.8-0.01-1.2 0.2-0.4 0.19-0.7 0.51-0.9 0.9-0.2 0.36-0.3 0.79-0.2 1.2 0 0.19 0.1 0.38 0.1 0.55 0.1 0.16 0.3 0.31 0.4 0.45",style:{fill:"currentcolor"}},{d:"M491 273.4000000000001c3.3-5.19 5.1-11.24 5-17.4 0-6.17-1.8-12.2-5.1-17.4-26.5-40.9-60.8-75.7-99.3-100.5-42.6-27.5-89.6-42.1-136-42.1-24.4 0.01-48.7 3.99-71.8 11.8-0.6 0.23-1.2 0.61-1.7 1.1-0.5 0.48-0.8 1.12-0.9 1.8-0.2 0.66-0.2 1.34 0 2 0.1 0.66 0.5 1.25 1 1.7l47.2 47.2c0.5 0.52 1.1 0.87 1.8 1 0.7 0.2 1.3 0.2 2 0 16-3.92 32.8-3.64 48.6 0.8 15.9 4.44 30.4 12.9 42 24.56 11.7 11.65 20.2 26.12 24.6 42 4.4 15.87 4.7 32.63 0.8 48.64-0.2 0.65-0.2 1.35 0 2 0.2 0.67 0.5 1.29 1 1.8l67.9 68c0.7 0.7 1.7 1.13 2.7 1.2 1 0.06 2-0.26 2.8-0.9 26.3-22.18 49-48.24 67.4-77.3",style:{fill:"currentcolor"}},{d:"M256 352c-14.5 0.03-28.9-3.25-42-9.58-13-6.33-24.5-15.55-33.5-26.96-9-11.42-15.3-24.72-18.4-38.92s-2.9-28.92 0.5-43.04c0.2-0.65 0.2-1.35 0-2-0.2-0.68-0.5-1.3-1-1.8l-66.8-66.9c-0.7-0.69-1.7-1.12-2.7-1.2-1-0.06-2 0.26-2.8 0.9-24.4 20.8-47 46.03-67.7 75.7-3.6 5.2-5.6 11.36-5.7 17.7-0.1 6.33 1.7 12.55 5.1 17.9 26.4 41.3 60.4 76.1 98.3 100.7 42.7 27.6 88.5 41.6 136.3 41.6 24.7-0.09 49.1-4 72.6-11.6 0.7-0.21 1.2-0.59 1.7-1.1s0.8-1.13 1-1.8c0.2-0.65 0.2-1.35 0-2-0.2-0.68-0.5-1.3-1-1.8l-47.5-47.5c-0.5-0.49-1.1-0.84-1.8-1-0.7-0.2-1.3-0.2-2 0-7.4 1.8-15 2.7-22.6 2.7",style:{fill:"currentcolor"}}]},"local-import":{viewBox:"0 0 512 512",paths:[{d:"M83.60000000000036 202.5v-64.6a35.8 35.8 0 0 1 10.49-25.31 35.82 35.82 0 0 1 25.31-10.49h68.2a36.55 36.55 0 0 1 19.9 6l25 16.7a35.25 35.25 0 0 0 19.9 6h139.9a35.82 35.82 0 0 1 35.8 35.8v35.8",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}},{d:"M456.89999999999964 233.4l-14.6 148.4a35.85 35.85 0 0 1-10.49 25.309 35.82 35.82 0 0 1-25.31 10.491h-301a35.82 35.82 0 0 1-35.8-35.8l-14.6-148.4a28.755 28.755 0 0 1 26.3-30.9c0.8 0 1.5-0.2 2.3-0.2h344.6c7.61 0.03 14.9 3.08 20.26 8.48a28.74 28.74 0 0 1 8.34 20.32z",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}}]}},n=o.memo(o.forwardRef(((e,t)=>{const a=i[e.name];return a?o.createElement("svg",{ref:t,className:e.className,viewBox:a.viewBox},a.paths.map(((e,t)=>o.createElement("path",{key:t,d:e.d,style:e.style})))):null})))},65929:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"الأفلام","TYPE_series":"المسلسلات","TYPE_tv":"قنوات تلفاز","TYPE_channel":"القنوات","TYPE_other":"أخرى","TYPE_movie_PL":"أفلام","TYPE_series_PL":"مسلسلات","TYPE_tv_PL":"قنوات تلفاز","TYPE_channel_PL":"قنوات","TYPE_other_PL":"أخرى","TYPE_ALL":"الكل","TYPE":"نوع","CATALOG_com_linvo_cinemeta_top":"رائج","CATALOG_com_linvo_cinemeta_imdbRating":"مميز","CATALOG_com_linvo_cinemeta_year":"حديث","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"افلام عامة","VIDEO":"فيديو","BACK":"رجوع","MORE":"المزيد","DONE":"تم","COPY":"نسخ","SUCCESS":"نجح","ERROR":"خطاء","SETTINGS_CASTING_MODE_PICKER":"وضع البث","CASTING_MODE_HLSV2":"الافتراضي","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"لايوجد ترميز","Discover":"أكتشف","Board":"الرئيسية","Library":"المكتبة","My Library":"مكتبتي","Calendar":"التقويم","NOTIFICATION_ONLINE":"أنت الأن متصل بالأنترنيت","NOTIFICATION_OFFLINE":"أنت الأن غير متصل بالأنترنيت","INTERNET_CONNECTION":"جاري الأتصال بالشكبة","STORAGE_FULL_TITLE":"تحذير : مساحة التخزين ممتلئة !","STORAGE_FULL_TEXT":"لن يتمكن Stremio من حفظ الإعدادات أو التفضيلات أو معلومات تسجيل الدخول الخاصة بك. ضع في اعتبارك إعادة تشغيل Stremio أو إعادة تثبيته.","SEARCH":"البحث","SEARCH_NO_RESULTS":"لم يتم العثور على نتائح","SEARCH_EXPLANATION_CONTENT":"البحث عن الأفلام والمسلسلات وقنوات يوتيوب والتلفزيون","SEARCH_EXPLANATION_PEOPLE":"ابحث عن الممثلين والمخرجين والكتاب","SEARCH_PASTE_LINKS":"قم بلصق روابط HTTP و Magnet","SEARCH_OR_PASTE_LINK":"أبحث او ألصق رابط","SEARCH_SUGGESTIONS":"اقتراحات البحث","ADD_TO_LIB":"اضافة الى المكتبة","REMOVE_FROM_LIB":"ازالة من المكتبة","ADDED_TO_LIB":"تمت الاضافة الى المكتبة","REMOVED_FROM_LIB":"تمت الازالة من المكتبة","TRAILER":"الأعلان","WATCH_TRAILER":"مشاهدة الأعلان","WATCH_NOW":"مشاهدة الأن","SHOW":"عرض","SHOW_MOVIE":"شاهد الفيلم","WATCH_RANDOM":"مشاهدة عشوائية","IMDB_RATING":"تقييم IMDb","YEAR":"السنة","DIRECTOR":"المخرج","WRITER":"الكاتب","LEAD_ACTORS":"أبرز الممثلين","CAST":"طاقم العمل","CREW":"الفريق","SHOW_MORE_CAST":"عرض المزيد «","AIRED":"تم عرضه","SEASONS":"المواسم","GENRE":"تصنيف","GENRE_ALL":"جميع التصنيفات","CATALOG":"فهرس","SUMMARY":"ملخص","SHOW_MORE":"عرض المزيد","SIMILAR":"مشابه","UPCOMING":"قريبا","ENDED":"تم الانتهاء","DURATION":"مدة العرض","FEATURED":"متميز","METADATA":"البيانات الوصفية","CATEGORY":"الفئة","LINKS_GENRES":"التصنيف","LINKS_CAST":"الطاقم","LINKS_DIRECTORS":"المخرجون","SEARCH_VIDEOS":"البحث عن فيديوهات","SEARCH_PLACEHOLDER":"ابحث أو الصق رابط","ADDON":"أضافة","ADDONS":"أضافات","OFFICIAL":"رسمية","ADDONS_OFFICIAL":"إضافات Stremio الرسمية","ADDONS_POPULAR":"شائع في منطقتك","ADDON_FREE":"مجاني","ADDON_PEERED":"مشاهد","ADDON_SUBSCRIPTION":"أشتراك","ADDON_STREAM_GEORESTRICTED":"غير متاح في منطقتك","ADDON_STREAM_OFFLINECACHE":"ذاكرة التخزين المؤقت غير متصلة","ADDON_STREAM_LOCALFILE":"ملف محلي","SHARE_ADDON":"مشاركة الأضافة","AVAILABLE_STREAMS":"العروض \'الفيديوهات\' المتاحة","NO_STREAM":"لم يتم العثور على عروض او فيديوهات","ALL_ADDONS":"الكل","INSTALL_MORE_ADDONS":"لمزيد من العروض والفيديوهات ، يرجى تثبيت المزيد من الإضافات","STREAM_NOT_SUPPORTED":"العرض المحدد غير مدعوم على هذا النظام الأساسي.","ADDON_CATALOGUE":"عرض جميع الأضافات »","ADDON_CATALOGUE_MORE":"تثبيت أضافات","REPO_ADDED":"تمت إضافة المستودع","ADDON_REPO_EXIST_ERR":"هذه الأضافة موجودة بالفعل","ADDON_REPO_ERR":"حدث خطا اثناء اضافة المجموعة","ADDON_ADD_ERR":"حدث خطأ أثناء إضافة الاضافة","ERR_ADDON_PROTECTED":"لا يمكن إلغاء تثبيت الاضافة ، فهي محمية","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"حدث خطأ - ربما فشلت المصادقة","ERR_NOT_COLLECTION_URL":"رابط غير صالح","ERR_NOT_ADDON_URL":"ليس رابط لأضافة صالحة","ERR_DETECTFROMURL":"لم يتم العثور على أضافة / مجموعة في هذا الرابط","ADDON_DUPLICATE_WARNING":"تحذير : أضافة مكررة","ADDON_COLLECTION_SET_FAILED":"فشلت مزامنة الإضافات المثبتة إلى حسابك","SETTINGS_DATA_EXPORT":"تصدير بيانات المستخدم","ADDON_PULL_FAILED":"فشلت مزامنة الإضافات المثبتة إلى حسابك","REFRESH_ON_CLICK":" إضغط لإعادة تحميل","STILL_IN_THEATER":"متواجد في دور العرض","WATCH_IN_CINEMA":"شاهده في دار العرض القريبة منك","IN_THEATER":"حاليا في دور العرض","GET_TICKETS":"أحصل على تذاكر","UPCOMING_EPISODE":"الحلقة القادمة","UPCOMING_EPISODE_MESSAGE":"سيتم عرض هذه الحلقة في","MISSING_DATE_EPISODE":"تاريخ الحلقة غير متوفرة","MISSING_DATE_EPISODE_MESSAGE":"هذه الحلقة غالبا لم تعرض بعد","CHANNEL_NOT_SCRAPED":"لم يتم مراجعة هذه القناة بعد. <br> يرجى العودة بعد بضع دقائق.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"قم بإضافته إلى مكتبتك ليتم إعلامك بمجرد توفره.","GET_NOTIFIED_WHEN_AVAILABLE":"سيتم إخطارك بمجرد توفرها.","WARNING_STREAMING_SERVER":"تحذير: خادم البث المحلي غير موجود. البث من الملفات المحلية ، لن يكون YouTube و BitTorrent متاحين.","WARNING_STREAMING_SERVER_DISMISS":"تجاهل","WARNING_STREAMING_SERVER_LATER":"فيما بعد","DECODER_WARNING":"تحذير: قد لا يدعم جهازك هذا الفيديو. ضع في اعتبارك أن التشغيل قد يكون بطيئًا.","GENERIC_ERROR_MESSAGE":"حدث خطاء!","TRY_AGAIN":"حاول مره أخرى","CLEAR_DATA":"حذف البيانات","PLAYER_ERROR":"خطأ في المشغل","PLAYER_ERROR_LOOKSLIKE":"يبدو أنه","PLAYER_ORIENTATION":"اتجاه المشغل","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"مقفل","PLAYER_ORIENTATION_SENSOR_SHORT":"المستشعر","PLAYER_ORIENTATION_LANDSCAPE":"اتجاه المشغل مقفل في الوضع الأفقي","PLAYER_ORIENTATION_SENSOR":"توجيه المشغل تلقائيًا (مستشعر)","PLAYER_PLAYBACK_SPEED":"سرعة التشغيل","PLAYER_PLAYBACK_ERROR":"خطأ في التشغيل، يرجى المحاولة مرة أخرى","PLAYER_PLAYBACK_ERROR_UNKNOWN":"خطأ غير معروف","PLAYER_PLAYBACK_ERROR_DEFAULT":"آسف، لا يمكن تشغيل هذا الفيديو بإستخدام {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"لغات الترجمة","PLAYER_SUBTITLES_VARIANTS":"انواع الترجمة","PLAYER_SUBTITLES_SETTINGS":"إعدادات الترجمة","PLAYER_SUBTITLES_DISABLED":"الترجمة معطلة","PLAYER_SUBTITLES_VERTICAL_POSIITON":"الاتجاه العمودي","PLAYER_SUBTITLES_LOADED":"تم تفعيل الترجمة","PLAYER_SUBTITLES_LOADED_EMBEDDED":"تم تفعيل الترجمة المضمنة","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"تم تفعيل الترجمة المميزة","PLAYER_SUBTITLES_LOADED_ORIGIN":"الترجمة من {{origin}} مفعلة","PLAYER_PLAY":"تشغيل","PLAYER_PAUSE":"ايقاف","PLAYER_NEXT_VIDEO":"الفيديو التالي","PLAYER_MUTE":"كتم","PLAYER_UNMUTE":"إلغاء الكتم","PLAYER_OPEN_IN_EXTERNAL":"الفتح في مشغل خارجي","PLAYER_OPEN_IN_NPLAYER":"فتح في nPlayer","PLAYER_PLAY_IN":"تشغيل في {{device}}","PLAYER_LIVE":"مباشر","PLAYER_NEXT_VIDEO_TITLE":"الفيديو التالي","PLAYER_NEXT_VIDEO_TITLE_SHORT":"التالي","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"إغلاق","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"شاهد الان","PLAYER_COPY_STREAM_SUCCESS":"تم نسخ رابط البث ","PLAYER_COPY_STREAM_ERROR":"فشل في نسخ رابط البث","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"تم نسخ رابط التنزيل ","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"فشل نسخ رابط التنزيل","STREAMING_FROM":"يتم البث من","CASTING_TO":"ارسال البث ل","NETWORK_STATUS":"حالة الشبكة","STREAM_SPEED":"سرعة البث : ","STREAM_BUFFERED":"مخزن:","PEERS_INFO":"معلومات الأقران (Peers)","PEERS_ACTIVE":"فعال :","PEERS_CONNECTED":"متصل :","PEERS_WAITING":"في الأنتطار:","TRANSCODING_WARNING":"تحذير: تحويل ترميز الفيديو.","STREAM_LOADING":"جاري التحميل...","PLAYING_LOCAL":"يتم التشغيل من ملف محلي","PLAYING_CACHE":"يتم التشغيل من ملفات التخزين السابقة (Cache)","WRONG_SUBS":"ترجمة خاطئة ؟","ERR_SUBS_LOADING_TITLE":"حدث خطأ أثناء تحميل الترجمة","ERR_SUBS_LOADING":"فشل تحميل الترجمة: قد يكون هذا مشكلة في الملحق الذي تستخدمه أو في اتصال الشبكة","WARN_FOLLOWING_SUB_ADDONS_FAILED":"فشل في تحميل الترجمة من الإضافات التالية","ERR_CASTING_UPDATE_TITLE":"تعذر تحديث معلومات جهاز الإرسال: قد يكون خادم البث غير متصل بالإنترنت","CHOOSE_DEVICE":"اختر جهازًا للمشاهدة عليه","NO_CAST_DEVICES":"لا يوجد أجهزة عرض متاحة.","NO_SETTINGS":"لا يوجد إعدادات متاحة.","PHONE_TABLET":"هاتف / جهاز لوحي","SUBTITLES":"الترجمات","SUBTITLES_CHANGE":"قم بتغيير ترجمات ل ","SUBTITLES_CHANGE_NONE":"لا توجد ترجمات أخرى لهذه اللغة ، معذرة.","SUBTITLES_CHANGE_ACIVE":"الترجمات الحالية &#35;{{subtitlesDialog.activeIdx + 1}} فعالة. انقر \\"متابعة\\" لتفعيل الترجمات &#35;{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"بدلا من ذلك,","SUBTITLES_ADJUST_DELAY":"ضبط تأخير الترجمة:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"أو استخدم مفاتيح <span>G</span> / <span>H</span> أثناء التشغيل للضبط.","SUBTITLES_ADJUST_DELAY_TIP":"نصيحة: يمكنك استخدام مفاتيح <span>G</span> / <span>H</span> أثناء التشغيل للضبط.","SUBTITLES_DELAY":"تأخير الترجمة:","SUBTITLES_LOADING":"جارٍ تحميل الترجمات ...","SUBTITLES_UNAVAILABLE":"لا توجد ترجمات متاحة.","SUBTITLES_DISABLED":"معطل","EXTERNAL_PLAYER_DISABLED":"معطل","EXTERNAL_PLAYER_ALLOW_CHOOSING":"السماح بألاختيار","EXTERNAL_PLAYER_HINT":"تلميح: هناك إعداد للسماح بالفتح دائما مع مشغل خارجي","DONT_SHOW_AGAIN":"لا تظهر مرة أخرى","SERVICE_INSTALL":"تنزيل","AUDIO":"Audio","DEFAULT_LANGUAGE":"اللغة الإفتراضية","DEFAULT_SECONDARY_LANGUAGE":"اللغة الثانوية الافتراضية","SEASON":"موسم","EPISODE":"حلقة","EPISODE_ABBREVIATION":"ح","SPECIAL":"حلقات خاصة","SORT":"ترتيب","SORT_BY":"ترتيب حسب","FILTER":"تصفية","SORT_TRENDING":"الشائع","SORT_RECENT":"مؤخرا","SORT_ALPHABET":"من a الى z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"التقييم","SORT_WATCHED":"تمت المشاهدة","SORT_YEAR":"عام","SELECT_TYPE":"اختر صنف","SELECT_SORT":"حدد الترتيب","SELECT_CATALOG":"حدد الكتالوج","SELECT_GENRE":"اختر النوع","SORT_LASTWATCHED":"حسب آخر مشاهدة","SORT_NAME":"بالاسم","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"حسب مرات المشاهدة","SORT_NOTWATCHED":"لم تشاهده","New for You":"جديد من أجلك","New Episodes":"حلقات جديدة","New Videos":"فيديوهات جديدة","Recommendations":"المقترحة","LIBRARY_RESUME":"تابع","LIBRARY_PLAY":"تشغيل","LIBRARY_DETAILS":"التفاصيل","LIBRARY_RESUME_DISMISS":"انهاء","LIBRARY_CLEAR_PROGRESS":"مسح التقدم","LIBRARY_REMOVE":"حذف","LIBRARY_NOT_LOGGED_IN":"Library is only available for logged in users","CALENDAR_NOT_LOGGED_IN":"Calendar is only available for logged in users","NOT_LOGGED_IN_CLOUD":"Access your favorite movies and TV shows anytime, anywhere","NOT_LOGGED_IN_RECOMMENDATIONS":"Recommendations tailored to your viewing history","NOT_LOGGED_IN_NOTIFICATIONS":"Never miss an episode again","NOT_LOGGED_IN_CALENDAR":"Schedule your personal watching calendar","DISCOVER_FEATURED":"متميز","DISCOVER_TOP":"الأعلى","DISCOVER_OSCAR":"حاصلة على جائزة الأوسكار","DISCOVER_WARNING_TITLE":"عذرا !","DISCOVER_EMPTY_CATALOG":"هذه الاضافة لاتحتوي على محتوى","DISCOVER_ADULT_WARNING":"هذا المحتوى مخصص للبالغين عمرك اكبر من 18 ؟","DISCOVER_NOADDON_WARNING":"تحذير: لا يوجد ملحق Stremio نشط لهذا النوع. إظهار العناصر المحفوظة ، لن يتم تحديث أي شيء هنا.","DISCOVER_LOAD_ERR":"لم يتم تحميل المحتوى ، حدث خطأ.","DISCOVER_ADDON_UNINSTALLED":"لم يعد هذا المحتوى متاحًا ، ربما تكون قد قمت بإلغاء تثبيت الأضافة.","UNINSTALL_THIS_ADDON":"الغاء تثبيت الأضافة","ERR_ADDON_NOT_INSTALLED":"هذه الاضافه غير مثبته، هل تريد تثبيتها الان؟","DETAIL_RECEIVE_NOTIF_SERIES":"تلقي أشعار في حال وجود حلقات جديدة","DETAIL_RECEIVE_NOTIF_VIDEOS":"تلقي أشعار في حال وجود فيديوهات جديدة","SIDEBAR_SHOW_STREAMS":"إظهار العروض","RELAUNCH":"إعادة التشغيل الأن!","UPGRADE":"نسخة جديدة متاحة! قم بالترقية إلى أحدث إصدار من Stremio","RELOAD_UI":"إعادة تحميل الواجهة الأساسية","MANUAL_UPDATE_TITLE":"تحديث نسخة جديدة من Stremio","MANUAL_UPDATE_LINE1":".أنت تستخدم نسخه قديم من Stremio و هو غير موصى به ","MANUAL_UPDATE_LINE2":"يرجى تحديث البرنامج في اقرب وقت ممكن.","BUTTON_UPDATE_LATTER":"ليس الأن","BUTTON_UPDATE_NOW":"تحديث الأن","ANONYMOUS_USER":"مستخدم مجهول","DONT_HAVE_ACC":"ليس لديك حساب؟","HAVE_ACC":"هل لديك حساب؟","PASSWORD":"كلمة السر","PASSWORD_CONFIRM":"تأكيد كلمة السر","EMAIL":"البريد الألكتروني","FB_LOGIN":"متابعة بأستخدام حساب فيسبوك","FB_NOTHINGSHARED":"لن يتم مشاركة أي شي بدون موافقتك","FB_NOPOST":"لن نقوم بنشر أي شي بالنيابة عنك","OR":"أو","I_ACCEPT":"أنا أقبل","I_ACCEPT_BY_CLICKING":"بالنقر فوق الزر أعلاه ، أشهد بأنني أقبل ","TOS":"الأحكام والشروط","MUST_ACCEPT_TERMS":"يجب عليك قبول الشروط","PASSWORDS_NOMATCH":"كلمات السر غير متطابقة","SIGN_UP":"أنشاء حساب","SIGN_UP_EMAIL":"أنشاء حساب بأستخدام البريد الألكتروني","CLICK_TO_SIGN_UP":"أنقر هنا لأنشاء حساب","LOG_IN":"تسجيل الدخول","LOG_OUT":"تسجيل الخروج","EXIT_FULLSCREEN":"خروج من وضع ملء الشاشة","ENTER_FULLSCREEN":"تشغيل وضع ملء الشاشة","PLAY_URL_MAGNET_LINK":" تشغيل رابط ال URL/Magnet","HELP_FEEDBACK":"المساعدة و ملاحظة","TERMS_OF_SERVICE":"الأحكام والشروط","PRIVACY_POLICY":"سياسة الخصوصية","ABOUT_STREMIO":"عن Stremio","USER_PANEL":"لوحة التحكم","LOGIN_LABEL":"تسجيل الدخول","GUEST_LOGIN":"تسجيل الدخول كزائر","GUEST_LOGIN_NOTICE":"لا يوصى بتسجيل دخول كزائر. يسمح استخدام تسجيل الدخول المنتظم لـ Stremio بمزامنة مكتبتك ، وتلقي إعلامات للمسلسلات / القنوات المفضلة. هل انت متأكد انك تريد المتابعة؟","GUEST_LOGIN_NOTICE_2":"لا يوصى بتسجيل دخول كزائر. يسمح استخدام تسجيل الدخول المنتظم لـ Stremio بمزامنة مكتبتك ، وتلقي إعلامات للمسلسلات / القنوات المفضلة. هل انت متأكد انك تريد المتابعة؟","CLICK_HERE":"أنقر هنا","WRONG_PASSWORD":"بريد إلكتروني أو كلمة السر خاطئة. في حالة نسيان كلمة السر الخاصة بك ، ","SET_A_PASS":"وضع كلمة سر","RESET_PASSWORD":"أستعادة كلمة السر","FORGOT_PASSWORD":"نسيت كلمة السر ؟","EMAIL_USED_WITH_FB":"تم استخدام هذا البريد الإلكتروني مع تسجيل الدخول إلى Facebook.","INVALID_EMAIL":"رجاء قم بإدخال بريد الكتروني صحيح","INVALID_PASSWORD":"الرجاء إدخال كلمة السر الصحيحة","CONN_ERR":"خطأ في الاتصال - يرجى المحاولة مرة أخرى لاحقًا. إذا استمر ذلك ، فقم بتعطيل جدران الحماية / برنامج مكافحة الفيروسات (خاصة Bitdefender).","IMPORT_FROM_GUEST":"استيراد مكتبتك من حساب الزائر الخاص بك","RECEIVE_UPDATES_EMAIL":"تلقي تحديثات البريد الإلكتروني الخاص بك من Stremio","LOGIN_FAILED":"لم ينجح تسجيل الدخول","SIGNUP_FAILED":"لم ينجح أنشاء حساب","SEARCH_FAILED":"لم ينجح البحث","EMAIL_USED":"تم أستخدام هذا البريد الألكتروني مسبقا","WAITING_FB_LOGIN":"جاري تسجيل الدخول ب أستخدام فيسبوك ...","EXTERNAL_PLAYER_TITLE":"تشغيل باستخدام المشغل الخارجي","EXTERNAL_REMEMBER_PLAYER":"هل ترغب في تذكر خيارك","EXTERNAL_ALWAYS_PLAY":"نعم","EXTERNAL_ONLY_ONCE":"لا","BEST_FIT":"الأنسب","FIT_SCREEN":"تناسب الشاشة","FILL":"تعبئة","16:9":"16:9","4:3":"4:3","Original":"اصلي","INTRO_TASTE":"أخبرنا بما تحبه","INTRO_TASTE_LONG":"أخبرنا بما تود مشاهدته","INTRO_TASTE_PICK":"اختر {{interestsRemaining}} أهتمامات","INTRO_TASTE_PICK_MORE":"اختر {{interestsRemaining}} أهتمامات أخرى","INTRO_TASTE_HELP_US":"ساعدنا في معرفة المزيد عنك.","INTRO_TASTE_CHOOSE_THESE":"اختر بعضًا من هذه:","INTRO_TASTE_CHOOSE_MIN":"اختر 3 فئات على الأقل","INTRO_TASTE_CHOOSE_MIN_ERR":"عليك أن تختار 3 فئات على الأقل!","INTRO_TASTE_LIFESTYLE":"أسلوب الحياة","INTRO_TASTE_SPORTS":"الرياضة","INTRO_TASTE_FOOD_HEALTH":"الطعام و الصحة","INTRO_TASTE_BEAUTY_FASHION":"الجمال و الموضة","INTRO_TASTE_NEWS":"الأخبار","INTRO_TASTE_GAMING":"الألعاب","INTRO_TASTE_SCIENCE_EDU":"التعلم و العلوم","INTRO_TASTE_MUSIC":"الموسيقى","INTRO_TASTE_TRAVEL":"السفر","INTRO_TASTE_LATE_NIGHT":"برامج أخر الليل","INTRO_TASTE_REALITY":"الواقع","INTRO_TASTE_COMEDY":"الكوميديا","INTRO_TASTE_DIY":"كيف تصنعها بنفسك","INTRO_TASTE_TECH":"التقنية","INTRO_TASTE_CINEMA":"السينيما","ADDON_NOT_SUPPORTED":"الأضافة المحددة غير مدعومة على هذا النظام الأساسي.","ADDON_DISCLAIMER":"سيخضع استخدام أدوات الطرف الثالث دائمًا لمسؤوليتك والقانون الحاكم للولاية القضائية التي توجد بها.","ADDON_ACTIVATE":"تفعيل هذه الأضافة","ADDON_REPO_ADD":"رابط الأضافة","ADDON_ADD":"أضافة","INSTALL_ADDON":"تنزيل الأضافة","ADD_ADDON":"أضافة ملحق","ADD_ADDON_DESCRIPTION":"يمكنك إضافة ملحق عبر رابط خارجي ، والذي سيظهر ضمن الوظائف الإضافية المثبتة.","PASTE_ADDON_URL":"لصق عنوان الملحق","WHATS_NEW":"ما الجديد","BUTTON_CONTINUE":"متابعة","BUTTON_ACTIVATE":"تفعيل","BUTTON_ACTIVATED":"مفعلة","BUTTON_CANCEL":"ألغاء","BUTTON_SUBMIT":"تقديم","BUTTON_DISMISS_ALL":"أنهاء الجميع","BUTTON_VIEW_ALL":"عرض الكل","BUTTON_SEE_ALL":"المزيد..","BUTTON_COLOR_TRANSPARENT":"شفاف","OPEN_IN_BROWSER":"افتح في المتصفح","LIB_EMPTY":"مكتبتك تبدو فارغة. اكتشف مدى فائدتها :) ","HOW_START":"إليك كيف يمكنك البدء:","LIB_EMPTY_CAL":"يعرض التقويم الخاص بك المسلسلات في مكتبتك.","HOW_START_CAL":"إليك كيف يمكنك إضافة مسلسل:","LIB_EMPTY_BOARD":"يظهر المجلس الإخطارات و. التوصيات المتعلقة بمكتبتك.","HOW_START_BOARD_WAIT":"من فضلك ، أضف بعض المسلسلات أو القنوات إلى مكتبتك ، امنحنا بضع دقائق للمعالجة :)","HOW_START_BOARD":"إليك كيفية إضافة المسلسلات والأفلام إليها:","IMPORT_FB":"استيراد الأشياء التي تريدها من <span>Facebook</span>","IMPORT_TRAKT":"قم باستيراد مكتبة الوسائط الخاصة بك من <span>Trakt</span>","IMPORT_DISCOVER":"اعثر على أشياء شيقة من <span>الأكتشاف</span>","IMPORT_DISK":"قم باستيراد الأفلام أو العروض الموجودة لديك على <span> القرص المحلي </ span>","PLEASE_CREATE_ACC":"يرجى <u> إنشاء حساب </ u> لتمكين مزامنة المكتبة و لوحة التحكم.","IMPORT_DISCOVER_SIGNUP":"اشترك وابحث عن أشياء ممتعة من <span> الأكتشاف </span>","IMPORT_DISK_SIGNUP":"اشترك واستورد الأفلام أو العروض التي لديك على <span> القرص المحلي </ span>","LIB_EMPTY_CLOUD":"مكتبة التخزين السحابي","LIB_EMPTY_CLOUD_DESC":"تمت مزامنة مكتبة السحابة الشخصية على جميع الأجهزة","LIB_EMPTY_EARLY":"بداية الأطلاق","LIB_EMPTY_EARLY_DESC":"تلقي الأشعارات للحلقات الجديدة","LIB_EMPTY_PERSONAL":"شخصي","LIB_EMPTY_PERSONAL_DESC":"احصل على مقترحات شخصية","LIB_EMPTY_CALENDAR_DESC":"قم ب إنشاء تقويم شخصي للمشاهدة","LIB_EMPTY_ALL":"اشترك للحصول على كل ما يلي:","LIB_EMPTY_BEST":"قم بالتسجيل للحصول على أفضل ما في Stremio","LIB_EMPTY_OTHER":"قم بالتسجيل لتمكين التقويم والميزات الرائعة الأخرى","CALENDAR_ADDED":"تمت إضافة تقويم Stremio إلى تقويم سطح المكتب الافتراضي الخاص بك.","CALENDAR_ADDED_MSG":"إذا لم يفلح ذلك ، يرجى إضافة عنوان URL هذا إلى تطبيق التقويم يدويًا","TRAKT_EXPIRED":"انتهت صلاحية مصادقة Trakt ، يرجى الانتقال إلى الإعدادات وإعادة المصادقة","TRAKT_REQUIRES_LOGIN":"خطأ Trakt","TRAKT_REQUIRES_LOGIN_MSG":"تحتاج إلى تسجيل الدخول","TRAKT_IMPORT_WATCHED":"إستيراد","THEME":"موضوع","THEME_DEFAULT":"إفتراضي","THEME_ADAPTIVE":"متكيف","SETTINGS_LABEL":"الأعدادات","SETTINGS_NAV_GENERAL":"عام","SETTINGS_NAV_PLAYER":"المشغل","SETTINGS_NAV_STREAMING":"بث","SETTINGS_NAV_SHORTCUTS":"اختصارات","SETTINGS_SHORTCUT_RELOAD_APP":"إعادة تحميل التطبيق","SETTINGS_SHORTCUT_OPEN_SETTINGS":"فتح الاعدادات","SETTINGS_SHORTCUT_SWITCH_TABS":"تبديل التبويبات","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"الانتقال من خلال علامات التبويب إلى الأمام","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"الانتقال من خلال علامات التبويب إلى الخلف","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"تنقل بين القوائم","SETTINGS_SHORTCUT_GO_TO_SEARCH":"اذهب إلى البحث","SETTINGS_SHORTCUT_EXIT_BACK":"الخروج / العودة","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"تبديل قائمة سرعة التشغيل","SETTINGS_SHORTCUT_MENU_VIDEOS":"تبديل قائمة مقاطع الفيديو","SETTINGS_SHORTCUT_MENU_SUBTITLES":"تبديل قائمة الترجمة","SETTINGS_SHORTCUT_MENU_INFO":"تبديل قائمة المعلومات","SETTINGS_SHORTCUT_FULLSCREEN":"تفعيل وضع ملء الشاشة","SETTINGS_SHORTCUT_SHOW_CONTROLS":"عرض ادوات التحكم","SETTINGS_SHORTCUT_PLAY_PAUSE":"اتشغيل / ايقاف","SETTINGS_SHORTCUT_VOLUME_UP":"زيادة الصوت","SETTINGS_SHORTCUT_VOLUME_DOWN":"انقاص الصوت","SETTINGS_SHORTCUT_SEEK_NEXT":"ابحث عن التالي","SETTINGS_SHORTCUT_SEEK_PREV":"ابحث عن السابق","SETTINGS_SHORTCUT_SEEK_BACKWARD":"التحريك للخلف","SETTINGS_SHORTCUT_SEEK_FORWARD":"التحريك للامام","SETTINGS_SHORTCUT_PLAY_NEXT":"عرض التالي","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"تكبير خط الترجمة","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"تصغير خط الترجمة","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"زيادة مدة تأخير الترجمة","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"انقاص مدة تأخير الترجمة","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"تفعيل / تعطيل الشريط الجانبي","SETTINGS_SHORTCUT_OR":"بعد","SETTINGS_SHORTCUT_TO":"الى","SETTINGS_SHORTCUT_SPACE":"مساحة","SETTINGS_SHORTCUT_SHIFT":"شيفت","SETTINGS_SHORTCUT_ESC":"خروج","SETTINGS_TRAKT_AUTHENTICATE":"المصادقة","SETTINGS_FACEBOOK_IMPORT":"استيراد","SETTINGS_CALENDAR_SUBSCRIBE":"اشتراك","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"لغة الواجهة","SETTINGS_LAUNCH_STARTUP":"ابدأ عند بدء التشغيل","SETTINGS_VLC_DEFAULT":"تشغيل عن طريق VLC","SETTINGS_UI_LANGUAGE":"لغة واجهة المستخدم","SETTINGS_UI_ZOOM":"تكبير الواجهة","SETTINGS_FULLSCREEN_EXIT":"مفتاح Escape للخروج من وضع ملء الشاشة ","SETTINGS_GAMEPAD":"تفعيل دعم gamepad","SETTINGS_CLOSE_WINDOW":"أغلق التطبيق عند إغلاق النافذة","SETTINGS_SUBTITLES_LANGUAGE":"لغة الترجمة الافتراضية","SETTINGS_SUBTITLES_SIZE":"حجم خط الترجمة الافتراضي","SETTINGS_SUBTITLES_BACKGROUND":"خلفية الترجمة","SETTINGS_SUBTITLES_COLOR":"لون خط الترجمة","SETTINGS_SUBTITLES_COLOR_OUTLINE":"لون خط الترجمة الخارجي","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"لون خلفية الترجمة","SETTINGS_SEEK_KEY":"الاسهم لتقديم الوقت","SETTINGS_SEEK_KEY_SHIFT":"تتقدم مفاتيح الأسهم الوقت عندما يكون مفتاح Shift مضغوطًا","SETTINGS_REWIND_FAST_FORWARD_DURATION":"مدة التقديم او الإرجاع","SETTINGS_BINGE":"تشغيل تلقائي للحلقة القادمة","SETTINGS_NEXT_VIDEO":"عرض إشعار بداية الحلقة التالية","SETTINGS_NEXT_VIDEO_TRIGGER":"عرض إشعار الحلقة التالية لمده:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"مدة انبثاق الفيديو التالي","SETTINGS_PLAY_IN_BACKGROUND":"تشغيل في الخلفية","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"تشغيل في المشغل الخارجي","SETTINGS_RESIZE":"نافذة تغيير الحجم التلقائي قبل التشغيل","SETTINGS_OVERRIDE_SERVER":"تجاوز عنوان URL لخادم البث (متقدم)","SETTINGS_SERVER_URL":"عنوان رابط خادم البث: ","SETTINGS_SERVER_AVAILABLE":"خادم البث متاح.","SETTINGS_SERVER_UNAVAILABLE":"خادم البث غير متاح.","SETTINGS_SERVER_STATUS_ONLINE":"متصل","SETTINGS_SERVER_STATUS_ERROR":"خطأ","SETTINGS_SERVER_CONFIGURE_TITLE":"تكوين عنوان لخادم البث","SETTINGS_SERVER_CONFIGURE_INPUT":"أدخل عنوان لخادم البث","SETTINGS_SERVER_CACHE_SIZE":"حجم التخزين المؤقت","SETTINGS_SERVER_TORRENT_PROFILE":"ملف التورنت التعريفي","SETTINGS_HTTPS_ENDPOINT":"نقطة نهاية دفق HTTPS: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"استخدم دائمًا أحدث إصدار بيتا","SETTINGS_IMPORT_FB":"استيراد من فيسبوك","SETTINGS_IMPORT_DISK":"استيراد من القرص الصلب","SETTINGS_IMPORT_TRAKT":"استيراد من Trakt","SETTINGS_PAUSE_MINIMIZED":"وقف الفيديو عند تصغير النافذة","SETTINGS_HWDEC":"فك تسريع الأجهزة","SETTINGS_BACKGROUND":"تشغيل في الخلفية","SETTINGS_SUBSCRIBE_CALENDAR":"الأشتراك بالتقويم","SETTINGS_REQ_EXPORT":"طلب تصدير الداتا","SETTINGS_ACC_DELETE":"طلب حذف حسابك","SETTINGS_CHANGE_PASSWORD":"تغير كلمة السر","SETTINGS_TOS":"الشروط و الأحكام","SETTINGS_SUPPORT":"تواصل مع الدعم الفني","SETTING_LANGUAGE":"اللغة","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_LOGOUT":"تسجيل الخروج من Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"تسجيل الخروج من Trakt","SETTINGS_SCAN_FOR_REMOTE":"امسح رمز الاستجابة السريعة QR لفتح جهاز التحكم عن بعد","SETTINGS_DESKTOP_NOTIFICATIONS":"اشعارات سطح المكتب","SETTINGS_DATA_SAVER":"المحافظة على البيانات","SETTINGS_LANGUAGE_INTERFACE":"واجهة المستخدم","SETTINGS_LANGUAGE_SUBS":"الترجمة الافتراضية","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"اختيار مسار الصوت تلقائيا","SETTINGS_DEFAULT_AUDIO_TRACK":"مسار الصوت المبدئي","SETTINGS_SURROUND_SOUND":"صوت محيطي","SETTINGS_ACCOUNT":"الحساب","SETTINGS_PLATFORM":"المنصة","SETTINGS_VERSION":"النسخة","SETTINGS_ABOUT":"حول","SETTINGS_MPV_WINDOW":"بدء المشغل في صفحة جديدة (متقدم)","SETTINGS_PLAY_IN_EXTERNAL":"تشغيل الفيديو دائماً باستخدام مشغل خارجي","SETTINGS_STORAGE_BUTTON":"مسح التخزين المحلي","SETTINGS_STORAGE_MODAL_TITLE":"هل انت متأكد؟","SETTINGS_STORAGE_MODAL_MESSAGE":"هذا سيقوم بمسح التخزين المحلي وتسجيل خروجك.","SETTINGS_HWDEC_PICKER":"اختر إعداد فك تسريع الأجهزة","SETTINGS_HW_AUTOMATIC":"تلقائي","SETTINGS_HW_DISABLED":"غير مفغل","SETTINGS_HW_ACCELERATED":"تسريع فك التشفير","SETTINGS_HW_FULL":"تسريع كامل","SETTINGS_HW_LEGACY":"قديم","SETTINGS_DISABLED":"معطل","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Subtitles","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Controls","SETTINGS_SECTION_AUTO_PLAY":"Auto-Play","SETTINGS_SECTION_ADVANCED":"Advanced","SUBSPICKER_AUDIO":"الصوت","SUBSPICKER_SUBTITLES":"ملحق الترجمة","SUBSPICKER_BLACK_BACKGROUND":"استخدم لون اسود للخلفية","SUBSPICKER_VERTICAL_OFFSET":"المكان العمودي","SUBSPICKER_SIZE":"الحجم","SUBSPICKER_DELAY":"التاخير","SUBSPICKER_EMBEDDED_SUBS":"ترجمات مدمجة","MOBILE_PRIVACY_POLICY":"سياسة الخصوصية","MOBILE_CRASH_REPORTING":"تقرير الاخطاء","MOBILE_ZOOM_TO_FILL":"تكبير لتعبئة الشاشة","MOBILE_PASSTHROUGH":"إخراج الصوت الرقمي (العبور)","MOBILE_RUN_LOW_BATTERY":"تشغيل على بطارية منخفضة","MOBILE_RUN_FOREGROUND":"تشغيل كخدمة في الخلفية","MOBILE_PERFORMANCE":"الأداء والاستقرار","MOBILE_SERVER_ONLINE":"متصل","MOBILE_SERVER_OFFLINE":"غير متصل","MOBILE_QR_EXPIRES":"تنتهي صلاحية رمز الاستجابة السريعة في ","MOBILE_LOG_INTO":"قم بتسجيل الدخول إلى حساب Stremio الخاص بك ","MOBILE_SCAN_QR":"امسح رمز الاستجابة السريعة أعلاه أو انتقل إلى ","MOBILE_LINK_ACCOUNT":"ربط حساب","MOBILE_SPEEDPICKER_CANCEL":"إلغاء","MOBILE_SPEEDPICKER_LABEL":"اختيار سرعة التشغيل","MOBILE_EMPTY_LIBRARY":"المكتبة الخاصه بك فارغة","MOBILE_NO_ADDON_ACTIVE":"لا يوجد ملحق Stremio نشط لهذا النوع.","MOBILE_ORGANIZER_WARNING":"يوفر تطبيق Stremio Organizer وظائف محدودة. للحصول على قائمة التدفقات القابلة للتشغيل وتجربة Stremio الكاملة ، استخدم Stremio على سطح المكتب.","MOBILE_ADDON_LOADING":"قيد التحميل","MOBILE_ADDONS_LOADING":"الملحقات قيد التحميل","MOBILE_ADDON":"ملحق","MOBILE_CONFIGURE_ADDON":"تكوين الملحق الخاص بك","MOBILE_CONFIGURE_ADDON_LABEL":"تكوين الملحق","MOBILE_ORGANIZER_ADDONS_WARNING":"يوفر تطبيق Stremio Organizer مجموعة محدودة من الوظائف الإضافية. للحصول على تجربة Stremio الكاملة ، استخدم Stremio على سطح المكتب.","MOBILE_DISCONNECT":"إلغاء الاتصال","MOBILE_LOOKING_FOR_DEVICES":"البحث عن اجهزه...","MOBILE_CAST_TO":"بث الى","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Delete Account","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Account deletion is not instant due to legal obligations. After requesting deletion of your account you will have to use different email address/facebook profile to create a new Stremio account in the future.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirm Account Deletion","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Your account has been created using Facebook. To delete your account, please use our user portal at www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Please provide your password to confirm account deletion.","MOBILE_DELETE_ACCOUNT_BUTTON":"Delete Account","NAVIGATION_ON":"تشغيل","NAVIGATION_OFF":"ايقاف","MARKETING_AGREE":"أوافق على تلقي رسائل تسويقية من Stremio","QUIT":"خروج","CONNECTED":"متصل","AUTHENTICATE":"المصادقة","CACHING":"تخزين مؤقت","SETTINGS_CACHING_DRIVE":"محرك التخزين المؤقت","ENABLE_LOCAL_FILES_ADDON":"تمكين الملحق المحلي للملفات (يتطلب إعادة التشغيل)","LOCAL_ADDON_NOT_ENABLED":"لم يتم تمكين الملحق المحلي. انقر هنا للذهاب إلى الإعدادات وتمكينه","ENABLE_REMOTE_HTTPS_CONN":"قم بتمكين اتصالات HTTPS البعيدة","TORRENT_PROFILE":"ملف التورنت التعريفي","DATA_CACHING":"تخزين مؤقت البيانات","MAGNET_PARSING":"معالجة رابط تورنيت","January":"كانون الثاني (يناير)","February":"شباط (فبراير)","March":"آذار (مارس)","April":"نيسان (ابريل)","May":"أيار (مايو)","June":"حزيران (يونيو)","July":"تموز (يوليو)","August":"آب (أغسطس)","September":"أيلول (سبتمبر)","October":"تشرين الأول (أكتوبر)","November":"تشرين الثاني (نوفمبر)","December":"كانون الأول (ديسمبر)","Monday":"الأثنين","Tuesday":"الثلاثاء","Wednesday":"الأربعاء","Thursday":"الخميس","Friday":"الجمعة","Saturday":"السبت","Sunday":"الاحد","Action":"حركة","Comedy":"كوميديا","War":"حرب","Family":"عائلة","Animation":"انيمي","Adventure":"مغامرة","Fantasy":"خيال","Crime":"جريمة","Mystery":"غموض","Romance":"رومنسي","Drama":"دراما","Horror":"رعب","Thriller":"القصة المثيرة","Sci-Fi":"خيال علمي","Music":"موسيقى","Biography":"سيرة شخصية","Documentary":"وثائقي","Sport":"رياضة","Musical":"موسيقي","Western":"افلام الغرب الامريكي","Film-Noir":"ابيض واسود","News":"اخبار","History":"تاريخ","Game-Show":"عرض اللعبة","Reality-TV":"تلفاز واقعي","Talk-Show":"برنامج حواري","Film & Entertainment":"فيلم وترفيه","Gaming":"العاب","From TV":"من التلفاز","Lifestyle":"أسلوب الحياة","Science & Education":"علوم وتعلم","Cooking & Health":"الطبخ و الصحة","Beauty & Fashion":"الجمال و الموضة","Sports":"الرياضات","News & Politics":"سياسة واخبار","How-to & DIY":"كيف يمكنك عملها بنفسك","Tech":"تقنية","Automotive":"السيارات","Causes & Non-Profits":"الأسباب وغير الربحية","Movies":"افلام","Uk Live Tv":"تلفاز مباشر المملكة المتحدة","Fashion":"الموضة","Business News Radio":"راديو اخبار الاعمال","Business Tv":"تلفاز اعمال","Cars & Auto":"سيارات و محركات","Comedy Radio":"راديو كوميديا","Lifestyle Radio":"اسلوب حياة راديو","News Tv":"تلفاز اخباري","Food And Wine":"طعام ونبيذ","Latino Tv":"تلفاز لاتيني","Shopping Tv":"تلفاز تسوق","Religion":"دين","Kids":"أطفال","Body & Soul":"الجسد و الروح","Education":"تعليم","Indian Tv":"تلفاز هندي","Extreme Sports":"رياضات عنيفة","Middle Eastern Tv":"تلفاز شرق متوسط ","Celebrity Tv":"تلفاز مشاهير","Science Tv":"تلفاز علمي","Bikini babe":"فاتنة بيكيني","Outdoors":"خارج المنزل","German Tv":"تلفاز الماني","French Tv":"تلفاز فرنسي","Italian Tv":"تلفاز ايطالي","Gamer Tv":"تلفاز للالعاب","Travel":"السفر","Asian Tv":"تلفاز اسيوي","Entertainment":"متعة المشاهدة","News Radio":"راديو اخبار","Music Radio":"راديو موسيقى","Language Learning":"تعليم اللغات","Science Radio":"راديو علمي","Tech Radio":"راديو للتقنية","Science & Technology Vod":"علوم وتقنية فيديوهات حسب الطلب","new video":"فيديو جديد","new episode":"حلقة جديدة","new movie":"فيلم جديد","recommended":"مقترح","we recommend":"قترح لك","offer of the day":"عرض اليوم","news":"اخبار","music video":"فيديو موسيقي","CTX_SHOW_HOTKEYS":"اضهار المفاتيح الساخنة","CTX_DISMISS_NOTIF":"اخفاء الاشعار","CTX_DISMISS_ALL":"اخفاء الجميع","CTX_SHARE":"مشاركة","CTX_COPY_SHARE_LINK":"نسخ رابط المشاركة","CTX_COPY_MAGNET_LINK":"نسخ رابط magnet","CTX_COPY_STREAM_LINK":"نسخ رابط البث","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"تحميل هذا الفيديو","CTX_DOWNLOAD_SUBS":"تحميل الترجمات","CTX_VIEW_ON_YOUTUBE":"المشاهدة على YouTube","CTX_SHOW":"عرض","CTX_PLAY":"تشغيل","CTX_PLAY_IN":"تشغيل في","CTX_PLAY_ON":"تشغيل على","CTX_WATCH_ON":"مشاهدة على","CTX_WATCH":"مشاهدة","CTX_WATCHED":"تمت المشاهدة","CTX_WATCH_BEGINNING":"مشاهدة من البداية","CTX_WATCH_MOBILE":"مشاهدة على الجهاز المحمول","CTX_REWIND":"اعادة التشغيل من البداية","CTX_MARK_WATCHED":"تعليمه ك تمت مشاهدته","CTX_MARK_NON_WATCHED":"تعليمه غير مشاهد","CTX_MARK_UNWATCHED":"التعليم على أنه لم تتم مشاهدته","CTX_MARK_REST":"ضع علامة على أنها شاهدت","CTX_UNMARK_REST":"ضع علامة على أنها شاهدت","CTX_RECEIVE_NEW_NOTIF":"تلقى اشعارات جديد","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"حذف من التخزين المؤقت","CTX_REMOVE_CACHE_EP":"إزالة الحلقة من ذاكرة التخزين المؤقت","CTX_OPEN_CONTAINING":"افتح محتوى المجلد","CTX_REMOVE":"ازالة من المكتبة","CTX_AVAILABLE_OFFLINE":"متوفر بدون اتصال","CTX_PAUSED":"ايقاف","CTX_ALWAYS_ON_TOP":"دائما فوق التطبيقات الاخرى","CTX_FULLSCREEN":"شاشة كاملة","CTX_WRONG_SUBS":"ترجمة خاطئة ؟","CTX_REPORT_ISSUES":"تبليغ عن مشكلة","CTX_COPY":"نسخ","CTX_PASTE":"لصق","CTX_CLEAR":"مسح","CTX_CLEAR_RECENT_SEARCHES":"مسح اخر عمليات البحث","HELLO_THERE":"مرحبا بك","HOPE_YOU_ENJOY":"نأمل أن تستمتع بـ Stremio وهو أحد تطبيقاتك المفضلة بالفعل!","WHO_ARE_WE":"من نحن؟ نحن الفريق الذي يقف وراء ذلك - رجلان يعملان بجد كل يوم على مدار السنوات الثلاث الماضية لجعل هذا المنتج أفضل وأفضل.","SUPPORT_US":"إذا كنت تستمتع باستخدام Stremio ، إذا كان Stremio مفيدًا بالنسبة لك - انشر الخبر!","SPREAD_THE_WORD":"شارك مع أصدقائك الآن ، انشر الخبر حول Stremio","MORE_PEOPLE":"كلما زاد عدد الأشخاص الذين يستخدمون Stremio ، كان ذلك أفضل!","SEND_A_LINK":"أو إرسال رابط إلى موقعنا","TIP_LOCALFILES":"نصيحة: يمكنك سحب وإسقاط ملفات الفيديو المحلية في Stremio","ADDON_MY":"أضافاتي","ADDON_COMMUNITY":"إضافات المجتمع","ADDON_OFFICIAL":"أضافات رسمية","ADDON_REPOS":"مجموعة أضافات","ADDON_SEARCH":"الباحث عن أضافات","ADDON_INSTALL":"تثبيت","ADDON_CONFIGURE":"أعداد","ADDON_UNINSTALL":"ألغاء التثبيت","ADDON_UPGRADE":"ترقية","ADDON_INSTALLED":"مثبتة","ADDON_INSTALLED_MSG":"الاضافة مثبتة","ADDON_UPGRADED_MSG":"الاضافة تمت ترقيتها","ADDON_UNKNOWN":"غير معروف","ADDON_ERR":"حدث خطا اثناء تثبيت الأضافة","ADDON_DISCONNECTED":"غير متصل","ADDON_APP_MISSING":"التطبيق لهذا المصدر غير مثبت. هل تريد تثبيته الآن؟","ADDON_APP_INSTALL":"تثبيت الأن","ADDON_PAGE":"صفحة الأضافة","ADDON_TOP_CONTENT":"أفضل ما في الأضافة","ADDON_PROVIDES":"هذه الاضافة س تقدم لك :","ADDON_WATCH":"شاهد #{types} الان!","ADDON_WATCH_FREE":"شاهد #{types} مجانا الان !","ADDON_ADDON":"أضافة","ADDON_SUPPORTED_TYPES":"الانواع المدعومة","ADDON_SUPPORTED_CATALOGS":"الفهارس المدعومة","ADDON_PROVIDES_DISCOVER":"المزيد #{types} في الاكتشاف","ADDON_PROVIDES_STREAMS":"شاهد #{types}","ADDON_PROVIDES_STREAMS_FREE":"شاهد #{types} مجانا","ADDON_PROVIDES_SUBTITLES":"ترجمات ل #{types}","ADDON_CANTDETECT":"لم نتمكن من اكتشاف Stremio قيد التشغيل ، لذلك لم نتمكن من اكتشاف الوظائف الإضافية التي قمت بتثبيتها.","ERR_NO_META":"لم يتم العثور على معلومات ","ERR_GETTING_META":"حدث خطا اثناء الحصول على معلومات خاصة بهذا","ERR_CANT_PARSE_MAGNET":"غير ممكن معالجة رابط التورنيت","ERR_NO_MAGNET_INFOHASH":"معلومات غير صالحة من الرابط","ERR_NO_FILE_PATH":"تعذر إرسال الطلب بدون مسار للملف","ERR_NO_TORRENT":"لم يتم إرجاع أي تورنيت","ERR_NO_SUPPORTERD_FILES":"لم يتم العثور على ملفات مدعومة","ERR_OPENING_FILES":"تعذر فتح الملفات الخارجية","ERR_INVALID_LINK":"رابط غير صالح","ERR_REGISTERED_ONLY":"هذا الخيار متاح للمستخدمين المسجلين فقط.","ERR_CLIPBOARD":"تعذر التشغيل من الحافظة","ERR_CLIPBOARD_READ":"لايمكن قراءة الحافظة على هذه المنصة","ERR_CLIPBOARD_GENERIC":"لم يتم العثور على عنوان URL قابل للتشغيل في الحافظة. يرجى نسخ عنوان URL (على سبيل المثال ، رابط مغناطيسي) إلى مقطع فيديو.","BOARD_CONTINUE_WATCHING":"متابعة المشاهدة","BOARD_EXPLANATION_RECOMMENDATIONS":"أفلام منتقاة خصيصًا لك. <br /> هذا الفيلم هو نموذج توصية.","BOARD_EXPLANATION_EPISODES":"تأتي هنا حلقات جديدة من مسلسلاتك المفضلة. <br /> أضف المسلسلات التي تتابعها إلى مكتبتك.","BOARD_EXPLANATION_VIDEOS":"تأتي هنا حلقات جديدة من قنواتك المفضلة. <br /> أضف قنوات YouTube التي تتابعها إلى مكتبتك.","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE":"شارك في التطوير","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"Learn more","WEBSITE_COMPANY":"Company","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Need Help?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"شاهد على الفور","WEBSITE_SLOGAN_ALL":"كل محتوى الفيديو الذي تستمتع به في مكان واحد","WEBSITE_SLOGAN_NEW":"كل ما يمكنك مشاهدته","WEBSITE_SLOGAN_NEW_NEW":"Freedom to Stream","WEBSITE_WATCH_FROM":"مشاهدة من","WEBSITE_DOWNLOAD":"التحميل الان","WEBSITE_DOWNLOAD_FOR":"تحميل الان من ","WEBSITE_IS_DESKTOP":"Stremio هو تطبيق سطح مكتب ، افتح هذه الصفحة على جهاز الكمبيوتر الخاص بك وقم بتنزيله","WEBSITE_DESKTOP_DEMO_VID":"تجربة سطح المكتب","WEBSITE_PAGE_HOME":"الرئيسية","WEBSITE_PAGE_FEATURES":"المميزات","WEBSITE_PAGE_ADDONS":"الأضافات","WEBSITE_PAGE_TECH":"تقنية","WEBSITE_PAGE_CREATE_ADDON":"أنشاء أضافة","WEBSITE_PAGE_CONTACTS":"جهات الاتصال","WEBSITE_PAGE_BLOG":"المدونة","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"أفلام","WEBSITE_TYPE_series_PL":"مسلسلات","WEBSITE_TYPE_tv":"تلفاز مباشر","WEBSITE_TYPE_channel":"قنوات","WEBSITE_STREMIO_WHAT_IS":"Stremio هو تطبيق يساعدك على تنظيم مقاطع الفيديو المفضلة لديك والأفلام والمسلسلات التلفزيونية والقنوات التلفزيونية ومشاهدتها على الفور.","WEBSITE_FEATURES_WATCH":"شاهد على الفور بدقة عالية","WEBSITE_FEATURES_WATCH_DETAIL":"انقر لتشغيل الأفلام والبرامج التلفزيونية ومقاطع الفيديو والقنوات التلفزيونية المفضلة لديك.","WEBSITE_FEATURES_SUBS":"ترجمة تلقائية","WEBSITE_FEATURES_SUBS_DETAIL":"يختار Stremio تلقائيًا ترجمات متزامنة للغتك.","WEBSITE_FEATURES_SUBS_LABEL":"حركتك ،يارئيس.","WEBSITE_FEATURES_CAST":"تشغيل على التلفزيون والأجهزة المحمولة","WEBSITE_FEATURES_CAST_DETAIL":"البث إلى AppleTV و Chromecast والتلفزيون الذكي (DLNA / UPnP) والأجهزة المحمولة.","WEBSITE_LIB":"استمتع بمكتبة شخصية متزامنة على جميع أجهزتك","WEBSITE_LIB_COLLECT":"جمع من Stremio","WEBSITE_LIB_IMPORT":"استيراد من فيسبوك","WEBSITE_LIB_LOCAL":"اضافة من القرص الصلب","WEBSITE_BOARD":"لوحة التحكم - مكانك الوحيد للإشعارات والتوصيات","WEBSITE_BOARD_RECOMMEND":"برامج تلفاز مقترحة لك","WEBSITE_BOARD_TRENDING":"فيلم شائع","WEBSITE_BOARD_NEW":"فيديو جديد","WEBSITE_BOARD_EPISODE":"حلقة جديدة","WEBSITE_BOARD_1":"هل تبحث عن شيء ممتع لمشاهدته؟ احصل على توصيات بناء على ذوقك!","WEBSITE_BOARD_2":"احصل على إشعار عند عرض حلقة جديدة من برنامجك التلفزيوني المفضل أو قناة YouTube!","WEBSITE_BOARD_YOUTUBE":"مقاطع فيديو جديدة لقنوات يوتيوب","WEBSITE_BOARD_EPISODES":"حلقات جديدة من مسلسلات تتابعها","WEBSITE_ADDONS":"أضافات المحتوى","WEBSITE_TECH_DETAIL":"نحن نحب التكنولوجيا ، ونحب العلم المجنون! تستخدم Stremio تقنيات مفتوحة المصدر التالية:","WEBSITE_TECH_WCJS":"يسمح WebChimera.js لـ Stremio بتشغيل أي تنسيق فيديو بأداء جيد.","WEBSITE_TECH_WCJS_EXTRA":"نحن مساهمون أساسيون في المشروع","WEBSITE_TECH_ELECTRON":"توفر Electron منصة مبتكرة لبناء Stremio معها.","WEBSITE_TECH_ELECTRON_EXTRA":"نحن مساهمون في المشروع","WEBSITE_TECH_LINVODB":"تقنية قواعد البيانات التي تضمن تنظيم بياناتك وإتاحتها في أي مكان تقوم بتسجيل الدخول إليه.","WEBSITE_TECH_LINVODB_EXTRA":"التكنولوجيا الداخلية","WEBSITE_CREATE_ADDON":"انشئ اضافتك الخاصة","WEBSITE_CREATE_ADDON_DETAIL":"هل لديك خدمة تقدم محتوى فيديو؟ سنساعدك على الاستفادة من ميزات Stremio من خلال إنشاء الاضافة الخاصة بك.","WEBSITE_CREATE_ADDON_BENEFITS":"فوائد إنشاء أضافة لـ Stremio","WEBSITE_P2P_BEAUTY":"جمال البث من نظير إلى نظير","WEBSITE_P2P_1":"فيديو عالي الدقة / 4K موثوق وميسور التكلفة عند الطلب أو البث المباشر","WEBSITE_P2P_2":"توفر منصة التوزيع تجربة مستخدم رائعة","WEBSITE_P2P_3":"سنقوم بإنشاء اضافة تلبي احتياجاتك بالضبط","WEBSITE_P2P_CONTACT":"مهتم؟ مرحبًا بك في <a href=\'mailto:office@stremio.com\'> الاتصال بنا </a>.","WEBSITE_P2P_CONTACT_EXTRA":"سنكون سعداء لمساعدتك على دمج المحتوى الخاص بك مع Stremio!","WEBSITE_P2P":"من حين لآخر ، تأتي تقنية تغير اسم اللعبة. لقد استثمرنا الكثير من الوقت والجهد في بناء محرك دفق الفيديو من نظير إلى نظير (P2P) الذي يوفر أداءً رائعًا وتعدد الاستخدامات للتكيف مع أي حالة استخدام. \\n اتصل بنا للحصول على فيديو P2P ممكّن بواسطة DRM عند الطلب أو البث المباشر.","WEBSITE_THOUGHTS":"الأفكار التي نشاركها:","WEBSITE_SPREAD":"انشر الخبر حول Stremio:","WEBSITE_CONTACT":"اتصل بنا ، يسعدنا أن نسمع منك!","WEBSITE_OPENSOURCE":"لمشاريعنا مفتوحة المصدر ، انتقل إلى","WEBSITE_BITCOIN":"تبرع بعملة البيتكوين:","WEBSITE_FAQ":"أسئلة مكررة","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"أسئلة","WEBSITE_TOS":"تعليمات الاستخدام","WEBSITE_LEGAL":"قانوني","WEBSITE_PAGE_ABOUT":"حول","WEBSITE_PAGE_BECOME_PARTNER":"كن شريكا معنا","WEBSITE_ALL_YOU_CAN_WATCH":"حرية المشاهدة \\n كل ما تريد.","WEBSITE_FREEDOM_TO_STREAM":"الحرية للبث","WEBSITE_WHAT_IS_STREMIO":"ما هو Stremio ?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio هو مركز شامل لتجميع محتوى الفيديو. اكتشف ، نظم ، وشاهد الفيديو من جميع أنواع المصادر على أي جهاز تملكه.","WEBSITE_WHAT_IS_STREMIO_P2":"الأفلام والبرامج التلفزيونية والمسلسلات والتلفزيون المباشر أو قنوات الويب مثل YouTube و Twitch.tv - يمكنك العثور على كل هذا على Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio هو مركز وسائط حديث يمثل حلاً شاملاً لترفيه الفيديو الخاص بك. يمكنك اكتشاف محتوى الفيديو ومشاهدته وتنظيمه من الوظائف الإضافية سهلة التثبيت.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"الأفلام والبرامج التلفزيونية والتلفزيون المباشر أو قنوات الويب - ابحث عن كل هذا على Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"استمتع على جميع أجهزة الوسائط الخاصة بك","WEBSITE_DEVICES_COLLECT":"جمع من Stremio","WEBSITE_DEVICES_IMPORT_FB":"استيراد من فيسبوك","WEBSITE_DEVICES_LOCAL":"اضافة من القرص الصلب","WEBSITE_JOIN_THE_PARTY_NOW":"انضم إلى الحفلة الآن","WEBSITE_DEVICES_ALL":"سهل الاستخدام على جميع أجهزتك؛","WEBSITE_EXTENDABLE_CATALOG":"مجموعة كبيرة من الفيديوهات يمكنك توسعتها ايضا","WEBSITE_ORGANIZE_YOUR_MEDIA":"ميزات رائعة لتنظيم الوسائط الخاصة بك ؛","WEBSITE_AS_SEEN_ON":"كما شوهد على","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"معلومات عنا","WEBSITE_LINK_TECHNOLOGY":"التقنية","WEBSITE_LINK_APPS":"التطبيقات","WEBSITE_LINK_DOWNLOADS":"تنزيل","WEBSITE_MORE":"المزيد","WEBSITE_LINK_ADDONS":"الأضافات","WEBSITE_LINK_ADDON_SDK":"حزمة مساعدة لأنشاء أضافات","WEBSITE_LINK_CONTRIBUTE":"ساهم معنا","WEBSITE_LINK_COMMUNITY":"المجتمع","WEBSITE_LINK_BLOG":"المدونة","WEBSITE_MORE_MORE":"... و المزيد","WEBSITE_LINK_HELP":"مركز المساعدة","WEBSITE_LINK_CONTACTS":"استفسارات الأعمال","WEBSITE_LINK_TOS":"البنود و الشروط","WEBSITE_LINK_PRAVACY":"سياسة الخصوصية","WEBSITE_SUBSCRIBE":"اشتراك","WEBSITE_NEWSLETTER":"انضم إلى النشرة الإخبارية لدينا لأشياء مذهلة","WEBSITE_PLACEHOLDER_EMAIL":"بريدك الالكتروني","WEBSITE_COMMUNITY":"المجتمع","WEBSITE_LINK_PRAVACY_LEGAL":"الخصوصية والقانونية","WEBSITE_WHY":"لماذا نقوم بذلك","WEBSITE_WHY_P1":"في Stremio ، نأتي إلى العمل كل يوم لأننا نريد حل مشكلة مهمة لصناعة الفيديو عند الطلب. يتم نشر الكثير من المحتوى الجديد كل دقيقة بحيث يكاد يكون من المستحيل العثور على ما تريده.","WEBSITE_WHY_P2":"نحن نساعد الأشخاص على التنقل في هذا العالم الضخم من الترفيه بالفيديو واكتشاف محتوى جديد للاستمتاع به. تجمع تطبيقاتنا بين الأفلام والمسلسلات والبث التلفزيوني المباشر وقنوات الويب والمزيد. نحن ملتزمون بجعل من السهل جدًا على المستخدمين العثور على العناوين والمذيعين الذين يحبونهم.","WEBSITE_WHY_P3":"يمكنك استخدام خدمتنا على أي جهاز وفي أي وقت ، مما يجعل Stremio مركز الترفيه بالفيديو الوحيد الذي ستحتاج إليه على الإطلاق.","WEBSITE_TEAM":"الفريق","WEBSITE_TEAM_P":"فريق Stremio صغير ولكنه قوي: بين العشرة منا ، نقوم بالبرمجة بلغات X ، ونتشارك الخبرات في تطوير البرمجيات ، وتصميم UI و UX ، والتسويق والإعلان ، والأعمال التجارية والشركات الناشئة.","WEBSITE_FEATURES":"المميزات","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"اكتشف محتوى جديدًا بسهولة","WEBSITE_FEATURES_DISCOVER_P":"اكتشف بسهولة الأفلام والبرامج التلفزيونية والمسلسلات والقنوات الجديدة لمشاهدتها. تصفح حسب الفئة أو النوع أو التصنيف أو الحداثة أو ما إلى ذلك ، أو ببساطة اكتب اسمًا للبحث عنه. يجعل Stremio العثور على محتوى فيديو جديد بمثابة قطعة من الكعكة.","WEBSITE_FEATURES_ALL_CONTENT":"كل محتوى الفيديو الخاص بك على شاشة واحدة","WEBSITE_FEATURES_ALL_CONTENT_P1":"تعرف على الأفلام أو المسلسلات أو مقاطع الفيديو التي لم تنته واستمر في مشاهدتها ؛ الحصول على إشعارات بشأن الحلقات والإصدارات الجديدة ؛ وتصفح التوصيات التي ستحصل عليها بناءً على عادات المشاهدة لديك.","WEBSITE_FEATURES_LIBRARY":"تنظيم مكتبة الفيديو الخاصة بك","WEBSITE_FEATURES_LIBRARY_P1":"أضف أي عنوان إلى مكتبة Stremio الخاصة بك بنقرة واحدة وابحث عن طريقك حول المحتوى الخاص بك ، مرتبة بدقة حسب النوع أو الحداثة أو الترتيب الأبجدي.","WEBSITE_FEATURES_CALENDAR":"تتبع كل ما تشاهده","WEBSITE_FEATURES_CALENDAR_P1":"احصل على تصور تقويم لجميع الأفلام والمسلسلات التي تضيفها إلى مكتبتك. قم بتصدير تقويم Stremio الخاص بك وقم بمزامنته حتى تعرف دائمًا موعد حلقة جديدة أو عرض أول.","WEBSITE_FEATURES_BIG_SCREEN":"استمتع بمحتوى الفيديو الخاص بك على شاشة أكبر","WEBSITE_FEATURES_BIG_SCREEN_P1":"قم بإرسال كل ما تشاهده إلى جهاز آخر - سواء كان هاتفًا أو جهازًا لوحيًا أو تلفزيونًا بنقرة واحدة.","WEBSITE_FEATURES_SOURCES":"شاهد الفيديو من عدة مصادر مختلفة","WEBSITE_FEATURES_SOURCES_P":"قم بتثبيت الوظائف الإضافية الرسمية والمجتمعية للاستمتاع بمقاطع الفيديو التي يتم الحصول عليها من العديد من المزودين المختلفين - كل ذلك في تطبيق واحد أنيق وسهل الاستخدام.","WEBSITE_CREATE_AN_ADDON":"أنشاء أضافة","WEBSITE_FEATURES_SYNC":"قم بمزامنة مكتبتك عبر أجهزة مختلفة واستأنف التشغيل","WEBSITE_FEATURES_SYNC_P1":"قم بتسجيل الدخول بحسابك عبر جميع أجهزتك واستمتع بمكتبتك ووظائفك الإضافية والتشغيل والتقويم المتزامن.","WEBSITE_FEATURES_EXTENDABLE":"كتالوج الفيديو القابل للتوسيع من خلال الإضافات","WEBSITE_FEATURES_EXTENDABLE_P1":"يوفر كتالوج Stremio الملحق عددًا من الوظائف الإضافية لتثبيت ومشاهدة مجموعة متنوعة من محتوى الفيديو. يتضمن ذلك الأفلام والعروض والتلفزيون المباشر والرياضة والأخبار والبودكاست وقنوات الويب وألعاب الفيديو والمزيد.","WEBSITE_FEATURES_AUTO_SUBS":"ترجمة تلقائية","WEBSITE_FEATURES_AUTO_SUBS_P1":"من خلال إضافات الترجمة لدينا ، ستحصل تلقائيًا على خيارات محددة للغتك المفضلة.","WEBSITE_FEATURES_CHROMECAST":"الإرسال إلى Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"استمتع بمحتوى الفيديو الخاص بك على شاشة أكبر أو قم فقط بإرسال كل ما تشاهده إلى جهاز آخر.","WEBSITE_FEATURES_KEEP_TRACK":"تتبع البرامج التلفزيونية وقنوات الويب المفضلة لديك","WEBSITE_FEATURES_KEEP_TRACK_P1":"احصل على تصور للتقويم وإشعارات لحلقات جديدة من مسلسلاتك وقنوات الويب المفضلة لديك.","WEBSITE_FEATURES_POWER_USER":"ميزات المستخدم القوي","WEBSITE_FEATURES_POWER_USER_P1":"التشغيل على مشغل خارجي","WEBSITE_FEATURES_POWER_USER_P2":"التشغيل من رابط تورنيت","WEBSITE_FEATURES_POWER_USER_P3":"الاستيراد إلى مكتبتك من الإعجابات على Facebook أو القرص المحلي","WEBSITE_ADD_ONS":"الأضافات","WEBSITE_ADD_ONS_P1":"يتم الحصول على كل محتوى الفيديو الذي يوفره Stremio من خلال نظام إضافي - لم يتم تضمين أي محتوى أو مزود محتوى في التطبيق.","WEBSITE_ADD_ONS_P2":"هناك مجموعتان من الاضافات المتاحة: الاضافات الرسمية واضافات المجتمع.","WEBSITE_ADD_ONS_P3":"يتم تطوير الاضافات الرسمية واستضافتها بواسطة Stremio ، بينما يتم إنشاء الإضافات المجتمعية من قبل أعضاء مجتمعنا ، والذين يستضيفونها أيضًا.","WEBSITE_ADDONS_OFFICIAL":"الاضافات الرسمية","WEBSITE_ADDONS_WATCHUB":"قم ببث أفلامك ومسلسلاتك وعروضك المفضلة من مزودين مثل iTunes و Hulu و Amazon وغيرها من خدمات المملكة المتحدة / الولايات المتحدة.","WEBSITE_ADDONS_YOUTUBE":"شاهد قنوات YouTube المفضلة لديك بدون إعلانات واحصل على إشعارات بالتحميلات الجديدة من المساهمين الذين تتابعهم.","WEBSITE_ADDONS_FILMON":"شاهد البث التلفزيوني المباشر والأفلام والتلفزيون الاجتماعي مجانًا. 600 قناة تلفزيونية و 45000 فيلم مجاني ووثائقي وغير ذلك.","WEBSITE_ADDONS_OPENSUBTITLES":"ترجمات الأفلام والتلفزيون بلغات متعددة ، يتم تحميل آلاف الترجمات المترجمة كل يوم.","WEBSITE_ADDONS_COMMUNITY":"أضافات المجتمع","WEBSITE_ADDONS_FILMON_VOD":"شاهد الفيديو عند الطلب من Filmon.tv","WEBSITE_ADDONS_TWICH":"شاهد البث المباشر من Twitch.tv - منصة بث فيديو لصناعة الرياضة الإلكترونية.","WEBSITE_ADDONS_VODO":"مشاهدة الافلام المستقلة تماما مجانا.","WEBSITE_ADDONS_NETFLIX":"شاهد أفلام Netflix ومسلسلات الويب.","WEBSITE_ADDONS_CREATE":"أنشىء أضافة جديدة","WEBSITE_ADDONS_CREATE_P1":"إذا كنت ترغب في ذلك ، يمكنك تطوير الأضافة الخاصة بك. بهذه الطريقة ، يمكنك منح نفسك ومجتمعنا إمكانية الوصول إلى محتوى فيديو جديد والوصول إلى جمهور مستهدف جديد من ملايين المستخدمين حول العالم.","WEBSITE_ADDONS_START_CREATE":"للبدء ، قم بزيارة صفحة Stremio Addon SDK:","WEBSITE_DOWNLOADS":"التنزيلات","WEBSITE_DOWNLOADS_P1":"للحصول على الأداء الأمثل ، نوصي باستخدام أحدث إصدار متوفر من تطبيقات Stremio. ومع ذلك ، إذا كنت ترغب في استخدام إصدار أقدم لسبب ما ، فيمكنك تنزيله من هنا.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio لأجهزة الويندوز","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio لأجهزة ماك","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio لأجهزة لينوكس","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio لأجهزة الأندرويد","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio لأجهزة تلفاز الأندرويد","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio لأجهزة الأندرويد","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio لجهاز ستيم ديك","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio لأجهزة الأيفون (نسخة محدودة)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"منصة Stremio مفتوحة المصدر ويمكنك بسهولة إنشاء أضافات للمحتوى غير المصدر حاليًا.","WEBSITE_CONTRIBUTE_WHY":"لماذا يجب عليك إنشاء أضافة ؟","WEBSITE_CONTRIBUTE_WHY_P1":"الوصول إلى جمهور جديد لمحتوى الفيديو الخاص بك","WEBSITE_CONTRIBUTE_WHY_P2":"تنمو قاعدة مستخدمي Stremio بسرعة - خلال العام الأول من الإطلاق ، اكتسبت Stremio مليون مستخدم حول العالم ، وفي العام الثاني من وجود النظام الأساسي ارتفع هذا الرقم إلى 2.5 مليون.","WEBSITE_CONTRIBUTE_WHY_P3":"باستخدام الأضافة الخاصة بك ، يمكنك الوصول بسهولة إلى هذا الجمهور وتوزيع محتوى الفيديو الخاص بك عليهم.","WEBSITE_CONTRIBUTE_ALL":"شاهد أفلامك ومقاطع الفيديو والمسلسلات والقنوات المفضلة لديك في مكان واحد.","WEBSITE_CONTRIBUTE_ALL_P1":"هل أنت معجب بنوع معين من المحتوى غير متوفر على Stremio حتى الآن؟ قم بإنشاء أضافة له واستمتع بمشاهدة مقاطع الفيديو المفضلة لديك في واحدة من أكبر وأسهل مراكز الترفيه في السوق من حيث الاستخدام.","WEBSITE_CONTRIBUTE_ALL_P2":"علاوة على ذلك ، ستحصل على الامتنان اللانهائي لأعضاء مجتمع Stremio الآخرين المتشابهين في التفكير.","WEBSITE_CONTRIBUTE_MONETIZE":"استثمر الأضافة الخاصة بك واكسب المال بمساعدته","WEBSITE_CONTRIBUTE_MONETIZE_P1":"بمجرد تطوير أضافة جديدة لـ Stremio ، يمكنك بسهولة تحقيق الدخل منه من خلال عدد من الطرق المختلفة. إذا كنت تفكر في ذلك ، فلا تتردد في الاتصال بنا على","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":"- يسعدنا أن نتشاور معك وننصحك بخيارات تحقيق الدخل الإضافي.","WEBSITE_CONTRIBUTE_TRANSLATE":"كن مترجمًا متطوعًا","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"إذا كنت ترغب في الاستمتاع بتطبيقات Stremio بلغات مختلفة ، فيمكنك الانضمام إلى مجتمع المترجمين المتطوعين لدينا. يساعدوننا في إضافة إصدارات من Stremio بعدة لغات مختلفة.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"هل أنت متشوق للبدء؟","WEBSITE_TRANSALTE_STREMIO":"ترجمة Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"المجتمع الرسمي","WEBSITE_COMMUNITY_OFFICIALS_P1":"كن جزءًا من مجتمع Stremio المتنامي. تابعنا على وسائل التواصل الاجتماعي ولا تخجل من إلقاء التحية - فنحن نحب أن نسمع من معجبينا!","WEBSITE_COMMUNITY_UNOFFICIALS":"المجتمعات غير الرسمية","STREMIO_COMMUNITY_NL":"Stremio في هولندا","STREMIO_COMMUNITY_BRASIL":"Stremio في البرازيل","STREMIO_COMMUNITY_GERMANY":"Stremio في المانيا","STREMIO_COMMUNITY_BELGIUM":"Stremio في بلجيكا","STREMIO_COMMUNITY_FRANCE":"Stremio في فرنسا","STREMIO_COMMUNITY_PORTUGAL":"Stremio في البرتغال","STREMIO_COMMUNITY_ITALY":"Stremio في ايطاليا","STREMIO_COMMUNITY_UK":"Stremio الممكلة المتحدة","STREMIO_COMMUNITY_USA":"Stremio الولايات المتحدة الأمريكية","STREMIO_COMMUNITY_MEXICO":"Stremio في المكسيك","STREMIO_COMMUNITY_ADDONS":"Stremio أضافات","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"الشركاء والداعمون","WEBSITE_COMMUNITY_GOODIES":"الأشياء الجيدة Stremio","WEBSITE_COMMUNITY_WALLPAPERS":"خلفيات الشاشة","WEBSITE_COMMUNITY_ART":"معرض الفنون","WEBSITE_LINK_ART":"معرض الفنون","WEBSITE_CONTACT_US":"تواصل معنا","WEBSITE_CONTACT_US_P1":"إذا كان لديك أي أسئلة أو تعليقات أو اقتراحات ، فلا تتردد في الاتصال بنا من خلال نموذج الاتصال أدناه.","WEBSITE_CONTACT_US_P2":"ضع في اعتبارك أننا موجودون في بلغاريا ، لذا قد يكون هناك تأخير في معالجة استفسارك بسبب اختلافات المنطقة الزمنية.","WEBSITE_CONTACT_US_SUCCESS":"تم ارسال رسالتك. سنعود إليك في أقرب وقت ممكن.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"يرجى إدخال البريد الإلكتروني الصحيح!","WEBSITE_CONTACT_US_Q_RELATED_TO":"بماذا يتعلق سؤالك؟","WEBSITE_CONTACT_US_Q_OS":"ما هو نظام التشغيل الخاص بك؟","WEBSITE_CONTACT_US_PH_EMAIL":"بريدك الالكتروني","WEBSITE_CONTACT_US_PH_MESSAGE":"رسالتك","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"أرسال","WEBSITE_CONTACT_US_Q_1":"كيفية التثبيت ؟","WEBSITE_CONTACT_US_Q_2":"كيفية ألغاء التثبيت ؟","WEBSITE_CONTACT_US_Q_3":"(HTML) كيف تصنع اللازانيا؟","WEBSITE_CONTACT_US_Q_4":"أضافات","WEBSITE_CONTACT_US_OS_1":"ويندوز","WEBSITE_CONTACT_US_OS_2":"ماك","WEBSITE_CONTACT_US_OS_3":"لينوكس","WEBSITE_CONTACT_US_OS_4":"أندرويد","WEBSITE_CONTACT_US_OS_5":"أيفون","WEBSITE_TECHNOLOGY":"التقنية","WEBSITE_TECHNOLOGY_P1":"نحن نحب التكنولوجيا والعلم المجنون. </br> هنا ما يمدك بالطاقة Stremio (كلها مفتوحة المصدر).","WEBSITE_TECHNOLOGY_P_QT":"تطوير البرامج عبر الأنظمة الأساسية في أفضل حالاتها.","WEBSITE_TECHNOLOGY_P_MPV":"مشغل وسائط مجاني ومفتوح المصدر ومتعدد المنصات.","WEBSITE_TECHNOLOGY_P_RN":"يتيح لك React Native إنشاء تطبيقات جوال باستخدام JavaScript فقط.","WEBSITE_TECHNOLOGY_P_VLC":"إطار الوسائط المضمن في التطبيق للحصول على الوسائط المتعددة.","WEBSITE_TECHNOLOGY_P_REALM":"Realm هي منصة متنقلة وبديل لبيانات SQLite & Core.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js هي بيئة تشغيل JavaScript مفتوحة المصدر ومتعددة المنصات.","WEBSITE_TECHNOLOGY_P_RUST":"Rust هي لغة برمجة نظام متعددة النماذج تركز على السلامة ، وخاصة التزامن الآمن.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"المساهمة في المشروع","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"هناك طريقتان يمكنك من خلالهما المساهمة في Stremio ومساعدتنا على تحسين المنتج.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"يمكنك التبرع بمهاراتك اللغوية القيمة من خلال ترجمة المنصة ...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"أو","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... يمكنك توظيف مهاراتك في البرمجة لإنشاء إضافات مجتمعية.","WEBSITE_TRANSLATE_STREMIO":"ترجمة Stremio","WEBSITE_404_OH_NO":"عذرًا! الصفحة التي تبحث عنها ليست هنا ...","WEBSITE_GO_HOME":"الرئيسية","WEBSITE_LINK_OTHER_DOWNLOADS":"تنزيلات أخرى","WEBSITE_FAQ_ABR":"أسئلة متكررة","WEBSITE_SUPPORT":"الدعم","WEBSITE_DOWNLOAD_4_0_BETA":"قم بتنزيل Stremio 4 beta الآن","WEBSITE_GET_FOR_DESKTOP":"احصل عليه للكمبيوتر","WEBSITE_LINK_ADDON_COMPETITION":"منافسة الأضافات","WEBSITE_LINK_ART_CONTEST":"مسابقه الفنون","WEBSITE_MY_ACCOUNT":"حسابي الشخصي","WEBSITE_MAINPAGE_FAQ_001_H1":"ما هو Stremio ؟ ","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio هو مركز وسائط حديث يمنحك حرية مشاهدة كل ما تريد.","WEBSITE_MAINPAGE_FAQ_002_H1":"كيف يعمل؟","WEBSITE_MAINPAGE_FAQ_002_P1":"بمجرد تثبيت Stremio على جهازك وإنشاء حساب ، كل ما عليك فعله هو زيارة الكتالوج الإضافي وتثبيت أي أداة إضافية تريدها ، وأنت على ما يرام!","WEBSITE_MAINPAGE_FAQ_002_P2":"بعد ذلك ، يمكنك الانتقال إلى قسم الأكتشاف أو لوحة التحكم لبدء استكشاف المحتوى.","WEBSITE_MAINPAGE_FAQ_003_H1":"ماذا يمكنني أن أشاهد هنا؟","WEBSITE_MAINPAGE_FAQ_003_P1":"الكثير: الأفلام والبرامج التلفزيونية وقنوات الويب والرياضة والقنوات التلفزيونية والاستماع إلى البودكاست والمزيد. بفضل نظام الأضافات الخاص بنا ، يمكنك الوصول إلى مجموعة متنوعة من المحتويات.","WEBSITE_MAINPAGE_FAQ_004_H1":"هل Stremio مفتوح المصدر؟","WEBSITE_MAINPAGE_FAQ_004_P1":"يمكنك التحقق من بعض الروابط : ${1}برنامج سطح المكتب${2} و ${3}GitHub المنظمة${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"هل Stremio آمن؟","WEBSITE_MAINPAGE_FAQ_005_P1":"نعم: نظرًا لأنه برنامج مفتوح المصدر ، فإن الكود قابل للتدقيق بشكل عام ويمكنك مراجعته بنفسك.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"ماذا عن خصوصيتي؟","WEBSITE_MAINPAGE_FAQ_006_P1":"نحترم خصوصية المستخدمين ولا نجمع أي بيانات شخصية إلى جانب الحد الأدنى الأساسي لإنشاء حسابك ومزامنته.","WEBSITE_MAINPAGE_FAQ_006_P2":"يوجد أيضًا ${1} وضع الضيف ${2} عند التسجيل ، والذي لا يتطلب أي بيانات على الإطلاق: في هذا الوضع ، لا يتم إجراء مكالمات إلى الواجهة الخلفية لدينا. ومع ذلك ، فإنه يأتي على حساب الميزات المفيدة ، مثل القدرة على مزامنة مكتبتك عبر الأجهزة.","WEBSITE_MAINPAGE_FAQ_007_H1":"هل يمكنني ارسال البث إلى التلفزيون الخاص بي؟","WEBSITE_MAINPAGE_FAQ_007_P1":"نعم ، نحن ندعم Chromecast ويمكنك الإرسال من تطبيقات سطح المكتب والأجهزة المحمولة (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"كم عدد الإضافات التي يمتلكها Stremio؟","WEBSITE_MAINPAGE_FAQ_008_P1":"اعتبارًا من أواخر عام 2019 ، أكثر من 50 - لمزيد من المعلومات ، راجع كتالوج الملحقات الخاصة بنا.","WEBSITE_MAINPAGE_FAQ_009_H1":"هل يمكن تمديد Stremio بما يتجاوز ما هو موجود في الكتالوج الإضافي؟","WEBSITE_MAINPAGE_FAQ_009_P1":"نعم ، يجب عليك التحقق مما يلي: ${1} PimpMyStremio ${2} ، ${3} مجتمعات Reddit ${4} ، ${5} Stremio Downloader ${6} ، إلخ.","WEBSITE_MAINPAGE_FAQ_010_H1":"ما هي الأجهزة التي يدعمها Stremio؟","WEBSITE_MAINPAGE_FAQ_010_P1":"لدينا تطبيقات سطح مكتب لأنظمة Windows و Mac و Linux. بالنسبة للجوال ، ندعم Android و iOS ، على الرغم من أن ضع في اعتبارك أن وظائف iOS محدودة (لا تدعم معظم الوظائف الإضافية).","WEBSITE_MAINPAGE_FAQ_010_P2":"هناك العديد من الأجهزة التي تعمل بنظام Android والتي يمكنك تشغيل Stremio عليها ، مثل NVIDIA Shield و Amazon Fire Stick ، ​​لكننا لا ندعمها رسميًا.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"هل يمكنك إضافة محتوى معين إلى Stremio؟","WEBSITE_MAINPAGE_FAQ_011_P1":"عذرًا ، لا نقدم أي محتوى بأنفسنا ، ولكن كلما قمت بتثبيت المزيد من إضافات Stremio ، ستتمكن من العثور على المزيد من المحتوى.","WEBSITE_MAINPAGE_FAQ_012_H1":"هل يستطيع Stremio تشغيل روابط التورنيت ؟","WEBSITE_MAINPAGE_FAQ_012_P1":"نعم ، ويمكنه أيضًا تشغيل روابط HTTP العادية وملفات التورنت (السحب والإفلات).","WEBSITE_MAINPAGE_FAQ_013_H1":"هل يمكنني تنزيل مقطع فيديو ومشاهدته بلا إنترنت؟","WEBSITE_MAINPAGE_FAQ_013_P1":"تعد الميزة المتاحة في وضع عدم الاتصال ميزة قادمة ، ولكن إذا سمحت لـ Stremio بالتخزين المؤقت على جهازك (من لوحة الإعدادات) ، يمكنك مشاهدة مقاطع الفيديو لاحقًا دون اتصال.","WEBSITE_MAINPAGE_FAQ_014_H1":"لا شيء يعمل ، ساعدني!","WEBSITE_MAINPAGE_FAQ_014_P1":"هل أنت متأكد أنك قمت بتثبيت الوظائف الإضافية؟ إذا كانت الإجابة بنعم ، فراجع ${1} مركز المساعدة ${2} الخاص بنا.","WEBSITE_MAINPAGE_FAQ_015_H1":"كيف يحافظ Stremio على عمليات التطوير الخاصة به؟","WEBSITE_MAINPAGE_FAQ_015_P1":"نعرض إعلانات غير تدخلية من حين لآخر ، لكننا نفكر في الانتقال إلى نموذج التبرع.","WEBSITE_MAINPAGE_FAQ_015_P2":"لمزيد من الأسئلة ، انتقل إلى مركز المساعدة $ {1}${2}.","HELP_LEARN_MORE":"ساعدنا في معرفة المزيد عنك.","LIFESTYLE":"أسلوب الحياة","SPORTS":"الرياضة","FOOD_HEALTH":"الطعام والصحة","BEAUTY_FASHION":"جمال و موضة","NEWS":"أخبار","GAMING":"ألعاب","SCIENCE_EDUCATION":"علم و تعليم","MUSIC":"موسيقى","TRAVEL":"السفر","LATE_NIGHT":"أخر الليل","REALITY":"واقعي","COMEDY":"كوميديا","DIY":"كيف تفعلها بنفسك","TECH":"تقنية","CINEMA":"سينيما","CONTINUE":"متابعة","SLOW_LOADING":"تحميل بطيئ ؟","I_GIVE_UP":"أنا أستسلم","LEARN_MORE":"معرفة المزيد","POOR_SOURCE":"هذا المصدر غير متاح بشكل جيد أو أن اتصالك بالإنترنت ليس سريعًا بما يكفي","PICK_CATEGORIES_ERR":"عليك أن تختار 3 فئات على الأقل","ADJUST_TIMING":"ضبط التوقيت باستخدام","ADJUST_SIZE":"ضبط الحجم مع","SEARCH_ANYTHING":"يمكنك البحث عن أي شيء ...","ALL_CATEGORIES":"الجميع","SEARCH_CATEGORIES":"أفلام ومسلسلات ويوتيوب وتلفزيون","SEARCH_PERSONS":"الممثلين والمخرجين والكتاب","SEARCH_PROTOCOLS":"روابط HTTP و التورنيت","SEARCH_TYPES":"IMDB / TVDB روابط","WATCHED":"تمت المشاهدة","SHOW_LESS":"إظهار أقل","LAST_SEARCHES":"أخر عمليات البحث","CLEAR_HISTORY":"مسح السجل","CHOOSE_SOME":"اختر بعضًا من هذا:","NO_WEB_REMOTE":"تعذر تحميل Web Remote","STREMIO_OFFLINE":"Stremio غير متصل","STREMIO_EXPENSIVE_CONNECTION":"لقد اكتشفنا أنك تستخدم اتصال بيانات الجوال ، هل تريد المتابعة؟","USE_DATA":"استخدم البيانات","WARNING":"تحذير","MORE_INFO":"مزيد من المعلومات ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"جار التحميل ...","STREMIO_TV_BACK_TO_LANGUAGES":"رجوع إلى اللغات","STREMIO_TV_REMOTE":"ريموت","STREMIO_TV_GO_TO":"أذهب الى:","STREMIO_TV_OR_SCAN":"أو قم بمسح:","STREMIO_TV_ADDON_INSTRUCTIONS":"يرجى اتباع التعليمات لتثبيت الإضافات المفضلة لديك.","STREMIO_TV_LIVE_TV":"تلفاز مباشر","STREMIO_TV_RESUME_WATCHING":"تابع المشاهدة","STREMIO_TV_LOADING_BACKGROUND":"التحميل في الخلفية","STREMIO_TV_CHECKING_AUTHENTICATION":"التحقق من المصادقة","STREMIO_TV_LOADING_BOARD":"تحميل لوحة التحكم","STREMIO_TV_LOGIN_HEADER_LINE_1":"نريد لمستخدمينا الحصول على أفضل تجربة شخصية ممكنة مع برنامجنا.","STREMIO_TV_LOGIN_HEADER_LINE_2":"لهذا السبب نطلب منك التفضل بإنشاء و / أو تسجيل الدخول إلى حسابك.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"شكرا لتفهمك،","STREMIO_TV_LOGIN_FOOTER_LINE_2":"فريق Stremio","STREMIO_TV_REMOTE_INSTRUCTIONS":"من أجل استخدام Web Remote مع الهاتف الذكي / الجهاز اللوحي / سطح المكتب:","STREMIO_TV_WIFI_SETUP":"Wi-Fi ضبط","STREMIO_TV_WIFI_HEADER_LINE_1":"لم يكتشف Stremio Circle اتصالاً بالإنترنت.","STREMIO_TV_WIFI_DETAILS_1":"الاتصال بـ:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"استخدم كلمة المرور:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"افتح متصفح الويب بالرابط:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"تلقائي","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"باخر مرة تمت المشاهدة","STREMIO_TV_LIBRARY_SORT_NAME":"بالاسم","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"بعدد مرات المشاهدة","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"موسم ${1}","STREMIO_TV_STREAMS_LOADING":"حملت ${1} / ${2} الاضافات...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} االاضافة لازالت قيد التحميل...","STREMIO_TV_PLAYER_SETTINGS":"اعدادات المشغل","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"تاخير الترجمة","STREMIO_TV_PLAYER_AUDIO_DELAY":"تاخير الصوت","STREMIO_TV_PLAYER_VIDEO_SCALING":"مقياس الفيديو","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"مصدر بث غير مدعوم","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"فشل فتح الرابط الحارجي","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Not adjustable in audio passthrough mode","STREMIO_TV_PLAYER_PLAY_IN_EXO":"تشغيل بـ ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"تشغيل بـ libVLC مشغل","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Switching to libVLC player due to a playback error","STREMIO_TV_ADDONS_TITLE":"استعمل stremio على هاتفك او حاسوبك واعد تثبيت او اضبط الاضافات ثم اضغط على \\"اعادة المزامنة\\"","STREMIO_TV_ADDONS_SUBTITLE":"ملاحظة: تاكد من استعمال نفس حساب stremio","STREMIO_TV_ADDONS_SYNC_ADDONS":"مزامنة الاضافات","STREMIO_TV_ADDONS_SYNC_SUCCESS":"تمت مزامنة الاضافات بنجاح","STREMIO_TV_ADDONS_SYNC_FAILED":"فشل مزامنة الاضافات","STREMIO_TV_META_LINK_FAILED":"فشل فتح ارتباط التعريف","STREMIO_TV_CATALOG_LOADING":"لم يتم تحميل الفهرس بعد ...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"تم تحديث لغة الواجهة","STREMIO_TV_SETTINGS_THEME_UPDATED":"تم تحديث المظهر","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"المشغل الافتراضي","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"المشغل الخارجي","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"اللغة المفضلة","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"اللغة المفضلة الثانية","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"تشغيل عبر الانفاق","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"قد يكون هنالك مشاكل تشغيل محتملة على بعض الأجهزة","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"بعض انواع الفيديوهات قد لا تعمل","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"بدون تخزين مؤقت","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"تلقائي","STREMIO_TV_SETTINGS_PROFILE_SOFT":"ناعم","STREMIO_TV_SETTINGS_PROFILE_FAST":"سريع","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"سريع جدا","STREMIO_TV_SETTINGS_SERVER_URL":"رابط سيرفر المشاهدة","STREMIO_TV_SETTINGS_SERVER_VERSION":"اصدار السيرفر","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"مجهول","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio اصدار","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"تغير رابط السريفر","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"ادخل عنوان رابط السيرفر","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Show statistics while loading","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"لقراءت سايسة الخصوصية زر:","STREMIO_TV_SETTINGS_TOS_TEXT":"لقراءت الاحكام والشروط زر:","STREMIO_TV_NAV_SEARCH":"البحث","STREMIO_TV_NAV_HOME":"الرئيسية","STREMIO_TV_NAV_DISCOVER":"اكتشاف","STREMIO_TV_NAV_LIBRARY":"المكتبة","STREMIO_TV_NAV_MOVIES":"افلام","STREMIO_TV_NAV_SERIES":"مسلسلات","STREMIO_TV_NAV_CHANNELS":"قنوات","STREMIO_TV_NAV_TV":"قنوات تلفزيونية مباشرة","STREMIO_TV_NAV_SETTINGS":"الاعدادات","STREMIO_TV_NAV_ADDONS":"اضافات","STREMIO_TV_LOGIN_TITLE":"ربط الحساب","STREMIO_TV_LOGIN_EXPIRES_IN":"تنتهي الصلاحية في","STREMIO_TV_LOGIN_STEP_ONE":"امسح QR Code اعلاه او اذهب الى","STREMIO_TV_LOGIN_STEP_TWO":"تسجيل الدحول لحساب Stremio الخاص بك","STREMIO_TV_LOGIN_NEW_LINK":"طلب رابط جديد","STREMIO_TV_LOGIN_LINK_REFRESHED":"تم تحديث كود تسجيل الدحول","STREMIO_TV_SEARCH_PLACEHOLDER":"اكتب شيئا ما","STREMIO_TV_SEARCH_NO_ADDONS":"لم يتم طلب اي اضافة لهذا الفهرس!","STREMIO_TV_SEARCH_BUTTON":"بحث","STREMIO_TV_SEARCH_KEY_DEL":"حذف","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"مسح","STREMIO_TV_SEARCH_HISTORY_TITLE":"سجل البحث","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"يمكنك البحث عن عناوين, ممثلين, قنوات والمزيد ...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"مسح سجل البحث","STREMIO_TV_FILTERS_DESCRIPTION":"اختر احد الفلترات اسفله","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"قلترات","SETTINGS":"الاعدادات","ACCOUNT":"الحساب","LOGOUT":"تسجيل الخروج","THEMES":"مظاهر","PLAYBACK":"العرض","PLAYBACK_SPEED":"سرعة العرض","AUDIO_TRACKS":"مسار صوت","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"فديوهات","SERVER":"السيرفر","LINKS":"روابط","ABOUT":"حول","INTERFACE":"الواجهة","ANIMATIONS":"التاثيرات","STATUS":"الحالة","LANGUAGE":"اللغة","SIZE":"الحجم","DELAY":"التاخير","BOLD":"عريض","OPACITY":"Opacity","TEXT_COLOR":"لون الكتابة","OUTLINE_COLOR":"لون الخط الخارجي","BACKGROUND_COLOR":"لون الخلفية","BACKGROUND_BLUR":"ضبابية الخلفية","SEEK_TIME_DURATION":"مدة وقت التقديم","AUTO_PLAY":"التشعيل التلقائي للحلقة القادمة","PLAY_NOW":"شغل الان","MARK_AS_WATCHED":"تعليم كتمت مشاهدته","MARK_AS_UNWATCHED":"تعليم كلم تتم مشاهدته","REWIND_TO_BEGINNING":"اعادة من الاول","CONTINUE_WATCHING":"اكمل المشاهدة","ALL":"الكل","SECONDS":"ثواني","ON":"مفعل","OFF":"معطل","RELOAD":"اعادة تحميل","EDIT_URL":"تعديل الرابط","NONE":"لاشيء","EMBEDDED":"مضمن","REMOTE_SWITCH_DEVICES":"تبديل الأجهزة","REMOTE_VIDEOS":"فيديوهات","REMOTE_ADJUST_TIMING":"ضبط التوقيت","REMOTE_ADJUST_SIZE":"ضبط الحجم","REMOTE_COULD_NOT_BE_LOADED":"تعذر تحميل Web Remote","REMOTE_RETRY":"أعادة المحاولة","TORRENT_PROFILE_DEFAULT":"إفتراضي","TORRENT_PROFILE_SOFT":"معتدل","TORRENT_PROFILE_FAST":"سريع","TORRENT_PROFILE_ULTRA_FAST":"فائقة السرعة","FAQ_001_H1":"ما هو Stremio؟","FAQ_001_P1":"Stremio هو برنامج مركز وسائط مصمم للترفيه بالفيديو مع وضع سهولة الاستخدام في الاعتبار. يسمح لك Stremio بتنظيم شاهد مجموعتك الخاصة من الأفلام والمسلسلات والقنوات والبث التلفزيوني المباشر.","FAQ_001_P2":"يقوم Stremio بجمع المحتوى الذي يعرضه لك من القرص المحلي ونظام الوظائف الإضافية الخاص بنا.","FAQ_001_P3":"سيُعلمك أيضًا عند ظهور حلقات / مقاطع فيديو / أفلام جديدة تهتم بها ، ويقدم لك توصيات بشأن الأفلام.","FAQ_02_H1":"كيف يقارن Stremio بـ Kodi و Plex؟","FAQ_02_P1":"نحن مستوحون من هذين البرنامجين. لكن لدينا أهدافًا مختلفة - يستهدف Stremio بشكل خاص الفيديو الترفيهي ، ويسعى جاهداً ليصبح الحل السائد لذلك من خلال كونه سهل الاستخدام للغاية.","FAQ_02_P2":"لن يكون Stremio أبدًا قابلاً للتخصيص وغنيًا بالميزات مثل Kodi و Plex ، ولكنه أسهل كثيرًا في الاستخدام. فقط ${1} احصل عليه واطلع على ${2} :)","FAQ_03_H1":"كيف يقارن Stremio بـ Netflix؟","FAQ_03_P1":"مرة أخرى ، يعد Netflix أحد مصادر إلهامنا. نحن نسعى جاهدين لتحقيق تجربة مستخدم Netflix ، بالإضافة إلى الكثير من الأشياء الجيدة المضافة. ولكن الأهم من ذلك ، أننا نمنحك حرية إدارة مكتبتك الخاصة وإضافة مصادر محتوى جديدة باستخدام نظام الملحق الخاص بنا.","FAQ_03_P2":"هذا يجعل Stremio قابلًا للتمديد بشكل لا نهائي ، لذلك عندما تستخدم Stremio ، فأنت لا تقتصر أبدًا على المحتوى الذي تقرر Netflix ترخيصه. على سبيل المثال ، من خلال Stremio ، يمكنك مشاهدة محتوى من $ {1} Filmon.tv ${2} ، ${3} Twitch.tv ${4} ، ${5} YouTube ${6} ، ${7} Vodo ${8} وحتى ${9} Netflix ${10} نفسها!","FAQ_04_H1":"كيف يقارن Stremio بـ Flipboard؟","FAQ_04_P1":"لا نتلقى هذا السؤال كثيرًا ، إلا عند التحدث إلى أشخاص مبتدئين :)","FAQ_04_P2":"يعد Stremio عن طريق تصميم مجمع محتوى ، مما يجعله بشكل أساسي Flipboard للفيديو. هذا واضح جدًا في قسم Board الخاص بنا ، والذي يمنحك كتالوجات وإشعارات حلقة جديدة / فيديو جديد لما تتابعه ، تمامًا مثل Flipboard.","FAQ_05_H1":"كيف يقارن Stremio بـ Popcorn Time؟","FAQ_05_P1":"يتشابه كل من Stremio و Popcorn Time في واجهة المستخدم ، لأنه لا توجد طرق عديدة لعمل كتالوجات فيديو ترفيهية بشكل صحيح :)","FAQ_05_P2":"ولكن بينما يركز Popcorn Time على بث التورنت من مصادر محددة ، فإن Stremio غير مقيد وهو مجرد مجمع محتوى - فهو غير مقيد بمصدر محتوى معين.","FAQ_05_P3":"علاوة على ذلك ، نحن لا نقدم أي إضافات تورنت افتراضيًا ، لذلك لا يغطي Stremio حالة استخدام Popcorn Time بالوظائف الرسمية.","FAQ_05_P4":"الفرق الملحوظ الآخر هو أن Popcorn Time مفتوح المصدر بالكامل ، بينما Stremio ${1} مفتوح المصدر جزئيًا ${2}.","FAQ_06_H1":"هل ستضيف هذا الفيلم / المسلسل؟","FAQ_06_P1":"لا آسف :(","FAQ_06_P2":"كما هو مذكور في معظم الأسئلة الأخرى ، لا يوفر Stremio أي محتوى بمفرده - تتم إضافة كل شيء من خلال نظام الوظائف الإضافية. في حالة وجود طلب محتوى ، يمكنك استخدام الزر إبلاغ في المشغل ، والذي سيرسل بريدًا إلكترونيًا إلى مؤلف الوظيفة الإضافية التي تستخدمها حاليًا.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"هل ستقوم بإنشاء أضافة لـ X؟","FAQ_08_P1":"إنه ممكن تمامًا.","FAQ_08_P2":"إذا كانت لديك فكرة عن أضافة ، فأرسل لنا سطرًا على ${1}office@stremio.com ${2} ، ولكن يُرجى التأكد من أن فكرة الملحق لن تنتهك أي حقوق طبع ونشر أو شروط استخدام.","FAQ_08_P3":"في الوقت الحالي ، الأشياء التالية في خارطة الطريق هي الإضافات لـ FandangoNOW ، فيديو Filmon.tv عند الطلب و Crunchyroll.","FAQ_09_H1":"هل يستخدم Stremio برنامج BitTorrent؟","FAQ_09_P1":"نعم ، يدعم Stremio BitTorrent كبروتوكول دفق. يمكنك استخدام ذلك إما مع أضافة تورنت ، أو عن طريق سحب وإفلات ملف .torrent في Stremio ، أو عن طريق لصق رابط تورينت في شريط البحث.","FAQ_09_P2":"يرجى ملاحظة أن الملحق الرسمي الوحيد الذي يستخدم BitTorrent هو ${1} Vodo ${2} ، والذي يوفر محتوى مستقل ، وكلها مسموح بتوزيعها باستخدام BitTorrent.","FAQ_09_P3":"نحن لا ندعم استخدام أي أدوات إضافية لطرف ثالث والتي قد تتيح انتهاك حقوق النشر.","FAQ_10_H1":"ما الذي يمكنني مشاهدته في Stremio باستخدام الإضافات الرسمية؟","FAQ_10_P1":"بشكل افتراضي ، يمكنك مشاهدة محتوى Filmon.tv و YouTube و Vodo داخل Stremio نفسها ، باستخدام مشغلها المضمن. بالإضافة إلى ذلك ، لدينا ملحق لـ Twitch.tv وعدد قليل من البرامج الأخرى.","FAQ_10_P2":"يوفر هذا مجتمعة مجموعة مختارة من:","FAQ_10_L1":"قنوات تلفزيونية شهيرة ، تقدمها Filmon.tv - على سبيل المثال E4 و BBC و Bollyworld TV","FAQ_10_L2":"كل شيء من YouTube - على سبيل المثال BBC News و Top Gear و Vevo و PewDiePie","FAQ_10_L3":"الأفلام المستقلة مع Vodo","FAQ_10_L4":"يتم بث الألعاب عبر الإنترنت باستخدام Twitch.tv","FAQ_10_P3":"بالإضافة إلى ذلك ، هناك العديد من مصادر المحتوى المتوفرة مع Guidebox ووظائف Netflix الإضافية ، والتي <b> لا تعمل </ b> بالكامل داخل Stremio ، ولكنها ستعيد التوجيه إلى الخدمة المحددة. على سبيل المثال ، ستمنحك الوظيفة الإضافية Guidebox مجموعة مختارة من الأفلام التي يمكنك بثها في الولايات المتحدة مجانًا ، من خدمات مثل TubiTV و Crackle.","FAQ_11_H1":"لن يتم تثبيت Stremio ، فماذا أفعل؟","FAQ_11_P1":"إذا كنت تستخدم نظام التشغيل Windows ، فجرّب ${1} أداة التثبيت البديلة هذه ${2}.","FAQ_11_P2":"إذا كنت تستخدم نظام التشغيل Mac OS X ، فيرجى العلم أننا لا ندعم أي شيء أقدم من OS X Mavericks (10.9).","FAQ_11_P3":"إذا كنت تستخدم نظام Linux ، فاعلم أننا ندعم نظام Linux 64 بت (x64) فقط في الوقت الحالي.","FAQ_11_P4":"إذا كنت لا تزال غير قادر على حل مشكلتك ، فيرجى مراسلتنا على ${1} Facebook group ${2}.","FAQ_12_H1":"لماذا يشتكي برنامج مكافحة الفيروسات الخاص بي؟ هل Stremio آمن؟","FAQ_12_P1":"نؤكد لك أن Stremio هو ${1} 100٪ نظيف ${2}.","FAQ_12_P2":"يشكو برنامج مكافحة الفيروسات الخاص بك لأننا نقوم بتضمين إعلانات في أداة التثبيت الخاصة بنا ، والتي تتعرف عليها بعض برامج مكافحة الفيروسات على أنها أدوات إعلانية.","FAQ_12_P3":"إذا كنت لا تزال غير متأكد ، فيمكنك تجربة ${1} المثبت البديل ${2}.","FAQ_13_H1":"كيف يمكنني عمل أضافة جديدة ؟","FAQ_13_P1":"بالنسبة للمبتدئين ، نوصيك بالتحقق من وحدة نظام الإضافات ${1} الخاصة بنا ${2} على GitHub.","FAQ_13_P2":"بعد ذلك ، يمكنك اتباع البرنامج التعليمي ${1} Hello World ${2}.","FAQ_13_P3":"إذا لم تكن لديك أي مهارات برمجية ، فالرجاء نشر فكرتك على ${1} مجتمع Reddit ${2} والاتصال بنا لتقديم فكرة الملحق الخاص بك على ${3}office@stremio.com${4}.","FAQ_14_H1":"كيف يتم نشر الإضافات؟","FAQ_14_P1":"عندما تنشئ ملحقًا ومضيفًا ، وتضع حقل <b> نقطة نهاية </b> في البيان الخاص بك ، والذي يشير إلى عنوان ملحق يعمل ، فإن الوظيفة الإضافية ستنشر نفسها تلقائيًا في كتالوج ${1} Addon ${2} .","FAQ_14_P2":"يحدث هذا لأن جزء الخادم من وحدة stremio-addons يقوم تلقائيًا بإجراء مكالمة إلى واجهة برمجة التطبيقات الخاصة بنا للإعلان عن الملحق. عندما تتحقق واجهة برمجة التطبيقات الخاصة بنا من <b> نقطة النهاية </ b> كإضافة صالحة ، ستبدأ في الظهور في الكتالوج.","FAQ_15_H1":"هل يمكنني تشغيل Stremio في المتصفح الخاص بي؟","FAQ_15_P1":"ليس في الوقت الحالي ، لكن هذا قادم!","FAQ_15_P2":"إذا كنت مهتمًا برؤية ألفا ، فيمكنك رؤيته هنا: ${1} alpha4.strem.io ${2}. ضع في اعتبارك أن البث معطل في هذا الإصدار ألفا. نحن ندعم Chrome و Firefox و Opera و Edge.","FAQ_16_H1":"الإرسال إلى التلفزيون لا يعمل / لا تعمل الترجمة","FAQ_16_P1":"يستخدم Casting to TV تقنية DLNA وهي غير متسقة للغاية بين مختلف العلامات التجارية والموديلات. لهذا السبب ، ليس لدينا القدرة على اختباره في كل حالة ، لذا فهو بعيد عن الكمال. على الرغم من ذلك ، نحن نعمل على تحسينه باستمرار ولكن لا يمكننا منحك تقديرًا للوقت حول موعد بدء DLNA في العمل بشكل صحيح مع تلفزيونك.","FAQ_16_P2":"إذا كنت لا ترى التلفزيون الخاص بك في قائمة الإرسال ، فالرجاء محاولة تعطيل اتصال الشبكة وإعادة تمكينه (في Windows ، انقر بزر الماوس الأيمن فوق الشبكة واستخدم تمكين / تعطيل) ، وكذلك إعادة تشغيل جهاز التوجيه والتلفزيون والكمبيوتر .","FAQ_16_P3":"إذا كنت لا تزال تواجه مشكلات ، فيمكنك مساعدتنا عن طريق إرسال معلومات الطراز والعلامة التجارية التلفزيونية الخاصة بك على ${1}office@stremio.com${2}.","FAQ_16_P4":"في غضون ذلك ، نوصي باستخدام Chromecast ، الذي ندعمه جيدًا ، أو ببساطة قم بتوصيل التلفزيون بجهاز الكمبيوتر باستخدام كابل HDMI.","FAQ_17_H1":"يتجمد Stremio و / أو يتعطل ، ماذا يمكنني أن أفعل؟","FAQ_17_P1":"بادئ ذي بدء ، إذا كنت تستخدم Windows 7 مع برنامج مكافحة الفيروسات AVG: لدينا مشكلة في هذه المجموعة. المشكلة في AVG نفسه ، وليس هناك طريقة معقولة لحلها من جانبنا. لسوء الحظ ، لن تعمل الاستثناءات أو تعطيل برنامج مكافحة الفيروسات. الحل الوحيد هو استبدال AVG بشيء آخر.","FAQ_17_P2":"إذا لم تكن هذه هي المشكلة ، ولكنك لا تزال تستخدم Windows ، فيرجى التحديث إلى أحدث حزمة خدمة وتحديث / إعادة تثبيت برامج تشغيل GPU ، ثم حاول مرة أخرى.","FAQ_17_P3":"إذا لم يتم حل المشكلة بعد ، أو إذا كنت تستخدم نظام التشغيل Mac أو Linux ، فيرجى مراسلتنا للإبلاغ عن التفاصيل الدقيقة للمشكلة على ${1} مجموعة Facebook ${2}.","FAQ_18_H1":"كيف يمكنني عمل أضافة ؟","FAQ_18_P1":"بالنسبة للمبتدئين ، نوصيك بالتحقق من وحدة نظام الإضافات ${1} الخاصة بنا ${2} على GitHub.","FAQ_18_P2":"بعد ذلك ، يمكنك اتباع البرنامج التعليمي ${1} Hello World ${2}.","FAQ_18_P3":"إذا لم تكن لديك أي مهارات برمجية ، فالرجاء نشر فكرتك على ${1} مجتمع Reddit ${2} والاتصال بنا لتقديم فكرة الملحق الخاص بك على ${3}office@stremio.com${4}.","FAQ_19_H1":"لماذا يشغل Stremio مساحة على القرص؟","FAQ_19_P1":"يحتوي Stremio على <b> ذاكرة تخزين مؤقت محلية </ b> للاحتفاظ مؤقتًا بملفات الفيديو التي تقوم بدفقها.","FAQ_19_P2":"هذا له فائدتان: أولاً ، يسمح لـ Stremio بالتخزين المؤقت للفيديو مسبقًا لضمان تدفق أكثر سلاسة. ثانيًا ، يحتفظ بمقاطع الفيديو في ذاكرة التخزين المؤقت المحلية حتى تتمكن من متابعة مشاهدتها في وضع عدم الاتصال.","FAQ_19_P3":"يعتمد مقدار ما يحتفظ به Stremio على إعداد <b> ذاكرة التخزين المؤقت </ b> في لوحة الإعدادات. قد يحافظ Stremio على الكمية المحددة (على سبيل المثال 2 جيجا بايت) على القرص الخاص بك ، ما لم يكن الفيديو المتدفق حاليًا أكبر من ذلك ، وفي هذه الحالة يجب عليه تخصيص مساحة تخزين كافية للاحتفاظ به حتى تقوم بدفقه.","FAQ_20_H1":"أين هو مجلد ذاكرة التخزين المؤقت؟","FAQ_20_P1":"في Windows ، يكون stremio-cache في محرك الأقراص الذي اخترته في الإعدادات (مثال \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"على MacOS ، إنه \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"على Linux ، إنه \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"تلقيت خطأ لم يتم العثور على خادم البث ، فماذا أفعل؟","FAQ_21_P1":"إذا تلقيت هذا الخطأ ، فهذا يعني أحد الأشياء القليلة:","FAQ_21_P2":"1) أنت تحاول استخدام ملحق مدعوم من مصدر YouTube / BitTorrent ، من خلال إصدار الويب ${1} الخاص بنا ${2}. في هذه الحالة ، يجب عليك تثبيت إصدار سطح المكتب من $ {3} موقعنا $ {4}.","FAQ_21_P3":"2) هناك خطأ ما في تثبيت Stremio. في هذه الحالة ، حاول إعادة تثبيت أحدث إصدار لسطح المكتب من ${1} موقع الويب ${2}. إذا لم يساعدك ذلك ، فحاول تعطيل برامج مكافحة الفيروسات والجدران النارية وإعادة تشغيل الكمبيوتر والمحاولة مرة أخرى. إذا لم يفلح هذا أيضًا ، يرجى مراسلتنا على ${3} مجموعتنا على Facebook ${4}.","FAQ_22_H1":"لا يمكنني رؤية / استخدام معظم الوظائف الإضافية على iOS","FAQ_22_P1":"نظرًا للقيود الواردة في شروط وأحكام متجر تطبيقات Apple ، فقد قصرنا تطبيق iOS على مجموعة معينة من الوظائف الإضافية.","FAQ_22_P2":"لكن كن مطمئنًا - سيكون هناك المزيد من الوظائف الإضافية لنظام iOS في المستقبل ، وقد نضيف أيضًا تكاملًا يسمح لك باستخدام جميع إضافات Stremio بفضل توصيل تطبيق iOS بخادم Stremio Streaming Server."}')},97726:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Филм","TYPE_series":"Сериал","TYPE_tv":"TV канал","TYPE_channel":"Канал","TYPE_other":"Друго","TYPE_movie_PL":"Филми","TYPE_series_PL":"Сериали","TYPE_tv_PL":"TV канали","TYPE_channel_PL":"Канали","TYPE_other_PL":"Други","TYPE_ALL":"Всички","TYPE":"Тип","CATALOG_com_linvo_cinemeta_top":"Популярни","CATALOG_com_linvo_cinemeta_imdbRating":"Препоръчани","CATALOG_com_linvo_cinemeta_year":"Нови","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"Видео","BACK":"Назад","MORE":"Още","DONE":"Готово","COPY":"Копирай","SUCCESS":"Успех","ERROR":"Грешка","SETTINGS_CASTING_MODE_PICKER":"Режим на излъчване","CASTING_MODE_HLSV2":"По подразбиране","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Без транскодиране","Discover":"Открий","Board":"Табло","Library":"Библиотека","My Library":"Моята библиотека","Calendar":"Календар","NOTIFICATION_ONLINE":"Вече сте онлайн","NOTIFICATION_OFFLINE":"В момента сте офлайн","INTERNET_CONNECTION":"Интернет връзка","STORAGE_FULL_TITLE":"Внимание: Паметта е пълна!","STORAGE_FULL_TEXT":"Stremio няма да може да запази вашите настройки, предпочитания или информация за вход. Помислете за повторно стартиране или преинсталиране на Stremio.","SEARCH":"Търсене","SEARCH_NO_RESULTS":"Не са намерени резултати","SEARCH_EXPLANATION_CONTENT":"Търсете на филми, сериали, TV и YouTube канали","SEARCH_EXPLANATION_PEOPLE":"Търсене на актьори и режисьори","SEARCH_PASTE_LINKS":"Поставете HTTP или магнитна връзка","SEARCH_OR_PASTE_LINK":"Търсене или поставяне на връзка","SEARCH_SUGGESTIONS":"Предложения за търсене","ADD_TO_LIB":"Добави","REMOVE_FROM_LIB":"Премахни","ADDED_TO_LIB":"Добавено към библиотека","REMOVED_FROM_LIB":"Премахнато от библиотека","TRAILER":"Трейлър","WATCH_TRAILER":"Трейлър","WATCH_NOW":"Гледай","SHOW":"Покажи","SHOW_MOVIE":"Показване на филма","WATCH_RANDOM":"Произволно гледане","IMDB_RATING":"IMDb рейтинг","YEAR":"Година","DIRECTOR":"Режисьор","WRITER":"Автор","LEAD_ACTORS":"В главните роли","CAST":"Състав","CREW":"Екип","SHOW_MORE_CAST":"Показване на повече актьорски състав »","AIRED":"Излъчено","SEASONS":"Сезони","GENRE":"Жанр","GENRE_ALL":"Всичи жанрове","CATALOG":"Каталог","SUMMARY":"Описание","SHOW_MORE":"Показване на повече","SIMILAR":"Подобни","UPCOMING":"Очаквайте","ENDED":"Прекратено","DURATION":"Продължителност","FEATURED":"Предложено","METADATA":"Метаданни","CATEGORY":"Категория","LINKS_GENRES":"Жанрове","LINKS_CAST":"Актьорски състав","LINKS_DIRECTORS":"Режисьори","SEARCH_VIDEOS":"търси видеа","SEARCH_PLACEHOLDER":"търсене или поставяне на магнитна връзка","ADDON":"добавка","ADDONS":"Добавки","OFFICIAL":"официални","ADDONS_OFFICIAL":"Официални добавки","ADDONS_POPULAR":"Популярни в региона ви","ADDON_FREE":"безплатно","ADDON_PEERED":"преглеждано","ADDON_SUBSCRIPTION":"абонамент","ADDON_STREAM_GEORESTRICTED":"недостъпно във вашия регион","ADDON_STREAM_OFFLINECACHE":"Офлайн кеш","ADDON_STREAM_LOCALFILE":"Локален файл","SHARE_ADDON":"Споделяне на добавка","AVAILABLE_STREAMS":"Достъпни източници","NO_STREAM":"Няма достъпни източници","ALL_ADDONS":"Всички","INSTALL_MORE_ADDONS":"За повече източници, моля инсталирайте повече добавки","STREAM_NOT_SUPPORTED":"Избраният източник не е подържан на тази платформа.","ADDON_CATALOGUE":"Показване на всички добавки »","ADDON_CATALOGUE_MORE":"Още добавки »","REPO_ADDED":"Хранилището е добавено","ADDON_REPO_EXIST_ERR":"Това хранилище за добавки вече съществува","ADDON_REPO_ERR":"Грешка при добавяне на хранилището","ADDON_ADD_ERR":"Грешка при добавяне на добавката","ERR_ADDON_PROTECTED":"Защитена добавка","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Нещо се обърка - удостоверяването може да се е провалило","ERR_NOT_COLLECTION_URL":"Това не е url на колекция","ERR_NOT_ADDON_URL":"Това не е url на добавка","ERR_DETECTFROMURL":"Не може да се разпознае url","ADDON_DUPLICATE_WARNING":"Предупреждение: съществуваща добавка","ADDON_COLLECTION_SET_FAILED":"Колекцията на добавката е провалена","SETTINGS_DATA_EXPORT":"Експортиране на данни","ADDON_PULL_FAILED":"Извличането на добавката се провали","REFRESH_ON_CLICK":"Кликнете за повторение","STILL_IN_THEATER":"Филмът е все още по кината","WATCH_IN_CINEMA":"Гледайте по кината","IN_THEATER":"По кината","GET_TICKETS":"Купи билети","UPCOMING_EPISODE":"Предстоящ епизод","UPCOMING_EPISODE_MESSAGE":"Този епизод ще бъде излъчен","MISSING_DATE_EPISODE":"Липсваща дата на епизода","MISSING_DATE_EPISODE_MESSAGE":"Този епизод може да не е излъчен все още","CHANNEL_NOT_SCRAPED":"Нямаме информация за този канал все още.<br>Върнете се след няколко минути.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Добавете го в библиотеката, за да получите известие.","GET_NOTIFIED_WHEN_AVAILABLE":"Ще получите известие когато излезе.","WARNING_STREAMING_SERVER":"Предупреждение: локалният сървър за поточно предаване не е свързан. Не е възможно поточно предаване от YouTube и BitTorrent.","WARNING_STREAMING_SERVER_DISMISS":"Отхвърляне","WARNING_STREAMING_SERVER_LATER":"По-късно","DECODER_WARNING":"Внимание: Това видео може да не се поддържа от вашия хардуер. Имайте предвид, че плейбека може да е бавен.","GENERIC_ERROR_MESSAGE":"Нещо се обърка!","TRY_AGAIN":"Опитай отново","CLEAR_DATA":"Изчисти данни","PLAYER_ERROR":"Упс, грешка на плеъра","PLAYER_ERROR_LOOKSLIKE":"Изглежда като","PLAYER_ORIENTATION":"Ориентация на плеъра","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Заключен","PLAYER_ORIENTATION_SENSOR_SHORT":"Заключен","PLAYER_ORIENTATION_LANDSCAPE":"Ориентацията на екрана е заключена пейзажно","PLAYER_ORIENTATION_SENSOR":"Ориентацията на плеъра е автоматична (сензор)","PLAYER_PLAYBACK_SPEED":"Скорост на плейбека","PLAYER_PLAYBACK_ERROR":"Грешка при пускане, моля, опитайте отново","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Непозната грешка","PLAYER_PLAYBACK_ERROR_DEFAULT":"Съжаляваме, това видео не може да се пусне от {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Езици на субтитрите","PLAYER_SUBTITLES_VARIANTS":"Варианти на субтитрите","PLAYER_SUBTITLES_SETTINGS":"Настройки на субтитрите","PLAYER_SUBTITLES_DISABLED":"Субтитрите са изключени","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Вертикална позиция","PLAYER_SUBTITLES_LOADED":"Субтитрите са заредени","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Вградените субтитри са заредени","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Ексклузивните субтитри са заредени","PLAYER_SUBTITLES_LOADED_ORIGIN":"Субтитрите от {{origin}} са заредени","PLAYER_PLAY":"Пусни","PLAYER_PAUSE":"Пауза","PLAYER_NEXT_VIDEO":"Следващо видео","PLAYER_MUTE":"Без звук","PLAYER_UNMUTE":"Пускане на звука","PLAYER_OPEN_IN_EXTERNAL":"Отваряне във външен плеър","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Пускане на {{device}}","PLAYER_LIVE":"На живо","PLAYER_NEXT_VIDEO_TITLE":"Следва","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Отхвърляне","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Гледане сега","PLAYER_COPY_STREAM_SUCCESS":"Връзката за поточно предаване беше копирана във клипборда","PLAYER_COPY_STREAM_ERROR":"Неуспешно копиране на връзката за поточно предаване","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","STREAMING_FROM":"Поточно предаване от","CASTING_TO":"Предаване към","NETWORK_STATUS":"Състояние на мрежата","STREAM_SPEED":"Скорост:","STREAM_BUFFERED":"Буфер:","PEERS_INFO":"Пиъри","PEERS_ACTIVE":"Активни:","PEERS_CONNECTED":"Свързани:","PEERS_WAITING":"Чакащи:","TRANSCODING_WARNING":"Внимание: транскодиране на видеото.","STREAM_LOADING":"зареждане...","PLAYING_LOCAL":"Пусни от локален файл","PLAYING_CACHE":"Пусни от кеш","WRONG_SUBS":"Грешни субтитри?","ERR_SUBS_LOADING_TITLE":"Грешка при зареждане на субтитри","ERR_SUBS_LOADING":"Зареждането на субтитрите се провали: може да е проблем с добавката, която използвате, или с вашата мрежова връзка","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Следните добавки за субтитри са неуспешни","ERR_CASTING_UPDATE_TITLE":"Информацията на устройството за предаване не можа да се актуализира: сървъра за поточно предаване може да е онлайн","CHOOSE_DEVICE":"Изберете устройство","NO_CAST_DEVICES":"Няма налични устройства за предаване.","NO_SETTINGS":"Няма налични настройки.","PHONE_TABLET":"Телефон / Таблет","SUBTITLES":"Субтитри","SUBTITLES_CHANGE":"Сменяне на субтитрите на ","SUBTITLES_CHANGE_NONE":"Няма други субтитри за този език.","SUBTITLES_CHANGE_ACIVE":"В момента субтитри &#35;{{subtitlesDialog.activeIdx + 1}} са активирани. Кликнете \\"Продължи\\" за да активирате &#35;{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Алтернативно,","SUBTITLES_ADJUST_DELAY":"Настройте забавяне на субтитрите:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Или използвайте <span>G</span> / <span>H</span>, за да настроите субтитрите.","SUBTITLES_ADJUST_DELAY_TIP":"Съвет: може да ползвате <span>G</span> / <span>H</span>, за да настроите субтитрите.","SUBTITLES_DELAY":"Забавяне на субтитрите:","SUBTITLES_LOADING":"Зареждане на субтитри...","SUBTITLES_UNAVAILABLE":"Не са налични външен субтитри","SUBTITLES_DISABLED":"Изключено","EXTERNAL_PLAYER_DISABLED":"Изключено","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Позволяване на избирането","EXTERNAL_PLAYER_HINT":"Съвет: Има настройка, която да позволява винаги да се отваря с външен плейър","DONT_SHOW_AGAIN":"Да не се показва отново","SERVICE_INSTALL":"Инсталиране","AUDIO":"Аудио","DEFAULT_LANGUAGE":"Език по подразбиране","DEFAULT_SECONDARY_LANGUAGE":"Допълнителен език по подразбиране","SEASON":"Сезон","EPISODE":"Епизод","EPISODE_ABBREVIATION":"ЕП","SPECIAL":"Специално","SORT":"Сортиране","SORT_BY":"Сортиране по","FILTER":"Филтър","SORT_TRENDING":"Популярни","SORT_RECENT":"Последни","SORT_ALPHABET":"А-Я","SORT_ALPHABET_REVERSE":"Я-А","SORT_RATING":"Рейтинг","SORT_WATCHED":"Гледани","SORT_YEAR":"Година","SELECT_TYPE":"Избиране на тип","SELECT_SORT":"Избиране на сортиране","SELECT_CATALOG":"Избиране на каталог","SELECT_GENRE":"Избиране на жанр","SORT_LASTWATCHED":"Гледани последно","SORT_NAME":"По име","SORT_NAMEREVERSE":"я-а","SORT_TIMESWATCHED":"Гледани последно","SORT_NOTWATCHED":"не е гледано","New for You":"Ново за Вас","New Episodes":"Нови епизоди","New Videos":"Нови видеа","Recommendations":"Препоръчано","LIBRARY_RESUME":"Продължи","LIBRARY_PLAY":"Пусни","LIBRARY_DETAILS":"Детайли","LIBRARY_RESUME_DISMISS":"Отхвърляне","LIBRARY_CLEAR_PROGRESS":"Изчистване на напредъка","LIBRARY_REMOVE":"Премахване","LIBRARY_NOT_LOGGED_IN":"Библиотеката е достъпна само за вписани потребители","CALENDAR_NOT_LOGGED_IN":"Календарът е достъпен само за вписани потребители","NOT_LOGGED_IN_CLOUD":"Получете достъп до любимите си филми и ТВ програми по всяко време, навсякъде","NOT_LOGGED_IN_RECOMMENDATIONS":"Препоръки, съобразени с вашата история на гледане","NOT_LOGGED_IN_NOTIFICATIONS":"Никога не изпускайте отново епизод","NOT_LOGGED_IN_CALENDAR":"Планирайте личния си календар за гледане","DISCOVER_FEATURED":"Избрано","DISCOVER_TOP":"Топ","DISCOVER_OSCAR":"Носители на Оскар","DISCOVER_WARNING_TITLE":"Опа!","DISCOVER_EMPTY_CATALOG":"Тази добавка върна празно съдържание.","DISCOVER_ADULT_WARNING":"Това съдържание е достъпно само за възрастни. Имате ли навършени 18 години?","DISCOVER_NOADDON_WARNING":"Внимание: няма активна Stremio добавка за този тип съдържание. Тук виждате запазена информация, тя няма да се обнови.","DISCOVER_LOAD_ERR":"Съдържанието не може да се зареди. Възникна грешка.","DISCOVER_ADDON_UNINSTALLED":"Това съдържание вече не е достъпно. Може би добавката е премахната.","UNINSTALL_THIS_ADDON":"Деинсталирайте тази добавка","ERR_ADDON_NOT_INSTALLED":"Тази добавка не е инсталирана. Инсталиране?","DETAIL_RECEIVE_NOTIF_SERIES":"Получаване на известия за нови епизоди","DETAIL_RECEIVE_NOTIF_VIDEOS":"Получаване на известия за нови видеа","SIDEBAR_SHOW_STREAMS":"Показване на източниците","RELAUNCH":"Стартиране на новата версия!","UPGRADE":"Достъпна е нова версия","RELOAD_UI":"Презареждане на потребителският интерфейс","MANUAL_UPDATE_TITLE":"Обновете вашата версия на Stremio","MANUAL_UPDATE_LINE1":"Използвате стара версия на Stremio.","MANUAL_UPDATE_LINE2":"Моля обновете колкото се може по-скоро.","BUTTON_UPDATE_LATTER":"По-късно","BUTTON_UPDATE_NOW":"Обнови сега","ANONYMOUS_USER":"Анонимен потребител","DONT_HAVE_ACC":"Нямате акаунт?","HAVE_ACC":"Вече имате акаунт?","PASSWORD":"Парола","PASSWORD_CONFIRM":"Потвърждаване на паролата","EMAIL":"E-mail","FB_LOGIN":"Впишете се с Facebook","FB_NOTHINGSHARED":"Нищо не се споделя без ваше разрешение.","FB_NOPOST":"Ние няма да публикуваме нищо от ваше име","OR":"или","I_ACCEPT":"Прочетох и приемам","I_ACCEPT_BY_CLICKING":"Със натискането на бутона, се съгласявате, че приемате ","TOS":"Общите условия","MUST_ACCEPT_TERMS":"Вие трябва да се съгласите с условията","PASSWORDS_NOMATCH":"Паролите се различават","SIGN_UP":"Регистрирайте се","SIGN_UP_EMAIL":"Регистрирайте се с email","CLICK_TO_SIGN_UP":"Натиснете тук, за да се регистрирате.","LOG_IN":"Вход","LOG_OUT":"Отписване","EXIT_FULLSCREEN":"Излизане от цял екран","ENTER_FULLSCREEN":"Цял екран","PLAY_URL_MAGNET_LINK":"Пускане от URL/магнитна връзка","HELP_FEEDBACK":"Помощ и обратна връзка","TERMS_OF_SERVICE":"Условия за ползване","PRIVACY_POLICY":"Политика за поверителност","ABOUT_STREMIO":"За Stremio","USER_PANEL":"Потребителски панел","LOGIN_LABEL":"Вход","GUEST_LOGIN":"Вход като гост","GUEST_LOGIN_NOTICE":"Входът за гости не се препоръчва. Използването на редовно влизане позволява на Stremio да синхронизира библиотеката Ви, да получава известия за любими серии/канали. Сигурни ли сте, че искате да продължите?","GUEST_LOGIN_NOTICE_2":"Входът за гости не се препоръчва - няма да имате синхронизирани библиотеки и известия за табло, които са жизненоважни функции на Stremio. Сигурни ли сте, че искате да продължите?","CLICK_HERE":"Кликнете тук","WRONG_PASSWORD":"Грешна парола. В случай, че сте я забравили, ","SET_A_PASS":"Сложете ваша парола","RESET_PASSWORD":"Възстановяване на парола","FORGOT_PASSWORD":"Забравена парола?","EMAIL_USED_WITH_FB":"Този имейл е използван с Фейсбук логин.","INVALID_EMAIL":"Моля, въведете валиден email адрес","INVALID_PASSWORD":"Моля, въведете валидна парола","CONN_ERR":"Грешка при свързването - моля, опитайте отново по-късно.\\n\\nАко проблема продължава, изключете защитните стени/антивирусният софтуер (особено Bitdefender).","IMPORT_FROM_GUEST":"Импортиране на вашата Библиотека от входа за гости","RECEIVE_UPDATES_EMAIL":"Получавайте актуализации на вашият имейл от Stremio","LOGIN_FAILED":"Вписването се провали.","SIGNUP_FAILED":"Регистрацията се провали.","SEARCH_FAILED":"Търсенето се провали","EMAIL_USED":"Този имейл вече се използва.","WAITING_FB_LOGIN":"Вписване с Facebook...","EXTERNAL_PLAYER_TITLE":"Пускане във външен плеър","EXTERNAL_REMEMBER_PLAYER":"Искате ли да запомните вашият избор","EXTERNAL_ALWAYS_PLAY":"Да","EXTERNAL_ONLY_ONCE":"Не","BEST_FIT":"Най-добро побиране","FIT_SCREEN":"Побиране в екрана","FILL":"Запълване","16:9":"16:9","4:3":"4:3","Original":"Оригинал","INTRO_TASTE":"Кажете ни какво харесвате","INTRO_TASTE_LONG":"Кажете ни какво би Ви харесало да гледате","INTRO_TASTE_PICK":"Изберете {{interestsRemaining}} интереси","INTRO_TASTE_PICK_MORE":"Изберете {{interestsRemaining}} повече интереси","INTRO_TASTE_HELP_US":"Помогнете ни да научим повече за Вас.","INTRO_TASTE_CHOOSE_THESE":"Изберете някои от тези:","INTRO_TASTE_CHOOSE_MIN":"Изберете най-малко 3 категории","INTRO_TASTE_CHOOSE_MIN_ERR":"Трябва да изберете най-малко 3 категории!","INTRO_TASTE_LIFESTYLE":"Лайфстайл","INTRO_TASTE_SPORTS":"Спорт","INTRO_TASTE_FOOD_HEALTH":"Храна & Здраве","INTRO_TASTE_BEAUTY_FASHION":"Красота & Мода","INTRO_TASTE_NEWS":"Новини","INTRO_TASTE_GAMING":"Гейминг","INTRO_TASTE_SCIENCE_EDU":"Наука & Образование","INTRO_TASTE_MUSIC":"Музика","INTRO_TASTE_TRAVEL":"Пътуване","INTRO_TASTE_LATE_NIGHT":"Късно шоу","INTRO_TASTE_REALITY":"Реалити","INTRO_TASTE_COMEDY":"Комедия","INTRO_TASTE_DIY":"Направи сам","INTRO_TASTE_TECH":"Техника","INTRO_TASTE_CINEMA":"Кино","ADDON_NOT_SUPPORTED":"Избраната добавка не се поддържа на тази платформа.","ADDON_DISCLAIMER":"Използването на добавката от трети лица е ваша отговорност.","ADDON_ACTIVATE":"Активиране на тази добавка?","ADDON_REPO_ADD":"URL на хранилище за добавка","ADDON_ADD":"Добави добавка","INSTALL_ADDON":"Инсталирай добавка","ADD_ADDON":"Добавяне на добавка","ADD_ADDON_DESCRIPTION":"Вие можете да добавите добавка чрез външна връзка, която ще се появи под Инсталираните добавки.","PASTE_ADDON_URL":"Поставяне на URL на добавката","WHATS_NEW":"Какво ново?","BUTTON_CONTINUE":"Продължи","BUTTON_ACTIVATE":"Активирай","BUTTON_ACTIVATED":"Активирано","BUTTON_CANCEL":"Отказ","BUTTON_SUBMIT":"Изпращане","BUTTON_DISMISS_ALL":"Отхвърляне на всички","BUTTON_VIEW_ALL":"Разглеждане на всички","BUTTON_SEE_ALL":"Вижте всички","BUTTON_COLOR_TRANSPARENT":"Прозрачно","OPEN_IN_BROWSER":"Отваряне в браузър","LIB_EMPTY":"Библиотеката ви е празна. Открийте колко е полезна :) ","HOW_START":"Започнете така:","LIB_EMPTY_CAL":"Календарът показва епизоди от сериалите във вашата Библиотека.","HOW_START_CAL":"Ето как добавяте сериали:","LIB_EMPTY_BOARD":"Тук ще видите каталог от популярно съдържание, както и известия и препоръки, свързани с Библиотеката ви.","HOW_START_BOARD_WAIT":"Моля, добавете няколко канала/сериала и ни дайте няколко минути да съберем известия :)","HOW_START_BOARD":"Ето как добавяте филми и сериали в библиотеката:","IMPORT_FB":"Добавяне от <span>Facebook</span>","IMPORT_TRAKT":"Добавяне на вашата медийна библиотека от <span>Trakt</span>","IMPORT_DISCOVER":"Намерете интересни неща в <span>Откриване</span>","IMPORT_DISK":"Сканирайте за филми и сериали от вашия <span>локален диск</span>","PLEASE_CREATE_ACC":"Моля, <u>създайте акаунт</u>, за да използвате Библиотека и Табло.","IMPORT_DISCOVER_SIGNUP":"Регистрирайте се и намерете интересни неща в <span>Откриване</span>","IMPORT_DISK_SIGNUP":"Регистрирайте се и импортирате вашите филми или сериали от вашият <span>локален диск</span>","LIB_EMPTY_CLOUD":"Облачна библиотека","LIB_EMPTY_CLOUD_DESC":"Личната облачна библиотека, синхронизирана на всички устройства","LIB_EMPTY_EARLY":"Ранна птица","LIB_EMPTY_EARLY_DESC":"Получаване на известия за нови епизоди","LIB_EMPTY_PERSONAL":"Лична","LIB_EMPTY_PERSONAL_DESC":"Получавайте персонализирани препоръки","LIB_EMPTY_CALENDAR_DESC":"Планирайте личния си календар за гледане","LIB_EMPTY_ALL":"Регистрирайте се, за да получите всичко това:","LIB_EMPTY_BEST":"Регистрирайте се, за да получите най-доброто от Stremio","LIB_EMPTY_OTHER":"Регистрирайте се, за да включите Календар и други готини функции","CALENDAR_ADDED":"Календарът на Stremio беше добавен към настолния ви календар по подразбиране.","CALENDAR_ADDED_MSG":"Ако това не проработи, моля добавете този URL в вашият календар ръчно","TRAKT_EXPIRED":"Trakt удостоверяването е изтекло, моля, отидете в настройки и се удостоверете отново","TRAKT_REQUIRES_LOGIN":"Trakt грешка","TRAKT_REQUIRES_LOGIN_MSG":"Трябва да се впишете","TRAKT_IMPORT_WATCHED":"Внасяне","THEME":"Тема","THEME_DEFAULT":"Стандартна","THEME_ADAPTIVE":"Адаптивна","SETTINGS_LABEL":"Настройки","SETTINGS_NAV_GENERAL":"Общи","SETTINGS_NAV_PLAYER":"Плеър","SETTINGS_NAV_STREAMING":"Поточно предаване","SETTINGS_NAV_SHORTCUTS":"Преки пътища","SETTINGS_SHORTCUT_RELOAD_APP":"Презареждане на приложението","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Отваряне на Настройки","SETTINGS_SHORTCUT_SWITCH_TABS":"Сменяне на разделите","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Преминаване през разделите напред","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Преминаване през разделите назад","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Навигация между менютата","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Търсене","SETTINGS_SHORTCUT_EXIT_BACK":"Изход / Назад","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Меню за скорост на плейбека","SETTINGS_SHORTCUT_MENU_VIDEOS":"Меню Видеа","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Меню Субтитри","SETTINGS_SHORTCUT_MENU_INFO":"Меню Информация","SETTINGS_SHORTCUT_FULLSCREEN":"Цял екран","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Показване на контролите","SETTINGS_SHORTCUT_PLAY_PAUSE":"Пусни / Пауза","SETTINGS_SHORTCUT_VOLUME_UP":"Увеличаване на звука","SETTINGS_SHORTCUT_VOLUME_DOWN":"Намаляне на звука","SETTINGS_SHORTCUT_SEEK_NEXT":"Превъртане на следващ","SETTINGS_SHORTCUT_SEEK_PREV":"Превъртане на предишен","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Превъртане назад","SETTINGS_SHORTCUT_SEEK_FORWARD":"Превъртане напред","SETTINGS_SHORTCUT_PLAY_NEXT":"Пускане на следващ","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Увеличаване на размера на субтитрите","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Намаляване на размера на субтитрите","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Увеличаване на забавянето на субтитрите","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Намаляване на забавянето на субтитрите","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Странична лента","SETTINGS_SHORTCUT_OR":"или","SETTINGS_SHORTCUT_TO":"до","SETTINGS_SHORTCUT_SPACE":"Интервал","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Удостоверяване","SETTINGS_FACEBOOK_IMPORT":"Импортиране","SETTINGS_CALENDAR_SUBSCRIBE":"Абониране","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Език на интерфейса","SETTINGS_LAUNCH_STARTUP":"Зареждане при стартиране на компютъра","SETTINGS_VLC_DEFAULT":"Пускане във VLC","SETTINGS_UI_LANGUAGE":"Език на потребителският интерфейс","SETTINGS_UI_ZOOM":"Увеличаване на интерфейса","SETTINGS_FULLSCREEN_EXIT":"Бутона Esc изключва цял екран","SETTINGS_GAMEPAD":"Включване на подръжка за геймпад","SETTINGS_CLOSE_WINDOW":"Затваряне на приложението, когато прозореца е затворен","SETTINGS_SUBTITLES_LANGUAGE":"Език на субтитрите по подразбиране","SETTINGS_SUBTITLES_SIZE":"Размер на субтитрите по подразбиране","SETTINGS_SUBTITLES_BACKGROUND":"Фон на субтитрите","SETTINGS_SUBTITLES_COLOR":"Цвят на субтитрите","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Цвят на очертанията на субтитрите","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Цвят на фона на субтитрите","SETTINGS_SEEK_KEY":"Време за превъртане, когато превъртате със стрелките","SETTINGS_SEEK_KEY_SHIFT":"Време за превъртане, когато превъртате със стрелките и бутона Shift е задържан","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Времетраене на превъртането напред или назад","SETTINGS_BINGE":"Автом. пускане на следващият епизод","SETTINGS_NEXT_VIDEO":"Показване на известието, за да започнете следващия епизод","SETTINGS_NEXT_VIDEO_TRIGGER":"Показване на известието за следващ епизод за:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Продължителност на известието за следващо видео","SETTINGS_PLAY_IN_BACKGROUND":"Пусни на заден фон","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Пусни във външен плейър","SETTINGS_RESIZE":"Автоматично преоразмеряване на прозореца преди пускане","SETTINGS_OVERRIDE_SERVER":"Заобикаляне на URL на сървъра за поточно предаване (разширено)","SETTINGS_SERVER_URL":"URL на сървър за поточно предаване: ","SETTINGS_SERVER_AVAILABLE":"Сървъра за поточно предаване е достъпен.","SETTINGS_SERVER_UNAVAILABLE":"Сървъра за поточно предаване не е достъпен.","SETTINGS_SERVER_STATUS_ONLINE":"Онлайн","SETTINGS_SERVER_STATUS_ERROR":"Грешка","SETTINGS_SERVER_CONFIGURE_TITLE":"Конфигурирайте url на сървъра за поточно предаване","SETTINGS_SERVER_CONFIGURE_INPUT":"Въведете url на сървъра за поточно предаване","SETTINGS_SERVER_CACHE_SIZE":"Размер на кеша","SETTINGS_SERVER_TORRENT_PROFILE":"Торент профил","SETTINGS_HTTPS_ENDPOINT":"HTTPS за поточно предаване на крайната точка: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Ползване винаги на последната Beta","SETTINGS_IMPORT_FB":"Импортиране от Facebook","SETTINGS_IMPORT_DISK":"Импортиране от локален диск","SETTINGS_IMPORT_TRAKT":"Импортиране от Trakt","SETTINGS_PAUSE_MINIMIZED":"Пауза на плейбекa при минимализиране","SETTINGS_HWDEC":"Хардуерно ускорено декодиране","SETTINGS_BACKGROUND":"Пускане на заден фон","SETTINGS_SUBSCRIBE_CALENDAR":"Абонирайте се за календара","SETTINGS_REQ_EXPORT":"Заявка за експорт на данните","SETTINGS_ACC_DELETE":"Заявка за изтриване на акаунта","SETTINGS_CHANGE_PASSWORD":"Промяна на парола","SETTINGS_TOS":"Условия за ползване","SETTINGS_SUPPORT":"Поддръжка","SETTING_LANGUAGE":"Език","SETTINGS_TRAKT":"Trakt Записване&Препоръки","SETTINGS_TRAKT_LOGOUT":"Изход от Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Изход от Trakt","SETTINGS_SCAN_FOR_REMOTE":"Сканирайте QR кода, за да отворите дистанционното управление","SETTINGS_DESKTOP_NOTIFICATIONS":"Известия на работния плот","SETTINGS_DATA_SAVER":"Икономия на данни","SETTINGS_LANGUAGE_INTERFACE":"интерфейс","SETTINGS_LANGUAGE_SUBS":"Субтитри по подразбиране","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Автоматично избиране на аудио","SETTINGS_DEFAULT_AUDIO_TRACK":"Аудио по подразбиране","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"акаунт","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"версия","SETTINGS_ABOUT":"Относно","SETTINGS_MPV_WINDOW":"Стартиране на плеъра в отделен прозорец (разширено)","SETTINGS_PLAY_IN_EXTERNAL":"Старт. на видеото винаги в външен плеър","SETTINGS_STORAGE_BUTTON":"Изчистване на локалните данни","SETTINGS_STORAGE_MODAL_TITLE":"Сигурни ли сте?","SETTINGS_STORAGE_MODAL_MESSAGE":"Това ще изтрие локалните данни и ще ви отпише.","SETTINGS_HWDEC_PICKER":"Изберете настройката за декодиране, ускорена с хардуер","SETTINGS_HW_AUTOMATIC":"Автоматично","SETTINGS_HW_DISABLED":"Изключено","SETTINGS_HW_ACCELERATED":"Ускорение на декодирането","SETTINGS_HW_FULL":"Пълно ускорение","SETTINGS_HW_LEGACY":"Наследяване","SETTINGS_DISABLED":"Деактивирано","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Известие за мрежова връзка","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Отдалечен URL","SETTINGS_COPY_REMOTE_URL":"Копитай отдалечения URL","SETTINGS_REMOTE_URL_COPIED":"Отдалечения URL беше копиран в клипборда","SETTINGS_SECTION_SUBTITLES":"Субтитри","SETTINGS_SECTION_AUDIO":"Аудио","SETTINGS_SECTION_CONTROLS":"Контроли","SETTINGS_SECTION_AUTO_PLAY":"Автоматичен плейбек","SETTINGS_SECTION_ADVANCED":"Разширени","SUBSPICKER_AUDIO":"Аудио","SUBSPICKER_SUBTITLES":"Добавки за субтитри","SUBSPICKER_BLACK_BACKGROUND":"Използване на черен цвят за заден фон","SUBSPICKER_VERTICAL_OFFSET":"Вертикално отместване","SUBSPICKER_SIZE":"Размер","SUBSPICKER_DELAY":"Забавяне","SUBSPICKER_EMBEDDED_SUBS":"Вградени субтитри","MOBILE_PRIVACY_POLICY":"Политика за поверителност","MOBILE_CRASH_REPORTING":"Доклади за грешки","MOBILE_ZOOM_TO_FILL":"Мащабиране до пълен екран","MOBILE_PASSTHROUGH":"Цифров аудио изход (пропускане)","MOBILE_RUN_LOW_BATTERY":"Изпълнение при изтощена батерия","MOBILE_RUN_FOREGROUND":"Изпълнение като услуга на преден план","MOBILE_PERFORMANCE":"ПРОИЗВОДИТЕЛНОСТ и СТАБИЛНОСТ","MOBILE_SERVER_ONLINE":"Онлайн","MOBILE_SERVER_OFFLINE":"Офлайн","MOBILE_QR_EXPIRES":"QR кода ще изтече след ","MOBILE_LOG_INTO":"Вписване във вашият Stremio акаунта ","MOBILE_SCAN_QR":"Сканирайте QR кода по-горе или отидете на ","MOBILE_LINK_ACCOUNT":"Свързване на акаунта","MOBILE_SPEEDPICKER_CANCEL":"Отказ","MOBILE_SPEEDPICKER_LABEL":"Изберете скорост на плейбека","MOBILE_EMPTY_LIBRARY":"Вашата библиотека е празна","MOBILE_NO_ADDON_ACTIVE":"Няма активна Stremio добавка за този тип.","MOBILE_ORGANIZER_WARNING":"Приложението Stremio Organizer осигурява ограничена функционалност. За списък на възпроизвеждаемите източници и за пълно Stremio изживяване, използвайте Stremio за работен плот.","MOBILE_ADDON_LOADING":"все още се зарежда","MOBILE_ADDONS_LOADING":"добавките все още се зареждат","MOBILE_ADDON":"Добавка","MOBILE_CONFIGURE_ADDON":"Конфигуриране на вашата добавка","MOBILE_CONFIGURE_ADDON_LABEL":"Конфигуриране на добавка","MOBILE_ORGANIZER_ADDONS_WARNING":"Приложението Stremio Organizer осигурява ограничен избор на добавки. За пълно Stremio изживяване, използвайте Stremio за работен плот.","MOBILE_DISCONNECT":"Прекъсване на връзката","MOBILE_LOOKING_FOR_DEVICES":"Търсене на устройства...","MOBILE_CAST_TO":"Предаване на","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Изтриване на акаунт","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Изтриването на акаунта не е незабавно поради законови задължения. След като поискате изтриване на акаунта си, ще трябва да използвате различен имейл адрес/профил във Facebook, за да създадете нов акаунт в Stremio в бъдеще.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Потвърдете изтриването на акаунта","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Вашият акаунт е създаден с помощта на Facebook. За да изтриете акаунта си, моля, използвайте нашия потребителски портал на адрес www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Моля, предоставете паролата си, за да потвърдите изтриването на акаунта.","MOBILE_DELETE_ACCOUNT_BUTTON":"Изтриване на акаунт","NAVIGATION_ON":"Включено","NAVIGATION_OFF":"Изключено","MARKETING_AGREE":"Съгласен съм да получавам маркетингови комуникации от Stremio","QUIT":"Спиране","CONNECTED":"Свързано","AUTHENTICATE":"Оторизация","CACHING":"Кеширане","SETTINGS_CACHING_DRIVE":"Изберете диск за кеш","ENABLE_LOCAL_FILES_ADDON":"Активирайте добавката за локални файлове (изисква рестартиране)","LOCAL_ADDON_NOT_ENABLED":"Локалната добавка не е активирана. Клекнете тук за да отидете в настройките и да я активирате","ENABLE_REMOTE_HTTPS_CONN":"Включване на отдалечени HTTPS връзки","TORRENT_PROFILE":"Торент профил","DATA_CACHING":"Кеширане на данните","MAGNET_PARSING":"Анализиране на магнитна връзка","January":"Януари","February":"Февруари","March":"Март","April":"Април","May":"Май","June":"Юни","July":"Юли","August":"Август","September":"Септември","October":"Октомври","November":"Ноември","December":"Декември","Monday":"Понеделник","Tuesday":"Вторник","Wednesday":"Сряда","Thursday":"Четвъртък","Friday":"Петък","Saturday":"Събота","Sunday":"Неделя","Action":"Екшън","Comedy":"Комедия","War":"Военен","Family":"Семейни","Animation":"Анимация","Adventure":"Приключенски","Fantasy":"Фентъзи","Crime":"Криминални","Mystery":"Мистерия","Romance":"Романтични","Drama":"Драма","Horror":"Ужаси","Thriller":"Трилър","Sci-Fi":"Научна фантастика","Music":"Музикален","Biography":"Биографичен","Documentary":"Документален","Sport":"Спорт","Musical":"Мюзикъл","Western":"Уестърн","Film-Noir":"Филм ноар","News":"Новини","History":"Исторически","Game-Show":"Гейм-шоу","Reality-TV":"Риалити","Talk-Show":"Токшоу","Film & Entertainment":"Филм и забавление","Gaming":"Гейминг","From TV":"От телевизията","Lifestyle":"Лайфстайл","Science & Education":"Наука и Образование","Cooking & Health":"Готвене и Здраве","Beauty & Fashion":"Красота и Мода","Sports":"Спорт","News & Politics":"Новини и Политика","How-to & DIY":"Как да и Направи си сам","Tech":"Техника","Automotive":"Автомобил","Causes & Non-Profits":"Каузи и Нестопански цели","Movies":"Филми","Uk Live Tv":"ТВ на живо от Обединеното Кралство","Fashion":"Мода","Business News Radio":"Бизнес новини радио","Business Tv":"Бизнес телевизия","Cars & Auto":"Автомобили","Comedy Radio":"Комедийно радио","Lifestyle Radio":"Лайфстайл радио","News Tv":"Новинарска телевизия","Food And Wine":"Храна и Вино","Latino Tv":"Латино ТВ","Shopping Tv":"Шопинг ТВ","Religion":"Религия","Kids":"Деца","Body & Soul":"Душа и тяло","Education":"Образование","Indian Tv":"Индийска ТВ","Extreme Sports":"Екстремни спортове","Middle Eastern Tv":"ТВ от Близкият Изток","Celebrity Tv":"Телевизия за звезди","Science Tv":"Научна ТВ","Bikini babe":"Бикини бейби","Outdoors":"На открито","German Tv":"Немска ТВ","French Tv":"Френска ТВ","Italian Tv":"Италианска ТВ","Gamer Tv":"Гехмърска ТВ","Travel":"Пътуване","Asian Tv":"Азиатска ТВ","Entertainment":"Развлечение","News Radio":"Новинарско радио","Music Radio":"Музикално радио","Language Learning":"Изучаване на езици","Science Radio":"Научно радио","Tech Radio":"Радио за технологии","Science & Technology Vod":"Наука и Технологии VOD","new video":"ново видео","new episode":"нов епизод","new movie":"нов филм","recommended":"препоръчано","we recommend":"Ние препоръчваме","offer of the day":"оферта на деня","news":"новини","music video":"музикално видео","CTX_SHOW_HOTKEYS":"Показване на клавишни комбинации","CTX_DISMISS_NOTIF":"Премахни известия","CTX_DISMISS_ALL":"Премахни всички","CTX_SHARE":"Сподели","CTX_COPY_SHARE_LINK":"Копирай връзка за споделяне","CTX_COPY_MAGNET_LINK":"Копиране на магнитна връзка","CTX_COPY_STREAM_LINK":"Копиране на връзка за поточно предаване","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Изтегляне на това видео","CTX_DOWNLOAD_SUBS":"Изтегляне на субтитри","CTX_VIEW_ON_YOUTUBE":"Преглед в YouTube","CTX_SHOW":"Покажи","CTX_PLAY":"Гледай","CTX_PLAY_IN":"Гледай в","CTX_PLAY_ON":"Гледай на","CTX_WATCH_ON":"Гледай на","CTX_WATCH":"Гледай","CTX_WATCHED":"Гледано","CTX_WATCH_BEGINNING":"Гледай от началото","CTX_WATCH_MOBILE":"Гледай на мобилно устройство","CTX_REWIND":"Превърти до началото","CTX_MARK_WATCHED":"Маркирай като гледано","CTX_MARK_NON_WATCHED":"Маркирай като негледано","CTX_MARK_UNWATCHED":"Маркиране като негледано","CTX_MARK_REST":"Маркиране на останалите като гледани","CTX_UNMARK_REST":"Маркиране на останалите като негледани","CTX_RECEIVE_NEW_NOTIF":"Получавай нови известия","CTX_ENABLE_NEW_NOTIF":"Активирай известията","CTX_DISABLE_NEW_NOTIF":"Деактивирай известията","CTX_REMOVE_CACHE":"Премахни от кеша","CTX_REMOVE_CACHE_EP":"Премахни епизод от кеша","CTX_OPEN_CONTAINING":"Отвори папка","CTX_REMOVE":"Премахни от библиотеката","CTX_AVAILABLE_OFFLINE":"Достъпно офлайн","CTX_PAUSED":"Пауза","CTX_ALWAYS_ON_TOP":"Винаги отгоре","CTX_FULLSCREEN":"Цял екран","CTX_WRONG_SUBS":"Грешни субтитри?","CTX_REPORT_ISSUES":"Докладвай проблем","CTX_COPY":"Копирай","CTX_PASTE":"Постави","CTX_CLEAR":"Изчисти","CTX_CLEAR_RECENT_SEARCHES":"Изчисти последни търсения","HELLO_THERE":"Здравейте","HOPE_YOU_ENJOY":"Надяваме се, че харесвате Stremio и вече е едно от любимите Ви приложения!","WHO_ARE_WE":"Кои сме ние? Ние сме двама и работихме усилено всеки ден в последните 3 години, за да подобряваме този продукт.","SUPPORT_US":"Ако продуктът ни ви е полезен и ви прави щастливи, подкрепете ни!","SPREAD_THE_WORD":"Споделете с приятелите си, разгласете Stremio","MORE_PEOPLE":"Колкото повече хора ползват Stremio, толкова по-добро ще става!","SEND_A_LINK":"Или изпратете връзка към уебсайта","TIP_LOCALFILES":"Съвет: можете да плъзнете и пуснете локални видео файлове в Stremio","ADDON_MY":"Моите добавки","ADDON_COMMUNITY":"Неофициални добавки","ADDON_OFFICIAL":"Официални добавки","ADDON_REPOS":"Хранилища за добавки","ADDON_SEARCH":"Търсене на добавки","ADDON_INSTALL":"Инсталиране","ADDON_CONFIGURE":"Конфигуриране","ADDON_UNINSTALL":"Деинсталиране","ADDON_UPGRADE":"Актуализиране","ADDON_INSTALLED":"Инсталирано","ADDON_INSTALLED_MSG":"Добавката е инсталирана!","ADDON_UPGRADED_MSG":"Добавката е актуализирана!","ADDON_UNKNOWN":"Неизвестно","ADDON_ERR":"Грешка при инсталиране на добавката!","ADDON_DISCONNECTED":"Прекъснат","ADDON_APP_MISSING":"Приложението за този източник не е инсталирано. Искате ли да го инсталирате сега?","ADDON_APP_INSTALL":"Инсталиране сега","ADDON_PAGE":"Страница на добавката","ADDON_TOP_CONTENT":"Най-доброто от тази добавка","ADDON_PROVIDES":"предоставя","ADDON_WATCH":"Гледай #{types} сега!","ADDON_WATCH_FREE":"Гледай #{types} БЕЗПЛАТНО сега!","ADDON_ADDON":"Добавка","ADDON_SUPPORTED_TYPES":"Подържани типове","ADDON_SUPPORTED_CATALOGS":"Подържани каталози","ADDON_PROVIDES_DISCOVER":"Повече #{types} в Откриване","ADDON_PROVIDES_STREAMS":"Гледай #{types}","ADDON_PROVIDES_STREAMS_FREE":"Гледай #{types} БЕЗПЛАТНО","ADDON_PROVIDES_SUBTITLES":"Субтитри за #{types}","ADDON_CANTDETECT":"Не успяхме да засечем работещ Stremio, затова не можем да засечем кои добавки са инсталирани.","ERR_NO_META":"Не е намерена информация относно това ","ERR_GETTING_META":"Грешка при получаването на информация относно това.","ERR_CANT_PARSE_MAGNET":"Невъзможно е да се анализира този magnet","ERR_NO_MAGNET_INFOHASH":"Няма валиден info hash за този magnet","ERR_NO_FILE_PATH":"Не може да се изпрати заявка без път към файл","ERR_NO_TORRENT":"Няма отговор от торента","ERR_NO_SUPPORTERD_FILES":"Не са открити поддържани файлове","ERR_OPENING_FILES":"Не могат да се отворят външните файлове","ERR_INVALID_LINK":"Невалидна връзка","ERR_REGISTERED_ONLY":"Тази опция е налична само за регистрирани потребители.","ERR_CLIPBOARD":"Не може да се възпроизведе от клипборда","ERR_CLIPBOARD_READ":"Не може да се прочете клипборда на тази платформа","ERR_CLIPBOARD_GENERIC":"В клипборда не е намерен URL за възпроизвеждане. Моля, копирайте URL (напр. магнитна връзка) към видеото.","BOARD_CONTINUE_WATCHING":"Продължи да гледаш","BOARD_EXPLANATION_RECOMMENDATIONS":"Филми, подбрани специално за вас.<br />Този филм е примерна препоръка.","BOARD_EXPLANATION_EPISODES":"Нови епизоди от любимите Ви сериали идват тук.<br />Добавете сериали, които следвате към вашата библиотека.","BOARD_EXPLANATION_VIDEOS":"Нови епизоди от любимите Ви канали идват тук.<br />Добавете YouTube канали, които следвате към вашата библиотека.","WEBSITE_ENJOYED_BY":"Харесано от повече от 30 милиона потребители по целия свят","WEBSITE_STREAMING_ENHANCED":"Поточното предаване е подобрено","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio предлага сигурно, модерно и безпроблемно забавление. Със своя лесен за използване интерфейс и разнообразна библиотека със съдържание, включително 4K HDR поддръжка, потребителите могат да се насладят на любимите си филми и телевизионни предавания на всички свои устройства. И със своя ангажимент към сигурността, Stremio е най-добрият избор за безгрижно, висококачествено изживяване на поточното предаване.","WEBSITE_AVAILABLE_ON":"Достъпно на","WEBSITE_WATCH_AND_ENJOY":"Гледай и се наслаждавай.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio го прави лесно като детска игра","WEBSITE_ALL_FEATURES":"Всички функции","WEBSITE_EASY_TO_USE":"Лесен за използване","WEBSITE_EASY_TO_USE_DETAILS":"Stremio е проектиран да бъде удобен за потребителя и лесен за използване. Със своя чист и интуитивен интерфейс можете лесно да се ориентирате и да намерите съдържанието, което искате да гледате.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Безпроблемно между устройства","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Предлага се за широка гама от платформи (вкл. Windows, Mac, Linux, Android и други), Stremio ще следи напредъка Ви във всичките Ви устройства. Просто влезте и продължете да гледате, без да се налага да конфигурирате приложението отново на всяко ново устройство.","WEBSITE_ALL_DOWNLOADS":"Всички изтегляния","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"Подръжка на видео във висока резолюция","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"Интегриран видео плейър, поддържащ повечето видео формати, включително 4K HDR съдържание, Ви позволява да се наслаждавате на най-високото качество на разположение.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Разнообразна библиотека със съдържание","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio се интегрира с голям брой популярни видео източници, като Netflix, Amazon Prime Video, Hulu, YouTube и много други.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Създайтe безплатен акаунт","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Персонализирано изживяване при гледане","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio ви позволява да персонализирате външния вид и усещането на интерфейса, като промените темата, добавяте или премахвате добавки и други.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Многоезична поддръжка на субтитри","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"Вече можете да се насладите на цялото любимо съдържание на предпочитания от вас език, тъй като Stremio поддържа субтитри на всички езици.","WEBSITE_ALL_STREMIO_FEATURES":"Всички Stremio функции","WEBSITE_TRY_STREMIO_TITLE_P1":"Опитайте Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"На вашият телевизор сега","WEBSITE_YOU_CAN_NOW_WATCH":"Вече можете да гледате всички любими телевизионни предавания на вашите Android TV устройства. Приложението за телевизия Stremio ви позволява да се наслаждавате на филмова вечер с лекота.","WEBSITE_YOU_CAN_NOW_WATCH_2":"Вече можете да гледате всички любими телевизионни предавания на вашия Smart TV или Android TV. Приложенията на Stremio TV ви позволяват да се наслаждавате на филмова нощ с лекота.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio за Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Вероятно най-доброто и най-полезно приложение, което имате във вашето устройство. Това е едно от приложенията, които използвам ежедневно, особено на моя Android TV вече много години. Добре направено със силна общност, осигуряващо полезни функционалности. Много добре. Продължавай с добрата работа.","WEBSITE_REVIEWS":"отзиви","WEBSITE_GET_STREMIO_FOR_FREE":"Вземете Stremio Безплатно","WEBSITE_GET_STREMIO_NOW":"Вземете Stremio Сега","WEBSITE_STREMIO_FEATURES":"Stremio функции","WEBSITE_STREMIO_FEATURES_DETAILS":"Предавайте поточно като професионалист с усъвършенстваните функции на Stremio и се наслаждавайте на безпроблемен достъп до всичките си любими медии","WEBSITE_DISCOVER_MORE":"Открийте още.","WEBSITE_DISCOVER_MORE_DETAILS":"Никога не изчерпвайте нещата за гледане","WEBSITE_COMMUNITY_DRIVEN":"Задвижван от общността","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio има голяма и активна общност от потребители, които допринасят за развитието на софтуера чрез създаване и споделяне на добавки.","WEBSITE_GET_INVOLVED":"Включете се","WEBSITE_NEW_THEATER_EXPERIENCE":"Ново кино изживяване","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Новото специализирано телевизионно приложение Stremio ви позволява да се насладите на филмова вечер на вашите Android TV устройства.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Новите специализирани телевизионни приложения на Stremio ви позволяват да се наслаждавате на филмова вечер на вашите устройства за смарт телевизори или Android TV.","WEBSITE_FREE_AND_SECURE":"Безплатно и Сигурно","WEBSITE_STREAMING":"Поточно предаване","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio предлага несравнима сигурност и поверителност за потребителите. Със своята уникална характеристика на пускането на добавки дистанционно, Stremio осигурява по-безопасен начин за предаване на любимото ви съдържание в сравнение с други платформи. Вашата сигурност и поверителност са основни приоритети и платформата гарантира, че всички ваши данни са защитени.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Кажете сбогом на притесненията относно сигурността и личния живот и поздравете света на безкрайните забавления със Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Информацията е предоставена от","WEBSITE_CONTRIBUTE":"Допринесете","WEBSITE_CONTRIBUTE_DESC":"Допринесете за проекта и ни помогнете да направим Stremio още по-добър","WEBSITE_COMMUNITY_DESC":"Ние вярваме, че най-добрият начин да създадете наистина невероятно изживяване на поточното предаване е като включите нашата общност в процеса. Независимо дали сте програмист, художник или просто фен - можете да помогнете на Stremio да расте.","WEBSITE_COMMUNITY_DESC_2":"Затова се присъединете към нас днес и станете част от общността на Stremio и продължете да оформяте бъдещето на поточното предаване.","WEBSITE_WAYS_TO_GET_INVOLVED":"Начини да се включите","WEBSITE_IN_THE_STREMIO_COMMUNITY":"в общността на Stremio","WEBSITE_SHARE_YOUR_THOUGHTS":"Споделете вашите мисли","WEBSITE_REPORT_BUGS":"Докладвайте грешки","WEBSITE_SUGGEST_FEATURES":"препоръчайте функции","WEBSITE_AND_PROVIDE_FEEDBACK":"и предоставяйте отзиви в нашите канали за социални медии.","WEBSITE_BETA_TESTING_PROGRAM":"Програма за бета тестване","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Участвайте в нашата програма за бета тестване (ние изпращаме покани редовно) в общността на Stremio.","WEBSITE_JOIN_NOW":"Включи се сега!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Официални общности на Stremio","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Неофициални общности на Stremio","WEBSITE_BECOME":"Станете","WEBSITE_A_VOLUNTEER_TRANSLATOR":"доброволен преводач","WEBSITE_ARE_YOU_A_DEVELOPER":"Програмист ли сте?","WEBSITE_CONTRIBUTE_CODE":"Можете да допринесете с код за нашите проекти с отворен код. Имаме няколко проекта в GitHub, които търсят сътрудници. Ако се интересувате да помогнете, вижте ги:","WEBSITE_STREMIO_ON_GITHUB":"Stremio в GitHub","WEBSITE_CREATE_ADDON_DESC":"Създайте добавка за подобряване на функционалността на Stremio (имаме лесен за използване API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"Ние също така предоставяме възможност да се присъедините към нас като стажант програмист, за да можем да растем заедно.","WEBSITE_APPLY_AS_AN_INTERN":"Кандидатствай като стажант","WEBSITE_CALLING_ALL_ARTISTS":"Обръщаме се към всички артисти!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Покажете своята креативност и любов към Stremio, като качите вашето фен изкуство в нашата онлайн галерия. Независимо дали става въпрос за рисунка, картина или дигитален дизайн, ние искаме да видим вашия уникален поглед върху марката Stremio. Присъединете се към нашата общност от ентусиасти на изкуството и споделете работата си с други фенове на Stremio по целия свят.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Галерия","WEBSITE_INTERN_DESIGNER":"Станете част от нашия екип и поставете творчеството си на нови висоти с нашите вълнуващи възможности за стаж.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Проект за филми за публично достояние","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"Ние в Stremio се ангажираме да запазим историята на филма и телевизията, като идентифицираме обществено достояние и осиротели видеоклипове. Като работим заедно с нашата общност, можем да гарантираме, че тези класически произведения на изкуството са достъпни за всеки и защитени, за да могат да се наслаждават на бъдещите поколения.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Чувствайте се свободни да се свържете с нас, ако искате да се включите в този проект.","WEBSITE_JOIN_THE_PROJECT":"Включете се в проекта","WEBSITE_BE_PART_OF_OUR_MISSION":"Бъдете част от нашата мисия","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Интересувате ли се да се присъедините към екипа на Stremio? Ние предлагаме напълно отдалечена работа за страстни професионалисти. Вижте нашите отворени позиции.","WEBSITE_OPEN_POSITIONS":"ОТВОРЕНИ ПОЗИЦИИ","WEBSITE_DESCRIPTION":"ОПИСАНИЕ","WEBSITE_LEARN_MORE":"Научете повече","WEBSITE_COMPANY":"Компанията","WEBSITE_CONTACTS":"Контакти","WEBSITE_NEED_HELP":"Нуждате се от помощ?","WEBSITE_STREMIO_WEB_ON_IOS":"Ръководство за Stremio Web за iOS","WEBSITE_LINK_ART_V2":"Fanart Галерия","WEBSITE_PARTNERS":"Партньори","WEBSITE_SLOGAN_WATCH":"Гледайте незабавно","WEBSITE_SLOGAN_ALL":"Цялото видео съдържание, на което може да се насладите на едно място","WEBSITE_SLOGAN_NEW":"Всичко, което може да гледате","WEBSITE_SLOGAN_NEW_NEW":"Свободата да стрймваш","WEBSITE_WATCH_FROM":"Гледане от","WEBSITE_DOWNLOAD":"Изтегляне сега","WEBSITE_DOWNLOAD_FOR":"Изтегляне сега за","WEBSITE_IS_DESKTOP":"Stremio е приложение за компютър, отворете тази страница на вашия компютър и го изтеглете","WEBSITE_DESKTOP_DEMO_VID":"Desktop демо","WEBSITE_PAGE_HOME":"Начало","WEBSITE_PAGE_FEATURES":"Функции","WEBSITE_PAGE_ADDONS":"Добавки","WEBSITE_PAGE_TECH":"Технология","WEBSITE_PAGE_CREATE_ADDON":"Създаване на добавка","WEBSITE_PAGE_CONTACTS":"Контакти","WEBSITE_PAGE_BLOG":"Блог","WEBSITE_RESET_PASSWORD_MESSAGE":"Моля, въведете желаната нова парола по-долу.","WEBSITE_RESET_PASSWORD_WARNING":"Сигурни ли сте, че искате да нулирате паролата за ${1}?","WEBSITE_TYPE_movie":"Филми","WEBSITE_TYPE_series_PL":"Сериали","WEBSITE_TYPE_tv":"ТВ на живо","WEBSITE_TYPE_channel":"Канали","WEBSITE_STREMIO_WHAT_IS":"Stremio е приложение, което ви помага да организирате и незабавно да гледате любимите си видеоклипове, филми, ТВ сериали и ТВ канали..","WEBSITE_FEATURES_WATCH":"Гледайте без чакане в HD","WEBSITE_FEATURES_WATCH_DETAIL":"Кликнете и пуснете любимите си Филми, ТВ сериали, видеоклипове и ТВ канали.","WEBSITE_FEATURES_SUBS":"Автоматични субтитри","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio автоматично избира синхронизирани субтитри за вашия език.","WEBSITE_FEATURES_SUBS_LABEL":"Вие сте на ход, шефе.","WEBSITE_FEATURES_CAST":"Пусни на ТВ & мобилни устройства","WEBSITE_FEATURES_CAST_DETAIL":"Прехвърляй към AppleTV, Chromecast, Smart TV (DLNA/UPnP) и мобилни устройства.","WEBSITE_LIB":"Насладете се на личната си библиотека, синхронизирана на всички ваши устройства","WEBSITE_LIB_COLLECT":"Съберете от Stremio","WEBSITE_LIB_IMPORT":"Импортиране от Facebook","WEBSITE_LIB_LOCAL":"Добавяне от вашето локално устройство","WEBSITE_BOARD":"The Board - Вашето единствено място за известия и препоръки","WEBSITE_BOARD_RECOMMEND":"Препоръчани ТВ сериали","WEBSITE_BOARD_TRENDING":"Популярен филм","WEBSITE_BOARD_NEW":"Ново видео","WEBSITE_BOARD_EPISODE":"Нов епизод","WEBSITE_BOARD_1":"Търсите нещо интересно за гледане? Получете препоръки въз основа на вашия вкус!","WEBSITE_BOARD_2":"Получете уведомление, когато е излязъл нов епизод на любимото ви телевизионно предаване или YouTube канал!","WEBSITE_BOARD_YOUTUBE":"Нови видеоклипове на YouTube канали","WEBSITE_BOARD_EPISODES":"Нови епизоди от сериали, които следвате","WEBSITE_ADDONS":"Добавки за съдържание","WEBSITE_TECH_DETAIL":"Ние обичаме технологията, обичаме лудата наука!\\nStremio използва следните технологии с отворен код:","WEBSITE_TECH_WCJS":"WebChimera.js позволява на Stremio да пуска всеки видео формат с добра производителност.","WEBSITE_TECH_WCJS_EXTRA":"Ние сме основни сътрудници на проекта","WEBSITE_TECH_ELECTRON":"Electron осигурява иновативна платформа за изграждане на Stremio.","WEBSITE_TECH_ELECTRON_EXTRA":"Ние сме сътрудници на проекта","WEBSITE_TECH_LINVODB":"Технология на база данни, която гарантира, че вашите данни са организирани и достъпни навсякъде, където влезете.","WEBSITE_TECH_LINVODB_EXTRA":"Вътрешна технология","WEBSITE_CREATE_ADDON":"Създайте ваша добавка","WEBSITE_CREATE_ADDON_DETAIL":"Имате ли услуга, предоставяща видео съдържание? Ще ви помогнем да се възползвате от функциите на Stremio, като създадем ваша добавка.","WEBSITE_CREATE_ADDON_BENEFITS":"Ползи от създаването на добавка за Stremio","WEBSITE_P2P_BEAUTY":"Красотата на поточното предаване Peer-to-Peer","WEBSITE_P2P_1":"Надеждно и достъпно пълно HD / 4K видео при поискване или поточно предаване на живо","WEBSITE_P2P_2":"Платформа за разпространение, осигуряваща страхотно потребителско изживяване","WEBSITE_P2P_3":"Ще създадем добавка, отговаряща на вашите точни нужди","WEBSITE_P2P_CONTACT":"Заинтересовани ли сте? Добре дошли сте на <a href=\'mailto:office@stremio.com\'>където да ни пишете</a>.","WEBSITE_P2P_CONTACT_EXTRA":"Ще се радваме да ви помогнем да интегрирате съдържанието си със Stremio!","WEBSITE_P2P":"От време на време идва технология, която променя правилата на играта. Инвестирахме тонове време и усилия в изграждането на нашия двигател за видео поточно предаване (P2P), който осигурява страхотна производителност и гъвкавост за адаптиране с всеки случай на използване..\\nСвържете се с нас за P2P видео с активиран DRM или поточно предаване на живо.","WEBSITE_THOUGHTS":"Мисли, които споделяме:","WEBSITE_SPREAD":"Разпространете информацията за Stremio:","WEBSITE_CONTACT":"Ако обмисляте да се свържете с нас, не се двоумете","WEBSITE_OPENSOURCE":"За нашите проекти с отворен код, отидете на нашите","WEBSITE_BITCOIN":"Дарете Биткойн:","WEBSITE_FAQ":"Често Задавани Въпроси","WEBSITE_FAQ_SHORT":"ЧЗВ","WEBSITE_QUESTIONS":"Въпроси","WEBSITE_TOS":"Условия за ползване","WEBSITE_LEGAL":"Правни","WEBSITE_PAGE_ABOUT":"Относно","WEBSITE_PAGE_BECOME_PARTNER":"Станете наш партньор","WEBSITE_ALL_YOU_CAN_WATCH":"Свободата да гледаш\\nВсичко което искаш.","WEBSITE_FREEDOM_TO_STREAM":"Свободата да стриймваш","WEBSITE_WHAT_IS_STREMIO":"Какво е stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio е хъб за агрегиране на видео съдържание. Открийте, организирайте и гледайте видео от всякакви източници на всяко устройство, което притежавате.","WEBSITE_WHAT_IS_STREMIO_P2":"Филми, телевизионни предавания, сериали, телевизия на живо или уеб канали като YouTube и Twitch.tv - Можете да намерите всичко това на Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio е модерен медиен център, който е решение за вашето видео забавление. Откривайте, гледайте и организирайте видео съдържание от лесни за инсталиране добавки.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Филми, телевизионни предавания, телевизия на живо или уеб канали - намерете всичко това на Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Насладете се на всички ваши медийни устройства","WEBSITE_DEVICES_COLLECT":"Съберете от Stremio","WEBSITE_DEVICES_IMPORT_FB":"Импортиране от facebook","WEBSITE_DEVICES_LOCAL":"Добавяне от локално устройство","WEBSITE_JOIN_THE_PARTY_NOW":"Включете се в партито сега","WEBSITE_DEVICES_ALL":"Лесен за използване на всички ваши устройства;","WEBSITE_EXTENDABLE_CATALOG":"Безкрайно разширяващ се видео каталог;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Страхотни функции за организиране на вашите медии;","WEBSITE_AS_SEEN_ON":"Познато от","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"За нас","WEBSITE_LINK_TECHNOLOGY":"Технология","WEBSITE_LINK_APPS":"Приложения","WEBSITE_LINK_DOWNLOADS":"Изтегляне","WEBSITE_MORE":"Още","WEBSITE_LINK_ADDONS":"Добавки","WEBSITE_LINK_ADDON_SDK":"SDK за добавки","WEBSITE_LINK_CONTRIBUTE":"Допринасяне","WEBSITE_LINK_COMMUNITY":"Общност","WEBSITE_LINK_BLOG":"Блог","WEBSITE_MORE_MORE":"... и Още","WEBSITE_LINK_HELP":"Помощен център","WEBSITE_LINK_CONTACTS":"Контакти","WEBSITE_LINK_TOS":"Правила и Условия","WEBSITE_LINK_PRAVACY":"Политика за поверителност","WEBSITE_SUBSCRIBE":"Абониране","WEBSITE_NEWSLETTER":"Впишете се в нашият Нюзлетър за страхотни неща","WEBSITE_PLACEHOLDER_EMAIL":"Вашият Email","WEBSITE_COMMUNITY":"Общност","WEBSITE_LINK_PRAVACY_LEGAL":"Поверителност и разпоредби","WEBSITE_WHY":"Защо го правим","WEBSITE_WHY_P1":"В Stremio идваме на работа всеки ден, защото искаме да решим важен проблем за индустрията за видео при поискване. Има толкова много ново съдържание, публикувано всяка минута, че е практически невъзможно да намерите пътя си около него.","WEBSITE_WHY_P2":"Ние помагаме на хората да се ориентират в този огромен свят на видео забавления и да открият ново съдържание, на което да се насладят. Нашите приложения събират филми, сериали, телевизия на живо, уеб канали и други. Ние сме посветени да направим невероятно лесно за потребителите да намерят заглавия и телевизионни оператори, които обичат.","WEBSITE_WHY_P3":"Можете да използвате нашата услуга на всяко устройство и по всяко време, превръщайки Stremio единственият център за видео развлечения, който някога ще ви трябва.","WEBSITE_TEAM":"ОТБОР","WEBSITE_TEAM_P":"Екипът на Stremio е малък, но мощен: между десетте от нас кодираме на X езици и споделяме опит в разработването на софтуер, UI и UX дизайн, маркетинг и реклама и бизнес и стартиращи компании.","WEBSITE_FEATURES":"Функции","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Откривайте ново съдържание с лекота","WEBSITE_FEATURES_DISCOVER_P":"Лесно открийте нови филми, телевизионни предавания, сериали и канали за гледане. Прегледайте по категория, жанр, оценка, рецепта и т.н. или просто въведете име, за да намерите. Stremio прави намирането на ново видео съдържание лесно като детска игра.","WEBSITE_FEATURES_ALL_CONTENT":"Цялото ви видео съдържание на един екран","WEBSITE_FEATURES_ALL_CONTENT_P1":"Вижте какви филми, сериали или видеоклипове не сте завършили и продължете да ги гледате; Получавайте уведомления за нови епизоди и издания; и разгледайте препоръките, които ще получите въз основа на вашите навици за гледане.","WEBSITE_FEATURES_LIBRARY":"Организирайте вашата видео Библиотека","WEBSITE_FEATURES_LIBRARY_P1":"Добавете всяко заглавие към вашата библиотека в Stremio с едно щракване и намерете пътя си около съдържанието си, добре подредено по тип, дата или азбучна подредба.","WEBSITE_FEATURES_CALENDAR":"Следете всичко, което гледате","WEBSITE_FEATURES_CALENDAR_P1":"Получете визуализация на календара на всички филми и сериали, които добавяте към библиотеката си. Експортирайте вашия календар на Stremio и го синхронизирайте, така че винаги да знаете кога има нов епизод или премиера.","WEBSITE_FEATURES_BIG_SCREEN":"Насладете се на вашето видео съдържание на по-голям екран","WEBSITE_FEATURES_BIG_SCREEN_P1":"Прехвърлете каквото и да гледате на друго устройство - било то телефон, таблет или телевизор с едно щракване.","WEBSITE_FEATURES_SOURCES":"Гледайте видео от много различни източници","WEBSITE_FEATURES_SOURCES_P":"Инсталирайте официални и общностни добавки, за да се насладите на видео, получено от много различни доставчици - всичко това в едно елегантно, лесно за използване приложение.","WEBSITE_CREATE_AN_ADDON":"Създайте добавка","WEBSITE_FEATURES_SYNC":"Синхронизирайте библиотеката си на различни устройства и възобновете възпроизвеждането си","WEBSITE_FEATURES_SYNC_P1":"Влезте с акаунта си във всичките си устройства и се насладете на вашата библиотека, добавки, възпроизвеждане и синхронизиране в календара.","WEBSITE_FEATURES_EXTENDABLE":"Разширяващ се видео каталог от добавки","WEBSITE_FEATURES_EXTENDABLE_P1":"Каталогът с добавки на Stremio предоставя редица добавки за инсталиране и гледане на разнообразие от видео съдържание. Това включва филми, предавания, телевизия на живо, спорт, новини, подкасти, уеб канали, видео игри и други.","WEBSITE_FEATURES_AUTO_SUBS":"Автоматични субтитри","WEBSITE_FEATURES_AUTO_SUBS_P1":"С нашите добавки за субтитри получавате автоматично избрани опции за предпочитания от вас език.","WEBSITE_FEATURES_CHROMECAST":"Предаване към Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Насладете се на вашето видео съдържание на по-голям екран или просто хвърлете каквото и да гледате на друго устройство.","WEBSITE_FEATURES_KEEP_TRACK":"Следете любимите си телевизионни предавания и уеб канали","WEBSITE_FEATURES_KEEP_TRACK_P1":"Получете визуализация на календара и известия за нови епизоди от любимите си серии и уеб канали.","WEBSITE_FEATURES_POWER_USER":"Мощни потребителски функции","WEBSITE_FEATURES_POWER_USER_P1":"Пуснете на външен плеър","WEBSITE_FEATURES_POWER_USER_P2":"Пуснете от торент файл или магнитна връзка","WEBSITE_FEATURES_POWER_USER_P3":"Импортирайте във вашата библиотека от Facebook харесвания или локален диск","WEBSITE_ADD_ONS":"Добавки","WEBSITE_ADD_ONS_P1":"Цялото видеосъдържание, което Stremio предоставя, се доставя чрез допълнителна система - в приложението не е вградено съдържание или доставчик на съдържание.","WEBSITE_ADD_ONS_P2":"Налични са две групи добавки: официални и общностни добавки.","WEBSITE_ADD_ONS_P3":"Официалните са разработени и хоствани от Stremio, докато добавките на общността са създадени от нашите членове на общността, които също ги хостват.","WEBSITE_ADDONS_OFFICIAL":"Официални добавки","WEBSITE_ADDONS_WATCHUB":"Предавайте любимите си филми, сериали и предавания от доставчици като iTunes, Hulu, Amazon и други услуги за Обединеното кралство/САЩ.","WEBSITE_ADDONS_YOUTUBE":"Гледайте любимите си канали в YouTube без реклами и получавате известия за нови качвания от сътрудниците, които следвате.","WEBSITE_ADDONS_FILMON":"Гледайте телевизия на живо, филми и социална телевизия безплатно. 600 телевизионни канала, 45 000 безплатни филма, документални филми и др.","WEBSITE_ADDONS_OPENSUBTITLES":"Филмови и телевизионни субтитри на няколко езика, хиляди преведени субтитри, качени всеки ден.","WEBSITE_ADDONS_COMMUNITY":"Добавки от общността","WEBSITE_ADDONS_FILMON_VOD":"Гледайте видео при поискване от Filmon.tv","WEBSITE_ADDONS_TWICH":"Гледайте потоци на живо от twitch.tv - платформа за поточно предаване на видео за индустрията за електронни спортове.","WEBSITE_ADDONS_VODO":"Гледайте инди филми абсолютно безплатно.","WEBSITE_ADDONS_NETFLIX":"Гледайте филми и уеб сериали на Netflix.","WEBSITE_ADDONS_CREATE":"Създайте добавка","WEBSITE_ADDONS_CREATE_P1":"Ако желаете, можете да разработите своя собствена добавка. По този начин можете да дадете достъп до себе си и нашата общност до ново видео съдържание и да достигнете до нова, насочена аудитория от милиони потребители по целия свят.","WEBSITE_ADDONS_START_CREATE":"За да започнете, посетете страницата на Stremio Addon SDK:","WEBSITE_DOWNLOADS":"Изтегляния","WEBSITE_DOWNLOADS_P1":"За оптимална ефективност препоръчваме да използвате най-новата налична версия на приложенията на Stremio. Ако по някаква причина обаче бихте искали да използвате по-стара версия, можете да я изтеглите тук.","WEBSITE_DOWNLOADS_P1_SHORT":"За оптимална ефективност препоръчваме да използвате най-новата налична версия на приложенията на Stremio.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio за Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio за macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio за Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio за Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio за Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio за Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio за Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio за iOS","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio за Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio за LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio за Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio за Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio за Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio за Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Потърсете Stremio в магазина на 2019+ Samsung TV моделите","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Потърсете Stremio в магазина на 2020+ LG Телевизори","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Потърсете Stremio в магазина за приложения на вашето Xbox устройство","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Изтегляне на Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service е придружително приложение за Stremio Web. Препоръчваме да използвате най-новата налична версия на Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service за Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service за macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service за Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service за Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"Още опции за изтегляния","WEBSITE_DOWNLOAD_NEW":"Ново!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"Ние пуснахме Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"Ние пуснахме Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"Ние пуснахме Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"Ние пуснахме Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"Ние пуснахме Stremio for Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"Платформата Stremio е с отворен код и лесно можете да създадете добавка за съдържание, което в момента не е снабдено.","WEBSITE_CONTRIBUTE_WHY":"Защо трябва да създадете добавка?","WEBSITE_CONTRIBUTE_WHY_P1":"Достигнете до нова аудитория за вашето видео съдържание","WEBSITE_CONTRIBUTE_WHY_P2":"Потребителската база на Stremio нараства бързо - в рамките на първата година от старта, Stremio спечели 1 милион потребители по целия свят, а през втората година от съществуването на платформата този брой нарасна до 2,5 милиона.","WEBSITE_CONTRIBUTE_WHY_P3":"С вашата добавка можете лесно да достигнете до тази аудитория и да разпространите видеото си към тях.","WEBSITE_CONTRIBUTE_ALL":"Гледайте любимите си филми, видеоклипове, сериали и канали на едно едно място.","WEBSITE_CONTRIBUTE_ALL_P1":"Вие сте фен на определен тип съдържание, което все още не е достъпно в Stremio? Създайте добавка за него и се насладете на гледането на любимите си видеоклипове в един от най -големите и лесни за използване на развлекателни центрове на пазара.","WEBSITE_CONTRIBUTE_ALL_P2":"Освен това ще получите безкрайната благодарност на други съмишленици на общността на Stremio.","WEBSITE_CONTRIBUTE_MONETIZE":"Осигурете приходи от добавката си и печелете пари с нейната помощ","WEBSITE_CONTRIBUTE_MONETIZE_P1":"След като разработите нова добавка за Stremio, можете лесно да го осигурите монетизиране по няколко различни начини. Ако обмисляте това, не се колебайте да се свържете с нас на ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - ще се радваме да се консултираме и да ви посъветваме за възможностите за осигуряване на монетизация на добавката.","WEBSITE_CONTRIBUTE_TRANSLATE":"Станете доброволен преводач","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Ако искате да се насладите на приложенията на Stremio на различни езици, можете да се присъедините към нашата общност от доброволни преводачи. Те ни помагат да добавим версии на Stremio на много различни езици.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Имате ли желание да започнете?","WEBSITE_TRANSALTE_STREMIO":"Преведете Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Официални общности","WEBSITE_COMMUNITY_OFFICIALS_P1":"Станете част от нарастващата общност на Stremio. Следвайте ни в социалните медии и не се срамувайте да ни поздравите - обичаме да слушаме нашите фенове! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Неофициални общности","STREMIO_COMMUNITY_NL":"Stremio Нидерландия","STREMIO_COMMUNITY_BRASIL":"Stremio Бразилия","STREMIO_COMMUNITY_GERMANY":"Stremio Германия","STREMIO_COMMUNITY_BELGIUM":"Stremio Белгия","STREMIO_COMMUNITY_FRANCE":"Stremio Франция","STREMIO_COMMUNITY_PORTUGAL":"Stremio Португалия","STREMIO_COMMUNITY_ITALY":"Stremio Италия","STREMIO_COMMUNITY_UK":"Stremio Обединено Кралство","STREMIO_COMMUNITY_USA":"Stremio САЩ","STREMIO_COMMUNITY_MEXICO":"Stremio Мексико","STREMIO_COMMUNITY_ADDONS":"Stremio добавки","STREMIO_COMMUNITY_AWESOME":"Страхотен Stremio","WEBSITE_COMMUNITY_PARTNERS":"Партньори и привърженици","WEBSITE_COMMUNITY_GOODIES":"Stremio екстри","WEBSITE_COMMUNITY_WALLPAPERS":"Тапети","WEBSITE_COMMUNITY_ART":"Арт галерия на общността","WEBSITE_LINK_ART":"Арт галерия на общността","WEBSITE_CONTACT_US":"Свържете се с нас","WEBSITE_CONTACT_US_P1":"Ако имате някакви въпроси, коментари или предложения, не се колебайте да се свържете с нас чрез формата за контакт по-долу.","WEBSITE_CONTACT_US_P2":"Имайте предвид, че ние се намираме в България, така че може да има забавяне в адресирането на вашата заявка поради разликите в часовата зона.","WEBSITE_CONTACT_US_SUCCESS":"Вашето съобщение е изпратено. Ще се свържем с вас при първа възможност.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Моля, въведете валиден email!","WEBSITE_CONTACT_US_Q_RELATED_TO":"С какво е свързан вашият въпрос?","WEBSITE_CONTACT_US_Q_OS":"Каква е вашата операционна система?","WEBSITE_CONTACT_US_PH_EMAIL":"Вашият имейл","WEBSITE_CONTACT_US_PH_MESSAGE":"Съобщение","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"ИЗПРАЩАНЕ","WEBSITE_CONTACT_US_Q_1":"Как да инсталирам?","WEBSITE_CONTACT_US_Q_2":"Как да деинсталирам?","WEBSITE_CONTACT_US_Q_3":"(HTML) Как да направя лазаня?","WEBSITE_CONTACT_US_Q_4":"Добавки","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Технология","WEBSITE_TECHNOLOGY_P1":"Ние обичаме технологиите и лудата наука. </br> Ето какво задвижва Stremio (всичко е с отворен код).","WEBSITE_TECHNOLOGY_P_QT":"Разработка на междуплатформен софтуер в най-добрия случай.","WEBSITE_TECHNOLOGY_P_MPV":"Безплатен, отворен и кросплатформен медиен плейър.","WEBSITE_TECHNOLOGY_P_RN":"React Native ви позволява да изграждате мобилни приложения, използвайки само JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Медийна рамка, вградена в приложение, за да получи мултимедия.","WEBSITE_TECHNOLOGY_P_REALM":"Realm е мобилна платформа и заместител на Sqlite и Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js е отворен код, кросплатформена JavaScript среда за изпълнение.","WEBSITE_TECHNOLOGY_P_RUST":"Rust е многопарадигмен системен програмен език, фокусиран върху безопасността, особено безопасната едновременност.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Допринесете за проекта","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Има два начина, по които можете да допринесете за Stremio и да ни помогнете да направим продукта още по-добър.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Можете да дарите своите ценни езикови умения, като преведете платформата...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"или","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... Можете да използвате вашите умения за кодиране за създаване на добавки в общността. ","WEBSITE_TRANSLATE_STREMIO":"Преведете Stremio","WEBSITE_404_OH_NO":"Ъ-ъ! Страницата, която търсите, не е тук...","WEBSITE_GO_HOME":"Върни се на Началната страница","WEBSITE_LINK_OTHER_DOWNLOADS":"Други изтегляния","WEBSITE_FAQ_ABR":"ЧЗВ","WEBSITE_SUPPORT":"Подръжка","WEBSITE_DOWNLOAD_4_0_BETA":"Изтеглете сега Stremio 4 beta","WEBSITE_GET_FOR_DESKTOP":"Вземете сега за работен плот","WEBSITE_LINK_ADDON_COMPETITION":"Конкурс за добавки","WEBSITE_LINK_ART_CONTEST":"Конкурс за изкуство","WEBSITE_MY_ACCOUNT":"Моят акаунт","WEBSITE_MAINPAGE_FAQ_001_H1":"Какво е Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio е модерен медиен център, който ви дава свободата да гледате всичко, което искате.","WEBSITE_MAINPAGE_FAQ_002_H1":"Как работи?","WEBSITE_MAINPAGE_FAQ_002_P1":"След като инсталирате Stremio на устройството си и създадете акаунт, всичко, което трябва да направите, е да посетите каталога за добавки и да инсталирате всяка добавка, която искате, и сте готови да започнете!","WEBSITE_MAINPAGE_FAQ_002_P2":"След това можете да отидете в секциите Откриване или Табло, за да започнете да изследвате съдържание.","WEBSITE_MAINPAGE_FAQ_003_H1":"Какво мога да гледам тук?","WEBSITE_MAINPAGE_FAQ_003_P1":"Много: филми, телевизионни предавания, уеб канали, спорт, телевизионни канали, слушане на подкасти и други. Благодарение на нашата система за добавки, можете да получите достъп до разнообразие от съдържание.","WEBSITE_MAINPAGE_FAQ_004_H1":"Stremio с отворен код ли е?","WEBSITE_MAINPAGE_FAQ_004_P1":"Да, може да проверите следните връзки: ${1}Приложение за работен плот${2} and ${3}GitHub организация${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Stremio сигурен ли е?","WEBSITE_MAINPAGE_FAQ_005_P1":"Да: тъй като това е софтуер с отворен код, кодът е публично достъпен и можете да го прегледате сами.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"Какво ще кажете за моята поверителност?","WEBSITE_MAINPAGE_FAQ_006_P1":"Ние уважаваме поверителността на потребителите и не събираме лични данни, освен съществения минимум за създаване и синхронизиране на вашия акаунт.","WEBSITE_MAINPAGE_FAQ_006_P2":"Също така има и ${1}Вход за гост${2} при регистрация, което не изисква никакви данни: в този режим не се извършват заявки към нашия бекенд. Въпреки това, той идва за сметка на полезни функции, като например да можете да синхронизирате библиотеката си в устройства.","WEBSITE_MAINPAGE_FAQ_007_H1":"Може ли да прехвърлям съдържание към моят телевизор?","WEBSITE_MAINPAGE_FAQ_007_P1":"Да, ние поддържаме Chromecast и можете да прехвърлите съдържание както от настолни, така и от мобилни приложения (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"Колко добавки има Stremio?","WEBSITE_MAINPAGE_FAQ_008_P1":"Към края на 2019 г. над 50 - за повече информация вижте нашия каталог с добавки.","WEBSITE_MAINPAGE_FAQ_009_H1":"Може ли Stremio да бъде разширен отвъд това, което е в каталога за добавки?","WEBSITE_MAINPAGE_FAQ_009_P1":"Да, трябва да разгледате тези: ${1}PimpMyStremio${2}, ${3}Reddit общност${4}, ${5}Stremio Downloader${6}, и други.","WEBSITE_MAINPAGE_FAQ_010_H1":"Какви устройства поддържат Stremio?","WEBSITE_MAINPAGE_FAQ_010_P1":"Имаме настолни приложения за Windows, Mac и Linux. За мобилни устройства поддържаме Android и iOS, но имайте предвид, че iOS е с ограничена функционалност (не поддържа повечето добавки).","WEBSITE_MAINPAGE_FAQ_010_P2":"Има много устройства, базирани на Android, на които можете да стартирате Stremio, като Nvidia Shield и Amazon Fire Stick, но ние не ги поддържаме официално.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"Имаме настолни приложения за Windows, Mac и Linux. Имаме и специални приложения за Android Mobile и Android TV. За iOS и iPadOS предлагаме да използвате Stremio Web, въпреки че функционалността му е по-ограничена.","WEBSITE_MAINPAGE_FAQ_011_H1":"Можете ли да добавите определено съдържание към Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"За съжаление ние самите не предоставяме съдържание, но колкото повече Stremio добавки сте инсталирали, толкова повече съдържание ще можете да намерите.","WEBSITE_MAINPAGE_FAQ_012_H1":"Може ли Stremio да възпроизвежда магнитни връзки?","WEBSITE_MAINPAGE_FAQ_012_P1":"Да, и може също да възпроизвежда нормални HTTP връзки и торент файлове (плъзгане и пускане).","WEBSITE_MAINPAGE_FAQ_013_H1":"Мога ли да изтегля видео и да го гледам офлайн?","WEBSITE_MAINPAGE_FAQ_013_P1":"Изтеглянето офлайн е предстояща функция, но ако позволите на Stremio да кешира на вашето устройство (от панела за настройки), можете да гледате видеоклиповете по-късно без връзка.","WEBSITE_MAINPAGE_FAQ_014_H1":"Нищо не работи, помогнете ми!","WEBSITE_MAINPAGE_FAQ_014_P1":"Сигурни ли сте, че сте инсталирали добавки? Ако да, консултирайте се с нашият ${1}помощен център${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"Как Stremio поддържа своите операции за развитие?","WEBSITE_MAINPAGE_FAQ_015_P1":"Понякога пускаме ненатрапчиви реклами, но обмисляме да преминем към модел на дарение.","WEBSITE_MAINPAGE_FAQ_015_P2":"За повече отговори посетете нашият ${1}помощен център${2}.","HELP_LEARN_MORE":"Помогнете ни да научим повече за вас.","LIFESTYLE":"Лайфстайл","SPORTS":"Спорт","FOOD_HEALTH":"Храна и Здраве","BEAUTY_FASHION":"Красота и Мода","NEWS":"Новини","GAMING":"Гейминг","SCIENCE_EDUCATION":"Наука и Образование","MUSIC":"Музика","TRAVEL":"Пътуване","LATE_NIGHT":"Късно вечер","REALITY":"Реалити","COMEDY":"Комедия","DIY":"Направи си сам","TECH":"Технологии","CINEMA":"Кино","CONTINUE":"Продължение","SLOW_LOADING":"БАВНО ЗАРЕЖДАНЕ?","I_GIVE_UP":"ПРЕДАВАМ СЕ","LEARN_MORE":"Научете повече","POOR_SOURCE":"Този източник е слабо достъпен или вашата интернет връзка не е достатъчно бърза","PICK_CATEGORIES_ERR":"Трябва да изберете поне 3 категории","ADJUST_TIMING":"Настройване на времето с ","ADJUST_SIZE":"Настройване на размера с ","SEARCH_ANYTHING":"Може да търсите всичко...","ALL_CATEGORIES":"Всички","SEARCH_CATEGORIES":"Филми, Серии, YouTube и ТВ","SEARCH_PERSONS":"Актьори, режисьори и сценаристи","SEARCH_PROTOCOLS":"HTTP & магнитни връзки","SEARCH_TYPES":"IMDB / TVDB връзки","WATCHED":"Гледано","SHOW_LESS":"Показване на по-малко","LAST_SEARCHES":"Последни търсения","CLEAR_HISTORY":"Изчистване на историята","CHOOSE_SOME":"ИЗБЕРЕТЕ ЕДНО ОТ ТЕЗИ:","NO_WEB_REMOTE":"Уеб дистанционното не може да бъде заредено","STREMIO_OFFLINE":"Stremio е офлайн","STREMIO_EXPENSIVE_CONNECTION":"Открихме, че използвате мобилна връзка за данни, искате ли да продължите?","USE_DATA":"Използване на данни","WARNING":"Внимание","MORE_INFO":"Повече информация ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Зареждане ...","STREMIO_TV_BACK_TO_LANGUAGES":"Връщане към езиците","STREMIO_TV_REMOTE":"Дистанционно","STREMIO_TV_GO_TO":"Отидете на:","STREMIO_TV_OR_SCAN":"или сканирайте:","STREMIO_TV_ADDON_INSTRUCTIONS":"Моля, следвайте инструкциите, за да инсталирате предпочитаните ви добавки.","STREMIO_TV_LIVE_TV":"ТВ на живо","STREMIO_TV_RESUME_WATCHING":"Продължаване на гледането","STREMIO_TV_LOADING_BACKGROUND":"Зареждане на фон","STREMIO_TV_CHECKING_AUTHENTICATION":"Проверка на удостоверяването","STREMIO_TV_LOADING_BOARD":"Зареждане на Табло","STREMIO_TV_LOGIN_HEADER_LINE_1":"Искаме нашите потребители да имат най-доброто възможно персонализирано изживяване с нашия софтуер.","STREMIO_TV_LOGIN_HEADER_LINE_2":"Именно поради тази причина любезно ви молим да направите акаунт и/или да влезете във вашия акаунт.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Благодарим ви за разбирането,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Екипа на Stremio ","STREMIO_TV_REMOTE_INSTRUCTIONS":"За да използвате уеб дистанционното с вашия смартфон / таблет / десктоп:","STREMIO_TV_WIFI_SETUP":"Wi-Fi настройка","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle не засече активна връзка към интернет","STREMIO_TV_WIFI_DETAILS_1":"Свързване към:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Използвайте парола:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Отворете уеб браузър с връзката:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"По подразбиране","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"По последно гледани","STREMIO_TV_LIBRARY_SORT_NAME":"По име","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"По Име Низходящо","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"По брой гледания","STREMIO_TV_LIBRARY_SORT_WATCHED":"По Гледани","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"По Не Гледани","STREMIO_TV_DETAILS_SEASON_NUMBER":"Сезон ${1}","STREMIO_TV_STREAMS_LOADING":"Заредени ${1} / ${2} добавки...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} добавка/и все още зарежда/т...","STREMIO_TV_PLAYER_SETTINGS":"Настройки на плеъра","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Закъснение на субтитрите","STREMIO_TV_PLAYER_AUDIO_DELAY":"Закъснение на аудиото","STREMIO_TV_PLAYER_VIDEO_SCALING":"Видео мащабиране","STREMIO_TV_PLAYER_CHAPTERS":"Глави","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Пропускане ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Неподдържан източник на поток","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Неуспешно отваряне на външна връзка","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Не се регулира в режим на аудио преминаване","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Възпроизвеждане с ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Възпроизвеждане с libVLC плеър","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Преминаване към плейър libVLC поради грешка във възпроизвеждането","STREMIO_TV_ADDONS_TITLE":"Използвайте Stremio на вашия телефон или компютър, за да инсталирате или конфигурирате добавки и натиснете \\"Sync Addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Забележка: Уверете се, че използвате същия акаунт в Stremio","STREMIO_TV_ADDONS_SYNC_ADDONS":"Синхронизиране на добавки","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Добавките са сихнронизирани успешно","STREMIO_TV_ADDONS_SYNC_FAILED":"Грешка при синхронизиране на добавки","STREMIO_TV_META_LINK_FAILED":"Грешка при отваряне на meta връзката","STREMIO_TV_CATALOG_LOADING":"Каталога все още се зарежда...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Езика на интерфейса е актуализиран","STREMIO_TV_SETTINGS_THEME_UPDATED":"Темата е актуализирана","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Плеър по подразбиране","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Външен плеър","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Предпочитан език","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Втори предпочитан език","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Тунелен плейбек","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Възможни проблеми с плейбека на някои устройства","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Някои видео формати може да не работят","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Съвпадение на скоростта на кадрите","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Деактивирано","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Само честота на кадрите","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Честота на кадрите и разделителна способност","STREMIO_TV_SETTINGS_NO_CACHING":"Без кеширане","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"По подразбиране","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Меко","STREMIO_TV_SETTINGS_PROFILE_FAST":"Бързо","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ултра бързо","STREMIO_TV_SETTINGS_SERVER_URL":"URL на сървъра за поточно предване","STREMIO_TV_SETTINGS_SERVER_VERSION":"Версия на сървъра","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Непознато","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Версия на Stremio","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Редактиране на URL на сървъра","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Въведете URL адрес на сървър за поточно предаване","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Показване на статистики при зареждане","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"За да прочетете политиката за поверителност на Stremio, посетете:","STREMIO_TV_SETTINGS_TOS_TEXT":"За да прочетете Общите условия на Stremio, посетете:","STREMIO_TV_NAV_SEARCH":"Търсене","STREMIO_TV_NAV_HOME":"Начало","STREMIO_TV_NAV_DISCOVER":"Откриване","STREMIO_TV_NAV_LIBRARY":"Библиотека","STREMIO_TV_NAV_MOVIES":"Филми","STREMIO_TV_NAV_SERIES":"Сериали","STREMIO_TV_NAV_CHANNELS":"Канали","STREMIO_TV_NAV_TV":"ТВ на живо","STREMIO_TV_NAV_SETTINGS":"Настройки","STREMIO_TV_NAV_ADDONS":"Добавки","STREMIO_TV_LOGIN_TITLE":"Свързване на акаунт","STREMIO_TV_LOGIN_EXPIRES_IN":"Изтича на","STREMIO_TV_LOGIN_STEP_ONE":"Сканирайте QR кода по-горе или отидете на","STREMIO_TV_LOGIN_STEP_TWO":"Влезте във вашия акаунт в Stremio","STREMIO_TV_LOGIN_NEW_LINK":"Заявка за нова връзка","STREMIO_TV_LOGIN_LINK_REFRESHED":"Кодът за вход е актуализиран","STREMIO_TV_SEARCH_PLACEHOLDER":"Напишете нещо","STREMIO_TV_SEARCH_NO_ADDONS":"Не бяха поискани добавки за каталози!","STREMIO_TV_SEARCH_BUTTON":"Търсене","STREMIO_TV_SEARCH_KEY_DEL":"Изтриване","STREMIO_TV_SEARCH_KEY_SPACE":"Интервал","STREMIO_TV_SEARCH_KEY_CLEAR":"Изчистване","STREMIO_TV_SEARCH_HISTORY_TITLE":"История на търсенията","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Можете да търсите заглавия, актьори, канали и други...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Изчистване на историята на търсенията","STREMIO_TV_FILTERS_DESCRIPTION":"Изберете от един от филтрите по-долу","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Стрийминг сървърът няма връзка. Моля, вижте сървърните настройки.","FILTERS":"Филтри","SETTINGS":"Настройки","ACCOUNT":"Акаунт","LOGOUT":"Изход","THEMES":"Теми","PLAYBACK":"Плейбек","PLAYBACK_SPEED":"Скорост на плейбека","AUDIO_TRACKS":"Аудио пътеки","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Видеа","SERVER":"Сървър","LINKS":"Връзки","ABOUT":"Относно","INTERFACE":"Интерфейс","ANIMATIONS":"Анимации","STATUS":"Статус","LANGUAGE":"Език","SIZE":"Размер","DELAY":"Забавяне","BOLD":"Удебеляване","OPACITY":"Непрозрачност","TEXT_COLOR":"Цвят на текста","OUTLINE_COLOR":"Цвят на очертанията","BACKGROUND_COLOR":"Цвят на фона","BACKGROUND_BLUR":"Замъгляване на фона","SEEK_TIME_DURATION":"Продължителност на времето за търсене","AUTO_PLAY":"Авто-пускане на следващият епизод","PLAY_NOW":"Пусни сега","MARK_AS_WATCHED":"Маркиране като гледано","MARK_AS_UNWATCHED":"Маркиране като негледано","REWIND_TO_BEGINNING":"Преминаване към началото","CONTINUE_WATCHING":"Продължаване на гледането","ALL":"Всички","SECONDS":"секунди","ON":"ВКЛ","OFF":"ИЗКЛ","RELOAD":"Презареждане","EDIT_URL":"Редактиране на URL","NONE":"Нищо","EMBEDDED":"Вградени","REMOTE_SWITCH_DEVICES":"Смяна на устройствата","REMOTE_VIDEOS":"Видеа","REMOTE_ADJUST_TIMING":"Регулиране на времето","REMOTE_ADJUST_SIZE":"Регулиране на размера","REMOTE_COULD_NOT_BE_LOADED":"Уеб дистанционното не може да бъде заредено","REMOTE_RETRY":"Повторение","TORRENT_PROFILE_DEFAULT":"По подразбиране","TORRENT_PROFILE_SOFT":"Меко","TORRENT_PROFILE_FAST":"Бързо","TORRENT_PROFILE_ULTRA_FAST":"Ултра бързо","FAQ_001_H1":"Какво е Stremio?","FAQ_001_P1":"Stremio е софтуер за медиен център, предназначен за видео забавление с мисъл за лесна употреба. Stremio ви позволява да организирате &amp; гледайте собствената си колекция от филми, сериали, канали и телевизия на живо.","FAQ_001_P2":"Stremio събира съдържанието, което ви показва, от вашия локален диск и нашата система за добавки.","FAQ_001_P3":"Също така ще ви уведоми, когато излязат нови епизоди/видеоклипове/филми, които ви интересуват, и ще ви предостави препоръки за филми.","FAQ_02_H1":"Може ли Stremio да се сравнява с Kodi и Plex?","FAQ_02_P1":"Ние сме вдъхновени от тези два софтуера. Но ние имаме различни цели - Stremio е специално насочен към развлекателно видео и се стреми да стане основното решение за това, като е много лесен за използване.","FAQ_02_P2":"Stremio никога няма да бъде толкова персонализиран и богат на функции като Kodi и Plex, но е значително по-лесен за използване. Просто ${1} го вземете и ще се убедите ${2} :)","FAQ_03_H1":"Може ли Stremio да се сравнява с Netflix?","FAQ_03_P1":"Отново Netflix е едно от нашите вдъхновения. Стремим се да постигнем потребителското изживяване на Netflix, плюс много добавени екстри. Но най-важното е, че ви даваме свободата да управлявате собствената си библиотека и да добавяте нови източници на съдържание с нашата система за добавки.","FAQ_03_P2":"Това прави Stremio безкрайно разширяем, така че когато използвате Stremio, никога не сте ограничени до съдържанието, което Netflix решава да лицензира. Например чрез Stremio можете да гледате съдържание от ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} и дори от самият${9}Netflix${10}!","FAQ_04_H1":"Може ли Stremio да се сравнява с Flipboard?","FAQ_04_P1":"Ние не получаваме този въпрос толкова често, освен когато разговаряме със стартиращи хора :)","FAQ_04_P2":"Stremio по дизайн е агрегатор на съдържание, което по същество го прави Flipboard за видео. Това е много очевидно в нашата секция Табло, която ви дава каталози и известия за нови епизоди/нови видеоклипове за това, което следвате, точно като Flipboard.","FAQ_05_H1":"Може ли Stremio да се сравнява с Popcorn Time?","FAQ_05_P1":"Stremio и Popcorn Time са сходни в потребителския интерфейс, защото няма много начини да правите правилно каталози с видеоразвлечения :)","FAQ_05_P2":"Но докато Popcorn Time е фокусиран върху поточно предаване на торенти от конкретни източници, Stremio е неограничен и е просто агрегатор на съдържание - не е заключен в конкретен източник на съдържание.","FAQ_05_P3":"Освен това, ние не предоставяме добавки за торент по подразбиране, така че Stremio не покрива случая на използване на Popcorn Time с официална функционалност.","FAQ_05_P4":"Друга основна разлика е, че Popcorn Time е с напълно отворен код, докато Stremio е с ${1} частично отворен код${2}.","FAQ_06_H1":"Ще добавите ли този филм/серия?","FAQ_06_P1":"Не, съжеляваме :(","FAQ_06_P2":"Както се споменава в повечето други въпроси, Stremio не предоставя съдържание само по себе си - всичко се добавя чрез системата за добавки. В случай, че имате заявка за съдържание, можете да използвате бутона „Докладвай“ в плеъра, който ще изпрати имейл до автора на добавката, която използвате в момента.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Ще създадете ли добавка за X?","FAQ_08_P1":"Напълно е възможно.","FAQ_08_P2":"Ако имате идея за добавка, пишете ни на ${1}office@stremio.com${2}, но моля, уверете се, че вашата идея за добавка няма да наруши никакви авторски права или условия за използване.","FAQ_08_P3":"В момента следващите неща в нашата пътна карта са добавки за FandangoNOW, Filmon.tv видео при поискване и Crunchyroll.","FAQ_09_H1":"Използва ли Stremio BitTorrent?","FAQ_09_P1":"Да, Stremio поддържа BitTorrent като протокол за поточно предаване. Можете да го използвате или с добавка за торент, или като плъзнете и пуснете .torrent файл в Stremio, или като поставите магнитна връзка в лентата за търсене.","FAQ_09_P2":"Моля, обърнете внимание, че единствената официален добавка, използваща BitTorrent, е ${1}Vodo${2}, което осигурява съдържание на инди, всички разрешени да бъдат разпределени с BitTorrent.","FAQ_09_P3":"Ние не подкрепяме използването на никакви добавки на трети страни, които могат да позволят нарушаване на авторски права.","FAQ_10_H1":"Какво мога да гледам в Stremio с официалните добавки?","FAQ_10_P1":"По подразбиране можете да гледате Filmon.tv, YouTube и Vodo съдържание в рамките на самия Stremio, с вграден плейър. Освен това имаме добавка за Twitch.tv и няколко други.","FAQ_10_P2":"Тази комбинация осигурява избор на:","FAQ_10_L1":"Популярни ТВ канали, предоставени от Filmon.tv - например E4, BBC, Bollyworld TV","FAQ_10_L2":"Всичко от YouTube - например BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Индийски филми от Vodo","FAQ_10_L4":"Онлайн гейминг излъчвания с Twitch.tv","FAQ_10_P3":"Освен това има много източници на съдържание, предоставени с Guidebox и добавките на Netflix, които <b>не се</b> възпроизвеждат изцяло в Stremio, но ще ви пренасочат към дадената услуга. Например добавката Guidebox ще ви даде селекция от филми, които можете да предавате поточно безплатно в САЩ от услуги като TubiTV и Crackle.","FAQ_11_H1":"Stremio не се инсталира, какво да правя?","FAQ_11_P1":"Ако сте с Windows, пробвайте ${1}този алтернативен инсталатор${2}.","FAQ_11_P2":"Ако сте с Mac OS X, моля, бъдете наясно, че не поддържаме ОС преди OS X Mavericks (10.9).","FAQ_11_P3":"Ако сте с Linux, бъдете наясно, че в момента поддържаме само 64-битов (x64) Linux.","FAQ_11_P4":"Ако все още не можете да разрешите проблема си, моля, пишете ни в нашата ${1}Facebook група${2}.","FAQ_12_H1":"Защо моята анти-вирусна се оплаква? Stremio чист ли е?","FAQ_12_P1":"Бъдете сигурни, че Stremio е ${1}100% чист${2}.","FAQ_12_P2":"Вашият антивирус се оплаква, защото ние включваме реклама в нашия инсталатор, които някои антивирусни програми разпознават като ad-ware.","FAQ_12_P3":"Ако все още не сте сигурни, може да пробвате нашите ${1}алтернативни инсталатори{2}.","FAQ_13_H1":"Как мога да направя добавка?","FAQ_13_P1":"За начало препоръчваме ви да проверите нашият ${1}системен модул за добавки${2} в GitHub.","FAQ_13_P2":"След това може да последвате нашият ${1}Hello World съветник${2}.","FAQ_13_P3":"Ако нямате никакви умения за програмиране, моля, публикувайте идеята си в ${1}Reddit общността${2} и се свържете с нас с вашата идея за добавка на ${3}office@stremio.com${4}.","FAQ_14_H1":"Как се публикуват добавките?","FAQ_14_P1":"Когато създадете добавка и хост и поставите поле <b>endpoint</b> във вашия манифест, което сочи към работещ адрес на добавка, добавката автоматично ще се публикува в нашия ${1}Каталог с добавки${2}.","FAQ_14_P2":"Това се случва, защото сървърната част на модула stremio-addons автоматично се обажда към нашия API, за да обяви добавката. Когато нашият API потвърди вашата <b>endpoint</b> като валидна добавка, тя ще започне да се показва в каталога.","FAQ_15_H1":"Мога ли да пусна Stremio в браузъра си?","FAQ_15_P1":"В момента не, но това предстои!","FAQ_15_P2":"Ако сте любопитни да видите Alpha, можете да го видите тук: ${1}alpha4.strem.io${2}. Имайте предвид, че поточното предаване е деактивирано в тази alpha версия. Ние поддържаме Chrome, Firefox, Opera и Edge.","FAQ_16_H1":"Предаването към телевизор не работи / субтитрите не работят","FAQ_16_P1":"Предаването към телевизор използва технологията DLNA, която е много непоследователна между различните марки и модели телевизори. Поради тази причина нямаме възможност да го тестваме във всеки случай, така че далеч не е идеален. Въпреки това ние работим постоянно върху подобряването му, но не можем да ви дадем прогноза кога DLNA ще започне да работи правилно с вашия телевизор.","FAQ_16_P2":"Ако дори не виждате телевизора си в менюто за предаване, моля, опитайте да деактивирате мрежовата си връзка и да я активирате отново (в Windows щракнете с десния бутон върху Мрежа и използвайте Активиране/Деактивиране), както и рестартирайте рутера, телевизора и компютъра.","FAQ_16_P3":"Ако все още срещате проблеми, можете да ни помогнете, като изпратите информация за марката и модела на вашия телевизор на ${1}office@stremio.com${2}.","FAQ_16_P4":"Междувременно препоръчваме Chromecast, който поддържаме много добре, или просто да включите вашия телевизор към вашия компютър с HDMI кабел.","FAQ_17_H1":"Stremio замръзва и/или се срива, какво мога да направя?","FAQ_17_P1":"Първо, ако използвате Windows 7 с антивирусна програма AVG: имаме проблем с тази комбинация. Проблемът е в самия AVG и няма разумен начин да го разрешим от наша страна. За съжаление, изключенията или деактивирането на антивирусната програма няма да работят. Единственото решение е да замените AVG с нещо друго.","FAQ_17_P2":"Ако това не е проблемът, но все още използвате Windows, моля, актуализирайте до най-новия сервизен пакет и актуализирайте/преинсталирайте драйверите на видеокартата, след което опитайте отново.","FAQ_17_P3":"Ако проблемът ви все още не е решен или използвате Mac или Linux, моля, пишете ни, съобщавайки точните подробности за проблема в ${1}нашата Facebook група${2}.","FAQ_18_H1":"Как мога да направя добавка?","FAQ_18_P1":"За начало препоръчваме ви да проверите нашият ${1}системен модул за добавки${2} в GitHub.","FAQ_18_P2":"След това може да последвате нашият ${1}Hello World съветник${2}.","FAQ_18_P3":"Ако нямате никакви умения за програмиране, моля, публикувайте идеята си в ${1}Reddit общността${2} и се свържете с нас с вашата идея за добавка на ${3}office@stremio.com${4}.","FAQ_19_H1":"Защо Stremio заема дисково пространство?","FAQ_19_P1":"Stremio има <b>локален кеш</b> за временно запазване на видео файловете, които предавате поточно.","FAQ_19_P2":"Това има две предимства: първо, позволява на Stremio да буферира предварително видеото, за да осигури по-плавно поточно предаване. Второ, той запазва видеоклиповете в локалния кеш, така че можете да продължите да ги гледате офлайн.","FAQ_19_P3":"Колко запазва Stremio зависи от настройката <b>Кеш</b> в панела с настройки. Stremio може да поддържа зададеното количество (напр. 2 GB) на вашия диск, освен ако текущо поточно предаваното видео е по-голямо от това, в който случай трябва да разпредели достатъчно място за съхранение, за да го запази, докато не го предавате поточно.","FAQ_20_H1":"Къде е папката за кеша?","FAQ_20_P1":"В Windows, това е stremio-cache в устройството, което сте избрали в Настройки (например \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"В MacOS, това е \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"В Linux, това е \\"~/.stremio/stremio-cache\\" или \\"~/stremio-cache\\"","FAQ_21_H1":"Получих грешка \\"Сървърът за поточно предаване не е намерен\\", какво да правя?","FAQ_21_P1":"Ако получите тази грешка, това означава едно от малкото неща:","FAQ_21_P2":"1) Опитвате се да използвате добавка, поддържана от източник на YouTube/BitTorrent, чрез нашата ${1}уеб версия${2}. В този случай трябва да инсталирате нашата десктоп версия от ${3}нашата страница${4}.","FAQ_21_P3":"2) Нещо не е наред с вашата инсталация на Stremio. В този случай опитайте да инсталирате отново най-новата ни настолна версия от ${1}нашата страница${2}. Ако това не помогне, опитайте да деактивирате антивирусните програми и защитните стени, рестартирайте компютъра си и опитайте отново. Ако и това не работи, моля, пишете ни в ${3}нашата Facebook група${4}.","FAQ_22_H1":"Не виждам/не мога да използвам повечето добавки на iOS","FAQ_22_P1":"Поради ограниченията в правилата и условията на Apple App Store, ние ограничихме приложението за iOS само до определен набор от добавки.","FAQ_22_P2":"Но бъдете сигурни – в бъдеще ще има още добавки за iOS и може също да добавим интеграция, която ще ви позволи да използвате всички добавки на Stremio, благодарение на свързването на приложението за iOS към Stremio Streaming Server."}')},15170:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"মুভি","TYPE_series":"সিরিজ","TYPE_tv":"টিভি চ্যানেল","TYPE_channel":"চ্যানেল","TYPE_other":"অন্যান্য","TYPE_movie_PL":"মুভি","TYPE_series_PL":"সিরিজ","TYPE_tv_PL":"টিভি চ্যানেল","TYPE_channel_PL":"চ্যানেল","TYPE_other_PL":"অন্যান্য","TYPE_ALL":"সব","TYPE":"টাইপ","CATALOG_com_linvo_cinemeta_top":"জনপ্রিয়","CATALOG_com_linvo_cinemeta_imdbRating":"বৈশিষ্ট্যযুক্ত","CATALOG_com_linvo_cinemeta_year":"নতুন","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"পাব্লিক ডোমেইন মুভিসমূহ","VIDEO":"ভিডিও","BACK":"পেছনে","MORE":"আরো","DONE":"সম্পন্ন","COPY":"কপি","SUCCESS":"সফল","ERROR":"ত্রুটি","SETTINGS_CASTING_MODE_PICKER":"কাস্টিং মোড","CASTING_MODE_HLSV2":"ডিফল্ট","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"ট্রান্সকোডিং নেই","Discover":"আবিষ্কার করুন","Board":"বোর্ড","Library":"লাইব্রেরি","My Library":"আমার লাইব্রেরি","Calendar":"ক্যালেন্ডার","NOTIFICATION_ONLINE":"আপনি এখন অনলাইনে","NOTIFICATION_OFFLINE":"আপনি বর্তমানে অফলাইনে","INTERNET_CONNECTION":"নেটওয়ার্ক সংযোগ","STORAGE_FULL_TITLE":"সতর্কতা: স্টোরেজ পূর্ণ!","STORAGE_FULL_TEXT":"স্ট্রেমিও আপনার সেটিংস, পছন্দ বা লগইন তথ্য সংরক্ষণ করতে পারবে না। স্ট্রেমিও পুনরায় চালু করা বা পুনরায় ইনস্টল করার কথা বিবেচনা করুন।","SEARCH":"অনুসন্ধান","SEARCH_NO_RESULTS":"কোনো ফলাফল পাওয়া যায়নি","SEARCH_EXPLANATION_CONTENT":"চলচ্চিত্র, সিরিজ, ইউটিউব এবং টিভি চ্যানেল অনুসন্ধান করুন","SEARCH_EXPLANATION_PEOPLE":"অভিনেতা, পরিচালক এবং লেখকদের অনুসন্ধান করুন","SEARCH_PASTE_LINKS":"HTTP এবং ম্যাগনেট লিংক পেস্ট করুন","SEARCH_OR_PASTE_LINK":"অনুসন্ধান করুন বা লিংক পেস্ট করুন","SEARCH_SUGGESTIONS":"অনুসন্ধান পরামর্শ","ADD_TO_LIB":"লাইব্রেরিতে যোগ করুন","REMOVE_FROM_LIB":"লাইব্রেরি থেকে সরান","ADDED_TO_LIB":"লাইব্রেরিতে যোগ করা হয়েছে","REMOVED_FROM_LIB":"লাইব্রেরি থেকে সরানো হয়েছে","TRAILER":"ট্রেইলার","WATCH_TRAILER":"ট্রেইলার দেখুন","WATCH_NOW":"এখন দেখুন","SHOW":"দেখান","SHOW_MOVIE":"চলচ্চিত্র দেখান","WATCH_RANDOM":"এলোমেলোভাবে দেখুন","IMDB_RATING":"IMDb রেটিং","YEAR":"বছর","DIRECTOR":"পরিচালক","WRITER":"লেখক","LEAD_ACTORS":"প্রধান অভিনেতা","CAST":"অভিনেতা","CREW":"দল","SHOW_MORE_CAST":"আরো দেখান »","AIRED":"প্রচারিত","SEASONS":"সিজন","GENRE":"ধরন","GENRE_ALL":"সব ধরন","CATALOG":"ক্যাটালগ","SUMMARY":"সারসংক্ষেপ","SHOW_MORE":"আরো দেখান","SIMILAR":"অনুরূপ","UPCOMING":"আসন্ন","ENDED":"সমাপ্ত","DURATION":"সময়কাল","FEATURED":"বৈশিষ্ট্যযুক্ত","METADATA":"মেটাডেটা","CATEGORY":"বিভাগ","LINKS_GENRES":"ধরন","LINKS_CAST":"অভিনেতা","LINKS_DIRECTORS":"পরিচালক","SEARCH_VIDEOS":"ভিডিও অনুসন্ধান","SEARCH_PLACEHOLDER":"অনুসন্ধান করুন বা URL পেস্ট করুন","ADDON":"অ্যাড-অন","ADDONS":"অ্যাড-অনস","OFFICIAL":"অফিসিয়াল","ADDONS_OFFICIAL":"অফিসিয়াল স্ট্রেমিও অ্যাড-অনস","ADDONS_POPULAR":"আপনার এলাকায় জনপ্রিয়","ADDON_FREE":"বিনামূল্যে","ADDON_PEERED":"পিয়ার্ড","ADDON_SUBSCRIPTION":"সাবস্ক্রিপশন","ADDON_STREAM_GEORESTRICTED":"আপনার এলাকায় উপলব্ধ নয়","ADDON_STREAM_OFFLINECACHE":"অফলাইন ক্যাশে","ADDON_STREAM_LOCALFILE":"লোকাল ফাইল","SHARE_ADDON":"অ্যাড-অন শেয়ার করুন","AVAILABLE_STREAMS":"উপলব্ধ স্ট্রিমসমূহ","NO_STREAM":"কোনো স্ট্রিম পাওয়া যায়নি","ALL_ADDONS":"সমস্ত","INSTALL_MORE_ADDONS":"আরও স্ট্রিমের জন্য, অনুগ্রহ করে আরও অ্যাড-অন ইনস্টল করুন","STREAM_NOT_SUPPORTED":"নির্বাচিত স্ট্রিম এই প্ল্যাটফর্মে সমর্থিত নয়।","ADDON_CATALOGUE":"সমস্ত অ্যাড-অন দেখান »","ADDON_CATALOGUE_MORE":"অ্যাড-অন ইনস্টল করুন","REPO_ADDED":"রিপোজিটরি যোগ করা হয়েছে","ADDON_REPO_EXIST_ERR":"এই অ্যাড-অন সংগ্রহ ইতিমধ্যে বিদ্যমান","ADDON_REPO_ERR":"সংগ্রহ যোগ করার সময় ত্রুটি ঘটেছে","ADDON_ADD_ERR":"অ্যাড-অন যোগ করার সময় ত্রুটি ঘটেছে","ERR_ADDON_PROTECTED":"অ্যাড-অন আনইনস্টল করা যাবে না, এটি সুরক্ষিত","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"কিছু ভুল হয়েছে - প্রমাণীকরণ ব্যর্থ হতে পারে","ERR_NOT_COLLECTION_URL":"সংগ্রহের URL নয়","ERR_NOT_ADDON_URL":"বৈধ অ্যাড-অন URL নয়","ERR_DETECTFROMURL":"এই URL থেকে অ্যাড-অন/সংগ্রহ খুঁজে পাওয়া যাচ্ছে না","ADDON_DUPLICATE_WARNING":"সতর্কতা: ডুপ্লিকেট অ্যাড-অন","ADDON_COLLECTION_SET_FAILED":"আপনার অ্যাকাউন্টে ইনস্টল করা অ্যাড-অনগুলি সিঙ্ক করা ব্যর্থ হয়েছে","SETTINGS_DATA_EXPORT":"ব্যবহারকারীর ডেটা এক্সপোর্ট করুন","ADDON_PULL_FAILED":"আপনার অ্যাকাউন্ট থেকে ইনস্টল করা অ্যাড-অনগুলি সিঙ্ক করা ব্যর্থ হয়েছে","REFRESH_ON_CLICK":"পুনরায় চেষ্টা করতে ক্লিক করুন","STILL_IN_THEATER":"চলচ্চিত্র এখনও থিয়েটারে আছে","WATCH_IN_CINEMA":"আপনার স্থানীয় সিনেমা হলে দেখুন","IN_THEATER":"সিনেমা হলে","GET_TICKETS":"টিকিট সংগ্রহ করুন","UPCOMING_EPISODE":"আসন্ন এপিসোড","UPCOMING_EPISODE_MESSAGE":"এই এপিসোডটি প্রচারিত হবে","MISSING_DATE_EPISODE":"এপিসোডের তারিখ অনুপস্থিত","MISSING_DATE_EPISODE_MESSAGE":"এই এপিসোডটি এখনও প্রচারিত হয়নি","CHANNEL_NOT_SCRAPED":"এই চ্যানেলটি এখনও স্ক্র্যাপ করা হয়নি।<br>অনুগ্রহ করে কয়েক মিনিট পরে আবার আসুন।","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"একবার উপলব্ধ হলে বিজ্ঞপ্তি পেতে এটি আপনার লাইব্রেরিতে যোগ করুন।","GET_NOTIFIED_WHEN_AVAILABLE":"একবার উপলব্ধ হলে আপনি বিজ্ঞপ্তি পাবেন।","WARNING_STREAMING_SERVER":"সতর্কতা: স্থানীয় স্ট্রিমিং সার্ভার পাওয়া যায়নি। স্থানীয় ফাইল, ইউটিউব এবং বিটটরেন্ট থেকে স্ট্রিমিং উপলব্ধ হবে না।","WARNING_STREAMING_SERVER_DISMISS":"বাতিল করুন","WARNING_STREAMING_SERVER_LATER":"পরে","DECODER_WARNING":"সতর্কতা: এই ভিডিওটি আপনার হার্ডওয়্যার দ্বারা সমর্থিত নাও হতে পারে। মনে রাখবেন, প্লেব্যাক ধীর হতে পারে।","GENERIC_ERROR_MESSAGE":"কিছু ভুল হয়েছে!","TRY_AGAIN":"আবার চেষ্টা করুন","CLEAR_DATA":"ডেটা মুছে ফেলুন","PLAYER_ERROR":"উফ, প্লেয়ার ত্রুটি","PLAYER_ERROR_LOOKSLIKE":"মনে হচ্ছে","PLAYER_ORIENTATION":"প্লেয়ার অভিমুখীকরণ","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"লক করা","PLAYER_ORIENTATION_SENSOR_SHORT":"সেন্সর","PLAYER_ORIENTATION_LANDSCAPE":"প্লেয়ার অভিমুখীকরণ ল্যান্ডস্কেপে লক করা","PLAYER_ORIENTATION_SENSOR":"প্লেয়ার অভিমুখীকরণ স্বয়ংক্রিয় (সেন্সর)","PLAYER_PLAYBACK_SPEED":"প্লেব্যাক গতি","PLAYER_PLAYBACK_ERROR":"প্লেব্যাক ত্রুটি, অনুগ্রহ করে আবার চেষ্টা করুন","PLAYER_PLAYBACK_ERROR_UNKNOWN":"অজানা ত্রুটি","PLAYER_PLAYBACK_ERROR_DEFAULT":"দুঃখিত, এই ভিডিওটি {{productName}} দ্বারা চালানো যাবে না।","PLAYER_SUBTITLES_LANGUAGES":"সাবটাইটেল ভাষাসমূহ","PLAYER_SUBTITLES_VARIANTS":"সাবটাইটেল বৈকল্পিকগুলি","PLAYER_SUBTITLES_SETTINGS":"সাবটাইটেল সেটিংস","PLAYER_SUBTITLES_DISABLED":"সাবটাইটেল নিষ্ক্রিয় করা হয়েছে","PLAYER_SUBTITLES_VERTICAL_POSIITON":"উল্লম্ব অবস্থান","PLAYER_SUBTITLES_LOADED":"সাবটাইটেল লোড করা হয়েছে","PLAYER_SUBTITLES_LOADED_EMBEDDED":"এম্বেডেড সাবটাইটেল লোড করা হয়েছে","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"এক্সক্লুসিভ সাবটাইটেল লোড করা হয়েছে","PLAYER_SUBTITLES_LOADED_ORIGIN":"{{origin}} থেকে সাবটাইটেল লোড করা হয়েছে","PLAYER_PLAY":"চালান","PLAYER_PAUSE":"বিরতি","PLAYER_NEXT_VIDEO":"পরবর্তী ভিডিও","PLAYER_MUTE":"নিঃশব্দ করুন","PLAYER_UNMUTE":"শব্দ চালু করুন","PLAYER_OPEN_IN_EXTERNAL":"বাহ্যিক প্লেয়ারে খুলুন","PLAYER_OPEN_IN_NPLAYER":"nPlayer-এ খুলুন","PLAYER_PLAY_IN":"{{device}}-এ চালান","PLAYER_LIVE":"লাইভ","PLAYER_NEXT_VIDEO_TITLE":"পরবর্তীতে আসছে","PLAYER_NEXT_VIDEO_TITLE_SHORT":"পরবর্তীতে","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"বাতিল করুন","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"এখন দেখুন","PLAYER_COPY_STREAM_SUCCESS":"স্ট্রিম লিংক আপনার ক্লিপবোর্ডে কপি করা হয়েছে","PLAYER_COPY_STREAM_ERROR":"স্ট্রিম লিংক কপি করতে ব্যর্থ হয়েছে","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"ডাউনলোড লিংক আপনার ক্লিপবোর্ডে কপি করা হয়েছে","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"ডাউনলোড লিংক কপি করতে ব্যর্থ হয়েছে","STREAMING_FROM":"থেকে স্ট্রিমিং হচ্ছে","CASTING_TO":"কাস্ট করা হচ্ছে","NETWORK_STATUS":"নেটওয়ার্কের অবস্থা","STREAM_SPEED":"স্ট্রিমের গতি:","STREAM_BUFFERED":"বাফার করা হয়েছে:","PEERS_INFO":"পিয়ার তথ্য","PEERS_ACTIVE":"সক্রিয়:","PEERS_CONNECTED":"সংযুক্ত:","PEERS_WAITING":"অপেক্ষমান:","TRANSCODING_WARNING":"সতর্কতা: ভিডিও ট্রান্সকোডিং হচ্ছে।","STREAM_LOADING":"লোড হচ্ছে...","PLAYING_LOCAL":"স্থানীয় ফাইল থেকে চালানো হচ্ছে","PLAYING_CACHE":"ক্যাশে থেকে চালানো হচ্ছে","WRONG_SUBS":"ভুল সাবটাইটেল?","ERR_SUBS_LOADING_TITLE":"সাবটাইটেল লোড করতে ত্রুটি","ERR_SUBS_LOADING":"সাবটাইটেল লোড করতে ব্যর্থ হয়েছে: এটি আপনার ব্যবহৃত অ্যাড-অন বা আপনার নেটওয়ার্ক সংযোগের সমস্যা হতে পারে","WARN_FOLLOWING_SUB_ADDONS_FAILED":"নিম্নলিখিত সাবটাইটেল অ্যাড-অনগুলি ব্যর্থ হয়েছে","ERR_CASTING_UPDATE_TITLE":"কাস্টিং ডিভাইসের তথ্য আপডেট করা যায়নি: স্ট্রিমিং সার্ভার অফলাইন হতে পারে","CHOOSE_DEVICE":"দেখার জন্য একটি ডিভাইস বেছে নিন","NO_CAST_DEVICES":"কোনো কাস্টিং ডিভাইস উপলব্ধ নেই।","NO_SETTINGS":"কোনো সেটিংস উপলব্ধ নেই।","PHONE_TABLET":"ফোন / ট্যাবলেট","SUBTITLES":"সাবটাইটেল","SUBTITLES_CHANGE":"সাবটাইটেল পরিবর্তন করুন","SUBTITLES_CHANGE_NONE":"দুঃখিত, এই ভাষায় অন্য কোনো সাবটাইটেল নেই।","SUBTITLES_CHANGE_ACIVE":"বর্তমানে সাবটাইটেল #{{subtitlesDialog.activeIdx + 1}} সক্রিয় আছে। সাবটাইটেল #{{subtitlesDialog.pickedIdx + 1}} সক্রিয় করতে \'চালিয়ে যান\' ক্লিক করুন।","SUBTITLES_OR":"বিকল্পভাবে,","SUBTITLES_ADJUST_DELAY":"সাবটাইটেল বিলম্ব সামঞ্জস্য করুন:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"অথবা চালানোর সময় সামঞ্জস্য করতে <span>G</span> / <span>H</span> কী ব্যবহার করুন।","SUBTITLES_ADJUST_DELAY_TIP":"পরামর্শ: আপনি চালানোর সময় সামঞ্জস্য করতে <span>G</span> / <span>H</span> কী ব্যবহার করতে পারেন।","SUBTITLES_DELAY":"সাবটাইটেল বিলম্ব:","SUBTITLES_LOADING":"সাবটাইটেল লোড হচ্ছে...","SUBTITLES_UNAVAILABLE":"কোনো বাহ্যিক সাবটাইটেল উপলব্ধ নেই","SUBTITLES_DISABLED":"নিষ্ক্রিয়","EXTERNAL_PLAYER_DISABLED":"নিষ্ক্রিয়","EXTERNAL_PLAYER_ALLOW_CHOOSING":"বেছে নেওয়ার অনুমতি দিন","EXTERNAL_PLAYER_HINT":"ইঙ্গিত: সর্বদা বাহ্যিক প্লেয়ারে খোলার অনুমতি দেওয়ার জন্য একটি সেটিং রয়েছে","DONT_SHOW_AGAIN":"আবার দেখাবেন না","SERVICE_INSTALL":"ইনস্টল করুন","AUDIO":"অডিও","DEFAULT_LANGUAGE":"ডিফল্ট ভাষা","DEFAULT_SECONDARY_LANGUAGE":"ডিফল্ট দ্বিতীয় ভাষা","SEASON":"সিজন","EPISODE":"এপিসোড","EPISODE_ABBREVIATION":"ইপি","SPECIAL":"বিশেষ","SORT":"সাজান","SORT_BY":"সাজান","FILTER":"ফিল্টার","SORT_TRENDING":"ট্রেন্ডিং","SORT_RECENT":"সাম্প্রতিক","SORT_ALPHABET":"ক-খ","SORT_ALPHABET_REVERSE":"খ-ক","SORT_RATING":"রেটিং","SORT_WATCHED":"দেখা হয়েছে","SORT_YEAR":"বছর","SELECT_TYPE":"ধরন নির্বাচন করুন","SELECT_SORT":"সাজানোর ধরন নির্বাচন করুন","SELECT_CATALOG":"ক্যাটালগ নির্বাচন করুন","SELECT_GENRE":"ধরন নির্বাচন করুন","SORT_LASTWATCHED":"শেষ দেখা","SORT_NAME":"ক-খ","SORT_NAMEREVERSE":"খ-ক","SORT_TIMESWATCHED":"সবচেয়ে বেশি দেখা","SORT_NOTWATCHED":"দেখা হয়নি","New for You":"আপনার জন্য নতুন","New Episodes":"নতুন এপিসোড","New Videos":"নতুন ভিডিও","Recommendations":"সুপারিশকৃত","LIBRARY_RESUME":"পুনরায় শুরু করুন","LIBRARY_PLAY":"চালান","LIBRARY_DETAILS":"বিস্তারিত","LIBRARY_RESUME_DISMISS":"বাতিল করুন","LIBRARY_CLEAR_PROGRESS":"অগ্রগতি মুছে ফেলুন","LIBRARY_REMOVE":"সরান","LIBRARY_NOT_LOGGED_IN":"লাইব্রেরি শুধুমাত্র লগ ইন করা ব্যবহারকারীদের জন্য উপলব্ধ","CALENDAR_NOT_LOGGED_IN":"ক্যালেন্ডার শুধুমাত্র লগ ইন করা ব্যবহারকারীদের জন্য উপলব্ধ","NOT_LOGGED_IN_CLOUD":"আপনার প্রিয় সিনেমা এবং টিভি শোগুলি যেকোনো সময়, যেকোনো জায়গায় অ্যাক্সেস করুন","NOT_LOGGED_IN_RECOMMENDATIONS":"আপনার দেখার ইতিহাস অনুযায়ী সুপারিশ","NOT_LOGGED_IN_NOTIFICATIONS":"কখনও একটি এপিসোড মিস করবেন না","NOT_LOGGED_IN_CALENDAR":"আপনার ব্যক্তিগত দেখার ক্যালেন্ডার শিডিউল করুন","DISCOVER_FEATURED":"বৈশিষ্ট্যযুক্ত","DISCOVER_TOP":"শীর্ষ","DISCOVER_OSCAR":"অস্কার বিজয়ী","DISCOVER_WARNING_TITLE":"ওহ!","DISCOVER_EMPTY_CATALOG":"এই অ্যাডঅনটি খালি কনটেন্ট প্রদান করেছে।","DISCOVER_ADULT_WARNING":"কন্টেন্ট শুধুমাত্র প্রাপ্তবয়স্কদের জন্য দৃশ্যমান। আপনি কি ১৮+?","DISCOVER_NOADDON_WARNING":"সতর্কবার্তা: এই ধরণের জন্য কোনো Stremio অ্যাডঅন সক্রিয় নয়। সংরক্ষিত আইটেম দেখানো হচ্ছে, এখানে কিছু আপডেট হবে না।","DISCOVER_LOAD_ERR":"কন্টেন্ট লোড হয়নি, একটি ত্রুটি ঘটেছে।","DISCOVER_ADDON_UNINSTALLED":"এই কন্টেন্ট আর উপলব্ধ নেই, আপনি সম্ভবত অ্যাডঅন আনইনস্টল করেছেন।","UNINSTALL_THIS_ADDON":"এই অ্যাডঅন আনইনস্টল করুন","ERR_ADDON_NOT_INSTALLED":"এই অ্যাডঅনটি ইনস্টল করা নেই। এখনই ইনস্টল করবেন?","DETAIL_RECEIVE_NOTIF_SERIES":"নতুন এপিসোডের জন্য বিজ্ঞপ্তি পান","DETAIL_RECEIVE_NOTIF_VIDEOS":"নতুন ভিডিওর জন্য বিজ্ঞপ্তি পান","SIDEBAR_SHOW_STREAMS":"স্ট্রিমগুলি দেখান","RELAUNCH":"এখনই পুনরায় চালু করুন!","UPGRADE":"নতুন সংস্করণ উপলব্ধ! সর্বশেষ Stremio সংস্করণে আপগ্রেড করুন","RELOAD_UI":"ইউজার ইন্টারফেস পুনরায় লোড করুন","MANUAL_UPDATE_TITLE":"আপনার Stremio সংস্করণ আপডেট করুন","MANUAL_UPDATE_LINE1":"আপনি একটি পুরানো Stremio সংস্করণ চালাচ্ছেন যা অত্যন্ত অনির্দেশিত।","MANUAL_UPDATE_LINE2":"দয়া করে যত তাড়াতাড়ি সম্ভব আপডেট করুন।","BUTTON_UPDATE_LATTER":"এখন নয়","BUTTON_UPDATE_NOW":"আপডেট করুন","ANONYMOUS_USER":"অজ্ঞাত ব্যবহারকারী","DONT_HAVE_ACC":"আপনার কি একটি অ্যাকাউন্ট নেই?","HAVE_ACC":"আপনার কি একটি অ্যাকাউন্ট আছে?","PASSWORD":"পাসওয়ার্ড","PASSWORD_CONFIRM":"পাসওয়ার্ড নিশ্চিত করুন","EMAIL":"ই-মেইল","FB_LOGIN":"ফেসবুক দিয়ে চালিয়ে যান","FB_NOTHINGSHARED":"আপনার অনুমতি ছাড়া কিছুই শেয়ার করা হয় না","FB_NOPOST":"আমরা আপনার পক্ষে কিছু পোস্ট করব না","OR":"অথবা","I_ACCEPT":"আমি গ্রহণ করি","I_ACCEPT_BY_CLICKING":"উপরের বোতামে ক্লিক করে আমি স্বীকার করছি যে আমি গ্রহণ করছি ","TOS":"শর্তাবলী","MUST_ACCEPT_TERMS":"আপনাকে শর্তগুলি গ্রহণ করতে হবে","PASSWORDS_NOMATCH":"পাসওয়ার্ডগুলি মেলে না","SIGN_UP":"নিবন্ধন করুন","SIGN_UP_EMAIL":"ইমেইল দিয়ে নিবন্ধন করুন","CLICK_TO_SIGN_UP":"নিবন্ধনের জন্য এখানে ক্লিক করুন।","LOG_IN":"লগ ইন","LOG_OUT":"লগ আউট","EXIT_FULLSCREEN":"ফুলস্ক্রীন মোড থেকে বেরিয়ে যান","ENTER_FULLSCREEN":"ফুলস্ক্রীন মোডে যান","PLAY_URL_MAGNET_LINK":"URL/ম্যাগনেট লিংক চালান","HELP_FEEDBACK":"সহায়তা ও প্রতিক্রিয়া","TERMS_OF_SERVICE":"সেবার শর্তাবলী","PRIVACY_POLICY":"গোপনীয়তা নীতি","ABOUT_STREMIO":"Stremio সম্পর্কে","USER_PANEL":"ব্যবহারকারী প্যানেল","LOGIN_LABEL":"লগইন","GUEST_LOGIN":"অতিথি লগইন","GUEST_LOGIN_NOTICE":"অতিথি লগইন সুপারিশ করা হয় না। একটি নিয়মিত লগইন ব্যবহার করলে Stremio আপনার লাইব্রেরি সিঙ্ক করতে পারে, প্রিয় সিরিজ/চ্যানেলের বিজ্ঞপ্তি পেতে পারে। আপনি কি নিশ্চিত যে আপনি এগিয়ে যেতে চান?","GUEST_LOGIN_NOTICE_2":"অতিথি লগইন সুপারিশ করা হয় না - আপনার সিঙ্কড লাইব্রেরি এবং বোর্ড বিজ্ঞপ্তি থাকবে না, যা Stremio এর গুরুত্বপূর্ণ বৈশিষ্ট্য। আপনি কি নিশ্চিত যে আপনি এগিয়ে যেতে চান?","CLICK_HERE":"এখানে ক্লিক করুন","WRONG_PASSWORD":"ভুল ইমেল বা পাসওয়ার্ড। আপনি যদি আপনার পাসওয়ার্ড ভুলে থাকেন, ","SET_A_PASS":"একটি পাসওয়ার্ড সেট করুন","RESET_PASSWORD":"পাসওয়ার্ড পুনরায় সেট করুন","FORGOT_PASSWORD":"পাসওয়ার্ড ভুলে গেছেন?","EMAIL_USED_WITH_FB":"এই ইমেইলটি ফেসবুক লগইনের সাথে ব্যবহৃত হয়েছে।","INVALID_EMAIL":"অনুগ্রহ করে একটি বৈধ ইমেইল ঠিকানা প্রবেশ করুন","INVALID_PASSWORD":"অনুগ্রহ করে একটি বৈধ পাসওয়ার্ড প্রবেশ করুন","CONN_ERR":"সংযোগ ত্রুটি - দয়া করে পরে আবার চেষ্টা করুন।\\n\\nযদি এটি চলতে থাকে, ফায়ারওয়াল/অ্যান্টি-ভাইরাস সফটওয়্যার (বিশেষ করে Bitdefender) অক্ষম করুন।","IMPORT_FROM_GUEST":"আপনার অতিথি অ্যাকাউন্ট থেকে লাইব্রেরি আমদানি করুন","RECEIVE_UPDATES_EMAIL":"Stremio থেকে আপনার ইমেইলে আপডেটগুলি পান","LOGIN_FAILED":"লগইন ব্যর্থ হয়েছে।","SIGNUP_FAILED":"নিবন্ধন ব্যর্থ হয়েছে।","SEARCH_FAILED":"অনুসন্ধান ব্যর্থ হয়েছে","EMAIL_USED":"এই ইমেইলটি ইতিমধ্যে ব্যবহৃত হয়েছে।","WAITING_FB_LOGIN":"ফেসবুক দিয়ে লগইন হচ্ছে...","EXTERNAL_PLAYER_TITLE":"বাহ্যিক প্লেয়ারে চালান","EXTERNAL_REMEMBER_PLAYER":"আপনি কি আপনার পছন্দটি মনে রাখতে চান?","EXTERNAL_ALWAYS_PLAY":"হ্যাঁ","EXTERNAL_ONLY_ONCE":"না","BEST_FIT":"সেরা ফিট","FIT_SCREEN":"স্ক্রীনে ফিট","FILL":"ভরাট করুন","16:9":"16:9","4:3":"4:3","Original":"মূল","INTRO_TASTE":"আমাদের বলুন আপনি কী পছন্দ করেন","INTRO_TASTE_LONG":"আমাদের বলুন আপনি কী দেখতে চান","INTRO_TASTE_PICK":"{{interestsRemaining}} টি আগ্রহ বেছে নিন","INTRO_TASTE_PICK_MORE":"{{interestsRemaining}} টি আরও আগ্রহ বেছে নিন","INTRO_TASTE_HELP_US":"আমাদের আপনার সম্পর্কে আরও জানতে সাহায্য করুন।","INTRO_TASTE_CHOOSE_THESE":"এগুলির মধ্যে কিছু বেছে নিন:","INTRO_TASTE_CHOOSE_MIN":"অন্তত ৩টি বিভাগ বেছে নিন","INTRO_TASTE_CHOOSE_MIN_ERR":"আপনাকে অন্তত ৩টি বিভাগ বেছে নিতে হবে!","INTRO_TASTE_LIFESTYLE":"জীবনধারা","INTRO_TASTE_SPORTS":"খেলাধুলা","INTRO_TASTE_FOOD_HEALTH":"খাদ্য ও স্বাস্থ্য","INTRO_TASTE_BEAUTY_FASHION":"সৌন্দর্য ও ফ্যাশন","INTRO_TASTE_NEWS":"সংবাদ","INTRO_TASTE_GAMING":"গেমিং","INTRO_TASTE_SCIENCE_EDU":"বিজ্ঞান ও শিক্ষা","INTRO_TASTE_MUSIC":"সঙ্গীত","INTRO_TASTE_TRAVEL":"ভ্রমণ","INTRO_TASTE_LATE_NIGHT":"লেট নাইট শো","INTRO_TASTE_REALITY":"রিয়েলিটি","INTRO_TASTE_COMEDY":"কৌতুক","INTRO_TASTE_DIY":"কীভাবে DIY","INTRO_TASTE_TECH":"প্রযুক্তি","INTRO_TASTE_CINEMA":"সিনেমা","ADDON_NOT_SUPPORTED":"নির্বাচিত অ্যাডঅনটি এই প্ল্যাটফর্মে সমর্থিত নয়।","ADDON_DISCLAIMER":"তৃতীয় পক্ষের অ্যাডঅন ব্যবহার সর্বদা আপনার দায়িত্ব এবং আপনি যে অধিক্ষেত্রে আছেন তার শাসনকানুনের অধীনে হবে।","ADDON_ACTIVATE":"এই অ্যাডঅনটি সক্রিয় করবেন?","ADDON_REPO_ADD":"অ্যাডঅন সংগ্রহের URL","ADDON_ADD":"যোগ করুন","INSTALL_ADDON":"অ্যাডঅন ইনস্টল করুন","ADD_ADDON":"অ্যাডঅন যোগ করুন","ADD_ADDON_DESCRIPTION":"আপনি একটি বাহ্যিক লিঙ্কের মাধ্যমে একটি অ্যাডঅন যোগ করতে পারেন, যা ইনস্টল করা অ্যাডঅনগুলির অধীনে প্রদর্শিত হবে।","PASTE_ADDON_URL":"অ্যাডঅন URL পেস্ট করুন","WHATS_NEW":"নতুন কী","BUTTON_CONTINUE":"চালিয়ে যান","BUTTON_ACTIVATE":"সক্রিয় করুন","BUTTON_ACTIVATED":"সক্রিয় হয়েছে","BUTTON_CANCEL":"বাতিল করুন","BUTTON_SUBMIT":"জমা দিন","BUTTON_DISMISS_ALL":"সব বাদ দিন","BUTTON_VIEW_ALL":"সব দেখুন","BUTTON_SEE_ALL":"সব দেখুন","BUTTON_COLOR_TRANSPARENT":"স্বচ্ছ","OPEN_IN_BROWSER":"ব্রাউজারে খুলুন","LIB_EMPTY":"আপনার লাইব্রেরি খালি দেখাচ্ছে। এটি কতটা উপকারী তা খুঁজে বের করুন :)","HOW_START":"এভাবে আপনি শুরু করতে পারেন:","LIB_EMPTY_CAL":"আপনার ক্যালেন্ডার আপনার লাইব্রেরিতে থাকা সিরিজগুলি দেখায়।","HOW_START_CAL":"এভাবে আপনি সিরিজ যোগ করতে পারেন:","LIB_EMPTY_BOARD":"বোর্ড আপনার লাইব্রেরি সম্পর্কিত বিজ্ঞপ্তি ও সুপারিশগুলি দেখায়।","HOW_START_BOARD_WAIT":"অনুগ্রহ করে, আপনার লাইব্রেরিতে কয়েকটি সিরিজ বা চ্যানেল যোগ করুন এবং আমাদের প্রক্রিয়া করতে কয়েক মিনিট সময় দিন :)","HOW_START_BOARD":"এভাবে আপনি এতে সিরিজ এবং সিনেমা যোগ করতে পারেন:","IMPORT_FB":"<span>ফেসবুক</span> থেকে আপনার পছন্দের জিনিস আমদানি করুন","IMPORT_TRAKT":"<span>Trakt</span> থেকে আপনার মিডিয়া লাইব্রেরি আমদানি করুন","IMPORT_DISCOVER":"<span>ডিসকভার</span> থেকে আকর্ষণীয় জিনিসগুলি খুঁজে বের করুন","IMPORT_DISK":"আপনার <span>লোকাল ডিস্ক</span> এ থাকা সিনেমা বা শো আমদানি করুন","PLEASE_CREATE_ACC":"লাইব্রেরি সিঙ্ক এবং বোর্ড সক্ষম করতে দয়া করে <u>একটি অ্যাকাউন্ট তৈরি করুন</u>।","IMPORT_DISCOVER_SIGNUP":"নিবন্ধন করুন এবং <span>ডিসকভার</span> থেকে আকর্ষণীয় জিনিস খুঁজে বের করুন","IMPORT_DISK_SIGNUP":"নিবন্ধন করুন এবং আপনার <span>লোকাল ডিস্ক</span> এ থাকা সিনেমা বা শো আমদানি করুন","LIB_EMPTY_CLOUD":"ক্লাউড লাইব্রেরি","LIB_EMPTY_CLOUD_DESC":"ব্যক্তিগত ক্লাউড লাইব্রেরি সব ডিভাইসে সিঙ্ক করা থাকে","LIB_EMPTY_EARLY":"প্রথম ব্যবহারকারী","LIB_EMPTY_EARLY_DESC":"নতুন এপিসোডের জন্য বিজ্ঞপ্তি পান","LIB_EMPTY_PERSONAL":"ব্যক্তিগত","LIB_EMPTY_PERSONAL_DESC":"ব্যক্তিগত সুপারিশ পান","LIB_EMPTY_CALENDAR_DESC":"আপনার ব্যক্তিগত দেখার ক্যালেন্ডার শিডিউল করুন","LIB_EMPTY_ALL":"এইসব পেতে নিবন্ধন করুন:","LIB_EMPTY_BEST":"Stremio এর সর্বোত্তম সুবিধা পেতে নিবন্ধন করুন","LIB_EMPTY_OTHER":"ক্যালেন্ডার ও অন্যান্য চমৎকার বৈশিষ্ট্য সক্ষম করতে নিবন্ধন করুন","CALENDAR_ADDED":"Stremio ক্যালেন্ডার আপনার ডিফল্ট ডেস্কটপ ক্যালেন্ডারে যুক্ত করা হয়েছে।","CALENDAR_ADDED_MSG":"যদি এটি কাজ না করে, অনুগ্রহ করে এই URLটি আপনার ক্যালেন্ডার অ্যাপ্লিকেশনে ম্যানুয়ালি যুক্ত করুন।","TRAKT_EXPIRED":"Trakt প্রমাণীকরণ মেয়াদ শেষ হয়েছে, দয়া করে সেটিংসে যান এবং পুনরায় প্রমাণীকরণ করুন","TRAKT_REQUIRES_LOGIN":"Trakt ত্রুটি","TRAKT_REQUIRES_LOGIN_MSG":"আপনাকে লগইন করতে হবে","TRAKT_IMPORT_WATCHED":"আমদানি করুন","THEME":"থিম","THEME_DEFAULT":"ডিফল্ট","THEME_ADAPTIVE":"অ্যাডাপটিভ","SETTINGS_LABEL":"সেটিংস","SETTINGS_NAV_GENERAL":"সাধারণ","SETTINGS_NAV_PLAYER":"প্লেয়ার","SETTINGS_NAV_STREAMING":"স্ট্রিমিং","SETTINGS_NAV_SHORTCUTS":"শর্টকাট","SETTINGS_SHORTCUT_RELOAD_APP":"অ্যাপ পুনরায় লোড করুন","SETTINGS_SHORTCUT_OPEN_SETTINGS":"সেটিংস খুলুন","SETTINGS_SHORTCUT_SWITCH_TABS":"ট্যাব পরিবর্তন করুন","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"ট্যাবগুলি এগিয়ে ঘোরান","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"ট্যাবগুলি পিছনে ঘোরান","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"মেনুগুলির মধ্যে নেভিগেট করুন","SETTINGS_SHORTCUT_GO_TO_SEARCH":"সার্চে যান","SETTINGS_SHORTCUT_EXIT_BACK":"বের হন / পেছনে যান","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"প্লেব্যাক স্পিড মেনু চালু/বন্ধ করুন","SETTINGS_SHORTCUT_MENU_VIDEOS":"ভিডিও মেনু চালু/বন্ধ করুন","SETTINGS_SHORTCUT_MENU_SUBTITLES":"সাবটাইটেল মেনু চালু/বন্ধ করুন","SETTINGS_SHORTCUT_MENU_INFO":"তথ্য মেনু চালু/বন্ধ করুন","SETTINGS_SHORTCUT_FULLSCREEN":"ফুলস্ক্রিন চালু/বন্ধ করুন","SETTINGS_SHORTCUT_SHOW_CONTROLS":"কন্ট্রোলগুলি দেখান","SETTINGS_SHORTCUT_PLAY_PAUSE":"চালান / বিরতি দিন","SETTINGS_SHORTCUT_VOLUME_UP":"ভলিউম বাড়ান","SETTINGS_SHORTCUT_VOLUME_DOWN":"ভলিউম কমান","SETTINGS_SHORTCUT_SEEK_NEXT":"পরবর্তী দিকে যান","SETTINGS_SHORTCUT_SEEK_PREV":"আগের দিকে যান","SETTINGS_SHORTCUT_SEEK_BACKWARD":"পেছনের দিকে যান","SETTINGS_SHORTCUT_SEEK_FORWARD":"সামনের দিকে যান","SETTINGS_SHORTCUT_PLAY_NEXT":"পরবর্তীটি চালান","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"সাবটাইটেলের আকার বাড়ান","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"সাবটাইটেলের আকার কমান","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"সাবটাইটেলের দেরি বাড়ান","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"সাবটাইটেলের দেরি কমান","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"সাইডবার চালু/বন্ধ করুন","SETTINGS_SHORTCUT_OR":"অথবা","SETTINGS_SHORTCUT_TO":"থেকে","SETTINGS_SHORTCUT_SPACE":"স্পেস","SETTINGS_SHORTCUT_SHIFT":"শিফট","SETTINGS_SHORTCUT_ESC":"এস্কেপ","SETTINGS_TRAKT_AUTHENTICATE":"প্রমাণীকরণ করুন","SETTINGS_FACEBOOK_IMPORT":"আমদানি করুন","SETTINGS_CALENDAR_SUBSCRIBE":"সাবস্ক্রাইব করুন","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"ক্যালেন্ডার অ্যাপ খোলা হয়েছে। অনুগ্রহ করে ক্যালেন্ডারটিতে ম্যানুয়ালি সাবস্ক্রাইব করুন।","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"ক্যালেন্ডার ফাইল ডাউনলোড করা হয়েছে। অনুগ্রহ করে এটি আপনার ক্যালেন্ডার অ্যাপে আমদানি করুন।","SETTINGS_INTERFACE_LANGUAGE":"ইন্টারফেস ভাষা","SETTINGS_LAUNCH_STARTUP":"স্টার্টআপে চালু করুন","SETTINGS_VLC_DEFAULT":"VLC দিয়ে চালান","SETTINGS_UI_LANGUAGE":"UI ভাষা","SETTINGS_UI_ZOOM":"ইন্টারফেস জুম","SETTINGS_FULLSCREEN_EXIT":"Escape কী দিয়ে ফুলস্ক্রিন থেকে বের হন","SETTINGS_GAMEPAD":"গেমপ্যাড সমর্থন সক্রিয় করুন","SETTINGS_CLOSE_WINDOW":"উইন্ডো বন্ধ হলে অ্যাপ বন্ধ করুন","SETTINGS_SUBTITLES_LANGUAGE":"ডিফল্ট সাবটাইটেল ভাষা","SETTINGS_SUBTITLES_SIZE":"ডিফল্ট সাবটাইটেল আকার","SETTINGS_SUBTITLES_BACKGROUND":"সাবটাইটেল ব্যাকগ্রাউন্ড","SETTINGS_SUBTITLES_COLOR":"সাবটাইটেল রং","SETTINGS_SUBTITLES_COLOR_OUTLINE":"সাবটাইটেল আউটলাইন রং","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"সাবটাইটেল ব্যাকগ্রাউন্ড রং","SETTINGS_SEEK_KEY":"অ্যারো কী দিয়ে সময় পরিবর্তন করুন","SETTINGS_SEEK_KEY_SHIFT":"শিফট কী ধরে রাখলে অ্যারো কী দিয়ে সময় পরিবর্তন করুন","SETTINGS_REWIND_FAST_FORWARD_DURATION":"রিওয়াইন্ড এবং দ্রুত এগিয়ে যাওয়ার সময়কাল","SETTINGS_BINGE":"পরবর্তী এপিসোড স্বয়ংক্রিয়ভাবে চালান","SETTINGS_NEXT_VIDEO":"পরবর্তী এপিসোড শুরু করার বিজ্ঞপ্তি দেখান","SETTINGS_NEXT_VIDEO_TRIGGER":"পরবর্তী এপিসোডের বিজ্ঞপ্তি দেখান:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"পরবর্তী ভিডিও পপআপ সময়কাল","SETTINGS_PLAY_IN_BACKGROUND":"পটভূমিতে চালান","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"বাহ্যিক প্লেয়ারে চালান","SETTINGS_RESIZE":"চালানোর আগে উইন্ডো স্বয়ংক্রিয়ভাবে পুনরায় আকার দিন","SETTINGS_OVERRIDE_SERVER":"স্ট্রিমিং সার্ভারের URL ওভাররাইড করুন (উন্নত)","SETTINGS_SERVER_URL":"স্ট্রিমিং সার্ভারের URL:","SETTINGS_SERVER_AVAILABLE":"স্ট্রিমিং সার্ভার উপলব্ধ।","SETTINGS_SERVER_UNAVAILABLE":"স্ট্রিমিং সার্ভার উপলব্ধ নয়।","SETTINGS_SERVER_STATUS_ONLINE":"অনলাইন","SETTINGS_SERVER_STATUS_ERROR":"ত্রুটি","SETTINGS_SERVER_CONFIGURE_TITLE":"স্ট্রিমিং সার্ভারের URL কনফিগার করুন","SETTINGS_SERVER_CONFIGURE_INPUT":"একটি স্ট্রিমিং সার্ভারের URL প্রবেশ করান","SETTINGS_SERVER_CACHE_SIZE":"ক্যাশের আকার","SETTINGS_SERVER_TORRENT_PROFILE":"টরেন্ট প্রোফাইল","SETTINGS_HTTPS_ENDPOINT":"স্ট্রিমিং HTTPS এন্ডপয়েন্ট:","SETTINGS_TRANSCODE_PROFILE":"ট্রান্সকোড প্রোফাইল","SETTINGS_USE_BETA":"সবসময় সর্বশেষ বিটা ব্যবহার করুন","SETTINGS_IMPORT_FB":"ফেসবুক থেকে আমদানি করুন","SETTINGS_IMPORT_DISK":"লোকাল ডিস্ক থেকে আমদানি করুন","SETTINGS_IMPORT_TRAKT":"Trakt থেকে আমদানি করুন","SETTINGS_PAUSE_MINIMIZED":"মিনিমাইজ করা হলে প্লেব্যাক বিরতি দিন","SETTINGS_HWDEC":"হার্ডওয়্যার-অ্যাক্সিলারেটেড ডিকোডিং","SETTINGS_BACKGROUND":"পটভূমিতে প্লেব্যাক","SETTINGS_SUBSCRIBE_CALENDAR":"ক্যালেন্ডারে সাবস্ক্রাইব করুন","SETTINGS_REQ_EXPORT":"ডেটা রপ্তানির অনুরোধ করুন","SETTINGS_ACC_DELETE":"অ্যাকাউন্ট মুছে ফেলার অনুরোধ করুন","SETTINGS_CHANGE_PASSWORD":"পাসওয়ার্ড পরিবর্তন করুন","SETTINGS_TOS":"সেবার শর্তাবলী","SETTINGS_SUPPORT":"সমর্থন পরিষেবার সাথে যোগাযোগ করুন","SETTING_LANGUAGE":"ভাষা","SETTINGS_TRAKT":"Trakt স্ক্রব্লিং","SETTINGS_TRAKT_LOGOUT":"Trakt.tv থেকে লগআউট করুন","SETTINGS_TRAKT_LOGOUT_2":"Trakt থেকে লগ আউট করুন","SETTINGS_SCAN_FOR_REMOTE":"রিমোট খুলতে QR কোড স্ক্যান করুন","SETTINGS_DESKTOP_NOTIFICATIONS":"ডেস্কটপ বিজ্ঞপ্তি","SETTINGS_DATA_SAVER":"ডেটা সেভার","SETTINGS_LANGUAGE_INTERFACE":"ইন্টারফেস","SETTINGS_LANGUAGE_SUBS":"ডিফল্ট সাবটাইটেল","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"অডিও ট্র্যাক স্বয়ংক্রিয়ভাবে নির্বাচন করুন","SETTINGS_DEFAULT_AUDIO_TRACK":"ডিফল্ট অডিও ট্র্যাক","SETTINGS_SURROUND_SOUND":"সারাউন্ড সাউন্ড","SETTINGS_ACCOUNT":"অ্যাকাউন্ট","SETTINGS_PLATFORM":"প্ল্যাটফর্ম","SETTINGS_VERSION":"সংস্করণ","SETTINGS_ABOUT":"সম্পর্কে","SETTINGS_MPV_WINDOW":"প্লেয়ারকে একটি পৃথক উইন্ডোতে চালু করুন (উন্নত)","SETTINGS_PLAY_IN_EXTERNAL":"সর্বদা বাহ্যিক প্লেয়ারে ভিডিও শুরু করুন","SETTINGS_STORAGE_BUTTON":"লোকাল স্টোরেজ মুছুন","SETTINGS_STORAGE_MODAL_TITLE":"আপনি কি নিশ্চিত?","SETTINGS_STORAGE_MODAL_MESSAGE":"এটি লোকাল স্টোরেজ মুছে ফেলবে এবং আপনাকে লগ আউট করবে।","SETTINGS_HWDEC_PICKER":"হার্ডওয়্যার-ত্বরান্বিত ডিকোডিং সেটিং বেছে নিন","SETTINGS_HW_AUTOMATIC":"স্বয়ংক্রিয়","SETTINGS_HW_DISABLED":"নিষ্ক্রিয়","SETTINGS_HW_ACCELERATED":"ডিকোডিং ত্বরণ","SETTINGS_HW_FULL":"সম্পূর্ণ ত্বরণ","SETTINGS_HW_LEGACY":"লেগাসি","SETTINGS_DISABLED":"নিষ্ক্রিয়","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"নেটওয়ার্ক সংযোগ বিজ্ঞপ্তি","SETTINGS_REMOTE_URL":"দূরবর্তী URL","SETTINGS_COPY_REMOTE_URL":"দূরবর্তী URL কপি করুন","SETTINGS_REMOTE_URL_COPIED":"দূরবর্তী URL আপনার ক্লিপবোর্ডে কপি করা হয়েছে","SETTINGS_SECTION_SUBTITLES":"সাবটাইটেল","SETTINGS_SECTION_AUDIO":"অডিও","SETTINGS_SECTION_CONTROLS":"নিয়ন্ত্রণ","SETTINGS_SECTION_AUTO_PLAY":"অটো-প্লে","SETTINGS_SECTION_ADVANCED":"উন্নত","SUBSPICKER_AUDIO":"অডিও","SUBSPICKER_SUBTITLES":"অ্যাডঅন সাবটাইটেল","SUBSPICKER_BLACK_BACKGROUND":"কালো ব্যাকগ্রাউন্ড ব্যবহার করুন","SUBSPICKER_VERTICAL_OFFSET":"লম্বভাবে অফসেট","SUBSPICKER_SIZE":"আকার","SUBSPICKER_DELAY":"বিলম্ব","SUBSPICKER_EMBEDDED_SUBS":"এমবেডেড সাবটাইটেল","MOBILE_PRIVACY_POLICY":"গোপনীয়তা নীতি","MOBILE_CRASH_REPORTING":"ক্র্যাশ রিপোর্টিং","MOBILE_ZOOM_TO_FILL":"স্ক্রিন ভরাট করতে জুম করুন","MOBILE_PASSTHROUGH":"ডিজিটাল অডিও আউটপুট (পাসথ্রু)","MOBILE_RUN_LOW_BATTERY":"কম ব্যাটারিতে চালান","MOBILE_RUN_FOREGROUND":"ফোরগ্রাউন্ড সার্ভিস হিসেবে চালান","MOBILE_PERFORMANCE":"কর্মক্ষমতা ও স্থিতিশীলতা","MOBILE_SERVER_ONLINE":"অনলাইন","MOBILE_SERVER_OFFLINE":"অফলাইন","MOBILE_QR_EXPIRES":"QR কোড মেয়াদ শেষ হচ্ছে ","MOBILE_LOG_INTO":"আপনার স্ট্রেমিও অ্যাকাউন্টে লগ ইন করুন ","MOBILE_SCAN_QR":"উপরের QR কোড স্ক্যান করুন অথবা যান ","MOBILE_LINK_ACCOUNT":"অ্যাকাউন্ট লিংক করুন","MOBILE_SPEEDPICKER_CANCEL":"বাতিল","MOBILE_SPEEDPICKER_LABEL":"প্লেব্যাক স্পিড নির্বাচন করুন","MOBILE_EMPTY_LIBRARY":"আপনার লাইব্রেরি খালি","MOBILE_NO_ADDON_ACTIVE":"এই ধরনের জন্য কোনো স্ট্রেমিও অ্যাডঅন সক্রিয় নেই।","MOBILE_ORGANIZER_WARNING":"স্ট্রেমিও অর্গানাইজার অ্যাপ সীমিত কার্যকারিতা প্রদান করে। প্লে করার যোগ্য স্ট্রিমের তালিকা এবং সম্পূর্ণ স্ট্রেমিও অভিজ্ঞতার জন্য, ডেস্কটপে স্ট্রেমিও ব্যবহার করুন।","MOBILE_ADDON_LOADING":"এখনও লোড হচ্ছে","MOBILE_ADDONS_LOADING":"অ্যাডঅন এখনও লোড হচ্ছে","MOBILE_ADDON":"অ্যাডঅন","MOBILE_CONFIGURE_ADDON":"আপনার অ্যাডঅন কনফিগার করুন","MOBILE_CONFIGURE_ADDON_LABEL":"অ্যাডঅন কনফিগার করুন","MOBILE_ORGANIZER_ADDONS_WARNING":"স্ট্রেমিও অর্গানাইজার অ্যাপ সীমিত অ্যাডঅন নির্বাচন প্রদান করে। সম্পূর্ণ স্ট্রেমিও অভিজ্ঞতার জন্য, ডেস্কটপে স্ট্রেমিও ব্যবহার করুন।","MOBILE_DISCONNECT":"সংযোগ বিচ্ছিন্ন করুন","MOBILE_LOOKING_FOR_DEVICES":"ডিভাইস খোঁজা হচ্ছে...","MOBILE_CAST_TO":"কাস্ট করুন","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"অ্যাকাউন্ট মুছুন","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"আইনি বাধ্যবাধকতার কারণে অ্যাকাউন্ট মোছা তাৎক্ষণিক নয়। আপনার অ্যাকাউন্ট মোছার অনুরোধ করার পরে আপনাকে ভবিষ্যতে একটি নতুন স্ট্রেমিও অ্যাকাউন্ট তৈরি করতে ভিন্ন ইমেইল ঠিকানা/ফেসবুক প্রোফাইল ব্যবহার করতে হবে।","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"অ্যাকাউন্ট মোছা নিশ্চিত করুন","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"আপনার অ্যাকাউন্ট ফেসবুক ব্যবহার করে তৈরি করা হয়েছে। আপনার অ্যাকাউন্ট মুছতে, অনুগ্রহ করে www.stremio.com/login এ আমাদের ব্যবহারকারী পোর্টাল ব্যবহার করুন","MOBILE_DELETE_ACCOUNT_MESSAGE":"অ্যাকাউন্ট মোছা নিশ্চিত করতে অনুগ্রহ করে আপনার পাসওয়ার্ড প্রদান করুন।","MOBILE_DELETE_ACCOUNT_BUTTON":"অ্যাকাউন্ট মুছুন","NAVIGATION_ON":"চালু","NAVIGATION_OFF":"বন্ধ","MARKETING_AGREE":"আমি স্ট্রেমিও থেকে মার্কেটিং যোগাযোগ পেতে সম্মত","QUIT":"প্রস্থান","CONNECTED":"সংযুক্ত","AUTHENTICATE":"প্রমাণীকরণ","CACHING":"ক্যাশিং","SETTINGS_CACHING_DRIVE":"ক্যাশিং ড্রাইভ","ENABLE_LOCAL_FILES_ADDON":"লোকাল ফাইল অ্যাডঅন সক্রিয় করুন (পুনরারম্ভ প্রয়োজন)","LOCAL_ADDON_NOT_ENABLED":"লোকাল অ্যাডঅন সক্রিয় নয়। সেটিংসে যেতে এবং এটি সক্রিয় করতে এখানে ক্লিক করুন","ENABLE_REMOTE_HTTPS_CONN":"দূরবর্তী HTTPS সংযোগ সক্রিয় করুন","TORRENT_PROFILE":"টরেন্ট প্রোফাইল","DATA_CACHING":"ডেটা ক্যাশিং","MAGNET_PARSING":"একটি ম্যাগনেট লিঙ্ক পার্স করা হচ্ছে","January":"জানুয়ারি","February":"ফেব্রুয়ারি","March":"মার্চ","April":"এপ্রিল","May":"মে","June":"জুন","July":"জুলাই","August":"আগস্ট","September":"সেপ্টেম্বর","October":"অক্টোবর","November":"নভেম্বর","December":"ডিসেম্বর","Monday":"সোমবার","Tuesday":"মঙ্গলবার","Wednesday":"বুধবার","Thursday":"বৃহস্পতিবার","Friday":"শুক্রবার","Saturday":"শনিবার","Sunday":"রবিবার","Action":"অ্যাকশন","Comedy":"কমেডি","War":"যুদ্ধ","Family":"পারিবারিক","Animation":"অ্যানিমেশন","Adventure":"অ্যাডভেঞ্চার","Fantasy":"ফ্যান্টাসি","Crime":"অপরাধ","Mystery":"রহস্য","Romance":"রোমান্স","Drama":"নাটক","Horror":"ভয়ঙ্কর","Thriller":"থ্রিলার","Sci-Fi":"সায়েন্স ফিকশন","Music":"সঙ্গীত","Biography":"জীবনী","Documentary":"তথ্যচিত্র","Sport":"ক্রীড়া","Musical":"সাঙ্গীতিক","Western":"পশ্চিমী","Film-Noir":"ফিল্ম নোয়ার","News":"সংবাদ","History":"ইতিহাস","Game-Show":"গেম-শো","Reality-TV":"রিয়েলিটি-টিভি","Talk-Show":"টক-শো","Film & Entertainment":"চলচ্চিত্র ও বিনোদন","Gaming":"গেমিং","From TV":"টিভি থেকে","Lifestyle":"জীবনধারা","Science & Education":"বিজ্ঞান","Cooking & Health":"রান্না ও স্বাস্থ্য","Beauty & Fashion":"সৌন্দর্য ও ফ্যাশন","Sports":"খেলাধুলা","News & Politics":"সংবাদ ও রাজনীতি","How-to & DIY":"কিভাবে করবেন ও নিজে করুন","Tech":"প্রযুক্তি","Automotive":"যানবাহন","Causes & Non-Profits":"কারণ ও অলাভজনক সংস্থা","Movies":"চলচ্চিত্র","Uk Live Tv":"যুক্তরাজ্য লাইভ টিভি","Fashion":"ফ্যাশন","Business News Radio":"ব্যবসা সংবাদ রেডিও","Business Tv":"ব্যবসা টিভি","Cars & Auto":"গাড়ি ও অটোমোবাইল","Comedy Radio":"কমেডি রেডিও","Lifestyle Radio":"লাইফস্টাইল রেডিও","News Tv":"সংবাদ টিভি","Food And Wine":"খাবার ও মদ","Latino Tv":"ল্যাটিনো টিভি","Shopping Tv":"শপিং টিভি","Religion":"ধর্ম","Kids":"শিশু","Body & Soul":"দেহ ও আত্মা","Education":"শিক্ষা","Indian Tv":"ভারতীয় টিভি","Extreme Sports":"চরম ক্রীড়া","Middle Eastern Tv":"মধ্যপ্রাচ্যের টিভি","Celebrity Tv":"সেলিব্রিটি টিভি","Science Tv":"বিজ্ঞান টিভি","Bikini babe":"বিকিনি বেব","Outdoors":"বাইরে","German Tv":"জার্মান টিভি","French Tv":"ফরাসি টিভি","Italian Tv":"ইতালীয় টিভি","Gamer Tv":"গেমার টিভি","Travel":"ভ্রমণ","Asian Tv":"এশীয় টিভি","Entertainment":"বিনোদন","News Radio":"সংবাদ রেডিও","Music Radio":"সঙ্গীত রেডিও","Language Learning":"ভাষা শেখা","Science Radio":"বিজ্ঞান রেডিও","Tech Radio":"প্রযুক্তি রেডিও","Science & Technology Vod":"বিজ্ঞান ও প্রযুক্তি ভিওডি","new video":"নতুন ভিডিও","new episode":"নতুন পর্ব","new movie":"নতুন চলচ্চিত্র","recommended":"সুপারিশকৃত","we recommend":"আমরা সুপারিশ করি","offer of the day":"আজকের অফার","news":"সংবাদ","music video":"সঙ্গীত ভিডিও","CTX_SHOW_HOTKEYS":"হটকী দেখান","CTX_DISMISS_NOTIF":"বিজ্ঞপ্তি খারিজ করুন","CTX_DISMISS_ALL":"সব খারিজ করুন","CTX_SHARE":"শেয়ার করুন","CTX_COPY_SHARE_LINK":"শেয়ার লিঙ্ক কপি করুন","CTX_COPY_MAGNET_LINK":"ম্যাগনেট লিঙ্ক কপি করুন","CTX_COPY_STREAM_LINK":"স্ট্রিম লিঙ্ক কপি করুন","CTX_COPY_VIDEO_DOWNLOAD_LINK":"ভিডিও ডাউনলোড লিঙ্ক কপি করুন","CTX_DOWNLOAD_VIDEO":"এই ভিডিওটি ডাউনলোড করুন","CTX_DOWNLOAD_SUBS":"সাবটাইটেল ডাউনলোড করুন","CTX_VIEW_ON_YOUTUBE":"ইউটিউবে দেখুন","CTX_SHOW":"দেখান","CTX_PLAY":"চালান","CTX_PLAY_IN":"এতে চালান","CTX_PLAY_ON":"এতে চালান","CTX_WATCH_ON":"এতে দেখুন","CTX_WATCH":"দেখুন","CTX_WATCHED":"দেখা হয়েছে","CTX_WATCH_BEGINNING":"শুরু থেকে দেখুন","CTX_WATCH_MOBILE":"মোবাইল ডিভাইসে দেখুন","CTX_REWIND":"শুরুতে ফিরে যান","CTX_MARK_WATCHED":"দেখা হিসেবে চিহ্নিত করুন","CTX_MARK_NON_WATCHED":"না দেখা হিসেবে চিহ্নিত করুন","CTX_MARK_UNWATCHED":"না দেখা হিসেবে চিহ্নিত করুন","CTX_MARK_REST":"বাকিগুলো দেখা হিসেবে চিহ্নিত করুন","CTX_UNMARK_REST":"বাকিগুলো না দেখা হিসেবে চিহ্নিত করুন","CTX_RECEIVE_NEW_NOTIF":"নতুন বিজ্ঞপ্তি পান","CTX_ENABLE_NEW_NOTIF":"বিজ্ঞপ্তি চালু করুন","CTX_DISABLE_NEW_NOTIF":"বিজ্ঞপ্তি বন্ধ করুন","CTX_REMOVE_CACHE":"ক্যাশে থেকে সরান","CTX_REMOVE_CACHE_EP":"এপিসোড ক্যাশে থেকে সরান","CTX_OPEN_CONTAINING":"ধারণকারী ফোল্ডার খুলুন","CTX_REMOVE":"লাইব্রেরি থেকে সরান","CTX_AVAILABLE_OFFLINE":"অফলাইনে উপলব্ধ","CTX_PAUSED":"বিরতি","CTX_ALWAYS_ON_TOP":"সবসময় উপরে","CTX_FULLSCREEN":"পূর্ণ পর্দা","CTX_WRONG_SUBS":"ভুল সাবটাইটেল?","CTX_REPORT_ISSUES":"সমস্যা রিপোর্ট করুন","CTX_COPY":"কপি করুন","CTX_PASTE":"পেস্ট করুন","CTX_CLEAR":"মুছে ফেলুন","CTX_CLEAR_RECENT_SEARCHES":"সাম্প্রতিক অনুসন্ধান মুছে ফেলুন","HELLO_THERE":"হ্যালো","HOPE_YOU_ENJOY":"আমরা আশা করি আপনি স্ট্রেমিও উপভোগ করছেন এবং এটি ইতিমধ্যে আপনার পছন্দের অ্যাপগুলির মধ্যে একটি!","WHO_ARE_WE":"আমরা কারা? আমরা এর পিছনের দল - দুজন লোক যারা গত ৩ বছর ধরে প্রতিদিন কঠোর পরিশ্রম করে এই পণ্যটিকে আরও ভালো করে তুলছে।","SUPPORT_US":"যদি আপনি স্ট্রেমিও ব্যবহার করে আনন্দ পান, যদি স্ট্রেমিও আপনার কাছে মূল্যবান হয় - কথাটি ছড়িয়ে দিন!","SPREAD_THE_WORD":"এখনই আপনার বন্ধুদের সাথে শেয়ার করুন, স্ট্রেমিও সম্পর্কে কথা ছড়িয়ে দিন","MORE_PEOPLE":"যত বেশি লোক স্ট্রেমিও ব্যবহার করবে, এটি তত ভালো হবে!","SEND_A_LINK":"অথবা আমাদের ওয়েবসাইটের একটি লিঙ্ক পাঠান","TIP_LOCALFILES":"টিপ: আপনি স্থানীয় ভিডিও ফাইলগুলি স্ট্রেমিওতে টেনে এনে ছাড়তে পারেন","ADDON_MY":"আমার অ্যাডঅন","ADDON_COMMUNITY":"কমিউনিটি অ্যাডঅন","ADDON_OFFICIAL":"অফিসিয়াল অ্যাডঅন","ADDON_REPOS":"অ্যাডঅন সংগ্রহ","ADDON_SEARCH":"অ্যাডঅন খুঁজুন","ADDON_INSTALL":"ইনস্টল করুন","ADDON_CONFIGURE":"কনফিগার করুন","ADDON_UNINSTALL":"আনইনস্টল করুন","ADDON_UPGRADE":"আপগ্রেড করুন","ADDON_INSTALLED":"ইনস্টল করা হয়েছে","ADDON_INSTALLED_MSG":"অ্যাডঅন ইনস্টল করা হয়েছে!","ADDON_UPGRADED_MSG":"অ্যাডঅন আপগ্রেড করা হয়েছে!","ADDON_UNKNOWN":"অজানা","ADDON_ERR":"অ্যাডঅন ইনস্টল ত্রুটি!","ADDON_DISCONNECTED":"সংযোগ বিচ্ছিন্ন","ADDON_APP_MISSING":"এই উৎসের জন্য অ্যাপটি ইনস্টল করা নেই। আপনি কি এখন এটি ইনস্টল করতে চান?","ADDON_APP_INSTALL":"এখন ইনস্টল করুন","ADDON_PAGE":"অ্যাডঅন পৃষ্ঠা","ADDON_TOP_CONTENT":"এই অ্যাডঅন থেকে সেরা","ADDON_PROVIDES":"এই অ্যাডঅন আপনাকে দেবে:","ADDON_WATCH":"এখন #{types} দেখুন!","ADDON_WATCH_FREE":"এখন বিনামূল্যে #{types} দেখুন!","ADDON_ADDON":"অ্যাডঅন","ADDON_SUPPORTED_TYPES":"সমর্থিত প্রকার","ADDON_SUPPORTED_CATALOGS":"সমর্থিত ক্যাটালগ","ADDON_PROVIDES_DISCOVER":"আবিষ্কারে আরও #{types}","ADDON_PROVIDES_STREAMS":"#{types} দেখুন","ADDON_PROVIDES_STREAMS_FREE":"বিনামূল্যে #{types} দেখুন","ADDON_PROVIDES_SUBTITLES":"#{types} এর জন্য সাবটাইটেল","ADDON_CANTDETECT":"আমরা একটি চলমান স্ট্রেমিও সনাক্ত করতে পারিনি, তাই আমরা আপনার কোন অ্যাডঅন ইনস্টল করা আছে তা সনাক্ত করতে পারিনি।","ERR_NO_META":"এই সম্পর্কে কোন তথ্য পাওয়া যায়নি ","ERR_GETTING_META":"এই সম্পর্কে তথ্য সংগ্রহ করতে ত্রুটি।","ERR_CANT_PARSE_MAGNET":"ম্যাগনেট পার্স করতে অক্ষম","ERR_NO_MAGNET_INFOHASH":"ম্যাগনেটের জন্য কোন বৈধ তথ্য হ্যাশ নেই","ERR_NO_FILE_PATH":"ফাইলের পাথ ছাড়া অনুরোধ পাঠাতে অক্ষম","ERR_NO_TORRENT":"কোন টরেন্ট ফেরত আসেনি","ERR_NO_SUPPORTERD_FILES":"কোন সমর্থিত ফাইল পাওয়া যায়নি","ERR_OPENING_FILES":"বাহ্যিক ফাইল খুলতে পারেনি","ERR_INVALID_LINK":"অবৈধ লিঙ্ক","ERR_REGISTERED_ONLY":"এই অপশনটি শুধুমাত্র নিবন্ধিত ব্যবহারকারীদের জন্য উপলব্ধ।","ERR_CLIPBOARD":"ক্লিপবোর্ড থেকে চালাতে পারে না","ERR_CLIPBOARD_READ":"এই প্ল্যাটফর্মে ক্লিপবোর্ড পড়তে পারে না","ERR_CLIPBOARD_GENERIC":"No playable URL found in the clipboard. Please copy a URL (e.g. a magnet link) to a video.","BOARD_CONTINUE_WATCHING":"Continue watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Movies picked specially for you.<br />This movie is a sample recommendation.","BOARD_EXPLANATION_EPISODES":"New episodes of your favorite Series come here.<br />Add series you follow to your Library.","BOARD_EXPLANATION_VIDEOS":"New episodes of your favorite Channels come here.<br />Add YouTube channels you follow to your Library.","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE":"Contribute","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"Learn more","WEBSITE_COMPANY":"Company","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Need Help?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"Watch Instantly","WEBSITE_SLOGAN_ALL":"All the Video Content You Enjoy in One Place","WEBSITE_SLOGAN_NEW":"All You Can Watch","WEBSITE_SLOGAN_NEW_NEW":"Freedom to Stream","WEBSITE_WATCH_FROM":"Watch from","WEBSITE_DOWNLOAD":"Download Now","WEBSITE_DOWNLOAD_FOR":"Download Now For","WEBSITE_IS_DESKTOP":"Stremio is a desktop application, open this page on your PC and download it","WEBSITE_DESKTOP_DEMO_VID":"Desktop demo","WEBSITE_PAGE_HOME":"Home","WEBSITE_PAGE_FEATURES":"Features","WEBSITE_PAGE_ADDONS":"Addons","WEBSITE_PAGE_TECH":"Technology","WEBSITE_PAGE_CREATE_ADDON":"Create Addon","WEBSITE_PAGE_CONTACTS":"Contacts","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Movies","WEBSITE_TYPE_series_PL":"Series","WEBSITE_TYPE_tv":"Live TV","WEBSITE_TYPE_channel":"Channels","WEBSITE_STREMIO_WHAT_IS":"Stremio is an app that helps you organize and instantly watch your favorite videos, movies, TV series and TV channels.","WEBSITE_FEATURES_WATCH":"Watch Instantly in HD","WEBSITE_FEATURES_WATCH_DETAIL":"Click and play your favourite movies, TV Shows, videos and TV channels.","WEBSITE_FEATURES_SUBS":"Automatic Subtitles","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio automatically picks synced subtitles for your language.","WEBSITE_FEATURES_SUBS_LABEL":"Your move, chief.","WEBSITE_FEATURES_CAST":"Play on TV & mobile devices","WEBSITE_FEATURES_CAST_DETAIL":"Cast to AppleTV, Chromecast, Smart TV (DLNA/UPnP) and mobile devices.","WEBSITE_LIB":"Enjoy Your Personal Library Synced on All Your Devices","WEBSITE_LIB_COLLECT":"Collect from Stremio","WEBSITE_LIB_IMPORT":"Import from Facebook","WEBSITE_LIB_LOCAL":"Add from your local drive","WEBSITE_BOARD":"The Board - Your one-stop place for Notifications and Recommendations","WEBSITE_BOARD_RECOMMEND":"Recommended TV Show","WEBSITE_BOARD_TRENDING":"Trending Movie","WEBSITE_BOARD_NEW":"New Video","WEBSITE_BOARD_EPISODE":"New Episode","WEBSITE_BOARD_1":"Looking for something interesting to watch? Get recommendations based on your taste!","WEBSITE_BOARD_2":"Get notified when a new episode of your favourite TV show or YouTube channel is out!","WEBSITE_BOARD_YOUTUBE":"New videos of YouTube channels","WEBSITE_BOARD_EPISODES":"New episodes of series you follow","WEBSITE_ADDONS":"Content Addons","WEBSITE_TECH_DETAIL":"We love technology, we love mad science!\\nStremio is using the following open source technologies:","WEBSITE_TECH_WCJS":"WebChimera.js allows Stremio to play any video format with good performance.","WEBSITE_TECH_WCJS_EXTRA":"We are core project contributors","WEBSITE_TECH_ELECTRON":"Electron provides an innovative platform to build Stremio with.","WEBSITE_TECH_ELECTRON_EXTRA":"We are project contributors","WEBSITE_TECH_LINVODB":"A database technology that ensures your data is organized and available anywhere you login.","WEBSITE_TECH_LINVODB_EXTRA":"In-house technology","WEBSITE_CREATE_ADDON":"Create your addon","WEBSITE_CREATE_ADDON_DETAIL":"Do you have a service providing video content? We\'ll help you benefit from Stremio\'s features by creating your Addon.","WEBSITE_CREATE_ADDON_BENEFITS":"Benefits of Creating an Addon for Stremio","WEBSITE_P2P_BEAUTY":"The Beauty of Peer-to-Peer Streaming","WEBSITE_P2P_1":"Reliable and affordable full HD / 4K video on demand or live streaming","WEBSITE_P2P_2":"Distribution platform providing great user experience","WEBSITE_P2P_3":"We will create an addon meeting your exact needs","WEBSITE_P2P_CONTACT":"Interested? You are welcome to <a href=\'mailto:office@stremio.com\'>contact us</a>.","WEBSITE_P2P_CONTACT_EXTRA":"We will be happy to help you integrate your content with Stremio!","WEBSITE_P2P":"Once in a while, there comes a technology that changes the name of the game. We invested tons of time and effort in building our Peer-to-Peer (P2P) video streaming engine that provides great performance and versatility to adapt with any use case.\\nContact us for DRM-enabled P2P video on demand or live streaming.","WEBSITE_THOUGHTS":"Thoughts we share:","WEBSITE_SPREAD":"Spread the word about Stremio:","WEBSITE_CONTACT":"Contact us, we\'ll be happy to hear from you!","WEBSITE_OPENSOURCE":"For our open source projects, go to our","WEBSITE_BITCOIN":"Donate bitcoin:","WEBSITE_FAQ":"Frequently asked questions","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Questions","WEBSITE_TOS":"Terms of use","WEBSITE_LEGAL":"Legal","WEBSITE_PAGE_ABOUT":"About","WEBSITE_PAGE_BECOME_PARTNER":"Become a partner","WEBSITE_ALL_YOU_CAN_WATCH":"Freedom To Watch\\nEverything You Want.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"What is stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio is a one-stop hub for video content aggregation. Discover, organize and watch video from all kind of sources on any device that you own.","WEBSITE_WHAT_IS_STREMIO_P2":"Movies, TV shows, series, live television or web channels like YouTube and Twitch.tv - you can find all this on Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio is a modern media center that\'s a one-stop solution for your video entertainment. You discover, watch and organize video content from easy to install addons.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Movies, TV shows, live TV or web channels - find all this on Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Enjoy on all your Media devices","WEBSITE_DEVICES_COLLECT":"Collect from Stremio","WEBSITE_DEVICES_IMPORT_FB":"Import from facebook","WEBSITE_DEVICES_LOCAL":"Add from local drive","WEBSITE_JOIN_THE_PARTY_NOW":"Join the party now","WEBSITE_DEVICES_ALL":"Easy to use on all your devices;","WEBSITE_EXTENDABLE_CATALOG":"Infinitelly extendable video catalog;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Great features to organize your media;","WEBSITE_AS_SEEN_ON":"As seen on","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"About us","WEBSITE_LINK_TECHNOLOGY":"Technology","WEBSITE_LINK_APPS":"Apps","WEBSITE_LINK_DOWNLOADS":"Downloads","WEBSITE_MORE":"More","WEBSITE_LINK_ADDONS":"Addons","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Contribute","WEBSITE_LINK_COMMUNITY":"Community","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... & More","WEBSITE_LINK_HELP":"Help center","WEBSITE_LINK_CONTACTS":"Business inquiries","WEBSITE_LINK_TOS":"Terms & conditions","WEBSITE_LINK_PRAVACY":"Privacy policy","WEBSITE_SUBSCRIBE":"Subscribe","WEBSITE_NEWSLETTER":"Join Our Newsletter for amazing stuff","WEBSITE_PLACEHOLDER_EMAIL":"Your Email","WEBSITE_COMMUNITY":"Community","WEBSITE_LINK_PRAVACY_LEGAL":"Privacy & legal","WEBSITE_WHY":"Why we do it","WEBSITE_WHY_P1":"At Stremio, we come to work every day because we want to solve an important problem for the video-on-demand industry. There’s so much new content published every minute that it’s virtually impossible to find your way around it.","WEBSITE_WHY_P2":"We help people navigate that huge world of video entertainment and discover new content to enjoy. Our apps bring together movies, series, live TV, web channels, and more. We are dedicated to making it incredibly easy for users to find titles and broadcasters that they love.","WEBSITE_WHY_P3":"You can use our service on any device and at any time, making Stremio the only video entertainment hub you’ll ever need.","WEBSITE_TEAM":"TEAM","WEBSITE_TEAM_P":"The Stremio team is small but powerful: between the ten of us, we code in X languages, and share expertise in software development, UI and UX design, marketing and advertising, and business and startups.","WEBSITE_FEATURES":"Features","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Discover new content with ease","WEBSITE_FEATURES_DISCOVER_P":"Easily discover new movies, TV shows, series and channels to watch. Browse by category, genre, rating, recency, etc. or simply type a name to find. Stremio makes finding new video content a piece of cake.","WEBSITE_FEATURES_ALL_CONTENT":"All of your video content on one screen","WEBSITE_FEATURES_ALL_CONTENT_P1":"See what movies, series or videos you didn’t finish and continue watching them; get notified for new episodes and releases; and browse through the recommendations you will get based on your viewing habits.","WEBSITE_FEATURES_LIBRARY":"Organize your video library","WEBSITE_FEATURES_LIBRARY_P1":"Add any title to your Stremio library with a single click and find your way around your content, neatly arranged by type, recency, or alphabetical order.","WEBSITE_FEATURES_CALENDAR":"Keep track of everything you watch","WEBSITE_FEATURES_CALENDAR_P1":"Get a calendar visualization of all the movies and series you add to your library. Export your Stremio calendar and sync it so you always know when a new episode or a premier is due.","WEBSITE_FEATURES_BIG_SCREEN":"Enjoy your video content on a bigger screen","WEBSITE_FEATURES_BIG_SCREEN_P1":"Cast whatever you are watching to another device - be it a phone, tablet or a TV with a single click.","WEBSITE_FEATURES_SOURCES":"Watch video from many different sources","WEBSITE_FEATURES_SOURCES_P":"Install official and community addons to enjoy video sourced from many different providers - all in one sleek, easy to use app.","WEBSITE_CREATE_AN_ADDON":"Create an addon","WEBSITE_FEATURES_SYNC":"Sync your library across different devices and resume your playback","WEBSITE_FEATURES_SYNC_P1":"Login with your account across all your devices and enjoy your library, addons, playback and calendar synchronized.","WEBSITE_FEATURES_EXTENDABLE":"Extendable video catalog by addons","WEBSITE_FEATURES_EXTENDABLE_P1":"The Stremio addon catalog provides a number of addons to install and watch a variety of video content from. This includes movies, shows, live TV, sport, news, podcasts, web channels, video games and more.","WEBSITE_FEATURES_AUTO_SUBS":"Automatic subtitles","WEBSITE_FEATURES_AUTO_SUBS_P1":"With our subtitle addons you get automatically selected options for your preferred language.","WEBSITE_FEATURES_CHROMECAST":"Casting to Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Enjoy your video content on a bigger screen or just cast whatever you are watching to another device.","WEBSITE_FEATURES_KEEP_TRACK":"Keep track of your favorite TV shows and Web channels","WEBSITE_FEATURES_KEEP_TRACK_P1":"Get a calendar visualization and notifications for new episodes of your favorite series and web channels.","WEBSITE_FEATURES_POWER_USER":"Power user features","WEBSITE_FEATURES_POWER_USER_P1":"Play in external player","WEBSITE_FEATURES_POWER_USER_P2":"Play from a torrent file or magnet link","WEBSITE_FEATURES_POWER_USER_P3":"Import to your library from Facebook likes or local disk","WEBSITE_ADD_ONS":"Addons","WEBSITE_ADD_ONS_P1":"All of the video content Stremio provides get sourced through an addon system - no content or content provider has been built into the app.","WEBSITE_ADD_ONS_P2":"There are two groups of addons available: official and community addons.","WEBSITE_ADD_ONS_P3":"The official ones are developed and hosted by Stremio, whereas community addons are created by our community members, who also host them.","WEBSITE_ADDONS_OFFICIAL":"Official addons","WEBSITE_ADDONS_WATCHUB":"Stream your favourite movies, series and shows from providers like iTunes, Hulu, Amazon and other UK/US services.","WEBSITE_ADDONS_YOUTUBE":"Watch your favourite YouTube channels ad-free and get notifications for new uploads from the contributors you follow.","WEBSITE_ADDONS_FILMON":"Watch live TV, movies and social television for free. 600 TV channels, 45,000 free movies, documentaries and more.","WEBSITE_ADDONS_OPENSUBTITLES":"Movie and TV subtitles in multiple languages, thousands of translated subtitles uploaded every day.","WEBSITE_ADDONS_COMMUNITY":"Community addons","WEBSITE_ADDONS_FILMON_VOD":"Watch video on demand from Filmon.tv","WEBSITE_ADDONS_TWICH":"Watch live streams from Twitch.tv - a video streaming platform for the e-sports industry.","WEBSITE_ADDONS_VODO":"Watch indie movies absolutely free of charge.","WEBSITE_ADDONS_NETFLIX":"Watch Netflix movies and web series.","WEBSITE_ADDONS_CREATE":"Create an addon","WEBSITE_ADDONS_CREATE_P1":"If you wish, you can develop your own addon. This way, you can give yourself and our community access to new video content, and reach a new, targeted audience of millions of users around the world.","WEBSITE_ADDONS_START_CREATE":"To get started, visit the Stremio Addon SDK page:","WEBSITE_DOWNLOADS":"Downloads","WEBSITE_DOWNLOADS_P1":"For optimal performance, we recommend that you use the latest available version of the Stremio apps. If for some reason, however, you would like to use an older version, you can download it here.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio for Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio for macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio for Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio for Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio for iOS (limited version)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"The Stremio platform is open source and you can easily create an addon for content that is currently not sourced.","WEBSITE_CONTRIBUTE_WHY":"Why should you create an addon?","WEBSITE_CONTRIBUTE_WHY_P1":"Reach new audience for your video content","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio’s user base is growing rapidly - within the first year of the launch, Stremio had gained 1 million users around the world, and in the second year of the platform’s existence this number grew to 2.5 million.","WEBSITE_CONTRIBUTE_WHY_P3":"With your addon, you can easily reach this audience and distribute your video content to them.","WEBSITE_CONTRIBUTE_ALL":"Watch your favourite movies, videos, series and channels in one single place.","WEBSITE_CONTRIBUTE_ALL_P1":"You’re a fan of a particular type of content not available on Stremio yet? Create an addon for it and enjoy watching your favourite videos in one of the largest and easiest to use entertainment hubs on the market.","WEBSITE_CONTRIBUTE_ALL_P2":"On top of that, you’ll get the endless gratitude of other like-minded Stremio community members.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetize your addon and earn money with its help","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Once you develop a new addon for Stremio, you can easily monetize it through a number of different ways. If you are considering this, feel free to get in touch with us at ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - we would be happy to consult and advise you about addon monetization options.","WEBSITE_CONTRIBUTE_TRANSLATE":"Become a volunteer translator","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"If you want to enjoy the Stremio apps in different languages, you can join our community of volunteer translators. They help us add versions of the Stremio in many different languages.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Are you eager to get started?","WEBSITE_TRANSALTE_STREMIO":"Translate Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Official communities","WEBSITE_COMMUNITY_OFFICIALS_P1":"Become a part of the growing Stremio community. Follow us on social media and don’t be shy to say hello - we love hearing from our fans! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Unofficial communities","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partners and supporters","WEBSITE_COMMUNITY_GOODIES":"Stremio goodies","WEBSITE_COMMUNITY_WALLPAPERS":"Wallpapers","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"Contact us","WEBSITE_CONTACT_US_P1":"If you have any questions, comments or suggestions, feel free to get in touch with us through the contact form below.","WEBSITE_CONTACT_US_P2":"Keep in mind that we are located in Bulgaria so there may be a delay in addressing your query due to time zone differences.","WEBSITE_CONTACT_US_SUCCESS":"Your message has been sent. We will get back to you at our earliest convenience.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Please enter a valid email!","WEBSITE_CONTACT_US_Q_RELATED_TO":"What is your question related to?","WEBSITE_CONTACT_US_Q_OS":"What is your Operation System?","WEBSITE_CONTACT_US_PH_EMAIL":"Your E-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Message","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"SEND","WEBSITE_CONTACT_US_Q_1":"How to install?","WEBSITE_CONTACT_US_Q_2":"How to uninstall?","WEBSITE_CONTACT_US_Q_3":"(HTML) How to make lasagna?","WEBSITE_CONTACT_US_Q_4":"Addons","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Technology","WEBSITE_TECHNOLOGY_P1":"We love technology and mad science. </br> Here is what powers Stremio (it’s all open-source).","WEBSITE_TECHNOLOGY_P_QT":"Cross-platform software development at its best.","WEBSITE_TECHNOLOGY_P_MPV":"A free, open source, and cross-platform media player.","WEBSITE_TECHNOLOGY_P_RN":"React Native lets you build mobile apps using only JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework embedded into application to get multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm is a mobile platform and a replacement for SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js is an open-source, cross-platform, JavaScript runtime environment.","WEBSITE_TECHNOLOGY_P_RUST":"Rust is a multi-paradigm system programming language focused on safety, especially safe concurrency.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribute to the project","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"There are two ways you can contribute to Stremio and help us make the product even better.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"You can donate your valuable language skills by translating the platform...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"or","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... you can employ your coding skills for creating community addons. ","WEBSITE_TRANSLATE_STREMIO":"Translate Stremio","WEBSITE_404_OH_NO":"Uh-oh! The page you’re looking for is not here...","WEBSITE_GO_HOME":"Go home","WEBSITE_LINK_OTHER_DOWNLOADS":"Other downloads","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Support","WEBSITE_DOWNLOAD_4_0_BETA":"Download Stremio 4 beta Now","WEBSITE_GET_FOR_DESKTOP":"Get for desktop","WEBSITE_LINK_ADDON_COMPETITION":"Addon competition","WEBSITE_LINK_ART_CONTEST":"Art contest","WEBSITE_MY_ACCOUNT":"My account","WEBSITE_MAINPAGE_FAQ_001_H1":"What is Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio is a modern media center that gives you the freedom to watch everything you want.","WEBSITE_MAINPAGE_FAQ_002_H1":"How does it work?","WEBSITE_MAINPAGE_FAQ_002_P1":"Once you install Stremio on your device and create an account, all you have to do is to visit the addon catalog and install any addon you want, and you\'re good to go!","WEBSITE_MAINPAGE_FAQ_002_P2":"After that, you can go to the Discover or Board sections to start exploring content.","WEBSITE_MAINPAGE_FAQ_003_H1":"What can I watch here?","WEBSITE_MAINPAGE_FAQ_003_P1":"A lot: Movies, TV shows, Web channels, Sport, TV channels, listen to Podcasts and more. Thanks to our addon system, you can access a variety of content.","WEBSITE_MAINPAGE_FAQ_004_H1":"Is Stremio open-source?","WEBSITE_MAINPAGE_FAQ_004_P1":"Yes, you can check the following links: ${1}desktop app${2} and ${3}GitHub organization${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Is Stremio safe?","WEBSITE_MAINPAGE_FAQ_005_P1":"Yes: because it is open-source software, the code is publically auditable and you can review it yourself.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"How about my privacy?","WEBSITE_MAINPAGE_FAQ_006_P1":"We respect users\' privacy and do not collect any personal data besides the essential minimum to create and sync your account.","WEBSITE_MAINPAGE_FAQ_006_P2":"There is also a ${1}Guest mode${2} at signup, which requires no data whatsoever: in this mode, no calls are made to our backend. However, it comes at the expense of useful features, such as being able to sync your library across devices.","WEBSITE_MAINPAGE_FAQ_007_H1":"Can I cast to my TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Yes, we support Chromecast and you can cast both from desktop and mobile apps (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"How many addons does Stremio have?","WEBSITE_MAINPAGE_FAQ_008_P1":"As of late 2019, over 50 - for more information, check our addon catalog.","WEBSITE_MAINPAGE_FAQ_009_H1":"Can Stremio be extended beyond what\'s in the addon catalog?","WEBSITE_MAINPAGE_FAQ_009_P1":"Yes, you should check those: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"What devices does Stremio support?","WEBSITE_MAINPAGE_FAQ_010_P1":"We have desktop apps for Windows, Mac and Linux. For mobile, we support Android and iOS, although keep in mind that the iOS is limited in functionality (does not support most addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"There are many Android-based devices which you can run Stremio on, like NVIDIA Shield and Amazon Fire Stick, but we do not support them officially.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Can you add certain content to Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Sorry, we provide no content ourselves, but the more Stremio addons you have installed, the more content you will be able to find.","WEBSITE_MAINPAGE_FAQ_012_H1":"Can Stremio play magnet links?","WEBSITE_MAINPAGE_FAQ_012_P1":"Yes, and it can also play normal HTTP links and torrent files (drag and drop).","WEBSITE_MAINPAGE_FAQ_013_H1":"Can I download a video and watch offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Available offline is an upcoming feature, but if you allow Stremio to cache on your device (from the settings panel) you can watch the videos later without a connection.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nothing works, help me!","WEBSITE_MAINPAGE_FAQ_014_P1":"Are you sure you have installed addons? If yes, check with our ${1}help center${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"How does Stremio sustain it\'s development operations?","WEBSITE_MAINPAGE_FAQ_015_P1":"We run non-intrusive ads occasionally, but we\'re considering moving to a donation model.","WEBSITE_MAINPAGE_FAQ_015_P2":"For more questions, go to our ${1}help center${2}.","HELP_LEARN_MORE":"Help us learn more about you.","LIFESTYLE":"Lifestyle","SPORTS":"Sports","FOOD_HEALTH":"Food & health","BEAUTY_FASHION":"Beauty & Fashion","NEWS":"News","GAMING":"Gaming","SCIENCE_EDUCATION":"Science & education","MUSIC":"Music","TRAVEL":"Travel","LATE_NIGHT":"Late Night","REALITY":"Reality","COMEDY":"Comedy","DIY":"How to DIY","TECH":"Tech","CINEMA":"Cinema","CONTINUE":"Continue","SLOW_LOADING":"SLOW LOADING?","I_GIVE_UP":"I GIVE UP","LEARN_MORE":"Learn more","POOR_SOURCE":"This source is poorly available or your internet connection is not fast enough","PICK_CATEGORIES_ERR":"You have to pick at least 3 categories","ADJUST_TIMING":"Adjust timing with ","ADJUST_SIZE":"Adjust size with ","SEARCH_ANYTHING":"You Can Search Anything...","ALL_CATEGORIES":"All","SEARCH_CATEGORIES":"Movies, Series, YouTube & TV","SEARCH_PERSONS":"Actors, Directors & Writers","SEARCH_PROTOCOLS":"HTTP & Magnet Links","SEARCH_TYPES":"IMDB / TVDB links","WATCHED":"Watched","SHOW_LESS":"Show less","LAST_SEARCHES":"Last searches","CLEAR_HISTORY":"Clear history","CHOOSE_SOME":"CHOOSE SOME OF THIS:","NO_WEB_REMOTE":"Web Remote could not be loaded","STREMIO_OFFLINE":"Stremio is offline","STREMIO_EXPENSIVE_CONNECTION":"We\'ve detected that you are using a mobile data connection, do you want to continue?","USE_DATA":"Use data","WARNING":"Warning","MORE_INFO":"More Info ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Loading ...","STREMIO_TV_BACK_TO_LANGUAGES":"Back to languages","STREMIO_TV_REMOTE":"Remote","STREMIO_TV_GO_TO":"Go to:","STREMIO_TV_OR_SCAN":"or scan:","STREMIO_TV_ADDON_INSTRUCTIONS":"Please follow the instructions in order to install your preferred addons.","STREMIO_TV_LIVE_TV":"Live TV","STREMIO_TV_RESUME_WATCHING":"Resume Watching","STREMIO_TV_LOADING_BACKGROUND":"Loading Background","STREMIO_TV_CHECKING_AUTHENTICATION":"Checking Authentication","STREMIO_TV_LOADING_BOARD":"Loading Board","STREMIO_TV_LOGIN_HEADER_LINE_1":"We want our users to have the best possible personalized experience with our software.","STREMIO_TV_LOGIN_HEADER_LINE_2":"It is for this reason that we kindly ask you to make and/or login to your account.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Thank you for understanding,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"The Stremio Team","STREMIO_TV_REMOTE_INSTRUCTIONS":"In order to use the Web Remote with your Smartphone / Tablet / Desktop:","STREMIO_TV_WIFI_SETUP":"Wi-Fi Setup","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle did not detect a internet connection.","STREMIO_TV_WIFI_DETAILS_1":"Connect to:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Use password:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Open a web browser with the link:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Default","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"By Last Watched","STREMIO_TV_LIBRARY_SORT_NAME":"By Name","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"By Times Watched","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Season ${1}","STREMIO_TV_STREAMS_LOADING":"Loaded ${1} / ${2} addons...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} addon is still loading...","STREMIO_TV_PLAYER_SETTINGS":"Player settings","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Subtitles delay","STREMIO_TV_PLAYER_AUDIO_DELAY":"Audio delay","STREMIO_TV_PLAYER_VIDEO_SCALING":"Video scaling","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Unsupported stream source","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Failed opening external link","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Not adjustable in audio passthrough mode","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Play with ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Play with libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Switching to libVLC player due to a playback error","STREMIO_TV_ADDONS_TITLE":"Use Stremio on your Phone or PC to install or configure addons and press \\"Sync Addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Note: make sure you are using the same Stremio account","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sync Addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons successfully synchronized","STREMIO_TV_ADDONS_SYNC_FAILED":"Failed to synchronize addons","STREMIO_TV_META_LINK_FAILED":"Failed opening meta link","STREMIO_TV_CATALOG_LOADING":"Catalog still loading...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Interface language updated","STREMIO_TV_SETTINGS_THEME_UPDATED":"Theme updated","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Default Player","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"External Player","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferred Language","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Secondary Preferred Language","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possible playback issues on some devices","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Some video formats might not work","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"No caching","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Default","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Soft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Fast","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Fast","STREMIO_TV_SETTINGS_SERVER_URL":"Streaming server url","STREMIO_TV_SETTINGS_SERVER_VERSION":"Server version","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Unknown","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio version","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Edit server url","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Enter a streaming server url","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Show statistics while loading","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"To read Stremio\'s Privacy Policy, visit:","STREMIO_TV_SETTINGS_TOS_TEXT":"To read Stremio\'s Terms and Conditions, visit:","STREMIO_TV_NAV_SEARCH":"Search","STREMIO_TV_NAV_HOME":"Home","STREMIO_TV_NAV_DISCOVER":"Discover","STREMIO_TV_NAV_LIBRARY":"Library","STREMIO_TV_NAV_MOVIES":"Movies","STREMIO_TV_NAV_SERIES":"Series","STREMIO_TV_NAV_CHANNELS":"Channels","STREMIO_TV_NAV_TV":"Live TV","STREMIO_TV_NAV_SETTINGS":"Settings","STREMIO_TV_NAV_ADDONS":"Addons","STREMIO_TV_LOGIN_TITLE":"Link Account","STREMIO_TV_LOGIN_EXPIRES_IN":"Expires in","STREMIO_TV_LOGIN_STEP_ONE":"Scan QR Code above or go to","STREMIO_TV_LOGIN_STEP_TWO":"Log in to your Stremio account","STREMIO_TV_LOGIN_NEW_LINK":"Request a new link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Login code refreshed","STREMIO_TV_SEARCH_PLACEHOLDER":"Type something","STREMIO_TV_SEARCH_NO_ADDONS":"No addons were requested for catalogs!","STREMIO_TV_SEARCH_BUTTON":"Search","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Search History","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"You can search for Titles, Actors, Channels and more...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Clear Search History","STREMIO_TV_FILTERS_DESCRIPTION":"Choose from one of the filters below","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"Filters","SETTINGS":"Settings","ACCOUNT":"Account","LOGOUT":"Logout","THEMES":"Themes","PLAYBACK":"Playback","PLAYBACK_SPEED":"Playback Speed","AUDIO_TRACKS":"Audio Tracks","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Videos","SERVER":"Server","LINKS":"Links","ABOUT":"About","INTERFACE":"Interface","ANIMATIONS":"Animations","STATUS":"Status","LANGUAGE":"Language","SIZE":"Size","DELAY":"Delay","BOLD":"Bold","OPACITY":"Opacity","TEXT_COLOR":"Text Color","OUTLINE_COLOR":"Outline Color","BACKGROUND_COLOR":"Background Color","BACKGROUND_BLUR":"Background Blur","SEEK_TIME_DURATION":"Seek Time Duration","AUTO_PLAY":"Auto-Play Next Episode","PLAY_NOW":"Play Now","MARK_AS_WATCHED":"Mark as Watched","MARK_AS_UNWATCHED":"Mark as Unwatched","REWIND_TO_BEGINNING":"Rewind to Beginning","CONTINUE_WATCHING":"Continue Watching","ALL":"All","SECONDS":"seconds","ON":"ON","OFF":"OFF","RELOAD":"Reload","EDIT_URL":"Edit URL","NONE":"None","EMBEDDED":"Embedded","REMOTE_SWITCH_DEVICES":"Switch Devices","REMOTE_VIDEOS":"Videos","REMOTE_ADJUST_TIMING":"Adjust timing","REMOTE_ADJUST_SIZE":"Adjust size","REMOTE_COULD_NOT_BE_LOADED":"Web Remote could not be loaded","REMOTE_RETRY":"Retry","TORRENT_PROFILE_DEFAULT":"Default","TORRENT_PROFILE_SOFT":"Soft","TORRENT_PROFILE_FAST":"Fast","TORRENT_PROFILE_ULTRA_FAST":"Ultra Fast","FAQ_001_H1":"What is Stremio?","FAQ_001_P1":"Stremio is a media center software designed for video entertainment with ease of use in mind. Stremio allows you to organize &amp; watch your own collection of movies, series, channels and live TV.","FAQ_001_P2":"Stremio collect the content it shows you from your local disk and our addons system.","FAQ_001_P3":"It will also notify you when new episodes/videos/movies you\'re interested in come out, and provide movie recommendations for you.","FAQ_02_H1":"How does Stremio compare to Kodi and Plex?","FAQ_02_P1":"We are inspired by those two pieces of software. But we have different goals - Stremio is specifically targeted towards entertainment video, and strives to become the mainstream solution for that by being very easy to use.","FAQ_02_P2":"Stremio will never be as customizable and feature-rich as Kodi and Plex, but it is significantly easier to use. Just ${1} get it and see ${2} :)","FAQ_03_H1":"How does Stremio compare to Netflix?","FAQ_03_P1":"Again, Netflix is one of our inspirations. We strive to achieve the user experience of Netflix, plus a lot of added goodies. But most importantly, we\'re giving you the freedom to manage your own library and add new content sources with our addon system.","FAQ_03_P2":"That makes Stremio infinitely extendable, so when you use Stremio, you\'re never limited to the content Netflix decides to license. For example, through Stremio you can watch content from ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} and even ${9}Netflix${10} itself!","FAQ_04_H1":"How does Stremio compare to Flipboard?","FAQ_04_P1":"We don’t get that question that often, except when talking to start-up people :)","FAQ_04_P2":"Stremio is by design a content aggregator, which essentially makes it Flipboard for video. This is very apparent in our Board section, which gives you catalogues and new episode/new video notifications for what you follow, just like Flipboard.","FAQ_05_H1":"How does Stremio compare to Popcorn Time?","FAQ_05_P1":"Stremio and Popcorn Time are similar in user interface, because there aren’t many ways to do video entertainment catalogues right :)","FAQ_05_P2":"But while Popcorn Time is focused on streaming torrents from specific sources, Stremio is unrestricted and is merely a content aggregator - it’s not locked into a specific content source.","FAQ_05_P3":"Furthermore, we do not provide any torrent addons by default, so Stremio does not cover the Popcorn Time use-case with official functionality.","FAQ_05_P4":"Another notable difference is that Popcorn Time is completely open source, while Stremio is ${1} partially open source${2}.","FAQ_06_H1":"Will you add this movie/series?","FAQ_06_P1":"No, sorry :(","FAQ_06_P2":"As is mentioned in most of the other questions, Stremio does not provide any content by itself - everything is added through the addons system. In case you have a content request, you can use the “Report” button in the Player, which will send an email to the author of the addon you’re currently using.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Will you create addon for X?","FAQ_08_P1":"It\'s entirely possible.","FAQ_08_P2":"If you have an idea for an addon, drop us a line at ${1}office@stremio.com${2}, but please make sure your addon idea will not infringe on any copyrights or terms of use.","FAQ_08_P3":"At the moment, the next things on our roadmap are addons for FandangoNOW, Filmon.tv video on demand and Crunchyroll.","FAQ_09_H1":"Does Stremio use BitTorrent?","FAQ_09_P1":"Yes, Stremio supports BitTorrent as a streaming protocol. You can use that either with a torrent addon, or by drag-and-dropping a .torrent file into Stremio, or by pasting a magnet link into the Search Bar.","FAQ_09_P2":"Please note that the only official addon using BitTorrent is ${1}Vodo${2}, which provides indie content, all permitted to be distributed with BitTorrent.","FAQ_09_P3":"We do not support use of any third-party addons which may enable copyright infringement.","FAQ_10_H1":"What can I watch in Stremio with the official addons?","FAQ_10_P1":"By default, you can watch Filmon.tv, YouTube and Vodo content within Stremio itself, with it’s embedded player. Additionally, we have an addon for Twitch.tv and a few others.","FAQ_10_P2":"This combined provides a selection of:","FAQ_10_L1":"Popular TV channels, provided by Filmon.tv - for example E4, BBC, Bollyworld TV","FAQ_10_L2":"Everything from YouTube - for example BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indie movies with Vodo","FAQ_10_L4":"Online gaming broadcasts with Twitch.tv","FAQ_10_P3":"Additionally, there are many content sources provided with Guidebox and the Netflix addons, which <b>do not</b> play entirely inside Stremio, but would redirect to the given service. For example, the Guidebox addon would give you a selection of movies you can stream in the US for free, from services like TubiTV and Crackle.","FAQ_11_H1":"Stremio won\'t install, what should I do?","FAQ_11_P1":"If you\'re on Windows, try ${1}this alternative installer${2}.","FAQ_11_P2":"If you\'re on Mac OS X, please be aware that we don\'t support anything older than OS X Mavericks (10.9).","FAQ_11_P3":"If you\'re on Linux, be aware that we only support 64 bit (x64) Linux at the moment.","FAQ_11_P4":"If you still can\'t resolve your problem, please write us at our ${1}Facebook group${2}.","FAQ_12_H1":"Why does my anti-virus complain? Is Stremio safe?","FAQ_12_P1":"We assure you Stremio is ${1}100% clean${2}.","FAQ_12_P2":"Your antivirus is complaining because we include advertising in our installer, which some anti-virus programs recognize as ad-ware.","FAQ_12_P3":"If you\'re still unsure, you can try our ${1}alternative installer${2}.","FAQ_13_H1":"How can I make an addon?","FAQ_13_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_13_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_13_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_14_H1":"How are addons published?","FAQ_14_P1":"When you create an addon and host, and put a <b>endpoint</b> field in your manifest, which points to a working addon address, the addon will automatically publish itself to our ${1}Addon catalogue${2}.","FAQ_14_P2":"This happens because the server part of the stremio-addons module automatically makes a call to our API to announce the addon. When our API validates your <b>endpoint</b> as a valid addon, it will start showing in the catalogue.","FAQ_15_H1":"Can I run Stremio in my browser?","FAQ_15_P1":"Not at the moment, but this is coming!","FAQ_15_P2":"If you\'re curious to see an Alpha, you can see it here: ${1}alpha4.strem.io${2}. Keep in mind streaming is disabled on this alpha. We support Chrome, Firefox, Opera and Edge.","FAQ_16_H1":"Casting to TV doesn\'t work / subtitles don\'t work","FAQ_16_P1":"Casting to TV uses the DLNA technology which is very inconsistent between different TV brands and models. For that reason, we do not have the ability to test it in every case, so it\'s far from perfect. Despite this, we\'re working on improving it constantly but we cannot give you a time estimate on when DLNA will start working properly with your TV.","FAQ_16_P2":"If you don\'t even see your TV in the casting menu, please try disabling your network connection and re-enabling it (on Windows, right click the Network and use Enable/Disable), as well as restarting your router, TV and PC.","FAQ_16_P3":"If you are still encountering issues, you can help us by sending your TV brand and model information at ${1}office@stremio.com${2}.","FAQ_16_P4":"In the meantime, we recommend Chromecast, which we support very well, or simply plugging in your TV to your PC with an HDMI cable.","FAQ_17_H1":"Stremio freezes and/or crashes, what can I do?","FAQ_17_P1":"First of all, if you\'re using Windows 7 with AVG anti-virus: we have a problem with that combination. The problem is in AVG itself, and there\'s no reasonable way to resolve it on our end. Unfortunately, exceptions or disabling the anti-virus won\'t work. The only solution is to replace AVG with something else.","FAQ_17_P2":"If that\'s not the issue, but you\'re still using Windows, please update to the latest service pack and update/re-install your GPU drivers, then try again.","FAQ_17_P3":"If you\'re problem is still not resolved, or you\'re using a Mac or Linux, please write us reporting the exact details of the problem at ${1}our Facebook group${2}.","FAQ_18_H1":"How can I make an addon?","FAQ_18_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_18_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_18_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_19_H1":"Why is Stremio taking disk space?","FAQ_19_P1":"Stremio has a <b>local cache</b> to temporarily keep the video files you stream.","FAQ_19_P2":"This has two benefits: first, it allows Stremio to pre-buffer the video ahead so as to ensure smoother streaming. Second, it keeps the videos in the local cache so you can continue watching them offline.","FAQ_19_P3":"How much Stremio keeps depends on the <b>Cache</b> setting in the Settings panel. Stremio may keep up to the set amount (e.g. 2GB) on your disk, unless the currently streamed video is larger than that, in which case it has to allocate enough storage to keep it until you\'re streaming it.","FAQ_20_H1":"Where is the cache folder?","FAQ_20_P1":"On Windows, it\'s stremio-cache in the drive you picked in Settings (e.g. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"On MacOS, it\'s \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"On Linux, it\'s \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"I get \\"Streaming server is not found\\" error, what can I do?","FAQ_21_P1":"If you get this error, it means one of few things:","FAQ_21_P2":"1) You are trying to use an addon backed by YouTube/BitTorrent source, through our ${1}web version${2}. In this case, you should install our desktop version from ${3}our website${4}.","FAQ_21_P3":"2) Something is wrong with your Stremio installation. In this case, try re-installing our latest desktop version from ${1}the website${2}. If this does not help, try disabling anti-virus programs and firewalls, restarting your PC and trying again. If this does not work too, please write us at our ${3}our Facebook group${4}.","FAQ_22_H1":"I cannot see/use most addons on iOS","FAQ_22_P1":"Because of restrictions in the Apple App Store terms and conditions, we have restricted the iOS application only to a particular set of addons.","FAQ_22_P2":"But rest assured - there will be more addons for iOS in the future, and we may also add an integration that will allow you to use all Stremio addons thanks to connecting the iOS app to the Stremio Streaming Server."}')},98569:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Pel·lícula","TYPE_series":"Sèries","TYPE_tv":"Canal de TV","TYPE_channel":"Canal","TYPE_other":"Altres","TYPE_movie_PL":"Pel·lícules","TYPE_series_PL":"Sèries","TYPE_tv_PL":"Canals de TV","TYPE_channel_PL":"Canals","TYPE_other_PL":"Altres","TYPE_ALL":"Tot","TYPE":"Tipus","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Destacat","CATALOG_com_linvo_cinemeta_year":"Nou","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Pel·lícules de Domini Públic","VIDEO":"Vídeo","BACK":"Enrere","MORE":"Més","DONE":"Fet","COPY":"Copia","SUCCESS":"Èxit","ERROR":"Error","SETTINGS_CASTING_MODE_PICKER":"Mode d\'emissió","CASTING_MODE_HLSV2":"Per defecte","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Sense transcodificació","Discover":"Descobrir","Board":"Panell","Library":"Biblioteca","My Library":"La meva Biblioteca","Calendar":"Calendari","NOTIFICATION_ONLINE":"Ara esteu en línia","NOTIFICATION_OFFLINE":"Ara esteu fora de línia","INTERNET_CONNECTION":"Connexió de xarxa","STORAGE_FULL_TITLE":"Advertència: Emmagatzematge ple!","STORAGE_FULL_TEXT":"Stremio no podrà desar la configuració, les preferències ni la informació d\'inici de sessió. Penseu a reiniciar o tornar a instal·lar Stremio.","SEARCH":"cerca","SEARCH_NO_RESULTS":"No s\'han trobat resultats","SEARCH_EXPLANATION_CONTENT":"Cerca pel·lícules, sèries, canals de YouTube i TV","SEARCH_EXPLANATION_PEOPLE":"Cerca actors, directors i escriptors","SEARCH_PASTE_LINKS":"Enganxa enllaços HTTP i Magnètics","SEARCH_OR_PASTE_LINK":"Cerca o enganxa l\'enllaç","SEARCH_SUGGESTIONS":"Suggeriments de cerca","ADD_TO_LIB":"Afegir a la Biblioteca","REMOVE_FROM_LIB":"Elimina de la Biblioteca","ADDED_TO_LIB":"Afegit a la Biblioteca","REMOVED_FROM_LIB":"Eliminat de la Biblioteca","TRAILER":"Tràiler","WATCH_TRAILER":"Mirar el tràiler","WATCH_NOW":"Mirar ara","SHOW":"Mirar","SHOW_MOVIE":"Mirar Pel·lícula","WATCH_RANDOM":"Mirar aleatòriament","IMDB_RATING":"Qualificació IMDb","YEAR":"Any","DIRECTOR":"Director","WRITER":"Escriptor","LEAD_ACTORS":"Actors principals","CAST":"Elenc","CREW":"Equip tècnic","SHOW_MORE_CAST":"Mostra més »","AIRED":"Emès","SEASONS":"Temporades","GENRE":"Gènere","GENRE_ALL":"Tots els gèneres","CATALOG":"Catàleg","SUMMARY":"Resum","SHOW_MORE":"Mostra Més","SIMILAR":"Similar","UPCOMING":"Properament","ENDED":"Finalitzat","DURATION":"Duració","FEATURED":"Destacat","METADATA":"Metadades","CATEGORY":"categoria","LINKS_GENRES":"Gèneres","LINKS_CAST":"Elenc","LINKS_DIRECTORS":"Directors","SEARCH_VIDEOS":"cercar vídeos","SEARCH_PLACEHOLDER":"cercar o enganxar URL","ADDON":"complement","ADDONS":"Complements","OFFICIAL":"oficial","ADDONS_OFFICIAL":"Complements Stremio oficials","ADDONS_POPULAR":"Popular a la vostra regió","ADDON_FREE":"gratuït","ADDON_PEERED":"compartit","ADDON_SUBSCRIPTION":"subscripció","ADDON_STREAM_GEORESTRICTED":"no disponible a la vostra regió","ADDON_STREAM_OFFLINECACHE":"Memòria cau fora de línia","ADDON_STREAM_LOCALFILE":"Fitxer local","SHARE_ADDON":"Comparteix el complement","AVAILABLE_STREAMS":"Streams disponibles","NO_STREAM":"No s\'ha trobat cap stream","ALL_ADDONS":"Tot","INSTALL_MORE_ADDONS":"Per obtenir més streams, instal·leu més complements","STREAM_NOT_SUPPORTED":"El stream seleccionat no és compatible amb aquesta plataforma.","ADDON_CATALOGUE":"Mostra tots els complements »","ADDON_CATALOGUE_MORE":"Instal·la complements","REPO_ADDED":"Repositori afegit","ADDON_REPO_EXIST_ERR":"Aquesta col·lecció de complements ja existeix","ADDON_REPO_ERR":"S\'ha produït un error en afegir la col·lecció","ADDON_ADD_ERR":"S\'ha produït un error en afegir un complement","ERR_ADDON_PROTECTED":"No es pot desinstal·lar el complement, està protegit","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Hi ha hagut un problema - l\'autenticació pot haver fallat","ERR_NOT_COLLECTION_URL":"No és un URL de col·lecció","ERR_NOT_ADDON_URL":"No és un URL de complement vàlid","ERR_DETECTFROMURL":"No es pot trobar cap complement/col·lecció en aquest URL","ADDON_DUPLICATE_WARNING":"Advertència: complement duplicat","ADDON_COLLECTION_SET_FAILED":"Ha fallat la sincronització de complements instal·lats al vostre compte","SETTINGS_DATA_EXPORT":"Exporta dades d\'usuari","ADDON_PULL_FAILED":"Ha fallat la sincronització dels complements instal·lats del vostre compte","REFRESH_ON_CLICK":"Prem per reintentar","STILL_IN_THEATER":"Pel·lícula encara als cinemes","WATCH_IN_CINEMA":"Mireu-lo al vostre cinema local","IN_THEATER":"En el cinema","GET_TICKETS":"Obtenir entrades","UPCOMING_EPISODE":"Pròxim episodi","UPCOMING_EPISODE_MESSAGE":"Aquest episodi s’emetrà al","MISSING_DATE_EPISODE":"Falta la data de l\'episodi","MISSING_DATE_EPISODE_MESSAGE":"És possible que aquest episodi encara no s’hagi emès","CHANNEL_NOT_SCRAPED":"Aquest canal encara no s\'ha habilitat.<br>Si us plau, torneu d\'aquí a uns minuts.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Afegiu-lo a la vostra Biblioteca per rebre una notificació un cop estigui disponible.","GET_NOTIFIED_WHEN_AVAILABLE":"Rebràs una notificació un cop estigui disponible.","WARNING_STREAMING_SERVER":"Advertència: no s\'ha trobat el servidor d\'streaming local. L\'streaming des de fitxers locals, YouTube i BitTorrent no estarà disponible.","WARNING_STREAMING_SERVER_DISMISS":"Descartar","WARNING_STREAMING_SERVER_LATER":"Més tard","DECODER_WARNING":"Advertència: és possible que aquest vídeo no sigui compatible amb el vostre maquinari. Tingueu en compte que la reproducció pot ser lenta.","GENERIC_ERROR_MESSAGE":"Alguna cosa ha anat malament!","TRY_AGAIN":"Tornar-ho a provar","CLEAR_DATA":"Esborrar dades","PLAYER_ERROR":"Vaja, error del reproductor","PLAYER_ERROR_LOOKSLIKE":"Sembla que","PLAYER_ORIENTATION":"Orientació del reproductor","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Bloquejat","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensor","PLAYER_ORIENTATION_LANDSCAPE":"L\'orientació del reproductor bloquejada en horitzontal","PLAYER_ORIENTATION_SENSOR":"Orientació del reproductor automàtica (sensor)","PLAYER_PLAYBACK_SPEED":"Velocitat de reproducció","PLAYER_PLAYBACK_ERROR":"Error de reproducció, torneu-ho a provar","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Error desconegut","PLAYER_PLAYBACK_ERROR_DEFAULT":"Ho sentim, aquest vídeo no pot ser reproduït per {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Idiomes dels subtítols","PLAYER_SUBTITLES_VARIANTS":"Variants de subtítols","PLAYER_SUBTITLES_SETTINGS":"Configuració dels subtítols","PLAYER_SUBTITLES_DISABLED":"Subtítols desactivats","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Posició Vertical","PLAYER_SUBTITLES_LOADED":"Subtítols carregats","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Subtítols incrustats carregats","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Subtítols exclusius carregats","PLAYER_SUBTITLES_LOADED_ORIGIN":"Subtítols de {{origin}} carregats","PLAYER_PLAY":"Reprodueix","PLAYER_PAUSE":"Pausa","PLAYER_NEXT_VIDEO":"Següent Vídeo","PLAYER_MUTE":"Silenciar","PLAYER_UNMUTE":"Activar so","PLAYER_OPEN_IN_EXTERNAL":"Obre en un reproductor extern","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Reprodueix a {{device}}","PLAYER_LIVE":"En directe","PLAYER_NEXT_VIDEO_TITLE":"A continuació","PLAYER_NEXT_VIDEO_TITLE_SHORT":"A continuació","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Descartar","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Veure ara","PLAYER_COPY_STREAM_SUCCESS":"Enllaç de la reproducció copiat al porta-retalls","PLAYER_COPY_STREAM_ERROR":"No s\'ha pogut copiar l\'enllaç","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","STREAMING_FROM":"transmissió des de","CASTING_TO":"S\'està emetent a","NETWORK_STATUS":"Estat de la xarxa","STREAM_SPEED":"Velocitat del stream:","STREAM_BUFFERED":"Emmagatzemat:","PEERS_INFO":"Informació dels pars","PEERS_ACTIVE":"Actiu:","PEERS_CONNECTED":"Connectat:","PEERS_WAITING":"Esperant:","TRANSCODING_WARNING":"Advertència: transcodificant vídeo.","STREAM_LOADING":"carregant ...","PLAYING_LOCAL":"reproduint des del fitxer local","PLAYING_CACHE":"reproduint des de la memòria cau","WRONG_SUBS":"Subtítols incorrectes?","ERR_SUBS_LOADING_TITLE":"Error en carregar els subtítols","ERR_SUBS_LOADING":"Ha fallat la càrrega de subtítols: això podria ser un problema amb el complement que utilitzeu o amb la vostra connexió de xarxa","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Els següents complements de subtítols han fallat","ERR_CASTING_UPDATE_TITLE":"No s\'ha pogut actualitzar la informació del dispositiu d\'emissió: el servidor d\'streaming podria estar fora de línia","CHOOSE_DEVICE":"Trieu un dispositiu on mirar-lo","NO_CAST_DEVICES":"No hi ha dispositius d\'emissió disponibles.","NO_SETTINGS":"No hi ha cap configuració disponible.","PHONE_TABLET":"Telèfon / Tauleta","SUBTITLES":"Subtítols","SUBTITLES_CHANGE":"Canvia els subtítols per a ","SUBTITLES_CHANGE_NONE":"No hi ha cap altre subtítol en aquest idioma, ho sento.","SUBTITLES_CHANGE_ACIVE":"Actualment els subtítols &#35;{{subtitlesDialog.activeIdx + 1}} estan activats. Prem \\"Continua\\" per activar els subtítols &#35;{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Alternativament,","SUBTITLES_ADJUST_DELAY":"Ajustar el retard de subtítols:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"O usa les tecles <span>G</span> / <span>H</span> durant la reproducció per ajustar.","SUBTITLES_ADJUST_DELAY_TIP":"Nota: podeu utilitzar les tecles <span>G</span> / <span>H</span> durant la reproducció per ajustar.","SUBTITLES_DELAY":"Retard de subtítols:","SUBTITLES_LOADING":"Carregant els subtítols...","SUBTITLES_UNAVAILABLE":"No hi ha subtítols externs disponibles","SUBTITLES_DISABLED":"Desactivat","EXTERNAL_PLAYER_DISABLED":"Desactivat","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Permet Triar","EXTERNAL_PLAYER_HINT":"Pista: hi ha una configuració per permetre l\'obertura sempre amb un reproductor extern","DONT_SHOW_AGAIN":"No tornis a mostrar","SERVICE_INSTALL":"Instal·lar","AUDIO":"Àudio","DEFAULT_LANGUAGE":"Idioma per Defecte","DEFAULT_SECONDARY_LANGUAGE":"Idioma Secundari per Defecte","SEASON":"Temporada","EPISODE":"Episodi","EPISODE_ABBREVIATION":"EP","SPECIAL":"Especial","SORT":"ordenar","SORT_BY":"Ordenar per","FILTER":"filtrar","SORT_TRENDING":"tendències","SORT_RECENT":"recent","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"qualificació","SORT_WATCHED":"vist","SORT_YEAR":"any","SELECT_TYPE":"Selecciona el tipus","SELECT_SORT":"Selecciona ordre","SELECT_CATALOG":"Selecciona catàleg","SELECT_GENRE":"Selecciona gènere","SORT_LASTWATCHED":"Últim vist","SORT_NAME":"a-z","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"més vist","SORT_NOTWATCHED":"no vist","New for You":"Nou per a tu","New Episodes":"Nous episodis","New Videos":"Nous vídeos","Recommendations":"Recomanacions","LIBRARY_RESUME":"Reprendre","LIBRARY_PLAY":"Reprodueix","LIBRARY_DETAILS":"Detalls","LIBRARY_RESUME_DISMISS":"Descartar","LIBRARY_CLEAR_PROGRESS":"Esborrar progrés","LIBRARY_REMOVE":"Elimina","LIBRARY_NOT_LOGGED_IN":"La biblioteca només està disponible per als usuaris registrats","CALENDAR_NOT_LOGGED_IN":"El calendari només està disponible per als usuaris registrats","NOT_LOGGED_IN_CLOUD":"Accediu a les vostres pel·lícules i programes de televisió preferits en qualsevol moment i en qualsevol lloc","NOT_LOGGED_IN_RECOMMENDATIONS":"Recomanacions adaptades al vostre historial de visualitzacions","NOT_LOGGED_IN_NOTIFICATIONS":"No et perdis mai cap episodi","NOT_LOGGED_IN_CALENDAR":"Programeu el vostre calendari de visualització personal","DISCOVER_FEATURED":"Destacat","DISCOVER_TOP":"Top","DISCOVER_OSCAR":"Guanyadors d\'Oscar","DISCOVER_WARNING_TITLE":"Oops!","DISCOVER_EMPTY_CATALOG":"Aquest complement ha retornat un contingut buit.","DISCOVER_ADULT_WARNING":"El contingut només és visible per a adults. Teniu més de 18 anys?","DISCOVER_NOADDON_WARNING":"Avís: no hi ha cap complement Stremio actiu per a aquest tipus. Mostrant elements desats, res d\'aquí s\'actualitzarà.","DISCOVER_LOAD_ERR":"El contingut no s\'ha carregat, s\'ha produït un error.","DISCOVER_ADDON_UNINSTALLED":"Aquest contingut ja no està disponible, és possible que hàgiu desinstal·lat el complement.","UNINSTALL_THIS_ADDON":"Desinstal·la aquest complement","ERR_ADDON_NOT_INSTALLED":"Aquest complement no està instal·lat. Instal·lar-lo ara?","DETAIL_RECEIVE_NOTIF_SERIES":"Rep notificacions d\'episodis nous","DETAIL_RECEIVE_NOTIF_VIDEOS":"Rep notificacions de vídeos nous","SIDEBAR_SHOW_STREAMS":"Mostra streams","RELAUNCH":"Rellançar ara!","UPGRADE":"Hi ha disponible una nova versió. Actualitzeu a la darrera versió d\'Stremio","RELOAD_UI":"Recarregar la interfície d\'usuari","MANUAL_UPDATE_TITLE":"Actualitza la teva versió d\'Stremio","MANUAL_UPDATE_LINE1":"Esteu executant una versió obsoleta d\'Stremio, que és molt poc recomanable.","MANUAL_UPDATE_LINE2":"Actualitzeu el més aviat possible.","BUTTON_UPDATE_LATTER":"Ara no","BUTTON_UPDATE_NOW":"Actualitza","ANONYMOUS_USER":"Usuari anònim","DONT_HAVE_ACC":"No teniu cap compte?","HAVE_ACC":"Ja tens un compte?","PASSWORD":"Contrasenya","PASSWORD_CONFIRM":"Confirma la contrasenya","EMAIL":"Correu electrònic","FB_LOGIN":"Continueu amb Facebook","FB_NOTHINGSHARED":"No es comparteix res sense el vostre permís","FB_NOPOST":"No publicarem res en nom vostre","OR":"o","I_ACCEPT":"Accepto els","I_ACCEPT_BY_CLICKING":"En fer clic al botó superior, declaro que accepto els ","TOS":"Termes i condicions","MUST_ACCEPT_TERMS":"Heu d\'acceptar els termes","PASSWORDS_NOMATCH":"Les contrasenyes no coincideixen","SIGN_UP":"Registra\'t","SIGN_UP_EMAIL":"Registra\'t amb el correu electrònic","CLICK_TO_SIGN_UP":"Feu clic aquí per registrar-vos.","LOG_IN":"Iniciar Sessió","LOG_OUT":"Tancar sessió","EXIT_FULLSCREEN":"Surt del mode de pantalla completa","ENTER_FULLSCREEN":"Introduïu el mode de pantalla completa","PLAY_URL_MAGNET_LINK":"Reprodueix URL/Enllaç magnètic","HELP_FEEDBACK":"Ajuda i comentaris","TERMS_OF_SERVICE":"Termes del servei","PRIVACY_POLICY":"Política de Privacitat","ABOUT_STREMIO":"Quant a Stremio","USER_PANEL":"Tauler d\'usuaris","LOGIN_LABEL":"Inicia sessió","GUEST_LOGIN":"Inici de sessió de convidat","GUEST_LOGIN_NOTICE":"No es recomana l\'inici de sessió de convidat. Si feu servir un inici de sessió habitual, Stremio pot sincronitzar la Biblioteca i rebre notificacions de sèries o canals preferits. Esteu segur que voleu continuar?","GUEST_LOGIN_NOTICE_2":"No es recomana l\'inici de sessió com a convidat: no tindreu notificacions sincronitzades de la Biblioteca i del fòrum, que són funcions fonamentals d\'Stremio. Esteu segur que voleu continuar?","CLICK_HERE":"clica aquí","WRONG_PASSWORD":"Correu electrònic o contrasenya incorrectes. En cas que hagueu oblidat la vostra contrasenya, ","SET_A_PASS":"definiu una contrasenya","RESET_PASSWORD":"Restablir la contrasenya","FORGOT_PASSWORD":"Has oblidat la contrasenya?","EMAIL_USED_WITH_FB":"Aquest correu electrònic s\'ha utilitzat amb un inici de sessió de Facebook.","INVALID_EMAIL":"si us plau, introdueixi una adreça de correu electrònic vàlida","INVALID_PASSWORD":"Introduïu una contrasenya vàlida","CONN_ERR":"Error de connexió - torneu-ho a provar més tard.\\n\\nSi això persisteix, desactiveu els tallafocs/antivirus (especialment Bitdefender).","IMPORT_FROM_GUEST":"Importeu la Biblioteca des del vostre compte de convidat","RECEIVE_UPDATES_EMAIL":"Rebeu actualitzacions al vostre correu electrònic des d\'Stremio","LOGIN_FAILED":"Error a l\'iniciar sessió.","SIGNUP_FAILED":"Ha fallat el registre.","SEARCH_FAILED":"La cerca ha fallat","EMAIL_USED":"Aquest correu electrònic ja està en ús.","WAITING_FB_LOGIN":"Iniciant la sessió amb Facebook...","EXTERNAL_PLAYER_TITLE":"Reprodueix en un reproductor extern","EXTERNAL_REMEMBER_PLAYER":"Voleu recordar la vostra elecció?","EXTERNAL_ALWAYS_PLAY":"Sí","EXTERNAL_ONLY_ONCE":"No","BEST_FIT":"Millor encaix","FIT_SCREEN":"Encaixar la Pantalla","FILL":"Omplir","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"Explica\'ns què t\'agrada","INTRO_TASTE_LONG":"Explica\'ns què voleu veure","INTRO_TASTE_PICK":"Selecciona {{interestsRemaining}} interessos","INTRO_TASTE_PICK_MORE":"Selecciona {{interestsRemaining}} interessos més","INTRO_TASTE_HELP_US":"Ajudeu-nos a aprendre més informació sobre vosaltres.","INTRO_TASTE_CHOOSE_THESE":"Trieu alguns d\'aquests:","INTRO_TASTE_CHOOSE_MIN":"Trieu com a mínim 3 categories","INTRO_TASTE_CHOOSE_MIN_ERR":"Heu de triar almenys 3 categories.","INTRO_TASTE_LIFESTYLE":"Estil de vida","INTRO_TASTE_SPORTS":"Esports","INTRO_TASTE_FOOD_HEALTH":"Alimentació i Salut","INTRO_TASTE_BEAUTY_FASHION":"Bellesa i Moda","INTRO_TASTE_NEWS":"Notícies","INTRO_TASTE_GAMING":"Jocs","INTRO_TASTE_SCIENCE_EDU":"Ciència i Educació","INTRO_TASTE_MUSIC":"Música","INTRO_TASTE_TRAVEL":"Viatges","INTRO_TASTE_LATE_NIGHT":"Late Night Show","INTRO_TASTE_REALITY":"Reality","INTRO_TASTE_COMEDY":"Comèdia","INTRO_TASTE_DIY":"Fes-ho tu mateix (DIY)","INTRO_TASTE_TECH":"Tecnologia","INTRO_TASTE_CINEMA":"Cinema","ADDON_NOT_SUPPORTED":"Aquesta plataforma no admet el complement seleccionat.","ADDON_DISCLAIMER":"L\'ús de complements de tercers sempre estarà subjecte a la vostra responsabilitat i a la legislació vigent de la jurisdicció on esteu ubicat.","ADDON_ACTIVATE":"Activar aquest complement?","ADDON_REPO_ADD":"URL del repositori de complements","ADDON_ADD":"Afegir","INSTALL_ADDON":"Instal·la el complement","ADD_ADDON":"Afegir complement","ADD_ADDON_DESCRIPTION":"Podeu afegir un complement mitjançant un enllaç extern, que apareixerà a Complements instal·lats.","PASTE_ADDON_URL":"Enganxeu l\'URL del complement","WHATS_NEW":"Que hi ha de nou","BUTTON_CONTINUE":"Continua","BUTTON_ACTIVATE":"Activa","BUTTON_ACTIVATED":"Activat","BUTTON_CANCEL":"Cancel·lar","BUTTON_SUBMIT":"Envia","BUTTON_DISMISS_ALL":"Descartar-ho tot","BUTTON_VIEW_ALL":"veure-ho tot","BUTTON_SEE_ALL":"Veure Tot","BUTTON_COLOR_TRANSPARENT":"Transparent","OPEN_IN_BROWSER":"Obre al navegador","LIB_EMPTY":"La vostra Biblioteca sembla buida. Esbrineu lo útil que és :)","HOW_START":"Així és com podeu començar:","LIB_EMPTY_CAL":"El vostre calendari mostra sèries a la Biblioteca.","HOW_START_CAL":"Així és com podeu afegir sèries:","LIB_EMPTY_BOARD":"El Tauler mostra notificacions i recomanacions relacionades amb la vostra Biblioteca.","HOW_START_BOARD_WAIT":"Afegiu unes quantes sèries o canals a la vostra Biblioteca i doneu-nos uns minuts per processar :)","HOW_START_BOARD":"Així és com podeu afegir-hi sèries i pel·lícules:","IMPORT_FB":"Importeu les coses que us agradin de <span>Facebook</span>","IMPORT_TRAKT":"Importeu la vostra biblioteca multimèdia de <span>Trakt</span>","IMPORT_DISCOVER":"Troba coses interessants de <span>Descobrir</span>","IMPORT_DISK":"Importeu pel·lícules o sèries que tingueu al <span>disc local</span>","PLEASE_CREATE_ACC":"<u>Creeu un compte</u> per habilitar la sincronització de la Biblioteca i el Tauler.","IMPORT_DISCOVER_SIGNUP":"Registreu-vos i trobeu coses interessants a <span>Descobrir</span>","IMPORT_DISK_SIGNUP":"Inscriviu-vos i importeu pel·lícules o espectacles que tingueu al vostre <span>disc local</span>","LIB_EMPTY_CLOUD":"Biblioteca al núvol","LIB_EMPTY_CLOUD_DESC":"Biblioteca personal al núvol sincronitzada a tots els dispositius","LIB_EMPTY_EARLY":"Accés aviat","LIB_EMPTY_EARLY_DESC":"Rep notificacions d\'episodis nous","LIB_EMPTY_PERSONAL":"Personal","LIB_EMPTY_PERSONAL_DESC":"Obteniu recomanacions personalitzades","LIB_EMPTY_CALENDAR_DESC":"Programa el teu calendari de visualització personal","LIB_EMPTY_ALL":"Registreu-vos per obtenir tot això:","LIB_EMPTY_BEST":"Registreu-vos per obtenir el millor d\'Stremio","LIB_EMPTY_OTHER":"Registreu-vos per activar el calendari i altres funcions interessants","CALENDAR_ADDED":"El calendari d\'Stremio s\'ha afegit al calendari d\'escriptori predeterminat.","CALENDAR_ADDED_MSG":"Si això no funciona, afegiu aquest URL manualment a la vostra aplicació de calendari","TRAKT_EXPIRED":"L\'autenticació de Trakt ha caducat, aneu a Configuració i torneu a autenticar-la","TRAKT_REQUIRES_LOGIN":"Error de Trakt","TRAKT_REQUIRES_LOGIN_MSG":"Cal iniciar sessió","TRAKT_IMPORT_WATCHED":"Importa","THEME":"Tema","THEME_DEFAULT":"Per defecte","THEME_ADAPTIVE":"Adaptatiu","SETTINGS_LABEL":"Configuració","SETTINGS_NAV_GENERAL":"General","SETTINGS_NAV_PLAYER":"Reproductor","SETTINGS_NAV_STREAMING":"Streaming","SETTINGS_NAV_SHORTCUTS":"Dreceres","SETTINGS_SHORTCUT_RELOAD_APP":"Recarregar l\'aplicació","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Obrir Configuració","SETTINGS_SHORTCUT_SWITCH_TABS":"Canviar Pestanya","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Mou Entre Pestanyes Cap Endavant","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Mou Entre Pestanyes Cap Enrere","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navega entre menús","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Vés a Cerca","SETTINGS_SHORTCUT_EXIT_BACK":"Sortir / Tornar enrere","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Commuta el menú de velocitat de reproducció","SETTINGS_SHORTCUT_MENU_VIDEOS":"Commuta el menú de vídeos","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Commuta el menú de subtítols","SETTINGS_SHORTCUT_MENU_INFO":"Commuta el menú d\'informació","SETTINGS_SHORTCUT_FULLSCREEN":"Commuta la Pantalla Completa","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Mostra els Controls","SETTINGS_SHORTCUT_PLAY_PAUSE":"Reproduir / Pausa","SETTINGS_SHORTCUT_VOLUME_UP":"Pujar volum","SETTINGS_SHORTCUT_VOLUME_DOWN":"Baixar volum","SETTINGS_SHORTCUT_SEEK_NEXT":"Moure Endavant","SETTINGS_SHORTCUT_SEEK_PREV":"Moure Enrere","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Busca Enrere","SETTINGS_SHORTCUT_SEEK_FORWARD":"Busca Endavant","SETTINGS_SHORTCUT_PLAY_NEXT":"Reproduir Següent","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Augmentar Mida Subtítols","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Disminuir Mida Subtítols","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Augmentar Retard Subtítols","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Disminuir Retard Subtítols","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Commutar Barra Lateral","SETTINGS_SHORTCUT_OR":"o","SETTINGS_SHORTCUT_TO":"a","SETTINGS_SHORTCUT_SPACE":"Espai","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Autenticar","SETTINGS_FACEBOOK_IMPORT":"Importar","SETTINGS_CALENDAR_SUBSCRIBE":"Subscriure","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Llenguatge de la interfície","SETTINGS_LAUNCH_STARTUP":"Iniciar al arrancar l\'equip","SETTINGS_VLC_DEFAULT":"Reproduir amb VLC","SETTINGS_UI_LANGUAGE":"Idioma de la interfície","SETTINGS_UI_ZOOM":"Zoom de la interfície","SETTINGS_FULLSCREEN_EXIT":"Tecla per sortir de la pantalla completa","SETTINGS_GAMEPAD":"Activa la compatibilitat amb el gamepad","SETTINGS_CLOSE_WINDOW":"Tanca l\'aplicació quan la finestra estigui tancada","SETTINGS_SUBTITLES_LANGUAGE":"Idioma dels subtítols predeterminat","SETTINGS_SUBTITLES_SIZE":"Mida dels subtítols predeterminada","SETTINGS_SUBTITLES_BACKGROUND":"Fons dels subtítols","SETTINGS_SUBTITLES_COLOR":"Color dels subtítols","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Color de l\'esquema dels subtítols","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Color de fons dels subtítols","SETTINGS_SEEK_KEY":"Les tecles de fletxa et mouen en el temps","SETTINGS_SEEK_KEY_SHIFT":"Les tecles de fletxa et mouen en el temps quan es manté premuda la tecla Shift","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Durada del rebobinat i de l\'avançament ràpid","SETTINGS_BINGE":"Reprodueix automàticament el proper episodi","SETTINGS_NEXT_VIDEO":"Mostra la notificació per iniciar el proper episodi","SETTINGS_NEXT_VIDEO_TRIGGER":"Mostra la notificació del següent episodi per a:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Durada de la finestra emergent del següent vídeo","SETTINGS_PLAY_IN_BACKGROUND":"Reprodueix en segon pla","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Reprodueix en un reproductor extern","SETTINGS_RESIZE":"Canvia la mida de la finestra abans de reproduir","SETTINGS_OVERRIDE_SERVER":"Substitueix l\'URL del servidor de transmissió (avançat)","SETTINGS_SERVER_URL":"URL del servidor de transmissió: ","SETTINGS_SERVER_AVAILABLE":"El servidor de transmissió està disponible.","SETTINGS_SERVER_UNAVAILABLE":"El servidor de transmissió no està disponible.","SETTINGS_SERVER_STATUS_ONLINE":"En línia","SETTINGS_SERVER_STATUS_ERROR":"Error","SETTINGS_SERVER_CONFIGURE_TITLE":"Configura l\'URL del servidor de transmissió","SETTINGS_SERVER_CONFIGURE_INPUT":"Introdueix l\'URL d\'un servidor de transmissió","SETTINGS_SERVER_CACHE_SIZE":"Mida de la memòria cau","SETTINGS_SERVER_TORRENT_PROFILE":"Perfil de Torrent","SETTINGS_HTTPS_ENDPOINT":"Endpoint de transmissió HTTPS: ","SETTINGS_TRANSCODE_PROFILE":"Perfil de transcodificació","SETTINGS_USE_BETA":"Utilitzeu sempre l\'última versió Beta","SETTINGS_IMPORT_FB":"Importar de Facebook","SETTINGS_IMPORT_DISK":"Importar del disc local","SETTINGS_IMPORT_TRAKT":"Importar de Trakt","SETTINGS_PAUSE_MINIMIZED":"Pausar la reproducció quan es minimitzi","SETTINGS_HWDEC":"Descodificació accelerada per maquinari","SETTINGS_BACKGROUND":"Reproducció en segon pla","SETTINGS_SUBSCRIBE_CALENDAR":"Subscriu-te al calendari","SETTINGS_REQ_EXPORT":"Sol·licitar l\'exportació de dades","SETTINGS_ACC_DELETE":"Sol·licitar eliminació del compte","SETTINGS_CHANGE_PASSWORD":"Canvia la contrasenya","SETTINGS_TOS":"Termes del servei","SETTINGS_SUPPORT":"Contactar suport","SETTING_LANGUAGE":"Llenguatge","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_LOGOUT":"Tanca la sessió de Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Tanca la sessió de Trakt","SETTINGS_SCAN_FOR_REMOTE":"Escaneja el codi QR per obrir el comandament a distància","SETTINGS_DESKTOP_NOTIFICATIONS":"Notificacions d\'escriptori","SETTINGS_DATA_SAVER":"Estalviador de dades","SETTINGS_LANGUAGE_INTERFACE":"interfície","SETTINGS_LANGUAGE_SUBS":"subtítols per defecte","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Seleccionar Automàticament la Pista d\'Àudio","SETTINGS_DEFAULT_AUDIO_TRACK":"Pista d\'Àudio Predeterminada","SETTINGS_SURROUND_SOUND":"So envoltant","SETTINGS_ACCOUNT":"compte","SETTINGS_PLATFORM":"Plataforma","SETTINGS_VERSION":"versió","SETTINGS_ABOUT":"Sobre","SETTINGS_MPV_WINDOW":"Inicia el reproductor en una finestra separada (avançat)","SETTINGS_PLAY_IN_EXTERNAL":"Inicieu sempre el vídeo en un reproductor extern","SETTINGS_STORAGE_BUTTON":"Esborra l\'emmagatzematge local","SETTINGS_STORAGE_MODAL_TITLE":"Estàs segur ?","SETTINGS_STORAGE_MODAL_MESSAGE":"Això esborrarà l\'emmagatzematge local i tancarà la sessió.","SETTINGS_HWDEC_PICKER":"Trieu la configuració de descodificació accelerada per maquinari","SETTINGS_HW_AUTOMATIC":"Automàtic","SETTINGS_HW_DISABLED":"Desactivat","SETTINGS_HW_ACCELERATED":"Acceleració de descodificació","SETTINGS_HW_FULL":"Acceleració total","SETTINGS_HW_LEGACY":"Heretat","SETTINGS_DISABLED":"Inhabilitat","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Notificació de connexió a la xarxa","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"URL remot","SETTINGS_COPY_REMOTE_URL":"Copia l\'URL remot","SETTINGS_REMOTE_URL_COPIED":"L\'URL remot s\'ha copiat al porta-retalls","SETTINGS_SECTION_SUBTITLES":"Subtítols","SETTINGS_SECTION_AUDIO":"Àudio","SETTINGS_SECTION_CONTROLS":"Controls","SETTINGS_SECTION_AUTO_PLAY":"Reproducció automàtica","SETTINGS_SECTION_ADVANCED":"Avançat","SUBSPICKER_AUDIO":"Àudio","SUBSPICKER_SUBTITLES":"Subtítols dels complements","SUBSPICKER_BLACK_BACKGROUND":"Utilitzar negre com color de fons","SUBSPICKER_VERTICAL_OFFSET":"Desplaçament vertical","SUBSPICKER_SIZE":"Mida","SUBSPICKER_DELAY":"Retard","SUBSPICKER_EMBEDDED_SUBS":"Subtítols incrustats","MOBILE_PRIVACY_POLICY":"Política de privacitat","MOBILE_CRASH_REPORTING":"Informe de fallades","MOBILE_ZOOM_TO_FILL":"Ampliar per omplir la pantalla","MOBILE_PASSTHROUGH":"Sortida d\'àudio digital (passthrough)","MOBILE_RUN_LOW_BATTERY":"Executar amb bateria baixa","MOBILE_RUN_FOREGROUND":"Executar com a servei de primer pla","MOBILE_PERFORMANCE":"RENDIMENT I ESTABILITAT","MOBILE_SERVER_ONLINE":"En línia","MOBILE_SERVER_OFFLINE":"Fora de línia","MOBILE_QR_EXPIRES":"El codi QR caduca en ","MOBILE_LOG_INTO":"Iniciar sessió al compte Stremio ","MOBILE_SCAN_QR":"Escaneja el codi QR de dalt o ves a ","MOBILE_LINK_ACCOUNT":"Enllaçar el compte","MOBILE_SPEEDPICKER_CANCEL":"Cancel·lar","MOBILE_SPEEDPICKER_LABEL":"Seleccionar Velocitat de Reproducció","MOBILE_EMPTY_LIBRARY":"La teva biblioteca està buida","MOBILE_NO_ADDON_ACTIVE":"No hi ha cap complement Stremio actiu per a aquest tipus.","MOBILE_ORGANIZER_WARNING":"L\'aplicació Stremio Organizer ofereix una funcionalitat limitada. Per obtenir una llista de reproduccions i l\'experiència completa d\'Stremio, feu servir Stremio a l\'escriptori.","MOBILE_ADDON_LOADING":"encara està carregant","MOBILE_ADDONS_LOADING":"els complements encara estan carregant","MOBILE_ADDON":"Complement","MOBILE_CONFIGURE_ADDON":"Configura el teu complement","MOBILE_CONFIGURE_ADDON_LABEL":"Configurar Complement","MOBILE_ORGANIZER_ADDONS_WARNING":"L\'aplicació Stremio Organizer ofereix una selecció limitada de complements. Per gaudir de l\'experiència Stremio completa, utilitzeu Stremio a l\'escriptori.","MOBILE_DISCONNECT":"Desconnectar","MOBILE_LOOKING_FOR_DEVICES":"Buscant dispositius...","MOBILE_CAST_TO":"Emet a","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Esborrar compte","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"L\'eliminació del compte no és instantània a causa d\'obligacions legals. Després de sol·licitar l\'eliminació del vostre compte, haureu d\'utilitzar una adreça de correu electrònic/perfil de Facebook diferent per crear un nou compte d\'Stremio en el futur.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirmeu la supressió del compte","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"El vostre compte s\'ha creat mitjançant Facebook. Per suprimir el vostre compte, utilitzeu el nostre portal d\'usuaris a www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Proporcioneu la vostra contrasenya per confirmar la supressió del compte.","MOBILE_DELETE_ACCOUNT_BUTTON":"Esborrar compte","NAVIGATION_ON":"Encès","NAVIGATION_OFF":"Apagat","MARKETING_AGREE":"Accepto rebre comunicacions de màrqueting d\'Stremio","QUIT":"Sortir","CONNECTED":"Connectat","AUTHENTICATE":"Autenticar","CACHING":"Memòria cau","SETTINGS_CACHING_DRIVE":"Disc de memòria cau","ENABLE_LOCAL_FILES_ADDON":"Activa el complement de fitxers locals (requereix un reinici)","LOCAL_ADDON_NOT_ENABLED":"El complement local no està habilitat. Feu clic aquí per anar a la configuració i activar-lo","ENABLE_REMOTE_HTTPS_CONN":"Activeu les connexions HTTPS remotes","TORRENT_PROFILE":"Perfil del torrent","DATA_CACHING":"Memòria cau emmagatzemada","MAGNET_PARSING":"Analitzant un enllaç magnètic","January":"Gener","February":"Febrer","March":"Març","April":"Abril","May":"Maig","June":"Juny","July":"Juliol","August":"Agost","September":"Setembre","October":"Octubre","November":"Novembre","December":"Desembre","Monday":"Dilluns","Tuesday":"Dimarts","Wednesday":"Dimecres","Thursday":"Dijous","Friday":"Divendres","Saturday":"Dissabte","Sunday":"Diumenge","Action":"Acció","Comedy":"Comèdia","War":"Bèl·lic","Family":"Família","Animation":"Animació","Adventure":"Aventura","Fantasy":"Fantasia","Crime":"Crim","Mystery":"Misteri","Romance":"Romanç","Drama":"Drama","Horror":"Terror","Thriller":"Suspens","Sci-Fi":"Ciència-ficció","Music":"Musical","Biography":"Biogràfic","Documentary":"Documental","Sport":"Esports","Musical":"Musical","Western":"Western","Film-Noir":"Film-Noir","News":"Notícies","History":"Història","Game-Show":"Concursos","Reality-TV":"Reality shows","Talk-Show":"Entrevistes","Film & Entertainment":"Cinema i entreteniment","Gaming":"Videojocs","From TV":"De la TV","Lifestyle":"Estil de vida","Science & Education":"Ciència i educació","Cooking & Health":"Cuina i salut","Beauty & Fashion":"Bellesa i moda","Sports":"Esports","News & Politics":"Notícies i política","How-to & DIY":"Com fer-ho i DIY","Tech":"Tecnologia","Automotive":"Automoció","Causes & Non-Profits":"Causes i organitzacions sense ànim de lucre","Movies":"Pel·lícules","Uk Live Tv":"TV britànica en directe","Fashion":"Moda","Business News Radio":"Ràdio - Notícies de negocis","Business Tv":"TV negocis","Cars & Auto":"Automòbils","Comedy Radio":"Ràdio - Comèdia","Lifestyle Radio":"Ràdio - Estil de vida","News Tv":"TV notícies","Food And Wine":"Menjar i Vi","Latino Tv":"TV Llatina","Shopping Tv":"TV compres","Religion":"Religió","Kids":"Nens","Body & Soul":"Cos i ànima","Education":"Educació","Indian Tv":"TV índia","Extreme Sports":"Esports extrems","Middle Eastern Tv":"TV de l\'Orient Mitjà","Celebrity Tv":"TV famosos","Science Tv":"TV ciència","Bikini babe":"Bikini babe","Outdoors":"A l\'aire lliure","German Tv":"TV alemanya","French Tv":"Tv francesa","Italian Tv":"TV italiana","Gamer Tv":"TV videojocs","Travel":"Viatges","Asian Tv":"TV asiàtica","Entertainment":"Entreteniment","News Radio":"Ràdio - Notícies","Music Radio":"Ràdio - Música","Language Learning":"Aprenentatge d\'idiomes","Science Radio":"Ràdio - Ciències","Tech Radio":"Ràdio - Tecnologia","Science & Technology Vod":"Ciència i tecnologia sota demanda","new video":"nou vídeo","new episode":"nou episodi","new movie":"nova pel·lícula","recommended":"recomanat","we recommend":"recomanem","offer of the day":"oferta del dia","news":"notícies","music video":"vídeo musical","CTX_SHOW_HOTKEYS":"Show hotkeys","CTX_DISMISS_NOTIF":"Descarta les notificacions","CTX_DISMISS_ALL":"Descarta-ho tot","CTX_SHARE":"Comparteix","CTX_COPY_SHARE_LINK":"Copia l\'enllaç per compartir","CTX_COPY_MAGNET_LINK":"Copia enllaç magnètic","CTX_COPY_STREAM_LINK":"Copia enllaç de l\'stream","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Descarregar aquest vídeo","CTX_DOWNLOAD_SUBS":"Descarregar els subtítols","CTX_VIEW_ON_YOUTUBE":"Veure a YouTube","CTX_SHOW":"Mostra","CTX_PLAY":"Reproduir","CTX_PLAY_IN":"Reprodueix aquí","CTX_PLAY_ON":"Reprodueix a","CTX_WATCH_ON":"Veure a","CTX_WATCH":"Veure","CTX_WATCHED":"Vist","CTX_WATCH_BEGINNING":"Veure des del principi","CTX_WATCH_MOBILE":"Veure en un dispositiu mòbil","CTX_REWIND":"Rebobinar fins al començament","CTX_MARK_WATCHED":"Marca com a vist","CTX_MARK_NON_WATCHED":"Marca com a no vist","CTX_MARK_UNWATCHED":"Marca com sense mirar","CTX_MARK_REST":"Marca la resta com a vist","CTX_UNMARK_REST":"Marca la resta com a no vist","CTX_RECEIVE_NEW_NOTIF":"Rebre notificacions noves","CTX_ENABLE_NEW_NOTIF":"Activa les notificacions","CTX_DISABLE_NEW_NOTIF":"Desactiva les notificacions","CTX_REMOVE_CACHE":"Elimina de la memòria cau","CTX_REMOVE_CACHE_EP":"Elimina l\'episodi de la memòria cau","CTX_OPEN_CONTAINING":"Obre la carpeta que conté","CTX_REMOVE":"Elimina de la biblioteca","CTX_AVAILABLE_OFFLINE":"Disponible fora de línia","CTX_PAUSED":"En pausa","CTX_ALWAYS_ON_TOP":"Sempre a la part superior","CTX_FULLSCREEN":"Pantalla completa","CTX_WRONG_SUBS":"Subtítols incorrectes?","CTX_REPORT_ISSUES":"Informar del problema","CTX_COPY":"Copia","CTX_PASTE":"Enganxa","CTX_CLEAR":"Esborra","CTX_CLEAR_RECENT_SEARCHES":"Esborra les cerques recents","HELLO_THERE":"Hola","HOPE_YOU_ENJOY":"Esperem que gaudiu d\'Stremio i ja sigui una de les vostres aplicacions preferides.","WHO_ARE_WE":"Qui som? Som l\'equip que hi ha darrere: dos nois que treballen molt cada dia durant els darrers 3 anys per fer que aquest producte sigui cada vegada millor.","SUPPORT_US":"Si us agrada utilitzar Stremio, si Stremio és valuós per a vosaltres, correu la veu!","SPREAD_THE_WORD":"Comparteix amb els teus amics ara, difon la notícia sobre Stremio","MORE_PEOPLE":"Com més gent utilitzi Stremio, millor serà.","SEND_A_LINK":"O envieu un enllaç al nostre lloc web","TIP_LOCALFILES":"Consell: podeu arrossegar i deixar anar fitxers de vídeo locals a Stremio","ADDON_MY":"Els meus complements","ADDON_COMMUNITY":"Complements de la comunitat","ADDON_OFFICIAL":"Complements oficials","ADDON_REPOS":"Col·leccions de complements","ADDON_SEARCH":"Cerca de complements","ADDON_INSTALL":"Instal·la","ADDON_CONFIGURE":"Configura","ADDON_UNINSTALL":"Desinstal·la","ADDON_UPGRADE":"Actualitza","ADDON_INSTALLED":"Instal·lat","ADDON_INSTALLED_MSG":"Complement instal·lat!","ADDON_UPGRADED_MSG":"Complement actualitzat!","ADDON_UNKNOWN":"Desconegut","ADDON_ERR":"Error d\'instal·lació del complement!","ADDON_DISCONNECTED":"Desconnectat","ADDON_APP_MISSING":"l\'aplicació d\'aquesta font no està instal·lada. Voleu instal·lar-la ara?","ADDON_APP_INSTALL":"Instal·lar ara","ADDON_PAGE":"Pàgina del complement","ADDON_TOP_CONTENT":"El millor d\'aquest complement","ADDON_PROVIDES":"Aquest complement proporciona:","ADDON_WATCH":"Mireu #{types} ara!","ADDON_WATCH_FREE":"Mireu #{types} GRATIS ara!","ADDON_ADDON":"Complement","ADDON_SUPPORTED_TYPES":"Tipus compatibles","ADDON_SUPPORTED_CATALOGS":"Catàlegs compatibles","ADDON_PROVIDES_DISCOVER":"Més #{types} a Descobreix","ADDON_PROVIDES_STREAMS":"Mira #{types}","ADDON_PROVIDES_STREAMS_FREE":"Mireu #{types} GRATIS","ADDON_PROVIDES_SUBTITLES":"Subtítols per #{types}","ADDON_CANTDETECT":"No hem pogut detectar un Stremio en execució, de manera que no hem pogut detectar quins complements heu instal·lat.","ERR_NO_META":"No s\'ha trobat informació sobre això ","ERR_GETTING_META":"Error en recuperar informació sobre això.","ERR_CANT_PARSE_MAGNET":"No es pot analitzar l\'enllaç magnètic","ERR_NO_MAGNET_INFOHASH":"No hi ha cap hash d\'informació magnet vàlida","ERR_NO_FILE_PATH":"No es pot enviar la sol·licitud sense una ruta al fitxer","ERR_NO_TORRENT":"No s\'ha retornat cap torrent","ERR_NO_SUPPORTERD_FILES":"No s\'han trobat fitxers compatibles","ERR_OPENING_FILES":"No s\'han pogut obrir els fitxers externs","ERR_INVALID_LINK":"Enllaç invàlid","ERR_REGISTERED_ONLY":"Aquesta opció només està disponible per als usuaris registrats.","ERR_CLIPBOARD":"No es pot reproduir des del porta-retalls","ERR_CLIPBOARD_READ":"No es pot llegir el porta-retalls d\'aquesta plataforma","ERR_CLIPBOARD_GENERIC":"No s\'ha trobat cap URL reproduïble al porta-retalls. Copieu un URL (per exemple, un enllaç magnètic) a un vídeo.","BOARD_CONTINUE_WATCHING":"Continuar mirant","BOARD_EXPLANATION_RECOMMENDATIONS":"Pel·lícules seleccionades especialment per a vosaltres.<br />Aquesta pel·lícula és una recomanació d\'exemple.","BOARD_EXPLANATION_EPISODES":"Els nous episodis de les vostres Sèries preferides arriben aquí.<br />Afegiu sèries que seguiu a la Biblioteca.","BOARD_EXPLANATION_VIDEOS":"Els nous episodis dels vostres Canals preferits arriben aquí.<br />Afegiu a la Biblioteca els canals de YouTube que seguiu.","WEBSITE_ENJOYED_BY":"Gaudit per més de 30 milions d\'usuaris a tot el món.","WEBSITE_STREAMING_ENHANCED":"Transmissió millorada","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio ofereix una experiència d\'entreteniment segura, moderna i sense interrupcions. Amb la seva interfície fàcil d\'utilitzar i una àmplia biblioteca de continguts diversa, que inclou suport per a 4K HDR, els usuaris poden gaudir de les seves pel·lícules i sèries preferits a tots els seus dispositius. I amb el seu compromís amb la seguretat, Stremio és l\'opció definitiva per a una experiència de transmissió d\'alta qualitat sense preocupacions.","WEBSITE_AVAILABLE_ON":"Disponible a","WEBSITE_WATCH_AND_ENJOY":"Mira i gaudeix.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio és bufar i fer ampolles","WEBSITE_ALL_FEATURES":"Totes les funcionalitats","WEBSITE_EASY_TO_USE":"Fàcil d\'utilitzar","WEBSITE_EASY_TO_USE_DETAILS":"Stremio està dissenyat per ser fàcil d\'utilitzar i amigable. Amb la seva interfície neta i intuïtiva, pots navegar fàcilment i trobar el contingut que vols veure.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Sense problemes en tots els dispositius","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Disponible per a una àmplia gamma de plataformes (incloent Windows, Mac, Linux, Android i més), Stremio seguirà el teu progrés a través de tots els teus dispositius. Només has d\'iniciar la sessió i continuar veient sense haver de configurar l\'aplicació de nou a cada nou dispositiu.","WEBSITE_ALL_DOWNLOADS":"Totes les descàrregues","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"Suport de vídeo d\'alta definició","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"Un reproductor de vídeo integrat que suporta la majoria dels formats de vídeo, incloent contingut 4K HDR, et permet gaudir de la millor qualitat disponible.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Biblioteca de continguts variada","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio s\'integra amb moltes fonts de vídeo populars, com Netflix, Amazon Prime Video, Hulu, YouTube i moltes més.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Crea un Compte Gratuït","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Experiència de Visualització Personalitzada","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio et permet personalitzar l\'aparença i el comportament de la interfície canviant el tema, afegint o eliminant complements i més.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Suport de Subtítols Multilingües","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"Ara pots gaudir de tot el teu contingut preferit en el teu idioma preferit, ja que Stremio admet subtítols en tots els idiomes.","WEBSITE_ALL_STREMIO_FEATURES":"Totes les característiques d\'Stremio","WEBSITE_TRY_STREMIO_TITLE_P1":"Prova Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"Al Teu Televisor Ara Mateix","WEBSITE_YOU_CAN_NOW_WATCH":"Ara pots veure totes les teves sèries de televisió preferides als teus dispositius Android TV. L\'aplicació d\'Stremio per a TV et permet gaudir d\'una nit de pel·lícules amb facilitat.","WEBSITE_YOU_CAN_NOW_WATCH_2":"Ara pots veure totes les teves sèries de televisió preferides al teu Smart TV o Android TV. Les aplicacions de TV d\'Stremio et permeten gaudir d\'una nit de pel·lícules amb facilitat.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio per a Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probablement la millor i més útil aplicació que pots tenir al teu dispositiu. És una de les aplicacions que utilitzo a diari, especialment al meu Android TV, durant molts anys. Ben feta amb una comunitat forta que proporciona funcionalitats útils. Ben fet. Continueu amb la bona feina.","WEBSITE_REVIEWS":"resenyes","WEBSITE_GET_STREMIO_FOR_FREE":"Aconsegueix Stremio Gratuïtament","WEBSITE_GET_STREMIO_NOW":"Aconsegueix Stremio Ara","WEBSITE_STREMIO_FEATURES":"Característiques d\'Stremio","WEBSITE_STREMIO_FEATURES_DETAILS":"Reprodueix com un professional amb les funcions avançades d\'Stremio i gaudeix d\'un accés perfecte a tots els teus mitjans preferits","WEBSITE_DISCOVER_MORE":"Descobreix més.","WEBSITE_DISCOVER_MORE_DETAILS":"No et quedis mai sense coses per veure","WEBSITE_COMMUNITY_DRIVEN":"Impulsat per la comunitat","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio té una gran i activa comunitat d\'usuaris que contribueixen al desenvolupament del programari creant i compartint complements.","WEBSITE_GET_INVOLVED":"Impliqueu-vos","WEBSITE_NEW_THEATER_EXPERIENCE":"Nova Experiència de Cinema","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"La nova aplicació de TV dedicada d\'Stremio et permet gaudir d\'una nit de pel·lícules als teus dispositius Android TV.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Les noves aplicacions de TV dedicades d\'Stremio et permeten gaudir d\'una nit de pel·lícules als teus Smart TV o dispositius Android TV.","WEBSITE_FREE_AND_SECURE":"Gratuït i segur","WEBSITE_STREAMING":"Transmissió","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio ofereix una seguretat i privadesa inigualables per als usuaris. Amb la seva característica única d\'executar complements de forma remota, Stremio ofereix una manera més segura de reproduir el vostre contingut preferit en comparació amb altres plataformes. La vostra seguretat i privadesa són les principals prioritats, i la plataforma garanteix que totes les teves dades estiguin protegides.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Acomiadau-vos de les preocupacions per la seguretat i la privadesa i saludeu un món d\'entreteniment sense fi amb Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Informació proporcionada per","WEBSITE_CONTRIBUTE":"Contribueix","WEBSITE_CONTRIBUTE_DESC":"al projecte i ajuda\'ns a millorar encara més Stremio","WEBSITE_COMMUNITY_DESC":"Creiem que la millor manera de crear una experiència de transmissió realment sorprenent és implicar la nostra comunitat en el procés. Tant si sou un programador, un artista o només un fan, podeu ajudar a Stremio a créixer.","WEBSITE_COMMUNITY_DESC_2":"Així que uneix-te a nosaltres avui i forma part de la comunitat Stremio i segueix donant forma al futur de la reproducció en temps real.","WEBSITE_WAYS_TO_GET_INVOLVED":"Maneres d\'implicar-se","WEBSITE_IN_THE_STREMIO_COMMUNITY":"a la comunitat Stremio","WEBSITE_SHARE_YOUR_THOUGHTS":"Comparteix els teus pensaments","WEBSITE_REPORT_BUGS":"Informa d\'errors","WEBSITE_SUGGEST_FEATURES":"suggereix funcions","WEBSITE_AND_PROVIDE_FEEDBACK":"i proporcionar comentaris als nostres canals de xarxes socials.","WEBSITE_BETA_TESTING_PROGRAM":"Programa de proves Beta","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participa en el nostre programa de proves Beta (enviem invitacions regularment) a la comunitat d\'Stremio.","WEBSITE_JOIN_NOW":"Uniu-vos ara!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Comunitats Oficials d\'Stremio","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Comunitats No Oficials d\'Stremio","WEBSITE_BECOME":"Converteix-te","WEBSITE_A_VOLUNTEER_TRANSLATOR":"en un traductor voluntari","WEBSITE_ARE_YOU_A_DEVELOPER":"Ets desenvolupador?","WEBSITE_CONTRIBUTE_CODE":"Pots contribuir amb codi als nostres projectes d\'open source. Tenim diversos projectes a GitHub que busquen col·laboradors. Si estàs interessat en ajudar-nos, fes una ullada:","WEBSITE_STREMIO_ON_GITHUB":"Stremio a GitHub","WEBSITE_CREATE_ADDON_DESC":"Crea un complement per millorar la funcionalitat d\'Stremio (tenim una API fàcil d\'utilitzar):","WEBSITE_STREMIO_ADDON_SDK":"SDK de complementd d\'Stremio","WEBSITE_INTERN_DEVELOPER":"També oferim l\'oportunitat d\'unir-se a nosaltres com a desenvolupador en pràctiques perquè puguem créixer junts.","WEBSITE_APPLY_AS_AN_INTERN":"Sol·licita com a estudiant en pràctiques","WEBSITE_CALLING_ALL_ARTISTS":"Convoquem a tots els artistes!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Mostra la teva creativitat i amor per Stremio pujant la teva obra d\'art d\'aficionat a la nostra galeria en línia. Ja sigui un dibuix, una pintura o un disseny digital, volem veure la teva visió única de la marca Stremio. Uneix-te a la nostra comunitat d\'entusiastes de l\'art i comparteix la teva obra amb altres fans d\'Stremio d\'arreu del món.","WEBSITE_STREMIO_FANART_GALLERY":"Galeria d\'Art d\'aficionats d\'Stremio","WEBSITE_INTERN_DESIGNER":"Forma part del nostre equip i porta la teva creativitat a nous nivells amb les nostres emocionants oportunitats de pràctiques.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Projecte de Pel·lícules de Domini Públic","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"A Stremio, estem compromesos a preservar la història del cinema i la televisió mitjançant la identificació de vídeos orfes i de domini públic. Treballant conjuntament amb la nostra comunitat, podem garantir que aquestes obres d\'art clàssiques siguin accessibles per a tothom i protegides perquè les generacions futures en gaudeixin.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"No dubtis a contactar-nos si vols involucrar-te en aquest projecte.","WEBSITE_JOIN_THE_PROJECT":"Uneix-te al Projecte","WEBSITE_BE_PART_OF_OUR_MISSION":"Forma part de la nostra missió","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interessat a unir-te a l\'equip d\'Stremio? Oferim treball completament remot per a professionals apassionats. Consulta les nostres posicions obertes.","WEBSITE_OPEN_POSITIONS":"POSICIONS OBERTES","WEBSITE_DESCRIPTION":"DESCRIPCIÓ","WEBSITE_LEARN_MORE":"Més informació","WEBSITE_COMPANY":"Empresa","WEBSITE_CONTACTS":"Contactes","WEBSITE_NEED_HELP":"Necessites ajuda?","WEBSITE_STREMIO_WEB_ON_IOS":"Guia per a Stremio Web a iOS","WEBSITE_LINK_ART_V2":"Galeria d\'Art","WEBSITE_PARTNERS":"Socis","WEBSITE_SLOGAN_WATCH":"Veure instantàniament","WEBSITE_SLOGAN_ALL":"Tot el contingut de vídeo que gaudiu d\'un sol lloc","WEBSITE_SLOGAN_NEW":"Tot el que podeu veure","WEBSITE_SLOGAN_NEW_NEW":"Llibertat d\'emissió","WEBSITE_WATCH_FROM":"Veure des de","WEBSITE_DOWNLOAD":"Baixa-ho ara","WEBSITE_DOWNLOAD_FOR":"Baixeu-lo ara per","WEBSITE_IS_DESKTOP":"Stremio és una aplicació d\'escriptori, obriu aquesta pàgina al vostre PC i descarregueu-la","WEBSITE_DESKTOP_DEMO_VID":"Demostració d\'escriptori","WEBSITE_PAGE_HOME":"Inici","WEBSITE_PAGE_FEATURES":"Característiques","WEBSITE_PAGE_ADDONS":"Complements","WEBSITE_PAGE_TECH":"Tecnologia","WEBSITE_PAGE_CREATE_ADDON":"Crea un Complement","WEBSITE_PAGE_CONTACTS":"Contactes","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Si us plau, introdueix la nova contrasenya a continuació.","WEBSITE_RESET_PASSWORD_WARNING":"Esteu segur que voleu restablir la contrasenya de ${1}?","WEBSITE_TYPE_movie":"Pel·lícules","WEBSITE_TYPE_series_PL":"Sèries","WEBSITE_TYPE_tv":"TV en directe","WEBSITE_TYPE_channel":"Canals","WEBSITE_STREMIO_WHAT_IS":"Stremio és una aplicació que us ajuda a organitzar i veure a l\'instant els vostres vídeos, pel·lícules, sèries i canals de televisió preferits.","WEBSITE_FEATURES_WATCH":"Veure instantàniament en HD","WEBSITE_FEATURES_WATCH_DETAIL":"Feu clic i reproduïu els vostres pel·lícules, programes de televisió, vídeos i canals de TV preferits.","WEBSITE_FEATURES_SUBS":"Subtítols automàtics","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio selecciona automàticament els subtítols sincronitzats per al vostre idioma.","WEBSITE_FEATURES_SUBS_LABEL":"Tu mous, mestre.","WEBSITE_FEATURES_CAST":"Reprodueix a la TV i dispositius mòbils","WEBSITE_FEATURES_CAST_DETAIL":"Emet a AppleTV, Chromecast, Smart TV (DLNA/UPnP) i dispositius mòbils.","WEBSITE_LIB":"Gaudeix de la teva biblioteca personal sincronitzada en tots els teus dispositius","WEBSITE_LIB_COLLECT":"Recopila informació d\'Stremio","WEBSITE_LIB_IMPORT":"Importa de Facebook","WEBSITE_LIB_LOCAL":"Afegeix des del vostre disc local","WEBSITE_BOARD":"El tauler - El lloc principal per a Notificacions i Recomanacions","WEBSITE_BOARD_RECOMMEND":"Programa de televisió recomanat","WEBSITE_BOARD_TRENDING":"Tendències de pel·lícules","WEBSITE_BOARD_NEW":"Nou vídeo","WEBSITE_BOARD_EPISODE":"Nou episodi","WEBSITE_BOARD_1":"Busqueu alguna cosa interessant per veure? Obteniu recomanacions segons el vostre gust!","WEBSITE_BOARD_2":"Sigues notificat quan surti un nou episodi del vostre programa de televisió o canal de YouTube preferit.","WEBSITE_BOARD_YOUTUBE":"Nous vídeos de canals de YouTube","WEBSITE_BOARD_EPISODES":"Nous episodis de sèries que seguiu","WEBSITE_ADDONS":"Complements de contingut","WEBSITE_TECH_DETAIL":"Ens encanta la tecnologia, ens encanta la ciència boja!\\nStremio utilitza les següents tecnologies de codi obert:","WEBSITE_TECH_WCJS":"WebChimera.js permet a Stremio reproduir qualsevol format de vídeo amb un bon rendiment.","WEBSITE_TECH_WCJS_EXTRA":"Som col·laboradors principals del projecte","WEBSITE_TECH_ELECTRON":"Electron proporciona una plataforma innovadora per construir Stremio.","WEBSITE_TECH_ELECTRON_EXTRA":"Som col·laboradors del projecte","WEBSITE_TECH_LINVODB":"Una tecnologia de base de dades que garanteix que les vostres dades estiguin organitzades i disponibles a qualsevol lloc on us inicieu la sessió.","WEBSITE_TECH_LINVODB_EXTRA":"Tecnologia pròpia","WEBSITE_CREATE_ADDON":"Creeu el vostre complement","WEBSITE_CREATE_ADDON_DETAIL":"Teniu un servei que proporcioni contingut de vídeo? Us ajudarem a beneficiar-vos de les funcions d\'Stremio creant el vostre complement","WEBSITE_CREATE_ADDON_BENEFITS":"Avantatges de crear un complement per a Stremio","WEBSITE_P2P_BEAUTY":"La bellesa de la transmissió d\'igual a igual (P2P)","WEBSITE_P2P_1":"Vídeo HD / 4K fiable i assequible a petició o en directe","WEBSITE_P2P_2":"Plataforma de distribució que proporciona una gran experiència d\'usuari","WEBSITE_P2P_3":"Crearem un complement que compleixi les vostres necessitats exactes","WEBSITE_P2P_CONTACT":"T\'interessa? Et convidem a <a href=\'mailto:office@stremio.com\'>contactar-nos</a>.","WEBSITE_P2P_CONTACT_EXTRA":"Estarem encantats d\'ajudar-vos a integrar el vostre contingut amb Stremio!","WEBSITE_P2P":"De tant en tant, arriba una tecnologia que canvia el joc. Invertim tones de temps i esforç en la creació del nostre motor de transmissió de vídeo d\'igual a igual (P2P) que proporciona un gran rendiment i versatilitat a adapteu-vos amb qualsevol cas d\'ús.\\nContacteu amb nosaltres per obtenir vídeos P2P habilitats per a DRM a la carta o en directe.","WEBSITE_THOUGHTS":"Pensaments que compartim:","WEBSITE_SPREAD":"Difon la notícia sobre Stremio:","WEBSITE_CONTACT":"Poseu-vos en contacte amb nosaltres, estarem encantats de conèixer-vos!","WEBSITE_OPENSOURCE":"Per als nostres projectes de codi obert, aneu al nostre","WEBSITE_BITCOIN":"Feu una donació de bitcoins:","WEBSITE_FAQ":"Preguntes freqüents","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Preguntes","WEBSITE_TOS":"Condicions d\'ús","WEBSITE_LEGAL":"Legal","WEBSITE_PAGE_ABOUT":"Quant a","WEBSITE_PAGE_BECOME_PARTNER":"Feu-vos soci","WEBSITE_ALL_YOU_CAN_WATCH":"Llibertat de visualització\\nTot el que desitgeu.","WEBSITE_FREEDOM_TO_STREAM":"Llibertat d\'emissió","WEBSITE_WHAT_IS_STREMIO":"Què és Stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio és un centre únic per a l\'agregació de contingut de vídeo. Descobriu, organitzeu i mireu vídeos de tot tipus de fonts en qualsevol dispositiu que tingueu.","WEBSITE_WHAT_IS_STREMIO_P2":"Pel·lícules, programes de televisió, sèries, televisió en directe o canals web com YouTube i Twitch.tv - tot això ho podeu trobar a Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio és un modern centre multimèdia que és una solució única per al vostre entreteniment de vídeo. Descobriu, mireu i organitzeu contingut de vídeo des de complements fàcils d\'instal·lar.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Pel·lícules, programes de televisió, TV en directe o canals web: trobeu tot això a Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Gaudeix en tots els teus dispositius multimèdia","WEBSITE_DEVICES_COLLECT":"Recopila informació d\'Stremio","WEBSITE_DEVICES_IMPORT_FB":"Importa de Facebook","WEBSITE_DEVICES_LOCAL":"Afegeix des del disc local","WEBSITE_JOIN_THE_PARTY_NOW":"Uniu-vos a la festa ara","WEBSITE_DEVICES_ALL":"Fàcil d\'utilitzar en tots els vostres dispositius;","WEBSITE_EXTENDABLE_CATALOG":"Catàleg de vídeo extensible infinitament;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Funcions fantàstiques per organitzar el vostre contingut multimèdia;","WEBSITE_AS_SEEN_ON":"Com es veu a","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"Sobre nosaltres","WEBSITE_LINK_TECHNOLOGY":"Tecnologia","WEBSITE_LINK_APPS":"Aplicacions","WEBSITE_LINK_DOWNLOADS":"Descàrregues","WEBSITE_MORE":"Més","WEBSITE_LINK_ADDONS":"Complements","WEBSITE_LINK_ADDON_SDK":"SDK Complements","WEBSITE_LINK_CONTRIBUTE":"Contribuir","WEBSITE_LINK_COMMUNITY":"Comunitat","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... i més","WEBSITE_LINK_HELP":"Centre d\'ajuda","WEBSITE_LINK_CONTACTS":"Consultes empresarials","WEBSITE_LINK_TOS":"Termes i Condicions","WEBSITE_LINK_PRAVACY":"Política de privacitat","WEBSITE_SUBSCRIBE":"Subscriu-te","WEBSITE_NEWSLETTER":"Uniu-vos al nostre butlletí de coses increïbles","WEBSITE_PLACEHOLDER_EMAIL":"El teu correu electrònic","WEBSITE_COMMUNITY":"Comunitat","WEBSITE_LINK_PRAVACY_LEGAL":"Privadesa i legal","WEBSITE_WHY":"Per què ho fem?","WEBSITE_WHY_P1":"A Stremio, treballem cada dia perquè volem resoldre un problema important per a la indústria del vídeo a la carta. Hi ha tants continguts nous publicats cada minut que és pràcticament impossible trobar-hi el camí.","WEBSITE_WHY_P2":"Ajudem la gent a navegar per aquest enorme món d\'entreteniment en vídeo i a descobrir contingut nou per gaudir-ne. Les nostres aplicacions reuneixen pel·lícules, sèries, TV en directe, canals web i molt més. Ens dediquem a facilitar als usuaris la possibilitat de trobar títols i emissores que els encanten.","WEBSITE_WHY_P3":"Podeu utilitzar el nostre servei en qualsevol dispositiu i en qualsevol moment, cosa que converteix Stremio en l\'únic centre d\'entreteniment de vídeo que necessiteu.","WEBSITE_TEAM":"EQUIP","WEBSITE_TEAM_P":"L\'equip d\'Stremio és petit però potent: entre els deu programem en X idiomes i compartim experiència en desenvolupament de programari, disseny UI i UX, màrqueting i publicitat, i empreses i startups.","WEBSITE_FEATURES":"Característiques","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Descobriu contingut nou amb facilitat","WEBSITE_FEATURES_DISCOVER_P":"Descobriu fàcilment noves pel·lícules, programes de televisió, sèries i canals per veure. Navegueu per categoria, gènere, classificació, actualitat, etc. o simplement escriviu un nom per trobar-lo. Stremio fa que trobar contingut de vídeo nou sigui bufar i fer ampolles.","WEBSITE_FEATURES_ALL_CONTENT":"Tot el contingut de vídeo en una sola pantalla","WEBSITE_FEATURES_ALL_CONTENT_P1":"Vegeu quines pel·lícules, sèries o vídeos no heu acabat i continueu veient-les; rebre notificacions de nous episodis i llançaments; i navegueu per les recomanacions que obtindreu en funció dels vostres hàbits de visualització.","WEBSITE_FEATURES_LIBRARY":"Organitzeu la vostra videoteca","WEBSITE_FEATURES_LIBRARY_P1":"Afegiu qualsevol títol a la vostra biblioteca Stremio amb un sol clic i cerqueu el vostre contingut, ordenat per tipus, actualitat o ordre alfabètic.","WEBSITE_FEATURES_CALENDAR":"Feu un seguiment de tot el que mireu","WEBSITE_FEATURES_CALENDAR_P1":"Obteniu una visualització del calendari de totes les pel·lícules i sèries que afegiu a la biblioteca. Exporteu el calendari Stremio i sincronitzeu-lo perquè sempre sàpiga quan s\'ha de produir un episodi nou o una premier.","WEBSITE_FEATURES_BIG_SCREEN":"Gaudeix del teu contingut de vídeo en una pantalla més gran","WEBSITE_FEATURES_BIG_SCREEN_P1":"Emet qualsevol cosa que estigueu veient a un altre dispositiu, ja sigui un telèfon, una tauleta o un televisor amb un sol clic.","WEBSITE_FEATURES_SOURCES":"Mireu el vídeo de moltes fonts diferents","WEBSITE_FEATURES_SOURCES_P":"Instal·leu complements oficials i de la comunitat per gaudir de vídeos provinents de molts proveïdors diferents - tot en una aplicació elegant i fàcil d\'utilitzar.","WEBSITE_CREATE_AN_ADDON":"Creeu un complement","WEBSITE_FEATURES_SYNC":"Sincronitzeu la biblioteca entre diferents dispositius i repreneu la reproducció","WEBSITE_FEATURES_SYNC_P1":"Inicieu la sessió amb el vostre compte a tots els vostres dispositius i gaudiu de la vostra biblioteca, complements, reproducció i calendari sincronitzats.","WEBSITE_FEATURES_EXTENDABLE":"Catàleg de vídeo ampliable amb complements","WEBSITE_FEATURES_EXTENDABLE_P1":"El catàleg de complements Stremio proporciona diversos complements per instal·lar i veure una gran varietat de contingut de vídeo. Això inclou pel·lícules, programes, TV en directe, esports, notícies, podcasts, canals web, videojocs i molt més.","WEBSITE_FEATURES_AUTO_SUBS":"Subtítols automàtics","WEBSITE_FEATURES_AUTO_SUBS_P1":"Amb els nostres complements de subtítols obtindreu opcions seleccionades automàticament per al vostre idioma preferit.","WEBSITE_FEATURES_CHROMECAST":"Emetent a Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Gaudeix del contingut de vídeo en una pantalla més gran o simplement emet el que estiguis mirant a un altre dispositiu.","WEBSITE_FEATURES_KEEP_TRACK":"Feu un seguiment dels vostres programes de televisió i canals web preferits","WEBSITE_FEATURES_KEEP_TRACK_P1":"Obteniu una visualització del calendari i notificacions de capítols nous de les vostres sèries i canals web preferits.","WEBSITE_FEATURES_POWER_USER":"Funcions d\'usuari avançat","WEBSITE_FEATURES_POWER_USER_P1":"Reprodueix en un reproductor extern","WEBSITE_FEATURES_POWER_USER_P2":"Reprodueix des d\'un fitxer torrent o un enllaç magnètic","WEBSITE_FEATURES_POWER_USER_P3":"Importa a la teva biblioteca des de m\'agrada de Facebook o discs locals","WEBSITE_ADD_ONS":"Complements","WEBSITE_ADD_ONS_P1":"Tot el contingut de vídeo que proporciona Stremio s\'obté a través d\'un sistema de complements - no hi ha cap contingut ni proveïdor de contingut integrat a l\'aplicació.","WEBSITE_ADD_ONS_P2":"Hi ha dos grups de complements disponibles: complements oficials i de comunitat.","WEBSITE_ADD_ONS_P3":"Els oficials són desenvolupats i allotjats per Stremio, mentre que els complements de la comunitat els creen els membres de la comunitat, que també els allotgen.","WEBSITE_ADDONS_OFFICIAL":"Complements oficials","WEBSITE_ADDONS_WATCHUB":"Reprodueix les teves pel·lícules, sèries i programes preferits de proveïdors com iTunes, Hulu, Amazon i altres serveis del Regne Unit i dels Estats Units.","WEBSITE_ADDONS_YOUTUBE":"Mireu els vostres canals de YouTube preferits sense anuncis i obteniu notificacions de les contribucions que heu seguit sobre les càrregues noves.","WEBSITE_ADDONS_FILMON":"Mireu TV en directe, pel·lícules i televisió social de franc. 600 canals de televisió, 45.000 pel·lícules gratuïtes, documentals i molt més.","WEBSITE_ADDONS_OPENSUBTITLES":"Subtítols de pel·lícules i TV en diversos idiomes, milers de subtítols traduïts penjats cada dia.","WEBSITE_ADDONS_COMMUNITY":"Complements de la comunitat","WEBSITE_ADDONS_FILMON_VOD":"Mireu el vídeo a la carta de Filmon.tv","WEBSITE_ADDONS_TWICH":"Mireu en directe des de Twitch.tv - una plataforma de transmissió de vídeo per a la indústria dels esports electrònics.","WEBSITE_ADDONS_VODO":"Mireu pel·lícules independents de forma totalment gratuïta.","WEBSITE_ADDONS_NETFLIX":"Mireu pel·lícules i sèries web de Netflix.","WEBSITE_ADDONS_CREATE":"Creeu un complement","WEBSITE_ADDONS_CREATE_P1":"Si ho desitgeu, podeu desenvolupar el vostre propi complement. D\'aquesta manera, podeu oferir a vosaltres mateixos i a la nostra comunitat accés a contingut de vídeo nou i arribar a un públic nou i dirigit de milions d\'usuaris de tot el món.","WEBSITE_ADDONS_START_CREATE":"Per començar, visiteu la pàgina del SDK de Complements Stremio:","WEBSITE_DOWNLOADS":"Descàrregues","WEBSITE_DOWNLOADS_P1":"Per obtenir un rendiment òptim, us recomanem que utilitzeu la versió més recent disponible de les aplicacions Stremio. Tanmateix, si per algun motiu voleu utilitzar una versió anterior, la podeu descarregar aquí.","WEBSITE_DOWNLOADS_P1_SHORT":"Per obtenir un rendiment òptim, us recomanem que utilitzeu la versió més recent disponible de les aplicacions d\'Stremio.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio per a Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio per a macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio per a Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio per a Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio per a Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio per a Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio per a Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio per a iOS (versió limitada)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio per a televisors Samsung","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio per a televisors LG","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio per a Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio per a Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio per a Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio per al Navegador","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Cerca Stremio a l\'App Store dels models de televisors Samsung de 2019 i posteriors","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Cerca Stremio a l\'App Store dels models de televisors LG de 2020 i posteriors","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Cerca Stremio a l\'App Store del teu dispositiu Xbox","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Descarrega el Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service és una aplicació auxiliar per a Stremio Web. Us recomanem que utilitzeu la darrera versió disponible del Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service per Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service Per macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service per Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service per Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"Més Opcions De Descàrrega","WEBSITE_DOWNLOAD_NEW":"Nou!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"Hem publicat Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"Hem publicat Stremio per a televisors Samsung","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"Hem publicat Stremio per a televisors LG","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"Hem publicat Stremio per a Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"Hem publicat Stremio per a Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"La plataforma Stremio és de codi obert i podeu crear fàcilment un complement per al contingut que actualment no existeix.","WEBSITE_CONTRIBUTE_WHY":"Per què heu de crear un complement?","WEBSITE_CONTRIBUTE_WHY_P1":"Arribeu a un públic nou pel contingut del vostre vídeo","WEBSITE_CONTRIBUTE_WHY_P2":"La base d\'usuaris d\'Stremio creix ràpidament - el primer any del llançament, Stremio va guanyat un milió d\'usuaris a tot el món i, el segon any d\'existència de la plataforma, aquest nombre va créixer fins als 2,5 milions.","WEBSITE_CONTRIBUTE_WHY_P3":"Amb el vostre complement, podeu arribar fàcilment a aquest públic i distribuir-hi el vostre contingut de vídeo.","WEBSITE_CONTRIBUTE_ALL":"Mireu les vostres pel·lícules, vídeos, sèries i canals preferits en un sol lloc.","WEBSITE_CONTRIBUTE_ALL_P1":"Sou fans d\'un tipus de contingut concret que encara no està disponible a Stremio? Crea un complement i gaudeix veient els teus vídeos preferits en un dels centres d\'entreteniment més grans i fàcils d\'utilitzar del mercat.","WEBSITE_CONTRIBUTE_ALL_P2":"A més, obtindreu l\'agraïment interminable d\'altres membres de la comunitat Stremio amb idees semblants.","WEBSITE_CONTRIBUTE_MONETIZE":"Obteniu ingressos del vostre complement i guanyeu diners amb la seva ajuda","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Un cop hàgiu desenvolupat un nou complement per a Stremio, podeu obtenir ingressos fàcilment a través de diverses maneres. Si ho teniu en compte, no dubteu a posar-vos en contacte amb nosaltres a ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - estarem encantats de consultar-los i assessorar-vos sobre les opcions de monetització dels complements.","WEBSITE_CONTRIBUTE_TRANSLATE":"Feu-vos traductor voluntari","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Si voleu gaudir de les aplicacions Stremio en diferents idiomes, podeu unir-vos a la nostra comunitat de traductors voluntaris. Ens ajuden a afegir versions d\'Stremio en molts idiomes diferents.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Teniu moltes ganes de començar?","WEBSITE_TRANSALTE_STREMIO":"Tradueix Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Comunitats oficials","WEBSITE_COMMUNITY_OFFICIALS_P1":"Formeu part de la creixent comunitat Stremio. Seguiu-nos a les xarxes socials i no tingueu por de saludar - ens encanta escoltar els nostres fans! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Comunitats no oficials","STREMIO_COMMUNITY_NL":"Stremio Països Baixos","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Alemanya","STREMIO_COMMUNITY_BELGIUM":"Stremio Bèlgica","STREMIO_COMMUNITY_FRANCE":"Stremio França","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Itàlia","STREMIO_COMMUNITY_UK":"Stremio Regne Unit","STREMIO_COMMUNITY_USA":"Stremio EUA","STREMIO_COMMUNITY_MEXICO":"Stremio Mèxic","STREMIO_COMMUNITY_ADDONS":"Complements Stremio","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Socis i simpatitzants","WEBSITE_COMMUNITY_GOODIES":"Llaminadures Stremio","WEBSITE_COMMUNITY_WALLPAPERS":"Fons de pantalla","WEBSITE_COMMUNITY_ART":"Galeria d\'Art de la Comunitat","WEBSITE_LINK_ART":"Galeria d\'art de la comunitat","WEBSITE_CONTACT_US":"Contacteu-nos","WEBSITE_CONTACT_US_P1":"Si teniu cap pregunta, comentari o suggeriment, no dubteu a posar-vos en contacte amb nosaltres a través del formulari de contacte següent.","WEBSITE_CONTACT_US_P2":"Tingueu en compte que estem ubicats a Bulgària, de manera que pot haver-hi un retard en atendre la vostra consulta a causa de les diferències de zona horària.","WEBSITE_CONTACT_US_SUCCESS":"El teu missatge ha estat enviat. Ens posarem en contacte amb vostè el més aviat possible.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Introduïu un correu electrònic vàlid!","WEBSITE_CONTACT_US_Q_RELATED_TO":"Amb què està relacionada la vostra pregunta?","WEBSITE_CONTACT_US_Q_OS":"Quin és el vostre Sistema Operatiu?","WEBSITE_CONTACT_US_PH_EMAIL":"El teu correu electrònic","WEBSITE_CONTACT_US_PH_MESSAGE":"Missatge","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"ENVIAR","WEBSITE_CONTACT_US_Q_1":"Com instal·lar?","WEBSITE_CONTACT_US_Q_2":"Com es desinstal·la?","WEBSITE_CONTACT_US_Q_3":"(HTML) Com fer lasanya?","WEBSITE_CONTACT_US_Q_4":"Complements","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Tecnologia","WEBSITE_TECHNOLOGY_P1":"Ens encanta la tecnologia i la ciència boja. </br> Això és el que potencia Stremio (tot és de codi obert).","WEBSITE_TECHNOLOGY_P_QT":"Desenvolupament de programari multiplataforma al màxim.","WEBSITE_TECHNOLOGY_P_MPV":"Un reproductor multimèdia gratuït, de codi obert i multiplataforma.","WEBSITE_TECHNOLOGY_P_RN":"React Native us permet crear aplicacions per a mòbils només amb JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Framework multimèdia incrustat a l\'aplicació per obtenir multimèdia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm és una plataforma mòbil i un substitut de SQLite i Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js és un entorn de temps d\'execució de JavaScript de multiplataforma i de codi obert.","WEBSITE_TECHNOLOGY_P_RUST":"Rust és un llenguatge de programació de sistemes multi-paradigma centrat en la seguretat, sobretot la concurrència.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribuir al projecte","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Hi ha dues maneres de contribuir a Stremio i ajudar-nos a millorar el producte.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Podeu donar les vostres valuoses habilitats lingüístiques traduint la plataforma ...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"o bé","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... podeu emprar les vostres habilitats de codificació per crear complements de la comunitat. ","WEBSITE_TRANSLATE_STREMIO":"Tradueix Stremio","WEBSITE_404_OH_NO":"Uh-oh! La pàgina que cerqueu no és aquí...","WEBSITE_GO_HOME":"Anar a l\'inici","WEBSITE_LINK_OTHER_DOWNLOADS":"Altres descàrregues","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Suport","WEBSITE_DOWNLOAD_4_0_BETA":"Descarregueu Stremio 4 beta ara","WEBSITE_GET_FOR_DESKTOP":"Per a escriptori","WEBSITE_LINK_ADDON_COMPETITION":"Competició de complements","WEBSITE_LINK_ART_CONTEST":"Concurs d\'art","WEBSITE_MY_ACCOUNT":"El meu compte","WEBSITE_MAINPAGE_FAQ_001_H1":"Què és Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio és un modern centre de comunicació que us ofereix la llibertat de veure tot el que desitgeu.","WEBSITE_MAINPAGE_FAQ_002_H1":"Com funciona?","WEBSITE_MAINPAGE_FAQ_002_P1":"Un cop instal·leu Stremio al dispositiu i creeu un compte, tot el que heu de fer és visitar el catàleg de complements i instal·lar qualsevol que vulgueu, i llestos!","WEBSITE_MAINPAGE_FAQ_002_P2":"Després d\'això, podeu anar a les seccions Descobreix o Tauler per començar a explorar el contingut.","WEBSITE_MAINPAGE_FAQ_003_H1":"Què puc veure aquí?","WEBSITE_MAINPAGE_FAQ_003_P1":"Molt: pel·lícules, programes de televisió, canals web, esports, canals de TV, escoltar podcasts i molt més. Gràcies al nostre sistema de complements, podeu accedir a diversos continguts.","WEBSITE_MAINPAGE_FAQ_004_H1":"Stremio és de codi obert?","WEBSITE_MAINPAGE_FAQ_004_P1":"Sí, podeu consultar els enllaços següents: ${1}aplicació d\'escriptori${2} i ${3}organització GitHub${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"És segur Stremio?","WEBSITE_MAINPAGE_FAQ_005_P1":"Sí: com que és programari de codi obert, el codi es pot auditar públicament i el podeu revisar vosaltres mateixos.","WEBSITE_MAINPAGE_FAQ_005_P2":"El sistema de complements d\'Stremio també va ser creat tenint en compte la seguretat de l\'usuari. Els complements no executen cap codi localment, de manera que no suposen cap risc pel teu dispositiu.","WEBSITE_MAINPAGE_FAQ_006_H1":"I la meva privadesa?","WEBSITE_MAINPAGE_FAQ_006_P1":"Respectem la privadesa dels usuaris i no recopilem cap dada personal a més del mínim essencial per crear i sincronitzar el vostre compte.","WEBSITE_MAINPAGE_FAQ_006_P2":"També hi ha un ${1}mode de convidat${2} al registre, que no requereix cap mena de dades: en aquest mode, no es realitzen crides al nostre backend. No obstant, a costa de funcions útils com ara poder sincronitzar la biblioteca entre dispositius.","WEBSITE_MAINPAGE_FAQ_007_H1":"Puc emetre al meu televisor?","WEBSITE_MAINPAGE_FAQ_007_P1":"Sí, donem suport a Chromecast i podeu emetre-les des d\'aplicacions d\'escriptori i mòbils (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"Quants complements té Stremio?","WEBSITE_MAINPAGE_FAQ_008_P1":"A finals de 2019, més de 50 - per a més informació, consulteu el nostre catàleg de complements.","WEBSITE_MAINPAGE_FAQ_009_H1":"Es pot ampliar Stremio més enllà del que hi ha al catàleg de complements?","WEBSITE_MAINPAGE_FAQ_009_P1":"Sí, hauríeu de comprovar els següents: ${1}PimpMyStremio${2}, ${3}comunitats Reddit${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"Quins dispositius admeten Stremio?","WEBSITE_MAINPAGE_FAQ_010_P1":"Disposem d\'aplicacions d\'escriptori per a Windows, Mac i Linux. Per a mòbils, admetem Android i iOS, tot i que tingueu en compte que la funcionalitat d\'IOS és limitada (no admet la majoria dels complements).","WEBSITE_MAINPAGE_FAQ_010_P2":"Hi ha molts dispositius basats en Android en els quals podeu executar Stremio, com NVIDIA Shield i Amazon Fire Stick, però no els admetem oficialment.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"Tenim aplicacions d\'escriptori per a Windows, Mac i Linux. També tenim aplicacions dedicades per a dispositius mòbils Android i Android TV. Per a iOS i iPadOS, suggerim utilitzar Stremio Web, tot i que té una funcionalitat més limitada.","WEBSITE_MAINPAGE_FAQ_011_H1":"Podeu afegir un determinat contingut a Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Ho sentim, nosaltres mateixos no proporcionem contingut, però com més complements Stremio tingueu instal·lats, més contingut podreu trobar.","WEBSITE_MAINPAGE_FAQ_012_H1":"Pot Stremio reproduir enllaços magnètics?","WEBSITE_MAINPAGE_FAQ_012_P1":"Sí, i també pot reproduir enllaços HTTP normals i fitxers torrent (arrossegar i deixar anar)..","WEBSITE_MAINPAGE_FAQ_013_H1":"Puc descarregar un vídeo i mirar-lo fora de línia?","WEBSITE_MAINPAGE_FAQ_013_P1":"Disponible fora de línia és una característica pròxima, però si permeteu que Stremio emmagatzemi memòria cau al dispositiu (des del tauler de configuració) podreu veure els vídeos més endavant sense connexió.","WEBSITE_MAINPAGE_FAQ_014_H1":"Res funciona, ajuda\'m!","WEBSITE_MAINPAGE_FAQ_014_P1":"Esteu segur que teniu instal·lats complements? Si és així, consulteu el nostre ${1}centre d\'ajuda${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"Com manté Stremio les seves operacions de desenvolupament?","WEBSITE_MAINPAGE_FAQ_015_P1":"Publiquem anuncis no intrusius de tant en tant, però estem considerant passar a un model de donació.","WEBSITE_MAINPAGE_FAQ_015_P2":"Per obtenir més preguntes, aneu al nostre ${1}centre d\'ajuda${2}.","HELP_LEARN_MORE":"Ajudeu-nos a obtenir més informació sobre vosaltres.","LIFESTYLE":"Estil de vida","SPORTS":"Esports","FOOD_HEALTH":"Alimentació i salut","BEAUTY_FASHION":"Bellesa i moda","NEWS":"Notícies","GAMING":"Videojocs","SCIENCE_EDUCATION":"Ciència i educació","MUSIC":"Música","TRAVEL":"Viatges","LATE_NIGHT":"Late Night","REALITY":"Reality","COMEDY":"Comèdia","DIY":"Fes-ho tu mateix (DIY)","TECH":"Tecnologia","CINEMA":"Cinema","CONTINUE":"Continua","SLOW_LOADING":"CÀRREGA LENTA?","I_GIVE_UP":"EM RENDEIXO","LEARN_MORE":"Aprèn més","POOR_SOURCE":"Aquesta font té poca disponibilitat o la vostra connexió a Internet no és prou ràpida","PICK_CATEGORIES_ERR":"Heu de triar com a mínim 3 categories","ADJUST_TIMING":"Ajusteu el temps amb ","ADJUST_SIZE":"Ajusta la mida amb ","SEARCH_ANYTHING":"Podeu cercar qualsevol cosa...","ALL_CATEGORIES":"Tots","SEARCH_CATEGORIES":"Pel·lícules, Sèries, YouTube i TV","SEARCH_PERSONS":"Actors, directors i escriptors","SEARCH_PROTOCOLS":"Enllaços HTTP i magnètics","SEARCH_TYPES":"Enllaços IMDB / TVDB","WATCHED":"Vist","SHOW_LESS":"Mostrar menys","LAST_SEARCHES":"Darreres cerques","CLEAR_HISTORY":"Neteja l’historial","CHOOSE_SOME":"TRIA ALGUNS D\'AQUEST:","NO_WEB_REMOTE":"No s\'ha pogut carregar el comandament a distància web","STREMIO_OFFLINE":"Stremio està fora de línia","STREMIO_EXPENSIVE_CONNECTION":"Hem detectat que utilitzeu una connexió de dades mòbils, voleu continuar?","USE_DATA":"Utilitzeu dades","WARNING":"Avís","MORE_INFO":"Més informació ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Carregant ...","STREMIO_TV_BACK_TO_LANGUAGES":"Torna als idiomes","STREMIO_TV_REMOTE":"Remot","STREMIO_TV_GO_TO":"Anar a:","STREMIO_TV_OR_SCAN":"o escaneja:","STREMIO_TV_ADDON_INSTRUCTIONS":"Seguiu les instruccions per instal·lar els vostres complements preferits.","STREMIO_TV_LIVE_TV":"TV en directe","STREMIO_TV_RESUME_WATCHING":"Reprèn la visualització","STREMIO_TV_LOADING_BACKGROUND":"Carregant el fons","STREMIO_TV_CHECKING_AUTHENTICATION":"Comprovant l\'autenticació","STREMIO_TV_LOADING_BOARD":"Carregant el Tauler","STREMIO_TV_LOGIN_HEADER_LINE_1":"Volem que els nostres usuaris tinguin la millor experiència personalitzada possible amb el nostre programari.","STREMIO_TV_LOGIN_HEADER_LINE_2":"És per aquest motiu que us demanem que creeu i/o inicieu sessió al vostre compte.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Gràcies per la comprensió,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"L\'equip d\'Stremio","STREMIO_TV_REMOTE_INSTRUCTIONS":"Per utilitzar el comandament a distància web amb el vostre telèfon / tauleta / escriptori:","STREMIO_TV_WIFI_SETUP":"Configuració Wi-Fi","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle no ha detectat connexió a Internet.","STREMIO_TV_WIFI_DETAILS_1":"Connecta\'t amb:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Utilitzeu la contrasenya:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Obriu un navegador web amb l\'enllaç:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Per defecte","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"Per Última Visualització","STREMIO_TV_LIBRARY_SORT_NAME":"Per Nom","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"Per Nom Descendent","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"Per Vegades Vist","STREMIO_TV_LIBRARY_SORT_WATCHED":"Per Vistos","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"Per No Vistos","STREMIO_TV_DETAILS_SEASON_NUMBER":"Temporada ${1}","STREMIO_TV_STREAMS_LOADING":"Carregat ${1} / ${2} complements...","STREMIO_TV_STREAMS_STILL_LOADING":"Complement ${1} encara està carregant...","STREMIO_TV_PLAYER_SETTINGS":"Configuració del Reproductor","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Retard dels subtítols","STREMIO_TV_PLAYER_AUDIO_DELAY":"Retard d\'àudio","STREMIO_TV_PLAYER_VIDEO_SCALING":"Escalat de vídeo","STREMIO_TV_PLAYER_CHAPTERS":"Capítols","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Salta ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Font de reproducció no compatible","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"No s\'ha pogut obrir l\'enllaç extern","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"No es pot ajustar en el mode d\'àudio passthrough","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Reprodueix amb ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Reprodueix amb el reproductor libVLC","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Canviant al reproductor libVLC a causa d\'un error de reproducció","STREMIO_TV_ADDONS_TITLE":"Utilitzeu Stremio al vostre telèfon o PC per instal·lar o configurar complements i premeu \\"Sincronitza complements\\"","STREMIO_TV_ADDONS_SUBTITLE":"Nota: assegureu-vos que feu servir el mateix compte d\'Stremio","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sincronitza complements","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Els complements s\'han sincronitzat correctament","STREMIO_TV_ADDONS_SYNC_FAILED":"No s\'han pogut sincronitzar els complements","STREMIO_TV_META_LINK_FAILED":"No s\'ha pogut obrir el metaenllaç","STREMIO_TV_CATALOG_LOADING":"El catàleg encara s\'està carregant...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Idioma de la interfície actualitzat","STREMIO_TV_SETTINGS_THEME_UPDATED":"Tema actualitzat","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Reproductor per Defecte","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Reproductor Extern","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Idioma preferit","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Idioma secundari preferit","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Reproducció en túnel","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possibles problemes de reproducció en alguns dispositius","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"És possible que alguns formats de vídeo no funcionin","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Coincidir la velocitat de fotogrames","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Desactivat","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Només velocitat de fotogrames","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Velocitat de Fotogrames i Resolució","STREMIO_TV_SETTINGS_NO_CACHING":"Sense memòria cau","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Per defecte","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Suau","STREMIO_TV_SETTINGS_PROFILE_FAST":"Ràpid","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra-Ràpid","STREMIO_TV_SETTINGS_SERVER_URL":"URL del servidor de transmissió","STREMIO_TV_SETTINGS_SERVER_VERSION":"Versió del servidor","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Desconegut","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Versió d\'Stremio","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Edita l\'URL del servidor","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Introduïu l\'URL d\'un servidor de transmissió","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Mostra les estadístiques mentre es carrega","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"Per llegir la Política de Privadesa d\'Stremio, visiteu:","STREMIO_TV_SETTINGS_TOS_TEXT":"Per llegir els Termes i Condicions d\'Stremio, visiteu:","STREMIO_TV_NAV_SEARCH":"Cerca","STREMIO_TV_NAV_HOME":"Inici","STREMIO_TV_NAV_DISCOVER":"Descobreix","STREMIO_TV_NAV_LIBRARY":"Biblioteca","STREMIO_TV_NAV_MOVIES":"Pel·lícules","STREMIO_TV_NAV_SERIES":"Sèries","STREMIO_TV_NAV_CHANNELS":"Canals","STREMIO_TV_NAV_TV":"TV en directe","STREMIO_TV_NAV_SETTINGS":"Configuració","STREMIO_TV_NAV_ADDONS":"Complements","STREMIO_TV_LOGIN_TITLE":"Enllaça Compte","STREMIO_TV_LOGIN_EXPIRES_IN":"Caduca en","STREMIO_TV_LOGIN_STEP_ONE":"Escaneja el codi QR de dalt o ves a","STREMIO_TV_LOGIN_STEP_TWO":"Inicieu sessió al vostre compte Stremio","STREMIO_TV_LOGIN_NEW_LINK":"Demana un enllaç nou","STREMIO_TV_LOGIN_LINK_REFRESHED":"S\'ha actualitzat el codi d\'inici de sessió","STREMIO_TV_SEARCH_PLACEHOLDER":"Escriu alguna cosa","STREMIO_TV_SEARCH_NO_ADDONS":"No s\'han demanat complements per als catàlegs!","STREMIO_TV_SEARCH_BUTTON":"Cerca","STREMIO_TV_SEARCH_KEY_DEL":"Supr","STREMIO_TV_SEARCH_KEY_SPACE":"Espai","STREMIO_TV_SEARCH_KEY_CLEAR":"Retrocés","STREMIO_TV_SEARCH_HISTORY_TITLE":"Historial de cerques","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Pots cercar Títols, Actors, Canals i més...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Esborrar l\'historial de cerques","STREMIO_TV_FILTERS_DESCRIPTION":"Trieu un dels filtres següents","STREMIO_TV_STREAMING_SERVER_OFFLINE":"El servidor d\'emissió està fora de línia. Comproveu la configuració del servidor.","FILTERS":"Filtres","SETTINGS":"Configuració","ACCOUNT":"Compte","LOGOUT":"Tancar sessió","THEMES":"Temes","PLAYBACK":"Reproducció","PLAYBACK_SPEED":"Velocitat de reproducció","AUDIO_TRACKS":"Pistes d\'Àudio","UNKNOWN_TRACK_LANG":"Desconegut","VIDEOS":"Vídeos","SERVER":"Servidor","LINKS":"Enllaços","ABOUT":"Quant a","INTERFACE":"Interfície","ANIMATIONS":"Animacions","STATUS":"Estat","LANGUAGE":"Idioma","SIZE":"Mida","DELAY":"Retard","BOLD":"Negreta","OPACITY":"Opacitat","TEXT_COLOR":"Color del text","OUTLINE_COLOR":"Color del contorn","BACKGROUND_COLOR":"Color de fons","BACKGROUND_BLUR":"Desenfocament de fons","SEEK_TIME_DURATION":"Cerca la durada del temps","AUTO_PLAY":"Reprodueix automàticament el següent episodi","PLAY_NOW":"Reprodueix Ara","MARK_AS_WATCHED":"Marca com a Vist","MARK_AS_UNWATCHED":"Marca com a No vist","REWIND_TO_BEGINNING":"Rebobina al principi","CONTINUE_WATCHING":"Continuar Mirant","ALL":"Tot","SECONDS":"segons","ON":"ON","OFF":"OFF","RELOAD":"Recarrega","EDIT_URL":"Edita l\'URL","NONE":"Cap","EMBEDDED":"Incrustat","REMOTE_SWITCH_DEVICES":"Canviar dispositius","REMOTE_VIDEOS":"Vídeos","REMOTE_ADJUST_TIMING":"Ajusteu el temps","REMOTE_ADJUST_SIZE":"Ajusta la mida","REMOTE_COULD_NOT_BE_LOADED":"No s\'ha pogut carregar el comandament a distància web","REMOTE_RETRY":"Reintentar","TORRENT_PROFILE_DEFAULT":"Per defecte","TORRENT_PROFILE_SOFT":"Suau","TORRENT_PROFILE_FAST":"Ràpid","TORRENT_PROFILE_ULTRA_FAST":"Ultra-Ràpid","FAQ_001_H1":"Què és Stremio?","FAQ_001_P1":"Stremio és un centre multimèdia dissenyat per a l\'entreteniment en vídeo tenint en compte la facilitat d\'ús. Stremio us permet organitzar &amp; mirar la vostra pròpia col·lecció de pel·lícules, sèries, canals i TV en directe.","FAQ_001_P2":"Stremio recopila el contingut que us mostra del vostre disc local i del nostre sistema de complements.","FAQ_001_P3":"També us notificarà quan surten nous episodis/vídeos/pel·lícules que us interessin i us recomanarà pel·lícules.","FAQ_02_H1":"Com es compara Stremio amb Kodi i Plex?","FAQ_02_P1":"Ens inspiren aquests dos programes. Però tenim objectius diferents - Stremio s\'orienta específicament cap al entreteniment en vídeo i s\'esforça per convertir-se en la solució principal per ser molt fàcil d\'utilitzar.","FAQ_02_P2":"Stremio mai serà tan personalitzable i ric en funcions com Kodi i Plex, però és molt més fàcil d\'utilitzar. Només ${1} proveu-lo i veureu ${2} :)","FAQ_03_H1":"Com es compara Stremio amb Netflix?","FAQ_03_P1":"Una vegada més, Netflix és una de les nostres inspiracions. Ens esforcem per aconseguir l\'experiència d\'usuari de Netflix, a més d\'un munt de coses addicionals. Però el més important és que us oferim la llibertat de gestionar la vostra pròpia biblioteca i afegir noves fonts de contingut amb el nostre sistema de complements.","FAQ_03_P2":"Això fa que Stremio sigui infinitament extensible, de manera que quan feu servir Stremio mai no es limita al contingut que Netflix decideix llicenciar. Per exemple, mitjançant Stremio podeu veure contingut de ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} i fins i tot el mateix ${9}Netflix${10}!","FAQ_04_H1":"Com es compara Stremio amb Flipboard?","FAQ_04_P1":"Aquesta pregunta no ens arriba tan sovint, excepte quan parlem amb emprenedors :)","FAQ_04_P2":"Stremio és per disseny d\'un agregador de continguts, que bàsicament el converteix en Flipboard per a vídeo. Això és molt evident a la nostra secció de Tauler, que us proporciona catàlegs i notificacions de episodis/vídeos nous del que seguiu, igual que Flipboard.","FAQ_05_H1":"Com es compara Stremio amb Popcorn Time?","FAQ_05_P1":"Stremio i Popcorn Time són similars a la interfície d\'usuari, perquè no hi ha moltes maneres de fer els catàlegs d\'entreteniment de vídeo correctament :)","FAQ_05_P2":"Però, mentre que Popcorn Time se centra en la transmissió de torrents de fonts específiques, Stremio no té restriccions i és només un agregador de continguts - no està bloquejat en una font de contingut específica.","FAQ_05_P3":"A més, no proporcionem cap complement de torrent per defecte, de manera que Stremio no cobreix el cas d\'ús Popcorn Time amb la funcionalitat oficial.","FAQ_05_P4":"Una altra diferència notable és que Popcorn Time és completament de codi obert, mentre que Stremio és ${1} parcialment de codi obert${2}.","FAQ_06_H1":"Afegireu aquesta pel·lícula/sèrie?","FAQ_06_P1":"No, ho sento :(","FAQ_06_P2":"Com s\'esmenta a la majoria de les altres preguntes, Stremio no proporciona cap contingut per si mateix - tot s\'afegeix a través del sistema de complements. En cas que tingueu una sol·licitud de contingut, podeu fer servir el botó “Informa” del reproductor, que enviarà un correu electrònic a l\'autor del complement que esteu utilitzant actualment.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Creeu un complement per a X?","FAQ_08_P1":"És del tot possible.","FAQ_08_P2":"Si teniu una idea per a un complement, envieu-nos una línia a ${1}office@stremio.com${2}, però assegureu-vos que la vostra idea de complement no infringeixi cap copyright ni les condicions d\'ús.","FAQ_08_P3":"De moment, les següents coses del nostre full de ruta són complements per a FandangoNOW, el vídeo a la carta de Filmon.tv i Crunchyroll.","FAQ_09_H1":"Stremio utilitza BitTorrent?","FAQ_09_P1":"Sí, Stremio admet BitTorrent com a protocol de transmissió. Podeu fer-ho amb un complement de torrent, arrossegant i deixant anar un fitxer .torrent a Stremio o enganxant un enllaç magnètic a la barra de cerca.","FAQ_09_P2":"Tingueu en compte que l\'únic complement oficial que utilitza BitTorrent és ${1}Vodo${2}, que proporciona contingut independent, tot el que es pot distribuir amb BitTorrent.","FAQ_09_P3":"No admetem l\'ús de complements de tercers que puguin permetre la infracció dels drets d\'autor.","FAQ_10_H1":"Què puc veure a Stremio amb els complements oficials?","FAQ_10_P1":"Per defecte, podeu veure el contingut de Filmon.tv, YouTube i Vodo dins del mateix Stremio, amb el reproductor incrustat. A més, tenim un complement per a Twitch.tv i alguns altres.","FAQ_10_P2":"Aquesta combinació proporciona una selecció de:","FAQ_10_L1":"Canals de televisió populars, proporcionats per Filmon.tv - per exemple E4, BBC, Bollyworld TV","FAQ_10_L2":"Tot des de YouTube - per exemple BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Pel·lícules independents amb Vodo","FAQ_10_L4":"Emissions de jocs en línia amb Twitch.tv","FAQ_10_P3":"A més, hi ha moltes fonts de contingut que es proporcionen amb Guidebox i els complements Netflix, que <b>no</b> es reprodueixen completament dins Stremio, però que redirigiran al servei indicat. Per exemple, el complement Guidebox us proporcionarà una selecció de pel·lícules que podeu reproduir gratuïtament als Estats Units, des de serveis com TubiTV i Crackle.","FAQ_11_H1":"Stremio no s\'instal·la, què he de fer?","FAQ_11_P1":"Si utilitzeu Windows, proveu ${1}aquest instal·lador alternatiu${2}.","FAQ_11_P2":"Si utilitzeu Mac OS X, tingueu en compte que no admetem res més antic que OS X Mavericks (10.9).","FAQ_11_P3":"Si utilitzeu Linux, tingueu en compte que en aquest moment només admetem Linux de 64 bit (x64).","FAQ_11_P4":"Si encara no podeu resoldre el vostre problema, escriviu-nos al nostre ${1}grup de Facebook${2}.","FAQ_12_H1":"Per què es queixa del meu antivirus? És segur Stremio?","FAQ_12_P1":"Us assegurem que Stremio és ${1}100% net${2}.","FAQ_12_P2":"El vostre antivirus es queixa perquè incloem publicitat al nostre instal·lador, que alguns programes antivirus reconeixen com a ad-ware.","FAQ_12_P3":"Si encara no esteu segur, podeu provar el nostre ${1}instal·lador alternatiu${2}.","FAQ_13_H1":"Com puc fer un complement?","FAQ_13_P1":"Per començar, us recomanem que consulteu el nostre ${1}mòdul del sistema de complements${2} a GitHub.","FAQ_13_P2":"Després, podeu seguir el ${1}tutorial Hola Món${2}.","FAQ_13_P3":"Si no teniu cap habilitat de programació, publiqueu la vostra idea a ${1}la comunitat Reddit${2} i poseu-vos en contacte amb nosaltres amb la vostra idea de complement a ${3}office@stremio.com${4}.","FAQ_14_H1":"Com es publiquen els complements?","FAQ_14_P1":"Quan creeu un complement i un host, i col·loqueu un camp <b>endpoint</b> al manifest, que apunti a una adreça de complement funcional, el complement es publicarà automàticament al nostre ${1}catàleg de complements${2}.","FAQ_14_P2":"Això passa perquè la part del servidor del mòdul stremio-addons fa una crida automàticament a la nostra API per anunciar-lo. Quan la nostra API validi el vostre <b>endpoint</b> com a complement vàlid, començarà a aparèixer al catàleg.","FAQ_15_H1":"Puc executar Stremio al meu navegador?","FAQ_15_P1":"De moment no, però s\'acosta!","FAQ_15_P2":"Si teniu curiositat per veure un Alpha, el podeu veure aquí: ${1}alpha4.strem.io${2}. Recordeu que la transmissió està desactivada en aquest alfa. Admetem Chrome, Firefox, Opera i Edge.","FAQ_16_H1":"Emetre a la televisió no funciona / els subtítols no funcionen","FAQ_16_P1":"La transmissió a TV utilitza la tecnologia DLNA, que és molt inconsistent entre les diferents marques i models de televisors. Per aquest motiu, no tenim la capacitat de provar-ho en tots els casos, de manera que no és ni molt menys perfecte. Tot i això, estem treballant per millorar-lo constantment, però no podem proporcionar-vos una estimació de temps sobre quan DLNA començarà a funcionar correctament amb el vostre televisor.","FAQ_16_P2":"Si ni tan sols veieu el televisor al menú d\'emissió, proveu de desactivar la connexió de xarxa i tornar-la a activar (a Windows, feu clic amb el botó dret a la xarxa i utilitzeu Activa/Desactiva), així com reiniciar el router, el televisor i l\'ordinador.","FAQ_16_P3":"Si encara teniu problemes, podeu ajudar-nos enviant la informació de la vostra marca i model de televisió a ${1}office@stremio.com${2}.","FAQ_16_P4":"Mentrestant, recomanem Chromecast, que funciona molt bé, o simplement connecteu el televisor al PC amb un cable HDMI.","FAQ_17_H1":"Stremio es congela o es bloqueja, què puc fer?","FAQ_17_P1":"En primer lloc, si utilitzeu Windows 7 amb antivirus AVG: tenim aquesta problemàtica. El problema es troba en la pròpia AVG i no hi ha cap manera raonable de resoldre-ho per nosaltres mateixos. Malauradament, les excepcions o la desactivació de l\'antivirus no funcionaran. L\'única solució és substituir AVG per un altre.","FAQ_17_P2":"Si aquest no és el problema, però encara esteu utilitzant Windows, actualitzeu-lo a la versió més recent i actualitzeu/reinstal·leu els controladors de la GPU, llavors torneu-ho a provar.","FAQ_17_P3":"Si el problema encara no s\'ha resolt o si utilitzeu un Mac o Linux, escriviu-nos informant dels detalls exactes del problema al ${1}grup de Facebook${2}.","FAQ_18_H1":"Com puc fer un complement?","FAQ_18_P1":"Per començar, us recomanem que consulteu el nostre ${1}mòdul del sistema de complements${2} a GitHub.","FAQ_18_P2":"Després, podeu seguir el ${1}tutorial Hola Món${2}.","FAQ_18_P3":"Si no teniu cap habilitat de programació, publiqueu la vostra idea a ${1}la comunitat Reddit${2} i poseu-vos en contacte amb nosaltres amb la vostra idea de complement a ${3}office@stremio.com${4}.","FAQ_19_H1":"Per què Stremio ocupa espai al disc?","FAQ_19_P1":"Stremio té una <b>memòria cau local</b> per conservar temporalment els fitxers de vídeo que transmets.","FAQ_19_P2":"Això té dos avantatges: en primer lloc, permet a Stremio pre-emmagatzemar el vídeo per garantir una transmissió més fluida. En segon lloc, manté els vídeos a la memòria cau local perquè pugueu continuar veient-los fora de línia.","FAQ_19_P3":"La quantitat que guarda Stremio depèn del paràmetre <b>Memòria cau</b> del tauler de configuració. És possible que Stremio mantingui la quantitat establerta (ex: 2GB) al disc, tret que el vídeo que es reprodueixi actualment sigui més gran que aquest. En aquest cas ha d\'assignar prou emmagatzematge per conservar-lo mentre que l\'estiguis reproduint.","FAQ_20_H1":"On és la carpeta de memòria cau?","FAQ_20_P1":"A Windows, és stremio-cache a la unitat que heu seleccionat a Configuració (per exemple \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"A MacOS, és \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"A Linux, és \\"~/.stremio/stremio-cache\\" o \\"~/stremio-cache\\"","FAQ_21_H1":"Tinc l\'error \\"El servidor de transmissió no s\'ha trobat\\" què puc fer?","FAQ_21_P1":"Si obteniu aquest error, significa alguna d\'aquestes coses:","FAQ_21_P2":"1) Esteu provant d\'utilitzar un complement compatible amb la font de YouTube/BitTorrent a través de la nostra ${1}versió web${2}. En aquest cas, hauríeu d\'instal·lar la nostra versió d\'escriptori des del ${3}nostre lloc web${4}.","FAQ_21_P3":"2) Hi ha un problema amb la instal·lació d\'Stremio. En aquest cas, proveu de tornar a instal·lar la nostra versió d\'escriptori més recent des del ${1}lloc web${2}. Si això no ajuda, proveu de desactivar els programes antivirus i els tallafocs, reinicieu el PC i torneu-ho a provar. Si això també no funciona, escriviu-nos al nostre ${3}grup de Facebook${4}.","FAQ_22_H1":"No puc veure/utilitzar la majoria dels complements a iOS","FAQ_22_P1":"A causa de les restriccions dels termes i condicions de l\'App Store d\'Apple, hem restringit l\'aplicació iOS només a un conjunt concret de complements.","FAQ_22_P2":"Però tingueu la seguretat: hi haurà més complements per a iOS en el futur, i també podem afegir una integració que us permetrà utilitzar tots els complements Stremio gràcies a la connexió de l\'aplicació iOS al servidor de transmissió Stremio."}')},32840:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Film","TYPE_series":"Seriály","TYPE_tv":"Televizní kanál","TYPE_channel":"Kanál","TYPE_other":"Ostatní","TYPE_movie_PL":"Filmy","TYPE_series_PL":"Seriály","TYPE_tv_PL":"Televizní kanály","TYPE_channel_PL":"Kanály","TYPE_other_PL":"Ostatní","TYPE_ALL":"Všechny","TYPE":"Typ","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"Video","BACK":"Dozadu","MORE":"Více","DONE":"Hotovo","COPY":"Kopírovat","SUCCESS":"Success","ERROR":"Error","SETTINGS_CASTING_MODE_PICKER":"Mód vysílání","CASTING_MODE_HLSV2":"Výchozí","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Bez transkodování","Discover":"Objevit","Board":"Rozdání","Library":"Knihovna","My Library":"Moje knihovna","Calendar":"Kalendář","NOTIFICATION_ONLINE":"Nyní jste online","NOTIFICATION_OFFLINE":"V současné době jste offline","INTERNET_CONNECTION":"Připojení k síti","STORAGE_FULL_TITLE":"Varování: Úložiště je plné!","STORAGE_FULL_TEXT":"Stremio nebude moci uložit vaše nastavení, preference ani přihlašovací údaje. Zvažte opětovné spuštění nebo přeinstalování aplikace Stremio.","SEARCH":"hledat","SEARCH_NO_RESULTS":"Nebyly nalezeny žádné výsledky","SEARCH_EXPLANATION_CONTENT":"Vyhledávání filmů, seriálů, YouTube a televizních kanálů","SEARCH_EXPLANATION_PEOPLE":"Hledání herců, režisérů a scénáristů","SEARCH_PASTE_LINKS":"Vkládání odkazů HTTP a Magnet","SEARCH_OR_PASTE_LINK":"Vyhledat nebo vložit odkaz","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"Přidat do knihovny","REMOVE_FROM_LIB":"Odebrat z knihovny","ADDED_TO_LIB":"Přidáno do knihovny","REMOVED_FROM_LIB":"Odstraněno z knihovny","TRAILER":"Ukázka","WATCH_TRAILER":"Sledovat trailer","WATCH_NOW":"Sledujte nyní","SHOW":"Zobrazit","SHOW_MOVIE":"Zobrazit film","WATCH_RANDOM":"Sledovat náhodné","IMDB_RATING":"IMDb hodnocení","YEAR":"Rok","DIRECTOR":"Režie","WRITER":"Spisovatel/ka","LEAD_ACTORS":"Hlavní herci","CAST":"Herec","CREW":"Posádka","SHOW_MORE_CAST":"Zobrazit více »","AIRED":"Vysíláno na","SEASONS":"Série","GENRE":"Žánr","GENRE_ALL":"All genres","CATALOG":"Katalog","SUMMARY":"Shrnutí","SHOW_MORE":"Zobrazit více","SIMILAR":"Podobné stránky","UPCOMING":"Nadcházející","ENDED":"Skončilo","DURATION":"Délka","FEATURED":"Doporučené","METADATA":"Metadata","CATEGORY":"kategorie","LINKS_GENRES":"Žánr","LINKS_CAST":"Herci","LINKS_DIRECTORS":"Režiséři","SEARCH_VIDEOS":"vyhledávání videí","SEARCH_PLACEHOLDER":"vyhledat nebo vložit adresu URL","ADDON":"doplněk","ADDONS":"Doplňky","OFFICIAL":"oficiální","ADDONS_OFFICIAL":"Oficiální doplňky Stremio","ADDONS_POPULAR":"Oblíbené ve vaší oblasti","ADDON_FREE":"zdarma","ADDON_PEERED":"nahlédl na","ADDON_SUBSCRIPTION":"předplatné","ADDON_STREAM_GEORESTRICTED":"není ve vaší oblasti k dispozici","ADDON_STREAM_OFFLINECACHE":"Offline mezipaměť","ADDON_STREAM_LOCALFILE":"Místní soubor","SHARE_ADDON":"Sdílet doplněk","AVAILABLE_STREAMS":"Dostupné proudy","NO_STREAM":"Nebyly nalezeny žádné toky","ALL_ADDONS":"Všechny","INSTALL_MORE_ADDONS":"Chcete-li získat více streamů, nainstalujte si další doplňky","STREAM_NOT_SUPPORTED":"Vybraný stream není na této platformě podporován.","ADDON_CATALOGUE":"Zobrazit všechny doplňky \\"","ADDON_CATALOGUE_MORE":"Instalace doplňků","REPO_ADDED":"Přidáno úložiště","ADDON_REPO_EXIST_ERR":"Tato kolekce doplňků již existuje","ADDON_REPO_ERR":"Při přidávání kolekce došlo k chybě","ADDON_ADD_ERR":"Při přidávání doplňku došlo k chybě","ERR_ADDON_PROTECTED":"Nelze odinstalovat doplněk, je chráněn","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Něco se pokazilo - možná selhalo ověřování","ERR_NOT_COLLECTION_URL":"Nejedná se o adresu URL sbírky","ERR_NOT_ADDON_URL":"Není platná adresa URL doplňku","ERR_DETECTFROMURL":"Nelze najít doplněk/sbírku z této adresy URL","ADDON_DUPLICATE_WARNING":"Varování: duplicitní addon","ADDON_COLLECTION_SET_FAILED":"Synchronizace nainstalovaných doplňků s vaším účtem se nezdařila","SETTINGS_DATA_EXPORT":"Export uživatelských dat","ADDON_PULL_FAILED":"Synchronizace nainstalovaných doplňků z vašeho účtu se nezdařila","REFRESH_ON_CLICK":"Klikněte pro opakovaný pokus","STILL_IN_THEATER":"Film stále v kinech","WATCH_IN_CINEMA":"Podívejte se na něj v místním kině","IN_THEATER":"V kině","GET_TICKETS":"Získat vstupenky","UPCOMING_EPISODE":"Nadcházející epizoda","UPCOMING_EPISODE_MESSAGE":"Tato epizoda bude vysílána dne","MISSING_DATE_EPISODE":"Chybějící datum epizody","MISSING_DATE_EPISODE_MESSAGE":"Tato epizoda nejspíš ještě nebyla odvysílána","CHANNEL_NOT_SCRAPED":"Tento kanál ještě není prohledán.<br>Vraťte se prosím za několik minut.</br>","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Přidejte si ji do své knihovny, abyste byli informováni, jakmile bude k dispozici.","GET_NOTIFIED_WHEN_AVAILABLE":"Jakmile bude k dispozici, budete o tom informováni.","WARNING_STREAMING_SERVER":"Varování: místní streamovací server nebyl nalezen. Streamování z místních souborů, YouTube a BitTorrent nebude k dispozici.","WARNING_STREAMING_SERVER_DISMISS":"Skrýt","WARNING_STREAMING_SERVER_LATER":"Později","DECODER_WARNING":"Varování: toto video nemusí být podporováno vaším hardwarem. Mějte na paměti, že přehrávání může být pomalé.","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"Oops, chyba hráče","PLAYER_ERROR_LOOKSLIKE":"Vypadá to, že","PLAYER_ORIENTATION":"Orientace hráče","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Uzamčeno","PLAYER_ORIENTATION_SENSOR_SHORT":"Senzor","PLAYER_ORIENTATION_LANDSCAPE":"Orientace přehrávače uzamčená na šířku","PLAYER_ORIENTATION_SENSOR":"Automatická orientace hráče (senzor)","PLAYER_PLAYBACK_SPEED":"Rychlost přehrávání","PLAYER_PLAYBACK_ERROR":"Chyba přehrávání, zkuste to prosím znovu","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Neznámá chyba","PLAYER_PLAYBACK_ERROR_DEFAULT":"Je nám líto, ale toto video nelze přehrát pomocí {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Jazyky titulků","PLAYER_SUBTITLES_VARIANTS":"Varianty titulků","PLAYER_SUBTITLES_SETTINGS":"Nastavení titulků","PLAYER_SUBTITLES_DISABLED":"Titulky jsou vypnuty","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Vertikální pozice","PLAYER_SUBTITLES_LOADED":"Titulky načteny","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Vložené titulky načteny","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Exkluzivní titulky načteny","PLAYER_SUBTITLES_LOADED_ORIGIN":"Titulky z {{origin}} načteny","PLAYER_PLAY":"Přehrát","PLAYER_PAUSE":"Pozastavit","PLAYER_NEXT_VIDEO":"Další video","PLAYER_MUTE":"Ztluimt","PLAYER_UNMUTE":"Zrušit ztlumení","PLAYER_OPEN_IN_EXTERNAL":"Otevřít v externím přehrávači","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Přehrát na {{device}}","PLAYER_LIVE":"Živě","PLAYER_NEXT_VIDEO_TITLE":"Příště v pořadu","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Skrýt","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Sledovat nyní","PLAYER_COPY_STREAM_SUCCESS":"Odkaz na stream byl zkopírován do schránky","PLAYER_COPY_STREAM_ERROR":"Odkay na stream se nepodařilo zkopírovat","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","STREAMING_FROM":"streamování z","CASTING_TO":"Obsazení do","NETWORK_STATUS":"Stav sítě","STREAM_SPEED":"Rychlost proudu:","STREAM_BUFFERED":"Vyrovnávací paměť:","PEERS_INFO":"Informace o vrstevnících","PEERS_ACTIVE":"Používáno:","PEERS_CONNECTED":"Připojeno:","PEERS_WAITING":"Čekání:","TRANSCODING_WARNING":"Varování: překódování videa.","STREAM_LOADING":"načítám...","PLAYING_LOCAL":"přehrávání z místního souboru","PLAYING_CACHE":"přehrávání z mezipaměti","WRONG_SUBS":"Špatné titulky?","ERR_SUBS_LOADING_TITLE":"Chyba při načítání titulků","ERR_SUBS_LOADING":"Neúspěšné načítání titulků: může se jednat o problém s používaným doplňkem nebo se síťovým připojením","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Následující doplňky titulků selhaly","ERR_CASTING_UPDATE_TITLE":"Nelze aktualizovat informace o zařízení pro odlévání: streamovací server může být offline","CHOOSE_DEVICE":"Výběr zařízení, na kterém chcete sledovat","NO_CAST_DEVICES":"Žádné odlévací zařízení není k dispozici.","NO_SETTINGS":"Žádné nastavení není k dispozici.","PHONE_TABLET":"Telefon / tablet","SUBTITLES":"Titulky","SUBTITLES_CHANGE":"Změna titulků pro","SUBTITLES_CHANGE_NONE":"Pro tento jazyk nejsou k dispozici žádné další titulky, omlouváme se.","SUBTITLES_CHANGE_ACIVE":"Aktuálně jsou aktivovány titulky #{{subtitlesDialog.activeIdx + 1}}. Kliknutím na \\"Pokračovat\\" aktivujete titulky #{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Případně,","SUBTITLES_ADJUST_DELAY":"Nastavení zpoždění titulků:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Nebo můžete při přehrávání použít klávesy <span>G</span> / <span>H</span> pro nastavení.","SUBTITLES_ADJUST_DELAY_TIP":"TIP: při hraní můžete použít klávesy <span>G</span> / <span>H</span> pro nastavení.","SUBTITLES_DELAY":"Zpoždění titulků:","SUBTITLES_LOADING":"Načítání titulků...","SUBTITLES_UNAVAILABLE":"No external subtitles available","SUBTITLES_DISABLED":"Vypnuto","EXTERNAL_PLAYER_DISABLED":"Vypnuto","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Povolit výběr","EXTERNAL_PLAYER_HINT":"Tip: Existuje nastavení, které umožní vždy otevírat externí přehrávač","DONT_SHOW_AGAIN":"Znovu nezobrazovat","SERVICE_INSTALL":"Nainstalovat","AUDIO":"Audio","DEFAULT_LANGUAGE":"Výchozí jazyk","DEFAULT_SECONDARY_LANGUAGE":"Výchozí sekundární jazyk","SEASON":"Období","EPISODE":"Epizody","EPISODE_ABBREVIATION":"EP","SPECIAL":"Special","SORT":"řazení","SORT_BY":"Seřadit podle","FILTER":"filtr","SORT_TRENDING":"trendy","SORT_RECENT":"nedávné","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"hodnocení","SORT_WATCHED":"sledoval","SORT_YEAR":"rok","SELECT_TYPE":"Vyberte typ","SELECT_SORT":"Vyberte řazení","SELECT_CATALOG":"Vyberte katalog","SELECT_GENRE":"Vyberte žánr","SORT_LASTWATCHED":"Podle posledních","SORT_NAME":"Podle názvu","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"Podle počtu zhlédnutí","SORT_NOTWATCHED":"not watched","New for You":"Novinky pro vás","New Episodes":"Nové epizody","New Videos":"Nové články a videa","Recommendations":"Doporučení","LIBRARY_RESUME":"Pokračovat","LIBRARY_PLAY":"Přehrát","LIBRARY_DETAILS":"Detaily","LIBRARY_RESUME_DISMISS":"Skrýt","LIBRARY_CLEAR_PROGRESS":"Vymazat pokrok","LIBRARY_REMOVE":"Odebrat","LIBRARY_NOT_LOGGED_IN":"Knihovna je k dispozici pouze pro přihlášené uživatele","CALENDAR_NOT_LOGGED_IN":"Kalendář je k dispozici pouze pro přihlášené uživatele","NOT_LOGGED_IN_CLOUD":"Mějte přístup k svým oblíbeným filmům pořadům kdykoliv a kdekoli","NOT_LOGGED_IN_RECOMMENDATIONS":"Doporučení podle vaší historie sledování","NOT_LOGGED_IN_NOTIFICATIONS":"Nikdy nezmeškejte další díl","NOT_LOGGED_IN_CALENDAR":"Plánujte svůj osobní sledovací kalendář","DISCOVER_FEATURED":"Doporučené","DISCOVER_TOP":"Nahoře","DISCOVER_OSCAR":"Vítězové Oscara","DISCOVER_WARNING_TITLE":"Jejda!","DISCOVER_EMPTY_CATALOG":"Tento doplněk vrátil prázdný obsah.","DISCOVER_ADULT_WARNING":"Obsah je viditelný pouze pro dospělé. Jste starší 18 let?","DISCOVER_NOADDON_WARNING":"Varování: pro tento typ není aktivní žádný doplněk Stremio. Zobrazuje uložené položky, nic se zde neaktualizuje.","DISCOVER_LOAD_ERR":"Obsah se nenačetl, došlo k chybě.","DISCOVER_ADDON_UNINSTALLED":"Tento obsah již není k dispozici, možná jste doplněk odinstalovali.","UNINSTALL_THIS_ADDON":"Odinstalování tohoto doplňku","ERR_ADDON_NOT_INSTALLED":"Tento doplněk není nainstalován. Nainstalovat nyní?","DETAIL_RECEIVE_NOTIF_SERIES":"Přijímání oznámení o nových epizodách","DETAIL_RECEIVE_NOTIF_VIDEOS":"Přijímání upozornění na nová videa","SIDEBAR_SHOW_STREAMS":"Show Streams","RELAUNCH":"Opětovné spuštění nyní!","UPGRADE":"Nová verze je k dispozici! Upgrade na nejnovější verzi Stremio","RELOAD_UI":"Opětovné načtení uživatelského rozhraní","MANUAL_UPDATE_TITLE":"Aktualizace verze aplikace Stremio","MANUAL_UPDATE_LINE1":"Používáte zastaralou verzi aplikace Stremio, která se nedoporučuje.","MANUAL_UPDATE_LINE2":"Prosíme o co nejrychlejší aktualizaci.","BUTTON_UPDATE_LATTER":"Nyní ne","BUTTON_UPDATE_NOW":"Aktualizovat","ANONYMOUS_USER":"Anonymní uživatel","DONT_HAVE_ACC":"Nemáte účet?","HAVE_ACC":"Již máte účet?","PASSWORD":"Heslo","PASSWORD_CONFIRM":"Potvrďte heslo","EMAIL":"E-mail","FB_LOGIN":"Pokračovat na Facebooku","FB_NOTHINGSHARED":"Nic není sdíleno bez vašeho souhlasu","FB_NOPOST":"Vaším jménem nic nezveřejníme","OR":"nebo","I_ACCEPT":"Přijímám","I_ACCEPT_BY_CLICKING":"Kliknutím na výše uvedené tlačítko stvrzuji, že souhlasím s tím, že","TOS":"Obchodní podmínky","MUST_ACCEPT_TERMS":"Musíte přijmout podmínky","PASSWORDS_NOMATCH":"Heslo se neshodují","SIGN_UP":"Registrovat se","SIGN_UP_EMAIL":"Zaregistrujte se pomocí e-mailu","CLICK_TO_SIGN_UP":"Klikněte zde a zaregistrujte se.","LOG_IN":"Přihlásit","LOG_OUT":"Odhlásit se","EXIT_FULLSCREEN":"Ukončení celoobrazovkového režimu","ENTER_FULLSCREEN":"Vstup do celoobrazovkového režimu","PLAY_URL_MAGNET_LINK":"Přehrát adresu URL / odkaz na magnet","HELP_FEEDBACK":"Nápověda a zpětná vazba","TERMS_OF_SERVICE":"Podmínky služby","PRIVACY_POLICY":"Privacy Policy","ABOUT_STREMIO":"O Stremio","USER_PANEL":"Uživatelský panel","LOGIN_LABEL":"Login","GUEST_LOGIN":"Přihlášení hosta","GUEST_LOGIN_NOTICE":"Přihlášení hosta se nedoporučuje. Použití běžného přihlášení umožňuje službě Stremio synchronizovat vaši knihovnu a přijímat oznámení o oblíbených seriálech/kanálech. Jste si jisti, že chcete pokračovat?","GUEST_LOGIN_NOTICE_2":"Přihlášení hosta se nedoporučuje - nebudete mít synchronizované oznámení o knihovně a nástěnce, což jsou důležité funkce aplikace Stremio. Jste si jisti, že chcete pokračovat?","CLICK_HERE":"klikněte sem","WRONG_PASSWORD":"Špatný e-mail nebo heslo. V případě, že jste zapomněli heslo,","SET_A_PASS":"nastavit heslo","RESET_PASSWORD":"Obnovit heslo","FORGOT_PASSWORD":"Zapomenuté heslo?","EMAIL_USED_WITH_FB":"Tento e-mail byl použit s přihlášením na Facebook.","INVALID_EMAIL":"Zadejte prosím platnou emailovou adresu","INVALID_PASSWORD":"Zadejte prosím platné heslo","CONN_ERR":"Chyba připojení - zkuste to prosím později.\\n\\nPokud přetrvává, vypněte firewall/antivirový software (zejména Bitdefender).","IMPORT_FROM_GUEST":"Import knihovny z účtu hosta","RECEIVE_UPDATES_EMAIL":"Přijímání aktualizací do e-mailu od Stremio","LOGIN_FAILED":"Přihlášení se nezdařilo.","SIGNUP_FAILED":"Registrace se nezdařila.","SEARCH_FAILED":"Vyhledávání se nezdařilo","EMAIL_USED":"E-mail je už používán.","WAITING_FB_LOGIN":"Přihlášení pomocí Facebooku...","EXTERNAL_PLAYER_TITLE":"Přehrávání v externím přehrávači","EXTERNAL_REMEMBER_PLAYER":"Chcete si svou volbu zapamatovat","EXTERNAL_ALWAYS_PLAY":"Ano","EXTERNAL_ONLY_ONCE":"Ne","BEST_FIT":"Best Fit","FIT_SCREEN":"Fit Screen","FILL":"Vyplnit","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"Řekněte nám, co se vám líbí","INTRO_TASTE_LONG":"Řekněte nám, co byste chtěli sledovat","INTRO_TASTE_PICK":"Vyberte {{interestsRemaining}} zájmy","INTRO_TASTE_PICK_MORE":"Vyberte {{interestsRemaining}} dalších zájmů","INTRO_TASTE_HELP_US":"Pomozte nám dozvědět se o vás více.","INTRO_TASTE_CHOOSE_THESE":"Vyberte si některé z nich:","INTRO_TASTE_CHOOSE_MIN":"Vyberte alespoň 3 kategorie","INTRO_TASTE_CHOOSE_MIN_ERR":"Musíte vybrat alespoň 3 kategorie!","INTRO_TASTE_LIFESTYLE":"Životní styl","INTRO_TASTE_SPORTS":"Sporty","INTRO_TASTE_FOOD_HEALTH":"Potraviny a zdraví","INTRO_TASTE_BEAUTY_FASHION":"Krása a móda","INTRO_TASTE_NEWS":"Novinky","INTRO_TASTE_GAMING":"Hry","INTRO_TASTE_SCIENCE_EDU":"Věda a vzdělávání","INTRO_TASTE_MUSIC":"Hudba","INTRO_TASTE_TRAVEL":"Cestovní kancelář","INTRO_TASTE_LATE_NIGHT":"Pozdní noční show","INTRO_TASTE_REALITY":"Realita","INTRO_TASTE_COMEDY":"Komedie","INTRO_TASTE_DIY":"Jak na kutilství","INTRO_TASTE_TECH":"Tech","INTRO_TASTE_CINEMA":"Kino","ADDON_NOT_SUPPORTED":"Vybraný doplněk není na této platformě podporován.","ADDON_DISCLAIMER":"Používání doplňků třetích stran vždy podléhá vaší odpovědnosti a právním předpisům jurisdikce, ve které se nacházíte.","ADDON_ACTIVATE":"Aktivovat tento doplněk?","ADDON_REPO_ADD":"Adresa URL sbírky doplňků","ADDON_ADD":"Přidat","INSTALL_ADDON":"Install addon","ADD_ADDON":"Add addon","ADD_ADDON_DESCRIPTION":"You can add an addon via an external link, which will appear under Installed addons.","PASTE_ADDON_URL":"Paste addon URL","WHATS_NEW":"Co je nového","BUTTON_CONTINUE":"Pokračovat","BUTTON_ACTIVATE":"Aktivovat","BUTTON_ACTIVATED":"Aktivovaný","BUTTON_CANCEL":"Zrušit","BUTTON_SUBMIT":"Submit","BUTTON_DISMISS_ALL":"Odmítnout vše","BUTTON_VIEW_ALL":"zobrazit vše","BUTTON_SEE_ALL":"See All","BUTTON_COLOR_TRANSPARENT":"Transparent","OPEN_IN_BROWSER":"Open in browser","LIB_EMPTY":"Vaše knihovna vypadá prázdná. Zjistěte, jak je užitečná :)","HOW_START":"Zde je návod, jak začít:","LIB_EMPTY_CAL":"V kalendáři se zobrazují série ve vaší knihovně.","HOW_START_CAL":"Zde je návod, jak můžete přidávat série:","LIB_EMPTY_BOARD":"Tabule zobrazuje oznámení &amp; doporučení týkající se vaší knihovny.","HOW_START_BOARD_WAIT":"Prosím, přidejte do své knihovny několik seriálů nebo kanálů a dejte nám pár minut na zpracování :)","HOW_START_BOARD":"Zde je návod, jak do něj můžete přidat seriály &amp; filmy:","IMPORT_FB":"Import věcí, které se vám líbí, ze <span>služby Facebook</span>","IMPORT_TRAKT":"Import knihovny médií ze <span>služby Trakt</span>","IMPORT_DISCOVER":"Najděte zajímavé věci ze služby <span>Discover</span>","IMPORT_DISK":"Importovat filmy nebo pořady, které máte na <span>místním disku</span>","PLEASE_CREATE_ACC":" <u>Vytvořte si účet</u>, abyste mohli synchronizovat knihovnu a tabuli.","IMPORT_DISCOVER_SIGNUP":"Zaregistrujte se a najděte zajímavé věci z <span>Discover</span>","IMPORT_DISK_SIGNUP":"Zaregistrujte se a importujte filmy nebo pořady, které máte na <span>místním disku</span>","LIB_EMPTY_CLOUD":"Cloudová knihovna","LIB_EMPTY_CLOUD_DESC":"Osobní cloudová knihovna synchronizovaná na všech zařízeních","LIB_EMPTY_EARLY":"Brzy","LIB_EMPTY_EARLY_DESC":"Přijímání oznámení o nových epizodách","LIB_EMPTY_PERSONAL":"Osobní","LIB_EMPTY_PERSONAL_DESC":"Získejte osobní doporučení","LIB_EMPTY_CALENDAR_DESC":"Naplánujte si osobní kalendář sledování","LIB_EMPTY_ALL":"Zaregistrujte se a získejte je všechny:","LIB_EMPTY_BEST":"Zaregistrujte se a získejte to nejlepší ze Stremio","LIB_EMPTY_OTHER":"Zaregistrujte se a povolte Kalendář a další skvělé funkce","CALENDAR_ADDED":"Kalendář Stremio byl přidán do vašeho výchozího kalendáře na ploše.","CALENDAR_ADDED_MSG":"Pokud to nefunguje, přidejte tuto adresu URL do aplikace kalendáře ručně","TRAKT_EXPIRED":"Platnost ověření Traktu vypršela, přejděte prosím do Nastavení a znovu se ověřte","TRAKT_REQUIRES_LOGIN":"Chyba traktu","TRAKT_REQUIRES_LOGIN_MSG":"Musíte se přihlásit","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","SETTINGS_LABEL":"Nastavení","SETTINGS_NAV_GENERAL":"Obecné","SETTINGS_NAV_PLAYER":"Hráci","SETTINGS_NAV_STREAMING":"Streamování","SETTINGS_NAV_SHORTCUTS":"Zkratky","SETTINGS_SHORTCUT_RELOAD_APP":"Obnovit aplikaci","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Otevřít nastavení","SETTINGS_SHORTCUT_SWITCH_TABS":"Přepnout záložky","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Procházet záložky dopředu","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Procházet záložky dozadu","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigovat mezi nabídkami","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Přejít na vyhledávání","SETTINGS_SHORTCUT_EXIT_BACK":"Ukončit / Zpět","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Přepnout menu rychlosti přehrávání","SETTINGS_SHORTCUT_MENU_VIDEOS":"Přepnout menu videí","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Přepnout menu titulků","SETTINGS_SHORTCUT_MENU_INFO":"Přepnout menu informací","SETTINGS_SHORTCUT_FULLSCREEN":"Přepnout na celou obrazovku","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Zobrazit ovládací prvky","SETTINGS_SHORTCUT_PLAY_PAUSE":"Přehrát / Pozastavit","SETTINGS_SHORTCUT_VOLUME_UP":"Zvýšit hlasitost","SETTINGS_SHORTCUT_VOLUME_DOWN":"Snížit hlasitost","SETTINGS_SHORTCUT_SEEK_NEXT":"Hledat další","SETTINGS_SHORTCUT_SEEK_PREV":"Hledat předchozí","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Hledat dozadu","SETTINGS_SHORTCUT_SEEK_FORWARD":"Hledat vpřed","SETTINGS_SHORTCUT_PLAY_NEXT":"Přehrát další","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Zvětšit titulky","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Zmenšit titulky","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Zvýšit zpoždění titulků","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Snížit zpoždění titulků","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Přepnout postranní panel","SETTINGS_SHORTCUT_OR":"nebo","SETTINGS_SHORTCUT_TO":"na","SETTINGS_SHORTCUT_SPACE":"Mezerník","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Autentifikovat","SETTINGS_FACEBOOK_IMPORT":"Importovat","SETTINGS_CALENDAR_SUBSCRIBE":"Přihlásit se k odběru","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Jazyk uživatelského rozhraní","SETTINGS_LAUNCH_STARTUP":"Launch on start-up","SETTINGS_VLC_DEFAULT":"Play with VLC","SETTINGS_UI_LANGUAGE":"UI Language","SETTINGS_UI_ZOOM":"Přiblížení rozhraní","SETTINGS_FULLSCREEN_EXIT":"Klávesa Escape ukončí celou obrazovku","SETTINGS_GAMEPAD":"Povolení podpory gamepadu","SETTINGS_CLOSE_WINDOW":"Zavření aplikace při zavření okna","SETTINGS_SUBTITLES_LANGUAGE":"Výchozí jazyk titulků","SETTINGS_SUBTITLES_SIZE":"Výchozí velikost titulků","SETTINGS_SUBTITLES_BACKGROUND":"Pozadí titulků","SETTINGS_SUBTITLES_COLOR":"Barva titulků","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Barva obrysu titulků","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Barva pozadí titulků","SETTINGS_SEEK_KEY":"Klávesy se šipkami hledají čas","SETTINGS_SEEK_KEY_SHIFT":"Klávesy se šipkami hledají čas při podržení klávesy Shift","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Rewind & Fast-forward duration","SETTINGS_BINGE":"Automatické přehrávání další epizody","SETTINGS_NEXT_VIDEO":"Upozornění na spuštění další epizody","SETTINGS_NEXT_VIDEO_TRIGGER":"Zobrazit upozornění na další epizodu:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Next video popup duration","SETTINGS_PLAY_IN_BACKGROUND":"Play in background","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Spustit v externím přehrávači","SETTINGS_RESIZE":"Automatická změna velikosti okna před přehráváním","SETTINGS_OVERRIDE_SERVER":"Přepsání adresy URL streamovacího serveru (pro pokročilé)","SETTINGS_SERVER_URL":"Adresa URL streamovacího serveru","SETTINGS_SERVER_AVAILABLE":"Streamovací server je k dispozici.","SETTINGS_SERVER_UNAVAILABLE":"Streamovací server není k dispozici.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Error","SETTINGS_SERVER_CONFIGURE_TITLE":"Configure streaming server url","SETTINGS_SERVER_CONFIGURE_INPUT":"Enter a streaming server url","SETTINGS_SERVER_CACHE_SIZE":"Cache size","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent profile","SETTINGS_HTTPS_ENDPOINT":"Koncový bod HTTPS pro streamování","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Vždy používejte nejnovější betaverzi","SETTINGS_IMPORT_FB":"Import ze služby Facebook","SETTINGS_IMPORT_DISK":"Import z místního disku","SETTINGS_IMPORT_TRAKT":"Import ze služby Trakt","SETTINGS_PAUSE_MINIMIZED":"Pozastavení přehrávání při minimalizaci","SETTINGS_HWDEC":"Hardwarově akcelerované dekódování","SETTINGS_BACKGROUND":"Přehrávání na pozadí","SETTINGS_SUBSCRIBE_CALENDAR":"Přihlásit se k odběru kalendáře","SETTINGS_REQ_EXPORT":"Žádost o export dat","SETTINGS_ACC_DELETE":"Žádost o odstranění účtu","SETTINGS_CHANGE_PASSWORD":"Změnit heslo","SETTINGS_TOS":"Podmínky služby","SETTINGS_SUPPORT":"Kontaktovat podporu","SETTING_LANGUAGE":"Jazyk","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_LOGOUT":"Odhlášení z Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Odhlášení z Trakt","SETTINGS_SCAN_FOR_REMOTE":"Naskenujte QR kód pro otevření dálkového ovládání","SETTINGS_DESKTOP_NOTIFICATIONS":"Oznámení na ploše","SETTINGS_DATA_SAVER":"Spořič dat","SETTINGS_LANGUAGE_INTERFACE":"rozhraní","SETTINGS_LANGUAGE_SUBS":"výchozí titulky","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Autoselect Audio Track","SETTINGS_DEFAULT_AUDIO_TRACK":"Default Audio Track","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"účet","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"verze","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"Spuštění přehrávače v samostatném okně (pokročilé)","SETTINGS_PLAY_IN_EXTERNAL":"Vždy spustit video v externím přehrávači","SETTINGS_STORAGE_BUTTON":"Clear Local Storage","SETTINGS_STORAGE_MODAL_TITLE":"Are you sure ?","SETTINGS_STORAGE_MODAL_MESSAGE":"This will clear the local storage and log you out.","SETTINGS_HWDEC_PICKER":"Pick hardware-accelerated decoding setting","SETTINGS_HW_AUTOMATIC":"Automatic","SETTINGS_HW_DISABLED":"Disabled","SETTINGS_HW_ACCELERATED":"Decoding acceleration","SETTINGS_HW_FULL":"Full acceleration","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Subtitles","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Controls","SETTINGS_SECTION_AUTO_PLAY":"Auto-Play","SETTINGS_SECTION_ADVANCED":"Advanced","SUBSPICKER_AUDIO":"Audio","SUBSPICKER_SUBTITLES":"Addons Subtitles","SUBSPICKER_BLACK_BACKGROUND":"Use black background color","SUBSPICKER_VERTICAL_OFFSET":"Vertical Offset","SUBSPICKER_SIZE":"Size","SUBSPICKER_DELAY":"Delay","SUBSPICKER_EMBEDDED_SUBS":"Embedded Subtitles","MOBILE_PRIVACY_POLICY":"Privacy Policy","MOBILE_CRASH_REPORTING":"Crash Reporting","MOBILE_ZOOM_TO_FILL":"Zoom To Fill Screen","MOBILE_PASSTHROUGH":"Digital audio output (passthrough)","MOBILE_RUN_LOW_BATTERY":"Run on low battery","MOBILE_RUN_FOREGROUND":"Run as Foreground Service","MOBILE_PERFORMANCE":"PERFORMANCE & STABILITY","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"QR Code expires in ","MOBILE_LOG_INTO":"Log in to your Stremio account ","MOBILE_SCAN_QR":"Scan QR code above or go to ","MOBILE_LINK_ACCOUNT":"Link Account","MOBILE_SPEEDPICKER_CANCEL":"Cancel","MOBILE_SPEEDPICKER_LABEL":"Select Playback Speed","MOBILE_EMPTY_LIBRARY":"Your library is empty","MOBILE_NO_ADDON_ACTIVE":"No Stremio addon active for this type.","MOBILE_ORGANIZER_WARNING":"The Stremio Organizer app provides limited functionality. For a list of playable streams and the full Stremio experience, use Stremio on desktop.","MOBILE_ADDON_LOADING":"is still loading","MOBILE_ADDONS_LOADING":"addons are still loading","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Configure your addon","MOBILE_CONFIGURE_ADDON_LABEL":"Configure Addon","MOBILE_ORGANIZER_ADDONS_WARNING":"The Stremio Organizer app provides a limited selection of addons. For the full Stremio experience, use Stremio on desktop.","MOBILE_DISCONNECT":"Disconnect","MOBILE_LOOKING_FOR_DEVICES":"Looking for devices...","MOBILE_CAST_TO":"Cast to","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Delete Account","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Account deletion is not instant due to legal obligations. After requesting deletion of your account you will have to use different email address/facebook profile to create a new Stremio account in the future.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirm Account Deletion","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Your account has been created using Facebook. To delete your account, please use our user portal at www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Please provide your password to confirm account deletion.","MOBILE_DELETE_ACCOUNT_BUTTON":"Delete Account","NAVIGATION_ON":"On","NAVIGATION_OFF":"Off","MARKETING_AGREE":"I agree to receive marketing communications from Stremio","QUIT":"Odejít","CONNECTED":"Připojeno","AUTHENTICATE":"Ověřit","CACHING":"Mezipaměť","SETTINGS_CACHING_DRIVE":"Jednotka mezipaměti","ENABLE_LOCAL_FILES_ADDON":"Povolení doplňku pro místní soubory (vyžaduje restart)","LOCAL_ADDON_NOT_ENABLED":"Local addon is not enabled. Click here to go to the settings and enable it","ENABLE_REMOTE_HTTPS_CONN":"Povolení vzdálených připojení HTTPS","TORRENT_PROFILE":"Profil Torrent","DATA_CACHING":"Ukládání dat do mezipaměti","MAGNET_PARSING":"Rozbor odkazu magnetu","January":"Leden","February":"Únor","March":"Březen","April":"Duben","May":"Květen","June":"Červen","July":"Červenec","August":"Srpen","September":"Září","October":"Říjen","November":"Listopad","December":"Prosinec","Monday":"Pondělí","Tuesday":"Úterý","Wednesday":"Středa","Thursday":"Čtvrtek","Friday":"Pátek","Saturday":"Sobota","Sunday":"Neděle","Action":"Akce","Comedy":"Komedie","War":"Válka","Family":"Rodina","Animation":"Animace","Adventure":"Dobroudružná hra","Fantasy":"Fantasy","Crime":"Zločin","Mystery":"Záhada","Romance":"Romantické","Drama":"Drama","Horror":"Horory","Thriller":"Thriller","Sci-Fi":"Sci-fi","Music":"Hudba","Biography":"Životopis","Documentary":"Dokumentární film","Sport":"Sport","Musical":"Hudební","Western":"Západní","Film-Noir":"Film-noir","News":"Novinky","History":"Historie","Game-Show":"Game-Show","Reality-TV":"Reality-TV","Talk-Show":"Talk-Show","Film & Entertainment":"Film a zábava","Gaming":"Hry","From TV":"Z televize","Lifestyle":"Životní styl","Science & Education":"Věda a vzdělávání","Cooking & Health":"Vaření a zdraví","Beauty & Fashion":"Krása a móda","Sports":"Sporty","News & Politics":"Zprávy a politika","How-to & DIY":"Jak na to & Udělej si sám","Tech":"Tech","Automotive":"Automobilový průmysl","Causes & Non-Profits":"Kauzy a neziskové organizace","Movies":"Filmy","Uk Live Tv":"Spojené království Živá televize","Fashion":"Móda","Business News Radio":"Business News Radio","Business Tv":"Obchodní televize","Cars & Auto":"Automobily a auta","Comedy Radio":"Komediální rádio","Lifestyle Radio":"Rádio životního stylu","News Tv":"Zpravodajská televize","Food And Wine":"Jídlo a víno","Latino Tv":"Latinskoamerická televize","Shopping Tv":"Nákupní televize","Religion":"Náboženství","Kids":"Děti","Body & Soul":"Tělo a duše","Education":"Vzdělání","Indian Tv":"Indická televize","Extreme Sports":"Extrémní sporty","Middle Eastern Tv":"Blízkovýchodní televize","Celebrity Tv":"Celebrity Tv","Science Tv":"Vědecká televize","Bikini babe":"Kočka v bikinách","Outdoors":"Venku","German Tv":"Německá televize","French Tv":"Francouzská televize","Italian Tv":"Italská televize","Gamer Tv":"Gamer Tv","Travel":"Cestovní kancelář","Asian Tv":"Asijská televize","Entertainment":"Zábava","News Radio":"Zpravodajské rádio","Music Radio":"Hudební rádio","Language Learning":"Výuka jazyků","Science Radio":"Vědecké rádio","Tech Radio":"Tech Radio","Science & Technology Vod":"Věda a technika Vod","new video":"nové video","new episode":"nová epizoda","new movie":"nový film","recommended":"doporučené","we recommend":"doporučujeme","offer of the day":"nabídka dne","news":"novinky","music video":"hudební video","CTX_SHOW_HOTKEYS":"Show hotkeys","CTX_DISMISS_NOTIF":"Odmítnutí oznámení","CTX_DISMISS_ALL":"Odmítnout všechny","CTX_SHARE":"Sdílet","CTX_COPY_SHARE_LINK":"Kopírovat odkaz na sdílení","CTX_COPY_MAGNET_LINK":"Kopírovat odkaz na magnet","CTX_COPY_STREAM_LINK":"Kopírovat odkaz na stream","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Stáhněte si toto video","CTX_DOWNLOAD_SUBS":"Download subtitles","CTX_VIEW_ON_YOUTUBE":"View on YouTube","CTX_SHOW":"Zobrazit","CTX_PLAY":"Přehrát","CTX_PLAY_IN":"Přehrát v","CTX_PLAY_ON":"Přehrát na","CTX_WATCH_ON":"Sledujte na","CTX_WATCH":"Sledovat","CTX_WATCHED":"Sledováno","CTX_WATCH_BEGINNING":"Sledujte od začátku","CTX_WATCH_MOBILE":"Sledování na mobilním zařízení","CTX_REWIND":"Přetočení na začátek","CTX_MARK_WATCHED":"Označit jako sledované","CTX_MARK_NON_WATCHED":"Označit jako nesledované","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"Zbytek označte jako sledovaný","CTX_UNMARK_REST":"Zbytek označte jako nesledovaný","CTX_RECEIVE_NEW_NOTIF":"Přijímání nových oznámení","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"Odstranění z mezipaměti","CTX_REMOVE_CACHE_EP":"Odstranění epizody z mezipaměti","CTX_OPEN_CONTAINING":"Otevřít složku obsahující","CTX_REMOVE":"Odebrat z knihovny","CTX_AVAILABLE_OFFLINE":"Dostupné offline","CTX_PAUSED":"Pozastaveno","CTX_ALWAYS_ON_TOP":"Vždy na vrcholu","CTX_FULLSCREEN":"Celá obrazovka","CTX_WRONG_SUBS":"Špatné titulky?","CTX_REPORT_ISSUES":"Nahlásit problém","CTX_COPY":"Kopírovat","CTX_PASTE":"Vložit","CTX_CLEAR":"Vymazat","CTX_CLEAR_RECENT_SEARCHES":"Vymazat poslední vyhledávání","HELLO_THERE":"Dobrý den","HOPE_YOU_ENJOY":"Doufáme, že se vám Stremio bude líbit a že se stane jednou z vašich oblíbených aplikací!","WHO_ARE_WE":"Kdo jsme? Jsme tým, který za tím stojí - dva kluci, kteří už tři roky každý den tvrdě pracují na tom, aby byl tento produkt stále lepší a lepší.","SUPPORT_US":"Pokud se vám Stremio líbí, pokud je pro vás Stremio přínosné - šiřte tuto informaci dál!","SPREAD_THE_WORD":"Sdílejte se svými přáteli, rozšiřte informace o Stremiu","MORE_PEOPLE":"Čím více lidí bude Stremio používat, tím lepší bude!","SEND_A_LINK":"Nebo pošlete odkaz na naše webové stránky","TIP_LOCALFILES":"Tip: do aplikace Stremio můžete přetáhnout místní video soubory","ADDON_MY":"Moje doplňky","ADDON_COMMUNITY":"Doplňky komunity","ADDON_OFFICIAL":"Oficiální doplňky","ADDON_REPOS":"Sbírky doplňků","ADDON_SEARCH":"Vyhledávání doplňků","ADDON_INSTALL":"Instalovat","ADDON_CONFIGURE":"Konfigurovat","ADDON_UNINSTALL":"Odinstalovat","ADDON_UPGRADE":"Upgrade","ADDON_INSTALLED":"Nainstalováno","ADDON_INSTALLED_MSG":"Addon nainstalován!","ADDON_UPGRADED_MSG":"Addon upgradován!","ADDON_UNKNOWN":"Neznámý","ADDON_ERR":"Chyba při instalaci doplňku!","ADDON_DISCONNECTED":"Odpojeno","ADDON_APP_MISSING":"aplikace pro tento zdroj není nainstalována. Chcete ji nyní nainstalovat?","ADDON_APP_INSTALL":"Nainstalovat nyní","ADDON_PAGE":"Stránka doplňku","ADDON_TOP_CONTENT":"To nejlepší z tohoto doplňku","ADDON_PROVIDES":"Tento doplněk vám poskytne:","ADDON_WATCH":"Sledujte #{types} nyní!","ADDON_WATCH_FREE":"Sledujte #{types} nyní ZDARMA!","ADDON_ADDON":"Doplněk","ADDON_SUPPORTED_TYPES":"Podporované typy","ADDON_SUPPORTED_CATALOGS":"Podporované katalogy","ADDON_PROVIDES_DISCOVER":"Další #{types} v aplikaci Discover","ADDON_PROVIDES_STREAMS":"Sledujte #{types}","ADDON_PROVIDES_STREAMS_FREE":"Sledujte #{types} ZDARMA","ADDON_PROVIDES_SUBTITLES":"Titulky pro #{types}","ADDON_CANTDETECT":"Nepodařilo se nám zjistit spuštěné Stremio, takže jsme nemohli zjistit, jaké máte nainstalované doplňky.","ERR_NO_META":"O tomto nebyly nalezeny žádné informace","ERR_GETTING_META":"Chyba při načítání informací o tomto.","ERR_CANT_PARSE_MAGNET":"Nelze analyzovat magnet","ERR_NO_MAGNET_INFOHASH":"Žádný platný informační hash pro magnet","ERR_NO_FILE_PATH":"Nelze odeslat požadavek bez cesty k souboru","ERR_NO_TORRENT":"Žádný torrent se nevrátil","ERR_NO_SUPPORTERD_FILES":"Nebyly nalezeny žádné podporované soubory","ERR_OPENING_FILES":"Nelze otevřít externí soubory","ERR_INVALID_LINK":"Neplatný odkaz","ERR_REGISTERED_ONLY":"Tato možnost je k dispozici pouze pro registrované uživatele.","ERR_CLIPBOARD":"Nelze přehrávat ze schránky","ERR_CLIPBOARD_READ":"Na této platformě nelze číst schránku","ERR_CLIPBOARD_GENERIC":"Ve schránce nebyla nalezena žádná přehrávatelná adresa URL. Zkopírujte prosím adresu URL (např. odkaz na magnet) na video.","BOARD_CONTINUE_WATCHING":"Pokračovat ve sledování","BOARD_EXPLANATION_RECOMMENDATIONS":"Filmy vybrané speciálně pro vás.<br />Tento film je ukázkovým doporučením.","BOARD_EXPLANATION_EPISODES":"Zde se objevují nové epizody vašich oblíbených seriálů.<br />Přidejte si sledované seriály do své knihovny.","BOARD_EXPLANATION_VIDEOS":"Zde se objevují nové epizody vašich oblíbených kanálů.<br />Přidejte si sledované kanály YouTube do své knihovny.","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE":"Přispět","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"Learn more","WEBSITE_COMPANY":"Company","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Need Help?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"Sledujte okamžitě","WEBSITE_SLOGAN_ALL":"Veškerý videoobsah, který si užíváte, na jednom místě","WEBSITE_SLOGAN_NEW":"Vše, co můžete sledovat","WEBSITE_SLOGAN_NEW_NEW":"Freedom to Stream","WEBSITE_WATCH_FROM":"Sledujte od","WEBSITE_DOWNLOAD":"Stáhnout nyní","WEBSITE_DOWNLOAD_FOR":"Stáhnout nyní pro","WEBSITE_IS_DESKTOP":"Stremio je aplikace pro stolní počítače, otevřete tuto stránku v počítači a stáhněte si ji","WEBSITE_DESKTOP_DEMO_VID":"Demonstrační verze pro stolní počítače","WEBSITE_PAGE_HOME":"Domů","WEBSITE_PAGE_FEATURES":"Vlastnosti","WEBSITE_PAGE_ADDONS":"Doplňky","WEBSITE_PAGE_TECH":"Technologie","WEBSITE_PAGE_CREATE_ADDON":"Vytvořit doplněk","WEBSITE_PAGE_CONTACTS":"Kontakty","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Filmy","WEBSITE_TYPE_series_PL":"Seriály","WEBSITE_TYPE_tv":"Živý televizní přenos","WEBSITE_TYPE_channel":"Kanály","WEBSITE_STREMIO_WHAT_IS":"Stremio je aplikace, která vám pomůže uspořádat a okamžitě sledovat vaše oblíbená videa, filmy, seriály a televizní kanály.","WEBSITE_FEATURES_WATCH":"Sledujte okamžitě v HD","WEBSITE_FEATURES_WATCH_DETAIL":"Klikněte a přehrávejte své oblíbené filmy, televizní pořady, videa a televizní kanály.","WEBSITE_FEATURES_SUBS":"Automatické titulky","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio automaticky vybere synchronizované titulky pro váš jazyk.","WEBSITE_FEATURES_SUBS_LABEL":"Váš tah, šéfe.","WEBSITE_FEATURES_CAST":"Přehrávání na televizoru a mobilních zařízeních","WEBSITE_FEATURES_CAST_DETAIL":"Cast na AppleTV, Chromecast, Smart TV (DLNA/UPnP) a mobilní zařízení.","WEBSITE_LIB":"Užívejte si svou osobní knihovnu synchronizovanou na všech zařízeních","WEBSITE_LIB_COLLECT":"Sbírat od Stremio","WEBSITE_LIB_IMPORT":"Import ze služby Facebook","WEBSITE_LIB_LOCAL":"Přidání z místní jednotky","WEBSITE_BOARD":"Rada - Vaše jediné místo pro oznámení a doporučení","WEBSITE_BOARD_RECOMMEND":"Doporučený televizní pořad","WEBSITE_BOARD_TRENDING":"Trendy film","WEBSITE_BOARD_NEW":"Nové video","WEBSITE_BOARD_EPISODE":"Nová epizoda","WEBSITE_BOARD_1":"Hledáte něco zajímavého ke sledování? Získejte doporučení podle svého vkusu!","WEBSITE_BOARD_2":"Nechte se upozornit na nový díl svého oblíbeného televizního pořadu nebo kanálu YouTube!","WEBSITE_BOARD_YOUTUBE":"Nová videa kanálů YouTube","WEBSITE_BOARD_EPISODES":"Nové epizody seriálů, které sledujete","WEBSITE_ADDONS":"Doplňky obsahu","WEBSITE_TECH_DETAIL":"Milujeme technologie, milujeme šílenou vědu!\\nStremio používá následující open source technologie:","WEBSITE_TECH_WCJS":"WebChimera.js umožňuje službě Stremio přehrávat jakýkoli formát videa s dobrým výkonem.","WEBSITE_TECH_WCJS_EXTRA":"Jsme hlavními přispěvateli projektu","WEBSITE_TECH_ELECTRON":"Electron poskytuje inovativní platformu, na které lze vytvořit Stremio.","WEBSITE_TECH_ELECTRON_EXTRA":"Jsme přispěvatelé projektu","WEBSITE_TECH_LINVODB":"Databázová technologie, která zajišťuje, že vaše data jsou uspořádaná a dostupná kdekoli, kde se přihlásíte.","WEBSITE_TECH_LINVODB_EXTRA":"Vlastní technologie","WEBSITE_CREATE_ADDON":"Vytvoření doplňku","WEBSITE_CREATE_ADDON_DETAIL":"Máte službu poskytující videoobsah? Pomůžeme vám využít funkce Stremio vytvořením vašeho doplňku.","WEBSITE_CREATE_ADDON_BENEFITS":"Výhody vytvoření doplňku pro Stremio","WEBSITE_P2P_BEAUTY":"Krása peer-to-peer streamování","WEBSITE_P2P_1":"Spolehlivé a cenově dostupné video v rozlišení Full HD / 4K na vyžádání nebo živé vysílání","WEBSITE_P2P_2":"Distribuční platforma poskytující skvělý uživatelský zážitek","WEBSITE_P2P_3":"Vytvoříme doplněk, který bude přesně odpovídat vašim potřebám","WEBSITE_P2P_CONTACT":"Máte zájem? Můžete <a href=\'mailto:office@stremio.com\'>nás kontaktovat</a>.","WEBSITE_P2P_CONTACT_EXTRA":"Rádi vám pomůžeme s integrací vašeho obsahu do služby Stremio!","WEBSITE_P2P":"Jednou za čas se objeví technologie, která změní název hry. Investovali jsme spoustu času a úsilí do vytvoření našeho enginu pro streamování videa P2P (Peer-to-Peer), který poskytuje skvělý výkon a všestrannost, aby se přizpůsobil jakémukoli případu použití.\\nKontaktujte nás pro P2P video na vyžádání nebo živé streamování s podporou DRM.","WEBSITE_THOUGHTS":"Myšlenky, které sdílíme:","WEBSITE_SPREAD":"Šíření informací o Stremio:","WEBSITE_CONTACT":"Kontaktujte nás, budeme rádi, když se nám ozvete!","WEBSITE_OPENSOURCE":"Naše projekty s otevřeným zdrojovým kódem naleznete na adrese","WEBSITE_BITCOIN":"Darujte bitcoin:","WEBSITE_FAQ":"Nejčastější dotazy","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Otázky","WEBSITE_TOS":"Podmínky použití","WEBSITE_LEGAL":"Právo","WEBSITE_PAGE_ABOUT":"O nás","WEBSITE_PAGE_BECOME_PARTNER":"Staňte se partnerem","WEBSITE_ALL_YOU_CAN_WATCH":"Svoboda sledování\\nVše, co chcete.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"Co je stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio je komplexní centrum pro agregaci video obsahu. Objevujte, organizujte a sledujte videa ze všech zdrojů na jakémkoli zařízení, které vlastníte.","WEBSITE_WHAT_IS_STREMIO_P2":"Filmy, televizní pořady, seriály, živé televizní vysílání nebo webové kanály jako YouTube a Twitch.tv - to vše najdete na Stremiu.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio je moderní multimediální centrum, které představuje komplexní řešení pro vaši videozábavu. Objevujete, sledujete a organizujete videoobsah ze snadno instalovatelných doplňků.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Filmy, televizní pořady, živé vysílání nebo webové kanály - to vše najdete na Stremiu.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Užívejte si na všech svých multimediálních zařízeních","WEBSITE_DEVICES_COLLECT":"Sbírat od Stremio","WEBSITE_DEVICES_IMPORT_FB":"Import z facebooku","WEBSITE_DEVICES_LOCAL":"Přidání z místní jednotky","WEBSITE_JOIN_THE_PARTY_NOW":"Připojte se k večírku nyní","WEBSITE_DEVICES_ALL":"Snadné použití na všech zařízeních;","WEBSITE_EXTENDABLE_CATALOG":"Nekonečně rozšiřitelný katalog videa;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Skvělé funkce pro organizaci médií;","WEBSITE_AS_SEEN_ON":"Neviděno","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"O nás","WEBSITE_LINK_TECHNOLOGY":"Technologie","WEBSITE_LINK_APPS":"Aplikace","WEBSITE_LINK_DOWNLOADS":"Stahování","WEBSITE_MORE":"Více","WEBSITE_LINK_ADDONS":"Doplňky","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Přispět","WEBSITE_LINK_COMMUNITY":"Komunita","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"Dnes již máte procvičeno. Buď přidejte více karet, nebo začněte znovu zítra.","WEBSITE_LINK_HELP":"Centrum nápovědy","WEBSITE_LINK_CONTACTS":"Obchodní dotazy","WEBSITE_LINK_TOS":"Podmínky a pravidla","WEBSITE_LINK_PRAVACY":"Zásady ochrany osobních údajů","WEBSITE_SUBSCRIBE":"Odebírat","WEBSITE_NEWSLETTER":"Připojte se k našemu zpravodaji pro úžasné věci","WEBSITE_PLACEHOLDER_EMAIL":"Váš e-mail","WEBSITE_COMMUNITY":"Komunita","WEBSITE_LINK_PRAVACY_LEGAL":"Ochrana soukromí a právní předpisy","WEBSITE_WHY":"Proč to děláme","WEBSITE_WHY_P1":"Ve Stremio chodíme každý den do práce, protože chceme vyřešit důležitý problém pro odvětví videa na vyžádání. Každou minutu je zveřejněno tolik nového obsahu, že je prakticky nemožné se v něm zorientovat.","WEBSITE_WHY_P2":"Pomáháme lidem orientovat se v obrovském světě video zábavy a objevovat nový obsah. Naše aplikace sdružují filmy, seriály, živé televizní vysílání, webové kanály a další. Snažíme se uživatelům neuvěřitelně usnadnit vyhledávání oblíbených titulů a televizních stanic.","WEBSITE_WHY_P3":"Naši službu můžete používat na jakémkoli zařízení a kdykoli, takže Stremio je jediné centrum video zábavy, které kdy budete potřebovat.","WEBSITE_TEAM":"TEAM","WEBSITE_TEAM_P":"Tým Stremio je malý, ale výkonný: deset z nás programuje v X jazycích a sdílíme odborné znalosti v oblasti vývoje softwaru, designu uživatelského rozhraní a UX, marketingu a reklamy a podnikání a startupů.","WEBSITE_FEATURES":"Vlastnosti","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Snadné objevování nového obsahu","WEBSITE_FEATURES_DISCOVER_P":"Snadno objevujte nové filmy, televizní pořady, seriály a kanály ke sledování. Procházejte podle kategorie, žánru, hodnocení, oblíbenosti atd. nebo jednoduše zadejte název a vyhledejte. Se službou Stremio je vyhledávání nového videoobsahu hračka.","WEBSITE_FEATURES_ALL_CONTENT":"Veškerý video obsah na jedné obrazovce","WEBSITE_FEATURES_ALL_CONTENT_P1":"Podívejte se, které filmy, seriály nebo videa jste nedokoukali, a pokračujte v jejich sledování, nechte si posílat upozornění na nové epizody a novinky a procházejte doporučení, která dostanete na základě svých diváckých návyků.","WEBSITE_FEATURES_LIBRARY":"Uspořádejte svou knihovnu videí","WEBSITE_FEATURES_LIBRARY_P1":"Jedním kliknutím přidáte do knihovny Stremio libovolný titul a můžete se orientovat v obsahu, který je přehledně uspořádán podle typu, aktuálnosti nebo abecedního pořadí.","WEBSITE_FEATURES_CALENDAR":"Sledujte vše, co sledujete","WEBSITE_FEATURES_CALENDAR_P1":"Získejte vizualizaci všech filmů a seriálů, které přidáte do své knihovny, v kalendáři. Exportujte svůj kalendář Stremio a synchronizujte jej, abyste vždy věděli, kdy se má objevit nová epizoda nebo premiéra.","WEBSITE_FEATURES_BIG_SCREEN":"Vychutnejte si video obsah na větší obrazovce","WEBSITE_FEATURES_BIG_SCREEN_P1":"Jediným kliknutím můžete přehrát cokoli, co sledujete, do jiného zařízení - telefonu, tabletu nebo televizoru.","WEBSITE_FEATURES_SOURCES":"Sledování videí z mnoha různých zdrojů","WEBSITE_FEATURES_SOURCES_P":"Nainstalujte si oficiální a komunitní doplňky, abyste si mohli vychutnat videa od mnoha různých poskytovatelů - to vše v jedné elegantní a snadno použitelné aplikaci.","WEBSITE_CREATE_AN_ADDON":"Vytvoření doplňku","WEBSITE_FEATURES_SYNC":"Synchronizace knihovny mezi různými zařízeními a obnovení přehrávání","WEBSITE_FEATURES_SYNC_P1":"Přihlaste se pomocí svého účtu do všech zařízení a užívejte si synchronizovanou knihovnu, doplňky, přehrávání a kalendář.","WEBSITE_FEATURES_EXTENDABLE":"Rozšiřitelný katalog videí pomocí doplňků","WEBSITE_FEATURES_EXTENDABLE_P1":"Katalog doplňků Stremio nabízí řadu doplňků, které si můžete nainstalovat a sledovat z nich nejrůznější videoobsah. Patří sem filmy, seriály, živé televizní vysílání, sport, zprávy, podcasty, webové kanály, videohry a další.","WEBSITE_FEATURES_AUTO_SUBS":"Automatické titulky","WEBSITE_FEATURES_AUTO_SUBS_P1":"S našimi doplňky titulků získáte automaticky vybrané možnosti pro preferovaný jazyk.","WEBSITE_FEATURES_CHROMECAST":"Casting do Chromecastu","WEBSITE_FEATURES_CHROMECAST_P1":"Vychutnejte si videoobsah na větší obrazovce nebo jen přenášejte sledované video do jiného zařízení.","WEBSITE_FEATURES_KEEP_TRACK":"Sledování oblíbených televizních pořadů a webových kanálů","WEBSITE_FEATURES_KEEP_TRACK_P1":"Získejte vizualizaci kalendáře a upozornění na nové epizody oblíbených seriálů a webových kanálů.","WEBSITE_FEATURES_POWER_USER":"Funkce pro výkonné uživatele","WEBSITE_FEATURES_POWER_USER_P1":"Přehrávání v externím přehrávači","WEBSITE_FEATURES_POWER_USER_P2":"Přehrávání ze souboru torrent nebo odkazu magnet","WEBSITE_FEATURES_POWER_USER_P3":"Import do knihovny ze služby Facebook likes nebo z místního disku","WEBSITE_ADD_ONS":"Doplňky","WEBSITE_ADD_ONS_P1":"Veškerý videoobsah, který Stremio poskytuje, je získáván prostřednictvím systému doplňků - aplikace neobsahuje žádný obsah ani poskytovatele obsahu.","WEBSITE_ADD_ONS_P2":"K dispozici jsou dvě skupiny doplňků: oficiální a komunitní.","WEBSITE_ADD_ONS_P3":"Oficiální doplňky vyvíjí a hostuje Stremio, zatímco komunitní doplňky vytvářejí členové naší komunity, kteří je také hostují.","WEBSITE_ADDONS_OFFICIAL":"Oficiální doplňky","WEBSITE_ADDONS_WATCHUB":"Streamujte své oblíbené filmy, seriály a pořady od poskytovatelů, jako jsou iTunes, Hulu, Amazon a další britské/americké služby.","WEBSITE_ADDONS_YOUTUBE":"Sledujte své oblíbené kanály YouTube bez reklam a dostávejte upozornění na nové příspěvky od autorů, které sledujete.","WEBSITE_ADDONS_FILMON":"Sledujte živé televizní vysílání, filmy a sociální televizi zdarma. 600 televizních kanálů, 45 000 bezplatných filmů, dokumentů a další.","WEBSITE_ADDONS_OPENSUBTITLES":"Filmové a televizní titulky ve více jazycích, tisíce přeložených titulků nahraných každý den.","WEBSITE_ADDONS_COMMUNITY":"Doplňky komunity","WEBSITE_ADDONS_FILMON_VOD":"Sledujte video na vyžádání z Filmon.tv","WEBSITE_ADDONS_TWICH":"Sledujte živé přenosy z Twitch.tv - platformy pro streamování videa z e-sportů.","WEBSITE_ADDONS_VODO":"Sledujte nezávislé filmy zcela zdarma.","WEBSITE_ADDONS_NETFLIX":"Sledování filmů a webových seriálů Netflix.","WEBSITE_ADDONS_CREATE":"Vytvoření doplňku","WEBSITE_ADDONS_CREATE_P1":"Pokud chcete, můžete si vytvořit vlastní doplněk. Tímto způsobem můžete sobě i naší komunitě poskytnout přístup k novému videoobsahu a oslovit nové, cílené publikum milionů uživatelů po celém světě.","WEBSITE_ADDONS_START_CREATE":"Chcete-li začít, navštivte stránku Stremio Addon SDK:","WEBSITE_DOWNLOADS":"Stahování","WEBSITE_DOWNLOADS_P1":"Pro optimální výkon doporučujeme používat nejnovější dostupnou verzi aplikací Stremio. Pokud však z nějakého důvodu chcete používat starší verzi, můžete si ji stáhnout zde.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio pro Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio pro macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio pro Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio pro Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio pro iOS (omezená verze)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"Platforma Stremio má otevřený zdrojový kód a můžete snadno vytvořit doplněk pro obsah, který v současné době nemá zdrojový kód.","WEBSITE_CONTRIBUTE_WHY":"Proč byste si měli vytvořit doplněk?","WEBSITE_CONTRIBUTE_WHY_P1":"Oslovte nové publikum pro svůj video obsah","WEBSITE_CONTRIBUTE_WHY_P2":"Uživatelská základna Stremio rychle roste - během prvního roku od spuštění získalo Stremio 1 milion uživatelů po celém světě a ve druhém roce existence platformy se jejich počet zvýšil na 2,5 milionu.","WEBSITE_CONTRIBUTE_WHY_P3":"S vaším doplňkem můžete toto publikum snadno oslovit a distribuovat mu svůj videoobsah.","WEBSITE_CONTRIBUTE_ALL":"Sledujte své oblíbené filmy, videa, seriály a kanály na jednom místě.","WEBSITE_CONTRIBUTE_ALL_P1":"Jste fanouškem určitého typu obsahu, který zatím není na Stremiu k dispozici? Vytvořte si pro něj doplněk a užijte si sledování oblíbených videí v jednom z největších a nejsnadněji použitelných zábavních center na trhu.","WEBSITE_CONTRIBUTE_ALL_P2":"Kromě toho získáte nekonečnou vděčnost dalších podobně smýšlejících členů komunity Stremio.","WEBSITE_CONTRIBUTE_MONETIZE":"Zpeněžujte svůj doplněk a vydělávejte peníze s jeho pomocí","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Jakmile vyvinete nový doplněk pro Stremio, můžete jej snadno zpeněžit několika různými způsoby. Pokud o tom uvažujete, neváhejte nás kontaktovat na adrese","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - rádi s vámi zkonzultujeme možnosti zpeněžení doplňků a poradíme vám.","WEBSITE_CONTRIBUTE_TRANSLATE":"Staňte se dobrovolným překladatelem","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Pokud chcete využívat aplikace Stremio v různých jazycích, můžete se připojit k naší komunitě dobrovolných překladatelů. Ti nám pomáhají přidávat verze aplikace Stremio v mnoha různých jazycích.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Máte chuť začít?","WEBSITE_TRANSALTE_STREMIO":"Přeložit Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Oficiální komunity","WEBSITE_COMMUNITY_OFFICIALS_P1":"Staňte se součástí rostoucí komunity Stremio. Sledujte nás na sociálních sítích a nestyďte se nás pozdravit - rádi se ozýváme našim fanouškům!","WEBSITE_COMMUNITY_UNOFFICIALS":"Neoficiální komunity","STREMIO_COMMUNITY_NL":"Stremio Nizozemsko","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Německo","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgie","STREMIO_COMMUNITY_FRANCE":"Stremio Francie","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugalsko","STREMIO_COMMUNITY_ITALY":"Stremio Itálie","STREMIO_COMMUNITY_UK":"Stremio Česká republika","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexiko","STREMIO_COMMUNITY_ADDONS":"Doplňky Stremio","STREMIO_COMMUNITY_AWESOME":"Úžasné Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partneři a podporovatelé","WEBSITE_COMMUNITY_GOODIES":"Stremio dobroty","WEBSITE_COMMUNITY_WALLPAPERS":"Tapety na plochu","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"Kontaktujte nás","WEBSITE_CONTACT_US_P1":"Máte-li jakékoli dotazy, připomínky nebo návrhy, neváhejte nás kontaktovat prostřednictvím níže uvedeného kontaktního formuláře.","WEBSITE_CONTACT_US_P2":"Mějte na paměti, že se nacházíme v Bulharsku, takže může dojít ke zpoždění při řešení vašeho dotazu kvůli rozdílům v časových pásmech.","WEBSITE_CONTACT_US_SUCCESS":"Vaše zpráva byla odeslána. Ozveme se vám v nejbližším možném termínu.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Zadejte prosím platný e-mail!","WEBSITE_CONTACT_US_Q_RELATED_TO":"Čeho se vaše otázka týká?","WEBSITE_CONTACT_US_Q_OS":"Jaký je váš operační systém?","WEBSITE_CONTACT_US_PH_EMAIL":"Váš e-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Zpráva","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"ODESLAT","WEBSITE_CONTACT_US_Q_1":"Jak nainstalovat?","WEBSITE_CONTACT_US_Q_2":"Jak odinstalovat?","WEBSITE_CONTACT_US_Q_3":"(HTML) Jak připravit lasagne?","WEBSITE_CONTACT_US_Q_4":"Doplňky","WEBSITE_CONTACT_US_OS_1":"Umístěním databáze na síťovou jednotku je ve Windows zakázáno, aby se předešlo poškození dat. Mnemosyne bude nyní uzavřeno.","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Technologie","WEBSITE_TECHNOLOGY_P1":" <br>Milujeme technologie a bláznivou vědu.</br> Tady je to, co pohání Stremio (vše je open-source).","WEBSITE_TECHNOLOGY_P_QT":"Vývoj softwaru napříč platformami v té nejlepší podobě.","WEBSITE_TECHNOLOGY_P_MPV":"Bezplatný multiplatformní přehrávač médií s otevřeným zdrojovým kódem.","WEBSITE_TECHNOLOGY_P_RN":"React Native umožňuje vytvářet mobilní aplikace pouze pomocí JavaScriptu.","WEBSITE_TECHNOLOGY_P_VLC":"Mediální rámec vložený do aplikace pro získání multimédií.","WEBSITE_TECHNOLOGY_P_REALM":"Realm je mobilní platforma a náhrada SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js je open-source, multiplatformní běhové prostředí jazyka JavaScript.","WEBSITE_TECHNOLOGY_P_RUST":"Rust je multiparadigmatický systémový programovací jazyk zaměřený na bezpečnost, zejména na bezpečnou souběžnost.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Přispět k projektu","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Existují dva způsoby, jak můžete přispět na Stremio a pomoci nám produkt ještě vylepšit.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Své cenné jazykové znalosti můžete věnovat překladu platformy...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"nebo","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... můžete využít své programátorské dovednosti při vytváření komunitních doplňků","WEBSITE_TRANSLATE_STREMIO":"Přeložit Stremio","WEBSITE_404_OH_NO":"Uh-oh! Hledaná stránka se zde nenachází...","WEBSITE_GO_HOME":"Jít domů","WEBSITE_LINK_OTHER_DOWNLOADS":"Ostatní soubory ke stažení","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Podpora","WEBSITE_DOWNLOAD_4_0_BETA":"Stáhněte si Stremio 4 beta nyní","WEBSITE_GET_FOR_DESKTOP":"Získat pro stolní počítače","WEBSITE_LINK_ADDON_COMPETITION":"Soutěž o doplněk","WEBSITE_LINK_ART_CONTEST":"Výtvarná soutěž","WEBSITE_MY_ACCOUNT":"Můj účet","WEBSITE_MAINPAGE_FAQ_001_H1":"Co je Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio je moderní multimediální centrum, které vám dává svobodu sledovat vše, co chcete.","WEBSITE_MAINPAGE_FAQ_002_H1":"Jak to funguje?","WEBSITE_MAINPAGE_FAQ_002_P1":"Po instalaci aplikace Stremio do zařízení a vytvoření účtu stačí navštívit katalog doplňků, nainstalovat libovolný doplněk a můžete začít!","WEBSITE_MAINPAGE_FAQ_002_P2":"Poté můžete přejít do sekce Objevovat nebo Nástěnka a začít zkoumat obsah.","WEBSITE_MAINPAGE_FAQ_003_H1":"Co zde mohu sledovat?","WEBSITE_MAINPAGE_FAQ_003_P1":"Hodně: Filmy, televizní pořady, webové kanály, sport, televizní kanály, poslech podcastů a další. Díky našemu systému doplňků máte přístup k nejrůznějšímu obsahu.","WEBSITE_MAINPAGE_FAQ_004_H1":"Je Stremio open-source?","WEBSITE_MAINPAGE_FAQ_004_P1":"Ano, můžete se podívat na následující odkazy: ${1}desktopová aplikace${2} a ${3}Organizace GitHub${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Je Stremio bezpečné?","WEBSITE_MAINPAGE_FAQ_005_P1":"Ano: protože se jedná o software s otevřeným zdrojovým kódem, kód je veřejně kontrolovatelný a můžete si ho sami zkontrolovat.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"A co moje soukromí?","WEBSITE_MAINPAGE_FAQ_006_P1":"Respektujeme soukromí uživatelů a neshromažďujeme žádné osobní údaje kromě nezbytného minima pro vytvoření a synchronizaci vašeho účtu.","WEBSITE_MAINPAGE_FAQ_006_P2":"Při registraci je k dispozici také režim ${1}Guest${2}, který nevyžaduje žádná data: v tomto režimu se nevolá na náš backend. Je to však na úkor užitečných funkcí, jako je možnost synchronizovat knihovnu napříč zařízeními.","WEBSITE_MAINPAGE_FAQ_007_H1":"Mohu vysílat na televizoru?","WEBSITE_MAINPAGE_FAQ_007_P1":"Ano, podporujeme Chromecast a můžete vysílat jak z počítače, tak z mobilních aplikací (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"Kolik má Stremio doplňků?","WEBSITE_MAINPAGE_FAQ_008_P1":"Od konce roku 2019 je jich více než 50 - více informací najdete v našem katalogu doplňků.","WEBSITE_MAINPAGE_FAQ_009_H1":"Lze Stremio rozšířit nad rámec toho, co je v katalogu doplňků?","WEBSITE_MAINPAGE_FAQ_009_P1":"Ano, měli byste je zkontrolovat: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6}, atd.","WEBSITE_MAINPAGE_FAQ_010_H1":"Jaká zařízení Stremio podporuje?","WEBSITE_MAINPAGE_FAQ_010_P1":"Máme desktopové aplikace pro Windows, Mac a Linux. Pro mobilní zařízení podporujeme Android a iOS, i když mějte na paměti, že iOS má omezené funkce (nepodporuje většinu doplňků).","WEBSITE_MAINPAGE_FAQ_010_P2":"Existuje mnoho zařízení se systémem Android, na kterých můžete spustit Stremio, například NVIDIA Shield a Amazon Fire Stick, ale oficiálně je nepodporujeme.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Můžete do služby Stremio přidat určitý obsah?","WEBSITE_MAINPAGE_FAQ_011_P1":"Omlouváme se, ale sami neposkytujeme žádný obsah, ale čím více doplňků Stremio máte nainstalováno, tím více obsahu budete moci najít.","WEBSITE_MAINPAGE_FAQ_012_H1":"Umí Stremio přehrávat magnetické odkazy?","WEBSITE_MAINPAGE_FAQ_012_P1":"Ano, a umí také přehrávat běžné odkazy HTTP a soubory torrent (přetažením).","WEBSITE_MAINPAGE_FAQ_013_H1":"Mohu si video stáhnout a sledovat ho offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Funkce dostupná offline je připravovaná, ale pokud povolíte, aby Stremio ukládalo videa do mezipaměti ve vašem zařízení (na panelu nastavení), můžete je později sledovat bez připojení.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nic nefunguje, pomozte mi!","WEBSITE_MAINPAGE_FAQ_014_P1":"Jste si jisti, že máte nainstalované doplňky? Pokud ano, obraťte se na naše ${1}pomocné centrum${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"Jak Stremio udržuje své vývojové operace?","WEBSITE_MAINPAGE_FAQ_015_P1":"Občas spouštíme nevtíravé reklamy, ale zvažujeme přechod na model dárcovství.","WEBSITE_MAINPAGE_FAQ_015_P2":"Další dotazy naleznete v našem ${1}pomocném centru${2}.","HELP_LEARN_MORE":"Pomozte nám dozvědět se o vás více.","LIFESTYLE":"Životní styl","SPORTS":"Sporty","FOOD_HEALTH":"Potraviny a zdraví","BEAUTY_FASHION":"Krása a móda","NEWS":"Novinky","GAMING":"Hry","SCIENCE_EDUCATION":"Věda & vzdělávání","MUSIC":"Hudba","TRAVEL":"Cestovní kancelář","LATE_NIGHT":"Pozdní noc","REALITY":"Realita","COMEDY":"Komedie","DIY":"Jak na kutilství","TECH":"Tech","CINEMA":"Kino","CONTINUE":"Pokračovat","SLOW_LOADING":"POMALÉ NAČÍTÁNÍ?","I_GIVE_UP":"VZDÁVÁM SE","LEARN_MORE":"Zjistit více","POOR_SOURCE":"Tento zdroj je špatně dostupný nebo vaše internetové připojení není dostatečně rychlé","PICK_CATEGORIES_ERR":"Musíte vybrat alespoň 3 kategorie","ADJUST_TIMING":"Nastavte časování pomocí","ADJUST_SIZE":"Upravte velikost pomocí","SEARCH_ANYTHING":"Můžete vyhledávat cokoli...","ALL_CATEGORIES":"Vše","SEARCH_CATEGORIES":"Filmy, seriály, YouTube a TV","SEARCH_PERSONS":"Herci, režiséři a scénáristé","SEARCH_PROTOCOLS":"HTTP & Magnet Odkazy","SEARCH_TYPES":"Odkazy na IMDB / TVDB","WATCHED":"Sledováno","SHOW_LESS":"Zobrazit méně","LAST_SEARCHES":"Poslední vyhledávání","CLEAR_HISTORY":"Vymazat historii","CHOOSE_SOME":"VYBERTE SI NĚCO Z TOHO:","NO_WEB_REMOTE":"Web Remote nelze načíst","STREMIO_OFFLINE":"Stremio je offline","STREMIO_EXPENSIVE_CONNECTION":"Zjistili jsme, že používáte mobilní datové připojení, chcete pokračovat?","USE_DATA":"Použití dat","WARNING":"Varování","MORE_INFO":"Více informací ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Načítám...","STREMIO_TV_BACK_TO_LANGUAGES":"Zpět na jazyky","STREMIO_TV_REMOTE":"Vzdálený","STREMIO_TV_GO_TO":"Přejít na:","STREMIO_TV_OR_SCAN":"nebo skenování:","STREMIO_TV_ADDON_INSTRUCTIONS":"Při instalaci preferovaných doplňků postupujte podle pokynů.","STREMIO_TV_LIVE_TV":"Živý televizní přenos","STREMIO_TV_RESUME_WATCHING":"Sledování životopisu","STREMIO_TV_LOADING_BACKGROUND":"Načítání pozadí","STREMIO_TV_CHECKING_AUTHENTICATION":"Kontrola ověřování","STREMIO_TV_LOADING_BOARD":"Nakládací deska","STREMIO_TV_LOGIN_HEADER_LINE_1":"Chceme, aby naši uživatelé měli s naším softwarem co nejlepší personalizované zkušenosti.","STREMIO_TV_LOGIN_HEADER_LINE_2":"Z tohoto důvodu vás žádáme, abyste si vytvořili a/nebo se přihlásili ke svému účtu.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Děkujeme za pochopení,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Tým Stremio","STREMIO_TV_REMOTE_INSTRUCTIONS":"Chcete-li používat webový ovladač pomocí chytrého telefonu / tabletu / stolního počítače:","STREMIO_TV_WIFI_SETUP":"Nastavení Wi-Fi","STREMIO_TV_WIFI_HEADER_LINE_1":"Aplikace Stremio Circle nezjistila připojení k internetu.","STREMIO_TV_WIFI_DETAILS_1":"Připojte se k:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Použijte heslo:","STREMIO_TV_WIFI_DETAILS_4":"stremiokruh","STREMIO_TV_WIFI_DETAILS_5":"Otevřete webový prohlížeč s odkazem:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Default","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"Podle posledního zhlédnutí","STREMIO_TV_LIBRARY_SORT_NAME":"Podle názvu","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"Podle počtu zhlédnutí","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Série ${1}","STREMIO_TV_STREAMS_LOADING":"Načteno ${1} / ${2} doplňků...","STREMIO_TV_STREAMS_STILL_LOADING":"Stále se načítá ${1} doplněk...","STREMIO_TV_PLAYER_SETTINGS":"Nastavení přehrávače","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Zpoždění titulků","STREMIO_TV_PLAYER_AUDIO_DELAY":"Zpoždění zvuku","STREMIO_TV_PLAYER_VIDEO_SCALING":"Škálování videa","STREMIO_TV_PLAYER_CHAPTERS":"Kapitoly","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Přeskočit ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Nepodporovaný zdroj streamu","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Chyba při otevírání externího odkazu","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Nelze upravit v režimu audio průchodu","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Přehrát s ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Přehrát s libVLC","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Přepnutí na přehrávač libVLC kvůli chybě přehrávání","STREMIO_TV_ADDONS_TITLE":"Použijte Stremio na vašem telefonu nebo PC k instalaci nebo konfiguraci doplňků a stiskněte „Synchronizovat doplňky“","STREMIO_TV_ADDONS_SUBTITLE":"Poznámka: ujistěte se, že používáte stejný účet Stremio","STREMIO_TV_ADDONS_SYNC_ADDONS":"Synchronizovat doplňky","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Doplňky úspěšně synchronizovány","STREMIO_TV_ADDONS_SYNC_FAILED":"Synchronizace doplňků se nezdařila","STREMIO_TV_META_LINK_FAILED":"Chyba při otevírání meta odkazu","STREMIO_TV_CATALOG_LOADING":"Stále se načítá katalog...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Jazyk rozhraní aktualizován","STREMIO_TV_SETTINGS_THEME_UPDATED":"Téma aktualizováno","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Výchozí přehrávač","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Externí přehrávač","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferovaný jazyk","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Sekundární preferovaný jazyk","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunelované přehrávání","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Možné problémy s přehráváním na některých zařízeních","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Některé formáty videa nemusí fungovat","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Shoda obnovovací frekvence","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Vypnuto","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Pouze obnovovací frekvence","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Obnovovací frekvence a rozlišení","STREMIO_TV_SETTINGS_NO_CACHING":"Bez ukládání do mezipaměti","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Výchozí","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Měkký","STREMIO_TV_SETTINGS_PROFILE_FAST":"Rychlý","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra rychlý","STREMIO_TV_SETTINGS_SERVER_URL":"URL streamovacího serveru","STREMIO_TV_SETTINGS_SERVER_VERSION":"Verze serveru","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Neznámé","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Verze Stremio","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Upravit URL serveru","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Zadejte URL streamovacího serveru","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Zobrazovat statistiky během načítání","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"Chcete-li si přečíst Zásady ochrany osobních údajů Stremio, navštivte:","STREMIO_TV_SETTINGS_TOS_TEXT":"Chcete-li si přečíst Podmínky používání Stremio, navštivte:","STREMIO_TV_NAV_SEARCH":"Najít","STREMIO_TV_NAV_HOME":"Domů","STREMIO_TV_NAV_DISCOVER":"Objevovat","STREMIO_TV_NAV_LIBRARY":"Knihovna","STREMIO_TV_NAV_MOVIES":"Filmy","STREMIO_TV_NAV_SERIES":"Seriály","STREMIO_TV_NAV_CHANNELS":"Kanály","STREMIO_TV_NAV_TV":"TV","STREMIO_TV_NAV_SETTINGS":"Nastavení","STREMIO_TV_NAV_ADDONS":"Doplňky","STREMIO_TV_LOGIN_TITLE":"Propojit účet","STREMIO_TV_LOGIN_EXPIRES_IN":"Vyprší","STREMIO_TV_LOGIN_STEP_ONE":"Naskenujte QR kód nebo přejděte na","STREMIO_TV_LOGIN_STEP_TWO":"Přihlašte se do svého Stremio účtu","STREMIO_TV_LOGIN_NEW_LINK":"Vyžádat nový odkaz","STREMIO_TV_LOGIN_LINK_REFRESHED":"Přihlašovací kód byl obnoven","STREMIO_TV_SEARCH_PLACEHOLDER":"Napište něco","STREMIO_TV_SEARCH_NO_ADDONS":"Nebyly vyžádány žádné doplňky pro katalogy","STREMIO_TV_SEARCH_BUTTON":"Vyhledat","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Mezera","STREMIO_TV_SEARCH_KEY_CLEAR":"Vymazat","STREMIO_TV_SEARCH_HISTORY_TITLE":"Historie vyhledávání","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Můžete vyhledávat názvy, herce, kanály a další","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Vymazat historii vyhledávání","STREMIO_TV_FILTERS_DESCRIPTION":"Vyberte jeden z níže uvedených filtrů","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streamingový server je offline. Zkontrolujte nastavení serveru.","FILTERS":"Filtry","SETTINGS":"Nastavení","ACCOUNT":"Účet","LOGOUT":"Odhlásit se","THEMES":"Témata","PLAYBACK":"Přehrávání","PLAYBACK_SPEED":"Rychlost přehrávání","AUDIO_TRACKS":"Zvukové stopy","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Videa","SERVER":"Server","LINKS":"Odkazy","ABOUT":"O aplikaci","INTERFACE":"Rozhraní","ANIMATIONS":"Animace","STATUS":"Stav","LANGUAGE":"Jazyk","SIZE":"Velikost","DELAY":"Zpoždění","BOLD":"Tučné","OPACITY":"Opacity","TEXT_COLOR":"Barva textu","OUTLINE_COLOR":"Barva obrysu","BACKGROUND_COLOR":"Barva pozadí","BACKGROUND_BLUR":"Zaměření pozadí","SEEK_TIME_DURATION":"Doba přesunu","AUTO_PLAY":"Automatické přehrávání další epizody","PLAY_NOW":"Přehrát nyní","MARK_AS_WATCHED":"Označit jako zhlédnuté","MARK_AS_UNWATCHED":"Označit jako nezhlédnuté","REWIND_TO_BEGINNING":"Zpět na začátek","CONTINUE_WATCHING":"Pokračovat ve sledování","ALL":"Vše","SECONDS":"sekundy","ON":"ON","OFF":"OFF","RELOAD":"Znovu načíst","EDIT_URL":"Upravit URL","NONE":"Žádné","EMBEDDED":"Vložené","REMOTE_SWITCH_DEVICES":"Přepínací zařízení","REMOTE_VIDEOS":"Videa","REMOTE_ADJUST_TIMING":"Nastavení časování","REMOTE_ADJUST_SIZE":"Nastavení velikosti","REMOTE_COULD_NOT_BE_LOADED":"Web Remote nelze načíst","REMOTE_RETRY":"Zkusit znovu","TORRENT_PROFILE_DEFAULT":"Default","TORRENT_PROFILE_SOFT":"Soft","TORRENT_PROFILE_FAST":"Fast","TORRENT_PROFILE_ULTRA_FAST":"Ultra Fast","FAQ_001_H1":"Co je Stremio?","FAQ_001_P1":"Stremio je software mediálního centra navržený pro video zábavu s ohledem na snadné používání. Stremio vám umožňuje organizovat &amp; sledovat vlastní sbírku filmů, seriálů, kanálů a živého televizního vysílání.","FAQ_001_P2":"Stremio shromažďuje obsah, který vám zobrazuje, z vašeho místního disku a z našeho systému doplňků.","FAQ_001_P3":"Upozorní vás také na nové epizody/videa/filmy, které vás zajímají, a doporučí vám filmy.","FAQ_02_H1":"Jak si Stremio vede ve srovnání s Kodi a Plexem?","FAQ_02_P1":"Inspirovali jsme se těmito dvěma softwary. Máme však odlišné cíle - Stremio je zaměřeno speciálně na video pro zábavu a snaží se stát hlavním řešením pro tuto oblast, protože se velmi snadno používá.","FAQ_02_P2":"Stremio nikdy nebude tak přizpůsobitelné a funkčně bohaté jako Kodi a Plex, ale jeho používání je podstatně jednodušší. Stačí ${1} si ho pořídit a uvidíte ${2} :)","FAQ_03_H1":"Jak si Stremio vede ve srovnání s Netflixem?","FAQ_03_P1":"Jednou z našich inspirací je opět Netflix. Snažíme se dosáhnout uživatelského zážitku Netflixu a navíc přidat spoustu dalších vychytávek. Co je však nejdůležitější, dáváme vám svobodu spravovat vlastní knihovnu a přidávat nové zdroje obsahu pomocí našeho systému doplňků.","FAQ_03_P2":"Díky tomu je Stremio nekonečně rozšiřitelné, takže při používání Stremio nejste nikdy omezeni obsahem, který se Netflix rozhodne licencovat. Prostřednictvím služby Stremio můžete například sledovat obsah z ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} a dokonce i ${9}Netflix${10} samotný!","FAQ_04_H1":"Jak si Stremio vede ve srovnání s Flipboardem?","FAQ_04_P1":"Tuto otázku nedostáváme tak často, kromě rozhovorů se začínajícími podnikateli :)","FAQ_04_P2":"Stremio je svým založením agregátor obsahu, což z něj v podstatě dělá Flipboard pro video. To je velmi patrné v sekci Nástěnka, která vám stejně jako Flipboard nabízí katalogy a upozornění na nové epizody/nová videa, která sledujete.","FAQ_05_H1":"Jak si Stremio vede ve srovnání s Popcorn Time?","FAQ_05_P1":"Stremio a Popcorn Time jsou si podobné uživatelským rozhraním, protože není mnoho způsobů, jak udělat katalogy video zábavy správně :)","FAQ_05_P2":"Zatímco Popcorn Time se zaměřuje na streamování torrentů z konkrétních zdrojů, Stremio je bez omezení a je pouze agregátorem obsahu - není vázáno na konkrétní zdroj obsahu.","FAQ_05_P3":"Kromě toho ve výchozím nastavení neposkytujeme žádné doplňky torrentů, takže Stremio nepokrývá případ použití Popcorn Time oficiálními funkcemi.","FAQ_05_P4":"Dalším významným rozdílem je, že Popcorn Time je zcela open source, zatímco Stremio je ${1} částečně open source${2}.","FAQ_06_H1":"Přidáte tento film/seriál?","FAQ_06_P1":"Ne, je mi líto :(","FAQ_06_P2":"Jak je uvedeno ve většině ostatních otázek, Stremio samo o sobě neposkytuje žádný obsah - vše se přidává prostřednictvím systému doplňků. V případě, že máte požadavek na obsah, můžete použít tlačítko \\"Nahlásit\\" v přehrávači, které odešle e-mail autorovi doplňku, který právě používáte.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Vytvoříte doplněk pro X?","FAQ_08_P1":"Je to docela možné.","FAQ_08_P2":"Pokud máte nápad na doplněk, napište nám na ${1}office@stremio.com${2}, ale ujistěte se, že váš nápad na doplněk neporušuje autorská práva ani podmínky používání.","FAQ_08_P3":"V současné době jsou na našem plánu doplňky pro FandangoNOW, Filmon.tv video on demand a Crunchyroll.","FAQ_09_H1":"Používá Stremio BitTorrent?","FAQ_09_P1":"Ano, Stremio podporuje BitTorrent jako streamovací protokol. Ten můžete použít buď pomocí doplňku torrent, nebo přetažením souboru .torrent do aplikace Stremio, případně vložením odkazu na magnet do vyhledávacího panelu.","FAQ_09_P2":"Vezměte prosím na vědomí, že jediným oficiálním doplňkem využívajícím BitTorrent je ${1}Vodo${2}, který poskytuje nezávislý obsah povolený k distribuci pomocí BitTorrentu.","FAQ_09_P3":"Nepodporujeme používání doplňků třetích stran, které by mohly umožnit porušování autorských práv.","FAQ_10_H1":"Co mohu sledovat v aplikaci Stremio s oficiálními doplňky?","FAQ_10_P1":"Ve výchozím nastavení můžete sledovat obsah serverů Filmon.tv, YouTube a Vodo přímo v aplikaci Stremio pomocí vloženého přehrávače. Kromě toho máme doplněk pro Twitch.tv a několik dalších.","FAQ_10_P2":"Tato kombinace nabízí výběr:","FAQ_10_L1":"Oblíbené televizní kanály, které poskytuje Filmon.tv - například E4, BBC, Bollyworld TV","FAQ_10_L2":"Vše z YouTube - například BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Nezávislé filmy s Vodo","FAQ_10_L4":"Online vysílání her pomocí Twitch.tv","FAQ_10_P3":"Kromě toho existuje mnoho zdrojů obsahu poskytovaných pomocí služby Guidebox a doplňků Netflix, které se <b>nepřehrávají</b> zcela uvnitř služby Stremio, ale přesměrovávají se na danou službu. Například doplněk Guidebox by vám poskytl výběr filmů, které můžete v USA streamovat zdarma, ze služeb jako TubiTV a Crackle.","FAQ_11_H1":"Stremio se nechce nainstalovat, co mám dělat?","FAQ_11_P1":"Pokud používáte Windows, zkuste ${1}tento alternativní instalátor${2}.","FAQ_11_P2":"Pokud používáte systém Mac OS X, upozorňujeme, že nepodporujeme nic staršího než OS X Mavericks (10.9).","FAQ_11_P3":"Pokud používáte Linux, vězte, že v současné době podporujeme pouze 64bitový (x64) Linux.","FAQ_11_P4":"Pokud se vám stále nedaří vyřešit váš problém, napište nám na naši ${1}Facebookovou skupinu${2}.","FAQ_12_H1":"Proč si můj antivirový program stěžuje? Je Stremio bezpečné?","FAQ_12_P1":"Ujišťujeme vás, že Stremio je ${1}100% cčistý ${2}.","FAQ_12_P2":"Váš antivirový program si stěžuje, protože v našem instalačním programu je reklama, kterou některé antivirové programy rozpoznávají jako ad-ware.","FAQ_12_P3":"Pokud si stále nejste jisti, můžete vyzkoušet náš ${1}alternativní instalátor${2}.","FAQ_13_H1":"Jak mohu vytvořit doplněk?","FAQ_13_P1":"Pro začátek doporučujeme zkontrolovat náš systémový modul ${1}addons${2} na GitHubu.","FAQ_13_P2":"Poté můžete postupovat podle výukového programu ${1}Hello World${2}.","FAQ_13_P3":"Pokud nemáte žádné programátorské dovednosti, napište svůj nápad na ${1}komunitu Reddit${2} a kontaktujte nás s nápadem na doplněk na ${3}office@stremio.com${4}.","FAQ_14_H1":"Jak se publikují doplňky?","FAQ_14_P1":"Když vytvoříte doplněk a hostitele a do manifestu vložíte pole <b>koncového bodu</b>, které ukazuje na adresu funkčního doplňku, doplněk se automaticky zveřejní v našem katalogu ${1}Addon catalogue${2}.","FAQ_14_P2":"K tomu dochází proto, že serverová část modulu stremio-addons automaticky volá naše rozhraní API a oznamuje doplněk. Jakmile naše rozhraní API potvrdí váš <b>koncový bod</b> jako platný doplněk, začne se zobrazovat v katalogu.","FAQ_15_H1":"Mohu spustit Stremio v prohlížeči?","FAQ_15_P1":"Momentálně ne, ale už se to blíží!","FAQ_15_P2":"Pokud jste zvědaví na verzi Alpha, můžete si ji prohlédnout zde: ${1}alpha4.strem.io${2}. Mějte na paměti, že streamování je v této alfě vypnuté. Podporujeme prohlížeče Chrome, Firefox, Opera a Edge.","FAQ_16_H1":"Casting do TV nefunguje / titulky nefungují","FAQ_16_P1":"Odesílání do televizoru využívá technologii DLNA, která je u různých značek a modelů televizorů velmi nejednotná. Z tohoto důvodu nemáme možnost testovat ji ve všech případech, takže zdaleka není dokonalá. Přesto na jejím vylepšování neustále pracujeme, ale nemůžeme vám poskytnout časový odhad, kdy DLNA začne s vaším televizorem správně fungovat.","FAQ_16_P2":"Pokud se televizor nezobrazuje ani v nabídce obsazení, zkuste zakázat síťové připojení a znovu jej povolit (v systému Windows klikněte pravým tlačítkem myši na položku Síť a použijte příkaz Povolit/Zakázat) a restartujte směrovač, televizor a počítač.","FAQ_16_P3":"Pokud se stále potýkáte s problémy, můžete nám pomoci zasláním informací o značce a modelu televizoru na adresu ${1}office@stremio.com${2}.","FAQ_16_P4":"Do té doby doporučujeme Chromecast, který velmi dobře podporujeme, nebo jednoduše připojit televizor k počítači pomocí kabelu HDMI.","FAQ_17_H1":"Co mám dělat, když Stremio zamrzne a/nebo spadne?","FAQ_17_P1":"Pokud používáte systém Windows 7 s antivirovým programem AVG, máme s touto kombinací problém. Problém je v samotném AVG a na naší straně neexistuje žádný rozumný způsob, jak jej vyřešit. Výjimky ani vypnutí antiviru bohužel nepomohou. Jediným řešením je nahradit AVG něčím jiným.","FAQ_17_P2":"Pokud to není problém, ale stále používáte systém Windows, aktualizujte jej na nejnovější servisní balíček a aktualizujte/přeinstalujte ovladače grafického procesoru a pak to zkuste znovu.","FAQ_17_P3":"Pokud problém stále není vyřešen nebo používáte Mac či Linux, napište nám přesné informace o problému na ${1}naší skupinu na Facebooku${2}.","FAQ_18_H1":"Jak mohu vytvořit doplněk?","FAQ_18_P1":"Pro začátek doporučujeme zkontrolovat náš systémový modul ${1}addons${2} na GitHubu.","FAQ_18_P2":"Poté můžete postupovat podle výukového programu ${1}Hello World${2}.","FAQ_18_P3":"Pokud nemáte žádné programátorské dovednosti, napište svůj nápad na ${1}komunitu Reddit${2} a kontaktujte nás s nápadem na doplněk na ${3}office@stremio.com${4}.","FAQ_19_H1":"Proč Stremio zabírá místo na disku?","FAQ_19_P1":"Stremio má <b>místní mezipaměť pro</b> dočasné uchovávání streamovaných video souborů.","FAQ_19_P2":"To má dvě výhody: zaprvé umožňuje Stremio předem vyrovnat video do vyrovnávací paměti, aby bylo zajištěno plynulejší streamování. Zadruhé uchovává videa v místní mezipaměti, takže je můžete dále sledovat offline.","FAQ_19_P3":"Množství, které Stremio uchovává, závisí na nastavení <b>vyrovnávací paměti</b> na panelu Nastavení. Stremio může na vašem disku uchovávat až nastavené množství (např. 2 GB), pokud není aktuálně streamované video větší než toto množství, v takovém případě musí vyčlenit dostatek úložného prostoru, aby jej uchoval až do doby, kdy jej budete streamovat.","FAQ_20_H1":"Kde se nachází složka mezipaměti?","FAQ_20_P1":"V systému Windows je to stremio-cache v jednotce, kterou jste vybrali v Nastavení (např. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"V systému MacOS je to \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"V systému Linux je to \\"~/.stremio/stremio-cache\\" nebo \\"~/stremio-cache\\"","FAQ_21_H1":"Zobrazí se mi chyba \\"Streaming server nebyl nalezen\\", co mám dělat?","FAQ_21_P1":"Pokud se vám tato chyba zobrazí, znamená to jednu z několika možností:","FAQ_21_P2":"1) Snažíte se použít doplněk podporovaný zdrojem YouTube/BitTorrent prostřednictvím naší verze ${1}web${2}. V takovém případě byste si měli nainstalovat naši verzi pro stolní počítače z ${3}našich webových stránek${4}.","FAQ_21_P3":"2) Něco je špatně s vaší instalací Stremio. V takovém případě zkuste znovu nainstalovat naši nejnovější verzi pro stolní počítače z ${1}webové stránky${2}. Pokud to nepomůže, zkuste vypnout antivirové programy a brány firewall, restartovat počítač a zkusit to znovu. Pokud ani to nepomůže, napište nám do naší ${3}skupiny na Facebooku${4}.","FAQ_22_H1":"Většinu doplňků v systému iOS nevidím/používám","FAQ_22_P1":"Vzhledem k omezením v podmínkách obchodu Apple App Store jsme aplikaci pro iOS omezili pouze na určitou sadu doplňků.","FAQ_22_P2":"Ale buďte si jisti - v budoucnu se objeví další doplňky pro iOS a možná přidáme také integraci, která vám umožní používat všechny doplňky Stremio díky připojení aplikace iOS ke Stremio Streaming Serveru."}')},4806:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Film","TYPE_series":"Serie","TYPE_tv":"Kanal","TYPE_channel":"Kanal","TYPE_other":"Andet","TYPE_movie_PL":"Film","TYPE_series_PL":"Serier","TYPE_tv_PL":"TV","TYPE_channel_PL":"YouTube","TYPE_other_PL":"Andrer","TYPE_ALL":"All","TYPE":"Type","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"Video","BACK":"Tilbage","MORE":"Mere","DONE":"Færdig","COPY":"Copy","SUCCESS":"Success","ERROR":"Error","SETTINGS_CASTING_MODE_PICKER":"Casting mode","CASTING_MODE_HLSV2":"Default","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"No transcoding","Discover":"Opdag","Board":"Væg","Library":"Bibliotek","My Library":"Mit Bibliotek","Calendar":"Kalender","NOTIFICATION_ONLINE":"Du er nu online","NOTIFICATION_OFFLINE":"Du er nu offline","INTERNET_CONNECTION":"Netværk forbindelse","STORAGE_FULL_TITLE":"OBS: Ikke mere ledig plads","STORAGE_FULL_TEXT":"Stremio will not be able to save your settings, preferences or login information. Consider re-starting or re-installing Stremio.","SEARCH":"Søg efter","SEARCH_NO_RESULTS":"Ingen resultater fundet","SEARCH_EXPLANATION_CONTENT":"Søg efter film, serier, YouTube og TV kanaler","SEARCH_EXPLANATION_PEOPLE":"Søg efter skuespiller, direktører og forfatterer","SEARCH_PASTE_LINKS":"Paste HTTP and Magnet links","SEARCH_OR_PASTE_LINK":"Search or paste link","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"Tilføj til Bibliotek","REMOVE_FROM_LIB":"Fjern fra Bibliotek","ADDED_TO_LIB":"Tilføjet til Bibliotek","REMOVED_FROM_LIB":"Fjernet fra Bibliotek","TRAILER":"Trailer","WATCH_TRAILER":"Se Trailer","WATCH_NOW":"Afspil","SHOW":"Vis","SHOW_MOVIE":"Vis film","WATCH_RANDOM":"Se tilfældig","IMDB_RATING":"IMDb Bedømmelse","YEAR":"År","DIRECTOR":"Instruktør","WRITER":"Skrevet af","LEAD_ACTORS":"Hovedroller","CAST":"Medvirkende","CREW":"Filmhold","SHOW_MORE_CAST":"Se flere »","AIRED":"Sendt","SEASONS":"Sæsoner","GENRE":"Genre","GENRE_ALL":"All genres","CATALOG":"Katalog","SUMMARY":"Opsummering","SHOW_MORE":"Show More","SIMILAR":"Lignende","UPCOMING":"Kommende","ENDED":"Sluttet","DURATION":"Længde","FEATURED":"Featured","METADATA":"Metadata","CATEGORY":"Kategori","LINKS_GENRES":"Genres","LINKS_CAST":"Cast","LINKS_DIRECTORS":"Directors","SEARCH_VIDEOS":"Søg videoer","SEARCH_PLACEHOLDER":"Søg eller indsæt magnet link","ADDON":"Tilføjelse","ADDONS":"Tilføjelser","OFFICIAL":"Officielle","ADDONS_OFFICIAL":"Officielle Stremio tilføjelser","ADDONS_POPULAR":"Populære nær dig","ADDON_FREE":"Gratis","ADDON_PEERED":"peered","ADDON_SUBSCRIPTION":"Abonnement","ADDON_STREAM_GEORESTRICTED":"Ikke tilgængeligt i dit område","ADDON_STREAM_OFFLINECACHE":"Offline Cache","ADDON_STREAM_LOCALFILE":"Lokal Fil","SHARE_ADDON":"Del tilføjelse","AVAILABLE_STREAMS":"Tilgængelige Streams","NO_STREAM":"Ingen tilgængelige streams","ALL_ADDONS":"All","INSTALL_MORE_ADDONS":"For flere streams, vær venlig at installere flere tilføjelser","STREAM_NOT_SUPPORTED":"Den valgte stream er ikke understøttet på denne platform.","ADDON_CATALOGUE":"Vis alle tilføjelser »","ADDON_CATALOGUE_MORE":"Flere tilføjelser »","REPO_ADDED":"Repository added","ADDON_REPO_EXIST_ERR":"This addons repository already exist","ADDON_REPO_ERR":"Der opstod fejl under tilføjelse af repository","ADDON_ADD_ERR":"Der skete en fejl under tilføjelse af tilføjelsen","ERR_ADDON_PROTECTED":"Beskyttet tilføjelse","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Noget gik galt - authentificering slog måske fejl","ERR_NOT_COLLECTION_URL":"Not a collection url","ERR_NOT_ADDON_URL":"Not an addon url","ERR_DETECTFROMURL":"Cannot detect from url","ADDON_DUPLICATE_WARNING":"Warning: duplicated addon","ADDON_COLLECTION_SET_FAILED":"Addon collection set failed","SETTINGS_DATA_EXPORT":"Export data","ADDON_PULL_FAILED":"Addon pulling failed","REFRESH_ON_CLICK":"Click to retry","STILL_IN_THEATER":"Film stadig i biografen","WATCH_IN_CINEMA":"se den i din lokale biograf","IN_THEATER":"I biografen","GET_TICKETS":"Køb biletter","UPCOMING_EPISODE":"Upcoming episode","UPCOMING_EPISODE_MESSAGE":"This episode will be aired on","MISSING_DATE_EPISODE":"Missing episode date","MISSING_DATE_EPISODE_MESSAGE":"This episode might not have aired yet","CHANNEL_NOT_SCRAPED":"Denne kanal er ikke indekseret endnu.<br>Kom tilbage om et par minutter.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Tilføj til dit bibliotek og bliv notificeret når den er tilgængelig","GET_NOTIFIED_WHEN_AVAILABLE":"Du vil blive notificeret når den er tilgængelig","WARNING_STREAMING_SERVER":"Warning: local streaming server not found. Streaming from YouTube and BitTorrent will not be available.","WARNING_STREAMING_SERVER_DISMISS":"Dismiss","WARNING_STREAMING_SERVER_LATER":"Later","DECODER_WARNING":"Warning: this video may not be supported by your hardware. Keep in mind, playback may be slow.","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"Oops, Player Error","PLAYER_ERROR_LOOKSLIKE":"It looks like","PLAYER_ORIENTATION":"Player orientation","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Locked","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensor","PLAYER_ORIENTATION_LANDSCAPE":"Player orientation locked at landscape","PLAYER_ORIENTATION_SENSOR":"Player orientation automatic (sensor)","PLAYER_PLAYBACK_SPEED":"Playback Speed","PLAYER_PLAYBACK_ERROR":"Playback error, please try again","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Unknown error","PLAYER_PLAYBACK_ERROR_DEFAULT":"Sorry, this video cannot be played by {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Subtitles Languages","PLAYER_SUBTITLES_VARIANTS":"Subtitles Variants","PLAYER_SUBTITLES_SETTINGS":"Subtitles Settings","PLAYER_SUBTITLES_DISABLED":"Subtitles are disabled","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Vertical Position","PLAYER_SUBTITLES_LOADED":"Subtitles loaded","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Embedded subtitles loaded","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Exclusive subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Subtitles from {{origin}} loaded","PLAYER_PLAY":"Play","PLAYER_PAUSE":"Pause","PLAYER_NEXT_VIDEO":"Next Video","PLAYER_MUTE":"Mute","PLAYER_UNMUTE":"Unmute","PLAYER_OPEN_IN_EXTERNAL":"Open in external player","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Play in {{device}}","PLAYER_LIVE":"Live","PLAYER_NEXT_VIDEO_TITLE":"Coming up next on","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Dismiss","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Watch now","PLAYER_COPY_STREAM_SUCCESS":"Stream link was copied to your clipboard","PLAYER_COPY_STREAM_ERROR":"Failed to copy stream link","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","STREAMING_FROM":"streamer fra","CASTING_TO":"Afspiller på","NETWORK_STATUS":"Netværksstatus","STREAM_SPEED":"Hastighed:","STREAM_BUFFERED":"Downloadet:","PEERS_INFO":"Peers Information","PEERS_ACTIVE":"Aktive:","PEERS_CONNECTED":"Forbundet:","PEERS_WAITING":"Venter:","TRANSCODING_WARNING":"Warning: transcoding video.","STREAM_LOADING":"Henter..","PLAYING_LOCAL":"afspiller fra lokal fil","PLAYING_CACHE":"afspiller fra cache","WRONG_SUBS":"Forkert tekst?","ERR_SUBS_LOADING_TITLE":"Fejl under indlæsning af undertekster","ERR_SUBS_LOADING":"Kunne ikke indlæse undertekster: det kunne være et problem med tilføjelsen du bruger eller med din netværk forbindelse","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Følgende underteksts tilføjelse fejlede","ERR_CASTING_UPDATE_TITLE":"Kunne ikke opdatere casting enheds info: streaming serveren er måske offline","CHOOSE_DEVICE":"Vælg enhed at afspille på","NO_CAST_DEVICES":"Ingen casting enheder tilgængelige.","NO_SETTINGS":"Ingen instillinger tilgængelige.","PHONE_TABLET":"Telefon / Tablet","SUBTITLES":"Undertekster","SUBTITLES_CHANGE":"Ændre undertekster","SUBTITLES_CHANGE_NONE":"Der er ikke flere undertekster til dette sprog, desværre.","SUBTITLES_CHANGE_ACIVE":"Undertekst &#35;{{subtitlesDialog.activeIdx + 1}} er aktiveret. Klik \\"Forsæt\\" for at aktivere &#35;{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Alternativt,","SUBTITLES_ADJUST_DELAY":"Juster undertekst forsinkelse:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Eller brug <span>G</span> / <span>H</span> taster under afspilning for at justere.","SUBTITLES_ADJUST_DELAY_TIP":"TIP: du kan bruge <span>G</span> / <span>H</span> taster under afspilning for at justere.","SUBTITLES_DELAY":"Undertekst forsinkelse:","SUBTITLES_LOADING":"Indlæser undertekster...","SUBTITLES_UNAVAILABLE":"Ingen eksterne undertekster tilgængelige","SUBTITLES_DISABLED":"Slået fra","EXTERNAL_PLAYER_DISABLED":"Disabled","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Allow Choosing","EXTERNAL_PLAYER_HINT":"Hint: There is a setting to allow always opening with external player","DONT_SHOW_AGAIN":"Don\'t show again","SERVICE_INSTALL":"Install","AUDIO":"Lyd","DEFAULT_LANGUAGE":"Default Language","DEFAULT_SECONDARY_LANGUAGE":"Default Secondary Language","SEASON":"Sæson","EPISODE":"Episode","EPISODE_ABBREVIATION":"EP","SPECIAL":"Special","SORT":"sort","SORT_BY":"Sort by","FILTER":"filter","SORT_TRENDING":"tendens","SORT_RECENT":"seneste","SORT_ALPHABET":"alfabetisk","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"bedømmelser","SORT_WATCHED":"set","SORT_YEAR":"år","SELECT_TYPE":"Select type","SELECT_SORT":"Select sort","SELECT_CATALOG":"Select catalog","SELECT_GENRE":"Select genre","SORT_LASTWATCHED":"By last watched","SORT_NAME":"By name","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"By times watched","SORT_NOTWATCHED":"not watched","New for You":"Nyt til dig","New Episodes":"Nye episoder","New Videos":"Nye Videoer","Recommendations":"Anbefalinger","LIBRARY_RESUME":"Genoptag","LIBRARY_PLAY":"Play","LIBRARY_DETAILS":"Detaljer","LIBRARY_RESUME_DISMISS":"Afvis","LIBRARY_CLEAR_PROGRESS":"Clear Progress","LIBRARY_REMOVE":"Remove","LIBRARY_NOT_LOGGED_IN":"Library is only available for logged in users","CALENDAR_NOT_LOGGED_IN":"Calendar is only available for logged in users","NOT_LOGGED_IN_CLOUD":"Access your favorite movies and TV shows anytime, anywhere","NOT_LOGGED_IN_RECOMMENDATIONS":"Recommendations tailored to your viewing history","NOT_LOGGED_IN_NOTIFICATIONS":"Never miss an episode again","NOT_LOGGED_IN_CALENDAR":"Schedule your personal watching calendar","DISCOVER_FEATURED":"Indhold","DISCOVER_TOP":"Populære","DISCOVER_OSCAR":"Oscar Vindere","DISCOVER_WARNING_TITLE":"Ups!","DISCOVER_EMPTY_CATALOG":"Tilføjelsen returnerede tomt indhold.","DISCOVER_ADULT_WARNING":"Inholdet er kun synligt for voksne. Er du 18+?","DISCOVER_NOADDON_WARNING":"Advarsel: intet Stremio tilføjelse aktiveret for denne type. Viser gemte ting, intet vil blive opdateret.","DISCOVER_LOAD_ERR":"Indholdet kunne ikke indlæses, fejl opstået.","DISCOVER_ADDON_UNINSTALLED":"Indholdet er ikke længere tilgængeligt, måske har du afinstalleret tilføjelsen.","UNINSTALL_THIS_ADDON":"Afinstaler tilføjelsen","ERR_ADDON_NOT_INSTALLED":"Tilføjelsen er ikke instaleret. Instaler nu?","DETAIL_RECEIVE_NOTIF_SERIES":"Modtag notifikationer for nye episoder","DETAIL_RECEIVE_NOTIF_VIDEOS":"Modtag notificationer for nye videoer","SIDEBAR_SHOW_STREAMS":"Vis streams","RELAUNCH":"Genindlæs nu!","UPGRADE":"Opdater til seneste Stremio version","RELOAD_UI":"Genindlæs brugerflade","MANUAL_UPDATE_TITLE":"Opdater din Stremio version","MANUAL_UPDATE_LINE1":"Du kører en gammel version af Stremio hvilket ikke er anbefalet.","MANUAL_UPDATE_LINE2":"Opdater venligst så hurtigt som muligt.","BUTTON_UPDATE_LATTER":"Ikke nu","BUTTON_UPDATE_NOW":"Opdater","ANONYMOUS_USER":"Anonym bruger","DONT_HAVE_ACC":"Har du ikke en konto?","HAVE_ACC":"Har du allerede en konto?","PASSWORD":"Adgangskode","PASSWORD_CONFIRM":"Bekræft adgangskode","EMAIL":"E-mail","FB_LOGIN":"Login med Facebook","FB_NOTHINGSHARED":"Intet bliver delt uden din tilladelse","FB_NOPOST":"Vi slår aldrig noget op på dine vegne","OR":"eller","I_ACCEPT":"Jeg accepterer","I_ACCEPT_BY_CLICKING":"Ved at klikke overstående knap bekræfter jeg at jeg accepterer ","TOS":"Betingelser","MUST_ACCEPT_TERMS":"You must accept terms","PASSWORDS_NOMATCH":"Kodeord ikke korrekt","SIGN_UP":"Opret","SIGN_UP_EMAIL":"Tilmeld med email","CLICK_TO_SIGN_UP":"Klik her for at tilmelde dig.","LOG_IN":"Log ind","LOG_OUT":"Log ud","EXIT_FULLSCREEN":"Exit fullscreen mode","ENTER_FULLSCREEN":"Enter fullscreen mode","PLAY_URL_MAGNET_LINK":"Play URL/Magnet link","HELP_FEEDBACK":"Hjælp & Feedback","TERMS_OF_SERVICE":"Terms of Service","PRIVACY_POLICY":"Privacy Policy","ABOUT_STREMIO":"Om Stremio","USER_PANEL":"Bruger Panel","LOGIN_LABEL":"Login","GUEST_LOGIN":"Gæste log ind","GUEST_LOGIN_NOTICE":"Guest Login is not recommended. Using a regular login allows Stremio to sync your Library, receive notifications for favourite series/channels. Are you sure you want to proceed?","GUEST_LOGIN_NOTICE_2":"Guest Login is not recommended - you won\'t have synced Library and Board notifications, which are vital Stremio features. Are you sure you want to proceed?","CLICK_HERE":"Klik her","WRONG_PASSWORD":"Forkert kodeord. Har du glemt dit kodeord, ","SET_A_PASS":"Vælg kodeord","RESET_PASSWORD":"Reset kodeord","FORGOT_PASSWORD":"Glemt kodeord?","EMAIL_USED_WITH_FB":"Denne email er brugt til Facebook log ind.","INVALID_EMAIL":"Venligst intast en gyldig email addresse","INVALID_PASSWORD":"Venligst indtast et gyldigt kodeord","CONN_ERR":"Forbindelse fejl - Prøv igen senere.\\n\\nHvis fejl forsætter, deaktiver firewalls/anti-virus software (specielt Bitdefender).","IMPORT_FROM_GUEST":"Importer bibliotek fra din gæstekonto","RECEIVE_UPDATES_EMAIL":"Modtag opdateringer til din email fra Stremio","LOGIN_FAILED":"Login fejlede.","SIGNUP_FAILED":"Tilmelding fejlede.","SEARCH_FAILED":"Søgning fejlede","EMAIL_USED":"Denne email er allerede i brug.","WAITING_FB_LOGIN":"Logger ind med Facebook...","EXTERNAL_PLAYER_TITLE":"Afspil i extern afspiller","EXTERNAL_REMEMBER_PLAYER":"Husk valg?","EXTERNAL_ALWAYS_PLAY":"Ja","EXTERNAL_ONLY_ONCE":"Nej","BEST_FIT":"Best Fit","FIT_SCREEN":"Fit Screen","FILL":"Fill","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"Fortæl os hvad du godt kan lide","INTRO_TASTE_LONG":"Fortæl os om hvad du gerne vil se","INTRO_TASTE_PICK":"Vælg {{interestsRemaining}} interesser","INTRO_TASTE_PICK_MORE":"Vælg {{interestsRemaining}} flere interesser","INTRO_TASTE_HELP_US":"Hjælp os med at lære mere om dig.","INTRO_TASTE_CHOOSE_THESE":"Vælg nogle af disse:","INTRO_TASTE_CHOOSE_MIN":"Vælg mindst 3 kategorier","INTRO_TASTE_CHOOSE_MIN_ERR":"Du skal vælge mindst 3 kategorier!","INTRO_TASTE_LIFESTYLE":"Livsstil","INTRO_TASTE_SPORTS":"Sport","INTRO_TASTE_FOOD_HEALTH":"Mad & Sunhed","INTRO_TASTE_BEAUTY_FASHION":"Skønhed & Mode","INTRO_TASTE_NEWS":"Nyheder","INTRO_TASTE_GAMING":"Gaming","INTRO_TASTE_SCIENCE_EDU":"Videnskab & Uddannelse","INTRO_TASTE_MUSIC":"Musik","INTRO_TASTE_TRAVEL":"Rejse","INTRO_TASTE_LATE_NIGHT":"Late Night Show","INTRO_TASTE_REALITY":"Reality","INTRO_TASTE_COMEDY":"Komedie","INTRO_TASTE_DIY":"Gør det selv","INTRO_TASTE_TECH":"Tech","INTRO_TASTE_CINEMA":"Biograf","ADDON_NOT_SUPPORTED":"Den valgte tilføjelse er ikke understøttet på denne platform.","ADDON_DISCLAIMER":"Brug af tredjeparts tilføjelser vil altid være dit eget ansvar og love og regler kan være forskellige fra land til land.","ADDON_ACTIVATE":"Aktiver denne tilføjelse?","ADDON_REPO_ADD":"Addon repository url","ADDON_ADD":"Add","INSTALL_ADDON":"Install addon","ADD_ADDON":"Add addon","ADD_ADDON_DESCRIPTION":"You can add an addon via an external link, which will appear under Installed addons.","PASTE_ADDON_URL":"Paste addon URL","WHATS_NEW":"Hvad er nyt","BUTTON_CONTINUE":"Fortsæt","BUTTON_ACTIVATE":"Aktiver","BUTTON_ACTIVATED":"Activated","BUTTON_CANCEL":"Annuller","BUTTON_SUBMIT":"Submit","BUTTON_DISMISS_ALL":"Dismiss All","BUTTON_VIEW_ALL":"view all","BUTTON_SEE_ALL":"See All","BUTTON_COLOR_TRANSPARENT":"Transparent","OPEN_IN_BROWSER":"Open in browser","LIB_EMPTY":"Dit bibliotek er tomt. Find ud af hvor brugbart det er :) ","HOW_START":"Tilføj indhold til dit bibliotek","LIB_EMPTY_CAL":"Din kalender viser serier fra dit bibliotek.","HOW_START_CAL":"Tilføj indhold til dit bibliotek","LIB_EMPTY_BOARD":"Din væg viser notifikationer &amp; anbefalinger relateret til dit bibliotek.","HOW_START_BOARD_WAIT":"Tilføj indhold til dit bibliotek og vent et par minutter til indholdet er opdateret :)","HOW_START_BOARD":"Sådan tilføjer du indhold","IMPORT_FB":"Importer ting du kan lide fra <span>Facebook</span>","IMPORT_TRAKT":"Import your media library from <span>Trakt</span>","IMPORT_DISCOVER":"Find interessante ting fra <span>Opdag</span>","IMPORT_DISK":"Importer film og serier fra din <span>computer</span>","PLEASE_CREATE_ACC":"Venligst <u>opret en konto</u> for at aktivere Bibliotek &amp; Væg.","IMPORT_DISCOVER_SIGNUP":"Sign up and find interesting stuff from <span>Discover</span>","IMPORT_DISK_SIGNUP":"Sigm up and import movies or shows you have on your <span>local disk</span>","LIB_EMPTY_CLOUD":"Cloud library","LIB_EMPTY_CLOUD_DESC":"Personal cloud library synced on all devices","LIB_EMPTY_EARLY":"Early bird","LIB_EMPTY_EARLY_DESC":"Receive notifications for new episodes","LIB_EMPTY_PERSONAL":"Personal","LIB_EMPTY_PERSONAL_DESC":"Get personal recommendations","LIB_EMPTY_CALENDAR_DESC":"Schedule your personal watching calendar","LIB_EMPTY_ALL":"Sign up to get all of these:","LIB_EMPTY_BEST":"Sign up to get best of Stremio","LIB_EMPTY_OTHER":"Sign up to enable Calendar & other cool features","CALENDAR_ADDED":"The Stremio calendar has been added to your default desktop calendar.","CALENDAR_ADDED_MSG":"If this does not work, please add this URL to your calendar application manually","TRAKT_EXPIRED":"Trakt authentication expired, please go to Settings and re-authenticate","TRAKT_REQUIRES_LOGIN":"Trakt error","TRAKT_REQUIRES_LOGIN_MSG":"You need to login","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","SETTINGS_LABEL":"Settings","SETTINGS_NAV_GENERAL":"General","SETTINGS_NAV_PLAYER":"Player","SETTINGS_NAV_STREAMING":"Streaming","SETTINGS_NAV_SHORTCUTS":"Shortcuts","SETTINGS_SHORTCUT_RELOAD_APP":"Reload App","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Open Settings","SETTINGS_SHORTCUT_SWITCH_TABS":"Switch Tabs","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Cycle Through Tabs Forward","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Cycle Through Tabs Backward","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigate Between Menus","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Go to Search","SETTINGS_SHORTCUT_EXIT_BACK":"Exit / Go Back","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Toggle Playback Speed Menu","SETTINGS_SHORTCUT_MENU_VIDEOS":"Toggle Videos Menu","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Toggle Subtitles Menu","SETTINGS_SHORTCUT_MENU_INFO":"Toggle Info Menu","SETTINGS_SHORTCUT_FULLSCREEN":"Toggle Fullscreen","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Show Controls","SETTINGS_SHORTCUT_PLAY_PAUSE":"Play / Pause","SETTINGS_SHORTCUT_VOLUME_UP":"Volume Up","SETTINGS_SHORTCUT_VOLUME_DOWN":"Volume Down","SETTINGS_SHORTCUT_SEEK_NEXT":"Seek Next","SETTINGS_SHORTCUT_SEEK_PREV":"Seek Prev","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Seek Backward","SETTINGS_SHORTCUT_SEEK_FORWARD":"Seek Forward","SETTINGS_SHORTCUT_PLAY_NEXT":"Play Next","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Increase Subtitles Size","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Decrease Subtitles Size","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Increase Subtitles Delay","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Decrease Subtitles Delay","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Toggle Sidebar","SETTINGS_SHORTCUT_OR":"or","SETTINGS_SHORTCUT_TO":"to","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Authenticate","SETTINGS_FACEBOOK_IMPORT":"Import","SETTINGS_CALENDAR_SUBSCRIBE":"Subscribe","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Interface Language","SETTINGS_LAUNCH_STARTUP":"Kør ved opstart","SETTINGS_VLC_DEFAULT":"Play with VLC","SETTINGS_UI_LANGUAGE":"UI Language","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Escape key exit full screen","SETTINGS_GAMEPAD":"Enable gamepad support","SETTINGS_CLOSE_WINDOW":"Close app when window is closed","SETTINGS_SUBTITLES_LANGUAGE":"Default Subtitles Language","SETTINGS_SUBTITLES_SIZE":"Default Subtitles Size","SETTINGS_SUBTITLES_BACKGROUND":"Subtitles background","SETTINGS_SUBTITLES_COLOR":"Subtitles color","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Subtitles outline color","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Subtitles background color","SETTINGS_SEEK_KEY":"Arrow keys seek time","SETTINGS_SEEK_KEY_SHIFT":"Arrow keys seek time when Shift key is held","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Rewind & Fast-forward duration","SETTINGS_BINGE":"Auto-play next episode","SETTINGS_NEXT_VIDEO":"Show notification to start next episode","SETTINGS_NEXT_VIDEO_TRIGGER":"Show next episode notification for:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Next video popup duration","SETTINGS_PLAY_IN_BACKGROUND":"Play in background","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Play in external player","SETTINGS_RESIZE":"Auto-resize window before playing","SETTINGS_OVERRIDE_SERVER":"Override the streaming server URL (advanced)","SETTINGS_SERVER_URL":"Streaming server URL: ","SETTINGS_SERVER_AVAILABLE":"Streaming server is available.","SETTINGS_SERVER_UNAVAILABLE":"Streaming server is not available.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Error","SETTINGS_SERVER_CONFIGURE_TITLE":"Configure streaming server url","SETTINGS_SERVER_CONFIGURE_INPUT":"Enter a streaming server url","SETTINGS_SERVER_CACHE_SIZE":"Cache size","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent profile","SETTINGS_HTTPS_ENDPOINT":"Streaming HTTPS endpoint: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Always use latest Beta","SETTINGS_IMPORT_FB":"Importer fra Facebook","SETTINGS_IMPORT_DISK":"Importer fra computer","SETTINGS_IMPORT_TRAKT":"Import from Trakt","SETTINGS_PAUSE_MINIMIZED":"Pause playback when minimized","SETTINGS_HWDEC":"Hardware-accelerated decoding","SETTINGS_BACKGROUND":"Background playback","SETTINGS_SUBSCRIBE_CALENDAR":"Abonner på kalender","SETTINGS_REQ_EXPORT":"Request data export","SETTINGS_ACC_DELETE":"Request account deletion","SETTINGS_CHANGE_PASSWORD":"Ændre kodeord","SETTINGS_TOS":"Servicevilkår","SETTINGS_SUPPORT":"Kontakt support","SETTING_LANGUAGE":"Sprog","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_LOGOUT":"Log out of Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Log Out of Trakt","SETTINGS_SCAN_FOR_REMOTE":"Scan QR code to open remote","SETTINGS_DESKTOP_NOTIFICATIONS":"Desktop notifications","SETTINGS_DATA_SAVER":"Data saver","SETTINGS_LANGUAGE_INTERFACE":"interface","SETTINGS_LANGUAGE_SUBS":"default subtitles","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Autoselect Audio Track","SETTINGS_DEFAULT_AUDIO_TRACK":"Default Audio Track","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"account","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"version","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"Launch player in a separate window (advanced)","SETTINGS_PLAY_IN_EXTERNAL":"Always start video in external player","SETTINGS_STORAGE_BUTTON":"Clear Local Storage","SETTINGS_STORAGE_MODAL_TITLE":"Are you sure ?","SETTINGS_STORAGE_MODAL_MESSAGE":"This will clear the local storage and log you out.","SETTINGS_HWDEC_PICKER":"Pick hardware-accelerated decoding setting","SETTINGS_HW_AUTOMATIC":"Automatic","SETTINGS_HW_DISABLED":"Disabled","SETTINGS_HW_ACCELERATED":"Decoding acceleration","SETTINGS_HW_FULL":"Full acceleration","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Subtitles","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Controls","SETTINGS_SECTION_AUTO_PLAY":"Auto-Play","SETTINGS_SECTION_ADVANCED":"Advanced","SUBSPICKER_AUDIO":"Audio","SUBSPICKER_SUBTITLES":"Addons Subtitles","SUBSPICKER_BLACK_BACKGROUND":"Use black background color","SUBSPICKER_VERTICAL_OFFSET":"Vertical Offset","SUBSPICKER_SIZE":"Size","SUBSPICKER_DELAY":"Delay","SUBSPICKER_EMBEDDED_SUBS":"Embedded Subtitles","MOBILE_PRIVACY_POLICY":"Privacy Policy","MOBILE_CRASH_REPORTING":"Crash Reporting","MOBILE_ZOOM_TO_FILL":"Zoom To Fill Screen","MOBILE_PASSTHROUGH":"Digital audio output (passthrough)","MOBILE_RUN_LOW_BATTERY":"Run on low battery","MOBILE_RUN_FOREGROUND":"Run as Foreground Service","MOBILE_PERFORMANCE":"PERFORMANCE & STABILITY","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"QR Code expires in ","MOBILE_LOG_INTO":"Log in to your Stremio account ","MOBILE_SCAN_QR":"Scan QR code above or go to ","MOBILE_LINK_ACCOUNT":"Link Account","MOBILE_SPEEDPICKER_CANCEL":"Cancel","MOBILE_SPEEDPICKER_LABEL":"Select Playback Speed","MOBILE_EMPTY_LIBRARY":"Your library is empty","MOBILE_NO_ADDON_ACTIVE":"No Stremio addon active for this type.","MOBILE_ORGANIZER_WARNING":"The Stremio Organizer app provides limited functionality. For a list of playable streams and the full Stremio experience, use Stremio on desktop.","MOBILE_ADDON_LOADING":"is still loading","MOBILE_ADDONS_LOADING":"addons are still loading","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Configure your addon","MOBILE_CONFIGURE_ADDON_LABEL":"Configure Addon","MOBILE_ORGANIZER_ADDONS_WARNING":"The Stremio Organizer app provides a limited selection of addons. For the full Stremio experience, use Stremio on desktop.","MOBILE_DISCONNECT":"Disconnect","MOBILE_LOOKING_FOR_DEVICES":"Looking for devices...","MOBILE_CAST_TO":"Cast to","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Delete Account","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Account deletion is not instant due to legal obligations. After requesting deletion of your account you will have to use different email address/facebook profile to create a new Stremio account in the future.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirm Account Deletion","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Your account has been created using Facebook. To delete your account, please use our user portal at www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Please provide your password to confirm account deletion.","MOBILE_DELETE_ACCOUNT_BUTTON":"Delete Account","NAVIGATION_ON":"On","NAVIGATION_OFF":"Off","MARKETING_AGREE":"I agree to receive marketing communications from Stremio","QUIT":"Afslut","CONNECTED":"Connected","AUTHENTICATE":"Godkend","CACHING":"Caching","SETTINGS_CACHING_DRIVE":"Vælg caching drev","ENABLE_LOCAL_FILES_ADDON":"Enable the local files addon (requires restart)","LOCAL_ADDON_NOT_ENABLED":"Local addon is not enabled. Click here to go to the settings and enable it","ENABLE_REMOTE_HTTPS_CONN":"Enable remote HTTPS connections","TORRENT_PROFILE":"Torrent Profile","DATA_CACHING":"Data Caching","MAGNET_PARSING":"Parsing a magnet link","January":"Januar","February":"Februar","March":"Marts","April":"April","May":"Maj","June":"Juni","July":"Juli","August":"August","September":"September","October":"Oktober","November":"November","December":"December","Monday":"Mandag","Tuesday":"Tirsdag","Wednesday":"Onsdag","Thursday":"Torsdag","Friday":"Fredag","Saturday":"Lørdag","Sunday":"Søndag","Action":"Action","Comedy":"Komedie","War":"Krig","Family":"Familie","Animation":"Animation","Adventure":"Eventyr","Fantasy":"Fantasy","Crime":"Krimi","Mystery":"Mystik","Romance":"Romantik","Drama":"Drama","Horror":"Gyser","Thriller":"Spænding","Sci-Fi":"Sci-Fi","Music":"Musik","Biography":"Biografi","Documentary":"Dokumentar","Sport":"Sport","Musical":"Musical","Western":"Western","Film-Noir":"Film-Noir","News":"Nyheder","History":"Historie","Game-Show":"Gameshow","Reality-TV":"Reality TV","Talk-Show":"Talk-Show","Film & Entertainment":"Film & Underholdning","Gaming":"Gaming","From TV":"Fra TV","Lifestyle":"Livsstil","Science & Education":"Videnskab & Uddannelse","Cooking & Health":"Madlavning & Helbred","Beauty & Fashion":"Skønhed & Mode","Sports":"Sport","News & Politics":"Nyheder & Politik","How-to & DIY":"Gør det selv","Tech":"Teknologi","Automotive":"Biler","Causes & Non-Profits":"Sager & Non-profit","Movies":"Film","Uk Live Tv":"UK Direkte TV","Fashion":"Mode","Business News Radio":"Business Nyheds Radio","Business Tv":"Business TV","Cars & Auto":"Biler & Auto","Comedy Radio":"Komedie Radio","Lifestyle Radio":"Livsstils Radio","News Tv":"Nyheds TV","Food And Wine":"Mad & Vin","Latino Tv":"Latino TV","Shopping Tv":"Shopping TV","Religion":"Religion","Kids":"Børn","Body & Soul":"Krop & Sjæl","Education":"Uddannelse","Indian Tv":"Indisk TV","Extreme Sports":"Ekstremsport","Middle Eastern Tv":"TV fra Mellemøsten","Celebrity Tv":"Kendis TV","Science Tv":"Videnskabs TV","Bikini babe":"Bikini Piger","Outdoors":"udendørs","German Tv":"Tysk TV","French Tv":"Fransk TV","Italian Tv":"Italiensk TV","Gamer Tv":"Spil TV","Travel":"Rejse TV","Asian Tv":"Asiatisk TV","Entertainment":"Underholdning","News Radio":"Nyheds Radio","Music Radio":"Musik Radio","Language Learning":"Sprog & Læring","Science Radio":"Videnskabs Radio","Tech Radio":"Teknologi Radio","Science & Technology Vod":"Videnskab & Teknologi VOD","new video":"ny video","new episode":"ny episode","new movie":"ny film","recommended":"anbefalet","we recommend":"vi anbefaler","offer of the day":"offer of the day","news":"news","music video":"music video","CTX_SHOW_HOTKEYS":"Show hotkeys","CTX_DISMISS_NOTIF":"Afvis notifikationer","CTX_DISMISS_ALL":"Dismiss all","CTX_SHARE":"Del","CTX_COPY_SHARE_LINK":"Kopier dele link","CTX_COPY_MAGNET_LINK":"Copy magnet link","CTX_COPY_STREAM_LINK":"Copy stream link","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Download this video","CTX_DOWNLOAD_SUBS":"Download subtitles","CTX_VIEW_ON_YOUTUBE":"View on YouTube","CTX_SHOW":"Vis","CTX_PLAY":"Play","CTX_PLAY_IN":"Play in","CTX_PLAY_ON":"Play on","CTX_WATCH_ON":"Se på","CTX_WATCH":"Se","CTX_WATCHED":"Set","CTX_WATCH_BEGINNING":"Se fra begyndelsen","CTX_WATCH_MOBILE":"Se på en mobil enhed","CTX_REWIND":"Tilbage til begyndelsen","CTX_MARK_WATCHED":"Marker som set","CTX_MARK_NON_WATCHED":"Marker som ikke set","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"Mark rest as watched","CTX_UNMARK_REST":"Mark rest as non-watched","CTX_RECEIVE_NEW_NOTIF":"Modtag nye notifikationer","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"Fjern cache","CTX_REMOVE_CACHE_EP":"Fjern episode fra cache","CTX_OPEN_CONTAINING":"Åben mappe","CTX_REMOVE":"Fjern fra bibliotek","CTX_AVAILABLE_OFFLINE":"Tilgængelig Offline","CTX_PAUSED":"Pause","CTX_ALWAYS_ON_TOP":"Altid øverst","CTX_FULLSCREEN":"Fuldskærm","CTX_WRONG_SUBS":"Forkerte undetekster?","CTX_REPORT_ISSUES":"Rapporter problem","CTX_COPY":"Kopier","CTX_PASTE":"Indsæt","CTX_CLEAR":"Ryd","CTX_CLEAR_RECENT_SEARCHES":"Ryd seneste søgninger","HELLO_THERE":"Hej","HOPE_YOU_ENJOY":"Vi håber du nyder Stremio og at det er et af dine favorit programmer allerede!","WHO_ARE_WE":"Hvem er vi? Vi er holded bag - to gutter som har arbejdet hårdt de sidste 3 år, med et samlet mål - at gøre dette produkt bedre og bedre.","SUPPORT_US":"Hvis du kan lide Stremio, hvis Stremio er værdifuldt for dig - støt os!","SPREAD_THE_WORD":"Del med dine venner nu, spred ordet omkring Stremio","MORE_PEOPLE":"Nu flere folk der bruger Stremio, nu bedre vil det blive!","SEND_A_LINK":"Eller send et link til vores hjemmeside","TIP_LOCALFILES":"Tip: you can drag & drop local video files into Stremio","ADDON_MY":"My Addons","ADDON_COMMUNITY":"Community Addons","ADDON_OFFICIAL":"Official Addons","ADDON_REPOS":"Addon repositories","ADDON_SEARCH":"Search addons","ADDON_INSTALL":"Install","ADDON_CONFIGURE":"Configure","ADDON_UNINSTALL":"Uninstall","ADDON_UPGRADE":"Upgrade","ADDON_INSTALLED":"Installed","ADDON_INSTALLED_MSG":"Addon installed!","ADDON_UPGRADED_MSG":"Addon upgraded!","ADDON_UNKNOWN":"Unknown","ADDON_ERR":"Addon install error!","ADDON_DISCONNECTED":"Disconnected","ADDON_APP_MISSING":"the app for this source is not installed. Do you want to install it now?","ADDON_APP_INSTALL":"Install Now","ADDON_PAGE":"Addon Page","ADDON_TOP_CONTENT":"Best from this Addon","ADDON_PROVIDES":"provides","ADDON_WATCH":"Watch #{types} now!","ADDON_WATCH_FREE":"Watch #{types} for FREE now!","ADDON_ADDON":"Addon","ADDON_SUPPORTED_TYPES":"Supported types","ADDON_SUPPORTED_CATALOGS":"Supported catalogs","ADDON_PROVIDES_DISCOVER":"More #{types} in Discover","ADDON_PROVIDES_STREAMS":"Watch #{types}","ADDON_PROVIDES_STREAMS_FREE":"Watch #{types} for FREE","ADDON_PROVIDES_SUBTITLES":"Subtitles for #{types}","ADDON_CANTDETECT":"We couldn\'t detect a running Stremio, so we couldn\'t detect what addons you have installed.","ERR_NO_META":"No information found about this ","ERR_GETTING_META":"Error retrieving information about this.","ERR_CANT_PARSE_MAGNET":"Unable to parse magnet","ERR_NO_MAGNET_INFOHASH":"No valid info hash for magnet","ERR_NO_FILE_PATH":"Unable to send request without a path to file","ERR_NO_TORRENT":"No torrent returned","ERR_NO_SUPPORTERD_FILES":"No supported files found","ERR_OPENING_FILES":"Could not open external files","ERR_INVALID_LINK":"Invalid link","ERR_REGISTERED_ONLY":"This option is available for registred users only.","ERR_CLIPBOARD":"Can not play from clipboard","ERR_CLIPBOARD_READ":"Can not read the clipboard on this platform","ERR_CLIPBOARD_GENERIC":"No playable URL found in the clipboard. Please copy a URL (e.g. a magnet link) to a video.","BOARD_CONTINUE_WATCHING":"Continue watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Movies picked specially for you.<br />This movie is a sample recommendation.","BOARD_EXPLANATION_EPISODES":"New episodes of your favorite Series come here.<br />Add series you follow to your Library.","BOARD_EXPLANATION_VIDEOS":"New episodes of your favorite Channels come here.<br />Add YouTube channels you follow to your Library.","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE":"Contribute","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"Learn more","WEBSITE_COMPANY":"Company","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Need Help?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"Watch Instantly","WEBSITE_SLOGAN_ALL":"All the Video Content You Enjoy in One Place","WEBSITE_SLOGAN_NEW":"All You can Watch","WEBSITE_SLOGAN_NEW_NEW":"Freedom to Stream","WEBSITE_WATCH_FROM":"Watch from","WEBSITE_DOWNLOAD":"Download Now","WEBSITE_DOWNLOAD_FOR":"Download Now For","WEBSITE_IS_DESKTOP":"Stremio is a desktop application, open this page on your PC and download it","WEBSITE_DESKTOP_DEMO_VID":"Desktop demo","WEBSITE_PAGE_HOME":"Home","WEBSITE_PAGE_FEATURES":"Features","WEBSITE_PAGE_ADDONS":"Addons","WEBSITE_PAGE_TECH":"Technology","WEBSITE_PAGE_CREATE_ADDON":"Create Addon","WEBSITE_PAGE_CONTACTS":"Contacts","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Movies","WEBSITE_TYPE_series_PL":"Series","WEBSITE_TYPE_tv":"Live TV","WEBSITE_TYPE_channel":"Channels","WEBSITE_STREMIO_WHAT_IS":"Stremio is an app that helps you organize and instantly watch your favorite videos, movies, TV series and TV channels.","WEBSITE_FEATURES_WATCH":"Watch Instantly in HD","WEBSITE_FEATURES_WATCH_DETAIL":"Click and play your favourite movies, TV Shows, videos and TV channels.","WEBSITE_FEATURES_SUBS":"Automatic Subtitles","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio automatically picks synced subtitles for your language.","WEBSITE_FEATURES_SUBS_LABEL":"Your move, chief.","WEBSITE_FEATURES_CAST":"Play on TV & mobile devices","WEBSITE_FEATURES_CAST_DETAIL":"Cast to AppleTV, Chromecast, Smart TV (DLNA/UPnP) and mobile devices.","WEBSITE_LIB":"Enjoy Your Personal Library Synced on All Your Devices","WEBSITE_LIB_COLLECT":"Collect from Stremio","WEBSITE_LIB_IMPORT":"Import from Facebook","WEBSITE_LIB_LOCAL":"Add from your local drive","WEBSITE_BOARD":"The Board - Your one-stop place for Notifications and Recommendations","WEBSITE_BOARD_RECOMMEND":"Recommended TV Show","WEBSITE_BOARD_TRENDING":"Trending Movie","WEBSITE_BOARD_NEW":"New Video","WEBSITE_BOARD_EPISODE":"New Episode","WEBSITE_BOARD_1":"Looking for something interesting to watch? Get recommendations based on your taste!","WEBSITE_BOARD_2":"Get notified when a new episode of your favourite TV show or YouTube channel is out!","WEBSITE_BOARD_YOUTUBE":"New videos of YouTube channels","WEBSITE_BOARD_EPISODES":"New episodes of series you follow","WEBSITE_ADDONS":"Content Addons","WEBSITE_TECH_DETAIL":"We love technology, we love mad science!\\nStremio is using the following open source technologies:","WEBSITE_TECH_WCJS":"WebChimera.js allows Stremio to play any video format with good performance.","WEBSITE_TECH_WCJS_EXTRA":"We are core project contributors","WEBSITE_TECH_ELECTRON":"Electron provides an innovative platform to build Stremio with.","WEBSITE_TECH_ELECTRON_EXTRA":"We are project contributors","WEBSITE_TECH_LINVODB":"A database technology that ensures your data is organized and available anywhere you login.","WEBSITE_TECH_LINVODB_EXTRA":"In-house technology","WEBSITE_CREATE_ADDON":"Create your addon","WEBSITE_CREATE_ADDON_DETAIL":"Do you have a service providing video content? We\'ll help you benefit from Stremio\'s features by creating your Addon.","WEBSITE_CREATE_ADDON_BENEFITS":"Benefits of Creating an Addon for Stremio","WEBSITE_P2P_BEAUTY":"The Beauty of Peer-to-Peer Streaming","WEBSITE_P2P_1":"Reliable and affordable full HD / 4K video on demand or live streaming","WEBSITE_P2P_2":"Distribution platform providing great user experience","WEBSITE_P2P_3":"We will create an addon meeting your exact needs","WEBSITE_P2P_CONTACT":"Interested? You are welcome to <a href=\'mailto:office@stremio.com\'>contact us</a>.","WEBSITE_P2P_CONTACT_EXTRA":"We will be happy to help you integrate your content with Stremio!","WEBSITE_P2P":"Once in a while, there comes a technology that changes the name of the game. We invested tons of time and effort in building our Peer-to-Peer (P2P) video streaming engine that provides great performance and versatility to adapt with any use case.\\nContact us for DRM-enabled P2P video on demand or live streaming.","WEBSITE_THOUGHTS":"Thoughts we share:","WEBSITE_SPREAD":"Spread the word about Stremio:","WEBSITE_CONTACT":"If you are looking to contact us, go ahead at","WEBSITE_OPENSOURCE":"For our open source projects, go to our","WEBSITE_BITCOIN":"Donate bitcoin:","WEBSITE_FAQ":"Frequently asked questions","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Questions","WEBSITE_TOS":"Terms of use","WEBSITE_LEGAL":"Legal","WEBSITE_PAGE_ABOUT":"About","WEBSITE_PAGE_BECOME_PARTNER":"Become a partner","WEBSITE_ALL_YOU_CAN_WATCH":"Freedom To Watch\\nEverything You Want.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"What is stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio is a one-stop hub for video content aggregation. Discover, organize and watch video from all kind of sources on any device that you own.","WEBSITE_WHAT_IS_STREMIO_P2":"Movies, TV shows, series, live television or web channels like YouTube and Twitch.tv - you can find all this on Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio is a modern media center that\'s a one-stop solution for your video entertainment. You discover, watch and organize video content from easy to install addons.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Movies, TV shows, live TV or web channels - find all this on Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Enjoy on all your Media devices","WEBSITE_DEVICES_COLLECT":"Collect from Stremio","WEBSITE_DEVICES_IMPORT_FB":"Import from facebook","WEBSITE_DEVICES_LOCAL":"Add from local drive","WEBSITE_JOIN_THE_PARTY_NOW":"Join the party now","WEBSITE_DEVICES_ALL":"Easy to use on all your devices;","WEBSITE_EXTENDABLE_CATALOG":"Infinitelly extendable video catalog;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Great features to organize your media;","WEBSITE_AS_SEEN_ON":"As seen on","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"About us","WEBSITE_LINK_TECHNOLOGY":"Technology","WEBSITE_LINK_APPS":"Apps","WEBSITE_LINK_DOWNLOADS":"Downloads","WEBSITE_MORE":"More","WEBSITE_LINK_ADDONS":"Addons","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Contribute","WEBSITE_LINK_COMMUNITY":"Community","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... & More","WEBSITE_LINK_HELP":"Help center","WEBSITE_LINK_CONTACTS":"Contacts us","WEBSITE_LINK_TOS":"Terms & conditions","WEBSITE_LINK_PRAVACY":"Privacy policy","WEBSITE_SUBSCRIBE":"Sibscribe","WEBSITE_NEWSLETTER":"Join Our Newsletter for amazing stuff","WEBSITE_PLACEHOLDER_EMAIL":"Your Email","WEBSITE_COMMUNITY":"Community","WEBSITE_LINK_PRAVACY_LEGAL":"Privacy & legal","WEBSITE_WHY":"Why we do it","WEBSITE_WHY_P1":"At Stremio, we come to work every day because we want to solve an important problem for the video-on-demand industry. There’s so much new content published every minute that it’s virtually impossible to find your way around it.","WEBSITE_WHY_P2":"We help people navigate that huge world of video entertainment and discover new content to enjoy. Our apps bring together movies, series, live TV, web channels, and more. We are dedicated to making it incredibly easy for users to find titles and broadcasters that they love.","WEBSITE_WHY_P3":"You can use our service on any device and at any time, making Stremio the only video entertainment hub you’ll ever need.","WEBSITE_TEAM":"TEAM","WEBSITE_TEAM_P":"The Stremio team is small but powerful: between the ten of us, we code in X languages, and share expertise in software development, UI and UX design, marketing and advertising, and business and startups.","WEBSITE_FEATURES":"Features","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Discover new content with ease","WEBSITE_FEATURES_DISCOVER_P":"Easily discover new movies, TV shows, series and channels to watch. Browse by category, genre, rating, recency, etc. or simply type a name to find. Stremio makes finding new video content a piece of cake.","WEBSITE_FEATURES_ALL_CONTENT":"All of your video content on one screen","WEBSITE_FEATURES_ALL_CONTENT_P1":"See what movies, series or videos you didn’t finish and continue watching them; get notified for new episodes and releases; and browse through the recommendations you will get based on your viewing habits.","WEBSITE_FEATURES_LIBRARY":"Organize your video library","WEBSITE_FEATURES_LIBRARY_P1":"Add any title to your Stremio library with a single click and find your way around your content, neatly arranged by type, recency, or alphabetical order.","WEBSITE_FEATURES_CALENDAR":"Keep track of everything you watch","WEBSITE_FEATURES_CALENDAR_P1":"Get a calendar visualization of all the movies and series you add to your library. Export your Stremio calendar and sync it so you always know when a new episode or a premier is due.","WEBSITE_FEATURES_BIG_SCREEN":"Enjoy your video content on a bigger screen","WEBSITE_FEATURES_BIG_SCREEN_P1":"Cast whatever you are watching to another device - be it a phone, tablet or a TV with a single click.","WEBSITE_FEATURES_SOURCES":"Watch video from many different sources","WEBSITE_FEATURES_SOURCES_P":"Install official and community addons to enjoy video sourced from many different providers - all in one sleek, easy to use app.","WEBSITE_CREATE_AN_ADDON":"Create an addon","WEBSITE_FEATURES_SYNC":"Sync your library across different devices and resume your playback","WEBSITE_FEATURES_SYNC_P1":"Login with your account across all your devices and enjoy your library, addons, playback and calendar synchronized.","WEBSITE_FEATURES_EXTENDABLE":"Extendable video catalog by addons","WEBSITE_FEATURES_EXTENDABLE_P1":"The Stremio addon catalog provides a number of addons to install and watch a variety of video content from. This includes movies, shows, live TV, sport, news, podcasts, web channels, video games and more.","WEBSITE_FEATURES_AUTO_SUBS":"Automatic subtitles","WEBSITE_FEATURES_AUTO_SUBS_P1":"With our subtitle addons you get automatically selected options for your preferred language.","WEBSITE_FEATURES_CHROMECAST":"Casting to Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Enjoy your video content on a bigger screen or just cast whatever you are watching to another device.","WEBSITE_FEATURES_KEEP_TRACK":"Keep track of your favorite TV shows and Web channels","WEBSITE_FEATURES_KEEP_TRACK_P1":"Get a calendar visualization and notifications for new episodes of your favorite series and web channels.","WEBSITE_FEATURES_POWER_USER":"Power user features","WEBSITE_FEATURES_POWER_USER_P1":"Play in external player","WEBSITE_FEATURES_POWER_USER_P2":"Play from a torrent file or magnet link","WEBSITE_FEATURES_POWER_USER_P3":"Import to your library from Facebook likes or local disk","WEBSITE_ADD_ONS":"Addons","WEBSITE_ADD_ONS_P1":"All of the video content Stremio provides get sourced through an addon system - no content or content provider has been built into the app.","WEBSITE_ADD_ONS_P2":"There are two groups of addons available: official and community addons.","WEBSITE_ADD_ONS_P3":"The official ones are developed and hosted by Stremio, whereas community addons are created by our community members, who also host them.","WEBSITE_ADDONS_OFFICIAL":"Official addons","WEBSITE_ADDONS_WATCHUB":"Stream your favourite movies, series and shows from providers like iTunes, Hulu, Amazon and other UK/US services.","WEBSITE_ADDONS_YOUTUBE":"Watch your favourite YouTube channels ad-free and get notifications for new uploads from the contributors you follow.","WEBSITE_ADDONS_FILMON":"Watch live TV, movies and social television for free. 600 TV channels, 45,000 free movies, documentaries and more.","WEBSITE_ADDONS_OPENSUBTITLES":"Movie and TV subtitles in multiple languages, thousands of translated subtitles uploaded every day.","WEBSITE_ADDONS_COMMUNITY":"Community addons","WEBSITE_ADDONS_FILMON_VOD":"Watch video on demand from Filmon.tv","WEBSITE_ADDONS_TWICH":"Watch live streams from Twitch.tv - a video streaming platform for the e-sports industry.","WEBSITE_ADDONS_VODO":"Watch indie movies absolutely free of charge.","WEBSITE_ADDONS_NETFLIX":"Watch Netflix movies and web series.","WEBSITE_ADDONS_CREATE":"Create an addon","WEBSITE_ADDONS_CREATE_P1":"If you wish, you can develop your own addon. This way, you can give yourself and our community access to new video content, and reach a new, targeted audience of millions of users around the world.","WEBSITE_ADDONS_START_CREATE":"To get started, visit the Stremio Addon SDK page:","WEBSITE_DOWNLOADS":"Downloads","WEBSITE_DOWNLOADS_P1":"For optimal performance, we recommend that you use the latest available version of the Stremio apps. If for some reason, however, you would like to use an older version, you can download it here.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio for Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio for macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio for Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio for Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio for iOS","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"The Stremio platform is open source and you can easily create an addon for content that is currently not sourced.","WEBSITE_CONTRIBUTE_WHY":"Why should you create an addon?","WEBSITE_CONTRIBUTE_WHY_P1":"Reach new audience for your video content","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio’s user base is growing rapidly - within the first year of the launch, Stremio had gained 1 million users around the world, and in the second year of the platform’s existence this number grew to 2.5 million.","WEBSITE_CONTRIBUTE_WHY_P3":"With your addon, you can easily reach this audience and distribute your video content to them.","WEBSITE_CONTRIBUTE_ALL":"Watch your favourite movies, videos, series and channels in one single place.","WEBSITE_CONTRIBUTE_ALL_P1":"You’re a fan of a particular type of content not available on Stremio yet? Create an addon for it and enjoy watching your favourite videos in one of the largest and easiest to use entertainment hubs on the market.","WEBSITE_CONTRIBUTE_ALL_P2":"On top of that, you’ll get the endless gratitude of other like-minded Stremio community members.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetize your addon and earn money with its help","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Once you develop a new addon for Stremio, you can easily monetize it through a number of different ways. If you are considering this, feel free to get in touch with us at ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - we would be happy to consult and advise you about addon monetization options.","WEBSITE_CONTRIBUTE_TRANSLATE":"Become a volunteer translator","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"If you want to enjoy the Stremio apps in different languages, you can join our community of volunteer translators. They help us add versions of the Stremio in many different languages.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Are you eager to get started?","WEBSITE_TRANSALTE_STREMIO":"Translate Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Official communities","WEBSITE_COMMUNITY_OFFICIALS_P1":"Become a part of the growing Stremio community. Follow us on social media and don’t be shy to say hello - we love hearing from our fans! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Unofficial communities","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partners and supporters","WEBSITE_COMMUNITY_GOODIES":"Stremio goodies","WEBSITE_COMMUNITY_WALLPAPERS":"Wallpapers","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"Contact us","WEBSITE_CONTACT_US_P1":"If you have any questions, comments or suggestions, feel free to get in touch with us through the contact form below.","WEBSITE_CONTACT_US_P2":"Keep in mind that we are located in Bulgaria so there may be a delay in addressing your query due to time zone differences.","WEBSITE_CONTACT_US_SUCCESS":"Your message has been sent. We will get back to you at our earliest convenience.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Please enter a valid email!","WEBSITE_CONTACT_US_Q_RELATED_TO":"What is your question related to?","WEBSITE_CONTACT_US_Q_OS":"What is your Operation System?","WEBSITE_CONTACT_US_PH_EMAIL":"Your E-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Message","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"SEND","WEBSITE_CONTACT_US_Q_1":"How to install?","WEBSITE_CONTACT_US_Q_2":"How to uninstall?","WEBSITE_CONTACT_US_Q_3":"(HTML) How to make lasagna?","WEBSITE_CONTACT_US_Q_4":"Addons","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Technology","WEBSITE_TECHNOLOGY_P1":"We love technology and mad science. </br> Here is what powers Stremio (it’s all open-source).","WEBSITE_TECHNOLOGY_P_QT":"Cross-platform software development at its best.","WEBSITE_TECHNOLOGY_P_MPV":"A free, open source, and cross-platform media player.","WEBSITE_TECHNOLOGY_P_RN":"React Native lets you build mobile apps using only JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework embedded into application to get multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm is a mobile platform and a replacement for SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js is an open-source, cross-platform, JavaScript runtime environment.","WEBSITE_TECHNOLOGY_P_RUST":"Rust is a multi-paradigm system programming language focused on safety, especially safe concurrency.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribute to the project","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"There are two ways you can contribute to Stremio and help us make the product even better.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"You can donate your valuable language skills by translating the platform...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"or","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... you can employ your coding skills for creating community addons. ","WEBSITE_TRANSLATE_STREMIO":"Translate Stremio","WEBSITE_404_OH_NO":"Uh-oh! The page you’re looking for is not here...","WEBSITE_GO_HOME":"Go home","WEBSITE_LINK_OTHER_DOWNLOADS":"Other downloads","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Support","WEBSITE_DOWNLOAD_4_0_BETA":"Download Now Stremio 4 beta","WEBSITE_GET_FOR_DESKTOP":"Get for desktop","WEBSITE_LINK_ADDON_COMPETITION":"Addon competition","WEBSITE_LINK_ART_CONTEST":"Art contest","WEBSITE_MY_ACCOUNT":"My account","WEBSITE_MAINPAGE_FAQ_001_H1":"What is Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio is a modern media center that gives you the freedom to watch everything you want.","WEBSITE_MAINPAGE_FAQ_002_H1":"How does it work?","WEBSITE_MAINPAGE_FAQ_002_P1":"Once you install Stremio on your device and create an account, all you have to do is to visit the addon catalog and install any addon you want, and you\'re good to go!","WEBSITE_MAINPAGE_FAQ_002_P2":"After that, you can go to the Discover or Board sections to start exploring content.","WEBSITE_MAINPAGE_FAQ_003_H1":"What can I watch here?","WEBSITE_MAINPAGE_FAQ_003_P1":"A lot: Movies, TV shows, Web channels, Sport, TV channels, listen to Podcasts and more. Thanks to our addon system, you can accss a variety of content.","WEBSITE_MAINPAGE_FAQ_004_H1":"Is Stremio open-source?","WEBSITE_MAINPAGE_FAQ_004_P1":"Yes, you can check the following links: ${1}desktop app${2} and ${3}GitHub organization${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Is Stremio safe?","WEBSITE_MAINPAGE_FAQ_005_P1":"Yes: because it is open-source software, the code is publically auditable and you can review it yourself.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"How about my privacy?","WEBSITE_MAINPAGE_FAQ_006_P1":"We respect users\' privacy and do not collect any personal data besides the essential minimum to create and sync your account.","WEBSITE_MAINPAGE_FAQ_006_P2":"There is also a ${1}Guest mode${2} at signup, which requires no data whatsoever: in this mode, no calls are made to our backend. However, it comes at the expense of useful features, such as being able to sync your library across devices.","WEBSITE_MAINPAGE_FAQ_007_H1":"Can I cast to my TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Yes, we support Chromecast and you can cast both from desktop and mobile apps (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"How many addons does Stremio have?","WEBSITE_MAINPAGE_FAQ_008_P1":"As of late 2019, over 50 - for more information, check our addon catalog.","WEBSITE_MAINPAGE_FAQ_009_H1":"Can Stremio be extended beyond what\'s in the addon catalog?","WEBSITE_MAINPAGE_FAQ_009_P1":"Yes, you should check those: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"What devices does Stremio support?","WEBSITE_MAINPAGE_FAQ_010_P1":"We have desktop apps for Windows, Mac and Linux. For mobile, we support Android and iOS, although keep in mind that the iOS is limited in functionality (does not support most addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"There are many Android-based devices which you can run Stremio on, like NVIDIA Shield and Amazon Fire Stick, but we do not support them officially.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Can you add certain content to Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Sorry, we provide no content ourselves, but the more Stremio addons you have installed, the more content you will be able to find.","WEBSITE_MAINPAGE_FAQ_012_H1":"Can Stremio play magnet links?","WEBSITE_MAINPAGE_FAQ_012_P1":"Yes, and it can also play normal HTTP links and torrent files (drag and drop).","WEBSITE_MAINPAGE_FAQ_013_H1":"Can I download a video and watch offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Available offline is an upcoming feature, but if you allow Stremio to cache on your device (from the settings panel) you can watch the videos later without a connection.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nothing works, help me!","WEBSITE_MAINPAGE_FAQ_014_P1":"Are you sure you have installed addons? If yes, check with our ${1}help center${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"How does Stremio sustain it\'s development operations?","WEBSITE_MAINPAGE_FAQ_015_P1":"We run non-intrusive ads occassionally, but we\'re considering moving to a donation model.","WEBSITE_MAINPAGE_FAQ_015_P2":"For more questions, go to our ${1}help center${2}.","HELP_LEARN_MORE":"Help us learn more about you.","LIFESTYLE":"Lifestyle","SPORTS":"Sports","FOOD_HEALTH":"Food & health","BEAUTY_FASHION":"Beauty & Fashion","NEWS":"News","GAMING":"Gaming","SCIENCE_EDUCATION":"Science & education","MUSIC":"Music","TRAVEL":"Travel","LATE_NIGHT":"Late Night","REALITY":"Reality","COMEDY":"Comedy","DIY":"How to DIY","TECH":"Tech","CINEMA":"Cinema","CONTINUE":"Continue","SLOW_LOADING":"SLOW LOADING?","I_GIVE_UP":"I GIVE UP","LEARN_MORE":"Learn more","POOR_SOURCE":"This source is poorly available or your internet connection is not fast enough","PICK_CATEGORIES_ERR":"You have to pick at least 3 categories","ADJUST_TIMING":"Adjust timing with ","ADJUST_SIZE":"Adjust size with ","SEARCH_ANYTHING":"You Can Search Anything...","ALL_CATEGORIES":"All","SEARCH_CATEGORIES":"Movies, Series, YouTube & TV","SEARCH_PERSONS":"Actors, Directors & Writers","SEARCH_PROTOCOLS":"HTTP & Magnet Links","SEARCH_TYPES":"IMDB / TVDB links","WATCHED":"Watched","SHOW_LESS":"Show less","LAST_SEARCHES":"Last searches","CLEAR_HISTORY":"Clear history","CHOOSE_SOME":"CHOOSE SOME OF THIS:","NO_WEB_REMOTE":"Web Remote could not be loaded","STREMIO_OFFLINE":"Stremio is offline","STREMIO_EXPENSIVE_CONNECTION":"We\'ve detected that you are using a mobile data connection, do you want to continue?","USE_DATA":"Use data","WARNING":"Warning","MORE_INFO":"More Info ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Loading ...","STREMIO_TV_BACK_TO_LANGUAGES":"Back to languages","STREMIO_TV_REMOTE":"Remote","STREMIO_TV_GO_TO":"Go to:","STREMIO_TV_OR_SCAN":"or scan:","STREMIO_TV_ADDON_INSTRUCTIONS":"Please follow the instructions in order to install your preferred addons.","STREMIO_TV_LIVE_TV":"Live TV","STREMIO_TV_RESUME_WATCHING":"Resume Watching","STREMIO_TV_LOADING_BACKGROUND":"Loading Background","STREMIO_TV_CHECKING_AUTHENTICATION":"Checking Authentication","STREMIO_TV_LOADING_BOARD":"Loading Board","STREMIO_TV_LOGIN_HEADER_LINE_1":"We want our users to have the best possible personalized experience with our software.","STREMIO_TV_LOGIN_HEADER_LINE_2":"It is for this reason that we kindly ask you to make and/or login to your account.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Thank you for understanding,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"The Stremio Team","STREMIO_TV_REMOTE_INSTRUCTIONS":"In order to use the Web Remote with your Smartphone / Tablet / Desktop:","STREMIO_TV_WIFI_SETUP":"Wi-Fi Setup","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle did not detect a internet connection.","STREMIO_TV_WIFI_DETAILS_1":"Connect to:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Use password:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Open a web browser with the link:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Default","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"By Last Watched","STREMIO_TV_LIBRARY_SORT_NAME":"By Name","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"By Times Watched","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Season ${1}","STREMIO_TV_STREAMS_LOADING":"Loaded ${1} / ${2} addons...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} addon is still loading...","STREMIO_TV_PLAYER_SETTINGS":"Player settings","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Subtitles delay","STREMIO_TV_PLAYER_AUDIO_DELAY":"Audio delay","STREMIO_TV_PLAYER_VIDEO_SCALING":"Video scaling","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Unsupported stream source","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Failed opening external link","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Not adjustable in audio passthrough mode","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Play with ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Play with libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Switching to libVLC player due to a playback error","STREMIO_TV_ADDONS_TITLE":"Use Stremio on your Phone or PC to install or configure addons and press \\"Sync Addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Note: make sure you are using the same Stremio account","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sync Addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons successfully synchronized","STREMIO_TV_ADDONS_SYNC_FAILED":"Failed to synchronize addons","STREMIO_TV_META_LINK_FAILED":"Failed opening meta link","STREMIO_TV_CATALOG_LOADING":"Catalog still loading...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Interface language updated","STREMIO_TV_SETTINGS_THEME_UPDATED":"Theme updated","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Default Player","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"External Player","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferred Language","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Secondary Preferred Language","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possible playback issues on some devices","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Some video formats might not work","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"No caching","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Default","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Soft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Fast","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Fast","STREMIO_TV_SETTINGS_SERVER_URL":"Streaming server url","STREMIO_TV_SETTINGS_SERVER_VERSION":"Server version","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Unknown","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio version","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Edit server url","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Enter a streaming server url","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Show statistics while loading","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"To read Stremio\'s Privacy Policy, visit:","STREMIO_TV_SETTINGS_TOS_TEXT":"To read Stremio\'s Terms and Conditions, visit:","STREMIO_TV_NAV_SEARCH":"Search","STREMIO_TV_NAV_HOME":"Home","STREMIO_TV_NAV_DISCOVER":"Discover","STREMIO_TV_NAV_LIBRARY":"Library","STREMIO_TV_NAV_MOVIES":"Movies","STREMIO_TV_NAV_SERIES":"Series","STREMIO_TV_NAV_CHANNELS":"Channels","STREMIO_TV_NAV_TV":"Live TV","STREMIO_TV_NAV_SETTINGS":"Settings","STREMIO_TV_NAV_ADDONS":"Addons","STREMIO_TV_LOGIN_TITLE":"Link Account","STREMIO_TV_LOGIN_EXPIRES_IN":"Expires in","STREMIO_TV_LOGIN_STEP_ONE":"Scan QR Code above or go to","STREMIO_TV_LOGIN_STEP_TWO":"Log in to your Stremio account","STREMIO_TV_LOGIN_NEW_LINK":"Request a new link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Login code refreshed","STREMIO_TV_SEARCH_PLACEHOLDER":"Type something","STREMIO_TV_SEARCH_NO_ADDONS":"No addons were requested for catalogs!","STREMIO_TV_SEARCH_BUTTON":"Search","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Search History","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"You can search for Titles, Actors, Channels and more...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Clear Search History","STREMIO_TV_FILTERS_DESCRIPTION":"Choose from one of the filters below","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"Filters","SETTINGS":"Settings","ACCOUNT":"Account","LOGOUT":"Logout","THEMES":"Themes","PLAYBACK":"Playback","PLAYBACK_SPEED":"Playback Speed","AUDIO_TRACKS":"Audio Tracks","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Videos","SERVER":"Server","LINKS":"Links","ABOUT":"About","INTERFACE":"Interface","ANIMATIONS":"Animations","STATUS":"Status","LANGUAGE":"Language","SIZE":"Size","DELAY":"Delay","BOLD":"Bold","OPACITY":"Opacity","TEXT_COLOR":"Text Color","OUTLINE_COLOR":"Outline Color","BACKGROUND_COLOR":"Background Color","BACKGROUND_BLUR":"Background Blur","SEEK_TIME_DURATION":"Seek Time Duration","AUTO_PLAY":"Auto-Play Next Episode","PLAY_NOW":"Play Now","MARK_AS_WATCHED":"Mark as Watched","MARK_AS_UNWATCHED":"Mark as Unwatched","REWIND_TO_BEGINNING":"Rewind to Beginning","CONTINUE_WATCHING":"Continue Watching","ALL":"All","SECONDS":"seconds","ON":"ON","OFF":"OFF","RELOAD":"Reload","EDIT_URL":"Edit URL","NONE":"None","EMBEDDED":"Embedded","REMOTE_SWITCH_DEVICES":"Switch Devices","REMOTE_VIDEOS":"Videos","REMOTE_ADJUST_TIMING":"Adjust timing","REMOTE_ADJUST_SIZE":"Adjust size","REMOTE_COULD_NOT_BE_LOADED":"Web Remote could not be loaded","REMOTE_RETRY":"Retry","TORRENT_PROFILE_DEFAULT":"Default","TORRENT_PROFILE_SOFT":"Soft","TORRENT_PROFILE_FAST":"Fast","TORRENT_PROFILE_ULTRA_FAST":"Ultra Fast","FAQ_001_H1":"What is Stremio?","FAQ_001_P1":"Stremio is a media center software designed for video entertainment with ease of use in mind. Stremio allows you to organize &amp; watch your own collection of movies, series, channels and live TV.","FAQ_001_P2":"Stremio collect the content it shows you from your local disk and our addons system.","FAQ_001_P3":"It will also notify you when new episodes/videos/movies you\'re interested in come out, and provide movie recommendations for you.","FAQ_02_H1":"How does Stremio compare to Kodi and Plex?","FAQ_02_P1":"We are inspired by those two pieces of software. But we have different goals - Stremio is specifically targeted towards entertainment video, and strives to become the mainstream solution for that by being very easy to use.","FAQ_02_P2":"Stremio will never be as customizable and feature-rich as Kodi and Plex, but it is significantly easier to use. Just ${1} get it and see ${2} :)","FAQ_03_H1":"How does Stremio compare to Netflix?","FAQ_03_P1":"Again, Netflix is one of our inspirations. We strive to achieve the user experience of Netflix, plus a lot of added goodies. But most importantly, we\'re giving you the freedom to manage your own library and add new content sources with our addon system.","FAQ_03_P2":"That makes Stremio infinitely extendable, so when you use Stremio, you\'re never limited to the content Netflix decides to license. For example, through Stremio you can watch content from ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} and even ${9}Netflix${10} itself!","FAQ_04_H1":"How does Stremio compare to Flipboard?","FAQ_04_P1":"We don’t get that question that often, except when talking to start-up people :)","FAQ_04_P2":"Stremio is by design a content aggregator, which essentially makes it Flipboard for video. This is very apparent in our Board section, which gives you catalogues and new episode/new video notifications for what you follow, just like Flipboard.","FAQ_05_H1":"How does Stremio compare to Popcorn Time?","FAQ_05_P1":"Stremio and Popcorn Time are similar in user interface, because there aren’t many ways to do video entertainment catalogues right :)","FAQ_05_P2":"But while Popcorn Time is focused on streaming torrents from specific sources, Stremio is unrestricted and is merely a content aggregator - it’s not locked into a specific content source.","FAQ_05_P3":"Furthermore, we do not provide any torrent addons by default, so Stremio does not cover the Popcorn Time use-case with official functionality.","FAQ_05_P4":"Another notable difference is that Popcorn Time is completely open source, while Stremio is ${1} partially open source${2}.","FAQ_06_H1":"Will you add this movie/series?","FAQ_06_P1":"No, sorry :(","FAQ_06_P2":"As is mentioned in most of the other questions, Stremio does not provide any content by itself - everything is added through the addons system. In case you have a content request, you can use the “Report” button in the Player, which will send an email to the author of the addon you’re currently using.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Will you create addon for X?","FAQ_08_P1":"It\'s entirely possible.","FAQ_08_P2":"If you have an idea for an addon, drop us a line at ${1}office@stremio.com${2}, but please make sure your addon idea will not infringe on any copyrights or terms of use.","FAQ_08_P3":"At the moment, the next things on our roadmap are addons for FandangoNOW, Filmon.tv video on demand and Crunchyroll.","FAQ_09_H1":"Does Stremio use BitTorrent?","FAQ_09_P1":"Yes, Stremio supports BitTorrent as a streaming protocol. You can use that either with a torrent addon, or by drag-and-dropping a .torrent file into Stremio, or by pasting a magnet link into the Search Bar.","FAQ_09_P2":"Please note that the only official addon using BitTorrent is ${1}Vodo${2}, which provides indie content, all permitted to be distributed with BitTorrent.","FAQ_09_P3":"We do not support use of any third-party addons which may enable copyright infringement.","FAQ_10_H1":"What can I watch in Stremio with the official addons?","FAQ_10_P1":"By default, you can watch Filmon.tv, YouTube and Vodo content within Stremio itself, with it’s embedded player. Additionally, we have an addon for Twitch.tv and a few others.","FAQ_10_P2":"This combined provides a selection of:","FAQ_10_L1":"Popular TV channels, provided by Filmon.tv - for example E4, BBC, Bollyworld TV","FAQ_10_L2":"Everything from YouTube - for example BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indie movies with Vodo","FAQ_10_L4":"Online gaming broadcasts with Twitch.tv","FAQ_10_P3":"Additionally, there are many content sources provided with Guidebox and the Netflix addons, which <b>do not</b> play entirely inside Stremio, but would redirect to the given service. For example, the Guidebox addon would give you a selection of movies you can stream in the US for free, from services like TubiTV and Crackle.","FAQ_11_H1":"Stremio won\'t install, what should I do?","FAQ_11_P1":"If you\'re on Windows, try ${1}this alternative installer${2}.","FAQ_11_P2":"If you\'re on Mac OS X, please be aware that we don\'t support anything older than OS X Mavericks (10.9).","FAQ_11_P3":"If you\'re on Linux, be aware that we only support 64 bit (x64) Linux at the moment.","FAQ_11_P4":"If you still can\'t resolve your problem, please write us at our ${1}Facebook group${2}.","FAQ_12_H1":"Why does my anti-virus complain? Is Stremio safe?","FAQ_12_P1":"We assure you Stremio is ${1}100% clean${2}.","FAQ_12_P2":"Your antivirus is complaining because we include advertising in our installer, which some anti-virus programs recognize as ad-ware.","FAQ_12_P3":"If you\'re still unsure, you can try our ${1}alternative installer${2}.","FAQ_13_H1":"How can I make an addon?","FAQ_13_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_13_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_13_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_14_H1":"How are addons published?","FAQ_14_P1":"When you create an addon and host, and put a <b>endpoint</b> field in your manifest, which points to a working addon address, the addon will automatically publish itself to our ${1}Addon catalogue${2}.","FAQ_14_P2":"This happens because the server part of the stremio-addons module automatically makes a call to our API to announce the addon. When our API validates your <b>endpoint</b> as a valid addon, it will start showing in the catalogue.","FAQ_15_H1":"Can I run Stremio in my browser?","FAQ_15_P1":"Not at the moment, but this is coming!","FAQ_15_P2":"If you\'re curious to see an Alpha, you can see it here: ${1}alpha4.strem.io${2}. Keep in mind streaming is disabled on this alpha. We support Chrome, Firefox, Opera and Edge.","FAQ_16_H1":"Casting to TV doesn\'t work / subtitles don\'t work","FAQ_16_P1":"Casting to TV uses the DLNA technology which is very inconsistent between different TV brands and models. For that reason, we do not have the ability to test it in every case, so it\'s far from perfect. Despite this, we\'re working on improving it constantly but we cannot give you a time estimate on when DLNA will start working properly with your TV.","FAQ_16_P2":"If you don\'t even see your TV in the casting menu, please try disabling your network connection and re-enabling it (on Windows, right click the Network and use Enable/Disable), as well as restarting your router, TV and PC.","FAQ_16_P3":"If you are still encountering issues, you can help us by sending your TV brand and model information at ${1}office@stremio.com${2}.","FAQ_16_P4":"In the meantime, we recommend Chromecast, which we support very well, or simply plugging in your TV to your PC with an HDMI cable.","FAQ_17_H1":"Stremio freezes and/or crashes, what can I do?","FAQ_17_P1":"First of all, if you\'re using Windows 7 with AVG anti-virus: we have a problem with that combination. The problem is in AVG itself, and there\'s no reasonable way to resolve it on our end. Unfortunately, exceptions or disabling the anti-virus won\'t work. The only solution is to replace AVG with something else.","FAQ_17_P2":"If that\'s not the issue, but you\'re still using Windows, please update to the latest service pack and update/re-install your GPU drivers, then try again.","FAQ_17_P3":"If you\'re problem is still not resolved, or you\'re using a Mac or Linux, please write us reporting the exact details of the problem at ${1}our Facebook group${2}.","FAQ_18_H1":"How can I make an addon?","FAQ_18_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_18_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_18_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_19_H1":"Why is Stremio taking disk space?","FAQ_19_P1":"Stremio has a <b>local cache</b> to temporarily keep the video files you stream.","FAQ_19_P2":"This has two benefits: first, it allows Stremio to pre-buffer the video ahead so as to ensure smoother streaming. Second, it keeps the videos in the local cache so you can continue watching them offline.","FAQ_19_P3":"How much Stremio keeps depends on the <b>Cache</b> setting in the Settings panel. Stremio may keep up to the set amount (e.g. 2GB) on your disk, unless the currently streamed video is larger than that, in which case it has to allocate enough storage to keep it until you\'re streaming it.","FAQ_20_H1":"Where is the cache folder?","FAQ_20_P1":"On Windows, it\'s stremio-cache in the drive you picked in Settings (e.g. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"On MacOS, it\'s \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"On Linux, it\'s \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"I get \\"Streaming server is not found\\" error, what can I do?","FAQ_21_P1":"If you get this error, it means one of few things:","FAQ_21_P2":"1) You are trying to use an addon backed by YouTube/BitTorrent source, through our ${1}web version${2}. In this case, you should install our desktop version from ${3}our website${4}.","FAQ_21_P3":"2) Something is wrong with your Stremio installation. In this case, try re-installing our latest desktop version from ${1}the website${2}. If this does not help, try disabling anti-virus programs and firewalls, restarting your PC and trying again. If this does not work too, please write us at our ${3}our Facebook group${4}.","FAQ_22_H1":"I cannot see/use most addons on iOS","FAQ_22_P1":"Because of restrictions in the Apple App Store terms and conditions, we have restricted the iOS application only to a particular set of addons.","FAQ_22_P2":"But rest assured - there will be more addons for iOS in the future, and we may also add an integration that will allow you to use all Stremio addons thanks to connecting the iOS app to the Stremio Streaming Server."}')},51145:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Film","TYPE_series":"Serie","TYPE_tv":"Fernsehkanal","TYPE_channel":"Kanal","TYPE_other":"Andere","TYPE_movie_PL":"Filme","TYPE_series_PL":"Serien","TYPE_tv_PL":"Fernsehkanäle","TYPE_channel_PL":"Kanäle","TYPE_other_PL":"Andere","TYPE_ALL":"All","TYPE":"Type","CATALOG_com_linvo_cinemeta_top":"Beliebt","CATALOG_com_linvo_cinemeta_imdbRating":"Vorgestellt","CATALOG_com_linvo_cinemeta_year":"Neu","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Filme","VIDEO":"Video","BACK":"Zurück","MORE":"Mehr","DONE":"Erledigt","COPY":"Kopieren","SUCCESS":"Erfolg","ERROR":"Fehler","SETTINGS_CASTING_MODE_PICKER":"Casting Modus","CASTING_MODE_HLSV2":"Standard","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Kein Transcoding","Discover":"Entdecken","Board":"Tafel","Library":"Bibliothek","My Library":"Meine Bibliothek","Calendar":"Kalender","NOTIFICATION_ONLINE":"Sie sind jetzt online","NOTIFICATION_OFFLINE":"Sie sind gerade offline.","INTERNET_CONNECTION":"Netzwerkverbindung","STORAGE_FULL_TITLE":"Warnung: Speicher voll!","STORAGE_FULL_TEXT":"Stremio kann Ihre Einstellungen, Präferenzen oder Anmeldeinformationen nicht speichern. Erwägen Sie, Stremio neu zu starten oder zu installieren.","SEARCH":"Suche","SEARCH_NO_RESULTS":"Es wurden keine Ergebnisse gefunden","SEARCH_EXPLANATION_CONTENT":"Suche nach Filmen, Serien, YouTube- und Fernsehkanälen","SEARCH_EXPLANATION_PEOPLE":"Suche nach Schauspielern, Regisseuren und Autoren","SEARCH_PASTE_LINKS":"HTTP- und Magnet-Links einfügen","SEARCH_OR_PASTE_LINK":"Search or paste link","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"Zur Bibliothek hinzufügen","REMOVE_FROM_LIB":"Aus Bibliothek entfernen","ADDED_TO_LIB":"Zur Bibliothek hinzugefügt","REMOVED_FROM_LIB":"Aus der Bibliothek entfernt","TRAILER":"Filmvorschau","WATCH_TRAILER":"Filmvorschau ansehen","WATCH_NOW":"Jetzt ansehen","SHOW":"Anzeigen","SHOW_MOVIE":"Zeige Film","WATCH_RANDOM":"Zufälliges ansehen","IMDB_RATING":"IMDb-Bewertung","YEAR":"Jahr","DIRECTOR":"Regisseur","WRITER":"Autor","LEAD_ACTORS":"Hauptdarsteller","CAST":"Besetzung","CREW":"Crew","SHOW_MORE_CAST":"Mehr anzeigen »","AIRED":"Ausgestrahlt","SEASONS":"Staffeln","GENRE":"Genre","GENRE_ALL":"All Genres","CATALOG":"Katalog","SUMMARY":"Zusammenfassung","SHOW_MORE":"Zeige mehr","SIMILAR":"Ähnlich","UPCOMING":"Bevorstehend","ENDED":"Beendet","DURATION":"Dauer","FEATURED":"Vorgestellt","METADATA":"Metadaten","CATEGORY":"Kategorie","LINKS_GENRES":"Genres","LINKS_CAST":"Cast","LINKS_DIRECTORS":"Directors","SEARCH_VIDEOS":"Videos suchen","SEARCH_PLACEHOLDER":"Magnet-Link suchen oder einfügen","ADDON":"Addon","ADDONS":"Addons","OFFICIAL":"Offiziell","ADDONS_OFFICIAL":"Offizielle Stremio-Addons","ADDONS_POPULAR":"In Ihrer Gegend beliebt","ADDON_FREE":"frei","ADDON_PEERED":"peered","ADDON_SUBSCRIPTION":"Abonnement","ADDON_STREAM_GEORESTRICTED":"In Ihrer Gegend nicht verfügbar","ADDON_STREAM_OFFLINECACHE":"Offline-Zwischenspeicher","ADDON_STREAM_LOCALFILE":"Lokale Datei","SHARE_ADDON":"Addon teilen","AVAILABLE_STREAMS":"Verfügbare Streams","NO_STREAM":"Keine Streams verfügbar","ALL_ADDONS":"All","INSTALL_MORE_ADDONS":"Um mehr Streams bitte weitere Addons installieren","STREAM_NOT_SUPPORTED":"Ausgewählter Stream wird auf dieser Plattform nicht unterstützt.","ADDON_CATALOGUE":"Alle Addons anzeigen »","ADDON_CATALOGUE_MORE":"Mehr Addons »","REPO_ADDED":"Repositorium hinzugeügt","ADDON_REPO_EXIST_ERR":"Dieses Addons-Repositorium existiert bereits","ADDON_REPO_ERR":"Beim Hinzufügen des Repositoriums ist ein Fehler aufgetreten","ADDON_ADD_ERR":"Beim Hinzufügen des Addons ist ein Fehler aufgetreten","ERR_ADDON_PROTECTED":"Geschütztes Addon","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Etwas ist schief gelaufen - die Authentifizierung ist möglicherweise fehlgeschlagen","ERR_NOT_COLLECTION_URL":"Keine Sammlungs-URL","ERR_NOT_ADDON_URL":"Keine Addon-URL","ERR_DETECTFROMURL":"Kann nicht aus der URL erkannt werden","ADDON_DUPLICATE_WARNING":"Warnung: dupliziertes Addon","ADDON_COLLECTION_SET_FAILED":"Addon collection set failed","SETTINGS_DATA_EXPORT":"Daten exportieren","ADDON_PULL_FAILED":"Herunterladen des Addons fehlgeschlagen","REFRESH_ON_CLICK":"Hier klicken, um es erneut zu versuchen","STILL_IN_THEATER":"Film noch im Kino","WATCH_IN_CINEMA":"Sehen Sie ihn in Ihrem lokalen Kino an","IN_THEATER":"Im Kino","GET_TICKETS":"Karten besorgen","UPCOMING_EPISODE":"Bevorstehende Folge","UPCOMING_EPISODE_MESSAGE":"Diese Folge wird ausgestrahlt am","MISSING_DATE_EPISODE":"Für diese Folge gibt es noch kein Datum","MISSING_DATE_EPISODE_MESSAGE":"Diese Folge wurde möglicherweise noch nicht ausgestrahlt","CHANNEL_NOT_SCRAPED":"Dieser Kanal wurde noch nicht gescraped.<br>Bitte Versuche es in ein paar Minuten noch mal.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Fügen Sie es zu Ihrer Bibliothek hinzu, um benachrichtigt zu werden, sobald es verfügbar ist.","GET_NOTIFIED_WHEN_AVAILABLE":"Sie werden benachrichtigt, sobald es verfügbar ist.","WARNING_STREAMING_SERVER":"Warnung: lokaler Streaming-Server nicht gefunden. Streaming von lokalen Dateien, YouTube und BitTorrent wird nicht verfügbar sein.","WARNING_STREAMING_SERVER_DISMISS":"Schließen","WARNING_STREAMING_SERVER_LATER":"Später","DECODER_WARNING":"Warnung: Dieses Video wird von Ihrer Hardware möglicherweise nicht unterstützt. Denken Sie daran, dass die Wiedergabe langsam sein könnte.","GENERIC_ERROR_MESSAGE":"Etwas ist schiefgelaufen!","TRY_AGAIN":"Nochmal versuchen","CLEAR_DATA":"Daten löschen","PLAYER_ERROR":"Hoppla, Abspielerfehler","PLAYER_ERROR_LOOKSLIKE":"Es sieht aus wie","PLAYER_ORIENTATION":"Abspielerausrichtung","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Gesperrt","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensor","PLAYER_ORIENTATION_LANDSCAPE":"Abspielerausrichtung im Querformat fixiert","PLAYER_ORIENTATION_SENSOR":"Abspielerausrichtung automatisch (Sensor)","PLAYER_PLAYBACK_SPEED":"Wiedergabegeschwindigkeit","PLAYER_PLAYBACK_ERROR":"Wiedergabefehler, bitte versuchen Sie es erneut","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Unbekannter Fehler","PLAYER_PLAYBACK_ERROR_DEFAULT":"Entschuldigung, dieses Video kann nicht von {{productName}} abgespielt werden.","PLAYER_SUBTITLES_LANGUAGES":"Untertitel Sprachen","PLAYER_SUBTITLES_VARIANTS":"Untertitel Varianten","PLAYER_SUBTITLES_SETTINGS":"Untertitel Einstellungen","PLAYER_SUBTITLES_DISABLED":"Untertitel sind deaktiviert","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Vertikale Position","PLAYER_SUBTITLES_LOADED":"Untertitel geladen","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Eingebettete Untertitel geladen","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Exclusive subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Subtitles from {{origin}} loaded","PLAYER_PLAY":"Play","PLAYER_PAUSE":"Pause","PLAYER_NEXT_VIDEO":"Next Video","PLAYER_MUTE":"Mute","PLAYER_UNMUTE":"Unmute","PLAYER_OPEN_IN_EXTERNAL":"Open in external player","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Play in {{device}}","PLAYER_LIVE":"Live","PLAYER_NEXT_VIDEO_TITLE":"Als Nächstes im Programm","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Ablehnen","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Jetzt ansehen","PLAYER_COPY_STREAM_SUCCESS":"Stream link was copied to your clipboard","PLAYER_COPY_STREAM_ERROR":"Failed to copy stream link","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","STREAMING_FROM":"streamt von","CASTING_TO":"Casting nach","NETWORK_STATUS":"Netzwerkstatus","STREAM_SPEED":"Stream-Geschwindigkeit:","STREAM_BUFFERED":"Gepuffert:","PEERS_INFO":"Peers Information","PEERS_ACTIVE":"Aktiv:","PEERS_CONNECTED":"Verbunden:","PEERS_WAITING":"Warten:","TRANSCODING_WARNING":"Warnung: Video wird transkodiert.","STREAM_LOADING":"Ladevorgang...","PLAYING_LOCAL":"Wiedergabe aus lokaler Datei","PLAYING_CACHE":"Wiedergabe aus Zwischenspeicher","WRONG_SUBS":"Falsche Untertitel?","ERR_SUBS_LOADING_TITLE":"Fehler beim Laden der Untertitel","ERR_SUBS_LOADING":"Failed loading subtitles: this could be an issue with the addon you are using, or with your network connection","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Die folgenden Untertitel-Addons sind fehlgeschlagen","ERR_CASTING_UPDATE_TITLE":"Could not update casting device info: streaming server might be offline","CHOOSE_DEVICE":"Wählen Sie ein Gerät aus, auf dem Sie zuschauen möchten","NO_CAST_DEVICES":"Keine Casting-Geräte vorhanden.","NO_SETTINGS":"Keine Einstellungen verfügbar","PHONE_TABLET":"Telefon / Tablet","SUBTITLES":"Untertitel","SUBTITLES_CHANGE":"Untertitel ändern für ","SUBTITLES_CHANGE_NONE":"Es gibt keine anderen Untertitel für diese Sprache, Entschuldigung.","SUBTITLES_CHANGE_ACIVE":"Derzeit sind Untertitel &#35;{{subtitlesDialog.activeIdx + 1}} aktiviert. Klicken Sie auf \\"Fortsetzen\\", um Untertitel &#35;{{subtitlesDialog.pickedIdx + 1}}. zu aktivieren","SUBTITLES_OR":"Alternativ,","SUBTITLES_ADJUST_DELAY":"Untertitelverzögerung anpassen:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Oder verwenden Sie die Tasten <span>G</span> / <span>H</span> zum Anpassen während der Wiedergabe.","SUBTITLES_ADJUST_DELAY_TIP":"TIPP: Sie können die Tasten <span>G</span> / <span>H</span> zum Anpassen während der Wiedergabe verwenden.","SUBTITLES_DELAY":"Untertitelverzögerung:","SUBTITLES_LOADING":"Untertitel werden geladen...","SUBTITLES_UNAVAILABLE":"Keine externen Untertitel verfügbar","SUBTITLES_DISABLED":"Disabled","EXTERNAL_PLAYER_DISABLED":"Disabled","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Allow Choosing","EXTERNAL_PLAYER_HINT":"Hint: There is a setting to allow always opening with external player","DONT_SHOW_AGAIN":"Don\'t show again","SERVICE_INSTALL":"Install","AUDIO":"Audio","DEFAULT_LANGUAGE":"Standard-Sprache","DEFAULT_SECONDARY_LANGUAGE":"Standard-Sekundärsprache","SEASON":"Staffel","EPISODE":"Episode","EPISODE_ABBREVIATION":"EP","SPECIAL":"Special","SORT":"sortieren","SORT_BY":"Sortieren nach","FILTER":"filtern","SORT_TRENDING":"im Trend","SORT_RECENT":"kürzlich","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"Bewertung","SORT_WATCHED":"gesehen","SORT_YEAR":"Jahr","SELECT_TYPE":"Select type","SELECT_SORT":"Select sort","SELECT_CATALOG":"Select catalog","SELECT_GENRE":"Select genre","SORT_LASTWATCHED":"By last watched","SORT_NAME":"By name","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"By times watched","SORT_NOTWATCHED":"not watched","New for You":"Neu für Sie","New Episodes":"Neue Episoden","New Videos":"Neue Videos","Recommendations":"Empfehlungen","LIBRARY_RESUME":"Fortsetzen","LIBRARY_PLAY":"Play","LIBRARY_DETAILS":"Details","LIBRARY_RESUME_DISMISS":"Ablehnen","LIBRARY_CLEAR_PROGRESS":"Clear Progress","LIBRARY_REMOVE":"Remove","LIBRARY_NOT_LOGGED_IN":"Library is only available for logged in users","CALENDAR_NOT_LOGGED_IN":"Calendar is only available for logged in users","NOT_LOGGED_IN_CLOUD":"Access your favorite movies and TV shows anytime, anywhere","NOT_LOGGED_IN_RECOMMENDATIONS":"Recommendations tailored to your viewing history","NOT_LOGGED_IN_NOTIFICATIONS":"Never miss an episode again","NOT_LOGGED_IN_CALENDAR":"Schedule your personal watching calendar","DISCOVER_FEATURED":"Ausgewählt","DISCOVER_TOP":"Top","DISCOVER_OSCAR":"Oscar-Gewinner","DISCOVER_WARNING_TITLE":"Oops!","DISCOVER_EMPTY_CATALOG":"Dieses Addon liefert leeren Inhalt.","DISCOVER_ADULT_WARNING":"Diese Inhalte sind nur für Erwachsene sichtbar. Sind Sie über 18?","DISCOVER_NOADDON_WARNING":"Warnung: Für diesen Typ ist kein Stremio-Addon aktiv. Gespeicherte Elemente werden angezeigt, nichts wird hier aktualisiert.","DISCOVER_LOAD_ERR":"Diese Inhalte konnten nicht geladen werden, da ein Fehler vorlag.","DISCOVER_ADDON_UNINSTALLED":"Diese Inhalte sind nicht mehr verfügbar. Möglicherweise wurde das Addon deinstalliert.","UNINSTALL_THIS_ADDON":"Dieses Addon deinstallieren","ERR_ADDON_NOT_INSTALLED":"Dieses Addon ist nicht installiert. Jetzt installieren?","DETAIL_RECEIVE_NOTIF_SERIES":"Benachrichtigungen über neue Episoden erhalten","DETAIL_RECEIVE_NOTIF_VIDEOS":"Benachrichtigungen über neue Videos erhalten","SIDEBAR_SHOW_STREAMS":"Streams zeigen","RELAUNCH":"Jetzt neu starten!","UPGRADE":"Neue Version ist verfügbar! Aktualisieren Sie auf die neueste Stremio-Version","RELOAD_UI":"Reload the user interface","MANUAL_UPDATE_TITLE":"Aktualisieren Sie Ihre Stremio-Version","MANUAL_UPDATE_LINE1":"Sie nutzen eine veraltete Version von Stremio, was nicht empfohlen wird.","MANUAL_UPDATE_LINE2":"Bitte aktualisieren Sie schnellstmöglich.","BUTTON_UPDATE_LATTER":"Nicht jetzt","BUTTON_UPDATE_NOW":"Aktualisieren","ANONYMOUS_USER":"Anonymer Benutzer","DONT_HAVE_ACC":"Sie haben kein Konto?","HAVE_ACC":"Sie haben bereits ein Konto?","PASSWORD":"Passwort","PASSWORD_CONFIRM":"Passwort bestätigen","EMAIL":"E-Mail","FB_LOGIN":"Mit Facebook anmelden","FB_NOTHINGSHARED":"Ohne Ihre Berechtigung wird nichts geteilt","FB_NOPOST":"Wir werden nichts in Ihrem Namen posten","OR":"oder","I_ACCEPT":"Ich akzeptiere die","I_ACCEPT_BY_CLICKING":"Wenn Sie auf die obige Schaltfläche klicken, bestätigen Sie, dass Sie die ","TOS":"Geschäftsbedingungen annehmen","MUST_ACCEPT_TERMS":"Sie müssen die Bedingungen annehmen","PASSWORDS_NOMATCH":"Passwörter stimmen nicht überein","SIGN_UP":"Registrieren","SIGN_UP_EMAIL":"Mit E-Mail registrieren","CLICK_TO_SIGN_UP":"Klicken Sie hier, um sich zu registrieren.","LOG_IN":"Anmelden","LOG_OUT":"Abmelden","EXIT_FULLSCREEN":"Vollbildmodus verlassen","ENTER_FULLSCREEN":"Vollbildmodus aktivieren","PLAY_URL_MAGNET_LINK":"Play URL/Magnet link","HELP_FEEDBACK":"Hilfe und Feedback","TERMS_OF_SERVICE":"Geschäftsbedingungen","PRIVACY_POLICY":"Datenschutzbestimmungen","ABOUT_STREMIO":"Über Stremio","USER_PANEL":"Nutzerpanel","LOGIN_LABEL":"Login","GUEST_LOGIN":"Gast-Anmeldung","GUEST_LOGIN_NOTICE":"Gast-Anmeldung wird nicht empfohlen. Mit einer regelmäßigen Anmeldung kann Stremio Ihre Bibliothek synchronisieren und Sie können Benachrichtigungen für Ihre Lieblingserien/-kanäle erhalten. Sind Sie sicher, dass Sie fortfahren möchten?","GUEST_LOGIN_NOTICE_2":"Gast-Anmeldung wird nicht empfohlen - Sie werden keine Bibliotheks- und Tafelbenachrichtigungen synchronisiert haben, die wichtige Stremio-Funktionen sind. Sind Sie sicher, dass Sie fortfahren möchten?","CLICK_HERE":"Klicken Sie hier","WRONG_PASSWORD":"Falsche E-Mail-Adresse oder Passwort. Falls Sie Ihr Passwort vergessen haben, ","SET_A_PASS":"Passwort festlegen","RESET_PASSWORD":"Passwort zurücksetzen","FORGOT_PASSWORD":"Passwort vergessen?","EMAIL_USED_WITH_FB":"Diese E-Mail-Adresse wurde mit einer Facebook-Anmeldung verwendet.","INVALID_EMAIL":"Bitte geben Sie eine gültige E-Mail-Adresse ein","INVALID_PASSWORD":"Bitte geben Sie ein gültiges Passwort ein","CONN_ERR":"Verbindungsfehler - bitte versuchen Sie es später noch einmal.\\n\\nWenn dies weiterhin besteht, deaktivieren Sie Firewalls/Antivirus-Software (vor allem Bitdefender).","IMPORT_FROM_GUEST":"Bibliothek von Ihrem Gastkonto importieren","RECEIVE_UPDATES_EMAIL":"Aktualisierungen in Ihrer E-Mail von Stremio erhalten","LOGIN_FAILED":"Anmeldung fehlgeschlagen.","SIGNUP_FAILED":"Registrierung fehlgeschlagen.","SEARCH_FAILED":"Suche fehlgeschlagen","EMAIL_USED":"Diese E-Mail-Adresse wird bereits verwendet","WAITING_FB_LOGIN":"Anmeldung mit Facebook...","EXTERNAL_PLAYER_TITLE":"Wiedergabe im externen Player","EXTERNAL_REMEMBER_PLAYER":"Möchten Sie Ihre Auswahl in Erinnerung behalten?","EXTERNAL_ALWAYS_PLAY":"Ja","EXTERNAL_ONLY_ONCE":"Nein","BEST_FIT":"Best Fit","FIT_SCREEN":"in Bildschirm einpassen","FILL":"Fill","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"Erzählen Sie uns, was Sie mögen","INTRO_TASTE_LONG":"Erzählen Sie uns, was Sie gerne sehen möchten","INTRO_TASTE_PICK":"Wählen Sie {{interestsRemaining}} Interessen aus","INTRO_TASTE_PICK_MORE":"Wählen Sie {{interestsRemaining}} weitere Interessen aus","INTRO_TASTE_HELP_US":"Helfen Sie uns, mehr über Sie zu erfahren.","INTRO_TASTE_CHOOSE_THESE":"Wählen Sie einige davon:","INTRO_TASTE_CHOOSE_MIN":"Wählen Sie mindestens 3 Kategorien aus","INTRO_TASTE_CHOOSE_MIN_ERR":"Sie müssen mindestens 3 Kategorien auswählen!","INTRO_TASTE_LIFESTYLE":"Lebensstil","INTRO_TASTE_SPORTS":"Sport","INTRO_TASTE_FOOD_HEALTH":"Essen & Gesundheit","INTRO_TASTE_BEAUTY_FASHION":"Schönheit & Mode","INTRO_TASTE_NEWS":"News","INTRO_TASTE_GAMING":"Spielen","INTRO_TASTE_SCIENCE_EDU":"Wissenschaft & Bildung","INTRO_TASTE_MUSIC":"Musik","INTRO_TASTE_TRAVEL":"Reise","INTRO_TASTE_LATE_NIGHT":"Late Night Show","INTRO_TASTE_REALITY":"Reality","INTRO_TASTE_COMEDY":"Comedy","INTRO_TASTE_DIY":"How to DIY","INTRO_TASTE_TECH":"Tech","INTRO_TASTE_CINEMA":"Kino","ADDON_NOT_SUPPORTED":"Ausgewähltes Addon wird auf dieser Plattform nicht unterstützt.","ADDON_DISCLAIMER":"Die Verwendung von Drittanbieter-Addons unterliegt immer Ihrer Verantwortung und dem Recht der Gerichtsbarkeit, in der Sie sich befinden.","ADDON_ACTIVATE":"Dieses Addon aktivieren?","ADDON_REPO_ADD":"Addon-Repositoriums-URL","ADDON_ADD":"Add","INSTALL_ADDON":"Install addon","ADD_ADDON":"Add addon","ADD_ADDON_DESCRIPTION":"You can add an addon via an external link, which will appear under Installed addons.","PASTE_ADDON_URL":"Paste addon URL","WHATS_NEW":"Was gibt\'s Neues","BUTTON_CONTINUE":"Fortsetzen","BUTTON_ACTIVATE":"Aktivieren","BUTTON_ACTIVATED":"Aktiviert","BUTTON_CANCEL":"Abbrechen","BUTTON_SUBMIT":"Senden","BUTTON_DISMISS_ALL":"Alle ablehnen","BUTTON_VIEW_ALL":"Alle ansehen","BUTTON_SEE_ALL":"See All","BUTTON_COLOR_TRANSPARENT":"Transparent","OPEN_IN_BROWSER":"Open in browser","LIB_EMPTY":"Ihre Bibliothek sieht leer aus. Finden Sie heraus, wie nützlich sie ist :) ","HOW_START":"So können Sie anfangen:","LIB_EMPTY_CAL":"Ihr Kalender zeigt die Serien in Ihrer Bibliothek an.","HOW_START_CAL":"So können Sie Serien hinzufügen:","LIB_EMPTY_BOARD":"Tafel zeigt Benachrichtigungen &amp; Empfehlungen zu Ihrer Bibliothek an.","HOW_START_BOARD_WAIT":"Bitte fügen Sie ein paar Serien oder Kanäle zu Ihrer Bibliothek hinzu und geben uns ein paar Minuten zum Verarbeiten :)","HOW_START_BOARD":"So können Sie Serien &amp; Filme zu ihr hinzufügen:","IMPORT_FB":"Importieren Sie Dinge von <span>Facebook</span>, die Sie mögen","IMPORT_TRAKT":"Importieren Sie Ihre Medienbibliothek von <span>Trakt</span>","IMPORT_DISCOVER":"Finden Sie interessante Sachen von <span>Entdecken</span>","IMPORT_DISK":"Importieren Sie Filme oder Shows, die Sie auf Ihrer <span>lokalen Festplatte</span> haben","PLEASE_CREATE_ACC":"Bitte <u>erstellen Sie ein Konto</u>, um das Synchronisieren der Bibliothek &amp; Tafel zu ermöglichen.","IMPORT_DISCOVER_SIGNUP":"Registrieren Sie sich und finden Sie interessante Sachen von <span>Entdecken</span>","IMPORT_DISK_SIGNUP":"Registrieren Sie sich und importieren Sie Filme oder Shows, die Sie auf Ihrer <span>lokalen Festplatte</span> haben","LIB_EMPTY_CLOUD":"Cloud-Bibliothek","LIB_EMPTY_CLOUD_DESC":"Persönliche Cloud-Bibliothek auf allen Geräten synchronisiert","LIB_EMPTY_EARLY":"Früher Vogel","LIB_EMPTY_EARLY_DESC":"Erhalten Sie Benachrichtigungen für neue Episoden","LIB_EMPTY_PERSONAL":"Persönlich","LIB_EMPTY_PERSONAL_DESC":"Holen Sie sich persönliche Empfehlungen","LIB_EMPTY_CALENDAR_DESC":"Planen Sie Ihren persönlichen Anschau-Kalender","LIB_EMPTY_ALL":"Registrieren Sie sich, um all dies zu bekommen:","LIB_EMPTY_BEST":"Registrieren Sie sich, um das Beste von Stremio zu bekommen","LIB_EMPTY_OTHER":"Registrieren Sie sich, um Kalender & andere tolle Funktionen zu aktivieren","CALENDAR_ADDED":"Der Stremio-Kalender wurde zu Ihrem Standard-Desktop-Kalender hinzugefügt.","CALENDAR_ADDED_MSG":"Wenn dies nicht funktioniert, fügen Sie diese URL bitte manuell zu Ihrer Kalenderanwendung hinzu","TRAKT_EXPIRED":"Trakt authentication expired, please go to Settings and re-authenticate","TRAKT_REQUIRES_LOGIN":"Trakt-Fehler","TRAKT_REQUIRES_LOGIN_MSG":"Sie müssen sich anmelden","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","SETTINGS_LABEL":"Einstellungen","SETTINGS_NAV_GENERAL":"Algemein","SETTINGS_NAV_PLAYER":"Player","SETTINGS_NAV_STREAMING":"Streaming","SETTINGS_NAV_SHORTCUTS":"Verknüpfungen","SETTINGS_SHORTCUT_RELOAD_APP":"App neu laden","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Open Settings","SETTINGS_SHORTCUT_SWITCH_TABS":"Switch Tabs","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Cycle Through Tabs Forward","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Cycle Through Tabs Backward","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigate Between Menus","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Go to Search","SETTINGS_SHORTCUT_EXIT_BACK":"Exit / Go Back","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Toggle Playback Speed Menu","SETTINGS_SHORTCUT_MENU_VIDEOS":"Toggle Videos Menu","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Toggle Subtitles Menu","SETTINGS_SHORTCUT_MENU_INFO":"Toggle Info Menu","SETTINGS_SHORTCUT_FULLSCREEN":"Toggle Fullscreen","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Show Controls","SETTINGS_SHORTCUT_PLAY_PAUSE":"Play / Pause","SETTINGS_SHORTCUT_VOLUME_UP":"Lautstärke erhöhen","SETTINGS_SHORTCUT_VOLUME_DOWN":"Lautstärke verringern","SETTINGS_SHORTCUT_SEEK_NEXT":"Seek Next","SETTINGS_SHORTCUT_SEEK_PREV":"Seek Prev","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Seek Backward","SETTINGS_SHORTCUT_SEEK_FORWARD":"Seek Forward","SETTINGS_SHORTCUT_PLAY_NEXT":"Play Next","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Increase Subtitles Size","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Decrease Subtitles Size","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Increase Subtitles Delay","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Decrease Subtitles Delay","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Seitenleiste umschalten","SETTINGS_SHORTCUT_OR":"or","SETTINGS_SHORTCUT_TO":"to","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Authenticate","SETTINGS_FACEBOOK_IMPORT":"Import","SETTINGS_CALENDAR_SUBSCRIBE":"Subscribe","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Interface Language","SETTINGS_LAUNCH_STARTUP":"Beim Start ausführen","SETTINGS_VLC_DEFAULT":"Mit VLC wiedergeben","SETTINGS_UI_LANGUAGE":"Sprache des UI","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Esc-Taste beendet den Vollbildmodus","SETTINGS_GAMEPAD":"Gamepad-Unterstützung aktivieren","SETTINGS_CLOSE_WINDOW":"Anwendungen beenden, wenn das Fenster geschlossen wird","SETTINGS_SUBTITLES_LANGUAGE":"Standardauswahl für die Untertitelsprache","SETTINGS_SUBTITLES_SIZE":"Standardgröße der Untertitel","SETTINGS_SUBTITLES_BACKGROUND":"Hintergrund der Untertitel","SETTINGS_SUBTITLES_COLOR":"Farbe der Untertitel","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Umrandungsfarbe der Untertitel","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Hintergrundfarbe der Untertitel","SETTINGS_SEEK_KEY":"Arrow keys seek time","SETTINGS_SEEK_KEY_SHIFT":"Arrow keys seek time when Shift key is held","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Rewind & Fast-forward duration","SETTINGS_BINGE":"Nächste Episode automatisch wiedergeben","SETTINGS_NEXT_VIDEO":"Show notification to start next episode","SETTINGS_NEXT_VIDEO_TRIGGER":"Show next episode notification for:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Next video popup duration","SETTINGS_PLAY_IN_BACKGROUND":"Play in background","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Play in external player","SETTINGS_RESIZE":"Größe des Fensters vor der Wiedergabe automatisch ändern","SETTINGS_OVERRIDE_SERVER":"Override the streaming server URL (advanced)","SETTINGS_SERVER_URL":"Streaming server URL: ","SETTINGS_SERVER_AVAILABLE":"Streaming-Server ist verfügbar.","SETTINGS_SERVER_UNAVAILABLE":"Streaming-Server ist nichtverfügbar.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Error","SETTINGS_SERVER_CONFIGURE_TITLE":"Configure streaming server url","SETTINGS_SERVER_CONFIGURE_INPUT":"Enter a streaming server url","SETTINGS_SERVER_CACHE_SIZE":"Cache size","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent profile","SETTINGS_HTTPS_ENDPOINT":"Streaming HTTPS endpoint: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Immer neueste Beta verwenden","SETTINGS_IMPORT_FB":"Von Facebook importieren","SETTINGS_IMPORT_DISK":"Von lokaler Festplatte importieren","SETTINGS_IMPORT_TRAKT":"Von Trakt importieren","SETTINGS_PAUSE_MINIMIZED":"Wiedergabe pausieren, wenn die Anwendung minimiert wird","SETTINGS_HWDEC":"Hardwarebeschleunigte Dekodierung","SETTINGS_BACKGROUND":"Hintergrund-Wiedergabe","SETTINGS_SUBSCRIBE_CALENDAR":"Kalender abonnieren","SETTINGS_REQ_EXPORT":"Datenexport anfordern","SETTINGS_ACC_DELETE":"Kontolöschung anfordern","SETTINGS_CHANGE_PASSWORD":"Passwort ändern","SETTINGS_TOS":"Nutzungsbedingungen","SETTINGS_SUPPORT":"Kundendienst kontaktieren","SETTING_LANGUAGE":"Sprache","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_LOGOUT":"Von Trakt.tv abmelden","SETTINGS_TRAKT_LOGOUT_2":"Von Trakt abmelden","SETTINGS_SCAN_FOR_REMOTE":"QR-Code zum Öffnen der Fernbedienung scannen","SETTINGS_DESKTOP_NOTIFICATIONS":"Desktop-Benachrichtigungen","SETTINGS_DATA_SAVER":"Datenretter","SETTINGS_LANGUAGE_INTERFACE":"Oberfläche","SETTINGS_LANGUAGE_SUBS":"Standarduntertitel","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Autoselect Audio Track","SETTINGS_DEFAULT_AUDIO_TRACK":"Default Audio Track","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"Konto","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"Version","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"Abspieler in einem separaten Fenster starten (erweitert)","SETTINGS_PLAY_IN_EXTERNAL":"Video immer im externen Player starten","SETTINGS_STORAGE_BUTTON":"Lokalen Speicher leeren","SETTINGS_STORAGE_MODAL_TITLE":"Sind Sie sicher?","SETTINGS_STORAGE_MODAL_MESSAGE":"Dies wird den lokalen Speicher leeren und Sie auslogggen.","SETTINGS_HWDEC_PICKER":"Einstellung für hardwarebeschleunigte Dekodierung wählen","SETTINGS_HW_AUTOMATIC":"Automatik","SETTINGS_HW_DISABLED":"Deaktiviert","SETTINGS_HW_ACCELERATED":"Dekodier-Beschleunigung","SETTINGS_HW_FULL":"Vollständige Beschleunigung","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Deaktiviert","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Untertitel","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Steuerung","SETTINGS_SECTION_AUTO_PLAY":"Auto-Play","SETTINGS_SECTION_ADVANCED":"Advanced","SUBSPICKER_AUDIO":"Audio","SUBSPICKER_SUBTITLES":"Addons Subtitles","SUBSPICKER_BLACK_BACKGROUND":"Schwarze Hintergrundfarbe verwenden","SUBSPICKER_VERTICAL_OFFSET":"Vertical Offset","SUBSPICKER_SIZE":"Size","SUBSPICKER_DELAY":"Delay","SUBSPICKER_EMBEDDED_SUBS":"Eingebettete Untertitel","MOBILE_PRIVACY_POLICY":"Datenschutzbestimmungen","MOBILE_CRASH_REPORTING":"Absturzbericht","MOBILE_ZOOM_TO_FILL":"Zoom To Fill Screen","MOBILE_PASSTHROUGH":"Digital audio output (passthrough)","MOBILE_RUN_LOW_BATTERY":"Run on low battery","MOBILE_RUN_FOREGROUND":"Run as Foreground Service","MOBILE_PERFORMANCE":"PERFORMANCE & STABILITY","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"QR Code läuft ab in ","MOBILE_LOG_INTO":"Mit deinem Stremio Account anmelden ","MOBILE_SCAN_QR":"Den QR Code scannen oder gehe zu ","MOBILE_LINK_ACCOUNT":"Account verbinden","MOBILE_SPEEDPICKER_CANCEL":"Abbrechen","MOBILE_SPEEDPICKER_LABEL":"Wiedergabegeschwindigkeit wählen","MOBILE_EMPTY_LIBRARY":"Ihre Bibliothek ist leer","MOBILE_NO_ADDON_ACTIVE":"No Stremio addon active for this type.","MOBILE_ORGANIZER_WARNING":"The Stremio Organizer app provides limited functionality. For a list of playable streams and the full Stremio experience, use Stremio on desktop.","MOBILE_ADDON_LOADING":"lädt noch","MOBILE_ADDONS_LOADING":"Addons laden noch","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Konfiguriere dein Addon","MOBILE_CONFIGURE_ADDON_LABEL":"Addon konfigurieren","MOBILE_ORGANIZER_ADDONS_WARNING":"The Stremio Organizer app provides a limited selection of addons. For the full Stremio experience, use Stremio on desktop.","MOBILE_DISCONNECT":"Trennen","MOBILE_LOOKING_FOR_DEVICES":"Suche nach Geräten...","MOBILE_CAST_TO":"Cast an","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Delete Account","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Account deletion is not instant due to legal obligations. After requesting deletion of your account you will have to use different email address/facebook profile to create a new Stremio account in the future.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirm Account Deletion","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Your account has been created using Facebook. To delete your account, please use our user portal at www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Please provide your password to confirm account deletion.","MOBILE_DELETE_ACCOUNT_BUTTON":"Delete Account","NAVIGATION_ON":"An","NAVIGATION_OFF":"Aus","MARKETING_AGREE":"Ich bin damit einverstanden, von Stremio Marketingmitteilungen zu erhalten","QUIT":"Beenden","CONNECTED":"Verbunden","AUTHENTICATE":"Authentifizieren","CACHING":"Zwischenspeicherung","SETTINGS_CACHING_DRIVE":"Zwischenspeicherungslaufwerk","ENABLE_LOCAL_FILES_ADDON":"Enable the local files addon (requires restart)","LOCAL_ADDON_NOT_ENABLED":"Local addon is not enabled. Click here to go to the settings and enable it","ENABLE_REMOTE_HTTPS_CONN":"Enable remote HTTPS connections","TORRENT_PROFILE":"Torrent Profile","DATA_CACHING":"Datenzwischenspeicherung","MAGNET_PARSING":"Magnet-Link wird geparst","January":"Januar","February":"Februar","March":"März","April":"April","May":"Mai","June":"Juni","July":"Juli","August":"August","September":"September","October":"Oktober","November":"November","December":"Dezember","Monday":"Montag","Tuesday":"Dienstag","Wednesday":"Mittwoch","Thursday":"Donnerstag","Friday":"Freitag","Saturday":"Samstag","Sunday":"Sonntag","Action":"Action","Comedy":"Comedy","War":"Krieg","Family":"Familie","Animation":"Animation","Adventure":"Abenteuer","Fantasy":"Fantasy","Crime":"Krimi","Mystery":"Mystery","Romance":"Romantik","Drama":"Drama","Horror":"Horror","Thriller":"Thriller","Sci-Fi":"Sci-Fi","Music":"Musik","Biography":"Biografie","Documentary":"Dokumentation","Sport":"Sport","Musical":"Musical","Western":"Western","Film-Noir":"Film-Noir","News":"Nachrichten","History":"Geschichte","Game-Show":"Spielshow","Reality-TV":"Reality-TV","Talk-Show":"Talk-Show","Film & Entertainment":"Film & Unterhaltung","Gaming":"Gaming","From TV":"Vom Fernsehen","Lifestyle":"Lebensstil","Science & Education":"Wissenschaft & Bildung","Cooking & Health":"Kochen & Gesundheit","Beauty & Fashion":"Schönheit & Mode","Sports":"Sport","News & Politics":"News & Politik","How-to & DIY":"How-to & DIY","Tech":"Tech","Automotive":"Automobil","Causes & Non-Profits":"Causes & Non-Profits","Movies":"Filme","Uk Live Tv":"Uk Live Tv","Fashion":"Mode","Business News Radio":"Business News Radio","Business Tv":"Geschäftsfernsehen","Cars & Auto":"Auto","Comedy Radio":"Comedy Radio","Lifestyle Radio":"Lebensstilradio","News Tv":"News Tv","Food And Wine":"Essen und Wein","Latino Tv":"Latino Tv","Shopping Tv":"Verkaufsfernsehen","Religion":"Religion","Kids":"Kinder","Body & Soul":"Körper & Seele","Education":"Bildung","Indian Tv":"Indisches Tv","Extreme Sports":"Extremsport","Middle Eastern Tv":"Tv des Mittleren Ostens","Celebrity Tv":"Promifernsehen","Science Tv":"Wissenschaftsfernsehen","Bikini babe":"Bikinischönheit","Outdoors":"Outdoors","German Tv":"Deutsches Fernsehen","French Tv":"Französisches Fernsehen","Italian Tv":"Italienisches Fernsehen","Gamer Tv":"Spielerfernsehen","Travel":"Reise","Asian Tv":"Asiatisches Fernsehen","Entertainment":"Unterhaltung","News Radio":"Nachrichtenradio","Music Radio":"Musikradio","Language Learning":"Sprachen lernen","Science Radio":"Wissenschaftsradio","Tech Radio":"Tech Radio","Science & Technology Vod":"Abrufvideo Wissenschaft & Technologie","new video":"neues Video","new episode":"neue Episode","new movie":"neuer Film","recommended":"empfohlen","we recommend":"wir empfehlen","offer of the day":"Angebot des Tages","news":"Nachrichten","music video":"Musikvideo","CTX_SHOW_HOTKEYS":"Hotkeys anzeigen","CTX_DISMISS_NOTIF":"Benachrichtigungen ablehnen","CTX_DISMISS_ALL":"Alles ablehnen","CTX_SHARE":"Teilen","CTX_COPY_SHARE_LINK":"Freigabelink kopieren","CTX_COPY_MAGNET_LINK":"Magnet-Link kopieren","CTX_COPY_STREAM_LINK":"Stream-Link kopieren","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Dieses Video herunterladen","CTX_DOWNLOAD_SUBS":"Untertitel herunterladen","CTX_VIEW_ON_YOUTUBE":"Auf YouTube ansehen","CTX_SHOW":"Anzeigen","CTX_PLAY":"Wiedergabe","CTX_PLAY_IN":"Wiedergabe in","CTX_PLAY_ON":"Wiedergabe auf","CTX_WATCH_ON":"Angesehen am","CTX_WATCH":"Ansehen","CTX_WATCHED":"Angesehen","CTX_WATCH_BEGINNING":"Von Anfang an ansehen","CTX_WATCH_MOBILE":"Auf einem mobilen Gerät ansehen","CTX_REWIND":"Zurückspulen zum Anfang","CTX_MARK_WATCHED":"Als angesehen markieren","CTX_MARK_NON_WATCHED":"Als nicht angesehen markieren","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"Rest als angesehen markieren","CTX_UNMARK_REST":"Rest als nicht angesehen markieren","CTX_RECEIVE_NEW_NOTIF":"Neue Benachrichtigungen erhalten","CTX_ENABLE_NEW_NOTIF":"Benachrichtigungen aktivieren","CTX_DISABLE_NEW_NOTIF":"Benachrichtigungen deaktivieren","CTX_REMOVE_CACHE":"Aus Zwischenspeicher entfernen","CTX_REMOVE_CACHE_EP":"Episode aus Zwischenspeicher entfernen","CTX_OPEN_CONTAINING":"Enthaltenden Ordner öffnen","CTX_REMOVE":"Aus Bibliothek entfernen","CTX_AVAILABLE_OFFLINE":"Offline verfügbar","CTX_PAUSED":"Pausiert","CTX_ALWAYS_ON_TOP":"Immer oben","CTX_FULLSCREEN":"Vollbild","CTX_WRONG_SUBS":"Falsche Untertitel?","CTX_REPORT_ISSUES":"Problem melden","CTX_COPY":"Kopieren","CTX_PASTE":"Einfügen","CTX_CLEAR":"Löschen","CTX_CLEAR_RECENT_SEARCHES":"Kürzliche Suchanfragen löschen","HELLO_THERE":"Hallöchen","HOPE_YOU_ENJOY":"Wir hoffen, dass Sie Stremio genießen und es schon eine Ihrer Lieblings-Apps ist!","WHO_ARE_WE":"Wer sind wir? Wir sind das Team dahinter - zwei Jungs, die jeden Tag seit den letzten 3 Jahren hart arbeiten, um dieses Produkt besser und besser zu machen.","SUPPORT_US":"Wenn Sie Stremio gerne verwenden, wenn Stremio für Sie wertvoll ist - sagen Sie es weiter!","SPREAD_THE_WORD":"Teilen Sie es jetzt mit Ihren Freunden, erzählen Sie Stremio weiter","MORE_PEOPLE":"Je mehr Menschen Stremio benutzen, desto besser wird es!","SEND_A_LINK":"Oder senden Sie einen Link zu unserer Website","TIP_LOCALFILES":"Tipp: Sie können lokale Videodateien per Drag & Drop in Stremio verschieben","ADDON_MY":"Meine Addons","ADDON_COMMUNITY":"Community Addons","ADDON_OFFICIAL":"Offizielle Addons","ADDON_REPOS":"Addon-Repositorien","ADDON_SEARCH":"Addons suchen","ADDON_INSTALL":"Installieren","ADDON_CONFIGURE":"Konfigurieren","ADDON_UNINSTALL":"Deinstallieren","ADDON_UPGRADE":"Upgrade","ADDON_INSTALLED":"Installiert","ADDON_INSTALLED_MSG":"Addon installiert!","ADDON_UPGRADED_MSG":"Addon upgraded!","ADDON_UNKNOWN":"Unbekannt","ADDON_ERR":"Addon-Installationsfehler!","ADDON_DISCONNECTED":"Getrennt","ADDON_APP_MISSING":"die App für diese Quelle ist nicht installiert. Möchten Sie sie jetzt installieren?","ADDON_APP_INSTALL":"Jetzt installieren","ADDON_PAGE":"Addon-Seite","ADDON_TOP_CONTENT":"Bestes aus diesem Addon","ADDON_PROVIDES":"Dieses Addon gibt Ihnen:","ADDON_WATCH":"#{types} jetzt ansehen!","ADDON_WATCH_FREE":"#{types} jetzt KOSTENLOS ansehen!","ADDON_ADDON":"Addon","ADDON_SUPPORTED_TYPES":"Supported types","ADDON_SUPPORTED_CATALOGS":"Supported catalogs","ADDON_PROVIDES_DISCOVER":"Mehr #{types} in Entdecken","ADDON_PROVIDES_STREAMS":"#{types} ansehen","ADDON_PROVIDES_STREAMS_FREE":"#{types} KOSTENLOS ansehen","ADDON_PROVIDES_SUBTITLES":"Untertitel für #{types}","ADDON_CANTDETECT":"Wir konnten kein laufendes Stremio erkennen, deshalb konnten wir nicht erkennen, welche Addons Sie installiert haben.","ERR_NO_META":"Keine Informationen dazu gefunden ","ERR_GETTING_META":"Fehler beim Abrufen von Informationen darüber.","ERR_CANT_PARSE_MAGNET":"Kann Magnet nicht parsen","ERR_NO_MAGNET_INFOHASH":"Kein gültiger Info-Hash für Magnet","ERR_NO_FILE_PATH":"Kann keine Anfrage ohne Pfad zur Datei senden","ERR_NO_TORRENT":"Kein Torrent zurückgegeben","ERR_NO_SUPPORTERD_FILES":"Keine unterstützten Dateien gefunden","ERR_OPENING_FILES":"Externe Dateien konnten nicht geöffnet werden","ERR_INVALID_LINK":"Ungültiger Link","ERR_REGISTERED_ONLY":"Diese Option ist nur für registrierte Benutzer verfügbar.","ERR_CLIPBOARD":"Can not play from clipboard","ERR_CLIPBOARD_READ":"Can not read the clipboard on this platform","ERR_CLIPBOARD_GENERIC":"No playable URL found in the clipboard. Please copy a URL (e.g. a magnet link) to a video.","BOARD_CONTINUE_WATCHING":"Weiter ansehen","BOARD_EXPLANATION_RECOMMENDATIONS":"Filme, die speziell für Sie ausgewählt wurden.<br />Dieser Film ist eine Beispielempfehlung.","BOARD_EXPLANATION_EPISODES":"Neue Episoden Ihrer Lieblingsserie kommen hierher.<br />Fügen Sie Serien, denen Sie folgen, zu Ihrer Bibliothek hinzu.","BOARD_EXPLANATION_VIDEOS":"Neue Episoden Ihrer Lieblingskanäle kommen hierher.<br />Fügen Sie YouTube-Kanäle, denen Sie folgen, zu Ihrer Bibliothek hinzu.","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE":"Beitragen","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"Learn more","WEBSITE_COMPANY":"Company","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Hilfe Gefällig?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallerie","WEBSITE_PARTNERS":"Partner","WEBSITE_SLOGAN_WATCH":"Sofort ansehen","WEBSITE_SLOGAN_ALL":"Alle Videoinhalte, die Sie an einem Ort genießen","WEBSITE_SLOGAN_NEW":"Alles, was Sie sehen können","WEBSITE_SLOGAN_NEW_NEW":"Freedom to Stream","WEBSITE_WATCH_FROM":"Ansehen von","WEBSITE_DOWNLOAD":"Jetzt herunterladen","WEBSITE_DOWNLOAD_FOR":"Jetzt herunterladen für","WEBSITE_IS_DESKTOP":"Stremio ist eine Desktop-Anwendung, öffnen Sie diese Seite auf Ihrem PC und laden Sie sie herunter","WEBSITE_DESKTOP_DEMO_VID":"Desktop-Demo","WEBSITE_PAGE_HOME":"Home","WEBSITE_PAGE_FEATURES":"Funktionen","WEBSITE_PAGE_ADDONS":"Addons","WEBSITE_PAGE_TECH":"Technologie","WEBSITE_PAGE_CREATE_ADDON":"Addon erstellen","WEBSITE_PAGE_CONTACTS":"Kontakte","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Filme","WEBSITE_TYPE_series_PL":"Serien","WEBSITE_TYPE_tv":"Live-Fernsehen","WEBSITE_TYPE_channel":"Kanäle","WEBSITE_STREMIO_WHAT_IS":"Stremio ist eine App, die Ihnen hilft, Ihre Lieblingsvideos, Filme, Fernsehserien und Fernsehkanäle zu organisieren und sofort anzusehen.","WEBSITE_FEATURES_WATCH":"Sofort in HD ansehen","WEBSITE_FEATURES_WATCH_DETAIL":"Klicken und geben Sie Ihre Lieblingsfilme, Fernsehshows, Videos und Fernsehkanäle wieder.","WEBSITE_FEATURES_SUBS":"Automatische Untertitel","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio holt automatisch synchronisierte Untertitel für Ihre Sprache.","WEBSITE_FEATURES_SUBS_LABEL":"Sie sind dran, Chef.","WEBSITE_FEATURES_CAST":"Auf Fernseher & mobilen Geräten wiedergeben","WEBSITE_FEATURES_CAST_DETAIL":"An AppleTV, Chromecast, Smart TV (DLNA/UPnP) und mobile Geräte übertragen.","WEBSITE_LIB":"Genießen Sie Ihre persönliche synchronisierte Bibliothek auf all Ihren Geräten","WEBSITE_LIB_COLLECT":"Von Stremio sammeln","WEBSITE_LIB_IMPORT":"Von Facebook importieren","WEBSITE_LIB_LOCAL":"Von Ihrer lokaler Festplatte hinzufügen","WEBSITE_BOARD":"The Board - Your one-stop place for Notifications and Recommendations","WEBSITE_BOARD_RECOMMEND":"Empfohlene Fernsehshow","WEBSITE_BOARD_TRENDING":"Film im Trend","WEBSITE_BOARD_NEW":"Neues Video","WEBSITE_BOARD_EPISODE":"Neue Episode","WEBSITE_BOARD_1":"Suchen Sie etwas Interessantes zum Anschauen? Holen Sie sich Empfehlungen nach Ihrem Geschmack!","WEBSITE_BOARD_2":"Lassen Sie sich benachrichtigen, wenn eine neue Episode Ihrer Lieblingssendung oder Ihres Lieblingskanals auf YouTube veröffentlicht wurde!","WEBSITE_BOARD_YOUTUBE":"Neue Videos von YouTube-Kanälen","WEBSITE_BOARD_EPISODES":"Neue Episoden von Serien, denen Sie folgen","WEBSITE_ADDONS":"Inhalts-Addons","WEBSITE_TECH_DETAIL":"Wir lieben Technologie, wir lieben verrückte Wissenschaft!\\nStremio verwendet die folgenden Open-Source-Technologien:","WEBSITE_TECH_WCJS":"WebChimera.js erlaubt Stremio die Wiedergabe jedes Videoformats mit guter Leistung.","WEBSITE_TECH_WCJS_EXTRA":"Wir sind Kern-Projektbeitragende","WEBSITE_TECH_ELECTRON":"Electron bietet eine innovative Plattform, um Stremio damit zu bauen.","WEBSITE_TECH_ELECTRON_EXTRA":"Wir sind Projektbeitragende","WEBSITE_TECH_LINVODB":"Eine Datenbank-Technologie, die sicherstellt, dass Ihre Daten organisiert und überall verfügbar sind, wo Sie sich anmelden.","WEBSITE_TECH_LINVODB_EXTRA":"Hauseigene Technologie","WEBSITE_CREATE_ADDON":"Erstellen Sie Ihr Addon","WEBSITE_CREATE_ADDON_DETAIL":"Haben Sie einen Dienst, der Videoinhalte anbietet? Wir helfen Ihnen, von den Funktionen von Stremio zu profitieren, indem wir Ihr Addon erstellen.","WEBSITE_CREATE_ADDON_BENEFITS":"Vorteile vom Erstellen eines Addons für Stremio","WEBSITE_P2P_BEAUTY":"Die Schönheit von Peer-to-Peer-Streaming","WEBSITE_P2P_1":"Zuverlässige und erschwingliche Full HD / 4K Video on Demand oder Live-Streaming","WEBSITE_P2P_2":"Verteilungsplattform für großartige Benutzererfahrung","WEBSITE_P2P_3":"Wir erstellen ein Addon, das Ihre genauen Bedürfnisse erfüllt","WEBSITE_P2P_CONTACT":"Interessiert? Sie sind herzlich eingeladen, <a href=\'mailto:office@stremio.com\'>uns zu kontaktieren</a>.","WEBSITE_P2P_CONTACT_EXTRA":"Wir helfen Ihnen gerne bei der Integration Ihrer Inhalte mit Stremio!","WEBSITE_P2P":"Gelegentlich kommt eine Technologie, die den Namen des Spiels ändert. Wir haben viel Zeit und Mühe investiert, unsere Peer-to-Peer (P2P) Video-Streaming-Engine zu bauen, die eine hervorragende Leistung und Vielseitigkeit bietet, um sich jedem Anwendungsfall anzupassen.\\nKontaktieren Sie uns für DRM-fähiges P2P-Abrufvideo oder Live-Streaming.","WEBSITE_THOUGHTS":"Gedanken, die wir teilen:","WEBSITE_SPREAD":"Erzählen Sie über Stremio:","WEBSITE_CONTACT":"Kontaktieren Sie uns, wir freuen uns von Ihnen zu hören!","WEBSITE_OPENSOURCE":"Für unsere Open-Source-Projekte, gehen Sie zu unserem","WEBSITE_BITCOIN":"Bitcoin spenden:","WEBSITE_FAQ":"Häufig gestellte Fragen","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Fragen","WEBSITE_TOS":"Nutzungsbedingungen","WEBSITE_LEGAL":"Rechtlich","WEBSITE_PAGE_ABOUT":"Über","WEBSITE_PAGE_BECOME_PARTNER":"Werden Sie Partner","WEBSITE_ALL_YOU_CAN_WATCH":"Alles, was Sie ansehen können","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"Was ist Stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio is a one-stop hub for video content aggregation. Discover, organize and watch video from all kind of sources on any device that you own.","WEBSITE_WHAT_IS_STREMIO_P2":"Movies, TV shows, series, live television or web channels like YouTube and Twitch.tv - you can find all this on Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio is a modern media center that\'s a one-stop solution for your video entertainment. You discover, watch and organize video content from easy to install addons.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Movies, TV shows, live TV or web channels - find all this on Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Genießen Sie es auf all Ihren Mediengeräten.","WEBSITE_DEVICES_COLLECT":"Von Stremio abholen","WEBSITE_DEVICES_IMPORT_FB":"Von Facebook importieren","WEBSITE_DEVICES_LOCAL":"Von lokalem Laufwerk hinzufügen","WEBSITE_JOIN_THE_PARTY_NOW":"Join the party now","WEBSITE_DEVICES_ALL":"Easy to use on all your devices;","WEBSITE_EXTENDABLE_CATALOG":"Infinitelly extendable video catalog;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Great features to organize your media;","WEBSITE_AS_SEEN_ON":"Wie gesehen am","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"Über uns","WEBSITE_LINK_TECHNOLOGY":"Technologie","WEBSITE_LINK_APPS":"Apps","WEBSITE_LINK_DOWNLOADS":"Downloads","WEBSITE_MORE":"Mehr","WEBSITE_LINK_ADDONS":"Addons","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Beitragen","WEBSITE_LINK_COMMUNITY":"Community","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... & Mehr","WEBSITE_LINK_HELP":"Hilfezentrum","WEBSITE_LINK_CONTACTS":"Kontaktieren Sie uns","WEBSITE_LINK_TOS":"Geschäftsbedingungen","WEBSITE_LINK_PRAVACY":"Datenschutzerklärung","WEBSITE_SUBSCRIBE":"Abonnieren","WEBSITE_NEWSLETTER":"Join Our Newsletter for amazing stuff","WEBSITE_PLACEHOLDER_EMAIL":"Ihre E-Mail","WEBSITE_COMMUNITY":"Community","WEBSITE_LINK_PRAVACY_LEGAL":"Datenschutz & Rechtliches","WEBSITE_WHY":"Warum wir es tun","WEBSITE_WHY_P1":"At Stremio, we come to work every day because we want to solve an important problem for the video-on-demand industry. There’s so much new content published every minute that it’s virtually impossible to find your way around it.","WEBSITE_WHY_P2":"We help people navigate that huge world of video entertainment and discover new content to enjoy. Our apps bring together movies, series, live TV, web channels, and more. We are dedicated to making it incredibly easy for users to find titles and broadcasters that they love.","WEBSITE_WHY_P3":"You can use our service on any device and at any time, making Stremio the only video entertainment hub you’ll ever need.","WEBSITE_TEAM":"TEAM","WEBSITE_TEAM_P":"The Stremio team is small but powerful: between the ten of us, we code in X languages, and share expertise in software development, UI and UX design, marketing and advertising, and business and startups.","WEBSITE_FEATURES":"Merkmale","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Discover new content with ease","WEBSITE_FEATURES_DISCOVER_P":"Easily discover new movies, TV shows, series and channels to watch. Browse by category, genre, rating, recency, etc. or simply type a name to find. Stremio makes finding new video content a piece of cake.","WEBSITE_FEATURES_ALL_CONTENT":"All of your video content on one screen","WEBSITE_FEATURES_ALL_CONTENT_P1":"See what movies, series or videos you didn’t finish and continue watching them; get notified for new episodes and releases; and browse through the recommendations you will get based on your viewing habits.","WEBSITE_FEATURES_LIBRARY":"Organize your video library","WEBSITE_FEATURES_LIBRARY_P1":"Add any title to your Stremio library with a single click and find your way around your content, neatly arranged by type, recency, or alphabetical order.","WEBSITE_FEATURES_CALENDAR":"Keep track of everything you watch","WEBSITE_FEATURES_CALENDAR_P1":"Get a calendar visualization of all the movies and series you add to your library. Export your Stremio calendar and sync it so you always know when a new episode or a premier is due.","WEBSITE_FEATURES_BIG_SCREEN":"Enjoy your video content on a bigger screen","WEBSITE_FEATURES_BIG_SCREEN_P1":"Cast whatever you are watching to another device - be it a phone, tablet or a TV with a single click.","WEBSITE_FEATURES_SOURCES":"Watch video from many different sources","WEBSITE_FEATURES_SOURCES_P":"Install official and community addons to enjoy video sourced from many different providers - all in one sleek, easy to use app.","WEBSITE_CREATE_AN_ADDON":"Create an addon","WEBSITE_FEATURES_SYNC":"Sync your library across different devices and resume your playback","WEBSITE_FEATURES_SYNC_P1":"Login with your account across all your devices and enjoy your library, addons, playback and calendar synchronized.","WEBSITE_FEATURES_EXTENDABLE":"Extendable video catalog by addons","WEBSITE_FEATURES_EXTENDABLE_P1":"The Stremio addon catalog provides a number of addons to install and watch a variety of video content from. This includes movies, shows, live TV, sport, news, podcasts, web channels, video games and more.","WEBSITE_FEATURES_AUTO_SUBS":"Automatic subtitles","WEBSITE_FEATURES_AUTO_SUBS_P1":"With our subtitle addons you get automatically selected options for your preferred language.","WEBSITE_FEATURES_CHROMECAST":"Casting to Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Enjoy your video content on a bigger screen or just cast whatever you are watching to another device.","WEBSITE_FEATURES_KEEP_TRACK":"Keep track of your favorite TV shows and Web channels","WEBSITE_FEATURES_KEEP_TRACK_P1":"Get a calendar visualization and notifications for new episodes of your favorite series and web channels.","WEBSITE_FEATURES_POWER_USER":"Power user features","WEBSITE_FEATURES_POWER_USER_P1":"Play in external player","WEBSITE_FEATURES_POWER_USER_P2":"Play from a torrent file or magnet link","WEBSITE_FEATURES_POWER_USER_P3":"Import to your library from Facebook likes or local disk","WEBSITE_ADD_ONS":"Addons","WEBSITE_ADD_ONS_P1":"All of the video content Stremio provides get sourced through an addon system - no content or content provider has been built into the app.","WEBSITE_ADD_ONS_P2":"There are two groups of addons available: official and community addons.","WEBSITE_ADD_ONS_P3":"The official ones are developed and hosted by Stremio, whereas community addons are created by our community members, who also host them.","WEBSITE_ADDONS_OFFICIAL":"Official addons","WEBSITE_ADDONS_WATCHUB":"Stream your favourite movies, series and shows from providers like iTunes, Hulu, Amazon and other UK/US services.","WEBSITE_ADDONS_YOUTUBE":"Watch your favourite YouTube channels ad-free and get notifications for new uploads from the contributors you follow.","WEBSITE_ADDONS_FILMON":"Watch live TV, movies and social television for free. 600 TV channels, 45,000 free movies, documentaries and more.","WEBSITE_ADDONS_OPENSUBTITLES":"Movie and TV subtitles in multiple languages, thousands of translated subtitles uploaded every day.","WEBSITE_ADDONS_COMMUNITY":"Community addons","WEBSITE_ADDONS_FILMON_VOD":"Watch video on demand from Filmon.tv","WEBSITE_ADDONS_TWICH":"Watch live streams from Twitch.tv - a video streaming platform for the e-sports industry.","WEBSITE_ADDONS_VODO":"Watch indie movies absolutely free of charge.","WEBSITE_ADDONS_NETFLIX":"Watch Netflix movies and web series.","WEBSITE_ADDONS_CREATE":"Create an addon","WEBSITE_ADDONS_CREATE_P1":"If you wish, you can develop your own addon. This way, you can give yourself and our community access to new video content, and reach a new, targeted audience of millions of users around the world.","WEBSITE_ADDONS_START_CREATE":"To get started, visit the Stremio Addon SDK page:","WEBSITE_DOWNLOADS":"Downloads","WEBSITE_DOWNLOADS_P1":"For optimal performance, we recommend that you use the latest available version of the Stremio apps. If for some reason, however, you would like to use an older version, you can download it here.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio für Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio für macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio für Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio für Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio für Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio für Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio für Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio für iOS","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio für Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio für LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio für Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio für Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio für Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio für Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service für Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service für macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service für Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service für Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"Mehr Download Optionen","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"The Stremio platform is open source and you can easily create an addon for content that is currently not sourced.","WEBSITE_CONTRIBUTE_WHY":"Why should you create an addon?","WEBSITE_CONTRIBUTE_WHY_P1":"Reach new audience for your video content","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio’s user base is growing rapidly - within the first year of the launch, Stremio had gained 1 million users around the world, and in the second year of the platform’s existence this number grew to 2.5 million.","WEBSITE_CONTRIBUTE_WHY_P3":"With your addon, you can easily reach this audience and distribute your video content to them.","WEBSITE_CONTRIBUTE_ALL":"Watch your favourite movies, videos, series and channels in one single place.","WEBSITE_CONTRIBUTE_ALL_P1":"You’re a fan of a particular type of content not available on Stremio yet? Create an addon for it and enjoy watching your favourite videos in one of the largest and easiest to use entertainment hubs on the market.","WEBSITE_CONTRIBUTE_ALL_P2":"On top of that, you’ll get the endless gratitude of other like-minded Stremio community members.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetize your addon and earn money with its help","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Once you develop a new addon for Stremio, you can easily monetize it through a number of different ways. If you are considering this, feel free to get in touch with us at ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - we would be happy to consult and advise you about addon monetization options.","WEBSITE_CONTRIBUTE_TRANSLATE":"Become a volunteer translator","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"If you want to enjoy the Stremio apps in different languages, you can join our community of volunteer translators. They help us add versions of the Stremio in many different languages.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Are you eager to get started?","WEBSITE_TRANSALTE_STREMIO":"Stremio übersetzen","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Official communities","WEBSITE_COMMUNITY_OFFICIALS_P1":"Become a part of the growing Stremio community. Follow us on social media and don’t be shy to say hello - we love hearing from our fans! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Inoffiziell","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partners and supporters","WEBSITE_COMMUNITY_GOODIES":"Stremio goodies","WEBSITE_COMMUNITY_WALLPAPERS":"Wallpapers","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"Kontaktieren Sie uns","WEBSITE_CONTACT_US_P1":"If you have any questions, comments or suggestions, feel free to get in touch with us through the contact form below.","WEBSITE_CONTACT_US_P2":"Keep in mind that we are located in Bulgaria so there may be a delay in addressing your query due to time zone differences.","WEBSITE_CONTACT_US_SUCCESS":"Your message has been sent. We will get back to you at our earliest convenience.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Bitte geben Sie eine gültige E-Mail-Adresse ein!","WEBSITE_CONTACT_US_Q_RELATED_TO":"Worauf bezieht sich Ihre Frage?","WEBSITE_CONTACT_US_Q_OS":"Was ist Ihr Betriebssystem?","WEBSITE_CONTACT_US_PH_EMAIL":"Ihre E-Mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Nachricht","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"SENDEN","WEBSITE_CONTACT_US_Q_1":"How to install?","WEBSITE_CONTACT_US_Q_2":"How to uninstall?","WEBSITE_CONTACT_US_Q_3":"(HTML) How to make lasagna?","WEBSITE_CONTACT_US_Q_4":"Addons","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Technologie","WEBSITE_TECHNOLOGY_P1":"We love technology and mad science. </br> Here is what powers Stremio (it’s all open-source).","WEBSITE_TECHNOLOGY_P_QT":"Cross-platform software development at its best.","WEBSITE_TECHNOLOGY_P_MPV":"A free, open source, and cross-platform media player.","WEBSITE_TECHNOLOGY_P_RN":"React Native lets you build mobile apps using only JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework embedded into application to get multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm is a mobile platform and a replacement for SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js is an open-source, cross-platform, JavaScript runtime environment.","WEBSITE_TECHNOLOGY_P_RUST":"Rust is a multi-paradigm system programming language focused on safety, especially safe concurrency.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribute to the project","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"There are two ways you can contribute to Stremio and help us make the product even better.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"You can donate your valuable language skills by translating the platform...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"oder","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... you can employ your coding skills for creating community addons. ","WEBSITE_TRANSLATE_STREMIO":"Stremio übersetzen","WEBSITE_404_OH_NO":"Uh-oh! The page you’re looking for is not here...","WEBSITE_GO_HOME":"Go home","WEBSITE_LINK_OTHER_DOWNLOADS":"Other downloads","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Support","WEBSITE_DOWNLOAD_4_0_BETA":"Download Now Stremio 4 beta","WEBSITE_GET_FOR_DESKTOP":"Get for desktop","WEBSITE_LINK_ADDON_COMPETITION":"Addon competition","WEBSITE_LINK_ART_CONTEST":"Art contest","WEBSITE_MY_ACCOUNT":"My account","WEBSITE_MAINPAGE_FAQ_001_H1":"What is Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio is a modern media center that gives you the freedom to watch everything you want.","WEBSITE_MAINPAGE_FAQ_002_H1":"How does it work?","WEBSITE_MAINPAGE_FAQ_002_P1":"Once you install Stremio on your device and create an account, all you have to do is to visit the addon catalog and install any addon you want, and you\'re good to go!","WEBSITE_MAINPAGE_FAQ_002_P2":"After that, you can go to the Discover or Board sections to start exploring content.","WEBSITE_MAINPAGE_FAQ_003_H1":"What can I watch here?","WEBSITE_MAINPAGE_FAQ_003_P1":"A lot: Movies, TV shows, Web channels, Sport, TV channels, listen to Podcasts and more. Thanks to our addon system, you can accss a variety of content.","WEBSITE_MAINPAGE_FAQ_004_H1":"Is Stremio open-source?","WEBSITE_MAINPAGE_FAQ_004_P1":"Yes, you can check the following links: ${1}desktop app${2} and ${3}GitHub organization${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Is Stremio safe?","WEBSITE_MAINPAGE_FAQ_005_P1":"Yes: because it is open-source software, the code is publically auditable and you can review it yourself.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"How about my privacy?","WEBSITE_MAINPAGE_FAQ_006_P1":"We respect users\' privacy and do not collect any personal data besides the essential minimum to create and sync your account.","WEBSITE_MAINPAGE_FAQ_006_P2":"There is also a ${1}Guest mode${2} at signup, which requires no data whatsoever: in this mode, no calls are made to our backend. However, it comes at the expense of useful features, such as being able to sync your library across devices.","WEBSITE_MAINPAGE_FAQ_007_H1":"Can I cast to my TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Yes, we support Chromecast and you can cast both from desktop and mobile apps (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"How many addons does Stremio have?","WEBSITE_MAINPAGE_FAQ_008_P1":"As of late 2019, over 50 - for more information, check our addon catalog.","WEBSITE_MAINPAGE_FAQ_009_H1":"Can Stremio be extended beyond what\'s in the addon catalog?","WEBSITE_MAINPAGE_FAQ_009_P1":"Yes, you should check those: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"What devices does Stremio support?","WEBSITE_MAINPAGE_FAQ_010_P1":"We have desktop apps for Windows, Mac and Linux. For mobile, we support Android and iOS, although keep in mind that the iOS is limited in functionality (does not support most addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"There are many Android-based devices which you can run Stremio on, like NVIDIA Shield and Amazon Fire Stick, but we do not support them officially.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Can you add certain content to Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Sorry, we provide no content ourselves, but the more Stremio addons you have installed, the more content you will be able to find.","WEBSITE_MAINPAGE_FAQ_012_H1":"Can Stremio play magnet links?","WEBSITE_MAINPAGE_FAQ_012_P1":"Yes, and it can also play normal HTTP links and torrent files (drag and drop).","WEBSITE_MAINPAGE_FAQ_013_H1":"Can I download a video and watch offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Available offline is an upcoming feature, but if you allow Stremio to cache on your device (from the settings panel) you can watch the videos later without a connection.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nothing works, help me!","WEBSITE_MAINPAGE_FAQ_014_P1":"Are you sure you have installed addons? If yes, check with our ${1}help center${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"How does Stremio sustain it\'s development operations?","WEBSITE_MAINPAGE_FAQ_015_P1":"We run non-intrusive ads occassionally, but we\'re considering moving to a donation model.","WEBSITE_MAINPAGE_FAQ_015_P2":"For more questions, go to our ${1}help center${2}.","HELP_LEARN_MORE":"Helfen Sie uns, mehr über Sie zu erfahren.","LIFESTYLE":"Lebensstil","SPORTS":"Sport","FOOD_HEALTH":"Essen & Gesundheit","BEAUTY_FASHION":"Schönheit & Mode","NEWS":"Nachrichten","GAMING":"Spielen","SCIENCE_EDUCATION":"Wissenschaft & Bildung","MUSIC":"Musik","TRAVEL":"Reise","LATE_NIGHT":"Late Night","REALITY":"Reality","COMEDY":"Comedy","DIY":"How to DIY","TECH":"Tech","CINEMA":"Kino","CONTINUE":"Fortsetzen","SLOW_LOADING":"LANGSAMES LADEN?","I_GIVE_UP":"ICH GEBE AUF","LEARN_MORE":"Erfahren Sie mehr","POOR_SOURCE":"Diese Quelle ist schlecht verfügbar oder Ihre Internetverbindung ist nicht schnell genug","PICK_CATEGORIES_ERR":"Sie müssen mindestens 3 Kategorien auswählen","ADJUST_TIMING":"zeitliche Abstimmung anpassen mit ","ADJUST_SIZE":"Größe anpassen mit ","SEARCH_ANYTHING":"Sie können alles suchen...","ALL_CATEGORIES":"Alle","SEARCH_CATEGORIES":"Filme, Serien, YouTube & Fernsehen","SEARCH_PERSONS":"Schauspieler, Regisseure und Autoren","SEARCH_PROTOCOLS":"HTTP- & Magnet-Links","SEARCH_TYPES":"IMDB- / TVDB-Links","WATCHED":"Angesehen","SHOW_LESS":"Weniger anzeigen","LAST_SEARCHES":"Letzte Suchanfragen","CLEAR_HISTORY":"Clear history","CHOOSE_SOME":"WÄHLEN SIE VON DIESEN AUS:","NO_WEB_REMOTE":"Web-Fernbedienung konnte nicht geladen werden","STREMIO_OFFLINE":"Stremio ist offline","STREMIO_EXPENSIVE_CONNECTION":"Wir haben festgestellt, dass du eine mobile Datenverbindung verwendest. Möchtest du fortfahren?","USE_DATA":"Mobile Daten benutzen","WARNING":"Warnung","MORE_INFO":"Weitere Informationen ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Wird geladen ...","STREMIO_TV_BACK_TO_LANGUAGES":"Zurück zu den Sprachen","STREMIO_TV_REMOTE":"Fernbedienung","STREMIO_TV_GO_TO":"Gehe zu:","STREMIO_TV_OR_SCAN":"oder scanne:","STREMIO_TV_ADDON_INSTRUCTIONS":"Please follow the instructions in order to install your preferred addons.","STREMIO_TV_LIVE_TV":"Live TV","STREMIO_TV_RESUME_WATCHING":"Resume Watching","STREMIO_TV_LOADING_BACKGROUND":"Loading Background","STREMIO_TV_CHECKING_AUTHENTICATION":"Checking Authentication","STREMIO_TV_LOADING_BOARD":"Loading Board","STREMIO_TV_LOGIN_HEADER_LINE_1":"We want our users to have the best possible personalized experience with our software.","STREMIO_TV_LOGIN_HEADER_LINE_2":"It is for this reason that we kindly ask you to make and/or login to your account.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Thank you for understanding,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Das Stremio-Team","STREMIO_TV_REMOTE_INSTRUCTIONS":"In order to use the Web Remote with your Smartphone / Tablet / Desktop:","STREMIO_TV_WIFI_SETUP":"Wi-Fi-Einrichtung","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle did not detect a internet connection.","STREMIO_TV_WIFI_DETAILS_1":"Verbinden mit:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Passwort verwenden:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Web Browser öffnen mit dem Link:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Standard","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"Nach Zuletzt Geschaut","STREMIO_TV_LIBRARY_SORT_NAME":"Nach Name","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"Nach Name Absteigend","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"Nach Geschauter Zeit","STREMIO_TV_LIBRARY_SORT_WATCHED":"Nach Geschaut","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"Nach Nicht Geschaut","STREMIO_TV_DETAILS_SEASON_NUMBER":"Staffel ${1}","STREMIO_TV_STREAMS_LOADING":"${1} / ${2} Addons geladen...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} Addons laden noch...","STREMIO_TV_PLAYER_SETTINGS":"Player settings","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Subtitles delay","STREMIO_TV_PLAYER_AUDIO_DELAY":"Audio delay","STREMIO_TV_PLAYER_VIDEO_SCALING":"Video scaling","STREMIO_TV_PLAYER_CHAPTERS":"Kapitel","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Unsupported stream source","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Failed opening external link","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Not adjustable in audio passthrough mode","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Play with ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Play with libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Switching to libVLC player due to a playback error","STREMIO_TV_ADDONS_TITLE":"Use Stremio on your Phone or PC to install or configure addons and press \\"Sync Addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Note: make sure you are using the same Stremio account","STREMIO_TV_ADDONS_SYNC_ADDONS":"Addons Synchronisieren","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons successfully synchronized","STREMIO_TV_ADDONS_SYNC_FAILED":"Failed to synchronize addons","STREMIO_TV_META_LINK_FAILED":"Failed opening meta link","STREMIO_TV_CATALOG_LOADING":"Catalog still loading...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Interface language updated","STREMIO_TV_SETTINGS_THEME_UPDATED":"Theme updated","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Default Player","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"External Player","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferred Language","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Secondary Preferred Language","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possible playback issues on some devices","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Some video formats might not work","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"No caching","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Default","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Soft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Fast","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Fast","STREMIO_TV_SETTINGS_SERVER_URL":"Streaming server url","STREMIO_TV_SETTINGS_SERVER_VERSION":"Server version","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Unknown","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio version","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Edit server url","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Enter a streaming server url","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Show statistics while loading","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"To read Stremio\'s Privacy Policy, visit:","STREMIO_TV_SETTINGS_TOS_TEXT":"To read Stremio\'s Terms and Conditions, visit:","STREMIO_TV_NAV_SEARCH":"Search","STREMIO_TV_NAV_HOME":"Home","STREMIO_TV_NAV_DISCOVER":"Entdecken","STREMIO_TV_NAV_LIBRARY":"Library","STREMIO_TV_NAV_MOVIES":"Filme","STREMIO_TV_NAV_SERIES":"Serien","STREMIO_TV_NAV_CHANNELS":"Kanäle","STREMIO_TV_NAV_TV":"Live TV","STREMIO_TV_NAV_SETTINGS":"Einstellungen","STREMIO_TV_NAV_ADDONS":"Addons","STREMIO_TV_LOGIN_TITLE":"Link Account","STREMIO_TV_LOGIN_EXPIRES_IN":"Läuft ab in","STREMIO_TV_LOGIN_STEP_ONE":"Scanne den QR Code oder gehe zu","STREMIO_TV_LOGIN_STEP_TWO":"Log in to your Stremio account","STREMIO_TV_LOGIN_NEW_LINK":"Request a new link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Login code refreshed","STREMIO_TV_SEARCH_PLACEHOLDER":"Schreib etwas","STREMIO_TV_SEARCH_NO_ADDONS":"No addons were requested for catalogs!","STREMIO_TV_SEARCH_BUTTON":"Search","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Leer","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Search History","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"You can search for Titles, Actors, Channels and more...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Clear Search History","STREMIO_TV_FILTERS_DESCRIPTION":"Choose from one of the filters below","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"Filter","SETTINGS":"Einstellungen","ACCOUNT":"Account","LOGOUT":"Ausloggen","THEMES":"Themes","PLAYBACK":"Playback","PLAYBACK_SPEED":"Playback Speed","AUDIO_TRACKS":"Audio Spuren","UNKNOWN_TRACK_LANG":"Unbekannt","VIDEOS":"Videos","SERVER":"Server","LINKS":"Links","ABOUT":"Über","INTERFACE":"Interface","ANIMATIONS":"Animationen","STATUS":"Status","LANGUAGE":"Sprache","SIZE":"Größe","DELAY":"Delay","BOLD":"Bold","OPACITY":"Opacity","TEXT_COLOR":"Text Farbe","OUTLINE_COLOR":"Gliederungs Farbe","BACKGROUND_COLOR":"Background Color","BACKGROUND_BLUR":"Background Blur","SEEK_TIME_DURATION":"Seek Time Duration","AUTO_PLAY":"Automatisch nächste Episode abspielen","PLAY_NOW":"Jetzt abspielen","MARK_AS_WATCHED":"Als Angeschaut markieren","MARK_AS_UNWATCHED":"Als Nicht Angeschaut markieren","REWIND_TO_BEGINNING":"Rewind to Beginning","CONTINUE_WATCHING":"Continue Watching","ALL":"Alle","SECONDS":"Sekunden","ON":"AN","OFF":"AUS","RELOAD":"Neu laden","EDIT_URL":"URL bearbeiten","NONE":"Keine","EMBEDDED":"Embedded","REMOTE_SWITCH_DEVICES":"Geräte wechseln","REMOTE_VIDEOS":"Videos","REMOTE_ADJUST_TIMING":"Timing anpassen","REMOTE_ADJUST_SIZE":"Größe anpassen","REMOTE_COULD_NOT_BE_LOADED":"Web Remote konnte nicht geladen werden","REMOTE_RETRY":"Wiederholen","TORRENT_PROFILE_DEFAULT":"Standard","TORRENT_PROFILE_SOFT":"Soft","TORRENT_PROFILE_FAST":"Fast","TORRENT_PROFILE_ULTRA_FAST":"Ultra Fast","FAQ_001_H1":"Was ist Stremio?","FAQ_001_P1":"Stremio is a media center software designed for video entertainment with ease of use in mind. Stremio allows you to organize &amp; watch your own collection of movies, series, channels and live TV.","FAQ_001_P2":"Stremio collect the content it shows you from your local disk and our addons system.","FAQ_001_P3":"It will also notify you when new episodes/videos/movies you\'re interested in come out, and provide movie recommendations for you.","FAQ_02_H1":"How does Stremio compare to Kodi and Plex?","FAQ_02_P1":"We are inspired by those two pieces of software. But we have different goals - Stremio is specifically targeted towards entertainment video, and strives to become the mainstream solution for that by being very easy to use.","FAQ_02_P2":"Stremio will never be as customizable and feature-rich as Kodi and Plex, but it is significantly easier to use. Just ${1} get it and see ${2} :)","FAQ_03_H1":"How does Stremio compare to Netflix?","FAQ_03_P1":"Again, Netflix is one of our inspirations. We strive to achieve the user experience of Netflix, plus a lot of added goodies. But most importantly, we\'re giving you the freedom to manage your own library and add new content sources with our addon system.","FAQ_03_P2":"That makes Stremio infinitely extendable, so when you use Stremio, you\'re never limited to the content Netflix decides to license. For example, through Stremio you can watch content from ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} and even ${9}Netflix${10} itself!","FAQ_04_H1":"How does Stremio compare to Flipboard?","FAQ_04_P1":"We don’t get that question that often, except when talking to start-up people :)","FAQ_04_P2":"Stremio is by design a content aggregator, which essentially makes it Flipboard for video. This is very apparent in our Board section, which gives you catalogues and new episode/new video notifications for what you follow, just like Flipboard.","FAQ_05_H1":"How does Stremio compare to Popcorn Time?","FAQ_05_P1":"Stremio and Popcorn Time are similar in user interface, because there aren’t many ways to do video entertainment catalogues right :)","FAQ_05_P2":"But while Popcorn Time is focused on streaming torrents from specific sources, Stremio is unrestricted and is merely a content aggregator - it’s not locked into a specific content source.","FAQ_05_P3":"Furthermore, we do not provide any torrent addons by default, so Stremio does not cover the Popcorn Time use-case with official functionality.","FAQ_05_P4":"Another notable difference is that Popcorn Time is completely open source, while Stremio is ${1} partially open source${2}.","FAQ_06_H1":"Will you add this movie/series?","FAQ_06_P1":"No, sorry :(","FAQ_06_P2":"As is mentioned in most of the other questions, Stremio does not provide any content by itself - everything is added through the addons system. In case you have a content request, you can use the “Report” button in the Player, which will send an email to the author of the addon you’re currently using.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Will you create addon for X?","FAQ_08_P1":"It\'s entirely possible.","FAQ_08_P2":"If you have an idea for an addon, drop us a line at ${1}office@stremio.com${2}, but please make sure your addon idea will not infringe on any copyrights or terms of use.","FAQ_08_P3":"At the moment, the next things on our roadmap are addons for FandangoNOW, Filmon.tv video on demand and Crunchyroll.","FAQ_09_H1":"Does Stremio use BitTorrent?","FAQ_09_P1":"Yes, Stremio supports BitTorrent as a streaming protocol. You can use that either with a torrent addon, or by drag-and-dropping a .torrent file into Stremio, or by pasting a magnet link into the Search Bar.","FAQ_09_P2":"Please note that the only official addon using BitTorrent is ${1}Vodo${2}, which provides indie content, all permitted to be distributed with BitTorrent.","FAQ_09_P3":"We do not support use of any third-party addons which may enable copyright infringement.","FAQ_10_H1":"What can I watch in Stremio with the official addons?","FAQ_10_P1":"By default, you can watch Filmon.tv, YouTube and Vodo content within Stremio itself, with it’s embedded player. Additionally, we have an addon for Twitch.tv and a few others.","FAQ_10_P2":"This combined provides a selection of:","FAQ_10_L1":"Popular TV channels, provided by Filmon.tv - for example E4, BBC, Bollyworld TV","FAQ_10_L2":"Everything from YouTube - for example BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indie movies with Vodo","FAQ_10_L4":"Online gaming broadcasts with Twitch.tv","FAQ_10_P3":"Additionally, there are many content sources provided with Guidebox and the Netflix addons, which <b>do not</b> play entirely inside Stremio, but would redirect to the given service. For example, the Guidebox addon would give you a selection of movies you can stream in the US for free, from services like TubiTV and Crackle.","FAQ_11_H1":"Stremio won\'t install, what should I do?","FAQ_11_P1":"If you\'re on Windows, try ${1}this alternative installer${2}.","FAQ_11_P2":"If you\'re on Mac OS X, please be aware that we don\'t support anything older than OS X Mavericks (10.9).","FAQ_11_P3":"If you\'re on Linux, be aware that we only support 64 bit (x64) Linux at the moment.","FAQ_11_P4":"If you still can\'t resolve your problem, please write us at our ${1}Facebook group${2}.","FAQ_12_H1":"Why does my anti-virus complain? Is Stremio safe?","FAQ_12_P1":"We assure you Stremio is ${1}100% clean${2}.","FAQ_12_P2":"Your antivirus is complaining because we include advertising in our installer, which some anti-virus programs recognize as ad-ware.","FAQ_12_P3":"If you\'re still unsure, you can try our ${1}alternative installer${2}.","FAQ_13_H1":"How can I make an addon?","FAQ_13_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_13_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_13_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_14_H1":"How are addons published?","FAQ_14_P1":"When you create an addon and host, and put a <b>endpoint</b> field in your manifest, which points to a working addon address, the addon will automatically publish itself to our ${1}Addon catalogue${2}.","FAQ_14_P2":"This happens because the server part of the stremio-addons module automatically makes a call to our API to announce the addon. When our API validates your <b>endpoint</b> as a valid addon, it will start showing in the catalogue.","FAQ_15_H1":"Can I run Stremio in my browser?","FAQ_15_P1":"Not at the moment, but this is coming!","FAQ_15_P2":"If you\'re curious to see an Alpha, you can see it here: ${1}alpha4.strem.io${2}. Keep in mind streaming is disabled on this alpha. We support Chrome, Firefox, Opera and Edge.","FAQ_16_H1":"Casting to TV doesn\'t work / subtitles don\'t work","FAQ_16_P1":"Casting to TV uses the DLNA technology which is very inconsistent between different TV brands and models. For that reason, we do not have the ability to test it in every case, so it\'s far from perfect. Despite this, we\'re working on improving it constantly but we cannot give you a time estimate on when DLNA will start working properly with your TV.","FAQ_16_P2":"If you don\'t even see your TV in the casting menu, please try disabling your network connection and re-enabling it (on Windows, right click the Network and use Enable/Disable), as well as restarting your router, TV and PC.","FAQ_16_P3":"If you are still encountering issues, you can help us by sending your TV brand and model information at ${1}office@stremio.com${2}.","FAQ_16_P4":"In the meantime, we recommend Chromecast, which we support very well, or simply plugging in your TV to your PC with an HDMI cable.","FAQ_17_H1":"Stremio freezes and/or crashes, what can I do?","FAQ_17_P1":"First of all, if you\'re using Windows 7 with AVG anti-virus: we have a problem with that combination. The problem is in AVG itself, and there\'s no reasonable way to resolve it on our end. Unfortunately, exceptions or disabling the anti-virus won\'t work. The only solution is to replace AVG with something else.","FAQ_17_P2":"If that\'s not the issue, but you\'re still using Windows, please update to the latest service pack and update/re-install your GPU drivers, then try again.","FAQ_17_P3":"If you\'re problem is still not resolved, or you\'re using a Mac or Linux, please write us reporting the exact details of the problem at ${1}our Facebook group${2}.","FAQ_18_H1":"How can I make an addon?","FAQ_18_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_18_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_18_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_19_H1":"Why is Stremio taking disk space?","FAQ_19_P1":"Stremio has a <b>local cache</b> to temporarily keep the video files you stream.","FAQ_19_P2":"This has two benefits: first, it allows Stremio to pre-buffer the video ahead so as to ensure smoother streaming. Second, it keeps the videos in the local cache so you can continue watching them offline.","FAQ_19_P3":"How much Stremio keeps depends on the <b>Cache</b> setting in the Settings panel. Stremio may keep up to the set amount (e.g. 2GB) on your disk, unless the currently streamed video is larger than that, in which case it has to allocate enough storage to keep it until you\'re streaming it.","FAQ_20_H1":"Where is the cache folder?","FAQ_20_P1":"On Windows, it\'s stremio-cache in the drive you picked in Settings (e.g. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"On MacOS, it\'s \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"On Linux, it\'s \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"I get \\"Streaming server is not found\\" error, what can I do?","FAQ_21_P1":"If you get this error, it means one of few things:","FAQ_21_P2":"1) You are trying to use an addon backed by YouTube/BitTorrent source, through our ${1}web version${2}. In this case, you should install our desktop version from ${3}our website${4}.","FAQ_21_P3":"2) Something is wrong with your Stremio installation. In this case, try re-installing our latest desktop version from ${1}the website${2}. If this does not help, try disabling anti-virus programs and firewalls, restarting your PC and trying again. If this does not work too, please write us at our ${3}our Facebook group${4}.","FAQ_22_H1":"I cannot see/use most addons on iOS","FAQ_22_P1":"Because of restrictions in the Apple App Store terms and conditions, we have restricted the iOS application only to a particular set of addons.","FAQ_22_P2":"But rest assured - there will be more addons for iOS in the future, and we may also add an integration that will allow you to use all Stremio addons thanks to connecting the iOS app to the Stremio Streaming Server."}')},15158:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Ταινία","TYPE_series":"Σειρά","TYPE_tv":"Τηλ. κανάλι","TYPE_channel":"Κανάλι","TYPE_other":"Άλλο","TYPE_movie_PL":"Ταινίες","TYPE_series_PL":"Σειρές","TYPE_tv_PL":"Τηλ. κανάλια","TYPE_channel_PL":"Κανάλια","TYPE_other_PL":"Άλλα","TYPE_ALL":"Όλα","TYPE":"Τύπος","CATALOG_com_linvo_cinemeta_top":"Δημοφιλείς","CATALOG_com_linvo_cinemeta_imdbRating":"Επιλεγμένες","CATALOG_com_linvo_cinemeta_year":"Νέες","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Δημόσιες ταινίες","VIDEO":"Βίντεο","BACK":"Πίσω","MORE":"Περισσότερα","DONE":"Τέλος","COPY":"Αντιγραφή","SUCCESS":"Επιτυχία","ERROR":"Υπήρξε πρόβλημα","SETTINGS_CASTING_MODE_PICKER":"Τύπος αναπαραγωγής","CASTING_MODE_HLSV2":"Προεπιλογή","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Χωρίς διακωδικοποίηση","Discover":"Ανακάλυψη","Board":"Πίνακας","Library":"Βιβλιοθήκη","My Library":"Η βιβλιοθήκη μου","Calendar":"Ημερολόγιο","NOTIFICATION_ONLINE":"Είστε σε σύνδεση","NOTIFICATION_OFFLINE":"Είστε εκτός σύνδεσης","INTERNET_CONNECTION":"Σύνδεση δικτύου","STORAGE_FULL_TITLE":"Προειδοποίηση: Πλήρης αποθηκευτικός χώρος!","STORAGE_FULL_TEXT":"Το Stremio δεν θα μπορεί να αποθηκεύει τις ρυθμίσεις, τις προτιμήσεις ή τα στοιχεία σύνδεσής σας. Δοκιμάστε να κάνετε εκ νέου εκκίνηση ή εγκατάσταση του Stremio.","SEARCH":"Αναζήτηση","SEARCH_NO_RESULTS":"Δεν βρέθηκαν αποτελέσματα","SEARCH_EXPLANATION_CONTENT":"Αναζήτηση ταινιών, σειρών, καναλιών τηλεόρασης και YouTube","SEARCH_EXPLANATION_PEOPLE":"Αναζήτηση ηθοποιών, σκηνοθετών και σεναριογράφων","SEARCH_PASTE_LINKS":"Επικόλληση συνδέσμων HTTP και magnet","SEARCH_OR_PASTE_LINK":"Αναζητήστε ή επικολλήστε σύνδεσμο","SEARCH_SUGGESTIONS":"Προτάσεις αναζήτησης","ADD_TO_LIB":"Εισαγωγή στη βιβλιοθήκη","REMOVE_FROM_LIB":"Αφαίρεση από τη βιβλιοθήκη","ADDED_TO_LIB":"Προστέθηκε στη βιβλιοθήκη","REMOVED_FROM_LIB":"Αφαιρέθηκε από τη βιβλιοθήκη","TRAILER":"Τρέιλερ","WATCH_TRAILER":"Προβολή τρέιλερ","WATCH_NOW":"Προβολή τώρα","SHOW":"Εμφάνιση","SHOW_MOVIE":"Εμφάνιση ταινίας","WATCH_RANDOM":"Τυχαία προβολή","IMDB_RATING":"Στο IMDb","YEAR":"Έτος","DIRECTOR":"Σκηνοθεσία","WRITER":"Σενάριο","LEAD_ACTORS":"Πρωταγωνιστές","CAST":"Ηθοποιοί","CREW":"Συντελεστές","SHOW_MORE_CAST":"Περισσότερα »","AIRED":"Μετάδοση","SEASONS":"Κύκλοι","GENRE":"Είδος","GENRE_ALL":"Όλα τα είδη","CATALOG":"Κατάλογος","SUMMARY":"Περίληψη","SHOW_MORE":"Περισσότερα","SIMILAR":"Παρόμοια","UPCOMING":"Επερχόμενα","ENDED":"Τέλος","DURATION":"Διάρκεια","FEATURED":"Προτεινόμενα","METADATA":"Μεταδεδομένα","CATEGORY":"Κατηγορία","LINKS_GENRES":"Είδη","LINKS_CAST":"Καστ","LINKS_DIRECTORS":"Σκηνοθέτες","SEARCH_VIDEOS":"Αναζήτηση βίντεο","SEARCH_PLACEHOLDER":"Αναζήτηση ή επικόλληση URL","ADDON":"Πρόσθετο","ADDONS":"Πρόσθετα","OFFICIAL":"Επίσημο","ADDONS_OFFICIAL":"Επίσημα πρόσθετα του Stremio","ADDONS_POPULAR":"Δημοφιλή στην περιοχή σας","ADDON_FREE":"Δωρεάν","ADDON_PEERED":"Σε peers","ADDON_SUBSCRIPTION":"Συνδρομή","ADDON_STREAM_GEORESTRICTED":"Δεν διατίθεται στην περιοχή σας","ADDON_STREAM_OFFLINECACHE":"Προσωρινή μνήμη εκτός σύνδεσης","ADDON_STREAM_LOCALFILE":"Τοπικό αρχείο","SHARE_ADDON":"Κοινοποίηση προσθέτου","AVAILABLE_STREAMS":"Διαθέσιμες ροές","NO_STREAM":"Δεν βρέθηκαν ροές","ALL_ADDONS":"Όλα τα","INSTALL_MORE_ADDONS":"Για περισσότερες ροές, παρακαλώ εγκαταστήστε περισσότερα πρόσθετα","STREAM_NOT_SUPPORTED":"Η επιλεγμένη ροή δεν υποστηρίζεται σε αυτήν την πλατφόρμα.","ADDON_CATALOGUE":"Εμφάνιση όλων των προσθέτων »","ADDON_CATALOGUE_MORE":"Εγκατάσταση προσθέτων","REPO_ADDED":"Το αποθετήριο προστέθηκε","ADDON_REPO_EXIST_ERR":"Αυτή η συλλογή προσθέτων υπάρχει ήδη","ADDON_REPO_ERR":"Προέκυψε σφάλμα κατά την προσθήκη της συλλογής","ADDON_ADD_ERR":"Προέκυψε σφάλμα κατά την προσθήκη του προσθέτου","ERR_ADDON_PROTECTED":"Δεν είναι δυνατή η αφαίρεση του προσθέτου, είναι προστατευόμενο","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Κάτι πήγε στραβά - η ταυτοποίηση ενδέχεται να απέτυχε","ERR_NOT_COLLECTION_URL":"Δεν είναι URL συλλογής","ERR_NOT_ADDON_URL":"Δεν είναι έγκυρο URL προσθέτου","ERR_DETECTFROMURL":"Δεν είναι δυνατή η εύρεση του προσθέτου/συλλογής από αυτό το URL","ADDON_DUPLICATE_WARNING":"Προειδοποίηση: Διπλότυπο πρόσθετο","ADDON_COLLECTION_SET_FAILED":"Αποτυχία συγχρονισμού εγκατεστημένων προσθέτων στον λογαριασμό σας","SETTINGS_DATA_EXPORT":"Εξαγωγή δεδομένων χρήστη","ADDON_PULL_FAILED":"Αποτυχία συγχρονισμού εγκατεστημένων προσθέτων από τον λογαριασμό σας","REFRESH_ON_CLICK":"Κάντε κλικ για επανάληψη","STILL_IN_THEATER":"Ακόμη στις αίθουσες","WATCH_IN_CINEMA":"Δείτε το στον τοπικό σας κινηματογράφο","IN_THEATER":"Στις αίθουσες","GET_TICKETS":"Εισιτήρια","UPCOMING_EPISODE":"Επερχόμενο επεισόδιο","UPCOMING_EPISODE_MESSAGE":"Αυτό το επεισόδιο θα προβληθεί σε","MISSING_DATE_EPISODE":"Απουσία ημερομηνίας","MISSING_DATE_EPISODE_MESSAGE":"Αυτό το επεισόδιο ενδέχεται να μην έχει προβληθεί ακόμα","CHANNEL_NOT_SCRAPED":"Δεν έχει γίνει ακόμα συλλογή δεδομένων για αυτό το κανάλι.<br>Παρακαλώ επιστρέψτε σε λίγα λεπτά.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Προσθέστε το στη βιβλιοθήκη σας για να ειδοποιηθείτε μόλις γίνει διαθέσιμο.","GET_NOTIFIED_WHEN_AVAILABLE":"Θα ειδοποιηθείτε μόλις γίνει διαθέσιμο.","WARNING_STREAMING_SERVER":"Προειδοποίηση: Δεν βρέθηκε τοπική υπηρεσία ροής. Η ροή από τοπικά αρχεία, YouTube και BitTorrent δεν θα είναι διαθέσιμη.","WARNING_STREAMING_SERVER_DISMISS":"Απόρριψη","WARNING_STREAMING_SERVER_LATER":"Αργότερα","DECODER_WARNING":"Προειδοποίηση: Αυτό το βίντεο ενδέχεται να μην υποστηρίζεται από το υλικό σας. Λάβετε υπόψη ότι η αναπαραγωγή μπορεί να είναι αργή.","GENERIC_ERROR_MESSAGE":"Κάτι πήγε στραβά!","TRY_AGAIN":"Δοκιμάστε ξανά","CLEAR_DATA":"Εκκαθάριση δεδομένων","PLAYER_ERROR":"Ωχ, σφάλμα αναπαραγωγής","PLAYER_ERROR_LOOKSLIKE":"Φαίνεται ότι","PLAYER_ORIENTATION":"Προσανατολισμός αναπαραγωγής","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Κλειδωμένος","PLAYER_ORIENTATION_SENSOR_SHORT":"Αισθητήρας","PLAYER_ORIENTATION_LANDSCAPE":"Ο προσανατολισμός αναπαραγωγής κλείδωσε στην οριζόντια θέση","PLAYER_ORIENTATION_SENSOR":"Αυτόματος προσανατολισμός αναπαραγωγής (αισθητήρας)","PLAYER_PLAYBACK_SPEED":"Ταχύτητα αναπαραγωγής","PLAYER_PLAYBACK_ERROR":"Σφάλμα αναπαραγωγής, παρακαλώ δοκιμάστε ξανά","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Άγνωστο σφάλμα","PLAYER_PLAYBACK_ERROR_DEFAULT":"Δυστυχώς, αυτό το βίντεο δεν μπορεί να αναπαραχθεί από το {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Γλώσσα υποτίτλων","PLAYER_SUBTITLES_VARIANTS":"Παραλλαγές υποτίτλων","PLAYER_SUBTITLES_SETTINGS":"Ρυθμίσεις υποτίτλων","PLAYER_SUBTITLES_DISABLED":"Οι υπότιτλοι είναι απενεργοποιημένοι","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Ύψος υποτίτλων","PLAYER_SUBTITLES_LOADED":"Οι υπότιτλοι φορτώθηκαν","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Οι ενσωματωμένοι υπότιτλοι φορτώθηκαν","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Οι ειδικοί υπότιτλοι φορτώθηκαν","PLAYER_SUBTITLES_LOADED_ORIGIN":"Οι υπότιτλοι από το {{origin}} φορτώθηκαν","PLAYER_PLAY":"Αναπαραγωγή","PLAYER_PAUSE":"Παύση","PLAYER_NEXT_VIDEO":"Επόμενο βίντεο","PLAYER_MUTE":"Σίγαση","PLAYER_UNMUTE":"Κατάργηση σίγασης","PLAYER_OPEN_IN_EXTERNAL":"Άνοιγμα σε εξωτερικό πρόγραμμα αναπαραγωγής","PLAYER_OPEN_IN_NPLAYER":"Άνοιγμα στον nPlayer","PLAYER_PLAY_IN":"Αναπαραγωγή στο {{device}}","PLAYER_LIVE":"Ζωντανά","PLAYER_NEXT_VIDEO_TITLE":"Επόμενο βίντεο","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Ακολουθεί","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Απόρριψη","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Προβολή τώρα","PLAYER_COPY_STREAM_SUCCESS":"Ο σύνδεσμος ροής αντιγράφηκε στο πρόχειρο","PLAYER_COPY_STREAM_ERROR":"Σφάλμα αντιγραφής συνδέσμου ροής","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Ο σύνδεσμος λήψης αντιγράφηκε στο πρόχειρό σας","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Αποτυχία αντιγραφής συνδέσμου λήψης","STREAMING_FROM":"Ροή από","CASTING_TO":"Μετάδοση σε","NETWORK_STATUS":"Κατάσταση δικτύου","STREAM_SPEED":"Ταχύτητα ροής:","STREAM_BUFFERED":"Ενδιάμεση μνήμη:","PEERS_INFO":"Πληροφορίες peers","PEERS_ACTIVE":"Ενεργοί:","PEERS_CONNECTED":"Σε σύνδεση:","PEERS_WAITING":"Αναμονή:","TRANSCODING_WARNING":"Προειδοποίηση: Αλλαγή κωδικοποίησης βίντεο.","STREAM_LOADING":"Φόρτωση...","PLAYING_LOCAL":"Αναπαραγωγή από τοπικό αρχείο","PLAYING_CACHE":"Αναπαραγωγή από προσωρινή μνήμη","WRONG_SUBS":"Εσφαλμένοι υπότιτλοι;","ERR_SUBS_LOADING_TITLE":"Σφάλμα φόρτωσης υποτίτλων","ERR_SUBS_LOADING":"Αποτυχία φόρτωσης υποτίτλων: ενδέχεται να υπάρχει πρόβλημα με το πρόσθετό σας ή τη σύνδεση δικτύου σας","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Τα ακόλουθα πρόσθετα υποτίτλων απέτυχαν","ERR_CASTING_UPDATE_TITLE":"Δεν ήταν δυνατή η ενημέρωση των πληροφοριών της συσκευής μετάδοσης: ο διακομιστής ροής ενδέχεται να είναι εκτός σύνδεσης","CHOOSE_DEVICE":"Επιλέξτε συσκευή για παρακολούθηση","NO_CAST_DEVICES":"Δεν διατίθενται συσκευές μετάδοσης.","NO_SETTINGS":"Καμία διαθέσιμη ρύθμιση.","PHONE_TABLET":"Τηλέφωνο/Tablet","SUBTITLES":"Υπότιτλοι","SUBTITLES_CHANGE":"Αλλαγή υποτίτλων για ","SUBTITLES_CHANGE_NONE":"Δυστυχώς, δεν υπάρχουν άλλοι υπότιτλοι για αυτήν τη γλώσσα.","SUBTITLES_CHANGE_ACIVE":"Αυτήν τη στιγμή, είναι ενεργοί οι υπότιτλοι &#35;{{subtitlesDialog.activeIdx + 1}}. Κάντε κλικ στο «Συνέχεια» για να ενεργοποιήσετε τους υπότιτλους &#35;{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Εναλλακτικά,","SUBTITLES_ADJUST_DELAY":"Προσαρμογή καθυστέρησης υποτίτλων:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Ή χρησιμοποιήστε τα πλήκτρα <span>G</span> / <span>H</span> κατά την αναπαραγωγή.","SUBTITLES_ADJUST_DELAY_TIP":"ΣΥΜΒΟΥΛΗ: Μπορείτε να χρησιμοποιήσετε τα πλήκτρα <span>G</span> / <span>H</span> κατά την αναπαραγωγή.","SUBTITLES_DELAY":"Καθυστέρηση υποτίτλων:","SUBTITLES_LOADING":"Φόρτωση υποτίτλων...","SUBTITLES_UNAVAILABLE":"Δεν διατίθενται εξωτερικοί υπότιτλοι","SUBTITLES_DISABLED":"Ανενεργοί","EXTERNAL_PLAYER_DISABLED":"Απενεργοποιημένο","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Να επιτρέπεται η επιλογή","EXTERNAL_PLAYER_HINT":"Συμβουλή: Υπάρχει μια ρύθμιση που επιτρέπει πάντα το άνοιγμα με εξωτερική συσκευή αναπαραγωγής","DONT_SHOW_AGAIN":"Να μην ξαναεμφανιστεί","SERVICE_INSTALL":"Εγκατάσταση","AUDIO":"Ήχος","DEFAULT_LANGUAGE":"Προεπιλεγμένη γλώσσα","DEFAULT_SECONDARY_LANGUAGE":"Δευτερεύουσα προεπιλεγμένη γλώσσα","SEASON":"Κύκλος","EPISODE":"Επεισόδιο","EPISODE_ABBREVIATION":"ΕΠ","SPECIAL":"Σπέσιαλ","SORT":"Ταξινόμηση","SORT_BY":"Ταξινόμηση κατά","FILTER":"Φιλτράρισμα","SORT_TRENDING":"Τάσεις","SORT_RECENT":"Πρόσφατα","SORT_ALPHABET":"Α-Ω","SORT_ALPHABET_REVERSE":"Ω-Α","SORT_RATING":"Βαθμολογία","SORT_WATCHED":"Προβλήθηκαν","SORT_YEAR":"Έτος","SELECT_TYPE":"Επιλέξτε τύπο","SELECT_SORT":"Ταξινόμηση κατά","SELECT_CATALOG":"Επιλέξτε κατάλογο","SELECT_GENRE":"Επιλέξτε τύπο","SORT_LASTWATCHED":"Από τη τελευταία προβολή","SORT_NAME":"Από το όνομα","SORT_NAMEREVERSE":"Ω-Α","SORT_TIMESWATCHED":"Από τον αριθμό αναπαραγωγών","SORT_NOTWATCHED":"δεν έχει προβληθεί","New for You":"Νέα για εσάς","New Episodes":"Νέα επεισόδια","New Videos":"Νέα βίντεο","Recommendations":"Προτάσεις","LIBRARY_RESUME":"Συνέχιση","LIBRARY_PLAY":"Αναπαραγωγή","LIBRARY_DETAILS":"Λεπτομέρειες","LIBRARY_RESUME_DISMISS":"Απόρριψη","LIBRARY_CLEAR_PROGRESS":"Κατάργηση προόδου","LIBRARY_REMOVE":"Αφαίρεση","LIBRARY_NOT_LOGGED_IN":"Μόνο οι χρήστες που έχουν λογαριασμό στο Stremio έχουν πρόσβαση στη βιβλιοθήκη","CALENDAR_NOT_LOGGED_IN":"Μόνο οι χρήστες που έχουν λογαριασμό στο Stremio έχουν πρόσβαση στο ημερολόγιο","NOT_LOGGED_IN_CLOUD":"Δείτε τις αγαπημένες σας ταινίες και σειρές οπουδήποτε, οποιαδήποτε στιγμή.","NOT_LOGGED_IN_RECOMMENDATIONS":"Προτάσεις προσαρμοσμένες στο ιστορικό παρακολούθησής σας","NOT_LOGGED_IN_NOTIFICATIONS":"Μη χάσετε κανένα επεισόδιο","NOT_LOGGED_IN_CALENDAR":"Προσαρμόστε και προγραμματίστε το προσωπικό σας ημερολόγιο παρακολούθησης","DISCOVER_FEATURED":"Προτεινόμενα","DISCOVER_TOP":"Κορυφαία","DISCOVER_OSCAR":"Νικητές Όσκαρ","DISCOVER_WARNING_TITLE":"Ωχ!","DISCOVER_EMPTY_CATALOG":"Αυτό το πρόσθετο επέστρεψε κενό περιεχόμενο.","DISCOVER_ADULT_WARNING":"Το περιεχόμενο είναι ορατό μόνο για ενήλικες. Είστε 18+;","DISCOVER_NOADDON_WARNING":"Προειδοποίηση: Δεν υπάρχει ενεργό πρόσθετο στο Stremio για αυτόν τον τύπο. Εμφανίζονται αποθηκευμένα στοιχεία, δεν θα ενημερωθεί τίποτα εδώ.","DISCOVER_LOAD_ERR":"Το περιεχόμενο δεν φορτώθηκε, προέκυψε σφάλμα.","DISCOVER_ADDON_UNINSTALLED":"Αυτό το περιεχόμενο δεν είναι πλέον διαθέσιμο, ενδέχεται να έχετε αφαιρέσει το πρόσθετο.","UNINSTALL_THIS_ADDON":"Αφαίρεση προσθέτου","ERR_ADDON_NOT_INSTALLED":"Αυτό το πρόσθετο δεν έχει εγκατασταθεί. Να γίνει εγκατάσταση;","DETAIL_RECEIVE_NOTIF_SERIES":"Λήψη ειδοποιήσεων για νέα επεισόδια","DETAIL_RECEIVE_NOTIF_VIDEOS":"Λήψη ειδοποιήσεων για νέα βίντεο","SIDEBAR_SHOW_STREAMS":"Εμφάνιση ροών","RELAUNCH":"Κάντε επανεκκίνηση τώρα!","UPGRADE":"Υπάρχει νέα διαθέσιμη έκδοση! Αναβαθμίστε στην πιο πρόσφατη έκδοση του Stremio","RELOAD_UI":"Ανανεώστε το περιβάλλον χρήστη","MANUAL_UPDATE_TITLE":"Ενημερώστε την έκδοση του Stremio σας","MANUAL_UPDATE_LINE1":"Χρησιμοποιείτε μια παρωχημένη έκδοση του Stremio, κάτι που δεν προτείνεται.","MANUAL_UPDATE_LINE2":"Παρακαλώ κάντε ενημέρωση το συντομότερο δυνατόν.","BUTTON_UPDATE_LATTER":"Όχι τώρα","BUTTON_UPDATE_NOW":"Ενημέρωση τώρα","ANONYMOUS_USER":"Ανώνυμος χρήστης","DONT_HAVE_ACC":"Δεν έχετε λογαριασμό;","HAVE_ACC":"Έχετε ήδη λογαριασμό;","PASSWORD":"Κωδικός πρόσβασης","PASSWORD_CONFIRM":"Επιβεβαίωση κωδικού πρόσβασης","EMAIL":"Email","FB_LOGIN":"Συνέχεια με Facebook","FB_NOTHINGSHARED":"Δεν κοινοποιούμε τίποτα χωρίς την άδειά σας","FB_NOPOST":"Δεν θα δημοσιεύσουμε τίποτα εκ μέρους σας","OR":"ή","I_ACCEPT":"Αποδοχή","I_ACCEPT_BY_CLICKING":"Κάνοντας κλικ στο παραπάνω κουμπί, δηλώνω την αποδοχή ","TOS":"Όροι και Προϋποθέσεις","MUST_ACCEPT_TERMS":"Πρέπει να αποδεχθείτε τους όρους","PASSWORDS_NOMATCH":"Οι κωδικοί πρόσβασης δεν ταιριάζουν","SIGN_UP":"Εγγραφή","SIGN_UP_EMAIL":"Εγγραφή με email","CLICK_TO_SIGN_UP":"Κάντε κλικ εδώ για να εγγραφείτε.","LOG_IN":"Σύνδεση","LOG_OUT":"Αποσύνδεση","EXIT_FULLSCREEN":"Έξοδος από πλήρη οθόνη","ENTER_FULLSCREEN":"Είσοδος σε πλήρη οθόνη","PLAY_URL_MAGNET_LINK":"Αναπαραγωγή URL/συνδέσμου magnet","HELP_FEEDBACK":"Βοήθεια & σχόλια","TERMS_OF_SERVICE":"Όροι υπηρεσίας","PRIVACY_POLICY":"Πολιτική Απορρήτου","ABOUT_STREMIO":"Σχετικά με το Stremio","USER_PANEL":"Πίνακας χρήστη","LOGIN_LABEL":"Σύνδεση","GUEST_LOGIN":"Σύνδεση επισκέπτη","GUEST_LOGIN_NOTICE":"Δεν προτείνεται η σύνδεση επισκέπτη. Η κανονική σύνδεση επιτρέπει στο Stremio να συγχρονίζει τη βιβλιοθήκη σας και να σας στέλνει ειδοποιήσεις για αγαπημένες σειρές/κανάλια. Θέλετε σίγουρα να συνεχίσετε;","GUEST_LOGIN_NOTICE_2":"Δεν προτείνεται η σύνδεση επισκέπτη - δεν θα συγχρονίζεται η βιβλιοθήκη και οι ειδοποιήσεις πίνακα, που είναι βασικές λειτουργίες του Stremio. Θέλετε σίγουρα να συνεχίσετε;","CLICK_HERE":"Κάντε κλικ εδώ","WRONG_PASSWORD":"Εσφαλμένο email ή κωδικός πρόσβασης. Σε περίπτωση που έχετε ξεχάσει τον κωδικό πρόσβασής σας, ","SET_A_PASS":"Ορισμός κωδικού πρόσβασης","RESET_PASSWORD":"Επαναφορά κωδικού πρόσβασης","FORGOT_PASSWORD":"Ξεχάσατε τον κωδικό πρόσβασής σας;","EMAIL_USED_WITH_FB":"Αυτό το email χρησιμοποιήθηκε με σύνδεση Facebook.","INVALID_EMAIL":"Παρακαλώ εισαγάγετε μια έγκυρη διεύθυνση email","INVALID_PASSWORD":"Παρακαλώ εισαγάγετε έναν έγκυρο κωδικό πρόσβασης","CONN_ERR":"Σφάλμα σύνδεσης - παρακαλώ δοκιμάστε ξανά αργότερα.\\n\\nΑν επιμένει, απενεργοποιήστε το λογισμικό προστασίας από ιούς ή το τείχος προστασίας (ειδικά το Bitdefender).","IMPORT_FROM_GUEST":"Εισαγωγή βιβλιοθήκης από λογαριασμό επισκέπτη","RECEIVE_UPDATES_EMAIL":"Λήψη ενημερώσεων από το Stremio στο email σας","LOGIN_FAILED":"Αποτυχία σύνδεσης.","SIGNUP_FAILED":"Αποτυχία εγγραφής.","SEARCH_FAILED":"Αποτυχία αναζήτησης","EMAIL_USED":"Αυτό το email χρησιμοποιείται ήδη.","WAITING_FB_LOGIN":"Σύνδεση μέσω Facebook...","EXTERNAL_PLAYER_TITLE":"Αναπαραγωγή σε εξωτερικό πρόγραμμα","EXTERNAL_REMEMBER_PLAYER":"Θέλετε να αποθηκεύσετε την επιλογή σας;","EXTERNAL_ALWAYS_PLAY":"Ναι","EXTERNAL_ONLY_ONCE":"Όχι","BEST_FIT":"Βέλτιστη προσαρμογή","FIT_SCREEN":"Προσαρμογή στην οθόνη","FILL":"Γέμισμα","16:9":"16:9","4:3":"4:3","Original":"Αρχικό","INTRO_TASTE":"Πείτε μας τι σας αρέσει","INTRO_TASTE_LONG":"Πείτε μας τι θα θέλατε να δείτε","INTRO_TASTE_PICK":"Επιλέξτε {{interestsRemaining}} ενδιαφέροντα","INTRO_TASTE_PICK_MORE":"Επιλέξτε {{interestsRemaining}} κι άλλα ενδιαφέροντα","INTRO_TASTE_HELP_US":"Βοηθήστε μας να μάθουμε περισσότερα για εσάς.","INTRO_TASTE_CHOOSE_THESE":"Επιλέξτε κάποια από αυτά:","INTRO_TASTE_CHOOSE_MIN":"Επιλέξτε τουλάχιστον 3 κατηγορίες","INTRO_TASTE_CHOOSE_MIN_ERR":"Πρέπει να επιλέξετε τουλάχιστον 3 κατηγορίες!","INTRO_TASTE_LIFESTYLE":"Τρόπος ζωής","INTRO_TASTE_SPORTS":"Αθλήματα","INTRO_TASTE_FOOD_HEALTH":"Φαγητό & υγεία","INTRO_TASTE_BEAUTY_FASHION":"Ομορφιά & μόδα","INTRO_TASTE_NEWS":"Ειδήσεις","INTRO_TASTE_GAMING":"Παιχνίδια","INTRO_TASTE_SCIENCE_EDU":"Επιστήμη & εκπαίδευση","INTRO_TASTE_MUSIC":"Μουσική","INTRO_TASTE_TRAVEL":"Ταξίδια","INTRO_TASTE_LATE_NIGHT":"Βραδινό","INTRO_TASTE_REALITY":"Ριάλιτι","INTRO_TASTE_COMEDY":"Κωμωδία","INTRO_TASTE_DIY":"Κατασκευές","INTRO_TASTE_TECH":"Τεχνολογία","INTRO_TASTE_CINEMA":"Κινηματογράφος","ADDON_NOT_SUPPORTED":"Το επιλεγμένο πρόσθετο δεν υποστηρίζεται σε αυτήν την πλατφόρμα.","ADDON_DISCLAIMER":"Η χρήση τρίτων προσθέτων θα υπόκειται πάντα στη δική σας ευθύνη και την ισχύουσα νομοθεσία της χώρας σας.","ADDON_ACTIVATE":"Ενεργοποίηση προσθέτου;","ADDON_REPO_ADD":"URL συλλογής προσθέτων","ADDON_ADD":"Προσθήκη","INSTALL_ADDON":"Εγκατάσταση προσθέτου","ADD_ADDON":"Προσθέστε πρόσθετο","ADD_ADDON_DESCRIPTION":"Μπορείτε να προσθέσετε ένα πρόσθετο μέσω ενός εξωτερικού συνδέσμου, ο οποίος θα εμφανίζεται στην ενότητα Εγκατεστημένα πρόσθετα.","PASTE_ADDON_URL":"Επικόλληση URL προσθέτου","WHATS_NEW":"Τί νέο υπάρχει","BUTTON_CONTINUE":"Συνέχεια","BUTTON_ACTIVATE":"Ενεργοποίηση","BUTTON_ACTIVATED":"Ενεργό","BUTTON_CANCEL":"Ακύρωση","BUTTON_SUBMIT":"Υποβολή","BUTTON_DISMISS_ALL":"Απόρριψη όλων","BUTTON_VIEW_ALL":"Προβολή όλων","BUTTON_SEE_ALL":"Προβολή όλων","BUTTON_COLOR_TRANSPARENT":"Διαφάνεια","OPEN_IN_BROWSER":"Άνοιγμα σε πρόγραμμα περιήγησης","LIB_EMPTY":"Η βιβλιοθήκη σας είναι κενή. Ανακαλύψτε πόσο χρήσιμη είναι :)","HOW_START":"Δείτε από πού μπορείτε να ξεκινήσετε:","LIB_EMPTY_CAL":"Το ημερολόγιό σας εμφανίζει σειρές στη βιβλιοθήκη σας.","HOW_START_CAL":"Δείτε πώς μπορείτε να προσθέσετε σειρές:","LIB_EMPTY_BOARD":"Ο πίνακας εμφανίζει ειδοποιήσεις &amp; προτάσεις σχετικές με τη βιβλιοθήκη σας.","HOW_START_BOARD_WAIT":"Παρακαλούμε προσθέστε μερικές σειρές ή κανάλια στη βιβλιοθήκη σας και δώστε μας λίγα λεπτά για να τα επεξεργαστούμε :)","HOW_START_BOARD":"Δείτε πώς μπορείτε να προσθέσετε σειρές &amp; ταινίες:","IMPORT_FB":"Εισαγωγή αγαπημένων από το <span>Facebook</span>","IMPORT_TRAKT":"Εισαγωγή βιβλιοθήκης πολυμέσων από το <span>Trakt</span>","IMPORT_DISCOVER":"Εύρεση ενδιαφέροντος περιεχομένου από την <span>Ανακάλυψη</span>","IMPORT_DISK":"Εισαγωγή ταινιών ή εκπομπών από τον <span>τοπικό σας δίσκο</span>","PLEASE_CREATE_ACC":"Παρακαλώ <u>δημιουργήστε έναν λογαριασμό</u> για να ενεργοποιήσετε τον συγχρονισμό βιβλιοθήκης &amp; πίνακα.","IMPORT_DISCOVER_SIGNUP":"Εγγραφείτε και βρείτε ενδιαφέρον περιεχόμενο από την <span>Ανακάλυψη</span>","IMPORT_DISK_SIGNUP":"Εγγραφείτε και εισαγάγετε ταινίες ή εκπομπές από τον <span>τοπικό σας δίσκο</span>","LIB_EMPTY_CLOUD":"Συγχρονισμός","LIB_EMPTY_CLOUD_DESC":"Συγχρονισμός προσωπικής βιβλιοθήκης cloud σε κάθε συσκευή","LIB_EMPTY_EARLY":"Πρόωρη άφιξη","LIB_EMPTY_EARLY_DESC":"Λήψη ειδοποιήσεων για νέα επεισόδια","LIB_EMPTY_PERSONAL":"Εξατομίκευση","LIB_EMPTY_PERSONAL_DESC":"Λήψη εξατομικευμένων προτάσεων","LIB_EMPTY_CALENDAR_DESC":"Διαχειριστείτε το προσωπικό σας ημερολόγιο παρακολούθησης","LIB_EMPTY_ALL":"Εγγραφείτε για να έχετε όλα τα ακόλουθα:","LIB_EMPTY_BEST":"Εγγραφείτε για να αξιοποιήσετε το Stremio στο έπακρο","LIB_EMPTY_OTHER":"Εγγραφείτε για να ενεργοποιήσετε το Ημερολόγιο και άλλες λειτουργίες","CALENDAR_ADDED":"Το ημερολόγιο του Stremio έχει προστεθεί στο προεπιλεγμένο ημερολόγιο του υπολογιστή σας.","CALENDAR_ADDED_MSG":"Αν δεν λειτουργήσει αυτό, παρακαλώ προσθέστε χειροκίνητα αυτό το URL της εφαρμογής ημερολογίου σας","TRAKT_EXPIRED":"Η ταυτοποίηση στο Trakt έληξε, παρακαλώ μεταβείτε στις Ρυθμίσεις και κάντε ξανά έλεγχο ταυτότητας","TRAKT_REQUIRES_LOGIN":"Σφάλμα Trakt","TRAKT_REQUIRES_LOGIN_MSG":"Πρέπει να κάνετε σύνδεση","TRAKT_IMPORT_WATCHED":"Εισαγωγή","THEME":"Θέμα","THEME_DEFAULT":"Προκαθορισμένο","THEME_ADAPTIVE":"Προσαρμοστικός","SETTINGS_LABEL":"Ρυθμίσεις","SETTINGS_NAV_GENERAL":"Γενικά","SETTINGS_NAV_PLAYER":"Αναπαραγωγή","SETTINGS_NAV_STREAMING":"Ροή","SETTINGS_NAV_SHORTCUTS":"Συντομεύσεις","SETTINGS_SHORTCUT_RELOAD_APP":"Επαναφόρτωση εφαρμογής","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Άνοιγμα ρυθμίσεων","SETTINGS_SHORTCUT_SWITCH_TABS":"Αλλαγή σελίδας","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Εναλλαγή καρτελών προς τα εμπρός","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Εναλλαγή καρτελών προς τα πίσω","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Πλοήγηση ανάμεσα στα μενού","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Πηγαίνετε στην αναζήτηση","SETTINGS_SHORTCUT_EXIT_BACK":"Έξοδος / Πίσω","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Ταχύτητα αναπαραγωγής","SETTINGS_SHORTCUT_MENU_VIDEOS":"Μενού βίντεο","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Μενού ρυθμίσεων υποτίτλων","SETTINGS_SHORTCUT_MENU_INFO":"Μενού πληροφοριών","SETTINGS_SHORTCUT_FULLSCREEN":"Λειτουργία πλήρους οθόνης","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Εμφάνιση στοιχείων ελέγχου","SETTINGS_SHORTCUT_PLAY_PAUSE":"Αναπαραγωγή / Παύση","SETTINGS_SHORTCUT_VOLUME_UP":"Ανεβάστε την ένταση","SETTINGS_SHORTCUT_VOLUME_DOWN":"Χαμηλώστε την ένταση","SETTINGS_SHORTCUT_SEEK_NEXT":"Πηγαίνετε στο επόμενο επεισόδιο","SETTINGS_SHORTCUT_SEEK_PREV":"Πηγαίνετε στο προηγούμενο επεισόδιο","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Πηγαίνετε προς τα πίσω κατά 10 δευτερόλεπτα","SETTINGS_SHORTCUT_SEEK_FORWARD":"Παράκαμψη 10 δευτερολέπτων","SETTINGS_SHORTCUT_PLAY_NEXT":"Επόμενο","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Αυξήστε το μέγεθος των υποτίτλων","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Μειώστε το μέγεθος των υποτίτλων","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Αυξήστε την καθυστέρηση των υποτίτλων","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Μειώστε την καθυστέρηση των υποτίτλων","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Αλλαγή θέσης πλευρικής γραμμής","SETTINGS_SHORTCUT_OR":"ή","SETTINGS_SHORTCUT_TO":"μέχρι","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Πιστοποίηση","SETTINGS_FACEBOOK_IMPORT":"Εισαγωγή","SETTINGS_CALENDAR_SUBSCRIBE":"Εγγραφή","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Γλώσσα εφαρμογής","SETTINGS_LAUNCH_STARTUP":"Άνοιγμα κατά την εκκίνηση","SETTINGS_VLC_DEFAULT":"Αναπαραγωγή με VLC","SETTINGS_UI_LANGUAGE":"Γλώσσα εφαρμογής","SETTINGS_UI_ZOOM":"Ζουμ διεπαφής","SETTINGS_FULLSCREEN_EXIT":"Έξοδος από πλήρη οθόνη με το πλήκτρο Escape","SETTINGS_GAMEPAD":"Ενεργοποίηση υποστήριξης για gamepad","SETTINGS_CLOSE_WINDOW":"Κλείσιμο εφαρμογής όταν κλείνει το παράθυρο","SETTINGS_SUBTITLES_LANGUAGE":"Προεπιλεγμένη γλώσσα υποτίτλων","SETTINGS_SUBTITLES_SIZE":"Προεπιλεγμένο μέγεθος υποτίτλων","SETTINGS_SUBTITLES_BACKGROUND":"Φόντο υποτίτλων","SETTINGS_SUBTITLES_COLOR":"Χρώμα υποτίτλων","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Χρώμα περιγράμματος υποτίτλων","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Χρώμα φόντου υποτίτλων","SETTINGS_SEEK_KEY":"Χρονική μετατόπιση με πλήκτρα-βέλη","SETTINGS_SEEK_KEY_SHIFT":"Χρονική μετατόπιση με πλήκτρα-βέλη όταν είναι πατημένο το πλήκτρο Shift","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Χρονική διάρκεια παράκαμψης χρόνου βίντεο","SETTINGS_BINGE":"Αυτόματη αναπαραγωγή επόμενου επεισοδίου","SETTINGS_NEXT_VIDEO":"Εμφάνιση ειδοποίησης για έναρξη επόμενου επεισοδίου","SETTINGS_NEXT_VIDEO_TRIGGER":"Εμφάνιση ειδοποίησης επόμενου επεισοδίου για:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Διάρκεια αναδυόμενου παραθύρου για το επόμενο βίντεο","SETTINGS_PLAY_IN_BACKGROUND":"Αναπαραγωγή στο παρασκήνιο","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Αναπαραγωγή σε εξωτερική εφαρμογή","SETTINGS_RESIZE":"Αυτόματη προσαρμογή παραθύρου πριν από την αναπαραγωγή","SETTINGS_OVERRIDE_SERVER":"Παράκαμψη URL διακομιστή ροής (σύνθετο)","SETTINGS_SERVER_URL":"URL διακομιστή ροής:","SETTINGS_SERVER_AVAILABLE":"Ο διακομιστής ροής είναι διαθέσιμος.","SETTINGS_SERVER_UNAVAILABLE":"Ο διακομιστής ροής δεν είναι διαθέσιμος.","SETTINGS_SERVER_STATUS_ONLINE":"Σε σύνδεση","SETTINGS_SERVER_STATUS_ERROR":"Προέκυψε σφάλμα","SETTINGS_SERVER_CONFIGURE_TITLE":"Διαμορφώστε το URL του διακομιστή αναπαραγωγής","SETTINGS_SERVER_CONFIGURE_INPUT":"Εισαγωγή ενός URL διακομιστή αναπαραγωγής","SETTINGS_SERVER_CACHE_SIZE":"Μέγεθος επιτρεπόμενης μνήμης cache","SETTINGS_SERVER_TORRENT_PROFILE":"Προφίλ torrent","SETTINGS_HTTPS_ENDPOINT":"Ακροσημείο HTTPS ροής: ","SETTINGS_TRANSCODE_PROFILE":"Διακωδικοποίηση προφίλ","SETTINGS_USE_BETA":"Πάντα χρήση της πιο πρόσφατης έκδοσης beta","SETTINGS_IMPORT_FB":"Εισαγωγή από Facebook","SETTINGS_IMPORT_DISK":"Εισαγωγή από τοπικό δίσκο","SETTINGS_IMPORT_TRAKT":"Εισαγωγή από Trakt","SETTINGS_PAUSE_MINIMIZED":"Παύση αναπαραγωγής κατά την ελαχιστοποίηση","SETTINGS_HWDEC":"Αποκωδικοποίηση με επιτάχυνση υλικού","SETTINGS_BACKGROUND":"Αναπαραγωγή στο παρασκήνιο","SETTINGS_SUBSCRIBE_CALENDAR":"Εγγραφή σε ημερολόγιο","SETTINGS_REQ_EXPORT":"Αίτημα εξαγωγής δεδομένων","SETTINGS_ACC_DELETE":"Αίτημα διαγραφής λογαριασμού","SETTINGS_CHANGE_PASSWORD":"Αλλαγή κωδικού πρόσβασης","SETTINGS_TOS":"Όροι υπηρεσίας","SETTINGS_SUPPORT":"Επικοινωνία με την υποστήριξη","SETTING_LANGUAGE":"Γλώσσα","SETTINGS_TRAKT":"Αυτόματη παρακολούθηση Trakt","SETTINGS_TRAKT_LOGOUT":"Αποσύνδεση από Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Αποσύνδεση από Trakt","SETTINGS_SCAN_FOR_REMOTE":"Σαρώστε τον κωδικό QR για να ανοίξετε το τηλεχειριστήριο","SETTINGS_DESKTOP_NOTIFICATIONS":"Ειδοποιήσεις υπολογιστή","SETTINGS_DATA_SAVER":"Εξοικονόμηση δεδομένων","SETTINGS_LANGUAGE_INTERFACE":"Περιβάλλον χρήστη","SETTINGS_LANGUAGE_SUBS":"Προεπιλεγμένοι υπότιτλοι","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Αυτόματη επιλογή κομματιού ήχου","SETTINGS_DEFAULT_AUDIO_TRACK":"Προεπιλεγμένο κομμάτι ήχου","SETTINGS_SURROUND_SOUND":"Ήχος surround","SETTINGS_ACCOUNT":"Λογαριασμός","SETTINGS_PLATFORM":"Πλατφόρμα","SETTINGS_VERSION":"Έκδοση","SETTINGS_ABOUT":"Πληροφορίες","SETTINGS_MPV_WINDOW":"Εκκίνηση αναπαραγωγής σε ξεχωριστό παράθυρο (σύνθετο)","SETTINGS_PLAY_IN_EXTERNAL":"Πάντα εκκίνηση του βίντεο σε εξωτερικό πρόγραμμα","SETTINGS_STORAGE_BUTTON":"Απαλοιφή τοπικής αποθήκευσης","SETTINGS_STORAGE_MODAL_TITLE":"Σίγουρα;","SETTINGS_STORAGE_MODAL_MESSAGE":"Αυτό θα εκκαθαρίσει τον τοπικό χώρο αποθήκευσης και θα σας αποσυνδέσει.","SETTINGS_HWDEC_PICKER":"Επιλέξτε ρύθμιση αποκωδικοποίησης με επιτάχυνση υλικού","SETTINGS_HW_AUTOMATIC":"Αυτόματη","SETTINGS_HW_DISABLED":"Ανενεργή","SETTINGS_HW_ACCELERATED":"Επιτάχυνση αποκωδικοποίησης","SETTINGS_HW_FULL":"Πλήρης επιτάχυνση","SETTINGS_HW_LEGACY":"Παλαιού τύπου","SETTINGS_DISABLED":"Ανενεργό","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Ειδοποίηση για σύνδεση δικτύου","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Σύνδεσμος remote","SETTINGS_COPY_REMOTE_URL":"Αντιγραφή σνδέσμου remote","SETTINGS_REMOTE_URL_COPIED":"Ο σύνδεσμος remote αντιγράφηκε στο πρόχειρό σας","SETTINGS_SECTION_SUBTITLES":"Υπότιτλοι","SETTINGS_SECTION_AUDIO":"Ήχος","SETTINGS_SECTION_CONTROLS":"Χειρισμός","SETTINGS_SECTION_AUTO_PLAY":"Αυτόματη αναπαραγωγή","SETTINGS_SECTION_ADVANCED":"Για προχωρημένους","SUBSPICKER_AUDIO":"Ήχος","SUBSPICKER_SUBTITLES":"Πρόσθετα Υποτίτλων","SUBSPICKER_BLACK_BACKGROUND":"Χρήση μαύρου φόντου","SUBSPICKER_VERTICAL_OFFSET":"Απόσταση από το κάτω μέρος","SUBSPICKER_SIZE":"Μέγεθος","SUBSPICKER_DELAY":"Καθυστέρηση","SUBSPICKER_EMBEDDED_SUBS":"Ενσωματωμένοι Υπότιτλοι","MOBILE_PRIVACY_POLICY":"Πολιτική Απορρήτου","MOBILE_CRASH_REPORTING":"Αναφορά σφάλματος","MOBILE_ZOOM_TO_FILL":"Ζουμ για πλήρη οθόνη","MOBILE_PASSTHROUGH":"Ψηφιακή έξοδος ήχου (passthrough)","MOBILE_RUN_LOW_BATTERY":"Λειτουργία με χαμηλή μπαταρία","MOBILE_RUN_FOREGROUND":"Εκτέλεση ως υπηρεσία προσκηνίου","MOBILE_PERFORMANCE":"Απόδοση & Σταθερότητα","MOBILE_SERVER_ONLINE":"Σε σύνδεση","MOBILE_SERVER_OFFLINE":"Δεν υπάρχει σύνδεση","MOBILE_QR_EXPIRES":"Ο κωδικός QR λήγει σε","MOBILE_LOG_INTO":"Συνδεθείτε στον λογαριασμό σας","MOBILE_SCAN_QR":"Σκανάρετε το κωδικό QR η πηγαίνετε","MOBILE_LINK_ACCOUNT":"Σύνδεση λογαριασμού","MOBILE_SPEEDPICKER_CANCEL":"Ακύρωση","MOBILE_SPEEDPICKER_LABEL":"Ταχύτητα Αναπαραγωγής","MOBILE_EMPTY_LIBRARY":"Η βιβλιοθήκη σας είναι άδεια","MOBILE_NO_ADDON_ACTIVE":"Κανένα πρόσθετο δε μπορεί να εκτελέσει αυτή τη λειτουργία.","MOBILE_ORGANIZER_WARNING":"Η εφαρμογή Stremio Organizer παρέχει περιορισμένη λειτουργικότητα. Για μια λίστα με ροές με δυνατότητα αναπαραγωγής και την πλήρη εμπειρία του Stremio, χρησιμοποιήστε το Stremio στον υπολογιστή.","MOBILE_ADDON_LOADING":"Φορτώνει","MOBILE_ADDONS_LOADING":"Τα πρόσθετα φορτώνουν","MOBILE_ADDON":"Πρόσθετο","MOBILE_CONFIGURE_ADDON":"Διαμορφώστε το πρόσθετο","MOBILE_CONFIGURE_ADDON_LABEL":"Διαμορφώστε το πρόσθετο","MOBILE_ORGANIZER_ADDONS_WARNING":"Η εφαρμογή Stremio Organizer παρέχει περιορισμένα πρόσθετα. Για την πλήρη εμπειρία του Stremio, χρησιμοποιήστε το Stremio στον υπολογιστή.","MOBILE_DISCONNECT":"Αποσύνδεση","MOBILE_LOOKING_FOR_DEVICES":"Αναζήτηση συσκευών...","MOBILE_CAST_TO":"Μετάδοση σε","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Διαγραφή λογαριασμού","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Η διαγραφή λογαριασμού δεν είναι άμεση λόγω νομικών υποχρεώσεων. Αφού ζητήσετε τη διαγραφή του λογαριασμού σας, θα πρέπει να χρησιμοποιήσετε διαφορετική διεύθυνση email/προφίλ Facebook για να δημιουργήσετε έναν νέο λογαριασμό Stremio στο μέλλον.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Επιβεβαίωση διαγραφής λογαριασμού","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Ο λογαριασμός σας έχει δημιουργηθεί με λογαριασμό Facebook. Για να διαγράψετε τον λογαριασμό σας, πηγαίνετε στη διεύθυνση www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Εισάγετε τον κωδικό πρόσβασής σας για να επιβεβαιώσετε τη διαγραφή του λογαριασμού σας.","MOBILE_DELETE_ACCOUNT_BUTTON":"Διαγραφή λογαριασμού","NAVIGATION_ON":"Ανοιχτό","NAVIGATION_OFF":"Κλειστό","MARKETING_AGREE":"Συμφωνώ να λαμβάνω ενημερωτικά e-mail από το Stremio","QUIT":"Έξοδος","CONNECTED":"Σε σύνδεση","AUTHENTICATE":"Ταυτοποίηση","CACHING":"Προσωρινή αποθήκευση","SETTINGS_CACHING_DRIVE":"Δίσκος προσωρινής μνήμης","ENABLE_LOCAL_FILES_ADDON":"Ενεργοποίηση προσθέτου τοπικών αρχείων (απαιτεί επανεκκίνηση)","LOCAL_ADDON_NOT_ENABLED":"Το τοπικό πρόσθετο δεν είναι ενεργοποιημένο. Κάντε κλικ εδώ για να μεταβείτε στις ρυθμίσεις και να το ενεργοποιήσετε","ENABLE_REMOTE_HTTPS_CONN":"Ενεργοποίηση απομακρυσμένων συνδέσεων HTTPS","TORRENT_PROFILE":"Προφίλ torrent","DATA_CACHING":"Προσωρινή αποθήκευση δεδομένων","MAGNET_PARSING":"Ανάλυση συνδέσμου magnet","January":"Ιανουάριος","February":"Φεβρουάριος","March":"Μάρτιος","April":"Απρίλιος","May":"Μάιος","June":"Ιούνιος","July":"Ιούλιος","August":"Αύγουστος","September":"Σεπτέμβριος","October":"Οκτώβριος","November":"Νοέμβριος","December":"Δεκέμβριος","Monday":"Δευτέρα","Tuesday":"Τρίτη","Wednesday":"Τετάρτη","Thursday":"Πέμπτη","Friday":"Παρασκευή","Saturday":"Σάββατο","Sunday":"Κυριακή","Action":"Δράση","Comedy":"Κωμωδία","War":"Πόλεμος","Family":"Οικογενειακές","Animation":"Κινούμενα σχέδια","Adventure":"Περιπέτεια","Fantasy":"Φαντασία","Crime":"Έγκλημα","Mystery":"Μυστήριο","Romance":"Ρομαντικές","Drama":"Δράμα","Horror":"Τρόμος","Thriller":"Θρίλερ","Sci-Fi":"Επιστημονική φαντασία","Music":"Μουσική","Biography":"Βιογραφία","Documentary":"Ντοκιμαντέρ","Sport":"Αθλήματα","Musical":"Μιούζικαλ","Western":"Γουέστερν","Film-Noir":"Φιλμ νουάρ","News":"Ειδήσεις","History":"Ιστορία","Game-Show":"Τηλεπαιχνίδι","Reality-TV":"Ριάλιτι","Talk-Show":"Τοκ σόου","Film & Entertainment":"Σινεμά & ψυχαγωγία","Gaming":"Παιχνίδια","From TV":"Από την τηλεόραση","Lifestyle":"Τρόπος ζωής","Science & Education":"Επιστήμη & εκπαίδευση","Cooking & Health":"Μαγειρική & υγεία","Beauty & Fashion":"Ομορφιά & μόδα","Sports":"Αθλήματα","News & Politics":"Ειδήσεις & πολιτική","How-to & DIY":"Κατασκευές","Tech":"Τεχνολογία","Automotive":"Αυτοκίνηση","Causes & Non-Profits":"Φιλανθρωπία","Movies":"Ταινίες","Uk Live Tv":"Ηνωμένο Βασίλειο","Fashion":"Μόδα","Business News Radio":"Επιχειρήσεις - Ράδιο","Business Tv":"Επιχειρήσεις","Cars & Auto":"Αυτοκίνητα","Comedy Radio":"Κωμωδία - Ράδιο","Lifestyle Radio":"Τρόπος ζωής - Ράδιο","News Tv":"Ειδήσεις","Food And Wine":"Φαγητό & ποτά","Latino Tv":"Λατινική Αμερική","Shopping Tv":"Αγορές","Religion":"Θρησκεία","Kids":"Παιδικά","Body & Soul":"Σώμα & πνεύμα","Education":"Εκπαίδευση","Indian Tv":"Ινδία","Extreme Sports":"Εξτρίμ σπορ","Middle Eastern Tv":"Μέση Ανατολή","Celebrity Tv":"Διάσημοι","Science Tv":"Επιστήμη","Bikini babe":"Bikini babe","Outdoors":"Εξοχή","German Tv":"Γερμανία","French Tv":"Γαλλία","Italian Tv":"Ιταλία","Gamer Tv":"Παιχνίδια","Travel":"Ταξίδια","Asian Tv":"Ασία","Entertainment":"Ψυχαγωγία","News Radio":"Ειδήσεις - Ράδιο","Music Radio":"Μουσική - Ράδιο","Language Learning":"Εκμάθηση γλωσσών","Science Radio":"Επιστήμη - Ράδιο","Tech Radio":"Τεχνολογία - Ράδιο","Science & Technology Vod":"Επιστήμη & τεχνολογία","new video":"Νέο βίντεο","new episode":"Νέο επεισόδιο","new movie":"Νέα ταινία","recommended":"Προτάσεις","we recommend":"Προτείνουμε","offer of the day":"Προσφορά ημέρας","news":"Ειδήσεις","music video":"Μουσικό βίντεο","CTX_SHOW_HOTKEYS":"Εμφάνιση πλήκτρων συντομεύσεων","CTX_DISMISS_NOTIF":"Απόρριψη ειδοποιήσεων","CTX_DISMISS_ALL":"Απόρριψη όλων","CTX_SHARE":"Κοινοποίηση","CTX_COPY_SHARE_LINK":"Αντιγραφή συνδέσμου κοινής χρήσης","CTX_COPY_MAGNET_LINK":"Αντιγραφή συνδέσμου magnet","CTX_COPY_STREAM_LINK":"Αντιγραφή συνδέσμου ροής","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Λήψη βίντεο","CTX_DOWNLOAD_SUBS":"Λήψη υποτίτλων","CTX_VIEW_ON_YOUTUBE":"Προβολή στο YouTube","CTX_SHOW":"Εμφάνιση","CTX_PLAY":"Αναπαραγωγή","CTX_PLAY_IN":"Αναπαραγωγή σε","CTX_PLAY_ON":"Αναπαραγωγή σε","CTX_WATCH_ON":"Παρακολούθηση σε","CTX_WATCH":"Προβολή","CTX_WATCHED":"Προβλήθηκε","CTX_WATCH_BEGINNING":"Προβολή από την αρχή","CTX_WATCH_MOBILE":"Προβολή σε κινητή συσκευή","CTX_REWIND":"Επιστροφή στην αρχή","CTX_MARK_WATCHED":"Σήμανση ως προβεβλημένο","CTX_MARK_NON_WATCHED":"Σήμανση ως μη προβεβλημένο","CTX_MARK_UNWATCHED":"Σήμανση ως μη προβεβλημένο","CTX_MARK_REST":"Σήμανση υπολοίπων ως προβεβλημένων","CTX_UNMARK_REST":"Σήμανση υπολοίπων ως μη προβεβλημένων","CTX_RECEIVE_NEW_NOTIF":"Λήψη νέων ειδοποιήσεων","CTX_ENABLE_NEW_NOTIF":"Ενεργοποίηση ειδοποιήσεων","CTX_DISABLE_NEW_NOTIF":"Απενεργοποίηση ειδοποιήσεων","CTX_REMOVE_CACHE":"Αφαίρεση από προσωρινή μνήμη","CTX_REMOVE_CACHE_EP":"Αφαίρεση επεισοδίου από προσωρινή μνήμη","CTX_OPEN_CONTAINING":"Άνοιγμα φακέλου αποθήκευσης","CTX_REMOVE":"Αφαίρεση από βιβλιοθήκη","CTX_AVAILABLE_OFFLINE":"Διαθέσιμο εκτός σύνδεσης","CTX_PAUSED":"Σε παύση","CTX_ALWAYS_ON_TOP":"Πάντα στο προσκήνιο","CTX_FULLSCREEN":"Πλήρης οθόνη","CTX_WRONG_SUBS":"Εσφαλμένοι υπότιτλοι;","CTX_REPORT_ISSUES":"Αναφορά ζητήματος","CTX_COPY":"Αντιγραφή","CTX_PASTE":"Επικόλληση","CTX_CLEAR":"Απαλοιφή","CTX_CLEAR_RECENT_SEARCHES":"Απαλοιφή πρόσφατων αναζητήσεων","HELLO_THERE":"Γεια σας","HOPE_YOU_ENJOY":"Ελπίζουμε να απολαμβάνετε το Stremio και να έχει γίνει ήδη μία από τις αγαπημένες σας εφαρμογές!","WHO_ARE_WE":"Ποιοι είμαστε; Είμαστε η ομάδα που το αναπτύσσει - δύο τύποι που εργάζονται σκληρά κάθε μέρα για τα τελευταία 3 έτη, προκειμένου να κάνουν αυτό το προϊόν όλο και καλύτερο.","SUPPORT_US":"Αν απολαμβάνετε το Stremio, αν το Stremio είναι ανεκτίμητο για εσάς - μοιραστείτε το με όλους!","SPREAD_THE_WORD":"Μοιραστείτε το με τους φίλους σας, μιλήστε σε όλους για το Stremio","MORE_PEOPLE":"Όσο περισσότερα άτομα χρησιμοποιούν το Stremio, τόσο καλύτερο θα γίνεται!","SEND_A_LINK":"Ή στείλτε έναν σύνδεσμο για τον ιστότοπό μας","TIP_LOCALFILES":"Συμβουλή: Μπορείτε να σύρετε και να εναποθέσετε τοπικά αρχεία βίντεο στο Stremio","ADDON_MY":"Τα πρόσθετά μου","ADDON_COMMUNITY":"Πρόσθετα κοινότητας","ADDON_OFFICIAL":"Επίσημα πρόσθετα","ADDON_REPOS":"Συλλογές προσθέτων","ADDON_SEARCH":"Αναζήτηση προσθέτων","ADDON_INSTALL":"Εγκατάσταση","ADDON_CONFIGURE":"Ρύθμιση","ADDON_UNINSTALL":"Αφαίρεση","ADDON_UPGRADE":"Αναβάθμιση","ADDON_INSTALLED":"Εγκατεστημένο","ADDON_INSTALLED_MSG":"Το πρόσθετο εγκαταστάθηκε!","ADDON_UPGRADED_MSG":"Το πρόσθετο αναβαθμίστηκε!","ADDON_UNKNOWN":"Άγνωστο","ADDON_ERR":"Σφάλμα εγκατάστασης προσθέτου!","ADDON_DISCONNECTED":"Αποσυνδέθηκε","ADDON_APP_MISSING":"Η εφαρμογή για αυτήν την πηγή δεν έχει εγκατασταθεί. Θέλετε να την εγκαταστήσετε τώρα;","ADDON_APP_INSTALL":"Εγκατάσταση","ADDON_PAGE":"Σελίδα προσθέτου","ADDON_TOP_CONTENT":"Τα καλύτερα από αυτό το πρόσθετο","ADDON_PROVIDES":"Αυτό το πρόσθετο προσφέρει:","ADDON_WATCH":"Παρακολούθηση «#{types}»!","ADDON_WATCH_FREE":"Δωρεάν παρακολούθηση «#{types}»!","ADDON_ADDON":"Πρόσθετο","ADDON_SUPPORTED_TYPES":"Υποστηριζόμενοι τύποι","ADDON_SUPPORTED_CATALOGS":"Υποστηριζόμενοι κατάλογοι","ADDON_PROVIDES_DISCOVER":"Περισσότερα «#{types}» στην Ανακάλυψη","ADDON_PROVIDES_STREAMS":"Παρακολούθηση «#{types}»","ADDON_PROVIDES_STREAMS_FREE":"Δωρεάν παρακολούθηση «#{types}»","ADDON_PROVIDES_SUBTITLES":"Υπότιτλοι για «#{types}»","ADDON_CANTDETECT":"Δεν μπορέσαμε να εντοπίσουμε κάποια εκτέλεση του Stremio, επομένως δεν μπορέσαμε να προσδιορίσουμε τα εγκατεστημένα σας πρόσθετα.","ERR_NO_META":"Δεν βρέθηκε καμία πληροφορία σχετικά με αυτό ","ERR_GETTING_META":"Σφάλμα ανάκτηση σχετικών πληροφοριών.","ERR_CANT_PARSE_MAGNET":"Δεν ήταν δυνατή η ανάλυση του magnet","ERR_NO_MAGNET_INFOHASH":"Κανένα έγκυρο hash πληροφοριών για το magnet","ERR_NO_FILE_PATH":"Δεν είναι δυνατή η αποστολή αιτήματος χωρίς διαδρομή σε αρχείο","ERR_NO_TORRENT":"Δεν επιστράφηκε κανένα torrent","ERR_NO_SUPPORTERD_FILES":"Δεν βρέθηκαν υποστηριζόμενα αρχεία","ERR_OPENING_FILES":"Δεν ήταν δυνατό το άνοιγμα εξωτερικών αρχείων","ERR_INVALID_LINK":"Μη έγκυρος σύνδεσμος","ERR_REGISTERED_ONLY":"Αυτή η επιλογή είναι διαθέσιμη μόνο για εγγεγραμμένους χρήστες.","ERR_CLIPBOARD":"Δεν είναι δυνατή η αναπαραγωγή από το πρόχειρο","ERR_CLIPBOARD_READ":"Δεν είναι δυνατή η ανάγνωση από το πρόχειρο σε αυτήν την πλατφόρμα","ERR_CLIPBOARD_GENERIC":"Δεν βρέθηκε κατάλληλο URL στο πρόχειρο. Παρακαλώ αντιγράψτε ένα URL βίντεο (π.χ. σύνδεσμος magnet).","BOARD_CONTINUE_WATCHING":"Συνέχεια παρακολούθησης","BOARD_EXPLANATION_RECOMMENDATIONS":"Ταινίες ειδικά επιλεγμένες για εσάς.<br />Αυτή η ταινία αποτελεί δείγμα πρότασης.","BOARD_EXPLANATION_EPISODES":"Τα νέα επεισόδια των αγαπημένων σας σειρών έρχονται εδώ.<br />Προσθέστε στη βιβλιοθήκη σας τις σειρές που ακολουθείτε.","BOARD_EXPLANATION_VIDEOS":"Τα νέα επεισόδια των αγαπημένων σας καναλιών έρχονται εδώ.<br />Προσθέστε στη βιβλιοθήκη σας τα κανάλια που ακολουθείτε.","WEBSITE_ENJOYED_BY":"Το απολαμβάνουν περισσότεροι από 30 εκατομμύρια χρήστες σε όλο τον κόσμο","WEBSITE_STREAMING_ENHANCED":"Το streaming ανανεωμένο","WEBSITE_STREAMING_ENHANCED_DETAILS":"Το Stremio προσφέρει μια ασφαλή, σύγχρονη και απρόσκοπτη εμπειρία ψυχαγωγίας. Με την εύκολη στη χρήση διεπαφή και τη βιβλιοθήκη ποικίλου περιεχομένου, συμπεριλαμβανομένης της υποστήριξης 4K HDR, οι χρήστες μπορούν να απολαμβάνουν τις αγαπημένες τους ταινίες και τηλεοπτικές εκπομπές σε όλες τις συσκευές τους. Και με τη δέσμευσή του στην ασφάλεια, το Stremio είναι η απόλυτη επιλογή για μια άνετη, υψηλής ποιότητας εμπειρία streraming.","WEBSITE_AVAILABLE_ON":"Διαθέσιμο σε","WEBSITE_WATCH_AND_ENJOY":"Δείτε & Απολαύστε.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Το Stremio το κάνει παιχνιδάκι","WEBSITE_ALL_FEATURES":"Όλες οι λειτουργίες","WEBSITE_EASY_TO_USE":"Εύκολο στη χρήση","WEBSITE_EASY_TO_USE_DETAILS":"Το Stremio έχει σχεδιαστεί για να είναι φιλικό προς το χρήστη και εύκολο στη χρήση. Με την καθαρή και διαισθητική διεπαφή του μπορείτε εύκολα να πλοηγηθείτε και να βρείτε το περιεχόμενο που θέλετε να παρακολουθήσετε.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Απρόσκοπτο σε όλες τις συσκευές","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Διαθέσιμο για ένα ευρύ φάσμα πλατφορμών (συμπεριλαμβανομένων των Windows, Mac, Linux, Android και άλλες), το Stremio θα παρακολουθεί την πρόοδό σας σε όλες τις συσκευές σας. Απλώς συνδεθείτε και συνεχίστε την παρακολούθηση χωρίς να χρειάζεται να ρυθμίσετε ξανά την εφαρμογή σε κάθε νέα συσκευή.","WEBSITE_ALL_DOWNLOADS":"Όλες οι λήψεις","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"Υποστήριξη για βίντεο υψηλής ανάλυσης","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"Ένα ενσωματωμένο πρόγραμμα αναπαραγωγής βίντεο που υποστηρίζει τις περισσότερες μορφές βίντεο, συμπεριλαμβανομένου περιεχομένου 4K HDR, σας επιτρέπει να απολαύσετε την υψηλότερη διαθέσιμη ποιότητα.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Βιβλιοθήκη με ποικιλία περιεχομένου","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Το Stremio ενσωματώνεται με μεγάλο αριθμό δημοφιλών πηγών βίντεο, όπως το Netflix, το Amazon Prime Video, το Hulu, το YouTube και πολλά άλλα.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Δημιουργήστε έναν δωρεάν λογαριασμό.","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Προσαρμοσμένη εμπειρία προβολής","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Το Stremio σάς επιτρέπει να προσαρμόσετε την εμφάνιση και την αίσθηση της διεπαφής αλλάζοντας το θέμα, προσθέτοντας ή αφαιρώντας πρόσθετα και πολλά άλλα.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Υποστήριξη πολύγλωσσων υπότιτλων","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"Τώρα μπορείτε να απολαύσετε όλο το αγαπημένο περιεχόμενο στη γλώσσα που προτιμάτε, καθώς το Stremio υποστηρίζει υπότιτλους σε όλες τις γλώσσες.","WEBSITE_ALL_STREMIO_FEATURES":"Όλες οι λειτουργίες του Stremio","WEBSITE_TRY_STREMIO_TITLE_P1":"Δοκιμάστε το Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"Τώρα στη τηλεόρασή σας","WEBSITE_YOU_CAN_NOW_WATCH":"Μπορείτε πλέον να παρακολουθείτε όλες τις αγαπημένες τηλεοπτικές εκπομπές στις συσκευές σας με Android TV. Η εφαρμογή Stremio TV σάς επιτρέπει να απολαύσετε μια κινηματογραφική βραδιά με ευκολία.","WEBSITE_YOU_CAN_NOW_WATCH_2":"Τώρα μπορείτε να παρακολουθήσετε όλες τις αγαπημένες τηλεοπτικές εκπομπές στη Smart TV ή στην Android TV σας. Οι εφαρμογές Stremio TV σάς επιτρέπουν να απολαύσετε μια βραδιά ταινιών με ευκολία.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio για Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Ίσως η καλύτερη και πιο χρήσιμη εφαρμογή που μπορείτε να έχετε στη συσκευή σας. Είναι μια από τις εφαρμογές που χρησιμοποιώ σε καθημερινή βάση ειδικά στην Android TV μου εδώ και πολλά χρόνια. Καλοφτιαγμένο με μια ισχυρή κοινότητα που παρέχει χρήσιμες λειτουργίες. Μπράβο. Συνέχισε την καλή δουλειά.","WEBSITE_REVIEWS":"αξιολογήσεις","WEBSITE_GET_STREMIO_FOR_FREE":"Αποκτήστε το Stremio δωρεάν","WEBSITE_GET_STREMIO_NOW":"Αποκτήστε το Stremio τώρα","WEBSITE_STREMIO_FEATURES":"Λειτουργίες του Stremio","WEBSITE_STREMIO_FEATURES_DETAILS":"Κάντε stream σαν επαγγελματίας με τις προηγμένες δυνατότητες του Stremio και απολαύστε απρόσκοπτη πρόσβαση σε όλα τα αγαπημένα σας μέσα","WEBSITE_DISCOVER_MORE":"Εξερευνήστε περισσότερα.","WEBSITE_DISCOVER_MORE_DETAILS":"Μην ξεμείνετε ποτέ από πράγματα για να παρακολουθήσετε","WEBSITE_COMMUNITY_DRIVEN":"Με γνώμονα την κοινότητα","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Το Stremio έχει μια μεγάλη και ενεργή κοινότητα χρηστών που συμβάλλουν στην ανάπτυξη του λογισμικού δημιουργώντας και μοιράζοντας πρόσθετα.","WEBSITE_GET_INVOLVED":"Συμμετέχετε","WEBSITE_NEW_THEATER_EXPERIENCE":"Νέα εμεπιρία κηνιματογράφου","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Η νέα αποκλειστική εφαρμογή τηλεόρασης του Stremio σας επιτρέπει να απολαύσετε μια βραδιά ταινίας στις συσκευές Android TV.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Η νέα αποκλειστική εφαρμογή τηλεόρασης του Stremio σας επιτρέπει να απολαύσετε μια βραδιά ταινίας στις συσκευές Smart TV ή Android TV σας.","WEBSITE_FREE_AND_SECURE":"Δωρεάν & Ασφαλές","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Το Stremio προσφέρει απαράμιλλη ασφάλεια και απόρρητο στους χρήστες. Με τη μοναδική του δυνατότητα να εκτελείτε πρόσθετα από απόσταση, το Stremio παρέχει έναν ασφαλέστερο τρόπο για να μεταδώσετε το αγαπημένο σας περιεχόμενο σε σύγκριση με άλλες πλατφόρμες. Η ασφάλεια και το απόρρητό σας αποτελούν κορυφαίες προτεραιότητες και η πλατφόρμα διασφαλίζει ότι όλα τα δεδομένα σας προστατεύονται.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Πείτε αντίο στις ανησυχίες για την ασφάλεια και την ιδιωτικότητα και πείτε γεια σε έναν κόσμο ατελείωτης διασκέδασης με το Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Οι πληροφορίες παρέχονται από","WEBSITE_CONTRIBUTE":"Συνεισφέρετε","WEBSITE_CONTRIBUTE_DESC":"στο project & βοηθήστε μας να κάνουμε το Stremio ακόμα καλύτερο.","WEBSITE_COMMUNITY_DESC":"Πιστεύουμε ότι ο καλύτερος τρόπος για να δημιουργήσετε μια πραγματικά εκπληκτική εμπειρία ροής είναι να εμπλέξετε την κοινότητά μας στη διαδικασία. Είτε είστε προγραμματιστής, είτε καλλιτέχνης είτε απλώς θαυμαστής - θα μπορούσατε να βοηθήσετε το Stremio να αναπτυχθεί.","WEBSITE_COMMUNITY_DESC_2":"Ελάτε λοιπόν σήμερα και γίνετε μέλος της κοινότητας του Stremio και συνεχίστε να διαμορφώνετε το μέλλον του streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Τρόποι να συμμετέχετε","WEBSITE_IN_THE_STREMIO_COMMUNITY":"στη κοινότητα του Stremio","WEBSITE_SHARE_YOUR_THOUGHTS":"Μοιραστείτε τις σκέψεις σας","WEBSITE_REPORT_BUGS":"Αναφέρετε σφάλματα","WEBSITE_SUGGEST_FEATURES":"προτείνετε λειτουργίες","WEBSITE_AND_PROVIDE_FEEDBACK":"και παρέχετε σχόλια στα κανάλια μας στα μέσα κοινωνικής δικτύωσης.","WEBSITE_BETA_TESTING_PROGRAM":"Πρόγραμμα δοκιμών beta","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Λάβετε μέρος στο πρόγραμμα δοκιμών beta (αποστέλλουμε προσκλήσεις τακτικά) στην κοινότητα Stremio.","WEBSITE_JOIN_NOW":"Πάρε μέρος τώρα!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Επίσημες Κοινότητες Stremio","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Ανεπίσημες Κοινότητες Stremio","WEBSITE_BECOME":"Γίνετε","WEBSITE_A_VOLUNTEER_TRANSLATOR":"ένας εθελοντής μεταφραστής","WEBSITE_ARE_YOU_A_DEVELOPER":"Είστε προγραμματιστής;?","WEBSITE_CONTRIBUTE_CODE":"Θα μπορούσατε να συνεισφέρετε κώδικα στα έργα ανοιχτού κώδικα μας. Έχουμε πολλά έργα στο GitHub που αναζητούν συντελεστές. Εάν ενδιαφέρεστε να βοηθήσετε, ελέγξτε τα:","WEBSITE_STREMIO_ON_GITHUB":"Stremio στο GitHub","WEBSITE_CREATE_ADDON_DESC":"Δημιουργήστε ένα πρόσθετο για να βελτιώσετε τη λειτουργικότητα του Stremio (διαθέτουμε ένα εύχρηστο API):","WEBSITE_STREMIO_ADDON_SDK":"SDK για πρόσθετα Stremio","WEBSITE_INTERN_DEVELOPER":"Παρέχουμε επίσης την ευκαιρία να συμμετάσχετε ως ασκούμενος προγραμματιστής για να μπορέσουμε να αναπτυχθούμε μαζί.","WEBSITE_APPLY_AS_AN_INTERN":"Κάντε αίτηση ως ασκούμενος!","WEBSITE_CALLING_ALL_ARTISTS":"Καλούμε όλους τους καλλιτέχνες!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Δείξτε τη δημιουργικότητα και την αγάπη σας για το Stremio ανεβάζοντας τα fan art σας στην ηλεκτρονική μας συλλογή. Είτε πρόκειται για σχέδιο, ζωγραφική ή ψηφιακό σχέδιο, θέλουμε να δούμε τη μοναδική σας άποψη για τη μάρκα Stremio. Γίνετε μέλος της κοινότητας των λάτρεις της τέχνης και μοιραστείτε τη δουλειά σας με άλλους θαυμαστές του Stremio σε όλο τον κόσμο.","WEBSITE_STREMIO_FANART_GALLERY":"Συλλογή Stremio Fanart","WEBSITE_INTERN_DESIGNER":"Γίνετε μέλος της ομάδας μας και ανεβάστε τη δημιουργικότητά σας σε νέα ύψη με τις συναρπαστικές μας ευκαιρίες πρακτικής άσκησης.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Project δημόσιων ταινιών","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"Στο Stremio, δεσμευόμαστε να διατηρήσουμε την ιστορία του κινηματογράφου και της τηλεόρασης εντοπίζοντας δημόσια και ορφανά βίντεο. Δουλεύοντας μαζί με την κοινότητά μας, μπορούμε να διασφαλίσουμε ότι αυτά τα κλασικά έργα τέχνης είναι προσβάσιμα σε όλους και προστατεύονται για να τα απολαύσουν οι μελλοντικές γενιές.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Μη διστάσετε να επικοινωνήσετε μαζί μας εάν θέλετε να συμμετάσχετε σε αυτό το project.","WEBSITE_JOIN_THE_PROJECT":"Συμμετέχετε στο project","WEBSITE_BE_PART_OF_OUR_MISSION":"Γίνετε μέρος της αποστολής μας","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Ενδιαφέρεστε να ενταχθείτε στην ομάδα του Stremio; Προσφέρουμε πλήρως απομακρυσμένη εργασία για παθιασμένους επαγγελματίες. Δείτε τις ανοιχτές θέσεις μας.","WEBSITE_OPEN_POSITIONS":"ΕΛΕΥΘΕΡΕΣ ΘΕΣΕΙΣ","WEBSITE_DESCRIPTION":"ΠΕΡΙΓΡΑΦΗ","WEBSITE_LEARN_MORE":"Μάθετε περισσότερα","WEBSITE_COMPANY":"Εταιρία","WEBSITE_CONTACTS":"Επαφές","WEBSITE_NEED_HELP":"Χρειάζεστε βοήθεια;","WEBSITE_STREMIO_WEB_ON_IOS":"Οδηγός για το Stremio Web σε iOS","WEBSITE_LINK_ART_V2":"Fanart","WEBSITE_PARTNERS":"Συνεργάτες","WEBSITE_SLOGAN_WATCH":"Άμεση παρακολούθηση","WEBSITE_SLOGAN_ALL":"Όλο το περιεχόμενό σας, σε ένα μέρος","WEBSITE_SLOGAN_NEW":"Απεριόριστη παρακολούθηση","WEBSITE_SLOGAN_NEW_NEW":"Ελευθερία στο streaming","WEBSITE_WATCH_FROM":"Προβολή από","WEBSITE_DOWNLOAD":"Λήψη τώρα","WEBSITE_DOWNLOAD_FOR":"Λήψη τώρα για","WEBSITE_IS_DESKTOP":"Το Stremio είναι εφαρμογή για υπολογιστές, ανοίξτε αυτήν τη σελίδα στον υπολογιστή για να κάντε λήψη","WEBSITE_DESKTOP_DEMO_VID":"Επίδειξη σε υπολογιστή","WEBSITE_PAGE_HOME":"Αρχική","WEBSITE_PAGE_FEATURES":"Λειτουργίες","WEBSITE_PAGE_ADDONS":"Πρόσθετα","WEBSITE_PAGE_TECH":"Τεχνολογία","WEBSITE_PAGE_CREATE_ADDON":"Δημιουργία προσθέτου","WEBSITE_PAGE_CONTACTS":"Επαφές","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Εισαγάγετε τον επιθυμητό νέο κωδικό πρόσβασης παρακάτω.","WEBSITE_RESET_PASSWORD_WARNING":"Είστε βέβαιοι ότι θέλετε να επαναφέρετε τον κωδικό πρόσβασης για ${1};","WEBSITE_TYPE_movie":"Ταινίες","WEBSITE_TYPE_series_PL":"Σειρές","WEBSITE_TYPE_tv":"Ζωντανή τηλεόραση","WEBSITE_TYPE_channel":"Κανάλια","WEBSITE_STREMIO_WHAT_IS":"Το Stremio είναι μια εφαρμογή που σας βοηθά να οργανώσετε και να παρακολουθήσετε άμεσα τα αγαπημένα σας βίντεο, ταινίες, σειρές και τηλεοπτικά κανάλια.","WEBSITE_FEATURES_WATCH":"Άμεση παρακολούθηση σε HD","WEBSITE_FEATURES_WATCH_DETAIL":"Κάντε κλικ και δείτε τις αγαπημένες σας ταινίες, εκπομπές, βίντεο και κανάλια.","WEBSITE_FEATURES_SUBS":"Αυτόματοι υπότιτλοι","WEBSITE_FEATURES_SUBS_DETAIL":"Το Stremio επιλέγει αυτόματα συγχρονισμένους υπότιτλους στη γλώσσα σας.","WEBSITE_FEATURES_SUBS_LABEL":"Εσύ αποφασίζεις.","WEBSITE_FEATURES_CAST":"Αναπαραγωγή σε τηλεόραση & κινητές συσκευές","WEBSITE_FEATURES_CAST_DETAIL":"Μετάδοση σε Apple TV, Chromecast, Smart TV (DLNA/UPnP) και κινητές συσκευές.","WEBSITE_LIB":"Η προσωπική σας βιβλιοθήκη σε όλες τις συσκευές σας","WEBSITE_LIB_COLLECT":"Συλλογή από Stremio","WEBSITE_LIB_IMPORT":"Εισαγωγή από Facebook","WEBSITE_LIB_LOCAL":"Προσθήκη από τοπικό δίσκο","WEBSITE_BOARD":"Ο πίνακας - Ένα ενιαίο μέρος για ειδοποιήσεις και προτάσεις","WEBSITE_BOARD_RECOMMEND":"Προτεινόμενη εκπομπή","WEBSITE_BOARD_TRENDING":"Δημοφιλής ταινία","WEBSITE_BOARD_NEW":"Νέο βίντεο","WEBSITE_BOARD_EPISODE":"Νέο επεισόδιο","WEBSITE_BOARD_1":"Ψάχνετε να παρακολουθήσετε κάτι ενδιαφέρον; Λάβετε προτάσεις βάσει των προτιμήσεών σας!","WEBSITE_BOARD_2":"Ειδοποιηθείτε όταν κυκλοφορήσει ένα νέο επεισόδιο της αγαπημένης σας εκπομπής ή καναλιού YouTube!","WEBSITE_BOARD_YOUTUBE":"Νέα βίντεο καναλιών YouTube","WEBSITE_BOARD_EPISODES":"Νέα επεισόδια των σειρών που ακολουθείτε","WEBSITE_ADDONS":"Πρόσθετα περιεχομένου","WEBSITE_TECH_DETAIL":"Αγαπούμε την τεχνολογία και την επιστήμη!\\nΤο Stremio χρησιμοποιεί τις εξής τεχνολογίες ανοικτού κώδικα:","WEBSITE_TECH_WCJS":"Το WebChimera.js επιτρέπει στο Stremio την αναπαραγωγή οποιασδήποτε μορφής βίντεο με καλές επιδόσεις.","WEBSITE_TECH_WCJS_EXTRA":"Είμαστε οι βασικοί συντελεστές του έργου","WEBSITE_TECH_ELECTRON":"Το Electron αποτελεί μια καινοτόμα πλατφόρμα για την ανάπτυξη του Stremio.","WEBSITE_TECH_ELECTRON_EXTRA":"Είμαστε συντελεστές του έργου","WEBSITE_TECH_LINVODB":"Μια τεχνολογία βάσης δεδομένων που εξασφαλίζει ότι τα δεδομένα σας είναι οργανωμένα και διαθέσιμα απ\' όπου κάνετε σύνδεση.","WEBSITE_TECH_LINVODB_EXTRA":"Τεχνολογία από εμάς","WEBSITE_CREATE_ADDON":"Δημιουργήστε το πρόσθετό σας","WEBSITE_CREATE_ADDON_DETAIL":"Διαθέτετε κάποια υπηρεσία παροχής περιεχομένου βίντεο; Θα σας βοηθήσουμε να επωφεληθείτε από τις δυνατότητες του Stremio δημιουργώντας το πρόσθετό σας.","WEBSITE_CREATE_ADDON_BENEFITS":"Οφέλη της δημιουργίας ενός προσθέτου για το Stremio","WEBSITE_P2P_BEAUTY":"Η άνεση και ομορφιά της ροής peer-to-peer","WEBSITE_P2P_1":"Αξιόπιστη και προσιτή προβολή Full HD/4K βίντεο on demand ή σε ζωντανή ροή","WEBSITE_P2P_2":"Πλατφόρμα διανομής με εξαιρετική εμπειρία χρήσης","WEBSITE_P2P_3":"Θα δημιουργήσουμε ένα πρόσθετο που θα καλύπτει απόλυτα τις ανάγκες σας","WEBSITE_P2P_CONTACT":"Σας ενδιαφέρει; Μπορείτε πάντα να <a href=\'mailto:office@stremio.com\'>επικοινωνήσετε μαζί μας</a>.","WEBSITE_P2P_CONTACT_EXTRA":"Θα χαρούμε να σας βοηθήσουμε στην ενσωμάτωση του περιεχομένου σας στο Stremio!","WEBSITE_P2P":"Κατά καιρούς, εμφανίζεται μια τεχνολογία που αλλάζει το τοπίο. Επενδύσαμε πολύ χρόνο και προσπάθεια στην ανάπτυξη της δικής μας μηχανής ροής βίντεο Peer-to-Peer (P2P) που παρέχει εξαιρετικές επιδόσεις και ανταποκρίνεται σε κάθε είδους χρήση.\\nΕπικοινωνήστε μαζί μας για P2P βίντεο με DRM, on demand ή σε ζωντανή ροή.","WEBSITE_THOUGHTS":"Οι σκέψεις μας:","WEBSITE_SPREAD":"Μιλήστε σε άλλους για το Stremio:","WEBSITE_CONTACT":"Επικοινωνήστε μαζί μας, θα χαρούμε να σας ακούσουμε!","WEBSITE_OPENSOURCE":"Για τα έργα μας με ανοικτό κώδικα, μεταβείτε στο","WEBSITE_BITCOIN":"Δωρεά bitcoin:","WEBSITE_FAQ":"Συχνές ερωτήσεις","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Ερωτήσεις","WEBSITE_TOS":"Όροι χρήσης","WEBSITE_LEGAL":"Νομικά","WEBSITE_PAGE_ABOUT":"Πληροφορίες","WEBSITE_PAGE_BECOME_PARTNER":"Γίνετε συνεργάτης","WEBSITE_ALL_YOU_CAN_WATCH":"Δείτε ό,τι θέλετε, ελεύθερα.","WEBSITE_FREEDOM_TO_STREAM":"Ελευθερία στο streaming","WEBSITE_WHAT_IS_STREMIO":"Τι είναι το Stremio;","WEBSITE_WHAT_IS_STREMIO_P1":"Το Stremio αποτελεί ένα ενιαίο κέντρο για περιεχόμενο βίντεο. Ανακαλύψτε, οργανώστε και παρακολουθήστε βίντεο από όλα τα είδη πηγών σε οποιαδήποτε συσκευή σας.","WEBSITE_WHAT_IS_STREMIO_P2":"Ταινίες, εκπομπές, σειρές, ζωντανή τηλεόραση ή διαδικτυακά κανάλια, όπως το YouTube και το Twitch.tv - μπορείτε να τα βρείτε όλα στο Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Το Stremio είναι ένα σύγχρονο κέντρο πολυμέσων για όλο σας το ψυχαγωγικό περιεχόμενο βίντεο. Ανακαλύψτε, παρακολουθήστε και οργανώστε το περιεχόμενο βίντεο με εύχρηστα πρόσθετα.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Ταινίες, εκπομπές, ζωντανή τηλεόραση ή διαδικτυακά κανάλια - βρείτε τα όλα στο Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Απολαύστε σε όλες τις συσκευές πολυμέσων σας","WEBSITE_DEVICES_COLLECT":"Συλλογή από Stremio","WEBSITE_DEVICES_IMPORT_FB":"Εισαγωγή από Facebook","WEBSITE_DEVICES_LOCAL":"Προσθήκη από τοπικό δίσκο","WEBSITE_JOIN_THE_PARTY_NOW":"Ελάτε κι εσείς στο πάρτι","WEBSITE_DEVICES_ALL":"Εύκολο στη χρήση σε όλες σας τις συσκευές·","WEBSITE_EXTENDABLE_CATALOG":"Απεριόριστα επεκτάσιμος κατάλογος βίντεο·","WEBSITE_ORGANIZE_YOUR_MEDIA":"Εξαιρετικές δυνατότητες οργάνωσης πολυμέσων·","WEBSITE_AS_SEEN_ON":"Γνώμες από τον τύπο","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"Σχετικά με εμάς","WEBSITE_LINK_TECHNOLOGY":"Τεχνολογία","WEBSITE_LINK_APPS":"Εφαρμογές","WEBSITE_LINK_DOWNLOADS":"Λήψεις","WEBSITE_MORE":"Περισσότερα","WEBSITE_LINK_ADDONS":"Πρόσθετα","WEBSITE_LINK_ADDON_SDK":"SDK προσθέτων","WEBSITE_LINK_CONTRIBUTE":"Συνεισφορά","WEBSITE_LINK_COMMUNITY":"Κοινότητα","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... & ακόμα περισσότερα","WEBSITE_LINK_HELP":"Κέντρο βοήθειας","WEBSITE_LINK_CONTACTS":"Επαγγελματικές ερωτήσεις","WEBSITE_LINK_TOS":"Όροι & προϋποθέσεις","WEBSITE_LINK_PRAVACY":"Πολιτική απορρήτου","WEBSITE_SUBSCRIBE":"Συνδρομή","WEBSITE_NEWSLETTER":"Εγγραφείτε στο ενημερωτικό μας δελτίο για απίθανα πράγματα","WEBSITE_PLACEHOLDER_EMAIL":"Το email σας","WEBSITE_COMMUNITY":"Κοινότητα","WEBSITE_LINK_PRAVACY_LEGAL":"Απόρρητο & νομικά","WEBSITE_WHY":"Γιατί το κάνουμε","WEBSITE_WHY_P1":"Στο Stremio, εργαζόμαστε καθημερινά επειδή θέλουμε να επιλύσουμε ένα σημαντικό πρόβλημα της βιομηχανίας βίντεο on demand. Υπάρχει τόσο πολύ νέο περιεχόμενο που δημοσιεύεται κάθε λεπτό, που είναι σχεδόν αδύνατο να το διαχειριστείτε.","WEBSITE_WHY_P2":"Βοηθούμε τους ανθρώπους να πλοηγηθούν σε αυτόν τον τεράστιο κόσμο βίντεο ψυχαγωγίας και να ανακαλύψουν νέο περιεχόμενο. Οι εφαρμογές μας συνδυάζουν ταινίες, σειρές, ζωντανή τηλεόραση, διαδικτυακά κανάλια και πολλά άλλα. Έχουμε αφοσιωθεί στο να κάνουμε την εύρεση τίτλων εξαιρετική εύκολη για τους χρήστες μας.","WEBSITE_WHY_P3":"Μπορείτε να χρησιμοποιήσετε την υπηρεσία μας σε οποιαδήποτε συσκευή και ανά πάσα στιγμή, καθιστώντας το Stremio το μοναδικό κέντρο ψυχαγωγίας βίντεο που θα χρειαστείτε.","WEBSITE_TEAM":"Ομάδα","WEBSITE_TEAM_P":"Η ομάδα του Stremio είναι μικρή αλλά ισχυρή: τα δέκα μέλη της γράφουν κώδικα σε X γλώσσες και μοιράζονται εμπειρία στην ανάπτυξη λογισμικού, στον σχεδιασμό UI και UX, στο μάρκετινγκ και στη διαφήμιση, καθώς και στις επιχειρήσεις.","WEBSITE_FEATURES":"Λειτουργίες","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Εύκολη ανακάλυψη νέου περιεχομένου","WEBSITE_FEATURES_DISCOVER_P":"Ανακαλύψτε εύκολα νέες ταινίες, εκπομπές, σειρές και κανάλια. Περιηγηθείτε κατά κατηγορία, είδος, βαθμολογία, πρόσφατη προβολή κ.λπ. ή απλά πληκτρολογήστε ένα όνομα. Το Stremio κάνει πανεύκολη την εύρεση νέου περιεχομένου.","WEBSITE_FEATURES_ALL_CONTENT":"Όλο σας το περιεχόμενο σε μία οθόνη","WEBSITE_FEATURES_ALL_CONTENT_P1":"Δείτε ποιες ταινίες, σειρές ή βίντεο δεν τελειώσατε και συνεχίστε την παρακολούθηση τους· λάβετε ειδοποιήσεις για νέα επεισόδια και κυκλοφορίες· περιηγηθείτε στις προτάσεις που θα λάβετε βάσει των συνηθειών παρακολούθησής σας.","WEBSITE_FEATURES_LIBRARY":"Οργάνωση βιβλιοθήκης βίντεο","WEBSITE_FEATURES_LIBRARY_P1":"Προσθέστε οποιονδήποτε τίτλο στη βιβλιοθήκη του Stremio σας με ένα μόνο κλικ και πλοηγηθείτε στο περιεχόμενό σας, οργανωμένο κατά τύπο, πρόσφατη προβολή ή αλφαβητική σειρά.","WEBSITE_FEATURES_CALENDAR":"Εποπτεία όλων όσων παρακολουθείτε","WEBSITE_FEATURES_CALENDAR_P1":"Δείτε ένα ημερολόγιο με όλες τις ταινίες και σειρές που προσθέτετε στη βιβλιοθήκη σας. Εξαγάγετε και συγχρονίστε το ημερολόγιο σας, ώστε να γνωρίζετε πάντα πότε θα κυκλοφορήσει ένα νέο επεισόδιο ή μια νέα σειρά.","WEBSITE_FEATURES_BIG_SCREEN":"Απολαύστε το περιεχόμενό σας σε μεγαλύτερη οθόνη","WEBSITE_FEATURES_BIG_SCREEN_P1":"Μεταδώστε ό,τι παρακολουθείτε σε μια άλλη συσκευή - σε τηλέφωνο, tablet ή τηλεόραση TV με ένα μόνο κλικ.","WEBSITE_FEATURES_SOURCES":"Προβολή βίντεο από πολλές διαφορετικές πηγές","WEBSITE_FEATURES_SOURCES_P":"Εγκαταστήστε επίσημα πρόσθετα και πρόσθετα κοινότητας για να απολαμβάνετε βίντεο από πολλούς διαφορετικούς παρόχους - όλα σε μία κομψή, εύχρηστη εφαρμογή.","WEBSITE_CREATE_AN_ADDON":"Δημιουργία προσθέτου","WEBSITE_FEATURES_SYNC":"Συγχρονίστε τη βιβλιοθήκη σας σε πολλαπλές συσκευές και συνεχίστε την αναπαραγωγή","WEBSITE_FEATURES_SYNC_P1":"Συνδεθείτε με τον λογαριασμό σας σε όλες τις συσκευές σας και απολαύστε τον συγχρονισμό της βιβλιοθήκης, των προσθέτων, της αναπαραγωγής και του ημερολογίου σας.","WEBSITE_FEATURES_EXTENDABLE":"Επεκτάσιμος κατάλογος βίντεο με τα πρόσθετα","WEBSITE_FEATURES_EXTENDABLE_P1":"Ο κατάλογος προσθέτων του Stremio παρέχει πολυάριθμα πρόσθετα για την παρακολούθηση ποικίλου περιεχομένου βίντεο. Δείτε ταινίες, εκπομπές, ζωντανή τηλεόραση, αθλήματα, ειδήσεις, podcast, διαδικτυακά κανάλια, βιντεοπαιχνίδια και πολλά άλλα.","WEBSITE_FEATURES_AUTO_SUBS":"Αυτόματοι υπότιτλοι","WEBSITE_FEATURES_AUTO_SUBS_P1":"Με τα πρόσθετα υποτίτλων μας, καθορίζονται αυτόματα οι επιλογές για την προτιμώμενη γλώσσα σας.","WEBSITE_FEATURES_CHROMECAST":"Μετάδοση σε Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Απολαύστε το περιεχόμενό σας σε μια μεγαλύτερη οθόνη ή μεταδώστε ό,τι βλέπετε σε μια άλλη συσκευή.","WEBSITE_FEATURES_KEEP_TRACK":"Εποπτεία των αγαπημένων σειρών και καναλιών σας","WEBSITE_FEATURES_KEEP_TRACK_P1":"Δείτε ένα ημερολόγιο και λάβετε ειδοποιήσεις για νέα επεισόδια των αγαπημένων σας σειρών και καναλιών.","WEBSITE_FEATURES_POWER_USER":"Λειτουργίες για έμπειρους χρήστες","WEBSITE_FEATURES_POWER_USER_P1":"Αναπαραγωγή σε εξωτερικό πρόγραμμα","WEBSITE_FEATURES_POWER_USER_P2":"Αναπαραγωγή από αρχείο torrent ή σύνδεσμο magnet","WEBSITE_FEATURES_POWER_USER_P3":"Εισαγωγή στη βιβλιοθήκη από αγαπημένα στο Facebook ή τον τοπικό δίσκο","WEBSITE_ADD_ONS":"Πρόσθετα","WEBSITE_ADD_ONS_P1":"Όλο το περιεχόμενο που παρέχει το Stremio προέρχεται από ένα σύστημα προσθέτων - δεν ενσωματώνεται καθόλου περιεχόμενο και κανένας πάροχος στην εφαρμογή.","WEBSITE_ADD_ONS_P2":"Υπάρχουν δύο ομάδες διαθέσιμων προσθέτων: επίσημα πρόσθετα και πρόσθετα κοινότητας.","WEBSITE_ADD_ONS_P3":"Τα επίσημα αναπτύσσονται και φιλοξενούνται από το Stremio, ενώ τα πρόσθετα κοινότητας δημιουργούνται και φιλοξενούνται από τα μέλη της κοινότητάς μας.","WEBSITE_ADDONS_OFFICIAL":"Επίσημα πρόσθετα","WEBSITE_ADDONS_WATCHUB":"Δείτε τις αγαπημένες σας ταινίες, σειρές και εκπομπές από παρόχους, όπως το iTunes, το Hulu, το Amazon και άλλες υπηρεσίες των ΗΠΑ/ΗΒ.","WEBSITE_ADDONS_YOUTUBE":"Παρακολουθήστε τα αγαπημένα σας κανάλια YouTube χωρίς διαφημίσεις και λάβετε ειδοποιήσεις για νέες μεταφορτώσεις από τους δημιουργούς που ακολουθείτε.","WEBSITE_ADDONS_FILMON":"Παρακολουθήστε ζωντανή τηλεόραση, ταινίες και εκπομπές δωρεάν. 600 τηλεοπτικά κανάλια, 45.000 δωρεάν ταινίες, ντοκιμαντέρ και πολλά άλλα.","WEBSITE_ADDONS_OPENSUBTITLES":"Υπότιτλοι ταινιών και σειρών σε πολλαπλές γλώσσες, μεταφορτώνονται χιλιάδες μεταφρασμένοι υπότιτλοι καθημερινά.","WEBSITE_ADDONS_COMMUNITY":"Πρόσθετα κοινότητας","WEBSITE_ADDONS_FILMON_VOD":"Παρακολουθήστε βίντεο on demand από το Filmon.tv","WEBSITE_ADDONS_TWICH":"Παρακολουθήστε ζωντανές ροές από το Twitch.tv - μια πλατφόρμα ροής βίντεο για τη βιομηχανία των e-sports.","WEBSITE_ADDONS_VODO":"Παρακολουθήστε ανεξάρτητες ταινίες εντελώς δωρεάν.","WEBSITE_ADDONS_NETFLIX":"Παρακολουθήστε ταινίες και σειρές του Netflix.","WEBSITE_ADDONS_CREATE":"Δημιουργία προσθέτου","WEBSITE_ADDONS_CREATE_P1":"Εάν το επιθυμείτε, μπορείτε να αναπτύξετε το δικό σας πρόσθετο. Με αυτόν τον τρόπο, μπορείτε να παραχωρήσετε στον εαυτό σας και στην κοινότητά μας πρόσβαση σε νέο περιεχόμενο βίντεο και να προσεγγίσετε ένα νέο κοινό εκατομμυρίων χρηστών παγκοσμίως.","WEBSITE_ADDONS_START_CREATE":"Για να ξεκινήσετε, επισκεφθείτε τη σελίδα του SDK προσθέτων του Stremio:","WEBSITE_DOWNLOADS":"Λήψεις","WEBSITE_DOWNLOADS_P1":"Για βέλτιστες επιδόσεις, προτείνουμε τη χρήση της πιο πρόσφατης έκδοσης των εφαρμογών Stremio. Αν όμως, για κάποιο λόγο, θέλετε να χρησιμοποιήσετε μια παλαιότερη έκδοση, μπορείτε να τη βρείτε εδώ.","WEBSITE_DOWNLOADS_P1_SHORT":"Για βέλτιστη απόδοση, συνιστούμε να χρησιμοποιήσετε την πιο πρόσφατη διαθέσιμη έκδοση των εφαρμογών Stremio.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio για Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio για macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio για Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio για Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio για Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio για φορητή συσκευή Android","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio για το Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio για iOS (περιορισμένη έκδοση)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio για Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio για LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio για Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio για Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio για Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio για Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio για Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio για Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio για Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio για Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Αναζητήστε το Stremio στο App Store των μοντέλων τηλεοράσεων Samsung 2019+","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Αναζητήστε το Stremio στο App Store των μοντέλων τηλεοράσεων LG 2020+","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Αναζητήστε το Stremio στο App Store της συσκευής σας Xbox","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Οδηγός","WEBSITE_DOWNLOAD_SERVICE":"Λήψη του Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Το Stremio Service είναι μια συνοδευτική εφαρμογή για το Stremio Web. Συνιστούμε να χρησιμοποιήσετε την πιο πρόσφατη διαθέσιμη έκδοση του Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service για Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service για macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service για Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service για Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio για Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"Περισσότερες επιλογές λήψης","WEBSITE_DOWNLOAD_NEW":"Νέο!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"Κυκλοφορήσαμε το Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"Κυκλοφορήσαμε το Stremio για Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"Κυκλοφόρησε το Stremio για LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"Κυκλοφόρησε το Stremio για Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"Κυκλοφορήσαμε το Stremio για το Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"Η πλατφόρμα του Stremio είναι ανοικτού κώδικα και μπορείτε εύκολα να δημιουργήσετε ένα πρόσθετο για περιεχόμενο που δεν παρέχεται αυτήν τη στιγμή.","WEBSITE_CONTRIBUTE_WHY":"Γιατί να δημιουργήσετε ένα πρόσθετο;","WEBSITE_CONTRIBUTE_WHY_P1":"Βρείτε νέο κοινό για τα βίντεό σας","WEBSITE_CONTRIBUTE_WHY_P2":"Η βάση χρηστών του Stremio αυξάνεται ταχύτατα - μέσα στο πρώτο έτος κυκλοφορίας, το Stremio απέκτησε 1 εκατομμύριο χρήστες σε όλο τον κόσμο, ενώ το δεύτερο έτος της ύπαρξης της πλατφόρμας ο αριθμός αυτός έφτασε τα 2,5 εκατομμύρια.","WEBSITE_CONTRIBUTE_WHY_P3":"Με το πρόσθετό σας, μπορείτε εύκολα να προσεγγίσετε και να διανείμετε το περιεχόμενο σε αυτό το κοινό.","WEBSITE_CONTRIBUTE_ALL":"Παρακολουθήστε τις αγαπημένες σας ταινίες, σειρές, βίντεο και κανάλια σε ένα ενιαίο μέρος.","WEBSITE_CONTRIBUTE_ALL_P1":"Είστε λάτρης ενός συγκεκριμένου τύπου περιεχομένου που δεν διατίθεται ακόμα στο Stremio; Δημιουργήστε ένα πρόσθετο για αυτόν και απολαύστε τα αγαπημένα σας βίντεο σε ένα από τα μεγαλύτερα και πιο εύχρηστα κέντρα ψυχαγωγίας της αγοράς.","WEBSITE_CONTRIBUTE_ALL_P2":"Επιπλέον, θα έχετε την απεριόριστη ευγνωμοσύνη των υπόλοιπων μελών της κοινότητας του Stremio.","WEBSITE_CONTRIBUTE_MONETIZE":"Δημιουργήστε έσοδα με το πρόσθετό σας","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Μόλις αναπτύξετε ένα νέο πρόσθετο για το Stremio, μπορείτε εύκολα να δημιουργήσετε έσοδα μέσω πολλαπλών μεθόδων. Αν σκέφτεστε αυτήν την προοπτική, μπορείτε να επικοινωνήσετε μαζί μας στο ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - θα χαρούμε να ανταλλάξουμε συμβουλές μαζί σας σχετικά με τις επιλογές δημιουργίας εσόδων από τα πρόσθετα.","WEBSITE_CONTRIBUTE_TRANSLATE":"Γίνετε εθελοντής μεταφραστής","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Αν θέλετε να απολαύσετε τις εφαρμογές Stremio σε διαφορετικές γλώσσες, μπορείτε να συμμετάσχετε στην κοινότητα των εθελοντών μεταφραστών μας, οι οποίοι μας βοηθούν να προσθέσουμε εκδόσεις του Stremio σε πολλές διαφορετικές γλώσσες.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Θέλετε να ξεκινήσετε;","WEBSITE_TRANSALTE_STREMIO":"Μετάφραση του Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Επίσημες κοινότητες","WEBSITE_COMMUNITY_OFFICIALS_P1":"Γίνετε μέλος της αναπτυσσόμενης κοινότητας του Stremio. Ακολουθήστε μας στα κοινωνικά δίκτυα και μην ντραπείτε να πείτε ένα «γεια» - λατρεύουμε να γνωρίζουμε τους υποστηρικτές μας! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Ανεπίσημες κοινότητες","STREMIO_COMMUNITY_NL":"Stremio Ολλανδίας","STREMIO_COMMUNITY_BRASIL":"Stremio Βραζιλίας","STREMIO_COMMUNITY_GERMANY":"Stremio Γερμανίας","STREMIO_COMMUNITY_BELGIUM":"Stremio Βελγίου","STREMIO_COMMUNITY_FRANCE":"Stremio Γαλλίας","STREMIO_COMMUNITY_PORTUGAL":"Stremio Πορτογαλίας","STREMIO_COMMUNITY_ITALY":"Stremio Ιταλίας","STREMIO_COMMUNITY_UK":"Stremio ΗΒ","STREMIO_COMMUNITY_USA":"Stremio ΗΠΑ","STREMIO_COMMUNITY_MEXICO":"Stremio Μεξικού","STREMIO_COMMUNITY_ADDONS":"Πρόσθετα Stremio","STREMIO_COMMUNITY_AWESOME":"Το απίθανο Stremio","WEBSITE_COMMUNITY_PARTNERS":"Συνεργάτες και υποστηρικτές","WEBSITE_COMMUNITY_GOODIES":"Καλούδια Stremio","WEBSITE_COMMUNITY_WALLPAPERS":"Ταπετσαρίες","WEBSITE_COMMUNITY_ART":"Συλλογή κοινότητας","WEBSITE_LINK_ART":"Συλλογή κοινότητας","WEBSITE_CONTACT_US":"Επικοινωνία","WEBSITE_CONTACT_US_P1":"Αν έχετε τυχόν απορίες, σχόλια ή προτάσεις, μπορείτε να επικοινωνήσετε μαζί μας μέσω της παρακάτω φόρμας επικοινωνίας.","WEBSITE_CONTACT_US_P2":"Σημειώστε ότι εδρεύουμε στη Βουλγαρία, επομένως ενδέχεται να υπάρξει καθυστέρηση στην απάντησή σας λόγω διαφορών στις ζώνες ώρας.","WEBSITE_CONTACT_US_SUCCESS":"Το μήνυμά σας έχει αποσταλεί. Θα σας απαντήσουμε το συντομότερο δυνατόν.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Παρακαλούμε εισαγάγετε ένα έγκυρο email!","WEBSITE_CONTACT_US_Q_RELATED_TO":"Ποιο θέμα αφορά η ερώτησή σας;","WEBSITE_CONTACT_US_Q_OS":"Ποιο είναι το λειτουργικό σας σύστημα;","WEBSITE_CONTACT_US_PH_EMAIL":"Το email σας","WEBSITE_CONTACT_US_PH_MESSAGE":"Μήνυμα","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"Αποστολή","WEBSITE_CONTACT_US_Q_1":"Πώς κάνω εγκατάσταση;","WEBSITE_CONTACT_US_Q_2":"Πώς κάνω κατάργηση εγκατάστασης;","WEBSITE_CONTACT_US_Q_3":"(HTML) Πώς φτιάχνω λαζάνια;","WEBSITE_CONTACT_US_Q_4":"Πρόσθετα","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Τεχνολογία","WEBSITE_TECHNOLOGY_P1":"Αγαπάμε την τεχνολογία και την επιστήμη.</br> Δείτε τί κρύβεται πίσω από το Stremio (είναι όλα ανοικτού κώδικα).","WEBSITE_TECHNOLOGY_P_QT":"Η ανάπτυξη λογισμικού για πολλαπλές πλατφόρμες, στα καλύτερά της.","WEBSITE_TECHNOLOGY_P_MPV":"Ένα δωρεάν, ανοικτού κώδικα, πρόγραμμα αναπαραγωγής πολυμέσων για πολλαπλές πλατφόρμες.","WEBSITE_TECHNOLOGY_P_RN":"Το React Native σας επιτρέπει να αναπτύσσετε εφαρμογές για κινητές συσκευές, μόνο με τη χρήση JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Ενσωματωμένο πλαίσιο πολυμέσων στην εφαρμογή για τη λήψη πολυμέσων.","WEBSITE_TECHNOLOGY_P_REALM":"Το Realm είναι μια πλατφόρμα για κινητές συσκευές και αντικαθιστά τα SQLite και Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Το Node.js είναι ένα ανοικτού κώδικα περιβάλλον εκτέλεσης JavaScript για όλες τις πλατφόρμες.","WEBSITE_TECHNOLOGY_P_RUST":"Η Rust είναι μια γλώσσα πολλαπλών προγραμματιστικών παραδειγμάτων, η οποία εστιάζει στην ασφάλεια και ειδικά στον ασφαλή ταυτοχρονισμό.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Συνεισφορά στο έργο","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Υπάρχουν δύο τρόποι συνεισφοράς στο Stremio για την περαιτέρω βελτίωση του προϊόντος.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Μπορείτε να δωρίσετε τις πολύτιμες γλωσσικές ικανότητές σας μεταφράζοντας την πλατφόρμα...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"ή","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... μπορείτε να αξιοποιήσετε τις ικανότητές σας στον προγραμματισμό για τη δημιουργία προσθέτων κοινότητας. ","WEBSITE_TRANSLATE_STREMIO":"Μετάφραση του Stremio","WEBSITE_404_OH_NO":"Ωχ όχι! Η σελίδα που ψάχνετε δεν είναι εδώ...","WEBSITE_GO_HOME":"Αρχική","WEBSITE_LINK_OTHER_DOWNLOADS":"Άλλες λήψεις","WEBSITE_FAQ_ABR":"Συχνές ερωτήσεις","WEBSITE_SUPPORT":"Υποστήριξη","WEBSITE_DOWNLOAD_4_0_BETA":"Λήψη του Stremio 4 Beta","WEBSITE_GET_FOR_DESKTOP":"Λήψη για υπολογιστή","WEBSITE_LINK_ADDON_COMPETITION":"Διαγωνισμός προσθέτων","WEBSITE_LINK_ART_CONTEST":"Καλλιτεχνικός διαγωνισμός","WEBSITE_MY_ACCOUNT":"Ο λογαριασμός μου","WEBSITE_MAINPAGE_FAQ_001_H1":"Τι είναι το Stremio;","WEBSITE_MAINPAGE_FAQ_001_P1":"Το Stremio είναι ένα σύγχρονο κέντρο πολυμέσων που σάς επιτρέπει να παρακολουθήσετε τα πάντα.","WEBSITE_MAINPAGE_FAQ_002_H1":"Πώς λειτουργεί;","WEBSITE_MAINPAGE_FAQ_002_P1":"Μόλις εγκαταστήσετε το Stremio στη συσκευή σας και δημιουργήσετε έναν λογαριασμό, το μόνο που χρειάζεται να κάνετε είναι να επισκεφθείτε τον κατάλογο προσθέτων και να εγκαταστήσετε όποιο πρόσθετο επιθυμείτε. Αυτό ήταν!","WEBSITE_MAINPAGE_FAQ_002_P2":"Έπειτα, μπορείτε να μεταβείτε στις ενότητες «Ανακάλυψη» ή «Πίνακας» για να ξεκινήσετε την εξερεύνηση περιεχομένου.","WEBSITE_MAINPAGE_FAQ_003_H1":"Τι μπορώ να παρακολουθήσω εδώ;","WEBSITE_MAINPAGE_FAQ_003_P1":"Πολλά: Ταινίες, εκπομπές, διαδικτυακά κανάλια, αθλήματα, τηλεοπτικά κανάλια, podcasts και πολλά άλλα. Χάρη στο σύστημα προσθέτων μας, μπορείτε να προσπελάσετε μια ευρεία γκάμα περιεχομένου.","WEBSITE_MAINPAGE_FAQ_004_H1":"Είναι το Stremio λογισμικό ανοικτού κώδικα;","WEBSITE_MAINPAGE_FAQ_004_P1":"Ναι, μπορείτε να δείτε τους εξής συνδέσμους: ${1}εφαρμογή για υπολογιστές${2} και ${3}οργανισμός GitHub${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Είναι το Stremio ασφαλές;","WEBSITE_MAINPAGE_FAQ_005_P1":"Ναι. Επειδή είναι λογισμικό ανοικτού κώδικα, ο κώδικάς του είναι δημόσια διαθέσιμος και μπορείτε να τον ελέγξετε και εσείς.","WEBSITE_MAINPAGE_FAQ_005_P2":"Το σύστημα προσθέτων του Stremio δημιουργήθηκε επίσης με την ασφάλεια του χρήστη στο μυαλό. Τα πρόσθετα δεν εκτελούν κανέναν κώδικα τοπικά, οπότε δεν απειλούν τη συσκευή σας.","WEBSITE_MAINPAGE_FAQ_006_H1":"Τι γίνεται με το απόρρητό μου;","WEBSITE_MAINPAGE_FAQ_006_P1":"Σεβόμαστε το απόρρητο των χρηστών και δεν συλλέγουμε κανένα προσωπικό δεδομένο, εκτός από τα απολύτως απαραίτητα στοιχεία για τη δημιουργία και τον συγχρονισμό του λογαριασμού σας.","WEBSITE_MAINPAGE_FAQ_006_P2":"Υπάρχει επίσης η ${1}λειτουργία επισκέπτη${2} κατά την εγγραφή, η οποία δεν απαιτεί καθόλου δεδομένα: σε αυτήν τη λειτουργία, δεν γίνεται καμία κλήση στο παρασκηνιακό μας σύστημα. Ωστόσο, δεν περιέχει ορισμένες χρήσιμες λειτουργίες, όπως η δυνατότητα συγχρονισμού βιβλιοθήκης με άλλες συσκευές.","WEBSITE_MAINPAGE_FAQ_007_H1":"Μπορώ να κάνω μετάδοση στην τηλεόρασή μου;","WEBSITE_MAINPAGE_FAQ_007_P1":"Ναι, υποστηρίζουμε Chromecast και μπορείτε να κάνετε μετάδοση τόσο από τον υπολογιστή, όσο και από την κινητή σας συσκευή (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"Πόσα πρόσθετα διαθέτει το Stremio;","WEBSITE_MAINPAGE_FAQ_008_P1":"Από τα τέλη του 2019, πάνω από 50 - για περισσότερες πληροφορίες, δείτε τον κατάλογο των προσθέτων μας.","WEBSITE_MAINPAGE_FAQ_009_H1":"Μπορώ να επεκτείνω τον κατάλογο προσθέτων του Stremio;","WEBSITE_MAINPAGE_FAQ_009_P1":"Ναι, ανατρέξετε στα εξής: ${1}PimpMyStremio${2}, ${3}κοινότητες Reddit${4}, ${5}Stremio Downloader${6}, κ.λπ.","WEBSITE_MAINPAGE_FAQ_010_H1":"Ποιες συσκευές υποστηρίζει το Stremio;","WEBSITE_MAINPAGE_FAQ_010_P1":"Διαθέτουμε εφαρμογές για Windows, Mac και Linux. Για τις κινητές συσκευές, υποστηρίζουμε Android και iOS, ωστόσο λάβετε υπόψη ότι η έκδοση για iOS διαθέτει περιορισμένη λειτουργικότητα (δεν υποστηρίζει τα περισσότερα πρόσθετα).","WEBSITE_MAINPAGE_FAQ_010_P2":"Υπάρχουν πολλές συσκευές που βασίζονται στο Android και μπορούν να εκτελέσουν το Stremio, όπως το NVIDIA Shield και το Amazon Fire Stick, αλλά δεν τις υποστηρίζουμε επίσημα.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"Έχουμε εφαρμογές για υπολογιστές με Windows, Mac και Linux. Έχουμε επίσης εφαρμογές για κινητά Android και Android TV. Για iOS και iPadOS συνιστούμε τη χρήση του Stremio Web, αν και έχει περιορισμένη λειτουργικότητα.","WEBSITE_MAINPAGE_FAQ_011_H1":"Μπορείτε να προσθέσετε συγκεκριμένο περιεχόμενο στο Stremio;","WEBSITE_MAINPAGE_FAQ_011_P1":"Δυστυχώς, δεν παρέχουμε εμείς το περιεχόμενο, αλλά όσα περισσότερα πρόσθετε έχετε εγκαταστήσει στο Stremio, τόσο περισσότερο περιεχόμενο θα μπορέσετε να βρείτε.","WEBSITE_MAINPAGE_FAQ_012_H1":"Μπορεί το Stremio να κάνει αναπαραγωγή συνδέσμων magnet;","WEBSITE_MAINPAGE_FAQ_012_P1":"Ναι και μπορεί επίσης να κάνει αναπαραγωγή κανονικών συνδέσμων HTTP και αρχείων torrent (μεταφορά και εναπόθεση).","WEBSITE_MAINPAGE_FAQ_013_H1":"Μπορώ να κάνω λήψη ενός βίντεο για προβολή εκτός σύνδεσης;","WEBSITE_MAINPAGE_FAQ_013_P1":"Η διαθεσιμότητα εκτός σύνδεσης αποτελεί επερχόμενη λειτουργία, αλλά εάν επιτρέψετε στο Stremio την προσωρινή αποθήκευση στη συσκευή σας (από τον πίνακα ρυθμίσεων), μπορείτε να παρακολουθήσετε τα βίντεο αργότερα, χωρίς σύνδεση στο διαδίκτυο.","WEBSITE_MAINPAGE_FAQ_014_H1":"Δεν λειτουργεί τίποτα, βοήθεια!","WEBSITE_MAINPAGE_FAQ_014_P1":"Έχετε σίγουρα εγκαταστήσει πρόσθετα; Εάν ναι, δείτε το ${1}κέντρο βοήθειάς${2} μας.","WEBSITE_MAINPAGE_FAQ_015_H1":"Πώς υποστηρίζει το Stremio την ανάπτυξή του;","WEBSITE_MAINPAGE_FAQ_015_P1":"Προβάλλουμε μη παρεμβατικές διαφημίσεις περιστασιακά, αλλά εξετάζουμε το ενδεχόμενο να προχωρήσουμε σε ένα μοντέλο δωρεάς.","WEBSITE_MAINPAGE_FAQ_015_P2":"Για περισσότερες ερωτήσεις, μεταβείτε στο ${1}κέντρο βοήθειάς${2} μας.","HELP_LEARN_MORE":"Βοηθήστε μας να μάθουμε περισσότερα για εσάς.","LIFESTYLE":"Τρόπος ζωής","SPORTS":"Αθλήματα","FOOD_HEALTH":"Φαγητό & υγεία","BEAUTY_FASHION":"Ομορφιά & μόδα","NEWS":"Ειδήσεις","GAMING":"Παιχνίδια","SCIENCE_EDUCATION":"Επιστήμη & εκπαίδευση","MUSIC":"Μουσική","TRAVEL":"Ταξίδια","LATE_NIGHT":"Βραδινό","REALITY":"Ριάλιτι","COMEDY":"Κωμωδία","DIY":"Κατασκευές","TECH":"Τεχνολογία","CINEMA":"Κινηματογράφος","CONTINUE":"Συνέχεια","SLOW_LOADING":"Αργή Φόρτωση;","I_GIVE_UP":"Ακύρωση","LEARN_MORE":"Μάθετε περισσότερα","POOR_SOURCE":"Αυτή η πηγή δεν είναι επαρκώς διαθέσιμη ή η σύνδεση σας στο διαδίκτυο δεν είναι αρκετά γρήγορη","PICK_CATEGORIES_ERR":"Πρέπει να επιλέξετε τουλάχιστον 3 κατηγορίες","ADJUST_TIMING":"Προσαρμογή χρονισμού με","ADJUST_SIZE":"Προσαρμογή μεγέθους με","SEARCH_ANYTHING":"Μπορείτε να αναζητήσετε οτιδήποτε...","ALL_CATEGORIES":"Όλα","SEARCH_CATEGORIES":"Ταινίες, σειρές, YouTube & τηλεόραση","SEARCH_PERSONS":"Ηθοποιοί, σκηνοθέτες & σεναριογράφοι","SEARCH_PROTOCOLS":"Σύνδεσμοι HTTP & Magnet","SEARCH_TYPES":"Σύνδεσμοι IMDB/TVDB","WATCHED":"Προβλήθηκε","SHOW_LESS":"Λιγότερα","LAST_SEARCHES":"Πρόσφατες αναζητήσεις","CLEAR_HISTORY":"Απαλοιφή ιστορικού","CHOOSE_SOME":"ΕΠΙΛΕΞΤΕ ΚΑΠΟΙΑ ΑΠΟ ΑΥΤΑ:","NO_WEB_REMOTE":"Δεν ήταν δυνατή η φόρτωση του Web Remote","STREMIO_OFFLINE":"Το Stremio είναι εκτός σύνδεσης","STREMIO_EXPENSIVE_CONNECTION":"Εντοπίσαμε ότι χρησιμοποιείτε σύνδεση δεδομένων κινητής, θέλετε να συνεχίσετε;","USE_DATA":"Χρήση δεδομένων","WARNING":"Προειδοποίηση","MORE_INFO":"Περισσότερες πληροφορίες...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Φόρτωση...","STREMIO_TV_BACK_TO_LANGUAGES":"Πίσω στις γλώσσες","STREMIO_TV_REMOTE":"Τηλεχειριστήριο","STREMIO_TV_GO_TO":"Μεταβείτε στο:","STREMIO_TV_OR_SCAN":"ή σαρώστε το:","STREMIO_TV_ADDON_INSTRUCTIONS":"Παρακαλούμε ακολουθήστε τις οδηγίες για να εγκαταστήσετε τα προτιμώμενα πρόσθετά σας.","STREMIO_TV_LIVE_TV":"Ζωντανή TV","STREMIO_TV_RESUME_WATCHING":"Συνέχιση παρακολούθησης","STREMIO_TV_LOADING_BACKGROUND":"Φόρτωση παρασκηνίου","STREMIO_TV_CHECKING_AUTHENTICATION":"Έλεγχος ταυτοποίησης","STREMIO_TV_LOADING_BOARD":"Φόρτωση πίνακα","STREMIO_TV_LOGIN_HEADER_LINE_1":"Θέλουμε οι χρήστες μας να έχουν την καλύτερη δυνατή, εξατομικευμένη εμπειρία με το λογισμικό μας.","STREMIO_TV_LOGIN_HEADER_LINE_2":"Αυτός είναι ο λόγος που σας ζητούμε να δημιουργήσετε ή/και να συνδεθείτε στον λογαριασμό σας.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Σας ευχαριστούμε για την κατανόηση,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Η ομάδα του Stremio","STREMIO_TV_REMOTE_INSTRUCTIONS":"Για να χρησιμοποιήσετε το Web Remote με το smartphone/tablet/υπολογιστή σας:","STREMIO_TV_WIFI_SETUP":"Ρύθμιση Wi-Fi","STREMIO_TV_WIFI_HEADER_LINE_1":"Το Stremio Circle δεν εντόπισε σύνδεση στο διαδίκτυο.","STREMIO_TV_WIFI_DETAILS_1":"Συνδεθείτε στο:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Χρησιμοποιήστε τον κωδικό πρόσβασης:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Ανοίξτε ένα πρόγραμμα περιήγησης με τον σύνδεσμο:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Προεπιλεγμένο","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"Από την τελευταία παρακολούθηση","STREMIO_TV_LIBRARY_SORT_NAME":"Από το όνομα","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"Κατά Όνομα Φθίνουσα","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"Από τις φορές που παρακολουθήσατε","STREMIO_TV_LIBRARY_SORT_WATCHED":"Έχω Παρακολούθηση","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"Δεν Έχω Παρακολουθήσει","STREMIO_TV_DETAILS_SEASON_NUMBER":"Κύκλος ${1}","STREMIO_TV_STREAMS_LOADING":"Φορτωμένα ${1} / ${2} πρόσθετα...","STREMIO_TV_STREAMS_STILL_LOADING":"Το ${1} ακόμα φορτώνει ...","STREMIO_TV_PLAYER_SETTINGS":"Ρυθμίσεις προγράμματος αναπαραγωγής","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Καθυστέρηση υποτίτλων","STREMIO_TV_PLAYER_AUDIO_DELAY":"Καθυστέρηση ήχου","STREMIO_TV_PLAYER_VIDEO_SCALING":"Κλιμάκωση βίντεο","STREMIO_TV_PLAYER_CHAPTERS":"Κεφάλαια","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Παράλειψη ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Μη υποστηριζόμενη πηγή ροής","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Αποτυχία ανοίγματος εξωτερικού συνδέσμου","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Δεν ρυθμίζεται στη λειτουργία διέλευσης ήχου","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Αναπαραγωγή με τον ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Αναπαραγωγή με τον libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Αλλαγή στον libVLC player λόγω σφάλματος αναπαραγωγής","STREMIO_TV_ADDONS_TITLE":"Χρησιμοποιήστε το Stremio στο τηλέφωνο ή τον υπολογιστή σας για να εγκαταστήσετε ή να διαμορφώσετε πρόσθετα και πατήστε \\"Συγχρονισμός πρόσθετων\\"","STREMIO_TV_ADDONS_SUBTITLE":"Σημείωση: βεβαιωθείτε ότι χρησιμοποιείτε τον ίδιο λογαριασμό Stremio","STREMIO_TV_ADDONS_SYNC_ADDONS":"Συγχρονισμός πρόσθετων","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Επιτυχής συγχρονισμός πρόσθετων","STREMIO_TV_ADDONS_SYNC_FAILED":"Αποτυχία συγχρονισμού πρόσθετων","STREMIO_TV_META_LINK_FAILED":"Αποτυχία ανοίγματος μετα-συνδέσμου","STREMIO_TV_CATALOG_LOADING":"Ο κατάλογος φορτώνει...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Η γλώσσα της εφαρμογής ενημερώθηκε","STREMIO_TV_SETTINGS_THEME_UPDATED":"Το θέμα ενημερώθηκε","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Προεπιλεγμένη εφαρμογή αναπαραγωγής","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Εξωτερική εφαρμογή αναπαραγωγής","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Προτιμητέα γλώσσα","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Εναλλακτική Γλώσσα","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Πιθανά προβλήματα αναπαραγωγής σε ορισμένες συσκευές","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Ορισμένες μορφές βίντεο ενδέχεται να μην λειτουργούν","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Ταίριασμα ρυθμού καρέ","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Απενεργοποιημένο","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Μόνο ρυθμός καρέ","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Ρυθμός καρέ και ανάλυση εικόνας","STREMIO_TV_SETTINGS_NO_CACHING":"Χωρίς προσωρινή αποθήκευση","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Προεπιλεγμένη","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Ήπιο","STREMIO_TV_SETTINGS_PROFILE_FAST":"Γρήγορο","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Πολύ γρήγορο","STREMIO_TV_SETTINGS_SERVER_URL":"URL διακομιστή ροής","STREMIO_TV_SETTINGS_SERVER_VERSION":"Έκδοση διακομιστή","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Άγνωστη","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Έκδοση του Stremio","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Επεξεργασία διεύθυνσης URL διακομιστή","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Εισαγάγετε μια διεύθυνση url διακομιστή ροής","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Εμφάνιση στατιστικών κατά τη φόρτωση","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"Για να διαβάσετε την Πολιτική Απορρήτου του Stremio, επισκεφτείτε:","STREMIO_TV_SETTINGS_TOS_TEXT":"Για να διαβάσετε τους Όρους και τις Προϋποθέσεις του Stremio, επισκεφτείτε:","STREMIO_TV_NAV_SEARCH":"Αναζήτηση","STREMIO_TV_NAV_HOME":"Αρχική","STREMIO_TV_NAV_DISCOVER":"Περιήγηση","STREMIO_TV_NAV_LIBRARY":"Βιβλιοθήκη","STREMIO_TV_NAV_MOVIES":"Ταινίες","STREMIO_TV_NAV_SERIES":"Σειρές","STREMIO_TV_NAV_CHANNELS":"Κανάλια","STREMIO_TV_NAV_TV":"Ζωντανά","STREMIO_TV_NAV_SETTINGS":"Ρυθμίσεις","STREMIO_TV_NAV_ADDONS":"Πρόσθετα","STREMIO_TV_LOGIN_TITLE":"Σύνδεση λογαριασμού","STREMIO_TV_LOGIN_EXPIRES_IN":"Λήγει σε","STREMIO_TV_LOGIN_STEP_ONE":"Σαρώστε τον κωδικό QR παραπάνω ή μεταβείτε στο","STREMIO_TV_LOGIN_STEP_TWO":"Συνδεθείτε στον λογαριασμό σας στο Stremio","STREMIO_TV_LOGIN_NEW_LINK":"Νέος σύνδεσμος","STREMIO_TV_LOGIN_LINK_REFRESHED":"Ο κωδικός σύνδεσης ανανεώθηκε","STREMIO_TV_SEARCH_PLACEHOLDER":"Πληκτρολογήστε κάτι","STREMIO_TV_SEARCH_NO_ADDONS":"Δεν ζητήθηκαν πρόσθετα για καταλόγους!","STREMIO_TV_SEARCH_BUTTON":"Αναζήτηση","STREMIO_TV_SEARCH_KEY_DEL":"Διαγραφή όλων","STREMIO_TV_SEARCH_KEY_SPACE":"Κενό","STREMIO_TV_SEARCH_KEY_CLEAR":"Διαγραφή","STREMIO_TV_SEARCH_HISTORY_TITLE":"Ιστορικό αναζήτησης","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Μπορείτε να αναζητήσετε Τίτλους, Ηθοποιούς, Κανάλια και άλλα...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Διαγράψτε το ιστορικό αναζήτησης","STREMIO_TV_FILTERS_DESCRIPTION":"Επιλέξτε ένα από τα παρακάτω φίλτρα","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Ο διακομιστής ροής είναι εκτός σύνδεσης. Ελέγξτε τις Ρυθμίσεις διακομιστή.","FILTERS":"Φίλτρα","SETTINGS":"Ρυθμίσεις","ACCOUNT":"Λογαριασμός","LOGOUT":"Αποσύνδεση","THEMES":"Θέματα","PLAYBACK":"Αναπαραγωγή","PLAYBACK_SPEED":"Ταχύτητα Αναπαραγωγής","AUDIO_TRACKS":"Κομμάτια ήχου","UNKNOWN_TRACK_LANG":"Άγνωστο","VIDEOS":"Βίντεο","SERVER":"Διακομιστής","LINKS":"Σύνδεσμοι","ABOUT":"Πληροφορίες","INTERFACE":"Εμφάνιση","ANIMATIONS":"Οπτικά εφέ","STATUS":"Κατάσταση","LANGUAGE":"Γλώσσα","SIZE":"Μέγεθος","DELAY":"Καθυστέρηση","BOLD":"Έντονα γράμματα","OPACITY":"Αδιαφάνεια","TEXT_COLOR":"Χρώμα κειμένου","OUTLINE_COLOR":"Χρώμα περιγράμματος","BACKGROUND_COLOR":"Χρώμα φόντου","BACKGROUND_BLUR":"Θάμπωμα φόντου","SEEK_TIME_DURATION":"Διάρκεια χρόνου παράλειψης","AUTO_PLAY":"Αυτόματη αναπαραγωγή επόμενου επεισοδίου","PLAY_NOW":"Αναπαραγωγή τώρα","MARK_AS_WATCHED":"Επισήμανση ως προβεβλημένο","MARK_AS_UNWATCHED":"Επισήμανση ως μη προβεβλημένο","REWIND_TO_BEGINNING":"Προβολή από την αρχή","CONTINUE_WATCHING":"Συνεχίστε να βλέπετε","ALL":"Όλα","SECONDS":"Δευτερόλεπτα","ON":"Ανοιχτοί","OFF":"Κλειστοί","RELOAD":"Επανάληψη φόρτωσης","EDIT_URL":"Επεξεργασία συνδέσμου URL","NONE":"Κανένα","EMBEDDED":"Ενσωματωμένοι","REMOTE_SWITCH_DEVICES":"Εναλλαγή συσκευών","REMOTE_VIDEOS":"Βίντεο","REMOTE_ADJUST_TIMING":"Προσαρμογή χρονισμού","REMOTE_ADJUST_SIZE":"Προσαρμογή μεγέθους","REMOTE_COULD_NOT_BE_LOADED":"Δεν ήταν δυνατή η φόρτωση του Web Remote","REMOTE_RETRY":"Επανάληψη","TORRENT_PROFILE_DEFAULT":"Προεπιλεγμένο","TORRENT_PROFILE_SOFT":"Ήπιο","TORRENT_PROFILE_FAST":"Γρήγορο","TORRENT_PROFILE_ULTRA_FAST":"Πολύ γρήγορο","FAQ_001_H1":"Τι είναι το Stremio;","FAQ_001_P1":"Το Stremio είναι ένα λογισμικό κέντρου πολυμέσων που έχει σχεδιαστεί για εύκολη πρόσβαση σε ψυχαγωγικά βίντεο. Σας επιτρέπει να οργανώσετε και να παρακολουθείτε την προσωπική σας συλλογή ταινιών, σειρών, καναλιών και ζωντανής τηλεόρασης.","FAQ_001_P2":"Το Stremio συλλέγει το περιεχόμενο, που προβάλλει σε εσάς, από τον τοπικό σας δίσκο και το σύστημα προσθέτων μας.","FAQ_001_P3":"Θα σας ειδοποιήσει επίσης όταν κυκλοφορήσουν νέα επεισόδια/βίντεο/ταινίες που σας ενδιαφέρουν και θα σας προσφέρει προτάσεις ταινιών.","FAQ_02_H1":"Πόσο μοιάζει το Stremio με το Kodi και το Plex;","FAQ_02_P1":"Έχουμε εμπνευστεί από αυτά τα δύο λογισμικά. Όμως έχουν διαφορετικούς στόχους - το Stremio αφορά αποκλειστικά τα ψυχαγωγικά βίντεο και προσπαθεί να γίνει η πιο γνωστή και εύχρηστη λύση.","FAQ_02_P2":"Το Stremio δεν θα προσφέρει ποτέ τόσες λειτουργίες και δυνατότητες προσαρμογής, όσες το Kodi και το Plex, αλλά είναι σημαντικά πιο απλό στη χρήση. ${1} Δοκιμάστε το κι εσείς ${2} :)","FAQ_03_H1":"Πόσο μοιάζει το Stremio με το Netflix;","FAQ_03_P1":"Το Netflix αποτελεί μία από τις εμπνεύσεις μας. Προσπαθούμε να επιτύχουμε την εμπειρία χρήσης του Netflix, σε συνδυασμό με πολλά άλλα «καλούδια». Το πιο σημαντικό όμως είναι ότι σας παρέχουμε την ελευθερία να διαχειρίζεστε τη δική σας βιβλιοθήκη και να προσθέτετε νέες πηγές περιεχομένου με το σύστημα προσθέτων μας.","FAQ_03_P2":"Αυτό καθιστά το Stremio απεριόριστα επεκτάσιμο, ώστε να μην περιορίζεστε ποτέ στο περιεχόμενο που αποφασίζει να προσθέσει το Netflix. Για παράδειγμα, μέσω του Stremio μπορείτε να παρακολουθήσετε περιεχόμενο από το ${1} Filmon.tv ${2}, το ${3} Twitch.tv${4}, το ${5}YouTube${6}, το ${7}Vodo${8}, ακόμα και από το ίδιο το ${9}Netflix${10}!","FAQ_04_H1":"Πόσο μοιάζει το Stremio με το Flipboard;","FAQ_04_P1":"Δεν λαμβάνουμε τόσο συχνά αυτήν την ερώτηση, εκτός αν μιλάμε με άτομα από νεοφυείς εταιρείες :)","FAQ_04_P2":"Το Stremio είναι εκ σχεδιασμού μια εφαρμογή συγκέντρωσης περιεχομένου, αποτελώντας πρακτικά ένα Flipboard για βίντεο. Αυτό είναι ιδιαίτερα προφανές στην ενότητα «Πίνακας», η οποία παρέχει καταλόγους και ειδοποιήσεις νέων επεισοδίων/βίντεο για όσα ακολουθείτε, όπως και το Flipboard.","FAQ_05_H1":"Πόσο μοιάζει το Stremio με το Popcorn Time;","FAQ_05_P1":"Το Stremio και το Popcorn Time μοιάζουν όσον αφορά το περιβάλλον χρήστη, επειδή δεν υπάρχουν και τόσοι πολλοί τρόποι για τη σωστή υλοποίηση ψυχαγωγικών καταλόγων βίντεο :)","FAQ_05_P2":"Ωστόσο, το Popcorn Time εστιάζει στη ροή torrent από συγκεκριμένες πηγές, ενώ το Stremio κάνει απλά συγκέντρωση περιεχομένου - δεν περιορίζεται σε μια συγκεκριμένη πηγή περιεχομένου.","FAQ_05_P3":"Επιπλέον, δεν παρέχουμε κανένα πρόσθετο για torrent από προεπιλογή, επομένως το Stremio δεν καλύπτει τις δυνατότητες του Popcorn Time με την επίσημη λειτουργικότητά του.","FAQ_05_P4":"Μια ακόμα αξιοσημείωτη διαφορά είναι ότι ο κώδικας του Popcorn Time είναι πλήρως ανοικτός, ενώ ο κώδικας του Stremio είναι ${1}μερικώς ανοικτός{2}.","FAQ_06_H1":"Θα προσθέσετε αυτήν την ταινία/σειρά;","FAQ_06_P1":"Δυστυχώς, όχι :(","FAQ_06_P2":"Όπως αναφέρουμε και σε πολλές άλλες απαντήσεις, το Stremio δεν παρέχει από μόνο του περιεχόμενο - όλα προστίθενται μέσω του συστήματος προσθέτων. Σε περίπτωση που έχετε κάποιο αίτημα περιεχομένου, μπορείτε να χρησιμοποιήσετε το κουμπί «Αναφορά» στο πρόγραμμα αναπαραγωγής, το οποίο θα στείλει ένα email στον δημιουργό του προσθέτου που χρησιμοποιείτε τη δεδομένη στιγμή.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Θα δημιουργήσετε πρόσθετο για το X;","FAQ_08_P1":"Είναι πολύ πιθανό.","FAQ_08_P2":"Αν έχετε κάποια ιδέα για ένα πρόσθετο, στείλτε μας ένα email στο ${1}office@stremio.com${2}, αλλά παρακαλούμε βεβαιωθείτε ότι η ιδέα σας δεν θα παραβιάσει κανένα πνευματικό δικαίωμα ή όρο χρήσης.","FAQ_08_P3":"Αυτήν τη στιγμή, τα επόμενά μας σχέδια περιλαμβάνουν πρόσθετα για το FandangoNOW, το Filmon.tv και το Crunchyroll.","FAQ_09_H1":"Το Stremio χρησιμοποιεί το BitTorrent;","FAQ_09_P1":"Ναι, το Stremio υποστηρίζει το BitTorrent ως πρωτόκολλο ροής. Μπορείτε να το χρησιμοποιήσετε με ένα πρόσθετο για torrent, με εναπόθεση ενός αρχείου .torrent στο Stremio ή με επικόλληση ενός συνδέσμου magnet στη γραμμή αναζήτησης.","FAQ_09_P2":"Παρακαλούμε σημειώστε ότι το μόνο επίσημο πρόσθετο που χρησιμοποιεί BitTorrent είναι το ${1}Vodo${2}, που παρέχει ανεξάρτητο περιεχόμενο για το οποίο επιτρέπεται η διανομή με BitTorrent.","FAQ_09_P3":"Δεν υποστηρίζουμε τη χρήση τρίτων προσθέτων που ενδέχεται να οδηγήσουν σε καταπάτηση πνευματικών δικαιωμάτων.","FAQ_10_H1":"Τι μπορώ να παρακολουθήσω στο Stremio με τα επίσημα πρόσθετα;","FAQ_10_P1":"Από προεπιλογή, μπορείτε να παρακολουθήσετε περιεχόμενο από το Filmon.tv, το YouTube και το Vodo στο Stremio, με το ενσωματωμένο πρόγραμμα αναπαραγωγής. Επιπροσθέτως, διαθέτουμε ένα πρόσθετο για το Twitch.tv και κάποιους άλλους παρόχους.","FAQ_10_P2":"Με όλα τα παραπάνω, παρέχεται μια συλλογή από:","FAQ_10_L1":"Δημοφιλή τηλεοπτικά κανάλια από το Filmon.tv - για παράδειγμα, το E4, το BBC, το Bollyworld TV","FAQ_10_L2":"Όλο το YouTube - για παράδειγμα, το BBC News, το Top Gear, το Vevo, τον PewDiePie","FAQ_10_L3":"Ανεξάρτητες ταινίες με το Vodo","FAQ_10_L4":"Διαδικτυακές μεταδόσεις παιχνιδιών με το Twitch.tv","FAQ_10_P3":"Επιπλέον, υπάρχουν πολλές πηγές περιεχομένου που παρέχονται από τα πρόσθετα Guidebox και Netflix, τα οποία <b>δεν</b> κάνουν αναπαραγωγή εξ ολοκλήρου εντός του Stremio, αλλά ανακατεύθυνση στην αντίστοιχη υπηρεσία. Για παράδειγμα, το πρόσθετο Guidebox σάς προσφέρει μια συλλογή από ταινίες που μπορείτε να παρακολουθήσετε δωρεάν στις ΗΠΑ, από υπηρεσίες όπως το TubiTV και το Crackle.","FAQ_11_H1":"Το Stremio δεν εγκαθίσταται, τι να κάνω;","FAQ_11_P1":"Εάν χρησιμοποιείτε Windows, δοκιμάστε ${1}αυτό το εναλλακτικό πρόγραμμα εγκατάστασης${2}.","FAQ_11_P2":"Εάν χρησιμοποιείτε Mac OS X, σημειώστε ότι δεν υποστηρίζουμε καμία έκδοση πριν από το OS X Mavericks (10.9).","FAQ_11_P3":"Εάν χρησιμοποιείτε Linux, σημειώστε ότι υποστηρίζουμε μόνο εκδόσεις 64-bit (x64) του Linux αυτήν τη στιγμή.","FAQ_11_P4":"Αν δεν μπορείτε ακόμα να λύσετε το πρόβλημά σας, παρακαλούμε στείλτε μας μήνυμα στην {1}ομάδα μας στο Facebook${2}.","FAQ_12_H1":"Γιατί με προειδοποιεί το πρόγραμμα προστασίας από ιούς; Είναι ασφαλές το Stremio;","FAQ_12_P1":"Σας διαβεβαιώνουμε ότι το Stremio είναι ${1}100% «καθαρό»${2}.","FAQ_12_P2":"Το λογισμικό σας, σάς προειδοποιεί επειδή το πρόγραμμα εγκατάστασής μας περιλαμβάνει διαφημίσεις, οι οποίες θεωρούνται ως ad-ware από ορισμένα προγράμματα προστασίας από ιούς.","FAQ_12_P3":"Αν ακόμα έχετε αμφιβολίες, μπορείτε να δοκιμάσετε το ${1}εναλλακτικό πρόγραμμα εγκατάστασής${2} μας.","FAQ_13_H1":"Πώς μπορώ να δημιουργήσω ένα πρόσθετο;","FAQ_13_P1":"Για αρχή, προτείνουμε να δείτε τη ${1}μονάδα του συστήματος προσθέτων${2} μας στο GitHub.","FAQ_13_P2":"Έπειτα, μπορείτε να ακολουθήσετε τον ${1}εισαγωγικό οδηγό${2} μας.","FAQ_13_P3":"Αν δεν διαθέτετε γνώσεις προγραμματισμού, παρακαλούμε αναφέρετε την ιδέα σας στην ${1}κοινότητα του Reddit${2} και επικοινωνήστε μαζί μας σχετικά με την ιδέα σας στο ${3}office@stremio.com${4}.","FAQ_14_H1":"Πώς δημοσιεύονται τα πρόσθετα;","FAQ_14_P1":"Όταν δημιουργήσετε ένα πρόσθετο και έναν κεντρικό υπολογιστή και προσθέσετε ένα πεδίο <b>ακροσημείου (endpoint)</b> στο αρχείο manifest σας, το οποίο δείχνει σε μια λειτουργική διεύθυνση προσθέτου, το πρόσθετο θα δημοσιευτεί αυτόματα στον ${1}κατάλογο προσθέτων${2} μας.","FAQ_14_P2":"Αυτό συμβαίνει επειδή το τμήμα διακομιστή της μονάδας stremio-addons κάνει αυτόματα κλήση στο API μας, προκειμένου να ανακοινώσει το πρόσθετο. Όταν το API μας επαληθεύσει το <b>ακροσημείο (endpoint)</b> σας ως έγκυρο πρόσθετο, τότε θα αρχίσει να εμφανίζεται στον κατάλογο.","FAQ_15_H1":"Μπορώ να εκτελέσω το Stremio στο πρόγραμμα περιήγησής μου;","FAQ_15_P1":"Προς το παρόν, όχι. Αλλά έρχεται σύντομα!","FAQ_15_P2":"Αν έχετε περιέργεια να δείτε μια πρώιμη έκδοση, μπορείτε να τη βρείτε εδώ: ${1}alpha4.strem.io${2}. Σημειώστε ότι η ροή είναι απενεργοποιημένη σε αυτήν την έκδοση. Υποστηρίζουμε τα Chrome, Firefox, Opera και Edge.","FAQ_16_H1":"Η μετάδοση σε τηλεόραση δεν λειτουργεί / οι υπότιτλοι δεν λειτουργούν","FAQ_16_P1":"Η μετάδοση σε τηλεόραση χρησιμοποιεί την τεχνολογία DLNA που δεν είναι κοινή για όλες τις μάρκες και τα μοντέλα τηλεοράσεων. Για τον λόγο αυτό, δεν μπορούμε να τη δοκιμάσουμε σε όλες τις περιπτώσεις, επομένως δεν είναι σε καμία περίπτωση τέλεια. Εργαζόμαστε για τη συνεχή βελτίωση της λειτουργίας, αλλά δεν μπορούμε να προσδιορίσουμε πότε θα αρχίσει να λειτουργεί κανονικά το DLNA στην τηλεόρασή σας.","FAQ_16_P2":"Αν δεν βλέπετε καν την τηλεόρασή σας στο μενού μετάδοσης, παρακαλούμε δοκιμάστε να απενεργοποιήσετε και να ενεργοποιήσετε εκ νέου τη σύνδεση δικτύου σας (στα Windows, κάντε δεξί κλικ στο «Δίκτυο» και επιλέξτε «Ενεργοποίηση/Απενεργοποίηση»). Επίσης, επανεκκινήστε το router, την τηλεόραση και τον υπολογιστή σας.","FAQ_16_P3":"Αν εξακολουθείτε να αντιμετωπίζετε ζητήματα, μπορείτε να μας βοηθήσετε στέλνοντας τη μάρκα και το μοντέλο της τηλεόρασής σας στο ${1}office@stremio.com${2}.","FAQ_16_P4":"Εν τω μεταξύ, προτείνουμε το Chromecast, το οποίο υποστηρίζουμε πολύ καλά ή μπορείτε απλά να συνδέσετε την τηλεόρασή σας στον υπολογιστή σας με ένα καλώδιο HDMI.","FAQ_17_H1":"Το Stremio «παγώνει» ή/και καταρρέει, τί μπορώ να κάνω;","FAQ_17_P1":"Πρώτα απ\' όλα, εάν χρησιμοποιείτε Windows 7 με το πρόγραμμα προστασίας AVG: υπάρχει πρόβλημα με αυτόν τον συνδυασμό. Το πρόβλημα έγκειται στο ίδιο το AVG και δεν υπάρχει κάποιος τρόπος να το επιλύσουμε από την πλευρά μας. Δυστυχώς, οι εξαιρέσεις ή η απενεργοποίηση του λογισμικού ασφαλείας δεν θα λειτουργήσει. Η μόνη λύση είναι να αντικαταστήσετε το AVG με κάποιο άλλο πρόγραμμα.","FAQ_17_P2":"Αν δεν είναι αυτό το πρόβλημα, αλλά χρησιμοποιείτε Windows, παρακαλούμε ενημερώστε στο πιο πρόσφατο Service Pack και ενημερώστε/εγκαταστήστε εκ νέου τα προγράμματα οδήγησης της GPU και έπειτα, δοκιμάστε ξανά.","FAQ_17_P3":"Αν δεν έχει επιλυθεί ακόμα το πρόβλημά σας ή χρησιμοποιείτε Mac ή Linux, παρακαλούμε στείλτε μας μια αναφορά με ακριβείς λεπτομέρειες για το πρόβλημα στην ${1}ομάδα μας στο Facebook${2}.","FAQ_18_H1":"Πώς μπορώ να δημιουργήσω ένα πρόσθετο;","FAQ_18_P1":"Για αρχή, προτείνουμε να δείτε τη ${1}μονάδα του συστήματος προσθέτων${2} μας στο GitHub.","FAQ_18_P2":"Έπειτα, μπορείτε να ακολουθήσετε τον ${1}εισαγωγικό οδηγό${2} μας.","FAQ_18_P3":"Αν δεν διαθέτετε γνώσεις προγραμματισμού, παρακαλούμε αναφέρετε την ιδέα σας στην ${1}κοινότητα του Reddit${2} και επικοινωνήστε μαζί μας σχετικά με την ιδέα σας στο ${3}office@stremio.com${4}.","FAQ_19_H1":"Γιατί το Stremio καταλαμβάνει χώρο στον δίσκο;","FAQ_19_P1":"Το Stremio διαθέτει <b>τοπική προσωρινή μνήμη (cache)</b> για την προσωρινή διατήρηση των αρχείων βίντεο που παρακολουθείτε.","FAQ_19_P2":"Αυτή έχει δύο πλεονεκτήματα: πρώτον, επιτρέπει στο Stremio να προφορτώσει το βίντεο για πιο ομαλή ροή. Δεύτερον, διατηρεί τα βίντεο στην τοπική προσωρινή μνήμη, ώστε να μπορείτε να τα παρακολουθείτε εκτός σύνδεσης.","FAQ_19_P3":"Μπορείτε να προσαρμόσετε το μέγεθος των αρχείων που επιτρέπεται να αποθηκεύει το Stremio με τη ρύθμιση <b>Προσωρινή μνήμη</b> του πίνακα ρυθμίσεων. Το Stremio μπορεί να διατηρήσει έως και το καθορισμένο μέγεθος (π.χ. 2GB) στον δίσκο σας, εκτός αν το τρέχον βίντεο ροής είναι μεγαλύτερο, στην οποία περίπτωση θα πρέπει το Stremio να δεσμεύσει επαρκή χώρο ώστε να διατηρήσει το βίντεο μέχρι να ολοκληρώσετε τη ροή του.","FAQ_20_H1":"Πού βρίσκεται ο φάκελος προσωρινής μνήμης;","FAQ_20_P1":"Στα Windows, είναι ο φάκελος «stremio-cache» στον δίσκο που επιλέξατε από τις Ρυθμίσεις (π.χ. «E:\\\\stremio-cache»)","FAQ_20_P2":"Στο MacOS, είναι στη διαδρομή «~/Library/Application Support/Stremio/stremio-cache»","FAQ_20_P3":"Στο Linux, είναι στη διαδρομή «~/.stremio/stremio-cache» ή «~/stremio-cache»","FAQ_21_H1":"Λαμβάνω το σφάλμα «Δεν βρέθηκε διακομιστής ροής», τι μπορώ να κάνω;","FAQ_21_P1":"Αν λάβετε αυτό το σφάλμα, υπάρχουν δύο πιθανές εξηγήσεις:","FAQ_21_P2":"1) Προσπαθείτε να χρησιμοποιήσετε ένα πρόσθετο με πηγή YouTube/BitTorrent, μέσω της ${1}διαδικτυακής έκδοσης${2}. Σε αυτήν την περίπτωση, θα πρέπει να εγκαταστήσετε την εφαρμογή μας για υπολογιστές από τον ${3}ιστότοπό${4} μας.","FAQ_21_P3":"2) Κάτι δεν πάει καλά με την εγκατάσταση του Stremio σας. Σε αυτήν την περίπτωση, δοκιμάστε να εγκαταστήσετε εκ νέου την πιο πρόσφατη έκδοση για υπολογιστές από τον ${1}ιστότοπό${2} μας. Αν αυτό δεν βοηθήσει, δοκιμάστε να απενεργοποιήσετε τα προγράμματα προστασίας από ιούς και τα τείχη προστασίας, επανεκκινήστε τον υπολογιστή σας και προσπαθήστε ξανά. Αν δεν λειτουργήσει ούτε αυτό, παρακαλούμε στείλτε μας μήνυμα στην ${3}ομάδα μας στο Facebook${4}.","FAQ_22_H1":"Δεν μπορώ να δω/χρησιμοποιήσω τα περισσότερα πρόσθετα στο iOS","FAQ_22_P1":"Λόγω των περιορισμών στους όρους και τις προϋποθέσεις του Apple App Store, διατίθεται μόνο ένα συγκεκριμένο σύνολο προσθέτων για την εφαρμογή του iOS.","FAQ_22_P2":"Αλλά μην ανησυχείτε - θα διατεθούν περισσότερα πρόσθετα για το iOS στο μέλλον και ίσως προστεθεί η δυνατότητα χρήσης όλων των προσθέτων του Stremio, χάρη στη σύνδεση της εφαρμογής για iOS με τον διακομιστή ροής του Stremio."}')},83865:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Movie","TYPE_series":"Series","TYPE_tv":"TV channel","TYPE_channel":"Channel","TYPE_other":"Other","TYPE_movie_PL":"Movies","TYPE_series_PL":"Series","TYPE_tv_PL":"TV channels","TYPE_channel_PL":"Channels","TYPE_other_PL":"Others","TYPE_ALL":"All","TYPE":"Type","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"Video","BACK":"Back","MORE":"More","DONE":"Done","COPY":"Copy","SUCCESS":"Success","ERROR":"Error","SETTINGS_CASTING_MODE_PICKER":"Casting mode","CASTING_MODE_HLSV2":"Default","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"No transcoding","Discover":"Discover","Board":"Board","Library":"Library","My Library":"My Library","Calendar":"Calendar","NOTIFICATION_ONLINE":"You are now online","NOTIFICATION_OFFLINE":"You are currently offline","INTERNET_CONNECTION":"Network connection","STORAGE_FULL_TITLE":"Warning: Storage full!","STORAGE_FULL_TEXT":"Stremio will not be able to save your settings, preferences or login information. Consider re-starting or re-installing Stremio.","SEARCH":"search","SEARCH_NO_RESULTS":"No results were found","SEARCH_EXPLANATION_CONTENT":"Search for movies, series, YouTube and TV channels","SEARCH_EXPLANATION_PEOPLE":"Search for actors, directors and writers","SEARCH_PASTE_LINKS":"Paste HTTP and Magnet links","SEARCH_OR_PASTE_LINK":"Search or paste link","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"Add to Library","REMOVE_FROM_LIB":"Remove from Library","ADDED_TO_LIB":"Added to Library","REMOVED_FROM_LIB":"Removed from Library","TRAILER":"Trailer","WATCH_TRAILER":"Watch Trailer","WATCH_NOW":"Watch Now","SHOW":"Show","SHOW_MOVIE":"Show Movie","WATCH_RANDOM":"Watch Random","IMDB_RATING":"IMDb Rating","YEAR":"Year","DIRECTOR":"Director","WRITER":"Writer","LEAD_ACTORS":"Lead Actors","CAST":"Cast","CREW":"Crew","SHOW_MORE_CAST":"Show more »","AIRED":"Aired","SEASONS":"Seasons","GENRE":"Genre","GENRE_ALL":"All genres","CATALOG":"Catalog","SUMMARY":"Summary","SHOW_MORE":"Show More","SIMILAR":"Similar","UPCOMING":"Upcoming","ENDED":"Ended","DURATION":"Duration","FEATURED":"Featured","METADATA":"Metadata","CATEGORY":"category","LINKS_GENRES":"Genres","LINKS_CAST":"Cast","LINKS_DIRECTORS":"Directors","SEARCH_VIDEOS":"search videos","SEARCH_PLACEHOLDER":"search or paste URL","ADDON":"addon","ADDONS":"Addons","OFFICIAL":"official","ADDONS_OFFICIAL":"Official Stremio Addons","ADDONS_POPULAR":"Popular in your area","ADDON_FREE":"free","ADDON_PEERED":"peered","ADDON_SUBSCRIPTION":"subscription","ADDON_STREAM_GEORESTRICTED":"not available in your area","ADDON_STREAM_OFFLINECACHE":"Offline Cache","ADDON_STREAM_LOCALFILE":"Local File","SHARE_ADDON":"Share addon","AVAILABLE_STREAMS":"Available Streams","NO_STREAM":"No streams were found","ALL_ADDONS":"All","INSTALL_MORE_ADDONS":"For more streams, please install more addons","STREAM_NOT_SUPPORTED":"Selected stream is not supported on this platform.","ADDON_CATALOGUE":"Show all addons »","ADDON_CATALOGUE_MORE":"Install addons","REPO_ADDED":"Repository added","ADDON_REPO_EXIST_ERR":"This addons collection already exist","ADDON_REPO_ERR":"Error occurred while adding collection","ADDON_ADD_ERR":"Error occurred while adding addon","ERR_ADDON_PROTECTED":"Cannot uninstall addon, it is protected","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Something went wrong - authentication may have failed","ERR_NOT_COLLECTION_URL":"Not a collection URL","ERR_NOT_ADDON_URL":"Not a valid addon URL","ERR_DETECTFROMURL":"Cannot find addon/collection from this URL","ADDON_DUPLICATE_WARNING":"Warning: duplicated addon","ADDON_COLLECTION_SET_FAILED":"Syncing installed addons to your account failed","SETTINGS_DATA_EXPORT":"Export user data","ADDON_PULL_FAILED":"Syncing installed addons from your account failed","REFRESH_ON_CLICK":"Click to retry","STILL_IN_THEATER":"Movie still in theaters","WATCH_IN_CINEMA":"Watch it in your local cinema","IN_THEATER":"In cinema","GET_TICKETS":"Get tickets","UPCOMING_EPISODE":"Upcoming episode","UPCOMING_EPISODE_MESSAGE":"This episode will be aired on","MISSING_DATE_EPISODE":"Missing episode date","MISSING_DATE_EPISODE_MESSAGE":"This episode might not have aired yet","CHANNEL_NOT_SCRAPED":"This channel is not scraped yet.<br>Please come back in a few minutes.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Add it to your library to get notified once it is available.","GET_NOTIFIED_WHEN_AVAILABLE":"You will get notified once it is available.","WARNING_STREAMING_SERVER":"Warning: local streaming server not found. Streaming from local files, YouTube and BitTorrent will not be available.","WARNING_STREAMING_SERVER_DISMISS":"Dismiss","WARNING_STREAMING_SERVER_LATER":"Later","DECODER_WARNING":"Warning: this video may not be supported by your hardware. Keep in mind, playback may be slow.","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"Oops, Player Error","PLAYER_ERROR_LOOKSLIKE":"It looks like","PLAYER_ORIENTATION":"Player orientation","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Locked","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensor","PLAYER_ORIENTATION_LANDSCAPE":"Player orientation locked at landscape","PLAYER_ORIENTATION_SENSOR":"Player orientation automatic (sensor)","PLAYER_PLAYBACK_SPEED":"Playback Speed","PLAYER_PLAYBACK_ERROR":"Playback error, please try again","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Unknown error","PLAYER_PLAYBACK_ERROR_DEFAULT":"Sorry, this video cannot be played by {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Subtitles Languages","PLAYER_SUBTITLES_VARIANTS":"Subtitles Variants","PLAYER_SUBTITLES_SETTINGS":"Subtitles Settings","PLAYER_SUBTITLES_DISABLED":"Subtitles are disabled","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Vertical Position","PLAYER_SUBTITLES_LOADED":"Subtitles loaded","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Embedded subtitles loaded","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Exclusive subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Subtitles from {{origin}} loaded","PLAYER_PLAY":"Play","PLAYER_PAUSE":"Pause","PLAYER_NEXT_VIDEO":"Next Video","PLAYER_MUTE":"Mute","PLAYER_UNMUTE":"Unmute","PLAYER_OPEN_IN_EXTERNAL":"Open in external player","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Play in {{device}}","PLAYER_LIVE":"Live","PLAYER_NEXT_VIDEO_TITLE":"Coming up next on","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Dismiss","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Watch now","PLAYER_COPY_STREAM_SUCCESS":"Stream link was copied to your clipboard","PLAYER_COPY_STREAM_ERROR":"Failed to copy stream link","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","STREAMING_FROM":"streaming from","CASTING_TO":"Casting to","NETWORK_STATUS":"Network status","STREAM_SPEED":"Stream speed:","STREAM_BUFFERED":"Buffered:","PEERS_INFO":"Peers Information","PEERS_ACTIVE":"Active:","PEERS_CONNECTED":"Connected:","PEERS_WAITING":"Waiting:","TRANSCODING_WARNING":"Warning: transcoding video.","STREAM_LOADING":"loading...","PLAYING_LOCAL":"playing from local file","PLAYING_CACHE":"playing from cache","WRONG_SUBS":"Wrong subtitles?","ERR_SUBS_LOADING_TITLE":"Error loading subtitles","ERR_SUBS_LOADING":"Failed loading subtitles: this could be an issue with the addon you are using, or with your network connection","WARN_FOLLOWING_SUB_ADDONS_FAILED":"The following subtitle addons failed","ERR_CASTING_UPDATE_TITLE":"Could not update casting device info: streaming server might be offline","CHOOSE_DEVICE":"Choose a device to watch on","NO_CAST_DEVICES":"No casting devices available.","NO_SETTINGS":"No settings available.","PHONE_TABLET":"Phone / Tablet","SUBTITLES":"Subtitles","SUBTITLES_CHANGE":"Change subtitles for ","SUBTITLES_CHANGE_NONE":"There are no other subtitles for this language, sorry.","SUBTITLES_CHANGE_ACIVE":"Currently subtitles &#35;{{subtitlesDialog.activeIdx + 1}} are activated. Click \\"Continue\\" to activate subtitles &#35;{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Alternatively,","SUBTITLES_ADJUST_DELAY":"Adjust subtitle delay:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Or use <span>G</span> / <span>H</span> keys while playing to adjust.","SUBTITLES_ADJUST_DELAY_TIP":"TIP: you can use <span>G</span> / <span>H</span> keys while playing to adjust.","SUBTITLES_DELAY":"Subtitles delay:","SUBTITLES_LOADING":"Loading subtitles...","SUBTITLES_UNAVAILABLE":"No external subtitles available","SUBTITLES_DISABLED":"Disabled","EXTERNAL_PLAYER_DISABLED":"Disabled","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Allow Choosing","EXTERNAL_PLAYER_HINT":"Hint: There is a setting to allow always opening with external player","DONT_SHOW_AGAIN":"Don\'t show again","SERVICE_INSTALL":"Install","AUDIO":"Audio","DEFAULT_LANGUAGE":"Default Language","DEFAULT_SECONDARY_LANGUAGE":"Default Secondary Language","SEASON":"Season","EPISODE":"Episode","EPISODE_ABBREVIATION":"EP","SPECIAL":"Special","SORT":"sort","SORT_BY":"Sort by","FILTER":"filter","SORT_TRENDING":"trending","SORT_RECENT":"recent","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"rating","SORT_WATCHED":"watched","SORT_YEAR":"year","SELECT_TYPE":"Select type","SELECT_SORT":"Select sort","SELECT_CATALOG":"Select catalog","SELECT_GENRE":"Select genre","SORT_LASTWATCHED":"last watched","SORT_NAME":"a-z","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"most watched","SORT_NOTWATCHED":"not watched","New for You":"New for You","New Episodes":"New Episodes","New Videos":"New Videos","Recommendations":"Recommendations","LIBRARY_RESUME":"Resume","LIBRARY_PLAY":"Play","LIBRARY_DETAILS":"Details","LIBRARY_RESUME_DISMISS":"Dismiss","LIBRARY_CLEAR_PROGRESS":"Clear Progress","LIBRARY_REMOVE":"Remove","LIBRARY_NOT_LOGGED_IN":"Library is only available for logged in users","CALENDAR_NOT_LOGGED_IN":"Calendar is only available for logged in users","NOT_LOGGED_IN_CLOUD":"Access your favorite movies and TV shows anytime, anywhere","NOT_LOGGED_IN_RECOMMENDATIONS":"Recommendations tailored to your viewing history","NOT_LOGGED_IN_NOTIFICATIONS":"Never miss an episode again","NOT_LOGGED_IN_CALENDAR":"Schedule your personal watching calendar","DISCOVER_FEATURED":"Featured","DISCOVER_TOP":"Top","DISCOVER_OSCAR":"Oscar Winners","DISCOVER_WARNING_TITLE":"Oops!","DISCOVER_EMPTY_CATALOG":"This addon returned empty content.","DISCOVER_ADULT_WARNING":"The content is visible only for adults. Are you 18+?","DISCOVER_NOADDON_WARNING":"Warning: no Stremio addon active for this type. Showing saved items, nothing here will update.","DISCOVER_LOAD_ERR":"The content did not load, error occured.","DISCOVER_ADDON_UNINSTALLED":"This content is no longer available, you may have un-installed the addon.","UNINSTALL_THIS_ADDON":"Uninstall this addon","ERR_ADDON_NOT_INSTALLED":"This addon is not installed. Install now?","DETAIL_RECEIVE_NOTIF_SERIES":"Receive notifications for new episodes","DETAIL_RECEIVE_NOTIF_VIDEOS":"Receive notifications for new videos","SIDEBAR_SHOW_STREAMS":"Show Streams","RELAUNCH":"Re-launch now!","UPGRADE":"New version is available! Upgrade to the latest Stremio version","RELOAD_UI":"Reload the user interface","MANUAL_UPDATE_TITLE":"Update your Stremio version","MANUAL_UPDATE_LINE1":"You are running an outdated version of Stremio which is highly unrecommended.","MANUAL_UPDATE_LINE2":"Please update as soon as possible.","BUTTON_UPDATE_LATTER":"Not now","BUTTON_UPDATE_NOW":"Update","ANONYMOUS_USER":"Anonymous user","DONT_HAVE_ACC":"Don\'t have an account?","HAVE_ACC":"Already have an account?","PASSWORD":"Password","PASSWORD_CONFIRM":"Confirm password","EMAIL":"E-mail","FB_LOGIN":"Continue with Facebook","FB_NOTHINGSHARED":"Nothing is shared without your permission","FB_NOPOST":"We won’t post anything on your behalf","OR":"or","I_ACCEPT":"I accept the","I_ACCEPT_BY_CLICKING":"By clicking the above button I testify that I accept the ","TOS":"Terms and Conditions","MUST_ACCEPT_TERMS":"You must accept terms","PASSWORDS_NOMATCH":"Passwords don\'t match","SIGN_UP":"Sign up","SIGN_UP_EMAIL":"Sign up with email","CLICK_TO_SIGN_UP":"Click here to sign up.","LOG_IN":"Log in","LOG_OUT":"Log out","EXIT_FULLSCREEN":"Exit fullscreen mode","ENTER_FULLSCREEN":"Enter fullscreen mode","PLAY_URL_MAGNET_LINK":"Play URL/Magnet link","HELP_FEEDBACK":"Help & Feedback","TERMS_OF_SERVICE":"Terms of Service","PRIVACY_POLICY":"Privacy Policy","ABOUT_STREMIO":"About Stremio","USER_PANEL":"User Panel","LOGIN_LABEL":"Login","GUEST_LOGIN":"Guest login","GUEST_LOGIN_NOTICE":"Guest Login is not recommended. Using a regular login allows Stremio to sync your Library, receive notifications for favourite series/channels. Are you sure you want to proceed?","GUEST_LOGIN_NOTICE_2":"Guest Login is not recommended - you won\'t have synced Library and Board notifications, which are vital Stremio features. Are you sure you want to proceed?","CLICK_HERE":"click here","WRONG_PASSWORD":"Wrong email or password. In case you have forgotten your password, ","SET_A_PASS":"set a password","RESET_PASSWORD":"Reset password","FORGOT_PASSWORD":"Forgot password?","EMAIL_USED_WITH_FB":"This email was used with a Facebook login.","INVALID_EMAIL":"Please enter a valid email address","INVALID_PASSWORD":"Please enter a valid password","CONN_ERR":"Connection error - please try again later.\\n\\nIf this persists, disable firewalls/anti-virus software (especially Bitdefender).","IMPORT_FROM_GUEST":"Import Library from your guest account","RECEIVE_UPDATES_EMAIL":"Receive updates to your email from Stremio","LOGIN_FAILED":"Login failed.","SIGNUP_FAILED":"Signup failed.","SEARCH_FAILED":"Search failed","EMAIL_USED":"This email is already in use.","WAITING_FB_LOGIN":"Logging in with Facebook...","EXTERNAL_PLAYER_TITLE":"Play in external player","EXTERNAL_REMEMBER_PLAYER":"Do you want to remember your choice","EXTERNAL_ALWAYS_PLAY":"Yes","EXTERNAL_ONLY_ONCE":"No","BEST_FIT":"Best Fit","FIT_SCREEN":"Fit Screen","FILL":"Fill","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"Tell us about what you like","INTRO_TASTE_LONG":"Tell us about what you\'d like to watch","INTRO_TASTE_PICK":"Pick {{interestsRemaining}} interests","INTRO_TASTE_PICK_MORE":"Pick {{interestsRemaining}} more interests","INTRO_TASTE_HELP_US":"Help us learn more about you.","INTRO_TASTE_CHOOSE_THESE":"Choose some of these:","INTRO_TASTE_CHOOSE_MIN":"Choose at least 3 categories","INTRO_TASTE_CHOOSE_MIN_ERR":"You have to pick at least 3 categories!","INTRO_TASTE_LIFESTYLE":"Lifestyle","INTRO_TASTE_SPORTS":"Sports","INTRO_TASTE_FOOD_HEALTH":"Food & Health","INTRO_TASTE_BEAUTY_FASHION":"Beauty & Fashion","INTRO_TASTE_NEWS":"News","INTRO_TASTE_GAMING":"Gaming","INTRO_TASTE_SCIENCE_EDU":"Science & Education","INTRO_TASTE_MUSIC":"Music","INTRO_TASTE_TRAVEL":"Travel","INTRO_TASTE_LATE_NIGHT":"Late Night Show","INTRO_TASTE_REALITY":"Reality","INTRO_TASTE_COMEDY":"Comedy","INTRO_TASTE_DIY":"How to DIY","INTRO_TASTE_TECH":"Tech","INTRO_TASTE_CINEMA":"Cinema","ADDON_NOT_SUPPORTED":"Selected addon is not supported on this platform.","ADDON_DISCLAIMER":"Using third-party addons will always be subject to your responsibility and the governing law of the jurisdiction you are located.","ADDON_ACTIVATE":"Activate this addon?","ADDON_REPO_ADD":"Addon collection URL","ADDON_ADD":"Add","INSTALL_ADDON":"Install addon","ADD_ADDON":"Add addon","ADD_ADDON_DESCRIPTION":"You can add an addon via an external link, which will appear under Installed addons.","PASTE_ADDON_URL":"Paste addon URL","WHATS_NEW":"What\'s new","BUTTON_CONTINUE":"Continue","BUTTON_ACTIVATE":"Activate","BUTTON_ACTIVATED":"Activated","BUTTON_CANCEL":"Cancel","BUTTON_SUBMIT":"Submit","BUTTON_DISMISS_ALL":"Dismiss All","BUTTON_VIEW_ALL":"view all","BUTTON_SEE_ALL":"See All","BUTTON_COLOR_TRANSPARENT":"Transparent","OPEN_IN_BROWSER":"Open in browser","LIB_EMPTY":"Your library looks empty. Find out how useful it is :) ","HOW_START":"Here is how you can start:","LIB_EMPTY_CAL":"Your Calendar shows series in your Library.","HOW_START_CAL":"Here is how you can add series:","LIB_EMPTY_BOARD":"Board shows notifications &amp; recommendations related to your Library.","HOW_START_BOARD_WAIT":"Please, add a few series or channels to your Library give us a few minutes to process :)","HOW_START_BOARD":"Here is how you can add series &amp; movies to it:","IMPORT_FB":"Import things you like from <span>Facebook</span>","IMPORT_TRAKT":"Import your media library from <span>Trakt</span>","IMPORT_DISCOVER":"Find interesting stuff from <span>Discover</span>","IMPORT_DISK":"Import movies or shows you have on your <span>local disk</span>","PLEASE_CREATE_ACC":"Please <u>create an account</u> to enable Library sync &amp; Board.","IMPORT_DISCOVER_SIGNUP":"Sign up and find interesting stuff from <span>Discover</span>","IMPORT_DISK_SIGNUP":"Sign up and import movies or shows you have on your <span>local disk</span>","LIB_EMPTY_CLOUD":"Cloud library","LIB_EMPTY_CLOUD_DESC":"Personal cloud library synced on all devices","LIB_EMPTY_EARLY":"Early bird","LIB_EMPTY_EARLY_DESC":"Receive notifications for new episodes","LIB_EMPTY_PERSONAL":"Personal","LIB_EMPTY_PERSONAL_DESC":"Get personal recommendations","LIB_EMPTY_CALENDAR_DESC":"Schedule your personal watching calendar","LIB_EMPTY_ALL":"Sign up to get all of these:","LIB_EMPTY_BEST":"Sign up to get best of Stremio","LIB_EMPTY_OTHER":"Sign up to enable Calendar & other cool features","CALENDAR_ADDED":"The Stremio calendar has been added to your default desktop calendar.","CALENDAR_ADDED_MSG":"If this does not work, please add this URL to your calendar application manually","TRAKT_EXPIRED":"Trakt authentication expired, please go to Settings and re-authenticate","TRAKT_REQUIRES_LOGIN":"Trakt error","TRAKT_REQUIRES_LOGIN_MSG":"You need to login","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","SETTINGS_LABEL":"Settings","SETTINGS_NAV_GENERAL":"General","SETTINGS_NAV_PLAYER":"Player","SETTINGS_NAV_STREAMING":"Streaming","SETTINGS_NAV_SHORTCUTS":"Shortcuts","SETTINGS_SHORTCUT_RELOAD_APP":"Reload App","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Open Settings","SETTINGS_SHORTCUT_SWITCH_TABS":"Switch Tabs","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Cycle Through Tabs Forward","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Cycle Through Tabs Backward","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigate Between Menus","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Go to Search","SETTINGS_SHORTCUT_EXIT_BACK":"Exit / Go Back","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Toggle Playback Speed Menu","SETTINGS_SHORTCUT_MENU_VIDEOS":"Toggle Videos Menu","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Toggle Subtitles Menu","SETTINGS_SHORTCUT_MENU_INFO":"Toggle Info Menu","SETTINGS_SHORTCUT_FULLSCREEN":"Toggle Fullscreen","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Show Controls","SETTINGS_SHORTCUT_PLAY_PAUSE":"Play / Pause","SETTINGS_SHORTCUT_VOLUME_UP":"Volume Up","SETTINGS_SHORTCUT_VOLUME_DOWN":"Volume Down","SETTINGS_SHORTCUT_SEEK_NEXT":"Seek Next","SETTINGS_SHORTCUT_SEEK_PREV":"Seek Prev","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Seek Backward","SETTINGS_SHORTCUT_SEEK_FORWARD":"Seek Forward","SETTINGS_SHORTCUT_PLAY_NEXT":"Play Next","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Increase Subtitles Size","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Decrease Subtitles Size","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Increase Subtitles Delay","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Decrease Subtitles Delay","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Toggle Sidebar","SETTINGS_SHORTCUT_OR":"or","SETTINGS_SHORTCUT_TO":"to","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Authenticate","SETTINGS_FACEBOOK_IMPORT":"Import","SETTINGS_CALENDAR_SUBSCRIBE":"Subscribe","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Interface Language","SETTINGS_LAUNCH_STARTUP":"Launch on start-up","SETTINGS_VLC_DEFAULT":"Play with VLC","SETTINGS_UI_LANGUAGE":"UI Language","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Escape key exit full screen","SETTINGS_GAMEPAD":"Enable gamepad support","SETTINGS_CLOSE_WINDOW":"Close app when window is closed","SETTINGS_SUBTITLES_LANGUAGE":"Default Subtitles Language","SETTINGS_SUBTITLES_SIZE":"Default Subtitles Size","SETTINGS_SUBTITLES_BACKGROUND":"Subtitles background","SETTINGS_SUBTITLES_COLOR":"Subtitles color","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Subtitles outline color","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Subtitles background color","SETTINGS_SEEK_KEY":"Arrow keys seek time","SETTINGS_SEEK_KEY_SHIFT":"Arrow keys seek time when Shift key is held","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Rewind & Fast-forward duration","SETTINGS_BINGE":"Auto-play next episode","SETTINGS_NEXT_VIDEO":"Show notification to start next episode","SETTINGS_NEXT_VIDEO_TRIGGER":"Show next episode notification for:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Next video popup duration","SETTINGS_PLAY_IN_BACKGROUND":"Play in background","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Play in external player","SETTINGS_RESIZE":"Auto-resize window before playing","SETTINGS_OVERRIDE_SERVER":"Override the streaming server URL (advanced)","SETTINGS_SERVER_URL":"Streaming server URL: ","SETTINGS_SERVER_AVAILABLE":"Streaming server is available.","SETTINGS_SERVER_UNAVAILABLE":"Streaming server is not available.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Error","SETTINGS_SERVER_CONFIGURE_TITLE":"Configure streaming server url","SETTINGS_SERVER_CONFIGURE_INPUT":"Enter a streaming server url","SETTINGS_SERVER_CACHE_SIZE":"Cache size","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent profile","SETTINGS_HTTPS_ENDPOINT":"Streaming HTTPS endpoint: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Always use latest Beta","SETTINGS_IMPORT_FB":"Import from Facebook","SETTINGS_IMPORT_DISK":"Import from local disk","SETTINGS_IMPORT_TRAKT":"Import from Trakt","SETTINGS_PAUSE_MINIMIZED":"Pause playback when minimized","SETTINGS_HWDEC":"Hardware-accelerated decoding","SETTINGS_BACKGROUND":"Background playback","SETTINGS_SUBSCRIBE_CALENDAR":"Subscribe to calendar","SETTINGS_REQ_EXPORT":"Request data export","SETTINGS_ACC_DELETE":"Request account deletion","SETTINGS_CHANGE_PASSWORD":"Change password","SETTINGS_TOS":"Terms of service","SETTINGS_SUPPORT":"Contact support","SETTING_LANGUAGE":"Language","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_LOGOUT":"Log out of Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Log Out of Trakt","SETTINGS_SCAN_FOR_REMOTE":"Scan QR code to open remote","SETTINGS_DESKTOP_NOTIFICATIONS":"Desktop notifications","SETTINGS_DATA_SAVER":"Data saver","SETTINGS_LANGUAGE_INTERFACE":"interface","SETTINGS_LANGUAGE_SUBS":"default subtitles","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Autoselect Audio Track","SETTINGS_DEFAULT_AUDIO_TRACK":"Default Audio Track","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"account","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"Version","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"Launch player in a separate window (advanced)","SETTINGS_PLAY_IN_EXTERNAL":"Always start video in external player","SETTINGS_STORAGE_BUTTON":"Clear Local Storage","SETTINGS_STORAGE_MODAL_TITLE":"Are you sure ?","SETTINGS_STORAGE_MODAL_MESSAGE":"This will clear the local storage and log you out.","SETTINGS_HWDEC_PICKER":"Pick hardware-accelerated decoding setting","SETTINGS_HW_AUTOMATIC":"Automatic","SETTINGS_HW_DISABLED":"Disabled","SETTINGS_HW_ACCELERATED":"Decoding acceleration","SETTINGS_HW_FULL":"Full acceleration","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Subtitles","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Controls","SETTINGS_SECTION_AUTO_PLAY":"Auto-Play","SETTINGS_SECTION_ADVANCED":"Advanced","SUBSPICKER_AUDIO":"Audio","SUBSPICKER_SUBTITLES":"Addons Subtitles","SUBSPICKER_BLACK_BACKGROUND":"Use black background color","SUBSPICKER_VERTICAL_OFFSET":"Vertical Offset","SUBSPICKER_SIZE":"Size","SUBSPICKER_DELAY":"Delay","SUBSPICKER_EMBEDDED_SUBS":"Embedded Subtitles","MOBILE_PRIVACY_POLICY":"Privacy Policy","MOBILE_CRASH_REPORTING":"Crash Reporting","MOBILE_ZOOM_TO_FILL":"Zoom To Fill Screen","MOBILE_PASSTHROUGH":"Digital audio output (passthrough)","MOBILE_RUN_LOW_BATTERY":"Run on low battery","MOBILE_RUN_FOREGROUND":"Run as Foreground Service","MOBILE_PERFORMANCE":"PERFORMANCE & STABILITY","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"QR Code expires in ","MOBILE_LOG_INTO":"Log in to your Stremio account ","MOBILE_SCAN_QR":"Scan QR code above or go to ","MOBILE_LINK_ACCOUNT":"Link Account","MOBILE_SPEEDPICKER_CANCEL":"Cancel","MOBILE_SPEEDPICKER_LABEL":"Select Playback Speed","MOBILE_EMPTY_LIBRARY":"Your library is empty","MOBILE_NO_ADDON_ACTIVE":"No Stremio addon active for this type.","MOBILE_ORGANIZER_WARNING":"The Stremio Organizer app provides limited functionality. For a list of playable streams and the full Stremio experience, use Stremio on desktop.","MOBILE_ADDON_LOADING":"is still loading","MOBILE_ADDONS_LOADING":"addons are still loading","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Configure your addon","MOBILE_CONFIGURE_ADDON_LABEL":"Configure Addon","MOBILE_ORGANIZER_ADDONS_WARNING":"The Stremio Organizer app provides a limited selection of addons. For the full Stremio experience, use Stremio on desktop.","MOBILE_DISCONNECT":"Disconnect","MOBILE_LOOKING_FOR_DEVICES":"Looking for devices...","MOBILE_CAST_TO":"Cast to","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Delete Account","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Account deletion is not instant due to legal obligations. After requesting deletion of your account you will have to use different email address/facebook profile to create a new Stremio account in the future.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirm Account Deletion","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Your account has been created using Facebook. To delete your account, please use our user portal at www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Please provide your password to confirm account deletion.","MOBILE_DELETE_ACCOUNT_BUTTON":"Delete Account","NAVIGATION_ON":"On","NAVIGATION_OFF":"Off","MARKETING_AGREE":"I agree to receive marketing communications from Stremio","QUIT":"Quit","CONNECTED":"Connected","AUTHENTICATE":"Authenticate","CACHING":"Caching","SETTINGS_CACHING_DRIVE":"Caching drive","ENABLE_LOCAL_FILES_ADDON":"Enable the local files addon (requires restart)","LOCAL_ADDON_NOT_ENABLED":"Local addon is not enabled. Click here to go to the settings and enable it","ENABLE_REMOTE_HTTPS_CONN":"Enable remote HTTPS connections","TORRENT_PROFILE":"Torrent Profile","DATA_CACHING":"Data Caching","MAGNET_PARSING":"Parsing a magnet link","January":"January","February":"February","March":"March","April":"April","May":"May","June":"June","July":"July","August":"August","September":"September","October":"October","November":"November","December":"December","Monday":"Monday","Tuesday":"Tuesday","Wednesday":"Wednesday","Thursday":"Thursday","Friday":"Friday","Saturday":"Saturday","Sunday":"Sunday","Action":"Action","Comedy":"Comedy","War":"War","Family":"Family","Animation":"Animation","Adventure":"Adventure","Fantasy":"Fantasy","Crime":"Crime","Mystery":"Mystery","Romance":"Romance","Drama":"Drama","Horror":"Horror","Thriller":"Thriller","Sci-Fi":"Sci-Fi","Music":"Music","Biography":"Biography","Documentary":"Documentary","Sport":"Sport","Musical":"Musical","Western":"Western","Film-Noir":"Film-Noir","News":"News","History":"History","Game-Show":"Game-Show","Reality-TV":"Reality-TV","Talk-Show":"Talk-Show","Film & Entertainment":"Film & Entertainment","Gaming":"Gaming","From TV":"From TV","Lifestyle":"Lifestyle","Science & Education":"Science & Education","Cooking & Health":"Cooking & Health","Beauty & Fashion":"Beauty & Fashion","Sports":"Sports","News & Politics":"News & Politics","How-to & DIY":"How-to & DIY","Tech":"Tech","Automotive":"Automotive","Causes & Non-Profits":"Causes & Non-Profits","Movies":"Movies","Uk Live Tv":"Uk Live Tv","Fashion":"Fashion","Business News Radio":"Business News Radio","Business Tv":"Business Tv","Cars & Auto":"Cars & Auto","Comedy Radio":"Comedy Radio","Lifestyle Radio":"Lifestyle Radio","News Tv":"News Tv","Food And Wine":"Food And Wine","Latino Tv":"Latino Tv","Shopping Tv":"Shopping Tv","Religion":"Religion","Kids":"Kids","Body & Soul":"Body & Soul","Education":"Education","Indian Tv":"Indian Tv","Extreme Sports":"Extreme Sports","Middle Eastern Tv":"Middle Eastern Tv","Celebrity Tv":"Celebrity Tv","Science Tv":"Science Tv","Bikini babe":"Bikini babe","Outdoors":"Outdoors","German Tv":"German Tv","French Tv":"French Tv","Italian Tv":"Italian Tv","Gamer Tv":"Gamer Tv","Travel":"Travel","Asian Tv":"Asian Tv","Entertainment":"Entertainment","News Radio":"News Radio","Music Radio":"Music Radio","Language Learning":"Language Learning","Science Radio":"Science Radio","Tech Radio":"Tech Radio","Science & Technology Vod":"Science & Technology Vod","new video":"new video","new episode":"new episode","new movie":"new movie","recommended":"recommended","we recommend":"we recommend","offer of the day":"offer of the day","news":"news","music video":"music video","CTX_SHOW_HOTKEYS":"Show hotkeys","CTX_DISMISS_NOTIF":"Dismiss notifications","CTX_DISMISS_ALL":"Dismiss all","CTX_SHARE":"Share","CTX_COPY_SHARE_LINK":"Copy share link","CTX_COPY_MAGNET_LINK":"Copy magnet link","CTX_COPY_STREAM_LINK":"Copy stream link","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Download this video","CTX_DOWNLOAD_SUBS":"Download subtitles","CTX_VIEW_ON_YOUTUBE":"View on YouTube","CTX_SHOW":"Show","CTX_PLAY":"Play","CTX_PLAY_IN":"Play in","CTX_PLAY_ON":"Play on","CTX_WATCH_ON":"Watch on","CTX_WATCH":"Watch","CTX_WATCHED":"Watched","CTX_WATCH_BEGINNING":"Watch from the beginning","CTX_WATCH_MOBILE":"Watch on a mobile device","CTX_REWIND":"Rewind to beginning","CTX_MARK_WATCHED":"Mark as watched","CTX_MARK_NON_WATCHED":"Mark as non-watched","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"Mark rest as watched","CTX_UNMARK_REST":"Mark rest as non-watched","CTX_RECEIVE_NEW_NOTIF":"Receive new notifications","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"Remove from cache","CTX_REMOVE_CACHE_EP":"Remove episode from cache","CTX_OPEN_CONTAINING":"Open containing folder","CTX_REMOVE":"Remove from library","CTX_AVAILABLE_OFFLINE":"Available Offline","CTX_PAUSED":"Paused","CTX_ALWAYS_ON_TOP":"Always on top","CTX_FULLSCREEN":"Fullscreen","CTX_WRONG_SUBS":"Wrong subtitles?","CTX_REPORT_ISSUES":"Report issue","CTX_COPY":"Copy","CTX_PASTE":"Paste","CTX_CLEAR":"Clear","CTX_CLEAR_RECENT_SEARCHES":"Clear recent searches","HELLO_THERE":"Hello There","HOPE_YOU_ENJOY":"We hope you enjoy Stremio and it\'s one of your favourite apps already!","WHO_ARE_WE":"Who are we? We are the team behind it - two guys who work hard every day for the last 3 years to make this product better and better.","SUPPORT_US":"If you enjoy using Stremio, if Stremio is valuable for you - spread the word!","SPREAD_THE_WORD":"Share with your friends now, spread the word about Stremio","MORE_PEOPLE":"The more people use Stremio, the better it will get!","SEND_A_LINK":"Or send a link to our website","TIP_LOCALFILES":"Tip: you can drag & drop local video files into Stremio","ADDON_MY":"My Addons","ADDON_COMMUNITY":"Community Addons","ADDON_OFFICIAL":"Official Addons","ADDON_REPOS":"Addon collections","ADDON_SEARCH":"Search addons","ADDON_INSTALL":"Install","ADDON_CONFIGURE":"Configure","ADDON_UNINSTALL":"Uninstall","ADDON_UPGRADE":"Upgrade","ADDON_INSTALLED":"Installed","ADDON_INSTALLED_MSG":"Addon installed!","ADDON_UPGRADED_MSG":"Addon upgraded!","ADDON_UNKNOWN":"Unknown","ADDON_ERR":"Addon install error!","ADDON_DISCONNECTED":"Disconnected","ADDON_APP_MISSING":"the app for this source is not installed. Do you want to install it now?","ADDON_APP_INSTALL":"Install Now","ADDON_PAGE":"Addon Page","ADDON_TOP_CONTENT":"Best from this Addon","ADDON_PROVIDES":"This addon will give you:","ADDON_WATCH":"Watch #{types} now!","ADDON_WATCH_FREE":"Watch #{types} for FREE now!","ADDON_ADDON":"Addon","ADDON_SUPPORTED_TYPES":"Supported types","ADDON_SUPPORTED_CATALOGS":"Supported catalogs","ADDON_PROVIDES_DISCOVER":"More #{types} in Discover","ADDON_PROVIDES_STREAMS":"Watch #{types}","ADDON_PROVIDES_STREAMS_FREE":"Watch #{types} for FREE","ADDON_PROVIDES_SUBTITLES":"Subtitles for #{types}","ADDON_CANTDETECT":"We couldn\'t detect a running Stremio, so we couldn\'t detect what addons you have installed.","ERR_NO_META":"No information found about this ","ERR_GETTING_META":"Error retrieving information about this.","ERR_CANT_PARSE_MAGNET":"Unable to parse magnet","ERR_NO_MAGNET_INFOHASH":"No valid info hash for magnet","ERR_NO_FILE_PATH":"Unable to send request without a path to file","ERR_NO_TORRENT":"No torrent returned","ERR_NO_SUPPORTERD_FILES":"No supported files found","ERR_OPENING_FILES":"Could not open external files","ERR_INVALID_LINK":"Invalid link","ERR_REGISTERED_ONLY":"This option is available for registred users only.","ERR_CLIPBOARD":"Can not play from clipboard","ERR_CLIPBOARD_READ":"Can not read the clipboard on this platform","ERR_CLIPBOARD_GENERIC":"No playable URL found in the clipboard. Please copy a URL (e.g. a magnet link) to a video.","BOARD_CONTINUE_WATCHING":"Continue watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Movies picked specially for you.<br />This movie is a sample recommendation.","BOARD_EXPLANATION_EPISODES":"New episodes of your favorite Series come here.<br />Add series you follow to your Library.","BOARD_EXPLANATION_VIDEOS":"New episodes of your favorite Channels come here.<br />Add YouTube channels you follow to your Library.","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE":"Contribute","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"Learn more","WEBSITE_COMPANY":"Company","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Need Help?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"Watch Instantly","WEBSITE_SLOGAN_ALL":"All the Video Content You Enjoy in One Place","WEBSITE_SLOGAN_NEW":"All You Can Watch","WEBSITE_SLOGAN_NEW_NEW":"Freedom to Stream","WEBSITE_WATCH_FROM":"Watch from","WEBSITE_DOWNLOAD":"Download Now","WEBSITE_DOWNLOAD_FOR":"Download Now For","WEBSITE_IS_DESKTOP":"Stremio is a desktop application, open this page on your PC and download it","WEBSITE_DESKTOP_DEMO_VID":"Desktop demo","WEBSITE_PAGE_HOME":"Home","WEBSITE_PAGE_FEATURES":"Features","WEBSITE_PAGE_ADDONS":"Addons","WEBSITE_PAGE_TECH":"Technology","WEBSITE_PAGE_CREATE_ADDON":"Create Addon","WEBSITE_PAGE_CONTACTS":"Contacts","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Movies","WEBSITE_TYPE_series_PL":"Series","WEBSITE_TYPE_tv":"Live TV","WEBSITE_TYPE_channel":"Channels","WEBSITE_STREMIO_WHAT_IS":"Stremio is an app that helps you organize and instantly watch your favorite videos, movies, TV series and TV channels.","WEBSITE_FEATURES_WATCH":"Watch Instantly in HD","WEBSITE_FEATURES_WATCH_DETAIL":"Click and play your favourite movies, TV Shows, videos and TV channels.","WEBSITE_FEATURES_SUBS":"Automatic Subtitles","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio automatically picks synced subtitles for your language.","WEBSITE_FEATURES_SUBS_LABEL":"Your move, chief.","WEBSITE_FEATURES_CAST":"Play on TV & mobile devices","WEBSITE_FEATURES_CAST_DETAIL":"Cast to AppleTV, Chromecast, Smart TV (DLNA/UPnP) and mobile devices.","WEBSITE_LIB":"Enjoy Your Personal Library Synced on All Your Devices","WEBSITE_LIB_COLLECT":"Collect from Stremio","WEBSITE_LIB_IMPORT":"Import from Facebook","WEBSITE_LIB_LOCAL":"Add from your local drive","WEBSITE_BOARD":"The Board - Your one-stop place for Notifications and Recommendations","WEBSITE_BOARD_RECOMMEND":"Recommended TV Show","WEBSITE_BOARD_TRENDING":"Trending Movie","WEBSITE_BOARD_NEW":"New Video","WEBSITE_BOARD_EPISODE":"New Episode","WEBSITE_BOARD_1":"Looking for something interesting to watch? Get recommendations based on your taste!","WEBSITE_BOARD_2":"Get notified when a new episode of your favourite TV show or YouTube channel is out!","WEBSITE_BOARD_YOUTUBE":"New videos of YouTube channels","WEBSITE_BOARD_EPISODES":"New episodes of series you follow","WEBSITE_ADDONS":"Content Addons","WEBSITE_TECH_DETAIL":"We love technology, we love mad science!\\nStremio is using the following open source technologies:","WEBSITE_TECH_WCJS":"WebChimera.js allows Stremio to play any video format with good performance.","WEBSITE_TECH_WCJS_EXTRA":"We are core project contributors","WEBSITE_TECH_ELECTRON":"Electron provides an innovative platform to build Stremio with.","WEBSITE_TECH_ELECTRON_EXTRA":"We are project contributors","WEBSITE_TECH_LINVODB":"A database technology that ensures your data is organized and available anywhere you login.","WEBSITE_TECH_LINVODB_EXTRA":"In-house technology","WEBSITE_CREATE_ADDON":"Create your addon","WEBSITE_CREATE_ADDON_DETAIL":"Do you have a service providing video content? We\'ll help you benefit from Stremio\'s features by creating your Addon.","WEBSITE_CREATE_ADDON_BENEFITS":"Benefits of Creating an Addon for Stremio","WEBSITE_P2P_BEAUTY":"The Beauty of Peer-to-Peer Streaming","WEBSITE_P2P_1":"Reliable and affordable full HD / 4K video on demand or live streaming","WEBSITE_P2P_2":"Distribution platform providing great user experience","WEBSITE_P2P_3":"We will create an addon meeting your exact needs","WEBSITE_P2P_CONTACT":"Interested? You are welcome to <a href=\'mailto:office@stremio.com\'>contact us</a>.","WEBSITE_P2P_CONTACT_EXTRA":"We will be happy to help you integrate your content with Stremio!","WEBSITE_P2P":"Once in a while, there comes a technology that changes the name of the game. We invested tons of time and effort in building our Peer-to-Peer (P2P) video streaming engine that provides great performance and versatility to adapt with any use case.\\nContact us for DRM-enabled P2P video on demand or live streaming.","WEBSITE_THOUGHTS":"Thoughts we share:","WEBSITE_SPREAD":"Spread the word about Stremio:","WEBSITE_CONTACT":"Contact us, we\'ll be happy to hear from you!","WEBSITE_OPENSOURCE":"For our open source projects, go to our","WEBSITE_BITCOIN":"Donate bitcoin:","WEBSITE_FAQ":"Frequently asked questions","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Questions","WEBSITE_TOS":"Terms of use","WEBSITE_LEGAL":"Legal","WEBSITE_PAGE_ABOUT":"About","WEBSITE_PAGE_BECOME_PARTNER":"Become a partner","WEBSITE_ALL_YOU_CAN_WATCH":"Freedom To Watch\\nEverything You Want.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"What is stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio is a one-stop hub for video content aggregation. Discover, organize and watch video from all kind of sources on any device that you own.","WEBSITE_WHAT_IS_STREMIO_P2":"Movies, TV shows, series, live television or web channels like YouTube and Twitch.tv - you can find all this on Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio is a modern media center that\'s a one-stop solution for your video entertainment. You discover, watch and organize video content from easy to install addons.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Movies, TV shows, live TV or web channels - find all this on Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Enjoy on all your Media devices","WEBSITE_DEVICES_COLLECT":"Collect from Stremio","WEBSITE_DEVICES_IMPORT_FB":"Import from facebook","WEBSITE_DEVICES_LOCAL":"Add from local drive","WEBSITE_JOIN_THE_PARTY_NOW":"Join the party now","WEBSITE_DEVICES_ALL":"Easy to use on all your devices;","WEBSITE_EXTENDABLE_CATALOG":"Infinitelly extendable video catalog;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Great features to organize your media;","WEBSITE_AS_SEEN_ON":"As seen on","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"About us","WEBSITE_LINK_TECHNOLOGY":"Technology","WEBSITE_LINK_APPS":"Apps","WEBSITE_LINK_DOWNLOADS":"Downloads","WEBSITE_MORE":"More","WEBSITE_LINK_ADDONS":"Addons","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Contribute","WEBSITE_LINK_COMMUNITY":"Community","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... & More","WEBSITE_LINK_HELP":"Help center","WEBSITE_LINK_CONTACTS":"Business inquiries","WEBSITE_LINK_TOS":"Terms & conditions","WEBSITE_LINK_PRAVACY":"Privacy policy","WEBSITE_SUBSCRIBE":"Subscribe","WEBSITE_NEWSLETTER":"Join Our Newsletter for amazing stuff","WEBSITE_PLACEHOLDER_EMAIL":"Your Email","WEBSITE_COMMUNITY":"Community","WEBSITE_LINK_PRAVACY_LEGAL":"Privacy & legal","WEBSITE_WHY":"Why we do it","WEBSITE_WHY_P1":"At Stremio, we come to work every day because we want to solve an important problem for the video-on-demand industry. There’s so much new content published every minute that it’s virtually impossible to find your way around it.","WEBSITE_WHY_P2":"We help people navigate that huge world of video entertainment and discover new content to enjoy. Our apps bring together movies, series, live TV, web channels, and more. We are dedicated to making it incredibly easy for users to find titles and broadcasters that they love.","WEBSITE_WHY_P3":"You can use our service on any device and at any time, making Stremio the only video entertainment hub you’ll ever need.","WEBSITE_TEAM":"TEAM","WEBSITE_TEAM_P":"The Stremio team is small but powerful: between the ten of us, we code in X languages, and share expertise in software development, UI and UX design, marketing and advertising, and business and startups.","WEBSITE_FEATURES":"Features","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Discover new content with ease","WEBSITE_FEATURES_DISCOVER_P":"Easily discover new movies, TV shows, series and channels to watch. Browse by category, genre, rating, recency, etc. or simply type a name to find. Stremio makes finding new video content a piece of cake.","WEBSITE_FEATURES_ALL_CONTENT":"All of your video content on one screen","WEBSITE_FEATURES_ALL_CONTENT_P1":"See what movies, series or videos you didn’t finish and continue watching them; get notified for new episodes and releases; and browse through the recommendations you will get based on your viewing habits.","WEBSITE_FEATURES_LIBRARY":"Organize your video library","WEBSITE_FEATURES_LIBRARY_P1":"Add any title to your Stremio library with a single click and find your way around your content, neatly arranged by type, recency, or alphabetical order.","WEBSITE_FEATURES_CALENDAR":"Keep track of everything you watch","WEBSITE_FEATURES_CALENDAR_P1":"Get a calendar visualization of all the movies and series you add to your library. Export your Stremio calendar and sync it so you always know when a new episode or a premier is due.","WEBSITE_FEATURES_BIG_SCREEN":"Enjoy your video content on a bigger screen","WEBSITE_FEATURES_BIG_SCREEN_P1":"Cast whatever you are watching to another device - be it a phone, tablet or a TV with a single click.","WEBSITE_FEATURES_SOURCES":"Watch video from many different sources","WEBSITE_FEATURES_SOURCES_P":"Install official and community addons to enjoy video sourced from many different providers - all in one sleek, easy to use app.","WEBSITE_CREATE_AN_ADDON":"Create an addon","WEBSITE_FEATURES_SYNC":"Sync your library across different devices and resume your playback","WEBSITE_FEATURES_SYNC_P1":"Login with your account across all your devices and enjoy your library, addons, playback and calendar synchronized.","WEBSITE_FEATURES_EXTENDABLE":"Extendable video catalog by addons","WEBSITE_FEATURES_EXTENDABLE_P1":"The Stremio addon catalog provides a number of addons to install and watch a variety of video content from. This includes movies, shows, live TV, sport, news, podcasts, web channels, video games and more.","WEBSITE_FEATURES_AUTO_SUBS":"Automatic subtitles","WEBSITE_FEATURES_AUTO_SUBS_P1":"With our subtitle addons you get automatically selected options for your preferred language.","WEBSITE_FEATURES_CHROMECAST":"Casting to Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Enjoy your video content on a bigger screen or just cast whatever you are watching to another device.","WEBSITE_FEATURES_KEEP_TRACK":"Keep track of your favorite TV shows and Web channels","WEBSITE_FEATURES_KEEP_TRACK_P1":"Get a calendar visualization and notifications for new episodes of your favorite series and web channels.","WEBSITE_FEATURES_POWER_USER":"Power user features","WEBSITE_FEATURES_POWER_USER_P1":"Play in external player","WEBSITE_FEATURES_POWER_USER_P2":"Play from a torrent file or magnet link","WEBSITE_FEATURES_POWER_USER_P3":"Import to your library from Facebook likes or local disk","WEBSITE_ADD_ONS":"Addons","WEBSITE_ADD_ONS_P1":"All of the video content Stremio provides get sourced through an addon system - no content or content provider has been built into the app.","WEBSITE_ADD_ONS_P2":"There are two groups of addons available: official and community addons.","WEBSITE_ADD_ONS_P3":"The official ones are developed and hosted by Stremio, whereas community addons are created by our community members, who also host them.","WEBSITE_ADDONS_OFFICIAL":"Official addons","WEBSITE_ADDONS_WATCHUB":"Stream your favourite movies, series and shows from providers like iTunes, Hulu, Amazon and other UK/US services.","WEBSITE_ADDONS_YOUTUBE":"Watch your favourite YouTube channels ad-free and get notifications for new uploads from the contributors you follow.","WEBSITE_ADDONS_FILMON":"Watch live TV, movies and social television for free. 600 TV channels, 45,000 free movies, documentaries and more.","WEBSITE_ADDONS_OPENSUBTITLES":"Movie and TV subtitles in multiple languages, thousands of translated subtitles uploaded every day.","WEBSITE_ADDONS_COMMUNITY":"Community addons","WEBSITE_ADDONS_FILMON_VOD":"Watch video on demand from Filmon.tv","WEBSITE_ADDONS_TWICH":"Watch live streams from Twitch.tv - a video streaming platform for the e-sports industry.","WEBSITE_ADDONS_VODO":"Watch indie movies absolutely free of charge.","WEBSITE_ADDONS_NETFLIX":"Watch Netflix movies and web series.","WEBSITE_ADDONS_CREATE":"Create an addon","WEBSITE_ADDONS_CREATE_P1":"If you wish, you can develop your own addon. This way, you can give yourself and our community access to new video content, and reach a new, targeted audience of millions of users around the world.","WEBSITE_ADDONS_START_CREATE":"To get started, visit the Stremio Addon SDK page:","WEBSITE_DOWNLOADS":"Downloads","WEBSITE_DOWNLOADS_P1":"For optimal performance, we recommend that you use the latest available version of the Stremio apps. If for some reason, however, you would like to use an older version, you can download it here.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio for Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio for macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio for Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio for Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio for iOS (limited version)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"The Stremio platform is open source and you can easily create an addon for content that is currently not sourced.","WEBSITE_CONTRIBUTE_WHY":"Why should you create an addon?","WEBSITE_CONTRIBUTE_WHY_P1":"Reach new audience for your video content","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio’s user base is growing rapidly - within the first year of the launch, Stremio had gained 1 million users around the world, and in the second year of the platform’s existence this number grew to 2.5 million.","WEBSITE_CONTRIBUTE_WHY_P3":"With your addon, you can easily reach this audience and distribute your video content to them.","WEBSITE_CONTRIBUTE_ALL":"Watch your favourite movies, videos, series and channels in one single place.","WEBSITE_CONTRIBUTE_ALL_P1":"You’re a fan of a particular type of content not available on Stremio yet? Create an addon for it and enjoy watching your favourite videos in one of the largest and easiest to use entertainment hubs on the market.","WEBSITE_CONTRIBUTE_ALL_P2":"On top of that, you’ll get the endless gratitude of other like-minded Stremio community members.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetize your addon and earn money with its help","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Once you develop a new addon for Stremio, you can easily monetize it through a number of different ways. If you are considering this, feel free to get in touch with us at ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - we would be happy to consult and advise you about addon monetization options.","WEBSITE_CONTRIBUTE_TRANSLATE":"Become a volunteer translator","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"If you want to enjoy the Stremio apps in different languages, you can join our community of volunteer translators. They help us add versions of the Stremio in many different languages.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Are you eager to get started?","WEBSITE_TRANSALTE_STREMIO":"Translate Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Official communities","WEBSITE_COMMUNITY_OFFICIALS_P1":"Become a part of the growing Stremio community. Follow us on social media and don’t be shy to say hello - we love hearing from our fans! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Unofficial communities","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partners and supporters","WEBSITE_COMMUNITY_GOODIES":"Stremio goodies","WEBSITE_COMMUNITY_WALLPAPERS":"Wallpapers","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"Contact us","WEBSITE_CONTACT_US_P1":"If you have any questions, comments or suggestions, feel free to get in touch with us through the contact form below.","WEBSITE_CONTACT_US_P2":"Keep in mind that we are located in Bulgaria so there may be a delay in addressing your query due to time zone differences.","WEBSITE_CONTACT_US_SUCCESS":"Your message has been sent. We will get back to you at our earliest convenience.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Please enter a valid email!","WEBSITE_CONTACT_US_Q_RELATED_TO":"What is your question related to?","WEBSITE_CONTACT_US_Q_OS":"What is your Operation System?","WEBSITE_CONTACT_US_PH_EMAIL":"Your E-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Message","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"SEND","WEBSITE_CONTACT_US_Q_1":"How to install?","WEBSITE_CONTACT_US_Q_2":"How to uninstall?","WEBSITE_CONTACT_US_Q_3":"(HTML) How to make lasagna?","WEBSITE_CONTACT_US_Q_4":"Addons","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Technology","WEBSITE_TECHNOLOGY_P1":"We love technology and mad science. </br> Here is what powers Stremio (it’s all open-source).","WEBSITE_TECHNOLOGY_P_QT":"Cross-platform software development at its best.","WEBSITE_TECHNOLOGY_P_MPV":"A free, open source, and cross-platform media player.","WEBSITE_TECHNOLOGY_P_RN":"React Native lets you build mobile apps using only JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework embedded into application to get multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm is a mobile platform and a replacement for SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js is an open-source, cross-platform, JavaScript runtime environment.","WEBSITE_TECHNOLOGY_P_RUST":"Rust is a multi-paradigm system programming language focused on safety, especially safe concurrency.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribute to the project","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"There are two ways you can contribute to Stremio and help us make the product even better.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"You can donate your valuable language skills by translating the platform...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"or","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... you can employ your coding skills for creating community addons. ","WEBSITE_TRANSLATE_STREMIO":"Translate Stremio","WEBSITE_404_OH_NO":"Uh-oh! The page you’re looking for is not here...","WEBSITE_GO_HOME":"Go home","WEBSITE_LINK_OTHER_DOWNLOADS":"Other downloads","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Support","WEBSITE_DOWNLOAD_4_0_BETA":"Download Stremio 4 beta Now","WEBSITE_GET_FOR_DESKTOP":"Get for desktop","WEBSITE_LINK_ADDON_COMPETITION":"Addon competition","WEBSITE_LINK_ART_CONTEST":"Art contest","WEBSITE_MY_ACCOUNT":"My account","WEBSITE_MAINPAGE_FAQ_001_H1":"What is Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio is a modern media center that gives you the freedom to watch everything you want.","WEBSITE_MAINPAGE_FAQ_002_H1":"How does it work?","WEBSITE_MAINPAGE_FAQ_002_P1":"Once you install Stremio on your device and create an account, all you have to do is to visit the addon catalog and install any addon you want, and you\'re good to go!","WEBSITE_MAINPAGE_FAQ_002_P2":"After that, you can go to the Discover or Board sections to start exploring content.","WEBSITE_MAINPAGE_FAQ_003_H1":"What can I watch here?","WEBSITE_MAINPAGE_FAQ_003_P1":"A lot: Movies, TV shows, Web channels, Sport, TV channels, listen to Podcasts and more. Thanks to our addon system, you can access a variety of content.","WEBSITE_MAINPAGE_FAQ_004_H1":"Is Stremio open-source?","WEBSITE_MAINPAGE_FAQ_004_P1":"Yes, you can check the following links: ${1}desktop app${2} and ${3}GitHub organization${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Is Stremio safe?","WEBSITE_MAINPAGE_FAQ_005_P1":"Yes: because it is open-source software, the code is publically auditable and you can review it yourself.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"How about my privacy?","WEBSITE_MAINPAGE_FAQ_006_P1":"We respect users\' privacy and do not collect any personal data besides the essential minimum to create and sync your account.","WEBSITE_MAINPAGE_FAQ_006_P2":"There is also a ${1}Guest mode${2} at signup, which requires no data whatsoever: in this mode, no calls are made to our backend. However, it comes at the expense of useful features, such as being able to sync your library across devices.","WEBSITE_MAINPAGE_FAQ_007_H1":"Can I cast to my TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Yes, we support Chromecast and you can cast both from desktop and mobile apps (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"How many addons does Stremio have?","WEBSITE_MAINPAGE_FAQ_008_P1":"As of late 2019, over 50 - for more information, check our addon catalog.","WEBSITE_MAINPAGE_FAQ_009_H1":"Can Stremio be extended beyond what\'s in the addon catalog?","WEBSITE_MAINPAGE_FAQ_009_P1":"Yes, you should check those: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"What devices does Stremio support?","WEBSITE_MAINPAGE_FAQ_010_P1":"We have desktop apps for Windows, Mac and Linux. For mobile, we support Android and iOS, although keep in mind that the iOS is limited in functionality (does not support most addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"There are many Android-based devices which you can run Stremio on, like NVIDIA Shield and Amazon Fire Stick, but we do not support them officially.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Can you add certain content to Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Sorry, we provide no content ourselves, but the more Stremio addons you have installed, the more content you will be able to find.","WEBSITE_MAINPAGE_FAQ_012_H1":"Can Stremio play magnet links?","WEBSITE_MAINPAGE_FAQ_012_P1":"Yes, and it can also play normal HTTP links and torrent files (drag and drop).","WEBSITE_MAINPAGE_FAQ_013_H1":"Can I download a video and watch offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Available offline is an upcoming feature, but if you allow Stremio to cache on your device (from the settings panel) you can watch the videos later without a connection.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nothing works, help me!","WEBSITE_MAINPAGE_FAQ_014_P1":"Are you sure you have installed addons? If yes, check with our ${1}help center${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"How does Stremio sustain it\'s development operations?","WEBSITE_MAINPAGE_FAQ_015_P1":"We run non-intrusive ads occasionally, but we\'re considering moving to a donation model.","WEBSITE_MAINPAGE_FAQ_015_P2":"For more questions, go to our ${1}help center${2}.","HELP_LEARN_MORE":"Help us learn more about you.","LIFESTYLE":"Lifestyle","SPORTS":"Sports","FOOD_HEALTH":"Food & health","BEAUTY_FASHION":"Beauty & Fashion","NEWS":"News","GAMING":"Gaming","SCIENCE_EDUCATION":"Science & education","MUSIC":"Music","TRAVEL":"Travel","LATE_NIGHT":"Late Night","REALITY":"Reality","COMEDY":"Comedy","DIY":"How to DIY","TECH":"Tech","CINEMA":"Cinema","CONTINUE":"Continue","SLOW_LOADING":"SLOW LOADING?","I_GIVE_UP":"I GIVE UP","LEARN_MORE":"Learn more","POOR_SOURCE":"This source is poorly available or your internet connection is not fast enough","PICK_CATEGORIES_ERR":"You have to pick at least 3 categories","ADJUST_TIMING":"Adjust timing with ","ADJUST_SIZE":"Adjust size with ","SEARCH_ANYTHING":"You Can Search Anything...","ALL_CATEGORIES":"All","SEARCH_CATEGORIES":"Movies, Series, YouTube & TV","SEARCH_PERSONS":"Actors, Directors & Writers","SEARCH_PROTOCOLS":"HTTP & Magnet Links","SEARCH_TYPES":"IMDB / TVDB links","WATCHED":"Watched","SHOW_LESS":"Show less","LAST_SEARCHES":"Last searches","CLEAR_HISTORY":"Clear history","CHOOSE_SOME":"CHOOSE SOME OF THIS:","NO_WEB_REMOTE":"Web Remote could not be loaded","STREMIO_OFFLINE":"Stremio is offline","STREMIO_EXPENSIVE_CONNECTION":"We\'ve detected that you are using a mobile data connection, do you want to continue?","USE_DATA":"Use data","WARNING":"Warning","MORE_INFO":"More Info ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Loading ...","STREMIO_TV_BACK_TO_LANGUAGES":"Back to languages","STREMIO_TV_REMOTE":"Remote","STREMIO_TV_GO_TO":"Go to:","STREMIO_TV_OR_SCAN":"or scan:","STREMIO_TV_ADDON_INSTRUCTIONS":"Please follow the instructions in order to install your preferred addons.","STREMIO_TV_LIVE_TV":"Live TV","STREMIO_TV_RESUME_WATCHING":"Resume Watching","STREMIO_TV_LOADING_BACKGROUND":"Loading Background","STREMIO_TV_CHECKING_AUTHENTICATION":"Checking Authentication","STREMIO_TV_LOADING_BOARD":"Loading Board","STREMIO_TV_LOGIN_HEADER_LINE_1":"We want our users to have the best possible personalized experience with our software.","STREMIO_TV_LOGIN_HEADER_LINE_2":"It is for this reason that we kindly ask you to make and/or login to your account.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Thank you for understanding,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"The Stremio Team","STREMIO_TV_REMOTE_INSTRUCTIONS":"In order to use the Web Remote with your Smartphone / Tablet / Desktop:","STREMIO_TV_WIFI_SETUP":"Wi-Fi Setup","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle did not detect a internet connection.","STREMIO_TV_WIFI_DETAILS_1":"Connect to:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Use password:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Open a web browser with the link:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Default","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"By Last Watched","STREMIO_TV_LIBRARY_SORT_NAME":"By Name","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"By Times Watched","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Season ${1}","STREMIO_TV_STREAMS_LOADING":"Loaded ${1} / ${2} addons...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} addon is still loading...","STREMIO_TV_PLAYER_SETTINGS":"Player settings","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Subtitles delay","STREMIO_TV_PLAYER_AUDIO_DELAY":"Audio delay","STREMIO_TV_PLAYER_VIDEO_SCALING":"Video scaling","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Unsupported stream source","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Failed opening external link","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Not adjustable in audio passthrough mode","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Play with ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Play with libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Switching to libVLC player due to a playback error","STREMIO_TV_ADDONS_TITLE":"Use Stremio on your Phone or PC to install or configure addons and press \\"Sync Addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Note: make sure you are using the same Stremio account","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sync Addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons successfully synchronized","STREMIO_TV_ADDONS_SYNC_FAILED":"Failed to synchronize addons","STREMIO_TV_META_LINK_FAILED":"Failed opening meta link","STREMIO_TV_CATALOG_LOADING":"Catalog still loading...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Interface language updated","STREMIO_TV_SETTINGS_THEME_UPDATED":"Theme updated","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Default Player","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"External Player","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferred Language","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Secondary Preferred Language","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possible playback issues on some devices","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Some video formats might not work","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"No caching","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Default","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Soft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Fast","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Fast","STREMIO_TV_SETTINGS_SERVER_URL":"Streaming server url","STREMIO_TV_SETTINGS_SERVER_VERSION":"Server version","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Unknown","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio version","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Edit server url","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Enter a streaming server url","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Show statistics while loading","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"To read Stremio\'s Privacy Policy, visit:","STREMIO_TV_SETTINGS_TOS_TEXT":"To read Stremio\'s Terms and Conditions, visit:","STREMIO_TV_NAV_SEARCH":"Search","STREMIO_TV_NAV_HOME":"Home","STREMIO_TV_NAV_DISCOVER":"Discover","STREMIO_TV_NAV_LIBRARY":"Library","STREMIO_TV_NAV_MOVIES":"Movies","STREMIO_TV_NAV_SERIES":"Series","STREMIO_TV_NAV_CHANNELS":"Channels","STREMIO_TV_NAV_TV":"Live TV","STREMIO_TV_NAV_SETTINGS":"Settings","STREMIO_TV_NAV_ADDONS":"Addons","STREMIO_TV_LOGIN_TITLE":"Link Account","STREMIO_TV_LOGIN_EXPIRES_IN":"Expires in","STREMIO_TV_LOGIN_STEP_ONE":"Scan QR Code above or go to","STREMIO_TV_LOGIN_STEP_TWO":"Log in to your Stremio account","STREMIO_TV_LOGIN_NEW_LINK":"Request a new link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Login code refreshed","STREMIO_TV_SEARCH_PLACEHOLDER":"Type something","STREMIO_TV_SEARCH_NO_ADDONS":"No addons were requested for catalogs!","STREMIO_TV_SEARCH_BUTTON":"Search","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Search History","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"You can search for Titles, Actors, Channels and more...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Clear Search History","STREMIO_TV_FILTERS_DESCRIPTION":"Choose from one of the filters below","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"Filters","SETTINGS":"Settings","ACCOUNT":"Account","LOGOUT":"Logout","THEMES":"Themes","PLAYBACK":"Playback","PLAYBACK_SPEED":"Playback Speed","AUDIO_TRACKS":"Audio Tracks","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Videos","SERVER":"Server","LINKS":"Links","ABOUT":"About","INTERFACE":"Interface","ANIMATIONS":"Animations","STATUS":"Status","LANGUAGE":"Language","SIZE":"Size","DELAY":"Delay","BOLD":"Bold","OPACITY":"Opacity","TEXT_COLOR":"Text Color","OUTLINE_COLOR":"Outline Color","BACKGROUND_COLOR":"Background Color","BACKGROUND_BLUR":"Background Blur","SEEK_TIME_DURATION":"Seek Time Duration","AUTO_PLAY":"Auto-Play Next Episode","PLAY_NOW":"Play Now","MARK_AS_WATCHED":"Mark as Watched","MARK_AS_UNWATCHED":"Mark as Unwatched","REWIND_TO_BEGINNING":"Rewind to Beginning","CONTINUE_WATCHING":"Continue Watching","ALL":"All","SECONDS":"seconds","ON":"ON","OFF":"OFF","RELOAD":"Reload","EDIT_URL":"Edit URL","NONE":"None","EMBEDDED":"Embedded","REMOTE_SWITCH_DEVICES":"Switch Devices","REMOTE_VIDEOS":"Videos","REMOTE_ADJUST_TIMING":"Adjust timing","REMOTE_ADJUST_SIZE":"Adjust size","REMOTE_COULD_NOT_BE_LOADED":"Web Remote could not be loaded","REMOTE_RETRY":"Retry","TORRENT_PROFILE_DEFAULT":"Default","TORRENT_PROFILE_SOFT":"Soft","TORRENT_PROFILE_FAST":"Fast","TORRENT_PROFILE_ULTRA_FAST":"Ultra Fast","FAQ_001_H1":"What is Stremio?","FAQ_001_P1":"Stremio is a media center software designed for video entertainment with ease of use in mind. Stremio allows you to organize &amp; watch your own collection of movies, series, channels and live TV.","FAQ_001_P2":"Stremio collect the content it shows you from your local disk and our addons system.","FAQ_001_P3":"It will also notify you when new episodes/videos/movies you\'re interested in come out, and provide movie recommendations for you.","FAQ_02_H1":"How does Stremio compare to Kodi and Plex?","FAQ_02_P1":"We are inspired by those two pieces of software. But we have different goals - Stremio is specifically targeted towards entertainment video, and strives to become the mainstream solution for that by being very easy to use.","FAQ_02_P2":"Stremio will never be as customizable and feature-rich as Kodi and Plex, but it is significantly easier to use. Just ${1} get it and see ${2} :)","FAQ_03_H1":"How does Stremio compare to Netflix?","FAQ_03_P1":"Again, Netflix is one of our inspirations. We strive to achieve the user experience of Netflix, plus a lot of added goodies. But most importantly, we\'re giving you the freedom to manage your own library and add new content sources with our addon system.","FAQ_03_P2":"That makes Stremio infinitely extendable, so when you use Stremio, you\'re never limited to the content Netflix decides to license. For example, through Stremio you can watch content from ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} and even ${9}Netflix${10} itself!","FAQ_04_H1":"How does Stremio compare to Flipboard?","FAQ_04_P1":"We don’t get that question that often, except when talking to start-up people :)","FAQ_04_P2":"Stremio is by design a content aggregator, which essentially makes it Flipboard for video. This is very apparent in our Board section, which gives you catalogues and new episode/new video notifications for what you follow, just like Flipboard.","FAQ_05_H1":"How does Stremio compare to Popcorn Time?","FAQ_05_P1":"Stremio and Popcorn Time are similar in user interface, because there aren’t many ways to do video entertainment catalogues right :)","FAQ_05_P2":"But while Popcorn Time is focused on streaming torrents from specific sources, Stremio is unrestricted and is merely a content aggregator - it’s not locked into a specific content source.","FAQ_05_P3":"Furthermore, we do not provide any torrent addons by default, so Stremio does not cover the Popcorn Time use-case with official functionality.","FAQ_05_P4":"Another notable difference is that Popcorn Time is completely open source, while Stremio is ${1} partially open source${2}.","FAQ_06_H1":"Will you add this movie/series?","FAQ_06_P1":"No, sorry :(","FAQ_06_P2":"As is mentioned in most of the other questions, Stremio does not provide any content by itself - everything is added through the addons system. In case you have a content request, you can use the “Report” button in the Player, which will send an email to the author of the addon you’re currently using.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Will you create addon for X?","FAQ_08_P1":"It\'s entirely possible.","FAQ_08_P2":"If you have an idea for an addon, drop us a line at ${1}office@stremio.com${2}, but please make sure your addon idea will not infringe on any copyrights or terms of use.","FAQ_08_P3":"At the moment, the next things on our roadmap are addons for FandangoNOW, Filmon.tv video on demand and Crunchyroll.","FAQ_09_H1":"Does Stremio use BitTorrent?","FAQ_09_P1":"Yes, Stremio supports BitTorrent as a streaming protocol. You can use that either with a torrent addon, or by drag-and-dropping a .torrent file into Stremio, or by pasting a magnet link into the Search Bar.","FAQ_09_P2":"Please note that the only official addon using BitTorrent is ${1}Vodo${2}, which provides indie content, all permitted to be distributed with BitTorrent.","FAQ_09_P3":"We do not support use of any third-party addons which may enable copyright infringement.","FAQ_10_H1":"What can I watch in Stremio with the official addons?","FAQ_10_P1":"By default, you can watch Filmon.tv, YouTube and Vodo content within Stremio itself, with it’s embedded player. Additionally, we have an addon for Twitch.tv and a few others.","FAQ_10_P2":"This combined provides a selection of:","FAQ_10_L1":"Popular TV channels, provided by Filmon.tv - for example E4, BBC, Bollyworld TV","FAQ_10_L2":"Everything from YouTube - for example BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indie movies with Vodo","FAQ_10_L4":"Online gaming broadcasts with Twitch.tv","FAQ_10_P3":"Additionally, there are many content sources provided with Guidebox and the Netflix addons, which <b>do not</b> play entirely inside Stremio, but would redirect to the given service. For example, the Guidebox addon would give you a selection of movies you can stream in the US for free, from services like TubiTV and Crackle.","FAQ_11_H1":"Stremio won\'t install, what should I do?","FAQ_11_P1":"If you\'re on Windows, try ${1}this alternative installer${2}.","FAQ_11_P2":"If you\'re on Mac OS X, please be aware that we don\'t support anything older than OS X Mavericks (10.9).","FAQ_11_P3":"If you\'re on Linux, be aware that we only support 64 bit (x64) Linux at the moment.","FAQ_11_P4":"If you still can\'t resolve your problem, please write us at our ${1}Facebook group${2}.","FAQ_12_H1":"Why does my anti-virus complain? Is Stremio safe?","FAQ_12_P1":"We assure you Stremio is ${1}100% clean${2}.","FAQ_12_P2":"Your antivirus is complaining because we include advertising in our installer, which some anti-virus programs recognize as ad-ware.","FAQ_12_P3":"If you\'re still unsure, you can try our ${1}alternative installer${2}.","FAQ_13_H1":"How can I make an addon?","FAQ_13_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_13_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_13_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_14_H1":"How are addons published?","FAQ_14_P1":"When you create an addon and host, and put a <b>endpoint</b> field in your manifest, which points to a working addon address, the addon will automatically publish itself to our ${1}Addon catalogue${2}.","FAQ_14_P2":"This happens because the server part of the stremio-addons module automatically makes a call to our API to announce the addon. When our API validates your <b>endpoint</b> as a valid addon, it will start showing in the catalogue.","FAQ_15_H1":"Can I run Stremio in my browser?","FAQ_15_P1":"Not at the moment, but this is coming!","FAQ_15_P2":"If you\'re curious to see an Alpha, you can see it here: ${1}alpha4.strem.io${2}. Keep in mind streaming is disabled on this alpha. We support Chrome, Firefox, Opera and Edge.","FAQ_16_H1":"Casting to TV doesn\'t work / subtitles don\'t work","FAQ_16_P1":"Casting to TV uses the DLNA technology which is very inconsistent between different TV brands and models. For that reason, we do not have the ability to test it in every case, so it\'s far from perfect. Despite this, we\'re working on improving it constantly but we cannot give you a time estimate on when DLNA will start working properly with your TV.","FAQ_16_P2":"If you don\'t even see your TV in the casting menu, please try disabling your network connection and re-enabling it (on Windows, right click the Network and use Enable/Disable), as well as restarting your router, TV and PC.","FAQ_16_P3":"If you are still encountering issues, you can help us by sending your TV brand and model information at ${1}office@stremio.com${2}.","FAQ_16_P4":"In the meantime, we recommend Chromecast, which we support very well, or simply plugging in your TV to your PC with an HDMI cable.","FAQ_17_H1":"Stremio freezes and/or crashes, what can I do?","FAQ_17_P1":"First of all, if you\'re using Windows 7 with AVG anti-virus: we have a problem with that combination. The problem is in AVG itself, and there\'s no reasonable way to resolve it on our end. Unfortunately, exceptions or disabling the anti-virus won\'t work. The only solution is to replace AVG with something else.","FAQ_17_P2":"If that\'s not the issue, but you\'re still using Windows, please update to the latest service pack and update/re-install your GPU drivers, then try again.","FAQ_17_P3":"If you\'re problem is still not resolved, or you\'re using a Mac or Linux, please write us reporting the exact details of the problem at ${1}our Facebook group${2}.","FAQ_18_H1":"How can I make an addon?","FAQ_18_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_18_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_18_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_19_H1":"Why is Stremio taking disk space?","FAQ_19_P1":"Stremio has a <b>local cache</b> to temporarily keep the video files you stream.","FAQ_19_P2":"This has two benefits: first, it allows Stremio to pre-buffer the video ahead so as to ensure smoother streaming. Second, it keeps the videos in the local cache so you can continue watching them offline.","FAQ_19_P3":"How much Stremio keeps depends on the <b>Cache</b> setting in the Settings panel. Stremio may keep up to the set amount (e.g. 2GB) on your disk, unless the currently streamed video is larger than that, in which case it has to allocate enough storage to keep it until you\'re streaming it.","FAQ_20_H1":"Where is the cache folder?","FAQ_20_P1":"On Windows, it\'s stremio-cache in the drive you picked in Settings (e.g. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"On MacOS, it\'s \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"On Linux, it\'s \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"I get \\"Streaming server is not found\\" error, what can I do?","FAQ_21_P1":"If you get this error, it means one of few things:","FAQ_21_P2":"1) You are trying to use an addon backed by YouTube/BitTorrent source, through our ${1}web version${2}. In this case, you should install our desktop version from ${3}our website${4}.","FAQ_21_P3":"2) Something is wrong with your Stremio installation. In this case, try re-installing our latest desktop version from ${1}the website${2}. If this does not help, try disabling anti-virus programs and firewalls, restarting your PC and trying again. If this does not work too, please write us at our ${3}our Facebook group${4}.","FAQ_22_H1":"I cannot see/use most addons on iOS","FAQ_22_P1":"Because of restrictions in the Apple App Store terms and conditions, we have restricted the iOS application only to a particular set of addons.","FAQ_22_P2":"But rest assured - there will be more addons for iOS in the future, and we may also add an integration that will allow you to use all Stremio addons thanks to connecting the iOS app to the Stremio Streaming Server."}')},53989:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Filmo","TYPE_series":"Serio","TYPE_tv":"Televida Kanalo","TYPE_channel":"Kanalo","TYPE_other":"Alia","TYPE_movie_PL":"Filmoj","TYPE_series_PL":"Serioj","TYPE_tv_PL":"Televidaj kanaloj","TYPE_channel_PL":"Kanaloj","TYPE_other_PL":"Aliaj","TYPE_ALL":"All","TYPE":"Type","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"Video","BACK":"Malantaŭen","MORE":"Pli","DONE":"Farite","COPY":"Kopii","SUCCESS":"Success","ERROR":"Error","SETTINGS_CASTING_MODE_PICKER":"Casting mode","CASTING_MODE_HLSV2":"Default","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"No transcoding","Discover":"Esplori","Board":"Tabulo","Library":"Biblioteko","My Library":"Mia biblioteko","Calendar":"Kalendaro","NOTIFICATION_ONLINE":"Nun vi estas enreta","NOTIFICATION_OFFLINE":"Nune vi estas eksterreta","INTERNET_CONNECTION":"Reta Konekto","STORAGE_FULL_TITLE":"Atentu: Via datumstoro estas plena!","STORAGE_FULL_TEXT":"Stremio ne kapablos savi viajn agordojn, preferojn aŭ ensalut-informacion. Konsideru re-ŝalti aŭ re-instali Stremio-n.","SEARCH":"serĉi","SEARCH_NO_RESULTS":"Neniuj rezultoj trovitaj","SEARCH_EXPLANATION_CONTENT":"Serĉi filmojn, seriojn, Youtube kaj TV-kanalojn","SEARCH_EXPLANATION_PEOPLE":"Serĉi aktorojn, reĝisorojn kaj verkistojn","SEARCH_PASTE_LINKS":"Algui HTTP kaj Magnetajn ligilojn","SEARCH_OR_PASTE_LINK":"Serĉi aŭ alglui ligilon","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"Aldoni al Biblioteko","REMOVE_FROM_LIB":"Forigi el Biblioteko","ADDED_TO_LIB":"Aldonite al via Biblioteko","REMOVED_FROM_LIB":"Forigita el via Biblioteko","TRAILER":"Film-anonco (trailer)","WATCH_TRAILER":"Spekti Film-anoncon","WATCH_NOW":"Spekti Nun","SHOW":"Spekti","SHOW_MOVIE":"Montri Filmon","WATCH_RANDOM":"Spekti ion hazarze","IMDB_RATING":"IMDb Poentaro","YEAR":"Jaro","DIRECTOR":"Reĝisoro","WRITER":"Verkisto","LEAD_ACTORS":"Ĉefaj geaktoroj","CAST":"Rolularo","CREW":"Crew","SHOW_MORE_CAST":"Montri pli »","AIRED":"Aerumita","SEASONS":"Sezonoj","GENRE":"Ĝenro","GENRE_ALL":"All genres","CATALOG":"Katalogo","SUMMARY":"Resumo","SHOW_MORE":"Montri pli","SIMILAR":"Simila","UPCOMING":"Venonta","ENDED":"Finiĝita","DURATION":"Daŭro","FEATURED":"Elstara","METADATA":"Metadatoj","CATEGORY":"Kategorio","LINKS_GENRES":"Ĝenroj","LINKS_CAST":"Aktoroj","LINKS_DIRECTORS":"Reĝisoroj","SEARCH_VIDEOS":"serĉi videojn","SEARCH_PLACEHOLDER":"Serĉi aŭ algui ligilon","ADDON":"aldonaĵo","ADDONS":"Aldonaĵoj","OFFICIAL":"oficiala","ADDONS_OFFICIAL":"Oficialaj Stremio-aj Aldonaĵoj","ADDONS_POPULAR":"Populara ĉe via regiono","ADDON_FREE":"senpaga","ADDON_PEERED":"peered","ADDON_SUBSCRIPTION":"Abono","ADDON_STREAM_GEORESTRICTED":"Ne disponebla ĉe via regiono","ADDON_STREAM_OFFLINECACHE":"Eksterreta Kaŝmemoro","ADDON_STREAM_LOCALFILE":"loka dosiero","SHARE_ADDON":"Konigi Aldonaĵon","AVAILABLE_STREAMS":"Disponeblaj elsendfluoj","NO_STREAM":"Neniu elsendfluo estis trovita","ALL_ADDONS":"All","INSTALL_MORE_ADDONS":"Por trovi pli elsendfluojn, bonvolu instalu pli aldonaĵojn","STREAM_NOT_SUPPORTED":"La elektita elsendfluo ne estas suportata en ĉi plataformo.","ADDON_CATALOGUE":"Montri ĉiujn aldonaĵojn »","ADDON_CATALOGUE_MORE":"Instali aldonaĵojn","REPO_ADDED":"Deponejo aldonita","ADDON_REPO_EXIST_ERR":"Ĉi tiu aldonaĵa kolekto jam ekzistas","ADDON_REPO_ERR":"Eraro okazis dum aldonado de kolekto","ADDON_ADD_ERR":"Eraro okazis dum aldonado de aldonaĵo","ERR_ADDON_PROTECTED":"Oni ne povas malinstali la aldonaĵon, ĝi estas protektita","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Io misfunkciis - aŭtentikigo eble malsukcesis","ERR_NOT_COLLECTION_URL":"Ĉi tiu ne estas URL por kolekto ","ERR_NOT_ADDON_URL":"Ĉi tiu ne estas valida URL por aldonaĵo","ERR_DETECTFROMURL":"Oni ne povas trovi aldonaĵon/kolekton el ĉi tiu URL","ADDON_DUPLICATE_WARNING":"Atentu: duobligita aldonaĵo","ADDON_COLLECTION_SET_FAILED":"Sinkronigado de instalitaj aldonaĵoj al via konto malsukcesis","SETTINGS_DATA_EXPORT":"Eksportu uzantajn datumojn","ADDON_PULL_FAILED":"Sinkronigado de instalitaj aldonaĵoj el via konto malsukcesis","REFRESH_ON_CLICK":"Alklaku por reprovi","STILL_IN_THEATER":"Filmo ankoraŭ en kinejoj","WATCH_IN_CINEMA":"Spektu ĝin ĉe via loka kinejo","IN_THEATER":"Ĉe kinejo","GET_TICKETS":"Aĉeti boletojn","UPCOMING_EPISODE":"Venonta Epizodo","UPCOMING_EPISODE_MESSAGE":"Ĉi tiu epizodo estos elsendita","MISSING_DATE_EPISODE":"Dato de epizodo mankas","MISSING_DATE_EPISODE_MESSAGE":"Eble ĉi tiu epizodo ne elsendiĝis ankoraŭ","CHANNEL_NOT_SCRAPED":"Ĉi tiu kanalo ankoraŭ ne estis akirita.<br>Bonvolu reveni post kelkaj minutoj.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Aldonu ĝin al via biblioteko por ricevi sciigon kiam ĝi estos disponebla.","GET_NOTIFIED_WHEN_AVAILABLE":"Vi estos sciigita kiam ĝi estos disponebla.","WARNING_STREAMING_SERVER":"Atentu: loka elsendfluservilo ne estis trovita. Elsendfluado el lokaj dosieroj, Youtube kaj BitTorrent ne estos disponeblaj.","WARNING_STREAMING_SERVER_DISMISS":"Dismiss","WARNING_STREAMING_SERVER_LATER":"Later","DECODER_WARNING":"Atentu: ĉi tiu video eble ne estas subtenita de via aparataro (hardware). Sciu, ke la ludado povas esti malrapida.","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"Ho ve, ludila eraro!","PLAYER_ERROR_LOOKSLIKE":"Ŝajnas ke","PLAYER_ORIENTATION":"Orientiĝo de la ludilo","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Ŝlosita","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensilo","PLAYER_ORIENTATION_LANDSCAPE":"Orientiĝo de la ludilo ŝlosita kiel pejzaĝa reĝimo","PLAYER_ORIENTATION_SENSOR":"Aŭtomata orientiĝo de la ludilo (per sensilo)","PLAYER_PLAYBACK_SPEED":"Rapideco","PLAYER_PLAYBACK_ERROR":"Ludila eraro, bonvolu reprovi","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Nekonata eraro","PLAYER_PLAYBACK_ERROR_DEFAULT":"Pardonon! Ĉi tiu video ne povas esti ludita per {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Subtitles Languages","PLAYER_SUBTITLES_VARIANTS":"Subtitles Variants","PLAYER_SUBTITLES_SETTINGS":"Subtitles Settings","PLAYER_SUBTITLES_DISABLED":"Subtitles are disabled","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Vertical Position","PLAYER_SUBTITLES_LOADED":"Subtitles loaded","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Embedded subtitles loaded","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Exclusive subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Subtitles from {{origin}} loaded","PLAYER_PLAY":"Play","PLAYER_PAUSE":"Pause","PLAYER_NEXT_VIDEO":"Next Video","PLAYER_MUTE":"Mute","PLAYER_UNMUTE":"Unmute","PLAYER_OPEN_IN_EXTERNAL":"Open in external player","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Play in {{device}}","PLAYER_LIVE":"Live","PLAYER_NEXT_VIDEO_TITLE":"Sekvos","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Forĵeti","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Spekti nun","PLAYER_COPY_STREAM_SUCCESS":"Stream link was copied to your clipboard","PLAYER_COPY_STREAM_ERROR":"Failed to copy stream link","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","STREAMING_FROM":"elsendado el","CASTING_TO":"Elsendante al","NETWORK_STATUS":"Reta stato","STREAM_SPEED":"Elsendada rapideco:","STREAM_BUFFERED":"Buffered:","PEERS_INFO":"Peers Information","PEERS_ACTIVE":"Active:","PEERS_CONNECTED":"Connected:","PEERS_WAITING":"Atendante:","TRANSCODING_WARNING":"Atentu: transcoding video.","STREAM_LOADING":"ŝargante...","PLAYING_LOCAL":"ludante el loka dosiero","PLAYING_CACHE":"ludante el kaŝmemoro","WRONG_SUBS":"Ĉu malĝustaj subtekstoj?","ERR_SUBS_LOADING_TITLE":"Eraro dum ŝarĝo de subtekstoj","ERR_SUBS_LOADING":"Failed loading subtitles: this could be an issue with the addon you are using, or with your network connection","WARN_FOLLOWING_SUB_ADDONS_FAILED":"The following subtitle addons failed","ERR_CASTING_UPDATE_TITLE":"Could not update casting device info: streaming server might be offline","CHOOSE_DEVICE":"Elektu aparaton per kiun spekti","NO_CAST_DEVICES":"Ne disponeblas aparatoj por elsendi.","NO_SETTINGS":"Agordoj ne disponeblas.","PHONE_TABLET":"Phone / Tablet","SUBTITLES":"Subtekstoj","SUBTITLES_CHANGE":"Ŝangi subtekstoj por ","SUBTITLES_CHANGE_NONE":"Subtitloj por ĉi lingvo ne disponeblas, pardonon.","SUBTITLES_CHANGE_ACIVE":"Currently subtitles &#35;{{subtitlesDialog.activeIdx + 1}} are activated. Click \\"Continue\\" to activate subtitles &#35;{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Alternative,","SUBTITLES_ADJUST_DELAY":"Sinkronigi subtekstoj:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Aŭ uzu <span>G</span> / <span>H</span> klavojn dum ludado por sinkronigi.","SUBTITLES_ADJUST_DELAY_TIP":"KONSILO: vi povas uzi <span>G</span> / <span>H</span> klavojn dum ludado por sinkronigi.","SUBTITLES_DELAY":"Subtekstoj sinkronado:","SUBTITLES_LOADING":"Ŝarĝante subtekstoj...","SUBTITLES_UNAVAILABLE":"Eksteraj subtekstoj ne disponeblas","SUBTITLES_DISABLED":"Malebligita","EXTERNAL_PLAYER_DISABLED":"Disabled","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Allow Choosing","EXTERNAL_PLAYER_HINT":"Hint: There is a setting to allow always opening with external player","DONT_SHOW_AGAIN":"Don\'t show again","SERVICE_INSTALL":"Install","AUDIO":"Audio","DEFAULT_LANGUAGE":"Default Language","DEFAULT_SECONDARY_LANGUAGE":"Default Secondary Language","SEASON":"Sezono","EPISODE":"Episodo","EPISODE_ABBREVIATION":"EP","SPECIAL":"Special","SORT":"ordigi","SORT_BY":"Ordigi laŭ ","FILTER":"filtri","SORT_TRENDING":"tendenca","SORT_RECENT":"lastatempa","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"poentaro","SORT_WATCHED":"spektita","SORT_YEAR":"jaro","SELECT_TYPE":"Select type","SELECT_SORT":"Select sort","SELECT_CATALOG":"Select catalog","SELECT_GENRE":"Select genre","SORT_LASTWATCHED":"By last watched","SORT_NAME":"By name","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"By times watched","SORT_NOTWATCHED":"not watched","New for You":"Nova por vi","New Episodes":"Novaj Epizodoj","New Videos":"Novaj Videoj","Recommendations":"Rekomendoj","LIBRARY_RESUME":"Daŭrigi","LIBRARY_PLAY":"Play","LIBRARY_DETAILS":"Detaloj","LIBRARY_RESUME_DISMISS":"Forĵeti","LIBRARY_CLEAR_PROGRESS":"Clear Progress","LIBRARY_REMOVE":"Remove","LIBRARY_NOT_LOGGED_IN":"Library is only available for logged in users","CALENDAR_NOT_LOGGED_IN":"Calendar is only available for logged in users","NOT_LOGGED_IN_CLOUD":"Access your favorite movies and TV shows anytime, anywhere","NOT_LOGGED_IN_RECOMMENDATIONS":"Recommendations tailored to your viewing history","NOT_LOGGED_IN_NOTIFICATIONS":"Never miss an episode again","NOT_LOGGED_IN_CALENDAR":"Schedule your personal watching calendar","DISCOVER_FEATURED":"Featured","DISCOVER_TOP":"Top","DISCOVER_OSCAR":"Oskar-premiitoj","DISCOVER_WARNING_TITLE":"Ho ve!","DISCOVER_EMPTY_CATALOG":"Ĉi tiu aldonaĵo resendas malplenan enhavon.","DISCOVER_ADULT_WARNING":"La enhavo estas videbla nur por plenkreskuloj. Ĉu vi estas +18-aĝa?","DISCOVER_NOADDON_WARNING":"Atentu: no Stremio addon active for this type. Showing saved items, nothing here will update.","DISCOVER_LOAD_ERR":"La enhavo ne ŝargis, eraro okazis.","DISCOVER_ADDON_UNINSTALLED":"Ĉi tiu enhavo ne plu disponeblas, vi eble malinstalis la aldonaĵon.","UNINSTALL_THIS_ADDON":"Malinstali ĉi tiun aldonaĵon","ERR_ADDON_NOT_INSTALLED":"Ĉi tiu aldonaĵo ne estas instalita. Instali nun?","DETAIL_RECEIVE_NOTIF_SERIES":"Ricevi sciigoj de novaj epizodoj Receive notifications for new episodes","DETAIL_RECEIVE_NOTIF_VIDEOS":"Ricevi sciigoj de novaj videoj","SIDEBAR_SHOW_STREAMS":"Montri elsendojn","RELAUNCH":"Remalfermi nun!","UPGRADE":"Nova versio estas disponebla! Ĝisdatigu Stremio-n a la lasta versio!","RELOAD_UI":"Reŝargi la uzantan interfacon","MANUAL_UPDATE_TITLE":"Ĝisdatigu vian Stremio version","MANUAL_UPDATE_LINE1":"Vi estas uzante malĝisdatiga version de Stremio, kion tute ne estas rekomendita.","MANUAL_UPDATE_LINE2":"Bonvolu ĝisdatigi kiel eble plej baldaŭ.","BUTTON_UPDATE_LATTER":"Ne nun","BUTTON_UPDATE_NOW":"Ĝisdatigi","ANONYMOUS_USER":"Anonima uzanto","DONT_HAVE_ACC":"Ĉu vi ankoraŭ ne havas konton?","HAVE_ACC":"Ĉu vi jam havas konton?","PASSWORD":"Pasvorto","PASSWORD_CONFIRM":"Konfirmu pasvorton","EMAIL":"Retpoŝto","FB_LOGIN":"Daŭri per Facebook","FB_NOTHINGSHARED":"Nenio estas disdonita sen via permeso","FB_NOPOST":"Ni ne afiŝos nenion en via nomo","OR":"aŭ","I_ACCEPT":"Mi akceptas la","I_ACCEPT_BY_CLICKING":"Alklakante la supran butonon mi atestas, ke mi akceptas la ","TOS":"Uzkondiĉoj","MUST_ACCEPT_TERMS":"Vi devas akcepti la uzkondiĉojn","PASSWORDS_NOMATCH":"Pasvortoj ne koincidas","SIGN_UP":"Registriĝi","SIGN_UP_EMAIL":"Registriĝi per retpoŝto","CLICK_TO_SIGN_UP":"Klaku ĉi por ensaluti.","LOG_IN":"Ensaluti","LOG_OUT":"Elsaluti","EXIT_FULLSCREEN":"Malplenekranigi","ENTER_FULLSCREEN":"Plenekranigi","PLAY_URL_MAGNET_LINK":"Ludi URL/Magneta ligilon","HELP_FEEDBACK":"Helpo kaj sugestoj","TERMS_OF_SERVICE":"Serv-kondiĉoj","PRIVACY_POLICY":"Privacy Policy","ABOUT_STREMIO":"Pri Stremio","USER_PANEL":"Uzantaj agordoj","LOGIN_LABEL":"Login","GUEST_LOGIN":"Ensaluti kiel gasto","GUEST_LOGIN_NOTICE":"Gasta ensaluto ne estas rekomendita. Uzado de regula ensaluto permesas al Stremio sinkronigi vian Bibliotekon, ricevi sciigojn pri viaj plej ŝatataj serioj/kanaloj. Ĉu vi certas, ke vi volas daŭrigi?","GUEST_LOGIN_NOTICE_2":"Gasta ensaluto ne estas rekomendita - vi ne havos sinkronigitajn sciigojn de Biblioteko kaj Estraro, kiuj estas esencaj funkcioj de Stremio. Ĉu vi certas, ke vi volas daŭrigi?","CLICK_HERE":"klaku ĉi-tie","WRONG_PASSWORD":"Erara retpoŝtadreso aŭ pasvorto. Se vi forgesis vian pasvorton, ","SET_A_PASS":"defini pasvorton","RESET_PASSWORD":"Restarigi pasvorton","FORGOT_PASSWORD":"Ĉu vi forgesis vian pasvorton?","EMAIL_USED_WITH_FB":"Ĉi tiu retpoŝtadreso jam estis uzata kun Facebook-ensaluto.","INVALID_EMAIL":"Bonvolu entajpi validan retpoŝtadreson","INVALID_PASSWORD":"Bonvolu entajpi validan pasvorton","CONN_ERR":"Eraro de konekto - Bonvolu reprovi poste.\\n\\nSe ĉi tiu eraro daŭras, malŝaltu fajroŝirmilojn/kontraŭvirusajn programojn (precipe Bitdefender).","IMPORT_FROM_GUEST":"Importu Bibliotekon el via gasta konto","RECEIVE_UPDATES_EMAIL":"Ricevu ĝisdatigojn al via retpoŝto de Stremio","LOGIN_FAILED":"Ensaluto malsukcesis.","SIGNUP_FAILED":"Aliĝo malsukcesis.","SEARCH_FAILED":"Serĉo malsukcesis","EMAIL_USED":"Ĉi tiu retpoŝtadreso jam estas uzata.","WAITING_FB_LOGIN":"Ensaluto per Facebook...","EXTERNAL_PLAYER_TITLE":"Ludi per ekstera ludilo","EXTERNAL_REMEMBER_PLAYER":"Ĉu vi volas memori vian selekton","EXTERNAL_ALWAYS_PLAY":"Jes","EXTERNAL_ONLY_ONCE":"Ne","BEST_FIT":"Best Fit","FIT_SCREEN":"Fit Screen","FILL":"Fill","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"Diru al ni pri tio, kion vi ŝatas","INTRO_TASTE_LONG":"Diru al ni pri tio, kion vi ŝatus spekti","INTRO_TASTE_PICK":"Pick {{interestsRemaining}} interests","INTRO_TASTE_PICK_MORE":"Pick {{interestsRemaining}} more interests","INTRO_TASTE_HELP_US":"Helpu nin lerni pli pri vi.","INTRO_TASTE_CHOOSE_THESE":"Elektu kelkajn el ĉi tiuj:","INTRO_TASTE_CHOOSE_MIN":"Elektu almenaŭ 3 kategoriojn","INTRO_TASTE_CHOOSE_MIN_ERR":"Vi devas elekti almenaŭ 3 kategoriojn!","INTRO_TASTE_LIFESTYLE":"Lifestyle","INTRO_TASTE_SPORTS":"Sportoj","INTRO_TASTE_FOOD_HEALTH":"Food & Health","INTRO_TASTE_BEAUTY_FASHION":"Beauty & Fashion","INTRO_TASTE_NEWS":"Novaĵoj","INTRO_TASTE_GAMING":"Gaming","INTRO_TASTE_SCIENCE_EDU":"Scienco kaj Edukado","INTRO_TASTE_MUSIC":"Musiko","INTRO_TASTE_TRAVEL":"Travel","INTRO_TASTE_LATE_NIGHT":"Late Night Show","INTRO_TASTE_REALITY":"Reality","INTRO_TASTE_COMEDY":"Komedio","INTRO_TASTE_DIY":"How to DIY","INTRO_TASTE_TECH":"Tech","INTRO_TASTE_CINEMA":"Cinema","ADDON_NOT_SUPPORTED":"Selektita aldonaĵo ne estas subtenata por ĉi tiu platformo.","ADDON_DISCLAIMER":"Using third-party addons will always be subject to your responsibility and the governing law of the jurisdiction you are located.","ADDON_ACTIVATE":"Ĉu aktivigi ĉi tiun aldonaĵon?","ADDON_REPO_ADD":"Addon collection URL","ADDON_ADD":"Add","INSTALL_ADDON":"Install addon","ADD_ADDON":"Add addon","ADD_ADDON_DESCRIPTION":"You can add an addon via an external link, which will appear under Installed addons.","PASTE_ADDON_URL":"Paste addon URL","WHATS_NEW":"Kio estas nova?","BUTTON_CONTINUE":"Continue","BUTTON_ACTIVATE":"Activate","BUTTON_ACTIVATED":"Activated","BUTTON_CANCEL":"Cancel","BUTTON_SUBMIT":"Submit","BUTTON_DISMISS_ALL":"Forĵeti ĉion","BUTTON_VIEW_ALL":"vidi ĉiujn","BUTTON_SEE_ALL":"Vidi ĉiujn","BUTTON_COLOR_TRANSPARENT":"Transparent","OPEN_IN_BROWSER":"Open in browser","LIB_EMPTY":"Your library looks empty. Find out how useful it is :) ","HOW_START":"Here is how you can start:","LIB_EMPTY_CAL":"Your Calendar shows series in your Library.","HOW_START_CAL":"Here is how you can add series:","LIB_EMPTY_BOARD":"Board shows notifications &amp; recommendations related to your Library.","HOW_START_BOARD_WAIT":"Please, add a few series or channels to your Library give us a few minutes to process :)","HOW_START_BOARD":"Here is how you can add series &amp; movies to it:","IMPORT_FB":"Import things you like from <span>Facebook</span>","IMPORT_TRAKT":"Import your media library from <span>Trakt</span>","IMPORT_DISCOVER":"Find interesting stuff from <span>Discover</span>","IMPORT_DISK":"Importu filmojn aŭ spektaklojn kiujn vi havas ĉe via <span>loka disko</span>","PLEASE_CREATE_ACC":"Please <u>create an account</u> to enable Library sync &amp; Board.","IMPORT_DISCOVER_SIGNUP":"Sign up and find interesting stuff from <span>Discover</span>","IMPORT_DISK_SIGNUP":"Sign up and import movies or shows you have on your <span>local disk</span>","LIB_EMPTY_CLOUD":"Cloud library","LIB_EMPTY_CLOUD_DESC":"Personal cloud library synced on all devices","LIB_EMPTY_EARLY":"Early bird","LIB_EMPTY_EARLY_DESC":"Receive notifications for new episodes","LIB_EMPTY_PERSONAL":"Personal","LIB_EMPTY_PERSONAL_DESC":"Get personal recommendations","LIB_EMPTY_CALENDAR_DESC":"Schedule your personal watching calendar","LIB_EMPTY_ALL":"Sign up to get all of these:","LIB_EMPTY_BEST":"Sign up to get best of Stremio","LIB_EMPTY_OTHER":"Sign up to enable Calendar & other cool features","CALENDAR_ADDED":"The Stremio calendar has been added to your default desktop calendar.","CALENDAR_ADDED_MSG":"If this does not work, please add this URL to your calendar application manually","TRAKT_EXPIRED":"Trakt authentication expired, please go to Settings and re-authenticate","TRAKT_REQUIRES_LOGIN":"Trakt error","TRAKT_REQUIRES_LOGIN_MSG":"You need to login","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","SETTINGS_LABEL":"Agordoj","SETTINGS_NAV_GENERAL":"General","SETTINGS_NAV_PLAYER":"Ludilo","SETTINGS_NAV_STREAMING":"Streaming","SETTINGS_NAV_SHORTCUTS":"Shortcuts","SETTINGS_SHORTCUT_RELOAD_APP":"Reload App","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Open Settings","SETTINGS_SHORTCUT_SWITCH_TABS":"Switch Tabs","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Cycle Through Tabs Forward","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Cycle Through Tabs Backward","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigate Between Menus","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Go to Search","SETTINGS_SHORTCUT_EXIT_BACK":"Exit / Go Back","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Toggle Playback Speed Menu","SETTINGS_SHORTCUT_MENU_VIDEOS":"Toggle Videos Menu","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Toggle Subtitles Menu","SETTINGS_SHORTCUT_MENU_INFO":"Toggle Info Menu","SETTINGS_SHORTCUT_FULLSCREEN":"Toggle Fullscreen","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Show Controls","SETTINGS_SHORTCUT_PLAY_PAUSE":"Play / Pause","SETTINGS_SHORTCUT_VOLUME_UP":"Volume Up","SETTINGS_SHORTCUT_VOLUME_DOWN":"Volume Down","SETTINGS_SHORTCUT_SEEK_NEXT":"Seek Next","SETTINGS_SHORTCUT_SEEK_PREV":"Seek Prev","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Seek Backward","SETTINGS_SHORTCUT_SEEK_FORWARD":"Seek Forward","SETTINGS_SHORTCUT_PLAY_NEXT":"Play Next","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Increase Subtitles Size","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Decrease Subtitles Size","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Increase Subtitles Delay","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Decrease Subtitles Delay","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Toggle Sidebar","SETTINGS_SHORTCUT_OR":"or","SETTINGS_SHORTCUT_TO":"to","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Authenticate","SETTINGS_FACEBOOK_IMPORT":"Import","SETTINGS_CALENDAR_SUBSCRIBE":"Subscribe","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Interface Language","SETTINGS_LAUNCH_STARTUP":"Launch on start-up","SETTINGS_VLC_DEFAULT":"Malfermi per VLC","SETTINGS_UI_LANGUAGE":"Interfaca Lingvo","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Escape key exit full screen","SETTINGS_GAMEPAD":"Enable gamepad support","SETTINGS_CLOSE_WINDOW":"Close app when window is closed","SETTINGS_SUBTITLES_LANGUAGE":"Default Subtitles Language","SETTINGS_SUBTITLES_SIZE":"Default Subtitles Size","SETTINGS_SUBTITLES_BACKGROUND":"Subtitles background","SETTINGS_SUBTITLES_COLOR":"Subtitles color","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Subtitles outline color","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Subtitles background color","SETTINGS_SEEK_KEY":"Arrow keys seek time","SETTINGS_SEEK_KEY_SHIFT":"Arrow keys seek time when Shift key is held","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Rewind & Fast-forward duration","SETTINGS_BINGE":"Auto-play next episode","SETTINGS_NEXT_VIDEO":"Show notification to start next episode","SETTINGS_NEXT_VIDEO_TRIGGER":"Show next episode notification for:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Next video popup duration","SETTINGS_PLAY_IN_BACKGROUND":"Play in background","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Play in external player","SETTINGS_RESIZE":"Auto-resize window before playing","SETTINGS_OVERRIDE_SERVER":"Override the streaming server URL (advanced)","SETTINGS_SERVER_URL":"Streaming server URL: ","SETTINGS_SERVER_AVAILABLE":"Streaming server is available.","SETTINGS_SERVER_UNAVAILABLE":"Streaming server is not available.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Error","SETTINGS_SERVER_CONFIGURE_TITLE":"Configure streaming server url","SETTINGS_SERVER_CONFIGURE_INPUT":"Enter a streaming server url","SETTINGS_SERVER_CACHE_SIZE":"Cache size","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent profile","SETTINGS_HTTPS_ENDPOINT":"Streaming HTTPS endpoint: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Always use latest Beta","SETTINGS_IMPORT_FB":"Importi el Facebook","SETTINGS_IMPORT_DISK":"Importi el loka disko","SETTINGS_IMPORT_TRAKT":"Import from Trakt","SETTINGS_PAUSE_MINIMIZED":"Pause playback when minimized","SETTINGS_HWDEC":"Hardware-accelerated decoding","SETTINGS_BACKGROUND":"Background playback","SETTINGS_SUBSCRIBE_CALENDAR":"Subscribe to calendar","SETTINGS_REQ_EXPORT":"Request data export","SETTINGS_ACC_DELETE":"Peti forigon de konto","SETTINGS_CHANGE_PASSWORD":"Ŝangi pasvorton","SETTINGS_TOS":"Terms of service","SETTINGS_SUPPORT":"Kontaktu subtenon","SETTING_LANGUAGE":"Lingvo","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_LOGOUT":"Log out of Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Log Out of Trakt","SETTINGS_SCAN_FOR_REMOTE":"Scan QR code to open remote","SETTINGS_DESKTOP_NOTIFICATIONS":"Desktop notifications","SETTINGS_DATA_SAVER":"Data saver","SETTINGS_LANGUAGE_INTERFACE":"interface","SETTINGS_LANGUAGE_SUBS":"default subtitles","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Autoselect Audio Track","SETTINGS_DEFAULT_AUDIO_TRACK":"Default Audio Track","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"account","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"versio","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"Launch player in a separate window (advanced)","SETTINGS_PLAY_IN_EXTERNAL":"Always start video in external player","SETTINGS_STORAGE_BUTTON":"Clear Local Storage","SETTINGS_STORAGE_MODAL_TITLE":"Are you sure ?","SETTINGS_STORAGE_MODAL_MESSAGE":"This will clear the local storage and log you out.","SETTINGS_HWDEC_PICKER":"Pick hardware-accelerated decoding setting","SETTINGS_HW_AUTOMATIC":"Automatic","SETTINGS_HW_DISABLED":"Disabled","SETTINGS_HW_ACCELERATED":"Decoding acceleration","SETTINGS_HW_FULL":"Full acceleration","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Subtitles","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Controls","SETTINGS_SECTION_AUTO_PLAY":"Auto-Play","SETTINGS_SECTION_ADVANCED":"Advanced","SUBSPICKER_AUDIO":"Audio","SUBSPICKER_SUBTITLES":"Addons Subtitles","SUBSPICKER_BLACK_BACKGROUND":"Use black background color","SUBSPICKER_VERTICAL_OFFSET":"Vertical Offset","SUBSPICKER_SIZE":"Size","SUBSPICKER_DELAY":"Delay","SUBSPICKER_EMBEDDED_SUBS":"Embedded Subtitles","MOBILE_PRIVACY_POLICY":"Privacy Policy","MOBILE_CRASH_REPORTING":"Crash Reporting","MOBILE_ZOOM_TO_FILL":"Zoom To Fill Screen","MOBILE_PASSTHROUGH":"Digital audio output (passthrough)","MOBILE_RUN_LOW_BATTERY":"Run on low battery","MOBILE_RUN_FOREGROUND":"Run as Foreground Service","MOBILE_PERFORMANCE":"PERFORMANCE & STABILITY","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"QR Code expires in ","MOBILE_LOG_INTO":"Log in to your Stremio account ","MOBILE_SCAN_QR":"Scan QR code above or go to ","MOBILE_LINK_ACCOUNT":"Link Account","MOBILE_SPEEDPICKER_CANCEL":"Cancel","MOBILE_SPEEDPICKER_LABEL":"Select Playback Speed","MOBILE_EMPTY_LIBRARY":"Your library is empty","MOBILE_NO_ADDON_ACTIVE":"No Stremio addon active for this type.","MOBILE_ORGANIZER_WARNING":"The Stremio Organizer app provides limited functionality. For a list of playable streams and the full Stremio experience, use Stremio on desktop.","MOBILE_ADDON_LOADING":"is still loading","MOBILE_ADDONS_LOADING":"addons are still loading","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Configure your addon","MOBILE_CONFIGURE_ADDON_LABEL":"Configure Addon","MOBILE_ORGANIZER_ADDONS_WARNING":"The Stremio Organizer app provides a limited selection of addons. For the full Stremio experience, use Stremio on desktop.","MOBILE_DISCONNECT":"Disconnect","MOBILE_LOOKING_FOR_DEVICES":"Looking for devices...","MOBILE_CAST_TO":"Cast to","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Delete Account","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Account deletion is not instant due to legal obligations. After requesting deletion of your account you will have to use different email address/facebook profile to create a new Stremio account in the future.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirm Account Deletion","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Your account has been created using Facebook. To delete your account, please use our user portal at www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Please provide your password to confirm account deletion.","MOBILE_DELETE_ACCOUNT_BUTTON":"Delete Account","NAVIGATION_ON":"On","NAVIGATION_OFF":"Off","MARKETING_AGREE":"I agree to receive marketing communications from Stremio","QUIT":"Fini","CONNECTED":"Konektita","AUTHENTICATE":"Authenticate","CACHING":"Caching","SETTINGS_CACHING_DRIVE":"Caching drive","ENABLE_LOCAL_FILES_ADDON":"Enable the local files addon (requires restart)","LOCAL_ADDON_NOT_ENABLED":"Local addon is not enabled. Click here to go to the settings and enable it","ENABLE_REMOTE_HTTPS_CONN":"Enable remote HTTPS connections","TORRENT_PROFILE":"Torrent Profile","DATA_CACHING":"Data Caching","MAGNET_PARSING":"Parsing a magnet link","January":"Januaro","February":"Februaro","March":"Marto","April":"Aprilo","May":"Majo","June":"Junio","July":"Julio","August":"Aŭgusto","September":"Septembro","October":"Oktobro","November":"Novembro","December":"Decembro","Monday":"Lundo","Tuesday":"Mardo","Wednesday":"Merkredo","Thursday":"Ĵaŭdo","Friday":"Vendredo","Saturday":"Sabato","Sunday":"Dimanĉo","Action":"Agadfilmo","Comedy":"Komedio","War":"Milito","Family":"Familia","Animation":"Animacio","Adventure":"Aventuroj","Fantasy":"Fantasto","Crime":"Krimo","Mystery":"Mistero","Romance":"Romance","Drama":"Dramo","Horror":"Horora Filmo","Thriller":"Suspenso","Sci-Fi":"Sciencfikcio","Music":"Music","Biography":"Biografio","Documentary":"Dokumentario","Sport":"Sport","Musical":"Musical","Western":"Vesterno","Film-Noir":"Film-Noir","News":"News","History":"Historio","Game-Show":"Game-Show","Reality-TV":"Reality-TV","Talk-Show":"Talk-Show","Film & Entertainment":"Film & Entertainment","Gaming":"Gaming","From TV":"From TV","Lifestyle":"Vivstilo","Science & Education":"Scienco kaj Edukado","Cooking & Health":"Kuirado kaj Sano","Beauty & Fashion":"Beauty & Fashion","Sports":"Sportoj","News & Politics":"Novaĵoj kaj Politiko","How-to & DIY":"How-to & DIY","Tech":"Tech","Automotive":"Automotive","Causes & Non-Profits":"Causes & Non-Profits","Movies":"Movies","Uk Live Tv":"Uk Live Tv","Fashion":"Fashion","Business News Radio":"Business News Radio","Business Tv":"Business Tv","Cars & Auto":"Cars & Auto","Comedy Radio":"Comedy Radio","Lifestyle Radio":"Lifestyle Radio","News Tv":"News Tv","Food And Wine":"Food And Wine","Latino Tv":"Latino Tv","Shopping Tv":"Shopping Tv","Religion":"Religio","Kids":"Infana","Body & Soul":"Body & Soul","Education":"Edukado","Indian Tv":"Hinda Televido","Extreme Sports":"Extreme Sports","Middle Eastern Tv":"Middle Eastern Tv","Celebrity Tv":"Celebrity Tv","Science Tv":"Scienca Televido","Bikini babe":"Bikini babe","Outdoors":"Outdoors","German Tv":"German Tv","French Tv":"French Tv","Italian Tv":"Italian Tv","Gamer Tv":"Gamer Tv","Travel":"Travel","Asian Tv":"Asian Tv","Entertainment":"Entertainment","News Radio":"News Radio","Music Radio":"Music Radio","Language Learning":"Language Learning","Science Radio":"Science Radio","Tech Radio":"Tech Radio","Science & Technology Vod":"Science & Technology Vod","new video":"nova video","new episode":"nova epizodo","new movie":"nova filmo","recommended":"rekomendita","we recommend":"ni rekomendas","offer of the day":"offer of the day","news":"novaĵoj","music video":"muzikvideo","CTX_SHOW_HOTKEYS":"Montri Agklavoj","CTX_DISMISS_NOTIF":"Forĵeti sciigojn","CTX_DISMISS_ALL":"Forĵeti ĉion","CTX_SHARE":"Konigi","CTX_COPY_SHARE_LINK":"Kopii ligilon por kunhavigi","CTX_COPY_MAGNET_LINK":"Kopii magnetan ligilon","CTX_COPY_STREAM_LINK":"Kopii elsendfluan ligilon","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Elŝuti ĉi-tiun videon","CTX_DOWNLOAD_SUBS":"Elŝuti subtekstojn","CTX_VIEW_ON_YOUTUBE":"Spekti ĉe Youtube","CTX_SHOW":"Show","CTX_PLAY":"Play","CTX_PLAY_IN":"Play in","CTX_PLAY_ON":"Play on","CTX_WATCH_ON":"Spekti ĉe","CTX_WATCH":"Spekti","CTX_WATCHED":"Spektita","CTX_WATCH_BEGINNING":"Spekti ekde la komenco","CTX_WATCH_MOBILE":"Spekti per poŝtelefono","CTX_REWIND":"Rebobeni al komenco","CTX_MARK_WATCHED":"Marki kiel spektita","CTX_MARK_NON_WATCHED":"Marki kiel ne spektita","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"Marki la ceterajn kiel rigarditajn","CTX_UNMARK_REST":"Marki la ceterajn kiel ne-spektitajn","CTX_RECEIVE_NEW_NOTIF":"Ricevi novajn sciigojn","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"Forigi el kaŝmemoro","CTX_REMOVE_CACHE_EP":"Forigi epizodon el kaŝmemoro","CTX_OPEN_CONTAINING":"Malfermu enhavantan dosierujon","CTX_REMOVE":"Forigi de la biblioteko","CTX_AVAILABLE_OFFLINE":"Disponebla eksterrete","CTX_PAUSED":"Paŭzo","CTX_ALWAYS_ON_TOP":"Ĉiam supre ĉio","CTX_FULLSCREEN":"Plenekrane","CTX_WRONG_SUBS":"Malĝustaj subtekstoj?","CTX_REPORT_ISSUES":"Raporti problemon","CTX_COPY":"Kopii","CTX_PASTE":"Algui","CTX_CLEAR":"Viŝi","CTX_CLEAR_RECENT_SEARCHES":"Viŝi freŝajn serĉojn","HELLO_THERE":"Saluton!","HOPE_YOU_ENJOY":"Ni esperas, ke vi ĝuos Stremio-n kaj ke ĝi jam estas unu el viaj plej ŝatataj aplikaĵoj!","WHO_ARE_WE":"Kiuj ni estas? Ni estas la teamo malantaŭ ĝi - du uloj kiuj intense laboras ĉiutage dum la lastaj 3 jaroj por fari ĉi tiun produkton pli kaj pli bona.","SUPPORT_US":"Se vi ŝatas uzi Stremio, se Stremio estas valora por vi - diskonigu ĝin!","SPREAD_THE_WORD":"Kunhavigu ĝin kun viaj amikoj nun, diskonigu pri Stremio","MORE_PEOPLE":"Ju pli da homoj uzas Stremio-n, des pli bone ĝi fariĝos!","SEND_A_LINK":"Aŭ sendu ligilon al nia retejo","TIP_LOCALFILES":"Konsilo: vi povas ŝovi kaj demeti lokaj videaj dosierojn en Stremio-n","ADDON_MY":"Miaj Aldonaĵoj","ADDON_COMMUNITY":"Komunumaj aldonaĵoj","ADDON_OFFICIAL":"Oficialaj Aldonaĵoj","ADDON_REPOS":"Aldonaĵa kolekto","ADDON_SEARCH":"Serĉi Aldonaĵoj","ADDON_INSTALL":"Instali","ADDON_CONFIGURE":"Agordi","ADDON_UNINSTALL":"Malinstali","ADDON_UPGRADE":"Ĝisdatigi","ADDON_INSTALLED":"Instalita","ADDON_INSTALLED_MSG":"Aldonaĵo instalita!","ADDON_UPGRADED_MSG":"Aldonaĵo ĝisdatita!","ADDON_UNKNOWN":"Nekonata","ADDON_ERR":"Aldonaĵ-instalado eraro!","ADDON_DISCONNECTED":"Malkonektita","ADDON_APP_MISSING":"la aplikaĵo por ĉi tiu fonto ne estas instalita. Ĉu vi volas instali ĝin nun?","ADDON_APP_INSTALL":"Instali nun","ADDON_PAGE":"Paĝo de la aldonaĵo","ADDON_TOP_CONTENT":"La plej bona de ĉi tiu aldonaĵo","ADDON_PROVIDES":"Ĉi tiu aldonaĵo donos al vi:","ADDON_WATCH":"Spekti #{types} nun!","ADDON_WATCH_FREE":"Spekti #{types} SENPAGE nun!","ADDON_ADDON":"Aldonaĵo","ADDON_SUPPORTED_TYPES":"Subtenataj tipoj","ADDON_SUPPORTED_CATALOGS":"Subtenataj katalogoj","ADDON_PROVIDES_DISCOVER":"Pli da #{types} en Discover","ADDON_PROVIDES_STREAMS":"Spekti #{types}","ADDON_PROVIDES_STREAMS_FREE":"Spekti #{types} SENPAGE","ADDON_PROVIDES_SUBTITLES":"Subtekstoj al #{types}","ADDON_CANTDETECT":"We couldn\'t detect a running Stremio, so we couldn\'t detect what addons you have installed.","ERR_NO_META":"Neniu informo trovita pri tio ","ERR_GETTING_META":"Error retrieving information about this.","ERR_CANT_PARSE_MAGNET":"Unable to parse magnet","ERR_NO_MAGNET_INFOHASH":"No valid info hash for magnet","ERR_NO_FILE_PATH":"Unable to send request without a path to file","ERR_NO_TORRENT":"No torrent returned","ERR_NO_SUPPORTERD_FILES":"No supported files found","ERR_OPENING_FILES":"Could not open external files","ERR_INVALID_LINK":"Invalid link","ERR_REGISTERED_ONLY":"This option is available for registred users only.","ERR_CLIPBOARD":"Can not play from clipboard","ERR_CLIPBOARD_READ":"Can not read the clipboard on this platform","ERR_CLIPBOARD_GENERIC":"No playable URL found in the clipboard. Please copy a URL (e.g. a magnet link) to a video.","BOARD_CONTINUE_WATCHING":"Daŭre spekti","BOARD_EXPLANATION_RECOMMENDATIONS":"Filmoj elektitaj speciale por vi.<br />Ĉi tiu filmo estas ekzempla rekomendo.","BOARD_EXPLANATION_EPISODES":"New episodes of your favorite Series come here.<br />Add series you follow to your Library.","BOARD_EXPLANATION_VIDEOS":"New episodes of your favorite Channels come here.<br />Add YouTube channels you follow to your Library.","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE":"Kontribuu","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"Learn more","WEBSITE_COMPANY":"Company","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Need Help?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"Spektu tuj!","WEBSITE_SLOGAN_ALL":"La tuta video-enhavo, kiun vi ĝuas en unu loko","WEBSITE_SLOGAN_NEW":"Ĉio, kion vi povas spekti","WEBSITE_SLOGAN_NEW_NEW":"Freedom to Stream","WEBSITE_WATCH_FROM":"Spekti el","WEBSITE_DOWNLOAD":"Elŝuti nun!","WEBSITE_DOWNLOAD_FOR":"Elŝutu Nun Por","WEBSITE_IS_DESKTOP":"Stremio estas komputila aplikaĵo, malfermu ĉi tiun paĝon je via komputilo kaj elŝutu ĝin","WEBSITE_DESKTOP_DEMO_VID":"Desktop demo","WEBSITE_PAGE_HOME":"Hejmo","WEBSITE_PAGE_FEATURES":"Funkcioj","WEBSITE_PAGE_ADDONS":"Aldonaĵoj","WEBSITE_PAGE_TECH":"Teknologio","WEBSITE_PAGE_CREATE_ADDON":"Kreu aldonaĵon","WEBSITE_PAGE_CONTACTS":"Kontaktoj","WEBSITE_PAGE_BLOG":"Blogo","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Filmog","WEBSITE_TYPE_series_PL":"Filmoj","WEBSITE_TYPE_tv":"Viva televido","WEBSITE_TYPE_channel":"Kanaloj","WEBSITE_STREMIO_WHAT_IS":"Stremio estas aplikaĵo, kiu helpas vin organizi kaj tuj spekti viajn plej ŝatatajn videojn, filmojn, televidseriojn kaj televidkanalojn..","WEBSITE_FEATURES_WATCH":"Spektu tuj en HD","WEBSITE_FEATURES_WATCH_DETAIL":"Alklaku kaj ludu viajn plej ŝatatajn filmojn, televidajn programojn, filmetojn kaj televidajn kanalojn.","WEBSITE_FEATURES_SUBS":"Aŭtomataj Subtekstoj","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio automatically picks synced subtitles for your language.","WEBSITE_FEATURES_SUBS_LABEL":"Your move, chief.","WEBSITE_FEATURES_CAST":"Play on TV & mobile devices","WEBSITE_FEATURES_CAST_DETAIL":"Cast to AppleTV, Chromecast, Smart TV (DLNA/UPnP) and mobile devices.","WEBSITE_LIB":"Enjoy Your Personal Library Synced on All Your Devices","WEBSITE_LIB_COLLECT":"Collect from Stremio","WEBSITE_LIB_IMPORT":"Importi el Facebook","WEBSITE_LIB_LOCAL":"Aldonu el via loka disko","WEBSITE_BOARD":"The Board - Your one-stop place for Notifications and Recommendations","WEBSITE_BOARD_RECOMMEND":"Recommended TV Show","WEBSITE_BOARD_TRENDING":"Trending Movie","WEBSITE_BOARD_NEW":"New Video","WEBSITE_BOARD_EPISODE":"New Episode","WEBSITE_BOARD_1":"Looking for something interesting to watch? Get recommendations based on your taste!","WEBSITE_BOARD_2":"Get notified when a new episode of your favourite TV show or YouTube channel is out!","WEBSITE_BOARD_YOUTUBE":"New videos of YouTube channels","WEBSITE_BOARD_EPISODES":"New episodes of series you follow","WEBSITE_ADDONS":"Content Addons","WEBSITE_TECH_DETAIL":"Ni amas teknologion, ni amas frenezan sciencon!\\nStremio uzas la jenajn malfermitkodajn teknologiojn","WEBSITE_TECH_WCJS":"WebChimera.js allows Stremio to play any video format with good performance.","WEBSITE_TECH_WCJS_EXTRA":"We are core project contributors","WEBSITE_TECH_ELECTRON":"Electron provides an innovative platform to build Stremio with.","WEBSITE_TECH_ELECTRON_EXTRA":"We are project contributors","WEBSITE_TECH_LINVODB":"A database technology that ensures your data is organized and available anywhere you login.","WEBSITE_TECH_LINVODB_EXTRA":"In-house technology","WEBSITE_CREATE_ADDON":"Create your addon","WEBSITE_CREATE_ADDON_DETAIL":"Do you have a service providing video content? We\'ll help you benefit from Stremio\'s features by creating your Addon.","WEBSITE_CREATE_ADDON_BENEFITS":"Benefits of Creating an Addon for Stremio","WEBSITE_P2P_BEAUTY":"The Beauty of Peer-to-Peer Streaming","WEBSITE_P2P_1":"Reliable and affordable full HD / 4K video on demand or live streaming","WEBSITE_P2P_2":"Distribution platform providing great user experience","WEBSITE_P2P_3":"We will create an addon meeting your exact needs","WEBSITE_P2P_CONTACT":"Interested? You are welcome to <a href=\'mailto:office@stremio.com\'>contact us</a>.","WEBSITE_P2P_CONTACT_EXTRA":"We will be happy to help you integrate your content with Stremio!","WEBSITE_P2P":"Once in a while, there comes a technology that changes the name of the game. We invested tons of time and effort in building our Peer-to-Peer (P2P) video streaming engine that provides great performance and versatility to adapt with any use case.\\nContact us for DRM-enabled P2P video on demand or live streaming.","WEBSITE_THOUGHTS":"Thoughts we share:","WEBSITE_SPREAD":"Spread the word about Stremio:","WEBSITE_CONTACT":"Contact us, we\'ll be happy to hear from you!","WEBSITE_OPENSOURCE":"For our open source projects, go to our","WEBSITE_BITCOIN":"Donaci Bitcoin:","WEBSITE_FAQ":"Plej Oftaj Demandoj","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Demandoj","WEBSITE_TOS":"Uzkondiĉoj","WEBSITE_LEGAL":"Legal","WEBSITE_PAGE_ABOUT":"Pri","WEBSITE_PAGE_BECOME_PARTNER":"Iĝu partnero","WEBSITE_ALL_YOU_CAN_WATCH":"Libereco por Spekti\\nĈion Kion Vi Volas.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"Kio estas Stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio estas kompleta centro por videoenhava kolektado. Malkovru, organizu kaj spektu filmetojn el ĉiaj fontoj sur iu ajn aparato, kiun vi posedas.","WEBSITE_WHAT_IS_STREMIO_P2":"Movies, TV shows, series, live television or web channels like YouTube and Twitch.tv - you can find all this on Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio estas moderna aŭdvidaĵa centro, integrala solvo por via amuziĝo. Vi povas malkovri, spekti kaj organizi video-enhavon per facile instaleblaj aldonaĵoj.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Filmoj, televidaj programoj, viva televido aŭ retkanaloj - Stremio disponigas por vi ĉion ĉi.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Enjoy on all your Media devices","WEBSITE_DEVICES_COLLECT":"Collect from Stremio","WEBSITE_DEVICES_IMPORT_FB":"Importi el facebook","WEBSITE_DEVICES_LOCAL":"Add from local drive","WEBSITE_JOIN_THE_PARTY_NOW":"Aliĝu al la festo nun","WEBSITE_DEVICES_ALL":"Facile uzebla en ĉiuj viaj aparatoj;","WEBSITE_EXTENDABLE_CATALOG":"Senfine etendebla videokatalogo;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Mojosaj funkcioj por organizi viajn aŭdvidaĵojn;","WEBSITE_AS_SEEN_ON":"Kiel vi vidis ĝin en","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"Pri ni","WEBSITE_LINK_TECHNOLOGY":"Teknologio","WEBSITE_LINK_APPS":"Aplikaĵoj","WEBSITE_LINK_DOWNLOADS":"Elŝutoj","WEBSITE_MORE":"Pli","WEBSITE_LINK_ADDONS":"Aldonaĵoj","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Kontribuu","WEBSITE_LINK_COMMUNITY":"Komunumo","WEBSITE_LINK_BLOG":"Blogo","WEBSITE_MORE_MORE":"... kaj pli","WEBSITE_LINK_HELP":"Helpcentro","WEBSITE_LINK_CONTACTS":"Business inquiries","WEBSITE_LINK_TOS":"Terms & conditions","WEBSITE_LINK_PRAVACY":"Privatecaj politikoj","WEBSITE_SUBSCRIBE":"Aboni","WEBSITE_NEWSLETTER":"Join Our Newsletter for amazing stuff","WEBSITE_PLACEHOLDER_EMAIL":"Via Retpoŝto","WEBSITE_COMMUNITY":"Komunumo","WEBSITE_LINK_PRAVACY_LEGAL":"Privateco kaj legalaĵo","WEBSITE_WHY":"Kial ni faras kion ni faras","WEBSITE_WHY_P1":"At Stremio, we come to work every day because we want to solve an important problem for the video-on-demand industry. There’s so much new content published every minute that it’s virtually impossible to find your way around it.","WEBSITE_WHY_P2":"We help people navigate that huge world of video entertainment and discover new content to enjoy. Our apps bring together movies, series, live TV, web channels, and more. We are dedicated to making it incredibly easy for users to find titles and broadcasters that they love.","WEBSITE_WHY_P3":"You can use our service on any device and at any time, making Stremio the only video entertainment hub you’ll ever need.","WEBSITE_TEAM":"TEAMO","WEBSITE_TEAM_P":"The Stremio team is small but powerful: between the ten of us, we code in X languages, and share expertise in software development, UI and UX design, marketing and advertising, and business and startups.","WEBSITE_FEATURES":"Funkcioj","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Facile malkovru novan enhavon","WEBSITE_FEATURES_DISCOVER_P":"Facile esplori novaj filmoj, televidaj spektakloj, serioj kaj kanaloj por spekti. Serĉu laŭ kategorio, ĝenro, poentaro, lastatempeco, noveco, ktp. aŭ simple tajpu nomon por trovi. Stremio faciligas trovante novan videoenhavon tre facile.","WEBSITE_FEATURES_ALL_CONTENT":"Ĉiuj viaj videoenhavoj en unu ekrano","WEBSITE_FEATURES_ALL_CONTENT_P1":"See what movies, series or videos you didn’t finish and continue watching them; get notified for new episodes and releases; and browse through the recommendations you will get based on your viewing habits.","WEBSITE_FEATURES_LIBRARY":"Organizu vian videobibliotekon","WEBSITE_FEATURES_LIBRARY_P1":"Add any title to your Stremio library with a single click and find your way around your content, neatly arranged by type, recency, or alphabetical order.","WEBSITE_FEATURES_CALENDAR":"Keep track of everything you watch","WEBSITE_FEATURES_CALENDAR_P1":"Get a calendar visualization of all the movies and series you add to your library. Export your Stremio calendar and sync it so you always know when a new episode or a premier is due.","WEBSITE_FEATURES_BIG_SCREEN":"Ĝuu vian videon enhavon sur granda ekrano","WEBSITE_FEATURES_BIG_SCREEN_P1":"Cast whatever you are watching to another device - be it a phone, tablet or a TV with a single click.","WEBSITE_FEATURES_SOURCES":"Spektu videon el multaj diversaj fontoj","WEBSITE_FEATURES_SOURCES_P":"Install official and community addons to enjoy video sourced from many different providers - all in one sleek, easy to use app.","WEBSITE_CREATE_AN_ADDON":"Kreu aldonaĵon","WEBSITE_FEATURES_SYNC":"Sync your library across different devices and resume your playback","WEBSITE_FEATURES_SYNC_P1":"Login with your account across all your devices and enjoy your library, addons, playback and calendar synchronized.","WEBSITE_FEATURES_EXTENDABLE":"Extendable video catalog by addons","WEBSITE_FEATURES_EXTENDABLE_P1":"The Stremio addon catalog provides a number of addons to install and watch a variety of video content from. This includes movies, shows, live TV, sport, news, podcasts, web channels, video games and more.","WEBSITE_FEATURES_AUTO_SUBS":"Automatic subtitles","WEBSITE_FEATURES_AUTO_SUBS_P1":"With our subtitle addons you get automatically selected options for your preferred language.","WEBSITE_FEATURES_CHROMECAST":"Casting to Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Enjoy your video content on a bigger screen or just cast whatever you are watching to another device.","WEBSITE_FEATURES_KEEP_TRACK":"Keep track of your favorite TV shows and Web channels","WEBSITE_FEATURES_KEEP_TRACK_P1":"Get a calendar visualization and notifications for new episodes of your favorite series and web channels.","WEBSITE_FEATURES_POWER_USER":"Power user features","WEBSITE_FEATURES_POWER_USER_P1":"Play in external player","WEBSITE_FEATURES_POWER_USER_P2":"Play from a torrent file or magnet link","WEBSITE_FEATURES_POWER_USER_P3":"Import to your library from Facebook likes or local disk","WEBSITE_ADD_ONS":"Addons","WEBSITE_ADD_ONS_P1":"All of the video content Stremio provides get sourced through an addon system - no content or content provider has been built into the app.","WEBSITE_ADD_ONS_P2":"There are two groups of addons available: official and community addons.","WEBSITE_ADD_ONS_P3":"The official ones are developed and hosted by Stremio, whereas community addons are created by our community members, who also host them.","WEBSITE_ADDONS_OFFICIAL":"Official addons","WEBSITE_ADDONS_WATCHUB":"Stream your favourite movies, series and shows from providers like iTunes, Hulu, Amazon and other UK/US services.","WEBSITE_ADDONS_YOUTUBE":"Watch your favourite YouTube channels ad-free and get notifications for new uploads from the contributors you follow.","WEBSITE_ADDONS_FILMON":"Watch live TV, movies and social television for free. 600 TV channels, 45,000 free movies, documentaries and more.","WEBSITE_ADDONS_OPENSUBTITLES":"Movie and TV subtitles in multiple languages, thousands of translated subtitles uploaded every day.","WEBSITE_ADDONS_COMMUNITY":"Community addons","WEBSITE_ADDONS_FILMON_VOD":"Watch video on demand from Filmon.tv","WEBSITE_ADDONS_TWICH":"Watch live streams from Twitch.tv - a video streaming platform for the e-sports industry.","WEBSITE_ADDONS_VODO":"Watch indie movies absolutely free of charge.","WEBSITE_ADDONS_NETFLIX":"Spektu Netflix-aj filmoj kaj ret-serioj.","WEBSITE_ADDONS_CREATE":"Kreu aldonaĵon","WEBSITE_ADDONS_CREATE_P1":"If you wish, you can develop your own addon. This way, you can give yourself and our community access to new video content, and reach a new, targeted audience of millions of users around the world.","WEBSITE_ADDONS_START_CREATE":"To get started, visit the Stremio Addon SDK page:","WEBSITE_DOWNLOADS":"Elŝutoj","WEBSITE_DOWNLOADS_P1":"For optimal performance, we recommend that you use the latest available version of the Stremio apps. If for some reason, however, you would like to use an older version, you can download it here.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio for Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio for macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio for Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio for Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio for iOS (limited version)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"La platformo Stremio estas liberafontkoda kaj vi povas facile krei aldonaĵo por enhavo kiu ne estas indeksita ankoraŭ.","WEBSITE_CONTRIBUTE_WHY":"Kial vi devus krei aldonaĵon?","WEBSITE_CONTRIBUTE_WHY_P1":"Atingu nova spektantaro por via videoenhavo","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio’s user base is growing rapidly - within the first year of the launch, Stremio had gained 1 million users around the world, and in the second year of the platform’s existence this number grew to 2.5 million.","WEBSITE_CONTRIBUTE_WHY_P3":"With your addon, you can easily reach this audience and distribute your video content to them.","WEBSITE_CONTRIBUTE_ALL":"Watch your favourite movies, videos, series and channels in one single place.","WEBSITE_CONTRIBUTE_ALL_P1":"You’re a fan of a particular type of content not available on Stremio yet? Create an addon for it and enjoy watching your favourite videos in one of the largest and easiest to use entertainment hubs on the market.","WEBSITE_CONTRIBUTE_ALL_P2":"On top of that, you’ll get the endless gratitude of other like-minded Stremio community members.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetize your addon and earn money with its help","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Once you develop a new addon for Stremio, you can easily monetize it through a number of different ways. If you are considering this, feel free to get in touch with us at ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - we would be happy to consult and advise you about addon monetization options.","WEBSITE_CONTRIBUTE_TRANSLATE":"Iĝu volontula tradukisto","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"If you want to enjoy the Stremio apps in different languages, you can join our community of volunteer translators. They help us add versions of the Stremio in many different languages.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Ĉu vi avidas por komenci?","WEBSITE_TRANSALTE_STREMIO":"Traduku Stremio-n","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Official communities","WEBSITE_COMMUNITY_OFFICIALS_P1":"Become a part of the growing Stremio community. Follow us on social media and don’t be shy to say hello - we love hearing from our fans! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Unofficial communities","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partners and supporters","WEBSITE_COMMUNITY_GOODIES":"Stremio goodies","WEBSITE_COMMUNITY_WALLPAPERS":"Wallpapers","WEBSITE_COMMUNITY_ART":"Komunuma Artgalerio","WEBSITE_LINK_ART":"Komunuma artgalerio","WEBSITE_CONTACT_US":"Kontaktu nin","WEBSITE_CONTACT_US_P1":"If you have any questions, comments or suggestions, feel free to get in touch with us through the contact form below.","WEBSITE_CONTACT_US_P2":"Keep in mind that we are located in Bulgaria so there may be a delay in addressing your query due to time zone differences.","WEBSITE_CONTACT_US_SUCCESS":"Your message has been sent. We will get back to you at our earliest convenience.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Bonvolu entajpi vian retpoŝton!","WEBSITE_CONTACT_US_Q_RELATED_TO":"Pri kio temas via demando?","WEBSITE_CONTACT_US_Q_OS":"Kiu estas via Operaciumo?","WEBSITE_CONTACT_US_PH_EMAIL":"Via Retpoŝto","WEBSITE_CONTACT_US_PH_MESSAGE":"Mesaĝo","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"SENDI","WEBSITE_CONTACT_US_Q_1":"Kiel instali","WEBSITE_CONTACT_US_Q_2":"Kiel malinstali?","WEBSITE_CONTACT_US_Q_3":"(HTML) How to make lasagna?","WEBSITE_CONTACT_US_Q_4":"Aldonaĵoj","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Teknologio","WEBSITE_TECHNOLOGY_P1":"Ni amas teknologion kaj frenezan sciencon. </br> Jen kio ebligas Stremio-n (ĉio estas malfermitkoda).","WEBSITE_TECHNOLOGY_P_QT":"Cross-platform software development at its best.","WEBSITE_TECHNOLOGY_P_MPV":"Senpaga, malfermitfonta kaj plurplatforma plurmedia ludilo.","WEBSITE_TECHNOLOGY_P_RN":"React Native lets you build mobile apps using only JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework embedded into application to get multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm is a mobile platform and a replacement for SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js is an open-source, cross-platform, JavaScript runtime environment.","WEBSITE_TECHNOLOGY_P_RUST":"Rust is a multi-paradigm system programming language focused on safety, especially safe concurrency.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Kontribuu al la projekto","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Estas du manieroj per kiuj vi povas kontribui kun Stremio kaj helpi al ni plibonigi ĝin eĉ pli!.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Vi povas donaci viajn valorajn lingvokapablojn tradukante la platformon...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"aŭ","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... vi povas uzi viajn programadajn kapablojn por krei komunumajn aldonaĵojn. ","WEBSITE_TRANSLATE_STREMIO":"Traduku Stremio-n","WEBSITE_404_OH_NO":"Ho ve! La paĝo kiu vi serĉas ne estas ĉi tie...","WEBSITE_GO_HOME":"Iru hejmen","WEBSITE_LINK_OTHER_DOWNLOADS":"Aliaj elŝut-opcioj","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Subteni","WEBSITE_DOWNLOAD_4_0_BETA":"Elŝutu Stremio-n 4 beta nun!","WEBSITE_GET_FOR_DESKTOP":"Akiru ĝin por komputilo","WEBSITE_LINK_ADDON_COMPETITION":"Aldonaĵa konkurso","WEBSITE_LINK_ART_CONTEST":"Arta konkurso","WEBSITE_MY_ACCOUNT":"Mia konto","WEBSITE_MAINPAGE_FAQ_001_H1":"Kio estas Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio estas moderna plurmedia centro, kiu donas al vi la liberon spekti ĉion, kion vi volas.","WEBSITE_MAINPAGE_FAQ_002_H1":"Kiel ĝi funkcias?","WEBSITE_MAINPAGE_FAQ_002_P1":"Post kiam vi instalos Stremio sur via aparato kaj kreos konton, vi nur devas viziti la katalogon de aldonaĵoj kaj instali ajnan aldonaĵon, kiun vi volas, kaj vi estas bona por preta por ekkomenci!","WEBSITE_MAINPAGE_FAQ_002_P2":"Post tio, vi povas iri al la sekcioj Discover aŭ Board por komenci esplori enhavon.","WEBSITE_MAINPAGE_FAQ_003_H1":"Kion mi povas spekti ĉi tie?","WEBSITE_MAINPAGE_FAQ_003_P1":"Multaĵon: Filmoj, Televidaj Spektakloj, Retaj Kanaloj, Sporto, Televidaj kanaloj, aŭskulti Podkastojn kaj multe pli. Danke al nia aldonaĵa sistemo, vi povas akiri ĉiajn enhavojn.","WEBSITE_MAINPAGE_FAQ_004_H1":"Ĉu Stremio estas malfermitkoda?","WEBSITE_MAINPAGE_FAQ_004_P1":"Jes, vi povas viziti la jenajn ligilojn: ${1}desktop app${2} kaj ${3}GitHub organization${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Ĉu estas Stremio sekura?","WEBSITE_MAINPAGE_FAQ_005_P1":"Jes: ĉar ĝi estas libera programaro, la kodo estas publike alirebla kaj vi mem povas revizii ĝin.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"Kio pri mia privateco?","WEBSITE_MAINPAGE_FAQ_006_P1":"Ni respektas la privateco de la uzantoj, tial ni ne kolektas nenian personalan datumon, krom la minimunon esencialan por krei kaj sinkronigi vian konton.","WEBSITE_MAINPAGE_FAQ_006_P2":"Ankaŭ ekzistas ${1}Gasta reĝimo${2} ĉe la aliĝo, kiu postulas neniujn datumojn: en ĉi tiu reĝimo, neniuj vokoj estas faritaj al nia servilo. Tamen, ĝi forĵetas utilajn funkciojn, kiel sinkronigi vian bibliotekon inter aparatoj.","WEBSITE_MAINPAGE_FAQ_007_H1":"Ĉu mi povas elsendi al mia televidilo?","WEBSITE_MAINPAGE_FAQ_007_P1":"Jes, ni subtenas Chromecast-on kaj vi povas elsendi el kaj labortablaj kaj el poŝtelefonaj aplikaĵoj (Android)..","WEBSITE_MAINPAGE_FAQ_008_H1":"Kiom da aldonaĵoj Stremio havas?","WEBSITE_MAINPAGE_FAQ_008_P1":"Je 2019, pli ol 50 - por plia informo, vidu nian aldonaĵan katalogon.","WEBSITE_MAINPAGE_FAQ_009_H1":"Ĉu Stremio povas esti etendita preter kio estas en la aldonaĵa katalogo?","WEBSITE_MAINPAGE_FAQ_009_P1":"jes, vi povas rigardi la jenajn: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6}, ktp.","WEBSITE_MAINPAGE_FAQ_010_H1":"Kiujn aparatojn Stremio subtenas?","WEBSITE_MAINPAGE_FAQ_010_P1":"Ni havas labortablaj aplikaĵoj por Vindozo, Mac kaj Linukso. Por poŝtelefono, ni subtenas Android kaj iOS, kvankam konsciu, ke iOS estas limigita en funkcioj (ne subtenas la plejmultajn aldonaĵojn).","WEBSITE_MAINPAGE_FAQ_010_P2":"Estas multaj Android-bazitaj aparatoj sur kiuj vi povas ruli Stremio-n, kiel NVIDIA Shield kaj Amazon Fire Stick, sed ni ne oficiale subtenas ilin.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Ĉu vi povas aldoni certan enhavon al Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Pardonu, ni mem provizas neniun enhavon, sed ju pli da Stremio-aldonaĵoj vi instalos, des pli da enhavo vi povos trovi.","WEBSITE_MAINPAGE_FAQ_012_H1":"Ĉu Stremio povas ludi magnetligojn","WEBSITE_MAINPAGE_FAQ_012_P1":"Jes, kaj ĝi ankaŭ povas ludi normalajn HTTP-ligilojn kaj torentajn dosierojn (ŝovi kaj demeti).","WEBSITE_MAINPAGE_FAQ_013_H1":"Ĉu mi povas elŝuti videon kaj spekti ĝin eksterrete?","WEBSITE_MAINPAGE_FAQ_013_P1":"Eksterreta disponebleco estas venonta funkcio, sed se vi permesas al Stremio konservi kaŝmemoron en via aparato (ĉe la agorda panelo) vi povas spekti la videojn senkonekte.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nenio funkcias, helpu min!","WEBSITE_MAINPAGE_FAQ_014_P1":"Ĉu vi certas, ke vi instalis aldonaĵojn? Se jes, iru al nia ${1}helpcentro${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"Kiel Stremio subtenas ĝian programadon?","WEBSITE_MAINPAGE_FAQ_015_P1":"Ni prezentas netrudemajn reklamojn foje, sed ni pripensas translokiĝi al donacmodelo.","WEBSITE_MAINPAGE_FAQ_015_P2":"Se vi havas pliaj demandoj, iru al nia ${1}helpcentro${2}.","HELP_LEARN_MORE":"Help us learn more about you.","LIFESTYLE":"Lifestyle","SPORTS":"Sports","FOOD_HEALTH":"Food & health","BEAUTY_FASHION":"Beauty & Fashion","NEWS":"News","GAMING":"Gaming","SCIENCE_EDUCATION":"Science & education","MUSIC":"Music","TRAVEL":"Travel","LATE_NIGHT":"Late Night","REALITY":"Reality","COMEDY":"Comedy","DIY":"How to DIY","TECH":"Tech","CINEMA":"Cinema","CONTINUE":"Continue","SLOW_LOADING":"SLOW LOADING?","I_GIVE_UP":"I GIVE UP","LEARN_MORE":"Learn more","POOR_SOURCE":"This source is poorly available or your internet connection is not fast enough","PICK_CATEGORIES_ERR":"You have to pick at least 3 categories","ADJUST_TIMING":"Adjust timing with ","ADJUST_SIZE":"Adjust size with ","SEARCH_ANYTHING":"You Can Search Anything...","ALL_CATEGORIES":"All","SEARCH_CATEGORIES":"Movies, Series, YouTube & TV","SEARCH_PERSONS":"Actors, Directors & Writers","SEARCH_PROTOCOLS":"HTTP & Magnet Links","SEARCH_TYPES":"IMDB / TVDB links","WATCHED":"Watched","SHOW_LESS":"Montri malpli","LAST_SEARCHES":"Lastaj serĉoj","CLEAR_HISTORY":"Forigi serĉhistorion","CHOOSE_SOME":"CHOOSE SOME OF THIS:","NO_WEB_REMOTE":"Web Remote could not be loaded","STREMIO_OFFLINE":"Stremio is offline","STREMIO_EXPENSIVE_CONNECTION":"We\'ve detected that you are using a mobile data connection, do you want to continue?","USE_DATA":"Use data","WARNING":"Warning","MORE_INFO":"Pli da informo ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Loading ...","STREMIO_TV_BACK_TO_LANGUAGES":"Back to languages","STREMIO_TV_REMOTE":"Remote","STREMIO_TV_GO_TO":"Go to:","STREMIO_TV_OR_SCAN":"or scan:","STREMIO_TV_ADDON_INSTRUCTIONS":"Please follow the instructions in order to install your preferred addons.","STREMIO_TV_LIVE_TV":"Live TV","STREMIO_TV_RESUME_WATCHING":"Resume Watching","STREMIO_TV_LOADING_BACKGROUND":"Loading Background","STREMIO_TV_CHECKING_AUTHENTICATION":"Checking Authentication","STREMIO_TV_LOADING_BOARD":"Loading Board","STREMIO_TV_LOGIN_HEADER_LINE_1":"We want our users to have the best possible personalized experience with our software.","STREMIO_TV_LOGIN_HEADER_LINE_2":"It is for this reason that we kindly ask you to make and/or login to your account.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Thank you for understanding,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"The Stremio Team","STREMIO_TV_REMOTE_INSTRUCTIONS":"In order to use the Web Remote with your Smartphone / Tablet / Desktop:","STREMIO_TV_WIFI_SETUP":"Wi-Fi Setup","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle did not detect a internet connection.","STREMIO_TV_WIFI_DETAILS_1":"Connect to:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Use password:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Open a web browser with the link:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Default","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"By Last Watched","STREMIO_TV_LIBRARY_SORT_NAME":"By Name","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"By Times Watched","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Season ${1}","STREMIO_TV_STREAMS_LOADING":"Loaded ${1} / ${2} addons...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} addon is still loading...","STREMIO_TV_PLAYER_SETTINGS":"Player settings","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Subtitles delay","STREMIO_TV_PLAYER_AUDIO_DELAY":"Audio delay","STREMIO_TV_PLAYER_VIDEO_SCALING":"Video scaling","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Unsupported stream source","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Failed opening external link","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Not adjustable in audio passthrough mode","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Play with ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Play with libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Switching to libVLC player due to a playback error","STREMIO_TV_ADDONS_TITLE":"Use Stremio on your Phone or PC to install or configure addons and press \\"Sync Addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Note: make sure you are using the same Stremio account","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sync Addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons successfully synchronized","STREMIO_TV_ADDONS_SYNC_FAILED":"Failed to synchronize addons","STREMIO_TV_META_LINK_FAILED":"Failed opening meta link","STREMIO_TV_CATALOG_LOADING":"Catalog still loading...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Interface language updated","STREMIO_TV_SETTINGS_THEME_UPDATED":"Theme updated","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Default Player","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"External Player","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferred Language","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Secondary Preferred Language","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possible playback issues on some devices","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Some video formats might not work","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"No caching","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Default","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Soft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Fast","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Fast","STREMIO_TV_SETTINGS_SERVER_URL":"Streaming server url","STREMIO_TV_SETTINGS_SERVER_VERSION":"Server version","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Unknown","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio version","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Edit server url","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Enter a streaming server url","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Show statistics while loading","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"To read Stremio\'s Privacy Policy, visit:","STREMIO_TV_SETTINGS_TOS_TEXT":"To read Stremio\'s Terms and Conditions, visit:","STREMIO_TV_NAV_SEARCH":"Serĉi","STREMIO_TV_NAV_HOME":"Hejmo","STREMIO_TV_NAV_DISCOVER":"Esplori","STREMIO_TV_NAV_LIBRARY":"Biblioteko","STREMIO_TV_NAV_MOVIES":"Filmoj","STREMIO_TV_NAV_SERIES":"Serioj","STREMIO_TV_NAV_CHANNELS":"Kanaloj","STREMIO_TV_NAV_TV":"Live TV","STREMIO_TV_NAV_SETTINGS":"Agordoj","STREMIO_TV_NAV_ADDONS":"Aldonaĵoj","STREMIO_TV_LOGIN_TITLE":"Link Account","STREMIO_TV_LOGIN_EXPIRES_IN":"Expires in","STREMIO_TV_LOGIN_STEP_ONE":"Scan QR Code above or go to","STREMIO_TV_LOGIN_STEP_TWO":"Log in to your Stremio account","STREMIO_TV_LOGIN_NEW_LINK":"Request a new link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Login code refreshed","STREMIO_TV_SEARCH_PLACEHOLDER":"Type something","STREMIO_TV_SEARCH_NO_ADDONS":"No addons were requested for catalogs!","STREMIO_TV_SEARCH_BUTTON":"Search","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Search History","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"You can search for Titles, Actors, Channels and more...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Clear Search History","STREMIO_TV_FILTERS_DESCRIPTION":"Choose from one of the filters below","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"Filters","SETTINGS":"Settings","ACCOUNT":"Account","LOGOUT":"Logout","THEMES":"Themes","PLAYBACK":"Playback","PLAYBACK_SPEED":"Playback Speed","AUDIO_TRACKS":"Audio Tracks","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Videos","SERVER":"Server","LINKS":"Links","ABOUT":"About","INTERFACE":"Interface","ANIMATIONS":"Animations","STATUS":"Status","LANGUAGE":"Language","SIZE":"Size","DELAY":"Delay","BOLD":"Bold","OPACITY":"Opacity","TEXT_COLOR":"Text Color","OUTLINE_COLOR":"Outline Color","BACKGROUND_COLOR":"Background Color","BACKGROUND_BLUR":"Background Blur","SEEK_TIME_DURATION":"Seek Time Duration","AUTO_PLAY":"Auto-Play Next Episode","PLAY_NOW":"Play Now","MARK_AS_WATCHED":"Mark as Watched","MARK_AS_UNWATCHED":"Mark as Unwatched","REWIND_TO_BEGINNING":"Rewind to Beginning","CONTINUE_WATCHING":"Continue Watching","ALL":"All","SECONDS":"seconds","ON":"ON","OFF":"OFF","RELOAD":"Reload","EDIT_URL":"Edit URL","NONE":"None","EMBEDDED":"Embedded","REMOTE_SWITCH_DEVICES":"Switch Devices","REMOTE_VIDEOS":"Videos","REMOTE_ADJUST_TIMING":"Adjust timing","REMOTE_ADJUST_SIZE":"Adjust size","REMOTE_COULD_NOT_BE_LOADED":"Web Remote could not be loaded","REMOTE_RETRY":"Reprovi","TORRENT_PROFILE_DEFAULT":"Default","TORRENT_PROFILE_SOFT":"Soft","TORRENT_PROFILE_FAST":"Fast","TORRENT_PROFILE_ULTRA_FAST":"Ultra Fast","FAQ_001_H1":"Kio estas Stremio?","FAQ_001_P1":"Stremio is a media center software designed for video entertainment with ease of use in mind. Stremio allows you to organize &amp; watch your own collection of movies, series, channels and live TV.","FAQ_001_P2":"Stremio collect the content it shows you from your local disk and our addons system.","FAQ_001_P3":"It will also notify you when new episodes/videos/movies you\'re interested in come out, and provide movie recommendations for you.","FAQ_02_H1":"Kiel Stremio komparas al Kodi kaj al Plex?","FAQ_02_P1":"We are inspired by those two pieces of software. But we have different goals - Stremio is specifically targeted towards entertainment video, and strives to become the mainstream solution for that by being very easy to use.","FAQ_02_P2":"Stremio will never be as customizable and feature-rich as Kodi and Plex, but it is significantly easier to use. Just ${1} get it and see ${2} :)","FAQ_03_H1":"Kiel Stremio komparas al Netflix?","FAQ_03_P1":"Again, Netflix is one of our inspirations. We strive to achieve the user experience of Netflix, plus a lot of added goodies. But most importantly, we\'re giving you the freedom to manage your own library and add new content sources with our addon system.","FAQ_03_P2":"That makes Stremio infinitely extendable, so when you use Stremio, you\'re never limited to the content Netflix decides to license. For example, through Stremio you can watch content from ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} and even ${9}Netflix${10} itself!","FAQ_04_H1":"Kiel Stremio komparas al Flipboard?","FAQ_04_P1":"We don’t get that question that often, except when talking to start-up people :)","FAQ_04_P2":"Stremio is by design a content aggregator, which essentially makes it Flipboard for video. This is very apparent in our Board section, which gives you catalogues and new episode/new video notifications for what you follow, just like Flipboard.","FAQ_05_H1":"Kiel Stremio komparas al Popcorn Time?","FAQ_05_P1":"Stremio and Popcorn Time are similar in user interface, because there aren’t many ways to do video entertainment catalogues right :)","FAQ_05_P2":"But while Popcorn Time is focused on streaming torrents from specific sources, Stremio is unrestricted and is merely a content aggregator - it’s not locked into a specific content source.","FAQ_05_P3":"Furthermore, we do not provide any torrent addons by default, so Stremio does not cover the Popcorn Time use-case with official functionality.","FAQ_05_P4":"Another notable difference is that Popcorn Time is completely open source, while Stremio is ${1} partially open source${2}.","FAQ_06_H1":"Ĉu vi aldonos ĉi tiun filmon/serion?","FAQ_06_P1":"Ne, pardonon :(","FAQ_06_P2":"As is mentioned in most of the other questions, Stremio does not provide any content by itself - everything is added through the addons system. In case you have a content request, you can use the “Report” button in the Player, which will send an email to the author of the addon you’re currently using.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Will you create addon for X?","FAQ_08_P1":"It\'s entirely possible.","FAQ_08_P2":"If you have an idea for an addon, drop us a line at ${1}office@stremio.com${2}, but please make sure your addon idea will not infringe on any copyrights or terms of use.","FAQ_08_P3":"At the moment, the next things on our roadmap are addons for FandangoNOW, Filmon.tv video on demand and Crunchyroll.","FAQ_09_H1":"Does Stremio use BitTorrent?","FAQ_09_P1":"Yes, Stremio supports BitTorrent as a streaming protocol. You can use that either with a torrent addon, or by drag-and-dropping a .torrent file into Stremio, or by pasting a magnet link into the Search Bar.","FAQ_09_P2":"Please note that the only official addon using BitTorrent is ${1}Vodo${2}, which provides indie content, all permitted to be distributed with BitTorrent.","FAQ_09_P3":"We do not support use of any third-party addons which may enable copyright infringement.","FAQ_10_H1":"What can I watch in Stremio with the official addons?","FAQ_10_P1":"By default, you can watch Filmon.tv, YouTube and Vodo content within Stremio itself, with it’s embedded player. Additionally, we have an addon for Twitch.tv and a few others.","FAQ_10_P2":"This combined provides a selection of:","FAQ_10_L1":"Popular TV channels, provided by Filmon.tv - for example E4, BBC, Bollyworld TV","FAQ_10_L2":"Everything from YouTube - for example BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indie movies with Vodo","FAQ_10_L4":"Online gaming broadcasts with Twitch.tv","FAQ_10_P3":"Additionally, there are many content sources provided with Guidebox and the Netflix addons, which <b>do not</b> play entirely inside Stremio, but would redirect to the given service. For example, the Guidebox addon would give you a selection of movies you can stream in the US for free, from services like TubiTV and Crackle.","FAQ_11_H1":"Stremio won\'t install, what should I do?","FAQ_11_P1":"If you\'re on Windows, try ${1}this alternative installer${2}.","FAQ_11_P2":"If you\'re on Mac OS X, please be aware that we don\'t support anything older than OS X Mavericks (10.9).","FAQ_11_P3":"If you\'re on Linux, be aware that we only support 64 bit (x64) Linux at the moment.","FAQ_11_P4":"If you still can\'t resolve your problem, please write us at our ${1}Facebook group${2}.","FAQ_12_H1":"Why does my anti-virus complain? Is Stremio safe?","FAQ_12_P1":"We assure you Stremio is ${1}100% clean${2}.","FAQ_12_P2":"Your antivirus is complaining because we include advertising in our installer, which some anti-virus programs recognize as ad-ware.","FAQ_12_P3":"If you\'re still unsure, you can try our ${1}alternative installer${2}.","FAQ_13_H1":"Kiel mi povas krei aldonaĵon?","FAQ_13_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_13_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_13_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_14_H1":"How are addons published?","FAQ_14_P1":"When you create an addon and host, and put a <b>endpoint</b> field in your manifest, which points to a working addon address, the addon will automatically publish itself to our ${1}Addon catalogue${2}.","FAQ_14_P2":"This happens because the server part of the stremio-addons module automatically makes a call to our API to announce the addon. When our API validates your <b>endpoint</b> as a valid addon, it will start showing in the catalogue.","FAQ_15_H1":"Can I run Stremio in my browser?","FAQ_15_P1":"Not at the moment, but this is coming!","FAQ_15_P2":"If you\'re curious to see an Alpha, you can see it here: ${1}alpha4.strem.io${2}. Keep in mind streaming is disabled on this alpha. We support Chrome, Firefox, Opera and Edge.","FAQ_16_H1":"Casting to TV doesn\'t work / subtitles don\'t work","FAQ_16_P1":"Casting to TV uses the DLNA technology which is very inconsistent between different TV brands and models. For that reason, we do not have the ability to test it in every case, so it\'s far from perfect. Despite this, we\'re working on improving it constantly but we cannot give you a time estimate on when DLNA will start working properly with your TV.","FAQ_16_P2":"If you don\'t even see your TV in the casting menu, please try disabling your network connection and re-enabling it (on Windows, right click the Network and use Enable/Disable), as well as restarting your router, TV and PC.","FAQ_16_P3":"If you are still encountering issues, you can help us by sending your TV brand and model information at ${1}office@stremio.com${2}.","FAQ_16_P4":"In the meantime, we recommend Chromecast, which we support very well, or simply plugging in your TV to your PC with an HDMI cable.","FAQ_17_H1":"Stremio freezes and/or crashes, what can I do?","FAQ_17_P1":"First of all, if you\'re using Windows 7 with AVG anti-virus: we have a problem with that combination. The problem is in AVG itself, and there\'s no reasonable way to resolve it on our end. Unfortunately, exceptions or disabling the anti-virus won\'t work. The only solution is to replace AVG with something else.","FAQ_17_P2":"If that\'s not the issue, but you\'re still using Windows, please update to the latest service pack and update/re-install your GPU drivers, then try again.","FAQ_17_P3":"If you\'re problem is still not resolved, or you\'re using a Mac or Linux, please write us reporting the exact details of the problem at ${1}our Facebook group${2}.","FAQ_18_H1":"How can I make an addon?","FAQ_18_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_18_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_18_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_19_H1":"Why is Stremio taking disk space?","FAQ_19_P1":"Stremio has a <b>local cache</b> to temporarily keep the video files you stream.","FAQ_19_P2":"This has two benefits: first, it allows Stremio to pre-buffer the video ahead so as to ensure smoother streaming. Second, it keeps the videos in the local cache so you can continue watching them offline.","FAQ_19_P3":"How much Stremio keeps depends on the <b>Cache</b> setting in the Settings panel. Stremio may keep up to the set amount (e.g. 2GB) on your disk, unless the currently streamed video is larger than that, in which case it has to allocate enough storage to keep it until you\'re streaming it.","FAQ_20_H1":"Kie estas la kaŝmemora dosiero?","FAQ_20_P1":"On Windows, it\'s stremio-cache in the drive you picked in Settings (e.g. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"On MacOS, it\'s \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"On Linux, it\'s \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"I get \\"Streaming server is not found\\" error, what can I do?","FAQ_21_P1":"If you get this error, it means one of few things:","FAQ_21_P2":"1) You are trying to use an addon backed by YouTube/BitTorrent source, through our ${1}web version${2}. In this case, you should install our desktop version from ${3}our website${4}.","FAQ_21_P3":"2) Something is wrong with your Stremio installation. In this case, try re-installing our latest desktop version from ${1}the website${2}. If this does not help, try disabling anti-virus programs and firewalls, restarting your PC and trying again. If this does not work too, please write us at our ${3}our Facebook group${4}.","FAQ_22_H1":"I cannot see/use most addons on iOS","FAQ_22_P1":"Because of restrictions in the Apple App Store terms and conditions, we have restricted the iOS application only to a particular set of addons.","FAQ_22_P2":"But rest assured - there will be more addons for iOS in the future, and we may also add an integration that will allow you to use all Stremio addons thanks to connecting the iOS app to the Stremio Streaming Server."}')},99320:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Película","TYPE_series":"Series","TYPE_tv":"TV","TYPE_channel":"Youtube","TYPE_other":"Otros","TYPE_movie_PL":"Películas","TYPE_series_PL":"Series","TYPE_tv_PL":"Canales de TV","TYPE_channel_PL":"Canales","TYPE_other_PL":"Otros","TYPE_ALL":"Todo","TYPE":"Tipo","CATALOG_com_linvo_cinemeta_top":"Populares","CATALOG_com_linvo_cinemeta_imdbRating":"Destacadas","CATALOG_com_linvo_cinemeta_year":"Nuevas","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Películas de Dominio Público","VIDEO":"Video","BACK":"Atrás","MORE":"Más","DONE":"Listo","COPY":"Copiar","SUCCESS":"Éxito","ERROR":"Error","SETTINGS_CASTING_MODE_PICKER":"Modo de emisión","CASTING_MODE_HLSV2":"Por defecto","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Sin transcodificación","Discover":"Descubrir","Board":"Panel","Library":"Biblioteca","My Library":"Mi Biblioteca","Calendar":"Calendario","NOTIFICATION_ONLINE":"Actualmente estás en línea","NOTIFICATION_OFFLINE":"Actualmente no estás conectado","INTERNET_CONNECTION":"Conexión de red","STORAGE_FULL_TITLE":"Advertencia: ¡Almacenamiento lleno!","STORAGE_FULL_TEXT":"Stremio no podrá guardar su configuración, preferencias o información de inicio de sesión. Considere reiniciar o reinstalar Stremio.","SEARCH":"Buscar","SEARCH_NO_RESULTS":"No se encontraron resultados","SEARCH_EXPLANATION_CONTENT":"Buscar películas, series, Canales de Youtube y TV","SEARCH_EXPLANATION_PEOPLE":"Buscar por actores, directores y escritores","SEARCH_PASTE_LINKS":"Pegar un enlace HTTP o enlace magnético","SEARCH_OR_PASTE_LINK":"Buscar o pegar enlace","SEARCH_SUGGESTIONS":"Buscar sugerencias","ADD_TO_LIB":"Añadir a la biblioteca","REMOVE_FROM_LIB":"Eliminar de la biblioteca","ADDED_TO_LIB":"Añadido a la biblioteca","REMOVED_FROM_LIB":"Eliminado de la biblioteca","TRAILER":"Avance","WATCH_TRAILER":"Ver avance","WATCH_NOW":"Ver ahora","SHOW":"Ver","SHOW_MOVIE":"Mostrar película","WATCH_RANDOM":"Ver al azar","IMDB_RATING":"Calificación de IMDb","YEAR":"Año","DIRECTOR":"Director","WRITER":"Escritor","LEAD_ACTORS":"Actores principales","CAST":"Reparto","CREW":"Equipo técnico","SHOW_MORE_CAST":"Ver más »","AIRED":"Salió al aire:","SEASONS":"Temporadas","GENRE":"Género","GENRE_ALL":"Todos los géneros:","CATALOG":"Catálogo","SUMMARY":"Resumen","SHOW_MORE":"Ver más","SIMILAR":"Similar","UPCOMING":"Próximamente","ENDED":"Terminado","DURATION":"Duración","FEATURED":"Destacado","METADATA":"Metadatos","CATEGORY":"categoría","LINKS_GENRES":"Géneros","LINKS_CAST":"Reparto","LINKS_DIRECTORS":"Directores","SEARCH_VIDEOS":"buscar videos","SEARCH_PLACEHOLDER":"buscar o pegar URL","ADDON":"complemento","ADDONS":"Complementos","OFFICIAL":"oficial","ADDONS_OFFICIAL":"Complementos Oficiales","ADDONS_POPULAR":"Popular en tu región","ADDON_FREE":"gratis","ADDON_PEERED":"compartido","ADDON_SUBSCRIPTION":"suscripción","ADDON_STREAM_GEORESTRICTED":"no está disponible en su región","ADDON_STREAM_OFFLINECACHE":"Caché sin conexión","ADDON_STREAM_LOCALFILE":"Archivo Local","SHARE_ADDON":"Compartir complemento","AVAILABLE_STREAMS":"Transmisiones Disponibles","NO_STREAM":"No se encontraron transmisiones ","ALL_ADDONS":"Todos","INSTALL_MORE_ADDONS":"Para más transmisiones, por favor instale más complementos","STREAM_NOT_SUPPORTED":"La transmisión seleccionada no es soportada en esta plataforma.","ADDON_CATALOGUE":"Mostrar todos los complementos »","ADDON_CATALOGUE_MORE":"Instalar complementos","REPO_ADDED":"Repositorio agregado","ADDON_REPO_EXIST_ERR":"Este repositorio de complementos ya existe","ADDON_REPO_ERR":"Error ocurrido mientras agregaba repositorio","ADDON_ADD_ERR":"Error agregado mientras agregaba complemento","ERR_ADDON_PROTECTED":"No puedes desinstalar este complemento, esta protegido","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Algo ha salido mal - la autenticación pudo haber fallado","ERR_NOT_COLLECTION_URL":"No es una URL de colección","ERR_NOT_ADDON_URL":"No es una URL de complemento","ERR_DETECTFROMURL":"No se puede encontrar un complemento o coleccion desde esta URL","ADDON_DUPLICATE_WARNING":"Advertencia: complemento duplicado","ADDON_COLLECTION_SET_FAILED":"La sincronización de los complementos instalados en tu cuenta ha fallado","SETTINGS_DATA_EXPORT":"Exportar datos de usuario","ADDON_PULL_FAILED":"La sincronización de los complementos instalados desde tu cuenta ha fallado","REFRESH_ON_CLICK":"Hacer clic para intentarlo de nuevo","STILL_IN_THEATER":"Película aún en cines","WATCH_IN_CINEMA":"Véalo en su cine favorito","IN_THEATER":"En el cine","GET_TICKETS":"Conseguir entradas","UPCOMING_EPISODE":"Próximo episodio","UPCOMING_EPISODE_MESSAGE":"El próximo episodio se emitirá el","MISSING_DATE_EPISODE":"No existe la fecha de este episodio","MISSING_DATE_EPISODE_MESSAGE":"Es posible que este episodio no se haya emitido todavía","CHANNEL_NOT_SCRAPED":"Este canal aún no está habilitado.<br>Por favor, vuelve en unos minutos.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Añádelo a tu biblioteca para ser notificado una vez que esté disponible.","GET_NOTIFIED_WHEN_AVAILABLE":"Recibirá una notificación cuando esté disponible.","WARNING_STREAMING_SERVER":"Advertencia: Servidor de transmisión local no encontrado. La transmisión desde archivos locales, YouTube y BitTorrent no estará disponible.","WARNING_STREAMING_SERVER_DISMISS":"Descartar","WARNING_STREAMING_SERVER_LATER":"Después","DECODER_WARNING":"Advertencia: este video podría no ser soportado por su hardware. Tenga en cuenta que la reproducción podría ser lenta.","GENERIC_ERROR_MESSAGE":"¡Algo salió mal!","TRY_AGAIN":"Intentar nuevamente","CLEAR_DATA":"Limpiar datos","PLAYER_ERROR":"Ups!, ha ocurrido un error en el reproductor","PLAYER_ERROR_LOOKSLIKE":"Parece que","PLAYER_ORIENTATION":"Orientación del reproductor","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Bloqueada","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensor","PLAYER_ORIENTATION_LANDSCAPE":"Orientación del reproductor está bloqueada en modo horizontal","PLAYER_ORIENTATION_SENSOR":"Orientación del reproductor automática (sensor)","PLAYER_PLAYBACK_SPEED":"Velocidad de reproducción","PLAYER_PLAYBACK_ERROR":"Error de reproducción, por favor inténtalo de nuevo","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Error desconocido","PLAYER_PLAYBACK_ERROR_DEFAULT":"Lo sentimos, este video no puede ser reproducido por {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Idiomas de los subtítulos","PLAYER_SUBTITLES_VARIANTS":"Variantes de subtítulos","PLAYER_SUBTITLES_SETTINGS":"Configuración de subtítulos","PLAYER_SUBTITLES_DISABLED":"Los subtítulos están deshabilitados","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Posición vertical","PLAYER_SUBTITLES_LOADED":"Subtitulos cargados","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Subtitulos incrustados cargados","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Subtitulos exclusivos cargados","PLAYER_SUBTITLES_LOADED_ORIGIN":"Subtitulos desde {{origin}} cargados","PLAYER_PLAY":"Reproducir","PLAYER_PAUSE":"Pausa","PLAYER_NEXT_VIDEO":"Siguiente vídeo","PLAYER_MUTE":"Silenciar","PLAYER_UNMUTE":"Activar sonido","PLAYER_OPEN_IN_EXTERNAL":"Abrir en reproductor externo","PLAYER_OPEN_IN_NPLAYER":"Abrir en nPlayer","PLAYER_PLAY_IN":"Reproducir en {{device}}","PLAYER_LIVE":"En vivo","PLAYER_NEXT_VIDEO_TITLE":"A continuación en","PLAYER_NEXT_VIDEO_TITLE_SHORT":"A continuación","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Descartar","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Ver ahora","PLAYER_COPY_STREAM_SUCCESS":"El enlace de la transmisión se copió en tu portapapeles.","PLAYER_COPY_STREAM_ERROR":"No se pudo copiar el enlace de la transmisión","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"El enlace de descarga fue copiado a tu portapapeles","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Error al copiar enlace de descarga","STREAMING_FROM":"Transmitiendo desde","CASTING_TO":"Transmitiendo a","NETWORK_STATUS":"Estado de la red","STREAM_SPEED":"Velocidad de la transmisión:","STREAM_BUFFERED":"Almacenado:","PEERS_INFO":"Información de pares","PEERS_ACTIVE":"Activos:","PEERS_CONNECTED":"Conectados:","PEERS_WAITING":"Esperando:","TRANSCODING_WARNING":"Alerta: transcodificando video.","STREAM_LOADING":"cargando...","PLAYING_LOCAL":"reproduciendo desde archivo local","PLAYING_CACHE":"reproduciendo desde la memoria caché","WRONG_SUBS":"¿Subtítulos erróneos?","ERR_SUBS_LOADING_TITLE":"Error cargando subtítulos","ERR_SUBS_LOADING":"Error al cargar los subtítulos: esto podría ser un problema con el complemento que está utilizando o con su conexión de internet","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Los siguientes complementos de subtítulos fallaron","ERR_CASTING_UPDATE_TITLE":"No se pudo actualizar la información del dispositivo de transmisión: el servidor de transmisión puede estar fuera de línea","CHOOSE_DEVICE":"Elija un dispositivo para ver","NO_CAST_DEVICES":"No hay dispositivos de transmisión disponibles.","NO_SETTINGS":"No hay configuraciones disponibles.","PHONE_TABLET":"Móvil / Tablet","SUBTITLES":"Subtítulos","SUBTITLES_CHANGE":"Cambiar subtítulos por ","SUBTITLES_CHANGE_NONE":"Lo siento, no hay otros subtítulos para este idioma.","SUBTITLES_CHANGE_ACIVE":"Actualmente los subtítulos &#35;{{subtitlesDialog.activeIdx + 1}} están activados. Haga clic en \\"Continuar\\" para activar los subtítulos &#35;{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Alternativamente,","SUBTITLES_ADJUST_DELAY":"Ajuste de retraso de subtítulos:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"O utilice las teclas <span>G</span> / <span>H</span> durante la reproducción para ajustar.","SUBTITLES_ADJUST_DELAY_TIP":"Nota: Puede usar las teclas <span>G</span> / <span>H</span> durante la reproducción para ajustar.","SUBTITLES_DELAY":"Retraso de subtítulos:","SUBTITLES_LOADING":"Cargando subtítulos...","SUBTITLES_UNAVAILABLE":"No hay subtítulos externos disponibles","SUBTITLES_DISABLED":"Desactivado","EXTERNAL_PLAYER_DISABLED":"Desactivado","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Permitir elegir","EXTERNAL_PLAYER_HINT":"Consejo: Existe una configuración que permite abrír siempre con un reproductor externo","DONT_SHOW_AGAIN":"No mostrar de nuevo","SERVICE_INSTALL":"Instalar","AUDIO":"Audio","DEFAULT_LANGUAGE":"Idioma por defecto","DEFAULT_SECONDARY_LANGUAGE":"Idioma secundario por defecto","SEASON":"Temporada","EPISODE":"Episodio","EPISODE_ABBREVIATION":"EP","SPECIAL":"Especial","SORT":"ordenar","SORT_BY":"Ordenar por","FILTER":"filtrar","SORT_TRENDING":"tendencias","SORT_RECENT":"reciente","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"calificación","SORT_WATCHED":"visto","SORT_YEAR":"año","SELECT_TYPE":"Seleccionar tipo","SELECT_SORT":"Seleccionar orden","SELECT_CATALOG":"Seleccionar catálogo","SELECT_GENRE":"Seleccionar género","SORT_LASTWATCHED":"Por último visto","SORT_NAME":"Por nombre","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"Por veces vista","SORT_NOTWATCHED":"not watched","New for You":"Nuevo para ti","New Episodes":"Nuevos Episodios","New Videos":"Nuevos Videos","Recommendations":"Recomendaciones","LIBRARY_RESUME":"Reanudar","LIBRARY_PLAY":"Reproducir","LIBRARY_DETAILS":"Detalles","LIBRARY_RESUME_DISMISS":"Descartar","LIBRARY_CLEAR_PROGRESS":"Limpiar progreso","LIBRARY_REMOVE":"Eliminar","LIBRARY_NOT_LOGGED_IN":"La biblioteca sólo está disponible para usuarios conectados","CALENDAR_NOT_LOGGED_IN":"El calendario sólo está disponible para usuarios conectados","NOT_LOGGED_IN_CLOUD":"Acceda a sus películas y programas de televisión favoritos en cualquier momento y lugar","NOT_LOGGED_IN_RECOMMENDATIONS":"Recomendaciones personalizadas basadas en tu historial de visualización","NOT_LOGGED_IN_NOTIFICATIONS":"No vuelva a perderse un episodio","NOT_LOGGED_IN_CALENDAR":"Programe su calendario de visualización personal","DISCOVER_FEATURED":"Destacado","DISCOVER_TOP":"Top","DISCOVER_OSCAR":"Ganadores del Oscar","DISCOVER_WARNING_TITLE":"Oops!","DISCOVER_EMPTY_CATALOG":"Esta extensión no retornó contenido.","DISCOVER_ADULT_WARNING":"El contenido es visible solo para adultos. ¿Eres mayor de 18 años?","DISCOVER_NOADDON_WARNING":"Advertencia: no hay un complemento de Stremio activo para este tipo. Se muestran elementos guardados, nada aquí se actualizará","DISCOVER_LOAD_ERR":"El contentido no se cargó, ocurrió un error.","DISCOVER_ADDON_UNINSTALLED":"Este contenido ya no está disponible, es posible que hayas desinstalado el complemento.","UNINSTALL_THIS_ADDON":"Desinstalar este complemento","ERR_ADDON_NOT_INSTALLED":"Este complemento no está instalado. ¿Instalar ahora?","DETAIL_RECEIVE_NOTIF_SERIES":"Recibir notificaciones de nuevos episodios","DETAIL_RECEIVE_NOTIF_VIDEOS":"Recibir notificaciones de nuevos videos","SIDEBAR_SHOW_STREAMS":"Mostrar transmisiones","RELAUNCH":"¡Relanzar ahora!","UPGRADE":"¡Una nueva versión está disponible! Actualiza a la versión más reciente de Stremio","RELOAD_UI":"Recargar la interfaz de usuario","MANUAL_UPDATE_TITLE":"Actualice su versión de Stremio","MANUAL_UPDATE_LINE1":"Está ejecutando una versión desactualizada de Stremio lo cual no se recomienda.","MANUAL_UPDATE_LINE2":"Por favor, actualice lo antes posible.","BUTTON_UPDATE_LATTER":"Ahora no","BUTTON_UPDATE_NOW":"Actualizar","ANONYMOUS_USER":"Usuario anónimo","DONT_HAVE_ACC":"¿No tienes una cuenta?","HAVE_ACC":"¿Ya tiene una cuenta?","PASSWORD":"Contraseña","PASSWORD_CONFIRM":"Confirme su contraseña","EMAIL":"Correo electrónico","FB_LOGIN":"Continuar con Facebook","FB_NOTHINGSHARED":"Nada será compartido sin su permiso","FB_NOPOST":"No publicaremos nada en su nombre","OR":"o","I_ACCEPT":"Yo acepto los","I_ACCEPT_BY_CLICKING":"Al hacer clic en el botón de arriba testifico que acepto los ","TOS":"Términos y Condiciones","MUST_ACCEPT_TERMS":"Debes aceptar los términos","PASSWORDS_NOMATCH":"Las contraseñas no coinciden","SIGN_UP":"Regístrate","SIGN_UP_EMAIL":"Regístrese con un correo electrónico","CLICK_TO_SIGN_UP":"Clic aquí para registrarse.","LOG_IN":"Iniciar sesión","LOG_OUT":"Cerrar sesión","EXIT_FULLSCREEN":"Salir de modo pantalla completa","ENTER_FULLSCREEN":"Entrar en modo pantalla completa","PLAY_URL_MAGNET_LINK":"Reproducir URL/enlace magnético","HELP_FEEDBACK":"Ayuda y retroalimentación","TERMS_OF_SERVICE":"Términos del servicio","PRIVACY_POLICY":"Política de privacidad","ABOUT_STREMIO":"Sobre Stremio","USER_PANEL":"Panel de usuario","LOGIN_LABEL":"Acceder","GUEST_LOGIN":"Acceder como invitado","GUEST_LOGIN_NOTICE":"Acceder como invitado no es recomendable. Ingresar con tu cuenta le permite a Stremio sincronizar tu Biblioteca y recibir notificaciones para tus series/canales favoritos. ¿Estás seguro de que quieres continuar?","GUEST_LOGIN_NOTICE_2":"Acceder como invitado no es recomendable - no se sincronizaran las notificaciones de la Biblioteca y el Panel, que son carácterísticas vitales de Stremio. ¿Seguro que desea continuar?","CLICK_HERE":"clic aquí","WRONG_PASSWORD":"Correo electrónico y/o contraseña incorrectos. En caso de que haya olvidado su contraseña, ","SET_A_PASS":"establecer una contraseña","RESET_PASSWORD":"Restablecer contraseña","FORGOT_PASSWORD":"¿Olvidaste tu contraseña?","EMAIL_USED_WITH_FB":"Este correo electrónico ya fue utilizado con un inicio de sesión de Facebook.","INVALID_EMAIL":"Por favor, ingrese un correo electrónico válido","INVALID_PASSWORD":"Por favor, ingrese una contraseña válida","CONN_ERR":"Error de conexión - por favor, inténtelo de nuevo más tarde.\\n\\nSi esto persiste, desactivar programas cortafuegos / antivirus (especialmente Bitdefender).","IMPORT_FROM_GUEST":"Importar Biblioteca desde su cuenta de invitado","RECEIVE_UPDATES_EMAIL":"Recibe novedades de Stremio en tu correo electrónico","LOGIN_FAILED":"Error al iniciar sesión.","SIGNUP_FAILED":"Error al registrarse.","SEARCH_FAILED":"Error al buscar","EMAIL_USED":"Este correo electrónico ya está en uso.","WAITING_FB_LOGIN":"Iniciando sesión con Facebook...","EXTERNAL_PLAYER_TITLE":"Reproducir en reproductor externo","EXTERNAL_REMEMBER_PLAYER":"¿Quieres recordar tu elección?","EXTERNAL_ALWAYS_PLAY":"Si","EXTERNAL_ONLY_ONCE":"No","BEST_FIT":"Mejor Ajuste","FIT_SCREEN":"Ajustar a la pantalla","FILL":"Rellenar","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"Cuéntanos de tus gustos","INTRO_TASTE_LONG":"Cuéntanos que te gustaría ver","INTRO_TASTE_PICK":"Selecciona {{interestsRemaining}} intereses","INTRO_TASTE_PICK_MORE":"Selecciona {{interestsRemaining}} más intereses","INTRO_TASTE_HELP_US":"Ayúdanos a saber más de ti.","INTRO_TASTE_CHOOSE_THESE":"Escoge algunos de estos:","INTRO_TASTE_CHOOSE_MIN":"Escoge al menos 3 categorías","INTRO_TASTE_CHOOSE_MIN_ERR":"¡Tienes que seleccionar al menos 3 categorías!","INTRO_TASTE_LIFESTYLE":"Estilo de vida","INTRO_TASTE_SPORTS":"Deportes","INTRO_TASTE_FOOD_HEALTH":"Comida y Salud","INTRO_TASTE_BEAUTY_FASHION":"Belleza y Moda","INTRO_TASTE_NEWS":"Noticias","INTRO_TASTE_GAMING":"Juegos","INTRO_TASTE_SCIENCE_EDU":"Ciencia y Educación","INTRO_TASTE_MUSIC":"Música","INTRO_TASTE_TRAVEL":"Viajes","INTRO_TASTE_LATE_NIGHT":"Espectáculo nocturno","INTRO_TASTE_REALITY":"Reality","INTRO_TASTE_COMEDY":"Comedia","INTRO_TASTE_DIY":"Hazlo tú mismo","INTRO_TASTE_TECH":"Tecnología","INTRO_TASTE_CINEMA":"Cinema","ADDON_NOT_SUPPORTED":"El complemento seleccionado no es soportado en esta plataforma.","ADDON_DISCLAIMER":"El uso de complementos siempre estarán sujetos a su responsabilidad y la ley de gobierno de la jurisdicción en que te encuentres.","ADDON_ACTIVATE":"¿Activar este complemento?","ADDON_REPO_ADD":"URL del repositorio de complementos","ADDON_ADD":"Agregar","INSTALL_ADDON":"Instalar extensión","ADD_ADDON":"Agregar complemento","ADD_ADDON_DESCRIPTION":"Puedes agregar un complemento a través de un enlace externo, que aparecerá en complementos instalados.","PASTE_ADDON_URL":"Pegar enlace de complemento","WHATS_NEW":"Qué hay de nuevo","BUTTON_CONTINUE":"Continuar","BUTTON_ACTIVATE":"Activar","BUTTON_ACTIVATED":"Activado","BUTTON_CANCEL":"Cancelar","BUTTON_SUBMIT":"Enviar","BUTTON_DISMISS_ALL":"Descartar todo","BUTTON_VIEW_ALL":"ver todo","BUTTON_SEE_ALL":"Ver Todo","BUTTON_COLOR_TRANSPARENT":"Transparente","OPEN_IN_BROWSER":"Abrir en el navegador","LIB_EMPTY":"Su biblioteca se ve vacía. Averigüe lo útil que es :) ","HOW_START":"Así es cómo puedes empezar:","LIB_EMPTY_CAL":"Su calendario muestra series en su Biblioteca.","HOW_START_CAL":"Así es como se puede agregar series:","LIB_EMPTY_BOARD":"El Panel muestra notificaciones y recomendaciones relacionadas con su Biblioteca.","HOW_START_BOARD_WAIT":"Por favor, añada algunas series o canales a su Biblioteca y denos unos minutos para procesarlo :)","HOW_START_BOARD":"Así es como se puede agregar series y películas a la misma:","IMPORT_FB":"Importa cosas que te gustan desde <span>Facebook</span>","IMPORT_TRAKT":"Importa tu biblioteca multimedia de <span>Trakt</span>","IMPORT_DISCOVER":"Encontrar cosas interesantes de <span>Descubrir</span>","IMPORT_DISK":"Importar películas o series que tiene en su <span>disco local</span>","PLEASE_CREATE_ACC":"Por favor <u>crea una cuenta</u> para activar la sincronización de la Biblioteca y Panel.","IMPORT_DISCOVER_SIGNUP":"Regístrate y encuentra cosas interesantes en <span>Descubrir</span>","IMPORT_DISK_SIGNUP":"Regístrate e importa películas o series desde tu <span>disco local</span>","LIB_EMPTY_CLOUD":"Biblioteca en la nube","LIB_EMPTY_CLOUD_DESC":"Biblioteca en la nube personal y sincronizada con todos los dispositivos","LIB_EMPTY_EARLY":"Acceso temprano","LIB_EMPTY_EARLY_DESC":"Recibir notificaciones de nuevos episodios","LIB_EMPTY_PERSONAL":"Personal","LIB_EMPTY_PERSONAL_DESC":"Obtener recomendaciones personalizadas","LIB_EMPTY_CALENDAR_DESC":"Programe su calendario de visualización personal","LIB_EMPTY_ALL":"Regístrese para obtener todo esto:","LIB_EMPTY_BEST":"Regístrese para obtener lo mejor de Stremio","LIB_EMPTY_OTHER":"Regístrese para habilitar el Calendario y otras excelentes características","CALENDAR_ADDED":"El calendario de Stremio ha sido agregado a su calendario de escritorio por defecto.","CALENDAR_ADDED_MSG":"Si esto no funciona, por favor agregue esta URL manualmente a su aplicación de calendario","TRAKT_EXPIRED":"La autenticación de Trakt expiró, vaya a Configuración y vuelva a autenticar","TRAKT_REQUIRES_LOGIN":"Error de Trakt","TRAKT_REQUIRES_LOGIN_MSG":"Necesitas iniciar sesión","TRAKT_IMPORT_WATCHED":"Importar","THEME":"Tema","THEME_DEFAULT":"Por defecto","THEME_ADAPTIVE":"Adaptativo","SETTINGS_LABEL":"Configuración","SETTINGS_NAV_GENERAL":"General","SETTINGS_NAV_PLAYER":"Reproductor","SETTINGS_NAV_STREAMING":"Transmisión","SETTINGS_NAV_SHORTCUTS":"Atajos","SETTINGS_SHORTCUT_RELOAD_APP":"Recargar Aplicación","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Abrir Configuración","SETTINGS_SHORTCUT_SWITCH_TABS":"Cambiar Pestañas","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Desplazarse por las Pestañas hacia Adelante","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Desplazarse por las Pestañas hacia Atrás","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navegar entre Menús","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Ir a Buscar","SETTINGS_SHORTCUT_EXIT_BACK":"Salir / Regresar","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Alternar el menú de velocidad de reproducción","SETTINGS_SHORTCUT_MENU_VIDEOS":"Alternar menú de videos","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Alternar menú de subtítulos","SETTINGS_SHORTCUT_MENU_INFO":"Alternar menú de información","SETTINGS_SHORTCUT_FULLSCREEN":"Alternar Pantalla Completa","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Mostrar Controles","SETTINGS_SHORTCUT_PLAY_PAUSE":"Reproducir / Pausar","SETTINGS_SHORTCUT_VOLUME_UP":"Subir Volumen","SETTINGS_SHORTCUT_VOLUME_DOWN":"Bajar Volumen","SETTINGS_SHORTCUT_SEEK_NEXT":"Buscar Siguiente","SETTINGS_SHORTCUT_SEEK_PREV":"Buscar Previo","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Buscar hacia atrás","SETTINGS_SHORTCUT_SEEK_FORWARD":"Buscar hacia adelante","SETTINGS_SHORTCUT_PLAY_NEXT":"Reproducir Siguiente","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Aumentar Tamaño del Subtítulo","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Reducir Tamaño del Subtítulo","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Aumentar Retraso del Subtítulo","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Reducir Retraso del Subtítulo","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Alternar Menu Lateral","SETTINGS_SHORTCUT_OR":"o","SETTINGS_SHORTCUT_TO":"a","SETTINGS_SHORTCUT_SPACE":"Espacio","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Autenticar","SETTINGS_FACEBOOK_IMPORT":"Importar","SETTINGS_CALENDAR_SUBSCRIBE":"Suscribir","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Lenguaje de interfaz","SETTINGS_LAUNCH_STARTUP":"Abrir cuando arranque el equipo","SETTINGS_VLC_DEFAULT":"Reproducir con VLC","SETTINGS_UI_LANGUAGE":"Idioma de la interfaz de usuario","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Tecla de escape para salir del modo pantalla completa","SETTINGS_GAMEPAD":"Habilitar soporte para mando","SETTINGS_CLOSE_WINDOW":"Cerrar la aplicación cuando se cierra la ventana","SETTINGS_SUBTITLES_LANGUAGE":"Idioma de subtítulos predeterminado","SETTINGS_SUBTITLES_SIZE":"Tamaño de subtítulos predeterminado","SETTINGS_SUBTITLES_BACKGROUND":"Fondo de subtítulos","SETTINGS_SUBTITLES_COLOR":"Color de subtítulos","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Color del contorno de los subtítulos","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Color de fondo de los subtítulos","SETTINGS_SEEK_KEY":"Tiempo de búsqueda de las teclas de flecha","SETTINGS_SEEK_KEY_SHIFT":"Tiempo de búsqueda de las teclas de flecha cuando se mantiene la tecla Shift","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Duración de rebobinado y avance rápido","SETTINGS_BINGE":"Comenzar automáticamente el siguiente episodio","SETTINGS_NEXT_VIDEO":"Mostrar notificación para que comience el siguiente episodio","SETTINGS_NEXT_VIDEO_TRIGGER":"Mostrar la notificación de próximo episodio para:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Duración de la ventana emergente del siguiente video","SETTINGS_PLAY_IN_BACKGROUND":"Reproducir en segundo plano","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Reproducir en un reproductor externo","SETTINGS_RESIZE":"Ajustar ventana automáticamente antes de reproducir","SETTINGS_OVERRIDE_SERVER":"Anular la URL del servidor de transmisión (avanzado)","SETTINGS_SERVER_URL":"URL del servidor de transmisión ","SETTINGS_SERVER_AVAILABLE":"El servidor de transmisión está disponible.","SETTINGS_SERVER_UNAVAILABLE":"El servidor de transmisión no está disponible.","SETTINGS_SERVER_STATUS_ONLINE":"En linea","SETTINGS_SERVER_STATUS_ERROR":"Error","SETTINGS_SERVER_CONFIGURE_TITLE":"Configurar enlace del servidor de transmisión","SETTINGS_SERVER_CONFIGURE_INPUT":"Ingrese enlace del servidor de transmisión","SETTINGS_SERVER_CACHE_SIZE":"Tamaño de caché","SETTINGS_SERVER_TORRENT_PROFILE":"Perfil de torrent","SETTINGS_HTTPS_ENDPOINT":"Punto final HTTPS de transmisión: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Utilice siempre la última Beta","SETTINGS_IMPORT_FB":"Importar desde Facebook","SETTINGS_IMPORT_DISK":"Importar desde el disco local","SETTINGS_IMPORT_TRAKT":"Importar desde Trakt","SETTINGS_PAUSE_MINIMIZED":"Pausar la reproducción cuando se minimiza","SETTINGS_HWDEC":"Decodificación acelerada por hardware","SETTINGS_BACKGROUND":"Reproducción de fondo","SETTINGS_SUBSCRIBE_CALENDAR":"Suscribirse al calendario","SETTINGS_REQ_EXPORT":"Solicitar mis datos","SETTINGS_ACC_DELETE":"Eliminar mi cuenta","SETTINGS_CHANGE_PASSWORD":"Cambiar contraseña","SETTINGS_TOS":"Términos de servicio","SETTINGS_SUPPORT":"Soporte","SETTING_LANGUAGE":"Idioma","SETTINGS_TRAKT":"Seguimiento con Trakt","SETTINGS_TRAKT_LOGOUT":"Salir de Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Salir de Trakt","SETTINGS_SCAN_FOR_REMOTE":"Escanear código QR para abrir el control remoto","SETTINGS_DESKTOP_NOTIFICATIONS":"Notificaciones de escritorio","SETTINGS_DATA_SAVER":"Ahorrador de datos","SETTINGS_LANGUAGE_INTERFACE":"interfaz","SETTINGS_LANGUAGE_SUBS":"Subtítulos por defecto","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Autoseleccionar Pista de Audio","SETTINGS_DEFAULT_AUDIO_TRACK":"Pista de Audio por defecto","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"cuenta","SETTINGS_PLATFORM":"Plataforma","SETTINGS_VERSION":"versión","SETTINGS_ABOUT":"Acerca de","SETTINGS_MPV_WINDOW":"Abrir reproductor en una ventana separada (avanzado)","SETTINGS_PLAY_IN_EXTERNAL":"Iniciar siempre el video en un reproductor externo","SETTINGS_STORAGE_BUTTON":"Borrar almacenamiento local","SETTINGS_STORAGE_MODAL_TITLE":"¿Está seguro?","SETTINGS_STORAGE_MODAL_MESSAGE":"Esta opción borrará el almacenamiento local y terminará su sesión.","SETTINGS_HWDEC_PICKER":"Selecciona la configuración de decodificación acelerada por hardware","SETTINGS_HW_AUTOMATIC":"Automático","SETTINGS_HW_DISABLED":"Deshabilitada","SETTINGS_HW_ACCELERATED":"Decodificación Acelerada","SETTINGS_HW_FULL":"Aceleración Completa","SETTINGS_HW_LEGACY":"Legado","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"URL remota","SETTINGS_COPY_REMOTE_URL":"Copiar URL remota","SETTINGS_REMOTE_URL_COPIED":"La URL remota fue copiada a tu portapapeles","SETTINGS_SECTION_SUBTITLES":"Subtítulos","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Controles","SETTINGS_SECTION_AUTO_PLAY":"Reproducción automática","SETTINGS_SECTION_ADVANCED":"Avanzado","SUBSPICKER_AUDIO":"Audio","SUBSPICKER_SUBTITLES":"Subtítulos de complementos","SUBSPICKER_BLACK_BACKGROUND":"Usar color de fondo negro","SUBSPICKER_VERTICAL_OFFSET":"Desplazamiento Vertical","SUBSPICKER_SIZE":"Tamaño","SUBSPICKER_DELAY":"Retraso","SUBSPICKER_EMBEDDED_SUBS":"Subtítulos Embebidos","MOBILE_PRIVACY_POLICY":"Política de Privacidad","MOBILE_CRASH_REPORTING":"Reporte de Errores","MOBILE_ZOOM_TO_FILL":"Aumentar para Rellenar la Pantalla","MOBILE_PASSTHROUGH":"Salida de audio digital (passthrough)","MOBILE_RUN_LOW_BATTERY":"Ejecutar con batería baja","MOBILE_RUN_FOREGROUND":"Ejecutar en segundo plano","MOBILE_PERFORMANCE":"Rendimiento y Estabilidad","MOBILE_SERVER_ONLINE":"En Línea","MOBILE_SERVER_OFFLINE":"Desconectado","MOBILE_QR_EXPIRES":"El Código QR expira en ","MOBILE_LOG_INTO":"Iniciar sesión en tu cuenta de Stremio ","MOBILE_SCAN_QR":"Escanea el Código QR de arriba o visita ","MOBILE_LINK_ACCOUNT":"Asociar Cuenta","MOBILE_SPEEDPICKER_CANCEL":"Cancelar","MOBILE_SPEEDPICKER_LABEL":"Seleccionar Velocidad de Reproducción","MOBILE_EMPTY_LIBRARY":"Tu Biblioteca está vacía","MOBILE_NO_ADDON_ACTIVE":"No hay complemento de Stremio activo para este tipo.","MOBILE_ORGANIZER_WARNING":"La aplicación Stremio Organizer proporciona una funcionalidad limitada. Para obtener una lista de transmisiones reproducibles y la experiencia completa de Stremio, use Stremio en el escritorio.","MOBILE_ADDON_LOADING":"todavía está cargando","MOBILE_ADDONS_LOADING":"los complementos aún se están cargando","MOBILE_ADDON":"Complemento","MOBILE_CONFIGURE_ADDON":"Configura tu complemento","MOBILE_CONFIGURE_ADDON_LABEL":"Configurar Complemento","MOBILE_ORGANIZER_ADDONS_WARNING":"La aplicación Stremio Organizer ofrece una selección limitada de complementos. Para disfrutar de la experiencia completa de Stremio, use Stremio en el escritorio.","MOBILE_DISCONNECT":"Desconectar","MOBILE_LOOKING_FOR_DEVICES":"Buscando dispositivos...","MOBILE_CAST_TO":"Emitir a","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Eliminar cuenta","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"La eliminación de la cuenta no es instantánea debido a obligaciones legales. Después de solicitar la eliminación de su cuenta, tendrá que utilizar un correo electrónico/perfil de Facebook diferente para crear una nueva cuenta de Stremio","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirmar eliminación de la cuenta","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Su cuenta ha sido creada usando Facebook. Para eliminar su cuenta, utilice nuestro portal de usuario en www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Proporcione su contraseña para confirmar la eliminación de su cuenta.","MOBILE_DELETE_ACCOUNT_BUTTON":"Eliminar cuenta","NAVIGATION_ON":"Encendido","NAVIGATION_OFF":"Apagado","MARKETING_AGREE":"Acepto recibir comunicaciones de marketing de Stremio","QUIT":"Salir","CONNECTED":"Conectado","AUTHENTICATE":"Autenticar","CACHING":"Almacenamiento en caché","SETTINGS_CACHING_DRIVE":"Seleccione la unidad de almacenamiento en caché","ENABLE_LOCAL_FILES_ADDON":"Habilite el complemento de archivos locales (requiere reiniciar)","LOCAL_ADDON_NOT_ENABLED":"El complemento local no está habilitado. Haga clic aquí para ir a la configuración y habilitarlo","ENABLE_REMOTE_HTTPS_CONN":"Habilitar conexiones HTTPS remotas","TORRENT_PROFILE":"Perfil de Torrent","DATA_CACHING":"Caché almacenada","MAGNET_PARSING":"Analizando un enlace magnético","January":"Enero","February":"Febrero","March":"Marzo","April":"Abril","May":"Mayo","June":"Junio","July":"Julio","August":"Agosto","September":"Septiembre","October":"Octubre","November":"Noviembre","December":"Diciembre","Monday":"Lunes","Tuesday":"Martes","Wednesday":"Miércoles","Thursday":"Jueves","Friday":"Viernes","Saturday":"Sábado","Sunday":"Domingo","Action":"Acción","Comedy":"Comedia","War":"Guerra","Family":"Familia","Animation":"Animación","Adventure":"Aventura","Fantasy":"Fantasía","Crime":"Crimen","Mystery":"Misterio","Romance":"Romántico","Drama":"Drama","Horror":"Terror","Thriller":"Suspenso","Sci-Fi":"Ciencia ficción","Music":"Música","Biography":"Biografía","Documentary":"Documental","Sport":"Deporte","Musical":"Musical","Western":"Western","Film-Noir":"Film-Noir","News":"Noticias","History":"Historia","Game-Show":"Programa de juegos","Reality-TV":"Reality shows","Talk-Show":"Programa de entrevistas","Film & Entertainment":"Cine y Entretenimiento","Gaming":"Juegos","From TV":"De la televisión","Lifestyle":"Estilo de vida","Science & Education":"Ciencia y Educación","Cooking & Health":"Cocina y Salud","Beauty & Fashion":"Belleza y Moda","Sports":"Deportes","News & Politics":"Noticias y Política","How-to & DIY":"Cómo hacer y bricolaje","Tech":"Tecnología","Automotive":"Automotores","Causes & Non-Profits":"Causas y Fines de Lucro","Movies":"Películas","Uk Live Tv":"TV británica en vivo","Fashion":"Moda","Business News Radio":"Noticias de negocios - Radio","Business Tv":"Negocios TV","Cars & Auto":"Autos","Comedy Radio":"Comedia - Radio","Lifestyle Radio":"Estilo de vida - Radio","News Tv":"Noticias TV","Food And Wine":"Comida y Vino","Latino Tv":"Latino TV","Shopping Tv":"Compras TV","Religion":"Religión","Kids":"Niños","Body & Soul":"Cuerpo y Alma","Education":"Educación","Indian Tv":"India TV","Extreme Sports":"Deportes extremos","Middle Eastern Tv":"Medio oriente TV","Celebrity Tv":"Celebridades TV","Science Tv":"Ciencia TV","Bikini babe":"Bikini babe","Outdoors":"Al aire libre","German Tv":"TV alemana","French Tv":"TV francesa","Italian Tv":"TV italiana","Gamer Tv":"TV Videojuegos","Travel":"Viajes","Asian Tv":"TV asiática","Entertainment":"Entretenimiento","News Radio":"Noticias - Radio","Music Radio":"Música - Radio","Language Learning":"Aprendizaje de idiomas","Science Radio":"Ciencia - Radio","Tech Radio":"Tecnología - Radio","Science & Technology Vod":"Ciencia y Tecnología VBD","new video":"nuevo video","new episode":"nuevo episodio","new movie":"nueva película","recommended":"recomendado","we recommend":"recomendamos","offer of the day":"oferta del día","news":"noticias","music video":"vídeo musical","CTX_SHOW_HOTKEYS":"Mostrar teclas de acceso rápido","CTX_DISMISS_NOTIF":"Descartar notificaciones","CTX_DISMISS_ALL":"Descartar todo","CTX_SHARE":"Compartir","CTX_COPY_SHARE_LINK":"Copiar enlace para compartir","CTX_COPY_MAGNET_LINK":"Copiar enlace magnético","CTX_COPY_STREAM_LINK":"Copiar enlace de la transmisión","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copiar enlace de descarga del video","CTX_DOWNLOAD_VIDEO":"Descargar este vídeo","CTX_DOWNLOAD_SUBS":"Descargar subtítulos","CTX_VIEW_ON_YOUTUBE":"Ver en YouTube","CTX_SHOW":"Mostrar","CTX_PLAY":"Reproducir","CTX_PLAY_IN":"Reproducir aquí","CTX_PLAY_ON":"Reproducir en","CTX_WATCH_ON":"Ver en","CTX_WATCH":"Ver","CTX_WATCHED":"Visto","CTX_WATCH_BEGINNING":"Mirar desde el principio","CTX_WATCH_MOBILE":"Ver en un dispositivo móvil","CTX_REWIND":"Retroceder al comienzo","CTX_MARK_WATCHED":"Marcar como visto","CTX_MARK_NON_WATCHED":"Marcar como no visto","CTX_MARK_UNWATCHED":"Marcar como no visto","CTX_MARK_REST":"Marcar el resto como visto","CTX_UNMARK_REST":"Marcar el resto como no visto","CTX_RECEIVE_NEW_NOTIF":"Recibir notificaciones nuevas","CTX_ENABLE_NEW_NOTIF":"Habilitar notificaciones","CTX_DISABLE_NEW_NOTIF":"Deshabilitar notificaciones","CTX_REMOVE_CACHE":"Eliminar de caché","CTX_REMOVE_CACHE_EP":"Eliminar el episodio de la memoria caché","CTX_OPEN_CONTAINING":"Abrir carpeta contenedora","CTX_REMOVE":"Eliminar de la Biblioteca","CTX_AVAILABLE_OFFLINE":"Disponible sin conexión","CTX_PAUSED":"Pausado","CTX_ALWAYS_ON_TOP":"Siempre en la parte superior","CTX_FULLSCREEN":"Pantalla completa","CTX_WRONG_SUBS":"¿Subtítulos erróneos?","CTX_REPORT_ISSUES":"Reportar un problema","CTX_COPY":"Copiar","CTX_PASTE":"Pegar","CTX_CLEAR":"Limpiar","CTX_CLEAR_RECENT_SEARCHES":"Borrar búsquedas recientes","HELLO_THERE":"Hola","HOPE_YOU_ENJOY":"¡Esperamos que disfrute de Stremio y sea una de sus aplicaciones favoritas!","WHO_ARE_WE":"¿Quiénes somos? Somos el equipo detrás de ella <br>dos chicos que trabajan duro todos los días durante los últimos 3 años, con un único objetivo <br>para hacer este producto cada vez mejor.","SUPPORT_US":"Si disfrutas usando Stremio, si Stremio es valioso para ti - apóyanos!","SPREAD_THE_WORD":"Comparte con tus amigos ahora, corre la voz sobre Stremio","MORE_PEOPLE":"Cuantas más personas usen Stremio, mejor será","SEND_A_LINK":"O envía un enlace de nuestro sitio web","TIP_LOCALFILES":"Consejo: puede arrastrar y soltar archivos de vídeo locales en Stremio","ADDON_MY":"Mis complementos","ADDON_COMMUNITY":"Complementos de la comunidad","ADDON_OFFICIAL":"Complementos oficiales","ADDON_REPOS":"Repositorios de complementos","ADDON_SEARCH":"Buscar complementos","ADDON_INSTALL":"Instalar","ADDON_CONFIGURE":"Configurar","ADDON_UNINSTALL":"Desinstalar","ADDON_UPGRADE":"Actualizar","ADDON_INSTALLED":"Instalado","ADDON_INSTALLED_MSG":"¡Complemento instalado!","ADDON_UPGRADED_MSG":"¡Complemento actualizado!","ADDON_UNKNOWN":"Desconocido","ADDON_ERR":"¡Error instalando complemento!","ADDON_DISCONNECTED":"Desconectado","ADDON_APP_MISSING":"la aplicación para este recurso no está instalada. ¿Quieres instalarla ahora?","ADDON_APP_INSTALL":"Instalar ahora","ADDON_PAGE":"Página del complemento","ADDON_TOP_CONTENT":"Lo mejor de este complemento","ADDON_PROVIDES":"Este complemento le proporciona:","ADDON_WATCH":"¡Ver #{types} ahora!","ADDON_WATCH_FREE":"¡Ver #{types} de forma GRATUITA ahora!","ADDON_ADDON":"Complemento","ADDON_SUPPORTED_TYPES":"Tipos compatibles","ADDON_SUPPORTED_CATALOGS":"Catálogos compatibles","ADDON_PROVIDES_DISCOVER":"Más #{types} en Descubrir","ADDON_PROVIDES_STREAMS":"Ver #{types}","ADDON_PROVIDES_STREAMS_FREE":"Ver #{types} de forma GRATUITA","ADDON_PROVIDES_SUBTITLES":"Subtítulos #{types}","ADDON_CANTDETECT":"No hemos podido detectar un Stremio en ejecución, así que no pudimos detectar qué complementos tiene instalado.","ERR_NO_META":"No se encontró información sobre esto ","ERR_GETTING_META":"Error al recuperar información sobre esto.","ERR_CANT_PARSE_MAGNET":"Incapaz de analizar enlace magnético","ERR_NO_MAGNET_INFOHASH":"Código hash inválido para enlace magnético","ERR_NO_FILE_PATH":"Incapaz de enviar solicitud sin una ruta de archivo","ERR_NO_TORRENT":"No se devolvió torrent","ERR_NO_SUPPORTERD_FILES":"No se encontraron archivos compartibles","ERR_OPENING_FILES":"No se pudieron abrir los archivos externos","ERR_INVALID_LINK":"Enlace inválido","ERR_REGISTERED_ONLY":"Esta opción está disponible solo para usuarios registrados.","ERR_CLIPBOARD":"No se puede reproducir desde el portapapeles","ERR_CLIPBOARD_READ":"Desde esta plataforma no se puede acceder al portapapeles","ERR_CLIPBOARD_GENERIC":"No se ha encontrado ningún URL reproducible en el portapapeles. Por favor, copie una URL (por ejemplo un enlace magnético) que lleve a un vídeo.","BOARD_CONTINUE_WATCHING":"Continuar viendo","BOARD_EXPLANATION_RECOMMENDATIONS":"Películas elegidas especialmente para ti.<br />Esta película es una muestra de recomendación.","BOARD_EXPLANATION_EPISODES":"Los nuevos episodios de tus series favoritas están aquí<br />Agrega las series que sigues en tu Biblioteca.","BOARD_EXPLANATION_VIDEOS":"Los nuevos videos de tus canales favoritos están aquí.<br />Agrega los canales de YouTube que sigues a tu Biblioteca.","WEBSITE_ENJOYED_BY":"Disfrutado por más de 30 millones de usuarios en todo el mundo","WEBSITE_STREAMING_ENHANCED":"Transmisión mejorada","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio ofrece una experiencia de entretenimiento segura, moderna y fluida. Con su interfaz fácil de usar y su diversa biblioteca de contenido, incluida la compatibilidad con 4K HDR, los usuarios pueden disfrutar de sus películas y programas de TV favoritos en todos sus dispositivos. Y con su compromiso con la seguridad, Stremio es la mejor opción para un servicio de sin preocupaciones y experiencia de transmisión de calidad.","WEBSITE_AVAILABLE_ON":"Disponible en","WEBSITE_WATCH_AND_ENJOY":"Ver y Disfrutar.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio lo hace muy fácil","WEBSITE_ALL_FEATURES":"Todas las características","WEBSITE_EASY_TO_USE":"Facil de usar","WEBSITE_EASY_TO_USE_DETAILS":"Stremio está diseñado para ser amigable para el usuario y fácil de usar. Con su interfaz limpia e intuitiva podrás navegar y encontrar fácilmente el contenido que deseas ver.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Sin interrupciones en todos los dispositivos","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Disponible en una amplia variedad de plataformas (incluido Windows, Mac, Linux, Android y más), Stremio realizará un seguimiento de su progreso en todos sus dispositivos. Solo inicia sesión y continúa viendo sin tener que configurar la aplicación nuevamente en cada dispositivo nuevo.","WEBSITE_ALL_DOWNLOADS":"Todas las Descargas","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"Soporte de vídeo de alta definición","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"Un reproductor de video integrado que soporta la mayoría de los formatos de video, incluido el contenido 4K HDR, le permite disfrutar de la más alta calidad disponible.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Biblioteca de contenido diverso","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio se integra con una grán cantidad de repositorios de video populares, como Netflix, Amazon Prime Video, Hulu, YouTube y muchos más.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Crea una cuenta gratis","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Experiencia de visualización personalizada","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio le permite personalizar la apariencia de la interfaz cambiando el tema, agregando o eliminando complementos y más.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Soporte de subtitulos multilenguaje","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"Ahora puede disfrutar de todo su contenido favorito su idioma preferido, ya que Stremio soporta subtitulos en todos los idiomas.","WEBSITE_ALL_STREMIO_FEATURES":"Todas las características de Stremio","WEBSITE_TRY_STREMIO_TITLE_P1":"Prueba Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"En tu TV ahora","WEBSITE_YOU_CAN_NOW_WATCH":"Ahora puede ver todos sus programas de TV favoritos en su dispositivo Android TV","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. La aplicación de Stremio le permite disfrutar una noche de cine con facilidad.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio para Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probablemente la mejor y más útil aplicación para tener en tu dispositivo. Es una de las aplicaciones que uso a diario, especialmente en mi Android TV desde hace muchos años. Bien hecho con una comunidad sólida que proporciona funcionalidades útiles. Bien hecho. Sigan con el buen trabajo.","WEBSITE_REVIEWS":"opiniones","WEBSITE_GET_STREMIO_FOR_FREE":"Obtén Stremio gratis","WEBSITE_GET_STREMIO_NOW":"Obtén Stremio ahora","WEBSITE_STREMIO_FEATURES":"Características de Stremio","WEBSITE_STREMIO_FEATURES_DETAILS":"Transmite como un profesional con las funciones avanzadas de Stremio y disfruta de un acceso fluido en todos tus medios favoritos","WEBSITE_DISCOVER_MORE":"Descubrir más.","WEBSITE_DISCOVER_MORE_DETAILS":"Nunca te quedes sin cosas para ver","WEBSITE_COMMUNITY_DRIVEN":"Impulsado por la comunidad","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio tiene una comunidad grande y activa de usuarios que contribuyen al desarrollo del software creando y compartiendo complementos.","WEBSITE_GET_INVOLVED":"Participa","WEBSITE_NEW_THEATER_EXPERIENCE":"Nueva experiencia de cine","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"La nueva aplicación de Stremio dedicada a la TV le permite disfutar una noche de cine en sus dispositivos Android TV.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"La nueva aplicación de Stremio dedicada a la TV le permite disfrutar una noche de cine en su Smart TV o dispositivos Android TV.","WEBSITE_FREE_AND_SECURE":"Gratis y Seguro","WEBSITE_STREAMING":"Transmisión","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio ofrece seguridad y privacidad inigualables para los usuarios. Con su característica única de ejecutar complementos de forma remota, Stremio proporciona una forma segura de transmitir su contenido favorito en comparación con otras plataformas. Su seguridad y privacidad son las principales prioridades, y la plataforma garantiza que todos tus datos estén protegidos.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Diga adiós a las preocupaciones sobre la seguridad y la privacidad y di hola a un mundo de entretenimiento sin final con Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Información proporcionada por","WEBSITE_CONTRIBUTE":"Contribuye","WEBSITE_CONTRIBUTE_DESC":"al proyecto y ayudanos a hacer Stremio aún mejor","WEBSITE_COMMUNITY_DESC":"Creemos que la mejor manera de crear una experiencia de streaming realmente sorprendente es involucrar a nuestra comunidad en el proceso. Si eres programador, artista o simplemente un fan, podrías ayudar a Stremio a crecer.","WEBSITE_COMMUNITY_DESC_2":"Únase a nosotros hoy y forme parte de la comunidad Stremio y siga dando forma al futuro del streaming","WEBSITE_WAYS_TO_GET_INVOLVED":"Maneras de involucrarse","WEBSITE_IN_THE_STREMIO_COMMUNITY":"en la comunidad de Stremio","WEBSITE_SHARE_YOUR_THOUGHTS":"Comparte tus pensamientos","WEBSITE_REPORT_BUGS":"Informa errores","WEBSITE_SUGGEST_FEATURES":"sugerir características","WEBSITE_AND_PROVIDE_FEEDBACK":"y proporciona comentarios en nuestros canales de redes sociales.","WEBSITE_BETA_TESTING_PROGRAM":"Programa de pruebas","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participe en nuestro programa de prueba (enviamos invitaciones regularmente) en la comunidad Stremio.","WEBSITE_JOIN_NOW":"¡Únete ahora!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Comunidades oficiales de Stremio","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Comunidades no oficiales de Stremio","WEBSITE_BECOME":"Conviértase","WEBSITE_A_VOLUNTEER_TRANSLATOR":"en traductor voluntario","WEBSITE_ARE_YOU_A_DEVELOPER":"¿Eres desarrollador?","WEBSITE_CONTRIBUTE_CODE":"Podrías contribuir con código a nuestros proyectos de código abierto. Tenemos varios proyectos en GitHub que buscan colaboradores. Si estás interesado en ayudar, échales un vistazo:","WEBSITE_STREMIO_ON_GITHUB":"Stremio en GitHub","WEBSITE_CREATE_ADDON_DESC":"Cree un complemento para mejorar la funcionalidad de Stremio (tenemos una API fácil de usar):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"También ofrecemos la oportunidad de unirse a nosotros como desarrollador en prácticas para poder crecer juntos.","WEBSITE_APPLY_AS_AN_INTERN":"Aplicar como practicante","WEBSITE_CALLING_ALL_ARTISTS":"¡Llamando a todos los artistas!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Demuestra tu creatividad y amor por Stremio subiendo tu fan art a nuestra galería en línea. Ya sea un dibujo, una pintura o un diseño digital, queremos ver su visión única de la marca Stremio. Únase a nuestra comunidad de entusiastas del arte y comparta su trabajo con otros fanáticos de Stremio en todo el mundo.","WEBSITE_STREMIO_FANART_GALLERY":"Galería Fanart de Stremio","WEBSITE_INTERN_DESIGNER":"Forme parte de nuestro equipo y lleve su creatividad a nuevas alturas con nuestras emocionantes oportunidades de pasantías.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Proyecto de películas de dominio público","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"En Stremio estamos comprometidos a preservar la historia del cine y la televisión identificando vídeos de dominio público y huérfanos. Al trabajar junto con nuestra comunidad, podemos garantizar que estas obras de arte clásicas sean accesibles para todos y estén protegidas para que las disfruten las generaciones futuras.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"No dude en contactarnos si desea involucrarse en ese proyecto.","WEBSITE_JOIN_THE_PROJECT":"Únase al Proyecto","WEBSITE_BE_PART_OF_OUR_MISSION":"Se parte de nuestra misión","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"¿Interesado en unirse al equipo Stremio? Ofrecemos trabajo totalmente remoto para profesionales apasionados. Consulte nuestras posiciones abiertas.","WEBSITE_OPEN_POSITIONS":"POSICIONES ABIERTAS","WEBSITE_DESCRIPTION":"DESCRIPCIÓN","WEBSITE_LEARN_MORE":"Aprende más","WEBSITE_COMPANY":"Compañía","WEBSITE_CONTACTS":"Contactos","WEBSITE_NEED_HELP":"¿Necesitas ayuda?","WEBSITE_STREMIO_WEB_ON_IOS":"Guía para Stremio Web en iOS","WEBSITE_LINK_ART_V2":"Galería de Fanart","WEBSITE_PARTNERS":"Socios","WEBSITE_SLOGAN_WATCH":"Disfrute al instante","WEBSITE_SLOGAN_ALL":"de todo el contenido de vídeo en un solo lugar","WEBSITE_SLOGAN_NEW":"Todo lo que puedes ver","WEBSITE_SLOGAN_NEW_NEW":"Libertad para transmitir","WEBSITE_WATCH_FROM":"Ver desde","WEBSITE_DOWNLOAD":"Descargar ahora","WEBSITE_DOWNLOAD_FOR":"Descargar para","WEBSITE_IS_DESKTOP":"Stremio es una aplicación de escritorio, abrí esta página en tu ordenador y descárgalo","WEBSITE_DESKTOP_DEMO_VID":"Demostración","WEBSITE_PAGE_HOME":"Inicio","WEBSITE_PAGE_FEATURES":"Características","WEBSITE_PAGE_ADDONS":"Complementos","WEBSITE_PAGE_TECH":"Tecnología","WEBSITE_PAGE_CREATE_ADDON":"Crear Complemento","WEBSITE_PAGE_CONTACTS":"Contactos","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Por favor ingresa tu contraseña deseada a continuación.","WEBSITE_RESET_PASSWORD_WARNING":"¿Está seguro de que desea restablecer su contraseña por ${1}?","WEBSITE_TYPE_movie":"Películas","WEBSITE_TYPE_series_PL":"Series","WEBSITE_TYPE_tv":"TV en vivo","WEBSITE_TYPE_channel":"Canales de Youtube","WEBSITE_STREMIO_WHAT_IS":"Stremio es una aplicación que le ayuda a organizar y ver al instante sus canales de videos, películas, series de televisión y canales de televisión favoritos.","WEBSITE_FEATURES_WATCH":"Ver en HD al instante","WEBSITE_FEATURES_WATCH_DETAIL":"Haga clic y reproduzca sus películas favoritas, programas de televisión, videos y canales de televisión.","WEBSITE_FEATURES_SUBS":"Subtítulos automáticos","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio selecciona automáticamente los subtítulos sincronizados para su idioma.","WEBSITE_FEATURES_SUBS_LABEL":"Tu turno, jefe.","WEBSITE_FEATURES_CAST":"Reproducir en TV y dispositivos móviles","WEBSITE_FEATURES_CAST_DETAIL":"Emitir en AppleTV, Chromecast, Smart TV (DLNA/UPnP) y dispositivos móviles.","WEBSITE_LIB":"Disfrute de su biblioteca personal sincronizado en todos sus dispositivos","WEBSITE_LIB_COLLECT":"Recoger información de Stremio","WEBSITE_LIB_IMPORT":"Importar desde Facebook","WEBSITE_LIB_LOCAL":"Añadir de la unidad local","WEBSITE_BOARD":"El Panel - Su lugar único para recibir Notificaciones y Recomendaciones","WEBSITE_BOARD_RECOMMEND":"Programa de televisión recomendado","WEBSITE_BOARD_TRENDING":"Tendencias en Películas","WEBSITE_BOARD_NEW":"Nuevo video","WEBSITE_BOARD_EPISODE":"Nuevo episodio","WEBSITE_BOARD_1":"¿Buscando algo interesante que ver?\\n¡Obtén recomendaciones basadas en lo que te gusta!","WEBSITE_BOARD_2":"¡Sea notificado cuando un nuevo episodio de su programa favorito de televisión o canal de YouTube esté disponible!","WEBSITE_BOARD_YOUTUBE":"Nuevos videos de canales de YouTube","WEBSITE_BOARD_EPISODES":"Nuevos episodios de las series que sigues","WEBSITE_ADDONS":"Complemento de contenidos","WEBSITE_TECH_DETAIL":"¡Nos encanta la tecnología, nos gusta la ciencia loca!\\nStremio utiliza las siguientes tecnologías de código abierto:","WEBSITE_TECH_WCJS":"WebChimera.js permite a Stremio reproducir cualquier formato de vídeo con un buen rendimiento.","WEBSITE_TECH_WCJS_EXTRA":"Somos contribuidores fundamentales del proyecto","WEBSITE_TECH_ELECTRON":"Electron proporciona una plataforma innovadora para construir Stremio.","WEBSITE_TECH_ELECTRON_EXTRA":"Somos contribuidores del proyecto","WEBSITE_TECH_LINVODB":"Una tecnología de base de datos que asegura que sus datos se organicen y estén disponible en cualquier lugar que inicie sesión.","WEBSITE_TECH_LINVODB_EXTRA":"Tecnología interna","WEBSITE_CREATE_ADDON":"Creé su complemento","WEBSITE_CREATE_ADDON_DETAIL":"¿Tiene un servicio para proporcionar contenido de vídeo?\\nVamos a ayudarle a beneficiarse de las características de Stremio creando su Complemento.","WEBSITE_CREATE_ADDON_BENEFITS":"Beneficios de crear un Complemento para Stremio","WEBSITE_P2P_BEAUTY":"La belleza de la transmisión Par a Par (P2P)","WEBSITE_P2P_1":"Vídeo o transmisión en vivo fiable y asequible en Full HD / 4K","WEBSITE_P2P_2":"La plataforma de distribución proporciona una gran experiencia de usuario","WEBSITE_P2P_3":"Vamos a crear un complemento para la satisfacción de sus necesidades exactas","WEBSITE_P2P_CONTACT":"¿Interesado? Eres bienvenido, <a href=\'mailto:office@stremio.com\'>Contáctenos</a>.","WEBSITE_P2P_CONTACT_EXTRA":"¡Estaremos encantados de ayudarle a integrar su contenido con Stremio!","WEBSITE_P2P":"De vez en cuando, llega una tecnología que cambia el nombre del juego. Hemos invertido un montón de tiempo y esfuerzo en la construcción de nuestro motor de transmisión de Par A Par (P2P) de vídeo que proporciona un gran rendimiento y versatilidad para adaptarse a cualquier caso de uso.\\nContáctenos por DRM-enabled P2P video en demanda o transmisión en vivo.","WEBSITE_THOUGHTS":"Pensamientos que compartimos:","WEBSITE_SPREAD":"Difunde Stremio en tus redes sociales:","WEBSITE_CONTACT":"Contacta con nosotros, ¡Estamos deseando escucharte!","WEBSITE_OPENSOURCE":"Para nuestros proyectos de código abierto, visita nuestro","WEBSITE_BITCOIN":"Donar Bitcoin:","WEBSITE_FAQ":"Preguntas frecuentes","WEBSITE_FAQ_SHORT":"Preguntas frecuentes","WEBSITE_QUESTIONS":"Preguntas","WEBSITE_TOS":"Términos de Uso","WEBSITE_LEGAL":"Legal","WEBSITE_PAGE_ABOUT":"Acerca de","WEBSITE_PAGE_BECOME_PARTNER":"Vuélvete un socio","WEBSITE_ALL_YOU_CAN_WATCH":"Libertad para ver\\nTodo lo que quieras.","WEBSITE_FREEDOM_TO_STREAM":"Libertad para transmitir","WEBSITE_WHAT_IS_STREMIO":"¿Qué es Stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio es un centro unificado para agregación de contenido de vídeo. Descubre, organiza y ver videos de todo tipo de fuente en cualquier dispositivo que poseas.","WEBSITE_WHAT_IS_STREMIO_P2":"Películas, programas de televisión, series, televisión en vivo o canales web como YouTube y Twitch.tv: puedes encontrar todo esto en Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio es un media center moderno que le ofrece una solución integral de entretenimiento por vídeo. Puede descubrir, ver y organizar su contenido de vídeo desde complementos de fácil instalación.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Películas, programas de TV, TV en directo o canales web - Stremio pone todo esto a su disposición.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Disfruta en todos tus dispositivos","WEBSITE_DEVICES_COLLECT":"Recopilar desde Stremio","WEBSITE_DEVICES_IMPORT_FB":"Importar desde Facebook","WEBSITE_DEVICES_LOCAL":"Agregar desde el disco local","WEBSITE_JOIN_THE_PARTY_NOW":"Únete a la fiesta ahora","WEBSITE_DEVICES_ALL":"Fácil de usar en todos tus dispositivos;","WEBSITE_EXTENDABLE_CATALOG":"Catálogo de videos extensible infinitamente;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Excelentes funcionalidades para organizar tu multimedia;","WEBSITE_AS_SEEN_ON":"Como se ve en","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"Acerca de nosotros","WEBSITE_LINK_TECHNOLOGY":"Tecnología","WEBSITE_LINK_APPS":"Aplicaciones","WEBSITE_LINK_DOWNLOADS":"Descargas","WEBSITE_MORE":"Más","WEBSITE_LINK_ADDONS":"Complementos","WEBSITE_LINK_ADDON_SDK":"SDK para extensiones","WEBSITE_LINK_CONTRIBUTE":"Contribuye","WEBSITE_LINK_COMMUNITY":"Comunidad","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... & Más","WEBSITE_LINK_HELP":"Centro de ayuda","WEBSITE_LINK_CONTACTS":"Preguntas de negocios","WEBSITE_LINK_TOS":"Términos y condiciones","WEBSITE_LINK_PRAVACY":"Política de privacidad","WEBSITE_SUBSCRIBE":"Suscribir","WEBSITE_NEWSLETTER":"Únete a nuestro boletín de noticias para cosas increíbles","WEBSITE_PLACEHOLDER_EMAIL":"Su correo electrónico","WEBSITE_COMMUNITY":"Comunidad","WEBSITE_LINK_PRAVACY_LEGAL":"Privacidad y legal","WEBSITE_WHY":"¿Por qué hacemos esto?","WEBSITE_WHY_P1":"En Stremio, trabajamos cada día porque queremos solucionar un problema importante en la industria de vídeo bajo demanda. Hay tanto contenido nuevo publicado cada minuto que es virtualmente imposible de encontrar el camino a él.","WEBSITE_WHY_P2":"Ayudamos a las personas a navegar aquel enorme mundo del entretenimiento en vídeo y descubrir nuevo contenido para disfrutar. Nuestras aplicaciones traen juntas películas, series, televisión en vivo, canales web y más. Estamos dedicados a hacer esto increíblemente fácil para los usuarios buscar títulos y transmisiones que amarán.","WEBSITE_WHY_P3":"Puedes usar nuestro servicio en cualquier dispositivo y en cualquier momento, haciendo Stremio el único centro de entretenimiento de vídeo que necesitaras.","WEBSITE_TEAM":"EQUIPO","WEBSITE_TEAM_P":"El equipo Stremio es pequeño pero poderoso: entre diez de nosotros, programamos en X lenguajes y compartimos habilidades en desarrollo de software, diseño UI y UX, mercadeo y publicidad, y negocios y startups.","WEBSITE_FEATURES":"Características","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Descubre nuevo contenido con facilidad","WEBSITE_FEATURES_DISCOVER_P":"Descubre fácilmente nuevas películas, programas de televisión, series y canales para ver. Busca por categoría, género, calificación, año, etc. o simplemente escribe un nombre para buscar. Stremio hace fácil encontrar nuevo contenido de vídeo.","WEBSITE_FEATURES_ALL_CONTENT":"Todo tu contenido de vídeo en una pantalla","WEBSITE_FEATURES_ALL_CONTENT_P1":"Mira que películas, series o vídeos no has terminado y continua viéndolos; obtén notificaciones de nuevos episodios y estrenos; y navega a través de recomendaciones que obtendrás basadas en tus hábitos.","WEBSITE_FEATURES_LIBRARY":"Organiza tus videos","WEBSITE_FEATURES_LIBRARY_P1":"Agrega cualquier título a tu biblioteca de Stremio con un solo clic y encuentra tu camino a través de tu contenido, perfectamente ordenado por tipo, año u orden alfabético.","WEBSITE_FEATURES_CALENDAR":"Mantiene seguimiento de todo lo que ves","WEBSITE_FEATURES_CALENDAR_P1":"Obtén un calendario de todas las películas y series que agregas a tu biblioteca. Exporta tu calendario Stremio y sincroniza este para que siempre sepas cuando hay un nuevo episodio o un estreno.","WEBSITE_FEATURES_BIG_SCREEN":"Disfruta tu contenido de video en una pantalla grande","WEBSITE_FEATURES_BIG_SCREEN_P1":"Transmite lo que sea que estés viendo a otro dispositivo - sea este un teléfono, tableta o un T.V. con un solo clic.","WEBSITE_FEATURES_SOURCES":"Ve videos de diferentes fuentes","WEBSITE_FEATURES_SOURCES_P":"Instala complementos oficiales y de la comunidad para disfrutar las fuentes de vídeo desde diferentes proveedores - todo en una aplicación elegante y fácil de usar.","WEBSITE_CREATE_AN_ADDON":"Crear un complemento","WEBSITE_FEATURES_SYNC":"Sincroniza tu biblioteca entre distintos dispositivos y continua la reproducción","WEBSITE_FEATURES_SYNC_P1":"Haz login en tu cuenta en todos los dispositivos y podrás disfrutar de tener tu biblioteca, complementos, lista de reproducción y calendario.","WEBSITE_FEATURES_EXTENDABLE":"Catálogo de videos ampliable a través de complementos","WEBSITE_FEATURES_EXTENDABLE_P1":"El complemento de catálogo de Stremio provee de una serie de complementos instalables que permiten ver contenido a través de ellos. Ésto incluye películas, series, televisión en directo, deportes, noticias, podcasts, suscripciones webs, video juego, etc.","WEBSITE_FEATURES_AUTO_SUBS":"Subtítulos automáticos","WEBSITE_FEATURES_AUTO_SUBS_P1":"Con nuestros complementos de subtítulos puedes obtener automáticamente una variedad de opciones en tu idioma.","WEBSITE_FEATURES_CHROMECAST":"Emitiendo a Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Disfruta del video en una pantalla más grande o envía lo que estás viendo a otro dispositivo.","WEBSITE_FEATURES_KEEP_TRACK":"Haz el seguimiento de tus series o canales favoritos.","WEBSITE_FEATURES_KEEP_TRACK_P1":"Obtén un calendario con notificaciones cuando haya nuevos episodios de tu serie o canal favoritos.","WEBSITE_FEATURES_POWER_USER":"Características de usuario experto","WEBSITE_FEATURES_POWER_USER_P1":"Ver en un reproductor externo.","WEBSITE_FEATURES_POWER_USER_P2":"Reproducir desde un fichero torrent o un enlace magnet","WEBSITE_FEATURES_POWER_USER_P3":"Importa en tu librería a través de los Me gusta de Facebook o desde tu disco duro local","WEBSITE_ADD_ONS":"Complementos","WEBSITE_ADD_ONS_P1":"Todo el contenido de vídeo que Stremio provee es obtenido a través de un sistema de complementos - no se ha incorporado ningún contenido o proveedor de contenido dentro de la aplicación.","WEBSITE_ADD_ONS_P2":"Hay dos grupos de complementos disponibles: oficiales y de la comunidad.","WEBSITE_ADD_ONS_P3":"Los complementos oficiales son desarrollados y alojados por Stremio, mientras que los complementos de la comunidad son creados por nuestros miembros de la comunidad, quienes también los alojan.","WEBSITE_ADDONS_OFFICIAL":"Complementos oficiales","WEBSITE_ADDONS_WATCHUB":"Reproduce tus películas, series y programas favoritos desde proveedores como iTunes, Hulu, Amazon y otros servicios de Estados Unidos y Reino Unido.","WEBSITE_ADDONS_YOUTUBE":"Mira tus canales favoritos de Youtube libres de publicidad y obtén notificaciones de nuevos vídeos de los contribuidores que sigues.","WEBSITE_ADDONS_FILMON":"Mira canales en vivo, películas y televisión pública gratis. 600 canales de televisión, 45000 películas, documentales y más gratis.","WEBSITE_ADDONS_OPENSUBTITLES":"Subtítulos de películas y televisión en múltiples lenguajes, miles de subtítulos traducidos subidos todos los días.","WEBSITE_ADDONS_COMMUNITY":"Complementos de la comunidad","WEBSITE_ADDONS_FILMON_VOD":"Mira vídeos bajo demanda desde Filmon.tv","WEBSITE_ADDONS_TWICH":"Mira programas en vivo desde Twitch.tv - una plataforma de transmisión de vídeo para la industria de deportes electrónicos.","WEBSITE_ADDONS_VODO":"Ve películas independientes completamente gratis.","WEBSITE_ADDONS_NETFLIX":"Ve películas de Netflix y series web.","WEBSITE_ADDONS_CREATE":"Crear un complemento","WEBSITE_ADDONS_CREATE_P1":"Si lo deseas, puedes desarrollar tu propio complemento. De esta manera, puedes darte a ti y a la comunidad acceso a nuevo contenido de vídeo, y alcanzar una nueva audiencia de millones de usuarios alrededor del mundo.","WEBSITE_ADDONS_START_CREATE":"Para empezar, visita la página del SDK de complementos de Stremio:","WEBSITE_DOWNLOADS":"Descargas","WEBSITE_DOWNLOADS_P1":"Para un óptimo rendimiento, recomendamos que uses la última versión disponible de las aplicaciones de Stremio. Si por alguna razón, deseas usar una versión anterior, puedes descargarla aquí.","WEBSITE_DOWNLOADS_P1_SHORT":"Para un óptimo rendimiento, recomendamos que uses la última versión disponible de las aplicaciones de Stremio.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio para Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio para macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio para Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio para Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio para Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio para Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio para Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio para iOS (versión limitada)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio para Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio para LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio para Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio para Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio para Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio para Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio para Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio para Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio para Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio para Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Buscar Stremio en el App Store de modelos de TV Samsung 2019+","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Buscar Stremio en el App Store de modelos TV LG 2020+","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Buscar Stremio en el Play Store de Sony TV ejecutando Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Buscar Stremio en el Play Store de Philips TV ejecutando Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Buscar Stremio en el App Store de tu dispositivo Xbox","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guía para Stremio OS en RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Descargar Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service es una aplicación complementaria para Stremio Web. Recomendamos utilizar la última versión disponible de Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service para Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service para macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service para Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service para Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"Más opciones de descarga","WEBSITE_DOWNLOAD_NEW":"¡Nuevo!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"Lanzamos Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"Lanzamos Stremio para Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"Lanzamos Stremio para LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"Lanzamos Stremio para Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"Lanzamos Stremio para Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"La plataforma Stremio es código abierto y puedes crear fácilmente un complemento para contenido que actualmente no posee fuente.","WEBSITE_CONTRIBUTE_WHY":"¿Por qué deberías crear un complemento?","WEBSITE_CONTRIBUTE_WHY_P1":"Alcanzar nueva audiencia para tu contenido de vídeo","WEBSITE_CONTRIBUTE_WHY_P2":"La base de usuarios de Stremio crece rápidamente - desde el primer año de lanzamiento, Stremio ha ganado 1 millón de usuarios alrededor del mundo, y en el segundo año de la existencia de la plataforma este número ha crecido a 2.5 millones.","WEBSITE_CONTRIBUTE_WHY_P3":"Con tu complemento fácilmente alcanzarás esta audiencia y distribuirás tu contenido de vídeo a ellos.","WEBSITE_CONTRIBUTE_ALL":"Mira tus películas, series y canales favoritos en un solo lugar.","WEBSITE_CONTRIBUTE_ALL_P1":"¿Eres aficionado de un un tipo particular de contenido no disponible aún en Stremio? Crea un complemento para este y disfruta de ver tus vídeos favoritos en uno de los centros de entretenimiento más grandes y fáciles de usar en el mercado.","WEBSITE_CONTRIBUTE_ALL_P2":"Además de eso, obtendrás la infinita gratitud de otros miembros de la comunidad de Stremio afines.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetiza tu complemento y gana dinero con su ayuda","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Una vez desarrolles un nuevo complemento para Stremio, puedes fácilmente monetizar este a través de diferentes maneras. Si estás considerando esto, siéntete libre de entrar en contacto con nosotros a ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - estaremos felices de consultarte y asesorarte sobre las opciones de monetización de tu complemento.","WEBSITE_CONTRIBUTE_TRANSLATE":"Conviértete en un traductor voluntario","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Si deseas disfrutar de las aplicaciones de Stremio en diferentes lenguajes, puedes unirte a nuestra comunidad de traductores voluntarios. Ellos nos ayudan a agregar versiones de Stremio en diferentes lenguajes.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"¿Estás ansioso por comenzar?","WEBSITE_TRANSALTE_STREMIO":"Traduce Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Comunidades oficiales","WEBSITE_COMMUNITY_OFFICIALS_P1":"Sé parte de la creciente comunidad de Stremio. Síguenos en redes sociales y no seas tímido de decir hola - ¡nos encanta escuchar a nuestros fanáticos! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Comunidades no oficiales","STREMIO_COMMUNITY_NL":"Stremio Países Bajos","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Alemania","STREMIO_COMMUNITY_BELGIUM":"Stremio Bélgica","STREMIO_COMMUNITY_FRANCE":"Stremio Francia","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italia","STREMIO_COMMUNITY_UK":"Stremio Reino Unido","STREMIO_COMMUNITY_USA":"Stremio Estados Unidos","STREMIO_COMMUNITY_MEXICO":"Stremio México","STREMIO_COMMUNITY_ADDONS":"Complementos de Stremio","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Socios y colaboradores","WEBSITE_COMMUNITY_GOODIES":"Stremio Goodies","WEBSITE_COMMUNITY_WALLPAPERS":"Fondos de pantalla","WEBSITE_COMMUNITY_ART":"Galería de Arte de la Comunidad","WEBSITE_LINK_ART":"Galería de arte de la comunidad","WEBSITE_CONTACT_US":"Contacta con nosotros","WEBSITE_CONTACT_US_P1":"Si tienes alguna pregunta, comentario o sugerencia, siéntete libre de entrar en contacto con nosotros a través del formulario de contacto más abajo.","WEBSITE_CONTACT_US_P2":"Ten presente que nos ubicamos en Bulgaria, entonces habrá un retraso en la respuesta a su consulta debido a las diferencias de zona horaria.","WEBSITE_CONTACT_US_SUCCESS":"Tu mensaje ha sido enviado. Nos pondremos en contacto contigo lo antes posible.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"¡Por favor escribe un correo electrónico válido!","WEBSITE_CONTACT_US_Q_RELATED_TO":"¿Con qué se relaciona su pregunta?","WEBSITE_CONTACT_US_Q_OS":"¿Cuál es su sistema operativo?","WEBSITE_CONTACT_US_PH_EMAIL":"Su correo electrónico","WEBSITE_CONTACT_US_PH_MESSAGE":"Mensaje","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"ENVIAR","WEBSITE_CONTACT_US_Q_1":"¿Cómo instalar?","WEBSITE_CONTACT_US_Q_2":"¿Cómo desinstalar?","WEBSITE_CONTACT_US_Q_3":"¿(HTML) Cómo hacer lasaña?","WEBSITE_CONTACT_US_Q_4":"Complementos","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Tecnología","WEBSITE_TECHNOLOGY_P1":"Amamos la tecnología y la ciencia loca. </br> Aquí está lo que potencia a Stremio (todo es código abierto).","WEBSITE_TECHNOLOGY_P_QT":"Desarrollo de software multiplataforma en su mejor momento.","WEBSITE_TECHNOLOGY_P_MPV":"Un reproductor libre, de código abierto y multiplataforma.","WEBSITE_TECHNOLOGY_P_RN":"React Native te permite desarrollar aplicaciones móviles usando solo Javascript.","WEBSITE_TECHNOLOGY_P_VLC":"Framework multimedia embebido en la aplicación para obtener multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm es una plataforma móvil y un reemplazo para SQlite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js es un entorno de Javascript multi-plataforma y de código abierto.","WEBSITE_TECHNOLOGY_P_RUST":"Rust es un lenguaje de programación de sistemas multi-paradigma que se enfoca en la seguridad, y más concretamente en ejecución concurrente de manera segura.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribuye al proyecto","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Hay dos formas en las que puedes contribuir a Stremio y ayudarnos a hacer el producto aún mejor.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Puedes donar tus habilidades en lenguaje traduciendo la plataforma...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"o","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... puedes emplear tus habilidades de programación para la creación de extensiones de la comunidad. ","WEBSITE_TRANSLATE_STREMIO":"Traduce Stremio","WEBSITE_404_OH_NO":"¡Oh no! La página que estás buscando no está aquí...","WEBSITE_GO_HOME":"Ir al inicio","WEBSITE_LINK_OTHER_DOWNLOADS":"Otras descargas","WEBSITE_FAQ_ABR":"Preguntas frecuentes","WEBSITE_SUPPORT":"Soporte","WEBSITE_DOWNLOAD_4_0_BETA":"Descarga ahora Stremio 4 beta","WEBSITE_GET_FOR_DESKTOP":"Para escritorio","WEBSITE_LINK_ADDON_COMPETITION":"Competición de complementos","WEBSITE_LINK_ART_CONTEST":"Concurso de arte","WEBSITE_MY_ACCOUNT":"Mi cuenta","WEBSITE_MAINPAGE_FAQ_001_H1":"¿Qué es Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio es un \'media center\' moderno que te da la libertad de ver todo lo que quieras.","WEBSITE_MAINPAGE_FAQ_002_H1":"¿Cómo funciona?","WEBSITE_MAINPAGE_FAQ_002_P1":"Una vez que Stremio esté instalado en tu dispositivo y hayas creado una cuenta, todo lo que tienes que hacer es ver el catálogo de complementos para instalar el complemento que quieras y estarás listo para comenzar a explorar contenido.","WEBSITE_MAINPAGE_FAQ_002_P2":"A continuación, puede ir a las secciones Descubrir o Panel para comenzar a explorar contenido.","WEBSITE_MAINPAGE_FAQ_003_H1":"¿Qué puedo ver?","WEBSITE_MAINPAGE_FAQ_003_P1":"Muchas cosas: Películas, series, canales web, deporte, canales de televisión, podcasts, etc. Gracias a nuestro sistema de complementos puedes acceder a una gran variedad de contenidos.","WEBSITE_MAINPAGE_FAQ_004_H1":"¿Es Stremio software libre?","WEBSITE_MAINPAGE_FAQ_004_P1":"Sí, puedes consultar los siguientes enlaces: ${1}aplicación de escritorio${2} y ${3}GitHub organization${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"¿Es Stremio seguro?","WEBSITE_MAINPAGE_FAQ_005_P1":"Sí: al ser software libre, el código es auditable publicamente y puedes revisarlo tú mismo.","WEBSITE_MAINPAGE_FAQ_005_P2":"El sistema de complementos de Stremio también se creó teniendo en cuenta la seguridad del usuario. Los complementos no ejecutan ningún código localmente, por lo que no suponen ningún riesgo para su dispositivo.","WEBSITE_MAINPAGE_FAQ_006_H1":"¿Qué ocurre con mi privacidad?","WEBSITE_MAINPAGE_FAQ_006_P1":"Respetamos la privacidad de los usuarios y no guardamos ningún dato personal exceptuando lo mínimo necesario para poder crear y sincronizar tu cuenta.","WEBSITE_MAINPAGE_FAQ_006_P2":"Hay un ${1}modo invitado{2} al crear la cuenta, que no requiere ningún dato: en éste modo, no hay ninguna llamada a nuestros servidores. Sin embargo, ésto tiene el coste de no tener disponible algunas características útiles como sincronizar tu biblioteca entre distintos dispositivos.","WEBSITE_MAINPAGE_FAQ_007_H1":"¿Puedo enviar el contenido a mi TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Sí, damos soporte a Chromecast y puedes enviar contenido de video desde la aplicación de escritorio o aplicación móvil (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"¿Cuantos complementos tiene Stremio?","WEBSITE_MAINPAGE_FAQ_008_P1":"A finales de 2019, más de 50 - para más información, consulta nuestro catálogo de complementos.","WEBSITE_MAINPAGE_FAQ_009_H1":"¿Es posible ampliar Stremio más allá de lo que se ofrece en el catálogo de complementos?","WEBSITE_MAINPAGE_FAQ_009_P1":"Sí, deberías visitar: ${1}PimpMyStremio${2}, ${3}la comunidad en Reddit{4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"¿Qué dispositivos soporta Stremio?","WEBSITE_MAINPAGE_FAQ_010_P1":"Tenemos aplicaciones de escritorio para Windows, Mac y GNU/Linux. Para móviles o celulares, damos soporte a Android e iOS, aunque la funcionalidad en iOS es limitada (no soporta muchos complementos).","WEBSITE_MAINPAGE_FAQ_010_P2":"Hay muchos dispositivos basados en Android en los cuales puedes ejecutar Stremio, por ejemplo NVIDIA Shield y Amazon Fire Stick, aunque no damos soporte oficial.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"Disponemos de aplicaciones de escritorio para Windows, Mac y Linux. También contamos con aplicaciones dedicadas para Android Mobile y Android TV. Para iOS y iPadOS sugerimos utilizar Stremio Web, aunque tiene una funcionalidad más limitada.","WEBSITE_MAINPAGE_FAQ_011_H1":"¿Pueden añadir cierto contenido a Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Lo sentimos, nosotros no proveemos del contenido, sin embargo, cuantos más complementos tengas instalads, mayor será el contenido que tendrás disponible.","WEBSITE_MAINPAGE_FAQ_012_H1":"¿Puede Stremio reproducir enlaces magnet?","WEBSITE_MAINPAGE_FAQ_012_P1":"Sí, y también puede reproducir enlaces HTTP normales, así como ficheros torrent(mediante arrastrar y soltar).","WEBSITE_MAINPAGE_FAQ_013_H1":"¿Puedo descargar un video y verlo offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Tener el contenido offline es una característica en desarrollo que estará disponible más adelante, aunque si dejas que Stremio cachee el contenido en tu dispositivo (revisa el panel de administración) podrás ver el contenido posteriormente sin conexión.","WEBSITE_MAINPAGE_FAQ_014_H1":"¡No funciona nada, ayuda!","WEBSITE_MAINPAGE_FAQ_014_P1":"¿Estás seguro de que has instalado los complementos? Si la respuesta es sí, dirigete a nuestro ${1}centro de ayuda${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"¿Cómo mantiene Stremio los costes de desarrollo?","WEBSITE_MAINPAGE_FAQ_015_P1":"Ocasionalmente publicamos anuncios no intrusivos, pero estamos considerando pasar a un modelo de donación.","WEBSITE_MAINPAGE_FAQ_015_P2":"Si tienes más preguntas, visita nuestro ${1}centro de ayuda${2}.","HELP_LEARN_MORE":"Ayúdanos a saber más de ti.","LIFESTYLE":"Estilo de vida","SPORTS":"Deportes","FOOD_HEALTH":"Comida y Salud","BEAUTY_FASHION":"Belleza y Moda","NEWS":"Noticias","GAMING":"Juegos","SCIENCE_EDUCATION":"Ciencia y Educación","MUSIC":"Música","TRAVEL":"Viajes","LATE_NIGHT":"Programa nocturno","REALITY":"Reality","COMEDY":"Comedia","DIY":"Hazlo tú mismo","TECH":"Tecnología","CINEMA":"Cinema","CONTINUE":"Continuar","SLOW_LOADING":"¿CARGA LENTO?","I_GIVE_UP":"ME RINDO","LEARN_MORE":"Saber más","POOR_SOURCE":"Esta fuente posee poca disponibilidad o su conexión de internet no es suficientemente rápida","PICK_CATEGORIES_ERR":"Tienes que seleccionar al menos 3 categorías","ADJUST_TIMING":"Ajustar tiempo con ","ADJUST_SIZE":"Ajustar tamaño con ","SEARCH_ANYTHING":"Puedes buscar cualquier cosa...","ALL_CATEGORIES":"Todas","SEARCH_CATEGORIES":"Películas, Series, YouTube & TV","SEARCH_PERSONS":"Actores, Directores y Escritores","SEARCH_PROTOCOLS":"HTTP y enlaces magnéticos","SEARCH_TYPES":"Enlaces IMDB / TVDB","WATCHED":"Visto","SHOW_LESS":"Mostrar menos","LAST_SEARCHES":"Últimas búsquedas","CLEAR_HISTORY":"Borrar historial","CHOOSE_SOME":"ESCOGE ALGUNO DE ESTOS:","NO_WEB_REMOTE":"Web Remote no se pudo cargar","STREMIO_OFFLINE":"Stremio está desconectado","STREMIO_EXPENSIVE_CONNECTION":"Hemos detectado que estás utilizando una conexión de datos móviles, ¿quieres continuar?","USE_DATA":"Usar datos","WARNING":"Advertencia","MORE_INFO":"Más información ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Cargando ...","STREMIO_TV_BACK_TO_LANGUAGES":"Regresar a lenguajes","STREMIO_TV_REMOTE":"Remoto","STREMIO_TV_GO_TO":"Ir a:","STREMIO_TV_OR_SCAN":"o escanear:","STREMIO_TV_ADDON_INSTRUCTIONS":"Por favor, siga las instrucciones para instalar su complemento preferido.","STREMIO_TV_LIVE_TV":"TV en directo","STREMIO_TV_RESUME_WATCHING":"Continuar viendo","STREMIO_TV_LOADING_BACKGROUND":"Cargando fondo","STREMIO_TV_CHECKING_AUTHENTICATION":"Verificando Autenticación","STREMIO_TV_LOADING_BOARD":"Cargando Panel","STREMIO_TV_LOGIN_HEADER_LINE_1":"Nosotros queremos que nuestros usuarios tengan la mejor experiencia personalizada posible con nuestro software.","STREMIO_TV_LOGIN_HEADER_LINE_2":"Esta es la razón por la cual le pedimos cree una cuenta y/o ingrese a ella.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Gracias por su comprensión,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"El equipo Stremio","STREMIO_TV_REMOTE_INSTRUCTIONS":"Para usar el Control Web con su teléfono inteligente / tableta / escritorio:","STREMIO_TV_WIFI_SETUP":"Configuración Wi-Fi","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle no detecta una conexión a internet.","STREMIO_TV_WIFI_DETAILS_1":"Conectar a:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Contraseña a usar:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Abrir el navegador con el enlace:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Por Defecto","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"Por Último Visto","STREMIO_TV_LIBRARY_SORT_NAME":"Por Nombre","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"Por Nombre Descendente","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"Por Veces Visto","STREMIO_TV_LIBRARY_SORT_WATCHED":"Por Vistos","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"Por No Vistos","STREMIO_TV_DETAILS_SEASON_NUMBER":"Temporada ${1}","STREMIO_TV_STREAMS_LOADING":"Cargados ${1} / ${2} complementos...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} complemento continua cargando...","STREMIO_TV_PLAYER_SETTINGS":"Configuración del Reproductor","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Retraso de Subtítulos","STREMIO_TV_PLAYER_AUDIO_DELAY":"Retraso de audio","STREMIO_TV_PLAYER_VIDEO_SCALING":"Escalado de vídeo","STREMIO_TV_PLAYER_CHAPTERS":"Capítulos","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Saltar ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Fuente no soportada","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Fallo al abrir el enlace externo","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"No ajustable en modo passthrough de audio","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Reproducir con ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Reproducir con libVLC","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Cambiar al reproductor libVLC debido a un error de reproducción","STREMIO_TV_ADDONS_TITLE":"Utiliza Stremio en tu dispositivo móvil o PC para instalar o configurar complementos y pulsa \\"Sincronizar Complementos\\"","STREMIO_TV_ADDONS_SUBTITLE":"Nota: asegúrate de utilizar la misma cuenta de Stremio","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sincronizar Complementos","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Complementos sincronizados exitosamente","STREMIO_TV_ADDONS_SYNC_FAILED":"Fallo al sincronizar complementos","STREMIO_TV_META_LINK_FAILED":"Fallo al abrir meta enlace","STREMIO_TV_CATALOG_LOADING":"El catálogo sigue cargando...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Idioma de la interfaz actualizado","STREMIO_TV_SETTINGS_THEME_UPDATED":"Tema actualizado","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Reproductor predeterminado","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Reproductor externo","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Idioma Preferido","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Idioma Preferido Secundario","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Reproducción tunelizada","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Posibles errores de reproducción en algunos dispositivos","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Algunos formatos de video pueden no funcionar","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Sincronización de frecuencia de cuadros","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Desactivado","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Solo Frecuencia de Cuadros","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frecuencia de Cuadros y Resolución","STREMIO_TV_SETTINGS_NO_CACHING":"Sin caché","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Por Defecto","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Suave","STREMIO_TV_SETTINGS_PROFILE_FAST":"Rápido","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Rápido","STREMIO_TV_SETTINGS_SERVER_URL":"URL del servidor de streaming","STREMIO_TV_SETTINGS_SERVER_VERSION":"Versión del servidor","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Desconocido","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Versión de Stremio","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Editar URL del servidor","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Ingrese la URL del servidor de streaming","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Mostrar estadísticas durante la carga","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"Para leer la Política de Privacidad de Stremio, visite:","STREMIO_TV_SETTINGS_TOS_TEXT":"Para leer los Términos y Condiciones de Stremio, visite:","STREMIO_TV_NAV_SEARCH":"Buscar","STREMIO_TV_NAV_HOME":"Inicio","STREMIO_TV_NAV_DISCOVER":"Descubrir","STREMIO_TV_NAV_LIBRARY":"Biblioteca","STREMIO_TV_NAV_MOVIES":"Películas","STREMIO_TV_NAV_SERIES":"Series","STREMIO_TV_NAV_CHANNELS":"Canales","STREMIO_TV_NAV_TV":"TV en vivo","STREMIO_TV_NAV_SETTINGS":"Configuración","STREMIO_TV_NAV_ADDONS":"Complementos","STREMIO_TV_LOGIN_TITLE":"Asociar Cuenta","STREMIO_TV_LOGIN_EXPIRES_IN":"Expira en","STREMIO_TV_LOGIN_STEP_ONE":"Escanea el Código QR de arriba o visita","STREMIO_TV_LOGIN_STEP_TWO":"Inicia sesión a tu cuenta Stremio","STREMIO_TV_LOGIN_NEW_LINK":"Solicitar un nuevo enlace","STREMIO_TV_LOGIN_LINK_REFRESHED":"Código de login actualizado","STREMIO_TV_SEARCH_PLACEHOLDER":"Escribe algo","STREMIO_TV_SEARCH_NO_ADDONS":"¡No se solicitaron complementos para los catálogos!","STREMIO_TV_SEARCH_BUTTON":"Buscar","STREMIO_TV_SEARCH_KEY_DEL":"Borrar","STREMIO_TV_SEARCH_KEY_SPACE":"Espacio","STREMIO_TV_SEARCH_KEY_CLEAR":"Limpiar","STREMIO_TV_SEARCH_HISTORY_TITLE":"Historial de Búsqueda","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Puedes buscar por Título, Actores, Canales y más...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Vaciar el Historial de Búsqueda","STREMIO_TV_FILTERS_DESCRIPTION":"Elija uno de los filtros a continuación","STREMIO_TV_STREAMING_SERVER_OFFLINE":"El servidor de streaming está desconectado. Verifique la configuración del servidor.","FILTERS":"Filtros","SETTINGS":"Configuración","ACCOUNT":"Cuenta","LOGOUT":"Cerrar Sesión","THEMES":"Temas","PLAYBACK":"Reproducción","PLAYBACK_SPEED":"Velocidad de Reproducción","AUDIO_TRACKS":"Pistas de Audio","UNKNOWN_TRACK_LANG":"Desconocido","VIDEOS":"Videos","SERVER":"Servidor","LINKS":"Enlaces","ABOUT":"Acerca De","INTERFACE":"Interfaz","ANIMATIONS":"Animaciones","STATUS":"Estado","LANGUAGE":"Idioma","SIZE":"Tamaño","DELAY":"Retraso","BOLD":"Negrita","OPACITY":"Opacidad","TEXT_COLOR":"Color del Texto","OUTLINE_COLOR":"Color del Contorno","BACKGROUND_COLOR":"Color de Fondo","BACKGROUND_BLUR":"Desenfoque de Fondo","SEEK_TIME_DURATION":"Duración del Tiempo de Búsqueda","AUTO_PLAY":"Reproducir el Episodio Siguiente automáticamente","PLAY_NOW":"Reproducir Ahora","MARK_AS_WATCHED":"Marcar como Visto","MARK_AS_UNWATCHED":"Marcar como No Visto","REWIND_TO_BEGINNING":"Rebobinar al Principio","CONTINUE_WATCHING":"Seguir Viendo","ALL":"Todo","SECONDS":"segundos","ON":"ENCENDIDO","OFF":"APAGADO","RELOAD":"Recargar","EDIT_URL":"Editar URL","NONE":"Ninguno","EMBEDDED":"Embebido","REMOTE_SWITCH_DEVICES":"Cambiar dispositivos","REMOTE_VIDEOS":"Videos","REMOTE_ADJUST_TIMING":"Ajustar tiempo","REMOTE_ADJUST_SIZE":"Ajustar tamaño","REMOTE_COULD_NOT_BE_LOADED":"El Control Web podría no cargar","REMOTE_RETRY":"Volver a intentar","TORRENT_PROFILE_DEFAULT":"Por Defecto","TORRENT_PROFILE_SOFT":"Suave","TORRENT_PROFILE_FAST":"Rápido","TORRENT_PROFILE_ULTRA_FAST":"Ultra Rápido","FAQ_001_H1":"¿Qué es Stremio?","FAQ_001_P1":"Stremio es un software de centro multimedia diseñado para el entretenimiento de vídeo pensando en el fácil uso. Stremio te permite organizar y ver tu propia colección de películas, series, canales y programas en vivo.","FAQ_001_P2":"Stremio colecta el contenido que muestra desde tu disco local y nuestro sistema de complementos.","FAQ_001_P3":"Te notificará cuando nuevos episodios, películas y vídeos en los cuales estás interesado salgan y proveerá recomendaciones de películas para ti.","FAQ_02_H1":"¿Cómo se compara Stremio con Kodi y Plex?","FAQ_02_P1":"Estamos inspirados por estas dos piezas de software. Pero tenemos diferentes objetivos - Stremio es específicamente pensado en el entretenimiento de vídeo, y se esfuerza por convertirse en la solución principal para eso al ser muy fácil de usar.","FAQ_02_P2":"Stremio nunca será tan personalizable y rico en características como Kodi y Plex, pero es significativamente más fácil de usar. ${1} Obtén y mira ${2} :)","FAQ_03_H1":"¿Cómo se compara Stremio con Netflix?","FAQ_03_P1":"Nuevamente, Netflix es una de nuestras inspiraciones. Nos esforzamos por lograr la experiencia del usuario de Netflix, además de muchos extras adicionales. Pero más importante, te damos la libertad de manejar tu propia biblioteca y agregar nuevas fuentes de contenido con nuestro sistema de complementos.","FAQ_03_P2":"Esto hace a Stremio infinitamente extensible, entonces cuando usas Stremio, no estás limitado al contenido que Netflix decide licenciar. Por ejemplo, a través de Stremio puedes ver contenido desde ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} e incluso ¡${9}Netflix${10} mismo!","FAQ_04_H1":"¿Cómo se compara Stremio con Flipboard?","FAQ_04_P1":"No nos hacemos esa pregunta frecuentemente, excepto cuando hablamos con emprendedores :)","FAQ_04_P2":"Stremio es por diseño un recopilador de contenido, lo cual esencialmente lo hace un Flipboard para vídeo. Esto es muy evidente en nuestra sección de Panel, que te da un catálogo y notificaciones de nuevos episodios y vídeos que sigues, tal como Flipboard.","FAQ_05_H1":"¿Cómo se compara Stremio con Popcorn Time?","FAQ_05_P1":"Stremio y Popcorn Time son similares en la interfaz de usuario, porque no hay muchas formas de hacer catálogos de entretenimiento de vídeo correctamente :)","FAQ_05_P2":"Mientras que Popcorn Time es enfocado en transmitir torrents desde fuentes específicas, Stremio no es restrictivo y es meramente un recopilador de contenido - no se restringe a una fuente específica de contenido.","FAQ_05_P3":"Además, nosotros no proveemos ningún complemento torrent por defecto, así Stremio no cubre el caso de uso de Popcorn Time oficialmente.","FAQ_05_P4":"Otra diferencia notable es que Popcorn Time es completamente código abierto, mientras Stremio es ${1} parcialmente código abierto${2}.","FAQ_06_H1":"¿Agregarán esta película/serie?","FAQ_06_P1":"No, disculpa :(","FAQ_06_P2":"Como es mencionado en la mayoría de las otras preguntas, Stremio no provee contenido alguno por si mismo - todo es agregado a través de un sistema de complementos. En caso de quieras solicitar un contenido, puedes usar el botón “Reportar” en el reproductor, el cual enviará un correo al autor del complemento que estás usando actualmente.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"¿Crearan un complemento para X?","FAQ_08_P1":"Es completamente posible.","FAQ_08_P2":"Si tienes una idea para un complemento, escríbenos a ${1}office@stremio.com${2}, pero asegúrate de que tu idea complementaria no infrinja los derechos de autor ni los términos de uso.","FAQ_08_P3":"En el momento, la siguiente cosa en nuestro plan de trabajo son complementos para FandangoNOW, vídeo bajo demanda Filmon.tv y Crunchyroll.","FAQ_09_H1":"¿Usa Stremio BitTorrent?","FAQ_09_P1":"Si, Stremio soporta BitTorrent como un protocolo de transmisión. Puedes usar este con un complemento torrent, arrastrando y soltando un archivo .torrent en Stremio, o pegando un enlace magnético en la barra de búsqueda.","FAQ_09_P2":"Por favor note que el único complemento oficial usando BitTorrent es ${1}Vodo${2}, el cual provee contenido independiente, todos permitidos para ser distribuidos con BitTorrent.","FAQ_09_P3":"No soportamos el uso de cualquier complemento de terceros que pueda infringir derechos de autor.","FAQ_10_H1":"¿Qué puedo ver en Stremio con los complementos oficiales?","FAQ_10_P1":"Por defecto, puedes ver contenido de Filmon.tv, YouTube y Vodo en Stremio mismo, con su reproductor embebido. Adicionalmente, tenemos un complemento para Twitch.tv y otros tantos.","FAQ_10_P2":"Esto combinado provee una selección de:","FAQ_10_L1":"Canales de televisión populares, proveídos por Filmon.tv - por ejemplo E4, BBC, Bollyworld TV","FAQ_10_L2":"Todo desde YouTube - por ejemplo BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Películas independientes con Vodo","FAQ_10_L4":"Transmisiones de juegos en línea con Twitch.tv","FAQ_10_P3":"Adicionalmente, hay muchas fuentes de contenido provistas con los complementos de Guidebox y Netflix, los cuales <b>no</b> reproducirán completamente dentro de Stremio, pero podría redirigirte al service dado. For example, el complemento de Guidebox puede darte una selección de películas que puedes reproducir en Estados Unidos gratuitamente, desde servicios como TubiTV y Crackle.","FAQ_11_H1":"Stremio no instala, ¿Qué puedo hacer?","FAQ_11_P1":"Si estás en Windows, intenta ${1}este instalador alternativo${2}.","FAQ_11_P2":"Si estás en Mac OS X, ten presente que no soportamos versiones anteriores a OS X Mavericks (10.9).","FAQ_11_P3":"Si estás en Linux, ten presente que solo soportamos Linux de 64 bits (x64) en el momento.","FAQ_11_P4":"Si aún no puede resolver su problema, por favor escríbanos a nuestro ${1}grupo de Facebook${2}.","FAQ_12_H1":"¿Por qué mi antivirus reclama? ¿Es Stremio seguro?","FAQ_12_P1":"Aseguramos que Stremio ${1}100% libre de virus${2}.","FAQ_12_P2":"Su antivirus está reclamando porque nosotros incluimos publicidad en nuestro instalador, la cual es reconocida por algunos antivirus como software publicitario.","FAQ_12_P3":"Si aún estás inseguro, puedes probar nuestro ${1}instalador alternativo${2}.","FAQ_13_H1":"¿Cómo puedo crear un complemento?","FAQ_13_P1":"Para principiantes, recomendamos que revises nuestro ${1}módulo de sistema de complementos${2} en GitHub.","FAQ_13_P2":"Después, puedes seguir el ${1}tutorial: Hello World${2}.","FAQ_13_P3":"Si no tienes habilidades en programación, por favor publica tu idea en ${1}la comunidad Reddit${2} y contáctanos con tu idea de complemento a ${3}office@stremio.com${4}.","FAQ_14_H1":"¿Cómo se publican complementos?","FAQ_14_P1":"Cuando creas un complemento y lo alojas, y pones un campo <b>endpoint</b> en su manifiesto, que apunta a una dirección de complemento funcional, el complemento automáticamente se publicará por si mismo en nuestro ${1}catálogo de complementos${2}.","FAQ_14_P2":"Esto sucede porque la parte del servidor del módulo stremio-addons realiza automáticamente una llamada a nuestra API para anunciar el complemento. Cuando nuestra API valida su <b>endpoint</ b> como un complemento válido, comenzará a mostrarse en el catálogo.","FAQ_15_H1":"¿Puedo ejecutar Stremio en mi navegador?","FAQ_15_P1":"No en este momento, ¡pero vendrá pronto!","FAQ_15_P2":"Si tienes curiosidad de ver un alfa, puedes verlo aquí: ${1}alpha4.strem.io${2}. Ten en mente que la transmisión es deshabilitada en este alfa. Soportamos Chrome, Firefox, Opera y Edge.","FAQ_16_H1":"Transmitir al televisor no funciona / subtítulos no funcionas","FAQ_16_P1":"La transmisión al televisor usa tecnología DLNA, que es muy inconsistente entre diferentes marcas y modelos de televisor. Por esa razón, no tenemos la capacidad de probarlo en todos los casos, por lo que está lejos de ser perfecto. A pesar de esto, estamos trabajando para mejorarlo constantemente, pero no podemos darle una estimación de cuándo la tecnología DLNA comenzará a funcionar correctamente con su televisor.","FAQ_16_P2":"Si ni siquiera ve su televisor en el menú de transmisión, intente deshabilitar su conexión de red y volver a habilitarla (en Windows, haga clic derecho en la red y use Activar/Desactivar), y reinicie su enrutador, televisor y computador.","FAQ_16_P3":"Si aún presentas problemas, puedes ayudarnos enviándonos la información de marca y modelo de tu televisor a ${1}office@stremio.com${2}.","FAQ_16_P4":"En el momento, recomendamos Chromecast, el cual soportamos bastante bien, o simplemente conecta a tu televisor con un cable HDMI.","FAQ_17_H1":"Stremio se bloquea y/o cierra, ¿qué puedo hacer?","FAQ_17_P1":"Primero que todo, si estás usando Windows 7 con el antivirus AVG: tenemos un problema con esta combinación. El problema es en el mismo AVG y no hay forma razonable para resolver el problema para nuestro fin. Desafortunadamente, excepciones o deshabilitar el antivirus no funcionará. La única solución es reemplazar AVG con otro antivirus.","FAQ_17_P2":"Si esto no soluciona el problema, pero aún estás usando Windows, por favor actualiza al último <i>service pack</i> y actualiza/reinstala tus controladores de la GPU, luego intenta de nuevo.","FAQ_17_P3":"Si su problema aún no se resuelve, o estás usando un Mac o Linux, por favor escríbenos reportando los detalles exactos del problema a ${1}nuestro grupo de Facebook${2}.","FAQ_18_H1":"¿Cómo puedo crear un complemento?","FAQ_18_P1":"Para principiantes, recomendamos que revises nuestro ${1}módulo de sistema de complementos${2} en GitHub.","FAQ_18_P2":"Después, puedes seguir el ${1}tutorial: Hello World${2}.","FAQ_18_P3":"Si no tienes habilidades en programación, por favor publica tu idea en ${1}la comunidad Reddit${2} y contáctanos con tu idea de complemento a ${3}office@stremio.com${4}.","FAQ_19_H1":"¿Por qué Stremio ocupa espacio en disco?","FAQ_19_P1":"Stremio tiene una <b>cache local</b> para almacenar temporalmente los archivos de vídeo que ves.","FAQ_19_P2":"Esto tiene dos beneficios: primero, esto permite a Stremio precargar el vídeo y así asegurar una transmisión más fluida. Segundo, este guarda los vídeos en la cache local, así puedes continuar viéndolos sin conexión.","FAQ_19_P3":"La cantidad que almacena Stremio depende de la configuración de <b>Cache<b> en el panel de Configuración. Stremio puede ser configurado para almacenar una cantidad (ej. 2GB) en su disco local, a menos que el vídeo transmitido actualmente sea mayor que eso, en cuyo caso tendrá que ubicar suficiente almacenamiento para guardarlo hasta que lo retransmitas","FAQ_20_H1":"¿Donde está la carpeta de almacenamiento?","FAQ_20_P1":"En Windows, es stremio-cache en el disco que seleccionaste en Configuración (ej. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"En MacOS, es \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"En Linux, es \\"~/.stremio/stremio-cache\\" o \\"~/stremio-cache\\"","FAQ_21_H1":"Obtengo el error \\"Streaming server is not found\\", ¿qué puedo hacer?","FAQ_21_P1":"Si ves este error, quiere decir una de las siguientes cosas::","FAQ_21_P2":"1) Estás intentando usar un complemento que depende de fuentes de Youtube/BitTorrent, a través de nuestra ${1}versión web${2}. En este caso, deberías instalar nuestra versión de escritorio desde ${3}nuestro sitio web${4}.","FAQ_21_P3":"2) Algo está mal con tu instalación de Stremio. En este caso, intenta reinstalar nuestra última versión de escritorio desde ${1}el sitio web${2}. Si esto no ayuda, intenta deshabilitar los programas de antivirus y el cortafuegos, reinicia tu computador e intenta de nuevo. Si esto tampoco funciona, escríbenos por favor a ${3}nuestro grupo de facebook${4}.","FAQ_22_H1":"No puedo ver/usar la mayoría de complementos en iOS","FAQ_22_P1":"Debido a las restricciones de los términos y condiciones de Apple App Store, tenemos restringida la aplicación iOS solo a un conjunto particular de complementos.","FAQ_22_P2":"Pero puedes estar seguro - habrán más complementos para iOS en el futuro, y podríamos también agregar una integración que te permita usar todos los complementos de Stremio gracias a la conexión de la aplicación iOS con el servidor de transmisión de Stremio."}')},43236:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Filma","TYPE_series":"Telesaila","TYPE_tv":"Telebista katea","TYPE_channel":"Kanala","TYPE_other":"Beste batzuk","TYPE_movie_PL":"Filmak","TYPE_series_PL":"Telesaila","TYPE_tv_PL":"Telebista kateak","TYPE_channel_PL":"Kanalak","TYPE_other_PL":"Beste batzuk","TYPE_ALL":"All","TYPE":"Type","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"Bideoa","BACK":"Atzera","MORE":"Gehiago","DONE":"Eginda","COPY":"Kopiatu","SUCCESS":"Success","ERROR":"Error","SETTINGS_CASTING_MODE_PICKER":"Casting mode","CASTING_MODE_HLSV2":"Default","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"No transcoding","Discover":"Ezagutu","Board":"Arbela","Library":"Liburutegia","My Library":"Nire Liburutegia","Calendar":"Egutegia","NOTIFICATION_ONLINE":"Linean zaude orain","NOTIFICATION_OFFLINE":"Une honetan lineaz kanpo zaude","INTERNET_CONNECTION":"Sareko konexioa","STORAGE_FULL_TITLE":"Abisua: biltegiratzea beteta!","STORAGE_FULL_TEXT":"Stremio-k ezin izango ditu zure ezarpenak, lehentasunak edo saio-hasierako informazioa gorde. Baloratu Stremio berriro abiaraztea edo berriro instalatzea.","SEARCH":"bilatu","SEARCH_NO_RESULTS":"Ez da emaitzarik aurkitu","SEARCH_EXPLANATION_CONTENT":"Bilatu filmak, serieak, YouTube eta telebista kateak","SEARCH_EXPLANATION_PEOPLE":"Aktore, zuzendari eta idazleak bilatu","SEARCH_PASTE_LINKS":"Itsatsi HTTP eta Magnet estekak","SEARCH_OR_PASTE_LINK":"Search or paste link","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"Gehitu liburutegian","REMOVE_FROM_LIB":"Kendu liburutegitik","ADDED_TO_LIB":"Liburutegian gehitu da","REMOVED_FROM_LIB":"Liburutegitik kendu da","TRAILER":"Trailerra","WATCH_TRAILER":"Ikusi Trailerra","WATCH_NOW":"Ikusi orain","SHOW":"Ikuskizuna","SHOW_MOVIE":"Erakutsi filma","WATCH_RANDOM":"Ikusi ausaz","IMDB_RATING":"IMDb balorazioa","YEAR":"Urtea","DIRECTOR":"Zuzendaria","WRITER":"Idazlea","LEAD_ACTORS":"Aktore nagusiak","CAST":"Aktoreak","CREW":"Tripulazioa","SHOW_MORE_CAST":"Erakutsi gehiago »","AIRED":"Erretransmititua","SEASONS":"Denboraldiak","GENRE":"Generoa","GENRE_ALL":"All genres","CATALOG":"Katalogoa","SUMMARY":"Laburpena","SHOW_MORE":"Erakutsi gehiago","SIMILAR":"Antzekoak","UPCOMING":"Datozenak","ENDED":"Bukatuta","DURATION":"Iraupena","FEATURED":"Nabarmenduak","METADATA":"Metadatuak","CATEGORY":"kategoria","LINKS_GENRES":"Genres","LINKS_CAST":"Cast","LINKS_DIRECTORS":"Directors","SEARCH_VIDEOS":"bilatu bideoak","SEARCH_PLACEHOLDER":"bilatu edo itsatsi URLa","ADDON":"gehigarria","ADDONS":"Gehigarriak","OFFICIAL":"ofiziala","ADDONS_OFFICIAL":"Stremio gehigarri ofizialak","ADDONS_POPULAR":"Zure inguruan ezaguna","ADDON_FREE":"doan","ADDON_PEERED":"begiratu","ADDON_SUBSCRIPTION":"harpidetza","ADDON_STREAM_GEORESTRICTED":"ez dago erabilgarri zure eremuan","ADDON_STREAM_OFFLINECACHE":"Lineaz kanpoko cachea","ADDON_STREAM_LOCALFILE":"Tokiko fitxategia","SHARE_ADDON":"Partekatu gehigarria","AVAILABLE_STREAMS":"Eskuragarri dauden stream-ak","NO_STREAM":"Ez da stream-ik aurkitu","ALL_ADDONS":"All","INSTALL_MORE_ADDONS":"Stream gehiagorako, instalatu gehigarriak","STREAM_NOT_SUPPORTED":"Aukeratutako stream-a ez da onartzen plataforma honetan.","ADDON_CATALOGUE":"Erakutsi gehigarri guztiak »","ADDON_CATALOGUE_MORE":"Instalatu gehigarriak","REPO_ADDED":"Biltegia gehitu da","ADDON_REPO_EXIST_ERR":"Gehigarrien bilduma hau dagoeneko existitzen da","ADDON_REPO_ERR":"Errore bat gertatu da bilduma gehitzean","ADDON_ADD_ERR":"Errore bat gertatu da gehigarria gehitzean","ERR_ADDON_PROTECTED":"Ezin da gehigarria desinstalatu, babestuta dago","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Arazoren bat izan da. Baliteke autentifikazioak huts egitea","ERR_NOT_COLLECTION_URL":"Ez da bildumaren URLa","ERR_NOT_ADDON_URL":"Ez da baliozko gehigarri URLa","ERR_DETECTFROMURL":"Ezin da URL honetatik gehigarririk/bildumarik aurkitu","ADDON_DUPLICATE_WARNING":"Abisua: gehigarri bikoiztua","ADDON_COLLECTION_SET_FAILED":"Instalatutako gehigarriak zure kontuan sinkronizatzeak huts egin du","SETTINGS_DATA_EXPORT":"Esportatu erabiltzaileen datuak","ADDON_PULL_FAILED":"Instalatutako gehigarriak zure kontutik sinkronizatzeak huts egin du","REFRESH_ON_CLICK":"Egin klik berriro saiatzeko","STILL_IN_THEATER":"Filma oraindik zinema aretoetan","WATCH_IN_CINEMA":"Ikusi zure tokiko zineman","IN_THEATER":"Zineman","GET_TICKETS":"Sarrerak eskuratu","UPCOMING_EPISODE":"Hurrengo atala","UPCOMING_EPISODE_MESSAGE":"Atal hau emitituko da","MISSING_DATE_EPISODE":"Atalaren data falta da","MISSING_DATE_EPISODE_MESSAGE":"Baliteke atal hau oraindik ez emititzea","CHANNEL_NOT_SCRAPED":"Kanal hau ez dago oraindik zatituta.<br>Itzuli minutu batzuen buruan.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Gehitu liburutegian erabilgarri dagoenean jakinarazpenak jasotzeko.","GET_NOTIFIED_WHEN_AVAILABLE":"Erabilgarri dagoenean jakinaraziko zaizu.","WARNING_STREAMING_SERVER":"Abisua: ez da aurkitu streaming lokaleko zerbitzaria. Tokiko fitxategietatik, YouTube-tik eta BitTorrent-etik erreproduzitzea ez da erabilgarri egongo.","WARNING_STREAMING_SERVER_DISMISS":"Dismiss","WARNING_STREAMING_SERVER_LATER":"Later","DECODER_WARNING":"Oharra: baliteke bideo hau zure hardwareak ez onartzea. Gogoan izan, erreprodukzioa motela izan daitekela.","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"Erreproduktorearen akatsa","PLAYER_ERROR_LOOKSLIKE":"Badirudi","PLAYER_ORIENTATION":"Erreproduktorearen orientazioa","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Blokeatuta","PLAYER_ORIENTATION_SENSOR_SHORT":"Sentsorea","PLAYER_ORIENTATION_LANDSCAPE":"Erreproduktorearen orientazio etzana blokeatuta dago","PLAYER_ORIENTATION_SENSOR":"Erreproduktorearen orientazio automatikoa (sentsorea)","PLAYER_PLAYBACK_SPEED":"Erreprodukzio abiadura","PLAYER_PLAYBACK_ERROR":"Erreprodukzioaren errorea. Saiatu berriro","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Errore ezezaguna","PLAYER_PLAYBACK_ERROR_DEFAULT":"Barkatu, bideo hau ezin du {{productName}} erabiltzaileak erreproduzitu.","PLAYER_SUBTITLES_LANGUAGES":"Subtitles Languages","PLAYER_SUBTITLES_VARIANTS":"Subtitles Variants","PLAYER_SUBTITLES_SETTINGS":"Subtitles Settings","PLAYER_SUBTITLES_DISABLED":"Subtitles are disabled","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Vertical Position","PLAYER_SUBTITLES_LOADED":"Subtitles loaded","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Embedded subtitles loaded","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Exclusive subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Subtitles from {{origin}} loaded","PLAYER_PLAY":"Play","PLAYER_PAUSE":"Pause","PLAYER_NEXT_VIDEO":"Next Video","PLAYER_MUTE":"Mute","PLAYER_UNMUTE":"Unmute","PLAYER_OPEN_IN_EXTERNAL":"Open in external player","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Play in {{device}}","PLAYER_LIVE":"Zuzenean","PLAYER_NEXT_VIDEO_TITLE":"Bueltan dator","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Baztertu","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Ikusi orain","PLAYER_COPY_STREAM_SUCCESS":"Stream link was copied to your clipboard","PLAYER_COPY_STREAM_ERROR":"Failed to copy stream link","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","STREAMING_FROM":"streaming jatorria","CASTING_TO":"(e)ra igortzen","NETWORK_STATUS":"Sarearen egoera","STREAM_SPEED":"Stream-aren abiadura:","STREAM_BUFFERED":"Bufferrean:","PEERS_INFO":"Peer informazioa","PEERS_ACTIVE":"Aktibo:","PEERS_CONNECTED":"Konektatuta:","PEERS_WAITING":"Itxaroten:","TRANSCODING_WARNING":"Abisua: bideoa transkodetzen.","STREAM_LOADING":"kargatzen...","PLAYING_LOCAL":"fitxategi lokaletik erreproduzitzen","PLAYING_CACHE":"cachetik erreproduzitzen","WRONG_SUBS":"Azpititulu okerrak?","ERR_SUBS_LOADING_TITLE":"Errorea azpitituluak kargatzean","ERR_SUBS_LOADING":"Ezin izan dira azpitituluak kargatu: arazoa izan daiteke erabiltzen ari zaren gehigarrian edo sareko konexioan","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Azpitituluen gehigarri hauek huts egin dute","ERR_CASTING_UPDATE_TITLE":"Ezin izan da eguneratu gailuaren informazioa: streaming zerbitzaria konexiorik gabe egon liteke","CHOOSE_DEVICE":"Aukeratu ikusi nahi duzun gailua","NO_CAST_DEVICES":"Ez dago galdaketa gailurik erabilgarri.","NO_SETTINGS":"Ez dago ezarpenik erabilgarri.","PHONE_TABLET":"Telefonoa / Tableta","SUBTITLES":"Azpitituluak","SUBTITLES_CHANGE":"Aldatu azpitituluak","SUBTITLES_CHANGE_NONE":"Ez dago hizkuntza honen azpititulurik, barkatu.","SUBTITLES_CHANGE_ACIVE":"Une honetan &#35;{{subtitlesDialog.activeIdx + 1}} azpitituluak aktibatuta daude. Egin klik \\"Jarraitu\\" &#35;{{subtitlesDialog.pickedIdx + 1}} azpitituluak aktibatzeko.","SUBTITLES_OR":"Bestela,","SUBTITLES_ADJUST_DELAY":"Doitu azpidatzien atzerapena:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Edo erabili <span>G</span> / <span>H</span> teklak erreproduzitzerakoan doiketarako.","SUBTITLES_ADJUST_DELAY_TIP":"AHOLKUA: <span>G</span> / <span>H</span> teklak erabil ditzakezu erreproduzitzerakoan doiketarako.","SUBTITLES_DELAY":"Azpitituluen atzerapena:","SUBTITLES_LOADING":"Azpitituluak kargatzen ...","SUBTITLES_UNAVAILABLE":"Ez dago kanpoko azpititulurik erabilgarri","SUBTITLES_DISABLED":"Desgaituta","EXTERNAL_PLAYER_DISABLED":"Disabled","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Allow Choosing","EXTERNAL_PLAYER_HINT":"Hint: There is a setting to allow always opening with external player","DONT_SHOW_AGAIN":"Don\'t show again","SERVICE_INSTALL":"Install","AUDIO":"Audioa","DEFAULT_LANGUAGE":"Defektuzko hizkuntza","DEFAULT_SECONDARY_LANGUAGE":"Defektuzko Bigarren Hizkuntza","SEASON":"Denboraldia","EPISODE":"Atala","EPISODE_ABBREVIATION":"EP","SPECIAL":"Berezia","SORT":"ordenatu","SORT_BY":"Ordenatu","FILTER":"iragazkia","SORT_TRENDING":"joera","SORT_RECENT":"berriena","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"balorazioa","SORT_WATCHED":"ikusita","SORT_YEAR":"urtea","SELECT_TYPE":"Select type","SELECT_SORT":"Select sort","SELECT_CATALOG":"Select catalog","SELECT_GENRE":"Select genre","SORT_LASTWATCHED":"By last watched","SORT_NAME":"By name","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"By times watched","SORT_NOTWATCHED":"not watched","New for You":"Zuretzako berria","New Episodes":"Atal berriak","New Videos":"Bideo berriak","Recommendations":"Gomendioak","LIBRARY_RESUME":"Jarraitu","LIBRARY_PLAY":"Play","LIBRARY_DETAILS":"Xehetasunak","LIBRARY_RESUME_DISMISS":"Baztertu","LIBRARY_CLEAR_PROGRESS":"Clear Progress","LIBRARY_REMOVE":"Remove","LIBRARY_NOT_LOGGED_IN":"Library is only available for logged in users","CALENDAR_NOT_LOGGED_IN":"Calendar is only available for logged in users","NOT_LOGGED_IN_CLOUD":"Access your favorite movies and TV shows anytime, anywhere","NOT_LOGGED_IN_RECOMMENDATIONS":"Recommendations tailored to your viewing history","NOT_LOGGED_IN_NOTIFICATIONS":"Never miss an episode again","NOT_LOGGED_IN_CALENDAR":"Schedule your personal watching calendar","DISCOVER_FEATURED":"Nabarmenduak","DISCOVER_TOP":"Gora","DISCOVER_OSCAR":"Oscar saridunak","DISCOVER_WARNING_TITLE":"Glubs!","DISCOVER_EMPTY_CATALOG":"Gehigarri honek eduki hutsa itzuli du.","DISCOVER_ADULT_WARNING":"Edukia helduentzat soilik dago ikusgai. 18 urte baino gehiago al dituzu?","DISCOVER_NOADDON_WARNING":"Abisua: ez dago Stremio gehigarririk aktibo mota honetarako. Gordetako elementuak erakutsiz, hemen ez da ezer eguneratuko.","DISCOVER_LOAD_ERR":"Edukia ez da kargatu, errorea gertatu da.","DISCOVER_ADDON_UNINSTALLED":"Eduki hau jada ez dago erabilgarri, baliteke gehigarria instalatuta ez izatea.","UNINSTALL_THIS_ADDON":"Desinstalatu gehigarri hau","ERR_ADDON_NOT_INSTALLED":"Gehigarri hau ez dago instalatuta. Orain instalatu nahi duzu?","DETAIL_RECEIVE_NOTIF_SERIES":"Jaso atal berrien jakinarazpenak","DETAIL_RECEIVE_NOTIF_VIDEOS":"Jaso bideo berrien jakinarazpenak","SIDEBAR_SHOW_STREAMS":"Erakutsi stream-ak","RELAUNCH":"Berrabiarazi orain!","UPGRADE":"Bertsio berria eskuragarri dago! Bertsio berritu Stremio azken bertsiora","RELOAD_UI":"Erabiltzailearen interfazea berriro kargatu","MANUAL_UPDATE_TITLE":"Eguneratu Stremio bertsioa","MANUAL_UPDATE_LINE1":"Oso gomendagarria ez den Stremioren bertsio zaharkitu bat erabiltzen ari zara.","MANUAL_UPDATE_LINE2":"Mesedez, eguneratu lehenbailehen.","BUTTON_UPDATE_LATTER":"Orain ez","BUTTON_UPDATE_NOW":"Eguneratu","ANONYMOUS_USER":"Erabiltzaile anonimoa","DONT_HAVE_ACC":"Ez duzu konturik?","HAVE_ACC":"Baduzu kontua?","PASSWORD":"Pasahitza","PASSWORD_CONFIRM":"Pasahitza baieztatu","EMAIL":"Posta elektronikoa","FB_LOGIN":"Jarraitu Facebook-ekin","FB_NOTHINGSHARED":"Ez da ezer partekatzen zure baimenik gabe","FB_NOPOST":"Ez dugu ezer argitaratuko zure izenean","OR":"edo","I_ACCEPT":"Onartzen dut","I_ACCEPT_BY_CLICKING":"Goiko botoian klik eginda onartzen dudala deklaratzen dut","TOS":"Terminoak eta baldintzak","MUST_ACCEPT_TERMS":"Baldintzak onartu behar dituzu","PASSWORDS_NOMATCH":"Pasahitzak ez datoz bat","SIGN_UP":"Izena eman","SIGN_UP_EMAIL":"Eman izena posta elektronikoz","CLICK_TO_SIGN_UP":"Izena emateko egin klik hemen.","LOG_IN":"Saioa hasi","LOG_OUT":"Saioa amaitu","EXIT_FULLSCREEN":"Irten pantaila osoko modutik","ENTER_FULLSCREEN":"Sartu pantaila osoko moduan","PLAY_URL_MAGNET_LINK":"Erreproduzitu URL/Magnet esteka","HELP_FEEDBACK":"Laguntza eta oharrak","TERMS_OF_SERVICE":"Zerbitzu-baldintzak","PRIVACY_POLICY":"Privacy Policy","ABOUT_STREMIO":"Stremiori buruz","USER_PANEL":"Erabiltzaile panela","LOGIN_LABEL":"Login","GUEST_LOGIN":"Gonbidatuaren saioa hasi","GUEST_LOGIN_NOTICE":"Gonbidatuen saioa hastea ez da gomendagarria. Ohiko saio-hasiera erabiliz Stremio-k zure Liburutegia sinkronizatzeko eta telesail/kanal gogokoen jakinarazpenak jasotzeko aukera ematen du. Ziur zaude jarraitu nahi duzula?","GUEST_LOGIN_NOTICE_2":"Gonbidatuen saioa hastea ez da gomendagarria; ez dituzu Liburutegi eta Taularen jakinarazpenak sinkronizatuko eta ezinbesteko Stremio funtzioak dira. Ziur zaude jarraitu nahi duzula?","CLICK_HERE":"klikatu hemen","WRONG_PASSWORD":"Posta elektroniko edo pasahitz okerra. Pasahitza ahaztu baduzu,","SET_A_PASS":"ezarri pasahitza","RESET_PASSWORD":"Pasahitza berrezarri","FORGOT_PASSWORD":"Pasahitza ahaztu duzu?","EMAIL_USED_WITH_FB":"Mezu elektronikoa Facebookeko saio hasierarekin erabili da.","INVALID_EMAIL":"Mesedez, sar ezazu helbide elektroniko egokia","INVALID_PASSWORD":"Mesedez, sartu baliozko pasahitza","CONN_ERR":"Konexioaren errorea. Saiatu berriro geroago.\\n\\nHonek jarraitzen badu, desgaitu firewall/antibirusa (batez ere Bitdefender).","IMPORT_FROM_GUEST":"Inportatu liburutegia zure gonbidatu kontutik","RECEIVE_UPDATES_EMAIL":"Jaso zure posta elektronikoaren eguneratzeak Stremioren eskutik","LOGIN_FAILED":"Errorea saioa hastean.","SIGNUP_FAILED":"Ezin izan da erregistratu.","SEARCH_FAILED":"Bilaketak huts egin du","EMAIL_USED":"Mezu elektronikoa dagoeneko erabiltzen ari da.","WAITING_FB_LOGIN":"Facebook-ekin saioa hasten...","EXTERNAL_PLAYER_TITLE":"Erreproduzitu kanpoko erreproduzitzailean","EXTERNAL_REMEMBER_PLAYER":"Zure aukera gogoratu nahi al duzu?","EXTERNAL_ALWAYS_PLAY":"Bai","EXTERNAL_ONLY_ONCE":"Ez","BEST_FIT":"Best Fit","FIT_SCREEN":"Fit Screen","FILL":"Fill","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"Konta iezaguzu zer gustatzen zaizun","INTRO_TASTE_LONG":"Kontatu zer ikusi nahiko zenukeen","INTRO_TASTE_PICK":"Aukeratu {{interestRemaining}} interesak","INTRO_TASTE_PICK_MORE":"Aukeratu {{interestRemaining}} interes gehiago","INTRO_TASTE_HELP_US":"Lagundu iezaguzu zure inguruan gehiago jakiten.","INTRO_TASTE_CHOOSE_THESE":"Aukeratu hauetako batzuk:","INTRO_TASTE_CHOOSE_MIN":"Aukeratu gutxienez 3 kategoria","INTRO_TASTE_CHOOSE_MIN_ERR":"Gutxienez 3 kategoria aukeratu behar dituzu!","INTRO_TASTE_LIFESTYLE":"Bizimodua","INTRO_TASTE_SPORTS":"Kirolak","INTRO_TASTE_FOOD_HEALTH":"Elikadura eta Osasuna","INTRO_TASTE_BEAUTY_FASHION":"Edertasuna eta Moda","INTRO_TASTE_NEWS":"Albisteak","INTRO_TASTE_GAMING":"Jokoa","INTRO_TASTE_SCIENCE_EDU":"Zientzia eta Hezkuntza","INTRO_TASTE_MUSIC":"Musika","INTRO_TASTE_TRAVEL":"Bidaia","INTRO_TASTE_LATE_NIGHT":"Late Night Show","INTRO_TASTE_REALITY":"Errealitatea","INTRO_TASTE_COMEDY":"Komedia","INTRO_TASTE_DIY":"Nola egin zerorrek","INTRO_TASTE_TECH":"Teknologia","INTRO_TASTE_CINEMA":"Zinema","ADDON_NOT_SUPPORTED":"Aukeratutako gehigarria ez da plataforma honetan onartzen.","ADDON_DISCLAIMER":"Hirugarrenen gehigarriak erabiltzea beti egongo da zure erantzukizunaren eta kokatzen zaren jurisdikzioaren lege arauaren menpe.","ADDON_ACTIVATE":"Gehigarri hau aktibatu nahi duzu?","ADDON_REPO_ADD":"Gehigarrien bildumaren URLa","ADDON_ADD":"Gehitu","INSTALL_ADDON":"Install addon","ADD_ADDON":"Add addon","ADD_ADDON_DESCRIPTION":"You can add an addon via an external link, which will appear under Installed addons.","PASTE_ADDON_URL":"Paste addon URL","WHATS_NEW":"Berriak","BUTTON_CONTINUE":"Jarraitu","BUTTON_ACTIVATE":"Aktibatu","BUTTON_ACTIVATED":"Aktibatuta","BUTTON_CANCEL":"Utzi","BUTTON_SUBMIT":"Submit","BUTTON_DISMISS_ALL":"Baztertu guztiak","BUTTON_VIEW_ALL":"ikusi guztiak","BUTTON_SEE_ALL":"See All","BUTTON_COLOR_TRANSPARENT":"Transparent","OPEN_IN_BROWSER":"Open in browser","LIB_EMPTY":"Liburutegia hutsik dago. Deskubritu zeinen erabilgarria den :)","HOW_START":"Hona hemen nola hasi:","LIB_EMPTY_CAL":"Zure Egutegian liburutegiko telesailak agertzen dira.","HOW_START_CAL":"Hemen duzu telesailak nola gehitu:","LIB_EMPTY_BOARD":"Taulan jakinarazpenak agertzen dira &amp; zure Liburutegiari lotutako gomendioak.","HOW_START_BOARD_WAIT":"Mesedez, gehitu telesail edo kanal batzuk zure liburutegian, eman iezaguzu minutu batzuk prozesatzeko :)","HOW_START_BOARD":"Hona hemen nola gehi ditzakezu telesailak &amp; filmak:","IMPORT_FB":"Inportatu gustuko dituzun gauzak <span>Facebook</span>etik","IMPORT_TRAKT":"Inportatu mediateka <span>Trakt</span>etik","IMPORT_DISCOVER":"Bilatu <span>Ezagutu</span>-ko gauza interesgarriak","IMPORT_DISK":"Inportatu zure <span>disko lokalean</span> dituzun filmak edo saioak","PLEASE_CREATE_ACC":"Mesedez, <u>sortu kontua</u> Liburutegiaren sinkronizazioa eta &amp; Taula aktibatzeko.","IMPORT_DISCOVER_SIGNUP":"Erregistratu eta aurkitu gauza interesgarriak <span>Ezagutu</span> atalean","IMPORT_DISK_SIGNUP":"Erregistratu eta inportatu zure <span>disko lokalean</span> dituzun filmak edo saioak","LIB_EMPTY_CLOUD":"Hodei liburutegia","LIB_EMPTY_CLOUD_DESC":"Hodei liburutegi pertsonala gailu guztietan sinkronizatuta","LIB_EMPTY_EARLY":"Txori goiztiarra","LIB_EMPTY_EARLY_DESC":"Jaso atal berrien jakinarazpenak","LIB_EMPTY_PERSONAL":"Pertsonala","LIB_EMPTY_PERSONAL_DESC":"Jaso gomendio pertsonalak","LIB_EMPTY_CALENDAR_DESC":"Antolatu zure behaketa egutegi pertsonala","LIB_EMPTY_ALL":"Izena eman hauek guztiak lortzeko:","LIB_EMPTY_BEST":"Eman izena Stremioren onena lortzeko","LIB_EMPTY_OTHER":"Eman izena Egutegia eta beste funtzio interesgarri batzuk gaitzeko","CALENDAR_ADDED":"Stremio egutegia zure mahaigaineko egutegi lehenetsian gehitu da.","CALENDAR_ADDED_MSG":"Honek funtzionatzen ez badu, gehitu URL hau zure egutegiko aplikazioan eskuz","TRAKT_EXPIRED":"Trakt autentifikazioa iraungita dago, joan Ezarpenak atalera eta berriro autentifikatu","TRAKT_REQUIRES_LOGIN":"Trakt errorea","TRAKT_REQUIRES_LOGIN_MSG":"Saioa hasi behar duzu","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","SETTINGS_LABEL":"Ezarpenak","SETTINGS_NAV_GENERAL":"Orokorra","SETTINGS_NAV_PLAYER":"Erreproduktorea","SETTINGS_NAV_STREAMING":"Streaming","SETTINGS_NAV_SHORTCUTS":"Shortcuts","SETTINGS_SHORTCUT_RELOAD_APP":"Freskatu app-a","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Open Settings","SETTINGS_SHORTCUT_SWITCH_TABS":"Switch Tabs","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Cycle Through Tabs Forward","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Cycle Through Tabs Backward","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigate Between Menus","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Go to Search","SETTINGS_SHORTCUT_EXIT_BACK":"Irten / Atzera joan","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Toggle Playback Speed Menu","SETTINGS_SHORTCUT_MENU_VIDEOS":"Toggle Videos Menu","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Toggle Subtitles Menu","SETTINGS_SHORTCUT_MENU_INFO":"Toggle Info Menu","SETTINGS_SHORTCUT_FULLSCREEN":"Toggle Fullscreen","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Show Controls","SETTINGS_SHORTCUT_PLAY_PAUSE":"Play / Pause","SETTINGS_SHORTCUT_VOLUME_UP":"Igo bolumena","SETTINGS_SHORTCUT_VOLUME_DOWN":"Jaitsi bolumena","SETTINGS_SHORTCUT_SEEK_NEXT":"Eskatu hurrengoa","SETTINGS_SHORTCUT_SEEK_PREV":"Eskatu aurrekoa","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Seek Backward","SETTINGS_SHORTCUT_SEEK_FORWARD":"Seek Forward","SETTINGS_SHORTCUT_PLAY_NEXT":"Erreproduzitu hurrengoa","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Handitu azpitituluen tamaina","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Txikitu azpitituluen tamaina","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Handitu azpitituluen atzerapena","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Txikitu azpitituluen atzerapena","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Ireki/Itxi alboko barra","SETTINGS_SHORTCUT_OR":"or","SETTINGS_SHORTCUT_TO":"to","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Authenticate","SETTINGS_FACEBOOK_IMPORT":"Import","SETTINGS_CALENDAR_SUBSCRIBE":"Subscribe","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Interface Language","SETTINGS_LAUNCH_STARTUP":"Abiarazi piztean","SETTINGS_VLC_DEFAULT":"Erreproduzitu VLC-rekin","SETTINGS_UI_LANGUAGE":"UI hizkuntza","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Esc teklarekin irten pantaila osotik","SETTINGS_GAMEPAD":"Gaitu gamepad laguntza","SETTINGS_CLOSE_WINDOW":"Itxi aplikazioa leihoa itxita dagoenean","SETTINGS_SUBTITLES_LANGUAGE":"Azpitituluen hizkuntza lehenetsia","SETTINGS_SUBTITLES_SIZE":"Azpitituluen tamaina lehenetsia","SETTINGS_SUBTITLES_BACKGROUND":"Azpitituluen atzeko planoa","SETTINGS_SUBTITLES_COLOR":"Azpitituluen kolorea","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Azpitituluen eskema kolorea","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Azpitituluen atzeko kolorea","SETTINGS_SEEK_KEY":"Geziek denbora bilatzen dute","SETTINGS_SEEK_KEY_SHIFT":"Gezien teklek Shift tekla sakatuta dagoenean denbora bilatzen dute","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Rewind & Fast-forward duration","SETTINGS_BINGE":"Erreproduzitu automatikoki hurrengo atala","SETTINGS_NEXT_VIDEO":"Erakutsi jakinarazpena hurrengo atala hasteko","SETTINGS_NEXT_VIDEO_TRIGGER":"Erakutsi hurrengo atalaren jakinarazpena:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Next video popup duration","SETTINGS_PLAY_IN_BACKGROUND":"Play in background","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Play in external player","SETTINGS_RESIZE":"Aldatu automatikoki leihoa erreproduzitu aurretik","SETTINGS_OVERRIDE_SERVER":"Gainidatzi streaming zerbitzariaren URLa (aurreratua)","SETTINGS_SERVER_URL":"Streaming zerbitzariaren URLa:","SETTINGS_SERVER_AVAILABLE":"Streaming zerbitzaria eskuragarri dago.","SETTINGS_SERVER_UNAVAILABLE":"Streaming zerbitzaria ez dago erabilgarri.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Error","SETTINGS_SERVER_CONFIGURE_TITLE":"Configure streaming server url","SETTINGS_SERVER_CONFIGURE_INPUT":"Enter a streaming server url","SETTINGS_SERVER_CACHE_SIZE":"Cache size","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent profile","SETTINGS_HTTPS_ENDPOINT":"Streaming HTTPS amaiera:","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Erabili beti azken bertsioa","SETTINGS_IMPORT_FB":"Inportatu Facebooketik","SETTINGS_IMPORT_DISK":"Inportatu disko lokaletik","SETTINGS_IMPORT_TRAKT":"Inportatu Trakt-etik","SETTINGS_PAUSE_MINIMIZED":"Pausatu erreprodukzioa minimizatutakoan","SETTINGS_HWDEC":"Hardwarea azeleratutako deskodetzea","SETTINGS_BACKGROUND":"Atzeko planoaren erreprodukzioa","SETTINGS_SUBSCRIBE_CALENDAR":"Harpidetu egutegira","SETTINGS_REQ_EXPORT":"Eskatu datuak esportatzeko","SETTINGS_ACC_DELETE":"Eskatu kontua ezabatzeko","SETTINGS_CHANGE_PASSWORD":"Aldatu pasahitza","SETTINGS_TOS":"Zerbitzu-baldintzak","SETTINGS_SUPPORT":"Jarri harremanetan laguntza zerbitzuarekin","SETTING_LANGUAGE":"Hizkuntza","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_LOGOUT":"Amaitu saioa Trakt.tv-tik","SETTINGS_TRAKT_LOGOUT_2":"Amaitu saioa Trakt-tik","SETTINGS_SCAN_FOR_REMOTE":"Eskaneatu QR kodea urrunekoa irekitzeko","SETTINGS_DESKTOP_NOTIFICATIONS":"Mahaigaineko jakinarazpenak","SETTINGS_DATA_SAVER":"Datu aurrezlea","SETTINGS_LANGUAGE_INTERFACE":"interfazea","SETTINGS_LANGUAGE_SUBS":"azpititulu lehenetsiak","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Aukeratu automatikoki Audio pista","SETTINGS_DEFAULT_AUDIO_TRACK":"Audio pista lehenetsia","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"kontua","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"bertsioa","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"Abiarazi erreproduzitzailea beste leiho batean (aurreratua)","SETTINGS_PLAY_IN_EXTERNAL":"Hasi beti bideoa kanpoko erreproduzitzailean","SETTINGS_STORAGE_BUTTON":"Garbitu tokiko biltegiratzea","SETTINGS_STORAGE_MODAL_TITLE":"Ziur zaude ?","SETTINGS_STORAGE_MODAL_MESSAGE":"Honek tokiko biltegia garbitu eta saioa amaituko du.","SETTINGS_HWDEC_PICKER":"Pick hardware-accelerated decoding setting","SETTINGS_HW_AUTOMATIC":"Automatic","SETTINGS_HW_DISABLED":"Disabled","SETTINGS_HW_ACCELERATED":"Decoding acceleration","SETTINGS_HW_FULL":"Full acceleration","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Subtitles","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Controls","SETTINGS_SECTION_AUTO_PLAY":"Auto-Play","SETTINGS_SECTION_ADVANCED":"Advanced","SUBSPICKER_AUDIO":"Audio","SUBSPICKER_SUBTITLES":"Addons Subtitles","SUBSPICKER_BLACK_BACKGROUND":"Use black background color","SUBSPICKER_VERTICAL_OFFSET":"Vertical Offset","SUBSPICKER_SIZE":"Size","SUBSPICKER_DELAY":"Delay","SUBSPICKER_EMBEDDED_SUBS":"Embedded Subtitles","MOBILE_PRIVACY_POLICY":"Privacy Policy","MOBILE_CRASH_REPORTING":"Crash Reporting","MOBILE_ZOOM_TO_FILL":"Zoom To Fill Screen","MOBILE_PASSTHROUGH":"Digital audio output (passthrough)","MOBILE_RUN_LOW_BATTERY":"Run on low battery","MOBILE_RUN_FOREGROUND":"Run as Foreground Service","MOBILE_PERFORMANCE":"PERFORMANCE & STABILITY","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"QR Code expires in ","MOBILE_LOG_INTO":"Log in to your Stremio account ","MOBILE_SCAN_QR":"Scan QR code above or go to ","MOBILE_LINK_ACCOUNT":"Link Account","MOBILE_SPEEDPICKER_CANCEL":"Cancel","MOBILE_SPEEDPICKER_LABEL":"Select Playback Speed","MOBILE_EMPTY_LIBRARY":"Your library is empty","MOBILE_NO_ADDON_ACTIVE":"No Stremio addon active for this type.","MOBILE_ORGANIZER_WARNING":"The Stremio Organizer app provides limited functionality. For a list of playable streams and the full Stremio experience, use Stremio on desktop.","MOBILE_ADDON_LOADING":"is still loading","MOBILE_ADDONS_LOADING":"addons are still loading","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Configure your addon","MOBILE_CONFIGURE_ADDON_LABEL":"Configure Addon","MOBILE_ORGANIZER_ADDONS_WARNING":"The Stremio Organizer app provides a limited selection of addons. For the full Stremio experience, use Stremio on desktop.","MOBILE_DISCONNECT":"Disconnect","MOBILE_LOOKING_FOR_DEVICES":"Looking for devices...","MOBILE_CAST_TO":"Cast to","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Delete Account","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Account deletion is not instant due to legal obligations. After requesting deletion of your account you will have to use different email address/facebook profile to create a new Stremio account in the future.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirm Account Deletion","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Your account has been created using Facebook. To delete your account, please use our user portal at www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Please provide your password to confirm account deletion.","MOBILE_DELETE_ACCOUNT_BUTTON":"Delete Account","NAVIGATION_ON":"On","NAVIGATION_OFF":"Off","MARKETING_AGREE":"I agree to receive marketing communications from Stremio","QUIT":"Irten","CONNECTED":"Konektatuta","AUTHENTICATE":"Autentifikatu","CACHING":"Cachea","SETTINGS_CACHING_DRIVE":"Caching unitatea","ENABLE_LOCAL_FILES_ADDON":"Gaitu fitxategi lokalen gehigarria (berrabiarazi behar da)","LOCAL_ADDON_NOT_ENABLED":"Local addon is not enabled. Click here to go to the settings and enable it","ENABLE_REMOTE_HTTPS_CONN":"Gaitu urruneko HTTPS konexioak","TORRENT_PROFILE":"Torrent profila","DATA_CACHING":"Datuen cache-a","MAGNET_PARSING":"Magnet parseoa","January":"Urtarrila","February":"Otsaila","March":"Martxoa","April":"Apirila","May":"Maiatza","June":"Ekaina","July":"Uztaila","August":"Abuztua","September":"Iraila","October":"Urria","November":"Azaroa","December":"Abendua","Monday":"Astelehena","Tuesday":"Asteartea","Wednesday":"Asteazkena","Thursday":"Osteguna","Friday":"Ostirala","Saturday":"Larunbata","Sunday":"Igandea","Action":"Akzioa","Comedy":"Komedia","War":"Gerra","Family":"Familia","Animation":"Animazioa","Adventure":"Abentura","Fantasy":"Fantasia","Crime":"Delitua","Mystery":"Misterioa","Romance":"Erromantikoa","Drama":"Drama","Horror":"Beldurra","Thriller":"Thrillerra","Sci-Fi":"Zientzia-fikzioa","Music":"Musika","Biography":"Biografia","Documentary":"Dokumentala","Sport":"Kirola","Musical":"Musikala","Western":"Westerna","Film-Noir":"Film-Noir","News":"Albisteak","History":"Historia","Game-Show":"Joko-Ikuskizuna","Reality-TV":"Reality-TV","Talk-Show":"Talk-Show","Film & Entertainment":"Zinema eta aisialdia","Gaming":"Gaming","From TV":"Telebistatik","Lifestyle":"Bizimodua","Science & Education":"Zientzia eta Hezkuntza","Cooking & Health":"Sukaldaritza eta Osasuna","Beauty & Fashion":"Edertasuna eta Moda","Sports":"Kirolak","News & Politics":"Albisteak eta politika","How-to & DIY":"Nola egin eta DIY","Tech":"Teknologia","Automotive":"Automobilgintza","Causes & Non-Profits":"Kausak eta irabazi asmorik gabekoak","Movies":"Filmak","Uk Live Tv":"Uk Live Tv","Fashion":"Moda","Business News Radio":"Business News Radio","Business Tv":"Business Telebista","Cars & Auto":"Autoak","Comedy Radio":"Komedia Irratia","Lifestyle Radio":"Bizimodu Irratia","News Tv":"Albiste Telebista","Food And Wine":"Janaria eta ardoa","Latino Tv":"Latino Tv","Shopping Tv":"Erosketa Telebista","Religion":"Erlijioa","Kids":"Haurrak","Body & Soul":"Gorputza eta Arima","Education":"Hezkuntza","Indian Tv":"Indiako telebista","Extreme Sports":"Muturreko Kirolak","Middle Eastern Tv":"Ekialde Hurbileko Telebista","Celebrity Tv":"Celebrity telebista","Science Tv":"Zientzia telebista","Bikini babe":"Bikini babe","Outdoors":"Aire librean","German Tv":"Alemaniako telebista","French Tv":"Telebista frantsesa","Italian Tv":"Italiako telebista","Gamer Tv":"Gamer telebista","Travel":"Bidaia","Asian Tv":"Asiako telebista","Entertainment":"Aisialdia","News Radio":"Albiste Irratia","Music Radio":"Musika Irratia","Language Learning":"Hizkuntzen ikaskuntza","Science Radio":"Zientzia Irratia","Tech Radio":"Tech Radio","Science & Technology Vod":"Zientzia eta Teknologia Vod","new video":"bideo berria","new episode":"atal berria","new movie":"film berria","recommended":"gomendatua","we recommend":"gomendatzen dugu","offer of the day":"eguneko eskaintza","news":"berriak","music video":"bideoklipa","CTX_SHOW_HOTKEYS":"Show hotkeys","CTX_DISMISS_NOTIF":"Baztertu jakinarazpenak","CTX_DISMISS_ALL":"Baztertu guztiak","CTX_SHARE":"Partekatu","CTX_COPY_SHARE_LINK":"Kopiatu partekatzeko esteka","CTX_COPY_MAGNET_LINK":"Kopiatu magnet esteka","CTX_COPY_STREAM_LINK":"Kopiatu stream-aren esteka","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Deskargatu bideo hau","CTX_DOWNLOAD_SUBS":"Deskargatu azpitituluak","CTX_VIEW_ON_YOUTUBE":"Ikusi Youtuben","CTX_SHOW":"Ikuskizuna","CTX_PLAY":"Erreproduzitu","CTX_PLAY_IN":"Erreproduzitu","CTX_PLAY_ON":"Erreproduzitu","CTX_WATCH_ON":"Ikusi","CTX_WATCH":"Ikusi","CTX_WATCHED":"Ikusita","CTX_WATCH_BEGINNING":"Ikusi hasieratik","CTX_WATCH_MOBILE":"Ikusi gailu mugikorrean","CTX_REWIND":"Atzera hasierara","CTX_MARK_WATCHED":"Markatu ikusitako moduan","CTX_MARK_NON_WATCHED":"Markatu ez ikusi gisa","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"Markatu gainerakoa ikusi bezala","CTX_UNMARK_REST":"Markatu gainerakoak ez ikusi gisa","CTX_RECEIVE_NEW_NOTIF":"Jaso jakinarazpen berriak","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"Kendu cache-tik","CTX_REMOVE_CACHE_EP":"Kendu pasartea katxetik","CTX_OPEN_CONTAINING":"Ireki duen karpeta","CTX_REMOVE":"Kendu liburutegitik","CTX_AVAILABLE_OFFLINE":"Lineaz kanpo eskuragarri","CTX_PAUSED":"Pausatuta","CTX_ALWAYS_ON_TOP":"Beti gainean","CTX_FULLSCREEN":"Pantaila osoa","CTX_WRONG_SUBS":"Azpititulu okerrak?","CTX_REPORT_ISSUES":"Salatu alea","CTX_COPY":"Kopiatu","CTX_PASTE":"Itsatsi","CTX_CLEAR":"Garbi","CTX_CLEAR_RECENT_SEARCHES":"Garbitu azken bilaketak","HELLO_THERE":"Kaixo","HOPE_YOU_ENJOY":"Stremio gustatuko zaizula espero dugu eta laster zure aplikazio gogokoenetako bat izango da!","WHO_ARE_WE":"Nor gara gu? Atzean dagoen taldea gara. Azken 3 urteetan egunero gogor lan egiten duten bi mutil produktu hau gero eta hobea izan dadin.","SUPPORT_US":"Stremio erabiltzea gustatzen bazaizu, Stremio zuretzat baliotsua bada - zabaldu!","SPREAD_THE_WORD":"Partekatu orain zure lagunekin, zabaldu Stremioren berri","MORE_PEOPLE":"Zenbat eta jende gehiagok erabili Stremio, orduan eta hobeto lortuko du!","SEND_A_LINK":"Edo bidali esteka gure webgunera","TIP_LOCALFILES":"Aholkua: bideo fitxategi lokalak arrastatu eta askatu ditzakezu Stremiora","ADDON_MY":"Nire gehigarriak","ADDON_COMMUNITY":"Komunitateko gehigarriak","ADDON_OFFICIAL":"Addon ofizialak","ADDON_REPOS":"Gehigarrien bildumak","ADDON_SEARCH":"Bilatu gehigarriak","ADDON_INSTALL":"Instalatu","ADDON_CONFIGURE":"Konfiguratu","ADDON_UNINSTALL":"Desinstalatu","ADDON_UPGRADE":"Berritu","ADDON_INSTALLED":"Instalatuta","ADDON_INSTALLED_MSG":"Gehigarria instalatuta!","ADDON_UPGRADED_MSG":"Gehigarria bertsio-berritu da!","ADDON_UNKNOWN":"Ezezaguna","ADDON_ERR":"Gehigarri instalazio errorea!","ADDON_DISCONNECTED":"Deskonektatuta","ADDON_APP_MISSING":"iturri honen aplikazioa ez dago instalatuta. Orain instalatu nahi duzu?","ADDON_APP_INSTALL":"Instalatu orain","ADDON_PAGE":"Gehigarrien orria","ADDON_TOP_CONTENT":"Onena Addon honetatik","ADDON_PROVIDES":"Gehigarri honek emango dizu:","ADDON_WATCH":"Ikusi #{types} orain!","ADDON_WATCH_FREE":"Ikusi DOAKO #{types} orain!","ADDON_ADDON":"Gehitu","ADDON_SUPPORTED_TYPES":"Onartutako motak","ADDON_SUPPORTED_CATALOGS":"Onartutako katalogoak","ADDON_PROVIDES_DISCOVER":"#{types} gehiago Ezagutu-n","ADDON_PROVIDES_STREAMS":"Ikusi #{types}","ADDON_PROVIDES_STREAMS_FREE":"Ikusi DOAKO #{types}","ADDON_PROVIDES_SUBTITLES":"#{types}(r)en azpitituluak","ADDON_CANTDETECT":"Ezin izan dugu Stremio exekutatzen ari den detektatu, beraz, ezin dugu detektatu zer gehigarri instalatu dituzun.","ERR_NO_META":"Ez da honi buruzko informaziorik aurkitu","ERR_GETTING_META":"Errorea honi buruzko informazioa eskuratzean.","ERR_CANT_PARSE_MAGNET":"Ezin da magnet parseatu","ERR_NO_MAGNET_INFOHASH":"Ez da baliozko hash-a magnetentzat","ERR_NO_FILE_PATH":"Ezin da eskaera bidali artxiborako biderik gabe","ERR_NO_TORRENT":"Ez da torrentik itzuli","ERR_NO_SUPPORTERD_FILES":"Ez da onartutako fitxategirik aurkitu","ERR_OPENING_FILES":"Ezin izan dira kanpoko fitxategiak ireki","ERR_INVALID_LINK":"Esteka baliogabea","ERR_REGISTERED_ONLY":"Aukera hau erregistratutako erabiltzaileentzat bakarrik dago erabilgarri.","ERR_CLIPBOARD":"Ezin da arbeletik erreproduzitu","ERR_CLIPBOARD_READ":"Ezin da plataforma honetako arbela irakurri","ERR_CLIPBOARD_GENERIC":"Ez da arbelean erreproduzitzeko URLrik aurkitu. Kopiatu URL bat (adibidez, magnet esteka) bideo batera.","BOARD_CONTINUE_WATCHING":"Jarraitu ikusten","BOARD_EXPLANATION_RECOMMENDATIONS":"Zuretzat bereziki aukeratutako filmak. <br /> Film hau gomendio lagin bat da.","BOARD_EXPLANATION_EPISODES":"Zure telesail gogokoen atal berriak datoz hona. <br /> Gehitu jarraitzen dituzun serieak liburutegian.","BOARD_EXPLANATION_VIDEOS":"Zure kanal gogokoen atal berriak etorriko dira. <br /> Gehitu jarraitzen dituzun YouTube kanalak Liburutegian.","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE":"Lagundu","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"Learn more","WEBSITE_COMPANY":"Company","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Need Help?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"Ikusi berehala","WEBSITE_SLOGAN_ALL":"Leku bakarrean gozatzen duzun bideo eduki guztia","WEBSITE_SLOGAN_NEW":"Ikus dezakezun guztia","WEBSITE_SLOGAN_NEW_NEW":"Freedom to Stream","WEBSITE_WATCH_FROM":"Ikusi hemendik","WEBSITE_DOWNLOAD":"Deskargatu orain","WEBSITE_DOWNLOAD_FOR":"Deskargatu orain","WEBSITE_IS_DESKTOP":"Stremio mahaigaineko aplikazioa da, ireki orri hau zure ordenagailuan eta deskargatu","WEBSITE_DESKTOP_DEMO_VID":"Mahaigaineko demoa","WEBSITE_PAGE_HOME":"Hasiera","WEBSITE_PAGE_FEATURES":"Ezaugarriak","WEBSITE_PAGE_ADDONS":"Gehigarriak","WEBSITE_PAGE_TECH":"Teknologia","WEBSITE_PAGE_CREATE_ADDON":"Sortu gehigarria","WEBSITE_PAGE_CONTACTS":"Kontaktuak","WEBSITE_PAGE_BLOG":"Bloga","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Filmak","WEBSITE_TYPE_series_PL":"Telesaila","WEBSITE_TYPE_tv":"Zuzeneko telebista","WEBSITE_TYPE_channel":"Kanalak","WEBSITE_STREMIO_WHAT_IS":"Stremio zure gogoko bideoak, filmak, telesailak eta telebista kateak antolatzen eta berehala ikusten laguntzen duen aplikazioa da.","WEBSITE_FEATURES_WATCH":"Ikusi berehala HD formatuan","WEBSITE_FEATURES_WATCH_DETAIL":"Egin klik eta erreproduzitu gogoko dituzun filmak, telesailak, bideoak eta telebista kateak.","WEBSITE_FEATURES_SUBS":"Azpititulu automatikoak","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio-k zure hizkuntzarako azpitituluak automatikoki hautatzen ditu.","WEBSITE_FEATURES_SUBS_LABEL":"Zure mugimendua, buruzagi.","WEBSITE_FEATURES_CAST":"Erreproduzitu telebistan eta gailu mugikorretan","WEBSITE_FEATURES_CAST_DETAIL":"Igorri AppleTV, Chromecast, Smart TV (DLNA/UPnP) eta gailu mugikorretara.","WEBSITE_LIB":"Gozatu zure gailu guztietan sinkronizatutako liburutegi pertsonalarekin","WEBSITE_LIB_COLLECT":"Bildu Stremiotik","WEBSITE_LIB_IMPORT":"Inportatu Facebooketik","WEBSITE_LIB_LOCAL":"Gehitu zure disko lokaletik","WEBSITE_BOARD":"Taula - Jakinarazpen eta gomendioetarako lekua","WEBSITE_BOARD_RECOMMEND":"Gomendatutako telesaila","WEBSITE_BOARD_TRENDING":"Modako filma","WEBSITE_BOARD_NEW":"Bideo berria","WEBSITE_BOARD_EPISODE":"Atal berria","WEBSITE_BOARD_1":"Ikusteko zerbait interesgarria bilatzen al duzu? Jaso gomendioak zure gustuaren arabera!","WEBSITE_BOARD_2":"Jaso jakinarazpen zure gogoko telesaio edo YouTube kanaleko atal berri bat ateratzen denean!","WEBSITE_BOARD_YOUTUBE":"YouTube kanalen bideo berriak","WEBSITE_BOARD_EPISODES":"Jarraitzen dituzun telesailen atal berriak","WEBSITE_ADDONS":"Edukien gehigarriak","WEBSITE_TECH_DETAIL":"Teknologia maite dugu, zientzia eroa maite dugu!\\nStremio kode irekiko teknologia hauek erabiltzen ari da:","WEBSITE_TECH_WCJS":"WebChimera.js-k Stremio-k edozein bideo formatu erreproduzitzeko aukera ematen du errendimendu onarekin.","WEBSITE_TECH_WCJS_EXTRA":"Proiektuaren laguntzaileak gara","WEBSITE_TECH_ELECTRON":"Electronek Stremio eraikitzeko plataforma berritzailea eskaintzen du.","WEBSITE_TECH_ELECTRON_EXTRA":"Proiektuaren laguntzaileak gara","WEBSITE_TECH_LINVODB":"Zure datuak saioa hasten zaren edozein lekutan antolatuta eta eskuragarri daudela bermatzen duen datu basearen teknologia.","WEBSITE_TECH_LINVODB_EXTRA":"Barne teknologia","WEBSITE_CREATE_ADDON":"Sortu zure gehigarria","WEBSITE_CREATE_ADDON_DETAIL":"Ba al duzu bideo edukia eskaintzen duen zerbitzurik? Stremioren ezaugarriez baliatzen lagunduko dizugu zure gehigarria sortuz.","WEBSITE_CREATE_ADDON_BENEFITS":"Stremiorako gehigarria sortzearen abantailak","WEBSITE_P2P_BEAUTY":"Peer-to-Peer Streaming-en edertasuna","WEBSITE_P2P_1":"HD/4K bideo fidagarria eta merkea, eskariaren arabera edo zuzeneko erreprodukzioarekin","WEBSITE_P2P_2":"Erabiltzaileen esperientzia bikaina eskaintzen duen banaketa plataforma","WEBSITE_P2P_3":"Zure beharretara egokitzen den gehigarri bat sortuko dugu","WEBSITE_P2P_CONTACT":"Interesatuta? <a href=\'mailto:office@stremio.com\'>Jarri gurekin harremanetan</a>.","WEBSITE_P2P_CONTACT_EXTRA":"Pozik lagunduko dizugu zure edukia Stremio-rekin integratzen!","WEBSITE_P2P":"Noizean behin, jokoaren izena aldatzen duen teknologia bat dator. Denbora eta ahalegin ugari inbertitu dugu Peer-to-Peer (P2P) bideo bidezko erreprodukzio motorra eraikitzen, edozein erabilera kasutan egokitzeko errendimendu eta aldakortasun bikaina eskaintzen duena.\\nJarri gurekin harremanetan DRM gaitutako P2P bideoa eskatuta edo zuzenean igortzeko.","WEBSITE_THOUGHTS":"Partekatzen ditugun pentsamenduak:","WEBSITE_SPREAD":"Zabaldu Stremiori buruz:","WEBSITE_CONTACT":"Jar zaitez gurekin harremanetan, pozik jasoko dugu zure berri!","WEBSITE_OPENSOURCE":"Gure kode irekiko proiektuak ikusteko, joan gure webgunera","WEBSITE_BITCOIN":"Eman bitcoinak:","WEBSITE_FAQ":"Ohiko galderak","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Galderak","WEBSITE_TOS":"Erabilera baldintzak","WEBSITE_LEGAL":"Legezkoa","WEBSITE_PAGE_ABOUT":"Buruz","WEBSITE_PAGE_BECOME_PARTNER":"Egin bazkide","WEBSITE_ALL_YOU_CAN_WATCH":"Zuk nahi duzuna\\nIkusteko askatasuna.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"Zer da stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio bideoaren edukiak batzeko gune bakarra da. Ezagutu, antolatu eta ikusi bideoa zure iturri mota guztietako zure gailu guztietan.","WEBSITE_WHAT_IS_STREMIO_P2":"Filmak, telebista saioak, telesailak, zuzeneko telebistak edo YouTube eta Twitch.tv bezalako web kateak - hori guztia Stremion aurkituko duzu.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio multimedia zentro modernoa da, bideo entretenimendurako irtenbide bakarra eskaintzen duena. Bideo edukia instalatzeko erraza den gehigarrietatik deskubritu, ikusi eta antolatzen duzu.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Filmak, telesailak, zuzeneko telebista edo web kateak. Aurkitu hau guztia Stremion.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Gozatu zure multimedia gailu guztietan","WEBSITE_DEVICES_COLLECT":"Bildu Stremiotik","WEBSITE_DEVICES_IMPORT_FB":"Inportatu facebooketik","WEBSITE_DEVICES_LOCAL":"Gehitu tokiko unitatetik","WEBSITE_JOIN_THE_PARTY_NOW":"Sartu orain festara","WEBSITE_DEVICES_ALL":"Erraza zure gailu guztietan erabiltzeko;","WEBSITE_EXTENDABLE_CATALOG":"Bideo katalogo luzagarria infinituki;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Ezaugarri bikainak zure komunikabideak antolatzeko;","WEBSITE_AS_SEEN_ON":"Ikusitakoan","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"Guri buruz","WEBSITE_LINK_TECHNOLOGY":"Teknologia","WEBSITE_LINK_APPS":"Aplikazioak","WEBSITE_LINK_DOWNLOADS":"Deskargak","WEBSITE_MORE":"Gehiago","WEBSITE_LINK_ADDONS":"Gehigarriak","WEBSITE_LINK_ADDON_SDK":"Gehigarriaren SDK","WEBSITE_LINK_CONTRIBUTE":"Lagundu","WEBSITE_LINK_COMMUNITY":"Komunitatea","WEBSITE_LINK_BLOG":"Bloga","WEBSITE_MORE_MORE":"... eta gehiago","WEBSITE_LINK_HELP":"Laguntza zentroa","WEBSITE_LINK_CONTACTS":"Enpresa kontsultak","WEBSITE_LINK_TOS":"Baldintzak","WEBSITE_LINK_PRAVACY":"Pribatutasun politika","WEBSITE_SUBSCRIBE":"Harpidetu","WEBSITE_NEWSLETTER":"Sartu gure buletinera gauza harrigarrietarako","WEBSITE_PLACEHOLDER_EMAIL":"Zure emaila","WEBSITE_COMMUNITY":"Komunitatea","WEBSITE_LINK_PRAVACY_LEGAL":"Pribatutasuna eta legea","WEBSITE_WHY":"Zergatik egiten dugun","WEBSITE_WHY_P1":"Stremion, egunero lan egitera gatoz, bideo-eskaeraren industriaren arazo garrantzitsu bat konpondu nahi dugulako. Hainbeste eduki berri argitaratzen dira minuturo, ia ezinezkoa baita zure bidea aurkitzea.","WEBSITE_WHY_P2":"Jendeari bideo entretenimendu mundu erraldoi horretan nabigatzen eta gozatzeko eduki berriak aurkitzen laguntzen diogu. Gure aplikazioek filmak, serieak, zuzeneko telebista, web kateak eta beste biltzen dituzte. Erabiltzaileek gustuko dituzten izenburuak eta emisorak aurkitzea oso erraz bihurtzeaz arduratzen gara.","WEBSITE_WHY_P3":"Gure zerbitzua edozein gailutan eta noiznahi erabil dezakezu, Stremio inoiz beharko duzun bideo entretenimendu zentro bakarra bihurtuz.","WEBSITE_TEAM":"TALDEA","WEBSITE_TEAM_P":"Stremio taldea txikia baina indartsua da: gutako hamar artean X hizkuntzatan kodetzen dugu eta softwarearen garapenean, UI eta UX diseinuan, marketinean eta publizitatean eta negozioetan eta startupetan espezializazioa partekatzen dugu.","WEBSITE_FEATURES":"Ezaugarriak","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Ezagutu eduki berriak erraz","WEBSITE_FEATURES_DISCOVER_P":"Ikusi erraz ikusteko film, telesail, serie eta kanal berriak. Arakatu kategoriaren, generoaren, balorazioaren, berritasunen eta abarren arabera edo idatzi izen bat aurkitzeko. Stremio-k bideo-eduki berriak aurkitzea tarta bihurtzen du.","WEBSITE_FEATURES_ALL_CONTENT":"Zure bideoaren eduki guztia pantaila batean","WEBSITE_FEATURES_ALL_CONTENT_P1":"Ikusi zer film, serie edo bideo amaitu ez zenituen eta jarraitu ikusten; atal berri eta estreinaldien berri jaso; eta arakatu ikusmen ohituretan oinarrituta jasoko dituzun gomendioak.","WEBSITE_FEATURES_LIBRARY":"Antolatu zure bideoteka","WEBSITE_FEATURES_LIBRARY_P1":"Gehitu edozein titulu zure Stremio liburutegian klik bakarrarekin eta bilatu zure edukia, motaren, berritasunaren edo alfabetoaren arabera ordenatuta.","WEBSITE_FEATURES_CALENDAR":"Jarrai ezazu ikusten duzun guztiaren jarraipena","WEBSITE_FEATURES_CALENDAR_P1":"Lortu liburutegian gehitzen dituzun film eta serie guztien egutegia bistaratzea. Esportatu Stremio egutegia eta sinkronizatu, atal berri bat edo estreinaldi bat noiz iritsi behar den jakiteko.","WEBSITE_FEATURES_BIG_SCREEN":"Gozatu zure bideo edukia pantaila handiago batean","WEBSITE_FEATURES_BIG_SCREEN_P1":"Igorri ikusten ari zena beste gailu batera, izan telefono, tableta edo telebista klik bakarrarekin.","WEBSITE_FEATURES_SOURCES":"Ikusi bideoa iturri askotatik","WEBSITE_FEATURES_SOURCES_P":"Instalatu gehigarri ofizialak eta komunitarioak hornitzaile desberdinetatik ateratako bideoaz gozatzeko - aplikazio dotore eta erraz batean.","WEBSITE_CREATE_AN_ADDON":"Sortu gehigarri bat","WEBSITE_FEATURES_SYNC":"Sinkronizatu liburutegia gailu desberdinetan eta hasi berriro erreprodukzioa","WEBSITE_FEATURES_SYNC_P1":"Hasi saioa zure kontuarekin gailu guztietan eta gozatu liburutegia, gehigarriak, erreprodukzioa eta egutegia sinkronizatuta.","WEBSITE_FEATURES_EXTENDABLE":"Gehigarrien bideo katalogo luzagarria","WEBSITE_FEATURES_EXTENDABLE_P1":"Stremio gehigarrien katalogoak hainbat gehigarri eskaintzen ditu hainbat bideo eduki instalatu eta ikusteko. Filmak, saioak, zuzeneko telebista, kirola, albisteak, podcastak, web kateak, bideojokoak eta beste biltzen ditu.","WEBSITE_FEATURES_AUTO_SUBS":"Azpititulu automatikoak","WEBSITE_FEATURES_AUTO_SUBS_P1":"Gure azpitituluen gehigarriekin automatikoki hautatutako aukerak lortuko dituzu zure gustuko hizkuntzarako.","WEBSITE_FEATURES_CHROMECAST":"Chromecast-era igortzen","WEBSITE_FEATURES_CHROMECAST_P1":"Gozatu zure bideoaren edukia pantaila handiago batean edo ikusi zer ikusten ari zaren beste gailu batera.","WEBSITE_FEATURES_KEEP_TRACK":"Jarrai itzazu zure gogoko telebista saioak eta web kateak","WEBSITE_FEATURES_KEEP_TRACK_P1":"Lortu egutegia bistaratzea eta zure serie eta kanal gogokoen atal berrien jakinarazpenak.","WEBSITE_FEATURES_POWER_USER":"Erabiltzaile indartsuen ezaugarriak","WEBSITE_FEATURES_POWER_USER_P1":"Erreproduzitu kanpoko erreproduzitzailean","WEBSITE_FEATURES_POWER_USER_P2":"Erreproduzitu torrent fitxategi edo iman esteka batetik","WEBSITE_FEATURES_POWER_USER_P3":"Inportatu liburutegira Facebook atsegin dut edo disko lokaletik","WEBSITE_ADD_ONS":"Gehigarriak","WEBSITE_ADD_ONS_P1":"Stremio-k eskaintzen duen bideo guztia gehigarri sistema baten bidez lortzen da - aplikazioan ez da eduki edo eduki hornitzailerik sartu.","WEBSITE_ADD_ONS_P2":"Gehigarrien bi talde daude eskuragarri: gehigarri ofizialak eta komunitarioak.","WEBSITE_ADD_ONS_P3":"Ofizialak Stremio-k garatu eta ostatatzen ditu, eta komunitateko gehigarriak, aldiz, gure komunitateko kideek sortzen dituzte, hauek ere ostatatzen baitituzte.","WEBSITE_ADDONS_OFFICIAL":"Gehigarri ofizialak","WEBSITE_ADDONS_WATCHUB":"Erreproduzitu zure gogoko filmak, serieak eta ikuskizunak, hala nola iTunes, Hulu, Amazon eta Erresuma Batuko / AEBetako beste zerbitzu batzuen hornitzaileek.","WEBSITE_ADDONS_YOUTUBE":"Ikusi gogoko dituzun YouTube kanalak iragarkirik gabe eta jaso jarraitzen dituzun laguntzaileen kargatze berrien berri.","WEBSITE_ADDONS_FILMON":"Ikusi zuzenean telebista, filmak eta telebista sozialak doan. 600 telebista kate, doako 45.000 film, dokumental eta gehiago.","WEBSITE_ADDONS_OPENSUBTITLES":"Filma eta telebistako azpitituluak hizkuntza anitzetan, egunero kargatutako milaka azpitituluak.","WEBSITE_ADDONS_COMMUNITY":"Komunitateko gehigarriak","WEBSITE_ADDONS_FILMON_VOD":"Ikusi bideoa Filmon.tv-k eskatuta","WEBSITE_ADDONS_TWICH":"Ikusi zuzeneko erreprodukzioak Twitch.tv - kirol bideo elektronikoaren industriarako bideoa erreproduzitzeko plataforma.","WEBSITE_ADDONS_VODO":"Ikusi indie filmak guztiz doan.","WEBSITE_ADDONS_NETFLIX":"Ikusi Netflix filmak eta web serieak.","WEBSITE_ADDONS_CREATE":"Sortu gehigarri bat","WEBSITE_ADDONS_CREATE_P1":"Nahi izanez gero, zure gehigarria garatu dezakezu. Horrela, zure buruari eta gure komunitateari bideo eduki berrietarako sarbidea eman ahal izango diezu eta mundu osoko milioika erabiltzaileri zuzendutako ikusle berri batengana heldu.","WEBSITE_ADDONS_START_CREATE":"Hasteko, bisitatu Stremio Addon SDK orria:","WEBSITE_DOWNLOADS":"Deskargak","WEBSITE_DOWNLOADS_P1":"Errendimendu optimoa lortzeko, Stremio aplikazioen eskuragarri dagoen azken bertsioa erabiltzea gomendatzen dugu. Arrazoiren batengatik, ordea, bertsio zaharragoa erabili nahi baduzu, hemen deskarga dezakezu.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Windows-erako Stremio","WEBSITE_DOWNLOADS_FOR_MAC":"MacOS-erako Stremio","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio Linuxerako","WEBSITE_DOWNLOADS_FOR_ANDROID":"Androiderako Stremio","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"IOS Stremio (bertsio mugatua)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"Stremio plataforma kode irekia da eta gaur egun iturri gabeko edukirako gehigarri bat sor dezakezu.","WEBSITE_CONTRIBUTE_WHY":"Zergatik sortu behar zenuke gehigarri bat?","WEBSITE_CONTRIBUTE_WHY_P1":"Iritsi ikusle berrietara zure bideoaren edukira","WEBSITE_CONTRIBUTE_WHY_P2":"Stremioren erabiltzaile-oinarria bizkor hazten ari da - merkaturatu zen lehen urtean, Stremiok milioi bat erabiltzaile irabazi zituen mundu osoan, eta plataformaren existentziaren bigarren urtean kopuru hori 2,5 milioi izatera iritsi zen.","WEBSITE_CONTRIBUTE_WHY_P3":"Zure gehigarriarekin, ikusle honetara erraz irits zaitezke eta zure bideo edukia haiei banatu.","WEBSITE_CONTRIBUTE_ALL":"Ikusi gogoko dituzun filmak, bideoak, serieak eta kanalak leku bakarrean.","WEBSITE_CONTRIBUTE_ALL_P1":"Oraindik Stremion erabilgarri ez dagoen eduki mota jakin baten zalea zara? Sortu gehigarri bat eta disfrutatu zure bideo gogokoenak merkatuan dauden entretenimendu zentro handienetako eta erabilerrazenetako batean ikustean.","WEBSITE_CONTRIBUTE_ALL_P2":"Horretaz gain, gogo bereko beste Stremio komunitateko kideen esker on amaigabea lortuko duzu.","WEBSITE_CONTRIBUTE_MONETIZE":"Dirua irabazi zure gehigarria eta irabazi dirua bere laguntzarekin","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Stremiorako gehigarri berri bat garatu ondoren, modu desberdinetan irabazteko aukera dezakezu. Hori aztertzen ari bazara, jar zaitez gurekin harremanetan harremanetan","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":"- Gehigarriak dirua irabazteko aukerei buruz kontsultatu eta aholkuak emango dizkizugu.","WEBSITE_CONTRIBUTE_TRANSLATE":"Egin itzultzaile boluntario","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Stremio aplikazioak hizkuntza desberdinetan gozatu nahi badituzu, itzultzaile boluntarioen komunitatean sar zaitezke. Stremioren bertsioak hizkuntza desberdinetan gehitzen laguntzen digute.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Hasteko gogoz zaude?","WEBSITE_TRANSALTE_STREMIO":"Itzuli Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Komunitate ofizialak","WEBSITE_COMMUNITY_OFFICIALS_P1":"Bihur zaitez hazten ari den Stremio komunitatearen parte. Jarrai iezaguzu sare sozialetan eta ez izan lotsarik agurtzeko: maite dugu gure zaleengandik entzutea!","WEBSITE_COMMUNITY_UNOFFICIALS":"Komunitate ez ofizialak","STREMIO_COMMUNITY_NL":"Stremio Herbehereak","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Alemania","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgika","STREMIO_COMMUNITY_FRANCE":"Stremio Frantzia","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italia","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio AEB","STREMIO_COMMUNITY_MEXICO":"Stremio Mexiko","STREMIO_COMMUNITY_ADDONS":"Stremio gehigarriak","STREMIO_COMMUNITY_AWESOME":"Stremio zoragarria","WEBSITE_COMMUNITY_PARTNERS":"Bazkideak eta laguntzaileak","WEBSITE_COMMUNITY_GOODIES":"Stremio opariak","WEBSITE_COMMUNITY_WALLPAPERS":"Atzeko irudiak","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"Jarri gurekin harremanetan","WEBSITE_CONTACT_US_P1":"Galderarik, iruzkinik edo iradokizunik baduzu, jar zaitez gurekin harremanetan beheko harremanetarako formularioaren bidez.","WEBSITE_CONTACT_US_P2":"Gogoan izan Bulgarian gaudela, beraz, zure kontsultari erantzuteko denbora atzeratu daiteke ordu-zona desberdintasunengatik.","WEBSITE_CONTACT_US_SUCCESS":"Zure mezua bidali da. Guregana lehenbailehen itzuliko gara.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Mesedez, sartu baliozko mezu elektronikoa!","WEBSITE_CONTACT_US_Q_RELATED_TO":"Zein da zure galdera lotuta?","WEBSITE_CONTACT_US_Q_OS":"Zein da zure Eragiketa Sistema?","WEBSITE_CONTACT_US_PH_EMAIL":"Zure emaila","WEBSITE_CONTACT_US_PH_MESSAGE":"Mezua","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"BIDALI","WEBSITE_CONTACT_US_Q_1":"Nola instalatu?","WEBSITE_CONTACT_US_Q_2":"Nola desinstalatu?","WEBSITE_CONTACT_US_Q_3":"(HTML) Nola egin lasagna?","WEBSITE_CONTACT_US_Q_4":"Gehigarriak","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Teknologia","WEBSITE_TECHNOLOGY_P1":"Teknologia eta zientzia eroa maite ditugu. </br> Hona hemen zerk bultzatzen duen Stremio (kode irekikoa da guztia).","WEBSITE_TECHNOLOGY_P_QT":"Plataforma anitzeko softwarearen garapena onenean.","WEBSITE_TECHNOLOGY_P_MPV":"Doako, kode irekiko eta plataforma anitzeko multimedia erreproduzitzailea.","WEBSITE_TECHNOLOGY_P_RN":"React Native-k aplikazio mugikorrak JavaScript soilik erabiliz eraikitzeko aukera ematen du.","WEBSITE_TECHNOLOGY_P_VLC":"Multimedia esparrua aplikazioan txertatuta multimedia lortzeko.","WEBSITE_TECHNOLOGY_P_REALM":"Realm plataforma mugikorra da eta SQLite & Core Data-ren ordezkoa da.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js iturburu irekiko, plataforma anitzeko JavaScript exekuzio ingurunea da.","WEBSITE_TECHNOLOGY_P_RUST":"Herdoila paradigma anitzeko sistemaren programazio lengoaia da, segurtasunera bideratua, batez ere aldi bereko segurura.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Lagundu proiektuan","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Bi modu daude Stremioren ekarpenak egiteko eta produktua hobetzen lagun gaitzazun.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Zure hizkuntza trebetasun baliotsuak eman ditzakezu plataforma itzulita ...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"edo","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... zure kodeketa gaitasunak erabil ditzakezu komunitatearen gehigarriak sortzeko.","WEBSITE_TRANSLATE_STREMIO":"Itzuli Stremio","WEBSITE_404_OH_NO":"Ui ui ui! Bilatzen ari zaren orria ez dago hemen ...","WEBSITE_GO_HOME":"Hasierara","WEBSITE_LINK_OTHER_DOWNLOADS":"Beste deskarga batzuk","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Laguntza","WEBSITE_DOWNLOAD_4_0_BETA":"Deskargatu Stremio 4 beta orain","WEBSITE_GET_FOR_DESKTOP":"Lortu mahaigainerako","WEBSITE_LINK_ADDON_COMPETITION":"Addon lehiaketa","WEBSITE_LINK_ART_CONTEST":"Arte lehiaketa","WEBSITE_MY_ACCOUNT":"Nire kontua","WEBSITE_MAINPAGE_FAQ_001_H1":"Zer da Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio nahi duzun guztia ikusteko askatasuna ematen duen media zentro modernoa da.","WEBSITE_MAINPAGE_FAQ_002_H1":"Nola dabil?","WEBSITE_MAINPAGE_FAQ_002_P1":"Stremio gailuan instalatu eta kontu bat sortu ondoren, egin behar duzun guztia gehigarrien katalogoa bisitatzea eta nahi duzun gehigarria instalatzea da, eta listo!","WEBSITE_MAINPAGE_FAQ_002_P2":"Horren ondoren, Ezagutu edo Taula ataletara joan zaitezke edukia aztertzen hasteko.","WEBSITE_MAINPAGE_FAQ_003_H1":"Zer ikusi dezaket hemen?","WEBSITE_MAINPAGE_FAQ_003_P1":"Asko: filmak, telebista saioak, web kateak, kirola, telebista kateak, podcastak eta beste. Gure gehigarri sistemari esker, hainbat eduki sar dezakezu.","WEBSITE_MAINPAGE_FAQ_004_H1":"Stremio kode irekia al da?","WEBSITE_MAINPAGE_FAQ_004_P1":"Bai, lotura hauek ikus ditzakezu: ${1}mahaigaineko aplikazioa${2} eta ${3}GitHub erakundea${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Stremio segurua al da?","WEBSITE_MAINPAGE_FAQ_005_P1":"Bai: kode irekiko softwarea denez, kodea publikoki ikuskatzen da eta zuk zeuk berrikus dezakezu.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"Zer moduz nire pribatutasuna?","WEBSITE_MAINPAGE_FAQ_006_P1":"Erabiltzaileen pribatutasuna errespetatzen dugu eta ez dugu zure kontua sortzeko eta sinkronizatzeko ezinbesteko gutxieneko datu pertsonalik biltzen.","WEBSITE_MAINPAGE_FAQ_006_P2":"Erregistratzerakoan ${1}Gonbidatu modua${2} ere badago, inolako daturik behar ez duena: modu honetan, ez da deirik egiten gure backendera. Hala ere, funtzio erabilgarrien kaltetan dator, hala nola liburutegia gailuetan sinkronizatu ahal izatea.","WEBSITE_MAINPAGE_FAQ_007_H1":"Telebistara bota al dezaket?","WEBSITE_MAINPAGE_FAQ_007_P1":"Bai, Chromecast-a onartzen dugu eta mahaigaineko zein mugikorreko aplikazioetatik (Android) bota ditzakezu.","WEBSITE_MAINPAGE_FAQ_008_H1":"Zenbat gehigarri ditu Stremiok?","WEBSITE_MAINPAGE_FAQ_008_P1":"2019 amaieran, 50 urte baino gehiago. Informazio gehiagorako, begiratu gure gehigarrien katalogoa.","WEBSITE_MAINPAGE_FAQ_009_H1":"Stremio gehigarrien katalogoan dagoenaz haratago al daiteke?","WEBSITE_MAINPAGE_FAQ_009_P1":"Bai, hauek egiaztatu beharko zenituzke: ${1}PimpMyStremio${2}, ${3}Reddit komunitateak${4}, ${5}Stremio Downloader${6}, etab.","WEBSITE_MAINPAGE_FAQ_010_H1":"Zer gailu onartzen ditu Stremiok?","WEBSITE_MAINPAGE_FAQ_010_P1":"Windows, Mac eta Linuxerako mahaigaineko aplikazioak ditugu. Mugikorretarako, Android eta iOS onartzen ditugu, baina kontuan izan iOS funtzionalitate mugatua duela (ez ditu gehigarri gehien onartzen).","WEBSITE_MAINPAGE_FAQ_010_P2":"Android-en oinarritutako gailu ugari daude Stremio exekutatu ahal izateko, adibidez NVIDIA Shield eta Amazon Fire Stick, baina ez ditugu ofizialki onartzen.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Stremioren zenbait eduki gehi al ditzakezu?","WEBSITE_MAINPAGE_FAQ_011_P1":"Barkatu, guk ez dugu edukirik eskaintzen, baina zenbat eta Stremio gehigarri gehiago instalatu, orduan eta eduki gehiago aurkituko duzu.","WEBSITE_MAINPAGE_FAQ_012_H1":"Stremio-k magnet estekak erreproduzitu al ditzake?","WEBSITE_MAINPAGE_FAQ_012_P1":"Bai, eta HTTP esteka normalak eta torrent fitxategiak erreproduzi ditzake (arrastatu eta jaregin).","WEBSITE_MAINPAGE_FAQ_013_H1":"Bideo bat deskargatu eta konexiorik gabe ikusi al dezaket?","WEBSITE_MAINPAGE_FAQ_013_P1":"Lineaz kanpoko erabilgarritasuna laster datorren eginbidea da, baina Stremio gailuan gordetzeko baimena ematen baduzu (ezarpenen paneletik) bideoak geroago ikusi ahal izango dituzu konexiorik gabe.","WEBSITE_MAINPAGE_FAQ_014_H1":"Ezerk ez du funtzionatzen, lagundu iezadazu!","WEBSITE_MAINPAGE_FAQ_014_P1":"Ziur zaude gehigarriak instalatu dituzula? Bai bada, begiratu ${2} laguntza zentroarekin ${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"Nola eusten dio Stremiok bere garapen eragiketei?","WEBSITE_MAINPAGE_FAQ_015_P1":"Noizean behin iragarki ez-intrusiboak jartzen ditugu, baina dohaintza eredu batera pasatzea pentsatzen ari gara.","WEBSITE_MAINPAGE_FAQ_015_P2":"Galdera gehiagorako, joan ${1}laguntza-zentrora${2}.","HELP_LEARN_MORE":"Lagundu iezaguzu zure inguruan gehiago jakiten.","LIFESTYLE":"Bizimodua","SPORTS":"Kirolak","FOOD_HEALTH":"Elikadura eta osasuna","BEAUTY_FASHION":"Edertasuna eta Moda","NEWS":"Albisteak","GAMING":"Jokoa","SCIENCE_EDUCATION":"Zientzia eta hezkuntza","MUSIC":"Musika","TRAVEL":"Bidaia","LATE_NIGHT":"Late Night","REALITY":"Realitya","COMEDY":"Komedia","DIY":"Nola egin zerorrek","TECH":"Teknologia","CINEMA":"Zinema","CONTINUE":"Jarraitu","SLOW_LOADING":"KARGA MOTELA?","I_GIVE_UP":"AMORE EMATEN DUT","LEARN_MORE":"Gehiago ikasi","POOR_SOURCE":"Iturri hau ez dago erabilgarri edo zure Interneteko konexioa ez da behar bezain azkarra","PICK_CATEGORIES_ERR":"Gutxienez 3 kategoria aukeratu behar dituzu","ADJUST_TIMING":"Egokitu denborarekin","ADJUST_SIZE":"Doitu tamaina honekin","SEARCH_ANYTHING":"Edozer gauza bila dezakezu ...","ALL_CATEGORIES":"Guztiak","SEARCH_CATEGORIES":"Filmak, Telesailak, YouTube eta Telebista","SEARCH_PERSONS":"Aktoreak, Zuzendariak eta Idazleak","SEARCH_PROTOCOLS":"HTTP eta iman estekak","SEARCH_TYPES":"IMDB/TVDB estekak","WATCHED":"Ikusita","SHOW_LESS":"Erakutsi gutxiago","LAST_SEARCHES":"Azken bilaketak","CLEAR_HISTORY":"Garbitu historia","CHOOSE_SOME":"AUKERATU HEMENDIK BATZUK:","NO_WEB_REMOTE":"Urruneko Web-a ezin izan da kargatu","STREMIO_OFFLINE":"Stremio lineaz kanpo dago","STREMIO_EXPENSIVE_CONNECTION":"Mugikorreko datu konexioa erabiltzen ari zarela antzeman dugu, jarraitu nahi al duzu?","USE_DATA":"Erabili datuak","WARNING":"Abisua","MORE_INFO":"Informazio gehiago ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Kargatzen ...","STREMIO_TV_BACK_TO_LANGUAGES":"Itzuli hizkuntzetara","STREMIO_TV_REMOTE":"Urrunekoa","STREMIO_TV_GO_TO":"Joan:","STREMIO_TV_OR_SCAN":"edo eskaneatu:","STREMIO_TV_ADDON_INSTRUCTIONS":"Mesedez, jarraitu argibideak nahiago dituzun gehigarriak instalatzeko.","STREMIO_TV_LIVE_TV":"Zuzeneko telebista","STREMIO_TV_RESUME_WATCHING":"Berrekin Ikustea","STREMIO_TV_LOADING_BACKGROUND":"Aurrekariak kargatzen","STREMIO_TV_CHECKING_AUTHENTICATION":"Autentifikazioa egiaztatzen","STREMIO_TV_LOADING_BOARD":"Kargatzeko taula","STREMIO_TV_LOGIN_HEADER_LINE_1":"Gure erabiltzaileek ahalik eta esperientzia pertsonalizatu onena izan dezaten nahi dugu gure softwarearekin.","STREMIO_TV_LOGIN_HEADER_LINE_2":"Arrazoi horregatik eskatzen dizugu zure kontua egitea edota saioa hastea.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Eskerrik asko ulertzeagatik,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Stremio Taldea","STREMIO_TV_REMOTE_INSTRUCTIONS":"Urruneko Web-a zure Smartphone/Tablet/Mahaigainarekin erabiltzeko:","STREMIO_TV_WIFI_SETUP":"Wi-Fi konfigurazioa","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle-k ez du Interneteko konexiorik antzeman.","STREMIO_TV_WIFI_DETAILS_1":"Konektatu hona:","STREMIO_TV_WIFI_DETAILS_2":"estremio-zirkulua","STREMIO_TV_WIFI_DETAILS_3":"Erabili pasahitza:","STREMIO_TV_WIFI_DETAILS_4":"estremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Ireki web arakatzailea estekarekin:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Default","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"By Last Watched","STREMIO_TV_LIBRARY_SORT_NAME":"By Name","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"By Times Watched","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Season ${1}","STREMIO_TV_STREAMS_LOADING":"Loaded ${1} / ${2} addons...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} addon is still loading...","STREMIO_TV_PLAYER_SETTINGS":"Player settings","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Azpitituluen atzerapena","STREMIO_TV_PLAYER_AUDIO_DELAY":"Audio delay","STREMIO_TV_PLAYER_VIDEO_SCALING":"Video scaling","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Unsupported stream source","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Failed opening external link","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Not adjustable in audio passthrough mode","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Play with ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Play with libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Switching to libVLC player due to a playback error","STREMIO_TV_ADDONS_TITLE":"Use Stremio on your Phone or PC to install or configure addons and press \\"Sync Addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Note: make sure you are using the same Stremio account","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sync Addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons successfully synchronized","STREMIO_TV_ADDONS_SYNC_FAILED":"Failed to synchronize addons","STREMIO_TV_META_LINK_FAILED":"Failed opening meta link","STREMIO_TV_CATALOG_LOADING":"Catalog still loading...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Interface language updated","STREMIO_TV_SETTINGS_THEME_UPDATED":"Theme updated","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Default Player","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"External Player","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferred Language","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Secondary Preferred Language","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possible playback issues on some devices","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Some video formats might not work","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"No caching","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Default","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Soft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Fast","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Fast","STREMIO_TV_SETTINGS_SERVER_URL":"Streaming server url","STREMIO_TV_SETTINGS_SERVER_VERSION":"Server version","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Unknown","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio version","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Edit server url","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Enter a streaming server url","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Show statistics while loading","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"To read Stremio\'s Privacy Policy, visit:","STREMIO_TV_SETTINGS_TOS_TEXT":"To read Stremio\'s Terms and Conditions, visit:","STREMIO_TV_NAV_SEARCH":"Bilatu","STREMIO_TV_NAV_HOME":"Hasiera","STREMIO_TV_NAV_DISCOVER":"Deskubritu","STREMIO_TV_NAV_LIBRARY":"Liburutegia","STREMIO_TV_NAV_MOVIES":"Pelikulak","STREMIO_TV_NAV_SERIES":"Serieak","STREMIO_TV_NAV_CHANNELS":"Kanalak","STREMIO_TV_NAV_TV":"Zuzeneko Telebista","STREMIO_TV_NAV_SETTINGS":"Ezarpenak","STREMIO_TV_NAV_ADDONS":"Addon-ak","STREMIO_TV_LOGIN_TITLE":"Link Account","STREMIO_TV_LOGIN_EXPIRES_IN":"Expires in","STREMIO_TV_LOGIN_STEP_ONE":"Scan QR Code above or go to","STREMIO_TV_LOGIN_STEP_TWO":"Log in to your Stremio account","STREMIO_TV_LOGIN_NEW_LINK":"Request a new link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Login code refreshed","STREMIO_TV_SEARCH_PLACEHOLDER":"Idatzi zerbait","STREMIO_TV_SEARCH_NO_ADDONS":"No addons were requested for catalogs!","STREMIO_TV_SEARCH_BUTTON":"Bilatu","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Espazio","STREMIO_TV_SEARCH_KEY_CLEAR":"Garbitu","STREMIO_TV_SEARCH_HISTORY_TITLE":"Bilatu historialean","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Izenburu, aktore, kanal eta gehiagoren arabera bilatu dezakezu","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Garbitu bilaketa historiala","STREMIO_TV_FILTERS_DESCRIPTION":"Choose from one of the filters below","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"Iragazkiak","SETTINGS":"Ezarpenak","ACCOUNT":"Kontua","LOGOUT":"Irten","THEMES":"Theme-ak","PLAYBACK":"Playback","PLAYBACK_SPEED":"Playback Speed","AUDIO_TRACKS":"Audio Pistak","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Bideoak","SERVER":"Zerbitzaria","LINKS":"Estekak","ABOUT":"About","INTERFACE":"Interfazea","ANIMATIONS":"Animazioak","STATUS":"Egoera","LANGUAGE":"Hizkuntza","SIZE":"Tamaina","DELAY":"Atzerapena","BOLD":"Lodia","OPACITY":"Opacity","TEXT_COLOR":"Testuaren Kolorea","OUTLINE_COLOR":"Outline Kolorea","BACKGROUND_COLOR":"Atzealdeko Kolorea","BACKGROUND_BLUR":"Atzealde lausoa","SEEK_TIME_DURATION":"Seek Time Duration","AUTO_PLAY":"Auto-Play Next Episode","PLAY_NOW":"Erreproduzitu orain","MARK_AS_WATCHED":"Markatu ikusita","MARK_AS_UNWATCHED":"Markatu ikusi gabe","REWIND_TO_BEGINNING":"Itzuli hasierara","CONTINUE_WATCHING":"Jarraitu ikusten","ALL":"Guztia","SECONDS":"segundu","ON":"ON","OFF":"OFF","RELOAD":"Eguneratu","EDIT_URL":"Aldatu URLa","NONE":"None","EMBEDDED":"Embedded","REMOTE_SWITCH_DEVICES":"Aldatu gailuak","REMOTE_VIDEOS":"Bideoak","REMOTE_ADJUST_TIMING":"Egokitu denbora","REMOTE_ADJUST_SIZE":"Doitu neurria","REMOTE_COULD_NOT_BE_LOADED":"Web urrunekoa ezin izan da kargatu","REMOTE_RETRY":"Saiatu berriro","TORRENT_PROFILE_DEFAULT":"Defektuzkoa","TORRENT_PROFILE_SOFT":"Leuna","TORRENT_PROFILE_FAST":"Azkarra","TORRENT_PROFILE_ULTRA_FAST":"Ultra Azkarra","FAQ_001_H1":"Zer da Stremio?","FAQ_001_P1":"Stremio bideo entretenimendurako diseinatutako multimedia zentroen softwarea da, erabiltzeko erraztasunak kontuan hartuta. Stremio-k & amp; ikusi zure film, serie, kanal eta zuzeneko telebista bilduma.","FAQ_001_P2":"Stremio-k zure disko lokaletik eta gure gehigarri sistematik erakusten duen edukia bildu.","FAQ_001_P3":"Era berean, interesatzen zaizkizun atal/bideo/film berriak ateratzen direnean jakinaraziko zaizu eta filmen gomendioak emango dizkizu.","FAQ_02_H1":"Nola alderatzen da Stremio Kodi eta Plexekin?","FAQ_02_P1":"Bi softwareak inspiratzen gaitu. Baina helburu desberdinak ditugu - Stremio entretenimendu bideoetara bideratuta dago bereziki, eta horretarako oso konponbide nagusia bilakatzen ahalegintzen da erabiltzeko oso erraza izanik.","FAQ_02_P2":"Stremio ez da inoiz Kodi eta Plex bezain pertsonalizagarria eta aberatsa izango, baina errazagoa da erabiltzea. ${1}eskuratu eta ikusi${2} :)","FAQ_03_H1":"Nola alderatzen da Stremio Netflix-ekin?","FAQ_03_P1":"Berriro ere, Netflix da gure inspirazioetako bat. Netflix-en erabiltzailearen esperientzia lortzen ahalegintzen gara, eta gehitutako opari asko. Baina garrantzitsuena, zure liburutegia kudeatzeko eta eduki gehigarri berriak gehitzeko askatasuna ematen dizugu gure addon sistemarekin.","FAQ_03_P2":"Horrek Stremio ezin du luzatu, beraz, Stremio erabiltzen duzunean ez zara inoiz Netflix-ek lizentzia ematea erabakitzen duen edukira mugatzen. Adibidez, Stremioren bidez ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} edukia ikusi dezakezu. eta baita ${9}Netflix${10} bera ere!","FAQ_04_H1":"Nola alderatzen da Stremio Flipboard-ekin?","FAQ_04_P1":"Galdera hori ez dugu hain maiz jasotzen, hasierako jendearekin hitz egitean izan ezik :)","FAQ_04_P2":"Stremio edukien agregatzailea diseinatzean datza, eta horrek bideoetarako Flipboard bihurtzen du. Hori oso agerikoa da gure Batzordearen atalean, katalogoak eta atal berrien / bideo berrien jakinarazpenak eskaintzen dizkizu, Flipboard-ek bezala.","FAQ_05_H1":"Nola alderatzen da Stremio krispeten denborarekin?","FAQ_05_P1":"Stremio eta Popcorn Time erabiltzailearen interfazean antzekoak dira, bideo entretenimendu katalogoak ondo egiteko modu asko ez dagoelako :)","FAQ_05_P2":"Popcorn Time iturri zehatzetatik torrent-ekin erreproduzitzera bideratuta dagoen arren, Stremio mugarik gabe dago eta eduki-agregatzailea besterik ez da, ez dago eduki-iturri zehatz batean blokeatuta.","FAQ_05_P3":"Gainera, ez dugu torrent gehigarririk ematen lehenespenez, beraz, Stremiok ez du krispeten denboraren erabilera-kasua funtzionalitate ofizialarekin estaltzen.","FAQ_05_P4":"Beste desberdintasun aipagarri bat Popcorn Time erabat irekia dela da, Stremio ${1}partzialki irekita${2} dela.","FAQ_06_H1":"Gehituko al duzu film/telesail hau?","FAQ_06_P1":"Ez, barkatu :(","FAQ_06_P2":"Beste galdera gehienetan aipatzen den bezala, Stremiok ez du berez edukirik eskaintzen - dena gehigarrien sistemaren bidez gehitzen da. Eduki eskaera izanez gero, erreproduzitzailean dagoen \\"Salatu\\" botoia erabil dezakezu, mezu elektroniko bat bidaliko dio unean erabiltzen ari zaren gehigarriaren egileari.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"X-rako gehigarria sortuko al duzu?","FAQ_08_P1":"Erabat posible da.","FAQ_08_P2":"Gehigarri bat egiteko ideia baduzu, idatzi ${1}office@stremio.com${2} helbidera, baina ziurtatu gehigarrien ideiak ez dituela inolako copyright edo erabilera baldintzak urratuko.","FAQ_08_P3":"Momentuz, gure bide orriko hurrengo gauzak FandangoNOW, Filmon.tv bideoaren eskaera eta Crunchyroll-en gehigarriak dira.","FAQ_09_H1":"Stremiok BitTorrent erabiltzen al du?","FAQ_09_P1":"Bai, Stremiok BitTorrent onartzen du streaming protokolo gisa. Hori erabil dezakezu torrent gehigarri batekin edo .torrent fitxategi bat Stremiora arrastatuz eta jareginez edo Bilaketa barran iman esteka itsatsita.","FAQ_09_P2":"Kontuan izan BitTorrent erabiltzen duen gehigarri ofizial bakarra ${1} Vodo ${2} dela, indie edukia eskaintzen duena, guztia BitTorrent-ekin banatzeko baimendua.","FAQ_09_P3":"Ez dugu onartzen copyright-urraketa egin dezaketen hirugarrenen gehigarririk erabiltzea.","FAQ_10_H1":"Zer ikusi dezaket Stremion gehigarri ofizialekin?","FAQ_10_P1":"Berez, Filmon.tv, YouTube eta Vodo edukiak Stremio beraren barruan ikus ditzakezu, kapsulatutako erreproduzitzailearekin. Gainera, Twitch.tv-rako gehigarria dugu eta beste batzuk.","FAQ_10_P2":"Konbinatu honek aukera hauek eskaintzen ditu:","FAQ_10_L1":"Filmon.tv-k eskainitako telebista kate ezagunak - adibidez, E4, BBC, Bollyworld TV","FAQ_10_L2":"YouTube-tik dena - adibidez BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Film indiarrak Vodorekin","FAQ_10_L4":"Lineako jokoen emisioak Twitch.tv-rekin","FAQ_10_P3":"Gainera, gida-kutxa eta Netflix gehigarriekin hornitutako eduki iturri ugari daude, <b> ez </b> Stremio barruan guztiz erreproduzitzen direnak, baina emandako zerbitzura birbideratuko lirateke. Adibidez, Guidebox gehigarriak AEBetan doan erreproduzi ditzakezun filmen aukeraketa emango dizu TubiTV eta Crackle bezalako zerbitzuetatik.","FAQ_11_H1":"Stremiok ez du instalatuko, zer egin behar dut?","FAQ_11_P1":"Windows-en bazaude, probatu ${1} ${2} instalatzaile alternatibo hau.","FAQ_11_P2":"Mac OS X erabiltzen baduzu, kontuan izan ez dugula OS X Mavericks (10.9) baino zaharragoak onartzen.","FAQ_11_P3":"Linux erabiltzen baduzu, kontuan izan momentuz 64 bit (x64) Linux soilik onartzen ditugula.","FAQ_11_P4":"Oraindik arazoa konpondu ezin baduzu, idatzi iezaguzu ${1}Facebook taldean${2}.","FAQ_12_H1":"Zergatik kexatzen da nire birusaren kontrakoa? Stremio segurua al da?","FAQ_12_P1":"Stremio ${1}%100 garbi${2} dagoela ziurtatzen dizugu.","FAQ_12_P2":"Birusen aurkako arazoa kexatzen ari da publizitatea gure instalatzailean sartzen dugulako, birusen aurkako programa batzuek iragarki gisa aitortzen baitute.","FAQ_12_P3":"Oraindik ziur ez bazaude, ${1}instalatzaile alternatiboa${2} probatu dezakezu.","FAQ_13_H1":"Nola egin dezaket gehigarri bat?","FAQ_13_P1":"Hasiberrientzat, GitHub-en gure ${1}addons sistemaren modulua${2} begiratzea gomendatzen dugu.","FAQ_13_P2":"Ondoren, ${1}Hello World tutoriala${2} jarraitu dezakezu.","FAQ_13_P3":"Programaziorako trebetasunik ez baduzu, idatzi zure ideia ${1}Reddit komunitatean${2} eta jarri gurekin harremanetan zure addon ideiarekin ${3}office@stremio.com${4} helbidean.","FAQ_14_H1":"Nola argitaratzen dira gehigarriak?","FAQ_14_P1":"Gehigarri eta ostalari bat sortzen duzunean eta zure manifestuan <b> amaiera </b> eremua jartzen duzunean, funtzionatzen duen gehigarrien helbidea seinalatzen duena, gehigarriak automatikoki argitaratuko du gure ${1} gehigarrien katalogoan ${2} .","FAQ_14_P2":"Stremio-addons moduluko zerbitzariaren zatiak automatikoki dei egiten duelako gure APIra gehigarria iragartzeko. Gure APIak zure <b> amaierako puntua </b> baliozko gehigarri gisa balioztatzen duenean, katalogoan erakusten hasiko da.","FAQ_15_H1":"Exekutatu al dezaket Stremio nire arakatzailean?","FAQ_15_P1":"Momentuz ez, baina badator hau!","FAQ_15_P2":"Alpha bat ikusteko jakinmina baduzu, hemen ikus dezakezu: ${1} alpha4.strem.io ${2}. Gogoan izan streaming hau alfa honetan desgaituta dagoela. Chrome, Firefox, Opera eta Edge onartzen ditugu.","FAQ_16_H1":"Telebistara igortzeak ez du funtzionatzen / azpitituluak ez dira funtzionatzen","FAQ_16_P1":"Telebistara igotzeak telebista marka eta modelo desberdinen artean oso bat ez datorren DLNA teknologia erabiltzen du. Hori dela eta, kasu guztietan ez dugu probatzeko gaitasunik, beraz, oso urrun dago perfektua izatetik. Hala ere, etengabe hobetzeko lanean ari gara, baina ezin dugu DLNA zure telebistarekin ondo funtzionatzen noiz hasiko den kalkulatzeko denbora.","FAQ_16_P2":"Zure telebista casting menuan ikusten ez baduzu ere, saiatu sareko konexioa desgaitzen eta berriro gaitzen (Windows-en, egin klik eskuineko botoiarekin Sarea eta erabili Gaitu / Desgaitu), baita router, telebista eta ordenagailua berrabiarazi ere. .","FAQ_16_P3":"Oraindik arazoak topatzen badituzu, lagun diezagukezu telebistaren marka eta modeloaren informazioa ${1}office@stremio.com${2} helbidera bidalita.","FAQ_16_P4":"Bitartean, oso ondo onartzen dugun Chromecast gomendatzen dugu edo, besterik gabe, zure telebista ordenagailura HDMI kable batekin konektatzea.","FAQ_17_H1":"Stremio izoztu edota huts egiten du, zer egin dezaket?","FAQ_17_P1":"Lehenik eta behin, Windows 7 AVG antibirusarekin erabiltzen ari bazara: arazo bat dugu konbinazio horrekin. Arazoa AVG-n dago, eta ez dago arrazoizko modurik gure aldetik konpontzeko. Zoritxarrez, salbuespenak edo birusen aurkako desgaitzea ez dira funtzionatuko. Irtenbide bakarra AVG beste zerbaitengatik ordezkatzea da.","FAQ_17_P2":"Hori ez bada arazoa, baina Windows erabiltzen jarraitzen baduzu, eguneratu azken zerbitzu-paketera eta eguneratu/instalatu berriro GPU kontrolatzaileak, eta saiatu berriro.","FAQ_17_P3":"Arazoa oraindik konpontzen ez bada edo Mac edo Linux erabiltzen ari bazara, idatzi iezaguzu arazoaren xehetasun zehatzen berri ${1}gure Facebook taldeko${2} helbidean.","FAQ_18_H1":"Nola egin dezaket gehigarri bat?","FAQ_18_P1":"Hasiberrientzat, GitHub-en gure ${1}addons sistemaren modulua${2} begiratzea gomendatzen dugu.","FAQ_18_P2":"Ondoren, ${1} Hello World tutoretza ${2} jarraitu dezakezu.","FAQ_18_P3":"Programaziorako trebetasunik ez baduzu, idatzi zure ideia ${1}Reddit komunitatean${2} eta jarri gurekin harremanetan zure addon ideiarekin ${3}office@stremio.com${4} helbidean.","FAQ_19_H1":"Zergatik ari da Stremio diskoan lekua hartzen?","FAQ_19_P1":"Stremio-k <b> cache lokal </b> bat du igortzen dituzun bideo fitxategiak aldi baterako mantentzeko.","FAQ_19_P2":"Horrek bi abantaila ditu: lehenik, Stremiok bideoa aurrez bufferrean uzteko aukera ematen du, streaming zuzenagoa bermatzeko. Bigarrenik, bideoak cache lokalean gordetzen ditu, lineaz kanpo ikusten jarraitu ahal izateko.","FAQ_19_P3":"Stremio-k zenbat gordetzen duen ezarpenen paneleko <b> Cache </b> ezarpenaren araberakoa da. Stremio-k zure diskoan ezarritako zenbatekoa (adibidez, 2 GB) gorde dezake, unean erreproduzitutako bideoa hori baino handiagoa ez bada, kasu horretan, gordetzeko adina biltegiratze esleitu behar du erreproduzitu arte.","FAQ_20_H1":"Non dago cache karpeta?","FAQ_20_P1":"Windows-en, Stremio-cache da Ezarpenetan aukeratu duzun unitatean (adibidez, \\"E: \\\\ stremio-cache\\")","FAQ_20_P2":"MacOS-en \\"~ /Library/Application Support/Stremio/stremio-cache\\" da","FAQ_20_P3":"Linux-en \\"~/.stremio/stremio-cache\\" edo \\"~/stremio-cache\\" da.","FAQ_21_H1":"\\"Streaming zerbitzaria ez da aurkitu\\" errorea dut. Zer egin dezaket?","FAQ_21_P1":"Akats hau jasoz gero, gauza gutxietako bat esan nahi du:","FAQ_21_P2":"1) YouTube/BitTorrent iturriak babestutako gehigarri bat erabiltzen saiatzen ari zara, gure ${1}web bertsioaren${2} bidez. Kasu honetan, gure mahaigaineko bertsioa ${3}webgunetik${4} instalatu beharko zenuke.","FAQ_21_P3":"2) Zerbait ez dago gaizki zure Stremio instalazioarekin. Kasu honetan, saiatu berriro instalatzen mahaigaineko azken bertsioa ${1} ${2} webgunetik. Honek laguntzen ez badu, saiatu birusen aurkako programak eta suebakiak desgaitzen, ordenagailua berrabiarazi eta saiatu berriro. Honek ere funtzionatzen ez badu, idatzi iezaguzu ${3}gure Facebook taldean${4}.","FAQ_22_H1":"Ezin ditut iOSeko gehigarri gehienak ikusi/erabili","FAQ_22_P1":"Apple App Store-ren baldintzak eta mugak direla eta, iOS aplikazioa gehigarri jakin batzuetara soilik mugatu dugu.","FAQ_22_P2":"Baina lasai - etorkizunean iOS-erako gehigarri gehiago egongo dira, eta Stremio gehigarri guztiak erabiltzea ahalbidetuko duen integrazioa ere gehi dezakegu iOS aplikazioa Stremio Streaming Server-era konektatzeari esker."}')},32381:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"فیلم","TYPE_series":"سریال","TYPE_tv":"برنامه تلویزیونی","TYPE_channel":"کانال","TYPE_other":"سایر","TYPE_movie_PL":"فیلم ها","TYPE_series_PL":"سریال ها","TYPE_tv_PL":"برنامه های تلویزیونی","TYPE_channel_PL":"کانال ها","TYPE_other_PL":"سایر","TYPE_ALL":"همه","TYPE":"نوع","CATALOG_com_linvo_cinemeta_top":"پرطرفدار","CATALOG_com_linvo_cinemeta_imdbRating":"ویژه","CATALOG_com_linvo_cinemeta_year":"جدید","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"فیلم های دامنه عمومی","VIDEO":"ویدیو","BACK":"قبلی","MORE":"بیشتر","DONE":"اتمام","COPY":"کپی","SUCCESS":"موفقیت","ERROR":"خطا","SETTINGS_CASTING_MODE_PICKER":"حالت پخش","CASTING_MODE_HLSV2":"پیش فرض","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"بدون رمزگذاری","Discover":"مشاهده","Board":"بورد","Library":"کتابخانه","My Library":"کتابخانه من","Calendar":"تقویم","NOTIFICATION_ONLINE":"شما الان آنلاینید","NOTIFICATION_OFFLINE":"شما افلاینید","INTERNET_CONNECTION":"کانکشن شبکه","STORAGE_FULL_TITLE":"هشدار: فضای دیسک شما پر شده است!!!","STORAGE_FULL_TEXT":"استریمیو نمی تواند تنظیمات شما را ذخیره کند، شاید دوباره نصب کردن یا ری استارت کردن آن به حل این مشکل کمک کند.","SEARCH":"جستجو","SEARCH_NO_RESULTS":"نتیجه ای یافت نشد","SEARCH_EXPLANATION_CONTENT":"در لیست فیلم ، سریال ، یوتیوب یا کانال های تلویزیونی جستجو کنید","SEARCH_EXPLANATION_PEOPLE":"در لیست بازیگران ،‌نویسندگان یا کارگردان ها جستجو کنید","SEARCH_PASTE_LINKS":" HTTP یا Magnet links را در اینجا کپی کنید","SEARCH_OR_PASTE_LINK":"جستجو کنید یا لینک را وارد کنید","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"افزودن به کتابخانه","REMOVE_FROM_LIB":"حذف از کتابخانه","ADDED_TO_LIB":"به کتابخانه اضافه شد","REMOVED_FROM_LIB":"از کتابخانه حذف شد","TRAILER":"تریلر","WATCH_TRAILER":"مشاهده تریلر","WATCH_NOW":"تماشا کنید","SHOW":"نمایش","SHOW_MOVIE":"نمایش فیلم","WATCH_RANDOM":"تصادفی مشاهده کنید","IMDB_RATING":"IMDb رتبه","YEAR":"سال","DIRECTOR":"کارگردان","WRITER":"نویسنده","LEAD_ACTORS":"بازیگران اصلی","CAST":"سایر بازیگران","CREW":"خدمه","SHOW_MORE_CAST":"نمایش بیشتر »","AIRED":"پخش شده","SEASONS":"فصل ها","GENRE":"ژانر","GENRE_ALL":"تمام ژانرها","CATALOG":"کاتالوگ","SUMMARY":"خلاصه","SHOW_MORE":"نمایش بیشتر","SIMILAR":"مشابه","UPCOMING":"بزودی عرضه می شود","ENDED":"پایان یافته","DURATION":"طول","FEATURED":"ویژه شده","METADATA":"متا دیتا","CATEGORY":"دسته بندی","LINKS_GENRES":"ژانرها","LINKS_CAST":"بازیگران","LINKS_DIRECTORS":"کارگردان ها","SEARCH_VIDEOS":"جستجوی ویدیو","SEARCH_PLACEHOLDER":"جستجو کنید یا URL را وارد کنید","ADDON":"افزونه","ADDONS":"افزونه ها","OFFICIAL":"رسمی","ADDONS_OFFICIAL":"افزونه های رسمی استریمیو","ADDONS_POPULAR":"پرطرفدارها در کشور شما","ADDON_FREE":"رایگان","ADDON_PEERED":"جفت شده","ADDON_SUBSCRIPTION":"عضویت","ADDON_STREAM_GEORESTRICTED":"در کشور شما در دسترس نیست","ADDON_STREAM_OFFLINECACHE":"کش آفلاین","ADDON_STREAM_LOCALFILE":"فایل لوکال","SHARE_ADDON":"به اشتراک گذاری افزونه","AVAILABLE_STREAMS":"استریم های در دسترس","NO_STREAM":"استریمی یافت نشد.","ALL_ADDONS":"All","INSTALL_MORE_ADDONS":"برای استفاده از استریم های بیشتر ، می توانید آن ها را نصب کنید","STREAM_NOT_SUPPORTED":"این استریم انتخابی شما برای این پلتفورم قابل استفاده نیست","ADDON_CATALOGUE":"نمایش همه افزونه ها »","ADDON_CATALOGUE_MORE":"نصب افزونه ها","REPO_ADDED":"مخزن نصب شد","ADDON_REPO_EXIST_ERR":"این آلبوم از قبل موجود بود","ADDON_REPO_ERR":"در هنگام افزودن مخزن مشکلی بوجود آمد","ADDON_ADD_ERR":"در هنگام افزودن افزونه مشکلی بوجود آمد","ERR_ADDON_PROTECTED":"این افزونه محافظت شده و قابل حذف نیست","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"یوزر پسوورد اشتباه است، مشکلی بوجود امد","ERR_NOT_COLLECTION_URL":"آدرس مجموعه نیست","ERR_NOT_ADDON_URL":"آدرس افزونه اشتباه است","ERR_DETECTFROMURL":"از این آدرس چیزی پیدا نکردیم","ADDON_DUPLICATE_WARNING":"هشدار:افزونه تکراری است","ADDON_COLLECTION_SET_FAILED":"عملیات همگام سازی افزونه های نصب شده به پنل کاربری شما ، با شکست مواجه شد","SETTINGS_DATA_EXPORT":"استخراج اطلاعات کاربر","ADDON_PULL_FAILED":"عملیات همگام سازی افزونه های نصب شده ناموفق بود","REFRESH_ON_CLICK":"برای تلاش دوباره کلیک کنید","STILL_IN_THEATER":"فیلم فعلا فقط قابل نمایش در سالن تئاتر است","WATCH_IN_CINEMA":"در سینمای محله ی خودتان ببینید","IN_THEATER":"در سینما","GET_TICKETS":"بلیط بگیرید","UPCOMING_EPISODE":"اپیزود های آینده","UPCOMING_EPISODE_MESSAGE":"این ایپزود منتشر می شود در","MISSING_DATE_EPISODE":"تاریخی در دسترس نیست","MISSING_DATE_EPISODE_MESSAGE":"این اپیزود هنوز منتشر نشده","CHANNEL_NOT_SCRAPED":"اطلاعات این کانال هنوز دریافت نشده<br>لطفا چند دقیقه دیگر مراجعه کنید.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"به کتابخانه شما افزوده شد وقتی در دسترس شد به شما اطلاع رسانی می شود.","GET_NOTIFIED_WHEN_AVAILABLE":"زمانی که در دسترس شد به شما اطلاع رسانی می شود","WARNING_STREAMING_SERVER":"هشدار: استریم سرور یافت نشد، استریم قابل انجام نیست","WARNING_STREAMING_SERVER_DISMISS":"رد کردن","WARNING_STREAMING_SERVER_LATER":"بعدا","DECODER_WARNING":"هشدار: سخت افزار شما این ویدیو را پشتیبانی نمی کند، حواستان باشد که ممکن است این ویدیو برای شما با سرعت پایینتری پخش شود","GENERIC_ERROR_MESSAGE":"خطای رخ داده است!","TRY_AGAIN":"دوباره تلاش کنید","CLEAR_DATA":"پاک کردن داده ها","PLAYER_ERROR":"اوپس ، مشکلی در پخش کننده پیش آمده","PLAYER_ERROR_LOOKSLIKE":"انگار","PLAYER_ORIENTATION":"جهت نمایش","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"قفل شده","PLAYER_ORIENTATION_SENSOR_SHORT":"سنسور","PLAYER_ORIENTATION_LANDSCAPE":"نمایش بصورت عمودی قفل شده","PLAYER_ORIENTATION_SENSOR":"جهت نمایش پخش کننده بصورت اتوماتیک تنظیم می شود","PLAYER_PLAYBACK_SPEED":"سرعت پخش","PLAYER_PLAYBACK_ERROR":"پخش ویدیوبا مشکل مواجه شد ، دوباره سعی کنید","PLAYER_PLAYBACK_ERROR_UNKNOWN":"خطای نا شناخته","PLAYER_PLAYBACK_ERROR_DEFAULT":"این ویدیو نمی تواند در {{productName}} پخش شود.","PLAYER_SUBTITLES_LANGUAGES":"زبان های زیرنویس","PLAYER_SUBTITLES_VARIANTS":"انواع زیرنویس","PLAYER_SUBTITLES_SETTINGS":"تنظیمات زیرنویس","PLAYER_SUBTITLES_DISABLED":"زیرنویس غیرفعال است","PLAYER_SUBTITLES_VERTICAL_POSIITON":"موقعیت عمودی","PLAYER_SUBTITLES_LOADED":"زیرنویس بارگذاری شد.","PLAYER_SUBTITLES_LOADED_EMBEDDED":"زیرنویس چسبیده بارگذاری شد","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"زیرنویس انحصاری بارگذاری شد","PLAYER_SUBTITLES_LOADED_ORIGIN":"زیرنویس {{origin}} بارگذاری شد","PLAYER_PLAY":"پخش","PLAYER_PAUSE":"توقف","PLAYER_NEXT_VIDEO":"ویدئوی بعدی","PLAYER_MUTE":"بیصدا","PLAYER_UNMUTE":"باصدا","PLAYER_OPEN_IN_EXTERNAL":"بازکردن در پخش کننده خارجی","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"پخش در {{device}}","PLAYER_LIVE":"لایو","PLAYER_NEXT_VIDEO_TITLE":"می آید در","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"کنسل کردن","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"مشاهده کنید","PLAYER_COPY_STREAM_SUCCESS":"لینک استریم با موفقیت کپی شد","PLAYER_COPY_STREAM_ERROR":"خطایی در کپی کردن لینک استریم رخ داد","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","STREAMING_FROM":"استریم شده از","CASTING_TO":"کست شده از","NETWORK_STATUS":"وضعیت شبکه","STREAM_SPEED":"سرعت استریم:","STREAM_BUFFERED":"بافر شده:","PEERS_INFO":"Peers اطلاعات","PEERS_ACTIVE":"فعال:","PEERS_CONNECTED":"وصل شده:","PEERS_WAITING":"منظتر باشید:","TRANSCODING_WARNING":"هشدار: در حال ترانسکد کرد ویدیو","STREAM_LOADING":"کمی شکیبا باشید...","PLAYING_LOCAL":"در حال پخش از اوکال","PLAYING_CACHE":"در حال پخش از کش","WRONG_SUBS":"زیرنویس اشتباه است؟","ERR_SUBS_LOADING_TITLE":"خطا در دریافت زیرنویس","ERR_SUBS_LOADING":"خطایی در دریافت زیر نویس ها پیش آمده شاید بخاطر افزونه زیرنویس است یا حتی مشکل از اینترنت شماست","WARN_FOLLOWING_SUB_ADDONS_FAILED":"افزونه زیرنویس فوق مشکل دارد","ERR_CASTING_UPDATE_TITLE":"نمی توانیم اطلاعات دستگاه شما را بروزرسانی کنید ،سرور استریمینگ ممکن است مشکل داشته باشد","CHOOSE_DEVICE":"دستگاه را انتخاب کنید","NO_CAST_DEVICES":"دستگاهی پیدا نشد","NO_SETTINGS":"تنظیمات یافت نشد","PHONE_TABLET":"گوشی یا تبلت","SUBTITLES":"زیرنویس ها","SUBTITLES_CHANGE":"زیرنویس را انتخاب کنید برای","SUBTITLES_CHANGE_NONE":"هیچ زیرنویس دیگری پیدا نشد","SUBTITLES_CHANGE_ACIVE":"زیرنویس های موجود : &#35;{{subtitlesDialog.activeIdx + 1}} . بر روی دکمه \\"Continue\\" کلیک کنید تا زیرنویس را مشاهده کنید. &#35;{{subtitlesDialog.pickedIdx + 1}}","SUBTITLES_OR":"جایگزین,","SUBTITLES_ADJUST_DELAY":"تاخیر زیرنویس:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"یا کلید <span>G</span> / <span>H</span> را در هنگام پخش استفاده کنید","SUBTITLES_ADJUST_DELAY_TIP":"توجه: شما می توانید کلید <span>G</span> / <span>H</span> را هنگام پخش استفاده کنید.","SUBTITLES_DELAY":"تاخیر زیرنویس ها:","SUBTITLES_LOADING":"در حال دریافت زیرنویس ها","SUBTITLES_UNAVAILABLE":"هیچ زیرنویس خارجی ای در دسترس نیست","SUBTITLES_DISABLED":"غیرفعال شده","EXTERNAL_PLAYER_DISABLED":"غیرفعال","EXTERNAL_PLAYER_ALLOW_CHOOSING":"انتخاب کنید","EXTERNAL_PLAYER_HINT":"راهنما: در تنظیمات قسمتی وجود دارد که میتوانید همیشه پخش کننده خارجی را باز کنید.","DONT_SHOW_AGAIN":"دوباره نشان نده","SERVICE_INSTALL":"نصب","AUDIO":"صدا","DEFAULT_LANGUAGE":"زبان پیشفرض","DEFAULT_SECONDARY_LANGUAGE":"زبان پیشفرض دوم","SEASON":"فصل","EPISODE":"قسمت","EPISODE_ABBREVIATION":"قسمت","SPECIAL":"ویژه","SORT":"مرتب سازی","SORT_BY":"مرتب سازی بر","FILTER":"فیلتر","SORT_TRENDING":"ترند","SORT_RECENT":"آخرین","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"رتبه","SORT_WATCHED":"مشاهده شده","SORT_YEAR":"سال","SELECT_TYPE":"انتخاب نوع","SELECT_SORT":"انتخاب ترتیب","SELECT_CATALOG":"انتخاب کاتالوگ","SELECT_GENRE":"انتخاب ژانر","SORT_LASTWATCHED":"بر اساس آخرین مشاهده","SORT_NAME":"بر اساس نام","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"بر ساسا مدت زمان مشاهده","SORT_NOTWATCHED":"not watched","New for You":"جدیدترین ها برای شما","New Episodes":"اپیزودهای جدید","New Videos":"ویدیو های جدید","Recommendations":"پیشنهاد شده:","LIBRARY_RESUME":"از سرگیری","LIBRARY_PLAY":"پخش","LIBRARY_DETAILS":"اطلاعات بیشتر","LIBRARY_RESUME_DISMISS":"رد کردن","LIBRARY_CLEAR_PROGRESS":"پاک کردن پیشرفت","LIBRARY_REMOVE":"پاک کردن","LIBRARY_NOT_LOGGED_IN":"کتابخانه فقط برای کاربران لاگین شده در دسترس است","CALENDAR_NOT_LOGGED_IN":"تقویم فقط برای کاربران لاگین شده در دسترس است","NOT_LOGGED_IN_CLOUD":"بع فیلم مورد علاقه تون درهر زمان و مکانی دسترسی داشته باشید","NOT_LOGGED_IN_RECOMMENDATIONS":"پیشنهات برای اساس ویدئوهای مشاهده شده شما هستند","NOT_LOGGED_IN_NOTIFICATIONS":"هیچوقت قسمت جدید رو از دست نده","NOT_LOGGED_IN_CALENDAR":"زمان مشاهده را در تقویم خود وارد کنید","DISCOVER_FEATURED":"ویژه ها","DISCOVER_TOP":"برترین ها","DISCOVER_OSCAR":"برندگان اسکار","DISCOVER_WARNING_TITLE":"اوپس!","DISCOVER_EMPTY_CATALOG":"افزونه خالی است","DISCOVER_ADULT_WARNING":"مخصوص بزرگسالان است ، ایا سن شما بالاتر از ۱۸ است؟","DISCOVER_NOADDON_WARNING":" هشدار: هیچ افزونه ای برای این نوع فعال نمیباشد. نمایش موارد ذخیره شده، هیچ چیزی دخیره نخواهد شد.","DISCOVER_LOAD_ERR":"خطایی در بارگذاری محتوا رخ داد.","DISCOVER_ADDON_UNINSTALLED":"محتوا دیگر در دسترس نمیباشد، بهتره که افزونه را پاک کنید","UNINSTALL_THIS_ADDON":"حذف این اددان(افزونه)","ERR_ADDON_NOT_INSTALLED":"این افزونه نصب نشده است، نصب میکنید ؟","DETAIL_RECEIVE_NOTIF_SERIES":"برای قسمت های جدید نوتیفیکیشن دریافت کند","DETAIL_RECEIVE_NOTIF_VIDEOS":"برای ویدئو های جدید نوتیفیکیشن دریافت کنید","SIDEBAR_SHOW_STREAMS":"نمایش استریم","RELAUNCH":"بارگذاری دوباره!","UPGRADE":"نسخه جدید پیدا شد، به نسخه جدید ارتفا دهید","RELOAD_UI":"بارگذاری دوباره رابط کاربری","MANUAL_UPDATE_TITLE":"استریمو را بروزرسانی کند","MANUAL_UPDATE_LINE1":"شما در حال استفاده از نسخه قدیمی استریمو میباشید، که اصلا پیشنهاد به استفاده نمیشود.","MANUAL_UPDATE_LINE2":"لطفا ر اسرع وفت بروزرسانی کنید","BUTTON_UPDATE_LATTER":"الان نه","BUTTON_UPDATE_NOW":"بروزرسانی","ANONYMOUS_USER":"کاربر ناشناس","DONT_HAVE_ACC":"حساب کاربری نداری ؟","HAVE_ACC":"حساب کاربری دارید ؟","PASSWORD":"رمزعبور","PASSWORD_CONFIRM":"تایید رمزعبور","EMAIL":"ایمیل","FB_LOGIN":"ورود با فیسبوک","FB_NOTHINGSHARED":"هیچ چیزی بدون اجازه شما به اشتراک گذاشته نمیشود.","FB_NOPOST":"ما هیچ محتوای را ازجانب شما به اشتراک نمیگذاریم","OR":"یا","I_ACCEPT":"میپذریم که","I_ACCEPT_BY_CLICKING":"با فشردن دکه بالا من اعلام میکنم که میپذیرم ","TOS":"شرایط و قوانین","MUST_ACCEPT_TERMS":"شما باید قوانین را بپذیرید","PASSWORDS_NOMATCH":"رمز همخوانی ندارد","SIGN_UP":"ثبت نام","SIGN_UP_EMAIL":"ثبت نام با ایمیل","CLICK_TO_SIGN_UP":"برای ثبت نام اینجا کلیک نمایید.","LOG_IN":"ورود","LOG_OUT":"خروج","EXIT_FULLSCREEN":"خروج از مود تمام صفحه","ENTER_FULLSCREEN":"ورود به مود تمام صفحه","PLAY_URL_MAGNET_LINK":"پخش آدرس/لینک آهنربایی","HELP_FEEDBACK":"کمک و بازخود","TERMS_OF_SERVICE":"قوانین سرویس","PRIVACY_POLICY":"سیاست حفظ حریم خصوصی","ABOUT_STREMIO":"درباره استریمو","USER_PANEL":"پنل کاربر","LOGIN_LABEL":"ورود","GUEST_LOGIN":"ورود مهمان","GUEST_LOGIN_NOTICE":"ورود با کاربر مهمان پیشنهاد نمیشود. ورود با حساب کاربری این اجازه را به استریمو میدهم که کتابخانه هاتان را همگام سازی کند و شما را از آخرین محتوای مورد علاقه تون مطلع سازد. علاقه به ادامه دادن دارید ؟","GUEST_LOGIN_NOTICE_2":"کاربر مهمان پیشنهاد نمیشود - کتابخانه های شما همگام سازی نمیشوند و شما پیامی بابت محتوای مورد علاقتون دریافت نمیکنید که از ویژگی های اصلی استرمیو میباشد، آیا میخواهید ادامه دهید ؟","CLICK_HERE":"اینجا را کلیک کنید","WRONG_PASSWORD":"نام کاربری یا رمز اشتباه است، درصورت فراموشی رمز، ","SET_A_PASS":"تنظیم رمزعبور","RESET_PASSWORD":"بازیابی رمزعبور","FORGOT_PASSWORD":"رمزعبور را فراموش کردید?","EMAIL_USED_WITH_FB":"این ایمیل برای ورود با فیسبوک استفاده شده است","INVALID_EMAIL":"لطفا یک ایمیل معتبر وارد نمایید","INVALID_PASSWORD":"لطفا یک رمزعبور معتبر وارد نمایید","CONN_ERR":"\\n\\nاگر خطا پابرجا ماند لطفا فایروال یا آنتی ویروس خود را خاموش کنید. خطای ارتباط - لطفا دوباره تلاش کنید","IMPORT_FROM_GUEST":"وارد کردن کتابخانه ها از حاسب مهمان شما","RECEIVE_UPDATES_EMAIL":"از استریمو آخرین بروزرسانی ها را در ایمیلتان دریافت کنید","LOGIN_FAILED":"ورود ناموفق بود.","SIGNUP_FAILED":"عضویت ناموفق بود.","SEARCH_FAILED":"جستجو ناموفق بد","EMAIL_USED":"این ایمیل استفاده شده است.","WAITING_FB_LOGIN":"ورود توسط فیسبوک...","EXTERNAL_PLAYER_TITLE":"پخش در پخش کننده خارجی","EXTERNAL_REMEMBER_PLAYER":"آیا میخواهید انتخاب شما را به خاطر بسپارم","EXTERNAL_ALWAYS_PLAY":"بله","EXTERNAL_ONLY_ONCE":"خیر","BEST_FIT":"بهترین اندازه","FIT_SCREEN":"تمام صفحه","FILL":"Fill","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"به ما درمورد علاقه مندی هایتان بگویید","INTRO_TASTE_LONG":"به ما بگویید که علاقه به تماشای چه چیزی دارید","INTRO_TASTE_PICK":"انتخاب {{interestsRemaining}} علاقه مندی ها","INTRO_TASTE_PICK_MORE":"انتخاب {{interestsRemaining}} علاقه مندی های بیشتر","INTRO_TASTE_HELP_US":"به ما کمک کنید که بهتر علایق شما را بشناسیم ","INTRO_TASTE_CHOOSE_THESE":"بعضی از اینها را انتخاب کنید:","INTRO_TASTE_CHOOSE_MIN":"حداقل 3 دسته بندی انتخاب کنید","INTRO_TASTE_CHOOSE_MIN_ERR":"شما باید حدلقا سه دسته بندی انتخاب کنید","INTRO_TASTE_LIFESTYLE":"سبک زندگی","INTRO_TASTE_SPORTS":"ورزشی","INTRO_TASTE_FOOD_HEALTH":"تغذیه و سلامت","INTRO_TASTE_BEAUTY_FASHION":"فشن و زیبایی","INTRO_TASTE_NEWS":"اخبار","INTRO_TASTE_GAMING":"بازی","INTRO_TASTE_SCIENCE_EDU":"علم و آموزشی","INTRO_TASTE_MUSIC":"موزیک","INTRO_TASTE_TRAVEL":"سفر","INTRO_TASTE_LATE_NIGHT":"نمایش آخر شب","INTRO_TASTE_REALITY":"واقعگرایانه","INTRO_TASTE_COMEDY":"کمدی","INTRO_TASTE_DIY":"چگونه کاری را خودت انجام دهی DIY","INTRO_TASTE_TECH":"تکنولوژی","INTRO_TASTE_CINEMA":"سینما","ADDON_NOT_SUPPORTED":"افزونه انخاب شده در این بستر پشتیبانی نمیشود","ADDON_DISCLAIMER":"استفاده از افزونه های شخص ثالث همیشه مشمول مسئولیت شما و قانون حاکم بر حوزه قضایی شما خواهد بود.","ADDON_ACTIVATE":"فعالسازی این افزونه","ADDON_REPO_ADD":"آدرس مجموعه افزونه","ADDON_ADD":"افزودن","INSTALL_ADDON":"نصب افزونه","ADD_ADDON":"اضافه کردن افزونه","ADD_ADDON_DESCRIPTION":"می‌توانید افزونه‌ای را از طریق آدرس خارجی اضافه کنید که در قسمت افزونه‌های نصب‌شده ظاهر می‌شود.","PASTE_ADDON_URL":"آدرس اقزونه را وارد کنید","WHATS_NEW":"چی جدیده ؟","BUTTON_CONTINUE":"ادامه","BUTTON_ACTIVATE":"فعالسازی","BUTTON_ACTIVATED":"فعالسازی شد.","BUTTON_CANCEL":"انصراف","BUTTON_SUBMIT":"تایید","BUTTON_DISMISS_ALL":"رد کردن همه","BUTTON_VIEW_ALL":"مشاهده همه ","BUTTON_SEE_ALL":"دیدن همه","BUTTON_COLOR_TRANSPARENT":"شفاف","OPEN_IN_BROWSER":"باز کردن مرورگر","LIB_EMPTY":"کتابخانه شما خالی به نظر می رسد. ببینید چقدر مفید است :) ","HOW_START":"اینجا میتوانید شروع کنید:","LIB_EMPTY_CAL":"تقویم شما مجموعه‌هایی را در کتابخانه شما نشان می‌دهد.","HOW_START_CAL":"در اینجا نحوه اضافه کردن سریال آمده است:","LIB_EMPTY_BOARD":"تابلو اعلان ها را نشان می دهد و &amp; توصیه های مربوط به کتابخانه شما","HOW_START_BOARD_WAIT":"Please, add a few series or channels to your Library give us a few minutes to process :)","HOW_START_BOARD":"Here is how you can add series &amp; movies to it:","IMPORT_FB":"Import things you like from <span>Facebook</span>","IMPORT_TRAKT":"Import your media library from <span>Trakt</span>","IMPORT_DISCOVER":"Find interesting stuff from <span>Discover</span>","IMPORT_DISK":"Import movies or shows you have on your <span>local disk</span>","PLEASE_CREATE_ACC":"Please <u>create an account</u> to enable Library sync &amp; Board.","IMPORT_DISCOVER_SIGNUP":"Sign up and find interesting stuff from <span>Discover</span>","IMPORT_DISK_SIGNUP":"Sign up and import movies or shows you have on your <span>local disk</span>","LIB_EMPTY_CLOUD":"Cloud library","LIB_EMPTY_CLOUD_DESC":"Personal cloud library synced on all devices","LIB_EMPTY_EARLY":"Early bird","LIB_EMPTY_EARLY_DESC":"Receive notifications for new episodes","LIB_EMPTY_PERSONAL":"Personal","LIB_EMPTY_PERSONAL_DESC":"Get personal recommendations","LIB_EMPTY_CALENDAR_DESC":"Schedule your personal watching calendar","LIB_EMPTY_ALL":"Sign up to get all of these:","LIB_EMPTY_BEST":"Sign up to get best of Stremio","LIB_EMPTY_OTHER":"Sign up to enable Calendar & other cool features","CALENDAR_ADDED":"The Stremio calendar has been added to your default desktop calendar.","CALENDAR_ADDED_MSG":"If this does not work, please add this URL to your calendar application manually","TRAKT_EXPIRED":"Trakt authentication expired, please go to Settings and re-authenticate","TRAKT_REQUIRES_LOGIN":"Trakt error","TRAKT_REQUIRES_LOGIN_MSG":"شما باید وارد شوید.","TRAKT_IMPORT_WATCHED":"Import","THEME":"پوسته","THEME_DEFAULT":"پیشفرض","THEME_ADAPTIVE":"انطباقی","SETTINGS_LABEL":"تنظیمات","SETTINGS_NAV_GENERAL":"عمومی","SETTINGS_NAV_PLAYER":"پخش کننده","SETTINGS_NAV_STREAMING":"در حال استریم کردن","SETTINGS_NAV_SHORTCUTS":"میانبرها","SETTINGS_SHORTCUT_RELOAD_APP":"بارگذاری دوباره برنامه","SETTINGS_SHORTCUT_OPEN_SETTINGS":"بازکردن تنظیمات","SETTINGS_SHORTCUT_SWITCH_TABS":"عوض کردن برگه","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Cycle Through Tabs Forward","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Cycle Through Tabs Backward","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigate Between Menus","SETTINGS_SHORTCUT_GO_TO_SEARCH":"برو به جستجو","SETTINGS_SHORTCUT_EXIT_BACK":"خارج شوید / به عقب برگردید","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Toggle Playback Speed Menu","SETTINGS_SHORTCUT_MENU_VIDEOS":"Toggle Videos Menu","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Toggle Subtitles Menu","SETTINGS_SHORTCUT_MENU_INFO":"Toggle Info Menu","SETTINGS_SHORTCUT_FULLSCREEN":"Toggle Fullscreen","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Show Controls","SETTINGS_SHORTCUT_PLAY_PAUSE":"Play / Pause","SETTINGS_SHORTCUT_VOLUME_UP":"افزایش صدا","SETTINGS_SHORTCUT_VOLUME_DOWN":"کاهش صدا","SETTINGS_SHORTCUT_SEEK_NEXT":"Seek Next","SETTINGS_SHORTCUT_SEEK_PREV":"Seek Prev","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Seek Backward","SETTINGS_SHORTCUT_SEEK_FORWARD":"Seek Forward","SETTINGS_SHORTCUT_PLAY_NEXT":"Play Next","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"افزایش سایز زیرنویس","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"کاهش سایز زیرنویس","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"افزایش تاخیر زیرنویس","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"کاهش تاخیر زیرنویس","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"باز/بسته منو","SETTINGS_SHORTCUT_OR":"or","SETTINGS_SHORTCUT_TO":"to","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Authenticate","SETTINGS_FACEBOOK_IMPORT":"Import","SETTINGS_CALENDAR_SUBSCRIBE":"Subscribe","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Interface Language","SETTINGS_LAUNCH_STARTUP":"Launch on start-up","SETTINGS_VLC_DEFAULT":"Play with VLC","SETTINGS_UI_LANGUAGE":"زبان رابط کاربری","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Escape key exit full screen","SETTINGS_GAMEPAD":"Enable gamepad support","SETTINGS_CLOSE_WINDOW":"Close app when window is closed","SETTINGS_SUBTITLES_LANGUAGE":"زبان پیش فرض زیر نویس","SETTINGS_SUBTITLES_SIZE":"اندازه پیش فرض زیرنویس","SETTINGS_SUBTITLES_BACKGROUND":"رنگ پس زمینه زیرنویس","SETTINGS_SUBTITLES_COLOR":"رنگ زیرنویس","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Subtitles outline color","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Subtitles background color","SETTINGS_SEEK_KEY":"Arrow keys seek time","SETTINGS_SEEK_KEY_SHIFT":"Arrow keys seek time when Shift key is held","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Rewind & Fast-forward duration","SETTINGS_BINGE":"Auto-play next episode","SETTINGS_NEXT_VIDEO":"Show notification to start next episode","SETTINGS_NEXT_VIDEO_TRIGGER":"Show next episode notification for:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Next video popup duration","SETTINGS_PLAY_IN_BACKGROUND":"Play in background","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Play in external player","SETTINGS_RESIZE":"Auto-resize window before playing","SETTINGS_OVERRIDE_SERVER":"Override the streaming server URL (advanced)","SETTINGS_SERVER_URL":"Streaming server URL: ","SETTINGS_SERVER_AVAILABLE":"Streaming server is available.","SETTINGS_SERVER_UNAVAILABLE":"Streaming server is not available.","SETTINGS_SERVER_STATUS_ONLINE":"آنلاین","SETTINGS_SERVER_STATUS_ERROR":"خطا","SETTINGS_SERVER_CONFIGURE_TITLE":"Configure streaming server url","SETTINGS_SERVER_CONFIGURE_INPUT":"Enter a streaming server url","SETTINGS_SERVER_CACHE_SIZE":"سایز cache","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent profile","SETTINGS_HTTPS_ENDPOINT":"Streaming HTTPS endpoint: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Always use latest Beta","SETTINGS_IMPORT_FB":"Import from Facebook","SETTINGS_IMPORT_DISK":"Import from local disk","SETTINGS_IMPORT_TRAKT":"Import from Trakt","SETTINGS_PAUSE_MINIMIZED":"توقف پخش هنگام کوچک‌کردن صفحه","SETTINGS_HWDEC":"Hardware-accelerated decoding","SETTINGS_BACKGROUND":"پخش پس زمینه","SETTINGS_SUBSCRIBE_CALENDAR":"دنبال کردن تقویم","SETTINGS_REQ_EXPORT":"درخواست خروجی گرفتناز داده‌ها","SETTINGS_ACC_DELETE":"درخواست حذف اکانت","SETTINGS_CHANGE_PASSWORD":"تغییر رمز عبور","SETTINGS_TOS":"فوانین استفاده از سرویس","SETTINGS_SUPPORT":"تماس با پشتیبانی","SETTING_LANGUAGE":"زبان","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_LOGOUT":"Log out of Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Log Out of Trakt","SETTINGS_SCAN_FOR_REMOTE":"Scan QR code to open remote","SETTINGS_DESKTOP_NOTIFICATIONS":"اعلان‌های دسکتاپ","SETTINGS_DATA_SAVER":"صرفه‌جویی در داده","SETTINGS_LANGUAGE_INTERFACE":"رابط","SETTINGS_LANGUAGE_SUBS":"زیرنویس های پیشفرض","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Autoselect Audio Track","SETTINGS_DEFAULT_AUDIO_TRACK":"Default Audio Track","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"حساب کاربری","SETTINGS_PLATFORM":"بستر","SETTINGS_VERSION":"نسخه","SETTINGS_ABOUT":"درباره","SETTINGS_MPV_WINDOW":"اجرای پخش کننده در صفحه مجزا (پیشرفته)","SETTINGS_PLAY_IN_EXTERNAL":"همیشه ویدیو را در پخش‌کننده خارجی شروع کنید","SETTINGS_STORAGE_BUTTON":"پاک کردن حافظه پنهان","SETTINGS_STORAGE_MODAL_TITLE":"آیا مطمئن هستید؟","SETTINGS_STORAGE_MODAL_MESSAGE":"این کار باعث پاک شدن حافظه پنهان و خروج شما می‌شود.","SETTINGS_HWDEC_PICKER":"Pick hardware-accelerated decoding setting","SETTINGS_HW_AUTOMATIC":"خودکار","SETTINGS_HW_DISABLED":"غیرفعال","SETTINGS_HW_ACCELERATED":"Decoding acceleration","SETTINGS_HW_FULL":"Full acceleration","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"غیرفعال","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"آدرس ریموت","SETTINGS_COPY_REMOTE_URL":"کپی آدرس ریموت","SETTINGS_REMOTE_URL_COPIED":"آدرس ریموت کپی شد!","SETTINGS_SECTION_SUBTITLES":"زیرنویس ها","SETTINGS_SECTION_AUDIO":"صدا","SETTINGS_SECTION_CONTROLS":"کنترلرها","SETTINGS_SECTION_AUTO_PLAY":"پخش خودکار","SETTINGS_SECTION_ADVANCED":"پیشرفته","SUBSPICKER_AUDIO":"صدا","SUBSPICKER_SUBTITLES":"افزونه های زیرنویس","SUBSPICKER_BLACK_BACKGROUND":"استفاده از رنگ پس‌زمینه سیاه","SUBSPICKER_VERTICAL_OFFSET":"آفست عمودی","SUBSPICKER_SIZE":"اندازه","SUBSPICKER_DELAY":"تاخیر","SUBSPICKER_EMBEDDED_SUBS":"زیرنویس های داخلی","MOBILE_PRIVACY_POLICY":"Privacy Policy","MOBILE_CRASH_REPORTING":"Crash Reporting","MOBILE_ZOOM_TO_FILL":"Zoom To Fill Screen","MOBILE_PASSTHROUGH":"Digital audio output (passthrough)","MOBILE_RUN_LOW_BATTERY":"Run on low battery","MOBILE_RUN_FOREGROUND":"Run as Foreground Service","MOBILE_PERFORMANCE":"PERFORMANCE & STABILITY","MOBILE_SERVER_ONLINE":"آنلاین","MOBILE_SERVER_OFFLINE":"آفلاین","MOBILE_QR_EXPIRES":"QR Code expires in ","MOBILE_LOG_INTO":"Log in to your Stremio account ","MOBILE_SCAN_QR":"Scan QR code above or go to ","MOBILE_LINK_ACCOUNT":"اتصال اکانت","MOBILE_SPEEDPICKER_CANCEL":"انصراف","MOBILE_SPEEDPICKER_LABEL":"انتخای سرعت پخش","MOBILE_EMPTY_LIBRARY":"کتابخانه ی شما خالیست","MOBILE_NO_ADDON_ACTIVE":"No Stremio addon active for this type.","MOBILE_ORGANIZER_WARNING":"The Stremio Organizer app provides limited functionality. For a list of playable streams and the full Stremio experience, use Stremio on desktop.","MOBILE_ADDON_LOADING":"ایز لودینگ","MOBILE_ADDONS_LOADING":"افزونه ها در حال لود شدن هستند","MOBILE_ADDON":"افزونه","MOBILE_CONFIGURE_ADDON":"تنظیمات افزونه شما","MOBILE_CONFIGURE_ADDON_LABEL":"تنظیمات افزونه","MOBILE_ORGANIZER_ADDONS_WARNING":"The Stremio Organizer app provides a limited selection of addons. For the full Stremio experience, use Stremio on desktop.","MOBILE_DISCONNECT":"Disconnect","MOBILE_LOOKING_FOR_DEVICES":"Looking for devices...","MOBILE_CAST_TO":"Cast to","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"حذف اکانت","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"حذف حساب کاربری به دلیل تعهدات قانونی در لحظه انجام نمی‌شود. پس از درخواست حذف حساب کاربری خود، در آینده برای ایجاد یک حساب کاربری جدید در Stremio باید از آدرس ایمیل/پروفایل فیسبوک متفاوت استفاده کنید","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"تایید حذف اکانت","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"حساب کاربری شما با استفاده از فیسبوک ایجاد شده است. برای حذف حساب کاربری خود، لطفاً از پورتال کاربری ما در www.stremio.com/login استفاده کنید.","MOBILE_DELETE_ACCOUNT_MESSAGE":"برای تایید حذف اکانت لطفا رمز عبور خود را وارد کنید.","MOBILE_DELETE_ACCOUNT_BUTTON":"حذف اکانت","NAVIGATION_ON":"روشن","NAVIGATION_OFF":"خاموش","MARKETING_AGREE":"I agree to receive marketing communications from Stremio","QUIT":"Quit","CONNECTED":"متصل شده است","AUTHENTICATE":"احراز هویت","CACHING":"Caching","SETTINGS_CACHING_DRIVE":"Caching drive","ENABLE_LOCAL_FILES_ADDON":"Enable the local files addon (requires restart)","LOCAL_ADDON_NOT_ENABLED":"Local addon is not enabled. Click here to go to the settings and enable it","ENABLE_REMOTE_HTTPS_CONN":"Enable remote HTTPS connections","TORRENT_PROFILE":"Torrent Profile","DATA_CACHING":"Data Caching","MAGNET_PARSING":"Parsing a magnet link","January":"ژانویه","February":"فوریه","March":"مارچ","April":"آپریل","May":"می","June":"جون","July":"جولای","August":"آگوست","September":"سپتامبر","October":"اکتبر","November":"نوامبر","December":"دسامبر","Monday":"دوشنبه","Tuesday":"سه‌شنبه","Wednesday":"چهارشنبه","Thursday":"پنج‌شنبه","Friday":"جمعه","Saturday":"شنبه","Sunday":"یکشنبه","Action":"جنگی","Comedy":"کمدی","War":"جنگ","Family":"خانوادگی","Animation":"انیمیشن","Adventure":"ماجراجویی","Fantasy":"فانتزی","Crime":"جنایی","Mystery":"معمایی","Romance":"عاشقانه","Drama":"درام","Horror":"ترسناک","Thriller":"هیجان انگیز","Sci-Fi":"علمی تخیلی","Music":"موزیک","Biography":"بیوگرافی","Documentary":"مستند","Sport":"ورزشی","Musical":"موزیکال","Western":"وسترن","Film-Noir":"Film-Noir","News":"خبری","History":"تاریخی","Game-Show":"Game-Show","Reality-TV":"Reality-TV","Talk-Show":"Talk-Show","Film & Entertainment":"Film & Entertainment","Gaming":"Gaming","From TV":"From TV","Lifestyle":"سبک زندگی","Science & Education":"Science & Education","Cooking & Health":"Cooking & Health","Beauty & Fashion":"Beauty & Fashion","Sports":"Sports","News & Politics":"News & Politics","How-to & DIY":"How-to & DIY","Tech":"Tech","Automotive":"Automotive","Causes & Non-Profits":"Causes & Non-Profits","Movies":"Movies","Uk Live Tv":"Uk Live Tv","Fashion":"Fashion","Business News Radio":"Business News Radio","Business Tv":"Business Tv","Cars & Auto":"Cars & Auto","Comedy Radio":"Comedy Radio","Lifestyle Radio":"Lifestyle Radio","News Tv":"News Tv","Food And Wine":"Food And Wine","Latino Tv":"Latino Tv","Shopping Tv":"Shopping Tv","Religion":"مذهبی","Kids":"کودکانه","Body & Soul":"Body & Soul","Education":"Education","Indian Tv":"Indian Tv","Extreme Sports":"Extreme Sports","Middle Eastern Tv":"Middle Eastern Tv","Celebrity Tv":"Celebrity Tv","Science Tv":"Science Tv","Bikini babe":"Bikini babe","Outdoors":"Outdoors","German Tv":"German Tv","French Tv":"French Tv","Italian Tv":"Italian Tv","Gamer Tv":"Gamer Tv","Travel":"Travel","Asian Tv":"Asian Tv","Entertainment":"Entertainment","News Radio":"News Radio","Music Radio":"Music Radio","Language Learning":"Language Learning","Science Radio":"Science Radio","Tech Radio":"Tech Radio","Science & Technology Vod":"Science & Technology Vod","new video":"new video","new episode":"قسمت جدید","new movie":"فیلم جدید","recommended":"پیشنهادی","we recommend":"پیشنهاد ما","offer of the day":"پیشنهاد روز","news":"اخبار","music video":"موزیک ویدیو","CTX_SHOW_HOTKEYS":"Show hotkeys","CTX_DISMISS_NOTIF":"Dismiss notifications","CTX_DISMISS_ALL":"Dismiss all","CTX_SHARE":"اشتراک گزاری","CTX_COPY_SHARE_LINK":"کپی کردن لینک اشتراک گزاری","CTX_COPY_MAGNET_LINK":"Copy magnet link","CTX_COPY_STREAM_LINK":"Copy stream link","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Download this video","CTX_DOWNLOAD_SUBS":"Download subtitles","CTX_VIEW_ON_YOUTUBE":"View on YouTube","CTX_SHOW":"نمایش","CTX_PLAY":"پخش","CTX_PLAY_IN":"Play in","CTX_PLAY_ON":"Play on","CTX_WATCH_ON":"Watch on","CTX_WATCH":"Watch","CTX_WATCHED":"Watched","CTX_WATCH_BEGINNING":"Watch from the beginning","CTX_WATCH_MOBILE":"Watch on a mobile device","CTX_REWIND":"Rewind to beginning","CTX_MARK_WATCHED":"Mark as watched","CTX_MARK_NON_WATCHED":"Mark as non-watched","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"Mark rest as watched","CTX_UNMARK_REST":"Mark rest as non-watched","CTX_RECEIVE_NEW_NOTIF":"Receive new notifications","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"Remove from cache","CTX_REMOVE_CACHE_EP":"Remove episode from cache","CTX_OPEN_CONTAINING":"Open containing folder","CTX_REMOVE":"حذف از کتابخانه","CTX_AVAILABLE_OFFLINE":"Available Offline","CTX_PAUSED":"Paused","CTX_ALWAYS_ON_TOP":"Always on top","CTX_FULLSCREEN":"تمام صفحه","CTX_WRONG_SUBS":"Wrong subtitles?","CTX_REPORT_ISSUES":"Report issue","CTX_COPY":"کپی","CTX_PASTE":"بیست","CTX_CLEAR":"پاکسازی","CTX_CLEAR_RECENT_SEARCHES":"پاکسازی جستجو های اخیر","HELLO_THERE":"Hello There","HOPE_YOU_ENJOY":"We hope you enjoy Stremio and it\'s one of your favourite apps already!","WHO_ARE_WE":"Who are we? We are the team behind it - two guys who work hard every day for the last 3 years to make this product better and better.","SUPPORT_US":"If you enjoy using Stremio, if Stremio is valuable for you - spread the word!","SPREAD_THE_WORD":"Share with your friends now, spread the word about Stremio","MORE_PEOPLE":"The more people use Stremio, the better it will get!","SEND_A_LINK":"Or send a link to our website","TIP_LOCALFILES":"Tip: you can drag & drop local video files into Stremio","ADDON_MY":"افزونه های من","ADDON_COMMUNITY":"Community Addons","ADDON_OFFICIAL":"Official Addons","ADDON_REPOS":"Addon collections","ADDON_SEARCH":"جستجوی افزونه","ADDON_INSTALL":"نصب","ADDON_CONFIGURE":"Configure","ADDON_UNINSTALL":"حذف","ADDON_UPGRADE":"بروزرسانی","ADDON_INSTALLED":"نصب شده","ADDON_INSTALLED_MSG":"افزونه نصب شد!","ADDON_UPGRADED_MSG":"افزونه برزورسانی شد!","ADDON_UNKNOWN":"ناشناس","ADDON_ERR":"خطا در نصب افزونه!","ADDON_DISCONNECTED":"قطع شده","ADDON_APP_MISSING":"the app for this source is not installed. Do you want to install it now?","ADDON_APP_INSTALL":"اکنون نصب کن","ADDON_PAGE":"صفحه افزونه","ADDON_TOP_CONTENT":"Best from this Addon","ADDON_PROVIDES":"This addon will give you:","ADDON_WATCH":"Watch #{types} now!","ADDON_WATCH_FREE":"Watch #{types} for FREE now!","ADDON_ADDON":"افزونه","ADDON_SUPPORTED_TYPES":"Supported types","ADDON_SUPPORTED_CATALOGS":"Supported catalogs","ADDON_PROVIDES_DISCOVER":"More #{types} in Discover","ADDON_PROVIDES_STREAMS":"Watch #{types}","ADDON_PROVIDES_STREAMS_FREE":"Watch #{types} for FREE","ADDON_PROVIDES_SUBTITLES":"Subtitles for #{types}","ADDON_CANTDETECT":"We couldn\'t detect a running Stremio, so we couldn\'t detect what addons you have installed.","ERR_NO_META":"No information found about this ","ERR_GETTING_META":"Error retrieving information about this.","ERR_CANT_PARSE_MAGNET":"Unable to parse magnet","ERR_NO_MAGNET_INFOHASH":"No valid info hash for magnet","ERR_NO_FILE_PATH":"Unable to send request without a path to file","ERR_NO_TORRENT":"No torrent returned","ERR_NO_SUPPORTERD_FILES":"No supported files found","ERR_OPENING_FILES":"Could not open external files","ERR_INVALID_LINK":"لینک نامعتبر است","ERR_REGISTERED_ONLY":"This option is available for registred users only.","ERR_CLIPBOARD":"Can not play from clipboard","ERR_CLIPBOARD_READ":"Can not read the clipboard on this platform","ERR_CLIPBOARD_GENERIC":"No playable URL found in the clipboard. Please copy a URL (e.g. a magnet link) to a video.","BOARD_CONTINUE_WATCHING":"ادامه تماشا","BOARD_EXPLANATION_RECOMMENDATIONS":"Movies picked specially for you.<br />This movie is a sample recommendation.","BOARD_EXPLANATION_EPISODES":"New episodes of your favorite Series come here.<br />Add series you follow to your Library.","BOARD_EXPLANATION_VIDEOS":"New episodes of your favorite Channels come here.<br />Add YouTube channels you follow to your Library.","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE":"Contribute","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"Learn more","WEBSITE_COMPANY":"Company","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Need Help?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"Watch Instantly","WEBSITE_SLOGAN_ALL":"All the Video Content You Enjoy in One Place","WEBSITE_SLOGAN_NEW":"All You Can Watch","WEBSITE_SLOGAN_NEW_NEW":"Freedom to Stream","WEBSITE_WATCH_FROM":"Watch from","WEBSITE_DOWNLOAD":"Download Now","WEBSITE_DOWNLOAD_FOR":"Download Now For","WEBSITE_IS_DESKTOP":"Stremio is a desktop application, open this page on your PC and download it","WEBSITE_DESKTOP_DEMO_VID":"Desktop demo","WEBSITE_PAGE_HOME":"خانه","WEBSITE_PAGE_FEATURES":"امکانات","WEBSITE_PAGE_ADDONS":"افزونه ها","WEBSITE_PAGE_TECH":"تکنولوژی","WEBSITE_PAGE_CREATE_ADDON":"ساخت افزونه","WEBSITE_PAGE_CONTACTS":"مخاطبین","WEBSITE_PAGE_BLOG":"بلاگ","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"فیلم ها","WEBSITE_TYPE_series_PL":"سریال ها","WEBSITE_TYPE_tv":"تلویزیون زنده","WEBSITE_TYPE_channel":"کانال ها","WEBSITE_STREMIO_WHAT_IS":"Stremio is an app that helps you organize and instantly watch your favorite videos, movies, TV series and TV channels.","WEBSITE_FEATURES_WATCH":"Watch Instantly in HD","WEBSITE_FEATURES_WATCH_DETAIL":"Click and play your favourite movies, TV Shows, videos and TV channels.","WEBSITE_FEATURES_SUBS":"Automatic Subtitles","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio automatically picks synced subtitles for your language.","WEBSITE_FEATURES_SUBS_LABEL":"Your move, chief.","WEBSITE_FEATURES_CAST":"Play on TV & mobile devices","WEBSITE_FEATURES_CAST_DETAIL":"Cast to AppleTV, Chromecast, Smart TV (DLNA/UPnP) and mobile devices.","WEBSITE_LIB":"Enjoy Your Personal Library Synced on All Your Devices","WEBSITE_LIB_COLLECT":"Collect from Stremio","WEBSITE_LIB_IMPORT":"Import from Facebook","WEBSITE_LIB_LOCAL":"Add from your local drive","WEBSITE_BOARD":"The Board - Your one-stop place for Notifications and Recommendations","WEBSITE_BOARD_RECOMMEND":"Recommended TV Show","WEBSITE_BOARD_TRENDING":"Trending Movie","WEBSITE_BOARD_NEW":"ویدیو جدید","WEBSITE_BOARD_EPISODE":"قسمت جدید","WEBSITE_BOARD_1":"Looking for something interesting to watch? Get recommendations based on your taste!","WEBSITE_BOARD_2":"Get notified when a new episode of your favourite TV show or YouTube channel is out!","WEBSITE_BOARD_YOUTUBE":"New videos of YouTube channels","WEBSITE_BOARD_EPISODES":"New episodes of series you follow","WEBSITE_ADDONS":"افزونه های محتوا","WEBSITE_TECH_DETAIL":"We love technology, we love mad science!\\nStremio is using the following open source technologies:","WEBSITE_TECH_WCJS":"WebChimera.js allows Stremio to play any video format with good performance.","WEBSITE_TECH_WCJS_EXTRA":"We are core project contributors","WEBSITE_TECH_ELECTRON":"Electron provides an innovative platform to build Stremio with.","WEBSITE_TECH_ELECTRON_EXTRA":"We are project contributors","WEBSITE_TECH_LINVODB":"A database technology that ensures your data is organized and available anywhere you login.","WEBSITE_TECH_LINVODB_EXTRA":"In-house technology","WEBSITE_CREATE_ADDON":"افزونتو بساز","WEBSITE_CREATE_ADDON_DETAIL":"Do you have a service providing video content? We\'ll help you benefit from Stremio\'s features by creating your Addon.","WEBSITE_CREATE_ADDON_BENEFITS":"Benefits of Creating an Addon for Stremio","WEBSITE_P2P_BEAUTY":"The Beauty of Peer-to-Peer Streaming","WEBSITE_P2P_1":"Reliable and affordable full HD / 4K video on demand or live streaming","WEBSITE_P2P_2":"Distribution platform providing great user experience","WEBSITE_P2P_3":"We will create an addon meeting your exact needs","WEBSITE_P2P_CONTACT":"Interested? You are welcome to <a href=\'mailto:office@stremio.com\'>contact us</a>.","WEBSITE_P2P_CONTACT_EXTRA":"We will be happy to help you integrate your content with Stremio!","WEBSITE_P2P":"Once in a while, there comes a technology that changes the name of the game. We invested tons of time and effort in building our Peer-to-Peer (P2P) video streaming engine that provides great performance and versatility to adapt with any use case.\\nContact us for DRM-enabled P2P video on demand or live streaming.","WEBSITE_THOUGHTS":"Thoughts we share:","WEBSITE_SPREAD":"Spread the word about Stremio:","WEBSITE_CONTACT":"Contact us, we\'ll be happy to hear from you!","WEBSITE_OPENSOURCE":"For our open source projects, go to our","WEBSITE_BITCOIN":"حمایت با بیتکوین:","WEBSITE_FAQ":"سوالات متداول","WEBSITE_FAQ_SHORT":"سوالات متداول","WEBSITE_QUESTIONS":"سوالات","WEBSITE_TOS":"شرایط استفاده","WEBSITE_LEGAL":"مجاز","WEBSITE_PAGE_ABOUT":"درباره","WEBSITE_PAGE_BECOME_PARTNER":"Become a partner","WEBSITE_ALL_YOU_CAN_WATCH":"Freedom To Watch\\nEverything You Want.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"What is stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio is a one-stop hub for video content aggregation. Discover, organize and watch video from all kind of sources on any device that you own.","WEBSITE_WHAT_IS_STREMIO_P2":"Movies, TV shows, series, live television or web channels like YouTube and Twitch.tv - you can find all this on Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio is a modern media center that\'s a one-stop solution for your video entertainment. You discover, watch and organize video content from easy to install addons.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Movies, TV shows, live TV or web channels - find all this on Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Enjoy on all your Media devices","WEBSITE_DEVICES_COLLECT":"Collect from Stremio","WEBSITE_DEVICES_IMPORT_FB":"Import from facebook","WEBSITE_DEVICES_LOCAL":"Add from local drive","WEBSITE_JOIN_THE_PARTY_NOW":"Join the party now","WEBSITE_DEVICES_ALL":"Easy to use on all your devices;","WEBSITE_EXTENDABLE_CATALOG":"Infinitelly extendable video catalog;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Great features to organize your media;","WEBSITE_AS_SEEN_ON":"As seen on","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"درباره ما","WEBSITE_LINK_TECHNOLOGY":"تکنولوژی","WEBSITE_LINK_APPS":"برنامه ها","WEBSITE_LINK_DOWNLOADS":"دانلود ها","WEBSITE_MORE":"بیشتر","WEBSITE_LINK_ADDONS":"افزونه ها","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Contribute","WEBSITE_LINK_COMMUNITY":"انجمن","WEBSITE_LINK_BLOG":"بلاگ","WEBSITE_MORE_MORE":"... & بیشتر","WEBSITE_LINK_HELP":"مرکز راهنما","WEBSITE_LINK_CONTACTS":"Business inquiries","WEBSITE_LINK_TOS":"Terms & conditions","WEBSITE_LINK_PRAVACY":"Privacy policy","WEBSITE_SUBSCRIBE":"سابسکرایب","WEBSITE_NEWSLETTER":"Join Our Newsletter for amazing stuff","WEBSITE_PLACEHOLDER_EMAIL":"Your Email","WEBSITE_COMMUNITY":"Community","WEBSITE_LINK_PRAVACY_LEGAL":"Privacy & legal","WEBSITE_WHY":"Why we do it","WEBSITE_WHY_P1":"At Stremio, we come to work every day because we want to solve an important problem for the video-on-demand industry. There’s so much new content published every minute that it’s virtually impossible to find your way around it.","WEBSITE_WHY_P2":"We help people navigate that huge world of video entertainment and discover new content to enjoy. Our apps bring together movies, series, live TV, web channels, and more. We are dedicated to making it incredibly easy for users to find titles and broadcasters that they love.","WEBSITE_WHY_P3":"You can use our service on any device and at any time, making Stremio the only video entertainment hub you’ll ever need.","WEBSITE_TEAM":"TEAM","WEBSITE_TEAM_P":"The Stremio team is small but powerful: between the ten of us, we code in X languages, and share expertise in software development, UI and UX design, marketing and advertising, and business and startups.","WEBSITE_FEATURES":"امکانات","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Discover new content with ease","WEBSITE_FEATURES_DISCOVER_P":"Easily discover new movies, TV shows, series and channels to watch. Browse by category, genre, rating, recency, etc. or simply type a name to find. Stremio makes finding new video content a piece of cake.","WEBSITE_FEATURES_ALL_CONTENT":"All of your video content on one screen","WEBSITE_FEATURES_ALL_CONTENT_P1":"See what movies, series or videos you didn’t finish and continue watching them; get notified for new episodes and releases; and browse through the recommendations you will get based on your viewing habits.","WEBSITE_FEATURES_LIBRARY":"Organize your video library","WEBSITE_FEATURES_LIBRARY_P1":"Add any title to your Stremio library with a single click and find your way around your content, neatly arranged by type, recency, or alphabetical order.","WEBSITE_FEATURES_CALENDAR":"Keep track of everything you watch","WEBSITE_FEATURES_CALENDAR_P1":"Get a calendar visualization of all the movies and series you add to your library. Export your Stremio calendar and sync it so you always know when a new episode or a premier is due.","WEBSITE_FEATURES_BIG_SCREEN":"Enjoy your video content on a bigger screen","WEBSITE_FEATURES_BIG_SCREEN_P1":"Cast whatever you are watching to another device - be it a phone, tablet or a TV with a single click.","WEBSITE_FEATURES_SOURCES":"Watch video from many different sources","WEBSITE_FEATURES_SOURCES_P":"Install official and community addons to enjoy video sourced from many different providers - all in one sleek, easy to use app.","WEBSITE_CREATE_AN_ADDON":"Create an addon","WEBSITE_FEATURES_SYNC":"Sync your library across different devices and resume your playback","WEBSITE_FEATURES_SYNC_P1":"Login with your account across all your devices and enjoy your library, addons, playback and calendar synchronized.","WEBSITE_FEATURES_EXTENDABLE":"Extendable video catalog by addons","WEBSITE_FEATURES_EXTENDABLE_P1":"The Stremio addon catalog provides a number of addons to install and watch a variety of video content from. This includes movies, shows, live TV, sport, news, podcasts, web channels, video games and more.","WEBSITE_FEATURES_AUTO_SUBS":"Automatic subtitles","WEBSITE_FEATURES_AUTO_SUBS_P1":"With our subtitle addons you get automatically selected options for your preferred language.","WEBSITE_FEATURES_CHROMECAST":"Casting to Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Enjoy your video content on a bigger screen or just cast whatever you are watching to another device.","WEBSITE_FEATURES_KEEP_TRACK":"Keep track of your favorite TV shows and Web channels","WEBSITE_FEATURES_KEEP_TRACK_P1":"Get a calendar visualization and notifications for new episodes of your favorite series and web channels.","WEBSITE_FEATURES_POWER_USER":"Power user features","WEBSITE_FEATURES_POWER_USER_P1":"Play in external player","WEBSITE_FEATURES_POWER_USER_P2":"Play from a torrent file or magnet link","WEBSITE_FEATURES_POWER_USER_P3":"Import to your library from Facebook likes or local disk","WEBSITE_ADD_ONS":"افزونه ها","WEBSITE_ADD_ONS_P1":"All of the video content Stremio provides get sourced through an addon system - no content or content provider has been built into the app.","WEBSITE_ADD_ONS_P2":"There are two groups of addons available: official and community addons.","WEBSITE_ADD_ONS_P3":"The official ones are developed and hosted by Stremio, whereas community addons are created by our community members, who also host them.","WEBSITE_ADDONS_OFFICIAL":"Official addons","WEBSITE_ADDONS_WATCHUB":"Stream your favourite movies, series and shows from providers like iTunes, Hulu, Amazon and other UK/US services.","WEBSITE_ADDONS_YOUTUBE":"Watch your favourite YouTube channels ad-free and get notifications for new uploads from the contributors you follow.","WEBSITE_ADDONS_FILMON":"Watch live TV, movies and social television for free. 600 TV channels, 45,000 free movies, documentaries and more.","WEBSITE_ADDONS_OPENSUBTITLES":"Movie and TV subtitles in multiple languages, thousands of translated subtitles uploaded every day.","WEBSITE_ADDONS_COMMUNITY":"Community addons","WEBSITE_ADDONS_FILMON_VOD":"Watch video on demand from Filmon.tv","WEBSITE_ADDONS_TWICH":"Watch live streams from Twitch.tv - a video streaming platform for the e-sports industry.","WEBSITE_ADDONS_VODO":"Watch indie movies absolutely free of charge.","WEBSITE_ADDONS_NETFLIX":"Watch Netflix movies and web series.","WEBSITE_ADDONS_CREATE":"ی افزونه بساز","WEBSITE_ADDONS_CREATE_P1":"If you wish, you can develop your own addon. This way, you can give yourself and our community access to new video content, and reach a new, targeted audience of millions of users around the world.","WEBSITE_ADDONS_START_CREATE":"To get started, visit the Stremio Addon SDK page:","WEBSITE_DOWNLOADS":"دانلود ها","WEBSITE_DOWNLOADS_P1":"For optimal performance, we recommend that you use the latest available version of the Stremio apps. If for some reason, however, you would like to use an older version, you can download it here.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio برای ویندوز","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio for macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio برای لینوکس","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio برای اندروید","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio برای تلویزیون اندروید","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio for iOS (limited version)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"The Stremio platform is open source and you can easily create an addon for content that is currently not sourced.","WEBSITE_CONTRIBUTE_WHY":"Why should you create an addon?","WEBSITE_CONTRIBUTE_WHY_P1":"Reach new audience for your video content","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio’s user base is growing rapidly - within the first year of the launch, Stremio had gained 1 million users around the world, and in the second year of the platform’s existence this number grew to 2.5 million.","WEBSITE_CONTRIBUTE_WHY_P3":"With your addon, you can easily reach this audience and distribute your video content to them.","WEBSITE_CONTRIBUTE_ALL":"Watch your favourite movies, videos, series and channels in one single place.","WEBSITE_CONTRIBUTE_ALL_P1":"You’re a fan of a particular type of content not available on Stremio yet? Create an addon for it and enjoy watching your favourite videos in one of the largest and easiest to use entertainment hubs on the market.","WEBSITE_CONTRIBUTE_ALL_P2":"On top of that, you’ll get the endless gratitude of other like-minded Stremio community members.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetize your addon and earn money with its help","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Once you develop a new addon for Stremio, you can easily monetize it through a number of different ways. If you are considering this, feel free to get in touch with us at ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - we would be happy to consult and advise you about addon monetization options.","WEBSITE_CONTRIBUTE_TRANSLATE":"Become a volunteer translator","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"If you want to enjoy the Stremio apps in different languages, you can join our community of volunteer translators. They help us add versions of the Stremio in many different languages.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Are you eager to get started?","WEBSITE_TRANSALTE_STREMIO":"Translate Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Official communities","WEBSITE_COMMUNITY_OFFICIALS_P1":"Become a part of the growing Stremio community. Follow us on social media and don’t be shy to say hello - we love hearing from our fans! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Unofficial communities","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partners and supporters","WEBSITE_COMMUNITY_GOODIES":"Stremio goodies","WEBSITE_COMMUNITY_WALLPAPERS":"Wallpapers","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"تماس باما","WEBSITE_CONTACT_US_P1":"If you have any questions, comments or suggestions, feel free to get in touch with us through the contact form below.","WEBSITE_CONTACT_US_P2":"Keep in mind that we are located in Bulgaria so there may be a delay in addressing your query due to time zone differences.","WEBSITE_CONTACT_US_SUCCESS":"Your message has been sent. We will get back to you at our earliest convenience.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Please enter a valid email!","WEBSITE_CONTACT_US_Q_RELATED_TO":"What is your question related to?","WEBSITE_CONTACT_US_Q_OS":"What is your Operation System?","WEBSITE_CONTACT_US_PH_EMAIL":"ایمیل شما","WEBSITE_CONTACT_US_PH_MESSAGE":"پیغام","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"ارسال","WEBSITE_CONTACT_US_Q_1":"چطوری نصب کنیم?","WEBSITE_CONTACT_US_Q_2":"چطوری حذف کنیم?","WEBSITE_CONTACT_US_Q_3":"(HTML) How to make lasagna?","WEBSITE_CONTACT_US_Q_4":"افزونه ها","WEBSITE_CONTACT_US_OS_1":"ویندوز","WEBSITE_CONTACT_US_OS_2":"مک","WEBSITE_CONTACT_US_OS_3":"لینوکس","WEBSITE_CONTACT_US_OS_4":"اندروید","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"تکنولوژی","WEBSITE_TECHNOLOGY_P1":"We love technology and mad science. </br> Here is what powers Stremio (it’s all open-source).","WEBSITE_TECHNOLOGY_P_QT":"Cross-platform software development at its best.","WEBSITE_TECHNOLOGY_P_MPV":"A free, open source, and cross-platform media player.","WEBSITE_TECHNOLOGY_P_RN":"React Native lets you build mobile apps using only JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework embedded into application to get multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm is a mobile platform and a replacement for SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js is an open-source, cross-platform, JavaScript runtime environment.","WEBSITE_TECHNOLOGY_P_RUST":"Rust is a multi-paradigm system programming language focused on safety, especially safe concurrency.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribute to the project","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"There are two ways you can contribute to Stremio and help us make the product even better.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"You can donate your valuable language skills by translating the platform...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"or","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... you can employ your coding skills for creating community addons. ","WEBSITE_TRANSLATE_STREMIO":"Translate Stremio","WEBSITE_404_OH_NO":"Uh-oh! The page you’re looking for is not here...","WEBSITE_GO_HOME":"برو خانه","WEBSITE_LINK_OTHER_DOWNLOADS":"Other downloads","WEBSITE_FAQ_ABR":"سوالات متداول","WEBSITE_SUPPORT":"پشتیبانی","WEBSITE_DOWNLOAD_4_0_BETA":"Download Stremio 4 beta Now","WEBSITE_GET_FOR_DESKTOP":"دریافت برای دسکتاپ","WEBSITE_LINK_ADDON_COMPETITION":"Addon competition","WEBSITE_LINK_ART_CONTEST":"Art contest","WEBSITE_MY_ACCOUNT":"اکانت من","WEBSITE_MAINPAGE_FAQ_001_H1":"What is Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio is a modern media center that gives you the freedom to watch everything you want.","WEBSITE_MAINPAGE_FAQ_002_H1":"How does it work?","WEBSITE_MAINPAGE_FAQ_002_P1":"Once you install Stremio on your device and create an account, all you have to do is to visit the addon catalog and install any addon you want, and you\'re good to go!","WEBSITE_MAINPAGE_FAQ_002_P2":"After that, you can go to the Discover or Board sections to start exploring content.","WEBSITE_MAINPAGE_FAQ_003_H1":"What can I watch here?","WEBSITE_MAINPAGE_FAQ_003_P1":"A lot: Movies, TV shows, Web channels, Sport, TV channels, listen to Podcasts and more. Thanks to our addon system, you can access a variety of content.","WEBSITE_MAINPAGE_FAQ_004_H1":"Is Stremio open-source?","WEBSITE_MAINPAGE_FAQ_004_P1":"Yes, you can check the following links: ${1}desktop app${2} and ${3}GitHub organization${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Is Stremio safe?","WEBSITE_MAINPAGE_FAQ_005_P1":"Yes: because it is open-source software, the code is publically auditable and you can review it yourself.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"How about my privacy?","WEBSITE_MAINPAGE_FAQ_006_P1":"We respect users\' privacy and do not collect any personal data besides the essential minimum to create and sync your account.","WEBSITE_MAINPAGE_FAQ_006_P2":"There is also a ${1}Guest mode${2} at signup, which requires no data whatsoever: in this mode, no calls are made to our backend. However, it comes at the expense of useful features, such as being able to sync your library across devices.","WEBSITE_MAINPAGE_FAQ_007_H1":"Can I cast to my TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Yes, we support Chromecast and you can cast both from desktop and mobile apps (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"How many addons does Stremio have?","WEBSITE_MAINPAGE_FAQ_008_P1":"As of late 2019, over 50 - for more information, check our addon catalog.","WEBSITE_MAINPAGE_FAQ_009_H1":"Can Stremio be extended beyond what\'s in the addon catalog?","WEBSITE_MAINPAGE_FAQ_009_P1":"Yes, you should check those: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"What devices does Stremio support?","WEBSITE_MAINPAGE_FAQ_010_P1":"We have desktop apps for Windows, Mac and Linux. For mobile, we support Android and iOS, although keep in mind that the iOS is limited in functionality (does not support most addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"There are many Android-based devices which you can run Stremio on, like NVIDIA Shield and Amazon Fire Stick, but we do not support them officially.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Can you add certain content to Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Sorry, we provide no content ourselves, but the more Stremio addons you have installed, the more content you will be able to find.","WEBSITE_MAINPAGE_FAQ_012_H1":"Can Stremio play magnet links?","WEBSITE_MAINPAGE_FAQ_012_P1":"Yes, and it can also play normal HTTP links and torrent files (drag and drop).","WEBSITE_MAINPAGE_FAQ_013_H1":"Can I download a video and watch offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Available offline is an upcoming feature, but if you allow Stremio to cache on your device (from the settings panel) you can watch the videos later without a connection.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nothing works, help me!","WEBSITE_MAINPAGE_FAQ_014_P1":"Are you sure you have installed addons? If yes, check with our ${1}help center${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"How does Stremio sustain it\'s development operations?","WEBSITE_MAINPAGE_FAQ_015_P1":"We run non-intrusive ads occassionally, but we\'re considering moving to a donation model.","WEBSITE_MAINPAGE_FAQ_015_P2":"For more questions, go to our ${1}help center${2}.","HELP_LEARN_MORE":"Help us learn more about you.","LIFESTYLE":"سبک زندگی","SPORTS":"ورزش","FOOD_HEALTH":"سلامتی و غذا","BEAUTY_FASHION":"مد وزیبایی","NEWS":"اخبار","GAMING":"گیمینگ","SCIENCE_EDUCATION":"Science & education","MUSIC":"موزیک","TRAVEL":"سفر","LATE_NIGHT":"Late Night","REALITY":"Reality","COMEDY":"کمدی","DIY":"How to DIY","TECH":"تکنولوژی","CINEMA":"سینما","CONTINUE":"ادامه","SLOW_LOADING":"SLOW LOADING?","I_GIVE_UP":"I GIVE UP","LEARN_MORE":"Learn more","POOR_SOURCE":"This source is poorly available or your internet connection is not fast enough","PICK_CATEGORIES_ERR":"You have to pick at least 3 categories","ADJUST_TIMING":"Adjust timing with ","ADJUST_SIZE":"Adjust size with ","SEARCH_ANYTHING":"You Can Search Anything...","ALL_CATEGORIES":"همه","SEARCH_CATEGORIES":"Movies, Series, YouTube & TV","SEARCH_PERSONS":"Actors, Directors & Writers","SEARCH_PROTOCOLS":"HTTP & Magnet Links","SEARCH_TYPES":"IMDB / TVDB links","WATCHED":"مشاده شده","SHOW_LESS":"نمایش کمتر","LAST_SEARCHES":"Last searches","CLEAR_HISTORY":"Clear history","CHOOSE_SOME":"CHOOSE SOME OF THIS:","NO_WEB_REMOTE":"Web Remote could not be loaded","STREMIO_OFFLINE":"Stremio is offline","STREMIO_EXPENSIVE_CONNECTION":"We\'ve detected that you are using a mobile data connection, do you want to continue?","USE_DATA":"Use data","WARNING":"هشدار","MORE_INFO":"اطلاعات بیشتر ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"درحال بارگذاری ...","STREMIO_TV_BACK_TO_LANGUAGES":"Back to languages","STREMIO_TV_REMOTE":"Remote","STREMIO_TV_GO_TO":"برو به:","STREMIO_TV_OR_SCAN":"or scan:","STREMIO_TV_ADDON_INSTRUCTIONS":"Please follow the instructions in order to install your preferred addons.","STREMIO_TV_LIVE_TV":"Live TV","STREMIO_TV_RESUME_WATCHING":"Resume Watching","STREMIO_TV_LOADING_BACKGROUND":"Loading Background","STREMIO_TV_CHECKING_AUTHENTICATION":"Checking Authentication","STREMIO_TV_LOADING_BOARD":"Loading Board","STREMIO_TV_LOGIN_HEADER_LINE_1":"We want our users to have the best possible personalized experience with our software.","STREMIO_TV_LOGIN_HEADER_LINE_2":"It is for this reason that we kindly ask you to make and/or login to your account.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Thank you for understanding,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"The Stremio Team","STREMIO_TV_REMOTE_INSTRUCTIONS":"In order to use the Web Remote with your Smartphone / Tablet / Desktop:","STREMIO_TV_WIFI_SETUP":"Wi-Fi Setup","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle did not detect a internet connection.","STREMIO_TV_WIFI_DETAILS_1":"Connect to:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"استفاده از رمزعبور:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Open a web browser with the link:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Default","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"By Last Watched","STREMIO_TV_LIBRARY_SORT_NAME":"By Name","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"By Times Watched","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Season ${1}","STREMIO_TV_STREAMS_LOADING":"Loaded ${1} / ${2} addons...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} addon is still loading...","STREMIO_TV_PLAYER_SETTINGS":"Player settings","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Subtitles delay","STREMIO_TV_PLAYER_AUDIO_DELAY":"Audio delay","STREMIO_TV_PLAYER_VIDEO_SCALING":"Video scaling","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Unsupported stream source","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Failed opening external link","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Not adjustable in audio passthrough mode","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Play with ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Play with libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Switching to libVLC player due to a playback error","STREMIO_TV_ADDONS_TITLE":"Use Stremio on your Phone or PC to install or configure addons and press \\"Sync Addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Note: make sure you are using the same Stremio account","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sync Addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons successfully synchronized","STREMIO_TV_ADDONS_SYNC_FAILED":"Failed to synchronize addons","STREMIO_TV_META_LINK_FAILED":"Failed opening meta link","STREMIO_TV_CATALOG_LOADING":"Catalog still loading...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Interface language updated","STREMIO_TV_SETTINGS_THEME_UPDATED":"Theme updated","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Default Player","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"External Player","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferred Language","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Secondary Preferred Language","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possible playback issues on some devices","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Some video formats might not work","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"No caching","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Default","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Soft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Fast","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Fast","STREMIO_TV_SETTINGS_SERVER_URL":"Streaming server url","STREMIO_TV_SETTINGS_SERVER_VERSION":"Server version","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Unknown","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio version","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Edit server url","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Enter a streaming server url","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Show statistics while loading","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"To read Stremio\'s Privacy Policy, visit:","STREMIO_TV_SETTINGS_TOS_TEXT":"To read Stremio\'s Terms and Conditions, visit:","STREMIO_TV_NAV_SEARCH":"جستجو","STREMIO_TV_NAV_HOME":"خانه","STREMIO_TV_NAV_DISCOVER":"Discover","STREMIO_TV_NAV_LIBRARY":"کتابخانه","STREMIO_TV_NAV_MOVIES":"فیلم ها","STREMIO_TV_NAV_SERIES":"سریال ها","STREMIO_TV_NAV_CHANNELS":"کانال ها","STREMIO_TV_NAV_TV":"Live TV","STREMIO_TV_NAV_SETTINGS":"تنظیمات","STREMIO_TV_NAV_ADDONS":"افزونه ها","STREMIO_TV_LOGIN_TITLE":"Link Account","STREMIO_TV_LOGIN_EXPIRES_IN":"Expires in","STREMIO_TV_LOGIN_STEP_ONE":"Scan QR Code above or go to","STREMIO_TV_LOGIN_STEP_TWO":"Log in to your Stremio account","STREMIO_TV_LOGIN_NEW_LINK":"Request a new link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Login code refreshed","STREMIO_TV_SEARCH_PLACEHOLDER":"Type something","STREMIO_TV_SEARCH_NO_ADDONS":"No addons were requested for catalogs!","STREMIO_TV_SEARCH_BUTTON":"جستجو","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Search History","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"You can search for Titles, Actors, Channels and more...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Clear Search History","STREMIO_TV_FILTERS_DESCRIPTION":"Choose from one of the filters below","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"فیلترها","SETTINGS":"تنظیمات","ACCOUNT":"حساب","LOGOUT":"خروج","THEMES":"تم ها","PLAYBACK":"Playback","PLAYBACK_SPEED":"Playback Speed","AUDIO_TRACKS":"Audio Tracks","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"ویدیو ها","SERVER":"سرور","LINKS":"لینک ها","ABOUT":"درباره","INTERFACE":"رابط","ANIMATIONS":"انیمیشن ها","STATUS":"وضعیت","LANGUAGE":"زبان","SIZE":"سایز","DELAY":"تاخیر","BOLD":"Bold","OPACITY":"Opacity","TEXT_COLOR":"Text Color","OUTLINE_COLOR":"Outline Color","BACKGROUND_COLOR":"Background Color","BACKGROUND_BLUR":"Background Blur","SEEK_TIME_DURATION":"Seek Time Duration","AUTO_PLAY":"Auto-Play Next Episode","PLAY_NOW":"الان پخش کن","MARK_AS_WATCHED":"علامت گذاری به عنوان مشاهده شده","MARK_AS_UNWATCHED":"علامت گذاری به عنوان مشاهده نشده","REWIND_TO_BEGINNING":"برگرد به آغاز","CONTINUE_WATCHING":"دیدن را ادامه دهید","ALL":"تمام","SECONDS":"ثانیه ها","ON":"روشن","OFF":"خاموش","RELOAD":"بارگذاری","EDIT_URL":"تغییر آدرس","NONE":"هیچ","EMBEDDED":"Embedded","REMOTE_SWITCH_DEVICES":"تغییر دستگاه ها","REMOTE_VIDEOS":"ویدیو ها","REMOTE_ADJUST_TIMING":"Adjust timing","REMOTE_ADJUST_SIZE":"Adjust size","REMOTE_COULD_NOT_BE_LOADED":"Web Remote could not be loaded","REMOTE_RETRY":"تلاش مجدد","TORRENT_PROFILE_DEFAULT":"پیشفرض","TORRENT_PROFILE_SOFT":"ملایم","TORRENT_PROFILE_FAST":"سریع","TORRENT_PROFILE_ULTRA_FAST":"خیلی سریع","FAQ_001_H1":"What is Stremio?","FAQ_001_P1":"Stremio is a media center software designed for video entertainment with ease of use in mind. Stremio allows you to organize &amp; watch your own collection of movies, series, channels and live TV.","FAQ_001_P2":"Stremio collect the content it shows you from your local disk and our addons system.","FAQ_001_P3":"It will also notify you when new episodes/videos/movies you\'re interested in come out, and provide movie recommendations for you.","FAQ_02_H1":"How does Stremio compare to Kodi and Plex?","FAQ_02_P1":"We are inspired by those two pieces of software. But we have different goals - Stremio is specifically targeted towards entertainment video, and strives to become the mainstream solution for that by being very easy to use.","FAQ_02_P2":"Stremio will never be as customizable and feature-rich as Kodi and Plex, but it is significantly easier to use. Just ${1} get it and see ${2} :)","FAQ_03_H1":"How does Stremio compare to Netflix?","FAQ_03_P1":"Again, Netflix is one of our inspirations. We strive to achieve the user experience of Netflix, plus a lot of added goodies. But most importantly, we\'re giving you the freedom to manage your own library and add new content sources with our addon system.","FAQ_03_P2":"That makes Stremio infinitely extendable, so when you use Stremio, you\'re never limited to the content Netflix decides to license. For example, through Stremio you can watch content from ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} and even ${9}Netflix${10} itself!","FAQ_04_H1":"How does Stremio compare to Flipboard?","FAQ_04_P1":"We don’t get that question that often, except when talking to start-up people :)","FAQ_04_P2":"Stremio is by design a content aggregator, which essentially makes it Flipboard for video. This is very apparent in our Board section, which gives you catalogues and new episode/new video notifications for what you follow, just like Flipboard.","FAQ_05_H1":"How does Stremio compare to Popcorn Time?","FAQ_05_P1":"Stremio and Popcorn Time are similar in user interface, because there aren’t many ways to do video entertainment catalogues right :)","FAQ_05_P2":"But while Popcorn Time is focused on streaming torrents from specific sources, Stremio is unrestricted and is merely a content aggregator - it’s not locked into a specific content source.","FAQ_05_P3":"Furthermore, we do not provide any torrent addons by default, so Stremio does not cover the Popcorn Time use-case with official functionality.","FAQ_05_P4":"Another notable difference is that Popcorn Time is completely open source, while Stremio is ${1} partially open source${2}.","FAQ_06_H1":"Will you add this movie/series?","FAQ_06_P1":"No, sorry :(","FAQ_06_P2":"As is mentioned in most of the other questions, Stremio does not provide any content by itself - everything is added through the addons system. In case you have a content request, you can use the “Report” button in the Player, which will send an email to the author of the addon you’re currently using.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Will you create addon for X?","FAQ_08_P1":"It\'s entirely possible.","FAQ_08_P2":"If you have an idea for an addon, drop us a line at ${1}office@stremio.com${2}, but please make sure your addon idea will not infringe on any copyrights or terms of use.","FAQ_08_P3":"At the moment, the next things on our roadmap are addons for FandangoNOW, Filmon.tv video on demand and Crunchyroll.","FAQ_09_H1":"Does Stremio use BitTorrent?","FAQ_09_P1":"Yes, Stremio supports BitTorrent as a streaming protocol. You can use that either with a torrent addon, or by drag-and-dropping a .torrent file into Stremio, or by pasting a magnet link into the Search Bar.","FAQ_09_P2":"Please note that the only official addon using BitTorrent is ${1}Vodo${2}, which provides indie content, all permitted to be distributed with BitTorrent.","FAQ_09_P3":"We do not support use of any third-party addons which may enable copyright infringement.","FAQ_10_H1":"What can I watch in Stremio with the official addons?","FAQ_10_P1":"By default, you can watch Filmon.tv, YouTube and Vodo content within Stremio itself, with it’s embedded player. Additionally, we have an addon for Twitch.tv and a few others.","FAQ_10_P2":"This combined provides a selection of:","FAQ_10_L1":"Popular TV channels, provided by Filmon.tv - for example E4, BBC, Bollyworld TV","FAQ_10_L2":"Everything from YouTube - for example BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indie movies with Vodo","FAQ_10_L4":"Online gaming broadcasts with Twitch.tv","FAQ_10_P3":"Additionally, there are many content sources provided with Guidebox and the Netflix addons, which <b>do not</b> play entirely inside Stremio, but would redirect to the given service. For example, the Guidebox addon would give you a selection of movies you can stream in the US for free, from services like TubiTV and Crackle.","FAQ_11_H1":"Stremio won\'t install, what should I do?","FAQ_11_P1":"If you\'re on Windows, try ${1}this alternative installer${2}.","FAQ_11_P2":"If you\'re on Mac OS X, please be aware that we don\'t support anything older than OS X Mavericks (10.9).","FAQ_11_P3":"If you\'re on Linux, be aware that we only support 64 bit (x64) Linux at the moment.","FAQ_11_P4":"If you still can\'t resolve your problem, please write us at our ${1}Facebook group${2}.","FAQ_12_H1":"Why does my anti-virus complain? Is Stremio safe?","FAQ_12_P1":"We assure you Stremio is ${1}100% clean${2}.","FAQ_12_P2":"Your antivirus is complaining because we include advertising in our installer, which some anti-virus programs recognize as ad-ware.","FAQ_12_P3":"If you\'re still unsure, you can try our ${1}alternative installer${2}.","FAQ_13_H1":"How can I make an addon?","FAQ_13_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_13_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_13_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_14_H1":"How are addons published?","FAQ_14_P1":"When you create an addon and host, and put a <b>endpoint</b> field in your manifest, which points to a working addon address, the addon will automatically publish itself to our ${1}Addon catalogue${2}.","FAQ_14_P2":"This happens because the server part of the stremio-addons module automatically makes a call to our API to announce the addon. When our API validates your <b>endpoint</b> as a valid addon, it will start showing in the catalogue.","FAQ_15_H1":"Can I run Stremio in my browser?","FAQ_15_P1":"Not at the moment, but this is coming!","FAQ_15_P2":"If you\'re curious to see an Alpha, you can see it here: ${1}alpha4.strem.io${2}. Keep in mind streaming is disabled on this alpha. We support Chrome, Firefox, Opera and Edge.","FAQ_16_H1":"Casting to TV doesn\'t work / subtitles don\'t work","FAQ_16_P1":"Casting to TV uses the DLNA technology which is very inconsistent between different TV brands and models. For that reason, we do not have the ability to test it in every case, so it\'s far from perfect. Despite this, we\'re working on improving it constantly but we cannot give you a time estimate on when DLNA will start working properly with your TV.","FAQ_16_P2":"If you don\'t even see your TV in the casting menu, please try disabling your network connection and re-enabling it (on Windows, right click the Network and use Enable/Disable), as well as restarting your router, TV and PC.","FAQ_16_P3":"If you are still encountering issues, you can help us by sending your TV brand and model information at ${1}office@stremio.com${2}.","FAQ_16_P4":"In the meantime, we recommend Chromecast, which we support very well, or simply plugging in your TV to your PC with an HDMI cable.","FAQ_17_H1":"Stremio freezes and/or crashes, what can I do?","FAQ_17_P1":"First of all, if you\'re using Windows 7 with AVG anti-virus: we have a problem with that combination. The problem is in AVG itself, and there\'s no reasonable way to resolve it on our end. Unfortunately, exceptions or disabling the anti-virus won\'t work. The only solution is to replace AVG with something else.","FAQ_17_P2":"If that\'s not the issue, but you\'re still using Windows, please update to the latest service pack and update/re-install your GPU drivers, then try again.","FAQ_17_P3":"If you\'re problem is still not resolved, or you\'re using a Mac or Linux, please write us reporting the exact details of the problem at ${1}our Facebook group${2}.","FAQ_18_H1":"How can I make an addon?","FAQ_18_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_18_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_18_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_19_H1":"Why is Stremio taking disk space?","FAQ_19_P1":"Stremio has a <b>local cache</b> to temporarily keep the video files you stream.","FAQ_19_P2":"This has two benefits: first, it allows Stremio to pre-buffer the video ahead so as to ensure smoother streaming. Second, it keeps the videos in the local cache so you can continue watching them offline.","FAQ_19_P3":"How much Stremio keeps depends on the <b>Cache</b> setting in the Settings panel. Stremio may keep up to the set amount (e.g. 2GB) on your disk, unless the currently streamed video is larger than that, in which case it has to allocate enough storage to keep it until you\'re streaming it.","FAQ_20_H1":"Where is the cache folder?","FAQ_20_P1":"On Windows, it\'s stremio-cache in the drive you picked in Settings (e.g. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"On MacOS, it\'s \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"On Linux, it\'s \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"I get \\"Streaming server is not found\\" error, what can I do?","FAQ_21_P1":"If you get this error, it means one of few things:","FAQ_21_P2":"1) You are trying to use an addon backed by YouTube/BitTorrent source, through our ${1}web version${2}. In this case, you should install our desktop version from ${3}our website${4}.","FAQ_21_P3":"2) Something is wrong with your Stremio installation. In this case, try re-installing our latest desktop version from ${1}the website${2}. If this does not help, try disabling anti-virus programs and firewalls, restarting your PC and trying again. If this does not work too, please write us at our ${3}our Facebook group${4}.","FAQ_22_H1":"I cannot see/use most addons on iOS","FAQ_22_P1":"Because of restrictions in the Apple App Store terms and conditions, we have restricted the iOS application only to a particular set of addons.","FAQ_22_P2":"But rest assured - there will be more addons for iOS in the future, and we may also add an integration that will allow you to use all Stremio addons thanks to connecting the iOS app to the Stremio Streaming Server."}')},52613:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Elokuva","TYPE_series":"Sarja","TYPE_tv":"TV-kanava","TYPE_channel":"Kanava","TYPE_other":"Muu","TYPE_movie_PL":"Elokuvat","TYPE_series_PL":"Sarjat","TYPE_tv_PL":"TV-kanavat","TYPE_channel_PL":"Kanavat","TYPE_other_PL":"Muut","TYPE_ALL":"Kaikki","TYPE":"Tyyppi","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"Video","BACK":"Takaisin","MORE":"Lisää","DONE":"Valmis","COPY":"Kopioi","SUCCESS":"Onnistui","ERROR":"Virhe","SETTINGS_CASTING_MODE_PICKER":"Heijastustila","CASTING_MODE_HLSV2":"Oletus","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Ei muunnosta","Discover":"Tutustu","Board":"Lauta","Library":"Kirjasto","My Library":"Oma kirjasto","Calendar":"Kalenteri","NOTIFICATION_ONLINE":"Olet nyt verkossa","NOTIFICATION_OFFLINE":"Olet tällä hetkellä offline-tilassa","INTERNET_CONNECTION":"Verkkoyhteys","STORAGE_FULL_TITLE":"Varoitus: Tallennustila täynnä!","STORAGE_FULL_TEXT":"Stremio ei pysty tallentamaan asetuksiasi, mieltymyksiäsi tai kirjautumistietojasi. Harkitse Stremion uudelleenkäynnistämistä tai uudelleenasentamista.","SEARCH":"haku","SEARCH_NO_RESULTS":"Ei tuloksia","SEARCH_EXPLANATION_CONTENT":"Etsi elokuvia, sarjoja, YouTube- ja TV-kanavia","SEARCH_EXPLANATION_PEOPLE":"Etsi näyttelijöitä, ohjaajia ja käsikirjoittajia","SEARCH_PASTE_LINKS":"Liitä HTTP- ja Magnet-linkkejä","SEARCH_OR_PASTE_LINK":"Etsi tai liitä linkki","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"Lisää kirjastoon","REMOVE_FROM_LIB":"Poista kirjastosta","ADDED_TO_LIB":"Lisätty kirjastoon","REMOVED_FROM_LIB":"Poistettu kirjastosta","TRAILER":"Traileri","WATCH_TRAILER":"Katso traileri","WATCH_NOW":"Katso nyt","SHOW":"Näytä","SHOW_MOVIE":"Näytä elokuva","WATCH_RANDOM":"Katso satunnainen","IMDB_RATING":"IMDb-arvosana","YEAR":"Vuosi","DIRECTOR":"Ohjaaja","WRITER":"Käsikirjoittaja","LEAD_ACTORS":"Pääosissa","CAST":"Näyttelijät","CREW":"Työryhmä","SHOW_MORE_CAST":"Näytä lisää »","AIRED":"Esitetty","SEASONS":"Kaudet","GENRE":"Laji","GENRE_ALL":"Kaikki lajit","CATALOG":"Katalogi","SUMMARY":"Tiivistelmä","SHOW_MORE":"Näytä lisää","SIMILAR":"Samanlaisia","UPCOMING":"Tulossa","ENDED":"Päättyi","DURATION":"Kesto","FEATURED":"Esittelyssä","METADATA":"Metatiedot","CATEGORY":"kategoria","LINKS_GENRES":"Lajit","LINKS_CAST":"Näyttelijät","LINKS_DIRECTORS":"Ohjaajat","SEARCH_VIDEOS":"etsi videoita","SEARCH_PLACEHOLDER":"etsi tai liitä URL","ADDON":"lisäosa","ADDONS":"Lisäosat","OFFICIAL":"virallinen","ADDONS_OFFICIAL":"Viralliset Stremio-lisäosat","ADDONS_POPULAR":"Suosittuja alueellasi","ADDON_FREE":"ilmainen","ADDON_PEERED":"jaettu","ADDON_SUBSCRIPTION":"tilaus","ADDON_STREAM_GEORESTRICTED":"ei saatavilla alueellasi","ADDON_STREAM_OFFLINECACHE":"Offline-välimuisti","ADDON_STREAM_LOCALFILE":"Paikallinen tiedosto","SHARE_ADDON":"Jaa lisäosa","AVAILABLE_STREAMS":"Saatavilla olevat streamit","NO_STREAM":"Streamia ei löytynyt","ALL_ADDONS":"Kaikki","INSTALL_MORE_ADDONS":"Asenna lisää lisäosia saadaksesi lisää streamejä","STREAM_NOT_SUPPORTED":"Valittu stream ei ole tuettu tällä alustalla.","ADDON_CATALOGUE":"Näytä kaikki lisäosat »","ADDON_CATALOGUE_MORE":"Asenna lisäosia","REPO_ADDED":"Kokoelma lisätty","ADDON_REPO_EXIST_ERR":"Tämä lisäosakokoelma on jo olemassa","ADDON_REPO_ERR":"Virhe lisäosakokoelman lisäämisessä","ADDON_ADD_ERR":"Virhe lisäosan lisäämisessä","ERR_ADDON_PROTECTED":"Lisäosaa ei voi poistaa, se on suojattu","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Jotain meni pieleen - todennus epäonnistui","ERR_NOT_COLLECTION_URL":"Ei kokoelman URL-osoite","ERR_NOT_ADDON_URL":"Ei kelvollinen lisäosan URL-osoite","ERR_DETECTFROMURL":"Lisäosaa/kokoelmaa ei löydy tästä URL-osoitteesta","ADDON_DUPLICATE_WARNING":"Varoitus: duplikaattilisäosa","ADDON_COLLECTION_SET_FAILED":"Asennettujen lisäosien synkronointi tilillesi epäonnistui","SETTINGS_DATA_EXPORT":"Vie käyttäjätiedot","ADDON_PULL_FAILED":"Asennettujen lisäosien synkronointi tililtäsi epäonnistui","REFRESH_ON_CLICK":"Klikkaa yrittääksesi uudelleen","STILL_IN_THEATER":"Elokuva yhä teattereissa","WATCH_IN_CINEMA":"Katso se paikallisessa elokuvateatterissa","IN_THEATER":"Teatterissa","GET_TICKETS":"Osta liput","UPCOMING_EPISODE":"Tuleva jakso","UPCOMING_EPISODE_MESSAGE":"Tämä jakso esitetään","MISSING_DATE_EPISODE":"Puuttuva jakson päivämäärä","MISSING_DATE_EPISODE_MESSAGE":"Tämä jakso ei ehkä ole vielä esitetty","CHANNEL_NOT_SCRAPED":"Tätä kanavaa ei ole vielä haettu.<br>Palaa takaisin muutaman minuutin kuluttua.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Lisää se kirjastoosi, niin saat ilmoituksen, kun se on saatavilla.","GET_NOTIFIED_WHEN_AVAILABLE":"Saat ilmoituksen, kun se on saatavilla.","WARNING_STREAMING_SERVER":"Varoitus: paikallista stream-palvelinta ei löytynyt. Paikallisista tiedostoista, YouTube- ja BitTorrent-streamauksesta ei ole saatavilla.","WARNING_STREAMING_SERVER_DISMISS":"Hylkää","WARNING_STREAMING_SERVER_LATER":"Myöhemmin","DECODER_WARNING":"Varoitus: tämä video ei ehkä ole tuettu laitteistollasi. Huomioi, että toisto voi olla hidasta.","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"Oops, soitinvirhe","PLAYER_ERROR_LOOKSLIKE":"Näyttää siltä,","PLAYER_ORIENTATION":"Soittimen suuntaus","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Lukittu","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensori","PLAYER_ORIENTATION_LANDSCAPE":"Soittimen suuntaus lukittu vaakasuoraan","PLAYER_ORIENTATION_SENSOR":"Soittimen suuntaus automaattinen (sensori)","PLAYER_PLAYBACK_SPEED":"Toistonopeus","PLAYER_PLAYBACK_ERROR":"Toistovirhe, yritä uudelleen","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Tuntematon virhe","PLAYER_PLAYBACK_ERROR_DEFAULT":"Valitettavasti tätä videota ei voi toistaa {{productName}}:lla.","PLAYER_SUBTITLES_LANGUAGES":"Tekstityskielet","PLAYER_SUBTITLES_VARIANTS":"Tekstitysversiot","PLAYER_SUBTITLES_SETTINGS":"Tekstitysasetukset","PLAYER_SUBTITLES_DISABLED":"Tekstitykset pois päältä","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Pystysuuntainen sijainti","PLAYER_SUBTITLES_LOADED":"Tekstitykset ladattu","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Upotetut tekstitykset ladattu","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Yksinoikeudella olevat tekstitykset ladattu","PLAYER_SUBTITLES_LOADED_ORIGIN":"Tekstitykset lähteestä {{origin}} ladattu","PLAYER_PLAY":"Toista","PLAYER_PAUSE":"Tauko","PLAYER_NEXT_VIDEO":"Seuraava video","PLAYER_MUTE":"Mykistä","PLAYER_UNMUTE":"Poista mykistys","PLAYER_OPEN_IN_EXTERNAL":"Avaa ulkoisessa soittimessa","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Toista laitteessa {{device}}","PLAYER_LIVE":"Suora lähetys","PLAYER_NEXT_VIDEO_TITLE":"Seuraavaksi","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Hylkää","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Katso nyt","PLAYER_COPY_STREAM_SUCCESS":"Virtalinkki kopioitu leikepöydälle","PLAYER_COPY_STREAM_ERROR":"Virhe kopioitaessa virtalinkkiä","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","STREAMING_FROM":"suoratoistetaan","CASTING_TO":"Heijastetaan","NETWORK_STATUS":"Verkon tila","STREAM_SPEED":"Suoratoistonopeus:","STREAM_BUFFERED":"Puskuroitu:","PEERS_INFO":"Käyttäjätiedot","PEERS_ACTIVE":"Aktiiviset:","PEERS_CONNECTED":"Yhdistetyt:","PEERS_WAITING":"Odottavat:","TRANSCODING_WARNING":"Varoitus: videon transkoodaus.","STREAM_LOADING":"ladataan...","PLAYING_LOCAL":"toistetaan paikallisesta tiedostosta","PLAYING_CACHE":"toistetaan välimuistista","WRONG_SUBS":"Väärät tekstitykset?","ERR_SUBS_LOADING_TITLE":"Virhe ladattaessa tekstityksiä","ERR_SUBS_LOADING":"Tekstitysten lataaminen epäonnistui: tämä voi johtua käyttämästäsi lisäosasta tai verkkoyhteydestäsi","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Seuraavat tekstityslisäosat epäonnistuivat","ERR_CASTING_UPDATE_TITLE":"Ei voitu päivittää heijastuslaitteen tietoja: suoratoistopalvelin saattaa olla poissa käytöstä","CHOOSE_DEVICE":"Valitse laite, jolla katsot","NO_CAST_DEVICES":"Ei heijastuslaitteita saatavilla.","NO_SETTINGS":"Ei asetuksia saatavilla.","PHONE_TABLET":"Puhelin / Tabletti","SUBTITLES":"Tekstitykset","SUBTITLES_CHANGE":"Vaihda tekstityksiä kielelle ","SUBTITLES_CHANGE_NONE":"Tälle kielelle ei ole muita tekstityksiä, pahoittelut.","SUBTITLES_CHANGE_ACIVE":"Tällä hetkellä tekstitykset &#35;{{subtitlesDialog.activeIdx + 1}} ovat käytössä. Klikkaa \\"Jatka\\" aktivoidaksesi tekstitykset &#35;{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Tai vaihtoehtoisesti,","SUBTITLES_ADJUST_DELAY":"Säädä tekstitysten viivettä:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Tai käytä näppäimiä <span>G</span> / <span>H</span> säätääksesi viivettä toiston aikana.","SUBTITLES_ADJUST_DELAY_TIP":"Vinkki: voit käyttää näppäimiä <span>G</span> / <span>H</span> säätääksesi viivettä toiston aikana.","SUBTITLES_DELAY":"Tekstitysten viive:","SUBTITLES_LOADING":"Ladataan tekstityksiä...","SUBTITLES_UNAVAILABLE":"Ei saatavilla olevia ulkoisia tekstityksiä","SUBTITLES_DISABLED":"Poissa käytöstä","EXTERNAL_PLAYER_DISABLED":"Poissa käytöstä","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Salli valitseminen","EXTERNAL_PLAYER_HINT":"Vinkki: asetuksista voi sallia aina avaamisen ulkoisessa soittimessa","DONT_SHOW_AGAIN":"Älä näytä uudelleen","SERVICE_INSTALL":"Asenna","AUDIO":"Ääni","DEFAULT_LANGUAGE":"Oletuskieli","DEFAULT_SECONDARY_LANGUAGE":"Oletus toissijainen kieli","SEASON":"Kausi","EPISODE":"Jakso","EPISODE_ABBREVIATION":"Jk","SPECIAL":"Erikoisjakso","SORT":"lajittele","SORT_BY":"Lajittele","FILTER":"suodata","SORT_TRENDING":"trendaavat","SORT_RECENT":"uusimmat","SORT_ALPHABET":"a-ö","SORT_ALPHABET_REVERSE":"ö-a","SORT_RATING":"arvostelu","SORT_WATCHED":"katsotuimmat","SORT_YEAR":"vuosi","SELECT_TYPE":"Valitse tyyppi","SELECT_SORT":"Valitse lajittelu","SELECT_CATALOG":"Valitse katalogi","SELECT_GENRE":"Valitse genre","SORT_LASTWATCHED":"Viimeksi katsotun mukaan","SORT_NAME":"Nimen mukaan","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"Katselukertojen mukaan","SORT_NOTWATCHED":"not watched","New for You":"Uutta sinulle","New Episodes":"Uudet jaksot","New Videos":"Uudet videot","Recommendations":"Suositukset","LIBRARY_RESUME":"Jatka","LIBRARY_PLAY":"Toista","LIBRARY_DETAILS":"Tiedot","LIBRARY_RESUME_DISMISS":"Hylkää","LIBRARY_CLEAR_PROGRESS":"Tyhjennä edistyminen","LIBRARY_REMOVE":"Poista","LIBRARY_NOT_LOGGED_IN":"Kirjasto on käytettävissä vain kirjautuneille käyttäjille","CALENDAR_NOT_LOGGED_IN":"Kalenteri on käytettävissä vain kirjautuneille käyttäjille","NOT_LOGGED_IN_CLOUD":"Pääsy suosikkielokuviisi ja TV-ohjelmiisi milloin tahansa, missä tahansa","NOT_LOGGED_IN_RECOMMENDATIONS":"Suositukset katseluhistoriasi perusteella","NOT_LOGGED_IN_NOTIFICATIONS":"Älä missaa yhtään jaksoa","NOT_LOGGED_IN_CALENDAR":"Aikatauluta henkilökohtainen katselukalenterisi","DISCOVER_FEATURED":"Esittelyssä","DISCOVER_TOP":"Parhaat","DISCOVER_OSCAR":"Oscar-voittajat","DISCOVER_WARNING_TITLE":"Hups!","DISCOVER_EMPTY_CATALOG":"Tämä lisäosa palautti tyhjän sisällön.","DISCOVER_ADULT_WARNING":"Sisältö on näkyvissä vain aikuisille. Oletko yli 18-vuotias?","DISCOVER_NOADDON_WARNING":"Varoitus: tälle tyypille ei ole aktiivista Stremio-lisäosaa. Näytetään tallennetut kohteet, mikään täällä ei päivity.","DISCOVER_LOAD_ERR":"Sisältöä ei ladattu, virhe tapahtui.","DISCOVER_ADDON_UNINSTALLED":"Tämä sisältö ei ole enää saatavilla, olet ehkä poistanut lisäosan.","UNINSTALL_THIS_ADDON":"Poista tämä lisäosa","ERR_ADDON_NOT_INSTALLED":"Tätä lisäosaa ei ole asennettu. Asennetaanko nyt?","DETAIL_RECEIVE_NOTIF_SERIES":"Vastaanota ilmoituksia uusista jaksoista","DETAIL_RECEIVE_NOTIF_VIDEOS":"Vastaanota ilmoituksia uusista videoista","SIDEBAR_SHOW_STREAMS":"Näytä streamit","RELAUNCH":"Käynnistä uudelleen nyt!","UPGRADE":"Uusi versio on saatavilla! Päivitä uusimpaan Stremio-versioon","RELOAD_UI":"Lataa käyttöliittymä uudelleen","MANUAL_UPDATE_TITLE":"Päivitä Stremio-versiosi","MANUAL_UPDATE_LINE1":"Käytät vanhentunutta Stremio-versiota, mikä ei ole suositeltavaa.","MANUAL_UPDATE_LINE2":"Päivitä mahdollisimman pian.","BUTTON_UPDATE_LATTER":"Ei nyt","BUTTON_UPDATE_NOW":"Päivitä","ANONYMOUS_USER":"Anonyymi käyttäjä","DONT_HAVE_ACC":"Ei tiliä?","HAVE_ACC":"Onko sinulla jo tili?","PASSWORD":"Salasana","PASSWORD_CONFIRM":"Vahvista salasana","EMAIL":"Sähköposti","FB_LOGIN":"Jatka Facebookilla","FB_NOTHINGSHARED":"Mikään ei jaeta ilman lupaa","FB_NOPOST":"Emme julkaise mitään puolestasi","OR":"tai","I_ACCEPT":"Hyväksyn","I_ACCEPT_BY_CLICKING":"Klikkaamalla yllä olevaa painiketta vahvistan hyväksyväni ","TOS":"Käyttöehdot","MUST_ACCEPT_TERMS":"Sinun on hyväksyttävä ehdot","PASSWORDS_NOMATCH":"Salasanat eivät täsmää","SIGN_UP":"Rekisteröidy","SIGN_UP_EMAIL":"Rekisteröidy sähköpostilla","CLICK_TO_SIGN_UP":"Klikkaa tästä rekisteröityäksesi.","LOG_IN":"Kirjaudu sisään","LOG_OUT":"Kirjaudu ulos","EXIT_FULLSCREEN":"Poistu koko näytön tilasta","ENTER_FULLSCREEN":"Siirry koko näytön tilaan","PLAY_URL_MAGNET_LINK":"Toista URL-/magnet-linkki","HELP_FEEDBACK":"Apua ja palautetta","TERMS_OF_SERVICE":"Käyttöehdot","PRIVACY_POLICY":"Tietosuojakäytäntö","ABOUT_STREMIO":"Tietoa Stremiosta","USER_PANEL":"Käyttäjäpaneeli","LOGIN_LABEL":"Kirjaudu sisään","GUEST_LOGIN":"Vieraskirjautuminen","GUEST_LOGIN_NOTICE":"Vieraskirjautuminen ei ole suositeltavaa. Tavallisen kirjautumisen käyttäminen mahdollistaa Stremion kirjaston synkronoinnin, suosikkisarjojen/kanavien ilmoitusten vastaanottamisen. Oletko varma, että haluat jatkaa?","GUEST_LOGIN_NOTICE_2":"Vieraskirjautuminen ei ole suositeltavaa - sinulla ei ole synkronoitua kirjastoa ja lautailmoituksia, jotka ovat tärkeitä Stremio-ominaisuuksia. Oletko varma, että haluat jatkaa?","CLICK_HERE":"klikkaa tästä","WRONG_PASSWORD":"Väärä sähköposti tai salasana. Jos olet unohtanut salasanasi, ","SET_A_PASS":"aseta salasana","RESET_PASSWORD":"Nollaa salasana","FORGOT_PASSWORD":"Unohditko salasanasi?","EMAIL_USED_WITH_FB":"Tätä sähköpostia käytettiin Facebook-kirjautumisessa.","INVALID_EMAIL":"Anna kelvollinen sähköpostiosoite","INVALID_PASSWORD":"Anna kelvollinen salasana","CONN_ERR":"Yhteysvirhe - yritä myöhemmin uudelleen.Jos tämä jatkuu, poista palomuurit/antivirusohjelmat (erityisesti Bitdefender).","IMPORT_FROM_GUEST":"Tuo kirjasto vieraskäyttäjätililtäsi","RECEIVE_UPDATES_EMAIL":"Vastaanota päivityksiä sähköpostiisi Stremiolta","LOGIN_FAILED":"Kirjautuminen epäonnistui.","SIGNUP_FAILED":"Rekisteröityminen epäonnistui.","SEARCH_FAILED":"Haku epäonnistui","EMAIL_USED":"Tämä sähköposti on jo käytössä.","WAITING_FB_LOGIN":"Kirjaudutaan Facebookilla...","EXTERNAL_PLAYER_TITLE":"Toista ulkoisessa soittimessa","EXTERNAL_REMEMBER_PLAYER":"Haluatko muistaa valintasi","EXTERNAL_ALWAYS_PLAY":"Kyllä","EXTERNAL_ONLY_ONCE":"Ei","BEST_FIT":"Paras sovitus","FIT_SCREEN":"Sovita näyttöön","FILL":"Täytä","16:9":"16:9","4:3":"4:3","Original":"Alkuperäinen","INTRO_TASTE":"Kerro meille mistä pidät","INTRO_TASTE_LONG":"Kerro meille mitä haluaisit katsoa","INTRO_TASTE_PICK":"Valitse {{interestsRemaining}} kiinnostusta","INTRO_TASTE_PICK_MORE":"Valitse {{interestsRemaining}} kiinnostusta lisää","INTRO_TASTE_HELP_US":"Autathan meitä oppimaan lisää sinusta.","INTRO_TASTE_CHOOSE_THESE":"Valitse joitakin näistä:","INTRO_TASTE_CHOOSE_MIN":"Valitse vähintään 3 luokkaa","INTRO_TASTE_CHOOSE_MIN_ERR":"Sinun on valittava vähintään 3 luokkaa!","INTRO_TASTE_LIFESTYLE":"Elämäntyyli","INTRO_TASTE_SPORTS":"Urheilu","INTRO_TASTE_FOOD_HEALTH":"Ruoka ja terveys","INTRO_TASTE_BEAUTY_FASHION":"Kauneus ja muoti","INTRO_TASTE_NEWS":"Uutiset","INTRO_TASTE_GAMING":"Pelaaminen","INTRO_TASTE_SCIENCE_EDU":"Tiede ja koulutus","INTRO_TASTE_MUSIC":"Musiikki","INTRO_TASTE_TRAVEL":"Matkailu","INTRO_TASTE_LATE_NIGHT":"Myöhäisillan ohjelma","INTRO_TASTE_REALITY":"Reality","INTRO_TASTE_COMEDY":"Komedia","INTRO_TASTE_DIY":"Tee se itse","INTRO_TASTE_TECH":"Tekniikka","INTRO_TASTE_CINEMA":"Elokuvat","ADDON_NOT_SUPPORTED":"Valittu lisäosa ei ole tuettu tällä alustalla.","ADDON_DISCLAIMER":"Kolmannen osapuolen lisäosien käyttö on aina vastuullasi ja säännelty sen lain mukaan, jossa sijaitset.","ADDON_ACTIVATE":"Aktivoidaanko tämä lisäosa?","ADDON_REPO_ADD":"Lisäosakokoelman URL-osoite","ADDON_ADD":"Lisää","INSTALL_ADDON":"Install addon","ADD_ADDON":"Lisää lisäosa","ADD_ADDON_DESCRIPTION":"Voit lisätä lisäosan ulkoisen linkin kautta, joka näkyy Asennetut lisäosat -osiossa.","PASTE_ADDON_URL":"Liitä lisäosan URL-osoite","WHATS_NEW":"Mitä uutta","BUTTON_CONTINUE":"Jatka","BUTTON_ACTIVATE":"Aktivoi","BUTTON_ACTIVATED":"Aktivoitu","BUTTON_CANCEL":"Peruuta","BUTTON_SUBMIT":"Lähetä","BUTTON_DISMISS_ALL":"Hylkää kaikki","BUTTON_VIEW_ALL":"näytä kaikki","BUTTON_SEE_ALL":"Katso kaikki","BUTTON_COLOR_TRANSPARENT":"Läpinäkyvä","OPEN_IN_BROWSER":"Avaa selaimessa","LIB_EMPTY":"Kirjastosi näyttää tyhjältä. Selvitä kuinka hyödyllinen se on :)","HOW_START":"Tässä on miten voit aloittaa:","LIB_EMPTY_CAL":"Kalenterisi näyttää sarjoja kirjastossasi.","HOW_START_CAL":"Tässä on miten voit lisätä sarjoja:","LIB_EMPTY_BOARD":"Board näyttää ilmoituksia ja suosituksia kirjastoosi liittyen.","HOW_START_BOARD_WAIT":"Lisää muutama sarja tai kanava kirjastoosi ja anna meille muutama minuutti käsitellä :)","HOW_START_BOARD":"Tässä on miten voit lisätä sarjoja ja elokuvia siihen:","IMPORT_FB":"Tuo tykkäämäsi asiat <span>Facebookista</span>","IMPORT_TRAKT":"Tuo mediatietokantasi <span>Traktista</span>","IMPORT_DISCOVER":"Löydä mielenkiintoista sisältöä <span>Discoverista</span>","IMPORT_DISK":"Tuo elokuvat tai sarjat, joita sinulla on <span>paikallisella levyltäsi</span>","PLEASE_CREATE_ACC":"Luo <u>tunnus</u> mahdollistaaksesi kirjaston synkronoinnin ja Boardin.","IMPORT_DISCOVER_SIGNUP":"Rekisteröidy ja löydä mielenkiintoista sisältöä <span>Discoverista</span>","IMPORT_DISK_SIGNUP":"Rekisteröidy ja tuo elokuvat tai sarjat, joita sinulla on <span>paikallisella levyltäsi</span>","LIB_EMPTY_CLOUD":"Pilvikirjasto","LIB_EMPTY_CLOUD_DESC":"Henkilökohtainen pilvikirjasto synkronoitu kaikilla laitteilla","LIB_EMPTY_EARLY":"Aikainen lintu","LIB_EMPTY_EARLY_DESC":"Vastaanota ilmoituksia uusista jaksoista","LIB_EMPTY_PERSONAL":"Henkilökohtainen","LIB_EMPTY_PERSONAL_DESC":"Saat henkilökohtaisia suosituksia","LIB_EMPTY_CALENDAR_DESC":"Aikatauluta henkilökohtainen katselukalenterisi","LIB_EMPTY_ALL":"Rekisteröidy saadaksesi kaikki nämä:","LIB_EMPTY_BEST":"Rekisteröidy saadaksesi parhaat Stremio-ominaisuudet","LIB_EMPTY_OTHER":"Rekisteröidy mahdollistaaksesi kalenterin ja muita hienoja ominaisuuksia","CALENDAR_ADDED":"Stremio-kalenteri on lisätty oletuskalenteriisi.","CALENDAR_ADDED_MSG":"Jos tämä ei toimi, lisää tämä URL-kalenterisovellukseesi manuaalisesti.","TRAKT_EXPIRED":"Traktin todennus vanhentunut, mene Asetuksiin ja todenna uudelleen","TRAKT_REQUIRES_LOGIN":"Trakt-virhe","TRAKT_REQUIRES_LOGIN_MSG":"Sinun täytyy kirjautua sisään","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","SETTINGS_LABEL":"Asetukset","SETTINGS_NAV_GENERAL":"Yleiset","SETTINGS_NAV_PLAYER":"Soitin","SETTINGS_NAV_STREAMING":"Suoratoisto","SETTINGS_NAV_SHORTCUTS":"Pikanäppäimet","SETTINGS_SHORTCUT_RELOAD_APP":"Lataa sovellus uudelleen","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Avaa asetukset","SETTINGS_SHORTCUT_SWITCH_TABS":"Vaihda välilehtiä","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Selaa välilehtiä eteenpäin","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Selaa välilehtiä taaksepäin","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigoi valikoiden välillä","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Siirry hakuun","SETTINGS_SHORTCUT_EXIT_BACK":"Poistu / Palaa takaisin","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Vaihda toistonopeus-valikko","SETTINGS_SHORTCUT_MENU_VIDEOS":"Vaihda videovalikko","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Vaihda tekstitysvalikko","SETTINGS_SHORTCUT_MENU_INFO":"Vaihda infovalikko","SETTINGS_SHORTCUT_FULLSCREEN":"Vaihda koko näyttöön","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Näytä ohjaimet","SETTINGS_SHORTCUT_PLAY_PAUSE":"Toista / Tauko","SETTINGS_SHORTCUT_VOLUME_UP":"Äänenvoimakkuus ylös","SETTINGS_SHORTCUT_VOLUME_DOWN":"Äänenvoimakkuus alas","SETTINGS_SHORTCUT_SEEK_NEXT":"Etsi seuraava","SETTINGS_SHORTCUT_SEEK_PREV":"Etsi edellinen","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Etsi taaksepäin","SETTINGS_SHORTCUT_SEEK_FORWARD":"Etsi eteenpäin","SETTINGS_SHORTCUT_PLAY_NEXT":"Toista seuraava","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Kasvata tekstityksen kokoa","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Pienennä tekstityksen kokoa","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Kasvata tekstityksen viivettä","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Pienennä tekstityksen viivettä","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Vaihda sivupalkki","SETTINGS_SHORTCUT_OR":"tai","SETTINGS_SHORTCUT_TO":"näppäin","SETTINGS_SHORTCUT_SPACE":"Välilyönti","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Todenna","SETTINGS_FACEBOOK_IMPORT":"Tuo","SETTINGS_CALENDAR_SUBSCRIBE":"Tilaa","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Käyttöliittymän kieli","SETTINGS_LAUNCH_STARTUP":"Käynnistä käynnistyksen yhteydessä","SETTINGS_VLC_DEFAULT":"Toista VLC:llä","SETTINGS_UI_LANGUAGE":"Käyttöliittymän kieli","SETTINGS_UI_ZOOM":"Käyttöliittymän zoomaus","SETTINGS_FULLSCREEN_EXIT":"Poistu koko näytöstä Esc-näppäimellä","SETTINGS_GAMEPAD":"Ota käyttöön peliohjain","SETTINGS_CLOSE_WINDOW":"Sulje sovellus ikkunan sulkemisen yhteydessä","SETTINGS_SUBTITLES_LANGUAGE":"Oletuskieli tekstityksille","SETTINGS_SUBTITLES_SIZE":"Oletuskoko tekstityksille","SETTINGS_SUBTITLES_BACKGROUND":"Tekstitysten tausta","SETTINGS_SUBTITLES_COLOR":"Tekstitysten väri","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Tekstitysten reunaväri","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Tekstitysten taustaväri","SETTINGS_SEEK_KEY":"Nuolinäppäimet hakuun","SETTINGS_SEEK_KEY_SHIFT":"Nuolinäppäimet hakuun Shift-näppäintä painettaessa","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Kelaa taaksepäin ja eteenpäin -kesto","SETTINGS_BINGE":"Toista automaattisesti seuraava jakso","SETTINGS_NEXT_VIDEO":"Näytä ilmoitus seuraavan jakson aloittamisesta","SETTINGS_NEXT_VIDEO_TRIGGER":"Näytä seuraavan jakson ilmoitus:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Seuraavan videon ilmoituksen kesto","SETTINGS_PLAY_IN_BACKGROUND":"Toista taustalla","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Toista ulkoisessa soittimessa","SETTINGS_RESIZE":"Muuta ikkunan kokoa automaattisesti ennen toistoa","SETTINGS_OVERRIDE_SERVER":"Ohita suoratoistopalvelimen URL-osoite (edistynyt)","SETTINGS_SERVER_URL":"Suoratoistopalvelimen URL-osoite: ","SETTINGS_SERVER_AVAILABLE":"Suoratoistopalvelin on käytettävissä.","SETTINGS_SERVER_UNAVAILABLE":"Suoratoistopalvelin ei ole käytettävissä.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Virhe","SETTINGS_SERVER_CONFIGURE_TITLE":"Määritä suoratoistopalvelimen URL-osoite","SETTINGS_SERVER_CONFIGURE_INPUT":"Syötä suoratoistopalvelimen URL-osoite","SETTINGS_SERVER_CACHE_SIZE":"Välimuistin koko","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent-profiili","SETTINGS_HTTPS_ENDPOINT":"Suoratoiston HTTPS-päätepiste: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Käytä aina uusinta beta-versiota","SETTINGS_IMPORT_FB":"Tuo Facebookista","SETTINGS_IMPORT_DISK":"Tuo paikalliselta levyltä","SETTINGS_IMPORT_TRAKT":"Tuo Traktista","SETTINGS_PAUSE_MINIMIZED":"Tauko toistossa, kun sovellus on pienennetty","SETTINGS_HWDEC":"Laitteistokiihdytetty dekoodaus","SETTINGS_BACKGROUND":"Toista taustalla","SETTINGS_SUBSCRIBE_CALENDAR":"Tilaa kalenteri","SETTINGS_REQ_EXPORT":"Pyydä tietojen vientiä","SETTINGS_ACC_DELETE":"Pyydä tilin poistoa","SETTINGS_CHANGE_PASSWORD":"Vaihda salasana","SETTINGS_TOS":"Käyttöehdot","SETTINGS_SUPPORT":"Ota yhteyttä tukeen","SETTING_LANGUAGE":"Kieli","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_LOGOUT":"Kirjaudu ulos Trakt.tv:stä","SETTINGS_TRAKT_LOGOUT_2":"Kirjaudu ulos Traktista","SETTINGS_SCAN_FOR_REMOTE":"Skannaa QR-koodi avataksesi etäyhteyden","SETTINGS_DESKTOP_NOTIFICATIONS":"Työpöytäilmoitukset","SETTINGS_DATA_SAVER":"Datansäästötila","SETTINGS_LANGUAGE_INTERFACE":"käyttöliittymä","SETTINGS_LANGUAGE_SUBS":"oletuskieli tekstityksille","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Valitse oletusääniraita automaattisesti","SETTINGS_DEFAULT_AUDIO_TRACK":"Oletusääniraita","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"Tili","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"Versio","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"Käynnistä soitin erillisessä ikkunassa (edistynyt)","SETTINGS_PLAY_IN_EXTERNAL":"Aloita video aina ulkoisessa soittimessa","SETTINGS_STORAGE_BUTTON":"Tyhjennä paikallinen tallennustila","SETTINGS_STORAGE_MODAL_TITLE":"Oletko varma?","SETTINGS_STORAGE_MODAL_MESSAGE":"Tämä tyhjentää paikallisen tallennustilan ja kirjaa sinut ulos.","SETTINGS_HWDEC_PICKER":"Valitse laitteistokiihdytetyn dekoodauksen asetus","SETTINGS_HW_AUTOMATIC":"Automaattinen","SETTINGS_HW_DISABLED":"Poistettu käytöstä","SETTINGS_HW_ACCELERATED":"Dekoodauksen kiihdytys","SETTINGS_HW_FULL":"Täysi kiihdytys","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Tekstitykset","SETTINGS_SECTION_AUDIO":"Ääni","SETTINGS_SECTION_CONTROLS":"Ohjaimet","SETTINGS_SECTION_AUTO_PLAY":"Automaattinen toisto","SETTINGS_SECTION_ADVANCED":"Edistyneet","SUBSPICKER_AUDIO":"Ääni","SUBSPICKER_SUBTITLES":"Lisäosien tekstitykset","SUBSPICKER_BLACK_BACKGROUND":"Käytä mustaa taustaväriä","SUBSPICKER_VERTICAL_OFFSET":"Pystysuuntainen siirtymä","SUBSPICKER_SIZE":"Koko","SUBSPICKER_DELAY":"Viive","SUBSPICKER_EMBEDDED_SUBS":"Upotetut tekstitykset","MOBILE_PRIVACY_POLICY":"Tietosuojakäytäntö","MOBILE_CRASH_REPORTING":"Kaatumisraportointi","MOBILE_ZOOM_TO_FILL":"Zoomaa täyttämään näyttö","MOBILE_PASSTHROUGH":"Digitaalinen äänilähtö (passthrough)","MOBILE_RUN_LOW_BATTERY":"Toimi vähäisellä akulla","MOBILE_RUN_FOREGROUND":"Toimi etualalla","MOBILE_PERFORMANCE":"SUORITUSKYKY JA VAKAUS","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"QR-koodi vanhenee ","MOBILE_LOG_INTO":"Kirjaudu Stremio-tilillesi ","MOBILE_SCAN_QR":"Skannaa yllä oleva QR-koodi tai siirry osoitteeseen ","MOBILE_LINK_ACCOUNT":"Linkitä tili","MOBILE_SPEEDPICKER_CANCEL":"Peruuta","MOBILE_SPEEDPICKER_LABEL":"Valitse toistonopeus","MOBILE_EMPTY_LIBRARY":"Kirjastosi on tyhjä","MOBILE_NO_ADDON_ACTIVE":"Ei aktiivisia Stremio-lisäosia tälle tyypille.","MOBILE_ORGANIZER_WARNING":"Stremio Organizer -sovellus tarjoaa rajoitetun toiminnallisuuden. Käytä Stremioa työpöydällä saadaksesi luettelon toistettavista virtauksista ja täyden Stremio-kokemuksen.","MOBILE_ADDON_LOADING":"latautuu edelleen","MOBILE_ADDONS_LOADING":"lisäosat latautuvat edelleen","MOBILE_ADDON":"Lisäosa","MOBILE_CONFIGURE_ADDON":"Määritä lisäosa","MOBILE_CONFIGURE_ADDON_LABEL":"Määritä lisäosa","MOBILE_ORGANIZER_ADDONS_WARNING":"Stremio Organizer -sovellus tarjoaa vain rajoitetun valikoiman lisäosia. Käytä Stremioa työpöydällä saadaksesi täyden Stremio-kokemuksen.","MOBILE_DISCONNECT":"Katkaise yhteys","MOBILE_LOOKING_FOR_DEVICES":"Etsitään laitteita...","MOBILE_CAST_TO":"Heijasta","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Poista tili","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Tilin poisto ei ole välitön oikeudellisten velvoitteiden vuoksi. Tilin poistamisen jälkeen sinun on käytettävä eri sähköpostiosoitetta / Facebook-profiilia luodaksesi uuden Stremio-tilin tulevaisuudessa.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Vahvista tilin poisto","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Tilisi on luotu Facebookin kautta. Tilin poistamiseksi käytä käyttäjäportaalia osoitteessa www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Vahvista tilin poisto antamalla salasanasi.","MOBILE_DELETE_ACCOUNT_BUTTON":"Poista tili","NAVIGATION_ON":"Päällä","NAVIGATION_OFF":"Pois päältä","MARKETING_AGREE":"Hyväksyn Stremion markkinointiviestinnän","QUIT":"Lopeta","CONNECTED":"Yhdistetty","AUTHENTICATE":"Todennus","CACHING":"Välimuisti","SETTINGS_CACHING_DRIVE":"Välimuistin asema","ENABLE_LOCAL_FILES_ADDON":"Ota käyttöön paikallisten tiedostojen lisäosa (vaatii käynnistyksen uudelleen)","LOCAL_ADDON_NOT_ENABLED":"Paikallinen lisäosa ei ole käytössä. Napsauta tästä siirtyäksesi asetuksiin ja ota se käyttöön","ENABLE_REMOTE_HTTPS_CONN":"Ota käyttöön etä-HTTPS-yhteydet","TORRENT_PROFILE":"Torrent-profiili","DATA_CACHING":"Tietojen välimuisti","MAGNET_PARSING":"Magneettilinkin jäsentäminen","January":"Tammikuu","February":"Helmikuu","March":"Maaliskuu","April":"Huhtikuu","May":"Toukokuu","June":"Kesäkuu","July":"Heinäkuu","August":"Elokuu","September":"Syyskuu","October":"Lokakuu","November":"Marraskuu","December":"Joulukuu","Monday":"Maanantai","Tuesday":"Tiistai","Wednesday":"Keskiviikko","Thursday":"Torstai","Friday":"Perjantai","Saturday":"Lauantai","Sunday":"Sunnuntai","Action":"Toiminta","Comedy":"Komedia","War":"Sota","Family":"Perhe","Animation":"Animaatio","Adventure":"Seikkailu","Fantasy":"Fantasia","Crime":"Rikos","Mystery":"Mysteeri","Romance":"Romantiikka","Drama":"Draama","Horror":"Kauhu","Thriller":"Jännitys","Sci-Fi":"Tieteisfiktio","Music":"Musiikki","Biography":"Elämäkerta","Documentary":"Dokumentti","Sport":"Urheilu","Musical":"Musikaali","Western":"Lännenelokuva","Film-Noir":"Film Noir","News":"Uutiset","History":"Historia","Game-Show":"Kilpailuohjelma","Reality-TV":"Todellisuus-TV","Talk-Show":"Keskusteluohjelma","Film & Entertainment":"Elokuvat ja viihde","Gaming":"Pelaaminen","From TV":"TV:stä","Lifestyle":"Elämäntyyli","Science & Education":"Tiede ja koulutus","Cooking & Health":"Ruuanlaitto ja terveys","Beauty & Fashion":"Kauneus ja muoti","Sports":"Urheilu","News & Politics":"Uutiset ja politiikka","How-to & DIY":"Kuinka tehdä itse","Tech":"Tekniikka","Automotive":"Autot","Causes & Non-Profits":"Syyt ja voittoa tavoittelemattomat","Movies":"Elokuvat","Uk Live Tv":"Brittiläinen live-TV","Fashion":"Muoti","Business News Radio":"Liiketoimintauutiset radio","Business Tv":"Liiketoiminta-TV","Cars & Auto":"Autot","Comedy Radio":"Komedia radio","Lifestyle Radio":"Elämäntyyli radio","News Tv":"Uutiset TV","Food And Wine":"Ruoka ja viini","Latino Tv":"Latinalainen TV","Shopping Tv":"Ostos-TV","Religion":"Uskonto","Kids":"Lapset","Body & Soul":"Keho ja sielu","Education":"Koulutus","Indian Tv":"Intialainen TV","Extreme Sports":"Ekstreemilajit","Middle Eastern Tv":"Lähi-idän TV","Celebrity Tv":"Julkkis-TV","Science Tv":"Tiede-TV","Bikini babe":"Bikini kaunotar","Outdoors":"Ulkoilu","German Tv":"Saksalainen TV","French Tv":"Ranskalainen TV","Italian Tv":"Italialainen TV","Gamer Tv":"Pelaaja-TV","Travel":"Matkailu","Asian Tv":"Aasialainen TV","Entertainment":"Viihde","News Radio":"Uutisradio","Music Radio":"Musiikkiradio","Language Learning":"Kielten oppiminen","Science Radio":"Tiede radio","Tech Radio":"Tekniikka radio","Science & Technology Vod":"Tiede ja teknologia VOD","new video":"uusi video","new episode":"uusi jakso","new movie":"uusi elokuva","recommended":"suositeltu","we recommend":"suosittelemme","offer of the day":"päivän tarjous","news":"uutiset","music video":"musiikkivideo","CTX_SHOW_HOTKEYS":"Näytä pikanäppäimet","CTX_DISMISS_NOTIF":"Hylkää ilmoitukset","CTX_DISMISS_ALL":"Hylkää kaikki","CTX_SHARE":"Jaa","CTX_COPY_SHARE_LINK":"Kopioi jakolinkki","CTX_COPY_MAGNET_LINK":"Kopioi magnet-linkki","CTX_COPY_STREAM_LINK":"Kopioi stream-linkki","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Lataa tämä video","CTX_DOWNLOAD_SUBS":"Lataa tekstitykset","CTX_VIEW_ON_YOUTUBE":"Katso YouTubessa","CTX_SHOW":"Näytä","CTX_PLAY":"Toista","CTX_PLAY_IN":"Toista kohteessa","CTX_PLAY_ON":"Toista kohteessa","CTX_WATCH_ON":"Katso kohteessa","CTX_WATCH":"Katso","CTX_WATCHED":"Katsottu","CTX_WATCH_BEGINNING":"Katso alusta","CTX_WATCH_MOBILE":"Katso mobiililaitteella","CTX_REWIND":"Kelaa alkuun","CTX_MARK_WATCHED":"Merkitse katsotuksi","CTX_MARK_NON_WATCHED":"Merkitse ei-katsotuksi","CTX_MARK_UNWATCHED":"Merkitse katsomattomaksi","CTX_MARK_REST":"Merkitse loput katsotuksi","CTX_UNMARK_REST":"Merkitse loput ei-katsotuksi","CTX_RECEIVE_NEW_NOTIF":"Vastaanota uusia ilmoituksia","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"Poista välimuistista","CTX_REMOVE_CACHE_EP":"Poista jakso välimuistista","CTX_OPEN_CONTAINING":"Avaa sisältävä kansio","CTX_REMOVE":"Poista kirjastosta","CTX_AVAILABLE_OFFLINE":"Saatavilla offline-tilassa","CTX_PAUSED":"Tauolla","CTX_ALWAYS_ON_TOP":"Aina päällimmäisenä","CTX_FULLSCREEN":"Koko näyttö","CTX_WRONG_SUBS":"Väärät tekstitykset?","CTX_REPORT_ISSUES":"Ilmoita ongelmasta","CTX_COPY":"Kopioi","CTX_PASTE":"Liitä","CTX_CLEAR":"Tyhjennä","CTX_CLEAR_RECENT_SEARCHES":"Tyhjennä viimeisimmät haut","HELLO_THERE":"Hei siellä","HOPE_YOU_ENJOY":"Toivomme, että nautit Stremiosta ja se on jo yksi suosikki sovelluksistasi!","WHO_ARE_WE":"Kuka me olemme? Olemme sen takana oleva tiimi - kaksi kaveria, jotka ovat työskennelleet kovasti joka päivä viimeiset 3 vuotta tehdäkseen tästä tuotteesta paremman ja paremman.","SUPPORT_US":"Jos nautit Stremion käytöstä, jos Stremio on arvokas sinulle - levitä sanaa!","SPREAD_THE_WORD":"Jaa nyt ystäviesi kanssa, levitä sanaa Stremiosta","MORE_PEOPLE":"Mitä enemmän ihmisiä käyttää Stremiota, sitä paremmaksi se tulee!","SEND_A_LINK":"Tai lähetä linkki verkkosivustollemme","TIP_LOCALFILES":"Vinkki: voit raahata ja pudottaa paikallisia videotiedostoja Stremioon","ADDON_MY":"Omat lisäosat","ADDON_COMMUNITY":"Yhteisön lisäosat","ADDON_OFFICIAL":"Viralliset lisäosat","ADDON_REPOS":"Lisäosakokoelmat","ADDON_SEARCH":"Etsi lisäosia","ADDON_INSTALL":"Asenna","ADDON_CONFIGURE":"Määritä","ADDON_UNINSTALL":"Poista asennus","ADDON_UPGRADE":"Päivitä","ADDON_INSTALLED":"Asennettu","ADDON_INSTALLED_MSG":"Lisäosa asennettu!","ADDON_UPGRADED_MSG":"Lisäosa päivitetty!","ADDON_UNKNOWN":"Tuntematon","ADDON_ERR":"Lisäosan asennusvirhe!","ADDON_DISCONNECTED":"Yhteys katkaistu","ADDON_APP_MISSING":"tämän lähteen sovellusta ei ole asennettu. Haluatko asentaa sen nyt?","ADDON_APP_INSTALL":"Asenna nyt","ADDON_PAGE":"Lisäosan sivu","ADDON_TOP_CONTENT":"Parhaat tästä lisäosasta","ADDON_PROVIDES":"Tämä lisäosa antaa sinulle:","ADDON_WATCH":"Katso #{types} nyt!","ADDON_WATCH_FREE":"Katso #{types} ilmaiseksi nyt!","ADDON_ADDON":"Lisäosa","ADDON_SUPPORTED_TYPES":"Tuetut tyypit","ADDON_SUPPORTED_CATALOGS":"Tuetut katalogit","ADDON_PROVIDES_DISCOVER":"Lisää #{types} löytyy Discoverista","ADDON_PROVIDES_STREAMS":"Katso #{types}","ADDON_PROVIDES_STREAMS_FREE":"Katso #{types} ilmaiseksi","ADDON_PROVIDES_SUBTITLES":"#{types} tekstitykset","ADDON_CANTDETECT":"Emme voineet havaita käynnissä olevaa Stremiota, joten emme voineet havaita, mitä lisäosia sinulla on asennettuna.","ERR_NO_META":"Tietoja ei löytynyt tästä","ERR_GETTING_META":"Virhe tietojen noutamisessa","ERR_CANT_PARSE_MAGNET":"Magnetin jäsentäminen ei onnistu","ERR_NO_MAGNET_INFOHASH":"Ei kelvollista info-hashia magnetissa","ERR_NO_FILE_PATH":"Pyyntöä ei voi lähettää ilman tiedostopolkua","ERR_NO_TORRENT":"Ei palautettu torrentia","ERR_NO_SUPPORTERD_FILES":"Ei tuettuja tiedostoja löydetty","ERR_OPENING_FILES":"Ei voitu avata ulkoisia tiedostoja","ERR_INVALID_LINK":"Virheellinen linkki","ERR_REGISTERED_ONLY":"Tämä vaihtoehto on saatavilla vain rekisteröityneille käyttäjille.","ERR_CLIPBOARD":"Ei voi toistaa leikepöydältä","ERR_CLIPBOARD_READ":"Leikepöytää ei voi lukea tällä alustalla","ERR_CLIPBOARD_GENERIC":"Leikepöydältä ei löytynyt toistettavaa URL-osoitetta. Kopioi URL-osoite (esim. magnet-linkki) videolle.","BOARD_CONTINUE_WATCHING":"Jatka katsomista","BOARD_EXPLANATION_RECOMMENDATIONS":"Elokuvia valittu erityisesti sinulle.<br />Tämä elokuva on esimerkki suosituksesta.","BOARD_EXPLANATION_EPISODES":"Uudet jaksot suosikkisarjoistasi tulevat tänne.<br />Lisää seurattavat sarjat kirjastoosi.","BOARD_EXPLANATION_VIDEOS":"Uudet jaksot suosikkikanaviltasi tulevat tänne.<br />Lisää seurattavat YouTube-kanavat kirjastoosi.","WEBSITE_ENJOYED_BY":"Nauttii yli 30 miljoonaa käyttäjää ympäri maailmaa","WEBSITE_STREAMING_ENHANCED":"Suoratoisto parannettu","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio tarjoaa turvallisen, modernin ja saumattoman viihdekokemuksen. Helppokäyttöisen käyttöliittymän ja monipuolisen sisältökirjaston, mukaan lukien 4K HDR -tuki, ansiosta käyttäjät voivat nauttia suosikkielokuvistaan ja TV-ohjelmistaan kaikilla laitteillaan. Ja sitoutumalla turvallisuuteen Stremio on paras valinta huoleton, korkealaatuinen suoratoistokokemus.","WEBSITE_AVAILABLE_ON":"Saatavilla","WEBSITE_WATCH_AND_ENJOY":"Katso ja nauti.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio tekee siitä lasten leikkiä","WEBSITE_ALL_FEATURES":"Kaikki ominaisuudet","WEBSITE_EASY_TO_USE":"Helppo käyttää","WEBSITE_EASY_TO_USE_DETAILS":"Stremio on suunniteltu käyttäjäystävälliseksi ja helppokäyttöiseksi. Sen selkeän ja intuitiivisen käyttöliittymän avulla voit helposti navigoida ja löytää haluamasi sisällön katsottavaksi.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Saumaton laitteiden välillä","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Saatavilla laajalle valikoimalle alustoja (mukaan lukien Windows, Mac, Linux, Android ja paljon muuta), Stremio pitää kirjaa edistymisestäsi kaikilla laitteillasi. Kirjaudu vain sisään ja jatka katselua ilman, että sinun tarvitsee määrittää sovellusta uudelleen jokaiselle uudelle laitteelle.","WEBSITE_ALL_DOWNLOADS":"Kaikki lataukset","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"Korkean määritelmän videotuki","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"Integroitu videotoistin, joka tukee useimpia videoformaatteja, mukaan lukien 4K HDR -sisältö, antaa sinun nauttia korkeimmasta mahdollisesta laadusta.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Monipuolinen sisältökirjasto","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integroituu suureen määrään suosittuja videolähteitä, kuten Netflix, Amazon Prime Video, Hulu, YouTube ja monia muita.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Luo ilmainen tili","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Räätälöity katselukokemus","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio mahdollistaa käyttöliittymän ulkoasun ja tunteen mukauttamisen teeman vaihtamalla, lisäämällä tai poistamalla lisäosia ja paljon muuta.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Monikielinen tekstitystuki","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"Voit nyt nauttia kaikista suosikkisisällöistäsi haluamallasi kielellä, koska Stremio tukee tekstityksiä kaikilla kielillä.","WEBSITE_ALL_STREMIO_FEATURES":"Kaikki Stremio-ominaisuudet","WEBSITE_TRY_STREMIO_TITLE_P1":"Kokeile Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"TV:ssäsi nyt","WEBSITE_YOU_CAN_NOW_WATCH":"Voit nyt katsoa kaikkia suosikki TV-ohjelmiasi Android TV -laitteillasi. Stremio TV -sovellus antaa sinun nauttia elokuvailloista helposti.","WEBSITE_YOU_CAN_NOW_WATCH_2":"Voit nyt katsoa kaikkia suosikki TV-ohjelmiasi Smart TV:lläsi tai Android TV:lläsi. Stremio TV -sovellukset antavat sinun nauttia elokuvailloista helposti.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio Smart TV:lle","WEBSITE_PLAY_STORE_REVIEW":"Todennäköisesti paras ja hyödyllisin sovellus, joka sinulla voi olla laitteessasi. Se on yksi sovelluksista, joita käytän päivittäin, erityisesti Android TV:ssäni monien vuosien ajan. Hyvin tehty vahvan yhteisön tarjoamilla hyödyllisillä toiminnoilla. Hyvin tehty. Jatka hyvää työtä.","WEBSITE_REVIEWS":"arvostelut","WEBSITE_GET_STREMIO_FOR_FREE":"Hanki Stremio ilmaiseksi","WEBSITE_GET_STREMIO_NOW":"Hanki Stremio nyt","WEBSITE_STREMIO_FEATURES":"Stremio-ominaisuudet","WEBSITE_STREMIO_FEATURES_DETAILS":"Suoratoista kuin ammattilainen Stremio:n edistyksellisten ominaisuuksien avulla ja nauti saumattomasta pääsystä kaikkiin suosikkimediaasi","WEBSITE_DISCOVER_MORE":"Löydä lisää.","WEBSITE_DISCOVER_MORE_DETAILS":"Älä koskaan lopu katsottavasta","WEBSITE_COMMUNITY_DRIVEN":"Yhteisöllinen","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremiolla on suuri ja aktiivinen käyttäjäyhteisö, joka osallistuu ohjelmiston kehittämiseen luomalla ja jakamalla lisäosia.","WEBSITE_GET_INVOLVED":"Osallistu","WEBSITE_NEW_THEATER_EXPERIENCE":"Uusi teatterikokemus","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio:n uusi omistettu TV-sovellus antaa sinun nauttia elokuvailloista Android TV -laitteillasi.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio:n uudet omistetut TV-sovellukset antavat sinun nauttia elokuvailloista Smart TV:lläsi tai Android TV:lläsi.","WEBSITE_FREE_AND_SECURE":"Ilmainen ja turvallinen","WEBSITE_STREAMING":"Suoratoisto","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio tarjoaa vertaansa vailla olevan turvallisuuden ja yksityisyyden käyttäjille. Ainutlaatuisen etäkäyttölisäosan ansiosta Stremio tarjoaa turvallisemman tavan suoratoistaa suosikkisisältöä verrattuna muihin alustoihin. Turvallisuutesi ja yksityisyytesi ovat tärkeimmät prioriteetit, ja alusta varmistaa, että kaikki tietosi ovat suojattuja.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Sano hyvästit huolille turvallisuudesta ja yksityisyydestä ja sano hei loputtomalle viihdemaailmalle Stremio:n kanssa.","WEBSITE_INFORMATION_PROVIDED_BY":"Tiedot tarjoaa","WEBSITE_CONTRIBUTE":"Osallistu","WEBSITE_CONTRIBUTE_DESC":"projektiin ja auta meitä tekemään Stremio vielä paremmaksi","WEBSITE_COMMUNITY_DESC":"Uskomme, että paras tapa luoda todella uskomaton suoratoistokokemus on osallistaa yhteisömme prosessiin. Olitpa sitten ohjelmoija, taiteilija tai vain fani - voit auttaa Stremio:n kasvua.","WEBSITE_COMMUNITY_DESC_2":"Liity siis tänään ja tule osaksi Stremio-yhteisöä ja jatka suoratoiston tulevaisuuden muotoilua.","WEBSITE_WAYS_TO_GET_INVOLVED":"Tapoja osallistua","WEBSITE_IN_THE_STREMIO_COMMUNITY":"Stremio-yhteisössä","WEBSITE_SHARE_YOUR_THOUGHTS":"Jaa ajatuksesi","WEBSITE_REPORT_BUGS":"Ilmoita virheistä","WEBSITE_SUGGEST_FEATURES":"ehdota ominaisuuksia","WEBSITE_AND_PROVIDE_FEEDBACK":"ja anna palautetta sosiaalisen median kanavissamme.","WEBSITE_BETA_TESTING_PROGRAM":"Beta-testausohjelma","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Osallistu beta-testausohjelmaamme (lähetämme kutsuja säännöllisesti) Stremio-yhteisössä.","WEBSITE_JOIN_NOW":"Liity nyt!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Viralliset Stremio-yhteisöt","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Epäviralliset Stremio-yhteisöt","WEBSITE_BECOME":"Tule","WEBSITE_A_VOLUNTEER_TRANSLATOR":"vapaaehtoiseksi kääntäjäksi","WEBSITE_ARE_YOU_A_DEVELOPER":"Oletko kehittäjä?","WEBSITE_CONTRIBUTE_CODE":"Voit osallistua koodin kehittämiseen avoimen lähdekoodin projekteissamme. Meillä on useita projekteja GitHubissa, jotka etsivät avustajia. Jos olet kiinnostunut auttamaan, tarkista ne:","WEBSITE_STREMIO_ON_GITHUB":"Stremio GitHubissa","WEBSITE_CREATE_ADDON_DESC":"Luo lisäosa Stremio:n toiminnallisuuden parantamiseksi (meillä on helppokäyttöinen API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"Tarjoamme myös mahdollisuuden liittyä meihin harjoittelijakehittäjänä, jotta voimme kasvaa yhdessä.","WEBSITE_APPLY_AS_AN_INTERN":"Hae harjoittelijaksi","WEBSITE_CALLING_ALL_ARTISTS":"Kutsutaan kaikki taiteilijat!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Näytä luovuutesi ja rakkautesi Stremio:ta kohtaan lataamalla fanitaiteesi verkkogalleriaamme. Olipa kyseessä piirros, maalaus tai digitaalinen suunnittelu, haluamme nähdä ainutlaatuisen näkemyksesi Stremio-brändistä. Liity taideharrastajien yhteisöömme ja jaa työsi muiden Stremio-fanien kanssa ympäri maailmaa.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart -galleria","WEBSITE_INTERN_DESIGNER":"Tule osaksi tiimiämme ja vie luovuutesi uusiin korkeuksiin jännittävien harjoittelumahdollisuuksiemme avulla.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies -projekti","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"Stremio:ssa sitoudumme säilyttämään elokuva- ja televisiohistorian tunnistamalla julkisen alan ja orvoiksi jääneet videot. Yhteistyössä yhteisömme kanssa voimme varmistaa, että nämä klassiset taideteokset ovat kaikkien saatavilla ja suojattu tuleville sukupolville nautittavaksi.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Ota rohkeasti yhteyttä, jos haluat osallistua siihen projektiin.","WEBSITE_JOIN_THE_PROJECT":"Liity projektiin","WEBSITE_BE_PART_OF_OUR_MISSION":"Ole osa tehtäväämme","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Kiinnostunut liittymään Stremio-tiimiin? Tarjoamme täysin etätyön intohimoisille ammattilaisille. Tutustu avoimiin paikkoihimme.","WEBSITE_OPEN_POSITIONS":"AVOIMET PAIKAT","WEBSITE_DESCRIPTION":"KUVAUS","WEBSITE_LEARN_MORE":"Lue lisää","WEBSITE_COMPANY":"Yritys","WEBSITE_CONTACTS":"Yhteystiedot","WEBSITE_NEED_HELP":"Tarvitsetko apua?","WEBSITE_STREMIO_WEB_ON_IOS":"Opas Stremio Webille iOS:lla","WEBSITE_LINK_ART_V2":"Fanitaidegalleria","WEBSITE_PARTNERS":"Kumppanit","WEBSITE_SLOGAN_WATCH":"Katso heti","WEBSITE_SLOGAN_ALL":"Kaikki videosisältö, josta nautit, yhdessä paikassa","WEBSITE_SLOGAN_NEW":"Kaikki, mitä voit katsoa","WEBSITE_SLOGAN_NEW_NEW":"Vapaus suoratoistaa","WEBSITE_WATCH_FROM":"Katso alkaen","WEBSITE_DOWNLOAD":"Lataa nyt","WEBSITE_DOWNLOAD_FOR":"Lataa nyt","WEBSITE_IS_DESKTOP":"Stremio on työpöytäsovellus, avaa tämä sivu tietokoneellasi ja lataa se","WEBSITE_DESKTOP_DEMO_VID":"Työpöytädemo","WEBSITE_PAGE_HOME":"Koti","WEBSITE_PAGE_FEATURES":"Ominaisuudet","WEBSITE_PAGE_ADDONS":"Lisäosat","WEBSITE_PAGE_TECH":"Teknologia","WEBSITE_PAGE_CREATE_ADDON":"Luo lisäosa","WEBSITE_PAGE_CONTACTS":"Yhteystiedot","WEBSITE_PAGE_BLOG":"Blogi","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Elokuvat","WEBSITE_TYPE_series_PL":"Sarjat","WEBSITE_TYPE_tv":"Live TV","WEBSITE_TYPE_channel":"Kanavat","WEBSITE_STREMIO_WHAT_IS":"Stremio on sovellus, joka auttaa sinua järjestämään ja katsomaan suosikki videoitasi, elokuviasi, TV-sarjojasi ja TV-kanavia heti.","WEBSITE_FEATURES_WATCH":"Katso välittömästi HD-laadulla","WEBSITE_FEATURES_WATCH_DETAIL":"Klikkaa ja toista suosikki elokuvasi, TV-ohjelmasi, videot ja TV-kanavasi.","WEBSITE_FEATURES_SUBS":"Automaattiset tekstitykset","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio valitsee automaattisesti synkronoidut tekstitykset kielellesi.","WEBSITE_FEATURES_SUBS_LABEL":"Sinun vuorosi, pomo.","WEBSITE_FEATURES_CAST":"Toista TV:ssä ja mobiililaitteissa","WEBSITE_FEATURES_CAST_DETAIL":"Toista AppleTV:ssä, Chromecastissa, Smart TV:ssä (DLNA/UPnP) ja mobiililaitteissa.","WEBSITE_LIB":"Nauti henkilökohtaisesta kirjastostasi synkronoituna kaikilla laitteillasi","WEBSITE_LIB_COLLECT":"Kerää Stremiosta","WEBSITE_LIB_IMPORT":"Tuo Facebookista","WEBSITE_LIB_LOCAL":"Lisää paikalliselta asemalta","WEBSITE_BOARD":"Board - Yksi paikka ilmoituksille ja suosituksille","WEBSITE_BOARD_RECOMMEND":"Suositeltu TV-ohjelma","WEBSITE_BOARD_TRENDING":"Trendaava elokuva","WEBSITE_BOARD_NEW":"Uusi video","WEBSITE_BOARD_EPISODE":"Uusi jakso","WEBSITE_BOARD_1":"Etsitkö jotain mielenkiintoista katsottavaa? Saat suosituksia makusi mukaan!","WEBSITE_BOARD_2":"Saat ilmoituksen, kun uusi jakso suosikki TV-ohjelmastasi tai YouTube-kanavaltasi on ulkona!","WEBSITE_BOARD_YOUTUBE":"Uudet videot YouTube-kanavilta","WEBSITE_BOARD_EPISODES":"Uudet jaksot sarjoista, joita seuraat","WEBSITE_ADDONS":"Sisältölisäosat","WEBSITE_TECH_DETAIL":"Rakastamme teknologiaa, rakastamme hullua tiedettä!\\nStremio käyttää seuraavia avoimen lähdekoodin teknologioita:","WEBSITE_TECH_WCJS":"WebChimera.js mahdollistaa Stremion toistavan mitä tahansa videomuotoa hyvällä suorituskyvyllä.","WEBSITE_TECH_WCJS_EXTRA":"Olemme ydintiimin jäseniä","WEBSITE_TECH_ELECTRON":"Electron tarjoaa innovatiivisen alustan Stremion rakentamiseen.","WEBSITE_TECH_ELECTRON_EXTRA":"Olemme projektin jäseniä","WEBSITE_TECH_LINVODB":"Tietokantateknologia, joka varmistaa, että tietosi ovat järjestettyjä ja saatavilla missä tahansa kirjaudut sisään.","WEBSITE_TECH_LINVODB_EXTRA":"Sisäinen teknologia","WEBSITE_CREATE_ADDON":"Luo lisäosa","WEBSITE_CREATE_ADDON_DETAIL":"Onko sinulla palvelu, joka tarjoaa videosisältöä? Autamme sinua hyötymään Stremion ominaisuuksista luomalla lisäosan.","WEBSITE_CREATE_ADDON_BENEFITS":"Hyödyt Stremion lisäosan luomisesta","WEBSITE_P2P_BEAUTY":"Vertaisverkkoon perustuvan suoratoiston kauneus","WEBSITE_P2P_1":"Luotettava ja edullinen täysi HD / 4K video pyynnöstä tai suorana","WEBSITE_P2P_2":"Jakelualusta, joka tarjoaa erinomaisen käyttökokemuksen","WEBSITE_P2P_3":"Luomme lisäosan, joka vastaa tarkasti tarpeitasi","WEBSITE_P2P_CONTACT":"Kiinnostunut? Ota <a href=\'mailto:office@stremio.com\'>yhteyttä</a>.","WEBSITE_P2P_CONTACT_EXTRA":"Autamme mielellämme integroimaan sisältösi Stremioon!","WEBSITE_P2P":"Joskus tulee teknologia, joka muuttaa pelin nimen. Investoimme valtavasti aikaa ja vaivaa rakentaessamme vertaisverkkoon perustuvan (P2P) videon suoratoistomoottorimme, joka tarjoaa erinomaisen suorituskyvyn ja monipuolisuuden sopeutua mihin tahansa käyttötapaukseen.\\nOta yhteyttä DRM-yhteensopivaan P2P-videoon pyynnöstä tai suorana suoratoistoon.","WEBSITE_THOUGHTS":"Ajatuksia, joita jaamme:","WEBSITE_SPREAD":"Levitä sanaa Stremiosta:","WEBSITE_CONTACT":"Ota yhteyttä, olemme iloisia kuullessamme sinusta!","WEBSITE_OPENSOURCE":"Avointen lähdekoodiprojektien osalta siirry sivustollemme","WEBSITE_BITCOIN":"Lahjoita bitcoinilla:","WEBSITE_FAQ":"Usein kysytyt kysymykset","WEBSITE_FAQ_SHORT":"UKK","WEBSITE_QUESTIONS":"Kysymykset","WEBSITE_TOS":"Käyttöehdot","WEBSITE_LEGAL":"Lakiasiat","WEBSITE_PAGE_ABOUT":"Tietoja","WEBSITE_PAGE_BECOME_PARTNER":"Tule kumppaniksi","WEBSITE_ALL_YOU_CAN_WATCH":"Vapaus katsoa Kaikkea mitä haluat.","WEBSITE_FREEDOM_TO_STREAM":"Vapaus suoratoistaa","WEBSITE_WHAT_IS_STREMIO":"Mikä on Stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio on yhden pysähdyksen keskus videosisällön keräämiseen. Löydä, järjestä ja katso videoita kaikenlaisista lähteistä millä tahansa laitteella, joka sinulla on.","WEBSITE_WHAT_IS_STREMIO_P2":"Elokuvat, TV-ohjelmat, sarjat, live-televisio tai web-kanavat, kuten YouTube ja Twitch.tv - kaikki tämä löytyy Stremiosta.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio on moderni mediasoitin, joka on yhden pysähdyksen ratkaisu videoviihteellesi. Löydät, katsot ja järjestät videosisältöä helposti asennettavista lisäosista.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Elokuvat, TV-ohjelmat, live-TV tai web-kanavat - löydät kaiken tämän Stremiosta.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Nauti kaikilla laitteillasi","WEBSITE_DEVICES_COLLECT":"Kerää Stremiosta","WEBSITE_DEVICES_IMPORT_FB":"Tuo Facebookista","WEBSITE_DEVICES_LOCAL":"Lisää paikalliselta asemalta","WEBSITE_JOIN_THE_PARTY_NOW":"Liity juhlaan nyt","WEBSITE_DEVICES_ALL":"Helppo käyttää kaikilla laitteillasi;","WEBSITE_EXTENDABLE_CATALOG":"Loputtomasti laajennettavissa oleva videoluettelo;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Mahtavia ominaisuuksia videoidesi järjestämiseen;","WEBSITE_AS_SEEN_ON":"Kuten nähty","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"Tietoa meistä","WEBSITE_LINK_TECHNOLOGY":"Teknologia","WEBSITE_LINK_APPS":"Sovellukset","WEBSITE_LINK_DOWNLOADS":"Lataukset","WEBSITE_MORE":"Lisää","WEBSITE_LINK_ADDONS":"Lisäosat","WEBSITE_LINK_ADDON_SDK":"Lisäosan SDK","WEBSITE_LINK_CONTRIBUTE":"Osallistu","WEBSITE_LINK_COMMUNITY":"Yhteisö","WEBSITE_LINK_BLOG":"Blogi","WEBSITE_MORE_MORE":"... & Lisää","WEBSITE_LINK_HELP":"Ohjekeskus","WEBSITE_LINK_CONTACTS":"Liiketoimintakyselyt","WEBSITE_LINK_TOS":"Käyttöehdot","WEBSITE_LINK_PRAVACY":"Tietosuojakäytäntö","WEBSITE_SUBSCRIBE":"Tilaa","WEBSITE_NEWSLETTER":"Liity uutiskirjeemme tilaajaksi ja saat upeita juttuja","WEBSITE_PLACEHOLDER_EMAIL":"Sähköpostiosoitteesi","WEBSITE_COMMUNITY":"Yhteisö","WEBSITE_LINK_PRAVACY_LEGAL":"Tietosuoja ja oikeudelliset asiat","WEBSITE_WHY":"Miksi teemme tätä","WEBSITE_WHY_P1":"Stremio-tiimi tulee töihin joka päivä, koska haluamme ratkaista tärkeän ongelman videon suoratoistoteollisuudelle. Joka minuutti julkaistaan niin paljon uutta sisältöä, että sen läpikäyminen on käytännössä mahdotonta.","WEBSITE_WHY_P2":"Autamme ihmisiä navigoimaan tuon valtavan videoviihde-maailman läpi ja löytämään uutta sisältöä nautittavaksi. Sovelluksemme yhdistävät elokuvat, sarjat, suorat TV-lähetykset, verkkokanavat ja paljon muuta. Olemme omistautuneet tekemään käyttäjille uskomattoman helppoa löytää heidän rakastamansa nimikkeet ja lähettäjät.","WEBSITE_WHY_P3":"Voit käyttää palveluamme millä tahansa laitteella ja milloin tahansa, joten Stremio on ainoa videoviihdekeskus, jota koskaan tarvitset.","WEBSITE_TEAM":"TIIMI","WEBSITE_TEAM_P":"Stremio-tiimi on pieni mutta voimakas: meitä on kymmenen, ja koodaamme X kielellä. Jaamme asiantuntemusta ohjelmistokehityksestä, käyttöliittymä- ja käyttökokemussuunnittelusta, markkinoinnista ja mainonnasta sekä liiketoiminnasta ja startupeista.","WEBSITE_FEATURES":"Ominaisuudet","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Löydä uutta sisältöä helposti","WEBSITE_FEATURES_DISCOVER_P":"Löydä helposti uusia elokuvia, TV-ohjelmia, sarjoja ja kanavia katsottavaksi. Selaa kategoria-, genre-, arvostelu-, ajankohta- jne. -perusteella tai kirjoita nimi löytääksesi. Stremio tekee uuden videosisällön löytämisestä helppoa kuin kakkupalan syöminen.","WEBSITE_FEATURES_ALL_CONTENT":"Kaikki videosisältö yhdellä näytöllä","WEBSITE_FEATURES_ALL_CONTENT_P1":"Näe, mitä elokuvia, sarjoja tai videoita et ole vielä katsonut loppuun ja jatka niiden katsomista; saat ilmoituksen uusista jaksoista ja julkaisuista; ja selaa suosituksia, jotka saat katselutottumuksiesi perusteella.","WEBSITE_FEATURES_LIBRARY":"Järjestä videokirjastosi","WEBSITE_FEATURES_LIBRARY_P1":"Lisää mikä tahansa nimike Stremio-kirjastoosi yhdellä napsautuksella ja löydä tiensä sisältöösi, joka on järjestetty tyypin, ajankohdan tai aakkosjärjestyksen mukaan.","WEBSITE_FEATURES_CALENDAR":"Pidä kirjaa kaikesta, mitä katsot","WEBSITE_FEATURES_CALENDAR_P1":"Saat kalenterinäkymän kaikista elokuvista ja sarjoista, jotka lisäät kirjastoosi. Vie Stremio-kalenterisi ja synkronoi se, jotta tiedät aina, milloin uusi jakso tai ensi-ilta on tulossa.","WEBSITE_FEATURES_BIG_SCREEN":"Nauti videosisällöstä suuremmalla näytöllä","WEBSITE_FEATURES_BIG_SCREEN_P1":"Heijasta mitä tahansa katsot toiselle laitteelle - olipa se sitten puhelin, tabletti tai TV - yhdellä napsautuksella.","WEBSITE_FEATURES_SOURCES":"Katso videoita monista eri lähteistä","WEBSITE_FEATURES_SOURCES_P":"Asenna virallisia ja yhteisölisäosia nauttiaksesi videoista, jotka ovat peräisin monilta eri tarjoajilta - kaikki yhdessä tyylikkäässä ja helppokäyttöisessä sovelluksessa.","WEBSITE_CREATE_AN_ADDON":"Luo lisäosa","WEBSITE_FEATURES_SYNC":"Synkronoi kirjastosi eri laitteiden välillä ja jatka toistoa","WEBSITE_FEATURES_SYNC_P1":"Kirjaudu tilillesi kaikilla laitteillasi ja nauti kirjastostasi, lisäosistasi, toistostasi ja kalenteristasi synkronoituna.","WEBSITE_FEATURES_EXTENDABLE":"Laajennettava videoluettelo lisäosilla","WEBSITE_FEATURES_EXTENDABLE_P1":"Stremio-lisäosakatalogi tarjoaa useita lisäosia, joita voit asentaa ja katsella erilaisia videosisältöjä. Tämä sisältää elokuvia, ohjelmia, suoraa TV-lähetystä, urheilua, uutisia, podcasteja, verkkokanavia, videopelejä ja paljon muuta.","WEBSITE_FEATURES_AUTO_SUBS":"Automaattiset tekstitykset","WEBSITE_FEATURES_AUTO_SUBS_P1":"Tekstityslisäosiemme avulla saat automaattisesti valitut vaihtoehdot haluamallasi kielellä.","WEBSITE_FEATURES_CHROMECAST":"Heijastus Chromecastiin","WEBSITE_FEATURES_CHROMECAST_P1":"Nauti videosisällöstä suuremmalla näytöllä tai heijasta mitä tahansa katsot toiselle laitteelle.","WEBSITE_FEATURES_KEEP_TRACK":"Pidä kirjaa suosikki-TV-ohjelmistasi ja verkkokanavistasi","WEBSITE_FEATURES_KEEP_TRACK_P1":"Saat kalenterinäkymän ja ilmoitukset suosikkisarjojesi ja verkkokanaviesi uusista jaksoista.","WEBSITE_FEATURES_POWER_USER":"Tehokäyttäjän ominaisuudet","WEBSITE_FEATURES_POWER_USER_P1":"Toista ulkoisessa soittimessa","WEBSITE_FEATURES_POWER_USER_P2":"Toista torrent-tiedostosta tai magnet-linkistä","WEBSITE_FEATURES_POWER_USER_P3":"Tuo kirjastoosi Facebook-tykkäyksistä tai paikalliselta levyltä","WEBSITE_ADD_ONS":"Lisäosat","WEBSITE_ADD_ONS_P1":"Kaikki Stremion tarjoama videosisältö hankitaan lisäosajärjestelmän kautta - sovellukseen ei ole rakennettu sisältöä tai sisällöntarjoajaa.","WEBSITE_ADD_ONS_P2":"Saatavilla on kaksi lisäosaryhmää: viralliset ja yhteisölisäosat.","WEBSITE_ADD_ONS_P3":"Viralliset ovat Stremion kehittämiä ja isännöimiä, kun taas yhteisölisäosat on luonut yhteisömme jäsenet, jotka myös isännöivät niitä.","WEBSITE_ADDONS_OFFICIAL":"Viralliset lisäosat","WEBSITE_ADDONS_WATCHUB":"Suoratoista suosikkielokuvasi, -sarjasi ja -ohjelmasi iTunesilta, Hululta, Amazonilta ja muilta brittiläisiltä/amerikkalaisilta palveluilta.","WEBSITE_ADDONS_YOUTUBE":"Katso suosikki-YouTube-kanaviasi mainoksettomasti ja saat ilmoituksia uusista lähetyksistä seuraamiltaan tekijöiltä.","WEBSITE_ADDONS_FILMON":"Katso ilmaiseksi suoraa TV-lähetystä, elokuvia, dokumentteja ja paljon muuta. 600 TV-kanavaa, 45 000 ilmaista elokuvaa ja paljon muuta.","WEBSITE_ADDONS_OPENSUBTITLES":"Elokuvien ja TV-ohjelmien tekstitykset useilla kielillä, tuhansia käännettyjä tekstityksiä ladattu päivittäin.","WEBSITE_ADDONS_COMMUNITY":"Yhteisölisäosat","WEBSITE_ADDONS_FILMON_VOD":"Katso videoita pyynnöstä Filmon.tv:stä","WEBSITE_ADDONS_TWICH":"Katso suoratoistoja Twitch.tv:stä - videostreaming-alustasta e-urheilualalle.","WEBSITE_ADDONS_VODO":"Katso indie-elokuvia täysin ilmaiseksi.","WEBSITE_ADDONS_NETFLIX":"Katso Netflix-elokuvia ja -sarjoja.","WEBSITE_ADDONS_CREATE":"Luo lisäosa","WEBSITE_ADDONS_CREATE_P1":"Jos haluat, voit kehittää oman lisäosan. Tällä tavalla voit antaa itsellesi ja yhteisöllemme pääsyn uuteen videosisältöön ja tavoittaa uuden, kohdennetun yleisön miljoonien käyttäjien ympäri maailmaa.","WEBSITE_ADDONS_START_CREATE":"Aloittaaksesi, käy Stremio Addon SDK -sivulla:","WEBSITE_DOWNLOADS":"Lataukset","WEBSITE_DOWNLOADS_P1":"Optimaalisen suorituskyvyn saavuttamiseksi suosittelemme käyttämään Stremio-sovelluksen uusinta saatavilla olevaa versiota. Jos kuitenkin jostain syystä haluat käyttää vanhempaa versiota, voit ladata sen täältä.","WEBSITE_DOWNLOADS_P1_SHORT":"Optimaalisen suorituskyvyn saavuttamiseksi suosittelemme käyttämään Stremio-sovelluksen uusinta saatavilla olevaa versiota.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio Windowsille","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio macOS:lle","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio Linuxille","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio Androidille","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio Android TV:lle","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio Android-mobiililaitteille","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio Steam Deckille","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio iOS:lle (rajoitettu versio)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Lataa Stremio-palvelu","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio-palvelu on kumppanisovellus Stremio Webille. Suosittelemme käyttämään Stremio-palvelun uusinta saatavilla olevaa versiota.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio-palvelu Windowsille","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio-palvelu macOS:lle","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio-palvelu Linuxille","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio-palvelu Dockerille","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"Lisää latausvaihtoehtoja","WEBSITE_DOWNLOAD_NEW":"Uusi!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"Julkaisimme Stremio Webin","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"Stremio-alusta on avoimen lähdekoodin ja voit helposti luoda lisäosan sisällölle, jota ei tällä hetkellä ole saatavilla.","WEBSITE_CONTRIBUTE_WHY":"Miksi sinun pitäisi luoda lisäosa?","WEBSITE_CONTRIBUTE_WHY_P1":"Tavoita uusi yleisö videosisällöllesi","WEBSITE_CONTRIBUTE_WHY_P2":"Stremion käyttäjämäärä kasvaa nopeasti - ensimmäisen vuoden aikana julkaisun jälkeen Stremio oli saanut 1 miljoonaa käyttäjää ympäri maailmaa, ja toisena vuonna alustan olemassaolon tämä luku kasvoi 2,5 miljoonaan.","WEBSITE_CONTRIBUTE_WHY_P3":"Lisäosallasi voit helposti tavoittaa tämän yleisön ja jakaa videosisältösi heille.","WEBSITE_CONTRIBUTE_ALL":"Katso suosikkielokuvasi, -videosi, -sarjasi ja -kanavasi yhdessä paikassa.","WEBSITE_CONTRIBUTE_ALL_P1":"Oletko jonkin tietyn sisällön fani, jota ei ole vielä saatavilla Stremiossa? Luo lisäosa sille ja nauti suosikki-videoistasi yhdessä markkinoiden suurimmista ja helpoimmin käytettävistä viihdekeskuksista.","WEBSITE_CONTRIBUTE_ALL_P2":"Lisäksi saat loputtoman kiitollisuuden muilta samanmielisiltä Stremio-yhteisön jäseniltä.","WEBSITE_CONTRIBUTE_MONETIZE":"Ansaitse rahaa lisäosallasi","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Kun kehität uuden lisäosan Stremiolle, voit helposti ansaita rahaa monella eri tavalla. Jos harkitset tätä, ota yhteyttä meihin osoitteessa ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - olemme iloisia voidessamme konsultoida ja neuvoa sinua lisäosan ansaitsemisvaihtoehdoista.","WEBSITE_CONTRIBUTE_TRANSLATE":"Tule vapaaehtoiseksi kääntäjäksi","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Jos haluat nauttia Stremio-sovelluksista eri kielillä, voit liittyä vapaaehtoisten kääntäjien yhteisöömme. He auttavat meitä lisäämään Stremion versioita monilla eri kielillä.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Haluatko aloittaa?","WEBSITE_TRANSALTE_STREMIO":"Käännä Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Viralliset yhteisöt","WEBSITE_COMMUNITY_OFFICIALS_P1":"Tule osaksi kasvavaa Stremio-yhteisöä. Seuraa meitä sosiaalisessa mediassa ja älä ole ujo sanoa hei - rakastamme kuulla faneiltamme! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Epäviralliset yhteisöt","STREMIO_COMMUNITY_NL":"Stremio Alankomaat","STREMIO_COMMUNITY_BRASIL":"Stremio Brasilia","STREMIO_COMMUNITY_GERMANY":"Stremio Saksa","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgia","STREMIO_COMMUNITY_FRANCE":"Stremio Ranska","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugali","STREMIO_COMMUNITY_ITALY":"Stremio Italia","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Meksiko","STREMIO_COMMUNITY_ADDONS":"Stremio-lisäosat","STREMIO_COMMUNITY_AWESOME":"Mahtava Stremio","WEBSITE_COMMUNITY_PARTNERS":"Kumppanit ja tukijat","WEBSITE_COMMUNITY_GOODIES":"Stremio-hyödykkeet","WEBSITE_COMMUNITY_WALLPAPERS":"Taustakuvat","WEBSITE_COMMUNITY_ART":"Yhteisön taidegalleria","WEBSITE_LINK_ART":"Yhteisön taidegalleria","WEBSITE_CONTACT_US":"Ota yhteyttä","WEBSITE_CONTACT_US_P1":"Jos sinulla on kysyttävää, kommentteja tai ehdotuksia, ota meihin yhteyttä alla olevan yhteydenottolomakkeen kautta.","WEBSITE_CONTACT_US_P2":"Pidä mielessä, että sijaitsemme Bulgariassa, joten kyselyysi vastaaminen voi kestää aikavyöhyke-erojen vuoksi.","WEBSITE_CONTACT_US_SUCCESS":"Viestisi on lähetetty. Otamme sinuun yhteyttä mahdollisimman pian.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Syötä kelvollinen sähköpostiosoite!","WEBSITE_CONTACT_US_Q_RELATED_TO":"Mihin kysymyksesi liittyy?","WEBSITE_CONTACT_US_Q_OS":"Mikä on käyttöjärjestelmäsi?","WEBSITE_CONTACT_US_PH_EMAIL":"Sähköpostiosoitteesi","WEBSITE_CONTACT_US_PH_MESSAGE":"Viesti","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"LÄHETÄ","WEBSITE_CONTACT_US_Q_1":"Miten asennetaan?","WEBSITE_CONTACT_US_Q_2":"Miten poistetaan?","WEBSITE_CONTACT_US_Q_3":"(HTML) Miten tehdään lasagnea?","WEBSITE_CONTACT_US_Q_4":"Lisäosat","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Teknologia","WEBSITE_TECHNOLOGY_P1":"Rakastamme teknologiaa ja hullua tiedettä. </br> Tässä on mitä Stremio käyttää (kaikki on avoimen lähdekoodin).","WEBSITE_TECHNOLOGY_P_QT":"Ristiin alustan ohjelmistokehitys parhaimmillaan.","WEBSITE_TECHNOLOGY_P_MPV":"Ilmainen, avoimen lähdekoodin ja ristiin alustan mediasoitin.","WEBSITE_TECHNOLOGY_P_RN":"React Native mahdollistaa mobiilisovellusten rakentamisen vain JavaScriptillä.","WEBSITE_TECHNOLOGY_P_VLC":"Mediakehys, joka on upotettu sovellukseen multimediaa varten.","WEBSITE_TECHNOLOGY_P_REALM":"Realm on mobiilialusta ja korvaa SQLite:n ja Core Datan.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js on avoimen lähdekoodin, ristiin alustan JavaScript-suoritusympäristö.","WEBSITE_TECHNOLOGY_P_RUST":"Rust on moniparadigmainen järjestelmäohjelmointikieli, joka keskittyy turvallisuuteen, erityisesti turvalliseen samanaikaisuuteen.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Osallistu projektiin","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Voit osallistua Stremioon kahdella tavalla ja auttaa meitä tekemään tuotteesta vielä paremman.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Voit lahjoittaa arvokkaat kielitaitosi kääntämällä alustan...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"tai","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... voit käyttää koodaustaitojasi yhteisön lisäosien luomiseen.","WEBSITE_TRANSLATE_STREMIO":"Käännä Stremio","WEBSITE_404_OH_NO":"Voi ei! Etsimääsi sivua ei löydy...","WEBSITE_GO_HOME":"Mene kotiin","WEBSITE_LINK_OTHER_DOWNLOADS":"Muut lataukset","WEBSITE_FAQ_ABR":"UKK","WEBSITE_SUPPORT":"Tuki","WEBSITE_DOWNLOAD_4_0_BETA":"Lataa Stremio 4 beta nyt","WEBSITE_GET_FOR_DESKTOP":"Hanki työpöydälle","WEBSITE_LINK_ADDON_COMPETITION":"Lisäosakilpailu","WEBSITE_LINK_ART_CONTEST":"Taidekilpailu","WEBSITE_MY_ACCOUNT":"Oma tili","WEBSITE_MAINPAGE_FAQ_001_H1":"Mikä on Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio on moderni mediasoitin, joka antaa sinulle vapauden katsoa kaikkea mitä haluat.","WEBSITE_MAINPAGE_FAQ_002_H1":"Miten se toimii?","WEBSITE_MAINPAGE_FAQ_002_P1":"Kun olet asentanut Stremion laitteellesi ja luonut tilin, sinun tarvitsee vain käydä lisäosakatalogissa ja asentaa haluamasi lisäosa, ja olet valmis!","WEBSITE_MAINPAGE_FAQ_002_P2":"Sen jälkeen voit siirtyä Löydä tai Board -osioihin aloittaaksesi sisällön tutkimisen.","WEBSITE_MAINPAGE_FAQ_003_H1":"Mitä voin katsoa täällä?","WEBSITE_MAINPAGE_FAQ_003_P1":"Paljon: elokuvia, TV-ohjelmia, verkkokanavia, urheilua, TV-kanavia, podcasteja ja paljon muuta. Lisäosajärjestelmämme ansiosta voit käyttää monipuolista sisältöä.","WEBSITE_MAINPAGE_FAQ_004_H1":"Onko Stremio avoimen lähdekoodin ohjelmisto?","WEBSITE_MAINPAGE_FAQ_004_P1":"Kyllä, voit tarkistaa seuraavat linkit: ${1}työpöytäsovellus${2} ja ${3}GitHub-organisaatio${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Onko Stremio turvallinen?","WEBSITE_MAINPAGE_FAQ_005_P1":"Kyllä: koska se on avoimen lähdekoodin ohjelmisto, koodi on julkisesti tarkastettavissa ja voit tarkistaa sen itse.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremion lisäosajärjestelmä on myös luotu käyttäjän turvallisuus mielessä. Lisäosat eivät suorita mitään koodia paikallisesti, joten ne eivät aiheuta riskejä laitteellesi.","WEBSITE_MAINPAGE_FAQ_006_H1":"Entä yksityisyyteni?","WEBSITE_MAINPAGE_FAQ_006_P1":"Kunnioitamme käyttäjien yksityisyyttä emmekä kerää mitään henkilökohtaisia tietoja paitsi välttämättömimmät tiedot tilin luomiseen ja synkronointiin.","WEBSITE_MAINPAGE_FAQ_006_P2":"On myös ${1}Vieras-tila${2} rekisteröitymisen yhteydessä, joka ei vaadi mitään tietoja: tässä tilassa ei tehdä mitään kutsuja taustajärjestelmäämme. Se tulee kuitenkin kustannuksella hyödyllisiä ominaisuuksia, kuten kirjaston synkronointia laitteiden välillä.","WEBSITE_MAINPAGE_FAQ_007_H1":"Voinko heijastaa TV:hen?","WEBSITE_MAINPAGE_FAQ_007_P1":"Kyllä, tuemme Chromecastia ja voit heijastaa sekä työpöytä- että mobiilisovelluksista (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"Kuinka monta lisäosaa Stremiolla on?","WEBSITE_MAINPAGE_FAQ_008_P1":"Vuoden 2019 lopulla yli 50 - lisätietoja löytyy lisäosakatalogistamme.","WEBSITE_MAINPAGE_FAQ_009_H1":"Voiko Stremiota laajentaa lisäosakatalogin ulkopuolelle?","WEBSITE_MAINPAGE_FAQ_009_P1":"Kyllä, sinun pitäisi tarkistaa nämä: ${1}PimpMyStremio${2}, ${3}Reddit-yhteisöt${4}, ${5}Stremio Downloader${6}, jne.","WEBSITE_MAINPAGE_FAQ_010_H1":"Mitä laitteita Stremio tukee?","WEBSITE_MAINPAGE_FAQ_010_P1":"Meillä on työpöytäsovelluksia Windowsille, Macille ja Linuxille. Mobiililaitteille tuemme Androidia ja iOS:ia, vaikka iOS onkin rajoitettu toiminnallisuudessaan (ei tue suurinta osaa lisäosista).","WEBSITE_MAINPAGE_FAQ_010_P2":"On monia Android-pohjaisia laitteita, joilla voit käyttää Stremiota, kuten NVIDIA Shield ja Amazon Fire Stick, mutta emme tue niitä virallisesti.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"Meillä on työpöytäsovelluksia Windowsille, Macille ja Linuxille. Meillä on myös omistetut sovellukset Android Mobilelle ja Android TV:lle. iOS:lle ja iPadOS:lle suosittelemme käyttämään Stremio Webiä, vaikka se onkin rajoitetumpi toiminnallisuudessaan.","WEBSITE_MAINPAGE_FAQ_011_H1":"Voitko lisätä tiettyä sisältöä Stremioon?","WEBSITE_MAINPAGE_FAQ_011_P1":"Pahoittelut, emme tarjoa sisältöä itse, mutta mitä enemmän Stremio-lisäosia sinulla on asennettuna, sitä enemmän sisältöä löydät.","WEBSITE_MAINPAGE_FAQ_012_H1":"Voiko Stremio toistaa magnet-linkkejä?","WEBSITE_MAINPAGE_FAQ_012_P1":"Kyllä, ja se voi myös toistaa normaaleja HTTP-linkkejä ja torrent-tiedostoja (vedä ja pudota).","WEBSITE_MAINPAGE_FAQ_013_H1":"Voinko ladata videon ja katsoa sitä offline-tilassa?","WEBSITE_MAINPAGE_FAQ_013_P1":"Offline-tila on tulossa, mutta jos sallit Stremion välimuistin laitteellasi (asetuspaneelista), voit katsoa videoita myöhemmin ilman yhteyttä.","WEBSITE_MAINPAGE_FAQ_014_H1":"Mikään ei toimi, auta minua!","WEBSITE_MAINPAGE_FAQ_014_P1":"Oletko varma, että olet asentanut lisäosia? Jos kyllä, tarkista ${1}apukeskuksestamme${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"Kuinka Stremio ylläpitää kehitystoimintaansa?","WEBSITE_MAINPAGE_FAQ_015_P1":"Ajastamme ei-häiritseviä mainoksia satunnaisesti, mutta harkitsemme siirtymistä lahjoitusmalliin.","WEBSITE_MAINPAGE_FAQ_015_P2":"Lisää kysymyksiä varten siirry ${1}apukeskukseemme${2}.","HELP_LEARN_MORE":"Auttakaa meitä oppimaan lisää sinusta.","LIFESTYLE":"Elämäntyyli","SPORTS":"Urheilu","FOOD_HEALTH":"Ruoka ja terveys","BEAUTY_FASHION":"Kauneus ja muoti","NEWS":"Uutiset","GAMING":"Pelaaminen","SCIENCE_EDUCATION":"Tiede ja koulutus","MUSIC":"Musiikki","TRAVEL":"Matkailu","LATE_NIGHT":"Myöhäinen yö","REALITY":"Todellisuus","COMEDY":"Komedia","DIY":"Kuinka tehdä itse","TECH":"Tekniikka","CINEMA":"Elokuvat","CONTINUE":"Jatka","SLOW_LOADING":"HIDAS LATAUS?","I_GIVE_UP":"LUOVUTAN","LEARN_MORE":"Lue lisää","POOR_SOURCE":"Tämä lähde on huonosti saatavilla tai internet-yhteytesi ei ole tarpeeksi nopea","PICK_CATEGORIES_ERR":"Sinun on valittava vähintään 3 luokkaa","ADJUST_TIMING":"Säädä ajoitusta ","ADJUST_SIZE":"Säädä kokoa ","SEARCH_ANYTHING":"Voit etsiä mitä tahansa...","ALL_CATEGORIES":"Kaikki","SEARCH_CATEGORIES":"Elokuvat, sarjat, YouTube ja TV","SEARCH_PERSONS":"Näyttelijät, ohjaajat ja kirjoittajat","SEARCH_PROTOCOLS":"HTTP- ja magnet-linkit","SEARCH_TYPES":"IMDB / TVDB -linkit","WATCHED":"Katsottu","SHOW_LESS":"Näytä vähemmän","LAST_SEARCHES":"Viimeiset haut","CLEAR_HISTORY":"Tyhjennä historia","CHOOSE_SOME":"VALITSE JOITAIN TÄSTÄ:","NO_WEB_REMOTE":"Web Remote ei voitu ladata","STREMIO_OFFLINE":"Stremio on offline-tilassa","STREMIO_EXPENSIVE_CONNECTION":"Havaitsemme, että käytät matkapuhelinverkkoyhteyttä. Haluatko jatkaa?","USE_DATA":"Käytä dataa","WARNING":"Varoitus","MORE_INFO":"Lisätietoja ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Ladataan...","STREMIO_TV_BACK_TO_LANGUAGES":"Takaisin kielivalintoihin","STREMIO_TV_REMOTE":"Kaukosäädin","STREMIO_TV_GO_TO":"Siirry kohteeseen:","STREMIO_TV_OR_SCAN":"tai skannaa:","STREMIO_TV_ADDON_INSTRUCTIONS":"Seuraa ohjeita asentaaksesi haluamasi lisäosat.","STREMIO_TV_LIVE_TV":"Live TV","STREMIO_TV_RESUME_WATCHING":"Jatka katselua","STREMIO_TV_LOADING_BACKGROUND":"Ladataan taustaa","STREMIO_TV_CHECKING_AUTHENTICATION":"Tarkistetaan todennus","STREMIO_TV_LOADING_BOARD":"Ladataan hallintapaneelia","STREMIO_TV_LOGIN_HEADER_LINE_1":"Haluamme käyttäjiemme saavan parhaan mahdollisen henkilökohtaisen kokemuksen ohjelmistostamme.","STREMIO_TV_LOGIN_HEADER_LINE_2":"Siksi pyydämme ystävällisesti sinua tekemään tilin ja/tai kirjautumaan sisään.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Kiitos ymmärryksestäsi,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Stremio-tiimi","STREMIO_TV_REMOTE_INSTRUCTIONS":"Jotta voit käyttää Web Remotea älypuhelimellasi / tabletillasi / työpöydälläsi:","STREMIO_TV_WIFI_SETUP":"Wi-Fi-asetukset","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle ei havainnut internet-yhteyttä.","STREMIO_TV_WIFI_DETAILS_1":"Yhdistä:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Käytä salasanaa:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Avaa verkkoselain linkillä:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Oletus","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"Viimeksi katsotun mukaan","STREMIO_TV_LIBRARY_SORT_NAME":"Nimen mukaan","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"Katselukertojen mukaan","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Kausi ${1}","STREMIO_TV_STREAMS_LOADING":"Ladattu ${1} / ${2} lisäosaa...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} lisäosa latautuu edelleen...","STREMIO_TV_PLAYER_SETTINGS":"Soittimen asetukset","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Tekstitysten viive","STREMIO_TV_PLAYER_AUDIO_DELAY":"Äänen viive","STREMIO_TV_PLAYER_VIDEO_SCALING":"Videon skaalaus","STREMIO_TV_PLAYER_CHAPTERS":"Luvut","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Ohita ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Tämä lähteen lähetykset eivät ole tuettuja","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Epäonnistui avattaessa ulkoista linkkiä","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Ei säädettävissä äänen läpivientitilassa","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Toista ExoPlayerilla","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Toista libVLC-soittimella","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Siirrytään libVLC-soittimeen toistovirheen vuoksi","STREMIO_TV_ADDONS_TITLE":"Käytä Stremioa puhelimellasi tai tietokoneellasi asentaaksesi tai määrittääksesi lisäosia ja paina \\"Synkronoi lisäosat\\"","STREMIO_TV_ADDONS_SUBTITLE":"Huomaa: varmista, että käytät samaa Stremio-tiliä","STREMIO_TV_ADDONS_SYNC_ADDONS":"Synkronoi lisäosat","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Lisäosat synkronoitu onnistuneesti","STREMIO_TV_ADDONS_SYNC_FAILED":"Lisäosien synkronointi epäonnistui","STREMIO_TV_META_LINK_FAILED":"Epäonnistui avattaessa meta-linkkiä","STREMIO_TV_CATALOG_LOADING":"Luetteloa ladataan edelleen...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Käyttöliittymän kieli päivitetty","STREMIO_TV_SETTINGS_THEME_UPDATED":"Teema päivitetty","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Oletussoitin","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Ulkoiset soittimet","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Ensisijainen kieli","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Toissijainen kieli","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunneloitu toisto","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Mahdollisia toistovirheitä joillakin laitteilla","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Jotkin videomuodot eivät ehkä toimi","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Kuvataajuuden vastaavuus","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Poistettu käytöstä","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Vain kuvataajuus","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Kuvataajuus ja resoluutio","STREMIO_TV_SETTINGS_NO_CACHING":"Ei välimuistia","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Oletus","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Pehmeä","STREMIO_TV_SETTINGS_PROFILE_FAST":"Nopea","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Erittäin nopea","STREMIO_TV_SETTINGS_SERVER_URL":"Suoratoistopalvelimen URL-osoite","STREMIO_TV_SETTINGS_SERVER_VERSION":"Palvelimen versio","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Tuntematon","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio-versio","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Muokkaa palvelimen URL-osoitetta","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Syötä suoratoistopalvelimen URL-osoite","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Näytä tilastot latauksen aikana","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"Stremion tietosuojakäytännön lukemiseksi käy osoitteessa:","STREMIO_TV_SETTINGS_TOS_TEXT":"Stremion käyttöehtojen lukemiseksi käy osoitteessa:","STREMIO_TV_NAV_SEARCH":"Haku","STREMIO_TV_NAV_HOME":"Koti","STREMIO_TV_NAV_DISCOVER":"Löydä","STREMIO_TV_NAV_LIBRARY":"Kirjasto","STREMIO_TV_NAV_MOVIES":"Elokuvat","STREMIO_TV_NAV_SERIES":"Sarjat","STREMIO_TV_NAV_CHANNELS":"Kanavat","STREMIO_TV_NAV_TV":"Live TV","STREMIO_TV_NAV_SETTINGS":"Asetukset","STREMIO_TV_NAV_ADDONS":"Lisäosat","STREMIO_TV_LOGIN_TITLE":"Linkitä tili","STREMIO_TV_LOGIN_EXPIRES_IN":"Vanhenee","STREMIO_TV_LOGIN_STEP_ONE":"Skannaa yllä oleva QR-koodi tai siirry osoitteeseen","STREMIO_TV_LOGIN_STEP_TWO":"Kirjaudu sisään Stremio-tilillesi","STREMIO_TV_LOGIN_NEW_LINK":"Pyydä uutta linkkiä","STREMIO_TV_LOGIN_LINK_REFRESHED":"Kirjautumiskoodi päivitetty","STREMIO_TV_SEARCH_PLACEHOLDER":"Kirjoita jotain","STREMIO_TV_SEARCH_NO_ADDONS":"Ei lisäosia pyydetty katalogeille!","STREMIO_TV_SEARCH_BUTTON":"Hae","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Väli","STREMIO_TV_SEARCH_KEY_CLEAR":"Tyhjennä","STREMIO_TV_SEARCH_HISTORY_TITLE":"Hakuhistoria","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Voit hakea otsikoita, näyttelijöitä, kanavia ja paljon muuta...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Tyhjennä hakuhistoria","STREMIO_TV_FILTERS_DESCRIPTION":"Valitse yksi alla olevista suodattimista","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Suoratoistopalvelin ei ole käytössä. Tarkista palvelimen asetukset.","FILTERS":"Suodattimet","SETTINGS":"Asetukset","ACCOUNT":"Tili","LOGOUT":"Kirjaudu ulos","THEMES":"Teemat","PLAYBACK":"Toisto","PLAYBACK_SPEED":"Toistonopeus","AUDIO_TRACKS":"Ääniraidat","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Videot","SERVER":"Palvelin","LINKS":"Linkit","ABOUT":"Tietoja","INTERFACE":"Käyttöliittymä","ANIMATIONS":"Animaatiot","STATUS":"Tila","LANGUAGE":"Kieli","SIZE":"Koko","DELAY":"Viive","BOLD":"Lihavointi","OPACITY":"Opacity","TEXT_COLOR":"Tekstin väri","OUTLINE_COLOR":"Ääriviivan väri","BACKGROUND_COLOR":"Taustan väri","BACKGROUND_BLUR":"Taustan sumennus","SEEK_TIME_DURATION":"Etsi aikaa kesto","AUTO_PLAY":"Toista seuraava jakso automaattisesti","PLAY_NOW":"Toista nyt","MARK_AS_WATCHED":"Merkitse katsotuksi","MARK_AS_UNWATCHED":"Merkitse katsomattomaksi","REWIND_TO_BEGINNING":"Kelaa alkuun","CONTINUE_WATCHING":"Jatka katselua","ALL":"Kaikki","SECONDS":"sekuntia","ON":"PÄÄLLÄ","OFF":"POIS PÄÄLTÄ","RELOAD":"Lataa uudelleen","EDIT_URL":"Muokkaa URL-osoitetta","NONE":"Ei mitään","EMBEDDED":"Upotettu","REMOTE_SWITCH_DEVICES":"Vaihda laitetta","REMOTE_VIDEOS":"Videot","REMOTE_ADJUST_TIMING":"Säädä ajoitusta","REMOTE_ADJUST_SIZE":"Säädä kokoa","REMOTE_COULD_NOT_BE_LOADED":"Verkkokaukosäädin ei voitu ladata","REMOTE_RETRY":"Yritä uudelleen","TORRENT_PROFILE_DEFAULT":"Oletus","TORRENT_PROFILE_SOFT":"Hidas","TORRENT_PROFILE_FAST":"Nopea","TORRENT_PROFILE_ULTRA_FAST":"Erittäin nopea","FAQ_001_H1":"Mikä on Stremio?","FAQ_001_P1":"Stremio on mediasoitinohjelmisto, joka on suunniteltu videoviihdettä ajatellen. Stremio mahdollistaa oman elokuva-, sarja-, kanava- ja suoratoistokokoelman järjestämisen ja katsomisen.","FAQ_001_P2":"Stremio kerää näyttämänsä sisällön paikalliselta levyltäsi ja lisäosajärjestelmästämme.","FAQ_001_P3":"Se myös ilmoittaa sinulle, kun uusia jaksoja/videoita/elokuvia, joista olet kiinnostunut, tulee ulos, ja antaa sinulle elokuvasuosituksia.","FAQ_02_H1":"Miten Stremio vertautuu Kodiin ja Plexiin?","FAQ_02_P1":"Olemme saaneet inspiraatiota näistä kahdesta ohjelmistosta. Mutta meillä on erilaiset tavoitteet - Stremio on suunnattu erityisesti viihdevideoille ja pyrkii olemaan pääasiallinen ratkaisu tähän tarjoamalla erittäin helppokäyttöisen käyttöliittymän.","FAQ_02_P2":"Stremio ei koskaan tule olemaan yhtä muokattava ja ominaisuuksiltaan rikas kuin Kodi ja Plex, mutta se on merkittävästi helpompi käyttää. ${1} Hanki se ja katso ${2} :)","FAQ_03_H1":"Miten Stremio vertautuu Netflixiin?","FAQ_03_P1":"Netflix on jälleen yksi inspiraatioistamme. Pyrimme saavuttamaan Netflixin käyttökokemuksen, plus paljon lisäominaisuuksia. Mutta ennen kaikkea annamme sinulle vapauden hallita omaa kirjastoasi ja lisätä uusia sisältölähteitä lisäosajärjestelmämme avulla.","FAQ_03_P2":"Tämä tekee Stremiosta äärettömän laajennettavan, joten kun käytät Stremiota, et ole koskaan rajoitettu Netflixin lisensioimaan sisältöön. Esimerkiksi Stremion kautta voit katsoa sisältöä ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} ja jopa ${9}Netflix${10} itsestään!","FAQ_04_H1":"Miten Stremio vertautuu Flipboardiin?","FAQ_04_P1":"Emme saa sitä kysymystä kovin usein, paitsi kun puhumme aloittaville ihmisille :)","FAQ_04_P2":"Stremio on suunniteltu sisällön kerääjäksi, mikä tekee siitä käytännössä Flipboardin videolle. Tämä on erittäin ilmeistä Board-osiossamme, joka antaa sinulle katalogeja ja uusien jaksojen/uusien videoiden ilmoituksia siitä, mitä seuraat, aivan kuten Flipboard.","FAQ_05_H1":"Miten Stremio vertautuu Popcorn Timeen?","FAQ_05_P1":"Stremio ja Popcorn Time ovat samanlaisia käyttöliittymän suhteen, koska videoviihdekatalogeja ei ole monia tapoja tehdä oikein :)","FAQ_05_P2":"Mutta kun Popcorn Time keskittyy tiettyjen lähteiden torrentien suoratoistoon, Stremio on rajoittamaton ja on vain sisällön kerääjä - se ei ole lukittautunut tiettyyn sisältölähteeseen.","FAQ_05_P3":"Lisäksi emme tarjoa mitään torrent-lisäosia oletusarvoisesti, joten Stremio ei kata Popcorn Time -käyttötapaa virallisella toiminnallisuudella.","FAQ_05_P4":"Toinen huomattava ero on, että Popcorn Time on täysin avoimen lähdekoodin ohjelmisto, kun taas Stremio on ${1} osittain avoimen lähdekoodin${2}.","FAQ_06_H1":"Lisäättekö tämän elokuvan/sarjan?","FAQ_06_P1":"Ei, pahoittelut :(","FAQ_06_P2":"Kuten useimmissa muissa kysymyksissä mainitaan, Stremio ei tarjoa sisältöä itse - kaikki lisätään lisäosajärjestelmän kautta. Jos sinulla on sisältöpyyntö, voit käyttää “Report” -painiketta Soittimessa, joka lähettää sähköpostin käyttämäsi lisäosan tekijälle.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Luotteko lisäosan X:lle?","FAQ_08_P1":"Se on täysin mahdollista.","FAQ_08_P2":"Jos sinulla on idea lisäosalle, lähetä meille viesti osoitteeseen ${1}office@stremio.com${2}, mutta varmista, että lisäosa-ideasi ei loukkaa tekijänoikeuksia tai käyttöehtoja.","FAQ_08_P3":"Tällä hetkellä seuraavat asiat ovat tienhaarassamme: lisäosat FandangoNOW:lle, Filmon.tv videon tilaukselle ja Crunchyroll:lle.","FAQ_09_H1":"Käyttääkö Stremio BitTorrentia?","FAQ_09_P1":"Kyllä, Stremio tukee BitTorrentia suoratoistoprotokollana. Voit käyttää sitä joko torrent-lisäosan kanssa, raahaamalla ja pudottamalla .torrent-tiedoston Stremioon tai liittämällä magneettilinkin Haku-palkkiin.","FAQ_09_P2":"Huomaa, että ainoa virallinen BitTorrentia käyttävä lisäosa on ${1}Vodo${2}, joka tarjoaa indie-sisältöä, joka on kaikki sallittu jaettavaksi BitTorrentin kanssa.","FAQ_09_P3":"Emme tue kolmannen osapuolen lisäosien käyttöä, jotka saattavat mahdollistaa tekijänoikeusrikkomuksen.","FAQ_10_H1":"Mitä voin katsoa Stremiossa virallisilla lisäosilla?","FAQ_10_P1":"Oletusarvoisesti voit katsoa Filmon.tv:n, YouTuben ja Vodon sisältöä Stremiossa sen upotetulla soittimella. Lisäksi meillä on lisäosa Twitch.tv:lle ja muutamille muille.","FAQ_10_P2":"Tämä yhdistettynä tarjoaa valikoiman:","FAQ_10_L1":"Suosittuja TV-kanavia, jotka tarjoaa Filmon.tv - esimerkiksi E4, BBC, Bollyworld TV","FAQ_10_L2":"Kaikki YouTubesta - esimerkiksi BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indie-elokuvia Vodolla","FAQ_10_L4":"Online-pelilähetyksiä Twitch.tv:ltä","FAQ_10_P3":"Lisäksi on monia sisältölähteitä, jotka on tarjottu Guideboxin ja Netflix-lisäosien kanssa, jotka <b>eivät</b> soita kokonaan Stremiossa, vaan ohjaisivat annettuun palveluun. Esimerkiksi Guidebox-lisäosa antaisi sinulle valikoiman elokuvia, joita voit suoratoistaa Yhdysvalloissa ilmaiseksi palveluista, kuten TubiTV ja Crackle.","FAQ_11_H1":"Stremio ei asennu, mitä minun pitäisi tehdä?","FAQ_11_P1":"Jos käytät Windowsia, kokeile ${1}tätä vaihtoehtoista asennusohjelmaa${2}.","FAQ_11_P2":"Jos käytät Mac OS X:ää, huomaa, että emme tue mitään vanhempaa kuin OS X Mavericks (10.9).","FAQ_11_P3":"Jos käytät Linuxia, huomaa, että tuemme tällä hetkellä vain 64-bittistä (x64) Linuxia.","FAQ_11_P4":"Jos et vieläkään pysty ratkaisemaan ongelmaasi, kirjoita meille ${1}Facebook-ryhmässämme${2}.","FAQ_12_H1":"Miksi anti-virusohjelmani valittaa? Onko Stremio turvallinen?","FAQ_12_P1":"Vakuutamme sinulle, että Stremio on ${1}100% puhdas${2}.","FAQ_12_P2":"Anti-virusohjelmasi valittaa, koska sisällytämme mainoksia asennusohjelmaamme, jonka jotkut anti-virusohjelmat tunnistavat mainosohjelmaksi.","FAQ_12_P3":"Jos olet edelleen epävarma, voit kokeilla ${1}vaihtoehtoista asennusohjelmaamme${2}.","FAQ_13_H1":"Kuinka voin tehdä lisäosan?","FAQ_13_P1":"Aluksi suosittelemme tarkistamaan ${1}lisäosajärjestelmän moduulin${2} GitHubista.","FAQ_13_P2":"Sen jälkeen voit seurata ${1}Hello World -opetusohjelmaa${2}.","FAQ_13_P3":"Jos sinulla ei ole ohjelmointitaitoja, julkaise idea Reddit-yhteisössä ja ota yhteyttä meihin lisäosa-ideallasi osoitteessa ${1}office@stremio.com${2}.","FAQ_14_H1":"Kuinka lisäosat julkaistaan?","FAQ_14_P1":"Kun luot lisäosan ja isännöit sen, ja laitat <b>endpoint</b>-kentän manifestiisi, joka osoittaa toimivan lisäosan osoitteen, lisäosa julkaisee itsensä automaattisesti ${1}lisäosakatalogiimme${2}.","FAQ_14_P2":"Tämä tapahtuu, koska stremio-addons-moduulin palvelinosa tekee automaattisesti kutsun API:lle ilmoittaakseen lisäosasta. Kun API validoi <b>endpoint</b>-osoitteesi kelvolliseksi lisäosaksi, se alkaa näkyä katalogissa.","FAQ_15_H1":"Voinko käyttää Stremiota selaimessani?","FAQ_15_P1":"Ei tällä hetkellä, mutta tämä on tulossa!","FAQ_15_P2":"Jos olet utelias näkemään Alphan, voit nähdä sen täällä: ${1}alpha4.strem.io${2}. Huomaa, että suoratoisto on poistettu käytöstä tässä alfa-versiossa. Tuemme Chromea, Firefoxia, Operaa ja Edgeä.","FAQ_16_H1":"Heijastaminen TV:lle ei toimi / tekstitykset eivät toimi","FAQ_16_P1":"TV:lle heijastaminen käyttää DLNA-teknologiaa, joka on erittäin epäjohdonmukainen eri TV-merkkien ja -mallien välillä. Tämän vuoksi meillä ei ole mahdollisuutta testata sitä jokaisessa tapauksessa, joten se on kaukana täydellisestä. Siitä huolimatta työskentelemme sen parantamiseksi jatkuvasti, mutta emme voi antaa aikatauluarviota siitä, milloin DLNA alkaa toimia kunnolla TV:si kanssa.","FAQ_16_P2":"Jos et näe TV:täsi heijastusvalikossa, yritä poistaa verkkoyhteys käytöstä ja ottaa se uudelleen käyttöön (Windowsissa napsauta hiiren kakkospainikkeella Verkkoa ja käytä Käytä/Poista käytöstä), samoin kuin käynnistämällä reititin, TV ja tietokone uudelleen.","FAQ_16_P3":"Jos kohtaat edelleen ongelmia, voit auttaa meitä lähettämällä TV:si merkki- ja mallitiedot osoitteeseen ${1}office@stremio.com${2}.","FAQ_16_P4":"Sillä välin suosittelemme Chromecastia, jota tuemme erittäin hyvin, tai yksinkertaisesti liittämällä TV:si tietokoneeseesi HDMI-kaapelilla.","FAQ_17_H1":"Stremio jäätyy ja/tai kaatuu, mitä voin tehdä?","FAQ_17_P1":"Ensinnäkin, jos käytät Windows 7:ää AVG-antivirusohjelman kanssa: meillä on ongelma tämän yhdistelmän kanssa. Ongelma on AVG:ssä, eikä sitä ole järkevää ratkaista meidän puoleltamme. Valitettavasti poikkeukset tai anti-virusohjelman poistaminen käytöstä eivät toimi. Ainoa ratkaisu on korvata AVG jollain muulla.","FAQ_17_P2":"Jos tämä ei ole ongelma, mutta käytät edelleen Windowsia, päivitä uusimpaan palvelupakettiin ja päivitä/uudelleenasenna GPU-ohjaimet, ja yritä sitten uudelleen.","FAQ_17_P3":"Jos ongelmasi ei ole vielä ratkaistu tai käytät Macia tai Linuxia, kirjoita meille raportoiden ongelman tarkat tiedot ${1}Facebook-ryhmässämme${2}.","FAQ_18_H1":"Kuinka voin tehdä lisäosan?","FAQ_18_P1":"Aluksi suosittelemme tarkistamaan ${1}lisäosajärjestelmän moduulin${2} GitHubista.","FAQ_18_P2":"Sen jälkeen voit seurata ${1}Hello World -opetusohjelmaa${2}.","FAQ_18_P3":"Jos sinulla ei ole ohjelmointitaitoja, julkaise idea Reddit-yhteisössä ja ota yhteyttä meihin lisäosa-ideallasi osoitteessa ${1}office@stremio.com${2}.","FAQ_19_H1":"Miksi Stremio vie levytilaa?","FAQ_19_P1":"Stremiolla on <b>paikallinen välimuisti</b> videoiden tilapäiseen säilyttämiseen, joita suoratoistat.","FAQ_19_P2":"Tämä on kaksi etua: ensinnäkin se mahdollistaa Stremion esipuskuroinnin videon edessä, jotta varmistetaan sujuvampi suoratoisto. Toiseksi se pitää videot paikallisessa välimuistissa, jotta voit jatkaa niiden katselua offline-tilassa.","FAQ_19_P3":"Kuinka paljon Stremio pitää riippuu <b>välimuisti</b>-asetuksesta Asetukset-paneelissa. Stremio voi pitää jopa asetetun määrän (esim. 2 Gt) levyltäsi, ellei tällä hetkellä suoratoistettava video ole suurempi kuin se, jolloin sen on varattava tarpeeksi tallennustilaa, jotta voit suoratoistaa sen.","FAQ_20_H1":"Missä välimuistikansio on?","FAQ_20_P1":"Windowsissa se on stremio-cache asemassa, jonka valitsit Asetuksissa (esim. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"MacOS:ssa se on \\"~/Kirjasto/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"Linuxissa se on \\"~/.stremio/stremio-cache\\" tai \\"~/stremio-cache\\"","FAQ_21_H1":"Saan \\"Suoratoistopalvelinta ei löydy\\" -virheen, mitä voin tehdä?","FAQ_21_P1":"Jos saat tämän virheen, se tarkoittaa yhtä muutamaa asiaa:","FAQ_21_P2":"1) Yrität käyttää YouTube/BitTorrent-lähteellä varustettua lisäosaa, web-versiomme kautta. Tässä tapauksessa sinun pitäisi asentaa pöytäversiomme ${1}verkkosivustoltamme${2}.","FAQ_21_P3":"2) Jotain on vialla Stremio-asennuksessasi. Tässä tapauksessa kokeile uudelleenasentaa uusin pöytäversiomme ${1}verkkosivustoltamme${2}. Jos tämä ei auta, kokeile poistaa käytöstä anti-virusohjelmat ja palomuurit, käynnistä tietokone uudelleen ja yritä uudelleen. Jos tämäkään ei toimi, kirjoita meille Facebook-ryhmässämme.","FAQ_22_H1":"En voi nähdä/käyttää useimpia lisäosia iOS:lla","FAQ_22_P1":"Apple App Storen ehtojen rajoitusten vuoksi olemme rajoittaneet iOS-sovelluksen vain tiettyyn joukkoon lisäosia.","FAQ_22_P2":"Mutta ole varma - tulevaisuudessa on enemmän lisäosia iOS:lle, ja voimme myös lisätä integraation, joka mahdollistaa kaikkien Stremio-lisäosien käytön yhdistämällä iOS-sovelluksen Stremio Streaming Serveriin."}')},65829:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Film","TYPE_series":"Série","TYPE_tv":"Chaîne TV","TYPE_channel":"Chaîne","TYPE_other":"Autre","TYPE_movie_PL":"Film","TYPE_series_PL":"Séries","TYPE_tv_PL":"Chaînes TV","TYPE_channel_PL":"Chaînes","TYPE_other_PL":"Autres","TYPE_ALL":"Tous","TYPE":"Type","CATALOG_com_linvo_cinemeta_top":"Populaire","CATALOG_com_linvo_cinemeta_imdbRating":"À la une","CATALOG_com_linvo_cinemeta_year":"Nouveau","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Films du domaine public","VIDEO":"Vidéo","BACK":"Retour","MORE":"Plus","DONE":"Terminer","COPY":"Copier","SUCCESS":"Succès","ERROR":"Erreur","SETTINGS_CASTING_MODE_PICKER":"Mode de diffusion","CASTING_MODE_HLSV2":"Par défaut","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Pas de transcodage","Discover":"Découverte","Board":"Tableau","Library":"Bibliothèque","My Library":"Ma bibliothèque","Calendar":"Calendrier","NOTIFICATION_ONLINE":"Vous êtes maintenant connecté","NOTIFICATION_OFFLINE":"Vous êtes maintenant hors-ligne","INTERNET_CONNECTION":"Connexion internet","STORAGE_FULL_TITLE":"Attention : Espace de stockage plein !","STORAGE_FULL_TEXT":"Stremio sera incapable de sauvegarder vos réglages, préférences ou informations de connexion. N\'hésitez pas à relancer ou réinstaller Stremio.","SEARCH":"Recherche","SEARCH_NO_RESULTS":"Aucun résultat trouvé","SEARCH_EXPLANATION_CONTENT":"Recherchez des films, séries, chaines YouTube ou TV...","SEARCH_EXPLANATION_PEOPLE":"Recherchez des acteurs, directeurs et réalisateurs","SEARCH_PASTE_LINKS":"Collez une URL ou un lien magnet","SEARCH_OR_PASTE_LINK":"Rechercher ou coller un lien","SEARCH_SUGGESTIONS":"Suggestions de recherche","ADD_TO_LIB":"Ajouter à la bibliothèque","REMOVE_FROM_LIB":"Retirer de la bibliothèque","ADDED_TO_LIB":"Ajouté à la bibliothèque","REMOVED_FROM_LIB":"Retiré de la bibliothèque","TRAILER":"Bande-annonce","WATCH_TRAILER":"Regarder la bande-annonce","WATCH_NOW":"Regarder","SHOW":"Regarder","SHOW_MOVIE":"Afficher le film","WATCH_RANDOM":"Regarder aléatoirement","IMDB_RATING":"Note IMDb","YEAR":"Année","DIRECTOR":"Réalisateur","WRITER":"Scénariste","LEAD_ACTORS":"Acteurs principaux","CAST":"Casting","CREW":"Équipe","SHOW_MORE_CAST":"Afficher plus","AIRED":"Sortie","SEASONS":"Saisons","GENRE":"Genre","GENRE_ALL":"Tous les genres","CATALOG":"Catalogue","SUMMARY":"Résumé","SHOW_MORE":"Afficher plus","SIMILAR":"Similaire","UPCOMING":"À venir","ENDED":"Terminé","DURATION":"Durée","FEATURED":"À l\'affiche","METADATA":"Métadonnées","CATEGORY":"Catégorie","LINKS_GENRES":"Genres","LINKS_CAST":"Casting","LINKS_DIRECTORS":"Réalisateurs","SEARCH_VIDEOS":"Rechercher des vidéos","SEARCH_PLACEHOLDER":"Chercher ou coller un lien magnet","ADDON":"Addon","ADDONS":"Addons","OFFICIAL":"Officiels","ADDONS_OFFICIAL":"Addons Stremio officiels","ADDONS_POPULAR":"Populaire près de chez vous","ADDON_FREE":"Gratuit","ADDON_PEERED":"Peered","ADDON_SUBSCRIPTION":"Abonnement","ADDON_STREAM_GEORESTRICTED":"Non disponible chez vous","ADDON_STREAM_OFFLINECACHE":"Cache hors-ligne","ADDON_STREAM_LOCALFILE":"Fichier local","SHARE_ADDON":"Partager cet addon","AVAILABLE_STREAMS":"Flux disponibles","NO_STREAM":"Aucun flux n\'a été trouvé","ALL_ADDONS":"Tous","INSTALL_MORE_ADDONS":"Pour plus de flux, veuillez installer plus d\'addons","STREAM_NOT_SUPPORTED":"Le flux sélectionné n\'est pas supporté par la plateforme","ADDON_CATALOGUE":"Afficher tous les addons »","ADDON_CATALOGUE_MORE":"Installer des addons","REPO_ADDED":"Répertoire ajouté","ADDON_REPO_EXIST_ERR":"Cette collection d\'addons existe déjà","ADDON_REPO_ERR":"Une erreur s\'est produite lors de l\'ajout de la collection","ADDON_ADD_ERR":"Une erreur est survenue lors de l\'ajout du répertoire","ERR_ADDON_PROTECTED":"Extension protégé","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Quelque chose n\'a pas fonctionné - l\'authentification a peut-être échoué","ERR_NOT_COLLECTION_URL":"Ce n\'est pas une URL de collection","ERR_NOT_ADDON_URL":"Ce n\'est pas une URL d\'addon","ERR_DETECTFROMURL":"Impossible de trouver un addon/collection à partir de cette URL","ADDON_DUPLICATE_WARNING":"Attention : addon dupliqué","ADDON_COLLECTION_SET_FAILED":"La synchronisation des addons installés vers votre compte a échoué","SETTINGS_DATA_EXPORT":"Exporter mes données","ADDON_PULL_FAILED":"La synchronisation des addons installés depuis de votre compte a échoué","REFRESH_ON_CLICK":"Cliquez pour réessayer","STILL_IN_THEATER":"Le film est toujours en salle","WATCH_IN_CINEMA":"Regardez-le dans votre cinéma local","IN_THEATER":"Au cinéma","GET_TICKETS":"Acheter des places","UPCOMING_EPISODE":"Épisode à venir","UPCOMING_EPISODE_MESSAGE":"Cet épisode sera diffusé le","MISSING_DATE_EPISODE":"Date d\'épisode manquante","MISSING_DATE_EPISODE_MESSAGE":"Cet épisode n\'a peut-être pas encore été diffusé","CHANNEL_NOT_SCRAPED":"Cette chaîne n\'est pas disponible.<br>Revenez dans quelques minutes.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Ajoutez le à votre bibliothèque pour être notifié une fois sorti.","GET_NOTIFIED_WHEN_AVAILABLE":"Vous serez notifié une fois disponible.","WARNING_STREAMING_SERVER":"Attention, serveur de streaming local non trouvé. Le streaming depuis Youtube et BitTorrent ne sera pas disponible.","WARNING_STREAMING_SERVER_DISMISS":"Ignorer","WARNING_STREAMING_SERVER_LATER":"Plus tard","DECODER_WARNING":"Attention : cette vidéo peut ne pas être supportée par votre matériel. Gardez à l\'esprit que la lecture peut être lente.","GENERIC_ERROR_MESSAGE":"Il y a eu un problème !","TRY_AGAIN":"Réessayer","CLEAR_DATA":"Effacer les données","PLAYER_ERROR":"Oups, erreur du lecteur","PLAYER_ERROR_LOOKSLIKE":"On dirait que","PLAYER_ORIENTATION":"Orientation du lecteur","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Verrouillé","PLAYER_ORIENTATION_SENSOR_SHORT":"Capteur","PLAYER_ORIENTATION_LANDSCAPE":"Orientation du lecteur verrouillé en paysage","PLAYER_ORIENTATION_SENSOR":"Orientation automatique du lecteur (capteur)","PLAYER_PLAYBACK_SPEED":"Vitesse de lecture","PLAYER_PLAYBACK_ERROR":"Erreur de lecture, veuillez réessayer","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Erreur inconnue","PLAYER_PLAYBACK_ERROR_DEFAULT":"Désolé, cette vidéo ne peut pas être lue par {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Langues des sous-titres","PLAYER_SUBTITLES_VARIANTS":"Variantes des sous-titres","PLAYER_SUBTITLES_SETTINGS":"Réglages des sous-titres","PLAYER_SUBTITLES_DISABLED":"Sous-titres désactivés","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Position verticale","PLAYER_SUBTITLES_LOADED":"Sous-titres chargés","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Sous-titres intégrés chargés","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Sous-titres exclusifs chargés","PLAYER_SUBTITLES_LOADED_ORIGIN":"Sous-titres de {{origin}} chargés","PLAYER_PLAY":"Lecture","PLAYER_PAUSE":"Pause","PLAYER_NEXT_VIDEO":"Vidéo suivante","PLAYER_MUTE":"Sourdine","PLAYER_UNMUTE":"Rétablir le son","PLAYER_OPEN_IN_EXTERNAL":"Ouvrir dans un lecteur externe","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Jouer sur {{device}}","PLAYER_LIVE":"Live","PLAYER_NEXT_VIDEO_TITLE":"À venir dans","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Ignorer","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Regarder maintenant","PLAYER_COPY_STREAM_SUCCESS":"Le lien du flux a été copié dans votre presse-papiers","PLAYER_COPY_STREAM_ERROR":"Échec de la copie du lien de flux","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","STREAMING_FROM":"Diffusé à partir de","CASTING_TO":"Transmis à","NETWORK_STATUS":"Statut du réseau","STREAM_SPEED":"Vitesse du stream :","STREAM_BUFFERED":"Mis en cache :","PEERS_INFO":"Informations sur les pairs","PEERS_ACTIVE":"Actif :","PEERS_CONNECTED":"Connecté :","PEERS_WAITING":"En attente :","TRANSCODING_WARNING":"Attention: transcodage vidéo.","STREAM_LOADING":"Chargement...","PLAYING_LOCAL":"Lecture à partir d\'un fichier local","PLAYING_CACHE":"Lecture à partir du cache","WRONG_SUBS":"Mauvais sous-titres ?","ERR_SUBS_LOADING_TITLE":"Erreur de chargement des sous-titres","ERR_SUBS_LOADING":"Échec du chargement des sous-titres : il peut s\'agir d\'un problème avec l\'addon que vous utilisez, ou avec votre connexion réseau.","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Les addons de sous-titres suivants ont échoués","ERR_CASTING_UPDATE_TITLE":"Impossible de mettre à jour les informations sur le périphérique de diffusion : le serveur de streaming est peut-être hors ligne.","CHOOSE_DEVICE":"Choisissez un appareil sur lequel regarder","NO_CAST_DEVICES":"Aucun appareil de diffusion n\'est disponible.","NO_SETTINGS":"Aucun réglage disponible.","PHONE_TABLET":"Téléphone / Tablette","SUBTITLES":"Sous-titres","SUBTITLES_CHANGE":"Changer les sous-titres pour ","SUBTITLES_CHANGE_NONE":"Il n\'y a pas d\'autres sous-titres pour cette langue, désolé.","SUBTITLES_CHANGE_ACIVE":"Les sous-titres &#35;{{subtitlesDialog.activeIdx + 1}} sont actuellement activés. Cliquez sur \\"Continue\\" pour activer les sous-titres &#35;{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Sinon,","SUBTITLES_ADJUST_DELAY":"Ajuster le décalage des sous-titres :","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Utilisez les touches <span>G</span> / <span>H</span> pour les ajuster.","SUBTITLES_ADJUST_DELAY_TIP":"ASTUCE : vous pouvez utiliser les touches <span>G</span> / <span>H</span> pendant la lecture pour les régler.","SUBTITLES_DELAY":"Delai des sous-titres :","SUBTITLES_LOADING":"Chargement des sous-titres...","SUBTITLES_UNAVAILABLE":"Aucun sous-titre externe disponible","SUBTITLES_DISABLED":"Désactivés","EXTERNAL_PLAYER_DISABLED":"Désactivé","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Permettre le choix","EXTERNAL_PLAYER_HINT":"Conseil : il existe un paramètre permettant de toujours ouvrir avec un lecteur externe.","DONT_SHOW_AGAIN":"Ne plus montrer","SERVICE_INSTALL":"Installer","AUDIO":"Audio","DEFAULT_LANGUAGE":"Langue par défaut","DEFAULT_SECONDARY_LANGUAGE":"Langue secondaire par défaut","SEASON":"Saison","EPISODE":"Épisode","EPISODE_ABBREVIATION":"ÉP","SPECIAL":"Spécial","SORT":"Trier","SORT_BY":"Trier par","FILTER":"Filtrer","SORT_TRENDING":"Tendances","SORT_RECENT":"Récent","SORT_ALPHABET":"A-Z","SORT_ALPHABET_REVERSE":"Z-A","SORT_RATING":"Note","SORT_WATCHED":"regardés","SORT_YEAR":"Année","SELECT_TYPE":"Sélectionner le type","SELECT_SORT":"Sélectionner le filtre","SELECT_CATALOG":"Sélectionner le catalogue","SELECT_GENRE":"Sélectionner le genre","SORT_LASTWATCHED":"dernier regardés","SORT_NAME":"a-z","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"plus regardés","SORT_NOTWATCHED":"non regardés","New for You":"Nouveau pour vous","New Episodes":"Nouveaux épisodes","New Videos":"Nouvelles vidéos","Recommendations":"Recommandations","LIBRARY_RESUME":"Reprendre","LIBRARY_PLAY":"Lire","LIBRARY_DETAILS":"Détails","LIBRARY_RESUME_DISMISS":"Effacer","LIBRARY_CLEAR_PROGRESS":"Effacer l\'avancée de la lecture","LIBRARY_REMOVE":"Retirer","LIBRARY_NOT_LOGGED_IN":"La bibliothèque n\'est disponible que pour les utilisateurs connectés","CALENDAR_NOT_LOGGED_IN":"Le calendrier n\'est disponible que pour les utilisateurs connectés","NOT_LOGGED_IN_CLOUD":"Accédez à vos films et émissions de télévision préférés à tout moment et en tout lieu","NOT_LOGGED_IN_RECOMMENDATIONS":"Recommandations adaptées à votre historique de visionnage","NOT_LOGGED_IN_NOTIFICATIONS":"Ne manquez plus jamais un épisode","NOT_LOGGED_IN_CALENDAR":"Planifiez votre calendrier des sorties","DISCOVER_FEATURED":"Têtes d\'affiches","DISCOVER_TOP":"Top","DISCOVER_OSCAR":"Primés aux Oscars","DISCOVER_WARNING_TITLE":"Oups !","DISCOVER_EMPTY_CATALOG":"Cet addon a renvoyé un contenu vide.","DISCOVER_ADULT_WARNING":"Ce contenu n\'est visible que pour les adultes. Avez-vous plus de 18 ans ?","DISCOVER_NOADDON_WARNING":"Attention : aucune extension Stremio active pour ce type. Les fichiers sauvegardés seront montrés, rien ne sera mis à jour.","DISCOVER_LOAD_ERR":"Découvrir : n\'a pas réussi à charger le catalogue à partir de l\'addon","DISCOVER_ADDON_UNINSTALLED":"Ce contenu n\'est plus disponible, vous avez peut-être désinstallé l\'addon.","UNINSTALL_THIS_ADDON":"Désinstallez cet addon","ERR_ADDON_NOT_INSTALLED":"Cet addon n\'est pas installé. L\'installer maintenant ?","DETAIL_RECEIVE_NOTIF_SERIES":"Recevoir des notifications pour les nouveaux épisodes","DETAIL_RECEIVE_NOTIF_VIDEOS":"Recevoir des notifications pour les nouvelles vidéos","SIDEBAR_SHOW_STREAMS":"Afficher les flux","RELAUNCH":"Redémarrez maintenant!","UPGRADE":"Nouvelle version disponible ! Mise à jour vers la dernière version de Stremio","RELOAD_UI":"Rafraîchir l\'interface utilisateur","MANUAL_UPDATE_TITLE":"Mettez à jour votre version de Stremio","MANUAL_UPDATE_LINE1":"Vous utilisez une version obsolète de Stremio, ce qui est fortement déconseillé.","MANUAL_UPDATE_LINE2":"Veuillez mettre à jour dès que possible.","BUTTON_UPDATE_LATTER":"Pas maintenant.","BUTTON_UPDATE_NOW":"Mettre à jour","ANONYMOUS_USER":"Utilisateur anonyme","DONT_HAVE_ACC":"Vous n\'avez pas de compte ?","HAVE_ACC":"Vous avez déjà un compte ?","PASSWORD":"Mot de passe","PASSWORD_CONFIRM":"Confirmer le mot de passe","EMAIL":"E-mail","FB_LOGIN":"Continuer avec Facebook","FB_NOTHINGSHARED":"Rien ne sera partagé sans votre permission","FB_NOPOST":"Nous ne posterons rien en votre nom","OR":"ou","I_ACCEPT":"J\'accepte les","I_ACCEPT_BY_CLICKING":"En cliquant sur le bouton ci-dessus, je certifie que j\'accepte les ","TOS":"Conditions d\'utilisation","MUST_ACCEPT_TERMS":"Vous devez accepter les conditions","PASSWORDS_NOMATCH":"Les mots de passe ne correspondent pas","SIGN_UP":"Inscription","SIGN_UP_EMAIL":"S\'inscrire par email","CLICK_TO_SIGN_UP":"Cliquez ici pour vous inscrire.","LOG_IN":"Connexion","LOG_OUT":"Déconnexion","EXIT_FULLSCREEN":"Quitter le mode plein écran","ENTER_FULLSCREEN":"Entrer en mode plein écran","PLAY_URL_MAGNET_LINK":"Lire un URL/lien magnet","HELP_FEEDBACK":"Aide & commentaires","TERMS_OF_SERVICE":"Conditions d\'utilisation","PRIVACY_POLICY":"Politique de confidentialité","ABOUT_STREMIO":"À propos de Stremio","USER_PANEL":"Panneau utilisateur","LOGIN_LABEL":"Se connecter","GUEST_LOGIN":"Connexion invité","GUEST_LOGIN_NOTICE":"La connexion en tant qu\'invité n\'est pas recommandée. Se connecter de façon régulière permet à Stremio de synchroniser votre bibliothèque et de recevoir des notifications pour vos séries/chaines favorites. Êtes-vous sûr de vouloir continuer ?","GUEST_LOGIN_NOTICE_2":"La connexion en tant qu\'invité n\'est pas recommandée - vous n\'aurez pas de notifications synchronisées pour votre Bibliothèque ou Tableau, qui sont des fonctionnalités vitales de Stremio. Êtes-vous sûr de vouloir continuer ?","CLICK_HERE":"Cliquez ici","WRONG_PASSWORD":"Mauvais mot de passe. Si vous avez oublié votre mot de passe, ","SET_A_PASS":"Choisissez-en un","RESET_PASSWORD":"Réinitialiser le mot de passe","FORGOT_PASSWORD":"Mot de passe oublié ?","EMAIL_USED_WITH_FB":"Cet e-mail a été utilisé avec une connexion Facebook.","INVALID_EMAIL":"Veuillez entrer une adresse email valide","INVALID_PASSWORD":"Veuillez entrer un mot de passe valide","CONN_ERR":"Erreur de connexion - Réessayez plus tard.\\n\\nSi le problème persiste, désactivez le pare-feux/anti-virus (particulièrement Bitdefender).","IMPORT_FROM_GUEST":"Importer la bibliothèque à partir de votre compte invité","RECEIVE_UPDATES_EMAIL":"Recevoir des muses à jour par email de la part de Stremio","LOGIN_FAILED":"La connexion à échouée.","SIGNUP_FAILED":"L\'inscription a échoué.","SEARCH_FAILED":"Échec de la recherche","EMAIL_USED":"Cet email est déjà utilisé.","WAITING_FB_LOGIN":"Se connecter avec Facebook ....","EXTERNAL_PLAYER_TITLE":"Lire dans un lecteur externe","EXTERNAL_REMEMBER_PLAYER":"Voulez-vous vous souvenir de votre choix","EXTERNAL_ALWAYS_PLAY":"Oui","EXTERNAL_ONLY_ONCE":"Non","BEST_FIT":"Meilleur ajustement","FIT_SCREEN":"Ajuster à l\'écran","FILL":"Remplir","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"Dites-nous ce que vous aimez","INTRO_TASTE_LONG":"Dites-nous ce que vous aimeriez regarder","INTRO_TASTE_PICK":"Choisissez {{interestsRemaining}} centres d\'intérêt","INTRO_TASTE_PICK_MORE":"Choisissez encore {{interestsRemaining}} centres d\'intérêt","INTRO_TASTE_HELP_US":"Aidez-nous à mieux vous connaître.","INTRO_TASTE_CHOOSE_THESE":"Choisis-en quelques-unes :","INTRO_TASTE_CHOOSE_MIN":"Choisissez au moins 3 catégories","INTRO_TASTE_CHOOSE_MIN_ERR":"Vous devez choisir au moins 3 catégories !","INTRO_TASTE_LIFESTYLE":"Lifestyle","INTRO_TASTE_SPORTS":"Sports","INTRO_TASTE_FOOD_HEALTH":"Alimentation & santé","INTRO_TASTE_BEAUTY_FASHION":"Beauté & mode","INTRO_TASTE_NEWS":"News","INTRO_TASTE_GAMING":"Gaming","INTRO_TASTE_SCIENCE_EDU":"Science & éducation","INTRO_TASTE_MUSIC":"Musique","INTRO_TASTE_TRAVEL":"Voyages","INTRO_TASTE_LATE_NIGHT":"Late Night Show","INTRO_TASTE_REALITY":"Télé-réalité","INTRO_TASTE_COMEDY":"Comédie","INTRO_TASTE_DIY":"DIY","INTRO_TASTE_TECH":"Tech","INTRO_TASTE_CINEMA":"Cinéma","ADDON_NOT_SUPPORTED":"L\'addon sélectionné n\'est pas supporté sur cette plate-forme.","ADDON_DISCLAIMER":"Utiliser des extensions tierces sera toujours sujet à votre responsabilité ainsi qu\'aux lois et juridictions de votre lieu de résidence.","ADDON_ACTIVATE":"Activer cette extension ?","ADDON_REPO_ADD":"URL de la collection de l\'addon","ADDON_ADD":"Ajouter","INSTALL_ADDON":"Installer l\'addon","ADD_ADDON":"Ajouter un addon","ADD_ADDON_DESCRIPTION":"Vous pouvez ajouter un addon via un lien externe, qui apparaîtra dans la rubrique Addons installés.","PASTE_ADDON_URL":"Collez l\'URL de l\'addon","WHATS_NEW":"Nouveautés","BUTTON_CONTINUE":"Continuer","BUTTON_ACTIVATE":"Activer","BUTTON_ACTIVATED":"Activé","BUTTON_CANCEL":"Annuler","BUTTON_SUBMIT":"Valider","BUTTON_DISMISS_ALL":"Tout effacer","BUTTON_VIEW_ALL":"Voir tous","BUTTON_SEE_ALL":"Voir tous","BUTTON_COLOR_TRANSPARENT":"Transparent","OPEN_IN_BROWSER":"Ouvrir dans un navigateur","LIB_EMPTY":"Votre bibliothèque est vide. Découvrez à quel point c\'est utile :) ","HOW_START":"Voilà comment démarrer :","LIB_EMPTY_CAL":"Votre calendrier affiche les séries qui sont dans votre bibliothèque.","HOW_START_CAL":"Voici comment ajouter des séries :","LIB_EMPTY_BOARD":"Le tableau montre les notifications &amp; recommendations liées à votre Bibliothèque.","HOW_START_BOARD_WAIT":"S\'il vous plait, ajoutez quelques séries ou chaînes à votre Bibliothèque et laissez-nous quelques minutes pour procéder :)","HOW_START_BOARD":"Voici comment y ajouter des séries &amp; des films :","IMPORT_FB":"Importez des choses que vous aimez depuis <span>Facebook</span>","IMPORT_TRAKT":"Importez votre médiathèque depuis <span>Trakt</span>.","IMPORT_DISCOVER":"Trouver des choses intéressantes dans <span>Découverte</span>","IMPORT_DISK":"Importez des séries ou films que vous avez dans votre <span>disque dur</span>","PLEASE_CREATE_ACC":"S\'il vous plait <u>créez un compte</u> pour activer la Bibliothèque sync &amp; et le Tableau.","IMPORT_DISCOVER_SIGNUP":"Inscrivez-vous et trouvez des choses intéressantes à partir de <span>Discover</span>Découvrez","IMPORT_DISK_SIGNUP":"Inscrivez-vous et importez les films ou émissions que vous avez sur votre disque <span>Disque local</span>.","LIB_EMPTY_CLOUD":"Bibliothèque Cloud","LIB_EMPTY_CLOUD_DESC":"Bibliothèque cloud personnelle synchronisé sur tous les appareils","LIB_EMPTY_EARLY":"Early bird","LIB_EMPTY_EARLY_DESC":"Recevoir des notifications pour les nouveaux épisodes","LIB_EMPTY_PERSONAL":"Personnel","LIB_EMPTY_PERSONAL_DESC":"Obtenir des recommandations personnelles","LIB_EMPTY_CALENDAR_DESC":"Planifiez votre calendrier personnel de visionnage","LIB_EMPTY_ALL":"Inscrivez-vous pour obtenir tout cela :","LIB_EMPTY_BEST":"Inscrivez-vous pour profiter pleinement de Stremio","LIB_EMPTY_OTHER":"Inscrivez-vous pour activer l\'option Calendrier et d\'autres fonctions intéressantes","CALENDAR_ADDED":"Le calendrier Stremio a été ajouté à votre calendrier de bureau par défaut.","CALENDAR_ADDED_MSG":"Si cela ne fonctionne pas, veuillez ajouter manuellement cette URL à votre application de calendrier.","TRAKT_EXPIRED":"L\'authentification à Trakt a expiré, allez dans Paramètres et ré-authentifiez-vous.","TRAKT_REQUIRES_LOGIN":"Erreur de Trakt","TRAKT_REQUIRES_LOGIN_MSG":"Vous devez vous connecter","TRAKT_IMPORT_WATCHED":"Import","THEME":"Thème","THEME_DEFAULT":"Défaut","THEME_ADAPTIVE":"Adaptatif","SETTINGS_LABEL":"Réglages","SETTINGS_NAV_GENERAL":"Général","SETTINGS_NAV_PLAYER":"Lecteur vidéo","SETTINGS_NAV_STREAMING":"Streaming","SETTINGS_NAV_SHORTCUTS":"Raccourcis","SETTINGS_SHORTCUT_RELOAD_APP":"Rafraîchir l\'application","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Ouvrir les réglages","SETTINGS_SHORTCUT_SWITCH_TABS":"Changer d\'onglet","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Parcourir les onglets en avant","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Parcourir les onglets en arrière","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Naviguer entre les menus","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Aller à la recherche","SETTINGS_SHORTCUT_EXIT_BACK":"Quitter / Retour","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Afficher le menu de Vitesse de Lecture","SETTINGS_SHORTCUT_MENU_VIDEOS":"Afficher le menu Vidéos","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Basculer le menu des sous-titres","SETTINGS_SHORTCUT_MENU_INFO":"Basculer le menu d\'information","SETTINGS_SHORTCUT_FULLSCREEN":"Basculer en mode plein écran","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Afficher les contrôles","SETTINGS_SHORTCUT_PLAY_PAUSE":"Lecture / Pause","SETTINGS_SHORTCUT_VOLUME_UP":"Augmenter le volume","SETTINGS_SHORTCUT_VOLUME_DOWN":"Réduire le volume","SETTINGS_SHORTCUT_SEEK_NEXT":"Avancer la lecture","SETTINGS_SHORTCUT_SEEK_PREV":"Reculer la lecture","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Reculer dans la lecture","SETTINGS_SHORTCUT_SEEK_FORWARD":"Avancer dans la lecture","SETTINGS_SHORTCUT_PLAY_NEXT":"Lancer la vidéo suivante","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Augmenter la taille des sous-titres","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Réduire la taille des sous-titres","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Augmenter le délai des sous-titres","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Réduire le délai des sous-titres","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Afficher la barre latérale","SETTINGS_SHORTCUT_OR":"ou","SETTINGS_SHORTCUT_TO":"à","SETTINGS_SHORTCUT_SPACE":"Espace","SETTINGS_SHORTCUT_SHIFT":"Maj","SETTINGS_SHORTCUT_ESC":"Échap","SETTINGS_TRAKT_AUTHENTICATE":"Authentifier","SETTINGS_FACEBOOK_IMPORT":"Importer","SETTINGS_CALENDAR_SUBSCRIBE":"S\'abonner","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Langage de l\'interface","SETTINGS_LAUNCH_STARTUP":"Lancer au démarrage","SETTINGS_VLC_DEFAULT":"Lire avec VLC","SETTINGS_UI_LANGUAGE":"Langue de l\'interface","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Touche Echap pour quitter le plein écran","SETTINGS_GAMEPAD":"Activer le support de la manette de jeu","SETTINGS_CLOSE_WINDOW":"Fermer l\'application lorsque la fenêtre est fermée","SETTINGS_SUBTITLES_LANGUAGE":"Langue des sous-titres par défaut","SETTINGS_SUBTITLES_SIZE":"Taille par défaut des sous-titres","SETTINGS_SUBTITLES_BACKGROUND":"Arrière-plan des sous-titres","SETTINGS_SUBTITLES_COLOR":"Couleur des sous-titres","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Couleur du contour des sous-titres","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Couleur de l\'arrière-plan des sous-titres","SETTINGS_SEEK_KEY":"Touches directionnelles pour naviguer dans le temps","SETTINGS_SEEK_KEY_SHIFT":"Touches directionnelles pour naviguer dans le temps lorsque Maj est maintenue","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Durée du rembobinage et de l\'avance rapide","SETTINGS_BINGE":"Lire automatiquement le prochain épisode","SETTINGS_NEXT_VIDEO":"Afficher une notification pour commencer l\'épisode suivant","SETTINGS_NEXT_VIDEO_TRIGGER":"Afficher la notification du prochain épisode pendant :","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Durée de la popup pour la vidéo suivante","SETTINGS_PLAY_IN_BACKGROUND":"Lire en arrière-plan","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Lecture dans un lecteur externe","SETTINGS_RESIZE":"Redimensionnement automatique la fenêtre avant la lecture","SETTINGS_OVERRIDE_SERVER":"Remplacer l\'URL du serveur de streaming (avancé)","SETTINGS_SERVER_URL":"URL du serveur de streaming: ","SETTINGS_SERVER_AVAILABLE":"Le serveur de streaming est disponible.","SETTINGS_SERVER_UNAVAILABLE":"Le serveur de streaming n\'est pas disponible.","SETTINGS_SERVER_STATUS_ONLINE":"En ligne","SETTINGS_SERVER_STATUS_ERROR":"Erreur","SETTINGS_SERVER_CONFIGURE_TITLE":"Configurer l\'URL du serveur de streaming","SETTINGS_SERVER_CONFIGURE_INPUT":"Entrez l\'URL du serveur de streaming","SETTINGS_SERVER_CACHE_SIZE":"Taille du cache","SETTINGS_SERVER_TORRENT_PROFILE":"Profil de torrent","SETTINGS_HTTPS_ENDPOINT":"Point d\'accès au streaming HTTPS :","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Toujours utiliser les dernières version bêta","SETTINGS_IMPORT_FB":"Importer depuis Facebook","SETTINGS_IMPORT_DISK":"Importer depuis le disque dur","SETTINGS_IMPORT_TRAKT":"Importer depuis Trakt","SETTINGS_PAUSE_MINIMIZED":"Mettre en pause la lecture lorsque la fenêtre est réduite","SETTINGS_HWDEC":"Décodage accéléré par le matériel","SETTINGS_BACKGROUND":"Lecture en arrière-plan","SETTINGS_SUBSCRIBE_CALENDAR":"Inscrire au calendrier","SETTINGS_REQ_EXPORT":"Demande d\'exportation de données","SETTINGS_ACC_DELETE":"Demander la suppression du compte","SETTINGS_CHANGE_PASSWORD":"Changer de mot de passe","SETTINGS_TOS":"Conditions d\'utilisation","SETTINGS_SUPPORT":"Contacter le support","SETTING_LANGUAGE":"Langue","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_LOGOUT":"Déconnexion de Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Déconnexion de Trakt","SETTINGS_SCAN_FOR_REMOTE":"Scanner le code QR pour ouvrir la télécommande","SETTINGS_DESKTOP_NOTIFICATIONS":"Notifications de bureau","SETTINGS_DATA_SAVER":"Économiseur de données","SETTINGS_LANGUAGE_INTERFACE":"interface","SETTINGS_LANGUAGE_SUBS":"Sous-titres par défaut","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Sélection automatique de la piste audio","SETTINGS_DEFAULT_AUDIO_TRACK":"Piste audio par défaut","SETTINGS_SURROUND_SOUND":"Son surround","SETTINGS_ACCOUNT":"Compte","SETTINGS_PLATFORM":"Platforme","SETTINGS_VERSION":"Version","SETTINGS_ABOUT":"À propos","SETTINGS_MPV_WINDOW":"Lancer le lecteur dans une fenêtre séparée (avancé)","SETTINGS_PLAY_IN_EXTERNAL":"Toujours lancer la vidéo dans un lecteur externe","SETTINGS_STORAGE_BUTTON":"Effacer le stockage local","SETTINGS_STORAGE_MODAL_TITLE":"Êtes-vous sûr ?","SETTINGS_STORAGE_MODAL_MESSAGE":"Cela effacera le stockage local et vous déconnectera.","SETTINGS_HWDEC_PICKER":"Choisir un paramètre de décodage accéléré par le matériel","SETTINGS_HW_AUTOMATIC":"Automatique","SETTINGS_HW_DISABLED":"Désactivé","SETTINGS_HW_ACCELERATED":"Accélération du décodage","SETTINGS_HW_FULL":"Accélération complète","SETTINGS_HW_LEGACY":"Normal","SETTINGS_DISABLED":"Désactivé","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Autoriser la télémétrie","SETTINGS_REMOTE_URL":"URL distant","SETTINGS_COPY_REMOTE_URL":"Copier l\'URL distant","SETTINGS_REMOTE_URL_COPIED":"L\'URL distant à été copié dans votre presse-papiers","SETTINGS_SECTION_SUBTITLES":"Sous-titres","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Contrôles","SETTINGS_SECTION_AUTO_PLAY":"Lecture automatique","SETTINGS_SECTION_ADVANCED":"Avancé","SUBSPICKER_AUDIO":"Audio","SUBSPICKER_SUBTITLES":"Sous-titres addons","SUBSPICKER_BLACK_BACKGROUND":"Utiliser un fond de couleur noir","SUBSPICKER_VERTICAL_OFFSET":"Décalage vertical","SUBSPICKER_SIZE":"Taille","SUBSPICKER_DELAY":"Retard","SUBSPICKER_EMBEDDED_SUBS":"Sous-titres intégrés","MOBILE_PRIVACY_POLICY":"Politique de confidentialité","MOBILE_CRASH_REPORTING":"Rapport d\'incident","MOBILE_ZOOM_TO_FILL":"Agrandir pour remplir l\'écran","MOBILE_PASSTHROUGH":"Sortie audio numérique (passthrough)","MOBILE_RUN_LOW_BATTERY":"Fonctionne avec une batterie faible","MOBILE_RUN_FOREGROUND":"Exécuter en tant que service de premier plan","MOBILE_PERFORMANCE":"PERFORMANCES ET STABILITÉ","MOBILE_SERVER_ONLINE":"En ligne","MOBILE_SERVER_OFFLINE":"Hors ligne","MOBILE_QR_EXPIRES":"Le code QR expire dans ","MOBILE_LOG_INTO":"Connectez-vous à votre compte Stremio ","MOBILE_SCAN_QR":"Scannez le code QR ci-dessus ou rendez-vous sur ","MOBILE_LINK_ACCOUNT":"Lien du compte","MOBILE_SPEEDPICKER_CANCEL":"Annuler","MOBILE_SPEEDPICKER_LABEL":"Choisir la vitesse de lecture","MOBILE_EMPTY_LIBRARY":"Votre bibliothèque est vide","MOBILE_NO_ADDON_ACTIVE":"Aucun addon Stremio actif pour ce type.","MOBILE_ORGANIZER_WARNING":"L\'application Stremio Organizer offre des fonctionnalités limitées. Pour une liste des flux lisibles et l\'expérience complète de Stremio, utilisez Stremio sur ordinateur.","MOBILE_ADDON_LOADING":"Est toujours en cours de chargement","MOBILE_ADDONS_LOADING":"Les addons sont toujours en cours de chargement","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Configurez votre addon","MOBILE_CONFIGURE_ADDON_LABEL":"Configurer l\'addon","MOBILE_ORGANIZER_ADDONS_WARNING":"L\'application Stremio Organizer fournit une sélection limitée d\'addons. Pour profiter pleinement de l\'expérience Stremio, utilisez Stremio sur ordinateur.","MOBILE_DISCONNECT":"Déconnecter","MOBILE_LOOKING_FOR_DEVICES":"Recherche d\'appareils...","MOBILE_CAST_TO":"Diffuser sur","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Supprimer le compte","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"La suppression du compte n\'est pas instantanée en raison d\'obligations légales. Après avoir demandé la suppression de votre compte, vous devrez utiliser une autre adresse électronique/un autre profil Facebook pour créer un nouveau compte Stremio à l\'avenir.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirmer la suppression du compte","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Votre compte a été créé à l\'aide de Facebook. Pour supprimer votre compte, veuillez utiliser notre portail utilisateur à l\'adresse www.stremio.com/login.","MOBILE_DELETE_ACCOUNT_MESSAGE":"Veuillez indiquer votre mot de passe pour confirmer la suppression du compte.","MOBILE_DELETE_ACCOUNT_BUTTON":"Supprimer le compte","NAVIGATION_ON":"On","NAVIGATION_OFF":"Off","MARKETING_AGREE":"J\'accepte de recevoir des communications marketing de Stremio","QUIT":"Quitter","CONNECTED":"Connecté","AUTHENTICATE":"S\'authentifier","CACHING":"Mise en cache","SETTINGS_CACHING_DRIVE":"Emplacement du cache","ENABLE_LOCAL_FILES_ADDON":"Activer l\'addon pour les fichiers locaux (nécessite un redémarrage)","LOCAL_ADDON_NOT_ENABLED":"L\'addon local n\'est pas activé. Cliquez ici pour accéder aux paramètres et l\'activer","ENABLE_REMOTE_HTTPS_CONN":"Activer les connexions HTTPS à distance","TORRENT_PROFILE":"Profil du client Torrent","DATA_CACHING":"Mise en cache des données","MAGNET_PARSING":"Analyser un lien magnet","January":"Janvier","February":"Février","March":"Mars","April":"Avril","May":"Mai","June":"Juin","July":"Juillet","August":"Août","September":"Septembre","October":"Octobre","November":"Novembre","December":"Décembre","Monday":"Lundi","Tuesday":"Mardi","Wednesday":"Mercredi","Thursday":"Jeudi","Friday":"Vendredi","Saturday":"Samedi","Sunday":"Dimanche","Action":"Action","Comedy":"Comédie","War":"Guerre","Family":"Famille","Animation":"Animation","Adventure":"Aventure","Fantasy":"Fantaisie","Crime":"Crime","Mystery":"Mystère","Romance":"Romance","Drama":"Drame","Horror":"Horreur","Thriller":"Thriller","Sci-Fi":"Science-fiction","Music":"Musique","Biography":"Biographie","Documentary":"Documentaire","Sport":"Sport","Musical":"Musical","Western":"Western","Film-Noir":"Film-noir","News":"Actualité","History":"Histoire","Game-Show":"Jeu télévisé","Reality-TV":"Télé-réalité","Talk-Show":"Talk-show","Film & Entertainment":"Film & divertissement","Gaming":"Gaming","From TV":"Depuis la TV","Lifestyle":"Lifestyle","Science & Education":"Science & éducation","Cooking & Health":"Cuisine & santé","Beauty & Fashion":"Beauté & mode","Sports":"Sports","News & Politics":"Actualités & politique","How-to & DIY":"Tutoriels","Tech":"Tech","Automotive":"Auto-moto","Causes & Non-Profits":"Causes et organisations à but non lucratif","Movies":"Films","Uk Live Tv":"TV en direct du Royaume-Uni","Fashion":"Mode","Business News Radio":"Radio actualité Business","Business Tv":"Business TV","Cars & Auto":"Voiture & auto","Comedy Radio":"Radio Comédie","Lifestyle Radio":"Radio Lifestyle","News Tv":"Actualités TV","Food And Wine":"Nourriture et vin","Latino Tv":"TV Latino","Shopping Tv":"Télé-Shopping","Religion":"Religion","Kids":"Enfants","Body & Soul":"Corps & âme","Education":"Éducation","Indian Tv":"TV Indienne","Extreme Sports":"Sports extrêmes","Middle Eastern Tv":"TV Moyen Orient","Celebrity Tv":"TV Célébrité","Science Tv":"TV Science","Bikini babe":"Bikini","Outdoors":"Extérieur","German Tv":"TV Allemande","French Tv":"TV Française","Italian Tv":"TV Italienne","Gamer Tv":"TV Gamer","Travel":"Voyage","Asian Tv":"TV Asiatique","Entertainment":"Divertissement","News Radio":"Radio Actualité","Music Radio":"Radio Musique","Language Learning":"Apprentissage de Langues","Science Radio":"Radio Science","Tech Radio":"Radio Tech","Science & Technology Vod":"VOD Science & Technologie","new video":"Nouvelle vidéo","new episode":"Nouvel épisode","new movie":"Nouveau film","recommended":"Recommandé","we recommend":"Nous vous conseillons","offer of the day":"Offre du jour","news":"News","music video":"Clip","CTX_SHOW_HOTKEYS":"Afficher les raccourcis","CTX_DISMISS_NOTIF":"Ignorer les notifications","CTX_DISMISS_ALL":"Effacer tout","CTX_SHARE":"Partager","CTX_COPY_SHARE_LINK":"Copier le lien de partage","CTX_COPY_MAGNET_LINK":"Copier le lien magnet","CTX_COPY_STREAM_LINK":"Copier le lien du stream","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Télécharger cette vidéo","CTX_DOWNLOAD_SUBS":"Télécharger les sous-titres","CTX_VIEW_ON_YOUTUBE":"Regarder sur YouTube","CTX_SHOW":"Regarder","CTX_PLAY":"Lire","CTX_PLAY_IN":"Lire dans","CTX_PLAY_ON":"Lire sur","CTX_WATCH_ON":"Regarder sur","CTX_WATCH":"Regarder","CTX_WATCHED":"Regardé","CTX_WATCH_BEGINNING":"Regarder depuis le début","CTX_WATCH_MOBILE":"Regarder sur un appareil mobile","CTX_REWIND":"Redémarrer","CTX_MARK_WATCHED":"Marquer comme vu","CTX_MARK_NON_WATCHED":"Marquer comme non-vu","CTX_MARK_UNWATCHED":"Marquer comme non-vu","CTX_MARK_REST":"Marquer le reste comme vu","CTX_UNMARK_REST":"Marquer le reste comme vu","CTX_RECEIVE_NEW_NOTIF":"Recevoir les nouvelles notifications","CTX_ENABLE_NEW_NOTIF":"Activer les notifications","CTX_DISABLE_NEW_NOTIF":"Désactiver les notifications","CTX_REMOVE_CACHE":"Supprimer du cache","CTX_REMOVE_CACHE_EP":"Supprimer l\'épisode du cache","CTX_OPEN_CONTAINING":"Ouvrir le fichier cible","CTX_REMOVE":"Retirer de la bibliothèque","CTX_AVAILABLE_OFFLINE":"Disponible hors-ligne","CTX_PAUSED":"Mis en pause","CTX_ALWAYS_ON_TOP":"Toujours en haut","CTX_FULLSCREEN":"Plein écran","CTX_WRONG_SUBS":"Mauvais sous-titres ?","CTX_REPORT_ISSUES":"Rapporter un problème","CTX_COPY":"Copier","CTX_PASTE":"Coller","CTX_CLEAR":"Effacer","CTX_CLEAR_RECENT_SEARCHES":"Effacer les recherches récentes","HELLO_THERE":"Salut","HOPE_YOU_ENJOY":"Nous espérons que vous apprécierez Stremio et que c\'est déjà une de vos applications préférées !","WHO_ARE_WE":"Qui sommes-nous ? L\'équipe derrière ça, deux mecs travaillant très dur dans un seul but : rendre ce logiciel de mieux en mieux.","SUPPORT_US":"Si vous aimez Stremio - aidez-nous !","SPREAD_THE_WORD":"Parlez-en à vos amis, partagez l\'application","MORE_PEOPLE":"Plus de personnes utiliseront Stremio, mieux l\'application sera !","SEND_A_LINK":"ou envoyez un lien vers notre site !","TIP_LOCALFILES":"Astuce : vous pouvez glisser-déposer des fichiers vidéo locaux dans Stremio","ADDON_MY":"Mes addons","ADDON_COMMUNITY":"Addons communautaires","ADDON_OFFICIAL":"Addons officiels","ADDON_REPOS":"Dépôts d\'addons","ADDON_SEARCH":"Rechercher des addons","ADDON_INSTALL":"Installer","ADDON_CONFIGURE":"Configurer","ADDON_UNINSTALL":"Désinstaller","ADDON_UPGRADE":"Mettre à jour","ADDON_INSTALLED":"Installés","ADDON_INSTALLED_MSG":"Addon installé !","ADDON_UPGRADED_MSG":"Addon mis à jour !","ADDON_UNKNOWN":"Inconnu","ADDON_ERR":"Erreur d\'installation de l\'addon !","ADDON_DISCONNECTED":"Déconnecté","ADDON_APP_MISSING":"L\'application pour cette source n\'est pas installée. Voulez-vous l\'installer maintenant ?","ADDON_APP_INSTALL":"Installer maintenant","ADDON_PAGE":"Page des addons","ADDON_TOP_CONTENT":"Le meilleur de cet addon","ADDON_PROVIDES":"fournit","ADDON_WATCH":"Regardez des #{types} maintenant !","ADDON_WATCH_FREE":"Regardez des #{types} GRATUITEMENT maintenant !","ADDON_ADDON":"Addon","ADDON_SUPPORTED_TYPES":"Types pris en charge","ADDON_SUPPORTED_CATALOGS":"Catalogues pris en charge","ADDON_PROVIDES_DISCOVER":"Plus de #{types} dans Découverte","ADDON_PROVIDES_STREAMS":"Regarder #{types}","ADDON_PROVIDES_STREAMS_FREE":"Regarder #{types} GRATUITEMENT","ADDON_PROVIDES_SUBTITLES":"Sous-titres pour #{types}","ADDON_CANTDETECT":"Nous n\'avons pas pu détecter une instance Stremio en cours d\'exécution, nous ne pouvions donc pas détecter quels addons vous avez installés.","ERR_NO_META":"Aucune information trouvée à ce sujet ","ERR_GETTING_META":"Erreur lors de la récupération d\'informations à ce sujet.","ERR_CANT_PARSE_MAGNET":"Impossible d\'analyser le magnet","ERR_NO_MAGNET_INFOHASH":"Pas de hachage d\'info valide pour le magnet","ERR_NO_FILE_PATH":"Impossible d\'envoyer une requête sans chemin d\'accès au fichier","ERR_NO_TORRENT":"Aucun torrent retourné","ERR_NO_SUPPORTERD_FILES":"Aucun fichier supporté trouvé","ERR_OPENING_FILES":"Impossible d\'ouvrir les fichiers externes","ERR_INVALID_LINK":"Lien invalide","ERR_REGISTERED_ONLY":"Cette option n\'est disponible que pour les utilisateurs enregistrés seulement.","ERR_CLIPBOARD":"Impossible de lire à partir du presse-papiers","ERR_CLIPBOARD_READ":"Impossible de lire le presse-papiers sur cette plateforme","ERR_CLIPBOARD_GENERIC":"Aucune URL lisible trouvée dans le presse-papiers. Veuillez copier une URL (par exemple un lien magnet) vers une vidéo.","BOARD_CONTINUE_WATCHING":"Continuer de regarder","BOARD_EXPLANATION_RECOMMENDATIONS":"Films sélectionnés spécialement pour vous.<br />Ce film est un exemple de recommandation.","BOARD_EXPLANATION_EPISODES":"Les nouveaux épisodes de vos Séries préférées arrivent ici.<br />Ajouter les séries que vous suivez à votre bibliothèque.","BOARD_EXPLANATION_VIDEOS":"Les nouveaux épisodes de vos Chaînes préférées arrivent ici.<br />Ajouter les chaînes YouTube que vous suivez dans votre bibliothèque.","WEBSITE_ENJOYED_BY":"Apprécié par plus de 30 millions d\'utilisateurs dans le monde","WEBSITE_STREAMING_ENHANCED":"Streaming amélioré","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offre une expérience de divertissement sécurisée, moderne et transparente. Grâce à son interface conviviale et à sa bibliothèque de contenus variés, dont la prise en charge du 4K HDR, les utilisateurs peuvent profiter de leurs films et émissions de télévision préférés sur tous leurs appareils. Grâce à son engagement en matière de sécurité, Stremio est le meilleur choix pour une expérience de streaming de haute qualité en toute sérénité.","WEBSITE_AVAILABLE_ON":"Disponible sur","WEBSITE_WATCH_AND_ENJOY":"Regarder & profiter.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Avec Stremio, c\'est du gâteau","WEBSITE_ALL_FEATURES":"Toutes les fonctionnalités","WEBSITE_EASY_TO_USE":"Facile à utiliser","WEBSITE_EASY_TO_USE_DETAILS":"Stremio est conçu pour être convivial et facile à utiliser. Grâce à son interface claire et intuitive, vous pouvez facilement naviguer et trouver le contenu que vous souhaitez regarder.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Synchronisation transparente entre les appareils","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Disponible pour un large éventail de plateformes (Windows, Mac, Linux, Android, etc.), Stremio suit vos progrès sur tous vos appareils. Il vous suffit de vous connecter et de continuer à regarder sans avoir à configurer à nouveau l\'application sur chaque nouvel appareil.","WEBSITE_ALL_DOWNLOADS":"Tous les téléchargements","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"Supporte la vidéo HD","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"Un lecteur vidéo intégré prenant en charge la plupart des formats vidéo, y compris les contenus 4K HDR, vous permet de profiter de la meilleure qualité disponible.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Bibliothèque de contenu diversifié","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio intègre un grand nombre de sources vidéo populaires, telles que Netflix, Amazon Prime Video, Hulu, YouTube et bien d\'autres.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Créer un compte gratuit","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Expérience de visionnage sur mesure","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio vous permet de personnaliser l\'aspect et la convivialité de l\'interface en changeant le thème, en ajoutant ou en supprimant des addons, etc..","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Prise en charge des sous-titres multilingues","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"Vous pouvez désormais profiter de vos contenus préférés dans la langue de votre choix, car Stremio prend en charge les sous-titres dans toutes les langues.","WEBSITE_ALL_STREMIO_FEATURES":"Toutes les fonctionnalités de Stremio","WEBSITE_TRY_STREMIO_TITLE_P1":"Essayer Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"Sur votre TV maintenant","WEBSITE_YOU_CAN_NOW_WATCH":"Vous pouvez désormais regarder vos émissions de télévision préférées sur vos appareils TV Android. L\'application Stremio TV vous permet de profiter d\'une soirée cinéma en toute simplicité.","WEBSITE_YOU_CAN_NOW_WATCH_2":"Vous pouvez désormais regarder vos émissions de télévision préférées sur votre Smart TV ou Android TV. Les applications Stremio TV vous permettent de profiter d\'une soirée cinéma en toute simplicité.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio pour Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probablement la meilleure et la plus utile des applications à avoir dans son appareil. C\'est l\'une des applications que j\'utilise quotidiennement, en particulier sur mon Android TV depuis de nombreuses années maintenant. Bien faite avec une communauté forte qui fournit des fonctionnalités utiles. Bien joué. Continuez à faire du bon travail.","WEBSITE_REVIEWS":"Avis","WEBSITE_GET_STREMIO_FOR_FREE":"Obtenir Stremio gratuitement","WEBSITE_GET_STREMIO_NOW":"Obtenir Stremio maintenant","WEBSITE_STREMIO_FEATURES":"Fonctinnalités de Stremio","WEBSITE_STREMIO_FEATURES_DETAILS":"Visionnez comme un pro grâce aux fonctions avancées de Stremio et profitez d\'un accès transparent à tous vos médias préférés.","WEBSITE_DISCOVER_MORE":"Découvrez plus.","WEBSITE_DISCOVER_MORE_DETAILS":"Jamais à court de choses à regarder","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio dispose d\'une grande communauté active d\'utilisateurs qui contribuent au développement du logiciel en créant et en partageant des addons.","WEBSITE_GET_INVOLVED":"Participez","WEBSITE_NEW_THEATER_EXPERIENCE":"Nouvelle expérience de cinéma","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"La nouvelle application TV dédiée de Stremio vous permet de profiter d\'une soirée cinéma sur vos appareils Android TV.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Les nouvelles applications TV dédiées de Stremio vous permettent de profiter d\'une soirée cinéma sur votre Smart TV ou vos appareils Android TV.","WEBSITE_FREE_AND_SECURE":"Gratuit et sécurisé","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offre aux utilisateurs une sécurité et une confidentialité inégalées. Grâce à sa fonction unique d\'exécution à distance des modules complémentaires, Stremio offre un moyen plus sûr de diffuser vos contenus préférés que d\'autres plateformes. Votre sécurité et votre vie privée sont des priorités absolues, et la plateforme veille à ce que toutes vos données soient protégées.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Dites adieu aux inquiétudes concernant la sécurité et la vie privée et dites bonjour à un monde de divertissement sans fin avec Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Informations fournies par","WEBSITE_CONTRIBUTE":"Contribuer","WEBSITE_CONTRIBUTE_DESC":"au projet & aidez nous à améliorer Stremio","WEBSITE_COMMUNITY_DESC":"Nous pensons que la meilleure façon de créer une expérience de streaming vraiment étonnante est d\'impliquer notre communauté dans le processus. Que vous soyez un programmeur, un artiste ou simplement un fan, vous pouvez aider Stremio à se développer.","WEBSITE_COMMUNITY_DESC_2":"Rejoignez-nous dès aujourd\'hui, devenez membre de la communauté Stremio et continuez à façonner l\'avenir du streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Comment contribuer","WEBSITE_IN_THE_STREMIO_COMMUNITY":"dans la communauté Stremio","WEBSITE_SHARE_YOUR_THOUGHTS":"Partagez vos impressions","WEBSITE_REPORT_BUGS":"Rapporter un bug","WEBSITE_SUGGEST_FEATURES":"Suggérer une fonctionnalité","WEBSITE_AND_PROVIDE_FEEDBACK":"et donnez votre avis sur nos réseaux sociaux.","WEBSITE_BETA_TESTING_PROGRAM":"Programme de béta test","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participez à notre programme de test bêta (nous envoyons régulièrement des invitations) dans la communauté Stremio.","WEBSITE_JOIN_NOW":"Rejoignez maintenant !","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Communautés officielles de Stremio","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Communautés non officielles de Stremio","WEBSITE_BECOME":"Devenir","WEBSITE_A_VOLUNTEER_TRANSLATOR":"un traducteur volontaire","WEBSITE_ARE_YOU_A_DEVELOPER":"Êtes-vous un développeur ?","WEBSITE_CONTRIBUTE_CODE":"Vous pouvez contribuer au code de nos projets open source. Nous avons plusieurs projets sur GitHub qui recherchent des contributeurs. Si vous souhaitez nous aider, consultez-les :","WEBSITE_STREMIO_ON_GITHUB":"Stremio sur GitHub","WEBSITE_CREATE_ADDON_DESC":"Créer un addon pour améliorer les fonctionnalités de Stremio (nous avons une API facile à utiliser) :","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"Nous offrons également la possibilité de nous rejoindre en tant que développeur stagiaire afin que nous puissions grandir ensemble.","WEBSITE_APPLY_AS_AN_INTERN":"Postuler en tant que stagiaire","WEBSITE_CALLING_ALL_ARTISTS":"Appel à tous les artistes !","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Montrez votre créativité et votre amour pour Stremio en téléchargeant votre fan art dans notre galerie en ligne. Qu\'il s\'agisse d\'un dessin, d\'une peinture ou d\'une conception numérique, nous voulons voir votre vision unique de la marque Stremio. Rejoignez notre communauté de passionnés d\'art et partagez votre travail avec d\'autres fans de Stremio dans le monde entier.","WEBSITE_STREMIO_FANART_GALLERY":"Galerie de fanarts de Stremio","WEBSITE_INTERN_DESIGNER":"Intégrez notre équipe et donnez une nouvelle dimension à votre créativité grâce à nos offres de stage passionnantes.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Projet de films du domaine public","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"Chez Stremio, nous nous engageons à préserver l\'histoire du cinéma et de la télévision en identifiant les vidéos du domaine public et les vidéos orphelines. En collaborant avec notre communauté, nous pouvons faire en sorte que ces œuvres d\'art classiques soient accessibles à tous et protégées pour que les générations futures puissent en profiter.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"N\'hésitez pas à nous contacter si vous souhaitez participer à ce projet.","WEBSITE_JOIN_THE_PROJECT":"Rejoignez le projet","WEBSITE_BE_PART_OF_OUR_MISSION":"Participez à notre mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Intéressé pour rejoindre l\'équipe Stremio ? Toutes nos offres sont 100% remote pour professionnels passionés. Regardez nos offres d\'emploi.","WEBSITE_OPEN_POSITIONS":"POSTES OUVERTS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"En savoir plus","WEBSITE_COMPANY":"Entreprise","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Aide ?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide pour Stremio Web sur iOS","WEBSITE_LINK_ART_V2":"Gallerie de fanarts","WEBSITE_PARTNERS":"Partenaires","WEBSITE_SLOGAN_WATCH":"Regarder instantanément","WEBSITE_SLOGAN_ALL":"Toutes les vidéos que vous aimez au même endroit","WEBSITE_SLOGAN_NEW":"Tout ce que vous pouvez regarder","WEBSITE_SLOGAN_NEW_NEW":"Freedom to Stream","WEBSITE_WATCH_FROM":"Regarder depuis","WEBSITE_DOWNLOAD":"Télécharger maintenant","WEBSITE_DOWNLOAD_FOR":"Télécharger maintenant pour","WEBSITE_IS_DESKTOP":"Stremio est une application de bureau, ouvrez cette page sur votre PC et téléchargez la","WEBSITE_DESKTOP_DEMO_VID":"Démo","WEBSITE_PAGE_HOME":"Accueil","WEBSITE_PAGE_FEATURES":"Fonctionnalités","WEBSITE_PAGE_ADDONS":"Extensions","WEBSITE_PAGE_TECH":"Technologies","WEBSITE_PAGE_CREATE_ADDON":"Créer une extension","WEBSITE_PAGE_CONTACTS":"Contacts","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Veuillez saisir votre nouveau mot de passe ci-dessous.","WEBSITE_RESET_PASSWORD_WARNING":"Êtes-vous sûr de vouloir réinitialiser le mot de passe pour ${1} ?","WEBSITE_TYPE_movie":"Films","WEBSITE_TYPE_series_PL":"Séries","WEBSITE_TYPE_tv":"TV en live","WEBSITE_TYPE_channel":"Chaînes","WEBSITE_STREMIO_WHAT_IS":"Stremio set une application qui vous aide à organiser et à accéder instantanément à vos vidéos, films, séries TV et chaînes TV préférées","WEBSITE_FEATURES_WATCH":"Regarder immédiatement en HD","WEBSITE_FEATURES_WATCH_DETAIL":"Cliquer pour lancer vos vidéos, films, séries TV et chaînes TV préférées","WEBSITE_FEATURES_SUBS":"Sous-titres automatiques","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio choisit automatiquement les sous-titres pour votre langue.","WEBSITE_FEATURES_SUBS_LABEL":"À vous, chef","WEBSITE_FEATURES_CAST":"Lecture sur TV et appareils mobiles","WEBSITE_FEATURES_CAST_DETAIL":"Envoyer vers une AppleTV, Chromecast, Smart TV (DLNA/UPnP) ou un appareil mobile.","WEBSITE_LIB":"Profitez de votre bibliothèque personnelle, synchronisée sur tous vos appareils","WEBSITE_LIB_COLLECT":"Récupérer depuis Stremio","WEBSITE_LIB_IMPORT":"Importer depuis Facebook","WEBSITE_LIB_LOCAL":"Ajouter depuis votre disque","WEBSITE_BOARD":"Le tableau - Votre étape pour les notifications et recommandations","WEBSITE_BOARD_RECOMMEND":"Série TV recommandée","WEBSITE_BOARD_TRENDING":"Film tendance","WEBSITE_BOARD_NEW":"Nouvelle vidéo","WEBSITE_BOARD_EPISODE":"Nouvel épisode","WEBSITE_BOARD_1":"Envie de regarder quelque chose d\'intéressant ? Recevez des recommandations basées sur vos goûts !","WEBSITE_BOARD_2":"Soyez notifié dès qu\'un nouvel épisode de votre show TV ou chaîne youtube favorite sort !","WEBSITE_BOARD_YOUTUBE":"Nouvelles vidéos des chaînes YouTube","WEBSITE_BOARD_EPISODES":"Nouveaux épisodes des séries que vous suivez","WEBSITE_ADDONS":"Extensions de contenu","WEBSITE_TECH_DETAIL":"Nous aimons les nouvelles technologies et les expérimentations!\\nStremio utilise les technologies open source suivantes&nbsp;:","WEBSITE_TECH_WCJS":"WebChimera.js permet à Stremio de lire n\'importe quel format vidéo avec de bonnes performances.","WEBSITE_TECH_WCJS_EXTRA":"Nous sommes des contributeurs principaux du projet.","WEBSITE_TECH_ELECTRON":"Electron fournit une plateforme innovante sur laquelle bâtir Stremio.","WEBSITE_TECH_ELECTRON_EXTRA":"Nous contribuons au projet.","WEBSITE_TECH_LINVODB":"Une technologie de base de données qui assure une bonne organisation et une mise à disposition partout.","WEBSITE_TECH_LINVODB_EXTRA":"Technologie maison","WEBSITE_CREATE_ADDON":"Créez votre extension","WEBSITE_CREATE_ADDON_DETAIL":"Vous avez un service qui fournit des vidéos? Nous vous aiderons à bénéficier des fonctionnalités de Stremio en faisant votre propre extension.","WEBSITE_CREATE_ADDON_BENEFITS":"Avantages de créer une extension pour Stremio","WEBSITE_P2P_BEAUTY":"La beauté du Streaming En peer to peer","WEBSITE_P2P_1":"Vidéos full HD / 4K fiables et accessibles en VoD ou streaming","WEBSITE_P2P_2":"Plateforme de distribution avec une expérience utilisateur optimale","WEBSITE_P2P_3":"Nous vous crééerons une extension sur mesure","WEBSITE_P2P_CONTACT":"Interessé? Nous vous invitons à <a href=\'mailto:office@stremio.com\'>nous contacter</a>.","WEBSITE_P2P_CONTACT_EXTRA":"Nous serions heureux de vous aider à intégrer votre contenu à Stremio!","WEBSITE_P2P":"De temps en temps, une nouvelle technologie vient changer la donne. Nous avons investi énormément de temps et d\'efforts pour construire un moteur de streaming peer to perr (P2P) fournissant une bonne performance et polyvalence, s\'adaptant à tous les cas de figure.\\nContactez nous pour mettre en place des vidéos en P2P ou streaming avec DRM.","WEBSITE_THOUGHTS":"Des pensées à partager :","WEBSITE_SPREAD":"Passer le mot à propos de Stremio :","WEBSITE_CONTACT":"Si vous voulez nous contatez, utilisez ","WEBSITE_OPENSOURCE":"Pour nos projets open source, rendez-vous sur notre","WEBSITE_BITCOIN":"Faites nous une donation de Bitcoin :","WEBSITE_FAQ":"Questions fréquemment posées","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Questions","WEBSITE_TOS":"Conditions d\'utilisation","WEBSITE_LEGAL":"Juridique","WEBSITE_PAGE_ABOUT":"À propos","WEBSITE_PAGE_BECOME_PARTNER":"Devenez partenaire","WEBSITE_ALL_YOU_CAN_WATCH":"La Liberté de Regarder\\nTout ce que Vous Voulez.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"Qu\'est-ce que Stremio ?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio est un hub unique pour l\'agrégation de contenu vidéo. Découvrez, organisez et regardez des vidéos provenant de toutes sortes de sources sur n\'importe quel appareil que vous possédez.","WEBSITE_WHAT_IS_STREMIO_P2":"Films, émissions de télévision, séries, chaînes de télévision en direct ou chaînes web comme YouTube et Twitch.tv - vous trouverez tout cela sur Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio est un centre de médias moderne qui constitue une solution unique pour vos divertissements vidéo. Vous découvrez, regardez et organisez le contenu vidéo à partir d\'addons faciles à installer.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Films, émissions de télévision, télévision en direct ou chaînes web - trouvez tout cela sur Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Profitez sur tous vos appareils","WEBSITE_DEVICES_COLLECT":"Collecter depuis Stremio","WEBSITE_DEVICES_IMPORT_FB":"Importer depuis facebook","WEBSITE_DEVICES_LOCAL":"Ajouter depuis un disque local","WEBSITE_JOIN_THE_PARTY_NOW":"Rejoignez la fête dès maintenant","WEBSITE_DEVICES_ALL":"Facile à utiliser sur tous vos appareils;","WEBSITE_EXTENDABLE_CATALOG":"Catalogue vidéo extensible à l\'infini;","WEBSITE_ORGANIZE_YOUR_MEDIA":"De superbes fonctionnalités pour organiser vos médias;","WEBSITE_AS_SEEN_ON":"As été vu sur","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"A propos de nous","WEBSITE_LINK_TECHNOLOGY":"Technologie","WEBSITE_LINK_APPS":"Apps","WEBSITE_LINK_DOWNLOADS":"Téléchargement","WEBSITE_MORE":"Plus","WEBSITE_LINK_ADDONS":"Addons","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Contribuer","WEBSITE_LINK_COMMUNITY":"Communauté","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... & Plus","WEBSITE_LINK_HELP":"Centre d\'aide","WEBSITE_LINK_CONTACTS":"Contactez-nous","WEBSITE_LINK_TOS":"Conditions d\'utilisation","WEBSITE_LINK_PRAVACY":"Politique de confidentialité","WEBSITE_SUBSCRIBE":"Souscrire","WEBSITE_NEWSLETTER":"Rejoignez notre newsletter pour des nouvelles incroyables","WEBSITE_PLACEHOLDER_EMAIL":"Votre Email","WEBSITE_COMMUNITY":"Communauté","WEBSITE_LINK_PRAVACY_LEGAL":"Confidentialité et mentions légales","WEBSITE_WHY":"Pourquoi nous le faisons","WEBSITE_WHY_P1":"Chez Stremio, nous venons travailler tous les jours parce que nous voulons résoudre un problème important pour l\'industrie de la vidéo à la demande. Il y a tellement de nouveaux contenus publiés chaque minute qu\'il est pratiquement impossible de s\'y retrouver.","WEBSITE_WHY_P2":"Nous aidons les gens à naviguer dans cet immense monde de divertissement vidéo et à découvrir de nouveaux contenus pour en profiter. Nos applications regroupent des films, des séries, des émissions de TV en direct, des chaînes Web et plus encore. Nous nous engageons à faire en sorte qu\'il soit incroyablement facile pour les utilisateurs de trouver les titres et les diffuseurs qu\'ils aiment.","WEBSITE_WHY_P3":"Vous pouvez utiliser notre service sur n\'importe quel appareil et à tout moment, faisant de Stremio le seul centre de divertissement vidéo dont vous aurez jamais besoin.","WEBSITE_TEAM":"L\'ÉQUIPE","WEBSITE_TEAM_P":"L\'équipe de Stremio est petite mais puissante : à nous dix, nous codons en X langages et partageons notre expertise en développement logiciel, conception d\'interface utilisateur et d\'interface utilisateur, marketing et publicité, ainsi qu\'en business et startups.","WEBSITE_FEATURES":"Fonctionnalités","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Découvrez facilement de nouveaux contenus","WEBSITE_FEATURES_DISCOVER_P":"Découvrez facilement les nouveaux films, émissions de télévision, séries et chaînes à regarder. Parcourez par catégorie, genre, classement, récence, etc. ou tapez simplement un nom pour trouver. Stremio fait de la recherche d\'un nouveau contenu vidéo un jeu d\'enfant.","WEBSITE_FEATURES_ALL_CONTENT":"Tout votre contenu vidéo sur un seul écran","WEBSITE_FEATURES_ALL_CONTENT_P1":"Voyez quels films, séries ou vidéos vous n\'avez pas terminés et continuez à les regarder ; soyez averti des nouveaux épisodes et sorties ; et parcourez les recommandations que vous recevrez en fonction de vos habitudes de visionnage.","WEBSITE_FEATURES_LIBRARY":"Organisez votre vidéothèque","WEBSITE_FEATURES_LIBRARY_P1":"Ajoutez n\'importe quel titre à votre bibliothèque Stremio d\'un simple clic et trouvez votre chemin à travers votre contenu, classé par type, récence ou ordre alphabétique.","WEBSITE_FEATURES_CALENDAR":"Gardez une trace de tout ce que vous regardez","WEBSITE_FEATURES_CALENDAR_P1":"Obtenez une visualisation du calendrier de tous les films et séries que vous ajoutez à votre bibliothèque. Exportez votre calendrier Stremio et synchronisez-le afin de toujours savoir quand un nouvel épisode ou une première est prévu.","WEBSITE_FEATURES_BIG_SCREEN":"Profitez de votre contenu vidéo sur un écran plus grand","WEBSITE_FEATURES_BIG_SCREEN_P1":"Lancez tout ce que vous regardez sur un autre appareil, qu\'il s\'agisse d\'un téléphone, d\'une tablette ou d\'un téléviseur d\'un simple clic.","WEBSITE_FEATURES_SOURCES":"Regarder des vidéos provenant de nombreuses sources différentes","WEBSITE_FEATURES_SOURCES_P":"Installez des addons officiels et communautaires pour profiter de vidéos provenant de nombreux fournisseurs différents - le tout dans une seule application élégante et facile à utiliser.","WEBSITE_CREATE_AN_ADDON":"Créer un addon","WEBSITE_FEATURES_SYNC":"Synchronisez votre bibliothèque sur différents appareils et reprenez votre lecture","WEBSITE_FEATURES_SYNC_P1":"Connectez-vous avec votre compte sur tous vos appareils et profitez de la synchronisation de votre bibliothèque, de vos addons, de la lecture et de votre calendrier.","WEBSITE_FEATURES_EXTENDABLE":"Catalogue vidéo extensible via l\'ajout d\'addons","WEBSITE_FEATURES_EXTENDABLE_P1":"Le catalogue d\'addons de Stremio propose un certain nombre d\'addons à installer vous permetant de regarder une variété de contenus vidéo. Cela comprend des films, émissions, télévisions en direct, du sport, des actualités, podcasts, chaînes web, jeux vidéo et bien d\'autres encore.","WEBSITE_FEATURES_AUTO_SUBS":"Sous-titres automatiques","WEBSITE_FEATURES_AUTO_SUBS_P1":"Avec nos addons de sous-titres, vous obtenez automatiquement des options pour votre langue préférée.","WEBSITE_FEATURES_CHROMECAST":"Caster vers un Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Profitez de votre contenu vidéo sur un écran plus grand ou diffusez simplement ce que vous regardez sur un autre appareil.","WEBSITE_FEATURES_KEEP_TRACK":"Gardez une trace de vos émissions TV et de vos chaînes Web préférées","WEBSITE_FEATURES_KEEP_TRACK_P1":"Bénéficiez d\'un calendrier et de notifications pour les nouveaux épisodes de vos séries et chaînes web préférées.","WEBSITE_FEATURES_POWER_USER":"Fonctionnalités pour les utilisateurs avancés","WEBSITE_FEATURES_POWER_USER_P1":"Jouer dans un lecteur externe","WEBSITE_FEATURES_POWER_USER_P2":"Lecture à partir d\'un fichier torrent ou d\'un lien magnet","WEBSITE_FEATURES_POWER_USER_P3":"Importation dans votre bibliothèque à partir de favoris Facebook ou d\'un disque local","WEBSITE_ADD_ONS":"Addons","WEBSITE_ADD_ONS_P1":"Tout le contenu vidéo fourni par Stremio provient d\'un système d\'addon - aucun contenu ou fournisseur de contenu n\'a été intégré dans l\'application.","WEBSITE_ADD_ONS_P2":"Il y a deux groupes d\'addons disponibles : les addons officiels et les addons communautaires.","WEBSITE_ADD_ONS_P3":"Les officiels sont développés et hébergés par Stremio, tandis que les addons communautaires sont créés par les membres de notre communauté, qui les hébergent également.","WEBSITE_ADDONS_OFFICIAL":"Addons officiels","WEBSITE_ADDONS_WATCHUB":"Diffusez vos films, séries et émissions préférés de fournisseurs tels que iTunes, Hulu, Amazon et d\'autres services du Royaume-Uni et des États-Unis.","WEBSITE_ADDONS_YOUTUBE":"Regardez vos chaînes YouTube préférées sans publicité et recevez des notifications pour les nouveaux uploads des contributeurs que vous suivez.","WEBSITE_ADDONS_FILMON":"Regardez la télévision en direct, les films et la télévision gratuitement. 600 chaînes de télévision, 45 000 films, film gratuits, documentaires et plus encore","WEBSITE_ADDONS_OPENSUBTITLES":"Sous-titres de films et de télévision en plusieurs langues, des milliers de sous-titres traduits sont mis en ligne chaque jour.","WEBSITE_ADDONS_COMMUNITY":"Addons de la communauté","WEBSITE_ADDONS_FILMON_VOD":"Regarder la vidéo à la demande de Filmon.tv","WEBSITE_ADDONS_TWICH":"Regardez les flux en direct de Twitch.tv - une plateforme de streaming vidéo pour l\'industrie du e-sport","WEBSITE_ADDONS_VODO":"Regardez des films indépendants totalement gratuitement.","WEBSITE_ADDONS_NETFLIX":"Regardez des films et des séries Web de Netflix.","WEBSITE_ADDONS_CREATE":"Créer un addon","WEBSITE_ADDONS_CREATE_P1":"Si vous le souhaitez, vous pouvez développer votre propre addon. De cette façon, vous pouvez vous donner, ainsi qu\'à notre communauté, accès à un nouveau contenu vidéo et atteindre un nouveau public ciblé de millions d\'utilisateurs dans le monde entier.","WEBSITE_ADDONS_START_CREATE":"Pour commencer, visitez la page Stremio Addon SDK:","WEBSITE_DOWNLOADS":"Téléchargements","WEBSITE_DOWNLOADS_P1":"Pour des performances optimales, nous vous recommandons d\'utiliser la dernière version disponible des applications Stremio. Si, pour une raison quelconque, vous souhaitez utiliser une version plus ancienne, vous pouvez la télécharger ici.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio pour Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio pour macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio pour Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio pour Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio pour iOS (version limitée)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"La plateforme Stremio est open source et vous pouvez facilement créer un addon pour du contenu qui n\'est actuellement pas sourcé.","WEBSITE_CONTRIBUTE_WHY":"Pourquoi créer un addon ?","WEBSITE_CONTRIBUTE_WHY_P1":"Atteignez un nouveau public pour votre contenu vidéo","WEBSITE_CONTRIBUTE_WHY_P2":"La base d\'utilisateurs de Stremio s\'accroît rapidement - au cours de la première année du lancement, Stremio avait gagné 1 million d\'utilisateurs à travers le monde, et au cours de la deuxième année d\'existence de la plate-forme, ce nombre est passé à 2,5 millions.","WEBSITE_CONTRIBUTE_WHY_P3":"Avec votre addon, vous pouvez facilement atteindre cet audience et lui distribuer votre contenu vidéo.","WEBSITE_CONTRIBUTE_ALL":"Regardez vos films, vidéos, séries et chaînes préférés en un seul endroit.","WEBSITE_CONTRIBUTE_ALL_P1":"Vous êtes fan d\'un type particulier de contenu qui n\'est pas encore disponible sur Stremio ? Créez un addon et regardez vos vidéos préférées dans l\'un des hubs de divertissement les plus grands et les plus faciles à utiliser sur le marché.","WEBSITE_CONTRIBUTE_ALL_P2":"En plus de cela, vous obtiendrez la gratitude infinie d\'autres membres de la communauté Stremio partageant les mêmes idées.","WEBSITE_CONTRIBUTE_MONETIZE":"Monétisez votre addon et gagnez de l\'argent grâce à lui","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Une fois que vous avez développé un nouvel addon pour Stremio, vous pouvez facilement le monétiser de différentes manières. Si vous envisagez de le faire, n\'hésitez pas à nous contacter à l\'adresse suivante ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - nous nous ferons un plaisir de vous consulter et de vous conseiller sur les options de monétisation des addons.","WEBSITE_CONTRIBUTE_TRANSLATE":"Devenez traducteur bénévole","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Si vous souhaitez profiter des applications Stremio dans différentes langues, vous pouvez rejoindre notre communauté de traducteurs bénévoles. Ils nous aident à ajouter des versions de Stremio dans de nombreuses langues différentes.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Vous avez hâte de commencer ?","WEBSITE_TRANSALTE_STREMIO":"Traduire Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Communautés officielles","WEBSITE_COMMUNITY_OFFICIALS_P1":"Devenez membre de la communauté Stremio en pleine croissance. Suivez-nous sur les réseaux sociaux et n\'hésitez pas à nous dire bonjour - nous adorons avoir des nouvelles de nos fans ! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Communautés non officielles","STREMIO_COMMUNITY_NL":"Stremio Pays-Bas","STREMIO_COMMUNITY_BRASIL":"Stremio Brésil","STREMIO_COMMUNITY_GERMANY":"Stremio Allemagne","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgique","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italie","STREMIO_COMMUNITY_UK":"Stremio Royaume-Uni","STREMIO_COMMUNITY_USA":"Stremio Etats-Unis","STREMIO_COMMUNITY_MEXICO":"Stremio Mexique","STREMIO_COMMUNITY_ADDONS":"Addons Stremio","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partenaires et supporters","WEBSITE_COMMUNITY_GOODIES":"Goodies Stremio","WEBSITE_COMMUNITY_WALLPAPERS":"Fonds d\'écran","WEBSITE_COMMUNITY_ART":"Galerie d\'Art de la Communauté","WEBSITE_LINK_ART":"Galerie d\'Art de la Communauté","WEBSITE_CONTACT_US":"Contact us","WEBSITE_CONTACT_US_P1":"Si vous avez des questions, commentaires ou suggestions, n\'hésitez pas à nous contacter via le formulaire de contact ci-dessous.","WEBSITE_CONTACT_US_P2":"Gardez à l\'esprit que nous sommes situés en Bulgarie, il peut donc y avoir un retard dans le traitement de votre demande en raison de différences de fuseau horaire.","WEBSITE_CONTACT_US_SUCCESS":"Votre message a bien été envoyé. Nous vous répondrons dans les plus brefs délais.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Veuillez entrer un email valide !","WEBSITE_CONTACT_US_Q_RELATED_TO":"Sur quoi porte votre question ?","WEBSITE_CONTACT_US_Q_OS":"Quel est votre système d\'exploitation ?","WEBSITE_CONTACT_US_PH_EMAIL":"Votre E-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Message","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"ENVOYER","WEBSITE_CONTACT_US_Q_1":"Comment installer ?","WEBSITE_CONTACT_US_Q_2":"Comment désinstaller ?","WEBSITE_CONTACT_US_Q_3":"(HTML) Comment faire des lasagnes ?","WEBSITE_CONTACT_US_Q_4":"Addons","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Technologie","WEBSITE_TECHNOLOGY_P1":"Nous aimons la technologie et la science folle. </br> Voici ce qui fait fonctionner Stremio (tout est open-source).","WEBSITE_TECHNOLOGY_P_QT":"Le développement logiciel multiplateforme à son meilleur.","WEBSITE_TECHNOLOGY_P_MPV":"Un lecteur multimédia gratuit, open source et multiplateforme.","WEBSITE_TECHNOLOGY_P_RN":"React Native vous permet de créer des applications mobiles en utilisant uniquement JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework intégré à l\'application pour obtenir du multimédia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm est une plateforme mobile qui remplace SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js is an open-source, cross-platform, JavaScript runtime environment.","WEBSITE_TECHNOLOGY_P_RUST":"Rust is a multi-paradigm system programming language focused on safety, especially safe concurrency.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribuer au projet","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Il y a deux façons de contribuer à Stremio et de nous aider à rendre le produit encore mieux.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Vous pouvez faire don de vos précieuses compétences linguistiques en traduisant la plateforme ...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"ou","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... vous pouvez utiliser vos compétences en développement pour créer des addons communautaires. ","WEBSITE_TRANSLATE_STREMIO":"Traduire Stremio","WEBSITE_404_OH_NO":"Oh, oh ! La page que vous cherchez n\'est pas ici ...","WEBSITE_GO_HOME":"Retourner à l\'accueil","WEBSITE_LINK_OTHER_DOWNLOADS":"Autres téléchargements","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Support","WEBSITE_DOWNLOAD_4_0_BETA":"Télécharger Stremio 4 beta maintenant","WEBSITE_GET_FOR_DESKTOP":"Télécharger pour le bureau","WEBSITE_LINK_ADDON_COMPETITION":"Addon competition","WEBSITE_LINK_ART_CONTEST":"Art contest","WEBSITE_MY_ACCOUNT":"Mon compte","WEBSITE_MAINPAGE_FAQ_001_H1":"Qu\'est-ce que Stremio ?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio est un centre de médias moderne qui vous donne la liberté de regarder tout ce que vous voulez.","WEBSITE_MAINPAGE_FAQ_002_H1":"Comment cela fonctionne ?","WEBSITE_MAINPAGE_FAQ_002_P1":"Une fois que vous avez installé Stremio sur votre appareil et que vous avez créé un compte, il vous suffit de vous rendre dans le catalogue d\'addons et d\'installer tous les addons que vous voulez, et c\'est parti !","WEBSITE_MAINPAGE_FAQ_002_P2":"Ensuite, vous pouvez vous rendre dans les sections Découvrir ou Tableau pour commencer à explorer le contenu.","WEBSITE_MAINPAGE_FAQ_003_H1":"Que puis-je regarder ici ?","WEBSITE_MAINPAGE_FAQ_003_P1":"Beaucoup : Films, émissions de télévision, chaînes Internet, sport, chaînes de télévision, écouter de podcasts et bien d\'autres choses encore. Grâce à notre système d\'addons, vous pouvez accéder à une grande variété de contenus.","WEBSITE_MAINPAGE_FAQ_004_H1":"Stremio est-il open-source ?","WEBSITE_MAINPAGE_FAQ_004_P1":"Oui, vous pouvez consulter les liens suivants: ${1}application de bureau${2} et ${3}Organisation GitHub${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Stremio est-il sans danger ?","WEBSITE_MAINPAGE_FAQ_005_P1":"Oui: comme il s\'agit d\'un logiciel open-source, le code est publiquement contrôlable et vous pouvez l\'examiner vous-même.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"Qu\'en est-il de ma vie privée ?","WEBSITE_MAINPAGE_FAQ_006_P1":"Nous respectons la vie privée des utilisateurs et ne recueillons aucune donnée personnelle en dehors du minimum indispensable pour créer et synchroniser votre compte.","WEBSITE_MAINPAGE_FAQ_006_P2":"Il existe également un ${1}Mode invité${2} à l\'inscription, qui ne nécessite aucune donnée particulière : dans ce mode, aucune requète n\'est effectuée vers notre serveur. Toutefois, cela se fait au détriment de fonctions importantes, telles que la possibilité de synchroniser votre bibliothèque entre les appareils.","WEBSITE_MAINPAGE_FAQ_007_H1":"Puis-je caster sur ma TV ?","WEBSITE_MAINPAGE_FAQ_007_P1":"Oui, nous supportons Chromecast et vous pouvez caster à partir des applications bureau et mobiles (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"Combien d\'addons possède Stremio ?","WEBSITE_MAINPAGE_FAQ_008_P1":"Fin 2019, plus de 50 - pour plus d\'informations, consultez notre catalogue d\'addons.","WEBSITE_MAINPAGE_FAQ_009_H1":"Stremio peut-il être étendu au-delà de ce qui se trouve dans le catalogue de l\'addon ?","WEBSITE_MAINPAGE_FAQ_009_P1":"Oui, vous devriez faire un tour ici: ${1}PimpMyStremio${2}, ${3}Communautés Reddit${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"Quels sont les appareils pris en charge par Stremio ?","WEBSITE_MAINPAGE_FAQ_010_P1":"Nous avons des applications de bureau pour Windows, Mac et Linux. Pour les mobiles, nous prenons en charge Android et iOS, tout en gardant à l\'esprit que la version iOS est limitée dans ses fonctionnalités (elle ne prend pas en charge la plupart des addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"Il existe de nombreux appareils basés sur Android sur lesquels vous pouvez faire tourner Stremio, comme NVIDIA Shield et Amazon Fire Stick, mais nous ne les supportons pas officiellement.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Pouvez-vous ajouter certains contenus à Stremio ?","WEBSITE_MAINPAGE_FAQ_011_P1":"Désolé, nous ne fournissons pas de contenu nous-mêmes, mais plus vous avez installé d\'addons Stremio, plus vous serez en mesure de trouver du contenu.","WEBSITE_MAINPAGE_FAQ_012_H1":"Stremio peut-il jouer les liens magnet ?","WEBSITE_MAINPAGE_FAQ_012_P1":"Oui, et il peut également lire des liens HTTP normaux et des fichiers torrents (glisser-déposer).","WEBSITE_MAINPAGE_FAQ_013_H1":"Puis-je télécharger une vidéo et la regarder hors ligne ?","WEBSITE_MAINPAGE_FAQ_013_P1":"La disponibilité hors ligne est une fonctionnalité à venir, mais si vous autorisez Stremio à se mettre en cache sur votre appareil (à partir du panneau de configuration), vous pouvez regarder les vidéos plus tard sans connexion.","WEBSITE_MAINPAGE_FAQ_014_H1":"Rien ne marche, aidez-moi !","WEBSITE_MAINPAGE_FAQ_014_P1":"Êtes-vous sûr d\'avoir installé des addons ? Si oui, vérifiez auprès de notre ${1}centre d\'aide${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"Comment Stremio soutient-il ses opérations de développement ?","WEBSITE_MAINPAGE_FAQ_015_P1":"Nous diffusons occasionnellement des publicités non intrusives, mais nous envisageons de passer à un modèle de don.","WEBSITE_MAINPAGE_FAQ_015_P2":"Pour plus de questions, consultez notre ${1}centre d\'aide${2}.","HELP_LEARN_MORE":"Aidez-nous à mieux vous connaître.","LIFESTYLE":"Lifestyle","SPORTS":"Sports","FOOD_HEALTH":"Alimentation & santé","BEAUTY_FASHION":"Beauté & mode","NEWS":"News","GAMING":"Gaming","SCIENCE_EDUCATION":"Science & éducation","MUSIC":"Musique","TRAVEL":"Voyages","LATE_NIGHT":"Late Night","REALITY":"Télé-réalité","COMEDY":"Comédie","DIY":"DIY","TECH":"Tech","CINEMA":"Cinema","CONTINUE":"Continuer","SLOW_LOADING":"CHARGEMENT LENT ?","I_GIVE_UP":"J\'ABANDONNE","LEARN_MORE":"En savoir plus","POOR_SOURCE":"Cette source est difficilement accessible ou votre connexion Internet n\'est pas assez rapide.","PICK_CATEGORIES_ERR":"Vous devez choisir au moins 3 catégories","ADJUST_TIMING":"Ajuster le timing avec ","ADJUST_SIZE":"Ajuster la taille avec ","SEARCH_ANYTHING":"Vous pouvez tout rechercher ...","ALL_CATEGORIES":"Tous","SEARCH_CATEGORIES":"Films, Séries, YouTube & TV","SEARCH_PERSONS":"Acteurs, réalisateurs et scénaristes","SEARCH_PROTOCOLS":"HTTP & Liens Magnet","SEARCH_TYPES":"Liens IMDB / TVDB","WATCHED":"Regardé","SHOW_LESS":"Afficher moins","LAST_SEARCHES":"Dernières recherches","CLEAR_HISTORY":"Effacer l\'historique","CHOOSE_SOME":"CHOISISSEZ-EN CERTAINS :","NO_WEB_REMOTE":"La télécommande Web n\'a pas pu être chargée","STREMIO_OFFLINE":"Stremio est hors-ligne","STREMIO_EXPENSIVE_CONNECTION":"Une connexion réseau coûte cher","USE_DATA":"Utiliser les données","WARNING":"Attention","MORE_INFO":"Plus d\'infos ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Chargement ...","STREMIO_TV_BACK_TO_LANGUAGES":"Retour aux langues","STREMIO_TV_REMOTE":"Télécommande","STREMIO_TV_GO_TO":"Aller à:","STREMIO_TV_OR_SCAN":"ou scanner :","STREMIO_TV_ADDON_INSTRUCTIONS":"Veuillez suivre les instructions afin d\'installer vos addons préférés.","STREMIO_TV_LIVE_TV":"Télé en direct","STREMIO_TV_RESUME_WATCHING":"Reprendre le visionnage","STREMIO_TV_LOADING_BACKGROUND":"Chargement de l\'arrière-plan","STREMIO_TV_CHECKING_AUTHENTICATION":"Vérification de l\'authentification","STREMIO_TV_LOADING_BOARD":"Chargement du tableau","STREMIO_TV_LOGIN_HEADER_LINE_1":"Nous voulons que nos utilisateurs bénéficient de la meilleure expérience personnalisée possible avec notre logiciel.","STREMIO_TV_LOGIN_HEADER_LINE_2":"C\'est pour cette raison que nous vous demandons de bien vouloir créer et/ou vous connecter à votre compte.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Merci de votre compréhension,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"L\'équipe Stremio","STREMIO_TV_REMOTE_INSTRUCTIONS":"Pour utiliser la télécommande Web avec votre smartphone / tablette / ordinateur :","STREMIO_TV_WIFI_SETUP":"Configuration Wi-Fi","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle n\'a pas détecté de connexion Internet.","STREMIO_TV_WIFI_DETAILS_1":"Connectez-vous à :","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Utilisez le mot de passe :","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Ouvrez un navigateur Web avec le lien :","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Par défaut","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"Par dernier visionnage","STREMIO_TV_LIBRARY_SORT_NAME":"Par titre","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"Par le nombre de visionnages","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Saison ${1}","STREMIO_TV_STREAMS_LOADING":"${1} / ${2} addons chargés...","STREMIO_TV_STREAMS_STILL_LOADING":"L\'addon ${1} est toujours en chargement...","STREMIO_TV_PLAYER_SETTINGS":"Paramètres du lecteur","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Délai des sous-titres","STREMIO_TV_PLAYER_AUDIO_DELAY":"Délai de l\'audio","STREMIO_TV_PLAYER_VIDEO_SCALING":"Mise à l\'échelle de la vidéo","STREMIO_TV_PLAYER_CHAPTERS":"Chapitres","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Sauter ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Source de flux non prise en charge","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Échec de l\'ouverture d\'un lien externe","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Non réglable en mode audio passthrough","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Lecture avec ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Lecture avec libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Passage au lecteur libVLC en raison d\'une erreur de lecture","STREMIO_TV_ADDONS_TITLE":"Utilisez Stremio sur votre téléphone ou votre PC pour installer ou configurer les addons et appuyez sur \\"Synchroniser les addons\\".","STREMIO_TV_ADDONS_SUBTITLE":"Note : assurez-vous que vous utilisez le même compte Stremio.","STREMIO_TV_ADDONS_SYNC_ADDONS":"Synchroniser les addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Synchronisation des Addons réussie","STREMIO_TV_ADDONS_SYNC_FAILED":"Échec de la synchronisation des addons","STREMIO_TV_META_LINK_FAILED":"Échec de l\'ouverture du méta lien","STREMIO_TV_CATALOG_LOADING":"Catalogue en cours de chargement...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Mise à jour de la langue de l\'interface","STREMIO_TV_SETTINGS_THEME_UPDATED":"Thème mis à jour","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Lecteur par défaut","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Lecteur externe","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Langue préférée","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Langue secondaire préférée","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Problèmes de lecture possibles sur certains appareils","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Certains formats vidéo peuvent ne pas fonctionner","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Correspondance des fréquences d\'images","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Désactivé","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Taux de rafraîchissement uniquement","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Taux de rafraîchissement et résolution","STREMIO_TV_SETTINGS_NO_CACHING":"Pas de mise en cache","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Par défaut","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Calme","STREMIO_TV_SETTINGS_PROFILE_FAST":"Rapide","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Très rapide","STREMIO_TV_SETTINGS_SERVER_URL":"URL du serveur de streaming","STREMIO_TV_SETTINGS_SERVER_VERSION":"Version du serveur","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Inconnue","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Version de Stremio","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Modifier l\'URL du serveur","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Entrez l\'URL d\'un serveur de streaming","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Afficher les statistiques pendant le chargement","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"Pour consulter la politique de confidentialité de Stremio, visitez le site suivant :","STREMIO_TV_SETTINGS_TOS_TEXT":"Pour lire les conditions générales d\'utilisation de Stremio, rendez-vous sur le site suivant :","STREMIO_TV_NAV_SEARCH":"Recherche","STREMIO_TV_NAV_HOME":"Accueil","STREMIO_TV_NAV_DISCOVER":"Découvrir","STREMIO_TV_NAV_LIBRARY":"Bibliothèque","STREMIO_TV_NAV_MOVIES":"Films","STREMIO_TV_NAV_SERIES":"Series","STREMIO_TV_NAV_CHANNELS":"Chaînes","STREMIO_TV_NAV_TV":"TV en direct","STREMIO_TV_NAV_SETTINGS":"Réglages","STREMIO_TV_NAV_ADDONS":"Addons","STREMIO_TV_LOGIN_TITLE":"Lier un compte","STREMIO_TV_LOGIN_EXPIRES_IN":"Expire dans","STREMIO_TV_LOGIN_STEP_ONE":"Scannez le code QR ci-dessus ou rendez-vous sur","STREMIO_TV_LOGIN_STEP_TWO":"Connectez-vous à votre compte Stremio","STREMIO_TV_LOGIN_NEW_LINK":"Demander un nouveau lien","STREMIO_TV_LOGIN_LINK_REFRESHED":"Code de connexion actualisé","STREMIO_TV_SEARCH_PLACEHOLDER":"Entrez quelque chose","STREMIO_TV_SEARCH_NO_ADDONS":"Aucun addon n\'a été demandé pour les catalogues !","STREMIO_TV_SEARCH_BUTTON":"Rechercher","STREMIO_TV_SEARCH_KEY_DEL":"Suppr","STREMIO_TV_SEARCH_KEY_SPACE":"Espace","STREMIO_TV_SEARCH_KEY_CLEAR":"Effacer","STREMIO_TV_SEARCH_HISTORY_TITLE":"Historique de recherche","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Vous pouvez rechercher des titres, des acteurs, des chaînes et plus encore...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Effacer l\'historique de recherche","STREMIO_TV_FILTERS_DESCRIPTION":"Choisissez l\'un des filtres ci-dessous","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Le serveur de streaming est hors ligne. Vérifiez les paramètres du serveur.","FILTERS":"Filtres","SETTINGS":"Réglages","ACCOUNT":"Compte","LOGOUT":"Déconnexion","THEMES":"Thèmes","PLAYBACK":"Lecture","PLAYBACK_SPEED":"Vitesse de lecture","AUDIO_TRACKS":"Pistes audio","UNKNOWN_TRACK_LANG":"Inconnue","VIDEOS":"Vidéos","SERVER":"Serveur","LINKS":"Liens","ABOUT":"À propos","INTERFACE":"Interface","ANIMATIONS":"Animations","STATUS":"Statut","LANGUAGE":"Langue","SIZE":"Taille","DELAY":"Délai","BOLD":"Gras","OPACITY":"Opacité","TEXT_COLOR":"Couleur du texte","OUTLINE_COLOR":"Couleur du contour","BACKGROUND_COLOR":"Couleur de l\'arrière-plan","BACKGROUND_BLUR":"Flou d\'arrière-plan","SEEK_TIME_DURATION":"Durée de la navigation de la lecture","AUTO_PLAY":"Lecture automatique du prochain épisode","PLAY_NOW":"Regarder","MARK_AS_WATCHED":"Marquer comme regardé","MARK_AS_UNWATCHED":"Marquer comme non regardé","REWIND_TO_BEGINNING":"Revenir au début","CONTINUE_WATCHING":"Continuer de regarder","ALL":"Tous","SECONDS":"Secondes","ON":"ON","OFF":"OFF","RELOAD":"Actualiser","EDIT_URL":"Modifier l\'URL","NONE":"Aucun","EMBEDDED":"Embarqué","REMOTE_SWITCH_DEVICES":"Changer d\'appareil","REMOTE_VIDEOS":"Vidéos","REMOTE_ADJUST_TIMING":"Ajuster le chronométrage","REMOTE_ADJUST_SIZE":"Ajuster la taille","REMOTE_COULD_NOT_BE_LOADED":"La télécommande Web n\'a pas pu être chargée","REMOTE_RETRY":"Réessayer","TORRENT_PROFILE_DEFAULT":"Par défaut","TORRENT_PROFILE_SOFT":"Calme","TORRENT_PROFILE_FAST":"Rapide","TORRENT_PROFILE_ULTRA_FAST":"Très rapide","FAQ_001_H1":"Qu\'est-ce que le Stremio ?","FAQ_001_P1":"Stremio est un logiciel de centre multimédia conçu pour le divertissement vidéo avec une facilité d\'utilisation à l\'esprit. Stremio vous permet d\'organiser &amp; regardez votre propre collection de films, séries, chaînes et TV en direct.","FAQ_001_P2":"Stremio collecte le contenu qu\'il vous montre à partir de votre disque local et de notre système d\'addons.","FAQ_001_P3":"Il vous avertira également de la sortie de nouveaux épisodes/vidéos/films qui vous intéressent et vous fournira des recommandations de films.","FAQ_02_H1":"Comment Stremio se compare-t-il à Kodi et Plex ?","FAQ_02_P1":"Nous nous inspirons de ces deux logiciels. Mais nous avons des objectifs différents - Stremio est spécifiquement destiné à la vidéo de divertissement et s\'efforce de devenir la solution grand public pour cela en étant très facile à utiliser.","FAQ_02_P2":"Stremio ne sera jamais aussi personnalisable et riche en fonctionnalités que Kodi et Plex, mais il est nettement plus facile à utiliser. Juste ${1} l\'obtenir et voir ${2} :)","FAQ_03_H1":"Comment Stremio se compare-t-il à Netflix ?","FAQ_03_P1":"Encore une fois, Netflix est l\'une de nos inspirations. Nous nous efforçons d\'obtenir l\'expérience utilisateur de Netflix, ainsi que de nombreux avantages supplémentaires. Mais plus important encore, nous vous donnons la liberté de gérer votre propre bibliothèque et d\'ajouter de nouvelles sources de contenu avec notre système d\'extensions.","FAQ_03_P2":"Cela rend Stremio extensible à l\'infini, donc lorsque vous utilisez Stremio, vous n\'êtes jamais limité au contenu que Netflix décide d\'octroyer via une licence. Par exemple, via Stremio, vous pouvez regarder le contenu de ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo$ {8} et même ${9}Netflix${10}","FAQ_04_H1":"Comment Stremio se compare-t-il à Flipboard ?","FAQ_04_P1":"Nous ne recevons pas souvent cette question, sauf lorsque nous parlons à des start-up :)","FAQ_04_P2":"Stremio est par conception un agrégateur de contenu, ce qui en fait essentiellement Flipboard pour la vidéo. Cela est très évident dans notre section Tableau, qui vous donne des catalogues et des notifications de nouveaux épisodes/nouvelles vidéos en lien avec se que vous suivez, tout comme Flipboard.","FAQ_05_H1":"Comment Stremio se compare-t-il à Popcorn Time ?","FAQ_05_P1":"Stremio et Popcorn Time sont similaires dans l\'interface utilisateur, car il n\'y a pas beaucoup de façons de faire des catalogues de divertissement vidéo correctement :)","FAQ_05_P2":"Mais alors que Popcorn Time se concentre sur la diffusion de torrents à partir de sources spécifiques, Stremio est illimité et est simplement un agrégateur de contenu - il n\'est pas verrouillé dans une source de contenu spécifique.","FAQ_05_P3":"De plus, nous ne fournissons aucun addon torrent par défaut, donc Stremio ne couvre pas le cas d\'utilisation de Popcorn Time avec des fonctionnalités officielles.","FAQ_05_P4":"Une autre différence notable est que Popcorn Time est entièrement open source, tandis que Stremio est ${1} partiellement open source${2}.","FAQ_06_H1":"Allez-vous ajouter ce film/série ?","FAQ_06_P1":"Non désolé :(","FAQ_06_P2":"Comme mentionné dans la plupart des autres questions, Stremio ne fournit aucun contenu par lui-même - tout est ajouté via le système d\'addons. Si vous avez une demande de contenu, vous pouvez utiliser le bouton “Signaler” dans le lecteur, qui enverra un e-mail à l\'auteur de l\'addon que vous utilisez actuellement.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Allez-vous créer un addon pour X ?","FAQ_08_P1":"C\'est tout à fait possible.","FAQ_08_P2":"Si vous avez une idée pour un addon, écrivez-nous à ${1}office@stremio.com${2}, mais assurez-vous que votre idée d\'addon n\'enfreindra aucun droit d\'auteur ou condition d\'utilisation.","FAQ_08_P3":"Pour le moment, les prochaines choses sur notre feuille de route sont des addons pour FandangoNOW, la vidéo à la demande Filmon.tv et Crunchyroll.","FAQ_09_H1":"Est-ce que Stremio utilise BitTorrent ?","FAQ_09_P1":"Oui, Stremio prend en charge BitTorrent comme protocole de streaming. Vous pouvez l\'utiliser soit avec un addon torrent, soit en glissant-déposant un fichier .torrent dans Stremio, soit en collant un lien magnet dans la barre de recherche.","FAQ_09_P2":"Veuillez noter que le seul addon officiel utilisant BitTorrent est ${1}Vodo${2}, qui fournit du contenu indépendant, tous autorisés à être distribués avec BitTorrent.","FAQ_09_P3":"Nous ne prenons pas en charge l\'utilisation d\'addons tierces susceptibles de permettre une violation du droit d\'auteur.","FAQ_10_H1":"Que puis-je regarder dans Stremio avec les addons officielles ?","FAQ_10_P1":"Par défaut, vous pouvez regarder du contenu Filmon.tv, YouTube et Vodo dans Stremio lui-même, avec son lecteur intégré. De plus, nous avons un addon pour Twitch.tv et quelques autres.","FAQ_10_P2":"Cette combinaison offre une sélection de :","FAQ_10_L1":"Chaînes de télévision populaires, fournies par Filmon.tv - par exemple E4, BBC, Bollyworld TV","FAQ_10_L2":"Tout sur YouTube - par exemple BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Films indépendants avec Vodo","FAQ_10_L4":"Diffusions de jeux en ligne avec Twitch.tv","FAQ_10_P3":"De plus, il existe de nombreuses sources de contenu fournies avec Guidebox et les addons Netflix, qui <b>ne sont pas</b> lues entièrement dans Stremio, mais redirigeraient vers le service donné. Par exemple, l\'addon Guidebox vous donnerait une sélection de films que vous pouvez diffuser gratuitement aux États-Unis, à partir de services tels que TubiTV et Crackle.","FAQ_11_H1":"Stremio ne s\'installe pas, que dois-je faire ?","FAQ_11_P1":"Si vous utilisez Windows, essayez ${1}cet programme d\'installation alternatif${2}.","FAQ_11_P2":"Si vous utilisez Mac OS X, sachez que nous ne prenons en charge aucune version antérieure à OS X Mavericks (10.9).","FAQ_11_P3":"Si vous êtes sous Linux, sachez que nous ne prenons en charge que Linux 64 bits (x64) pour le moment.","FAQ_11_P4":"Si vous ne parvenez toujours pas à résoudre votre problème, veuillez nous écrire sur notre ${1}groupe Facebook${2}.","FAQ_12_H1":"Pourquoi mon antivirus se plaint-il ? Est-ce que Stremio est sûr ?","FAQ_12_P1":"Nous vous assurons que Stremio est $ à {1}100% sûr${2}.","FAQ_12_P2":"Votre antivirus se plaint parce que nous incluons de la publicité dans notre programme d\'installation, que certains programmes antivirus reconnaissent comme un logiciel publicitaire.","FAQ_12_P3":"Si vous n\'êtes toujours pas sûr, vous pouvez essayer notre ${1}programme d\'installation alternatif${2}.","FAQ_13_H1":"Comment créer un addon ?","FAQ_13_P1":"Pour commencer, nous vous recommandons de consulter notre ${1}module système d\'addons${2} sur GitHub.","FAQ_13_P2":"Ensuite, vous pouvez suivre le ${1}tutoriel Hello World${2}.","FAQ_13_P3":"Si vous n\'avez aucune compétence en programmation, veuillez publier votre idée sur ${1}la communauté Reddit${2} et contactez-nous avec votre idée d\'extension sur ${3}office@stremio.com${4}.","FAQ_14_H1":"Comment les addons sont-ils publiés ?","FAQ_14_P1":"Lorsque vous créez un addon et un hôte, et que vous placez un champ <b>endpoint</b> dans votre répertoire, qui pointe vers une adresse d\'addon fonctionnelle, l\'addon se publiera automatiquement dans notre ${1}catalogue d\'addons${2} .","FAQ_14_P2":"Cela se produit parce que la partie serveur du module stremio-addons fait automatiquement un appel à notre API pour annoncer l\'addon. Lorsque notre API validera votre <b>endpoint</b> comme un addon valide, il commencera à apparaître dans le catalogue.","FAQ_15_H1":"Puis-je exécuter Stremio dans mon navigateur ?","FAQ_15_P1":"Pas pour le moment, mais ça s\'en vient !","FAQ_15_P2":"Si vous êtes curieux de voir une version Alpha, vous pouvez le voir ici : ${1}alpha4.strem.io${2}. Gardez à l\'esprit que le streaming est désactivé sur cette version alpha. Nous prenons en charge Chrome, Firefox, Opera et Edge.","FAQ_16_H1":"La diffusion sur la télévision ne fonctionne pas/les sous-titres ne fonctionnent pas","FAQ_16_P1":"La diffusion sur téléviseur utilise la technologie DLNA qui varie entre les différentes marques et modèles de téléviseurs. Pour cette raison, nous n\'avons pas la capacité de la tester dans tous les cas, il est donc loin d\'être parfait. Malgré cela, nous travaillons constamment à son amélioration, mais nous ne pouvons pas vous donner une estimation du moment où DLNA commencera à fonctionner correctement sur votre téléviseur.","FAQ_16_P2":"Si vous ne voyez même pas votre téléviseur dans le menu de diffusion, essayez de désactiver votre connexion réseau et de la réactiver (sous Windows, cliquez avec le bouton droit sur le réseau et utilisez Activer/Désactiver), ainsi que de redémarrer votre routeur, votre téléviseur et votre PC..","FAQ_16_P3":"Si vous rencontrez toujours des problèmes, vous pouvez nous aider en envoyant des informations sur la marque et le modèle de votre téléviseur à l\'adresse ${1}office@stremio.com${2}.","FAQ_16_P4":"En attendant, nous vous recommandons Chromecast, que nous supportons très bien, ou simplement brancher votre téléviseur à votre PC avec un câble HDMI.","FAQ_17_H1":"Stremio se fige et/ou plante, que puis-je faire ?","FAQ_17_P1":"Tout d\'abord, si vous utilisez Windows 7 avec l\'antivirus AVG : nous avons un problème avec cette combinaison. Le problème est dans AVG lui-même, et il n\'y a aucun moyen raisonnable de le résoudre de notre côté. Malheureusement, les exceptions ou la désactivation de l\'antivirus ne fonctionneront pas. La seule solution est de remplacer AVG par autre chose.","FAQ_17_P2":"Si ce n\'est pas le problème, mais que vous utilisez toujours Windows, veuillez mettre à jour le dernier service pack et mettre à jour/réinstaller vos pilotes GPU, puis réessayer.","FAQ_17_P3":"Si votre problème n\'est toujours pas résolu, ou si vous utilisez un Mac ou Linux, veuillez nous écrire pour nous signaler les détails exacts du problème sur ${1}notre groupe Facebook${2}.","FAQ_18_H1":"Comment créer un addon ?","FAQ_18_P1":"Pour commencer, nous vous recommandons de consulter notre ${1}système de addons${2} sur GitHub.","FAQ_18_P2":"Ensuite, vous pouvez suivre le ${1}tutoriel Hello World${2}.","FAQ_18_P3":"Si vous n\'avez aucune compétence en programmation, veuillez publier votre idée sur ${1}la communauté Reddit${2} et contactez-nous avec votre idée d\'extension sur ${3}office@stremio.com${4}.","FAQ_19_H1":"Pourquoi Stremio prend-il de l\'espace disque ?","FAQ_19_P1":"Stremio dispose d\'un <b>cache local</b> pour conserver temporairement les fichiers vidéo que vous diffusez.","FAQ_19_P2":"Cela présente deux avantages : premièrement, cela permet à Stremio de pré-charger en mémoire tampon la vidéo à l\'avance afin d\'assurer un streaming plus fluide. Deuxièmement, il conserve les vidéos dans le cache local afin que vous puissiez continuer à les regarder hors ligne.","FAQ_19_P3":"La quantité conservée par Stremio dépend du paramètre <b>Cache</b> dans le panneau Paramètres. Stremio peut conserver jusqu\'à la quantité définie (par exemple 2 Go) sur votre disque, à moins que la vidéo actuellement diffusée ne soit plus grande que cela, auquel cas il doit allouer suffisamment de stockage pour la conserver jusqu\'à ce que vous la regardiez.","FAQ_20_H1":"Où est le dossier contenant les caches ?","FAQ_20_P1":"Sous Windows, c\'est stremio-cache dans le lecteur que vous avez choisi dans les paramètres (ex. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"Sur Mac c\'est \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"Sur Linux, c\'est \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"J\'obtiens l\'erreur \\"Le serveur de streaming est introuvable\\", que puis-je faire ?","FAQ_21_P1":"Si vous obtenez cette erreur, cela signifie l\'une des rares choses suivantes :","FAQ_21_P2":"1) Vous essayez d\'utiliser un module complémentaire soutenu par la source YouTube/BitTorrent, via notre ${1}version Web${2}. Dans ce cas, vous devez installer notre version de bureau à partir de ${3}notre site Web${4}.","FAQ_21_P3":"2) Quelque chose ne va pas avec votre installation Stremio. Dans ce cas, essayez de réinstaller notre dernière version de bureau à partir du ${1}site Web${2}. Si cela ne résout pas le problème, essayez de désactiver les programmes antivirus et les pare-feu, redémarrez votre PC et réessayez. Si cela ne fonctionne pas non plus, écrivez-nous à notre ${3}notre groupe Facebook${4}.","FAQ_22_H1":"Je ne peux pas voir/utiliser la plupart des addons sur iOS","FAQ_22_P1":"En raison de restrictions dans les termes et conditions de l\'App Store d\'Apple, nous avons limité l\'application iOS uniquement à un ensemble particulier d\'addons.","FAQ_22_P2":"Mais rassurez-vous - il y aura plus d\'addons pour iOS à l\'avenir, et nous pouvons également ajouter une intégration qui vous permettra d\'utiliser tous les addons Stremio grâce à la connexion de l\'application iOS au serveur de streaming Stremio."}')},61525:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"סרט","TYPE_series":"סדרה","TYPE_tv":"ערוץ טלויזיה","TYPE_channel":"ערוץ","TYPE_other":"אחר","TYPE_movie_PL":"סרטים","TYPE_series_PL":"סדרות","TYPE_tv_PL":"ערוצי טלויזיה","TYPE_channel_PL":"ערוצים","TYPE_other_PL":"אחרים","TYPE_ALL":"הכל","TYPE":"סוג","CATALOG_com_linvo_cinemeta_top":"פופולרי","CATALOG_com_linvo_cinemeta_imdbRating":"מומלצים","CATALOG_com_linvo_cinemeta_year":"חדש","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"סרטים פומביים","VIDEO":"וידאו","BACK":"חזור","MORE":"עוד","DONE":"סיום","COPY":"העתקה","SUCCESS":"הצלחה","ERROR":"שגיאה","SETTINGS_CASTING_MODE_PICKER":"מצב ליהוק","CASTING_MODE_HLSV2":"ברירת מחדל","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"לא מקודד","Discover":"גלה","Board":"לוח","Library":"ספרייה","My Library":"הספרייה שלי","Calendar":"לוח שנה","NOTIFICATION_ONLINE":"הנך כרגע מחובר","NOTIFICATION_OFFLINE":"הנך כרגע מנותק","INTERNET_CONNECTION":"חיבור רשת","STORAGE_FULL_TITLE":"אזהרה: כונן האחסון מלא!","STORAGE_FULL_TEXT":"Stremio לא תוכל לשמור את ההגדרות שלך, אפשרויות או פרטי ההתחברות. נא לשקול הסרה והתקנה מחדש של Stremio.","SEARCH":"חיפוש","SEARCH_NO_RESULTS":"לא נמצאו תוצאות","SEARCH_EXPLANATION_CONTENT":"YouTube-חפש סרטים, סדרות ועורצי טלויזיה ו","SEARCH_EXPLANATION_PEOPLE":"חפש שחקנים, בימאים ותסריטאים","SEARCH_PASTE_LINKS":"הדבקת קישורים ישירים ומגנט","SEARCH_OR_PASTE_LINK":"חפש או הדבק קישור","SEARCH_SUGGESTIONS":"המלצות חיפוש","ADD_TO_LIB":"הוסף לספרייה","REMOVE_FROM_LIB":"הסר מהספרייה","ADDED_TO_LIB":"נוסף לספרייה","REMOVED_FROM_LIB":"הוסר מהספרייה","TRAILER":"קדימון","WATCH_TRAILER":"צפייה בקדימון","WATCH_NOW":"צפה כעת","SHOW":"הצג","SHOW_MOVIE":"הצגת סרט","WATCH_RANDOM":"צפייה אקראית","IMDB_RATING":"דירוג IMDb","YEAR":"שנה","DIRECTOR":"במאי","WRITER":"כותב","LEAD_ACTORS":"שחקנים ראשיים","CAST":"משתתפים","CREW":"צוות","SHOW_MORE_CAST":"הצג יותר","AIRED":"תאריך שידור","SEASONS":"עונות","GENRE":"סוגה","GENRE_ALL":"כל הסגנונות","CATALOG":"קטלוג","SUMMARY":"תקציר","SHOW_MORE":"להציג יותר","SIMILAR":"דומה","UPCOMING":"בקרוב","ENDED":"הסתיים","DURATION":"אורך","FEATURED":"מומלצים","METADATA":"מידע","CATEGORY":"קטגוריה","LINKS_GENRES":"ז\'אנר","LINKS_CAST":"שחקנים","LINKS_DIRECTORS":"מפיקים","SEARCH_VIDEOS":"חפש וידאו","SEARCH_PLACEHOLDER":"חיפוש או שימוש בקישור מגנט","ADDON":"תוסף","ADDONS":"תוספים","OFFICIAL":"רשמי","ADDONS_OFFICIAL":"תוספי סטרימיו רשמיים","ADDONS_POPULAR":"פופולרי באזור שלך","ADDON_FREE":"חינם","ADDON_PEERED":"משותף","ADDON_SUBSCRIPTION":"הרשמה","ADDON_STREAM_GEORESTRICTED":"לא זמין באזורך","ADDON_STREAM_OFFLINECACHE":"מטמון לא מקוון","ADDON_STREAM_LOCALFILE":"קובץ מקומי","SHARE_ADDON":"שתף את ההרחבות","AVAILABLE_STREAMS":"מקורות זמינים","NO_STREAM":"לא נמצאו מקורות","ALL_ADDONS":"הכל","INSTALL_MORE_ADDONS":"לעוד אפשרויות הזרמה, אנא התקינו תוספים נוספים","STREAM_NOT_SUPPORTED":"ההזרמה שנבחרה אינה נתמכת בפלטפורמה זו.","ADDON_CATALOGUE":"כל התוספים »","ADDON_CATALOGUE_MORE":"עוד תוספים »","REPO_ADDED":"מקור נוסף","ADDON_REPO_EXIST_ERR":"מקור תוספים זה כבר קיים","ADDON_REPO_ERR":"ארעה שגיאה בזמן הוספת מקור","ADDON_ADD_ERR":"ארעה שגיאה זמן הוספת תוסף","ERR_ADDON_PROTECTED":"תוסף מוגן","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"משהו השתבש - התחברות נכשלה","ERR_NOT_COLLECTION_URL":"לא קישור לאוסף","ERR_NOT_ADDON_URL":"לא כתובת תוסף","ERR_DETECTFROMURL":"אין אפשרות לזהות בקישור","ADDON_DUPLICATE_WARNING":"אזהרה: כפילות תוסף","ADDON_COLLECTION_SET_FAILED":"אוסף תוספים נכשל","SETTINGS_DATA_EXPORT":"ייצוא מידע","ADDON_PULL_FAILED":"משיכת התוסף נכשל","REFRESH_ON_CLICK":"נא ללחוץ כאן כדי לנסות שוב","STILL_IN_THEATER":"הסרט עדיין בקולנוע","WATCH_IN_CINEMA":"צפה בו בקולנוע","IN_THEATER":"בקולנוע","GET_TICKETS":"קבל כרטיסים","UPCOMING_EPISODE":"הפרק הבא","UPCOMING_EPISODE_MESSAGE":"פרק זה ישודר בתאריך","MISSING_DATE_EPISODE":"תאריך הפרק חסר","MISSING_DATE_EPISODE_MESSAGE":"פרק זה כנראה טרם שודר","CHANNEL_NOT_SCRAPED":"ערוץ זה עדיין לא מוכן.<br>אנא חזור בעוד כמה דקות.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"הוסף לסיפריה וקבל התרעה מתי שיהיה מוכן.","GET_NOTIFIED_WHEN_AVAILABLE":"אתה תקבל התרעה שהוא יהיה מוכן.","WARNING_STREAMING_SERVER":"אזהרה: שרת שידור מקומי לא נמצא. שידור מ-YouTube ומ-BitTorrent אינו אפשרי.","WARNING_STREAMING_SERVER_DISMISS":"התעלמות","WARNING_STREAMING_SERVER_LATER":"מאוחר יותר","DECODER_WARNING":"אזהרה: וידאו זה אינו נתמך עם החומרה שיש ברשותך. שימו לב, ההפעלה עשויה להיות איטית.","GENERIC_ERROR_MESSAGE":"משהו רע קרה!","TRY_AGAIN":"נסה שוב","CLEAR_DATA":"נקה את המידע","PLAYER_ERROR":"אופס, שגיאת נגן","PLAYER_ERROR_LOOKSLIKE":"נראה כי","PLAYER_ORIENTATION":"כיוון הנגן","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"נעול","PLAYER_ORIENTATION_SENSOR_SHORT":"חיישן","PLAYER_ORIENTATION_LANDSCAPE":"כיוון הנגן נעול לתצוגה רחבה","PLAYER_ORIENTATION_SENSOR":"כיוון הנגן אוטומטי (חיישן)","PLAYER_PLAYBACK_SPEED":"מהירות ניגון","PLAYER_PLAYBACK_ERROR":"תקלה במהירות ניגון, נא לנסות שוב","PLAYER_PLAYBACK_ERROR_UNKNOWN":"שגיאה לא ידועה","PLAYER_PLAYBACK_ERROR_DEFAULT":"מצטערים, אין אפשרות לנגן וידאו {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"שפת כתוביות","PLAYER_SUBTITLES_VARIANTS":"אפשרויות כתביות","PLAYER_SUBTITLES_SETTINGS":"הגדרות כתוביות","PLAYER_SUBTITLES_DISABLED":"כתוביות מבוטלות","PLAYER_SUBTITLES_VERTICAL_POSIITON":"מיקום אנכי","PLAYER_SUBTITLES_LOADED":"כתוביות נטענו","PLAYER_SUBTITLES_LOADED_EMBEDDED":"כתוביות מוטבעות ניטענו","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"כתוביות אקסלוסיביות נטענו","PLAYER_SUBTITLES_LOADED_ORIGIN":"כתוביות מ-{{origin}} נטענו","PLAYER_PLAY":"ניגון","PLAYER_PAUSE":"הפסקה","PLAYER_NEXT_VIDEO":"הוידאו הבא","PLAYER_MUTE":"השתקה","PLAYER_UNMUTE":"ביטול השתקה","PLAYER_OPEN_IN_EXTERNAL":"פתח בנגן וידאו חיצוני","PLAYER_OPEN_IN_NPLAYER":"פתיחה בnPlayer","PLAYER_PLAY_IN":"נגן ב {{device}}","PLAYER_LIVE":"חי","PLAYER_NEXT_VIDEO_TITLE":"הוידאו הבא","PLAYER_NEXT_VIDEO_TITLE_SHORT":"בהמשך","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"הסתרה","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"צפייה כעת","PLAYER_COPY_STREAM_SUCCESS":"הלינק של ההזרמה הועתק למקלדת","PLAYER_COPY_STREAM_ERROR":"העתקת לינק ההזרמה נכשל","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"קישור ההורדה הועתק","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"נכשל בהעתקת קישור הורדה","STREAMING_FROM":"מזרים מ","CASTING_TO":"משדר ל","NETWORK_STATUS":"מצב הרשת","STREAM_SPEED":"מהירות זרימה:","STREAM_BUFFERED":"נאגר:","PEERS_INFO":"פרטי חיבורים","PEERS_ACTIVE":"פעילים:","PEERS_CONNECTED":"מחוברים:","PEERS_WAITING":"ממתינים:","TRANSCODING_WARNING":"אזהרה: מקודד וידאו.","STREAM_LOADING":"טוען...","PLAYING_LOCAL":"מנגן מקובץ מקומי","PLAYING_CACHE":"מנגן ממטמון","WRONG_SUBS":"כתוביות שגויות?","ERR_SUBS_LOADING_TITLE":"שגיאה בטעינת כתוביות","ERR_SUBS_LOADING":"טעינת כתוביות נכשלה: זאת יכולה להיות בעיה של תוסף, או חיבור לאינטרנט","WARN_FOLLOWING_SUB_ADDONS_FAILED":"תוספי הכתוביות הבאים כשלו","ERR_CASTING_UPDATE_TITLE":"לא ניתן לעדכן מידע של מכשיר המשודר: שרת שידור ככל הנראה כבוי","CHOOSE_DEVICE":"בחר מכשיר לצפות בו","NO_CAST_DEVICES":"אין מכירים להזרמה.","NO_SETTINGS":"אין הגדרות זמינות.","PHONE_TABLET":"סלולארי / טאבלט","SUBTITLES":"כתוביות","SUBTITLES_CHANGE":"שנה כתוביות עבור","SUBTITLES_CHANGE_NONE":"לא קיימים כתוביות אחרות לשפה זו, מתנצלים.","SUBTITLES_CHANGE_ACIVE":"כרגע כתוביות &#35;{{subtitlesDialog.activeIdx + 1}} מופעלות. לחץ \\"המשך\\" להפעלת הכתוביות &#35;{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"לחילופין,","SUBTITLES_ADJUST_DELAY":"שנה השהיית כתוביות:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"או להשתמש במקשים <span>G</span> / <span>H</span> בזמן ניגון לשינוי.","SUBTITLES_ADJUST_DELAY_TIP":"טיפ: באפשרותך להשתמש במקשים <span>G</span> / <span>H</span> בזמן ניגון לשינוי.","SUBTITLES_DELAY":"השהיית כתוביות:","SUBTITLES_LOADING":"טוען כתוביות...","SUBTITLES_UNAVAILABLE":"אין כתוביות חיצוניות זמינות","SUBTITLES_DISABLED":"מבוטל","EXTERNAL_PLAYER_DISABLED":"מבוטל","EXTERNAL_PLAYER_ALLOW_CHOOSING":"אפשר בחירה","EXTERNAL_PLAYER_HINT":"טיפ: יש הגדרה לאפשר פתיחה תמיד עם נגן חיצוני","DONT_SHOW_AGAIN":"אל תציג שוב","SERVICE_INSTALL":"התקנה","AUDIO":"אודיו","DEFAULT_LANGUAGE":"שפת ברירת מחדל","DEFAULT_SECONDARY_LANGUAGE":"שפה משנית כברירת מחדל","SEASON":"עונה","EPISODE":"פרק","EPISODE_ABBREVIATION":"EP","SPECIAL":"מיוחד","SORT":"מיון","SORT_BY":"מיון לפי","FILTER":"סינון","SORT_TRENDING":"פופולרי","SORT_RECENT":"חדש","SORT_ALPHABET":"א-ת","SORT_ALPHABET_REVERSE":"ת-א","SORT_RATING":"דירוג","SORT_WATCHED":"נצפה","SORT_YEAR":"שנה","SELECT_TYPE":"לפי סוג","SELECT_SORT":"מיון לפי","SELECT_CATALOG":"לפי קטלוג","SELECT_GENRE":"לפי ז\'אנר","SORT_LASTWATCHED":"לפי נראה לאחרונה","SORT_NAME":"לפי שם","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"לפי פעמים שנצפה","SORT_NOTWATCHED":"לא נצפה","New for You":"חדש בשבילך","New Episodes":"פרקים חדשים","New Videos":"סרטים חדשים","Recommendations":"המלצות","LIBRARY_RESUME":"המשך","LIBRARY_PLAY":"ניגון","LIBRARY_DETAILS":"פרטים","LIBRARY_RESUME_DISMISS":"הסר","LIBRARY_CLEAR_PROGRESS":"ניקוי תהליך","LIBRARY_REMOVE":"הסרה","LIBRARY_NOT_LOGGED_IN":"הספרייה מאופשרת רק למשתמשים מחוברים","CALENDAR_NOT_LOGGED_IN":"היומן מאופשר רק למשתמשים מחוברים","NOT_LOGGED_IN_CLOUD":"תיגש לסרטים ולסדרות שלך, בכל מקום, בכל זמן","NOT_LOGGED_IN_RECOMMENDATIONS":"המלצות בעקבות היסטוריית הצפיה שלך","NOT_LOGGED_IN_NOTIFICATIONS":"אל תפספס פרק עוד פעם","NOT_LOGGED_IN_CALENDAR":"תזמן את יומן הצפייה האישי שלך","DISCOVER_FEATURED":"מומלץ","DISCOVER_TOP":"מומלץ","DISCOVER_OSCAR":"זוכי אוסקר","DISCOVER_WARNING_TITLE":"אבוי!","DISCOVER_EMPTY_CATALOG":"תוסף זה החזיר תוכן ריק.","DISCOVER_ADULT_WARNING":"תוכן זה מיועד למבוגרים. האם גילך הוא 18 ומעלה?","DISCOVER_NOADDON_WARNING":"אזהרה: אין תוסף סטרימיו פעיל עבור סוג זה. מציג פריטים שמורים, כלום לא ישמר כאן.","DISCOVER_LOAD_ERR":"גילוי: טעינת קטלוג נכשלה","DISCOVER_ADDON_UNINSTALLED":"תוכן זה אינו זמין יותר, ייתכן שהתוסף הוסר.","UNINSTALL_THIS_ADDON":"הסרת תוסף זה","ERR_ADDON_NOT_INSTALLED":"תוסף זה אינו מותקן. האם להתקין אותו כעת?","DETAIL_RECEIVE_NOTIF_SERIES":"קבלת התראות עבור פרקים חדשים","DETAIL_RECEIVE_NOTIF_VIDEOS":"קבלת התראות עבור סרטים חדשים","SIDEBAR_SHOW_STREAMS":"הצגת זרימות","RELAUNCH":"הפעל מחדש כעת!","UPGRADE":"עדכן לגרסה האחרונה של סטרימיו","RELOAD_UI":"טעינה מחדש של ממשק המשתמש","MANUAL_UPDATE_TITLE":"עדכון גרסת Stremio","MANUAL_UPDATE_LINE1":"גרסה זו של Stremio אינה עדכנית והשימוש בה אינו מומלץ.","MANUAL_UPDATE_LINE2":"נא לעדכן בהקדם האפשרי.","BUTTON_UPDATE_LATTER":"לא כעת","BUTTON_UPDATE_NOW":"עדכון","ANONYMOUS_USER":"משתמש אנונימי","DONT_HAVE_ACC":"אין לך חשבון?","HAVE_ACC":"כבר יש לך חשבון?","PASSWORD":"סיסמה","PASSWORD_CONFIRM":"אישור סיסמה","EMAIL":"דואר אלקטרוני","FB_LOGIN":"התחבר באמצעות פייסבוק","FB_NOTHINGSHARED":"שום דבר לא ישותף ללא רשותך","FB_NOPOST":"לא נשלח על שמך שום דבר","OR":"או","I_ACCEPT":"אני מסכים","I_ACCEPT_BY_CLICKING":"על ידי לחיצה למעלה, אני מאשר את","TOS":"תנאי המשימוש","MUST_ACCEPT_TERMS":"חובה לאשר תנאי שימוש","PASSWORDS_NOMATCH":"סיסמאות לא תואמות","SIGN_UP":"הרשמה","SIGN_UP_EMAIL":"הרשמה עם כתובת מייל","CLICK_TO_SIGN_UP":"לחץ כאן להרשמה.","LOG_IN":"התחברות","LOG_OUT":"התנתקות","EXIT_FULLSCREEN":"יציאה ממצב מסך מלא","ENTER_FULLSCREEN":"כניסה למצב מסך מלא","PLAY_URL_MAGNET_LINK":"ניגון קישור URL/Magnet","HELP_FEEDBACK":"עזרה ומשוב","TERMS_OF_SERVICE":"תנאי שימוש","PRIVACY_POLICY":"מדיניות הפרטיות","ABOUT_STREMIO":"אודות Stremio","USER_PANEL":"לוח בקרת משתמש","LOGIN_LABEL":"התחברות","GUEST_LOGIN":"התחברות כאורח","GUEST_LOGIN_NOTICE":"התחברות כאורח אינה מומלצת. התחברות רגילה מאפשרת לStremio לסנכרן את הספריות שלך, לקבל התראות על סדרות ווידאו האהובים עליך. האם אתה בטוח שתרצה להמשיך?","GUEST_LOGIN_NOTICE_2":"התחברות כאורח אינה מומלצת - לא יסונכרנו התראות בספריה או הלוח שלך, שאלו תכונות של Stremio. האם אתה בטוח שברצונך להמשיך?","CLICK_HERE":"לחץ כאן","WRONG_PASSWORD":"סיסמה שגויה, במקרה ששכחת את הסיסמה,","SET_A_PASS":"קבע סיסמה","RESET_PASSWORD":"איפוס סיסמה","FORGOT_PASSWORD":"שכחת סיסמה?","EMAIL_USED_WITH_FB":"כתובת דואר אלקטרוני זה שומש בחיבור בעזרת פייסבוק.","INVALID_EMAIL":"נא לכתוב כתובת מייל תקינה","INVALID_PASSWORD":"נא לכתוב סיסמה תקינה","CONN_ERR":"בעיית התחברות - אנא נסו מאוחר יותר.\\n\\nאם הבעיה ממשיכה, נטרלו את חומת האש/אנטי וירוס שלכם (במיוחד Bitdefender).","IMPORT_FROM_GUEST":"ייבוא ספריה מחשבון האורח שלך","RECEIVE_UPDATES_EMAIL":"-קבל עדכונים לדואר האלקטרוני מStremio","LOGIN_FAILED":"התחברות כשלה.","SIGNUP_FAILED":"הרשמה כשלה.","SEARCH_FAILED":"חיפוש כשל","EMAIL_USED":"כתובת מייל זו כבר בשימוש.","WAITING_FB_LOGIN":"מתחבר עם פייסבוק...","EXTERNAL_PLAYER_TITLE":"שימוש בנגן חיצוני","EXTERNAL_REMEMBER_PLAYER":"האם לזכור בחירה זו","EXTERNAL_ALWAYS_PLAY":"כן","EXTERNAL_ONLY_ONCE":"לא","BEST_FIT":"התאמה טובה ביותר","FIT_SCREEN":"התאמה למסך","FILL":"מילוי","16:9":"16:9","4:3":"4:3","Original":"מקורי","INTRO_TASTE":"ספרו לנו מה אתם אוהבים","INTRO_TASTE_LONG":"תספרו לנו במה תרצו לצפות","INTRO_TASTE_PICK":"בחירת {{interestsRemaining}} נושאים","INTRO_TASTE_PICK_MORE":"בחירת {{interestsRemaining}} נושאים נוספים","INTRO_TASTE_HELP_US":"עזרו לנו ללמוד עליכם עוד.","INTRO_TASTE_CHOOSE_THESE":"בחירה מהרשימה:","INTRO_TASTE_CHOOSE_MIN":"נא לבחור לפחות 3 קטגוריות","INTRO_TASTE_CHOOSE_MIN_ERR":"חובה לבחור לפחות 3 קטגוריות!","INTRO_TASTE_LIFESTYLE":"סגנון חיים","INTRO_TASTE_SPORTS":"ספורט","INTRO_TASTE_FOOD_HEALTH":"אוכל ובריאות","INTRO_TASTE_BEAUTY_FASHION":"יופי ואופנה","INTRO_TASTE_NEWS":"חדשות","INTRO_TASTE_GAMING":"משחקים","INTRO_TASTE_SCIENCE_EDU":"מדעים וחינוך","INTRO_TASTE_MUSIC":"מוסיקה","INTRO_TASTE_TRAVEL":"טיולים","INTRO_TASTE_LATE_NIGHT":"תוכנית אירוח","INTRO_TASTE_REALITY":"ריאליטי","INTRO_TASTE_COMEDY":"קומדיה","INTRO_TASTE_DIY":"עשה זאת בעצמך","INTRO_TASTE_TECH":"טכנולוגיה","INTRO_TASTE_CINEMA":"קולנוע","ADDON_NOT_SUPPORTED":"התוסף הנבחר אינו תומך בפלטפורמה זו.","ADDON_DISCLAIMER":"שימוש בתוספים צד שלישי תמיד יהיו תחת אחריותך ותחת החוק הקיים באזור מגוריך.","ADDON_ACTIVATE":"הפעלת תוסף זה?","ADDON_REPO_ADD":"כתובת מקור התוסף","ADDON_ADD":"הוספה","INSTALL_ADDON":"התקן תוסף","ADD_ADDON":"הוספת תוסף","ADD_ADDON_DESCRIPTION":"ניתן להוסיף תוסף באמצעות קישור חיצוני, התוסף יופיע תחת התוספים המותקנים","PASTE_ADDON_URL":"קישור לתוסף","WHATS_NEW":"מה חדש","BUTTON_CONTINUE":"המשך","BUTTON_ACTIVATE":"הפעל","BUTTON_ACTIVATED":"מופעל","BUTTON_CANCEL":"ביטול","BUTTON_SUBMIT":"שליחה","BUTTON_DISMISS_ALL":"התעלם מהכל","BUTTON_VIEW_ALL":"הצגת הכל","BUTTON_SEE_ALL":"להציג הכל","BUTTON_COLOR_TRANSPARENT":"שקוף","OPEN_IN_BROWSER":"פתח בדפדפן","LIB_EMPTY":"הספרייה שלך נראית ריקה. גלו כמה זה שימושי :) ","HOW_START":"ככה תוכל להתחיל:","LIB_EMPTY_CAL":"לוח השנה מציג סדרות בספרייה שלך","HOW_START_CAL":"כך אתה יכול להוסיף סדרות:","LIB_EMPTY_BOARD":"הלוח מציג התראות והמלצות אשר קשורים לספרייה שלך.","HOW_START_BOARD_WAIT":"אנא הוסף סדרות וערוצים לספרייה שלך ותן לנו כמה דקות לארגן את הכל :)","HOW_START_BOARD":"ככה אתה יכול להוסיף סדרות וסרטים אליו:","IMPORT_FB":"יבא דברים שאתה אוהב מ<span>פייסבוק</span>","IMPORT_TRAKT":"ייבוא ספריה מאתר <span>Trakt</span>","IMPORT_DISCOVER":"מצא דברים מעניינים דרך טאב ה<span>גלה</span>","IMPORT_DISK":"יבא סרטים או סדרות אשר נמצאים ב<span>דיסק המקומי</span>","PLEASE_CREATE_ACC":"אנא <u>צור חשבון</u> כדי לאפשר סנכרון ספרייה ולוח.","IMPORT_DISCOVER_SIGNUP":"הירשמו ותמצאו דברים מעניינים <span>בגילוי</span>","IMPORT_DISK_SIGNUP":"הירשמו וייבאו סרטים וסדרות שיש ברשותכם <span>בכונן מקומי</span>","LIB_EMPTY_CLOUD":"ספריה בענן","LIB_EMPTY_CLOUD_DESC":"ענן אישי לסנכרון סיפריה עם כל המכשירים","LIB_EMPTY_EARLY":"לפני כולם","LIB_EMPTY_EARLY_DESC":"קבלת התראות על פרקים חדשים","LIB_EMPTY_PERSONAL":"אישי","LIB_EMPTY_PERSONAL_DESC":"קבלת המלצות אישיות","LIB_EMPTY_CALENDAR_DESC":"קביעת לוח שנה לצפיה האישית שלכם","LIB_EMPTY_ALL":"הירשמו כדי לקבל את כל זה:","LIB_EMPTY_BEST":"הירשמו בכדי לקבל את הטוב ביותר מStremio","LIB_EMPTY_OTHER":"הרשמה בכדי להפעיל לוח שנה לצפיה ועוד דברים מגניבים","CALENDAR_ADDED":"הלוח שנה של Stremio התווסף ללוח שנה של שולחן העבודה.","CALENDAR_ADDED_MSG":"אם זה לא עובד, אנא השתמש בקישור כדי להוסיף את לוח השנה בצורה ידנית","TRAKT_EXPIRED":"קישוריות עם Trakt פגה, אנא עבור להגדרות והתחבר שוב","TRAKT_REQUIRES_LOGIN":"Trakt שגיאה","TRAKT_REQUIRES_LOGIN_MSG":"חובה להתחבר","TRAKT_IMPORT_WATCHED":"ייבא","THEME":"נושא","THEME_DEFAULT":"ברירת מחדשל","THEME_ADAPTIVE":"אדפטיבי","SETTINGS_LABEL":"הגדרות","SETTINGS_NAV_GENERAL":"כללי","SETTINGS_NAV_PLAYER":"נגן","SETTINGS_NAV_STREAMING":"תזרימים","SETTINGS_NAV_SHORTCUTS":"קיצורי דרך","SETTINGS_SHORTCUT_RELOAD_APP":"הפעלת אפליקציה מחדש","SETTINGS_SHORTCUT_OPEN_SETTINGS":"פתיחת הגדרות","SETTINGS_SHORTCUT_SWITCH_TABS":"החלפת טאבים","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"מעבר מעגלי בטאבים קדימה","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"מעבר מעגלי בטאבים אחורה","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"ניווט בין תפריטים","SETTINGS_SHORTCUT_GO_TO_SEARCH":"מעבר לחיפוש","SETTINGS_SHORTCUT_EXIT_BACK":"יציאה / חזרה","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"פתיחת תפריט מהירות הניגון","SETTINGS_SHORTCUT_MENU_VIDEOS":"פתיחת תפריט וידאו","SETTINGS_SHORTCUT_MENU_SUBTITLES":"פתיחת תפריט כתוביות","SETTINGS_SHORTCUT_MENU_INFO":"פתיחת תפריט מידע","SETTINGS_SHORTCUT_FULLSCREEN":"מסך מלא","SETTINGS_SHORTCUT_SHOW_CONTROLS":"הצגת שליטה","SETTINGS_SHORTCUT_PLAY_PAUSE":"ניגון / עצירה","SETTINGS_SHORTCUT_VOLUME_UP":"הגברת שמע","SETTINGS_SHORTCUT_VOLUME_DOWN":"הנמכת שמע","SETTINGS_SHORTCUT_SEEK_NEXT":"קפיצה להבא","SETTINGS_SHORTCUT_SEEK_PREV":"קפיצה לקודם","SETTINGS_SHORTCUT_SEEK_BACKWARD":"קפיצה אחורה","SETTINGS_SHORTCUT_SEEK_FORWARD":"קפיצה קדימה","SETTINGS_SHORTCUT_PLAY_NEXT":"הפעלת הבא","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"הגדל את גודל הכתוביות","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"הקטן את גודל הכתוביות","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"הגדל את עיכוב הכתוביות","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"הקטנת השהיית כתוביות","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"פתיחת תפריט צד","SETTINGS_SHORTCUT_OR":"או","SETTINGS_SHORTCUT_TO":"אל","SETTINGS_SHORTCUT_SPACE":"רווח","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"התחברות","SETTINGS_FACEBOOK_IMPORT":"ייבוא","SETTINGS_CALENDAR_SUBSCRIBE":"הרשמה לעדכונים","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"שפת ממשק","SETTINGS_LAUNCH_STARTUP":"הפעל בעת הפעלת המחשב","SETTINGS_VLC_DEFAULT":"לנגן עם vlc","SETTINGS_UI_LANGUAGE":"שפת ממשק","SETTINGS_UI_ZOOM":"זום ממשק","SETTINGS_FULLSCREEN_EXIT":"יש ללחוץ על Escape כדי לצאת ממצב מסך מלא","SETTINGS_GAMEPAD":"הפעלת תמיכה בבקר משחק","SETTINGS_CLOSE_WINDOW":"סגירת היישום עם סגירת החלון","SETTINGS_SUBTITLES_LANGUAGE":"שפת כתוביות ברירת מחדל","SETTINGS_SUBTITLES_SIZE":"גודל כתוביות ברירת מחדל","SETTINGS_SUBTITLES_BACKGROUND":"צבע רקע עבור כתוביות","SETTINGS_SUBTITLES_COLOR":"צבע כתוביות","SETTINGS_SUBTITLES_COLOR_OUTLINE":"צבע מתאר עבור כתוביות","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"צבע רקע עבור כתוביות","SETTINGS_SEEK_KEY":"מקשי החצים כדי לנוע בזמן","SETTINGS_SEEK_KEY_SHIFT":"מקשי החצים כדי לנוע בזמן כאשר המקש Shift מוחזק","SETTINGS_REWIND_FAST_FORWARD_DURATION":"משך הרצה אחורה וקדימה","SETTINGS_BINGE":"לנגן אוטומטית את הפרק הבא","SETTINGS_NEXT_VIDEO":"הצגת הודעה לתחילת הפרק הבא","SETTINGS_NEXT_VIDEO_TRIGGER":"משך הצגת ההודעה על הפרק הבא:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"משך הסרטון הקופץ הבא","SETTINGS_PLAY_IN_BACKGROUND":"נגן ברקע","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"נגן בנגן חיצוני","SETTINGS_RESIZE":"שינוי גודל אוטומטי של החלון לפני תחילת ניגון","SETTINGS_OVERRIDE_SERVER":"עקוף את כתובת שרת ההזרמה (מתקדם)","SETTINGS_SERVER_URL":"כתובת שרת הזרמה: ","SETTINGS_SERVER_AVAILABLE":"שרת הזרמה זמין.","SETTINGS_SERVER_UNAVAILABLE":"שרת הזרמה אינו זמין.","SETTINGS_SERVER_STATUS_ONLINE":"מחובר","SETTINGS_SERVER_STATUS_ERROR":"שגיאה","SETTINGS_SERVER_CONFIGURE_TITLE":"הגדר את כתובת האתר של שרת ההזרמה","SETTINGS_SERVER_CONFIGURE_INPUT":"הזן כתובת אתר של שרת ההזרמה","SETTINGS_SERVER_CACHE_SIZE":"גודל המטמון","SETTINGS_SERVER_TORRENT_PROFILE":"פרופיל הטורנט","SETTINGS_HTTPS_ENDPOINT":"כתובת הזרמה ב־HTTPS: ","SETTINGS_TRANSCODE_PROFILE":"פרופיל לקידוד","SETTINGS_USE_BETA":"תמיד להשתמש ב Beta האחרונה","SETTINGS_IMPORT_FB":"ייבא מפייסבוק","SETTINGS_IMPORT_DISK":"ייבא מדיסק מקומי","SETTINGS_IMPORT_TRAKT":"ייבא מ-Trakt","SETTINGS_PAUSE_MINIMIZED":"השהיית ניגון כאשר החלון ממוזער","SETTINGS_HWDEC":"קידוד מואץ בחומרה","SETTINGS_BACKGROUND":"רקע נגן","SETTINGS_SUBSCRIBE_CALENDAR":"הרשמה ללוח שנה","SETTINGS_REQ_EXPORT":"בקשה לייצוא מידע","SETTINGS_ACC_DELETE":"בקשה להסרת חשבון","SETTINGS_CHANGE_PASSWORD":"שנה סיסמה","SETTINGS_TOS":"תנאי שימוש","SETTINGS_SUPPORT":"צור קשר עם התמיכה","SETTING_LANGUAGE":"שפה","SETTINGS_TRAKT":"Trakt שילוב","SETTINGS_TRAKT_LOGOUT":"התנתקות מ-Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"התנתקות מ-Trakt","SETTINGS_SCAN_FOR_REMOTE":"סריקת קוד QR לשימוש מרוחק","SETTINGS_DESKTOP_NOTIFICATIONS":"התראות שולחן עבודה","SETTINGS_DATA_SAVER":"חיסכון משאבים","SETTINGS_LANGUAGE_INTERFACE":"מראה","SETTINGS_LANGUAGE_SUBS":"כתוביות ברירת מחדל","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"בחירה אוטומטית בפס הקול","SETTINGS_DEFAULT_AUDIO_TRACK":"פס קול ברירת מחדל","SETTINGS_SURROUND_SOUND":"קול היקפי","SETTINGS_ACCOUNT":"חשבון","SETTINGS_PLATFORM":"פלטפורמה","SETTINGS_VERSION":"גרסה","SETTINGS_ABOUT":"אודות","SETTINGS_MPV_WINDOW":"הפעלת נגן בחלון חיצוני (מתקדם)","SETTINGS_PLAY_IN_EXTERNAL":"תמיד התחלת ניגון בנגן חיצוני","SETTINGS_STORAGE_BUTTON":"ניקוי מטמון מקומי","SETTINGS_STORAGE_MODAL_TITLE":"האם אתה בטוח?","SETTINGS_STORAGE_MODAL_MESSAGE":"זה ינקה את המטמון המקומי וינתק אותך.","SETTINGS_HWDEC_PICKER":"בחירת הגדרה לdecoding מואצת בחומרה","SETTINGS_HW_AUTOMATIC":"אוטומטי","SETTINGS_HW_DISABLED":"מבוטל","SETTINGS_HW_ACCELERATED":"האצת קידוד","SETTINGS_HW_FULL":"האצה מלאה","SETTINGS_HW_LEGACY":"מורשת","SETTINGS_DISABLED":"השבת","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"הודעת חיבור לרשת","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"URL חיצוני","SETTINGS_COPY_REMOTE_URL":"העתק URL חיצוני","SETTINGS_REMOTE_URL_COPIED":"URL חיצוני הועתק למקלדת","SETTINGS_SECTION_SUBTITLES":"כתוביות","SETTINGS_SECTION_AUDIO":"שמע","SETTINGS_SECTION_CONTROLS":"בקרה","SETTINGS_SECTION_AUTO_PLAY":"ניגון אוטומטי","SETTINGS_SECTION_ADVANCED":"מתקדם","SUBSPICKER_AUDIO":"אודיו","SUBSPICKER_SUBTITLES":"תוסף כתוביות","SUBSPICKER_BLACK_BACKGROUND":"שימוש ברקע שחור","SUBSPICKER_VERTICAL_OFFSET":"מיקום אנכי","SUBSPICKER_SIZE":"גודל","SUBSPICKER_DELAY":"עיכוב","SUBSPICKER_EMBEDDED_SUBS":"כתוביות מוטבעות","MOBILE_PRIVACY_POLICY":"מדיניות הפרטיות","MOBILE_CRASH_REPORTING":"דיווח קריסות","MOBILE_ZOOM_TO_FILL":"זום למילוי מסך","MOBILE_PASSTHROUGH":"יציאת אודיו דיגיטלי (passthrough)","MOBILE_RUN_LOW_BATTERY":"ניגון במצב סוללה חלשה","MOBILE_RUN_FOREGROUND":"ניגון כשירות","MOBILE_PERFORMANCE":"ביצעים & יציבות","MOBILE_SERVER_ONLINE":"מחובר","MOBILE_SERVER_OFFLINE":"מנותק","MOBILE_QR_EXPIRES":"QR Code פג בתוך ","MOBILE_LOG_INTO":"התחברות לחשבון Stremio שלך ","MOBILE_SCAN_QR":"סרקו את הQR code למעלה או עברו אל ","MOBILE_LINK_ACCOUNT":"קישור חשבון","MOBILE_SPEEDPICKER_CANCEL":"ביטול","MOBILE_SPEEDPICKER_LABEL":"בחירת מהירות נגינה","MOBILE_EMPTY_LIBRARY":"הספריה שלך ריקה","MOBILE_NO_ADDON_ACTIVE":"אין תוסף stremio פעיל עבור סוג זה.","MOBILE_ORGANIZER_WARNING":"The Stremio Organizer app provides limited functionality. For a list of playable streams and the full Stremio experience, use Stremio on desktop.","MOBILE_ADDON_LOADING":"עדיין טוען","MOBILE_ADDONS_LOADING":"תוספים עדיין בטעינה","MOBILE_ADDON":"תוסף","MOBILE_CONFIGURE_ADDON":"הגדרת התוסף שלך","MOBILE_CONFIGURE_ADDON_LABEL":"הגדרת תוסף","MOBILE_ORGANIZER_ADDONS_WARNING":"The Stremio Organizer app provides a limited selection of addons. For the full Stremio experience, use Stremio on desktop.","MOBILE_DISCONNECT":"התנתקות","MOBILE_LOOKING_FOR_DEVICES":"מחפש מכשירים...","MOBILE_CAST_TO":"ליהוק אל","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"הסרת חשבון","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Account deletion is not instant due to legal obligations. After requesting deletion of your account you will have to use different email address/facebook profile to create a new Stremio account in the future.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"אשר מחיקת חשבון","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Your account has been created using Facebook. To delete your account, please use our user portal at www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"בבקשה ספר את סיסמתך עבור מחיקת המשתמש","MOBILE_DELETE_ACCOUNT_BUTTON":"הסרת חשבון","NAVIGATION_ON":"פועל","NAVIGATION_OFF":"כבוי","MARKETING_AGREE":"אני מסכים לקבל תוכן מאת Stremio","QUIT":"יציאה","CONNECTED":"מחובר","AUTHENTICATE":"אימות","CACHING":"מטמון","SETTINGS_CACHING_DRIVE":"בחר כונן למטמון","ENABLE_LOCAL_FILES_ADDON":"הפעלת תוסף גישה לקבצים מקומיים (נדרשת הפעלה מחדש)","LOCAL_ADDON_NOT_ENABLED":"תוסף מקומי אינו מופעל. לחץ כאן כדי לעבור להגדרות ולאפשר זאת","ENABLE_REMOTE_HTTPS_CONN":"הפעלת חיבורי HTTPS מרוחקים","TORRENT_PROFILE":"פרופיל Torrent","DATA_CACHING":"מידע זמני","MAGNET_PARSING":"מנתח קישור מגנט","January":"ינואר","February":"פברואר","March":"מרץ","April":"אפריל","May":"מאי","June":"יוני","July":"יולי","August":"אוגוסט","September":"ספטמבר","October":"אוקטובר","November":"נובמבר","December":"דצמבר","Monday":"שני","Tuesday":"שלישי","Wednesday":"רביעי","Thursday":"חמישי","Friday":"שישי","Saturday":"שבת","Sunday":"ראשון","Action":"פעולה","Comedy":"קומדיה","War":"מלחמה","Family":"משפחה","Animation":"אנימציה","Adventure":"הרפתקה","Fantasy":"פנטזיה","Crime":"פשע","Mystery":"מיסתורי","Romance":"רומנטיקה","Drama":"דרמה","Horror":"אימה","Thriller":"מותחן","Sci-Fi":"מדע בדיוני","Music":"מוזיקה","Biography":"ביוגרפיה","Documentary":"תיעודי","Sport":"ספורט","Musical":"מוזיקלי","Western":"מערבונים","Film-Noir":"סרט-נואר","News":"חדשות","History":"היסטוריה","Game-Show":"שעשועונים","Reality-TV":"ריאלטי","Talk-Show":"טוק שואו","Film & Entertainment":"סרטים ובידור","Gaming":"גיימינג","From TV":"מהטלויזיה","Lifestyle":"לייף סטייל","Science & Education":"מדע וחינוך","Cooking & Health":"בישול ובריאות","Beauty & Fashion":"יופי ואופנה","Sports":"ספורט","News & Politics":"חדשות ופוליטיקה","How-to & DIY":"עשה זאת בעצמך","Tech":"טכנולוגיה","Automotive":"רכב","Causes & Non-Profits":"ללא מטרות רווח","Movies":"סרטים","Uk Live Tv":"טלויזיה לייב בריטית","Fashion":"אופנה","Business News Radio":"רדיו חדשות עסקים","Business Tv":"טלויזיה עסקית","Cars & Auto":"רכבים","Comedy Radio":"רדיו קומדיה","Lifestyle Radio":"רדיו לייף סטייל","News Tv":"טלויזית חדשות","Food And Wine":"אוכל ויין","Latino Tv":"טלויזיה לטינית","Shopping Tv":"טלויזיית קניות","Religion":"דת","Kids":"ילדים","Body & Soul":"גוף ונפש","Education":"חינוך","Indian Tv":"טלויזיה הודית","Extreme Sports":"ספורט אקסטרים","Middle Eastern Tv":"טלויזיה מזרח תיכונית","Celebrity Tv":"טלויזיית סלבריטי","Science Tv":"טלויזיית מדע","Bikini babe":"ביקיני","Outdoors":"באוויר הפתוח","German Tv":"טלויזיה גרמנית","French Tv":"טלויזיה צרפתית","Italian Tv":"טלויזיה איטלקית","Gamer Tv":"טלויזיית גיימרים","Travel":"טלויזיית טיולים","Asian Tv":"טלויזיה אסייתית","Entertainment":"בידור","News Radio":"רדיו חדשות","Music Radio":"רדיו מוזיקה","Language Learning":"לימוד שפות","Science Radio":"רדיו מדע","Tech Radio":"רדיו טכנולוגיה","Science & Technology Vod":"מדע וטכנולוגיה VOD","new video":"וידאו חדש","new episode":"פרק חדש","new movie":"סרט חדש","recommended":"מומלצים","we recommend":"אנו ממליצים","offer of the day":"הצעת היום","news":"חדשות","music video":"קליפ מוסיקה","CTX_SHOW_HOTKEYS":"הצג מקשי קיצור","CTX_DISMISS_NOTIF":"התעלמות מהתראות","CTX_DISMISS_ALL":"התעלמות מהכל","CTX_SHARE":"שתף","CTX_COPY_SHARE_LINK":"העתקה ושיתוף קישור","CTX_COPY_MAGNET_LINK":"העתקת קישור magnet","CTX_COPY_STREAM_LINK":"העתקת קישור הזרמה stream","CTX_COPY_VIDEO_DOWNLOAD_LINK":"העתקת קישור הורדה","CTX_DOWNLOAD_VIDEO":"הורדת וידאו זה","CTX_DOWNLOAD_SUBS":"הורדת כתוביות","CTX_VIEW_ON_YOUTUBE":"צפיה בYouTube","CTX_SHOW":"הצג","CTX_PLAY":"הפעלה","CTX_PLAY_IN":"הפעלה בתוך","CTX_PLAY_ON":"הפעלה על","CTX_WATCH_ON":"צפה ב","CTX_WATCH":"צפה","CTX_WATCHED":"נצפה","CTX_WATCH_BEGINNING":"צפה מההתחלה","CTX_WATCH_MOBILE":"צפה במכשיר נייד","CTX_REWIND":"אחורה להתחלה","CTX_MARK_WATCHED":"סמן כנצפה","CTX_MARK_NON_WATCHED":"סמן כלא נצפה","CTX_MARK_UNWATCHED":"סמן כלא נצפה","CTX_MARK_REST":"סימון כל הבאים כנצפו","CTX_UNMARK_REST":"סימון כל הבאים שלא נצפו","CTX_RECEIVE_NEW_NOTIF":"קבל התראות חדשות","CTX_ENABLE_NEW_NOTIF":"אפשר התראות","CTX_DISABLE_NEW_NOTIF":"השבת התראות","CTX_REMOVE_CACHE":"הסר ממטמון","CTX_REMOVE_CACHE_EP":"הסר פרק ממטמון","CTX_OPEN_CONTAINING":"פתח תיקייה מכילה","CTX_REMOVE":"הסר מהספריה","CTX_AVAILABLE_OFFLINE":"זמין במצב לא מקוון","CTX_PAUSED":"השהה","CTX_ALWAYS_ON_TOP":"תמיד למעלה","CTX_FULLSCREEN":"מסך מלא","CTX_WRONG_SUBS":"כתוביות שגויות?","CTX_REPORT_ISSUES":"דווח על בעיה","CTX_COPY":"העתק","CTX_PASTE":"הדבק","CTX_CLEAR":"נקה","CTX_CLEAR_RECENT_SEARCHES":"נקה חיפושים אחרונים","HELLO_THERE":"היי שם","HOPE_YOU_ENJOY":"אנו מקווים שאתם נהנים מהתוכנה Stremio ושהיא אחת המועדפות שלכם!","WHO_ARE_WE":"מי אנחנו? אנחנו צוות מאחורי זה - שני בחורים שעובדים קשה מאוד כבר 3 שנים, עם מטרה אחת - לשפר את המוצר עוד ועוד.","SUPPORT_US":"אם אתם נהנים מStremio, ו-Stremio בעל ערך עבורכם - תתמכו בנו!","SPREAD_THE_WORD":"תשתפו עם חברים שלכם, הפיצו את המילה על Stremio","MORE_PEOPLE":"אמרו לעוד אנשים להשתמש ב-Stremio, וכך נשתפר!","SEND_A_LINK":"או שליחת קישור אל האתר שלנו","TIP_LOCALFILES":"טיפ: אפשר לגרור ולשחרר מדיה מתיקיה אל תוך Stremio","ADDON_MY":"תוספים שלי","ADDON_COMMUNITY":"תוספים של הקהילה","ADDON_OFFICIAL":"תוספים רשמיים","ADDON_REPOS":"מקורות תוספים","ADDON_SEARCH":"חיפוש תוספים","ADDON_INSTALL":"התקן","ADDON_CONFIGURE":"הגדר","ADDON_UNINSTALL":"הסר התקנה","ADDON_UPGRADE":"שדרוג","ADDON_INSTALLED":"מותקן","ADDON_INSTALLED_MSG":"התוסף מותקן!","ADDON_UPGRADED_MSG":"התוסף משודרג!","ADDON_UNKNOWN":"לא ידוע","ADDON_ERR":"שגיאה בהתקנת תוסף!","ADDON_DISCONNECTED":"מנותק","ADDON_APP_MISSING":"אפליקציה למקור זה אינה מותקנת. להתקין אותה?","ADDON_APP_INSTALL":"התקן כעת","ADDON_PAGE":"עמוד תוסף","ADDON_TOP_CONTENT":"תוכן הכי טוב מתוסף זה","ADDON_PROVIDES":"ספקים","ADDON_WATCH":"צפיה ב-#{types} כעט!","ADDON_WATCH_FREE":"צפה עכשיו ב-#{types} בחינם כעט!","ADDON_ADDON":"תוסף","ADDON_SUPPORTED_TYPES":"סוג נתמך","ADDON_SUPPORTED_CATALOGS":"קטלוג נתמך","ADDON_PROVIDES_DISCOVER":"עוד #{types} בגילוי","ADDON_PROVIDES_STREAMS":"צפיה ב-#{types}","ADDON_PROVIDES_STREAMS_FREE":"צפיה ב-#{types} בחינם","ADDON_PROVIDES_SUBTITLES":"כתוביות עבור #{types}","ADDON_CANTDETECT":"Stremio לא נמצא עובד, אז לא הצלחנו למצוא את התוספים המותקים.","ERR_NO_META":"לא נמצא מידע על זה ","ERR_GETTING_META":"שגיאה בהבאת מידע עבור זה.","ERR_CANT_PARSE_MAGNET":"לא ניתן לנתח קישור מגנט","ERR_NO_MAGNET_INFOHASH":"אין מידע hash עבור מגנט","ERR_NO_FILE_PATH":"אין אפשרות לשלוח את הבקשה ללא קישור אל הקובץ","ERR_NO_TORRENT":"אין טורנט חוזר","ERR_NO_SUPPORTERD_FILES":"קבצים לא נתמכים נמצאו","ERR_OPENING_FILES":"אין אפשרות לפתוח קבצים חיצוניים","ERR_INVALID_LINK":"קישור לא תקין","ERR_REGISTERED_ONLY":"אפשרות זו פעילה רק לרשומים בלבד.","ERR_CLIPBOARD":"לא ניתן לנגן מלוח הגזירים","ERR_CLIPBOARD_READ":"לא ניתן לקרוא את לוח הגזירים בפלטפורמה זו","ERR_CLIPBOARD_GENERIC":"לא נמצא קישור שהועקת ניתן לצפיה. נא להעתיק קישור (למשל, קישור magnet) של וידאו.","BOARD_CONTINUE_WATCHING":"המשך לצפות","BOARD_EXPLANATION_RECOMMENDATIONS":"סרטים נבחרים במיוחד בשבילך.<br />הסרט הזה הוא דוגמא להמלצה.","BOARD_EXPLANATION_EPISODES":"פרקים חדשים של הסדרות האהובות עליך יופיעו כאן.<br />הוסף סדרות שאתה עוקב אחריהן לספריה שלך.","BOARD_EXPLANATION_VIDEOS":"פרקים חדשים של הערוצים האהובים עליך יופיעו כאן.<br />הוסף ערוצי YouTube שאתה עוקב אחריהן לספריה שלך.","WEBSITE_ENJOYED_BY":"אתר זה נהנה ושומש על ידיד יותר מ-30 מיליון משתמשים ברחבי העולם","WEBSITE_STREAMING_ENHANCED":"סטרימינג משופר","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"זמין ב","WEBSITE_WATCH_AND_ENJOY":"צפה ותהנה.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"stremio הופך אתזה לקלי קלות","WEBSITE_ALL_FEATURES":"כל התכונות","WEBSITE_EASY_TO_USE":"קל לשימוש","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"מעבר חלק בין מכשירים","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"כל ההורדות","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"תמיכה בוידאו HD(High-Definition)","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"יצירת חשבון בחינם","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"חווית צפיה מתואמת","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"כל התכונות של stremio","WEBSITE_TRY_STREMIO_TITLE_P1":"נסה את Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"בטלוויזיה שלך עכשיו","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio בשביל טלוויזיה חכמה","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"ביקורות","WEBSITE_GET_STREMIO_FOR_FREE":"קבל את Stremio בחינם","WEBSITE_GET_STREMIO_NOW":"קבל את stremio עכשיו","WEBSITE_STREMIO_FEATURES":"תכונות של Stremio","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"גלה עוד","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"חינם ומאובטח","WEBSITE_STREAMING":"סטרימינג","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE":"לתרום","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"בקהילת Stremio","WEBSITE_SHARE_YOUR_THOUGHTS":"שתף את מחשבותיך","WEBSITE_REPORT_BUGS":"דווח על באגים","WEBSITE_SUGGEST_FEATURES":"הצע תכונות נוספות","WEBSITE_AND_PROVIDE_FEEDBACK":"ותספקו משוב בערוצי המדיה החברתית שלנו.","WEBSITE_BETA_TESTING_PROGRAM":"תוכנית בדיקות בטא","WEBSITE_BETA_TESTING_PROGRAM_DESC":"השתתפו בתוכנית בדיקות הבטא שלנו (אנו שולחים הזמנות באופן קבוע) בקהילת Stremio.","WEBSITE_JOIN_NOW":"הירשם עכשיו!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"קהילות רשמיות של Stremio","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"קהילות לא רשמיות של Stremio","WEBSITE_BECOME":"להפוך","WEBSITE_A_VOLUNTEER_TRANSLATOR":"למתרגם מתנדב","WEBSITE_ARE_YOU_A_DEVELOPER":"האם אתה מפתח?","WEBSITE_CONTRIBUTE_CODE":"תוכל לתרום קוד לפרויקטים שלנו בקוד פתוח. יש לנו מספר פרויקטים ב-GitHub שמחפשים תורמים. אם אתה מעוניין לעזור, בדוק אותם:","WEBSITE_STREMIO_ON_GITHUB":"Stremio ב-GitHub","WEBSITE_CREATE_ADDON_DESC":"צור תוסף כדי לשפר את הפונקציונליות של Stremio (יש לנו API קל לשימוש):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"אנו גם מציעים הזדמנות להצטרף אלינו כמפתח מתמחה כדי שנוכל לצמוח יחד.","WEBSITE_APPLY_AS_AN_INTERN":"הגש מועמדות כמתמחה","WEBSITE_CALLING_ALL_ARTISTS":"קריאה לכל האמנים!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"הציגו את היצירתיות והאהבה שלכם ל-Stremio על ידי העלאת אמנות מעריצים לגלריה המקוונת שלנו. בין אם זה ציור, ציור או עיצוב דיגיטלי, אנחנו רוצים לראות את הפרשנות הייחודית שלכם למותג Stremio. הצטרפו לקהילת חובבי האמנות שלנו ושתפו את עבודתכם עם מעריצי Stremio ברחבי העולם.","WEBSITE_STREMIO_FANART_GALLERY":"גלריית אמנות מעריצים של Stremio","WEBSITE_INTERN_DESIGNER":"הפוך לחלק מהצוות שלנו וקח את היצירתיות שלך לגבהים חדשים עם הזדמנויות ההתמחות המרגשות שלנו.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"פרויקט סרטי נחלת הכלל","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"ב-Stremio, אנו מחויבים לשמר את ההיסטוריה של הקולנוע והטלוויזיה על ידי זיהוי סרטים בנחלת הכלל וסרטים יתומים. בעבודה משותפת עם הקהילה שלנו, אנו יכולים להבטיח שיצירות אמנות קלאסיות אלה יהיו נגישות לכולם ומוגנות עבור הדורות הבאים ליהנות מהן.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"צרו איתנו קשר אם תרצו להיות מעורבים בפרויקט.","WEBSITE_JOIN_THE_PROJECT":"הצטרף לפרויקט","WEBSITE_BE_PART_OF_OUR_MISSION":"היה חלק מהמשימה שלנו","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"מעוניין להצטרף לצוות Stremio? אנו מציעים עבודה מרחוק מלאה לאנשי מקצוע נלהבים. בדוק את המשרות הפתוחות שלנו.","WEBSITE_OPEN_POSITIONS":"משרות פתוחות","WEBSITE_DESCRIPTION":"תאור","WEBSITE_LEARN_MORE":"למד עוד","WEBSITE_COMPANY":"החברה","WEBSITE_CONTACTS":"צור קשר","WEBSITE_NEED_HELP":"צריך עזרה?","WEBSITE_STREMIO_WEB_ON_IOS":"מדריכים עבור Stremio Web על iOS","WEBSITE_LINK_ART_V2":"גלריית Fanart","WEBSITE_PARTNERS":"שותפים","WEBSITE_SLOGAN_WATCH":"צפיה מיידית","WEBSITE_SLOGAN_ALL":"כל תוכן הוידאו במקום אחד להנאה מלאה","WEBSITE_SLOGAN_NEW":"כל מה שאתה יכול לצפות","WEBSITE_SLOGAN_NEW_NEW":"חופש בהזרמת תוכן","WEBSITE_WATCH_FROM":"צפה מ","WEBSITE_DOWNLOAD":"הורד עכשיו","WEBSITE_DOWNLOAD_FOR":"כעט מוריד עבור","WEBSITE_IS_DESKTOP":"Stremio היא תוכנת שולחן עבודה, פתח עמוד זה להורדה אל המחשב האישי","WEBSITE_DESKTOP_DEMO_VID":"הדגמת שולחן עבודה","WEBSITE_PAGE_HOME":"בית","WEBSITE_PAGE_FEATURES":"תכונות","WEBSITE_PAGE_ADDONS":"הרחבות","WEBSITE_PAGE_TECH":"טכנולוגיה","WEBSITE_PAGE_CREATE_ADDON":"צור הרחבה","WEBSITE_PAGE_CONTACTS":"צור קשר","WEBSITE_PAGE_BLOG":"בלוג","WEBSITE_RESET_PASSWORD_MESSAGE":"נא לכתוב סיסמה חדשה.","WEBSITE_RESET_PASSWORD_WARNING":"הנכם בטוחים שתרצו לאפס את הסיסמה עבור ${1}?","WEBSITE_TYPE_movie":"סרטים","WEBSITE_TYPE_series_PL":"סדרות","WEBSITE_TYPE_tv":"שידורים חיים","WEBSITE_TYPE_channel":"ערוצים","WEBSITE_STREMIO_WHAT_IS":"Stremio היא אפליקציה שעוזרת לך לארגן ולצפות מייד בסרטונים, סרטים, סדרות טלוויזיה וערוצי טלוויזיה האהובים עליך.","WEBSITE_FEATURES_WATCH":"צפיה מיידית באיכות HD","WEBSITE_FEATURES_WATCH_DETAIL":"לחץ ונגן את הסרטונים, סרטים, סדרות טלוויזיה וערוצי טלוויזיה האהובים עליך.","WEBSITE_FEATURES_SUBS":"כתוביות אוטומטיות","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio בוחרת לבד את הכתוביות על בסיס שפה שנבחרה.","WEBSITE_FEATURES_SUBS_LABEL":"הצעד שלך, בוס.","WEBSITE_FEATURES_CAST":"נגינה בטלויזיה & מכשירים ניידים","WEBSITE_FEATURES_CAST_DETAIL":"שידור בAppleTV, Chromecast, טלויזיה חכמה (DLNA/UPnP) ומכשירים ניידים.","WEBSITE_LIB":"תהנה מהספריה הפרטית שלך מסונכרת לכל מכשירך.","WEBSITE_LIB_COLLECT":"איסוף מStremio","WEBSITE_LIB_IMPORT":"ייבוא מFacebook","WEBSITE_LIB_LOCAL":"הוספה מכונן מקומי","WEBSITE_BOARD":"הלוח - נקודת העצירה להודעות וההמלצות שלך","WEBSITE_BOARD_RECOMMEND":"סדרות מומלצות","WEBSITE_BOARD_TRENDING":"סרט חם","WEBSITE_BOARD_NEW":"וידאו חדש","WEBSITE_BOARD_EPISODE":"פרק חדש","WEBSITE_BOARD_1":"מחפש משהו מעניין לצפות? קבל המלצות על בסיס טמעך האישי!","WEBSITE_BOARD_2":"קבל הודעה כאשר פרק חדש של הסדרה או ערוץ YouTube יוצא!","WEBSITE_BOARD_YOUTUBE":"סרטונים חדשים של ערוצי YouTube","WEBSITE_BOARD_EPISODES":"פרקים חדשים של הסדרות שהינך עוקב אחריהן","WEBSITE_ADDONS":"תוספי תוכן","WEBSITE_TECH_DETAIL":"אנחנו אוהבים טכנולוגיה, אנחנו אוהבים מדע משוגע!\\nStremio משתמש בטכנולוגיות קוד פתוח הבאות:","WEBSITE_TECH_WCJS":"WebChimera.js-מאפשר ל-Stremio להפעיל כל פורמט וידאו עם ביצועים טובים.","WEBSITE_TECH_WCJS_EXTRA":"אנחנו תורמים מרכזיים לפרויקט","WEBSITE_TECH_ELECTRON":"Electron מספק פלטפורמה חדשנית לבניית Stremio.","WEBSITE_TECH_ELECTRON_EXTRA":"אנחנו תורמים לפרויקט","WEBSITE_TECH_LINVODB":"טכנולוגיית מסד נתונים המבטיחה שהנתונים שלך מאורגנים וזמינים בכל מקום שבו אתה מתחבר.","WEBSITE_TECH_LINVODB_EXTRA":"טכנולוגיה פנימית","WEBSITE_CREATE_ADDON":"צור את התוסף שלך","WEBSITE_CREATE_ADDON_DETAIL":"יש לך שירות המספק תוכן וידאו? נעזור לך להפיק תועלת מהתכונות של Stremio על ידי יצירת התוסף שלך.","WEBSITE_CREATE_ADDON_BENEFITS":"יתרונות של יצירת תוסף ל-Stremio","WEBSITE_P2P_BEAUTY":"היופי של הזרמת עמית-לעמית","WEBSITE_P2P_1":"וידאו באיכות HD מלאה / 4K אמין ובמחיר סביר לפי דרישה או בשידור חי","WEBSITE_P2P_2":"פלטפורמת הפצה המספקת חוויית משתמש מעולה","WEBSITE_P2P_3":"ניצור תוסף שיענה על הצרכים המדויקים שלך","WEBSITE_P2P_CONTACT":"מתעניינים? אתם מוזמנים <a href=\'mailto:office@stremio.com\'>ליצור איתנו קשר</a>.","WEBSITE_P2P_CONTACT_EXTRA":"נשמח לעזור לכם לשלב את התוכן שלכם בסטרמיו!","WEBSITE_P2P":"מדי פעם מגיעה טכנולוגיה שמשנה את כללי המשחק. השקענו המון זמן ומאמץ בבניית מנוע הזרמת הווידאו עמית-לעמית (P2P) שלנו, המספק ביצועים מעולים וורסטיליות להתאמה לכל מקרה שימוש.\\nצרו איתנו קשר עבור וידאו P2P מוגן DRM לפי דרישה או בשידור חי.","WEBSITE_THOUGHTS":"מחשבות שאנחנו משתפים:","WEBSITE_SPREAD":"הפיצו את הבשורה על סטרמיו:","WEBSITE_CONTACT":"אם אתם מעוניינים ליצור איתנו קשר, פנו אלינו ב","WEBSITE_OPENSOURCE":"לפרויקטים בקוד פתוח שלנו, בקרו ב","WEBSITE_BITCOIN":"תרומת ביטקוין:","WEBSITE_FAQ":"שאלות נפוצות","WEBSITE_FAQ_SHORT":"שו״ת","WEBSITE_QUESTIONS":"שאלות","WEBSITE_TOS":"תנאי שימוש","WEBSITE_LEGAL":"Legal","WEBSITE_PAGE_ABOUT":"עלינו","WEBSITE_PAGE_BECOME_PARTNER":"הפוך לשותף","WEBSITE_ALL_YOU_CAN_WATCH":"חופש לצפות\\nבכל מה שתרצה.","WEBSITE_FREEDOM_TO_STREAM":"חופש להזרים","WEBSITE_WHAT_IS_STREMIO":"מה זה Stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio הוא מרכז אחד לאיסוף תוכן וידאו. גלה, ארגן וצפה בוידאו ממגוון מקורות בכל מכשיר שברשותך.","WEBSITE_WHAT_IS_STREMIO_P2":"סרטים, תוכניות טלוויזיה, סדרות, טלוויזיה בשידור חי או ערוצי אינטרנט כמו YouTube ו-Twitch.tv - תוכל למצוא את כל אלה בStremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio הוא מרכז מדיה מודרני שמהווה פתרון כולל לבידור הוידאו שלך. אתה מגלה, צופה ומארגן תוכן וידאו מתוספים קלים להתקנה.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"סרטים, תוכניות טלוויזיה, טלוויזיה בשידור חי או ערוצי אינטרנט - מצא את כל אלה בStremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"תהנה בכל מכשירי המדיה שלך","WEBSITE_DEVICES_COLLECT":"איסוף מתוך Stremio","WEBSITE_DEVICES_IMPORT_FB":"ייבוא מפייסבוק","WEBSITE_DEVICES_LOCAL":"הוסף מכונן מקומי","WEBSITE_JOIN_THE_PARTY_NOW":"הצטרף למסיבה עכשיו","WEBSITE_DEVICES_ALL":"קל לשימוש בכל המכשירים שלך;","WEBSITE_EXTENDABLE_CATALOG":"קטלוג וידאו הניתן להרחבה אינסופית;","WEBSITE_ORGANIZE_YOUR_MEDIA":"תכונות נהדרות לארגון המדיה שלך;","WEBSITE_AS_SEEN_ON":"כמו שנצפה ב","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"עלינו","WEBSITE_LINK_TECHNOLOGY":"טכנולוגיה","WEBSITE_LINK_APPS":"אפליקציות","WEBSITE_LINK_DOWNLOADS":"הורדות","WEBSITE_MORE":"עוד","WEBSITE_LINK_ADDONS":"תוספים","WEBSITE_LINK_ADDON_SDK":"SDK תוספים","WEBSITE_LINK_CONTRIBUTE":"לתרום","WEBSITE_LINK_COMMUNITY":"קהילה","WEBSITE_LINK_BLOG":"בלוג","WEBSITE_MORE_MORE":"... & ועוד","WEBSITE_LINK_HELP":"מרכז עזרה","WEBSITE_LINK_CONTACTS":"יצירת קשר","WEBSITE_LINK_TOS":"תנאי שימוש","WEBSITE_LINK_PRAVACY":"פרטיות","WEBSITE_SUBSCRIBE":"הרשמה לעדכונים","WEBSITE_NEWSLETTER":"הצטרפו לעדכונים של דברים שווים","WEBSITE_PLACEHOLDER_EMAIL":"דואר אלקטרוני","WEBSITE_COMMUNITY":"קהילה","WEBSITE_LINK_PRAVACY_LEGAL":"פרטיות & חוקים","WEBSITE_WHY":"למה אנחנו עושים את זה","WEBSITE_WHY_P1":"בStremio, אנחנו מגיעים לעבודה כל יום כי אנחנו רוצים לפתור בעיה חשובה בתעשיית הווידאו לפי דרישה. יש כל כך הרבה תוכן חדש שמתפרסם בכל דקה שכמעט בלתי אפשרי למצוא את דרכך בתוכו.","WEBSITE_WHY_P2":"אנחנו עוזרים לאנשים לנווט בעולם העצום הזה של בידור וידאו ולגלות תוכן חדש ליהנות ממנו. האפליקציות שלנו מאגדות סרטים, סדרות, טלוויזיה בשידור חי, ערוצי אינטרנט ועוד. אנחנו מחויבים להפוך את זה לקל באופן מדהים למשתמשים למצוא כותרים ושדרנים שהם אוהבים.","WEBSITE_WHY_P3":"אתם יכולים להשתמש בשירות שלנו בכל מכשיר ובכל זמן, מה שהופך את Stremio למרכז הבידור הוידאו היחיד שתצטרכו אי פעם.","WEBSITE_TEAM":"צוות","WEBSITE_TEAM_P":"The Stremio team is small but powerful: between the ten of us, we code in X languages, and share expertise in software development, UI and UX design, marketing and advertising, and business and startups.","WEBSITE_FEATURES":"Features","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Discover new content with ease","WEBSITE_FEATURES_DISCOVER_P":"Easily discover new movies, TV shows, series and channels to watch. Browse by category, genre, rating, recency, etc. or simply type a name to find. Stremio makes finding new video content a piece of cake.","WEBSITE_FEATURES_ALL_CONTENT":"All of your video content on one screen","WEBSITE_FEATURES_ALL_CONTENT_P1":"See what movies, series or videos you didn’t finish and continue watching them; get notified for new episodes and releases; and browse through the recommendations you will get based on your viewing habits.","WEBSITE_FEATURES_LIBRARY":"ארגון ספריית הוידאו","WEBSITE_FEATURES_LIBRARY_P1":"Add any title to your Stremio library with a single click and find your way around your content, neatly arranged by type, recency, or alphabetical order.","WEBSITE_FEATURES_CALENDAR":"Keep track of everything you watch","WEBSITE_FEATURES_CALENDAR_P1":"Get a calendar visualization of all the movies and series you add to your library. Export your Stremio calendar and sync it so you always know when a new episode or a premier is due.","WEBSITE_FEATURES_BIG_SCREEN":"Enjoy your video content on a bigger screen","WEBSITE_FEATURES_BIG_SCREEN_P1":"Cast whatever you are watching to another device - be it a phone, tablet or a TV with a single click.","WEBSITE_FEATURES_SOURCES":"Watch video from many different sources","WEBSITE_FEATURES_SOURCES_P":"Install official and community addons to enjoy video sourced from many different providers - all in one sleek, easy to use app.","WEBSITE_CREATE_AN_ADDON":"יצירת תוסף","WEBSITE_FEATURES_SYNC":"Sync your library across different devices and resume your playback","WEBSITE_FEATURES_SYNC_P1":"Login with your account across all your devices and enjoy your library, addons, playback and calendar synchronized.","WEBSITE_FEATURES_EXTENDABLE":"Extendable video catalog by addons","WEBSITE_FEATURES_EXTENDABLE_P1":"The Stremio addon catalog provides a number of addons to install and watch a variety of video content from. This includes movies, shows, live TV, sport, news, podcasts, web channels, video games and more.","WEBSITE_FEATURES_AUTO_SUBS":"כתוביות אוטוצטיות","WEBSITE_FEATURES_AUTO_SUBS_P1":"With our subtitle addons you get automatically selected options for your preferred language.","WEBSITE_FEATURES_CHROMECAST":"שידור אל Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Enjoy your video content on a bigger screen or just cast whatever you are watching to another device.","WEBSITE_FEATURES_KEEP_TRACK":"Keep track of your favorite TV shows and Web channels","WEBSITE_FEATURES_KEEP_TRACK_P1":"Get a calendar visualization and notifications for new episodes of your favorite series and web channels.","WEBSITE_FEATURES_POWER_USER":"Power user features","WEBSITE_FEATURES_POWER_USER_P1":"ניגון בנגן חיצוני","WEBSITE_FEATURES_POWER_USER_P2":"Play from a torrent file or magnet link","WEBSITE_FEATURES_POWER_USER_P3":"Import to your library from Facebook likes or local disk","WEBSITE_ADD_ONS":"תוספים","WEBSITE_ADD_ONS_P1":"All of the video content Stremio provides get sourced through an addon system - no content or content provider has been built into the app.","WEBSITE_ADD_ONS_P2":"There are two groups of addons available: official and community addons.","WEBSITE_ADD_ONS_P3":"The official ones are developed and hosted by Stremio, whereas community addons are created by our community members, who also host them.","WEBSITE_ADDONS_OFFICIAL":"תוספים רשמיים","WEBSITE_ADDONS_WATCHUB":"Stream your favourite movies, series and shows from providers like iTunes, Hulu, Amazon and other UK/US services.","WEBSITE_ADDONS_YOUTUBE":"Watch your favourite YouTube channels ad-free and get notifications for new uploads from the contributors you follow.","WEBSITE_ADDONS_FILMON":"Watch live TV, movies and social television for free. 600 TV channels, 45,000 free movies, documentaries and more.","WEBSITE_ADDONS_OPENSUBTITLES":"Movie and TV subtitles in multiple languages, thousands of translated subtitles uploaded every day.","WEBSITE_ADDONS_COMMUNITY":"תוספי קהילה","WEBSITE_ADDONS_FILMON_VOD":"צפיה של VOD מאתר Filmon.tv","WEBSITE_ADDONS_TWICH":"צפיה בשידור חי מאתר Twitch.tv - a video streaming platform for the e-sports industry.","WEBSITE_ADDONS_VODO":"צפיה בסרטים הודים ללא עלות.","WEBSITE_ADDONS_NETFLIX":"צפיה בסרטים וסדרות של Netflix.","WEBSITE_ADDONS_CREATE":"יצירת תוסף","WEBSITE_ADDONS_CREATE_P1":"If you wish, you can develop your own addon. This way, you can give yourself and our community access to new video content, and reach a new, targeted audience of millions of users around the world.","WEBSITE_ADDONS_START_CREATE":"להתחלה, בקרו בעמוד Stremio Addon SDK:","WEBSITE_DOWNLOADS":"הורדות","WEBSITE_DOWNLOADS_P1":"For optimal performance, we recommend that you use the latest available version of the Stremio apps. If for some reason, however, you would like to use an older version, you can download it here.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio עבור Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio עבור macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio עבור Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio עבור Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio עבור Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio עבור Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio עבור Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio עבור iOS","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio עבור Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio עבור LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio עבור Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio עבור Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio עבור Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio עבור Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio עבור Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio עבור Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio עבור Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio עבור Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"מדריך עבור Stremio OS על RPI","WEBSITE_LINK_GUIDE":"מדריך","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service עבור Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service עבור macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service עבור Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service עבור Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio עבור Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"עוד אפשרויות הורדה","WEBSITE_DOWNLOAD_NEW":"חדש!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"The Stremio platform is open source and you can easily create an addon for content that is currently not sourced.","WEBSITE_CONTRIBUTE_WHY":"Why should you create an addon?","WEBSITE_CONTRIBUTE_WHY_P1":"Reach new audience for your video content","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio’s user base is growing rapidly - within the first year of the launch, Stremio had gained 1 million users around the world, and in the second year of the platform’s existence this number grew to 2.5 million.","WEBSITE_CONTRIBUTE_WHY_P3":"With your addon, you can easily reach this audience and distribute your video content to them.","WEBSITE_CONTRIBUTE_ALL":"Watch your favourite movies, videos, series and channels in one single place.","WEBSITE_CONTRIBUTE_ALL_P1":"You’re a fan of a particular type of content not available on Stremio yet? Create an addon for it and enjoy watching your favourite videos in one of the largest and easiest to use entertainment hubs on the market.","WEBSITE_CONTRIBUTE_ALL_P2":"On top of that, you’ll get the endless gratitude of other like-minded Stremio community members.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetize your addon and earn money with its help","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Once you develop a new addon for Stremio, you can easily monetize it through a number of different ways. If you are considering this, feel free to get in touch with us at ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - we would be happy to consult and advise you about addon monetization options.","WEBSITE_CONTRIBUTE_TRANSLATE":"Become a volunteer translator","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"If you want to enjoy the Stremio apps in different languages, you can join our community of volunteer translators. They help us add versions of the Stremio in many different languages.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Are you eager to get started?","WEBSITE_TRANSALTE_STREMIO":"תרגום Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"קהילות רשמיות","WEBSITE_COMMUNITY_OFFICIALS_P1":"Become a part of the growing Stremio community. Follow us on social media and don’t be shy to say hello - we love hearing from our fans! ","WEBSITE_COMMUNITY_UNOFFICIALS":"קהילות לא רשמיות","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio ברזיל","STREMIO_COMMUNITY_GERMANY":"Stremio גרמניה","STREMIO_COMMUNITY_BELGIUM":"Stremio בלגיה","STREMIO_COMMUNITY_FRANCE":"Stremio צרפת","STREMIO_COMMUNITY_PORTUGAL":"Stremio פורטוגל","STREMIO_COMMUNITY_ITALY":"Stremio איטלקית","STREMIO_COMMUNITY_UK":"Stremio אנגליה","STREMIO_COMMUNITY_USA":"Stremio ארה\'\'ב","STREMIO_COMMUNITY_MEXICO":"Stremio מקסיקו","STREMIO_COMMUNITY_ADDONS":"Stremio תוספים","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"שותפים ותומכים","WEBSITE_COMMUNITY_GOODIES":"הטבות Stremio","WEBSITE_COMMUNITY_WALLPAPERS":"רקעים","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"צור קשר","WEBSITE_CONTACT_US_P1":"If you have any questions, comments or suggestions, feel free to get in touch with us through the contact form below.","WEBSITE_CONTACT_US_P2":"Keep in mind that we are located in Bulgaria so there may be a delay in addressing your query due to time zone differences.","WEBSITE_CONTACT_US_SUCCESS":"Your message has been sent. We will get back to you at our earliest convenience.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"אנא הכנס אימייל תקני","WEBSITE_CONTACT_US_Q_RELATED_TO":"למה השאלה שלך שייכת?","WEBSITE_CONTACT_US_Q_OS":"מה המערכת הפעלה שלך?","WEBSITE_CONTACT_US_PH_EMAIL":"כתובת דואר האלקטרוני שלך","WEBSITE_CONTACT_US_PH_MESSAGE":"הודעה","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"שליחה","WEBSITE_CONTACT_US_Q_1":"איך להתקין?","WEBSITE_CONTACT_US_Q_2":"איך להסיר?","WEBSITE_CONTACT_US_Q_3":"(HTML) איך לעשות lasagna?","WEBSITE_CONTACT_US_Q_4":"תוספים","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"טכנולוגיה","WEBSITE_TECHNOLOGY_P1":"We love technology and mad science. </br> Here is what powers Stremio (it’s all open-source).","WEBSITE_TECHNOLOGY_P_QT":"Cross-platform software development at its best.","WEBSITE_TECHNOLOGY_P_MPV":"A free, open source, and cross-platform media player.","WEBSITE_TECHNOLOGY_P_RN":"React Native lets you build mobile apps using only JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework embedded into application to get multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm is a mobile platform and a replacement for SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js is an open-source, cross-platform, JavaScript runtime environment.","WEBSITE_TECHNOLOGY_P_RUST":"Rust is a multi-paradigm system programming language focused on safety, especially safe concurrency.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribute to the project","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"There are two ways you can contribute to Stremio and help us make the product even better.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"You can donate your valuable language skills by translating the platform...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"או","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... you can employ your coding skills for creating community addons. ","WEBSITE_TRANSLATE_STREMIO":"תרגום Stremio","WEBSITE_404_OH_NO":"אוי לא! העמוד שחיפשת לא נמצא כאן...","WEBSITE_GO_HOME":"מעבר לבית","WEBSITE_LINK_OTHER_DOWNLOADS":"הורדות אחרות","WEBSITE_FAQ_ABR":"שאלות ותשובות","WEBSITE_SUPPORT":"תמיכה","WEBSITE_DOWNLOAD_4_0_BETA":"הורדת Stremio 4 beta","WEBSITE_GET_FOR_DESKTOP":"הורדה לשולחן העבודה","WEBSITE_LINK_ADDON_COMPETITION":"תחרות התוספים","WEBSITE_LINK_ART_CONTEST":"Art contest","WEBSITE_MY_ACCOUNT":"חשבון שלי","WEBSITE_MAINPAGE_FAQ_001_H1":"What is Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio is a modern media center that gives you the freedom to watch everything you want.","WEBSITE_MAINPAGE_FAQ_002_H1":"How does it work?","WEBSITE_MAINPAGE_FAQ_002_P1":"Once you install Stremio on your device and create an account, all you have to do is to visit the addon catalog and install any addon you want, and you\'re good to go!","WEBSITE_MAINPAGE_FAQ_002_P2":"After that, you can go to the Discover or Board sections to start exploring content.","WEBSITE_MAINPAGE_FAQ_003_H1":"What can I watch here?","WEBSITE_MAINPAGE_FAQ_003_P1":"A lot: Movies, TV shows, Web channels, Sport, TV channels, listen to Podcasts and more. Thanks to our addon system, you can accss a variety of content.","WEBSITE_MAINPAGE_FAQ_004_H1":"Is Stremio open-source?","WEBSITE_MAINPAGE_FAQ_004_P1":"Yes, you can check the following links: ${1}desktop app${2} and ${3}GitHub organization${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Is Stremio safe?","WEBSITE_MAINPAGE_FAQ_005_P1":"Yes: because it is open-source software, the code is publically auditable and you can review it yourself.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"How about my privacy?","WEBSITE_MAINPAGE_FAQ_006_P1":"We respect users\' privacy and do not collect any personal data besides the essential minimum to create and sync your account.","WEBSITE_MAINPAGE_FAQ_006_P2":"There is also a ${1}Guest mode${2} at signup, which requires no data whatsoever: in this mode, no calls are made to our backend. However, it comes at the expense of useful features, such as being able to sync your library across devices.","WEBSITE_MAINPAGE_FAQ_007_H1":"Can I cast to my TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Yes, we support Chromecast and you can cast both from desktop and mobile apps (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"How many addons does Stremio have?","WEBSITE_MAINPAGE_FAQ_008_P1":"As of late 2019, over 50 - for more information, check our addon catalog.","WEBSITE_MAINPAGE_FAQ_009_H1":"Can Stremio be extended beyond what\'s in the addon catalog?","WEBSITE_MAINPAGE_FAQ_009_P1":"Yes, you should check those: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"What devices does Stremio support?","WEBSITE_MAINPAGE_FAQ_010_P1":"We have desktop apps for Windows, Mac and Linux. For mobile, we support Android and iOS, although keep in mind that the iOS is limited in functionality (does not support most addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"There are many Android-based devices which you can run Stremio on, like NVIDIA Shield and Amazon Fire Stick, but we do not support them officially.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Can you add certain content to Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Sorry, we provide no content ourselves, but the more Stremio addons you have installed, the more content you will be able to find.","WEBSITE_MAINPAGE_FAQ_012_H1":"Can Stremio play magnet links?","WEBSITE_MAINPAGE_FAQ_012_P1":"Yes, and it can also play normal HTTP links and torrent files (drag and drop).","WEBSITE_MAINPAGE_FAQ_013_H1":"Can I download a video and watch offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Available offline is an upcoming feature, but if you allow Stremio to cache on your device (from the settings panel) you can watch the videos later without a connection.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nothing works, help me!","WEBSITE_MAINPAGE_FAQ_014_P1":"Are you sure you have installed addons? If yes, check with our ${1}help center${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"How does Stremio sustain it\'s development operations?","WEBSITE_MAINPAGE_FAQ_015_P1":"We run non-intrusive ads occassionally, but we\'re considering moving to a donation model.","WEBSITE_MAINPAGE_FAQ_015_P2":"For more questions, go to our ${1}help center${2}.","HELP_LEARN_MORE":"עזרו לנו ללמוד עליכם יותר.","LIFESTYLE":"סגנון חיים","SPORTS":"ספורט","FOOD_HEALTH":"אוכל ובריאות","BEAUTY_FASHION":"יופי ואופנה","NEWS":"חדשות","GAMING":"גיימינג","SCIENCE_EDUCATION":"מדע וחינוך","MUSIC":"מוזיקה","TRAVEL":"טיולים","LATE_NIGHT":"תוכניות אירוח","REALITY":"ריאלטי","COMEDY":"קומדיה","DIY":"עשה זאת בעצמך","TECH":"טכנולוגיה","CINEMA":"קולנוע","CONTINUE":"המשך","SLOW_LOADING":"טעינה איטית?","I_GIVE_UP":"לוותר","LEARN_MORE":"מידע נוסף","POOR_SOURCE":"מקור זה בקושי זמין או שחיבור האינטרנט שלך איטי מאוד","PICK_CATEGORIES_ERR":"נא לבחור 3 קטגוריות מינימום","ADJUST_TIMING":"שינוי תזמון בעזרת ","ADJUST_SIZE":"שינוי גודל בעזרת","SEARCH_ANYTHING":"אפשר לחפש הכל...","ALL_CATEGORIES":"הכל","SEARCH_CATEGORIES":"סרטים, סדרות, Youtube & טלויזיה","SEARCH_PERSONS":"שחקנים, מפיקים & כותבים","SEARCH_PROTOCOLS":"קישורים ישירים או מגנט","SEARCH_TYPES":"IMDB / TVDB קישורים","WATCHED":"נצפה","SHOW_LESS":"הצג פחות","LAST_SEARCHES":"חיפושים אחרונים","CLEAR_HISTORY":"נקה היסטוריה","CHOOSE_SOME":"בחירה של משהו מכאן:","NO_WEB_REMOTE":"שימוש מרוחק לא ניתן לטעינה","STREMIO_OFFLINE":"Stremio מנותק","STREMIO_EXPENSIVE_CONNECTION":"חיבור לאינטרנט הוא יקר","USE_DATA":"השתמש בנתונים ניידים","WARNING":"אזהרה","MORE_INFO":"מידע נוסף ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"טוען ...","STREMIO_TV_BACK_TO_LANGUAGES":"חזרה לשפות","STREMIO_TV_REMOTE":"שלט","STREMIO_TV_GO_TO":"מעבר אל:","STREMIO_TV_OR_SCAN":"או סריקה:","STREMIO_TV_ADDON_INSTRUCTIONS":"נא לעקוב אחר ההוראות בכדי להתקין את התוספים המועדפים עליכם.","STREMIO_TV_LIVE_TV":"טלויזיה חיה","STREMIO_TV_RESUME_WATCHING":"המשך צפיה","STREMIO_TV_LOADING_BACKGROUND":"טוען ברקע","STREMIO_TV_CHECKING_AUTHENTICATION":"בודק פרטי התחברות","STREMIO_TV_LOADING_BOARD":"טוען לוח","STREMIO_TV_LOGIN_HEADER_LINE_1":"אנו רוצים שהמשתמשים שלנו יזכו לחוויה המותאמת אישית הטובה ביותר עם התוכנה שלנו.","STREMIO_TV_LOGIN_HEADER_LINE_2":"מסיבה זו אנו מבקשים מכם לבקש ו / או להתחבר לחשבונכם.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"תודה על ההבנה,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"צוות Stremio","STREMIO_TV_REMOTE_INSTRUCTIONS":"על מנת להשתמש מרחוק באמצעות טלפון חכם / טאבלט / מחשב:","STREMIO_TV_WIFI_SETUP":"התקנת Wi-Fi","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle לא הצליח לזהות חיבור אינטרנט.","STREMIO_TV_WIFI_DETAILS_1":"חיבור אל:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"שימוש בסיסמה:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"פתיחת דפדפן עם קישור:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"ברירת המחדל","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"לפי נצפה לאחרונה","STREMIO_TV_LIBRARY_SORT_NAME":"לפי שם","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"לפי שם - סדר יורד","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"לפי כמות הצפיות","STREMIO_TV_LIBRARY_SORT_WATCHED":"לפי נצפה","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"לפי לא נצפה","STREMIO_TV_DETAILS_SEASON_NUMBER":"${1} עונה","STREMIO_TV_STREAMS_LOADING":"נטענו {1}$ / {2}$ תוספים...","STREMIO_TV_STREAMS_STILL_LOADING":"תוסף {1}$ עדיין נטען","STREMIO_TV_PLAYER_SETTINGS":"הגדרות נגן","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"השהיית כתוביות","STREMIO_TV_PLAYER_AUDIO_DELAY":"השהיית אודיו","STREMIO_TV_PLAYER_VIDEO_SCALING":"קנה מידה של וידאו","STREMIO_TV_PLAYER_CHAPTERS":"פרקים","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"דילוג על ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"מקור השידור אינו נתמך","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"שגיאה בפתיחת קישור חיצוני","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"לא ניתן לשינוי במצב passthrough","STREMIO_TV_PLAYER_PLAY_IN_EXO":"נגן עם ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"נגן עם libVLC","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"מחליף לנגן libVLAC עקב שגיאה בשידור","STREMIO_TV_ADDONS_TITLE":"Use Stremio on your Phone or PC to install or configure addons and press \\"סינכרון תוספים\\"","STREMIO_TV_ADDONS_SUBTITLE":"הערה: ודא כי אתה משתמש באותו משתמש Stremio","STREMIO_TV_ADDONS_SYNC_ADDONS":"סינכרון תוספים","STREMIO_TV_ADDONS_SYNC_SUCCESS":"תוספים סונכרונו בהצחלה","STREMIO_TV_ADDONS_SYNC_FAILED":"שגיאה סינכרון התוספים","STREMIO_TV_META_LINK_FAILED":"פתיחת לינק meta נכשלה","STREMIO_TV_CATALOG_LOADING":"הקטלוג עדין נטען...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"שפת הממשק עודכנה","STREMIO_TV_SETTINGS_THEME_UPDATED":"ערכת הנושא עודכנה","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"נגן ברירת המחדל","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"נגן חיצוני","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"שפה מועדפת","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"שפה מועדפת משנית","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possible playback issues on some devices","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Some video formats might not work","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"ללא זיכרון מטמון","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"ברירת מחדל","STREMIO_TV_SETTINGS_PROFILE_SOFT":"עדין","STREMIO_TV_SETTINGS_PROFILE_FAST":"מהיר","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"מהיר במיוחד","STREMIO_TV_SETTINGS_SERVER_URL":"קישור לשרת צפייה","STREMIO_TV_SETTINGS_SERVER_VERSION":"גרסת שרת","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"לא ידוע","STREMIO_TV_SETTINGS_STREMIO_VERSION":"גרסת Stremio","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"עריכת קישור שרת","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"הזן כתובת אתר של שרת הזרמה(סטרימינג)","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"הצג סטיסטיקות בזמן הטעינה","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"לקריאת תנאי הפרטיות של Stremio, בקרו ב:","STREMIO_TV_SETTINGS_TOS_TEXT":"לקריאת תנאי השימוש של Stremio, בקרו ב:","STREMIO_TV_NAV_SEARCH":"חיפוש","STREMIO_TV_NAV_HOME":"דף הבית","STREMIO_TV_NAV_DISCOVER":"גלה","STREMIO_TV_NAV_LIBRARY":"ספרייה","STREMIO_TV_NAV_MOVIES":"סרטים","STREMIO_TV_NAV_SERIES":"סדרות","STREMIO_TV_NAV_CHANNELS":"ערוצים","STREMIO_TV_NAV_TV":"שידורים חיים","STREMIO_TV_NAV_SETTINGS":"הגדרות","STREMIO_TV_NAV_ADDONS":"תוספים","STREMIO_TV_LOGIN_TITLE":"חבר משתמש","STREMIO_TV_LOGIN_EXPIRES_IN":"פג תוקף ב-","STREMIO_TV_LOGIN_STEP_ONE":"סרקו את קוד ה-QR או גשו ל:","STREMIO_TV_LOGIN_STEP_TWO":"התחברות למשתמש Stremio","STREMIO_TV_LOGIN_NEW_LINK":"בקש קישור חדש","STREMIO_TV_LOGIN_LINK_REFRESHED":"קישור ההתחברות חודש","STREMIO_TV_SEARCH_PLACEHOLDER":"הקלד משהו","STREMIO_TV_SEARCH_NO_ADDONS":"לא התבקשו תוספים לקטלוגים!","STREMIO_TV_SEARCH_BUTTON":"חיפוש","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"רווח","STREMIO_TV_SEARCH_KEY_CLEAR":"נקה","STREMIO_TV_SEARCH_HISTORY_TITLE":"היסטוריית החיפושים","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"אפשר לחפש כותרים, שחקנים, ערוצים ועוד...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"נקה את היסטוריית החיפושים","STREMIO_TV_FILTERS_DESCRIPTION":"בחרו אחד מהפילטרים מטה","STREMIO_TV_STREAMING_SERVER_OFFLINE":"שרת הסטרימינג במצב לא מקוון, בדוק את הגדרות השרת.","FILTERS":"פילטרים","SETTINGS":"הגדרות","ACCOUNT":"משתמש","LOGOUT":"התנתק","THEMES":"ערכות נושא","PLAYBACK":"ניגון","PLAYBACK_SPEED":"מהירות ניגון","AUDIO_TRACKS":"רצועות שמע","UNKNOWN_TRACK_LANG":"לא ידוע","VIDEOS":"סרטונים","SERVER":"שרת","LINKS":"קישורים","ABOUT":"אודות","INTERFACE":"ממשק","ANIMATIONS":"אנימציות","STATUS":"סטטוס","LANGUAGE":"שפה","SIZE":"גודל","DELAY":"השהייה","BOLD":"Bold","OPACITY":"Opacity","TEXT_COLOR":"צבע טקסט","OUTLINE_COLOR":"צבע מתאר","BACKGROUND_COLOR":"צבע רקע","BACKGROUND_BLUR":"טשטוש רקע","SEEK_TIME_DURATION":"משך זמן חיפוש","AUTO_PLAY":"נגן אוטומטית את הפרק הבא","PLAY_NOW":"נגן עכשיו","MARK_AS_WATCHED":"סמן כנצפה","MARK_AS_UNWATCHED":"סמן כלא נצפה","REWIND_TO_BEGINNING":"חזור להתחלה","CONTINUE_WATCHING":"המשך צפייה","ALL":"הכל","SECONDS":"שניות","ON":"דלוק","OFF":"כבוי","RELOAD":"טעינה מחדש","EDIT_URL":"ערוך קישור","NONE":"כלום","EMBEDDED":"מוטבע","REMOTE_SWITCH_DEVICES":"שינוי מכשירים","REMOTE_VIDEOS":"וידאו","REMOTE_ADJUST_TIMING":"שינוי תזמון","REMOTE_ADJUST_SIZE":"שינוי גודל","REMOTE_COULD_NOT_BE_LOADED":"שליטה מרחוק לא אפשרית","REMOTE_RETRY":"לנסות שוב","TORRENT_PROFILE_DEFAULT":"ברירת המחדל","TORRENT_PROFILE_SOFT":"עדין","TORRENT_PROFILE_FAST":"מהיר","TORRENT_PROFILE_ULTRA_FAST":"מהיר במיוחד","FAQ_001_H1":"?Stremio מה זה","FAQ_001_P1":"Stremio is a media center software designed for video entertainment with ease of use in mind. Stremio allows you to organize &amp; watch your own collection of movies, series, channels and live TV.","FAQ_001_P2":"Stremio collect the content it shows you from your local disk and our addons system.","FAQ_001_P3":"It will also notify you when new episodes/videos/movies you\'re interested in come out, and provide movie recommendations for you.","FAQ_02_H1":"How does Stremio compare to Kodi and Plex?","FAQ_02_P1":"We are inspired by those two pieces of software. But we have different goals - Stremio is specifically targeted towards entertainment video, and strives to become the mainstream solution for that by being very easy to use.","FAQ_02_P2":"Stremio will never be as customizable and feature-rich as Kodi and Plex, but it is significantly easier to use. Just ${1} get it and see ${2} :)","FAQ_03_H1":"How does Stremio compare to Netflix?","FAQ_03_P1":"Again, Netflix is one of our inspirations. We strive to achieve the user experience of Netflix, plus a lot of added goodies. But most importantly, we\'re giving you the freedom to manage your own library and add new content sources with our addon system.","FAQ_03_P2":"That makes Stremio infinitely extendable, so when you use Stremio, you\'re never limited to the content Netflix decides to license. For example, through Stremio you can watch content from ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} and even ${9}Netflix${10} itself!","FAQ_04_H1":"How does Stremio compare to Flipboard?","FAQ_04_P1":"We don’t get that question that often, except when talking to start-up people :)","FAQ_04_P2":"Stremio is by design a content aggregator, which essentially makes it Flipboard for video. This is very apparent in our Board section, which gives you catalogues and new episode/new video notifications for what you follow, just like Flipboard.","FAQ_05_H1":"How does Stremio compare to Popcorn Time?","FAQ_05_P1":"Stremio and Popcorn Time are similar in user interface, because there aren’t many ways to do video entertainment catalogues right :)","FAQ_05_P2":"But while Popcorn Time is focused on streaming torrents from specific sources, Stremio is unrestricted and is merely a content aggregator - it’s not locked into a specific content source.","FAQ_05_P3":"Furthermore, we do not provide any torrent addons by default, so Stremio does not cover the Popcorn Time use-case with official functionality.","FAQ_05_P4":"Another notable difference is that Popcorn Time is completely open source, while Stremio is ${1} partially open source${2}.","FAQ_06_H1":"Will you add this movie/series?","FAQ_06_P1":"No, sorry :(","FAQ_06_P2":"As is mentioned in most of the other questions, Stremio does not provide any content by itself - everything is added through the addons system. In case you have a content request, you can use the “Report” button in the Player, which will send an email to the author of the addon you’re currently using.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Will you create addon for X?","FAQ_08_P1":"It\'s entirely possible.","FAQ_08_P2":"If you have an idea for an addon, drop us a line at ${1}office@stremio.com${2}, but please make sure your addon idea will not infringe on any copyrights or terms of use.","FAQ_08_P3":"At the moment, the next things on our roadmap are addons for FandangoNOW, Filmon.tv video on demand and Crunchyroll.","FAQ_09_H1":"Does Stremio use BitTorrent?","FAQ_09_P1":"Yes, Stremio supports BitTorrent as a streaming protocol. You can use that either with a torrent addon, or by drag-and-dropping a .torrent file into Stremio, or by pasting a magnet link into the Search Bar.","FAQ_09_P2":"Please note that the only official addon using BitTorrent is ${1}Vodo${2}, which provides indie content, all permitted to be distributed with BitTorrent.","FAQ_09_P3":"We do not support use of any third-party addons which may enable copyright infringement.","FAQ_10_H1":"What can I watch in Stremio with the official addons?","FAQ_10_P1":"By default, you can watch Filmon.tv, YouTube and Vodo content within Stremio itself, with it’s embedded player. Additionally, we have an addon for Twitch.tv and a few others.","FAQ_10_P2":"This combined provides a selection of:","FAQ_10_L1":"Popular TV channels, provided by Filmon.tv - for example E4, BBC, Bollyworld TV","FAQ_10_L2":"Everything from YouTube - for example BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indie movies with Vodo","FAQ_10_L4":"Online gaming broadcasts with Twitch.tv","FAQ_10_P3":"Additionally, there are many content sources provided with Guidebox and the Netflix addons, which <b>do not</b> play entirely inside Stremio, but would redirect to the given service. For example, the Guidebox addon would give you a selection of movies you can stream in the US for free, from services like TubiTV and Crackle.","FAQ_11_H1":"Stremio won\'t install, what should I do?","FAQ_11_P1":"If you\'re on Windows, try ${1}this alternative installer${2}.","FAQ_11_P2":"If you\'re on Mac OS X, please be aware that we don\'t support anything older than OS X Mavericks (10.9).","FAQ_11_P3":"If you\'re on Linux, be aware that we only support 64 bit (x64) Linux at the moment.","FAQ_11_P4":"If you still can\'t resolve your problem, please write us at our ${1}Facebook group${2}.","FAQ_12_H1":"Why does my anti-virus complain? Is Stremio safe?","FAQ_12_P1":"We assure you Stremio is ${1}100% clean${2}.","FAQ_12_P2":"Your antivirus is complaining because we include advertising in our installer, which some anti-virus programs recognize as ad-ware.","FAQ_12_P3":"If you\'re still unsure, you can try our ${1}alternative installer${2}.","FAQ_13_H1":"How can I make an addon?","FAQ_13_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_13_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_13_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_14_H1":"How are addons published?","FAQ_14_P1":"When you create an addon and host, and put a <b>endpoint</b> field in your manifest, which points to a working addon address, the addon will automatically publish itself to our ${1}Addon catalogue${2}.","FAQ_14_P2":"This happens because the server part of the stremio-addons module automatically makes a call to our API to announce the addon. When our API validates your <b>endpoint</b> as a valid addon, it will start showing in the catalogue.","FAQ_15_H1":"Can I run Stremio in my browser?","FAQ_15_P1":"Not at the moment, but this is coming!","FAQ_15_P2":"If you\'re curious to see an Alpha, you can see it here: ${1}alpha4.strem.io${2}. Keep in mind streaming is disabled on this alpha. We support Chrome, Firefox, Opera and Edge.","FAQ_16_H1":"Casting to TV doesn\'t work / subtitles don\'t work","FAQ_16_P1":"Casting to TV uses the DLNA technology which is very inconsistent between different TV brands and models. For that reason, we do not have the ability to test it in every case, so it\'s far from perfect. Despite this, we\'re working on improving it constantly but we cannot give you a time estimate on when DLNA will start working properly with your TV.","FAQ_16_P2":"If you don\'t even see your TV in the casting menu, please try disabling your network connection and re-enabling it (on Windows, right click the Network and use Enable/Disable), as well as restarting your router, TV and PC.","FAQ_16_P3":"If you are still encountering issues, you can help us by sending your TV brand and model information at ${1}office@stremio.com${2}.","FAQ_16_P4":"In the meantime, we recommend Chromecast, which we support very well, or simply plugging in your TV to your PC with an HDMI cable.","FAQ_17_H1":"Stremio freezes and/or crashes, what can I do?","FAQ_17_P1":"First of all, if you\'re using Windows 7 with AVG anti-virus: we have a problem with that combination. The problem is in AVG itself, and there\'s no reasonable way to resolve it on our end. Unfortunately, exceptions or disabling the anti-virus won\'t work. The only solution is to replace AVG with something else.","FAQ_17_P2":"If that\'s not the issue, but you\'re still using Windows, please update to the latest service pack and update/re-install your GPU drivers, then try again.","FAQ_17_P3":"If you\'re problem is still not resolved, or you\'re using a Mac or Linux, please write us reporting the exact details of the problem at ${1}our Facebook group${2}.","FAQ_18_H1":"How can I make an addon?","FAQ_18_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_18_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_18_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_19_H1":"Why is Stremio taking disk space?","FAQ_19_P1":"Stremio has a <b>local cache</b> to temporarily keep the video files you stream.","FAQ_19_P2":"This has two benefits: first, it allows Stremio to pre-buffer the video ahead so as to ensure smoother streaming. Second, it keeps the videos in the local cache so you can continue watching them offline.","FAQ_19_P3":"How much Stremio keeps depends on the <b>Cache</b> setting in the Settings panel. Stremio may keep up to the set amount (e.g. 2GB) on your disk, unless the currently streamed video is larger than that, in which case it has to allocate enough storage to keep it until you\'re streaming it.","FAQ_20_H1":"Where is the cache folder?","FAQ_20_P1":"On Windows, it\'s stremio-cache in the drive you picked in Settings (e.g. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"On MacOS, it\'s \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"On Linux, it\'s \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"I get \\"Streaming server is not found\\" error, what can I do?","FAQ_21_P1":"If you get this error, it means one of few things:","FAQ_21_P2":"1) You are trying to use an addon backed by YouTube/BitTorrent source, through our ${1}web version${2}. In this case, you should install our desktop version from ${3}our website${4}.","FAQ_21_P3":"2) Something is wrong with your Stremio installation. In this case, try re-installing our latest desktop version from ${1}the website${2}. If this does not help, try disabling anti-virus programs and firewalls, restarting your PC and trying again. If this does not work too, please write us at our ${3}our Facebook group${4}.","FAQ_22_H1":"I cannot see/use most addons on iOS","FAQ_22_P1":"Because of restrictions in the Apple App Store terms and conditions, we have restricted the iOS application only to a particular set of addons.","FAQ_22_P2":"But rest assured - there will be more addons for iOS in the future, and we may also add an integration that will allow you to use all Stremio addons thanks to connecting the iOS app to the Stremio Streaming Server."}')},14018:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"फ़िल्म","TYPE_series":"धारावाहिक","TYPE_tv":"टीवी चैनल","TYPE_channel":"चैनल","TYPE_other":"अन्य","TYPE_movie_PL":"फ़िल्म","TYPE_series_PL":"धारावाहिक","TYPE_tv_PL":"टी वी चैनल","TYPE_channel_PL":"चैनल","TYPE_other_PL":"अन्य","TYPE_ALL":"All","TYPE":"Type","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"वीडियो","BACK":"पीछे","MORE":"अधिक","DONE":"किया हुआ","COPY":"प्रतिलिपि","SUCCESS":"Success","ERROR":"Error","SETTINGS_CASTING_MODE_PICKER":"Casting mode","CASTING_MODE_HLSV2":"Default","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"No transcoding","Discover":"डिस्कवर","Board":"तख़्ता","Library":"पुस्तकालय","My Library":"मेरा पुस्तकालय","Calendar":"पंचांग","NOTIFICATION_ONLINE":"अब आप ऑनलाइन हैं","NOTIFICATION_OFFLINE":"आप वर्तमान में ऑफ़लाइन हैं","INTERNET_CONNECTION":"नेटवर्क कनेक्शन","STORAGE_FULL_TITLE":"चेतावनी: भंडारण पूर्ण!","STORAGE_FULL_TEXT":"Stremio आपकी सेटिंग्स वरीयताओं या लॉगिन जानकारी को सहेजने में सक्षम नहीं होगा। फिर से शुरू करने या फिर से स्थापित करने पर विचार करें।","SEARCH":"तलाशी","SEARCH_NO_RESULTS":"कोई परिणाम नहीं मिले थे","SEARCH_EXPLANATION_CONTENT":"फिल्में श्रृंखला यूट्यूब और टीवी चैनल खोजें","SEARCH_EXPLANATION_PEOPLE":"अभिनेता निदेशकों और लेखकों के लिए खोजें","SEARCH_PASTE_LINKS":"HTTP और चुंबक लिंक पेस्ट करें","SEARCH_OR_PASTE_LINK":"Search or paste link","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"पुस्तकालय में जोड़ें","REMOVE_FROM_LIB":"पुस्तकालय से निकालें","ADDED_TO_LIB":"पुस्तकालय में जोड़ा गया","REMOVED_FROM_LIB":"पुस्तकालय से हटा दिया गया","TRAILER":"ट्रेलर","WATCH_TRAILER":"ट्रेलर देखें","WATCH_NOW":"अब देखिए","SHOW":"प्रदर्शन","SHOW_MOVIE":"फिल्म दिखाओ","WATCH_RANDOM":"यादृच्छिक","IMDB_RATING":"आईएमडीबी रेटिंग","YEAR":"वर्ष","DIRECTOR":"निर्देशक","WRITER":"लेखक","LEAD_ACTORS":"मुख्य अभिनेता","CAST":"ढालना","CREW":"कर्मी दल","SHOW_MORE_CAST":"और दिखाओ","AIRED":"प्रसारित","SEASONS":"मौसम के","GENRE":"शैली","GENRE_ALL":"All genres","CATALOG":"सूची","SUMMARY":"सारांश","SHOW_MORE":"और दिखाओ","SIMILAR":"एक जैसा","UPCOMING":"आगामी","ENDED":"समाप्त","DURATION":"अवधि","FEATURED":"विशेष रुप से प्रदर्शित","METADATA":"मेटाडाटा","CATEGORY":"वर्ग","LINKS_GENRES":"Genres","LINKS_CAST":"Cast","LINKS_DIRECTORS":"Directors","SEARCH_VIDEOS":"वीडियो खोजें","SEARCH_PLACEHOLDER":"यूआरएल खोजें या पेस्ट करें","ADDON":"ऐड ऑन","ADDONS":"ऐड-ऑन","OFFICIAL":"अधिकारी","ADDONS_OFFICIAL":"आधिकारिक स्ट्रीमियो एडॉन्स","ADDONS_POPULAR":"आपके क्षेत्र में लोकप्रिय","ADDON_FREE":"नि: शुल्क","ADDON_PEERED":"झाँका","ADDON_SUBSCRIPTION":"अंशदान","ADDON_STREAM_GEORESTRICTED":"आपके क्षेत्र में उपलब्ध नहीं है","ADDON_STREAM_OFFLINECACHE":"ऑफ़लाइन कैश","ADDON_STREAM_LOCALFILE":"स्थानीय संचिका","SHARE_ADDON":"शेयर एडन","AVAILABLE_STREAMS":"उपलब्ध धाराएं","NO_STREAM":"कोई धारा नहीं मिली","ALL_ADDONS":"All","INSTALL_MORE_ADDONS":"अधिक धाराओं के लिए कृपया अधिक addons स्थापित करें","STREAM_NOT_SUPPORTED":"चयनित स्ट्रीम इस मंच पर समर्थित नहीं है।","ADDON_CATALOGUE":"सभी एडॉन्स दिखाएं »","ADDON_CATALOGUE_MORE":"Addons स्थापित करें","REPO_ADDED":"रिपोजिटरी ने कहा","ADDON_REPO_EXIST_ERR":"यह एडॉन्स संग्रह पहले से मौजूद है","ADDON_REPO_ERR":"संग्रह जोड़ने के दौरान त्रुटि हुई","ADDON_ADD_ERR":"Addon जोड़ने के दौरान त्रुटि हुई","ERR_ADDON_PROTECTED":"Addon को अनइंस्टॉल नहीं कर सकता यह संरक्षित है","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"कुछ गलत हो गया - प्रमाणीकरण विफल हो सकता है","ERR_NOT_COLLECTION_URL":"एक संग्रह यूआरएल नहीं","ERR_NOT_ADDON_URL":"एक वैध एडन यूआरएल नहीं","ERR_DETECTFROMURL":"इस यूआरएल से एडन / संग्रह नहीं मिल रहा है","ADDON_DUPLICATE_WARNING":"चेतावनी: डुप्लिकेट एडन","ADDON_COLLECTION_SET_FAILED":"अपने खाते में स्थापित एडॉन्स को सिंक करना विफल रहा","SETTINGS_DATA_EXPORT":"निर्यात उपयोगकर्ता डेटा","ADDON_PULL_FAILED":"अपने खाते से स्थापित एडॉन्स को सिंक करना विफल रहा","REFRESH_ON_CLICK":"पुनः प्रयास करने के लिए क्लिक करें","STILL_IN_THEATER":"फिल्म अभी भी सिनेमाघरों में","WATCH_IN_CINEMA":"इसे अपने स्थानीय सिनेमा में देखें","IN_THEATER":"सिनेमा में","GET_TICKETS":"टिकिट पाएं","UPCOMING_EPISODE":"आगामी एपिसोड","UPCOMING_EPISODE_MESSAGE":"इस प्रकरण पर प्रसारित किया जाएगा","MISSING_DATE_EPISODE":"गायब एपिसोड तिथि","MISSING_DATE_EPISODE_MESSAGE":"यह एपिसोड अभी तक प्रसारित नहीं हो सकता है","CHANNEL_NOT_SCRAPED":"यह चैनल अभी तक स्क्रैप नहीं है। <br> कृपया कुछ मिनटों में वापस आएं।","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"इसे उपलब्ध होने के बाद अधिसूचित होने के लिए इसे अपनी लाइब्रेरी में जोड़ें।","GET_NOTIFIED_WHEN_AVAILABLE":"एक बार उपलब्ध होने के बाद आपको सूचित किया जाएगा।","WARNING_STREAMING_SERVER":"चेतावनी: स्थानीय स्ट्रीमिंग सर्वर नहीं मिला। स्थानीय फाइलों से स्ट्रीमिंग यूट्यूब और बिटटोरेंट उपलब्ध नहीं होंगे।","WARNING_STREAMING_SERVER_DISMISS":"Dismiss","WARNING_STREAMING_SERVER_LATER":"Later","DECODER_WARNING":"चेतावनी: इस वीडियो को आपके हार्डवेयर द्वारा समर्थित नहीं किया जा सकता है। ध्यान रखें प्लेबैक धीमा हो सकता है।","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"ओह खिलाड़ी त्रुटि","PLAYER_ERROR_LOOKSLIKE":"ऐसा लग रहा है","PLAYER_ORIENTATION":"खिलाड़ी अभिविन्यास","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"बंद","PLAYER_ORIENTATION_SENSOR_SHORT":"सेंसर","PLAYER_ORIENTATION_LANDSCAPE":"प्लेयर ओरिएंटेशन लैंडस्केप पर लॉक किया गया","PLAYER_ORIENTATION_SENSOR":"प्लेयर अभिविन्यास स्वचालित (सेंसर)","PLAYER_PLAYBACK_SPEED":"प्लेबैक गति","PLAYER_PLAYBACK_ERROR":"प्लेबैक त्रुटि कृपया पुनः प्रयास करें","PLAYER_PLAYBACK_ERROR_UNKNOWN":"अज्ञात त्रुटि","PLAYER_PLAYBACK_ERROR_DEFAULT":"क्षमा करें इस वीडियो को {{PRODUCTNAME}} द्वारा नहीं खेला जा सकता है।","PLAYER_SUBTITLES_LANGUAGES":"Subtitles Languages","PLAYER_SUBTITLES_VARIANTS":"Subtitles Variants","PLAYER_SUBTITLES_SETTINGS":"Subtitles Settings","PLAYER_SUBTITLES_DISABLED":"Subtitles are disabled","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Vertical Position","PLAYER_SUBTITLES_LOADED":"Subtitles loaded","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Embedded subtitles loaded","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Exclusive subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Subtitles from {{origin}} loaded","PLAYER_PLAY":"Play","PLAYER_PAUSE":"Pause","PLAYER_NEXT_VIDEO":"Next Video","PLAYER_MUTE":"Mute","PLAYER_UNMUTE":"Unmute","PLAYER_OPEN_IN_EXTERNAL":"Open in external player","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Play in {{device}}","PLAYER_LIVE":"रहना","PLAYER_NEXT_VIDEO_TITLE":"आगे आ रहा है","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"खारिज","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"अब देखिए","PLAYER_COPY_STREAM_SUCCESS":"Stream link was copied to your clipboard","PLAYER_COPY_STREAM_ERROR":"Failed to copy stream link","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","STREAMING_FROM":"से स्ट्रीमिंग","CASTING_TO":"कास्टिंग करना","NETWORK_STATUS":"नेटवर्क की स्थिति","STREAM_SPEED":"धारा गति:","STREAM_BUFFERED":"Buffered:","PEERS_INFO":"सहकर्मी सूचना","PEERS_ACTIVE":"सक्रिय:","PEERS_CONNECTED":"जुड़े हुए:","PEERS_WAITING":"इंतज़ार कर रही:","TRANSCODING_WARNING":"चेतावनी: ट्रांसकोडिंग वीडियो।","STREAM_LOADING":"लोड हो रहा है...","PLAYING_LOCAL":"स्थानीय फ़ाइल से बजाना","PLAYING_CACHE":"कैश से बजाना","WRONG_SUBS":"गलत उपशीर्षक?","ERR_SUBS_LOADING_TITLE":"उपशीर्षक लोड करने में त्रुटि","ERR_SUBS_LOADING":"असफल उपशीर्षक लोड हो रहा है: यह आपके द्वारा उपयोग किए जा रहे एडन के साथ या आपके नेटवर्क कनेक्शन के साथ एक समस्या हो सकती है","WARN_FOLLOWING_SUB_ADDONS_FAILED":"निम्नलिखित उपशीर्षक Addons विफल","ERR_CASTING_UPDATE_TITLE":"कास्टिंग डिवाइस जानकारी अपडेट नहीं कर सका: स्ट्रीमिंग सर्वर ऑफ़लाइन हो सकता है","CHOOSE_DEVICE":"देखने के लिए एक उपकरण चुनें","NO_CAST_DEVICES":"कोई कास्टिंग डिवाइस उपलब्ध नहीं है।","NO_SETTINGS":"कोई सेटिंग उपलब्ध नहीं है।","PHONE_TABLET":"फोन / टैबलेट","SUBTITLES":"उपशीर्षक","SUBTITLES_CHANGE":"के लिए उपशीर्षक बदलें","SUBTITLES_CHANGE_NONE":"इस भाषा के लिए कोई अन्य उपशीर्षक खेद नहीं है।","SUBTITLES_CHANGE_ACIVE":"वर्तमान में उपशीर्षक & # 35; {{subtitlesdialog.ActiveDX + 1}} सक्रिय हैं। उपशीर्षक सक्रिय करने के लिए जारी रखें & # 35; {{subtitlesdialog.pickedIDX + 1}}।","SUBTITLES_OR":"वैकल्पिक","SUBTITLES_ADJUST_DELAY":"उपशीर्षक देरी समायोजित करें:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"या समायोजित करने के लिए खेलते समय <span> g </ span> / <span> h </ span> कुंजी का उपयोग करें।","SUBTITLES_ADJUST_DELAY_TIP":"युक्ति: आप समायोजित करने के दौरान <span> g </ span> / <span> h </ span> कुंजी का उपयोग कर सकते हैं।","SUBTITLES_DELAY":"उपशीर्षक देरी:","SUBTITLES_LOADING":"उपशीर्षक लोड हो रहा है ...","SUBTITLES_UNAVAILABLE":"कोई बाहरी उपशीर्षक उपलब्ध नहीं है","SUBTITLES_DISABLED":"विकलांग","EXTERNAL_PLAYER_DISABLED":"Disabled","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Allow Choosing","EXTERNAL_PLAYER_HINT":"Hint: There is a setting to allow always opening with external player","DONT_SHOW_AGAIN":"Don\'t show again","SERVICE_INSTALL":"Install","AUDIO":"Audio","DEFAULT_LANGUAGE":"Default Language","DEFAULT_SECONDARY_LANGUAGE":"Default Secondary Language","SEASON":"मौसम","EPISODE":"प्रकरण","EPISODE_ABBREVIATION":"EP","SPECIAL":"Special","SORT":"तरह","SORT_BY":"इसके अनुसार क्रमबद्ध करें","FILTER":"फिल्टर","SORT_TRENDING":"ट्रेंडिंग","SORT_RECENT":"हालिया","SORT_ALPHABET":"ए-जेड","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"रेटिंग","SORT_WATCHED":"देखा","SORT_YEAR":"वर्ष","SELECT_TYPE":"Select type","SELECT_SORT":"Select sort","SELECT_CATALOG":"Select catalog","SELECT_GENRE":"Select genre","SORT_LASTWATCHED":"By last watched","SORT_NAME":"By name","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"By times watched","SORT_NOTWATCHED":"not watched","New for You":"आपके लिए नया","New Episodes":"नए एपिसोड","New Videos":"नए वीडियो","Recommendations":"सिफारिशों","LIBRARY_RESUME":"फिर शुरू करना","LIBRARY_PLAY":"Play","LIBRARY_DETAILS":"विवरण","LIBRARY_RESUME_DISMISS":"खारिज","LIBRARY_CLEAR_PROGRESS":"Clear Progress","LIBRARY_REMOVE":"Remove","LIBRARY_NOT_LOGGED_IN":"Library is only available for logged in users","CALENDAR_NOT_LOGGED_IN":"Calendar is only available for logged in users","NOT_LOGGED_IN_CLOUD":"Access your favorite movies and TV shows anytime, anywhere","NOT_LOGGED_IN_RECOMMENDATIONS":"Recommendations tailored to your viewing history","NOT_LOGGED_IN_NOTIFICATIONS":"Never miss an episode again","NOT_LOGGED_IN_CALENDAR":"Schedule your personal watching calendar","DISCOVER_FEATURED":"विशेष रुप से प्रदर्शित","DISCOVER_TOP":"शीर्ष","DISCOVER_OSCAR":"ऑस्कर विजेता","DISCOVER_WARNING_TITLE":"उफ़!","DISCOVER_EMPTY_CATALOG":"यह एडन खाली सामग्री लौटा दी।","DISCOVER_ADULT_WARNING":"सामग्री केवल वयस्कों के लिए दिखाई दे रही है। क्या आप 18+ हैं?","DISCOVER_NOADDON_WARNING":"चेतावनी: इस प्रकार के लिए कोई स्ट्रैमियो एडन सक्रिय नहीं है। सहेजी गई वस्तुओं को यहां कुछ भी अपडेट नहीं किया जाएगा।","DISCOVER_LOAD_ERR":"सामग्री ने त्रुटि लोड नहीं की।","DISCOVER_ADDON_UNINSTALLED":"यह सामग्री अब उपलब्ध नहीं है कि आपने एडन को अन-इंस्टॉल किया हो सकता है।","UNINSTALL_THIS_ADDON":"इस एडन को अनइंस्टॉल करें","ERR_ADDON_NOT_INSTALLED":"यह एडन स्थापित नहीं है। अब स्थापित करें?","DETAIL_RECEIVE_NOTIF_SERIES":"नए एपिसोड के लिए सूचनाएं प्राप्त करें","DETAIL_RECEIVE_NOTIF_VIDEOS":"नए वीडियो के लिए सूचनाएं प्राप्त करें","SIDEBAR_SHOW_STREAMS":"स्ट्रीम दिखाएं","RELAUNCH":"अब पुनः प्रक्षेपण!","UPGRADE":"नया संस्करण उपलब्ध है! नवीनतम STREMIO संस्करण में अपग्रेड करें","RELOAD_UI":"उपयोगकर्ता इंटरफ़ेस को पुनः लोड करें","MANUAL_UPDATE_TITLE":"अपने STREMIO संस्करण को अपडेट करें","MANUAL_UPDATE_LINE1":"आप स्ट्रैमियो का पुराना संस्करण चला रहे हैं जो अत्यधिक अपरिचित है।","MANUAL_UPDATE_LINE2":"कृपया जल्द से जल्द अपडेट करें।","BUTTON_UPDATE_LATTER":"अभी नहीं","BUTTON_UPDATE_NOW":"अद्यतन","ANONYMOUS_USER":"अनाम उपयोगकर्ता","DONT_HAVE_ACC":"खाता नहीं है?","HAVE_ACC":"क्या आपके पास पहले से एक खाता मौजूद है?","PASSWORD":"कुंजिका","PASSWORD_CONFIRM":"पासवर्ड की पुष्टि कीजिये","EMAIL":"ईमेल","FB_LOGIN":"फेसबुक के साथ जारी रखें","FB_NOTHINGSHARED":"आपकी अनुमति के बिना कुछ भी साझा नहीं किया जाता है","FB_NOPOST":"हम आपकी ओर से कुछ भी पोस्ट नहीं करेंगे","OR":"या","I_ACCEPT":"मैं स्वीकारता हूँ","I_ACCEPT_BY_CLICKING":"उपरोक्त बटन पर क्लिक करके मैं प्रमाणित करता हूं कि मैं स्वीकार करता हूं","TOS":"नियम और शर्तें","MUST_ACCEPT_TERMS":"आपको शर्तों को स्वीकार करना होगा","PASSWORDS_NOMATCH":"पासवर्ड मेल नहीं खाते","SIGN_UP":"साइन अप करें","SIGN_UP_EMAIL":"ईमेल के लिए साइन इन करें","CLICK_TO_SIGN_UP":"साइन अप करने के लिए यहां क्लिक करें।","LOG_IN":"लॉग इन करें","LOG_OUT":"लॉग आउट","EXIT_FULLSCREEN":"पूर्णस्क्रीन मोड से बाहर निकलें","ENTER_FULLSCREEN":"पूर्णस्क्रीन मोड दर्ज करें","PLAY_URL_MAGNET_LINK":"यूआरएल / चुंबक लिंक खेलें","HELP_FEEDBACK":"सहायता और प्रतिक्रिया","TERMS_OF_SERVICE":"सेवा की शर्तें","PRIVACY_POLICY":"Privacy Policy","ABOUT_STREMIO":"STREMIO के बारे में","USER_PANEL":"उपयोगकर्ता पैनल","LOGIN_LABEL":"Login","GUEST_LOGIN":"मेहमान लॉगइन करें","GUEST_LOGIN_NOTICE":"अतिथि लॉगिन की अनुशंसा नहीं की जाती है। एक नियमित लॉगिन का उपयोग करने से आपकी लाइब्रेरी को सिंक करने के लिए STREMIO को पसंदीदा श्रृंखला / चैनलों के लिए अधिसूचनाएं प्राप्त होती हैं। क्या आप सुनिश्चित रूप से आगे बढ़ना चाहते हैं?","GUEST_LOGIN_NOTICE_2":"अतिथि लॉगिन की अनुशंसा नहीं की जाती है - आपके पास समन्वयित पुस्तकालय और बोर्ड अधिसूचनाएं नहीं होंगी जो महत्वपूर्ण स्ट्रमियो विशेषताएं हैं। क्या आप सुनिश्चित रूप से आगे बढ़ना चाहते हैं?","CLICK_HERE":"यहां क्लिक करें","WRONG_PASSWORD":"गलत ईमेल या पासवर्ड। मामले में आप अपना पासवर्ड भूल गए हैं","SET_A_PASS":"एक पासवर्ड सेट करें","RESET_PASSWORD":"पासवर्ड रीसेट","FORGOT_PASSWORD":"पासवर्ड भूल गए?","EMAIL_USED_WITH_FB":"इस ईमेल का उपयोग फेसबुक लॉगिन के साथ किया गया था।","INVALID_EMAIL":"कृपया एक वैध ई - मेल एड्रेस डालें","INVALID_PASSWORD":"कृपया एक वैध पासवर्ड दर्ज करें","CONN_ERR":"कनेक्शन त्रुटि - कृपया बाद में पुनः प्रयास करें। N NIf यह फायरवॉल / एंटी-वायरस सॉफ़्टवेयर (विशेष रूप से बिट डिडीफेंडर) को अक्षम करता है।","IMPORT_FROM_GUEST":"अपने अतिथि खाते से लाइब्रेरी आयात करें","RECEIVE_UPDATES_EMAIL":"STREMIO से अपने ईमेल पर अपडेट प्राप्त करें","LOGIN_FAILED":"लॉगिन विफल।","SIGNUP_FAILED":"साइन अप करने में विफल रहा।","SEARCH_FAILED":"खोज विफल","EMAIL_USED":"यह ईमेल पहले से प्रयोग में है।","WAITING_FB_LOGIN":"फेसबुक के साथ लॉग इन करना ...","EXTERNAL_PLAYER_TITLE":"बाहरी खिलाड़ी में खेलें","EXTERNAL_REMEMBER_PLAYER":"क्या आप अपनी पसंद को याद रखना चाहते हैं","EXTERNAL_ALWAYS_PLAY":"हां","EXTERNAL_ONLY_ONCE":"नहीं","BEST_FIT":"Best Fit","FIT_SCREEN":"Fit Screen","FILL":"Fill","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"हमें बताएं कि आपको क्या पसंद है","INTRO_TASTE_LONG":"हमें बताएं कि आप क्या देखना चाहते हैं","INTRO_TASTE_PICK":"{{HUSTERSREMAINAININININING}} हितों को चुनें","INTRO_TASTE_PICK_MORE":"{{REITAINSREMAINAINAING}} अधिक हितों को चुनें","INTRO_TASTE_HELP_US":"हमारे बारे में अधिक जानने में हमारी सहायता करें।","INTRO_TASTE_CHOOSE_THESE":"इनमें से कुछ चुनें:","INTRO_TASTE_CHOOSE_MIN":"कम से कम 3 श्रेणियां चुनें","INTRO_TASTE_CHOOSE_MIN_ERR":"आपको कम से कम 3 श्रेणियां चुननी होंगी!","INTRO_TASTE_LIFESTYLE":"बॉलीवुड","INTRO_TASTE_SPORTS":"खेल","INTRO_TASTE_FOOD_HEALTH":"भोजन और स्वास्थ्य","INTRO_TASTE_BEAUTY_FASHION":"सौंदर्य और फैशन","INTRO_TASTE_NEWS":"समाचार","INTRO_TASTE_GAMING":"जुआ","INTRO_TASTE_SCIENCE_EDU":"विज्ञान की शिक्षा","INTRO_TASTE_MUSIC":"संगीत","INTRO_TASTE_TRAVEL":"यात्रा","INTRO_TASTE_LATE_NIGHT":"देर रात शो","INTRO_TASTE_REALITY":"वास्तविकता","INTRO_TASTE_COMEDY":"कॉमेडी","INTRO_TASTE_DIY":"DIY कैसे करें","INTRO_TASTE_TECH":"तकनीक","INTRO_TASTE_CINEMA":"सिनेमा","ADDON_NOT_SUPPORTED":"चयनित एडन इस मंच पर समर्थित नहीं है।","ADDON_DISCLAIMER":"तीसरे पक्ष के एडॉन्स का उपयोग हमेशा आपकी जिम्मेदारी और आपके द्वारा स्थित क्षेत्राधिकार के शासकीय कानून के अधीन होंगे।","ADDON_ACTIVATE":"इस एडन को सक्रिय करें?","ADDON_REPO_ADD":"एडन संग्रह यूआरएल","ADDON_ADD":"जोड़ें","INSTALL_ADDON":"Install addon","ADD_ADDON":"Add addon","ADD_ADDON_DESCRIPTION":"You can add an addon via an external link, which will appear under Installed addons.","PASTE_ADDON_URL":"Paste addon URL","WHATS_NEW":"नया क्या है","BUTTON_CONTINUE":"जारी रखें","BUTTON_ACTIVATE":"सक्रिय","BUTTON_ACTIVATED":"सक्रिय","BUTTON_CANCEL":"रद्द करें","BUTTON_SUBMIT":"Submit","BUTTON_DISMISS_ALL":"सभी खारिज","BUTTON_VIEW_ALL":"सभी देखें","BUTTON_SEE_ALL":"See All","BUTTON_COLOR_TRANSPARENT":"Transparent","OPEN_IN_BROWSER":"Open in browser","LIB_EMPTY":"आपकी पुस्तकालय खाली दिखता है। पता लगाएं कि यह कितना उपयोगी है :)","HOW_START":"यहां बताया गया है कि आप कैसे शुरू कर सकते हैं:","LIB_EMPTY_CAL":"आपका कैलेंडर आपकी लाइब्रेरी में श्रृंखला दिखाता है।","HOW_START_CAL":"यहां बताया गया है कि आप श्रृंखला कैसे जोड़ सकते हैं:","LIB_EMPTY_BOARD":"बोर्ड नोटिफिकेशन दिखाता है & amp; आपकी पुस्तकालय से संबंधित सिफारिशें।","HOW_START_BOARD_WAIT":"कृपया अपनी लाइब्रेरी में कुछ श्रृंखला या चैनल जोड़ें संसाधित करने के लिए हमें कुछ मिनट दें :)","HOW_START_BOARD":"यहां बताया गया है कि आप श्रृंखला कैसे जोड़ सकते हैं & amp; इसके लिए फिल्में:","IMPORT_FB":"उन आयातित चीजें जिन्हें आप <span> फेसबुक </ span> से पसंद करते हैं","IMPORT_TRAKT":"<Span> trakt </ span> से अपनी मीडिया लाइब्रेरी आयात करें","IMPORT_DISCOVER":"<Span> डिस्कवर </ span> से दिलचस्प सामग्री खोजें","IMPORT_DISK":"अपने <span> स्थानीय डिस्क </ span> पर आपके पास फिल्में या शो आयात करें","PLEASE_CREATE_ACC":"लाइब्रेरी सिंक और एएमपी सक्षम करने के लिए कृपया <u> खाता बनाएं </ u>; तख़्ता।","IMPORT_DISCOVER_SIGNUP":"साइन अप करें और <span> डिस्कवर </ span> से दिलचस्प सामग्री खोजें","IMPORT_DISK_SIGNUP":"साइन अप करें और फिल्में आयात करें या आपके <Span> स्थानीय डिस्क </ span> पर दिखाएं","LIB_EMPTY_CLOUD":"बादल पुस्तकालय","LIB_EMPTY_CLOUD_DESC":"व्यक्तिगत क्लाउड लाइब्रेरी सभी उपकरणों पर समन्वयित","LIB_EMPTY_EARLY":"जल्दी उठ कर काम शुरू करने वाला व्यक्ति","LIB_EMPTY_EARLY_DESC":"नए एपिसोड के लिए सूचनाएं प्राप्त करें","LIB_EMPTY_PERSONAL":"निजी","LIB_EMPTY_PERSONAL_DESC":"व्यक्तिगत सिफारिशें प्राप्त करें","LIB_EMPTY_CALENDAR_DESC":"अपने व्यक्तिगत देखने के कैलेंडर को शेड्यूल करें","LIB_EMPTY_ALL":"इन सभी को पाने के लिए साइन अप करें:","LIB_EMPTY_BEST":"STREMIO का सर्वश्रेष्ठ पाने के लिए साइन अप करें","LIB_EMPTY_OTHER":"कैलेंडर और अन्य शानदार सुविधाओं को सक्षम करने के लिए साइन अप करें","CALENDAR_ADDED":"Stremio कैलेंडर को आपके डिफ़ॉल्ट डेस्कटॉप कैलेंडर में जोड़ा गया है।","CALENDAR_ADDED_MSG":"यदि यह काम नहीं करता है तो कृपया अपने कैलेंडर एप्लिकेशन को मैन्युअल रूप से इस यूआरएल को जोड़ें","TRAKT_EXPIRED":"ट्रैक्ट प्रमाणीकरण समाप्त हो गया कृपया सेटिंग्स पर जाएं और पुन: प्रमाणित करें","TRAKT_REQUIRES_LOGIN":"ट्रैक्ट त्रुटि","TRAKT_REQUIRES_LOGIN_MSG":"आपको लॉगिन करने की आवश्यकता है","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","SETTINGS_LABEL":"समायोजन","SETTINGS_NAV_GENERAL":"आम","SETTINGS_NAV_PLAYER":"खिलाड़ी","SETTINGS_NAV_STREAMING":"स्ट्रीमिंग","SETTINGS_NAV_SHORTCUTS":"शॉर्टकट","SETTINGS_SHORTCUT_RELOAD_APP":"रीलोड ऐप","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Open Settings","SETTINGS_SHORTCUT_SWITCH_TABS":"Switch Tabs","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Cycle Through Tabs Forward","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Cycle Through Tabs Backward","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigate Between Menus","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Go to Search","SETTINGS_SHORTCUT_EXIT_BACK":"बाहर निकलें / वापस जाएं","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Toggle Playback Speed Menu","SETTINGS_SHORTCUT_MENU_VIDEOS":"Toggle Videos Menu","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Toggle Subtitles Menu","SETTINGS_SHORTCUT_MENU_INFO":"Toggle Info Menu","SETTINGS_SHORTCUT_FULLSCREEN":"पूर्णस्क्रीन चालू करें","SETTINGS_SHORTCUT_SHOW_CONTROLS":"नियंत्रण दिखाएं","SETTINGS_SHORTCUT_PLAY_PAUSE":"चालू करे / रोके","SETTINGS_SHORTCUT_VOLUME_UP":"आवाज बढ़ाएं","SETTINGS_SHORTCUT_VOLUME_DOWN":"आवाज कम करे","SETTINGS_SHORTCUT_SEEK_NEXT":"Seek Next","SETTINGS_SHORTCUT_SEEK_PREV":"Seek Prev","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Seek Backward","SETTINGS_SHORTCUT_SEEK_FORWARD":"Seek Forward","SETTINGS_SHORTCUT_PLAY_NEXT":"Play Next","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"उपशीर्षक आकार बढ़ाएँ","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"उपशीर्षक आकार कम करे","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"उपशीर्षक विलंब बढ़ाएँ","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"उपशीर्षक विलंब कम करे","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Toggle Sidebar","SETTINGS_SHORTCUT_OR":"or","SETTINGS_SHORTCUT_TO":"to","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Authenticate","SETTINGS_FACEBOOK_IMPORT":"Import","SETTINGS_CALENDAR_SUBSCRIBE":"Subscribe","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Interface Language","SETTINGS_LAUNCH_STARTUP":"स्टार्टअप शुरू","SETTINGS_VLC_DEFAULT":"वीएलसी के साथ खेलें","SETTINGS_UI_LANGUAGE":"यूआई भाषा","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"कुंजी से बाहर निकलें पूर्ण स्क्रीन से बाहर निकलें","SETTINGS_GAMEPAD":"गेमपैड समर्थन सक्षम करें","SETTINGS_CLOSE_WINDOW":"विंडो बंद होने पर ऐप बंद करें","SETTINGS_SUBTITLES_LANGUAGE":"डिफ़ॉल्ट उपशीर्षक भाषा","SETTINGS_SUBTITLES_SIZE":"डिफ़ॉल्ट उपशीर्षक आकार","SETTINGS_SUBTITLES_BACKGROUND":"उपशीर्षक पृष्ठभूमि","SETTINGS_SUBTITLES_COLOR":"उपशीर्षक रंग","SETTINGS_SUBTITLES_COLOR_OUTLINE":"उपशीर्षक रूपरेखा रंग","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"उपशीर्षक पृष्ठभूमि रंग","SETTINGS_SEEK_KEY":"तीर कुंजियाँ समय तलाशें","SETTINGS_SEEK_KEY_SHIFT":"तीर कुंजी समय की तलाश करते हैं जब Shift कुंजी आयोजित की जाती है","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Rewind & Fast-forward duration","SETTINGS_BINGE":"ऑटो-प्ले अगला एपिसोड","SETTINGS_NEXT_VIDEO":"अगले एपिसोड शुरू करने के लिए अधिसूचना दिखाएं","SETTINGS_NEXT_VIDEO_TRIGGER":"इसके लिए अगला एपिसोड अधिसूचना दिखाएं:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Next video popup duration","SETTINGS_PLAY_IN_BACKGROUND":"Play in background","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Play in external player","SETTINGS_RESIZE":"खेलने से पहले स्वत: आकार बदलें","SETTINGS_OVERRIDE_SERVER":"स्ट्रीमिंग सर्वर URL (उन्नत) को ओवरराइड करें","SETTINGS_SERVER_URL":"स्ट्रीमिंग सर्वर यूआरएल:","SETTINGS_SERVER_AVAILABLE":"स्ट्रीमिंग सर्वर उपलब्ध है।","SETTINGS_SERVER_UNAVAILABLE":"स्ट्रीमिंग सर्वर उपलब्ध नहीं है।","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Error","SETTINGS_SERVER_CONFIGURE_TITLE":"Configure streaming server url","SETTINGS_SERVER_CONFIGURE_INPUT":"Enter a streaming server url","SETTINGS_SERVER_CACHE_SIZE":"Cache size","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent profile","SETTINGS_HTTPS_ENDPOINT":"स्ट्रीमिंग HTTPS एंडपॉइंट:","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"हमेशा नवीनतम बीटा का उपयोग करें","SETTINGS_IMPORT_FB":"फेसबुक से आयात करें","SETTINGS_IMPORT_DISK":"स्थानीय डिस्क से आयात करें","SETTINGS_IMPORT_TRAKT":"ट्रैक्ट से आयात","SETTINGS_PAUSE_MINIMIZED":"कम से कम प्लेबैक रोकें","SETTINGS_HWDEC":"हार्डवेयर-त्वरित डिकोडिंग","SETTINGS_BACKGROUND":"पृष्ठभूमि प्लेबैक","SETTINGS_SUBSCRIBE_CALENDAR":"कैलेंडर की सदस्यता लें","SETTINGS_REQ_EXPORT":"डेटा निर्यात का अनुरोध करें","SETTINGS_ACC_DELETE":"खाता हटाने का अनुरोध करें","SETTINGS_CHANGE_PASSWORD":"पासवर्ड बदलें","SETTINGS_TOS":"सेवा की शर्तें","SETTINGS_SUPPORT":"सहयोग टीम से संपर्क करें","SETTING_LANGUAGE":"भाषा","SETTINGS_TRAKT":"ट्रैक्ट स्क्रोबिंग","SETTINGS_TRAKT_LOGOUT":"Trakt.tv से लॉग आउट करें","SETTINGS_TRAKT_LOGOUT_2":"Trakt से लॉग आउट करें","SETTINGS_SCAN_FOR_REMOTE":"रिमोट खोलने के लिए क्यूआर कोड स्कैन करें","SETTINGS_DESKTOP_NOTIFICATIONS":"डेस्कटॉप अधिसूचनाएं","SETTINGS_DATA_SAVER":"आंकड़ा बचतकर्ता","SETTINGS_LANGUAGE_INTERFACE":"इंटरफेस","SETTINGS_LANGUAGE_SUBS":"डिफ़ॉल्ट उपशीर्षक","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"ऑटोसेल ऑडियो ट्रैक","SETTINGS_DEFAULT_AUDIO_TRACK":"डिफ़ॉल्ट ऑडियो ट्रैक","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"कारण","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"संस्करण","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"एक अलग विंडो में प्लेयर लॉन्च (उन्नत)","SETTINGS_PLAY_IN_EXTERNAL":"हमेशा बाहरी खिलाड़ी में वीडियो शुरू करें","SETTINGS_STORAGE_BUTTON":"स्थानीय भंडारण साफ़ करें","SETTINGS_STORAGE_MODAL_TITLE":"क्या आपको यकीन है ?","SETTINGS_STORAGE_MODAL_MESSAGE":"यह स्थानीय भंडारण को साफ़ करेगा और आपको लॉग आउट करेगा।","SETTINGS_HWDEC_PICKER":"Pick hardware-accelerated decoding setting","SETTINGS_HW_AUTOMATIC":"स्वचालित","SETTINGS_HW_DISABLED":"बंद","SETTINGS_HW_ACCELERATED":"Decoding acceleration","SETTINGS_HW_FULL":"Full acceleration","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Subtitles","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Controls","SETTINGS_SECTION_AUTO_PLAY":"Auto-Play","SETTINGS_SECTION_ADVANCED":"Advanced","SUBSPICKER_AUDIO":"ऑडियो","SUBSPICKER_SUBTITLES":"Addons Subtitles","SUBSPICKER_BLACK_BACKGROUND":"ब्लैक बैकग्राउंड कलर का इस्तेमाल करें","SUBSPICKER_VERTICAL_OFFSET":"Vertical Offset","SUBSPICKER_SIZE":"आकार","SUBSPICKER_DELAY":"विलंब","SUBSPICKER_EMBEDDED_SUBS":"Embedded Subtitles","MOBILE_PRIVACY_POLICY":"गोपनीयता नीति","MOBILE_CRASH_REPORTING":"क्रैश रिपोर्टिंग","MOBILE_ZOOM_TO_FILL":"स्क्रीन भरने के लिए ज़ूम करें","MOBILE_PASSTHROUGH":"Digital audio output (passthrough)","MOBILE_RUN_LOW_BATTERY":"कम बैटरी पर चलाएं","MOBILE_RUN_FOREGROUND":"अग्रभूमि सेवा के रूप में चलाएँ","MOBILE_PERFORMANCE":"PERFORMANCE & STABILITY","MOBILE_SERVER_ONLINE":"ऑनलाइन","MOBILE_SERVER_OFFLINE":"ऑफलाइन","MOBILE_QR_EXPIRES":"क्यूआर कोड की समय सीमा समाप्त होगि ","MOBILE_LOG_INTO":"Log in to your Stremio account ","MOBILE_SCAN_QR":"ऊपर क्यूआर कोड स्कैन करें या यहां जाएं ","MOBILE_LINK_ACCOUNT":"खाते लिंक करें","MOBILE_SPEEDPICKER_CANCEL":"रद्द करना","MOBILE_SPEEDPICKER_LABEL":"प्लेबैक स्पीड का चयन करें","MOBILE_EMPTY_LIBRARY":"आपकी लाइब्रेरी खाली है","MOBILE_NO_ADDON_ACTIVE":"No Stremio addon active for this type.","MOBILE_ORGANIZER_WARNING":"The Stremio Organizer app provides limited functionality. For a list of playable streams and the full Stremio experience, use Stremio on desktop.","MOBILE_ADDON_LOADING":"is still loading","MOBILE_ADDONS_LOADING":"addons are still loading","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Configure your addon","MOBILE_CONFIGURE_ADDON_LABEL":"Configure Addon","MOBILE_ORGANIZER_ADDONS_WARNING":"The Stremio Organizer app provides a limited selection of addons. For the full Stremio experience, use Stremio on desktop.","MOBILE_DISCONNECT":"Disconnect","MOBILE_LOOKING_FOR_DEVICES":"Looking for devices...","MOBILE_CAST_TO":"Cast to","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Delete Account","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Account deletion is not instant due to legal obligations. After requesting deletion of your account you will have to use different email address/facebook profile to create a new Stremio account in the future.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirm Account Deletion","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Your account has been created using Facebook. To delete your account, please use our user portal at www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Please provide your password to confirm account deletion.","MOBILE_DELETE_ACCOUNT_BUTTON":"Delete Account","NAVIGATION_ON":"On","NAVIGATION_OFF":"Off","MARKETING_AGREE":"मैं स्ट्रेमियो से मार्केटिंग संचार प्राप्त करने के लिए सहमत हूं","QUIT":"छोड़ना","CONNECTED":"जुड़े हुए","AUTHENTICATE":"प्रमाणित","CACHING":"कैशिंग","SETTINGS_CACHING_DRIVE":"कैशिंग ड्राइव","ENABLE_LOCAL_FILES_ADDON":"स्थानीय फ़ाइलें Addon सक्षम करें (पुनरारंभ की आवश्यकता है)","LOCAL_ADDON_NOT_ENABLED":"Local addon is not enabled. Click here to go to the settings and enable it","ENABLE_REMOTE_HTTPS_CONN":"रिमोट एचटीटीपीएस कनेक्शन सक्षम करें","TORRENT_PROFILE":"टोरेंट प्रोफाइल","DATA_CACHING":"डेटा कैशिंग","MAGNET_PARSING":"एक चुंबक लिंक पार्सिंग","January":"जनवरी","February":"फ़रवरी","March":"जुलूस","April":"अप्रैल","May":"मई","June":"जून","July":"जुलाई","August":"अगस्त","September":"सितंबर","October":"अक्टूबर","November":"नवंबर","December":"दिसंबर","Monday":"सोमवार","Tuesday":"मंगलवार","Wednesday":"बुधवार","Thursday":"गुरूवार","Friday":"शुक्रवार","Saturday":"शनिवार","Sunday":"रविवार","Action":"कार्य","Comedy":"कॉमेडी","War":"युद्ध","Family":"परिवार","Animation":"एनीमेशन","Adventure":"साहसिक","Fantasy":"कल्पना","Crime":"अपराध","Mystery":"रहस्य","Romance":"रोमांस","Drama":"नाटक","Horror":"डरावनी","Thriller":"थ्रिलर","Sci-Fi":"विज्ञान-कथा","Music":"संगीत","Biography":"जीवनी","Documentary":"दस्तावेज़ी","Sport":"खेल","Musical":"संगीत","Western":"वेस्टर्न","Film-Noir":"फिल्म नोयर","News":"समाचार","History":"इतिहास","Game-Show":"गेम शो","Reality-TV":"रियलिटी टीवी","Talk-Show":"टॉक शो","Film & Entertainment":"फिल्म और मनोरंजन","Gaming":"जुआ","From TV":"टीवी से","Lifestyle":"बॉलीवुड","Science & Education":"विज्ञान की शिक्षा","Cooking & Health":"खाना पकाने और स्वास्थ्य","Beauty & Fashion":"सौंदर्य और फैशन","Sports":"खेल","News & Politics":"समाचार और राजनीति","How-to & DIY":"कैसे और DIY","Tech":"तकनीक","Automotive":"मोटर वाहन","Causes & Non-Profits":"कारण और गैर लाभ","Movies":"चलचित्र","Uk Live Tv":"यूके लाइव टीवी","Fashion":"पहनावा","Business News Radio":"बिजनेस न्यूज रेडियो","Business Tv":"बिजनेस टीवी","Cars & Auto":"कारें और ऑटो","Comedy Radio":"कॉमेडी रेडियो","Lifestyle Radio":"लाइफस्टाइल रेडियो","News Tv":"समाचार टीवी","Food And Wine":"भोजन और शराब","Latino Tv":"लैटिनो टीवी","Shopping Tv":"शॉपिंग टीवी","Religion":"धर्म","Kids":"बच्चे","Body & Soul":"शरीर आत्मा","Education":"शिक्षा","Indian Tv":"भारतीय टीवी","Extreme Sports":"खतरनाक खेल","Middle Eastern Tv":"मध्य पूर्वी टीवी","Celebrity Tv":"सेलिब्रिटी टीवी","Science Tv":"विज्ञान टीवी","Bikini babe":"बिकिनी बेब","Outdoors":"सड़क पर","German Tv":"जर्मन टीवी","French Tv":"फ्रेंच टीवी","Italian Tv":"इतालवी टीवी","Gamer Tv":"गेमर टीवी","Travel":"यात्रा","Asian Tv":"एशियाई टीवी","Entertainment":"मनोरंजन","News Radio":"समाचार रेडियो","Music Radio":"संगीत रेडियो","Language Learning":"भाषा सीखना","Science Radio":"विज्ञान रेडियो","Tech Radio":"टेक रेडियो","Science & Technology Vod":"विज्ञान और प्रौद्योगिकी वोड","new video":"नया वीडियो","new episode":"नई कड़ी","new movie":"नई फिल्म","recommended":"अनुशंसित","we recommend":"हम अनुशंसा करते हैं","offer of the day":"दिन की पेशकश","news":"समाचार","music video":"वीडियो संगीत","CTX_SHOW_HOTKEYS":"हॉटकी दिखाएं","CTX_DISMISS_NOTIF":"सूचनाओं को खारिज करना","CTX_DISMISS_ALL":"सभी खारिज","CTX_SHARE":"साझा करना","CTX_COPY_SHARE_LINK":"शेयर लिंक कॉपी करें","CTX_COPY_MAGNET_LINK":"चुंबक लिंक कॉपी करें","CTX_COPY_STREAM_LINK":"स्ट्रीम लिंक कॉपी करें","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"इस वीडियो को डाउनलोड करें","CTX_DOWNLOAD_SUBS":"उपशीर्षक डाउनलोड करें","CTX_VIEW_ON_YOUTUBE":"यूट्यूब पर देखें","CTX_SHOW":"प्रदर्शन","CTX_PLAY":"खेल","CTX_PLAY_IN":"खेलना","CTX_PLAY_ON":"खेलो","CTX_WATCH_ON":"यहां देखें","CTX_WATCH":"घड़ी","CTX_WATCHED":"देखे","CTX_WATCH_BEGINNING":"शुरुआत से देखो","CTX_WATCH_MOBILE":"एक मोबाइल डिवाइस पर देखें","CTX_REWIND":"शुरुआत करने के लिए रिवाइंड","CTX_MARK_WATCHED":"देखा के रूप में चिह्नित","CTX_MARK_NON_WATCHED":"गैर-देखा के रूप में चिह्नित करें","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"जैसा कि देखा गया है","CTX_UNMARK_REST":"गैर-देखे गए के रूप में बाकी को चिह्नित करें","CTX_RECEIVE_NEW_NOTIF":"नई सूचनाएं प्राप्त करें","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"कैश से निकालें","CTX_REMOVE_CACHE_EP":"कैश से एपिसोड निकालें","CTX_OPEN_CONTAINING":"धारक फोल्डर खोलें","CTX_REMOVE":"पुस्तकालय से निकालें","CTX_AVAILABLE_OFFLINE":"उपलब्ध ऑफ़लाइन","CTX_PAUSED":"रोके गए","CTX_ALWAYS_ON_TOP":"हमेशा ऊपर","CTX_FULLSCREEN":"पूर्ण स्क्रीन","CTX_WRONG_SUBS":"गलत उपशीर्षक?","CTX_REPORT_ISSUES":"रिपोर्ट मुद्दा","CTX_COPY":"प्रतिलिपि","CTX_PASTE":"पेस्ट करें","CTX_CLEAR":"स्पष्ट","CTX_CLEAR_RECENT_SEARCHES":"हाल की खोजों को साफ़ करें","HELLO_THERE":"नमस्ते","HOPE_YOU_ENJOY":"हमें आशा है कि आप STREMIO का आनंद लेंगे और यह पहले से ही आपके पसंदीदा ऐप्स में से एक है!","WHO_ARE_WE":"हम कौन हैं? हम इसके पीछे टीम हैं - दो लोग जो इस उत्पाद को बेहतर और बेहतर बनाने के लिए पिछले 3 वर्षों से हर दिन कड़ी मेहनत करते हैं।","SUPPORT_US":"यदि आप STREMIO का उपयोग करने में आनंद लेते हैं यदि STREMIO आपके लिए मूल्यवान है - शब्द फैलाएं!","SPREAD_THE_WORD":"अपने दोस्तों के साथ साझा करें अब स्ट्रैमियो के बारे में शब्द फैलाएं","MORE_PEOPLE":"जितना अधिक लोग STREMIO का उपयोग करेंगे उतना ही बेहतर होगा!","SEND_A_LINK":"या हमारी वेबसाइट पर एक लिंक भेजें","TIP_LOCALFILES":"युक्ति: आप स्थानीय वीडियो फ़ाइलों को स्ट्रैमियो में खींच और छोड़ सकते हैं","ADDON_MY":"मेरे एडॉन्स","ADDON_COMMUNITY":"सामुदायिक एडॉन्स","ADDON_OFFICIAL":"सरकारी Addons","ADDON_REPOS":"एडन संग्रह","ADDON_SEARCH":"खोज एडॉन्स","ADDON_INSTALL":"इंस्टॉल","ADDON_CONFIGURE":"कॉन्फ़िगर","ADDON_UNINSTALL":"स्थापना रद्द करें","ADDON_UPGRADE":"अपग्रेड","ADDON_INSTALLED":"स्थापित","ADDON_INSTALLED_MSG":"Addon स्थापित!","ADDON_UPGRADED_MSG":"एडन अपग्रेड किया गया!","ADDON_UNKNOWN":"अनजान","ADDON_ERR":"Addon इंस्टॉल त्रुटि!","ADDON_DISCONNECTED":"डिस्कनेक्ट किया गया","ADDON_APP_MISSING":"इस स्रोत के लिए ऐप स्थापित नहीं है। क्या आप इसे अभी इंस्टॉल करना चाहते हैं?","ADDON_APP_INSTALL":"अब स्थापित करें","ADDON_PAGE":"एडन पेज","ADDON_TOP_CONTENT":"इस एडन से सर्वश्रेष्ठ","ADDON_PROVIDES":"यह एडन आपको देगा:","ADDON_WATCH":"देखो # {प्रकार} अब!","ADDON_WATCH_FREE":"अभी मुफ्त में # {प्रकार} देखें!","ADDON_ADDON":"ऐड ऑन","ADDON_SUPPORTED_TYPES":"समर्थित प्रकार","ADDON_SUPPORTED_CATALOGS":"समर्थित कैटलॉग","ADDON_PROVIDES_DISCOVER":"अधिक # {प्रकार} डिस्कवर में","ADDON_PROVIDES_STREAMS":"# {प्रकार} देखें","ADDON_PROVIDES_STREAMS_FREE":"मुफ्त में # {प्रकार} देखें","ADDON_PROVIDES_SUBTITLES":"# {प्रकार के लिए उपशीर्षक","ADDON_CANTDETECT":"हम एक रनिंग स्ट्रैमियो का पता नहीं लगा सके ताकि हम यह पता लगा सकें कि आपने कौन से एडॉन्स इंस्टॉल किए हैं।","ERR_NO_META":"इस बारे में कोई जानकारी नहीं मिली","ERR_GETTING_META":"इसके बारे में जानकारी पुनर्प्राप्त करने में त्रुटि।","ERR_CANT_PARSE_MAGNET":"चुंबक पार्स करने में असमर्थ","ERR_NO_MAGNET_INFOHASH":"चुंबक के लिए कोई वैध जानकारी हैश","ERR_NO_FILE_PATH":"फ़ाइल के लिए एक पथ के बिना अनुरोध भेजने में असमर्थ","ERR_NO_TORRENT":"कोई धार नहीं लौटा","ERR_NO_SUPPORTERD_FILES":"कोई समर्थित फाइल नहीं मिली","ERR_OPENING_FILES":"बाहरी फाइलें नहीं खोल सका","ERR_INVALID_LINK":"अमान्य लिंक","ERR_REGISTERED_ONLY":"यह विकल्प केवल पंजीकृत उपयोगकर्ताओं के लिए उपलब्ध है।","ERR_CLIPBOARD":"क्लिपबोर्ड से नहीं खेल सकते हैं","ERR_CLIPBOARD_READ":"इस मंच पर क्लिपबोर्ड नहीं पढ़ सकते हैं","ERR_CLIPBOARD_GENERIC":"क्लिपबोर्ड में पाया जाने वाला कोई भी यूआरएल नहीं मिला। कृपया एक वीडियो को एक यूआरएल (उदा। एक चुंबक लिंक) कॉपी करें।","BOARD_CONTINUE_WATCHING":"देखना जारी रखें","BOARD_EXPLANATION_RECOMMENDATIONS":"फिल्में आपके लिए विशेष रूप से चुने गए। <br /> यह फिल्म नमूना सिफारिश है।","BOARD_EXPLANATION_EPISODES":"आपकी पसंदीदा श्रृंखला के नए एपिसोड यहां आते हैं। <br /> श्रृंखला जोड़ें आप अपनी लाइब्रेरी में अनुसरण करते हैं।","BOARD_EXPLANATION_VIDEOS":"आपके पसंदीदा चैनलों के नए एपिसोड यहां आते हैं। <br /> YouTube चैनल जोड़ें जो आप अपनी लाइब्रेरी में अनुसरण करते हैं।","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE":"योगदान","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"Learn more","WEBSITE_COMPANY":"Company","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Need Help?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"तुरंत देखें","WEBSITE_SLOGAN_ALL":"एक ही स्थान पर आप सभी वीडियो सामग्री का आनंद लेते हैं","WEBSITE_SLOGAN_NEW":"आप सभी देख सकते हैं","WEBSITE_SLOGAN_NEW_NEW":"Freedom to Stream","WEBSITE_WATCH_FROM":"से देखना","WEBSITE_DOWNLOAD":"अब डाउनलोड करो","WEBSITE_DOWNLOAD_FOR":"अभी डाउनलोड करें","WEBSITE_IS_DESKTOP":"Stremio एक डेस्कटॉप एप्लिकेशन है इस पृष्ठ को अपने पीसी पर खोलें और इसे डाउनलोड करें","WEBSITE_DESKTOP_DEMO_VID":"डेस्कटॉप डेमो","WEBSITE_PAGE_HOME":"घर","WEBSITE_PAGE_FEATURES":"विशेषताएं","WEBSITE_PAGE_ADDONS":"ऐड-ऑन","WEBSITE_PAGE_TECH":"प्रौद्योगिकी","WEBSITE_PAGE_CREATE_ADDON":"Addon बनाएँ","WEBSITE_PAGE_CONTACTS":"संपर्क","WEBSITE_PAGE_BLOG":"ब्लॉग","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"चलचित्र","WEBSITE_TYPE_series_PL":"श्रृंखला","WEBSITE_TYPE_tv":"लाइव टीवी","WEBSITE_TYPE_channel":"चैनल","WEBSITE_STREMIO_WHAT_IS":"Stremio एक ऐप है जो आपको व्यवस्थित करने और तुरंत अपने पसंदीदा वीडियो फिल्में टीवी श्रृंखला और टीवी चैनल देखने में मदद करता है।","WEBSITE_FEATURES_WATCH":"तुरंत एचडी में देखें","WEBSITE_FEATURES_WATCH_DETAIL":"क्लिक करें और अपने पसंदीदा मूवीज़ टीवी शो वीडियो और टीवी चैनल दिखाता है।","WEBSITE_FEATURES_SUBS":"स्वचालित उपशीर्षक","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio स्वचालित रूप से आपकी भाषा के लिए समन्वयित उपशीर्षक चुनता है।","WEBSITE_FEATURES_SUBS_LABEL":"आपका कदम प्रमुख।","WEBSITE_FEATURES_CAST":"टीवी और मोबाइल उपकरणों पर खेलते हैं","WEBSITE_FEATURES_CAST_DETAIL":"Appletv Chromecast स्मार्ट टीवी (डीएलएनए / यूपीएनपी) और मोबाइल उपकरणों के लिए कास्ट करें।","WEBSITE_LIB":"अपने सभी उपकरणों पर सिंक की गई अपनी व्यक्तिगत पुस्तकालय का आनंद लें","WEBSITE_LIB_COLLECT":"STREMIO से लीजिए","WEBSITE_LIB_IMPORT":"फेसबुक से आयात करें","WEBSITE_LIB_LOCAL":"अपने स्थानीय ड्राइव से जोड़ें","WEBSITE_BOARD":"बोर्ड - अधिसूचनाओं और सिफारिशों के लिए आपका एक-स्टॉप प्लेस","WEBSITE_BOARD_RECOMMEND":"अनुशंसित टीवी शो","WEBSITE_BOARD_TRENDING":"ट्रेंडिंग फिल्म","WEBSITE_BOARD_NEW":"नया वीडियो","WEBSITE_BOARD_EPISODE":"नई कड़ी","WEBSITE_BOARD_1":"देखने के लिए कुछ दिलचस्प खोज रहे हैं? अपने स्वाद के आधार पर सिफारिशें प्राप्त करें!","WEBSITE_BOARD_2":"अधिसूचित हो जाएं जब आपके पसंदीदा टीवी शो या यूट्यूब चैनल का एक नया एपिसोड बाहर है!","WEBSITE_BOARD_YOUTUBE":"YouTube चैनलों के नए वीडियो","WEBSITE_BOARD_EPISODES":"श्रृंखला के नए एपिसोड आप अनुसरण करते हैं","WEBSITE_ADDONS":"सामग्री एडॉन्स","WEBSITE_TECH_DETAIL":"हम लव टेक्नोलॉजी हम पागल विज्ञान से प्यार करते हैं! NStremio निम्नलिखित ओपन सोर्स टेक्नोलॉजीज का उपयोग कर रहा है:","WEBSITE_TECH_WCJS":"WebChimera.js STREMIO को अच्छे प्रदर्शन के साथ किसी भी वीडियो प्रारूप को चलाने की अनुमति देता है।","WEBSITE_TECH_WCJS_EXTRA":"हम कोर प्रोजेक्ट योगदानकर्ता हैं","WEBSITE_TECH_ELECTRON":"इलेक्ट्रॉन के साथ स्ट्रैमियो बनाने के लिए एक अभिनव मंच प्रदान करता है।","WEBSITE_TECH_ELECTRON_EXTRA":"हम परियोजना योगदानकर्ता हैं","WEBSITE_TECH_LINVODB":"एक डेटाबेस तकनीक जो सुनिश्चित करती है कि आपका डेटा व्यवस्थित हो और कहीं भी आपके पास उपलब्ध हो।","WEBSITE_TECH_LINVODB_EXTRA":"इन-हाउस टेक्नोलॉजी","WEBSITE_CREATE_ADDON":"अपना Addon बनाएँ","WEBSITE_CREATE_ADDON_DETAIL":"क्या आपके पास वीडियो सामग्री प्रदान करने वाली सेवा है? हम आपको अपने एडन बनाकर STREMIO की सुविधाओं से लाभान्वित होने में मदद करेंगे।","WEBSITE_CREATE_ADDON_BENEFITS":"स्ट्रैमियो के लिए एक एडन बनाने के लाभ","WEBSITE_P2P_BEAUTY":"पीयर-टू-पीयर स्ट्रीमिंग की सुंदरता","WEBSITE_P2P_1":"मांग या लाइव स्ट्रीमिंग पर विश्वसनीय और किफायती पूर्ण एचडी / 4 के वीडियो","WEBSITE_P2P_2":"वितरण मंच महान उपयोगकर्ता अनुभव प्रदान करते हैं","WEBSITE_P2P_3":"हम आपकी सटीक जरूरतों को पूरा करने वाले एडन को बनाएंगे","WEBSITE_P2P_CONTACT":"इच्छुक? आपका स्वागत है <a href=\'mailto:office@stremio.com\'> हमसे संपर्क करें </a>।","WEBSITE_P2P_CONTACT_EXTRA":"हमें आपकी सामग्री को स्ट्रैमियो के साथ एकीकृत करने में मदद करने में प्रसन्नता होगी!","WEBSITE_P2P":"एक बार थोड़ी देर में ऐसी तकनीक आती है जो गेम का नाम बदलता है। हमने अपने पीयर-टू-पीयर (पी 2 पी) वीडियो स्ट्रीमिंग इंजन के निर्माण में बहुत समय और प्रयास का निवेश किया जो किसी भी उपयोग केस के साथ अनुकूलित करने के लिए महान प्रदर्शन और बहुमुखी प्रतिभा प्रदान करता है। N Drm-सक्षम पी 2 पी वीडियो के लिए मांग या लाइव स्ट्रीमिंग के लिए हमसे संपर्क करें।","WEBSITE_THOUGHTS":"विचार हम साझा करते हैं:","WEBSITE_SPREAD":"स्ट्रैमियो के बारे में शब्द फैलाएं:","WEBSITE_CONTACT":"हमसे संपर्क करें हम आपसे सुनकर खुश होंगे!","WEBSITE_OPENSOURCE":"हमारे ओपन सोर्स प्रोजेक्ट्स के लिए हमारे पास जाते हैं","WEBSITE_BITCOIN":"बिटकॉइन दान करें:","WEBSITE_FAQ":"अक्सर पूछे जाने वाले प्रश्नों","WEBSITE_FAQ_SHORT":"सामान्य प्रश्न","WEBSITE_QUESTIONS":"प्रशन","WEBSITE_TOS":"उपयोग की शर्तें","WEBSITE_LEGAL":"कानूनी","WEBSITE_PAGE_ABOUT":"के बारे में","WEBSITE_PAGE_BECOME_PARTNER":"भागीदार बनें","WEBSITE_ALL_YOU_CAN_WATCH":"आप चाहते हैं Neverything देखने की स्वतंत्रता।","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"स्ट्रैमियो क्या है?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio वीडियो सामग्री एकत्रीकरण के लिए एक-स्टॉप हब है। अपने आप को किसी भी डिवाइस पर सभी प्रकार के स्रोतों से वीडियो व्यवस्थित करें और देखें।","WEBSITE_WHAT_IS_STREMIO_P2":"मूवीज़ टीवी श्रृंखला लाइव टेलीविजन या वेब चैनल जैसे यूट्यूब और ट्विच.टीवी दिखाता है - आप इसे स्ट्रैमियो पर पा सकते हैं।","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio एक आधुनिक मीडिया केंद्र है जो आपके वीडियो मनोरंजन के लिए एक-स्टॉप समाधान है। आप एडॉन्स स्थापित करने के लिए आसान से वीडियो सामग्री को देखते हैं और व्यवस्थित करते हैं।","WEBSITE_WHAT_IS_STREMIO_P2_V2":"मूवीज़ टीवी लाइव टीवी या वेब चैनल दिखाता है - यह सब स्ट्रैमियो पर खोजें।","WEBSITE_ENJOI_ON_ALL_DEVICES":"अपने सभी मीडिया उपकरणों पर आनंद लें","WEBSITE_DEVICES_COLLECT":"STREMIO से लीजिए","WEBSITE_DEVICES_IMPORT_FB":"फेसबुक से आयात करें","WEBSITE_DEVICES_LOCAL":"स्थानीय ड्राइव से जोड़ें","WEBSITE_JOIN_THE_PARTY_NOW":"अब पार्टी में शामिल हों","WEBSITE_DEVICES_ALL":"अपने सभी उपकरणों पर उपयोग करने में आसान;","WEBSITE_EXTENDABLE_CATALOG":"Infinitelly विस्तारणीय वीडियो कैटलॉग;","WEBSITE_ORGANIZE_YOUR_MEDIA":"अपने मीडिया को व्यवस्थित करने के लिए महान सुविधाएं;","WEBSITE_AS_SEEN_ON":"जैसा देखा गया","WEBSITE_STREMIO":"स्ट्रमियो","WEBSITE_LINK_ABOUT_US":"हमारे बारे में","WEBSITE_LINK_TECHNOLOGY":"प्रौद्योगिकी","WEBSITE_LINK_APPS":"ऐप्स","WEBSITE_LINK_DOWNLOADS":"डाउनलोड","WEBSITE_MORE":"अधिक","WEBSITE_LINK_ADDONS":"ऐड-ऑन","WEBSITE_LINK_ADDON_SDK":"एडन एसडीके","WEBSITE_LINK_CONTRIBUTE":"योगदान","WEBSITE_LINK_COMMUNITY":"समुदाय","WEBSITE_LINK_BLOG":"ब्लॉग","WEBSITE_MORE_MORE":"... & अधिक","WEBSITE_LINK_HELP":"सहायता केंद्र","WEBSITE_LINK_CONTACTS":"व्यापार पूछताछ","WEBSITE_LINK_TOS":"नियम एवं शर्तें","WEBSITE_LINK_PRAVACY":"गोपनीयता नीति","WEBSITE_SUBSCRIBE":"सदस्यता लेने के","WEBSITE_NEWSLETTER":"अद्भुत सामान के लिए हमारे न्यूजलेटर में शामिल हों","WEBSITE_PLACEHOLDER_EMAIL":"आपका ईमेल","WEBSITE_COMMUNITY":"समुदाय","WEBSITE_LINK_PRAVACY_LEGAL":"गोपनीयता और कानूनी","WEBSITE_WHY":"हम क्यों करते हैं","WEBSITE_WHY_P1":"Stremio में हम हर दिन काम करने के लिए आते हैं क्योंकि हम वीडियो-ऑन-डिमांड उद्योग के लिए एक महत्वपूर्ण समस्या हल करना चाहते हैं। हर मिनट प्रकाशित इतनी नई सामग्री है कि इसके चारों ओर अपना रास्ता ढूंढना लगभग असंभव है।","WEBSITE_WHY_P2":"हम लोगों को वीडियो मनोरंजन की विशाल दुनिया को नेविगेट करने में मदद करते हैं और आनंद लेने के लिए नई सामग्री की खोज करते हैं। हमारे ऐप्स एक साथ फिल्म श्रृंखला लाइव टीवी वेब चैनल और अधिक लाते हैं। हम उपयोगकर्ताओं के लिए शीर्षक और ब्रॉडकास्टरों को ढूंढने के लिए इसे अविश्वसनीय रूप से आसान बनाने के लिए समर्पित हैं।","WEBSITE_WHY_P3":"आप किसी भी डिवाइस पर हमारी सेवा का उपयोग कर सकते हैं और किसी भी समय STREMIO बनाने के लिए एकमात्र वीडियो मनोरंजन हब बनाने के लिए आपको कभी भी आवश्यकता होगी।","WEBSITE_TEAM":"टीम","WEBSITE_TEAM_P":"Stremio टीम छोटा है लेकिन शक्तिशाली है: हम में से दस के बीच हम एक्स भाषाओं में कोड और सॉफ्टवेयर विकास यूआई और यूएक्स डिजाइन विपणन और विज्ञापन और व्यापार और स्टार्टअप में विशेषज्ञता साझा करते हैं।","WEBSITE_FEATURES":"विशेषताएं","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"आसानी से नई सामग्री की खोज करें","WEBSITE_FEATURES_DISCOVER_P":"आसानी से नई फिल्में टीवी शो श्रृंखला और चैनलों को देखने के लिए खोजें। श्रेणी शैली रेटिंग रिकेंसी आदि द्वारा ब्राउज़ करें या बस खोजने के लिए एक नाम टाइप करें। Stremio नई वीडियो सामग्री केक का एक टुकड़ा खोजने बनाता है।","WEBSITE_FEATURES_ALL_CONTENT":"एक स्क्रीन पर आपकी सभी वीडियो सामग्री","WEBSITE_FEATURES_ALL_CONTENT_P1":"देखें कि आप किन फिल्मों या वीडियो को समाप्त नहीं करते हैं और उन्हें देखना जारी रखते हैं; नए एपिसोड और रिलीज के लिए अधिसूचित हो जाएं; और उन सिफारिशों के माध्यम से ब्राउज़ करें जिन्हें आप अपनी देखने की आदतों के आधार पर प्राप्त करेंगे।","WEBSITE_FEATURES_LIBRARY":"अपनी वीडियो लाइब्रेरी व्यवस्थित करें","WEBSITE_FEATURES_LIBRARY_P1":"अपने STREMIO लाइब्रेरी में किसी भी क्लिक के साथ किसी भी शीर्षक को जोड़ें और अपनी सामग्री के चारों ओर अपनी सामग्री को अच्छी तरह से व्यवस्थित रूप से व्यवस्थित तरीके से व्यवस्थित करें।","WEBSITE_FEATURES_CALENDAR":"आप जो कुछ भी देखते हैं उसका ट्रैक रखें","WEBSITE_FEATURES_CALENDAR_P1":"अपनी लाइब्रेरी में आपके द्वारा जोड़े गए सभी फिल्मों और श्रृंखला का कैलेंडर विज़ुअलाइजेशन प्राप्त करें। अपने STREMIO कैलेंडर निर्यात करें और इसे सिंक करें ताकि आप हमेशा जान सकें कि एक नया एपिसोड या प्रीमियर कब देय है।","WEBSITE_FEATURES_BIG_SCREEN":"एक बड़ी स्क्रीन पर अपनी वीडियो सामग्री का आनंद लें","WEBSITE_FEATURES_BIG_SCREEN_P1":"जो भी आप किसी अन्य डिवाइस पर देख रहे हैं उसे कास्ट करें - चाहे वह एक फोन टैबलेट हो या एक क्लिक के साथ एक टीवी हो।","WEBSITE_FEATURES_SOURCES":"कई अलग-अलग स्रोतों से वीडियो देखें","WEBSITE_FEATURES_SOURCES_P":"कई अलग-अलग प्रदाताओं से प्राप्त वीडियो का आनंद लेने के लिए आधिकारिक और सामुदायिक एडॉन्स स्थापित करें - सभी एक चिकना उपयोग करने में आसान ऐप में।","WEBSITE_CREATE_AN_ADDON":"एक एडन बनाएँ","WEBSITE_FEATURES_SYNC":"अपनी लाइब्रेरी को विभिन्न उपकरणों में सिंक करें और अपने प्लेबैक को फिर से शुरू करें","WEBSITE_FEATURES_SYNC_P1":"अपने सभी डिवाइसों में अपने खाते से लॉगिन करें और अपने लाइब्रेरी एडॉन्स प्लेबैक और कैलेंडर सिंक्रनाइज़ का आनंद लें।","WEBSITE_FEATURES_EXTENDABLE":"एडॉन्स द्वारा विस्तारणीय वीडियो कैटलॉग","WEBSITE_FEATURES_EXTENDABLE_P1":"Stremio Addon कैटलॉग विभिन्न प्रकार की वीडियो सामग्री को स्थापित करने और देखने के लिए कई एडॉन्स प्रदान करता है। इसमें फिल्में लाइव टीवी स्पोर्ट न्यूज़ पॉडकास्ट वेब चैनल वीडियो गेम और अधिक दिखाती हैं।","WEBSITE_FEATURES_AUTO_SUBS":"स्वचालित उपशीर्षक","WEBSITE_FEATURES_AUTO_SUBS_P1":"हमारे उपशीर्षक एडॉन्स के साथ आप अपनी पसंदीदा भाषा के लिए स्वचालित रूप से चयनित विकल्प प्राप्त करते हैं।","WEBSITE_FEATURES_CHROMECAST":"क्रोमकास्ट के लिए कास्टिंग","WEBSITE_FEATURES_CHROMECAST_P1":"एक बड़ी स्क्रीन पर अपनी वीडियो सामग्री का आनंद लें या जो भी आप किसी अन्य डिवाइस पर देख रहे हैं उसे डालें।","WEBSITE_FEATURES_KEEP_TRACK":"अपने पसंदीदा टीवी शो और वेब चैनलों का ट्रैक रखें","WEBSITE_FEATURES_KEEP_TRACK_P1":"अपनी पसंदीदा श्रृंखला और वेब चैनलों के नए एपिसोड के लिए कैलेंडर विज़ुअलाइजेशन और नोटिफिकेशन प्राप्त करें।","WEBSITE_FEATURES_POWER_USER":"पावर उपयोगकर्ता सुविधाएँ","WEBSITE_FEATURES_POWER_USER_P1":"बाहरी खिलाड़ी में खेलें","WEBSITE_FEATURES_POWER_USER_P2":"एक टोरेंट फ़ाइल या चुंबक लिंक से खेलें","WEBSITE_FEATURES_POWER_USER_P3":"फेसबुक पसंद या स्थानीय डिस्क से अपनी लाइब्रेरी में आयात करें","WEBSITE_ADD_ONS":"ऐड-ऑन","WEBSITE_ADD_ONS_P1":"सभी वीडियो सामग्री Stremio एक एडन सिस्टम के माध्यम से सोर्स प्रदान की जाती है - ऐप में कोई सामग्री या सामग्री प्रदाता नहीं बनाया गया है।","WEBSITE_ADD_ONS_P2":"एडॉन्स के दो समूह उपलब्ध हैं: आधिकारिक और सामुदायिक एडॉन्स।","WEBSITE_ADD_ONS_P3":"आधिकारिक लोगों को Stremio द्वारा विकसित और होस्ट किया गया है जबकि सामुदायिक एडॉन्स हमारे समुदाय के सदस्यों द्वारा बनाए जाते हैं जो उन्हें भी होस्ट करते हैं।","WEBSITE_ADDONS_OFFICIAL":"सरकारी Addons","WEBSITE_ADDONS_WATCHUB":"अपनी पसंदीदा फिल्में श्रृंखला को स्ट्रीम करें और आईट्यून्स हूलू अमेज़ॅन और अन्य यूके / यूएस सेवाओं जैसे प्रदाताओं से दिखाएं।","WEBSITE_ADDONS_YOUTUBE":"अपने पसंदीदा यूट्यूब चैनलों को विज्ञापन मुक्त देखें और आपके द्वारा अनुसरण किए गए योगदानकर्ताओं से नए अपलोड के लिए अधिसूचनाएं प्राप्त करें।","WEBSITE_ADDONS_FILMON":"मुफ्त में लाइव टीवी फिल्में और सामाजिक टेलीविजन देखें। 600 टीवी चैनल 45000 मुफ्त फिल्में वृत्तचित्र और अधिक।","WEBSITE_ADDONS_OPENSUBTITLES":"मूवी और टीवी उपशीर्षक कई भाषाओं में हजारों अनुवादित उपशीर्षक हर दिन अपलोड किए गए।","WEBSITE_ADDONS_COMMUNITY":"सामुदायिक एडॉन्स","WEBSITE_ADDONS_FILMON_VOD":"फिल्मऑन.टीवी से मांग पर वीडियो देखें","WEBSITE_ADDONS_TWICH":"Twitch.tv से लाइव स्ट्रीम देखें - ई-स्पोर्ट्स उद्योग के लिए एक वीडियो स्ट्रीमिंग प्लेटफ़ॉर्म।","WEBSITE_ADDONS_VODO":"इंडी फिल्में पूरी तरह से नि: शुल्क देखें।","WEBSITE_ADDONS_NETFLIX":"नेटफ्लिक्स फिल्में और वेब श्रृंखला देखें।","WEBSITE_ADDONS_CREATE":"एक एडन बनाएँ","WEBSITE_ADDONS_CREATE_P1":"यदि आप चाहें तो आप अपना खुद का एडन विकसित कर सकते हैं। इस तरह आप अपने आप को और हमारी सामुदायिक पहुंच को नई वीडियो सामग्री तक पहुंचा सकते हैं और दुनिया भर के लाखों उपयोगकर्ताओं के एक नए लक्षित दर्शकों तक पहुंच सकते हैं।","WEBSITE_ADDONS_START_CREATE":"शुरू करने के लिए Stremio Addon SDK पृष्ठ पर जाएं:","WEBSITE_DOWNLOADS":"डाउनलोड","WEBSITE_DOWNLOADS_P1":"इष्टतम प्रदर्शन के लिए हम अनुशंसा करते हैं कि आप STREMIO ऐप्स के नवीनतम उपलब्ध संस्करण का उपयोग करें। यदि किसी कारण से आप पुराने संस्करण का उपयोग करना चाहते हैं तो आप इसे यहां डाउनलोड कर सकते हैं।","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"खिड़कियों के लिए STREMIO","WEBSITE_DOWNLOADS_FOR_MAC":"मैकोज़ के लिए स्ट्रेमियो","WEBSITE_DOWNLOADS_FOR_LINUX":"लिनक्स के लिए STREMIO","WEBSITE_DOWNLOADS_FOR_ANDROID":"एंड्रॉइड के लिए स्ट्रेमियो","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"आईओएस के लिए स्ट्रेमियो (सीमित संस्करण)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"Stremio प्लेटफ़ॉर्म ओपन सोर्स है और आप आसानी से उस सामग्री के लिए एक एडन बना सकते हैं जो वर्तमान में सोर्स नहीं है।","WEBSITE_CONTRIBUTE_WHY":"आपको एडन क्यों बनाना चाहिए?","WEBSITE_CONTRIBUTE_WHY_P1":"अपनी वीडियो सामग्री के लिए नए दर्शकों तक पहुंचें","WEBSITE_CONTRIBUTE_WHY_P2":"स्ट्रैमियो का उपयोगकर्ता आधार तेजी से बढ़ रहा है - लॉन्च स्ट्रैमियो के पहले वर्ष के भीतर दुनिया भर में 1 मिलियन उपयोगकर्ता प्राप्त हुए थे और प्लेटफॉर्म के अस्तित्व के दूसरे वर्ष में यह संख्या 2.5 मिलियन हो गई थी।","WEBSITE_CONTRIBUTE_WHY_P3":"अपने एडन के साथ आप आसानी से इस दर्शकों तक पहुंच सकते हैं और अपनी वीडियो सामग्री को वितरित कर सकते हैं।","WEBSITE_CONTRIBUTE_ALL":"एक ही स्थान पर अपनी पसंदीदा फिल्में वीडियो श्रृंखला और चैनल देखें।","WEBSITE_CONTRIBUTE_ALL_P1":"आप एक विशेष प्रकार की सामग्री के प्रशंसक हैं जो अभी तक स्ट्रैमियो पर उपलब्ध नहीं हैं? इसके लिए एक एडन बनाएं और अपने पसंदीदा वीडियो को बाजार पर मनोरंजन केंद्रों का उपयोग करने के लिए सबसे बड़े और आसान में से एक में देखने का आनंद लें।","WEBSITE_CONTRIBUTE_ALL_P2":"इसके शीर्ष पर आपको अन्य समान विचारधारा वाले स्ट्रैमियो समुदाय के सदस्यों का अंतहीन आभार मिलेगा।","WEBSITE_CONTRIBUTE_MONETIZE":"अपने एडन का मुद्रीकरण करें और अपनी मदद से पैसे कमाएं","WEBSITE_CONTRIBUTE_MONETIZE_P1":"एक बार जब आप STREMIO के लिए एक नया एडन विकसित कर लेंगे तो आप आसानी से इसे कई अलग-अलग तरीकों से मुद्रीकृत कर सकते हैं। यदि आप इस पर विचार कर रहे हैं कि इस पर संपर्क करने के लिए स्वतंत्र महसूस करें","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - हम एडन मुद्रीकरण विकल्पों के बारे में परामर्श करने और सलाह देने में प्रसन्न होंगे।","WEBSITE_CONTRIBUTE_TRANSLATE":"एक स्वयंसेवक अनुवादक बनें","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"यदि आप विभिन्न भाषाओं में स्ट्रैमियो ऐप्स का आनंद लेना चाहते हैं तो आप स्वयंसेवी अनुवादकों के हमारे समुदाय में शामिल हो सकते हैं। वे हमें कई अलग-अलग भाषाओं में stremio के संस्करण जोड़ने में मदद करते हैं।","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"क्या आप शुरू करने के लिए उत्सुक हैं?","WEBSITE_TRANSALTE_STREMIO":"STREMIO का अनुवाद करें","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"सरकारी समुदाय","WEBSITE_COMMUNITY_OFFICIALS_P1":"बढ़ते स्ट्रैमियो समुदाय का हिस्सा बनें। सोशल मीडिया पर हमें का पालन करें और नमस्ते कहने के लिए शर्मिंदा न हों - हम अपने प्रशंसकों से सुनवाई पसंद करते हैं!","WEBSITE_COMMUNITY_UNOFFICIALS":"अनौपचारिक समुदाय","STREMIO_COMMUNITY_NL":"स्ट्रीमियो नीदरलैंड्स","STREMIO_COMMUNITY_BRASIL":"स्ट्रीमियो ब्रासिल","STREMIO_COMMUNITY_GERMANY":"Stremio जर्मनी","STREMIO_COMMUNITY_BELGIUM":"स्ट्रमियो बेल्जियम","STREMIO_COMMUNITY_FRANCE":"स्ट्रमियो फ्रांस","STREMIO_COMMUNITY_PORTUGAL":"स्ट्रमियो पुर्तगाल","STREMIO_COMMUNITY_ITALY":"स्ट्रीमियो इटली","STREMIO_COMMUNITY_UK":"स्ट्रमियो ब्रिटेन","STREMIO_COMMUNITY_USA":"स्ट्रमियो यूएसए","STREMIO_COMMUNITY_MEXICO":"Stremio मेक्सिको","STREMIO_COMMUNITY_ADDONS":"स्ट्रमियो एडॉन्स","STREMIO_COMMUNITY_AWESOME":"भयानक STREMIO","WEBSITE_COMMUNITY_PARTNERS":"भागीदारों और समर्थक","WEBSITE_COMMUNITY_GOODIES":"Stremio उपहार","WEBSITE_COMMUNITY_WALLPAPERS":"वॉलपेपर","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"संपर्क करें","WEBSITE_CONTACT_US_P1":"यदि आपके कोई प्रश्न हैं तो टिप्पणियां या सुझाव नीचे दिए गए संपर्क फ़ॉर्म के माध्यम से हमारे संपर्क में आने के लिए स्वतंत्र महसूस करते हैं।","WEBSITE_CONTACT_US_P2":"ध्यान रखें कि हम बुल्गारिया में स्थित हैं इसलिए समय क्षेत्र के अंतर के कारण आपकी क्वेरी को संबोधित करने में देरी हो सकती है।","WEBSITE_CONTACT_US_SUCCESS":"आपका संदेश भेज दिया गया है। हम आपकी सबसे पुरानी सुविधा पर आपके पास वापस आ जाएंगे।","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"कृपया एक मान्य ईमेल पता प्रवेश करें!","WEBSITE_CONTACT_US_Q_RELATED_TO":"आपका प्रश्न किससे संबंधित है?","WEBSITE_CONTACT_US_Q_OS":"आपका ऑपरेशन सिस्टम क्या है?","WEBSITE_CONTACT_US_PH_EMAIL":"आपका ईमेल","WEBSITE_CONTACT_US_PH_MESSAGE":"संदेश","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"भेजना","WEBSITE_CONTACT_US_Q_1":"स्थापित करने के लिए कैसे?","WEBSITE_CONTACT_US_Q_2":"अनइंस्टॉल कैसे करें?","WEBSITE_CONTACT_US_Q_3":"(HTML) Lasagna कैसे बनाया जाए?","WEBSITE_CONTACT_US_Q_4":"ऐड-ऑन","WEBSITE_CONTACT_US_OS_1":"खिड़कियाँ","WEBSITE_CONTACT_US_OS_2":"मैक ओ एस","WEBSITE_CONTACT_US_OS_3":"लिनक्स","WEBSITE_CONTACT_US_OS_4":"एंड्रॉयड","WEBSITE_CONTACT_US_OS_5":"आईओएस","WEBSITE_TECHNOLOGY":"प्रौद्योगिकी","WEBSITE_TECHNOLOGY_P1":"हम प्रौद्योगिकी और पागल विज्ञान से प्यार करते हैं। </br> यहां शक्तियां क्या हैं (यह सब ओपन-सोर्स है)।","WEBSITE_TECHNOLOGY_P_QT":"क्रॉस-प्लेटफार्म सॉफ्टवेयर विकास सबसे अच्छा है।","WEBSITE_TECHNOLOGY_P_MPV":"एक मुक्त ओपन सोर्स और क्रॉस-प्लेटफार्म मीडिया प्लेयर।","WEBSITE_TECHNOLOGY_P_RN":"प्रतिक्रिया देशी आपको केवल जावास्क्रिप्ट का उपयोग करके मोबाइल ऐप्स बनाने देता है।","WEBSITE_TECHNOLOGY_P_VLC":"मल्टीमीडिया प्राप्त करने के लिए आवेदन में एम्बेडेड मीडिया फ्रेमवर्क।","WEBSITE_TECHNOLOGY_P_REALM":"दायरे एक मोबाइल मंच और SQLite और कोर डेटा के लिए एक प्रतिस्थापन है।","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js एक ओपन-सोर्स क्रॉस-प्लेटफार्म जावास्क्रिप्ट रनटाइम पर्यावरण है।","WEBSITE_TECHNOLOGY_P_RUST":"जंग एक बहु-प्रतिमान प्रणाली प्रोग्रामिंग भाषा है जो सुरक्षा पर विशेष रूप से सुरक्षित सहमति पर केंद्रित है।","WEBSITE_TECHNOLOGY_CONTRIBUTE":"परियोजना में योगदान","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"STREMIO में दो तरीके हैं और उत्पाद को बेहतर बनाने में हमारी सहायता करें।","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"आप मंच का अनुवाद करके अपने मूल्यवान भाषा कौशल दान कर सकते हैं ...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"या","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... आप समुदाय के एडॉन्स बनाने के लिए अपने कोडिंग कौशल को नियोजित कर सकते हैं।","WEBSITE_TRANSLATE_STREMIO":"STREMIO का अनुवाद करें","WEBSITE_404_OH_NO":"उह ओह! जिस पृष्ठ को आप ढूंढ रहे हैं वह यहां नहीं है ...","WEBSITE_GO_HOME":"घर जाओ","WEBSITE_LINK_OTHER_DOWNLOADS":"अन्य डाउनलोड","WEBSITE_FAQ_ABR":"सामान्य प्रश्न","WEBSITE_SUPPORT":"सहायता","WEBSITE_DOWNLOAD_4_0_BETA":"अब Stremio 4 बीटा डाउनलोड करें","WEBSITE_GET_FOR_DESKTOP":"डेस्कटॉप के लिए जाओ","WEBSITE_LINK_ADDON_COMPETITION":"एडन प्रतियोगिता","WEBSITE_LINK_ART_CONTEST":"कला प्रतियोगिता","WEBSITE_MY_ACCOUNT":"मेरा खाता","WEBSITE_MAINPAGE_FAQ_001_H1":"स्ट्रैमियो क्या है?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio एक आधुनिक मीडिया केंद्र है जो आपको जो कुछ भी आप चाहते हैं उसे देखने की स्वतंत्रता देता है।","WEBSITE_MAINPAGE_FAQ_002_H1":"यह कैसे काम करता है?","WEBSITE_MAINPAGE_FAQ_002_P1":"एक बार जब आप अपने डिवाइस पर STREMIO स्थापित कर लेंगे और एक खाता बनाएं जो आपको करना है, वह एडन कैटलॉग पर जाना है और इच्छित किसी भी एडन को स्थापित करना है और आप जाने के लिए अच्छे हैं!","WEBSITE_MAINPAGE_FAQ_002_P2":"इसके बाद आप सामग्री की खोज शुरू करने के लिए खोज या बोर्ड अनुभागों में जा सकते हैं।","WEBSITE_MAINPAGE_FAQ_003_H1":"मैं यहाँ क्या देख सकता हूँ?","WEBSITE_MAINPAGE_FAQ_003_P1":"ए लॉट: मूवीज़ टीवी शो वेब चैनल स्पोर्ट टीवी चैनल पॉडकास्ट और अधिक सुनते हैं। हमारे एडन सिस्टम के लिए धन्यवाद, आप विभिन्न प्रकार की सामग्री तक पहुंच सकते हैं।","WEBSITE_MAINPAGE_FAQ_004_H1":"क्या स्टेमियो ओपन-सोर्स है?","WEBSITE_MAINPAGE_FAQ_004_P1":"हां आप निम्न लिंक देख सकते हैं: $ {1} डेस्कटॉप ऐप $ {2} और $ {3} github संगठन $ {4}।","WEBSITE_MAINPAGE_FAQ_005_H1":"क्या स्ट्रैमियो सुरक्षित है?","WEBSITE_MAINPAGE_FAQ_005_P1":"हां: क्योंकि यह ओपन-सोर्स सॉफ़्टवेयर है कोड पब्लिक रूप से ऑडिटेबल है और आप इसे स्वयं की समीक्षा कर सकते हैं।","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"मेरी गोपनीयता के बारे में कैसे?","WEBSITE_MAINPAGE_FAQ_006_P1":"हम उपयोगकर्ताओं की गोपनीयता का सम्मान करते हैं और आपके खाते को बनाने और सिंक करने के लिए आवश्यक न्यूनतम के अलावा कोई व्यक्तिगत डेटा एकत्र नहीं करते हैं।","WEBSITE_MAINPAGE_FAQ_006_P2":"साइनअप पर $ {1} अतिथि मोड $ {2} भी है जिसके लिए कोई डेटा नहीं चाहिए: इस मोड में हमारे बैकएंड में कोई कॉल नहीं की जाती है। हालांकि यह उपयोगी सुविधाओं की कीमत पर आता है जैसे कि डिवाइस पर अपनी लाइब्रेरी को सिंक करने में सक्षम होना।","WEBSITE_MAINPAGE_FAQ_007_H1":"क्या मैं अपने टीवी को डाला जा सकता हूं?","WEBSITE_MAINPAGE_FAQ_007_P1":"हां हम क्रोमकास्ट का समर्थन करते हैं और आप डेस्कटॉप और मोबाइल ऐप्स (एंड्रॉइड) दोनों से डाले जा सकते हैं।","WEBSITE_MAINPAGE_FAQ_008_H1":"स्ट्रैमियो में कितने एडॉन्स हैं?","WEBSITE_MAINPAGE_FAQ_008_P1":"2019 से अधिक के अंत तक - अधिक जानकारी के लिए हमारे एडन कैटलॉग की जांच करें।","WEBSITE_MAINPAGE_FAQ_009_H1":"Addon कैटलॉग में क्या है परे stremio विस्तारित किया जा सकता है?","WEBSITE_MAINPAGE_FAQ_009_P1":"हां आपको उन लोगों की जांच करनी चाहिए: $ {1} pimpmystremio $ {2} $ {3} Reddit समुदाय $ {4} $ {5} STREMIO डाउनलोडर $ {6} आदि","WEBSITE_MAINPAGE_FAQ_010_H1":"Stremio किस डिवाइस का समर्थन करता है?","WEBSITE_MAINPAGE_FAQ_010_P1":"हमारे पास विंडोज मैक और लिनक्स के लिए डेस्कटॉप ऐप्स हैं। मोबाइल के लिए हम एंड्रॉइड और आईओएस का समर्थन करते हैं हालांकि ध्यान रखें कि आईओएस कार्यक्षमता में सीमित है (अधिकांश एडॉन्स का समर्थन नहीं करता है)।","WEBSITE_MAINPAGE_FAQ_010_P2":"ऐसे कई एंड्रॉइड-आधारित डिवाइस हैं जिन्हें आप एनवीआईडीआईए शील्ड और अमेज़ॅन फायर स्टिक की तरह स्ट्रैमियो चला सकते हैं लेकिन हम आधिकारिक तौर पर उनका समर्थन नहीं करते हैं।","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"क्या आप STREMIO में कुछ सामग्री जोड़ सकते हैं?","WEBSITE_MAINPAGE_FAQ_011_P1":"क्षमा करें, हम खुद को कोई सामग्री प्रदान नहीं करते हैं लेकिन अधिक स्ट्रैमियो एडॉन्स आपने अधिक सामग्री स्थापित की है जिसे आप ढूंढ पाएंगे।","WEBSITE_MAINPAGE_FAQ_012_H1":"क्या स्ट्रैमियो चुंबक लिंक चला सकते हैं?","WEBSITE_MAINPAGE_FAQ_012_P1":"हां और यह सामान्य HTTP लिंक और टोरेंट फ़ाइलों (ड्रैग और ड्रॉप) भी चला सकता है।","WEBSITE_MAINPAGE_FAQ_013_H1":"क्या मैं एक वीडियो डाउनलोड कर सकता हूं और ऑफ़लाइन देख सकता हूं?","WEBSITE_MAINPAGE_FAQ_013_P1":"उपलब्ध ऑफ़लाइन एक आगामी सुविधा है लेकिन यदि आप अपने डिवाइस (सेटिंग्स पैनल से) को कैश करने की अनुमति देते हैं तो आप बिना किसी कनेक्शन के वीडियो देख सकते हैं।","WEBSITE_MAINPAGE_FAQ_014_H1":"कुछ भी नहीं काम करता है मेरी मदद करो!","WEBSITE_MAINPAGE_FAQ_014_P1":"क्या आप वाकई स्थापित किए गए हैं? यदि हां हमारे $ {1} सहायता केंद्र $ {2} से जांचें।","WEBSITE_MAINPAGE_FAQ_015_H1":"Stremio यह विकास संचालन को कैसे बनाए रखता है?","WEBSITE_MAINPAGE_FAQ_015_P1":"हम कभी-कभी गैर-दखल देने वाले विज्ञापन चलाते हैं, लेकिन हम दान मॉडल पर जाने पर विचार कर रहे हैं।","WEBSITE_MAINPAGE_FAQ_015_P2":"अधिक प्रश्नों के लिए हमारे $ {1} सहायता केंद्र $ {2} पर जाएं।","HELP_LEARN_MORE":"हमारे बारे में अधिक जानने में हमारी सहायता करें।","LIFESTYLE":"बॉलीवुड","SPORTS":"खेल","FOOD_HEALTH":"भोजन और स्वास्थ्य","BEAUTY_FASHION":"सौंदर्य और फैशन","NEWS":"समाचार","GAMING":"जुआ","SCIENCE_EDUCATION":"विज्ञान की पढ़ाई","MUSIC":"संगीत","TRAVEL":"यात्रा","LATE_NIGHT":"देर रात","REALITY":"वास्तविकता","COMEDY":"कॉमेडी","DIY":"DIY कैसे करें","TECH":"तकनीक","CINEMA":"सिनेमा","CONTINUE":"जारी रखें","SLOW_LOADING":"धीमी लोडिंग?","I_GIVE_UP":"मैं हार मानता हूं","LEARN_MORE":"और अधिक जानें","POOR_SOURCE":"यह स्रोत खराब उपलब्ध है या आपका इंटरनेट कनेक्शन पर्याप्त तेज़ नहीं है","PICK_CATEGORIES_ERR":"आपको कम से कम 3 श्रेणियां चुननी होंगी","ADJUST_TIMING":"के साथ समय समायोजित करें","ADJUST_SIZE":"के साथ आकार समायोजित करें","SEARCH_ANYTHING":"आप कुछ भी खोज सकते हैं ...","ALL_CATEGORIES":"सभी","SEARCH_CATEGORIES":"सिनेमा श्रृंखला यूट्यूब और टीवी","SEARCH_PERSONS":"अभिनेता निदेशकों और लेखकों","SEARCH_PROTOCOLS":"HTTP और चुंबक लिंक","SEARCH_TYPES":"आईएमडीबी / टीवीडीबी लिंक","WATCHED":"देखे","SHOW_LESS":"कम दिखाएं","LAST_SEARCHES":"अंतिम खोज","CLEAR_HISTORY":"इतिहास मिटा दें","CHOOSE_SOME":"इनमें से कुछ चुनें:","NO_WEB_REMOTE":"वेब रिमोट लोड नहीं किया जा सका","STREMIO_OFFLINE":"Stremio ऑफ़लाइन है","STREMIO_EXPENSIVE_CONNECTION":"हमने पाया है कि आप मोबाइल डेटा कनेक्शन का उपयोग कर रहे हैं क्या आप जारी रखना चाहते हैं?","USE_DATA":"डेटा का उपयोग करें","WARNING":"चेतावनी","MORE_INFO":"और जानकारी ...","STREMIO_TV_STREMIO":"स्ट्रमियो","STREMIO_TV_LOADING":"लोड हो रहा है ...","STREMIO_TV_BACK_TO_LANGUAGES":"वापस भाषाओं में","STREMIO_TV_REMOTE":"दूरस्थ","STREMIO_TV_GO_TO":"के लिए जाओ:","STREMIO_TV_OR_SCAN":"या स्कैन:","STREMIO_TV_ADDON_INSTRUCTIONS":"कृपया अपने पसंदीदा एडॉन्स को स्थापित करने के लिए निर्देशों का पालन करें।","STREMIO_TV_LIVE_TV":"लाइव टीवी","STREMIO_TV_RESUME_WATCHING":"फिर से देखना","STREMIO_TV_LOADING_BACKGROUND":"लोड हो रहा है पृष्ठभूमि","STREMIO_TV_CHECKING_AUTHENTICATION":"प्रमाणीकरण की जाँच","STREMIO_TV_LOADING_BOARD":"लोड हो रहा हुकुम","STREMIO_TV_LOGIN_HEADER_LINE_1":"हम चाहते हैं कि हमारे उपयोगकर्ताओं को हमारे सॉफ़्टवेयर के साथ सर्वोत्तम संभव व्यक्तिगत अनुभव हो।","STREMIO_TV_LOGIN_HEADER_LINE_2":"यही कारण है कि हम आपको अपने खाते में बनाने और / या लॉगिन करने के लिए कहेंगे।","STREMIO_TV_LOGIN_FOOTER_LINE_1":"समझने के लिए धन्यवाद","STREMIO_TV_LOGIN_FOOTER_LINE_2":"STREMIO टीम","STREMIO_TV_REMOTE_INSTRUCTIONS":"अपने स्मार्टफोन / टैबलेट / डेस्कटॉप के साथ वेब रिमोट का उपयोग करने के लिए:","STREMIO_TV_WIFI_SETUP":"वाई-फाई सेटअप","STREMIO_TV_WIFI_HEADER_LINE_1":"स्ट्रमियो सर्कल ने इंटरनेट कनेक्शन का पता नहीं लगाया।","STREMIO_TV_WIFI_DETAILS_1":"जुड़े:","STREMIO_TV_WIFI_DETAILS_2":"स्ट्रमियो-सर्कल","STREMIO_TV_WIFI_DETAILS_3":"पासवर्ड का प्रयोग करें:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"लिंक के साथ एक वेब ब्राउज़र खोलें:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Default","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"By Last Watched","STREMIO_TV_LIBRARY_SORT_NAME":"By Name","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"By Times Watched","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Season ${1}","STREMIO_TV_STREAMS_LOADING":"Loaded ${1} / ${2} addons...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} addon is still loading...","STREMIO_TV_PLAYER_SETTINGS":"Player settings","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Subtitles delay","STREMIO_TV_PLAYER_AUDIO_DELAY":"Audio delay","STREMIO_TV_PLAYER_VIDEO_SCALING":"Video scaling","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Unsupported stream source","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Failed opening external link","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Not adjustable in audio passthrough mode","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Play with ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Play with libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Switching to libVLC player due to a playback error","STREMIO_TV_ADDONS_TITLE":"Use Stremio on your Phone or PC to install or configure addons and press \\"Sync Addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Note: make sure you are using the same Stremio account","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sync Addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons successfully synchronized","STREMIO_TV_ADDONS_SYNC_FAILED":"Failed to synchronize addons","STREMIO_TV_META_LINK_FAILED":"Failed opening meta link","STREMIO_TV_CATALOG_LOADING":"Catalog still loading...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Interface language updated","STREMIO_TV_SETTINGS_THEME_UPDATED":"Theme updated","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Default Player","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"External Player","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferred Language","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Secondary Preferred Language","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possible playback issues on some devices","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Some video formats might not work","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"No caching","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Default","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Soft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Fast","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Fast","STREMIO_TV_SETTINGS_SERVER_URL":"Streaming server url","STREMIO_TV_SETTINGS_SERVER_VERSION":"Server version","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Unknown","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio version","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Edit server url","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Enter a streaming server url","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Show statistics while loading","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"To read Stremio\'s Privacy Policy, visit:","STREMIO_TV_SETTINGS_TOS_TEXT":"To read Stremio\'s Terms and Conditions, visit:","STREMIO_TV_NAV_SEARCH":"खोज","STREMIO_TV_NAV_HOME":"Home","STREMIO_TV_NAV_DISCOVER":"Discover","STREMIO_TV_NAV_LIBRARY":"Library","STREMIO_TV_NAV_MOVIES":"Movies","STREMIO_TV_NAV_SERIES":"Series","STREMIO_TV_NAV_CHANNELS":"चैनल","STREMIO_TV_NAV_TV":"Live TV","STREMIO_TV_NAV_SETTINGS":"समायोजन","STREMIO_TV_NAV_ADDONS":"Addons","STREMIO_TV_LOGIN_TITLE":"खाते लिंक करें","STREMIO_TV_LOGIN_EXPIRES_IN":"Expires in","STREMIO_TV_LOGIN_STEP_ONE":"Scan QR Code above or go to","STREMIO_TV_LOGIN_STEP_TWO":"Log in to your Stremio account","STREMIO_TV_LOGIN_NEW_LINK":"Request a new link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Login code refreshed","STREMIO_TV_SEARCH_PLACEHOLDER":"Type something","STREMIO_TV_SEARCH_NO_ADDONS":"No addons were requested for catalogs!","STREMIO_TV_SEARCH_BUTTON":"खोज","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"साफ़","STREMIO_TV_SEARCH_HISTORY_TITLE":"खोज इतिहास","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"You can search for Titles, Actors, Channels and more...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"खोज इतिहास साफ़ करे","STREMIO_TV_FILTERS_DESCRIPTION":"नीचे दिए गए किसी एक फ़िल्टर में से चुनें","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"फिल्टर","SETTINGS":"समायोजन","ACCOUNT":"खाता","LOGOUT":"लॉग आउट","THEMES":"Themes","PLAYBACK":"प्लेबैक","PLAYBACK_SPEED":"प्लेबैक स्पीड","AUDIO_TRACKS":"ऑडियो ट्रैक","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"वीडियो","SERVER":"सर्वर","LINKS":"Links","ABOUT":"के बारे में","INTERFACE":"इंटरफेस","ANIMATIONS":"एनिमेशन","STATUS":"Status","LANGUAGE":"भाषा","SIZE":"आकार","DELAY":"देरी","BOLD":"बोल्ड","OPACITY":"Opacity","TEXT_COLOR":"लिखावट का रंग","OUTLINE_COLOR":"रूपरेखा रंग","BACKGROUND_COLOR":"पीछे का रंग","BACKGROUND_BLUR":"Background Blur","SEEK_TIME_DURATION":"समय अवधी देखे","AUTO_PLAY":"अगला एपिसोड अपने आप चालू करे","PLAY_NOW":"Play Now","MARK_AS_WATCHED":"देखे गए के रूप में चिह्नित करें","MARK_AS_UNWATCHED":"अनदेखे के रूप में चिह्नित करें","REWIND_TO_BEGINNING":"Rewind to Beginning","CONTINUE_WATCHING":"देखणा चालू रखे","ALL":"सारे","SECONDS":"सेकंद्स","ON":"चालू","OFF":"बंद","RELOAD":"Reload","EDIT_URL":"Edit URL","NONE":"None","EMBEDDED":"Embedded","REMOTE_SWITCH_DEVICES":"स्विच डिवाइस","REMOTE_VIDEOS":"वीडियो","REMOTE_ADJUST_TIMING":"समय समायोजित करें","REMOTE_ADJUST_SIZE":"आकार समायोजित करें","REMOTE_COULD_NOT_BE_LOADED":"वेब रिमोट लोड नहीं किया जा सका","REMOTE_RETRY":"पुन: प्रयास करें","TORRENT_PROFILE_DEFAULT":"डिफ़ॉल्ट","TORRENT_PROFILE_SOFT":"Soft","TORRENT_PROFILE_FAST":"Fast","TORRENT_PROFILE_ULTRA_FAST":"Ultra Fast","FAQ_001_H1":"स्ट्रैमियो क्या है?","FAQ_001_P1":"Stremio एक मीडिया सेंटर सॉफ्टवेयर है जो वीडियो मनोरंजन के लिए दिमाग में उपयोग के साथ डिज़ाइन किया गया है। STREMIO आपको व्यवस्थित करने की अनुमति देता है & amp; फिल्म श्रृंखला चैनल और लाइव टीवी का अपना संग्रह देखें।","FAQ_001_P2":"Stremio सामग्री को एकत्रित करें जो आपको अपनी स्थानीय डिस्क और हमारे एडॉन्स सिस्टम से दिखाता है।","FAQ_001_P3":"यह आपको यह भी सूचित करेगा कि नए एपिसोड / वीडियो / फिल्में जो आप में रुचि रखते हैं और आपके लिए मूवी सिफारिशें प्रदान करते हैं।","FAQ_02_H1":"STREMIO KODI और PLEX की तुलना कैसे करता है?","FAQ_02_P1":"हम सॉफ्टवेयर के उन दो टुकड़ों से प्रेरित हैं। लेकिन हमारे पास अलग-अलग लक्ष्य हैं - स्ट्रैमियो विशेष रूप से मनोरंजन वीडियो की ओर लक्षित है और इसका उपयोग करने में आसान होने के लिए मुख्यधारा के समाधान बनने का प्रयास करता है।","FAQ_02_P2":"स्ट्रैमियो कभी भी अनुकूलन योग्य और कोडी और प्लेक्स के रूप में समृद्ध नहीं होगा, लेकिन इसका उपयोग करना काफी आसान है। बस $ {1} इसे प्राप्त करें और $ {2} देखें :)","FAQ_03_H1":"Stremio नेटफ्लिक्स की तुलना कैसे करता है?","FAQ_03_P1":"फिर से नेटफ्लिक्स हमारी प्रेरणाओं में से एक है। हम नेटफ्लिक्स के उपयोगकर्ता अनुभव को बहुत से अतिरिक्त उपहारों को प्राप्त करने का प्रयास करते हैं। लेकिन सबसे महत्वपूर्ण बात यह है कि हम आपको अपनी लाइब्रेरी प्रबंधित करने और हमारे एडन सिस्टम के साथ नए सामग्री स्रोत जोड़ने की स्वतंत्रता दे रहे हैं।","FAQ_03_P2":"इससे स्ट्रैमियो असीमित रूप से विस्तार योग्य बनाता है, इसलिए जब आप स्ट्रैमियो का उपयोग करते हैं तो आप कभी भी सामग्री से सीमित नहीं होते हैं नेटफ्लिक्स लाइसेंस का फैसला करता है। उदाहरण के लिए स्ट्रैमियो के माध्यम से आप $ {1} filmon.tv $ {2} $ {3} twitch.tv $ {4} $ {5} youtube $ {6} $ {7} वोडो $ {8} और से सामग्री देख सकते हैं यहां तक ​​कि $ {9} netflix $ {10} ही!","FAQ_04_H1":"स्ट्रैमियो फ्लिपबोर्ड की तुलना कैसे करता है?","FAQ_04_P1":"हमें वह सवाल नहीं मिलता है जो अक्सर लोगों को स्टार्ट-अप करने के लिए छोड़कर को छोड़कर :)","FAQ_04_P2":"Stremio एक सामग्री एग्रीगेटर डिजाइन द्वारा है जो अनिवार्य रूप से इसे वीडियो के लिए फ्लिपबोर्ड बनाता है। यह हमारे बोर्ड सेक्शन में बहुत स्पष्ट है जो आपको फ्लिपबोर्ड की तरह अनुसरण करने के लिए कैटलॉग और नया एपिसोड / नई वीडियो अधिसूचना देता है।","FAQ_05_H1":"Stremio पॉपकॉर्न समय की तुलना कैसे करता है?","FAQ_05_P1":"Stremio और पॉपकॉर्न समय उपयोगकर्ता इंटरफ़ेस में समान हैं क्योंकि वीडियो मनोरंजन कैटलॉग सही करने के कई तरीके नहीं हैं :)","FAQ_05_P2":"लेकिन पॉपकॉर्न टाइम विशिष्ट स्रोतों से टॉरेंट स्ट्रीमिंग पर केंद्रित है Stremio अप्रतिबंधित है और केवल एक सामग्री एग्रीगेटर है - यह एक विशिष्ट सामग्री स्रोत में बंद नहीं है।","FAQ_05_P3":"इसके अलावा हम डिफ़ॉल्ट रूप से किसी भी टोरेंट एडॉन्स प्रदान नहीं करते हैं, इसलिए स्ट्रैमियो को आधिकारिक कार्यक्षमता के साथ पॉपकॉर्न टाइम उपयोग-केस को कवर नहीं किया जाता है।","FAQ_05_P4":"एक और उल्लेखनीय अंतर यह है कि पॉपकॉर्न टाइम पूरी तरह से खुला स्रोत है जबकि Stremio $ {1} आंशिक रूप से ओपन सोर्स $ {2} है।","FAQ_06_H1":"क्या आप इस फिल्म / श्रृंखला को जोड़ देंगे?","FAQ_06_P1":"कोई खेद नहीं :(","FAQ_06_P2":"जैसा कि अन्य प्रश्नों में उल्लेख किया गया है Stremio स्वयं से कोई सामग्री प्रदान नहीं करता है - सब कुछ एडॉन्स सिस्टम के माध्यम से जोड़ा जाता है। यदि आपके पास कोई सामग्री अनुरोध है तो आप उस खिलाड़ी में रिपोर्ट बटन का उपयोग कर सकते हैं जो वर्तमान में आपके द्वारा उपयोग किए जा रहे एडन के लेखक को एक ईमेल भेज देगा।","FAQ_07_H1":" ","FAQ_07_P1":" ","FAQ_07_P2":" ","FAQ_08_H1":"क्या आप एक्स के लिए एडन बनाएंगे?","FAQ_08_P1":"यह पूरी तरह से संभव है।","FAQ_08_P2":"यदि आपके पास Addon के लिए एक विचार है तो हमें $ {1} office@stremio.com पर एक लाइन छोड़ें, लेकिन कृपया सुनिश्चित करें कि आपका एडन विचार किसी भी कॉपीराइट या उपयोग की शर्तों का उल्लंघन नहीं करेगा।","FAQ_08_P3":"फिलहाल हमारे रोडमैप पर अगली चीजें मांग और क्रंचरोल पर fandangonow filmon.tv वीडियो के लिए Addons हैं।","FAQ_09_H1":"क्या Stremio बिटटोरेंट का उपयोग करता है?","FAQ_09_P1":"हां स्ट्रैमियो एक स्ट्रीमिंग प्रोटोकॉल के रूप में बिटटोरेंट का समर्थन करता है। आप या तो एक टोरेंट एडन के साथ या ड्रैग-एंड-ड्रॉप करके एक .torrent फ़ाइल को स्ट्रैमियो में या एक चुंबक लिंक को खोज बार में चिपकाने के साथ कर सकते हैं।","FAQ_09_P2":"कृपया ध्यान दें कि बिटटोरेंट का उपयोग कर एकमात्र आधिकारिक एडन $ {1} वोडो $ {2} है जो इंडी सामग्री प्रदान करता है सभी को बिटटोरेंट के साथ वितरित करने की अनुमति है।","FAQ_09_P3":"हम किसी तीसरे पक्ष के एडॉन्स के उपयोग का समर्थन नहीं करते हैं जो कॉपीराइट उल्लंघन को सक्षम कर सकता है।","FAQ_10_H1":"आधिकारिक एडॉन्स के साथ स्ट्रैमियो में मैं क्या देख सकता हूं?","FAQ_10_P1":"डिफ़ॉल्ट रूप से आप अपने एम्बेडेड प्लेयर के साथ स्ट्रैमियो के भीतर फिल्मऑन.टीवी यूट्यूब और वोडो सामग्री देख सकते हैं। इसके अतिरिक्त हमारे पास twitch.tv और कुछ अन्य लोगों के लिए एक एडन है।","FAQ_10_P2":"यह संयुक्त का चयन प्रदान करता है:","FAQ_10_L1":"Filmon.tv द्वारा प्रदान किए गए लोकप्रिय टीवी चैनल - उदाहरण के लिए ई 4 बीबीसी बॉलीवर्ल्ड टीवी","FAQ_10_L2":"यूट्यूब से सब कुछ - उदाहरण के लिए बीबीसी समाचार शीर्ष गियर vevo pewdiepie","FAQ_10_L3":"वोडो के साथ इंडी फिल्में","FAQ_10_L4":"Twitch.tv के साथ ऑनलाइन गेमिंग प्रसारण","FAQ_10_P3":"इसके अतिरिक्त गाइडबॉक्स और नेटफ्लिक्स एडॉन्स के साथ प्रदान किए गए कई सामग्री स्रोत हैं जो <b> नहीं करते हैं </ b> पूरी तरह से स्ट्रैमियो के अंदर खेलते हैं लेकिन दी गई सेवा में रीडायरेक्ट करेंगे। उदाहरण के लिए गाइडबॉक्स एडन आपको उन फिल्मों का चयन करेगा जो आप अमेरिका में Tubitv और क्रैकल जैसी सेवाओं से मुक्त करने के लिए स्ट्रीम कर सकते हैं।","FAQ_11_H1":"Stremio स्थापित नहीं होगा कि मुझे क्या करना चाहिए?","FAQ_11_P1":"यदि आप विंडोज़ पर $ {1} इस वैकल्पिक इंस्टॉलर $ {2} का प्रयास करें।","FAQ_11_P2":"यदि आप मैक ओएस एक्स पर हैं तो कृपया ध्यान रखें कि हम ओएस एक्स मैवरिक्स (10.9) से पुराने कुछ भी समर्थन नहीं करते हैं।","FAQ_11_P3":"यदि आप लिनक्स पर हैं तो ध्यान रखें कि हम इस समय केवल 64 बिट (x64) लिनक्स का समर्थन करते हैं।","FAQ_11_P4":"यदि आप अभी भी अपनी समस्या का समाधान नहीं कर सकते हैं तो कृपया हमें $ {1} फेसबुक ग्रुप $ {2} पर लिखें।","FAQ_12_H1":"मेरा एंटी-वायरस क्यों शिकायत करता है? क्या स्ट्रैमियो सुरक्षित है?","FAQ_12_P1":"हम आपको आश्वस्त करते हैं कि STREMIO $ {1} 100% क्लीन $ {2} है।","FAQ_12_P2":"आपका एंटीवायरस शिकायत कर रहा है क्योंकि हम अपने इंस्टॉलर में विज्ञापन शामिल करते हैं जो कुछ एंटी-वायरस प्रोग्राम विज्ञापन-बर्तन के रूप में पहचानते हैं।","FAQ_12_P3":"यदि आप अभी भी अनिश्चित हैं तो आप हमारे $ {1} वैकल्पिक इंस्टॉलर $ {2} को आजमा सकते हैं।","FAQ_13_H1":"मैं एडन कैसे बना सकता हूं?","FAQ_13_P1":"शुरुआत करने वालों के लिए हम आपको गिटहब पर $ {1} एडॉन्स सिस्टम मॉड्यूल $ {2} की जांच करते हैं।","FAQ_13_P2":"बाद में आप $ {1} हैलो वर्ल्ड ट्यूटोरियल $ {2} का अनुसरण कर सकते हैं।","FAQ_13_P3":"यदि आपके पास कोई प्रोग्रामिंग कौशल नहीं है तो कृपया $ {1} reddit समुदाय $ {2} पर अपना विचार पोस्ट करें और $ {3}office@stremio.com $ {4} पर अपने एडन आइडिया के साथ हमसे संपर्क करें।","FAQ_14_H1":"एडॉन्स कैसे प्रकाशित होते हैं?","FAQ_14_P1":"जब आप एक एडन और होस्ट बनाते हैं और अपने मैनिफेस्ट में <b> एंडपॉइंट </ b> फ़ील्ड बनाते हैं जो एक काम करने वाले एडन पते को इंगित करता है, एडन स्वचालित रूप से खुद को $ {1} एडन कैटलॉग $ {2} में प्रकाशित करेगा।","FAQ_14_P2":"ऐसा इसलिए होता है क्योंकि स्ट्रैमियो-एडॉन्स मॉड्यूल का सर्वर हिस्सा स्वचालित रूप से एडन की घोषणा करने के लिए हमारे एपीआई को कॉल करता है। जब हमारा एपीआई आपके <b> एंडपॉइंट </ b> को मान्य एडन के रूप में मान्य करता है तो यह कैटलॉग में दिखाना शुरू कर देगा।","FAQ_15_H1":"क्या मैं अपने ब्राउज़र में STREMIO चला सकता हूं?","FAQ_15_P1":"फिलहाल नहीं, लेकिन यह आ रहा है!","FAQ_15_P2":"यदि आप एक अल्फा देखने के लिए उत्सुक हैं तो आप इसे यहां देख सकते हैं: $ {1} alpha4.strem.io $ {2}। ध्यान रखें कि इस अल्फा पर स्ट्रीमिंग अक्षम है। हम क्रोम फ़ायरफ़ॉक्स ओपेरा और एज का समर्थन करते हैं।","FAQ_16_H1":"टीवी के लिए कास्टिंग काम / उपशीर्षक काम नहीं करता है","FAQ_16_P1":"टीवी में कास्टिंग डीएलएनए तकनीक का उपयोग करता है जो विभिन्न टीवी ब्रांडों और मॉडलों के बीच बहुत असंगत है। इसी कारण से हमारे पास हर मामले में इसका परीक्षण करने की क्षमता नहीं है, इसलिए यह सही से दूर है। इसके बावजूद हम इसे लगातार सुधारने पर काम कर रहे हैं लेकिन हम आपको एक समय का अनुमान नहीं दे सकते हैं जब डीएलएनए आपके टीवी के साथ ठीक से काम करना शुरू कर देगा।","FAQ_16_P2":"यदि आप कास्टिंग मेनू में अपना टीवी भी नहीं देखते हैं तो कृपया अपने नेटवर्क कनेक्शन को अक्षम करने और इसे फिर से सक्षम करने का प्रयास करें (विंडोज़ राइट पर नेटवर्क पर क्लिक करें और सक्षम / अक्षम करें) के साथ ही अपने राउटर टीवी और पीसी को पुनरारंभ करें।","FAQ_16_P3":"यदि आप अभी भी मुद्दों का सामना कर रहे हैं तो आप अपने टीवी ब्रांड और मॉडल जानकारी को ${1}office@stremio.com $ {2} पर भेजकर हमारी सहायता कर सकते हैं।","FAQ_16_P4":"इस बीच हम क्रोमकास्ट की सलाह देते हैं कि हम एक अच्छी तरह से समर्थन करते हैं या बस अपने टीवी में अपने पीसी में एक एचडीएमआई केबल के साथ प्लगिंग करते हैं।","FAQ_17_H1":"Stremio फ्रीज और / या दुर्घटनाओं मैं क्या कर सकता हूँ?","FAQ_17_P1":"सबसे पहले यदि आप एवीजी एंटी-वायरस के साथ विंडोज 7 का उपयोग कर रहे हैं: हमें उस संयोजन के साथ एक समस्या है। समस्या एवीजी में ही है और हमारे अंत में इसे हल करने का कोई उचित तरीका नहीं है। दुर्भाग्य से एंटी-वायरस को अपवाद या अक्षम करना काम नहीं करेगा। एकमात्र समाधान एवीजी को किसी और चीज के साथ बदलने के लिए है।","FAQ_17_P2":"यदि यह समस्या नहीं है लेकिन आप अभी भी विंडोज़ का उपयोग कर रहे हैं तो कृपया नवीनतम सर्विस पैक में अपडेट करें और अपने जीपीयू ड्राइवरों को अपडेट / इंस्टॉल करें फिर पुन: प्रयास करें।","FAQ_17_P3":"यदि आप समस्या को हल नहीं कर रहे हैं या आप मैक या लिनक्स का उपयोग कर रहे हैं तो कृपया हमें $ {1} हमारे फेसबुक ग्रुप $ {2} पर समस्या के सटीक विवरण की रिपोर्टिंग करें।","FAQ_18_H1":"मैं एडन कैसे बना सकता हूं?","FAQ_18_P1":"शुरुआत करने वालों के लिए हम आपको गिटहब पर $ {1} एडॉन्स सिस्टम मॉड्यूल $ {2} की जांच करते हैं।","FAQ_18_P2":"बाद में आप $ {1} हैलो वर्ल्ड ट्यूटोरियल $ {2} का अनुसरण कर सकते हैं।","FAQ_18_P3":"यदि आपके पास कोई प्रोग्रामिंग कौशल नहीं है तो कृपया $ {1} reddit समुदाय $ {2} पर अपना विचार पोस्ट करें और $ {3}office@stremio.com $ {4} पर अपने एडन आइडिया के साथ हमसे संपर्क करें।","FAQ_19_H1":"STREMIO डिस्क स्थान क्यों ले रहा है?","FAQ_19_P1":"स्ट्रीमियो में अस्थायी रूप से स्ट्रीम करने वाली वीडियो फ़ाइलों को रखने के लिए <b> स्थानीय कैश </ b> है।","FAQ_19_P2":"इसमें दो लाभ हैं: सबसे पहले यह STREMIO को आगे के वीडियो को पूर्व-बफर करने की अनुमति देता है ताकि चिकनी स्ट्रीमिंग सुनिश्चित हो सके। दूसरा यह वीडियो को स्थानीय कैश में रखता है ताकि आप उन्हें ऑफ़लाइन देखना जारी रख सकें।","FAQ_19_P3":"सेटिंग पैनल में <b> कैश </ b> सेटिंग पर कितना स्ट्रैमियो निर्भर करता है। स्ट्रैमियो आपकी डिस्क पर सेट राशि (उदा। 2 जीबी) तक रख सकता है जब तक कि वर्तमान में स्ट्रीम किए गए वीडियो उस मामले से बड़े न हों, जिस स्थिति में इसे तब तक रखने के लिए पर्याप्त भंडारण आवंटित करना होगा जब तक कि आप इसे स्ट्रीम कर रहे हों।","FAQ_20_H1":"कैश फ़ोल्डर कहां है?","FAQ_20_P1":"विंडोज़ पर यह सेटिंग्स में चुने गए ड्राइव में स्ट्रैमियो-कैश है (उदा। E: stremio-cache)","FAQ_20_P2":"मैकोज़ पर यह ~ / पुस्तकालय / आवेदन समर्थन / stremio / stremio-cache","FAQ_20_P3":"लिनक्स पर यह ~ / .stremio / stremio-cache या ~ / stremio-cache","FAQ_21_H1":"मुझे मिलता है स्ट्रीमिंग सर्वर त्रुटि नहीं मिली है मैं क्या कर सकता हूं?","FAQ_21_P1":"यदि आपको यह त्रुटि मिलती है तो इसका मतलब कुछ चीजों में से एक है:","FAQ_21_P2":"1) आप हमारे $ {1} वेब संस्करण $ {2} के माध्यम से यूट्यूब / बिटटोरेंट स्रोत द्वारा समर्थित एडन का उपयोग करने की कोशिश कर रहे हैं। इस मामले में आपको हमारे डेस्कटॉप संस्करण को $ {3} हमारी वेबसाइट $ {4} से इंस्टॉल करना चाहिए।","FAQ_21_P3":"2) आपके STREMIO स्थापना के साथ कुछ गलत है। इस मामले में $ {1} वेबसाइट $ {2} से हमारे नवीनतम डेस्कटॉप संस्करण को पुनः स्थापित करने का प्रयास करें। यदि यह आपके पीसी को पुनरारंभ करने और फिर से कोशिश करने वाले एंटी-वायरस प्रोग्राम और फ़ायरवॉल को अक्षम करने का प्रयास करने में मदद नहीं करता है। यदि यह काम नहीं करता है तो कृपया हमें हमारे $ {3} हमारे फेसबुक समूह $ {4} पर लिखें।","FAQ_22_H1":"मैं आईओएस पर अधिकांश एडॉन्स को नहीं देख सकता / उपयोग नहीं कर सकता","FAQ_22_P1":"ऐप्पल ऐप स्टोर के नियमों और शर्तों में प्रतिबंधों के कारण हमने केवल आईओएस आवेदन को केवल एडॉन्स के एक विशेष सेट पर प्रतिबंधित कर दिया है।","FAQ_22_P2":"लेकिन बाकी आश्वासन दिया गया है - भविष्य में आईओएस के लिए और अधिक एडॉन्स होंगे और हम एक एकीकरण भी जोड़ सकते हैं जो आपको आईओएस ऐप को स्ट्रैमियो स्ट्रीमिंग सर्वर से जोड़ने के लिए सभी स्ट्रैमियो एडॉन्स का उपयोग करने की अनुमति देगा।"}')},80487:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Filmovi","TYPE_series":"Serije","TYPE_tv":"TV","TYPE_channel":"Kanal","TYPE_other":"Ostalo","TYPE_movie_PL":"Filmovi","TYPE_series_PL":"Serije","TYPE_tv_PL":"TV","TYPE_channel_PL":"Kanal","TYPE_other_PL":"Ostalo","TYPE_ALL":"All","TYPE":"Type","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"Video","BACK":"Povratak","MORE":"Više","DONE":"Završeno","COPY":"Copy","SUCCESS":"Success","ERROR":"Error","SETTINGS_CASTING_MODE_PICKER":"Casting mode","CASTING_MODE_HLSV2":"Default","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"No transcoding","Discover":"Otkrij","Board":"Početna","Library":"Videoteka","My Library":"Moja videoteka","Calendar":"Kalendar","NOTIFICATION_ONLINE":"Sada ste povezani","NOTIFICATION_OFFLINE":"Niste povezani","INTERNET_CONNECTION":"Greška povezivanja","STORAGE_FULL_TITLE":"Upozorenje: memorija je popunjena!","STORAGE_FULL_TEXT":"Vaše postavke, preferencije ili podaci za prijavu neće biti spremljeni. Ponovno pokrenite ili ponovno instalirajte Stremio.","SEARCH":"Tražilica...","SEARCH_NO_RESULTS":"Nema pronađenih rezltata","SEARCH_EXPLANATION_CONTENT":"Pretraži filmove, serije, YouTube i TV kanale","SEARCH_EXPLANATION_PEOPLE":"Pretraži glumce, redatelje i producente","SEARCH_PASTE_LINKS":"Kopiraj poveznice","SEARCH_OR_PASTE_LINK":"Search or paste link","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"Dodaj u videoteku","REMOVE_FROM_LIB":"Ukloni iz videoteke","ADDED_TO_LIB":"Dodano u videoteku","REMOVED_FROM_LIB":"Uklonjeno iz videoteke","TRAILER":"Najava","WATCH_TRAILER":"Pogledaj najavu","WATCH_NOW":"Pokreni gledanje","SHOW":"Prikaži","SHOW_MOVIE":"Show Movie","WATCH_RANDOM":"Gledaj nasumično","IMDB_RATING":"IMDb Ocjena","YEAR":"Godina","DIRECTOR":"Redatelj","WRITER":"Producent","LEAD_ACTORS":"Glavni glumci","CAST":"Uloge","CREW":"Ekipa","SHOW_MORE_CAST":"Prikaži više »","AIRED":"Emitirano","SEASONS":"Sezone","GENRE":"Žanr","GENRE_ALL":"All genres","CATALOG":"Katalog","SUMMARY":"Sažetak","SHOW_MORE":"Prikaži još","SIMILAR":"Slično","UPCOMING":"Nadolazeće","ENDED":"Završeno","DURATION":"Trajanje","FEATURED":"Istaknuto","METADATA":"Metadata","CATEGORY":"kategorija","LINKS_GENRES":"Genres","LINKS_CAST":"Cast","LINKS_DIRECTORS":"Directors","SEARCH_VIDEOS":"pretraži videe","SEARCH_PLACEHOLDER":"traži sadržaj ili upiši magnet linkove","ADDON":"dodatak","ADDONS":"Dodaci","OFFICIAL":"službeni","ADDONS_OFFICIAL":"Službeni Stremio Dodaci","ADDONS_POPULAR":"Popularno na vašem području","ADDON_FREE":"besplatni dodaci","ADDON_PEERED":"peered","ADDON_SUBSCRIPTION":"pretplata","ADDON_STREAM_GEORESTRICTED":"nije dostupno na vašem području","ADDON_STREAM_OFFLINECACHE":"Cache nije povezan","ADDON_STREAM_LOCALFILE":"Lokalni dokument","SHARE_ADDON":"Dijeli Dodatak","AVAILABLE_STREAMS":"Dostupni prijenosi","NO_STREAM":"Nema dostupnih prijenosa","ALL_ADDONS":"All","INSTALL_MORE_ADDONS":"Za više prijenosa instalirajte još Dodataka","STREAM_NOT_SUPPORTED":"Odabrani prijenos nije podržan.","ADDON_CATALOGUE":"Prikaži sve dodatke »","ADDON_CATALOGUE_MORE":"Više dodataka »","REPO_ADDED":"Repozitorij je dodan","ADDON_REPO_EXIST_ERR":"Ovaj dodatak je već dodan","ADDON_REPO_ERR":"Greška prilikom dodavanja repozitorija","ADDON_ADD_ERR":"Greška prilikom dodavanja dodatka","ERR_ADDON_PROTECTED":"Dodatak je zaštićen","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Nešto je pošlo po krivu - autentifikacija možda nije uspjela","ERR_NOT_COLLECTION_URL":"Nije url kolekcije","ERR_NOT_ADDON_URL":"Nije url dodatka","ERR_DETECTFROMURL":"Nemoguće otkriti podatke iz url-a","ADDON_DUPLICATE_WARNING":"Upozorenje: duplicirani dodatak","ADDON_COLLECTION_SET_FAILED":"Addon collection set failed","SETTINGS_DATA_EXPORT":"Export data","ADDON_PULL_FAILED":"Dodavanje dodatka nije uspjelo","REFRESH_ON_CLICK":"Pritisni za ponovno učitavanje","STILL_IN_THEATER":"Film je i dalje u kinu","WATCH_IN_CINEMA":"Pogledaj ga u kinu","IN_THEATER":"U kinu","GET_TICKETS":"Nabavi karte","UPCOMING_EPISODE":"Nadolazeća epizoda","UPCOMING_EPISODE_MESSAGE":"Ova epizoda emitirati će se:","MISSING_DATE_EPISODE":"Nedostaje nadnevak epizode","MISSING_DATE_EPISODE_MESSAGE":"This episode might not have aired yet","CHANNEL_NOT_SCRAPED":"Ovaj kanal još nije spremljen.<br>Molimo vas pokušajte za nekoliko minuta.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Dodajte u svoju videoteku da budete obešteni kada bude dostupno.","GET_NOTIFIED_WHEN_AVAILABLE":"Biti ćete obavješteni kada bude dostupno.","WARNING_STREAMING_SERVER":"Upozorenje: lokalni server za prijenos nije pronađen. Prijenos sa YouTube-a i BitTorrent-a neće biti dostupan.","WARNING_STREAMING_SERVER_DISMISS":"Dismiss","WARNING_STREAMING_SERVER_LATER":"Later","DECODER_WARNING":"Upozorenje: ovaj video možda ne podržava vaš hardver. Imajte na umu da reprodukcija može biti spora.","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"Ups, greška playera","PLAYER_ERROR_LOOKSLIKE":"Izgleda kao","PLAYER_ORIENTATION":"Orijentacija playera","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Fiksno","PLAYER_ORIENTATION_SENSOR_SHORT":"Senzor","PLAYER_ORIENTATION_LANDSCAPE":"Orijentacija playera fiksirana je vodoravno","PLAYER_ORIENTATION_SENSOR":"Orijentacija playera je automatska (senzor)","PLAYER_PLAYBACK_SPEED":"Brzina prikazivanja","PLAYER_PLAYBACK_ERROR":"Playback error, please try again","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Unknown error","PLAYER_PLAYBACK_ERROR_DEFAULT":"Sorry, this video cannot be played by {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Subtitles Languages","PLAYER_SUBTITLES_VARIANTS":"Subtitles Variants","PLAYER_SUBTITLES_SETTINGS":"Subtitles Settings","PLAYER_SUBTITLES_DISABLED":"Subtitles are disabled","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Vertical Position","PLAYER_SUBTITLES_LOADED":"Subtitles loaded","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Embedded subtitles loaded","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Exclusive subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Subtitles from {{origin}} loaded","PLAYER_PLAY":"Play","PLAYER_PAUSE":"Pause","PLAYER_NEXT_VIDEO":"Next Video","PLAYER_MUTE":"Mute","PLAYER_UNMUTE":"Unmute","PLAYER_OPEN_IN_EXTERNAL":"Open in external player","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Play in {{device}}","PLAYER_LIVE":"Uživo","PLAYER_NEXT_VIDEO_TITLE":"U sljedećem nastavku","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Odbaci","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Gledaj odmah","PLAYER_COPY_STREAM_SUCCESS":"Stream link was copied to your clipboard","PLAYER_COPY_STREAM_ERROR":"Failed to copy stream link","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","STREAMING_FROM":"pokretanje iz","CASTING_TO":"Prikazivanje na","NETWORK_STATUS":"Mrežni status","STREAM_SPEED":"Brzina prikazivanja:","STREAM_BUFFERED":"Učitano:","PEERS_INFO":"Peer Informacije","PEERS_ACTIVE":"Aktivno:","PEERS_CONNECTED":"Spojeno:","PEERS_WAITING":"Na čekanju:","TRANSCODING_WARNING":"Upozorenje: pretvaranje videa.","STREAM_LOADING":"učitavanje...","PLAYING_LOCAL":"pokretanje iz lokalne datoteke","PLAYING_CACHE":"pokretanje iz privremenog skladišta","WRONG_SUBS":"Pogrešan prijevod?","ERR_SUBS_LOADING_TITLE":"Greška pri učitavanju podnapisa","ERR_SUBS_LOADING":"Greška pri učitavanju podnapisa: može biti do dodatka kojeg koristite, ili do internet povezanosti","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Sljedeći dodaci za podnapise ne rade","ERR_CASTING_UPDATE_TITLE":"Nemoguće ažurirati info o djeljenje ekrana: server možda nije spojen","CHOOSE_DEVICE":"Izaberi uređaj za gledanje","NO_CAST_DEVICES":"Nema dostupnih uređaja za odašiljanje.","NO_SETTINGS":"Nema dostupnih postavki.","PHONE_TABLET":"Mobitel / Tablet","SUBTITLES":"Podnapisi","SUBTITLES_CHANGE":"Promjeni podnapis za ","SUBTITLES_CHANGE_NONE":"Nažalost, nema drugih podnapisa za odabrani jezik","SUBTITLES_CHANGE_ACIVE":"Trenutno titl &#35;{{subtitlesDialog.activeIdx + 1}} je aktivan. Klikni \\"Nastavi\\" da aktiviraš podnapis &#35;{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Alterantivno,","SUBTITLES_ADJUST_DELAY":"Podešavanje kašnjenja podnapisa:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Ili koristi <span>G</span> / <span>H</span> gumb dok gledate da postavite podnapise.","SUBTITLES_ADJUST_DELAY_TIP":"Savjet: možete koristiti tipke <span>G</span> / <span>H</span> tijekom gledanja kako biste podesili kašnjenje podnapisa.","SUBTITLES_DELAY":"Kašnjenje podnapisa:","SUBTITLES_LOADING":"Učitavanje podnapisa...","SUBTITLES_UNAVAILABLE":"Nema dostupnih vanjskih podnapisa","SUBTITLES_DISABLED":"Isključeno","EXTERNAL_PLAYER_DISABLED":"Disabled","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Allow Choosing","EXTERNAL_PLAYER_HINT":"Hint: There is a setting to allow always opening with external player","DONT_SHOW_AGAIN":"Don\'t show again","SERVICE_INSTALL":"Install","AUDIO":"Audio","DEFAULT_LANGUAGE":"Default Language","DEFAULT_SECONDARY_LANGUAGE":"Default Secondary Language","SEASON":"Sezona","EPISODE":"Epizoda","EPISODE_ABBREVIATION":"EP","SPECIAL":"Special","SORT":"poredaj","SORT_BY":"Poredaj po","FILTER":"filtriraj","SORT_TRENDING":"popularno","SORT_RECENT":"nedavno","SORT_ALPHABET":"A-Ž","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"ocjena","SORT_WATCHED":"gledano","SORT_YEAR":"godina","SELECT_TYPE":"Select type","SELECT_SORT":"Select sort","SELECT_CATALOG":"Select catalog","SELECT_GENRE":"Select genre","SORT_LASTWATCHED":"By last watched","SORT_NAME":"By name","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"By times watched","SORT_NOTWATCHED":"not watched","New for You":"Novo za vas","New Episodes":"Nove epizode","New Videos":"Novi Videi","Recommendations":"Preporuke","LIBRARY_RESUME":"nastavi","LIBRARY_PLAY":"Play","LIBRARY_DETAILS":"Pojedinosti","LIBRARY_RESUME_DISMISS":"odbaci","LIBRARY_CLEAR_PROGRESS":"Clear Progress","LIBRARY_REMOVE":"Remove","LIBRARY_NOT_LOGGED_IN":"Library is only available for logged in users","CALENDAR_NOT_LOGGED_IN":"Calendar is only available for logged in users","NOT_LOGGED_IN_CLOUD":"Access your favorite movies and TV shows anytime, anywhere","NOT_LOGGED_IN_RECOMMENDATIONS":"Recommendations tailored to your viewing history","NOT_LOGGED_IN_NOTIFICATIONS":"Never miss an episode again","NOT_LOGGED_IN_CALENDAR":"Schedule your personal watching calendar","DISCOVER_FEATURED":"Istaktnut","DISCOVER_TOP":"Najbolji","DISCOVER_OSCAR":"Dobitnici Oskara","DISCOVER_WARNING_TITLE":"Ups!","DISCOVER_EMPTY_CATALOG":"Dodatak je vratio prazan sadržaj.","DISCOVER_ADULT_WARNING":"Ovaj sadržaj dostupan je samo odraslima. Imaš li 18+ godina?","DISCOVER_NOADDON_WARNING":"Upozorenje: nema aktivinog Stremio dodatka za ovaj tip. Prikazujemo spremljene stvari, ništa se neće promijeniti.","DISCOVER_LOAD_ERR":"Sadržaj nije pokrenut, greška.","DISCOVER_ADDON_UNINSTALLED":"Sadržaj više nije dostupan. Moguće da ste izbriali dodatak.","UNINSTALL_THIS_ADDON":"Ukloni dodatak","ERR_ADDON_NOT_INSTALLED":"Ovaj dodatak nije instaliran. Instalirati sada?","DETAIL_RECEIVE_NOTIF_SERIES":"Primaj obavijesti o novim epizodama","DETAIL_RECEIVE_NOTIF_VIDEOS":"Primaj obavijesti o novim videima","SIDEBAR_SHOW_STREAMS":"Prikaži prijenose","RELAUNCH":"Ponovo pokreni sada!","UPGRADE":"Nova verzija je dostupna! Nadogradi se na najnoviju inačicu Stremija","RELOAD_UI":"Ponovno učitaj korisničko sučelje","MANUAL_UPDATE_TITLE":"Update your Stremio version","MANUAL_UPDATE_LINE1":"Koristite zastarjelu verziju Stremija što nije preporučljivo.","MANUAL_UPDATE_LINE2":"Molimo, ažurirajte čim prije.","BUTTON_UPDATE_LATTER":"Ne sada","BUTTON_UPDATE_NOW":"Ažuriraj","ANONYMOUS_USER":"Anonimni korisnik","DONT_HAVE_ACC":"Nemate račun?","HAVE_ACC":"Već imate račun?","PASSWORD":"Lozinka","PASSWORD_CONFIRM":"Potvrdite lozinku","EMAIL":"E-mail","FB_LOGIN":"Prijavi se preko Facebook-a","FB_NOTHINGSHARED":"Ništa se ne dijeli bez vaše dozvole","FB_NOPOST":"Nećemo objavljivati ništa u vaše ime","OR":"ili","I_ACCEPT":"Prihvaćam","I_ACCEPT_BY_CLICKING":"Klikom na gornji gumb prihvaćam uvjete","TOS":"Uvjete i Odredbe","MUST_ACCEPT_TERMS":"Morate prihvatiti uvjete","PASSWORDS_NOMATCH":"Lozinke se ne podudaraju","SIGN_UP":"Registracija","SIGN_UP_EMAIL":"Prijavite se putem e-pošte","CLICK_TO_SIGN_UP":"Ovdje pritisnite za registraciju.","LOG_IN":"Prijavi se","LOG_OUT":"Odjavi se","EXIT_FULLSCREEN":"Izađi iz punog prikaza","ENTER_FULLSCREEN":"Uđi u puni prikaz","PLAY_URL_MAGNET_LINK":"Pokreni URL/Magnet poveznicu","HELP_FEEDBACK":"Podrška i povratna informacija","TERMS_OF_SERVICE":"Uvjeti korištenja usluge","PRIVACY_POLICY":"Privacy Policy","ABOUT_STREMIO":"O Stremiju","USER_PANEL":"Korisniča traka","LOGIN_LABEL":"Login","GUEST_LOGIN":"Prijavi se kao gost","GUEST_LOGIN_NOTICE":"Gostujuća prijava nije preporučljiva. Koristeći redovnu prijavu, Stremio omogućava sinkronizaciju svoje videoteke, primanje obavještenja o omiljenim serijama / kanalima. Jeste li sigurni da želite nastaviti?","GUEST_LOGIN_NOTICE_2":"Gostujuća prijava nije preporučljiva - nećete imati sinkronizaciju obavijesti Videoteke i Ploče, koje su od važnosti za Stremio. Jeste li sigurni da želite nastaviti?","CLICK_HERE":"klikni ovdje","WRONG_PASSWORD":"Pogrešna lozinka. U slučaju da ste zaboravili lozinku, ","SET_A_PASS":"postavite lozinku","RESET_PASSWORD":"Ponovno postavi lozinku","FORGOT_PASSWORD":"Zaboravili ste lozinku?","EMAIL_USED_WITH_FB":"Ovaj email je korišten sa Facebook prijavom.","INVALID_EMAIL":"Unesite ispravnu e-mail adresu","INVALID_PASSWORD":"Molimo Vas da unesete ispravnu lozinku","CONN_ERR":"Greška pri povezivanju - molimo Vas pokušate kasnije.\\n\\nAko se ovo nastavi, onemogućite vatrozid/antivirus (posebice Bitdefender).","IMPORT_FROM_GUEST":"Uvezi videoteku iz gostujućeg računa","RECEIVE_UPDATES_EMAIL":"Primajte novosti od kompanije Stremio na vaš e-mail","LOGIN_FAILED":"Neuspjela Prijava.","SIGNUP_FAILED":"Prijava nije uspjela.","SEARCH_FAILED":"Pretraga nije uspjela","EMAIL_USED":"Ovaj email već je u upotrebi.","WAITING_FB_LOGIN":"Prijavljivanje preko Facebook-a...","EXTERNAL_PLAYER_TITLE":"Pokreni u vanjskom pregledniku","EXTERNAL_REMEMBER_PLAYER":"Zapamti moj izbor","EXTERNAL_ALWAYS_PLAY":"Da","EXTERNAL_ONLY_ONCE":"Ne","BEST_FIT":"Najprikladniji prikaz","FIT_SCREEN":"Uklopi u prikaz","FILL":"Ispuni prikaz","16:9":"16:9","4:3":"4:3","Original":"Izvorni prikaz","INTRO_TASTE":"Recite nam što volite","INTRO_TASTE_LONG":"Recite nam što biste željeli gledati","INTRO_TASTE_PICK":"Izaberite {{interestsRemaining}} zanimljivo","INTRO_TASTE_PICK_MORE":"Izaberite još {{interestsRemaining}} zanimljivog","INTRO_TASTE_HELP_US":"Pomozite nam da naučimo o vama.","INTRO_TASTE_CHOOSE_THESE":"Izaberite neke od ovih:","INTRO_TASTE_CHOOSE_MIN":"Izaberite bar tri kategorije","INTRO_TASTE_CHOOSE_MIN_ERR":"Morate izabrati bar tri kategorije!","INTRO_TASTE_LIFESTYLE":"Životni stil","INTRO_TASTE_SPORTS":"Sportovi","INTRO_TASTE_FOOD_HEALTH":"Hrana i zdravlje","INTRO_TASTE_BEAUTY_FASHION":"Ljepota i moda","INTRO_TASTE_NEWS":"Vijesti","INTRO_TASTE_GAMING":"Igrice","INTRO_TASTE_SCIENCE_EDU":"Znanost i obrazovanje","INTRO_TASTE_MUSIC":"Glazba","INTRO_TASTE_TRAVEL":"Putovanje","INTRO_TASTE_LATE_NIGHT":"Noćni talk-show","INTRO_TASTE_REALITY":"Reality","INTRO_TASTE_COMEDY":"Komedija","INTRO_TASTE_DIY":"Uradi sam","INTRO_TASTE_TECH":"Tehnika","INTRO_TASTE_CINEMA":"Kinematografija","ADDON_NOT_SUPPORTED":"Izabrani dodatak nije podržan na ovoj platformi.","ADDON_DISCLAIMER":"Korištenje trećih dodataka uvijek će biti predmet osobne odgovornosti i zakonom zemlje u kojoj se nalazite.","ADDON_ACTIVATE":"Aktivirati ovaj dodatak?","ADDON_REPO_ADD":"Addon repository url","ADDON_ADD":"Dodaj","INSTALL_ADDON":"Install addon","ADD_ADDON":"Add addon","ADD_ADDON_DESCRIPTION":"Možete dodati dodatak putem vanjske veze, koji će se pojaviti pod Instaliranim dodacima.","PASTE_ADDON_URL":"Paste addon URL","WHATS_NEW":"Što je novo","BUTTON_CONTINUE":"Nastavi","BUTTON_ACTIVATE":"Aktiviraj","BUTTON_ACTIVATED":"Aktivirano","BUTTON_CANCEL":"Prekini","BUTTON_SUBMIT":"Submit","BUTTON_DISMISS_ALL":"Poništni sve","BUTTON_VIEW_ALL":"view all","BUTTON_SEE_ALL":"See All","BUTTON_COLOR_TRANSPARENT":"Transparent","OPEN_IN_BROWSER":"Open in browser","LIB_EMPTY":"Vaša Videoteka izgleda prazno. Saznajte koliko je zapravo korisna :) ","HOW_START":"Ovako možete početi:","LIB_EMPTY_CAL":"Tvoj Kalendar prikazuje serije iz tvoje Videoteke.","HOW_START_CAL":"Ovako možeš dodati serije:","LIB_EMPTY_BOARD":"Tabla prikazuje notifikacije &amp; preporuke slične tvojoj biblioteci.","HOW_START_BOARD_WAIT":"Molimo, dodajte par serija ili kanala u vašu videoteku i dozvolite nam par minuta da procesuiramo :)","HOW_START_BOARD":"Evo kako možete da dodate serije &amp; flmove na nju:","IMPORT_FB":"Uvoz stvari koje vam se sviđaju na <span>Facebook</span>","IMPORT_TRAKT":"Uvezi videoteku sa: <span>Trakt</span>","IMPORT_DISCOVER":"Nađi zanimljive stvari u <span>Otkrij</span>","IMPORT_DISK":"Uvoz filmova ili serija koje imate na vašem <span>lokalnom disku</span>","PLEASE_CREATE_ACC":"Molimo Vas <u>napravite račun</u> da omogućite sinkronizaciju Videoteke &amp; Table.","IMPORT_DISCOVER_SIGNUP":"Registrirajte se i otkrijte zanimljive stvari u <span>Otkrij</span>","IMPORT_DISK_SIGNUP":"Registrirajjte se i uvezite filmove i serije sa vašeg <span>lokalnog diska</span>","LIB_EMPTY_CLOUD":"Videoteka na oblaku","LIB_EMPTY_CLOUD_DESC":"Osobna videoteka ažuirana na svim uređajima","LIB_EMPTY_EARLY":"Early bird","LIB_EMPTY_EARLY_DESC":"Primaj obavijesti o novim epizodama","LIB_EMPTY_PERSONAL":"Osobno","LIB_EMPTY_PERSONAL_DESC":"Primaj personalizirane preporuke","LIB_EMPTY_CALENDAR_DESC":"Pripremi raspored za gledanje tvoje videoteke","LIB_EMPTY_ALL":"Prijavi se na neke od ovih:","LIB_EMPTY_BEST":"Prijavi se da dobiješ najbolje od Stremio-a","LIB_EMPTY_OTHER":"Prijavi se da dobiješ Kalendar & druge cool dodatke","CALENDAR_ADDED":"Stremio kalendar je dodan tvome kalendaru.","CALENDAR_ADDED_MSG":"If this does not work, please add this URL to your calendar application manually","TRAKT_EXPIRED":"Trakt autientifikacija nije valjana, molim vas u Postavkama autentificirajte","TRAKT_REQUIRES_LOGIN":"Trakt greška","TRAKT_REQUIRES_LOGIN_MSG":"Morate biti ulogirani","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","SETTINGS_LABEL":"Postavke","SETTINGS_NAV_GENERAL":"Općenito","SETTINGS_NAV_PLAYER":"Reproduktor","SETTINGS_NAV_STREAMING":"Prijenos","SETTINGS_NAV_SHORTCUTS":"Shortcuts","SETTINGS_SHORTCUT_RELOAD_APP":"Reload App","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Open Settings","SETTINGS_SHORTCUT_SWITCH_TABS":"Switch Tabs","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Cycle Through Tabs Forward","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Cycle Through Tabs Backward","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigate Between Menus","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Go to Search","SETTINGS_SHORTCUT_EXIT_BACK":"Exit / Go Back","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Toggle Playback Speed Menu","SETTINGS_SHORTCUT_MENU_VIDEOS":"Toggle Videos Menu","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Toggle Subtitles Menu","SETTINGS_SHORTCUT_MENU_INFO":"Toggle Info Menu","SETTINGS_SHORTCUT_FULLSCREEN":"Toggle Fullscreen","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Pokazi Kontrole","SETTINGS_SHORTCUT_PLAY_PAUSE":"Play / Pause","SETTINGS_SHORTCUT_VOLUME_UP":"pojacaj zvuk","SETTINGS_SHORTCUT_VOLUME_DOWN":"stisaj zvuk","SETTINGS_SHORTCUT_SEEK_NEXT":"Seek Next","SETTINGS_SHORTCUT_SEEK_PREV":"Seek Prev","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Povratak unatrag","SETTINGS_SHORTCUT_SEEK_FORWARD":"Seek Forward","SETTINGS_SHORTCUT_PLAY_NEXT":"Gledaj iducu epizodu","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"povecaj titlove","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Smanji velicinu titlova","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"povecaj delay titlova","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"smanji Delay titlova","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Toggle Sidebar","SETTINGS_SHORTCUT_OR":"or","SETTINGS_SHORTCUT_TO":"to","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Authenticate","SETTINGS_FACEBOOK_IMPORT":"Import","SETTINGS_CALENDAR_SUBSCRIBE":"Subscribe","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Interface Language","SETTINGS_LAUNCH_STARTUP":"Pokreni prilikom paljenja","SETTINGS_VLC_DEFAULT":"Pokreni preko VLC-a","SETTINGS_UI_LANGUAGE":"Jezik sučelja","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Izlazak iz punog prikaza tipkom Esc","SETTINGS_GAMEPAD":"Omogući korištenje kontrolera","SETTINGS_CLOSE_WINDOW":"Zatvori program prilikom zatvaranja prozora","SETTINGS_SUBTITLES_LANGUAGE":"Zadani jezik podnapisa","SETTINGS_SUBTITLES_SIZE":"Zadana veličina podnapisa","SETTINGS_SUBTITLES_BACKGROUND":"Pozadina podnapisa","SETTINGS_SUBTITLES_COLOR":"Boja podnapisa","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Boja obruba podnapisa","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Boja pozadine podnapisa","SETTINGS_SEEK_KEY":"Premotavanje sadržaja strelicama","SETTINGS_SEEK_KEY_SHIFT":"Premotavanja sadržaja streliacam dok je tipka Shift pritisnuta","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Rewind & Fast-forward duration","SETTINGS_BINGE":"Automatski pokreni sljedeću epizodu","SETTINGS_NEXT_VIDEO":"Prikazati obavijest za početak sljedeće epizode","SETTINGS_NEXT_VIDEO_TRIGGER":"Show next episode notification for:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Next video popup duration","SETTINGS_PLAY_IN_BACKGROUND":"gledaj u pozadini","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"gledaj u drugom playeru","SETTINGS_RESIZE":"Automatski promjeni veličinu prozora prije puštanja","SETTINGS_OVERRIDE_SERVER":"Override the streaming server URL (advanced)","SETTINGS_SERVER_URL":"Streaming server URL: ","SETTINGS_SERVER_AVAILABLE":"Streaming server je dostupan.","SETTINGS_SERVER_UNAVAILABLE":"Streaming server nije dostupan.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"pogreska","SETTINGS_SERVER_CONFIGURE_TITLE":"Configure streaming server url","SETTINGS_SERVER_CONFIGURE_INPUT":"Unesi streaming server url","SETTINGS_SERVER_CACHE_SIZE":"Cache size","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent profil","SETTINGS_HTTPS_ENDPOINT":"Streaming HTTPS endpoint: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Uvek koristi najnoviju BETA","SETTINGS_IMPORT_FB":"Uvezi sa Facebooka","SETTINGS_IMPORT_DISK":"Uvezi sa lokalnog diska","SETTINGS_IMPORT_TRAKT":"Uvezi sa Trakt-a","SETTINGS_PAUSE_MINIMIZED":"Pauziraj video kada je prozor minimized","SETTINGS_HWDEC":"Hardware-accelerated decoding","SETTINGS_BACKGROUND":"Pozadinsko pokretanje","SETTINGS_SUBSCRIBE_CALENDAR":"Pretplati se na Kalendar","SETTINGS_REQ_EXPORT":"Zatraži izvoz podataka","SETTINGS_ACC_DELETE":"Zatraži brisanje naloga","SETTINGS_CHANGE_PASSWORD":"Promjeni lozinku","SETTINGS_TOS":"Uslovi korištenja","SETTINGS_SUPPORT":"Kontaktiraj podršku","SETTING_LANGUAGE":"Jezik","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_LOGOUT":"Odjavi se sa Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Odjavi se sa Trakt","SETTINGS_SCAN_FOR_REMOTE":"Scan QR code to open remote","SETTINGS_DESKTOP_NOTIFICATIONS":"Desktop notifications","SETTINGS_DATA_SAVER":"Data saver","SETTINGS_LANGUAGE_INTERFACE":"interface","SETTINGS_LANGUAGE_SUBS":"podrazumevani titlovi","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Autoselect Audio Track","SETTINGS_DEFAULT_AUDIO_TRACK":"Default Audio Track","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"account","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"version","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"Pokreni u zasebnom prozoru (napredno)","SETTINGS_PLAY_IN_EXTERNAL":"Always start video in external player","SETTINGS_STORAGE_BUTTON":"Clear Local Storage","SETTINGS_STORAGE_MODAL_TITLE":"Dali si siguran ?","SETTINGS_STORAGE_MODAL_MESSAGE":"Ovo će izbrisati lokalno pohranjene podatke i odjaviti vas.","SETTINGS_HWDEC_PICKER":"Pick hardware-accelerated decoding setting","SETTINGS_HW_AUTOMATIC":"Automatski","SETTINGS_HW_DISABLED":"Iskljuceno","SETTINGS_HW_ACCELERATED":"Decoding acceleration","SETTINGS_HW_FULL":"Full acceleration","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Subtitles","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Controls","SETTINGS_SECTION_AUTO_PLAY":"Auto-Play","SETTINGS_SECTION_ADVANCED":"Advanced","SUBSPICKER_AUDIO":"Zvuk","SUBSPICKER_SUBTITLES":"Addons Subtitles","SUBSPICKER_BLACK_BACKGROUND":"Koristi crnu boju kao pozadinu","SUBSPICKER_VERTICAL_OFFSET":"Vertical Offset","SUBSPICKER_SIZE":"Velicina","SUBSPICKER_DELAY":"Delay","SUBSPICKER_EMBEDDED_SUBS":"Embedded Subtitles","MOBILE_PRIVACY_POLICY":"Privacy Policy","MOBILE_CRASH_REPORTING":"Crash Reporting","MOBILE_ZOOM_TO_FILL":"Zoom To Fill Screen","MOBILE_PASSTHROUGH":"Digital audio output (passthrough)","MOBILE_RUN_LOW_BATTERY":"Run on low battery","MOBILE_RUN_FOREGROUND":"Run as Foreground Service","MOBILE_PERFORMANCE":"PERFORMANCE & STABILITY","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"QR Code expires in ","MOBILE_LOG_INTO":"Log in to your Stremio account ","MOBILE_SCAN_QR":"Scan QR code above or go to ","MOBILE_LINK_ACCOUNT":"Link Account","MOBILE_SPEEDPICKER_CANCEL":"Otkazi","MOBILE_SPEEDPICKER_LABEL":"Select Playback Speed","MOBILE_EMPTY_LIBRARY":"Your library is empty","MOBILE_NO_ADDON_ACTIVE":"No Stremio addon active for this type.","MOBILE_ORGANIZER_WARNING":"The Stremio Organizer app provides limited functionality. For a list of playable streams and the full Stremio experience, use Stremio on desktop.","MOBILE_ADDON_LOADING":"ucitavanje","MOBILE_ADDONS_LOADING":"addons are still loading","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Configure your addon","MOBILE_CONFIGURE_ADDON_LABEL":"Configure Addon","MOBILE_ORGANIZER_ADDONS_WARNING":"The Stremio Organizer app provides a limited selection of addons. For the full Stremio experience, use Stremio on desktop.","MOBILE_DISCONNECT":"Disconnect","MOBILE_LOOKING_FOR_DEVICES":"Looking for devices...","MOBILE_CAST_TO":"Cast to","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Delete Account","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Account deletion is not instant due to legal obligations. After requesting deletion of your account you will have to use different email address/facebook profile to create a new Stremio account in the future.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirm Account Deletion","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Your account has been created using Facebook. To delete your account, please use our user portal at www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Please provide your password to confirm account deletion.","MOBILE_DELETE_ACCOUNT_BUTTON":"Izbrisi Racun","NAVIGATION_ON":"On","NAVIGATION_OFF":"Off","MARKETING_AGREE":"I agree to receive marketing communications from Stremio","QUIT":"Izađi","CONNECTED":"Povezan","AUTHENTICATE":"Prijavi se","CACHING":"Keširanje","SETTINGS_CACHING_DRIVE":"Izaberi disk za keširanje","ENABLE_LOCAL_FILES_ADDON":"Enable the local files addon (requires restart)","LOCAL_ADDON_NOT_ENABLED":"Local addon is not enabled. Click here to go to the settings and enable it","ENABLE_REMOTE_HTTPS_CONN":"Enable remote HTTPS connections","TORRENT_PROFILE":"Torrent Profile","DATA_CACHING":"Data Caching","MAGNET_PARSING":"Parsing a magnet link","January":"Siječanj","February":"Veljača","March":"Ožujak","April":"Travanj","May":"Svibanj","June":"Lipanj","July":"Srpanj","August":"Kolovoz","September":"Rujan","October":"Listopad","November":"Studeni","December":"Prosinac","Monday":"Ponedeljak","Tuesday":"Utorak","Wednesday":"Srijeda","Thursday":"Četvrtak","Friday":"Petak","Saturday":"Subota","Sunday":"Nedjelja","Action":"Akcija","Comedy":"Komedija","War":"Ratni","Family":"Obiteljski","Animation":"Animacija","Adventure":"Avanturistički","Fantasy":"Fantazija","Crime":"Kriminalistički","Mystery":"Misterija","Romance":"Ljubavni","Drama":"Drama","Horror":"Horor","Thriller":"Triler","Sci-Fi":"Znanstvena Fantastika","Music":"Glazba","Biography":"Biografija","Documentary":"Dokumentarni","Sport":"Sport","Musical":"Mujuzikl","Western":"Western","Film-Noir":"Film-Noir","News":"Novosti","History":"Povijesni","Game-Show":"Game-Show","Reality-TV":"Reality-TV","Talk-Show":"Talk-Show","Film & Entertainment":"Film & Zabava","Gaming":"Gaming","From TV":"Iz TV-a","Lifestyle":"Lifestyle","Science & Education":"Znanost & Edukacija","Cooking & Health":"Kuhanje & Zdravlje","Beauty & Fashion":"Ljepota & Moda","Sports":"Sport","News & Politics":"Vijesti & Politika","How-to & DIY":"DIY","Tech":"Tech","Automotive":"Automotive","Causes & Non-Profits":"Dobra dijela & Neprofitno","Movies":"Filmovi","Uk Live Tv":"UK Uživo Tv","Fashion":"Moda","Business News Radio":"Poslovni radio","Business Tv":"Poslovni tv","Cars & Auto":"Auto","Comedy Radio":"Komedija","Lifestyle Radio":"Lifestyle","News Tv":"Vijesti Tv","Food And Wine":"Hrana i vino","Latino Tv":"Latino Tv","Shopping Tv":"Shopping Tv","Religion":"Religija","Kids":"Djeca","Body & Soul":"Tijelo i duša","Education":"Edukacija","Indian Tv":"Indian Tv","Extreme Sports":"Extremni sportovi","Middle Eastern Tv":"Middle Eastern Tv","Celebrity Tv":"Celebrity Tv","Science Tv":"Znanstvena Tv","Bikini babe":"Bikini babe","Outdoors":"Outdoors","German Tv":"German Tv","French Tv":"French Tv","Italian Tv":"Italian Tv","Gamer Tv":"Gamer Tv","Travel":"Putovanja","Asian Tv":"Asian Tv","Entertainment":"Zabava","News Radio":"Vijesti Radio","Music Radio":"Glazbeni Radio","Language Learning":"Učenje jezika","Science Radio":"Znanstveni Radio","Tech Radio":"Tech Radio","Science & Technology Vod":"Science & Technology Vod","new video":"novi video","new episode":"nova epizoda","new movie":"novi film","recommended":"preporučeno","we recommend":"preporučujemo","offer of the day":"ponuda dana","news":"vijesti","music video":"spot","CTX_SHOW_HOTKEYS":"Show hotkeys","CTX_DISMISS_NOTIF":"Odbaci obavijesti","CTX_DISMISS_ALL":"Odustani","CTX_SHARE":"Podijeli","CTX_COPY_SHARE_LINK":"Kopiraj link za dijeljenje","CTX_COPY_MAGNET_LINK":"Copy magnet link","CTX_COPY_STREAM_LINK":"Copy stream link","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Download this video","CTX_DOWNLOAD_SUBS":"Download subtitles","CTX_VIEW_ON_YOUTUBE":"View on YouTube","CTX_SHOW":"Prikaži","CTX_PLAY":"Pokreni","CTX_PLAY_IN":"Pokreni u","CTX_PLAY_ON":"Pokreni na","CTX_WATCH_ON":"Gledaj na","CTX_WATCH":"Gledaj","CTX_WATCHED":"Pogledano","CTX_WATCH_BEGINNING":"Gledaj od početka","CTX_WATCH_MOBILE":"Gledaj na mobilnom uređaju","CTX_REWIND":"Premotaj na početak","CTX_MARK_WATCHED":"Označi kao pogledano","CTX_MARK_NON_WATCHED":"Označi kao nepogledano","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"Označi ostalo kao pogledano","CTX_UNMARK_REST":"Označi ostalo kao nepogledano","CTX_RECEIVE_NEW_NOTIF":"Primaj nove obavijesti","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"Obriši iz keša","CTX_REMOVE_CACHE_EP":"Ukloni epizodu iz keša","CTX_OPEN_CONTAINING":"Otvori mapu sadržaja","CTX_REMOVE":"Ukloni iz Videoteke","CTX_AVAILABLE_OFFLINE":"Dostupno izvanmrežno","CTX_PAUSED":"Pauzirano","CTX_ALWAYS_ON_TOP":"Uvijek na vrhu","CTX_FULLSCREEN":"Cijeli zaslon","CTX_WRONG_SUBS":"Pogrešan prijevod?","CTX_REPORT_ISSUES":"Prijavi problem","CTX_COPY":"Kopiraj","CTX_PASTE":"Naljepi","CTX_CLEAR":"Očisti","CTX_CLEAR_RECENT_SEARCHES":"Obriši skorašnje pretrage","HELLO_THERE":"Hej zdravo","HOPE_YOU_ENJOY":"Nadamo se da uživate uz Stremio i da je već jedna od vaših omiljenih aplikacija !","WHO_ARE_WE":"Tko smo mi? Mi smo tim iza njega - dva momka koja rade teško svaki dan već skoro 3 godine da bih napravili ovaj proizvod sve boljim i boljim.","SUPPORT_US":"Ako uživate koristeći Stremio, ako je Stremio vrijedan za vas - širite riječ !","SPREAD_THE_WORD":"Podijelite sa svojim prijateljima sada, širite riječi u vezi Stremio","MORE_PEOPLE":"Što više ljudi koristi Stremio, to će biti bolji !","SEND_A_LINK":"Ili pošaljite link ka našoj stranici","TIP_LOCALFILES":"Savjet: možeš prevući i ubaciti lokalne video datoteke u Stremio","ADDON_MY":"Moji Dodaci","ADDON_COMMUNITY":"Dodaci zajednice","ADDON_OFFICIAL":"Službeni dodaci","ADDON_REPOS":"Dodaci repozitoriji","ADDON_SEARCH":"Pretraži dodatke","ADDON_INSTALL":"Instaliraj","ADDON_CONFIGURE":"Promijeni","ADDON_UNINSTALL":"Deinstaliraj","ADDON_UPGRADE":"Nadogradi","ADDON_INSTALLED":"Instalirano","ADDON_INSTALLED_MSG":"Dodatak instaliran!","ADDON_UPGRADED_MSG":"Dodatak ažuriran!","ADDON_UNKNOWN":"Nepoznato","ADDON_ERR":"Greška pri instaliranju dodatka!","ADDON_DISCONNECTED":"Veza prekinuta","ADDON_APP_MISSING":"aplikacija za ovaj izvor nije instalirana. Želiš li sada instalirati?","ADDON_APP_INSTALL":"Instaliraj sada","ADDON_PAGE":"Stranica dodataka","ADDON_TOP_CONTENT":"Najbolje do ovog dodatka","ADDON_PROVIDES":"Ovaj dodatak će vam dati:","ADDON_WATCH":"Pogledaj #{types} sada!","ADDON_WATCH_FREE":"Pogledaj #{types} BESPLATNO sada !","ADDON_ADDON":"Dodatak","ADDON_SUPPORTED_TYPES":"Supported types","ADDON_SUPPORTED_CATALOGS":"Supported catalogs","ADDON_PROVIDES_DISCOVER":"Više #{types} u Otkrivanju","ADDON_PROVIDES_STREAMS":"Gledaj #{types}","ADDON_PROVIDES_STREAMS_FREE":"Gledaj #{types} BESPLATNO","ADDON_PROVIDES_SUBTITLES":"Prijevodi za #{types}","ADDON_CANTDETECT":"Nismo uspjeli pronaći i pokrenuti Stremio, tako da nismo uspjeli otkriti koje dodatke imate instaliarne.","ERR_NO_META":"Nisu pronađene informacije o ovome ","ERR_GETTING_META":"Greška pri preuzimanju podataka.","ERR_CANT_PARSE_MAGNET":"Nemoguće spojiti magnet","ERR_NO_MAGNET_INFOHASH":"Bez valjanog hash-a za magnet","ERR_NO_FILE_PATH":"Nije moguće poslati zahtjev bez lokacije datoteke","ERR_NO_TORRENT":"Nema torrent-a","ERR_NO_SUPPORTERD_FILES":"Nisu nađene podržane datoteke","ERR_OPENING_FILES":"Nije moguće otvoriti vanjske datoteke","ERR_INVALID_LINK":"Link nije valjan","ERR_REGISTERED_ONLY":"Ova mogućnost je dostupna samo registriranim korisnicima.","ERR_CLIPBOARD":"Can not play from clipboard","ERR_CLIPBOARD_READ":"Can not read the clipboard on this platform","ERR_CLIPBOARD_GENERIC":"No playable URL found in the clipboard. Please copy a URL (e.g. a magnet link) to a video.","BOARD_CONTINUE_WATCHING":"Nastavi gledanje","BOARD_EXPLANATION_RECOMMENDATIONS":"Filmovi izabrani isključivo za vas.<br />This movie is a sample recommendation.","BOARD_EXPLANATION_EPISODES":"New episodes of your favorite Series come here.<br />Add series you follow to your Library.","BOARD_EXPLANATION_VIDEOS":"New episodes of your favorite Channels come here.<br />Add YouTube channels you follow to your Library.","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE":"Contribute","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"Learn more","WEBSITE_COMPANY":"Company","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Need Help?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"Gledaj Odmah","WEBSITE_SLOGAN_ALL":"All the Video Content You Enjoy in One Place","WEBSITE_SLOGAN_NEW":"All You can Watch","WEBSITE_SLOGAN_NEW_NEW":"Freedom to Stream","WEBSITE_WATCH_FROM":"Watch from","WEBSITE_DOWNLOAD":"Skini sada","WEBSITE_DOWNLOAD_FOR":"Skini sada za","WEBSITE_IS_DESKTOP":"Stremio je desktop aplikacija, otvori ovu stranicu na svom PC i skini ga","WEBSITE_DESKTOP_DEMO_VID":"Desktop demo","WEBSITE_PAGE_HOME":"Glavna","WEBSITE_PAGE_FEATURES":"Karakteristike","WEBSITE_PAGE_ADDONS":"Dodaci","WEBSITE_PAGE_TECH":"Tehnologija","WEBSITE_PAGE_CREATE_ADDON":"Kreiraj dodatak","WEBSITE_PAGE_CONTACTS":"Kontakti","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Filmovi","WEBSITE_TYPE_series_PL":"Serije","WEBSITE_TYPE_tv":"Uživo TV","WEBSITE_TYPE_channel":"Kanali","WEBSITE_STREMIO_WHAT_IS":"Stremio je aplikacija koja vam pomaže da organizujete i odmah gledate vaše omiljene video, filmove, TV serije i TV kanale.","WEBSITE_FEATURES_WATCH":"Gledaj odmah u HD","WEBSITE_FEATURES_WATCH_DETAIL":"Kliknite i pokrenite svoje omiljene filmove, TV Emisije, video i TV kanale.","WEBSITE_FEATURES_SUBS":"Automatski Prevodi","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio automatski odabire sinkronizirane prijevode za vaš jezik.","WEBSITE_FEATURES_SUBS_LABEL":"Stremio automatski odabire sinkronizirane prijevode za vaš jezik.","WEBSITE_FEATURES_CAST":"Pokreni na TV & mobilnim uređajima","WEBSITE_FEATURES_CAST_DETAIL":"Emitiranje na AppleTV, Chromecast, Smart TV (DLNA/UPnP) i mobilne uređaje.","WEBSITE_LIB":"Uživajte u Svojoj osobnoj Videoteci sinkoniziranoj na Sve Vaše Uređaje","WEBSITE_LIB_COLLECT":"Prikupite sa Stremio","WEBSITE_LIB_IMPORT":"Uvezite sa Facebook-a","WEBSITE_LIB_LOCAL":"Dodajte sa vašeg lokalnog diska","WEBSITE_BOARD":"Ploča - Vaše one-stop mjesto za obavještenja i preporuke","WEBSITE_BOARD_RECOMMEND":"Preporučena TV Emisija","WEBSITE_BOARD_TRENDING":"Traženi Film","WEBSITE_BOARD_NEW":"Novi Video","WEBSITE_BOARD_EPISODE":"Nova Epizoda","WEBSITE_BOARD_1":"Tražite nešto interesantno da gledate? Dobijajte preporuke na osnovu vašeg ukusa!","WEBSITE_BOARD_2":"Primite obavještenja kada nova epizoda vaš omiljene TV emisije ili YouTube kanala izadje!","WEBSITE_BOARD_YOUTUBE":"Novi Videi na Youtube kanalima","WEBSITE_BOARD_EPISODES":"Nove epizode serije koje pratite","WEBSITE_ADDONS":"Dodaci za sadržaj","WEBSITE_TECH_DETAIL":"Volimo tehnologiju, volimo znanost!\\nStremio koristi sljedeći softver otvorenog koda:","WEBSITE_TECH_WCJS":"WebChimera.js omogućava gledanje u bilo kojem formatu sa dobrim performansama","WEBSITE_TECH_WCJS_EXTRA":"Mi smo glavni suradnici ","WEBSITE_TECH_ELECTRON":"Electron pruža inovativu platformu za Stremio.","WEBSITE_TECH_ELECTRON_EXTRA":"Mi smo suradnici projekta","WEBSITE_TECH_LINVODB":"Baza podataka koja omogućava da su podaci organizirani i svugdje spremni.","WEBSITE_TECH_LINVODB_EXTRA":"Kućna tehnologija","WEBSITE_CREATE_ADDON":"Kreiraj svoj dodatak","WEBSITE_CREATE_ADDON_DETAIL":"Do you have a service providing video content? We\'ll help you benefit from Stremio\'s features by creating your Addon.","WEBSITE_CREATE_ADDON_BENEFITS":"Benefits of Creating an Addon for Stremio","WEBSITE_P2P_BEAUTY":"The Beauty of Peer-to-Peer Streaming","WEBSITE_P2P_1":"Reliable and affordable full HD / 4K video on demand or live streaming","WEBSITE_P2P_2":"Distribution platform providing great user experience","WEBSITE_P2P_3":"We will create an addon meeting your exact needs","WEBSITE_P2P_CONTACT":"Zainteresirani? Dobrodošli ste da nas <a href=\'mailto:office@stremio.com\'>kontaktirate</a>.","WEBSITE_P2P_CONTACT_EXTRA":"We will be happy to help you integrate your content with Stremio!","WEBSITE_P2P":"Once in a while, there comes a technology that changes the name of the game. We invested tons of time and effort in building our Peer-to-Peer (P2P) video streaming engine that provides great performance and versatility to adapt with any use case.\\nContact us for DRM-enabled P2P video on demand or live streaming.","WEBSITE_THOUGHTS":"Mišljenja koja dijelimo:","WEBSITE_SPREAD":"Nek se čuje za Stremio:","WEBSITE_CONTACT":"Ako nas mislite kontaktirati, slobodno","WEBSITE_OPENSOURCE":"Za naš otvoreni kod idi na","WEBSITE_BITCOIN":"Doniraj bitcoin:","WEBSITE_FAQ":"Često postavljena pitanja","WEBSITE_FAQ_SHORT":"ČPP","WEBSITE_QUESTIONS":"Questions","WEBSITE_TOS":"Uslovi korištenja","WEBSITE_LEGAL":"Zakoni","WEBSITE_PAGE_ABOUT":"O nama","WEBSITE_PAGE_BECOME_PARTNER":"Postani partner","WEBSITE_ALL_YOU_CAN_WATCH":"Sloboda gledanja\\nsvega što želiš.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"Što je Stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio is a one-stop hub for video content aggregation. Discover, organize and watch video from all kind of sources on any device that you own.","WEBSITE_WHAT_IS_STREMIO_P2":"Movies, TV shows, series, live television or web channels like YouTube and Twitch.tv - you can find all this on Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio is a modern media center that\'s a one-stop solution for your video entertainment. You discover, watch and organize video content from easy to install addons.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Movies, TV shows, live TV or web channels - find all this on Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Enjoy on all your Media devices","WEBSITE_DEVICES_COLLECT":"Collect from Stremio","WEBSITE_DEVICES_IMPORT_FB":"Import from facebook","WEBSITE_DEVICES_LOCAL":"Add from local drive","WEBSITE_JOIN_THE_PARTY_NOW":"Join the party now","WEBSITE_DEVICES_ALL":"Easy to use on all your devices;","WEBSITE_EXTENDABLE_CATALOG":"Infinitelly extendable video catalog;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Great features to organize your media;","WEBSITE_AS_SEEN_ON":"As seen on","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"About us","WEBSITE_LINK_TECHNOLOGY":"Technology","WEBSITE_LINK_APPS":"Apps","WEBSITE_LINK_DOWNLOADS":"Downloads","WEBSITE_MORE":"More","WEBSITE_LINK_ADDONS":"Addons","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Contribute","WEBSITE_LINK_COMMUNITY":"Community","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... & More","WEBSITE_LINK_HELP":"Help center","WEBSITE_LINK_CONTACTS":"Contacts us","WEBSITE_LINK_TOS":"Terms & conditions","WEBSITE_LINK_PRAVACY":"Privacy policy","WEBSITE_SUBSCRIBE":"Sibscribe","WEBSITE_NEWSLETTER":"Join Our Newsletter for amazing stuff","WEBSITE_PLACEHOLDER_EMAIL":"Your Email","WEBSITE_COMMUNITY":"Community","WEBSITE_LINK_PRAVACY_LEGAL":"Privacy & legal","WEBSITE_WHY":"Why we do it","WEBSITE_WHY_P1":"At Stremio, we come to work every day because we want to solve an important problem for the video-on-demand industry. There’s so much new content published every minute that it’s virtually impossible to find your way around it.","WEBSITE_WHY_P2":"We help people navigate that huge world of video entertainment and discover new content to enjoy. Our apps bring together movies, series, live TV, web channels, and more. We are dedicated to making it incredibly easy for users to find titles and broadcasters that they love.","WEBSITE_WHY_P3":"You can use our service on any device and at any time, making Stremio the only video entertainment hub you’ll ever need.","WEBSITE_TEAM":"TEAM","WEBSITE_TEAM_P":"The Stremio team is small but powerful: between the ten of us, we code in X languages, and share expertise in software development, UI and UX design, marketing and advertising, and business and startups.","WEBSITE_FEATURES":"Features","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Discover new content with ease","WEBSITE_FEATURES_DISCOVER_P":"Easily discover new movies, TV shows, series and channels to watch. Browse by category, genre, rating, recency, etc. or simply type a name to find. Stremio makes finding new video content a piece of cake.","WEBSITE_FEATURES_ALL_CONTENT":"All of your video content on one screen","WEBSITE_FEATURES_ALL_CONTENT_P1":"See what movies, series or videos you didn’t finish and continue watching them; get notified for new episodes and releases; and browse through the recommendations you will get based on your viewing habits.","WEBSITE_FEATURES_LIBRARY":"Organize your video library","WEBSITE_FEATURES_LIBRARY_P1":"Add any title to your Stremio library with a single click and find your way around your content, neatly arranged by type, recency, or alphabetical order.","WEBSITE_FEATURES_CALENDAR":"Keep track of everything you watch","WEBSITE_FEATURES_CALENDAR_P1":"Get a calendar visualization of all the movies and series you add to your library. Export your Stremio calendar and sync it so you always know when a new episode or a premier is due.","WEBSITE_FEATURES_BIG_SCREEN":"Enjoy your video content on a bigger screen","WEBSITE_FEATURES_BIG_SCREEN_P1":"Cast whatever you are watching to another device - be it a phone, tablet or a TV with a single click.","WEBSITE_FEATURES_SOURCES":"Watch video from many different sources","WEBSITE_FEATURES_SOURCES_P":"Install official and community addons to enjoy video sourced from many different providers - all in one sleek, easy to use app.","WEBSITE_CREATE_AN_ADDON":"Create an addon","WEBSITE_FEATURES_SYNC":"Sync your library across different devices and resume your playback","WEBSITE_FEATURES_SYNC_P1":"Login with your account across all your devices and enjoy your library, addons, playback and calendar synchronized.","WEBSITE_FEATURES_EXTENDABLE":"Extendable video catalog by addons","WEBSITE_FEATURES_EXTENDABLE_P1":"The Stremio addon catalog provides a number of addons to install and watch a variety of video content from. This includes movies, shows, live TV, sport, news, podcasts, web channels, video games and more.","WEBSITE_FEATURES_AUTO_SUBS":"Automatic subtitles","WEBSITE_FEATURES_AUTO_SUBS_P1":"With our subtitle addons you get automatically selected options for your preferred language.","WEBSITE_FEATURES_CHROMECAST":"Casting to Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Enjoy your video content on a bigger screen or just cast whatever you are watching to another device.","WEBSITE_FEATURES_KEEP_TRACK":"Keep track of your favorite TV shows and Web channels","WEBSITE_FEATURES_KEEP_TRACK_P1":"Get a calendar visualization and notifications for new episodes of your favorite series and web channels.","WEBSITE_FEATURES_POWER_USER":"Power user features","WEBSITE_FEATURES_POWER_USER_P1":"Play in external player","WEBSITE_FEATURES_POWER_USER_P2":"Play from a torrent file or magnet link","WEBSITE_FEATURES_POWER_USER_P3":"Import to your library from Facebook likes or local disk","WEBSITE_ADD_ONS":"Addons","WEBSITE_ADD_ONS_P1":"All of the video content Stremio provides get sourced through an addon system - no content or content provider has been built into the app.","WEBSITE_ADD_ONS_P2":"There are two groups of addons available: official and community addons.","WEBSITE_ADD_ONS_P3":"The official ones are developed and hosted by Stremio, whereas community addons are created by our community members, who also host them.","WEBSITE_ADDONS_OFFICIAL":"Official addons","WEBSITE_ADDONS_WATCHUB":"Stream your favourite movies, series and shows from providers like iTunes, Hulu, Amazon and other UK/US services.","WEBSITE_ADDONS_YOUTUBE":"Watch your favourite YouTube channels ad-free and get notifications for new uploads from the contributors you follow.","WEBSITE_ADDONS_FILMON":"Watch live TV, movies and social television for free. 600 TV channels, 45,000 free movies, documentaries and more.","WEBSITE_ADDONS_OPENSUBTITLES":"Movie and TV subtitles in multiple languages, thousands of translated subtitles uploaded every day.","WEBSITE_ADDONS_COMMUNITY":"Community addons","WEBSITE_ADDONS_FILMON_VOD":"Watch video on demand from Filmon.tv","WEBSITE_ADDONS_TWICH":"Watch live streams from Twitch.tv - a video streaming platform for the e-sports industry.","WEBSITE_ADDONS_VODO":"Watch indie movies absolutely free of charge.","WEBSITE_ADDONS_NETFLIX":"Watch Netflix movies and web series.","WEBSITE_ADDONS_CREATE":"Create an addon","WEBSITE_ADDONS_CREATE_P1":"If you wish, you can develop your own addon. This way, you can give yourself and our community access to new video content, and reach a new, targeted audience of millions of users around the world.","WEBSITE_ADDONS_START_CREATE":"To get started, visit the Stremio Addon SDK page:","WEBSITE_DOWNLOADS":"Downloads","WEBSITE_DOWNLOADS_P1":"For optimal performance, we recommend that you use the latest available version of the Stremio apps. If for some reason, however, you would like to use an older version, you can download it here.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio for Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio for macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio for Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio for Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio for iOS","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"The Stremio platform is open source and you can easily create an addon for content that is currently not sourced.","WEBSITE_CONTRIBUTE_WHY":"Why should you create an addon?","WEBSITE_CONTRIBUTE_WHY_P1":"Reach new audience for your video content","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio’s user base is growing rapidly - within the first year of the launch, Stremio had gained 1 million users around the world, and in the second year of the platform’s existence this number grew to 2.5 million.","WEBSITE_CONTRIBUTE_WHY_P3":"With your addon, you can easily reach this audience and distribute your video content to them.","WEBSITE_CONTRIBUTE_ALL":"Watch your favourite movies, videos, series and channels in one single place.","WEBSITE_CONTRIBUTE_ALL_P1":"You’re a fan of a particular type of content not available on Stremio yet? Create an addon for it and enjoy watching your favourite videos in one of the largest and easiest to use entertainment hubs on the market.","WEBSITE_CONTRIBUTE_ALL_P2":"On top of that, you’ll get the endless gratitude of other like-minded Stremio community members.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetize your addon and earn money with its help","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Once you develop a new addon for Stremio, you can easily monetize it through a number of different ways. If you are considering this, feel free to get in touch with us at ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - we would be happy to consult and advise you about addon monetization options.","WEBSITE_CONTRIBUTE_TRANSLATE":"Become a volunteer translator","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"If you want to enjoy the Stremio apps in different languages, you can join our community of volunteer translators. They help us add versions of the Stremio in many different languages.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Are you eager to get started?","WEBSITE_TRANSALTE_STREMIO":"Translate Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Official communities","WEBSITE_COMMUNITY_OFFICIALS_P1":"Become a part of the growing Stremio community. Follow us on social media and don’t be shy to say hello - we love hearing from our fans! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Unofficial communities","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Stremio dodaci","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partneri i pomagači","WEBSITE_COMMUNITY_GOODIES":"Stremio dobri","WEBSITE_COMMUNITY_WALLPAPERS":"Wallpaperi","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"Contact us","WEBSITE_CONTACT_US_P1":"If you have any questions, comments or suggestions, feel free to get in touch with us through the contact form below.","WEBSITE_CONTACT_US_P2":"Keep in mind that we are located in Bulgaria so there may be a delay in addressing your query due to time zone differences.","WEBSITE_CONTACT_US_SUCCESS":"Your message has been sent. We will get back to you at our earliest convenience.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Please enter a valid email!","WEBSITE_CONTACT_US_Q_RELATED_TO":"What is your question related to?","WEBSITE_CONTACT_US_Q_OS":"What is your Operation System?","WEBSITE_CONTACT_US_PH_EMAIL":"Your E-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Message","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"SEND","WEBSITE_CONTACT_US_Q_1":"How to install?","WEBSITE_CONTACT_US_Q_2":"How to uninstall?","WEBSITE_CONTACT_US_Q_3":"(HTML) How to make lasagna?","WEBSITE_CONTACT_US_Q_4":"Addons","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Technology","WEBSITE_TECHNOLOGY_P1":"We love technology and mad science. </br> Here is what powers Stremio (it’s all open-source).","WEBSITE_TECHNOLOGY_P_QT":"Cross-platform software development at its best.","WEBSITE_TECHNOLOGY_P_MPV":"A free, open source, and cross-platform media player.","WEBSITE_TECHNOLOGY_P_RN":"React Native lets you build mobile apps using only JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework embedded into application to get multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm is a mobile platform and a replacement for SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js is an open-source, cross-platform, JavaScript runtime environment.","WEBSITE_TECHNOLOGY_P_RUST":"Rust is a multi-paradigm system programming language focused on safety, especially safe concurrency.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribute to the project","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"There are two ways you can contribute to Stremio and help us make the product even better.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"You can donate your valuable language skills by translating the platform...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"or","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... you can employ your coding skills for creating community addons. ","WEBSITE_TRANSLATE_STREMIO":"Translate Stremio","WEBSITE_404_OH_NO":"Uh-oh! The page you’re looking for is not here...","WEBSITE_GO_HOME":"Go home","WEBSITE_LINK_OTHER_DOWNLOADS":"Other downloads","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Support","WEBSITE_DOWNLOAD_4_0_BETA":"Download Now Stremio 4 beta","WEBSITE_GET_FOR_DESKTOP":"Get for desktop","WEBSITE_LINK_ADDON_COMPETITION":"Addon competition","WEBSITE_LINK_ART_CONTEST":"Art contest","WEBSITE_MY_ACCOUNT":"My account","WEBSITE_MAINPAGE_FAQ_001_H1":"What is Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio is a modern media center that gives you the freedom to watch everything you want.","WEBSITE_MAINPAGE_FAQ_002_H1":"How does it work?","WEBSITE_MAINPAGE_FAQ_002_P1":"Once you install Stremio on your device and create an account, all you have to do is to visit the addon catalog and install any addon you want, and you\'re good to go!","WEBSITE_MAINPAGE_FAQ_002_P2":"After that, you can go to the Discover or Board sections to start exploring content.","WEBSITE_MAINPAGE_FAQ_003_H1":"What can I watch here?","WEBSITE_MAINPAGE_FAQ_003_P1":"A lot: Movies, TV shows, Web channels, Sport, TV channels, listen to Podcasts and more. Thanks to our addon system, you can accss a variety of content.","WEBSITE_MAINPAGE_FAQ_004_H1":"Is Stremio open-source?","WEBSITE_MAINPAGE_FAQ_004_P1":"Yes, you can check the following links: ${1}desktop app${2} and ${3}GitHub organization${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Is Stremio safe?","WEBSITE_MAINPAGE_FAQ_005_P1":"Yes: because it is open-source software, the code is publically auditable and you can review it yourself.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"How about my privacy?","WEBSITE_MAINPAGE_FAQ_006_P1":"We respect users\' privacy and do not collect any personal data besides the essential minimum to create and sync your account.","WEBSITE_MAINPAGE_FAQ_006_P2":"There is also a ${1}Guest mode${2} at signup, which requires no data whatsoever: in this mode, no calls are made to our backend. However, it comes at the expense of useful features, such as being able to sync your library across devices.","WEBSITE_MAINPAGE_FAQ_007_H1":"Can I cast to my TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Yes, we support Chromecast and you can cast both from desktop and mobile apps (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"How many addons does Stremio have?","WEBSITE_MAINPAGE_FAQ_008_P1":"As of late 2019, over 50 - for more information, check our addon catalog.","WEBSITE_MAINPAGE_FAQ_009_H1":"Can Stremio be extended beyond what\'s in the addon catalog?","WEBSITE_MAINPAGE_FAQ_009_P1":"Yes, you should check those: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"What devices does Stremio support?","WEBSITE_MAINPAGE_FAQ_010_P1":"We have desktop apps for Windows, Mac and Linux. For mobile, we support Android and iOS, although keep in mind that the iOS is limited in functionality (does not support most addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"There are many Android-based devices which you can run Stremio on, like NVIDIA Shield and Amazon Fire Stick, but we do not support them officially.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Can you add certain content to Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Sorry, we provide no content ourselves, but the more Stremio addons you have installed, the more content you will be able to find.","WEBSITE_MAINPAGE_FAQ_012_H1":"Can Stremio play magnet links?","WEBSITE_MAINPAGE_FAQ_012_P1":"Yes, and it can also play normal HTTP links and torrent files (drag and drop).","WEBSITE_MAINPAGE_FAQ_013_H1":"Can I download a video and watch offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Available offline is an upcoming feature, but if you allow Stremio to cache on your device (from the settings panel) you can watch the videos later without a connection.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nothing works, help me!","WEBSITE_MAINPAGE_FAQ_014_P1":"Are you sure you have installed addons? If yes, check with our ${1}help center${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"How does Stremio sustain it\'s development operations?","WEBSITE_MAINPAGE_FAQ_015_P1":"We run non-intrusive ads occassionally, but we\'re considering moving to a donation model.","WEBSITE_MAINPAGE_FAQ_015_P2":"For more questions, go to our ${1}help center${2}.","HELP_LEARN_MORE":"Help us learn more about you.","LIFESTYLE":"Lifestyle","SPORTS":"Sport","FOOD_HEALTH":"Hrana i zdravlje","BEAUTY_FASHION":"Ljepota i moda","NEWS":"Vijesti","GAMING":"Gaming","SCIENCE_EDUCATION":"Znanost i edukacija","MUSIC":"Glazba","TRAVEL":"Putovanje","LATE_NIGHT":"Late Night","REALITY":"Reality","COMEDY":"Komedija","DIY":"DIY","TECH":"Tech","CINEMA":"Kinomatografija","CONTINUE":"Nastavi","SLOW_LOADING":"Loše učitavanje?","I_GIVE_UP":"PREDAJEm SE","LEARN_MORE":"Saznaj više","POOR_SOURCE":"Ovaj izvor je slabo dostupan ili je Vaša internet konekcija prespora","PICK_CATEGORIES_ERR":"Moraš odabrati najmanje 3 kategorije","ADJUST_TIMING":"Promijeni vrijeme sa ","ADJUST_SIZE":"Promijeni veličinu sa ","SEARCH_ANYTHING":"Pretražuj sve...","ALL_CATEGORIES":"Sve","SEARCH_CATEGORIES":"Filmove, Serije, YouTube & TV","SEARCH_PERSONS":"Glumce, Režisere i Scenografe","SEARCH_PROTOCOLS":"HTTP i Magnet Linkove","SEARCH_TYPES":"IMDB / TVDB linkove","WATCHED":"Pregledano","SHOW_LESS":"Prikaži manje","LAST_SEARCHES":"Posljednje pretrage","CLEAR_HISTORY":"Clear history","CHOOSE_SOME":"ODABERI NEŠTO OD OVOGA:","NO_WEB_REMOTE":"Daljinski upravljač nije moguče učitati","STREMIO_OFFLINE":"Stremio nije povezan","STREMIO_EXPENSIVE_CONNECTION":"Prijenos podataka je skup","USE_DATA":"Korištenje podataka","WARNING":"Upozorenje","MORE_INFO":"Više Informacija ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Učitavanje ...","STREMIO_TV_BACK_TO_LANGUAGES":"Nazad na jezike","STREMIO_TV_REMOTE":"Daljinski upravljač","STREMIO_TV_GO_TO":"Idi na:","STREMIO_TV_OR_SCAN":"ili skeniraj:","STREMIO_TV_ADDON_INSTRUCTIONS":"Molim slijedite upute za instaliranje dodataka.","STREMIO_TV_LIVE_TV":"TV uživo","STREMIO_TV_RESUME_WATCHING":"Nastavi Gledanje","STREMIO_TV_LOADING_BACKGROUND":"Pozadina učitavanja","STREMIO_TV_CHECKING_AUTHENTICATION":"Provjera autentifikacije","STREMIO_TV_LOADING_BOARD":"Ploča učitavanja","STREMIO_TV_LOGIN_HEADER_LINE_1":"Želimo da naši korisnici imaju najbolje moguće personalizirano iskustvo sa našim softverom.","STREMIO_TV_LOGIN_HEADER_LINE_2":"To je razlog zašto vas ljubazno molimo da se prijavite u svoj račun.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Hvala na razumjevanju,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Stremio Tim","STREMIO_TV_REMOTE_INSTRUCTIONS":"Da bi koristili Web daljinski upravljač sa Mobilnim uređajem / Tabletom / PC:","STREMIO_TV_WIFI_SETUP":"Wi-Fi Postavke","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio krug nije detektirao internet vezu.","STREMIO_TV_WIFI_DETAILS_1":"Povezi se sa:","STREMIO_TV_WIFI_DETAILS_2":"stremio-krug","STREMIO_TV_WIFI_DETAILS_3":"Koristi lozinku:","STREMIO_TV_WIFI_DETAILS_4":"stremiokrug","STREMIO_TV_WIFI_DETAILS_5":"Otvori internet preglednik sa:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Default","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"By Last Watched","STREMIO_TV_LIBRARY_SORT_NAME":"By Name","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"By Times Watched","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Season ${1}","STREMIO_TV_STREAMS_LOADING":"Loaded ${1} / ${2} addons...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} addon is still loading...","STREMIO_TV_PLAYER_SETTINGS":"Player settings","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Subtitles delay","STREMIO_TV_PLAYER_AUDIO_DELAY":"Audio delay","STREMIO_TV_PLAYER_VIDEO_SCALING":"Video scaling","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Unsupported stream source","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Failed opening external link","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Not adjustable in audio passthrough mode","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Play with ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Play with libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Switching to libVLC player due to a playback error","STREMIO_TV_ADDONS_TITLE":"Use Stremio on your Phone or PC to install or configure addons and press \\"Sync Addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Note: make sure you are using the same Stremio account","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sync Addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons successfully synchronized","STREMIO_TV_ADDONS_SYNC_FAILED":"Failed to synchronize addons","STREMIO_TV_META_LINK_FAILED":"Failed opening meta link","STREMIO_TV_CATALOG_LOADING":"Catalog still loading...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Interface language updated","STREMIO_TV_SETTINGS_THEME_UPDATED":"Theme updated","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Default Player","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"External Player","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferred Language","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Secondary Preferred Language","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possible playback issues on some devices","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Some video formats might not work","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"No caching","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Default","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Soft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Fast","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Fast","STREMIO_TV_SETTINGS_SERVER_URL":"Streaming server url","STREMIO_TV_SETTINGS_SERVER_VERSION":"Server version","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Unknown","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio version","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Edit server url","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Enter a streaming server url","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Show statistics while loading","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"To read Stremio\'s Privacy Policy, visit:","STREMIO_TV_SETTINGS_TOS_TEXT":"To read Stremio\'s Terms and Conditions, visit:","STREMIO_TV_NAV_SEARCH":"Search","STREMIO_TV_NAV_HOME":"Home","STREMIO_TV_NAV_DISCOVER":"Discover","STREMIO_TV_NAV_LIBRARY":"Library","STREMIO_TV_NAV_MOVIES":"Movies","STREMIO_TV_NAV_SERIES":"Series","STREMIO_TV_NAV_CHANNELS":"Channels","STREMIO_TV_NAV_TV":"Live TV","STREMIO_TV_NAV_SETTINGS":"Settings","STREMIO_TV_NAV_ADDONS":"Addons","STREMIO_TV_LOGIN_TITLE":"Link Account","STREMIO_TV_LOGIN_EXPIRES_IN":"Expires in","STREMIO_TV_LOGIN_STEP_ONE":"Scan QR Code above or go to","STREMIO_TV_LOGIN_STEP_TWO":"Log in to your Stremio account","STREMIO_TV_LOGIN_NEW_LINK":"Request a new link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Login code refreshed","STREMIO_TV_SEARCH_PLACEHOLDER":"Type something","STREMIO_TV_SEARCH_NO_ADDONS":"No addons were requested for catalogs!","STREMIO_TV_SEARCH_BUTTON":"Search","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Search History","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"You can search for Titles, Actors, Channels and more...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Clear Search History","STREMIO_TV_FILTERS_DESCRIPTION":"Choose from one of the filters below","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"Filters","SETTINGS":"Settings","ACCOUNT":"Account","LOGOUT":"Logout","THEMES":"Themes","PLAYBACK":"Playback","PLAYBACK_SPEED":"Playback Speed","AUDIO_TRACKS":"Audio Tracks","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Videos","SERVER":"Server","LINKS":"Links","ABOUT":"About","INTERFACE":"Interface","ANIMATIONS":"Animations","STATUS":"Status","LANGUAGE":"Language","SIZE":"Size","DELAY":"Delay","BOLD":"Bold","OPACITY":"Opacity","TEXT_COLOR":"Text Color","OUTLINE_COLOR":"Outline Color","BACKGROUND_COLOR":"Background Color","BACKGROUND_BLUR":"Background Blur","SEEK_TIME_DURATION":"Seek Time Duration","AUTO_PLAY":"Auto-Play Next Episode","PLAY_NOW":"Play Now","MARK_AS_WATCHED":"Mark as Watched","MARK_AS_UNWATCHED":"Mark as Unwatched","REWIND_TO_BEGINNING":"Rewind to Beginning","CONTINUE_WATCHING":"Continue Watching","ALL":"All","SECONDS":"seconds","ON":"ON","OFF":"OFF","RELOAD":"Reload","EDIT_URL":"Edit URL","NONE":"None","EMBEDDED":"Embedded","REMOTE_SWITCH_DEVICES":"Promijeni uređaj","REMOTE_VIDEOS":"Videi","REMOTE_ADJUST_TIMING":"Namjesti vrijeme","REMOTE_ADJUST_SIZE":"Namjesti veličinu","REMOTE_COULD_NOT_BE_LOADED":"Web daljinski upravljač nije moguće učitati","REMOTE_RETRY":"Pokušaj ponovo","TORRENT_PROFILE_DEFAULT":"Default","TORRENT_PROFILE_SOFT":"Soft","TORRENT_PROFILE_FAST":"Fast","TORRENT_PROFILE_ULTRA_FAST":"Ultra Fast","FAQ_001_H1":"What is Stremio?","FAQ_001_P1":"Stremio is a media center software designed for video entertainment with ease of use in mind. Stremio allows you to organize &amp; watch your own collection of movies, series, channels and live TV.","FAQ_001_P2":"Stremio collect the content it shows you from your local disk and our addons system.","FAQ_001_P3":"It will also notify you when new episodes/videos/movies you\'re interested in come out, and provide movie recommendations for you.","FAQ_02_H1":"How does Stremio compare to Kodi and Plex?","FAQ_02_P1":"We are inspired by those two pieces of software. But we have different goals - Stremio is specifically targeted towards entertainment video, and strives to become the mainstream solution for that by being very easy to use.","FAQ_02_P2":"Stremio will never be as customizable and feature-rich as Kodi and Plex, but it is significantly easier to use. Just ${1} get it and see ${2} :)","FAQ_03_H1":"How does Stremio compare to Netflix?","FAQ_03_P1":"Again, Netflix is one of our inspirations. We strive to achieve the user experience of Netflix, plus a lot of added goodies. But most importantly, we\'re giving you the freedom to manage your own library and add new content sources with our addon system.","FAQ_03_P2":"That makes Stremio infinitely extendable, so when you use Stremio, you\'re never limited to the content Netflix decides to license. For example, through Stremio you can watch content from ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} and even ${9}Netflix${10} itself!","FAQ_04_H1":"How does Stremio compare to Flipboard?","FAQ_04_P1":"We don’t get that question that often, except when talking to start-up people :)","FAQ_04_P2":"Stremio is by design a content aggregator, which essentially makes it Flipboard for video. This is very apparent in our Board section, which gives you catalogues and new episode/new video notifications for what you follow, just like Flipboard.","FAQ_05_H1":"How does Stremio compare to Popcorn Time?","FAQ_05_P1":"Stremio and Popcorn Time are similar in user interface, because there aren’t many ways to do video entertainment catalogues right :)","FAQ_05_P2":"But while Popcorn Time is focused on streaming torrents from specific sources, Stremio is unrestricted and is merely a content aggregator - it’s not locked into a specific content source.","FAQ_05_P3":"Furthermore, we do not provide any torrent addons by default, so Stremio does not cover the Popcorn Time use-case with official functionality.","FAQ_05_P4":"Another notable difference is that Popcorn Time is completely open source, while Stremio is ${1} partially open source${2}.","FAQ_06_H1":"Will you add this movie/series?","FAQ_06_P1":"No, sorry :(","FAQ_06_P2":"As is mentioned in most of the other questions, Stremio does not provide any content by itself - everything is added through the addons system. In case you have a content request, you can use the “Report” button in the Player, which will send an email to the author of the addon you’re currently using.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Will you create addon for X?","FAQ_08_P1":"It\'s entirely possible.","FAQ_08_P2":"If you have an idea for an addon, drop us a line at ${1}office@stremio.com${2}, but please make sure your addon idea will not infringe on any copyrights or terms of use.","FAQ_08_P3":"At the moment, the next things on our roadmap are addons for FandangoNOW, Filmon.tv video on demand and Crunchyroll.","FAQ_09_H1":"Does Stremio use BitTorrent?","FAQ_09_P1":"Yes, Stremio supports BitTorrent as a streaming protocol. You can use that either with a torrent addon, or by drag-and-dropping a .torrent file into Stremio, or by pasting a magnet link into the Search Bar.","FAQ_09_P2":"Please note that the only official addon using BitTorrent is ${1}Vodo${2}, which provides indie content, all permitted to be distributed with BitTorrent.","FAQ_09_P3":"We do not support use of any third-party addons which may enable copyright infringement.","FAQ_10_H1":"What can I watch in Stremio with the official addons?","FAQ_10_P1":"By default, you can watch Filmon.tv, YouTube and Vodo content within Stremio itself, with it’s embedded player. Additionally, we have an addon for Twitch.tv and a few others.","FAQ_10_P2":"This combined provides a selection of:","FAQ_10_L1":"Popular TV channels, provided by Filmon.tv - for example E4, BBC, Bollyworld TV","FAQ_10_L2":"Everything from YouTube - for example BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indie movies with Vodo","FAQ_10_L4":"Online gaming broadcasts with Twitch.tv","FAQ_10_P3":"Additionally, there are many content sources provided with Guidebox and the Netflix addons, which <b>do not</b> play entirely inside Stremio, but would redirect to the given service. For example, the Guidebox addon would give you a selection of movies you can stream in the US for free, from services like TubiTV and Crackle.","FAQ_11_H1":"Stremio won\'t install, what should I do?","FAQ_11_P1":"If you\'re on Windows, try ${1}this alternative installer${2}.","FAQ_11_P2":"If you\'re on Mac OS X, please be aware that we don\'t support anything older than OS X Mavericks (10.9).","FAQ_11_P3":"If you\'re on Linux, be aware that we only support 64 bit (x64) Linux at the moment.","FAQ_11_P4":"If you still can\'t resolve your problem, please write us at our ${1}Facebook group${2}.","FAQ_12_H1":"Why does my anti-virus complain? Is Stremio safe?","FAQ_12_P1":"We assure you Stremio is ${1}100% clean${2}.","FAQ_12_P2":"Your antivirus is complaining because we include advertising in our installer, which some anti-virus programs recognize as ad-ware.","FAQ_12_P3":"If you\'re still unsure, you can try our ${1}alternative installer${2}.","FAQ_13_H1":"How can I make an addon?","FAQ_13_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_13_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_13_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_14_H1":"How are addons published?","FAQ_14_P1":"When you create an addon and host, and put a <b>endpoint</b> field in your manifest, which points to a working addon address, the addon will automatically publish itself to our ${1}Addon catalogue${2}.","FAQ_14_P2":"This happens because the server part of the stremio-addons module automatically makes a call to our API to announce the addon. When our API validates your <b>endpoint</b> as a valid addon, it will start showing in the catalogue.","FAQ_15_H1":"Can I run Stremio in my browser?","FAQ_15_P1":"Not at the moment, but this is coming!","FAQ_15_P2":"If you\'re curious to see an Alpha, you can see it here: ${1}alpha4.strem.io${2}. Keep in mind streaming is disabled on this alpha. We support Chrome, Firefox, Opera and Edge.","FAQ_16_H1":"Casting to TV doesn\'t work / subtitles don\'t work","FAQ_16_P1":"Casting to TV uses the DLNA technology which is very inconsistent between different TV brands and models. For that reason, we do not have the ability to test it in every case, so it\'s far from perfect. Despite this, we\'re working on improving it constantly but we cannot give you a time estimate on when DLNA will start working properly with your TV.","FAQ_16_P2":"If you don\'t even see your TV in the casting menu, please try disabling your network connection and re-enabling it (on Windows, right click the Network and use Enable/Disable), as well as restarting your router, TV and PC.","FAQ_16_P3":"If you are still encountering issues, you can help us by sending your TV brand and model information at ${1}office@stremio.com${2}.","FAQ_16_P4":"In the meantime, we recommend Chromecast, which we support very well, or simply plugging in your TV to your PC with an HDMI cable.","FAQ_17_H1":"Stremio freezes and/or crashes, what can I do?","FAQ_17_P1":"First of all, if you\'re using Windows 7 with AVG anti-virus: we have a problem with that combination. The problem is in AVG itself, and there\'s no reasonable way to resolve it on our end. Unfortunately, exceptions or disabling the anti-virus won\'t work. The only solution is to replace AVG with something else.","FAQ_17_P2":"If that\'s not the issue, but you\'re still using Windows, please update to the latest service pack and update/re-install your GPU drivers, then try again.","FAQ_17_P3":"If you\'re problem is still not resolved, or you\'re using a Mac or Linux, please write us reporting the exact details of the problem at ${1}our Facebook group${2}.","FAQ_18_H1":"How can I make an addon?","FAQ_18_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_18_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_18_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_19_H1":"Why is Stremio taking disk space?","FAQ_19_P1":"Stremio has a <b>local cache</b> to temporarily keep the video files you stream.","FAQ_19_P2":"This has two benefits: first, it allows Stremio to pre-buffer the video ahead so as to ensure smoother streaming. Second, it keeps the videos in the local cache so you can continue watching them offline.","FAQ_19_P3":"How much Stremio keeps depends on the <b>Cache</b> setting in the Settings panel. Stremio may keep up to the set amount (e.g. 2GB) on your disk, unless the currently streamed video is larger than that, in which case it has to allocate enough storage to keep it until you\'re streaming it.","FAQ_20_H1":"Where is the cache folder?","FAQ_20_P1":"On Windows, it\'s stremio-cache in the drive you picked in Settings (e.g. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"On MacOS, it\'s \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"On Linux, it\'s \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"I get \\"Streaming server is not found\\" error, what can I do?","FAQ_21_P1":"If you get this error, it means one of few things:","FAQ_21_P2":"1) You are trying to use an addon backed by YouTube/BitTorrent source, through our ${1}web version${2}. In this case, you should install our desktop version from ${3}our website${4}.","FAQ_21_P3":"2) Something is wrong with your Stremio installation. In this case, try re-installing our latest desktop version from ${1}the website${2}. If this does not help, try disabling anti-virus programs and firewalls, restarting your PC and trying again. If this does not work too, please write us at our ${3}our Facebook group${4}.","FAQ_22_H1":"I cannot see/use most addons on iOS","FAQ_22_P1":"Because of restrictions in the Apple App Store terms and conditions, we have restricted the iOS application only to a particular set of addons.","FAQ_22_P2":"But rest assured - there will be more addons for iOS in the future, and we may also add an integration that will allow you to use all Stremio addons thanks to connecting the iOS app to the Stremio Streaming Server."}')},5657:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Film","TYPE_series":"Sorozat","TYPE_tv":"TV csatorna","TYPE_channel":"Csatorna","TYPE_other":"Egyéb","TYPE_movie_PL":"Filmek","TYPE_series_PL":"Sorozatok","TYPE_tv_PL":"TV csatornák","TYPE_channel_PL":"Csatornák","TYPE_other_PL":"Egyebek","TYPE_ALL":"Minden","TYPE":"Típus","CATALOG_com_linvo_cinemeta_top":"Népszerű","CATALOG_com_linvo_cinemeta_imdbRating":"Kiemelt","CATALOG_com_linvo_cinemeta_year":"Új","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Nyilvánosan Elérhető Filmek","VIDEO":"Videó","BACK":"Vissza","MORE":"Több","DONE":"Kész","COPY":"Másolás","SUCCESS":"Siker","ERROR":"Hiba","SETTINGS_CASTING_MODE_PICKER":"Vezeték nélküli kivetítés mód","CASTING_MODE_HLSV2":"Alapértelmezett","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Nincs átkódolás","Discover":"Felfedezés","Board":"Ajánlatok","Library":"Könyvtár","My Library":"Könyvtáram","Calendar":"Naptár","NOTIFICATION_ONLINE":"Jelenleg online vagy","NOTIFICATION_OFFLINE":"Jelenleg offline vagy","INTERNET_CONNECTION":"Hálózat csatlakoztatva","STORAGE_FULL_TITLE":"Figyelem: a tárhelye megtelt!","STORAGE_FULL_TEXT":"A Stremio nem tudja menteni az Ön beállításait, preferenciáit vagy bejelentkezési adatait. Próbálja meg újraindítani vagy újratelepíteni a Stremio-t.","SEARCH":"Keresés","SEARCH_NO_RESULTS":"Nincs találat","SEARCH_EXPLANATION_CONTENT":"Keressen filmeket, sorozatokat, YouTube- és TV-csatornákat","SEARCH_EXPLANATION_PEOPLE":"Színészek, rendezők és írók keresése","SEARCH_PASTE_LINKS":"Másoljon be HTTP vagy Mágnes linket","SEARCH_OR_PASTE_LINK":"Keressen vagy illesszen be linket","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"Hozzáadás a könyvtárhoz","REMOVE_FROM_LIB":"Eltávolítás a könyvtárból","ADDED_TO_LIB":"Hozzáadva a könyvtárhoz","REMOVED_FROM_LIB":"Eltávolítva a könyvtárból","TRAILER":"Előzetes","WATCH_TRAILER":"Előzetes megtekintése","WATCH_NOW":"Indítás","SHOW":"Tovább","SHOW_MOVIE":"Film megtekintése","WATCH_RANDOM":"Random tartalom megtekintése","IMDB_RATING":"IMDb értékelés","YEAR":"Év","DIRECTOR":"Rendező","WRITER":"Író","LEAD_ACTORS":"Főszereplők","CAST":"Szereposztás","CREW":"Stáb","SHOW_MORE_CAST":"Mutass többet »","AIRED":"Vetítve","SEASONS":"Évadok","GENRE":"Műfaj","GENRE_ALL":"Minden műfaj","CATALOG":"Katalógus","SUMMARY":"Tartalom","SHOW_MORE":"Mutass többet","SIMILAR":"Hasonló","UPCOMING":"Hamarosan érkező","ENDED":"Vége","DURATION":"Időtartam","FEATURED":"Kiemelt","METADATA":"Metaadat","CATEGORY":"kategória","LINKS_GENRES":"Műfajok","LINKS_CAST":"Szereplők","LINKS_DIRECTORS":"Rendezők","SEARCH_VIDEOS":"Videó keresése","SEARCH_PLACEHOLDER":"Keresés vagy URL bemásolása","ADDON":"bővítmény","ADDONS":"Bővítmények","OFFICIAL":"hivatalos","ADDONS_OFFICIAL":"Hivatalos Streamio Bővítmények","ADDONS_POPULAR":"Népszerű a környezetedben","ADDON_FREE":"ingyenes","ADDON_PEERED":"kukucskált","ADDON_SUBSCRIPTION":"előfizetés","ADDON_STREAM_GEORESTRICTED":"Nem erélhető a régiódban","ADDON_STREAM_OFFLINECACHE":"Offline gyorsítótár","ADDON_STREAM_LOCALFILE":"Helyi fájl","SHARE_ADDON":"Addon megosztása","AVAILABLE_STREAMS":"Elérhető streamek","NO_STREAM":"Nincs elérhető stream","ALL_ADDONS":"Minden","INSTALL_MORE_ADDONS":"További streamekért telepítsen további bővítményeket","STREAM_NOT_SUPPORTED":"A kiválasztott stream nem támogatott ezen a felületen.","ADDON_CATALOGUE":"Az összes bővítmény megjelenítése »","ADDON_CATALOGUE_MORE":"További bővítmények »","REPO_ADDED":"Adattár hozzáadva","ADDON_REPO_EXIST_ERR":"Ez a bővítmény tárház már létezik","ADDON_REPO_ERR":"Hiba történt a tár hozzáadása során","ADDON_ADD_ERR":"Hiba történt a bővítmény hozzáadása során","ERR_ADDON_PROTECTED":"Védett bővítmény, nem telepíthető","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Valami hiba történt - a hitelesítés hibára futhatott","ERR_NOT_COLLECTION_URL":"Nem gyűjtemény URL-je","ERR_NOT_ADDON_URL":"Hibás bővítmény URL","ERR_DETECTFROMURL":"Nem található gyűjtemény/bővítmény az URL-en.","ADDON_DUPLICATE_WARNING":"Figyelmeztetés: duplikált bővítmény","ADDON_COLLECTION_SET_FAILED":"A bővítmények szinkronizálása a fiókodba sikertelen volt.","SETTINGS_DATA_EXPORT":"Felhasználói adatok exportálása","ADDON_PULL_FAILED":"A bővítmények szinkronizálása a fiókodból sikertelen volt","REFRESH_ON_CLICK":"Kattintson az újrapróbálkozáshoz","STILL_IN_THEATER":"A filmet még moziban játsszák","WATCH_IN_CINEMA":"Elérhető a közeli moziban","IN_THEATER":"A moziban","GET_TICKETS":"Szerezz jegyet","UPCOMING_EPISODE":"Közelgő epizód","UPCOMING_EPISODE_MESSAGE":"Ez az epizód adásba kerül","MISSING_DATE_EPISODE":"Hiányzik az epizód dátuma","MISSING_DATE_EPISODE_MESSAGE":"Lehet, hogy ez az epizód még nem került adásba","CHANNEL_NOT_SCRAPED":"Ez a csatorna még nincs tárolva.<br>Kérem, térj vissza pár perc múlva.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Add hozzá a könyvtáradhoz és értesítünk, amikor elérhetővé válik.","GET_NOTIFIED_WHEN_AVAILABLE":"Értesítünk, amikor elérhetővé válik.","WARNING_STREAMING_SERVER":"Figyelmeztetés: a helyi streaming szerver nem található. Helyi fájlok, YouTube és BitTorrent streamelése nem elérhető.","WARNING_STREAMING_SERVER_DISMISS":"Elvetés","WARNING_STREAMING_SERVER_LATER":"Később","DECODER_WARNING":"Figyelmeztetés: előfordulhat, hogy ezt a videót az Ön hardvere nem támogatja. A lejátszás lassú lehet.","GENERIC_ERROR_MESSAGE":"Valamilyen hiba történt!","TRY_AGAIN":"Újrapróbálkozás","CLEAR_DATA":"Adatok törlése","PLAYER_ERROR":"Hoppá, lejátszási hiba","PLAYER_ERROR_LOOKSLIKE":"Úgy néz ki","PLAYER_ORIENTATION":"Lejátszó orientáció","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Zárt","PLAYER_ORIENTATION_SENSOR_SHORT":"Érzékelő","PLAYER_ORIENTATION_LANDSCAPE":"A lejátszó tájolása fekvő helyzetben rögzítve","PLAYER_ORIENTATION_SENSOR":"Automatikus lejátszó orientáció (érzékelő)","PLAYER_PLAYBACK_SPEED":"Lejátszási sebesség","PLAYER_PLAYBACK_ERROR":"Lejátszási hiba, próbáld újra","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Ismeretlen hiba","PLAYER_PLAYBACK_ERROR_DEFAULT":"Sajnáljuk, ezt a videót nem lehet lejátszani ezzel: {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Feliratok nyelvei","PLAYER_SUBTITLES_VARIANTS":"Feliratok változatai","PLAYER_SUBTITLES_SETTINGS":"Feliratok beállításai","PLAYER_SUBTITLES_DISABLED":"A feliratok le vannak tiltva","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Függőleges helyzet","PLAYER_SUBTITLES_LOADED":"Feliratok betöltve","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Beágyazott feliratok betöltve","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Exkluzív feliratok betöltve","PLAYER_SUBTITLES_LOADED_ORIGIN":"Feliratok betöltve innen: {{origin}}","PLAYER_PLAY":"Lejátszás","PLAYER_PAUSE":"Szünet","PLAYER_NEXT_VIDEO":"Következő Videó","PLAYER_MUTE":"Némítás","PLAYER_UNMUTE":"Némítás feloldása","PLAYER_OPEN_IN_EXTERNAL":"Megnyitás külső lejátszóban","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Lejátszás ezzel: {{device}}","PLAYER_LIVE":"Élő","PLAYER_NEXT_VIDEO_TITLE":"Következik","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Elvetés","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Nézd meg most","PLAYER_COPY_STREAM_SUCCESS":"Az stream linkje a vágólapra másolva","PLAYER_COPY_STREAM_ERROR":"Az stream linkjének másolása sikertelen","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","STREAMING_FROM":"lejtászás innen","CASTING_TO":"Kivetítve erre","NETWORK_STATUS":"Hálózati státusz","STREAM_SPEED":"Letöltés sebessége:","STREAM_BUFFERED":"Betöltve:","PEERS_INFO":"Kapcsolatok","PEERS_ACTIVE":"Aktív:","PEERS_CONNECTED":"Kapcsolódva:","PEERS_WAITING":"Várakoznak:","TRANSCODING_WARNING":"Figyelmeztetés: videó átkódolása.","STREAM_LOADING":"betöltés...","PLAYING_LOCAL":"lejátszás helyi fájlból","PLAYING_CACHE":"lejátszás gyorsítótárból","WRONG_SUBS":"Hibás felirat?","ERR_SUBS_LOADING_TITLE":"Hiba a feliratok betöltése közben","ERR_SUBS_LOADING":"Nem sikerült betölteni a feliratokat: a problémát az Ön által használt bővítmény vagy a hálózati kapcsolata okozhatja","WARN_FOLLOWING_SUB_ADDONS_FAILED":"A következő felirat-bővítmények hibára futottak","ERR_CASTING_UPDATE_TITLE":"Nem sikerült frissíteni az kivetítő eszköz adatait: lehet, hogy a streaming szerver offline állapotban van","CHOOSE_DEVICE":"Válassz egy készüléket a lejátszáshoz","NO_CAST_DEVICES":"Nincsenek kivetítésre alkalmas eszközök.","NO_SETTINGS":"Nincsenek elérhető beállítások.","PHONE_TABLET":"Telefon / Táblagép","SUBTITLES":"Feliratok","SUBTITLES_CHANGE":"Másik felirat választása a következő nyelvhez: ","SUBTITLES_CHANGE_NONE":"Sajnáljuk, nincs másik elérhető felirat ehhez a nyelvhez.","SUBTITLES_CHANGE_ACIVE":"Jelenleg a következő feliratok aktívak: &#35;{{subtitlesDialog.activeIdx + 1}}. Kattints a \\"Folytatás\\" gombra, hogy aktiváld a következő feliratokat: &#35;{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Alternatív megoldásként","SUBTITLES_ADJUST_DELAY":"Felirat késleltetésének beállítása:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Vagy használja <span>G</span> / <span>H</span> billentyűket lejátszás közben a beállításhoz.","SUBTITLES_ADJUST_DELAY_TIP":"TIPP: használhatod a <span>G</span> / <span>H</span> billentyűket lejátszás közben a beállításhoz.","SUBTITLES_DELAY":"Feliratok késleltetése:","SUBTITLES_LOADING":"Feliratok betöltése...","SUBTITLES_UNAVAILABLE":"Nem érhető el külső felirat","SUBTITLES_DISABLED":"Tiltva","EXTERNAL_PLAYER_DISABLED":"Tiltva","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Választás engedélyezése","EXTERNAL_PLAYER_HINT":"Tipp: Van egy beállítás, amely lehetővé teszi a mindig külső lejátszóval való megnyitást","DONT_SHOW_AGAIN":"Ne mutasd újra","SERVICE_INSTALL":"Telepítés","AUDIO":"Hang","DEFAULT_LANGUAGE":"Alapértelmezett nyelv","DEFAULT_SECONDARY_LANGUAGE":"Alapértelmezett másodlagos nyelv","SEASON":"Évad","EPISODE":"Epizód","EPISODE_ABBREVIATION":"EP","SPECIAL":"Különleges","SORT":"rendez","SORT_BY":"Rendezés","FILTER":"szűrő","SORT_TRENDING":"Nézettség","SORT_RECENT":"legújabbak","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"értékelés","SORT_WATCHED":"megtekintve","SORT_YEAR":"év","SELECT_TYPE":"Típust kiválasztása","SELECT_SORT":"Rendezés kiválasztása","SELECT_CATALOG":"Katalógust kiválasztása","SELECT_GENRE":"Műfaj kiválasztása","SORT_LASTWATCHED":"Utoljára megtekintve","SORT_NAME":"Név szerint","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"Nézett idők szerint","SORT_NOTWATCHED":"not watched","New for You":"Újdonságok Neked","New Episodes":"Új Epizódok","New Videos":"Új Videók","Recommendations":"Ajánlások","LIBRARY_RESUME":"Folytatás","LIBRARY_PLAY":"Lejátszás","LIBRARY_DETAILS":"Részletek","LIBRARY_RESUME_DISMISS":"Elvetés","LIBRARY_CLEAR_PROGRESS":"Eddigiek törlése","LIBRARY_REMOVE":"Eltávolítás","LIBRARY_NOT_LOGGED_IN":"A könyvtár csak bejelentkezett felhasználók számára érhető el","CALENDAR_NOT_LOGGED_IN":"A naptár csak bejelentkezett felhasználók számára érhető el","NOT_LOGGED_IN_CLOUD":"Bármikor, bárhol elérheti kedvenc filmjeit és TV-műsorait","NOT_LOGGED_IN_RECOMMENDATIONS":"A megtekintési előzményekhez szabott ajánlások","NOT_LOGGED_IN_NOTIFICATIONS":"Soha többé ne hagyj ki egy epizódot","NOT_LOGGED_IN_CALENDAR":"Ütemezze be személyes megtekintési naptárát","DISCOVER_FEATURED":"Kiemelt","DISCOVER_TOP":"Népszerűek","DISCOVER_OSCAR":"Oscar nyertesek","DISCOVER_WARNING_TITLE":"Hoppá!","DISCOVER_EMPTY_CATALOG":"Ez a bővítmény üres tartalmat adott vissza.","DISCOVER_ADULT_WARNING":"A tartalom csak felnőttek számára látható. Elmúltál 18 éves?","DISCOVER_NOADDON_WARNING":"Figyelmeztetés: nincs bekapcsolt Stremio bővítmény ehhez a típushoz. Elmentett adatokat mutatunk, semmi sem fog frissülni.","DISCOVER_LOAD_ERR":"A tartalom nem töltődött be, hiba történt.","DISCOVER_ADDON_UNINSTALLED":"Ez a tartalom már nem érhető el, előfordulhat, hogy eltávolítottad a bővítményt.","UNINSTALL_THIS_ADDON":"Távolítsa el ezt a bővítményt","ERR_ADDON_NOT_INSTALLED":"Ez a bővítmény nincs telepítve. ","DETAIL_RECEIVE_NOTIF_SERIES":"Kapj értesítéseket új epizódokról","DETAIL_RECEIVE_NOTIF_VIDEOS":"Kapj értesítéseket új videókról","SIDEBAR_SHOW_STREAMS":"Streamek megjelenítése","RELAUNCH":"Újraindítás most!","UPGRADE":"Új verzió érhető el! Frissíts a legújabb Stremio verzióra","RELOAD_UI":"Felhasználói felület újratöltése","MANUAL_UPDATE_TITLE":"Frissítsd a Stremio verzióját","MANUAL_UPDATE_LINE1":"Egy már nem támogatott verzióját futtatod a Stremionak, mely erősen nem ajánlott.","MANUAL_UPDATE_LINE2":"Kérjük minél hamarabb frissíts","BUTTON_UPDATE_LATTER":"Ne most","BUTTON_UPDATE_NOW":"Frissítés","ANONYMOUS_USER":"Névtelen felhasználó","DONT_HAVE_ACC":"Nincs fiókod?","HAVE_ACC":"Van már fiókod?","PASSWORD":"Jelszó","PASSWORD_CONFIRM":"Jelszó megerősítése","EMAIL":"Email","FB_LOGIN":"Bejelentkezés Facebookkal","FB_NOTHINGSHARED":"Semmit nem osztunk meg a beleegyezésed nélkül","FB_NOPOST":"Semmit sem fogunk a nevedben posztolni","OR":"vagy","I_ACCEPT":"Elfogadom a","I_ACCEPT_BY_CLICKING":"A fenti gombra kattintva tanúsítom, hogy elfogadom a ","TOS":"felhasználói feltételeket","MUST_ACCEPT_TERMS":"El kell fogadnod a feltételeket","PASSWORDS_NOMATCH":"Jelszó nem egyezik","SIGN_UP":"Regisztráció","SIGN_UP_EMAIL":"Regisztráció email-lel","CLICK_TO_SIGN_UP":"Kattints ide a regisztrációhoz.","LOG_IN":"Bejelentkezés","LOG_OUT":"Kijelentkezés","EXIT_FULLSCREEN":"Kilépés teljes képernyőből","ENTER_FULLSCREEN":"Teljes képernyős mód","PLAY_URL_MAGNET_LINK":"URL/Mágnes link lejátszása","HELP_FEEDBACK":"Segítség & Visszajelzés","TERMS_OF_SERVICE":"Általános Szerződési Feltételek","PRIVACY_POLICY":"Adatvédelmi irányelvek","ABOUT_STREMIO":"A Stremioról","USER_PANEL":"Felhasználói panel","LOGIN_LABEL":"Belépés","GUEST_LOGIN":"Vendég belépés","GUEST_LOGIN_NOTICE":"A Vendég bejelentkezés nem javasolt. A normál bejelentkezéssel a Stremio szinkronizálja a köyvtáradat és értesítéseket küldhet a kedvenc filmjeidről/sorozataidról. Biztosan folytatod?","GUEST_LOGIN_NOTICE_2":"A Vendég bejelentkezés nem ajánlott – nem lesznek szinkronizált könyvtári és tábla-értesítései, amelyek a Stremio létfontosságú funkciói. Biztosan folytatod?","CLICK_HERE":"Kattins ide","WRONG_PASSWORD":"Hibás email vagy jelszó. Amennyiben elfelejtetted a jelszavadat,","SET_A_PASS":"állíts be jelszót","RESET_PASSWORD":"Jelszó visszaállítása","FORGOT_PASSWORD":"Elfelejtett jelszó?","EMAIL_USED_WITH_FB":"Ez az email már hozzá van rendelve egy Facebookos regisztrációhoz.","INVALID_EMAIL":"Kérjük, adj meg egy valós email címet","INVALID_PASSWORD":"Kérjük, adj meg egy valid jelszót","CONN_ERR":"Csatlakozási hiba – próbálkozzon újra később.\\n\\n","IMPORT_FROM_GUEST":"Könyvtár importálása vendégfiókjából","RECEIVE_UPDATES_EMAIL":"Frissítéseket kaphat e-mailjére a Stremiótól","LOGIN_FAILED":"Bejelentkezés sikertelen.","SIGNUP_FAILED":"A regisztráció sikertelen.","SEARCH_FAILED":"A keresés sikertelen","EMAIL_USED":"Ez az email cím már foglalt.","WAITING_FB_LOGIN":"Bejelentkezés Facebookkal...","EXTERNAL_PLAYER_TITLE":"Lejátszás külső lejátszóban","EXTERNAL_REMEMBER_PLAYER":"Szeretnél emlékezni a választásodra","EXTERNAL_ALWAYS_PLAY":"Igen","EXTERNAL_ONLY_ONCE":"Nem","BEST_FIT":"Legjobban illeszkedő","FIT_SCREEN":"Képernyőhöz igazítás","FILL":"Kitöltés","16:9":"16:9","4:3":"4:3","Original":"Eredeti","INTRO_TASTE":"Mondd el nekünk, hogy mit szeretsz","INTRO_TASTE_LONG":"Mondd el nekünk, hogy mit szeretnél nézni","INTRO_TASTE_PICK":"Válassz {{interestsRemaining}} érdeklődési kört","INTRO_TASTE_PICK_MORE":"Válassz további {{interestsRemaining}} érdeklődési kört","INTRO_TASTE_HELP_US":"Segíts nekünk többet megtudni magadról!","INTRO_TASTE_CHOOSE_THESE":"Válasszon ezek közül néhányat:","INTRO_TASTE_CHOOSE_MIN":"Válasszon legalább 3 kategóriát","INTRO_TASTE_CHOOSE_MIN_ERR":"Legalább 3 kategóriát kell kiválasztanod!","INTRO_TASTE_LIFESTYLE":"Életmód","INTRO_TASTE_SPORTS":"Sport","INTRO_TASTE_FOOD_HEALTH":"Étel & Egészség","INTRO_TASTE_BEAUTY_FASHION":"Szépség & Divat","INTRO_TASTE_NEWS":"Hírek","INTRO_TASTE_GAMING":"Gaming","INTRO_TASTE_SCIENCE_EDU":"Tudomány & Oktatás","INTRO_TASTE_MUSIC":"Zene","INTRO_TASTE_TRAVEL":"Utazás","INTRO_TASTE_LATE_NIGHT":"Late Night Show","INTRO_TASTE_REALITY":"Valóság","INTRO_TASTE_COMEDY":"Komédia","INTRO_TASTE_DIY":"Hogyan barkácsoljunk","INTRO_TASTE_TECH":"Tech","INTRO_TASTE_CINEMA":"Mozi","ADDON_NOT_SUPPORTED":"A kiválasztott bővítmény nem támogatott ezen a felületen.","ADDON_DISCLAIMER":"Harmadik féltől származó bővítmények használata mindig a felhasználó felelőssége, a felhasználó tartózkodási területén életben lévő törvényeket tiszteletben tartva.","ADDON_ACTIVATE":"Bekapcsolod ezt a bővítményt?","ADDON_REPO_ADD":"Bővítmény gyűjtemény URL-je","ADDON_ADD":"Hozzáadás","INSTALL_ADDON":"Bővítmény telepítése","ADD_ADDON":"Bővítmény hozzáadása","ADD_ADDON_DESCRIPTION":"Külső hivatkozáson keresztül is hozzáadhat bővítményt, amely a Telepített bővítmények alatt jelenik meg.","PASTE_ADDON_URL":"Illessze be a bővítmény URL-címét","WHATS_NEW":"Újdonságok","BUTTON_CONTINUE":"Folytatás","BUTTON_ACTIVATE":"Aktiválás","BUTTON_ACTIVATED":"Aktív","BUTTON_CANCEL":"Mégse","BUTTON_SUBMIT":"Beküldés","BUTTON_DISMISS_ALL":"Mindet elutasít","BUTTON_VIEW_ALL":"összes megtekintése","BUTTON_SEE_ALL":"Összes megtekintése","BUTTON_COLOR_TRANSPARENT":"Átlátszó","OPEN_IN_BROWSER":"Megnyitás böngészőben","LIB_EMPTY":"A könyvtárad üres. ","HOW_START":"Használatához ennyit kell tenned:","LIB_EMPTY_CAL":"A naptárad a könyvtáradban található sorozatokat mutatja.","HOW_START_CAL":"Sorozatok hozzáadásához a következőket kell tenni:","LIB_EMPTY_BOARD":"Az ajánlatok fül értesítéseket","HOW_START_BOARD_WAIT":"kérd, addj pár sorozatot és csatornát a könyvtáradhoz, és mi pár perc alatt feldolgozzuk :)","HOW_START_BOARD":"Így adhatsz hozzá sorozatokat","IMPORT_FB":"Importálj általad kedvelt tartalmakat a <span>Facebookról</span>","IMPORT_TRAKT":"Importáld médiakönyvtárad a <span>Traktról</span>","IMPORT_DISCOVER":"Keress érdekes tartalmakat a <span>Felfedezés</span> fülről","IMPORT_DISK":"Importálj filmeket és sorozatokat a <span>helyi lemezedről</span>","PLEASE_CREATE_ACC":"Kérjük, <u>hozzon létre egy fiókot</u> a könyvtár szinkronizálásának engedélyezéséhez.","IMPORT_DISCOVER_SIGNUP":"Regisztráljon, és találjon érdekes dolgokat a <span>Felfedez</span> fülről","IMPORT_DISK_SIGNUP":"Regisztráljon, és importáljon filmeket vagy sorozatokat a <span>helyi lemezről</span>","LIB_EMPTY_CLOUD":"Felhőkönyvtár","LIB_EMPTY_CLOUD_DESC":"Személyes felhőkönyvtár minden eszközön szinkronizálva","LIB_EMPTY_EARLY":"Korai","LIB_EMPTY_EARLY_DESC":"Értesítéseket kaphat az új epizódokról","LIB_EMPTY_PERSONAL":"Személyes","LIB_EMPTY_PERSONAL_DESC":"Kapj személyes ajánlásokat","LIB_EMPTY_CALENDAR_DESC":"Ütemezze be személyes megtekintési naptárát","LIB_EMPTY_ALL":"Regisztráljon, hogy mindezt megkapja:","LIB_EMPTY_BEST":"Regisztráljon, hogy a legtöbbet hozhassa ki a Stremióból","LIB_EMPTY_OTHER":"Regisztrálj a naptár és további király funkciók engedélyezéséhez","CALENDAR_ADDED":"A Stremio naptár hozzáadásra került az alapértelmezett asztali naptárhoz.","CALENDAR_ADDED_MSG":"Ha ez nem működik, kérjük, kézzel adja hozzá ezt az URL-t a naptáralkalmazáshoz","TRAKT_EXPIRED":"A Trakt hitelesítés lejárt, lépjen a Beállításokba, és hitelesítse újra","TRAKT_REQUIRES_LOGIN":"Trakt hiba","TRAKT_REQUIRES_LOGIN_MSG":"Be kell jelentkezned","TRAKT_IMPORT_WATCHED":"Import","THEME":"Téma","THEME_DEFAULT":"Alapértelmezett","THEME_ADAPTIVE":"Adaptív","SETTINGS_LABEL":"Beállítások","SETTINGS_NAV_GENERAL":"Általános","SETTINGS_NAV_PLAYER":"Lejátszó","SETTINGS_NAV_STREAMING":"Streamelés","SETTINGS_NAV_SHORTCUTS":"Gyorsbillentyűk","SETTINGS_SHORTCUT_RELOAD_APP":"Alkalmazás újratöltése","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Beállítások megnyitása","SETTINGS_SHORTCUT_SWITCH_TABS":"Váltás a lapok között","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Lapozzon előre","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Lapozzon visszafelé a lapokon","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigálás a menük között","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Lépjen a Keresés elemre","SETTINGS_SHORTCUT_EXIT_BACK":"Kilépés / Visszalépés","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Lejátszási sebesség menü ki-/bekapcsolása","SETTINGS_SHORTCUT_MENU_VIDEOS":"Videó menü ki/bekapcsolása","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Feliratok menü ki-/bekapcsolása","SETTINGS_SHORTCUT_MENU_INFO":"Infó menü ki-/bekapcsolása","SETTINGS_SHORTCUT_FULLSCREEN":"Teljes képernyő ki-/bekapcsolása","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Vezérlők megjelenítése","SETTINGS_SHORTCUT_PLAY_PAUSE":"Lejátszás / Szünet","SETTINGS_SHORTCUT_VOLUME_UP":"Hangosítás","SETTINGS_SHORTCUT_VOLUME_DOWN":"Lehalkítás","SETTINGS_SHORTCUT_SEEK_NEXT":"Következőhöz tekerés","SETTINGS_SHORTCUT_SEEK_PREV":"Előzőhöz tekerés","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Visszafele tekerés","SETTINGS_SHORTCUT_SEEK_FORWARD":"Előre tekerés","SETTINGS_SHORTCUT_PLAY_NEXT":"Következő lejátszása","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Feliratok méretének növelése","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Feliratok méretének csökkentése","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Feliratok késleltetésének növelése","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Feliratok késleltetésének csökkentése","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Oldalsáv ki-/bekapcsolása","SETTINGS_SHORTCUT_OR":"vagy","SETTINGS_SHORTCUT_TO":"-","SETTINGS_SHORTCUT_SPACE":"Szóköz","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Hitelesítés","SETTINGS_FACEBOOK_IMPORT":"Importálás","SETTINGS_CALENDAR_SUBSCRIBE":"Feliratkozás","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Kezelőfelület nyelve","SETTINGS_LAUNCH_STARTUP":"Alkalmazás indítása bekapcsoláskor","SETTINGS_VLC_DEFAULT":"Lejátszás VLC-vel","SETTINGS_UI_LANGUAGE":"Felhasználói felület nyelv","SETTINGS_UI_ZOOM":"Kezelőfelület nagyítás","SETTINGS_FULLSCREEN_EXIT":"Kilépés a teljes képernyőről","SETTINGS_GAMEPAD":"Játékvezérlő támogatás engedélyezése","SETTINGS_CLOSE_WINDOW":"Zárja be az alkalmazást, ha az ablak be van zárva","SETTINGS_SUBTITLES_LANGUAGE":"Feliratok alapértelmezett nyelve","SETTINGS_SUBTITLES_SIZE":"Alapértelmezett feliratméret","SETTINGS_SUBTITLES_BACKGROUND":"Feliratok háttér","SETTINGS_SUBTITLES_COLOR":"Feliratok színe","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Feliratok körvonalának színe","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Feliratok háttérszíne","SETTINGS_SEEK_KEY":"A nyilakkal tekerésre használhatók","SETTINGS_SEEK_KEY_SHIFT":"A nyilakkal tekerni lehet, ha a Shift le van nyomva","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Előre- és visszatekerés hossza","SETTINGS_BINGE":"A következő epizód automatikus lejátszása","SETTINGS_NEXT_VIDEO":"Értesítés megjelenítése a következő epizód elindításához","SETTINGS_NEXT_VIDEO_TRIGGER":"Értesítés megjelenítése a következő epizódról:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Következő videó előugró ablak időtartama","SETTINGS_PLAY_IN_BACKGROUND":"Lejátszás a háttérben","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Lejátszás külső lejátszóban","SETTINGS_RESIZE":"Az ablak automatikus átméretezése lejátszás előtt","SETTINGS_OVERRIDE_SERVER":"A streaming szerver URL-jének felülírása (speciális)","SETTINGS_SERVER_URL":"Streaming szerver URL-je: ","SETTINGS_SERVER_AVAILABLE":"Streaming szerver elérhető.","SETTINGS_SERVER_UNAVAILABLE":"Streaming szerver nem érhető el.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Hiba","SETTINGS_SERVER_CONFIGURE_TITLE":"A streaming szerver URL-jének konfigurálása","SETTINGS_SERVER_CONFIGURE_INPUT":"Adja meg a streaming szerver URL-címét","SETTINGS_SERVER_CACHE_SIZE":"Gyorsítótár mérete","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent profil","SETTINGS_HTTPS_ENDPOINT":"Streaming HTTPS végpont: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Mindig használja a legújabb Bétát","SETTINGS_IMPORT_FB":"Importálás Facebookról","SETTINGS_IMPORT_DISK":"Importálás helyi lemezről","SETTINGS_IMPORT_TRAKT":"Importálás a Traktból","SETTINGS_PAUSE_MINIMIZED":"Lejátszás szüneteltetése lekicsinyítés során","SETTINGS_HWDEC":"Hardveresen gyorsított dekódolás","SETTINGS_BACKGROUND":"Lejátszás a háttérben","SETTINGS_SUBSCRIBE_CALENDAR":"Feliratkozás naptárra","SETTINGS_REQ_EXPORT":"Adatexportálás kérése","SETTINGS_ACC_DELETE":"Fiók törlésének kérése","SETTINGS_CHANGE_PASSWORD":"Jelszó megváltoztatása","SETTINGS_TOS":"Általános Szerződési Feltételek","SETTINGS_SUPPORT":"Kapcsolat felvétele","SETTING_LANGUAGE":"Nyelv","SETTINGS_TRAKT":"Megtekintési szokások megosztása a Trakt-tal","SETTINGS_TRAKT_LOGOUT":"Jelentkezzen ki a Trakt.tv-ből","SETTINGS_TRAKT_LOGOUT_2":"Jelentkezzen ki a Traktból","SETTINGS_SCAN_FOR_REMOTE":"A távirányító megnyitásához olvassa be a QR-kódot","SETTINGS_DESKTOP_NOTIFICATIONS":"Asztali értesítések","SETTINGS_DATA_SAVER":"Adatmegtakarítás","SETTINGS_LANGUAGE_INTERFACE":"felület","SETTINGS_LANGUAGE_SUBS":"alapértelmezett feliratok","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Automatikus hangsáv kiválasztása","SETTINGS_DEFAULT_AUDIO_TRACK":"Alapértelmezett hangsáv","SETTINGS_SURROUND_SOUND":"Térbeli hangzás","SETTINGS_ACCOUNT":"fiókot","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"Verzió","SETTINGS_ABOUT":"Rólunk","SETTINGS_MPV_WINDOW":"Indítsa el a lejátszót egy külön ablakban (speciális)","SETTINGS_PLAY_IN_EXTERNAL":"Mindig indítsa el a videót a külső lejátszóban","SETTINGS_STORAGE_BUTTON":"Helyi tárhely törlése","SETTINGS_STORAGE_MODAL_TITLE":"Biztos vagy ebben ?","SETTINGS_STORAGE_MODAL_MESSAGE":"Ezzel törli a helyi tárhelyet, és kijelentkezik.","SETTINGS_HWDEC_PICKER":"Válasszon hardveresen gyorsított dekódolási beállítást","SETTINGS_HW_AUTOMATIC":"Automatikus","SETTINGS_HW_DISABLED":"Tiltva","SETTINGS_HW_ACCELERATED":"Dekódolási gyorsítás","SETTINGS_HW_FULL":"Teljes gyorsítás","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Tiltva","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Távoli szerver URL-je","SETTINGS_COPY_REMOTE_URL":"Távoli szerver URL másolása","SETTINGS_REMOTE_URL_COPIED":"A távoli szerver URL-jét a vágólapodra másoltuk","SETTINGS_SECTION_SUBTITLES":"Feliratok","SETTINGS_SECTION_AUDIO":"Hang","SETTINGS_SECTION_CONTROLS":"Vezérlők","SETTINGS_SECTION_AUTO_PLAY":"Automatikus lejátszás","SETTINGS_SECTION_ADVANCED":"Fejlett","SUBSPICKER_AUDIO":"Hang","SUBSPICKER_SUBTITLES":"Bővítmények feliratai","SUBSPICKER_BLACK_BACKGROUND":"Használjon fekete háttérszínt","SUBSPICKER_VERTICAL_OFFSET":"Függőleges eltolás","SUBSPICKER_SIZE":"Méret","SUBSPICKER_DELAY":"Késleltetés","SUBSPICKER_EMBEDDED_SUBS":"Beágyazott feliratok","MOBILE_PRIVACY_POLICY":"Adatvédelmi irányelvek","MOBILE_CRASH_REPORTING":"Összeomlás jelentése","MOBILE_ZOOM_TO_FILL":"Nagyítás a képernyő kitöltéséhez","MOBILE_PASSTHROUGH":"Digitális audio kimenet (passthrough)","MOBILE_RUN_LOW_BATTERY":"Alacsony akkumulátoros működés","MOBILE_RUN_FOREGROUND":"Futtassa előtér-szolgáltatásként","MOBILE_PERFORMANCE":"TELJESÍTMÉNY & STABILITÁS","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"A QR-kód lejár ","MOBILE_LOG_INTO":"Jelentkezzen be Stremio-fiókjába ","MOBILE_SCAN_QR":"Olvassa be a fenti QR-kódot, vagy lépjen a következő helyre ","MOBILE_LINK_ACCOUNT":"Fiók összekapcsolása","MOBILE_SPEEDPICKER_CANCEL":"Mégse","MOBILE_SPEEDPICKER_LABEL":"Lejátszási sebesség kiválasztása","MOBILE_EMPTY_LIBRARY":"A könyvtára üres","MOBILE_NO_ADDON_ACTIVE":"Nincs aktív Stremio-bővítmény ehhez a típushoz.","MOBILE_ORGANIZER_WARNING":"A Stremio Organizer alkalmazás korlátozott funkcionalitást biztosít. Az elérhető streamek listájáért és a teljes Stremio élményért használd az asztali alkalmazást.","MOBILE_ADDON_LOADING":"még mindig töltődik","MOBILE_ADDONS_LOADING":"a bővítmények még mindig töltődnek","MOBILE_ADDON":"Hozzáad","MOBILE_CONFIGURE_ADDON":"Konfiguráld a bővítményt","MOBILE_CONFIGURE_ADDON_LABEL":"Bővítmény konfigurálása","MOBILE_ORGANIZER_ADDONS_WARNING":"A Stremio Organizer alkalmazás a bővítmények korlátozott választékát kínálja. A teljes Stremio élményért használd az asztali alkalmazást!","MOBILE_DISCONNECT":"Leválasztás","MOBILE_LOOKING_FOR_DEVICES":"Eszközök keresése...","MOBILE_CAST_TO":"Kivetítés ide","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Fiók törlése","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"A fiók törlése jogi kötelezettségek miatt nem azonnali. Miután kérte fiókja törlését, a jövőben új Stremio-fiók létrehozásához más e-mail címet/facebook-profilt kell használnia.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Erősítse meg a fiók törlését","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Fiókod a Facebook használatával jött létre. Ha törölni szeretné fiókját, kérjük, használja felhasználói portálunkat a www.stremio.com/login címen.","MOBILE_DELETE_ACCOUNT_MESSAGE":"Kérjük, adja meg jelszavát a fiók törlésének megerősítéséhez.","MOBILE_DELETE_ACCOUNT_BUTTON":"Fiók törlése","NAVIGATION_ON":"Be","NAVIGATION_OFF":"Ki","MARKETING_AGREE":"Hozzájárulok ahhoz, hogy marketingkommunikációt kapjak a Stremiótól","QUIT":"Kilépés","CONNECTED":"Csatlakoztatva","AUTHENTICATE":"Bejelentkezés","CACHING":"Gyorsítótárazás","SETTINGS_CACHING_DRIVE":"Gyorsítótár meghajtó","ENABLE_LOCAL_FILES_ADDON":"A helyi fájlok bővítmény engedélyezése (újraindítás szükséges)","LOCAL_ADDON_NOT_ENABLED":"A helyi bővítmény nincs engedélyezve. Kattints ide, hogy a beállításokban engedélyezd!","ENABLE_REMOTE_HTTPS_CONN":"Távoli HTTPS-kapcsolatok engedélyezése","TORRENT_PROFILE":"Torrent profil","DATA_CACHING":"Adatgyorsítótár","MAGNET_PARSING":"Mágnes link elemzése","January":"január","February":"február","March":"március","April":"április","May":"május","June":"június","July":"július","August":"augusztus","September":"szeptember","October":"október","November":"november","December":"december","Monday":"hétfő","Tuesday":"kedd","Wednesday":"szerda","Thursday":"csütörtök","Friday":"péntek","Saturday":"szombat","Sunday":"vasárnap","Action":"Akció","Comedy":"Vígjáték","War":"Háborús","Family":"Családi","Animation":"Animációs","Adventure":"Kaland","Fantasy":"Fantasztikus","Crime":"Krimi","Mystery":"Misztikus","Romance":"Romantikus","Drama":"Dráma","Horror":"Horror","Thriller":"Thriller","Sci-Fi":"Sci-fi","Music":"Zenei","Biography":"Életrajzi","Documentary":"Dokumentumfilm","Sport":"Sport","Musical":"Zenei","Western":"Vadnyugati","Film-Noir":"Noir","News":"Hírek","History":"Történelem","Game-Show":"Játék show","Reality-TV":"Valóság-show","Talk-Show":"Beszélgetős műsor","Film & Entertainment":"Film & Szórakozás","Gaming":"Játék","From TV":"TV-ből","Lifestyle":"Életstílus","Science & Education":"Tudomány és oktatás","Cooking & Health":"Főzés és egészség","Beauty & Fashion":"Szépségápolás és divat","Sports":"Sport","News & Politics":"Hírek és politika","How-to & DIY":"Útmutatók és barkácsolás","Tech":"Technológia","Automotive":"Autó","Causes & Non-Profits":"Ügyek és non-profit szervezetek","Movies":"Filmek","Uk Live Tv":"Egyesült Királyság Élő TV","Fashion":"Divat","Business News Radio":"Rádiós üzleti hírek","Business Tv":"Üzleti TV","Cars & Auto":"Autók","Comedy Radio":"Rádiós komédia","Lifestyle Radio":"Életstílus rádió","News Tv":"TV-s hírek","Food And Wine":"Étel és ital","Latino Tv":"Latin TV","Shopping Tv":"Vásárlós TV","Religion":"Vallás","Kids":"Gyerekek","Body & Soul":"Test és lélek","Education":"Oktatás","Indian Tv":"Indiai TV","Extreme Sports":"Extrém Sportok","Middle Eastern Tv":"Közel-Keleti TV","Celebrity Tv":"Celeb TV","Science Tv":"Tudományos TV","Bikini babe":"Bikinis csajok","Outdoors":"Szabadtéri","German Tv":"Német TV","French Tv":"Francia TV","Italian Tv":"Olasz TV","Gamer Tv":"Gamer TV","Travel":"Utazás","Asian Tv":"Ázsiai TV","Entertainment":"Szórakoztatás","News Radio":"Rádiós hírek","Music Radio":"Zenei rádió","Language Learning":"Nyelvtanulás","Science Radio":"Tudományos rádió","Tech Radio":"Technológiai rádió","Science & Technology Vod":"Tudomány és technológia Vod","new video":"új videó","new episode":"új epizód","new movie":"új film","recommended":"ajánlott","we recommend":"ajánljuk","offer of the day":"a nap ajánlata","news":"hírek","music video":"zene videó","CTX_SHOW_HOTKEYS":"Gyorsbillentyűk megjelenítése","CTX_DISMISS_NOTIF":"Értesítések elvetése","CTX_DISMISS_ALL":"Mindet elutasít","CTX_SHARE":"Megosztás","CTX_COPY_SHARE_LINK":"Megosztási link másolása","CTX_COPY_MAGNET_LINK":"Mágnes link másolása","CTX_COPY_STREAM_LINK":"Stream link másolása","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Töltse le ezt a videót","CTX_DOWNLOAD_SUBS":"Feliratok letöltése","CTX_VIEW_ON_YOUTUBE":"Megtekintés a YouTube-on","CTX_SHOW":"Mutat","CTX_PLAY":"Lejátszás","CTX_PLAY_IN":"Lejátszás ezzel:","CTX_PLAY_ON":"Lejátszás ezen:","CTX_WATCH_ON":"Megtekintés ezen:","CTX_WATCH":"Megtekintés","CTX_WATCHED":"Megtekintett","CTX_WATCH_BEGINNING":"Megtekintés az elejétől","CTX_WATCH_MOBILE":"Megtekintés mobileszközön","CTX_REWIND":"Visszatekerés az elejére","CTX_MARK_WATCHED":"Megjelölés nézettként","CTX_MARK_NON_WATCHED":"Megjelölés nem megtekintettként","CTX_MARK_UNWATCHED":"Megjelölés nem megtekintettként","CTX_MARK_REST":"Hátralevők megjelölése nézettként","CTX_UNMARK_REST":"Hátralevők megjelölése nem nézettként","CTX_RECEIVE_NEW_NOTIF":"Új értesítések fogadása","CTX_ENABLE_NEW_NOTIF":"Értesítések engedélyezése","CTX_DISABLE_NEW_NOTIF":"Értesítések kikapcsolása","CTX_REMOVE_CACHE":"Eltávolítás a gyorsítótárból","CTX_REMOVE_CACHE_EP":"Epizód eltávolítása a gyorsítótárból","CTX_OPEN_CONTAINING":"Nyissa meg a tartalmazó mappát","CTX_REMOVE":"Eltávolítás a könyvtárból","CTX_AVAILABLE_OFFLINE":"Offline elérhető","CTX_PAUSED":"Szüneteltetve","CTX_ALWAYS_ON_TOP":"Mindig legfelül","CTX_FULLSCREEN":"Teljes képernyő","CTX_WRONG_SUBS":"Rossz felirat?","CTX_REPORT_ISSUES":"Probléma bejelentése","CTX_COPY":"Másolás","CTX_PASTE":"Beillesztés","CTX_CLEAR":"Törlés","CTX_CLEAR_RECENT_SEARCHES":"Legutóbbi keresések törlése","HELLO_THERE":"Szia","HOPE_YOU_ENJOY":"Reméljük, hogy élvezed a Stremio használatát, és ez már az egyik kedvenc alkalmazásod!","WHO_ARE_WE":"Kik vagyunk mi? Mi vagyunk a mögötte álló csapat - két srác, akik az elmúlt 3 évben minden nap keményen dolgoznak, hogy egyre jobbá és jobbá tegyék ezt a terméket.","SUPPORT_US":"Ha szívesen használod a Stremio-t, ha a Stremio értékes számodra - terjeszd a hírét!","SPREAD_THE_WORD":"Oszd meg barátaiddal, terjeszd a Stremio hírét!","MORE_PEOPLE":"Minél többen használják a Stremiót, annál jobb lesz!","SEND_A_LINK":"Vagy küldd el a weboldalunkra vezető linket","TIP_LOCALFILES":"Tipp: behúzhatsz helyi videó fájlokat a Stremio-ba","ADDON_MY":"Saját bővítményeim","ADDON_COMMUNITY":"Közösségi bővítmények","ADDON_OFFICIAL":"Hivatalos bővítmények","ADDON_REPOS":"Bővítmény kollekciók","ADDON_SEARCH":"Bővítmények keresése","ADDON_INSTALL":"Telepítés","ADDON_CONFIGURE":"Konfigurálás","ADDON_UNINSTALL":"Eltávolítás","ADDON_UPGRADE":"Frissítés","ADDON_INSTALLED":"Telepítve","ADDON_INSTALLED_MSG":"Bővítmény telepítve!","ADDON_UPGRADED_MSG":"Bővítmény frissítve!","ADDON_UNKNOWN":"Ismeretlen","ADDON_ERR":"Bővítmény telepítési hiba!","ADDON_DISCONNECTED":"Szétkapcsolt","ADDON_APP_MISSING":"ehhez a forráshoz az alkalmazás nincs telepítve. Szeretnéd most telepíteni?","ADDON_APP_INSTALL":"Telepítés most","ADDON_PAGE":"Bővítmény oldala","ADDON_TOP_CONTENT":"A legjobbak ettől a bővítménytől","ADDON_PROVIDES":"Ez a bővítmény ezeket adja:","ADDON_WATCH":"Nézz #{types} most!","ADDON_WATCH_FREE":"Nézz #{types} INGYENESEN most!","ADDON_ADDON":"Hozzáad","ADDON_SUPPORTED_TYPES":"Támogatott típusok","ADDON_SUPPORTED_CATALOGS":"Támogatott katalógusok","ADDON_PROVIDES_DISCOVER":"Több #{types} a Felfedezés fülön","ADDON_PROVIDES_STREAMS":"Nézz #{types}","ADDON_PROVIDES_STREAMS_FREE":"Nézz #{types} INGYENESEN","ADDON_PROVIDES_SUBTITLES":"Feliratok a ehhez: #{types}","ADDON_CANTDETECT":"Nem tudtuk észlelni a futó Stremiót, így nem tudtuk észlelni, hogy milyen bővítményeket telepített.","ERR_NO_META":"Erről nem található információ ","ERR_GETTING_META":"Hiba történt az ezzel kapcsolatos információk lekérésekor.","ERR_CANT_PARSE_MAGNET":"Nem sikerült elemezni a mágnest","ERR_NO_MAGNET_INFOHASH":"Nincs érvényes információs hash a mágneshez","ERR_NO_FILE_PATH":"Nem lehet elküldeni a kérést a fájl elérési útja nélkül","ERR_NO_TORRENT":"Nem tért vissza a torrent","ERR_NO_SUPPORTERD_FILES":"Nem található támogatott fájl","ERR_OPENING_FILES":"Nem sikerült megnyitni a külső fájlokat","ERR_INVALID_LINK":"Érvénytelen link","ERR_REGISTERED_ONLY":"Ez a lehetőség csak regisztrált felhasználók számára elérhető.","ERR_CLIPBOARD":"Nem lehet lejátszani a vágólapról","ERR_CLIPBOARD_READ":"A vágólap nem olvasható ezen a platformon","ERR_CLIPBOARD_GENERIC":"Nem található lejátszható URL a vágólapon. Kérjük másolj ki egy videóhoz vezető URL-t (pl. mágnes linket).","BOARD_CONTINUE_WATCHING":"Megtekintés folytatása","BOARD_EXPLANATION_RECOMMENDATIONS":"Kifejezetten az Ön számára kiválasztott filmek.<br />Ez a film egy mintaajánlás.","BOARD_EXPLANATION_EPISODES":"Ide érkeznek kedvenc sorozatod új epizódjai.<br />Add hozzá a követett sorozatokat a könyvtáradhoz.","BOARD_EXPLANATION_VIDEOS":"Ide érkeznek kedvenc csatornáid új epizódjai.<br />Add hozzá a követett YouTube-csatornákat a könyvtáradhoz.","WEBSITE_ENJOYED_BY":"Világszerte több mint 30 millió felhasználó élvezi","WEBSITE_STREAMING_ENHANCED":"Továbbfejlesztett streamelés","WEBSITE_STREAMING_ENHANCED_DETAILS":"A Stremio biztonságos, modern és zökkenőmentes szórakozási élményt kínál. Könnyen használható felületének és változatos tartalomkönyvtárának köszönhetően - beleértve a 4K HDR támogatást is - a felhasználók minden eszközükön élvezhetik kedvenc filmjeiket és tévéműsoraikat. A biztonság iránti elkötelezettségével pedig a Stremio a tökéletes választás a gondtalan, kiváló minőségű streaming élményhez.","WEBSITE_AVAILABLE_ON":"Elérhető itt:","WEBSITE_WATCH_AND_ENJOY":"Nézd és élvezd!","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"A Stremio gyerekjátékká teszi a dolgot","WEBSITE_ALL_FEATURES":"Minden funkció","WEBSITE_EASY_TO_USE":"Könnyen kezelhető","WEBSITE_EASY_TO_USE_DETAILS":"A Stremio-t úgy tervezték, hogy felhasználóbarát és könnyen használható legyen. Tiszta és intuitív felületével könnyen navigálhatod és megtalálhatod a megnézni kívánt tartalmat.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Zökkenőmentes, egyszerre több eszközön ","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"A Stremio számos platformra (többek között Windows, Mac, Linux, Android és más) elérhető, és minden eszközön nyomon követi a haladásodat. Csak jelentkezz be, és folytasd a megtekintést anélkül, hogy minden egyes új eszközön újra be kellene állítanod az alkalmazást.","WEBSITE_ALL_DOWNLOADS":"Minden letöltés","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"Nagy felbontású videó támogatás","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"A legtöbb videóformátumot, köztük a 4K HDR tartalmat is támogató integrált videolejátszó lehetővé teszi, hogy élvezze az elérhető legjobb minőséget.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Változatos tartalomtár","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"A Stremio számos népszerű videóforrással integrálható, mint például a Netflix, az Amazon Prime Video, a Hulu, a YouTube és még sok más.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Fiók ingyenes létrehozása","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Személyre szabott megtekintési élmény","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"A Stremio lehetővé teszi a felület kinézetének testreszabását a téma megváltoztatásával, a bővítmények hozzáadásával vagy eltávolításával stb.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Többnyelvű felirat támogatás","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"Már az összes kedvenc tartalmadat élvezheted a kívánt nyelven, mivel a Stremio minden nyelven támogatja a feliratokat.","WEBSITE_ALL_STREMIO_FEATURES":"A Stremio összes funkciója","WEBSITE_TRY_STREMIO_TITLE_P1":"Próbáld ki a Stremio-t","WEBSITE_TRY_STREMIO_TITLE_P2":"Most a Te TV-den","WEBSITE_YOU_CAN_NOW_WATCH":"Most az összes kedvenc sorozatodat megnézheted az Android TV-eszközeiden. A Stremio TV alkalmazással könnyedén élvezheted a mozi estéket.","WEBSITE_YOU_CAN_NOW_WATCH_2":"Most az összes kedvenc sorozatodat megnézheted az okos TV-eszközeiden. A Stremio TV alkalmazással könnyedén élvezheted a mozi estéket.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio okos TV-hez","WEBSITE_PLAY_STORE_REVIEW":"Valószínűleg a legjobb és leghasznosabb alkalmazás, amit a készülékeden lehet. Ez az egyik olyan alkalmazás, amelyet napi szinten használok, különösen az Android TV-men már évek óta. Jól van elkészítve egy erős közösséggel, amely hasznos funkciókat biztosít. Nagyszerű munka. Csak így tovább!","WEBSITE_REVIEWS":"vélemények","WEBSITE_GET_STREMIO_FOR_FREE":"Szerezze be ingyen a Stremiót","WEBSITE_GET_STREMIO_NOW":"Szerezze be a Stremiót most","WEBSITE_STREMIO_FEATURES":"Stremio funkciók","WEBSITE_STREMIO_FEATURES_DETAILS":"A Stremio fejlett funkcióival profiként streamelhet, és zökkenőmentesen férhet hozzá kedvenc médiájához","WEBSITE_DISCOVER_MORE":"Tudj meg többet!","WEBSITE_DISCOVER_MORE_DETAILS":"Soha ne fogyj ki a néznivalóból!","WEBSITE_COMMUNITY_DRIVEN":"Közösségvezérelt","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"A Stremio nagy és aktív felhasználói közösséggel rendelkezik, akik bővítmények létrehozásával és megosztásával járulnak hozzá a szoftver fejlesztéséhez.","WEBSITE_GET_INVOLVED":"Vegyél részt benne","WEBSITE_NEW_THEATER_EXPERIENCE":"Új házimozi élmény","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"A Stremio új dedikált TV-alkalmazása lehetővé teszi, hogy élvezze a filmestet Android TV-eszközein.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"A Stremio új dedikált TV-alkalmazásai lehetővé teszik, hogy moziesteket élvezzen Smart TV-n vagy Android TV-eszközén.","WEBSITE_FREE_AND_SECURE":"Ingyenes és biztonságos","WEBSITE_STREAMING":"Streamelés","WEBSITE_FREE_AND_SECURE_DETAILS":"A Stremio páratlan biztonságot és adatvédelmet kínál a felhasználók számára. A Stremio egyedülálló funkciójával, amely lehetővé teszi az addonok távoli futtatását, más platformokhoz képest biztonságosabb módot biztosít kedvenc tartalmainak streamelésére. A Te és adataid biztonsága elsődleges fontosságú, és a platform biztosítja, hogy minden adatod védve legyen.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Mondj búcsút a biztonsággal és a adatvédelemmel kapcsolatos aggodalmaknak, és köszöntsd a végtelen szórakozás világát a Stremio segítségével.","WEBSITE_INFORMATION_PROVIDED_BY":"által biztosított információkat","WEBSITE_CONTRIBUTE":"Hozzájárul","WEBSITE_CONTRIBUTE_DESC":"a projekthez","WEBSITE_COMMUNITY_DESC":"Hiszünk abban, hogy a legjobb módja annak, hogy valóban lenyűgöző streamelési élményt teremtsünk, ha bevonjuk közösségünket a folyamatba. Lehetsz programozó, művész, vagy csak rajongó - tudsz segíteni a Stremio növekedésében.","WEBSITE_COMMUNITY_DESC_2":"Tehát csatlakozz hozzánk még ma, legyél tagja a Stremio közösségnek, és formáld a streamelés jövőjét.","WEBSITE_WAYS_TO_GET_INVOLVED":"A részvétel módjai","WEBSITE_IN_THE_STREMIO_COMMUNITY":"a Stremio közösségben","WEBSITE_SHARE_YOUR_THOUGHTS":"Oszd meg a gondolataidat","WEBSITE_REPORT_BUGS":"Hibák bejelentése","WEBSITE_SUGGEST_FEATURES":"javasolj funkciókat","WEBSITE_AND_PROVIDE_FEEDBACK":"és adj nekünk visszajelzést a közösségi média csatornáinkon.","WEBSITE_BETA_TESTING_PROGRAM":"Bétatesztelő program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Vegyél részt béta tesztelési programunkban (rendszeresen küldünk meghívókat) a Stremio közösségben.","WEBSITE_JOIN_NOW":"Csatlakozz most!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Hivatalos Stremio Közösségek","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Nem hivatalos Stremio Közösségek","WEBSITE_BECOME":"Légy","WEBSITE_A_VOLUNTEER_TRANSLATOR":"önkéntes fordító","WEBSITE_ARE_YOU_A_DEVELOPER":"Fejlesztő vagy?","WEBSITE_CONTRIBUTE_CODE":"Hozzájárulhatsz kóddal nyílt forráskódú projektjeinkhez. A GitHubon több olyan projektünk is van, amelyekhez segítőket keresünk. Ha szeretnél segíteni, nézd meg őket:","WEBSITE_STREMIO_ON_GITHUB":"Stremio a GitHubon","WEBSITE_CREATE_ADDON_DESC":"Hozz létre bővítményeket, a Stremio funkcióinak bővítésére (az API-unk könnyen használható):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"Lehetőséget biztosítunk arra is, hogy gyakornok fejlesztőként csatlakozz hozzánk, hogy együtt növekedhessünk.","WEBSITE_APPLY_AS_AN_INTERN":"Jelentkezzen gyakornoknak","WEBSITE_CALLING_ALL_ARTISTS":"Figyelem, művészek!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Mutasd meg kreativitásodat és a Stremio iránti szeretetedet azzal, hogy feltöltöd rajongói művedet az online galériánkba. Legyen szó rajzról, festményről vagy digitális dizájnról, szeretnénk látni a Stremio márka egyedi megjelenítését. Csatlakozz a művészetkedvelők közösségéhez, és oszd meg alkotásaidat a Stremio rajongóival világszerte.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Galéria","WEBSITE_INTERN_DESIGNER":"Légy csapatunk tagja, és emeld kreativitásodat új magasságokba izgalmas szakmai gyakorlati lehetőségeink segítségével.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Közkincsfilmek projekt","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"A Stremio elkötelezett a film- és tévétörténet megőrzése mellett a köztulajdonban lévő és elárvult videók azonosításával. A közösségünkkel együttműködve biztosíthatjuk, hogy ezek a klasszikus műalkotások mindenki számára hozzáférhetőek legyenek, és a jövő generációi számára is védetté váljanak.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Nyugodtan fordulj hozzánk, ha szeretnél részt venni a projektben.","WEBSITE_JOIN_THE_PROJECT":"Csatlakozz a Projekthez","WEBSITE_BE_PART_OF_OUR_MISSION":"Légy részese a küldetésünknek","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Szeretnél csatlakozni a Stremio csapatához? Teljes mértékben távmunkát kínálunk szenvedélyes szakemberek számára. Tekintsd meg nyitott pozícióinkat.","WEBSITE_OPEN_POSITIONS":"NYITOTT POZÍCIÓK","WEBSITE_DESCRIPTION":"LEÍRÁS","WEBSITE_LEARN_MORE":"Tudj meg többet","WEBSITE_COMPANY":"Vállalat","WEBSITE_CONTACTS":"Kapcsolatok","WEBSITE_NEED_HELP":"Kell segítség?","WEBSITE_STREMIO_WEB_ON_IOS":"Útmutató a Stremio Web használatához iOS rendszeren","WEBSITE_LINK_ART_V2":"Fanart Galéria","WEBSITE_PARTNERS":"Partnerek","WEBSITE_SLOGAN_WATCH":"Azonnali megtekintés","WEBSITE_SLOGAN_ALL":"Minden kedvenc videó tartalmad egy helyen","WEBSITE_SLOGAN_NEW":"Nézd, amennyit csak szeretnél","WEBSITE_SLOGAN_NEW_NEW":"A streamelés szabadsága","WEBSITE_WATCH_FROM":"Nézd meg","WEBSITE_DOWNLOAD":"Letöltés most","WEBSITE_DOWNLOAD_FOR":"Töltsd le most","WEBSITE_IS_DESKTOP":"A Stremio egy asztali alkalmazás, nyisd meg ezt az oldalt a számítógépeden, és töltsd le","WEBSITE_DESKTOP_DEMO_VID":"Asztali demó","WEBSITE_PAGE_HOME":"Kezdőlap","WEBSITE_PAGE_FEATURES":"Funkciók","WEBSITE_PAGE_ADDONS":"Bővítmények","WEBSITE_PAGE_TECH":"Technológia","WEBSITE_PAGE_CREATE_ADDON":"Bővítmény létrehozása","WEBSITE_PAGE_CONTACTS":"Kapcsolatok","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Kérjük, alább gépeld be a kívánt jelszót!","WEBSITE_RESET_PASSWORD_WARNING":"Biztosan vissza akarod állítani a jelszót a következő számára: ${1}?","WEBSITE_TYPE_movie":"Filmek","WEBSITE_TYPE_series_PL":"Sorozatok","WEBSITE_TYPE_tv":"Élő tv","WEBSITE_TYPE_channel":"Csatornák","WEBSITE_STREMIO_WHAT_IS":"A Stremio egy olyan alkalmazás, amely segít rendszerezni és azonnal megtekinteni kedvenc videóidat, filmjeidet, tévésorozataidat és TV-csatornáidat.","WEBSITE_FEATURES_WATCH":"Nézze meg azonnal HD minőségben","WEBSITE_FEATURES_WATCH_DETAIL":"Kattints és játszd le kedvenc filmjeidet, TV-műsoraidat, videóidat és TV-csatornáidat.","WEBSITE_FEATURES_SUBS":"Automatikus feliratok","WEBSITE_FEATURES_SUBS_DETAIL":"A Stremio automatikusan kiválasztja a szinkronizált feliratokat a te nyelvedhez.","WEBSITE_FEATURES_SUBS_LABEL":"Nálad a labda, főnök.","WEBSITE_FEATURES_CAST":"Játszd le TV-n és mobil eszközökön","WEBSITE_FEATURES_CAST_DETAIL":"Kivetítés AppleTV-re, Chromecastra, Smart TV-re (DLNA/UPnP) és mobileszközökre.","WEBSITE_LIB":"Élvezze az összes eszközén szinkronizált személyes könyvtárát","WEBSITE_LIB_COLLECT":"Gyűjtse a Stremióból","WEBSITE_LIB_IMPORT":"Importálás a Facebookról","WEBSITE_LIB_LOCAL":"Hozzáadás a helyi meghajtóról","WEBSITE_BOARD":"A tábla – Az értesítések és ajánlások egy helyen","WEBSITE_BOARD_RECOMMEND":"Ajánlott tévéműsor","WEBSITE_BOARD_TRENDING":"Felkapott film","WEBSITE_BOARD_NEW":"Új Videó","WEBSITE_BOARD_EPISODE":"Új epizód","WEBSITE_BOARD_1":"Valami érdekes néznivalót keresel? Kapj ajánlásokat az ízléseid alapján!","WEBSITE_BOARD_2":"Értesítést kaphatsz kedvenc tévéműsoraid vagy YouTube-csatornáid új epizódjairól!","WEBSITE_BOARD_YOUTUBE":"Új videók a YouTube csatornákról","WEBSITE_BOARD_EPISODES":"Az általad követett sorozatok új epizódjai","WEBSITE_ADDONS":"Tartalom-bővítmények","WEBSITE_TECH_DETAIL":"Szeretjük a technológiát, szeretjük az őrült tudományt! A Stremio a következő nyílforráskódú technológiákat használja:\\n","WEBSITE_TECH_WCJS":"A WebChimera.js lehetővé teszi a Stremio számára, hogy bármilyen videóformátumot jó teljesítménnyel játsszon le.","WEBSITE_TECH_WCJS_EXTRA":"A projekt fő közreműködői vagyunk","WEBSITE_TECH_ELECTRON":"Az Electron innovatív platformot biztosít a Stremio építéséhez.","WEBSITE_TECH_ELECTRON_EXTRA":"A projekt közreműködői vagyunk","WEBSITE_TECH_LINVODB":"Egy adatbázis-technológia, amely biztosítja, hogy adatai rendszerezve legyenek, és bárhol elérhetők legyenek, ahol bejelentkezik.","WEBSITE_TECH_LINVODB_EXTRA":"Házon belüli technológia","WEBSITE_CREATE_ADDON":"Hozz létre saját bővítményt","WEBSITE_CREATE_ADDON_DETAIL":"Van saját videó szolgáltatásod? Segítünk kihasználni a Stremio által nyújtott funkciókat azzal, hogy elkészítjük a bővítményedet.","WEBSITE_CREATE_ADDON_BENEFITS":"A Stremio bővítmény létrehozásának előnyei","WEBSITE_P2P_BEAUTY":"A peer-to-peer streaming szépsége","WEBSITE_P2P_1":"Megbízható és megfizethető Full HD / 4K videó igény szerint vagy élő közvetítés","WEBSITE_P2P_2":"Nagyszerű felhasználói élményt nyújtó terjesztési platform","WEBSITE_P2P_3":"Pontosan az Ön igényeinek megfelelő bővítményt készítünk","WEBSITE_P2P_CONTACT":"Érdekel? <a href=\'mailto:office@stremio.com\'>Lépjen kapcsolatba velünk</a>!","WEBSITE_P2P_CONTACT_EXTRA":"Szívesen segítünk a tartalma integrálásában a Stremio platformra!","WEBSITE_P2P":"Egyszer-egyszer jön egy technológia, amely teljesen felforgatja a játékszabályokat. Rengeteg időt és energiát fektettünk a Peer-to-Peer (P2P) videostreaming motorunk megalkotásába, amely nagyszerű teljesítményt és sokoldalúságot biztosít, hogy bármilyen felhasználási esethez alkalmazkodni tudjon.\\nForduljon hozzánk a DRM-képes P2P-videó igény szerinti vagy élő streaming szolgáltatásért.","WEBSITE_THOUGHTS":"Megosztjuk gondolatainkat:","WEBSITE_SPREAD":"Terjeszd a hírt a Stremióról:","WEBSITE_CONTACT":"Vedd fel velünk a kapcsolatot, örömmel várjuk megkeresésedet!","WEBSITE_OPENSOURCE":"Nyílt forráskódú projektjeinkért látogass el a ","WEBSITE_BITCOIN":"Adományozz bitcoint:","WEBSITE_FAQ":"Gyakran Ismételt Kérdések","WEBSITE_FAQ_SHORT":"GYIK","WEBSITE_QUESTIONS":"Kérdések","WEBSITE_TOS":"Használati feltételek","WEBSITE_LEGAL":"Jogi","WEBSITE_PAGE_ABOUT":"Rólunk","WEBSITE_PAGE_BECOME_PARTNER":"Légy partnerünk","WEBSITE_ALL_YOU_CAN_WATCH":"Szabadon nézheted.","WEBSITE_FREEDOM_TO_STREAM":"A streamelés szabadsága","WEBSITE_WHAT_IS_STREMIO":"Mi az a stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"A Stremio egy központ a videótartalmak összegyűjtéséhez. Fedezd fel, rendszerezd és nézz videókat mindenféle forrásból bármilyen eszközödön.","WEBSITE_WHAT_IS_STREMIO_P2":"Filmek, tévéműsorok, sorozatok, élő televíziós csatornák vagy internetes csatornák, például a YouTube és a Twitch.tv – mindezt megtalálod a Stremio-n.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"A Stremio egy modern médiaközpont a videós szórakoztatáshoz. Fedezz fel, nézz és rendszerezz videótartalmakat könnyen telepíthető bővítményekből!","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Filmek, tévéműsorok, élő tévéműsorok vagy webcsatornák – mindezt megtalálod a Stremio-n.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Élvezd az összes médiaeszközödön","WEBSITE_DEVICES_COLLECT":"Gyűjts a Stremióból","WEBSITE_DEVICES_IMPORT_FB":"Importálás a Facebookról","WEBSITE_DEVICES_LOCAL":"Hozzáadás a helyi meghajtóról","WEBSITE_JOIN_THE_PARTY_NOW":"Csatlakozz most a bulihoz","WEBSITE_DEVICES_ALL":"Könnyen használható minden eszközödön;","WEBSITE_EXTENDABLE_CATALOG":"Végtelenül bővíthető videokatalógus;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Nagyszerű funkciók a média rendszerezéséhez;","WEBSITE_AS_SEEN_ON":"Amint látható","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"Rólunk","WEBSITE_LINK_TECHNOLOGY":"Technológia","WEBSITE_LINK_APPS":"Alkalmazások elemre","WEBSITE_LINK_DOWNLOADS":"Letöltések","WEBSITE_MORE":"Több","WEBSITE_LINK_ADDONS":"Bővítmények","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Hozzájárulás","WEBSITE_LINK_COMMUNITY":"Közösség","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... és más","WEBSITE_LINK_HELP":"Segítség Központ","WEBSITE_LINK_CONTACTS":"Üzleti kapcsolatfelvétel","WEBSITE_LINK_TOS":"Feltételek és kikötések","WEBSITE_LINK_PRAVACY":"Adatvédelmi irányelvek","WEBSITE_SUBSCRIBE":"Iratkozz fel","WEBSITE_NEWSLETTER":"Csodálatos dolgokért iratkozz fel hírlevelünkre","WEBSITE_PLACEHOLDER_EMAIL":"Az email címed","WEBSITE_COMMUNITY":"Közösség","WEBSITE_LINK_PRAVACY_LEGAL":"Adatvédelem","WEBSITE_WHY":"Ezért csináljuk","WEBSITE_WHY_P1":"A Stremio-nál minden nap azért megyünk dolgozni, mert egy fontos problémát akarunk megoldani a lekérhető videók iparágában. Olyan sok új tartalom jelenik meg percenként, hogy szinte lehetetlen eligazodni benne.","WEBSITE_WHY_P2":"Segítünk az embereknek eligazodni a videós szórakoztatás hatalmas világában, és új tartalmakat felfedezni. Alkalmazásaink filmeket, sorozatokat, élő tévéműsorokat, webes csatornákat és még sok mást hoznak össze. Elkötelezettek vagyunk amellett, hogy a felhasználók számára hihetetlenül egyszerűvé tegyük a számukra kedves műsorok és szolgáltatók megtalálását.","WEBSITE_WHY_P3":"Szolgáltatásunkat bármilyen eszközön és bármikor használhatod, így a Stremio az egyetlen videó szórakoztató központ, amelyre valaha szükséged lesz.","WEBSITE_TEAM":"CSAPAT","WEBSITE_TEAM_P":"A Stremio csapata kicsi, de erős: tízen vagyunk, X nyelven kódolunk, és megosztjuk egymással tapasztalatainkat a szoftverfejlesztés, a felhasználói felület és a UX tervezés, a marketing és a reklámozás, valamint az üzleti élet és a startupok terén.","WEBSITE_FEATURES":"Funkciók","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Fedezz fel új tartalmat könnyedén","WEBSITE_FEATURES_DISCOVER_P":"Könnyedén felfedezhetsz új filmeket, tévéműsorokat, sorozatokat és csatornákat, amelyeket nézhetsz. Böngéssz kategória, műfaj, nézettség, ismertség stb. szerint, vagy egyszerűen csak írj be egy nevet a kereséshez. A Stremio segítségével az új videotartalmak megtalálása gyerekjáték.","WEBSITE_FEATURES_ALL_CONTENT":"Az összes videó tartalmad egy képernyőn","WEBSITE_FEATURES_ALL_CONTENT_P1":"Nézd meg, hogy milyen filmeket, sorozatokat vagy videókat nem fejeztél be, és folytasd a megtekintésüket; kapj értesítést az új epizódokról és megjelenésekről; és böngéssz a nézési szokásaid alapján kapott ajánlások között.","WEBSITE_FEATURES_LIBRARY":"Rendszerezd videókönyvtáradat","WEBSITE_FEATURES_LIBRARY_P1":"Adj hozzá bármilyen műsort a Stremio-könyvtáradhoz egyetlen kattintással, és navigálj a tartalmak között, szépen elrendezve típus, frissesség vagy ábécé sorrend szerint.","WEBSITE_FEATURES_CALENDAR":"Kövess nyomon mindent, amit nézel","WEBSITE_FEATURES_CALENDAR_P1":"Naptári megjelenítést kaphatsz a könyvtáradba felvett összes filmről és sorozatról. Exportáld ki a Stremio naptáradat, és szinkronizáld, hogy mindig tudd, mikor esedékes egy új epizód vagy premier.","WEBSITE_FEATURES_BIG_SCREEN":"Élvezd ki videotartalmaidat nagyobb képernyőn","WEBSITE_FEATURES_BIG_SCREEN_P1":"Egyetlen kattintással kivetítheted a tartalmaidat egy másik eszközre – legyen az telefon, táblagép vagy tévé.","WEBSITE_FEATURES_SOURCES":"Nézz videókat sok különböző forrásból","WEBSITE_FEATURES_SOURCES_P":"Telepíts hivatalos és közösségi bővítményeket, hogy több különböző szolgáltatótól származó videókat élvezhess – mindezt egyetlen elegáns, könnyen használható alkalmazásban.","WEBSITE_CREATE_AN_ADDON":"Hozz létre bővítményt","WEBSITE_FEATURES_SYNC":"Szinkronizáld könyvtáradat különböző eszközök között, és folytasd a lejátszást","WEBSITE_FEATURES_SYNC_P1":"Jelentkezz be fiókoddal minden eszközön, és élvezd a könyvtáradat, a bővítményeket, a lejátszást és a szinkronizált naptárat.","WEBSITE_FEATURES_EXTENDABLE":"Bővítményekkel bővíthető videó katalógus","WEBSITE_FEATURES_EXTENDABLE_P1":"A Stremio bővítménykatalógus számos bővítményt kínál telepítésre a különböző videótartalmak megtekintéséhez. Ezek közé tartoznak filmek, műsorok, élő TV, sport, hírek, podcastok, webcsatornák, videojátékok és még sok más.","WEBSITE_FEATURES_AUTO_SUBS":"Automatikus feliratozás","WEBSITE_FEATURES_AUTO_SUBS_P1":"Felirat-bővítményeinkkel automatikusan kiválasztott feliratokat kaphatsz a kiválasztott nyelvedhez.","WEBSITE_FEATURES_CHROMECAST":"Kivetítés Chromecastra","WEBSITE_FEATURES_CHROMECAST_P1":"Élvezd videotartalmaidat egy nagyobb képernyőn, vagy csak vetítsd ki a nézett tartalmat egy másik eszközre!","WEBSITE_FEATURES_KEEP_TRACK":"Kövesd nyomon kedvenc TV-műsoraidat és webcsatornáidat","WEBSITE_FEATURES_KEEP_TRACK_P1":"Naptári vizualizációt és értesítéseket kaphatsz kedvenc sorozataid és webcsatornáid új epizódjairól.","WEBSITE_FEATURES_POWER_USER":"Kiemelt felhasználói funkciók","WEBSITE_FEATURES_POWER_USER_P1":"Lejátszás külső lejátszóban","WEBSITE_FEATURES_POWER_USER_P2":"Lejátszás torrent fájlból vagy mágnes linkből","WEBSITE_FEATURES_POWER_USER_P3":"Importálás a könyvtáradba a Facebook kedveléseid alapján vagy a helyi lemezről","WEBSITE_ADD_ONS":"Bővítmények","WEBSITE_ADD_ONS_P1":"A Stremio által kínált összes videótartalom forrása egy bővítmény rendszeren keresztül történik – az alkalmazásban nincsenek beépített tartalmk vagy szolgáltatók.","WEBSITE_ADD_ONS_P2":"A bővítmények két csoportja érhető el: hivatalos és közösségi bővítmények.","WEBSITE_ADD_ONS_P3":"A hivatalos bővítményeket a Stremio fejleszti és üzemelteti, míg a közösségi bővítményeket a közösségünk tagjai hozzák létre, és ők is üzemeltetik azokat.","WEBSITE_ADDONS_OFFICIAL":"Hivatalos bővítmények","WEBSITE_ADDONS_WATCHUB":"Streameld kedvenc filmjeidet, sorozataidat és műsoraidat olyan szolgáltatóktól, mint az iTunes, a Hulu, az Amazon és más egyesült királyságbeli/amerikai szolgáltatások.","WEBSITE_ADDONS_YOUTUBE":"Nézd kedvenc YouTube-csatornáidat hirdetések nélkül, és kapj értesítést az új feltöltésekről a követett közreműködőktől.","WEBSITE_ADDONS_FILMON":"Nézz élő TV-t, filmeket és közösségi televíziót ingyenesen. 600 TV-csatorna, 45 000 ingyenes film, dokumentumfilm és még sok más.","WEBSITE_ADDONS_OPENSUBTITLES":"Film- és TV-feliratok több nyelven, naponta több ezer lefordított felirat kerül feltöltésre.","WEBSITE_ADDONS_COMMUNITY":"Közösségi bővítmények","WEBSITE_ADDONS_FILMON_VOD":"Nézz videókat a Filmon.tv-ről","WEBSITE_ADDONS_TWICH":"Nézz élő közvetítéseket a Twitch.tv-ről – az e-sport ipar videostreamelő platformjáról.","WEBSITE_ADDONS_VODO":"Nézz indie filmeket teljesen ingyen.","WEBSITE_ADDONS_NETFLIX":"Nézz Netflix filmeket és websorozatokat.","WEBSITE_ADDONS_CREATE":"Hozz létre egy bővítményt","WEBSITE_ADDONS_CREATE_P1":"Ha szeretnél, fejleszthetsz saját bővítményt. Így új videótartalmakhoz biztosíthatsz hozzáférést magadnak és közösségünknek, és világszerte több millió felhasználóból álló új, célzott közönséget érhetsz el.","WEBSITE_ADDONS_START_CREATE":"A kezdéshez keresd fel a Stremio Addon SDK oldalát:","WEBSITE_DOWNLOADS":"Letöltések","WEBSITE_DOWNLOADS_P1":"Az optimális teljesítmény érdekében javasoljuk, hogy a Stremio alkalmazások legújabb elérhető verzióját használd. Ha azonban valamilyen oknál fogva egy régebbi verziót szeretnél használni, akkor azt letöltheted innen.","WEBSITE_DOWNLOADS_P1_SHORT":"Az optimális teljesítmény érdekében javasoljuk, hogy a Stremio alkalmazások legújabb elérhető verzióját használd.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio Windows-on","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio macOS-en","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio Linux-on","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio Android-on","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio Android TV-n","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio Android mobilon","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio a Steam Deck-en","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio iOS-en","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio Samsung TV-n","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio LG TV-n","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio Oculus Quest-en","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio Xbox-on","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio Raspberry Pi-n","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio a böngészőben","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Keresd a Stremio alkalmazást a 2019 óta megjelent Samsung TV-ken.","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Keresd a Stremio alkalmazást a 2020 óta megjelent LG TV-ken.","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Keresd a Stremio alkalmazást az Xbox alkalmazásboltban.","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Stremio Service letöltése","WEBSITE_DOWNLOAD_SERVICE_P1":"A Stremio Service a Stremio Web társalkalmazása. A Stremio Service legfrissebb verziójának használatát ajánljuk.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service Windows-ra","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service macOS-re","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service Linux-ra","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service Docker-re","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"További letöltési lehetőségek","WEBSITE_DOWNLOAD_NEW":"Új!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"Megjelent a Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"Megjelent a Stremio Samsung TV-re","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"Megjelent a Stremio LG TV-re","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"Megjelent a Stremio Xbox-ra","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"Megjelent a Stremio Raspberry Pi-ra","WEBSITE_CONTRIBUTE_P1":"A Stremio platform nyílt forráskódú, és egyszerűen létrehozhatsz bővítményeket a jelenleg nem elérhető tartalomhoz.","WEBSITE_CONTRIBUTE_WHY":"Miért érdemes bővítményt létrehozni?","WEBSITE_CONTRIBUTE_WHY_P1":"Új közönséget érhetsz el a videó tartalmaidnak","WEBSITE_CONTRIBUTE_WHY_P2":"A Stremio felhasználói bázisa gyorsan növekszik - az indulás első évében a Stremio világszerte 1 millió felhasználót szerzett, és a platform fennállásának második évében ez a szám 2,5 millióra nőtt.","WEBSITE_CONTRIBUTE_WHY_P3":"Bővítményeddel könnyedén elérheted ezt a közönséget, és terjesztheted nekik videotartalmaidat.","WEBSITE_CONTRIBUTE_ALL":"Nézd meg kedvenc filmjeidet, videóidat, sorozataidat és csatornáidat egy helyen.","WEBSITE_CONTRIBUTE_ALL_P1":"Rajongsz egy bizonyos típusú tartalomért, amely még nem érhető el a Stremio-n? Hozz létre hozzá egy bővítményt, és élvezd kedvenc videóid megtekintését a piac egyik legnagyobb és legegyszerűbben használható szórakoztató központján.","WEBSITE_CONTRIBUTE_ALL_P2":"Ráadásul a Stremio közösség többi, hasonló gondolkodású tagjának végtelen hálájában részesülhetsz.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetizáld a bővítményedet és keress pénzt vele!","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Ha alkottál egy bővítményt a Stremio számára, azt többféle módon is könnyedén pénzzé teheted. Ha ezt fontolgatod, bátran vedd fel velünk a kapcsolatot a következő címen ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - szívesen konzultálunk és tanácsot adunk a bővítmény monetizálási lehetőségeiről.","WEBSITE_CONTRIBUTE_TRANSLATE":"Legyél önkéntes fordító","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Ha szeretnéd a Stremio-alkalmazásokat különböző nyelveken élvezni, csatlakozhatsz önkéntes fordítóink közösségéhez. Ők segítenek nekünk abban, hogy a Stremio számos különböző nyelven elérhető legyen.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Szívesen kezdesz már?","WEBSITE_TRANSALTE_STREMIO":"Stremio fordítása","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Hivatalos közösségek","WEBSITE_COMMUNITY_OFFICIALS_P1":"Légy része a Stremio növekvő közösségének. Kövess minket a közösségi médiában, és ne félj köszönni nekünk - szeretünk hallani a rajongóinkról! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Nem hivatalos közösségek","STREMIO_COMMUNITY_NL":"Stremio Hollandia","STREMIO_COMMUNITY_BRASIL":"Stremio Brazília","STREMIO_COMMUNITY_GERMANY":"Stremio Németország","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio Franciaország","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugália","STREMIO_COMMUNITY_ITALY":"Stremio Olaszország","STREMIO_COMMUNITY_UK":"Stremio Egyesült Királyság","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexikó","STREMIO_COMMUNITY_ADDONS":"Stremio bővítmények","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partnerek és támogatók","WEBSITE_COMMUNITY_GOODIES":"Stremio finomságok","WEBSITE_COMMUNITY_WALLPAPERS":"Háttérképek","WEBSITE_COMMUNITY_ART":"Közösségi Művészeti Galéria","WEBSITE_LINK_ART":"Közösségi művészeti galéria","WEBSITE_CONTACT_US":"Kapcsolat","WEBSITE_CONTACT_US_P1":"Ha bármilyen kérdésed, észrevételed vagy javaslatod van, fordulj hozzánk bizalommal az alábbi kapcsolatfelvételi űrlapon keresztül.","WEBSITE_CONTACT_US_P2":"Ne feledd, hogy Bulgáriában vagyunk, ezért előfordulhat, hogy az időzónák eltérései miatt az üzenet megválaszolása késni fog.","WEBSITE_CONTACT_US_SUCCESS":"Az üzenet sikeresen elküldve. Amint tudunk, válaszolunk neked.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Kérlek létező email címet adj meg!","WEBSITE_CONTACT_US_Q_RELATED_TO":"Mihez kapcsolódik a kérdésed?","WEBSITE_CONTACT_US_Q_OS":"Milyen operációs rendszert használsz?","WEBSITE_CONTACT_US_PH_EMAIL":"Az email címed","WEBSITE_CONTACT_US_PH_MESSAGE":"Üzenet","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"KÜLDÉS","WEBSITE_CONTACT_US_Q_1":"Hogyan kell telepíteni?","WEBSITE_CONTACT_US_Q_2":"Hogyan kell eltávolítani?","WEBSITE_CONTACT_US_Q_3":"(HTML) Hogyan készítsünk lasagnét?","WEBSITE_CONTACT_US_Q_4":"Bővítmények","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Technológia","WEBSITE_TECHNOLOGY_P1":"Szeretjük a technológiát és az őrült tudományt. </br> Ezek hajtják a Stremiot (mind nyílt forráskódú).","WEBSITE_TECHNOLOGY_P_QT":"Többplatformos szoftverfejlesztés a javából.","WEBSITE_TECHNOLOGY_P_MPV":"Ingyenes, nyílt forráskódú és többplatformos médialejátszó.","WEBSITE_TECHNOLOGY_P_RN":"A React Native segítségével mobilalkalmazásokat készíthet kizárólag JavaScript használatával.","WEBSITE_TECHNOLOGY_P_VLC":"Alkalmazásba ágyazott média keretrendszer a multimédiához.","WEBSITE_TECHNOLOGY_P_REALM":"A Realm egy mobil platform, és az SQLite helyettesítője.","WEBSITE_TECHNOLOGY_P_NODEJS":"A Node.js egy nyílt forráskódú, többplatformos JavaScript futtatási környezet.","WEBSITE_TECHNOLOGY_P_RUST":"A Rust egy többparadigmás rendszerprogramozási nyelv, amely a biztonságra, különösen a biztonságos párhuzamosságra összpontosít.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Járulj hozzá a projekthez","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Kétféleképpen járulhatsz hozzá a Stremióhoz, és segíthetsz a termék még jobbá tételében.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Értékes nyelvtudásoddal segítheted a platform fordítását...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"vagy","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... felhasználhatod kódolási készségeidet közösségi bővítmények létrehozásához. ","WEBSITE_TRANSLATE_STREMIO":"Stremio fordítása","WEBSITE_404_OH_NO":"Hoppá! A keresett oldal nem található...","WEBSITE_GO_HOME":"A kezdőlapra","WEBSITE_LINK_OTHER_DOWNLOADS":"Egyéb letöltések","WEBSITE_FAQ_ABR":"GYIK","WEBSITE_SUPPORT":"Támogatás","WEBSITE_DOWNLOAD_4_0_BETA":"Töltsd le most a Stremio 4 béta verzióját","WEBSITE_GET_FOR_DESKTOP":"Szerezd meg asztali számítógépre","WEBSITE_LINK_ADDON_COMPETITION":"Bővítmény verseny","WEBSITE_LINK_ART_CONTEST":"Művészeti verseny","WEBSITE_MY_ACCOUNT":"A fiókom","WEBSITE_MAINPAGE_FAQ_001_H1":"Mi az a Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"A Stremio egy modern médiaközpont, amellyel szabadon nézhetsz, amit csak akarsz.","WEBSITE_MAINPAGE_FAQ_002_H1":"Hogyan működik?","WEBSITE_MAINPAGE_FAQ_002_P1":"Miután telepítetted a Stremiot az eszközödre, és létrehoztad a fiókodat, mindössze annyit kell tenned, hogy felkeresed a bővítmény katalógust, és telepíted a kívánt bővítményt, és már mehet is!","WEBSITE_MAINPAGE_FAQ_002_P2":"Ezt követően a Felfedezés vagy a Tábla részre léphetsz a tartalom felfedezésének megkezdéséhez.","WEBSITE_MAINPAGE_FAQ_003_H1":"Mit nézhetek itt?","WEBSITE_MAINPAGE_FAQ_003_P1":"Sokat: filmek, tévéműsorok, webcsatornák, sport, TV-csatornák, podcastok hallgatása és még sok más. A bővítmény rendszerünknek köszönhetően rengeteg tartalmat elérhetsz.","WEBSITE_MAINPAGE_FAQ_004_H1":"A Stremio nyílt forráskódú?","WEBSITE_MAINPAGE_FAQ_004_P1":"Igen, megnézheted a következő linkeken: ${1}asztali alkalmazás${2} és ${3}GitHub org${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"A Stremio biztonságos?","WEBSITE_MAINPAGE_FAQ_005_P1":"Igen: mivel nyílt forráskódú szoftverről van szó, a kód nyilvánosan auditálható, és Te is ellenőrizheted.","WEBSITE_MAINPAGE_FAQ_005_P2":"A Stremio addon rendszerét is a felhasználó biztonságát szem előtt tartva hoztuk létre. A bővítmények nem futtatnak kódot helyileg, így nem okoznak biztonsági kockázatot az eszközökben.","WEBSITE_MAINPAGE_FAQ_006_H1":"Mi a helyzet az adatbiztonsággal?","WEBSITE_MAINPAGE_FAQ_006_P1":"Tiszteletben tartjuk a felhasználók adatait, és a fiók létrehozásához és szinkronizálásához szükséges minimumon kívül semmilyen személyes adatot nem gyűjtünk.","WEBSITE_MAINPAGE_FAQ_006_P2":"A regisztráció során ${1}Vendég mód${2} is elérhető, amelyhez nincs szükség semmilyen adatra: ebben a módban nem történik hívás a háttérrendszerünkbe. Azonban ezzel hasznos funkciókról maradsz le, mint a könyvtár szinkronizálása készülékek között.","WEBSITE_MAINPAGE_FAQ_007_H1":"Kivetíthetem a tévémre?","WEBSITE_MAINPAGE_FAQ_007_P1":"Igen, támogatjuk a Chromecastot, és kivetíthetsz asztali és mobilalkalmazásokból is (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"Hány bővítménye van a Stremiónak?","WEBSITE_MAINPAGE_FAQ_008_P1":"2019 végén több mint 50 – további információkért tekintsd meg bővítmény katalógusunkat.","WEBSITE_MAINPAGE_FAQ_009_H1":"Bővíthető-e a Stremio a böngésző katalógusban foglaltakon túl?","WEBSITE_MAINPAGE_FAQ_009_P1":"Igen, nézd meg ezeket: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6} stb.","WEBSITE_MAINPAGE_FAQ_010_H1":"Milyen eszközöket támogat a Stremio?","WEBSITE_MAINPAGE_FAQ_010_P1":"Vannak asztali alkalmazásaink Windowsra, Macre és Linuxra. ","WEBSITE_MAINPAGE_FAQ_010_P2":"Számos Android-alapú eszköz létezik, amelyeken a Stremio futtatható, például az NVIDIA Shield és az Amazon Fire Stick, de hivatalosan nem támogatjuk őket.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"Vannak asztali alkalmazásaink Windows, Mac és Linux operációs rendszerekhez. Dedikált alkalmazásaink vannak Android Mobile és Android TV platformokra is. iOS és iPadOS esetén a Stremio Web használatát javasoljuk, bár ez korlátozottabb funkcionalitású.","WEBSITE_MAINPAGE_FAQ_011_H1":"Hozzá tudnátok adni bizonyos tartalmakat a Stremióhoz?","WEBSITE_MAINPAGE_FAQ_011_P1":"Sajnáljuk, mi magunk nem biztosítunk tartalmat, de minél több Stremio bővítményt telepítesz, annál több tartalmat találsz.","WEBSITE_MAINPAGE_FAQ_012_H1":"A Stremio le tudja játszani a mágnes linkeket?","WEBSITE_MAINPAGE_FAQ_012_P1":"Igen, és normál HTTP hivatkozásokat és torrent fájlokat is le tud játszani (csak húzd be az alkalmazásba).","WEBSITE_MAINPAGE_FAQ_013_H1":"Letölthetek videót és megnézhetem offline módban?","WEBSITE_MAINPAGE_FAQ_013_P1":"Az offline elérhetőség egy hamarosan elérhető funkció, de ha engedélyezed a Stremio számára, hogy gyorsítótárat tároljon az eszközödön (a beállítások panelről), később kapcsolat nélkül is megnézheted a videókat.","WEBSITE_MAINPAGE_FAQ_014_H1":"Semmi sem működik, segíts!","WEBSITE_MAINPAGE_FAQ_014_P1":"Biztos, hogy telepítetted a bővítményeket? Ha igen, keresd fel a ${1}segítség központot${2}","WEBSITE_MAINPAGE_FAQ_015_H1":"Hogyan tartja fenn a Stremio fejlesztési tevékenységét?","WEBSITE_MAINPAGE_FAQ_015_P1":"Alkalmanként nem tolakodó hirdetéseket jelenítünk meg, de fontolgatjuk az adományozási modellre való átállást.","WEBSITE_MAINPAGE_FAQ_015_P2":"Ha további kérdéseid vannak, keresd fel ${1}súgónkat${2}.","HELP_LEARN_MORE":"Segíts nekünk többet megtudni magadról.","LIFESTYLE":"Életmód","SPORTS":"Sport","FOOD_HEALTH":"Étel és egészség","BEAUTY_FASHION":"Szépség és divat","NEWS":"Hírek","GAMING":"Gaming","SCIENCE_EDUCATION":"Tudomány és oktatás","MUSIC":"Zene","TRAVEL":"Utazás","LATE_NIGHT":"Késő esti műsorok","REALITY":"Valóság","COMEDY":"Vígjáték","DIY":"DIY (barkácsolás)","TECH":"Tech","CINEMA":"Mozi","CONTINUE":"Folytatás","SLOW_LOADING":"LASSÚ BETÖLTÉS?","I_GIVE_UP":"FELADOM","LEARN_MORE":"Tudj meg többet","POOR_SOURCE":"Ez a forrás rosszul elérhető, vagy az internetkapcsolat nem elég gyors","PICK_CATEGORIES_ERR":"Legalább 3 kategóriát kell kiválasztanod","ADJUST_TIMING":"Állítsd be az időzítést a ","ADJUST_SIZE":"Állítsd be a méretet ezzel","SEARCH_ANYTHING":"Bármire kereshetsz...","ALL_CATEGORIES":"Minden","SEARCH_CATEGORIES":"Filmek, Sorozatok, YouTube & TV","SEARCH_PERSONS":"Színészek, Rendezők & Írók","SEARCH_PROTOCOLS":"HTTP & Mágnes linkek","SEARCH_TYPES":"IMDB / TVDB Linkek","WATCHED":"Megnézett","SHOW_LESS":"Kevesebb","LAST_SEARCHES":"Keresési előzmények","CLEAR_HISTORY":"Előzmények törlése","CHOOSE_SOME":"VÁLASSZ EZEKBŐL:","NO_WEB_REMOTE":"A Web Remote nem tölthető be","STREMIO_OFFLINE":"A Stremio offline","STREMIO_EXPENSIVE_CONNECTION":"Azt észleltük, hogy mobil adatkapcsolatot használsz, folytatod?","USE_DATA":"Mobilkapcsolat használata","WARNING":"Figyelem","MORE_INFO":"Több információ ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Betöltés ...","STREMIO_TV_BACK_TO_LANGUAGES":"Vissza a nyelvekhez","STREMIO_TV_REMOTE":"Távirányító","STREMIO_TV_GO_TO":"Keresd fel ezt:","STREMIO_TV_OR_SCAN":"vagy szkenneld be ezt:","STREMIO_TV_ADDON_INSTRUCTIONS":"Kérjük, kövesd az utasításokat a kívánt bővítmények telepítéséhez.","STREMIO_TV_LIVE_TV":"Élő TV","STREMIO_TV_RESUME_WATCHING":"Megtekintés folytatása","STREMIO_TV_LOADING_BACKGROUND":"Háttér betöltése","STREMIO_TV_CHECKING_AUTHENTICATION":"Hitelesítés ellenőrzése","STREMIO_TV_LOADING_BOARD":"Tábla betöltése","STREMIO_TV_LOGIN_HEADER_LINE_1":"Azt akarjuk, hogy felhasználóink ​​a lehető legjobb személyre szabott élményben részesüljenek szoftverünkkel.","STREMIO_TV_LOGIN_HEADER_LINE_2":"Éppen ezért kérjük, hogy hozzon létre és/vagy jelentkezzen be fiókjába.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Köszönjük a megértésed,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"A Stremio csapata","STREMIO_TV_REMOTE_INSTRUCTIONS":"A webes távirányító használatához okostelefonjával/táblagépével/asztali számítógépével:","STREMIO_TV_WIFI_SETUP":"Wi-Fi beállítás","STREMIO_TV_WIFI_HEADER_LINE_1":"A Stremio Circle nem észlelt internetkapcsolatot.","STREMIO_TV_WIFI_DETAILS_1":"Kapcsolódás ehhez:","STREMIO_TV_WIFI_DETAILS_2":"stremio-kör","STREMIO_TV_WIFI_DETAILS_3":"Jelszó használata:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Nyisson meg egy webböngészőt a következő hivatkozással:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Alapértelmezett","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"Utolsó megtekintés szerint","STREMIO_TV_LIBRARY_SORT_NAME":"Név szerint","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"Megtekintések száma szerint","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"${1}. évad","STREMIO_TV_STREAMS_LOADING":"${1} / ${2} bővítmény betöltve...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} bővítmény még töltődik...","STREMIO_TV_PLAYER_SETTINGS":"A lejátszó beállításai","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Feliratok késleltetés","STREMIO_TV_PLAYER_AUDIO_DELAY":"Hang késleltetés","STREMIO_TV_PLAYER_VIDEO_SCALING":"Videó méretezése","STREMIO_TV_PLAYER_CHAPTERS":"Fejezetek","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"{1} kihagyása","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Nem támogatott stream-forrás","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Külső link megnyitása sikertelen","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"A hang passthrough módban nem állítható","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Lejátszás ExoPlayerrel","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Lejátszás libVLC lejátszóval","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Váltás libVLC lejátszóra lejátszási hiba miatt","STREMIO_TV_ADDONS_TITLE":"Használja a Stremio alkalmazást telefonján vagy számítógépén a bővítmények telepítéséhez vagy konfigurálásához, majd nyomja meg a \\"Bővítők szinkronizálása\\" gombot.","STREMIO_TV_ADDONS_SUBTITLE":"Megjegyzés: győződjön meg arról, hogy ugyanazt a Stremio-fiókot használja","STREMIO_TV_ADDONS_SYNC_ADDONS":"Bővítmények szinkronizálása","STREMIO_TV_ADDONS_SYNC_SUCCESS":"A bővítmények sikeresen szinkronizálva","STREMIO_TV_ADDONS_SYNC_FAILED":"Nem sikerült szinkronizálni a bővítményeket","STREMIO_TV_META_LINK_FAILED":"A meta link megnyitása sikertelen","STREMIO_TV_CATALOG_LOADING":"A katalógus töltődik...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"A felület nyelve frissítve","STREMIO_TV_SETTINGS_THEME_UPDATED":"Téma frissítve","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Alapértelmezett lejátszó","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Külső lejátszó","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferált nyelv","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Másodlagos preferált nyelv","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnel lejátszás","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Lehetséges lejátszási problémák egyes eszközökön","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Előfordulhat, hogy egyes videoformátumok nem működnek","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Képkockasebesség egyeztetés","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Tiltva","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Csak képkockasebesség","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Képkockasebesség és Felbontás","STREMIO_TV_SETTINGS_NO_CACHING":"Gyorsítótárazás kikapcsolása","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Alapértelmezett","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Puha","STREMIO_TV_SETTINGS_PROFILE_FAST":"Gyors","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra gyors","STREMIO_TV_SETTINGS_SERVER_URL":"Streaming szerver URL-je","STREMIO_TV_SETTINGS_SERVER_VERSION":"Szerver verzió","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Ismeretlen","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio verzió","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Szerver URL-jének módosítása","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Adja meg a streaming szerver URL-jét","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Statisztikák megjelenítése betöltés közben","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"A Stremio adatvédelmi szabályzatának elolvasásához látogasson el:","STREMIO_TV_SETTINGS_TOS_TEXT":"A Stremio Általános Szerződési Feltételeinek elolvasásához látogasson el a következő oldalra:","STREMIO_TV_NAV_SEARCH":"Keresés","STREMIO_TV_NAV_HOME":"Kezdőlap","STREMIO_TV_NAV_DISCOVER":"Felfedezés","STREMIO_TV_NAV_LIBRARY":"Könyvtár","STREMIO_TV_NAV_MOVIES":"Filmek","STREMIO_TV_NAV_SERIES":"Sorozatok","STREMIO_TV_NAV_CHANNELS":"Csatornák","STREMIO_TV_NAV_TV":"Élő TV","STREMIO_TV_NAV_SETTINGS":"Beállítások","STREMIO_TV_NAV_ADDONS":"Bővítmények","STREMIO_TV_LOGIN_TITLE":"Fiók összekapcsolása","STREMIO_TV_LOGIN_EXPIRES_IN":"Lejár ekkor: ","STREMIO_TV_LOGIN_STEP_ONE":"Olvasd be a fenti QR-kódot, vagy nyisd meg a következő címet:","STREMIO_TV_LOGIN_STEP_TWO":"Jelentkezz be Stremio-fiókodba","STREMIO_TV_LOGIN_NEW_LINK":"Új link kérése","STREMIO_TV_LOGIN_LINK_REFRESHED":"A bejelentkezési kód frissítve","STREMIO_TV_SEARCH_PLACEHOLDER":"Írj valamit","STREMIO_TV_SEARCH_NO_ADDONS":"A katalógusokhoz nem lettek bővítmények hívva!","STREMIO_TV_SEARCH_BUTTON":"Keresés","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Keresési előzmények","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Címekre, színészekre, csatornákra és egyebekre kereshetsz...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Keresési előzmények törlése","STREMIO_TV_FILTERS_DESCRIPTION":"Válassz az alábbi szűrők közül","STREMIO_TV_STREAMING_SERVER_OFFLINE":"A streaming szerver offline állapotban van. Ellenőrizd a szerver beállításokat!","FILTERS":"Szűrők","SETTINGS":"Beállítások","ACCOUNT":"Fiók","LOGOUT":"Kijelentkezés","THEMES":"Témák","PLAYBACK":"Lejátszás","PLAYBACK_SPEED":"Lejátszási sebesség","AUDIO_TRACKS":"Hangsávok","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Videók","SERVER":"Szerver","LINKS":"Linkek","ABOUT":"Rólunk","INTERFACE":"Felület","ANIMATIONS":"Animációk","STATUS":"Állapot","LANGUAGE":"Nyelv","SIZE":"Méret","DELAY":"Késleltetés","BOLD":"Félkövér","OPACITY":"Opacity","TEXT_COLOR":"Szöveg szín","OUTLINE_COLOR":"Körvonal színe","BACKGROUND_COLOR":"Háttérszín","BACKGROUND_BLUR":"Háttér elmosódása","SEEK_TIME_DURATION":"Tekerési idő hossza","AUTO_PLAY":"Következő epizód automatikus lejátszása","PLAY_NOW":"Lejátszás most","MARK_AS_WATCHED":"Megjelölés megnézettként","MARK_AS_UNWATCHED":"Megjelölés nem megnézettként","REWIND_TO_BEGINNING":"Vissza az elejére","CONTINUE_WATCHING":"Megtekintés folytatása","ALL":"Minden","SECONDS":"másodperc","ON":"BE","OFF":"KI","RELOAD":"Újratöltés","EDIT_URL":"URL szerkesztése","NONE":"Egyik sem","EMBEDDED":"Beágyazott","REMOTE_SWITCH_DEVICES":"Eszközök váltása","REMOTE_VIDEOS":"Videók","REMOTE_ADJUST_TIMING":"Időzítés beállítása","REMOTE_ADJUST_SIZE":"Méret beállítása","REMOTE_COULD_NOT_BE_LOADED":"A Web Távirányító nem tölthető be","REMOTE_RETRY":"Újrapróbálkozás","TORRENT_PROFILE_DEFAULT":"Alapértelmezett","TORRENT_PROFILE_SOFT":"Puha","TORRENT_PROFILE_FAST":"Gyors","TORRENT_PROFILE_ULTRA_FAST":"Ultra gyors","FAQ_001_H1":"Mi az a Stremio?","FAQ_001_P1":"A Stremio egy olyan médiaközpont-szoftver, amelyet videós szórakoztatásra terveztek, szem előtt tartva a könnyű kezelhetőséget. A Stremio lehetővé teszi a rendszerezést &amp; nézd a saját film-, sorozat-, csatorna- és élő TV-gyűjteményedet.","FAQ_001_P2":"A Stremio a megjelenített tartalmat a helyi lemezről és a bővítmény rendszerünkről gyűjti össze.","FAQ_001_P3":"Ezenkívül értesít Téged, ha új epizódok/videók/filmek jelennek meg, amelyek érdekelnek, és filmajánlásokat is kínál.","FAQ_02_H1":"Hogyan hasonlítható a Stremio a Kodihoz és a Plexhez?","FAQ_02_P1":"Ez a két szoftver inspirált minket. De a céljaink különböznek - a Stremio kifejezetten a szórakoztató videókat célozza meg, és arra törekszik, hogy nagyon könnyen kezelhető megoldása révén a mainstream megoldássá váljon.","FAQ_02_P2":"A Stremio soha nem lesz olyan testreszabható és funkciókban gazdag, mint a Kodi és a Plex, de lényegesen könnyebben használható. Egyszerűen ${1} töltsd le és próbáld ki ${2} :)","FAQ_03_H1":"Hogyan hasonlítható a Stremio a Netflixhez?","FAQ_03_P1":"Ismételten, a Netflix az egyik inspirációnk. Arra törekszünk, hogy elérjük a Netflix felhasználói élményét, plusz egy csomó hozzáadott finomsággal. De ami a legfontosabb, megadjuk a szabadságot, hogy saját könyvtáradat kezelhesd és új tartalomforrásokat adj hozzá a bővítményrendszerünkkel.","FAQ_03_P2":"Ez végtelenül bővíthetővé teszi a Stremio-t, így a használata soha nem korlátozódik a Netflix által licencelt tartalomra. A Stremio segítségével például a ${1} Filmon.tv ${2}, ${3}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} és még maga a ${9}Netflix${10} is elérhető!","FAQ_04_H1":"Hogyan hasonlítható a Stremio a Flipboardhoz?","FAQ_04_P1":"Ritkán kapjuk ezt a kérdést, kivéve ha startup-osokkal beszélgetünk :)","FAQ_04_P2":"A Stremio eleve egy tartalomaggregátor, így tulajdonképpen a Flipboard, a videók számára. Ez jól látható a Tábla szekciónkban, amely katalógusokat és új epizód/új videó értesítéseket ad az általad követett videókról, akárcsak a Flipboard.","FAQ_05_H1":"Hogyan hasonlítható a Stremio a Popcorn Time-hoz?","FAQ_05_P1":"A Stremio és a Popcorn Time felhasználói felületben hasonló, mert nem sok módja van a szórakoztató videókatalógusok helyes elkészítésének :)","FAQ_05_P2":"Azonban míg a Popcorn Time bizonyos forrásokból származó torrentek streamelésére összpontosít, a Stremio nem korlátolt, és csupán egy tartalomgyűjtő – nincs egy adott tartalomforráshoz kötve.","FAQ_05_P3":"Ezenkívül alapértelmezés szerint nem biztosítunk torrent-bővítményeket, így a Stremio nem fedi le a Popcorn Time használati esetét hivatalos funkcionalitással.","FAQ_05_P4":"Egy másik figyelemre méltó különbség, hogy a Popcorn Time teljesen nyílt forráskódú, míg a Stremio ${1} részben nyílt forráskódú${2}.","FAQ_06_H1":"Hozzá tudnátok ezt a filmet/sorozatot?","FAQ_06_P1":"Nem sajnáljuk :(","FAQ_06_P2":"Ahogy a legtöbb más kérdésben is említettük, a Stremio önmagában nem nyújt semmilyen tartalmat - mindent a bővítményrendszerrel adunk hozzá. Amennyiben tartalmi kérésed van, használhatod a \\"Report\\" gombot a lejátszóban, amely egy e-mailt küld az éppen használt bővítmény készítőjének.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Készítenétek bővítményt az X-hez?","FAQ_08_P1":"Ez teljes mértékben lehetséges.","FAQ_08_P2":"Ha van bővítmény ötleted, írj nekünk a ${1}office@stremio.com${2} címre, de ügyelj arra, hogy bővítményötleted ne sértse a szerzői jogokat vagy a használati feltételeket.","FAQ_08_P3":"Jelenleg az ütemtervünk következő részei a FandangoNOW, a Filmon.tv video on demand és a Crunchyroll bővítmények.","FAQ_09_H1":"A Stremio BitTorrentet használ?","FAQ_09_P1":"Igen, a Stremio támogatja a BitTorrentet mint streaming protokollt. Ezt vagy egy torrent bővítménnyel, vagy egy .torrent fájl Stremio-ba történő behúzásával, vagy egy mágneses link beillesztésével a keresősávba használhatod.","FAQ_09_P2":"Kérjük, vedd figyelembe, hogy az egyetlen BitTorrentet használó hivatalos bővítmény a ${1}Vodo${2}, amely független (indie) tartalmakat biztosít, amelyek mind a BitTorrenttel legálisan terjeszthetőek.","FAQ_09_P3":"Nem támogatjuk olyan harmadik féltől származó bővítmények használatát, amelyek lehetővé tehetik a szerzői jogok megsértését.","FAQ_10_H1":"Mit nézhetek meg a Stremióban a hivatalos bővítményekkel?","FAQ_10_P1":"Alapértelmezés szerint a Filmon.tv, a YouTube és a Vodo tartalmait magán a Stremio-n belül nézheted meg, annak beágyazott lejátszójával. ","FAQ_10_P2":"Ez a kombináció a következőket kínálja:","FAQ_10_L1":"A Filmon.tv által biztosított népszerű tévécsatornák – például E4, BBC, Bollyworld TV","FAQ_10_L2":"Minden a YouTube-ról – például BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Független (indie) filmek a Vodóval","FAQ_10_L4":"Online játékközvetítések a Twitch.tv-vel","FAQ_10_P3":"Ezenkívül számos olyan tartalomforrás van, amelyet a Guidebox és a Netflix bővítmények biztosítanak, amelyek <b>nem</b> játszanak le teljesen a Stremio-n belül, hanem átirányítanak az adott szolgáltatásra. A Guidebox addon például az USA-ban ingyenesen streamelhető filmekből ad válogatást, olyan szolgáltatásokból, mint a TubiTV és a Crackle.","FAQ_11_H1":"A Stremio nem települ, mit tegyek?","FAQ_11_P1":"Ha Windows-ot használsz, próbáld ki ${1}ezt az alternatív telepítőt${2}.","FAQ_11_P2":"Ha Mac OS X-et használsz, ne feledd, hogy az OS X Mavericks (10.9)-nél régebbi rendszereket nem támogatjuk.","FAQ_11_P3":"Ha Linuxot használsz, ne feledd, hogy jelenleg csak a 64 bites (x64) Linuxot támogatjuk.","FAQ_11_P4":"Ha továbbra sem tudod megoldani a problémát, kérjük, írj nekünk ${1}Facebook csoportunkba${2}.","FAQ_12_H1":"Miért panaszkodik a vírusirtóm? A Stremio biztonságos?","FAQ_12_P1":"Biztosíthatunk, hogy a Stremio ${1}100%-ban tiszta${2}.","FAQ_12_P2":"A vírusirtód azért panaszkodik, mert a telepítőnkben olyan hirdetéseket helyezünk el, amelyeket egyes vírusirtó programok reklámanyagként ismernek fel.","FAQ_12_P3":"Ha még mindig nem vagy biztos benne, próbáld ki az ${1}alternatív telepítőnket${2}.","FAQ_13_H1":"Hogyan készíthetek bővítményt?","FAQ_13_P1":"Kezdetnek javasoljuk, hogy tekintsd meg ${1}bővítmény rendszermodulunkat${2} a GitHubon.","FAQ_13_P2":"Ezt követően követheted a ${1}Hello World tutorial-t${2}.","FAQ_13_P3":"Ha nem rendelkezel programozási ismeretekkel, kérjük, tedd közzé ötletedet a ${1}a Reddit közösségben${2}, és vedd fel velünk a kapcsolatot a bővítmény ötletével a ${3}office@stremio.com${4} címen.","FAQ_14_H1":"Hogyan jelennek meg a bővítmények?","FAQ_14_P1":"Amikor létrehozol egy bővítményt és egy hosztot, és egy <b>endpoint</b> mezőt teszel a manifesztedbe, amely egy működő bővítmény címére mutat, az bővítmény automatikusan közzéteszi magát a ${1}Bővítmény katalógus${2}-ban.","FAQ_14_P2":"Ez azért történik, mert a stremio-addons modul szerver része automatikusan meghívja az API-t, hogy bejelentse a bővítményt. Amikor az API érvényesíti az <b>endpoint</b>-odat, az megjelenik a katalógusban.","FAQ_15_H1":"Futtathatom a Stremiót a böngészőmben?","FAQ_15_P1":"Jelenleg nem, de hamarosan érkezik!","FAQ_15_P2":"Ha kíváncsi vagy egy alfa verzióra, itt megtekintheted: ${1}alpha4.strem.io${2}. Ne feledd, hogy a streamelés nincs engedélyezve az alfa verzióban. Támogatjuk a Chrome, Firefox, Opera és Edge böngészőket.","FAQ_16_H1":"Nem működik a kivetítés a tévére / a feliratok nem működnek","FAQ_16_P1":"A tévére való kivetítés a DLNA technológiát használja, amely a különböző tévémárkák és modellek között nagyon eltérő. Emiatt nem áll módunkban minden esetben tesztelni, így messze nem tökéletes. Ennek ellenére folyamatosan dolgozunk a javításán, de nem tudunk becsült időt mondani arra vonatkozóan, hogy a DLNA mikor kezd el megfelelően működni a tévével.","FAQ_16_P2":"Ha nem látod a tévét a kivetítés menüben sem, próbáld meg letiltani a hálózati kapcsolatot, majd újra engedélyezni (Windowson a jobb gombbal kattints a hálózatra, és használd az Enable/Disable (Engedélyezés/Tiltás) lehetőséget), valamint indítsd újra a routert, a tévét és a számítógépet.","FAQ_16_P3":"Ha továbbra is problémákat tapasztalsz, segíthetsz nekünk, ha elküldöd tévéd márkájára és modelljére vonatkozó információkat a ${1}office@stremio.com${2} címre.","FAQ_16_P4":"Addig is javasoljuk a Chromecastot, amit nagyon jól támogatunk, vagy egyszerűen csak csatlakoztasd a tévét a számítógéphez HDMI-kábellel.","FAQ_17_H1":"A Stremio lefagy és/vagy összeomlik, mit tehetek?","FAQ_17_P1":"Először is, ha Windows 7-et használsz AVG vírusirtóval: van egy problémánk ezzel a kombinációval. A probléma magában az AVG-ben van, és nincs ésszerű megoldás a mi oldalunkon. Sajnos a kivételek vagy a vírusirtó letiltása nem fog működni. Az egyetlen megoldás az AVG lecserélése valami másra.","FAQ_17_P2":"Ha nem ez a probléma, de Windows-t használsz, frissítsd a legújabb szervizcsomagra és frissítsd/telepítsd újra a GPU-illesztőprogramokat, majd próbáld meg újra.","FAQ_17_P3":"Ha a probléma továbbra sem oldódott meg, vagy Mac-et vagy Linuxot használsz, kérjük, írd meg nekünk a probléma pontos részleteit ${1}Facebook-csoportunkban${2}.","FAQ_18_H1":"Hogyan készíthetek bővítményt?","FAQ_18_P1":"Kezdetnek javasoljuk, hogy tekintsd meg a ${1}bővítmény rendszermodulunkat${2} a GitHubon.","FAQ_18_P2":"Ezt követően követheted a ${1}Hello World oktatóprogramot${2}.","FAQ_18_P3":"Ha nem rendelkezel programozási ismeretekkel, kérjük, tedd közzé ötletedet a ${1}a Reddit közösségben${2}, és vedd fel velünk a kapcsolatot a bővítmény ötletével a ${3}office@stremio.com${4} címen.","FAQ_19_H1":"Miért foglal helyet a Stremio a lemezen?","FAQ_19_P1":"A Stremio rendelkezik egy <b>helyi gyorsítótárral</b> a streamelt videofájlok ideiglenes megtartásához.","FAQ_19_P2":"Ennek két előnye van: először is, lehetővé teszi a Stremio számára, hogy előre pufferelje a videót, így biztosítva a zökkenőmentesebb streaminget. Másodszor, a videókat a helyi gyorsítótárban tartja, így offline is nézheted őket.","FAQ_19_P3":"Az, hogy a Stremio mennyi adatot tart meg, a Beállítások panelen található <b>Gyorsítótár</b> beállítástól függ. A Stremio a beállított mennyiségig (pl. 2 GB) tárolhatja a lemezen, kivéve, ha az éppen streamelt videó ennél nagyobb, ebben az esetben elegendő tárhelyet kell elkülöníteni ahhoz, hogy a streamelés végéig tárolja.","FAQ_20_H1":"Hol van a gyorsítótár mappa?","FAQ_20_P1":"Windows rendszeren a stremio-cache a Beállításokban kiválasztott meghajtón található (pl. \\"E:\\\\stremio-cache\\").","FAQ_20_P2":"MacOS rendszeren ez a \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"Linuxon ez \\"~/.stremio/stremio-cache\\" vagy \\"~/stremio-cache\\"","FAQ_21_H1":"\\"A streaming szerver nem található\\" hibaüzenetet kapok, mit tehetek?","FAQ_21_P1":"Ha ezt a hibát kapod, az a több dolgot jelenthet:","FAQ_21_P2":"1) Egy YouTube/BitTorrent forrás által támogatott bővítményt próbálsz használni a ${1}web verzió${2} segítségével. Ebben az esetben telepítsd az asztali verziónkat a ${3}weboldalunkról${4}.","FAQ_21_P3":"2) Valami baj van a Stremio telepítésével. Ebben az esetben próbáld meg újra telepíteni a legújabb asztali verziónkat a ${1}a weboldalról${2}. Ha ez nem segít, próbáld meg kikapcsolni a vírusirtó programokat és a tűzfalat, indítsd újra a számítógépet, és próbáld meg újra. Ha ez sem működik, kérjük, írj nekünk a ${3}Facebook-csoportunkba${4}.","FAQ_22_H1":"Nem látom/nem tudom használni a legtöbb bővítményt az iOS rendszeren","FAQ_22_P1":"Az Apple App Store általános szerződési feltételeiben foglalt korlátozások miatt az iOS-alkalmazást csak a bővítmények egy adott készletére korlátoztuk.","FAQ_22_P2":"De nyugodt lehetsz - a jövőben több bővítményt fogunk készíteni iOS-re, és lehet, hogy egy olyan integrációt is hozzáadunk, amely lehetővé teszi az összes Stremio bővítmény használatát az iOS alkalmazás és a Stremio Streaming Server összekapcsolásának köszönhetően."}')},11472:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Film","TYPE_series":"Serial","TYPE_tv":"Saluran TV","TYPE_channel":"Saluran","TYPE_other":"Lainnya","TYPE_movie_PL":"Film","TYPE_series_PL":"Serial","TYPE_tv_PL":"Saluran TV","TYPE_channel_PL":"Saluran","TYPE_other_PL":"Lainnya","TYPE_ALL":"Semua","TYPE":"Jenis","CATALOG_com_linvo_cinemeta_top":"Populer","CATALOG_com_linvo_cinemeta_imdbRating":"Unggulan","CATALOG_com_linvo_cinemeta_year":"Baru","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Film Ranah Umum","VIDEO":"Video","BACK":"Kembali","MORE":"Lebih Banyak","DONE":"Selesai","COPY":"Salin","SUCCESS":"Berhasil","ERROR":"Galat","SETTINGS_CASTING_MODE_PICKER":"Mode transmisi","CASTING_MODE_HLSV2":"Bawaan","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Tanpa pengkodean ulang","Discover":"Temukan","Board":"Papan","Library":"Pustaka","My Library":"Pustakaku","Calendar":"Kalender","NOTIFICATION_ONLINE":"Anda sedang daring","NOTIFICATION_OFFLINE":"Anda sedang luring","INTERNET_CONNECTION":"Koneksi Jaringan","STORAGE_FULL_TITLE":"Peringatan: Penyimpanan penuh!","STORAGE_FULL_TEXT":"Stremio tidak akan dapat menyimpan pengaturan, preferensi, atau informasi login Anda. Pertimbangkan untuk memulai ulang atau memasang ulang Stremio.","SEARCH":"cari","SEARCH_NO_RESULTS":"Tidak ada hasil yang ditemukan","SEARCH_EXPLANATION_CONTENT":"Pencarian untuk film, serial, YouTube dan saluran TV","SEARCH_EXPLANATION_PEOPLE":"Pencarian untuk aktor, sutradara dan penulis","SEARCH_PASTE_LINKS":"Tempelkan HTTP dan tautan Magnet","SEARCH_OR_PASTE_LINK":"Cari atau tempelkan tautan","SEARCH_SUGGESTIONS":"Saran Pencarian","ADD_TO_LIB":"Tambah ke Pustaka","REMOVE_FROM_LIB":"Hapus dari Pustaka","ADDED_TO_LIB":"Ditambahkan ke Pustaka","REMOVED_FROM_LIB":"Dihapus dari Pustaka","TRAILER":"Cuplikan","WATCH_TRAILER":"Tonton cuplikan","WATCH_NOW":"Tonton sekarang","SHOW":"Tampilkan","SHOW_MOVIE":"Tampilkan film","WATCH_RANDOM":"Tonton acak","IMDB_RATING":"Peringkat IMDb","YEAR":"Tahun","DIRECTOR":"Sutradara","WRITER":"Penulis","LEAD_ACTORS":"Aktor utama","CAST":"Pemeran","CREW":"Kru","SHOW_MORE_CAST":"Tampilkan lebih banyak »","AIRED":"Ditayangkan","SEASONS":"Musim","GENRE":"Genre","GENRE_ALL":"Semua genre","CATALOG":"Katalog","SUMMARY":"Ringkasan","SHOW_MORE":"Tampilkan lebih banyak","SIMILAR":"Serupa","UPCOMING":"Mendatang","ENDED":"Berakhir","DURATION":"Durasi","FEATURED":"Unggulan","METADATA":"Metadata","CATEGORY":"Kategori","LINKS_GENRES":"Genre","LINKS_CAST":"Pemeran","LINKS_DIRECTORS":"Sutradara","SEARCH_VIDEOS":"pencarian video","SEARCH_PLACEHOLDER":"cari atau tempelkan URL","ADDON":"tambahan","ADDONS":"Tambahan","OFFICIAL":"Resmi","ADDONS_OFFICIAL":"Tambahan Resmi Stremio","ADDONS_POPULAR":"Populer di area Anda","ADDON_FREE":"gratis","ADDON_PEERED":"dipadan","ADDON_SUBSCRIPTION":"langganan","ADDON_STREAM_GEORESTRICTED":"tidak tersedia di area Anda","ADDON_STREAM_OFFLINECACHE":"Tembolok Luring","ADDON_STREAM_LOCALFILE":"Berkas lokal","SHARE_ADDON":"Berbagi Tambahan","AVAILABLE_STREAMS":"Siaran yang Tersedia","NO_STREAM":"Tidak Tersedia Siaran","ALL_ADDONS":"Semua","INSTALL_MORE_ADDONS":"Untuk lebih banyak siaran, pasang lebih banyak tambahan","STREAM_NOT_SUPPORTED":"Siaran yang dipilih tidak didukung di platform ini.","ADDON_CATALOGUE":"Tampilkan semua tambahan »","ADDON_CATALOGUE_MORE":"Pasang tambahan","REPO_ADDED":"Repositori ditambahkan","ADDON_REPO_EXIST_ERR":"Koleksi tambahan ini sudah ada","ADDON_REPO_ERR":"Terjadi kesalahan saat menambahkan koleksi","ADDON_ADD_ERR":"Terjadi kesalahan saat menambahkan tambahan","ERR_ADDON_PROTECTED":"Tidak dapat menghapus tambahan karena dilindungi","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Ada yang tidak beres - autentikasi mungkin gagal","ERR_NOT_COLLECTION_URL":"Bukan URL koleksi","ERR_NOT_ADDON_URL":"Bukan URL tambahan yang valid","ERR_DETECTFROMURL":"Tidak dapat menemukan tambahan/koleksi dari URL ini","ADDON_DUPLICATE_WARNING":"Peringatan: tambahan terduplikasi","ADDON_COLLECTION_SET_FAILED":"Sinkronisasi tambahan terpasang ke akun Anda gagal","SETTINGS_DATA_EXPORT":"Ekspor data pengguna","ADDON_PULL_FAILED":"Sinkronisasi tambahan terpasang dari akun Anda gagal","REFRESH_ON_CLICK":"Klik untuk mencoba lagi","STILL_IN_THEATER":"Film masih di bioskop","WATCH_IN_CINEMA":"Tonton di bioskop setempat Anda","IN_THEATER":"Di bioskop","GET_TICKETS":"Dapatkan tiket","UPCOMING_EPISODE":"Episode Mendatang","UPCOMING_EPISODE_MESSAGE":"Episode ini akan ditayangkan pada","MISSING_DATE_EPISODE":"Tanggal episode tidak ditemukan","MISSING_DATE_EPISODE_MESSAGE":"Episode mungkin belum tayang","CHANNEL_NOT_SCRAPED":"Saluran ini belum diambil.<br>Mohon kembali beberapa saat lagi.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Tambahkan ke pustaka anda agar dikabarkan jika tersedia.","GET_NOTIFIED_WHEN_AVAILABLE":"Anda akan dikabarkan jika tersedia.","WARNING_STREAMING_SERVER":"Peringatan: server siaran lokal tidak ditemukan. Siaran dari berkas lokal, Youtube dan BitTorent tidak akan tersedia.","WARNING_STREAMING_SERVER_DISMISS":"Hiraukan","WARNING_STREAMING_SERVER_LATER":"Nanti","DECODER_WARNING":"Peringatan: video ini mungkin tidak didukung perangkat anda. Pemutaran bisa lambat","GENERIC_ERROR_MESSAGE":"Ada yang salah!","TRY_AGAIN":"Coba lagi","CLEAR_DATA":"Bersihkan data","PLAYER_ERROR":"Oops, Galat Pemutar","PLAYER_ERROR_LOOKSLIKE":"Sepertinya","PLAYER_ORIENTATION":"Orientasi pemutar","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Terkunci","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensor","PLAYER_ORIENTATION_LANDSCAPE":"Orientasi pemutar terkunci pada lanskap","PLAYER_ORIENTATION_SENSOR":"Orientasi pemutar otomatis (sensor)","PLAYER_PLAYBACK_SPEED":"Kecepatan Pemutaran","PLAYER_PLAYBACK_ERROR":"Galat memutar, mohon coba lagi","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Galat tidak diketahui","PLAYER_PLAYBACK_ERROR_DEFAULT":"Maaf, video ini tidak bisa diputar dengan {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Bahasa Takarir","PLAYER_SUBTITLES_VARIANTS":"Varian Takarir","PLAYER_SUBTITLES_SETTINGS":"Pengaturan Takarir","PLAYER_SUBTITLES_DISABLED":"Takarir dimatikan","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Posisi Vertikal","PLAYER_SUBTITLES_LOADED":"Takarir dimuat","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Takarir tertanam dimuat","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Takarir eksklusif dimuat","PLAYER_SUBTITLES_LOADED_ORIGIN":"Takarir dari {{origin}} dimuat","PLAYER_PLAY":"Putar","PLAYER_PAUSE":"Jeda","PLAYER_NEXT_VIDEO":"Video Berikutnya","PLAYER_MUTE":"Bisukan","PLAYER_UNMUTE":"Bunyikan","PLAYER_OPEN_IN_EXTERNAL":"Buka di pemutar eksternal","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Putar di {{device}}","PLAYER_LIVE":"Langsung","PLAYER_NEXT_VIDEO_TITLE":"Selanjutnya di","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Hiraukan","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Tonton sekarang","PLAYER_COPY_STREAM_SUCCESS":"Tautan siaran telah disalin ke papan klip","PLAYER_COPY_STREAM_ERROR":"Gagal menyalin tautan siaran","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","STREAMING_FROM":"Siarkan dari","CASTING_TO":"Transimisi ke","NETWORK_STATUS":"Status jaringan","STREAM_SPEED":"Stream speed:","STREAM_BUFFERED":"Disangga:","PEERS_INFO":"Informasi rekan","PEERS_ACTIVE":"Aktif:","PEERS_CONNECTED":"Terhubung:","PEERS_WAITING":"Menunggu:","TRANSCODING_WARNING":"Peringatan: mengkode ulang video.","STREAM_LOADING":"memuat...","PLAYING_LOCAL":"memutar dari berkas lokal","PLAYING_CACHE":"memutar dari tembolok","WRONG_SUBS":"Takarir salah?","ERR_SUBS_LOADING_TITLE":"Gagal memuat takarir","ERR_SUBS_LOADING":"Gagal memuat takarir: mungkin ada masalah dengan tambahan yang Anda pakai, atau koneksi jaringan Anda","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Tambahan takarir berikut gagal","ERR_CASTING_UPDATE_TITLE":"Tidak dapat memperbarui info perangkat transmisi: server siaran mungkin luring","CHOOSE_DEVICE":"Pilih perangkat untuk menonton","NO_CAST_DEVICES":"Tidak ada perangkat transmisi tersedia.","NO_SETTINGS":"Tidak ada pengaturan tersedia.","PHONE_TABLET":"Ponsel / Tablet","SUBTITLES":"Takarir","SUBTITLES_CHANGE":"Ganti takarir untuk ","SUBTITLES_CHANGE_NONE":"Maaf, tidak ada takarir lain untuk bahasa ini.","SUBTITLES_CHANGE_ACIVE":"Saat ini takarir &#35;{{subtitlesDialog.activeIdx + 1}} aktif. Pilih \\"Lanjut\\" untuk mengaktifkan takarir &#35;{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Atau,","SUBTITLES_ADJUST_DELAY":"Atur penundaan takarir:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Atau gunakan tombol <span>G</span> / <span>H</span> ketika memutar untuk mengatur.","SUBTITLES_ADJUST_DELAY_TIP":"TIP: Anda dapat menggunakan tombol <span>G</span> / <span>H</span> ketika memutar untuk mengatur.","SUBTITLES_DELAY":"Penundaan takarir:","SUBTITLES_LOADING":"Memuat takarir...","SUBTITLES_UNAVAILABLE":"Tidak ada takarir eksternal tersedia","SUBTITLES_DISABLED":"Dimatikan","EXTERNAL_PLAYER_DISABLED":"Dimatikan","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Perbolehkan memilih","EXTERNAL_PLAYER_HINT":"Petunjuk: Ada pengaturan untuk memperbolehkan selalu membuka dengan pemutar eksternal","DONT_SHOW_AGAIN":"Jangan tampilkan lagi","SERVICE_INSTALL":"Pasang","AUDIO":"Audio","DEFAULT_LANGUAGE":"Bahasa Bawaan","DEFAULT_SECONDARY_LANGUAGE":"Bahasa Kedua Bawaan","SEASON":"Musim","EPISODE":"Episode","EPISODE_ABBREVIATION":"EP","SPECIAL":"Spesial","SORT":"urutkan","SORT_BY":"Urutkan berdasarkan","FILTER":"saring","SORT_TRENDING":"urutkan populer","SORT_RECENT":"terbaru","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"penilaian","SORT_WATCHED":"ditonton","SORT_YEAR":"tahun","SELECT_TYPE":"Pilih jenis","SELECT_SORT":"Pilih urutan","SELECT_CATALOG":"Pilih katalog","SELECT_GENRE":"Pilih genre","SORT_LASTWATCHED":"Ditonton terakhir","SORT_NAME":"Nama","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"Berapa kali ditonton","SORT_NOTWATCHED":"tidak ditonton","New for You":"Baru untuk Anda","New Episodes":"Episode Baru","New Videos":"Video Baru","Recommendations":"Rekomendasi","LIBRARY_RESUME":"Lanjutkan","LIBRARY_PLAY":"Putar","LIBRARY_DETAILS":"Rincian","LIBRARY_RESUME_DISMISS":"Hiraukan","LIBRARY_CLEAR_PROGRESS":"Mulai dari awal","LIBRARY_REMOVE":"Hapus","LIBRARY_NOT_LOGGED_IN":"Pustaka hanya tersedia untuk pengguna yang masuk","CALENDAR_NOT_LOGGED_IN":"Kalender hanya tersedia untuk pengguna yang masuk","NOT_LOGGED_IN_CLOUD":"Akses film dan siaran TV kesukaan Anda di mana saja, kapan saja","NOT_LOGGED_IN_RECOMMENDATIONS":"Rekomendasi sesuai riwayat tontonan Anda","NOT_LOGGED_IN_NOTIFICATIONS":"Jangan pernah ketinggalan episode lagi","NOT_LOGGED_IN_CALENDAR":"Jadwalkan kalender tonton pribadi Anda","DISCOVER_FEATURED":"Unggulan","DISCOVER_TOP":"Teratas","DISCOVER_OSCAR":"Pemenang Oscar","DISCOVER_WARNING_TITLE":"Ups!","DISCOVER_EMPTY_CATALOG":"Tambahan ini kosong.","DISCOVER_ADULT_WARNING":"Konten ini hanya untuk dewasa. Apakah Anda berusia 18+?","DISCOVER_NOADDON_WARNING":"Peringatan: tidak ada tambahan Stremio aktif untuk jenis ini. Hanya menampilkan yang tersimpan, tidak bisa memperbarui.","DISCOVER_LOAD_ERR":"Konten tidak termuat, galat terjadi.","DISCOVER_ADDON_UNINSTALLED":"Konten ini tidak lagi tersedia, Anda dapat menghapus tambahan.","UNINSTALL_THIS_ADDON":"Hapus tambahan ini","ERR_ADDON_NOT_INSTALLED":"Tambahan ini tidak terpasang. Pasang sekarang?","DETAIL_RECEIVE_NOTIF_SERIES":"Terima notifikasi untuk serial baru","DETAIL_RECEIVE_NOTIF_VIDEOS":"Terima notifikasi untuk video baru","SIDEBAR_SHOW_STREAMS":"Tampilkan siaran","RELAUNCH":"Buka ulang sekarang!","UPGRADE":"Versi baru tersedia! Tingkatkan ke versi Stremio terbaru","RELOAD_UI":"Muat ulang antarmuka","MANUAL_UPDATE_TITLE":"Tingkatkan versi Stremio Anda","MANUAL_UPDATE_LINE1":"Anda menjalankan versi usang Stremio yang sangat tidak disarankan.","MANUAL_UPDATE_LINE2":"Mohon perbarui secepatnya.","BUTTON_UPDATE_LATTER":"Tidak sekarang","BUTTON_UPDATE_NOW":"Perbarui","ANONYMOUS_USER":"Pengguna anonim","DONT_HAVE_ACC":"Tidak punya akun?","HAVE_ACC":"Sudah punya akun?","PASSWORD":"Sandi","PASSWORD_CONFIRM":"Konfirmasi sandi","EMAIL":"E-mail","FB_LOGIN":"Lanjutkan dengan Facebook","FB_NOTHINGSHARED":"Tidak ada yang dibagikan tanpa izin Anda","FB_NOPOST":"Kami tidak akan mengirimkan apapun atas nama Anda","OR":"atau","I_ACCEPT":"Saya terima","I_ACCEPT_BY_CLICKING":"Dengan mengklik tombol di atas saya bersaksi bahwa saya terima ","TOS":"Syarat dan Ketentuan","MUST_ACCEPT_TERMS":"Anda harus menerima syarat","PASSWORDS_NOMATCH":"Sandi tidak cocok","SIGN_UP":"Daftar","SIGN_UP_EMAIL":"Daftar dengan email","CLICK_TO_SIGN_UP":"Klik di sini untuk daftar.","LOG_IN":"Masuk","LOG_OUT":"Keluar","EXIT_FULLSCREEN":"Keluar dari mode layar penuh","ENTER_FULLSCREEN":"Masuk mode layar penuh","PLAY_URL_MAGNET_LINK":"Putar tautan URL/Magnet","HELP_FEEDBACK":"Bantuan & Masukan","TERMS_OF_SERVICE":"Ketentuan Layanan","PRIVACY_POLICY":"Kebijakan Privasi","ABOUT_STREMIO":"Tentang Stremio","USER_PANEL":"Panel Pengguna","LOGIN_LABEL":"Masuk","GUEST_LOGIN":"Masuk sebagai tamu","GUEST_LOGIN_NOTICE":"Masuk sebagai tamu tidak disarankan. Masuk biasa memperbolehkan Stremio untuk mensinkronkan Pustaka Anda, menerima notifikasi serial/saluran kesukaan Anda. Yakin ingin melanjutkan?","GUEST_LOGIN_NOTICE_2":"Masuk sebagai tamu tidak disarankan - Anda tidak akan menerima Pustaka tersinkron dan notifikasi Papan, yang merupakan fitur penting Stremio. Yakin ingin melanjutkan?","CLICK_HERE":"klik di sini","WRONG_PASSWORD":"Email atau sandi salah. Jika anda lupa sandi, ","SET_A_PASS":"setel sandi","RESET_PASSWORD":"Setel ulang sandi","FORGOT_PASSWORD":"Lupa sandi?","EMAIL_USED_WITH_FB":"Email ini digunakan dengan masuk lewat Facebook.","INVALID_EMAIL":"Mohon masukkan alamat email yang valid","INVALID_PASSWORD":"Mohon masukkan kata sandi yang valid","CONN_ERR":"Galat koneksi - mohon coba lagi nanti.\\n\\nJika masih berlanjut, matikan firewall/antivirus (terutama Bitdefender).","IMPORT_FROM_GUEST":"Impor Pustaka dari akun tamu Anda","RECEIVE_UPDATES_EMAIL":"Terima pembaruan dari Stremio di email Anda","LOGIN_FAILED":"Gagal masuk.","SIGNUP_FAILED":"Gagal daftar.","SEARCH_FAILED":"Gagal mencari","EMAIL_USED":"Email ini sudah digunakan.","WAITING_FB_LOGIN":"Masuk menggunakan Facebook...","EXTERNAL_PLAYER_TITLE":"Putar di pemutar eksternal","EXTERNAL_REMEMBER_PLAYER":"Apakah Anda ingin mengingat pilihan","EXTERNAL_ALWAYS_PLAY":"Ya","EXTERNAL_ONLY_ONCE":"Tidak","BEST_FIT":"Paling sesuai","FIT_SCREEN":"Paskan layar","FILL":"Isi","16:9":"16:9","4:3":"4:3","Original":"Asli","INTRO_TASTE":"Katakan apa yang Anda inginkan","INTRO_TASTE_LONG":"Katakan apa yang Anda ingin tonton","INTRO_TASTE_PICK":"Pilih {{interestsRemaining}} minat","INTRO_TASTE_PICK_MORE":"Pilih {{interestsRemaining}} minat lagi","INTRO_TASTE_HELP_US":"Bantu kami mengenal Anda lebih baik.","INTRO_TASTE_CHOOSE_THESE":"Pilih beberapa:","INTRO_TASTE_CHOOSE_MIN":"Pilih setidaknya 3 kategori","INTRO_TASTE_CHOOSE_MIN_ERR":"Anda harus memilih setidaknya 3 kategori!","INTRO_TASTE_LIFESTYLE":"Gaya hidup","INTRO_TASTE_SPORTS":"Olahraga","INTRO_TASTE_FOOD_HEALTH":"Kuliner & Kesehatan","INTRO_TASTE_BEAUTY_FASHION":"Kecantikan & Busana","INTRO_TASTE_NEWS":"Berita","INTRO_TASTE_GAMING":"Permainan","INTRO_TASTE_SCIENCE_EDU":"Sains & Pendidikan","INTRO_TASTE_MUSIC":"Musik","INTRO_TASTE_TRAVEL":"Wisata","INTRO_TASTE_LATE_NIGHT":"Acara Tengah Malam","INTRO_TASTE_REALITY":"Realitas","INTRO_TASTE_COMEDY":"Komedi","INTRO_TASTE_DIY":"Swakarya","INTRO_TASTE_TECH":"Teknologi","INTRO_TASTE_CINEMA":"Sinema","ADDON_NOT_SUPPORTED":"Tambahan terpilih tidak didukung platform ini.","ADDON_DISCLAIMER":"Menggunakan tambahan pihak ketiga akan selalu berada di bawah tanggung jawab Anda dan hukum yang berlaku di tempat Anda berada.","ADDON_ACTIVATE":"Aktifkan tambahan ini?","ADDON_REPO_ADD":"URL koleksi tambahan","ADDON_ADD":"Tambah","INSTALL_ADDON":"Pasang tambahan","ADD_ADDON":"Tambah tambahan","ADD_ADDON_DESCRIPTION":"Anda dapat menambah tambahan lewat tautan eksternal, yang akan terlihat di bawah Tambahan terpasang.","PASTE_ADDON_URL":"Tempel URL tambahan","WHATS_NEW":"Yang terbaru","BUTTON_CONTINUE":"Lanjutkan","BUTTON_ACTIVATE":"Aktifkan","BUTTON_ACTIVATED":"Aktif","BUTTON_CANCEL":"Batal","BUTTON_SUBMIT":"Kirim","BUTTON_DISMISS_ALL":"Hiraukan Semua","BUTTON_VIEW_ALL":"lihat semua","BUTTON_SEE_ALL":"Lihat Semua","BUTTON_COLOR_TRANSPARENT":"Transparan","OPEN_IN_BROWSER":"Buka di peramban","LIB_EMPTY":"Pustaka Anda sepertinya kosong. Apa gunanya :) ","HOW_START":"Begini cara Anda bisa memulai:","LIB_EMPTY_CAL":"Kalender Anda menampilkan serial dalam Pustaka.","HOW_START_CAL":"Begini cara Anda menambah serial:","LIB_EMPTY_BOARD":"Papan menampilkan notifikasi &amp; saran terkait Pustaka Anda.","HOW_START_BOARD_WAIT":"Please, add a few series or channels to your Library give us a few minutes to process :)","HOW_START_BOARD":"Begini cara Anda dapat menambah serial &amp; film:","IMPORT_FB":"Impor yang Anda sukai dari <span>Facebook</span>","IMPORT_TRAKT":"Impor pustaka media Anda dari <span>Trakt</span>","IMPORT_DISCOVER":"Temukan hal-hal menarik di <span>Temukan</span>","IMPORT_DISK":"Impor film dan acara yang Anda miliki di <span>diska lokal</span>","PLEASE_CREATE_ACC":"Mohon <u>buat akun</u> untuk mengaktifkan sinkronisasi Pustaka &amp; Papan.","IMPORT_DISCOVER_SIGNUP":"Daftar dan temukan hal menarik di <span>Temukan</span>","IMPORT_DISK_SIGNUP":"Daftar dan impor film dan acara yang Anda miliki di <span>diska lokal</span>","LIB_EMPTY_CLOUD":"Pustaka gemawan","LIB_EMPTY_CLOUD_DESC":"Pustaka gemawan pribadi disinkronkan ke semua perangkat","LIB_EMPTY_EARLY":"Bangun pagi","LIB_EMPTY_EARLY_DESC":"Terima notifikasi episode baru","LIB_EMPTY_PERSONAL":"Pribadi","LIB_EMPTY_PERSONAL_DESC":"Terima rekomendasi pribadi","LIB_EMPTY_CALENDAR_DESC":"Jadwalkan kalender tonton Anda","LIB_EMPTY_ALL":"Daftar untuk mendapatkan ini semua:","LIB_EMPTY_BEST":"Daftar untuk mendapat yang terbaik dari Stremio","LIB_EMPTY_OTHER":"Daftar untuk mengaktifkan Kalender & fitur keren lainnya","CALENDAR_ADDED":"Kalender Stremio calendar telah ditambahkan ke kalender bawaan Anda.","CALENDAR_ADDED_MSG":"Jika tidak berhasil, mohon tambahkan URL ini ke aplikasi kalender Anda secara manual","TRAKT_EXPIRED":"Autentikasi Trakt kadaluwarsa, mohon pergi ke Pengaturan dan autentikasi ulang","TRAKT_REQUIRES_LOGIN":"Galat Trakt","TRAKT_REQUIRES_LOGIN_MSG":"Anda harus masuk","TRAKT_IMPORT_WATCHED":"Impor","THEME":"Tema","THEME_DEFAULT":"Bawaan","THEME_ADAPTIVE":"Adaptif","SETTINGS_LABEL":"Pengaturan","SETTINGS_NAV_GENERAL":"Umum","SETTINGS_NAV_PLAYER":"Pemutar","SETTINGS_NAV_STREAMING":"Siaran","SETTINGS_NAV_SHORTCUTS":"Pintasan","SETTINGS_SHORTCUT_RELOAD_APP":"Muat Ulang Aplikasi","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Buka Pengaturan","SETTINGS_SHORTCUT_SWITCH_TABS":"Ganti Tab","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Gilirkan Tab ke Depan","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Gilirkan Tab ke Belakang","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigasi antar menu","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Pergi ke Pencarian","SETTINGS_SHORTCUT_EXIT_BACK":"Keluar / Kembali","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Alih Menu Kecepatan Pemutaran","SETTINGS_SHORTCUT_MENU_VIDEOS":"Alih Menu Video","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Alih Menu Takarir","SETTINGS_SHORTCUT_MENU_INFO":"Alih Menu Info","SETTINGS_SHORTCUT_FULLSCREEN":"Alih Layar Penuh","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Tampilkan Kontrol","SETTINGS_SHORTCUT_PLAY_PAUSE":"Putar / Jeda","SETTINGS_SHORTCUT_VOLUME_UP":"Volume Naik","SETTINGS_SHORTCUT_VOLUME_DOWN":"Volume Turun","SETTINGS_SHORTCUT_SEEK_NEXT":"Seek Next","SETTINGS_SHORTCUT_SEEK_PREV":"Seek Prev","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Seek Backward","SETTINGS_SHORTCUT_SEEK_FORWARD":"Seek Forward","SETTINGS_SHORTCUT_PLAY_NEXT":"Play Next","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Increase Subtitles Size","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Decrease Subtitles Size","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Increase Subtitles Delay","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Decrease Subtitles Delay","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Toggle Sidebar","SETTINGS_SHORTCUT_OR":"or","SETTINGS_SHORTCUT_TO":"to","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Authenticate","SETTINGS_FACEBOOK_IMPORT":"Import","SETTINGS_CALENDAR_SUBSCRIBE":"Subscribe","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Interface Language","SETTINGS_LAUNCH_STARTUP":"Launch on start-up","SETTINGS_VLC_DEFAULT":"Play with VLC","SETTINGS_UI_LANGUAGE":"UI Language","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Escape key exit full screen","SETTINGS_GAMEPAD":"Enable gamepad support","SETTINGS_CLOSE_WINDOW":"Close app when window is closed","SETTINGS_SUBTITLES_LANGUAGE":"Default Subtitles Language","SETTINGS_SUBTITLES_SIZE":"Default Subtitles Size","SETTINGS_SUBTITLES_BACKGROUND":"Subtitles background","SETTINGS_SUBTITLES_COLOR":"Subtitles color","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Subtitles outline color","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Subtitles background color","SETTINGS_SEEK_KEY":"Arrow keys seek time","SETTINGS_SEEK_KEY_SHIFT":"Arrow keys seek time when Shift key is held","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Rewind & Fast-forward duration","SETTINGS_BINGE":"Auto-play next episode","SETTINGS_NEXT_VIDEO":"Show notification to start next episode","SETTINGS_NEXT_VIDEO_TRIGGER":"Show next episode notification for:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Next video popup duration","SETTINGS_PLAY_IN_BACKGROUND":"Play in background","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Play in external player","SETTINGS_RESIZE":"Auto-resize window before playing","SETTINGS_OVERRIDE_SERVER":"Override the streaming server URL (advanced)","SETTINGS_SERVER_URL":"Streaming server URL: ","SETTINGS_SERVER_AVAILABLE":"Streaming server is available.","SETTINGS_SERVER_UNAVAILABLE":"Streaming server is not available.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Error","SETTINGS_SERVER_CONFIGURE_TITLE":"Configure streaming server url","SETTINGS_SERVER_CONFIGURE_INPUT":"Enter a streaming server url","SETTINGS_SERVER_CACHE_SIZE":"Cache size","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent profile","SETTINGS_HTTPS_ENDPOINT":"Streaming HTTPS endpoint: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Always use latest Beta","SETTINGS_IMPORT_FB":"Import from Facebook","SETTINGS_IMPORT_DISK":"Import from local disk","SETTINGS_IMPORT_TRAKT":"Import from Trakt","SETTINGS_PAUSE_MINIMIZED":"Pause playback when minimized","SETTINGS_HWDEC":"Hardware-accelerated decoding","SETTINGS_BACKGROUND":"Background playback","SETTINGS_SUBSCRIBE_CALENDAR":"Subscribe to calendar","SETTINGS_REQ_EXPORT":"Request data export","SETTINGS_ACC_DELETE":"Request account deletion","SETTINGS_CHANGE_PASSWORD":"Change password","SETTINGS_TOS":"Terms of service","SETTINGS_SUPPORT":"Contact support","SETTING_LANGUAGE":"Language","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_LOGOUT":"Log out of Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Log Out of Trakt","SETTINGS_SCAN_FOR_REMOTE":"Scan QR code to open remote","SETTINGS_DESKTOP_NOTIFICATIONS":"Desktop notifications","SETTINGS_DATA_SAVER":"Data saver","SETTINGS_LANGUAGE_INTERFACE":"interface","SETTINGS_LANGUAGE_SUBS":"default subtitles","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Autoselect Audio Track","SETTINGS_DEFAULT_AUDIO_TRACK":"Default Audio Track","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"account","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"version","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"Launch player in a separate window (advanced)","SETTINGS_PLAY_IN_EXTERNAL":"Always start video in external player","SETTINGS_STORAGE_BUTTON":"Clear Local Storage","SETTINGS_STORAGE_MODAL_TITLE":"Are you sure ?","SETTINGS_STORAGE_MODAL_MESSAGE":"This will clear the local storage and log you out.","SETTINGS_HWDEC_PICKER":"Pick hardware-accelerated decoding setting","SETTINGS_HW_AUTOMATIC":"Automatic","SETTINGS_HW_DISABLED":"Disabled","SETTINGS_HW_ACCELERATED":"Decoding acceleration","SETTINGS_HW_FULL":"Full acceleration","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Subtitles","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Controls","SETTINGS_SECTION_AUTO_PLAY":"Auto-Play","SETTINGS_SECTION_ADVANCED":"Advanced","SUBSPICKER_AUDIO":"Audio","SUBSPICKER_SUBTITLES":"Addons Subtitles","SUBSPICKER_BLACK_BACKGROUND":"Use black background color","SUBSPICKER_VERTICAL_OFFSET":"Vertical Offset","SUBSPICKER_SIZE":"Size","SUBSPICKER_DELAY":"Delay","SUBSPICKER_EMBEDDED_SUBS":"Embedded Subtitles","MOBILE_PRIVACY_POLICY":"Privacy Policy","MOBILE_CRASH_REPORTING":"Crash Reporting","MOBILE_ZOOM_TO_FILL":"Zoom To Fill Screen","MOBILE_PASSTHROUGH":"Digital audio output (passthrough)","MOBILE_RUN_LOW_BATTERY":"Run on low battery","MOBILE_RUN_FOREGROUND":"Run as Foreground Service","MOBILE_PERFORMANCE":"PERFORMANCE & STABILITY","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"QR Code expires in ","MOBILE_LOG_INTO":"Log in to your Stremio account ","MOBILE_SCAN_QR":"Scan QR code above or go to ","MOBILE_LINK_ACCOUNT":"Link Account","MOBILE_SPEEDPICKER_CANCEL":"Cancel","MOBILE_SPEEDPICKER_LABEL":"Select Playback Speed","MOBILE_EMPTY_LIBRARY":"Your library is empty","MOBILE_NO_ADDON_ACTIVE":"No Stremio addon active for this type.","MOBILE_ORGANIZER_WARNING":"The Stremio Organizer app provides limited functionality. For a list of playable streams and the full Stremio experience, use Stremio on desktop.","MOBILE_ADDON_LOADING":"is still loading","MOBILE_ADDONS_LOADING":"addons are still loading","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Configure your addon","MOBILE_CONFIGURE_ADDON_LABEL":"Configure Addon","MOBILE_ORGANIZER_ADDONS_WARNING":"The Stremio Organizer app provides a limited selection of addons. For the full Stremio experience, use Stremio on desktop.","MOBILE_DISCONNECT":"Disconnect","MOBILE_LOOKING_FOR_DEVICES":"Looking for devices...","MOBILE_CAST_TO":"Cast to","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Delete Account","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Account deletion is not instant due to legal obligations. After requesting deletion of your account you will have to use different email address/facebook profile to create a new Stremio account in the future.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirm Account Deletion","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Your account has been created using Facebook. To delete your account, please use our user portal at www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Please provide your password to confirm account deletion.","MOBILE_DELETE_ACCOUNT_BUTTON":"Delete Account","NAVIGATION_ON":"On","NAVIGATION_OFF":"Off","MARKETING_AGREE":"I agree to receive marketing communications from Stremio","QUIT":"Quit","CONNECTED":"Connected","AUTHENTICATE":"Authenticate","CACHING":"Caching","SETTINGS_CACHING_DRIVE":"Caching drive","ENABLE_LOCAL_FILES_ADDON":"Enable the local files addon (requires restart)","LOCAL_ADDON_NOT_ENABLED":"Local addon is not enabled. Click here to go to the settings and enable it","ENABLE_REMOTE_HTTPS_CONN":"Enable remote HTTPS connections","TORRENT_PROFILE":"Torrent Profile","DATA_CACHING":"Data Caching","MAGNET_PARSING":"Parsing a magnet link","January":"January","February":"February","March":"March","April":"April","May":"May","June":"June","July":"July","August":"August","September":"September","October":"October","November":"November","December":"December","Monday":"Monday","Tuesday":"Tuesday","Wednesday":"Wednesday","Thursday":"Thursday","Friday":"Friday","Saturday":"Saturday","Sunday":"Sunday","Action":"Action","Comedy":"Comedy","War":"War","Family":"Family","Animation":"Animation","Adventure":"Adventure","Fantasy":"Fantasy","Crime":"Crime","Mystery":"Mystery","Romance":"Romance","Drama":"Drama","Horror":"Horror","Thriller":"Thriller","Sci-Fi":"Sci-Fi","Music":"Music","Biography":"Biography","Documentary":"Documentary","Sport":"Sport","Musical":"Musical","Western":"Western","Film-Noir":"Film-Noir","News":"News","History":"History","Game-Show":"Game-Show","Reality-TV":"Reality-TV","Talk-Show":"Talk-Show","Film & Entertainment":"Film & Entertainment","Gaming":"Gaming","From TV":"From TV","Lifestyle":"Lifestyle","Science & Education":"Science & Education","Cooking & Health":"Cooking & Health","Beauty & Fashion":"Beauty & Fashion","Sports":"Sports","News & Politics":"News & Politics","How-to & DIY":"How-to & DIY","Tech":"Tech","Automotive":"Automotive","Causes & Non-Profits":"Causes & Non-Profits","Movies":"Movies","Uk Live Tv":"Uk Live Tv","Fashion":"Fashion","Business News Radio":"Business News Radio","Business Tv":"Business Tv","Cars & Auto":"Cars & Auto","Comedy Radio":"Comedy Radio","Lifestyle Radio":"Lifestyle Radio","News Tv":"News Tv","Food And Wine":"Food And Wine","Latino Tv":"Latino Tv","Shopping Tv":"Shopping Tv","Religion":"Religion","Kids":"Kids","Body & Soul":"Body & Soul","Education":"Education","Indian Tv":"Indian Tv","Extreme Sports":"Extreme Sports","Middle Eastern Tv":"Middle Eastern Tv","Celebrity Tv":"Celebrity Tv","Science Tv":"Science Tv","Bikini babe":"Bikini babe","Outdoors":"Outdoors","German Tv":"German Tv","French Tv":"French Tv","Italian Tv":"Italian Tv","Gamer Tv":"Gamer Tv","Travel":"Travel","Asian Tv":"Asian Tv","Entertainment":"Entertainment","News Radio":"News Radio","Music Radio":"Music Radio","Language Learning":"Language Learning","Science Radio":"Science Radio","Tech Radio":"Tech Radio","Science & Technology Vod":"Science & Technology Vod","new video":"new video","new episode":"new episode","new movie":"new movie","recommended":"recommended","we recommend":"we recommend","offer of the day":"offer of the day","news":"news","music video":"music video","CTX_SHOW_HOTKEYS":"Show hotkeys","CTX_DISMISS_NOTIF":"Dismiss notifications","CTX_DISMISS_ALL":"Dismiss all","CTX_SHARE":"Share","CTX_COPY_SHARE_LINK":"Copy share link","CTX_COPY_MAGNET_LINK":"Copy magnet link","CTX_COPY_STREAM_LINK":"Copy stream link","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Download this video","CTX_DOWNLOAD_SUBS":"Download subtitles","CTX_VIEW_ON_YOUTUBE":"View on YouTube","CTX_SHOW":"Show","CTX_PLAY":"Play","CTX_PLAY_IN":"Play in","CTX_PLAY_ON":"Play on","CTX_WATCH_ON":"Watch on","CTX_WATCH":"Watch","CTX_WATCHED":"Watched","CTX_WATCH_BEGINNING":"Watch from the beginning","CTX_WATCH_MOBILE":"Watch on a mobile device","CTX_REWIND":"Rewind to beginning","CTX_MARK_WATCHED":"Mark as watched","CTX_MARK_NON_WATCHED":"Mark as non-watched","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"Mark rest as watched","CTX_UNMARK_REST":"Mark rest as non-watched","CTX_RECEIVE_NEW_NOTIF":"Receive new notifications","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"Remove from cache","CTX_REMOVE_CACHE_EP":"Remove episode from cache","CTX_OPEN_CONTAINING":"Open containing folder","CTX_REMOVE":"Remove from library","CTX_AVAILABLE_OFFLINE":"Available Offline","CTX_PAUSED":"Paused","CTX_ALWAYS_ON_TOP":"Always on top","CTX_FULLSCREEN":"Fullscreen","CTX_WRONG_SUBS":"Wrong subtitles?","CTX_REPORT_ISSUES":"Report issue","CTX_COPY":"Copy","CTX_PASTE":"Paste","CTX_CLEAR":"Clear","CTX_CLEAR_RECENT_SEARCHES":"Clear recent searches","HELLO_THERE":"Hello There","HOPE_YOU_ENJOY":"We hope you enjoy Stremio and it\'s one of your favourite apps already!","WHO_ARE_WE":"Who are we? We are the team behind it - two guys who work hard every day for the last 3 years to make this product better and better.","SUPPORT_US":"If you enjoy using Stremio, if Stremio is valuable for you - spread the word!","SPREAD_THE_WORD":"Share with your friends now, spread the word about Stremio","MORE_PEOPLE":"The more people use Stremio, the better it will get!","SEND_A_LINK":"Or send a link to our website","TIP_LOCALFILES":"Tip: you can drag & drop local video files into Stremio","ADDON_MY":"My Addons","ADDON_COMMUNITY":"Community Addons","ADDON_OFFICIAL":"Official Addons","ADDON_REPOS":"Addon collections","ADDON_SEARCH":"Search addons","ADDON_INSTALL":"Install","ADDON_CONFIGURE":"Configure","ADDON_UNINSTALL":"Uninstall","ADDON_UPGRADE":"Upgrade","ADDON_INSTALLED":"Installed","ADDON_INSTALLED_MSG":"Addon installed!","ADDON_UPGRADED_MSG":"Addon upgraded!","ADDON_UNKNOWN":"Unknown","ADDON_ERR":"Addon install error!","ADDON_DISCONNECTED":"Disconnected","ADDON_APP_MISSING":"the app for this source is not installed. Do you want to install it now?","ADDON_APP_INSTALL":"Install Now","ADDON_PAGE":"Addon Page","ADDON_TOP_CONTENT":"Best from this Addon","ADDON_PROVIDES":"This addon will give you:","ADDON_WATCH":"Watch #{types} now!","ADDON_WATCH_FREE":"Watch #{types} for FREE now!","ADDON_ADDON":"Addon","ADDON_SUPPORTED_TYPES":"Supported types","ADDON_SUPPORTED_CATALOGS":"Supported catalogs","ADDON_PROVIDES_DISCOVER":"More #{types} in Discover","ADDON_PROVIDES_STREAMS":"Watch #{types}","ADDON_PROVIDES_STREAMS_FREE":"Watch #{types} for FREE","ADDON_PROVIDES_SUBTITLES":"Subtitles for #{types}","ADDON_CANTDETECT":"We couldn\'t detect a running Stremio, so we couldn\'t detect what addons you have installed.","ERR_NO_META":"No information found about this ","ERR_GETTING_META":"Error retrieving information about this.","ERR_CANT_PARSE_MAGNET":"Unable to parse magnet","ERR_NO_MAGNET_INFOHASH":"No valid info hash for magnet","ERR_NO_FILE_PATH":"Unable to send request without a path to file","ERR_NO_TORRENT":"No torrent returned","ERR_NO_SUPPORTERD_FILES":"No supported files found","ERR_OPENING_FILES":"Could not open external files","ERR_INVALID_LINK":"Invalid link","ERR_REGISTERED_ONLY":"This option is available for registred users only.","ERR_CLIPBOARD":"Can not play from clipboard","ERR_CLIPBOARD_READ":"Can not read the clipboard on this platform","ERR_CLIPBOARD_GENERIC":"No playable URL found in the clipboard. Please copy a URL (e.g. a magnet link) to a video.","BOARD_CONTINUE_WATCHING":"Continue watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Movies picked specially for you.<br />This movie is a sample recommendation.","BOARD_EXPLANATION_EPISODES":"New episodes of your favorite Series come here.<br />Add series you follow to your Library.","BOARD_EXPLANATION_VIDEOS":"New episodes of your favorite Channels come here.<br />Add YouTube channels you follow to your Library.","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE":"Contribute","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"Learn more","WEBSITE_COMPANY":"Company","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Need Help?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"Tonton Langsung","WEBSITE_SLOGAN_ALL":"Semua Konten Vidio yang Kamu Nikmati dalam Satu Tempat","WEBSITE_SLOGAN_NEW":"Semua Yang Kamu Tonton","WEBSITE_SLOGAN_NEW_NEW":"Freedom to Stream","WEBSITE_WATCH_FROM":"Tonton dari","WEBSITE_DOWNLOAD":"Unduh Sekarang","WEBSITE_DOWNLOAD_FOR":"Unduh Sekarang untuk","WEBSITE_IS_DESKTOP":"Stremio adalah aplikasi desktop, buka halaman ini dengan komputer kamu dan download","WEBSITE_DESKTOP_DEMO_VID":"Desmo Desktop","WEBSITE_PAGE_HOME":"Beranda","WEBSITE_PAGE_FEATURES":"Fitur","WEBSITE_PAGE_ADDONS":"Tambahan","WEBSITE_PAGE_TECH":"Teknologi","WEBSITE_PAGE_CREATE_ADDON":"Buat Tambahan","WEBSITE_PAGE_CONTACTS":"Kontak","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Film","WEBSITE_TYPE_series_PL":"Serial","WEBSITE_TYPE_tv":"TV Langsung","WEBSITE_TYPE_channel":"Saluran","WEBSITE_STREMIO_WHAT_IS":"Stremio adalah sebuah aplikasi yang membantu kamu mengatur and menonton vidio favorit, film, serial televisi dan saluran televisi kamu secara langsung","WEBSITE_FEATURES_WATCH":"Tonton HD secara langsung","WEBSITE_FEATURES_WATCH_DETAIL":"Klik dan mainkan film kesukaan, acara televisi, vidio dan saluran televisi kamu.","WEBSITE_FEATURES_SUBS":"Subjudul Otomatsi","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio secara otomatis memilih subjudul yang disinkronkan untuk bahasa kamu.","WEBSITE_FEATURES_SUBS_LABEL":"Langkahmu, Ketua.","WEBSITE_FEATURES_CAST":"Putar di Televisi & perangkat seluler","WEBSITE_FEATURES_CAST_DETAIL":"Cast to AppleTV, Chromecast, Smart TV (DLNA/UPnP) and mobile devices.","WEBSITE_LIB":"Nikmati pustaka pribadi kamu yang tersinkronisasi pada seluruh perangkat kamu","WEBSITE_LIB_COLLECT":"Kumpulkan dari Stremio","WEBSITE_LIB_IMPORT":"Impor dari Facebook","WEBSITE_LIB_LOCAL":"Tambahkan dari perangkat lokal kamu","WEBSITE_BOARD":"The Board - Your one-stop place for Notifications and Recommendations","WEBSITE_BOARD_RECOMMEND":"Rekomendasi siaran televisi","WEBSITE_BOARD_TRENDING":"Film yang sedang tren","WEBSITE_BOARD_NEW":"Vidio baru","WEBSITE_BOARD_EPISODE":"Episode baru","WEBSITE_BOARD_1":"Sedang mencari sesuatu yang menarik untuk ditonton? Dapatkan rekomendasi berdasarkan selera kamu!","WEBSITE_BOARD_2":"Dapatkan pemberitahuan ketika episode baru dari siaran favorit televisi kamu atau siaran Youtube telah keluar!","WEBSITE_BOARD_YOUTUBE":"Vidio baru dari siaran Youtube","WEBSITE_BOARD_EPISODES":"Episode baru dari serial yang kamu ikuti","WEBSITE_ADDONS":"Konten Tambahan","WEBSITE_TECH_DETAIL":"Kita cinta teknologi, kita cinta sekali dengan ilmu pengetahuan!\\nStremio menggunakan teknologi open source berikut :","WEBSITE_TECH_WCJS":"WebChimera.js mengizinkan Stremio untuk memutar format vidio apapun dengan performa yang baik.","WEBSITE_TECH_WCJS_EXTRA":"Kita adalah penyumbang proyek inti","WEBSITE_TECH_ELECTRON":"Electron menyediakan sebuah platform inovatif untuk membangung Stremio.","WEBSITE_TECH_ELECTRON_EXTRA":"Kita adalah penyumbang proyek","WEBSITE_TECH_LINVODB":"Sebuah teknologi basis data yang memastikan data kamu terorganisir dan tersedia dimanapun kamu masuk.","WEBSITE_TECH_LINVODB_EXTRA":"Teknolog Internal","WEBSITE_CREATE_ADDON":"Buat Addon kamu","WEBSITE_CREATE_ADDON_DETAIL":"Apakah kamu menyediakan sebuah jasa konten vidio? Kita akan membantu mendapatkan manfaat dari fitur dengan membuatkan Addon kamu.","WEBSITE_CREATE_ADDON_BENEFITS":"Manfaat dari membuat sebuah Addon untuk Stremio","WEBSITE_P2P_BEAUTY":"Keindahan straming Peer-To-Peer","WEBSITE_P2P_1":"Video full HD / 4K yang andal dan terjangkau sesuai permintaan atau streaming langsung","WEBSITE_P2P_2":"Platform distribusi memberikan pengalaman pengguna yang luar biasa","WEBSITE_P2P_3":"Kami akan membuat addon yang memenuhi kebutuhan Anda","WEBSITE_P2P_CONTACT":"Tertarik? Kamu dipersilahkan untuk <a href=\'mailto:office@stremio.com\'>menghubungi kami</a>.","WEBSITE_P2P_CONTACT_EXTRA":"Kami akan dengan senang hati membantu Anda mengintegrasikan konten Anda dengan Stremio!","WEBSITE_P2P":"Sesekali, muncullah teknologi yang mengubah nama game tersebut. Kami menginvestasikan banyak waktu dan upaya dalam membangun mesin streaming video Peer-to-Peer (P2P) kami yang memberikan kinerja hebat dan keserbagunaan untuk beradaptasi dengan kasus penggunaan apa pun.\\nHubungi kami untuk video P2P berkemampuan DRM sesuai permintaan atau streaming langsung.","WEBSITE_THOUGHTS":"Thoughts we share:","WEBSITE_SPREAD":"Spread the word about Stremio:","WEBSITE_CONTACT":"Contact us, we\'ll be happy to hear from you!","WEBSITE_OPENSOURCE":"For our open source projects, go to our","WEBSITE_BITCOIN":"Donate bitcoin:","WEBSITE_FAQ":"Frequently asked questions","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Questions","WEBSITE_TOS":"Terms of use","WEBSITE_LEGAL":"Legal","WEBSITE_PAGE_ABOUT":"About","WEBSITE_PAGE_BECOME_PARTNER":"Become a partner","WEBSITE_ALL_YOU_CAN_WATCH":"Freedom To Watch\\nEverything You Want.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"What is stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio is a one-stop hub for video content aggregation. Discover, organize and watch video from all kind of sources on any device that you own.","WEBSITE_WHAT_IS_STREMIO_P2":"Movies, TV shows, series, live television or web channels like YouTube and Twitch.tv - you can find all this on Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio is a modern media center that\'s a one-stop solution for your video entertainment. You discover, watch and organize video content from easy to install addons.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Movies, TV shows, live TV or web channels - find all this on Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Enjoy on all your Media devices","WEBSITE_DEVICES_COLLECT":"Collect from Stremio","WEBSITE_DEVICES_IMPORT_FB":"Import from facebook","WEBSITE_DEVICES_LOCAL":"Add from local drive","WEBSITE_JOIN_THE_PARTY_NOW":"Join the party now","WEBSITE_DEVICES_ALL":"Easy to use on all your devices;","WEBSITE_EXTENDABLE_CATALOG":"Infinitelly extendable video catalog;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Great features to organize your media;","WEBSITE_AS_SEEN_ON":"As seen on","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"About us","WEBSITE_LINK_TECHNOLOGY":"Technology","WEBSITE_LINK_APPS":"Apps","WEBSITE_LINK_DOWNLOADS":"Downloads","WEBSITE_MORE":"More","WEBSITE_LINK_ADDONS":"Addons","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Contribute","WEBSITE_LINK_COMMUNITY":"Community","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... & More","WEBSITE_LINK_HELP":"Help center","WEBSITE_LINK_CONTACTS":"Business inquiries","WEBSITE_LINK_TOS":"Terms & conditions","WEBSITE_LINK_PRAVACY":"Privacy policy","WEBSITE_SUBSCRIBE":"Subscribe","WEBSITE_NEWSLETTER":"Join Our Newsletter for amazing stuff","WEBSITE_PLACEHOLDER_EMAIL":"Your Email","WEBSITE_COMMUNITY":"Community","WEBSITE_LINK_PRAVACY_LEGAL":"Privacy & legal","WEBSITE_WHY":"Why we do it","WEBSITE_WHY_P1":"At Stremio, we come to work every day because we want to solve an important problem for the video-on-demand industry. There’s so much new content published every minute that it’s virtually impossible to find your way around it.","WEBSITE_WHY_P2":"We help people navigate that huge world of video entertainment and discover new content to enjoy. Our apps bring together movies, series, live TV, web channels, and more. We are dedicated to making it incredibly easy for users to find titles and broadcasters that they love.","WEBSITE_WHY_P3":"You can use our service on any device and at any time, making Stremio the only video entertainment hub you’ll ever need.","WEBSITE_TEAM":"TEAM","WEBSITE_TEAM_P":"The Stremio team is small but powerful: between the ten of us, we code in X languages, and share expertise in software development, UI and UX design, marketing and advertising, and business and startups.","WEBSITE_FEATURES":"Features","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Discover new content with ease","WEBSITE_FEATURES_DISCOVER_P":"Easily discover new movies, TV shows, series and channels to watch. Browse by category, genre, rating, recency, etc. or simply type a name to find. Stremio makes finding new video content a piece of cake.","WEBSITE_FEATURES_ALL_CONTENT":"All of your video content on one screen","WEBSITE_FEATURES_ALL_CONTENT_P1":"See what movies, series or videos you didn’t finish and continue watching them; get notified for new episodes and releases; and browse through the recommendations you will get based on your viewing habits.","WEBSITE_FEATURES_LIBRARY":"Organize your video library","WEBSITE_FEATURES_LIBRARY_P1":"Add any title to your Stremio library with a single click and find your way around your content, neatly arranged by type, recency, or alphabetical order.","WEBSITE_FEATURES_CALENDAR":"Keep track of everything you watch","WEBSITE_FEATURES_CALENDAR_P1":"Get a calendar visualization of all the movies and series you add to your library. Export your Stremio calendar and sync it so you always know when a new episode or a premier is due.","WEBSITE_FEATURES_BIG_SCREEN":"Enjoy your video content on a bigger screen","WEBSITE_FEATURES_BIG_SCREEN_P1":"Cast whatever you are watching to another device - be it a phone, tablet or a TV with a single click.","WEBSITE_FEATURES_SOURCES":"Watch video from many different sources","WEBSITE_FEATURES_SOURCES_P":"Install official and community addons to enjoy video sourced from many different providers - all in one sleek, easy to use app.","WEBSITE_CREATE_AN_ADDON":"Create an addon","WEBSITE_FEATURES_SYNC":"Sync your library across different devices and resume your playback","WEBSITE_FEATURES_SYNC_P1":"Login with your account across all your devices and enjoy your library, addons, playback and calendar synchronized.","WEBSITE_FEATURES_EXTENDABLE":"Extendable video catalog by addons","WEBSITE_FEATURES_EXTENDABLE_P1":"The Stremio addon catalog provides a number of addons to install and watch a variety of video content from. This includes movies, shows, live TV, sport, news, podcasts, web channels, video games and more.","WEBSITE_FEATURES_AUTO_SUBS":"Automatic subtitles","WEBSITE_FEATURES_AUTO_SUBS_P1":"With our subtitle addons you get automatically selected options for your preferred language.","WEBSITE_FEATURES_CHROMECAST":"Casting to Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Enjoy your video content on a bigger screen or just cast whatever you are watching to another device.","WEBSITE_FEATURES_KEEP_TRACK":"Keep track of your favorite TV shows and Web channels","WEBSITE_FEATURES_KEEP_TRACK_P1":"Get a calendar visualization and notifications for new episodes of your favorite series and web channels.","WEBSITE_FEATURES_POWER_USER":"Power user features","WEBSITE_FEATURES_POWER_USER_P1":"Play in external player","WEBSITE_FEATURES_POWER_USER_P2":"Play from a torrent file or magnet link","WEBSITE_FEATURES_POWER_USER_P3":"Import to your library from Facebook likes or local disk","WEBSITE_ADD_ONS":"Addons","WEBSITE_ADD_ONS_P1":"All of the video content Stremio provides get sourced through an addon system - no content or content provider has been built into the app.","WEBSITE_ADD_ONS_P2":"There are two groups of addons available: official and community addons.","WEBSITE_ADD_ONS_P3":"The official ones are developed and hosted by Stremio, whereas community addons are created by our community members, who also host them.","WEBSITE_ADDONS_OFFICIAL":"Official addons","WEBSITE_ADDONS_WATCHUB":"Stream your favourite movies, series and shows from providers like iTunes, Hulu, Amazon and other UK/US services.","WEBSITE_ADDONS_YOUTUBE":"Watch your favourite YouTube channels ad-free and get notifications for new uploads from the contributors you follow.","WEBSITE_ADDONS_FILMON":"Watch live TV, movies and social television for free. 600 TV channels, 45,000 free movies, documentaries and more.","WEBSITE_ADDONS_OPENSUBTITLES":"Movie and TV subtitles in multiple languages, thousands of translated subtitles uploaded every day.","WEBSITE_ADDONS_COMMUNITY":"Community addons","WEBSITE_ADDONS_FILMON_VOD":"Watch video on demand from Filmon.tv","WEBSITE_ADDONS_TWICH":"Watch live streams from Twitch.tv - a video streaming platform for the e-sports industry.","WEBSITE_ADDONS_VODO":"Watch indie movies absolutely free of charge.","WEBSITE_ADDONS_NETFLIX":"Watch Netflix movies and web series.","WEBSITE_ADDONS_CREATE":"Create an addon","WEBSITE_ADDONS_CREATE_P1":"If you wish, you can develop your own addon. This way, you can give yourself and our community access to new video content, and reach a new, targeted audience of millions of users around the world.","WEBSITE_ADDONS_START_CREATE":"To get started, visit the Stremio Addon SDK page:","WEBSITE_DOWNLOADS":"Downloads","WEBSITE_DOWNLOADS_P1":"For optimal performance, we recommend that you use the latest available version of the Stremio apps. If for some reason, however, you would like to use an older version, you can download it here.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio for Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio for macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio for Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio for Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio for iOS (limited version)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"The Stremio platform is open source and you can easily create an addon for content that is currently not sourced.","WEBSITE_CONTRIBUTE_WHY":"Why should you create an addon?","WEBSITE_CONTRIBUTE_WHY_P1":"Reach new audience for your video content","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio’s user base is growing rapidly - within the first year of the launch, Stremio had gained 1 million users around the world, and in the second year of the platform’s existence this number grew to 2.5 million.","WEBSITE_CONTRIBUTE_WHY_P3":"With your addon, you can easily reach this audience and distribute your video content to them.","WEBSITE_CONTRIBUTE_ALL":"Watch your favourite movies, videos, series and channels in one single place.","WEBSITE_CONTRIBUTE_ALL_P1":"You’re a fan of a particular type of content not available on Stremio yet? Create an addon for it and enjoy watching your favourite videos in one of the largest and easiest to use entertainment hubs on the market.","WEBSITE_CONTRIBUTE_ALL_P2":"On top of that, you’ll get the endless gratitude of other like-minded Stremio community members.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetize your addon and earn money with its help","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Once you develop a new addon for Stremio, you can easily monetize it through a number of different ways. If you are considering this, feel free to get in touch with us at ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - we would be happy to consult and advise you about addon monetization options.","WEBSITE_CONTRIBUTE_TRANSLATE":"Become a volunteer translator","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"If you want to enjoy the Stremio apps in different languages, you can join our community of volunteer translators. They help us add versions of the Stremio in many different languages.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Are you eager to get started?","WEBSITE_TRANSALTE_STREMIO":"Translate Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Official communities","WEBSITE_COMMUNITY_OFFICIALS_P1":"Become a part of the growing Stremio community. Follow us on social media and don’t be shy to say hello - we love hearing from our fans! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Unofficial communities","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partners and supporters","WEBSITE_COMMUNITY_GOODIES":"Stremio goodies","WEBSITE_COMMUNITY_WALLPAPERS":"Wallpapers","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"Contact us","WEBSITE_CONTACT_US_P1":"If you have any questions, comments or suggestions, feel free to get in touch with us through the contact form below.","WEBSITE_CONTACT_US_P2":"Keep in mind that we are located in Bulgaria so there may be a delay in addressing your query due to time zone differences.","WEBSITE_CONTACT_US_SUCCESS":"Your message has been sent. We will get back to you at our earliest convenience.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Please enter a valid email!","WEBSITE_CONTACT_US_Q_RELATED_TO":"What is your question related to?","WEBSITE_CONTACT_US_Q_OS":"What is your Operation System?","WEBSITE_CONTACT_US_PH_EMAIL":"Your E-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Message","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"SEND","WEBSITE_CONTACT_US_Q_1":"How to install?","WEBSITE_CONTACT_US_Q_2":"How to uninstall?","WEBSITE_CONTACT_US_Q_3":"(HTML) How to make lasagna?","WEBSITE_CONTACT_US_Q_4":"Addons","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Technology","WEBSITE_TECHNOLOGY_P1":"We love technology and mad science. </br> Here is what powers Stremio (it’s all open-source).","WEBSITE_TECHNOLOGY_P_QT":"Cross-platform software development at its best.","WEBSITE_TECHNOLOGY_P_MPV":"A free, open source, and cross-platform media player.","WEBSITE_TECHNOLOGY_P_RN":"React Native lets you build mobile apps using only JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework embedded into application to get multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm is a mobile platform and a replacement for SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js is an open-source, cross-platform, JavaScript runtime environment.","WEBSITE_TECHNOLOGY_P_RUST":"Rust is a multi-paradigm system programming language focused on safety, especially safe concurrency.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribute to the project","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"There are two ways you can contribute to Stremio and help us make the product even better.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"You can donate your valuable language skills by translating the platform...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"or","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... you can employ your coding skills for creating community addons. ","WEBSITE_TRANSLATE_STREMIO":"Translate Stremio","WEBSITE_404_OH_NO":"Oh, tidak! Halaman yang kamu cari tidak ada disini...","WEBSITE_GO_HOME":"Ke Beranda","WEBSITE_LINK_OTHER_DOWNLOADS":"Unduh lainnya","WEBSITE_FAQ_ABR":"Pertanyaan yang sering diajukan","WEBSITE_SUPPORT":"Bantuan","WEBSITE_DOWNLOAD_4_0_BETA":"Unduh Stremio 4 beta Sekarang","WEBSITE_GET_FOR_DESKTOP":"Dapatkan untuk Desktop","WEBSITE_LINK_ADDON_COMPETITION":"Kompetisi Addon","WEBSITE_LINK_ART_CONTEST":"Kontes Seni","WEBSITE_MY_ACCOUNT":"Akun Saya","WEBSITE_MAINPAGE_FAQ_001_H1":"Apa itu Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio adalah pusat media modern yang memberikan kamu kegemaran untuk menonton apapun yang kamu mau.","WEBSITE_MAINPAGE_FAQ_002_H1":"Bagaimana itu bekerja?","WEBSITE_MAINPAGE_FAQ_002_P1":"Setelah Anda menginstal Stremio di perangkat Anda dan membuat akun, yang harus Anda lakukan adalah mengunjungi katalog addon dan menginstal addon apa pun yang Anda inginkan, dan Anda siap melakukannya!","WEBSITE_MAINPAGE_FAQ_002_P2":"Setelah itu, Anda dapat pergi ke bagian Discover atau Board untuk mulai menjelajahi konten.","WEBSITE_MAINPAGE_FAQ_003_H1":"What can I watch here?","WEBSITE_MAINPAGE_FAQ_003_P1":"A lot: Movies, TV shows, Web channels, Sport, TV channels, listen to Podcasts and more. Thanks to our addon system, you can access a variety of content.","WEBSITE_MAINPAGE_FAQ_004_H1":"Is Stremio open-source?","WEBSITE_MAINPAGE_FAQ_004_P1":"Yes, you can check the following links: ${1}desktop app${2} and ${3}GitHub organization${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Is Stremio safe?","WEBSITE_MAINPAGE_FAQ_005_P1":"Yes: because it is open-source software, the code is publically auditable and you can review it yourself.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"How about my privacy?","WEBSITE_MAINPAGE_FAQ_006_P1":"We respect users\' privacy and do not collect any personal data besides the essential minimum to create and sync your account.","WEBSITE_MAINPAGE_FAQ_006_P2":"There is also a ${1}Guest mode${2} at signup, which requires no data whatsoever: in this mode, no calls are made to our backend. However, it comes at the expense of useful features, such as being able to sync your library across devices.","WEBSITE_MAINPAGE_FAQ_007_H1":"Can I cast to my TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Yes, we support Chromecast and you can cast both from desktop and mobile apps (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"How many addons does Stremio have?","WEBSITE_MAINPAGE_FAQ_008_P1":"As of late 2019, over 50 - for more information, check our addon catalog.","WEBSITE_MAINPAGE_FAQ_009_H1":"Can Stremio be extended beyond what\'s in the addon catalog?","WEBSITE_MAINPAGE_FAQ_009_P1":"Yes, you should check those: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"What devices does Stremio support?","WEBSITE_MAINPAGE_FAQ_010_P1":"We have desktop apps for Windows, Mac and Linux. For mobile, we support Android and iOS, although keep in mind that the iOS is limited in functionality (does not support most addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"There are many Android-based devices which you can run Stremio on, like NVIDIA Shield and Amazon Fire Stick, but we do not support them officially.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Can you add certain content to Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Sorry, we provide no content ourselves, but the more Stremio addons you have installed, the more content you will be able to find.","WEBSITE_MAINPAGE_FAQ_012_H1":"Can Stremio play magnet links?","WEBSITE_MAINPAGE_FAQ_012_P1":"Yes, and it can also play normal HTTP links and torrent files (drag and drop).","WEBSITE_MAINPAGE_FAQ_013_H1":"Can I download a video and watch offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Available offline is an upcoming feature, but if you allow Stremio to cache on your device (from the settings panel) you can watch the videos later without a connection.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nothing works, help me!","WEBSITE_MAINPAGE_FAQ_014_P1":"Are you sure you have installed addons? If yes, check with our ${1}help center${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"How does Stremio sustain it\'s development operations?","WEBSITE_MAINPAGE_FAQ_015_P1":"We run non-intrusive ads occassionally, but we\'re considering moving to a donation model.","WEBSITE_MAINPAGE_FAQ_015_P2":"For more questions, go to our ${1}help center${2}.","HELP_LEARN_MORE":"Help us learn more about you.","LIFESTYLE":"Lifestyle","SPORTS":"Sports","FOOD_HEALTH":"Food & health","BEAUTY_FASHION":"Beauty & Fashion","NEWS":"News","GAMING":"Gaming","SCIENCE_EDUCATION":"Science & education","MUSIC":"Music","TRAVEL":"Travel","LATE_NIGHT":"Late Night","REALITY":"Reality","COMEDY":"Comedy","DIY":"How to DIY","TECH":"Tech","CINEMA":"Cinema","CONTINUE":"Continue","SLOW_LOADING":"SLOW LOADING?","I_GIVE_UP":"I GIVE UP","LEARN_MORE":"Learn more","POOR_SOURCE":"This source is poorly available or your internet connection is not fast enough","PICK_CATEGORIES_ERR":"You have to pick at least 3 categories","ADJUST_TIMING":"Adjust timing with ","ADJUST_SIZE":"Adjust size with ","SEARCH_ANYTHING":"You Can Search Anything...","ALL_CATEGORIES":"All","SEARCH_CATEGORIES":"Movies, Series, YouTube & TV","SEARCH_PERSONS":"Actors, Directors & Writers","SEARCH_PROTOCOLS":"HTTP & Magnet Links","SEARCH_TYPES":"IMDB / TVDB links","WATCHED":"Watched","SHOW_LESS":"Show less","LAST_SEARCHES":"Last searches","CLEAR_HISTORY":"Clear history","CHOOSE_SOME":"CHOOSE SOME OF THIS:","NO_WEB_REMOTE":"Web Remote could not be loaded","STREMIO_OFFLINE":"Stremio is offline","STREMIO_EXPENSIVE_CONNECTION":"We\'ve detected that you are using a mobile data connection, do you want to continue?","USE_DATA":"Use data","WARNING":"Warning","MORE_INFO":"More Info ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Loading ...","STREMIO_TV_BACK_TO_LANGUAGES":"Back to languages","STREMIO_TV_REMOTE":"Remote","STREMIO_TV_GO_TO":"Go to:","STREMIO_TV_OR_SCAN":"or scan:","STREMIO_TV_ADDON_INSTRUCTIONS":"Please follow the instructions in order to install your preferred addons.","STREMIO_TV_LIVE_TV":"Live TV","STREMIO_TV_RESUME_WATCHING":"Resume Watching","STREMIO_TV_LOADING_BACKGROUND":"Loading Background","STREMIO_TV_CHECKING_AUTHENTICATION":"Checking Authentication","STREMIO_TV_LOADING_BOARD":"Loading Board","STREMIO_TV_LOGIN_HEADER_LINE_1":"We want our users to have the best possible personalized experience with our software.","STREMIO_TV_LOGIN_HEADER_LINE_2":"It is for this reason that we kindly ask you to make and/or login to your account.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Thank you for understanding,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"The Stremio Team","STREMIO_TV_REMOTE_INSTRUCTIONS":"In order to use the Web Remote with your Smartphone / Tablet / Desktop:","STREMIO_TV_WIFI_SETUP":"Wi-Fi Setup","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle did not detect a internet connection.","STREMIO_TV_WIFI_DETAILS_1":"Connect to:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Use password:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Open a web browser with the link:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Default","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"By Last Watched","STREMIO_TV_LIBRARY_SORT_NAME":"By Name","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"By Times Watched","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Season ${1}","STREMIO_TV_STREAMS_LOADING":"Loaded ${1} / ${2} addons...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} addon is still loading...","STREMIO_TV_PLAYER_SETTINGS":"Player settings","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Subtitles delay","STREMIO_TV_PLAYER_AUDIO_DELAY":"Audio delay","STREMIO_TV_PLAYER_VIDEO_SCALING":"Video scaling","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Unsupported stream source","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Failed opening external link","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Not adjustable in audio passthrough mode","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Play with ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Play with libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Switching to libVLC player due to a playback error","STREMIO_TV_ADDONS_TITLE":"Use Stremio on your Phone or PC to install or configure addons and press \\"Sync Addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Note: make sure you are using the same Stremio account","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sync Addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons successfully synchronized","STREMIO_TV_ADDONS_SYNC_FAILED":"Failed to synchronize addons","STREMIO_TV_META_LINK_FAILED":"Failed opening meta link","STREMIO_TV_CATALOG_LOADING":"Catalog still loading...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Interface language updated","STREMIO_TV_SETTINGS_THEME_UPDATED":"Theme updated","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Default Player","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"External Player","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferred Language","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Secondary Preferred Language","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possible playback issues on some devices","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Some video formats might not work","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"No caching","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Default","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Soft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Fast","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Fast","STREMIO_TV_SETTINGS_SERVER_URL":"Streaming server url","STREMIO_TV_SETTINGS_SERVER_VERSION":"Server version","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Unknown","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio version","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Edit server url","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Enter a streaming server url","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Show statistics while loading","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"To read Stremio\'s Privacy Policy, visit:","STREMIO_TV_SETTINGS_TOS_TEXT":"To read Stremio\'s Terms and Conditions, visit:","STREMIO_TV_NAV_SEARCH":"Search","STREMIO_TV_NAV_HOME":"Home","STREMIO_TV_NAV_DISCOVER":"Discover","STREMIO_TV_NAV_LIBRARY":"Library","STREMIO_TV_NAV_MOVIES":"Movies","STREMIO_TV_NAV_SERIES":"Series","STREMIO_TV_NAV_CHANNELS":"Channels","STREMIO_TV_NAV_TV":"Live TV","STREMIO_TV_NAV_SETTINGS":"Settings","STREMIO_TV_NAV_ADDONS":"Addons","STREMIO_TV_LOGIN_TITLE":"Link Account","STREMIO_TV_LOGIN_EXPIRES_IN":"Expires in","STREMIO_TV_LOGIN_STEP_ONE":"Scan QR Code above or go to","STREMIO_TV_LOGIN_STEP_TWO":"Log in to your Stremio account","STREMIO_TV_LOGIN_NEW_LINK":"Request a new link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Login code refreshed","STREMIO_TV_SEARCH_PLACEHOLDER":"Type something","STREMIO_TV_SEARCH_NO_ADDONS":"No addons were requested for catalogs!","STREMIO_TV_SEARCH_BUTTON":"Search","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Search History","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"You can search for Titles, Actors, Channels and more...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Clear Search History","STREMIO_TV_FILTERS_DESCRIPTION":"Choose from one of the filters below","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"Filters","SETTINGS":"Settings","ACCOUNT":"Account","LOGOUT":"Logout","THEMES":"Themes","PLAYBACK":"Playback","PLAYBACK_SPEED":"Playback Speed","AUDIO_TRACKS":"Audio Tracks","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Videos","SERVER":"Server","LINKS":"Links","ABOUT":"About","INTERFACE":"Interface","ANIMATIONS":"Animations","STATUS":"Status","LANGUAGE":"Language","SIZE":"Size","DELAY":"Delay","BOLD":"Bold","OPACITY":"Opacity","TEXT_COLOR":"Text Color","OUTLINE_COLOR":"Outline Color","BACKGROUND_COLOR":"Background Color","BACKGROUND_BLUR":"Background Blur","SEEK_TIME_DURATION":"Seek Time Duration","AUTO_PLAY":"Auto-Play Next Episode","PLAY_NOW":"Play Now","MARK_AS_WATCHED":"Mark as Watched","MARK_AS_UNWATCHED":"Mark as Unwatched","REWIND_TO_BEGINNING":"Rewind to Beginning","CONTINUE_WATCHING":"Continue Watching","ALL":"All","SECONDS":"seconds","ON":"ON","OFF":"OFF","RELOAD":"Reload","EDIT_URL":"Edit URL","NONE":"None","EMBEDDED":"Embedded","REMOTE_SWITCH_DEVICES":"Switch Devices","REMOTE_VIDEOS":"Videos","REMOTE_ADJUST_TIMING":"Adjust timing","REMOTE_ADJUST_SIZE":"Adjust size","REMOTE_COULD_NOT_BE_LOADED":"Web Remote could not be loaded","REMOTE_RETRY":"Retry","TORRENT_PROFILE_DEFAULT":"Default","TORRENT_PROFILE_SOFT":"Soft","TORRENT_PROFILE_FAST":"Fast","TORRENT_PROFILE_ULTRA_FAST":"Ultra Fast","FAQ_001_H1":"What is Stremio?","FAQ_001_P1":"Stremio is a media center software designed for video entertainment with ease of use in mind. Stremio allows you to organize &amp; watch your own collection of movies, series, channels and live TV.","FAQ_001_P2":"Stremio collect the content it shows you from your local disk and our addons system.","FAQ_001_P3":"It will also notify you when new episodes/videos/movies you\'re interested in come out, and provide movie recommendations for you.","FAQ_02_H1":"How does Stremio compare to Kodi and Plex?","FAQ_02_P1":"We are inspired by those two pieces of software. But we have different goals - Stremio is specifically targeted towards entertainment video, and strives to become the mainstream solution for that by being very easy to use.","FAQ_02_P2":"Stremio will never be as customizable and feature-rich as Kodi and Plex, but it is significantly easier to use. Just ${1} get it and see ${2} :)","FAQ_03_H1":"How does Stremio compare to Netflix?","FAQ_03_P1":"Again, Netflix is one of our inspirations. We strive to achieve the user experience of Netflix, plus a lot of added goodies. But most importantly, we\'re giving you the freedom to manage your own library and add new content sources with our addon system.","FAQ_03_P2":"That makes Stremio infinitely extendable, so when you use Stremio, you\'re never limited to the content Netflix decides to license. For example, through Stremio you can watch content from ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} and even ${9}Netflix${10} itself!","FAQ_04_H1":"How does Stremio compare to Flipboard?","FAQ_04_P1":"We don’t get that question that often, except when talking to start-up people :)","FAQ_04_P2":"Stremio is by design a content aggregator, which essentially makes it Flipboard for video. This is very apparent in our Board section, which gives you catalogues and new episode/new video notifications for what you follow, just like Flipboard.","FAQ_05_H1":"How does Stremio compare to Popcorn Time?","FAQ_05_P1":"Stremio and Popcorn Time are similar in user interface, because there aren’t many ways to do video entertainment catalogues right :)","FAQ_05_P2":"But while Popcorn Time is focused on streaming torrents from specific sources, Stremio is unrestricted and is merely a content aggregator - it’s not locked into a specific content source.","FAQ_05_P3":"Furthermore, we do not provide any torrent addons by default, so Stremio does not cover the Popcorn Time use-case with official functionality.","FAQ_05_P4":"Another notable difference is that Popcorn Time is completely open source, while Stremio is ${1} partially open source${2}.","FAQ_06_H1":"Will you add this movie/series?","FAQ_06_P1":"No, sorry :(","FAQ_06_P2":"As is mentioned in most of the other questions, Stremio does not provide any content by itself - everything is added through the addons system. In case you have a content request, you can use the “Report” button in the Player, which will send an email to the author of the addon you’re currently using.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Will you create addon for X?","FAQ_08_P1":"It\'s entirely possible.","FAQ_08_P2":"If you have an idea for an addon, drop us a line at ${1}office@stremio.com${2}, but please make sure your addon idea will not infringe on any copyrights or terms of use.","FAQ_08_P3":"At the moment, the next things on our roadmap are addons for FandangoNOW, Filmon.tv video on demand and Crunchyroll.","FAQ_09_H1":"Does Stremio use BitTorrent?","FAQ_09_P1":"Yes, Stremio supports BitTorrent as a streaming protocol. You can use that either with a torrent addon, or by drag-and-dropping a .torrent file into Stremio, or by pasting a magnet link into the Search Bar.","FAQ_09_P2":"Please note that the only official addon using BitTorrent is ${1}Vodo${2}, which provides indie content, all permitted to be distributed with BitTorrent.","FAQ_09_P3":"We do not support use of any third-party addons which may enable copyright infringement.","FAQ_10_H1":"What can I watch in Stremio with the official addons?","FAQ_10_P1":"By default, you can watch Filmon.tv, YouTube and Vodo content within Stremio itself, with it’s embedded player. Additionally, we have an addon for Twitch.tv and a few others.","FAQ_10_P2":"This combined provides a selection of:","FAQ_10_L1":"Popular TV channels, provided by Filmon.tv - for example E4, BBC, Bollyworld TV","FAQ_10_L2":"Everything from YouTube - for example BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indie movies with Vodo","FAQ_10_L4":"Online gaming broadcasts with Twitch.tv","FAQ_10_P3":"Additionally, there are many content sources provided with Guidebox and the Netflix addons, which <b>do not</b> play entirely inside Stremio, but would redirect to the given service. For example, the Guidebox addon would give you a selection of movies you can stream in the US for free, from services like TubiTV and Crackle.","FAQ_11_H1":"Stremio won\'t install, what should I do?","FAQ_11_P1":"If you\'re on Windows, try ${1}this alternative installer${2}.","FAQ_11_P2":"If you\'re on Mac OS X, please be aware that we don\'t support anything older than OS X Mavericks (10.9).","FAQ_11_P3":"If you\'re on Linux, be aware that we only support 64 bit (x64) Linux at the moment.","FAQ_11_P4":"If you still can\'t resolve your problem, please write us at our ${1}Facebook group${2}.","FAQ_12_H1":"Why does my anti-virus complain? Is Stremio safe?","FAQ_12_P1":"We assure you Stremio is ${1}100% clean${2}.","FAQ_12_P2":"Your antivirus is complaining because we include advertising in our installer, which some anti-virus programs recognize as ad-ware.","FAQ_12_P3":"If you\'re still unsure, you can try our ${1}alternative installer${2}.","FAQ_13_H1":"How can I make an addon?","FAQ_13_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_13_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_13_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_14_H1":"How are addons published?","FAQ_14_P1":"When you create an addon and host, and put a <b>endpoint</b> field in your manifest, which points to a working addon address, the addon will automatically publish itself to our ${1}Addon catalogue${2}.","FAQ_14_P2":"This happens because the server part of the stremio-addons module automatically makes a call to our API to announce the addon. When our API validates your <b>endpoint</b> as a valid addon, it will start showing in the catalogue.","FAQ_15_H1":"Can I run Stremio in my browser?","FAQ_15_P1":"Not at the moment, but this is coming!","FAQ_15_P2":"If you\'re curious to see an Alpha, you can see it here: ${1}alpha4.strem.io${2}. Keep in mind streaming is disabled on this alpha. We support Chrome, Firefox, Opera and Edge.","FAQ_16_H1":"Casting to TV doesn\'t work / subtitles don\'t work","FAQ_16_P1":"Casting to TV uses the DLNA technology which is very inconsistent between different TV brands and models. For that reason, we do not have the ability to test it in every case, so it\'s far from perfect. Despite this, we\'re working on improving it constantly but we cannot give you a time estimate on when DLNA will start working properly with your TV.","FAQ_16_P2":"If you don\'t even see your TV in the casting menu, please try disabling your network connection and re-enabling it (on Windows, right click the Network and use Enable/Disable), as well as restarting your router, TV and PC.","FAQ_16_P3":"If you are still encountering issues, you can help us by sending your TV brand and model information at ${1}office@stremio.com${2}.","FAQ_16_P4":"In the meantime, we recommend Chromecast, which we support very well, or simply plugging in your TV to your PC with an HDMI cable.","FAQ_17_H1":"Stremio freezes and/or crashes, what can I do?","FAQ_17_P1":"First of all, if you\'re using Windows 7 with AVG anti-virus: we have a problem with that combination. The problem is in AVG itself, and there\'s no reasonable way to resolve it on our end. Unfortunately, exceptions or disabling the anti-virus won\'t work. The only solution is to replace AVG with something else.","FAQ_17_P2":"If that\'s not the issue, but you\'re still using Windows, please update to the latest service pack and update/re-install your GPU drivers, then try again.","FAQ_17_P3":"If you\'re problem is still not resolved, or you\'re using a Mac or Linux, please write us reporting the exact details of the problem at ${1}our Facebook group${2}.","FAQ_18_H1":"How can I make an addon?","FAQ_18_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_18_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_18_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_19_H1":"Why is Stremio taking disk space?","FAQ_19_P1":"Stremio has a <b>local cache</b> to temporarily keep the video files you stream.","FAQ_19_P2":"This has two benefits: first, it allows Stremio to pre-buffer the video ahead so as to ensure smoother streaming. Second, it keeps the videos in the local cache so you can continue watching them offline.","FAQ_19_P3":"How much Stremio keeps depends on the <b>Cache</b> setting in the Settings panel. Stremio may keep up to the set amount (e.g. 2GB) on your disk, unless the currently streamed video is larger than that, in which case it has to allocate enough storage to keep it until you\'re streaming it.","FAQ_20_H1":"Where is the cache folder?","FAQ_20_P1":"On Windows, it\'s stremio-cache in the drive you picked in Settings (e.g. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"On MacOS, it\'s \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"On Linux, it\'s \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"I get \\"Streaming server is not found\\" error, what can I do?","FAQ_21_P1":"If you get this error, it means one of few things:","FAQ_21_P2":"1) You are trying to use an addon backed by YouTube/BitTorrent source, through our ${1}web version${2}. In this case, you should install our desktop version from ${3}our website${4}.","FAQ_21_P3":"2) Something is wrong with your Stremio installation. In this case, try re-installing our latest desktop version from ${1}the website${2}. If this does not help, try disabling anti-virus programs and firewalls, restarting your PC and trying again. If this does not work too, please write us at our ${3}our Facebook group${4}.","FAQ_22_H1":"I cannot see/use most addons on iOS","FAQ_22_P1":"Because of restrictions in the Apple App Store terms and conditions, we have restricted the iOS application only to a particular set of addons.","FAQ_22_P2":"But rest assured - there will be more addons for iOS in the future, and we may also add an integration that will allow you to use all Stremio addons thanks to connecting the iOS app to the Stremio Streaming Server."}')},42948:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Film","TYPE_series":"Serie","TYPE_tv":"Canali TV","TYPE_channel":"Canali","TYPE_other":"Altri","TYPE_movie_PL":"Film","TYPE_series_PL":"Serie","TYPE_tv_PL":"Canali TV","TYPE_channel_PL":"Canali","TYPE_other_PL":"Altri","TYPE_ALL":"Tutto","TYPE":"Tipo","CATALOG_com_linvo_cinemeta_top":"Popolari","CATALOG_com_linvo_cinemeta_imdbRating":"In evidenza","CATALOG_com_linvo_cinemeta_year":"Nuovi","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Film di pubblico dominio","VIDEO":"Video","BACK":"Indietro","MORE":"Di più","DONE":"Fatto","COPY":"Copia","SUCCESS":"Successo","ERROR":"Errore","SETTINGS_CASTING_MODE_PICKER":"Modalità Casting","CASTING_MODE_HLSV2":"Default","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Nessun transcoding","Discover":"Scopri","Board":"Bacheca","Library":"Libreria","My Library":"La mia Libreria","Calendar":"Calendario","NOTIFICATION_ONLINE":"Ora sei online","NOTIFICATION_OFFLINE":"Attualmente sei offline","INTERNET_CONNECTION":"Connessione di rete","STORAGE_FULL_TITLE":"Avviso: Memoria piena!","STORAGE_FULL_TEXT":"Stremio non sarà in grado di salvare le tue impostazioni, i preferiti e le informazioni di login. Prova a riavviare o reinstallare Stremio","SEARCH":"Cerca","SEARCH_NO_RESULTS":"Nessun risultato trovato","SEARCH_EXPLANATION_CONTENT":"Cerca film, serie, YouTube e canali TV","SEARCH_EXPLANATION_PEOPLE":"Cerca attori, registi e autori","SEARCH_PASTE_LINKS":"Incolla HTTP e Magnet link","SEARCH_OR_PASTE_LINK":"Cerca o incolla link","SEARCH_SUGGESTIONS":"Suggerimenti di ricerca","ADD_TO_LIB":"Aggiungi alla Libreria","REMOVE_FROM_LIB":"Rimuovi dalla Libreria","ADDED_TO_LIB":"Aggiunto alla Libreria","REMOVED_FROM_LIB":"Rimosso dalla Libreria","TRAILER":"Trailer","WATCH_TRAILER":"Guarda Trailer","WATCH_NOW":"Guarda ora","SHOW":"Mostra","SHOW_MOVIE":"Mostra film","WATCH_RANDOM":"Guarda casuale","IMDB_RATING":"Voto IMDb","YEAR":"Anno","DIRECTOR":"Regista","WRITER":"Autore","LEAD_ACTORS":"Attori principali","CAST":"Cast","CREW":"Troupe","SHOW_MORE_CAST":"Mostra di più »","AIRED":"Trasmesso","SEASONS":"Stagioni","GENRE":"Genere","GENRE_ALL":"Tutti i generi","CATALOG":"Catalogo","SUMMARY":"Trama","SHOW_MORE":"Mostra di più","SIMILAR":"Simile","UPCOMING":"Prossimamente","ENDED":"Terminato","DURATION":"Durata","FEATURED":"In primo piano","METADATA":"Metadata","CATEGORY":"Categoria","LINKS_GENRES":"Genere","LINKS_CAST":"Cast","LINKS_DIRECTORS":"Registi","SEARCH_VIDEOS":"cerca video","SEARCH_PLACEHOLDER":"cerca o incolla URL","ADDON":"addon","ADDONS":"Addons","OFFICIAL":"ufficiale","ADDONS_OFFICIAL":"Addon ufficiali di Stremio","ADDONS_POPULAR":"Popolari nella tua zona","ADDON_FREE":"gratuito","ADDON_PEERED":"accoppiato","ADDON_SUBSCRIPTION":"in abbonamento","ADDON_STREAM_GEORESTRICTED":"non disponibile nella tua zona","ADDON_STREAM_OFFLINECACHE":"Cache Offline","ADDON_STREAM_LOCALFILE":"File locale","SHARE_ADDON":"Condividi addon","AVAILABLE_STREAMS":"Stream disponibili","NO_STREAM":"Nessuno stream disponibile","ALL_ADDONS":"Tutti","INSTALL_MORE_ADDONS":"Per vedere più stream, puoi installare altri addon","STREAM_NOT_SUPPORTED":"Lo stream selezionato non è supportato su questa piattaforma.","ADDON_CATALOGUE":"Mostra tutti gli addon »","ADDON_CATALOGUE_MORE":"Installa addon","REPO_ADDED":"Repository aggiunta","ADDON_REPO_EXIST_ERR":"Queste collezioni di addons esistono già","ADDON_REPO_ERR":"Si è verificato un errore durante l\'aggiunta della repository","ADDON_ADD_ERR":"Si è verificato un errore durante l\'aggiunta dell\'addon","ERR_ADDON_PROTECTED":"Impossibile disinstallare l\'addon, è protetto","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Qualcosa è andato storto - l’autenticazione potrebbe essere fallita","ERR_NOT_COLLECTION_URL":"Non è un URL di una collezione","ERR_NOT_ADDON_URL":"Non è un URL di un addon","ERR_DETECTFROMURL":"Impossibile trovare addon/collezioni da questo URL","ADDON_DUPLICATE_WARNING":"Avviso: addon duplicato","ADDON_COLLECTION_SET_FAILED":"Sincronizzazione degli addon installati verso il tuo account fallita","SETTINGS_DATA_EXPORT":"Esporta dati utente","ADDON_PULL_FAILED":"Sincronizzazione degli addon installati dal tuo account fallita","REFRESH_ON_CLICK":"Clicca per riprovare","STILL_IN_THEATER":"Film ancora al cinema","WATCH_IN_CINEMA":"Guardalo in un cinema vicino a te","IN_THEATER":"Al cinema","GET_TICKETS":"Compra biglietti","UPCOMING_EPISODE":"Episodio in arrivo","UPCOMING_EPISODE_MESSAGE":"Questo episodio sarà trasmesso il","MISSING_DATE_EPISODE":"Data episodio mancante","MISSING_DATE_EPISODE_MESSAGE":"Questo episodio potrebbe non essere ancora stato trasmesso","CHANNEL_NOT_SCRAPED":"Questo canale non è ancora disponibile.<br>Torna tra qualche minuto.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Aggiungilo alla tua libreria per ricevere una notifica quando sarà disponibile.","GET_NOTIFIED_WHEN_AVAILABLE":"Riceverai una notifica quando sarà disponibile.","WARNING_STREAMING_SERVER":"Attenzione: server di streaming locale non trovato. Lo streaming da file locali, YouTube e BitTorrent non sarà disponibile.","WARNING_STREAMING_SERVER_DISMISS":"Chiudi","WARNING_STREAMING_SERVER_LATER":"Dopo","DECODER_WARNING":"Attenzione: questo video potrebbe non essere supportato dal tuo hardware. Ricorda, la riproduzione potrebbe essere lenta.","GENERIC_ERROR_MESSAGE":"Qualcosa è andato storto!","TRY_AGAIN":"Riprova","CLEAR_DATA":"Pulisci i dati","PLAYER_ERROR":"Oops, errore del Player","PLAYER_ERROR_LOOKSLIKE":"Sembra che","PLAYER_ORIENTATION":"Orientamento del player","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Bloccato","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensore","PLAYER_ORIENTATION_LANDSCAPE":"Orientamento del player bloccata in orizzontale","PLAYER_ORIENTATION_SENSOR":"Orientamento del player automatica (sensore)","PLAYER_PLAYBACK_SPEED":"Velocità di riproduzione","PLAYER_PLAYBACK_ERROR":"Errore di riproduzione, prova di nuovo","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Errore sconosciuto","PLAYER_PLAYBACK_ERROR_DEFAULT":"Ci dispiace, questo video non può essere riprodotto da {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Lingue sottotitoli","PLAYER_SUBTITLES_VARIANTS":"Versioni sottotitoli","PLAYER_SUBTITLES_SETTINGS":"Impostazioni sottotitoli","PLAYER_SUBTITLES_DISABLED":"Sottotitoli disattivati","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Posizione verticale","PLAYER_SUBTITLES_LOADED":"Sottotitoli caricati","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Sottotitoli integrati caricati","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Sottotitoli escusivi caricati","PLAYER_SUBTITLES_LOADED_ORIGIN":"Sottotitoli da {{origin}} caricati","PLAYER_PLAY":"Riproduci","PLAYER_PAUSE":"Pausa","PLAYER_NEXT_VIDEO":"Prossimo video","PLAYER_MUTE":"Muto","PLAYER_UNMUTE":"Non muto","PLAYER_OPEN_IN_EXTERNAL":"Apri in un player esterno","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"In riproduzione su {{device}}","PLAYER_LIVE":"Dal vivo","PLAYER_NEXT_VIDEO_TITLE":"Prossimo su","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Nascondi","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Guarda ora","PLAYER_COPY_STREAM_SUCCESS":"Il collegamento allo streaming è stato copiato negli appunti","PLAYER_COPY_STREAM_ERROR":"Impossibile copiare il collegamento dello streaming","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","STREAMING_FROM":"In streaming da","CASTING_TO":"Trasmesso su","NETWORK_STATUS":"Stato della rete","STREAM_SPEED":"Velocità dello stream:","STREAM_BUFFERED":"In buffer:","PEERS_INFO":"Informazioni sui peer","PEERS_ACTIVE":"Attivi:","PEERS_CONNECTED":"Connessi:","PEERS_WAITING":"In attesa:","TRANSCODING_WARNING":"Avvertimento: transcodifica video.","STREAM_LOADING":"in caricamento…","PLAYING_LOCAL":"riproduzione da file locale","PLAYING_CACHE":"riproduzione dalla cache","WRONG_SUBS":"Sottotitolo sbagliato?","ERR_SUBS_LOADING_TITLE":"Errore caricamento sottotitoli","ERR_SUBS_LOADING":"Caricamento sottotitoli fallito: potrebbe essere un problema dell\'addon che stai usando, oppure della connessione di rete","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Il seguente addon per sottotitoli non si è caricato","ERR_CASTING_UPDATE_TITLE":"Non è stato possibile aggiornare le info del dispositivo di riproduzione: il server di streaming potrebbe essere offline","CHOOSE_DEVICE":"Scegli un dispositivo su cui guardarlo","NO_CAST_DEVICES":"Nessun dispositivo per casting disponibile.","NO_SETTINGS":"Nessuna impostazione disponibile.","PHONE_TABLET":"Telefono/Tablet","SUBTITLES":"Sottotitoli","SUBTITLES_CHANGE":"Cambia i sottotitoli per ","SUBTITLES_CHANGE_NONE":"Non ci sono altri sottotitoli per questa lingua, ci dispiace","SUBTITLES_CHANGE_ACIVE":"In questo momento è attivo il sottotitolo &#35;{{subtitlesDialog.activeIdx + 1}}. Clicca \\"Continua\\" per attivare il sottotitolo &#35;{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"In alternativa,","SUBTITLES_ADJUST_DELAY":"Aggiusta ritardo sottotitoli:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Oppure usa i tasti <span>G</span> / <span>H</span> durante la riproduzione per regolare.","SUBTITLES_ADJUST_DELAY_TIP":"Suggerimento: puoi usare <span>G</span> / <span>H</span> durante la riproduzione per regolare.","SUBTITLES_DELAY":"Ritardo sottotitoli:","SUBTITLES_LOADING":"Caricamento sottotitoli...","SUBTITLES_UNAVAILABLE":"Nessun sottotitolo esterno disponibile","SUBTITLES_DISABLED":"Disabilitati","EXTERNAL_PLAYER_DISABLED":"Disabilitato","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Consenti scelta","EXTERNAL_PLAYER_HINT":"Suggerimento: esiste un\'impostazione per consentire sempre l\'apertura con un lettore esterno","DONT_SHOW_AGAIN":"Non mostrare più","SERVICE_INSTALL":"Installa","AUDIO":"Audio","DEFAULT_LANGUAGE":"Lingua Predefinita","DEFAULT_SECONDARY_LANGUAGE":"Lingua Secondaria Predefinita","SEASON":"Stagione","EPISODE":"Episodio","EPISODE_ABBREVIATION":"EP","SPECIAL":"Speciale","SORT":"ordina","SORT_BY":"Ordina per","FILTER":"filtro","SORT_TRENDING":"popolari","SORT_RECENT":"recenti","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"voto","SORT_WATCHED":"visto","SORT_YEAR":"anno","SELECT_TYPE":"Seleziona tipo","SELECT_SORT":"Seleziona ordinamento","SELECT_CATALOG":"Seleziona catalogo ","SELECT_GENRE":"Seleziona genere","SORT_LASTWATCHED":"Dall\'ultimo visto","SORT_NAME":"Per nome","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"Per tempo visto","SORT_NOTWATCHED":"not watched","New for You":"Nuovi per te","New Episodes":"Nuovi Episodi","New Videos":"Nuovi Video","Recommendations":"Consigliati","LIBRARY_RESUME":"Riprendi","LIBRARY_PLAY":"Play","LIBRARY_DETAILS":"Dettagli","LIBRARY_RESUME_DISMISS":"Scarta","LIBRARY_CLEAR_PROGRESS":"Azzera progresso","LIBRARY_REMOVE":"Rimuovi","LIBRARY_NOT_LOGGED_IN":"La libreria è disponibile solo per gli utenti loggati","CALENDAR_NOT_LOGGED_IN":"Il calendario è disponibile solo per gli utenti dell\'accesso","NOT_LOGGED_IN_CLOUD":"Accedi ai tuoi film e programmi TV preferiti sempre e ovunque","NOT_LOGGED_IN_RECOMMENDATIONS":"Raccomandazioni su misura per la cronologia di visualizzazione","NOT_LOGGED_IN_NOTIFICATIONS":"Non perdere mai più un episodio","NOT_LOGGED_IN_CALENDAR":"Pianifica il tuo calendario personale","DISCOVER_FEATURED":"In primo piano","DISCOVER_TOP":"Top","DISCOVER_OSCAR":"Vincitori dell\'Oscar","DISCOVER_WARNING_TITLE":"Oops!","DISCOVER_EMPTY_CATALOG":"Questo addon ha restituito un contenuto vuoto.","DISCOVER_ADULT_WARNING":"Questo contenuto è visibile solo agli adulti. Hai più di 18 anni?","DISCOVER_NOADDON_WARNING":"Attenzione: nessun addon di Stremio attivo per questo tipo. Questi sono gli elementi salvati, nulla verà aggiornato.","DISCOVER_LOAD_ERR":"Il contenuto non è stato caricato, riscontrato un errore.","DISCOVER_ADDON_UNINSTALLED":"Questo contenuto non è più disponibile, potresti aver disinstallato l\'addon.","UNINSTALL_THIS_ADDON":"Disinstalla questo addon","ERR_ADDON_NOT_INSTALLED":"Questo addon non è installato. Installarlo ora?","DETAIL_RECEIVE_NOTIF_SERIES":"Ricevi notifiche per i nuovi episodi","DETAIL_RECEIVE_NOTIF_VIDEOS":"Ricevi notifiche per i nuovi video","SIDEBAR_SHOW_STREAMS":"Mostra gli Stream","RELAUNCH":"Riavvia ora!","UPGRADE":"Nuova versione disponibile! Aggiorna all\'ultima versione di Stremio","RELOAD_UI":"Ricarica l’interfaccia utente","MANUAL_UPDATE_TITLE":"Aggiorna la tua versione di Stremio","MANUAL_UPDATE_LINE1":"Stai utilizzando una versione obsoleta di Stremio ed è altamente sconsigliato","MANUAL_UPDATE_LINE2":"Per piacere aggiorna Stremio il prima possibile.","BUTTON_UPDATE_LATTER":"Non ora","BUTTON_UPDATE_NOW":"Aggiorna","ANONYMOUS_USER":"Utente anonimo","DONT_HAVE_ACC":"Non hai un account?","HAVE_ACC":"Hai già un account?","PASSWORD":"Password","PASSWORD_CONFIRM":"Conferma password","EMAIL":"E-mail","FB_LOGIN":"Continua con Facebook","FB_NOTHINGSHARED":"Nulla è condiviso senza il tuo permesso","FB_NOPOST":"Non scriveremo nulla a tuo nome","OR":"o","I_ACCEPT":"Accetto ","I_ACCEPT_BY_CLICKING":"Premendo il pulsante sopra confermo di accettare","TOS":"Termini e condizioni","MUST_ACCEPT_TERMS":"Devi accettare le condizioni","PASSWORDS_NOMATCH":"La password non corrisponde","SIGN_UP":"Registrati","SIGN_UP_EMAIL":"Registrati con l’email","CLICK_TO_SIGN_UP":"Clicca qui per registrarti.","LOG_IN":"Entra","LOG_OUT":"Esci","EXIT_FULLSCREEN":"Esci dalla modalità fullscreen","ENTER_FULLSCREEN":"Entra in modalità fullscreen","PLAY_URL_MAGNET_LINK":"Riproduci URL/Magnet link","HELP_FEEDBACK":"Aiuto & Feedback","TERMS_OF_SERVICE":"Termini di Servizio","PRIVACY_POLICY":"Politica sulla riservatezza","ABOUT_STREMIO":"Info su Stremio","USER_PANEL":"Pannello utente","LOGIN_LABEL":"Accesso","GUEST_LOGIN":"Entra come ospite","GUEST_LOGIN_NOTICE":"Entrare come ospite non è consigliato. Entrando con un account regolare permetti a Stremio di sincronizzare la tua libreria, ricevere notifiche per le tue serie/canali preferiti. Sei sicuro di voler procedere?","GUEST_LOGIN_NOTICE_2":"Entrare come ospite non è consigliato - non avrai le notifiche di sincronizzazione dela Libreria e dela Bacheca, che sono funzioni vitali di Stremio. Sei sicuro di voler procedere?","CLICK_HERE":"clicca qui","WRONG_PASSWORD":"Email o password errata. Nel caso tu abbia dimenticato la password, ","SET_A_PASS":"imposta una password","RESET_PASSWORD":"Resetta password","FORGOT_PASSWORD":"Password dimenticata?","EMAIL_USED_WITH_FB":"Questa email è stata utilizzata con l\'accesso Facebook.","INVALID_EMAIL":"Per favore usa un indirizzo email valido","INVALID_PASSWORD":"Per favore inserisci una password valida","CONN_ERR":"Errore di connessione - riprova più darti per favore.\\n\\nSe persiste, disabilita il firewall/software anti-virus (sopratutto Bitdefender).","IMPORT_FROM_GUEST":"Importa la Libreria dal tuo account ospite","RECEIVE_UPDATES_EMAIL":"Ricevi novità di Stremio sulla tua email","LOGIN_FAILED":"Autenticazione fallita.","SIGNUP_FAILED":"Registrazione fallita.","SEARCH_FAILED":"Ricerca fallita","EMAIL_USED":"Questa email è già in uso.","WAITING_FB_LOGIN":"Accesso con Facebook…","EXTERNAL_PLAYER_TITLE":"Riproduci in un player esterno","EXTERNAL_REMEMBER_PLAYER":"Vuoi ricordare la tua scelta?","EXTERNAL_ALWAYS_PLAY":"Sì","EXTERNAL_ONLY_ONCE":"No","BEST_FIT":"Miglior adattamento","FIT_SCREEN":"Adatta allo schermo","FILL":"Riempi","16:9":"16:9","4:3":"4:3","Original":"Originale","INTRO_TASTE":"Facci sapere cosa ti piace","INTRO_TASTE_LONG":"Facci sapere cosa ti piace vedere","INTRO_TASTE_PICK":"Seleziona {{interestsRemaining}} interessi","INTRO_TASTE_PICK_MORE":"Seleziona {{interestsRemaining}} più interessi","INTRO_TASTE_HELP_US":"Aiutaci a conoscerti.","INTRO_TASTE_CHOOSE_THESE":"Scegli alcuni di questi:","INTRO_TASTE_CHOOSE_MIN":"Scegli almeno 3 categorie","INTRO_TASTE_CHOOSE_MIN_ERR":"Devi scegliere almeno 3 categorie!","INTRO_TASTE_LIFESTYLE":"Stile di vita","INTRO_TASTE_SPORTS":"Sport","INTRO_TASTE_FOOD_HEALTH":"Cibo & Salute","INTRO_TASTE_BEAUTY_FASHION":"Bellezza & Moda","INTRO_TASTE_NEWS":"Notizie","INTRO_TASTE_GAMING":"Videogiochi","INTRO_TASTE_SCIENCE_EDU":"Scienze & Educazione","INTRO_TASTE_MUSIC":"Musica","INTRO_TASTE_TRAVEL":"Viaggi","INTRO_TASTE_LATE_NIGHT":"Late Night Show","INTRO_TASTE_REALITY":"Reality","INTRO_TASTE_COMEDY":"Commedia","INTRO_TASTE_DIY":"Fai-da-te","INTRO_TASTE_TECH":"Tecnologia","INTRO_TASTE_CINEMA":"Cinema","ADDON_NOT_SUPPORTED":"L’addon selezionato non è supportato su questa piattaforma.","ADDON_DISCLAIMER":"Usare addon di terze parti sarà sempre soggetto alla tua responsabilità e alle leggi vigenti nella giurisdizione in cui ti trovi.","ADDON_ACTIVATE":"Attivare questo addon?","ADDON_REPO_ADD":"URL della collezione dell’addon","ADDON_ADD":"Aggiungi","INSTALL_ADDON":"Install addon","ADD_ADDON":"Aggiungi addon","ADD_ADDON_DESCRIPTION":"Puoi aggiungere un addon da link esterni, così che apparirà sotto Addon installati.","PASTE_ADDON_URL":"Incolla l\'URL dell\'addon","WHATS_NEW":"Cosa c’è di nuovo","BUTTON_CONTINUE":"Continua","BUTTON_ACTIVATE":"Attiva","BUTTON_ACTIVATED":"Attivato","BUTTON_CANCEL":"Annulla","BUTTON_SUBMIT":"Invia","BUTTON_DISMISS_ALL":"Rimuovi tutto","BUTTON_VIEW_ALL":"vedi tutti","BUTTON_SEE_ALL":"Vedi tutto","BUTTON_COLOR_TRANSPARENT":"Trasparente","OPEN_IN_BROWSER":"Apri nel browser","LIB_EMPTY":"La tua libreria sembra vuota. Scopri quanto è utile :) ","HOW_START":"Puoi cominciare così:","LIB_EMPTY_CAL":"Il tuo calendario mostra le serie nella tua Libreria.","HOW_START_CAL":"Puoi aggiungere delle serie così:","LIB_EMPTY_BOARD":"Bacheca mostra le notifiche e i consigli in merito alla tua Libreria.","HOW_START_BOARD_WAIT":"Per favore, aggiungi alcune serie o canali alla tua Libreria e dacci qualche minuto per elaborare il tutto :)","HOW_START_BOARD":"Puoi aggiungere serie e film così:","IMPORT_FB":"Importa quello che ti piace da <span>Facebook</span>","IMPORT_TRAKT":"Importa la tua libreria dei media da <span>Trakt</span>","IMPORT_DISCOVER":"Trova roba interessante su <span>Scopri</span>","IMPORT_DISK":"Importa film o spettacoli che hai sul tuo <span>disco locale</span>","PLEASE_CREATE_ACC":"Per favore <u>crea un account</u> per abilitare la sincronizzazione della Libreria &amp; Bacheca.","IMPORT_DISCOVER_SIGNUP":"Registrati e scopri cose interessanti da <span>Scopri</span>","IMPORT_DISK_SIGNUP":"Registrati e importa film o spettacoli che hai sul tuo <span>disco locale</span>","LIB_EMPTY_CLOUD":"Libreria cloud","LIB_EMPTY_CLOUD_DESC":"Libreria cloud personale sincronizzata su tutti i dispositivi","LIB_EMPTY_EARLY":"Primi arrivati","LIB_EMPTY_EARLY_DESC":"Ricevi notifiche per i nuovi episodi","LIB_EMPTY_PERSONAL":"Personale","LIB_EMPTY_PERSONAL_DESC":"Ottieni suggerimenti personalizzati","LIB_EMPTY_CALENDAR_DESC":"Organizza il tuo calendario personale","LIB_EMPTY_ALL":"Registrati per ottenere tutto questo:","LIB_EMPTY_BEST":"Registrati per ottenere il meglio di Stremio","LIB_EMPTY_OTHER":"Registrati per abilitare il Calendario & le altre fantastiche funzionalità","CALENDAR_ADDED":"Il calendario di Stremio è stato aggiunto al tuo calendario desktop di default.","CALENDAR_ADDED_MSG":"Se non funziona, per favore aggiungi manualmente questo URL alla tua applicazione calendario","TRAKT_EXPIRED":"Autenticazione a Trakt scaduta, per favore vai su Impostazioni per autenticarti di nuovo","TRAKT_REQUIRES_LOGIN":"Errore di Trakt","TRAKT_REQUIRES_LOGIN_MSG":"Devi fare login","TRAKT_IMPORT_WATCHED":"Importa","THEME":"Tema","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adattivo","SETTINGS_LABEL":"Impostazioni","SETTINGS_NAV_GENERAL":"Generale","SETTINGS_NAV_PLAYER":"Player","SETTINGS_NAV_STREAMING":"Streaming","SETTINGS_NAV_SHORTCUTS":"Scorciatoie","SETTINGS_SHORTCUT_RELOAD_APP":"Ricarica App","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Apri le Impostazioni","SETTINGS_SHORTCUT_SWITCH_TABS":"Mostra le schede","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Scorri le schede in avanti","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Scorri le schede all\'indietro","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Naviga tra i menu","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Vai a Cerca","SETTINGS_SHORTCUT_EXIT_BACK":"Esci / Torna indietro","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Attiva/disattiva il menu della velocità di riproduzione","SETTINGS_SHORTCUT_MENU_VIDEOS":"Attiva/disattiva il menu dei video","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Attiva/disattiva il menu dei sottotitoli","SETTINGS_SHORTCUT_MENU_INFO":"Attiva/disattiva il menu delle informazioni","SETTINGS_SHORTCUT_FULLSCREEN":"Attiva/disattiva Schermo Intero","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Mostra Controlli","SETTINGS_SHORTCUT_PLAY_PAUSE":"Riproduci / Pausa","SETTINGS_SHORTCUT_VOLUME_UP":"Alza Volume","SETTINGS_SHORTCUT_VOLUME_DOWN":"Abbassa Volume","SETTINGS_SHORTCUT_SEEK_NEXT":"Vai a Prossimo","SETTINGS_SHORTCUT_SEEK_PREV":"Vai a Precedente","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Scorri Indietro","SETTINGS_SHORTCUT_SEEK_FORWARD":"Scorri Avanti","SETTINGS_SHORTCUT_PLAY_NEXT":"Riproduci Prossimo","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Aumenta Dimensione Sottotitoli","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Riduci Dimensione Sottotitoli","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Aumenta Ritardo Sottotitoli","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Riduci Ritardo Sottotitoli","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Attiva/disattiva barra laterale","SETTINGS_SHORTCUT_OR":"o","SETTINGS_SHORTCUT_TO":"a","SETTINGS_SHORTCUT_SPACE":"Spazio","SETTINGS_SHORTCUT_SHIFT":"Maiusc","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Autenticati","SETTINGS_FACEBOOK_IMPORT":"Importa","SETTINGS_CALENDAR_SUBSCRIBE":"Iscriviti","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Lingua interfaccia","SETTINGS_LAUNCH_STARTUP":"Lancia all\'avvio","SETTINGS_VLC_DEFAULT":"Riproduci con VLC","SETTINGS_UI_LANGUAGE":"Lingua Interfaccia","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Tasto Esc esce da schermo intero","SETTINGS_GAMEPAD":"Abilita supporto controller","SETTINGS_CLOSE_WINDOW":"Chiudi app quando la finestra è chiusa","SETTINGS_SUBTITLES_LANGUAGE":"Lingua Sottotitoli Predefinita ","SETTINGS_SUBTITLES_SIZE":"Dimensione Sottotitoli Predefinita ","SETTINGS_SUBTITLES_BACKGROUND":"Sfondo sottotitoli","SETTINGS_SUBTITLES_COLOR":"Colore sottotitoli","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Colore contorno sottotitoli","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Colore sfondo sottotitoli","SETTINGS_SEEK_KEY":"I tasti freccia scorrono il tempo","SETTINGS_SEEK_KEY_SHIFT":"I tasti freccia scorrono il tempo quando il tasto Maiusc è premuto","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Durata del riavvolgimento e dell\'avanzamento rapido","SETTINGS_BINGE":"Riproduci automaticamente il prossimo episodio","SETTINGS_NEXT_VIDEO":"Mostra notifica per far partire il prossimo episodio","SETTINGS_NEXT_VIDEO_TRIGGER":"Mostra notifica prossimo episodio per:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Durata del popup Prossimo video","SETTINGS_PLAY_IN_BACKGROUND":"Riproduci in sottofondo","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Riproduci su un player esterno","SETTINGS_RESIZE":"Ridimensiona automaticamente la finestra prima di riprodurre","SETTINGS_OVERRIDE_SERVER":"Sovrascrivi l\'URL del server di streaming (avvanzato)","SETTINGS_SERVER_URL":"URL server di streaming: ","SETTINGS_SERVER_AVAILABLE":"Server di streaming disponibile.","SETTINGS_SERVER_UNAVAILABLE":"Server di streaming non disponibile.","SETTINGS_SERVER_STATUS_ONLINE":"In linea","SETTINGS_SERVER_STATUS_ERROR":"Errore","SETTINGS_SERVER_CONFIGURE_TITLE":"Configura l\'url del server di riproduzione","SETTINGS_SERVER_CONFIGURE_INPUT":"Inserisci l\'url del server di riproduzione","SETTINGS_SERVER_CACHE_SIZE":"Dimensione Cache","SETTINGS_SERVER_TORRENT_PROFILE":"Profilo Torrent","SETTINGS_HTTPS_ENDPOINT":"Endpoint HTTPS di riproduzione: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Usa sempre l\'ultima Beta","SETTINGS_IMPORT_FB":"Importa da Facebook","SETTINGS_IMPORT_DISK":"Importa dal disco locale","SETTINGS_IMPORT_TRAKT":"Importa da Trakt","SETTINGS_PAUSE_MINIMIZED":"Pausa la riproduzione quando minimizzato","SETTINGS_HWDEC":"Decodifica con accelerazione hardware","SETTINGS_BACKGROUND":"Riproduzione in sottofondo","SETTINGS_SUBSCRIBE_CALENDAR":"Iscriviti nel calendario","SETTINGS_REQ_EXPORT":"Richiedi estrazione dei dati","SETTINGS_ACC_DELETE":"Richiedi cancellazione account","SETTINGS_CHANGE_PASSWORD":"Cambia password","SETTINGS_TOS":"Termini di servizio","SETTINGS_SUPPORT":"Contatta il supporto","SETTING_LANGUAGE":"Lingua","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_LOGOUT":"Esci da Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Esci da Trakt","SETTINGS_SCAN_FOR_REMOTE":"Scannerizza il codice QR per aprire in remoto","SETTINGS_DESKTOP_NOTIFICATIONS":"Notifiche desktop","SETTINGS_DATA_SAVER":"Risparmio dati","SETTINGS_LANGUAGE_INTERFACE":"interfaccia","SETTINGS_LANGUAGE_SUBS":"sottotitoli predefiniti","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Autoseleziona Traccia Audio","SETTINGS_DEFAULT_AUDIO_TRACK":"Traccia Audio Predefinita","SETTINGS_SURROUND_SOUND":"Audio surround","SETTINGS_ACCOUNT":"account","SETTINGS_PLATFORM":"Piattaforma","SETTINGS_VERSION":"versione","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"Avvia il player in una finestra separata (avvanzato)","SETTINGS_PLAY_IN_EXTERNAL":"Apri sempre il video nel player esterno","SETTINGS_STORAGE_BUTTON":"Pulisci Memoria Locale","SETTINGS_STORAGE_MODAL_TITLE":"Sei sicuro ?","SETTINGS_STORAGE_MODAL_MESSAGE":"Questo pulirà la memoria locale e ti farà uscire dall\'account.","SETTINGS_HWDEC_PICKER":"Scegli impostazioni di decodifica con accelerazione hardware","SETTINGS_HW_AUTOMATIC":"Automatica","SETTINGS_HW_DISABLED":"Disabilitata","SETTINGS_HW_ACCELERATED":"Accelerazione di decodifica","SETTINGS_HW_FULL":"Accelerazione totale","SETTINGS_HW_LEGACY":"Eredità","SETTINGS_DISABLED":"Disabilitata","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Notifica di connessione di rete","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"URL remoto","SETTINGS_COPY_REMOTE_URL":"Copia URL remoto","SETTINGS_REMOTE_URL_COPIED":"L\'URL remoto è stato copiato negli appunti","SETTINGS_SECTION_SUBTITLES":"Sottotitoli","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Controlli","SETTINGS_SECTION_AUTO_PLAY":"Auto-Play","SETTINGS_SECTION_ADVANCED":"Avanzate","SUBSPICKER_AUDIO":"Audio","SUBSPICKER_SUBTITLES":"Addon Sottotitoli","SUBSPICKER_BLACK_BACKGROUND":"Usa colore di sfondo nero","SUBSPICKER_VERTICAL_OFFSET":"Offset Verticale","SUBSPICKER_SIZE":"Dimensione","SUBSPICKER_DELAY":"Ritardo","SUBSPICKER_EMBEDDED_SUBS":"Sottotitoli Integrati","MOBILE_PRIVACY_POLICY":"Privacy Policy","MOBILE_CRASH_REPORTING":"Segnalazione arresti","MOBILE_ZOOM_TO_FILL":"Fai Zoom per Riempire lo Schermo","MOBILE_PASSTHROUGH":"Uscita audio digitale (passante)","MOBILE_RUN_LOW_BATTERY":"Esegui a batteria scarica","MOBILE_RUN_FOREGROUND":"Esegui come servizio in primo piano","MOBILE_PERFORMANCE":"PRESTAZIONI & STABILITÀ","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"Il codice QR scade tra ","MOBILE_LOG_INTO":"Accedi al tuo account Stremio ","MOBILE_SCAN_QR":"Scansiona il codice QR sopra o vai a ","MOBILE_LINK_ACCOUNT":"Collega Account","MOBILE_SPEEDPICKER_CANCEL":"Cancella","MOBILE_SPEEDPICKER_LABEL":"Seleziona Velocità di Riproduzione","MOBILE_EMPTY_LIBRARY":"La tua Libreria è vuota","MOBILE_NO_ADDON_ACTIVE":"Nessun addon Stremio attivo per questo tipo.","MOBILE_ORGANIZER_WARNING":"L\'app Stremio Organizer offre funzionalità limitate. Per un elenco di stream disponibili e per un\'esperienza Stremio completa, utilizza Stremio sul desktop.","MOBILE_ADDON_LOADING":"sta ancora caricando","MOBILE_ADDONS_LOADING":"gli addons stanno ancora caricando","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Configura il tuo addon","MOBILE_CONFIGURE_ADDON_LABEL":"Configura Addon","MOBILE_ORGANIZER_ADDONS_WARNING":"L\'app Stremio Organizer fornisce una selezione limitata di addon. Per un\'esperienza Stremio completa, usa Stremio sul desktop.","MOBILE_DISCONNECT":"Disconnetti","MOBILE_LOOKING_FOR_DEVICES":"Ricerca dispositivi...","MOBILE_CAST_TO":"Trasmetti a","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Eliminare l\'account","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"La cancellazione del conto non è immediata a causa di obblighi legali.Dopo aver richiesto la cancellazione del tuo account dovrai utilizzare in futuro un diverso indirizzo e -mail/profilo Facebook per creare un nuovo account Stremio.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Conferma la cancellazione dell\'account","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Il tuo account è stato creato utilizzando Facebook.Per eliminare il tuo account, utilizzare il nostro portale utente all\'indirizzo www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Fornisci la tua password per confermare la cancellazione dell\'account.","MOBILE_DELETE_ACCOUNT_BUTTON":"Eliminare l\'account","NAVIGATION_ON":"Acceso","NAVIGATION_OFF":"Spento","MARKETING_AGREE":"Accetto di ricevere comunicazioni di marketing da Stremio","QUIT":"Chiudi","CONNECTED":"Connesso","AUTHENTICATE":"Autentica","CACHING":"Salvataggio cache","SETTINGS_CACHING_DRIVE":"Disco di cache","ENABLE_LOCAL_FILES_ADDON":"Abilita l\'addon dei file locali (richiede il riavvio)","LOCAL_ADDON_NOT_ENABLED":"L\'addon locale non è abilitato. Clicca qui per andare alle impostazioni e abilitarlo","ENABLE_REMOTE_HTTPS_CONN":"Abilita connessioni HTTPS remote","TORRENT_PROFILE":"Profilo Torrent","DATA_CACHING":"Salvataggio Dati Cache","MAGNET_PARSING":"Analisi del magnet link","January":"Gennaio","February":"Febbraio","March":"Marzo","April":"Aprile","May":"Maggio","June":"Giugno","July":"Luglio","August":"Agosto","September":"Settembre","October":"Ottobre","November":"Novembre","December":"Dicembre","Monday":"Lunedì","Tuesday":"Martedì","Wednesday":"Mercoledì","Thursday":"Giovedì","Friday":"Venerdì","Saturday":"Sabato","Sunday":"Domenica","Action":"Azione","Comedy":"Commedia","War":"Guerra","Family":"Famiglia","Animation":"Animazione","Adventure":"Avventura","Fantasy":"Fantasia","Crime":"Crimine","Mystery":"Mistero","Romance":"Romantico","Drama":"Dramma","Horror":"Horror","Thriller":"Thriller","Sci-Fi":"Fantascienza","Music":"Musica","Biography":"Biografia","Documentary":"Documentario","Sport":"Sport","Musical":"Musical","Western":"Western","Film-Noir":"Film-Noir","News":"Notizie","History":"Storia","Game-Show":"Gioco a Premi","Reality-TV":"Reality-TV","Talk-Show":"Talk Show","Film & Entertainment":"Film & Spettacolo","Gaming":"Giochi","From TV":"Dalla TV","Lifestyle":"Stile di vita","Science & Education":"Scienza & Educazione","Cooking & Health":"Cucina & Salute","Beauty & Fashion":"Bellezza & Moda","Sports":"Sport","News & Politics":"Notizie & Politica","How-to & DIY":"Fai-da-te","Tech":"Tecnologia","Automotive":"Automobilismo","Causes & Non-Profits":"Cause Umanitarie & Non-Profit","Movies":"Film","Uk Live Tv":"UK Live Tv","Fashion":"Moda","Business News Radio":"Radio Notizie Business","Business Tv":"Business Tv","Cars & Auto":"Auto & Motori","Comedy Radio":"Comicità Radio","Lifestyle Radio":"Lifestyle Radio","News Tv":"Notizie Tv","Food And Wine":"Cibo & Vino","Latino Tv":"Tv Latina","Shopping Tv":"Shopping Tv","Religion":"Religione","Kids":"Bambini","Body & Soul":"Corpo & Anima","Education":"Educativo","Indian Tv":"Tv Indiana","Extreme Sports":"Sport Estremi","Middle Eastern Tv":"Medio Oriente Tv","Celebrity Tv":"Celebrity Tv","Science Tv":"Scienza Tv","Bikini babe":"Bikini babe","Outdoors":"Aria Aperta","German Tv":"Tv Tedesca","French Tv":"Tv Francese","Italian Tv":"Tv Italiana","Gamer Tv":"Gamer Tv","Travel":"Viaggi","Asian Tv":"Tv Asiatica","Entertainment":"Spettacolo","News Radio":"Notizie Radio","Music Radio":"Musica Radio","Language Learning":"Imparare le Lingue","Science Radio":"Scienza Radio","Tech Radio":"Tech Radio","Science & Technology Vod":"Scienza & Tecnologia Vod","new video":"nuovo video","new episode":"nuovo episodio","new movie":"nuovo film","recommended":"consigliato","we recommend":"noi raccomandiamo","offer of the day":"offerta del giorno","news":"novità","music video":"video musicale","CTX_SHOW_HOTKEYS":"Mostra tasti di scelta rapida","CTX_DISMISS_NOTIF":"Chiudi notifica","CTX_DISMISS_ALL":"Chiudi tutto","CTX_SHARE":"Condividi","CTX_COPY_SHARE_LINK":"Copia link di condivisione","CTX_COPY_MAGNET_LINK":"Copia il magnet link","CTX_COPY_STREAM_LINK":"Copia il link dello stream","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Scaricare questo video","CTX_DOWNLOAD_SUBS":"Scarica i sottotitoli","CTX_VIEW_ON_YOUTUBE":"Visualizza su YouTube","CTX_SHOW":"Mostra","CTX_PLAY":"Riproduci","CTX_PLAY_IN":"Riproduci in","CTX_PLAY_ON":"Riproduci su","CTX_WATCH_ON":"Guarda su","CTX_WATCH":"Guarda","CTX_WATCHED":"Visto","CTX_WATCH_BEGINNING":"Guarda dall\'inizio","CTX_WATCH_MOBILE":"Guarda su un dispositivo mobile","CTX_REWIND":"Riprendi dall\'inizio","CTX_MARK_WATCHED":"Segna come già visto","CTX_MARK_NON_WATCHED":"Segna come non visto","CTX_MARK_UNWATCHED":"Contrassegna come non guardato","CTX_MARK_REST":"Segna fino a qui come visto","CTX_UNMARK_REST":"Segna fino a qui come non visto","CTX_RECEIVE_NEW_NOTIF":"Ricevi nuove notifiche","CTX_ENABLE_NEW_NOTIF":"Attivare le notifiche","CTX_DISABLE_NEW_NOTIF":"Disabilita le notifiche","CTX_REMOVE_CACHE":"Rimuovi dalla cache","CTX_REMOVE_CACHE_EP":"Rimuovi episodio dalla cache","CTX_OPEN_CONTAINING":"Apri cartella","CTX_REMOVE":"Rimuovi dalla libreria","CTX_AVAILABLE_OFFLINE":"Disponibile Offline","CTX_PAUSED":"In Pausa","CTX_ALWAYS_ON_TOP":"Sempre in cima","CTX_FULLSCREEN":"Schermo intero","CTX_WRONG_SUBS":"Sottotitolo sbagliato?","CTX_REPORT_ISSUES":"Segnala problema","CTX_COPY":"Copia","CTX_PASTE":"Incolla","CTX_CLEAR":"Cancella","CTX_CLEAR_RECENT_SEARCHES":"Cancella ricerche recenti","HELLO_THERE":"Hey ciao","HOPE_YOU_ENJOY":"Speriamo ti piaccia Stremio e che sia già una delle tue app preferite!","WHO_ARE_WE":"Chi siamo noi? Siamo il team che sta dietro - due ragazzi che hanno lavorato duramente ogni giorno negli ultimi 3 anni, con un unico obiettivo - rendere questo prodotto migliore sempre di più.","SUPPORT_US":"Se ti piace usare Stremio e pensi possa valere qualcosa - supportaci!","SPREAD_THE_WORD":"Condividi ora con i tuoi amici, spargi la voce su Stremio","MORE_PEOPLE":"Più persone usano Stremio, più migliorerà!","SEND_A_LINK":"Oppure invia un link al nostro sito web","TIP_LOCALFILES":"Suggerimento: puoi fare drag & drop dei video file locali in Stremio","ADDON_MY":"Miei Addon","ADDON_COMMUNITY":"Comunità Addon","ADDON_OFFICIAL":"Addon Ufficiali","ADDON_REPOS":"Collezioni Addon","ADDON_SEARCH":"Cerca addon","ADDON_INSTALL":"Installa","ADDON_CONFIGURE":"Configure","ADDON_UNINSTALL":"Disinstalla","ADDON_UPGRADE":"Aggiorna","ADDON_INSTALLED":"Installato","ADDON_INSTALLED_MSG":"Addon installato!","ADDON_UPGRADED_MSG":"Addon aggiornato!","ADDON_UNKNOWN":"Sconosciuto","ADDON_ERR":"Errore installazione Addon!","ADDON_DISCONNECTED":"Disconnesso","ADDON_APP_MISSING":"l\'app per questa fonte non è installata. Vuoi installarla ora?","ADDON_APP_INSTALL":"Installa Ora","ADDON_PAGE":"Pagina Addon","ADDON_TOP_CONTENT":"Il meglio di questo Addon","ADDON_PROVIDES":"Questo addon ti fornisce:","ADDON_WATCH":"Guarda #{types} ora!","ADDON_WATCH_FREE":"Guarda #{types} GRATIS ora!","ADDON_ADDON":"Addon","ADDON_SUPPORTED_TYPES":"Tipi supportati","ADDON_SUPPORTED_CATALOGS":"Cataloghi supportati","ADDON_PROVIDES_DISCOVER":"Di più #{types} in Scopri","ADDON_PROVIDES_STREAMS":"Guarda #{types}","ADDON_PROVIDES_STREAMS_FREE":"Guarda #{types} GRATIS","ADDON_PROVIDES_SUBTITLES":"Sottotitoli per #{types}","ADDON_CANTDETECT":"Non siamo riusciti ad individuare alcun Stremio in esecuzione, perciò non siamo stati in grado di scoprire quali addon sono installati.","ERR_NO_META":"Nessun informazione trovata riguardo a questo","ERR_GETTING_META":"Errore nel recupero informazioni riguardo a questo.","ERR_CANT_PARSE_MAGNET":"Impossibile analizzare magnet","ERR_NO_MAGNET_INFOHASH":"Informazioni hash non valide per il magnet","ERR_NO_FILE_PATH":"Impossibile inviare richiesta senza percorso al file","ERR_NO_TORRENT":"Nessun torrent ritornato","ERR_NO_SUPPORTERD_FILES":"Nessun file supportato trovato","ERR_OPENING_FILES":"Impossibile aprire file esterni","ERR_INVALID_LINK":"Link non valido","ERR_REGISTERED_ONLY":"Questa funzione è disponibile solo per utenti registrati.","ERR_CLIPBOARD":"Impossibile riprodurre dagli appunti","ERR_CLIPBOARD_READ":"Impossibile leggere gli appunti su questa piattaforma","ERR_CLIPBOARD_GENERIC":"Nessun URL riproducibile trovato negli appunti. Copia un URL (es. un magnet link) in un video.","BOARD_CONTINUE_WATCHING":"Continua a guardare","BOARD_EXPLANATION_RECOMMENDATIONS":"Film scelti solo per te.<br />Questo film è un esempio di suggerimento.","BOARD_EXPLANATION_EPISODES":"I nuovi episodi delle tue serie tv preferite arrivano qui.<br />Aggiungi serie tv che segui alla tua Libreria.","BOARD_EXPLANATION_VIDEOS":"I nuovi episodi dei tuo canali YouTube arrivano qui.<br />Aggiungi canali che segui alla tua Libreria.","WEBSITE_ENJOYED_BY":"Goduto da oltre 30 milioni di utenti in tutto il mondo","WEBSITE_STREAMING_ENHANCED":"Lo streaming migliorato","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offre un\'esperienza di intrattenimento sicura, moderna e senza soluzione di continuità.Con la sua interfaccia facile da usare e una biblioteca di contenuti diversificati, incluso il supporto HDR 4K, gli utenti possono godere dei loro film e programmi TV preferiti su tutti i loro dispositivi. E con il suo impegno per la sicurezza, Stremio è la scelta definitiva per un\'esperienza di streaming senza preoccupazioni e di alta qualità.","WEBSITE_AVAILABLE_ON":"Disponibile su","WEBSITE_WATCH_AND_ENJOY":"Guarda e divertiti.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio lo rende semplice","WEBSITE_ALL_FEATURES":"Tutte le caratteristiche","WEBSITE_EASY_TO_USE":"Facile da usare","WEBSITE_EASY_TO_USE_DETAILS":"Stremio è progettato per essere facile da usare e facile da usare.Con la sua interfaccia pulita e intuitiva puoi facilmente navigare e trovare il contenuto che desideri guardare.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Senza soluzione di continuità tra i dispositivi","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Disponibile per una vasta gamma di piattaforme (incl. Windows, Mac, Linux, Android e altro), Stremio terrà traccia dei tuoi progressi su tutti i tuoi dispositivi. Basta accedere e continuare a guardare senza dover configurare di nuovo l\'app su ogni nuovo dispositivo.","WEBSITE_ALL_DOWNLOADS":"Tutti i download","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"Supporto video ad alta definizione","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"Un lettore video integrato che supporta la maggior parte dei formati video, inclusi i contenuti HDR 4K, ti consente di goderti la massima qualità disponibile.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio si integra con un gran numero di fonti video popolari, come Netflix, Amazon Prime Video, Hulu, YouTube e molti altri.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Crea un account gratis","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Esperienza di visualizzazione su misura","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio ti consente di personalizzare l\'aspetto dell\'interfaccia cambiando il tema, aggiungendo o rimuovendo i componenti componenti e altro ancora.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Supporto sottotitoli multilingue","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"Ora puoi goderti tutti i contenuti preferiti nella tua lingua preferita poiché Stremio supporta i sottotitoli in tutte le lingue.","WEBSITE_ALL_STREMIO_FEATURES":"Tutte le funzionalità di Stremio","WEBSITE_TRY_STREMIO_TITLE_P1":"Prova Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"Sulla tua TV adesso","WEBSITE_YOU_CAN_NOW_WATCH":"Ora puoi guardare tutti i programmi TV preferiti sui tuoi dispositivi TV Android. L\'app Stremio TV ti consente di goderti una serata cinematografica con facilità.","WEBSITE_YOU_CAN_NOW_WATCH_2":"Ora puoi guardare tutti i programmi TV preferiti sulla tua Smart TV o Android TV. Le app di Stremio TV ti consentono di goderti facilmente una serata cinematografica.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio per Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probabilmente l\'app migliore e più utile da avere nel tuo dispositivo. È una delle app che uso quotidianamente soprattutto sulla mia TV Android da molti anni ormai. Ben reso con una forte comunità che fornisce funzionalità utili. Ben fatto. Continua così.","WEBSITE_REVIEWS":"recensioni","WEBSITE_GET_STREMIO_FOR_FREE":"Scarica Stremio gratuitamente","WEBSITE_GET_STREMIO_NOW":"Ottieni Stremio adesso","WEBSITE_STREMIO_FEATURES":"Caratteristiche Stremio","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream come un professionista con le funzionalità avanzate di Stremio e goditi l\'accesso senza soluzione di continuità a tutti i tuoi media preferiti","WEBSITE_DISCOVER_MORE":"Scopri di più.","WEBSITE_DISCOVER_MORE_DETAILS":"Non finire mai le cose da guardare","WEBSITE_COMMUNITY_DRIVEN":"Guidato dalla comunità","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio ha una grande e attiva comunità di utenti che contribuiscono allo sviluppo del software creando e condividendo i componenti aggiuntivi.","WEBSITE_GET_INVOLVED":"Mettersi in gioco","WEBSITE_NEW_THEATER_EXPERIENCE":"Nuova esperienza teatrale","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"La nuova app TV dedicata di Stremio ti consente di goderti una serata cinematografica sui tuoi dispositivi TV Android.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Le nuove app TV dedicate di Stremio ti consentono di goderti una serata cinematografica sulla tua smart TV o dispositivi TV Android.","WEBSITE_FREE_AND_SECURE":"Gratuito e sicuro","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offre sicurezza e privacy senza pari per gli utenti. Con la sua caratteristica unica di eseguire i componenti aggiuntivi in remoto, Stremio fornisce un modo più sicuro per trasmettere in streaming i tuoi contenuti preferiti rispetto ad altre piattaforme. La tua sicurezza e privacy sono priorità migliori e la piattaforma garantisce che tutti i tuoi dati siano protetti.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Dì addio alle preoccupazioni sulla sicurezza e sulla privacy e saluta un mondo di intrattenimento infinito con Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Informazioni fornite da","WEBSITE_CONTRIBUTE":"Contribuisci","WEBSITE_CONTRIBUTE_DESC":"al progetto e aiutaci a rendere Stremio ancora migliore","WEBSITE_COMMUNITY_DESC":"Crediamo che il modo migliore per creare un\'esperienza di streaming davvero sorprendente sia coinvolgere la nostra comunità nel processo. Che tu sia un programmatore, un artista o solo un fan, potresti aiutare Stremio a crescere.","WEBSITE_COMMUNITY_DESC_2":"Quindi unisciti a noi oggi e diventa parte della comunità di Stremio e continua a modellare il futuro dello streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Modi per essere coinvolti","WEBSITE_IN_THE_STREMIO_COMMUNITY":"nella comunità di Stremio","WEBSITE_SHARE_YOUR_THOUGHTS":"Condividi i tuoi pensieri","WEBSITE_REPORT_BUGS":"Segnala un errore","WEBSITE_SUGGEST_FEATURES":"suggerire caratteristiche","WEBSITE_AND_PROVIDE_FEEDBACK":"e fornire feedback sui nostri canali di social media.","WEBSITE_BETA_TESTING_PROGRAM":"Programma di Beta testing","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Partecipare al nostro programma di beta test (inviamo inviti regolarmente) nella comunità di Stremio.","WEBSITE_JOIN_NOW":"Iscriviti adesso!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Comunità Stremio ufficiali","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Comunità non ufficiali di Stremio","WEBSITE_BECOME":"Diventare","WEBSITE_A_VOLUNTEER_TRANSLATOR":"un traduttore volontario","WEBSITE_ARE_YOU_A_DEVELOPER":"Sei uno sviluppatore?","WEBSITE_CONTRIBUTE_CODE":"Potresti contribuire con il codice ai nostri progetti open source. Abbiamo diversi progetti su GitHub che cercano collaboratori. Se sei interessato ad aiutare, dai un\'occhiata:","WEBSITE_STREMIO_ON_GITHUB":"Stremio su GitHub","WEBSITE_CREATE_ADDON_DESC":"Crea un componente aggiuntivo per migliorare la funzionalità di Stremio (abbiamo un\'API di facile utilizzo):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"Offriamo anche l\'opportunità di unirci a noi come sviluppatore tirocinante in modo da poter crescere insieme.","WEBSITE_APPLY_AS_AN_INTERN":"Fare domanda come stagista","WEBSITE_CALLING_ALL_ARTISTS":"Chiamiamo tutti gli artisti!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Mostra la tua creatività e amore per Stremio caricando la tua fan art nella nostra galleria online. Che si tratti di un disegno, di pittura o di un design digitale, vogliamo vedere la tua interpretazione unica sul marchio Stremio. Unisciti alla nostra comunità di appassionati d\'arte e condividi il tuo lavoro con altri fan di Stremio in tutto il mondo.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Diventa parte del nostro team e porta la tua creatività a nuove vette con le nostre entusiasmanti opportunità di tirocinio.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Progetto di film di dominio pubblico","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"A Stremio, ci impegniamo a preservare la storia del cinema e della televisione identificando il dominio pubblico e i video orfani. Lavorando insieme alla nostra comunità, possiamo garantire che queste opere d\'arte classiche siano accessibili a tutti e protette per le generazioni future.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Sentiti libero di contattarci se desideri essere coinvolto in quel progetto.","WEBSITE_JOIN_THE_PROJECT":"Unisciti al progetto","WEBSITE_BE_PART_OF_OUR_MISSION":"Fai parte della nostra missione","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interessato a unirsi al team Stremio? Offriamo un lavoro completamente da remoto per professionisti appassionati. Dai un\'occhiata alle nostre posizioni aperte.","WEBSITE_OPEN_POSITIONS":"Posizioni aperte","WEBSITE_DESCRIPTION":"Descrizione","WEBSITE_LEARN_MORE":"Saperne di più","WEBSITE_COMPANY":"Azienda","WEBSITE_CONTACTS":"Contatti","WEBSITE_NEED_HELP":"Ho bisogno di aiuto?","WEBSITE_STREMIO_WEB_ON_IOS":"Guida per Stremio Web su iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partner","WEBSITE_SLOGAN_WATCH":"Guarda Subito","WEBSITE_SLOGAN_ALL":"Tutti i Contenuti Video Che Ami in un Unico Posto","WEBSITE_SLOGAN_NEW":"Tutto Quello Che Puoi Vedere","WEBSITE_SLOGAN_NEW_NEW":"Libertà di Streaming","WEBSITE_WATCH_FROM":"Guarda Da","WEBSITE_DOWNLOAD":"Scarica Ora","WEBSITE_DOWNLOAD_FOR":"Scarica Ora per","WEBSITE_IS_DESKTOP":"Stremio è un\'applicazione desktop, apri questa pagina sul tuo PC e scaricala","WEBSITE_DESKTOP_DEMO_VID":"Desktop demo","WEBSITE_PAGE_HOME":"Home","WEBSITE_PAGE_FEATURES":"Caratteristiche","WEBSITE_PAGE_ADDONS":"Addon","WEBSITE_PAGE_TECH":"Tecnologia","WEBSITE_PAGE_CREATE_ADDON":"Crea Addon","WEBSITE_PAGE_CONTACTS":"Contatti","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Inserisci la nuova password desiderata di seguito.","WEBSITE_RESET_PASSWORD_WARNING":"Sei sicuro di voler reimpostare la password per ${1}?","WEBSITE_TYPE_movie":"Film","WEBSITE_TYPE_series_PL":"Serie","WEBSITE_TYPE_tv":"Live TV","WEBSITE_TYPE_channel":"Canali","WEBSITE_STREMIO_WHAT_IS":"Stremio è un\'applicazione che ti aiuta ad organizzare e instantaneamente ti permette di guardare i tuoi video, film, serie TV e canali TV preferiti.","WEBSITE_FEATURES_WATCH":"Guarda subito in HD","WEBSITE_FEATURES_WATCH_DETAIL":"Clicca e guarda i tuoi film, serie TV, video e canali TV preferiti.","WEBSITE_FEATURES_SUBS":"Sottotitoli Automatici","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio sceglie automaticamente i sottotitoli sincronizzati per la tua lingua.","WEBSITE_FEATURES_SUBS_LABEL":"Spetta a te la mossa, capitano.","WEBSITE_FEATURES_CAST":"Riproduci sulla TV & dispositivi mobili","WEBSITE_FEATURES_CAST_DETAIL":"Trasmetti su AppleTV, Chromecast, Smart TV (DLNA/UPnP) e dispositivi mobili.","WEBSITE_LIB":"Goditi La Tua Libreria Personale Sincronizzata Su Tutti I Tuoi Dispositivi","WEBSITE_LIB_COLLECT":"Raccogli da Stremio","WEBSITE_LIB_IMPORT":"Importa da Facebook","WEBSITE_LIB_LOCAL":"Aggiungi dal tuo disco locale","WEBSITE_BOARD":"La Bacheca - Il Tuo Unico Posto per le Notifiche e i Suggerimenti","WEBSITE_BOARD_RECOMMEND":"Serie TV Suggerite","WEBSITE_BOARD_TRENDING":"Film del Momento","WEBSITE_BOARD_NEW":"Nuovi Video","WEBSITE_BOARD_EPISODE":"Nuovi Episodi","WEBSITE_BOARD_1":"Cerchi qualcosa di interessante da guardare? Ricevi suggerimenti basati sulle tue preferenze!","WEBSITE_BOARD_2":"Ricevi una notifica quando c\'è un nuovo episodio della tua serie TV preferita o canale YouTube!","WEBSITE_BOARD_YOUTUBE":"Nuovi video dai canali YouTube","WEBSITE_BOARD_EPISODES":"Nuovi episodi dalle serie che stai seguendo","WEBSITE_ADDONS":"Contenuti Addon","WEBSITE_TECH_DETAIL":"Amiamo la tecnologia, amiamo la scienza pazza!\\nStremio usa le seguenti tecnologie open source:","WEBSITE_TECH_WCJS":"WebChimera.js permette a Stremio di riprodurre ogni formato video con ottime prestazioni.","WEBSITE_TECH_WCJS_EXTRA":"Siamo i contributori del progetto principale","WEBSITE_TECH_ELECTRON":"Electron fornisce una piattaforma innovativa con la quale sviluppare Stremio.","WEBSITE_TECH_ELECTRON_EXTRA":"Siamo contributori del progetto","WEBSITE_TECH_LINVODB":"Un database che assicura che i tuoi dati siano organizzati e disponibili da ovunque accedi.","WEBSITE_TECH_LINVODB_EXTRA":"Tecnologia sviluppata in casa","WEBSITE_CREATE_ADDON":"Crea il tuo Addon","WEBSITE_CREATE_ADDON_DETAIL":"Hai un servizio che fornisce contenuti video? Ti aiuteremo a sfruttare le caratteristiche di Stremio creando il tuo Addon.","WEBSITE_CREATE_ADDON_BENEFITS":"Vantaggi nello sviluppare un Addon per Stremio","WEBSITE_P2P_BEAUTY":"La Bellezza dello Streming Peer-to-Peer","WEBSITE_P2P_1":"Video full HD / 4K on demand o dirette streaming Affidabili e Sostenibili","WEBSITE_P2P_2":"Piattaforma di distribuzione che offre una fantastica esperienza utente","WEBSITE_P2P_3":"Svilupperemo il tuo addon che va in contro alle tue esatte necessità","WEBSITE_P2P_CONTACT":"Interessato? Sei il benvenuto <a href=\'mailto:office@stremio.com\'>contattaci</a>.","WEBSITE_P2P_CONTACT_EXTRA":"Saremo felici di aiutarti ad integrare i tuoi contenuti con Stremio!","WEBSITE_P2P":"Una volta ogni tanto, arriva una tecnologia che cambia le regole del gioco. Abbiamo investito moltissimo tempo e impegno per costruire il nostro motore di streaming video Peer-to-Peer (P2P) che offre ottime prestazioni e versatilità nel addattarsi ad ogni caso d\'uso.\\nContattaci per i video con supporto DRM P2P on demand o dirette streaming.","WEBSITE_THOUGHTS":"I pensieri che condividiamo:","WEBSITE_SPREAD":"Passa parola riguardo a Stremio:","WEBSITE_CONTACT":"Contattaci, saremo felici di ascoltarti!","WEBSITE_OPENSOURCE":"Per i nostri progetti open source , vai al nostro","WEBSITE_BITCOIN":"Dona bitcoin:","WEBSITE_FAQ":"Domande Frequenti","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Domande","WEBSITE_TOS":"Condizioni d\'uso","WEBSITE_LEGAL":"Legale","WEBSITE_PAGE_ABOUT":"Riguardo","WEBSITE_PAGE_BECOME_PARTNER":"Diventa un partner","WEBSITE_ALL_YOU_CAN_WATCH":"Libertà di Guardare\\nTutto Quello che Vuoi.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"Cos\'è Stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio è un unico centro di raccolta per i contenuti video. Scopri, organizza e guarda video da qualsiasi fonte su ogni tuo dispositivo.","WEBSITE_WHAT_IS_STREMIO_P2":"Film, programmi TV, serie, dirette TV o canali web come YouTube e Twitch.tv: puoi trovare tutto questo su Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio è un media center moderno che rappresenta una soluzione completa per il tuo intrattenimento video. Scopri, guarda e organizza contenuti video con addon facili da installare.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Film, programmi TV, dirette TV o canali web - trovi tutto su Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Divertiti su tutti i tuoi dispositivi multimediali","WEBSITE_DEVICES_COLLECT":"Prendi da Stremio","WEBSITE_DEVICES_IMPORT_FB":"Importa da facebook","WEBSITE_DEVICES_LOCAL":"Aggiungi dal disco locale","WEBSITE_JOIN_THE_PARTY_NOW":"Unisciti alla festa ora","WEBSITE_DEVICES_ALL":"Facile da utilizzare su tutti i tuoi dispositivi;","WEBSITE_EXTENDABLE_CATALOG":"Catalogo video infinitamente espandibile;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Ottime funzionalità per organizzare i tuoi video;","WEBSITE_AS_SEEN_ON":"Come visto su","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"Su di Noi","WEBSITE_LINK_TECHNOLOGY":"Tecnologia","WEBSITE_LINK_APPS":"App","WEBSITE_LINK_DOWNLOADS":"Download","WEBSITE_MORE":"Di più","WEBSITE_LINK_ADDONS":"Addon","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Contribuisci","WEBSITE_LINK_COMMUNITY":"Comunità","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... & di più","WEBSITE_LINK_HELP":"Centro assistenza","WEBSITE_LINK_CONTACTS":"Contattaci","WEBSITE_LINK_TOS":"Termini & condizioni","WEBSITE_LINK_PRAVACY":"Politica sulla riservatezza","WEBSITE_SUBSCRIBE":"Iscriviti","WEBSITE_NEWSLETTER":"Unisciti alla nostra newsletter per cose fantastiche","WEBSITE_PLACEHOLDER_EMAIL":"La Tua Email","WEBSITE_COMMUNITY":"Comunità","WEBSITE_LINK_PRAVACY_LEGAL":"Privacy & legale","WEBSITE_WHY":"Perché lo facciamo","WEBSITE_WHY_P1":"Noi di Stremio, torniamo al lavoro ogni giorno perché vogliamo risolvere un importante problema dell\'industria dei video on-demand. Ci sono così tanti nuovi contenuti pubblicati ogni minuto che è praticamente impossibile orientarsi.","WEBSITE_WHY_P2":"Aiutiamo le persone a navigare nell\'enorme mondo dell\'intrattenimento video e scoprire nuovi contenuti con i quali divertirsi. Le nostre app riuniscono film, serie, dirette TV, canali web e altro ancora. Ci impegniamo a rendere molto facile per gli utenti trovare titoli ed emittenti che amano.","WEBSITE_WHY_P3":"Puoi usare il nostro servizio su qualsiasi dispositivo quando vuoi, rendendo Stremio il tuo unico centro di intrattenimento video di cui avrai mai bisogno.","WEBSITE_TEAM":"TEAM","WEBSITE_TEAM_P":"Il team di Stremio è piccolo, ma potente: tra i dieci di noi, programmiamo in X linguaggi e condividiamo competenze nello sviluppo di software, progettiamo UI e UX, marketing e pubblicità e business e startup.","WEBSITE_FEATURES":"Caratteristiche","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Scopri nuovi contenuti con facilità","WEBSITE_FEATURES_DISCOVER_P":"Scopri facilmente nuovi film, programmi TV, serie e canali da guardare. Sfoglia per categoria, genere, valutazione, attualità, ecc. oppure digita semplicemente un nome da trovare. Stremio rende la ricerca di nuovi contenuti video un gioco da ragazzi.","WEBSITE_FEATURES_ALL_CONTENT":"Tutti i tuoi contenuti video su un unico schermo","WEBSITE_FEATURES_ALL_CONTENT_P1":"Guarda quali film, serie o video non hai finito e continua a guardarli; ricevi notifiche per nuovi episodi e uscite; e sfoglia i consigli che otterrai in base alle tue abitudini di visualizzazione.","WEBSITE_FEATURES_LIBRARY":"Organizza la tua libreria video","WEBSITE_FEATURES_LIBRARY_P1":"Aggiungi qualsiasi titolo alla tua libreria Stremio con un solo clic e trova la tua strada tra i contenuti, ordinati per tipo, attualità o ordine alfabetico.","WEBSITE_FEATURES_CALENDAR":"Tieni traccia di tutto ciò che guardi","WEBSITE_FEATURES_CALENDAR_P1":"Ottieni una visualizzazione del calendario di tutti i film e le serie che aggiungi alla tua libreria. Esporta il tuo calendario Stremio e sincronizzalo in modo da sapere sempre quando è previsto un nuovo episodio o una prima visione.","WEBSITE_FEATURES_BIG_SCREEN":"Goditi i tuoi contenuti video su uno schermo più grande","WEBSITE_FEATURES_BIG_SCREEN_P1":"Trasmetti tutto ciò che stai guardando su un altro dispositivo, che si tratti di un telefono, tablet o TV con un solo clic.","WEBSITE_FEATURES_SOURCES":"Guarda video da fonti diverse","WEBSITE_FEATURES_SOURCES_P":"Installa addon ufficiali e della community per goderti video provenienti da provider diversi, il tutto in un\'unica app elegante e facile da usare.","WEBSITE_CREATE_AN_ADDON":"Crea un addon","WEBSITE_FEATURES_SYNC":"Sincronizza la tua libreria su diversi dispositivi e riprendi la tua riproduzione","WEBSITE_FEATURES_SYNC_P1":"Accedi con il tuo account su tutti i tuoi dispositivi e goditi la tua libreria, addon, riproduzioni e calendario sincronizzati.","WEBSITE_FEATURES_EXTENDABLE":"Estendi il catalogo video con gli addon","WEBSITE_FEATURES_EXTENDABLE_P1":"Il catalogo di addon di Stremio offre diversi addon da installare permettendoti di guardare una varietà di nuovi video. Include film, spettacoli, dirette TV, sport, notiziari, podcasts, canali web, videogiochi e molto altro.","WEBSITE_FEATURES_AUTO_SUBS":"Sottotitoli automatici","WEBSITE_FEATURES_AUTO_SUBS_P1":"Con i nostri addon dei sottotitoli hai automaticamente l\'opzione selezionata per la tua lingua preferita.","WEBSITE_FEATURES_CHROMECAST":"Trasmettendo verso Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Goditi i tuoi contenuti video su uno schermo più grande o semplicemente trasmetti quello che guardi su un dispositivo diverso.","WEBSITE_FEATURES_KEEP_TRACK":"Tieni traccia dei tuoi spettacoli TV e Canali Web preferiti","WEBSITE_FEATURES_KEEP_TRACK_P1":"Ottieni una visualizzazione a calendario e notifiche per i nuovi episodi delle tue serie e canali web preferiti.","WEBSITE_FEATURES_POWER_USER":"Funzionalità per utenti avanzati","WEBSITE_FEATURES_POWER_USER_P1":"Riproduci in un player esterno","WEBSITE_FEATURES_POWER_USER_P2":"Riproduci da un file torrent o link magnet","WEBSITE_FEATURES_POWER_USER_P3":"Importa nella tua libreria dagli interessi Facebook o dal disco locale","WEBSITE_ADD_ONS":"Addon","WEBSITE_ADD_ONS_P1":"Tutti i contenuti video di Stremio sono recuperati ad un sistema di addon - nessun contenuto o fornitore di contenuti è stato integrato nell\'app.","WEBSITE_ADD_ONS_P2":"Ci sono due gruppi di addon disponibili: quelli ufficiali o della comunità.","WEBSITE_ADD_ONS_P3":"Quelli ufficiali sono sviluppati e offerti da Stremio, mentre quelli della comunità sono creati dai membri della nostra community, che li offrono anche.","WEBSITE_ADDONS_OFFICIAL":"Addon ufficiali","WEBSITE_ADDONS_WATCHUB":"Guarda i tuoi film, serie e spettacoli preferiti da fornitori come iTunes, Hulu, Amazon e altri servizi.","WEBSITE_ADDONS_YOUTUBE":"Guarda i tuoi canali YouTube preferiti senza pubblicità e ricevi notifiche per le novità dei creators che segui.","WEBSITE_ADDONS_FILMON":"Guarda dirette TV, film e TV gratuitamente. 600 canali TV, 45,000 film gratis, documentari e tanto altro.","WEBSITE_ADDONS_OPENSUBTITLES":"Sottotitoli di film e TV in più lingue, migliaia di sottotitoli tradotti caricati ogni giorno.","WEBSITE_ADDONS_COMMUNITY":"Addon della comunità","WEBSITE_ADDONS_FILMON_VOD":"Guarda film quando vuoi da Filmon.tv","WEBSITE_ADDONS_TWICH":"Guarda dirette da Twitch.tv - una piattaforma di video streaming platform per il settore degli e-sports.","WEBSITE_ADDONS_VODO":"Guarda film indie senza pagare.","WEBSITE_ADDONS_NETFLIX":"Guarda film e serie Netflix.","WEBSITE_ADDONS_CREATE":"Crea un addon","WEBSITE_ADDONS_CREATE_P1":"Se lo desideri, puoi sviluppare il tuo addon. In questo modo, puoi dare a te e alla nostra comunità accesso a nuovi contenuti video, e raggiungere un nuovo pubblico mirato di milioni di utenti in giro per il mondo.","WEBSITE_ADDONS_START_CREATE":"Per iniziare, visita la pagina Stremio Addon SDK:","WEBSITE_DOWNLOADS":"Download","WEBSITE_DOWNLOADS_P1":"Per ottimizzare le performance, ti suggeriamo di usare l\'ultima versione disponibile dell\'applicazione Stremio. Se per qualche motivo, tuttavia, ti dovesse piacere usare una versione più vecchia, puoi scaricarla da qui.","WEBSITE_DOWNLOADS_P1_SHORT":"Per prestazioni ottimali, ti consigliamo di utilizzare l\'ultima versione disponibile delle app Stremio.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio per Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio per macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio per Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio per Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio per Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio per Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio per Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio per iOS","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio per Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio per LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio per Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio per Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio per Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio per Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Cerca Stremio nell\'App Store dei modelli Samsung TV 2019+","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Cerca Stremio nell\'App Store di modelli TV LG 2020+","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Cerca Stremio nell\'App Store del tuo dispositivo Xbox","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Scarica il servizio Stremio","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service è un\'app di accompagnamento per Stremio Web. Si consiglia di utilizzare l\'ultima versione disponibile del servizio Stremio.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service per Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service per macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service per Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service per Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"Altre opzioni di download","WEBSITE_DOWNLOAD_NEW":"Nuovo!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"Abbiamo rilasciato Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"Abbiamo pubblicato Stremio per Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"Abbiamo pubblicato Stremio per LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"Abbiamo rilasciato Stremio per Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"Abbiamo rilasciato Stremio per Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"La piattaforma Stremio è open source e puoi facilmente creare un addon per contenuti al momento non offerti.","WEBSITE_CONTRIBUTE_WHY":"Perchè dovresti creare un addon?","WEBSITE_CONTRIBUTE_WHY_P1":"Raggiungere un nuovo pubblico per i tuoi contenuti video","WEBSITE_CONTRIBUTE_WHY_P2":"La base utenti di Stremio sta crescendo rapidamente - durante il primo anno di lancio, Stremio ha raggiunto 1 milione di utenti in giro per il mondo, e nel secondo anno questo numero è cresciuto a 2.5 milioni.","WEBSITE_CONTRIBUTE_WHY_P3":"Con il tuo addon, puoi facilmente raggiungere questo pubblico e distribuire i tuoi contenuti video a loro.","WEBSITE_CONTRIBUTE_ALL":"Guarda i tuoi film, video, serie e canali preferiti in un unico posto.","WEBSITE_CONTRIBUTE_ALL_P1":"Sei appassionato di un particolare tipo di contenuto non ancora disponibile su Stremio? Creagli un addon e goditi i tuoi video preferiti in uno dei più grandi e facili centro di intrattenimento sul mercato.","WEBSITE_CONTRIBUTE_ALL_P2":"Sopratutto, riceverai l\'infinita gratitudine di altri membri della comunità di Stremio che la pensano allo stesso modo.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetizza il tuo addon e guadagna soldi","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Una volta sviluppato un nuovo addon di Stremio, puoi facilmente monitizzarlo in diversi modi. Se lo stai considerando, sentiti libero di contattarci a ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - saremmo lieti di consultarti e consigliarti sulle opzioni di monetizzazione degli addon.","WEBSITE_CONTRIBUTE_TRANSLATE":"Diventa un traduttore volontario","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Se vuoi goderti Stremio in diverse lingue, puoi unirti alla nostra comunità di traduttori volontari. Ci aiutano ad aggiungere versioni di Stremio in molte lingue diverse.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Sei impaziente di iniziare?","WEBSITE_TRANSALTE_STREMIO":"Traduci Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Comunità ufficiale","WEBSITE_COMMUNITY_OFFICIALS_P1":"Diventa parte della crescita della comunità di Stremio. Seguici sui social media e non vergognarti di salutarci - amiamo ascoltare i nostri fan! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Comunità non-ufficiale","STREMIO_COMMUNITY_NL":"Stremio Olanda","STREMIO_COMMUNITY_BRASIL":"Stremio Brasile","STREMIO_COMMUNITY_GERMANY":"Stremio Germania","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgio","STREMIO_COMMUNITY_FRANCE":"Stremio Francia","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portogallo","STREMIO_COMMUNITY_ITALY":"Stremio Italia","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Messico","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_AWESOME":"Stremio stupendo","WEBSITE_COMMUNITY_PARTNERS":"Partner e sostenitori","WEBSITE_COMMUNITY_GOODIES":"Stremio chicche","WEBSITE_COMMUNITY_WALLPAPERS":"Sfondi","WEBSITE_COMMUNITY_ART":"Comunità Galleria d\'arte","WEBSITE_LINK_ART":"comunità galleria d\'arte","WEBSITE_CONTACT_US":"Contattaci","WEBSITE_CONTACT_US_P1":"Se hai qualsiasi domanda, commento o suggerimento, sentiti libero di metterti in contatto con noi attraverso il modulo di contatto qui sotto.","WEBSITE_CONTACT_US_P2":"Tieni in mente che sia locati in Bulgaria quindi potrebbero esserci ritardi alle tue domande a causa del fuso orario.","WEBSITE_CONTACT_US_SUCCESS":"Il tuo messaggio è stato inviato. Ti risponderemo al più presto.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Per piacere inserisci una email valida!","WEBSITE_CONTACT_US_Q_RELATED_TO":"A cosa è collegata la tua domanda?","WEBSITE_CONTACT_US_Q_OS":"Qual\'è il tuo Sistema Operativo?","WEBSITE_CONTACT_US_PH_EMAIL":"La tua E-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Messaggio","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"INVIATO","WEBSITE_CONTACT_US_Q_1":"Come si installa?","WEBSITE_CONTACT_US_Q_2":"Come si disinstalla?","WEBSITE_CONTACT_US_Q_3":"(HTML) Come si fanno le lasagne?","WEBSITE_CONTACT_US_Q_4":"Addons","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Tecnologia","WEBSITE_TECHNOLOGY_P1":"Amiamo la tecnologia e la scienza folle. </br> Ecco ciò che fa girare Stremio (è tutto open-source).","WEBSITE_TECHNOLOGY_P_QT":"Sviluppo di software multi piattaforma al suo massimo splendore.","WEBSITE_TECHNOLOGY_P_MPV":"Un riproduttore multimediale gratuito, open source, e multi piattaforma.","WEBSITE_TECHNOLOGY_P_RN":"React Native ti permette di costruire applicazioni usando solo JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework è integrato nell\'applicazione per ottenere contenuti multimediali.","WEBSITE_TECHNOLOGY_P_REALM":"Realm è una piattaforma mobile e un sostituto di SQLite e Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js è un ambiente runtime per JavaScript, open-source e multi piattaforma.","WEBSITE_TECHNOLOGY_P_RUST":"Rust è un linguaggio di programmazione multi paradigma incentrato sulla sicurezza, specialmente sulla concorrenza sicura.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribuisci al progetto","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Ci sono due modi in cui puoi contribuire a Stremio e aiutarci a renderlo migliore.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Puoi donare le tue preziose competenze linguistiche traducendo la piattaforma...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"oppure","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... puoi sfruttare le tue capacità di scrittura del codice per creare addon per la comunità. ","WEBSITE_TRANSLATE_STREMIO":"Traduci Stremio","WEBSITE_404_OH_NO":"Uh-oh! La pagina che stavi cercando non si trova qui...","WEBSITE_GO_HOME":"Torna sulla home","WEBSITE_LINK_OTHER_DOWNLOADS":"Altri download","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Supporto","WEBSITE_DOWNLOAD_4_0_BETA":"Scarica Ora Stremio 4 beta","WEBSITE_GET_FOR_DESKTOP":"Ottieni per desktop","WEBSITE_LINK_ADDON_COMPETITION":"Competizione addon","WEBSITE_LINK_ART_CONTEST":"Concorso artistico","WEBSITE_MY_ACCOUNT":"Il mio account","WEBSITE_MAINPAGE_FAQ_001_H1":"Che cos\'è Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio è un moderno centro multimediale che ti offre la libertà di guardare quello che vuoi.","WEBSITE_MAINPAGE_FAQ_002_H1":"Come funziona?","WEBSITE_MAINPAGE_FAQ_002_P1":"Una volta installato Stremio sul tuo dispositivo e creato l\'account, tutto quello che devi fare è visitare il catalogo degli addon e installare quello che vuoi, e hai fatto!","WEBSITE_MAINPAGE_FAQ_002_P2":"Dopo, puoi visitare le sezioni Scopri e Bacheca per iniziare ad esplorare i contenuti.","WEBSITE_MAINPAGE_FAQ_003_H1":"Cosa posso vedere qui?","WEBSITE_MAINPAGE_FAQ_003_P1":"Tantissime cose: Film, spettacoli TV, Canali web, Sport, Canali TV, ascoltare Podcast e altro. Grazie al nostro sistema di addon, hai accesso a una varietà di contenuti.","WEBSITE_MAINPAGE_FAQ_004_H1":"Stremio è open-source?","WEBSITE_MAINPAGE_FAQ_004_P1":"Si, puoi controllare i seguenti link: ${1}applicazione desktop${2} e ${3}organizzazione GitHub${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Stremio è sicuro?","WEBSITE_MAINPAGE_FAQ_005_P1":"Si: perchè è un software open-source, il codice sorgente è di pubblica visione e puoi controllarlo personalmente.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"Per quanto riguarda la mia privacy?","WEBSITE_MAINPAGE_FAQ_006_P1":"Rispettiamo la privacy degli utenti e non conserviamo nessun dato personale ad eccezione del minimo indispensabile per creare e sincronizzare il tuo account.","WEBSITE_MAINPAGE_FAQ_006_P2":"C\'è anche un accesso in ${1}Modalità ospite${2}, che non richiedere nessun dato: così, nessuna chiamata sarà fatta alla nostra infrastruttura. Tuttavia, sacrifica alcune funzionalità utili, come la sincronizzazione della tua libreria tra i diversi dispositivi.","WEBSITE_MAINPAGE_FAQ_007_H1":"Posso trasmettere sulla mia TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Si, supportiamo Chromecast e puoi trasmettere sia l\'applicazione desktop sia mobile (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"Quanti addon ha Stremio?","WEBSITE_MAINPAGE_FAQ_008_P1":"Alla fine del 2019, più di 50 - per maggiori informazioni, controlla il nostro catalogo degli addon.","WEBSITE_MAINPAGE_FAQ_009_H1":"Stremio può essere esteso oltre ciò che è nel catalogo degli addon?","WEBSITE_MAINPAGE_FAQ_009_P1":"Si, potresti controllare questi: ${1}PimpMyStremio${2}, ${3}comunità Reddit${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"Che dispositivi supportano Stremio?","WEBSITE_MAINPAGE_FAQ_010_P1":"Abbiamo un\'applicazione desktop per Windows, Mac e Linux. Per mobile, supportiamo Android e iOS, tuttavia iOS ha funzionalità limitate (non supporta la maggior parte degli addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"Ci sono diversi dispositivi basati su Android che supportano Stremio, come NVIDIA Shield e Amazon Fire Stick, ma non li supportiamo ufficialmente.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Potete aggiungere dei contenuti su Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Scusaci, non offriamo noi stessi i contenuti, ma più addon Stremio installi, più contenuti potrai trovare.","WEBSITE_MAINPAGE_FAQ_012_H1":"Stremio può riprodurre link magnet?","WEBSITE_MAINPAGE_FAQ_012_P1":"Si, e può riprodurre normali link HTTP e file torrent (drag and drop).","WEBSITE_MAINPAGE_FAQ_013_H1":"Posso scaricare un video e vederlo offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"La funzionalità offline è una notività in arrivo, ma se permetti a Stremio di salvare sulla cache del tuo dispositivo (dalle impostazioni) puoi guardare i video più tardi senza bisogno di connessione.","WEBSITE_MAINPAGE_FAQ_014_H1":"Non funziona niente, aiutatemi!","WEBSITE_MAINPAGE_FAQ_014_P1":"Sei sicuro di aver installato gli addon? Se si, confrontati con il nostro ${1}centro assistenza${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"In che modo Stremio sostiene le sue operazioni di sviluppo?","WEBSITE_MAINPAGE_FAQ_015_P1":"Pubblichiamo occasionalmente annunci non intrusivi, ma stiamo valutando la possibilità di passare a un modello di donazione.","WEBSITE_MAINPAGE_FAQ_015_P2":"Per altre domande, vai al nostro ${1}centro assistenza${2}.","HELP_LEARN_MORE":"Aiutaci a conoscerti meglio.","LIFESTYLE":"Stile di vita","SPORTS":"Sport","FOOD_HEALTH":"Cibo & salute","BEAUTY_FASHION":"Moda & bellezza","NEWS":"Notizie","GAMING":"Giochi","SCIENCE_EDUCATION":"Scienze & istruzione","MUSIC":"Musica","TRAVEL":"Viaggi","LATE_NIGHT":"Late Night","REALITY":"Reality","COMEDY":"Commedie","DIY":"Fai-da-te","TECH":"Tecnologia","CINEMA":"Cinema","CONTINUE":"Continua","SLOW_LOADING":"CARICAMENTO LENTO?","I_GIVE_UP":"RINUNCIO","LEARN_MORE":"Per saperne di più","POOR_SOURCE":"Questa fonte è scarsamente disponibile o la tua connessione Internet non è abbastanza veloce","PICK_CATEGORIES_ERR":"Devi scegliere almeno 3 categorie","ADJUST_TIMING":"Regola il tempo con ","ADJUST_SIZE":"Regola le dimensioni con ","SEARCH_ANYTHING":"Puoi cercare qualsiasi cosa...","ALL_CATEGORIES":"Tutte","SEARCH_CATEGORIES":"Film, Serie, YouTube & TV","SEARCH_PERSONS":"Attori, Registi & Scrittori","SEARCH_PROTOCOLS":"Link HTTP & Magnet","SEARCH_TYPES":"Link IMDB / TVDB","WATCHED":"Guardati","SHOW_LESS":"Mostra meno","LAST_SEARCHES":"Ultime ricerche","CLEAR_HISTORY":"Pulisci cronologia","CHOOSE_SOME":"SCEGLI TRA QUESTI:","NO_WEB_REMOTE":"Impossibile caricare Telecomando Web","STREMIO_OFFLINE":"Stremio è offline","STREMIO_EXPENSIVE_CONNECTION":"Abbiamo notato che stai usando i dati mobile per connetterti, vuoi continuare?","USE_DATA":"Usa dati","WARNING":"Attenzione","MORE_INFO":"Più informazioni...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Caricamento...","STREMIO_TV_BACK_TO_LANGUAGES":"Torna alle lingue","STREMIO_TV_REMOTE":"Telecomando","STREMIO_TV_GO_TO":"Vai a:","STREMIO_TV_OR_SCAN":"o scansiona:","STREMIO_TV_ADDON_INSTRUCTIONS":"Per favore segui le istruzioni per installare i tuoi addon preferiti.","STREMIO_TV_LIVE_TV":"Diretta TV","STREMIO_TV_RESUME_WATCHING":"Riprendi a Guardare","STREMIO_TV_LOADING_BACKGROUND":"Caricamento Sfondo","STREMIO_TV_CHECKING_AUTHENTICATION":"Controllo Autenticazione","STREMIO_TV_LOADING_BOARD":"Caricamente Bacheca","STREMIO_TV_LOGIN_HEADER_LINE_1":"Vogliamo che i nostri utenti abbiano la migliore esperienza personalizzata possibile con il nostro software.","STREMIO_TV_LOGIN_HEADER_LINE_2":"È per questo motivo che ti chiediamo gentilmente di creare e/o accedere al tuo account.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Grazie per la comprensione,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Il Team Stremio","STREMIO_TV_REMOTE_INSTRUCTIONS":"Per utilizzare il Telecomando Web con il tuo Smartphone / Tablet / Computer:","STREMIO_TV_WIFI_SETUP":"Configurazione Wi-Fi","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle non ha rilevato una connessione Internet.","STREMIO_TV_WIFI_DETAILS_1":"Connetti a:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Usa password:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Apri un browser web con il link:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Default","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"Per ultimo visto","STREMIO_TV_LIBRARY_SORT_NAME":"Per nome","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"Per nome discendente","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"Per minuti visti","STREMIO_TV_LIBRARY_SORT_WATCHED":"Per visti","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"Per non visti","STREMIO_TV_DETAILS_SEASON_NUMBER":"Stagione ${1}","STREMIO_TV_STREAMS_LOADING":"Caricati gli addon ${1} / ${2}...","STREMIO_TV_STREAMS_STILL_LOADING":"L\'addon ${1} è in caricamento...","STREMIO_TV_PLAYER_SETTINGS":"Impostazione del player","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Ritardo sottotitoli","STREMIO_TV_PLAYER_AUDIO_DELAY":"Ritardo audio","STREMIO_TV_PLAYER_VIDEO_SCALING":"Adattamento video","STREMIO_TV_PLAYER_CHAPTERS":"Capitoli","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Salta ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Sorgente flusso non supportata","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Apertura link esterno fallita","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Non regolabile in modalità passthrough audio","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Riproduci con ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Riproduci con libVLC","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Passaggio a libVLC a causa di un errore di riproduzione","STREMIO_TV_ADDONS_TITLE":"Usa Stremio sul tuo Telefono o PC per installare o configurare addon e premi \\"Sincronizza Addon\\"","STREMIO_TV_ADDONS_SUBTITLE":"Nota: sii sicuro di utilizzare lo stesso profilo Stremio","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sincronizza Addon","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addon sincronizzati con successo","STREMIO_TV_ADDONS_SYNC_FAILED":"Sincronizzazione addon fallita","STREMIO_TV_META_LINK_FAILED":"Apertura meta link fallita","STREMIO_TV_CATALOG_LOADING":"Catalogo in caricamento...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Interfaccia lingua aggiornata","STREMIO_TV_SETTINGS_THEME_UPDATED":"Tema aggiornato","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Player di Default","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Player Esterno","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Lingua predefinita","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Lingua secondaria predefinita","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Riproduzione con tunnel","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possibili problemi di riproduzione su alcuni dispositivi","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Alcuni formati video possono non funzionare","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Corrispondenza del frame rate","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabilitata","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Solo frame rate","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame rate e risoluzione","STREMIO_TV_SETTINGS_NO_CACHING":"No caching","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Default","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Soft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Veloce","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Veloce","STREMIO_TV_SETTINGS_SERVER_URL":"Url streaming del server","STREMIO_TV_SETTINGS_SERVER_VERSION":"versione Server","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Sconosciuto","STREMIO_TV_SETTINGS_STREMIO_VERSION":"versione Stremio","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Modifica url del server","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Inserisci un url streaming del server","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Mostra statistiche durante il caricamento","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"Per leggere le Privacy Policy di Stremio, visita:","STREMIO_TV_SETTINGS_TOS_TEXT":"Per leggere i Termini e Condizioni di Stremio, visita:","STREMIO_TV_NAV_SEARCH":"Cerca","STREMIO_TV_NAV_HOME":"Home","STREMIO_TV_NAV_DISCOVER":"Scopri","STREMIO_TV_NAV_LIBRARY":"Libreria","STREMIO_TV_NAV_MOVIES":"Film","STREMIO_TV_NAV_SERIES":"Serie","STREMIO_TV_NAV_CHANNELS":"Canali","STREMIO_TV_NAV_TV":"Dirette TV","STREMIO_TV_NAV_SETTINGS":"Impostazioni","STREMIO_TV_NAV_ADDONS":"Addon","STREMIO_TV_LOGIN_TITLE":"Collega Account","STREMIO_TV_LOGIN_EXPIRES_IN":"Scade tra","STREMIO_TV_LOGIN_STEP_ONE":"Scansione il QR Code sotto oppure va a","STREMIO_TV_LOGIN_STEP_TWO":"Accedi al tuo account Stremio","STREMIO_TV_LOGIN_NEW_LINK":"Richiedi un nuovo collegamento","STREMIO_TV_LOGIN_LINK_REFRESHED":"Codice di accesso aggiornato","STREMIO_TV_SEARCH_PLACEHOLDER":"Scrivi qualcosa","STREMIO_TV_SEARCH_NO_ADDONS":"Non sono stati richiesti addon per i cataloghi!","STREMIO_TV_SEARCH_BUTTON":"Cerca","STREMIO_TV_SEARCH_KEY_DEL":"Canc","STREMIO_TV_SEARCH_KEY_SPACE":"Spazio","STREMIO_TV_SEARCH_KEY_CLEAR":"Pulisci","STREMIO_TV_SEARCH_HISTORY_TITLE":"Cerca nella Cronologia","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Puoi cercare per Titolo, Attori, Canali e altro...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Pulisci la Cronologia Cerca","STREMIO_TV_FILTERS_DESCRIPTION":"Scegli uno dei filtri qui sotto","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Il server streaming è offline. Controlla le impostazioni del server.","FILTERS":"Filtri","SETTINGS":"Impostazioni","ACCOUNT":"Profilo","LOGOUT":"Disconnetti","THEMES":"Temi","PLAYBACK":"Riproduzione","PLAYBACK_SPEED":"Velocità riproduzione","AUDIO_TRACKS":"Tracce audio","UNKNOWN_TRACK_LANG":"Sconosciuta","VIDEOS":"Video","SERVER":"Server","LINKS":"Collegamenti","ABOUT":"Riguardo","INTERFACE":"Interfaccia","ANIMATIONS":"Animazioni","STATUS":"Stato","LANGUAGE":"Lingua","SIZE":"Dimensione","DELAY":"Ritardo","BOLD":"Grassetto","OPACITY":"Opacità","TEXT_COLOR":"Colore Testo","OUTLINE_COLOR":"Colore Bordi","BACKGROUND_COLOR":"Colore Sfondo","BACKGROUND_BLUR":"Sfocatura Sfondo","SEEK_TIME_DURATION":"Durata Termpo Ricerca","AUTO_PLAY":"Auto-Play Prossimo Episodio","PLAY_NOW":"Riproduci Ora","MARK_AS_WATCHED":"Segna come Visto","MARK_AS_UNWATCHED":"Marca come Non-Visto","REWIND_TO_BEGINNING":"Ricomincia dall\'Inizio","CONTINUE_WATCHING":"Continua a guardare","ALL":"Tutto","SECONDS":"secondi","ON":"ACCESO","OFF":"SPENTO","RELOAD":"Ricarica","EDIT_URL":"Modifica URL","NONE":"Niente","EMBEDDED":"Integrato","REMOTE_SWITCH_DEVICES":"Cambia dispositivo","REMOTE_VIDEOS":"Video","REMOTE_ADJUST_TIMING":"Regola tempi","REMOTE_ADJUST_SIZE":"Regola dimensioni","REMOTE_COULD_NOT_BE_LOADED":"Non è stato possibile caricare Telecomando Web","REMOTE_RETRY":"Riprova","TORRENT_PROFILE_DEFAULT":"Default","TORRENT_PROFILE_SOFT":"Soft","TORRENT_PROFILE_FAST":"Veloce","TORRENT_PROFILE_ULTRA_FAST":"Ultra Veloce","FAQ_001_H1":"Cos\'è Stremio?","FAQ_001_P1":"Stremio è un software per media center progettato per l\'intrattenimento video pensando alla facilità d\'uso. Stremio ti consente di organizzare &amp; guardare la tua raccolta di film, serie, canali e dirette TV.","FAQ_001_P2":"Stremio raccoglie i contenuti che ti mostra dal tuo disco locale e dal nostro sistema di addon.","FAQ_001_P3":"Ti notifica anche quando un nuovo episodio/video/film/ che ti interessa è uscito, e ti suggerisce i film raccomandati per te.","FAQ_02_H1":"Come si confronta Stremio rispetto a Kodi e Plex?","FAQ_02_P1":"Noi abbiamo preso ispirazione da questi due software. Ma abbiamo obiettivi diversi - Stremio è specificamente mirato ai video di intrattenimento, e si impegna a diventare la soluzione principale essendo molto facile da usare.","FAQ_02_P2":"Stremio non sarà mai così personalizzabile e ricco di funzionalità come Kodi e Plex, ma è molto più facile da usare. Solo ${1} prendi e vedi ${2} :)","FAQ_03_H1":"Come si confronta Stremio rispetto a Netflix?","FAQ_03_P1":"Come prima, Netflix è una delle nostre ispirazioni. Ci sforziamo di ottenere l\'esperienza utente di Netflix, oltre a molte chicche aggiuntive. Ma soprattutto, ti stiamo dando la libertà di gestire la tua libreria e aggiungere nuove fonti di contenuto con il nostro sistema di addon.","FAQ_03_P2":"Ciò rende Stremio infinitamente estendibile, quindi quando usi Stremio, non sarai mai limitato come il contenuto che Netflix decide di concedere in licenza. Per esempio, da Stremio puoi vedere contenuti da ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} e anche ${9}Netflix${10} stesso!","FAQ_04_H1":"Come si confronta Stremio rispetto a Flipboard?","FAQ_04_P1":"Non riceviamo questa domanda così spesso, tranne quando parliamo con le persone di start-up :)","FAQ_04_P2":"Stremio è progettato come aggregatore di contenuti, che lo rende effettivamente un Flipboard per i video. Questo è molto evidente nella nostra sezione Bacheca, che ti mostra cataloghi e le notifiche di nuovi video/nuovi episodi per quello che segui, proprio come Flipboard.","FAQ_05_H1":"Come si confronta Stremio rispetto a Popcorn Time?","FAQ_05_P1":"Stremio e Popcorn Time hanno un\'interfaccia simile, perché non ci sono molti modi per fare bene i cataloghi di intrattenimento video :)","FAQ_05_P2":"Ma mentre Popcorn Time è incentrato sulla riproduzione torrent da specifiche sorgenti, Stremio non ha restrizioni ed è semplicemente un aggregatore di contenuti - non è bloccato in una specifica sorgente.","FAQ_05_P3":"Inoltre, non offriamo nessun addon di tipo torrent ufficiale, quindi Stremio non copre l\'esperienza d\'uso di Popcorn Time con funzionalità ufficiali.","FAQ_05_P4":"Un\'altra differenza è che Popcorn Time è completamente open source, mentre Stremio è ${1} parzialmente open source${2}.","FAQ_06_H1":"Aggiungerete questo film/serie TV?","FAQ_06_P1":"No, ci dispiace :(","FAQ_06_P2":"Come riportato nelle altre domande, Stremio non offre perfonalmente contenuti - tutto è aggiunto grazie al sistema di addon. Nel caso dovessi avere una richiesta per un contenuto, puoi usare il tasto “Report” nel Riproduttore, che manderà una email all\'autore dell\'addon che stai attualmente utilizzando.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Creerete addon per X?","FAQ_08_P1":"È assolutamente possibile.","FAQ_08_P2":"Se hai un\'idea per un addon, scrivi una riga a ${1}office@stremio.com${2}, ma assicurati che la tua idea per l\'addon non infranga nessun copyrights o condizione d\'uso.","FAQ_08_P3":"Al momento, le prossime integrazioni sulla nostra tabella di marcia sono addon per FandangoNOW, Filmon.tv video on demand e Crunchyroll.","FAQ_09_H1":"Stremio usa BitTorrent?","FAQ_09_P1":"Sì, Stremio supporta BitTorrent come protocollo di riproduzione. Puoi usarlo sia con un addon per torrent, oppure trascinando un file .torrent su Stremio, oppure incollando un magnet link nella barra di ricerca.","FAQ_09_P2":"Attenzione, da notare che l\'unico addon che usa BitTorrent è ${1}Vodo${2}, il quale fornisce contenuti indie, tutti autorizzati per essere distibuiti su BitTorrent.","FAQ_09_P3":"Noi non supportiamo l\'uso di un qualsiasi addon di terze parti che permetta l\'infrangimento del copyright.","FAQ_10_H1":"Cosa posso guardare su Stremio con gli addon ufficiali?","FAQ_10_P1":"Di default, puoi guardare contenuti di Filmon.tv, YouTube e Vodo. In aggiunta, abbiamo addon per Twitch.tv e pochi altri.","FAQ_10_P2":"Questa combinazione fornisce una selezione di:","FAQ_10_L1":"Canali TV popolari, offerti da Filmon.tv - per esempio E4, BBC, Bollyworld TV","FAQ_10_L2":"Qualsiasi cosa da YouTube - per esempio BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Film indie con Vodo","FAQ_10_L4":"Trasmissioni di Gaming Online con Twitch.tv","FAQ_10_P3":"In più, ci sono molte fonti di contenuto fornite con gli addon di Guidebox e Netflix, che <b>non</b> riproducono internamente a Stremio, ma potrebbero rimandarvi a un dato servizio. Per esempio, l\'addon di Guidebox potrebbe darvi una selezione di film che si possono guardare gratis negli USA, da servizi come TubiTV e Crackle.","FAQ_11_H1":"Stremio non si installa, cosa devo fare?","FAQ_11_P1":"Se usi Windows, prova ${1}queste alternative${2}.","FAQ_11_P2":"Se usi Mac OS X, sii consapevole che non supportiamo nessuna versione precedente a OS X Mavericks (10.9).","FAQ_11_P3":"Se usi Linux, sii consapevole che supportiamo solo Linux 64 bit (x64) per il momento.","FAQ_11_P4":"Se non riesci a risolvere il tuo problema, scrivici al nostro ${1} gruppo Facebook${2}.","FAQ_12_H1":"Perché scatta il mio antivirus? Stremio è sicuro?","FAQ_12_P1":"Assicuriamo che Stremio è ${1}sicuro al 100%${2}.","FAQ_12_P2":"Il tuo antivirus scatta perchè nel nostro programma è integrata la pubblicità, che viene riconosciuta da alcuni antivirus come pericolo.","FAQ_12_P3":"Se non sei ancora sicuro, puoi provare ad installare una ${1}di queste alternative${2}.","FAQ_13_H1":"Come posso creare il mio addon?","FAQ_13_P1":"Per i principianti, suggeriamo di controllare su GitHub il nostro ${1}modulo di sistemi di addon${2}.","FAQ_13_P2":"Dopo, potete seguire la guida ${1}Hello World${2}.","FAQ_13_P3":"Se non hai idea di come programmare, condividi la tua idea sulla ${1}comunità Reddit${2} e contattaci a ${3}office@stremio.com${4} con la tua idea di addon.","FAQ_14_H1":"Come sono pubblicati gli addon?","FAQ_14_P1":"Quando crei un addon e lo offri, ed inserisci un campo <b>endpoint</b> nel tuo manifesto, che punta ad un indirizzo di un addon funzionante, l\'addon sarà automaticamente pubblicato sul nostro ${1}Catalogo Addon${2}.","FAQ_14_P2":"Questo succede perchè la parte server del modulo stremio-addons chiama automaticamente la nostra API per notificare l\'addon. Quando la nostra API valida il tuo <b>endpoint</b> come addon valido, inizierà ad essere mostrato nel catalogo.","FAQ_15_H1":"Posso lanciare Stremio nel mio browser?","FAQ_15_P1":"Non ancora per il momento, ma arriverà!","FAQ_15_P2":"Se sei curioso di vedere una versione Alpha, puoi vederla qui: ${1}alpha4.strem.io${2}. Ricordati che lo streaming è disabilitato su questa versione. Suportiamo Chrome, Firefox, Opera e Edge.","FAQ_16_H1":"La trasmissione su TV non funziona / i sottotitoli non funzionano","FAQ_16_P1":"La trasmissione su TV usa la tecnologia DLNA che è molto inconsistente tra i diversi marchi e modelli di TV. Per questo motivo, non possiamo testare ogni caso, quindi è lontana dalla perfezione. Nonostante ciò, stiamo lavorando per migliorarla costantemente ma non possiamo darti una stima di quando DLNA inizierà a funzionare correttamente con la tua TV.","FAQ_16_P2":"Se non vedi nemmeno la tua TV nel menu della Trasmissione, prova a disattivare la connessione di rete e riattivarla (su Windows, click destro su Rete e usa Abilita/Disabilita), oltre a riavviare il router, la TV e il PC.","FAQ_16_P3":"Se stai riscontrando ancora problemi, puoi aiutarci inviandoci le informazioni sulla marca e sul modello del televisore all\'indirizzo ${1}office@stremio.com${2}.","FAQ_16_P4":"Nel frattempo, ti consigliamo Chromecast, che supportiamo molto bene, o semplicemente collegando la TV al PC con un cavo HDMI.","FAQ_17_H1":"Stremio si blocca e/o crasha, cosa posso fare?","FAQ_17_P1":"Prima di tutto, se utilizzi Windows 7 con l\'antivirus AVG: abbiamo un problema con quella combinazione. Il problema è in AVG stesso e non esiste un modo ragionevole per risolverlo da parte nostra. Sfortunatamente, le eccezioni o la disattivazione dell\'antivirus non funzioneranno. L\'unica soluzione è sostituire AVG con qualcos\'altro.","FAQ_17_P2":"Se non è questo il problema, ma stai ancora utilizzando Windows, esegui l\'aggiornamento all\'ultimo service pack e aggiorna/reinstalla i driver della GPU, quindi riprova.","FAQ_17_P3":"Se il tuo problema non è ancora risolto, o stai usando un Mac o Linux, scrivici segnalando i dettagli esatti del problema sul ${1}nostro gruppo Facebook${2}.","FAQ_18_H1":"Come posso creare il mio addon?","FAQ_18_P1":"Per i principianti, suggeriamo di controllare su GitHub il nostro ${1}modulo di sistemi di addon${2}.","FAQ_18_P2":"Dopo, potete seguire la guida ${1}Hello World${2}.","FAQ_18_P3":"Se non hai idea di come programmare, condividi la tua idea sulla ${1}comunità Reddit${2} e contattaci a ${3}office@stremio.com${4} con la tua idea di addon.","FAQ_19_H1":"Perchè Stremio occupa spazio sul disco?","FAQ_19_P1":"Stremio ha una <b>cache locale</b> per conservare temporaneamente i file video della tua riproduzione.","FAQ_19_P2":"Questo ha due benefici: primo, permette a Stremio di anticipare il caricamento del video in modo da garantire una riproduzione più fluida. Secondo, mantiene i video nella cache locale in modo da poter continuare a guardarli offline.","FAQ_19_P3":"Quanta memoria prende Stremio dipende dalle impostazioni di <b>Cache</b> impostate nel pannello Impostazioni. Stremio può mantenere la quantità impostata (ad es. 2 GB) sul tuo disco, a meno che il video attualmente in streaming non sia più grande, in qual caso deve allocare spazio di archiviazione sufficiente per conservarlo fino a quando non lo riproduci in streaming.","FAQ_20_H1":"Dov\'è la cartella di cache?","FAQ_20_P1":"Su Windows, è stremio-cache nell\'unità che hai scelto in Impostazioni (es. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"Su MacOS, è \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"Su Linux, è \\"~/.stremio/stremio-cache\\" oppure \\"~/stremio-cache\\"","FAQ_21_H1":"Ricevo l\'errore \\"Server di riproduzione non trovato\\", cosa posso fare?","FAQ_21_P1":"Se ricevi questo errore, significa una delle poche cose:","FAQ_21_P2":"1) Stai tentando di utilizzare un addon supportato dalla sorgente YouTube/BitTorrent, dalla nostra ${1}versione web${2}. In questo caso, devi installare la nostra versione desktop dal ${3}nostro sito web${4}.","FAQ_21_P3":"2) C\'è qualcosa che non va con l\'installazione di Stremio. In questo caso, prova a reinstallare la nostra ultima versione desktop dal ${1}sito web${2}. Se non aiuta, prova a disabilitare l\'antivirus e firewall, riavviando il tuo PC e provando di nuovo. Se anche questo non aiuta, scrivici sul ${3}nostro gruppo Facebook${4}.","FAQ_22_H1":"Non posso vedere/usare parecchi addon su iOS","FAQ_22_P1":"A causa delle restrizioni nei termini e condizioni dell\'Apple App Store, abbiamo delle restrizioni sull\'applicazione per iOS solo per un particolare gruppo di addon.","FAQ_22_P2":"Ma stai tranquillo - ci saranno molti altri addon per iOS in futuro, e potremmo anche aggiungere un\'integrazione che ti consentirà di utilizzare tutti gli addon di Stremio grazie alla connessione dell\'app iOS allo Stremio Streaming Server."}')},4774:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"映画","TYPE_series":"シリーズ","TYPE_tv":"テレビチャンネル","TYPE_channel":"チャンネル","TYPE_other":"その他","TYPE_movie_PL":"映画","TYPE_series_PL":"シリーズ","TYPE_tv_PL":"テレビチャンネル","TYPE_channel_PL":"チャンネル","TYPE_other_PL":"その他","TYPE_ALL":"すべて","TYPE":"タイプ","CATALOG_com_linvo_cinemeta_top":"人気","CATALOG_com_linvo_cinemeta_imdbRating":"注目","CATALOG_com_linvo_cinemeta_year":"新着","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"パブリックドメイン映画","VIDEO":"ビデオ","BACK":"戻る","MORE":"もっと見る","DONE":"完了","COPY":"コピー","SUCCESS":"成功","ERROR":"エラー","SETTINGS_CASTING_MODE_PICKER":"キャスティングモード","CASTING_MODE_HLSV2":"デフォルト","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"トランスコーディングなし","Discover":"探す","Board":"ボード","Library":"ライブラリ","My Library":"マイライブラリ","Calendar":"カレンダー","NOTIFICATION_ONLINE":"オンラインです","NOTIFICATION_OFFLINE":"現在オフラインです","INTERNET_CONNECTION":"ネットワーク接続","STORAGE_FULL_TITLE":"警告:ストレージがいっぱいです!","STORAGE_FULL_TEXT":"Stremioは設定、プリファレンス、ログイン情報を保存できません。Stremioの再起動または再インストールを検討してください。","SEARCH":"検索","SEARCH_NO_RESULTS":"結果が見つかりませんでした","SEARCH_EXPLANATION_CONTENT":"映画、シリーズ、YouTube、テレビチャンネルを検索","SEARCH_EXPLANATION_PEOPLE":"俳優、監督、脚本家を検索","SEARCH_PASTE_LINKS":"HTTPとMagnetのリンクを貼り付け","SEARCH_OR_PASTE_LINK":"検索またはリンクを貼り付け","SEARCH_SUGGESTIONS":"検索候補","ADD_TO_LIB":"ライブラリに追加","REMOVE_FROM_LIB":"ライブラリから削除","ADDED_TO_LIB":"ライブラリに追加されました","REMOVED_FROM_LIB":"ライブラリから削除されました","TRAILER":"予告編","WATCH_TRAILER":"予告編を見る","WATCH_NOW":"今すぐ見る","SHOW":"表示","SHOW_MOVIE":"映画を表示","WATCH_RANDOM":"ランダムに視聴","IMDB_RATING":"IMDb評価","YEAR":"年","DIRECTOR":"監督","WRITER":"脚本家","LEAD_ACTORS":"主演俳優","CAST":"キャスト","CREW":"クルー","SHOW_MORE_CAST":"もっと見る »","AIRED":"放送","SEASONS":"シーズン","GENRE":"ジャンル","GENRE_ALL":"すべてのジャンル","CATALOG":"カタログ","SUMMARY":"概要","SHOW_MORE":"もっと見る","SIMILAR":"類似","UPCOMING":"今後の予定","ENDED":"終了","DURATION":"期間","FEATURED":"注目","METADATA":"メタデータ","CATEGORY":"カテゴリ","LINKS_GENRES":"ジャンル","LINKS_CAST":"キャスト","LINKS_DIRECTORS":"監督","SEARCH_VIDEOS":"動画を検索","SEARCH_PLACEHOLDER":"検索またはURLを貼り付け","ADDON":"アドオン","ADDONS":"アドオン","OFFICIAL":"公式","ADDONS_OFFICIAL":"公式のStremioアドオン","ADDONS_POPULAR":"あなたの地域で人気","ADDON_FREE":"無料","ADDON_PEERED":"peered","ADDON_SUBSCRIPTION":"サブスクリプション","ADDON_STREAM_GEORESTRICTED":"お住まいの地域では利用できません","ADDON_STREAM_OFFLINECACHE":"オフラインキャッシュ","ADDON_STREAM_LOCALFILE":"ローカルファイル","SHARE_ADDON":"アドオンを共有","AVAILABLE_STREAMS":"利用可能なストリーム","NO_STREAM":"ストリームが見つかりませんでした","ALL_ADDONS":"すべて","INSTALL_MORE_ADDONS":"より多くのストリームを利用するために、より多くのアドオンをインストールしてください","STREAM_NOT_SUPPORTED":"選択したストリームはこのプラットフォームではサポートされていません。","ADDON_CATALOGUE":"すべてのアドオンを表示 »","ADDON_CATALOGUE_MORE":"アドオンをインストール","REPO_ADDED":"リポジトリが追加されました","ADDON_REPO_EXIST_ERR":"このアドオンのコレクションはすでに存在します","ADDON_REPO_ERR":"コレクションの追加中にエラーが発生しました","ADDON_ADD_ERR":"アドオンの追加中にエラーが発生しました","ERR_ADDON_PROTECTED":"アドオンをアンインストールできません、これは保護されています","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"何か問題が発生しました - 認証が失敗した可能性があります","ERR_NOT_COLLECTION_URL":"コレクションのURLではありません","ERR_NOT_ADDON_URL":"有効なアドオンのURLではありません","ERR_DETECTFROMURL":"このURLからアドオン/コレクションを見つけることができません","ADDON_DUPLICATE_WARNING":"警告: 重複したアドオンです","ADDON_COLLECTION_SET_FAILED":"インストールしたアドオンをあなたのアカウントに同期することができませんでした","SETTINGS_DATA_EXPORT":"ユーザーデータをエクスポート","ADDON_PULL_FAILED":"あなたのアカウントからインストールしたアドオンを同期することができませんでした","REFRESH_ON_CLICK":"クリックして再試行","STILL_IN_THEATER":"映画はまだ劇場で上映中です","WATCH_IN_CINEMA":"あなたの地元の映画館で観る","IN_THEATER":"劇場で","GET_TICKETS":"チケットを取る","UPCOMING_EPISODE":"今後のエピソード","UPCOMING_EPISODE_MESSAGE":"このエピソードは次の日に放送されます","MISSING_DATE_EPISODE":"エピソードの日付がありません","MISSING_DATE_EPISODE_MESSAGE":"このエピソードはまだ放送されていない可能性があります","CHANNEL_NOT_SCRAPED":"このチャンネルはまだスクレイプされていません。<br>数分後にもう一度お越しください。","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"利用可能になったら通知を受けるために、ライブラリに追加してください。","GET_NOTIFIED_WHEN_AVAILABLE":"利用可能になったら通知を受け取ります。","WARNING_STREAMING_SERVER":"警告: ローカルストリーミングサーバーが見つかりません。ローカルファイル、YouTube、BitTorrentからのストリーミングは利用できません。","WARNING_STREAMING_SERVER_DISMISS":"閉じる","WARNING_STREAMING_SERVER_LATER":"後で","DECODER_WARNING":"警告: この動画はお使いのハードウェアではサポートされていない可能性があります。再生が遅くなる可能性がありますのでご注意ください。","GENERIC_ERROR_MESSAGE":"何か問題が発生しました!","TRY_AGAIN":"再試行","CLEAR_DATA":"データをクリア","PLAYER_ERROR":"プレーヤーエラーです","PLAYER_ERROR_LOOKSLIKE":"どうやら","PLAYER_ORIENTATION":"プレーヤーの向き","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"ロック","PLAYER_ORIENTATION_SENSOR_SHORT":"センサー","PLAYER_ORIENTATION_LANDSCAPE":"プレーヤーの向きは横向きにロックされています","PLAYER_ORIENTATION_SENSOR":"プレーヤーの向きは自動です(センサー)","PLAYER_PLAYBACK_SPEED":"再生速度","PLAYER_PLAYBACK_ERROR":"再生エラー、もう一度試してください","PLAYER_PLAYBACK_ERROR_UNKNOWN":"不明なエラー","PLAYER_PLAYBACK_ERROR_DEFAULT":"申し訳ありませんが、この動画は{{productName}}で再生できません。","PLAYER_SUBTITLES_LANGUAGES":"字幕の言語","PLAYER_SUBTITLES_VARIANTS":"字幕の種類","PLAYER_SUBTITLES_SETTINGS":"字幕の設定","PLAYER_SUBTITLES_DISABLED":"字幕は無効化されています","PLAYER_SUBTITLES_VERTICAL_POSIITON":"垂直位置","PLAYER_SUBTITLES_LOADED":"字幕が読み込まれました","PLAYER_SUBTITLES_LOADED_EMBEDDED":"埋め込まれた字幕が読み込まれました","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"独占的な字幕が読み込まれました","PLAYER_SUBTITLES_LOADED_ORIGIN":"{{origin}}からの字幕が読み込まれました","PLAYER_PLAY":"再生","PLAYER_PAUSE":"一時停止","PLAYER_NEXT_VIDEO":"次の動画","PLAYER_MUTE":"ミュート","PLAYER_UNMUTE":"ミュート解除","PLAYER_OPEN_IN_EXTERNAL":"外部プレーヤーで開く","PLAYER_OPEN_IN_NPLAYER":"nPlayerで開く","PLAYER_PLAY_IN":"{{device}}で再生","PLAYER_LIVE":"ライブ","PLAYER_NEXT_VIDEO_TITLE":"次に放送予定の","PLAYER_NEXT_VIDEO_TITLE_SHORT":"次へ","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"閉じる","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"今すぐ見る","PLAYER_COPY_STREAM_SUCCESS":"ストリームのリンクがクリップボードにコピーされました","PLAYER_COPY_STREAM_ERROR":"ストリームのリンクのコピーに失敗しました","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"ダウンロードリンクがクリップボードにコピーされました","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"ダウンロードリンクのコピーに失敗しました","STREAMING_FROM":"ストリーミング元","CASTING_TO":"キャスト先","NETWORK_STATUS":"ネットワーク状態","STREAM_SPEED":"ストリーム速度:","STREAM_BUFFERED":"バッファ済み:","PEERS_INFO":"ピア情報","PEERS_ACTIVE":"アクティブ:","PEERS_CONNECTED":"接続済み:","PEERS_WAITING":"待機中:","TRANSCODING_WARNING":"警告: 動画を転送しています。","STREAM_LOADING":"読み込み中...","PLAYING_LOCAL":"ローカルファイルから再生中","PLAYING_CACHE":"キャッシュから再生中","WRONG_SUBS":"字幕が間違っていますか?","ERR_SUBS_LOADING_TITLE":"字幕の読み込みエラー","ERR_SUBS_LOADING":"字幕の読み込みに失敗しました: 使用中のアドオン、またはネットワーク接続に問題がある可能性があります","WARN_FOLLOWING_SUB_ADDONS_FAILED":"次の字幕アドオンが失敗しました","ERR_CASTING_UPDATE_TITLE":"キャストデバイス情報を更新できませんでした: ストリーミングサーバーがオフラインである可能性があります","CHOOSE_DEVICE":"視聴するデバイスを選択","NO_CAST_DEVICES":"利用可能なキャスティングデバイスがありません。","NO_SETTINGS":"利用可能な設定がありません。","PHONE_TABLET":"電話 / タブレット","SUBTITLES":"字幕","SUBTITLES_CHANGE":"字幕を変更 ","SUBTITLES_CHANGE_NONE":"申し訳ありませんが、この言語の他の字幕はありません。","SUBTITLES_CHANGE_ACIVE":"現在、字幕&#35;{{subtitlesDialog.activeIdx + 1}}が有効化されています。\\"続行\\"をクリックして字幕&#35;{{subtitlesDialog.pickedIdx + 1}}を有効化します。","SUBTITLES_OR":"または、","SUBTITLES_ADJUST_DELAY":"字幕の遅延を調整:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"再生中に<span>G</span> / <span>H</span>キーを使用して調整することもできます。","SUBTITLES_ADJUST_DELAY_TIP":"TIP: 再生中に<span>G</span> / <span>H</span>キーを使用して調整できます。","SUBTITLES_DELAY":"字幕の遅延:","SUBTITLES_LOADING":"字幕を読み込んでいます...","SUBTITLES_UNAVAILABLE":"利用可能な外部字幕はありません","SUBTITLES_DISABLED":"無効化","EXTERNAL_PLAYER_DISABLED":"無効化","EXTERNAL_PLAYER_ALLOW_CHOOSING":"選択を許可","EXTERNAL_PLAYER_HINT":"ヒント: 常に外部プレーヤーで開く設定があります","DONT_SHOW_AGAIN":"再度表示しない","SERVICE_INSTALL":"インストール","AUDIO":"オーディオ","DEFAULT_LANGUAGE":"デフォルトの言語","DEFAULT_SECONDARY_LANGUAGE":"デフォルトの第二言語","SEASON":"シーズン","EPISODE":"エピソード","EPISODE_ABBREVIATION":"エピソード","SPECIAL":"スペシャル","SORT":"並び替え","SORT_BY":"並び順","FILTER":"フィルター","SORT_TRENDING":"トレンド","SORT_RECENT":"最新","SORT_ALPHABET":"アルファベット順","SORT_ALPHABET_REVERSE":"アルファベット逆順","SORT_RATING":"評価","SORT_WATCHED":"視聴済み","SORT_YEAR":"年","SELECT_TYPE":"タイプを選択","SELECT_SORT":"並び替えを選択","SELECT_CATALOG":"カタログを選択","SELECT_GENRE":"ジャンルを選択","SORT_LASTWATCHED":"最後に視聴した順","SORT_NAME":"アルファベット順","SORT_NAMEREVERSE":"アルファベット逆順(z-a)","SORT_TIMESWATCHED":"視聴回数が多い順","SORT_NOTWATCHED":"視聴していません","New for You":"あなたのための新着","New Episodes":"新着エピソード","New Videos":"新着ビデオ","Recommendations":"おすすめ","LIBRARY_RESUME":"再開","LIBRARY_PLAY":"再生","LIBRARY_DETAILS":"詳細","LIBRARY_RESUME_DISMISS":"閉じる","LIBRARY_CLEAR_PROGRESS":"進行状況をクリア","LIBRARY_REMOVE":"削除","LIBRARY_NOT_LOGGED_IN":"ライブラリはログインしたユーザーのみ利用可能です","CALENDAR_NOT_LOGGED_IN":"カレンダーはログインしたユーザーのみ利用可能です","NOT_LOGGED_IN_CLOUD":"いつでもどこでもお気に入りの映画やテレビ番組にアクセスできます","NOT_LOGGED_IN_RECOMMENDATIONS":"視聴履歴に基づいたおすすめ","NOT_LOGGED_IN_NOTIFICATIONS":"二度とエピソードを見逃すことはありません","NOT_LOGGED_IN_CALENDAR":"視聴カレンダーをスケジュールしましょう","DISCOVER_FEATURED":"注目","DISCOVER_TOP":"トップ","DISCOVER_OSCAR":"オスカー受賞","DISCOVER_WARNING_TITLE":"おっと!","DISCOVER_EMPTY_CATALOG":"このアドオンは空のコンテンツを返しました。","DISCOVER_ADULT_WARNING":"このコンテンツは18歳以上のみが閲覧可能です。あなたは18歳以上ですか?","DISCOVER_NOADDON_WARNING":"警告: このタイプに対して有効なStremioアドオンがありません。保存されたアイテムを表示しますが、ここでは何も更新されません。","DISCOVER_LOAD_ERR":"コンテンツがロードされませんでした、エラーが発生しました。","DISCOVER_ADDON_UNINSTALLED":"このコンテンツはもう利用できません、アドオンをアンインストールした可能性があります。","UNINSTALL_THIS_ADDON":"このアドオンをアンインストール","ERR_ADDON_NOT_INSTALLED":"このアドオンはインストールされていません。今すぐインストールしますか?","DETAIL_RECEIVE_NOTIF_SERIES":"新エピソードの通知を受け取る","DETAIL_RECEIVE_NOTIF_VIDEOS":"新ビデオの通知を受け取る","SIDEBAR_SHOW_STREAMS":"ストリームを表示","RELAUNCH":"今すぐ再起動!","UPGRADE":"新バージョンが利用可能です!最新のStremioバージョンにアップグレード","RELOAD_UI":"ユーザーインターフェースをリロード","MANUAL_UPDATE_TITLE":"Stremioバージョンを更新","MANUAL_UPDATE_LINE1":"あなたは古いバージョンのStremioを使用していますが、これは非常にお勧めできません。","MANUAL_UPDATE_LINE2":"できるだけ早く更新してください。","BUTTON_UPDATE_LATTER":"今はしない","BUTTON_UPDATE_NOW":"更新","ANONYMOUS_USER":"匿名ユーザー","DONT_HAVE_ACC":"アカウントをお持ちでないですか?","HAVE_ACC":"すでにアカウントをお持ちですか?","PASSWORD":"パスワード","PASSWORD_CONFIRM":"パスワードの確認","EMAIL":"Eメール","FB_LOGIN":"Facebookで続行","FB_NOTHINGSHARED":"あなたの許可なしに何も共有されません","FB_NOPOST":"私たちはあなたに代わって何も投稿しません","OR":"または","I_ACCEPT":"私は以下を受け入れます","I_ACCEPT_BY_CLICKING":"上記のボタンをクリックすることで、私は以下を受け入れることを証明します ","TOS":"利用規約","MUST_ACCEPT_TERMS":"利用規約を受け入れる必要があります","PASSWORDS_NOMATCH":"パスワードが一致しません","SIGN_UP":"サインアップ","SIGN_UP_EMAIL":"メールでサインアップ","CLICK_TO_SIGN_UP":"ここをクリックしてサインアップします。","LOG_IN":"ログイン","LOG_OUT":"ログアウト","EXIT_FULLSCREEN":"全画面モードを終了","ENTER_FULLSCREEN":"全画面モードに入る","PLAY_URL_MAGNET_LINK":"URL/マグネットリンクを再生","HELP_FEEDBACK":"ヘルプ&フィードバック","TERMS_OF_SERVICE":"利用規約","PRIVACY_POLICY":"プライバシーポリシー","ABOUT_STREMIO":"Stremioについて","USER_PANEL":"ユーザーパネル","LOGIN_LABEL":"ログイン","GUEST_LOGIN":"ゲストログイン","GUEST_LOGIN_NOTICE":"ゲストログインはお勧めできません。通常のログインを使用すると、Stremioがあなたのライブラリを同期し、お気に入りのシリーズ/チャンネルの通知を受け取ることができます。本当に進行しますか?","GUEST_LOGIN_NOTICE_2":"ゲストログインはお勧めできません - 同期されたライブラリとボード通知がなく、これらはStremioの重要な機能です。本当に進行しますか?","CLICK_HERE":"ここをクリック","WRONG_PASSWORD":"メールアドレスまたはパスワードが間違っています。パスワードを忘れた場合は、","SET_A_PASS":"パスワードを設定","RESET_PASSWORD":"パスワードをリセット","FORGOT_PASSWORD":"パスワードをお忘れですか?","EMAIL_USED_WITH_FB":"このメールアドレスはFacebookログインで使用されました。","INVALID_EMAIL":"有効なメールアドレスを入力してください","INVALID_PASSWORD":"有効なパスワードを入力してください","CONN_ERR":"接続エラー - 後でもう一度お試しください。\\n\\nこの問題が解決しない場合は、ファイアウォール/ウイルス対策ソフト(特にBitdefender)を無効にしてください。","IMPORT_FROM_GUEST":"ゲストアカウントからライブラリをインポート","RECEIVE_UPDATES_EMAIL":"Stremioからの更新をメールで受け取る","LOGIN_FAILED":"ログインに失敗しました。","SIGNUP_FAILED":"サインアップに失敗しました。","SEARCH_FAILED":"検索に失敗しました","EMAIL_USED":"このメールアドレスはすでに使用されています。","WAITING_FB_LOGIN":"Facebookでログイン中...","EXTERNAL_PLAYER_TITLE":"外部プレーヤーで再生","EXTERNAL_REMEMBER_PLAYER":"あなたの選択を記憶しますか","EXTERNAL_ALWAYS_PLAY":"はい","EXTERNAL_ONLY_ONCE":"いいえ","BEST_FIT":"最適フィット","FIT_SCREEN":"画面に合わせる","FILL":"塗りつぶす","16:9":"16:9","4:3":"4:3","Original":"オリジナル","INTRO_TASTE":"あなたの好みについて教えてください","INTRO_TASTE_LONG":"あなたが見たいものについて教えてください","INTRO_TASTE_PICK":"{{interestsRemaining}}つの興味を選んでください","INTRO_TASTE_PICK_MORE":"さらに{{interestsRemaining}}つの興味を選んでください","INTRO_TASTE_HELP_US":"あなたについてもっと学びましょう。","INTRO_TASTE_CHOOSE_THESE":"これらの中から選んでください: ","INTRO_TASTE_CHOOSE_MIN":"少なくとも3つのカテゴリーを選んでください","INTRO_TASTE_CHOOSE_MIN_ERR":"少なくとも3つのカテゴリーを選ばなければなりません!","INTRO_TASTE_LIFESTYLE":"ライフスタイル","INTRO_TASTE_SPORTS":"スポーツ","INTRO_TASTE_FOOD_HEALTH":"食事&健康","INTRO_TASTE_BEAUTY_FASHION":"美容&ファッション","INTRO_TASTE_NEWS":"ニュース","INTRO_TASTE_GAMING":"ゲーム","INTRO_TASTE_SCIENCE_EDU":"科学&教育","INTRO_TASTE_MUSIC":"音楽","INTRO_TASTE_TRAVEL":"旅行","INTRO_TASTE_LATE_NIGHT":"深夜のショー","INTRO_TASTE_REALITY":"リアリティ","INTRO_TASTE_COMEDY":"コメディ","INTRO_TASTE_DIY":"DIYの方法","INTRO_TASTE_TECH":"テクノロジー","INTRO_TASTE_CINEMA":"映画","ADDON_NOT_SUPPORTED":"選択したアドオンはこのプラットフォームではサポートされていません。","ADDON_DISCLAIMER":"サードパーティのアドオンを使用することは、常にあなたの責任と、あなたが所在する管轄区域の法律に従うことになります。","ADDON_ACTIVATE":"このアドオンを有効にしますか?","ADDON_REPO_ADD":"アドオンコレクションのURL","ADDON_ADD":"追加","INSTALL_ADDON":"アドオンをインストール","ADD_ADDON":"アドオンを追加","ADD_ADDON_DESCRIPTION":"外部リンクからアドオンを追加することができます。それはインストール済みのアドオンの下に表示されます。","PASTE_ADDON_URL":"アドオンのURLを貼り付け","WHATS_NEW":"新着情報","BUTTON_CONTINUE":"続ける","BUTTON_ACTIVATE":"有効化","BUTTON_ACTIVATED":"有効化済み","BUTTON_CANCEL":"キャンセル","BUTTON_SUBMIT":"送信","BUTTON_DISMISS_ALL":"すべて閉じる","BUTTON_VIEW_ALL":"すべて表示","BUTTON_SEE_ALL":"すべて見る","BUTTON_COLOR_TRANSPARENT":"透明","OPEN_IN_BROWSER":"ブラウザで開く","LIB_EMPTY":"あなたのライブラリは空っぽのようです。その有用性を見つけてみてください :)","HOW_START":"ここから始める方法: ","LIB_EMPTY_CAL":"あなたのカレンダーはライブラリのシリーズを表示します。","HOW_START_CAL":"シリーズを追加する方法: ","LIB_EMPTY_BOARD":"ボードは、あなたのライブラリに関連する通知と推奨事項を表示します。","HOW_START_BOARD_WAIT":"ライブラリにいくつかのシリーズやチャンネルを追加して、私たちが処理するのに数分お待ちください :)","HOW_START_BOARD":"シリーズと映画を追加する方法:","IMPORT_FB":"<span>Facebook</span>から好きなものをインポート","IMPORT_TRAKT":"<span>Trakt</span>からあなたのメディアライブラリをインポート","IMPORT_DISCOVER":"<span>Discover</span>から面白いものを見つける","IMPORT_DISK":"あなたの<span>ローカルディスク</span>にある映画や番組をインポート","PLEASE_CREATE_ACC":"ライブラリの同期とボードを有効にするために<u>アカウントを作成</u>してください。","IMPORT_DISCOVER_SIGNUP":"サインアップして<span>Discover</span>から面白いものを見つける","IMPORT_DISK_SIGNUP":"サインアップして、あなたの<span>ローカルディスク</span>にある映画や番組をインポートしましょう","LIB_EMPTY_CLOUD":"クラウドライブラリ","LIB_EMPTY_CLOUD_DESC":"すべてのデバイスで同期された個人のクラウドライブラリ","LIB_EMPTY_EARLY":"さっそく見てみましょう","LIB_EMPTY_EARLY_DESC":"新エピソードの通知を受け取る","LIB_EMPTY_PERSONAL":"パーソナル","LIB_EMPTY_PERSONAL_DESC":"パーソナルな推奨事項を取得","LIB_EMPTY_CALENDAR_DESC":"個人の視聴カレンダーをスケジュール","LIB_EMPTY_ALL":"これらのすべてを取得するにはサインアップしてください:","LIB_EMPTY_BEST":"Stremioを最大限に活用するためにサインアップしましょう","LIB_EMPTY_OTHER":"カレンダーと他のクールな機能を有効にするためにサインアップしましょう","CALENDAR_ADDED":"Stremioのカレンダーがあなたのデフォルトのデスクトップカレンダーに追加されました。","CALENDAR_ADDED_MSG":"これが機能しない場合は、手動でこのURLをカレンダーアプリケーションに追加してください","TRAKT_EXPIRED":"Traktの認証が期限切れです、設定に移動して再認証してください","TRAKT_REQUIRES_LOGIN":"Traktエラー","TRAKT_REQUIRES_LOGIN_MSG":"ログインが必要です","TRAKT_IMPORT_WATCHED":"インポート","THEME":"テーマ","THEME_DEFAULT":"デフォルト","THEME_ADAPTIVE":"自動","SETTINGS_LABEL":"設定","SETTINGS_NAV_GENERAL":"一般","SETTINGS_NAV_PLAYER":"プレーヤー","SETTINGS_NAV_STREAMING":"ストリーミング","SETTINGS_NAV_SHORTCUTS":"ショートカット","SETTINGS_SHORTCUT_RELOAD_APP":"アプリを再読み込み","SETTINGS_SHORTCUT_OPEN_SETTINGS":"設定を開く","SETTINGS_SHORTCUT_SWITCH_TABS":"タブを切り替える","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"タブを順に切り替える","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"タブを逆順に切り替える","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"メニュー間を移動する","SETTINGS_SHORTCUT_GO_TO_SEARCH":"検索に移動する","SETTINGS_SHORTCUT_EXIT_BACK":"終了 / 戻る","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"再生速度メニューを切り替える","SETTINGS_SHORTCUT_MENU_VIDEOS":"ビデオメニューを切り替える","SETTINGS_SHORTCUT_MENU_SUBTITLES":"字幕メニューを切り替える","SETTINGS_SHORTCUT_MENU_INFO":"情報メニューを切り替える","SETTINGS_SHORTCUT_FULLSCREEN":"全画面表示を切り替える","SETTINGS_SHORTCUT_SHOW_CONTROLS":"コントロールを表示","SETTINGS_SHORTCUT_PLAY_PAUSE":"再生 / 一時停止","SETTINGS_SHORTCUT_VOLUME_UP":"音量を上げる","SETTINGS_SHORTCUT_VOLUME_DOWN":"音量を下げる","SETTINGS_SHORTCUT_SEEK_NEXT":"次を探す","SETTINGS_SHORTCUT_SEEK_PREV":"前を探す","SETTINGS_SHORTCUT_SEEK_BACKWARD":"後方に探す","SETTINGS_SHORTCUT_SEEK_FORWARD":"前方に探す","SETTINGS_SHORTCUT_PLAY_NEXT":"次を再生する","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"字幕サイズを大きくする","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"字幕サイズを小さくする","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"字幕の遅延を増やす","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"字幕の遅延を減らす","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"サイドバーを切り替える","SETTINGS_SHORTCUT_OR":"または","SETTINGS_SHORTCUT_TO":"へ","SETTINGS_SHORTCUT_SPACE":"スペース","SETTINGS_SHORTCUT_SHIFT":"シフト","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"認証","SETTINGS_FACEBOOK_IMPORT":"インポート","SETTINGS_CALENDAR_SUBSCRIBE":"購読する","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"カレンダーアプリが開かれました。手動でカレンダーを登録してください。","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"カレンダーファイルがダウンロードされました。カレンダーアプリにインポートしてください。","SETTINGS_INTERFACE_LANGUAGE":"インターフェースの言語","SETTINGS_LAUNCH_STARTUP":"起動時に起動する","SETTINGS_VLC_DEFAULT":"VLCで再生する","SETTINGS_UI_LANGUAGE":"UIの言語","SETTINGS_UI_ZOOM":"インターフェースのズーム","SETTINGS_FULLSCREEN_EXIT":"エスケープキーで全画面表示を終了する","SETTINGS_GAMEPAD":"ゲームパッドのサポートを有効化","SETTINGS_CLOSE_WINDOW":"ウィンドウを閉じるときにアプリを閉じる","SETTINGS_SUBTITLES_LANGUAGE":"デフォルトの字幕言語","SETTINGS_SUBTITLES_SIZE":"デフォルトの字幕サイズ","SETTINGS_SUBTITLES_BACKGROUND":"字幕の背景","SETTINGS_SUBTITLES_COLOR":"字幕の色","SETTINGS_SUBTITLES_COLOR_OUTLINE":"字幕のアウトラインの色","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"字幕の背景色","SETTINGS_SEEK_KEY":"矢印キーで探す時間","SETTINGS_SEEK_KEY_SHIFT":"シフトキーを押しながら矢印キーで探す時間","SETTINGS_REWIND_FAST_FORWARD_DURATION":"巻き戻しと早送りの時間","SETTINGS_BINGE":"次のエピソードを自動再生する","SETTINGS_NEXT_VIDEO":"次のエピソードを開始する通知を表示する","SETTINGS_NEXT_VIDEO_TRIGGER":"次のエピソードの通知を表示する:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"次のビデオのポップアップの時間","SETTINGS_PLAY_IN_BACKGROUND":"バックグラウンドで再生する","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"外部プレーヤーで再生する","SETTINGS_RESIZE":"再生前にウィンドウのサイズを自動調整する","SETTINGS_OVERRIDE_SERVER":"ストリーミングサーバーのURLを上書き(上級者向け)","SETTINGS_SERVER_URL":"ストリーミングサーバーのURL: ","SETTINGS_SERVER_AVAILABLE":"ストリーミングサーバーは利用可能です。","SETTINGS_SERVER_UNAVAILABLE":"ストリーミングサーバーは利用できません。","SETTINGS_SERVER_STATUS_ONLINE":"オンライン","SETTINGS_SERVER_STATUS_ERROR":"エラー","SETTINGS_SERVER_CONFIGURE_TITLE":"ストリーミングサーバーのURLを設定","SETTINGS_SERVER_CONFIGURE_INPUT":"ストリーミングサーバーのURLを入力","SETTINGS_SERVER_CACHE_SIZE":"キャッシュサイズ","SETTINGS_SERVER_TORRENT_PROFILE":"トレントプロファイル","SETTINGS_HTTPS_ENDPOINT":"ストリーミングHTTPSエンドポイント: ","SETTINGS_TRANSCODE_PROFILE":"トランスコードプロファイル","SETTINGS_USE_BETA":"常に最新のベータ版を使用","SETTINGS_IMPORT_FB":"Facebookからインポート","SETTINGS_IMPORT_DISK":"ローカルディスクからインポート","SETTINGS_IMPORT_TRAKT":"Traktからインポート","SETTINGS_PAUSE_MINIMIZED":"最小化したときに再生を一時停止","SETTINGS_HWDEC":"ハードウェアアクセラレーションデコード","SETTINGS_BACKGROUND":"バックグラウンド再生","SETTINGS_SUBSCRIBE_CALENDAR":"カレンダーに登録","SETTINGS_REQ_EXPORT":"データのエクスポートを要求","SETTINGS_ACC_DELETE":"アカウントの削除を要求","SETTINGS_CHANGE_PASSWORD":"パスワードを変更","SETTINGS_TOS":"利用規約","SETTINGS_SUPPORT":"サポートに連絡","SETTING_LANGUAGE":"言語","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_LOGOUT":"Trakt.tvからログアウト","SETTINGS_TRAKT_LOGOUT_2":"Traktからログアウト","SETTINGS_SCAN_FOR_REMOTE":"QRコードをスキャンしてリモートで開く","SETTINGS_DESKTOP_NOTIFICATIONS":"デスクトップ通知","SETTINGS_DATA_SAVER":"データ節約","SETTINGS_LANGUAGE_INTERFACE":"インターフェース","SETTINGS_LANGUAGE_SUBS":"デフォルトの字幕","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"オーディオトラックを自動選択する","SETTINGS_DEFAULT_AUDIO_TRACK":"デフォルトのオーディオトラック","SETTINGS_SURROUND_SOUND":"サラウンドサウンド","SETTINGS_ACCOUNT":"アカウント","SETTINGS_PLATFORM":"プラットフォーム","SETTINGS_VERSION":"バージョン","SETTINGS_ABOUT":"情報","SETTINGS_MPV_WINDOW":"プレーヤーを別のウィンドウで起動する(高度)","SETTINGS_PLAY_IN_EXTERNAL":"常に外部プレーヤーでビデオを開始する","SETTINGS_STORAGE_BUTTON":"ローカルストレージをクリアする","SETTINGS_STORAGE_MODAL_TITLE":"本当によろしいですか?","SETTINGS_STORAGE_MODAL_MESSAGE":"これにより、ローカルストレージがクリアされ、ログアウトされます。","SETTINGS_HWDEC_PICKER":"ハードウェアアクセラレーションデコード設定を選択する","SETTINGS_HW_AUTOMATIC":"自動","SETTINGS_HW_DISABLED":"無効","SETTINGS_HW_ACCELERATED":"デコード加速","SETTINGS_HW_FULL":"全加速","SETTINGS_HW_LEGACY":"従来","SETTINGS_DISABLED":"無効","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"ネットワーク接続の通知","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"リモートURL","SETTINGS_COPY_REMOTE_URL":"リモートURLをコピー","SETTINGS_REMOTE_URL_COPIED":"リモートURLがクリップボードにコピーされました","SETTINGS_SECTION_SUBTITLES":"字幕","SETTINGS_SECTION_AUDIO":"オーディオ","SETTINGS_SECTION_CONTROLS":"コントロール","SETTINGS_SECTION_AUTO_PLAY":"自動再生","SETTINGS_SECTION_ADVANCED":"高度","SUBSPICKER_AUDIO":"オーディオ","SUBSPICKER_SUBTITLES":"アドオン字幕","SUBSPICKER_BLACK_BACKGROUND":"黒の背景色を使用","SUBSPICKER_VERTICAL_OFFSET":"垂直オフセット","SUBSPICKER_SIZE":"サイズ","SUBSPICKER_DELAY":"遅延","SUBSPICKER_EMBEDDED_SUBS":"埋め込み字幕","MOBILE_PRIVACY_POLICY":"プライバシーポリシー","MOBILE_CRASH_REPORTING":"クラッシュレポート","MOBILE_ZOOM_TO_FILL":"画面に合わせてズーム","MOBILE_PASSTHROUGH":"デジタルオーディオ出力(パススルー)","MOBILE_RUN_LOW_BATTERY":"バッテリー残量が少ない時に実行","MOBILE_RUN_FOREGROUND":"フォアグラウンドサービスとして実行","MOBILE_PERFORMANCE":"パフォーマンスと安定性","MOBILE_SERVER_ONLINE":"オンライン","MOBILE_SERVER_OFFLINE":"オフライン","MOBILE_QR_EXPIRES":"QRコードの有効期限は ","MOBILE_LOG_INTO":"Stremioアカウントにログイン","MOBILE_SCAN_QR":"上記のQRコードをスキャンするか、 ","MOBILE_LINK_ACCOUNT":"アカウントをリンクする","MOBILE_SPEEDPICKER_CANCEL":"キャンセル","MOBILE_SPEEDPICKER_LABEL":"再生速度を選択する","MOBILE_EMPTY_LIBRARY":"ライブラリは空です","MOBILE_NO_ADDON_ACTIVE":"このタイプのStremioアドオンはアクティブではありません。","MOBILE_ORGANIZER_WARNING":"Stremio Organizerアプリは機能が限定されています。再生可能なストリームのリストと完全なStremio体験については、デスクトップのStremioを使用してください。","MOBILE_ADDON_LOADING":"はまだ読み込み中です","MOBILE_ADDONS_LOADING":"アドオンはまだ読み込み中です","MOBILE_ADDON":"アドオン","MOBILE_CONFIGURE_ADDON":"アドオンを設定する","MOBILE_CONFIGURE_ADDON_LABEL":"アドオンを設定する","MOBILE_ORGANIZER_ADDONS_WARNING":"Stremio Organizerアプリは限定的なアドオンの選択を提供します。完全なStremio体験については、デスクトップのStremioを使用してください。","MOBILE_DISCONNECT":"切断する","MOBILE_LOOKING_FOR_DEVICES":"デバイスを探しています...","MOBILE_CAST_TO":"にキャストする","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"アカウントを削除する","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"法的義務により、アカウントの削除は即時ではありません。アカウントの削除を要求した後、将来新しいStremioアカウントを作成するためには、異なるメールアドレス/ Facebookプロファイルを使用する必要があります。","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"アカウントの削除を確認","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"あなたのアカウントはFacebookを使用して作成されました。アカウントを削除するには、www.stremio.com/loginのユーザーポータルをご利用ください。","MOBILE_DELETE_ACCOUNT_MESSAGE":"アカウントの削除を確認するためにパスワードを入力してください。","MOBILE_DELETE_ACCOUNT_BUTTON":"アカウントを削除する","NAVIGATION_ON":"オン","NAVIGATION_OFF":"オフ","MARKETING_AGREE":"Stremioからのマーケティングコミュニケーションを受け取ることに同意します","QUIT":"終了","CONNECTED":"接続済み","AUTHENTICATE":"認証","CACHING":"キャッシング","SETTINGS_CACHING_DRIVE":"キャッシュドライブ","ENABLE_LOCAL_FILES_ADDON":"ローカルファイルアドオンを有効にする(再起動が必要)","LOCAL_ADDON_NOT_ENABLED":"ローカルアドオンが有効になっていません。ここをクリックして設定に移動し、有効にしてください","ENABLE_REMOTE_HTTPS_CONN":"リモートHTTPS接続を有効化","TORRENT_PROFILE":"Torrentプロファイル","DATA_CACHING":"データキャッシュ","MAGNET_PARSING":"マグネットリンクの解析","January":"1月","February":"2月","March":"3月","April":"4月","May":"5月","June":"6月","July":"7月","August":"8月","September":"9月","October":"10月","November":"11月","December":"12月","Monday":"月曜日","Tuesday":"火曜日","Wednesday":"水曜日","Thursday":"木曜日","Friday":"金曜日","Saturday":"土曜日","Sunday":"日曜日","Action":"アクション","Comedy":"コメディ","War":"戦争","Family":"家族","Animation":"アニメーション","Adventure":"冒険","Fantasy":"ファンタジー","Crime":"犯罪","Mystery":"ミステリー","Romance":"ロマンス","Drama":"ドラマ","Horror":"ホラー","Thriller":"スリラー","Sci-Fi":"SF","Music":"音楽","Biography":"伝記","Documentary":"ドキュメンタリー","Sport":"スポーツ","Musical":"ミュージカル","Western":"西部劇","Film-Noir":"フィルム・ノワール","News":"ニュース","History":"歴史","Game-Show":"ゲームショー","Reality-TV":"リアリティTV","Talk-Show":"トークショー","Film & Entertainment":"映画&エンターテイメント","Gaming":"ゲーム","From TV":"テレビから","Lifestyle":"ライフスタイル","Science & Education":"科学&教育","Cooking & Health":"料理&健康","Beauty & Fashion":"美容&ファッション","Sports":"スポーツ","News & Politics":"ニュース&政治","How-to & DIY":"ハウツー&DIY","Tech":"テクノロジー","Automotive":"自動車","Causes & Non-Profits":"原因&非営利","Movies":"映画","Uk Live Tv":"イギリスのライブテレビ","Fashion":"ファッション","Business News Radio":"ビジネスニュースラジオ","Business Tv":"ビジネステレビ","Cars & Auto":"車&自動車","Comedy Radio":"コメディラジオ","Lifestyle Radio":"ライフスタイルラジオ","News Tv":"ニューステレビ","Food And Wine":"食べ物とワイン","Latino Tv":"ラティーノテレビ","Shopping Tv":"ショッピングテレビ","Religion":"宗教","Kids":"子供","Body & Soul":"ボディ&ソウル","Education":"教育","Indian Tv":"インドのテレビ","Extreme Sports":"エクストリームスポーツ","Middle Eastern Tv":"中東のテレビ","Celebrity Tv":"セレブリティテレビ","Science Tv":"科学テレビ","Bikini babe":"ビキニの女性","Outdoors":"アウトドア","German Tv":"ドイツのテレビ","French Tv":"フランスのテレビ","Italian Tv":"イタリアのテレビ","Gamer Tv":"ゲーマーテレビ","Travel":"旅行","Asian Tv":"アジアのテレビ","Entertainment":"エンターテイメント","News Radio":"ニュースラジオ","Music Radio":"音楽ラジオ","Language Learning":"言語学習","Science Radio":"科学ラジオ","Tech Radio":"テクノロジーラジオ","Science & Technology Vod":"科学と技術のビデオオンデマンド","new video":"新しい動画","new episode":"新しいエピソード","new movie":"新しい映画","recommended":"おすすめ","we recommend":"私たちはおすすめします","offer of the day":"本日のオファー","news":"ニュース","music video":"音楽ビデオ","CTX_SHOW_HOTKEYS":"ホットキーを表示","CTX_DISMISS_NOTIF":"通知を消去","CTX_DISMISS_ALL":"すべて消す","CTX_SHARE":"共有","CTX_COPY_SHARE_LINK":"共有リンクをコピー","CTX_COPY_MAGNET_LINK":"マグネットリンクをコピー","CTX_COPY_STREAM_LINK":"ストリームリンクをコピー","CTX_COPY_VIDEO_DOWNLOAD_LINK":"動画のダウンロードリンクをコピー","CTX_DOWNLOAD_VIDEO":"このビデオをダウンロード","CTX_DOWNLOAD_SUBS":"字幕をダウンロード","CTX_VIEW_ON_YOUTUBE":"YouTubeで見る","CTX_SHOW":"表示","CTX_PLAY":"再生","CTX_PLAY_IN":"で再生","CTX_PLAY_ON":"で再生","CTX_WATCH_ON":"で視聴","CTX_WATCH":"視聴","CTX_WATCHED":"視聴済み","CTX_WATCH_BEGINNING":"最初から視聴","CTX_WATCH_MOBILE":"モバイルデバイスで視聴","CTX_REWIND":"最初に巻き戻す","CTX_MARK_WATCHED":"視聴済みにする","CTX_MARK_NON_WATCHED":"未視聴にする","CTX_MARK_UNWATCHED":"未視聴にする","CTX_MARK_REST":"残りを視聴済みにする","CTX_UNMARK_REST":"残りを未視聴にする","CTX_RECEIVE_NEW_NOTIF":"新しい通知を受け取る","CTX_ENABLE_NEW_NOTIF":"通知を有効にする","CTX_DISABLE_NEW_NOTIF":"通知を無効にする","CTX_REMOVE_CACHE":"キャッシュから削除","CTX_REMOVE_CACHE_EP":"エピソードをキャッシュから削除","CTX_OPEN_CONTAINING":"含むフォルダを開く","CTX_REMOVE":"ライブラリから削除","CTX_AVAILABLE_OFFLINE":"オフラインで利用可能","CTX_PAUSED":"一時停止","CTX_ALWAYS_ON_TOP":"常に最前面","CTX_FULLSCREEN":"全画面","CTX_WRONG_SUBS":"字幕が間違っていますか?","CTX_REPORT_ISSUES":"問題を報告","CTX_COPY":"コピー","CTX_PASTE":"貼り付け","CTX_CLEAR":"クリア","CTX_CLEAR_RECENT_SEARCHES":"最近の検索をクリア","HELLO_THERE":"こんにちは","HOPE_YOU_ENJOY":"Stremioを楽しんでいただけて、すでにお気に入りのアプリの一つになっていることを願っています!","WHO_ARE_WE":"私たちは誰でしょうか?私たちはそれを背後に持つチームです - 過去3年間、毎日一生懸命働いて、この製品をより良くするために。","SUPPORT_US":"Stremioを楽しんでいるなら、Stremioがあなたにとって価値があるなら - 広めてください!","SPREAD_THE_WORD":"今すぐ友達と共有し、Stremioについて広めてください","MORE_PEOPLE":"Stremioを使う人が増えれば増えるほど、それはより良くなります!","SEND_A_LINK":"または、私たちのウェブサイトへのリンクを送信します","TIP_LOCALFILES":"ヒント: ローカルのビデオファイルをStremioにドラッグ&ドロップできます","ADDON_MY":"自分のアドオン","ADDON_COMMUNITY":"コミュニティアドオン","ADDON_OFFICIAL":"公式アドオン","ADDON_REPOS":"アドオンコレクション","ADDON_SEARCH":"アドオンを検索","ADDON_INSTALL":"インストール","ADDON_CONFIGURE":"設定","ADDON_UNINSTALL":"アンインストール","ADDON_UPGRADE":"更新","ADDON_INSTALLED":"インストール済み","ADDON_INSTALLED_MSG":"アドオンがインストールされました!","ADDON_UPGRADED_MSG":"アドオンが更新されました!","ADDON_UNKNOWN":"不明","ADDON_ERR":"アドオンのインストールエラー!","ADDON_DISCONNECTED":"切断されました","ADDON_APP_MISSING":"このソースのアプリがインストールされていません。今すぐインストールしますか?","ADDON_APP_INSTALL":"今すぐインストール","ADDON_PAGE":"アドオンページ","ADDON_TOP_CONTENT":"このアドオンからのベスト","ADDON_PROVIDES":"このアドオンはあなたに以下を提供します:","ADDON_WATCH":"#{types}を今すぐ視聴!","ADDON_WATCH_FREE":"#{types}を今すぐ無料で視聴!","ADDON_ADDON":"アドオン","ADDON_SUPPORTED_TYPES":"サポートされているタイプ","ADDON_SUPPORTED_CATALOGS":"サポートされているカタログ","ADDON_PROVIDES_DISCOVER":"Discoverでさらに#{types}を探す","ADDON_PROVIDES_STREAMS":"#{types}を視聴","ADDON_PROVIDES_STREAMS_FREE":"#{types}を無料で視聴","ADDON_PROVIDES_SUBTITLES":"#{types}の字幕","ADDON_CANTDETECT":"Stremioが実行中であることを検出できなかったため、インストールされているアドオンを検出できませんでした。","ERR_NO_META":"この情報が見つかりません ","ERR_GETTING_META":"この情報の取得中にエラーが発生しました。","ERR_CANT_PARSE_MAGNET":"マグネットを解析できません","ERR_NO_MAGNET_INFOHASH":"マグネットの有効な情報ハッシュがありません","ERR_NO_FILE_PATH":"ファイルへのパスがないため、リクエストを送信できません","ERR_NO_TORRENT":"トレントが返されません","ERR_NO_SUPPORTERD_FILES":"サポートされているファイルが見つかりません","ERR_OPENING_FILES":"外部ファイルを開くことができません","ERR_INVALID_LINK":"無効なリンク","ERR_REGISTERED_ONLY":"このオプションは登録ユーザーのみ利用可能です。","ERR_CLIPBOARD":"クリップボードから再生できません","ERR_CLIPBOARD_READ":"このプラットフォームではクリップボードを読み取ることができません","ERR_CLIPBOARD_GENERIC":"クリップボードに再生可能なURLが見つかりません。ビデオへのURL(例えば、マグネットリンク)をコピーしてください。","BOARD_CONTINUE_WATCHING":"視聴を続ける","BOARD_EXPLANATION_RECOMMENDATIONS":"あなたのために特別に選ばれた映画。<br />この映画はサンプルの推奨です。","BOARD_EXPLANATION_EPISODES":"お気に入りのシリーズの新エピソードはここに来ます。<br />ライブラリにフォローしているシリーズを追加してください。","BOARD_EXPLANATION_VIDEOS":"お気に入りのチャンネルの新エピソードはここに来ます。<br />ライブラリにフォローしているYouTubeチャンネルを追加してください。","WEBSITE_ENJOYED_BY":"世界中の3000万人以上のユーザーに楽しまれています","WEBSITE_STREAMING_ENHANCED":"ストリーミングが強化されました","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremioは安全でモダンでシームレスなエンターテイメント体験を提供します。使いやすいインターフェースと多様なコンテンツライブラリ、4K HDRサポートを含む、ユーザーはお気に入りの映画やテレビ番組をすべてのデバイスで楽しむことができます。そして、セキュリティへのコミットメントにより、Stremioは安心して高品質なストリーミング体験を選ぶための究極の選択肢です。","WEBSITE_AVAILABLE_ON":"利用可能なプラットフォーム","WEBSITE_WATCH_AND_ENJOY":"視聴して楽しむ。","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremioはそれを簡単にします","WEBSITE_ALL_FEATURES":"すべての機能","WEBSITE_EASY_TO_USE":"使いやすい","WEBSITE_EASY_TO_USE_DETAILS":"Stremioはユーザーフレンドリーで使いやすいように設計されています。クリーンで直感的なインターフェースで、簡単にナビゲートして視聴したいコンテンツを見つけることができます。","WEBSITE_SEAMLESS_ACROSS_DEVICES":"デバイス間でシームレス","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"幅広いプラットフォーム(Windows、Mac、Linux、Androidなどを含む)で利用可能なStremioは、すべてのデバイスの進行状況を追跡します。新しいデバイスごとにアプリを再設定することなく、ログインして視聴を続けることができます。","WEBSITE_ALL_DOWNLOADS":"すべてのダウンロード","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"高解像度動画をサポート","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"ほとんどのビデオフォーマットをサポートする統合ビデオプレーヤーは、4K HDRコンテンツを含む、最高品質のビデオを楽しむことができます。","WEBSITE_DIVERSE_CONTENT_LIBRARY":"多様なコンテンツライブラリ","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremioは、Netflix、Amazon Prime Video、Hulu、YouTubeなど、多数の人気ビデオソースと統合しています。","WEBSITE_CREATE_A_FREE_ACCOUNT":"無料アカウントを作成","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"視聴体験のカスタマイズ","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremioでは、テーマの変更、アドオンの追加や削除などにより、インターフェースの見た目と感じをカスタマイズできます。","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"多言語字幕サポート","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"Stremioはすべての言語の字幕をサポートしているため、お気に入りのコンテンツを選択した言語で楽しむことができます。","WEBSITE_ALL_STREMIO_FEATURES":"Stremioのすべての機能","WEBSITE_TRY_STREMIO_TITLE_P1":"Stremioを試す","WEBSITE_TRY_STREMIO_TITLE_P2":"今すぐあなたのテレビで","WEBSITE_YOU_CAN_NOW_WATCH":"Android TVデバイスでお気に入りのテレビ番組をすぐに視聴できます。Stremio TVアプリを使えば、映画の夜を簡単に楽しむことができます。","WEBSITE_YOU_CAN_NOW_WATCH_2":"Smart TVまたはAndroid TVでお気に入りのテレビ番組をすぐに視聴できます。Stremio TVアプリを使えば、映画の夜を簡単に楽しむことができます。","WEBSITE_STREMIO_FOR_SMART_TV":"Smart TV用Stremio","WEBSITE_PLAY_STORE_REVIEW":"おそらく、デバイスに持っておく最も便利で有用なアプリの一つです。これは、私が特にAndroid TVで何年もの間毎日使用しているアプリの一つです。強力なコミュニティが有用な機能を提供するよく作られたアプリです。よくやった。良い仕事を続けてください。","WEBSITE_REVIEWS":"レビュー","WEBSITE_GET_STREMIO_FOR_FREE":"無料でStremioを入手","WEBSITE_GET_STREMIO_NOW":"今すぐStremioを入手","WEBSITE_STREMIO_FEATURES":"Stremioの機能","WEBSITE_STREMIO_FEATURES_DETAILS":"Stremioの高度な機能を使ってプロのようにストリームし、お気に入りのメディアへのシームレスなアクセスを楽しむ","WEBSITE_DISCOVER_MORE":"もっと発見する。","WEBSITE_DISCOVER_MORE_DETAILS":"観るものが尽きることはありません","WEBSITE_COMMUNITY_DRIVEN":"コミュニティ主導","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremioには、アドオンの作成や共有によりソフトウェアの開発に貢献する大規模で活動的なユーザーコミュニティがあります。","WEBSITE_GET_INVOLVED":"参加する","WEBSITE_NEW_THEATER_EXPERIENCE":"新しい劇場体験","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremioの新しい専用TVアプリを使えば、Android TVデバイスで映画の夜を楽しむことができます。","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremioの新しい専用TVアプリを使えば、Smart TVまたはAndroid TVデバイスで映画の夜を楽しむことができます。","WEBSITE_FREE_AND_SECURE":"無料&安全","WEBSITE_STREAMING":"ストリーミング","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremioはユーザーに比類のないセキュリティとプライバシーを提供します。アドオンをリモートで実行するという独自の機能により、Stremioは他のプラットフォームと比較してお気に入りのコンテンツをストリームするより安全な方法を提供します。あなたのセキュリティとプライバシーは最優先事項であり、プラットフォームはすべてのデータが保護されていることを保証します。","WEBSITE_FREE_AND_SECURE_DETAILS_2":"セキュリティとプライバシーに関する心配をさようならして、Stremioで終わりのないエンターテイメントの世界をこんにちはしましょう。","WEBSITE_INFORMATION_PROVIDED_BY":"情報提供者","WEBSITE_CONTRIBUTE":"貢献","WEBSITE_CONTRIBUTE_DESC":"プロジェクトに貢献して、Stremioをさらに良くするのを手伝ってください","WEBSITE_COMMUNITY_DESC":"本当に素晴らしいストリーミング体験を作り出す最善の方法は、コミュニティをプロセスに巻き込むことだと私たちは信じています。プログラマーであろうとアーティストであろうとただのファンであろうと、あなたはStremioの成長を助けることができます。","WEBSITE_COMMUNITY_DESC_2":"だから今日私たちに参加し、Stremioコミュニティの一部になり、ストリーミングの未来を形成し続けましょう。","WEBSITE_WAYS_TO_GET_INVOLVED":"参加する方法","WEBSITE_IN_THE_STREMIO_COMMUNITY":"Stremioコミュニティ内で","WEBSITE_SHARE_YOUR_THOUGHTS":"あなたの考えを共有する","WEBSITE_REPORT_BUGS":"バグを報告する","WEBSITE_SUGGEST_FEATURES":"機能を提案する","WEBSITE_AND_PROVIDE_FEEDBACK":"そして、私たちのソーシャルメディアチャンネルでフィードバックを提供する。","WEBSITE_BETA_TESTING_PROGRAM":"ベータテストプログラム","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Stremioコミュニティで私たちのベータテストプログラムに参加する(定期的に招待を送っています)。","WEBSITE_JOIN_NOW":"今すぐ参加!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"公式Stremioコミュニティ","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"非公式Stremioコミュニティ","WEBSITE_BECOME":"なる","WEBSITE_A_VOLUNTEER_TRANSLATOR":"ボランティアの翻訳者","WEBSITE_ARE_YOU_A_DEVELOPER":"あなたは開発者ですか?","WEBSITE_CONTRIBUTE_CODE":"私たちのオープンソースプロジェクトにコードを寄稿することができます。私たちはGitHub上にいくつかのプロジェクトを持っており、それらは寄稿者を探しています。手伝いに興味がある場合は、それらをチェックしてみてください:","WEBSITE_STREMIO_ON_GITHUB":"GitHub上のStremio","WEBSITE_CREATE_ADDON_DESC":"Stremioの機能を強化するアドオンを作成(私たちは使いやすいAPIを持っています): ","WEBSITE_STREMIO_ADDON_SDK":"StremioアドオンSDK","WEBSITE_INTERN_DEVELOPER":"私たちはまた、インターン開発者として私たちに参加する機会を提供していますので、一緒に成長することができます。","WEBSITE_APPLY_AS_AN_INTERN":"インターンとして申し込む","WEBSITE_CALLING_ALL_ARTISTS":"全てのアーティストに呼びかけます!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"あなたのファンアートを私たちのオンラインギャラリーにアップロードして、Stremioへのあなたの創造性と愛を披露してください。それが絵、絵画、またはデジタルデザインであろうと、私たちはあなたがStremioブランドに対して持つユニークな見方を見たいと思っています。私たちのアート愛好家のコミュニティに参加し、あなたの作品を世界中のStremioファンと共有してください。","WEBSITE_STREMIO_FANART_GALLERY":"Stremioファンアートギャラリー","WEBSITE_INTERN_DESIGNER":"私たちのチームの一部になり、エキサイティングなインターンシップの機会であなたの創造性を新たな高みに引き上げてください。","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"パブリックドメイン映画プロジェクト","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"Stremioでは、パブリックドメインと孤児ビデオを特定することにより、映画とテレビの歴史を保存することに専念しています。コミュニティと協力して、これらの古典的な芸術作品がすべての人々にアクセス可能であり、未来の世代が楽しむために保護されていることを確認することができます。","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"そのプロジェクトに関与したいと思うなら、お気軽にお問い合わせください。","WEBSITE_JOIN_THE_PROJECT":"プロジェクトに参加する","WEBSITE_BE_PART_OF_OUR_MISSION":"私たちの使命の一部になる","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Stremioチームに参加することに興味がありますか?私たちは、情熱的なプロフェッショナルのための完全なリモートワークを提供します。私たちのオープンポジションをチェックしてみてください。","WEBSITE_OPEN_POSITIONS":"募集中のポジション","WEBSITE_DESCRIPTION":"説明","WEBSITE_LEARN_MORE":"もっと詳しく","WEBSITE_COMPANY":"会社","WEBSITE_CONTACTS":"連絡先","WEBSITE_NEED_HELP":"お困りですか?","WEBSITE_STREMIO_WEB_ON_IOS":"iOS上のStremio Webのガイド","WEBSITE_LINK_ART_V2":"ファンアートギャラリー","WEBSITE_PARTNERS":"パートナー","WEBSITE_SLOGAN_WATCH":"すぐに視聴","WEBSITE_SLOGAN_ALL":"あなたが楽しむすべてのビデオコンテンツが一つの場所に","WEBSITE_SLOGAN_NEW":"あなたが観ることができるすべて","WEBSITE_SLOGAN_NEW_NEW":"ストリームの自由","WEBSITE_WATCH_FROM":"から視聴","WEBSITE_DOWNLOAD":"今すぐダウンロード","WEBSITE_DOWNLOAD_FOR":"今すぐダウンロード","WEBSITE_IS_DESKTOP":"Stremioはデスクトップアプリケーションで、このページをPCで開いてダウンロードしてください","WEBSITE_DESKTOP_DEMO_VID":"デスクトップデモ","WEBSITE_PAGE_HOME":"ホーム","WEBSITE_PAGE_FEATURES":"機能","WEBSITE_PAGE_ADDONS":"アドオン","WEBSITE_PAGE_TECH":"テクノロジー","WEBSITE_PAGE_CREATE_ADDON":"アドオンを作成","WEBSITE_PAGE_CONTACTS":"連絡先","WEBSITE_PAGE_BLOG":"ブログ","WEBSITE_RESET_PASSWORD_MESSAGE":"新しいパスワードを以下に入力してください。","WEBSITE_RESET_PASSWORD_WARNING":"${1}のパスワードをリセットしてもよろしいですか?","WEBSITE_TYPE_movie":"映画","WEBSITE_TYPE_series_PL":"シリーズ","WEBSITE_TYPE_tv":"ライブTV","WEBSITE_TYPE_channel":"チャンネル","WEBSITE_STREMIO_WHAT_IS":"Stremioは、お気に入りのビデオ、映画、テレビシリーズ、テレビチャンネルを整理し、すぐに視聴するのに役立つアプリです。","WEBSITE_FEATURES_WATCH":"HDで即時視聴","WEBSITE_FEATURES_WATCH_DETAIL":"お気に入りの映画、テレビ番組、ビデオ、テレビチャンネルをクリックして再生します。","WEBSITE_FEATURES_SUBS":"自動字幕","WEBSITE_FEATURES_SUBS_DETAIL":"Stremioは自動的にあなたの言語に合わせた字幕を選択します。","WEBSITE_FEATURES_SUBS_LABEL":"あなたの番です、チーフ。","WEBSITE_FEATURES_CAST":"TV&モバイルデバイスで再生","WEBSITE_FEATURES_CAST_DETAIL":"AppleTV、Chromecast、Smart TV(DLNA/UPnP)およびモバイルデバイスにキャストします。","WEBSITE_LIB":"すべてのデバイスで同期された個人のライブラリを楽しむ","WEBSITE_LIB_COLLECT":"Stremioから収集","WEBSITE_LIB_IMPORT":"Facebookからインポート","WEBSITE_LIB_LOCAL":"ローカルドライブから追加","WEBSITE_BOARD":"ボード - 通知と推奨のためのワンストップの場所","WEBSITE_BOARD_RECOMMEND":"推奨されるテレビ番組","WEBSITE_BOARD_TRENDING":"トレンドの映画","WEBSITE_BOARD_NEW":"新しいビデオ","WEBSITE_BOARD_EPISODE":"新しいエピソード","WEBSITE_BOARD_1":"何か面白いものを観るためのものを探していますか?あなたの好みに基づいて推奨を得ます!","WEBSITE_BOARD_2":"お気に入りのテレビ番組やYouTubeチャンネルの新しいエピソードが出たときに通知を受け取ります!","WEBSITE_BOARD_YOUTUBE":"YouTubeチャンネルの新しい動画","WEBSITE_BOARD_EPISODES":"フォローしているシリーズの新エピソード","WEBSITE_ADDONS":"コンテンツアドオン","WEBSITE_TECH_DETAIL":"私たちはテクノロジーが大好き、マッドサイエンスが大好き!\\nStremioは以下のオープンソース技術を使用しています:","WEBSITE_TECH_WCJS":"WebChimera.jsは、Stremioがあらゆるビデオ形式を高性能で再生できるようにします。","WEBSITE_TECH_WCJS_EXTRA":"私たちはコアプロジェクトの貢献者です","WEBSITE_TECH_ELECTRON":"Electronは、Stremioを構築するための革新的なプラットフォームを提供します。","WEBSITE_TECH_ELECTRON_EXTRA":"私たちはプロジェクトの貢献者です","WEBSITE_TECH_LINVODB":"あなたのデータが整理され、どこでもログインできるようにするデータベース技術。","WEBSITE_TECH_LINVODB_EXTRA":"自社技術","WEBSITE_CREATE_ADDON":"あなたのアドオンを作成する","WEBSITE_CREATE_ADDON_DETAIL":"ビデオコンテンツを提供するサービスを持っていますか? Stremioの機能を活用して、あなたのアドオンを作成するのをお手伝いします。","WEBSITE_CREATE_ADDON_BENEFITS":"Stremioのアドオンを作成する利点","WEBSITE_P2P_BEAUTY":"ピアツーピアストリーミングの美しさ","WEBSITE_P2P_1":"信頼性と手頃な価格のフルHD / 4Kビデオオンデマンドまたはライブストリーミング","WEBSITE_P2P_2":"優れたユーザーエクスペリエンスを提供する配信プラットフォーム","WEBSITE_P2P_3":"あなたのニーズに合ったアドオンを作成します","WEBSITE_P2P_CONTACT":"興味がありますか? <a href=\'mailto:office@stremio.com\'>お問い合わせ</a>していただければ幸いです。","WEBSITE_P2P_CONTACT_EXTRA":"Stremioとあなたのコンテンツを統合するのをお手伝いします!","WEBSITE_P2P":"時々、ゲームの名前を変える技術が登場します。私たちは、あらゆるユースケースに適応する素晴らしいパフォーマンスと多様性を提供するピアツーピア(P2P)ビデオストリーミングエンジンの構築に多くの時間と労力を投資しました。\\nDRM対応のP2Pビデオオンデマンドまたはライブストリーミングについてお問い合わせください。","WEBSITE_THOUGHTS":"私たちが共有する考え:","WEBSITE_SPREAD":"Stremioについて広める:","WEBSITE_CONTACT":"お問い合わせください、あなたからの声をお待ちしています!","WEBSITE_OPENSOURCE":"私たちのオープンソースプロジェクトについては、こちらをご覧ください","WEBSITE_BITCOIN":"ビットコインを寄付する:","WEBSITE_FAQ":"よくある質問","WEBSITE_FAQ_SHORT":"FAQ(よくある質問)","WEBSITE_QUESTIONS":"質問","WEBSITE_TOS":"利用規約","WEBSITE_LEGAL":"法的","WEBSITE_PAGE_ABOUT":"紹介","WEBSITE_PAGE_BECOME_PARTNER":"パートナーになる","WEBSITE_ALL_YOU_CAN_WATCH":"見たいものは何でも\\n自由に見る。","WEBSITE_FREEDOM_TO_STREAM":"ストリームの自由","WEBSITE_WHAT_IS_STREMIO":"Stremioとは何ですか?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremioは、ビデオコンテンツの集約のためのワンストップハブです。あらゆる種類のソースからビデオを発見、整理、視聴できます。","WEBSITE_WHAT_IS_STREMIO_P2":"映画、テレビ番組、シリーズ、ライブテレビ、またはYouTubeやTwitch.tvのようなウェブチャンネル - これらすべてがStremioで見つけることができます。","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremioは、ビデオエンターテイメントのためのワンストップソリューションである現代のメディアセンターです。簡単にインストールできるアドオンからビデオコンテンツを発見、視聴、整理できます。","WEBSITE_WHAT_IS_STREMIO_P2_V2":"映画、テレビ番組、ライブテレビ、ウェブチャンネル - これらすべてがStremioで見つけることができます。","WEBSITE_ENJOI_ON_ALL_DEVICES":"すべてのメディアデバイスで楽しむ","WEBSITE_DEVICES_COLLECT":"Stremioから収集","WEBSITE_DEVICES_IMPORT_FB":"Facebookからインポート","WEBSITE_DEVICES_LOCAL":"ローカルドライブから追加","WEBSITE_JOIN_THE_PARTY_NOW":"今すぐパーティーに参加","WEBSITE_DEVICES_ALL":"すべてのデバイスで使いやすい;","WEBSITE_EXTENDABLE_CATALOG":"無限に拡張可能なビデオカタログ;","WEBSITE_ORGANIZE_YOUR_MEDIA":"メディアを整理する素晴らしい機能;","WEBSITE_AS_SEEN_ON":"以下で紹介されました:","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"私たちについて","WEBSITE_LINK_TECHNOLOGY":"技術","WEBSITE_LINK_APPS":"アプリ","WEBSITE_LINK_DOWNLOADS":"ダウンロード","WEBSITE_MORE":"もっと","WEBSITE_LINK_ADDONS":"アドオン","WEBSITE_LINK_ADDON_SDK":"アドオン SDK","WEBSITE_LINK_CONTRIBUTE":"貢献する","WEBSITE_LINK_COMMUNITY":"コミュニティ","WEBSITE_LINK_BLOG":"ブログ","WEBSITE_MORE_MORE":"... その他","WEBSITE_LINK_HELP":"ヘルプセンター","WEBSITE_LINK_CONTACTS":"ビジネスお問い合わせ","WEBSITE_LINK_TOS":"利用規約","WEBSITE_LINK_PRAVACY":"プライバシーポリシー","WEBSITE_SUBSCRIBE":"購読する","WEBSITE_NEWSLETTER":"素晴らしい情報を提供するニュースレターに参加する","WEBSITE_PLACEHOLDER_EMAIL":"あなたのメール","WEBSITE_COMMUNITY":"コミュニティ","WEBSITE_LINK_PRAVACY_LEGAL":"プライバシーと法的","WEBSITE_WHY":"なぜ私たちはそれをするのか","WEBSITE_WHY_P1":"Stremioでは、毎日仕事に来て、ビデオオンデマンド業界の重要な問題を解決したいと思っています。毎分新しいコンテンツが公開されているため、それを見つけるのはほとんど不可能です。","WEBSITE_WHY_P2":"私たちは、人々がビデオエンターテイメントの大きな世界をナビゲートし、新しいコンテンツを楽しむことを助けます。私たちのアプリは映画、シリーズ、ライブTV、ウェブチャンネルなどを一緒に持ってきます。私たちは、ユーザーが好きなタイトルや放送局を見つけるのを非常に簡単にすることに専念しています。","WEBSITE_WHY_P3":"私たちのサービスは、どのデバイスでも、いつでも利用できるため、Stremioは唯一のビデオエンターテイメントハブになります。","WEBSITE_TEAM":"チーム","WEBSITE_TEAM_P":"Stremioのチームは小さくてパワフルです:私たち10人の間で、X言語でコードを書き、ソフトウェア開発、UIとUXデザイン、マーケティングと広告、ビジネスとスタートアップの専門知識を共有します。","WEBSITE_FEATURES":"特徴","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"新しいコンテンツを簡単に発見","WEBSITE_FEATURES_DISCOVER_P":"新しい映画、テレビ番組、シリーズ、チャンネルを簡単に見つけて視聴します。カテゴリ、ジャンル、評価、最近のものなどでブラウズするか、名前を入力して探します。Stremioは新しいビデオコンテンツを見つけるのが簡単です。","WEBSITE_FEATURES_ALL_CONTENT":"すべてのビデオコンテンツを一つの画面で","WEBSITE_FEATURES_ALL_CONTENT_P1":"未完の映画、シリーズ、ビデオを確認し、視聴を続けます。新エピソードやリリースの通知を受け取り、視聴習慣に基づいた推奨をブラウズします。","WEBSITE_FEATURES_LIBRARY":"ビデオライブラリを整理する","WEBSITE_FEATURES_LIBRARY_P1":"任意のタイトルを一回のクリックでStremioライブラリに追加し、タイプ、最近のもの、またはアルファベット順に整然と並べられたコンテンツを見つけます。","WEBSITE_FEATURES_CALENDAR":"視聴するすべてを追跡する","WEBSITE_FEATURES_CALENDAR_P1":"ライブラリに追加したすべての映画とシリーズのカレンダー表示を取得します。Stremioカレンダーをエクスポートして同期し、新エピソードやプレミアがいつ予定されているかを常に把握します。","WEBSITE_FEATURES_BIG_SCREEN":"大画面でビデオコンテンツを楽しむ","WEBSITE_FEATURES_BIG_SCREEN_P1":"視聴中のものを他のデバイス(電話、タブレット、TVなど)にキャストします。","WEBSITE_FEATURES_SOURCES":"さまざまなソースからビデオを視聴する","WEBSITE_FEATURES_SOURCES_P":"公式およびコミュニティのアドオンをインストールして、さまざまなプロバイダからのビデオを楽しむことができます。これらはすべて、洗練された使いやすいアプリで利用できます。","WEBSITE_CREATE_AN_ADDON":"アドオンを作成する","WEBSITE_FEATURES_SYNC":"ライブラリを異なるデバイス間で同期し、再生を再開する","WEBSITE_FEATURES_SYNC_P1":"すべてのデバイスでアカウントにログインし、ライブラリ、アドオン、再生、カレンダーを同期して楽しみます。","WEBSITE_FEATURES_EXTENDABLE":"アドオンによる拡張可能なビデオカタログ","WEBSITE_FEATURES_EXTENDABLE_P1":"Stremioのアドオンカタログは、インストールしてさまざまなビデオコンテンツを視聴するための多数のアドオンを提供します。これには、映画、番組、ライブTV、スポーツ、ニュース、ポッドキャスト、ウェブチャンネル、ビデオゲームなどが含まれます。","WEBSITE_FEATURES_AUTO_SUBS":"自動字幕","WEBSITE_FEATURES_AUTO_SUBS_P1":"字幕アドオンを使用すると、選択した言語のオプションが自動的に選択されます。","WEBSITE_FEATURES_CHROMECAST":"Chromecastへのキャスト","WEBSITE_FEATURES_CHROMECAST_P1":"ビデオコンテンツを大画面で楽しむか、視聴中のものを他のデバイスにキャストします。","WEBSITE_FEATURES_KEEP_TRACK":"お気に入りのテレビ番組とウェブチャンネルを追跡する","WEBSITE_FEATURES_KEEP_TRACK_P1":"お気に入りのシリーズとウェブチャンネルの新エピソードのカレンダー表示と通知を取得します。","WEBSITE_FEATURES_POWER_USER":"パワーユーザー機能","WEBSITE_FEATURES_POWER_USER_P1":"外部プレーヤーで再生","WEBSITE_FEATURES_POWER_USER_P2":"トレントファイルまたはマグネットリンクから再生","WEBSITE_FEATURES_POWER_USER_P3":"Facebookの「いいね」やローカルディスクからライブラリにインポート","WEBSITE_ADD_ONS":"アドオン","WEBSITE_ADD_ONS_P1":"Stremioが提供するすべてのビデオコンテンツは、アドオンシステムを通じて供給されます。コンテンツやコンテンツプロバイダはアプリに組み込まれていません。","WEBSITE_ADD_ONS_P2":"利用可能なアドオンは2つのグループに分かれています:公式とコミュニティのアドオン。","WEBSITE_ADD_ONS_P3":"公式のものはStremioが開発・ホスティングし、コミュニティのアドオンはコミュニティのメンバーが作成・ホスティングします。","WEBSITE_ADDONS_OFFICIAL":"公式アドオン","WEBSITE_ADDONS_WATCHUB":"iTunes、Hulu、Amazonなどのプロバイダからお気に入りの映画、シリーズ、番組をストリームします。","WEBSITE_ADDONS_YOUTUBE":"お気に入りのYouTubeチャンネルを広告なしで視聴し、フォローしている投稿者の新しいアップロードの通知を受け取ります。","WEBSITE_ADDONS_FILMON":"無料でライブTV、映画、ソーシャルテレビを視聴。600のTVチャンネル、45,000の無料映画、ドキュメンタリーなど。","WEBSITE_ADDONS_OPENSUBTITLES":"映画やテレビの字幕を複数の言語で、毎日何千もの翻訳字幕がアップロードされます。","WEBSITE_ADDONS_COMMUNITY":"コミュニティアドオン","WEBSITE_ADDONS_FILMON_VOD":"Filmon.tvからビデオオンデマンドを視聴","WEBSITE_ADDONS_TWICH":"Twitch.tvからライブストリームを視聴 - eスポーツ業界向けのビデオストリーミングプラットフォーム。","WEBSITE_ADDONS_VODO":"インディー映画を完全に無料で視聴。","WEBSITE_ADDONS_NETFLIX":"Netflixの映画とウェブシリーズを視聴。","WEBSITE_ADDONS_CREATE":"アドオンを作成する","WEBSITE_ADDONS_CREATE_P1":"ご希望であれば、自分自身のアドオンを開発することができます。これにより、自分自身とコミュニティに新しいビデオコンテンツへのアクセスを提供し、世界中の何百万人もの新しいターゲットオーディエンスに到達することができます。","WEBSITE_ADDONS_START_CREATE":"始めるには、Stremio Addon SDKページを訪れてください:","WEBSITE_DOWNLOADS":"ダウンロード","WEBSITE_DOWNLOADS_P1":"最適なパフォーマンスを得るために、Stremioアプリの最新の利用可能なバージョンを使用することをお勧めします。ただし、何らかの理由で古いバージョンを使用したい場合は、ここからダウンロードできます。","WEBSITE_DOWNLOADS_P1_SHORT":"最適なパフォーマンスを得るために、Stremioアプリの最新の利用可能なバージョンを使用することをお勧めします。","WEBSITE_DOWNLOADS_FOR_WIN":"Windows用Stremio","WEBSITE_DOWNLOADS_FOR_MAC":"macOS用Stremio","WEBSITE_DOWNLOADS_FOR_LINUX":"Linux用Stremio","WEBSITE_DOWNLOADS_FOR_ANDROID":"Android用Stremio","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Android TV用Stremio","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Android Mobile用Stremio","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Steam Deck用Stremio","WEBSITE_DOWNLOADS_FOR_IOS":"iOS用Stremio(限定版)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Samsung TV用Stremio","WEBSITE_DOWNLOADS_FOR_LG_TV":"LG TV用Stremio","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Sony TV用Stremio(Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Philips TV用Stremio(Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Oculus Quest用Stremio","WEBSITE_DOWNLOADS_FOR_META_QUEST":"メタクエスト用のStremio","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Vision Pro用のStremio","WEBSITE_DOWNLOADS_FOR_XBOX":"Xbox用Stremio","WEBSITE_DOWNLOADS_FOR_RPI":"Raspberry Pi用Stremio","WEBSITE_DOWNLOADS_FOR_BROWSER":"ブラウザ用Stremio","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"2019年以降のSamsung TVモデルのApp StoreでStremioを検索","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"2020年以降のLG TVモデルのApp StoreでStremioを検索","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Androidを実行しているSony TVでPlayストアアプリでStremioを検索","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Androidを実行しているPhilips TVでPlayストアアプリでStremioを検索","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"XboxデバイスのApp StoreでStremioを検索","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"RPIのStremio OS用ガイド","WEBSITE_LINK_GUIDE":"ガイド","WEBSITE_DOWNLOAD_SERVICE":"Stremio Serviceをダウンロード","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio ServiceはStremio Webのコンパニオンアプリです。Stremio Serviceの最新の利用可能なバージョンを使用することをお勧めします。","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Windows用Stremio Service","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"macOS用Stremio Service","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Linux用Stremio Service","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Docker用Stremio Service","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Docker用Stremio","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"その他のダウンロードオプション","WEBSITE_DOWNLOAD_NEW":"新着!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"Stremio Webをリリースしました","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"Samsung TV用Stremioをリリースしました","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"LG TV用Stremioをリリースしました","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"Xbox用Stremioをリリースしました","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"Raspberry Pi用Stremioをリリースしました","WEBSITE_CONTRIBUTE_P1":"Stremioプラットフォームはオープンソースで、現在供給されていないコンテンツのためのアドオンを簡単に作成することができます。","WEBSITE_CONTRIBUTE_WHY":"なぜアドオンを作成するべきなのか?","WEBSITE_CONTRIBUTE_WHY_P1":"ビデオコンテンツの新しい視聴者を獲得する","WEBSITE_CONTRIBUTE_WHY_P2":"Stremioのユーザーベースは急速に成長しています - ローンチから1年以内に、Stremioは世界中で100万人のユーザーを獲得し、プラットフォームが存在する2年目にはこの数は250万人に増えました。","WEBSITE_CONTRIBUTE_WHY_P3":"あなたのアドオンを使えば、この視聴者に簡単に到達し、ビデオコンテンツを配信することができます。","WEBSITE_CONTRIBUTE_ALL":"お気に入りの映画、ビデオ、シリーズ、チャンネルを一つの場所で視聴します。","WEBSITE_CONTRIBUTE_ALL_P1":"まだStremioで利用できない特定のタイプのコンテンツのファンですか?それのためのアドオンを作成し、市場で最大かつ最も使いやすいエンターテイメントハブの一つでお気に入りのビデオを視聴しましょう。","WEBSITE_CONTRIBUTE_ALL_P2":"その上で、同じように考えるStremioコミュニティのメンバーから終わりのない感謝を得ることができます。","WEBSITE_CONTRIBUTE_MONETIZE":"あなたのアドオンを収益化し、その助けを借りてお金を稼ぎましょう","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Stremioの新しいアドオンを開発すると、さまざまな方法で簡単に収益化することができます。これを検討している場合は、お気軽にお問い合わせください:","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - アドオンの収益化オプションについての相談やアドバイスを喜んで行います。","WEBSITE_CONTRIBUTE_TRANSLATE":"ボランティアの翻訳者になる","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Stremioのアプリをさまざまな言語で楽しみたい場合は、ボランティアの翻訳者のコミュニティに参加できます。彼らは私たちがStremioを多くの異なる言語に追加するのを助けてくれます。","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"始めるのが待ちきれませんか?","WEBSITE_TRANSALTE_STREMIO":"Stremioを翻訳する","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"公式コミュニティ","WEBSITE_COMMUNITY_OFFICIALS_P1":"成長するStremioコミュニティの一部になりましょう。ソーシャルメディアで私たちをフォローし、こんにちはと言うのをためらわないでください - 私たちはファンからの声を聞くのが大好きです!","WEBSITE_COMMUNITY_UNOFFICIALS":"非公式コミュニティ","STREMIO_COMMUNITY_NL":"Stremioオランダ","STREMIO_COMMUNITY_BRASIL":"Stremioブラジル","STREMIO_COMMUNITY_GERMANY":"Stremioドイツ","STREMIO_COMMUNITY_BELGIUM":"Stremioベルギー","STREMIO_COMMUNITY_FRANCE":"Stremioフランス","STREMIO_COMMUNITY_PORTUGAL":"Stremioポルトガル","STREMIO_COMMUNITY_ITALY":"Stremioイタリア","STREMIO_COMMUNITY_UK":"Stremio英国","STREMIO_COMMUNITY_USA":"Stremioアメリカ","STREMIO_COMMUNITY_MEXICO":"Stremioメキシコ","STREMIO_COMMUNITY_ADDONS":"Stremioアドオン","STREMIO_COMMUNITY_AWESOME":"素晴らしいStremio","WEBSITE_COMMUNITY_PARTNERS":"パートナーとサポーター","WEBSITE_COMMUNITY_GOODIES":"Stremioのグッズ","WEBSITE_COMMUNITY_WALLPAPERS":"壁紙","WEBSITE_COMMUNITY_ART":"コミュニティアートギャラリー","WEBSITE_LINK_ART":"コミュニティアートギャラリー","WEBSITE_CONTACT_US":"お問い合わせ","WEBSITE_CONTACT_US_P1":"ご質問、コメント、提案がありましたら、以下のお問い合わせフォームからお気軽にお問い合わせください。","WEBSITE_CONTACT_US_P2":"私たちはブルガリアに位置しているため、タイムゾーンの違いにより、お問い合わせの対応に遅れが生じることがあります。","WEBSITE_CONTACT_US_SUCCESS":"あなたのメッセージは送信されました。できるだけ早くご連絡いたします。","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"有効なメールアドレスを入力してください!","WEBSITE_CONTACT_US_Q_RELATED_TO":"あなたの質問は何に関連していますか?","WEBSITE_CONTACT_US_Q_OS":"あなたのオペレーティングシステムは何ですか?","WEBSITE_CONTACT_US_PH_EMAIL":"あなたのEメール","WEBSITE_CONTACT_US_PH_MESSAGE":"メッセージ","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"送信","WEBSITE_CONTACT_US_Q_1":"インストール方法は?","WEBSITE_CONTACT_US_Q_2":"アンインストール方法は?","WEBSITE_CONTACT_US_Q_3":"(HTML) ラザニアの作り方は?","WEBSITE_CONTACT_US_Q_4":"アドオン","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"テクノロジー","WEBSITE_TECHNOLOGY_P1":"私たちはテクノロジーと狂気の科学が大好きです。 </br> これがStremioを動かしているものです(すべてオープンソースです)。","WEBSITE_TECHNOLOGY_P_QT":"最高のクロスプラットフォームソフトウェア開発。","WEBSITE_TECHNOLOGY_P_MPV":"無料の、オープンソースの、クロスプラットフォームのメディアプレーヤー。","WEBSITE_TECHNOLOGY_P_RN":"React Nativeを使用すると、JavaScriptだけでモバイルアプリを作成できます。","WEBSITE_TECHNOLOGY_P_VLC":"アプリケーションに埋め込まれたメディアフレームワークでマルチメディアを取得します。","WEBSITE_TECHNOLOGY_P_REALM":"Realmはモバイルプラットフォームであり、SQLiteとCore Dataの代替品です。","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.jsはオープンソースのクロスプラットフォームJavaScriptランタイム環境です。","WEBSITE_TECHNOLOGY_P_RUST":"Rustは、安全性、特に安全な並行性に焦点を当てたマルチパラダイムのシステムプログラミング言語です。","WEBSITE_TECHNOLOGY_CONTRIBUTE":"プロジェクトに貢献する","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Stremioに貢献して、製品をさらに良くする方法は2つあります。","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"プラットフォームの翻訳により、貴重な言語スキルを寄付することができます...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"または","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... コミュニティアドオンの作成にコーディングスキルを活用することができます。","WEBSITE_TRANSLATE_STREMIO":"Stremioを翻訳する","WEBSITE_404_OH_NO":"おっと!探しているページはここにはありません...","WEBSITE_GO_HOME":"ホームに戻る","WEBSITE_LINK_OTHER_DOWNLOADS":"その他のダウンロード","WEBSITE_FAQ_ABR":"よくある質問","WEBSITE_SUPPORT":"サポート","WEBSITE_DOWNLOAD_4_0_BETA":"今すぐStremio 4ベータ版をダウンロード","WEBSITE_GET_FOR_DESKTOP":"デスクトップ用に取得","WEBSITE_LINK_ADDON_COMPETITION":"アドオンコンペティション","WEBSITE_LINK_ART_CONTEST":"アートコンテスト","WEBSITE_MY_ACCOUNT":"マイアカウント","WEBSITE_MAINPAGE_FAQ_001_H1":"Stremioとは何ですか?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremioは、あなたが何でも見たいと思う自由を与えてくれる現代的なメディアセンターです。","WEBSITE_MAINPAGE_FAQ_002_H1":"それはどのように動作しますか?","WEBSITE_MAINPAGE_FAQ_002_P1":"Stremioをデバイスにインストールし、アカウントを作成すると、あなたがしなければならないのは、アドオンカタログを訪れて任意のアドオンをインストールすることだけで、準備完了です!","WEBSITE_MAINPAGE_FAQ_002_P2":"その後、DiscoverセクションやBoardセクションに移動してコンテンツの探索を開始できます。","WEBSITE_MAINPAGE_FAQ_003_H1":"ここで何を見ることができますか?","WEBSITE_MAINPAGE_FAQ_003_P1":"たくさん:映画、テレビ番組、ウェブチャンネル、スポーツ、テレビチャンネル、ポッドキャストを聴くなど。私たちのアドオンシステムのおかげで、さまざまなコンテンツにアクセスできます。","WEBSITE_MAINPAGE_FAQ_004_H1":"Stremioはオープンソースですか?","WEBSITE_MAINPAGE_FAQ_004_P1":"はい、次のリンクをご覧ください:${1}デスクトップアプリ${2} および ${3}GitHubの組織${4}。","WEBSITE_MAINPAGE_FAQ_005_H1":"Stremioは安全ですか?","WEBSITE_MAINPAGE_FAQ_005_P1":"はい:オープンソースソフトウェアであるため、コードは公開されており、自分でレビューすることができます。","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremioのアドオンシステムも、ユーザーのセキュリティを考慮して作成されました。アドオンはローカルでコードを実行しないため、デバイスにリスクをもたらすことはありません。","WEBSITE_MAINPAGE_FAQ_006_H1":"プライバシーはどうですか?","WEBSITE_MAINPAGE_FAQ_006_P1":"私たちはユーザーのプライバシーを尊重し、アカウントの作成と同期に必要な最小限の個人データしか収集しません。","WEBSITE_MAINPAGE_FAQ_006_P2":"また、サインアップ時に${1}ゲストモード${2}があり、これにはデータが一切必要ありません:このモードでは、バックエンドに対する呼び出しが行われません。ただし、デバイス間でライブラリを同期するなどの便利な機能が利用できなくなります。","WEBSITE_MAINPAGE_FAQ_007_H1":"私のテレビにキャストすることはできますか?","WEBSITE_MAINPAGE_FAQ_007_P1":"はい、Chromecastをサポートしており、デスクトップアプリとモバイルアプリ(Android)の両方からキャストすることができます。","WEBSITE_MAINPAGE_FAQ_008_H1":"Stremioにはいくつのアドオンがありますか?","WEBSITE_MAINPAGE_FAQ_008_P1":"2019年末現在、50以上あります - 詳細はアドオンカタログをご覧ください。","WEBSITE_MAINPAGE_FAQ_009_H1":"Stremioはアドオンカタログの範囲を超えて拡張できますか?","WEBSITE_MAINPAGE_FAQ_009_P1":"はい、次のものをチェックしてみてください:${1}PimpMyStremio${2}、${3}Redditのコミュニティ${4}、${5}Stremio Downloader${6}など。","WEBSITE_MAINPAGE_FAQ_010_H1":"Stremioはどのデバイスをサポートしていますか?","WEBSITE_MAINPAGE_FAQ_010_P1":"Windows、Mac、Linux用のデスクトップアプリがあります。モバイルでは、AndroidとiOSをサポートしていますが、iOSは機能が限定されていることに注意してください(ほとんどのアドオンをサポートしていません)。","WEBSITE_MAINPAGE_FAQ_010_P2":"NVIDIA ShieldやAmazon Fire Stickなど、Stremioを実行できるAndroidベースのデバイスがたくさんありますが、公式にはサポートしていません。","WEBSITE_MAINPAGE_FAQ_010_P1_2":"Windows、Mac、Linux用のデスクトップアプリがあります。また、Android MobileとAndroid TV専用のアプリもあります。iOSとiPadOSでは、Stremio Webの使用をおすすめしますが、機能は限定されています。","WEBSITE_MAINPAGE_FAQ_011_H1":"特定のコンテンツをStremioに追加できますか?","WEBSITE_MAINPAGE_FAQ_011_P1":"申し訳ありませんが、私たちは自身でコンテンツを提供していませんが、Stremioにインストールしたアドオンが多ければ多いほど、見つけることができるコンテンツが増えます。","WEBSITE_MAINPAGE_FAQ_012_H1":"Stremioはマグネットリンクを再生できますか?","WEBSITE_MAINPAGE_FAQ_012_P1":"はい、通常のHTTPリンクとトレントファイル(ドラッグアンドドロップ)も再生できます。","WEBSITE_MAINPAGE_FAQ_013_H1":"ビデオをダウンロードしてオフラインで視聴することはできますか?","WEBSITE_MAINPAGE_FAQ_013_P1":"オフライン利用可能は今後の機能ですが、設定パネルからStremioにデバイス上にキャッシュを許可すると、後で接続なしでビデオを視聴することができます。","WEBSITE_MAINPAGE_FAQ_014_H1":"何も動作しない、助けて!","WEBSITE_MAINPAGE_FAQ_014_P1":"アドオンをインストールしたことは確認しましたか?もしインストールしたなら、私たちの${1}ヘルプセンター${2}をチェックしてみてください。","WEBSITE_MAINPAGE_FAQ_015_H1":"Stremioは開発業務をどのように維持していますか?","WEBSITE_MAINPAGE_FAQ_015_P1":"私たちは時折、邪魔にならない広告を表示しますが、寄付モデルへの移行を検討しています。","WEBSITE_MAINPAGE_FAQ_015_P2":"他の質問については、私たちの${1}ヘルプセンター${2}にアクセスしてください。","HELP_LEARN_MORE":"私たちがあなたについてもっと学ぶのを助けてください。","LIFESTYLE":"ライフスタイル","SPORTS":"スポーツ","FOOD_HEALTH":"食品&健康","BEAUTY_FASHION":"美容&ファッション","NEWS":"ニュース","GAMING":"ゲーム","SCIENCE_EDUCATION":"科学&教育","MUSIC":"音楽","TRAVEL":"旅行","LATE_NIGHT":"深夜","REALITY":"リアリティ","COMEDY":"コメディ","DIY":"DIYの方法","TECH":"テクノロジー","CINEMA":"シネマ","CONTINUE":"続ける","SLOW_LOADING":"読み込みが遅い?","I_GIVE_UP":"あきらめる","LEARN_MORE":"もっと詳しく","POOR_SOURCE":"このソースはあまり利用できないか、あなたのインターネット接続が十分に速くありません","PICK_CATEGORIES_ERR":"少なくとも3つのカテゴリを選択する必要があります","ADJUST_TIMING":"タイミングを調整する ","ADJUST_SIZE":"サイズを調整する ","SEARCH_ANYTHING":"何でも検索できます...","ALL_CATEGORIES":"すべて","SEARCH_CATEGORIES":"映画、シリーズ、YouTube&TV","SEARCH_PERSONS":"俳優、監督、脚本家","SEARCH_PROTOCOLS":"HTTP&マグネットリンク","SEARCH_TYPES":"IMDB / TVDBリンク","WATCHED":"視聴済み","SHOW_LESS":"少なく表示","LAST_SEARCHES":"最後の検索","CLEAR_HISTORY":"履歴をクリア","CHOOSE_SOME":"これらの中から選んでください:","NO_WEB_REMOTE":"Webリモートを読み込むことができませんでした","STREMIO_OFFLINE":"Stremioはオフラインです","STREMIO_EXPENSIVE_CONNECTION":"モバイルデータ接続を使用していることを検出しました、続行しますか?","USE_DATA":"データを使用する","WARNING":"警告","MORE_INFO":"詳細情報...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"読み込み中...","STREMIO_TV_BACK_TO_LANGUAGES":"言語に戻る","STREMIO_TV_REMOTE":"リモート","STREMIO_TV_GO_TO":"移動する:","STREMIO_TV_OR_SCAN":"またはスキャン:","STREMIO_TV_ADDON_INSTRUCTIONS":"好みのアドオンをインストールするための指示に従ってください。","STREMIO_TV_LIVE_TV":"ライブTV","STREMIO_TV_RESUME_WATCHING":"視聴を再開","STREMIO_TV_LOADING_BACKGROUND":"背景を読み込み中","STREMIO_TV_CHECKING_AUTHENTICATION":"認証を確認中","STREMIO_TV_LOADING_BOARD":"ボードを読み込み中","STREMIO_TV_LOGIN_HEADER_LINE_1":"私たちは、ユーザーが私たちのソフトウェアで最高のパーソナライズされた体験を得られるようにしたいと考えています。","STREMIO_TV_LOGIN_HEADER_LINE_2":"そのため、アカウントを作成またはログインしていただくようお願い申し上げます。","STREMIO_TV_LOGIN_FOOTER_LINE_1":"ご理解いただきありがとうございます、","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Stremioチーム","STREMIO_TV_REMOTE_INSTRUCTIONS":"スマートフォン/タブレット/デスクトップでWebリモートを使用するためには:","STREMIO_TV_WIFI_SETUP":"Wi-Fi設定","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circleはインターネット接続を検出できませんでした。","STREMIO_TV_WIFI_DETAILS_1":"接続先:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"パスワードを使用する:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"リンク付きのウェブブラウザを開く:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"デフォルト","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"最後に視聴した順","STREMIO_TV_LIBRARY_SORT_NAME":"名前順","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"名前順(降順)","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"視聴回数順","STREMIO_TV_LIBRARY_SORT_WATCHED":"視聴した順","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"視聴していない順","STREMIO_TV_DETAILS_SEASON_NUMBER":"シーズン ${1}","STREMIO_TV_STREAMS_LOADING":"${1} / ${2} のアドオンを読み込みました...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} のアドオンはまだ読み込み中...","STREMIO_TV_PLAYER_SETTINGS":"プレーヤー設定","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"字幕の遅延","STREMIO_TV_PLAYER_AUDIO_DELAY":"オーディオの遅延","STREMIO_TV_PLAYER_VIDEO_SCALING":"ビデオのスケーリング","STREMIO_TV_PLAYER_CHAPTERS":"チャプター","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"${1} をスキップ","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"サポートされていないストリームソース","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"外部リンクの開封に失敗しました","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"オーディオパススルーモードでは調整できません","STREMIO_TV_PLAYER_PLAY_IN_EXO":"ExoPlayerで再生","STREMIO_TV_PLAYER_PLAY_IN_VLC":"libVLCプレーヤーで再生","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"再生エラーのためlibVLCプレーヤーに切り替え","STREMIO_TV_ADDONS_TITLE":"あなたの電話やPCのStremioでアドオンをインストールまたは設定し、「アドオンを同期」を押してください","STREMIO_TV_ADDONS_SUBTITLE":"注意:同じStremioアカウントを使用していることを確認してください","STREMIO_TV_ADDONS_SYNC_ADDONS":"アドオンを同期","STREMIO_TV_ADDONS_SYNC_SUCCESS":"アドオンの同期に成功しました","STREMIO_TV_ADDONS_SYNC_FAILED":"アドオンの同期に失敗しました","STREMIO_TV_META_LINK_FAILED":"メタリンクの開封に失敗しました","STREMIO_TV_CATALOG_LOADING":"カタログをまだ読み込み中...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"インターフェース言語が更新されました","STREMIO_TV_SETTINGS_THEME_UPDATED":"テーマが更新されました","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"デフォルトのプレーヤー","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"外部プレーヤー","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"優先言語","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"2番目の優先言語","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"トンネル再生","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"一部のデバイスで再生問題が発生する可能性があります","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"一部のビデオ形式は動作しないかもしれません","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"フレームレートの一致","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"無効","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"フレームレートのみ","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"フレームレートと解像度","STREMIO_TV_SETTINGS_NO_CACHING":"キャッシュなし","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"デフォルト","STREMIO_TV_SETTINGS_PROFILE_SOFT":"ソフト","STREMIO_TV_SETTINGS_PROFILE_FAST":"高速","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"超高速","STREMIO_TV_SETTINGS_SERVER_URL":"ストリーミングサーバーのURL","STREMIO_TV_SETTINGS_SERVER_VERSION":"サーバーバージョン","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"不明","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremioバージョン","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"サーバーURLの編集","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"ストリーミングサーバーのURLを入力","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"ロード中に統計を表示","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"Stremioのプライバシーポリシーを読むには、訪問:","STREMIO_TV_SETTINGS_TOS_TEXT":"Stremioの利用規約を読むには、訪問:","STREMIO_TV_NAV_SEARCH":"検索","STREMIO_TV_NAV_HOME":"ホーム","STREMIO_TV_NAV_DISCOVER":"発見","STREMIO_TV_NAV_LIBRARY":"ライブラリ","STREMIO_TV_NAV_MOVIES":"映画","STREMIO_TV_NAV_SERIES":"シリーズ","STREMIO_TV_NAV_CHANNELS":"チャンネル","STREMIO_TV_NAV_TV":"ライブTV","STREMIO_TV_NAV_SETTINGS":"設定","STREMIO_TV_NAV_ADDONS":"アドオン","STREMIO_TV_LOGIN_TITLE":"アカウントのリンク","STREMIO_TV_LOGIN_EXPIRES_IN":"有効期限","STREMIO_TV_LOGIN_STEP_ONE":"上のQRコードをスキャンするか、次のURLにアクセス","STREMIO_TV_LOGIN_STEP_TWO":"Stremioアカウントにログイン","STREMIO_TV_LOGIN_NEW_LINK":"新しいリンクをリクエスト","STREMIO_TV_LOGIN_LINK_REFRESHED":"ログインコードが更新されました","STREMIO_TV_SEARCH_PLACEHOLDER":"何か入力してください","STREMIO_TV_SEARCH_NO_ADDONS":"カタログのためのアドオンが要求されませんでした!","STREMIO_TV_SEARCH_BUTTON":"検索","STREMIO_TV_SEARCH_KEY_DEL":"削除","STREMIO_TV_SEARCH_KEY_SPACE":"スペース","STREMIO_TV_SEARCH_KEY_CLEAR":"クリア","STREMIO_TV_SEARCH_HISTORY_TITLE":"検索履歴","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"タイトル、俳優、チャンネルなどを検索できます...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"検索履歴をクリア","STREMIO_TV_FILTERS_DESCRIPTION":"以下のフィルターから選択してください","STREMIO_TV_STREAMING_SERVER_OFFLINE":"ストリーミングサーバーがオフラインです。サーバー設定を確認してください。","FILTERS":"フィルター","SETTINGS":"設定","ACCOUNT":"アカウント","LOGOUT":"ログアウト","THEMES":"テーマ","PLAYBACK":"再生","PLAYBACK_SPEED":"再生速度","AUDIO_TRACKS":"オーディオトラック","UNKNOWN_TRACK_LANG":"不明","VIDEOS":"ビデオ","SERVER":"サーバー","LINKS":"リンク","ABOUT":"紹介","INTERFACE":"インターフェース","ANIMATIONS":"アニメーション","STATUS":"ステータス","LANGUAGE":"言語","SIZE":"サイズ","DELAY":"遅延","BOLD":"太字","OPACITY":"透明度","TEXT_COLOR":"テキストの色","OUTLINE_COLOR":"アウトラインの色","BACKGROUND_COLOR":"背景色","BACKGROUND_BLUR":"背景のぼかし","SEEK_TIME_DURATION":"シーク時間の長さ","AUTO_PLAY":"次のエピソードを自動再生","PLAY_NOW":"今すぐ再生","MARK_AS_WATCHED":"視聴済みとしてマーク","MARK_AS_UNWATCHED":"未視聴としてマーク","REWIND_TO_BEGINNING":"最初から巻き戻す","CONTINUE_WATCHING":"視聴を続ける","ALL":"すべて","SECONDS":"秒","ON":"オン","OFF":"オフ","RELOAD":"リロード","EDIT_URL":"URLを編集","NONE":"なし","EMBEDDED":"埋め込み","REMOTE_SWITCH_DEVICES":"デバイスを切り替え","REMOTE_VIDEOS":"ビデオ","REMOTE_ADJUST_TIMING":"タイミングを調整","REMOTE_ADJUST_SIZE":"サイズを調整","REMOTE_COULD_NOT_BE_LOADED":"Webリモートを読み込めませんでした","REMOTE_RETRY":"再試行","TORRENT_PROFILE_DEFAULT":"デフォルト","TORRENT_PROFILE_SOFT":"ソフト","TORRENT_PROFILE_FAST":"高速","TORRENT_PROFILE_ULTRA_FAST":"超高速","FAQ_001_H1":"Stremioとは何ですか?","FAQ_001_P1":"Stremioは、ビデオエンターテイメントを使いやすくするために設計されたメディアセンターソフトウェアです。Stremioを使用すると、映画、シリーズ、チャンネル、ライブTVのコレクションを整理して視聴することができます。","FAQ_001_P2":"Stremioは、表示するコンテンツをあなたのローカルディスクとアドオンシステムから収集します。","FAQ_001_P3":"また、新しいエピソード/ビデオ/映画が出たときに通知を送り、映画の推薦を提供します。","FAQ_02_H1":"StremioはKodiとPlexとどう違いますか?","FAQ_02_P1":"私たちはそれらのソフトウェアに触発されました。しかし、私たちは異なる目標を持っています - Stremioはエンターテイメントビデオに特化しており、非常に使いやすいことで主流の解決策になることを目指しています。","FAQ_02_P2":"StremioはKodiやPlexほどカスタマイズ可能で機能豊富ではありませんが、使いやすさでは大幅に優れています。ただ${1}取得して見て${2} :)","FAQ_03_H1":"StremioはNetflixとどう違いますか?","FAQ_03_P1":"再び、Netflixは私たちのインスピレーションの一つです。私たちはNetflixのユーザーエクスペリエンスを達成することを目指しており、さらに多くの付加価値を提供しています。しかし、最も重要なのは、私たちがあなたに自分のライブラリを管理し、アドオンシステムで新しいコンテンツソースを追加する自由を与えていることです。","FAQ_03_P2":"それにより、Stremioは無限に拡張可能になり、Stremioを使用するときにはNetflixがライセンスを決定するコンテンツに制限されることはありません。例えば、Stremioを通じて、${1}Filmon.tv${2}、${3}Twitch.tv${4}、${5}YouTube${6}、${7}Vodo${8}、さらには${9}Netflix${10}自体のコンテンツを視聴することができます!","FAQ_04_H1":"StremioはFlipboardとどう違いますか?","FAQ_04_P1":"私たちはその質問をあまり受けません、スタートアップの人々と話しているときを除いて:)","FAQ_04_P2":"Stremioは、設計上、コンテンツの集約者であり、それは基本的にビデオ用のFlipboardとなります。これは、私たちのボードセクションで非常に明らかで、あなたがフォローしているものに対してカタログと新しいエピソード/新しいビデオの通知を提供します、まさにFlipboardのように。","FAQ_05_H1":"StremioはPopcorn Timeとどう違いますか?","FAQ_05_P1":"StremioとPopcorn Timeは、ユーザーインターフェースが似ています。なぜなら、ビデオエンターテイメントのカタログを正しく行う方法はそれほど多くないからです :)","FAQ_05_P2":"しかし、Popcorn Timeが特定のソースからのトレントのストリーミングに焦点を当てているのに対し、Stremioは制限がなく、単なるコンテンツの集約者であり、特定のコンテンツソースにロックされていません。","FAQ_05_P3":"さらに、私たちはデフォルトでトレントアドオンを提供していないため、Stremioは公式の機能でPopcorn Timeのユースケースをカバーしていません。","FAQ_05_P4":"もう一つの注目すべき違いは、Popcorn Timeが完全にオープンソースであるのに対し、Stremioは${1}部分的にオープンソース${2}であることです。","FAQ_06_H1":"この映画/シリーズを追加しますか?","FAQ_06_P1":"いいえ、ごめんなさい :(","FAQ_06_P2":"他のほとんどの質問で言及されているように、Stremioは自体は何もコンテンツを提供していません - すべてはアドオンシステムを通じて追加されます。コンテンツのリクエストがある場合は、プレーヤーの「報告」ボタンを使用して、現在使用しているアドオンの作者にメールを送ることができます。","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Xのためのアドオンを作成しますか?","FAQ_08_P1":"それは十分に可能です。","FAQ_08_P2":"アドオンのアイデアがある場合は、${1}office@stremio.com${2}までご連絡ください。ただし、あなたのアドオンのアイデアが著作権や利用規約を侵害しないことを確認してください。","FAQ_08_P3":"現時点では、私たちのロードマップ上の次のものは、FandangoNOW、Filmon.tvのビデオ・オン・デマンド、Crunchyrollのアドオンです。","FAQ_09_H1":"StremioはBitTorrentを使用しますか?","FAQ_09_P1":"はい、StremioはストリーミングプロトコルとしてBitTorrentをサポートしています。それは、トレントアドオンを使用するか、.torrentファイルをStremioにドラッグアンドドロップするか、またはマグネットリンクを検索バーに貼り付けることで使用できます。","FAQ_09_P2":"唯一の公式アドオンでBitTorrentを使用しているのは${1}Vodo${2}で、すべてのインディーコンテンツがBitTorrentで配布されることを許可されていることに注意してください。","FAQ_09_P3":"私たちは、著作権侵害を可能にする可能性のある第三者のアドオンの使用をサポートしていません。","FAQ_10_H1":"公式のアドオンでStremioで何を見ることができますか?","FAQ_10_P1":"デフォルトでは、Stremio自体の埋め込みプレーヤーでFilmon.tv、YouTube、Vodoのコンテンツを視聴することができます。さらに、Twitch.tvやその他いくつかのアドオンがあります。","FAQ_10_P2":"これらを組み合わせると、以下の選択肢が提供されます:","FAQ_10_L1":"Filmon.tvが提供する人気のテレビチャンネル、例えばE4、BBC、Bollyworld TV","FAQ_10_L2":"YouTubeからのすべてのもの - 例えばBBC News、Top Gear、Vevo、PewDiePie","FAQ_10_L3":"Vodoのインディームービー","FAQ_10_L4":"Twitch.tvのオンラインゲーム放送","FAQ_10_P3":"さらに、GuideboxとNetflixのアドオンで提供される多くのコンテンツソースがありますが、それらは<b>完全に</b>Stremio内で再生されるわけではなく、指定されたサービスにリダイレクトされます。例えば、Guideboxのアドオンは、TubiTVやCrackleなどのサービスから無料でストリームできる映画の選択肢を提供します。","FAQ_11_H1":"Stremioがインストールできない場合、どうすればいいですか?","FAQ_11_P1":"Windowsを使用している場合は、${1}この代替インストーラ${2}を試してみてください。","FAQ_11_P2":"Mac OS Xを使用している場合は、OS X Mavericks(10.9)より古いものはサポートしていないことにご注意ください。","FAQ_11_P3":"Linuxを使用している場合は、現時点では64ビット(x64)Linuxのみをサポートしていることに注意してください。","FAQ_11_P4":"それでも問題が解決しない場合は、${1}Facebookグループ${2}で私たちに書いてください。","FAQ_12_H1":"なぜ私のアンチウイルスが文句を言うのですか? Stremioは安全ですか?","FAQ_12_P1":"私たちはStremioが${1}100%クリーン${2}であることを保証します。","FAQ_12_P2":"あなたのアンチウイルスが文句を言っているのは、私たちがインストーラに広告を含めているからで、一部のアンチウイルスプログラムはそれをアドウェアと認識します。","FAQ_12_P3":"まだ不安な場合は、${1}代替インストーラ${2}を試してみてください。","FAQ_13_H1":"どのようにしてアドオンを作成できますか?","FAQ_13_P1":"初めての方は、GitHubの${1}アドオンシステムモジュール${2}をチェックすることをお勧めします。","FAQ_13_P2":"その後、${1}Hello Worldチュートリアル${2}に従って進めることができます。","FAQ_13_P3":"プログラミングのスキルがない場合は、あなたのアイデアを${1}Redditコミュニティ${2}に投稿し、アドオンのアイデアを${3}office@stremio.com${4}で私たちに連絡してください。","FAQ_14_H1":"アドオンはどのように公開されますか?","FAQ_14_P1":"アドオンを作成してホストし、マニフェストに<b>エンドポイント</b>フィールドを設定し、それが動作するアドオンアドレスを指すと、アドオンは自動的に私たちの${1}アドオンカタログ${2}に自身を公開します。","FAQ_14_P2":"これは、stremio-addonsモジュールのサーバーパートが自動的にAPIにアドオンを発表するための呼び出しを行うためです。APIがあなたの<b>エンドポイント</b>を有効なアドオンとして検証すると、カタログに表示され始めます。","FAQ_15_H1":"私はブラウザでStremioを実行できますか?","FAQ_15_P1":"現時点ではできませんが、これから実現する予定です!","FAQ_15_P2":"アルファ版を見てみたい場合は、こちらで見ることができます:${1}alpha4.strem.io${2}。ただし、このアルファ版ではストリーミングは無効になっています。Chrome、Firefox、Opera、Edgeをサポートしています。","FAQ_16_H1":"テレビへのキャスティングが機能しない / 字幕が機能しない","FAQ_16_P1":"テレビへのキャスティングはDLNA技術を使用しており、これはテレビのブランドやモデルによって非常に一貫性がありません。そのため、すべてのケースでテストする能力はありませんので、完全ではありません。それにもかかわらず、私たちは常に改善に努めていますが、DLNAがあなたのテレビで正常に動作するようになる時期を見積もることはできません。","FAQ_16_P2":"キャスティングメニューでテレビが表示されない場合は、ネットワーク接続を無効にして再度有効にする(Windowsでは、ネットワークを右クリックして有効/無効を選択)、ルーター、テレビ、PCを再起動するなどを試してみてください。","FAQ_16_P3":"それでも問題が解決しない場合は、テレビのブランドとモデル情報を${1}office@stremio.com${2}まで送信して私たちを助けていただけます。","FAQ_16_P4":"その間、私たちはChromecastを推奨します。これは私たちが非常によくサポートしています。または、単純にテレビをHDMIケーブルでPCに接続することもできます。","FAQ_17_H1":"Stremioがフリーズしたりクラッシュしたりする場合、何をすればいいですか?","FAQ_17_P1":"まず最初に、Windows 7とAVGアンチウイルスを使用している場合:その組み合わせに問題があります。問題はAVG自体にあり、私たちの側でそれを解決する合理的な方法はありません。残念ながら、例外を設定したりアンチウイルスを無効にしたりしても効果はありません。唯一の解決策は、AVGを他のものに置き換えることです。","FAQ_17_P2":"それが問題でない場合でも、まだWindowsを使用している場合は、最新のサービスパックに更新し、GPUドライバーを更新/再インストールしてから再試行してください。","FAQ_17_P3":"問題がまだ解決しない場合、またはMacまたはLinuxを使用している場合は、問題の詳細を報告して${1}Facebookグループ${2}に書いてください。","FAQ_18_H1":"どのようにしてアドオンを作成できますか?","FAQ_18_P1":"初めての方は、GitHubの${1}アドオンシステムモジュール${2}をチェックすることをお勧めします。","FAQ_18_P2":"その後、${1}Hello Worldチュートリアル${2}に従って進めることができます。","FAQ_18_P3":"プログラミングのスキルがない場合は、あなたのアイデアを${1}Redditコミュニティ${2}に投稿し、アドオンのアイデアを${3}office@stremio.com${4}で私たちに連絡してください。","FAQ_19_H1":"なぜStremioがディスクスペースを取るのですか?","FAQ_19_P1":"Stremioには<b>ローカルキャッシュ</b>があり、ストリームしたビデオファイルを一時的に保持します。","FAQ_19_P2":"これには2つの利点があります:まず、Stremioがビデオを事前にバッファリングして、ストリーミングをスムーズにすることができます。また、ビデオをローカルキャッシュに保持して、オフラインで視聴を続けることができます。","FAQ_19_P3":"Stremioがどれだけ保持するかは、設定パネルの<b>キャッシュ</b>設定によります。Stremioは、ディスク上に設定された量(例えば2GB)まで保持することができます。ただし、現在ストリーミングしているビデオがそれより大きい場合は、ストリーミングしている間それを保持するために十分なストレージを確保する必要があります。","FAQ_20_H1":"キャッシュフォルダはどこにありますか?","FAQ_20_P1":"Windowsでは、設定で選択したドライブのstremio-cache(例:\\"E:\\\\stremio-cache\\")にあります","FAQ_20_P2":"MacOSでは、\\"~/Library/Application Support/Stremio/stremio-cache\\"にあります","FAQ_20_P3":"Linuxでは、\\"~/.stremio/stremio-cache\\"または\\"~/stremio-cache\\"にあります","FAQ_21_H1":"\\"ストリーミングサーバーが見つかりません\\"というエラーが出る場合、何をすればいいですか?","FAQ_21_P1":"このエラーが出る場合、いくつかのことを意味します:","FAQ_21_P2":"1) YouTube/BitTorrentソースをバックアップに使用したアドオンを、私たちの${1}ウェブ版${2}を通じて使用しようとしています。この場合、${3}私たちのウェブサイト${4}からデスクトップ版をインストールする必要があります。","FAQ_21_P3":"2) Stremioのインストールに何か問題があります。この場合、${1}ウェブサイト${2}から最新のデスクトップバージョンを再インストールしてみてください。それでも解決しない場合は、アンチウイルスプログラムとファイアウォールを無効にし、PCを再起動して再試行してみてください。それでもうまくいかない場合は、${3}私たちのFacebookグループ${4}に書き込んでください。","FAQ_22_H1":"iOSでほとんどのアドオンを見る/使用することができません","FAQ_22_P1":"Apple App Storeの利用規約の制限のため、iOSアプリケーションは特定のアドオンセットのみに制限しています。","FAQ_22_P2":"しかし、ご安心ください - 将来的にはiOS用のアドオンが増え、iOSアプリをStremioストリーミングサーバーに接続することで、すべてのStremioアドオンを使用できるようになるかもしれません。"}')},96358:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"영화","TYPE_series":"시리즈","TYPE_tv":"TV 채널","TYPE_channel":"채널","TYPE_other":"기타","TYPE_movie_PL":"영화","TYPE_series_PL":"시리즈","TYPE_tv_PL":"TV 채널","TYPE_channel_PL":"채널","TYPE_other_PL":"기타","TYPE_ALL":"All","TYPE":"Type","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"비디오","BACK":"뒤로","MORE":"더","DONE":"완료","COPY":"복사","SUCCESS":"Success","ERROR":"Error","SETTINGS_CASTING_MODE_PICKER":"Casting mode","CASTING_MODE_HLSV2":"Default","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"No transcoding","Discover":"발견","Board":"게시판","Library":"라이브러리","My Library":"내 라이브러리","Calendar":"캘린더","NOTIFICATION_ONLINE":"현재 온라인 상태입니다.","NOTIFICATION_OFFLINE":"현재 오프라인 상태입니다.","INTERNET_CONNECTION":"네트워크 연결","STORAGE_FULL_TITLE":"경고: 저장용량이 가득 찼습니다.!","STORAGE_FULL_TEXT":"Stremio는 설정, 기본 설정 또는 로그인 정보를 저장할 수 없습니다. Stremio를 다시 시작하거나 다시 설치하는 것이 좋습니다.","SEARCH":"검색","SEARCH_NO_RESULTS":"검색 결과가 없습니다.","SEARCH_EXPLANATION_CONTENT":"영화, 시리즈, YouTube 및 TV 채널 검색","SEARCH_EXPLANATION_PEOPLE":"배우, 감독, 작가 검색","SEARCH_PASTE_LINKS":"HTTP 및 마그넷 링크 붙여넣기","SEARCH_OR_PASTE_LINK":"Search or paste link","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"라이브러리에 추가","REMOVE_FROM_LIB":"라이브러리에서 삭제","ADDED_TO_LIB":"라이브러리에 추가됨","REMOVED_FROM_LIB":"라이브러리에서 삭제됨","TRAILER":"예고편","WATCH_TRAILER":"예고편 보기","WATCH_NOW":"바로 보기","SHOW":"찾아보다","SHOW_MOVIE":"영화 보기","WATCH_RANDOM":"무작위 시청","IMDB_RATING":"IMDB 등급","YEAR":"연도","DIRECTOR":"감독","WRITER":"작가","LEAD_ACTORS":"주연","CAST":"캐스트","CREW":"Crew","SHOW_MORE_CAST":"더 보기 »","AIRED":"Aired","SEASONS":"Seasons","GENRE":"Genre","GENRE_ALL":"All genres","CATALOG":"카탈로그","SUMMARY":"요약","SHOW_MORE":"더 보기","SIMILAR":"비슷한","UPCOMING":"예정","ENDED":"종료","DURATION":"지속 시간","FEATURED":"추천","METADATA":"메타데이터","CATEGORY":"카테고리","LINKS_GENRES":"Genres","LINKS_CAST":"Cast","LINKS_DIRECTORS":"Directors","SEARCH_VIDEOS":"동영상 검색","SEARCH_PLACEHOLDER":"URL 검색 또는 붙여넣기","ADDON":"애드온","ADDONS":"애드온","OFFICIAL":"공식","ADDONS_OFFICIAL":"공식 스트레미오 애드온","ADDONS_POPULAR":"해당 지역에서 인기 있는","ADDON_FREE":"무료","ADDON_PEERED":"피어링","ADDON_SUBSCRIPTION":"구독","ADDON_STREAM_GEORESTRICTED":"귀하의 지역에서는 사용할 수 없습니다.","ADDON_STREAM_OFFLINECACHE":"오프라인 캐시","ADDON_STREAM_LOCALFILE":"로컬 파일","SHARE_ADDON":"애드온 공유","AVAILABLE_STREAMS":"사용 가능한 스트림","NO_STREAM":"스트림을 찾을 수 없습니다.","ALL_ADDONS":"All","INSTALL_MORE_ADDONS":"더 많은 스트림을 보려면 더 많은 애드온을 설치하십시오.","STREAM_NOT_SUPPORTED":"선택한 스트림은 이 플랫폼에서 지원되지 않습니다.","ADDON_CATALOGUE":"모든 애드온 표시 »","ADDON_CATALOGUE_MORE":"애드온 설치","REPO_ADDED":"리포지토리 추가됨","ADDON_REPO_EXIST_ERR":"이 애드온 모음이 이미 존재합니다.","ADDON_REPO_ERR":"컬렉션을 추가하는 동안 오류가 발생했습니다.","ADDON_ADD_ERR":"애드온을 추가하는 동안 오류가 발생했습니다.","ERR_ADDON_PROTECTED":"애드온을 제거할 수 없습니다. 보호되어 있습니다.","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"문제가 발생했습니다. 인증에 실패했을 수 있습니다.","ERR_NOT_COLLECTION_URL":"컬렉션 URL이 아닙니다.","ERR_NOT_ADDON_URL":"유효한 애드온 URL이 아닙니다.","ERR_DETECTFROMURL":"이 URL에서 애드온/수집을 찾을 수 없습니다.","ADDON_DUPLICATE_WARNING":"경고: 중복 애드온","ADDON_COLLECTION_SET_FAILED":"설치된 애드온을 계정에 동기화하지 못했습니다.","SETTINGS_DATA_EXPORT":"사용자 데이터 내보내기","ADDON_PULL_FAILED":"계정에서 설치된 애드온을 동기화하지 못했습니다.","REFRESH_ON_CLICK":"재시도하려면 클릭하십시오.","STILL_IN_THEATER":"영화가 상영중입니다.","WATCH_IN_CINEMA":"지역 영화관에서 감상하세요.","IN_THEATER":"영화관에서","GET_TICKETS":"티켓 받기","UPCOMING_EPISODE":"다음 에피소드","UPCOMING_EPISODE_MESSAGE":"이 에피소드는 다음에서 방송됩니다.","MISSING_DATE_EPISODE":"에피소드 날짜 누락","MISSING_DATE_EPISODE_MESSAGE":"이번 에피소드는 아직 방송되지 않았을 수 있습니다.","CHANNEL_NOT_SCRAPED":"이 채널은 아직 스크랩되지 않았습니다.<br>몇 분 후에 다시 오세요.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"라이브러리에 추가하여 사용 가능한 경우 알림을 받습니다.","GET_NOTIFIED_WHEN_AVAILABLE":"사용 가능한 경우 알림이 발송됩니다.","WARNING_STREAMING_SERVER":"경고: 로컬 스트리밍 서버를 찾을 수 없습니다. 로컬 파일, 유튜브, 비트토렌트의 스트리밍을 사용할 수 없습니다","WARNING_STREAMING_SERVER_DISMISS":"Dismiss","WARNING_STREAMING_SERVER_LATER":"Later","DECODER_WARNING":"경고: 이 비디오는 하드웨어에서 지원되지 않을 수 있습니다. 재생이 느릴 수 있습니다.","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"앗, 플레이어 오류","PLAYER_ERROR_LOOKSLIKE":"그런 것 처럼 보인다.","PLAYER_ORIENTATION":"Player orientation","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"잠금","PLAYER_ORIENTATION_SENSOR_SHORT":"센서","PLAYER_ORIENTATION_LANDSCAPE":"플레이어 오리엔테이션이 가로로 잠겨 있습니다.","PLAYER_ORIENTATION_SENSOR":"플레이어의 방향 자동(sensor)","PLAYER_PLAYBACK_SPEED":"재생속도","PLAYER_PLAYBACK_ERROR":"재생 오류입니다. 다시 시도하십시오.","PLAYER_PLAYBACK_ERROR_UNKNOWN":"알 수 없는 오류","PLAYER_PLAYBACK_ERROR_DEFAULT":"죄송합니다. 이 비디오는 {{productName}}에서 재생할 수 없습니다.","PLAYER_SUBTITLES_LANGUAGES":"Subtitles Languages","PLAYER_SUBTITLES_VARIANTS":"Subtitles Variants","PLAYER_SUBTITLES_SETTINGS":"Subtitles Settings","PLAYER_SUBTITLES_DISABLED":"Subtitles are disabled","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Vertical Position","PLAYER_SUBTITLES_LOADED":"Subtitles loaded","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Embedded subtitles loaded","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Exclusive subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Subtitles from {{origin}} loaded","PLAYER_PLAY":"Play","PLAYER_PAUSE":"Pause","PLAYER_NEXT_VIDEO":"Next Video","PLAYER_MUTE":"Mute","PLAYER_UNMUTE":"Unmute","PLAYER_OPEN_IN_EXTERNAL":"Open in external player","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Play in {{device}}","PLAYER_LIVE":"라이브","PLAYER_NEXT_VIDEO_TITLE":"다음 영상","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Dismiss","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"지금 바로 시청하세요.","PLAYER_COPY_STREAM_SUCCESS":"Stream link was copied to your clipboard","PLAYER_COPY_STREAM_ERROR":"Failed to copy stream link","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","STREAMING_FROM":"스트리밍 시작","CASTING_TO":"캐스팅 대상","NETWORK_STATUS":"네트워크 상태","STREAM_SPEED":"스트림 속도:","STREAM_BUFFERED":"버퍼:","PEERS_INFO":"피어 정보","PEERS_ACTIVE":"Active:","PEERS_CONNECTED":"연결상태:","PEERS_WAITING":"대기:","TRANSCODING_WARNING":"경고: 비디오 트랜스코딩.","STREAM_LOADING":"로딩중...","PLAYING_LOCAL":"로컬 파일에서 재생","PLAYING_CACHE":"캐시에서 재생","WRONG_SUBS":"자막이 틀렸나요?","ERR_SUBS_LOADING_TITLE":"자막 로드 오류","ERR_SUBS_LOADING":"자막을 로드하지 못했습니다.사용 중인 애드온 또는 네트워크 연결 문제일 수 있습니다.","WARN_FOLLOWING_SUB_ADDONS_FAILED":"다음 자막 추가가 실패했습니다.","ERR_CASTING_UPDATE_TITLE":"캐스팅 디바이스 정보를 갱신할 수 없습니다.스트리밍 서버가 오프라인 상태일 수 있습니다.","CHOOSE_DEVICE":"시청할 디바이스 선택","NO_CAST_DEVICES":"사용 가능한 캐스팅 장치가 없습니다.","NO_SETTINGS":"사용 가능한 설정이 없습니다.","PHONE_TABLET":"폰 / 태블릿","SUBTITLES":"Subtitles","SUBTITLES_CHANGE":"자막 변경 ","SUBTITLES_CHANGE_NONE":"이 언어에는 다른 자막이 없습니다. 죄송합니다.","SUBTITLES_CHANGE_ACIVE":"현재 자막 &#35;{subtitlesDialog.activeIdx + 1}이 활성화되어 있습니다. \\"계속\\"을 클릭하여 자막 &#35;{subtitlesDialog.pickedIdx + 1}}을 활성화합니다.","SUBTITLES_OR":"대체,","SUBTITLES_ADJUST_DELAY":"자막 지연 조정:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"또는 방송시 <span>G</span>/<span>H</span>키를 사용해 조정할 수 있습니다..","SUBTITLES_ADJUST_DELAY_TIP":"힌트: 당신은 방송시 <span>G</span>/<span>H</span>키를 사용하여 조정할 수 있습니다..","SUBTITLES_DELAY":"Subtitles delay:","SUBTITLES_LOADING":"자막 로드중...","SUBTITLES_UNAVAILABLE":"외부 자막은 사용할 수 없습니다.","SUBTITLES_DISABLED":"비활성","EXTERNAL_PLAYER_DISABLED":"Disabled","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Allow Choosing","EXTERNAL_PLAYER_HINT":"Hint: There is a setting to allow always opening with external player","DONT_SHOW_AGAIN":"Don\'t show again","SERVICE_INSTALL":"Install","AUDIO":"Audio","DEFAULT_LANGUAGE":"Default Language","DEFAULT_SECONDARY_LANGUAGE":"Default Secondary Language","SEASON":"Season","EPISODE":"에피소드","EPISODE_ABBREVIATION":"EP","SPECIAL":"스페셜","SORT":"정렬","SORT_BY":"순서대로 정렬","FILTER":"필터","SORT_TRENDING":"트렌딩","SORT_RECENT":"최근","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"등급","SORT_WATCHED":"시청함","SORT_YEAR":"년","SELECT_TYPE":"Select type","SELECT_SORT":"Select sort","SELECT_CATALOG":"Select catalog","SELECT_GENRE":"Select genre","SORT_LASTWATCHED":"By last watched","SORT_NAME":"By name","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"By times watched","SORT_NOTWATCHED":"not watched","New for You":"New for You","New Episodes":"새로운 에피소드","New Videos":"새로운 영상","Recommendations":"권장사항","LIBRARY_RESUME":"재개","LIBRARY_PLAY":"Play","LIBRARY_DETAILS":"상시","LIBRARY_RESUME_DISMISS":"Dismiss","LIBRARY_CLEAR_PROGRESS":"Clear Progress","LIBRARY_REMOVE":"Remove","LIBRARY_NOT_LOGGED_IN":"Library is only available for logged in users","CALENDAR_NOT_LOGGED_IN":"Calendar is only available for logged in users","NOT_LOGGED_IN_CLOUD":"Access your favorite movies and TV shows anytime, anywhere","NOT_LOGGED_IN_RECOMMENDATIONS":"Recommendations tailored to your viewing history","NOT_LOGGED_IN_NOTIFICATIONS":"Never miss an episode again","NOT_LOGGED_IN_CALENDAR":"Schedule your personal watching calendar","DISCOVER_FEATURED":"Featured","DISCOVER_TOP":"Top","DISCOVER_OSCAR":"오스카 수상자","DISCOVER_WARNING_TITLE":"앗!","DISCOVER_EMPTY_CATALOG":"이 애드온은 빈 콘텐츠를 반환했습니다.","DISCOVER_ADULT_WARNING":"콘텐츠는 성인만 볼 수 있습니다. 18세 이상입니까?","DISCOVER_NOADDON_WARNING":"경고: 이 유형에 대해 활성화된 Stremio 추가 기능이 없습니다. 저장된 아이템을 표시해도 갱신되는 것은 없습니다.","DISCOVER_LOAD_ERR":"콘텐츠가 로드되지 않고 오류가 발생했습니다.","DISCOVER_ADDON_UNINSTALLED":"이 콘텐츠는 더 이상 사용할 수 없습니다.Addon을 제거했을 수 있습니다.","UNINSTALL_THIS_ADDON":"이 애드온을 제거합니다","ERR_ADDON_NOT_INSTALLED":"이 애드온은 설치되어 있지 않습니다. 지금 설치하시겠습니까?","DETAIL_RECEIVE_NOTIF_SERIES":"새로운 에피소드에 대한 알림 수신","DETAIL_RECEIVE_NOTIF_VIDEOS":"새로운 영상에 대한 알림 수신","SIDEBAR_SHOW_STREAMS":"스트림 표시","RELAUNCH":"지금 바로 재기동!","UPGRADE":"새로운 버전이 출시되었습니다! 최신 Stremio 버전으로 업그레이드","RELOAD_UI":"사용자 인터페이스 새로고침","MANUAL_UPDATE_TITLE":"Stremio 버전 업데이트","MANUAL_UPDATE_LINE1":"추천되지 않는 오래된 버전의 Stremio를 실행하고 있습니다.","MANUAL_UPDATE_LINE2":"최대한 빨리 갱신해 주세요.","BUTTON_UPDATE_LATTER":"지금은 안됩니다.","BUTTON_UPDATE_NOW":"업데이트","ANONYMOUS_USER":"익명 사용자","DONT_HAVE_ACC":"계정이 없으신가요?","HAVE_ACC":"이미 계정을 가지고 계십니까?","PASSWORD":"비밀번호","PASSWORD_CONFIRM":"비밀번호 확인","EMAIL":"이메일","FB_LOGIN":"페이스북으로 가입","FB_NOTHINGSHARED":"사용자의 허가 없이 공유되는 것은 없습니다.","FB_NOPOST":"고객님을 대신하여 아무것도 게시하지 않습니다.","OR":"또는","I_ACCEPT":"동의합니다.","I_ACCEPT_BY_CLICKING":"위 버튼을 클릭함으로써 에 동의함을 증명합니다. ","TOS":"약관 및 조건","MUST_ACCEPT_TERMS":"약관에 동의해야 합니다","PASSWORDS_NOMATCH":"비밀번호가 일치하지 않습니다","SIGN_UP":"가입","SIGN_UP_EMAIL":"이메일로 가입","CLICK_TO_SIGN_UP":"가입하려면 여기를 클릭하십시오.","LOG_IN":"로그인","LOG_OUT":"로그아웃","EXIT_FULLSCREEN":"전체 화면 모드를 종료합니다.","ENTER_FULLSCREEN":"전체 화면 모드 전환","PLAY_URL_MAGNET_LINK":"URL/마그넷 링크 재생","HELP_FEEDBACK":"도움말 & 피드백","TERMS_OF_SERVICE":"서비스 약관","PRIVACY_POLICY":"개인정보보호 정책","ABOUT_STREMIO":"Stremio에 대하여","USER_PANEL":"사용자 패널","LOGIN_LABEL":"로그인","GUEST_LOGIN":"게스트 로그인","GUEST_LOGIN_NOTICE":"게스트 로그인은 권장되지 않습니다. 일반 로그인을 사용하면 Stremio가 라이브러리를 동기화하고 즐겨찾는 시리즈/채널에 대한 알림을 받을 수 있습니다. 계속 진행하시겠습니까?","GUEST_LOGIN_NOTICE_2":"게스트 로그인은 권장되지 않습니다.라이브러리와 보드 알림은 동기화되지 않습니다.이것은 Stremio의 중요한 기능입니다. 계속 진행하시겠습니까?","CLICK_HERE":"여기를 클릭","WRONG_PASSWORD":"이메일 또는 비밀번호가 잘못되었습니다. 비밀번호를 잊어버린 경우, ","SET_A_PASS":"비밀번호 설정","RESET_PASSWORD":"비밀번호 초기화","FORGOT_PASSWORD":"비밀번호를 잊어버렸습니까?","EMAIL_USED_WITH_FB":"이 이메일은 Facebook 로그인과 함께 사용되었습니다.","INVALID_EMAIL":"유효한 이메일 주소를 입력하십시오.","INVALID_PASSWORD":"유효한 비밀번호를 입력해주세요.","CONN_ERR":"연결 오류 - 나중에 다시 시도하십시오.\\n\\n이 문제가 해결되지 않으면 방화벽/바이러스 대책 소프트웨어(특히 Bitdefender)를 비활성화합니다.","IMPORT_FROM_GUEST":"게스트 계정에서 라이브러리 가져오기","RECEIVE_UPDATES_EMAIL":"Stremio에서 이메일 업데이트 수신","LOGIN_FAILED":"로그인에 실패했습니다.","SIGNUP_FAILED":"가입에 실패했습니다.","SEARCH_FAILED":"검색 실패","EMAIL_USED":"이 이메일은 이미 사용 중입니다.","WAITING_FB_LOGIN":"Facebook으로 로그인 중...","EXTERNAL_PLAYER_TITLE":"외부 플레이어에서 재생","EXTERNAL_REMEMBER_PLAYER":"선택한 내용을 기억하시겠습니까?","EXTERNAL_ALWAYS_PLAY":"네","EXTERNAL_ONLY_ONCE":"아니오","BEST_FIT":"최적화","FIT_SCREEN":"화면 최적화","FILL":"채우기","16:9":"16:9","4:3":"4:3","Original":"원본","INTRO_TASTE":"좋아하는 걸 이야기해 주세요.","INTRO_TASTE_LONG":"보고 싶은 걸 말해주세요.","INTRO_TASTE_PICK":"{{interestsRemaining}} 관삼분야를 선택해주세요.","INTRO_TASTE_PICK_MORE":"{{interestsRemaining}}개 이상의 관심사를 선택해주세요.","INTRO_TASTE_HELP_US":"Help us learn more about you.","INTRO_TASTE_CHOOSE_THESE":"다음 중 몇 가지를 선택하세요:","INTRO_TASTE_CHOOSE_MIN":"3개 이상의 카테고리를 선택하십시오.","INTRO_TASTE_CHOOSE_MIN_ERR":"최소 3가지 카테고리를 선생해야 합니다!","INTRO_TASTE_LIFESTYLE":"라이프스타일","INTRO_TASTE_SPORTS":"스포츠","INTRO_TASTE_FOOD_HEALTH":"음식 & 건강","INTRO_TASTE_BEAUTY_FASHION":"뷰티 & 패션","INTRO_TASTE_NEWS":"뉴스","INTRO_TASTE_GAMING":"게이밍","INTRO_TASTE_SCIENCE_EDU":"과학 & 교육","INTRO_TASTE_MUSIC":"음악","INTRO_TASTE_TRAVEL":"여행","INTRO_TASTE_LATE_NIGHT":"심야방송","INTRO_TASTE_REALITY":"리얼리티","INTRO_TASTE_COMEDY":"코미디","INTRO_TASTE_DIY":"DIY","INTRO_TASTE_TECH":"테크","INTRO_TASTE_CINEMA":"시네마","ADDON_NOT_SUPPORTED":"선택한 애드온은 이 플랫폼에서 지원되지 않습니다.","ADDON_DISCLAIMER":"서드파티 애드온을 사용하는 것은 항상 사용자의 책임과 소재지의 관할구역 준거법의 적용을 받습니다.","ADDON_ACTIVATE":"이 애드온을 활성화하시겠습니까?","ADDON_REPO_ADD":"애드온 컬렉션 URL","ADDON_ADD":"추가","INSTALL_ADDON":"Install addon","ADD_ADDON":"Add addon","ADD_ADDON_DESCRIPTION":"You can add an addon via an external link, which will appear under Installed addons.","PASTE_ADDON_URL":"Paste addon URL","WHATS_NEW":"새로운 것","BUTTON_CONTINUE":"계속","BUTTON_ACTIVATE":"활성화","BUTTON_ACTIVATED":"활성화된","BUTTON_CANCEL":"취소","BUTTON_SUBMIT":"제출","BUTTON_DISMISS_ALL":"모두 제거","BUTTON_VIEW_ALL":"모두 표시","BUTTON_SEE_ALL":"See All","BUTTON_COLOR_TRANSPARENT":"Transparent","OPEN_IN_BROWSER":"Open in browser","LIB_EMPTY":"라이브러리가 비어 있는 것 같습니다. 얼마나 유용한지 확인하세요:) ","HOW_START":"시작 방법은 다음과 같습니다:","LIB_EMPTY_CAL":"캘린더에 라이브러리의 시리즈가 표시됩니다.","HOW_START_CAL":"시리즈를 추가하는 방법은 다음과 같습니다:","LIB_EMPTY_BOARD":"게시판에 라이브러리와 관련된 알림 및 권장 사항이 표시됩니다","HOW_START_BOARD_WAIT":"라이브러리에 몇 개의 시리즈 또는 채널을 추가해 주세요. :)","HOW_START_BOARD":"시리즈 및 영화를 추가하는 방법은 다음과 같습니다:","IMPORT_FB":"<span>Facebook</span>에서 좋아하는 것을 가져오기","IMPORT_TRAKT":"<span>Trakt</span>에서 미디어 라이브러리 가져오기","IMPORT_DISCOVER":"<span>Discover</span>에서 흥미로운 항목 찾기","IMPORT_DISK":"<span>로컬 디스크</span>에 있는 영화 또는 프로그램 가져오기","PLEASE_CREATE_ACC":"라이브러리 동기화 및 게시판을 활성화하려면 <u>계정을 만드세요.</u>","IMPORT_DISCOVER_SIGNUP":"가입하고 <span>Discover</span>에서 흥미로운 정보를 찾아보세요.","IMPORT_DISK_SIGNUP":"가입하고 <span>로컬 디스크</span>에 있는 영화 또는 프로그램 가져오기","LIB_EMPTY_CLOUD":"클라우드 라이브러리","LIB_EMPTY_CLOUD_DESC":"모든 장치에서 동기화된 개인 클라우드 라이브러리","LIB_EMPTY_EARLY":"얼리버드","LIB_EMPTY_EARLY_DESC":"새로운 에피소드 알림 수신","LIB_EMPTY_PERSONAL":"개인","LIB_EMPTY_PERSONAL_DESC":"개인 추천 받기","LIB_EMPTY_CALENDAR_DESC":"개인 시청 일정 예약","LIB_EMPTY_ALL":"이것들을 모두 얻으려면 가입하세요:","LIB_EMPTY_BEST":"Stremio를 최대한 활용하려면 가입하십시오.","LIB_EMPTY_OTHER":"캘린더 및 기타 멋진 기능을 활성화하려면 가입하십시오.","CALENDAR_ADDED":"Stremio 캘린더가 기본 데스크톱 캘린더에 추가되었습니다.","CALENDAR_ADDED_MSG":"이 URL을 캘린더 어플리케이션에 수동으로 추가해 주세요.","TRAKT_EXPIRED":"Trakt 인증이 만료되었습니다. 설정으로 이동하여 재인증하십시오.","TRAKT_REQUIRES_LOGIN":"Trakt 오류","TRAKT_REQUIRES_LOGIN_MSG":"로그인이 필요합니다.","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","SETTINGS_LABEL":"설정","SETTINGS_NAV_GENERAL":"일반","SETTINGS_NAV_PLAYER":"플레이어","SETTINGS_NAV_STREAMING":"스트리밍","SETTINGS_NAV_SHORTCUTS":"숏컷","SETTINGS_SHORTCUT_RELOAD_APP":"앱 새로고침","SETTINGS_SHORTCUT_OPEN_SETTINGS":"설정 열기","SETTINGS_SHORTCUT_SWITCH_TABS":"탭 전환","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"앞으로 탭 순환","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"뒤로 탭 순환","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigate Between Menus","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Go to Search","SETTINGS_SHORTCUT_EXIT_BACK":"나가기 / 뒤로가기","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Toggle Playback Speed Menu","SETTINGS_SHORTCUT_MENU_VIDEOS":"Toggle Videos Menu","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Toggle Subtitles Menu","SETTINGS_SHORTCUT_MENU_INFO":"Toggle Info Menu","SETTINGS_SHORTCUT_FULLSCREEN":"전체 화면 전환","SETTINGS_SHORTCUT_SHOW_CONTROLS":"컨트롤 표시","SETTINGS_SHORTCUT_PLAY_PAUSE":"재생 / 일시정지","SETTINGS_SHORTCUT_VOLUME_UP":"불륨 크게","SETTINGS_SHORTCUT_VOLUME_DOWN":"볼륨 작게","SETTINGS_SHORTCUT_SEEK_NEXT":"다음 검색","SETTINGS_SHORTCUT_SEEK_PREV":"이전 검색","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Seek Backward","SETTINGS_SHORTCUT_SEEK_FORWARD":"Seek Forward","SETTINGS_SHORTCUT_PLAY_NEXT":"다음 재생","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"자막 크기 늘리기","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"자막 크기 줄이기","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"자막 딜레이 증가","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"자막 딜레이 감소","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"사이드바 전환","SETTINGS_SHORTCUT_OR":"or","SETTINGS_SHORTCUT_TO":"to","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Authenticate","SETTINGS_FACEBOOK_IMPORT":"Import","SETTINGS_CALENDAR_SUBSCRIBE":"Subscribe","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Interface Language","SETTINGS_LAUNCH_STARTUP":"시작 시 실행","SETTINGS_VLC_DEFAULT":"VLC로 재생","SETTINGS_UI_LANGUAGE":"UI 언어","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Escape 키 전체 화면 종료","SETTINGS_GAMEPAD":"게임패드 지원 활성화","SETTINGS_CLOSE_WINDOW":"창이 닫힐 때 앱 닫기","SETTINGS_SUBTITLES_LANGUAGE":"기본 자막 언어","SETTINGS_SUBTITLES_SIZE":"기본 자막 크기","SETTINGS_SUBTITLES_BACKGROUND":"자막 배경","SETTINGS_SUBTITLES_COLOR":"자막 색상","SETTINGS_SUBTITLES_COLOR_OUTLINE":"자막 윤곽선 색상","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"자막 배경색","SETTINGS_SEEK_KEY":"화살표 키 탐색 시간","SETTINGS_SEEK_KEY_SHIFT":"Shift 키를 누른 상태에서 화살표 키로 시간을 조작할 수 있습니다.","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Rewind & Fast-forward duration","SETTINGS_BINGE":"다음 에피소드 자동 재생","SETTINGS_NEXT_VIDEO":"다음 에피소드 시작 알림 표시","SETTINGS_NEXT_VIDEO_TRIGGER":"다음 에피소드 알림 표시:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Next video popup duration","SETTINGS_PLAY_IN_BACKGROUND":"Play in background","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Play in external player","SETTINGS_RESIZE":"재생하기 전에 창 크기 자동 조정","SETTINGS_OVERRIDE_SERVER":"스트리밍 서버의 URL을 덮어씁니다(고급)","SETTINGS_SERVER_URL":"스트리밍 서버 URL: ","SETTINGS_SERVER_AVAILABLE":"스트리밍 서버를 사용할 수 있습니다.","SETTINGS_SERVER_UNAVAILABLE":"스트리밍 서버를 사용할 수 없습니다.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Error","SETTINGS_SERVER_CONFIGURE_TITLE":"Configure streaming server url","SETTINGS_SERVER_CONFIGURE_INPUT":"Enter a streaming server url","SETTINGS_SERVER_CACHE_SIZE":"Cache size","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent profile","SETTINGS_HTTPS_ENDPOINT":"스트리밍 HTTPS 엔드포인트: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"항상 최신 베타버전 사용","SETTINGS_IMPORT_FB":"Facebook에서 Import","SETTINGS_IMPORT_DISK":"로컬 디스크에서 Import","SETTINGS_IMPORT_TRAKT":"Trakt에서 Import","SETTINGS_PAUSE_MINIMIZED":"최소화 시 재생 일시정지","SETTINGS_HWDEC":"하드웨어 가속 디코딩","SETTINGS_BACKGROUND":"백그라운드 재생","SETTINGS_SUBSCRIBE_CALENDAR":"일정표 구독","SETTINGS_REQ_EXPORT":"데이터 내보내기 요청","SETTINGS_ACC_DELETE":"계정 삭제 요청","SETTINGS_CHANGE_PASSWORD":"비밀번호 변경","SETTINGS_TOS":"서비스 약관","SETTINGS_SUPPORT":"지원 문의","SETTING_LANGUAGE":"언어","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_LOGOUT":"Trakt.tv에서 로그아웃","SETTINGS_TRAKT_LOGOUT_2":"Trakt에서 로그아웃","SETTINGS_SCAN_FOR_REMOTE":"QR코드를 스캔하여 리모트로 엽니다.","SETTINGS_DESKTOP_NOTIFICATIONS":"데스크탑 알림","SETTINGS_DATA_SAVER":"데이터 세이버","SETTINGS_LANGUAGE_INTERFACE":"인터페이스","SETTINGS_LANGUAGE_SUBS":"기본 자막","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"오디오 트랙 자동 선택","SETTINGS_DEFAULT_AUDIO_TRACK":"기본 오디오 트랙","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"계정","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"버전","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"다른 창에서 플레이어를 기동합니다(상세설정)","SETTINGS_PLAY_IN_EXTERNAL":"항상 외부 플레이어에서 비디오를 시작합니다","SETTINGS_STORAGE_BUTTON":"로컬 스토리지 비우기","SETTINGS_STORAGE_MODAL_TITLE":"확실합니까?","SETTINGS_STORAGE_MODAL_MESSAGE":"로컬 스토리지를 비우고 로그아웃합니다.","SETTINGS_HWDEC_PICKER":"하드웨어 가속 디코딩 설정 선택","SETTINGS_HW_AUTOMATIC":"자동","SETTINGS_HW_DISABLED":"비활성","SETTINGS_HW_ACCELERATED":"디코딩 가속 중","SETTINGS_HW_FULL":"전체 가속","SETTINGS_HW_LEGACY":"레거시","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Subtitles","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Controls","SETTINGS_SECTION_AUTO_PLAY":"Auto-Play","SETTINGS_SECTION_ADVANCED":"Advanced","SUBSPICKER_AUDIO":"오디오","SUBSPICKER_SUBTITLES":"애드온 자막","SUBSPICKER_BLACK_BACKGROUND":"검정색 배경 사용","SUBSPICKER_VERTICAL_OFFSET":"수직 오프셋","SUBSPICKER_SIZE":"크기","SUBSPICKER_DELAY":"딜레이","SUBSPICKER_EMBEDDED_SUBS":"내장된 자막","MOBILE_PRIVACY_POLICY":"개인정보보호 정책","MOBILE_CRASH_REPORTING":"크래시 리포트","MOBILE_ZOOM_TO_FILL":"화면을 채우려면 확대","MOBILE_PASSTHROUGH":"디지털 오디오 출력(패스스루)","MOBILE_RUN_LOW_BATTERY":"배터리 부족 시 실행","MOBILE_RUN_FOREGROUND":"Foreground Service로 실행","MOBILE_PERFORMANCE":"퍼포먼스 & 안정성","MOBILE_SERVER_ONLINE":"온라인","MOBILE_SERVER_OFFLINE":"오프라인","MOBILE_QR_EXPIRES":"만료된 QR 코드","MOBILE_LOG_INTO":"Stremio 계정에 로그인합니다.","MOBILE_SCAN_QR":"위의 QR코드를 스캔하거나 이동","MOBILE_LINK_ACCOUNT":"링크 계정","MOBILE_SPEEDPICKER_CANCEL":"취소","MOBILE_SPEEDPICKER_LABEL":"재생속도 선택","MOBILE_EMPTY_LIBRARY":"라이브러리가 비어 있습니다.","MOBILE_NO_ADDON_ACTIVE":"이 유형에 대해 활성화된 Stremio 애드온이 없습니다.","MOBILE_ORGANIZER_WARNING":"Stremio Organizer 앱은 제한된 기능을 제공합니다. 재생 가능한 스트림 목록과 Stremio의 모든 경험을 보려면 데스크톱에서 Stremio를 사용하십시오.","MOBILE_ADDON_LOADING":"아직 로드 중","MOBILE_ADDONS_LOADING":"애드온은 아직 로드 중입니다.","MOBILE_ADDON":"애드온","MOBILE_CONFIGURE_ADDON":"애드온 설정","MOBILE_CONFIGURE_ADDON_LABEL":"애드온 구성","MOBILE_ORGANIZER_ADDONS_WARNING":"Stremio Organizer 앱은 제한된 애드온을 제공합니다. Stremio를 최대한 활용하려면 데스크톱에서 Stremio를 사용하십시오.","MOBILE_DISCONNECT":"Disconnect","MOBILE_LOOKING_FOR_DEVICES":"디바이스 검색 중...","MOBILE_CAST_TO":"Cast to","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Delete Account","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Account deletion is not instant due to legal obligations. After requesting deletion of your account you will have to use different email address/facebook profile to create a new Stremio account in the future.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirm Account Deletion","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Your account has been created using Facebook. To delete your account, please use our user portal at www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Please provide your password to confirm account deletion.","MOBILE_DELETE_ACCOUNT_BUTTON":"Delete Account","NAVIGATION_ON":"On","NAVIGATION_OFF":"Off","MARKETING_AGREE":"Stremio로부터의 마케팅 정보 수신에 동의합니다.","QUIT":"Quit","CONNECTED":"접속완료","AUTHENTICATE":"인증","CACHING":"캐싱","SETTINGS_CACHING_DRIVE":"드라이브 캐시 중","ENABLE_LOCAL_FILES_ADDON":"로컬 파일 추가 기능을 활성화합니다. (재기동 필요)","LOCAL_ADDON_NOT_ENABLED":"로컬 애드온이 활성화되지 않았습니다. 여기를 클릭하여 설정으로 이동하여 활성화하십시오.","ENABLE_REMOTE_HTTPS_CONN":"리모트 HTTPS 접속 활성화","TORRENT_PROFILE":"Torrent 설정","DATA_CACHING":"데이터 캐싱","MAGNET_PARSING":"마그넷 링크 파싱 중","January":"1월","February":"2월","March":"3월","April":"4월","May":"5월","June":"6월","July":"7월","August":"8월","September":"9월","October":"10월","November":"11월","December":"12월","Monday":"월요일","Tuesday":"화요일","Wednesday":"수요일","Thursday":"목요일","Friday":"금요일","Saturday":"토요일","Sunday":"일요일","Action":"액션","Comedy":"코미디","War":"전쟁","Family":"가족","Animation":"애니메이션","Adventure":"어드벤처","Fantasy":"판타지","Crime":"범죄","Mystery":"미스터리","Romance":"로맨스","Drama":"드라마","Horror":"공포","Thriller":"스릴러","Sci-Fi":"SF","Music":"음악","Biography":"전기","Documentary":"다큐멘터리","Sport":"스포츠","Musical":"뮤지컬","Western":"서부","Film-Noir":"흑인","News":"뉴스","History":"역사","Game-Show":"게임쇼","Reality-TV":"리얼리티","Talk-Show":"토크쇼","Film & Entertainment":"영화 & 엔터테이먼트","Gaming":"게이밍","From TV":"TV프로","Lifestyle":"라이프사이클","Science & Education":"과학 & 교율","Cooking & Health":"요리 & 건강","Beauty & Fashion":"뷰티 & 패션","Sports":"스포츠","News & Politics":"뉴스 & 정치","How-to & DIY":"사용법 & DIY","Tech":"테크","Automotive":"자동차","Causes & Non-Profits":"사업 & 공익","Movies":"영화","Uk Live Tv":"영국 생방송 TV","Fashion":"패션","Business News Radio":"비지니스 뉴스 라디오","Business Tv":"비지니스 TV","Cars & Auto":"자동차 & 자동화","Comedy Radio":"코미디 라디오","Lifestyle Radio":"라이프스타일 라디오","News Tv":"뉴스TV","Food And Wine":"음식 및 와인","Latino Tv":"라틴어 TV","Shopping Tv":"쇼핑 TV","Religion":"종교","Kids":"어린이","Body & Soul":"몸 & 영혼","Education":"교육","Indian Tv":"인도 TV","Extreme Sports":"익스트림 스포츠","Middle Eastern Tv":"중동 TV","Celebrity Tv":"연예인 TV","Science Tv":"사이언스 TV","Bikini babe":"비키니 베이비","Outdoors":"아웃도어","German Tv":"독일 TV","French Tv":"프랑스어 TV","Italian Tv":"이탈리아 TV","Gamer Tv":"게이머 TV","Travel":"여행","Asian Tv":"아시아 TV","Entertainment":"엔터테인먼트","News Radio":"뉴스 라디오","Music Radio":"음악 라디오","Language Learning":"언어학습","Science Radio":"과학 라디오","Tech Radio":"테크 라디오","Science & Technology Vod":"과학 & 기술 VOD","new video":"뉴스 영상","new episode":"새로운 에피소그","new movie":"신작 영화","recommended":"권장","we recommend":"권장합니다.","offer of the day":"오늘의 할인","news":"뉴스","music video":"뮤직비디오","CTX_SHOW_HOTKEYS":"단축키 표시","CTX_DISMISS_NOTIF":"알림 해제","CTX_DISMISS_ALL":"모두 해제","CTX_SHARE":"공유","CTX_COPY_SHARE_LINK":"공유링크 복사","CTX_COPY_MAGNET_LINK":"마그넷링크 복사","CTX_COPY_STREAM_LINK":"스트림링크 복사","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"영상 다운로드","CTX_DOWNLOAD_SUBS":"자막 다운로드","CTX_VIEW_ON_YOUTUBE":"YouTube에서 보기","CTX_SHOW":"보기","CTX_PLAY":"방송","CTX_PLAY_IN":"방송생","CTX_PLAY_ON":"방송중","CTX_WATCH_ON":"시청중","CTX_WATCH":"시청","CTX_WATCHED":"시청완료","CTX_WATCH_BEGINNING":"처음부터 시청하기","CTX_WATCH_MOBILE":"모바일로 시청하기","CTX_REWIND":"처음으로 다시 감기","CTX_MARK_WATCHED":"시청중 표시","CTX_MARK_NON_WATCHED":"시청안함 표시","CTX_MARK_UNWATCHED":"미시청 표시","CTX_MARK_REST":"나머지는 시청한 것으로 표시","CTX_UNMARK_REST":"나머지는 미시청으로 표시","CTX_RECEIVE_NEW_NOTIF":"새로운 알림 수신","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"캐시에서 삭제","CTX_REMOVE_CACHE_EP":"캐시에서 에피소드 삭제","CTX_OPEN_CONTAINING":"소속 폴더 열기","CTX_REMOVE":"라이브러리에서 삭제","CTX_AVAILABLE_OFFLINE":"오프라인에서 사용 가능","CTX_PAUSED":"일시정지","CTX_ALWAYS_ON_TOP":"항상 위에 표시","CTX_FULLSCREEN":"전체 화면","CTX_WRONG_SUBS":"잘못된 자막?","CTX_REPORT_ISSUES":"문제 보고","CTX_COPY":"복사","CTX_PASTE":"붙여넣기","CTX_CLEAR":"지우기","CTX_CLEAR_RECENT_SEARCHES":"최근 검색 지우기","HELLO_THERE":"안녕하세요.","HOPE_YOU_ENJOY":"Stremio를 즐겨주셨으면 좋겠어요, 이미 마음에 드는 앱 중 하나예요!","WHO_ARE_WE":"우리는 누구일까요? 델이 그 배후에 있는 팀입니다.지난 3년간 매일 이 제품을 더 좋게 만들기 위해 열심히 일했던 두 남자입니다.","SUPPORT_US":"Stremio를 즐겨 사용한다면 Stremio가 귀중하다면 널리 알리세요!","SPREAD_THE_WORD":"지금 바로 친구들과 공유하고 Stremio에 대한 소문을 퍼뜨리세요.","MORE_PEOPLE":"Stremio를 많이 사용할수록 더 좋아집니다!","SEND_A_LINK":"또는 당사 웹 사이트로 링크를 보내십시오.","TIP_LOCALFILES":"팁: 로컬 비디오 파일을 Stremio에 드래그 앤 드롭할 수 있습니다","ADDON_MY":"내 애드온","ADDON_COMMUNITY":"커뮤니티 애드온","ADDON_OFFICIAL":"공식 애드온","ADDON_REPOS":"애드온 컬렉션","ADDON_SEARCH":"검색 애드온","ADDON_INSTALL":"설치","ADDON_CONFIGURE":"설정","ADDON_UNINSTALL":"언인스톨","ADDON_UPGRADE":"업그레이드","ADDON_INSTALLED":"설치 완료","ADDON_INSTALLED_MSG":"애드온이 설치되었습니다!","ADDON_UPGRADED_MSG":"애드온이 업그레이드되었습니다!","ADDON_UNKNOWN":"알 수 없음","ADDON_ERR":"애드온 설치 오류!","ADDON_DISCONNECTED":"연결 끊김","ADDON_APP_MISSING":"이 소스의 앱이 설치되지 않았습니다. 지금 설치하시겠습니까?","ADDON_APP_INSTALL":"지금 바로 설치","ADDON_PAGE":"애드온 페이지","ADDON_TOP_CONTENT":"애드온 중에 최고","ADDON_PROVIDES":"이 애드온은 다음을 제공합니다:","ADDON_WATCH":"지금 #{types}를 보세요!","ADDON_WATCH_FREE":"지금 #{types}를 무료로 시청하세요!","ADDON_ADDON":"애드온","ADDON_SUPPORTED_TYPES":"지원 유형","ADDON_SUPPORTED_CATALOGS":"지원 카테고리","ADDON_PROVIDES_DISCOVER":"발견 중인 더 많은 #{types}","ADDON_PROVIDES_STREAMS":"시청 #{types}","ADDON_PROVIDES_STREAMS_FREE":"#{types} 무료 시청","ADDON_PROVIDES_SUBTITLES":"#{types}의 부제목","ADDON_CANTDETECT":"실행 중인 Stremio를 검출할 수 없었기 때문에 설치한 애드온을 검출할 수 없었습니다.","ERR_NO_META":"이것에 대한 정보를 찾을 수 없습니다.","ERR_GETTING_META":"이것에 대한 정보를 가져오는 중 오류가 발생했습니다.","ERR_CANT_PARSE_MAGNET":"마그넷을 해석할 수 없습니다.","ERR_NO_MAGNET_INFOHASH":"마그넷에 유효한 정보 해시가 없습니다.","ERR_NO_FILE_PATH":"파일 경로가 없으면 요청을 전송할 수 없습니다.","ERR_NO_TORRENT":"반환된 토렌트가 없습니다.","ERR_NO_SUPPORTERD_FILES":"지원되는 파일을 찾을 수 없습니다.","ERR_OPENING_FILES":"외부 파일을 열 수 없습니다.","ERR_INVALID_LINK":"유효하지 않은 링크","ERR_REGISTERED_ONLY":"이 옵션은 등록된 사용자만 사용할 수 있습니다.","ERR_CLIPBOARD":"클립보드에서 재생할 수 없습니다.","ERR_CLIPBOARD_READ":"이 플랫폼에서 클립보드를 읽을 수 없습니다.","ERR_CLIPBOARD_GENERIC":"클립보드에 재생 가능한 URL이 없습니다. URL(마그넷 링크 등)을 비디오에 복사하십시오.","BOARD_CONTINUE_WATCHING":"이어 보기","BOARD_EXPLANATION_RECOMMENDATIONS":"특별히 선택한 영화입니다.<br /> 이 동영상은 권장 샘플입니다.","BOARD_EXPLANATION_EPISODES":"좋아하는 시리즈의 새로운 에피소드가 여기에 표시됩니다.<br /> 팔로우한 시리즈를 라이브러리에 추가합니다.","BOARD_EXPLANATION_VIDEOS":"좋아하는 채널의 새로운 에피소드가 여기에 표시됩니다.<br /> 라이브러리에 팔로우할 유튜브 채널을 추가합니다.","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE":"기여","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"Learn more","WEBSITE_COMPANY":"Company","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Need Help?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"바로 보기","WEBSITE_SLOGAN_ALL":"모든 비디오 콘텐츠를 한 곳에서 즐길 수 있습니다.","WEBSITE_SLOGAN_NEW":"모두 시청 가능","WEBSITE_SLOGAN_NEW_NEW":"자유로운 스트림","WEBSITE_WATCH_FROM":"시청 위치","WEBSITE_DOWNLOAD":"지금 바로 다운로드","WEBSITE_DOWNLOAD_FOR":"지금 바로 다운로드 대상","WEBSITE_IS_DESKTOP":"Stremio는 데스크톱 응용 프로그램입니다. PC에서 이 페이지를 열고 다운로드하십시오.","WEBSITE_DESKTOP_DEMO_VID":"데스크탑 데모","WEBSITE_PAGE_HOME":"홈","WEBSITE_PAGE_FEATURES":"기능","WEBSITE_PAGE_ADDONS":"애드온","WEBSITE_PAGE_TECH":"테크놀로지","WEBSITE_PAGE_CREATE_ADDON":"애드온 생성","WEBSITE_PAGE_CONTACTS":"연락처","WEBSITE_PAGE_BLOG":"블로그","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"영화","WEBSITE_TYPE_series_PL":"시리즈","WEBSITE_TYPE_tv":"라이브 TV","WEBSITE_TYPE_channel":"채널","WEBSITE_STREMIO_WHAT_IS":"Stremio는 마음에 드는 비디오, 영화, TV 시리즈, TV 채널을 정리하고 바로 볼 수 있는 앱입니다.","WEBSITE_FEATURES_WATCH":"즉시 HD로 보기","WEBSITE_FEATURES_WATCH_DETAIL":"즐겨찾는 영화, TV 프로그램, 비디오 및 TV 채널을 클릭하여 재생합니다.","WEBSITE_FEATURES_SUBS":"자동 자막","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio는 자동으로 해당 언어의 동기화된 자막을 선택합니다.","WEBSITE_FEATURES_SUBS_LABEL":"당신 차례입니다.","WEBSITE_FEATURES_CAST":"TV 및 모바일 디바이스에서 재생","WEBSITE_FEATURES_CAST_DETAIL":"AppleTV, Chromecast, 스마트 TV(DLNA/UPnP) 및 모바일 장치로 전송합니다.","WEBSITE_LIB":"모든 디바이스에서 동기화된 퍼스널 라이브러리를 즐기세요.","WEBSITE_LIB_COLLECT":"Stremio에서 수집","WEBSITE_LIB_IMPORT":"Facebook에서 Import","WEBSITE_LIB_LOCAL":"로컬 드라이브에서 추가","WEBSITE_BOARD":"게시판 - 알림 및 권장 사항을 위한 원스톱 장소","WEBSITE_BOARD_RECOMMEND":"권장 TV 프로그램","WEBSITE_BOARD_TRENDING":"트렌딩 무비","WEBSITE_BOARD_NEW":"새로운 영상","WEBSITE_BOARD_EPISODE":"새로운 에피소드","WEBSITE_BOARD_1":"재미있는 볼거리를 찾고 계십니까? 취향에 맞는 추천을 받아보세요!","WEBSITE_BOARD_2":"좋아하는 TV 프로그램이나 YouTube 채널의 새로운 에피소드가 나오면 알려드립니다!","WEBSITE_BOARD_YOUTUBE":"유튜브 채널 신규 영상","WEBSITE_BOARD_EPISODES":"당신이 팔로우하는 시리즈의 새로운 에피소드","WEBSITE_ADDONS":"콘텐츠 애드온","WEBSITE_TECH_DETAIL":"우리는 테크놀로지와 미친 과학을 사랑합니다!\\nStremio는 다음 오픈소스 기술을 사용하고 있습니다.:","WEBSITE_TECH_WCJS":"WebChimera.js를 사용하면 Stremio는 어떤 비디오 형식에서도 뛰어난 퍼포먼스로 재생할 수 있습니다.","WEBSITE_TECH_WCJS_EXTRA":"우리는 프로젝트의 핵심 기여자입니다.","WEBSITE_TECH_ELECTRON":"Electron은 Stremio를 구축할 수 있는 혁신적인 플랫폼을 제공합니다.","WEBSITE_TECH_ELECTRON_EXTRA":"우리는 프로젝트 기여자입니다.","WEBSITE_TECH_LINVODB":"데이터를 정리하여 로그인 시 어디서나 이용할 수 있는 데이터베이스 테크놀로지입니다.","WEBSITE_TECH_LINVODB_EXTRA":"내부기술","WEBSITE_CREATE_ADDON":"애드온 작성","WEBSITE_CREATE_ADDON_DETAIL":"비디오 콘텐츠를 제공하는 서비스가 있습니까? Addon을 작성함으로써 Stremio의 기능을 활용할 수 있도록 지원합니다.","WEBSITE_CREATE_ADDON_BENEFITS":"Stremio용 애드온 작성의 이점","WEBSITE_P2P_BEAUTY":"Peer-to-Peer 스트리밍의 묘미","WEBSITE_P2P_1":"안정적이고 저렴한 Full HD/4K 주문형 비디오 또는 라이브 스트리밍","WEBSITE_P2P_2":"좋은 사용자 경험을 제공하는 배포 플랫폼","WEBSITE_P2P_3":"필요에 맞는 확장 프로그램을 만들겠습니다.","WEBSITE_P2P_CONTACT":"관심이 있습니까? <a href=\'mailto:office@stremio.com\'>문의</a>를 환영합니다.","WEBSITE_P2P_CONTACT_EXTRA":"Stremio와 콘텐츠를 통합하는 데 도움을 드리고 싶습니다!","WEBSITE_P2P":"가끔은 게임의 규칙을 바꾸는 기술이 등장합니다. 우리는 뛰어난 성능과 용도에 맞게 맞춤화할 수 있는 다용도\\nDRM 지원 P2P 주문형 비디오 또는 라이브 스트리밍에 대해 문의하십시오.","WEBSITE_THOUGHTS":"우리가 공유하는 생각:","WEBSITE_SPREAD":"Stremio에 대해 널리 알리세요:","WEBSITE_CONTACT":"연락주세요. 연락주시면 감사하겠습니다!","WEBSITE_OPENSOURCE":"오픈소스 프로젝트에 대해서는 다음 사이트를 참조하십시오.","WEBSITE_BITCOIN":"비트코인 기부:","WEBSITE_FAQ":"자주 묻는 질문","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"질문","WEBSITE_TOS":"이용약관","WEBSITE_LEGAL":"법률","WEBSITE_PAGE_ABOUT":"정보","WEBSITE_PAGE_BECOME_PARTNER":"파트너가 되어주세요.","WEBSITE_ALL_YOU_CAN_WATCH":"원하는 모든 것을 자유롭게\\n시청할 수 있습니다.","WEBSITE_FREEDOM_TO_STREAM":"스트리밍의 자유","WEBSITE_WHAT_IS_STREMIO":"Stremio란?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio는 비디오 콘텐츠 집계를 위한 원스톱 허브입니다. 소유한 모든 장치에서 모든 종류의 소스에서 비디오를 검출, 정리, 시청할 수 있습니다.","WEBSITE_WHAT_IS_STREMIO_P2":"영화, TV 프로그램, 시리즈, 라이브 텔레비전 또는 YouTube나 Twitch.tv 등의 웹 채널 - 이 모든 것을 Stremio에서 찾을 수 있습니다.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio는 비디오 엔터테인먼트를 위한 원스톱 솔루션입니다. 설치가 용이한 애드온에서 비디오 콘텐츠를 검출, 시청 및 정리할 수 있습니다.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"영화, TV 프로그램, 라이브 TV 또는 웹 채널 - 이 모든 것을 Stremio에서 찾을 수 있습니다.","WEBSITE_ENJOI_ON_ALL_DEVICES":"모든 미디어 디바이스에서 즐기세요.","WEBSITE_DEVICES_COLLECT":"Stremio에서 수집","WEBSITE_DEVICES_IMPORT_FB":"페이스북에서 Import","WEBSITE_DEVICES_LOCAL":"로컬 드라이브에서 추가","WEBSITE_JOIN_THE_PARTY_NOW":"지금 바로 파티에 참여하십시오.","WEBSITE_DEVICES_ALL":"모든 기기에서 사용하기 쉽습니다.","WEBSITE_EXTENDABLE_CATALOG":"무한히 확장 가능한 비디오 카탈로그","WEBSITE_ORGANIZE_YOUR_MEDIA":"미디어 정리를 위한 뛰어난 기능","WEBSITE_AS_SEEN_ON":"에 표시된 대로","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"당사에 대하여","WEBSITE_LINK_TECHNOLOGY":"테크놀로지","WEBSITE_LINK_APPS":"앱","WEBSITE_LINK_DOWNLOADS":"다운로드","WEBSITE_MORE":"상세","WEBSITE_LINK_ADDONS":"애드온","WEBSITE_LINK_ADDON_SDK":"애드온 SDK","WEBSITE_LINK_CONTRIBUTE":"기여자","WEBSITE_LINK_COMMUNITY":"커뮤니티","WEBSITE_LINK_BLOG":"블로그","WEBSITE_MORE_MORE":"... & 상세","WEBSITE_LINK_HELP":"헬프센터","WEBSITE_LINK_CONTACTS":"비즈니스 문의","WEBSITE_LINK_TOS":"이용약관","WEBSITE_LINK_PRAVACY":"개인정보보호 정책","WEBSITE_SUBSCRIBE":"구독","WEBSITE_NEWSLETTER":"놀라운 소식을 위해 뉴스레터에 가입하세요.","WEBSITE_PLACEHOLDER_EMAIL":"당신의 이메일","WEBSITE_COMMUNITY":"커뮤니티","WEBSITE_LINK_PRAVACY_LEGAL":"개인정보보호 & 범률","WEBSITE_WHY":"우리가 하는 이유","WEBSITE_WHY_P1":"Stremio에서는 비디오 온 디맨드 업계의 중요한 문제를 해결하기 위해 매일 출근하고 있습니다. 매분 새로운 컨텐츠가 너무 많이 공개되고 있기 때문에, 그것을 회피하는 방법을 찾는 것은 사실상 불가능합니다.","WEBSITE_WHY_P2":"우리는 사람들이 비디오 엔터테인먼트의 거대한 세계를 탐색하고 즐길 수 있는 새로운 콘텐츠를 찾도록 돕습니다. 우리 앱은 영화, 시리즈, 라이브 TV, 웹 채널 등을 함께 제공합니다. 사용자가 좋아하는 타이틀과 방송사를 매우 쉽게 찾을 수 있도록 최선을 다하고 있습니다.","WEBSITE_WHY_P3":"언제 어디서나 모든 장치에서 당사 서비스를 사용할 수 있으므로 Stremio는 당신이 필요로 하는 유일한 비디오 엔터테인먼트 허브가 됩니다.","WEBSITE_TEAM":"팀","WEBSITE_TEAM_P":"Stremio 팀은 작지만 강력합니다.저희 10명 사이에 X개 언어로 코딩하고 소프트웨어 개발, UI 및 UX 설계, 마케팅 및 광고, 비즈니스 및 스타트업 관련 전문 지식을 공유합니다.","WEBSITE_FEATURES":"기능","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"새로운 콘텐츠를 쉽게 발견할 수 있습니다.","WEBSITE_FEATURES_DISCOVER_P":"새로운 영화, TV 프로그램, 시리즈 및 채널을 쉽게 찾을 수 있습니다. 카테고리, 장르, 등급, 추천서 등을 참조하거나 검색할 이름을 입력합니다. Stremio는 새로운 비디오 콘텐츠를 찾는 것을 쉽게 할 수 있습니다.","WEBSITE_FEATURES_ALL_CONTENT":"모든 비디오 콘텐츠를 한 화면에 표시","WEBSITE_FEATURES_ALL_CONTENT_P1":"완료하지 않은 영화, 시리즈 또는 비디오를 보고 계속 시청합니다.새로운 에피소드 및 개봉에 대해 알림을 받고 시청 습관에 따라 권장사항을 참조하십시오.","WEBSITE_FEATURES_LIBRARY":"비디오 라이브러리 정리","WEBSITE_FEATURES_LIBRARY_P1":"클릭 한 번으로 Stremio 라이브러리에 제목을 추가하고 콘텐츠를 유형, 레퍼런스 또는 알파벳 순서로 깔끔하게 정렬하여 찾을 수 있습니다.","WEBSITE_FEATURES_CALENDAR":"시청하는 모든 것을 추적합니다.","WEBSITE_FEATURES_CALENDAR_P1":"라이브러리에 추가하는 모든 영화 및 시리즈의 캘린더 시각화를 가져옵니다. Stremio 캘린더를 내보내고 동기화하면 새로운 에피소드 또는 프리미어 예정일이 언제인지 항상 알 수 있습니다.","WEBSITE_FEATURES_BIG_SCREEN":"비디오 콘텐츠를 더 큰 화면으로 즐기세요.","WEBSITE_FEATURES_BIG_SCREEN_P1":"클릭 한 번으로 스마트폰, 태블릿, TV 등 시청하고 있는 것을 다른 디바이스에 캐스트 할 수 있습니다.","WEBSITE_FEATURES_SOURCES":"다양한 소스에서 비디오를 시청합니다.","WEBSITE_FEATURES_SOURCES_P":"공식 애드온과 커뮤니티 애드온을 설치하여 다양한 프로바이더가 제공하는 비디오를 모두 스타일리시하고 사용하기 쉬운 하나의 앱으로 즐길 수 있습니다.","WEBSITE_CREATE_AN_ADDON":"애드온 개발","WEBSITE_FEATURES_SYNC":"다른 디바이스 간에 라이브러리를 동기화하고 재생을 재개합니다.","WEBSITE_FEATURES_SYNC_P1":"모든 디바이스에서 계정으로 로그인하여 라이브러리, 애드온, 재생 및 캘린더를 동기화하여 즐기십시오.","WEBSITE_FEATURES_EXTENDABLE":"애드온별로 확장 가능한 비디오 카탈로그","WEBSITE_FEATURES_EXTENDABLE_P1":"Stremio 애드온 카탈로그는 다양한 비디오 콘텐츠를 설치하고 시청할 수 있는 많은 애드온을 제공합니다. 여기에는 영화, 프로그램, 라이브 TV, 스포츠, 뉴스, 팟캐스트, 웹 채널, 비디오 게임 등이 포함됩니다.","WEBSITE_FEATURES_AUTO_SUBS":"자동 자막","WEBSITE_FEATURES_AUTO_SUBS_P1":"자막 애드온을 사용하면 원하는 언어에 대한 옵션이 자동으로 선택됩니다.","WEBSITE_FEATURES_CHROMECAST":"크롬캐스트에 캐스팅","WEBSITE_FEATURES_CHROMECAST_P1":"비디오 콘텐츠를 더 큰 화면으로 즐기거나 보고 있는 콘텐츠를 다른 기기에 캐스트하세요.","WEBSITE_FEATURES_KEEP_TRACK":"즐겨보는 TV 프로그램 및 웹 채널 추적","WEBSITE_FEATURES_KEEP_TRACK_P1":"즐겨찾는 시리즈와 웹 채널의 새로운 에피소드에 대한 캘린더 시각화와 알림을 받을 수 있습니다.","WEBSITE_FEATURES_POWER_USER":"파워 유저의 기능","WEBSITE_FEATURES_POWER_USER_P1":"외장 플레이어에서 재생","WEBSITE_FEATURES_POWER_USER_P2":"토렌트 파일 또는 마그넷 링크에서 재생","WEBSITE_FEATURES_POWER_USER_P3":"Facebook like 또는 로컬 디스크에서 라이브러리로 Import","WEBSITE_ADD_ONS":"애드온","WEBSITE_ADD_ONS_P1":"Stremio가 제공하는 모든 비디오 콘텐츠는 애드온 시스템을 통해 제공됩니다.콘텐츠 또는 콘텐츠 공급자는 앱에 포함되어 있지 않습니다.","WEBSITE_ADD_ONS_P2":"사용 가능한 애드온 그룹은 공식 애드온과 커뮤니티 애드온 두 가지가 있습니다.","WEBSITE_ADD_ONS_P3":"공식적인 것은 Stremio가 개발하고 호스트하는 반면 커뮤니티 애드온은 커뮤니티 멤버에 의해 개발되며 커뮤니티 애드온도 공유합니다.","WEBSITE_ADDONS_OFFICIAL":"공식 애드온","WEBSITE_ADDONS_WATCHUB":"iTunes, Hulu, Amazon 및 기타 영국/미국 서비스 프로바이더에서 좋아하는 영화, 시리즈, 쇼를 스트리밍하십시오.","WEBSITE_ADDONS_YOUTUBE":"좋아하는 YouTube 채널을 무료로 시청하고 팔로우하는 투고자로부터 새로운 업로드에 대한 알림을 받으십시오.","WEBSITE_ADDONS_FILMON":"라이브 TV, 영화, 소셜 TV를 무료로 시청하세요. 600개의 TV 채널, 45,000개의 무료 영화, 다큐멘터리 등","WEBSITE_ADDONS_OPENSUBTITLES":"다국어 영화 및 TV 자막, 매일 수천 개의 번역 자막 업로드","WEBSITE_ADDONS_COMMUNITY":"커뮤니티 애드온","WEBSITE_ADDONS_FILMON_VOD":"Filmon.tv에서 온디맨드 비디오 보기","WEBSITE_ADDONS_TWICH":"e스포츠 업계용 비디오 스트리밍 플랫폼인 Twitch.tv에서 라이브 스트림을 시청하십시오.","WEBSITE_ADDONS_VODO":"완전 무료로 인디 영화를 감상하세요.","WEBSITE_ADDONS_NETFLIX":"Netflix 영화 및 웹 시리즈를 시청합니다.","WEBSITE_ADDONS_CREATE":"애드온 개발","WEBSITE_ADDONS_CREATE_P1":"원하시면, 독자적인 애드온을 개발할 수 있습니다. 이를 통해 귀사와 당사의 커뮤니티에서 새로운 비디오 콘텐츠에 접근할 수 있으며, 전 세계 수백만 명의 사용자의 잠재고객에게 다가갈 수 있습니다.","WEBSITE_ADDONS_START_CREATE":"시작하려면 Stremio Addon SDK 페이지를 방문하십시오.","WEBSITE_DOWNLOADS":"다운로드","WEBSITE_DOWNLOADS_P1":"최적의 성능을 위해 최신 버전의 Stremio 앱을 사용하는 것이 좋습니다. 다만, 어떠한 이유로 구버전을 사용하고 싶은 경우는, 여기서 다운로드할 수 있습니다.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Windows용 Stremio","WEBSITE_DOWNLOADS_FOR_MAC":"MacOS용 Stremio","WEBSITE_DOWNLOADS_FOR_LINUX":"Linux용 Stremio","WEBSITE_DOWNLOADS_FOR_ANDROID":"Android용 Stremio","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Android TV용 Stremio","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Android Mobile용 Stremio","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Steam Deck용 Stremio","WEBSITE_DOWNLOADS_FOR_IOS":"iOS용 Stremio (limited version)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"Stremio 플랫폼은 오픈 소스이며 현재 소싱되지 않은 콘텐츠에 대한 애드온을 쉽게 만들 수 있습니다.","WEBSITE_CONTRIBUTE_WHY":"애드온을 작성해야 하는 이유?","WEBSITE_CONTRIBUTE_WHY_P1":"비디오 콘텐츠 신규 사용자 확보","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio의 유저 베이스는 급속히 성장하고 있습니다. Stremio는 출시 1년 만에 전 세계에서 100만 명의 유저를 확보했고, 플랫폼 설립 2년째에는 250만 명으로 증가했습니다.","WEBSITE_CONTRIBUTE_WHY_P3":"애드온으로 시청자에게 쉽게 접근하여 동영상 콘텐츠를 배포할 수 있습니다.","WEBSITE_CONTRIBUTE_ALL":"좋아하는 영화, 비디오, 시리즈, 채널을 한 곳에서 감상할 수 있습니다.","WEBSITE_CONTRIBUTE_ALL_P1":"Stremio에서 아직 이용할 수 없는 특정 유형의 콘텐츠 팬입니까? 애드온을 만들고 가장 크고 사용하기 쉬운 엔터테인먼트 허브 중 하나에서 마음에 드는 비디오를 즐겨보세요.","WEBSITE_CONTRIBUTE_ALL_P2":"게다가, 같은 생각을 가진 다른 Stremio 커뮤니티 멤버들의 무한한 감사를 받을 수 있습니다.","WEBSITE_CONTRIBUTE_MONETIZE":"애드온을 수익을 창출하고, 그 도움을 받아 수익을 올리세요.","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Stremio용 새로운 애드온을 개발하면 다양한 방법으로 쉽게 수익화할 수 있습니다. 만약 이 점을 고려하신다면, 부담없이 문의해 주십시오.","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - 애드온 머니타이제이션 옵션에 대해 기꺼이 상담 및 조언을 드리겠습니다.","WEBSITE_CONTRIBUTE_TRANSLATE":"자원봉사 번역가가 되십시오.","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"다른 언어로 된 Stremio 앱을 즐기고 싶으시면 저희 자원봉사 번역자 커뮤니티에 참여하실 수 있습니다. Stremio 버전을 여러 언어로 추가할 수 있습니다.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"시작하시겠습니까?","WEBSITE_TRANSALTE_STREMIO":"Stremio 번역","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"공식 커뮤니티","WEBSITE_COMMUNITY_OFFICIALS_P1":"성장하는 Stremio 커뮤니티의 일원이 되십시오. 소셜 미디어 팔로우 해 주세요.부끄러워하지 말고 인사하세요. 팬분들의 의견을 듣는 게 너무 좋아요! ","WEBSITE_COMMUNITY_UNOFFICIALS":"비공식 커뮤니티","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partners and supporters","WEBSITE_COMMUNITY_GOODIES":"Stremio goodies","WEBSITE_COMMUNITY_WALLPAPERS":"Wallpapers","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"문의","WEBSITE_CONTACT_US_P1":"질문, 코멘트, 제안사항이 있으시면 아래 연락처 폼으로 연락주시기 바랍니다.","WEBSITE_CONTACT_US_P2":"당사는 불가리아에 있으므로 시간대 차이로 인해 문의처리가 지연될 수 있습니다.","WEBSITE_CONTACT_US_SUCCESS":"메시지가 발송되었습니다. 가능한 한 빠른 시일 내에 연락드리겠습니다.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"유효한 이메일을 입력하세요!","WEBSITE_CONTACT_US_Q_RELATED_TO":"질문은 무엇에 관한 것입니까?","WEBSITE_CONTACT_US_Q_OS":"운영체제는 무엇입니까?","WEBSITE_CONTACT_US_PH_EMAIL":"단신의 E-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"메시지","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"전송","WEBSITE_CONTACT_US_Q_1":"어떻게 설치 하나요?","WEBSITE_CONTACT_US_Q_2":"어떻게 삭제 하나요?","WEBSITE_CONTACT_US_Q_3":"(HTML) 라자냐는 어떻게 만드나요?","WEBSITE_CONTACT_US_Q_4":"Addons","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"테크놀로지","WEBSITE_TECHNOLOGY_P1":"우리는 테크놀로지와 광기어린 과학을 사랑합니다. </br> 다음은 Stremio(모두 오픈소스)를 지원하는 기능입니다.","WEBSITE_TECHNOLOGY_P_QT":"크로스 플랫폼 소프트웨어 개발은 최고입니다.","WEBSITE_TECHNOLOGY_P_MPV":"프리 오픈 소스 크로스 플랫폼 미디어 플레이어입니다.","WEBSITE_TECHNOLOGY_P_RN":"React Native를 사용하면 JavaScript만을 사용하여 모바일 앱을 구축할 수 있습니다.","WEBSITE_TECHNOLOGY_P_VLC":"멀티미디어를 얻기 위해 응용 프로그램에 내장된 미디어 프레임워크입니다.","WEBSITE_TECHNOLOGY_P_REALM":"Realm은 모바일 플랫폼이며 SQLite & Core Data를 대체하는 것입니다.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js는 오픈소스 크로스 플랫폼 자바스크립트 런타임 환경입니다.","WEBSITE_TECHNOLOGY_P_RUST":"RUST는 안전성, 특히 안전한 동시성에 초점을 맞춘 다중 패러다임 시스템 프로그래밍 언어입니다.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"프로젝트에 기여","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Stremio에 기여하는 방법과 제품 개선을 지원하는 방법에는 두 가지가 있습니다.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"플랫폼을 번역하여 소중한 언어 능력을 기부할 수 있습니다...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"또는","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... 커뮤니티 애드온을 작성하기 위해 당신의 프로그래밍 노하우를 사용할 수 있습니다. ","WEBSITE_TRANSLATE_STREMIO":"Stremio 번역","WEBSITE_404_OH_NO":"오오오오! 찾으시는 페이지는 여기에 없습니다...","WEBSITE_GO_HOME":"홈으로 이동","WEBSITE_LINK_OTHER_DOWNLOADS":"기타 다운로드","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"지원","WEBSITE_DOWNLOAD_4_0_BETA":"Stremio 4 베타판 지금 바로 다운로드","WEBSITE_GET_FOR_DESKTOP":"데스크탑용","WEBSITE_LINK_ADDON_COMPETITION":"애드온 경쟁","WEBSITE_LINK_ART_CONTEST":"아트 콘테스트","WEBSITE_MY_ACCOUNT":"내 계정","WEBSITE_MAINPAGE_FAQ_001_H1":"Stremio란?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio는 원하는 모든 것을 자유롭게 볼 수 있는 현대적인 미디어 센터입니다.","WEBSITE_MAINPAGE_FAQ_002_H1":"어떻게 동작합니까?","WEBSITE_MAINPAGE_FAQ_002_P1":"단말기에 Stremio를 설치하고 계정을 만들면 애드온 카탈로그에 접속하여 원하는 애드온을 설치하면 됩니다.","WEBSITE_MAINPAGE_FAQ_002_P2":"그 후 [Discover]섹션 또는 [Board]섹션으로 이동하여 콘텐츠 탐색을 시작할 수 있습니다.","WEBSITE_MAINPAGE_FAQ_003_H1":"여기서 볼 수 있는 건?","WEBSITE_MAINPAGE_FAQ_003_P1":"많은 것: 영화, TV 프로그램, 웹 채널, 스포츠, TV 채널, 팟캐스트 듣기 등. 델의 애드온 시스템 덕분에 다양한 콘텐츠에 접속할 수 있습니다.","WEBSITE_MAINPAGE_FAQ_004_H1":"Stremio는 오픈 소스입니까?","WEBSITE_MAINPAGE_FAQ_004_P1":"예, ${1}데스크탑 app${2} 및 ${3}GitHub organization${4} 링크를 확인할 수 있습니다.","WEBSITE_MAINPAGE_FAQ_005_H1":"Stremio는 안전합니까?","WEBSITE_MAINPAGE_FAQ_005_P1":"네, 오픈 소스 소프트웨어이므로 코드는 공개적으로 보는것이 가능하며 사용자가 직접 검토할 수 있습니다.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"프라이버시는 어떻습니까?","WEBSITE_MAINPAGE_FAQ_006_P1":"저희는 사용자의 프라이버시를 존중하며 계정을 만들고 동기화하기 위해 필수적인 최소값 이외에는 개인정보를 수집하지 않습니다.","WEBSITE_MAINPAGE_FAQ_006_P2":"등록 시 ${1}게스트 모드${2}도 있습니다.이 모드에서는 백엔드에 콜이 발신되지 않습니다. 단, 디바이스 간에 라이브러리를 동기화할 수 있는 등 유용한 기능을 희생합니다.","WEBSITE_MAINPAGE_FAQ_007_H1":"TV에 캐스팅할 수 있습니까?","WEBSITE_MAINPAGE_FAQ_007_P1":"네, Chromecast를 지원하며 데스크톱 및 모바일 앱(Android)에서 모두 캐스팅할 수 있습니다.","WEBSITE_MAINPAGE_FAQ_008_H1":"Stremio에는 몇 개의 애드온이 있습니까?","WEBSITE_MAINPAGE_FAQ_008_P1":"2019년 말 현재 50세 이상 - 자세한 내용은 Addon 카탈로그를 참조하십시오.","WEBSITE_MAINPAGE_FAQ_009_H1":"Stremio를 애드온 카탈로그보다 더 확장할 수 있습니까?","WEBSITE_MAINPAGE_FAQ_009_P1":"예, ${1}PimpMyStremio${2}, ${3}Reddit 커뮤니티${4}, ${5}Stremio Downloader${6} 등을 확인하십시오.","WEBSITE_MAINPAGE_FAQ_010_H1":"Stremio가 지원하는 디바이스는 무엇입니까?","WEBSITE_MAINPAGE_FAQ_010_P1":"Windows, Mac 및 Linux용 데스크톱 애플리케이션이 있습니다. 모바일의 경우 Android 및 iOS를 지원하지만 iOS는 기능이 제한되어 있습니다(대부분의 애드온을 지원하지 않음).","WEBSITE_MAINPAGE_FAQ_010_P2":"NVIDIA Shield나 Amazon Fire Stick 등 Stremio를 실행할 수 있는 Android 기반 디바이스는 많이 있지만 공식적으로 지원하지 않습니다.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Stremio에 특정 콘텐츠를 추가할 수 있습니까?","WEBSITE_MAINPAGE_FAQ_011_P1":"본사에서 제공하는 콘텐츠는 없습니다만, Stremio 애드온이 많을수록 더 많은 콘텐츠를 찾을 수 있습니다.","WEBSITE_MAINPAGE_FAQ_012_H1":"Stremio는 마그넷 링크를 재생할 수 있습니까?","WEBSITE_MAINPAGE_FAQ_012_P1":"네, 일반 HTTP 링크 및 토렌트 파일(드래그 앤 드롭)도 재생할 수 있습니다.","WEBSITE_MAINPAGE_FAQ_013_H1":"비디오를 다운로드하여 오프라인으로 시청할 수 있습니까?","WEBSITE_MAINPAGE_FAQ_013_P1":"오프라인에서 사용할 수 있는 기능이 곧 출시될 예정이지만 Stremio를 (설정 패널에서) 디바이스에 캐시하도록 허용하면 나중에 연결 없이 비디오를 볼 수 있습니다.","WEBSITE_MAINPAGE_FAQ_014_H1":"아무것도 작동하지 않습니다.도와주세요!","WEBSITE_MAINPAGE_FAQ_014_P1":"애드온을 설치하시겠습니까? 확인하신 경우 ${1}헬프센터${2}에 문의해 주십시오.","WEBSITE_MAINPAGE_FAQ_015_H1":"Stremio는 어떻게 개발 작업을 유지합니까?","WEBSITE_MAINPAGE_FAQ_015_P1":"간헐적으로 방해가 되지 않는 광고를 실행하지만 기부 모델로 전환하는 것을 고려하고 있습니다.","WEBSITE_MAINPAGE_FAQ_015_P2":"자세한 내용은 ${1}헬프센터 ${2}를 참조하십시오.","HELP_LEARN_MORE":"고객에 대해 자세히 알아보겠습니다.","LIFESTYLE":"라이프스타일","SPORTS":"스포츠","FOOD_HEALTH":"식품 & 건강","BEAUTY_FASHION":"뷰티 & 패션","NEWS":"뉴스","GAMING":"게이밍","SCIENCE_EDUCATION":"과학 & 교육","MUSIC":"음악","TRAVEL":"여행","LATE_NIGHT":"심야방송","REALITY":"리얼리티","COMEDY":"코미디","DIY":"DIY","TECH":"테크","CINEMA":"시네마","CONTINUE":"계속","SLOW_LOADING":"로딩이 느립니까?","I_GIVE_UP":"포기한다.","LEARN_MORE":"더 알아보기","POOR_SOURCE":"이 소스를 제대로 사용할 수 없거나 인터넷 연결이 충분히 빠르지 않습니다.","PICK_CATEGORIES_ERR":"최소 3개의 카테고리를 선택해야 합니다.","ADJUST_TIMING":" 타이밍 조정 ","ADJUST_SIZE":" 사이즈 조정 ","SEARCH_ANYTHING":"무엇이든 검색할 수 있습니다...","ALL_CATEGORIES":"전체","SEARCH_CATEGORIES":"영화, 시리즈, YouTube & TV","SEARCH_PERSONS":"배우, 감독 & 작가","SEARCH_PROTOCOLS":"HTTP & 마그넷 링크","SEARCH_TYPES":"IMDB / TVDB 링크","WATCHED":"시청완료.","SHOW_LESS":"감추기","LAST_SEARCHES":"마지막 검색","CLEAR_HISTORY":"이력 지우기","CHOOSE_SOME":"이 중 일부를 선택하세요.:","NO_WEB_REMOTE":"Web Remote를 로드할 수 없습니다.","STREMIO_OFFLINE":"Stremio는 오프라인","STREMIO_EXPENSIVE_CONNECTION":"모바일 데이터 연결을 사용하고 있습니다.계속하시겠습니까?","USE_DATA":"데이터 사용","WARNING":"경고","MORE_INFO":"상세정보...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"로딩중 ...","STREMIO_TV_BACK_TO_LANGUAGES":"언어로 돌아가기","STREMIO_TV_REMOTE":"리모트","STREMIO_TV_GO_TO":"이동:","STREMIO_TV_OR_SCAN":"또는 스캔:","STREMIO_TV_ADDON_INSTRUCTIONS":"필요한 애드온을 설치하려면 지시에 따르십시오.","STREMIO_TV_LIVE_TV":"라이브 TV","STREMIO_TV_RESUME_WATCHING":"시청 재개","STREMIO_TV_LOADING_BACKGROUND":"배경 로딩 중","STREMIO_TV_CHECKING_AUTHENTICATION":"인증 확인 중","STREMIO_TV_LOADING_BOARD":"로딩 게시판","STREMIO_TV_LOGIN_HEADER_LINE_1":"우리는 사용자가 우리 소프트웨어를 사용하여 가능한 한 최고의 개인화된 경험을 하기를 바랍니다.","STREMIO_TV_LOGIN_HEADER_LINE_2":"이를 위해 계정 가입 및 로그인을 부탁드립니다.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"이해해해 주셔서 감사합니다.","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Stremio 팀","STREMIO_TV_REMOTE_INSTRUCTIONS":"스마트폰/태블릿/데스크탑에서 웹 리모트를 사용하려면:","STREMIO_TV_WIFI_SETUP":"Wi-Fi 셋업","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle이 인터넷 연결을 검출하지 못했습니다.","STREMIO_TV_WIFI_DETAILS_1":"접속 위치:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"비밀번호 사용:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"링크를 사용하여 웹 브라우저를 엽니다.:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"기본값","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"최근 시청","STREMIO_TV_LIBRARY_SORT_NAME":"이름","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"시청 시간별","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"시즌 ${1}","STREMIO_TV_STREAMS_LOADING":"${1} / ${2} 애드온 로딩중...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} 애드론 계속 로딩중...","STREMIO_TV_PLAYER_SETTINGS":"플레이어 설정","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"자막 지연","STREMIO_TV_PLAYER_AUDIO_DELAY":"오디오 지연","STREMIO_TV_PLAYER_VIDEO_SCALING":"비디오 스케일링","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"지원되지 않는 스트림 소스","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"외부 링크 열기 실패","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Not adjustable in audio passthrough mode","STREMIO_TV_PLAYER_PLAY_IN_EXO":"ExoPlayer로 재생","STREMIO_TV_PLAYER_PLAY_IN_VLC":"libVLC player로 재생","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"재생 오류로 인하여 libVLC player로 전환 중","STREMIO_TV_ADDONS_TITLE":"전화기 또는 PC에서 Stremio를 사용하여 애드온을 설치 또는 설정하고 \\"애드온 동기화\\"를 누르십시오.","STREMIO_TV_ADDONS_SUBTITLE":"주의: 동일한 Stremio 계정을 사용하고 있는지 확인하십시오.","STREMIO_TV_ADDONS_SYNC_ADDONS":"애드온 동기화","STREMIO_TV_ADDONS_SYNC_SUCCESS":"애드온이 정상적으로 동기화되었습니다.","STREMIO_TV_ADDONS_SYNC_FAILED":"애드온 동기화에 실패했습니다.","STREMIO_TV_META_LINK_FAILED":"메타 링크를 열지 못했습니다.","STREMIO_TV_CATALOG_LOADING":"카탈로그가 아직 로딩 중...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"인터페이스 언어 갱신","STREMIO_TV_SETTINGS_THEME_UPDATED":"테마 갱신","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Default Player","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"External Player","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"선호 언어","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"2차 선호 언어","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"터널링 재생","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"일부 디바이스에서 재생 문제가 발생할 수 있습니다.","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"일부 비디오 형식이 작동하지 않을 수 있습니다.","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"캐싱 없음","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"기본값","STREMIO_TV_SETTINGS_PROFILE_SOFT":"저속","STREMIO_TV_SETTINGS_PROFILE_FAST":"고속","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"초고속","STREMIO_TV_SETTINGS_SERVER_URL":"스트리밍 서버 URL","STREMIO_TV_SETTINGS_SERVER_VERSION":"서버 버전","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"알 수 없음","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio 버전","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"서버 URL 수정","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"스트리밍 서버의 URL을 입력하십시오","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Show statistics while loading","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"Stremio의 개인정보보호 정책을 읽으려면 다음 사이트를 방문하십시오.:","STREMIO_TV_SETTINGS_TOS_TEXT":"Stremio 계약조건을 읽으려면 다음 사이트를 방문하십시오.:","STREMIO_TV_NAV_SEARCH":"검색","STREMIO_TV_NAV_HOME":"홈","STREMIO_TV_NAV_DISCOVER":"발견","STREMIO_TV_NAV_LIBRARY":"라이브러리","STREMIO_TV_NAV_MOVIES":"영화","STREMIO_TV_NAV_SERIES":"시리즈","STREMIO_TV_NAV_CHANNELS":"채널","STREMIO_TV_NAV_TV":"라이브 TV","STREMIO_TV_NAV_SETTINGS":"설정","STREMIO_TV_NAV_ADDONS":"애드온","STREMIO_TV_LOGIN_TITLE":"계정 링크","STREMIO_TV_LOGIN_EXPIRES_IN":"Expires in","STREMIO_TV_LOGIN_STEP_ONE":"위의 QR코드를 스캔하거나 다음으로 이동합니다.","STREMIO_TV_LOGIN_STEP_TWO":"Stremio 계정에 로그인합니다.","STREMIO_TV_LOGIN_NEW_LINK":"새로운 링크 요청","STREMIO_TV_LOGIN_LINK_REFRESHED":"로그인 코드 새로 고침","STREMIO_TV_SEARCH_PLACEHOLDER":"입력하세요.","STREMIO_TV_SEARCH_NO_ADDONS":"카탈로그 추가 요청 없음!","STREMIO_TV_SEARCH_BUTTON":"검색","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"공간","STREMIO_TV_SEARCH_KEY_CLEAR":"지우기","STREMIO_TV_SEARCH_HISTORY_TITLE":"이력 검색","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"타이틀, 배우, 채널 등을 검색할 수 있습니다.","STREMIO_TV_SEARCH_HISTORY_CLEAR":"검색 이력 지우기","STREMIO_TV_FILTERS_DESCRIPTION":"아래 필터 중 하나를 선택하십시오.","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"필터","SETTINGS":"설정","ACCOUNT":"계정","LOGOUT":"로그아웃","THEMES":"테마","PLAYBACK":"재생","PLAYBACK_SPEED":"재생속도","AUDIO_TRACKS":"오디오 트랙","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"영상","SERVER":"서버","LINKS":"링크","ABOUT":"소개","INTERFACE":"인터페이스","ANIMATIONS":"애니메이션","STATUS":"상태","LANGUAGE":"언어","SIZE":"크기","DELAY":"지연","BOLD":"굵기","OPACITY":"Opacity","TEXT_COLOR":"문자 색상","OUTLINE_COLOR":"외각선 색상","BACKGROUND_COLOR":"배경색","BACKGROUND_BLUR":"배경 흐리게","SEEK_TIME_DURATION":"탐색 시간 찾기","AUTO_PLAY":"다음 에피소드 자동 재생","PLAY_NOW":"지금 바로 재생","MARK_AS_WATCHED":"시청으로 표시","MARK_AS_UNWATCHED":"미시청으로 표시","REWIND_TO_BEGINNING":"처음으로 되감기","CONTINUE_WATCHING":"계속 시청","ALL":"전체","SECONDS":"초","ON":"ON","OFF":"OFF","RELOAD":"Reload","EDIT_URL":"URL 편집","NONE":"없음","EMBEDDED":"임베디드","REMOTE_SWITCH_DEVICES":"스위치 디바이스","REMOTE_VIDEOS":"영상","REMOTE_ADJUST_TIMING":"타이밍 조정","REMOTE_ADJUST_SIZE":"크기 조정","REMOTE_COULD_NOT_BE_LOADED":"Web Remote를 로드할 수 없습니다.","REMOTE_RETRY":"재시도","TORRENT_PROFILE_DEFAULT":"기본값","TORRENT_PROFILE_SOFT":"저속","TORRENT_PROFILE_FAST":"고속","TORRENT_PROFILE_ULTRA_FAST":"초고속","FAQ_001_H1":"Stremio란?","FAQ_001_P1":"Stremio는 사용하기 쉬운 비디오 엔터테인먼트용으로 설계된 미디어 센터 소프트웨어입니다. Stremio를 사용하면 자신만의 영화, 시리즈, 채널 및 라이브 TV 컬렉션을 구성하고 시청할 수 있습니다.","FAQ_001_P2":"Stremio는 로컬 디스크와 당사의 애드온 시스템에서 표시되는 콘텐츠를 수집합니다.","FAQ_001_P3":"관심 있는 새로운 에피소드, 동영상, 영화가 나오면 알려주고 추천 영화도 알려준다.","FAQ_02_H1":"Stremio는 Kodi나 플렉스와 비교했을 때 어떻습니까?","FAQ_02_P1":"저희는 그 2개의 소프트웨어로부터 영감을 얻고 있습니다. 그러나 우리는 다른 목표를 가지고 있습니다.Stremio는 특히 엔터테인먼트 비디오를 타깃으로 하고 있으며, 매우 사용하기 쉽기 때문에 이를 위한 주류 솔루션이 되기 위해 노력하고 있습니다.","FAQ_02_P2":"Stremio는 Kodi 및 Plex만큼 커스터마이즈 및 기능이 풍부하지는 않지만, 훨씬 사용하기 쉽습니다. ${1}만 구입하시면 ${2}를 확인하실 수 있습니다. :)","FAQ_03_H1":"Stremio와 Netflix를 비교했을 때 어떻습니까?","FAQ_03_P1":"마찬가지로 넷플릭스도 우리의 영감 중 하나입니다. Netflix의 유저 익스피리언스를 실현하기 위해 노력하고 있습니다.또, 많은 부가 기능을 갖추고 있습니다. 그러나 가장 중요한 것은 애드온 시스템을 사용하여 라이브러리를 자유롭게 관리하고 새로운 콘텐츠 소스를 추가할 수 있다는 점입니다.","FAQ_03_P2":"Stremio를 무한히 확장할 수 있으므로 Stremio를 사용할 때 Netflix가 라이선스하기로 결정한 콘텐츠에 제한되지 않습니다. 예를 들어 Stremio를 통해 ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} 및 ${9}Netflix${10} 자체에서 콘텐츠를 시청할 수 있습니다!","FAQ_04_H1":"Stremio와 Flipboard를 비교했을 때 어떻습니까?","FAQ_04_P1":"우리는 새로운 사람들과 이야기할 때를 제외하고는 그런 질문을 자주 받지 않습니다. :)","FAQ_04_P2":"Stremio는 기본적으로 비디오용 Flipboard가 되는 콘텐츠 애그리게이터입니다. 이는 Flipboard와 마찬가지로 카탈로그와 새로운 에피소드/새로운 비디오 알림을 제공하는 게시판 섹션에서 매우 잘 드러납니다.","FAQ_05_H1":"Stremio와 Popcorn Time은 어떻게 비교됩니까?","FAQ_05_P1":"Stremio와 Popcon Time은 비디오 엔터테인먼트 카탈로그를 올바르게 만드는 방법이 많지 않기 때문에 사용자 인터페이스에서 유사합니다. :)","FAQ_05_P2":"단, Popcon Time은 특정 소스로부터의 스트리밍 토렌트에 초점을 맞추고 있지만 Stremio는 제한되지 않고 콘텐츠 애그리게이터일 뿐 특정 콘텐츠 소스에 얽매이지 않습니다.","FAQ_05_P3":"또한 기본적으로는 Torrent Addon은 제공되지 않으므로 Stremio는 Popcorn Time의 사용 사례를 공식 기능으로 다루지 않습니다.","FAQ_05_P4":"또 다른 중요한 차이점은 Popcorn Time은 완전히 오픈 소스인데 반해 Stremio는 부분적으로 오픈 소스 ${1}입니다.","FAQ_06_H1":"영화/시리즈를 추가하시겠습니까?","FAQ_06_P1":"아니요, 죄송합니다 :( ","FAQ_06_P2":"다른 대부분의 질문에서 언급했듯이 Stremio는 콘텐츠 자체를 제공하지 않습니다.모든 것은 애드온 시스템을 통해 추가됩니다. 콘텐츠 요청이 있는 경우 플레이어의 “리포트” 버튼을 사용하면 현재 사용 중인 애드온의 작성자에게 이메일을 보낼 수 있습니다.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"X용 애드온을 작성하시겠습니까?","FAQ_08_P1":"완전히 가능합니다.","FAQ_08_P2":"애드온에 대한 아이디어가 있으시면 ${1}office@stremio.com${2}로 적어주세요.단, 귀하의 애드온 아이디어가 저작권이나 이용약관을 침해하지 않도록 해 주세요.","FAQ_08_P3":"현재로서는 FandangoNOW, Filmon.tv 비디오 온 디맨드, Crunchyroll의 애드온입니다.","FAQ_09_H1":"Stremio는 BitTorrent를 사용합니까?","FAQ_09_P1":"네, Stremio는 스트리밍 프로토콜로 BitTorrent를 지원합니다. Torrent Addon을 사용하거나 Stremio에 .torrent 파일을 드래그 앤 드롭하거나 검색 바에 자석 링크를 붙여 사용할 수 있습니다.","FAQ_09_P2":"BitTorrent를 사용하는 공식 애드온은 ${1}Vodo${2}뿐이며, 모두 BitTorrent와 함께 배포할 수 있습니다.","FAQ_09_P3":"저작권 침해를 일으킬 수 있는 서드파티 애드온의 사용은 지원하지 않습니다.","FAQ_10_H1":"Stremio에서 공식 애드온과 함께 볼 수 있는 것은?","FAQ_10_P1":"기본적으로는 Stremio 자체 내에서 내장 플레이어를 사용하여 Filmon.tv, YouTube 및 Vodo 콘텐츠를 시청할 수 있습니다. 또, Twitch.tv 및 그 외의 몇개의 애드온도 준비되어 있습니다.","FAQ_10_P2":"이 조합은 다음을 제공합니다.:","FAQ_10_L1":"Filmon.tv에서 제공하는 인기 TV 채널 - E4, BBC, Bollyworld TV 등","FAQ_10_L2":"YouTube의 모든 것 - 예를 들어 BBC 뉴스, 탑 기어, Vevo, Pew DiePie","FAQ_10_L3":"Vodo와 함께 하는 독립 영화","FAQ_10_L4":"Twitch.tv에서 온라인 게임 방송","FAQ_10_P3":"Guidebox나 Netflix 애드온에는 많은 컨텐츠 소스가 준비되어 있습니다. 이러한 소스는 Stremio 내에서 재생되는 것은 아니지만, 지정된 서비스로 리다이렉트 됩니다. 예를 들어, Guidebox 애드온은 TubiTV나 Crackle과 같은 서비스에서 무료로 스트리밍할 수 있는 영화를 제공합니다.","FAQ_11_H1":"Stremio가 설치되지 않습니다. 어떻게 해야 합니까?","FAQ_11_P1":"Windows를 사용하는 경우 ${1}설치 프로그램${2}을(를) 사용해 보십시오.","FAQ_11_P2":"Mac OS X를 사용하는 경우 OS X Mavericks(10.9)보다 오래된 버전은 지원하지 않습니다.","FAQ_11_P3":"Linux를 사용하시는 경우 현재 64비트(x64) Linux만 지원합니다.","FAQ_11_P4":"계속 문제를 해결할 수 없는 경우 ${1}Facebook group${2}로 문의해 주십시오.","FAQ_12_H1":"백신프로그램이 바리러스 보고를 하는 이유는 무엇입니까? Stremio는 안전한가요?","FAQ_12_P1":"Stremio는 ${1}100% clean${2}임을 보증합니다.","FAQ_12_P2":"인스톨러에 애드웨어가 포함되어 있기 때문에 백신프로그램이 애드웨어로 인식되고 있습니다.","FAQ_12_P3":"아직 확실하지 않은 경우 ${1}대체 설치${2}을(를) 사용해 보십시오.","FAQ_13_H1":"애드온 제작 방법?","FAQ_13_P1":"먼저 GitHub에서 ${1}addons system module${2}를 체크할 것을 권장합니다.","FAQ_13_P2":"이후 ${1}Hello World tutorial${2}를 따르십시오.","FAQ_13_P3":"프로그래밍 스킬이 없는 경우 ${1}Reddit 커뮤니티${2}에 아이디어를 게시하고 ${3}office@stremio.com${4}에 애드온 아이디어를 문의해 주십시오.","FAQ_14_H1":"애드온은 어떻게 공개됩니까?","FAQ_14_P1":"애드온과 호스트를 만들고 매니페스트에 <b>endpoint</b>필드를 삽입하면 동작 중인 애드온 주소를 가리키면 애드온은 자동으로 ${1}애드온 카탈로그${2}에 퍼블리시됩니다.","FAQ_14_P2":"이는 stremio-addons 모듈의 서버 부분이 자동으로 API에 호출하여 애드온을 방송하기 때문입니다. API가 <b>endpoint</b>를 유효한 애드온으로 검증하면 카탈로그에 표시됩니다.","FAQ_15_H1":"브라우저에서 Stremio를 실행할 수 있습니까?","FAQ_15_P1":"현재로서는 안 되지만 곧 나올겁니다!","FAQ_15_P2":"알파가 궁금하신 경우 ${1}alpha4.strem.io${2}.을 참조하십시오. 이 알파에서는 스트리밍이 비활성화되어 있습니다. Chrome, Firefox, Opera 및 Edge를 지원합니다.","FAQ_16_H1":"TV로 전송이 작동하지 않습니다./자막이 작동하지 않습니다.","FAQ_16_P1":"TV로의 캐스팅은 다른 TV 브랜드와 모델 간에 매우 일관성이 없는 DLNA 기술을 사용합니다. 그렇기 때문에 모든 경우에 테스트할 수 있는 것은 아니기 때문에 완벽과는 거리가 멀다. 그럼에도 불구하고 지속적으로 개선 작업을 진행 중이지만 DLNA가 언제 TV에서 정상적으로 작동할지 예상할 수 없습니다.","FAQ_16_P2":"캐스팅 메뉴에 TV가 표시되지 않는 경우 네트워크 연결을 비활성화했다가 다시 활성화하십시오(Windows에서는 네트워크를 오른쪽 클릭하여 활성화/비활성화를 사용함). 라우터, TV 및 PC를 재시작하십시오","FAQ_16_P3":"아직 문제가 해결되지 않은 경우 TV 브랜드 및 모델 정보를 ${1}office@stremio.com${2}로 보내주십시오.","FAQ_16_P4":"그동안은 Chromecast를 매우 잘 지원하거나 단순히 HDMI 케이블로 TV를 PC에 연결하는 것을 권장합니다.","FAQ_17_H1":"Stremio freeze 및/또는 크래시, 어떻게 해야 하나요?","FAQ_17_P1":"우선, AVG 안티바이러스를 탑재한 Windows 7 을 사용하고 있는 경우는, 그 조합에 문제가 있습니다. 이 문제는 AVG 자체에 있으며, 우리 측에서는 해결할 수 있는 합리적인 방법이 없습니다. 유감스럽게도 예외나 안티바이러스를 비활성화하지 않습니다. 유일한 해결책은 AVG를 다른 것으로 교체하는 것입니다.","FAQ_17_P2":"그것이 문제가 아니지만 Windows를 사용하고 있다면 최신 서비스 팩으로 업데이트하여 GPU 드라이버를 업데이트/재설치한 후 다시 시도하십시오.","FAQ_17_P3":"문제가 해결되지 않았거나 Mac 또는 Linux를 사용 중인 경우, 문제의 정확한 세부사항을 ${1}Facebook group${2}로 보고해 주십시오.","FAQ_18_H1":"애드온은 어떻게 만들수 있나요?","FAQ_18_P1":"먼저 GitHub에서 ${1}addons system module${2}를 체크할 것을 권장합니다.","FAQ_18_P2":"이후 ${1}Hello World tutorial${2}를 따르십시오.","FAQ_18_P3":"프로그래밍 스킬이 없는 경우 ${1}Reddit 커뮤니티${2}에 아이디어를 게시하고 ${3}office@stremio.com${4}에 애드온 아이디어를 문의해 주십시오.","FAQ_19_H1":"Stremio가 디스크 공간을 사용하는 이유는 무엇입니까?","FAQ_19_P1":"Stremio에는 스트리밍하는 비디오 파일을 일시적으로 유지하는 <b>로컬캐시</b>가 있습니다.","FAQ_19_P2":"이것에는 두 가지 이점이 있습니다.첫째, Stremio는 비디오를 프리 버퍼링하여 스트리밍을 원활하게 할 수 있습니다. 둘째, 비디오를 로컬캐시에 보관하기 때문에 오프라인에서 계속 시청할 수 있습니다.","FAQ_19_P3":"Stremio의 유지량은 설정 패널의 <b>캐시</b> 설정에 따라 달라집니다. Stremio는 현재 스트리밍되고 있는 비디오의 용량이 이보다 클 경우 스트리밍할 때까지 충분한 스토리지를 할당해야 하는 경우를 제외하고 디스크에 설정된 용량(2GB 등)까지 유지할 수 있습니다.","FAQ_20_H1":"캐시 폴더는 어디에 있습니까?","FAQ_20_P1":"Windows에서는 설정에서 선택한 드라이브의 stremio 캐시 (예. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"MacOS에서는 \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"Linux에서는 \\"~/.stremio/stremio-cache\\" 또는 \\"~/stremio-cache\\"","FAQ_21_H1":"\\"Streaming server is not found\\" 오류가 표시되는데 어떻게 해야 합니까?","FAQ_21_P1":"이 오류가 발생하면 다음 중 하나를 의미합니다: ","FAQ_21_P2":"1) ${1}web version${2}에서 YouTube/BitTorrent 소스로 지원되는 애드온을 사용하려고 합니다. 이 경우 ${3} 당사 웹 사이트 ${4}에서 데스크톱 버전을 설치해야 합니다.","FAQ_21_P3":"2) Stremio 설치에 문제가 있습니다. 이 경우 웹 사이트 ${2}에서 최신 데스크톱 버전을 다시 설치하십시오. 그래도 문제가 해결되지 않으면 안티바이러스 프로그램 및 방화벽을 비활성화하고 PC를 재시작한 후 다시 시도하십시오. 이 방법으로도 문제가 해결되지 않을 경우 ${3} 당사 Facebook group${4}로 문의해 주십시오","FAQ_22_H1":"iOS에서 대부분의 애드온을 표시/사용할 수 없습니다.","FAQ_22_P1":"Apple App Store 약관의 제약으로 인해 iOS 어플리케이션은 특정 애드온 세트로만 제한되었습니다.","FAQ_22_P2":"하지만 안심하세요.향후 iOS용 애드온이 더 늘어날 것입니다.또한 iOS 앱을 Stremio Streaming Server에 연결함으로써 모든 Stremio 애드온을 사용할 수 있는 통합을 추가할 수도 있습니다."}')},49163:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Филм","TYPE_series":"Серија","TYPE_tv":"TV канал","TYPE_channel":"YouTube канал","TYPE_other":"Останато","TYPE_movie_PL":"Филмови","TYPE_series_PL":"Серии","TYPE_tv_PL":"TV канали","TYPE_channel_PL":"YouTube канали","TYPE_other_PL":"Останато","TYPE_ALL":"Сите","TYPE":"Врста","CATALOG_com_linvo_cinemeta_top":"Популарни","CATALOG_com_linvo_cinemeta_imdbRating":"Избрани","CATALOG_com_linvo_cinemeta_year":"Нови","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Филмови од јавен домен","VIDEO":"Видео","BACK":"Назад","MORE":"Повеќе","DONE":"Готово","COPY":"Копирај","SUCCESS":"Успешно","ERROR":"Грешка","SETTINGS_CASTING_MODE_PICKER":"Режим на емитување","CASTING_MODE_HLSV2":"Стандардно","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Нема транскодирање","Discover":"Откријте","Board":"Табла","Library":"Kолекција","My Library":"Мојата колекција","Calendar":"Календар","NOTIFICATION_ONLINE":"Сега сте онлајн","NOTIFICATION_OFFLINE":"Моментално сте офлајн","INTERNET_CONNECTION":"Мрежна конекција","STORAGE_FULL_TITLE":"Предупредување: Складирањето е полно!","STORAGE_FULL_TEXT":"Stremio нема да може да ги зачува вашите поставки, префернции или информации за најавување. Размислете за рестартирање или повторно инсталирање на Stremio.","SEARCH":"бараj","SEARCH_NO_RESULTS":"Не беа пронајдени резултати","SEARCH_EXPLANATION_CONTENT":"Пребарајте филмови, серии, YouTube и ТВ канали","SEARCH_EXPLANATION_PEOPLE":"Барајте актери, режисери и писатели","SEARCH_PASTE_LINKS":"Залепете HTTP и Magnet врски","SEARCH_OR_PASTE_LINK":"Пребарајте или залепете врска","SEARCH_SUGGESTIONS":"Пребарајте предлози","ADD_TO_LIB":"Додај во колекција","REMOVE_FROM_LIB":"Отстрани од колекција","ADDED_TO_LIB":"Додадено во колекција","REMOVED_FROM_LIB":"Отстрането од колекцијата","TRAILER":"Треjлер","WATCH_TRAILER":"Треjлер","WATCH_NOW":"Гледај","SHOW":"Покажи","SHOW_MOVIE":"Прикажи филм","WATCH_RANDOM":"Гледај по случаен избор","IMDB_RATING":"IMDb рејтинг","YEAR":"Година","DIRECTOR":"Режија","WRITER":"Автор","LEAD_ACTORS":"Во Главните улоги","CAST":"Глумат/Емитувај","CREW":"Екипа","SHOW_MORE_CAST":"Прикажи повеќе »","AIRED":"емитувано","SEASONS":"Сезони","GENRE":"Жанр","GENRE_ALL":"Сите жанрови","CATALOG":"Каталог","SUMMARY":"Опис","SHOW_MORE":"Прикажи повеќе","SIMILAR":"Слични","UPCOMING":"Наскоро","ENDED":"Прекинат","DURATION":"Времетраење","FEATURED":"Избрана","METADATA":"Метадата","CATEGORY":"категорија","LINKS_GENRES":"Жанрови","LINKS_CAST":"Улоги","LINKS_DIRECTORS":"Режисерите","SEARCH_VIDEOS":"пребарување видеа","SEARCH_PLACEHOLDER":"пребарување или залепете магнетна врска","ADDON":"додаток","ADDONS":"Додатоци","OFFICIAL":"официјални","ADDONS_OFFICIAL":"Официјални додатоци","ADDONS_POPULAR":"Популарни во регионот","ADDON_FREE":"бесплатно","ADDON_PEERED":"peered","ADDON_SUBSCRIPTION":"subscription","ADDON_STREAM_GEORESTRICTED":"не е достапно во вашата област","ADDON_STREAM_OFFLINECACHE":"Офлајн кеш","ADDON_STREAM_LOCALFILE":"Локална датотека","SHARE_ADDON":"Споделете додаток","AVAILABLE_STREAMS":"Достапни извори","NO_STREAM":"Нема достапни извори","ALL_ADDONS":"Сите","INSTALL_MORE_ADDONS":"За повеќе преноси, инсталирајте повеќе додатоци","STREAM_NOT_SUPPORTED":"Избраниот пренос не е поддржан на оваа платформа.","ADDON_CATALOGUE":"Прикажи ги сите додатоци »","ADDON_CATALOGUE_MORE":"Повеќе додатоци »","REPO_ADDED":"Додадено е складиште","ADDON_REPO_EXIST_ERR":"Ова складиште за додатоци веќе постои","ADDON_REPO_ERR":"Се појави грешка при додавањето складиште","ADDON_ADD_ERR":"Настана грешка при додавањето додаток","ERR_ADDON_PROTECTED":"Заштитен додаток","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Нешто тргна наопаку - автентикацијата можеби не успеа","ERR_NOT_COLLECTION_URL":"Не е URL-адреса за колекција","ERR_NOT_ADDON_URL":"Не е URL-адреса за додаток","ERR_DETECTFROMURL":"Не може да се открие од URL-то","ADDON_DUPLICATE_WARNING":"Предупредување: дупликат додаток","ADDON_COLLECTION_SET_FAILED":"Сетот за собирање додатоци не успеа","SETTINGS_DATA_EXPORT":"Извезете податоци","ADDON_PULL_FAILED":"Повлекувањето на додатокот не успеа","REFRESH_ON_CLICK":"Кликнете за да се обидете повторно","STILL_IN_THEATER":"Филмот е сеуште во кината","WATCH_IN_CINEMA":"Гледајте го во вашето локално кино","IN_THEATER":"Во кино","GET_TICKETS":"Земете билети","UPCOMING_EPISODE":"Претстојна епизода","UPCOMING_EPISODE_MESSAGE":"Оваа епизода ќе се емитува на","MISSING_DATE_EPISODE":"Недостасува датумот на епизодата","MISSING_DATE_EPISODE_MESSAGE":"Оваа епизода можеби сè уште не е емитувана","CHANNEL_NOT_SCRAPED":"Сеуште немаме информации за овој канал. <br > Вратете се по неколку минути.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Додадете го во колекцијата за да примите известување.","GET_NOTIFIED_WHEN_AVAILABLE":"Ќе примите известување кога ќе излезе.","WARNING_STREAMING_SERVER":"Предупредување: локалниот сервер за стриминг не е пронајден. Преносот од YouTube и BitTorrent нема да биде достапен.","WARNING_STREAMING_SERVER_DISMISS":"Отфрли","WARNING_STREAMING_SERVER_LATER":"Подоцна","DECODER_WARNING":"Предупредување: ова видео можеби не е поддржано од вашиот хардвер. Имајте на ум, репродукцијата може да биде бавна.","GENERIC_ERROR_MESSAGE":"Нешто тргна наопаку!","TRY_AGAIN":"Обиди се повторно","CLEAR_DATA":"Исчисти податоци","PLAYER_ERROR":"Упс, Грешка на плеерот","PLAYER_ERROR_LOOKSLIKE":"Изгледа како","PLAYER_ORIENTATION":"Ориентација на плеерот","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Заклучен","PLAYER_ORIENTATION_SENSOR_SHORT":"Сензор","PLAYER_ORIENTATION_LANDSCAPE":"Ориентацијата на плеерот е заклучена на пејзаж","PLAYER_ORIENTATION_SENSOR":"Автоматска ориентација на плеерот (сензор)","PLAYER_PLAYBACK_SPEED":"Брзина на репродукција","PLAYER_PLAYBACK_ERROR":"Грешка при репродукција, обидете се повторно","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Непозната грешка","PLAYER_PLAYBACK_ERROR_DEFAULT":"За жал, ова видео не може да се репродуцира од {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Јазици на преводи","PLAYER_SUBTITLES_VARIANTS":"Варијанти на преводи","PLAYER_SUBTITLES_SETTINGS":"Поставки за преводи","PLAYER_SUBTITLES_DISABLED":"Преводите се оневозможени","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Вертикална положба","PLAYER_SUBTITLES_LOADED":"Subtitles loaded","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Вградените преводи се вчитани","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Вчитани се ексклузивни преводи","PLAYER_SUBTITLES_LOADED_ORIGIN":"Преводите од {{origin}} се вчитани","PLAYER_PLAY":"Пушти","PLAYER_PAUSE":"Пауза","PLAYER_NEXT_VIDEO":"Следно видео","PLAYER_MUTE":"Исклучи звук","PLAYER_UNMUTE":"Вклучи звук","PLAYER_OPEN_IN_EXTERNAL":"Отворете во надворешен плеер","PLAYER_OPEN_IN_NPLAYER":"Отворете во nPlayer","PLAYER_PLAY_IN":"Пушти во {{device}}","PLAYER_LIVE":"Во живо","PLAYER_NEXT_VIDEO_TITLE":"Доаѓа следно на","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Следно на","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Отфрли","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Гледајте сега","PLAYER_COPY_STREAM_SUCCESS":"Вашата врска за стримот е копирана","PLAYER_COPY_STREAM_ERROR":"Не успеа да се копира врската за стримот","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Врската за преземање е копирана на вашата таблата со исечоци","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Не успеа да се копира врската за преземање","STREAMING_FROM":"Стриминг од","CASTING_TO":"Репродукција на","NETWORK_STATUS":"Мрежа","STREAM_SPEED":"Брзина:","STREAM_BUFFERED":"Буфер:","PEERS_INFO":"Корисници","PEERS_ACTIVE":"Активни:","PEERS_CONNECTED":"Поврзани:","PEERS_WAITING":"Чекаат:","TRANSCODING_WARNING":"Предупредување: транскодирање на видеото.","STREAM_LOADING":"Се вчитува...","PLAYING_LOCAL":"репродукција од локална датотека","PLAYING_CACHE":"репродукција од кеш","WRONG_SUBS":"Грешни преводи?","ERR_SUBS_LOADING_TITLE":"Грешка при вчитување на преводи","ERR_SUBS_LOADING":"Неуспешно вчитување преводи: ова може да биде проблем со додатокот што го користите или со вашата мрежна врска","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Следниве додатоци за превод не се вчитаа","ERR_CASTING_UPDATE_TITLE":"Не може да се ажурираат информациите за уредот за емитување: серверот за пренос може да е офлајн","CHOOSE_DEVICE":"Изберете уред за гледање","NO_CAST_DEVICES":"Нема достапни уреди за емитување.","NO_SETTINGS":"Нема достапни поставки.","PHONE_TABLET":"Телефон / таблет","SUBTITLES":"Преводи","SUBTITLES_CHANGE":"Смени превод на","SUBTITLES_CHANGE_NONE":"Нема други преводи за тој јазик.","SUBTITLES_CHANGE_ACIVE":"Во моментов преводи &#35;{{subtitlesDialog.activeIdx + 1}} се активирани. Кликнете \\"Продолжи\\" за да ги активирате преводите &#35;{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Алтернативно,","SUBTITLES_ADJUST_DELAY":"Приспособете го доцнењето на титловите:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Или користете ги копчињата <span>G</span> / <span>H</span> додека репродуцирате за да се приспособите.","SUBTITLES_ADJUST_DELAY_TIP":"СОВЕТ: можете да ги користите копчињата <span>G</span> / <span>H</span> додека репродуцирате за прилагодување.","SUBTITLES_DELAY":"Одложување на преводи:","SUBTITLES_LOADING":"Се вчитуваат преводи...","SUBTITLES_UNAVAILABLE":"Нема достапни надворешни преводи","SUBTITLES_DISABLED":"Оневозможено","EXTERNAL_PLAYER_DISABLED":"Оневозможено","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Дозволи избор","EXTERNAL_PLAYER_HINT":"Совет: Има поставка што дозволува секогаш отворање со надворешен плеер","DONT_SHOW_AGAIN":"Не прикажувај повторно","SERVICE_INSTALL":"Инсталирајте","AUDIO":"Аудио","DEFAULT_LANGUAGE":"Стандарден јазик","DEFAULT_SECONDARY_LANGUAGE":"Стандарден секундарен јазик","SEASON":"Сезона","EPISODE":"Епизода","EPISODE_ABBREVIATION":"ЕП","SPECIAL":"Специјални","SORT":"подреди","SORT_BY":"Сортирај по","FILTER":"филтер","SORT_TRENDING":"популарни","SORT_RECENT":"последни","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"рејтинг","SORT_WATCHED":"видени","SORT_YEAR":"година","SELECT_TYPE":"Изберете тип","SELECT_SORT":"Изберете подредување","SELECT_CATALOG":"Изберете каталог","SELECT_GENRE":"Изберете жанр","SORT_LASTWATCHED":"По последно гледано","SORT_NAME":"По име","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"По гледани пати","SORT_NOTWATCHED":"не гледано","New for You":"Ново за вас","New Episodes":"Нови епизоди","New Videos":"Нови видеа","Recommendations":"Препораки","LIBRARY_RESUME":"продолжи","LIBRARY_PLAY":"Пушти","LIBRARY_DETAILS":"Детали","LIBRARY_RESUME_DISMISS":"отфрли","LIBRARY_CLEAR_PROGRESS":"Исчисти напредок","LIBRARY_REMOVE":"Отстрани","LIBRARY_NOT_LOGGED_IN":"Колекцијата е достапна само за најавените корисници","CALENDAR_NOT_LOGGED_IN":"Календарот е достапен само за најавените корисници","NOT_LOGGED_IN_CLOUD":"Пристапете до вашите омилени филмови и ТВ серии во секое време и каде било","NOT_LOGGED_IN_RECOMMENDATIONS":"Препораки прилагодени на вашата историја на гледање","NOT_LOGGED_IN_NOTIFICATIONS":"Никогаш повеќе не пропуштајте епизода","NOT_LOGGED_IN_CALENDAR":"Закажете го вашиот личен календар за гледање","DISCOVER_FEATURED":"Избрани","DISCOVER_TOP":"Топ","DISCOVER_OSCAR":"Добитници на Оскар","DISCOVER_WARNING_TITLE":"Упс!","DISCOVER_EMPTY_CATALOG":"Овој додаток врати празна содржина.","DISCOVER_ADULT_WARNING":"Содржината е видлива само за возрасни. Дали си 18+?","DISCOVER_NOADDON_WARNING":"Внимание: нема активен Stremio addon за овој тип содржина. Овде гледате зачувана информациjа, таа нема да се обновува.","DISCOVER_LOAD_ERR":"Содржината не се вчита, се појави грешка.","DISCOVER_ADDON_UNINSTALLED":"Оваа содржина повеќе не е достапна, можеби сте го деинсталирале додатокот.","UNINSTALL_THIS_ADDON":"Деинсталирајте го овој додаток","ERR_ADDON_NOT_INSTALLED":"Овој додаток не е инсталиран. Инсталирате сега?","DETAIL_RECEIVE_NOTIF_SERIES":"Добивајте известувања за нови епизоди","DETAIL_RECEIVE_NOTIF_VIDEOS":"Добивајте известувања за нови видеа","SIDEBAR_SHOW_STREAMS":"Прикажи стримови","RELAUNCH":"Лансирај ја новата верзија!","UPGRADE":"Достапна е нова верзија","RELOAD_UI":"Повторно вчитајте го корисничкиот интерфејс","MANUAL_UPDATE_TITLE":"Ажурирајте ја вашата верзија на Stremio","MANUAL_UPDATE_LINE1":"Користите застарена верзија на Stremio која е крајно непрепорачлива.","MANUAL_UPDATE_LINE2":"Ве молиме ажурирајте што е можно поскоро.","BUTTON_UPDATE_LATTER":"Не сега","BUTTON_UPDATE_NOW":"Ажурирање","ANONYMOUS_USER":"Анонимен корисник","DONT_HAVE_ACC":"Немате сметка?","HAVE_ACC":"Веќе имате профил?","PASSWORD":"Лозинка","PASSWORD_CONFIRM":"Потврди ја лозинката","EMAIL":"Е-пошта","FB_LOGIN":"Најави се со Фејсбук","FB_NOTHINGSHARED":"Ништо не се споделува без ваша дозвола","FB_NOPOST":"Нема да објавиме ништо во ваше име","OR":"или","I_ACCEPT":"Ги прочитав и ги прифаќам","I_ACCEPT_BY_CLICKING":"Со кликнување на горното копче сведочам дека го прифаќам ","TOS":"Општите услови","MUST_ACCEPT_TERMS":"Мора да ги прифатите условите","PASSWORDS_NOMATCH":"Лозинките не се совпаѓаат","SIGN_UP":"Регистрирај се","SIGN_UP_EMAIL":"Пријавете се со е-пошта","CLICK_TO_SIGN_UP":"Кликнете овде за да се регистрирате.","LOG_IN":"Влез","LOG_OUT":"Излез","EXIT_FULLSCREEN":"Излезете од режимот на цел екран","ENTER_FULLSCREEN":"Влезете во режим на цел екран","PLAY_URL_MAGNET_LINK":"Пушти со URL/магнет врска","HELP_FEEDBACK":"Помош и повратни информации","TERMS_OF_SERVICE":"Условите за користење","PRIVACY_POLICY":"Политика за приватност","ABOUT_STREMIO":"За Stremio","USER_PANEL":"Кориснички панел","LOGIN_LABEL":"Логирај се","GUEST_LOGIN":"Најава за гости","GUEST_LOGIN_NOTICE":"Не се препорачува најавување како гостин. Користењето на нормално најавување му овозможува на Stremio да ја синхронизира вашата колекција, да прима известувања за омилените серии/канали. Дали сте сигурни дека сакате да продолжите?","GUEST_LOGIN_NOTICE_2":"Најавата за гостин не се препорачува - нема да имате синхронизирани известувања за колекција и табла, кои се витални функции на Stremio. Дали сте сигурни дека сакате да продолжите?","CLICK_HERE":"кликнете овде","WRONG_PASSWORD":"Погрешна е-пошта или лозинка. Во случај да сте ја заборавиле лозинката,","SET_A_PASS":"ставете ваша лозинка","RESET_PASSWORD":"Ресетирање на лозинка","FORGOT_PASSWORD":"Ја заборави лозинката?","EMAIL_USED_WITH_FB":"Оваа е-маил адреса е употребувана во Фејсбук најава.","INVALID_EMAIL":"Ве молиме внесете валидна е-маил адреса","INVALID_PASSWORD":"Ве молиме внесете валидна лозинка","CONN_ERR":"Грешка во врската - обидете се повторно подоцна.\\n\\nАко ова продолжи, оневозможете firewalls/антивирусен софтвер (особено Bitdefender).","IMPORT_FROM_GUEST":"Увезете колекција од вашата гостинска сметка","RECEIVE_UPDATES_EMAIL":"Добивајте ажурирања на вашата е-пошта од Stremio","LOGIN_FAILED":"Најавата не успеа.","SIGNUP_FAILED":"Регистрацијата не успеа.","SEARCH_FAILED":"Пребарувањето не успеа","EMAIL_USED":"Оваа е-маил адреса веќе се користи.","WAITING_FB_LOGIN":"Најавување со Фејсбук...","EXTERNAL_PLAYER_TITLE":"Играјте во надворешен плеер","EXTERNAL_REMEMBER_PLAYER":"Дали сакате да го запомниме вашиот избор","EXTERNAL_ALWAYS_PLAY":"Да","EXTERNAL_ONLY_ONCE":"Не","BEST_FIT":"Најдобро одговара","FIT_SCREEN":"Одговара на екранот","FILL":"Пополнете","16:9":"16:9","4:3":"4:3","Original":"Оригинален","INTRO_TASTE":"Кажете ни што ви се допаѓа","INTRO_TASTE_LONG":"Кажете ни што би сакале да гледате","INTRO_TASTE_PICK":"Изберете {{interestsRemaining}} интереси","INTRO_TASTE_PICK_MORE":"Изберете {{interestsRemaining}} повеќе интереси","INTRO_TASTE_HELP_US":"Помогнете ни да дознаеме повеќе за вас.","INTRO_TASTE_CHOOSE_THESE":"Изберете некои од овие:","INTRO_TASTE_CHOOSE_MIN":"Изберете најмалку 3 категории","INTRO_TASTE_CHOOSE_MIN_ERR":"Треба да изберете најмалку 3 категории!","INTRO_TASTE_LIFESTYLE":"Начин на живот","INTRO_TASTE_SPORTS":"Спорт","INTRO_TASTE_FOOD_HEALTH":"Храна и здравје","INTRO_TASTE_BEAUTY_FASHION":"Убавина и мода","INTRO_TASTE_NEWS":"Вести","INTRO_TASTE_GAMING":"Гејминг","INTRO_TASTE_SCIENCE_EDU":"Наука и образование","INTRO_TASTE_MUSIC":"Музика","INTRO_TASTE_TRAVEL":"Патувања","INTRO_TASTE_LATE_NIGHT":"Доцна ноќна емисија","INTRO_TASTE_REALITY":"Реалност","INTRO_TASTE_COMEDY":"Комедија","INTRO_TASTE_DIY":"Како да направите сам","INTRO_TASTE_TECH":"Технологија","INTRO_TASTE_CINEMA":"Кино","ADDON_NOT_SUPPORTED":"Избраниот додаток не е поддржан на оваа платформа.","ADDON_DISCLAIMER":"Употребата на додатоци од трети лица е на ваша одговорност.","ADDON_ACTIVATE":"Активирај овој додаток?","ADDON_REPO_ADD":"URL-адреса од додатоците","ADDON_ADD":"Додадете","INSTALL_ADDON":"Инсталирајте додаток","ADD_ADDON":"Додадете додаток","ADD_ADDON_DESCRIPTION":"Можете да додадете додаток преку надворешна врска, која ќе се појави под Инсталирани додатоци.","PASTE_ADDON_URL":"Залепете URL-адреса за додаток","WHATS_NEW":"Што е ново?","BUTTON_CONTINUE":"Продолжи","BUTTON_ACTIVATE":"Активирај","BUTTON_ACTIVATED":"Активиран","BUTTON_CANCEL":"Откажи","BUTTON_SUBMIT":"Поднесете","BUTTON_DISMISS_ALL":"Отфрли ги сите","BUTTON_VIEW_ALL":"види се","BUTTON_SEE_ALL":"види се","BUTTON_COLOR_TRANSPARENT":"Транспарентен","OPEN_IN_BROWSER":"Отвори во прелистувачот","LIB_EMPTY":"Колекцијата ви е празна. Откријте колку е корисна :)","HOW_START":"Започнете така:","LIB_EMPTY_CAL":"Календарот покажува епизоди од сериите во вашата колекција.","HOW_START_CAL":"Еве како да додадете серии:","LIB_EMPTY_BOARD":"Тука ќе видите известувања и препораки свързани со вашата колекцијата.","HOW_START_BOARD_WAIT":"Ве молиме додадете неколку серии / канали во вашата Колекција и дајте ни неколку минути за обработка :)","HOW_START_BOARD":"Еве како да додадете филмови и серии во колекцијата:","IMPORT_FB":"Додавање од <span> Facebook </ span>","IMPORT_TRAKT":"Увезете ја вашата медиумска колекција од <span>Trakt</span>","IMPORT_DISCOVER":"Најди интересни работи во <span>Откријте</ span>","IMPORT_DISK":"Скенирајте за филмови и серии од вашиот <span>локален диск</ span>","PLEASE_CREATE_ACC":"Ве молиме <u>направете сметка</u> за да овозможите синхронизација на колекцијата &amp;.","IMPORT_DISCOVER_SIGNUP":"Регистрирај се и најди интересни работи во <span>Откријте</span>","IMPORT_DISK_SIGNUP":"Регистрирај се и вметни филмови и серии од вашиот <span>локален диск</span>","LIB_EMPTY_CLOUD":"Cloud колекција","LIB_EMPTY_CLOUD_DESC":"Лична колекција на Cloud синхронизирана на сите уреди","LIB_EMPTY_EARLY":"Рана птица","LIB_EMPTY_EARLY_DESC":"Добивајте известувања за нови епизоди","LIB_EMPTY_PERSONAL":"Лично","LIB_EMPTY_PERSONAL_DESC":"Добијте лични препораки","LIB_EMPTY_CALENDAR_DESC":"Закажете го вашиот личен календар за гледање","LIB_EMPTY_ALL":"Регистрирајте се за да ги добиете сите овие:","LIB_EMPTY_BEST":"Регистрирајте се за да го добиете најдоброто од Stremio","LIB_EMPTY_OTHER":"Регистрирајте се за да овозможите Календар и други интересни функции","CALENDAR_ADDED":"Календарот Stremio е додаден во вашиот стандарден десктоп календар.","CALENDAR_ADDED_MSG":"Ако ова не функционира, додајте ја оваа URL адреса на вашата апликација за календар рачно","TRAKT_EXPIRED":"Автентикацијата на Trakt истече, ве молиме одете во Поставки и повторно проверете","TRAKT_REQUIRES_LOGIN":"Грешка во Тракт","TRAKT_REQUIRES_LOGIN_MSG":"Треба да се најавите","TRAKT_IMPORT_WATCHED":"Увоз","THEME":"Тема","THEME_DEFAULT":"Стандардно","THEME_ADAPTIVE":"Адаптивни","SETTINGS_LABEL":"Поставки","SETTINGS_NAV_GENERAL":"Општо","SETTINGS_NAV_PLAYER":"Плеер","SETTINGS_NAV_STREAMING":"Стриминг","SETTINGS_NAV_SHORTCUTS":"Кратенки","SETTINGS_SHORTCUT_RELOAD_APP":"Повторно вчитај ја апликацијата","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Отворете Поставки","SETTINGS_SHORTCUT_SWITCH_TABS":"Префрли Картички","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Сврти низ Картички нанапред","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Сврти низ Картички наназад","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Одете помеѓу менијата","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Одете во Пребарување","SETTINGS_SHORTCUT_EXIT_BACK":"Излезете / Вратете се назад","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Вклучи мени за брзина на репродукција","SETTINGS_SHORTCUT_MENU_VIDEOS":"Вклучи мени за видеа","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Вклучи мени за преводи","SETTINGS_SHORTCUT_MENU_INFO":"Вклучи мени за информации","SETTINGS_SHORTCUT_FULLSCREEN":"Вклучување цел екран","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Прикажи контроли","SETTINGS_SHORTCUT_PLAY_PAUSE":"Пушти / Пауза","SETTINGS_SHORTCUT_VOLUME_UP":"Зголемете ја јачината на звукот","SETTINGS_SHORTCUT_VOLUME_DOWN":"Намалување на јачината на звукот","SETTINGS_SHORTCUT_SEEK_NEXT":"Барај следно","SETTINGS_SHORTCUT_SEEK_PREV":"Барај претходно","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Барај назад","SETTINGS_SHORTCUT_SEEK_FORWARD":"Барај напред","SETTINGS_SHORTCUT_PLAY_NEXT":"Пушти следно","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Зголеми големина на превод","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Намали големина на превод","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Зголеми доцнење на превод","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Намали доцнење на превод","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Вклучи странична лента","SETTINGS_SHORTCUT_OR":"или","SETTINGS_SHORTCUT_TO":"до","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Провери автентичност","SETTINGS_FACEBOOK_IMPORT":"Увоз","SETTINGS_CALENDAR_SUBSCRIBE":"Претплатете се","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Апликацијата Календар беше отворена. Ве молиме рачно да се претплатите на календарот.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Датотеката со календарот е преземена. Увезете го во вашата апликација за календар.","SETTINGS_INTERFACE_LANGUAGE":"Јазик на интерфејс","SETTINGS_LAUNCH_STARTUP":"Вклучи при стартување","SETTINGS_VLC_DEFAULT":"Пушти со VLC","SETTINGS_UI_LANGUAGE":"Јазик на UI","SETTINGS_UI_ZOOM":"Зумирање на интерфејсот","SETTINGS_FULLSCREEN_EXIT":"Escape key за излез од цел екран","SETTINGS_GAMEPAD":"Овозможете поддршка за gamepad","SETTINGS_CLOSE_WINDOW":"Затворете ја апликацијата кога прозорецот е затворен","SETTINGS_SUBTITLES_LANGUAGE":"Стандарден јазик на превод","SETTINGS_SUBTITLES_SIZE":"Стандардна големина на превод","SETTINGS_SUBTITLES_BACKGROUND":"Позадина на превод","SETTINGS_SUBTITLES_COLOR":"Боја на превод","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Боја на рамка за превод","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Боја на позадина за превод","SETTINGS_SEEK_KEY":"Копчињата со стрелки бараат време","SETTINGS_SEEK_KEY_SHIFT":"Копчињата со стрелки бараат време кога го држите копчето Shift","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Времетраење на брзо премотување назад и напред","SETTINGS_BINGE":"Автоматско пуштање на следната епизода","SETTINGS_NEXT_VIDEO":"Прикажи известување за да започне следната епизода","SETTINGS_NEXT_VIDEO_TRIGGER":"Прикажи известување за следната епизода за:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Времетраењето на скокачкиот прозорец за следното видео","SETTINGS_PLAY_IN_BACKGROUND":"Пушти во позадина","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Пушти во надворешен плеер","SETTINGS_RESIZE":"Автоматско менување на големината на прозорецот пред пуштање","SETTINGS_OVERRIDE_SERVER":"Префрли URL-адреса на серверот за стриминг (напредно)","SETTINGS_SERVER_URL":"URL на серверот за стриминг: ","SETTINGS_SERVER_AVAILABLE":"Достапен е серверот за стриминг.","SETTINGS_SERVER_UNAVAILABLE":"Серверот за стриминг не е достапен.","SETTINGS_SERVER_STATUS_ONLINE":"Онлајн","SETTINGS_SERVER_STATUS_ERROR":"Грешка","SETTINGS_SERVER_CONFIGURE_TITLE":"Конфигурирај URL-адреса на серверот за стриминг","SETTINGS_SERVER_CONFIGURE_INPUT":"Внеси URL-адреса на серверот за стриминг","SETTINGS_SERVER_CACHE_SIZE":"Големина на кешот","SETTINGS_SERVER_TORRENT_PROFILE":"Торент профил","SETTINGS_HTTPS_ENDPOINT":"Стриминг HTTPS крајна точка: ","SETTINGS_TRANSCODE_PROFILE":"Профил на транскод","SETTINGS_USE_BETA":"Секогаш користете ја најновата бета верзија","SETTINGS_IMPORT_FB":"Увези од Фејсбук","SETTINGS_IMPORT_DISK":"Увези од локалниот диск","SETTINGS_IMPORT_TRAKT":"Увези од Тракт","SETTINGS_PAUSE_MINIMIZED":"Паузирај ја репродукцијата кога е минимизирана","SETTINGS_HWDEC":"Хардверски забрзано декодирање","SETTINGS_BACKGROUND":"Репродукција во позадина","SETTINGS_SUBSCRIBE_CALENDAR":"Претплати се на календарот","SETTINGS_REQ_EXPORT":"Побарај извоз на податоци","SETTINGS_ACC_DELETE":"Побарај бришење на сметка","SETTINGS_CHANGE_PASSWORD":"Промена на лозинка","SETTINGS_TOS":"Услови на употреба","SETTINGS_SUPPORT":"Поддршка","SETTING_LANGUAGE":"Јазик","SETTINGS_TRAKT":"Trakt Скробирање","SETTINGS_TRAKT_LOGOUT":"Одјави се од Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Одјави се од Trakt","SETTINGS_SCAN_FOR_REMOTE":"Скенирај QR-код да го отвориш далечинскиот управувач","SETTINGS_DESKTOP_NOTIFICATIONS":"Декстоп известувања","SETTINGS_DATA_SAVER":"Заштеди податоци","SETTINGS_LANGUAGE_INTERFACE":"интерфејс","SETTINGS_LANGUAGE_SUBS":"стандарден превод","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Автоматско избирање на аудио трака","SETTINGS_DEFAULT_AUDIO_TRACK":"Стандардна аудио трака","SETTINGS_SURROUND_SOUND":"Простран звук","SETTINGS_ACCOUNT":"сметка","SETTINGS_PLATFORM":"Платформа","SETTINGS_VERSION":"верзија","SETTINGS_ABOUT":"За нас","SETTINGS_MPV_WINDOW":"Стартувајте плеер во посебен прозорец (напредно)","SETTINGS_PLAY_IN_EXTERNAL":"Секогаш пуштај го видеото со надворешен плеер","SETTINGS_STORAGE_BUTTON":"Исчистете ја локалната меморија","SETTINGS_STORAGE_MODAL_TITLE":"Дали си сигурен ?","SETTINGS_STORAGE_MODAL_MESSAGE":"Ова ќе го исчисти локалното складирање и ќе ве одјави.","SETTINGS_HWDEC_PICKER":"Изберете поставка за декодирање забрзано со хардвер","SETTINGS_HW_AUTOMATIC":"Автоматски","SETTINGS_HW_DISABLED":"Оневозможено","SETTINGS_HW_ACCELERATED":"Забрзување на декодирање","SETTINGS_HW_FULL":"Целосно забрзување","SETTINGS_HW_LEGACY":"Наследство","SETTINGS_DISABLED":"Оневозможено","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Известување за мрежна врска","SETTINGS_REMOTE_URL":"URL на далечина","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_COPY_REMOTE_URL":"Копирај далечински URL","SETTINGS_REMOTE_URL_COPIED":"URL од далечина е копирана на вашата таблата со исечоци","SETTINGS_SECTION_SUBTITLES":"Преводи","SETTINGS_SECTION_AUDIO":"Аудио","SETTINGS_SECTION_CONTROLS":"Контроли","SETTINGS_SECTION_AUTO_PLAY":"Автоматско-Пуштање","SETTINGS_SECTION_ADVANCED":"Напредно","SUBSPICKER_AUDIO":"Аудио","SUBSPICKER_SUBTITLES":"Додатоци за Преводи","SUBSPICKER_BLACK_BACKGROUND":"Користете црна боја на позадина","SUBSPICKER_VERTICAL_OFFSET":"Вертикално поместување","SUBSPICKER_SIZE":"Големина","SUBSPICKER_DELAY":"Одложување","SUBSPICKER_EMBEDDED_SUBS":"Вградени преводи","MOBILE_PRIVACY_POLICY":"Политика за приватност","MOBILE_CRASH_REPORTING":"Пријавување на краш","MOBILE_ZOOM_TO_FILL":"Зумирајте за да го пополните екранот","MOBILE_PASSTHROUGH":"Дигитален аудио излез (премин)","MOBILE_RUN_LOW_BATTERY":"Работи на ниска батерија","MOBILE_RUN_FOREGROUND":"Стартувај како услуга во преден план","MOBILE_PERFORMANCE":"ПЕРФОРМАНСИ И СТАБИЛНОСТ","MOBILE_SERVER_ONLINE":"Онлајн","MOBILE_SERVER_OFFLINE":"Офлајн","MOBILE_QR_EXPIRES":"QR-кодот истекува за ","MOBILE_LOG_INTO":"Најавете се на вашата сметка на Stremio ","MOBILE_SCAN_QR":"Скенирајте го QR-кодот погоре или одете на ","MOBILE_LINK_ACCOUNT":"Поврзете ја сметката","MOBILE_SPEEDPICKER_CANCEL":"Откажи","MOBILE_SPEEDPICKER_LABEL":"Изберете брзина на репродукција","MOBILE_EMPTY_LIBRARY":"Вашата колекција е празна","MOBILE_NO_ADDON_ACTIVE":"Нема активен додаток Stremio за овој тип.","MOBILE_ORGANIZER_WARNING":"Апликацијата Stremio Organizer обезбедува ограничена функционалност. За цел список на стримови што може да се репродуцираат и целосното Stremio искуство, користете Stremio на работната површина.","MOBILE_ADDON_LOADING":"сè уште се вчитува","MOBILE_ADDONS_LOADING":"додатоците сè уште се вчитуваат","MOBILE_ADDON":"Додаток","MOBILE_CONFIGURE_ADDON":"Конфигурирајте го вашиот додаток","MOBILE_CONFIGURE_ADDON_LABEL":"Конфигурирајте го додатокот","MOBILE_ORGANIZER_ADDONS_WARNING":"Апликацијата Stremio Organizer обезбедува ограничен избор на додатоци. За целосно искуство со Stremio, користете го Stremio за десктоп","MOBILE_DISCONNECT":"Исклучете се","MOBILE_LOOKING_FOR_DEVICES":"Во потрага по уреди...","MOBILE_CAST_TO":"Емитувај на","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Избриши сметка","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Бришењето на сметката не веднаш поради законски обврски. Откако ќе побарате бришење на вашата сметка, ќе мора да користите различна адреса за е-пошта/Фејсбук профил за да креирате нова сметка на Stremio во иднина.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Потврдете го бришењето на сметката","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Вашата сметка е креирана преку Facebook. За да ја избришете вашата сметка, ве молиме користете го нашиот кориснички портал на www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Ве молиме внесете ја вашата лозинка за да го потврдите бришењето на сметката.","MOBILE_DELETE_ACCOUNT_BUTTON":"Избриши сметкаe Account","NAVIGATION_ON":"Вклучено","NAVIGATION_OFF":"Исклучено","MARKETING_AGREE":"Се согласувам да добивам маркетинг комуникации од Stremio","QUIT":"Откажете се","CONNECTED":"Поврзан","AUTHENTICATE":"Овластување","CACHING":"Кешира","SETTINGS_CACHING_DRIVE":"Изберете диск за кеш","ENABLE_LOCAL_FILES_ADDON":"Овозможете го додатокот за локални датотеки (потребно е рестартирање)","LOCAL_ADDON_NOT_ENABLED":"Локалниот додаток не е овозможен. Кликнете овде за да отидете до поставките и да го овозможите","ENABLE_REMOTE_HTTPS_CONN":"Овозможете далечински HTTPS врски","TORRENT_PROFILE":"Торент профил","DATA_CACHING":"Кеширање на податоци","MAGNET_PARSING":"Парсирање на магнетна врска","January":"Jануари","February":"Февруари","March":"Март","April":"Април","May":"Мај","June":"Јуни","July":"Јули","August":"Август","September":"Септември","October":"Октомври","November":"Ноември","December":"Декември","Monday":"Понеделник","Tuesday":"Вторник","Wednesday":"Среда","Thursday":"Четврток","Friday":"Петок","Saturday":"Сабота","Sunday":"Недела","Action":"Акција","Comedy":"Комедија","War":"Воени","Family":"Семејни","Animation":"Анимација","Adventure":"Авантура","Fantasy":"Фантазија","Crime":"Криминал","Mystery":"Мистерија","Romance":"Романса","Drama":"Драма","Horror":"Хорор","Thriller":"Трилер","Sci-Fi":"Научна фантастика","Music":"Музика","Biography":"Биографија","Documentary":"Документарец","Sport":"Спорт","Musical":"Музички","Western":"Западен","Film-Noir":"Филм-Ноар","News":"Вести","History":"Историја","Game-Show":"Гејм-Шоу","Reality-TV":"Реалити-ТВ","Talk-Show":"Ток-шоу","Film & Entertainment":"Филм и забава","Gaming":"Гејминг","From TV":"Од ТВ","Lifestyle":"Начин на живот","Science & Education":"Наука и образование","Cooking & Health":"Готвење и здравје","Beauty & Fashion":"Убавина и мода","Sports":"Спортови","News & Politics":"Вести и политика","How-to & DIY":"Како да и направи сам","Tech":"Технологија","Automotive":"Автомобилство","Causes & Non-Profits":"Причини и непрофит","Movies":"Филмови","Uk Live Tv":"ВБ ТВ во живо","Fashion":"Мода","Business News Radio":"Бизнис вести радио","Business Tv":"Бизнис ТВ","Cars & Auto":"Автомобили","Comedy Radio":"Комедија радио","Lifestyle Radio":"Радио за животниот стил","News Tv":"Вести ТВ","Food And Wine":"Храна и вино","Latino Tv":"Латино ТВ","Shopping Tv":"Шопинг ТВ","Religion":"Религија","Kids":"Деца","Body & Soul":"Тело и душа","Education":"Образование","Indian Tv":"Индиска телевизија","Extreme Sports":"Екстремни спортови","Middle Eastern Tv":"Блискоисточна телевизија","Celebrity Tv":"Познати личности ТВ","Science Tv":"Наука ТВ","Bikini babe":"Бикини девојки","Outdoors":"Аутдорс","German Tv":"Германска ТВ","French Tv":"Француска ТВ","Italian Tv":"Италијанска ТВ","Gamer Tv":"Гејмерска ТВ","Travel":"Патувања","Asian Tv":"Азиска ТВ","Entertainment":"Забава","News Radio":"Радио вести","Music Radio":"Музичко радио","Language Learning":"Учење јазик","Science Radio":"Научно радио","Tech Radio":"Технолошко радио","Science & Technology Vod":"Наука и технологија Vod","new video":"ново видео","new episode":"нова епизода","new movie":"нов филм","recommended":"препорачано","we recommend":"ние препорачуваме","offer of the day":"предлог на денот","news":"новости","music video":"музичко видео","CTX_SHOW_HOTKEYS":"Прикажи жешки копчиња","CTX_DISMISS_NOTIF":"Отфрли ги известувањата","CTX_DISMISS_ALL":"Отфрли ги сите","CTX_SHARE":"Сподели","CTX_COPY_SHARE_LINK":"Копирај ја врската за споделување","CTX_COPY_MAGNET_LINK":"Копирај магнет линк","CTX_COPY_STREAM_LINK":"Копирај ја врската за пренос","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Копирај ја врската за преземање видео","CTX_DOWNLOAD_VIDEO":"Преземете го ова видео","CTX_DOWNLOAD_SUBS":"Преземете преводи","CTX_VIEW_ON_YOUTUBE":"Погледнете на YouTube","CTX_SHOW":"Прикажи","CTX_PLAY":"Пушти","CTX_PLAY_IN":"Пушти во","CTX_PLAY_ON":"Пушти на","CTX_WATCH_ON":"Гледај на","CTX_WATCH":"Гледај","CTX_WATCHED":"Гледано","CTX_WATCH_BEGINNING":"Гледајте од почеток","CTX_WATCH_MOBILE":"Гледајте на мобилен уред","CTX_REWIND":"Премотајте назад кон почеток","CTX_MARK_WATCHED":"Означи како гледано","CTX_MARK_NON_WATCHED":"Означи како негледано","CTX_MARK_UNWATCHED":"Означи како невидено","CTX_MARK_REST":"Означи останато како гледано","CTX_UNMARK_REST":"Означи останато како негледано","CTX_RECEIVE_NEW_NOTIF":"Примајте нови известувања","CTX_ENABLE_NEW_NOTIF":"Овозможи известувања","CTX_DISABLE_NEW_NOTIF":"Оневозможи известувања","CTX_REMOVE_CACHE":"Отстрани од кешот","CTX_REMOVE_CACHE_EP":"Отстранете ја епизодата од кешот","CTX_OPEN_CONTAINING":"Отворете ја папката што содржи","CTX_REMOVE":"Отстрани од колекција","CTX_AVAILABLE_OFFLINE":"Достапно офлајн","CTX_PAUSED":"Паузирано","CTX_ALWAYS_ON_TOP":"Секогаш на врвот","CTX_FULLSCREEN":"Цел екран","CTX_WRONG_SUBS":"Погрешен превод?","CTX_REPORT_ISSUES":"Пријави проблем","CTX_COPY":"Копирај","CTX_PASTE":"Залепи","CTX_CLEAR":"Исчисти","CTX_CLEAR_RECENT_SEARCHES":"Исчисти ги неодамнешните пребарувања","HELLO_THERE":"Здраво","HOPE_YOU_ENJOY":"Се надеваме дека уживате во Stremio и веќе е една од вашите омилени апликации!","WHO_ARE_WE":"Кои сме ние? Ние сме тимот зад него - двајца момци кои работат напорно секој ден во последните 3 години, со една единствена цел - да го направат овој производ подобар и подобар.","SUPPORT_US":"Ако уживате во користењето на Stremio, ако Stremio е вредно за вас - поддржете нè!","SPREAD_THE_WORD":"Споделете со вашите пријатели сега, раширете ги информациите за Stremio","MORE_PEOPLE":"Колку повеќе луѓе користат Stremio, толку подобро ќе биде!","SEND_A_LINK":"Или испратете линк до нашата веб-страница","TIP_LOCALFILES":"Совет: можете да влечете и испуштате локални видео датотеки во Stremio","ADDON_MY":"Мои додатоци","ADDON_COMMUNITY":"Додатоци на заедницата","ADDON_OFFICIAL":"Официјални додатоци","ADDON_REPOS":"Складишта за додатоци","ADDON_SEARCH":"Пребарајте додатоци","ADDON_INSTALL":"Инсталирај","ADDON_CONFIGURE":"Конфигурирај","ADDON_UNINSTALL":"Деинсталирај","ADDON_UPGRADE":"Надградба","ADDON_INSTALLED":"Инсталиран","ADDON_INSTALLED_MSG":"Додаток е инсталиран!","ADDON_UPGRADED_MSG":"Додатокот е надграден!","ADDON_UNKNOWN":"Непознат","ADDON_ERR":"Грешка во инсталирањето на додатокот!","ADDON_DISCONNECTED":"Исклучено","ADDON_APP_MISSING":"апликацијата за овој извор не е инсталирана. Дали сакате да го инсталирате сега?","ADDON_APP_INSTALL":"Инсталирај сега","ADDON_PAGE":"Страница за додатоци","ADDON_TOP_CONTENT":"Најдобро од овој додаток","ADDON_PROVIDES":"обезбедува","ADDON_WATCH":"Гледај #{types} сега!","ADDON_WATCH_FREE":"Гледај #{types} БЕСПЛАТНО сега!","ADDON_ADDON":"Додаток","ADDON_SUPPORTED_TYPES":"Поддржани типови","ADDON_SUPPORTED_CATALOGS":"Поддржани каталози","ADDON_PROVIDES_DISCOVER":"Повеќе #{types} во Откријте","ADDON_PROVIDES_STREAMS":"Гледај #{types}","ADDON_PROVIDES_STREAMS_FREE":"Гледај #{types} БЕСПЛАТНО","ADDON_PROVIDES_SUBTITLES":"Преводи за #{types}","ADDON_CANTDETECT":"Не можевме да откриеме дали Stremio работи, така што не можевме да откриеме какви додатоци сте инсталирале.","ERR_NO_META":"Не се најдени информации за ова ","ERR_GETTING_META":"Грешка при преземањето информации за ова.","ERR_CANT_PARSE_MAGNET":"Не може да се анализира магнетот","ERR_NO_MAGNET_INFOHASH":"Нема валиден хаш за информации за магнет","ERR_NO_FILE_PATH":"Не може да се испрати барање без патека до датотеката","ERR_NO_TORRENT":"Нема одговор од торентот","ERR_NO_SUPPORTERD_FILES":"Не се пронајдени поддржани датотеки","ERR_OPENING_FILES":"Не може да се отворат надворешни датотеки","ERR_INVALID_LINK":"Неважечка врска","ERR_REGISTERED_ONLY":"Оваа опција е достапна само за регистрирани корисници.","ERR_CLIPBOARD":"Не може да се пушти од копираното","ERR_CLIPBOARD_READ":"Не можам да го прочитам копираното на оваа платформа","ERR_CLIPBOARD_GENERIC":"Не е пронајдена URL-адреса за пуштање со копирано. Ве молиме копирајте URL-адреса (на пр. врска со магнет) на видео.","BOARD_CONTINUE_WATCHING":"Продолжи со гледање","BOARD_EXPLANATION_RECOMMENDATIONS":"Филмови избрани специјално за вас.<br />Овој филм е примерок од препорака.","BOARD_EXPLANATION_EPISODES":"Новите епизоди од вашите омилени серии доаѓаат овде.<br />Додајте серии што ги следите во вашата колекција.","BOARD_EXPLANATION_VIDEOS":"Новите епизоди од вашите омилени канали доаѓаат овде.<br />Додајте ги каналите на YouTube што ги следите во вашата колекција.","WEBSITE_ENJOYED_BY":"Уживаат повеќе од 30 милиони корисници ширум светот","WEBSITE_STREAMING_ENHANCED":"Подобрен Стриминг","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio нуди безбедно, модерно и беспрекорно забавно искуство. Со неговиот лесен за користење интерфејс и разновидна колекција со содржини, вклучувајќи поддршка за 4K HDR, корисниците можат да уживаат во своите омилени филмови и ТВ серии на сите нивни уреди. И со својата посветеност на безбедноста, Stremio е врвниот избор за безгрижно, висококвалитетно искуство со стриминг.","WEBSITE_AVAILABLE_ON":"Достапно на","WEBSITE_WATCH_AND_ENJOY":"Гледајте и уживајте.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio го прави лесно како детска игра","WEBSITE_ALL_FEATURES":"Сите карактеристики","WEBSITE_EASY_TO_USE":"Лесен за користење","WEBSITE_EASY_TO_USE_DETAILS":"Stremio е дизајниран да биде лесен за користење и лесен за употреба. Со неговиот чист и интуитивен интерфејс можете лесно да се движите и да ја пронајдете содржината што сакате да ја гледате.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Беспрекорно низ различни уреди","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Достапен за широк спектар на платформи (вклучувајќи Windows, Mac, Linux, Android и повеќе), Stremio ќе го следи вашиот напредок на сите ваши уреди. Само најавете се и продолжете да гледате без да треба повторно да ја конфигурирате апликацијата на секој нов уред.","WEBSITE_ALL_DOWNLOADS":"Сите преземања","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"Поддршка за видео со висока дефиниција","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"Интегрираниот видео плеер кој ги поддржува повеќето формати на видео, вклучително и 4K HDR содржина, ви овозможува да уживате во највисокиот достапен квалитет.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Колекција со разновидна содржина","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio се интегрира со голем број популарни видео извори, како што се Netflix, Amazon Prime Video, Hulu, YouTube и многу други.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Направете бесплатно сметка","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Прилагодено искуство на гледање","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio ви овозможува да го прилагодите изгледот и чувството на интерфејсот со менување на темата, додавање или отстранување додатоци и многу повеќе.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Поддршка за повеќејазичен превод (титл)","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"Сега можете да уживате во сите омилени содржини на вашиот јазик бидејќи Stremio поддржува преводи на сите јазици.","WEBSITE_ALL_STREMIO_FEATURES":"Сите карактеристики на Stremio","WEBSITE_TRY_STREMIO_TITLE_P1":"Пробајте го Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"На вашиот ТВ сега","WEBSITE_YOU_CAN_NOW_WATCH":"Сега можете да ги гледате сите омилени ТВ серии на вашите уреди со Android TV. Апликацијата Stremio TV ви овозможува лесно да уживате во филмската вечер.","WEBSITE_YOU_CAN_NOW_WATCH_2":"Сега можете да ги гледате сите омилени ТВ серии на вашиот Smart TV или Android TV. Апликациите Stremio TV ви овозможуваат лесно да уживате во филмска вечер.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio за паметен телевизор","WEBSITE_PLAY_STORE_REVIEW":"Веројатно најдобрата и најкорисната апликација што ја имате во вашиот уред. Тоа е една од апликациите што ги користам секојдневно, особено на мојот Android TV веќе многу години. Добро направен со силна заедница која обезбедува корисни функционалности. Добро сторено. Продолжи со добрата работа.","WEBSITE_REVIEWS":"Рецензии","WEBSITE_GET_STREMIO_FOR_FREE":"Набави го Stremio бесплатно","WEBSITE_GET_STREMIO_NOW":"Набави Stremio веднаш","WEBSITE_STREMIO_FEATURES":"Карактеристики на Stremio","WEBSITE_STREMIO_FEATURES_DETAILS":"Стримувајте како професионалец со напредните функции на Stremio и уживајте во беспрекорен пристап до сите ваши омилени медиуми","WEBSITE_DISCOVER_MORE":"Откријте повеќе.","WEBSITE_DISCOVER_MORE_DETAILS":"Никогаш не останувајте без работи за гледање","WEBSITE_COMMUNITY_DRIVEN":"Управувано од заедницата","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio има голема и активна заедница на корисници кои придонесуваат за развој на софтверот преку креирање и споделување додатоци.","WEBSITE_GET_INVOLVED":"Вклучете се","WEBSITE_NEW_THEATER_EXPERIENCE":"Ново театарско искуство","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Новата посветена ТВ-апликација на Stremio ви овозможува да уживате во филмска вечер на вашите уреди со Android TV.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Новите посветени ТВ-апликации на Stremio ви дозволуваат да уживате во филмска вечер на вашиот паметен ТВ или уреди со Android TV.","WEBSITE_FREE_AND_SECURE":"Бесплатно и безбедно","WEBSITE_STREAMING":"Стриминг","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio нуди неспоредлива безбедност и приватност за корисниците. Со својата уникатна карактеристика за далечинско извршување на додатоци, Stremio обезбедува побезбеден начин за проследување на вашата омилена содржина во споредба со другите платформи. Вашата безбедност и приватност се врвни приоритети, а платформата гарантира дека сите ваши податоци се заштитени.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Кажете им збогум на грижите за безбедноста и приватноста и поздравете се во светот на бескрајна забава со Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Информациите обезбедени од","WEBSITE_CONTRIBUTE":"Придонесете","WEBSITE_CONTRIBUTE_DESC":"на проектот и помогнете ни да го направиме Stremio уште подобар","WEBSITE_COMMUNITY_DESC":"Ние веруваме дека најдобриот начин да се создаде навистина неверојатно искуство со стриминг е со вклучување на нашата заедница во процесот. Без разлика дали сте програмер, уметник или само обожавател - можете да му помогнете на Stremio да расте.","WEBSITE_COMMUNITY_DESC_2":"Затоа, придружете ни се денес и станете дел од заедницата Stremio и продолжете да ја обликувате иднината на стриминг.","WEBSITE_WAYS_TO_GET_INVOLVED":"Начини да се вклучите","WEBSITE_IN_THE_STREMIO_COMMUNITY":"во заедницата Stremio","WEBSITE_SHARE_YOUR_THOUGHTS":"Споделете ги вашите размислувања","WEBSITE_REPORT_BUGS":"Пријавете грешки","WEBSITE_SUGGEST_FEATURES":"предложи идеи","WEBSITE_AND_PROVIDE_FEEDBACK":"и да дадете повратни информации за нашите канали на социјалните мрежи.","WEBSITE_BETA_TESTING_PROGRAM":"Програма за бета тестирање","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Учествувајте во нашата програма за бета тестирање (редовно испраќаме покани) во заедницата Stremio.","WEBSITE_JOIN_NOW":"Придружи се сега!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Официјални заедници на Stremio","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Неофицијални заедници на Stremio","WEBSITE_BECOME":"Стани","WEBSITE_A_VOLUNTEER_TRANSLATOR":"волонтер преведувач","WEBSITE_ARE_YOU_A_DEVELOPER":"Дали сте програмер?","WEBSITE_CONTRIBUTE_CODE":"Може да придонесете код за нашите проекти со отворен код. Имаме неколку проекти на GitHub кои бараат соработници. Ако сте заинтересирани да помогнете, проверете ги:","WEBSITE_STREMIO_ON_GITHUB":"Stremio на GitHub","WEBSITE_CREATE_ADDON_DESC":"Создадете додаток за подобрување на функционалноста на Stremio (имаме API што е лесен за употреба):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Додадок SDK","WEBSITE_INTERN_DEVELOPER":"Ние, исто така, даваме можност да ни се придружиме како развивач на практикант за да можеме да растеме заедно.","WEBSITE_APPLY_AS_AN_INTERN":"Пријавете се како практикант","WEBSITE_CALLING_ALL_ARTISTS":"Ги повикуваме сите уметници!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Покажете ја вашата креативност и љубов кон Stremio со прикачување на вашата фан уметност во нашата онлајн галерија. Без разлика дали се работи за цртеж, сликање или дигитален дизајн, сакаме да го видиме вашиот уникатен став за брендот Stremio. Придружете се на нашата заедница на уметнички ентузијасти и споделете ја вашата работа со колегите обожаватели на Stremio ширум светот.","WEBSITE_STREMIO_FANART_GALLERY":"Галерија Stremio Фанарт","WEBSITE_INTERN_DESIGNER":"Станете дел од нашиот тим и однесете ја вашата креативност до нови височини со нашите возбудливи можности за стажирање.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Проект за филмови од јавен домен","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"Во Stremio, ние сме посветени на зачувување на историјата на филмот и телевизијата преку идентификување на видеа од јавен домен и без родители. Работејќи заедно со нашата заедница, можеме да обезбедиме овие класични уметнички дела да бидат достапни за секого и заштитени за уживање во идните генерации.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Слободно контактирајте не доколку сакате да се вклучите во тој проект.","WEBSITE_JOIN_THE_PROJECT":"Приклучи се на проектот","WEBSITE_BE_PART_OF_OUR_MISSION":"Бидете дел од нашата мисија","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Дали сте заинтересирани да се приклучите на тимот на Стремио? Нудиме целосно далечинска работа за страсни професионалци. Проверете ги нашите отворени позиции.","WEBSITE_OPEN_POSITIONS":"ОТВОРЕНИ ПОЗИЦИИ","WEBSITE_DESCRIPTION":"ОПИС","WEBSITE_LEARN_MORE":"Научи повеќе","WEBSITE_COMPANY":"Компанијата","WEBSITE_CONTACTS":"Контакти","WEBSITE_NEED_HELP":"Треба помош?","WEBSITE_STREMIO_WEB_ON_IOS":"Водич за Stremio Web на iOS","WEBSITE_LINK_ART_V2":"Галерија Фанарт","WEBSITE_PARTNERS":"Партнери","WEBSITE_SLOGAN_WATCH":"Гледајте веднаш","WEBSITE_SLOGAN_ALL":"Сите видео содржини во кои уживате на едно место","WEBSITE_SLOGAN_NEW":"Сè што можете да гледате","WEBSITE_SLOGAN_NEW_NEW":"Слобода за стрим","WEBSITE_WATCH_FROM":"Гледајте од","WEBSITE_DOWNLOAD":"Преземете сега","WEBSITE_DOWNLOAD_FOR":"Преземете сега за","WEBSITE_IS_DESKTOP":"Stremio е десктоп апликација, отворете ја оваа страница на вашиот компјутер и преземете ја","WEBSITE_DESKTOP_DEMO_VID":"Desktop demo","WEBSITE_PAGE_HOME":"Почетна","WEBSITE_PAGE_FEATURES":"Карактеристики","WEBSITE_PAGE_ADDONS":"Додатоци","WEBSITE_PAGE_TECH":"Технологија","WEBSITE_PAGE_CREATE_ADDON":"Креирај додаток","WEBSITE_PAGE_CONTACTS":"Контакти","WEBSITE_PAGE_BLOG":"Блог","WEBSITE_RESET_PASSWORD_MESSAGE":"Ве молиме внесете ја посакуваната нова лозинка подолу.","WEBSITE_RESET_PASSWORD_WARNING":"Дали сте сигурни дека сакате да ја ресетирате лозинката за ${1}?","WEBSITE_TYPE_movie":"Филмови","WEBSITE_TYPE_series_PL":"Серии","WEBSITE_TYPE_tv":"ТВ во живо","WEBSITE_TYPE_channel":"Канали","WEBSITE_STREMIO_WHAT_IS":"Stremio е апликација која ви помага да ги организирате и веднаш да ги гледате вашите омилени видеа, филмови, ТВ серии и ТВ канали.","WEBSITE_FEATURES_WATCH":"Гледајте веднаш во HD","WEBSITE_FEATURES_WATCH_DETAIL":"Кликнете и гледајте ги вашите омилени филмови, ТВ серии, видеа и ТВ канали.","WEBSITE_FEATURES_SUBS":"Автоматски преводи","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio автоматски избира синхронизирани преводи за вашиот јазик.","WEBSITE_FEATURES_SUBS_LABEL":"Твој избор, шефе.","WEBSITE_FEATURES_CAST":"Гледај на ТВ и мобилни уреди","WEBSITE_FEATURES_CAST_DETAIL":"Емитувај на AppleTV, Chromecast, Smart TV (DLNA/UPnP) и мобилни уреди.","WEBSITE_LIB":"Уживајте во вашата лична колекција синхронизирана на сите ваши уреди","WEBSITE_LIB_COLLECT":"Собери од Stremio","WEBSITE_LIB_IMPORT":"Увоз од Facebook","WEBSITE_LIB_LOCAL":"Додајте од вашиот локален диск","WEBSITE_BOARD":"Табла - Вашето едно место за известувања и препораки","WEBSITE_BOARD_RECOMMEND":"Препорачана ТВ емисија","WEBSITE_BOARD_TRENDING":"Филмови во тренд","WEBSITE_BOARD_NEW":"Ново Видео","WEBSITE_BOARD_EPISODE":"Нова Епизода","WEBSITE_BOARD_1":"Барате нешто интересно за гледање? Добијте препораки засновани на вашиот вкус!","WEBSITE_BOARD_2":"Добијте известување кога ќе излезе нова епизода од вашето омилено ТВ шоу или канал на YouTube!","WEBSITE_BOARD_YOUTUBE":"Нови видеа на канали на YouTube","WEBSITE_BOARD_EPISODES":"Нови епизоди од сериите што ги следите","WEBSITE_ADDONS":"Додатоци за содржина","WEBSITE_TECH_DETAIL":"Ја сакаме технологијата, ја сакаме лудата наука!\\nStremio ги користи следниве технологии со отворен код:","WEBSITE_TECH_WCJS":"WebChimera.js овозможува Stremio да репродуцира кој било формат на видео со добри перформанси.","WEBSITE_TECH_WCJS_EXTRA":"Ние сме основни соработници на проектот","WEBSITE_TECH_ELECTRON":"Electron обезбедува иновативна платформа за изградба на Stremio.","WEBSITE_TECH_ELECTRON_EXTRA":"Ние сме соработници на проектот","WEBSITE_TECH_LINVODB":"Технологија на база на податоци која гарантира дека вашите податоци се организирани и достапни каде и да се најавувате.","WEBSITE_TECH_LINVODB_EXTRA":"Внатрешна технологија","WEBSITE_CREATE_ADDON":"Направете го вашиот додаток","WEBSITE_CREATE_ADDON_DETAIL":"Дали имате услуга која обезбедува видео содржина? Ќе ви помогнеме да имате корист од функциите на Stremio со создавање на вашиот Додаток.","WEBSITE_CREATE_ADDON_BENEFITS":"Придобивки од создавање Додаток за Stremio","WEBSITE_P2P_BEAUTY":"Убавината на Peer-to-Peer стриминг","WEBSITE_P2P_1":"Сигурно и достапно видео со full HD / 4K на барање или пренос во живо","WEBSITE_P2P_2":"Платформа за дистрибуција обезбедува одлично корисничко искуство","WEBSITE_P2P_3":"Ние ќе создадеме додаток кој ги исполнува вашите точни потреби","WEBSITE_P2P_CONTACT":"Заинтересирани? Добредојдени сте да не <a href=\'mailto:office@stremio.com\'>контактирате</a>.","WEBSITE_P2P_CONTACT_EXTRA":"Со задоволство ќе ви помогнеме да ја интегрирате вашата содржина со Stremio!","WEBSITE_P2P":"Одвреме-навреме доаѓа технологија која го менува името на играта. Вложивме тони време и напор во изградбата на нашиот мотор за видео стриминг Peer-to-Peer (P2P) кој обезбедува одлични перформанси и разноврсност за прилагодување со секој случај на употреба.\\nКонтактирајте не за P2P-видео на барање со овозможено DRM или пренос во живо.","WEBSITE_THOUGHTS":"Мислите што ги споделуваме:","WEBSITE_SPREAD":"Раширете го зборот за Stremio:","WEBSITE_CONTACT":"Ако сакате да контактирате со нас, продолжи на","WEBSITE_OPENSOURCE":"За нашите проекти со отворен код, одете кај","WEBSITE_BITCOIN":"Донирајте биткоин:","WEBSITE_FAQ":"Најчесто поставувани прашања","WEBSITE_FAQ_SHORT":"НПП","WEBSITE_QUESTIONS":"Прашања","WEBSITE_TOS":"Услови за користење","WEBSITE_LEGAL":"Правност","WEBSITE_PAGE_ABOUT":"За","WEBSITE_PAGE_BECOME_PARTNER":"Станете партнер","WEBSITE_ALL_YOU_CAN_WATCH":"Слобода за гледање\\nСè што сакате.","WEBSITE_FREEDOM_TO_STREAM":"Слобода за стримување","WEBSITE_WHAT_IS_STREMIO":"Што е stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio е центар за собирање видео содржини. Откријте, организирајте и гледајте видео од сите видови извори на кој било уред што го поседувате.","WEBSITE_WHAT_IS_STREMIO_P2":"Филмови, ТВ емисии, серии, телевизија во живо или веб-канали како YouTube и Twitch.tv - сето ова можете да го најдете на Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio е модерен медиумски центар кој е решение на едно место за вашата видео забава. Откривате, гледате и организирате видео содржини од лесни за инсталирање додатоци.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Филмови, ТВ емисии, ТВ во живо или веб-канали - најдете сето ова на Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Уживајте на сите ваши уреди","WEBSITE_DEVICES_COLLECT":"Собери од Stremio","WEBSITE_DEVICES_IMPORT_FB":"Увези од Фејсбук","WEBSITE_DEVICES_LOCAL":"Додај од локалниот диск","WEBSITE_JOIN_THE_PARTY_NOW":"Придружи се на забавата сега","WEBSITE_DEVICES_ALL":"Лесен за користење на сите ваши уреди;","WEBSITE_EXTENDABLE_CATALOG":"Бесконечно проширување на видео каталог;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Одлични функции за организирање на вашите медиуми;","WEBSITE_AS_SEEN_ON":"Како што се гледа на","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"За нас","WEBSITE_LINK_TECHNOLOGY":"Технологија","WEBSITE_LINK_APPS":"Апликации","WEBSITE_LINK_DOWNLOADS":"Преземања","WEBSITE_MORE":"Повеќе","WEBSITE_LINK_ADDONS":"Додатоци","WEBSITE_LINK_ADDON_SDK":"Додаток SDK","WEBSITE_LINK_CONTRIBUTE":"Придонесете","WEBSITE_LINK_COMMUNITY":"Заедница","WEBSITE_LINK_BLOG":"Блог","WEBSITE_MORE_MORE":"... & Повеќе","WEBSITE_LINK_HELP":"Центар за помош","WEBSITE_LINK_CONTACTS":"Контактирајте со нас","WEBSITE_LINK_TOS":"Услови и правила","WEBSITE_LINK_PRAVACY":"Политика за приватност","WEBSITE_SUBSCRIBE":"Претплати се","WEBSITE_NEWSLETTER":"Придружете се на нашиот билтен за неверојатни работи","WEBSITE_PLACEHOLDER_EMAIL":"Твојата електронска пошта","WEBSITE_COMMUNITY":"Заедница","WEBSITE_LINK_PRAVACY_LEGAL":"Приватност и правност","WEBSITE_WHY":"Зошто го правиме тоа","WEBSITE_WHY_P1":"Во Stremio доаѓаме на работа секој ден бидејќи сакаме да решиме важен проблем за индустријата за видео на барање. Има толку многу нови содржини што се објавуваат секоја минута што е практично невозможно да се најде патот околу неа.","WEBSITE_WHY_P2":"Им помагаме на луѓето да се движат низ тој огромен свет на видео забава и да откријат нови содржини за уживање. Нашите апликации обединуваат филмови, серии, ТВ во живо, веб-канали и многу повеќе. Посветени сме на тоа да им олесниме на корисниците да најдат наслови и радиодифузери што ги сакаат.","WEBSITE_WHY_P3":"Може да ја користите нашата услуга на кој било уред и во секое време, со што Stremio ќе стане единствениот центар за видео забава што некогаш ќе ви треба.","WEBSITE_TEAM":"ТИМ","WEBSITE_TEAM_P":"Тимот на Stremio е мал, но моќен: меѓу нас десетмина, кодираме на X јазици и споделуваме експертиза за развој на софтвер, UI и UX дизајн, маркетинг и рекламирање и бизнис и стартап.","WEBSITE_FEATURES":"Карактеристики","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Откријте нови содржини со леснотија","WEBSITE_FEATURES_DISCOVER_P":"Лесно откривајте нови филмови, ТВ емисии, серии и канали за гледање. Прелистувајте по категорија, жанр, рејтинг, неодамнешност итн. или едноставно напишете име за наоѓање. Stremio го прави пронаоѓањето на нова видео содржина како детска игра.","WEBSITE_FEATURES_ALL_CONTENT":"Сите ваши видео содржини на еден екран","WEBSITE_FEATURES_ALL_CONTENT_P1":"Погледнете кои филмови, серии или видеа не сте ги завршиле и продолжете да ги гледате; добивајте известување за нови епизоди и изданија; и прелистајте ги препораките што ќе ги добиете врз основа на вашите навики за гледање.","WEBSITE_FEATURES_LIBRARY":"Организирајте ја вашата видео колекција","WEBSITE_FEATURES_LIBRARY_P1":"Додајте каков било наслов во вашата колекција Stremio со еден клик и пронајдете го вашиот пат околу вашата содржина, уредно подредени по тип, најновост или азбучен редослед.","WEBSITE_FEATURES_CALENDAR":"Следете се што гледате","WEBSITE_FEATURES_CALENDAR_P1":"Добијте визуелизација на календарот на сите филмови и серии што ги додавате во вашата колекција. Извезете го вашиот Stremio календар и синхронизирајте го за секогаш да знаете кога треба да се појави нова епизода или премиера.","WEBSITE_FEATURES_BIG_SCREEN":"Уживајте во вашата видео содржина на поголем екран","WEBSITE_FEATURES_BIG_SCREEN_P1":"Префрлете се што гледате на друг уред - било да е тоа телефон, таблет или телевизор со еден клик.","WEBSITE_FEATURES_SOURCES":"Гледајте видео од многу различни извори","WEBSITE_FEATURES_SOURCES_P":"Инсталирајте официјални додатоци и додатоци од заедницата за да уживате во видеото добиено од многу различни провајдери - сето тоа во една елегантна, лесна за употреба апликација.","WEBSITE_CREATE_AN_ADDON":"Направете додаток","WEBSITE_FEATURES_SYNC":"Синхронизирајте ја вашата колекција на различни уреди и продолжете со гледање","WEBSITE_FEATURES_SYNC_P1":"Најавете се со вашата сметка на сите ваши уреди и уживајте во колекцијата, додатоците, репродукцијата и календарот синхронизирани.","WEBSITE_FEATURES_EXTENDABLE":"Проширен видео каталог со додатоци","WEBSITE_FEATURES_EXTENDABLE_P1":"Каталогот со додатоци Stremio обезбедува голем број додатоци за инсталирање и гледање разновидна видео содржина. Ова вклучува филмови, емисии, ТВ во живо, спорт, вести, подкасти, веб-канали, видео игри и многу повеќе.","WEBSITE_FEATURES_AUTO_SUBS":"Автоматски преводи","WEBSITE_FEATURES_AUTO_SUBS_P1":"Со нашите додатоци за титл добивате автоматски избрани опции за вашиот претпочитан јазик.","WEBSITE_FEATURES_CHROMECAST":"Емитувај на Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Уживајте во вашата видео содржина на поголем екран или едноставно продолжете да го гледате на друг уред.","WEBSITE_FEATURES_KEEP_TRACK":"Следете ги вашите омилени ТВ емисии и веб-канали","WEBSITE_FEATURES_KEEP_TRACK_P1":"Добијте визуелизација на календарот и известувања за новите епизоди од вашите омилени серии и веб-канали.","WEBSITE_FEATURES_POWER_USER":"Моќни кориснички карактеристики","WEBSITE_FEATURES_POWER_USER_P1":"Пушти во надворешен плеер","WEBSITE_FEATURES_POWER_USER_P2":"Пушти од торент датотека или врска со магнет","WEBSITE_FEATURES_POWER_USER_P3":"Увезете во вашата колекција од лајкови на Фејсбук или локален диск","WEBSITE_ADD_ONS":"Додатоци","WEBSITE_ADD_ONS_P1":"Сите видео содржини што ги обезбедува Stremio се добиваат преку систем за додатоци - во апликацијата не е вградена содржина или давател на содржина.","WEBSITE_ADD_ONS_P2":"Достапни се две групи на додатоци: официјални и неофицијални(заедницата) додатоци.","WEBSITE_ADD_ONS_P3":"Официјалните се развиени и хостирани од Stremio, додека додатоците на заедницата се креирани од членовите на нашата заедница, кои исто така ги хостираат.","WEBSITE_ADDONS_OFFICIAL":"Официјални додатоци","WEBSITE_ADDONS_WATCHUB":"Пренесувајте ги вашите омилени филмови, серии и емисии од провајдери како iTunes, Hulu, Amazon и други услуги во ОК/САД.","WEBSITE_ADDONS_YOUTUBE":"Гледајте ги омилените канали на YouTube без реклами и добивајте известувања за нови прикачувања од соработниците што ги следите.","WEBSITE_ADDONS_FILMON":"Гледајте телевизија во живо, филмови и социјална телевизија бесплатно. 600 ТВ канали, 45.000 бесплатни филмови, документарни филмови и повеќе.","WEBSITE_ADDONS_OPENSUBTITLES":"Преводи за филмови и ТВ на повеќе јазици, илјадници преведени преводи кои се поставуваат секој ден.","WEBSITE_ADDONS_COMMUNITY":"Додатоци на заедницата","WEBSITE_ADDONS_FILMON_VOD":"Гледајте видео на барање од Filmon.tv","WEBSITE_ADDONS_TWICH":"Гледајте преноси во живо од Twitch.tv - платформа за видео стриминг за индустријата за е-спорт.","WEBSITE_ADDONS_VODO":"Гледајте инди филмови апсолутно бесплатно.","WEBSITE_ADDONS_NETFLIX":"Гледајте филмови и веб серии на Нетфликс.","WEBSITE_ADDONS_CREATE":"Направете додаток","WEBSITE_ADDONS_CREATE_P1":"Доколку сакате, можете да развиете свој додаток. На овој начин, можете да си дадете себеси и нашата заедница пристап до нови видео содржини и да допрете до нова целна публика од милиони корисници ширум светот.","WEBSITE_ADDONS_START_CREATE":"За да започнете, посетете ја страницата Stremio Addon SDK:","WEBSITE_DOWNLOADS":"Преземања","WEBSITE_DOWNLOADS_P1":"За оптимални перформанси, ви препорачуваме да ја користите најновата достапна верзија на апликациите Stremio. Меѓутоа, ако поради некоја причина сакате да користите постара верзија, можете да ја преземете овде.","WEBSITE_DOWNLOADS_P1_SHORT":"За оптимални перформанси, ви препорачуваме да ја користите најновата достапна верзија на апликациите Stremio.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio за Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio за macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio за Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio за Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio за Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio за Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio за Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio за iOS","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio за Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio за LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio за Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio за Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio за Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio за Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio за Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio за Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio за Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio за Прелистувач","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Пребарајте го Stremio во App Store на моделите на Samsung TV од 2019+ година","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Пребарајте го Stremio во App Store на моделите на LG TV од 2020+","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Пребарајте Stremio во апликацијата Play Store на Sony TV со Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Пребарајте Stremio во апликацијата Play Store на Philips TV со Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Пребарајте го Stremio во App Store на вашиот уред Xbox","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Водич за Stremio OS на RPI","WEBSITE_LINK_GUIDE":"Водич","WEBSITE_DOWNLOAD_SERVICE":"Преземете ја Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service е придружна апликација за Stremio Web. Препорачуваме да ја користите најновата достапна верзија на Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service за Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service за macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service за Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service за Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio за Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"Повеќе опции за преземање","WEBSITE_DOWNLOAD_NEW":"Ново!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"Го објавивме Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"Го објавивме Stremio за Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"Го објавивме Stremio за LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"Го објавивме Stremio за Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"Го објавивме Stremio за Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"Платформата Stremio е со отворен код и лесно можете да креирате додаток за содржина што моментално не е изворна.","WEBSITE_CONTRIBUTE_WHY":"Зошто треба да креирате додаток?","WEBSITE_CONTRIBUTE_WHY_P1":"Допрете нова публика за вашата видео содржина","WEBSITE_CONTRIBUTE_WHY_P2":"Корисничката база на Stremio рапидно расте - во првата година од лансирањето, Stremio доби 1 милион корисници ширум светот, а во втората година од постоењето на платформата оваа бројка порасна на 2,5 милиони.","WEBSITE_CONTRIBUTE_WHY_P3":"Со вашиот додаток, можете лесно да допрете до оваа публика и да им ја дистрибуирате вашата видео содржина.","WEBSITE_CONTRIBUTE_ALL":"Гледајте ги омилените филмови, видеа, серии и канали на едно место.","WEBSITE_CONTRIBUTE_ALL_P1":"Дали сте обожаватели на одреден тип на содржина што сè уште не е достапна на Stremio? Направете додаток за него и уживајте во гледањето на вашите омилени видеа во еден од најголемите и најлесните забавни центри на пазарот.","WEBSITE_CONTRIBUTE_ALL_P2":"Згора на тоа, ќе ја добиете бескрајната благодарност од другите членови на заедницата Stremio истомисленици.","WEBSITE_CONTRIBUTE_MONETIZE":"Монетизирајте го вашиот додаток и заработете пари со негова помош","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Откако ќе развиете нов додаток за Stremio, можете лесно да го монетизирате на повеќе различни начини. Ако размислувате за ова, слободно стапете во контакт со нас на","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - со задоволство би ве консултирале и ве советуваме за опциите за монетизација на додатоците.","WEBSITE_CONTRIBUTE_TRANSLATE":"Станете волонтер преведувач","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Ако сакате да уживате во апликациите Stremio на различни јазици, можете да се придружите на нашата заедница на доброволни преведувачи. Тие ни помагаат да додадеме верзии на Stremio на многу различни јазици.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Дали сте желни да започнете?","WEBSITE_TRANSALTE_STREMIO":"Преведи го Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Официјални заедници","WEBSITE_COMMUNITY_OFFICIALS_P1":"Станете дел од растечката заедница Stremio. Следете не на социјалните мрежи и не се срамете да се поздравите - сакаме да слушаме од нашите обожаватели!","WEBSITE_COMMUNITY_UNOFFICIALS":"Неофицијални заедници","STREMIO_COMMUNITY_NL":"Stremio Холандија","STREMIO_COMMUNITY_BRASIL":"Stremio Бразил","STREMIO_COMMUNITY_GERMANY":"Stremio Германија","STREMIO_COMMUNITY_BELGIUM":"Stremio Белгија","STREMIO_COMMUNITY_FRANCE":"Stremio Франција","STREMIO_COMMUNITY_PORTUGAL":"Stremio Португалија","STREMIO_COMMUNITY_ITALY":"Stremio Италија","STREMIO_COMMUNITY_UK":"Stremio ОК","STREMIO_COMMUNITY_USA":"Stremio САД","STREMIO_COMMUNITY_MEXICO":"Stremio Максико","STREMIO_COMMUNITY_ADDONS":"Stremio Додатоци","STREMIO_COMMUNITY_AWESOME":"Прекрасен Stremio","WEBSITE_COMMUNITY_PARTNERS":"Партнери и поддржувачи","WEBSITE_COMMUNITY_GOODIES":"Stremio добра","WEBSITE_COMMUNITY_WALLPAPERS":"Позадини","WEBSITE_COMMUNITY_ART":"Заедница Art Gallery","WEBSITE_LINK_ART":"Заедница art gallery","WEBSITE_CONTACT_US":"Контактирајте не","WEBSITE_CONTACT_US_P1":"Ако имате какви било прашања, коментари или предлози, слободно стапете во контакт со нас преку контакт формата подолу.","WEBSITE_CONTACT_US_P2":"Имајте на ум дека сме лоцирани во Бугарија, така што може да има одложување во решавањето на вашето барање поради разлики во временската зона.","WEBSITE_CONTACT_US_SUCCESS":"Твојата порака е пратена. Ќе ви одговориме што е можно поскоро.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Ве молиме внесете валидна е-пошта!","WEBSITE_CONTACT_US_Q_RELATED_TO":"Со што е поврзано твоето прашање?","WEBSITE_CONTACT_US_Q_OS":"Кој е вашиот оперативен систем?","WEBSITE_CONTACT_US_PH_EMAIL":"Твојата Е-Пошта","WEBSITE_CONTACT_US_PH_MESSAGE":"Порака","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"ИСПРАТИ","WEBSITE_CONTACT_US_Q_1":"Како да инсталирам?","WEBSITE_CONTACT_US_Q_2":"Како да се деинсталирам?","WEBSITE_CONTACT_US_Q_3":"(HTML) Како да направите лазања?","WEBSITE_CONTACT_US_Q_4":"Додатоци","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Технологија","WEBSITE_TECHNOLOGY_P1":"Ја сакаме технологијата и лудата наука. </br> Еве што го напојува Stremio (сето тоа е со отворен код).","WEBSITE_TECHNOLOGY_P_QT":"Развој на софтвер меѓу платформи во најдобар случај.","WEBSITE_TECHNOLOGY_P_MPV":"Бесплатен медиа плеер со отворен код и меѓуплатформски.","WEBSITE_TECHNOLOGY_P_RN":"React Native ви овозможува да креирате мобилни апликации користејќи само JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework вградена во апликацијата за добивање мултимедија.","WEBSITE_TECHNOLOGY_P_REALM":"Realm е мобилна платформа и замена за SQLite и Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js е опкружување со отворен код, меѓу-платформа, JavaScript за извршување.","WEBSITE_TECHNOLOGY_P_RUST":"Rust е програмски јазик со повеќе парадигма, фокусиран на безбедноста, особено на безбедното истовремено.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Придонесете во проектот","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Постојат два начини на кои можете да придонесете за Stremio и да ни помогнете да го направиме производот уште подобар.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Можете да ги донирате вашите вредни јазични вештини со преведување на платформата...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"или","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... можете да ги искористите вашите вештини за кодирање за создавање додатоци во заедницата. ","WEBSITE_TRANSLATE_STREMIO":"Преведи го Stremio","WEBSITE_404_OH_NO":"Уф! Страницата што ја барате не е тука...","WEBSITE_GO_HOME":"Оди на почетна","WEBSITE_LINK_OTHER_DOWNLOADS":"Други преземања","WEBSITE_FAQ_ABR":"НПП","WEBSITE_SUPPORT":"Поддршка","WEBSITE_DOWNLOAD_4_0_BETA":"Преземете сега Stremio 4 бета","WEBSITE_GET_FOR_DESKTOP":"Превземи за декстоп","WEBSITE_LINK_ADDON_COMPETITION":"Натпревар за додатоци","WEBSITE_LINK_ART_CONTEST":"Уметнички натпревар","WEBSITE_MY_ACCOUNT":"Мојта сметка","WEBSITE_MAINPAGE_FAQ_001_H1":"Што е Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio е модерен медија центар кој ви дава слобода да гледате сè што сакате.","WEBSITE_MAINPAGE_FAQ_002_H1":"Како работи?","WEBSITE_MAINPAGE_FAQ_002_P1":"Откако ќе го инсталирате Stremio на вашиот уред и ќе создадете сметка, сè што треба да направите е да го посетите каталогот на додатоци и да инсталирате кој било додаток што го сакате, и вие сте подготвени за гледање!","WEBSITE_MAINPAGE_FAQ_002_P2":"После тоа, можете да отидете во секциите Откријте или Табла за да започнете со истражување на содржината.","WEBSITE_MAINPAGE_FAQ_003_H1":"Што можам да гледам овде?","WEBSITE_MAINPAGE_FAQ_003_P1":"Многу: Филмови, ТВ емисии, веб-канали, спорт, ТВ канали, слушање поткасти и многу повеќе. Благодарение на нашиот систем за додатоци, можете да пристапите до разновидна содржина.","WEBSITE_MAINPAGE_FAQ_004_H1":"Дали Stremio е со отворен код?","WEBSITE_MAINPAGE_FAQ_004_P1":"Да, можете да ги проверите следните врски: ${1}десктоп апликација${2} и ${3}GitHub организација${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Дали Stremio е безбеден?","WEBSITE_MAINPAGE_FAQ_005_P1":"Да: бидејќи е софтвер со отворен код, кодот може јавно да се ревидира и можете сами да го прегледате.","WEBSITE_MAINPAGE_FAQ_005_P2":"Системот за додатоци на Stremio исто така беше создаден имајќи ја предвид безбедноста на корисникот. Додатоците не користат никаков код локално, така што тие не претставуваат ризици за вашиот уред.","WEBSITE_MAINPAGE_FAQ_006_H1":"Што е со мојата приватност?","WEBSITE_MAINPAGE_FAQ_006_P1":"Ја почитуваме приватноста на корисниците и не собираме никакви лични податоци освен суштинскиот минимум за креирање и синхронизирање на вашата сметка.","WEBSITE_MAINPAGE_FAQ_006_P2":"Постои и ${1}Режим за гостин${2} при регистрација, за кој не се потребни никакви податоци: во овој режим, не ни се испраќаат податоци. Сепак, тоа доаѓа на сметка на корисни функции, како што е можноста да ја синхронизирате вашата колекција низ уредите.","WEBSITE_MAINPAGE_FAQ_007_H1":"Може ли да емитувам на мојот телевизор?","WEBSITE_MAINPAGE_FAQ_007_P1":"Да, ние поддржуваме Chromecast и може да емитувате и од десктоп и од мобилни апликации (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"Колку додатоци има Stremio?","WEBSITE_MAINPAGE_FAQ_008_P1":"Од крајот на 2019 година, над 50 - за повеќе информации, проверете го нашиот каталог на додатоци.","WEBSITE_MAINPAGE_FAQ_009_H1":"Може ли Stremio да се прошири надвор од она што е во каталогот на додатоци?","WEBSITE_MAINPAGE_FAQ_009_P1":"Да, треба да ги проверите: ${1}PimpMyStremio${2}, ${3}Reddit заедници${4}, ${5}Stremio Downloader${6} итн.","WEBSITE_MAINPAGE_FAQ_010_H1":"Кои уреди поддржува Stremio?","WEBSITE_MAINPAGE_FAQ_010_P1":"Имаме десктоп апликации за Windows, Mac и Linux. За мобилни, ние поддржуваме Android и iOS, иако имајте на ум дека iOS е ограничен во функционалноста (не поддржува повеќето додатоци).","WEBSITE_MAINPAGE_FAQ_010_P2":"Има многу уреди базирани на Android на кои можете да го стартувате Stremio, како NVIDIA Shield и Amazon Fire Stick, но ние не ги поддржуваме официјално.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"маме десктоп апликации за Windows, Mac и Linux. Имаме и посветени апликации за Android Mobile и Android TV. За iOS и iPadOS предлагаме користење на Stremio Web, иако е поограничена во функционалноста.","WEBSITE_MAINPAGE_FAQ_011_H1":"Можете ли да додадете одредена содржина во Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"За жал, ние самите не обезбедуваме содржина, но колку повеќе Stremio додатоци имате инсталирано, толку повеќе содржини ќе можете да најдете.","WEBSITE_MAINPAGE_FAQ_012_H1":"Дали Stremio може да репродуцира магнетни врски?","WEBSITE_MAINPAGE_FAQ_012_P1":"Да, и исто така може да репродуцира нормални HTTP-врски и торент-датотеки (повлечи и пушти).","WEBSITE_MAINPAGE_FAQ_013_H1":"Може ли да преземам видео и да гледам офлајн?","WEBSITE_MAINPAGE_FAQ_013_P1":"Достапно офлајн е претстојна функција, но ако дозволите Stremio да кешира на вашиот уред (од панелот за поставки), можете да ги гледате видеата подоцна без интернет.","WEBSITE_MAINPAGE_FAQ_014_H1":"Ништо не функционира, помогни ми!","WEBSITE_MAINPAGE_FAQ_014_P1":"Дали сте сигурни дека имате инсталирано додатоци? Ако одговорот е да, проверете кај нашиот ${1}центар за помош${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"Како Stremio ги одржува своите развојни операции?","WEBSITE_MAINPAGE_FAQ_015_P1":"Повремено прикажуваме ненаметливи реклами, но размислуваме да преминеме на модел на донација.","WEBSITE_MAINPAGE_FAQ_015_P2":"За повеќе прашања, одете во нашиот ${1}центар за помош${2}.","HELP_LEARN_MORE":"Помогнете ни да дознаеме повеќе за вас.","LIFESTYLE":"Начин на живот","SPORTS":"Спорт","FOOD_HEALTH":"Храна и здравје","BEAUTY_FASHION":"Убавина и мода","NEWS":"Вести","GAMING":"Гејминг","SCIENCE_EDUCATION":"Наука и образование","MUSIC":"Музика","TRAVEL":"Патување","LATE_NIGHT":"Доцна ноќ","REALITY":"Реалност","COMEDY":"Комедија","DIY":"Како да направите сам","TECH":"Технологија","CINEMA":"Кино","CONTINUE":"Продолжи","SLOW_LOADING":"БАВНО СЕ ВЧИТУВА?","I_GIVE_UP":"СЕ ПРЕДАВАМ","LEARN_MORE":"Научи повеќе","POOR_SOURCE":"Овој извор е слабо достапен или вашата интернет-врска не е доволно брза","PICK_CATEGORIES_ERR":"Треба да изберете најмалку 3 категории","ADJUST_TIMING":"Прилагодете го времето со ","ADJUST_SIZE":"Прилагодете ја големината со ","SEARCH_ANYTHING":"Можете да пребарувате сè...","ALL_CATEGORIES":"Сите","SEARCH_CATEGORIES":"Филмови, Серии, YouTube и ТВ","SEARCH_PERSONS":"Актери, Режисери и Писатели","SEARCH_PROTOCOLS":"HTTP & Magnet Links","SEARCH_TYPES":"Врски на IMDB / TVDB","WATCHED":"Гледано","SHOW_LESS":"Покажете помалку","LAST_SEARCHES":"Последни пребарувања","CLEAR_HISTORY":"Исчисти историја","CHOOSE_SOME":"ИЗБЕРЕТЕ НЕКОИ ОД ОВА:","NO_WEB_REMOTE":"Веб далечинскиот управувач не може да се вчита","STREMIO_OFFLINE":"Stremio е офлајн","STREMIO_EXPENSIVE_CONNECTION":"Откривме дека користите конекција за мобилни податоци, дали сакате да продолжите?","USE_DATA":"Користете податоци","WARNING":"Предупредување","MORE_INFO":"Повеќе информации...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"се вчитува ...","STREMIO_TV_BACK_TO_LANGUAGES":"Назад кон јазиците","STREMIO_TV_REMOTE":"Далечински управувач","STREMIO_TV_GO_TO":"Оди до:","STREMIO_TV_OR_SCAN":"или скенирајте:","STREMIO_TV_ADDON_INSTRUCTIONS":"Ве молиме следете ги упатствата за да ги инсталирате вашите претпочитани додатоци.","STREMIO_TV_LIVE_TV":"ТВ во живо","STREMIO_TV_RESUME_WATCHING":"Продолжи со гледање","STREMIO_TV_LOADING_BACKGROUND":"Вчитување на позадината","STREMIO_TV_CHECKING_AUTHENTICATION":"Проверка на автентикација","STREMIO_TV_LOADING_BOARD":"Табла за вчитување","STREMIO_TV_LOGIN_HEADER_LINE_1":"Сакаме нашите корисници да имаат најдобро можно персонализирано искуство со нашиот софтвер.","STREMIO_TV_LOGIN_HEADER_LINE_2":"Токму поради оваа причина, ве молиме да направите и/или да се најавите на вашата сметка.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Ви благодариме на разбирањето,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Тимот на Stremio","STREMIO_TV_REMOTE_INSTRUCTIONS":"За да го користите веб-далечинскиот управувач со вашиот паметен телефон / таблет / десктоп:","STREMIO_TV_WIFI_SETUP":"Поставување Wi-Fi","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle не откри интернет конекција.","STREMIO_TV_WIFI_DETAILS_1":"Поврзете се со:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Користете лозинка:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Отворете веб-прелистувач со врската:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Стандардно","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"По последно гледано","STREMIO_TV_LIBRARY_SORT_NAME":"По име","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"По име опаѓачки","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"По временско гледање","STREMIO_TV_LIBRARY_SORT_WATCHED":"По Гледано","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"По Негледано","STREMIO_TV_DETAILS_SEASON_NUMBER":"Сезона ${1}","STREMIO_TV_STREAMS_LOADING":"Вчитано ${1} / ${2} додатоци...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} додатокот сè уште се вчитува...","STREMIO_TV_PLAYER_SETTINGS":"Поставки на плеерот","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Доцнење на преводи","STREMIO_TV_PLAYER_AUDIO_DELAY":"Аудио доцнење","STREMIO_TV_PLAYER_VIDEO_SCALING":"Видео скалирање","STREMIO_TV_PLAYER_CHAPTERS":"Поглавја","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Прескокни ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Неподдржан извор на пренос","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Неуспешно отворање на надворешна врска","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Не може да се прилагоди во режимот на аудио премин","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Пушти со ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Пушти со libVLC плеер","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Префрлување на libVLC плеер поради грешка при репродукција","STREMIO_TV_ADDONS_TITLE":"Користете Stremio на вашиот телефон или компјутер за да инсталирате или конфигурирате додатоци и притиснете \\"Синхронизирајте додатоци\\"","STREMIO_TV_ADDONS_SUBTITLE":"Забелешка: проверете дали ја користите истата сметка на Stremio","STREMIO_TV_ADDONS_SYNC_ADDONS":"Синхронизирајте додатоци","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Додатоците се успешно синхронизирани","STREMIO_TV_ADDONS_SYNC_FAILED":"Не успеа да се синхронизираат додатоците","STREMIO_TV_META_LINK_FAILED":"Неуспешно отворање на мета-врската","STREMIO_TV_CATALOG_LOADING":"Каталогот сè уште се вчитува...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Јазикот на интерфејсот е ажуриран","STREMIO_TV_SETTINGS_THEME_UPDATED":"Темата е ажурирана","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Стандарден плеер","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Надворешен плеер","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Префериран јазик","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Секундарен префериран јазик","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Можни проблеми со репродукцијата на некои уреди","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Некои видео формати може да не работат","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Оневозможено","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"Нема кеширање","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Стандардно","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Меко","STREMIO_TV_SETTINGS_PROFILE_FAST":"Брзо","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ултра брзо","STREMIO_TV_SETTINGS_SERVER_URL":"УРЛ на серверот за стриминг","STREMIO_TV_SETTINGS_SERVER_VERSION":"Сервер верзија","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Непознато","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio верзија","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Уреди URL на серверот","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Внесете URL-адреса на серверот за стриминг","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Прикажи статистика додека се вчитува","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"За да ја прочитате Политиката за приватност на Stremio, посетете:","STREMIO_TV_SETTINGS_TOS_TEXT":"За да ги прочитате одредбите и условите на Stremio, посетете:","STREMIO_TV_NAV_SEARCH":"Пребарување","STREMIO_TV_NAV_HOME":"Почетна","STREMIO_TV_NAV_DISCOVER":"Откријте","STREMIO_TV_NAV_LIBRARY":"Колекција","STREMIO_TV_NAV_MOVIES":"Филмови","STREMIO_TV_NAV_SERIES":"Серии","STREMIO_TV_NAV_CHANNELS":"Канали","STREMIO_TV_NAV_TV":"ТВ во живо","STREMIO_TV_NAV_SETTINGS":"Поставки","STREMIO_TV_NAV_ADDONS":"Додадоци","STREMIO_TV_LOGIN_TITLE":"Поврзете ја сметката","STREMIO_TV_LOGIN_EXPIRES_IN":"Истекува за","STREMIO_TV_LOGIN_STEP_ONE":"Скенирајте го QR-кодот погоре или одете на","STREMIO_TV_LOGIN_STEP_TWO":"Најавете се на вашата сметка на Stremio","STREMIO_TV_LOGIN_NEW_LINK":"Побарајте нова врска","STREMIO_TV_LOGIN_LINK_REFRESHED":"Кодот за најавување е освежен","STREMIO_TV_SEARCH_PLACEHOLDER":"Напишете нешто","STREMIO_TV_SEARCH_NO_ADDONS":"Не беа побарани додатоци за каталози!","STREMIO_TV_SEARCH_BUTTON":"Пребарување","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Историја на пребарување","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Можете да пребарувате за наслови, актери, канали и повеќе...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Исчистете ја историјата на пребарување","STREMIO_TV_FILTERS_DESCRIPTION":"Изберете од еден од филтрите подолу","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Серверот за стриминг е офлајн. Проверете ги поставките на серверот.","FILTERS":"Филтри","SETTINGS":"Поставувања","ACCOUNT":"Сметка","LOGOUT":"Одјавување","THEMES":"Теми","PLAYBACK":"Репродукција","PLAYBACK_SPEED":"Брзина на репродукција","AUDIO_TRACKS":"Аудио Траки","UNKNOWN_TRACK_LANG":"Непознат","VIDEOS":"Видеа","SERVER":"Сервер","LINKS":"Врски","ABOUT":"За","INTERFACE":"Интерфејс","ANIMATIONS":"Анимации","STATUS":"Статус","LANGUAGE":"Јазик","SIZE":"Големина","DELAY":"Одложување","BOLD":"Задебелен","OPACITY":"Проѕирност","TEXT_COLOR":"Боја на текстот","OUTLINE_COLOR":"Боја на рамка","BACKGROUND_COLOR":"Боја на позадина","BACKGROUND_BLUR":"Заматување на позадината","SEEK_TIME_DURATION":"Времетраење на пребарувањето","AUTO_PLAY":"Автоматски пушти следна епизода","PLAY_NOW":"Пушти сега","MARK_AS_WATCHED":"Означи како гледано","MARK_AS_UNWATCHED":"Означи како негледано","REWIND_TO_BEGINNING":"Премотајте назад кон почеток","CONTINUE_WATCHING":"Продолжи со гледање","ALL":"Сите","SECONDS":"секунди","ON":"Вклучено","OFF":"Исклучено","RELOAD":"Вчитај повторно","EDIT_URL":"Уреди URL","NONE":"Никој","EMBEDDED":"Вградени","REMOTE_SWITCH_DEVICES":"Префрли уреди","REMOTE_VIDEOS":"Видеа","REMOTE_ADJUST_TIMING":"Прилагодете го времето","REMOTE_ADJUST_SIZE":"Прилагодете ја големината","REMOTE_COULD_NOT_BE_LOADED":"Веб далечинскиот управувач не може да се вчита","REMOTE_RETRY":"Обидете се повторно","TORRENT_PROFILE_DEFAULT":"Стандардно","TORRENT_PROFILE_SOFT":"Меко","TORRENT_PROFILE_FAST":"Брзо","TORRENT_PROFILE_ULTRA_FAST":"Ултра брзо","FAQ_001_H1":"Што е Stremio?","FAQ_001_P1":"Stremio е медија центар софтвер дизајниран за видео со лесен за користење. Stremio ви овозможува да организирате &amp; гледајте вашата сопствена колекција на филмови, серии, канали и ТВ во живо.","FAQ_001_P2":"Stremio ја собира содржината што ви ја прикажува од вашиот локален диск и нашиот систем за додатоци.","FAQ_001_P3":"Исто така, ќе ве извести кога ќе излезат нови епизоди/видеа/филмови за кои сте заинтересирани и ќе ви обезбеди препораки за филмови.","FAQ_02_H1":"Како Stremio се споредува со Kodi и Plex?","FAQ_02_P1":"Ние сме инспирирани од тие два софтвери. Но, ние имаме различни цели - Stremio е специфично насочен кон забавно видео и се стреми да стане главното решение за тоа со тоа што е многу лесен за употреба.","FAQ_02_P2":"Stremio никогаш нема да биде приспособлив и богат со карактеристики како Kodi и Plex, но значително е полесен за користење. Само ${1} земете го и видете ${2} :)","FAQ_03_H1":"Како Stremio се споредува со Netflix?","FAQ_03_P1":"Повторно, Netflix е една од нашите инспирации. Се стремиме да го постигнеме корисничкото искуство на Netflix, плус многу додадени добрите. Но, што е најважно, ви даваме слобода да управувате со сопствената колекција и да додавате нови извори на содржина со нашиот систем за додатоци.","FAQ_03_P2":"Тоа го прави Stremio бескрајно продолжен, па кога користите Stremio, никогаш не сте ограничени на содржината што Netflix одлучи да ја лиценцира. На пример, преку Stremio можете да гледате содржини од ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo$ {8} па дури и самиот ${9}Netflix${10}!","FAQ_04_H1":"Како Stremio се споредува со Flipboard?","FAQ_04_P1":"Тоа прашање не го добиваме толку често, освен кога разговараме со почетници :)","FAQ_04_P2":"Stremio по дизајн е агрегатор на содржина, што во суштина го прави Flipboard за видео. Ова е многу видливо во нашиот дел од Одборот, кој ви дава каталози и известувања за нови епизоди/нови видео за она што го следите, исто како Flipboard.","FAQ_05_H1":"Како Stremio се споредува со Popcorn Time?","FAQ_05_P1":"Stremio и Popcorn Time се слични во корисничкиот интерфејс, бидејќи нема многу начини како правилно да се прават каталози за видео забава :)","FAQ_05_P2":"Но, додека Popcorn Time е фокусиран на стриминг торенти од одредени извори, Stremio е неограничен и е само агрегатор на содржина - не е заклучен во одреден извор на содржина.","FAQ_05_P3":"Понатаму, стандардно не обезбедуваме никакви додатоци за торент, така што Stremio не го покрива случајот на употреба Popcorn Time со официјална функционалност.","FAQ_05_P4":"Друга забележлива разлика е што Popcorn Time е целосно со отворен код, додека Stremio е ${1} делумно отворен извор${2}.","FAQ_06_H1":"Дали ќе го додадете овој филм/серијал?","FAQ_06_P1":"Не, извини :(","FAQ_06_P2":"Како што е споменато во повеќето други прашања, Stremio не обезбедува никаква содржина сам по себе - сè се додава преку системот за додатоци. Во случај да имате барање за содржина, можете да го користите копчето „Пријави“ во Плеерот, кое ќе испрати е-пошта до авторот на додатокот што моментално го користите.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Дали ќе креирате додаток за X?","FAQ_08_P1":"Тоа е сосема можно.","FAQ_08_P2":"Ако имате идеја за додаток, пишете ни на ${1}office@stremio.com${2}, но проверете дали вашата идеја за додаток нема да ги наруши авторските права или условите за користење.","FAQ_08_P3":"Во моментов, следните работи на нашиот патоказ се додатоци за FandangoNOW, Filmon.tv видео на барање и Crunchyroll.","FAQ_09_H1":"Дали Stremio користи BitTorrent?","FAQ_09_P1":"Да, Stremio поддржува BitTorrent како протокол за стриминг. Можете да го користите или со додаток за torrent, или со влечење и пуштање датотека .torrent во Stremio или со залепување магнетна врска во лентата за пребарување.","FAQ_09_P2":"Имајте предвид дека единствениот официјален додаток кој користи BitTorrent е ${1}Vodo${2}, кој обезбедува инди содржина, а сето тоа е дозволено да се дистрибуира со BitTorrent.","FAQ_09_P3":"Не поддржуваме употреба на додатоци од трета страна што може да овозможат прекршување на авторските права.","FAQ_10_H1":"Што можам да гледам во Stremio со официјалните додатоци?","FAQ_10_P1":"Стандардно, можете да гледате содржини на Filmon.tv, YouTube и Vodo во самиот Stremio, со неговиот вграден плеер. Дополнително, имаме додаток за Twitch.tv и неколку други.","FAQ_10_P2":"Оваа комбинација обезбедува избор на:","FAQ_10_L1":"Популарни ТВ канали, обезбедени од Filmon.tv - на пример E4, BBC, Bollyworld TV","FAQ_10_L2":"Сè од YouTube - на пример BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Инди филмови со Vodo","FAQ_10_L4":"Емитување на онлајн игри со Twitch.tv","FAQ_10_P3":"Дополнително, има многу извори на содржина обезбедени со Guidebox и додатоците на Netflix, кои <b>не</b> се репродуцираат целосно во Stremio, туку би се пренасочиле на дадената услуга. На пример, додатокот Guidebox ќе ви даде избор на филмови што можете да ги проследувате во САД бесплатно, од услуги како TubiTV и Crackle.","FAQ_11_H1":"Stremio нема да се инсталира, што да правам?","FAQ_11_P1":"Ако сте на Windows, обидете се со ${1}овој алтернативен инсталатер${2}.","FAQ_11_P2":"Ако сте на Mac OS X, ве молиме имајте предвид дека не поддржуваме ништо постаро од OS X Mavericks (10.9).","FAQ_11_P3":"Ако сте на Linux, имајте предвид дека ние во моментов поддржуваме само 64 битен (x64) Linux.","FAQ_11_P4":"Ако сè уште не можете да го решите вашиот проблем, пишете ни во нашата ${1}група на Facebook${2}.","FAQ_12_H1":"Зошто се жали мојот антивирус? Дали Stremio е безбеден?","FAQ_12_P1":"Ве уверуваме дека Stremio е ${1}100% чист${2}.","FAQ_12_P2":"Вашиот антивирус се жали затоа што вклучуваме рекламирање во нашиот инсталатер, кој некои антивирусни програми го препознаваат како рекламна програма.","FAQ_12_P3":"Ако сè уште не сте сигурни, можете да го испробате нашиот ${1}алтернативен инсталатер${2}.","FAQ_13_H1":"Како можам да направам додаток?","FAQ_13_P1":"За почеток, ви препорачуваме да го проверите нашиот ${1}системски модул за додатоци${2} на GitHub.","FAQ_13_P2":"Потоа, можете да го следите упатството за ${1}Hello World${2}.","FAQ_13_P3":"Ако немате никакви програмски вештини, ве молиме објавете ја вашата идеја на ${1}заедницата на Reddit${2} и контактирајте не со вашата идеја за додаток на ${3}office@stremio.com${4}.","FAQ_14_H1":"Како се објавуваат додатоците?","FAQ_14_P1":"Кога креирате додаток и хост и ставате поле <b>endpoint</b> во вашиот манифест, што укажува на работна адреса за додаток, додатокот автоматски ќе се објави во нашиот ${1}Addon каталог${2} .","FAQ_14_P2":"Ова се случува затоа што серверот дел од модулот stremio-addons автоматски се јавува до нашиот API за да го објави додатокот. Кога нашиот API ќе ја потврди вашата <b>крајна точка</b> како валиден додаток, тој ќе почне да се прикажува во каталогот.","FAQ_15_H1":"Може ли да го стартувам Stremio во мојот прелистувач?","FAQ_15_P1":"Не во моментов, но ова доаѓа!","FAQ_15_P2":"Ако сте љубопитни да видите Alpha, можете да ја видите овде: ${1}alpha4.strem.io${2}. Имајте на ум, преносот е оневозможен на оваа алфа. Ние поддржуваме Chrome, Firefox, Opera и Edge.","FAQ_16_H1":"Емитувањето на ТВ не функционира / преводите не функционираат","FAQ_16_P1":"Емитувањето на ТВ ја користи технологијата DLNA која е многу неконзистентна помеѓу различни брендови и модели на ТВ. Поради таа причина, немаме можност да го тестираме во секој случај, па затоа е далеку од совршен. И покрај тоа, ние работиме постојано да го подобруваме, но не можеме да ви дадеме временска проценка кога DLNA ќе почне да работи правилно со вашиот телевизор.","FAQ_16_P2":"Ако дури и не го гледате вашиот телевизор во менито за емитување, обидете се да ја оневозможите мрежната врска и повторно да ја овозможите (на Windows, кликнете со десното копче на мрежата и користете Овозможи/Оневозможи), како и рестартирање на рутерот, ТВ и компјутерот .","FAQ_16_P3":"Ако сè уште се соочувате со проблеми, можете да ни помогнете со испраќање информации за брендот и моделот на вашиот телевизор на ${1}office@stremio.com${2}.","FAQ_16_P4":"Во меѓувреме, го препорачуваме Chromecast, кој го поддржуваме многу добро, или едноставно да го вклучите вашиот телевизор на вашиот компјутер со HDMI кабел.","FAQ_17_H1":"Stremio замрзнува и/или паѓа, што можам да направам?","FAQ_17_P1":"Прво, ако користите Windows 7 со AVG антивирус: имаме проблем со таа комбинација. Проблемот е во самиот AVG и не постои разумен начин да се реши од наша страна. За жал, исклучоците или оневозможувањето на антивирусот нема да работи. Единственото решение е да го замените AVG со нешто друго.","FAQ_17_P2":"Ако тоа не е проблемот, но сè уште користите Windows, ажурирајте го на најновиот сервисен пакет и ажурирајте ги/повторно инсталирајте ги драјверите за графичкиот процесор, а потоа обидете се повторно.","FAQ_17_P3":"Ако проблемот сè уште не е решен или користите Mac или Linux, пишете ни да ги пријавиме точните детали за проблемот во ${1}нашата група на Facebook${2}.","FAQ_18_H1":"Како можам да направам додаток?","FAQ_18_P1":"За почеток, ви препорачуваме да го проверите нашиот ${1}системски модул за додатоци${2} на GitHub.","FAQ_18_P2":"Потоа, можете да го следите упатството за ${1}Hello World${2}.","FAQ_18_P3":"Ако немате никакви програмски вештини, ве молиме објавете ја вашата идеја на ${1}заедницата на Reddit${2} и контактирајте не со вашата идеја за додаток на ${3}office@stremio.com${4}.","FAQ_19_H1":"Зошто Stremio зафаќа простор на дискот?","FAQ_19_P1":"Stremio има <b>локален кеш</b> за привремено да ги задржи видео-датотеките што ги пренесувате.","FAQ_19_P2":"Ова има две предности: прво, му овозможува на Stremio однапред да го тампонира видеото што следи за да обезбеди понепречено проследување. Второ, ги чува видеата во локалната кеш за да можете да продолжите да ги гледате офлајн.","FAQ_19_P3":"Колку ќе задржи Stremio зависи од поставката <b>Кеш</b> во панелот Поставки. Stremio може да се задржи до поставената количина (на пр. 2 GB) на вашиот диск, освен ако моментално емитуваното видео е поголемо од тоа, во тој случај треба да одвои доволно простор за да го задржи додека не го пренесувате.","FAQ_20_H1":"Каде е папката кеш?","FAQ_20_P1":"На Windows, тоа е stremio-cache во уредот што го избравте во Поставки (пример. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"На MacOS, е \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"На Linux, е \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"Добивам грешка \\"Серверот за стриминг не е пронајден\\", што можам да направам?","FAQ_21_P1":"Ако ја добиете оваа грешка, тоа значи една од неколкуте работи:","FAQ_21_P2":"1) Се обидувате да користите додаток поддржан од извор на YouTube/BitTorrent, преку нашата ${1}веб верзија${2}. Во овој случај, треба да ја инсталирате нашата десктоп верзија од ${3}нашата веб-локација${4}.","FAQ_21_P3":"2) Нешто не е во ред со вашата инсталација Stremio. Во овој случај, обидете се повторно да ја инсталирате нашата најнова верзија за десктоп од ${1}веб-страницата${2}. Ако ова не помогне, обидете се да ги оневозможите антивирусните програми и заштитните ѕидови, рестартирајте го компјутерот и обидете се повторно. Ако и ова не функционира, пишете ни во нашата ${3}нашата група на Facebook${4}.","FAQ_22_H1":"Не можам да ги видам/користам повеќето додатоци на iOS","FAQ_22_P1":"Поради ограничувањата во одредбите и условите на Apple App Store, ја ограничивме апликацијата за iOS само на одреден сет на додатоци.","FAQ_22_P2":"Но, бидете сигурни - ќе има повеќе додатоци за iOS во иднина, а може да додадеме и интеграција што ќе ви овозможи да ги користите сите додатоци на Stremio благодарение на поврзувањето на апликацијата за iOS со серверот за стриминг Stremio."}')},56735:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Wayang","TYPE_series":"Siri","TYPE_tv":"Saluran TV","TYPE_channel":"Saluran","TYPE_other":"Other","TYPE_movie_PL":"Wayang","TYPE_series_PL":"Siri","TYPE_tv_PL":"Saluran TV","TYPE_channel_PL":"Saluran","TYPE_other_PL":"Others","TYPE_ALL":"All","TYPE":"Type","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"Video","BACK":"Kembali","MORE":"More","DONE":"Done","COPY":"Copy","SUCCESS":"Success","ERROR":"Error","SETTINGS_CASTING_MODE_PICKER":"Casting mode","CASTING_MODE_HLSV2":"Default","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"No transcoding","Discover":"Teroka","Board":"Papan","Library":"Pustaka","My Library":"My Library","Calendar":"Takwim","NOTIFICATION_ONLINE":"You are now online","NOTIFICATION_OFFLINE":"You are currently offline","INTERNET_CONNECTION":"Network connection","STORAGE_FULL_TITLE":"Warning: Storage full!","STORAGE_FULL_TEXT":"Stremio will not be able to save your settings, preferences or login information. Consider re-starting or re-installing Stremio.","SEARCH":"cari","SEARCH_NO_RESULTS":"No results were found","SEARCH_EXPLANATION_CONTENT":"Search for movies, series, YouTube and TV channels","SEARCH_EXPLANATION_PEOPLE":"Search for actors, directors and writers","SEARCH_PASTE_LINKS":"Paste HTTP and Magnet links","SEARCH_OR_PASTE_LINK":"Search or paste link","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"Tambah dalam Pustaka","REMOVE_FROM_LIB":"Keluarkan dari Pustaka","ADDED_TO_LIB":"Added to Library","REMOVED_FROM_LIB":"Removed from Library","TRAILER":"Trailer","WATCH_TRAILER":"Watch Trailer","WATCH_NOW":"Tonton Sekarang","SHOW":"Tayang","SHOW_MOVIE":"Show Movie","WATCH_RANDOM":"Watch Random","IMDB_RATING":"IMDb","YEAR":"Tahun","DIRECTOR":"Pengarah","WRITER":"Penulis","LEAD_ACTORS":"Teraju Utama","CAST":"Pelakon","CREW":"Crew","SHOW_MORE_CAST":"Show more »","AIRED":"Ke Udara","SEASONS":"Musim","GENRE":"Genre","GENRE_ALL":"All genres","CATALOG":"Catalog","SUMMARY":"Ringkasan","SHOW_MORE":"Show More","SIMILAR":"Yang Serupa","UPCOMING":"Akan Datang","ENDED":"Tamat","DURATION":"Tempoh","FEATURED":"Featured","METADATA":"Metadata","CATEGORY":"category","LINKS_GENRES":"Genres","LINKS_CAST":"Cast","LINKS_DIRECTORS":"Directors","SEARCH_VIDEOS":"cari video","SEARCH_PLACEHOLDER":"search or paste magnet link","ADDON":"addon","ADDONS":"Addons","OFFICIAL":"rasmi","ADDONS_OFFICIAL":"Addons Stremio Rasmi","ADDONS_POPULAR":"Mahsyur di kawasan anda","ADDON_FREE":"Percuma","ADDON_PEERED":"peered","ADDON_SUBSCRIPTION":"langganan","ADDON_STREAM_GEORESTRICTED":"tiada dalam kawasan anda","ADDON_STREAM_OFFLINECACHE":"Offline Cache","ADDON_STREAM_LOCALFILE":"Local File","SHARE_ADDON":"Share addon","AVAILABLE_STREAMS":"Streams yang sedia ada","NO_STREAM":"Tiada streams buat masa ini","ALL_ADDONS":"All","INSTALL_MORE_ADDONS":"For more streams, please install more addons","STREAM_NOT_SUPPORTED":"Selected stream is not supported on this platform.","ADDON_CATALOGUE":"Tunjukkan semua addons »","ADDON_CATALOGUE_MORE":"More addons »","REPO_ADDED":"Repository added","ADDON_REPO_EXIST_ERR":"This addons repository already exist","ADDON_REPO_ERR":"Error occurred while adding repository","ADDON_ADD_ERR":"Error occurred while adding addon","ERR_ADDON_PROTECTED":"Protected addon","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Something went wrong - authentication may have failed","ERR_NOT_COLLECTION_URL":"Not a collection url","ERR_NOT_ADDON_URL":"Not an addon url","ERR_DETECTFROMURL":"Cannot detect from url","ADDON_DUPLICATE_WARNING":"Warning: duplicated addon","ADDON_COLLECTION_SET_FAILED":"Addon collection set failed","SETTINGS_DATA_EXPORT":"Export data","ADDON_PULL_FAILED":"Addon pulling failed","REFRESH_ON_CLICK":"Click to retry","STILL_IN_THEATER":"Tayangan masih dalam teater","WATCH_IN_CINEMA":"Tonton di wayang berdekatan anda","IN_THEATER":"Dalam tayangan","GET_TICKETS":"Dapatkan Tiket","UPCOMING_EPISODE":"Upcoming episode","UPCOMING_EPISODE_MESSAGE":"This episode will be aired on","MISSING_DATE_EPISODE":"Missing episode date","MISSING_DATE_EPISODE_MESSAGE":"This episode might not have aired yet","CHANNEL_NOT_SCRAPED":"This channel is not scraped yet.<br>Please come back in a few minutes.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Add it to your library to get notified once it is available.","GET_NOTIFIED_WHEN_AVAILABLE":"You will get notified once it is available.","WARNING_STREAMING_SERVER":"Warning: local streaming server not found. Streaming from YouTube and BitTorrent will not be available.","WARNING_STREAMING_SERVER_DISMISS":"Dismiss","WARNING_STREAMING_SERVER_LATER":"Later","DECODER_WARNING":"Warning: this video may not be supported by your hardware. Keep in mind, playback may be slow.","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"Alamak, ralat pemain","PLAYER_ERROR_LOOKSLIKE":"Nampaknya seperti","PLAYER_ORIENTATION":"Player orientation","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Locked","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensor","PLAYER_ORIENTATION_LANDSCAPE":"Player orientation locked at landscape","PLAYER_ORIENTATION_SENSOR":"Player orientation automatic (sensor)","PLAYER_PLAYBACK_SPEED":"Playback Speed","PLAYER_PLAYBACK_ERROR":"Playback error, please try again","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Unknown error","PLAYER_PLAYBACK_ERROR_DEFAULT":"Sorry, this video cannot be played by {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Subtitles Languages","PLAYER_SUBTITLES_VARIANTS":"Subtitles Variants","PLAYER_SUBTITLES_SETTINGS":"Subtitles Settings","PLAYER_SUBTITLES_DISABLED":"Subtitles are disabled","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Vertical Position","PLAYER_SUBTITLES_LOADED":"Subtitles loaded","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Embedded subtitles loaded","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Exclusive subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Subtitles from {{origin}} loaded","PLAYER_PLAY":"Play","PLAYER_PAUSE":"Pause","PLAYER_NEXT_VIDEO":"Next Video","PLAYER_MUTE":"Mute","PLAYER_UNMUTE":"Unmute","PLAYER_OPEN_IN_EXTERNAL":"Open in external player","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Play in {{device}}","PLAYER_LIVE":"Live","PLAYER_NEXT_VIDEO_TITLE":"Coming up next on","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Dismiss","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Watch now","PLAYER_COPY_STREAM_SUCCESS":"Stream link was copied to your clipboard","PLAYER_COPY_STREAM_ERROR":"Failed to copy stream link","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","STREAMING_FROM":"streaming dari","CASTING_TO":"Tayangkan ke","NETWORK_STATUS":"Status capaian","STREAM_SPEED":"Kelajuan stream:","STREAM_BUFFERED":"Buffered:","PEERS_INFO":"Maklumat peers","PEERS_ACTIVE":"Aktif:","PEERS_CONNECTED":"Sambungan:","PEERS_WAITING":"Menunggu:","TRANSCODING_WARNING":"Amaran: video transkoding.","STREAM_LOADING":"Memuatkan...","PLAYING_LOCAL":"main dari fail tempatan","PLAYING_CACHE":"playing from cache","WRONG_SUBS":"Wrong subtitles?","ERR_SUBS_LOADING_TITLE":"Error loading subtitles","ERR_SUBS_LOADING":"Failed loading subtitles: this could be an issue with the addon you are using, or with your network connection","WARN_FOLLOWING_SUB_ADDONS_FAILED":"The following subtitle addons failed","ERR_CASTING_UPDATE_TITLE":"Could not update casting device info: streaming server might be offline","CHOOSE_DEVICE":"Pilih peranti untuk tayang","NO_CAST_DEVICES":"No casting devices available.","NO_SETTINGS":"No settings available.","PHONE_TABLET":"Bimbit / Tablet","SUBTITLES":"Subtitles","SUBTITLES_CHANGE":"Tukar sari kata untuk ","SUBTITLES_CHANGE_NONE":"There are no other subtitles for this language, sorry.","SUBTITLES_CHANGE_ACIVE":"Currently subtitles &#35;{{subtitlesDialog.activeIdx + 1}} are activated. Click \\"Continue\\" to activate subtitles &#35;{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Alternatively,","SUBTITLES_ADJUST_DELAY":"Adjust subtitle delay:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Or use <span>G</span> / <span>H</span> keys while playing to adjust.","SUBTITLES_ADJUST_DELAY_TIP":"TIP: you can use <span>G</span> / <span>H</span> keys while playing to adjust.","SUBTITLES_DELAY":"Sari kata lewat:","SUBTITLES_LOADING":"Loading subtitles...","SUBTITLES_UNAVAILABLE":"No external subtitles available","SUBTITLES_DISABLED":"Disabled","EXTERNAL_PLAYER_DISABLED":"Disabled","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Allow Choosing","EXTERNAL_PLAYER_HINT":"Hint: There is a setting to allow always opening with external player","DONT_SHOW_AGAIN":"Don\'t show again","SERVICE_INSTALL":"Install","AUDIO":"Audio","DEFAULT_LANGUAGE":"Default Language","DEFAULT_SECONDARY_LANGUAGE":"Default Secondary Language","SEASON":"Musim","EPISODE":"Episod","EPISODE_ABBREVIATION":"EP","SPECIAL":"Special","SORT":"sort","SORT_BY":"Sort by","FILTER":"filter","SORT_TRENDING":"trending","SORT_RECENT":"baru","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"rating","SORT_WATCHED":"ditonton","SORT_YEAR":"year","SELECT_TYPE":"Select type","SELECT_SORT":"Select sort","SELECT_CATALOG":"Select catalog","SELECT_GENRE":"Select genre","SORT_LASTWATCHED":"By last watched","SORT_NAME":"By name","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"By times watched","SORT_NOTWATCHED":"not watched","New for You":"New for You","New Episodes":"New Episodes","New Videos":"New Videos","Recommendations":"Recommendations","LIBRARY_RESUME":"sambung","LIBRARY_PLAY":"Play","LIBRARY_DETAILS":"Details","LIBRARY_RESUME_DISMISS":"dismiss","LIBRARY_CLEAR_PROGRESS":"Clear Progress","LIBRARY_REMOVE":"Remove","LIBRARY_NOT_LOGGED_IN":"Library is only available for logged in users","CALENDAR_NOT_LOGGED_IN":"Calendar is only available for logged in users","NOT_LOGGED_IN_CLOUD":"Access your favorite movies and TV shows anytime, anywhere","NOT_LOGGED_IN_RECOMMENDATIONS":"Recommendations tailored to your viewing history","NOT_LOGGED_IN_NOTIFICATIONS":"Never miss an episode again","NOT_LOGGED_IN_CALENDAR":"Schedule your personal watching calendar","DISCOVER_FEATURED":"Featured","DISCOVER_TOP":"Mahsyur","DISCOVER_OSCAR":"Pemenang Oscar","DISCOVER_WARNING_TITLE":"Oops!","DISCOVER_EMPTY_CATALOG":"This addon returned empty content.","DISCOVER_ADULT_WARNING":"The content is visible only for adults. Are you 18+?","DISCOVER_NOADDON_WARNING":"Warning: no Stremio addon active for this type. Showing saved items, nothing here will update.","DISCOVER_LOAD_ERR":"The content did not load, error occured.","DISCOVER_ADDON_UNINSTALLED":"This content is no longer available, you may have un-installed the addon.","UNINSTALL_THIS_ADDON":"Uninstall this addon","ERR_ADDON_NOT_INSTALLED":"This addon is not installed. Install now?","DETAIL_RECEIVE_NOTIF_SERIES":"Receive notifications for new episodes","DETAIL_RECEIVE_NOTIF_VIDEOS":"Receive notifications for new videos","SIDEBAR_SHOW_STREAMS":"Show Streams","RELAUNCH":"Re-launch now!","UPGRADE":"New version is available! Upgrade to the latest Stremio version","RELOAD_UI":"Reload the user interface","MANUAL_UPDATE_TITLE":"Update your Stremio version","MANUAL_UPDATE_LINE1":"You are running an outdated version of Stremio which is highly unrecommended.","MANUAL_UPDATE_LINE2":"Please update as soon as possible.","BUTTON_UPDATE_LATTER":"Not now","BUTTON_UPDATE_NOW":"Update","ANONYMOUS_USER":"Anonymous user","DONT_HAVE_ACC":"Don\'t have an account?","HAVE_ACC":"Already have an account?","PASSWORD":"Password","PASSWORD_CONFIRM":"Confirm password","EMAIL":"E-mail","FB_LOGIN":"Masuk guna Facebook","FB_NOTHINGSHARED":"Nothing is shared without your permission","FB_NOPOST":"We won’t post anything on your behalf","OR":"atau","I_ACCEPT":"Saya akur","I_ACCEPT_BY_CLICKING":"By clicking the above button I testify that I accept the ","TOS":"Terma dan Syarat","MUST_ACCEPT_TERMS":"You must accept terms","PASSWORDS_NOMATCH":"Kata laluan tak sama","SIGN_UP":"Daftar","SIGN_UP_EMAIL":"Sign up with email","CLICK_TO_SIGN_UP":"Click here to sign up.","LOG_IN":"Masuk","LOG_OUT":"Keluar","EXIT_FULLSCREEN":"Exit fullscreen mode","ENTER_FULLSCREEN":"Enter fullscreen mode","PLAY_URL_MAGNET_LINK":"Play URL/Magnet link","HELP_FEEDBACK":"Help & Feedback","TERMS_OF_SERVICE":"Terms of Service","PRIVACY_POLICY":"Privacy Policy","ABOUT_STREMIO":"About Stremio","USER_PANEL":"User Panel","LOGIN_LABEL":"Login","GUEST_LOGIN":"Guest login","GUEST_LOGIN_NOTICE":"Guest Login is not recommended. Using a regular login allows Stremio to sync your Library, receive notifications for favourite series/channels. Are you sure you want to proceed?","GUEST_LOGIN_NOTICE_2":"Guest Login is not recommended - you won\'t have synced Library and Board notifications, which are vital Stremio features. Are you sure you want to proceed?","CLICK_HERE":"click here","WRONG_PASSWORD":"Katalaluan salah. Sekiranya terlupa, ","SET_A_PASS":"tetapkan satu kata laluan","RESET_PASSWORD":"Reset password","FORGOT_PASSWORD":"Forgot password?","EMAIL_USED_WITH_FB":"Emel ini telah diguna This email was used with a Facebook login.","INVALID_EMAIL":"Please enter a valid email address","INVALID_PASSWORD":"Please enter a valid password","CONN_ERR":"Connection error - please try again later.\\n\\nIf this persists, disable firewalls/anti-virus software (especially Bitdefender).","IMPORT_FROM_GUEST":"Import Library from your guest account","RECEIVE_UPDATES_EMAIL":"Receive updates to your email from Stremio","LOGIN_FAILED":"Login failed.","SIGNUP_FAILED":"Signup failed.","SEARCH_FAILED":"Search failed","EMAIL_USED":"This email is already in use.","WAITING_FB_LOGIN":"Logging in with Facebook...","EXTERNAL_PLAYER_TITLE":"Play in external player","EXTERNAL_REMEMBER_PLAYER":"Do you want to remember your choice","EXTERNAL_ALWAYS_PLAY":"Yes","EXTERNAL_ONLY_ONCE":"No","BEST_FIT":"Best Fit","FIT_SCREEN":"Fit Screen","FILL":"Fill","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"Tell us about what you like","INTRO_TASTE_LONG":"Tell us about what you\'d like to watch","INTRO_TASTE_PICK":"Pick {{interestsRemaining}} interests","INTRO_TASTE_PICK_MORE":"Pick {{interestsRemaining}} more interests","INTRO_TASTE_HELP_US":"Help us learn more about you.","INTRO_TASTE_CHOOSE_THESE":"Choose some of these:","INTRO_TASTE_CHOOSE_MIN":"Choose at least 3 categories","INTRO_TASTE_CHOOSE_MIN_ERR":"You have to pick at least 3 categories!","INTRO_TASTE_LIFESTYLE":"Lifestyle","INTRO_TASTE_SPORTS":"Sports","INTRO_TASTE_FOOD_HEALTH":"Food & Health","INTRO_TASTE_BEAUTY_FASHION":"Beauty & Fashion","INTRO_TASTE_NEWS":"News","INTRO_TASTE_GAMING":"Gaming","INTRO_TASTE_SCIENCE_EDU":"Science & Education","INTRO_TASTE_MUSIC":"Music","INTRO_TASTE_TRAVEL":"Travel","INTRO_TASTE_LATE_NIGHT":"Late Night Show","INTRO_TASTE_REALITY":"Reality","INTRO_TASTE_COMEDY":"Comedy","INTRO_TASTE_DIY":"How to DIY","INTRO_TASTE_TECH":"Tech","INTRO_TASTE_CINEMA":"Cinema","ADDON_NOT_SUPPORTED":"Selected addon is not supported on this platform.","ADDON_DISCLAIMER":"Using third-party addons will always be subject to your responsibility and the governing law of the jurisdiction you are located.","ADDON_ACTIVATE":"Aktifkan tambahan ini?","ADDON_REPO_ADD":"Addon repository url","ADDON_ADD":"Add","INSTALL_ADDON":"Install addon","ADD_ADDON":"Add addon","ADD_ADDON_DESCRIPTION":"You can add an addon via an external link, which will appear under Installed addons.","PASTE_ADDON_URL":"Paste addon URL","WHATS_NEW":"Apa yang terbaru","BUTTON_CONTINUE":"Teruskan","BUTTON_ACTIVATE":"Aktifkan","BUTTON_ACTIVATED":"Aktif","BUTTON_CANCEL":"Batal","BUTTON_SUBMIT":"Submit","BUTTON_DISMISS_ALL":"Dismiss All","BUTTON_VIEW_ALL":"view all","BUTTON_SEE_ALL":"See All","BUTTON_COLOR_TRANSPARENT":"Transparent","OPEN_IN_BROWSER":"Open in browser","LIB_EMPTY":"Your library looks empty. Find out how useful it is :) ","HOW_START":"Cara bagaimana untuk mula:","LIB_EMPTY_CAL":"Your Calendar shows series in your Library.","HOW_START_CAL":"Here is how you can add series:","LIB_EMPTY_BOARD":"Board shows notifications &amp; recommendations related to your Library.","HOW_START_BOARD_WAIT":"Please, add a few series or channels to your Library give us a few minutes to process :)","HOW_START_BOARD":"Here is how you can add series &amp; movies to it:","IMPORT_FB":"Import things you like from <span>Facebook</span>","IMPORT_TRAKT":"Import your media library from <span>Trakt</span>","IMPORT_DISCOVER":"Find interesting stuff from <span>Discover</span>","IMPORT_DISK":"Import movies or shows you have on your <span>local disk</span>","PLEASE_CREATE_ACC":"Please <u>create an account</u> to enable Library sync &amp; Board.","IMPORT_DISCOVER_SIGNUP":"Sign up and find interesting stuff from <span>Discover</span>","IMPORT_DISK_SIGNUP":"Sigm up and import movies or shows you have on your <span>local disk</span>","LIB_EMPTY_CLOUD":"Cloud library","LIB_EMPTY_CLOUD_DESC":"Personal cloud library synced on all devices","LIB_EMPTY_EARLY":"Early bird","LIB_EMPTY_EARLY_DESC":"Receive notifications for new episodes","LIB_EMPTY_PERSONAL":"Personal","LIB_EMPTY_PERSONAL_DESC":"Get personal recommendations","LIB_EMPTY_CALENDAR_DESC":"Schedule your personal watching calendar","LIB_EMPTY_ALL":"Sign up to get all of these:","LIB_EMPTY_BEST":"Sign up to get best of Stremio","LIB_EMPTY_OTHER":"Sign up to enable Calendar & other cool features","CALENDAR_ADDED":"The Stremio calendar has been added to your default desktop calendar.","CALENDAR_ADDED_MSG":"If this does not work, please add this URL to your calendar application manually","TRAKT_EXPIRED":"Trakt authentication expired, please go to Settings and re-authenticate","TRAKT_REQUIRES_LOGIN":"Trakt error","TRAKT_REQUIRES_LOGIN_MSG":"You need to login","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","SETTINGS_LABEL":"Settings","SETTINGS_NAV_GENERAL":"General","SETTINGS_NAV_PLAYER":"Player","SETTINGS_NAV_STREAMING":"Streaming","SETTINGS_NAV_SHORTCUTS":"Shortcuts","SETTINGS_SHORTCUT_RELOAD_APP":"Reload App","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Open Settings","SETTINGS_SHORTCUT_SWITCH_TABS":"Switch Tabs","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Cycle Through Tabs Forward","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Cycle Through Tabs Backward","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigate Between Menus","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Go to Search","SETTINGS_SHORTCUT_EXIT_BACK":"Exit / Go Back","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Toggle Playback Speed Menu","SETTINGS_SHORTCUT_MENU_VIDEOS":"Toggle Videos Menu","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Toggle Subtitles Menu","SETTINGS_SHORTCUT_MENU_INFO":"Toggle Info Menu","SETTINGS_SHORTCUT_FULLSCREEN":"Toggle Fullscreen","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Show Controls","SETTINGS_SHORTCUT_PLAY_PAUSE":"Play / Pause","SETTINGS_SHORTCUT_VOLUME_UP":"Volume Up","SETTINGS_SHORTCUT_VOLUME_DOWN":"Volume Down","SETTINGS_SHORTCUT_SEEK_NEXT":"Seek Next","SETTINGS_SHORTCUT_SEEK_PREV":"Seek Prev","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Seek Backward","SETTINGS_SHORTCUT_SEEK_FORWARD":"Seek Forward","SETTINGS_SHORTCUT_PLAY_NEXT":"Play Next","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Increase Subtitles Size","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Decrease Subtitles Size","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Increase Subtitles Delay","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Decrease Subtitles Delay","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Toggle Sidebar","SETTINGS_SHORTCUT_OR":"or","SETTINGS_SHORTCUT_TO":"to","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Authenticate","SETTINGS_FACEBOOK_IMPORT":"Import","SETTINGS_CALENDAR_SUBSCRIBE":"Subscribe","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Interface Language","SETTINGS_LAUNCH_STARTUP":"Lancarkan bila mula","SETTINGS_VLC_DEFAULT":"Main guna VLC","SETTINGS_UI_LANGUAGE":"UI Language","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Escape key exit full screen","SETTINGS_GAMEPAD":"Enable gamepad support","SETTINGS_CLOSE_WINDOW":"Close app when window is closed","SETTINGS_SUBTITLES_LANGUAGE":"Default Subtitles Language","SETTINGS_SUBTITLES_SIZE":"Default Subtitles Size","SETTINGS_SUBTITLES_BACKGROUND":"Subtitles background","SETTINGS_SUBTITLES_COLOR":"Subtitles color","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Subtitles outline color","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Subtitles background color","SETTINGS_SEEK_KEY":"Arrow keys seek time","SETTINGS_SEEK_KEY_SHIFT":"Arrow keys seek time when Shift key is held","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Rewind & Fast-forward duration","SETTINGS_BINGE":"Terus main episod seterusnya","SETTINGS_NEXT_VIDEO":"Show notification to start next episode","SETTINGS_NEXT_VIDEO_TRIGGER":"Show next episode notification for:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Next video popup duration","SETTINGS_PLAY_IN_BACKGROUND":"Play in background","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Play in external player","SETTINGS_RESIZE":"Auto-resize window before playing","SETTINGS_OVERRIDE_SERVER":"Override the streaming server URL (advanced)","SETTINGS_SERVER_URL":"Streaming server URL: ","SETTINGS_SERVER_AVAILABLE":"Streaming server is available.","SETTINGS_SERVER_UNAVAILABLE":"Streaming server is not available.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Error","SETTINGS_SERVER_CONFIGURE_TITLE":"Configure streaming server url","SETTINGS_SERVER_CONFIGURE_INPUT":"Enter a streaming server url","SETTINGS_SERVER_CACHE_SIZE":"Cache size","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent profile","SETTINGS_HTTPS_ENDPOINT":"Streaming HTTPS endpoint: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Always use latest Beta","SETTINGS_IMPORT_FB":"Import dari Facebook","SETTINGS_IMPORT_DISK":"Import dari local disk","SETTINGS_IMPORT_TRAKT":"Import from Trakt","SETTINGS_PAUSE_MINIMIZED":"Pause playback when minimized","SETTINGS_HWDEC":"Hardware-accelerated decoding","SETTINGS_BACKGROUND":"Background playback","SETTINGS_SUBSCRIBE_CALENDAR":"Masukkan ke kalendar","SETTINGS_REQ_EXPORT":"Request data export","SETTINGS_ACC_DELETE":"Request account deletion","SETTINGS_CHANGE_PASSWORD":"Tukar katalaluan","SETTINGS_TOS":"Terms of service","SETTINGS_SUPPORT":"Contact support","SETTING_LANGUAGE":"Bahasa","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_LOGOUT":"Log out of Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Log Out of Trakt","SETTINGS_SCAN_FOR_REMOTE":"Scan QR code to open remote","SETTINGS_DESKTOP_NOTIFICATIONS":"Desktop notifications","SETTINGS_DATA_SAVER":"Data saver","SETTINGS_LANGUAGE_INTERFACE":"interface","SETTINGS_LANGUAGE_SUBS":"default subtitles","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Autoselect Audio Track","SETTINGS_DEFAULT_AUDIO_TRACK":"Default Audio Track","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"account","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"version","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"Launch player in a separate window (advanced)","SETTINGS_PLAY_IN_EXTERNAL":"Always start video in external player","SETTINGS_STORAGE_BUTTON":"Clear Local Storage","SETTINGS_STORAGE_MODAL_TITLE":"Are you sure ?","SETTINGS_STORAGE_MODAL_MESSAGE":"This will clear the local storage and log you out.","SETTINGS_HWDEC_PICKER":"Pick hardware-accelerated decoding setting","SETTINGS_HW_AUTOMATIC":"Automatic","SETTINGS_HW_DISABLED":"Disabled","SETTINGS_HW_ACCELERATED":"Decoding acceleration","SETTINGS_HW_FULL":"Full acceleration","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Subtitles","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Controls","SETTINGS_SECTION_AUTO_PLAY":"Auto-Play","SETTINGS_SECTION_ADVANCED":"Advanced","SUBSPICKER_AUDIO":"Audio","SUBSPICKER_SUBTITLES":"Addons Subtitles","SUBSPICKER_BLACK_BACKGROUND":"Use black background color","SUBSPICKER_VERTICAL_OFFSET":"Vertical Offset","SUBSPICKER_SIZE":"Size","SUBSPICKER_DELAY":"Delay","SUBSPICKER_EMBEDDED_SUBS":"Embedded Subtitles","MOBILE_PRIVACY_POLICY":"Privacy Policy","MOBILE_CRASH_REPORTING":"Crash Reporting","MOBILE_ZOOM_TO_FILL":"Zoom To Fill Screen","MOBILE_PASSTHROUGH":"Digital audio output (passthrough)","MOBILE_RUN_LOW_BATTERY":"Run on low battery","MOBILE_RUN_FOREGROUND":"Run as Foreground Service","MOBILE_PERFORMANCE":"PERFORMANCE & STABILITY","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"QR Code expires in ","MOBILE_LOG_INTO":"Log in to your Stremio account ","MOBILE_SCAN_QR":"Scan QR code above or go to ","MOBILE_LINK_ACCOUNT":"Link Account","MOBILE_SPEEDPICKER_CANCEL":"Cancel","MOBILE_SPEEDPICKER_LABEL":"Select Playback Speed","MOBILE_EMPTY_LIBRARY":"Your library is empty","MOBILE_NO_ADDON_ACTIVE":"No Stremio addon active for this type.","MOBILE_ORGANIZER_WARNING":"The Stremio Organizer app provides limited functionality. For a list of playable streams and the full Stremio experience, use Stremio on desktop.","MOBILE_ADDON_LOADING":"is still loading","MOBILE_ADDONS_LOADING":"addons are still loading","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Configure your addon","MOBILE_CONFIGURE_ADDON_LABEL":"Configure Addon","MOBILE_ORGANIZER_ADDONS_WARNING":"The Stremio Organizer app provides a limited selection of addons. For the full Stremio experience, use Stremio on desktop.","MOBILE_DISCONNECT":"Disconnect","MOBILE_LOOKING_FOR_DEVICES":"Looking for devices...","MOBILE_CAST_TO":"Cast to","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Delete Account","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Account deletion is not instant due to legal obligations. After requesting deletion of your account you will have to use different email address/facebook profile to create a new Stremio account in the future.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirm Account Deletion","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Your account has been created using Facebook. To delete your account, please use our user portal at www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Please provide your password to confirm account deletion.","MOBILE_DELETE_ACCOUNT_BUTTON":"Delete Account","NAVIGATION_ON":"On","NAVIGATION_OFF":"Off","MARKETING_AGREE":"I agree to receive marketing communications from Stremio","QUIT":"Keluar","CONNECTED":"Connected","AUTHENTICATE":"Pengesahan","CACHING":"Caching","SETTINGS_CACHING_DRIVE":"Select caching drive","ENABLE_LOCAL_FILES_ADDON":"Enable the local files addon (requires restart)","LOCAL_ADDON_NOT_ENABLED":"Local addon is not enabled. Click here to go to the settings and enable it","ENABLE_REMOTE_HTTPS_CONN":"Enable remote HTTPS connections","TORRENT_PROFILE":"Torrent Profile","DATA_CACHING":"Data Caching","MAGNET_PARSING":"Parsing a magnet link","January":"Januari","February":"Februari","March":"Mac","April":"April","May":"Mei","June":"Jun","July":"Julai","August":"Ogos","September":"September","October":"Oktober","November":"November","December":"Disember","Monday":"Isnin","Tuesday":"Selasa","Wednesday":"Rabu","Thursday":"Khamis","Friday":"Jumaat","Saturday":"Sabtu","Sunday":"Ahad","Action":"Aksi","Comedy":"Komedi","War":"Perang","Family":"Kekeluargaan","Animation":"Animasi","Adventure":"Pengembaraan","Fantasy":"Khayalan","Crime":"Jenayah","Mystery":"Misteri","Romance":"Percintaan","Drama":"Drama","Horror":"Seram","Thriller":"Seram Sejuk","Sci-Fi":"Sains","Music":"Musik","Biography":"Biografi","Documentary":"Dokumentari","Sport":"Sukan","Musical":"Muzikal","Western":"Barat","Film-Noir":"Film-Noir","News":"Berita","History":"Sejarah","Game-Show":"Game-Show","Reality-TV":"Reality-TV","Talk-Show":"Talk-Show","Film & Entertainment":"Film & Entertainment","Gaming":"Permainan","From TV":"Dari TV","Lifestyle":"Gaya Hidup","Science & Education":"Sains & Pendidikan","Cooking & Health":"Masakan & Kesihatan","Beauty & Fashion":"Kecantikan & Fesyen","Sports":"Olah raga","News & Politics":"News & Politics","How-to & DIY":"How-to & DIY","Tech":"Tech","Automotive":"Automotive","Causes & Non-Profits":"Causes & Non-Profits","Movies":"Movies","Uk Live Tv":"Uk Live Tv","Fashion":"Fashion","Business News Radio":"Radio Akhbar Perniagaan","Business Tv":"Tv Niaga","Cars & Auto":"Kereta & Kenderaan","Comedy Radio":"Radio Jenaka","Lifestyle Radio":"Lifestyle Radio","News Tv":"News Tv","Food And Wine":"Food And Wine","Latino Tv":"Latino Tv","Shopping Tv":"Shopping Tv","Religion":"Religion","Kids":"Kids","Body & Soul":"Jasmani & Jiwa","Education":"Pendidikan","Indian Tv":"Tv India","Extreme Sports":"Sukan Lasak","Middle Eastern Tv":"Middle Eastern Tv","Celebrity Tv":"Tv Selebriti","Science Tv":"Tv Sains","Bikini babe":"Awek Bikini","Outdoors":"Outdoors","German Tv":"TV German","French Tv":"TV Perancis","Italian Tv":"Tv Itali","Gamer Tv":"Gamer Tv","Travel":"Travel","Asian Tv":"Asian Tv","Entertainment":"Entertainment","News Radio":"Radio Akhbar","Music Radio":"Radio Muzik","Language Learning":"Belajar Bahasa","Science Radio":"Radio Sains","Tech Radio":"Radio Tek","Science & Technology Vod":"Vod Sains & Teknologi","new video":"new video","new episode":"new episode","new movie":"new movie","recommended":"recommended","we recommend":"we recommend","offer of the day":"offer of the day","news":"berita","music video":"video muzik","CTX_SHOW_HOTKEYS":"Show hotkeys","CTX_DISMISS_NOTIF":"Dismiss notifications","CTX_DISMISS_ALL":"Dismiss all","CTX_SHARE":"Share","CTX_COPY_SHARE_LINK":"Copy share link","CTX_COPY_MAGNET_LINK":"Copy magnet link","CTX_COPY_STREAM_LINK":"Copy stream link","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Download this video","CTX_DOWNLOAD_SUBS":"Download subtitles","CTX_VIEW_ON_YOUTUBE":"View on YouTube","CTX_SHOW":"Tayang","CTX_PLAY":"Play","CTX_PLAY_IN":"Play in","CTX_PLAY_ON":"Play on","CTX_WATCH_ON":"Watch on","CTX_WATCH":"Watch","CTX_WATCHED":"Watched","CTX_WATCH_BEGINNING":"Watch from the beginning","CTX_WATCH_MOBILE":"Watch on a mobile device","CTX_REWIND":"Rewind to beginning","CTX_MARK_WATCHED":"Mark as watched","CTX_MARK_NON_WATCHED":"Mark as non-watched","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"Mark rest as watched","CTX_UNMARK_REST":"Mark rest as non-watched","CTX_RECEIVE_NEW_NOTIF":"Receive new notifications","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"Remove from cache","CTX_REMOVE_CACHE_EP":"Remove episode from cache","CTX_OPEN_CONTAINING":"Open containing folder","CTX_REMOVE":"Remove from library","CTX_AVAILABLE_OFFLINE":"Available Offline","CTX_PAUSED":"Paused","CTX_ALWAYS_ON_TOP":"Always on top","CTX_FULLSCREEN":"Skrin Penuh","CTX_WRONG_SUBS":"Sari kata salah?","CTX_REPORT_ISSUES":"Report issue","CTX_COPY":"Salin","CTX_PASTE":"Paste","CTX_CLEAR":"Padam","CTX_CLEAR_RECENT_SEARCHES":"Clear recent searches","HELLO_THERE":"Damai Sana","HOPE_YOU_ENJOY":"Kami harap anda terhibur dengan Stremio dan menjadi salah satu apps kegemaran anda","WHO_ARE_WE":"Who are we? We are the team behind it - two guys who work hard every day for the last 3 years to make this product better and better.","SUPPORT_US":"If you enjoy using Stremio, if Stremio is valuable for you - spread the word!","SPREAD_THE_WORD":"Share with your friends now, spread the word about Stremio","MORE_PEOPLE":"The more people use Stremio, the better it will get!","SEND_A_LINK":"Or send a link to our website","TIP_LOCALFILES":"Tip: you can drag & drop local video files into Stremio","ADDON_MY":"My Addons","ADDON_COMMUNITY":"Community Addons","ADDON_OFFICIAL":"Official Addons","ADDON_REPOS":"Addon repositories","ADDON_SEARCH":"Search addons","ADDON_INSTALL":"Install","ADDON_CONFIGURE":"Configure","ADDON_UNINSTALL":"Uninstall","ADDON_UPGRADE":"Upgrade","ADDON_INSTALLED":"Installed","ADDON_INSTALLED_MSG":"Addon installed!","ADDON_UPGRADED_MSG":"Addon upgraded!","ADDON_UNKNOWN":"Unknown","ADDON_ERR":"Addon install error!","ADDON_DISCONNECTED":"Disconnected","ADDON_APP_MISSING":"the app for this source is not installed. Do you want to install it now?","ADDON_APP_INSTALL":"Install Now","ADDON_PAGE":"Addon Page","ADDON_TOP_CONTENT":"Best from this Addon","ADDON_PROVIDES":"This addon will give you:","ADDON_WATCH":"Watch #{types} now!","ADDON_WATCH_FREE":"Watch #{types} for FREE now!","ADDON_ADDON":"Addon","ADDON_SUPPORTED_TYPES":"Supported types","ADDON_SUPPORTED_CATALOGS":"Supported catalogs","ADDON_PROVIDES_DISCOVER":"More #{types} in Discover","ADDON_PROVIDES_STREAMS":"Watch #{types}","ADDON_PROVIDES_STREAMS_FREE":"Watch #{types} for FREE","ADDON_PROVIDES_SUBTITLES":"Subtitles for #{types}","ADDON_CANTDETECT":"We couldn\'t detect a running Stremio, so we couldn\'t detect what addons you have installed.","ERR_NO_META":"No information found about this ","ERR_GETTING_META":"Error retrieving information about this.","ERR_CANT_PARSE_MAGNET":"Unable to parse magnet","ERR_NO_MAGNET_INFOHASH":"No valid info hash for magnet","ERR_NO_FILE_PATH":"Unable to send request without a path to file","ERR_NO_TORRENT":"No torrent returned","ERR_NO_SUPPORTERD_FILES":"No supported files found","ERR_OPENING_FILES":"Could not open external files","ERR_INVALID_LINK":"Invalid link","ERR_REGISTERED_ONLY":"This option is available for registred users only.","ERR_CLIPBOARD":"Can not play from clipboard","ERR_CLIPBOARD_READ":"Can not read the clipboard on this platform","ERR_CLIPBOARD_GENERIC":"No playable URL found in the clipboard. Please copy a URL (e.g. a magnet link) to a video.","BOARD_CONTINUE_WATCHING":"Continue watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Movies picked specially for you.<br />This movie is a sample recommendation.","BOARD_EXPLANATION_EPISODES":"New episodes of your favorite Series come here.<br />Add series you follow to your Library.","BOARD_EXPLANATION_VIDEOS":"New episodes of your favorite Channels come here.<br />Add YouTube channels you follow to your Library.","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE":"Contribute","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"Learn more","WEBSITE_COMPANY":"Company","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Need Help?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"Watch Instantly","WEBSITE_SLOGAN_ALL":"All the Video Content You Enjoy in One Place","WEBSITE_SLOGAN_NEW":"All You can Watch","WEBSITE_SLOGAN_NEW_NEW":"Freedom to Stream","WEBSITE_WATCH_FROM":"Watch from","WEBSITE_DOWNLOAD":"Muat Turun Sekarang","WEBSITE_DOWNLOAD_FOR":"Download Now For","WEBSITE_IS_DESKTOP":"Stremio is a desktop application, open this page on your PC and download it","WEBSITE_DESKTOP_DEMO_VID":"Desktop demo","WEBSITE_PAGE_HOME":"Home","WEBSITE_PAGE_FEATURES":"Features","WEBSITE_PAGE_ADDONS":"Addons","WEBSITE_PAGE_TECH":"Teknologi","WEBSITE_PAGE_CREATE_ADDON":"Create Addon","WEBSITE_PAGE_CONTACTS":"Contacts","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Movies","WEBSITE_TYPE_series_PL":"Series","WEBSITE_TYPE_tv":"Live TV","WEBSITE_TYPE_channel":"Saluran","WEBSITE_STREMIO_WHAT_IS":"Stremio is an app that helps you organize and instantly watch your favorite videos, movies, TV series and TV channels.","WEBSITE_FEATURES_WATCH":"Watch Instantly in HD","WEBSITE_FEATURES_WATCH_DETAIL":"Click and play your favourite movies, TV Shows, videos and TV channels.","WEBSITE_FEATURES_SUBS":"Automatic Subtitles","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio automatically picks synced subtitles for your language.","WEBSITE_FEATURES_SUBS_LABEL":"Your move, chief.","WEBSITE_FEATURES_CAST":"Play on TV & mobile devices","WEBSITE_FEATURES_CAST_DETAIL":"Cast to AppleTV, Chromecast, Smart TV (DLNA/UPnP) and mobile devices.","WEBSITE_LIB":"Enjoy Your Personal Library Synced on All Your Devices","WEBSITE_LIB_COLLECT":"Collect from Stremio","WEBSITE_LIB_IMPORT":"Import from Facebook","WEBSITE_LIB_LOCAL":"Add from your local drive","WEBSITE_BOARD":"The Board - Your one-stop place for Notifications and Recommendations","WEBSITE_BOARD_RECOMMEND":"Rancangan TV yang disarankan","WEBSITE_BOARD_TRENDING":"Trending Movie","WEBSITE_BOARD_NEW":"Video Baharu","WEBSITE_BOARD_EPISODE":"Episod Baharu","WEBSITE_BOARD_1":"Looking for something interesting to watch? Get recommendations based on your taste!","WEBSITE_BOARD_2":"Get notified when a new episode of your favourite TV show or YouTube channel is out!","WEBSITE_BOARD_YOUTUBE":"New videos of YouTube channels","WEBSITE_BOARD_EPISODES":"New episodes of series you follow","WEBSITE_ADDONS":"Content Addons","WEBSITE_TECH_DETAIL":"We love technology, we love mad science!\\nStremio is using the following open source technologies:","WEBSITE_TECH_WCJS":"WebChimera.js allows Stremio to play any video format with good performance.","WEBSITE_TECH_WCJS_EXTRA":"We are core project contributors","WEBSITE_TECH_ELECTRON":"Electron provides an innovative platform to build Stremio with.","WEBSITE_TECH_ELECTRON_EXTRA":"We are project contributors","WEBSITE_TECH_LINVODB":"A database technology that ensures your data is organized and available anywhere you login.","WEBSITE_TECH_LINVODB_EXTRA":"In-house technology","WEBSITE_CREATE_ADDON":"Create your addon","WEBSITE_CREATE_ADDON_DETAIL":"Do you have a service providing video content? We\'ll help you benefit from Stremio\'s features by creating your Addon.","WEBSITE_CREATE_ADDON_BENEFITS":"Benefits of Creating an Addon for Stremio","WEBSITE_P2P_BEAUTY":"The Beauty of Peer-to-Peer Streaming","WEBSITE_P2P_1":"Reliable and affordable full HD / 4K video on demand or live streaming","WEBSITE_P2P_2":"Distribution platform providing great user experience","WEBSITE_P2P_3":"We will create an addon meeting your exact needs","WEBSITE_P2P_CONTACT":"Interested? You are welcome to <a href=\'mailto:office@stremio.com\'>contact us</a>.","WEBSITE_P2P_CONTACT_EXTRA":"We will be happy to help you integrate your content with Stremio!","WEBSITE_P2P":"Once in a while, there comes a technology that changes the name of the game. We invested tons of time and effort in building our Peer-to-Peer (P2P) video streaming engine that provides great performance and versatility to adapt with any use case.\\nContact us for DRM-enabled P2P video on demand or live streaming.","WEBSITE_THOUGHTS":"Thoughts we share:","WEBSITE_SPREAD":"Spread the word about Stremio:","WEBSITE_CONTACT":"If you are looking to contact us, go ahead at","WEBSITE_OPENSOURCE":"For our open source projects, go to our","WEBSITE_BITCOIN":"Donate bitcoin:","WEBSITE_FAQ":"Frequently asked questions","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Questions","WEBSITE_TOS":"Terms of use","WEBSITE_LEGAL":"Legal","WEBSITE_PAGE_ABOUT":"About","WEBSITE_PAGE_BECOME_PARTNER":"Become a partner","WEBSITE_ALL_YOU_CAN_WATCH":"Freedom To Watch\\nEverything You Want.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"What is stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio is a one-stop hub for video content aggregation. Discover, organize and watch video from all kind of sources on any device that you own.","WEBSITE_WHAT_IS_STREMIO_P2":"Movies, TV shows, series, live television or web channels like YouTube and Twitch.tv - you can find all this on Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio is a modern media center that\'s a one-stop solution for your video entertainment. You discover, watch and organize video content from easy to install addons.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Movies, TV shows, live TV or web channels - find all this on Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Enjoy on all your Media devices","WEBSITE_DEVICES_COLLECT":"Collect from Stremio","WEBSITE_DEVICES_IMPORT_FB":"Import from facebook","WEBSITE_DEVICES_LOCAL":"Add from local drive","WEBSITE_JOIN_THE_PARTY_NOW":"Join the party now","WEBSITE_DEVICES_ALL":"Easy to use on all your devices;","WEBSITE_EXTENDABLE_CATALOG":"Infinitelly extendable video catalog;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Great features to organize your media;","WEBSITE_AS_SEEN_ON":"As seen on","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"About us","WEBSITE_LINK_TECHNOLOGY":"Technology","WEBSITE_LINK_APPS":"Apps","WEBSITE_LINK_DOWNLOADS":"Downloads","WEBSITE_MORE":"More","WEBSITE_LINK_ADDONS":"Addons","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Contribute","WEBSITE_LINK_COMMUNITY":"Community","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... & More","WEBSITE_LINK_HELP":"Help center","WEBSITE_LINK_CONTACTS":"Contacts us","WEBSITE_LINK_TOS":"Terms & conditions","WEBSITE_LINK_PRAVACY":"Privacy policy","WEBSITE_SUBSCRIBE":"Sibscribe","WEBSITE_NEWSLETTER":"Join Our Newsletter for amazing stuff","WEBSITE_PLACEHOLDER_EMAIL":"Your Email","WEBSITE_COMMUNITY":"Community","WEBSITE_LINK_PRAVACY_LEGAL":"Privacy & legal","WEBSITE_WHY":"Why we do it","WEBSITE_WHY_P1":"At Stremio, we come to work every day because we want to solve an important problem for the video-on-demand industry. There’s so much new content published every minute that it’s virtually impossible to find your way around it.","WEBSITE_WHY_P2":"We help people navigate that huge world of video entertainment and discover new content to enjoy. Our apps bring together movies, series, live TV, web channels, and more. We are dedicated to making it incredibly easy for users to find titles and broadcasters that they love.","WEBSITE_WHY_P3":"You can use our service on any device and at any time, making Stremio the only video entertainment hub you’ll ever need.","WEBSITE_TEAM":"TEAM","WEBSITE_TEAM_P":"The Stremio team is small but powerful: between the ten of us, we code in X languages, and share expertise in software development, UI and UX design, marketing and advertising, and business and startups.","WEBSITE_FEATURES":"Features","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Discover new content with ease","WEBSITE_FEATURES_DISCOVER_P":"Easily discover new movies, TV shows, series and channels to watch. Browse by category, genre, rating, recency, etc. or simply type a name to find. Stremio makes finding new video content a piece of cake.","WEBSITE_FEATURES_ALL_CONTENT":"All of your video content on one screen","WEBSITE_FEATURES_ALL_CONTENT_P1":"See what movies, series or videos you didn’t finish and continue watching them; get notified for new episodes and releases; and browse through the recommendations you will get based on your viewing habits.","WEBSITE_FEATURES_LIBRARY":"Organize your video library","WEBSITE_FEATURES_LIBRARY_P1":"Add any title to your Stremio library with a single click and find your way around your content, neatly arranged by type, recency, or alphabetical order.","WEBSITE_FEATURES_CALENDAR":"Keep track of everything you watch","WEBSITE_FEATURES_CALENDAR_P1":"Get a calendar visualization of all the movies and series you add to your library. Export your Stremio calendar and sync it so you always know when a new episode or a premier is due.","WEBSITE_FEATURES_BIG_SCREEN":"Enjoy your video content on a bigger screen","WEBSITE_FEATURES_BIG_SCREEN_P1":"Cast whatever you are watching to another device - be it a phone, tablet or a TV with a single click.","WEBSITE_FEATURES_SOURCES":"Watch video from many different sources","WEBSITE_FEATURES_SOURCES_P":"Install official and community addons to enjoy video sourced from many different providers - all in one sleek, easy to use app.","WEBSITE_CREATE_AN_ADDON":"Create an addon","WEBSITE_FEATURES_SYNC":"Sync your library across different devices and resume your playback","WEBSITE_FEATURES_SYNC_P1":"Login with your account across all your devices and enjoy your library, addons, playback and calendar synchronized.","WEBSITE_FEATURES_EXTENDABLE":"Extendable video catalog by addons","WEBSITE_FEATURES_EXTENDABLE_P1":"The Stremio addon catalog provides a number of addons to install and watch a variety of video content from. This includes movies, shows, live TV, sport, news, podcasts, web channels, video games and more.","WEBSITE_FEATURES_AUTO_SUBS":"Automatic subtitles","WEBSITE_FEATURES_AUTO_SUBS_P1":"With our subtitle addons you get automatically selected options for your preferred language.","WEBSITE_FEATURES_CHROMECAST":"Casting to Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Enjoy your video content on a bigger screen or just cast whatever you are watching to another device.","WEBSITE_FEATURES_KEEP_TRACK":"Keep track of your favorite TV shows and Web channels","WEBSITE_FEATURES_KEEP_TRACK_P1":"Get a calendar visualization and notifications for new episodes of your favorite series and web channels.","WEBSITE_FEATURES_POWER_USER":"Power user features","WEBSITE_FEATURES_POWER_USER_P1":"Play in external player","WEBSITE_FEATURES_POWER_USER_P2":"Play from a torrent file or magnet link","WEBSITE_FEATURES_POWER_USER_P3":"Import to your library from Facebook likes or local disk","WEBSITE_ADD_ONS":"Addons","WEBSITE_ADD_ONS_P1":"All of the video content Stremio provides get sourced through an addon system - no content or content provider has been built into the app.","WEBSITE_ADD_ONS_P2":"There are two groups of addons available: official and community addons.","WEBSITE_ADD_ONS_P3":"The official ones are developed and hosted by Stremio, whereas community addons are created by our community members, who also host them.","WEBSITE_ADDONS_OFFICIAL":"Official addons","WEBSITE_ADDONS_WATCHUB":"Stream your favourite movies, series and shows from providers like iTunes, Hulu, Amazon and other UK/US services.","WEBSITE_ADDONS_YOUTUBE":"Watch your favourite YouTube channels ad-free and get notifications for new uploads from the contributors you follow.","WEBSITE_ADDONS_FILMON":"Watch live TV, movies and social television for free. 600 TV channels, 45,000 free movies, documentaries and more.","WEBSITE_ADDONS_OPENSUBTITLES":"Movie and TV subtitles in multiple languages, thousands of translated subtitles uploaded every day.","WEBSITE_ADDONS_COMMUNITY":"Community addons","WEBSITE_ADDONS_FILMON_VOD":"Watch video on demand from Filmon.tv","WEBSITE_ADDONS_TWICH":"Watch live streams from Twitch.tv - a video streaming platform for the e-sports industry.","WEBSITE_ADDONS_VODO":"Watch indie movies absolutely free of charge.","WEBSITE_ADDONS_NETFLIX":"Watch Netflix movies and web series.","WEBSITE_ADDONS_CREATE":"Create an addon","WEBSITE_ADDONS_CREATE_P1":"If you wish, you can develop your own addon. This way, you can give yourself and our community access to new video content, and reach a new, targeted audience of millions of users around the world.","WEBSITE_ADDONS_START_CREATE":"To get started, visit the Stremio Addon SDK page:","WEBSITE_DOWNLOADS":"Downloads","WEBSITE_DOWNLOADS_P1":"For optimal performance, we recommend that you use the latest available version of the Stremio apps. If for some reason, however, you would like to use an older version, you can download it here.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio for Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio for macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio for Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio for Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio for iOS","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"The Stremio platform is open source and you can easily create an addon for content that is currently not sourced.","WEBSITE_CONTRIBUTE_WHY":"Why should you create an addon?","WEBSITE_CONTRIBUTE_WHY_P1":"Reach new audience for your video content","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio’s user base is growing rapidly - within the first year of the launch, Stremio had gained 1 million users around the world, and in the second year of the platform’s existence this number grew to 2.5 million.","WEBSITE_CONTRIBUTE_WHY_P3":"With your addon, you can easily reach this audience and distribute your video content to them.","WEBSITE_CONTRIBUTE_ALL":"Watch your favourite movies, videos, series and channels in one single place.","WEBSITE_CONTRIBUTE_ALL_P1":"You’re a fan of a particular type of content not available on Stremio yet? Create an addon for it and enjoy watching your favourite videos in one of the largest and easiest to use entertainment hubs on the market.","WEBSITE_CONTRIBUTE_ALL_P2":"On top of that, you’ll get the endless gratitude of other like-minded Stremio community members.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetize your addon and earn money with its help","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Once you develop a new addon for Stremio, you can easily monetize it through a number of different ways. If you are considering this, feel free to get in touch with us at ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - we would be happy to consult and advise you about addon monetization options.","WEBSITE_CONTRIBUTE_TRANSLATE":"Become a volunteer translator","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"If you want to enjoy the Stremio apps in different languages, you can join our community of volunteer translators. They help us add versions of the Stremio in many different languages.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Are you eager to get started?","WEBSITE_TRANSALTE_STREMIO":"Translate Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Official communities","WEBSITE_COMMUNITY_OFFICIALS_P1":"Become a part of the growing Stremio community. Follow us on social media and don’t be shy to say hello - we love hearing from our fans! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Unofficial communities","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partners and supporters","WEBSITE_COMMUNITY_GOODIES":"Stremio goodies","WEBSITE_COMMUNITY_WALLPAPERS":"Wallpapers","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"Contact us","WEBSITE_CONTACT_US_P1":"If you have any questions, comments or suggestions, feel free to get in touch with us through the contact form below.","WEBSITE_CONTACT_US_P2":"Keep in mind that we are located in Bulgaria so there may be a delay in addressing your query due to time zone differences.","WEBSITE_CONTACT_US_SUCCESS":"Your message has been sent. We will get back to you at our earliest convenience.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Please enter a valid email!","WEBSITE_CONTACT_US_Q_RELATED_TO":"What is your question related to?","WEBSITE_CONTACT_US_Q_OS":"What is your Operation System?","WEBSITE_CONTACT_US_PH_EMAIL":"Your E-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Message","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"SEND","WEBSITE_CONTACT_US_Q_1":"How to install?","WEBSITE_CONTACT_US_Q_2":"How to uninstall?","WEBSITE_CONTACT_US_Q_3":"(HTML) How to make lasagna?","WEBSITE_CONTACT_US_Q_4":"Addons","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Technology","WEBSITE_TECHNOLOGY_P1":"We love technology and mad science. </br> Here is what powers Stremio (it’s all open-source).","WEBSITE_TECHNOLOGY_P_QT":"Cross-platform software development at its best.","WEBSITE_TECHNOLOGY_P_MPV":"A free, open source, and cross-platform media player.","WEBSITE_TECHNOLOGY_P_RN":"React Native lets you build mobile apps using only JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework embedded into application to get multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm is a mobile platform and a replacement for SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js is an open-source, cross-platform, JavaScript runtime environment.","WEBSITE_TECHNOLOGY_P_RUST":"Rust is a multi-paradigm system programming language focused on safety, especially safe concurrency.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribute to the project","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"There are two ways you can contribute to Stremio and help us make the product even better.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"You can donate your valuable language skills by translating the platform...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"or","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... you can employ your coding skills for creating community addons. ","WEBSITE_TRANSLATE_STREMIO":"Translate Stremio","WEBSITE_404_OH_NO":"Uh-oh! The page you’re looking for is not here...","WEBSITE_GO_HOME":"Go home","WEBSITE_LINK_OTHER_DOWNLOADS":"Other downloads","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Support","WEBSITE_DOWNLOAD_4_0_BETA":"Download Now Stremio 4 beta","WEBSITE_GET_FOR_DESKTOP":"Get for desktop","WEBSITE_LINK_ADDON_COMPETITION":"Addon competition","WEBSITE_LINK_ART_CONTEST":"Art contest","WEBSITE_MY_ACCOUNT":"My account","WEBSITE_MAINPAGE_FAQ_001_H1":"What is Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio is a modern media center that gives you the freedom to watch everything you want.","WEBSITE_MAINPAGE_FAQ_002_H1":"How does it work?","WEBSITE_MAINPAGE_FAQ_002_P1":"Once you install Stremio on your device and create an account, all you have to do is to visit the addon catalog and install any addon you want, and you\'re good to go!","WEBSITE_MAINPAGE_FAQ_002_P2":"After that, you can go to the Discover or Board sections to start exploring content.","WEBSITE_MAINPAGE_FAQ_003_H1":"What can I watch here?","WEBSITE_MAINPAGE_FAQ_003_P1":"A lot: Movies, TV shows, Web channels, Sport, TV channels, listen to Podcasts and more. Thanks to our addon system, you can accss a variety of content.","WEBSITE_MAINPAGE_FAQ_004_H1":"Is Stremio open-source?","WEBSITE_MAINPAGE_FAQ_004_P1":"Yes, you can check the following links: ${1}desktop app${2} and ${3}GitHub organization${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Is Stremio safe?","WEBSITE_MAINPAGE_FAQ_005_P1":"Yes: because it is open-source software, the code is publically auditable and you can review it yourself.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"How about my privacy?","WEBSITE_MAINPAGE_FAQ_006_P1":"We respect users\' privacy and do not collect any personal data besides the essential minimum to create and sync your account.","WEBSITE_MAINPAGE_FAQ_006_P2":"There is also a ${1}Guest mode${2} at signup, which requires no data whatsoever: in this mode, no calls are made to our backend. However, it comes at the expense of useful features, such as being able to sync your library across devices.","WEBSITE_MAINPAGE_FAQ_007_H1":"Can I cast to my TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Yes, we support Chromecast and you can cast both from desktop and mobile apps (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"How many addons does Stremio have?","WEBSITE_MAINPAGE_FAQ_008_P1":"As of late 2019, over 50 - for more information, check our addon catalog.","WEBSITE_MAINPAGE_FAQ_009_H1":"Can Stremio be extended beyond what\'s in the addon catalog?","WEBSITE_MAINPAGE_FAQ_009_P1":"Yes, you should check those: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"What devices does Stremio support?","WEBSITE_MAINPAGE_FAQ_010_P1":"We have desktop apps for Windows, Mac and Linux. For mobile, we support Android and iOS, although keep in mind that the iOS is limited in functionality (does not support most addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"There are many Android-based devices which you can run Stremio on, like NVIDIA Shield and Amazon Fire Stick, but we do not support them officially.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Can you add certain content to Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Sorry, we provide no content ourselves, but the more Stremio addons you have installed, the more content you will be able to find.","WEBSITE_MAINPAGE_FAQ_012_H1":"Can Stremio play magnet links?","WEBSITE_MAINPAGE_FAQ_012_P1":"Yes, and it can also play normal HTTP links and torrent files (drag and drop).","WEBSITE_MAINPAGE_FAQ_013_H1":"Can I download a video and watch offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Available offline is an upcoming feature, but if you allow Stremio to cache on your device (from the settings panel) you can watch the videos later without a connection.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nothing works, help me!","WEBSITE_MAINPAGE_FAQ_014_P1":"Are you sure you have installed addons? If yes, check with our ${1}help center${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"How does Stremio sustain it\'s development operations?","WEBSITE_MAINPAGE_FAQ_015_P1":"We run non-intrusive ads occassionally, but we\'re considering moving to a donation model.","WEBSITE_MAINPAGE_FAQ_015_P2":"For more questions, go to our ${1}help center${2}.","HELP_LEARN_MORE":"Help us learn more about you.","LIFESTYLE":"Lifestyle","SPORTS":"Sports","FOOD_HEALTH":"Food & health","BEAUTY_FASHION":"Beauty & Fashion","NEWS":"News","GAMING":"Gaming","SCIENCE_EDUCATION":"Science & education","MUSIC":"Music","TRAVEL":"Travel","LATE_NIGHT":"Late Night","REALITY":"Reality","COMEDY":"Comedy","DIY":"How to DIY","TECH":"Tech","CINEMA":"Cinema","CONTINUE":"Continue","SLOW_LOADING":"SLOW LOADING?","I_GIVE_UP":"I GIVE UP","LEARN_MORE":"Learn more","POOR_SOURCE":"This source is poorly available or your internet connection is not fast enough","PICK_CATEGORIES_ERR":"You have to pick at least 3 categories","ADJUST_TIMING":"Adjust timing with ","ADJUST_SIZE":"Adjust size with ","SEARCH_ANYTHING":"You Can Search Anything...","ALL_CATEGORIES":"All","SEARCH_CATEGORIES":"Movies, Series, YouTube & TV","SEARCH_PERSONS":"Actors, Directors & Writers","SEARCH_PROTOCOLS":"HTTP & Magnet Links","SEARCH_TYPES":"IMDB / TVDB links","WATCHED":"Watched","SHOW_LESS":"Show less","LAST_SEARCHES":"Last searches","CLEAR_HISTORY":"Clear history","CHOOSE_SOME":"CHOOSE SOME OF THIS:","NO_WEB_REMOTE":"Web Remote could not be loaded","STREMIO_OFFLINE":"Stremio is offline","STREMIO_EXPENSIVE_CONNECTION":"We\'ve detected that you are using a mobile data connection, do you want to continue?","USE_DATA":"Use data","WARNING":"Warning","MORE_INFO":"More Info ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Loading ...","STREMIO_TV_BACK_TO_LANGUAGES":"Back to languages","STREMIO_TV_REMOTE":"Remote","STREMIO_TV_GO_TO":"Go to:","STREMIO_TV_OR_SCAN":"or scan:","STREMIO_TV_ADDON_INSTRUCTIONS":"Please follow the instructions in order to install your preferred addons.","STREMIO_TV_LIVE_TV":"Live TV","STREMIO_TV_RESUME_WATCHING":"Resume Watching","STREMIO_TV_LOADING_BACKGROUND":"Loading Background","STREMIO_TV_CHECKING_AUTHENTICATION":"Checking Authentication","STREMIO_TV_LOADING_BOARD":"Loading Board","STREMIO_TV_LOGIN_HEADER_LINE_1":"We want our users to have the best possible personalized experience with our software.","STREMIO_TV_LOGIN_HEADER_LINE_2":"It is for this reason that we kindly ask you to make and/or login to your account.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Thank you for understanding,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"The Stremio Team","STREMIO_TV_REMOTE_INSTRUCTIONS":"In order to use the Web Remote with your Smartphone / Tablet / Desktop:","STREMIO_TV_WIFI_SETUP":"Wi-Fi Setup","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle did not detect a internet connection.","STREMIO_TV_WIFI_DETAILS_1":"Connect to:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Use password:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Open a web browser with the link:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Default","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"By Last Watched","STREMIO_TV_LIBRARY_SORT_NAME":"By Name","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"By Times Watched","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Season ${1}","STREMIO_TV_STREAMS_LOADING":"Loaded ${1} / ${2} addons...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} addon is still loading...","STREMIO_TV_PLAYER_SETTINGS":"Player settings","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Subtitles delay","STREMIO_TV_PLAYER_AUDIO_DELAY":"Audio delay","STREMIO_TV_PLAYER_VIDEO_SCALING":"Video scaling","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Unsupported stream source","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Failed opening external link","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Not adjustable in audio passthrough mode","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Play with ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Play with libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Switching to libVLC player due to a playback error","STREMIO_TV_ADDONS_TITLE":"Use Stremio on your Phone or PC to install or configure addons and press \\"Sync Addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Note: make sure you are using the same Stremio account","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sync Addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons successfully synchronized","STREMIO_TV_ADDONS_SYNC_FAILED":"Failed to synchronize addons","STREMIO_TV_META_LINK_FAILED":"Failed opening meta link","STREMIO_TV_CATALOG_LOADING":"Catalog still loading...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Interface language updated","STREMIO_TV_SETTINGS_THEME_UPDATED":"Theme updated","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Default Player","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"External Player","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferred Language","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Secondary Preferred Language","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possible playback issues on some devices","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Some video formats might not work","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"No caching","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Default","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Soft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Fast","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Fast","STREMIO_TV_SETTINGS_SERVER_URL":"Streaming server url","STREMIO_TV_SETTINGS_SERVER_VERSION":"Server version","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Unknown","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio version","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Edit server url","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Enter a streaming server url","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Show statistics while loading","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"To read Stremio\'s Privacy Policy, visit:","STREMIO_TV_SETTINGS_TOS_TEXT":"To read Stremio\'s Terms and Conditions, visit:","STREMIO_TV_NAV_SEARCH":"Search","STREMIO_TV_NAV_HOME":"Home","STREMIO_TV_NAV_DISCOVER":"Discover","STREMIO_TV_NAV_LIBRARY":"Library","STREMIO_TV_NAV_MOVIES":"Movies","STREMIO_TV_NAV_SERIES":"Series","STREMIO_TV_NAV_CHANNELS":"Channels","STREMIO_TV_NAV_TV":"Live TV","STREMIO_TV_NAV_SETTINGS":"Settings","STREMIO_TV_NAV_ADDONS":"Addons","STREMIO_TV_LOGIN_TITLE":"Link Account","STREMIO_TV_LOGIN_EXPIRES_IN":"Expires in","STREMIO_TV_LOGIN_STEP_ONE":"Scan QR Code above or go to","STREMIO_TV_LOGIN_STEP_TWO":"Log in to your Stremio account","STREMIO_TV_LOGIN_NEW_LINK":"Request a new link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Login code refreshed","STREMIO_TV_SEARCH_PLACEHOLDER":"Type something","STREMIO_TV_SEARCH_NO_ADDONS":"No addons were requested for catalogs!","STREMIO_TV_SEARCH_BUTTON":"Search","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Search History","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"You can search for Titles, Actors, Channels and more...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Clear Search History","STREMIO_TV_FILTERS_DESCRIPTION":"Choose from one of the filters below","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"Filters","SETTINGS":"Settings","ACCOUNT":"Account","LOGOUT":"Logout","THEMES":"Themes","PLAYBACK":"Playback","PLAYBACK_SPEED":"Playback Speed","AUDIO_TRACKS":"Audio Tracks","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Videos","SERVER":"Server","LINKS":"Links","ABOUT":"About","INTERFACE":"Interface","ANIMATIONS":"Animations","STATUS":"Status","LANGUAGE":"Language","SIZE":"Size","DELAY":"Delay","BOLD":"Bold","OPACITY":"Opacity","TEXT_COLOR":"Text Color","OUTLINE_COLOR":"Outline Color","BACKGROUND_COLOR":"Background Color","BACKGROUND_BLUR":"Background Blur","SEEK_TIME_DURATION":"Seek Time Duration","AUTO_PLAY":"Auto-Play Next Episode","PLAY_NOW":"Play Now","MARK_AS_WATCHED":"Mark as Watched","MARK_AS_UNWATCHED":"Mark as Unwatched","REWIND_TO_BEGINNING":"Rewind to Beginning","CONTINUE_WATCHING":"Continue Watching","ALL":"All","SECONDS":"seconds","ON":"ON","OFF":"OFF","RELOAD":"Reload","EDIT_URL":"Edit URL","NONE":"None","EMBEDDED":"Embedded","REMOTE_SWITCH_DEVICES":"Switch Devices","REMOTE_VIDEOS":"Videos","REMOTE_ADJUST_TIMING":"Adjust timing","REMOTE_ADJUST_SIZE":"Adjust size","REMOTE_COULD_NOT_BE_LOADED":"Web Remote could not be loaded","REMOTE_RETRY":"Retry","TORRENT_PROFILE_DEFAULT":"Default","TORRENT_PROFILE_SOFT":"Soft","TORRENT_PROFILE_FAST":"Fast","TORRENT_PROFILE_ULTRA_FAST":"Ultra Fast","FAQ_001_H1":"What is Stremio?","FAQ_001_P1":"Stremio is a media center software designed for video entertainment with ease of use in mind. Stremio allows you to organize &amp; watch your own collection of movies, series, channels and live TV.","FAQ_001_P2":"Stremio collect the content it shows you from your local disk and our addons system.","FAQ_001_P3":"It will also notify you when new episodes/videos/movies you\'re interested in come out, and provide movie recommendations for you.","FAQ_02_H1":"How does Stremio compare to Kodi and Plex?","FAQ_02_P1":"We are inspired by those two pieces of software. But we have different goals - Stremio is specifically targeted towards entertainment video, and strives to become the mainstream solution for that by being very easy to use.","FAQ_02_P2":"Stremio will never be as customizable and feature-rich as Kodi and Plex, but it is significantly easier to use. Just ${1} get it and see ${2} :)","FAQ_03_H1":"How does Stremio compare to Netflix?","FAQ_03_P1":"Again, Netflix is one of our inspirations. We strive to achieve the user experience of Netflix, plus a lot of added goodies. But most importantly, we\'re giving you the freedom to manage your own library and add new content sources with our addon system.","FAQ_03_P2":"That makes Stremio infinitely extendable, so when you use Stremio, you\'re never limited to the content Netflix decides to license. For example, through Stremio you can watch content from ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} and even ${9}Netflix${10} itself!","FAQ_04_H1":"How does Stremio compare to Flipboard?","FAQ_04_P1":"We don’t get that question that often, except when talking to start-up people :)","FAQ_04_P2":"Stremio is by design a content aggregator, which essentially makes it Flipboard for video. This is very apparent in our Board section, which gives you catalogues and new episode/new video notifications for what you follow, just like Flipboard.","FAQ_05_H1":"How does Stremio compare to Popcorn Time?","FAQ_05_P1":"Stremio and Popcorn Time are similar in user interface, because there aren’t many ways to do video entertainment catalogues right :)","FAQ_05_P2":"But while Popcorn Time is focused on streaming torrents from specific sources, Stremio is unrestricted and is merely a content aggregator - it’s not locked into a specific content source.","FAQ_05_P3":"Furthermore, we do not provide any torrent addons by default, so Stremio does not cover the Popcorn Time use-case with official functionality.","FAQ_05_P4":"Another notable difference is that Popcorn Time is completely open source, while Stremio is ${1} partially open source${2}.","FAQ_06_H1":"Will you add this movie/series?","FAQ_06_P1":"No, sorry :(","FAQ_06_P2":"As is mentioned in most of the other questions, Stremio does not provide any content by itself - everything is added through the addons system. In case you have a content request, you can use the “Report” button in the Player, which will send an email to the author of the addon you’re currently using.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Will you create addon for X?","FAQ_08_P1":"It\'s entirely possible.","FAQ_08_P2":"If you have an idea for an addon, drop us a line at ${1}office@stremio.com${2}, but please make sure your addon idea will not infringe on any copyrights or terms of use.","FAQ_08_P3":"At the moment, the next things on our roadmap are addons for FandangoNOW, Filmon.tv video on demand and Crunchyroll.","FAQ_09_H1":"Does Stremio use BitTorrent?","FAQ_09_P1":"Yes, Stremio supports BitTorrent as a streaming protocol. You can use that either with a torrent addon, or by drag-and-dropping a .torrent file into Stremio, or by pasting a magnet link into the Search Bar.","FAQ_09_P2":"Please note that the only official addon using BitTorrent is ${1}Vodo${2}, which provides indie content, all permitted to be distributed with BitTorrent.","FAQ_09_P3":"We do not support use of any third-party addons which may enable copyright infringement.","FAQ_10_H1":"What can I watch in Stremio with the official addons?","FAQ_10_P1":"By default, you can watch Filmon.tv, YouTube and Vodo content within Stremio itself, with it’s embedded player. Additionally, we have an addon for Twitch.tv and a few others.","FAQ_10_P2":"This combined provides a selection of:","FAQ_10_L1":"Popular TV channels, provided by Filmon.tv - for example E4, BBC, Bollyworld TV","FAQ_10_L2":"Everything from YouTube - for example BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indie movies with Vodo","FAQ_10_L4":"Online gaming broadcasts with Twitch.tv","FAQ_10_P3":"Additionally, there are many content sources provided with Guidebox and the Netflix addons, which <b>do not</b> play entirely inside Stremio, but would redirect to the given service. For example, the Guidebox addon would give you a selection of movies you can stream in the US for free, from services like TubiTV and Crackle.","FAQ_11_H1":"Stremio won\'t install, what should I do?","FAQ_11_P1":"If you\'re on Windows, try ${1}this alternative installer${2}.","FAQ_11_P2":"If you\'re on Mac OS X, please be aware that we don\'t support anything older than OS X Mavericks (10.9).","FAQ_11_P3":"If you\'re on Linux, be aware that we only support 64 bit (x64) Linux at the moment.","FAQ_11_P4":"If you still can\'t resolve your problem, please write us at our ${1}Facebook group${2}.","FAQ_12_H1":"Why does my anti-virus complain? Is Stremio safe?","FAQ_12_P1":"We assure you Stremio is ${1}100% clean${2}.","FAQ_12_P2":"Your antivirus is complaining because we include advertising in our installer, which some anti-virus programs recognize as ad-ware.","FAQ_12_P3":"If you\'re still unsure, you can try our ${1}alternative installer${2}.","FAQ_13_H1":"How can I make an addon?","FAQ_13_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_13_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_13_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_14_H1":"How are addons published?","FAQ_14_P1":"When you create an addon and host, and put a <b>endpoint</b> field in your manifest, which points to a working addon address, the addon will automatically publish itself to our ${1}Addon catalogue${2}.","FAQ_14_P2":"This happens because the server part of the stremio-addons module automatically makes a call to our API to announce the addon. When our API validates your <b>endpoint</b> as a valid addon, it will start showing in the catalogue.","FAQ_15_H1":"Can I run Stremio in my browser?","FAQ_15_P1":"Not at the moment, but this is coming!","FAQ_15_P2":"If you\'re curious to see an Alpha, you can see it here: ${1}alpha4.strem.io${2}. Keep in mind streaming is disabled on this alpha. We support Chrome, Firefox, Opera and Edge.","FAQ_16_H1":"Casting to TV doesn\'t work / subtitles don\'t work","FAQ_16_P1":"Casting to TV uses the DLNA technology which is very inconsistent between different TV brands and models. For that reason, we do not have the ability to test it in every case, so it\'s far from perfect. Despite this, we\'re working on improving it constantly but we cannot give you a time estimate on when DLNA will start working properly with your TV.","FAQ_16_P2":"If you don\'t even see your TV in the casting menu, please try disabling your network connection and re-enabling it (on Windows, right click the Network and use Enable/Disable), as well as restarting your router, TV and PC.","FAQ_16_P3":"If you are still encountering issues, you can help us by sending your TV brand and model information at ${1}office@stremio.com${2}.","FAQ_16_P4":"In the meantime, we recommend Chromecast, which we support very well, or simply plugging in your TV to your PC with an HDMI cable.","FAQ_17_H1":"Stremio freezes and/or crashes, what can I do?","FAQ_17_P1":"First of all, if you\'re using Windows 7 with AVG anti-virus: we have a problem with that combination. The problem is in AVG itself, and there\'s no reasonable way to resolve it on our end. Unfortunately, exceptions or disabling the anti-virus won\'t work. The only solution is to replace AVG with something else.","FAQ_17_P2":"If that\'s not the issue, but you\'re still using Windows, please update to the latest service pack and update/re-install your GPU drivers, then try again.","FAQ_17_P3":"If you\'re problem is still not resolved, or you\'re using a Mac or Linux, please write us reporting the exact details of the problem at ${1}our Facebook group${2}.","FAQ_18_H1":"How can I make an addon?","FAQ_18_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_18_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_18_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_19_H1":"Why is Stremio taking disk space?","FAQ_19_P1":"Stremio has a <b>local cache</b> to temporarily keep the video files you stream.","FAQ_19_P2":"This has two benefits: first, it allows Stremio to pre-buffer the video ahead so as to ensure smoother streaming. Second, it keeps the videos in the local cache so you can continue watching them offline.","FAQ_19_P3":"How much Stremio keeps depends on the <b>Cache</b> setting in the Settings panel. Stremio may keep up to the set amount (e.g. 2GB) on your disk, unless the currently streamed video is larger than that, in which case it has to allocate enough storage to keep it until you\'re streaming it.","FAQ_20_H1":"Where is the cache folder?","FAQ_20_P1":"On Windows, it\'s stremio-cache in the drive you picked in Settings (e.g. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"On MacOS, it\'s \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"On Linux, it\'s \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"I get \\"Streaming server is not found\\" error, what can I do?","FAQ_21_P1":"If you get this error, it means one of few things:","FAQ_21_P2":"1) You are trying to use an addon backed by YouTube/BitTorrent source, through our ${1}web version${2}. In this case, you should install our desktop version from ${3}our website${4}.","FAQ_21_P3":"2) Something is wrong with your Stremio installation. In this case, try re-installing our latest desktop version from ${1}the website${2}. If this does not help, try disabling anti-virus programs and firewalls, restarting your PC and trying again. If this does not work too, please write us at our ${3}our Facebook group${4}.","FAQ_22_H1":"I cannot see/use most addons on iOS","FAQ_22_P1":"Because of restrictions in the Apple App Store terms and conditions, we have restricted the iOS application only to a particular set of addons.","FAQ_22_P2":"But rest assured - there will be more addons for iOS in the future, and we may also add an integration that will allow you to use all Stremio addons thanks to connecting the iOS app to the Stremio Streaming Server."}')},83778:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Film","TYPE_series":"Serie","TYPE_tv":"TV kanal","TYPE_channel":"Kanal","TYPE_other":"Other","TYPE_movie_PL":"Filmer","TYPE_series_PL":"Serier","TYPE_tv_PL":"TV kanaler","TYPE_channel_PL":"Kanaler","TYPE_other_PL":"Others","TYPE_ALL":"All","TYPE":"Type","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"Video","BACK":"Tilbake","MORE":"More","DONE":"Done","COPY":"Copy","SUCCESS":"Success","ERROR":"Error","SETTINGS_CASTING_MODE_PICKER":"Casting mode","CASTING_MODE_HLSV2":"Default","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"No transcoding","Discover":"Oppdag","Board":"Board","Library":"Bibliotek","My Library":"My Library","Calendar":"Kalender","NOTIFICATION_ONLINE":"You are now online","NOTIFICATION_OFFLINE":"You are currently offline","INTERNET_CONNECTION":"Network connection","STORAGE_FULL_TITLE":"Warning: Storage full!","STORAGE_FULL_TEXT":"Stremio will not be able to save your settings, preferences or login information. Consider re-starting or re-installing Stremio.","SEARCH":"Søk blant","SEARCH_NO_RESULTS":"Ingen resultater","SEARCH_EXPLANATION_CONTENT":"Søk etter filmer, serier, YouTubevideoer and TV-kanaler","SEARCH_EXPLANATION_PEOPLE":"Søk etter skuespillere, regissører and manusforfattere","SEARCH_PASTE_LINKS":"Lim inn HTTP og magnetlinker","SEARCH_OR_PASTE_LINK":"Search or paste link","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"Legg til i bibliotek","REMOVE_FROM_LIB":"Fjern fra bibliotek","ADDED_TO_LIB":"Added to Library","REMOVED_FROM_LIB":"Removed from Library","TRAILER":"Trailer","WATCH_TRAILER":"Se Trailer","WATCH_NOW":"Se Nå","SHOW":"Vis","SHOW_MOVIE":"Show Movie","WATCH_RANDOM":"Se tilfeldig","IMDB_RATING":"IMDb Rangering","YEAR":"År","DIRECTOR":"Regissør","WRITER":"Forfatter","LEAD_ACTORS":"Hovedskuespillere","CAST":"Skuespillere","CREW":"Crew","SHOW_MORE_CAST":"Vis mer »","AIRED":"Utgitt","SEASONS":"Sesonger","GENRE":"Sjanger","GENRE_ALL":"All genres","CATALOG":"Catalog","SUMMARY":"Sammendrag","SHOW_MORE":"Show More","SIMILAR":"Lignende","UPCOMING":"Kommer","ENDED":"Endte","DURATION":"Lengde","FEATURED":"Utvalgt","METADATA":"Metadata","CATEGORY":"category","LINKS_GENRES":"Genres","LINKS_CAST":"Cast","LINKS_DIRECTORS":"Directors","SEARCH_VIDEOS":"søk i videoer","SEARCH_PLACEHOLDER":"search or paste magnet link","ADDON":"Utvidelse","ADDONS":"Utvidelser","OFFICIAL":"Offisielle","ADDONS_OFFICIAL":"Offisielle Stremio Utvidelser","ADDONS_POPULAR":"Populært i ditt område","ADDON_FREE":"Gratis","ADDON_PEERED":"peered","ADDON_SUBSCRIPTION":"Abonnering","ADDON_STREAM_GEORESTRICTED":"ikke tilgjengelig i ditt område","ADDON_STREAM_OFFLINECACHE":"Offline Cache","ADDON_STREAM_LOCALFILE":"Lokal fil","SHARE_ADDON":"Share addon","AVAILABLE_STREAMS":"Tilgjengelige Strømmninger","NO_STREAM":"Ingen strømmninger tilgjengelige","ALL_ADDONS":"All","INSTALL_MORE_ADDONS":"For more streams, please install more addons","STREAM_NOT_SUPPORTED":"Selected stream is not supported on this platform.","ADDON_CATALOGUE":"Vis alle utvidelser »","ADDON_CATALOGUE_MORE":"Fler utvidelser »","REPO_ADDED":"Repository added","ADDON_REPO_EXIST_ERR":"This addons repository already exist","ADDON_REPO_ERR":"Error occurred while adding repository","ADDON_ADD_ERR":"Error occurred while adding addon","ERR_ADDON_PROTECTED":"Protected addon","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Something went wrong - authentication may have failed","ERR_NOT_COLLECTION_URL":"Not a collection url","ERR_NOT_ADDON_URL":"Not an addon url","ERR_DETECTFROMURL":"Cannot detect from url","ADDON_DUPLICATE_WARNING":"Warning: duplicated addon","ADDON_COLLECTION_SET_FAILED":"Addon collection set failed","SETTINGS_DATA_EXPORT":"Export data","ADDON_PULL_FAILED":"Addon pulling failed","REFRESH_ON_CLICK":"Click to retry","STILL_IN_THEATER":"Filmen er fortsatt på kino","WATCH_IN_CINEMA":"se den på din lokale kino","IN_THEATER":"På Kino","GET_TICKETS":"Få Biletter","UPCOMING_EPISODE":"Upcoming episode","UPCOMING_EPISODE_MESSAGE":"This episode will be aired on","MISSING_DATE_EPISODE":"Missing episode date","MISSING_DATE_EPISODE_MESSAGE":"This episode might not have aired yet","CHANNEL_NOT_SCRAPED":"Denne kanalen er ikke ferdig enda.<br>Vennligst kom tilbake om noen få minutter.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Legg den til i ditt bibliotek for å bli varslet når den blir tilgjengelig.","GET_NOTIFIED_WHEN_AVAILABLE":"Du vil bli varslet med en gang den er tilgjengelig.","WARNING_STREAMING_SERVER":"Advarsel: lokal strømmeserver ble ikke funnet. Det vil ikke være tilgjengelig å strømme fra YouTube og BitTorrent.","WARNING_STREAMING_SERVER_DISMISS":"Dismiss","WARNING_STREAMING_SERVER_LATER":"Later","DECODER_WARNING":"Warning: this video may not be supported by your hardware. Keep in mind, playback may be slow.","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"Oops, spiller feil","PLAYER_ERROR_LOOKSLIKE":"Det ser ut som","PLAYER_ORIENTATION":"Player orientation","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Locked","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensor","PLAYER_ORIENTATION_LANDSCAPE":"Player orientation locked at landscape","PLAYER_ORIENTATION_SENSOR":"Player orientation automatic (sensor)","PLAYER_PLAYBACK_SPEED":"Playback Speed","PLAYER_PLAYBACK_ERROR":"Playback error, please try again","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Unknown error","PLAYER_PLAYBACK_ERROR_DEFAULT":"Sorry, this video cannot be played by {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Subtitles Languages","PLAYER_SUBTITLES_VARIANTS":"Subtitles Variants","PLAYER_SUBTITLES_SETTINGS":"Subtitles Settings","PLAYER_SUBTITLES_DISABLED":"Subtitles are disabled","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Vertical Position","PLAYER_SUBTITLES_LOADED":"Subtitles loaded","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Embedded subtitles loaded","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Exclusive subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Subtitles from {{origin}} loaded","PLAYER_PLAY":"Play","PLAYER_PAUSE":"Pause","PLAYER_NEXT_VIDEO":"Next Video","PLAYER_MUTE":"Mute","PLAYER_UNMUTE":"Unmute","PLAYER_OPEN_IN_EXTERNAL":"Open in external player","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Play in {{device}}","PLAYER_LIVE":"Live","PLAYER_NEXT_VIDEO_TITLE":"Coming up next on","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Dismiss","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Watch now","PLAYER_COPY_STREAM_SUCCESS":"Stream link was copied to your clipboard","PLAYER_COPY_STREAM_ERROR":"Failed to copy stream link","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","STREAMING_FROM":"Strømmer fra","CASTING_TO":"Caster til","NETWORK_STATUS":"Nettverksstatus","STREAM_SPEED":"Fart på strømmen:","STREAM_BUFFERED":"Buffret:","PEERS_INFO":"Informasjon om peers","PEERS_ACTIVE":"Aktive:","PEERS_CONNECTED":"Tilkoblede:","PEERS_WAITING":"Venter:","TRANSCODING_WARNING":"Advarsel: transkoder videoen.","STREAM_LOADING":"Laster...","PLAYING_LOCAL":"Spiller fra lokal fil","PLAYING_CACHE":"Spiller fra cache","WRONG_SUBS":"Feil undertekster?","ERR_SUBS_LOADING_TITLE":"Error loading subtitles","ERR_SUBS_LOADING":"Failed loading subtitles: this could be an issue with the addon you are using, or with your network connection","WARN_FOLLOWING_SUB_ADDONS_FAILED":"The following subtitle addons failed","ERR_CASTING_UPDATE_TITLE":"Could not update casting device info: streaming server might be offline","CHOOSE_DEVICE":"Velg en enhet å strømme fra","NO_CAST_DEVICES":"No casting devices available.","NO_SETTINGS":"No settings available.","PHONE_TABLET":"Telefon / Nettbrett","SUBTITLES":"Subtitles","SUBTITLES_CHANGE":"Endre undertekster for ","SUBTITLES_CHANGE_NONE":"Det er ingen andre undertekster for dette språket, beklager.","SUBTITLES_CHANGE_ACIVE":"Undertekst &#35;{{subtitlesDialog.activeIdx + 1}} er aktivert. Klikk \\"Fortsett\\" for å aktivere undertekster &#35;{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Alternativt,","SUBTITLES_ADJUST_DELAY":"Still inn undertekstsforsinkelse:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Eller bruk <span>G</span> / <span>H</span> tastene når du ser for å justere.","SUBTITLES_ADJUST_DELAY_TIP":"TIPS: du kan bruke <span>G</span> / <span>H</span> tastene når du ser for å justere.","SUBTITLES_DELAY":"Undertekstsforsinkelse:","SUBTITLES_LOADING":"Loading subtitles...","SUBTITLES_UNAVAILABLE":"No external subtitles available","SUBTITLES_DISABLED":"Disabled","EXTERNAL_PLAYER_DISABLED":"Disabled","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Allow Choosing","EXTERNAL_PLAYER_HINT":"Hint: There is a setting to allow always opening with external player","DONT_SHOW_AGAIN":"Don\'t show again","SERVICE_INSTALL":"Install","AUDIO":"Audio","DEFAULT_LANGUAGE":"Default Language","DEFAULT_SECONDARY_LANGUAGE":"Default Secondary Language","SEASON":"Sesong","EPISODE":"Episode","EPISODE_ABBREVIATION":"EP","SPECIAL":"Special","SORT":"sort","SORT_BY":"Sort by","FILTER":"filter","SORT_TRENDING":"trender","SORT_RECENT":"nylig","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"rangering","SORT_WATCHED":"sett","SORT_YEAR":"år","SELECT_TYPE":"Select type","SELECT_SORT":"Select sort","SELECT_CATALOG":"Select catalog","SELECT_GENRE":"Select genre","SORT_LASTWATCHED":"By last watched","SORT_NAME":"By name","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"By times watched","SORT_NOTWATCHED":"not watched","New for You":"New for You","New Episodes":"New Episodes","New Videos":"New Videos","Recommendations":"Recommendations","LIBRARY_RESUME":"gjenoppta","LIBRARY_PLAY":"Play","LIBRARY_DETAILS":"Details","LIBRARY_RESUME_DISMISS":"avvis","LIBRARY_CLEAR_PROGRESS":"Clear Progress","LIBRARY_REMOVE":"Remove","LIBRARY_NOT_LOGGED_IN":"Library is only available for logged in users","CALENDAR_NOT_LOGGED_IN":"Calendar is only available for logged in users","NOT_LOGGED_IN_CLOUD":"Access your favorite movies and TV shows anytime, anywhere","NOT_LOGGED_IN_RECOMMENDATIONS":"Recommendations tailored to your viewing history","NOT_LOGGED_IN_NOTIFICATIONS":"Never miss an episode again","NOT_LOGGED_IN_CALENDAR":"Schedule your personal watching calendar","DISCOVER_FEATURED":"Utvalgt","DISCOVER_TOP":"Topp","DISCOVER_OSCAR":"Oscar vinnere","DISCOVER_WARNING_TITLE":"Oops!","DISCOVER_EMPTY_CATALOG":"This addon returned empty content.","DISCOVER_ADULT_WARNING":"The content is visible only for adults. Are you 18+?","DISCOVER_NOADDON_WARNING":"Advarsel: ingen Stremio utvidelse aktiv for denne typen. Viser lagrede elementer, ingenting vil oppdatere.","DISCOVER_LOAD_ERR":"The content did not load, error occured.","DISCOVER_ADDON_UNINSTALLED":"This content is no longer available, you may have un-installed the addon.","UNINSTALL_THIS_ADDON":"Uninstall this addon","ERR_ADDON_NOT_INSTALLED":"This addon is not installed. Install now?","DETAIL_RECEIVE_NOTIF_SERIES":"Receive notifications for new episodes","DETAIL_RECEIVE_NOTIF_VIDEOS":"Receive notifications for new videos","SIDEBAR_SHOW_STREAMS":"Show Streams","RELAUNCH":"Start på nytt nå!","UPGRADE":"Oppdater til den nyeste Stremio versjonen","RELOAD_UI":"Reload the user interface","MANUAL_UPDATE_TITLE":"Update your Stremio version","MANUAL_UPDATE_LINE1":"You are running an outdated version of Stremio which is highly unrecommended.","MANUAL_UPDATE_LINE2":"Please update as soon as possible.","BUTTON_UPDATE_LATTER":"Not now","BUTTON_UPDATE_NOW":"Update","ANONYMOUS_USER":"Anonymous user","DONT_HAVE_ACC":"Har du ikke en bruker?","HAVE_ACC":"Already have an account?","PASSWORD":"Passord","PASSWORD_CONFIRM":"Confirm password","EMAIL":"E-post","FB_LOGIN":"Logg inn med Facebook","FB_NOTHINGSHARED":"Ingenting vil bli delt uten din tillatelse :)","FB_NOPOST":"We won’t post anything on your behalf","OR":"eller","I_ACCEPT":"Jeg godtar ","I_ACCEPT_BY_CLICKING":"By clicking the above button I testify that I accept the ","TOS":"Vilkårene og betingelsene","MUST_ACCEPT_TERMS":"You must accept terms","PASSWORDS_NOMATCH":"Passordene er ikke like","SIGN_UP":"Registrer","SIGN_UP_EMAIL":"Sign up with email","CLICK_TO_SIGN_UP":"Click here to sign up.","LOG_IN":"Logg inn","LOG_OUT":"Logg ut","EXIT_FULLSCREEN":"Exit fullscreen mode","ENTER_FULLSCREEN":"Enter fullscreen mode","PLAY_URL_MAGNET_LINK":"Play URL/Magnet link","HELP_FEEDBACK":"Help & Feedback","TERMS_OF_SERVICE":"Terms of Service","PRIVACY_POLICY":"Privacy Policy","ABOUT_STREMIO":"About Stremio","USER_PANEL":"User Panel","LOGIN_LABEL":"Login","GUEST_LOGIN":"Logg inn som gjest","GUEST_LOGIN_NOTICE":"Gjesteinnlogging er ikke anbefalt. Å bruke en vanlig inlogging gjør det lettere for Stremio å synkronisere biblioteket ditt og å motta varsler for dine favoritt serier/kanaler. Er su sikker på at du vil fortsette?","GUEST_LOGIN_NOTICE_2":"Gjesteinnlogging er ikke anbefalt - du vil ikke ha tilgang til et synkronisert bibliotek eller board, som er which are viktige Stremio funksjoner. ER du sikker på at du vil fortsette?","CLICK_HERE":"Klikk her","WRONG_PASSWORD":"Feil passord. I tilfelle du har glemt passordet, ","SET_A_PASS":"lag et passord","RESET_PASSWORD":"Reset password","FORGOT_PASSWORD":"Glemt passord?","EMAIL_USED_WITH_FB":"Denne eposten er i bruk av en Facebook innlogging.","INVALID_EMAIL":"Please enter a valid email address","INVALID_PASSWORD":"Please enter a valid password","CONN_ERR":"Tilkoblingsfeil - venligst prøv igjen senere.\\n\\nHvis feilen fortsetter, deaktiver brannmuren/anti-virus program (spesielt Bitdefender).","IMPORT_FROM_GUEST":"Importer bibliotek fra en gjestebruker","RECEIVE_UPDATES_EMAIL":"Motta oppdateringer fra Stremio på epost","LOGIN_FAILED":"Innlogging feilet.","SIGNUP_FAILED":"Signup failed.","SEARCH_FAILED":"Search failed","EMAIL_USED":"This email is already in use.","WAITING_FB_LOGIN":"Logging in with Facebook...","EXTERNAL_PLAYER_TITLE":"Play in external player","EXTERNAL_REMEMBER_PLAYER":"Do you want to remember your choice","EXTERNAL_ALWAYS_PLAY":"Yes","EXTERNAL_ONLY_ONCE":"No","BEST_FIT":"Best Fit","FIT_SCREEN":"Fit Screen","FILL":"Fill","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"Tell us about what you like","INTRO_TASTE_LONG":"Tell us about what you\'d like to watch","INTRO_TASTE_PICK":"Pick {{interestsRemaining}} interests","INTRO_TASTE_PICK_MORE":"Pick {{interestsRemaining}} more interests","INTRO_TASTE_HELP_US":"Help us learn more about you.","INTRO_TASTE_CHOOSE_THESE":"Choose some of these:","INTRO_TASTE_CHOOSE_MIN":"Choose at least 3 categories","INTRO_TASTE_CHOOSE_MIN_ERR":"You have to pick at least 3 categories!","INTRO_TASTE_LIFESTYLE":"Lifestyle","INTRO_TASTE_SPORTS":"Sports","INTRO_TASTE_FOOD_HEALTH":"Food & Health","INTRO_TASTE_BEAUTY_FASHION":"Beauty & Fashion","INTRO_TASTE_NEWS":"News","INTRO_TASTE_GAMING":"Gaming","INTRO_TASTE_SCIENCE_EDU":"Science & Education","INTRO_TASTE_MUSIC":"Music","INTRO_TASTE_TRAVEL":"Travel","INTRO_TASTE_LATE_NIGHT":"Late Night Show","INTRO_TASTE_REALITY":"Reality","INTRO_TASTE_COMEDY":"Comedy","INTRO_TASTE_DIY":"How to DIY","INTRO_TASTE_TECH":"Tech","INTRO_TASTE_CINEMA":"Cinema","ADDON_NOT_SUPPORTED":"Selected addon is not supported on this platform.","ADDON_DISCLAIMER":"Bruk av tredjeparts-utvidelser vil alltid være ditt ansvar med hennsyn til den gjeldene loven der du befinner deg.","ADDON_ACTIVATE":"Aktivere denne utvidelsen?","ADDON_REPO_ADD":"Addon repository url","ADDON_ADD":"Add","INSTALL_ADDON":"Install addon","ADD_ADDON":"Add addon","ADD_ADDON_DESCRIPTION":"You can add an addon via an external link, which will appear under Installed addons.","PASTE_ADDON_URL":"Paste addon URL","WHATS_NEW":"Hva er nytt?","BUTTON_CONTINUE":"Fortsett","BUTTON_ACTIVATE":"Aktiver","BUTTON_ACTIVATED":"Aktivert","BUTTON_CANCEL":"Avbryt","BUTTON_SUBMIT":"Submit","BUTTON_DISMISS_ALL":"Dismiss All","BUTTON_VIEW_ALL":"view all","BUTTON_SEE_ALL":"See All","BUTTON_COLOR_TRANSPARENT":"Transparent","OPEN_IN_BROWSER":"Open in browser","LIB_EMPTY":"Biblioteket ditt ser tomt ut. Finn ut hvor nyttig det er :) ","HOW_START":"Kom i gang:","LIB_EMPTY_CAL":"Kalenderen din viser serier i biblioteket ditt.","HOW_START_CAL":"Her er hvordan du kan legge til serier:","LIB_EMPTY_BOARD":"Board viser varsler &amp; anbefalinger relatert til biblioteket ditt.","HOW_START_BOARD_WAIT":"Legg til noen serier eller kanaler i biblioteket ditt og gi oss noen minutter til å behandle de :)","HOW_START_BOARD":"Her er hvordan du kan legge til serier &amp; filmer til det:","IMPORT_FB":"Importer ting du liker fra <span>Facebook</span>","IMPORT_TRAKT":"Importer mediebiblioteket ditt fra <span>Trakt</span>","IMPORT_DISCOVER":"Finn interessante ting fra <span>Oppdag</span>","IMPORT_DISK":"Importer filmer eller serier fra din <span>lokale Harddisk</span>","PLEASE_CREATE_ACC":"Venligst <u>opprett en bruker</u> for å aktivere biblioteksynkronisering &amp; Board.","IMPORT_DISCOVER_SIGNUP":"Registrer deg og finn interessante ting i <span>Discover</span>","IMPORT_DISK_SIGNUP":"Registrer deg for å importere filmer eller serier du har på din <span>lokale disk</span>","LIB_EMPTY_CLOUD":"Cloud library","LIB_EMPTY_CLOUD_DESC":"Personal cloud library synced on all devices","LIB_EMPTY_EARLY":"Early bird","LIB_EMPTY_EARLY_DESC":"Receive notifications for new episodes","LIB_EMPTY_PERSONAL":"Personal","LIB_EMPTY_PERSONAL_DESC":"Get personal recommendations","LIB_EMPTY_CALENDAR_DESC":"Schedule your personal watching calendar","LIB_EMPTY_ALL":"Sign up to get all of these:","LIB_EMPTY_BEST":"Sign up to get best of Stremio","LIB_EMPTY_OTHER":"Sign up to enable Calendar & other cool features","CALENDAR_ADDED":"The Stremio calendar has been added to your default desktop calendar.","CALENDAR_ADDED_MSG":"If this does not work, please add this URL to your calendar application manually","TRAKT_EXPIRED":"Trakt authentication expired, please go to Settings and re-authenticate","TRAKT_REQUIRES_LOGIN":"Trakt error","TRAKT_REQUIRES_LOGIN_MSG":"You need to login","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","SETTINGS_LABEL":"Settings","SETTINGS_NAV_GENERAL":"General","SETTINGS_NAV_PLAYER":"Player","SETTINGS_NAV_STREAMING":"Streaming","SETTINGS_NAV_SHORTCUTS":"Shortcuts","SETTINGS_SHORTCUT_RELOAD_APP":"Reload App","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Open Settings","SETTINGS_SHORTCUT_SWITCH_TABS":"Switch Tabs","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Cycle Through Tabs Forward","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Cycle Through Tabs Backward","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigate Between Menus","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Go to Search","SETTINGS_SHORTCUT_EXIT_BACK":"Exit / Go Back","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Toggle Playback Speed Menu","SETTINGS_SHORTCUT_MENU_VIDEOS":"Toggle Videos Menu","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Toggle Subtitles Menu","SETTINGS_SHORTCUT_MENU_INFO":"Toggle Info Menu","SETTINGS_SHORTCUT_FULLSCREEN":"Toggle Fullscreen","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Show Controls","SETTINGS_SHORTCUT_PLAY_PAUSE":"Play / Pause","SETTINGS_SHORTCUT_VOLUME_UP":"Volume Up","SETTINGS_SHORTCUT_VOLUME_DOWN":"Volume Down","SETTINGS_SHORTCUT_SEEK_NEXT":"Seek Next","SETTINGS_SHORTCUT_SEEK_PREV":"Seek Prev","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Seek Backward","SETTINGS_SHORTCUT_SEEK_FORWARD":"Seek Forward","SETTINGS_SHORTCUT_PLAY_NEXT":"Play Next","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Increase Subtitles Size","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Decrease Subtitles Size","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Increase Subtitles Delay","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Decrease Subtitles Delay","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Toggle Sidebar","SETTINGS_SHORTCUT_OR":"or","SETTINGS_SHORTCUT_TO":"to","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Authenticate","SETTINGS_FACEBOOK_IMPORT":"Import","SETTINGS_CALENDAR_SUBSCRIBE":"Subscribe","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Interface Language","SETTINGS_LAUNCH_STARTUP":"Kjør ved oppstart","SETTINGS_VLC_DEFAULT":"Spill med VLC","SETTINGS_UI_LANGUAGE":"UI Language","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Escape key exit full screen","SETTINGS_GAMEPAD":"Enable gamepad support","SETTINGS_CLOSE_WINDOW":"Close app when window is closed","SETTINGS_SUBTITLES_LANGUAGE":"Default Subtitles Language","SETTINGS_SUBTITLES_SIZE":"Default Subtitles Size","SETTINGS_SUBTITLES_BACKGROUND":"Subtitles background","SETTINGS_SUBTITLES_COLOR":"Subtitles color","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Subtitles outline color","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Subtitles background color","SETTINGS_SEEK_KEY":"Arrow keys seek time","SETTINGS_SEEK_KEY_SHIFT":"Arrow keys seek time when Shift key is held","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Rewind & Fast-forward duration","SETTINGS_BINGE":"Spill av neste episode automatisk","SETTINGS_NEXT_VIDEO":"Show notification to start next episode","SETTINGS_NEXT_VIDEO_TRIGGER":"Show next episode notification for:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Next video popup duration","SETTINGS_PLAY_IN_BACKGROUND":"Play in background","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Play in external player","SETTINGS_RESIZE":"Endre vindusstørrelse automatisk før avspilling","SETTINGS_OVERRIDE_SERVER":"Override the streaming server URL (advanced)","SETTINGS_SERVER_URL":"Streaming server URL: ","SETTINGS_SERVER_AVAILABLE":"Streaming server is available.","SETTINGS_SERVER_UNAVAILABLE":"Streaming server is not available.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Error","SETTINGS_SERVER_CONFIGURE_TITLE":"Configure streaming server url","SETTINGS_SERVER_CONFIGURE_INPUT":"Enter a streaming server url","SETTINGS_SERVER_CACHE_SIZE":"Cache size","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent profile","SETTINGS_HTTPS_ENDPOINT":"Streaming HTTPS endpoint: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Bruk alltid den nyeste betaversjonen","SETTINGS_IMPORT_FB":"Importer fra Facebook","SETTINGS_IMPORT_DISK":"Importer fra lokal disk","SETTINGS_IMPORT_TRAKT":"Import from Trakt","SETTINGS_PAUSE_MINIMIZED":"Pause playback when minimized","SETTINGS_HWDEC":"Hardware-accelerated decoding","SETTINGS_BACKGROUND":"Background playback","SETTINGS_SUBSCRIBE_CALENDAR":"Abonner på en kalender","SETTINGS_REQ_EXPORT":"Request data export","SETTINGS_ACC_DELETE":"Request account deletion","SETTINGS_CHANGE_PASSWORD":"Endre passord","SETTINGS_TOS":"Vilkår for tjenesten","SETTINGS_SUPPORT":"Kontakt support","SETTING_LANGUAGE":"Språk","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_LOGOUT":"Logg ut av Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Logg ut av Trakt","SETTINGS_SCAN_FOR_REMOTE":"Scan QR koden for å åpne eksternt","SETTINGS_DESKTOP_NOTIFICATIONS":"Desktop notifications","SETTINGS_DATA_SAVER":"Data saver","SETTINGS_LANGUAGE_INTERFACE":"interface","SETTINGS_LANGUAGE_SUBS":"default subtitles","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Autoselect Audio Track","SETTINGS_DEFAULT_AUDIO_TRACK":"Default Audio Track","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"account","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"version","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"Launch player in a separate window (advanced)","SETTINGS_PLAY_IN_EXTERNAL":"Always start video in external player","SETTINGS_STORAGE_BUTTON":"Clear Local Storage","SETTINGS_STORAGE_MODAL_TITLE":"Are you sure ?","SETTINGS_STORAGE_MODAL_MESSAGE":"This will clear the local storage and log you out.","SETTINGS_HWDEC_PICKER":"Pick hardware-accelerated decoding setting","SETTINGS_HW_AUTOMATIC":"Automatic","SETTINGS_HW_DISABLED":"Disabled","SETTINGS_HW_ACCELERATED":"Decoding acceleration","SETTINGS_HW_FULL":"Full acceleration","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Subtitles","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Controls","SETTINGS_SECTION_AUTO_PLAY":"Auto-Play","SETTINGS_SECTION_ADVANCED":"Advanced","SUBSPICKER_AUDIO":"Audio","SUBSPICKER_SUBTITLES":"Addons Subtitles","SUBSPICKER_BLACK_BACKGROUND":"Use black background color","SUBSPICKER_VERTICAL_OFFSET":"Vertical Offset","SUBSPICKER_SIZE":"Size","SUBSPICKER_DELAY":"Delay","SUBSPICKER_EMBEDDED_SUBS":"Embedded Subtitles","MOBILE_PRIVACY_POLICY":"Privacy Policy","MOBILE_CRASH_REPORTING":"Crash Reporting","MOBILE_ZOOM_TO_FILL":"Zoom To Fill Screen","MOBILE_PASSTHROUGH":"Digital audio output (passthrough)","MOBILE_RUN_LOW_BATTERY":"Run on low battery","MOBILE_RUN_FOREGROUND":"Run as Foreground Service","MOBILE_PERFORMANCE":"PERFORMANCE & STABILITY","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"QR Code expires in ","MOBILE_LOG_INTO":"Log in to your Stremio account ","MOBILE_SCAN_QR":"Scan QR code above or go to ","MOBILE_LINK_ACCOUNT":"Link Account","MOBILE_SPEEDPICKER_CANCEL":"Cancel","MOBILE_SPEEDPICKER_LABEL":"Select Playback Speed","MOBILE_EMPTY_LIBRARY":"Your library is empty","MOBILE_NO_ADDON_ACTIVE":"No Stremio addon active for this type.","MOBILE_ORGANIZER_WARNING":"The Stremio Organizer app provides limited functionality. For a list of playable streams and the full Stremio experience, use Stremio on desktop.","MOBILE_ADDON_LOADING":"is still loading","MOBILE_ADDONS_LOADING":"addons are still loading","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Configure your addon","MOBILE_CONFIGURE_ADDON_LABEL":"Configure Addon","MOBILE_ORGANIZER_ADDONS_WARNING":"The Stremio Organizer app provides a limited selection of addons. For the full Stremio experience, use Stremio on desktop.","MOBILE_DISCONNECT":"Disconnect","MOBILE_LOOKING_FOR_DEVICES":"Looking for devices...","MOBILE_CAST_TO":"Cast to","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Delete Account","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Account deletion is not instant due to legal obligations. After requesting deletion of your account you will have to use different email address/facebook profile to create a new Stremio account in the future.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirm Account Deletion","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Your account has been created using Facebook. To delete your account, please use our user portal at www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Please provide your password to confirm account deletion.","MOBILE_DELETE_ACCOUNT_BUTTON":"Delete Account","NAVIGATION_ON":"On","NAVIGATION_OFF":"Off","MARKETING_AGREE":"I agree to receive marketing communications from Stremio","QUIT":"Avslutt","CONNECTED":"Connected","AUTHENTICATE":"Verifiser","CACHING":"Bufrer","SETTINGS_CACHING_DRIVE":"Velg bufrings enhet","ENABLE_LOCAL_FILES_ADDON":"Enable the local files addon (requires restart)","LOCAL_ADDON_NOT_ENABLED":"Local addon is not enabled. Click here to go to the settings and enable it","ENABLE_REMOTE_HTTPS_CONN":"Enable remote HTTPS connections","TORRENT_PROFILE":"Torrent Profile","DATA_CACHING":"Data Caching","MAGNET_PARSING":"Parsing a magnet link","January":"Januar","February":"Februar","March":"Mars","April":"April","May":"Mai","June":"Juni","July":"Juli","August":"August","September":"September","October":"Oktober","November":"November","December":"Desember","Monday":"Mandag","Tuesday":"Tirsdag","Wednesday":"Onsdag","Thursday":"Torsdag","Friday":"Fredag","Saturday":"Lørdag","Sunday":"Søndag","Action":"Action","Comedy":"Komedie","War":"Krig","Family":"Familie","Animation":"Animasjon","Adventure":"Eventyr","Fantasy":"Fantasy","Crime":"Krim","Mystery":"Mysterier","Romance":"Romantikk","Drama":"Drama","Horror":"Grøsser","Thriller":"Spenning","Sci-Fi":"Sci-Fi","Music":"Musikk","Biography":"Biografi","Documentary":"Dokumentar","Sport":"Sport","Musical":"Musikal","Western":"Western","Film-Noir":"Film-Noir","News":"Nyheter","History":"Historie","Game-Show":"Gameshow","Reality-TV":"Reality-TV","Talk-Show":"Talk-Show","Film & Entertainment":"Film & Underholdning","Gaming":"Gaming","From TV":"Fra TV","Lifestyle":"Livsstil","Science & Education":"Vitenskap & Utdanning","Cooking & Health":"Matlaging & Helse","Beauty & Fashion":"Skjønnhet & Mote","Sports":"Sport","News & Politics":"Nyheter & Politikk","How-to & DIY":"Gjør det selv","Tech":"Teknologi","Automotive":"Bilbransjen","Causes & Non-Profits":"Saker & ideelle organisasjoner","Movies":"Filmer","Uk Live Tv":"UK Direkte TV","Fashion":"Mote","Business News Radio":"Business Nyhetsradio","Business Tv":"Business TV","Cars & Auto":"Biler og Auto","Comedy Radio":"Komedieradio","Lifestyle Radio":"Livsstilsradio","News Tv":"Nyhets TV","Food And Wine":"Mat og Vin","Latino Tv":"Latino TV","Shopping Tv":"Shopping TV","Religion":"Religion","Kids":"Barn","Body & Soul":"Kropp og Sjel","Education":"Utdanning","Indian Tv":"Indisk TV","Extreme Sports":"Ekstremsport","Middle Eastern Tv":"TV fra Midtøsten","Celebrity Tv":"Kjendis TV","Science Tv":"Vitenskaps TV","Bikini babe":"Bikini babe","Outdoors":"Utendørs","German Tv":"Tysk TV","French Tv":"Fransk TV","Italian Tv":"Italiensk TV","Gamer Tv":"Spill TV","Travel":"ReiseTV","Asian Tv":"Asiatisk TV","Entertainment":"Underholdning","News Radio":"Nyhetsradio","Music Radio":"Musikkradio","Language Learning":"Språklæring","Science Radio":"Vitenskapsradio","Tech Radio":"Teknologiradio","Science & Technology Vod":"Vitenskap -og Teknologi VOD","new video":"ny video","new episode":"ny episode","new movie":"ny film","recommended":"anbefalt","we recommend":"vi anbefaler","offer of the day":"dagstilbud","news":"nyheter","music video":"musikkvideo","CTX_SHOW_HOTKEYS":"Show hotkeys","CTX_DISMISS_NOTIF":"Forkast varsler","CTX_DISMISS_ALL":"Dismiss all","CTX_SHARE":"Del","CTX_COPY_SHARE_LINK":"Kopier link for deling","CTX_COPY_MAGNET_LINK":"Copy magnet link","CTX_COPY_STREAM_LINK":"Copy stream link","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Download this video","CTX_DOWNLOAD_SUBS":"Download subtitles","CTX_VIEW_ON_YOUTUBE":"View on YouTube","CTX_SHOW":"Vis","CTX_PLAY":"Play","CTX_PLAY_IN":"Play in","CTX_PLAY_ON":"Play on","CTX_WATCH_ON":"Se på","CTX_WATCH":"Se","CTX_WATCHED":"Sett","CTX_WATCH_BEGINNING":"Se fra starten","CTX_WATCH_MOBILE":"Se på en mobil enhet","CTX_REWIND":"Spol til start","CTX_MARK_WATCHED":"Merk som sett","CTX_MARK_NON_WATCHED":"Merk som ikke sett","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"Mark rest as watched","CTX_UNMARK_REST":"Mark rest as non-watched","CTX_RECEIVE_NEW_NOTIF":"Få nye varsler","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"Fjern fra bruffren","CTX_REMOVE_CACHE_EP":"Fjern episode fra buffren","CTX_OPEN_CONTAINING":"Åpne mappen som inneholder filen","CTX_REMOVE":"Fjern fra bilbiotek","CTX_AVAILABLE_OFFLINE":"Tilgjengelig Offline","CTX_PAUSED":"Pauset","CTX_ALWAYS_ON_TOP":"Alltid på toppen","CTX_FULLSCREEN":"Fullskjem","CTX_WRONG_SUBS":"Feil undertekster?","CTX_REPORT_ISSUES":"Rapporter en feil","CTX_COPY":"Kopier","CTX_PASTE":"Lim inn","CTX_CLEAR":"Tøm","CTX_CLEAR_RECENT_SEARCHES":"Tøm nylige søk","HELLO_THERE":"Hei!","HOPE_YOU_ENJOY":"Vi håper du liker Stremio og at det er en av dine favoritt apper allerede!","WHO_ARE_WE":"Hvem er vi? Vi er teamet bak appen - to gutter som har jobbet hardt med appen hver dag i de siste 3 årene, med kun ett mål - å gjøre dette produkte bedre og bedre.","SUPPORT_US":"Hvis du liker Stremio, hvis Stremio er verdifull for deg - støtt oss!","SPREAD_THE_WORD":"Del med vennene dine og spred ordet om Stremio","MORE_PEOPLE":"Jo fler som bruker Stremio, jo bedre blir det!","SEND_A_LINK":"Eller send en link til websiden vår","TIP_LOCALFILES":"Tips: du kan dra og slippe lokale videoer inn i Stremio","ADDON_MY":"Mine utvidelser","ADDON_COMMUNITY":"Samfunnets utvidelser","ADDON_OFFICIAL":"Offisielle utvidelser","ADDON_REPOS":"Addon repositories","ADDON_SEARCH":"Søk etter utvidelser","ADDON_INSTALL":"Installer","ADDON_CONFIGURE":"Configure","ADDON_UNINSTALL":"Avinstaller","ADDON_UPGRADE":"Upgrade","ADDON_INSTALLED":"Installert","ADDON_INSTALLED_MSG":"Addon installed!","ADDON_UPGRADED_MSG":"Addon upgraded!","ADDON_UNKNOWN":"Unknown","ADDON_ERR":"Addon install error!","ADDON_DISCONNECTED":"Disconnected","ADDON_APP_MISSING":"the app for this source is not installed. Do you want to install it now?","ADDON_APP_INSTALL":"Install Now","ADDON_PAGE":"Side for utvidelser","ADDON_TOP_CONTENT":"Det beste fra denne utvidelsen","ADDON_PROVIDES":"git","ADDON_WATCH":"Se #{types} nå!","ADDON_WATCH_FREE":"Se #{types} GRATIS nå!","ADDON_ADDON":"Utvidelse","ADDON_SUPPORTED_TYPES":"Supported types","ADDON_SUPPORTED_CATALOGS":"Supported catalogs","ADDON_PROVIDES_DISCOVER":"Mer #{types} i oppdag","ADDON_PROVIDES_STREAMS":"Se #{types}","ADDON_PROVIDES_STREAMS_FREE":"Se #{types} GRATIS","ADDON_PROVIDES_SUBTITLES":"Undertekster for #{types}","ADDON_CANTDETECT":"Vi kunne ikke oppdage en kjørende Stremio, så vi kunne ikke oppdage hvilke utvidelser du har installert.","ERR_NO_META":"No information found about this ","ERR_GETTING_META":"Error retrieving information about this.","ERR_CANT_PARSE_MAGNET":"Unable to parse magnet","ERR_NO_MAGNET_INFOHASH":"No valid info hash for magnet","ERR_NO_FILE_PATH":"Unable to send request without a path to file","ERR_NO_TORRENT":"No torrent returned","ERR_NO_SUPPORTERD_FILES":"No supported files found","ERR_OPENING_FILES":"Could not open external files","ERR_INVALID_LINK":"Invalid link","ERR_REGISTERED_ONLY":"This option is available for registred users only.","ERR_CLIPBOARD":"Can not play from clipboard","ERR_CLIPBOARD_READ":"Can not read the clipboard on this platform","ERR_CLIPBOARD_GENERIC":"No playable URL found in the clipboard. Please copy a URL (e.g. a magnet link) to a video.","BOARD_CONTINUE_WATCHING":"Fortsett å se","BOARD_EXPLANATION_RECOMMENDATIONS":"Filmer valgt spesielt for degg. <br />Denne filmen er en eksempel rekommandasjon","BOARD_EXPLANATION_EPISODES":"Nye episoder av favorittseriene dine kommer her.<br />Legg til serier du følger med på i biblioteket ditt.","BOARD_EXPLANATION_VIDEOS":"Nye episoder av dine favorittkanaler kommer her.<br />Legg til YouTubekanaler du følger med på i biblioteket ditt.","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE":"Contribute","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"Learn more","WEBSITE_COMPANY":"Company","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Need Help?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"Se med en gang","WEBSITE_SLOGAN_ALL":"Alt videoinnholdet du liker på ett sted","WEBSITE_SLOGAN_NEW":"All You can Watch","WEBSITE_SLOGAN_NEW_NEW":"Freedom to Stream","WEBSITE_WATCH_FROM":"Watch from","WEBSITE_DOWNLOAD":"Last ned nå","WEBSITE_DOWNLOAD_FOR":"Last Ned For","WEBSITE_IS_DESKTOP":"Stremio er et skrivebordsprogram, åpne denne siden på PCen din og last ned nå!","WEBSITE_DESKTOP_DEMO_VID":"Skriveborddemo","WEBSITE_PAGE_HOME":"Hjem","WEBSITE_PAGE_FEATURES":"Funkjsoner","WEBSITE_PAGE_ADDONS":"Utvidelser","WEBSITE_PAGE_TECH":"Teknologi","WEBSITE_PAGE_CREATE_ADDON":"Lag utvidelse","WEBSITE_PAGE_CONTACTS":"Kontakter","WEBSITE_PAGE_BLOG":"Blogg","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Filmer","WEBSITE_TYPE_series_PL":"Serier","WEBSITE_TYPE_tv":"Live TV","WEBSITE_TYPE_channel":"Kanaler","WEBSITE_STREMIO_WHAT_IS":"Stremio er en app som hjelper deg å organisere og umiddelbart se dine favoritt videoer, filmer, TV-serier og TV-kanaler.","WEBSITE_FEATURES_WATCH":"Se øyeblikkelig i HD","WEBSITE_FEATURES_WATCH_DETAIL":"Klikk og spill dine favoritt filmer, TV-programmer, videoer og TV-kanaler.","WEBSITE_FEATURES_SUBS":"Automatiske undertekster","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio velger automatisk synkroniserte undertekster for språket ditt.","WEBSITE_FEATURES_SUBS_LABEL":"Din tur, sjef.","WEBSITE_FEATURES_CAST":"Spill på TV og mobile enheter","WEBSITE_FEATURES_CAST_DETAIL":"Cast til AppleTV, Chromecast, Smart TV (DLNA/UPnP) and mobile enheter.","WEBSITE_LIB":"Nyt ditt personlige bibliotek synkronisert på alle enhetene dine","WEBSITE_LIB_COLLECT":"Samle fra Stremio","WEBSITE_LIB_IMPORT":"Importer fra Facebook","WEBSITE_LIB_LOCAL":"Legg til fra din lokale harddisk","WEBSITE_BOARD":"Board - Ditt one-stop sted for varsler og anbefalinger","WEBSITE_BOARD_RECOMMEND":"Anbefalt TV Show","WEBSITE_BOARD_TRENDING":"Populær film","WEBSITE_BOARD_NEW":"Ny video","WEBSITE_BOARD_EPISODE":"Ny episode","WEBSITE_BOARD_1":"Leter du etter noe interessant å se på? Få anbefalinger basert på din smak!","WEBSITE_BOARD_2":"Bli varslet når en ny episode av ditt favoritt TV-program eller YouTube-kanal er ute!","WEBSITE_BOARD_YOUTUBE":"Nye episoder av YouTubekanaler","WEBSITE_BOARD_EPISODES":"Nye episoder av serier di følger.","WEBSITE_ADDONS":"Innholdsudvidelser","WEBSITE_TECH_DETAIL":"Vi elsker teknologi, vi elsker gal vitenskap!\\nStremio bruker følgende åpen kildekode-teknologier:","WEBSITE_TECH_WCJS":"WebChimera.js tillater Stremio å spille alle videoformater med god ytelse.","WEBSITE_TECH_WCJS_EXTRA":"Vi er kjerneprodukt bidragsytere","WEBSITE_TECH_ELECTRON":"Electron gir en innovativ plattform å bygge Stremio med.","WEBSITE_TECH_ELECTRON_EXTRA":"Vi er prosjekt bidragsytere","WEBSITE_TECH_LINVODB":"En databaseteknologi som sikrer dataene er organisert og tilgjengelig hvor som helst du har logger inn.","WEBSITE_TECH_LINVODB_EXTRA":"In-house teknologi","WEBSITE_CREATE_ADDON":"Lag din utvidelse","WEBSITE_CREATE_ADDON_DETAIL":"Har du en tjeneste som gir videoinnhold? Vi hjelper deg å dra nytte av Stremio funksjoner ved å lage utbidelsen din","WEBSITE_CREATE_ADDON_BENEFITS":"Fordeler med å lage en utvidelse for Stremio","WEBSITE_P2P_BEAUTY":"Skjønnheten av Peer-To-Peer strømming","WEBSITE_P2P_1":"Pålitelig og rimelig full HD / 4K video on demand eller direktestrømming","WEBSITE_P2P_2":"Distribusjonsplattform som gir god brukeropplevelse","WEBSITE_P2P_3":"Vi vil lage en utvidelse tilfredstiller dine behov","WEBSITE_P2P_CONTACT":"Interessert? Du er velkommen til å <a href=\'mailto:office@stremio.com\'>kontakte oss</a>.","WEBSITE_P2P_CONTACT_EXTRA":"Vi vil gjerne hjelpe deg med å integrere innholdet ditt med Stremio!","WEBSITE_P2P":"En gang i blant, kommer det en teknologi som endrer spillereglene. Vi har investert tonnevis med tid og krefter på å bygge vår Peer-to-Peer (P2P) video streaming motor som gir god ytelse og allsidighet til å tilpasse enhver bruk.\\nKontakt oss for DRM-aktivert P2P video on demand eller live streaming.","WEBSITE_THOUGHTS":"Tanker vi deler:","WEBSITE_SPREAD":"Spre ordet om Stremio:","WEBSITE_CONTACT":"Hvis du ønsker å kontakte oss, kjør på","WEBSITE_OPENSOURCE":"For våre åpene kildekode-prosjekter, gå til vår","WEBSITE_BITCOIN":"Doner med bitcoin:","WEBSITE_FAQ":"Ofte stilte spørsmål","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Questions","WEBSITE_TOS":"Vilkår for bruk","WEBSITE_LEGAL":"Juridisk","WEBSITE_PAGE_ABOUT":"About","WEBSITE_PAGE_BECOME_PARTNER":"Become a partner","WEBSITE_ALL_YOU_CAN_WATCH":"Freedom To Watch\\nEverything You Want.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"What is stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio is a one-stop hub for video content aggregation. Discover, organize and watch video from all kind of sources on any device that you own.","WEBSITE_WHAT_IS_STREMIO_P2":"Movies, TV shows, series, live television or web channels like YouTube and Twitch.tv - you can find all this on Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio is a modern media center that\'s a one-stop solution for your video entertainment. You discover, watch and organize video content from easy to install addons.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Movies, TV shows, live TV or web channels - find all this on Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Enjoy on all your Media devices","WEBSITE_DEVICES_COLLECT":"Collect from Stremio","WEBSITE_DEVICES_IMPORT_FB":"Import from facebook","WEBSITE_DEVICES_LOCAL":"Add from local drive","WEBSITE_JOIN_THE_PARTY_NOW":"Join the party now","WEBSITE_DEVICES_ALL":"Easy to use on all your devices;","WEBSITE_EXTENDABLE_CATALOG":"Infinitelly extendable video catalog;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Great features to organize your media;","WEBSITE_AS_SEEN_ON":"As seen on","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"About us","WEBSITE_LINK_TECHNOLOGY":"Technology","WEBSITE_LINK_APPS":"Apps","WEBSITE_LINK_DOWNLOADS":"Downloads","WEBSITE_MORE":"More","WEBSITE_LINK_ADDONS":"Addons","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Contribute","WEBSITE_LINK_COMMUNITY":"Community","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... & More","WEBSITE_LINK_HELP":"Help center","WEBSITE_LINK_CONTACTS":"Contacts us","WEBSITE_LINK_TOS":"Terms & conditions","WEBSITE_LINK_PRAVACY":"Privacy policy","WEBSITE_SUBSCRIBE":"Sibscribe","WEBSITE_NEWSLETTER":"Join Our Newsletter for amazing stuff","WEBSITE_PLACEHOLDER_EMAIL":"Your Email","WEBSITE_COMMUNITY":"Community","WEBSITE_LINK_PRAVACY_LEGAL":"Privacy & legal","WEBSITE_WHY":"Why we do it","WEBSITE_WHY_P1":"At Stremio, we come to work every day because we want to solve an important problem for the video-on-demand industry. There’s so much new content published every minute that it’s virtually impossible to find your way around it.","WEBSITE_WHY_P2":"We help people navigate that huge world of video entertainment and discover new content to enjoy. Our apps bring together movies, series, live TV, web channels, and more. We are dedicated to making it incredibly easy for users to find titles and broadcasters that they love.","WEBSITE_WHY_P3":"You can use our service on any device and at any time, making Stremio the only video entertainment hub you’ll ever need.","WEBSITE_TEAM":"TEAM","WEBSITE_TEAM_P":"The Stremio team is small but powerful: between the ten of us, we code in X languages, and share expertise in software development, UI and UX design, marketing and advertising, and business and startups.","WEBSITE_FEATURES":"Features","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Discover new content with ease","WEBSITE_FEATURES_DISCOVER_P":"Easily discover new movies, TV shows, series and channels to watch. Browse by category, genre, rating, recency, etc. or simply type a name to find. Stremio makes finding new video content a piece of cake.","WEBSITE_FEATURES_ALL_CONTENT":"All of your video content on one screen","WEBSITE_FEATURES_ALL_CONTENT_P1":"See what movies, series or videos you didn’t finish and continue watching them; get notified for new episodes and releases; and browse through the recommendations you will get based on your viewing habits.","WEBSITE_FEATURES_LIBRARY":"Organize your video library","WEBSITE_FEATURES_LIBRARY_P1":"Add any title to your Stremio library with a single click and find your way around your content, neatly arranged by type, recency, or alphabetical order.","WEBSITE_FEATURES_CALENDAR":"Keep track of everything you watch","WEBSITE_FEATURES_CALENDAR_P1":"Get a calendar visualization of all the movies and series you add to your library. Export your Stremio calendar and sync it so you always know when a new episode or a premier is due.","WEBSITE_FEATURES_BIG_SCREEN":"Enjoy your video content on a bigger screen","WEBSITE_FEATURES_BIG_SCREEN_P1":"Cast whatever you are watching to another device - be it a phone, tablet or a TV with a single click.","WEBSITE_FEATURES_SOURCES":"Watch video from many different sources","WEBSITE_FEATURES_SOURCES_P":"Install official and community addons to enjoy video sourced from many different providers - all in one sleek, easy to use app.","WEBSITE_CREATE_AN_ADDON":"Create an addon","WEBSITE_FEATURES_SYNC":"Sync your library across different devices and resume your playback","WEBSITE_FEATURES_SYNC_P1":"Login with your account across all your devices and enjoy your library, addons, playback and calendar synchronized.","WEBSITE_FEATURES_EXTENDABLE":"Extendable video catalog by addons","WEBSITE_FEATURES_EXTENDABLE_P1":"The Stremio addon catalog provides a number of addons to install and watch a variety of video content from. This includes movies, shows, live TV, sport, news, podcasts, web channels, video games and more.","WEBSITE_FEATURES_AUTO_SUBS":"Automatic subtitles","WEBSITE_FEATURES_AUTO_SUBS_P1":"With our subtitle addons you get automatically selected options for your preferred language.","WEBSITE_FEATURES_CHROMECAST":"Casting to Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Enjoy your video content on a bigger screen or just cast whatever you are watching to another device.","WEBSITE_FEATURES_KEEP_TRACK":"Keep track of your favorite TV shows and Web channels","WEBSITE_FEATURES_KEEP_TRACK_P1":"Get a calendar visualization and notifications for new episodes of your favorite series and web channels.","WEBSITE_FEATURES_POWER_USER":"Power user features","WEBSITE_FEATURES_POWER_USER_P1":"Play in external player","WEBSITE_FEATURES_POWER_USER_P2":"Play from a torrent file or magnet link","WEBSITE_FEATURES_POWER_USER_P3":"Import to your library from Facebook likes or local disk","WEBSITE_ADD_ONS":"Addons","WEBSITE_ADD_ONS_P1":"All of the video content Stremio provides get sourced through an addon system - no content or content provider has been built into the app.","WEBSITE_ADD_ONS_P2":"There are two groups of addons available: official and community addons.","WEBSITE_ADD_ONS_P3":"The official ones are developed and hosted by Stremio, whereas community addons are created by our community members, who also host them.","WEBSITE_ADDONS_OFFICIAL":"Official addons","WEBSITE_ADDONS_WATCHUB":"Stream your favourite movies, series and shows from providers like iTunes, Hulu, Amazon and other UK/US services.","WEBSITE_ADDONS_YOUTUBE":"Watch your favourite YouTube channels ad-free and get notifications for new uploads from the contributors you follow.","WEBSITE_ADDONS_FILMON":"Watch live TV, movies and social television for free. 600 TV channels, 45,000 free movies, documentaries and more.","WEBSITE_ADDONS_OPENSUBTITLES":"Movie and TV subtitles in multiple languages, thousands of translated subtitles uploaded every day.","WEBSITE_ADDONS_COMMUNITY":"Community addons","WEBSITE_ADDONS_FILMON_VOD":"Watch video on demand from Filmon.tv","WEBSITE_ADDONS_TWICH":"Watch live streams from Twitch.tv - a video streaming platform for the e-sports industry.","WEBSITE_ADDONS_VODO":"Watch indie movies absolutely free of charge.","WEBSITE_ADDONS_NETFLIX":"Watch Netflix movies and web series.","WEBSITE_ADDONS_CREATE":"Create an addon","WEBSITE_ADDONS_CREATE_P1":"If you wish, you can develop your own addon. This way, you can give yourself and our community access to new video content, and reach a new, targeted audience of millions of users around the world.","WEBSITE_ADDONS_START_CREATE":"To get started, visit the Stremio Addon SDK page:","WEBSITE_DOWNLOADS":"Downloads","WEBSITE_DOWNLOADS_P1":"For optimal performance, we recommend that you use the latest available version of the Stremio apps. If for some reason, however, you would like to use an older version, you can download it here.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio for Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio for macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio for Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio for Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio for iOS","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"The Stremio platform is open source and you can easily create an addon for content that is currently not sourced.","WEBSITE_CONTRIBUTE_WHY":"Why should you create an addon?","WEBSITE_CONTRIBUTE_WHY_P1":"Reach new audience for your video content","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio’s user base is growing rapidly - within the first year of the launch, Stremio had gained 1 million users around the world, and in the second year of the platform’s existence this number grew to 2.5 million.","WEBSITE_CONTRIBUTE_WHY_P3":"With your addon, you can easily reach this audience and distribute your video content to them.","WEBSITE_CONTRIBUTE_ALL":"Watch your favourite movies, videos, series and channels in one single place.","WEBSITE_CONTRIBUTE_ALL_P1":"You’re a fan of a particular type of content not available on Stremio yet? Create an addon for it and enjoy watching your favourite videos in one of the largest and easiest to use entertainment hubs on the market.","WEBSITE_CONTRIBUTE_ALL_P2":"On top of that, you’ll get the endless gratitude of other like-minded Stremio community members.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetize your addon and earn money with its help","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Once you develop a new addon for Stremio, you can easily monetize it through a number of different ways. If you are considering this, feel free to get in touch with us at ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - we would be happy to consult and advise you about addon monetization options.","WEBSITE_CONTRIBUTE_TRANSLATE":"Become a volunteer translator","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"If you want to enjoy the Stremio apps in different languages, you can join our community of volunteer translators. They help us add versions of the Stremio in many different languages.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Are you eager to get started?","WEBSITE_TRANSALTE_STREMIO":"Translate Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Official communities","WEBSITE_COMMUNITY_OFFICIALS_P1":"Become a part of the growing Stremio community. Follow us on social media and don’t be shy to say hello - we love hearing from our fans! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Unofficial communities","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partners and supporters","WEBSITE_COMMUNITY_GOODIES":"Stremio goodies","WEBSITE_COMMUNITY_WALLPAPERS":"Wallpapers","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"Contact us","WEBSITE_CONTACT_US_P1":"If you have any questions, comments or suggestions, feel free to get in touch with us through the contact form below.","WEBSITE_CONTACT_US_P2":"Keep in mind that we are located in Bulgaria so there may be a delay in addressing your query due to time zone differences.","WEBSITE_CONTACT_US_SUCCESS":"Your message has been sent. We will get back to you at our earliest convenience.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Please enter a valid email!","WEBSITE_CONTACT_US_Q_RELATED_TO":"What is your question related to?","WEBSITE_CONTACT_US_Q_OS":"What is your Operation System?","WEBSITE_CONTACT_US_PH_EMAIL":"Your E-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Message","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"SEND","WEBSITE_CONTACT_US_Q_1":"How to install?","WEBSITE_CONTACT_US_Q_2":"How to uninstall?","WEBSITE_CONTACT_US_Q_3":"(HTML) How to make lasagna?","WEBSITE_CONTACT_US_Q_4":"Addons","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Technology","WEBSITE_TECHNOLOGY_P1":"We love technology and mad science. </br> Here is what powers Stremio (it’s all open-source).","WEBSITE_TECHNOLOGY_P_QT":"Cross-platform software development at its best.","WEBSITE_TECHNOLOGY_P_MPV":"A free, open source, and cross-platform media player.","WEBSITE_TECHNOLOGY_P_RN":"React Native lets you build mobile apps using only JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework embedded into application to get multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm is a mobile platform and a replacement for SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js is an open-source, cross-platform, JavaScript runtime environment.","WEBSITE_TECHNOLOGY_P_RUST":"Rust is a multi-paradigm system programming language focused on safety, especially safe concurrency.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribute to the project","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"There are two ways you can contribute to Stremio and help us make the product even better.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"You can donate your valuable language skills by translating the platform...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"or","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... you can employ your coding skills for creating community addons. ","WEBSITE_TRANSLATE_STREMIO":"Translate Stremio","WEBSITE_404_OH_NO":"Uh-oh! The page you’re looking for is not here...","WEBSITE_GO_HOME":"Go home","WEBSITE_LINK_OTHER_DOWNLOADS":"Other downloads","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Support","WEBSITE_DOWNLOAD_4_0_BETA":"Download Now Stremio 4 beta","WEBSITE_GET_FOR_DESKTOP":"Get for desktop","WEBSITE_LINK_ADDON_COMPETITION":"Addon competition","WEBSITE_LINK_ART_CONTEST":"Art contest","WEBSITE_MY_ACCOUNT":"My account","WEBSITE_MAINPAGE_FAQ_001_H1":"What is Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio is a modern media center that gives you the freedom to watch everything you want.","WEBSITE_MAINPAGE_FAQ_002_H1":"How does it work?","WEBSITE_MAINPAGE_FAQ_002_P1":"Once you install Stremio on your device and create an account, all you have to do is to visit the addon catalog and install any addon you want, and you\'re good to go!","WEBSITE_MAINPAGE_FAQ_002_P2":"After that, you can go to the Discover or Board sections to start exploring content.","WEBSITE_MAINPAGE_FAQ_003_H1":"What can I watch here?","WEBSITE_MAINPAGE_FAQ_003_P1":"A lot: Movies, TV shows, Web channels, Sport, TV channels, listen to Podcasts and more. Thanks to our addon system, you can accss a variety of content.","WEBSITE_MAINPAGE_FAQ_004_H1":"Is Stremio open-source?","WEBSITE_MAINPAGE_FAQ_004_P1":"Yes, you can check the following links: ${1}desktop app${2} and ${3}GitHub organization${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Is Stremio safe?","WEBSITE_MAINPAGE_FAQ_005_P1":"Yes: because it is open-source software, the code is publically auditable and you can review it yourself.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"How about my privacy?","WEBSITE_MAINPAGE_FAQ_006_P1":"We respect users\' privacy and do not collect any personal data besides the essential minimum to create and sync your account.","WEBSITE_MAINPAGE_FAQ_006_P2":"There is also a ${1}Guest mode${2} at signup, which requires no data whatsoever: in this mode, no calls are made to our backend. However, it comes at the expense of useful features, such as being able to sync your library across devices.","WEBSITE_MAINPAGE_FAQ_007_H1":"Can I cast to my TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Yes, we support Chromecast and you can cast both from desktop and mobile apps (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"How many addons does Stremio have?","WEBSITE_MAINPAGE_FAQ_008_P1":"As of late 2019, over 50 - for more information, check our addon catalog.","WEBSITE_MAINPAGE_FAQ_009_H1":"Can Stremio be extended beyond what\'s in the addon catalog?","WEBSITE_MAINPAGE_FAQ_009_P1":"Yes, you should check those: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"What devices does Stremio support?","WEBSITE_MAINPAGE_FAQ_010_P1":"We have desktop apps for Windows, Mac and Linux. For mobile, we support Android and iOS, although keep in mind that the iOS is limited in functionality (does not support most addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"There are many Android-based devices which you can run Stremio on, like NVIDIA Shield and Amazon Fire Stick, but we do not support them officially.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Can you add certain content to Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Sorry, we provide no content ourselves, but the more Stremio addons you have installed, the more content you will be able to find.","WEBSITE_MAINPAGE_FAQ_012_H1":"Can Stremio play magnet links?","WEBSITE_MAINPAGE_FAQ_012_P1":"Yes, and it can also play normal HTTP links and torrent files (drag and drop).","WEBSITE_MAINPAGE_FAQ_013_H1":"Can I download a video and watch offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Available offline is an upcoming feature, but if you allow Stremio to cache on your device (from the settings panel) you can watch the videos later without a connection.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nothing works, help me!","WEBSITE_MAINPAGE_FAQ_014_P1":"Are you sure you have installed addons? If yes, check with our ${1}help center${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"How does Stremio sustain it\'s development operations?","WEBSITE_MAINPAGE_FAQ_015_P1":"We run non-intrusive ads occassionally, but we\'re considering moving to a donation model.","WEBSITE_MAINPAGE_FAQ_015_P2":"For more questions, go to our ${1}help center${2}.","HELP_LEARN_MORE":"Help us learn more about you.","LIFESTYLE":"Lifestyle","SPORTS":"Sports","FOOD_HEALTH":"Food & health","BEAUTY_FASHION":"Beauty & Fashion","NEWS":"News","GAMING":"Gaming","SCIENCE_EDUCATION":"Science & education","MUSIC":"Music","TRAVEL":"Travel","LATE_NIGHT":"Late Night","REALITY":"Reality","COMEDY":"Comedy","DIY":"How to DIY","TECH":"Tech","CINEMA":"Cinema","CONTINUE":"Continue","SLOW_LOADING":"SLOW LOADING?","I_GIVE_UP":"I GIVE UP","LEARN_MORE":"Learn more","POOR_SOURCE":"This source is poorly available or your internet connection is not fast enough","PICK_CATEGORIES_ERR":"You have to pick at least 3 categories","ADJUST_TIMING":"Adjust timing with ","ADJUST_SIZE":"Adjust size with ","SEARCH_ANYTHING":"You Can Search Anything...","ALL_CATEGORIES":"All","SEARCH_CATEGORIES":"Movies, Series, YouTube & TV","SEARCH_PERSONS":"Actors, Directors & Writers","SEARCH_PROTOCOLS":"HTTP & Magnet Links","SEARCH_TYPES":"IMDB / TVDB links","WATCHED":"Watched","SHOW_LESS":"Show less","LAST_SEARCHES":"Last searches","CLEAR_HISTORY":"Clear history","CHOOSE_SOME":"CHOOSE SOME OF THIS:","NO_WEB_REMOTE":"Web Remote could not be loaded","STREMIO_OFFLINE":"Stremio is offline","STREMIO_EXPENSIVE_CONNECTION":"We\'ve detected that you are using a mobile data connection, do you want to continue?","USE_DATA":"Use data","WARNING":"Warning","MORE_INFO":"More Info ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Loading ...","STREMIO_TV_BACK_TO_LANGUAGES":"Back to languages","STREMIO_TV_REMOTE":"Remote","STREMIO_TV_GO_TO":"Go to:","STREMIO_TV_OR_SCAN":"or scan:","STREMIO_TV_ADDON_INSTRUCTIONS":"Please follow the instructions in order to install your preferred addons.","STREMIO_TV_LIVE_TV":"Live TV","STREMIO_TV_RESUME_WATCHING":"Resume Watching","STREMIO_TV_LOADING_BACKGROUND":"Loading Background","STREMIO_TV_CHECKING_AUTHENTICATION":"Checking Authentication","STREMIO_TV_LOADING_BOARD":"Loading Board","STREMIO_TV_LOGIN_HEADER_LINE_1":"We want our users to have the best possible personalized experience with our software.","STREMIO_TV_LOGIN_HEADER_LINE_2":"It is for this reason that we kindly ask you to make and/or login to your account.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Thank you for understanding,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"The Stremio Team","STREMIO_TV_REMOTE_INSTRUCTIONS":"In order to use the Web Remote with your Smartphone / Tablet / Desktop:","STREMIO_TV_WIFI_SETUP":"Wi-Fi Setup","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle did not detect a internet connection.","STREMIO_TV_WIFI_DETAILS_1":"Connect to:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Use password:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Open a web browser with the link:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Default","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"By Last Watched","STREMIO_TV_LIBRARY_SORT_NAME":"By Name","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"By Times Watched","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Season ${1}","STREMIO_TV_STREAMS_LOADING":"Loaded ${1} / ${2} addons...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} addon is still loading...","STREMIO_TV_PLAYER_SETTINGS":"Player settings","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Subtitles delay","STREMIO_TV_PLAYER_AUDIO_DELAY":"Audio delay","STREMIO_TV_PLAYER_VIDEO_SCALING":"Video scaling","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Unsupported stream source","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Failed opening external link","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Not adjustable in audio passthrough mode","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Play with ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Play with libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Switching to libVLC player due to a playback error","STREMIO_TV_ADDONS_TITLE":"Use Stremio on your Phone or PC to install or configure addons and press \\"Sync Addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Note: make sure you are using the same Stremio account","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sync Addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons successfully synchronized","STREMIO_TV_ADDONS_SYNC_FAILED":"Failed to synchronize addons","STREMIO_TV_META_LINK_FAILED":"Failed opening meta link","STREMIO_TV_CATALOG_LOADING":"Catalog still loading...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Interface language updated","STREMIO_TV_SETTINGS_THEME_UPDATED":"Theme updated","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Default Player","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"External Player","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferred Language","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Secondary Preferred Language","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possible playback issues on some devices","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Some video formats might not work","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"No caching","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Default","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Soft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Fast","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Fast","STREMIO_TV_SETTINGS_SERVER_URL":"Streaming server url","STREMIO_TV_SETTINGS_SERVER_VERSION":"Server version","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Unknown","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio version","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Edit server url","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Enter a streaming server url","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Show statistics while loading","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"To read Stremio\'s Privacy Policy, visit:","STREMIO_TV_SETTINGS_TOS_TEXT":"To read Stremio\'s Terms and Conditions, visit:","STREMIO_TV_NAV_SEARCH":"Search","STREMIO_TV_NAV_HOME":"Home","STREMIO_TV_NAV_DISCOVER":"Discover","STREMIO_TV_NAV_LIBRARY":"Library","STREMIO_TV_NAV_MOVIES":"Movies","STREMIO_TV_NAV_SERIES":"Series","STREMIO_TV_NAV_CHANNELS":"Channels","STREMIO_TV_NAV_TV":"Live TV","STREMIO_TV_NAV_SETTINGS":"Settings","STREMIO_TV_NAV_ADDONS":"Addons","STREMIO_TV_LOGIN_TITLE":"Link Account","STREMIO_TV_LOGIN_EXPIRES_IN":"Expires in","STREMIO_TV_LOGIN_STEP_ONE":"Scan QR Code above or go to","STREMIO_TV_LOGIN_STEP_TWO":"Log in to your Stremio account","STREMIO_TV_LOGIN_NEW_LINK":"Request a new link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Login code refreshed","STREMIO_TV_SEARCH_PLACEHOLDER":"Type something","STREMIO_TV_SEARCH_NO_ADDONS":"No addons were requested for catalogs!","STREMIO_TV_SEARCH_BUTTON":"Search","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Search History","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"You can search for Titles, Actors, Channels and more...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Clear Search History","STREMIO_TV_FILTERS_DESCRIPTION":"Choose from one of the filters below","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"Filters","SETTINGS":"Settings","ACCOUNT":"Account","LOGOUT":"Logout","THEMES":"Themes","PLAYBACK":"Playback","PLAYBACK_SPEED":"Playback Speed","AUDIO_TRACKS":"Audio Tracks","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Videos","SERVER":"Server","LINKS":"Links","ABOUT":"About","INTERFACE":"Interface","ANIMATIONS":"Animations","STATUS":"Status","LANGUAGE":"Language","SIZE":"Size","DELAY":"Delay","BOLD":"Bold","OPACITY":"Opacity","TEXT_COLOR":"Text Color","OUTLINE_COLOR":"Outline Color","BACKGROUND_COLOR":"Background Color","BACKGROUND_BLUR":"Background Blur","SEEK_TIME_DURATION":"Seek Time Duration","AUTO_PLAY":"Auto-Play Next Episode","PLAY_NOW":"Play Now","MARK_AS_WATCHED":"Mark as Watched","MARK_AS_UNWATCHED":"Mark as Unwatched","REWIND_TO_BEGINNING":"Rewind to Beginning","CONTINUE_WATCHING":"Continue Watching","ALL":"All","SECONDS":"seconds","ON":"ON","OFF":"OFF","RELOAD":"Reload","EDIT_URL":"Edit URL","NONE":"None","EMBEDDED":"Embedded","REMOTE_SWITCH_DEVICES":"Switch Devices","REMOTE_VIDEOS":"Videos","REMOTE_ADJUST_TIMING":"Adjust timing","REMOTE_ADJUST_SIZE":"Adjust size","REMOTE_COULD_NOT_BE_LOADED":"Web Remote could not be loaded","REMOTE_RETRY":"Retry","TORRENT_PROFILE_DEFAULT":"Default","TORRENT_PROFILE_SOFT":"Soft","TORRENT_PROFILE_FAST":"Fast","TORRENT_PROFILE_ULTRA_FAST":"Ultra Fast","FAQ_001_H1":"What is Stremio?","FAQ_001_P1":"Stremio is a media center software designed for video entertainment with ease of use in mind. Stremio allows you to organize &amp; watch your own collection of movies, series, channels and live TV.","FAQ_001_P2":"Stremio collect the content it shows you from your local disk and our addons system.","FAQ_001_P3":"It will also notify you when new episodes/videos/movies you\'re interested in come out, and provide movie recommendations for you.","FAQ_02_H1":"How does Stremio compare to Kodi and Plex?","FAQ_02_P1":"We are inspired by those two pieces of software. But we have different goals - Stremio is specifically targeted towards entertainment video, and strives to become the mainstream solution for that by being very easy to use.","FAQ_02_P2":"Stremio will never be as customizable and feature-rich as Kodi and Plex, but it is significantly easier to use. Just ${1} get it and see ${2} :)","FAQ_03_H1":"How does Stremio compare to Netflix?","FAQ_03_P1":"Again, Netflix is one of our inspirations. We strive to achieve the user experience of Netflix, plus a lot of added goodies. But most importantly, we\'re giving you the freedom to manage your own library and add new content sources with our addon system.","FAQ_03_P2":"That makes Stremio infinitely extendable, so when you use Stremio, you\'re never limited to the content Netflix decides to license. For example, through Stremio you can watch content from ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} and even ${9}Netflix${10} itself!","FAQ_04_H1":"How does Stremio compare to Flipboard?","FAQ_04_P1":"We don’t get that question that often, except when talking to start-up people :)","FAQ_04_P2":"Stremio is by design a content aggregator, which essentially makes it Flipboard for video. This is very apparent in our Board section, which gives you catalogues and new episode/new video notifications for what you follow, just like Flipboard.","FAQ_05_H1":"How does Stremio compare to Popcorn Time?","FAQ_05_P1":"Stremio and Popcorn Time are similar in user interface, because there aren’t many ways to do video entertainment catalogues right :)","FAQ_05_P2":"But while Popcorn Time is focused on streaming torrents from specific sources, Stremio is unrestricted and is merely a content aggregator - it’s not locked into a specific content source.","FAQ_05_P3":"Furthermore, we do not provide any torrent addons by default, so Stremio does not cover the Popcorn Time use-case with official functionality.","FAQ_05_P4":"Another notable difference is that Popcorn Time is completely open source, while Stremio is ${1} partially open source${2}.","FAQ_06_H1":"Will you add this movie/series?","FAQ_06_P1":"No, sorry :(","FAQ_06_P2":"As is mentioned in most of the other questions, Stremio does not provide any content by itself - everything is added through the addons system. In case you have a content request, you can use the “Report” button in the Player, which will send an email to the author of the addon you’re currently using.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Will you create addon for X?","FAQ_08_P1":"It\'s entirely possible.","FAQ_08_P2":"If you have an idea for an addon, drop us a line at ${1}office@stremio.com${2}, but please make sure your addon idea will not infringe on any copyrights or terms of use.","FAQ_08_P3":"At the moment, the next things on our roadmap are addons for FandangoNOW, Filmon.tv video on demand and Crunchyroll.","FAQ_09_H1":"Does Stremio use BitTorrent?","FAQ_09_P1":"Yes, Stremio supports BitTorrent as a streaming protocol. You can use that either with a torrent addon, or by drag-and-dropping a .torrent file into Stremio, or by pasting a magnet link into the Search Bar.","FAQ_09_P2":"Please note that the only official addon using BitTorrent is ${1}Vodo${2}, which provides indie content, all permitted to be distributed with BitTorrent.","FAQ_09_P3":"We do not support use of any third-party addons which may enable copyright infringement.","FAQ_10_H1":"What can I watch in Stremio with the official addons?","FAQ_10_P1":"By default, you can watch Filmon.tv, YouTube and Vodo content within Stremio itself, with it’s embedded player. Additionally, we have an addon for Twitch.tv and a few others.","FAQ_10_P2":"This combined provides a selection of:","FAQ_10_L1":"Popular TV channels, provided by Filmon.tv - for example E4, BBC, Bollyworld TV","FAQ_10_L2":"Everything from YouTube - for example BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indie movies with Vodo","FAQ_10_L4":"Online gaming broadcasts with Twitch.tv","FAQ_10_P3":"Additionally, there are many content sources provided with Guidebox and the Netflix addons, which <b>do not</b> play entirely inside Stremio, but would redirect to the given service. For example, the Guidebox addon would give you a selection of movies you can stream in the US for free, from services like TubiTV and Crackle.","FAQ_11_H1":"Stremio won\'t install, what should I do?","FAQ_11_P1":"If you\'re on Windows, try ${1}this alternative installer${2}.","FAQ_11_P2":"If you\'re on Mac OS X, please be aware that we don\'t support anything older than OS X Mavericks (10.9).","FAQ_11_P3":"If you\'re on Linux, be aware that we only support 64 bit (x64) Linux at the moment.","FAQ_11_P4":"If you still can\'t resolve your problem, please write us at our ${1}Facebook group${2}.","FAQ_12_H1":"Why does my anti-virus complain? Is Stremio safe?","FAQ_12_P1":"We assure you Stremio is ${1}100% clean${2}.","FAQ_12_P2":"Your antivirus is complaining because we include advertising in our installer, which some anti-virus programs recognize as ad-ware.","FAQ_12_P3":"If you\'re still unsure, you can try our ${1}alternative installer${2}.","FAQ_13_H1":"How can I make an addon?","FAQ_13_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_13_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_13_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_14_H1":"How are addons published?","FAQ_14_P1":"When you create an addon and host, and put a <b>endpoint</b> field in your manifest, which points to a working addon address, the addon will automatically publish itself to our ${1}Addon catalogue${2}.","FAQ_14_P2":"This happens because the server part of the stremio-addons module automatically makes a call to our API to announce the addon. When our API validates your <b>endpoint</b> as a valid addon, it will start showing in the catalogue.","FAQ_15_H1":"Can I run Stremio in my browser?","FAQ_15_P1":"Not at the moment, but this is coming!","FAQ_15_P2":"If you\'re curious to see an Alpha, you can see it here: ${1}alpha4.strem.io${2}. Keep in mind streaming is disabled on this alpha. We support Chrome, Firefox, Opera and Edge.","FAQ_16_H1":"Casting to TV doesn\'t work / subtitles don\'t work","FAQ_16_P1":"Casting to TV uses the DLNA technology which is very inconsistent between different TV brands and models. For that reason, we do not have the ability to test it in every case, so it\'s far from perfect. Despite this, we\'re working on improving it constantly but we cannot give you a time estimate on when DLNA will start working properly with your TV.","FAQ_16_P2":"If you don\'t even see your TV in the casting menu, please try disabling your network connection and re-enabling it (on Windows, right click the Network and use Enable/Disable), as well as restarting your router, TV and PC.","FAQ_16_P3":"If you are still encountering issues, you can help us by sending your TV brand and model information at ${1}office@stremio.com${2}.","FAQ_16_P4":"In the meantime, we recommend Chromecast, which we support very well, or simply plugging in your TV to your PC with an HDMI cable.","FAQ_17_H1":"Stremio freezes and/or crashes, what can I do?","FAQ_17_P1":"First of all, if you\'re using Windows 7 with AVG anti-virus: we have a problem with that combination. The problem is in AVG itself, and there\'s no reasonable way to resolve it on our end. Unfortunately, exceptions or disabling the anti-virus won\'t work. The only solution is to replace AVG with something else.","FAQ_17_P2":"If that\'s not the issue, but you\'re still using Windows, please update to the latest service pack and update/re-install your GPU drivers, then try again.","FAQ_17_P3":"If you\'re problem is still not resolved, or you\'re using a Mac or Linux, please write us reporting the exact details of the problem at ${1}our Facebook group${2}.","FAQ_18_H1":"How can I make an addon?","FAQ_18_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_18_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_18_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_19_H1":"Why is Stremio taking disk space?","FAQ_19_P1":"Stremio has a <b>local cache</b> to temporarily keep the video files you stream.","FAQ_19_P2":"This has two benefits: first, it allows Stremio to pre-buffer the video ahead so as to ensure smoother streaming. Second, it keeps the videos in the local cache so you can continue watching them offline.","FAQ_19_P3":"How much Stremio keeps depends on the <b>Cache</b> setting in the Settings panel. Stremio may keep up to the set amount (e.g. 2GB) on your disk, unless the currently streamed video is larger than that, in which case it has to allocate enough storage to keep it until you\'re streaming it.","FAQ_20_H1":"Where is the cache folder?","FAQ_20_P1":"On Windows, it\'s stremio-cache in the drive you picked in Settings (e.g. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"On MacOS, it\'s \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"On Linux, it\'s \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"I get \\"Streaming server is not found\\" error, what can I do?","FAQ_21_P1":"If you get this error, it means one of few things:","FAQ_21_P2":"1) You are trying to use an addon backed by YouTube/BitTorrent source, through our ${1}web version${2}. In this case, you should install our desktop version from ${3}our website${4}.","FAQ_21_P3":"2) Something is wrong with your Stremio installation. In this case, try re-installing our latest desktop version from ${1}the website${2}. If this does not help, try disabling anti-virus programs and firewalls, restarting your PC and trying again. If this does not work too, please write us at our ${3}our Facebook group${4}.","FAQ_22_H1":"I cannot see/use most addons on iOS","FAQ_22_P1":"Because of restrictions in the Apple App Store terms and conditions, we have restricted the iOS application only to a particular set of addons.","FAQ_22_P2":"But rest assured - there will be more addons for iOS in the future, and we may also add an integration that will allow you to use all Stremio addons thanks to connecting the iOS app to the Stremio Streaming Server."}')},68978:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"चलचित्र","TYPE_series":"श्रृङ्खला","TYPE_tv":"टिभी च्यानल","TYPE_channel":"च्यानल","TYPE_other":"अन्य","TYPE_movie_PL":"चलचित्रहरू","TYPE_series_PL":"श्रृङ्खला","TYPE_tv_PL":"टिभी च्यानलहरू","TYPE_channel_PL":"च्यानलहरू","TYPE_other_PL":"अन्य","TYPE_ALL":"सबै","TYPE":"प्रकार","CATALOG_com_linvo_cinemeta_top":"लोकप्रिय","CATALOG_com_linvo_cinemeta_imdbRating":"विशेष","CATALOG_com_linvo_cinemeta_year":"नयाँ","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"सार्वजनिक डोमेन चलचित्रहरू","VIDEO":"भिडियो","BACK":"फिर्ता","MORE":"थप","DONE":"सकियो","COPY":"प्रतिलिपि","SUCCESS":"सफल","ERROR":"त्रुटि","SETTINGS_CASTING_MODE_PICKER":"कास्टिङ मोड","CASTING_MODE_HLSV2":"पूर्वनिर्धारित","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"कुनै ट्रान्सकोडिङ छैन","Discover":"डिस्कवर","Board":"बोर्ड","Library":"लाइब्रेरीमा","My Library":"मेरो लाइब्रेरीमा","Calendar":"पात्रो","NOTIFICATION_ONLINE":"तपाई अहिले अनलाइन हुनुहुन्छ","NOTIFICATION_OFFLINE":"तपाई हाल अफलाइन हुनुहुन्छ","INTERNET_CONNECTION":"नेटवर्क जडान","STORAGE_FULL_TITLE":"चेतावनी: भण्डारण भरियो!","STORAGE_FULL_TEXT":"Stremio ले तपाइँको सेटिङ, प्राथमिकता वा लगइन जानकारी बचत गर्न सक्षम हुनेछैन। Stremio पुन: सुरु गर्ने वा पुन: स्थापना गर्ने बारे विचार गर्नुहोस्।","SEARCH":"खोज","SEARCH_NO_RESULTS":"कुनै परिणाम फेला परेन","SEARCH_EXPLANATION_CONTENT":"चलचित्र, शृङ्खला, युट्युब र टिभी च्यानलहरू खोज्नुहोस्","SEARCH_EXPLANATION_PEOPLE":"अभिनेता, निर्देशक र लेखकहरूको खोजी गर्नुहोस्","SEARCH_PASTE_LINKS":"HTTP र म्याग्नेट लिङ्कहरू टाँस्नुहोस्","SEARCH_OR_PASTE_LINK":"लिंक खोज्नुहोस् वा टाँस्नुहोस्","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"लाइब्रेरीमा थप्नुहोस्","REMOVE_FROM_LIB":"लाइब्रेरीबाट हटाउनुहोस्","ADDED_TO_LIB":"लाइब्रेरीमा थपियो","REMOVED_FROM_LIB":"लाइब्रेरीबाट हटाइयो","TRAILER":"ट्रेलर","WATCH_TRAILER":"ट्रेलर हेर्नुहोस्","WATCH_NOW":"अहिले हेर्नुहोस्","SHOW":"देखाउनुहोस्","SHOW_MOVIE":"चलचित्र देखाउनुहोस्","WATCH_RANDOM":"जथाभावी हेर्नुहोस्","IMDB_RATING":"IMDb रेटिंग","YEAR":"वर्ष","DIRECTOR":"निर्देशक","WRITER":"लेखक","LEAD_ACTORS":"मुख्य कलाकार","CAST":"कलाकारहरू","CREW":"क्रू","SHOW_MORE_CAST":"थप देखाउनुहोस् »","AIRED":"प्रसारित","SEASONS":"सिजनहरू","GENRE":"विधा","GENRE_ALL":"सबै विधाहरू","CATALOG":"क्याटलग","SUMMARY":"सारांश","SHOW_MORE":"थप देखाउनुहोस्","SIMILAR":"समान","UPCOMING":"आगामी","ENDED":"समाप्त","DURATION":"अवधि","FEATURED":"विशेष","METADATA":"मेटाडेटा","CATEGORY":"वर्ग","LINKS_GENRES":"विधाहरू","LINKS_CAST":"कलाकार","LINKS_DIRECTORS":"निर्देशकहरू","SEARCH_VIDEOS":"भिडियोहरू खोज्नुहोस्","SEARCH_PLACEHOLDER":"लिंक खोज्नुहोस् वा टाँस्नुहोस्","ADDON":"एडोन","ADDONS":"एडोनहरू","OFFICIAL":"आधिकारिक","ADDONS_OFFICIAL":"आधिकारिक Stremio एडोनहरू","ADDONS_POPULAR":"तपाईंको क्षेत्रमा लोकप्रिय","ADDON_FREE":"नि:शुल्क","ADDON_PEERED":"पियर गरिएको","ADDON_SUBSCRIPTION":"सदस्यता","ADDON_STREAM_GEORESTRICTED":"तपाईंको क्षेत्रमा उपलब्ध छैन","ADDON_STREAM_OFFLINECACHE":"अफलाइन क्यास","ADDON_STREAM_LOCALFILE":"स्थानीय फाइल","SHARE_ADDON":"शेयर एडोन","AVAILABLE_STREAMS":"उपलब्ध स्ट्रिमहरू","NO_STREAM":"कुनै स्ट्रिमहरू फेला परेन","ALL_ADDONS":"सबै","INSTALL_MORE_ADDONS":"थप स्ट्रिमहरूको लागि, कृपया थप एडोनहरू इन्स्टल गर्नुहोस्","STREAM_NOT_SUPPORTED":"चयन गरिएको स्ट्रिम यो प्लेटफर्ममा समर्थित छैन","ADDON_CATALOGUE":"सबै एडोनहरू देखाउनुहोस् »","ADDON_CATALOGUE_MORE":"एडोनहरू इन्स्टल गर्नुहोस्","REPO_ADDED":"रेपोजिटोरी थपियो","ADDON_REPO_EXIST_ERR":"यस एडोन संग्रह पहिले नै अवस्थित छ","ADDON_REPO_ERR":"Error occurred while adding collection","ADDON_ADD_ERR":"Error occurred while adding addon","ERR_ADDON_PROTECTED":"Cannot uninstall addon, it is protected","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Something went wrong - authentication may have failed","ERR_NOT_COLLECTION_URL":"Not a collection URL","ERR_NOT_ADDON_URL":"Not a valid addon URL","ERR_DETECTFROMURL":"Cannot find addon/collection from this URL","ADDON_DUPLICATE_WARNING":"Warning: duplicated addon","ADDON_COLLECTION_SET_FAILED":"Syncing installed addons to your account failed","SETTINGS_DATA_EXPORT":"Export user data","ADDON_PULL_FAILED":"Syncing installed addons from your account failed","REFRESH_ON_CLICK":"Click to retry","STILL_IN_THEATER":"Movie still in theaters","WATCH_IN_CINEMA":"Watch it in your local cinema","IN_THEATER":"In cinema","GET_TICKETS":"Get tickets","UPCOMING_EPISODE":"Upcoming episode","UPCOMING_EPISODE_MESSAGE":"This episode will be aired on","MISSING_DATE_EPISODE":"Missing episode date","MISSING_DATE_EPISODE_MESSAGE":"This episode might not have aired yet","CHANNEL_NOT_SCRAPED":"This channel is not scraped yet.<br>Please come back in a few minutes.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Add it to your library to get notified once it is available.","GET_NOTIFIED_WHEN_AVAILABLE":"You will get notified once it is available.","WARNING_STREAMING_SERVER":"Warning: local streaming server not found. Streaming from local files, YouTube and BitTorrent will not be available.","WARNING_STREAMING_SERVER_DISMISS":"Dismiss","WARNING_STREAMING_SERVER_LATER":"Later","DECODER_WARNING":"Warning: this video may not be supported by your hardware. Keep in mind, playback may be slow.","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"Oops, Player Error","PLAYER_ERROR_LOOKSLIKE":"It looks like","PLAYER_ORIENTATION":"Player orientation","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Locked","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensor","PLAYER_ORIENTATION_LANDSCAPE":"Player orientation locked at landscape","PLAYER_ORIENTATION_SENSOR":"Player orientation automatic (sensor)","PLAYER_PLAYBACK_SPEED":"Playback Speed","PLAYER_PLAYBACK_ERROR":"Playback error, please try again","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Unknown error","PLAYER_PLAYBACK_ERROR_DEFAULT":"Sorry, this video cannot be played by {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Subtitles Languages","PLAYER_SUBTITLES_VARIANTS":"Subtitles Variants","PLAYER_SUBTITLES_SETTINGS":"Subtitles Settings","PLAYER_SUBTITLES_DISABLED":"Subtitles are disabled","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Vertical Position","PLAYER_SUBTITLES_LOADED":"Subtitles loaded","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Embedded subtitles loaded","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Exclusive subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Subtitles from {{origin}} loaded","PLAYER_PLAY":"Play","PLAYER_PAUSE":"Pause","PLAYER_NEXT_VIDEO":"Next Video","PLAYER_MUTE":"Mute","PLAYER_UNMUTE":"Unmute","PLAYER_OPEN_IN_EXTERNAL":"Open in external player","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Play in {{device}}","PLAYER_LIVE":"Live","PLAYER_NEXT_VIDEO_TITLE":"Coming up next on","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Dismiss","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Watch now","PLAYER_COPY_STREAM_SUCCESS":"Stream link was copied to your clipboard","PLAYER_COPY_STREAM_ERROR":"Failed to copy stream link","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","STREAMING_FROM":"streaming from","CASTING_TO":"Casting to","NETWORK_STATUS":"Network status","STREAM_SPEED":"Stream speed:","STREAM_BUFFERED":"Buffered:","PEERS_INFO":"Peers Information","PEERS_ACTIVE":"Active:","PEERS_CONNECTED":"Connected:","PEERS_WAITING":"Waiting:","TRANSCODING_WARNING":"Warning: transcoding video.","STREAM_LOADING":"loading...","PLAYING_LOCAL":"playing from local file","PLAYING_CACHE":"playing from cache","WRONG_SUBS":"Wrong subtitles?","ERR_SUBS_LOADING_TITLE":"Error loading subtitles","ERR_SUBS_LOADING":"Failed loading subtitles: this could be an issue with the addon you are using, or with your network connection","WARN_FOLLOWING_SUB_ADDONS_FAILED":"The following subtitle addons failed","ERR_CASTING_UPDATE_TITLE":"Could not update casting device info: streaming server might be offline","CHOOSE_DEVICE":"Choose a device to watch on","NO_CAST_DEVICES":"No casting devices available.","NO_SETTINGS":"No settings available.","PHONE_TABLET":"Phone / Tablet","SUBTITLES":"Subtitles","SUBTITLES_CHANGE":"Change subtitles for ","SUBTITLES_CHANGE_NONE":"There are no other subtitles for this language, sorry.","SUBTITLES_CHANGE_ACIVE":"Currently subtitles &#35;{{subtitlesDialog.activeIdx + 1}} are activated. Click \\"Continue\\" to activate subtitles &#35;{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Alternatively,","SUBTITLES_ADJUST_DELAY":"Adjust subtitle delay:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Or use <span>G</span> / <span>H</span> keys while playing to adjust.","SUBTITLES_ADJUST_DELAY_TIP":"TIP: you can use <span>G</span> / <span>H</span> keys while playing to adjust.","SUBTITLES_DELAY":"Subtitles delay:","SUBTITLES_LOADING":"Loading subtitles...","SUBTITLES_UNAVAILABLE":"No external subtitles available","SUBTITLES_DISABLED":"Disabled","EXTERNAL_PLAYER_DISABLED":"Disabled","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Allow Choosing","EXTERNAL_PLAYER_HINT":"Hint: There is a setting to allow always opening with external player","DONT_SHOW_AGAIN":"Don\'t show again","SERVICE_INSTALL":"Install","AUDIO":"Audio","DEFAULT_LANGUAGE":"Default Language","DEFAULT_SECONDARY_LANGUAGE":"Default Secondary Language","SEASON":"Season","EPISODE":"Episode","EPISODE_ABBREVIATION":"EP","SPECIAL":"Special","SORT":"sort","SORT_BY":"Sort by","FILTER":"filter","SORT_TRENDING":"trending","SORT_RECENT":"recent","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"rating","SORT_WATCHED":"watched","SORT_YEAR":"year","SELECT_TYPE":"Select type","SELECT_SORT":"Select sort","SELECT_CATALOG":"Select catalog","SELECT_GENRE":"Select genre","SORT_LASTWATCHED":"By last watched","SORT_NAME":"By name","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"By times watched","SORT_NOTWATCHED":"not watched","New for You":"New for You","New Episodes":"New Episodes","New Videos":"New Videos","Recommendations":"Recommendations","LIBRARY_RESUME":"Resume","LIBRARY_PLAY":"Play","LIBRARY_DETAILS":"Details","LIBRARY_RESUME_DISMISS":"Dismiss","LIBRARY_CLEAR_PROGRESS":"Clear Progress","LIBRARY_REMOVE":"Remove","LIBRARY_NOT_LOGGED_IN":"Library is only available for logged in users","CALENDAR_NOT_LOGGED_IN":"Calendar is only available for logged in users","NOT_LOGGED_IN_CLOUD":"Access your favorite movies and TV shows anytime, anywhere","NOT_LOGGED_IN_RECOMMENDATIONS":"Recommendations tailored to your viewing history","NOT_LOGGED_IN_NOTIFICATIONS":"Never miss an episode again","NOT_LOGGED_IN_CALENDAR":"Schedule your personal watching calendar","DISCOVER_FEATURED":"Featured","DISCOVER_TOP":"Top","DISCOVER_OSCAR":"Oscar Winners","DISCOVER_WARNING_TITLE":"Oops!","DISCOVER_EMPTY_CATALOG":"This addon returned empty content.","DISCOVER_ADULT_WARNING":"The content is visible only for adults. Are you 18+?","DISCOVER_NOADDON_WARNING":"Warning: no Stremio addon active for this type. Showing saved items, nothing here will update.","DISCOVER_LOAD_ERR":"The content did not load, error occured.","DISCOVER_ADDON_UNINSTALLED":"This content is no longer available, you may have un-installed the addon.","UNINSTALL_THIS_ADDON":"Uninstall this addon","ERR_ADDON_NOT_INSTALLED":"This addon is not installed. Install now?","DETAIL_RECEIVE_NOTIF_SERIES":"Receive notifications for new episodes","DETAIL_RECEIVE_NOTIF_VIDEOS":"Receive notifications for new videos","SIDEBAR_SHOW_STREAMS":"Show Streams","RELAUNCH":"Re-launch now!","UPGRADE":"New version is available! Upgrade to the latest Stremio version","RELOAD_UI":"Reload the user interface","MANUAL_UPDATE_TITLE":"Update your Stremio version","MANUAL_UPDATE_LINE1":"You are running an outdated version of Stremio which is highly unrecommended.","MANUAL_UPDATE_LINE2":"Please update as soon as possible.","BUTTON_UPDATE_LATTER":"Not now","BUTTON_UPDATE_NOW":"Update","ANONYMOUS_USER":"Anonymous user","DONT_HAVE_ACC":"Don\'t have an account?","HAVE_ACC":"Already have an account?","PASSWORD":"Password","PASSWORD_CONFIRM":"Confirm password","EMAIL":"E-mail","FB_LOGIN":"Continue with Facebook","FB_NOTHINGSHARED":"Nothing is shared without your permission","FB_NOPOST":"We won’t post anything on your behalf","OR":"or","I_ACCEPT":"I accept the","I_ACCEPT_BY_CLICKING":"By clicking the above button I testify that I accept the ","TOS":"Terms and Conditions","MUST_ACCEPT_TERMS":"You must accept terms","PASSWORDS_NOMATCH":"Passwords don\'t match","SIGN_UP":"Sign up","SIGN_UP_EMAIL":"Sign up with email","CLICK_TO_SIGN_UP":"Click here to sign up.","LOG_IN":"Log in","LOG_OUT":"Log out","EXIT_FULLSCREEN":"Exit fullscreen mode","ENTER_FULLSCREEN":"Enter fullscreen mode","PLAY_URL_MAGNET_LINK":"Play URL/Magnet link","HELP_FEEDBACK":"Help & Feedback","TERMS_OF_SERVICE":"Terms of Service","PRIVACY_POLICY":"Privacy Policy","ABOUT_STREMIO":"About Stremio","USER_PANEL":"User Panel","LOGIN_LABEL":"Login","GUEST_LOGIN":"Guest login","GUEST_LOGIN_NOTICE":"Guest Login is not recommended. Using a regular login allows Stremio to sync your Library, receive notifications for favourite series/channels. Are you sure you want to proceed?","GUEST_LOGIN_NOTICE_2":"Guest Login is not recommended - you won\'t have synced Library and Board notifications, which are vital Stremio features. Are you sure you want to proceed?","CLICK_HERE":"click here","WRONG_PASSWORD":"Wrong email or password. In case you have forgotten your password, ","SET_A_PASS":"set a password","RESET_PASSWORD":"Reset password","FORGOT_PASSWORD":"Forgot password?","EMAIL_USED_WITH_FB":"This email was used with a Facebook login.","INVALID_EMAIL":"Please enter a valid email address","INVALID_PASSWORD":"Please enter a valid password","CONN_ERR":"Connection error - please try again later.\\n\\nIf this persists, disable firewalls/anti-virus software (especially Bitdefender).","IMPORT_FROM_GUEST":"Import Library from your guest account","RECEIVE_UPDATES_EMAIL":"Receive updates to your email from Stremio","LOGIN_FAILED":"Login failed.","SIGNUP_FAILED":"Signup failed.","SEARCH_FAILED":"Search failed","EMAIL_USED":"This email is already in use.","WAITING_FB_LOGIN":"Logging in with Facebook...","EXTERNAL_PLAYER_TITLE":"Play in external player","EXTERNAL_REMEMBER_PLAYER":"Do you want to remember your choice","EXTERNAL_ALWAYS_PLAY":"Yes","EXTERNAL_ONLY_ONCE":"No","BEST_FIT":"Best Fit","FIT_SCREEN":"Fit Screen","FILL":"Fill","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"Tell us about what you like","INTRO_TASTE_LONG":"Tell us about what you\'d like to watch","INTRO_TASTE_PICK":"Pick {{interestsRemaining}} interests","INTRO_TASTE_PICK_MORE":"Pick {{interestsRemaining}} more interests","INTRO_TASTE_HELP_US":"Help us learn more about you.","INTRO_TASTE_CHOOSE_THESE":"Choose some of these:","INTRO_TASTE_CHOOSE_MIN":"Choose at least 3 categories","INTRO_TASTE_CHOOSE_MIN_ERR":"You have to pick at least 3 categories!","INTRO_TASTE_LIFESTYLE":"Lifestyle","INTRO_TASTE_SPORTS":"Sports","INTRO_TASTE_FOOD_HEALTH":"Food & Health","INTRO_TASTE_BEAUTY_FASHION":"Beauty & Fashion","INTRO_TASTE_NEWS":"News","INTRO_TASTE_GAMING":"Gaming","INTRO_TASTE_SCIENCE_EDU":"Science & Education","INTRO_TASTE_MUSIC":"Music","INTRO_TASTE_TRAVEL":"Travel","INTRO_TASTE_LATE_NIGHT":"Late Night Show","INTRO_TASTE_REALITY":"Reality","INTRO_TASTE_COMEDY":"Comedy","INTRO_TASTE_DIY":"How to DIY","INTRO_TASTE_TECH":"Tech","INTRO_TASTE_CINEMA":"Cinema","ADDON_NOT_SUPPORTED":"Selected addon is not supported on this platform.","ADDON_DISCLAIMER":"Using third-party addons will always be subject to your responsibility and the governing law of the jurisdiction you are located.","ADDON_ACTIVATE":"Activate this addon?","ADDON_REPO_ADD":"Addon collection URL","ADDON_ADD":"Add","INSTALL_ADDON":"Install addon","ADD_ADDON":"Add addon","ADD_ADDON_DESCRIPTION":"You can add an addon via an external link, which will appear under Installed addons.","PASTE_ADDON_URL":"Paste addon URL","WHATS_NEW":"What\'s new","BUTTON_CONTINUE":"Continue","BUTTON_ACTIVATE":"Activate","BUTTON_ACTIVATED":"Activated","BUTTON_CANCEL":"Cancel","BUTTON_SUBMIT":"Submit","BUTTON_DISMISS_ALL":"Dismiss All","BUTTON_VIEW_ALL":"view all","BUTTON_SEE_ALL":"See All","BUTTON_COLOR_TRANSPARENT":"Transparent","OPEN_IN_BROWSER":"Open in browser","LIB_EMPTY":"Your library looks empty. Find out how useful it is :) ","HOW_START":"Here is how you can start:","LIB_EMPTY_CAL":"Your Calendar shows series in your Library.","HOW_START_CAL":"Here is how you can add series:","LIB_EMPTY_BOARD":"Board shows notifications &amp; recommendations related to your Library.","HOW_START_BOARD_WAIT":"Please, add a few series or channels to your Library give us a few minutes to process :)","HOW_START_BOARD":"Here is how you can add series &amp; movies to it:","IMPORT_FB":"Import things you like from <span>Facebook</span>","IMPORT_TRAKT":"Import your media library from <span>Trakt</span>","IMPORT_DISCOVER":"Find interesting stuff from <span>Discover</span>","IMPORT_DISK":"Import movies or shows you have on your <span>local disk</span>","PLEASE_CREATE_ACC":"Please <u>create an account</u> to enable Library sync &amp; Board.","IMPORT_DISCOVER_SIGNUP":"Sign up and find interesting stuff from <span>Discover</span>","IMPORT_DISK_SIGNUP":"Sign up and import movies or shows you have on your <span>local disk</span>","LIB_EMPTY_CLOUD":"Cloud library","LIB_EMPTY_CLOUD_DESC":"Personal cloud library synced on all devices","LIB_EMPTY_EARLY":"Early bird","LIB_EMPTY_EARLY_DESC":"Receive notifications for new episodes","LIB_EMPTY_PERSONAL":"Personal","LIB_EMPTY_PERSONAL_DESC":"Get personal recommendations","LIB_EMPTY_CALENDAR_DESC":"Schedule your personal watching calendar","LIB_EMPTY_ALL":"Sign up to get all of these:","LIB_EMPTY_BEST":"Sign up to get best of Stremio","LIB_EMPTY_OTHER":"Sign up to enable Calendar & other cool features","CALENDAR_ADDED":"The Stremio calendar has been added to your default desktop calendar.","CALENDAR_ADDED_MSG":"If this does not work, please add this URL to your calendar application manually","TRAKT_EXPIRED":"Trakt authentication expired, please go to Settings and re-authenticate","TRAKT_REQUIRES_LOGIN":"Trakt error","TRAKT_REQUIRES_LOGIN_MSG":"You need to login","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","SETTINGS_LABEL":"Settings","SETTINGS_NAV_GENERAL":"General","SETTINGS_NAV_PLAYER":"Player","SETTINGS_NAV_STREAMING":"Streaming","SETTINGS_NAV_SHORTCUTS":"Shortcuts","SETTINGS_SHORTCUT_RELOAD_APP":"Reload App","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Open Settings","SETTINGS_SHORTCUT_SWITCH_TABS":"Switch Tabs","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Cycle Through Tabs Forward","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Cycle Through Tabs Backward","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigate Between Menus","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Go to Search","SETTINGS_SHORTCUT_EXIT_BACK":"Exit / Go Back","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Toggle Playback Speed Menu","SETTINGS_SHORTCUT_MENU_VIDEOS":"Toggle Videos Menu","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Toggle Subtitles Menu","SETTINGS_SHORTCUT_MENU_INFO":"Toggle Info Menu","SETTINGS_SHORTCUT_FULLSCREEN":"Toggle Fullscreen","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Show Controls","SETTINGS_SHORTCUT_PLAY_PAUSE":"Play / Pause","SETTINGS_SHORTCUT_VOLUME_UP":"Volume Up","SETTINGS_SHORTCUT_VOLUME_DOWN":"Volume Down","SETTINGS_SHORTCUT_SEEK_NEXT":"Seek Next","SETTINGS_SHORTCUT_SEEK_PREV":"Seek Prev","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Seek Backward","SETTINGS_SHORTCUT_SEEK_FORWARD":"Seek Forward","SETTINGS_SHORTCUT_PLAY_NEXT":"Play Next","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Increase Subtitles Size","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Decrease Subtitles Size","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Increase Subtitles Delay","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Decrease Subtitles Delay","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Toggle Sidebar","SETTINGS_SHORTCUT_OR":"or","SETTINGS_SHORTCUT_TO":"to","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Authenticate","SETTINGS_FACEBOOK_IMPORT":"Import","SETTINGS_CALENDAR_SUBSCRIBE":"Subscribe","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Interface Language","SETTINGS_LAUNCH_STARTUP":"Launch on start-up","SETTINGS_VLC_DEFAULT":"Play with VLC","SETTINGS_UI_LANGUAGE":"UI Language","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Escape key exit full screen","SETTINGS_GAMEPAD":"Enable gamepad support","SETTINGS_CLOSE_WINDOW":"Close app when window is closed","SETTINGS_SUBTITLES_LANGUAGE":"Default Subtitles Language","SETTINGS_SUBTITLES_SIZE":"Default Subtitles Size","SETTINGS_SUBTITLES_BACKGROUND":"Subtitles background","SETTINGS_SUBTITLES_COLOR":"Subtitles color","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Subtitles outline color","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Subtitles background color","SETTINGS_SEEK_KEY":"Arrow keys seek time","SETTINGS_SEEK_KEY_SHIFT":"Arrow keys seek time when Shift key is held","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Rewind & Fast-forward duration","SETTINGS_BINGE":"Auto-play next episode","SETTINGS_NEXT_VIDEO":"Show notification to start next episode","SETTINGS_NEXT_VIDEO_TRIGGER":"Show next episode notification for:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Next video popup duration","SETTINGS_PLAY_IN_BACKGROUND":"Play in background","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Play in external player","SETTINGS_RESIZE":"Auto-resize window before playing","SETTINGS_OVERRIDE_SERVER":"Override the streaming server URL (advanced)","SETTINGS_SERVER_URL":"Streaming server URL: ","SETTINGS_SERVER_AVAILABLE":"Streaming server is available.","SETTINGS_SERVER_UNAVAILABLE":"Streaming server is not available.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Error","SETTINGS_SERVER_CONFIGURE_TITLE":"Configure streaming server url","SETTINGS_SERVER_CONFIGURE_INPUT":"Enter a streaming server url","SETTINGS_SERVER_CACHE_SIZE":"Cache size","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent profile","SETTINGS_HTTPS_ENDPOINT":"Streaming HTTPS endpoint: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Always use latest Beta","SETTINGS_IMPORT_FB":"Import from Facebook","SETTINGS_IMPORT_DISK":"Import from local disk","SETTINGS_IMPORT_TRAKT":"Import from Trakt","SETTINGS_PAUSE_MINIMIZED":"Pause playback when minimized","SETTINGS_HWDEC":"Hardware-accelerated decoding","SETTINGS_BACKGROUND":"Background playback","SETTINGS_SUBSCRIBE_CALENDAR":"Subscribe to calendar","SETTINGS_REQ_EXPORT":"Request data export","SETTINGS_ACC_DELETE":"Request account deletion","SETTINGS_CHANGE_PASSWORD":"Change password","SETTINGS_TOS":"Terms of service","SETTINGS_SUPPORT":"Contact support","SETTING_LANGUAGE":"Language","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_LOGOUT":"Log out of Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Log Out of Trakt","SETTINGS_SCAN_FOR_REMOTE":"Scan QR code to open remote","SETTINGS_DESKTOP_NOTIFICATIONS":"Desktop notifications","SETTINGS_DATA_SAVER":"Data saver","SETTINGS_LANGUAGE_INTERFACE":"interface","SETTINGS_LANGUAGE_SUBS":"default subtitles","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Autoselect Audio Track","SETTINGS_DEFAULT_AUDIO_TRACK":"Default Audio Track","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"account","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"Version","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"Launch player in a separate window (advanced)","SETTINGS_PLAY_IN_EXTERNAL":"Always start video in external player","SETTINGS_STORAGE_BUTTON":"Clear Local Storage","SETTINGS_STORAGE_MODAL_TITLE":"Are you sure ?","SETTINGS_STORAGE_MODAL_MESSAGE":"This will clear the local storage and log you out.","SETTINGS_HWDEC_PICKER":"Pick hardware-accelerated decoding setting","SETTINGS_HW_AUTOMATIC":"Automatic","SETTINGS_HW_DISABLED":"Disabled","SETTINGS_HW_ACCELERATED":"Decoding acceleration","SETTINGS_HW_FULL":"Full acceleration","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Subtitles","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Controls","SETTINGS_SECTION_AUTO_PLAY":"Auto-Play","SETTINGS_SECTION_ADVANCED":"Advanced","SUBSPICKER_AUDIO":"Audio","SUBSPICKER_SUBTITLES":"Addons Subtitles","SUBSPICKER_BLACK_BACKGROUND":"Use black background color","SUBSPICKER_VERTICAL_OFFSET":"Vertical Offset","SUBSPICKER_SIZE":"Size","SUBSPICKER_DELAY":"Delay","SUBSPICKER_EMBEDDED_SUBS":"Embedded Subtitles","MOBILE_PRIVACY_POLICY":"Privacy Policy","MOBILE_CRASH_REPORTING":"Crash Reporting","MOBILE_ZOOM_TO_FILL":"Zoom To Fill Screen","MOBILE_PASSTHROUGH":"Digital audio output (passthrough)","MOBILE_RUN_LOW_BATTERY":"Run on low battery","MOBILE_RUN_FOREGROUND":"Run as Foreground Service","MOBILE_PERFORMANCE":"PERFORMANCE & STABILITY","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"QR Code expires in ","MOBILE_LOG_INTO":"Log in to your Stremio account ","MOBILE_SCAN_QR":"Scan QR code above or go to ","MOBILE_LINK_ACCOUNT":"Link Account","MOBILE_SPEEDPICKER_CANCEL":"Cancel","MOBILE_SPEEDPICKER_LABEL":"Select Playback Speed","MOBILE_EMPTY_LIBRARY":"Your library is empty","MOBILE_NO_ADDON_ACTIVE":"No Stremio addon active for this type.","MOBILE_ORGANIZER_WARNING":"The Stremio Organizer app provides limited functionality. For a list of playable streams and the full Stremio experience, use Stremio on desktop.","MOBILE_ADDON_LOADING":"is still loading","MOBILE_ADDONS_LOADING":"addons are still loading","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Configure your addon","MOBILE_CONFIGURE_ADDON_LABEL":"Configure Addon","MOBILE_ORGANIZER_ADDONS_WARNING":"The Stremio Organizer app provides a limited selection of addons. For the full Stremio experience, use Stremio on desktop.","MOBILE_DISCONNECT":"Disconnect","MOBILE_LOOKING_FOR_DEVICES":"Looking for devices...","MOBILE_CAST_TO":"Cast to","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Delete Account","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Account deletion is not instant due to legal obligations. After requesting deletion of your account you will have to use different email address/facebook profile to create a new Stremio account in the future.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirm Account Deletion","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Your account has been created using Facebook. To delete your account, please use our user portal at www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Please provide your password to confirm account deletion.","MOBILE_DELETE_ACCOUNT_BUTTON":"Delete Account","NAVIGATION_ON":"On","NAVIGATION_OFF":"Off","MARKETING_AGREE":"I agree to receive marketing communications from Stremio","QUIT":"Quit","CONNECTED":"Connected","AUTHENTICATE":"Authenticate","CACHING":"Caching","SETTINGS_CACHING_DRIVE":"Caching drive","ENABLE_LOCAL_FILES_ADDON":"Enable the local files addon (requires restart)","LOCAL_ADDON_NOT_ENABLED":"Local addon is not enabled. Click here to go to the settings and enable it","ENABLE_REMOTE_HTTPS_CONN":"Enable remote HTTPS connections","TORRENT_PROFILE":"Torrent Profile","DATA_CACHING":"Data Caching","MAGNET_PARSING":"Parsing a magnet link","January":"January","February":"February","March":"March","April":"April","May":"May","June":"June","July":"July","August":"August","September":"September","October":"October","November":"November","December":"December","Monday":"Monday","Tuesday":"Tuesday","Wednesday":"Wednesday","Thursday":"Thursday","Friday":"Friday","Saturday":"Saturday","Sunday":"Sunday","Action":"Action","Comedy":"Comedy","War":"War","Family":"Family","Animation":"Animation","Adventure":"Adventure","Fantasy":"Fantasy","Crime":"Crime","Mystery":"Mystery","Romance":"Romance","Drama":"Drama","Horror":"Horror","Thriller":"Thriller","Sci-Fi":"Sci-Fi","Music":"Music","Biography":"Biography","Documentary":"Documentary","Sport":"Sport","Musical":"Musical","Western":"Western","Film-Noir":"Film-Noir","News":"News","History":"History","Game-Show":"Game-Show","Reality-TV":"Reality-TV","Talk-Show":"Talk-Show","Film & Entertainment":"Film & Entertainment","Gaming":"Gaming","From TV":"From TV","Lifestyle":"Lifestyle","Science & Education":"Science & Education","Cooking & Health":"Cooking & Health","Beauty & Fashion":"Beauty & Fashion","Sports":"Sports","News & Politics":"News & Politics","How-to & DIY":"How-to & DIY","Tech":"Tech","Automotive":"Automotive","Causes & Non-Profits":"Causes & Non-Profits","Movies":"Movies","Uk Live Tv":"Uk Live Tv","Fashion":"Fashion","Business News Radio":"Business News Radio","Business Tv":"Business Tv","Cars & Auto":"Cars & Auto","Comedy Radio":"Comedy Radio","Lifestyle Radio":"Lifestyle Radio","News Tv":"News Tv","Food And Wine":"Food And Wine","Latino Tv":"Latino Tv","Shopping Tv":"Shopping Tv","Religion":"Religion","Kids":"Kids","Body & Soul":"Body & Soul","Education":"Education","Indian Tv":"Indian Tv","Extreme Sports":"Extreme Sports","Middle Eastern Tv":"Middle Eastern Tv","Celebrity Tv":"Celebrity Tv","Science Tv":"Science Tv","Bikini babe":"Bikini babe","Outdoors":"Outdoors","German Tv":"German Tv","French Tv":"French Tv","Italian Tv":"Italian Tv","Gamer Tv":"Gamer Tv","Travel":"Travel","Asian Tv":"Asian Tv","Entertainment":"Entertainment","News Radio":"News Radio","Music Radio":"Music Radio","Language Learning":"Language Learning","Science Radio":"Science Radio","Tech Radio":"Tech Radio","Science & Technology Vod":"Science & Technology Vod","new video":"new video","new episode":"new episode","new movie":"new movie","recommended":"recommended","we recommend":"we recommend","offer of the day":"offer of the day","news":"news","music video":"music video","CTX_SHOW_HOTKEYS":"Show hotkeys","CTX_DISMISS_NOTIF":"Dismiss notifications","CTX_DISMISS_ALL":"Dismiss all","CTX_SHARE":"Share","CTX_COPY_SHARE_LINK":"Copy share link","CTX_COPY_MAGNET_LINK":"Copy magnet link","CTX_COPY_STREAM_LINK":"Copy stream link","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Download this video","CTX_DOWNLOAD_SUBS":"Download subtitles","CTX_VIEW_ON_YOUTUBE":"View on YouTube","CTX_SHOW":"Show","CTX_PLAY":"Play","CTX_PLAY_IN":"Play in","CTX_PLAY_ON":"Play on","CTX_WATCH_ON":"Watch on","CTX_WATCH":"Watch","CTX_WATCHED":"Watched","CTX_WATCH_BEGINNING":"Watch from the beginning","CTX_WATCH_MOBILE":"Watch on a mobile device","CTX_REWIND":"Rewind to beginning","CTX_MARK_WATCHED":"Mark as watched","CTX_MARK_NON_WATCHED":"Mark as non-watched","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"Mark rest as watched","CTX_UNMARK_REST":"Mark rest as non-watched","CTX_RECEIVE_NEW_NOTIF":"Receive new notifications","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"Remove from cache","CTX_REMOVE_CACHE_EP":"Remove episode from cache","CTX_OPEN_CONTAINING":"Open containing folder","CTX_REMOVE":"Remove from library","CTX_AVAILABLE_OFFLINE":"Available Offline","CTX_PAUSED":"Paused","CTX_ALWAYS_ON_TOP":"Always on top","CTX_FULLSCREEN":"Fullscreen","CTX_WRONG_SUBS":"Wrong subtitles?","CTX_REPORT_ISSUES":"Report issue","CTX_COPY":"Copy","CTX_PASTE":"Paste","CTX_CLEAR":"Clear","CTX_CLEAR_RECENT_SEARCHES":"Clear recent searches","HELLO_THERE":"Hello There","HOPE_YOU_ENJOY":"We hope you enjoy Stremio and it\'s one of your favourite apps already!","WHO_ARE_WE":"Who are we? We are the team behind it - two guys who work hard every day for the last 3 years to make this product better and better.","SUPPORT_US":"If you enjoy using Stremio, if Stremio is valuable for you - spread the word!","SPREAD_THE_WORD":"Share with your friends now, spread the word about Stremio","MORE_PEOPLE":"The more people use Stremio, the better it will get!","SEND_A_LINK":"Or send a link to our website","TIP_LOCALFILES":"Tip: you can drag & drop local video files into Stremio","ADDON_MY":"My Addons","ADDON_COMMUNITY":"Community Addons","ADDON_OFFICIAL":"Official Addons","ADDON_REPOS":"Addon collections","ADDON_SEARCH":"Search addons","ADDON_INSTALL":"Install","ADDON_CONFIGURE":"Configure","ADDON_UNINSTALL":"Uninstall","ADDON_UPGRADE":"Upgrade","ADDON_INSTALLED":"Installed","ADDON_INSTALLED_MSG":"Addon installed!","ADDON_UPGRADED_MSG":"Addon upgraded!","ADDON_UNKNOWN":"Unknown","ADDON_ERR":"Addon install error!","ADDON_DISCONNECTED":"Disconnected","ADDON_APP_MISSING":"the app for this source is not installed. Do you want to install it now?","ADDON_APP_INSTALL":"Install Now","ADDON_PAGE":"Addon Page","ADDON_TOP_CONTENT":"Best from this Addon","ADDON_PROVIDES":"This addon will give you:","ADDON_WATCH":"Watch #{types} now!","ADDON_WATCH_FREE":"Watch #{types} for FREE now!","ADDON_ADDON":"Addon","ADDON_SUPPORTED_TYPES":"Supported types","ADDON_SUPPORTED_CATALOGS":"Supported catalogs","ADDON_PROVIDES_DISCOVER":"More #{types} in Discover","ADDON_PROVIDES_STREAMS":"Watch #{types}","ADDON_PROVIDES_STREAMS_FREE":"Watch #{types} for FREE","ADDON_PROVIDES_SUBTITLES":"Subtitles for #{types}","ADDON_CANTDETECT":"We couldn\'t detect a running Stremio, so we couldn\'t detect what addons you have installed.","ERR_NO_META":"No information found about this ","ERR_GETTING_META":"Error retrieving information about this.","ERR_CANT_PARSE_MAGNET":"Unable to parse magnet","ERR_NO_MAGNET_INFOHASH":"No valid info hash for magnet","ERR_NO_FILE_PATH":"Unable to send request without a path to file","ERR_NO_TORRENT":"No torrent returned","ERR_NO_SUPPORTERD_FILES":"No supported files found","ERR_OPENING_FILES":"Could not open external files","ERR_INVALID_LINK":"Invalid link","ERR_REGISTERED_ONLY":"This option is available for registred users only.","ERR_CLIPBOARD":"Can not play from clipboard","ERR_CLIPBOARD_READ":"Can not read the clipboard on this platform","ERR_CLIPBOARD_GENERIC":"No playable URL found in the clipboard. Please copy a URL (e.g. a magnet link) to a video.","BOARD_CONTINUE_WATCHING":"Continue watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Movies picked specially for you.<br />This movie is a sample recommendation.","BOARD_EXPLANATION_EPISODES":"New episodes of your favorite Series come here.<br />Add series you follow to your Library.","BOARD_EXPLANATION_VIDEOS":"New episodes of your favorite Channels come here.<br />Add YouTube channels you follow to your Library.","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE":"Contribute","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"Learn more","WEBSITE_COMPANY":"Company","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Need Help?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"Watch Instantly","WEBSITE_SLOGAN_ALL":"All the Video Content You Enjoy in One Place","WEBSITE_SLOGAN_NEW":"All You Can Watch","WEBSITE_SLOGAN_NEW_NEW":"Freedom to Stream","WEBSITE_WATCH_FROM":"Watch from","WEBSITE_DOWNLOAD":"Download Now","WEBSITE_DOWNLOAD_FOR":"Download Now For","WEBSITE_IS_DESKTOP":"Stremio is a desktop application, open this page on your PC and download it","WEBSITE_DESKTOP_DEMO_VID":"Desktop demo","WEBSITE_PAGE_HOME":"Home","WEBSITE_PAGE_FEATURES":"Features","WEBSITE_PAGE_ADDONS":"Addons","WEBSITE_PAGE_TECH":"Technology","WEBSITE_PAGE_CREATE_ADDON":"Create Addon","WEBSITE_PAGE_CONTACTS":"Contacts","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Movies","WEBSITE_TYPE_series_PL":"Series","WEBSITE_TYPE_tv":"Live TV","WEBSITE_TYPE_channel":"Channels","WEBSITE_STREMIO_WHAT_IS":"Stremio is an app that helps you organize and instantly watch your favorite videos, movies, TV series and TV channels.","WEBSITE_FEATURES_WATCH":"Watch Instantly in HD","WEBSITE_FEATURES_WATCH_DETAIL":"Click and play your favourite movies, TV Shows, videos and TV channels.","WEBSITE_FEATURES_SUBS":"Automatic Subtitles","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio automatically picks synced subtitles for your language.","WEBSITE_FEATURES_SUBS_LABEL":"Your move, chief.","WEBSITE_FEATURES_CAST":"Play on TV & mobile devices","WEBSITE_FEATURES_CAST_DETAIL":"Cast to AppleTV, Chromecast, Smart TV (DLNA/UPnP) and mobile devices.","WEBSITE_LIB":"Enjoy Your Personal Library Synced on All Your Devices","WEBSITE_LIB_COLLECT":"Collect from Stremio","WEBSITE_LIB_IMPORT":"Import from Facebook","WEBSITE_LIB_LOCAL":"Add from your local drive","WEBSITE_BOARD":"The Board - Your one-stop place for Notifications and Recommendations","WEBSITE_BOARD_RECOMMEND":"Recommended TV Show","WEBSITE_BOARD_TRENDING":"Trending Movie","WEBSITE_BOARD_NEW":"New Video","WEBSITE_BOARD_EPISODE":"New Episode","WEBSITE_BOARD_1":"Looking for something interesting to watch? Get recommendations based on your taste!","WEBSITE_BOARD_2":"Get notified when a new episode of your favourite TV show or YouTube channel is out!","WEBSITE_BOARD_YOUTUBE":"New videos of YouTube channels","WEBSITE_BOARD_EPISODES":"New episodes of series you follow","WEBSITE_ADDONS":"Content Addons","WEBSITE_TECH_DETAIL":"We love technology, we love mad science!\\nStremio is using the following open source technologies:","WEBSITE_TECH_WCJS":"WebChimera.js allows Stremio to play any video format with good performance.","WEBSITE_TECH_WCJS_EXTRA":"We are core project contributors","WEBSITE_TECH_ELECTRON":"Electron provides an innovative platform to build Stremio with.","WEBSITE_TECH_ELECTRON_EXTRA":"We are project contributors","WEBSITE_TECH_LINVODB":"A database technology that ensures your data is organized and available anywhere you login.","WEBSITE_TECH_LINVODB_EXTRA":"In-house technology","WEBSITE_CREATE_ADDON":"Create your addon","WEBSITE_CREATE_ADDON_DETAIL":"Do you have a service providing video content? We\'ll help you benefit from Stremio\'s features by creating your Addon.","WEBSITE_CREATE_ADDON_BENEFITS":"Benefits of Creating an Addon for Stremio","WEBSITE_P2P_BEAUTY":"The Beauty of Peer-to-Peer Streaming","WEBSITE_P2P_1":"Reliable and affordable full HD / 4K video on demand or live streaming","WEBSITE_P2P_2":"Distribution platform providing great user experience","WEBSITE_P2P_3":"We will create an addon meeting your exact needs","WEBSITE_P2P_CONTACT":"Interested? You are welcome to <a href=\'mailto:office@stremio.com\'>contact us</a>.","WEBSITE_P2P_CONTACT_EXTRA":"We will be happy to help you integrate your content with Stremio!","WEBSITE_P2P":"Once in a while, there comes a technology that changes the name of the game. We invested tons of time and effort in building our Peer-to-Peer (P2P) video streaming engine that provides great performance and versatility to adapt with any use case.\\nContact us for DRM-enabled P2P video on demand or live streaming.","WEBSITE_THOUGHTS":"Thoughts we share:","WEBSITE_SPREAD":"Spread the word about Stremio:","WEBSITE_CONTACT":"Contact us, we\'ll be happy to hear from you!","WEBSITE_OPENSOURCE":"For our open source projects, go to our","WEBSITE_BITCOIN":"Donate bitcoin:","WEBSITE_FAQ":"Frequently asked questions","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Questions","WEBSITE_TOS":"Terms of use","WEBSITE_LEGAL":"Legal","WEBSITE_PAGE_ABOUT":"About","WEBSITE_PAGE_BECOME_PARTNER":"Become a partner","WEBSITE_ALL_YOU_CAN_WATCH":"Freedom To Watch\\nEverything You Want.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"What is stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio is a one-stop hub for video content aggregation. Discover, organize and watch video from all kind of sources on any device that you own.","WEBSITE_WHAT_IS_STREMIO_P2":"Movies, TV shows, series, live television or web channels like YouTube and Twitch.tv - you can find all this on Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio is a modern media center that\'s a one-stop solution for your video entertainment. You discover, watch and organize video content from easy to install addons.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Movies, TV shows, live TV or web channels - find all this on Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Enjoy on all your Media devices","WEBSITE_DEVICES_COLLECT":"Collect from Stremio","WEBSITE_DEVICES_IMPORT_FB":"Import from facebook","WEBSITE_DEVICES_LOCAL":"Add from local drive","WEBSITE_JOIN_THE_PARTY_NOW":"Join the party now","WEBSITE_DEVICES_ALL":"Easy to use on all your devices;","WEBSITE_EXTENDABLE_CATALOG":"Infinitelly extendable video catalog;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Great features to organize your media;","WEBSITE_AS_SEEN_ON":"As seen on","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"About us","WEBSITE_LINK_TECHNOLOGY":"Technology","WEBSITE_LINK_APPS":"Apps","WEBSITE_LINK_DOWNLOADS":"Downloads","WEBSITE_MORE":"More","WEBSITE_LINK_ADDONS":"Addons","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Contribute","WEBSITE_LINK_COMMUNITY":"Community","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... & More","WEBSITE_LINK_HELP":"Help center","WEBSITE_LINK_CONTACTS":"Business inquiries","WEBSITE_LINK_TOS":"Terms & conditions","WEBSITE_LINK_PRAVACY":"Privacy policy","WEBSITE_SUBSCRIBE":"Subscribe","WEBSITE_NEWSLETTER":"Join Our Newsletter for amazing stuff","WEBSITE_PLACEHOLDER_EMAIL":"Your Email","WEBSITE_COMMUNITY":"Community","WEBSITE_LINK_PRAVACY_LEGAL":"Privacy & legal","WEBSITE_WHY":"Why we do it","WEBSITE_WHY_P1":"At Stremio, we come to work every day because we want to solve an important problem for the video-on-demand industry. There’s so much new content published every minute that it’s virtually impossible to find your way around it.","WEBSITE_WHY_P2":"We help people navigate that huge world of video entertainment and discover new content to enjoy. Our apps bring together movies, series, live TV, web channels, and more. We are dedicated to making it incredibly easy for users to find titles and broadcasters that they love.","WEBSITE_WHY_P3":"You can use our service on any device and at any time, making Stremio the only video entertainment hub you’ll ever need.","WEBSITE_TEAM":"TEAM","WEBSITE_TEAM_P":"The Stremio team is small but powerful: between the ten of us, we code in X languages, and share expertise in software development, UI and UX design, marketing and advertising, and business and startups.","WEBSITE_FEATURES":"Features","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Discover new content with ease","WEBSITE_FEATURES_DISCOVER_P":"Easily discover new movies, TV shows, series and channels to watch. Browse by category, genre, rating, recency, etc. or simply type a name to find. Stremio makes finding new video content a piece of cake.","WEBSITE_FEATURES_ALL_CONTENT":"All of your video content on one screen","WEBSITE_FEATURES_ALL_CONTENT_P1":"See what movies, series or videos you didn’t finish and continue watching them; get notified for new episodes and releases; and browse through the recommendations you will get based on your viewing habits.","WEBSITE_FEATURES_LIBRARY":"Organize your video library","WEBSITE_FEATURES_LIBRARY_P1":"Add any title to your Stremio library with a single click and find your way around your content, neatly arranged by type, recency, or alphabetical order.","WEBSITE_FEATURES_CALENDAR":"Keep track of everything you watch","WEBSITE_FEATURES_CALENDAR_P1":"Get a calendar visualization of all the movies and series you add to your library. Export your Stremio calendar and sync it so you always know when a new episode or a premier is due.","WEBSITE_FEATURES_BIG_SCREEN":"Enjoy your video content on a bigger screen","WEBSITE_FEATURES_BIG_SCREEN_P1":"Cast whatever you are watching to another device - be it a phone, tablet or a TV with a single click.","WEBSITE_FEATURES_SOURCES":"Watch video from many different sources","WEBSITE_FEATURES_SOURCES_P":"Install official and community addons to enjoy video sourced from many different providers - all in one sleek, easy to use app.","WEBSITE_CREATE_AN_ADDON":"Create an addon","WEBSITE_FEATURES_SYNC":"Sync your library across different devices and resume your playback","WEBSITE_FEATURES_SYNC_P1":"Login with your account across all your devices and enjoy your library, addons, playback and calendar synchronized.","WEBSITE_FEATURES_EXTENDABLE":"Extendable video catalog by addons","WEBSITE_FEATURES_EXTENDABLE_P1":"The Stremio addon catalog provides a number of addons to install and watch a variety of video content from. This includes movies, shows, live TV, sport, news, podcasts, web channels, video games and more.","WEBSITE_FEATURES_AUTO_SUBS":"Automatic subtitles","WEBSITE_FEATURES_AUTO_SUBS_P1":"With our subtitle addons you get automatically selected options for your preferred language.","WEBSITE_FEATURES_CHROMECAST":"Casting to Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Enjoy your video content on a bigger screen or just cast whatever you are watching to another device.","WEBSITE_FEATURES_KEEP_TRACK":"Keep track of your favorite TV shows and Web channels","WEBSITE_FEATURES_KEEP_TRACK_P1":"Get a calendar visualization and notifications for new episodes of your favorite series and web channels.","WEBSITE_FEATURES_POWER_USER":"Power user features","WEBSITE_FEATURES_POWER_USER_P1":"Play in external player","WEBSITE_FEATURES_POWER_USER_P2":"Play from a torrent file or magnet link","WEBSITE_FEATURES_POWER_USER_P3":"Import to your library from Facebook likes or local disk","WEBSITE_ADD_ONS":"Addons","WEBSITE_ADD_ONS_P1":"All of the video content Stremio provides get sourced through an addon system - no content or content provider has been built into the app.","WEBSITE_ADD_ONS_P2":"There are two groups of addons available: official and community addons.","WEBSITE_ADD_ONS_P3":"The official ones are developed and hosted by Stremio, whereas community addons are created by our community members, who also host them.","WEBSITE_ADDONS_OFFICIAL":"Official addons","WEBSITE_ADDONS_WATCHUB":"Stream your favourite movies, series and shows from providers like iTunes, Hulu, Amazon and other UK/US services.","WEBSITE_ADDONS_YOUTUBE":"Watch your favourite YouTube channels ad-free and get notifications for new uploads from the contributors you follow.","WEBSITE_ADDONS_FILMON":"Watch live TV, movies and social television for free. 600 TV channels, 45,000 free movies, documentaries and more.","WEBSITE_ADDONS_OPENSUBTITLES":"Movie and TV subtitles in multiple languages, thousands of translated subtitles uploaded every day.","WEBSITE_ADDONS_COMMUNITY":"Community addons","WEBSITE_ADDONS_FILMON_VOD":"Watch video on demand from Filmon.tv","WEBSITE_ADDONS_TWICH":"Watch live streams from Twitch.tv - a video streaming platform for the e-sports industry.","WEBSITE_ADDONS_VODO":"Watch indie movies absolutely free of charge.","WEBSITE_ADDONS_NETFLIX":"Watch Netflix movies and web series.","WEBSITE_ADDONS_CREATE":"Create an addon","WEBSITE_ADDONS_CREATE_P1":"If you wish, you can develop your own addon. This way, you can give yourself and our community access to new video content, and reach a new, targeted audience of millions of users around the world.","WEBSITE_ADDONS_START_CREATE":"To get started, visit the Stremio Addon SDK page:","WEBSITE_DOWNLOADS":"Downloads","WEBSITE_DOWNLOADS_P1":"For optimal performance, we recommend that you use the latest available version of the Stremio apps. If for some reason, however, you would like to use an older version, you can download it here.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio for Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio for macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio for Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio for Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio for iOS (limited version)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"The Stremio platform is open source and you can easily create an addon for content that is currently not sourced.","WEBSITE_CONTRIBUTE_WHY":"Why should you create an addon?","WEBSITE_CONTRIBUTE_WHY_P1":"Reach new audience for your video content","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio’s user base is growing rapidly - within the first year of the launch, Stremio had gained 1 million users around the world, and in the second year of the platform’s existence this number grew to 2.5 million.","WEBSITE_CONTRIBUTE_WHY_P3":"With your addon, you can easily reach this audience and distribute your video content to them.","WEBSITE_CONTRIBUTE_ALL":"Watch your favourite movies, videos, series and channels in one single place.","WEBSITE_CONTRIBUTE_ALL_P1":"You’re a fan of a particular type of content not available on Stremio yet? Create an addon for it and enjoy watching your favourite videos in one of the largest and easiest to use entertainment hubs on the market.","WEBSITE_CONTRIBUTE_ALL_P2":"On top of that, you’ll get the endless gratitude of other like-minded Stremio community members.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetize your addon and earn money with its help","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Once you develop a new addon for Stremio, you can easily monetize it through a number of different ways. If you are considering this, feel free to get in touch with us at ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - we would be happy to consult and advise you about addon monetization options.","WEBSITE_CONTRIBUTE_TRANSLATE":"Become a volunteer translator","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"If you want to enjoy the Stremio apps in different languages, you can join our community of volunteer translators. They help us add versions of the Stremio in many different languages.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Are you eager to get started?","WEBSITE_TRANSALTE_STREMIO":"Translate Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Official communities","WEBSITE_COMMUNITY_OFFICIALS_P1":"Become a part of the growing Stremio community. Follow us on social media and don’t be shy to say hello - we love hearing from our fans! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Unofficial communities","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partners and supporters","WEBSITE_COMMUNITY_GOODIES":"Stremio goodies","WEBSITE_COMMUNITY_WALLPAPERS":"Wallpapers","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"Contact us","WEBSITE_CONTACT_US_P1":"If you have any questions, comments or suggestions, feel free to get in touch with us through the contact form below.","WEBSITE_CONTACT_US_P2":"Keep in mind that we are located in Bulgaria so there may be a delay in addressing your query due to time zone differences.","WEBSITE_CONTACT_US_SUCCESS":"Your message has been sent. We will get back to you at our earliest convenience.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Please enter a valid email!","WEBSITE_CONTACT_US_Q_RELATED_TO":"What is your question related to?","WEBSITE_CONTACT_US_Q_OS":"What is your Operation System?","WEBSITE_CONTACT_US_PH_EMAIL":"Your E-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Message","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"SEND","WEBSITE_CONTACT_US_Q_1":"How to install?","WEBSITE_CONTACT_US_Q_2":"How to uninstall?","WEBSITE_CONTACT_US_Q_3":"(HTML) How to make lasagna?","WEBSITE_CONTACT_US_Q_4":"Addons","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Technology","WEBSITE_TECHNOLOGY_P1":"We love technology and mad science. </br> Here is what powers Stremio (it’s all open-source).","WEBSITE_TECHNOLOGY_P_QT":"Cross-platform software development at its best.","WEBSITE_TECHNOLOGY_P_MPV":"A free, open source, and cross-platform media player.","WEBSITE_TECHNOLOGY_P_RN":"React Native lets you build mobile apps using only JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework embedded into application to get multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm is a mobile platform and a replacement for SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js is an open-source, cross-platform, JavaScript runtime environment.","WEBSITE_TECHNOLOGY_P_RUST":"Rust is a multi-paradigm system programming language focused on safety, especially safe concurrency.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribute to the project","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"There are two ways you can contribute to Stremio and help us make the product even better.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"You can donate your valuable language skills by translating the platform...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"or","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... you can employ your coding skills for creating community addons. ","WEBSITE_TRANSLATE_STREMIO":"Translate Stremio","WEBSITE_404_OH_NO":"Uh-oh! The page you’re looking for is not here...","WEBSITE_GO_HOME":"Go home","WEBSITE_LINK_OTHER_DOWNLOADS":"Other downloads","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Support","WEBSITE_DOWNLOAD_4_0_BETA":"Download Stremio 4 beta Now","WEBSITE_GET_FOR_DESKTOP":"Get for desktop","WEBSITE_LINK_ADDON_COMPETITION":"Addon competition","WEBSITE_LINK_ART_CONTEST":"Art contest","WEBSITE_MY_ACCOUNT":"My account","WEBSITE_MAINPAGE_FAQ_001_H1":"What is Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio is a modern media center that gives you the freedom to watch everything you want.","WEBSITE_MAINPAGE_FAQ_002_H1":"How does it work?","WEBSITE_MAINPAGE_FAQ_002_P1":"Once you install Stremio on your device and create an account, all you have to do is to visit the addon catalog and install any addon you want, and you\'re good to go!","WEBSITE_MAINPAGE_FAQ_002_P2":"After that, you can go to the Discover or Board sections to start exploring content.","WEBSITE_MAINPAGE_FAQ_003_H1":"What can I watch here?","WEBSITE_MAINPAGE_FAQ_003_P1":"A lot: Movies, TV shows, Web channels, Sport, TV channels, listen to Podcasts and more. Thanks to our addon system, you can access a variety of content.","WEBSITE_MAINPAGE_FAQ_004_H1":"Is Stremio open-source?","WEBSITE_MAINPAGE_FAQ_004_P1":"Yes, you can check the following links: ${1}desktop app${2} and ${3}GitHub organization${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Is Stremio safe?","WEBSITE_MAINPAGE_FAQ_005_P1":"Yes: because it is open-source software, the code is publically auditable and you can review it yourself.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"How about my privacy?","WEBSITE_MAINPAGE_FAQ_006_P1":"We respect users\' privacy and do not collect any personal data besides the essential minimum to create and sync your account.","WEBSITE_MAINPAGE_FAQ_006_P2":"There is also a ${1}Guest mode${2} at signup, which requires no data whatsoever: in this mode, no calls are made to our backend. However, it comes at the expense of useful features, such as being able to sync your library across devices.","WEBSITE_MAINPAGE_FAQ_007_H1":"Can I cast to my TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Yes, we support Chromecast and you can cast both from desktop and mobile apps (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"How many addons does Stremio have?","WEBSITE_MAINPAGE_FAQ_008_P1":"As of late 2019, over 50 - for more information, check our addon catalog.","WEBSITE_MAINPAGE_FAQ_009_H1":"Can Stremio be extended beyond what\'s in the addon catalog?","WEBSITE_MAINPAGE_FAQ_009_P1":"Yes, you should check those: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"What devices does Stremio support?","WEBSITE_MAINPAGE_FAQ_010_P1":"We have desktop apps for Windows, Mac and Linux. For mobile, we support Android and iOS, although keep in mind that the iOS is limited in functionality (does not support most addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"There are many Android-based devices which you can run Stremio on, like NVIDIA Shield and Amazon Fire Stick, but we do not support them officially.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Can you add certain content to Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Sorry, we provide no content ourselves, but the more Stremio addons you have installed, the more content you will be able to find.","WEBSITE_MAINPAGE_FAQ_012_H1":"Can Stremio play magnet links?","WEBSITE_MAINPAGE_FAQ_012_P1":"Yes, and it can also play normal HTTP links and torrent files (drag and drop).","WEBSITE_MAINPAGE_FAQ_013_H1":"Can I download a video and watch offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Available offline is an upcoming feature, but if you allow Stremio to cache on your device (from the settings panel) you can watch the videos later without a connection.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nothing works, help me!","WEBSITE_MAINPAGE_FAQ_014_P1":"Are you sure you have installed addons? If yes, check with our ${1}help center${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"How does Stremio sustain it\'s development operations?","WEBSITE_MAINPAGE_FAQ_015_P1":"We run non-intrusive ads occassionally, but we\'re considering moving to a donation model.","WEBSITE_MAINPAGE_FAQ_015_P2":"For more questions, go to our ${1}help center${2}.","HELP_LEARN_MORE":"Help us learn more about you.","LIFESTYLE":"Lifestyle","SPORTS":"Sports","FOOD_HEALTH":"Food & health","BEAUTY_FASHION":"Beauty & Fashion","NEWS":"News","GAMING":"Gaming","SCIENCE_EDUCATION":"Science & education","MUSIC":"Music","TRAVEL":"Travel","LATE_NIGHT":"Late Night","REALITY":"Reality","COMEDY":"Comedy","DIY":"How to DIY","TECH":"Tech","CINEMA":"Cinema","CONTINUE":"Continue","SLOW_LOADING":"SLOW LOADING?","I_GIVE_UP":"I GIVE UP","LEARN_MORE":"Learn more","POOR_SOURCE":"This source is poorly available or your internet connection is not fast enough","PICK_CATEGORIES_ERR":"You have to pick at least 3 categories","ADJUST_TIMING":"Adjust timing with ","ADJUST_SIZE":"Adjust size with ","SEARCH_ANYTHING":"You Can Search Anything...","ALL_CATEGORIES":"All","SEARCH_CATEGORIES":"Movies, Series, YouTube & TV","SEARCH_PERSONS":"Actors, Directors & Writers","SEARCH_PROTOCOLS":"HTTP & Magnet Links","SEARCH_TYPES":"IMDB / TVDB links","WATCHED":"Watched","SHOW_LESS":"Show less","LAST_SEARCHES":"Last searches","CLEAR_HISTORY":"Clear history","CHOOSE_SOME":"CHOOSE SOME OF THIS:","NO_WEB_REMOTE":"Web Remote could not be loaded","STREMIO_OFFLINE":"Stremio is offline","STREMIO_EXPENSIVE_CONNECTION":"We\'ve detected that you are using a mobile data connection, do you want to continue?","USE_DATA":"Use data","WARNING":"Warning","MORE_INFO":"More Info ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Loading ...","STREMIO_TV_BACK_TO_LANGUAGES":"Back to languages","STREMIO_TV_REMOTE":"Remote","STREMIO_TV_GO_TO":"Go to:","STREMIO_TV_OR_SCAN":"or scan:","STREMIO_TV_ADDON_INSTRUCTIONS":"Please follow the instructions in order to install your preferred addons.","STREMIO_TV_LIVE_TV":"Live TV","STREMIO_TV_RESUME_WATCHING":"Resume Watching","STREMIO_TV_LOADING_BACKGROUND":"Loading Background","STREMIO_TV_CHECKING_AUTHENTICATION":"Checking Authentication","STREMIO_TV_LOADING_BOARD":"Loading Board","STREMIO_TV_LOGIN_HEADER_LINE_1":"We want our users to have the best possible personalized experience with our software.","STREMIO_TV_LOGIN_HEADER_LINE_2":"It is for this reason that we kindly ask you to make and/or login to your account.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Thank you for understanding,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"The Stremio Team","STREMIO_TV_REMOTE_INSTRUCTIONS":"In order to use the Web Remote with your Smartphone / Tablet / Desktop:","STREMIO_TV_WIFI_SETUP":"Wi-Fi Setup","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle did not detect a internet connection.","STREMIO_TV_WIFI_DETAILS_1":"Connect to:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Use password:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Open a web browser with the link:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Default","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"By Last Watched","STREMIO_TV_LIBRARY_SORT_NAME":"By Name","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"By Times Watched","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Season ${1}","STREMIO_TV_STREAMS_LOADING":"Loaded ${1} / ${2} addons...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} addon is still loading...","STREMIO_TV_PLAYER_SETTINGS":"Player settings","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Subtitles delay","STREMIO_TV_PLAYER_AUDIO_DELAY":"Audio delay","STREMIO_TV_PLAYER_VIDEO_SCALING":"Video scaling","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Unsupported stream source","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Failed opening external link","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Not adjustable in audio passthrough mode","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Play with ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Play with libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Switching to libVLC player due to a playback error","STREMIO_TV_ADDONS_TITLE":"Use Stremio on your Phone or PC to install or configure addons and press \\"Sync Addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Note: make sure you are using the same Stremio account","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sync Addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons successfully synchronized","STREMIO_TV_ADDONS_SYNC_FAILED":"Failed to synchronize addons","STREMIO_TV_META_LINK_FAILED":"Failed opening meta link","STREMIO_TV_CATALOG_LOADING":"Catalog still loading...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Interface language updated","STREMIO_TV_SETTINGS_THEME_UPDATED":"Theme updated","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Default Player","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"External Player","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferred Language","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Secondary Preferred Language","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possible playback issues on some devices","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Some video formats might not work","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"No caching","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Default","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Soft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Fast","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Fast","STREMIO_TV_SETTINGS_SERVER_URL":"Streaming server url","STREMIO_TV_SETTINGS_SERVER_VERSION":"Server version","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Unknown","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio version","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Edit server url","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Enter a streaming server url","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Show statistics while loading","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"To read Stremio\'s Privacy Policy, visit:","STREMIO_TV_SETTINGS_TOS_TEXT":"To read Stremio\'s Terms and Conditions, visit:","STREMIO_TV_NAV_SEARCH":"Search","STREMIO_TV_NAV_HOME":"Home","STREMIO_TV_NAV_DISCOVER":"Discover","STREMIO_TV_NAV_LIBRARY":"Library","STREMIO_TV_NAV_MOVIES":"Movies","STREMIO_TV_NAV_SERIES":"Series","STREMIO_TV_NAV_CHANNELS":"Channels","STREMIO_TV_NAV_TV":"Live TV","STREMIO_TV_NAV_SETTINGS":"Settings","STREMIO_TV_NAV_ADDONS":"Addons","STREMIO_TV_LOGIN_TITLE":"Link Account","STREMIO_TV_LOGIN_EXPIRES_IN":"Expires in","STREMIO_TV_LOGIN_STEP_ONE":"Scan QR Code above or go to","STREMIO_TV_LOGIN_STEP_TWO":"Log in to your Stremio account","STREMIO_TV_LOGIN_NEW_LINK":"Request a new link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Login code refreshed","STREMIO_TV_SEARCH_PLACEHOLDER":"Type something","STREMIO_TV_SEARCH_NO_ADDONS":"No addons were requested for catalogs!","STREMIO_TV_SEARCH_BUTTON":"Search","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Search History","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"You can search for Titles, Actors, Channels and more...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Clear Search History","STREMIO_TV_FILTERS_DESCRIPTION":"Choose from one of the filters below","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"Filters","SETTINGS":"Settings","ACCOUNT":"Account","LOGOUT":"Logout","THEMES":"Themes","PLAYBACK":"Playback","PLAYBACK_SPEED":"Playback Speed","AUDIO_TRACKS":"Audio Tracks","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Videos","SERVER":"Server","LINKS":"Links","ABOUT":"About","INTERFACE":"Interface","ANIMATIONS":"Animations","STATUS":"Status","LANGUAGE":"Language","SIZE":"Size","DELAY":"Delay","BOLD":"Bold","OPACITY":"Opacity","TEXT_COLOR":"Text Color","OUTLINE_COLOR":"Outline Color","BACKGROUND_COLOR":"Background Color","BACKGROUND_BLUR":"Background Blur","SEEK_TIME_DURATION":"Seek Time Duration","AUTO_PLAY":"Auto-Play Next Episode","PLAY_NOW":"Play Now","MARK_AS_WATCHED":"Mark as Watched","MARK_AS_UNWATCHED":"Mark as Unwatched","REWIND_TO_BEGINNING":"Rewind to Beginning","CONTINUE_WATCHING":"Continue Watching","ALL":"All","SECONDS":"seconds","ON":"ON","OFF":"OFF","RELOAD":"Reload","EDIT_URL":"Edit URL","NONE":"None","EMBEDDED":"Embedded","REMOTE_SWITCH_DEVICES":"Switch Devices","REMOTE_VIDEOS":"Videos","REMOTE_ADJUST_TIMING":"Adjust timing","REMOTE_ADJUST_SIZE":"Adjust size","REMOTE_COULD_NOT_BE_LOADED":"Web Remote could not be loaded","REMOTE_RETRY":"Retry","TORRENT_PROFILE_DEFAULT":"Default","TORRENT_PROFILE_SOFT":"Soft","TORRENT_PROFILE_FAST":"Fast","TORRENT_PROFILE_ULTRA_FAST":"Ultra Fast","FAQ_001_H1":"What is Stremio?","FAQ_001_P1":"Stremio is a media center software designed for video entertainment with ease of use in mind. Stremio allows you to organize &amp; watch your own collection of movies, series, channels and live TV.","FAQ_001_P2":"Stremio collect the content it shows you from your local disk and our addons system.","FAQ_001_P3":"It will also notify you when new episodes/videos/movies you\'re interested in come out, and provide movie recommendations for you.","FAQ_02_H1":"How does Stremio compare to Kodi and Plex?","FAQ_02_P1":"We are inspired by those two pieces of software. But we have different goals - Stremio is specifically targeted towards entertainment video, and strives to become the mainstream solution for that by being very easy to use.","FAQ_02_P2":"Stremio will never be as customizable and feature-rich as Kodi and Plex, but it is significantly easier to use. Just ${1} get it and see ${2} :)","FAQ_03_H1":"How does Stremio compare to Netflix?","FAQ_03_P1":"Again, Netflix is one of our inspirations. We strive to achieve the user experience of Netflix, plus a lot of added goodies. But most importantly, we\'re giving you the freedom to manage your own library and add new content sources with our addon system.","FAQ_03_P2":"That makes Stremio infinitely extendable, so when you use Stremio, you\'re never limited to the content Netflix decides to license. For example, through Stremio you can watch content from ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} and even ${9}Netflix${10} itself!","FAQ_04_H1":"How does Stremio compare to Flipboard?","FAQ_04_P1":"We don’t get that question that often, except when talking to start-up people :)","FAQ_04_P2":"Stremio is by design a content aggregator, which essentially makes it Flipboard for video. This is very apparent in our Board section, which gives you catalogues and new episode/new video notifications for what you follow, just like Flipboard.","FAQ_05_H1":"How does Stremio compare to Popcorn Time?","FAQ_05_P1":"Stremio and Popcorn Time are similar in user interface, because there aren’t many ways to do video entertainment catalogues right :)","FAQ_05_P2":"But while Popcorn Time is focused on streaming torrents from specific sources, Stremio is unrestricted and is merely a content aggregator - it’s not locked into a specific content source.","FAQ_05_P3":"Furthermore, we do not provide any torrent addons by default, so Stremio does not cover the Popcorn Time use-case with official functionality.","FAQ_05_P4":"Another notable difference is that Popcorn Time is completely open source, while Stremio is ${1} partially open source${2}.","FAQ_06_H1":"Will you add this movie/series?","FAQ_06_P1":"No, sorry :(","FAQ_06_P2":"As is mentioned in most of the other questions, Stremio does not provide any content by itself - everything is added through the addons system. In case you have a content request, you can use the “Report” button in the Player, which will send an email to the author of the addon you’re currently using.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Will you create addon for X?","FAQ_08_P1":"It\'s entirely possible.","FAQ_08_P2":"If you have an idea for an addon, drop us a line at ${1}office@stremio.com${2}, but please make sure your addon idea will not infringe on any copyrights or terms of use.","FAQ_08_P3":"At the moment, the next things on our roadmap are addons for FandangoNOW, Filmon.tv video on demand and Crunchyroll.","FAQ_09_H1":"Does Stremio use BitTorrent?","FAQ_09_P1":"Yes, Stremio supports BitTorrent as a streaming protocol. You can use that either with a torrent addon, or by drag-and-dropping a .torrent file into Stremio, or by pasting a magnet link into the Search Bar.","FAQ_09_P2":"Please note that the only official addon using BitTorrent is ${1}Vodo${2}, which provides indie content, all permitted to be distributed with BitTorrent.","FAQ_09_P3":"We do not support use of any third-party addons which may enable copyright infringement.","FAQ_10_H1":"What can I watch in Stremio with the official addons?","FAQ_10_P1":"By default, you can watch Filmon.tv, YouTube and Vodo content within Stremio itself, with it’s embedded player. Additionally, we have an addon for Twitch.tv and a few others.","FAQ_10_P2":"This combined provides a selection of:","FAQ_10_L1":"Popular TV channels, provided by Filmon.tv - for example E4, BBC, Bollyworld TV","FAQ_10_L2":"Everything from YouTube - for example BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indie movies with Vodo","FAQ_10_L4":"Online gaming broadcasts with Twitch.tv","FAQ_10_P3":"Additionally, there are many content sources provided with Guidebox and the Netflix addons, which <b>do not</b> play entirely inside Stremio, but would redirect to the given service. For example, the Guidebox addon would give you a selection of movies you can stream in the US for free, from services like TubiTV and Crackle.","FAQ_11_H1":"Stremio won\'t install, what should I do?","FAQ_11_P1":"If you\'re on Windows, try ${1}this alternative installer${2}.","FAQ_11_P2":"If you\'re on Mac OS X, please be aware that we don\'t support anything older than OS X Mavericks (10.9).","FAQ_11_P3":"If you\'re on Linux, be aware that we only support 64 bit (x64) Linux at the moment.","FAQ_11_P4":"If you still can\'t resolve your problem, please write us at our ${1}Facebook group${2}.","FAQ_12_H1":"Why does my anti-virus complain? Is Stremio safe?","FAQ_12_P1":"We assure you Stremio is ${1}100% clean${2}.","FAQ_12_P2":"Your antivirus is complaining because we include advertising in our installer, which some anti-virus programs recognize as ad-ware.","FAQ_12_P3":"If you\'re still unsure, you can try our ${1}alternative installer${2}.","FAQ_13_H1":"How can I make an addon?","FAQ_13_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_13_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_13_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_14_H1":"How are addons published?","FAQ_14_P1":"When you create an addon and host, and put a <b>endpoint</b> field in your manifest, which points to a working addon address, the addon will automatically publish itself to our ${1}Addon catalogue${2}.","FAQ_14_P2":"This happens because the server part of the stremio-addons module automatically makes a call to our API to announce the addon. When our API validates your <b>endpoint</b> as a valid addon, it will start showing in the catalogue.","FAQ_15_H1":"Can I run Stremio in my browser?","FAQ_15_P1":"Not at the moment, but this is coming!","FAQ_15_P2":"If you\'re curious to see an Alpha, you can see it here: ${1}alpha4.strem.io${2}. Keep in mind streaming is disabled on this alpha. We support Chrome, Firefox, Opera and Edge.","FAQ_16_H1":"Casting to TV doesn\'t work / subtitles don\'t work","FAQ_16_P1":"Casting to TV uses the DLNA technology which is very inconsistent between different TV brands and models. For that reason, we do not have the ability to test it in every case, so it\'s far from perfect. Despite this, we\'re working on improving it constantly but we cannot give you a time estimate on when DLNA will start working properly with your TV.","FAQ_16_P2":"If you don\'t even see your TV in the casting menu, please try disabling your network connection and re-enabling it (on Windows, right click the Network and use Enable/Disable), as well as restarting your router, TV and PC.","FAQ_16_P3":"If you are still encountering issues, you can help us by sending your TV brand and model information at ${1}office@stremio.com${2}.","FAQ_16_P4":"In the meantime, we recommend Chromecast, which we support very well, or simply plugging in your TV to your PC with an HDMI cable.","FAQ_17_H1":"Stremio freezes and/or crashes, what can I do?","FAQ_17_P1":"First of all, if you\'re using Windows 7 with AVG anti-virus: we have a problem with that combination. The problem is in AVG itself, and there\'s no reasonable way to resolve it on our end. Unfortunately, exceptions or disabling the anti-virus won\'t work. The only solution is to replace AVG with something else.","FAQ_17_P2":"If that\'s not the issue, but you\'re still using Windows, please update to the latest service pack and update/re-install your GPU drivers, then try again.","FAQ_17_P3":"If you\'re problem is still not resolved, or you\'re using a Mac or Linux, please write us reporting the exact details of the problem at ${1}our Facebook group${2}.","FAQ_18_H1":"How can I make an addon?","FAQ_18_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_18_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_18_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_19_H1":"Why is Stremio taking disk space?","FAQ_19_P1":"Stremio has a <b>local cache</b> to temporarily keep the video files you stream.","FAQ_19_P2":"This has two benefits: first, it allows Stremio to pre-buffer the video ahead so as to ensure smoother streaming. Second, it keeps the videos in the local cache so you can continue watching them offline.","FAQ_19_P3":"How much Stremio keeps depends on the <b>Cache</b> setting in the Settings panel. Stremio may keep up to the set amount (e.g. 2GB) on your disk, unless the currently streamed video is larger than that, in which case it has to allocate enough storage to keep it until you\'re streaming it.","FAQ_20_H1":"Where is the cache folder?","FAQ_20_P1":"On Windows, it\'s stremio-cache in the drive you picked in Settings (e.g. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"On MacOS, it\'s \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"On Linux, it\'s \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"I get \\"Streaming server is not found\\" error, what can I do?","FAQ_21_P1":"If you get this error, it means one of few things:","FAQ_21_P2":"1) You are trying to use an addon backed by YouTube/BitTorrent source, through our ${1}web version${2}. In this case, you should install our desktop version from ${3}our website${4}.","FAQ_21_P3":"2) Something is wrong with your Stremio installation. In this case, try re-installing our latest desktop version from ${1}the website${2}. If this does not help, try disabling anti-virus programs and firewalls, restarting your PC and trying again. If this does not work too, please write us at our ${3}our Facebook group${4}.","FAQ_22_H1":"I cannot see/use most addons on iOS","FAQ_22_P1":"Because of restrictions in the Apple App Store terms and conditions, we have restricted the iOS application only to a particular set of addons.","FAQ_22_P2":"But rest assured - there will be more addons for iOS in the future, and we may also add an integration that will allow you to use all Stremio addons thanks to connecting the iOS app to the Stremio Streaming Server."}')},68472:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Film","TYPE_series":"Series","TYPE_tv":"TV-kanalen","TYPE_channel":"Kanaal","TYPE_other":"Andere","TYPE_movie_PL":"Films","TYPE_series_PL":"Series","TYPE_tv_PL":"TV-kanalen","TYPE_channel_PL":"YouTube","TYPE_other_PL":"Andere","TYPE_ALL":"All","TYPE":"Type","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"Video","BACK":"Terug","MORE":"Meer","DONE":"Klaar","COPY":"Kopieer","SUCCESS":"Success","ERROR":"Fout","SETTINGS_CASTING_MODE_PICKER":"Casting modus","CASTING_MODE_HLSV2":"Standaard","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Geen transcodering","Discover":"Ontdekken","Board":"Dashboard","Library":"Bibliotheek","My Library":"Mijn Bibliotheek","Calendar":"Agenda","NOTIFICATION_ONLINE":"Je bent nu online","NOTIFICATION_OFFLINE":"Je bent nu offline","INTERNET_CONNECTION":"Netwerkverbinding","STORAGE_FULL_TITLE":"Waarschuwing: geheugen is vol!","STORAGE_FULL_TEXT":"Stremio kan uw instellingen, voorkeuren of inloggegevens niet opslaan. Probeer Stremio te herstarten of opnieuw te installeren.","SEARCH":"Zoek","SEARCH_NO_RESULTS":"Er zijn geen resultaten gevonden","SEARCH_EXPLANATION_CONTENT":"Zoek naar films, series, Youtube and TV series","SEARCH_EXPLANATION_PEOPLE":"Zoek naar acteurs, filmregisseurs en schrijvers","SEARCH_PASTE_LINKS":"Plak hier HTTP en Magnet links","SEARCH_OR_PASTE_LINK":"Zoek of plak link","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"Toevoegen aan bibliotheek","REMOVE_FROM_LIB":"Verwijderen uit bibliotheek","ADDED_TO_LIB":"Toegevoegd aan bibliotheek","REMOVED_FROM_LIB":"Verwijderd van uw bibliotheek","TRAILER":"Trailer","WATCH_TRAILER":"Trailer bekijken","WATCH_NOW":"Nu kijken","SHOW":"Toon","SHOW_MOVIE":"Toon Film","WATCH_RANDOM":"Kijk willekeurig","IMDB_RATING":"IMDb beoordeling","YEAR":"Jaar","DIRECTOR":"Regisseur","WRITER":"Schrijver","LEAD_ACTORS":"Hoofdrolspelers","CAST":"Rolverdeling","CREW":"Crew","SHOW_MORE_CAST":"Laat meer zien »","AIRED":"Uitgezonden","SEASONS":"Seizoenen","GENRE":"Genre","GENRE_ALL":"All genres","CATALOG":"Catalogus","SUMMARY":"Samenvatting","SHOW_MORE":"Toon Meer","SIMILAR":"Vergelijkbaar","UPCOMING":"Opkomend","ENDED":"Afgelopen","DURATION":"Tijdsduur","FEATURED":"Uitgelicht","METADATA":"Metadata","CATEGORY":"Categorie","LINKS_GENRES":"Genres","LINKS_CAST":"Cast","LINKS_DIRECTORS":"Directors","SEARCH_VIDEOS":"Zoek video\'s","SEARCH_PLACEHOLDER":"zoek of plak magnet link","ADDON":"Addon","ADDONS":"Addons","OFFICIAL":"Officieel","ADDONS_OFFICIAL":"Officiële Stremio addon","ADDONS_POPULAR":"Populair in uw regio","ADDON_FREE":"Gratis","ADDON_PEERED":"peered","ADDON_SUBSCRIPTION":"Abonnement","ADDON_STREAM_GEORESTRICTED":"Niet beschikbaar in uw regio","ADDON_STREAM_OFFLINECACHE":"Offline Cache","ADDON_STREAM_LOCALFILE":"Lokaal Bestand","SHARE_ADDON":"Deel addon","AVAILABLE_STREAMS":"Beschikbare streams","NO_STREAM":"Geen streams beschikbaar","ALL_ADDONS":"All","INSTALL_MORE_ADDONS":"Voor meer streams, installeer meer addons","STREAM_NOT_SUPPORTED":"Geselecteerde stream is niet ondersteund op dit platform.","ADDON_CATALOGUE":"Toon alle addons »","ADDON_CATALOGUE_MORE":"Meer addons »","REPO_ADDED":"Repository toegevoegd","ADDON_REPO_EXIST_ERR":"Deze addons repository bestaat al","ADDON_REPO_ERR":"Foutmelding opgetreden tijdens het toevoegen van de repository","ADDON_ADD_ERR":"Foutmelding opgetreden tijdens het toevoegen van de addon","ERR_ADDON_PROTECTED":"Beschermde addon","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Er ging iets fout - authenticatie is mislukt","ERR_NOT_COLLECTION_URL":"Geen collectie URL","ERR_NOT_ADDON_URL":"Geen addon URL","ERR_DETECTFROMURL":"Niets beschikbaar in de URL","ADDON_DUPLICATE_WARNING":"Waarschuwing: gedupliceerde addon","ADDON_COLLECTION_SET_FAILED":"Addon collectie set mislukt","SETTINGS_DATA_EXPORT":"Exporteer data","ADDON_PULL_FAILED":"Addon ophalen mislukt","REFRESH_ON_CLICK":"Klik om het opnieuw te proberen.","STILL_IN_THEATER":"Film nog in de bioscoop","WATCH_IN_CINEMA":"Bekijk de film in een bioscoop in uw buurt","IN_THEATER":"In de bioscoop","GET_TICKETS":"Tickets bemachtigen","UPCOMING_EPISODE":"Aankomende aflevering","UPCOMING_EPISODE_MESSAGE":"Deze aflevering zal worden uitgezonden op","MISSING_DATE_EPISODE":"Ontbrekende afleveringsdatum","MISSING_DATE_EPISODE_MESSAGE":"Deze aflevering is mogelijk nog niet uitgezonden","CHANNEL_NOT_SCRAPED":"Dit kanaal is nog niet geschraapt.<br>Gelieve terug te komen in een paar minuten.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Voeg deze toe aan uw bibliotheek om een melding te krijgen zodra deze beschikbaar is.","GET_NOTIFIED_WHEN_AVAILABLE":"U krijgt een melding zodra deze beschikbaar is.","WARNING_STREAMING_SERVER":"Waarschuwing: lokale streaming server niet gevonden. Streamen van Youtube en BitTorrent is niet mogelijk","WARNING_STREAMING_SERVER_DISMISS":"Sluiten","WARNING_STREAMING_SERVER_LATER":"Later","DECODER_WARNING":"Waarschuwing: de video is mogelijk niet ondersteund door uw hardware. De video zal mogelijks niet correct worden afgespeeld.","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"Woeps, Videospeler fout","PLAYER_ERROR_LOOKSLIKE":"Het lijkt erop","PLAYER_ORIENTATION":"Videospeler oriëntatie","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Vergrendeld","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensor","PLAYER_ORIENTATION_LANDSCAPE":"Videospeler vergrendeld op horizontale weergave","PLAYER_ORIENTATION_SENSOR":"Automatische orientatieweergave videospeler (sensor)","PLAYER_PLAYBACK_SPEED":"Afspeelsnelheid","PLAYER_PLAYBACK_ERROR":"Afspeelfout, probeer het opnieuw","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Onbekende fout","PLAYER_PLAYBACK_ERROR_DEFAULT":"Sorry, deze video kan niet worden afgespeeld door {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Ondertiteling Talen","PLAYER_SUBTITLES_VARIANTS":"Ondertitel varianten","PLAYER_SUBTITLES_SETTINGS":"Subtitles Settings","PLAYER_SUBTITLES_DISABLED":"Ondertitelingen zijn uitgeschakeld","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Verticale positie","PLAYER_SUBTITLES_LOADED":"Ondertitelingen geladen","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Ingebouwde ondertitelingen geladen","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Exclusieve ondertitelingen geladen","PLAYER_SUBTITLES_LOADED_ORIGIN":"Ondertitelingen van {{origin}} geladen","PLAYER_PLAY":"Afspelen","PLAYER_PAUSE":"Pauzeren","PLAYER_NEXT_VIDEO":"Volgende video","PLAYER_MUTE":"Dempen","PLAYER_UNMUTE":"Dempen uitschakelen","PLAYER_OPEN_IN_EXTERNAL":"Openen in externe speler","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Afspelen op {{device}}","PLAYER_LIVE":"Live","PLAYER_NEXT_VIDEO_TITLE":"Komt binnenkort op","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Afwijzen","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Nu kijken","PLAYER_COPY_STREAM_SUCCESS":"De streamlink is gekopieerd naar je klembord","PLAYER_COPY_STREAM_ERROR":"Kopiëren van streamlink is mislukt","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","STREAMING_FROM":"Streamen van","CASTING_TO":"Casten naar","NETWORK_STATUS":"Netwerkstatus","STREAM_SPEED":"Snelheid:","STREAM_BUFFERED":"Gebufferd:","PEERS_INFO":"Peers informatie","PEERS_ACTIVE":"Actief:","PEERS_CONNECTED":"Verbonden:","PEERS_WAITING":"Wachten:","TRANSCODING_WARNING":"Waarschuwing: transcoderen van video.","STREAM_LOADING":"Laden...","PLAYING_LOCAL":"spelen van een lokaal bestand","PLAYING_CACHE":"spelen uit cache","WRONG_SUBS":"Verkeerde ondertiteling?","ERR_SUBS_LOADING_TITLE":"Fout tijdens laden ondertiteling","ERR_SUBS_LOADING":"Ondertiteling laden mislukt: Dit kan liggen aan de gebruikte addon, of uw internetverbinding","WARN_FOLLOWING_SUB_ADDONS_FAILED":"The following subtitle addons failed","ERR_CASTING_UPDATE_TITLE":"Kon streamingsapparaat info niet vernieuwen: streaming server is mogelijks offline","CHOOSE_DEVICE":"Kies een apparaat om op te kijken","NO_CAST_DEVICES":"Geen cast-apparaten beschikbaar.","NO_SETTINGS":"Geen instellingen beschikbaar.","PHONE_TABLET":"Mobiel/Tablet","SUBTITLES":"Ondertiteling","SUBTITLES_CHANGE":"Verander ondertiteling voor","SUBTITLES_CHANGE_NONE":"Voor deze taal zijn geen andere vertalingen beschikbaar, sorry.","SUBTITLES_CHANGE_ACIVE":"Momenteel is ondertiteling &#35;{{subtitlesDialog.activeIdx + 1}} actief. Klik op \\"Verder\\" om ondertiteling &#35;{{subtitlesDialog.pickedIdx + 1}} te gebruiken.","SUBTITLES_OR":"Als alternatief,","SUBTITLES_ADJUST_DELAY":"Ondertitelingsvertraging aanpassen:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Of gebruik de <span>G</span> / <span>H</span> toetsen om de ondertitels tijdens het afspelen aan te passen.","SUBTITLES_ADJUST_DELAY_TIP":"TIP: je kan de toetsen <span>G</span> / <span>H</span> gebruiken tijdens het afspelen om aan te passen.","SUBTITLES_DELAY":"Ondertitelvertraging:","SUBTITLES_LOADING":"Ondertiteling laden...","SUBTITLES_UNAVAILABLE":"Geen externe ondertitels beschikbaar","SUBTITLES_DISABLED":"Uitgeschakeld","EXTERNAL_PLAYER_DISABLED":"Uitgeschakeld","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Kiezen toestaan","EXTERNAL_PLAYER_HINT":"Tip: Er is een instelling om altijd met de externe speler te openen","DONT_SHOW_AGAIN":"Niet meer tonen","SERVICE_INSTALL":"Installeren","AUDIO":"Audio","DEFAULT_LANGUAGE":"Standaardtaal","DEFAULT_SECONDARY_LANGUAGE":"Standaard secundaire taal","SEASON":"Seizoen","EPISODE":"Aflevering","EPISODE_ABBREVIATION":"EP","SPECIAL":"Special","SORT":"Sorteer","SORT_BY":"Sorteren op","FILTER":"filter","SORT_TRENDING":"trending","SORT_RECENT":"recent","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"beoordeling","SORT_WATCHED":"gezien","SORT_YEAR":"jaar","SELECT_TYPE":"Selecteer type","SELECT_SORT":"Selecteer sortering","SELECT_CATALOG":"Selecteer catalogus","SELECT_GENRE":"Selecteer genre","SORT_LASTWATCHED":"Op basis van laatst bekeken","SORT_NAME":"Op basis van naam","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"Op basis van aantal keren bekeken","SORT_NOTWATCHED":"not watched","New for You":"Nieuw voor jou","New Episodes":"Nieuwe afleveringen","New Videos":"Nieuwe video\'s","Recommendations":"Aanbevelingen","LIBRARY_RESUME":"hervat","LIBRARY_PLAY":"Speel","LIBRARY_DETAILS":"Details","LIBRARY_RESUME_DISMISS":"negeer","LIBRARY_CLEAR_PROGRESS":"Verwijder voortgang","LIBRARY_REMOVE":"Verwijderen","LIBRARY_NOT_LOGGED_IN":"Bibliotheek is alleen beschikbaar voor ingelogde gebruikers","CALENDAR_NOT_LOGGED_IN":"Kalender is alleen beschikbaar voor ingelogde gebruikers","NOT_LOGGED_IN_CLOUD":"Toegang tot je favoriete films en tv-shows, waar en wanneer je maar wilt","NOT_LOGGED_IN_RECOMMENDATIONS":"Aanbevelingen op maat van jouw kijkgeschiedenis","NOT_LOGGED_IN_NOTIFICATIONS":"Mis nooit meer een aflevering","NOT_LOGGED_IN_CALENDAR":"Plan je persoonlijke kalender","DISCOVER_FEATURED":"Uitgelicht","DISCOVER_TOP":"Populair","DISCOVER_OSCAR":"Oscars","DISCOVER_WARNING_TITLE":"Oops!","DISCOVER_EMPTY_CATALOG":"Deze addon stuurde niks terug.","DISCOVER_ADULT_WARNING":"Deze inhoud is enkel toegankelijk voor volwassenen. Ben je 18+?","DISCOVER_NOADDON_WARNING":"Waarschuwing: geen Stremio addon actief voor dit type. Opgeslagen items worden weergegeven, hier komen geen updates.","DISCOVER_LOAD_ERR":"De inhoud werd niet geladen, er deed zich een fout voor.","DISCOVER_ADDON_UNINSTALLED":"Deze inhoud is niet meer beschikbaar, Het is mogelijk dat de addon is gedeïnstalleerd.","UNINSTALL_THIS_ADDON":"Deinstalleer deze addon","ERR_ADDON_NOT_INSTALLED":"Deze add-on is niet geïnstalleerd. Nu installeren?","DETAIL_RECEIVE_NOTIF_SERIES":"Ontvang notificaties bij nieuwe afleveringen","DETAIL_RECEIVE_NOTIF_VIDEOS":"Ontvang notificaties bij nieuwe video\'s","SIDEBAR_SHOW_STREAMS":"Toon Streams","RELAUNCH":"Herstart Stremio","UPGRADE":"Update naar de laatste Stremio versie","RELOAD_UI":"Gebruikersinterface herladen","MANUAL_UPDATE_TITLE":"Update je Stremio-versie","MANUAL_UPDATE_LINE1":"Je gebruikt een verouderde versie van Stremio, wat sterk wordt afgeraden.","MANUAL_UPDATE_LINE2":"Gelieve zo snel mogelijk te updaten.","BUTTON_UPDATE_LATTER":"Later","BUTTON_UPDATE_NOW":"Updaten","ANONYMOUS_USER":"Anonieme gebruiker","DONT_HAVE_ACC":"Heeft u nog geen account?","HAVE_ACC":"Heeft u al een account?","PASSWORD":"Wachtwoord","PASSWORD_CONFIRM":"Bevestig wachtwoord","EMAIL":"E-mail","FB_LOGIN":"Inloggen met Facebook","FB_NOTHINGSHARED":"Niks wordt gedeeld zonder uw toestemming","FB_NOPOST":"Niks wordt gepost zonder uw toestemming","OR":"of","I_ACCEPT":"Ik accepteer de","I_ACCEPT_BY_CLICKING":"Door te klikken op de bovenstaande knop ga ik akkoord met de","TOS":"Algemene Voorwaarden","MUST_ACCEPT_TERMS":"U moet akkoord gaan met de voorwaarden","PASSWORDS_NOMATCH":"Wachtwoorden komen niet overeen","SIGN_UP":"Inschrijven","SIGN_UP_EMAIL":"Aanmelden met e-mail","CLICK_TO_SIGN_UP":"Klikt hier om aan te melden.","LOG_IN":"Inloggen","LOG_OUT":"Uitloggen","EXIT_FULLSCREEN":"Volledig scherm afsluiten","ENTER_FULLSCREEN":"Volledig scherm inschakelen","PLAY_URL_MAGNET_LINK":"Speel URL/Magneetlink af","HELP_FEEDBACK":"Help en feedback","TERMS_OF_SERVICE":"Gebruiksvoorwaarden","PRIVACY_POLICY":"Privacybeleid","ABOUT_STREMIO":"Over Stremio","USER_PANEL":"Gebruikerspaneel","LOGIN_LABEL":"Inloggen","GUEST_LOGIN":"Gast-login","GUEST_LOGIN_NOTICE":"Gast-login is niet aangewezen. Een vaste login gebruiken zorgt ervoor dat Stremio je bibliotheek kan synchroniseren en je notificaties krijgt over je favoriete series/kanalen. Ben je zeker dat je wilt doorgaan?","GUEST_LOGIN_NOTICE_2":"Gast-login is niet aangewezen - je zal geen gesynchroniseerd bibliotheek hebben of dashboard notificaties krijgen, beiden belangrijke Stremio functies. Ben je zeker dat je wilt doorgaan?","CLICK_HERE":"Klik hier","WRONG_PASSWORD":"Verkeerd wachtwoord. In het geval dat u uw wachtwoord vergeten, ","SET_A_PASS":"Stel een wachtwoord in","RESET_PASSWORD":"Veranderd wachtwoord","FORGOT_PASSWORD":"Wachtwoord vergeten?","EMAIL_USED_WITH_FB":"Deze e-mail is al gebruikt met een Facebook login.","INVALID_EMAIL":"Voer een geldig e-mailadres in","INVALID_PASSWORD":"Voer een geldig wachtwoord in","CONN_ERR":"Connectiefout - probeer het later opnieuw.\\n\\nAls dit probleem zich aanhoudt, schakel dan uw firewall en/of anti-virus software uit (vooral Bitdefender).","IMPORT_FROM_GUEST":"Importeer bibliotheek van uw gast account","RECEIVE_UPDATES_EMAIL":"Ontvang updates via e-mail van Stremio","LOGIN_FAILED":"Login mislukt.","SIGNUP_FAILED":"Aanmelden mislukt.","SEARCH_FAILED":"Zoekopdracht mislukt","EMAIL_USED":"Dit e-mail is al in gebruik.","WAITING_FB_LOGIN":"Inloggen met Facebook...","EXTERNAL_PLAYER_TITLE":"In extern speler afspelen","EXTERNAL_REMEMBER_PLAYER":"Wilt u uw keuze onthouden?","EXTERNAL_ALWAYS_PLAY":"Ja","EXTERNAL_ONLY_ONCE":"Nee","BEST_FIT":"Beste pasvorm","FIT_SCREEN":"Scherm passen","FILL":"Fill","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"Geef uw voorkeuren aan","INTRO_TASTE_LONG":"Vertel ons wat je wilt bekijken","INTRO_TASTE_PICK":"Kies {{interestsRemaining}} interesses","INTRO_TASTE_PICK_MORE":"Kies {{interestsRemaining}} meer interesses","INTRO_TASTE_HELP_US":"Help ons je beter te leren kennen.","INTRO_TASTE_CHOOSE_THESE":"Kies enkel van deze:","INTRO_TASTE_CHOOSE_MIN":"Kies minimum 3 categorieën","INTRO_TASTE_CHOOSE_MIN_ERR":"Je moet minimum 3 categorieën kiezen!","INTRO_TASTE_LIFESTYLE":"Lifestyle","INTRO_TASTE_SPORTS":"Sport","INTRO_TASTE_FOOD_HEALTH":"Eten & Gezondheid","INTRO_TASTE_BEAUTY_FASHION":"Schoonheid & Mode","INTRO_TASTE_NEWS":"Nieuws","INTRO_TASTE_GAMING":"Gaming","INTRO_TASTE_SCIENCE_EDU":"Wetenschap & Onderwijs","INTRO_TASTE_MUSIC":"Muziek","INTRO_TASTE_TRAVEL":"Reizen","INTRO_TASTE_LATE_NIGHT":"Late Night Show","INTRO_TASTE_REALITY":"Reality","INTRO_TASTE_COMEDY":"Komedie","INTRO_TASTE_DIY":"How to DIY","INTRO_TASTE_TECH":"Tech","INTRO_TASTE_CINEMA":"Cinema","ADDON_NOT_SUPPORTED":"De geselecteerde addon is niet ondersteund op dit platform.","ADDON_DISCLAIMER":"Het gebruiken van addons van derden is altijd onderworpen aan uw eigen verantwoordelijkheid en het recht van de regio waar u zich bevindt.","ADDON_ACTIVATE":"Deze addon activeren?","ADDON_REPO_ADD":"Addon repository url","ADDON_ADD":"Toevoegen","INSTALL_ADDON":"Install addon","ADD_ADDON":"Add-on toevoegen","ADD_ADDON_DESCRIPTION":"U kunt een add-on toevoegen via een externe link, die zal verschijnen onder Geïnstalleerde add-ons.","PASTE_ADDON_URL":"Add-on-URL plakken","WHATS_NEW":"Wat is er nieuw?","BUTTON_CONTINUE":"Doorgaan","BUTTON_ACTIVATE":"Activeer","BUTTON_ACTIVATED":"Geactiveerd","BUTTON_CANCEL":"Annuleer","BUTTON_SUBMIT":"Verstuur","BUTTON_DISMISS_ALL":"Negeer alles","BUTTON_VIEW_ALL":"Bekijk alles","BUTTON_SEE_ALL":"Alles zien","BUTTON_COLOR_TRANSPARENT":"Transparant","OPEN_IN_BROWSER":"Open in browser","LIB_EMPTY":"Uw bibliotheek ziet er leeg uit. Ontdek hoe nuttig het is :) ","HOW_START":"Hier is hoe je kunt beginnen:","LIB_EMPTY_CAL":"De agenda toont series in je bibliotheek.","HOW_START_CAL":"Hier is hoe je series kan toevoegen:","LIB_EMPTY_BOARD":"Het dashboard toont notificaties &amp; aanbevelingen gebaseerd op uw bibliotheek.","HOW_START_BOARD_WAIT":"Voeg een paar series of kanalen toe aan uw bibliotheek en geef ons een paar minuten verwerktijd :)","HOW_START_BOARD":"Zo voeg je series &amp; films toe:","IMPORT_FB":"Importeer dingen die je leuk vind van <span>Facebook</span>","IMPORT_TRAKT":"Importeer je media bibliotheek van <span>Trakt</span>","IMPORT_DISCOVER":"<span>Ontdek</span> interessante dingen","IMPORT_DISK":"Importeer films of series vanaf je <span>lokale schijf</span>","PLEASE_CREATE_ACC":"<u>Registreer een account</u> om van de bibliotheek &amp; het dashboard gebruik te maken.","IMPORT_DISCOVER_SIGNUP":"Registreer en vind interessante dingen van <span>Ontdekken</span>","IMPORT_DISK_SIGNUP":"Registreer en importeer films en series van je <span>lokale schijf</span>","LIB_EMPTY_CLOUD":"Cloud bibliotheek","LIB_EMPTY_CLOUD_DESC":"Persoonlijke cloud bibliotheek gesynchroniseerd op alle toestellen","LIB_EMPTY_EARLY":"Vroege vogel","LIB_EMPTY_EARLY_DESC":"Ontvang notificaties bij nieuwe afleveringen","LIB_EMPTY_PERSONAL":"Persoonlijk","LIB_EMPTY_PERSONAL_DESC":"Ontvang persoonlijke aanbevelingen","LIB_EMPTY_CALENDAR_DESC":"Plan uw persoonlijke kijkkalender","LIB_EMPTY_ALL":"Sign up to get all of these:","LIB_EMPTY_BEST":"Registreer om deze allemaal te ontvangen","LIB_EMPTY_OTHER":"Registreer om Agenda en andere coole functies in te schakelen","CALENDAR_ADDED":"De Stremio-kalender is toegevoegd aan uw standaard desktopkalender.","CALENDAR_ADDED_MSG":"Indien dit niet werkt, voeg deze URL dan handmatig toe aan uw agendatoepassing","TRAKT_EXPIRED":"Trakt-authenticatie is verlopen, ga naar Instellingen en verifieer opnieuw","TRAKT_REQUIRES_LOGIN":"Trakt foutmelding","TRAKT_REQUIRES_LOGIN_MSG":"U moet inloggen","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","SETTINGS_LABEL":"Instellingen","SETTINGS_NAV_GENERAL":"Algemeen","SETTINGS_NAV_PLAYER":"Speler","SETTINGS_NAV_STREAMING":"Streaming","SETTINGS_NAV_SHORTCUTS":"Snelkoppelingen","SETTINGS_SHORTCUT_RELOAD_APP":"Applicatie herladen","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Instellingen openen","SETTINGS_SHORTCUT_SWITCH_TABS":"Tabbladen wisselen","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Tabbladen vooruit doorlopen","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Tabbladen achteruit doorlopen","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Menu\'s navigeren","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Ga naar zoeken","SETTINGS_SHORTCUT_EXIT_BACK":"Afsluiten / Teruggaan","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Snelheid afspelen menu omschakelen","SETTINGS_SHORTCUT_MENU_VIDEOS":"Video\'s menu omschakelen","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Ondertitels menu omschakelen","SETTINGS_SHORTCUT_MENU_INFO":"Info menu omschakelen","SETTINGS_SHORTCUT_FULLSCREEN":"Volledig scherm omschakelen","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Bediening weergeven","SETTINGS_SHORTCUT_PLAY_PAUSE":"Afspelen / pauzeren","SETTINGS_SHORTCUT_VOLUME_UP":"Volume omhoog","SETTINGS_SHORTCUT_VOLUME_DOWN":"Volume omlaag","SETTINGS_SHORTCUT_SEEK_NEXT":"Volgende zoeken","SETTINGS_SHORTCUT_SEEK_PREV":"Vorige zoeken","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Terug zoeken","SETTINGS_SHORTCUT_SEEK_FORWARD":"Vooruit zoeken","SETTINGS_SHORTCUT_PLAY_NEXT":"Volgende afspelen","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Ondertitel grootte vergroten","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Ondertitel grootte verkleinen","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Ondertitel vertraging vergroten","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Ondertitel vertraging verkleinen","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Zijbalk omschakelen","SETTINGS_SHORTCUT_OR":"of","SETTINGS_SHORTCUT_TO":"naar","SETTINGS_SHORTCUT_SPACE":"Spatie","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Authenticeren","SETTINGS_FACEBOOK_IMPORT":"Importeren","SETTINGS_CALENDAR_SUBSCRIBE":"Abonneren","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Interface-taal","SETTINGS_LAUNCH_STARTUP":"Opstarten openen","SETTINGS_VLC_DEFAULT":"Met VLC afspelen","SETTINGS_UI_LANGUAGE":"UI-taal","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Escape-toets om volledig scherm te verlaten","SETTINGS_GAMEPAD":"Gamepadondersteuning inschakelen","SETTINGS_CLOSE_WINDOW":"Applicatie sluiten als venster wordt gesloten","SETTINGS_SUBTITLES_LANGUAGE":"Standaard ondertiteltaal","SETTINGS_SUBTITLES_SIZE":"Standaard ondertitelgrootte","SETTINGS_SUBTITLES_BACKGROUND":"Ondertitelachtergrond","SETTINGS_SUBTITLES_COLOR":"Ondertitelkleur","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Ondertitelomlijning kleur","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Ondertitelachtergrondkleur","SETTINGS_SEEK_KEY":"Pijltjestoetsen zoektijd","SETTINGS_SEEK_KEY_SHIFT":"Pijltjestoetsen zoektijd wanneer Shift-toets is ingedrukt","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Terugspoel- en vooruitspoelduur","SETTINGS_BINGE":"Automatisch de volgende aflevering afspelen","SETTINGS_NEXT_VIDEO":"Geef een melding om de volgende aflevering te starten","SETTINGS_NEXT_VIDEO_TRIGGER":"Geef een melding voor de volgende aflevering voor:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Duur van de pop-up met de volgende video","SETTINGS_PLAY_IN_BACKGROUND":"Afspelen op de achtergrond","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Afspelen in externe speler","SETTINGS_RESIZE":"Vensterformaat automatisch aanpassen bij afspelen","SETTINGS_OVERRIDE_SERVER":"streaming server-URL overschrijven (geavanceerd)","SETTINGS_SERVER_URL":"streaming server-URL: ","SETTINGS_SERVER_AVAILABLE":"streaming server is beschikbaar.","SETTINGS_SERVER_UNAVAILABLE":"streaming server is niet beschikbaar.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Fout","SETTINGS_SERVER_CONFIGURE_TITLE":"Configureer streaming server-URL","SETTINGS_SERVER_CONFIGURE_INPUT":"Voer een streaming server-URL in","SETTINGS_SERVER_CACHE_SIZE":"Cachegrootte","SETTINGS_SERVER_TORRENT_PROFILE":"Torrentprofiel","SETTINGS_HTTPS_ENDPOINT":"Streaming HTTPS-eindpunt: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Gebruik altijd de laatste Beta","SETTINGS_IMPORT_FB":"Importeren van Facebook","SETTINGS_IMPORT_DISK":"Importeren van lokale schijf","SETTINGS_IMPORT_TRAKT":"Importeren van Trakt","SETTINGS_PAUSE_MINIMIZED":"Pauzeer afspelen bij minimaliseren","SETTINGS_HWDEC":"Door hardware versnelde decodering","SETTINGS_BACKGROUND":"Achtergrondweergave","SETTINGS_SUBSCRIBE_CALENDAR":"Abonneer op agenda","SETTINGS_REQ_EXPORT":"Vraag gegevens export aan","SETTINGS_ACC_DELETE":"Verzoek om account te verwijderen","SETTINGS_CHANGE_PASSWORD":"Wachtwoord veranderen","SETTINGS_TOS":"Algemene voorwaarden","SETTINGS_SUPPORT":"Contact opnemen met ondersteuning","SETTING_LANGUAGE":"Taal","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_LOGOUT":"Uitloggen van Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Uitloggen van Trakt","SETTINGS_SCAN_FOR_REMOTE":"QR code scannen om afstandsbediening te openen","SETTINGS_DESKTOP_NOTIFICATIONS":"Desktop notificaties","SETTINGS_DATA_SAVER":"Gegevensbesparing","SETTINGS_LANGUAGE_INTERFACE":"interface","SETTINGS_LANGUAGE_SUBS":"standaard ondertiteling","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Automatische selectie audiotrack inschakelen","SETTINGS_DEFAULT_AUDIO_TRACK":"Standaard audiotrack","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"account","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"versie","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"Start videospeler in apart scherm (geavanceerd)","SETTINGS_PLAY_IN_EXTERNAL":"Video altijd in externe speler starten","SETTINGS_STORAGE_BUTTON":"Lokale opslag wissen","SETTINGS_STORAGE_MODAL_TITLE":"Weet je het zeker?","SETTINGS_STORAGE_MODAL_MESSAGE":"Dit zal de lokale opslag wissen en je uitloggen.","SETTINGS_HWDEC_PICKER":"Hardwareversnelling voor decodering kiezen","SETTINGS_HW_AUTOMATIC":"Automatisch","SETTINGS_HW_DISABLED":"Uitgeschakeld","SETTINGS_HW_ACCELERATED":"Decodering versnellen","SETTINGS_HW_FULL":"Volledige versnelling","SETTINGS_HW_LEGACY":"Erfenis","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Ondertitels","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Bediening","SETTINGS_SECTION_AUTO_PLAY":"Automatisch afspelen","SETTINGS_SECTION_ADVANCED":"Geavanceerd","SUBSPICKER_AUDIO":"Audio","SUBSPICKER_SUBTITLES":"Add-on ondertitels","SUBSPICKER_BLACK_BACKGROUND":"Gebruik een zwarte achtergrondkleur","SUBSPICKER_VERTICAL_OFFSET":"Verticale offset","SUBSPICKER_SIZE":"Grootte","SUBSPICKER_DELAY":"Vertraging","SUBSPICKER_EMBEDDED_SUBS":"Ingesloten ondertitels","MOBILE_PRIVACY_POLICY":"Privacybeleid","MOBILE_CRASH_REPORTING":"Crashrapportage","MOBILE_ZOOM_TO_FILL":"Zoomen om het scherm te vullen","MOBILE_PASSTHROUGH":"Digitale audio-uitvoer (doorvoer)","MOBILE_RUN_LOW_BATTERY":"Uitvoeren op een laag batterijniveau","MOBILE_RUN_FOREGROUND":"Uitvoeren als voorgrondservice","MOBILE_PERFORMANCE":"PRESTATIES & STABILITEIT","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"QR-code verloopt in ","MOBILE_LOG_INTO":"Log in op je Stremio-account ","MOBILE_SCAN_QR":"Scan de QR-code hierboven of ga naar ","MOBILE_LINK_ACCOUNT":"Account koppelen","MOBILE_SPEEDPICKER_CANCEL":"Annuleren","MOBILE_SPEEDPICKER_LABEL":"Selecteer afspeelsnelheid","MOBILE_EMPTY_LIBRARY":"Je bibliotheek is leeg","MOBILE_NO_ADDON_ACTIVE":"Er is geen actieve Stremio-addon voor dit type.","MOBILE_ORGANIZER_WARNING":"De Stremio Organizer-app biedt beperkte functionaliteit. Voor een lijst met afspeelbare streams en de volledige Stremio-ervaring, gebruik je Stremio op desktop.","MOBILE_ADDON_LOADING":"laadt nog","MOBILE_ADDONS_LOADING":"addons laden nog","MOBILE_ADDON":"Add-on","MOBILE_CONFIGURE_ADDON":"Configureer je add-on","MOBILE_CONFIGURE_ADDON_LABEL":"Configureer add-on","MOBILE_ORGANIZER_ADDONS_WARNING":"De Stremio Organizer-app biedt een beperkte selectie van add-ons. Voor de volledige Stremio-ervaring, gebruik je Stremio op desktop.","MOBILE_DISCONNECT":"Verbinding verbreken","MOBILE_LOOKING_FOR_DEVICES":"Zoeken naar apparaten...","MOBILE_CAST_TO":"Casten naar","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Account verwijderen","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Account verwijderen is niet direct mogelijk vanwege wettelijke verplichtingen. Nadat je hebt verzocht om je account te verwijderen, moet je een andere e-mailadres/Facebook-profiel gebruiken om in de toekomst een nieuwe Stremio-account aan te maken.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Account verwijderen bevestigen","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Uw account is gemaakt met behulp van Facebook. Om je account te verwijderen kan je gebruik maken van ons gebruikersportaal op www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Voer je wachtwoord in om de account verwijderen te bevestigen.","MOBILE_DELETE_ACCOUNT_BUTTON":"Account verwijderen","NAVIGATION_ON":"Aan","NAVIGATION_OFF":"Uit","MARKETING_AGREE":"Ik ga akkoord met het ontvangen van marketingcommunicatie van Stremio","QUIT":"Afsluiten","CONNECTED":"Verbonden","AUTHENTICATE":"Authenticeren","CACHING":"Caching","SETTINGS_CACHING_DRIVE":"Selecteer schijf voor caching","ENABLE_LOCAL_FILES_ADDON":"Schakel de lokale bestanden-add-on in (vereist herstart)","LOCAL_ADDON_NOT_ENABLED":"De lokale add-on is niet ingeschakeld. Klik hier om naar de instellingen te gaan en deze in te schakelen","ENABLE_REMOTE_HTTPS_CONN":"Schakel externe HTTPS-verbindingen in","TORRENT_PROFILE":"Torrent-profiel","DATA_CACHING":"Data Caching","MAGNET_PARSING":"Magnetlink verwerken","January":"januari","February":"februari","March":"maart","April":"april","May":"mei","June":"juni","July":"juli","August":"augustus","September":"september","October":"oktober","November":"november","December":"december","Monday":"maandag","Tuesday":"dinsdag","Wednesday":"woensdag","Thursday":"donderdag","Friday":"vrijdag","Saturday":"zaterdag","Sunday":"zondag","Action":"Actie","Comedy":"Komedie","War":"Oorlog","Family":"Familie","Animation":"Animatie","Adventure":"Avontuur","Fantasy":"Fantasie","Crime":"Misdaad","Mystery":"Mysterie","Romance":"Romantiek","Drama":"Drama","Horror":"Horror","Thriller":"Thriller","Sci-Fi":"Sci-Fi","Music":"Muziek","Biography":"Biografie","Documentary":"Documentaire","Sport":"Sport","Musical":"Musical","Western":"Western","Film-Noir":"Film-noir","News":"Nieuws","History":"Geschiedenis","Game-Show":"Spelprogramma","Reality-TV":"Reality-TV","Talk-Show":"Talkshow","Film & Entertainment":"Film & Entertainment","Gaming":"Gaming","From TV":"Van TV","Lifestyle":"Lifestyle","Science & Education":"Wetenschap & Onderwijs","Cooking & Health":"Koken & Gezondheid","Beauty & Fashion":"Schoonheid & Mode","Sports":"Sport","News & Politics":"Nieuws & Politiek","How-to & DIY":"How-to & Klussen","Tech":"Technologie","Automotive":"Automotive","Causes & Non-Profits":"Goede doelen & Non-Profits","Movies":"Films","Uk Live Tv":"UK Live TV","Fashion":"Mode","Business News Radio":"Business News Radio","Business Tv":"Business","Cars & Auto":"Auto\'s","Comedy Radio":"Comedy Radio","Lifestyle Radio":"Lifestyle Radio","News Tv":"Nieuws","Food And Wine":"Eten & Wijn","Latino Tv":"Latino TV","Shopping Tv":"Shopping","Religion":"Godsdienst","Kids":"Kinderen","Body & Soul":"Lichaam & ziel","Education":"Onderwijs","Indian Tv":"Indische TV","Extreme Sports":"Extreme sporten","Middle Eastern Tv":"Midden-Oosten","Celebrity Tv":"Celebrity","Science Tv":"Wetenschap","Bikini babe":"Bikini babe","Outdoors":"Buitenleven","German Tv":"Duitse TV","French Tv":"Franse TV","Italian Tv":"Italiaanse TV","Gamer Tv":"Game","Travel":"Reizen","Asian Tv":"Aziatische TV","Entertainment":"Entertainment","News Radio":"Nieuws Radio","Music Radio":"Muziek Radio","Language Learning":"Taal leren","Science Radio":"Wetenschap Radio","Tech Radio":"Technologie Radio","Science & Technology Vod":"Wetenschap & Technologie Vod","new video":"nieuwe video","new episode":"nieuwe aflevering","new movie":"nieuwe film","recommended":"aanbevolen","we recommend":"onze aanbeveling","offer of the day":"aanbieding van de dag","news":"nieuws","music video":"muziekvideo","CTX_SHOW_HOTKEYS":"Toon snelkoppelingen","CTX_DISMISS_NOTIF":"Notificaties wissen","CTX_DISMISS_ALL":"Verwijder alles","CTX_SHARE":"Delen","CTX_COPY_SHARE_LINK":"Kopieer deelbare link","CTX_COPY_MAGNET_LINK":"Magneet-link kopiëren","CTX_COPY_STREAM_LINK":"Streamlink kopiëren","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Deze video downloaden","CTX_DOWNLOAD_SUBS":"Ondertitelingen downloaden","CTX_VIEW_ON_YOUTUBE":"Bekijk op YouTube","CTX_SHOW":"Kijken","CTX_PLAY":"Speel","CTX_PLAY_IN":"Speel in","CTX_PLAY_ON":"Speel op","CTX_WATCH_ON":"Kijk op","CTX_WATCH":"Kijken","CTX_WATCHED":"Gezien","CTX_WATCH_BEGINNING":"Vanaf het begin kijken","CTX_WATCH_MOBILE":"Op een mobiel apparaat kijken","CTX_REWIND":"Spoel terug naar begin","CTX_MARK_WATCHED":"Markeren als gezien","CTX_MARK_NON_WATCHED":"Markeren als niet gezien","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"Markeer de rest als gezien","CTX_UNMARK_REST":"Markeer de rest als niet gezien","CTX_RECEIVE_NEW_NOTIF":"Nieuwe notificaties ontvangen","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"Van cache verwijderen","CTX_REMOVE_CACHE_EP":"Aflevering uit cache verwijderen","CTX_OPEN_CONTAINING":"Bijhorende map openen","CTX_REMOVE":"Verwijderen van bibliotheek","CTX_AVAILABLE_OFFLINE":"Offline beschikbaar","CTX_PAUSED":"Gepauzeerd","CTX_ALWAYS_ON_TOP":"Altijd op voorgrond","CTX_FULLSCREEN":"Volledig scherm","CTX_WRONG_SUBS":"Verkeerde ondertiteling?","CTX_REPORT_ISSUES":"Fout rapporteren","CTX_COPY":"Kopiëren","CTX_PASTE":"Plakken","CTX_CLEAR":"Legen","CTX_CLEAR_RECENT_SEARCHES":"Recente zoekopdrachten verwijderen","HELLO_THERE":"Hallo daar","HOPE_YOU_ENJOY":"Wij hopen dat je Stremio leuk vindt en het al één van je favoriete programma\'s is!","WHO_ARE_WE":"Wie zijn wij? Wij zijn het team achter Stremio - twee jongens die de laatste 3 jaar erg hard hebben gewerkt, met één doel voor ogen - dit product beter en beter maken.","SUPPORT_US":"Als je Stremio met plezier gebruikt en/of het waardevol voor je is - steun ons!","SPREAD_THE_WORD":"Vertel je vrienden en de wereld over Stremio","MORE_PEOPLE":"Hoe meer mensen Stremio gebruiken, hoe beter het wordt!","SEND_A_LINK":"Of stuur een link naar onze website","TIP_LOCALFILES":"Tip: je kan lokale videobestanden in Stremio slepen om af te spelen","ADDON_MY":"Mijn Addons","ADDON_COMMUNITY":"Community Addons","ADDON_OFFICIAL":"Officiële Addons","ADDON_REPOS":"Addon repositories","ADDON_SEARCH":"Zoek addons","ADDON_INSTALL":"Installeer","ADDON_CONFIGURE":"Configureer","ADDON_UNINSTALL":"Deinstalleren","ADDON_UPGRADE":"Upgraden","ADDON_INSTALLED":"Geïnstalleerd","ADDON_INSTALLED_MSG":"Addon geïnstalleerd!","ADDON_UPGRADED_MSG":"Addon ge-upgrade!","ADDON_UNKNOWN":"Onbekend","ADDON_ERR":"Addon installatie fout!","ADDON_DISCONNECTED":"Verbinding verbroken","ADDON_APP_MISSING":"De app voor deze bron is niet geïnstalleerd. Wil je deze nu installeren?","ADDON_APP_INSTALL":"Installeer Nu","ADDON_PAGE":"Addon Pagina","ADDON_TOP_CONTENT":"Beste van deze Addon","ADDON_PROVIDES":"bied aan","ADDON_WATCH":"Kijk #{types} nu!","ADDON_WATCH_FREE":"Kijk #{types} nu GRATIS!","ADDON_ADDON":"Addon","ADDON_SUPPORTED_TYPES":"Supported types","ADDON_SUPPORTED_CATALOGS":"Supported catalogs","ADDON_PROVIDES_DISCOVER":"Meer #{types} in Ontdekken","ADDON_PROVIDES_STREAMS":"Kijk #{types}","ADDON_PROVIDES_STREAMS_FREE":"Kijk #{types} GRATIS","ADDON_PROVIDES_SUBTITLES":"Ondertiteling voor #{types}","ADDON_CANTDETECT":"We konden geen lopende instantie van Stremio detecteren, hierdoor konden we niet detecteren welke addons er zijn geïnstalleerd.","ERR_NO_META":"Geen informatie over dit ","ERR_GETTING_META":"Fout tijdens het verkrijgen van informatie.","ERR_CANT_PARSE_MAGNET":"Kan magnet link niet verwerken","ERR_NO_MAGNET_INFOHASH":"Geen geldige infohash voor deze magnet link","ERR_NO_FILE_PATH":"Niet mogelijk een verzoek te versturen zonder Unable to send request zonder pad naar bestand","ERR_NO_TORRENT":"Geen torrent gevonden","ERR_NO_SUPPORTERD_FILES":"Geen ondersteunde bestanden gevonden","ERR_OPENING_FILES":"Kon externe bestanden niet openen","ERR_INVALID_LINK":"Ongeldige link","ERR_REGISTERED_ONLY":"Deze optie is alleen beschikbaar voor geregistreerde gebruikers.","ERR_CLIPBOARD":"Kan niet afspelen vanaf het klembord","ERR_CLIPBOARD_READ":"Kan het klembord op dit platform niet lezen","ERR_CLIPBOARD_GENERIC":"Er is geen afspeelbare URL gevonden in het klembord. Kopieer een URL (bijvoorbeeld een magnetlink) naar een video.","BOARD_CONTINUE_WATCHING":"Doorgaan met kijken","BOARD_EXPLANATION_RECOMMENDATIONS":"Films speciaal voor jou gekozen.<br />Deze film is een voorbeeld aanbeveling.","BOARD_EXPLANATION_EPISODES":"Nieuwe afleveringen van uw favoriete series komen hier.<br />Voeg series die je volgt toe aan je bibliotheek.","BOARD_EXPLANATION_VIDEOS":"Nieuwe afleveringen van uw favoriete kanalen komen hier.<br />Voeg Youtube Kanalen die je volgt toe aan je bibliotheek","WEBSITE_ENJOYED_BY":"Geniet net als meer dan 30 miljoen gebruikers over de hele wereld","WEBSITE_STREAMING_ENHANCED":"Streaming verbeterd","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio biedt een veilige, moderne en naadloze entertainmentervaring. Met zijn gebruiksvriendelijke interface en diverse contentbibliotheek, inclusief 4K HDR-ondersteuning, kunnen gebruikers hun favoriete films en tv-shows bekijken op al hun apparaten. En met zijn commitment aan veiligheid is Stremio de ultieme keuze voor een zorgeloze, hoogwaardige streaming ervaring.","WEBSITE_AVAILABLE_ON":"Beschikbaar op","WEBSITE_WATCH_AND_ENJOY":"Kijk & geniet.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio maakt het een fluitje van een cent","WEBSITE_ALL_FEATURES":"Alle functies","WEBSITE_EASY_TO_USE":"Gemakkelijk te gebruiken","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is ontworpen om gebruiksvriendelijk en gemakkelijk te gebruiken te zijn. Met zijn schone en intuïtieve interface kunt u gemakkelijk navigeren en het content vinden dat u wilt bekijken.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Naadloos over apparaten","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Beschikbaar voor een breed scala aan platforms (inclusief Windows, Mac, Linux, Android en meer), Stremio houdt bij uw voortgang op al uw apparaten. Meld u gewoon aan en ga verder met kijken zonder de app opnieuw te hoeven configureren op elk nieuw apparaat.","WEBSITE_ALL_DOWNLOADS":"Alle downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"Ondersteuning voor high-definition video","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"Een geïntegreerde videospeler die de meeste videoformaten ondersteunt, waaronder 4K HDR-content, zodat u kunt genieten van de hoogste kwaliteit die beschikbaar is.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Gevarieerde contentbibliotheek","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integreert met een groot aantal populaire videobronnen, zoals Netflix, Amazon Prime Video, Hulu, YouTube en nog veel meer.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Maak een gratis account aan","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Aangepaste kijkervaring","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio stelt u in staat de look en feel van de interface aan te passen door het thema te wijzigen, add-ons toe te voegen of te verwijderen, en meer.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Ondersteuning voor meertalige ondertitels","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"U kunt nu al uw favoriete content bekijken in uw voorkeurstaal, aangezien Stremio ondertitels in alle talen ondersteunt.","WEBSITE_ALL_STREMIO_FEATURES":"Alle Stremio-functies","WEBSITE_TRY_STREMIO_TITLE_P1":"Probeer Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"Nu op je tv","WEBSITE_YOU_CAN_NOW_WATCH":"Je kunt nu al je favoriete tv-programma\'s bekijken op je Android TV-apparaten. De Stremio TV-app laat je met gemak een filmavond genieten.","WEBSITE_YOU_CAN_NOW_WATCH_2":"Je kunt nu al je favoriete tv-programma\'s bekijken op je Smart TV of Android TV. De Stremio TV-apps laten je met gemak een filmavond genieten.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio voor Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Waarschijnlijk de beste en meest handige app die je op je apparaat kunt hebben. Het is een van de apps die ik dagelijks gebruik, vooral op mijn Android TV, al vele jaren. Goed gemaakt met een sterke community die nuttige functionaliteiten biedt. Goed gedaan. Blijf het goede werk doen.","WEBSITE_REVIEWS":"recensies","WEBSITE_GET_STREMIO_FOR_FREE":"Download Stremio gratis","WEBSITE_GET_STREMIO_NOW":"Download Stremio nu","WEBSITE_STREMIO_FEATURES":"Stremio-functies","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream als een pro met de geavanceerde functies van Stremio en geniet van naadloze toegang tot al je favoriete media","WEBSITE_DISCOVER_MORE":"Ontdek meer.","WEBSITE_DISCOVER_MORE_DETAILS":"Nooit meer zonder dingen om te kijken","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio heeft een grote en actieve community van gebruikers die bijdragen aan de ontwikkeling van de software door add-ons te maken en te delen.","WEBSITE_GET_INVOLVED":"Doe mee","WEBSITE_NEW_THEATER_EXPERIENCE":"Nieuwe bioscoopervaring","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s nieuwe speciale tv-app laat je genieten van een filmavond op je Android TV-apparaten.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s nieuwe speciale tv-apps laten je genieten van een filmavond op je Smart TV of Android TV-apparaten.","WEBSITE_FREE_AND_SECURE":"Gratis & veilig","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio biedt ongeëvenaarde beveiliging en privacy voor gebruikers. Met zijn unieke functie om add-ons op afstand te runnen, biedt Stremio een veiligere manier om je favoriete content te streamen dan andere platforms. Je beveiliging en privacy zijn topprioriteiten, en het platform zorgt ervoor dat al je gegevens worden beschermd.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Vaarwel zeggen tegen zorgen over beveiliging en privacy en hallo zeggen tegen een wereld van eindeloze entertainment met Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Informatie verstrekt door","WEBSITE_CONTRIBUTE":"Draag bij","WEBSITE_CONTRIBUTE_DESC":"aan het project & help ons Stremio nog beter te maken","WEBSITE_COMMUNITY_DESC":"Wij geloven dat de beste manier om een ​​echt geweldige streamingervaring te creëren is door onze community erbij te betrekken. Of je nu een programmeur, een artiest of gewoon een fan bent, je kunt Stremio helpen groeien.","WEBSITE_COMMUNITY_DESC_2":"Dus doe vandaag nog mee en word lid van de Stremio-community en blijf de toekomst van streaming vormgeven.","WEBSITE_WAYS_TO_GET_INVOLVED":"Manieren om betrokken te raken","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in de Stremio-community","WEBSITE_SHARE_YOUR_THOUGHTS":"Deel je mening","WEBSITE_REPORT_BUGS":"Rapporteer bugs","WEBSITE_SUGGEST_FEATURES":"suggereer functies","WEBSITE_AND_PROVIDE_FEEDBACK":"en geef feedback op onze sociale mediakanalen.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testprogramma","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Neem deel aan ons bètatestprogramma (we sturen regelmatig uitnodigingen) in de Stremio-community.","WEBSITE_JOIN_NOW":"Meld je nu aan!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Officiële Stremio-gemeenschappen","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Onofficiële Stremio-gemeenschappen","WEBSITE_BECOME":"Word","WEBSITE_A_VOLUNTEER_TRANSLATOR":"een vrijwillige vertaler","WEBSITE_ARE_YOU_A_DEVELOPER":"Ben jij een ontwikkelaar?","WEBSITE_CONTRIBUTE_CODE":"Je kunt code bijdragen aan onze open source-projecten. We hebben verschillende projecten op GitHub die op zoek zijn naar bijdragers. Als je wilt helpen, bekijk ze dan:","WEBSITE_STREMIO_ON_GITHUB":"Stremio op GitHub","WEBSITE_CREATE_ADDON_DESC":"Maak een add-on om de functionaliteit van Stremio te verbeteren (we hebben een eenvoudig te gebruiken API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We bieden ook de mogelijkheid om bij ons te komen als intern ontwikkelaar zodat we samen kunnen groeien.","WEBSITE_APPLY_AS_AN_INTERN":"Solliciteer als stagiair","WEBSITE_CALLING_ALL_ARTISTS":"Oproep aan alle kunstenaars!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Laat je creativiteit en liefde voor Stremio zien door je fan art te uploaden naar onze online galerij. Of het nu een tekening, schilderij of digitaal ontwerp is, we willen je unieke kijk op het Stremio-merk zien. Sluit je aan bij onze gemeenschap van kunstliefhebbers en deel je werk met Stremio-fans over de hele wereld.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Word lid van ons team en neem je creativiteit naar nieuwe hoogten met onze spannende stagemogelijkheden.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"Stremio is toegewijd aan het behoud van de film- en televisiegeschiedenis door het identificeren van openbare domein- en weesvideo\'s. Door samen te werken met onze community, kunnen we ervoor zorgen dat deze klassieke kunstwerken voor iedereen toegankelijk zijn en voor toekomstige generaties worden beschermd.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Neem gerust contact met ons op als je wilt deelnemen aan dat project.","WEBSITE_JOIN_THE_PROJECT":"Doe mee aan het project","WEBSITE_BE_PART_OF_OUR_MISSION":"Word deel van onze missie","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Geïnteresseerd om lid te worden van het Stremio-team? We bieden volledig remote werk voor gepassioneerde professionals. Bekijk onze openstaande vacatures.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"BESCHRIJVING","WEBSITE_LEARN_MORE":"Meer informatie","WEBSITE_COMPANY":"Bedrijf","WEBSITE_CONTACTS":"Contacten","WEBSITE_NEED_HELP":"Hulp nodig?","WEBSITE_STREMIO_WEB_ON_IOS":"Handleiding voor Stremio Web op iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"Kijk direct","WEBSITE_SLOGAN_ALL":"Alle videocontent die je leuk vindt op één plek","WEBSITE_SLOGAN_NEW":"Alles wat je kunt kijken","WEBSITE_SLOGAN_NEW_NEW":"Vrijheid om te streamen","WEBSITE_WATCH_FROM":"Kijk van","WEBSITE_DOWNLOAD":"Download nu","WEBSITE_DOWNLOAD_FOR":"Download nu voor","WEBSITE_IS_DESKTOP":"Stremio is een desktop applicatie, open deze pagina op uw PC om Stremio te downloaden","WEBSITE_DESKTOP_DEMO_VID":"Desktop demo","WEBSITE_PAGE_HOME":"Home","WEBSITE_PAGE_FEATURES":"Functies","WEBSITE_PAGE_ADDONS":"Addons","WEBSITE_PAGE_TECH":"Technologie","WEBSITE_PAGE_CREATE_ADDON":"Maak een Addon","WEBSITE_PAGE_CONTACTS":"Contacten","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Films","WEBSITE_TYPE_series_PL":"Serie\'s","WEBSITE_TYPE_tv":"Live TV","WEBSITE_TYPE_channel":"Kanalen","WEBSITE_STREMIO_WHAT_IS":"Stremio is een app dat je helpt met het organizeren en onmiddellijk bekijken van je favoriete videos, films, TV series en TV-kanalen.","WEBSITE_FEATURES_WATCH":"Kijk direct in HD","WEBSITE_FEATURES_WATCH_DETAIL":"Klik en bekijk je favoriete films, TV Shows, videos en TV-kanalen.","WEBSITE_FEATURES_SUBS":"Automatische Ondertiteling","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio kiest automatisch gesynchroniseerde ondertiteling voor jouw taal.","WEBSITE_FEATURES_SUBS_LABEL":"Jouw zet, baas.","WEBSITE_FEATURES_CAST":"Speel op TV en mobiele apparaten","WEBSITE_FEATURES_CAST_DETAIL":"Cast naar AppleTV, Chromecast, Smart TV (DLNA/UPnP) en mobiele apparaten.","WEBSITE_LIB":"Geniet van je persoonlijke bibliotheek gesynchroniseerd naar al je apparaten","WEBSITE_LIB_COLLECT":"Collecteer van Stremio","WEBSITE_LIB_IMPORT":"Importeer van Facebook","WEBSITE_LIB_LOCAL":"Voeg toe van je lokale schijf","WEBSITE_BOARD":"Het dashboard- Je one-stop plaats voor Notificaties en Aanbevelingen","WEBSITE_BOARD_RECOMMEND":"Aanbevolen TV Show","WEBSITE_BOARD_TRENDING":"Trending Film","WEBSITE_BOARD_NEW":"Nieuwe Video","WEBSITE_BOARD_EPISODE":"Nieuwe Aflevering","WEBSITE_BOARD_1":"Zoek je iets interessants? Krijg aanbevelingen gebaseerd op jouw smaak!","WEBSITE_BOARD_2":"krijg een notificatie wanneer een nieuwe aflevering van je favoriete TV show of Youtube kanaal uit is!","WEBSITE_BOARD_YOUTUBE":"Nieuwe video\'s van YouTube kanalen","WEBSITE_BOARD_EPISODES":"Nieuwe afleveringen van series die je volgd","WEBSITE_ADDONS":"Content Addons","WEBSITE_TECH_DETAIL":"We houden van technologie, we houden van wetenschap!\\nStremio gebruikt de volgende open-source technologieën:","WEBSITE_TECH_WCJS":"WebChimera.js laat Stremio toe om alle videoformaten af te spelen.","WEBSITE_TECH_WCJS_EXTRA":"We dragen bij aan het kernproject","WEBSITE_TECH_ELECTRON":"Electron zorgt voor de innovatieve basis waarop Stremio gebouwd is.","WEBSITE_TECH_ELECTRON_EXTRA":"We dragen bij aan het project","WEBSITE_TECH_LINVODB":"Een database technologie dat je data organiseert en beschikbaar maakt waar en wanneer je ook inlogt.","WEBSITE_TECH_LINVODB_EXTRA":"In-house technologie","WEBSITE_CREATE_ADDON":"Maak je eigen addon","WEBSITE_CREATE_ADDON_DETAIL":"Heb jij een videoservice? We helpen je graag voordeel te halen uit Stremio door een Addon voor je te maken.","WEBSITE_CREATE_ADDON_BENEFITS":"Voordelen aan het maken van een Addon voor Stremio","WEBSITE_P2P_BEAUTY":"De schoonheid van Peer-to-Peer streaming","WEBSITE_P2P_1":"Betrouwbare en betaalbare full HD / 4K-video op aanvraag of live streaming","WEBSITE_P2P_2":"Distributieplatform met een geweldige gebruikerservaring","WEBSITE_P2P_3":"We maken een addon naar jouw noden en wensen","WEBSITE_P2P_CONTACT":"Geïnteresseerd? <a href=\'mailto:office@stremio.com\'>Contacteer ons</a> zeker.","WEBSITE_P2P_CONTACT_EXTRA":"We helpen je graag om je content te integreren in Stremio!","WEBSITE_P2P":"Af en toe komt er een technologie die de naam van het spel verandert. We hebben veel tijd en moeite geïnvesteerd in het bouwen van onze Peer-to-Peer (P2P) videostreamingmotor die geweldige prestaties en veelzijdigheid biedt voor elke toepassing. \\nNeem contact met ons op voor DRM-compatibele P2P-video op aanvraag of live streaming.","WEBSITE_THOUGHTS":"Gedachten die we willen delen:","WEBSITE_SPREAD":"Vertel iedereen over Stremio:","WEBSITE_CONTACT":"Wil je ons contacteren, doe gerust via","WEBSITE_OPENSOURCE":"Ga voor onze open source-projecten naar onze","WEBSITE_BITCOIN":"Doneer bitcoin:","WEBSITE_FAQ":"Veel Gestelde vragen","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Vragen","WEBSITE_TOS":"Gebruiksvoorwaarden","WEBSITE_LEGAL":"Wettelijk","WEBSITE_PAGE_ABOUT":"Over","WEBSITE_PAGE_BECOME_PARTNER":"Word een partner","WEBSITE_ALL_YOU_CAN_WATCH":"Vrijheid om te kijken \\nNaar alles wat je wilt.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"Wat is stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio is een one-stop-hub voor het verzamelen van video-inhoud. Ontdek, organiseer en bekijk video van allerlei soorten bronnen op elk apparaat dat u bezit.","WEBSITE_WHAT_IS_STREMIO_P2":"Films, TV Shows, series, live TV of webkanalen zoals YouTube en Twitch.tv - je kunt dit allemaal vinden op Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio is een modern mediacentrum dat een alles-in-een-oplossing is voor uw video-entertainment. U ontdekt, bekijkt en organiseert videocontent via eenvoudig te installeren addons..","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Films, TV Shows, live TV of webkanalen - je vindt het allemaal op Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Geniet op al uw media-apparaten","WEBSITE_DEVICES_COLLECT":"Verzamel van Stremio","WEBSITE_DEVICES_IMPORT_FB":"Importeer van Facebook","WEBSITE_DEVICES_LOCAL":"Toevoegen van lokale schijf","WEBSITE_JOIN_THE_PARTY_NOW":"Join the party now","WEBSITE_DEVICES_ALL":"Easy to use on all your devices;","WEBSITE_EXTENDABLE_CATALOG":"Infinitelly extendable video catalog;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Great features to organize your media;","WEBSITE_AS_SEEN_ON":"Zoals gezien op","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"Over ons","WEBSITE_LINK_TECHNOLOGY":"Technology","WEBSITE_LINK_APPS":"Apps","WEBSITE_LINK_DOWNLOADS":"Download\'s","WEBSITE_MORE":"Meer","WEBSITE_LINK_ADDONS":"Addons","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Contribute","WEBSITE_LINK_COMMUNITY":"Community","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... & More","WEBSITE_LINK_HELP":"Help center","WEBSITE_LINK_CONTACTS":"Contacts us","WEBSITE_LINK_TOS":"Terms & conditions","WEBSITE_LINK_PRAVACY":"Privacy policy","WEBSITE_SUBSCRIBE":"Sibscribe","WEBSITE_NEWSLETTER":"Join Our Newsletter for amazing stuff","WEBSITE_PLACEHOLDER_EMAIL":"Your E-mail","WEBSITE_COMMUNITY":"Community","WEBSITE_LINK_PRAVACY_LEGAL":"Privacy & legal","WEBSITE_WHY":"Why we do it","WEBSITE_WHY_P1":"At Stremio, we come to work every day because we want to solve an important problem for the video-on-demand industry. There’s so much new content published every minute that it’s virtually impossible to find your way around it.","WEBSITE_WHY_P2":"We help people navigate that huge world of video entertainment and discover new content to enjoy. Our apps bring together movies, series, live TV, web channels, and more. We are dedicated to making it incredibly easy for users to find titles and broadcasters that they love.","WEBSITE_WHY_P3":"You can use our service on any device and at any time, making Stremio the only video entertainment hub you’ll ever need.","WEBSITE_TEAM":"TEAM","WEBSITE_TEAM_P":"The Stremio team is small but powerful: between the ten of us, we code in X languages, and share expertise in software development, UI and UX design, marketing and advertising, and business and startups.","WEBSITE_FEATURES":"Features","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Discover new content with ease","WEBSITE_FEATURES_DISCOVER_P":"Easily discover new movies, TV shows, series and channels to watch. Browse by category, genre, rating, recency, etc. or simply type a name to find. Stremio makes finding new video content a piece of cake.","WEBSITE_FEATURES_ALL_CONTENT":"All of your video content on one screen","WEBSITE_FEATURES_ALL_CONTENT_P1":"See what movies, series or videos you didn’t finish and continue watching them; get notified for new episodes and releases; and browse through the recommendations you will get based on your viewing habits.","WEBSITE_FEATURES_LIBRARY":"Organize your video library","WEBSITE_FEATURES_LIBRARY_P1":"Add any title to your Stremio library with a single click and find your way around your content, neatly arranged by type, recency, or alphabetical order.","WEBSITE_FEATURES_CALENDAR":"Keep track of everything you watch","WEBSITE_FEATURES_CALENDAR_P1":"Get a calendar visualization of all the movies and series you add to your library. Export your Stremio calendar and sync it so you always know when a new episode or a premier is due.","WEBSITE_FEATURES_BIG_SCREEN":"Enjoy your video content on a bigger screen","WEBSITE_FEATURES_BIG_SCREEN_P1":"Cast whatever you are watching to another device - be it a phone, tablet or a TV with a single click.","WEBSITE_FEATURES_SOURCES":"Watch video from many different sources","WEBSITE_FEATURES_SOURCES_P":"Install official and community addons to enjoy video sourced from many different providers - all in one sleek, easy to use app.","WEBSITE_CREATE_AN_ADDON":"Create an addon","WEBSITE_FEATURES_SYNC":"Sync your library across different devices and resume your playback","WEBSITE_FEATURES_SYNC_P1":"Login with your account across all your devices and enjoy your library, addons, playback and calendar synchronized.","WEBSITE_FEATURES_EXTENDABLE":"Extendable video catalog by addons","WEBSITE_FEATURES_EXTENDABLE_P1":"The Stremio addon catalog provides a number of addons to install and watch a variety of video content from. This includes movies, shows, live TV, sport, news, podcasts, web channels, video games and more.","WEBSITE_FEATURES_AUTO_SUBS":"Automatic subtitles","WEBSITE_FEATURES_AUTO_SUBS_P1":"With our subtitle addons you get automatically selected options for your preferred language.","WEBSITE_FEATURES_CHROMECAST":"Casting to Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Enjoy your video content on a bigger screen or just cast whatever you are watching to another device.","WEBSITE_FEATURES_KEEP_TRACK":"Keep track of your favorite TV shows and Web channels","WEBSITE_FEATURES_KEEP_TRACK_P1":"Get a calendar visualization and notifications for new episodes of your favorite series and web channels.","WEBSITE_FEATURES_POWER_USER":"Power user features","WEBSITE_FEATURES_POWER_USER_P1":"Play in external player","WEBSITE_FEATURES_POWER_USER_P2":"Play from a torrent file or magnet link","WEBSITE_FEATURES_POWER_USER_P3":"Import to your library from Facebook likes or local disk","WEBSITE_ADD_ONS":"Addons","WEBSITE_ADD_ONS_P1":"All of the video content Stremio provides get sourced through an addon system - no content or content provider has been built into the app.","WEBSITE_ADD_ONS_P2":"There are two groups of addons available: official and community addons.","WEBSITE_ADD_ONS_P3":"The official ones are developed and hosted by Stremio, whereas community addons are created by our community members, who also host them.","WEBSITE_ADDONS_OFFICIAL":"Official addons","WEBSITE_ADDONS_WATCHUB":"Stream your favourite movies, series and shows from providers like iTunes, Hulu, Amazon and other UK/US services.","WEBSITE_ADDONS_YOUTUBE":"Watch your favourite YouTube channels ad-free and get notifications for new uploads from the contributors you follow.","WEBSITE_ADDONS_FILMON":"Watch live TV, movies and social television for free. 600 TV channels, 45,000 free movies, documentaries and more.","WEBSITE_ADDONS_OPENSUBTITLES":"Movie and TV subtitles in multiple languages, thousands of translated subtitles uploaded every day.","WEBSITE_ADDONS_COMMUNITY":"Community addons","WEBSITE_ADDONS_FILMON_VOD":"Watch video on demand from Filmon.tv","WEBSITE_ADDONS_TWICH":"Watch live streams from Twitch.tv - a video streaming platform for the e-sports industry.","WEBSITE_ADDONS_VODO":"Watch indie movies absolutely free of charge.","WEBSITE_ADDONS_NETFLIX":"Watch Netflix movies and web series.","WEBSITE_ADDONS_CREATE":"Create an addon","WEBSITE_ADDONS_CREATE_P1":"If you wish, you can develop your own addon. This way, you can give yourself and our community access to new video content, and reach a new, targeted audience of millions of users around the world.","WEBSITE_ADDONS_START_CREATE":"To get started, visit the Stremio Addon SDK page:","WEBSITE_DOWNLOADS":"Downloads","WEBSITE_DOWNLOADS_P1":"For optimal performance, we recommend that you use the latest available version of the Stremio apps. If for some reason, however, you would like to use an older version, you can download it here.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio for Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio for macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio for Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio for Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio for iOS","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"The Stremio platform is open source and you can easily create an addon for content that is currently not sourced.","WEBSITE_CONTRIBUTE_WHY":"Why should you create an addon?","WEBSITE_CONTRIBUTE_WHY_P1":"Reach new audience for your video content","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio’s user base is growing rapidly - within the first year of the launch, Stremio had gained 1 million users around the world, and in the second year of the platform’s existence this number grew to 2.5 million.","WEBSITE_CONTRIBUTE_WHY_P3":"With your addon, you can easily reach this audience and distribute your video content to them.","WEBSITE_CONTRIBUTE_ALL":"Watch your favourite movies, videos, series and channels in one single place.","WEBSITE_CONTRIBUTE_ALL_P1":"You’re a fan of a particular type of content not available on Stremio yet? Create an addon for it and enjoy watching your favourite videos in one of the largest and easiest to use entertainment hubs on the market.","WEBSITE_CONTRIBUTE_ALL_P2":"On top of that, you’ll get the endless gratitude of other like-minded Stremio community members.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetize your addon and earn money with its help","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Once you develop a new addon for Stremio, you can easily monetize it through a number of different ways. If you are considering this, feel free to get in touch with us at ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - we would be happy to consult and advise you about addon monetization options.","WEBSITE_CONTRIBUTE_TRANSLATE":"Become a volunteer translator","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"If you want to enjoy the Stremio apps in different languages, you can join our community of volunteer translators. They help us add versions of the Stremio in many different languages.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Are you eager to get started?","WEBSITE_TRANSALTE_STREMIO":"Translate Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Official communities","WEBSITE_COMMUNITY_OFFICIALS_P1":"Become a part of the growing Stremio community. Follow us on social media and don’t be shy to say hello - we love hearing from our fans! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Unofficial communities","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partners and supporters","WEBSITE_COMMUNITY_GOODIES":"Stremio goodies","WEBSITE_COMMUNITY_WALLPAPERS":"Wallpapers","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"Contact us","WEBSITE_CONTACT_US_P1":"If you have any questions, comments or suggestions, feel free to get in touch with us through the contact form below.","WEBSITE_CONTACT_US_P2":"Keep in mind that we are located in Bulgaria so there may be a delay in addressing your query due to time zone differences.","WEBSITE_CONTACT_US_SUCCESS":"Your message has been sent. We will get back to you at our earliest convenience.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Please enter a valid e-mail!","WEBSITE_CONTACT_US_Q_RELATED_TO":"What is your question related to?","WEBSITE_CONTACT_US_Q_OS":"What is your Operation System?","WEBSITE_CONTACT_US_PH_EMAIL":"Your E-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Message","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"SEND","WEBSITE_CONTACT_US_Q_1":"How to install?","WEBSITE_CONTACT_US_Q_2":"How to uninstall?","WEBSITE_CONTACT_US_Q_3":"(HTML) How to make lasagna?","WEBSITE_CONTACT_US_Q_4":"Addons","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Technology","WEBSITE_TECHNOLOGY_P1":"We love technology and mad science. </br> Here is what powers Stremio (it’s all open-source).","WEBSITE_TECHNOLOGY_P_QT":"Cross-platform software development at its best.","WEBSITE_TECHNOLOGY_P_MPV":"A free, open source, and cross-platform media player.","WEBSITE_TECHNOLOGY_P_RN":"React Native lets you build mobile apps using only JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework embedded into application to get multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm is a mobile platform and a replacement for SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js is an open-source, cross-platform, JavaScript runtime environment.","WEBSITE_TECHNOLOGY_P_RUST":"Rust is a multi-paradigm system programming language focused on safety, especially safe concurrency.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribute to the project","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"There are two ways you can contribute to Stremio and help us make the product even better.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"You can donate your valuable language skills by translating the platform...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"or","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... you can employ your coding skills for creating community addons. ","WEBSITE_TRANSLATE_STREMIO":"Translate Stremio","WEBSITE_404_OH_NO":"Uh-oh! The page you’re looking for is not here...","WEBSITE_GO_HOME":"Go home","WEBSITE_LINK_OTHER_DOWNLOADS":"Other downloads","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Support","WEBSITE_DOWNLOAD_4_0_BETA":"Download Now Stremio 4 beta","WEBSITE_GET_FOR_DESKTOP":"Get for desktop","WEBSITE_LINK_ADDON_COMPETITION":"Addon competition","WEBSITE_LINK_ART_CONTEST":"Art contest","WEBSITE_MY_ACCOUNT":"My account","WEBSITE_MAINPAGE_FAQ_001_H1":"What is Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio is a modern media center that gives you the freedom to watch everything you want.","WEBSITE_MAINPAGE_FAQ_002_H1":"How does it work?","WEBSITE_MAINPAGE_FAQ_002_P1":"Once you install Stremio on your device and create an account, all you have to do is to visit the addon catalog and install any addon you want, and you\'re good to go!","WEBSITE_MAINPAGE_FAQ_002_P2":"After that, you can go to the Discover or Board sections to start exploring content.","WEBSITE_MAINPAGE_FAQ_003_H1":"What can I watch here?","WEBSITE_MAINPAGE_FAQ_003_P1":"A lot: Movies, TV shows, Web channels, Sport, TV channels, listen to Podcasts and more. Thanks to our addon system, you can access a variety of content.","WEBSITE_MAINPAGE_FAQ_004_H1":"Is Stremio open-source?","WEBSITE_MAINPAGE_FAQ_004_P1":"Yes, you can check the following links: ${1}desktop app${2} and ${3}GitHub organization${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Is Stremio safe?","WEBSITE_MAINPAGE_FAQ_005_P1":"Yes: because it is open-source software, the code is publically auditable and you can review it yourself.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"How about my privacy?","WEBSITE_MAINPAGE_FAQ_006_P1":"We respect users\' privacy and do not collect any personal data besides the essential minimum to create and sync your account.","WEBSITE_MAINPAGE_FAQ_006_P2":"There is also a ${1}Guest mode${2} at signup, which requires no data whatsoever: in this mode, no calls are made to our backend. However, it comes at the expense of useful features, such as being able to sync your library across devices.","WEBSITE_MAINPAGE_FAQ_007_H1":"Can I cast to my TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Yes, we support Chromecast and you can cast both from desktop and mobile apps (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"How many addons does Stremio have?","WEBSITE_MAINPAGE_FAQ_008_P1":"As of late 2019, over 50 - for more information, check our addon catalog.","WEBSITE_MAINPAGE_FAQ_009_H1":"Can Stremio be extended beyond what\'s in the addon catalog?","WEBSITE_MAINPAGE_FAQ_009_P1":"Yes, you should check those: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"What devices does Stremio support?","WEBSITE_MAINPAGE_FAQ_010_P1":"We have desktop apps for Windows, Mac and Linux. For mobile, we support Android and iOS, although keep in mind that the iOS is limited in functionality (does not support most addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"There are many Android-based devices which you can run Stremio on, like NVIDIA Shield and Amazon Fire Stick, but we do not support them officially.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Can you add certain content to Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Sorry, we provide no content ourselves, but the more Stremio addons you have installed, the more content you will be able to find.","WEBSITE_MAINPAGE_FAQ_012_H1":"Can Stremio play magnet links?","WEBSITE_MAINPAGE_FAQ_012_P1":"Yes, and it can also play normal HTTP links and torrent files (drag and drop).","WEBSITE_MAINPAGE_FAQ_013_H1":"Can I download a video and watch offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Available offline is an upcoming feature, but if you allow Stremio to cache on your device (from the settings panel) you can watch the videos later without a connection.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nothing works, help me!","WEBSITE_MAINPAGE_FAQ_014_P1":"Are you sure you have installed addons? If yes, check with our ${1}help center${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"How does Stremio sustain it\'s development operations?","WEBSITE_MAINPAGE_FAQ_015_P1":"We run non-intrusive ads occassionally, but we\'re considering moving to a donation model.","WEBSITE_MAINPAGE_FAQ_015_P2":"For more questions, go to our ${1}help center${2}.","HELP_LEARN_MORE":"Help us learn more about you.","LIFESTYLE":"Lifestyle","SPORTS":"Sports","FOOD_HEALTH":"Food & health","BEAUTY_FASHION":"Beauty & Fashion","NEWS":"News","GAMING":"Gaming","SCIENCE_EDUCATION":"Science & education","MUSIC":"Music","TRAVEL":"Travel","LATE_NIGHT":"Late Night","REALITY":"Reality","COMEDY":"Comedy","DIY":"How to DIY","TECH":"Tech","CINEMA":"Cinema","CONTINUE":"Doorgaan","SLOW_LOADING":"TRAAG AAN HET LADEN?","I_GIVE_UP":"IK GEEF OP","LEARN_MORE":"Meer info","POOR_SOURCE":"Deze bron is slecht beschikbaar of je internetverbinding is niet snel genoeg","PICK_CATEGORIES_ERR":"Je moet minimaal 3 categorieën kiezen","ADJUST_TIMING":"Pas de timing aan met ","ADJUST_SIZE":"Pas de grootte aan met ","SEARCH_ANYTHING":"Je kan dit alles zoeken...","ALL_CATEGORIES":"Alles","SEARCH_CATEGORIES":"Films, Series, YouTube & TV","SEARCH_PERSONS":"Acteurs, Regisseurs & Schrijvers","SEARCH_PROTOCOLS":"HTTP & Magnet Links","SEARCH_TYPES":"IMDb / TVDB links","WATCHED":"Gezien","SHOW_LESS":"Toon minder","LAST_SEARCHES":"Laatste zoekopdrachten","CLEAR_HISTORY":"Clear history","CHOOSE_SOME":"CHOOSE SOME OF THIS:","NO_WEB_REMOTE":"Web Afstandsbediening kon niet worden geladen","STREMIO_OFFLINE":"Stremio is offline","STREMIO_EXPENSIVE_CONNECTION":"We\'ve detected that you are using a mobile data connection, do you want to continue?","USE_DATA":"Gebruik data","WARNING":"Waarschuwing","MORE_INFO":"Meer Info ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Laden ...","STREMIO_TV_BACK_TO_LANGUAGES":"Terug naar talen","STREMIO_TV_REMOTE":"Afstandsbediening","STREMIO_TV_GO_TO":"Ga naar:","STREMIO_TV_OR_SCAN":"of scannen:","STREMIO_TV_ADDON_INSTRUCTIONS":"Volg de instructies om je addon keuze te installeren.","STREMIO_TV_LIVE_TV":"Live TV","STREMIO_TV_RESUME_WATCHING":"Verder kijken","STREMIO_TV_LOADING_BACKGROUND":"Achtergrond laden","STREMIO_TV_CHECKING_AUTHENTICATION":"Authenticeren","STREMIO_TV_LOADING_BOARD":"Dashboard laden","STREMIO_TV_LOGIN_HEADER_LINE_1":"We want our users to have the best possible personalized experience with our software.","STREMIO_TV_LOGIN_HEADER_LINE_2":"It is for this reason that we kindly ask you to make and/or login to your account.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Thank you for understanding,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"The Stremio team","STREMIO_TV_REMOTE_INSTRUCTIONS":"om de Web Afstandsbediening met je smartphone / tablet / desktop te gebruiken:","STREMIO_TV_WIFI_SETUP":"Wifi Setup","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio-circle did not detect a internet connection.","STREMIO_TV_WIFI_DETAILS_1":"Connecteer met:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Use password:","STREMIO_TV_WIFI_DETAILS_4":"stremio-circle","STREMIO_TV_WIFI_DETAILS_5":"Open een webbrowser met de link:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Default","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"By Last Watched","STREMIO_TV_LIBRARY_SORT_NAME":"By Name","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"By Times Watched","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Season ${1}","STREMIO_TV_STREAMS_LOADING":"Loaded ${1} / ${2} addons...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} addon is still loading...","STREMIO_TV_PLAYER_SETTINGS":"Player settings","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Subtitles delay","STREMIO_TV_PLAYER_AUDIO_DELAY":"Audio delay","STREMIO_TV_PLAYER_VIDEO_SCALING":"Video scaling","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Unsupported stream source","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Failed opening external link","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Not adjustable in audio passthrough mode","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Play with ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Play with libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Switching to libVLC player due to a playback error","STREMIO_TV_ADDONS_TITLE":"Use Stremio on your Phone or PC to install or configure addons and press \\"Sync Addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Note: make sure you are using the same Stremio account","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sync Addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons successfully synchronized","STREMIO_TV_ADDONS_SYNC_FAILED":"Failed to synchronize addons","STREMIO_TV_META_LINK_FAILED":"Failed opening meta link","STREMIO_TV_CATALOG_LOADING":"Catalog still loading...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Interface language updated","STREMIO_TV_SETTINGS_THEME_UPDATED":"Theme updated","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Default Player","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Externe speler","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferred Language","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Secondary Preferred Language","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possible playback issues on some devices","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Some video formats might not work","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"No caching","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Default","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Soft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Fast","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Fast","STREMIO_TV_SETTINGS_SERVER_URL":"Streaming server url","STREMIO_TV_SETTINGS_SERVER_VERSION":"Server version","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Unknown","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio version","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Edit server url","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Enter a streaming server url","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Show statistics while loading","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"To read Stremio\'s Privacy Policy, visit:","STREMIO_TV_SETTINGS_TOS_TEXT":"To read Stremio\'s Terms and Conditions, visit:","STREMIO_TV_NAV_SEARCH":"Search","STREMIO_TV_NAV_HOME":"Home","STREMIO_TV_NAV_DISCOVER":"Discover","STREMIO_TV_NAV_LIBRARY":"Library","STREMIO_TV_NAV_MOVIES":"Movies","STREMIO_TV_NAV_SERIES":"Series","STREMIO_TV_NAV_CHANNELS":"Channels","STREMIO_TV_NAV_TV":"Live TV","STREMIO_TV_NAV_SETTINGS":"Settings","STREMIO_TV_NAV_ADDONS":"Addons","STREMIO_TV_LOGIN_TITLE":"Link Account","STREMIO_TV_LOGIN_EXPIRES_IN":"Expires in","STREMIO_TV_LOGIN_STEP_ONE":"Scan QR Code above or go to","STREMIO_TV_LOGIN_STEP_TWO":"Log in to your Stremio account","STREMIO_TV_LOGIN_NEW_LINK":"Request a new link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Login code refreshed","STREMIO_TV_SEARCH_PLACEHOLDER":"Type something","STREMIO_TV_SEARCH_NO_ADDONS":"No addons were requested for catalogs!","STREMIO_TV_SEARCH_BUTTON":"Search","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Search History","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"You can search for Titles, Actors, Channels and more...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Clear Search History","STREMIO_TV_FILTERS_DESCRIPTION":"Choose from one of the filters below","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"Filters","SETTINGS":"Instellingen","ACCOUNT":"Account","LOGOUT":"Uitloggen","THEMES":"Thema\'s","PLAYBACK":"Afspelen","PLAYBACK_SPEED":"Afspeelsnelheid","AUDIO_TRACKS":"Audiosporen","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Video\'s","SERVER":"Server","LINKS":"Links","ABOUT":"Over","INTERFACE":"Interface","ANIMATIONS":"Animaties","STATUS":"Status","LANGUAGE":"Taal","SIZE":"Grootte","DELAY":"Vertraging","BOLD":"Vet","OPACITY":"Opacity","TEXT_COLOR":"Tekstkleur","OUTLINE_COLOR":"Omlijningskleur","BACKGROUND_COLOR":"Achtergrondkleur","BACKGROUND_BLUR":"Achtergrondonscherpte","SEEK_TIME_DURATION":"Zoektijdduur","AUTO_PLAY":"Automatisch volgende aflevering afspelen","PLAY_NOW":"Nu afspelen","MARK_AS_WATCHED":"Markeren als bekeken","MARK_AS_UNWATCHED":"Markeren als niet bekeken","REWIND_TO_BEGINNING":"Terugspoelen naar het begin","CONTINUE_WATCHING":"Verder kijken","ALL":"Alle","SECONDS":"seconden","ON":"AAN","OFF":"UIT","RELOAD":"Herladen","EDIT_URL":"URL bewerken","NONE":"Geen","EMBEDDED":"Ingesloten","REMOTE_SWITCH_DEVICES":"Verander apparaat","REMOTE_VIDEOS":"Videos","REMOTE_ADJUST_TIMING":"Timing aanpassen","REMOTE_ADJUST_SIZE":"Grootte aanpassen","REMOTE_COULD_NOT_BE_LOADED":"Web Afstandsbediening kon niet worden geladen","REMOTE_RETRY":"Opnieuw proberen","TORRENT_PROFILE_DEFAULT":"Default","TORRENT_PROFILE_SOFT":"Soft","TORRENT_PROFILE_FAST":"Fast","TORRENT_PROFILE_ULTRA_FAST":"Ultra Fast","FAQ_001_H1":"Wat is Stremio?","FAQ_001_P1":"Stremio is a media center software designed for video entertainment with ease of use in mind. Stremio allows you to organize &amp; watch your own collection of movies, series, channels and live TV.","FAQ_001_P2":"Stremio collect the content it shows you from your local disk and our addons system.","FAQ_001_P3":"It will also notify you when new episodes/videos/movies you\'re interested in come out, and provide movie recommendations for you.","FAQ_02_H1":"How does Stremio compare to Kodi and Plex?","FAQ_02_P1":"We are inspired by those two pieces of software. But we have different goals - Stremio is specifically targeted towards entertainment video, and strives to become the mainstream solution for that by being very easy to use.","FAQ_02_P2":"Stremio will never be as customizable and feature-rich as Kodi and Plex, but it is significantly easier to use. Just ${1} get it and see ${2} :)","FAQ_03_H1":"How does Stremio compare to Netflix?","FAQ_03_P1":"Again, Netflix is one of our inspirations. We strive to achieve the user experience of Netflix, plus a lot of added goodies. But most importantly, we\'re giving you the freedom to manage your own library and add new content sources with our addon system.","FAQ_03_P2":"That makes Stremio infinitely extendable, so when you use Stremio, you\'re never limited to the content Netflix decides to license. For example, through Stremio you can watch content from ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} and even ${9}Netflix${10} itself!","FAQ_04_H1":"How does Stremio compare to Flipboard?","FAQ_04_P1":"We don’t get that question that often, except when talking to start-up people :)","FAQ_04_P2":"Stremio is by design a content aggregator, which essentially makes it Flipboard for video. This is very apparent in our Board section, which gives you catalogues and new episode/new video notifications for what you follow, just like Flipboard.","FAQ_05_H1":"How does Stremio compare to Popcorn Time?","FAQ_05_P1":"Stremio and Popcorn Time are similar in user interface, because there aren’t many ways to do video entertainment catalogues right :)","FAQ_05_P2":"But while Popcorn Time is focused on streaming torrents from specific sources, Stremio is unrestricted and is merely a content aggregator - it’s not locked into a specific content source.","FAQ_05_P3":"Furthermore, we do not provide any torrent addons by default, so Stremio does not cover the Popcorn Time use-case with official functionality.","FAQ_05_P4":"Another notable difference is that Popcorn Time is completely open source, while Stremio is ${1} partially open source${2}.","FAQ_06_H1":"Will you add this movie/series?","FAQ_06_P1":"No, sorry :(","FAQ_06_P2":"As is mentioned in most of the other questions, Stremio does not provide any content by itself - everything is added through the addons system. In case you have a content request, you can use the “Report” button in the Player, which will send an e-mail to the author of the addon you’re currently using.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Ga je een addon maken voor X?","FAQ_08_P1":"Dat is mogelijk.","FAQ_08_P2":"If you have an idea for an addon, drop us a line at ${1}office@stremio.com${2}, but please make sure your addon idea will not infringe on any copyrights or terms of use.","FAQ_08_P3":"At the moment, the next things on our roadmap are addons for FandangoNOW, Filmon.tv video on demand and Crunchyroll.","FAQ_09_H1":"Gebruikt Stremio het BitTorrent protocol?","FAQ_09_P1":"Yes, Stremio supports BitTorrent as a streaming protocol. You can use that either with a torrent addon, or by drag-and-dropping a .torrent file into Stremio, or by pasting a magnet link into the Search Bar.","FAQ_09_P2":"Please note that the only official addon using BitTorrent is ${1}Vodo${2}, which provides indie content, all permitted to be distributed with BitTorrent.","FAQ_09_P3":"We do not support use of any third-party addons which may enable copyright infringement.","FAQ_10_H1":"What can I watch in Stremio with the official addons?","FAQ_10_P1":"By default, you can watch Filmon.tv, YouTube and Vodo content within Stremio itself, with it’s embedded player. Additionally, we have an addon for Twitch.tv and a few others.","FAQ_10_P2":"This combined provides a selection of:","FAQ_10_L1":"Popular TV channels, provided by Filmon.tv - for example E4, BBC, Bollyworld TV","FAQ_10_L2":"Everything from YouTube - for example BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indie films met Vodo","FAQ_10_L4":"Online gaming broadcasts with Twitch.tv","FAQ_10_P3":"Additionally, there are many content sources provided with Guidebox and the Netflix addons, which <b>do not</b> play entirely inside Stremio, but would redirect to the given service. For example, the Guidebox addon would give you a selection of movies you can stream in the US for free, from services like TubiTV and Crackle.","FAQ_11_H1":"Stremio won\'t install, what should I do?","FAQ_11_P1":"If you\'re on Windows, try ${1}this alternative installer${2}.","FAQ_11_P2":"If you\'re on Mac OS X, please be aware that we don\'t support anything older than OS X Mavericks (10.9).","FAQ_11_P3":"If you\'re on Linux, be aware that we only support 64 bit (x64) Linux at the moment.","FAQ_11_P4":"If you still can\'t resolve your problem, please write us at our ${1}Facebook group${2}.","FAQ_12_H1":"Why does my anti-virus complain? Is Stremio safe?","FAQ_12_P1":"We assure you Stremio is ${1}100% clean${2}.","FAQ_12_P2":"Your antivirus is complaining because we include advertising in our installer, which some anti-virus programs recognize as ad-ware.","FAQ_12_P3":"If you\'re still unsure, you can try our ${1}alternative installer${2}.","FAQ_13_H1":"Hoe kan ik een addon maken?","FAQ_13_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_13_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_13_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_14_H1":"How are addons published?","FAQ_14_P1":"When you create an addon and host, and put a <b>endpoint</b> field in your manifest, which points to a working addon address, the addon will automatically publish itself to our ${1}Addon catalogue${2}.","FAQ_14_P2":"This happens because the server part of the stremio-addons module automatically makes a call to our API to announce the addon. When our API validates your <b>endpoint</b> as a valid addon, it will start showing in the catalogue.","FAQ_15_H1":"Can I run Stremio in my browser?","FAQ_15_P1":"Not at the moment, but this is coming!","FAQ_15_P2":"If you\'re curious to see an Alpha, you can see it here: ${1}alpha4.strem.io${2}. Keep in mind streaming is disabled on this alpha. We support Chrome, Firefox, Opera and Edge.","FAQ_16_H1":"Casting to TV doesn\'t work / subtitles don\'t work","FAQ_16_P1":"Casting to TV uses the DLNA technology which is very inconsistent between different TV brands and models. For that reason, we do not have the ability to test it in every case, so it\'s far from perfect. Despite this, we\'re working on improving it constantly but we cannot give you a time estimate on when DLNA will start working properly with your TV.","FAQ_16_P2":"If you don\'t even see your TV in the casting menu, please try disabling your network connection and re-enabling it (on Windows, right click the Network and use Enable/Disable), as well as restarting your router, TV and PC.","FAQ_16_P3":"If you are still encountering issues, you can help us by sending your TV brand and model information at ${1}office@stremio.com${2}.","FAQ_16_P4":"In the meantime, we recommend Chromecast, which we support very well, or simply plugging in your TV to your PC with an HDMI cable.","FAQ_17_H1":"Stremio freezes and/or crashes, what can I do?","FAQ_17_P1":"First of all, if you\'re using Windows 7 with AVG anti-virus: we have a problem with that combination. The problem is in AVG itself, and there\'s no reasonable way to resolve it on our end. Unfortunately, exceptions or disabling the anti-virus won\'t work. The only solution is to replace AVG with something else.","FAQ_17_P2":"If that\'s not the issue, but you\'re still using Windows, please update to the latest service pack and update/re-install your GPU drivers, then try again.","FAQ_17_P3":"If you\'re problem is still not resolved, or you\'re using a Mac or Linux, please write us reporting the exact details of the problem at ${1}our Facebook group${2}.","FAQ_18_H1":"How can I make an addon?","FAQ_18_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_18_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_18_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_19_H1":"Why is Stremio taking disk space?","FAQ_19_P1":"Stremio has a <b>local cache</b> to temporarily keep the video files you stream.","FAQ_19_P2":"This has two benefits: first, it allows Stremio to pre-buffer the video ahead so as to ensure smoother streaming. Second, it keeps the videos in the local cache so you can continue watching them offline.","FAQ_19_P3":"How much Stremio keeps depends on the <b>Cache</b> setting in the Settings panel. Stremio may keep up to the set amount (e.g. 2GB) on your disk, unless the currently streamed video is larger than that, in which case it has to allocate enough storage to keep it until you\'re streaming it.","FAQ_20_H1":"Where is the cache folder?","FAQ_20_P1":"On Windows, it\'s stremio-cache in the drive you picked in Settings (e.g. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"On MacOS, it\'s \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"On Linux, it\'s \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"I get \\"Streaming server is not found\\" error, what can I do?","FAQ_21_P1":"If you get this error, it means one of few things:","FAQ_21_P2":"1) You are trying to use an addon backed by YouTube/BitTorrent source, through our ${1}web version${2}. In this case, you should install our desktop version from ${3}our website${4}.","FAQ_21_P3":"2) Something is wrong with your Stremio installation. In this case, try re-installing our latest desktop version from ${1}the website${2}. If this does not help, try disabling anti-virus programs and firewalls, restarting your PC and trying again. If this does not work too, please write us at our ${3}our Facebook group${4}.","FAQ_22_H1":"I cannot see/use most addons on iOS","FAQ_22_P1":"Because of restrictions in the Apple App Store terms and conditions, we have restricted the iOS application only to a particular set of addons.","FAQ_22_P2":"But rest assured - there will be more addons for iOS in the future, and we may also add an integration that will allow you to use all Stremio addons thanks to connecting the iOS app to the Stremio Streaming Server."}')},88159:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Film","TYPE_series":"Serie","TYPE_tv":"TV kanal","TYPE_channel":"Kanal","TYPE_other":"Other","TYPE_movie_PL":"Filmar","TYPE_series_PL":"Seriar","TYPE_tv_PL":"TV kanalar","TYPE_channel_PL":"Kanalar","TYPE_other_PL":"Others","TYPE_ALL":"All","TYPE":"Type","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"Video","BACK":"Tilbake","MORE":"More","DONE":"Done","COPY":"Copy","SUCCESS":"Success","ERROR":"Error","SETTINGS_CASTING_MODE_PICKER":"Casting mode","CASTING_MODE_HLSV2":"Default","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"No transcoding","Discover":"Oppdag","Board":"Board","Library":"Bibliotek","My Library":"My Library","Calendar":"Kalender","NOTIFICATION_ONLINE":"You are now online","NOTIFICATION_OFFLINE":"You are currently offline","INTERNET_CONNECTION":"Network connection","STORAGE_FULL_TITLE":"Warning: Storage full!","STORAGE_FULL_TEXT":"Stremio will not be able to save your settings, preferences or login information. Consider re-starting or re-installing Stremio.","SEARCH":"Søk mellom","SEARCH_NO_RESULTS":"No results were found","SEARCH_EXPLANATION_CONTENT":"Search for movies, series, YouTube and TV channels","SEARCH_EXPLANATION_PEOPLE":"Search for actors, directors and writers","SEARCH_PASTE_LINKS":"Paste HTTP and Magnet links","SEARCH_OR_PASTE_LINK":"Search or paste link","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"Legg til i bibliotek","REMOVE_FROM_LIB":"Fjern frå bibliotek","ADDED_TO_LIB":"Added to Library","REMOVED_FROM_LIB":"Removed from Library","TRAILER":"Trailer","WATCH_TRAILER":"Sjå Trailer","WATCH_NOW":"Sjå No","SHOW":"Vis","SHOW_MOVIE":"Show Movie","WATCH_RANDOM":"Watch Random","IMDB_RATING":"IMDb Rangering","YEAR":"År","DIRECTOR":"Regissør","WRITER":"Forfattar","LEAD_ACTORS":"Hovudskodespelarar","CAST":"Skodespelarar","CREW":"Crew","SHOW_MORE_CAST":"Show more »","AIRED":"Utgjeven","SEASONS":"Sesongar","GENRE":"Sjanger","GENRE_ALL":"All genres","CATALOG":"Catalog","SUMMARY":"Samandrag","SHOW_MORE":"Show More","SIMILAR":"Liknade","UPCOMING":"Kjem","ENDED":"Enda","DURATION":"Lengd","FEATURED":"Featured","METADATA":"Metadata","CATEGORY":"category","LINKS_GENRES":"Genres","LINKS_CAST":"Cast","LINKS_DIRECTORS":"Directors","SEARCH_VIDEOS":"search videos","SEARCH_PLACEHOLDER":"search or paste magnet link","ADDON":"Utviding","ADDONS":"Utvidinger","OFFICIAL":"Offisielle","ADDONS_OFFICIAL":"Offisielle Stremio Utvidinger","ADDONS_POPULAR":"Populært i området ditt","ADDON_FREE":"Gratis","ADDON_PEERED":"peered","ADDON_SUBSCRIPTION":"Abonnering","ADDON_STREAM_GEORESTRICTED":"not available in your area","ADDON_STREAM_OFFLINECACHE":"Offline Cache","ADDON_STREAM_LOCALFILE":"Local File","SHARE_ADDON":"Share addon","AVAILABLE_STREAMS":"Tilgjengelege Streams","NO_STREAM":"Ingen streams tilgjengelege","ALL_ADDONS":"All","INSTALL_MORE_ADDONS":"For more streams, please install more addons","STREAM_NOT_SUPPORTED":"Selected stream is not supported on this platform.","ADDON_CATALOGUE":"Show all addons »","ADDON_CATALOGUE_MORE":"More addons »","REPO_ADDED":"Repository added","ADDON_REPO_EXIST_ERR":"This addons repository already exist","ADDON_REPO_ERR":"Error occurred while adding repository","ADDON_ADD_ERR":"Error occurred while adding addon","ERR_ADDON_PROTECTED":"Protected addon","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Something went wrong - authentication may have failed","ERR_NOT_COLLECTION_URL":"Not a collection url","ERR_NOT_ADDON_URL":"Not an addon url","ERR_DETECTFROMURL":"Cannot detect from url","ADDON_DUPLICATE_WARNING":"Warning: duplicated addon","ADDON_COLLECTION_SET_FAILED":"Addon collection set failed","SETTINGS_DATA_EXPORT":"Export data","ADDON_PULL_FAILED":"Addon pulling failed","REFRESH_ON_CLICK":"Click to retry","STILL_IN_THEATER":"Filmen er framleis på kino","WATCH_IN_CINEMA":"sjå han på din lokale kino","IN_THEATER":"In cinema","GET_TICKETS":"Get tickets","UPCOMING_EPISODE":"Upcoming episode","UPCOMING_EPISODE_MESSAGE":"This episode will be aired on","MISSING_DATE_EPISODE":"Missing episode date","MISSING_DATE_EPISODE_MESSAGE":"This episode might not have aired yet","CHANNEL_NOT_SCRAPED":"Denne kanalen er ikkje ferdig enda.<br>Ver vennleg og kom tilbake om nokon få minutt.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Legg han til i ditt bibliotek for å bli varsla når han blir tilgjengeleg.","GET_NOTIFIED_WHEN_AVAILABLE":"Du vil bli varsla med ein gong han er tilgjengeleg.","WARNING_STREAMING_SERVER":"Warning: local streaming server not found. Streaming from YouTube and BitTorrent will not be available.","WARNING_STREAMING_SERVER_DISMISS":"Dismiss","WARNING_STREAMING_SERVER_LATER":"Later","DECODER_WARNING":"Warning: this video may not be supported by your hardware. Keep in mind, playback may be slow.","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"Oops, Player Error","PLAYER_ERROR_LOOKSLIKE":"It looks like","PLAYER_ORIENTATION":"Player orientation","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Locked","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensor","PLAYER_ORIENTATION_LANDSCAPE":"Player orientation locked at landscape","PLAYER_ORIENTATION_SENSOR":"Player orientation automatic (sensor)","PLAYER_PLAYBACK_SPEED":"Playback Speed","PLAYER_PLAYBACK_ERROR":"Playback error, please try again","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Unknown error","PLAYER_PLAYBACK_ERROR_DEFAULT":"Sorry, this video cannot be played by {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Subtitles Languages","PLAYER_SUBTITLES_VARIANTS":"Subtitles Variants","PLAYER_SUBTITLES_SETTINGS":"Subtitles Settings","PLAYER_SUBTITLES_DISABLED":"Subtitles are disabled","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Vertical Position","PLAYER_SUBTITLES_LOADED":"Subtitles loaded","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Embedded subtitles loaded","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Exclusive subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Subtitles from {{origin}} loaded","PLAYER_PLAY":"Play","PLAYER_PAUSE":"Pause","PLAYER_NEXT_VIDEO":"Next Video","PLAYER_MUTE":"Mute","PLAYER_UNMUTE":"Unmute","PLAYER_OPEN_IN_EXTERNAL":"Open in external player","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Play in {{device}}","PLAYER_LIVE":"Live","PLAYER_NEXT_VIDEO_TITLE":"Coming up next on","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Dismiss","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Watch now","PLAYER_COPY_STREAM_SUCCESS":"Stream link was copied to your clipboard","PLAYER_COPY_STREAM_ERROR":"Failed to copy stream link","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","STREAMING_FROM":"Streamer frå","CASTING_TO":"Caster til","NETWORK_STATUS":"Nettverks status","STREAM_SPEED":"Fart på streamen:","STREAM_BUFFERED":"Buffret:","PEERS_INFO":"Informasjon om peers","PEERS_ACTIVE":"Aktive:","PEERS_CONNECTED":"Tilkoblet:","PEERS_WAITING":"Ventar:","TRANSCODING_WARNING":"Warning: transcoding video.","STREAM_LOADING":"Lastar...","PLAYING_LOCAL":"Spelar frå lokal fil","PLAYING_CACHE":"Spelar frå cache","WRONG_SUBS":"Feil undertekstar?","ERR_SUBS_LOADING_TITLE":"Error loading subtitles","ERR_SUBS_LOADING":"Failed loading subtitles: this could be an issue with the addon you are using, or with your network connection","WARN_FOLLOWING_SUB_ADDONS_FAILED":"The following subtitle addons failed","ERR_CASTING_UPDATE_TITLE":"Could not update casting device info: streaming server might be offline","CHOOSE_DEVICE":"Vel ein eining å streame frå","NO_CAST_DEVICES":"No casting devices available.","NO_SETTINGS":"No settings available.","PHONE_TABLET":"Telefon / Nettbrett","SUBTITLES":"Subtitles","SUBTITLES_CHANGE":"Endre undertekstar for ","SUBTITLES_CHANGE_NONE":"Det fins ingen andre undertekstar for dette språket, beklagar.","SUBTITLES_CHANGE_ACIVE":"Currently subtitles &#35;{{subtitlesDialog.activeIdx + 1}} are activated. Click \\"Continue\\" to activate subtitles &#35;{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Alteratively,","SUBTITLES_ADJUST_DELAY":"Adjust subtitle delay:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Or use <span>G</span> / <span>H</span> keys while playing to adjust.","SUBTITLES_ADJUST_DELAY_TIP":"TIP: you can use <span>G</span> / <span>H</span> keys while playing to adjust.","SUBTITLES_DELAY":"Subtitles delay:","SUBTITLES_LOADING":"Loading subtitles...","SUBTITLES_UNAVAILABLE":"No external subtitles available","SUBTITLES_DISABLED":"Disabled","EXTERNAL_PLAYER_DISABLED":"Disabled","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Allow Choosing","EXTERNAL_PLAYER_HINT":"Hint: There is a setting to allow always opening with external player","DONT_SHOW_AGAIN":"Don\'t show again","SERVICE_INSTALL":"Install","AUDIO":"Audio","DEFAULT_LANGUAGE":"Default Language","DEFAULT_SECONDARY_LANGUAGE":"Default Secondary Language","SEASON":"Sesong","EPISODE":"Episode","EPISODE_ABBREVIATION":"EP","SPECIAL":"Special","SORT":"sort","SORT_BY":"Sort by","FILTER":"filter","SORT_TRENDING":"trending","SORT_RECENT":"nyleg","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"rangering","SORT_WATCHED":"sett","SORT_YEAR":"år","SELECT_TYPE":"Select type","SELECT_SORT":"Select sort","SELECT_CATALOG":"Select catalog","SELECT_GENRE":"Select genre","SORT_LASTWATCHED":"By last watched","SORT_NAME":"By name","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"By times watched","SORT_NOTWATCHED":"not watched","New for You":"New for You","New Episodes":"New Episodes","New Videos":"New Videos","Recommendations":"Recommendations","LIBRARY_RESUME":"resume","LIBRARY_PLAY":"Play","LIBRARY_DETAILS":"Details","LIBRARY_RESUME_DISMISS":"dismiss","LIBRARY_CLEAR_PROGRESS":"Clear Progress","LIBRARY_REMOVE":"Remove","LIBRARY_NOT_LOGGED_IN":"Library is only available for logged in users","CALENDAR_NOT_LOGGED_IN":"Calendar is only available for logged in users","NOT_LOGGED_IN_CLOUD":"Access your favorite movies and TV shows anytime, anywhere","NOT_LOGGED_IN_RECOMMENDATIONS":"Recommendations tailored to your viewing history","NOT_LOGGED_IN_NOTIFICATIONS":"Never miss an episode again","NOT_LOGGED_IN_CALENDAR":"Schedule your personal watching calendar","DISCOVER_FEATURED":"Utvald","DISCOVER_TOP":"Topp","DISCOVER_OSCAR":"Oscar vinnarar","DISCOVER_WARNING_TITLE":"Oops!","DISCOVER_EMPTY_CATALOG":"This addon returned empty content.","DISCOVER_ADULT_WARNING":"The content is visible only for adults. Are you 18+?","DISCOVER_NOADDON_WARNING":"Åtvaring: ingen Stremio utviding aktiv for denne typen. Visar lagra element, ingenting vil oppdatere.","DISCOVER_LOAD_ERR":"The content did not load, error occured.","DISCOVER_ADDON_UNINSTALLED":"This content is no longer available, you may have un-installed the addon.","UNINSTALL_THIS_ADDON":"Uninstall this addon","ERR_ADDON_NOT_INSTALLED":"This addon is not installed. Install now?","DETAIL_RECEIVE_NOTIF_SERIES":"Receive notifications for new episodes","DETAIL_RECEIVE_NOTIF_VIDEOS":"Receive notifications for new videos","SIDEBAR_SHOW_STREAMS":"Show Streams","RELAUNCH":"Start på nytt no!","UPGRADE":"Oppdater til den nyaste Stremio versjonen","RELOAD_UI":"Reload the user interface","MANUAL_UPDATE_TITLE":"Update your Stremio version","MANUAL_UPDATE_LINE1":"You are running an outdated version of Stremio which is highly unrecommended.","MANUAL_UPDATE_LINE2":"Please update as soon as possible.","BUTTON_UPDATE_LATTER":"Not now","BUTTON_UPDATE_NOW":"Update","ANONYMOUS_USER":"Anonymous user","DONT_HAVE_ACC":"Don\'t have an account?","HAVE_ACC":"Already have an account?","PASSWORD":"Password","PASSWORD_CONFIRM":"Confirm password","EMAIL":"E-mail","FB_LOGIN":"Logg på med Facebook","FB_NOTHINGSHARED":"Nothing is shared without your permission","FB_NOPOST":"We won’t post anything on your behalf","OR":"eller","I_ACCEPT":"Eg godtek ","I_ACCEPT_BY_CLICKING":"By clicking the above button I testify that I accept the ","TOS":"Vilkåra og føresetnadene","MUST_ACCEPT_TERMS":"You must accept terms","PASSWORDS_NOMATCH":"Passorda er ikkje like","SIGN_UP":"Registrer","SIGN_UP_EMAIL":"Sign up with email","CLICK_TO_SIGN_UP":"Click here to sign up.","LOG_IN":"Logg på","LOG_OUT":"Logg ut","EXIT_FULLSCREEN":"Exit fullscreen mode","ENTER_FULLSCREEN":"Enter fullscreen mode","PLAY_URL_MAGNET_LINK":"Play URL/Magnet link","HELP_FEEDBACK":"Help & Feedback","TERMS_OF_SERVICE":"Terms of Service","PRIVACY_POLICY":"Privacy Policy","ABOUT_STREMIO":"About Stremio","USER_PANEL":"User Panel","LOGIN_LABEL":"Login","GUEST_LOGIN":"Gjestepålogging","GUEST_LOGIN_NOTICE":"Guest Login is not recommended. Using a regular login allows Stremio to sync your Library, receive notifications for favourite series/channels. Are you sure you want to proceed?","GUEST_LOGIN_NOTICE_2":"Guest Login is not recommended - you won\'t have synced Library and Board notifications, which are vital Stremio features. Are you sure you want to proceed?","CLICK_HERE":"Klikk her","WRONG_PASSWORD":"Feil passord. I tilfelle du har gløymd passordet, ","SET_A_PASS":"lag eit passord","RESET_PASSWORD":"Reset password","FORGOT_PASSWORD":"Forgot password?","EMAIL_USED_WITH_FB":"Denne eposten er i bruk av ein Facebook pålogging.","INVALID_EMAIL":"Please enter a valid email address","INVALID_PASSWORD":"Please enter a valid password","CONN_ERR":"Connection error - please try again later.\\n\\nIf this persists, disable firewalls/anti-virus software (especially Bitdefender).","IMPORT_FROM_GUEST":"Import Library from your guest account","RECEIVE_UPDATES_EMAIL":"Receive updates to your email from Stremio","LOGIN_FAILED":"Login failed.","SIGNUP_FAILED":"Signup failed.","SEARCH_FAILED":"Search failed","EMAIL_USED":"This email is already in use.","WAITING_FB_LOGIN":"Logging in with Facebook...","EXTERNAL_PLAYER_TITLE":"Play in external player","EXTERNAL_REMEMBER_PLAYER":"Do you want to remember your choice","EXTERNAL_ALWAYS_PLAY":"Yes","EXTERNAL_ONLY_ONCE":"No","BEST_FIT":"Best Fit","FIT_SCREEN":"Fit Screen","FILL":"Fill","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"Tell us about what you like","INTRO_TASTE_LONG":"Tell us about what you\'d like to watch","INTRO_TASTE_PICK":"Pick {{interestsRemaining}} interests","INTRO_TASTE_PICK_MORE":"Pick {{interestsRemaining}} more interests","INTRO_TASTE_HELP_US":"Help us learn more about you.","INTRO_TASTE_CHOOSE_THESE":"Choose some of these:","INTRO_TASTE_CHOOSE_MIN":"Choose at least 3 categories","INTRO_TASTE_CHOOSE_MIN_ERR":"You have to pick at least 3 categories!","INTRO_TASTE_LIFESTYLE":"Lifestyle","INTRO_TASTE_SPORTS":"Sports","INTRO_TASTE_FOOD_HEALTH":"Food & Health","INTRO_TASTE_BEAUTY_FASHION":"Beauty & Fashion","INTRO_TASTE_NEWS":"News","INTRO_TASTE_GAMING":"Gaming","INTRO_TASTE_SCIENCE_EDU":"Science & Education","INTRO_TASTE_MUSIC":"Music","INTRO_TASTE_TRAVEL":"Travel","INTRO_TASTE_LATE_NIGHT":"Late Night Show","INTRO_TASTE_REALITY":"Reality","INTRO_TASTE_COMEDY":"Comedy","INTRO_TASTE_DIY":"How to DIY","INTRO_TASTE_TECH":"Tech","INTRO_TASTE_CINEMA":"Cinema","ADDON_NOT_SUPPORTED":"Selected addon is not supported on this platform.","ADDON_DISCLAIMER":"Bruk av tredjeparts-utvidinger vil alltid vere ditt eige ansvar med omsyn til den gjeldane lova der du oppheld deg.","ADDON_ACTIVATE":"Aktivere denne utvidingen?","ADDON_REPO_ADD":"Addon repository url","ADDON_ADD":"Add","INSTALL_ADDON":"Install addon","ADD_ADDON":"Add addon","ADD_ADDON_DESCRIPTION":"You can add an addon via an external link, which will appear under Installed addons.","PASTE_ADDON_URL":"Paste addon URL","WHATS_NEW":"Kva er nytt?","BUTTON_CONTINUE":"Hald fram","BUTTON_ACTIVATE":"Aktiver","BUTTON_ACTIVATED":"Activated","BUTTON_CANCEL":"Avbryt","BUTTON_SUBMIT":"Submit","BUTTON_DISMISS_ALL":"Dismiss All","BUTTON_VIEW_ALL":"view all","BUTTON_SEE_ALL":"See All","BUTTON_COLOR_TRANSPARENT":"Transparent","OPEN_IN_BROWSER":"Open in browser","LIB_EMPTY":"Biblioteket ditt ser tomt ut. Finn ut kvar nyttig det er :) ","HOW_START":"Kom i gang:","LIB_EMPTY_CAL":"Kalenderen din visar seriar i biblioteket ditt.","HOW_START_CAL":"Her er korleis du kan leggje til seriar:","LIB_EMPTY_BOARD":"Board viser varslar &amp; anbefalingar relatert til biblioteket ditt.","HOW_START_BOARD_WAIT":"Legg til nokon seriar eller kanalar i biblioteket ditt og gi oss nokon minutt til å behandle dei :)","HOW_START_BOARD":"Her er korleis du kan leggje til seriar &amp; filmar til det:","IMPORT_FB":"Importer ting du likar frå <span>Facebook</span>","IMPORT_TRAKT":"Import your media library from <span>Trakt</span>","IMPORT_DISCOVER":"Finn interessante ting frå <span>Oppdag</span>","IMPORT_DISK":"Importer filmar eller seriar frå din <span>lokale Harddisk</span>","PLEASE_CREATE_ACC":"Please <u>create an account</u> to enable Library sync &amp; Board.","IMPORT_DISCOVER_SIGNUP":"Sign up and find interesting stuff from <span>Discover</span>","IMPORT_DISK_SIGNUP":"Sigm up and import movies or shows you have on your <span>local disk</span>","LIB_EMPTY_CLOUD":"Cloud library","LIB_EMPTY_CLOUD_DESC":"Personal cloud library synced on all devices","LIB_EMPTY_EARLY":"Early bird","LIB_EMPTY_EARLY_DESC":"Receive notifications for new episodes","LIB_EMPTY_PERSONAL":"Personal","LIB_EMPTY_PERSONAL_DESC":"Get personal recommendations","LIB_EMPTY_CALENDAR_DESC":"Schedule your personal watching calendar","LIB_EMPTY_ALL":"Sign up to get all of these:","LIB_EMPTY_BEST":"Sign up to get best of Stremio","LIB_EMPTY_OTHER":"Sign up to enable Calendar & other cool features","CALENDAR_ADDED":"The Stremio calendar has been added to your default desktop calendar.","CALENDAR_ADDED_MSG":"If this does not work, please add this URL to your calendar application manually","TRAKT_EXPIRED":"Trakt authentication expired, please go to Settings and re-authenticate","TRAKT_REQUIRES_LOGIN":"Trakt error","TRAKT_REQUIRES_LOGIN_MSG":"You need to login","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","SETTINGS_LABEL":"Settings","SETTINGS_NAV_GENERAL":"General","SETTINGS_NAV_PLAYER":"Player","SETTINGS_NAV_STREAMING":"Streaming","SETTINGS_NAV_SHORTCUTS":"Shortcuts","SETTINGS_SHORTCUT_RELOAD_APP":"Reload App","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Open Settings","SETTINGS_SHORTCUT_SWITCH_TABS":"Switch Tabs","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Cycle Through Tabs Forward","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Cycle Through Tabs Backward","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigate Between Menus","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Go to Search","SETTINGS_SHORTCUT_EXIT_BACK":"Exit / Go Back","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Toggle Playback Speed Menu","SETTINGS_SHORTCUT_MENU_VIDEOS":"Toggle Videos Menu","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Toggle Subtitles Menu","SETTINGS_SHORTCUT_MENU_INFO":"Toggle Info Menu","SETTINGS_SHORTCUT_FULLSCREEN":"Toggle Fullscreen","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Show Controls","SETTINGS_SHORTCUT_PLAY_PAUSE":"Play / Pause","SETTINGS_SHORTCUT_VOLUME_UP":"Volume Up","SETTINGS_SHORTCUT_VOLUME_DOWN":"Volume Down","SETTINGS_SHORTCUT_SEEK_NEXT":"Seek Next","SETTINGS_SHORTCUT_SEEK_PREV":"Seek Prev","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Seek Backward","SETTINGS_SHORTCUT_SEEK_FORWARD":"Seek Forward","SETTINGS_SHORTCUT_PLAY_NEXT":"Play Next","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Increase Subtitles Size","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Decrease Subtitles Size","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Increase Subtitles Delay","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Decrease Subtitles Delay","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Toggle Sidebar","SETTINGS_SHORTCUT_OR":"or","SETTINGS_SHORTCUT_TO":"to","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Authenticate","SETTINGS_FACEBOOK_IMPORT":"Import","SETTINGS_CALENDAR_SUBSCRIBE":"Subscribe","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Interface Language","SETTINGS_LAUNCH_STARTUP":"Køyr ved oppstart","SETTINGS_VLC_DEFAULT":"Play with VLC","SETTINGS_UI_LANGUAGE":"UI Language","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Escape key exit full screen","SETTINGS_GAMEPAD":"Enable gamepad support","SETTINGS_CLOSE_WINDOW":"Close app when window is closed","SETTINGS_SUBTITLES_LANGUAGE":"Default Subtitles Language","SETTINGS_SUBTITLES_SIZE":"Default Subtitles Size","SETTINGS_SUBTITLES_BACKGROUND":"Subtitles background","SETTINGS_SUBTITLES_COLOR":"Subtitles color","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Subtitles outline color","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Subtitles background color","SETTINGS_SEEK_KEY":"Arrow keys seek time","SETTINGS_SEEK_KEY_SHIFT":"Arrow keys seek time when Shift key is held","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Rewind & Fast-forward duration","SETTINGS_BINGE":"Auto-play next episode","SETTINGS_NEXT_VIDEO":"Show notification to start next episode","SETTINGS_NEXT_VIDEO_TRIGGER":"Show next episode notification for:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Next video popup duration","SETTINGS_PLAY_IN_BACKGROUND":"Play in background","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Play in external player","SETTINGS_RESIZE":"Auto-resize window before playing","SETTINGS_OVERRIDE_SERVER":"Override the streaming server URL (advanced)","SETTINGS_SERVER_URL":"Streaming server URL: ","SETTINGS_SERVER_AVAILABLE":"Streaming server is available.","SETTINGS_SERVER_UNAVAILABLE":"Streaming server is not available.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Error","SETTINGS_SERVER_CONFIGURE_TITLE":"Configure streaming server url","SETTINGS_SERVER_CONFIGURE_INPUT":"Enter a streaming server url","SETTINGS_SERVER_CACHE_SIZE":"Cache size","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent profile","SETTINGS_HTTPS_ENDPOINT":"Streaming HTTPS endpoint: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Always use latest Beta","SETTINGS_IMPORT_FB":"Importer frå Facebook","SETTINGS_IMPORT_DISK":"Importer frå lokal disk","SETTINGS_IMPORT_TRAKT":"Import from Trakt","SETTINGS_PAUSE_MINIMIZED":"Pause playback when minimized","SETTINGS_HWDEC":"Hardware-accelerated decoding","SETTINGS_BACKGROUND":"Background playback","SETTINGS_SUBSCRIBE_CALENDAR":"Abonner på ein kalender","SETTINGS_REQ_EXPORT":"Request data export","SETTINGS_ACC_DELETE":"Request account deletion","SETTINGS_CHANGE_PASSWORD":"Endre passord","SETTINGS_TOS":"Vilkåra for tjenesta","SETTINGS_SUPPORT":"Kontakt support","SETTING_LANGUAGE":"Språk","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_LOGOUT":"Log out of Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Log Out of Trakt","SETTINGS_SCAN_FOR_REMOTE":"Scan QR code to open remote","SETTINGS_DESKTOP_NOTIFICATIONS":"Desktop notifications","SETTINGS_DATA_SAVER":"Data saver","SETTINGS_LANGUAGE_INTERFACE":"interface","SETTINGS_LANGUAGE_SUBS":"default subtitles","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Autoselect Audio Track","SETTINGS_DEFAULT_AUDIO_TRACK":"Default Audio Track","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"account","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"version","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"Launch player in a separate window (advanced)","SETTINGS_PLAY_IN_EXTERNAL":"Always start video in external player","SETTINGS_STORAGE_BUTTON":"Clear Local Storage","SETTINGS_STORAGE_MODAL_TITLE":"Are you sure ?","SETTINGS_STORAGE_MODAL_MESSAGE":"This will clear the local storage and log you out.","SETTINGS_HWDEC_PICKER":"Pick hardware-accelerated decoding setting","SETTINGS_HW_AUTOMATIC":"Automatic","SETTINGS_HW_DISABLED":"Disabled","SETTINGS_HW_ACCELERATED":"Decoding acceleration","SETTINGS_HW_FULL":"Full acceleration","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Subtitles","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Controls","SETTINGS_SECTION_AUTO_PLAY":"Auto-Play","SETTINGS_SECTION_ADVANCED":"Advanced","SUBSPICKER_AUDIO":"Audio","SUBSPICKER_SUBTITLES":"Addons Subtitles","SUBSPICKER_BLACK_BACKGROUND":"Use black background color","SUBSPICKER_VERTICAL_OFFSET":"Vertical Offset","SUBSPICKER_SIZE":"Size","SUBSPICKER_DELAY":"Delay","SUBSPICKER_EMBEDDED_SUBS":"Embedded Subtitles","MOBILE_PRIVACY_POLICY":"Privacy Policy","MOBILE_CRASH_REPORTING":"Crash Reporting","MOBILE_ZOOM_TO_FILL":"Zoom To Fill Screen","MOBILE_PASSTHROUGH":"Digital audio output (passthrough)","MOBILE_RUN_LOW_BATTERY":"Run on low battery","MOBILE_RUN_FOREGROUND":"Run as Foreground Service","MOBILE_PERFORMANCE":"PERFORMANCE & STABILITY","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"QR Code expires in ","MOBILE_LOG_INTO":"Log in to your Stremio account ","MOBILE_SCAN_QR":"Scan QR code above or go to ","MOBILE_LINK_ACCOUNT":"Link Account","MOBILE_SPEEDPICKER_CANCEL":"Cancel","MOBILE_SPEEDPICKER_LABEL":"Select Playback Speed","MOBILE_EMPTY_LIBRARY":"Your library is empty","MOBILE_NO_ADDON_ACTIVE":"No Stremio addon active for this type.","MOBILE_ORGANIZER_WARNING":"The Stremio Organizer app provides limited functionality. For a list of playable streams and the full Stremio experience, use Stremio on desktop.","MOBILE_ADDON_LOADING":"is still loading","MOBILE_ADDONS_LOADING":"addons are still loading","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Configure your addon","MOBILE_CONFIGURE_ADDON_LABEL":"Configure Addon","MOBILE_ORGANIZER_ADDONS_WARNING":"The Stremio Organizer app provides a limited selection of addons. For the full Stremio experience, use Stremio on desktop.","MOBILE_DISCONNECT":"Disconnect","MOBILE_LOOKING_FOR_DEVICES":"Looking for devices...","MOBILE_CAST_TO":"Cast to","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Delete Account","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Account deletion is not instant due to legal obligations. After requesting deletion of your account you will have to use different email address/facebook profile to create a new Stremio account in the future.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirm Account Deletion","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Your account has been created using Facebook. To delete your account, please use our user portal at www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Please provide your password to confirm account deletion.","MOBILE_DELETE_ACCOUNT_BUTTON":"Delete Account","NAVIGATION_ON":"On","NAVIGATION_OFF":"Off","MARKETING_AGREE":"I agree to receive marketing communications from Stremio","QUIT":"Avslutt","CONNECTED":"Connected","AUTHENTICATE":"Verifiser","CACHING":"Caching","SETTINGS_CACHING_DRIVE":"Velj caching eining","ENABLE_LOCAL_FILES_ADDON":"Enable the local files addon (requires restart)","LOCAL_ADDON_NOT_ENABLED":"Local addon is not enabled. Click here to go to the settings and enable it","ENABLE_REMOTE_HTTPS_CONN":"Enable remote HTTPS connections","TORRENT_PROFILE":"Torrent Profile","DATA_CACHING":"Data Caching","MAGNET_PARSING":"Parsing a magnet link","January":"Januar","February":"Februar","March":"Mars","April":"April","May":"Mai","June":"Juni","July":"Juli","August":"August","September":"September","October":"Oktober","November":"November","December":"Desember","Monday":"Måndag","Tuesday":"Tysdag","Wednesday":"Onsdag","Thursday":"Torsdag","Friday":"Fredag","Saturday":"Laurdag","Sunday":"Søndag","Action":"Action","Comedy":"Komedie","War":"Krig","Family":"Familie","Animation":"Animasjon","Adventure":"Eventyr","Fantasy":"Fantasy","Crime":"Krim","Mystery":"Mysterium","Romance":"Romantikk","Drama":"Drama","Horror":"Grysjar","Thriller":"Spenning","Sci-Fi":"Sci-Fi","Music":"Musikk","Biography":"Biografi","Documentary":"Dokumentar","Sport":"Sport","Musical":"Musikal","Western":"Western","Film-Noir":"Film-Noir","News":"Nyheiter","History":"Historie","Game-Show":"Gameshow","Reality-TV":"Reality-TV","Talk-Show":"Talk-Show","Film & Entertainment":"Film & Underhalding","Gaming":"Gaming","From TV":"Frå TV","Lifestyle":"Livsstil","Science & Education":"Vitskap & Utdanning","Cooking & Health":"Matlaging & Helse","Beauty & Fashion":"Venleik & Mote","Sports":"Sport","News & Politics":"Nyheiter & Politikk","How-to & DIY":"Gjør det sjølv","Tech":"Teknologi","Automotive":"Bilbransjen","Causes & Non-Profits":"Saker & ideelle organisasjonar","Movies":"Filmar","Uk Live Tv":"UK Direkte TV","Fashion":"Mote","Business News Radio":"Business Nyheitsradio","Business Tv":"BusinessTV","Cars & Auto":"Bilar og Auto","Comedy Radio":"Komedieradio","Lifestyle Radio":"Livsstilsradio","News Tv":"NyheitsTV","Food And Wine":"Mat og Vin","Latino Tv":"Latino TV","Shopping Tv":"ShoppingTV","Religion":"Religion","Kids":"Barn","Body & Soul":"Kropp og Sjel","Education":"Utdanning","Indian Tv":"Indisk TV","Extreme Sports":"Ekstremsport","Middle Eastern Tv":"TV frå Midtøsten","Celebrity Tv":"KjendisTV","Science Tv":"VitskapsTV","Bikini babe":"Bikini babe","Outdoors":"Utandørs","German Tv":"Tysk TV","French Tv":"Fransk TV","Italian Tv":"Italiensk TV","Gamer Tv":"SpelTV","Travel":"ReiseTV","Asian Tv":"Asiatisk TV","Entertainment":"Underhalding","News Radio":"Nyheitsradio","Music Radio":"Musikkradio","Language Learning":"Språklæring","Science Radio":"Vitskapsradio","Tech Radio":"Teknologiradio","Science & Technology Vod":"Vitskap -og Teknologi VOD","new video":"new video","new episode":"new episode","new movie":"new movie","recommended":"recommended","we recommend":"we recommend","offer of the day":"offer of the day","news":"news","music video":"music video","CTX_SHOW_HOTKEYS":"Show hotkeys","CTX_DISMISS_NOTIF":"Dismiss notifications","CTX_DISMISS_ALL":"Dismiss all","CTX_SHARE":"Share","CTX_COPY_SHARE_LINK":"Copy share link","CTX_COPY_MAGNET_LINK":"Copy magnet link","CTX_COPY_STREAM_LINK":"Copy stream link","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Download this video","CTX_DOWNLOAD_SUBS":"Download subtitles","CTX_VIEW_ON_YOUTUBE":"View on YouTube","CTX_SHOW":"Show","CTX_PLAY":"Play","CTX_PLAY_IN":"Play in","CTX_PLAY_ON":"Play on","CTX_WATCH_ON":"Watch on","CTX_WATCH":"Watch","CTX_WATCHED":"Watched","CTX_WATCH_BEGINNING":"Watch from the beginning","CTX_WATCH_MOBILE":"Watch on a mobile device","CTX_REWIND":"Rewind to beginning","CTX_MARK_WATCHED":"Mark as watched","CTX_MARK_NON_WATCHED":"Mark as non-watched","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"Mark rest as watched","CTX_UNMARK_REST":"Mark rest as non-watched","CTX_RECEIVE_NEW_NOTIF":"Receive new notifications","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"Remove from cache","CTX_REMOVE_CACHE_EP":"Remove episode from cache","CTX_OPEN_CONTAINING":"Open containing folder","CTX_REMOVE":"Remove from library","CTX_AVAILABLE_OFFLINE":"Available Offline","CTX_PAUSED":"Paused","CTX_ALWAYS_ON_TOP":"Always on top","CTX_FULLSCREEN":"Fullscreen","CTX_WRONG_SUBS":"Wrong subtitles?","CTX_REPORT_ISSUES":"Report issue","CTX_COPY":"Copy","CTX_PASTE":"Paste","CTX_CLEAR":"Clear","CTX_CLEAR_RECENT_SEARCHES":"Clear recent searches","HELLO_THERE":"Hello There","HOPE_YOU_ENJOY":"We hope you enjoy Stremio and it\'s one of your favourite apps already!","WHO_ARE_WE":"Who are we? We are the team behind it - two guys who work hard every day for the last 3 years, with a single goal - to make this product better and better.","SUPPORT_US":"If you enjoy using Stremio, if Stremio is valuable for you - support us!","SPREAD_THE_WORD":"Share with your friends now, spread the word about Stremio","MORE_PEOPLE":"The more people use Stremio, the better it will get!","SEND_A_LINK":"Or send a link to our website","TIP_LOCALFILES":"Tip: you can drag & drop local video files into Stremio","ADDON_MY":"My Addons","ADDON_COMMUNITY":"Community Addons","ADDON_OFFICIAL":"Official Addons","ADDON_REPOS":"Addon repositories","ADDON_SEARCH":"Search addons","ADDON_INSTALL":"Install","ADDON_CONFIGURE":"Configure","ADDON_UNINSTALL":"Uninstall","ADDON_UPGRADE":"Upgrade","ADDON_INSTALLED":"Installed","ADDON_INSTALLED_MSG":"Addon installed!","ADDON_UPGRADED_MSG":"Addon upgraded!","ADDON_UNKNOWN":"Unknown","ADDON_ERR":"Addon install error!","ADDON_DISCONNECTED":"Disconnected","ADDON_APP_MISSING":"the app for this source is not installed. Do you want to install it now?","ADDON_APP_INSTALL":"Install Now","ADDON_PAGE":"Addon Page","ADDON_TOP_CONTENT":"Best from this Addon","ADDON_PROVIDES":"provides","ADDON_WATCH":"Watch #{types} now!","ADDON_WATCH_FREE":"Watch #{types} for FREE now!","ADDON_ADDON":"Addon","ADDON_SUPPORTED_TYPES":"Supported types","ADDON_SUPPORTED_CATALOGS":"Supported catalogs","ADDON_PROVIDES_DISCOVER":"More #{types} in Discover","ADDON_PROVIDES_STREAMS":"Watch #{types}","ADDON_PROVIDES_STREAMS_FREE":"Watch #{types} for FREE","ADDON_PROVIDES_SUBTITLES":"Subtitles for #{types}","ADDON_CANTDETECT":"We couldn\'t detect a running Stremio, so we couldn\'t detect what addons you have installed.","ERR_NO_META":"No information found about this ","ERR_GETTING_META":"Error retrieving information about this.","ERR_CANT_PARSE_MAGNET":"Unable to parse magnet","ERR_NO_MAGNET_INFOHASH":"No valid info hash for magnet","ERR_NO_FILE_PATH":"Unable to send request without a path to file","ERR_NO_TORRENT":"No torrent returned","ERR_NO_SUPPORTERD_FILES":"No supported files found","ERR_OPENING_FILES":"Could not open external files","ERR_INVALID_LINK":"Invalid link","ERR_REGISTERED_ONLY":"This option is available for registred users only.","ERR_CLIPBOARD":"Can not play from clipboard","ERR_CLIPBOARD_READ":"Can not read the clipboard on this platform","ERR_CLIPBOARD_GENERIC":"No playable URL found in the clipboard. Please copy a URL (e.g. a magnet link) to a video.","BOARD_CONTINUE_WATCHING":"Continue watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Movies picked specially for you.<br />This movie is a sample recommendation.","BOARD_EXPLANATION_EPISODES":"New episodes of your favorite Series come here.<br />Add series you follow to your Library.","BOARD_EXPLANATION_VIDEOS":"New episodes of your favorite Channels come here.<br />Add YouTube channels you follow to your Library.","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE":"Contribute","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"Learn more","WEBSITE_COMPANY":"Company","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Need Help?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"Watch Instantly","WEBSITE_SLOGAN_ALL":"All the Video Content You Enjoy in One Place","WEBSITE_SLOGAN_NEW":"All You can Watch","WEBSITE_SLOGAN_NEW_NEW":"Freedom to Stream","WEBSITE_WATCH_FROM":"Watch from","WEBSITE_DOWNLOAD":"Download Now","WEBSITE_DOWNLOAD_FOR":"Download Now For","WEBSITE_IS_DESKTOP":"Stremio is a desktop application, open this page on your PC and download it","WEBSITE_DESKTOP_DEMO_VID":"Desktop demo","WEBSITE_PAGE_HOME":"Home","WEBSITE_PAGE_FEATURES":"Features","WEBSITE_PAGE_ADDONS":"Addons","WEBSITE_PAGE_TECH":"Technology","WEBSITE_PAGE_CREATE_ADDON":"Create Addon","WEBSITE_PAGE_CONTACTS":"Contacts","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Movies","WEBSITE_TYPE_series_PL":"Series","WEBSITE_TYPE_tv":"Live TV","WEBSITE_TYPE_channel":"Channels","WEBSITE_STREMIO_WHAT_IS":"Stremio is an app that helps you organize and instantly watch your favorite videos, movies, TV series and TV channels.","WEBSITE_FEATURES_WATCH":"Watch Instantly in HD","WEBSITE_FEATURES_WATCH_DETAIL":"Click and play your favourite movies, TV Shows, videos and TV channels.","WEBSITE_FEATURES_SUBS":"Automatic Subtitles","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio automatically picks synced subtitles for your language.","WEBSITE_FEATURES_SUBS_LABEL":"Your move, chief.","WEBSITE_FEATURES_CAST":"Play on TV & mobile devices","WEBSITE_FEATURES_CAST_DETAIL":"Cast to AppleTV, Chromecast, Smart TV (DLNA/UPnP) and mobile devices.","WEBSITE_LIB":"Enjoy Your Personal Library Synced on All Your Devices","WEBSITE_LIB_COLLECT":"Collect from Stremio","WEBSITE_LIB_IMPORT":"Import from Facebook","WEBSITE_LIB_LOCAL":"Add from your local drive","WEBSITE_BOARD":"The Board - Your one-stop place for Notifications and Recommendations","WEBSITE_BOARD_RECOMMEND":"Recommended TV Show","WEBSITE_BOARD_TRENDING":"Trending Movie","WEBSITE_BOARD_NEW":"New Video","WEBSITE_BOARD_EPISODE":"New Episode","WEBSITE_BOARD_1":"Looking for something interesting to watch? Get recommendations based on your taste!","WEBSITE_BOARD_2":"Get notified when a new episode of your favourite TV show or YouTube channel is out!","WEBSITE_BOARD_YOUTUBE":"New videos of YouTube channels","WEBSITE_BOARD_EPISODES":"New episodes of series you follow","WEBSITE_ADDONS":"Content Addons","WEBSITE_TECH_DETAIL":"We love technology, we love mad science!\\nStremio is using the following open source technologies:","WEBSITE_TECH_WCJS":"WebChimera.js allows Stremio to play any video format with good performance.","WEBSITE_TECH_WCJS_EXTRA":"We are core project contributors","WEBSITE_TECH_ELECTRON":"Electron provides an innovative platform to build Stremio with.","WEBSITE_TECH_ELECTRON_EXTRA":"We are project contributors","WEBSITE_TECH_LINVODB":"A database technology that ensures your data is organized and available anywhere you login.","WEBSITE_TECH_LINVODB_EXTRA":"In-house technology","WEBSITE_CREATE_ADDON":"Create your addon","WEBSITE_CREATE_ADDON_DETAIL":"Do you have a service providing video content? We\'ll help you benefit from Stremio\'s features by creating your Addon.","WEBSITE_CREATE_ADDON_BENEFITS":"Benefits of Creating an Addon for Stremio","WEBSITE_P2P_BEAUTY":"The Beauty of Peer-to-Peer Streaming","WEBSITE_P2P_1":"Reliable and affordable full HD / 4K video on demand or live streaming","WEBSITE_P2P_2":"Distribution platform providing great user experience","WEBSITE_P2P_3":"We will create an addon meeting your exact needs","WEBSITE_P2P_CONTACT":"Interested? You are welcome to <a href=\'mailto:office@stremio.com\'>contact us</a>.","WEBSITE_P2P_CONTACT_EXTRA":"We will be happy to help you integrate your content with Stremio!","WEBSITE_P2P":"Once in a while, there comes a technology that changes the name of the game. We invested tons of time and effort in building our Peer-to-Peer (P2P) video streaming engine that provides great performance and versatility to adapt with any use case.\\nContact us for DRM-enabled P2P video on demand or live streaming.","WEBSITE_THOUGHTS":"Thoughts we share:","WEBSITE_SPREAD":"Spread the word about Stremio:","WEBSITE_CONTACT":"If you are looking to contact us, go ahead at","WEBSITE_OPENSOURCE":"For our open source projects, go to our","WEBSITE_BITCOIN":"Donate bitcoin:","WEBSITE_FAQ":"Frequently asked questions","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Questions","WEBSITE_TOS":"Terms of use","WEBSITE_LEGAL":"Legal","WEBSITE_PAGE_ABOUT":"About","WEBSITE_PAGE_BECOME_PARTNER":"Become a partner","WEBSITE_ALL_YOU_CAN_WATCH":"Freedom To Watch\\nEverything You Want.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"What is stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio is a one-stop hub for video content aggregation. Discover, organize and watch video from all kind of sources on any device that you own.","WEBSITE_WHAT_IS_STREMIO_P2":"Movies, TV shows, series, live television or web channels like YouTube and Twitch.tv - you can find all this on Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio is a modern media center that\'s a one-stop solution for your video entertainment. You discover, watch and organize video content from easy to install addons.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Movies, TV shows, live TV or web channels - find all this on Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Enjoy on all your Media devices","WEBSITE_DEVICES_COLLECT":"Collect from Stremio","WEBSITE_DEVICES_IMPORT_FB":"Import from facebook","WEBSITE_DEVICES_LOCAL":"Add from local drive","WEBSITE_JOIN_THE_PARTY_NOW":"Join the party now","WEBSITE_DEVICES_ALL":"Easy to use on all your devices;","WEBSITE_EXTENDABLE_CATALOG":"Infinitelly extendable video catalog;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Great features to organize your media;","WEBSITE_AS_SEEN_ON":"As seen on","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"About us","WEBSITE_LINK_TECHNOLOGY":"Technology","WEBSITE_LINK_APPS":"Apps","WEBSITE_LINK_DOWNLOADS":"Downloads","WEBSITE_MORE":"More","WEBSITE_LINK_ADDONS":"Addons","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Contribute","WEBSITE_LINK_COMMUNITY":"Community","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... & More","WEBSITE_LINK_HELP":"Help center","WEBSITE_LINK_CONTACTS":"Contacts us","WEBSITE_LINK_TOS":"Terms & conditions","WEBSITE_LINK_PRAVACY":"Privacy policy","WEBSITE_SUBSCRIBE":"Sibscribe","WEBSITE_NEWSLETTER":"Join Our Newsletter for amazing stuff","WEBSITE_PLACEHOLDER_EMAIL":"Your Email","WEBSITE_COMMUNITY":"Community","WEBSITE_LINK_PRAVACY_LEGAL":"Privacy & legal","WEBSITE_WHY":"Why we do it","WEBSITE_WHY_P1":"At Stremio, we come to work every day because we want to solve an important problem for the video-on-demand industry. There’s so much new content published every minute that it’s virtually impossible to find your way around it.","WEBSITE_WHY_P2":"We help people navigate that huge world of video entertainment and discover new content to enjoy. Our apps bring together movies, series, live TV, web channels, and more. We are dedicated to making it incredibly easy for users to find titles and broadcasters that they love.","WEBSITE_WHY_P3":"You can use our service on any device and at any time, making Stremio the only video entertainment hub you’ll ever need.","WEBSITE_TEAM":"TEAM","WEBSITE_TEAM_P":"The Stremio team is small but powerful: between the ten of us, we code in X languages, and share expertise in software development, UI and UX design, marketing and advertising, and business and startups.","WEBSITE_FEATURES":"Features","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Discover new content with ease","WEBSITE_FEATURES_DISCOVER_P":"Easily discover new movies, TV shows, series and channels to watch. Browse by category, genre, rating, recency, etc. or simply type a name to find. Stremio makes finding new video content a piece of cake.","WEBSITE_FEATURES_ALL_CONTENT":"All of your video content on one screen","WEBSITE_FEATURES_ALL_CONTENT_P1":"See what movies, series or videos you didn’t finish and continue watching them; get notified for new episodes and releases; and browse through the recommendations you will get based on your viewing habits.","WEBSITE_FEATURES_LIBRARY":"Organize your video library","WEBSITE_FEATURES_LIBRARY_P1":"Add any title to your Stremio library with a single click and find your way around your content, neatly arranged by type, recency, or alphabetical order.","WEBSITE_FEATURES_CALENDAR":"Keep track of everything you watch","WEBSITE_FEATURES_CALENDAR_P1":"Get a calendar visualization of all the movies and series you add to your library. Export your Stremio calendar and sync it so you always know when a new episode or a premier is due.","WEBSITE_FEATURES_BIG_SCREEN":"Enjoy your video content on a bigger screen","WEBSITE_FEATURES_BIG_SCREEN_P1":"Cast whatever you are watching to another device - be it a phone, tablet or a TV with a single click.","WEBSITE_FEATURES_SOURCES":"Watch video from many different sources","WEBSITE_FEATURES_SOURCES_P":"Install official and community addons to enjoy video sourced from many different providers - all in one sleek, easy to use app.","WEBSITE_CREATE_AN_ADDON":"Create an addon","WEBSITE_FEATURES_SYNC":"Sync your library across different devices and resume your playback","WEBSITE_FEATURES_SYNC_P1":"Login with your account across all your devices and enjoy your library, addons, playback and calendar synchronized.","WEBSITE_FEATURES_EXTENDABLE":"Extendable video catalog by addons","WEBSITE_FEATURES_EXTENDABLE_P1":"The Stremio addon catalog provides a number of addons to install and watch a variety of video content from. This includes movies, shows, live TV, sport, news, podcasts, web channels, video games and more.","WEBSITE_FEATURES_AUTO_SUBS":"Automatic subtitles","WEBSITE_FEATURES_AUTO_SUBS_P1":"With our subtitle addons you get automatically selected options for your preferred language.","WEBSITE_FEATURES_CHROMECAST":"Casting to Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Enjoy your video content on a bigger screen or just cast whatever you are watching to another device.","WEBSITE_FEATURES_KEEP_TRACK":"Keep track of your favorite TV shows and Web channels","WEBSITE_FEATURES_KEEP_TRACK_P1":"Get a calendar visualization and notifications for new episodes of your favorite series and web channels.","WEBSITE_FEATURES_POWER_USER":"Power user features","WEBSITE_FEATURES_POWER_USER_P1":"Play in external player","WEBSITE_FEATURES_POWER_USER_P2":"Play from a torrent file or magnet link","WEBSITE_FEATURES_POWER_USER_P3":"Import to your library from Facebook likes or local disk","WEBSITE_ADD_ONS":"Addons","WEBSITE_ADD_ONS_P1":"All of the video content Stremio provides get sourced through an addon system - no content or content provider has been built into the app.","WEBSITE_ADD_ONS_P2":"There are two groups of addons available: official and community addons.","WEBSITE_ADD_ONS_P3":"The official ones are developed and hosted by Stremio, whereas community addons are created by our community members, who also host them.","WEBSITE_ADDONS_OFFICIAL":"Official addons","WEBSITE_ADDONS_WATCHUB":"Stream your favourite movies, series and shows from providers like iTunes, Hulu, Amazon and other UK/US services.","WEBSITE_ADDONS_YOUTUBE":"Watch your favourite YouTube channels ad-free and get notifications for new uploads from the contributors you follow.","WEBSITE_ADDONS_FILMON":"Watch live TV, movies and social television for free. 600 TV channels, 45,000 free movies, documentaries and more.","WEBSITE_ADDONS_OPENSUBTITLES":"Movie and TV subtitles in multiple languages, thousands of translated subtitles uploaded every day.","WEBSITE_ADDONS_COMMUNITY":"Community addons","WEBSITE_ADDONS_FILMON_VOD":"Watch video on demand from Filmon.tv","WEBSITE_ADDONS_TWICH":"Watch live streams from Twitch.tv - a video streaming platform for the e-sports industry.","WEBSITE_ADDONS_VODO":"Watch indie movies absolutely free of charge.","WEBSITE_ADDONS_NETFLIX":"Watch Netflix movies and web series.","WEBSITE_ADDONS_CREATE":"Create an addon","WEBSITE_ADDONS_CREATE_P1":"If you wish, you can develop your own addon. This way, you can give yourself and our community access to new video content, and reach a new, targeted audience of millions of users around the world.","WEBSITE_ADDONS_START_CREATE":"To get started, visit the Stremio Addon SDK page:","WEBSITE_DOWNLOADS":"Downloads","WEBSITE_DOWNLOADS_P1":"For optimal performance, we recommend that you use the latest available version of the Stremio apps. If for some reason, however, you would like to use an older version, you can download it here.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio for Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio for macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio for Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio for Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio for iOS","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"The Stremio platform is open source and you can easily create an addon for content that is currently not sourced.","WEBSITE_CONTRIBUTE_WHY":"Why should you create an addon?","WEBSITE_CONTRIBUTE_WHY_P1":"Reach new audience for your video content","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio’s user base is growing rapidly - within the first year of the launch, Stremio had gained 1 million users around the world, and in the second year of the platform’s existence this number grew to 2.5 million.","WEBSITE_CONTRIBUTE_WHY_P3":"With your addon, you can easily reach this audience and distribute your video content to them.","WEBSITE_CONTRIBUTE_ALL":"Watch your favourite movies, videos, series and channels in one single place.","WEBSITE_CONTRIBUTE_ALL_P1":"You’re a fan of a particular type of content not available on Stremio yet? Create an addon for it and enjoy watching your favourite videos in one of the largest and easiest to use entertainment hubs on the market.","WEBSITE_CONTRIBUTE_ALL_P2":"On top of that, you’ll get the endless gratitude of other like-minded Stremio community members.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetize your addon and earn money with its help","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Once you develop a new addon for Stremio, you can easily monetize it through a number of different ways. If you are considering this, feel free to get in touch with us at ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - we would be happy to consult and advise you about addon monetization options.","WEBSITE_CONTRIBUTE_TRANSLATE":"Become a volunteer translator","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"If you want to enjoy the Stremio apps in different languages, you can join our community of volunteer translators. They help us add versions of the Stremio in many different languages.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Are you eager to get started?","WEBSITE_TRANSALTE_STREMIO":"Translate Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Official communities","WEBSITE_COMMUNITY_OFFICIALS_P1":"Become a part of the growing Stremio community. Follow us on social media and don’t be shy to say hello - we love hearing from our fans! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Unofficial communities","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partners and supporters","WEBSITE_COMMUNITY_GOODIES":"Stremio goodies","WEBSITE_COMMUNITY_WALLPAPERS":"Wallpapers","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"Contact us","WEBSITE_CONTACT_US_P1":"If you have any questions, comments or suggestions, feel free to get in touch with us through the contact form below.","WEBSITE_CONTACT_US_P2":"Keep in mind that we are located in Bulgaria so there may be a delay in addressing your query due to time zone differences.","WEBSITE_CONTACT_US_SUCCESS":"Your message has been sent. We will get back to you at our earliest convenience.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Please enter a valid email!","WEBSITE_CONTACT_US_Q_RELATED_TO":"What is your question related to?","WEBSITE_CONTACT_US_Q_OS":"What is your Operation System?","WEBSITE_CONTACT_US_PH_EMAIL":"Your E-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Message","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"SEND","WEBSITE_CONTACT_US_Q_1":"How to install?","WEBSITE_CONTACT_US_Q_2":"How to uninstall?","WEBSITE_CONTACT_US_Q_3":"(HTML) How to make lasagna?","WEBSITE_CONTACT_US_Q_4":"Addons","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Technology","WEBSITE_TECHNOLOGY_P1":"We love technology and mad science. </br> Here is what powers Stremio (it’s all open-source).","WEBSITE_TECHNOLOGY_P_QT":"Cross-platform software development at its best.","WEBSITE_TECHNOLOGY_P_MPV":"A free, open source, and cross-platform media player.","WEBSITE_TECHNOLOGY_P_RN":"React Native lets you build mobile apps using only JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework embedded into application to get multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm is a mobile platform and a replacement for SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js is an open-source, cross-platform, JavaScript runtime environment.","WEBSITE_TECHNOLOGY_P_RUST":"Rust is a multi-paradigm system programming language focused on safety, especially safe concurrency.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribute to the project","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"There are two ways you can contribute to Stremio and help us make the product even better.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"You can donate your valuable language skills by translating the platform...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"or","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... you can employ your coding skills for creating community addons. ","WEBSITE_TRANSLATE_STREMIO":"Translate Stremio","WEBSITE_404_OH_NO":"Uh-oh! The page you’re looking for is not here...","WEBSITE_GO_HOME":"Go home","WEBSITE_LINK_OTHER_DOWNLOADS":"Other downloads","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Support","WEBSITE_DOWNLOAD_4_0_BETA":"Download Now Stremio 4 beta","WEBSITE_GET_FOR_DESKTOP":"Get for desktop","WEBSITE_LINK_ADDON_COMPETITION":"Addon competition","WEBSITE_LINK_ART_CONTEST":"Art contest","WEBSITE_MY_ACCOUNT":"My account","WEBSITE_MAINPAGE_FAQ_001_H1":"What is Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio is a modern media center that gives you the freedom to watch everything you want.","WEBSITE_MAINPAGE_FAQ_002_H1":"How does it work?","WEBSITE_MAINPAGE_FAQ_002_P1":"Once you install Stremio on your device and create an account, all you have to do is to visit the addon catalog and install any addon you want, and you\'re good to go!","WEBSITE_MAINPAGE_FAQ_002_P2":"After that, you can go to the Discover or Board sections to start exploring content.","WEBSITE_MAINPAGE_FAQ_003_H1":"What can I watch here?","WEBSITE_MAINPAGE_FAQ_003_P1":"A lot: Movies, TV shows, Web channels, Sport, TV channels, listen to Podcasts and more. Thanks to our addon system, you can accss a variety of content.","WEBSITE_MAINPAGE_FAQ_004_H1":"Is Stremio open-source?","WEBSITE_MAINPAGE_FAQ_004_P1":"Yes, you can check the following links: ${1}desktop app${2} and ${3}GitHub organization${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Is Stremio safe?","WEBSITE_MAINPAGE_FAQ_005_P1":"Yes: because it is open-source software, the code is publically auditable and you can review it yourself.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"How about my privacy?","WEBSITE_MAINPAGE_FAQ_006_P1":"We respect users\' privacy and do not collect any personal data besides the essential minimum to create and sync your account.","WEBSITE_MAINPAGE_FAQ_006_P2":"There is also a ${1}Guest mode${2} at signup, which requires no data whatsoever: in this mode, no calls are made to our backend. However, it comes at the expense of useful features, such as being able to sync your library across devices.","WEBSITE_MAINPAGE_FAQ_007_H1":"Can I cast to my TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Yes, we support Chromecast and you can cast both from desktop and mobile apps (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"How many addons does Stremio have?","WEBSITE_MAINPAGE_FAQ_008_P1":"As of late 2019, over 50 - for more information, check our addon catalog.","WEBSITE_MAINPAGE_FAQ_009_H1":"Can Stremio be extended beyond what\'s in the addon catalog?","WEBSITE_MAINPAGE_FAQ_009_P1":"Yes, you should check those: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"What devices does Stremio support?","WEBSITE_MAINPAGE_FAQ_010_P1":"We have desktop apps for Windows, Mac and Linux. For mobile, we support Android and iOS, although keep in mind that the iOS is limited in functionality (does not support most addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"There are many Android-based devices which you can run Stremio on, like NVIDIA Shield and Amazon Fire Stick, but we do not support them officially.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Can you add certain content to Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Sorry, we provide no content ourselves, but the more Stremio addons you have installed, the more content you will be able to find.","WEBSITE_MAINPAGE_FAQ_012_H1":"Can Stremio play magnet links?","WEBSITE_MAINPAGE_FAQ_012_P1":"Yes, and it can also play normal HTTP links and torrent files (drag and drop).","WEBSITE_MAINPAGE_FAQ_013_H1":"Can I download a video and watch offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Available offline is an upcoming feature, but if you allow Stremio to cache on your device (from the settings panel) you can watch the videos later without a connection.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nothing works, help me!","WEBSITE_MAINPAGE_FAQ_014_P1":"Are you sure you have installed addons? If yes, check with our ${1}help center${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"How does Stremio sustain it\'s development operations?","WEBSITE_MAINPAGE_FAQ_015_P1":"We run non-intrusive ads occassionally, but we\'re considering moving to a donation model.","WEBSITE_MAINPAGE_FAQ_015_P2":"For more questions, go to our ${1}help center${2}.","HELP_LEARN_MORE":"Help us learn more about you.","LIFESTYLE":"Lifestyle","SPORTS":"Sports","FOOD_HEALTH":"Food & health","BEAUTY_FASHION":"Beauty & Fashion","NEWS":"News","GAMING":"Gaming","SCIENCE_EDUCATION":"Science & education","MUSIC":"Music","TRAVEL":"Travel","LATE_NIGHT":"Late Night","REALITY":"Reality","COMEDY":"Comedy","DIY":"How to DIY","TECH":"Tech","CINEMA":"Cinema","CONTINUE":"Continue","SLOW_LOADING":"SLOW LOADING?","I_GIVE_UP":"I GIVE UP","LEARN_MORE":"Learn more","POOR_SOURCE":"This source is poorly available or your internet connection is not fast enough","PICK_CATEGORIES_ERR":"You have to pick at least 3 categories","ADJUST_TIMING":"Adjust timing with ","ADJUST_SIZE":"Adjust size with ","SEARCH_ANYTHING":"You Can Search Anything...","ALL_CATEGORIES":"All","SEARCH_CATEGORIES":"Movies, Series, YouTube & TV","SEARCH_PERSONS":"Actors, Directors & Writers","SEARCH_PROTOCOLS":"HTTP & Magnet Links","SEARCH_TYPES":"IMDB / TVDB links","WATCHED":"Watched","SHOW_LESS":"Show less","LAST_SEARCHES":"Last searches","CLEAR_HISTORY":"Clear history","CHOOSE_SOME":"CHOOSE SOME OF THIS:","NO_WEB_REMOTE":"Web Remote could not be loaded","STREMIO_OFFLINE":"Stremio is offline","STREMIO_EXPENSIVE_CONNECTION":"We\'ve detected that you are using a mobile data connection, do you want to continue?","USE_DATA":"Use data","WARNING":"Warning","MORE_INFO":"More Info ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Loading ...","STREMIO_TV_BACK_TO_LANGUAGES":"Back to languages","STREMIO_TV_REMOTE":"Remote","STREMIO_TV_GO_TO":"Go to:","STREMIO_TV_OR_SCAN":"or scan:","STREMIO_TV_ADDON_INSTRUCTIONS":"Please follow the instructions in order to install your preferred addons.","STREMIO_TV_LIVE_TV":"Live TV","STREMIO_TV_RESUME_WATCHING":"Resume Watching","STREMIO_TV_LOADING_BACKGROUND":"Loading Background","STREMIO_TV_CHECKING_AUTHENTICATION":"Checking Authentication","STREMIO_TV_LOADING_BOARD":"Loading Board","STREMIO_TV_LOGIN_HEADER_LINE_1":"We want our users to have the best possible personalized experience with our software.","STREMIO_TV_LOGIN_HEADER_LINE_2":"It is for this reason that we kindly ask you to make and/or login to your account.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Thank you for understanding,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"The Stremio Team","STREMIO_TV_REMOTE_INSTRUCTIONS":"In order to use the Web Remote with your Smartphone / Tablet / Desktop:","STREMIO_TV_WIFI_SETUP":"Wi-Fi Setup","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle did not detect a internet connection.","STREMIO_TV_WIFI_DETAILS_1":"Connect to:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Use password:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Open a web browser with the link:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Default","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"By Last Watched","STREMIO_TV_LIBRARY_SORT_NAME":"By Name","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"By Times Watched","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Season ${1}","STREMIO_TV_STREAMS_LOADING":"Loaded ${1} / ${2} addons...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} addon is still loading...","STREMIO_TV_PLAYER_SETTINGS":"Player settings","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Subtitles delay","STREMIO_TV_PLAYER_AUDIO_DELAY":"Audio delay","STREMIO_TV_PLAYER_VIDEO_SCALING":"Video scaling","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Unsupported stream source","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Failed opening external link","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Not adjustable in audio passthrough mode","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Play with ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Play with libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Switching to libVLC player due to a playback error","STREMIO_TV_ADDONS_TITLE":"Use Stremio on your Phone or PC to install or configure addons and press \\"Sync Addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Note: make sure you are using the same Stremio account","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sync Addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons successfully synchronized","STREMIO_TV_ADDONS_SYNC_FAILED":"Failed to synchronize addons","STREMIO_TV_META_LINK_FAILED":"Failed opening meta link","STREMIO_TV_CATALOG_LOADING":"Catalog still loading...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Interface language updated","STREMIO_TV_SETTINGS_THEME_UPDATED":"Theme updated","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Default Player","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"External Player","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferred Language","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Secondary Preferred Language","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possible playback issues on some devices","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Some video formats might not work","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"No caching","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Default","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Soft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Fast","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Fast","STREMIO_TV_SETTINGS_SERVER_URL":"Streaming server url","STREMIO_TV_SETTINGS_SERVER_VERSION":"Server version","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Unknown","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio version","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Edit server url","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Enter a streaming server url","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Show statistics while loading","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"To read Stremio\'s Privacy Policy, visit:","STREMIO_TV_SETTINGS_TOS_TEXT":"To read Stremio\'s Terms and Conditions, visit:","STREMIO_TV_NAV_SEARCH":"Search","STREMIO_TV_NAV_HOME":"Home","STREMIO_TV_NAV_DISCOVER":"Discover","STREMIO_TV_NAV_LIBRARY":"Library","STREMIO_TV_NAV_MOVIES":"Movies","STREMIO_TV_NAV_SERIES":"Series","STREMIO_TV_NAV_CHANNELS":"Channels","STREMIO_TV_NAV_TV":"Live TV","STREMIO_TV_NAV_SETTINGS":"Settings","STREMIO_TV_NAV_ADDONS":"Addons","STREMIO_TV_LOGIN_TITLE":"Link Account","STREMIO_TV_LOGIN_EXPIRES_IN":"Expires in","STREMIO_TV_LOGIN_STEP_ONE":"Scan QR Code above or go to","STREMIO_TV_LOGIN_STEP_TWO":"Log in to your Stremio account","STREMIO_TV_LOGIN_NEW_LINK":"Request a new link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Login code refreshed","STREMIO_TV_SEARCH_PLACEHOLDER":"Type something","STREMIO_TV_SEARCH_NO_ADDONS":"No addons were requested for catalogs!","STREMIO_TV_SEARCH_BUTTON":"Search","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Search History","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"You can search for Titles, Actors, Channels and more...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Clear Search History","STREMIO_TV_FILTERS_DESCRIPTION":"Choose from one of the filters below","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"Filters","SETTINGS":"Settings","ACCOUNT":"Account","LOGOUT":"Logout","THEMES":"Themes","PLAYBACK":"Playback","PLAYBACK_SPEED":"Playback Speed","AUDIO_TRACKS":"Audio Tracks","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Videos","SERVER":"Server","LINKS":"Links","ABOUT":"About","INTERFACE":"Interface","ANIMATIONS":"Animations","STATUS":"Status","LANGUAGE":"Language","SIZE":"Size","DELAY":"Delay","BOLD":"Bold","OPACITY":"Opacity","TEXT_COLOR":"Text Color","OUTLINE_COLOR":"Outline Color","BACKGROUND_COLOR":"Background Color","BACKGROUND_BLUR":"Background Blur","SEEK_TIME_DURATION":"Seek Time Duration","AUTO_PLAY":"Auto-Play Next Episode","PLAY_NOW":"Play Now","MARK_AS_WATCHED":"Mark as Watched","MARK_AS_UNWATCHED":"Mark as Unwatched","REWIND_TO_BEGINNING":"Rewind to Beginning","CONTINUE_WATCHING":"Continue Watching","ALL":"All","SECONDS":"seconds","ON":"ON","OFF":"OFF","RELOAD":"Reload","EDIT_URL":"Edit URL","NONE":"None","EMBEDDED":"Embedded","REMOTE_SWITCH_DEVICES":"Switch Devices","REMOTE_VIDEOS":"Videos","REMOTE_ADJUST_TIMING":"Adjust timing","REMOTE_ADJUST_SIZE":"Adjust size","REMOTE_COULD_NOT_BE_LOADED":"Web Remote could not be loaded","REMOTE_RETRY":"Retry","TORRENT_PROFILE_DEFAULT":"Default","TORRENT_PROFILE_SOFT":"Soft","TORRENT_PROFILE_FAST":"Fast","TORRENT_PROFILE_ULTRA_FAST":"Ultra Fast","FAQ_001_H1":"What is Stremio?","FAQ_001_P1":"Stremio is a media center software designed for video entertainment with ease of use in mind. Stremio allows you to organize &amp; watch your own collection of movies, series, channels and live TV.","FAQ_001_P2":"Stremio collect the content it shows you from your local disk and our addons system.","FAQ_001_P3":"It will also notify you when new episodes/videos/movies you\'re interested in come out, and provide movie recommendations for you.","FAQ_02_H1":"How does Stremio compare to Kodi and Plex?","FAQ_02_P1":"We are inspired by those two pieces of software. But we have different goals - Stremio is specifically targeted towards entertainment video, and strives to become the mainstream solution for that by being very easy to use.","FAQ_02_P2":"Stremio will never be as customizable and feature-rich as Kodi and Plex, but it is significantly easier to use. Just ${1} get it and see ${2} :)","FAQ_03_H1":"How does Stremio compare to Netflix?","FAQ_03_P1":"Again, Netflix is one of our inspirations. We strive to achieve the user experience of Netflix, plus a lot of added goodies. But most importantly, we\'re giving you the freedom to manage your own library and add new content sources with our addon system.","FAQ_03_P2":"That makes Stremio infinitely extendable, so when you use Stremio, you\'re never limited to the content Netflix decides to license. For example, through Stremio you can watch content from ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} and even ${9}Netflix${10} itself!","FAQ_04_H1":"How does Stremio compare to Flipboard?","FAQ_04_P1":"We don’t get that question that often, except when talking to start-up people :)","FAQ_04_P2":"Stremio is by design a content aggregator, which essentially makes it Flipboard for video. This is very apparent in our Board section, which gives you catalogues and new episode/new video notifications for what you follow, just like Flipboard.","FAQ_05_H1":"How does Stremio compare to Popcorn Time?","FAQ_05_P1":"Stremio and Popcorn Time are similar in user interface, because there aren’t many ways to do video entertainment catalogues right :)","FAQ_05_P2":"But while Popcorn Time is focused on streaming torrents from specific sources, Stremio is unrestricted and is merely a content aggregator - it’s not locked into a specific content source.","FAQ_05_P3":"Furthermore, we do not provide any torrent addons by default, so Stremio does not cover the Popcorn Time use-case with official functionality.","FAQ_05_P4":"Another notable difference is that Popcorn Time is completely open source, while Stremio is ${1} partially open source${2}.","FAQ_06_H1":"Will you add this movie/series?","FAQ_06_P1":"No, sorry :(","FAQ_06_P2":"As is mentioned in most of the other questions, Stremio does not provide any content by itself - everything is added through the addons system. In case you have a content request, you can use the “Report” button in the Player, which will send an email to the author of the addon you’re currently using.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Will you create addon for X?","FAQ_08_P1":"It\'s entirely possible.","FAQ_08_P2":"If you have an idea for an addon, drop us a line at ${1}office@stremio.com${2}, but please make sure your addon idea will not infringe on any copyrights or terms of use.","FAQ_08_P3":"At the moment, the next things on our roadmap are addons for FandangoNOW, Filmon.tv video on demand and Crunchyroll.","FAQ_09_H1":"Does Stremio use BitTorrent?","FAQ_09_P1":"Yes, Stremio supports BitTorrent as a streaming protocol. You can use that either with a torrent addon, or by drag-and-dropping a .torrent file into Stremio, or by pasting a magnet link into the Search Bar.","FAQ_09_P2":"Please note that the only official addon using BitTorrent is ${1}Vodo${2}, which provides indie content, all permitted to be distributed with BitTorrent.","FAQ_09_P3":"We do not support use of any third-party addons which may enable copyright infringement.","FAQ_10_H1":"What can I watch in Stremio with the official addons?","FAQ_10_P1":"By default, you can watch Filmon.tv, YouTube and Vodo content within Stremio itself, with it’s embedded player. Additionally, we have an addon for Twitch.tv and a few others.","FAQ_10_P2":"This combined provides a selection of:","FAQ_10_L1":"Popular TV channels, provided by Filmon.tv - for example E4, BBC, Bollyworld TV","FAQ_10_L2":"Everything from YouTube - for example BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indie movies with Vodo","FAQ_10_L4":"Online gaming broadcasts with Twitch.tv","FAQ_10_P3":"Additionally, there are many content sources provided with Guidebox and the Netflix addons, which <b>do not</b> play entirely inside Stremio, but would redirect to the given service. For example, the Guidebox addon would give you a selection of movies you can stream in the US for free, from services like TubiTV and Crackle.","FAQ_11_H1":"Stremio won\'t install, what should I do?","FAQ_11_P1":"If you\'re on Windows, try ${1}this alternative installer${2}.","FAQ_11_P2":"If you\'re on Mac OS X, please be aware that we don\'t support anything older than OS X Mavericks (10.9).","FAQ_11_P3":"If you\'re on Linux, be aware that we only support 64 bit (x64) Linux at the moment.","FAQ_11_P4":"If you still can\'t resolve your problem, please write us at our ${1}Facebook group${2}.","FAQ_12_H1":"Why does my anti-virus complain? Is Stremio safe?","FAQ_12_P1":"We assure you Stremio is ${1}100% clean${2}.","FAQ_12_P2":"Your antivirus is complaining because we include advertising in our installer, which some anti-virus programs recognize as ad-ware.","FAQ_12_P3":"If you\'re still unsure, you can try our ${1}alternative installer${2}.","FAQ_13_H1":"How can I make an addon?","FAQ_13_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_13_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_13_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_14_H1":"How are addons published?","FAQ_14_P1":"When you create an addon and host, and put a <b>endpoint</b> field in your manifest, which points to a working addon address, the addon will automatically publish itself to our ${1}Addon catalogue${2}.","FAQ_14_P2":"This happens because the server part of the stremio-addons module automatically makes a call to our API to announce the addon. When our API validates your <b>endpoint</b> as a valid addon, it will start showing in the catalogue.","FAQ_15_H1":"Can I run Stremio in my browser?","FAQ_15_P1":"Not at the moment, but this is coming!","FAQ_15_P2":"If you\'re curious to see an Alpha, you can see it here: ${1}alpha4.strem.io${2}. Keep in mind streaming is disabled on this alpha. We support Chrome, Firefox, Opera and Edge.","FAQ_16_H1":"Casting to TV doesn\'t work / subtitles don\'t work","FAQ_16_P1":"Casting to TV uses the DLNA technology which is very inconsistent between different TV brands and models. For that reason, we do not have the ability to test it in every case, so it\'s far from perfect. Despite this, we\'re working on improving it constantly but we cannot give you a time estimate on when DLNA will start working properly with your TV.","FAQ_16_P2":"If you don\'t even see your TV in the casting menu, please try disabling your network connection and re-enabling it (on Windows, right click the Network and use Enable/Disable), as well as restarting your router, TV and PC.","FAQ_16_P3":"If you are still encountering issues, you can help us by sending your TV brand and model information at ${1}office@stremio.com${2}.","FAQ_16_P4":"In the meantime, we recommend Chromecast, which we support very well, or simply plugging in your TV to your PC with an HDMI cable.","FAQ_17_H1":"Stremio freezes and/or crashes, what can I do?","FAQ_17_P1":"First of all, if you\'re using Windows 7 with AVG anti-virus: we have a problem with that combination. The problem is in AVG itself, and there\'s no reasonable way to resolve it on our end. Unfortunately, exceptions or disabling the anti-virus won\'t work. The only solution is to replace AVG with something else.","FAQ_17_P2":"If that\'s not the issue, but you\'re still using Windows, please update to the latest service pack and update/re-install your GPU drivers, then try again.","FAQ_17_P3":"If you\'re problem is still not resolved, or you\'re using a Mac or Linux, please write us reporting the exact details of the problem at ${1}our Facebook group${2}.","FAQ_18_H1":"How can I make an addon?","FAQ_18_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_18_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_18_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_19_H1":"Why is Stremio taking disk space?","FAQ_19_P1":"Stremio has a <b>local cache</b> to temporarily keep the video files you stream.","FAQ_19_P2":"This has two benefits: first, it allows Stremio to pre-buffer the video ahead so as to ensure smoother streaming. Second, it keeps the videos in the local cache so you can continue watching them offline.","FAQ_19_P3":"How much Stremio keeps depends on the <b>Cache</b> setting in the Settings panel. Stremio may keep up to the set amount (e.g. 2GB) on your disk, unless the currently streamed video is larger than that, in which case it has to allocate enough storage to keep it until you\'re streaming it.","FAQ_20_H1":"Where is the cache folder?","FAQ_20_P1":"On Windows, it\'s stremio-cache in the drive you picked in Settings (e.g. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"On MacOS, it\'s \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"On Linux, it\'s \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"I get \\"Streaming server is not found\\" error, what can I do?","FAQ_21_P1":"If you get this error, it means one of few things:","FAQ_21_P2":"1) You are trying to use an addon backed by YouTube/BitTorrent source, through our ${1}web version${2}. In this case, you should install our desktop version from ${3}our website${4}.","FAQ_21_P3":"2) Something is wrong with your Stremio installation. In this case, try re-installing our latest desktop version from ${1}the website${2}. If this does not help, try disabling anti-virus programs and firewalls, restarting your PC and trying again. If this does not work too, please write us at our ${3}our Facebook group${4}.","FAQ_22_H1":"I cannot see/use most addons on iOS","FAQ_22_P1":"Because of restrictions in the Apple App Store terms and conditions, we have restricted the iOS application only to a particular set of addons.","FAQ_22_P2":"But rest assured - there will be more addons for iOS in the future, and we may also add an integration that will allow you to use all Stremio addons thanks to connecting the iOS app to the Stremio Streaming Server."}')},75517:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Film","TYPE_series":"Serial","TYPE_tv":"Program telewizyjny","TYPE_channel":"Kanał","TYPE_other":"Inne","TYPE_movie_PL":"Filmy","TYPE_series_PL":"Seriale","TYPE_tv_PL":"Programy telewizyjne","TYPE_channel_PL":"Kanały","TYPE_other_PL":"Inne","TYPE_ALL":"Wszystko","TYPE":"Typ","CATALOG_com_linvo_cinemeta_top":"Popularne","CATALOG_com_linvo_cinemeta_imdbRating":"Wyróżnione","CATALOG_com_linvo_cinemeta_year":"Nowe","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Filmy z domeny publicznej","VIDEO":"Wideo","BACK":"Wstecz","MORE":"Więcej","DONE":"Gotowe","COPY":"Kopiuj","SUCCESS":"Sukces","ERROR":"Błąd","SETTINGS_CASTING_MODE_PICKER":"Tryb transmisji","CASTING_MODE_HLSV2":"Domyślny","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Bez transkodowania","Discover":"Odkrywaj","Board":"Tablica","Library":"Biblioteka","My Library":"Moja biblioteka","Calendar":"Kalendarz","NOTIFICATION_ONLINE":"Jesteś teraz online","NOTIFICATION_OFFLINE":"Jesteś offline","INTERNET_CONNECTION":"Połączenie internetowe","STORAGE_FULL_TITLE":"Uwaga: pamięć pełna!","STORAGE_FULL_TEXT":"Stremio nie jest w stanie zapisać twoich ustawień lub danych logowania. Spróbuj ponownie uruchomić lub ponownie zainstalować Stremio.","SEARCH":"szukaj","SEARCH_NO_RESULTS":"Nie znaleziono żadnych wyników","SEARCH_EXPLANATION_CONTENT":"Szukaj filmów, seriali, filmów YouTube i kanałów telewizyjnych","SEARCH_EXPLANATION_PEOPLE":"Szukaj aktorów, reżyserów i scenarzystów","SEARCH_PASTE_LINKS":"Wklej adres HTTP lub link Magnet","SEARCH_OR_PASTE_LINK":"Wyszukaj lub wklej link","SEARCH_SUGGESTIONS":"Sugestie wyszukiwania","ADD_TO_LIB":"Dodaj do biblioteki","REMOVE_FROM_LIB":"Usuń z biblioteki","ADDED_TO_LIB":"Dodano do biblioteki","REMOVED_FROM_LIB":"Usunięto z biblioteki","TRAILER":"Zwiastun","WATCH_TRAILER":"Zobacz zwiastun","WATCH_NOW":"Oglądaj","SHOW":"Pokaż","SHOW_MOVIE":"Pokaż film","WATCH_RANDOM":"Obejrzyj losowy","IMDB_RATING":"Ocena IMDb","YEAR":"Rok","DIRECTOR":"Reżyser","WRITER":"Scenarzysta","LEAD_ACTORS":"Główni aktorzy","CAST":"Obsada","CREW":"Ekipa","SHOW_MORE_CAST":"Pokaż więcej »","AIRED":"Wyemitowany","SEASONS":"Sezony","GENRE":"Gatunek","GENRE_ALL":"Wszystkie gatunki","CATALOG":"Katalog","SUMMARY":"Podsumowanie","SHOW_MORE":"Pokaż więcej","SIMILAR":"Podobne","UPCOMING":"Nadchodzące","ENDED":"Zakończony","DURATION":"Czas trwania","FEATURED":"Wyróżnione","METADATA":"Metadane","CATEGORY":"kategoria","LINKS_GENRES":"Gatunki","LINKS_CAST":"Obsada","LINKS_DIRECTORS":"Reżyserzy","SEARCH_VIDEOS":"Szukaj filmów","SEARCH_PLACEHOLDER":"Szukaj lub wklej URL","ADDON":"dodatek","ADDONS":"Dodatki","OFFICIAL":"oficjalny","ADDONS_OFFICIAL":"Oficjalne dodatki Stremio","ADDONS_POPULAR":"Popularne w twojej okolicy","ADDON_FREE":"darmowe","ADDON_PEERED":"peered","ADDON_SUBSCRIPTION":"subskrypcja","ADDON_STREAM_GEORESTRICTED":"niedostępne w twoim regionie","ADDON_STREAM_OFFLINECACHE":"Pamięć podręczna offline","ADDON_STREAM_LOCALFILE":"Lokalny plik","SHARE_ADDON":"Udostępnij dodatek","AVAILABLE_STREAMS":"Dostępne źródła","NO_STREAM":"Nie ma dostępnych źródeł","ALL_ADDONS":"Wszystko","INSTALL_MORE_ADDONS":"Dla większej ilości źródeł zainstaluj więcej dodatków","STREAM_NOT_SUPPORTED":"Wybrane źródło nie jest dostępne na tej platformie","ADDON_CATALOGUE":"Pokaż wszystkie dodatki »","ADDON_CATALOGUE_MORE":"Więcej dodatków »","REPO_ADDED":"Repozytorium dodane","ADDON_REPO_EXIST_ERR":"Repozytorium już istnieje","ADDON_REPO_ERR":"Wystąpił błąd podczas dodawania kolekcji","ADDON_ADD_ERR":"Wystąpił błąd podczas dodawania dodatku","ERR_ADDON_PROTECTED":"Nie można odinstalować dodatku, ponieważ jest chroniony","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Coś poszło nie tak - uwierzytelnianie mogło się nie powieść","ERR_NOT_COLLECTION_URL":"To nie jest URL kolekcji","ERR_NOT_ADDON_URL":"Nieprawidłowy URL dodatku","ERR_DETECTFROMURL":"Nie odnaleziono dodatku/kolekcji pod tym URL","ADDON_DUPLICATE_WARNING":"Uwaga: powielony dodatek","ADDON_COLLECTION_SET_FAILED":"Synchronizacja zainstalowanych dodatków do twojego konta nie powiodła się","SETTINGS_DATA_EXPORT":"Wyeksportuj dane użytkownika","ADDON_PULL_FAILED":"Synchronizacja zainstalowanych dodatków z twojego konta nie powiodła się","REFRESH_ON_CLICK":"Kliknij, aby spróbować ponownie","STILL_IN_THEATER":"Film obecnie w kinach","WATCH_IN_CINEMA":"Obejrzyj film w kinie","IN_THEATER":"W kinach","GET_TICKETS":"Kup bilety","UPCOMING_EPISODE":"Nadchodzący odcinek","UPCOMING_EPISODE_MESSAGE":"Ten odcinek zostanie nadany","MISSING_DATE_EPISODE":"Brak daty odcinka","MISSING_DATE_EPISODE_MESSAGE":"Ten odcinek mógł nie zostać jeszcze wyemitowany","CHANNEL_NOT_SCRAPED":"Ten kanał jeszcze nie został przeszukany.<br>Zajrzyj z powrotem za kilka minut.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Dodaj do swojej biblioteki, aby zostać powiadomionym kiedy będzie dostępny.","GET_NOTIFIED_WHEN_AVAILABLE":"Zostaniesz powiadomiony kiedy będzie dostępny.","WARNING_STREAMING_SERVER":"Uwaga: lokalny serwer streamingowy nie został znaleziony. Streamowanie lokalnych plików, YouTube i BitTorrent nie będą dostępne.","WARNING_STREAMING_SERVER_DISMISS":"Odrzuć","WARNING_STREAMING_SERVER_LATER":"Potem","DECODER_WARNING":"Uwaga: ten film może nie być wspierany przez twój sprzęt. Miej na uwadze, że odtwarzanie może być wolne.","GENERIC_ERROR_MESSAGE":"Coś poszło nie tak","TRY_AGAIN":"Spróbuj ponownie","CLEAR_DATA":"Wyczyść dane","PLAYER_ERROR":"Ups, błąd odtwarzacza","PLAYER_ERROR_LOOKSLIKE":"Wygląda na to, że","PLAYER_ORIENTATION":"Orientacja odtwarzacza","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Zablokowana","PLAYER_ORIENTATION_SENSOR_SHORT":"Auto","PLAYER_ORIENTATION_LANDSCAPE":"Orientacja odtwarzacza zablokowana w poziomie","PLAYER_ORIENTATION_SENSOR":"Orientacja odtwarzacza automatyczna (czujnik)","PLAYER_PLAYBACK_SPEED":"Prędkość odtwarzania","PLAYER_PLAYBACK_ERROR":"Błąd odtwarzania, spróbuj ponownie","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Nieznany błąd","PLAYER_PLAYBACK_ERROR_DEFAULT":"Przepraszamy, ten film nie może być odtworzony przez {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Język napisów","PLAYER_SUBTITLES_VARIANTS":"Rodzaje napisów","PLAYER_SUBTITLES_SETTINGS":"Ustawienia napisów","PLAYER_SUBTITLES_DISABLED":"Napisy są wyłączone","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Pozycja pionowa","PLAYER_SUBTITLES_LOADED":"Napisy wczytane","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Wczytano wbudowane napisy","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Wczytano ekskluzywne napisy","PLAYER_SUBTITLES_LOADED_ORIGIN":"Napisy z {{origin}} załadowane","PLAYER_PLAY":"Odtwarzaj","PLAYER_PAUSE":"Zatrzymaj","PLAYER_NEXT_VIDEO":"Następne Wideo","PLAYER_MUTE":"Wycisz","PLAYER_UNMUTE":"Wyłącz wyciszenie","PLAYER_OPEN_IN_EXTERNAL":"Otwórz w zewnętrznym odtwarzaczu","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Puść na {{device}}","PLAYER_LIVE":"Na żywo","PLAYER_NEXT_VIDEO_TITLE":"Następnie w programie","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Następnie na","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Odrzuć","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Oglądaj teraz","PLAYER_COPY_STREAM_SUCCESS":"Link do streamu został skopiowany do schowka","PLAYER_COPY_STREAM_ERROR":"Nie udało się skopiować linku do streamu","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","STREAMING_FROM":"streamuje z","CASTING_TO":"Transmisja do","NETWORK_STATUS":"Status połączenia","STREAM_SPEED":"Prędkość streamu:","STREAM_BUFFERED":"Zbuforowane:","PEERS_INFO":"Informacje o peerach","PEERS_ACTIVE":"Aktywnych:","PEERS_CONNECTED":"Połączonych:","PEERS_WAITING":"Oczekujących:","TRANSCODING_WARNING":"Uwaga: transkodowanie filmu.","STREAM_LOADING":"ładowanie...","PLAYING_LOCAL":"odtwarzanie lokalnego pliku","PLAYING_CACHE":"odtwarzanie z pamięci podręcznej","WRONG_SUBS":"Złe napisy?","ERR_SUBS_LOADING_TITLE":"Wystąpił błąd podczas ładowania napisów","ERR_SUBS_LOADING":"Nie udało się załadować napisów: to może być problem z dodatkiem, którego używasz, lub z twoim połączeniem sieciowym","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Następujące dodatki do napisów nie załadowały się poprawnie","ERR_CASTING_UPDATE_TITLE":"Nie udało się zaktualizować informacji o urządzeniu zdalnym: serwer streamingowy może być niedostępny","CHOOSE_DEVICE":"Wybierz urządzenie, na którym chcesz oglądać","NO_CAST_DEVICES":"Brak urządzeń do transmisji.","NO_SETTINGS":"Brak dostępnych ustawień.","PHONE_TABLET":"Telefon / Tablet","SUBTITLES":"Napisy","SUBTITLES_CHANGE":"Zmień napisy na ","SUBTITLES_CHANGE_NONE":"Nie ma innych napisów dla tego języka, przepraszamy","SUBTITLES_CHANGE_ACIVE":"Obecnie napisy &#35;{{subtitlesDialog.activeIdx + 1}} są aktywne. Kliknij \\"Kontynuuj\\", aby aktywować napisy &#35;{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Alternatywnie,","SUBTITLES_ADJUST_DELAY":"Dopasuj opóźnienie napisów:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"lub użyj przycisków <span>G</span> / <span>H</span> podczas odtwarzania, aby dopasować.","SUBTITLES_ADJUST_DELAY_TIP":"PORADA: możesz używać przycisków <span>G</span> / <span>H</span> podczas odtwarzania, aby dopasować.","SUBTITLES_DELAY":"Opóźnienie napisów:","SUBTITLES_LOADING":"Ładowanie napisów...","SUBTITLES_UNAVAILABLE":"Brak dostępnych zewnętrznych napisów","SUBTITLES_DISABLED":"Wyłączone","EXTERNAL_PLAYER_DISABLED":"Wyłączone","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Zezwalaj na wybór","EXTERNAL_PLAYER_HINT":"Wskazówka: Istnieje ustawienie pozwalające na otwieranie zawsze za pomocą zewnętrznego odtwarzacza","DONT_SHOW_AGAIN":"Nie pokazuj ponownie","SERVICE_INSTALL":"Zainstaluj","AUDIO":"Dźwięk","DEFAULT_LANGUAGE":"Domyślny język","DEFAULT_SECONDARY_LANGUAGE":"Domyślny drugorzędny język","SEASON":"Sezon","EPISODE":"Odcinek","EPISODE_ABBREVIATION":"ODC","SPECIAL":"Bonusowe","SORT":"sortuj","SORT_BY":"Sortuj według","FILTER":"filtruj","SORT_TRENDING":"na czasie","SORT_RECENT":"najnowsze","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"oceny","SORT_WATCHED":"obejrzane","SORT_YEAR":"rok","SELECT_TYPE":"Wybierz typ","SELECT_SORT":"Wybierz sortowanie","SELECT_CATALOG":"Wybierz katalog","SELECT_GENRE":"Wybierz gatunek","SORT_LASTWATCHED":"ostatnio oglądane","SORT_NAME":"a-z","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"ilość obejrzeń","SORT_NOTWATCHED":"nie obejrzane","New for You":"Nowe dla ciebie","New Episodes":"Nowe odcinki","New Videos":"Nowe filmy","Recommendations":"Polecane","LIBRARY_RESUME":"Wznów","LIBRARY_PLAY":"Odtwarzaj","LIBRARY_DETAILS":"Szczegóły","LIBRARY_RESUME_DISMISS":"Odrzuć","LIBRARY_CLEAR_PROGRESS":"Wyczyść postęp","LIBRARY_REMOVE":"Usuń","LIBRARY_NOT_LOGGED_IN":"Biblioteka jest dostępna tylko dla zalogowanych użytkowników","CALENDAR_NOT_LOGGED_IN":"Kalendarz jest dostępny tylko dla zalogowanych użytkowników","NOT_LOGGED_IN_CLOUD":"Dostęp do ulubionych filmów i seriali w dowolnym miejscu i czasie","NOT_LOGGED_IN_RECOMMENDATIONS":"Rekomendacje dostosowane do historii oglądania","NOT_LOGGED_IN_NOTIFICATIONS":"Nigdy więcej nie przegap żadnego odcinka","NOT_LOGGED_IN_CALENDAR":"Zaplanuj swój osobisty kalendarz oglądania","DISCOVER_FEATURED":"Wyróżnione","DISCOVER_TOP":"Top","DISCOVER_OSCAR":"Zwycięzcy Oscara","DISCOVER_WARNING_TITLE":"Ups!","DISCOVER_EMPTY_CATALOG":"Ten dodatek nie zwrócił zawartości.","DISCOVER_ADULT_WARNING":"Ta treść jest widoczna tylko dla dorosłych. Czy jesteś 18+?","DISCOVER_NOADDON_WARNING":"Uwaga: żaden dodatek Stremio nie jest aktywny dla tego typu. Pokazywanie zapisanych elementów, nic tutaj nie będzie aktualizowane","DISCOVER_LOAD_ERR":"Zawartość nie została załadowana, wystąpił błąd","DISCOVER_ADDON_UNINSTALLED":"Ta zawartość nie jest już dostępna, być może odinstalowano ten dodatek.","UNINSTALL_THIS_ADDON":"Odinstaluj ten dodatek","ERR_ADDON_NOT_INSTALLED":"Ten dodatek nie jest zainstalowany. Zainstalować teraz?","DETAIL_RECEIVE_NOTIF_SERIES":"Otrzymuj powiadomienia o nowych odcinkach","DETAIL_RECEIVE_NOTIF_VIDEOS":"Otrzymuj powiadomienia o nowych filmach","SIDEBAR_SHOW_STREAMS":"Pokaż źródła","RELAUNCH":"Uruchom ponownie teraz!","UPGRADE":"Nowa wersja jest dostępna! Zaktualizuj do najnowszej wersji Stremio","RELOAD_UI":"Przeładuj interfejs użytkownika","MANUAL_UPDATE_TITLE":"Zaktualizuj twoją wersję Stremio","MANUAL_UPDATE_LINE1":"Używasz przestarzałej wersji Stremio, co jest mocno niezalecane.","MANUAL_UPDATE_LINE2":"Proszę zaktualizować tak szybko, jak to możliwe.","BUTTON_UPDATE_LATTER":"Nie teraz","BUTTON_UPDATE_NOW":"Aktualizuj","ANONYMOUS_USER":"Anonimowy użytkownik","DONT_HAVE_ACC":"Nie masz konta?","HAVE_ACC":"Masz już konto?","PASSWORD":"Hasło","PASSWORD_CONFIRM":"Potwierdź hasło","EMAIL":"E-mail","FB_LOGIN":"Zaloguj się z Facebook","FB_NOTHINGSHARED":"Nic nie jest udostępniane bez twojego zezwolenia","FB_NOPOST":"Nic nie upublikujemy w twoim imieniu","OR":"lub","I_ACCEPT":"Akceptuję","I_ACCEPT_BY_CLICKING":"Poprzez kliknięcie powyższego przycisku świadczę, że akceptuję ","TOS":"Warunki Umowy","MUST_ACCEPT_TERMS":"Musisz zaakceptować regulamin","PASSWORDS_NOMATCH":"Podane hasła nie są takie same","SIGN_UP":"Zarejestruj się","SIGN_UP_EMAIL":"Zarejestruj się za pomocą email","CLICK_TO_SIGN_UP":"Kliknij tutaj, aby się zarejestrować.","LOG_IN":"Zaloguj się","LOG_OUT":"Wyloguj się","EXIT_FULLSCREEN":"Wyjdź z trybu pełnoekranowego","ENTER_FULLSCREEN":"Wejdź w tryb pełnoekranowy","PLAY_URL_MAGNET_LINK":"Odtwórz URL/link Magnet","HELP_FEEDBACK":"Pomoc i Opinie","TERMS_OF_SERVICE":"Warunki świadczenia usług","PRIVACY_POLICY":"Polityka Prywatności","ABOUT_STREMIO":"O Stremio","USER_PANEL":"Panel użytkownika","LOGIN_LABEL":"Zaloguj się","GUEST_LOGIN":"Zaloguj się jako gość","GUEST_LOGIN_NOTICE":"Logowanie się jako gość nie jest zalecane. Używanie typowego logowania pozwala Stremio synchronizować twoją Bibliotekę oraz ustawiać powiadomienia o twoich ulubionych serialach/kanałach. Na pewno chcesz kontynuować?","GUEST_LOGIN_NOTICE_2":"Logowanie się jako gość nie jest zalecane - nie będziesz miał możliwości synchronizacji Biblioteki i powiadomień na Tablicy, a to ważne funkcje Stremio. Na pewno chcesz kontynuować?","CLICK_HERE":"kliknij tutaj","WRONG_PASSWORD":"Zły email lub hasło. Jeżeli zapomniałeś swojego hasła, ","SET_A_PASS":"ustaw hasło","RESET_PASSWORD":"Zresetuj hasło","FORGOT_PASSWORD":"Zapomniałeś hasła?","EMAIL_USED_WITH_FB":"Ten email jest używany do logowania poprzez Facebook.","INVALID_EMAIL":"Wprowadź poprawny adres email","INVALID_PASSWORD":"Wprowadź poprawne hasło","CONN_ERR":"Błąd połączenia - proszę spróbować ponownie później.\\n\\nJeśli problem wciąż występuje, wyłącz zapory sieciowe/oprogramowanie antywirusowe (szczególnie Bitdefender).","IMPORT_FROM_GUEST":"Importuj Bibliotekę z twojego konta gościa","RECEIVE_UPDATES_EMAIL":"Otrzymuj aktualizacje na swój email od Stremio","LOGIN_FAILED":"Logowanie nieudane.","SIGNUP_FAILED":"Rejestracja nieudana.","SEARCH_FAILED":"Wyszukiwanie nieudane","EMAIL_USED":"Ten email jest już w użyciu.","WAITING_FB_LOGIN":"Logowanie za pomocą Facebook...","EXTERNAL_PLAYER_TITLE":"Odtwórz w zewnętrznym odtwarzaczu","EXTERNAL_REMEMBER_PLAYER":"Czy chcesz zapamiętać swój wybór?","EXTERNAL_ALWAYS_PLAY":"Tak","EXTERNAL_ONLY_ONCE":"Nie","BEST_FIT":"Najlepsze dopasowanie","FIT_SCREEN":"Dopasuj do ekraniu","FILL":"Wypełnij","16:9":"16:9","4:3":"4:3","Original":"Oryginalne","INTRO_TASTE":"Powiedz nam co lubisz","INTRO_TASTE_LONG":"Powiedz nam co zechcialbyś obejrzeć","INTRO_TASTE_PICK":"Wybierz {{interestsRemaining}} zainteresowania","INTRO_TASTE_PICK_MORE":"Wybierz {{interestsRemaining}} więcej zainteresowań","INTRO_TASTE_HELP_US":"Pomóż nam dowiedzieć się więcej o Tobie.","INTRO_TASTE_CHOOSE_THESE":"Wybierz kilka z tych:","INTRO_TASTE_CHOOSE_MIN":"Wybierz przynajmniej 3 kategorie","INTRO_TASTE_CHOOSE_MIN_ERR":"Musisz wybrać przynajmniej 3 kategorie!","INTRO_TASTE_LIFESTYLE":"Lifestyle","INTRO_TASTE_SPORTS":"Sport","INTRO_TASTE_FOOD_HEALTH":"Jedzenie i zdrowie","INTRO_TASTE_BEAUTY_FASHION":"Uroda i moda","INTRO_TASTE_NEWS":"Wiadomości","INTRO_TASTE_GAMING":"Gaming","INTRO_TASTE_SCIENCE_EDU":"Nauka i edukacja","INTRO_TASTE_MUSIC":"Muzyka","INTRO_TASTE_TRAVEL":"Podróże","INTRO_TASTE_LATE_NIGHT":"Late Night Show","INTRO_TASTE_REALITY":"Reality","INTRO_TASTE_COMEDY":"Komedia","INTRO_TASTE_DIY":"Poradniki DIY","INTRO_TASTE_TECH":"Technologia","INTRO_TASTE_CINEMA":"Kino","ADDON_NOT_SUPPORTED":"Wybrany dodatek nie jest wspierany na tej platformie.","ADDON_DISCLAIMER":"Korzystanie z dodatków stron trzecich zawsze podlega odpowiedzialności użytkownika i prawu obowiązującemu w jurysdykcji, w której się znajduje.","ADDON_ACTIVATE":"Aktywować ten dodatek?","ADDON_REPO_ADD":"Adres URL repozytorium dodatków","ADDON_ADD":"Dodaj","INSTALL_ADDON":"Zainstaluj dodatek","ADD_ADDON":"Dodaj dodatek","ADD_ADDON_DESCRIPTION":"Dodatek można dodać za pomocą zewnętrznego linku, który pojawi się w sekcji Zainstalowane dodatki.","PASTE_ADDON_URL":"Wklej adres URL dodatku","WHATS_NEW":"Co nowego?","BUTTON_CONTINUE":"Kontynuuj","BUTTON_ACTIVATE":"Aktywuj","BUTTON_ACTIVATED":"Aktywowany","BUTTON_CANCEL":"Anuluj","BUTTON_SUBMIT":"Wyślij","BUTTON_DISMISS_ALL":"Odrzuć wszystko","BUTTON_VIEW_ALL":"Zobacz wszystko","BUTTON_SEE_ALL":"Zobacz wszytko","BUTTON_COLOR_TRANSPARENT":"Przezroczysty","OPEN_IN_BROWSER":"Otwórz w przeglądarce","LIB_EMPTY":"Twoja biblioteka wygląda na pustą. Dowiedz się jak bardzo jest ona przydatna :) ","HOW_START":"Oto jak zacząć:","LIB_EMPTY_CAL":"Twój Kalendarz pokazuje seriale w twojej bibliotece.","HOW_START_CAL":"Tak możesz dodawać seriale:","LIB_EMPTY_BOARD":"Tablica wyświetla powiadomienia &amp; rekomendacje związane z Twoją biblioteką.","HOW_START_BOARD_WAIT":"Dodaj kilka seriali lub filmów to swojej Biblioteki i daj nam trochę czasu na przetworzenie :)","HOW_START_BOARD":"Tak możesz dodawać seriale &amp; filmy:","IMPORT_FB":"Importuj rzeczy, które lubisz z <span>Facebook</span>","IMPORT_TRAKT":"Importuj swoją biblitekę filmów z <span>Trakt</span>","IMPORT_DISCOVER":"Znajdź interesujące rzeczy w <span>Odkrywaj</span>","IMPORT_DISK":"Importuj filmy lub seriale, które posiadasz na swoim <span>lokalnym dysku</span>","PLEASE_CREATE_ACC":"<u>Załóż konto</u>, aby uzyskać dostęp do synchronizacji Biblioteki &amp; Tablicy.","IMPORT_DISCOVER_SIGNUP":"Załóż konto i znajdź interesujące rzeczy w <span>Odkrywaj</span>","IMPORT_DISK_SIGNUP":"Załóż konto i importuj filmy lub seriale, które posiadasz na swoim <span>lokalnym dysku</span>","LIB_EMPTY_CLOUD":"Biblioteka w chmurze","LIB_EMPTY_CLOUD_DESC":"Osobista biblioteka w chmurze zsynchronizowana na wszystkich urządzeniach","LIB_EMPTY_EARLY":"Ranny ptaszek","LIB_EMPTY_EARLY_DESC":"Otrzymuj powiadomienia o nowych odcinkach","LIB_EMPTY_PERSONAL":"Osobiste","LIB_EMPTY_PERSONAL_DESC":"Otrzymuj osobiste rekomendacje","LIB_EMPTY_CALENDAR_DESC":"Zaplanuj swój osobisty kalendarz oglądania","LIB_EMPTY_ALL":"Zarejestruj się, aby uzyskać dostęp do wszystkich tych funkcji:","LIB_EMPTY_BEST":"Zarejestruj się, aby pozyskać najlepsze ze Stremio","LIB_EMPTY_OTHER":"Zarejestruj się, aby włączyć Kalendarz i inne fajne funkcje","CALENDAR_ADDED":"Kalendarz Stremio został dodany do twojego domyślnego systemowego kalendarza.","CALENDAR_ADDED_MSG":"Jeżeli to nie działa, dodaj ten URL do twojego kalendarza manualnie","TRAKT_EXPIRED":"Uwierzytelnianie Trakt wygasło, przejdź do Ustawień i uwierzytelnij ponownie.","TRAKT_REQUIRES_LOGIN":"Błąd Trakt","TRAKT_REQUIRES_LOGIN_MSG":"Musisz się zalogować","TRAKT_IMPORT_WATCHED":"Importuj","THEME":"Motyw","THEME_DEFAULT":"Domyślny","THEME_ADAPTIVE":"Adaptacyjny","SETTINGS_LABEL":"Ustawienia","SETTINGS_NAV_GENERAL":"Ogólne","SETTINGS_NAV_PLAYER":"Odtwarzacz","SETTINGS_NAV_STREAMING":"Odtwarzanie","SETTINGS_NAV_SHORTCUTS":"Skróty","SETTINGS_SHORTCUT_RELOAD_APP":"Przeładuj aplikację","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Otwórz ustawienia","SETTINGS_SHORTCUT_SWITCH_TABS":"Zmień karty","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Przechodzenie między kartami do przodu","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Przechodzenie między kartami do tyłu","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Nawigacja między menu","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Przejdź do wyszukiwania","SETTINGS_SHORTCUT_EXIT_BACK":"Wyjdź / Cofnij","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Otwórz menu prędkości odtwarzania","SETTINGS_SHORTCUT_MENU_VIDEOS":"Otwórz menu wideo","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Otwórz ustawienia napisów","SETTINGS_SHORTCUT_MENU_INFO":"Otwórz menu z Info","SETTINGS_SHORTCUT_FULLSCREEN":"Włącz tryb pełnoekranowy","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Pokaż skróty","SETTINGS_SHORTCUT_PLAY_PAUSE":"Odtwarzaj / Zatrzymaj","SETTINGS_SHORTCUT_VOLUME_UP":"Podgłośnij","SETTINGS_SHORTCUT_VOLUME_DOWN":"Ścisz","SETTINGS_SHORTCUT_SEEK_NEXT":"Przewiń wstecz","SETTINGS_SHORTCUT_SEEK_PREV":"Przewiń do przodu","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Przewiń wstecz","SETTINGS_SHORTCUT_SEEK_FORWARD":"Przewiń do przodu","SETTINGS_SHORTCUT_PLAY_NEXT":"Odtwórz następny odcinek","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Zwiększ rozmiar napisów","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Zmniejsz rozmiar napisów","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Zwiększ opóźnienie napisów","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Zmniejsz opóźnienie napisów","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Włącz pasek boczny","SETTINGS_SHORTCUT_OR":"albo","SETTINGS_SHORTCUT_TO":"do","SETTINGS_SHORTCUT_SPACE":"Spacja","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Uwierzytelnij","SETTINGS_FACEBOOK_IMPORT":"Importuj","SETTINGS_CALENDAR_SUBSCRIBE":"Subskrybuj","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Język interfejsu","SETTINGS_LAUNCH_STARTUP":"Uruchom przy starcie systemu","SETTINGS_VLC_DEFAULT":"Odtwórz w VLC","SETTINGS_UI_LANGUAGE":"Język interfejsu","SETTINGS_UI_ZOOM":"Powiększenie interfejsu","SETTINGS_FULLSCREEN_EXIT":"Klawisz Escape powoduje wyjście z trybu pełnoekranowego","SETTINGS_GAMEPAD":"Włącz obsługę gamepada","SETTINGS_CLOSE_WINDOW":"Zamyknij aplikację wraz z zamknięciem okna","SETTINGS_SUBTITLES_LANGUAGE":"Domyślny język napisów","SETTINGS_SUBTITLES_SIZE":"Domyślny rozmiar napisów","SETTINGS_SUBTITLES_BACKGROUND":"Tło napisów","SETTINGS_SUBTITLES_COLOR":"Kolor napisów","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Kolor konturu napisów","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Kolor tła napisów","SETTINGS_SEEK_KEY":"Dzługość przewijania za pomocą strzałek","SETTINGS_SEEK_KEY_SHIFT":"Dzługość przewijania za pomocą strzałek, gdy przytrzymany jest klawisz Shift","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Długość przewijania do tyłu i do przodu","SETTINGS_BINGE":"Automatycznie odtwórz następny odcinek","SETTINGS_NEXT_VIDEO":"Wyświetl powiadomienie o rozpoczęciu następnego odcinka","SETTINGS_NEXT_VIDEO_TRIGGER":"Pokaż powiadomienia o następnym odcinku dla:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Czas trwania powiadomienia o następnym odcinku","SETTINGS_PLAY_IN_BACKGROUND":"Odtwarzanie w tle","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Odtwórz w zewnętrznym odtwarzaczu","SETTINGS_RESIZE":"Automatycznie zmień rozmiar okna przed rozpoczęciem odtwarzania","SETTINGS_OVERRIDE_SERVER":"Nadpisz adres URL serwera streamingowego (zaawansowane)","SETTINGS_SERVER_URL":"Adres URL serwera streamingowego: ","SETTINGS_SERVER_AVAILABLE":"Serwer streamingowy jest dostępny.","SETTINGS_SERVER_UNAVAILABLE":"Serwer streamingowy jest niedostępny.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Błąd","SETTINGS_SERVER_CONFIGURE_TITLE":"Konfiguracja adresu URL serwera streamingowego","SETTINGS_SERVER_CONFIGURE_INPUT":"Wprowadź adres URL serwera streamingowego","SETTINGS_SERVER_CACHE_SIZE":"Rozmiar pamięci podręcznej","SETTINGS_SERVER_TORRENT_PROFILE":"Profil torrent","SETTINGS_HTTPS_ENDPOINT":"Streamingowy punkt końcowy HTTPS: ","SETTINGS_TRANSCODE_PROFILE":"Profil transkodowania","SETTINGS_USE_BETA":"Użyj wersji Beta programu","SETTINGS_IMPORT_FB":"Importuj z Facebook","SETTINGS_IMPORT_DISK":"Importuj z lokalnego dysku","SETTINGS_IMPORT_TRAKT":"Importuj z Trakt","SETTINGS_PAUSE_MINIMIZED":"Wstrzymaj odtwarzanie po zminimalizowaniu okna","SETTINGS_HWDEC":"Dekodowanie z akceleracją sprzętową","SETTINGS_BACKGROUND":"Odtwarzanie w tle","SETTINGS_SUBSCRIBE_CALENDAR":"Subskrybuj kalendarz","SETTINGS_REQ_EXPORT":"Zażądaj exportu danych","SETTINGS_ACC_DELETE":"Zażądaj usunięcia konta","SETTINGS_CHANGE_PASSWORD":"Zmień hasło","SETTINGS_TOS":"Warunki korzystania z usługi","SETTINGS_SUPPORT":"Skontaktuj się ze wsparciem","SETTING_LANGUAGE":"Język","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_LOGOUT":"Wyloguj z Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Wyloguj z Trakt","SETTINGS_SCAN_FOR_REMOTE":"Zeskanuj kod QR, aby otworzyć pilot sieciowy","SETTINGS_DESKTOP_NOTIFICATIONS":"Powiadomienia na pulpicie","SETTINGS_DATA_SAVER":"Oszczędzanie energii","SETTINGS_LANGUAGE_INTERFACE":"interfejs","SETTINGS_LANGUAGE_SUBS":"domyślne napisy","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Automatyczny wybór ścieżki dźwiękowej","SETTINGS_DEFAULT_AUDIO_TRACK":"Domyślna ścieżka dźwiękowa","SETTINGS_SURROUND_SOUND":"Dźwięk surround","SETTINGS_ACCOUNT":"konto","SETTINGS_PLATFORM":"Platforma","SETTINGS_VERSION":"Wersja","SETTINGS_ABOUT":"O aplikacji","SETTINGS_MPV_WINDOW":"Uruchamiaj odtwarzacz w osobnym oknie (zaawansowane)","SETTINGS_PLAY_IN_EXTERNAL":"Zawsze uruchamiaj wideo w zewnętrznym odtwarzaczu","SETTINGS_STORAGE_BUTTON":"Wyczyść pamięć lokalną","SETTINGS_STORAGE_MODAL_TITLE":"Jesteś pewny?","SETTINGS_STORAGE_MODAL_MESSAGE":"Spowoduje to wyczyszczenie lokalnej pamięci i wylogowanie użytkownika.","SETTINGS_HWDEC_PICKER":"Wybierz ustawienie dekodowania z akceleracją sprzętową","SETTINGS_HW_AUTOMATIC":"Automatyczna","SETTINGS_HW_DISABLED":"Wyłączona","SETTINGS_HW_ACCELERATED":"Akceleracja dekodowania","SETTINGS_HW_FULL":"Pełna akceleracja","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Wyłączone","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Powiadomienie o połączeniu sieciowym","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Adres URL pilota sieciowego","SETTINGS_COPY_REMOTE_URL":"Skopiuj adres URL pilota sieciowego","SETTINGS_REMOTE_URL_COPIED":"Adres URL pilota sieciowego został skopiowany do schowka","SETTINGS_SECTION_SUBTITLES":"Napisy","SETTINGS_SECTION_AUDIO":"Dźwięk","SETTINGS_SECTION_CONTROLS":"Sterowanie","SETTINGS_SECTION_AUTO_PLAY":"Automatyczne odtwarzanie","SETTINGS_SECTION_ADVANCED":"Zaawansowane","SUBSPICKER_AUDIO":"Audio","SUBSPICKER_SUBTITLES":"Napisy z dodatków","SUBSPICKER_BLACK_BACKGROUND":"Użyj czarnego tła","SUBSPICKER_VERTICAL_OFFSET":"Przesunięcie pionowe","SUBSPICKER_SIZE":"Rozmiar","SUBSPICKER_DELAY":"Opóźnienie","SUBSPICKER_EMBEDDED_SUBS":"Wbudowane napisy","MOBILE_PRIVACY_POLICY":"Polityka prywatności","MOBILE_CRASH_REPORTING":"Zgłaszanie błędów","MOBILE_ZOOM_TO_FILL":"Powiększ, aby wypełnić ekran","MOBILE_PASSTHROUGH":"Cyfrowe wyjście audio (passthrough)","MOBILE_RUN_LOW_BATTERY":"Praca na niskim poziomie baterii","MOBILE_RUN_FOREGROUND":"Uruchom jako usługę pierwszoplanową","MOBILE_PERFORMANCE":"WYDAJNOŚĆ I STABILNOŚĆ","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"Kod QR wygasa w ","MOBILE_LOG_INTO":"Zaloguj się do swojego konta Stremio ","MOBILE_SCAN_QR":"Zeskanuj kod QR powyżej lub przejdź do ","MOBILE_LINK_ACCOUNT":"Powiąż konto","MOBILE_SPEEDPICKER_CANCEL":"Anuluj","MOBILE_SPEEDPICKER_LABEL":"Wybór prędkości odtwarzania","MOBILE_EMPTY_LIBRARY":"Twoja biblioteka jest pusta","MOBILE_NO_ADDON_ACTIVE":"Żaden dodatek Stremio nie jest aktywny dla tego typu.","MOBILE_ORGANIZER_WARNING":"Aplikacja Stremio Organizer zapewnia ograniczoną funkcjonalność. Aby uzyskać listę źródeł i pełną funkcjonalność Stremio, użyj Stremio na komputerze.","MOBILE_ADDON_LOADING":"wciąż się ładuje","MOBILE_ADDONS_LOADING":"dodatki wciąż się ładują","MOBILE_ADDON":"Dodatek","MOBILE_CONFIGURE_ADDON":"Konfiguracja dodatku","MOBILE_CONFIGURE_ADDON_LABEL":"Skonfiguruj dodatek","MOBILE_ORGANIZER_ADDONS_WARNING":"Aplikacja Stremio Organizer zapewnia ograniczony wybór dodatków. Aby w pełni cieszyć się Stremio, użyj Stremio na komputerze.","MOBILE_DISCONNECT":"Rozłączenie","MOBILE_LOOKING_FOR_DEVICES":"Poszukiwanie urządzeń...","MOBILE_CAST_TO":"Streamuj do","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Usuń konto","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Usunięcie konta nie jest natychmiastowe ze względu na zobowiązania prawne. Po złożeniu wniosku o usunięcie konta będziesz musiał użyć innego adresu e-mail/profilu Facebook, aby utworzyć nowe konto Stremio w przyszłości.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Potwierdź usunięcie konta","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Twoje konto zostało utworzone za pomocą Facebooka. Aby usunąć konto, skorzystaj z naszego portalu użytkownika pod adresem www.stremio.com/login.","MOBILE_DELETE_ACCOUNT_MESSAGE":"Podaj hasło, aby potwierdzić usunięcie konta.","MOBILE_DELETE_ACCOUNT_BUTTON":"Usuń konto","NAVIGATION_ON":"Włącz","NAVIGATION_OFF":"Wyłącz","MARKETING_AGREE":"Wyrażam zgodę na otrzymywanie informacji marketingowych od Stremio","QUIT":"Zamknij","CONNECTED":"Połączono","AUTHENTICATE":"Uwierzytelnianie","CACHING":"Buforowanie","SETTINGS_CACHING_DRIVE":"Dysk buforujący","ENABLE_LOCAL_FILES_ADDON":"Włącz dodatek plików lokalnych (wymaga restartu)","LOCAL_ADDON_NOT_ENABLED":"Dodatek plików lokalnych nie jest włączony. Kliknij tutaj, aby przejść do ustawień i go włączyć.","ENABLE_REMOTE_HTTPS_CONN":"Włącz zdalne połączenia HTTPS","TORRENT_PROFILE":"Profil torrent","DATA_CACHING":"Buforowanie danych","MAGNET_PARSING":"Analizowanie linku Magnet","January":"Styczeń","February":"Luty","March":"Marzec","April":"Kwiecień","May":"Maj","June":"Czerwiec","July":"Lipiec","August":"Sierpień","September":"Wrzesień","October":"Październik","November":"Listopad","December":"Grudzień","Monday":"Poniedziałek","Tuesday":"Wtorek","Wednesday":"Środa","Thursday":"Czwartek","Friday":"Piątek","Saturday":"Sobota","Sunday":"Niedziela","Action":"Akcja","Comedy":"Komedia","War":"Wojna","Family":"Rodzina","Animation":"Animacja","Adventure":"Przygoda","Fantasy":"Fantasy","Crime":"Kryminał","Mystery":"Tajemnica","Romance":"Romans","Drama":"Dramat","Horror":"Horror","Thriller":"Thriller","Sci-Fi":"Sci-Fi","Music":"Muzyka","Biography":"Biografia","Documentary":"Dokument","Sport":"Sport","Musical":"Musical","Western":"Western","Film-Noir":"Film-Noir","News":"Wiadomości","History":"Historia","Game-Show":"Teleturnieje","Reality-TV":"Reality-TV","Talk-Show":"Talk-Show","Film & Entertainment":"Film i Rozrywka","Gaming":"Gaming","From TV":"Z TV","Lifestyle":"Lifestyle","Science & Education":"Nauka i Edukacja","Cooking & Health":"Gotowanie i Zdrowie","Beauty & Fashion":"Moda i Uroda","Sports":"Sporty","News & Politics":"Wiadomości i Polityka","How-to & DIY":"Poradniki i DIY","Tech":"Technologia","Automotive":"Motoryzacja","Causes & Non-Profits":"Szczytne cele i Non-Profit","Movies":"Filmy","Uk Live Tv":"Uk Live Tv","Fashion":"Moda","Business News Radio":"Radio wiadomości biznesowych","Business Tv":"Biznesowe Tv","Cars & Auto":"Samochody i auta","Comedy Radio":"Radio komediowe","Lifestyle Radio":"Radio lifestyle","News Tv":"Wiadomości Tv","Food And Wine":"Jedzenie i Wino","Latino Tv":"Latynoska Tv","Shopping Tv":"Zakupy Tv","Religion":"Religia","Kids":"Dzieci","Body & Soul":"Ciało i Dusza","Education":"Edukacja","Indian Tv":"Indyjska Tv","Extreme Sports":"Sporty ekstremalne","Middle Eastern Tv":"Bliski wschód Tv","Celebrity Tv":"Celebryckie Tv","Science Tv":"Naukowe Tv","Bikini babe":"Bikini babe","Outdoors":"Na zewnątrz","German Tv":"Niemieckie Tv","French Tv":"Francuskie Tv","Italian Tv":"Włoskie Tv","Gamer Tv":"Tv dla gracza","Travel":"Podróżowanie","Asian Tv":"Azjatyckie Tv","Entertainment":"Rozrywka","News Radio":"Radio Informacyjne","Music Radio":"Radio Muzyczne","Language Learning":"Nauka języków","Science Radio":"Radio Naukowe","Tech Radio":"Radio Technologiczne","Science & Technology Vod":"Nauka i technologia Vod","new video":"nowe wideo","new episode":"nowy odcinek","new movie":"nowy film","recommended":"polecane","we recommend":"polecamy","offer of the day":"oferta dnia","news":"wiadomości","music video":"teledysk","CTX_SHOW_HOTKEYS":"Pokaż skróty","CTX_DISMISS_NOTIF":"Odrzuć powiadomienie","CTX_DISMISS_ALL":"Odrzuć wszystkie","CTX_SHARE":"Udostępnij","CTX_COPY_SHARE_LINK":"Kopiuj link do udostępnienia.","CTX_COPY_MAGNET_LINK":"Kopiuj link Magnet","CTX_COPY_STREAM_LINK":"Kopiuj link do streamu","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Pobierz film","CTX_DOWNLOAD_SUBS":"Pobierz napisy","CTX_VIEW_ON_YOUTUBE":"Zobacz na Youtube","CTX_SHOW":"Pokaż","CTX_PLAY":"Odtwórz","CTX_PLAY_IN":"Odtwórz w","CTX_PLAY_ON":"Odtwórz na","CTX_WATCH_ON":"Oglądaj na","CTX_WATCH":"Oglądaj","CTX_WATCHED":"Obejrzane","CTX_WATCH_BEGINNING":"Odtwórz od początku","CTX_WATCH_MOBILE":"Odtwórz na urządzeniu mobilnym","CTX_REWIND":"Przewiń do początku","CTX_MARK_WATCHED":"Oznacz jako obejrzane","CTX_MARK_NON_WATCHED":"Oznacz jako nieobejrzane","CTX_MARK_UNWATCHED":"Oznacz jako nieoglądane","CTX_MARK_REST":"Oznacz resztę jako obejrzane","CTX_UNMARK_REST":"Oznacz resztę jako nieobejrzane","CTX_RECEIVE_NEW_NOTIF":"Otrzymuj nowe powiadomienia","CTX_ENABLE_NEW_NOTIF":"Włącz powiadomienia","CTX_DISABLE_NEW_NOTIF":"Wyłącz powiadomienia","CTX_REMOVE_CACHE":"Wyczyść pamięć podręczną","CTX_REMOVE_CACHE_EP":"Usuń odcinek z pamięci podręcznej","CTX_OPEN_CONTAINING":"Otwórz folder zawierający","CTX_REMOVE":"Usuń z Biblioteki","CTX_AVAILABLE_OFFLINE":"Dostępne offline","CTX_PAUSED":"Zatrzymane","CTX_ALWAYS_ON_TOP":"Zawsze na wierzchu","CTX_FULLSCREEN":"Tryb pełnoekranowy","CTX_WRONG_SUBS":"Złe napisy?","CTX_REPORT_ISSUES":"Wyślij raport o błędzie","CTX_COPY":"Kopiuj","CTX_PASTE":"Wklej","CTX_CLEAR":"Wyczyść","CTX_CLEAR_RECENT_SEARCHES":"Wyczyść ostatnie wyszukiwania","HELLO_THERE":"Witaj","HOPE_YOU_ENJOY":"Mamy nadzieję, że Stremio przypadło Ci do gustu i jest już jedną z Twoich ulubionych aplikacji!","WHO_ARE_WE":"Kim jesteśmy? Jesteśmy zespołem, który za tym stoi - dwoma facetami, którzy od trzech lat ciężko pracują każdego dnia, aby uczynić ten produkt coraz lepszym.","SUPPORT_US":"Jeśli lubisz korzystać ze Stremio, jeśli Stremio jest dla Ciebie wartościowe - roznieś wieści!","SPREAD_THE_WORD":"Podziel się teraz ze znajomymi, roznieś wieści o Stremio","MORE_PEOPLE":"Im więcej osób będzie korzystać ze Stremio, tym będzie ono lepsze!","SEND_A_LINK":"Lub wyślij link do naszej strony internetowej","TIP_LOCALFILES":"Wskazówka: możesz przeciągać i upuszczać lokalne pliki wideo do Stremio","ADDON_MY":"Moje dodatki","ADDON_COMMUNITY":"Dodatki społeczności","ADDON_OFFICIAL":"Oficjalne dodatki","ADDON_REPOS":"Repozytoria dodatków","ADDON_SEARCH":"Wyszukaj dodatki","ADDON_INSTALL":"Zainstaluj","ADDON_CONFIGURE":"Konfiguruj","ADDON_UNINSTALL":"Odinstaluj","ADDON_UPGRADE":"Zaktualizuj","ADDON_INSTALLED":"Zainstalowano","ADDON_INSTALLED_MSG":"Dodatek zainstalowany!","ADDON_UPGRADED_MSG":"Dodatek zaktualizowany!","ADDON_UNKNOWN":"Nieznany","ADDON_ERR":"Wystąpił błąd przy instalacji dodatku","ADDON_DISCONNECTED":"Odłączono","ADDON_APP_MISSING":"aplikacja dla tego źródła nie jest zainstalowana. Czy chcesz ją teraz zainstalować?","ADDON_APP_INSTALL":"Zainstaluj","ADDON_PAGE":"Strona dodatku","ADDON_TOP_CONTENT":"Najlepsze z tego dodatku","ADDON_PROVIDES":"Ten dodatek zapewnia:","ADDON_WATCH":"Oglądaj #{types} teraz!","ADDON_WATCH_FREE":"Oglądaj #{types} teraz za darmo!","ADDON_ADDON":"Dodatki","ADDON_SUPPORTED_TYPES":"Obsługiwane typy","ADDON_SUPPORTED_CATALOGS":"Obsługiwane katalogi","ADDON_PROVIDES_DISCOVER":"Więcej #{types} w Odkryj","ADDON_PROVIDES_STREAMS":"Oglądaj #{types}","ADDON_PROVIDES_STREAMS_FREE":"Oglądaj #{types} za DARMO","ADDON_PROVIDES_SUBTITLES":"Napisy dla #{types}","ADDON_CANTDETECT":"Nie mogliśmy wykryć uruchomionego Stremio, więc nie mogliśmy wykryć zainstalowanych dodatków.","ERR_NO_META":"Nie znaleziono informacji na ten temat","ERR_GETTING_META":"Błąd pobierania informacji na ten temat.","ERR_CANT_PARSE_MAGNET":"Nie można przeanalizować Magnetu","ERR_NO_MAGNET_INFOHASH":"Nieprawidłowy info hash dla Magnetu","ERR_NO_FILE_PATH":"Nie można wysłać żądania bez ścieżki do pliku","ERR_NO_TORRENT":"Żaden torrent nie został zwrócony","ERR_NO_SUPPORTERD_FILES":"Nie znaleziono obsługiwanych plików","ERR_OPENING_FILES":"Nie można otworzyć plików zewnętrznych","ERR_INVALID_LINK":"Nieprawidłowy link","ERR_REGISTERED_ONLY":"Ta opcja jest dostępna tylko dla zarejestrowanych użytkowników.","ERR_CLIPBOARD":"Nie można odtwarzać ze schowka","ERR_CLIPBOARD_READ":"Nie można odczytać schowka na tej platformie","ERR_CLIPBOARD_GENERIC":"W schowku nie znaleziono odtwarzalnego adresu URL. Skopiuj adres URL (np. link Magnet) do filmu.","BOARD_CONTINUE_WATCHING":"Kontynuuj oglądanie","BOARD_EXPLANATION_RECOMMENDATIONS":"Filmy wybrane specjalnie dla Ciebie.<br />Ten film jest przykładową rekomendacją.","BOARD_EXPLANATION_EPISODES":"Tutaj pojawiają się nowe odcinki Twoich ulubionych seriali.<br />Dodaj seriale które oglądasz do swojej biblioteki.","BOARD_EXPLANATION_VIDEOS":"Tutaj pojawiają się nowe filmy Twoich ulubionych kanałów.<br />Dodaj kanały YouTube które obserwujesz do swojej biblioteki.","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE":"Contribute","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"Learn more","WEBSITE_COMPANY":"Company","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Need Help?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"Oglądaj natychmiast","WEBSITE_SLOGAN_ALL":"Wszystkie materiały wideo w jednym miejscu","WEBSITE_SLOGAN_NEW":"Wszystko, co możesz oglądać","WEBSITE_SLOGAN_NEW_NEW":"Wolność streamowania","WEBSITE_WATCH_FROM":"Oglądaj od","WEBSITE_DOWNLOAD":"Pobierz teraz","WEBSITE_DOWNLOAD_FOR":"Pobierz teraz dla","WEBSITE_IS_DESKTOP":"SStremio to aplikacja komputerowa, otwórz tę stronę na komputerze i pobierz ją","WEBSITE_DESKTOP_DEMO_VID":"Wersja demonstracyjna pulpitu","WEBSITE_PAGE_HOME":"Strona główna","WEBSITE_PAGE_FEATURES":"Cechy","WEBSITE_PAGE_ADDONS":"Dodatki","WEBSITE_PAGE_TECH":"Technologia","WEBSITE_PAGE_CREATE_ADDON":"Stwórz dodatek","WEBSITE_PAGE_CONTACTS":"Kontakty","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Filmy","WEBSITE_TYPE_series_PL":"Seriale","WEBSITE_TYPE_tv":"Live TV","WEBSITE_TYPE_channel":"Kanały","WEBSITE_STREMIO_WHAT_IS":"Stremio to aplikacja, która pomaga organizować i błyskawicznie oglądać ulubione filmy, seriale i kanały telewizyjne.","WEBSITE_FEATURES_WATCH":"Oglądaj natychmiast w HD ","WEBSITE_FEATURES_WATCH_DETAIL":"Click and play your favourite movies, TV Shows, videos and TV channels.","WEBSITE_FEATURES_SUBS":"Automatic Subtitles","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio automatically picks synced subtitles for your language.","WEBSITE_FEATURES_SUBS_LABEL":"Your move, chief.","WEBSITE_FEATURES_CAST":"Play on TV & mobile devices","WEBSITE_FEATURES_CAST_DETAIL":"Cast to AppleTV, Chromecast, Smart TV (DLNA/UPnP) and mobile devices.","WEBSITE_LIB":"Enjoy Your Personal Library Synced on All Your Devices","WEBSITE_LIB_COLLECT":"Collect from Stremio","WEBSITE_LIB_IMPORT":"Import from Facebook","WEBSITE_LIB_LOCAL":"Add from your local drive","WEBSITE_BOARD":"The Board - Your one-stop place for Notifications and Recommendations","WEBSITE_BOARD_RECOMMEND":"Recommended TV Show","WEBSITE_BOARD_TRENDING":"Trending Movie","WEBSITE_BOARD_NEW":"New Video","WEBSITE_BOARD_EPISODE":"New Episode","WEBSITE_BOARD_1":"Looking for something interesting to watch? Get recommendations based on your taste!","WEBSITE_BOARD_2":"Get notified when a new episode of your favourite TV show or YouTube channel is out!","WEBSITE_BOARD_YOUTUBE":"New videos of YouTube channels","WEBSITE_BOARD_EPISODES":"New episodes of series you follow","WEBSITE_ADDONS":"Content Addons","WEBSITE_TECH_DETAIL":"We love technology, we love mad science!\\nStremio is using the following open source technologies:","WEBSITE_TECH_WCJS":"WebChimera.js allows Stremio to play any video format with good performance.","WEBSITE_TECH_WCJS_EXTRA":"We are core project contributors","WEBSITE_TECH_ELECTRON":"Electron provides an innovative platform to build Stremio with.","WEBSITE_TECH_ELECTRON_EXTRA":"We are project contributors","WEBSITE_TECH_LINVODB":"A database technology that ensures your data is organized and available anywhere you login.","WEBSITE_TECH_LINVODB_EXTRA":"In-house technology","WEBSITE_CREATE_ADDON":"Create your addon","WEBSITE_CREATE_ADDON_DETAIL":"Do you have a service providing video content? We\'ll help you benefit from Stremio\'s features by creating your Addon.","WEBSITE_CREATE_ADDON_BENEFITS":"Benefits of Creating an Addon for Stremio","WEBSITE_P2P_BEAUTY":"The Beauty of Peer-to-Peer Streaming","WEBSITE_P2P_1":"Reliable and affordable full HD / 4K video on demand or live streaming","WEBSITE_P2P_2":"Distribution platform providing great user experience","WEBSITE_P2P_3":"We will create an addon meeting your exact needs","WEBSITE_P2P_CONTACT":"Interested? You are welcome to <a href=\'mailto:office@stremio.com\'>contact us</a>.","WEBSITE_P2P_CONTACT_EXTRA":"We will be happy to help you integrate your content with Stremio!","WEBSITE_P2P":"Once in a while, there comes a technology that changes the name of the game. We invested tons of time and effort in building our Peer-to-Peer (P2P) video streaming engine that provides great performance and versatility to adapt with any use case.\\nContact us for DRM-enabled P2P video on demand or live streaming.","WEBSITE_THOUGHTS":"Thoughts we share:","WEBSITE_SPREAD":"Spread the word about Stremio:","WEBSITE_CONTACT":"Contact us, we\'ll be happy to hear from you!","WEBSITE_OPENSOURCE":"For our open source projects, go to our","WEBSITE_BITCOIN":"Donate bitcoin:","WEBSITE_FAQ":"Często zadawane pytania","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Pytania","WEBSITE_TOS":"Terms of use","WEBSITE_LEGAL":"Legal","WEBSITE_PAGE_ABOUT":"O","WEBSITE_PAGE_BECOME_PARTNER":"Become a partner","WEBSITE_ALL_YOU_CAN_WATCH":"Freedom To Watch\\nEverything You Want.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"What is stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio is a one-stop hub for video content aggregation. Discover, organize and watch video from all kind of sources on any device that you own.","WEBSITE_WHAT_IS_STREMIO_P2":"Movies, TV shows, series, live television or web channels like YouTube and Twitch.tv - you can find all this on Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio is a modern media center that\'s a one-stop solution for your video entertainment. You discover, watch and organize video content from easy to install addons.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Movies, TV shows, live TV or web channels - find all this on Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Enjoy on all your Media devices","WEBSITE_DEVICES_COLLECT":"Collect from Stremio","WEBSITE_DEVICES_IMPORT_FB":"Import from facebook","WEBSITE_DEVICES_LOCAL":"Add from local drive","WEBSITE_JOIN_THE_PARTY_NOW":"Join the party now","WEBSITE_DEVICES_ALL":"Easy to use on all your devices;","WEBSITE_EXTENDABLE_CATALOG":"Infinitelly extendable video catalog;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Great features to organize your media;","WEBSITE_AS_SEEN_ON":"As seen on","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"O Nas","WEBSITE_LINK_TECHNOLOGY":"Technology","WEBSITE_LINK_APPS":"Apps","WEBSITE_LINK_DOWNLOADS":"Downloads","WEBSITE_MORE":"Więcej","WEBSITE_LINK_ADDONS":"Dodatki","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Contribute","WEBSITE_LINK_COMMUNITY":"Społeczność","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... & More","WEBSITE_LINK_HELP":"Help center","WEBSITE_LINK_CONTACTS":"Business inquiries","WEBSITE_LINK_TOS":"Terms & conditions","WEBSITE_LINK_PRAVACY":"Polityka prywatności","WEBSITE_SUBSCRIBE":"Subscribe","WEBSITE_NEWSLETTER":"Join Our Newsletter for amazing stuff","WEBSITE_PLACEHOLDER_EMAIL":"Twój email","WEBSITE_COMMUNITY":"Community","WEBSITE_LINK_PRAVACY_LEGAL":"Privacy & legal","WEBSITE_WHY":"Why we do it","WEBSITE_WHY_P1":"At Stremio, we come to work every day because we want to solve an important problem for the video-on-demand industry. There’s so much new content published every minute that it’s virtually impossible to find your way around it.","WEBSITE_WHY_P2":"We help people navigate that huge world of video entertainment and discover new content to enjoy. Our apps bring together movies, series, live TV, web channels, and more. We are dedicated to making it incredibly easy for users to find titles and broadcasters that they love.","WEBSITE_WHY_P3":"You can use our service on any device and at any time, making Stremio the only video entertainment hub you’ll ever need.","WEBSITE_TEAM":"Zespół","WEBSITE_TEAM_P":"The Stremio team is small but powerful: between the ten of us, we code in X languages, and share expertise in software development, UI and UX design, marketing and advertising, and business and startups.","WEBSITE_FEATURES":"Funkcjonalność","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Discover new content with ease","WEBSITE_FEATURES_DISCOVER_P":"Easily discover new movies, TV shows, series and channels to watch. Browse by category, genre, rating, recency, etc. or simply type a name to find. Stremio makes finding new video content a piece of cake.","WEBSITE_FEATURES_ALL_CONTENT":"All of your video content on one screen","WEBSITE_FEATURES_ALL_CONTENT_P1":"See what movies, series or videos you didn’t finish and continue watching them; get notified for new episodes and releases; and browse through the recommendations you will get based on your viewing habits.","WEBSITE_FEATURES_LIBRARY":"Organize your video library","WEBSITE_FEATURES_LIBRARY_P1":"Add any title to your Stremio library with a single click and find your way around your content, neatly arranged by type, recency, or alphabetical order.","WEBSITE_FEATURES_CALENDAR":"Keep track of everything you watch","WEBSITE_FEATURES_CALENDAR_P1":"Get a calendar visualization of all the movies and series you add to your library. Export your Stremio calendar and sync it so you always know when a new episode or a premier is due.","WEBSITE_FEATURES_BIG_SCREEN":"Enjoy your video content on a bigger screen","WEBSITE_FEATURES_BIG_SCREEN_P1":"Cast whatever you are watching to another device - be it a phone, tablet or a TV with a single click.","WEBSITE_FEATURES_SOURCES":"Watch video from many different sources","WEBSITE_FEATURES_SOURCES_P":"Install official and community addons to enjoy video sourced from many different providers - all in one sleek, easy to use app.","WEBSITE_CREATE_AN_ADDON":"Create an addon","WEBSITE_FEATURES_SYNC":"Sync your library across different devices and resume your playback","WEBSITE_FEATURES_SYNC_P1":"Login with your account across all your devices and enjoy your library, addons, playback and calendar synchronized.","WEBSITE_FEATURES_EXTENDABLE":"Extendable video catalog by addons","WEBSITE_FEATURES_EXTENDABLE_P1":"The Stremio addon catalog provides a number of addons to install and watch a variety of video content from. This includes movies, shows, live TV, sport, news, podcasts, web channels, video games and more.","WEBSITE_FEATURES_AUTO_SUBS":"Automatic subtitles","WEBSITE_FEATURES_AUTO_SUBS_P1":"With our subtitle addons you get automatically selected options for your preferred language.","WEBSITE_FEATURES_CHROMECAST":"Casting to Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Enjoy your video content on a bigger screen or just cast whatever you are watching to another device.","WEBSITE_FEATURES_KEEP_TRACK":"Keep track of your favorite TV shows and Web channels","WEBSITE_FEATURES_KEEP_TRACK_P1":"Get a calendar visualization and notifications for new episodes of your favorite series and web channels.","WEBSITE_FEATURES_POWER_USER":"Power user features","WEBSITE_FEATURES_POWER_USER_P1":"Play in external player","WEBSITE_FEATURES_POWER_USER_P2":"Play from a torrent file or magnet link","WEBSITE_FEATURES_POWER_USER_P3":"Import to your library from Facebook likes or local disk","WEBSITE_ADD_ONS":"Dodatki","WEBSITE_ADD_ONS_P1":"All of the video content Stremio provides get sourced through an addon system - no content or content provider has been built into the app.","WEBSITE_ADD_ONS_P2":"There are two groups of addons available: official and community addons.","WEBSITE_ADD_ONS_P3":"The official ones are developed and hosted by Stremio, whereas community addons are created by our community members, who also host them.","WEBSITE_ADDONS_OFFICIAL":"Official addons","WEBSITE_ADDONS_WATCHUB":"Stream your favourite movies, series and shows from providers like iTunes, Hulu, Amazon and other UK/US services.","WEBSITE_ADDONS_YOUTUBE":"Watch your favourite YouTube channels ad-free and get notifications for new uploads from the contributors you follow.","WEBSITE_ADDONS_FILMON":"Watch live TV, movies and social television for free. 600 TV channels, 45,000 free movies, documentaries and more.","WEBSITE_ADDONS_OPENSUBTITLES":"Movie and TV subtitles in multiple languages, thousands of translated subtitles uploaded every day.","WEBSITE_ADDONS_COMMUNITY":"Community addons","WEBSITE_ADDONS_FILMON_VOD":"Watch video on demand from Filmon.tv","WEBSITE_ADDONS_TWICH":"Watch live streams from Twitch.tv - a video streaming platform for the e-sports industry.","WEBSITE_ADDONS_VODO":"Watch indie movies absolutely free of charge.","WEBSITE_ADDONS_NETFLIX":"Watch Netflix movies and web series.","WEBSITE_ADDONS_CREATE":"Stwórz dodatek","WEBSITE_ADDONS_CREATE_P1":"If you wish, you can develop your own addon. This way, you can give yourself and our community access to new video content, and reach a new, targeted audience of millions of users around the world.","WEBSITE_ADDONS_START_CREATE":"To get started, visit the Stremio Addon SDK page:","WEBSITE_DOWNLOADS":"Downloads","WEBSITE_DOWNLOADS_P1":"For optimal performance, we recommend that you use the latest available version of the Stremio apps. If for some reason, however, you would like to use an older version, you can download it here.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio for Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio for macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio for Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio for Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio for iOS","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"The Stremio platform is open source and you can easily create an addon for content that is currently not sourced.","WEBSITE_CONTRIBUTE_WHY":"Why should you create an addon?","WEBSITE_CONTRIBUTE_WHY_P1":"Reach new audience for your video content","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio’s user base is growing rapidly - within the first year of the launch, Stremio had gained 1 million users around the world, and in the second year of the platform’s existence this number grew to 2.5 million.","WEBSITE_CONTRIBUTE_WHY_P3":"With your addon, you can easily reach this audience and distribute your video content to them.","WEBSITE_CONTRIBUTE_ALL":"Watch your favourite movies, videos, series and channels in one single place.","WEBSITE_CONTRIBUTE_ALL_P1":"You’re a fan of a particular type of content not available on Stremio yet? Create an addon for it and enjoy watching your favourite videos in one of the largest and easiest to use entertainment hubs on the market.","WEBSITE_CONTRIBUTE_ALL_P2":"On top of that, you’ll get the endless gratitude of other like-minded Stremio community members.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetize your addon and earn money with its help","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Once you develop a new addon for Stremio, you can easily monetize it through a number of different ways. If you are considering this, feel free to get in touch with us at ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - we would be happy to consult and advise you about addon monetization options.","WEBSITE_CONTRIBUTE_TRANSLATE":"Become a volunteer translator","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"If you want to enjoy the Stremio apps in different languages, you can join our community of volunteer translators. They help us add versions of the Stremio in many different languages.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Are you eager to get started?","WEBSITE_TRANSALTE_STREMIO":"Translate Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Official communities","WEBSITE_COMMUNITY_OFFICIALS_P1":"Become a part of the growing Stremio community. Follow us on social media and don’t be shy to say hello - we love hearing from our fans! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Unofficial communities","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Dodatki Stremio","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partners and supporters","WEBSITE_COMMUNITY_GOODIES":"Stremio goodies","WEBSITE_COMMUNITY_WALLPAPERS":"Tapety","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"Kontakt","WEBSITE_CONTACT_US_P1":"If you have any questions, comments or suggestions, feel free to get in touch with us through the contact form below.","WEBSITE_CONTACT_US_P2":"Keep in mind that we are located in Bulgaria so there may be a delay in addressing your query due to time zone differences.","WEBSITE_CONTACT_US_SUCCESS":"Your message has been sent. We will get back to you at our earliest convenience.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Please enter a valid email!","WEBSITE_CONTACT_US_Q_RELATED_TO":"What is your question related to?","WEBSITE_CONTACT_US_Q_OS":"What is your Operation System?","WEBSITE_CONTACT_US_PH_EMAIL":"Twój e-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Wiadomość","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"Wyślij","WEBSITE_CONTACT_US_Q_1":"How to install?","WEBSITE_CONTACT_US_Q_2":"How to uninstall?","WEBSITE_CONTACT_US_Q_3":"(HTML) How to make lasagna?","WEBSITE_CONTACT_US_Q_4":"Dodatki","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Technology","WEBSITE_TECHNOLOGY_P1":"We love technology and mad science. </br> Here is what powers Stremio (it’s all open-source).","WEBSITE_TECHNOLOGY_P_QT":"Cross-platform software development at its best.","WEBSITE_TECHNOLOGY_P_MPV":"A free, open source, and cross-platform media player.","WEBSITE_TECHNOLOGY_P_RN":"React Native lets you build mobile apps using only JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework embedded into application to get multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm is a mobile platform and a replacement for SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js is an open-source, cross-platform, JavaScript runtime environment.","WEBSITE_TECHNOLOGY_P_RUST":"Rust is a multi-paradigm system programming language focused on safety, especially safe concurrency.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribute to the project","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"There are two ways you can contribute to Stremio and help us make the product even better.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"You can donate your valuable language skills by translating the platform...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"or","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... you can employ your coding skills for creating community addons. ","WEBSITE_TRANSLATE_STREMIO":"Translate Stremio","WEBSITE_404_OH_NO":"Uh-oh! The page you’re looking for is not here...","WEBSITE_GO_HOME":"Go home","WEBSITE_LINK_OTHER_DOWNLOADS":"Other downloads","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Support","WEBSITE_DOWNLOAD_4_0_BETA":"Download Now Stremio 4 beta","WEBSITE_GET_FOR_DESKTOP":"Get for desktop","WEBSITE_LINK_ADDON_COMPETITION":"Addon competition","WEBSITE_LINK_ART_CONTEST":"Art contest","WEBSITE_MY_ACCOUNT":"My account","WEBSITE_MAINPAGE_FAQ_001_H1":"What is Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio is a modern media center that gives you the freedom to watch everything you want.","WEBSITE_MAINPAGE_FAQ_002_H1":"How does it work?","WEBSITE_MAINPAGE_FAQ_002_P1":"Once you install Stremio on your device and create an account, all you have to do is to visit the addon catalog and install any addon you want, and you\'re good to go!","WEBSITE_MAINPAGE_FAQ_002_P2":"After that, you can go to the Discover or Board sections to start exploring content.","WEBSITE_MAINPAGE_FAQ_003_H1":"What can I watch here?","WEBSITE_MAINPAGE_FAQ_003_P1":"A lot: Movies, TV shows, Web channels, Sport, TV channels, listen to Podcasts and more. Thanks to our addon system, you can accss a variety of content.","WEBSITE_MAINPAGE_FAQ_004_H1":"Is Stremio open-source?","WEBSITE_MAINPAGE_FAQ_004_P1":"Yes, you can check the following links: ${1}desktop app${2} and ${3}GitHub organization${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Is Stremio safe?","WEBSITE_MAINPAGE_FAQ_005_P1":"Yes: because it is open-source software, the code is publically auditable and you can review it yourself.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"How about my privacy?","WEBSITE_MAINPAGE_FAQ_006_P1":"We respect users\' privacy and do not collect any personal data besides the essential minimum to create and sync your account.","WEBSITE_MAINPAGE_FAQ_006_P2":"There is also a ${1}Guest mode${2} at signup, which requires no data whatsoever: in this mode, no calls are made to our backend. However, it comes at the expense of useful features, such as being able to sync your library across devices.","WEBSITE_MAINPAGE_FAQ_007_H1":"Can I cast to my TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Yes, we support Chromecast and you can cast both from desktop and mobile apps (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"How many addons does Stremio have?","WEBSITE_MAINPAGE_FAQ_008_P1":"As of late 2019, over 50 - for more information, check our addon catalog.","WEBSITE_MAINPAGE_FAQ_009_H1":"Can Stremio be extended beyond what\'s in the addon catalog?","WEBSITE_MAINPAGE_FAQ_009_P1":"Yes, you should check those: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"What devices does Stremio support?","WEBSITE_MAINPAGE_FAQ_010_P1":"We have desktop apps for Windows, Mac and Linux. For mobile, we support Android and iOS, although keep in mind that the iOS is limited in functionality (does not support most addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"There are many Android-based devices which you can run Stremio on, like NVIDIA Shield and Amazon Fire Stick, but we do not support them officially.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Can you add certain content to Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Sorry, we provide no content ourselves, but the more Stremio addons you have installed, the more content you will be able to find.","WEBSITE_MAINPAGE_FAQ_012_H1":"Can Stremio play magnet links?","WEBSITE_MAINPAGE_FAQ_012_P1":"Yes, and it can also play normal HTTP links and torrent files (drag and drop).","WEBSITE_MAINPAGE_FAQ_013_H1":"Can I download a video and watch offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Available offline is an upcoming feature, but if you allow Stremio to cache on your device (from the settings panel) you can watch the videos later without a connection.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nothing works, help me!","WEBSITE_MAINPAGE_FAQ_014_P1":"Are you sure you have installed addons? If yes, check with our ${1}help center${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"How does Stremio sustain it\'s development operations?","WEBSITE_MAINPAGE_FAQ_015_P1":"We run non-intrusive ads occassionally, but we\'re considering moving to a donation model.","WEBSITE_MAINPAGE_FAQ_015_P2":"For more questions, go to our ${1}help center${2}.","HELP_LEARN_MORE":"Pomóż nam dowiedzieć się więcej o Tobie..","LIFESTYLE":"Lifestyle","SPORTS":"Sporty","FOOD_HEALTH":"Jedzenie i zdrowie","BEAUTY_FASHION":"Moda i uroda","NEWS":"Wiadomości","GAMING":"Gaming","SCIENCE_EDUCATION":"Nauka i edukacja","MUSIC":"Muzyka","TRAVEL":"Podróż","LATE_NIGHT":"Late Night","REALITY":"Reality","COMEDY":"Komedia","DIY":"Poradniki DIY","TECH":"Technologia","CINEMA":"Kino","CONTINUE":"Kontynuuj","SLOW_LOADING":"POWOLNE ŁADOWANIE?","I_GIVE_UP":"PODDAJĘ SIĘ","LEARN_MORE":"Dowiedz się więcej","POOR_SOURCE":"To źródło jest słabo dostępne, albo twoje połączenie z internetem nie jest wystarczająco szybkie","PICK_CATEGORIES_ERR":"Musisz wybrać przynajmniej 3 kategorie","ADJUST_TIMING":"Dostosuj synchronizację z ","ADJUST_SIZE":"Dostosuj rozmiar z ","SEARCH_ANYTHING":"Możesz wyszukać cokolwiek...","ALL_CATEGORIES":"Wszystkie","SEARCH_CATEGORIES":"Filmy, seriale, YouTube i TV","SEARCH_PERSONS":"Aktorzy, reżyserzy i scenarzyści","SEARCH_PROTOCOLS":"Adresy HTTP i linki Magnet","SEARCH_TYPES":"Linki IMDB / TVDB","WATCHED":"Obejrzane","SHOW_LESS":"Pokaż mniej","LAST_SEARCHES":"Ostatnie wyszukiwania","CLEAR_HISTORY":"Wyczyść historię","CHOOSE_SOME":"WYBIERZ COŚ Z TEGO::","NO_WEB_REMOTE":"Nie można było załadować pilota sieciowego","STREMIO_OFFLINE":"Stremio jest offline","STREMIO_EXPENSIVE_CONNECTION":"Wykryliśmy, że twoje połączenie korzysta z danych komórkowych, czy chcesz kontynuować?","USE_DATA":"Użyj danych","WARNING":"Uwaga","MORE_INFO":"Więcej informacji...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Ładowanie...","STREMIO_TV_BACK_TO_LANGUAGES":"Wróć do języków","STREMIO_TV_REMOTE":"Pilot sieciowy","STREMIO_TV_GO_TO":"Przejdź do:","STREMIO_TV_OR_SCAN":"lub zeskanuj:","STREMIO_TV_ADDON_INSTRUCTIONS":"Podążaj zgodnie z instrukcjami w aby zainstalować preferowane dodatki.","STREMIO_TV_LIVE_TV":"Telewizja na żywo","STREMIO_TV_RESUME_WATCHING":"Wznów oglądanie","STREMIO_TV_LOADING_BACKGROUND":"Ładowanie tła","STREMIO_TV_CHECKING_AUTHENTICATION":"Sprawdzanie uwierzytelnienia","STREMIO_TV_LOADING_BOARD":"Ładowanie tablicy","STREMIO_TV_LOGIN_HEADER_LINE_1":"Chcemy, aby nasi użytkownicy mieli najlepsze możliwe doświadczenie z naszym oprogramowaniem.","STREMIO_TV_LOGIN_HEADER_LINE_2":"Z tego powodu uprzejmie prosimy o utworzenie i/lub zalogowanie się na swoje konto.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Dziękujemy za zrozumienie,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Zespół Stremio","STREMIO_TV_REMOTE_INSTRUCTIONS":"Aby skorzystać z pilota sieciowego na twoim Smartfonie / Tablecie / Komputerze:","STREMIO_TV_WIFI_SETUP":"Ustawienia Wi-Fi","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle nie wykrył połączenia internetowego.","STREMIO_TV_WIFI_DETAILS_1":"Połącz z:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Użyj hasła:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Otwórz przeglądarkę internetową z linkiem:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Domyślny","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"Po ostatnio oglądanych","STREMIO_TV_LIBRARY_SORT_NAME":"Po nazwie","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"Po nazwie malejąco","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"Po ilości obejrzeń","STREMIO_TV_LIBRARY_SORT_WATCHED":"Po obejrzanych","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"Po nie obejrzanych","STREMIO_TV_DETAILS_SEASON_NUMBER":"Sezon ${1}","STREMIO_TV_STREAMS_LOADING":"Załadowano ${1} z ${2} dodatków...","STREMIO_TV_STREAMS_STILL_LOADING":"Dodatek ${1} jeszcze się ładuje...","STREMIO_TV_PLAYER_SETTINGS":"Ustawienia odtwarzacza","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Opóźnienie napisów","STREMIO_TV_PLAYER_AUDIO_DELAY":"Opóźnienie dźwięku","STREMIO_TV_PLAYER_VIDEO_SCALING":"Skalowanie wideo","STREMIO_TV_PLAYER_CHAPTERS":"Rozdziały","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Pomiń ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Nieobsługiwane źródło streamu","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Nie udało się otworzyć linku zewnętrznego","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Brak możliwości regulacji w trybie audio passthrough","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Odtwórz za pomocą ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Odtwórz za pomocą libVLC","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Przełączanie na odtwarzacz libVLC z powodu błędu odtwarzania","STREMIO_TV_ADDONS_TITLE":"Użyj Stremio na telefonie lub komputerze, aby zainstalować lub skonfigurować dodatki a następnie naciśnij \\"Synchronizuj dodatki\\"","STREMIO_TV_ADDONS_SUBTITLE":"Notka: upewnij się, że używasz tego samego konta Stremio na obu urządzeniach","STREMIO_TV_ADDONS_SYNC_ADDONS":"Zsynchronizuj dodatki","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Pomyślnie zsynchronizowano dodatki","STREMIO_TV_ADDONS_SYNC_FAILED":"Nie udało się zsynchronizować dodatków.","STREMIO_TV_META_LINK_FAILED":"Nie udało się otworzyć linku meta.","STREMIO_TV_CATALOG_LOADING":"Katalog wciąż się ładuje...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Zaktualizowano język interfejsu","STREMIO_TV_SETTINGS_THEME_UPDATED":"Zaktualizowano motyw","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Domyślny odtwarzacz","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Zewnętrzny odtwarzacz","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferowany język","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Drugorzędny preferowany język","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Odtwarzanie tunelowe","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Możliwe problemy z odtwarzaniem na niektórych urządzeniach","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Niektóre formaty wideo mogą nie działać","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Dopasowanie liczby klatek na sekundę","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Wyłączony","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Tylko liczba klatek na sekundę","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Liczba klatek na sekundę i rozdzielczość","STREMIO_TV_SETTINGS_NO_CACHING":"Bez pamięci podręcznej","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Domyślny","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Miękki","STREMIO_TV_SETTINGS_PROFILE_FAST":"Szybki","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra szybki","STREMIO_TV_SETTINGS_SERVER_URL":"URL serwera streamingowego","STREMIO_TV_SETTINGS_SERVER_VERSION":"Wersja Serwera","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Nieznany","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Wersja Stremio","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Edytuj URL serwera","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Wprowadź adres URL serwera streamingowego","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Wyświetlaj statystyki podczas ładowania","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"Aby zapoznać się z Polityką Prywatności Stremio, odwiedź stronę:","STREMIO_TV_SETTINGS_TOS_TEXT":"Aby zapoznać się z Regulaminem Stremio, odwiedź stronę:","STREMIO_TV_NAV_SEARCH":"Wyszukaj","STREMIO_TV_NAV_HOME":"Strona Główna","STREMIO_TV_NAV_DISCOVER":"Odkryj","STREMIO_TV_NAV_LIBRARY":"Biblioteka","STREMIO_TV_NAV_MOVIES":"Filmy","STREMIO_TV_NAV_SERIES":"Seriale","STREMIO_TV_NAV_CHANNELS":"Kanały","STREMIO_TV_NAV_TV":"Telewizja","STREMIO_TV_NAV_SETTINGS":"Ustawienia","STREMIO_TV_NAV_ADDONS":"Dodatki","STREMIO_TV_LOGIN_TITLE":"Powiązanie konta","STREMIO_TV_LOGIN_EXPIRES_IN":"Wygasa za","STREMIO_TV_LOGIN_STEP_ONE":"Zeskanuj kod QR powyżej lub przejdź do","STREMIO_TV_LOGIN_STEP_TWO":"Zaloguj się do swojego konta Stremio","STREMIO_TV_LOGIN_NEW_LINK":"Wygeneruj nowy link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Kod logowania odświerzony","STREMIO_TV_SEARCH_PLACEHOLDER":"Wpisz cokolwiek","STREMIO_TV_SEARCH_NO_ADDONS":"Nie zażądano żadnych dodatków do katalogów!","STREMIO_TV_SEARCH_BUTTON":"Szukaj","STREMIO_TV_SEARCH_KEY_DEL":"Usuń","STREMIO_TV_SEARCH_KEY_SPACE":"Spacja","STREMIO_TV_SEARCH_KEY_CLEAR":"Wyczyść","STREMIO_TV_SEARCH_HISTORY_TITLE":"Historia wyszukiwania","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Możesz wyszukać tytuł, aktora, kanał i więcej...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Wyczyść historię wyszukiwania","STREMIO_TV_FILTERS_DESCRIPTION":"Wybierz jeden z poniższych filtrów","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Serwer streamingowy jest offline. Sprawdź ustawienia serwera.","FILTERS":"Filtry","SETTINGS":"Ustawienia","ACCOUNT":"Konto","LOGOUT":"Wyloguj","THEMES":"Motywy","PLAYBACK":"Odtwarzanie","PLAYBACK_SPEED":"Prędkość odtwarzania","AUDIO_TRACKS":"Ścieżki dźwiękowe","UNKNOWN_TRACK_LANG":"Nieznany","VIDEOS":"Filmy","SERVER":"Serwer","LINKS":"Linki","ABOUT":"O","INTERFACE":"Interfejs","ANIMATIONS":"Animacje","STATUS":"Status","LANGUAGE":"Język","SIZE":"Rozmiar","DELAY":"Opóźnienie","BOLD":"Pogrubienie","OPACITY":"Przezroczystość","TEXT_COLOR":"Kolor tekstu","OUTLINE_COLOR":"Kolor konturu","BACKGROUND_COLOR":"Kolor tła","BACKGROUND_BLUR":"Rozmycie tła","SEEK_TIME_DURATION":"Długość przewijania","AUTO_PLAY":"Automatycznie uruchom następny odcinek","PLAY_NOW":"Odtwórz","MARK_AS_WATCHED":"Oznacz jako obejrzane","MARK_AS_UNWATCHED":"Oznacz jako nieobejrzane","REWIND_TO_BEGINNING":"Od początku","CONTINUE_WATCHING":"Kontynuuj oglądanie","ALL":"Wszystko","SECONDS":"sekundy","ON":"Wł.","OFF":"Wył.","RELOAD":"Przeładuj","EDIT_URL":"Edytuj URL","NONE":"Brak","EMBEDDED":"Wbudowany","REMOTE_SWITCH_DEVICES":"Zmień urządzenie","REMOTE_VIDEOS":"Filmy","REMOTE_ADJUST_TIMING":"Dostosuj synchronizację","REMOTE_ADJUST_SIZE":"Dopasuj rozmiar","REMOTE_COULD_NOT_BE_LOADED":"Nie można załadować pilota sieciowego ","REMOTE_RETRY":"Spróbuj ponownie","TORRENT_PROFILE_DEFAULT":"Domyślny","TORRENT_PROFILE_SOFT":"Miękki","TORRENT_PROFILE_FAST":"Szybki","TORRENT_PROFILE_ULTRA_FAST":"Ultra szybki","FAQ_001_H1":"Czym jest Stremio?","FAQ_001_P1":"Stremio to oprogramowanie media center przeznaczone do rozrywki wideo z myślą o łatwości użytkowania. Stremio pozwala organizować &amp; oglądać własną kolekcję filmów, seriali, kanałów i telewizji na żywo.","FAQ_001_P2":"Stremio zbiera wyświetlane treści z dysku lokalnego i naszego systemu dodatków.","FAQ_001_P3":"Powiadomi Cię również, gdy pojawią się nowe odcinki / filmy / filmy, którymi jesteś zainteresowany, i przedstawi Ci rekomendacje filmowe","FAQ_02_H1":"Jak Stremio wypada w porównaniu z Kodi i Plex?","FAQ_02_P1":"Inspirujemy się tymi dwoma oprogramowaniami. Ale mamy inne cele - Stremio jest specjalnie ukierunkowane na rozrywkowe wideo i dąży do tego, aby stać się głównym rozwiązaniem w tym zakresie, będąc bardzo łatwym w użyciu.","FAQ_02_P2":"Stremio nigdy nie będzie tak konfigurowalne i bogate w funkcje jak Kodi i Plex, ale jest znacznie łatwiejsze w użyciu. Po prostu ${1} pobierz i zobacz ${2} :)","FAQ_03_H1":"Jak Stremio wypada w porównaniu do Netflix?","FAQ_03_P1":"Ponownie, Netflix jest jedną z naszych inspiracji. Staramy się osiągnąć doświadczenie użytkownika Netflix, plus wiele dodatkowych korzyści. Ale co najważniejsze, dajemy ci swobodę zarządzania własną biblioteką i dodawania nowych źródeł treści za pomocą naszego systemu dodatków.","FAQ_03_P2":"To sprawia, że Stremio można rozszerzać w nieskończoność, więc kiedy korzystasz ze Stremio, nigdy nie jesteś ograniczony do treści, które Netflix zdecyduje się licencjonować. Na przykład, za pośrednictwem Stremio można oglądać treści z ${1} Filmon.tv${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8}, a nawet samego ${9}Netflix${10}!","FAQ_04_H1":"Jak Stremio wypada w porównaniu do Flipboard?","FAQ_04_P1":"Nie otrzymujemy tego pytania zbyt często, z wyjątkiem rozmów z osobami rozpoczynającymi działalność :)","FAQ_04_P2":"Stremio jest z założenia agregatorem treści, co zasadniczo czyni go Flipboardem dla wideo. Jest to bardzo widoczne w naszej sekcji Board, która zapewnia katalogi i powiadomienia o nowych odcinkach / nowych filmach dla tego, co obserwujesz, podobnie jak Flipboard.","FAQ_05_H1":"Jak Stremio wypada w porównaniu do Popcorn Time?","FAQ_05_P1":"Stremio i Popcorn Time są podobne pod względem interfejsu użytkownika, ponieważ nie ma wielu sposobów na prawidłowe katalogowanie rozrywki wideo :)","FAQ_05_P2":"Ale podczas gdy Popcorn Time koncentruje się na strumieniowaniu torrentów z określonych źródeł, Stremio jest nieograniczony i jest jedynie agregatorem treści - nie jest zablokowany na określonym źródle treści.","FAQ_05_P3":"Co więcej, domyślnie nie zapewniamy żadnych dodatków torrentowych, więc Stremio nie obejmuje przypadku użycia Popcorn Time z oficjalną funkcjonalnością.","FAQ_05_P4":"Kolejną znaczącą różnicą jest to, że Popcorn Time jest całkowicie open source, podczas gdy Stremio jest ${1} częściowo open source${2}.","FAQ_06_H1":"Czy dodasz ten film/serial?","FAQ_06_P1":"Nie, przykro nam :(","FAQ_06_P2":"Jak wspomniano w większości innych pytań, Stremio nie dostarcza żadnych treści samodzielnie - wszystko jest dodawane za pośrednictwem systemu dodatków. Jeśli masz prośbę o zawartość, możesz użyć przycisku Zgłoś w odtwarzaczu, który wyśle wiadomość e-mail do autora dodatku, którego aktualnie używasz.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Czy stworzysz dodatek dla X?","FAQ_08_P1":"Jest to całkowicie możliwe.","FAQ_08_P2":"Jeśli masz pomysł na dodatek, napisz do nas na adres ${1}office@stremio.com${2}, ale upewnij się, że twój pomysł na dodatek nie naruszy żadnych praw autorskich ani warunków użytkowania.","FAQ_08_P3":"W chwili obecnej kolejnymi rzeczami na naszej mapie drogowej są dodatki dla FandangoNOW, Filmon.tv wideo na żądanie i Crunchyroll.","FAQ_09_H1":"Czy Stremio korzysta z BitTorrenta?","FAQ_09_P1":"Tak, Stremio obsługuje BitTorrent jako protokół strumieniowania. Można tego użyć za pomocą dodatku torrent lub przeciągając i upuszczając plik .torrent do Stremio lub wklejając link magnetyczny do paska wyszukiwania.","FAQ_09_P2":"Należy pamiętać, że jedynym oficjalnym dodatkiem korzystającym z BitTorrent jest ${1}Vodo${2}, który zapewnia zawartość niezależną, dozwoloną do dystrybucji za pomocą BitTorrent.","FAQ_09_P3":"Nie wspieramy korzystania z żadnych dodatków innych firm, które mogą umożliwiać naruszanie praw autorskich.","FAQ_10_H1":"Co mogę oglądać w Stremio za pomocą oficjalnych dodatków?","FAQ_10_P1":"Domyślnie można oglądać treści Filmon.tv, YouTube i Vodo w samym Stremio, za pomocą wbudowanego odtwarzacza. Dodatkowo mamy dodatek dla Twitch.tv i kilku innych.","FAQ_10_P2":"To połączenie zapewnia wybór:","FAQ_10_L1":"Popularne kanały telewizyjne, dostarczane przez Filmon.tv - na przykład E4, BBC, Bollyworld TV","FAQ_10_L2":"Wszystko z YouTube - na przykład BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indie movies with Vodo","FAQ_10_L4":"Online gaming broadcasts with Twitch.tv","FAQ_10_P3":"Additionally, there are many content sources provided with Guidebox and the Netflix addons, which <b>do not</b> play entirely inside Stremio, but would redirect to the given service. For example, the Guidebox addon would give you a selection of movies you can stream in the US for free, from services like TubiTV and Crackle.","FAQ_11_H1":"Stremio nie instaluje się, co powinienem zrobić?","FAQ_11_P1":"Jeśli korzystasz z systemu Windows, wypróbuj ${1}ten alternatywny instalator${2}","FAQ_11_P2":"Jeśli korzystasz z systemu Mac OS X, pamiętaj, że nie obsługujemy niczego starszego niż OS X Mavericks (10.9).","FAQ_11_P3":"Jeśli korzystasz z systemu Linux, pamiętaj, że obecnie obsługujemy tylko 64-bitowy (x64) system Linux.","FAQ_11_P4":"Jeśli nadal nie możesz rozwiązać swojego problemu, napisz do nas na naszej grupie ${1}Facebook${2}.","FAQ_12_H1":"Dlaczego mój antywirus narzeka? Czy Stremio jest bezpieczne?","FAQ_12_P1":"Zapewniamy, że Stremio jest ${1}100% czyste${2}.","FAQ_12_P2":"Twój program antywirusowy narzeka, ponieważ dołączamy reklamy do naszego instalatora, które niektóre programy antywirusowe rozpoznają jako ad-ware.","FAQ_12_P3":"Jeśli nadal nie masz pewności, możesz wypróbować nasz ${1}alternatywny instalator ${2}","FAQ_13_H1":"Jak mogę stworzyć dodatek?","FAQ_13_P1":"Na początek zalecamy sprawdzenie naszego modułu systemowego ${1}addons${2} na GitHub.","FAQ_13_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_13_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_14_H1":"How are addons published?","FAQ_14_P1":"When you create an addon and host, and put a <b>endpoint</b> field in your manifest, which points to a working addon address, the addon will automatically publish itself to our ${1}Addon catalogue${2}.","FAQ_14_P2":"This happens because the server part of the stremio-addons module automatically makes a call to our API to announce the addon. When our API validates your <b>endpoint</b> as a valid addon, it will start showing in the catalogue.","FAQ_15_H1":"Can I run Stremio in my browser?","FAQ_15_P1":"Not at the moment, but this is coming!","FAQ_15_P2":"If you\'re curious to see an Alpha, you can see it here: ${1}alpha4.strem.io${2}. Należy pamiętać, że streaming jest wyłączony w tej wersji alfa. Obsługujemy przeglądarki Chrome, Firefox, Opera i Edge.","FAQ_16_H1":"Casting to TV doesn\'t work / subtitles don\'t work","FAQ_16_P1":"Casting to TV uses the DLNA technology which is very inconsistent between different TV brands and models. For that reason, we do not have the ability to test it in every case, so it\'s far from perfect. Despite this, we\'re working on improving it constantly but we cannot give you a time estimate on when DLNA will start working properly with your TV.","FAQ_16_P2":"If you don\'t even see your TV in the casting menu, please try disabling your network connection and re-enabling it (on Windows, right click the Network and use Enable/Disable), as well as restarting your router, TV and PC.","FAQ_16_P3":"If you are still encountering issues, you can help us by sending your TV brand and model information at ${1}office@stremio.com${2}.","FAQ_16_P4":"In the meantime, we recommend Chromecast, which we support very well, or simply plugging in your TV to your PC with an HDMI cable.","FAQ_17_H1":"Stremio freezes and/or crashes, what can I do?","FAQ_17_P1":"First of all, if you\'re using Windows 7 with AVG anti-virus: we have a problem with that combination. The problem is in AVG itself, and there\'s no reasonable way to resolve it on our end. Unfortunately, exceptions or disabling the anti-virus won\'t work. The only solution is to replace AVG with something else.","FAQ_17_P2":"If that\'s not the issue, but you\'re still using Windows, please update to the latest service pack and update/re-install your GPU drivers, then try again.","FAQ_17_P3":"If you\'re problem is still not resolved, or you\'re using a Mac or Linux, please write us reporting the exact details of the problem at ${1}our Facebook group${2}.","FAQ_18_H1":"How can I make an addon?","FAQ_18_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_18_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_18_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_19_H1":"Why is Stremio taking disk space?","FAQ_19_P1":"Stremio has a <b>local cache</b> to temporarily keep the video files you stream.","FAQ_19_P2":"This has two benefits: first, it allows Stremio to pre-buffer the video ahead so as to ensure smoother streaming. Second, it keeps the videos in the local cache so you can continue watching them offline.","FAQ_19_P3":"How much Stremio keeps depends on the <b>Cache</b> setting in the Settings panel. Stremio may keep up to the set amount (e.g. 2GB) on your disk, unless the currently streamed video is larger than that, in which case it has to allocate enough storage to keep it until you\'re streaming it.","FAQ_20_H1":"Where is the cache folder?","FAQ_20_P1":"On Windows, it\'s stremio-cache in the drive you picked in Settings (e.g. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"On MacOS, it\'s \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"On Linux, it\'s \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"I get \\"Streaming server is not found\\" error, what can I do?","FAQ_21_P1":"If you get this error, it means one of few things:","FAQ_21_P2":"1) You are trying to use an addon backed by YouTube/BitTorrent source, through our ${1}web version${2}. In this case, you should install our desktop version from ${3}our website${4}.","FAQ_21_P3":"2) Something is wrong with your Stremio installation. In this case, try re-installing our latest desktop version from ${1}the website${2}. If this does not help, try disabling anti-virus programs and firewalls, restarting your PC and trying again. If this does not work too, please write us at our ${3}our Facebook group${4}.","FAQ_22_H1":"I cannot see/use most addons on iOS","FAQ_22_P1":"Because of restrictions in the Apple App Store terms and conditions, we have restricted the iOS application only to a particular set of addons.","FAQ_22_P2":"But rest assured - there will be more addons for iOS in the future, and we may also add an integration that will allow you to use all Stremio addons thanks to connecting the iOS app to the Stremio Streaming Server."}')},2012:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Filme","TYPE_series":"Série","TYPE_tv":"Canal de TV","TYPE_channel":"Canal","TYPE_other":"Outros","TYPE_movie_PL":"Filmes","TYPE_series_PL":"Séries","TYPE_tv_PL":"Canais de TV","TYPE_channel_PL":"Canais","TYPE_other_PL":"Outros","TYPE_ALL":"Todos","TYPE":"Tipo","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Em destaque","CATALOG_com_linvo_cinemeta_year":"Novidades","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Filmes de domínio público","VIDEO":"Vídeo","BACK":"Voltar","MORE":"Mais","DONE":"Concluído","COPY":"Copiar","SUCCESS":"Sucesso","ERROR":"Erro","SETTINGS_CASTING_MODE_PICKER":"Modo de transmissão","CASTING_MODE_HLSV2":"Padrão","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Sem transcodificação","Discover":"Descubra","Board":"Painel","Library":"Biblioteca","My Library":"Minha Biblioteca","Calendar":"Calendário","NOTIFICATION_ONLINE":"Você está online","NOTIFICATION_OFFLINE":"Você está offline","INTERNET_CONNECTION":"Conexão de rede","STORAGE_FULL_TITLE":"Aviso: Disco cheio!","STORAGE_FULL_TEXT":"Stremio não será capaz de salvar suas configurações, preferências ou informações de login. Considere reiniciar ou reinstalar o Stremio.","SEARCH":"Buscar","SEARCH_NO_RESULTS":"Nenhum resultado encontrado","SEARCH_EXPLANATION_CONTENT":"Procure por filmes, séries, canais do YouTube e da TV","SEARCH_EXPLANATION_PEOPLE":"Procure por atores, diretores e escritores","SEARCH_PASTE_LINKS":"Cole links HTTP ou Magnéticos","SEARCH_OR_PASTE_LINK":"Buscar ou colar link","SEARCH_SUGGESTIONS":"Buscar sugestões","ADD_TO_LIB":"Adicionar à Biblioteca","REMOVE_FROM_LIB":"Remover da Biblioteca","ADDED_TO_LIB":"Adicionado à Biblioteca","REMOVED_FROM_LIB":"Removido da Biblioteca","TRAILER":"Trailer","WATCH_TRAILER":"Assistir ao Trailer","WATCH_NOW":"Assistir Agora","SHOW":"Mostrar","SHOW_MOVIE":"Exibir filme","WATCH_RANDOM":"Assistir Aleatoriamente","IMDB_RATING":"Avaliação IMDB","YEAR":"Ano","DIRECTOR":"Diretor","WRITER":"Escritor","LEAD_ACTORS":"Atores Principais","CAST":"Elenco","CREW":"Equipe técnica","SHOW_MORE_CAST":"Mostrar mais »","AIRED":"Foi ao ar em","SEASONS":"Temporadas","GENRE":"Gêneros","GENRE_ALL":"Todos os gêneros","CATALOG":"Catálogo","SUMMARY":"Resumo","SHOW_MORE":"Mostrar mais","SIMILAR":"Parecidos","UPCOMING":"Próximos","ENDED":"Finalizados","DURATION":"Duração","FEATURED":"Destaque","METADATA":"Dados de Descrição","CATEGORY":"Categoria","LINKS_GENRES":"Gêneros","LINKS_CAST":"Elenco","LINKS_DIRECTORS":"Diretores","SEARCH_VIDEOS":"Pesquisar vídeos","SEARCH_PLACEHOLDER":"Buscar ou colar links","ADDON":"Addon","ADDONS":"Addons","OFFICIAL":"Oficial","ADDONS_OFFICIAL":"Addons Oficiais do Stremio","ADDONS_POPULAR":"Populares na sua região","ADDON_FREE":"Gratuito","ADDON_PEERED":"pareado","ADDON_SUBSCRIPTION":"assinatura","ADDON_STREAM_GEORESTRICTED":"indisponível na sua área","ADDON_STREAM_OFFLINECACHE":"Cache Offline","ADDON_STREAM_LOCALFILE":"Arquivo Local","SHARE_ADDON":"Compartilhar Addon","AVAILABLE_STREAMS":"Transmissões Disponíveis","NO_STREAM":"Nenhuma transmissão encontrada","ALL_ADDONS":"Todos","INSTALL_MORE_ADDONS":"Para mais transmissões, por favor instale mais Addons","STREAM_NOT_SUPPORTED":"A transmissão selecionada não é suportada nesta plataforma.","ADDON_CATALOGUE":"Mostrar todas os Addons »","ADDON_CATALOGUE_MORE":"Instalar Addons","REPO_ADDED":"Repositório adicionado","ADDON_REPO_EXIST_ERR":"Este repositório de Addons já existe","ADDON_REPO_ERR":"Ocorreu um erro ao adicionar o repositório","ADDON_ADD_ERR":"Ocorreu um erro ao adicionar o Addon","ERR_ADDON_PROTECTED":"Não é possível desinstalar o Addon, ele está protegido","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Algo deu errado - a autenticação pode ter falhado","ERR_NOT_COLLECTION_URL":"Não é uma URL de coleção","ERR_NOT_ADDON_URL":"Não é uma URL de Addon válida","ERR_DETECTFROMURL":"Não foi possível encontrar um Addon/coleção para essa URL","ADDON_DUPLICATE_WARNING":"Aviso: Addon duplicado","ADDON_COLLECTION_SET_FAILED":"Falha ao sincronizar seus Addons instalados com sua conta","SETTINGS_DATA_EXPORT":"Exportar dados","ADDON_PULL_FAILED":"Falha ao sincronizar Addons instalados de sua conta","REFRESH_ON_CLICK":"Clique para tentar novamente","STILL_IN_THEATER":"Filme ainda em exibição","WATCH_IN_CINEMA":"Assista no cinema mais próximo","IN_THEATER":"No cinema","GET_TICKETS":"Obter ingressos","UPCOMING_EPISODE":"Próximo episódio","UPCOMING_EPISODE_MESSAGE":"Esse episódio irá ao ar em","MISSING_DATE_EPISODE":"Sem data do episódio","MISSING_DATE_EPISODE_MESSAGE":"Esse episódio pode não ter ido ao ar ainda","CHANNEL_NOT_SCRAPED":"Este canal ainda não foi extraído.<br>Por favor, retorne em alguns minutos.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Adicione à sua biblioteca para receber notificações quando estiver disponível.","GET_NOTIFIED_WHEN_AVAILABLE":"Você será notificado quando estiver disponível.","WARNING_STREAMING_SERVER":"Atenção: servidor local de transmissão não encontrado. Transmissões de arquivos locais, YouTube e BitTorrent não estarão disponíveis.","WARNING_STREAMING_SERVER_DISMISS":"Dispensar","WARNING_STREAMING_SERVER_LATER":"Mais tarde","DECODER_WARNING":"Aviso: este vídeo pode não ser suportado pelo seu hardware. Tenha em mente que a reprodução pode ser lenta.","GENERIC_ERROR_MESSAGE":"Alguma coisa deu errado!","TRY_AGAIN":"Tente novamente","CLEAR_DATA":"Limpar dados","PLAYER_ERROR":"Ops, ocorreu um erro no reprodutor de mídia","PLAYER_ERROR_LOOKSLIKE":"Parece que","PLAYER_ORIENTATION":"Orientação do reprodutor de mídia","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Travado","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensor","PLAYER_ORIENTATION_LANDSCAPE":"Reprodutor de mídia travado para o modo paisagem","PLAYER_ORIENTATION_SENSOR":"Reprodutor de mídia automático (sensor)","PLAYER_PLAYBACK_SPEED":"Velocidade de reprodução","PLAYER_PLAYBACK_ERROR":"Erro de reprodução, tente novamente","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Erro desconhecido","PLAYER_PLAYBACK_ERROR_DEFAULT":"Desculpe, esse vídeo não poder ser reproduzido por {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Idiomas das Legendas","PLAYER_SUBTITLES_VARIANTS":"Variantes das Legendas","PLAYER_SUBTITLES_SETTINGS":"Configurações das Legendas","PLAYER_SUBTITLES_DISABLED":"Legendas desativadas","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Posição vertical","PLAYER_SUBTITLES_LOADED":"Legendas carregadas","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Legendas incorporadas carregadas","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Legendas exclusivas carregadas","PLAYER_SUBTITLES_LOADED_ORIGIN":"Legendas de {{origin}} carregadas","PLAYER_PLAY":"Reproduzir","PLAYER_PAUSE":"Pausar","PLAYER_NEXT_VIDEO":"Próximo Vídeo","PLAYER_MUTE":"Mudo","PLAYER_UNMUTE":"Som","PLAYER_OPEN_IN_EXTERNAL":"Abrir em reprodutor externo","PLAYER_OPEN_IN_NPLAYER":"Abrir pelo nPlayer","PLAYER_PLAY_IN":"Reproduzir em {{device}}","PLAYER_LIVE":"Ao vivo","PLAYER_NEXT_VIDEO_TITLE":"A seguir","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Próximo","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Dispensar","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Assistir agora","PLAYER_COPY_STREAM_SUCCESS":"Link do stream copiado para a área de transferência","PLAYER_COPY_STREAM_ERROR":"Falha ao copiar o link do stream","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Link de download copiado para a área de transferência","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Falha ao copiar o link de download","STREAMING_FROM":"Transmitindo de","CASTING_TO":"Transmitindo para","NETWORK_STATUS":"Estado da rede","STREAM_SPEED":"Velocidade da transmissão:","STREAM_BUFFERED":"Carregado:","PEERS_INFO":"Informações dos Pares","PEERS_ACTIVE":"Ativo:","PEERS_CONNECTED":"Conectado:","PEERS_WAITING":"Aguardando:","TRANSCODING_WARNING":"Atenção: transcodificando vídeo.","STREAM_LOADING":"Carregando...","PLAYING_LOCAL":"Reproduzir de um arquivo local","PLAYING_CACHE":"Reproduzir a partir do cache","WRONG_SUBS":"Legendas erradas?","ERR_SUBS_LOADING_TITLE":"Erro ao carregar a legenda","ERR_SUBS_LOADING":"Falha ao carregar as legendas: Isso pode ser um problema com seu Addon ou sua conexão de rede","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Os seguintes Addons de legenda falharam","ERR_CASTING_UPDATE_TITLE":"Não foi possível atualizar as informações do dispositivo de transmissão: o servidor de transmissão pode estar offline","CHOOSE_DEVICE":"Escolha um dispositivo para assistir","NO_CAST_DEVICES":"Sem dispositivos de transmissão disponíveis.","NO_SETTINGS":"Configurações não disponíveis.","PHONE_TABLET":"Smartphone / Tablet","SUBTITLES":"Legendas","SUBTITLES_CHANGE":"Modificar legendas para ","SUBTITLES_CHANGE_NONE":"Não há outra legenda para este idioma, desculpe.","SUBTITLES_CHANGE_ACIVE":"A legenda &#35;{{subtitlesDialog.activeIdx + 1}} está ativada. Clique \\"Continuar\\" para ativar a legenda &#35;{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Alternativamente,","SUBTITLES_ADJUST_DELAY":"Ajustar atraso da legenda:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Ou use as teclas <span>G</span> / <span>H</span> durante a reprodução para ajustar.","SUBTITLES_ADJUST_DELAY_TIP":"DICA: Você pode usar as teclas <span>G</span> / <span>H</span> durante a reprodução para ajustar.","SUBTITLES_DELAY":"Atraso das legendas:","SUBTITLES_LOADING":"Carregando legendas...","SUBTITLES_UNAVAILABLE":"Legendas externas não disponíveis","SUBTITLES_DISABLED":"Desativado","EXTERNAL_PLAYER_DISABLED":"Desativado","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Permitir Escolha","EXTERNAL_PLAYER_HINT":"Dica: Existe uma configuração para permitir sempre abrir com reprodutor externo","DONT_SHOW_AGAIN":"Não mostrar novamente","SERVICE_INSTALL":"Instalar","AUDIO":"Áudio","DEFAULT_LANGUAGE":"Idioma Padrão","DEFAULT_SECONDARY_LANGUAGE":"Idioma Padrão Secundário","SEASON":"Temporada","EPISODE":"Episódio","EPISODE_ABBREVIATION":"EP","SPECIAL":"Especial","SORT":"ordenar","SORT_BY":"Ordenar por","FILTER":"Filtrar","SORT_TRENDING":"Em alta","SORT_RECENT":"Recente","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"Classificação","SORT_WATCHED":"Assistido","SORT_YEAR":"Ano","SELECT_TYPE":"Selecionar tipo","SELECT_SORT":"Selecionar ordenação","SELECT_CATALOG":"Selecionar catálogo","SELECT_GENRE":"Selecionar gênero","SORT_LASTWATCHED":"Por último assistido","SORT_NAME":"Por nome","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"Por vezes assistido","SORT_NOTWATCHED":"Por não assistido","New for You":"Novo para Você","New Episodes":"Novos Episódios","New Videos":"Novos Vídeos","Recommendations":"Recomendações","LIBRARY_RESUME":"Retomar","LIBRARY_PLAY":"Reproduzir","LIBRARY_DETAILS":"Detalhes","LIBRARY_RESUME_DISMISS":"Dispensar","LIBRARY_CLEAR_PROGRESS":"Limpar Progresso","LIBRARY_REMOVE":"Remover","LIBRARY_NOT_LOGGED_IN":"A biblioteca está disponível apenas para usuários logados","CALENDAR_NOT_LOGGED_IN":"O calendário está disponível apenas para usuários logados","NOT_LOGGED_IN_CLOUD":"Acesse seus filmes e programas de TV favoritos a qualquer hora, em qualquer lugar","NOT_LOGGED_IN_RECOMMENDATIONS":"Recomendações personalizadas com base no seu histórico de visualização","NOT_LOGGED_IN_NOTIFICATIONS":"Nunca perca um episódio novamente","NOT_LOGGED_IN_CALENDAR":"Agende seu calendário pessoal de visualização","DISCOVER_FEATURED":"Destaque","DISCOVER_TOP":"Top","DISCOVER_OSCAR":"Vencedores do Oscar","DISCOVER_WARNING_TITLE":"Ops!","DISCOVER_EMPTY_CATALOG":"Este Addon não possui conteúdo.","DISCOVER_ADULT_WARNING":"Este conteúdo está disponível apenas para maiores de idade. Você tem mais de 18 anos?","DISCOVER_NOADDON_WARNING":"Atenção: nenhum Addon do Stremio ativa para este tipo. Mostrando itens salvos, nada aqui será atualizado.","DISCOVER_LOAD_ERR":"O conteúdo não foi carregado, ocorreu um erro.","DISCOVER_ADDON_UNINSTALLED":"Este conteúdo não está mais disponível, você deve ter desinstalado o Addon.","UNINSTALL_THIS_ADDON":"Remover este Addon","ERR_ADDON_NOT_INSTALLED":"Este Addon não está instalado. Instalar agora?","DETAIL_RECEIVE_NOTIF_SERIES":"Receber notificações de novos episódios","DETAIL_RECEIVE_NOTIF_VIDEOS":"Receber notificações de novos vídeos","SIDEBAR_SHOW_STREAMS":"Exibir Streams","RELAUNCH":"Reinicie agora!","UPGRADE":"Nova versão disponível! Atualize para a versão mais recente do Stremio","RELOAD_UI":"Recarregar a interface do usuário","MANUAL_UPDATE_TITLE":"Atualize sua versão do Stremio","MANUAL_UPDATE_LINE1":"Você está executando uma versão desatualizada do Stremio, o que é altamente não recomendado.","MANUAL_UPDATE_LINE2":"Por favor, atualize o mais rápido possível.","BUTTON_UPDATE_LATTER":"Agora não","BUTTON_UPDATE_NOW":"Atualizar","ANONYMOUS_USER":"Usuário anônimo","DONT_HAVE_ACC":"Não possui uma conta?","HAVE_ACC":"Já possui uma conta?","PASSWORD":"Senha","PASSWORD_CONFIRM":"Confirmar senha","EMAIL":"E-mail","FB_LOGIN":"Conectar-se via Facebook","FB_NOTHINGSHARED":"Nada é compartilhado sem sua permissão","FB_NOPOST":"Não iremos postar nada em seu nome","OR":"ou","I_ACCEPT":"Eu aceito os","I_ACCEPT_BY_CLICKING":"Ao clicar no botão acima, comprovo que aceito o ","TOS":"Termos e Condições","MUST_ACCEPT_TERMS":"Você deve aceitar os termos","PASSWORDS_NOMATCH":"As senhas não coincidem","SIGN_UP":"Cadastrar","SIGN_UP_EMAIL":"Registre-se com email","CLICK_TO_SIGN_UP":"Clique aqui para se registrar","LOG_IN":"Conectar","LOG_OUT":"Desconectar","EXIT_FULLSCREEN":"Sair do modo de tela cheia","ENTER_FULLSCREEN":"Entrar em modo de tela cheia","PLAY_URL_MAGNET_LINK":"Reproduzir URL/Link Magnético","HELP_FEEDBACK":"Ajuda & Feedback","TERMS_OF_SERVICE":"Termos de serviço","PRIVACY_POLICY":"Política de Privacidade","ABOUT_STREMIO":"Sobre o Stremio","USER_PANEL":"Painel de Usuário","LOGIN_LABEL":"Login","GUEST_LOGIN":"Entrar como convidado","GUEST_LOGIN_NOTICE":"Entrar como convidado não é recomendado. Usar um conta padrão permite que o Stremio sincronize sua Biblioteca, receba notificações de séries/canais favoritos. Você tem certeza que deseja prosseguir?","GUEST_LOGIN_NOTICE_2":"Entrar como convidado não é recomendado - você não terá uma Biblioteca sincronizada e um Painel de notificações, que são características vitais do Stremio. Você tem certeza que deseja prosseguir?","CLICK_HERE":"clique aqui","WRONG_PASSWORD":"E-mail ou senha errada. Caso tenha esquecido sua senha, ","SET_A_PASS":"Defina uma senha","RESET_PASSWORD":"Redefinir a senha","FORGOT_PASSWORD":"Esqueceu a senha?","EMAIL_USED_WITH_FB":"Este e-mail foi utilizado com uma conta do Facebook.","INVALID_EMAIL":"Por favor, informe um e-mail válido","INVALID_PASSWORD":"Por favor, informe a senha correta","CONN_ERR":"Erro de conexão - por favor, tente novamente mais tarde.\\n\\nSe isso persistir, desabilite firewalls/antivírus (principalmente o Bitdefender).","IMPORT_FROM_GUEST":"Importar biblioteca da sua conta de convidado","RECEIVE_UPDATES_EMAIL":"Receber atualizações do Stremio no seu e-mail","LOGIN_FAILED":"Login falhou.","SIGNUP_FAILED":"Cadastro falhou.","SEARCH_FAILED":"Busca falhou","EMAIL_USED":"Este e-mail já está em uso.","WAITING_FB_LOGIN":"Entrando com a conta do Facebook...","EXTERNAL_PLAYER_TITLE":"Abrir com um reprodutor de vídeo externo","EXTERNAL_REMEMBER_PLAYER":"Você quer lembrar da sua escolha?","EXTERNAL_ALWAYS_PLAY":"Sim","EXTERNAL_ONLY_ONCE":"Não","BEST_FIT":"Melhor ajuste","FIT_SCREEN":"Tela de ajuste","FILL":"Preencher","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"Conte-nos do que gosta","INTRO_TASTE_LONG":"Conte-nos o que gostaria de assistir","INTRO_TASTE_PICK":"Escolha {{interestsRemaining}} interesses","INTRO_TASTE_PICK_MORE":"Escolha {{interestsRemaining}} mais interesses","INTRO_TASTE_HELP_US":"Ajude-nos a saber mais sobre você.","INTRO_TASTE_CHOOSE_THESE":"Escolha alguns destes:","INTRO_TASTE_CHOOSE_MIN":"Escolha ao menos 3 categorias","INTRO_TASTE_CHOOSE_MIN_ERR":"Você precisa escolher ao menos 3 categorias!","INTRO_TASTE_LIFESTYLE":"Estilo de vida","INTRO_TASTE_SPORTS":"Esporte","INTRO_TASTE_FOOD_HEALTH":"Gastronomia e Saúde","INTRO_TASTE_BEAUTY_FASHION":"Moda e Beleza","INTRO_TASTE_NEWS":"Notícias","INTRO_TASTE_GAMING":"Jogos","INTRO_TASTE_SCIENCE_EDU":"Ciência e Educação","INTRO_TASTE_MUSIC":"Música","INTRO_TASTE_TRAVEL":"Viagens","INTRO_TASTE_LATE_NIGHT":"Programas noturnos","INTRO_TASTE_REALITY":"Realidade","INTRO_TASTE_COMEDY":"Comédia","INTRO_TASTE_DIY":"Faça você mesmo","INTRO_TASTE_TECH":"Tecnologia","INTRO_TASTE_CINEMA":"Cinema","ADDON_NOT_SUPPORTED":"O Addon selecionado não é suportado nesta plataforma.","ADDON_DISCLAIMER":"Usando um Addon de terceiros você estará se auto responsabilizando de acordo com as leis do governo de sua região.","ADDON_ACTIVATE":"Deseja ativar este Addon?","ADDON_REPO_ADD":"Endereço do repositório do Addon","ADDON_ADD":"Adicionar","INSTALL_ADDON":"Install addon","ADD_ADDON":"Adicionar addon","ADD_ADDON_DESCRIPTION":"Você pode adicionar um addon via um link externo, que aparecerá em Addons instalados.","PASTE_ADDON_URL":"Cole a URL do addon","WHATS_NEW":"O que há de novo","BUTTON_CONTINUE":"Continuar","BUTTON_ACTIVATE":"Ativar","BUTTON_ACTIVATED":"Ativado","BUTTON_CANCEL":"Cancelar","BUTTON_SUBMIT":"Enviar","BUTTON_DISMISS_ALL":"Dispensar tudo","BUTTON_VIEW_ALL":"ver tudo","BUTTON_SEE_ALL":"Ver Tudo","BUTTON_COLOR_TRANSPARENT":"Transparente","OPEN_IN_BROWSER":"Abrir no navegador","LIB_EMPTY":"Sua biblioteca parece vazia. Descubra como ela é útil :) ","HOW_START":"Aqui está como você pode começar:","LIB_EMPTY_CAL":"Seu calendário mostra as séries na sua Biblioteca.","HOW_START_CAL":"Aqui está como você pode adicionar séries:","LIB_EMPTY_BOARD":"O Painel mostra notificações &amp; recomendações relacionadas à sua Biblioteca.","HOW_START_BOARD_WAIT":"Por favor, adicione algumas séries ou canais à sua Biblioteca e nos dê um momento para processá-las :)","HOW_START_BOARD":"Aqui está como você pode adicionar séries &amp; filmes nele:","IMPORT_FB":"Importe coisas que você gosta do <span>Facebook</span>","IMPORT_TRAKT":"Importe sua biblioteca de mídia do <span>Trakt</span>","IMPORT_DISCOVER":"Encontre coisas interessantes no <span>Descubra</span>","IMPORT_DISK":"Importe filmes ou shows que você tem no seu <span>disco local</span>","PLEASE_CREATE_ACC":"Por favor, <u>crie uma conta</u> para ativar a sincronização de Biblioteca &amp; Painel.","IMPORT_DISCOVER_SIGNUP":"Registre-se e encontre coisas interessantes no <span>Descubra</span>","IMPORT_DISK_SIGNUP":"Cadastre-se e importe filmes ou shows que você tem em seu <span>disco local</span>","LIB_EMPTY_CLOUD":"Biblioteca na nuvem","LIB_EMPTY_CLOUD_DESC":"Biblioteca pessoal na nuvem sincronizada em todos os dispositivos","LIB_EMPTY_EARLY":"Madrugador","LIB_EMPTY_EARLY_DESC":"Receber notificações de novos episódios","LIB_EMPTY_PERSONAL":"Pessoal","LIB_EMPTY_PERSONAL_DESC":"Receber recomendações pessoais","LIB_EMPTY_CALENDAR_DESC":"Agende no seu calendário pessoal para assistir","LIB_EMPTY_ALL":"Registre-se para obter tudo isto:","LIB_EMPTY_BEST":"Cadastre-se para ter o melhor do Stremio","LIB_EMPTY_OTHER":"Registre-se para habilitar o calendário e outras funções fantásticas","CALENDAR_ADDED":"O calendário Stremio foi adicionado ao seu calendário padrão.","CALENDAR_ADDED_MSG":"Se isso não funcionar, por favor, adicione este endereço no seu calendário manualmente","TRAKT_EXPIRED":"A autenticação do Trakt expirou, vá até as Configurações e autentique novamente.","TRAKT_REQUIRES_LOGIN":"Erro no serviço Trakt","TRAKT_REQUIRES_LOGIN_MSG":"Você precisa fazer login","TRAKT_IMPORT_WATCHED":"Importar","THEME":"Tema","THEME_DEFAULT":"Padrão","THEME_ADAPTIVE":"Adaptativo","SETTINGS_LABEL":"Configurações","SETTINGS_NAV_GENERAL":"Geral","SETTINGS_NAV_PLAYER":"Player","SETTINGS_NAV_STREAMING":"Streaming","SETTINGS_NAV_SHORTCUTS":"Atalhos","SETTINGS_SHORTCUT_RELOAD_APP":"Recarregar Aplicativo","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Abrir Configurações","SETTINGS_SHORTCUT_SWITCH_TABS":"Alternar Guias","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Percorrer as guias para a frente","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Percorrer abas para trás","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navegar Entre Menus","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Ir para a Busca","SETTINGS_SHORTCUT_EXIT_BACK":"Sair / Voltar","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Alternar Menu de Velocidade de Reprodução","SETTINGS_SHORTCUT_MENU_VIDEOS":"Alternar Menu de Vídeos","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Alternar Menu de Legendas","SETTINGS_SHORTCUT_MENU_INFO":"Alternar Menu de Informações","SETTINGS_SHORTCUT_FULLSCREEN":"Alternar para o modo tela cheia","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Mostrar controles","SETTINGS_SHORTCUT_PLAY_PAUSE":"Reproduzir / Pausar","SETTINGS_SHORTCUT_VOLUME_UP":"Aumentar o volume","SETTINGS_SHORTCUT_VOLUME_DOWN":"Abaixar o volume","SETTINGS_SHORTCUT_SEEK_NEXT":"Procurar próximo","SETTINGS_SHORTCUT_SEEK_PREV":"Procurar anterior","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Retroceder","SETTINGS_SHORTCUT_SEEK_FORWARD":"Avançar","SETTINGS_SHORTCUT_PLAY_NEXT":"Reproduzir próximo","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Aumentar o tamanho das legendas","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Diminuir o tamanho das legendas","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Aumentar o atraso das legendas","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Diminuir o atraso das legendas","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Alternar barra lateral","SETTINGS_SHORTCUT_OR":"ou","SETTINGS_SHORTCUT_TO":"para","SETTINGS_SHORTCUT_SPACE":"Espaço","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Autenticar","SETTINGS_FACEBOOK_IMPORT":"Importar","SETTINGS_CALENDAR_SUBSCRIBE":"Inscrever-se","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Idioma da Interface","SETTINGS_LAUNCH_STARTUP":"Iniciar com o sistema","SETTINGS_VLC_DEFAULT":"Reproduzir no VLC","SETTINGS_UI_LANGUAGE":"Idioma da interface","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Aperte ESC para sair da tela cheia","SETTINGS_GAMEPAD":"Ativar suporte a gamepad","SETTINGS_CLOSE_WINDOW":"Fechar aplicativo quando a janela for fechada","SETTINGS_SUBTITLES_LANGUAGE":"Idioma padrão de legendas","SETTINGS_SUBTITLES_SIZE":"Tamanho padrão de legendas","SETTINGS_SUBTITLES_BACKGROUND":"Fundo das legendas","SETTINGS_SUBTITLES_COLOR":"Cor das legendas","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Cor de contorno das legendas","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Cor de fundo das legendas","SETTINGS_SEEK_KEY":"As teclas de seta procuram o tempo","SETTINGS_SEEK_KEY_SHIFT":"As teclas de seta procuram o tempo quando a tecla Shift é pressionada","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Duração de Retrocesso e Avanço rápido","SETTINGS_BINGE":"Reproduzir automaticamente o próximo episódio","SETTINGS_NEXT_VIDEO":"Mostrar notificação para iniciar o próximo episódio.","SETTINGS_NEXT_VIDEO_TRIGGER":"Mostrar uma notificação ao iniciar o próximo episódio para:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Duração da notificação do próximo vídeo","SETTINGS_PLAY_IN_BACKGROUND":"Reproduzir em segundo plano","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Reproduzir em player externo","SETTINGS_RESIZE":"Redimensionar automaticamente a janela antes de reproduzir","SETTINGS_OVERRIDE_SERVER":"Substituir a URL do servidor de streaming (avançado)","SETTINGS_SERVER_URL":"URL do servidor de Streaming: ","SETTINGS_SERVER_AVAILABLE":"O servidor de Streaming está disponível.","SETTINGS_SERVER_UNAVAILABLE":"O servidor de Streaming não está disponível.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Erro","SETTINGS_SERVER_CONFIGURE_TITLE":"Configurar URL do servidor de streaming","SETTINGS_SERVER_CONFIGURE_INPUT":"Insira a URL do servidor de streaming","SETTINGS_SERVER_CACHE_SIZE":"Tamanho do cache","SETTINGS_SERVER_TORRENT_PROFILE":"Perfil de torrent","SETTINGS_HTTPS_ENDPOINT":"Endpoint HTTPS de streaming: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Sempre usar a versão Beta mais recente","SETTINGS_IMPORT_FB":"Importar do Facebook","SETTINGS_IMPORT_DISK":"Importar do disco local","SETTINGS_IMPORT_TRAKT":"Importar do Trakt","SETTINGS_PAUSE_MINIMIZED":"Pausar reprodução quando minimizado","SETTINGS_HWDEC":"Decodificação acelerada por Hardware","SETTINGS_BACKGROUND":"Reprodução em segundo plano","SETTINGS_SUBSCRIBE_CALENDAR":"Inscrever-se no calendário","SETTINGS_REQ_EXPORT":"Exportar dados","SETTINGS_ACC_DELETE":"Solicitar exclusão de conta","SETTINGS_CHANGE_PASSWORD":"Alterar a senha","SETTINGS_TOS":"Termos de serviço","SETTINGS_SUPPORT":"Contate o suporte","SETTING_LANGUAGE":"Idioma","SETTINGS_TRAKT":"Recomendações do Trakt","SETTINGS_TRAKT_LOGOUT":"Sair do Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Sair do Trakt","SETTINGS_SCAN_FOR_REMOTE":"Escaneie o código QR para abrir remotamente","SETTINGS_DESKTOP_NOTIFICATIONS":"Notificações da área de trabalho","SETTINGS_DATA_SAVER":"Economizador de Dados","SETTINGS_LANGUAGE_INTERFACE":"Interface","SETTINGS_LANGUAGE_SUBS":"Legenda padrão","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Seleção automática de trilha de áudio","SETTINGS_DEFAULT_AUDIO_TRACK":"Trilha de áudio padrão","SETTINGS_SURROUND_SOUND":"Som surround","SETTINGS_ACCOUNT":"Conta","SETTINGS_PLATFORM":"Plataforma","SETTINGS_VERSION":"Versão","SETTINGS_ABOUT":"Sobre","SETTINGS_MPV_WINDOW":"Executar em uma janela separada (avançado)","SETTINGS_PLAY_IN_EXTERNAL":"Sempre iniciar vídeo em player externo","SETTINGS_STORAGE_BUTTON":"Limpar armazenamento local","SETTINGS_STORAGE_MODAL_TITLE":"Você tem certeza?","SETTINGS_STORAGE_MODAL_MESSAGE":"Isso limpará o armazenamento local e terminará a sua sessão.","SETTINGS_HWDEC_PICKER":"Escolha a configuração de decodificação acelerada por hardware","SETTINGS_HW_AUTOMATIC":"Automático","SETTINGS_HW_DISABLED":"Desativado","SETTINGS_HW_ACCELERATED":"Aceleração de decodificação","SETTINGS_HW_FULL":"Aceleração total","SETTINGS_HW_LEGACY":"Legado","SETTINGS_DISABLED":"Desativado","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Notificação de conexão de rede","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"URL remoto","SETTINGS_COPY_REMOTE_URL":"Copiar URL remoto","SETTINGS_REMOTE_URL_COPIED":"URL remoto copiado para a sua área de transferência","SETTINGS_SECTION_SUBTITLES":"Legendas","SETTINGS_SECTION_AUDIO":"Áudio","SETTINGS_SECTION_CONTROLS":"Controles","SETTINGS_SECTION_AUTO_PLAY":"Reprodução automática","SETTINGS_SECTION_ADVANCED":"Avançado","SUBSPICKER_AUDIO":"Áudio","SUBSPICKER_SUBTITLES":"Addons de Legendas","SUBSPICKER_BLACK_BACKGROUND":"Usar cor de fundo preta","SUBSPICKER_VERTICAL_OFFSET":"Deslocamento Vertical","SUBSPICKER_SIZE":"Tamanho","SUBSPICKER_DELAY":"Atraso","SUBSPICKER_EMBEDDED_SUBS":"Legendas Embutidas","MOBILE_PRIVACY_POLICY":"Política de Privacidade","MOBILE_CRASH_REPORTING":"Relatório de falhas","MOBILE_ZOOM_TO_FILL":"Zoom para preencher a tela","MOBILE_PASSTHROUGH":"Saída de áudio digital (passthrough)","MOBILE_RUN_LOW_BATTERY":"Executar com bateria fraca","MOBILE_RUN_FOREGROUND":"Executar como serviço em primeiro plano","MOBILE_PERFORMANCE":"DESEMPENHO E ESTABILIDADE","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"QR Code expira em ","MOBILE_LOG_INTO":"Faça login na sua conta Stremio ","MOBILE_SCAN_QR":"Escaneie o código QR acima ou acesse ","MOBILE_LINK_ACCOUNT":"Vincular conta","MOBILE_SPEEDPICKER_CANCEL":"Cancelar","MOBILE_SPEEDPICKER_LABEL":"Selecione a velocidade de reprodução","MOBILE_EMPTY_LIBRARY":"Sua biblioteca está vazia","MOBILE_NO_ADDON_ACTIVE":"Nenhum Addon Stremio ativo para este tipo.","MOBILE_ORGANIZER_WARNING":"O aplicativo Stremio Organizer oferece funcionalidade limitada. Para obter uma lista de streams reproduzíveis e a experiência completa do Stremio, use o Stremio no desktop.","MOBILE_ADDON_LOADING":"ainda está carregando","MOBILE_ADDONS_LOADING":"os Addons ainda estão carregando","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Configure seu Addon","MOBILE_CONFIGURE_ADDON_LABEL":"Configurar Addon","MOBILE_ORGANIZER_ADDONS_WARNING":"O aplicativo Stremio Organizer oferece funcionalidade limitada. Para obter uma lista de streams reproduzíveis e a experiência completa do Stremio, use o Stremio no desktop.","MOBILE_DISCONNECT":"Desconectar","MOBILE_LOOKING_FOR_DEVICES":"Procurando dispositivos...","MOBILE_CAST_TO":"Transmitir para","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Deletar Conta","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"A exclusão da conta não é instantânea devido a obrigações legais. Após solicitar a exclusão da sua conta, você terá que usar um endereço de e-mail/perfil do Facebook diferente para criar uma nova conta Stremio no futuro.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirmar Exclusão da Conta","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Sua conta foi criada usando o Facebook. Para excluir sua conta, use nosso portal de usuário em www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Por favor, forneça sua senha para confirmar a exclusão da conta.","MOBILE_DELETE_ACCOUNT_BUTTON":"Deletar Conta","NAVIGATION_ON":"Ligado","NAVIGATION_OFF":"Desligado","MARKETING_AGREE":"Concordo em receber comunicações de marketing do Stremio","QUIT":"Sair","CONNECTED":"Conectado","AUTHENTICATE":"Autenticar","CACHING":"Em Cache","SETTINGS_CACHING_DRIVE":"Selecione o drive para cache","ENABLE_LOCAL_FILES_ADDON":"Habilite o Addon de arquivos locais (requer reinicialização)","LOCAL_ADDON_NOT_ENABLED":"O Addon local não está ativado. Clique aqui para ir para as configurações e habilitá-lo","ENABLE_REMOTE_HTTPS_CONN":"Habilitar conexões HTTPS remotas","TORRENT_PROFILE":"Perfil de Torrent","DATA_CACHING":"Dados em cache","MAGNET_PARSING":"Analisando o link magnético","January":"Janeiro","February":"Fevereiro","March":"Março","April":"Abril","May":"Maio","June":"Junho","July":"Julho","August":"Agosto","September":"Setembro","October":"Outubro","November":"Novembro","December":"Dezembro","Monday":"Segunda","Tuesday":"Terça","Wednesday":"Quarta","Thursday":"Quinta","Friday":"Sexta","Saturday":"Sábado","Sunday":"Domingo","Action":"Ação","Comedy":"Comédia","War":"Guerra","Family":"Família","Animation":"Animação","Adventure":"Aventura","Fantasy":"Fantasia","Crime":"Policial","Mystery":"Mistério","Romance":"Romance","Drama":"Drama","Horror":"Terror","Thriller":"Suspense","Sci-Fi":"Ficção Científica","Music":"Música","Biography":"Biografia","Documentary":"Documentário","Sport":"Esporte","Musical":"Musical","Western":"Faroeste","Film-Noir":"Film-Noir","News":"Notícias","History":"História","Game-Show":"Show de Jogos","Reality-TV":"Show Real","Talk-Show":"Programa de Entrevista","Film & Entertainment":"Filmes e Entretenimento","Gaming":"Jogos","From TV":"Da TV","Lifestyle":"Estilo de Vida","Science & Education":"Ciência e Educação","Cooking & Health":"Culinária e Saúde","Beauty & Fashion":"Beleza e Moda","Sports":"Esportes","News & Politics":"Notícias e Política","How-to & DIY":"Faça Você Mesmo","Tech":"Tecnologia","Automotive":"Automotivo","Causes & Non-Profits":"Causas Humanitárias","Movies":"Filmes","Uk Live Tv":"TV Inglesa","Fashion":"Moda","Business News Radio":"Rádio de Negócios","Business Tv":"Negócios","Cars & Auto":"Carros","Comedy Radio":"Rádio de Comédia","Lifestyle Radio":"Rádio de Estilo de Vida","News Tv":"Noticiário","Food And Wine":"Comes e Bebes","Latino Tv":"TV Latina","Shopping Tv":"Compras","Religion":"Religião","Kids":"Infantil","Body & Soul":"Corpo e Alma","Education":"Educação","Indian Tv":"TV Indiana","Extreme Sports":"Esportes Extremos","Middle Eastern Tv":"TV do Oriente Médio","Celebrity Tv":"Celebridades","Science Tv":"Ciência","Bikini babe":"Biquíni","Outdoors":"Externas","German Tv":"TV Alemã","French Tv":"TV Francesa","Italian Tv":"TV Italiana","Gamer Tv":"TV Gamer","Travel":"Viagens","Asian Tv":"TV Asiática","Entertainment":"Entretenimento","News Radio":"Rádio de Notícias","Music Radio":"Rádio de Música","Language Learning":"Aprendendo Idiomas","Science Radio":"Rádio de Ciência","Tech Radio":"Rádio de Tecnologia","Science & Technology Vod":"Ciência e Tecnologia Video Sob Demanda","new video":"Novo video","new episode":"Novo episódio","new movie":"Filme novo","recommended":"Recomendado","we recommend":"Nós recomendamos","offer of the day":"Oferta do dia","news":"Notícias","music video":"video de música","CTX_SHOW_HOTKEYS":"Mostrar teclas de atalho","CTX_DISMISS_NOTIF":"Dispensar notificações","CTX_DISMISS_ALL":"Dispensar tudo","CTX_SHARE":"Compartilhar","CTX_COPY_SHARE_LINK":"Copiar link compartilhado","CTX_COPY_MAGNET_LINK":"Copiar link magnético","CTX_COPY_STREAM_LINK":"Copiar link da stream","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copiar link de download do vídeo","CTX_DOWNLOAD_VIDEO":"Baixar esse vídeo","CTX_DOWNLOAD_SUBS":"Baixar Legendas","CTX_VIEW_ON_YOUTUBE":"Visualizar no YouTube","CTX_SHOW":"Mostrar","CTX_PLAY":"Reproduzir","CTX_PLAY_IN":"Reproduzir em","CTX_PLAY_ON":"Reproduzir em","CTX_WATCH_ON":"Assistir em","CTX_WATCH":"Assistir","CTX_WATCHED":"Assistido","CTX_WATCH_BEGINNING":"Assistir do inicio","CTX_WATCH_MOBILE":"Assistir em um aparelho móvel","CTX_REWIND":"Voltar para o início","CTX_MARK_WATCHED":"Marcar como assistido","CTX_MARK_NON_WATCHED":"Marcar como não assistido","CTX_MARK_UNWATCHED":"Marcar como não assistido","CTX_MARK_REST":"Marcar o resto como assistido","CTX_UNMARK_REST":"Marcar o resto como não assistido","CTX_RECEIVE_NEW_NOTIF":"Receber novas notificações","CTX_ENABLE_NEW_NOTIF":"Ativar notificações","CTX_DISABLE_NEW_NOTIF":"Desativar notificações","CTX_REMOVE_CACHE":"Remover do cache","CTX_REMOVE_CACHE_EP":"Remover episodio do cache","CTX_OPEN_CONTAINING":"Abrir pasta do arquivo","CTX_REMOVE":"Remover da biblioteca","CTX_AVAILABLE_OFFLINE":"Disponível Offline","CTX_PAUSED":"Pausado","CTX_ALWAYS_ON_TOP":"Manter em cima","CTX_FULLSCREEN":"Tela cheia","CTX_WRONG_SUBS":"Legendas incorretas?","CTX_REPORT_ISSUES":"Reportar um problema","CTX_COPY":"Copiar","CTX_PASTE":"Colar","CTX_CLEAR":"Limpar","CTX_CLEAR_RECENT_SEARCHES":"Limpar buscas recentes","HELLO_THERE":"Olá","HOPE_YOU_ENJOY":"Esperamos que aprecie o Stremio, que já é um dos seus aplicativos favoritos!","WHO_ARE_WE":"Quem somos? Somos a equipe por trás disso tudo. Dois caras que trabalham duro todos os dias nos últimos 3 anos, com o único objetivo de deixar este produto cada vez melhor","SUPPORT_US":"Se você gosta de usar o Stremio, se ele está sendo útil pra você, divulgue!","SPREAD_THE_WORD":"Compartilhe com seus amigos agora, divulgue o Stremio","MORE_PEOPLE":"Quanto mais pessoas usarem o Stremio, melhor ele vai ficar!","SEND_A_LINK":"Ou envie um link para nosso site","TIP_LOCALFILES":"Dica: você pode arrastar e soltar arquivos de vídeo diretamente no Stremio","ADDON_MY":"Meus Addons","ADDON_COMMUNITY":"Addons da comunidade","ADDON_OFFICIAL":"Addons oficiais","ADDON_REPOS":"Repositórios de Addons","ADDON_SEARCH":"Buscar Addons","ADDON_INSTALL":"Instalar","ADDON_CONFIGURE":"Configurar","ADDON_UNINSTALL":"Desinstalar","ADDON_UPGRADE":"Atualizar","ADDON_INSTALLED":"Instalado","ADDON_INSTALLED_MSG":"Addon instalado!","ADDON_UPGRADED_MSG":"Addon atualizado!","ADDON_UNKNOWN":"Desconhecido","ADDON_ERR":"Erro ao instalar o Addon!","ADDON_DISCONNECTED":"Desconectado","ADDON_APP_MISSING":"o aplicativo que suporta esta fonte não está instalado. Deseja instalar agora?","ADDON_APP_INSTALL":"Instalar agora","ADDON_PAGE":"Página de Addons","ADDON_TOP_CONTENT":"Melhor conteúdo deste Addon","ADDON_PROVIDES":"Este Addon lhe dará:","ADDON_WATCH":"Assista a #{types} agora!","ADDON_WATCH_FREE":"Assista a #{types} de GRAÇA agora!","ADDON_ADDON":"Addon","ADDON_SUPPORTED_TYPES":"Tipos suportados","ADDON_SUPPORTED_CATALOGS":"Catálogos suportados","ADDON_PROVIDES_DISCOVER":"Mais #{types} em Descubra","ADDON_PROVIDES_STREAMS":"Assista a #{types}","ADDON_PROVIDES_STREAMS_FREE":"Assista a #{types} de GRAÇA","ADDON_PROVIDES_SUBTITLES":"Legendas para #{types}","ADDON_CANTDETECT":"Nós não pudemos detectar se o Stremio está sendo executado, então não pudemos detectar quais Addons você tem instalado.","ERR_NO_META":"Nenhuma informação encontrada sobre isso ","ERR_GETTING_META":"Erro ao obter informação sobre isto.","ERR_CANT_PARSE_MAGNET":"Não foi possível analisar o link magnético","ERR_NO_MAGNET_INFOHASH":"Informação inválida no hash do link magnético","ERR_NO_FILE_PATH":"Impossível enviar uma requisição sem um caminho para o arquivo","ERR_NO_TORRENT":"Nenhum torrent retornado","ERR_NO_SUPPORTERD_FILES":"Nenhum arquivo suportado encontrado","ERR_OPENING_FILES":"Não foi possível abrir arquivos externos","ERR_INVALID_LINK":"Link inválido","ERR_REGISTERED_ONLY":"Esta opção está disponível apenas para usuários registrados.","ERR_CLIPBOARD":"Não é possível reproduzir da área de transferência","ERR_CLIPBOARD_READ":"Não é possível ler a área de transferência nesta plataforma","ERR_CLIPBOARD_GENERIC":"Nenhuma URL reproduzível encontrada na Área de Transferência. Por favor, copie uma URL (ex.: link magnético) para um vídeo.","BOARD_CONTINUE_WATCHING":"Continue assistindo","BOARD_EXPLANATION_RECOMMENDATIONS":"Filmes escolhidos especialmente para você.<br />Este filme é uma recomendação de amostra.","BOARD_EXPLANATION_EPISODES":"Novos episódios de suas séries favoritas.<br />Adicione séries que você segue na sua Biblioteca.","BOARD_EXPLANATION_VIDEOS":"Novos episódios dos seus canais favoritos.<br />Adicione canais do YouTube que você segue na sua Biblioteca.","WEBSITE_ENJOYED_BY":"Apreciado por mais de 30 milhões de usuários em todo o mundo","WEBSITE_STREAMING_ENHANCED":"Streaming Aprimorado","WEBSITE_STREAMING_ENHANCED_DETAILS":"O Stremio oferece uma experiência de entretenimento segura, moderna e perfeita. Com sua interface fácil de usar e biblioteca de conteúdo diversificada, incluindo suporte a 4K HDR, os usuários podem desfrutar de seus filmes e programas de TV favoritos em todos os seus dispositivos. E com seu compromisso com a segurança, o Stremio é a escolha definitiva para uma experiência de streaming de alta qualidade e sem preocupações.","WEBSITE_AVAILABLE_ON":"Disponível em","WEBSITE_WATCH_AND_ENJOY":"Assista e Aproveite.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio torna tudo fácil","WEBSITE_ALL_FEATURES":"Todos os recursos","WEBSITE_EASY_TO_USE":"Fácil de usar","WEBSITE_EASY_TO_USE_DETAILS":"O Stremio foi projetado para ser fácil de usar e amigável. Com sua interface limpa e intuitiva, você pode navegar facilmente e encontrar o conteúdo que deseja assistir.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Perfeito em Todos os Dispositivos","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Disponível para uma ampla variedade de plataformas (incluindo Windows, Mac, Linux, Android e muito mais), o Stremio manterá o controle do seu progresso em todos os seus dispositivos. Basta fazer login e continuar assistindo sem precisar configurar o aplicativo novamente em cada novo dispositivo.","WEBSITE_ALL_DOWNLOADS":"Todos os Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"Suporte a Vídeo de Alta definição","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"Um player de vídeo integrado que suporta a maioria dos formatos de vídeo, incluindo conteúdo 4K HDR, permite que você desfrute da melhor qualidade disponível.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Biblioteca de Conteúdo Diversificada","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"O Stremio se integra a uma grande quantidade de fontes de vídeo populares, como Netflix, Amazon Prime Video, Hulu, YouTube e muitos outros.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Crie uma Conta Gratuita","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Experiência de Visualização Personalizada","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"O Stremio permite que você personalize a aparência e a sensação da interface alterando o tema, adicionando ou removendo complementos e muito mais.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Suporte a Legendas Multilíngues","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"Agora você pode desfrutar de todo o conteúdo favorito em seu idioma preferido, pois o Stremio suporta legendas em todos os idiomas.","WEBSITE_ALL_STREMIO_FEATURES":"Todos os recursos do Stremio","WEBSITE_TRY_STREMIO_TITLE_P1":"Experimente o Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"Na sua TV Agora","WEBSITE_YOU_CAN_NOW_WATCH":"Agora você pode assistir a todos os seus programas de TV favoritos em seus dispositivos Android TV. O aplicativo de TV Stremio permite que você aproveite uma noite de cinema com facilidade.","WEBSITE_YOU_CAN_NOW_WATCH_2":"Agora você pode assistir a todos os seus programas de TV favoritos em sua Smart TV ou Android TV. Os aplicativos de TV Stremio permitem que você aproveite uma noite de cinema com facilidade.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio para Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Provavelmente o melhor e mais útil aplicativo para ter em seu dispositivo. É um dos aplicativos que uso diariamente, especialmente na minha Android TV, há muitos anos. Bem feito, com uma comunidade forte fornecendo funcionalidades úteis. Bem feito. Continuem com o bom trabalho.","WEBSITE_REVIEWS":"avaliações","WEBSITE_GET_STREMIO_FOR_FREE":"Obtenha o Stremio Gratuitamente","WEBSITE_GET_STREMIO_NOW":"Obtenha o Stremio Agora","WEBSITE_STREMIO_FEATURES":"Recursos do Stremio","WEBSITE_STREMIO_FEATURES_DETAILS":"Transmita como um profissional com os recursos avançados do Stremio e desfrute de acesso perfeito a todos os seus meios favoritos","WEBSITE_DISCOVER_MORE":"Descubra mais.","WEBSITE_DISCOVER_MORE_DETAILS":"Nunca fique sem coisas para assistir","WEBSITE_COMMUNITY_DRIVEN":"Impulsionado pela comunidade","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"O Stremio tem uma comunidade grande e ativa de usuários que contribuem para o desenvolvimento do software criando e compartilhando complementos.","WEBSITE_GET_INVOLVED":"Envolver-se","WEBSITE_NEW_THEATER_EXPERIENCE":"Nova experiência de cinema","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"O novo aplicativo de TV dedicado do Stremio permite que você aproveite uma noite de cinema em seus dispositivos Android TV.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Os novos aplicativos de TV dedicados do Stremio permitem que você aproveite uma noite de cinema em suas Smart TVs ou dispositivos Android TV.","WEBSITE_FREE_AND_SECURE":"Grátis & Seguro","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"O Stremio oferece segurança e privacidade incomparáveis para os usuários. Com sua característica única de executar complementos remotamente, o Stremio fornece uma maneira mais segura de transmitir seu conteúdo favorito em comparação com outras plataformas. Sua segurança e privacidade são as principais prioridades, e a plataforma garante que todos os seus dados estejam protegidos.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Diga adeus às preocupações com segurança e privacidade e diga olá a um mundo de entretenimento sem fim com o Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Informações fornecidas por","WEBSITE_CONTRIBUTE":"Contribuir","WEBSITE_CONTRIBUTE_DESC":"para o projeto e nos ajude a tornar o Stremio ainda melhor","WEBSITE_COMMUNITY_DESC":"Acreditamos que a melhor maneira de criar uma experiência de streaming verdadeiramente incrível é envolver nossa comunidade no processo. Se você é um programador, um artista ou apenas um fã, pode ajudar o Stremio a crescer.","WEBSITE_COMMUNITY_DESC_2":"Então junte-se a nós hoje e faça parte da comunidade Stremio e continue moldando o futuro do streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Formas de se envolver","WEBSITE_IN_THE_STREMIO_COMMUNITY":"na comunidade Stremio","WEBSITE_SHARE_YOUR_THOUGHTS":"Compartilhe seus pensamentos","WEBSITE_REPORT_BUGS":"Relatar bugs","WEBSITE_SUGGEST_FEATURES":"sugerir funcionalidades","WEBSITE_AND_PROVIDE_FEEDBACK":"e fornecer feedback em nossos canais de mídia social.","WEBSITE_BETA_TESTING_PROGRAM":"Programa de Testes Beta","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participe do nosso programa de testes beta (enviamos convites regularmente) na comunidade Stremio.","WEBSITE_JOIN_NOW":"Junte-se agora!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Comunidades Oficiais do Stremio","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Comunidades Não-Oficiais do Stremio","WEBSITE_BECOME":"Torne-se","WEBSITE_A_VOLUNTEER_TRANSLATOR":"um tradutor voluntário","WEBSITE_ARE_YOU_A_DEVELOPER":"Você é um desenvolvedor?","WEBSITE_CONTRIBUTE_CODE":"Você pode contribuir com código para nossos projetos de código aberto. Temos vários projetos no GitHub que estão procurando contribuidores. Se você estiver interessado em ajudar, confira:","WEBSITE_STREMIO_ON_GITHUB":"Stremio no GitHub","WEBSITE_CREATE_ADDON_DESC":"Crie um addon para aprimorar a funcionalidade do Stremio (temos uma API fácil de usar):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"Também oferecemos a oportunidade de se juntar a nós como um desenvolvedor estagiário para que possamos crescer juntos.","WEBSITE_APPLY_AS_AN_INTERN":"Candidate-se como Estagiário","WEBSITE_CALLING_ALL_ARTISTS":"Chamando Todos os Artistas!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Mostre sua criatividade e amor pelo Stremio enviando sua arte de fã para nossa galeria online. Seja um desenho, pintura ou design digital, queremos ver sua visão única da marca Stremio. Junte-se à nossa comunidade de entusiastas da arte e compartilhe seu trabalho com outros fãs do Stremio ao redor do mundo.","WEBSITE_STREMIO_FANART_GALLERY":"Galeria de Fanart do Stremio","WEBSITE_INTERN_DESIGNER":"Faça parte da nossa equipe e leve sua criatividade a novos patamares com nossas emocionantes oportunidades de estágio.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Projeto de Filmes de Domínio Público","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"No Stremio, estamos comprometidos em preservar a história do cinema e da televisão identificando vídeos de domínio público e órfãos. Trabalhando juntos com nossa comunidade, podemos garantir que essas obras de arte clássicas sejam acessíveis a todos e protegidas para as gerações futuras desfrutarem.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Sinta-se à vontade para entrar em contato conosco se quiser se envolver nesse projeto.","WEBSITE_JOIN_THE_PROJECT":"Junte-se ao Projeto","WEBSITE_BE_PART_OF_OUR_MISSION":"Faça parte da nossa missão","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interessado em se juntar à equipe Stremio? Oferecemos trabalho totalmente remoto para profissionais apaixonados. Confira nossas vagas abertas.","WEBSITE_OPEN_POSITIONS":"VAGAS ABERTAS","WEBSITE_DESCRIPTION":"DESCRIÇÃO","WEBSITE_LEARN_MORE":"Saiba mais","WEBSITE_COMPANY":"Empresa","WEBSITE_CONTACTS":"Contatos","WEBSITE_NEED_HELP":"Precisa de Ajuda?","WEBSITE_STREMIO_WEB_ON_IOS":"Guia para Stremio Web no iOS","WEBSITE_LINK_ART_V2":"Galeria de Fanart","WEBSITE_PARTNERS":"Parceiros","WEBSITE_SLOGAN_WATCH":"Assista instantaneamente","WEBSITE_SLOGAN_ALL":"Todo conteúdo em vídeo que você adora em um único lugar","WEBSITE_SLOGAN_NEW":"Tudo o que você pode assistir","WEBSITE_SLOGAN_NEW_NEW":"Liberdade para o Stream","WEBSITE_WATCH_FROM":"Assista a partir de","WEBSITE_DOWNLOAD":"Baixe agora","WEBSITE_DOWNLOAD_FOR":"Baixe agora para","WEBSITE_IS_DESKTOP":"Stremio é um aplicativo para desktop, abra esta página em seu computador e baixe","WEBSITE_DESKTOP_DEMO_VID":"Demonstração","WEBSITE_PAGE_HOME":"Início","WEBSITE_PAGE_FEATURES":"Funcionalidades","WEBSITE_PAGE_ADDONS":"Addons","WEBSITE_PAGE_TECH":"Tecnologia","WEBSITE_PAGE_CREATE_ADDON":"Criar Addon","WEBSITE_PAGE_CONTACTS":"Contato","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Por favor, insira sua nova senha desejada abaixo.","WEBSITE_RESET_PASSWORD_WARNING":"Você tem certeza de que deseja redefinir a senha para ${1}?","WEBSITE_TYPE_movie":"Filmes","WEBSITE_TYPE_series_PL":"Séries","WEBSITE_TYPE_tv":"TV Ao vivo","WEBSITE_TYPE_channel":"Canais","WEBSITE_STREMIO_WHAT_IS":"Stremio é um aplicativo que ajuda você a organizar e assistir instantaneamente seus vídeos, filmes, séries de TV e canais de TV favoritos.","WEBSITE_FEATURES_WATCH":"Assista instantaneamente em HD","WEBSITE_FEATURES_WATCH_DETAIL":"Clique e assista seus filmes favoritos, Séries, vídeos e canais de TV.","WEBSITE_FEATURES_SUBS":"Legendas automáticas","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio automaticamente seleciona legendas sincronizadas para o seu idioma.","WEBSITE_FEATURES_SUBS_LABEL":"Chefe, é a sua vez.","WEBSITE_FEATURES_CAST":"Exiba na TV & Celulares","WEBSITE_FEATURES_CAST_DETAIL":"Transmita para AppleTV, Chromecast, Smart TV (DLNA/UPnP) e dispositivos móveis.","WEBSITE_LIB":"Aprecie Sua Biblioteca Pessoal Sincronizada em Todos Seus Dispositivos","WEBSITE_LIB_COLLECT":"Recuperar da Stremio","WEBSITE_LIB_IMPORT":"Importe do Facebook","WEBSITE_LIB_LOCAL":"Adicione do seu dispositivo local","WEBSITE_BOARD":"Painel - Um lugar para Notificações e Recomendações","WEBSITE_BOARD_RECOMMEND":"Shows de TV Recomendados","WEBSITE_BOARD_TRENDING":"Filme em Alta","WEBSITE_BOARD_NEW":"Novo Vídeo","WEBSITE_BOARD_EPISODE":"Novo Episódio","WEBSITE_BOARD_1":"Procurando alguma coisa interessante para assistir? Obtenha recomendações baseadas no seu perfil!","WEBSITE_BOARD_2":"Seja avisado quando um novo episódio da sua série favorita ou canal do YouTube sair!","WEBSITE_BOARD_YOUTUBE":"Novos vídeos de canais do YouTube","WEBSITE_BOARD_EPISODES":"Novos episódios de séries que você segue","WEBSITE_ADDONS":"Addons de Conteúdo","WEBSITE_TECH_DETAIL":"Nós amamos tecnologias, nós amamos ciência disruptiva!\\nA Stremio usa as seguintes tecnologias Open Source:","WEBSITE_TECH_WCJS":"WebChimera.js permite que o Stremio reproduza qualquer formato de vídeo com uma ótima qualidade.","WEBSITE_TECH_WCJS_EXTRA":"Nós somos os mantenedores do projeto","WEBSITE_TECH_ELECTRON":"Electron provê uma plataforma inovadora no qual o Stremio é construído.","WEBSITE_TECH_ELECTRON_EXTRA":"Nós somos os contribuidores do projeto","WEBSITE_TECH_LINVODB":"Uma tecnologia de Banco de Dados que garante que seus dados estarão organizados e disponíveis em qualquer lugar que você se conectar.","WEBSITE_TECH_LINVODB_EXTRA":"Tecnologia interna","WEBSITE_CREATE_ADDON":"Crie seu Addon","WEBSITE_CREATE_ADDON_DETAIL":"Você possui um serviço fornecendo conteúdo em vídeo? Nós vamos ajudar você a se beneficiar dos recursos do Stremio criando seu Addon.","WEBSITE_CREATE_ADDON_BENEFITS":"Benefícios de criar um Addon para o Stremio","WEBSITE_P2P_BEAUTY":"A Beleza do streaming ponto-a-ponto","WEBSITE_P2P_1":"Vídeos em Full HD / 4K sob demanda ou transmissões ao vivo confiáveis e acessíveis","WEBSITE_P2P_2":"Plataforma de distribuição providenciando uma ótima experiência ao usuário","WEBSITE_P2P_3":"Nós criaremos um Addon reunindo exatamente o que você precisa","WEBSITE_P2P_CONTACT":"Interessado? Sinta-se a vontade para <a href=\'mailto:office@stremio.com\'>entrar em contato conosco</a>.","WEBSITE_P2P_CONTACT_EXTRA":"Será um prazer ajudar você a integrar seu conteúdo ao Stremio!","WEBSITE_P2P":"De vez em quando, aparece uma tecnologia que muda o jogo. Nós investimos muito tempo e esforço na construção do nosso mecanismo de transmissão de vídeo Peer-To-Peer (P2P) que fornece uma ótima performance e versatilidade para se adaptar a qualquer tipo de uso.\\nEntre em contato conosco para vídeos P2P sob demanda com gerenciamento de direitos autorais (DRM) habilitado ou transmissão ao vivo.","WEBSITE_THOUGHTS":"Pensamentos que compartilhamos:","WEBSITE_SPREAD":"Espalhe a palavra sobre o Stremio:","WEBSITE_CONTACT":"Contate-nos, teremos prazer em ouvi-lo.","WEBSITE_OPENSOURCE":"Veja nossos projetos Open Source em nosso ","WEBSITE_BITCOIN":"Doe Bitcoin:","WEBSITE_FAQ":"Perguntas frequentes","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Perguntas","WEBSITE_TOS":"Termos de uso","WEBSITE_LEGAL":"Legal","WEBSITE_PAGE_ABOUT":"Sobre","WEBSITE_PAGE_BECOME_PARTNER":"Seja um parceiro","WEBSITE_ALL_YOU_CAN_WATCH":"Liberdade Para Assistir\\nTudo Que Você Deseja.","WEBSITE_FREEDOM_TO_STREAM":"Liberdade para o Stream","WEBSITE_WHAT_IS_STREMIO":"O que é Stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"O Stremio é uma plataforma para agregação de conteúdo de vídeo. Descubra, organize e assista vídeos de todos os tipos de fontes em qualquer dispositivo que você possui.","WEBSITE_WHAT_IS_STREMIO_P2":"Filmes, séries, programas de TV, TV ao vivo ou canais da web como YouTube e Twitch.tv - você pode encontrar tudo isso no Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio é uma central de mídia moderna, uma solução integrada para todo seu entretenimento em vídeo. Você descobre, assiste e organiza conteúdo de vídeo a partir de Addons fáceis de instalar.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Filmes, shows de TV, TV ao vivo ou canais da web - encontre tudo isso no Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Desfrute em todos os seus dispositivos de mídia ","WEBSITE_DEVICES_COLLECT":"Recupere a partir do Stremio","WEBSITE_DEVICES_IMPORT_FB":"Importe a partir do Facebook","WEBSITE_DEVICES_LOCAL":"Adicione a partir de unidade local","WEBSITE_JOIN_THE_PARTY_NOW":"Junte-se à festa agora","WEBSITE_DEVICES_ALL":"Fácil de usar em todos os seus dispositivos;","WEBSITE_EXTENDABLE_CATALOG":"Catálogo de vídeo infinitamente extensível;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Ótimas funcionalidades para organizar sua mídia;","WEBSITE_AS_SEEN_ON":"Como visto em","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"Sobre nós","WEBSITE_LINK_TECHNOLOGY":"Tecnologia","WEBSITE_LINK_APPS":"Aplicativos","WEBSITE_LINK_DOWNLOADS":"Baixe","WEBSITE_MORE":"Mais","WEBSITE_LINK_ADDONS":"Addons","WEBSITE_LINK_ADDON_SDK":"Kit de Desenvolvimento","WEBSITE_LINK_CONTRIBUTE":"Contribuir","WEBSITE_LINK_COMMUNITY":"Comunidade","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... & Mais","WEBSITE_LINK_HELP":"Central de Ajuda","WEBSITE_LINK_CONTACTS":"Inquérito de Negócios","WEBSITE_LINK_TOS":"Termos e Condições","WEBSITE_LINK_PRAVACY":"Politica de Privacidade","WEBSITE_SUBSCRIBE":"Inscreva-se","WEBSITE_NEWSLETTER":"Inscreva-se na nossa newsletter para receber as novidades","WEBSITE_PLACEHOLDER_EMAIL":"Seu email","WEBSITE_COMMUNITY":"Comunidade","WEBSITE_LINK_PRAVACY_LEGAL":"Privacidade e Legal","WEBSITE_WHY":"Por que nós fazemos isso","WEBSITE_WHY_P1":"No Stremio, nós chegamos a trabalhar todos os dias porque queremos resolver um problema importante para o setor de vídeo sob demanda. Há tanto conteúdo novo publicado a cada minuto que é virtualmente impossível encontrar o caminho menos árduo.","WEBSITE_WHY_P2":"Ajudamos as pessoas a navegar neste mundo imenso de entretenimento de vídeo e a descobrir novos conteúdos para apreciar. Nossos aplicativos trazem consigo filmes, séries, TV ao vivo, canais da web e muito mais. Estamos focados em facilitar que nossos usuários possam encontrar facilmente títulos e canais que eles adoram. ","WEBSITE_WHY_P3":"Você pode usar nosso serviço em qualquer dispositivo e a qualquer hora, tornando o Stremio a única plataforma agregadora de entretenimento de vídeo que você precisará.","WEBSITE_TEAM":"Equipe","WEBSITE_TEAM_P":"A equipe do Stremio é pequena, mas poderosa: entre nós dez, codificamos em várias linguagens e compartilhamos experiência em desenvolvimento de software, design UI e UX, marketing e publicidade, e negócios e startups.","WEBSITE_FEATURES":"Recursos","WEBSITE_FEATURES_P1":"-","WEBSITE_FEATURES_DISCOVER":"Descubra novos conteúdos com facilidade","WEBSITE_FEATURES_DISCOVER_P":"Descubra facilmente novos filmes, séries, programas de TV e canais para assistir. Navegue por categoria, gênero, classificação, novidade, etc. ou simplesmente digite um nome para encontrar. Stremio faz achar conteúdo de vídeos ser uma moleza.","WEBSITE_FEATURES_ALL_CONTENT":"Todo seu conteúdo de vídeo em uma tela","WEBSITE_FEATURES_ALL_CONTENT_P1":"Veja quais filmes, séries ou vídeos você não terminou e continue assistindo. Seja notificado sobre novos episódios e lançamentos e navegue pelas recomendações que você obterá com base em seus hábitos de visualização","WEBSITE_FEATURES_LIBRARY":"Organize sua biblioteca de vídeos","WEBSITE_FEATURES_LIBRARY_P1":"Adicione qualquer título à sua biblioteca do Stremio com um único clique e encontre seu conteúdo, organizado por tipo, novidade ou ordem alfabética","WEBSITE_FEATURES_CALENDAR":"Acompanhe tudo o que você assiste","WEBSITE_FEATURES_CALENDAR_P1":"Visualize o calendário de todos os filmes e séries que você adiciona à sua biblioteca, e também saiba quando haverá um novo episódio ou uma estreia.","WEBSITE_FEATURES_BIG_SCREEN":"Aproveite o seu conteúdo de vídeo em uma tela maior ","WEBSITE_FEATURES_BIG_SCREEN_P1":"Projete o que você estiver assistindo para outro dispositivo - use o smartphone, tablet ou TV com um único clique","WEBSITE_FEATURES_SOURCES":"Assista o vídeo de várias fontes diferentes.","WEBSITE_FEATURES_SOURCES_P":"Instale os Addons oficiais e comunitárias para aproveitar o vídeo fornecido por vários fornecedores diferentes - tudo em um aplicativo elegante e fácil de usar.","WEBSITE_CREATE_AN_ADDON":"Crie um Addon.","WEBSITE_FEATURES_SYNC":"Sincronize sua biblioteca entre diferentes dispositivos e continue a reprodução","WEBSITE_FEATURES_SYNC_P1":"Entre com sua conta em todos os seus dispositivos e aproveite sua biblioteca, Addons, reprodução e calendário sincronizados.","WEBSITE_FEATURES_EXTENDABLE":"Catálogo de vídeo extensível por Addons","WEBSITE_FEATURES_EXTENDABLE_P1":"O catálogo de Addons do Stremio fornece vários Addons para instalar e assistir a uma variedade de conteúdos de vídeo. Isso inclui filmes, programas, TV ao vivo, esportes, notícias, podcasts, canais da web, videogames e muito mais.","WEBSITE_FEATURES_AUTO_SUBS":"Legendas automáticas","WEBSITE_FEATURES_AUTO_SUBS_P1":"Com nossos Addons para legenda, você obtém automaticamente as opções selecionadas para o seu idioma preferido.","WEBSITE_FEATURES_CHROMECAST":"Transmitir para Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Desfrute do conteúdo do vídeo em uma tela maior ou apenas transmita o que estiver assistindo para outro dispositivo.","WEBSITE_FEATURES_KEEP_TRACK":"Acompanhe seus programas de TV e canais da Web favoritos ","WEBSITE_FEATURES_KEEP_TRACK_P1":"Obtenha uma visualização do calendário e notificações para novos episódios de suas séries e canais da web favoritos.","WEBSITE_FEATURES_POWER_USER":"Recursos avançados para usuários","WEBSITE_FEATURES_POWER_USER_P1":"Reproduzir em um reprodutor externo","WEBSITE_FEATURES_POWER_USER_P2":"Reproduzir de um arquivo torrent ou link magnético","WEBSITE_FEATURES_POWER_USER_P3":"Importe para sua biblioteca do Facebook likes ou disco local","WEBSITE_ADD_ONS":"Addons","WEBSITE_ADD_ONS_P1":"Todo o conteúdo de vídeo que o Stremio proporciona é proveniente de um sistema de Addons - nenhum fornecedor de conteúdo ou conteúdo foi incorporado no aplicativo.","WEBSITE_ADD_ONS_P2":"Existem dois grupos de Addons disponíveis: oficial e comunitária.","WEBSITE_ADD_ONS_P3":"As oficiais são desenvolvidas e hospedadas pela Stremio, enquanto os Addons comunitárias são criadas pelos membros de nossa comunidade, que também os hospedam.","WEBSITE_ADDONS_OFFICIAL":"Addons oficiais","WEBSITE_ADDONS_WATCHUB":"Transmite seus filmes, séries e shows favoritos de provedores como iTunes, Hulu, Amazon e outros serviços do Reino Unido / EUA.","WEBSITE_ADDONS_YOUTUBE":"Assista seus canais favoritos do YouTube livre de anúncios e receba notificações de novos vídeos dos canais que você segue.","WEBSITE_ADDONS_FILMON":"Assista TV ao vivo, filmes e canais interativos gratuitamente. 600 canais de TV, 45.000 filmes gratuitos, documentários e muito mais.","WEBSITE_ADDONS_OPENSUBTITLES":"Legendas de filmes e TV em vários idiomas. Milhares de legendas traduzidas e carregadas todos os dias.","WEBSITE_ADDONS_COMMUNITY":"Addons da comunidade","WEBSITE_ADDONS_FILMON_VOD":"Assista a vídeos sob demanda do Filmon.tv","WEBSITE_ADDONS_TWICH":"Assista transmissões ao vivo do Twitch.tv - a plataforma de streaming de vídeo para a indústria de e-sports.","WEBSITE_ADDONS_VODO":"Assista filmes independentes totalmente grátis.","WEBSITE_ADDONS_NETFLIX":"Assista filmes e séries da Netflix.","WEBSITE_ADDONS_CREATE":"Crie um Addon.","WEBSITE_ADDONS_CREATE_P1":"Se desejar, você pode desenvolver sua próprio Addon. Desta forma, você pode proporcionar a você e a nossa comunidade acesso a novos conteúdos de vídeo, e alcançar um novo público-alvo de milhões de usuários em todo o mundo.","WEBSITE_ADDONS_START_CREATE":"Para iniciar, visite a página do Kit de Desenvolvimento de Addons da Stremio:","WEBSITE_DOWNLOADS":"Baixar","WEBSITE_DOWNLOADS_P1":"Para um desempenho ideal, recomendamos que você use a versão mais recente disponível das aplicações Stremio. Se por algum motivo, no entanto, você prefira usar uma versão mais antiga, você pode baixá-la aqui.","WEBSITE_DOWNLOADS_P1_SHORT":"Para um desempenho ideal, recomendamos que você use a versão mais recente disponível dos aplicativos Stremio.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio para Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio para MacOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio para Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio para Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio para Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio para Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio para Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio para iOS (versão limitada)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio para Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio para LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio para Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio para Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio para Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio para o Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio para Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio para Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio para o navegador","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Procure o Stremio na App Store dos modelos de TV Samsung 2019+","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Procure o Stremio na App Store dos modelos de TV LG 2020+","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Procure por Stremio no aplicativo Play Store na TV Sony com Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Procure por Stremio no aplicativo Play Store na Philips TV com Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Procure o Stremio na App Store do teu dispositivo Xbox","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guia para Stremio OS no RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Baixar o Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service é um aplicativo complementar para o Stremio Web. Recomendamos o uso da versão mais recente disponível do Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service para Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service para macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service para Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service para Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio para Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"Mais opções de download","WEBSITE_DOWNLOAD_NEW":"Novo!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"Lançamos o Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"Lançamos o Stremio para a Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"Lançamos o Stremio para a LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"Lançamos o Stremio para Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"Lançamos o Stremio para Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"A plataforma Stremio é de código aberto e você pode criar facilmente um Addon para o conteúdo que atualmente não é fornecido.","WEBSITE_CONTRIBUTE_WHY":"Por que você deve criar um Addon?","WEBSITE_CONTRIBUTE_WHY_P1":"Alcance novo público para o conteúdo do seu vídeo","WEBSITE_CONTRIBUTE_WHY_P2":"A base de usuários do Stremio está crescendo rapidamente - no primeiro ano de lançamento, o Stremio ganhou 1 milhão de usuários em todo o mundo e, no segundo ano de existência da plataforma, esse número cresceu para 2,5 milhões.","WEBSITE_CONTRIBUTE_WHY_P3":"Com a seu Addon, você pode alcançar facilmente esta audiência e distribuir o seu conteúdo em vídeo para eles.","WEBSITE_CONTRIBUTE_ALL":"Assista seus filmes, séries, vídeos e canais favoritos em um único lugar.","WEBSITE_CONTRIBUTE_ALL_P1":"Você é fã de um tipo de conteúdo que ainda não está disponível no Stremio? Crie um Addon para isso, e aprecie assistir seus vídeos favoritos em um dos maiores e mais fáceis de se usar hub de entretenimento do mercado.","WEBSITE_CONTRIBUTE_ALL_P2":"Além disso, você obterá a infinita gratidão de outros membros da comunidade Stremio com ideias semelhantes","WEBSITE_CONTRIBUTE_MONETIZE":"Monetize seu Addon e ganhe dinheiro com a ajuda dela","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Uma vez que você desenvolve um novo Addon para o Stremio, você pode facilmente monetizá-lo através de várias maneiras diferentes. Se você está considerando isso, sinta-se à vontade para entrar em contato conosco no ","WEBSITE_CONTRIBUTE_MONETIZE_E":"Addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - nós ficaríamos felizes em lhe instruir e aconselhá-lo sobre as opções de monetização de seu Addon.","WEBSITE_CONTRIBUTE_TRANSLATE":"Torne-se um tradutor voluntário","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Se você deseja aproveitar as aplicações do Stremio em diferentes idiomas, você pode se juntar à nossa comunidade de tradutores voluntários. Eles nos ajudam a adicionar versões do Stremio em vários idiomas diferentes.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Você está ansioso para começar?","WEBSITE_TRANSALTE_STREMIO":"Traduza o Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Comunidades oficiais","WEBSITE_COMMUNITY_OFFICIALS_P1":"Torne-se parte da crescente comunidade Stremio. Siga-nos nas redes sociais e não se sinta intimidado em nos dizer um \\"Olá\\" - amamos saber de nossos fãs!","WEBSITE_COMMUNITY_UNOFFICIALS":"Comunidades não oficiais","STREMIO_COMMUNITY_NL":"Stremio Nova Zelândia","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Alemanha","STREMIO_COMMUNITY_BELGIUM":"Stremio Bélgica","STREMIO_COMMUNITY_FRANCE":"Stremio França","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Itália","STREMIO_COMMUNITY_UK":"Stremio Reino Unido","STREMIO_COMMUNITY_USA":"Stremio EUA","STREMIO_COMMUNITY_MEXICO":"Stremio México","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_AWESOME":"O melhor do Stremio","WEBSITE_COMMUNITY_PARTNERS":"Apoiadores e parceiros","WEBSITE_COMMUNITY_GOODIES":"Brindes Stremio","WEBSITE_COMMUNITY_WALLPAPERS":"Papéis de Parede","WEBSITE_COMMUNITY_ART":"Galeria de Arte Comunitária","WEBSITE_LINK_ART":"Galeria de arte comunitária","WEBSITE_CONTACT_US":"Fale conosco","WEBSITE_CONTACT_US_P1":"Caso tenha dúvidas, comentários ou sugestões, sinta-se à vontade para entrar em contato conosco através do formulário abaixo.","WEBSITE_CONTACT_US_P2":"Lembre-se de que estamos localizados na Bulgária, por isso, pode haver uma demora no atendimento da sua consulta devido às diferenças de fuso horário.","WEBSITE_CONTACT_US_SUCCESS":"Sua mensagem foi enviada. Nós entraremos em contato com você o mais breve possível.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Por favor, digite um e-mail válido!","WEBSITE_CONTACT_US_Q_RELATED_TO":"Com o que sua pergunta está relacionada?","WEBSITE_CONTACT_US_Q_OS":"Qual o seu sistema operacional?","WEBSITE_CONTACT_US_PH_EMAIL":"Seu email","WEBSITE_CONTACT_US_PH_MESSAGE":"Mensagem","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"ENVIAR","WEBSITE_CONTACT_US_Q_1":"Como instalar?","WEBSITE_CONTACT_US_Q_2":"Como desinstalar?","WEBSITE_CONTACT_US_Q_3":"(HTML) Como fazer lasanha?","WEBSITE_CONTACT_US_Q_4":"Addons","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"MacOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Tecnologia","WEBSITE_TECHNOLOGY_P1":"Nós amamos tecnologia e ciência maluca. </ br> Aqui estão os poderes do Stremio (tudo em código aberto).","WEBSITE_TECHNOLOGY_P_QT":"Desenvolvimento de software multiplataforma em seu melhor.","WEBSITE_TECHNOLOGY_P_MPV":"Um reprodutor de mídia gratuito, de código aberto e multiplataforma.","WEBSITE_TECHNOLOGY_P_RN":"O React Native permite que você crie aplicativos mobile usando apenas JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Framework de mídia embutido no aplicativo para recursos multimídia","WEBSITE_TECHNOLOGY_P_REALM":"Realm é uma plataforma mobile e um substituto para SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js é um ambiente em tempo de execução multiplataforma e de código aberto para JavaScript.","WEBSITE_TECHNOLOGY_P_RUST":"Rust é uma linguagem de programação multi-paradigma focada em segurança, especialmente concorrência segura.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribua com o projeto","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Há duas maneiras que você pode contribuir com o Stremio e nos ajudar a tornar o produto ainda melhor.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Você pode doar suas valiosas habilidades linguísticas para traduzir a plataforma...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"ou","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"...você pode usar suas habilidades de codificação para criar Addons comunitárias.","WEBSITE_TRANSLATE_STREMIO":"Traduza o Stremio","WEBSITE_404_OH_NO":"Ops! A página que você está procurando não está aqui...","WEBSITE_GO_HOME":"Principal","WEBSITE_LINK_OTHER_DOWNLOADS":"Outros downloads","WEBSITE_FAQ_ABR":"Dúvidas Frequentes","WEBSITE_SUPPORT":"Ajuda","WEBSITE_DOWNLOAD_4_0_BETA":"Baixe agora o Stremio 4 beta","WEBSITE_GET_FOR_DESKTOP":"Baixe para seu PC","WEBSITE_LINK_ADDON_COMPETITION":"Competição de Addon","WEBSITE_LINK_ART_CONTEST":"Concurso de arte","WEBSITE_MY_ACCOUNT":"Minha conta","WEBSITE_MAINPAGE_FAQ_001_H1":"O que é Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"O Stremio é um moderno centro de mídia que oferece a liberdade de assistir tudo o que você deseja.","WEBSITE_MAINPAGE_FAQ_002_H1":"Como funciona?","WEBSITE_MAINPAGE_FAQ_002_P1":"Depois de instalar o Stremio no seu dispositivo e criar uma conta, tudo o que você precisa fazer é visitar o catálogo de Addons e instalar qualquer Addon que desejar, e pronto!","WEBSITE_MAINPAGE_FAQ_002_P2":"Depois disso, você pode ir para as seções Descubra ou Painel para começar a explorar o conteúdo.","WEBSITE_MAINPAGE_FAQ_003_H1":"O que posso assistir aqui?","WEBSITE_MAINPAGE_FAQ_003_P1":"Diversos filmes, programas de TV, canais da Web, esportes, canais de TV, ouvir podcasts e muito mais. Graças ao nosso sistema de Addons, você pode acessar uma variedade de conteúdos.","WEBSITE_MAINPAGE_FAQ_004_H1":"Stremio é de código aberto?","WEBSITE_MAINPAGE_FAQ_004_P1":"Sim, você pode verificar os seguintes links: ${1}aplicativo de desktop${2} e ${3}organização GitHub${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Stremio é seguro?","WEBSITE_MAINPAGE_FAQ_005_P1":"Sim. Por ser um software de código aberto, o código é auditável publicamente e você pode revisá-lo.","WEBSITE_MAINPAGE_FAQ_005_P2":"O sistema de Addon do Stremio também foi criado com a segurança do usuário em mente. Os Addon não executam nenhum código localmente, portanto, não representam riscos para o seu dispositivo","WEBSITE_MAINPAGE_FAQ_006_H1":"E a minha privacidade?","WEBSITE_MAINPAGE_FAQ_006_P1":"Respeitamos a privacidade dos usuários e não coletamos dados pessoais além do mínimo essencial para criar e sincronizar sua conta.","WEBSITE_MAINPAGE_FAQ_006_P2":"Há também um ${1}modo visitante ${2}na inscrição, que não requer dados: neste modo, nenhuma chamada é feita para o nossos servidores. No entanto, isso ocorre à custa de recursos úteis, como sincronizar sua biblioteca entre dispositivos.","WEBSITE_MAINPAGE_FAQ_007_H1":"Posso transmitir para minha TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Sim, suportamos o Chromecast e você pode transmitir a partir de aplicativos para computador e dispositivos móveis (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"Quantos Addons o Stremio possui?","WEBSITE_MAINPAGE_FAQ_008_P1":"No final de 2019, acima de 50 - para obter mais informações, consulte nosso catálogo de Addons.","WEBSITE_MAINPAGE_FAQ_009_H1":"O Stremio pode ser estendido além do que está no catálogo de Addons?","WEBSITE_MAINPAGE_FAQ_009_P1":"Sim, você deve checar estes: ${1}PimpMyStremio${2}, ${3}Comunidades Reddit${4}, ${5}Downloader Stremio${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"Quais dispositivos o Stremio suporta?","WEBSITE_MAINPAGE_FAQ_010_P1":"Temos aplicativos de desktop para Windows, Mac e Linux. Para dispositivos móveis, suportamos Android e iOS, embora tenha em mente que a funcionalidade do iOS é limitada (não é compatível com a maioria das Addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"Existem muitos dispositivos baseados no Android nos quais você pode executar o Stremio, como NVIDIA Shield e Amazon Fire Stick, mas não os suportamos oficialmente.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"Temos aplicativos de desktop para Windows, Mac e Linux. Também temos aplicativos dedicados para dispositivos móveis Android e Android TV. Para iOS e iPadOS, sugerimos usar o Stremio Web, embora ele seja mais limitado em funcionalidade.","WEBSITE_MAINPAGE_FAQ_011_H1":"Você pode adicionar determinado conteúdo ao Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Desculpe, mas nós não fornecemos conteúdo, porém quanto mais Addons do Stremio você instalar, mais conteúdo você poderá encontrar.","WEBSITE_MAINPAGE_FAQ_012_H1":"O Stremio pode reproduzir links magnéticos?","WEBSITE_MAINPAGE_FAQ_012_P1":"Sim, e também pode reproduzir links HTTP normais e arquivos torrent (arrastar e soltar).","WEBSITE_MAINPAGE_FAQ_013_H1":"Posso baixar um vídeo e assistir offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"O modo offline estará disponível futuramente, porém se você permitir que o Stremio faça cache no dispositivo (no painel de configurações), poderá assistir aos vídeos mais tarde, sem conexão.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nada funciona, me ajude!","WEBSITE_MAINPAGE_FAQ_014_P1":"Tem certeza de que instalou Addons? Se sim, verifique nossa ${1}central de ajuda${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"Como o Stremio sustenta suas operações de desenvolvimento?","WEBSITE_MAINPAGE_FAQ_015_P1":"Ocasionalmente, exibimos anúncios não intrusivos, mas estamos pensando em mudar para um modelo de doação.","WEBSITE_MAINPAGE_FAQ_015_P2":"Para mais dúvidas, visite nossa ${1}central de ajuda${2}.","HELP_LEARN_MORE":"Ajude-nos a aprender mais sobre você.","LIFESTYLE":"Estilo de vida","SPORTS":"Esportes","FOOD_HEALTH":"Gastronomia e Saúde","BEAUTY_FASHION":"Moda e Beleza","NEWS":"Notícias","GAMING":"Jogos","SCIENCE_EDUCATION":"Ciência e Educação","MUSIC":"Música","TRAVEL":"Viagens","LATE_NIGHT":"Tarde da Noite","REALITY":"Realidade","COMEDY":"Comédia","DIY":"Faça você mesmo","TECH":"Tecnologia","CINEMA":"Cinema","CONTINUE":"Continuar","SLOW_LOADING":"CARREGAMENTO LENTO?","I_GIVE_UP":"EU DESISTO","LEARN_MORE":"Saiba mais","POOR_SOURCE":"Esta fonte possui baixa disponibilidade ou a sua conexão à internet não é suficientemente rápida","PICK_CATEGORIES_ERR":"Você precisa escolher ao menos 3 categorias","ADJUST_TIMING":"Ajustar tempo com ","ADJUST_SIZE":"Ajustar tamanho com ","SEARCH_ANYTHING":"Você Pode Pesquisar Qualquer Coisa...","ALL_CATEGORIES":"Todas","SEARCH_CATEGORIES":"Filmes, Séries, YouTube & TV","SEARCH_PERSONS":"Atores, Diretores & Escritores","SEARCH_PROTOCOLS":"HTTP & Links Magnéticos","SEARCH_TYPES":"links IMDB / TVDB","WATCHED":"Visto","SHOW_LESS":"Mostrar menos","LAST_SEARCHES":"Últimas pesquisas","CLEAR_HISTORY":"Limpar histórico","CHOOSE_SOME":"ESCOLHA ALGUNS DESTES:","NO_WEB_REMOTE":"O Web Remote não pôde ser carregado","STREMIO_OFFLINE":"Stremio está offline","STREMIO_EXPENSIVE_CONNECTION":"A conexão de rede é custosa","USE_DATA":"Dados Móveis","WARNING":"Aviso","MORE_INFO":"Mais Informações ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Carregando ...","STREMIO_TV_BACK_TO_LANGUAGES":"Voltar para idiomas","STREMIO_TV_REMOTE":"Remoto","STREMIO_TV_GO_TO":"Ir Para:","STREMIO_TV_OR_SCAN":"ou buscar:","STREMIO_TV_ADDON_INSTRUCTIONS":"Por favor, siga as instruções a fim de instalar suas Addons favoritas.","STREMIO_TV_LIVE_TV":"TV Ao vivo","STREMIO_TV_RESUME_WATCHING":"Continuar assistindo","STREMIO_TV_LOADING_BACKGROUND":"Carregando Plano de Fundo","STREMIO_TV_CHECKING_AUTHENTICATION":"Checando Autenticação","STREMIO_TV_LOADING_BOARD":"Carregando Painel","STREMIO_TV_LOGIN_HEADER_LINE_1":"Queremos que nossos usuários tenham a melhor experiência personalizada possível com nosso programa.","STREMIO_TV_LOGIN_HEADER_LINE_2":"É por esta razão que nos gentilmente pedimos que faça e/ou logue em sua conta.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Obrigado por entender,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Equipe Stremio","STREMIO_TV_REMOTE_INSTRUCTIONS":"A fim de usar o Web Remote com seu Smartphone / Tablet / PC:","STREMIO_TV_WIFI_SETUP":"Configurar Wi-Fi","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle não detectou conexão com a internet.","STREMIO_TV_WIFI_DETAILS_1":"Conectar com:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Usar senha:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Abra o navegador com o link:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Padrão","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"Por Último Assistido","STREMIO_TV_LIBRARY_SORT_NAME":"Por Nome","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"Por Nome em ordem decrescente","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"Por Vezes Assistido","STREMIO_TV_LIBRARY_SORT_WATCHED":"Por assistidos","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"Por não assistidos","STREMIO_TV_DETAILS_SEASON_NUMBER":"Temporada ${1}","STREMIO_TV_STREAMS_LOADING":"Carregando ${1} / ${2} Addons...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} o Addon ainda esta carregando...","STREMIO_TV_PLAYER_SETTINGS":"Configurações do player","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Atraso das legendas","STREMIO_TV_PLAYER_AUDIO_DELAY":"Atraso de áudio","STREMIO_TV_PLAYER_VIDEO_SCALING":"Dimensionamento de vídeo","STREMIO_TV_PLAYER_CHAPTERS":"Capítulos","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Pular ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Fonte de stream não suportada","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Falha ao abrir link externo","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Não ajustável no modo de passagem de áudio","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Tocar com ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Tocar com player libVLC","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Mudando para o player libVLC devido a um erro de reprodução","STREMIO_TV_ADDONS_TITLE":"Use o Stremio em seu telefone ou PC para instalar ou configurar Addons e pressione \\"Sincronizar Addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Nota: verifique se você está usando a mesma conta Stremio","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sincronizar Addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons sincronizados com sucesso","STREMIO_TV_ADDONS_SYNC_FAILED":"Falha ao sincronizar Addons","STREMIO_TV_META_LINK_FAILED":"Falha ao abrir o meta link","STREMIO_TV_CATALOG_LOADING":"Catálogo ainda carregando...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Idioma da interface atualizado","STREMIO_TV_SETTINGS_THEME_UPDATED":"Tema atualizado","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Player Padrão","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Player Externo","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Idioma Preferido","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Idioma Secundário Preferido","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Reprodução em túnel","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possíveis problemas de reprodução em alguns dispositivos","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Alguns formatos de vídeo podem não funcionar","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Correspondência de taxa de quadros","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Desativado","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Apenas Taxa de Quadros","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Taxa de Quadros e Resolução","STREMIO_TV_SETTINGS_NO_CACHING":"Sem cache","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Padrão","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Suave","STREMIO_TV_SETTINGS_PROFILE_FAST":"Rápido","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Rápido","STREMIO_TV_SETTINGS_SERVER_URL":"URL do servidor de streaming","STREMIO_TV_SETTINGS_SERVER_VERSION":"Versão do servidor","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Desconhecido","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Versão do Stremio","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Editar URL do servidor","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Insira um URL de servidor de streaming","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Mostrar estatísticas durante o carregamento","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"Para ler a Política de Privacidade do Stremio, visite:","STREMIO_TV_SETTINGS_TOS_TEXT":"Para ler os Termos e Condições do Stremio, visite:","STREMIO_TV_NAV_SEARCH":"Procurar","STREMIO_TV_NAV_HOME":"Início","STREMIO_TV_NAV_DISCOVER":"Descobrir","STREMIO_TV_NAV_LIBRARY":"Biblioteca","STREMIO_TV_NAV_MOVIES":"Filmes","STREMIO_TV_NAV_SERIES":"Series","STREMIO_TV_NAV_CHANNELS":"Canais","STREMIO_TV_NAV_TV":"TV ao vivo","STREMIO_TV_NAV_SETTINGS":"Configurações","STREMIO_TV_NAV_ADDONS":"Addons","STREMIO_TV_LOGIN_TITLE":"Vincular Contas","STREMIO_TV_LOGIN_EXPIRES_IN":"Expira em","STREMIO_TV_LOGIN_STEP_ONE":"Escaneie o QR Code acima ou acesse","STREMIO_TV_LOGIN_STEP_TWO":"Faça login na sua conta Stremio","STREMIO_TV_LOGIN_NEW_LINK":"Solicitar um novo link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Código de login atualizado","STREMIO_TV_SEARCH_PLACEHOLDER":"Digite algo","STREMIO_TV_SEARCH_NO_ADDONS":"Nenhum Addon foi solicitado para catálogos!","STREMIO_TV_SEARCH_BUTTON":"Procurar","STREMIO_TV_SEARCH_KEY_DEL":"Deletar","STREMIO_TV_SEARCH_KEY_SPACE":"Espaço","STREMIO_TV_SEARCH_KEY_CLEAR":"Limpar","STREMIO_TV_SEARCH_HISTORY_TITLE":"Histórico de pesquisa","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Você pode pesquisar por Títulos, Atores, Canais e muito mais...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Limpar histórico de pesquisa","STREMIO_TV_FILTERS_DESCRIPTION":"Escolha um dos filtros abaixo","STREMIO_TV_STREAMING_SERVER_OFFLINE":"O Servidor de Streaming está offline. Verifique as Configurações do Servidor.","FILTERS":"Filtros","SETTINGS":"Configurações","ACCOUNT":"Conta","LOGOUT":"Sair","THEMES":"Temas","PLAYBACK":"Reprodução","PLAYBACK_SPEED":"Velocidade de reprodução","AUDIO_TRACKS":"Faixas de áudio","UNKNOWN_TRACK_LANG":"Desconhecido","VIDEOS":"Vídeos","SERVER":"Servidor","LINKS":"Links","ABOUT":"Sobre","INTERFACE":"Interface","ANIMATIONS":"Animações","STATUS":"Status","LANGUAGE":"Idioma","SIZE":"Tamanho","DELAY":"Atraso","BOLD":"Negrito","OPACITY":"Opacidade","TEXT_COLOR":"Cor do texto","OUTLINE_COLOR":"Cor do contorno","BACKGROUND_COLOR":"Cor de fundo","BACKGROUND_BLUR":"Desfoque de fundo","SEEK_TIME_DURATION":"Duração do tempo de busca","AUTO_PLAY":"Reproduzir automaticamente o próximo episódio","PLAY_NOW":"Reproduzir agora","MARK_AS_WATCHED":"Marcar como assistido","MARK_AS_UNWATCHED":"Marcar como não assistido","REWIND_TO_BEGINNING":"Retornar ao início","CONTINUE_WATCHING":"Continuar assistindo","ALL":"Tudo","SECONDS":"segundos","ON":"ON","OFF":"OFF","RELOAD":"Recarregar","EDIT_URL":"Editar URL","NONE":"Nenhum","EMBEDDED":"Embutido","REMOTE_SWITCH_DEVICES":"Trocar aparelhos","REMOTE_VIDEOS":"Vídeos","REMOTE_ADJUST_TIMING":"Ajustar o tempo","REMOTE_ADJUST_SIZE":"Ajustar o tamanho","REMOTE_COULD_NOT_BE_LOADED":"Web Remote não pôde ser carregado","REMOTE_RETRY":"Tentar novamente","TORRENT_PROFILE_DEFAULT":"Padrão","TORRENT_PROFILE_SOFT":"Suave","TORRENT_PROFILE_FAST":"Rápido","TORRENT_PROFILE_ULTRA_FAST":"Ultra Rápido","FAQ_001_H1":"O que é Stremio?","FAQ_001_P1":"Stremio é um programa de mídia centralizada desenhada para video entretenimento com facilidade de uso em mente. Stremio permite a você organizar &amp; assistir sua própria coleção de vídeos, séries, canais e Tvs ao Vivo.","FAQ_001_P2":"Stremio cataloga o conteúdo e apresenta pra você de seu disco local e de nosso sistema de Addons.","FAQ_001_P3":"Também irá notificá-lo quando novos episódios/vídeos/filmes que você estiver interessado sair, e mostrará recomendações de filmes para você.","FAQ_02_H1":"Como Stremio se compara ao Kodi e Plex?","FAQ_02_P1":"Nós nos inspiramos nos dois programas, mas temos diferentes objetivos - Stremio é especificamente voltado para vídeo entretenimento. Batalhamos para sermos a solução padrão para isso, tendo em foco a facilidade de uso.","FAQ_02_P2":"Stremio nunca será tão customizável e com ricos recursos como Kodi e Plex, mas sendo significativamente mais fácil de usar. Simplesmente ${1} pegue isso e veja ${2} :)","FAQ_03_H1":"Como Stremio se compara ao Netflix?","FAQ_03_P1":"Novamente, Netflix é uma de nossas inspirações. Trabalharemos arduamente para atingir a experiência de uso proporcionada pelo Netflix, e mais um porção de melhorias. No entanto, o mais importante, nós estamos dando a você a liberdade de gerenciar sua própria biblioteca e adicionar novas fontes de conteúdos com o nosso sistema de Addons.","FAQ_03_P2":"Isso faz do Stremio infinitamente extensível, e então quando você usá-lo, você nunca ficará limitado ao conteúdo que o Netflix decida licenciar. Por exemplo, através do Stremio você pode assistir conteúdo de ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} e mesmo ${9}Netflix${10}!","FAQ_04_H1":"Como Stremio se compara ao Flipboard?","FAQ_04_P1":"Raramente recebemos esta questão, exceto quando falamos com pessoas iniciantes :)","FAQ_04_P2":"Stremio é desenhado como um agregador de conteúdo, ao qual essencialmente Flipboard o faz para vídeo. Isso é muito parecido em nosso painel, ao qual da a você catálogos e notificações de novos episódios/novos vídeos que você segue, tal qual Flipboard.","FAQ_05_H1":"Como Stremio se compara ao Popcorn Time?","FAQ_05_P1":"Stremio e Popcorn Time são similares em interface de uso, porque não há muitas maneiras de fazer catálogo de vídeo entretenimento, certo? :)","FAQ_05_P2":"Mas enquanto o Popcorn Time tem o foco em entrega de torrents de fontes específicas, Stremio não possui restrição e é meramente um agregador de conteúdo - não é travado em uma fonte de conteúdo específica.","FAQ_05_P3":"Além disso, nós não provemos nenhum Addon para torrent por padrão, então Stremio não cobre o caso de uso do Popcorn Time na sua funcionalidade oficial.","FAQ_05_P4":"Uma outra diferença notável é que o Popcorn Time é completamente de código aberto, enquanto Stremio é ${1} parcialmente de código aberto ${2}.","FAQ_06_H1":"Vocês que adicionam estes filmes/séries?","FAQ_06_P1":"Não, desculpe :(","FAQ_06_P2":"Como já mencionamos em muitas outras questões, Stremio não provê nenhum conteúdo por si próprio - tudo é adicionado diretamente pelo sistema de Addons. Caso queira solicitar algum conteúdo, você pode usar o botão “Reporte” no reprodutor, ao qual irá enviar um email para o autor do Addon ao qual está usando.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Vocês criarão Addons para X?","FAQ_08_P1":"Isso é inteiramente possível.","FAQ_08_P2":"Se você tem uma ideia para um Addon, escreva para ${1}office@stremio.com${2}, mas por favor, tenha certeza de que a ideia desse Addon não irá infringir nenhum direito de propriedade intelectual ou termos de uso.","FAQ_08_P3":"No momento, os próximos movimentos em nosso projeto são Addons para FandangoNOW, vídeo sob demanda no Filmon.tv e Crunchyroll.","FAQ_09_H1":"Stremio usa BitTorrent?","FAQ_09_P1":"Sim. Stremio suporta BitTorrent como um protocolo streaming. Você pode usá-lo com a Addon torrent ou por arrastar e soltar um arquivo .torrent dentro do Stremio, ou mesmo colando um link magnético dentro do campo de busca.","FAQ_09_P2":"Por favor, note que único Addon oficial que usa BitTorrent é ${1}Vodo${2}, ao qual provê produção independente, todos permitidos para serem distribuídos com BitTorrent.","FAQ_09_P3":"Nós não suportamos o uso de qualquer Addon de terceiro ao qual pode viabilizar o infringimento de leis de direitos.","FAQ_10_H1":"O que posso assistir no Stremio com as Addons oficiais?","FAQ_10_P1":"Por padrão, você pode assistir conteúdo do Filmon.tv, YouTube e Vodo dentro do Stremio com o reprodutor interno. Adicionalmente nós temos um Addon para Twitch.tv e alguns outros.","FAQ_10_P2":"Este combinado provê uma seleção de:","FAQ_10_L1":"Canais de TV populares, provido por Filmon.tv - por exemplo E4, BBC, Bollyworld TV","FAQ_10_L2":"Tudo do YouTube - por exemplo BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Filmes independentes com Vodo","FAQ_10_L4":"Transmissão de jogos online com Twitch.tv","FAQ_10_P3":"Adicionalmente, há muitas fontes de conteúdo providas com Guidebox e Addons Netflix, ao qual <b>não</b> reproduzem inteiramente dentro do Stremio, mas pode redirecionar para o dado serviço. Por exemplo, o Addon Guidebox lhe dá uma seleção de filmes que você pode obter conteúdo streaming dentro dos Estados Unidos de graça de serviços como TubiTV e Crackle.","FAQ_11_H1":"Stremio não instala, o que devo fazer?","FAQ_11_P1":"Se você usa Windows, tente ${1}este instalador alternativo${2}.","FAQ_11_P2":"Pra quem usa Mac OS X, por favor esteja ciente que nós não suportamos versões inferiores a OS X Mavericks (10.9).","FAQ_11_P3":"Caso esteja usando Linux, fique avisado que nós damos suporte apenas para a versão 64 bits (x64) no momento.","FAQ_11_P4":"Se não ainda não conseguiu resolver seu problema, por favor nos mande uma mensagem no ${1}Grupo do Facebook${2}.","FAQ_12_H1":"Por que meu antivírus reclama? O Stremio é seguro?","FAQ_12_P1":"Nós lhe asseguramos que o Stremio é ${1}100% limpo${2}.","FAQ_12_P2":"Seu antivírus está reclamando porque nós incluímos propaganda em nosso instalador, e isso faz com que o Stremio seja classificado como um ad-ware.","FAQ_12_P3":"Se você não está seguro, você pode usar nosso ${1}instalador alternativo${2}.","FAQ_13_H1":"Como posso fazer um Addon?","FAQ_13_P1":"Para iniciantes, recomendados que leiam nosso ${1}módulo de sistema de Addon${2} no GitHub.","FAQ_13_P2":"Todavia, você pode seguir o ${1}Tutorial Olá Mundo${2}.","FAQ_13_P3":"Se você não tem nenhum conhecimento em programação, por favor poste sua ideia na ${1}comunidade Reddit${2} e nos contate com sua ideia de Addon no ${3}office@stremio.com${4}.","FAQ_14_H1":"Como as Addons são publicadas?","FAQ_14_P1":"Quando você cria um Addon e hospeda e coloca um campo <b>endpoint</b> no seu manifest, ao qual aponta para endereço de Addon ativo, o Addon irá automaticamente se auto-publicar em nosso ${1}Catálogo de Addons${2}.","FAQ_14_P2":"Isso acontece porque parte do servidor do módulo de Addon do Stremio automaticamente faz uma chamada para nossa API para publicar o Addon. Quando nossa API valida seu <b>endpoint</b> como um Addon válida, isso irá constar no catálogo.","FAQ_15_H1":"Eu posso executar o Stremio no navegador?","FAQ_15_P1":"No momento não, mas em breve !","FAQ_15_P2":"Se você está curioso para ver uma versão Alpha, você pode acessar aqui: ${1}alpha4.strem.io${2}. Tenha em mente que o streaming está desabilitado. Damos suporte para Chrome, Firefox, Opera e Edge.","FAQ_16_H1":"Transmissão para a TV não funciona / legendas não funcionam","FAQ_16_P1":"Transmissão para a TV usa a tecnologia DLNA que é muito inconsistente entre modelos de fabricantes diferentes. Por esta razão, nós não temos a habilidade de testar em cada caso, então estamos longe da perfeição. Estamos trabalhando em melhorar constantemente, mas nós não podemos lhe dar uma estimativa de tempo de quando a tecnologia DLNA funcionará corretamente em sua TV.","FAQ_16_P2":"Se você ainda não vê sua TV no menu de transmissão, por favor tente desabilitar sua conexão de rede e habilite novamente (no Windows, click com botão direito em Rede e click em Habilitar/Desabilitar), também reinicie seu roteador, TV e PC.","FAQ_16_P3":"Se você ainda está encontrando problemas, você pode nos ajudar enviando as informação de seu modelo de TV e fabricante para ${1}office@stremio.com${2}.","FAQ_16_P4":"Em quanto isso nós recomendamos o Chromecast, ao qual suportamos muito bem, ou simplesmente plugando sua TV no seu PC com um cabo HDMI.","FAQ_17_H1":"Stremio congela ou trava, o que posso fazer?","FAQ_17_P1":"Primeiro de tudo, se você está usando Windows 7 com o antivírus AVG: nós temos problema com essa combinação. O problema é o próprio AVG, e não há uma solução definitiva para corrigirmos isso. Infelizmente, exceções ou desabilitar o antivírus não funciona. A única maneira é trocar seu antivírus.","FAQ_17_P2":"Se isso não é o problema, mas você ainda usa Windows, por favor atualize seu o sistema incluindo os drivers da GPU, e tente novamente.","FAQ_17_P3":"Se o seu problema continua sem solução, ou utiliza Mac ou Linux, por favor nos escreva reportando em detalhes o problema em ${1}nosso grupo no Facebook${2}.","FAQ_18_H1":"Como posso fazer um Addon?","FAQ_18_P1":"Para iniciantes nós recomendamos que veja nosso ${1}módulo de sistema de Addon${2} no GitHub.","FAQ_18_P2":"No entanto, você pode seguir pelo nosso ${1}tutorial Olá Mundo!${2}.","FAQ_18_P3":"Se você não tem nenhuma habilidade em programação, por favor, poste sua ideia na ${1}comunidade do Reddit${2} e nos contate com sua ideia de Addon em ${3}office@stremio.com${4}.","FAQ_19_H1":"Por que o Stremio está ocupando espaço em disco?","FAQ_19_P1":"Stremio tem um <b>cache local</b> para temporariamente deixar os arquivos de vídeo descarregados.","FAQ_19_P2":"Isso tem dois benefícios: primeiro, permite ao Stremio pré carregar o vídeo para garantir uma transmissão suave. Segundo, isso deixa os vídeos no cache local para que você possa continuar assistindo off-line.","FAQ_19_P3":"Quanto o Stremio depende da configuração do <b>Cache</b> no painel de Configurações. Stremio pode manter uma quantidade (por exemplo, 2GB) no seu disco, a menos que o vídeo descarregado seja maior do que isso, caso em que deve haver espaço suficiente para mantê-lo enquanto o descarrega.","FAQ_20_H1":"Onde está a pasta do cache?","FAQ_20_P1":"No Windows, o cache do Stremio fica no drive ao qual você selecionou nas configurações (exemplo \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"No MacOS, fica localizado em \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"No Linux, fica localizado em \\"~/.stremio/stremio-cache\\" ou \\"~/stremio-cache\\"","FAQ_21_H1":"Eu recebi a mensagem de erro \\"Servidor de streming não encontrado\\", o que posso fazer?","FAQ_21_P1":"Se você recebeu esta mensagem, isso implica em uma das possibilidades:","FAQ_21_P2":"1) Você está tentando usar um Addon suportada pelo código do YouTube/BitTorrent, através de nossa ${1}versão web${2}. Nesse caso, você deve instalar nossa versão para desktop de ${3}nosso website${4}.","FAQ_21_P3":"2) Há algo de errado com a instalação do Stremio. Neste caso, tente reinstalar nossa versão mais recente ${1}do website${2}. Se isso não ajudar, tente desabilitar os programas de antivírus e firewall, reinicie seu PC e tente novamente. Se isso não funcionar, por favor nos contate pelo ${3}nosso grupo do Facebook${4}.","FAQ_22_H1":"Eu não posso ver/usar a maioria das Addons no iOS","FAQ_22_P1":"Devido as restrições nos termos e condições da loja da Apple, nós temos restringido somente aplicativos iOS de um grupo particular de Addons.","FAQ_22_P2":"Mas esteja avisado - haverão mais Addons para iOS no futuro, e nós poderemos também adicionar uma integração que permitirá o uso de todas Addons do Stremio graças a conexão do aplicativo iOS com o servidor de Streaming do Stremio."}')},65857:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Filme","TYPE_series":"Série","TYPE_tv":"Canal de TV","TYPE_channel":"Canal","TYPE_other":"Outro","TYPE_movie_PL":"Filmes","TYPE_series_PL":"Séries","TYPE_tv_PL":"TV","TYPE_channel_PL":"YouTube","TYPE_other_PL":"Outros","TYPE_ALL":"Tudo","TYPE":"Tipo","CATALOG_com_linvo_cinemeta_top":"Populares","CATALOG_com_linvo_cinemeta_imdbRating":"Em destaque","CATALOG_com_linvo_cinemeta_year":"Novidades","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Filmes de domínio público","VIDEO":"Vídeos","BACK":"Voltar","MORE":"Mais","DONE":"Concluído","COPY":"Copiar","SUCCESS":"Com sucesso","ERROR":"Erro","SETTINGS_CASTING_MODE_PICKER":"Modo de casting","CASTING_MODE_HLSV2":"Predefinido","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Sem transcodificação","Discover":"Explorar","Board":"Painel","Library":"Biblioteca","My Library":"A minha biblioteca","Calendar":"Calendário","NOTIFICATION_ONLINE":"Estás online","NOTIFICATION_OFFLINE":"Estás offline","INTERNET_CONNECTION":"Ligação à Internet","STORAGE_FULL_TITLE":"Aviso: Armazenamento cheio!","STORAGE_FULL_TEXT":"Não será possível guardar as definições ou informações de conta. Considera fechar o Stremio e voltar a abrir, caso este erro persista, poderás ter de reinstalar o Stremio.","SEARCH":"Pesquisar","SEARCH_NO_RESULTS":"Não foram encontrados resultados","SEARCH_EXPLANATION_CONTENT":"Pesquisa por filmes, séries, canais YouTube e de TV","SEARCH_EXPLANATION_PEOPLE":"Pesquisa por atores, realizadores e argumentistas","SEARCH_PASTE_LINKS":"Colar links HTTP e Magnet","SEARCH_OR_PASTE_LINK":"Pesquisa ou cola o link","SEARCH_SUGGESTIONS":"Sugestões de pesquisa","ADD_TO_LIB":"Adicionar à biblioteca","REMOVE_FROM_LIB":"Remover da biblioteca","ADDED_TO_LIB":"Adicionado à biblioteca","REMOVED_FROM_LIB":"Removido da biblioteca","TRAILER":"Trailer","WATCH_TRAILER":"Ver trailer","WATCH_NOW":"Ver agora","SHOW":"Mostrar","SHOW_MOVIE":"Mostrar filme","WATCH_RANDOM":"Ver aleatório","IMDB_RATING":"Classificação IMDb","YEAR":"Ano","DIRECTOR":"Realizador","WRITER":"Argumentista","LEAD_ACTORS":"Elenco principal","CAST":"Elenco","CREW":"Equipa técnica","SHOW_MORE_CAST":"Mostrar mais »","AIRED":"Transmissão original","SEASONS":"Temporadas","GENRE":"Género","GENRE_ALL":"Todos os géneros","CATALOG":"Catálogo","SUMMARY":"Sinopse","SHOW_MORE":"Mostrar mais","SIMILAR":"Semelhante","UPCOMING":"Próximos","ENDED":"Finalizados","DURATION":"Duração","FEATURED":"Destaque","METADATA":"Metadados","CATEGORY":"categoria","LINKS_GENRES":"Géneros","LINKS_CAST":"Elenco","LINKS_DIRECTORS":"Realizadores","SEARCH_VIDEOS":"pesquisar vídeos","SEARCH_PLACEHOLDER":"pesquisar ou colar link","ADDON":"Addon","ADDONS":"Addons","OFFICIAL":"oficial","ADDONS_OFFICIAL":"Addons oficiais do Stremio","ADDONS_POPULAR":"Populares na tua área","ADDON_FREE":"gratuito","ADDON_PEERED":"partilhado","ADDON_SUBSCRIPTION":"subscrição","ADDON_STREAM_GEORESTRICTED":"indisponível no teu país","ADDON_STREAM_OFFLINECACHE":"Cache offline","ADDON_STREAM_LOCALFILE":"Ficheiro local","SHARE_ADDON":"Partilhar addon","AVAILABLE_STREAMS":"Streams disponíveis","NO_STREAM":"Nenhuma stream disponível","ALL_ADDONS":"Tudo","INSTALL_MORE_ADDONS":"Para mais streams, por favor, instala mais addons","STREAM_NOT_SUPPORTED":"A stream escolhida não é suportada nesta plataforma.","ADDON_CATALOGUE":"Mostrar todos os addons »","ADDON_CATALOGUE_MORE":"Instalar addons »","REPO_ADDED":"Repositório adicionado","ADDON_REPO_EXIST_ERR":"Esta coleção de addons já existe","ADDON_REPO_ERR":"Ocorreu um erro ao adicionar a coleção","ADDON_ADD_ERR":"Ocorreu um erro ao adicionar o addon","ERR_ADDON_PROTECTED":"Não é possível desinstalar o addon, é protegido","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Ocorreu um erro - a autenticação falhou.","ERR_NOT_COLLECTION_URL":"Não é um link de coleção","ERR_NOT_ADDON_URL":"Não é um link de addon válido","ERR_DETECTFROMURL":"Não foi possível detetar o addon pelo link","ADDON_DUPLICATE_WARNING":"Aviso: addon duplicado","ADDON_COLLECTION_SET_FAILED":"A sincronização dos addons instalados para a tua conta falhou","SETTINGS_DATA_EXPORT":"Exportar dados","ADDON_PULL_FAILED":"A sincronização dos addons instalados a partir da tua conta falhou","REFRESH_ON_CLICK":"Clica para tentar novamente","STILL_IN_THEATER":"Filme ainda nos cinemas","WATCH_IN_CINEMA":"Vê-o no cinema mais perto de ti","IN_THEATER":"Nos cinemas","GET_TICKETS":"Obter bilhetes","UPCOMING_EPISODE":"Próximo episódio","UPCOMING_EPISODE_MESSAGE":"Este episódio estará disponível brevemente","MISSING_DATE_EPISODE":"Data do episódio em falta","MISSING_DATE_EPISODE_MESSAGE":"Este episódio ainda não foi transmitido","CHANNEL_NOT_SCRAPED":"Este canal não está disponível.<br>Volta a tentar dentro de minutos.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Adiciona à biblioteca para receberes notificações quando estiver disponível.","GET_NOTIFIED_WHEN_AVAILABLE":"Serás notificado quando estiver disponível.","WARNING_STREAMING_SERVER":"Atenção: o servidor de transmissão local não foi encontrado. A transmissão através do YouTube e BitTorrent não estará disponível.","WARNING_STREAMING_SERVER_DISMISS":"Dispensar","WARNING_STREAMING_SERVER_LATER":"Mais tarde","DECODER_WARNING":"Atenção: provavelmente este vídeo não é compatível com o teu hardware. Tem em conta de que a reprodução poderá ser lenta.","GENERIC_ERROR_MESSAGE":"Alguma coisa correu mal!","TRY_AGAIN":"Tentar novamente","CLEAR_DATA":"Limpar dados","PLAYER_ERROR":"Ups, ocorreu um erro na reprodução","PLAYER_ERROR_LOOKSLIKE":"Isto parece ser","PLAYER_ORIENTATION":"Orientação da reprodução","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Bloqueado","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensor","PLAYER_ORIENTATION_LANDSCAPE":"Reprodução bloqueada no modo paisagem","PLAYER_ORIENTATION_SENSOR":"Reprodução automática (sensor)","PLAYER_PLAYBACK_SPEED":"Velocidade de reprodução","PLAYER_PLAYBACK_ERROR":"Erro de reprodução, tente novamente","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Erro desconhecido","PLAYER_PLAYBACK_ERROR_DEFAULT":"Pedimos desculpa, este vídeo não pode ser transmitido por {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Idioma das legendas","PLAYER_SUBTITLES_VARIANTS":"Variantes das legendas","PLAYER_SUBTITLES_SETTINGS":"Definições das legendas","PLAYER_SUBTITLES_DISABLED":"As legendas estão desativadas","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Posição vertical","PLAYER_SUBTITLES_LOADED":"Legendas carregadas","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Legendas incorporadas carregadas","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Legendas exclusivas carregadas","PLAYER_SUBTITLES_LOADED_ORIGIN":"Legendas de {{origin}} carregadas","PLAYER_PLAY":"Reproduzir","PLAYER_PAUSE":"Colocar em pausa","PLAYER_NEXT_VIDEO":"Próximo vídeo","PLAYER_MUTE":"Silenciar","PLAYER_UNMUTE":"Ativar som","PLAYER_OPEN_IN_EXTERNAL":"Abrir num leitor externo","PLAYER_OPEN_IN_NPLAYER":"Abrir no nPlayer","PLAYER_PLAY_IN":"Reproduzir no {{device}}","PLAYER_LIVE":"Direto","PLAYER_NEXT_VIDEO_TITLE":"Próximo","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Próximo","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Fechar","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Ver agora","PLAYER_COPY_STREAM_SUCCESS":"O link da stream foi copiado para a tua área de transferência","PLAYER_COPY_STREAM_ERROR":"Falha ao copiar o link da stream","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"O link de transferência foi copiado para a tua área de transferência","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Falha ao copiar o link de transferência","STREAMING_FROM":"A transmitir de","CASTING_TO":"A transmitir para","NETWORK_STATUS":"Estado da rede","STREAM_SPEED":"Velocidade de receção:","STREAM_BUFFERED":"Carregado:","PEERS_INFO":"Informação dos pares","PEERS_ACTIVE":"Ativo:","PEERS_CONNECTED":"Ligado:","PEERS_WAITING":"À espera:","TRANSCODING_WARNING":"Atenção: a transcodificar vídeo.","STREAM_LOADING":"a carregar...","PLAYING_LOCAL":"a reproduzir a partir de um ficheiro local","PLAYING_CACHE":"a reproduzir a partir da cache","WRONG_SUBS":"Legendas incorretas","ERR_SUBS_LOADING_TITLE":"Erro ao carregar as legendas","ERR_SUBS_LOADING":"Não foi possível carregar as legendas, poderá haver um erro no addon que estás a utilizar ou com a tua ligação à Internet","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Não foi possível carregar as seguintes legendas","ERR_CASTING_UPDATE_TITLE":"Não foi possível atualizar as informações do dispositivo de transmissão: o servidor de transmissão pode estar offline","CHOOSE_DEVICE":"Escolhe um dispositivo para transmitir","NO_CAST_DEVICES":"Sem dispositivos de transmissão disponíveis.","NO_SETTINGS":"Não há definições disponíveis.","PHONE_TABLET":"Telemóvel / Tablet","SUBTITLES":"Legendas","SUBTITLES_CHANGE":"Alterar legendas para ","SUBTITLES_CHANGE_NONE":"Desculpa, mas não existe mais legendas para este idioma","SUBTITLES_CHANGE_ACIVE":"As legendas &#35;{{subtitlesDialog.activeIdx + 1}} estão ativas. Clica em \\"Continuar\\" para ativar as legendas &#35;{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Alternativamente,","SUBTITLES_ADJUST_DELAY":"Ajusta o atraso das legendas:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Ou utiliza as teclas <span>G</span> / <span>H</span> para ajustar os tempos.","SUBTITLES_ADJUST_DELAY_TIP":"Dica: Podes utilizar as teclas <span>G</span> / <span>H</span> durante a reprodução para ajustar.","SUBTITLES_DELAY":"Atraso de legendas:","SUBTITLES_LOADING":"A carregar as legendas...","SUBTITLES_UNAVAILABLE":"Não há legendas externas disponíveis","SUBTITLES_DISABLED":"Desativado","EXTERNAL_PLAYER_DISABLED":"Desativado","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Permitir a escolha","EXTERNAL_PLAYER_HINT":"Dica: Existe uma definição que permite abrir sempre com um leitor externo","DONT_SHOW_AGAIN":"Não mostrar novamente","SERVICE_INSTALL":"Instalar","AUDIO":"Áudio","DEFAULT_LANGUAGE":"Idioma predefinido","DEFAULT_SECONDARY_LANGUAGE":"Idioma secundário predefinido","SEASON":"Temporada","EPISODE":"Episódio","EPISODE_ABBREVIATION":"EP","SPECIAL":"Especiais","SORT":"Ordenar","SORT_BY":"Ordenar por","FILTER":"Filtro","SORT_TRENDING":"Tendências","SORT_RECENT":"Recentes","SORT_ALPHABET":"A-Z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"Classificação","SORT_WATCHED":"Vistos","SORT_YEAR":"Ano","SELECT_TYPE":"Selecionar tipo","SELECT_SORT":"Selecionar ordem","SELECT_CATALOG":"Selecionar catálogo","SELECT_GENRE":"Selecionar género","SORT_LASTWATCHED":"Últimos vistos","SORT_NAME":"Ordem alfabética","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"Número de vezes que foi visto","SORT_NOTWATCHED":"não visto","New for You":"Novo para ti","New Episodes":"Novos episódios","New Videos":"Novos vídeos","Recommendations":"Recomendações","LIBRARY_RESUME":"Retomar","LIBRARY_PLAY":"Reproduzir","LIBRARY_DETAILS":"Detalhes","LIBRARY_RESUME_DISMISS":"Fechar","LIBRARY_CLEAR_PROGRESS":"Limpar progresso","LIBRARY_REMOVE":"Remover","LIBRARY_NOT_LOGGED_IN":"A biblioteca apenas está disponível para utilizadores com a sessão iniciada","CALENDAR_NOT_LOGGED_IN":"O calendário apenas está disponível para utilizadores com a sessão iniciada","NOT_LOGGED_IN_CLOUD":"Acede aos teus filmes e séries favoritas a qualquer altura, em qualquer lugar","NOT_LOGGED_IN_RECOMMENDATIONS":"Recomendações adaptadas ao teu histórico de visualizações","NOT_LOGGED_IN_NOTIFICATIONS":"Nunca percas um episódio outra vez","NOT_LOGGED_IN_CALENDAR":"Programa o teu calendário de visualizações pessoal","DISCOVER_FEATURED":"Em destaque","DISCOVER_TOP":"Populares","DISCOVER_OSCAR":"Vencedores de Óscares","DISCOVER_WARNING_TITLE":"Ups!","DISCOVER_EMPTY_CATALOG":"Este addon não possui conteúdo.","DISCOVER_ADULT_WARNING":"Este conteúdo é apenas para adultos. Tens mais de 18 anos?","DISCOVER_NOADDON_WARNING":"Atenção: nenhum addon do Stremio ativo para este tipo. Ao exibir ficheiros guardados, nada será atualizado.","DISCOVER_LOAD_ERR":"Ocorreu um erro e não foi possível carregar o conteúdo.","DISCOVER_ADDON_UNINSTALLED":"Este conteúdo já não está disponível, poderás ter de reinstalar o addon.","UNINSTALL_THIS_ADDON":"Desinstalar este addon","ERR_ADDON_NOT_INSTALLED":"Este addon não está instalado. Instalar agora?","DETAIL_RECEIVE_NOTIF_SERIES":"Receber notificações de novos episódios.","DETAIL_RECEIVE_NOTIF_VIDEOS":"Receber notificações de novos vídeos.","SIDEBAR_SHOW_STREAMS":"Mostrar streams","RELAUNCH":"Reiniciar agora!","UPGRADE":"Está disponível uma nova versão! Atualiza para a versão mais recente do Stremio","RELOAD_UI":"Recarregar interface","MANUAL_UPDATE_TITLE":"Atualiza para uma versão do Stremio mais recente.","MANUAL_UPDATE_LINE1":"Estás a utilizar uma versão do Stremio que se encontra desatualizada, é recomendável que atualizes para a versão mais recente.","MANUAL_UPDATE_LINE2":"Atualiza assim que for possível.","BUTTON_UPDATE_LATTER":"Agora não","BUTTON_UPDATE_NOW":"Atualizar","ANONYMOUS_USER":"Utilizador anónimo","DONT_HAVE_ACC":"Não tens uma conta?","HAVE_ACC":"Já tens conta?","PASSWORD":"Palavra-passe","PASSWORD_CONFIRM":"Confirmar palavra-passe","EMAIL":"E-mail","FB_LOGIN":"Iniciar sessão com o Facebook","FB_NOTHINGSHARED":"Nada é partilhado sem a tua permissão","FB_NOPOST":"Não publicaremos nada na tua cronologia","OR":"ou","I_ACCEPT":"Aceito os","I_ACCEPT_BY_CLICKING":"Ao clicar no botão acima certifico-me de que aceito os ","TOS":"Termos e condições","MUST_ACCEPT_TERMS":"Deves aceitar os Termos e condições","PASSWORDS_NOMATCH":"As palavras-passe não coincidem","SIGN_UP":"Registar","SIGN_UP_EMAIL":"Regista-te com um e-mail","CLICK_TO_SIGN_UP":"Clica aqui para te registares.","LOG_IN":"Iniciar sessão","LOG_OUT":"Terminar sessão","EXIT_FULLSCREEN":"Sair do modo de ecrã inteiro","ENTER_FULLSCREEN":"Abrir em modo de ecrã inteiro","PLAY_URL_MAGNET_LINK":"Abrir URL/Magnet link","HELP_FEEDBACK":"Ajuda e feedback","TERMS_OF_SERVICE":"Termos de utilização","PRIVACY_POLICY":"Política de privacidade","ABOUT_STREMIO":"Sobre o Stremio","USER_PANEL":"Painel do utilizador","LOGIN_LABEL":"Iniciar sessão","GUEST_LOGIN":"Iniciar sessão como convidado","GUEST_LOGIN_NOTICE":"Não recomendamos que inicies sessão como convidado. Regista-te para que o Stremio sincronize a tua biblioteca e te mostre notificações das tuas séries/canais. Tens a certeza de que queres continuar?","GUEST_LOGIN_NOTICE_2":"Não recomendamos que inicies sessão como convidado - não vais ter acesso à tua biblioteca nem às notificações do painel, sendo estas funcionalidades vitais do Stremio. Tens a certeza de que queres continuar?","CLICK_HERE":"Clica aqui","WRONG_PASSWORD":"Palavra-passe incorreta. Caso te tenhas esquecido da tua palavra-passe, ","SET_A_PASS":"Introduz uma nova palavra-passe","RESET_PASSWORD":"Redefinir palavra-passe","FORGOT_PASSWORD":"Esqueceste-te da tua palavra-passe?","EMAIL_USED_WITH_FB":"Este e-mail foi utilizado com uma sessão do Facebook.","INVALID_EMAIL":"Introduzir um e-mail válido","INVALID_PASSWORD":"Introduzir uma palavra-passe válida","CONN_ERR":"Erro de ligação - Por favor, tenta novamente mais tarde.\\n\\nSe o problema persistir, desativa ou configura a tua firewall e/ou o teu anti-vírus (principalmente o Bitdefender).","IMPORT_FROM_GUEST":"Importar biblioteca a partir da conta de convidado","RECEIVE_UPDATES_EMAIL":"Receber notificações do Stremio por e-mail","LOGIN_FAILED":"O início de sessão falhou.","SIGNUP_FAILED":"O registo falhou.","SEARCH_FAILED":"A pesquisa falhou","EMAIL_USED":"Este e-mail já está a ser utilizado.","WAITING_FB_LOGIN":"Iniciar sessão com o Facebook...","EXTERNAL_PLAYER_TITLE":"Abrir com um leitor de vídeo externo","EXTERNAL_REMEMBER_PLAYER":"Relembrar a tua escolha?","EXTERNAL_ALWAYS_PLAY":"Sim","EXTERNAL_ONLY_ONCE":"Não","BEST_FIT":"Melhor ajuste","FIT_SCREEN":"Ajustar ao ecrã","FILL":"Ajustar","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"Diz-nos do que gostas","INTRO_TASTE_LONG":"Conta-nos sobre o que gostas de ver","INTRO_TASTE_PICK":"Seleciona {{interestsRemaining}} dos teus interesses","INTRO_TASTE_PICK_MORE":"Seleciona mais {{interestsRemaining}} dos teus interesses","INTRO_TASTE_HELP_US":"Ajuda-nos a saber mais sobre ti.","INTRO_TASTE_CHOOSE_THESE":"Escolhe alguns destes:","INTRO_TASTE_CHOOSE_MIN":"Escolhe pelo menos 3 categorias","INTRO_TASTE_CHOOSE_MIN_ERR":"Tens de escolher pelo menos 3 categorias!","INTRO_TASTE_LIFESTYLE":"Estilo de vida","INTRO_TASTE_SPORTS":"Desporto","INTRO_TASTE_FOOD_HEALTH":"Gastronomia e saúde","INTRO_TASTE_BEAUTY_FASHION":"Moda e beleza","INTRO_TASTE_NEWS":"Notícias","INTRO_TASTE_GAMING":"Videojogos","INTRO_TASTE_SCIENCE_EDU":"Ciência e educação","INTRO_TASTE_MUSIC":"Música","INTRO_TASTE_TRAVEL":"Viagens","INTRO_TASTE_LATE_NIGHT":"Late night show","INTRO_TASTE_REALITY":"Reality show","INTRO_TASTE_COMEDY":"Comédia","INTRO_TASTE_DIY":"Faz tu mesmo","INTRO_TASTE_TECH":"Tecnologia","INTRO_TASTE_CINEMA":"Cinema","ADDON_NOT_SUPPORTED":"O addon selecionado não é suportado nesta plataforma.","ADDON_DISCLAIMER":"Ao utilizares um addon de terceiros estarás sujeito à tua responsabilidade e às leis do governo onde estás localizado.","ADDON_ACTIVATE":"Ativar este addon?","ADDON_REPO_ADD":"URL do repositório do addon","ADDON_ADD":"Adicionar","INSTALL_ADDON":"Instalar addon","ADD_ADDON":"Adicionar addon","ADD_ADDON_DESCRIPTION":"Podes adicionar um addon através de um link externo, que aparecerá nos Addons instalados.","PASTE_ADDON_URL":"Colar URL do addon","WHATS_NEW":"Novidades","BUTTON_CONTINUE":"Continuar","BUTTON_ACTIVATE":"Ativar","BUTTON_ACTIVATED":"Ativo","BUTTON_CANCEL":"Cancelar","BUTTON_SUBMIT":"Submeter","BUTTON_DISMISS_ALL":"Fechar tudo","BUTTON_VIEW_ALL":"Ver tudo","BUTTON_SEE_ALL":"Ver tudo","BUTTON_COLOR_TRANSPARENT":"Transparente","OPEN_IN_BROWSER":"Abrir no navegador","LIB_EMPTY":"A tua biblioteca está vazia. Descobre o quão útil pode ser :) ","HOW_START":"Aqui está como podes começar:","LIB_EMPTY_CAL":"O teu calendário mostra as séries da biblioteca.","HOW_START_CAL":"Aqui está como podes adicionar uma série:","LIB_EMPTY_BOARD":"O painel mostra notificações e recomendações relacionadas com a tua biblioteca.","HOW_START_BOARD_WAIT":"Por favor, adiciona algumas séries ou canais à tua biblioteca e dá-nos uns instantes para as processar :)","HOW_START_BOARD":"Aqui está como podes adicionar séries e filmes:","IMPORT_FB":"Importar coisas de que gostas do <span>Facebook</span>","IMPORT_TRAKT":"Importar a tua biblioteca do <span>Trakt</span>","IMPORT_DISCOVER":"Encontra coisas interessantes em <span>Explorar</span>","IMPORT_DISK":"Importar filmes ou séries que\\ntenhas no <span>disco local</span>","PLEASE_CREATE_ACC":"Por favor, <u>cria uma conta</u> para ativar a sincronização da biblioteca e do painel.","IMPORT_DISCOVER_SIGNUP":"Regista-te e encontra coisas interessantes em <span>Explorar</span>","IMPORT_DISK_SIGNUP":"Regista-te e importa filmes ou programas que tenhas no <span>disco local</span>","LIB_EMPTY_CLOUD":"Biblioteca na nuvem","LIB_EMPTY_CLOUD_DESC":"A biblioteca pessoal na nuvem sincroniza todos os teus dispositivos","LIB_EMPTY_EARLY":"Chegaste demasiado cedo","LIB_EMPTY_EARLY_DESC":"Receber notificações quando existirem episódios disponíveis","LIB_EMPTY_PERSONAL":"Privado","LIB_EMPTY_PERSONAL_DESC":"Receber recomendações pessoais","LIB_EMPTY_CALENDAR_DESC":"Agenda no teu calendário pessoal de visualização","LIB_EMPTY_ALL":"Inicia sessão para obteres tudo isto:","LIB_EMPTY_BEST":"Inicia sessão para obteres o melhor do Stremio","LIB_EMPTY_OTHER":"Inicia sessão para ativares o calendário e outras funcionalidades incríveis","CALENDAR_ADDED":"O calendário do Stremio foi adicionado ao calendário do teu computador.","CALENDAR_ADDED_MSG":"Se isto não funcionar, adiciona manualmente este link ao calendário","TRAKT_EXPIRED":"A autenticação do Trakt expirou. Acede às Definições e volta a autenticar-te","TRAKT_REQUIRES_LOGIN":"Erro do Trakt","TRAKT_REQUIRES_LOGIN_MSG":"Precisas de iniciar sessão","TRAKT_IMPORT_WATCHED":"Importar","THEME":"Tema","THEME_DEFAULT":"Predefinido","THEME_ADAPTIVE":"Adaptativo","SETTINGS_LABEL":"Definições","SETTINGS_NAV_GENERAL":"Geral","SETTINGS_NAV_PLAYER":"Leitor","SETTINGS_NAV_STREAMING":"Streaming","SETTINGS_NAV_SHORTCUTS":"Atalhos","SETTINGS_SHORTCUT_RELOAD_APP":"Recarregar app","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Abrir definições","SETTINGS_SHORTCUT_SWITCH_TABS":"Alternar separadores","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Avançar no ciclo de separadores","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Voltar atrás no ciclo de separadores","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navega entre menus","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Ir para a pesquisa","SETTINGS_SHORTCUT_EXIT_BACK":"Sair / Voltar atrás","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Alternar menu de velocidade de reprodução","SETTINGS_SHORTCUT_MENU_VIDEOS":"Alternar menu de vídeos","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Alternar menu das legendas","SETTINGS_SHORTCUT_MENU_INFO":"Alternar menu das informações","SETTINGS_SHORTCUT_FULLSCREEN":"Entrar / Sair do modo de ecrã inteiro","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Mostrar controlos","SETTINGS_SHORTCUT_PLAY_PAUSE":"Reproduzir / Colocar em pausa","SETTINGS_SHORTCUT_VOLUME_UP":"Aumentar o volume","SETTINGS_SHORTCUT_VOLUME_DOWN":"Diminuir o volume","SETTINGS_SHORTCUT_SEEK_NEXT":"Avançar na reprodução","SETTINGS_SHORTCUT_SEEK_PREV":"Recuar na reprodução","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Retroceder","SETTINGS_SHORTCUT_SEEK_FORWARD":"Avançar","SETTINGS_SHORTCUT_PLAY_NEXT":"Reproduzir próximo","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Aumentar o tamanho das legendas","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Diminuir o tamanho das legendas","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Aumentar o atraso das legendas","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Diminuir o atraso das legendas","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Mostrar / Ocultar barra lateral","SETTINGS_SHORTCUT_OR":"ou","SETTINGS_SHORTCUT_TO":"para","SETTINGS_SHORTCUT_SPACE":"Espaço","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Autenticar-me","SETTINGS_FACEBOOK_IMPORT":"Importar","SETTINGS_CALENDAR_SUBSCRIBE":"Subscrever","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"A aplicação de calendário foi aberta. Por favor, subscreve o calendário manualmente.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"O ficheiro do calendário foi transferido. Por favor, importa-o para a tua aplicação de calendário.","SETTINGS_INTERFACE_LANGUAGE":"Idioma da interface","SETTINGS_LAUNCH_STARTUP":"Iniciar com o sistema","SETTINGS_VLC_DEFAULT":"Reproduzir com o VLC","SETTINGS_UI_LANGUAGE":"Idioma","SETTINGS_UI_ZOOM":"Zoom da interface","SETTINGS_FULLSCREEN_EXIT":"Clica em ESC para sair do ecrã inteiro","SETTINGS_GAMEPAD":"Ativar o suporte do comando de jogos (Gamepad)","SETTINGS_CLOSE_WINDOW":"Fechar o Stremio quando fechar a janela","SETTINGS_SUBTITLES_LANGUAGE":"Idioma predefinido das legendas","SETTINGS_SUBTITLES_SIZE":"Tamanho predefinido das legendas","SETTINGS_SUBTITLES_BACKGROUND":"Fundo das legendas","SETTINGS_SUBTITLES_COLOR":"Cor das legendas","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Cor de contorno das legendas","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Cor de fundo das legendas","SETTINGS_SEEK_KEY":"As teclas de seta avançam / retrocedem no tempo","SETTINGS_SEEK_KEY_SHIFT":"As teclas de seta avançam / retrocedem no tempo quando a tecla Shift é pressionada","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Duração do retrocesso e do avanço rápido","SETTINGS_BINGE":"Reproduzir o próximo episódio automaticamente","SETTINGS_NEXT_VIDEO":"Mostrar uma notificação ao iniciar o próximo episódio.","SETTINGS_NEXT_VIDEO_TRIGGER":"Mostrar uma notificação ao iniciar o próximo episódio para:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Duração do pop-up do próximo vídeo","SETTINGS_PLAY_IN_BACKGROUND":"Reproduzir em plano de fundo","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Reproduzir num leitor externo","SETTINGS_RESIZE":"Redimensionar automaticamente a janela antes de reproduzir","SETTINGS_OVERRIDE_SERVER":"Substituir o URL do servidor de streaming (avançado)","SETTINGS_SERVER_URL":"URL do servidor de streaming: ","SETTINGS_SERVER_AVAILABLE":"O servidor de streaming está disponível.","SETTINGS_SERVER_UNAVAILABLE":"O servidor de streaming não está disponível.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Erro","SETTINGS_SERVER_CONFIGURE_TITLE":"Configurar o URL do servidor de streaming","SETTINGS_SERVER_CONFIGURE_INPUT":"Introduz um URL de servidor de streaming","SETTINGS_SERVER_CACHE_SIZE":"Tamanho da cache","SETTINGS_SERVER_TORRENT_PROFILE":"Perfil do torrent","SETTINGS_HTTPS_ENDPOINT":"Endpoint de streaming HTTPS: ","SETTINGS_TRANSCODE_PROFILE":"Perfil de transcodificação","SETTINGS_USE_BETA":"Utilizar sempre a última versão Beta","SETTINGS_IMPORT_FB":"Importar do Facebook","SETTINGS_IMPORT_DISK":"Importar do disco local","SETTINGS_IMPORT_TRAKT":"Importar do Trakt","SETTINGS_PAUSE_MINIMIZED":"Colocar a reprodução em pausa quando minimizado","SETTINGS_HWDEC":"Transcodificação acelerada por hardware","SETTINGS_BACKGROUND":"Reprodução em segundo plano","SETTINGS_SUBSCRIBE_CALENDAR":"Subscrever calendário","SETTINGS_REQ_EXPORT":"Exportar dados","SETTINGS_ACC_DELETE":"Pedir a eliminação da conta","SETTINGS_CHANGE_PASSWORD":"Alterar palavra-passe","SETTINGS_TOS":"Termos de utilização","SETTINGS_SUPPORT":"Contactar o suporte","SETTING_LANGUAGE":"Idioma","SETTINGS_TRAKT":"Recomendações do Trakt","SETTINGS_TRAKT_LOGOUT":"Terminar sessão do Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Terminar sessão do Trakt","SETTINGS_SCAN_FOR_REMOTE":"Lê o código QR para abrir remotamente","SETTINGS_DESKTOP_NOTIFICATIONS":"Notificações no computador","SETTINGS_DATA_SAVER":"Economizador de dados","SETTINGS_LANGUAGE_INTERFACE":"interface","SETTINGS_LANGUAGE_SUBS":"Legendas predefinidas","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Selecionar automaticamente o ficheiro de áudio","SETTINGS_DEFAULT_AUDIO_TRACK":"Ficheiro de áudio predefinido","SETTINGS_SURROUND_SOUND":"Som surround","SETTINGS_ACCOUNT":"Conta","SETTINGS_PLATFORM":"Plataforma","SETTINGS_VERSION":"versão","SETTINGS_ABOUT":"Acerca de","SETTINGS_MPV_WINDOW":"Abrir leitor numa janela em separado (avançado)","SETTINGS_PLAY_IN_EXTERNAL":"Abrir sempre num leitor externo","SETTINGS_STORAGE_BUTTON":"Limpar armanezamento local","SETTINGS_STORAGE_MODAL_TITLE":"Tens a certeza?","SETTINGS_STORAGE_MODAL_MESSAGE":"Esta ação fará com que o armazenamento seja limpo e termine a tua sessão.","SETTINGS_HWDEC_PICKER":"Escolhe a configuração de decodificação acelerada por hardware","SETTINGS_HW_AUTOMATIC":"Automático","SETTINGS_HW_DISABLED":"Desativado","SETTINGS_HW_ACCELERATED":"Aceleração de decodificação","SETTINGS_HW_FULL":"Aceleração total","SETTINGS_HW_LEGACY":"Legado","SETTINGS_DISABLED":"Desativado","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Notificação de ligação à Internet","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"URL remoto","SETTINGS_COPY_REMOTE_URL":"Copiar URL remoto","SETTINGS_REMOTE_URL_COPIED":"URL remoto copiado para a tua área de transferência","SETTINGS_SECTION_SUBTITLES":"Legendas","SETTINGS_SECTION_AUDIO":"Áudio","SETTINGS_SECTION_CONTROLS":"Controlos","SETTINGS_SECTION_AUTO_PLAY":"Reprodução automática","SETTINGS_SECTION_ADVANCED":"Avançadas","SUBSPICKER_AUDIO":"Áudio","SUBSPICKER_SUBTITLES":"Legendas de addons","SUBSPICKER_BLACK_BACKGROUND":"Utilizar cor de fundo preta","SUBSPICKER_VERTICAL_OFFSET":"Compensação vertical","SUBSPICKER_SIZE":"Tamanho","SUBSPICKER_DELAY":"Atraso","SUBSPICKER_EMBEDDED_SUBS":"Legendas incorporadas","MOBILE_PRIVACY_POLICY":"Política de privacidade","MOBILE_CRASH_REPORTING":"Relatório de avarias","MOBILE_ZOOM_TO_FILL":"Zoom para preencher o ecrã","MOBILE_PASSTHROUGH":"Saída de áudio digital (passthrough)","MOBILE_RUN_LOW_BATTERY":"Executar com a bateria fraca","MOBILE_RUN_FOREGROUND":"Executar como serviço de primeiro plano","MOBILE_PERFORMANCE":"DESEMPENHO E ESTABILIDADE","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"O código QR expira em ","MOBILE_LOG_INTO":"Inicia sessão na tua conta Stremio ","MOBILE_SCAN_QR":"Lê o código QR acima ou vai a ","MOBILE_LINK_ACCOUNT":"Ligar conta","MOBILE_SPEEDPICKER_CANCEL":"Cancelar","MOBILE_SPEEDPICKER_LABEL":"Selecionar velocidade de reprodução","MOBILE_EMPTY_LIBRARY":"A tua biblioteca está vazia","MOBILE_NO_ADDON_ACTIVE":"Nenhum addon do Stremio ativo para este tipo.","MOBILE_ORGANIZER_WARNING":"A app Stremio Organizer dá-te apenas acesso a funcionalidades limitadas. Para uma lista de streams reproduzíveis e para teres a experiência Stremio completa, utiliza o Stremio no desktop.","MOBILE_ADDON_LOADING":"ainda está a carregar","MOBILE_ADDONS_LOADING":"os addons ainda estão a carregar","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Configura o teu addon","MOBILE_CONFIGURE_ADDON_LABEL":"Configurar addon","MOBILE_ORGANIZER_ADDONS_WARNING":"A app Stremio Organizer dá-te apenas acesso a uma seleção limitada de addons. Para teres a experiência Stremio completa, utiliza o Stremio no computador.","MOBILE_DISCONNECT":"Desligar","MOBILE_LOOKING_FOR_DEVICES":"À procura de dispositivos...","MOBILE_CAST_TO":"Transmitir para","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Eliminar conta","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"A eliminação da conta não é imediata devido a obrigações legais. Depois de pedires a eliminação da tua conta, terás de utilizar um endereço de e-mail/perfil do Facebook diferente para criares uma nova conta do Stremio no futuro.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirmar a eliminação da conta","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"A tua conta foi criada através do Facebook. Para eliminares a tua conta, utiliza o nosso portal do utilizador em www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Por favor, introduz a tua palavra-passe para confirmar a eliminação da conta.","MOBILE_DELETE_ACCOUNT_BUTTON":"Eliminar conta","NAVIGATION_ON":"Ligado","NAVIGATION_OFF":"Desligado","MARKETING_AGREE":"Concordo em receber comunicações de marketing do Stremio","QUIT":"Sair","CONNECTED":"Ligado","AUTHENTICATE":"Autenticar-me","CACHING":"Caching","SETTINGS_CACHING_DRIVE":"Seleciona a unidade para cache","ENABLE_LOCAL_FILES_ADDON":"Ativa o addon de ficheiros locais (requer reinicialização)","LOCAL_ADDON_NOT_ENABLED":"O addon local não está ativado. Clica aqui para ires às definições e ativá-lo","ENABLE_REMOTE_HTTPS_CONN":"Ativar conexões HTTPS remotas","TORRENT_PROFILE":"Perfis de torrents","DATA_CACHING":"Caching de dados","MAGNET_PARSING":"A analisar o magnet link","January":"janeiro","February":"fevereiro","March":"março","April":"abril","May":"maio","June":"junho","July":"julho","August":"agosto","September":"setembro","October":"outubro","November":"novembro","December":"dezembro","Monday":"segunda-feira","Tuesday":"terça-feira","Wednesday":"quarta-feira","Thursday":"quinta-feira","Friday":"sexta-feira","Saturday":"sábado","Sunday":"domingo","Action":"Ação","Comedy":"Comédia","War":"Guerra","Family":"Família","Animation":"Animação","Adventure":"Aventura","Fantasy":"Fantasia","Crime":"Crime","Mystery":"Mistério","Romance":"Romance","Drama":"Drama","Horror":"Terror","Thriller":"Thriller","Sci-Fi":"Ficção científica","Music":"Música","Biography":"Biografia","Documentary":"Documentário","Sport":"Desporto","Musical":"Musical","Western":"Western","Film-Noir":"Film-noir","News":"Notícias","History":"História","Game-Show":"Concursos","Reality-TV":"Reality show","Talk-Show":"Talk-show","Film & Entertainment":"Filmes e entretenimento","Gaming":"Videojogos","From TV":"Da TV","Lifestyle":"Estilo de vida","Science & Education":"Ciência e Educação","Cooking & Health":"Culinária e Saúde","Beauty & Fashion":"Beleza e Moda","Sports":"Desporto","News & Politics":"Notícias e política","How-to & DIY":"Faz por ti mesmo","Tech":"Tecnologia","Automotive":"Automobilismo","Causes & Non-Profits":"Causas e ações sem fins lucrativos","Movies":"Filmes","Uk Live Tv":"Reino Unido","Fashion":"Moda","Business News Radio":"Negócios (Rádio)","Business Tv":"Negócios","Cars & Auto":"Automobilismo","Comedy Radio":"Comédia (Rádio)","Lifestyle Radio":"Estilo de vida (Rádio)","News Tv":"Notícias","Food And Wine":"Gastronomia e vinicultura","Latino Tv":"Latino","Shopping Tv":"Compras","Religion":"Religião","Kids":"Infantil","Body & Soul":"Corpo e alma","Education":"Educação","Indian Tv":"Índia","Extreme Sports":"Desportos radicais","Middle Eastern Tv":"Médio Oriente","Celebrity Tv":"Celebridades","Science Tv":"Ciência","Bikini babe":"Biquíni","Outdoors":"Ar livre","German Tv":"Alemanha","French Tv":"França","Italian Tv":"Itália","Gamer Tv":"Videojogos","Travel":"Viagens","Asian Tv":"Ásia","Entertainment":"Entretenimento","News Radio":"Notícias (Rádio)","Music Radio":"Música (Rádio)","Language Learning":"Aprender idiomas","Science Radio":"Ciência (Rádio)","Tech Radio":"Tecnologia (Rádio)","Science & Technology Vod":"Ciências e Tecnologias (VOD)","new video":"novo vídeo","new episode":"novo episódio","new movie":"novo filme","recommended":"recomendado","we recommend":"recomendamos","offer of the day":"oferta do dia","news":"notícias","music video":"Videoclipe","CTX_SHOW_HOTKEYS":"Mostrar teclas de acesso rápido","CTX_DISMISS_NOTIF":"Descartar notificação","CTX_DISMISS_ALL":"Descartar todas","CTX_SHARE":"Partilhar","CTX_COPY_SHARE_LINK":"Copiar link de partilha","CTX_COPY_MAGNET_LINK":"Copiar o magnet link","CTX_COPY_STREAM_LINK":"Copiar link de transmissão","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copiar o link de transferência do vídeo","CTX_DOWNLOAD_VIDEO":"Transferir este vídeo","CTX_DOWNLOAD_SUBS":"Transferir as legendas","CTX_VIEW_ON_YOUTUBE":"Ver no YouTube","CTX_SHOW":"Mostrar","CTX_PLAY":"Reproduzir","CTX_PLAY_IN":"Reproduzir no","CTX_PLAY_ON":"Reproduzir no","CTX_WATCH_ON":"Ver em","CTX_WATCH":"Ver","CTX_WATCHED":"Visto","CTX_WATCH_BEGINNING":"Ver do início","CTX_WATCH_MOBILE":"Ver num dispositivo móvel","CTX_REWIND":"Retroceder para o início","CTX_MARK_WATCHED":"Marcar como visto","CTX_MARK_NON_WATCHED":"Marcar como não visto","CTX_MARK_UNWATCHED":"Marcar como não visto","CTX_MARK_REST":"Marcar o resto como visto.","CTX_UNMARK_REST":"Marcar o resto como não visto.","CTX_RECEIVE_NEW_NOTIF":"Receber novas notificações","CTX_ENABLE_NEW_NOTIF":"Ativar notificações","CTX_DISABLE_NEW_NOTIF":"Desativar notificações","CTX_REMOVE_CACHE":"Remover da cache","CTX_REMOVE_CACHE_EP":"Remover episódio da cache","CTX_OPEN_CONTAINING":"Abrir pasta com o conteúdo","CTX_REMOVE":"Remover da biblioteca","CTX_AVAILABLE_OFFLINE":"Disponível offline","CTX_PAUSED":"Em pausa","CTX_ALWAYS_ON_TOP":"Sempre visível","CTX_FULLSCREEN":"Ecrã inteiro","CTX_WRONG_SUBS":"Legendas incorretas?","CTX_REPORT_ISSUES":"Reportar problema","CTX_COPY":"Copiar","CTX_PASTE":"Colar","CTX_CLEAR":"Limpar","CTX_CLEAR_RECENT_SEARCHES":"Limpar pesquisas recentes","HELLO_THERE":"Olá!","HOPE_YOU_ENJOY":"Esperamos que gostes do Stremio e que seja uma das tuas aplicações favoritas!","WHO_ARE_WE":"Quem somos? Somos a equipa por detrás do projeto - dois rapazes que trabalham arduamente todos os dias durante os últimos 3 anos para melhorar cada vez mais este produto.","SUPPORT_US":"Se gostas de utilizar o Stremio e se o mesmo é importante para ti - divulga-o!","SPREAD_THE_WORD":"Partilha com os teus amigos, divulga-o","MORE_PEOPLE":"Quanto mais pessoas utilizarem o Stremio, melhor se tornará!","SEND_A_LINK":"Ou envia um link para o nosso site","TIP_LOCALFILES":"Dica: podes arrastar e largar os teus vídeos no Stremio","ADDON_MY":"Os meus addons","ADDON_COMMUNITY":"Addons da comunidade","ADDON_OFFICIAL":"Addons oficiais","ADDON_REPOS":"Repositórios de addons","ADDON_SEARCH":"Pesquisar addons","ADDON_INSTALL":"Instalar","ADDON_CONFIGURE":"Configurar","ADDON_UNINSTALL":"Desinstalar","ADDON_UPGRADE":"Atualizar","ADDON_INSTALLED":"Instalados","ADDON_INSTALLED_MSG":"Addon instalado!","ADDON_UPGRADED_MSG":"Addon atualizado!","ADDON_UNKNOWN":"Desconhecido","ADDON_ERR":"Erro ao instalar o addon!","ADDON_DISCONNECTED":"Desconectado","ADDON_APP_MISSING":"a aplicação que suporta este tipo de letra não está instalada. Desejas instalá-la agora?","ADDON_APP_INSTALL":"Instalar agora","ADDON_PAGE":"Página do addon","ADDON_TOP_CONTENT":"O melhor deste addon","ADDON_PROVIDES":"Este addon dar-te-á:","ADDON_WATCH":"Ver #{types} agora!","ADDON_WATCH_FREE":"Ver #{types} GRATUITAMENTE agora!","ADDON_ADDON":"Addon","ADDON_SUPPORTED_TYPES":"Tipos suportados","ADDON_SUPPORTED_CATALOGS":"Catálogos suportados","ADDON_PROVIDES_DISCOVER":"Mais #{types} em Explorar","ADDON_PROVIDES_STREAMS":"Ver #{types}","ADDON_PROVIDES_STREAMS_FREE":"Ver #{types} GRATUITAMENTE","ADDON_PROVIDES_SUBTITLES":"Legendas para #{types}","ADDON_CANTDETECT":"Não foi possível encontrar o Stremio em execução, assim sendo, não é possível determinar os addons que tens instalados.","ERR_NO_META":"Não encontrámos nenhuma informação sobre isto.","ERR_GETTING_META":"Erro ao obter informação sobre isto.","ERR_CANT_PARSE_MAGNET":"Impossível analisar o magnet link","ERR_NO_MAGNET_INFOHASH":"Sem informação válida para este magnet link","ERR_NO_FILE_PATH":"Impossível enviar o pedido sem um caminho para o ficheiro","ERR_NO_TORRENT":"Nenhum torrent recebido","ERR_NO_SUPPORTERD_FILES":"Nenhum ficheiro suportado encontrado","ERR_OPENING_FILES":"Não foi possível abrir ficheiros externos.","ERR_INVALID_LINK":"Link inválido","ERR_REGISTERED_ONLY":"Esta opção está apenas disponível para utilizadores com sessão iniciada.","ERR_CLIPBOARD":"Não é possível reproduzir da área de transferência","ERR_CLIPBOARD_READ":"Não é possível ler a área de transferência nesta plataforma","ERR_CLIPBOARD_GENERIC":"Nenhum URL reproduzível encontrado na área de transferência. Por favor, copia um URL (ex.: magnet link) para um vídeo.","BOARD_CONTINUE_WATCHING":"Continuar a ver","BOARD_EXPLANATION_RECOMMENDATIONS":"Os filmes escolhidos especialmente para ti.<br />Este filme é uma amostra de recomendação.","BOARD_EXPLANATION_EPISODES":"Os novos episódios das tuas séries favoritas aparecem aqui.<br />Adiciona as séries que segues à tua biblioteca.","BOARD_EXPLANATION_VIDEOS":"Os novos episódios dos teus canais favoritos aparecem aqui.<br />Adiciona os canais do YouTube que segues à tua biblioteca.","WEBSITE_ENJOYED_BY":"Desfrutado por mais de 30 milhões de utilizadores em todo o mundo","WEBSITE_STREAMING_ENHANCED":"Streaming melhorado","WEBSITE_STREAMING_ENHANCED_DETAILS":"O Stremio oferece uma experiência de entretenimento segura, moderna e perfeita. Com a sua interface fácil de utilizar e uma biblioteca de conteúdos diversificada, incluindo suporte para 4K HDR, os utilizadores podem desfrutar dos seus filmes e séries favoritas em todos os seus dispositivos. E com o seu compromisso com a segurança, o Stremio é a melhor escolha para uma experiência de transmissão de alta qualidade e sem preocupações.","WEBSITE_AVAILABLE_ON":"Disponível para","WEBSITE_WATCH_AND_ENJOY":"Vê e desfruta.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"O Stremio torna tudo muito fácil","WEBSITE_ALL_FEATURES":"Todas as funcionalidades","WEBSITE_EASY_TO_USE":"Fácil de utilizar","WEBSITE_EASY_TO_USE_DETAILS":"O Stremio foi concebido para ser intuitivo e fácil de utilizar. Com a sua interface limpa e intuitiva, podes navegar facilmente e encontrar o conteúdo que queres ver.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Sem descontinuidades entre dispositivos","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Disponível para uma vasta gama de plataformas (incluindo Windows, Mac, Linux, Android e outras), o Stremio acompanha o teu progresso em todos os teus dispositivos. Basta iniciares sessão e continuares a ver sem teres de configurar novamente a aplicação em cada novo dispositivo.","WEBSITE_ALL_DOWNLOADS":"Todas as transferências","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"Suporte para vídeo de alta definição","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"Um leitor de vídeo integrado que suporta a maioria dos formatos de vídeo, incluindo conteúdo 4K HDR, permite-te desfrutar da melhor qualidade disponível.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Biblioteca de conteúdos diversificados","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"O Stremio integra-se com um grande número de fontes de vídeo populares, como Netflix, Amazon Prime Video, Hulu, YouTube e muitas outras.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Cria uma conta gratuita","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Experiência de visualização personalizada","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"O Stremio permite-te personalizar o aspeto da interface, alterando o tema, adicionando ou removendo addons e muito mais.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Suporte para legendas em vários idiomas","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"Agora podes desfrutar de todos os teus conteúdos favoritos no teu idioma preferido, uma vez que o Stremio suporta legendas em todos os idiomas.","WEBSITE_ALL_STREMIO_FEATURES":"Todas as funcionalidades do Stremio","WEBSITE_TRY_STREMIO_TITLE_P1":"Experimenta o Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"Na tua TV agora","WEBSITE_YOU_CAN_NOW_WATCH":"Agora podes ver todas as tuas séries favoritas nos teus dispositivos Android TV. A aplicação Stremio TV permite-te desfrutar de uma noite de cinema com facilidade.","WEBSITE_YOU_CAN_NOW_WATCH_2":"Agora podes ver todas as tuas séries favoritas na tua Smart TV ou Android TV. As aplicações Stremio TV permitem-te desfrutar de uma noite de cinema com facilidade.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio para Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Provavelmente a melhor e mais útil aplicação para teres no teu dispositivo. É uma das aplicações que utilizo diariamente, especialmente na minha Android TV, há já muitos anos. Bem feita, com uma comunidade forte a fornecer funcionalidades úteis. Muito bem feito. Mantém o bom trabalho.","WEBSITE_REVIEWS":"críticas","WEBSITE_GET_STREMIO_FOR_FREE":"Obtém o Stremio gratuitamente","WEBSITE_GET_STREMIO_NOW":"Obter o Stremio agora","WEBSITE_STREMIO_FEATURES":"Funcionalidades do Stremio","WEBSITE_STREMIO_FEATURES_DETAILS":"Vê streaming como um profissional com as funcionalidades avançadas do Stremio e desfruta de um acesso sem falhas a todos os teus conteúdos multimédia favoritos","WEBSITE_DISCOVER_MORE":"Descobre mais.","WEBSITE_DISCOVER_MORE_DETAILS":"Nunca te faltam coisas para ver","WEBSITE_COMMUNITY_DRIVEN":"Orientado pela comunidade","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"O Stremio tem uma comunidade grande e ativa de utilizadores que contribuem para o desenvolvimento do software através da criação e partilha de addons.","WEBSITE_GET_INVOLVED":"Faz parte","WEBSITE_NEW_THEATER_EXPERIENCE":"Nova experiência cinematográfica","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"A nova aplicação de TV dedicada do Stremio permite-te desfrutar de uma noite de cinema nos teus dispositivos Android TV.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"As novas aplicações de TV dedicadas do Stremio permitem-te desfrutar de uma noite de cinema na tua Smart TV ou em dispositivos Android TV.","WEBSITE_FREE_AND_SECURE":"Grátis e seguro","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"O Stremio oferece segurança e privacidade inigualáveis aos utilizadores. Com a sua funcionalidade única de executar addons remotamente, o Stremio proporciona uma forma mais segura de transmitir os teus conteúdos favoritos em comparação com outras plataformas. A tua segurança e privacidade são as principais prioridades, e a plataforma garante que todos os teus dados estão protegidos.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Diz adeus às preocupações com a segurança e a privacidade e diz olá a um mundo de entretenimento sem fim com o Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Informações fornecidas por","WEBSITE_CONTRIBUTE":"Colaborar","WEBSITE_CONTRIBUTE_DESC":"para o projeto e ajuda-nos a tornar o Stremio ainda melhor","WEBSITE_COMMUNITY_DESC":"Acreditamos que a melhor maneira de criar uma experiência de streaming verdadeiramente fantástica é envolver a nossa comunidade no processo. Quer sejas um programador, um artista ou apenas um fã - podes ajudar o Stremio a crescer.","WEBSITE_COMMUNITY_DESC_2":"Então, junta-te a nós hoje, faz parte da comunidade do Stremio e continua a moldar o futuro do streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Maneiras de participar","WEBSITE_IN_THE_STREMIO_COMMUNITY":"na comunidade do Stremio","WEBSITE_SHARE_YOUR_THOUGHTS":"Partilha os teus pensamentos","WEBSITE_REPORT_BUGS":"Comunica erros","WEBSITE_SUGGEST_FEATURES":"sugere funcionalidades","WEBSITE_AND_PROVIDE_FEEDBACK":"e dá o teu feedback nas nossas redes sociais.","WEBSITE_BETA_TESTING_PROGRAM":"Programa de testes beta","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participa no nosso programa de testes beta (enviamos convites regularmente) na comunidade do Stremio.","WEBSITE_JOIN_NOW":"Junta-te agora!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Comunidades oficiais do Stremio","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Comunidades não oficiais do Stremio","WEBSITE_BECOME":"Torna-te","WEBSITE_A_VOLUNTEER_TRANSLATOR":"um tradutor voluntário","WEBSITE_ARE_YOU_A_DEVELOPER":"És um programador?","WEBSITE_CONTRIBUTE_CODE":"Podes contribuir com código para os nossos projetos de código aberto. Temos vários projetos no GitHub que estão à procura de colaboradores. Se estiveres interessado em ajudar, consulta-os:","WEBSITE_STREMIO_ON_GITHUB":"Stremio no GitHub","WEBSITE_CREATE_ADDON_DESC":"Cria um addon para melhorar as funcionalidades do Stremio (temos uma API fácil de utilizar):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"Também te damos a oportunidade de te juntares a nós como programador estagiário para que possamos crescer juntos.","WEBSITE_APPLY_AS_AN_INTERN":"Candidata-te como estagiário","WEBSITE_CALLING_ALL_ARTISTS":"Convite a todos os artistas!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Mostra a tua criatividade e o teu amor pelo Stremio carregando a tua arte de fã na nossa galeria online. Quer se trate de um desenho, pintura ou design digital, queremos ver a tua visão única da marca Stremio. Junta-te à nossa comunidade de entusiastas da arte e partilha o teu trabalho com outros fãs do Stremio em todo o mundo.","WEBSITE_STREMIO_FANART_GALLERY":"Galeria de Fanart do Stremio","WEBSITE_INTERN_DESIGNER":"Faz parte da nossa equipa e leva a tua criatividade a novos patamares com as nossas excitantes oportunidades de estágio.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Projeto de filmes de domínio público","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"No Stremio, estamos empenhados em preservar a história do cinema e da televisão, identificando vídeos de domínio público e órfãos. Ao trabalharmos em conjunto com a nossa comunidade, podemos garantir que estas obras de arte clássicas estão acessíveis a todos e protegidas para serem desfrutadas pelas gerações futuras.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Não hesites em contactar-nos se quiseres participar nesse projeto.","WEBSITE_JOIN_THE_PROJECT":"Junta-te ao projeto","WEBSITE_BE_PART_OF_OUR_MISSION":"Faz parte da nossa missão","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Estás interessado em fazer parte da equipa do Stremio? Oferecemos trabalho totalmente remoto para profissionais apaixonados. Consulta as nossas vagas em aberto.","WEBSITE_OPEN_POSITIONS":"VAGAS EM ABERTO","WEBSITE_DESCRIPTION":"DESCRIÇÃO","WEBSITE_LEARN_MORE":"Saber mais","WEBSITE_COMPANY":"Empresa","WEBSITE_CONTACTS":"Contactos","WEBSITE_NEED_HELP":"Precisas de ajuda?","WEBSITE_STREMIO_WEB_ON_IOS":"Guia para o Stremio Web no iOS","WEBSITE_LINK_ART_V2":"Galeria de Fanart","WEBSITE_PARTNERS":"Parceiros","WEBSITE_SLOGAN_WATCH":"Vê instantaneamente","WEBSITE_SLOGAN_ALL":"Todo o conteúdo de vídeo de que gostas num só lugar","WEBSITE_SLOGAN_NEW":"Tudo o que podes ver","WEBSITE_SLOGAN_NEW_NEW":"Liberdade para fazeres streaming","WEBSITE_WATCH_FROM":"Ver a partir de","WEBSITE_DOWNLOAD":"Transferir","WEBSITE_DOWNLOAD_FOR":"Transferir para","WEBSITE_IS_DESKTOP":"O Stremio é uma aplicação desktop, abre esta página no teu computador e transfere-a","WEBSITE_DESKTOP_DEMO_VID":"Demonstração de ambiente de trabalho","WEBSITE_PAGE_HOME":"Início","WEBSITE_PAGE_FEATURES":"Funcionalidades","WEBSITE_PAGE_ADDONS":"Addons","WEBSITE_PAGE_TECH":"Tecnologia","WEBSITE_PAGE_CREATE_ADDON":"Criar addon","WEBSITE_PAGE_CONTACTS":"Contactos","WEBSITE_PAGE_BLOG":"Blogue","WEBSITE_RESET_PASSWORD_MESSAGE":"Por favor, introduz a nova palavra-passe desejada abaixo.","WEBSITE_RESET_PASSWORD_WARNING":"Tens a certeza de que queres redefinir a palavra-passe de ${1}?","WEBSITE_TYPE_movie":"Filmes","WEBSITE_TYPE_series_PL":"Séries","WEBSITE_TYPE_tv":"TV em direto","WEBSITE_TYPE_channel":"Canais","WEBSITE_STREMIO_WHAT_IS":"O Stremio é uma aplicação que te ajuda a organizar e ver instantaneamente os teus vídeos, filmes, séries e canais favoritos.","WEBSITE_FEATURES_WATCH":"Vê instantaneamente em HD","WEBSITE_FEATURES_WATCH_DETAIL":"Clica e reproduz o teu conteúdo preferido, filmes, séries, vídeos e canais.","WEBSITE_FEATURES_SUBS":"Legendas automáticas","WEBSITE_FEATURES_SUBS_DETAIL":"O Stremio seleciona automaticamente as legendas sincronizadas para o teu idioma.","WEBSITE_FEATURES_SUBS_LABEL":"Agora é contigo, chefe.","WEBSITE_FEATURES_CAST":"Reproduz na TV e dispositivos móveis","WEBSITE_FEATURES_CAST_DETAIL":"Liga à Apple TV, Chromecast, Smart TV (DLNA/UPnP) e dispositivos móveis.","WEBSITE_LIB":"Desfruta da tua biblioteca pessoal sincronizada em todos os teus dispositivos","WEBSITE_LIB_COLLECT":"Recolher através do Stremio","WEBSITE_LIB_IMPORT":"Importar do Facebook","WEBSITE_LIB_LOCAL":"Adicionar a partir do teu disco local","WEBSITE_BOARD":"O painel - O teu sítio para notificações e recomendações","WEBSITE_BOARD_RECOMMEND":"Série recomendada","WEBSITE_BOARD_TRENDING":"Filme em destaque","WEBSITE_BOARD_NEW":"Novo vídeo","WEBSITE_BOARD_EPISODE":"Novo episódio","WEBSITE_BOARD_1":"Procuras algo interessante para ver? Recebe recomendações baseadas nos teus gostos!","WEBSITE_BOARD_2":"Recebe uma notificação quando um novo episódio da tua série preferida ou de um canal do YouTube é lançado!","WEBSITE_BOARD_YOUTUBE":"Novos vídeos de canais do YouTube","WEBSITE_BOARD_EPISODES":"Novos episódios das séries que segues","WEBSITE_ADDONS":"Conteúdo do addon","WEBSITE_TECH_DETAIL":"Adoramos tecnologia e ciência maluca!\\nO Stremio utiliza as seguintes tecnologias de código aberto:","WEBSITE_TECH_WCJS":"O WebChimera.js permite que o Stremio reproduza qualquer formato de vídeo com boa performance.","WEBSITE_TECH_WCJS_EXTRA":"Somos os colaboradores principais do projeto","WEBSITE_TECH_ELECTRON":"O Electron oferece uma plataforma inovadora para construir o Stremio.","WEBSITE_TECH_ELECTRON_EXTRA":"Somos colaboradores do projeto","WEBSITE_TECH_LINVODB":"Uma tecnologia de base de dados que garante que os teus dados estão organizados e disponíveis em qualquer lugar.","WEBSITE_TECH_LINVODB_EXTRA":"Tecnologia interna","WEBSITE_CREATE_ADDON":"Cria o teu addon","WEBSITE_CREATE_ADDON_DETAIL":"Tens um serviço que fornece conteúdo de vídeo? Vamos ajudar-te a beneficiar das funcionalidades do Stremio ao criar o teu addon.","WEBSITE_CREATE_ADDON_BENEFITS":"Benefícios da criação de um addon para o Stremio","WEBSITE_P2P_BEAUTY":"A beleza do Streaming Ponto-a-Ponto","WEBSITE_P2P_1":"Vídeo full HD / 4K on demand ou streaming fiável e acessível","WEBSITE_P2P_2":"Plataforma de distribuição que proporciona uma grande experiência ao utilizador","WEBSITE_P2P_3":"Criaremos um addon que corresponde exatamente às tuas necessidades","WEBSITE_P2P_CONTACT":"Interessado? Convidamos-te a <a href=\'mailto:office@stremio.com\'>nos contactares</a>.","WEBSITE_P2P_CONTACT_EXTRA":"Ficaríamos felizes por te ajudar a integrar o teu contéudo com o Stremio!","WEBSITE_P2P":"De um momento para o outro, surge uma tecnologia que muda o sistema. Investimos muito tempo e esforço para construir o nosso motor de streaming de vídeo ponto-a-ponto que fornece grande performance e versatilidade para se adaptar a qualquer caso de utilização.\\nContacta-nos para gestão de direitos digitais de vídeo P2P on demand ou streaming.","WEBSITE_THOUGHTS":"Pensamentos que partilhamos:","WEBSITE_SPREAD":"Divulga o Stremio:","WEBSITE_CONTACT":"Contacta-nos, adoraríamos saber o que tens a dizer!","WEBSITE_OPENSOURCE":"Para os nosso projetos de código aberto, visita o nosso","WEBSITE_BITCOIN":"Doar Bitcoin:","WEBSITE_FAQ":"Perguntas frequentes","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Perguntas","WEBSITE_TOS":"Termos de utilização","WEBSITE_LEGAL":"Jurídico","WEBSITE_PAGE_ABOUT":"Acerca de","WEBSITE_PAGE_BECOME_PARTNER":"Torna-te um parceiro","WEBSITE_ALL_YOU_CAN_WATCH":"Liberdade para veres\\nTudo o que precisas.","WEBSITE_FREEDOM_TO_STREAM":"Liberdade para fazeres streaming","WEBSITE_WHAT_IS_STREMIO":"O que é o Stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"O Stremio é uma plataforma única para agregação de conteúdo de vídeo. Descobre, organiza e vê vídeos de todos os tipos de fontes em qualquer dispositivo que tenhas.","WEBSITE_WHAT_IS_STREMIO_P2":"Filmes, séries, programas de TV, TV em direto ou canais da web como YouTube e Twitch.tv - podes encontrar tudo isto no Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"O Stremio é uma central de multimédia moderna, uma solução integrada para todo o teu entretenimento em vídeo. Descobre, vê e organiza todo o conteúdo de vídeo a partir de addons fáceis de instalar.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Filmes, programas de TV, TV em direto ou canais da web - encontra tudo isto no Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Desfruta em todos os teus dispositivos multimédia","WEBSITE_DEVICES_COLLECT":"Recolhe através do Stremio","WEBSITE_DEVICES_IMPORT_FB":"Importar do Facebook","WEBSITE_DEVICES_LOCAL":"Adicionar a partir do teu disco local","WEBSITE_JOIN_THE_PARTY_NOW":"Junta-te à festa agora","WEBSITE_DEVICES_ALL":"Fácil de utilizar em qualquer dispositivo;","WEBSITE_EXTENDABLE_CATALOG":"Catálogo de vídeo infinitamente extensível;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Ótimas funcionalidades para organizares o teu conteúdo multimédia;","WEBSITE_AS_SEEN_ON":"Visto(a) em","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"Quem somos","WEBSITE_LINK_TECHNOLOGY":"Tecnologia","WEBSITE_LINK_APPS":"Aplicações","WEBSITE_LINK_DOWNLOADS":"Transferências","WEBSITE_MORE":"Mais","WEBSITE_LINK_ADDONS":"Addons","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Contribuir","WEBSITE_LINK_COMMUNITY":"Comunidade","WEBSITE_LINK_BLOG":"Blogue","WEBSITE_MORE_MORE":"... e mais","WEBSITE_LINK_HELP":"Centro de ajuda","WEBSITE_LINK_CONTACTS":"Contacta-nos","WEBSITE_LINK_TOS":"Termos e condições","WEBSITE_LINK_PRAVACY":"Política de privacidade","WEBSITE_SUBSCRIBE":"Subscrever","WEBSITE_NEWSLETTER":"Subreve a nossa newsletter para receberes as novidades","WEBSITE_PLACEHOLDER_EMAIL":"O teu e-mail","WEBSITE_COMMUNITY":"Comunidade","WEBSITE_LINK_PRAVACY_LEGAL":"Privacidade e jurídico","WEBSITE_WHY":"Porque o fazemos","WEBSITE_WHY_P1":"No Stremio, chegamos a trabalhar todos os dias quando queremos resolver um problema importante para o setor de vídeo on demand. Há tanto conteúdo novo publicado a cada minuto, que é virtualmente impossível encontrar o caminho menos árduo.","WEBSITE_WHY_P2":"Ajudamos as pessoas a navegar neste mundo imenso de entretenimento de vídeo e a descobrir novos conteúdos para apreciar. As nossas aplicações trazem consigo filmes, séries, TV em direto, canais da web e muito mais. Estamos focados em facilitar para que os nossos utilizadores possam encontrar facilmente os títulos e os canais que adoram.","WEBSITE_WHY_P3":"Podes utilizar o nosso serviço em qualquer dispositivo e a qualquer hora tornando o Stremio a única plataforma agregadora de entretenimento de vídeo de que precisarás.","WEBSITE_TEAM":"Equipa","WEBSITE_TEAM_P":"A equipa do Stremio é pequena, mas poderosa: entre nós dez, programamos em várias linguagens e partilhamos experiência em desenvolvimento de software, design da IU e UX, marketing e publicidade, negócios e startups.","WEBSITE_FEATURES":"Funcionalidades","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Descobre facilmente novos conteúdos","WEBSITE_FEATURES_DISCOVER_P":"Descobre facilmente novos filmes, séries, programas de TV e canais para ver. Navega por categoria, género, classificação, novidade, etc. ou escreve simplesmente um nome para encontrar. O Stremio encontrará facilmente todo o conteúdo de vídeo.","WEBSITE_FEATURES_ALL_CONTENT":"Todo o teu conteúdo de vídeo num ecrâ","WEBSITE_FEATURES_ALL_CONTENT_P1":"Vê que filmes, séries ou vídeos não terminaste e continua a vê-los(as). Sê notificado sobre novos episódios e lançamentos e navega pelas recomendações que obterás com base nos teus hábitos de visualização","WEBSITE_FEATURES_LIBRARY":"Organiza a tua biblioteca de vídeos","WEBSITE_FEATURES_LIBRARY_P1":"Adiciona qualquer título à tua biblioteca do Stremio com um único clique e encontra o teu conteúdo organizado por tipo, recência ou ordem alfabética","WEBSITE_FEATURES_CALENDAR":"Acompanha tudo o que viste","WEBSITE_FEATURES_CALENDAR_P1":"Vê o calendário de todos os filmes e séries que adicionaste à tua biblioteca e sabe também quando haverá um novo episódio ou estreia.","WEBSITE_FEATURES_BIG_SCREEN":"Aproveita o teu conteúdo de vídeo num ecrã maior ","WEBSITE_FEATURES_BIG_SCREEN_P1":"Reproduz o que estiveres a ver noutro dispositivo - utiliza o smartphone, tablet ou TV com um único clique","WEBSITE_FEATURES_SOURCES":"Vê o vídeo de várias fontes diferentes.","WEBSITE_FEATURES_SOURCES_P":"Instala os addons oficiais e da comunidade para aproveitares o vídeo fornecido por vários fornecedores diferentes - tudo numa aplicação elegante e fácil de utilizar.","WEBSITE_CREATE_AN_ADDON":"Cria um addon.","WEBSITE_FEATURES_SYNC":"Sincroniza a tua biblioteca entre diferentes dispositivos e continua a reprodução","WEBSITE_FEATURES_SYNC_P1":"Entra com a tua conta em todos os teus dispositivos e aproveita a tua biblioteca, addons, reprodução e calendário sincronizados.","WEBSITE_FEATURES_EXTENDABLE":"Catálogo de vídeo extensível por addons","WEBSITE_FEATURES_EXTENDABLE_P1":"O catálogo de addons do Stremio fornece vários complementos para instalares e veres uma variedade imensa de conteúdos de vídeo. Isto inclui filmes, programas, TV em direto, desportos, notícias, podcasts, canais da web, jogos e muito mais.","WEBSITE_FEATURES_AUTO_SUBS":"Legendas automáticas","WEBSITE_FEATURES_AUTO_SUBS_P1":"Com os nossos addons de legendas obtens automaticamente as opções selecionadas para o teu idioma preferido.","WEBSITE_FEATURES_CHROMECAST":"Transmitir para Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Desfruta do conteúdo de vídeo num ecrã maior ou transmite apenas o que estiveres a ver para outro dispositivo.","WEBSITE_FEATURES_KEEP_TRACK":"Acompanha os teus programas de TV e canais da Web favoritos ","WEBSITE_FEATURES_KEEP_TRACK_P1":"Obtém uma visualização do calendário e notificações para novos episódios das tuas séries e canais da web favoritos.","WEBSITE_FEATURES_POWER_USER":"Funcionalidades avançadas para os utilizadores","WEBSITE_FEATURES_POWER_USER_P1":"Reproduz num leitor externo","WEBSITE_FEATURES_POWER_USER_P2":"Reproduz a partir de um ficheiro torrent ou magnet link","WEBSITE_FEATURES_POWER_USER_P3":"Importa para a tua biblioteca a partir dos gostos do Facebook ou disco local","WEBSITE_ADD_ONS":"Addons","WEBSITE_ADD_ONS_P1":"Todo o conteúdo de vídeo que o Stremio proporciona é proveniente de um sistema de addons - nenhum fornecedor de conteúdo ou conteúdo foi incorporado na aplicação.","WEBSITE_ADD_ONS_P2":"Existem dois grupos de addons disponíveis: oficiais e da comunidade.","WEBSITE_ADD_ONS_P3":"Os oficiais são desenvolvidas e hospedadas pelo Stremio enquanto que os addons da comunidade são criados por membros da nossa comunidade que também os hospedam.","WEBSITE_ADDONS_OFFICIAL":"Addons oficiais","WEBSITE_ADDONS_WATCHUB":"Transmite os teus filmes, séries e programas favoritos de serviços como iTunes, Hulu, Amazon e outros serviços do Reino Unido / EUA.","WEBSITE_ADDONS_YOUTUBE":"Vê os teus canais favoritos do YouTube livre de anúncios e recebe notificações de novos vídeos dos canais que segues.","WEBSITE_ADDONS_FILMON":"Vê TV em direto, filmes e canais interativos gratuitamente. 600 canais de TV, 45.000 filmes gratuitos, documentários e muito mais.","WEBSITE_ADDONS_OPENSUBTITLES":"Legendas de filmes e TV em vários idiomas. Milhares de legendas traduzidas e carregadas todos os dias.","WEBSITE_ADDONS_COMMUNITY":"Addons da comunidade","WEBSITE_ADDONS_FILMON_VOD":"Vê vídeos on demand do Filmon.tv","WEBSITE_ADDONS_TWICH":"Vê transmissões em direto da Twitch.tv - a plataforma de streaming de vídeo para a indústria de eSports.","WEBSITE_ADDONS_VODO":"Vê filmes independentes de forma totalmente gratuita.","WEBSITE_ADDONS_NETFLIX":"Vê filmes e séries da Netflix.","WEBSITE_ADDONS_CREATE":"Cria um addon.","WEBSITE_ADDONS_CREATE_P1":"Se desejares, podes desenvolver o teu próprio addon. Desta forma, podes proporcionar a ti mesmo e à nossa comunidade o acesso a novos conteúdos de vídeo e alcançar um novo público-alvo de milhões de utilizadores em todo o mundo.","WEBSITE_ADDONS_START_CREATE":"Para começares, visita a página do Kit de Desenvolvimento de Addons do Stremio:","WEBSITE_DOWNLOADS":"Transferências","WEBSITE_DOWNLOADS_P1":"Para um melhor desempenho, recomendamos que utilizes a versão mais recente disponível das aplicações Stremio. No entanto, se por algum motivo preferires utilizar uma versão mais antiga, podes descarregá-la aqui.","WEBSITE_DOWNLOADS_P1_SHORT":"Para um melhor desempenho, recomendamos que utilizes a última versão disponível das aplicações Stremio.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio para Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio para macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio para Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio para Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio para Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio para telemóveis Android","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio para Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio para iOS (versão limitada)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio para Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio para LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio para Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio para Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio para Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio para Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio para Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio para Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio para Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio para o navegador","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Procura o Stremio na App Store dos modelos de TV Samsung 2019+","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Procura o Stremio na App Store dos modelos de TV LG 2020+","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Procura o Stremio na Play Store na Sony TV com Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Procura o Stremio na Play Store na Philips TV com Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Procura o Stremio na App Store do teu dispositivo Xbox","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guia para o Stremio OS na RPI","WEBSITE_LINK_GUIDE":"Guia","WEBSITE_DOWNLOAD_SERVICE":"Descarregar o Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"O Stremio Service é uma aplicação que acompanha o Stremio Web. Recomendamos a utilização da versão mais recente disponível do Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service para Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service para macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service para Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service para Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio para Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"Mais opções de transferência","WEBSITE_DOWNLOAD_NEW":"Novidade!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"Lançámos o Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"Lançámos o Stremio para a Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"Lançámos o Stremio para a LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"Lançámos o Stremio para Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"A plataforma Stremio é de código aberto e podes criar facilmente um addon para o conteúdo que não é atualmente fornecido.","WEBSITE_CONTRIBUTE_WHY":"Porque deves criar um?","WEBSITE_CONTRIBUTE_WHY_P1":"Alcança um novo público para o conteúdo do teu vídeo","WEBSITE_CONTRIBUTE_WHY_P2":"A base de utilizadores do Stremio está a crescer rapidamente - no primeiro ano de lançamento o Stremio ganhou 1 milhão de utilizadores em todo o mundo e no segundo ano de existência da plataforma, este número cresceu para 2,5 milhões.","WEBSITE_CONTRIBUTE_WHY_P3":"Com o teu addon podes facilmente alcançar esta audiência e distribuir o teu conteúdo de vídeo para todos os utilizadores.","WEBSITE_CONTRIBUTE_ALL":"Vê os teus filmes, séries, vídeos e canais favoritos num único lugar.","WEBSITE_CONTRIBUTE_ALL_P1":"És fã de um tipo de conteúdo que ainda não está disponível no Stremio? Cria um addon para isso e desfruta ao ver os teus vídeos favoritos numa das maiores e mais fáceis plataformas de entretenimento e de se utilizar do mercado.","WEBSITE_CONTRIBUTE_ALL_P2":"Além disso, obterás a infinita gratidão de outros membros da comunidade Stremio com ideias semelhantes","WEBSITE_CONTRIBUTE_MONETIZE":"Monetiza o teu addon e ganha dinheiro com ele","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Uma vez que desenvolvas um novo addon para o Stremio, podes facilmente monetizá-lo de várias maneiras diferentes. Se estás a considerá-lo, sente-te à vontade para entrar em contacto connosco através do ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - ficaríamos felizes por te orientar e aconselhar neste processo sobre as opções de monetização do teu addon.","WEBSITE_CONTRIBUTE_TRANSLATE":"Torna-te num tradutor voluntário","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Se desejas aproveitar as aplicações do Stremio em diferentes idiomas, podes juntar-te à nossa comunidade de tradutores voluntários. Eles ajudam-nos a adicionar versões do Stremio nos diferentes idiomas.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Estás ansioso para começar?","WEBSITE_TRANSALTE_STREMIO":"Traduzir o Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Comunidades oficiais","WEBSITE_COMMUNITY_OFFICIALS_P1":"Faz parte da crescente comunidade do Stremio. Segue-nos nas redes sociais e não te sintas intimidado por nos dizeres um \\"Olá\\" - gostamos de conhecer os nossos fãs!","WEBSITE_COMMUNITY_UNOFFICIALS":"Comunidades não-oficiais","STREMIO_COMMUNITY_NL":"Stremio Países Baixos","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Alemanha","STREMIO_COMMUNITY_BELGIUM":"Stremio Bélgica","STREMIO_COMMUNITY_FRANCE":"Stremio França","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Itália","STREMIO_COMMUNITY_UK":"Stremio Reino Unido","STREMIO_COMMUNITY_USA":"Stremio EUA","STREMIO_COMMUNITY_MEXICO":"Stremio México","STREMIO_COMMUNITY_ADDONS":"Addons do Stremio","STREMIO_COMMUNITY_AWESOME":"O melhor do Stremio","WEBSITE_COMMUNITY_PARTNERS":"Parceiros e apoiantes","WEBSITE_COMMUNITY_GOODIES":"Guloseimas do Stremio","WEBSITE_COMMUNITY_WALLPAPERS":"Papéis de parede","WEBSITE_COMMUNITY_ART":"Galeria de Artes da Comunidade","WEBSITE_LINK_ART":"Galeria de Artes da Comunidade","WEBSITE_CONTACT_US":"Contacta-nos","WEBSITE_CONTACT_US_P1":"Caso tenhas dúvidas, comentários ou sugestões, sente-te à vontade para entrares em contacto connosco através do formulário em baixo.","WEBSITE_CONTACT_US_P2":"Lembra-te de que estamos localizados na Bulgária, por isso, pode haver alguma demora no atendimento do teu contacto devido às diferenças de fuso horário.","WEBSITE_CONTACT_US_SUCCESS":"A tua mensagem foi enviada. Entraremos em contacto contigo o mais breve possível.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Por favor, escreve um e-mail válido!","WEBSITE_CONTACT_US_Q_RELATED_TO":"Com que assunto está relacionada a tua pergunta?","WEBSITE_CONTACT_US_Q_OS":"Qual é o teu sistema operativo?","WEBSITE_CONTACT_US_PH_EMAIL":"O teu e-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Mensagem","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"ENVIAR","WEBSITE_CONTACT_US_Q_1":"Como instalar?","WEBSITE_CONTACT_US_Q_2":"Como desinstalar?","WEBSITE_CONTACT_US_Q_3":"(HTML) Como fazer lasanha?","WEBSITE_CONTACT_US_Q_4":"Addons","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"MacOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Tecnologia","WEBSITE_TECHNOLOGY_P1":"Adoramos tecnologia e ciência maluca. </ br> Aqui estão os poderes do Stremio (tudo em código aberto).","WEBSITE_TECHNOLOGY_P_QT":"Desenvolvimento de software multiplataforma no seu melhor.","WEBSITE_TECHNOLOGY_P_MPV":"Um leitor de multimédia gratuito, de código aberto e multiplataforma.","WEBSITE_TECHNOLOGY_P_RN":"O React Native permite que cries aplicações móveis utilizando apenas JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Framework multimédia incorporado na aplicação para obter multimédia.","WEBSITE_TECHNOLOGY_P_REALM":"A Realm é uma plataforma móvel e um substituto para o SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"O Node.js é um ambiente em tempo de execução multiplataforma e de código aberto para JavaScript.","WEBSITE_TECHNOLOGY_P_RUST":"O Rust é uma linguagem de programação multi-paradigma focada em segurança, especialmente em concorrência segura.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribuir para o projeto.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Há duas maneiras para poderes contribuir com o Stremio e ajudar-nos a tornar o produto ainda melhor.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Podes doar as tuas valiosas habilidades linguísticas para ajudar a traduzir a plataforma...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"ou","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"...podes utilizar as tuas habilidades de programação para criar addons da comunidade.","WEBSITE_TRANSLATE_STREMIO":"Traduzir o Stremio","WEBSITE_404_OH_NO":"Ups! A página que procuras não está aqui...","WEBSITE_GO_HOME":"Voltar ao início","WEBSITE_LINK_OTHER_DOWNLOADS":"Outras transferências","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Suporte","WEBSITE_DOWNLOAD_4_0_BETA":"Transferir o Stremio 4 beta agora","WEBSITE_GET_FOR_DESKTOP":"Transferir para o computador","WEBSITE_LINK_ADDON_COMPETITION":"Competições de addons","WEBSITE_LINK_ART_CONTEST":"Concurso de artes","WEBSITE_MY_ACCOUNT":"A minha conta","WEBSITE_MAINPAGE_FAQ_001_H1":"O que é o Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"O Stremio é um moderno centro de multimédia, que oferece a liberdade para veres tudo o que desejas.","WEBSITE_MAINPAGE_FAQ_002_H1":"Como funciona?","WEBSITE_MAINPAGE_FAQ_002_P1":"Depois de instalares o Stremio no teu dispositivo e criar uma conta tudo o que precisas de fazer é visitar o catálogo de addons e instalar qualquer complemento que desejares, e pronto!","WEBSITE_MAINPAGE_FAQ_002_P2":"Depois disso, podes ir às secções Explorar ou Painel para começar a explorar o conteúdo.","WEBSITE_MAINPAGE_FAQ_003_H1":"O que posso ver aqui?","WEBSITE_MAINPAGE_FAQ_003_P1":"Diversos filmes, programas de TV, canais da Web, desportos, canais de TV, ouvir podcasts e muito mais. Graças ao nosso sistema de addons podes aceder a uma variedade de conteúdos.","WEBSITE_MAINPAGE_FAQ_004_H1":"O Stremio é de código aberto?","WEBSITE_MAINPAGE_FAQ_004_P1":"Sim, podes verificar os seguintes links: ${1}aplicação desktop${2} e ${3}organização GitHub${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"O Stremio é seguro?","WEBSITE_MAINPAGE_FAQ_005_P1":"Sim. Por ser um software de código aberto o código é auditável publicamente e, podes revê-lo.","WEBSITE_MAINPAGE_FAQ_005_P2":"O sistema de addons do Stremio foi também criado a pensar na segurança do utilizador. Os addons não executam qualquer código localmente, pelo que não representam qualquer risco para o teu dispositivo.","WEBSITE_MAINPAGE_FAQ_006_H1":"E a minha privacidade?","WEBSITE_MAINPAGE_FAQ_006_P1":"Respeitamos a privacidade dos utilizadores e não coletamos dados pessoais além do mínimo essencial para criar e sincronizar a tua conta.","WEBSITE_MAINPAGE_FAQ_006_P2":"Há também um ${1}modo convidado ${2}no registo que não requer dados: deste modo, nenhuma chamada é feita aos nossos servidores. No entanto, isto ocorre à custa de funcionalidades úteis, como sincronizar a tua biblioteca entre dispositivos.","WEBSITE_MAINPAGE_FAQ_007_H1":"Posso transmitir para a minha TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Sim, suportamos o Chromecast e podes transmitir através de aplicações para o computador e dispositivos móveis (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"Quantos addons tem o Stremio?","WEBSITE_MAINPAGE_FAQ_008_P1":"No final de 2019, acima de 50 - para obteres mais informações, consulta o nosso catálogo de addons.","WEBSITE_MAINPAGE_FAQ_009_H1":"O Stremio pode ser expandido além do que se encontra no catálogo de addons?","WEBSITE_MAINPAGE_FAQ_009_P1":"Sim, deves verificar estes: ${1}PimpMyStremio${2}, ${3}Comunidades Reddit${4}, ${5}Downloader Stremio${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"Que dispositivos são suportados pelo Stremio?","WEBSITE_MAINPAGE_FAQ_010_P1":"Temos aplicações desktop para Windows, Mac e Linux. Para dispositivos móveis, suportamos Android e iOS, embora tem em conta que as funcionalidades do iOS são limitadas (não é compatível com a maioria dos addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"Existem muitos dispositivos com base no Android aos quais podes executar o Stremio, como NVIDIA Shield e Amazon Fire Stick, mas não os suportamos oficialmente.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"Temos aplicações para computadores Windows, Mac e Linux. Também temos aplicações dedicadas para Android Mobile e Android TV. Para iOS e iPadOS, sugerimos que utilizes o Stremio Web, embora as suas funcionalidades sejam mais limitadas.","WEBSITE_MAINPAGE_FAQ_011_H1":"Podem adicionar determinados conteúdos ao Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Desculpa, mas não fornecemos conteúdo. Porém, quanto mais addons do Stremio instalares mais conteúdo poderás encontrar.","WEBSITE_MAINPAGE_FAQ_012_H1":"O Stremio pode reproduzir magnet links?","WEBSITE_MAINPAGE_FAQ_012_P1":"Sim, e também pode reproduzir links HTTP normais e de ficheiros torrent (arrastar e soltar).","WEBSITE_MAINPAGE_FAQ_013_H1":"Posso descarregar um vídeo e vê-lo offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"O modo offline estará disponível futuramente, porém, se permitires que o Stremio faça cache no dispositivo (no painel de definições), poderás ver os teus vídeos mais tarde, mesmo sem ligação à Internet.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nada funciona, ajudem-me!","WEBSITE_MAINPAGE_FAQ_014_P1":"Tens a certeza de que instalaste addons? Se sim, verifica a nossa ${1}central de ajuda${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"Como o Stremio sustenta as suas operações de desenvolvimento?","WEBSITE_MAINPAGE_FAQ_015_P1":"Ocasionalmente, exibimos anúncios não intrusivos, mas estamos a pensar em mudar para um modelo de doação.","WEBSITE_MAINPAGE_FAQ_015_P2":"Para mais dúvidas, visita a nossa ${1}central de ajuda${2}.","HELP_LEARN_MORE":"Ajuda-nos a aprender algo mais sobre ti.","LIFESTYLE":"Estilo de vida","SPORTS":"Desporto","FOOD_HEALTH":"Comida e bem-estar","BEAUTY_FASHION":"Beleza e moda","NEWS":"Notícias","GAMING":"Jogos","SCIENCE_EDUCATION":"Ciência e educação","MUSIC":"Música","TRAVEL":"Viagens","LATE_NIGHT":"Late night show","REALITY":"Reality show","COMEDY":"Comédia","DIY":"Faz tu mesmo","TECH":"Tecnologia","CINEMA":"Cinema","CONTINUE":"Continuar","SLOW_LOADING":"LENTO A CARREGAR?","I_GIVE_UP":"DESISTO","LEARN_MORE":"Aprender mais","POOR_SOURCE":"Esta fonte possui fraca disponibilidade ou a tua ligação à Internet não é suficientemente rápida","PICK_CATEGORIES_ERR":"Tens de escolher pelo menos 3 categorias","ADJUST_TIMING":"Ajustar tempos com ","ADJUST_SIZE":"Ajustar tamanho com ","SEARCH_ANYTHING":"Podes pesquisar qualquer coisa...","ALL_CATEGORIES":"Tudo","SEARCH_CATEGORIES":"Filmes, Séries, YouTube e TV","SEARCH_PERSONS":"Atores, Realizadores e Argumentistas","SEARCH_PROTOCOLS":"Links HTTP e Magnet","SEARCH_TYPES":"Links IMDb / TheTVDB","WATCHED":"Visto","SHOW_LESS":"Mostrar menos","LAST_SEARCHES":"Pesquisas recentes","CLEAR_HISTORY":"Limpar histórico","CHOOSE_SOME":"ESCOLHE ALGUNS DESTES:","NO_WEB_REMOTE":"Não foi possível carregar o Web Remote","STREMIO_OFFLINE":"O Stremio está offline","STREMIO_EXPENSIVE_CONNECTION":"Detetámos que estás a utilizar uma ligação por dados móveis. Queres continuar?","USE_DATA":"Utilizar dados","WARNING":"Aviso","MORE_INFO":"Mais informações ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"A carregar ...","STREMIO_TV_BACK_TO_LANGUAGES":"Voltar para os idiomas","STREMIO_TV_REMOTE":"Comando","STREMIO_TV_GO_TO":"Ir para:","STREMIO_TV_OR_SCAN":"ou pesquisar:","STREMIO_TV_ADDON_INSTRUCTIONS":"Por favor, segue as instruções com o intuito de instalares os teus addons favoritos.","STREMIO_TV_LIVE_TV":"TV em direto","STREMIO_TV_RESUME_WATCHING":"Continuar a ver","STREMIO_TV_LOADING_BACKGROUND":"A carregar o plano de fundo","STREMIO_TV_CHECKING_AUTHENTICATION":"A verificar a autenticação","STREMIO_TV_LOADING_BOARD":"A carregar o painel","STREMIO_TV_LOGIN_HEADER_LINE_1":"Queremos que os nossos utilizadores tenham a melhor experiência personalizada possível com o nosso programa.","STREMIO_TV_LOGIN_HEADER_LINE_2":"É por esta razão que pedimos gentilmente que inicies sessão na tua conta.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Obrigado por entenderes,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Equipa Stremio","STREMIO_TV_REMOTE_INSTRUCTIONS":"Com o intuito de utilizares o trabalho Remoto com o teu Smartphone / Tablet / PC:","STREMIO_TV_WIFI_SETUP":"Configurar o Wi-Fi","STREMIO_TV_WIFI_HEADER_LINE_1":"O Stremio Circle não detetou ligação à Internet.","STREMIO_TV_WIFI_DETAILS_1":"Ligar a:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Utilizar palavra-passe:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Abrir o navegador com o link:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Predefinido","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"Últimos vistos","STREMIO_TV_LIBRARY_SORT_NAME":"Ordem alfabética","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"Por nome descendente","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"Número de vezes que foi visto","STREMIO_TV_LIBRARY_SORT_WATCHED":"Mais vistos","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"Menos vistos","STREMIO_TV_DETAILS_SEASON_NUMBER":"Temporada ${1}","STREMIO_TV_STREAMS_LOADING":"${1} / ${2} addons carregados...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} o addon está ainda a carregar...","STREMIO_TV_PLAYER_SETTINGS":"Definições de reprodução","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Atraso das legendas","STREMIO_TV_PLAYER_AUDIO_DELAY":"Atraso do áudio","STREMIO_TV_PLAYER_VIDEO_SCALING":"Escala do vídeo","STREMIO_TV_PLAYER_CHAPTERS":"Capítulos","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Saltar ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Fonte de streams não suportada","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Falha ao abrir o link externo","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Não ajustável no modo de passagem de áudio","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Reproduzir com o ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Reproduzir com o libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"A mudar para o libVLC player devido a um erro de reprodução","STREMIO_TV_ADDONS_TITLE":"Utiliza o Stremio no teu telemóvel ou PC para instalares ou configurares addons e pressiona em \\"Sincronizar addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Nota: certifica-te de que estás a utilizar a mesma conta do Stremio","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sincronizar addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons sincronizados com sucesso","STREMIO_TV_ADDONS_SYNC_FAILED":"Falha ao sincronizar addons","STREMIO_TV_META_LINK_FAILED":"Falha ao abrir o link meta","STREMIO_TV_CATALOG_LOADING":"O catálogo ainda está a carregar...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Idioma da interface atualizado","STREMIO_TV_SETTINGS_THEME_UPDATED":"Tema atualizado","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Leitor predefinido","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Leitor externo","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Idioma preferido","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Idioma secundário preferido","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Reprodução no modo tunnelled","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possíveis problemas de reprodução nalguns dispositivos","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Alguns formatos de vídeo podem não funcionar","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Correspondência da velocidade de fotogramas","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Desativado","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Apenas velocidade de fotogramas","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Velocidade de fotogramas e resolução","STREMIO_TV_SETTINGS_NO_CACHING":"Sem caching","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Predefinido","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Suave","STREMIO_TV_SETTINGS_PROFILE_FAST":"Rápido","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra rápido","STREMIO_TV_SETTINGS_SERVER_URL":"URL do servidor de streaming","STREMIO_TV_SETTINGS_SERVER_VERSION":"Versão do servidor","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Desconhecido","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Versão do Stremio","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Editar URL do servidor","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Introduz um URL do servidor de streaming","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Mostrar estatísticas enquanto carrega","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"Para leres a Política de privacidade do Stremio, vai a:","STREMIO_TV_SETTINGS_TOS_TEXT":"Para leres os Termos e condições do Stremio, vai a:","STREMIO_TV_NAV_SEARCH":"Pesquisar","STREMIO_TV_NAV_HOME":"Início","STREMIO_TV_NAV_DISCOVER":"Explorar","STREMIO_TV_NAV_LIBRARY":"Biblioteca","STREMIO_TV_NAV_MOVIES":"Filmes","STREMIO_TV_NAV_SERIES":"Séries","STREMIO_TV_NAV_CHANNELS":"Canais","STREMIO_TV_NAV_TV":"TV em direto","STREMIO_TV_NAV_SETTINGS":"Definições","STREMIO_TV_NAV_ADDONS":"Addons","STREMIO_TV_LOGIN_TITLE":"Associar conta","STREMIO_TV_LOGIN_EXPIRES_IN":"Expira em","STREMIO_TV_LOGIN_STEP_ONE":"Lê o código QR acima ou vai para","STREMIO_TV_LOGIN_STEP_TWO":"Inicia sessão na tua conta do Stremio","STREMIO_TV_LOGIN_NEW_LINK":"Pedir um novo link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Código de início de sessão atualizado","STREMIO_TV_SEARCH_PLACEHOLDER":"Escreve alguma coisa","STREMIO_TV_SEARCH_NO_ADDONS":"Não foram pedidos addons para catálogos!","STREMIO_TV_SEARCH_BUTTON":"Pesquisar","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Limpar","STREMIO_TV_SEARCH_HISTORY_TITLE":"Histórico de pesquisas","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Podes pesquisar por títulos, atores, canais e mais...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Limpar histórico de pesquisas","STREMIO_TV_FILTERS_DESCRIPTION":"Escolhe um dos filtros abaixo","STREMIO_TV_STREAMING_SERVER_OFFLINE":"O servidor de streaming está offline. Verifica as definições do servidor.","FILTERS":"Filtros","SETTINGS":"Definições","ACCOUNT":"Conta","LOGOUT":"Terminar sessão","THEMES":"Temas","PLAYBACK":"Reprodução","PLAYBACK_SPEED":"Velocidade de reprodução","AUDIO_TRACKS":"Faixas áudio","UNKNOWN_TRACK_LANG":"Desconhecido","VIDEOS":"Vídeos","SERVER":"Servidor","LINKS":"Links","ABOUT":"Acerca de","INTERFACE":"Interface","ANIMATIONS":"Animações","STATUS":"Estado","LANGUAGE":"Idioma","SIZE":"Tamanho","DELAY":"Atraso","BOLD":"Em negrito","OPACITY":"Opacidade","TEXT_COLOR":"Cor do texto","OUTLINE_COLOR":"Cor do contorno","BACKGROUND_COLOR":"Cor do fundo","BACKGROUND_BLUR":"Desfocagem do fundo","SEEK_TIME_DURATION":"Duração do tempo para avançar / recuar","AUTO_PLAY":"Reproduzir o próximo episódio automaticamente","PLAY_NOW":"Reproduzir agora","MARK_AS_WATCHED":"Marcar como visto","MARK_AS_UNWATCHED":"Marcar como não visto","REWIND_TO_BEGINNING":"Ver do início","CONTINUE_WATCHING":"Continuar a ver","ALL":"Tudo","SECONDS":"segundos","ON":"LIGADO","OFF":"DESLIGADO","RELOAD":"Recarregar","EDIT_URL":"Editar URL","NONE":"Nenhum","EMBEDDED":"Incorporadas","REMOTE_SWITCH_DEVICES":"Trocar dispositivos","REMOTE_VIDEOS":"Vídeos","REMOTE_ADJUST_TIMING":"Ajustar o tempo","REMOTE_ADJUST_SIZE":"Ajustar o tamanho","REMOTE_COULD_NOT_BE_LOADED":"Não foi possível carregar o Web Remote","REMOTE_RETRY":"Tentar novamente","TORRENT_PROFILE_DEFAULT":"Predefinido","TORRENT_PROFILE_SOFT":"Suave","TORRENT_PROFILE_FAST":"Rápido","TORRENT_PROFILE_ULTRA_FAST":"Ultra rápido","FAQ_001_H1":"O que é o stremio?","FAQ_001_P1":"O Stremio é um programa de multimédia centralizado desenhado para video entretenimento com a facilidade de utilização em mente. O Stremio permite-te organizares e veres a tua própria coleção de vídeos, séries, canais e TV em direto.","FAQ_001_P2":"O Stremio cataloga o teu conteúdo, seja através do teu disco local seja através do nosso sistema de addons.","FAQ_001_P3":"Também te notificaremos quando novos episódios/vídeos/filmes em que tenhas interesse sairem para o ar e mostrar-te-á recomendações de filmes.","FAQ_02_H1":"Como o Stremio se compara ao Kodi e Plex?","FAQ_02_P1":"Inspirámo-nos nos dois programas mas temos diferentes objetivos - o Stremio é especificamente voltado para o entretenimento de vídeo. Batalhámos para sermos a solução predefinida nesse sentido, tendo em foco a facilidade de utilização.","FAQ_02_P2":"Stremio nunca será tão customizável e nunca terá tantos recursos como Kodi e Plex. Mas será significativamente mais fácil de utilizar. Simplesmente ${1} obtém-no e comprova ${2} :)","FAQ_03_H1":"Como o Stremio se compara à Netflix?","FAQ_03_P1":"Novamente, a Netflix é uma das nossas inspirações. Trabalharemos arduamente para atingir a experiência de utilização proporcionada pela Netflix e mais uma quantidade de melhorias. No entanto, o mais importante é dar-vos a liberdade de organizarem a vossa própria biblioteca e adicionar novas fontes de conteúdos com o nosso sistema de addons.","FAQ_03_P2":"Isso faz do Stremio infinitamente extensível e assim que o utilizares nunca ficarás limitado ao conteúdo que a Netflix decida licenciar. Por exemplo, através do Stremio podes ver o conteúdo de ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} e mesmo da ${9}Netflix${10}!","FAQ_04_H1":"Como o Stremio se compara ao Flipboard?","FAQ_04_P1":"Raramente recebemos esta questão, excepto quando falamos com pessoas iniciantes :)","FAQ_04_P2":"O Stremio é desenhado como um agregador de conteúdo tal e qual o Flipboard o faz para vídeo. Isto é muito parecido no nosso painel, painel este que te mostrará catálogos e notificações de novos episódios/novos vídeos que sigas, tal e qual o Flipboard.","FAQ_05_H1":"Como o Stremio se compara ao Popcorn Time?","FAQ_05_P1":"O Stremio e o Popcorn Time são semelhantes na interface de utilização porque não há muitas formas de fazer catálogo de vídeo entretenimento, certo? :)","FAQ_05_P2":"Mas enquanto o Popcorn Time tem o foco numa entrega de torrents que provêm de fontes específicas, o Stremio não possui restrições e é meramente um agregador de conteúdo - não está bloqueado a uma fonte de conteúdo específica.","FAQ_05_P3":"Além disso, não fornecemos quaisquer addons de torrent por defeito, pelo que o Stremio não cobre o caso de utilização do Popcorn Time com funcionalidade oficial.","FAQ_05_P4":"Uma outra diferença notável é que o Popcorn Time é completamente de código aberto enquanto o Stremio é ${1} parcialmente de código aberto ${2}.","FAQ_06_H1":"Vocês é que adicionam estes filmes/séries?","FAQ_06_P1":"Não, desculpa :(","FAQ_06_P2":"Como já mencionámos noutras questões, o Stremio não partilha nenhum conteúdo por si próprio - tudo é adicionado diretamente pelo sistema de addons. Caso queiras pedir algum conteúdo, pode utilizar o botão “Reportar” no leitor e assim enviar um e-mail para o autor do addons com que te encontras a utilizar.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Criarão addons para X?","FAQ_08_P1":"É inteiramente possível.","FAQ_08_P2":"Se tens alguma ideia para um addon, escreve para ${1}office@stremio.com${2}, mas por favor, assegura-te de que a ideia desse addon não infringirá nenhum direito de propriedade intelectual nem os Termos de utilização.","FAQ_08_P3":"De momento, os próximos movimentos no nosso projeto são addons para FandangoNOW, vídeo on demand no Filmon.tv e no Crunchyroll.","FAQ_09_H1":"O Stremio utiliza o BitTorrent?","FAQ_09_P1":"Sim. O Stremio suporta o BitTorrent como um protocolo streaming. Podes utilizá-lo com o addon torrent ou por arrastar e soltar um ficheiro .torrent dentro do Stremio ou até mesmo colando um magnet link dentro do campo de pesquisa.","FAQ_09_P2":"Por favor, nota que o único addon oficial que utiliza o BitTorrent é o ${1}Vodo${2}, ao qual fornece produção independente, todos com permissão para serem distribuídos com o BitTorrent.","FAQ_09_P3":"Não suportamos a utilização de qualquer addon de terceiros que possa viabilizar o infringimento de leis de direitos.","FAQ_10_H1":"O que posso ver no Stremio com os addons oficiais?","FAQ_10_P1":"Por predefinição, podes ver conteúdos do Filmon.tv, YouTube e Vodo no próprio Stremio, com o seu leitor incorporado. Além disso, temos um addon para o Twitch.tv e alguns outros.","FAQ_10_P2":"Esta combinação fornece uma seleção de:","FAQ_10_L1":"Canais de TV populares, fornecido por Filmon.tv - por exemplo E4, BBC, Bollyworld TV","FAQ_10_L2":"Tudo do YouTube - por exemplo BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Filmes indepententes com Vodo","FAQ_10_L4":"Transmissões de jogos online com a Twitch.tv","FAQ_10_P3":"Adicionalmente, há muitas fontes de conteúdo fornecidas com Guidebox e addons Netflix, ao qual <b>não</b> reproduzem inteiramente dentro do Stremio, mas pode redirecionar para o dado serviço. Por exemplo, o addon Guidebox dá-te uma seleção de filmes que podes fazer stream gratuitamente dentro dos Estados Unidos através de serviços como o TubiTV e o Crackle.","FAQ_11_H1":"O Stremio não instala, o que devo fazer?","FAQ_11_P1":"Se utilizas Windows, tenta ${1}este instalador alternativo${2}.","FAQ_11_P2":"Se utilizas Mac OS X, por favor, tem em conta que não suportamos versões inferiores ao OS X Mavericks (10.9).","FAQ_11_P3":"Caso estejas a utilizar Linux, tem em conta que neste momento apenas damos suporte para a versão de 64 bits (x64).","FAQ_11_P4":"Se não ainda não conseguiste resolver o teu problema, por favor, envia-nos uma mensagem no ${1}Grupo do Facebook${2}.","FAQ_12_H1":"Porque é que o meu antivírus está a notificar-me? O Stremio é seguro?","FAQ_12_P1":"Asseguramos-te de que o Stremio é ${1}100% limpo${2}.","FAQ_12_P2":"O teu antivírus está a notificar-te, porque incluimos publicidade no nosso instalador e isso faz com que o Stremio seja classificado como um adware.","FAQ_12_P3":"Se não estás seguro, podes utilizar o nosso ${1}instalador alternativo${2}.","FAQ_13_H1":"Como posso fazer um addon?","FAQ_13_P1":"Para iniciantes, recomendados que leiam o nosso ${1}módulo de sistema de addons${2} no GitHub.","FAQ_13_P2":"Todavia, podes seguir o ${1}Tutorial do Olá Mundo${2}.","FAQ_13_P3":"Se não tens nenhum conhecimento em programação, por favor, publica a tua ideia na ${1}comunidade Reddit${2} e partilha-a com ${3}office@stremio.com${4}.","FAQ_14_H1":"Como os addons são publicados?","FAQ_14_P1":"Quando crias um addon e um hospedor, colocas um campo <b>endpoint</b> no teu manifesto, ao qual aponta para um endereço de addon ativo. O addon ficará automaticamente publicado no nosso ${1}Catálogo de addons{2}.","FAQ_14_P2":"Esta situação acontece porque parte do servidor do módulo de addons do Stremio, que faz automaticamente uma chamada para a nossa API para publicar o addon. Quando a nossa API o valida <b>endpoint</b> como um addon válido, ficará disponível no nosso catálogo.","FAQ_15_H1":"Posso executar o Stremio no navegador?","FAQ_15_P1":"De momento não, mas em breve!","FAQ_15_P2":"Se estás curioso para ver uma versão Alpha, podes aceder aqui: ${1}alpha4.strem.io${2}. Tem em conta que o streaming está inativo. Damos suporte para Chrome, Firefox, Opera e Edge.","FAQ_16_H1":"A transmissão para a TV não funciona / legendas não funcionam","FAQ_16_P1":"A transmissão para a TV utiliza a tecnologia DLNA que é muito inconsistente entre modelos de fabricantes diferentes. Por esta razão, nós não temos a habilidade de testar cada caso então estamos longe da perfeição. Continuamos a trabalhar no sentido de melhorar cada vez mais a aplicação mas não podemos dar uma estimativa de tempo de quando a tecnologia DLNA funcionará corretamente na tua TV.","FAQ_16_P2":"Se ainda não vês a tua TV no menu de transmissão, por favor, tenta desativar a tua conexão de rede e ativa-a novamente (no Windows, clica com o botão direito em Rede e clica em Ativar/Desativar), reinicia também o teu rooter, TV e PC.","FAQ_16_P3":"Se estás ainda a encontrar problemas, podes ajudar-nos ao enviares a informação do teu modelo de TV e fabricante para ${1}office@stremio.com${2}.","FAQ_16_P4":"Entretanto, recomendamos o Chromecast, ao qual suportamos muito bem ou até simplesmente conectando a tua TV ao teu PC com um cabo HDMI.","FAQ_17_H1":"O Stremio bloqueia/falha, o que posso fazer?","FAQ_17_P1":"Primeiro de tudo, se estás a utilizar o Windows 7 com o antivírus AVG: temos problemas com essa combinação. O problema é o próprio AVG e não há uma solução definitiva para corrigirmos isso. Infelizmente, exceções ou desativar o antivírus não funciona. A única forma é trocares o teu antivírus.","FAQ_17_P2":"Se isso não é o problema, mas usa Windows, por favor atualize seu o sistema, incluíndo os drivers da GPU e tente novamente.","FAQ_17_P3":"Se o teu problema continua sem solução ou utilizas Mac ou Linux, por favor escreve-nos reportando em detalhe o problema no ${1}nosso grupo do Facebook${2}.","FAQ_18_H1":"Como posso fazer um addon?","FAQ_18_P1":"Para iniciantes recomendamos que vejas o nosso ${1}módulo de sistema de addons{2} no GitHub.","FAQ_18_P2":"No entanto, podes guiar-te pelo nosso ${1}tutorial do Olá Mundo!${2}.","FAQ_18_P3":"Se não tens nenhuma habilidade em programação, por favor, publica a tua ideia na ${1}comunidade do Reddit${2} e contacta-nos com a tua ideia de addon para ${3}office@stremio.com${4}.","FAQ_19_H1":"Porque é que o Stremio está a ocupar espaço em disco?","FAQ_19_P1":"O Stremio tem um <b>cache local</b> para temporariamente deixar os ficheiros de vídeo descarregados.","FAQ_19_P2":"Esta situação tem dois benefícios: primeiro, permite ao Stremio pré-carregar o vídeo para garantir uma transmissão suave. Segundo, isto deixa os vídeos na cache local para que possas continuar a ver offline.","FAQ_19_P3":"Quanto depende o Stremio da configuração do <b>Cache</b> no painel das Definições. O Stremio pode manter uma quantidade (exemplo 2GB) no teu disco, a menos que o video descarregado seja maior que isso e nesse caso pode necessitar de mais espaço para mantê-lo enquanto o descarrega.","FAQ_20_H1":"Onde está a pasta da cache?","FAQ_20_P1":"No Windows, a cache do Stremio fica no caminho que selecionaste nas definições (exemplo \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"No MacOS, fica em \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"No Linux, fica em \\"~/.stremio/stremio-cache\\" ou \\"~/stremio-cache\\"","FAQ_21_H1":"Recebi a mensagem de erro \\"Servidor de streming não encontrado\\", o que posso fazer?","FAQ_21_P1":"Se recebeste esta mensagem implica uma das possibilidades:","FAQ_21_P2":"1) Estás a tentar utilizar um addon suportado pelo código do YouTube/BitTorrent através da nossa ${1}versão web${2}. Nesse caso, deves instalar a nossa versão para desktop através do ${3}nosso site${4}.","FAQ_21_P3":"2) Há algo de errado com a instalação do Stremio. Neste caso, tenta reinstalar a nossa versão mais recente através ${1}do site${2}. Se isto não ajudar, tenta desativar os programas de antivírus e firewal, reinicia o teu PC e tenta novamente. Se isto não funcionar, por favor, entra em contacto pelo ${3}nosso grupo do Facebook${4}.","FAQ_22_H1":"Eu não posso ver/utilizar a maioria dos addons no iOS","FAQ_22_P1":"Devido a restrições dos Termos e condições da loja da Apple, temos restringido apenas a aplicação iOS de um grupo particular de addons.","FAQ_22_P2":"Mas fica atento - existirão mais addons para iOS no futuro e poderemos também adicionar uma integração que permitirá a utilização de todos os addons do Stremio graças à conexão da aplicação iOS com o servidor de Streaming do Stremio."}')},29894:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Film","TYPE_series":"Serial","TYPE_tv":"Canal TV","TYPE_channel":"Canal","TYPE_other":"Altele","TYPE_movie_PL":"Filme","TYPE_series_PL":"Seriale","TYPE_tv_PL":"Canale TV","TYPE_channel_PL":"Canale","TYPE_other_PL":"Altele","TYPE_ALL":"Toate","TYPE":"Type","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"Video","BACK":"Înapoi","MORE":"Mai mult","DONE":"Gata","COPY":"Copiere","SUCCESS":"Succes","ERROR":"Eroare","SETTINGS_CASTING_MODE_PICKER":"Mod de redare pe dispozitiv extern","CASTING_MODE_HLSV2":"Implicit","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Fără transcodare","Discover":"Descoperă","Board":"Tablou","Library":"Bibliotecă","My Library":"Biblioteca Mea","Calendar":"Calendar","NOTIFICATION_ONLINE":"Ești online acum","NOTIFICATION_OFFLINE":"Ești în modul offline","INTERNET_CONNECTION":"Conexiune la rețea","STORAGE_FULL_TITLE":"Atenție: Spațiul de stocare este plin!","STORAGE_FULL_TEXT":"Stremio nu va putea să-ți salveze setările, preferințele sau informațiile de autentificare. Poți să consideri repornirea sau reinstalarea Stremio.","SEARCH":"căutare","SEARCH_NO_RESULTS":"Nu au fost găsite rezultate","SEARCH_EXPLANATION_CONTENT":"Caută filme, seriale, clipuri YouTube și canale TV","SEARCH_EXPLANATION_PEOPLE":"Caută actori, regizori și scenariști","SEARCH_PASTE_LINKS":"Lipește linkuri HTTP și Magnet","SEARCH_OR_PASTE_LINK":"Caută sau lipește linkul","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"Adaugă în Bibliotecă","REMOVE_FROM_LIB":"Șterge din Bibliotecă","ADDED_TO_LIB":"Adăugat în Bibliotecă","REMOVED_FROM_LIB":"Șters din Bibliotecă","TRAILER":"Trailer","WATCH_TRAILER":"Vizualizează Trailerul","WATCH_NOW":"Vizionează Acum","SHOW":"Arată","SHOW_MOVIE":"Arată Filmul","WATCH_RANDOM":"Vizionează Aleatoriu","IMDB_RATING":"Rating IMDb","YEAR":"An","DIRECTOR":"Regizor","WRITER":"Scenarist","LEAD_ACTORS":"Actorii Principali","CAST":"Distribuție","CREW":"Echipă","SHOW_MORE_CAST":"Arată mai mult »","AIRED":"A fost difuzat","SEASONS":"Sezoane","GENRE":"Gen","GENRE_ALL":"All genres","CATALOG":"Catalog","SUMMARY":"Rezumat","SHOW_MORE":"Arată Mai Mult","SIMILAR":"Asemănător","UPCOMING":"Viitoare","ENDED":"S-a încheiat","DURATION":"Durată","FEATURED":"Recomandat","METADATA":"Metadate","CATEGORY":"categorie","LINKS_GENRES":"Genuri","LINKS_CAST":"Distribuție","LINKS_DIRECTORS":"Regizori","SEARCH_VIDEOS":"caută videoclipuri","SEARCH_PLACEHOLDER":"caută sau lipește URL-ul","ADDON":"extensie","ADDONS":"Extensii","OFFICIAL":"oficial","ADDONS_OFFICIAL":"Extensii Oficiale Stremio","ADDONS_POPULAR":"Populare în zona ta","ADDON_FREE":"gratuit","ADDON_PEERED":"partajat","ADDON_SUBSCRIPTION":"abonament","ADDON_STREAM_GEORESTRICTED":"indisponibil în zona ta","ADDON_STREAM_OFFLINECACHE":"Cache Offline","ADDON_STREAM_LOCALFILE":"Fișier Local","SHARE_ADDON":"Distribuie extensia","AVAILABLE_STREAMS":"Stream-uri disponibile","NO_STREAM":"Nu au fost găsite stream-uri","ALL_ADDONS":"Toate","INSTALL_MORE_ADDONS":"Pentru mai multe stream-uri, instalează mai multe extensii","STREAM_NOT_SUPPORTED":"Stream-ul selectat nu este suportat pe această platformă.","ADDON_CATALOGUE":"Arată toate extensiile »","ADDON_CATALOGUE_MORE":"Instalează extensii","REPO_ADDED":"Repozitoriu adăugat","ADDON_REPO_EXIST_ERR":"Această colecție de extensii există deja","ADDON_REPO_ERR":"A apărut o eroare la adăugarea colecției","ADDON_ADD_ERR":"A apărut o eroare la adăugarea extensiei","ERR_ADDON_PROTECTED":"Nu poți dezinstala această extensie, este protejată","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Ceva a mers greșit - autentificarea se poate să fi eșuat","ERR_NOT_COLLECTION_URL":"Nu este un URL de colecție","ERR_NOT_ADDON_URL":"Nu este un URL valid de extensie","ERR_DETECTFROMURL":"Nu se poate găsi extensia/colecția din acest URL","ADDON_DUPLICATE_WARNING":"Atenție: extensie duplicată","ADDON_COLLECTION_SET_FAILED":"Sincronizarea extensiilor instalate cu contul tău a eșuat","SETTINGS_DATA_EXPORT":"Exportă datele utilizatorului","ADDON_PULL_FAILED":"Sincronizarea extensiilor instalate din contul tău a eșuat","REFRESH_ON_CLICK":"Click pentru a reîncerca","STILL_IN_THEATER":"Film încă în cinematografe","WATCH_IN_CINEMA":"Vizionează-l în cinematograful local","IN_THEATER":"În cinematograf","GET_TICKETS":"Obține bilete","UPCOMING_EPISODE":"Episod viitor","UPCOMING_EPISODE_MESSAGE":"Acest episod va fi difuzat în data de","MISSING_DATE_EPISODE":"Data episodului lipsește","MISSING_DATE_EPISODE_MESSAGE":"Acest episod poate încă să nu fi fost difuzat","CHANNEL_NOT_SCRAPED":"Acest canal nu a fost încă explorat.<br>Vă rugăm să reveniți în câteva minute.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Adaugă-l în biblioteca ta pentru a fi notificat când devine disponibil.","GET_NOTIFIED_WHEN_AVAILABLE":"Veți fi notificat(ă) când devine disponibil.","WARNING_STREAMING_SERVER":"Atenție: serverul local de streaming nu a fost găsit. Redarea din fișiere locale, YouTube și BitTorrent nu va fi disponibilă.","WARNING_STREAMING_SERVER_DISMISS":"Ignoră","WARNING_STREAMING_SERVER_LATER":"Mai târziu","DECODER_WARNING":"Atenție: acest video s-ar putea să nu fie suportat de hardware-ul tău. Ține minte, redarea ar putea fi lentă.","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"Ops, eroare la player","PLAYER_ERROR_LOOKSLIKE":"Se pare că","PLAYER_ORIENTATION":"Orientare player","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Blocat","PLAYER_ORIENTATION_SENSOR_SHORT":"Senzor","PLAYER_ORIENTATION_LANDSCAPE":"Orientare player blocată la peisaj","PLAYER_ORIENTATION_SENSOR":"Orientare player automată (senzor)","PLAYER_PLAYBACK_SPEED":"Viteză redare","PLAYER_PLAYBACK_ERROR":"Eroare de redare, te rugăm să reîncerci","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Eroare necunoscută","PLAYER_PLAYBACK_ERROR_DEFAULT":"Scuze, acest video nu poate fi redat de {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Limbi subtitrări","PLAYER_SUBTITLES_VARIANTS":"Variante subtitrări","PLAYER_SUBTITLES_SETTINGS":"Setări subtitrări","PLAYER_SUBTITLES_DISABLED":"Subtitrările sunt dezactivate","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Poziție verticală","PLAYER_SUBTITLES_LOADED":"Subtitrări încărcate","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Subtitrări încorporate încărcate","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Subtitrări exclusive încărcate","PLAYER_SUBTITLES_LOADED_ORIGIN":"Subtitrări de la {{origin}} încărcate","PLAYER_PLAY":"Redare","PLAYER_PAUSE":"Pauză","PLAYER_NEXT_VIDEO":"Următorul videoclip","PLAYER_MUTE":"Dezactivare sunet","PLAYER_UNMUTE":"Activare sunet","PLAYER_OPEN_IN_EXTERNAL":"Deschide în player extern","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Redă în {{device}}","PLAYER_LIVE":"În direct","PLAYER_NEXT_VIDEO_TITLE":"Următorul pe","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Ignoră","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Urmărește acum","PLAYER_COPY_STREAM_SUCCESS":"Linkul de stream a fost copiat în clipboard","PLAYER_COPY_STREAM_ERROR":"Nu s-a putut copia linkul de stream","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","STREAMING_FROM":"streaming de la","CASTING_TO":"Redarea pe","NETWORK_STATUS":"Stare rețea","STREAM_SPEED":"Viteză stream:","STREAM_BUFFERED":"Bufferizat:","PEERS_INFO":"Informații despre parteneri","PEERS_ACTIVE":"Activi:","PEERS_CONNECTED":"Conectați:","PEERS_WAITING":"În așteptare:","TRANSCODING_WARNING":"Atenție: video-ul este transcodat.","STREAM_LOADING":"se încarcă...","PLAYING_LOCAL":"se redă din fișier local","PLAYING_CACHE":"se redă din cache","WRONG_SUBS":"Subtitrări greșite?","ERR_SUBS_LOADING_TITLE":"Eroare la încărcarea subtitrărilor","ERR_SUBS_LOADING":"Eroare la încărcarea subtitrărilor: aceasta poate fi o problemă cu extensia pe care o folosiți sau cu conexiunea la rețea","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Următoarele extensii de subtitrări au eșuat","ERR_CASTING_UPDATE_TITLE":"Nu s-a putut actualiza informațiile despre dispozitivul de redare: serverul de streaming poate fi offline","CHOOSE_DEVICE":"Alege un dispozitiv pentru a urmări","NO_CAST_DEVICES":"Nu sunt dispozitive de redare disponibile.","NO_SETTINGS":"Nu sunt setări disponibile.","PHONE_TABLET":"Telefon / Tabletă","SUBTITLES":"Subtitrări","SUBTITLES_CHANGE":"Schimbă subtitrările pentru ","SUBTITLES_CHANGE_NONE":"Nu există alte subtitrări pentru această limbă, ne pare rău.","SUBTITLES_CHANGE_ACIVE":"În prezent subtitrarea &#35;{{subtitlesDialog.activeIdx + 1}} este activată. Dă clic pe „Continuă” pentru a activa subtitrarea &#35;{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Sau, în mod alternativ,","SUBTITLES_ADJUST_DELAY":"Ajustează întârzierea subtitrărilor:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Sau folosește tastele <span>G</span> / <span>H</span> în timpul redării pentru a ajusta.","SUBTITLES_ADJUST_DELAY_TIP":"SFAT: poți folosi tastele <span>G</span> / <span>H</span> în timpul redării pentru a ajusta.","SUBTITLES_DELAY":"Întârziere subtitrări:","SUBTITLES_LOADING":"Se încarcă subtitrările...","SUBTITLES_UNAVAILABLE":"Nu sunt disponibile subtitrări externe","SUBTITLES_DISABLED":"Dezactivate","EXTERNAL_PLAYER_DISABLED":"Dezactivat","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Permite selectarea","EXTERNAL_PLAYER_HINT":"Sugestie: există o setare pentru a permite deschiderea întotdeauna cu playerul extern","DONT_SHOW_AGAIN":"Nu mai arăta","SERVICE_INSTALL":"Instalează","AUDIO":"Audio","DEFAULT_LANGUAGE":"Limbă implicită","DEFAULT_SECONDARY_LANGUAGE":"A doua limbă implicită","SEASON":"Sezon","EPISODE":"Episod","EPISODE_ABBREVIATION":"EP","SPECIAL":"Special","SORT":"sortează","SORT_BY":"Sortează după","FILTER":"filtrează","SORT_TRENDING":"trending","SORT_RECENT":"recent","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"evaluare","SORT_WATCHED":"văzute","SORT_YEAR":"an","SELECT_TYPE":"Selectează tipul","SELECT_SORT":"Selectează sortarea","SELECT_CATALOG":"Selectează catalogul","SELECT_GENRE":"Selectează genul","SORT_LASTWATCHED":"După ultima vizionare","SORT_NAME":"După nume","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"După numărul de vizionări","SORT_NOTWATCHED":"not watched","New for You":"Nou pentru tine","New Episodes":"Episoade noi","New Videos":"Clipuri noi","Recommendations":"Recomandări","LIBRARY_RESUME":"Continuă","LIBRARY_PLAY":"Redă","LIBRARY_DETAILS":"Detalii","LIBRARY_RESUME_DISMISS":"Ignoră","LIBRARY_CLEAR_PROGRESS":"Șterge progresul","LIBRARY_REMOVE":"Elimină","LIBRARY_NOT_LOGGED_IN":"Biblioteca este disponibilă doar pentru utilizatorii autentificați","CALENDAR_NOT_LOGGED_IN":"Calendarul este disponibil doar pentru utilizatorii autentificați","NOT_LOGGED_IN_CLOUD":"Accesează filmele și serialele tale favorite în orice moment și oriunde","NOT_LOGGED_IN_RECOMMENDATIONS":"Recomandări adaptate istoricului tău de vizionare","NOT_LOGGED_IN_NOTIFICATIONS":"Nu pierde niciodată un episod nou","NOT_LOGGED_IN_CALENDAR":"Stabilește-ți propriul calendar personal de vizionare","DISCOVER_FEATURED":"Recomandate","DISCOVER_TOP":"Top","DISCOVER_OSCAR":"Câștigători ai premiului Oscar","DISCOVER_WARNING_TITLE":"Oops!","DISCOVER_EMPTY_CATALOG":"Această extensie a returnat conținut gol.","DISCOVER_ADULT_WARNING":"Conținutul este vizibil doar pentru adulți. Ai peste 18 ani?","DISCOVER_NOADDON_WARNING":"Atenție: nicio extensie Stremio activă pentru acest tip. Se afișează elemente salvate, nimic nu se va actualiza aici.","DISCOVER_LOAD_ERR":"Conținutul nu s-a încărcat, a apărut o eroare.","DISCOVER_ADDON_UNINSTALLED":"Acest conținut nu mai este disponibil, este posibil să fi dezinstalat extensia.","UNINSTALL_THIS_ADDON":"Dezinstalează această extensie","ERR_ADDON_NOT_INSTALLED":"Această extensie nu este instalată. Să o instalezi acum?","DETAIL_RECEIVE_NOTIF_SERIES":"Primi notificări pentru episoade noi","DETAIL_RECEIVE_NOTIF_VIDEOS":"Primi notificări pentru videoclipuri noi","SIDEBAR_SHOW_STREAMS":"Afișează fluxurile","RELAUNCH":"Reporniți acum!","UPGRADE":"Este disponibilă o nouă versiune! Actualizați la cea mai recentă versiune Stremio","RELOAD_UI":"Reîncărcați interfața de utilizator","MANUAL_UPDATE_TITLE":"Actualizați versiunea Stremio","MANUAL_UPDATE_LINE1":"Rulați o versiune învechită a Stremio, ceea ce nu este deloc recomandat.","MANUAL_UPDATE_LINE2":"Vă rugăm să actualizați cât mai curând posibil.","BUTTON_UPDATE_LATTER":"Nu acum","BUTTON_UPDATE_NOW":"Actualizați","ANONYMOUS_USER":"Utilizator anonim","DONT_HAVE_ACC":"Nu aveți un cont?","HAVE_ACC":"Aveți deja un cont?","PASSWORD":"Parolă","PASSWORD_CONFIRM":"Confirmați parola","EMAIL":"E-mail","FB_LOGIN":"Continuați cu Facebook","FB_NOTHINGSHARED":"Nu se distribuie nimic fără permisiunea dvs.","FB_NOPOST":"Nu vom posta nimic în numele dvs.","OR":"sau","I_ACCEPT":"Accept ","I_ACCEPT_BY_CLICKING":"Prin apăsarea butonului de mai sus, declar că accept ","TOS":"Termenii și condițiile","MUST_ACCEPT_TERMS":"Trebuie să acceptați termenii","PASSWORDS_NOMATCH":"Parolele nu se potrivesc","SIGN_UP":"Înregistrare","SIGN_UP_EMAIL":"Înregistrare cu e-mailul","CLICK_TO_SIGN_UP":"Apăsați aici pentru a vă înregistra.","LOG_IN":"Autentificare","LOG_OUT":"Deconectare","EXIT_FULLSCREEN":"Ieșiți din modul ecran complet","ENTER_FULLSCREEN":"Intrați în modul ecran complet","PLAY_URL_MAGNET_LINK":"Redați URL-ul/Linkul Magnet","HELP_FEEDBACK":"Ajutor și Feedback","TERMS_OF_SERVICE":"Termeni și Condiții","PRIVACY_POLICY":"Politica de Confidențialitate","ABOUT_STREMIO":"Despre Stremio","USER_PANEL":"Panou de Utilizator","LOGIN_LABEL":"Autentificare","GUEST_LOGIN":"Autentificare pentru oaspeți","GUEST_LOGIN_NOTICE":"Autentificarea pentru oaspeți nu este recomandată. Folosind o autentificare regulată, Stremio poate sincroniza Biblioteca dvs., poate primi notificări pentru serii/canale favorite. Sunteți sigur că doriți să continuați?","GUEST_LOGIN_NOTICE_2":"Autentificarea pentru oaspeți nu este recomandată - nu veți avea Biblioteca sincronizată și notificările din Panoul de noutăți, care sunt caracteristici vitale ale Stremio. Sunteți sigur că doriți să continuați?","CLICK_HERE":"apăsați aici","WRONG_PASSWORD":"E-mail sau parolă incorectă. În cazul în care ați uitat parola, ","SET_A_PASS":"setați o parolă","RESET_PASSWORD":"Resetați parola","FORGOT_PASSWORD":"Ați uitat parola?","EMAIL_USED_WITH_FB":"Acest e-mail a fost folosit pentru autentificarea cu Facebook.","INVALID_EMAIL":"Vă rugăm să introduceți o adresă de e-mail validă","INVALID_PASSWORD":"Vă rugăm să introduceți o parolă validă","CONN_ERR":"Eroare de conexiune - vă rugăm să încercați din nou mai târziu.\\n\\nDacă problema persistă, dezactivați firewall-urile/programul antivirus (în special Bitdefender).","IMPORT_FROM_GUEST":"Importați Biblioteca din contul de oaspeți","RECEIVE_UPDATES_EMAIL":"Primirea actualizărilor prin e-mail de la Stremio","LOGIN_FAILED":"Autentificare eșuată.","SIGNUP_FAILED":"Înregistrare eșuată.","SEARCH_FAILED":"Căutarea a eșuat","EMAIL_USED":"Acest e-mail este deja în uz.","WAITING_FB_LOGIN":"Se autentifică cu Facebook...","EXTERNAL_PLAYER_TITLE":"Redați în playerul extern","EXTERNAL_REMEMBER_PLAYER":"Doriți să vă amintiți alegerea dvs.?","EXTERNAL_ALWAYS_PLAY":"Da","EXTERNAL_ONLY_ONCE":"Nu","BEST_FIT":"Potrivire perfectă","FIT_SCREEN":"Potrivire ecran","FILL":"Umplere","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"Spuneți-ne despre ce vă place","INTRO_TASTE_LONG":"Spuneți-ne despre ce ați dori să urmăriți","INTRO_TASTE_PICK":"Alegeți {{interestsRemaining}} interese","INTRO_TASTE_PICK_MORE":"Alegeți încă {{interestsRemaining}} interese","INTRO_TASTE_HELP_US":"Ajutați-ne să vă cunoaștem mai bine.","INTRO_TASTE_CHOOSE_THESE":"Alegeți din acestea:","INTRO_TASTE_CHOOSE_MIN":"Alegeți cel puțin 3 categorii","INTRO_TASTE_CHOOSE_MIN_ERR":"Trebuie să alegeți cel puțin 3 categorii!","INTRO_TASTE_LIFESTYLE":"Stil de viață","INTRO_TASTE_SPORTS":"Sporturi","INTRO_TASTE_FOOD_HEALTH":"Mâncare și Sănătate","INTRO_TASTE_BEAUTY_FASHION":"Frumusețe și Modă","INTRO_TASTE_NEWS":"Știri","INTRO_TASTE_GAMING":"Jocuri video","INTRO_TASTE_SCIENCE_EDU":"Știință și Educație","INTRO_TASTE_MUSIC":"Muzică","INTRO_TASTE_TRAVEL":"Călătorii","INTRO_TASTE_LATE_NIGHT":"Emisiuni târzii","INTRO_TASTE_REALITY":"Realitate","INTRO_TASTE_COMEDY":"Comedie","INTRO_TASTE_DIY":"Fă-ți singur","INTRO_TASTE_TECH":"Tehnologie","INTRO_TASTE_CINEMA":"Cinematografie","ADDON_NOT_SUPPORTED":"Addon-ul selectat nu este suportat pe această platformă.","ADDON_DISCLAIMER":"Utilizarea addon-urilor de la terți va fi întotdeauna sub responsabilitatea dvs. și sub supunerea legii din jurisdicția în care vă aflați.","ADDON_ACTIVATE":"Doriți să activați acest addon?","ADDON_REPO_ADD":"URL colecție addon-uri","ADDON_ADD":"Adăugare","INSTALL_ADDON":"Install addon","ADD_ADDON":"Adăugați addon","ADD_ADDON_DESCRIPTION":"Puteți adăuga un addon prin intermediul unui link extern, care va apărea sub addon-urile instalate.","PASTE_ADDON_URL":"Lipiți URL-ul addon-ului","WHATS_NEW":"Ce este nou","BUTTON_CONTINUE":"Continuare","BUTTON_ACTIVATE":"Activează","BUTTON_ACTIVATED":"Activat","BUTTON_CANCEL":"Anulare","BUTTON_SUBMIT":"Trimite","BUTTON_DISMISS_ALL":"Respingeți tot","BUTTON_VIEW_ALL":"vezi toate","BUTTON_SEE_ALL":"Vezi toate","BUTTON_COLOR_TRANSPARENT":"Transparent","OPEN_IN_BROWSER":"Deschideți în browser","LIB_EMPTY":"Biblioteca dvs. pare goală. Aflați cât de utilă poate fi :) ","HOW_START":"Iată cum puteți începe:","LIB_EMPTY_CAL":"Calendarul dvs. afișează serii din Biblioteca dvs.","HOW_START_CAL":"Iată cum puteți adăuga serii:","LIB_EMPTY_BOARD":"Bordul afișează notificări și recomandări legate de Biblioteca dvs.","HOW_START_BOARD_WAIT":"Vă rugăm să adăugați câteva serii sau canale la Biblioteca dvs. și acordați-ne câteva minute pentru procesare :)","HOW_START_BOARD":"Iată cum puteți adăuga serii și filme:","IMPORT_FB":"Importați lucrurile pe care le iubiți de pe <span>Facebook</span>","IMPORT_TRAKT":"Importați biblioteca media de pe <span>Trakt</span>","IMPORT_DISCOVER":"Găsiți lucruri interesante de pe <span>Discover</span>","IMPORT_DISK":"Importați filme sau serii pe care le aveți pe <span>discul local</span>","PLEASE_CREATE_ACC":"Vă rugăm să <u>creați un cont</u> pentru a activa sincronizarea Bibliotecii și Bordul.","IMPORT_DISCOVER_SIGNUP":"Înregistrați-vă și găsiți lucruri interesante de pe <span>Discover</span>","IMPORT_DISK_SIGNUP":"Înregistrați-vă și importați filme sau serii pe care le aveți pe <span>discul local</span>","LIB_EMPTY_CLOUD":"Bibliotecă cloud","LIB_EMPTY_CLOUD_DESC":"Bibliotecă personală în cloud sincronizată pe toate dispozitivele","LIB_EMPTY_EARLY":"Primii pași","LIB_EMPTY_EARLY_DESC":"Primirea notificărilor pentru episoade noi","LIB_EMPTY_PERSONAL":"Personal","LIB_EMPTY_PERSONAL_DESC":"Obțineți recomandări personale","LIB_EMPTY_CALENDAR_DESC":"Planificați-vă calendarul personal de vizionare","LIB_EMPTY_ALL":"Înregistrați-vă pentru a obține toate acestea:","LIB_EMPTY_BEST":"Înregistrați-vă pentru a obține cel mai bun din Stremio","LIB_EMPTY_OTHER":"Înregistrați-vă pentru a activa Calendarul și alte caracteristici interesante","CALENDAR_ADDED":"Calendarul Stremio a fost adăugat la calendarul implicit al desktopului.","CALENDAR_ADDED_MSG":"Dacă acest lucru nu funcționează, vă rugăm să adăugați manual acest URL la aplicația dvs. de calendar","TRAKT_EXPIRED":"Autentificarea Trakt a expirat, vă rugăm să mergeți la Setări și să vă autentificați din nou","TRAKT_REQUIRES_LOGIN":"Eroare Trakt","TRAKT_REQUIRES_LOGIN_MSG":"Trebuie să vă autentificați","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","SETTINGS_LABEL":"Setări","SETTINGS_NAV_GENERAL":"Generale","SETTINGS_NAV_PLAYER":"Player","SETTINGS_NAV_STREAMING":"Streaming","SETTINGS_NAV_SHORTCUTS":"Comenzi rapide","SETTINGS_SHORTCUT_RELOAD_APP":"Reîncarcă aplicația","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Deschideți Setările","SETTINGS_SHORTCUT_SWITCH_TABS":"Comutați între file","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Ciclați prin file înainte","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Ciclați prin file înapoi","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigați între meniuri","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Accesați căutarea","SETTINGS_SHORTCUT_EXIT_BACK":"Ieșiți / Reveniți înapoi","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Comutați meniul de viteză de redare","SETTINGS_SHORTCUT_MENU_VIDEOS":"Comutați meniul de videoclipuri","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Comutați meniul de subtitrări","SETTINGS_SHORTCUT_MENU_INFO":"Comutați meniul de informații","SETTINGS_SHORTCUT_FULLSCREEN":"Comutați la modul ecran complet","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Afișați controalele","SETTINGS_SHORTCUT_PLAY_PAUSE":"Redați / Pauză","SETTINGS_SHORTCUT_VOLUME_UP":"Creșteți volumul","SETTINGS_SHORTCUT_VOLUME_DOWN":"Scădeați volumul","SETTINGS_SHORTCUT_SEEK_NEXT":"Salt la următorul","SETTINGS_SHORTCUT_SEEK_PREV":"Salt la anteriorul","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Salt înapoi","SETTINGS_SHORTCUT_SEEK_FORWARD":"Salt înainte","SETTINGS_SHORTCUT_PLAY_NEXT":"Redați următorul","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Măriți dimensiunea subtitrărilor","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Micsorați dimensiunea subtitrărilor","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Creșteți întârzierea subtitrărilor","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Scădeați întârzierea subtitrărilor","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Comutați bara laterală","SETTINGS_SHORTCUT_OR":"sau","SETTINGS_SHORTCUT_TO":"la","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Autentificare","SETTINGS_FACEBOOK_IMPORT":"Importați","SETTINGS_CALENDAR_SUBSCRIBE":"Abonați-vă","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Limbă interfață","SETTINGS_LAUNCH_STARTUP":"Lansați la pornire","SETTINGS_VLC_DEFAULT":"Redați cu VLC","SETTINGS_UI_LANGUAGE":"Limbă UI","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Tasta Esc iese din modul ecran complet","SETTINGS_GAMEPAD":"Activați suportul pentru gamepad","SETTINGS_CLOSE_WINDOW":"Închideți aplicația la închiderea ferestrei","SETTINGS_SUBTITLES_LANGUAGE":"Limbă implicită pentru subtitrări","SETTINGS_SUBTITLES_SIZE":"Dimensiune implicită a subtitrărilor","SETTINGS_SUBTITLES_BACKGROUND":"Fundal subtitrări","SETTINGS_SUBTITLES_COLOR":"Culoare subtitrări","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Culoare contur subtitrări","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Culoare fundal subtitrări","SETTINGS_SEEK_KEY":"Taste sărire timp","SETTINGS_SEEK_KEY_SHIFT":"Taste sărire timp când tasta Shift este apăsată","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Durata de derulare rapidă înainte/înapoi","SETTINGS_BINGE":"Redare automată episod următor","SETTINGS_NEXT_VIDEO":"Afișare notificare pentru a începe următorul episod","SETTINGS_NEXT_VIDEO_TRIGGER":"Afișați notificarea pentru următorul episod pentru:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Durata afișării notificării pentru episodul următor","SETTINGS_PLAY_IN_BACKGROUND":"Redați în fundal","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Redați în playerul extern","SETTINGS_RESIZE":"Redimensionare automată a ferestrei înainte de redare","SETTINGS_OVERRIDE_SERVER":"Anulați URL-ul serverului de streaming (avansat)","SETTINGS_SERVER_URL":"URL server de streaming: ","SETTINGS_SERVER_AVAILABLE":"Serverul de streaming este disponibil.","SETTINGS_SERVER_UNAVAILABLE":"Serverul de streaming nu este disponibil.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Eroare","SETTINGS_SERVER_CONFIGURE_TITLE":"Configurați URL-ul serverului de streaming","SETTINGS_SERVER_CONFIGURE_INPUT":"Introduceți un URL pentru serverul de streaming","SETTINGS_SERVER_CACHE_SIZE":"Dimensiune cache","SETTINGS_SERVER_TORRENT_PROFILE":"Profil torrent","SETTINGS_HTTPS_ENDPOINT":"Endpoint HTTPS pentru streaming: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Utilizați întotdeauna cea mai recentă versiune Beta","SETTINGS_IMPORT_FB":"Importați din Facebook","SETTINGS_IMPORT_DISK":"Importați din discul local","SETTINGS_IMPORT_TRAKT":"Importați din Trakt","SETTINGS_PAUSE_MINIMIZED":"Pauzați redarea când este minimizată","SETTINGS_HWDEC":"Decodificare accelerată de hardware","SETTINGS_BACKGROUND":"Redare în fundal","SETTINGS_SUBSCRIBE_CALENDAR":"Abonați-vă la calendar","SETTINGS_REQ_EXPORT":"Solicitați exportul datelor","SETTINGS_ACC_DELETE":"Solicitați ștergerea contului","SETTINGS_CHANGE_PASSWORD":"Schimbați parola","SETTINGS_TOS":"Termeni și condiții","SETTINGS_SUPPORT":"Contactați suportul tehnic","SETTING_LANGUAGE":"Limbă","SETTINGS_TRAKT":"Scrobbling Trakt","SETTINGS_TRAKT_LOGOUT":"Deautentificare din Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Deautentificare din Trakt","SETTINGS_SCAN_FOR_REMOTE":"Scanați codul QR pentru a deschide comanda la distanță","SETTINGS_DESKTOP_NOTIFICATIONS":"Notificări de desktop","SETTINGS_DATA_SAVER":"Economizor de date","SETTINGS_LANGUAGE_INTERFACE":"interfață","SETTINGS_LANGUAGE_SUBS":"subtitrări implicite","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Selectați automat Pista audio","SETTINGS_DEFAULT_AUDIO_TRACK":"Pista audio implicită","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"cont","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"versiune","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"Lansați playerul într-o fereastră separată (avansat)","SETTINGS_PLAY_IN_EXTERNAL":"Începeți întotdeauna video în playerul extern","SETTINGS_STORAGE_BUTTON":"Ștergeți stocarea locală","SETTINGS_STORAGE_MODAL_TITLE":"Sunteți sigur?","SETTINGS_STORAGE_MODAL_MESSAGE":"Aceasta va șterge stocarea locală și vă va deconecta.","SETTINGS_HWDEC_PICKER":"Selectați setarea de decodificare accelerată de hardware","SETTINGS_HW_AUTOMATIC":"Automată","SETTINGS_HW_DISABLED":"Dezactivată","SETTINGS_HW_ACCELERATED":"Accelerare decodificare","SETTINGS_HW_FULL":"Accelerare completă","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Subtitrări","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Comenzi","SETTINGS_SECTION_AUTO_PLAY":"Redare automată","SETTINGS_SECTION_ADVANCED":"Avansate","SUBSPICKER_AUDIO":"Audio","SUBSPICKER_SUBTITLES":"Subtitrări extensii","SUBSPICKER_BLACK_BACKGROUND":"Utilizați culoarea de fundal neagră","SUBSPICKER_VERTICAL_OFFSET":"Deplasare verticală","SUBSPICKER_SIZE":"Dimensiune","SUBSPICKER_DELAY":"Întârziere","SUBSPICKER_EMBEDDED_SUBS":"Subtitrări incorporate","MOBILE_PRIVACY_POLICY":"Politica de confidențialitate","MOBILE_CRASH_REPORTING":"Raportarea incidentelor","MOBILE_ZOOM_TO_FILL":"Mărire pentru a umple ecranul","MOBILE_PASSTHROUGH":"Ieșire audio digitală (passthrough)","MOBILE_RUN_LOW_BATTERY":"Rulează cu bateria descărcată","MOBILE_RUN_FOREGROUND":"Rulează ca serviciu în prim-plan","MOBILE_PERFORMANCE":"PERFORMANȚĂ ȘI STABILITATE","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"Codul QR expiră în ","MOBILE_LOG_INTO":"Conectați-vă la contul Stremio ","MOBILE_SCAN_QR":"Scanați codul QR de mai sus sau accesați ","MOBILE_LINK_ACCOUNT":"Conectați-vă la cont","MOBILE_SPEEDPICKER_CANCEL":"Anulați","MOBILE_SPEEDPICKER_LABEL":"Selectați viteza de redare","MOBILE_EMPTY_LIBRARY":"Biblioteca dvs. este goală","MOBILE_NO_ADDON_ACTIVE":"Nici o extensie Stremio activă pentru acest tip.","MOBILE_ORGANIZER_WARNING":"Aplicația Stremio Organizer oferă funcționalitate limitată. Pentru o listă de fluxuri redabile și experiența completă Stremio, utilizați Stremio pe desktop.","MOBILE_ADDON_LOADING":"se încarcă încă","MOBILE_ADDONS_LOADING":"extensii se încarcă încă","MOBILE_ADDON":"Extensie","MOBILE_CONFIGURE_ADDON":"Configurați extensia dvs.","MOBILE_CONFIGURE_ADDON_LABEL":"Configurați extensia","MOBILE_ORGANIZER_ADDONS_WARNING":"Aplicația Stremio Organizer oferă o selecție limitată de extensii. Pentru experiența Stremio completă, utilizați Stremio pe desktop.","MOBILE_DISCONNECT":"Deconectați","MOBILE_LOOKING_FOR_DEVICES":"Căutare dispozitive...","MOBILE_CAST_TO":"Transmiteți la","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Ștergere cont","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Ștergerea contului nu este instantanee din motive legale. După solicitarea ștergerii contului, va trebui să utilizați o altă adresă de e-mail/profil Facebook pentru a crea un nou cont Stremio în viitor.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirmați ștergerea contului","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Contul dvs. a fost creat utilizând Facebook. Pentru a șterge contul dvs., vă rugăm să utilizați portalul nostru pentru utilizatori la www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Vă rugăm să introduceți parola pentru a confirma ștergerea contului.","MOBILE_DELETE_ACCOUNT_BUTTON":"Ștergere cont","NAVIGATION_ON":"Pornit","NAVIGATION_OFF":"Oprit","MARKETING_AGREE":"Sunt de acord să primesc comunicări de marketing de la Stremio","QUIT":"Ieșire","CONNECTED":"Conectat","AUTHENTICATE":"Autentificare","CACHING":"Se realizează cache","SETTINGS_CACHING_DRIVE":"Unitate pentru cache","ENABLE_LOCAL_FILES_ADDON":"Activați extensia pentru fișiere locale (necesită repornire)","LOCAL_ADDON_NOT_ENABLED":"Extensia locală nu este activată. Faceți clic aici pentru a merge la setări și a o activa","ENABLE_REMOTE_HTTPS_CONN":"Activați conexiunile HTTPS la distanță","TORRENT_PROFILE":"Profil torrent","DATA_CACHING":"Cache de date","MAGNET_PARSING":"Se parsează un link magnet","January":"Ianuarie","February":"Februarie","March":"Martie","April":"Aprilie","May":"Mai","June":"Iunie","July":"Iulie","August":"August","September":"Septembrie","October":"Octombrie","November":"Noiembrie","December":"Decembrie","Monday":"Luni","Tuesday":"Marți","Wednesday":"Miercuri","Thursday":"Joi","Friday":"Vineri","Saturday":"Sâmbătă","Sunday":"Duminică","Action":"Acțiune","Comedy":"Comedie","War":"Război","Family":"Familie","Animation":"Animație","Adventure":"Aventură","Fantasy":"Fantezie","Crime":"Crimă","Mystery":"Mister","Romance":"Romantic","Drama":"Dramă","Horror":"Horror","Thriller":"Thriller","Sci-Fi":"Științifico-Fantastic","Music":"Muzică","Biography":"Biografie","Documentary":"Documentar","Sport":"Sport","Musical":"Muzical","Western":"Vestern","Film-Noir":"Film Noir","News":"Știri","History":"Istorie","Game-Show":"Concurs TV","Reality-TV":"Reality TV","Talk-Show":"Talk Show","Film & Entertainment":"Film și Divertisment","Gaming":"Gaming","From TV":"De la TV","Lifestyle":"Stil de viață","Science & Education":"Știință și Educație","Cooking & Health":"Gătit și Sănătate","Beauty & Fashion":"Frumusețe și Modă","Sports":"Sporturi","News & Politics":"Știri și Politică","How-to & DIY":"Cum să și Bricolaj","Tech":"Tehnologie","Automotive":"Auto","Causes & Non-Profits":"Cauze și Organizații Non-Profit","Movies":"Filme","Uk Live Tv":"TV live din Marea Britanie","Fashion":"Modă","Business News Radio":"Radio Știri de Afaceri","Business Tv":"TV de Afaceri","Cars & Auto":"Mașini și Auto","Comedy Radio":"Radio de Comedie","Lifestyle Radio":"Radio de Stil de Viață","News Tv":"TV de Știri","Food And Wine":"Mâncare și Vin","Latino Tv":"TV Latino","Shopping Tv":"TV de Shopping","Religion":"Religie","Kids":"Copii","Body & Soul":"Corp și Suflet","Education":"Educație","Indian Tv":"TV Indian","Extreme Sports":"Sporturi Extreme","Middle Eastern Tv":"TV din Orientul Mijlociu","Celebrity Tv":"TV cu Celebrități","Science Tv":"TV Științifică","Bikini babe":"Bikini babe","Outdoors":"Activități în aer liber","German Tv":"TV German","French Tv":"TV Francez","Italian Tv":"TV Italian","Gamer Tv":"TV pentru Gameri","Travel":"Călătorii","Asian Tv":"TV Asiatic","Entertainment":"Divertisment","News Radio":"Radio de Știri","Music Radio":"Radio de Muzică","Language Learning":"Învățarea Limbilor","Science Radio":"Radio Științific","Tech Radio":"Radio Tehnologic","Science & Technology Vod":"VOD Știință și Tehnologie","new video":"video nou","new episode":"episod nou","new movie":"film nou","recommended":"recomandat","we recommend":"recomandăm","offer of the day":"ofertă a zilei","news":"știri","music video":"videoclip muzical","CTX_SHOW_HOTKEYS":"Afișați tastele rapide","CTX_DISMISS_NOTIF":"Respinsți notificările","CTX_DISMISS_ALL":"Respinsți toate","CTX_SHARE":"Partajați","CTX_COPY_SHARE_LINK":"Copiați linkul de partajare","CTX_COPY_MAGNET_LINK":"Copiați linkul magnet","CTX_COPY_STREAM_LINK":"Copiați linkul pentru flux","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Descărcați acest video","CTX_DOWNLOAD_SUBS":"Descărcați subtitrările","CTX_VIEW_ON_YOUTUBE":"Vizualizați pe YouTube","CTX_SHOW":"Afișați","CTX_PLAY":"Redați","CTX_PLAY_IN":"Redați în","CTX_PLAY_ON":"Redați pe","CTX_WATCH_ON":"Vizualizați pe","CTX_WATCH":"Vizualizați","CTX_WATCHED":"Vizualizat","CTX_WATCH_BEGINNING":"Vizualizați de la început","CTX_WATCH_MOBILE":"Vizualizați pe un dispozitiv mobil","CTX_REWIND":"Derulați la început","CTX_MARK_WATCHED":"Marcați ca vizualizat","CTX_MARK_NON_WATCHED":"Marcați ca necitit","CTX_MARK_UNWATCHED":"Marcați ca nevizualizat","CTX_MARK_REST":"Marcați restul ca vizualizat","CTX_UNMARK_REST":"Marcați restul ca necitit","CTX_RECEIVE_NEW_NOTIF":"Primiți notificări noi","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"Eliminați din cache","CTX_REMOVE_CACHE_EP":"Eliminați episodul din cache","CTX_OPEN_CONTAINING":"Deschideți folderul care conține","CTX_REMOVE":"Eliminați din bibliotecă","CTX_AVAILABLE_OFFLINE":"Disponibil offline","CTX_PAUSED":"Pus pe pauză","CTX_ALWAYS_ON_TOP":"Mereu deasupra","CTX_FULLSCREEN":"Pe tot ecranul","CTX_WRONG_SUBS":"Subtitrări greșite?","CTX_REPORT_ISSUES":"Raportați o problemă","CTX_COPY":"Copiați","CTX_PASTE":"Lipiti","CTX_CLEAR":"Goliți","CTX_CLEAR_RECENT_SEARCHES":"Goliți căutările recente","HELLO_THERE":"Bună!","HOPE_YOU_ENJOY":"Sperăm că vă bucurați de Stremio și că a devenit deja una dintre aplicațiile dvs. preferate!","WHO_ARE_WE":"Cine suntem? Suntem echipa din spatele acestui produs - doi oameni care lucrează din greu în fiecare zi de ultimii 3 ani pentru a face acest produs din ce în ce mai bun.","SUPPORT_US":"Dacă vă place să utilizați Stremio și dacă Stremio este valoros pentru dvs. - distribuiți vestea!","SPREAD_THE_WORD":"Partajați acum cu prietenii dvs., distribuiți vestea despre Stremio","MORE_PEOPLE":"Cu cât mai mulți oameni folosesc Stremio, cu atât mai bine va deveni!","SEND_A_LINK":"Sau trimiteți un link către site-ul nostru","TIP_LOCALFILES":"Sfat: puteți trage și plasa fișiere video locale în Stremio","ADDON_MY":"Extensiile mele","ADDON_COMMUNITY":"Extensii Comunitare","ADDON_OFFICIAL":"Extensii Oficiale","ADDON_REPOS":"Colectii de Extensii","ADDON_SEARCH":"Căutați extensii","ADDON_INSTALL":"Instalați","ADDON_CONFIGURE":"Configurați","ADDON_UNINSTALL":"Dezinstalați","ADDON_UPGRADE":"Actualizați","ADDON_INSTALLED":"Instalat","ADDON_INSTALLED_MSG":"Extensie instalată!","ADDON_UPGRADED_MSG":"Extensie actualizată!","ADDON_UNKNOWN":"Necunoscut","ADDON_ERR":"Eroare la instalarea extensiei!","ADDON_DISCONNECTED":"Deconectat","ADDON_APP_MISSING":"Aplicația pentru această sursă nu este instalată. Doriți să o instalați acum?","ADDON_APP_INSTALL":"Instalați acum","ADDON_PAGE":"Pagina extensiei","ADDON_TOP_CONTENT":"Cel mai bun din această extensie","ADDON_PROVIDES":"Această extensie vă va oferi:","ADDON_WATCH":"Vizionați #{types} acum!","ADDON_WATCH_FREE":"Vizionați #{types} GRATUIT acum!","ADDON_ADDON":"Extensie","ADDON_SUPPORTED_TYPES":"Tipuri acceptate","ADDON_SUPPORTED_CATALOGS":"Cataloge acceptate","ADDON_PROVIDES_DISCOVER":"Mai multe #{types} în Descoperă","ADDON_PROVIDES_STREAMS":"Vizionați #{types}","ADDON_PROVIDES_STREAMS_FREE":"Vizionați #{types} GRATUIT","ADDON_PROVIDES_SUBTITLES":"Subtitrări pentru #{types}","ADDON_CANTDETECT":"Nu am putut detecta o instanță de Stremio în funcție, deci nu am putut detecta ce extensii aveți instalate.","ERR_NO_META":"Nu s-au găsit informații despre aceasta ","ERR_GETTING_META":"Eroare la preluarea informațiilor despre aceasta.","ERR_CANT_PARSE_MAGNET":"Imposibil de analizat magnetul","ERR_NO_MAGNET_INFOHASH":"Nu există un hash de informații valid pentru magnet","ERR_NO_FILE_PATH":"Nu se poate trimite cererea fără un drum către fișier","ERR_NO_TORRENT":"Niciun torrent returnat","ERR_NO_SUPPORTERD_FILES":"Nu s-au găsit fișiere suportate","ERR_OPENING_FILES":"Nu s-au putut deschide fișiere externe","ERR_INVALID_LINK":"Legătură invalidă","ERR_REGISTERED_ONLY":"Această opțiune este disponibilă doar pentru utilizatorii înregistrați.","ERR_CLIPBOARD":"Nu se poate reda din clipboard","ERR_CLIPBOARD_READ":"Nu se poate citi clipboardul pe această platformă","ERR_CLIPBOARD_GENERIC":"Nu s-a găsit nicio adresă URL redabilă în clipboard. Vă rugăm să copiați o adresă URL (de exemplu, o legătură magnet) către un videoclip.","BOARD_CONTINUE_WATCHING":"Continuați vizionarea","BOARD_EXPLANATION_RECOMMENDATIONS":"Filme alese special pentru dumneavoastră.<br />Acest film este o recomandare de exemplu.","BOARD_EXPLANATION_EPISODES":"Episoade noi din seria dumneavoastră preferată apar aici.<br />Adăugați serialele pe care le urmăriți în Biblioteca dumneavoastră.","BOARD_EXPLANATION_VIDEOS":"Episoade noi din canalele dumneavoastră preferate apar aici.<br />Adăugați canalele YouTube pe care le urmăriți în Biblioteca dumneavoastră.","WEBSITE_ENJOYED_BY":"Apreciat de peste 30 de milioane de utilizatori din întreaga lume","WEBSITE_STREAMING_ENHANCED":"Îmbunătățit pentru streaming","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio oferă o experiență de divertisment sigură, modernă și lipsită de întreruperi. Cu interfața sa ușor de utilizat și biblioteca sa diversificată de conținut, inclusiv suport pentru 4K HDR, utilizatorii pot să se bucure de filmele și emisiunile lor TV preferate pe toate dispozitivele lor. Și cu angajamentul său față de securitate, Stremio este alegerea ultimă pentru o experiență de streaming de înaltă calitate fără griji.","WEBSITE_AVAILABLE_ON":"Disponibil pe","WEBSITE_WATCH_AND_ENJOY":"Vizionați și bucurați-vă.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio face lucrurile ușoare ca un tort","WEBSITE_ALL_FEATURES":"Toate funcțiile","WEBSITE_EASY_TO_USE":"Ușor de utilizat","WEBSITE_EASY_TO_USE_DETAILS":"Stremio este conceput să fie prietenos cu utilizatorul și ușor de utilizat. Cu interfața sa curată și intuitivă, puteți naviga cu ușurință și găsi conținutul pe care doriți să-l vizionați.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Interfață uniformă pe toate dispozitivele","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Disponibil pentru o gamă largă de platforme (inclusiv Windows, Mac, Linux, Android și altele), Stremio va ține evidența progresului dumneavoastră pe toate dispozitivele dumneavoastră. Doar autentificați-vă și continuați să vizionați fără a fi necesar să configurați aplicația din nou pe fiecare dispozitiv nou.","WEBSITE_ALL_DOWNLOADS":"Toate descărcările","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"Suport pentru video de înaltă definiție","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"Un player video integrat care suportă cele mai multe formate video, inclusiv conținutul 4K HDR, vă permite să vă bucurați de cea mai înaltă calitate disponibilă.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Bibliotecă variată de conținut","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio se integrează cu un număr mare de surse video populare, cum ar fi Netflix, Amazon Prime Video, Hulu, YouTube și multe altele.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Creați un cont gratuit","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Experiență de vizualizare personalizată","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio vă permite să personalizați aspectul și simțul interfeței prin schimbarea temei, adăugarea sau eliminarea de addons și multe altele.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Suport pentru subtitrări multilingve","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"Puteți acum să vă bucurați de tot conținutul preferat în limba dorită, deoarece Stremio suportă subtitrări în toate limbile.","WEBSITE_ALL_STREMIO_FEATURES":"Toate funcțiile Stremio","WEBSITE_TRY_STREMIO_TITLE_P1":"Încercați Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"pe televizorul dumneavoastră acum","WEBSITE_YOU_CAN_NOW_WATCH":"Acum puteți viziona toate emisiunile TV preferate pe dispozitivele Android TV. Aplicația Stremio TV vă permite să vă bucurați de o seară de film cu ușurință.","WEBSITE_YOU_CAN_NOW_WATCH_2":"Acum puteți viziona toate emisiunile TV preferate pe Smart TV-ul sau dispozitivele Android TV. Aplicațiile Stremio TV vă permit să vă bucurați de o seară de film cu ușurință.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio pentru Smart TV-uri","WEBSITE_PLAY_STORE_REVIEW":"Probabil cea mai bună și utilă aplicație de avut pe dispozitivul dumneavoastră. Este una dintre aplicațiile pe care le folosesc în fiecare zi, în special pe Android TV-ul meu de mulți ani. Bine făcută, cu o comunitate puternică care furnizează funcționalități utile. Felicitări. Continuați cu treaba bună.","WEBSITE_REVIEWS":"recenzii","WEBSITE_GET_STREMIO_FOR_FREE":"Obțineți Stremio gratuit","WEBSITE_GET_STREMIO_NOW":"Obțineți Stremio acum","WEBSITE_STREMIO_FEATURES":"Funcționalități Stremio","WEBSITE_STREMIO_FEATURES_DETAILS":"Transmiteți ca un profesionist cu funcționalitățile avansate ale lui Stremio și bucurați-vă de accesul fără întreruperi la toate conținuturile dumneavoastră preferate","WEBSITE_DISCOVER_MORE":"Descoperiți mai mult.","WEBSITE_DISCOVER_MORE_DETAILS":"Nu rămâneți niciodată fără lucruri de vizionat","WEBSITE_COMMUNITY_DRIVEN":"Comunitate condusă de utilizatori","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio are o comunitate mare și activă de utilizatori care contribuie la dezvoltarea software-ului prin crearea și partajarea de addon-uri.","WEBSITE_GET_INVOLVED":"Implicați-vă","WEBSITE_NEW_THEATER_EXPERIENCE":"Experiență nouă de teatru","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Noua aplicație TV dedicată Stremio vă permite să vă bucurați de o seară de film pe dispozitivele Android TV.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Noile aplicații TV dedicate Stremio vă permit să vă bucurați de o seară de film pe Smart TV-ul sau dispozitivele Android TV.","WEBSITE_FREE_AND_SECURE":"Gratuit și sigur","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio oferă securitate și confidențialitate de neegalat pentru utilizatori. Cu caracteristica sa unică de a rula addon-uri de la distanță, Stremio oferă o modalitate mai sigură de a reda conținutul preferat în comparație cu alte platforme. Securitatea și confidențialitatea dumneavoastră sunt priorități absolute, iar platforma se asigură că toate datele dumneavoastră sunt protejate.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Să spuneți adio îngrijorărilor legate de securitate și confidențialitate și să salutați o lume a divertismentului fără sfârșit cu Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Informații furnizate de","WEBSITE_CONTRIBUTE":"Contribuie","WEBSITE_CONTRIBUTE_DESC":"la proiect și ajutați-ne să facem Stremio și mai bun","WEBSITE_COMMUNITY_DESC":"Credem că cel mai bun mod de a crea o experiență de streaming cu adevărat uimitoare este prin implicarea comunității noastre în proces. Fie că sunteți un programator, un artist sau doar un fan - puteți ajuta la dezvoltarea lui Stremio.","WEBSITE_COMMUNITY_DESC_2":"Așadar, alăturați-vă nouă astăzi și deveniți parte a comunității Stremio și continuați să modelați viitorul streamingului.","WEBSITE_WAYS_TO_GET_INVOLVED":"Modalități de a vă implica","WEBSITE_IN_THE_STREMIO_COMMUNITY":"în comunitatea Stremio","WEBSITE_SHARE_YOUR_THOUGHTS":"Împărtășiți-vă gândurile","WEBSITE_REPORT_BUGS":"Raportați erori","WEBSITE_SUGGEST_FEATURES":"sugerați funcționalități","WEBSITE_AND_PROVIDE_FEEDBACK":"și furnizați feedback pe canalele noastre de socializare.","WEBSITE_BETA_TESTING_PROGRAM":"Program de testare beta","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participați la programul nostru de testare beta (trimitem invitații regulat) în comunitatea Stremio.","WEBSITE_JOIN_NOW":"Alăturați-vă acum!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Comunități oficiale Stremio","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Comunități neoficiale Stremio","WEBSITE_BECOME":"Deveniți","WEBSITE_A_VOLUNTEER_TRANSLATOR":"un traducător voluntar","WEBSITE_ARE_YOU_A_DEVELOPER":"Sunteți un dezvoltator?","WEBSITE_CONTRIBUTE_CODE":"Puteți contribui cu cod la proiectele noastre open source. Avem mai multe proiecte pe GitHub care caută contribuitori. Dacă sunteți interesat să ajutați, verificați-le:","WEBSITE_STREMIO_ON_GITHUB":"Stremio pe GitHub","WEBSITE_CREATE_ADDON_DESC":"Creați un addon pentru a îmbunătăți funcționalitatea Stremio (avem o interfață API ușor de utilizat):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"Vă oferim, de asemenea, oportunitatea de a ne însoți ca dezvoltator intern, astfel încât să putem crește împreună.","WEBSITE_APPLY_AS_AN_INTERN":"Aplicați ca stagiar","WEBSITE_CALLING_ALL_ARTISTS":"Suntem în căutarea tuturor artiștilor!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Arătați creativitatea și dragostea dumneavoastră pentru Stremio prin încărcarea lucrărilor dumneavoastră de artă fan în galeria noastră online. Fie că este vorba de desene, picturi sau design digital, vrem să vedem interpretarea dumneavoastră unică asupra brandului Stremio. Alăturați-vă comunității noastre de entuziaști ai artei și împărtășiți-vă lucrările cu fani Stremio din întreaga lume.","WEBSITE_STREMIO_FANART_GALLERY":"Galerie de artă fan Stremio","WEBSITE_INTERN_DESIGNER":"Deveniți parte a echipei noastre și duceți-vă creativitatea la noi culmi cu oportunitățile noastre palpitante de stagiu.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Proiectul de filme din domeniul public","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"La Stremio, suntem dedicați să păstrăm istoria filmului și televiziunii prin identificarea videoclipurilor din domeniul public și ale celor orfane. Lucrând împreună cu comunitatea noastră, putem asigura că aceste opere de artă clasice sunt accesibile tuturor și protejate pentru ca generațiile viitoare să se bucure de ele.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Nu ezitați să ne contactați dacă doriți să vă implicați în acel proiect.","WEBSITE_JOIN_THE_PROJECT":"Alăturați-vă proiectului","WEBSITE_BE_PART_OF_OUR_MISSION":"Fii parte din misiunea noastră","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Sunteți interesat să vă alăturați echipei Stremio? Oferim muncă complet la distanță pentru profesioniștii pasionați. Vizitați pozițiile noastre deschise.","WEBSITE_OPEN_POSITIONS":"POZIȚII DESCHISE","WEBSITE_DESCRIPTION":"DESCRIERE","WEBSITE_LEARN_MORE":"Aflați mai multe","WEBSITE_COMPANY":"Companie","WEBSITE_CONTACTS":"Contacte","WEBSITE_NEED_HELP":"Aveți nevoie de ajutor?","WEBSITE_STREMIO_WEB_ON_IOS":"Ghid pentru Stremio Web pe iOS","WEBSITE_LINK_ART_V2":"Galerie de artă","WEBSITE_PARTNERS":"Parteneri","WEBSITE_SLOGAN_WATCH":"Vizionați instantaneu","WEBSITE_SLOGAN_ALL":"Toate conținuturile video pe care le iubiți într-un singur loc","WEBSITE_SLOGAN_NEW":"Tot ce puteți viziona","WEBSITE_SLOGAN_NEW_NEW":"Libertatea de a transmite","WEBSITE_WATCH_FROM":"Vizionați de la","WEBSITE_DOWNLOAD":"Descărcați acum","WEBSITE_DOWNLOAD_FOR":"Descărcați acum pentru","WEBSITE_IS_DESKTOP":"Stremio este o aplicație desktop, deschideți această pagină pe PC-ul dumneavoastră și descărcați-o","WEBSITE_DESKTOP_DEMO_VID":"Demonstrație desktop","WEBSITE_PAGE_HOME":"Acasă","WEBSITE_PAGE_FEATURES":"Funcționalități","WEBSITE_PAGE_ADDONS":"Addon-uri","WEBSITE_PAGE_TECH":"Tehnologie","WEBSITE_PAGE_CREATE_ADDON":"Creați un Addon","WEBSITE_PAGE_CONTACTS":"Contacte","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Filme","WEBSITE_TYPE_series_PL":"Seriale","WEBSITE_TYPE_tv":"TV în direct","WEBSITE_TYPE_channel":"Canale","WEBSITE_STREMIO_WHAT_IS":"Stremio este o aplicație care vă ajută să vă organizați și să vizionați instantaneu videoclipurile, filmele, serialele TV și canalele TV preferate.","WEBSITE_FEATURES_WATCH":"Vizionați instantaneu în HD","WEBSITE_FEATURES_WATCH_DETAIL":"Dați clic și redați filmele, emisiunile TV, videoclipurile și canalele TV preferate.","WEBSITE_FEATURES_SUBS":"Subtitrări automate","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio alege automat subtitrări sincronizate pentru limba dumneavoastră.","WEBSITE_FEATURES_SUBS_LABEL":"Mișcarea ta, șefule.","WEBSITE_FEATURES_CAST":"Redați pe TV și dispozitive mobile","WEBSITE_FEATURES_CAST_DETAIL":"Redați pe AppleTV, Chromecast, Smart TV (DLNA/UPnP) și dispozitive mobile.","WEBSITE_LIB":"Bucurați-vă de biblioteca dumneavoastră personală","WEBSITE_LIB_COLLECT":"Colectează din Stremio","WEBSITE_LIB_IMPORT":"Importă din Facebook","WEBSITE_LIB_LOCAL":"Adaugă de pe unitatea dvs. locală","WEBSITE_BOARD":"The Board - Locul tău unic pentru notificări și recomandări","WEBSITE_BOARD_RECOMMEND":"Serial TV recomandat","WEBSITE_BOARD_TRENDING":"Film în tendințe","WEBSITE_BOARD_NEW":"Video nou","WEBSITE_BOARD_EPISODE":"Episod nou","WEBSITE_BOARD_1":"Căutați ceva interesant de vizionat? Obțineți recomandări bazate pe gusturile dvs.!","WEBSITE_BOARD_2":"Primiți notificări atunci când apare un nou episod al serialului TV preferat sau al canalului YouTube pe care-l urmăriți!","WEBSITE_BOARD_YOUTUBE":"Video-uri noi de pe canale YouTube","WEBSITE_BOARD_EPISODES":"Episoade noi ale serialelor pe care le urmăriți","WEBSITE_ADDONS":"Addon-uri de conținut","WEBSITE_TECH_DETAIL":"Iubim tehnologia, iubim știința nebună!\\nStremio folosește următoarele tehnologii open source:","WEBSITE_TECH_WCJS":"WebChimera.js permite Stremio să redea orice format video cu performanță bună.","WEBSITE_TECH_WCJS_EXTRA":"Contribuitori la proiectul de bază","WEBSITE_TECH_ELECTRON":"Electron oferă o platformă inovatoare pentru construirea Stremio.","WEBSITE_TECH_ELECTRON_EXTRA":"Contribuitori la proiect","WEBSITE_TECH_LINVODB":"O tehnologie de bază de date care asigură organizarea datelor dvs. disponibile oriunde vă autentificați.","WEBSITE_TECH_LINVODB_EXTRA":"Tehnologie internă","WEBSITE_CREATE_ADDON":"Creați-vă addon-ul","WEBSITE_CREATE_ADDON_DETAIL":"Aveți un serviciu care furnizează conținut video? Vă vom ajuta să beneficiați de caracteristicile Stremio prin crearea propriului addon.","WEBSITE_CREATE_ADDON_BENEFITS":"Beneficiile creării unui addon pentru Stremio","WEBSITE_P2P_BEAUTY":"Frumusețea streaming-ului Peer-to-Peer","WEBSITE_P2P_1":"Streaming-ul fiabil și accesibil Full HD / 4K la cerere sau streaming live","WEBSITE_P2P_2":"Platforma de distribuție oferind o experiență excelentă pentru utilizatori","WEBSITE_P2P_3":"Vom crea un addon care să corespundă exact nevoilor dvs.","WEBSITE_P2P_CONTACT":"Interesați? Sunteți binevenit să ne <a href=\'mailto:office@stremio.com\'>contactați</a>.","WEBSITE_P2P_CONTACT_EXTRA":"Vom fi bucuroși să vă ajutăm să integrați conținutul dvs. cu Stremio!","WEBSITE_P2P":"Din când în când, apare o tehnologie care schimbă regulile jocului. Am investit mult timp și efort în construirea motorului nostru de streaming video Peer-to-Peer (P2P), care oferă performanțe excelente și versatilitate pentru a se adapta la orice caz de utilizare. Contactați-ne pentru streaming video P2P cu DRM activat la cerere sau în timp real.","WEBSITE_THOUGHTS":"Gândurile pe care le împărtășim:","WEBSITE_SPREAD":"Răspândiți vestea despre Stremio:","WEBSITE_CONTACT":"Contactați-ne, ne bucurăm să auzim de la dvs.!","WEBSITE_OPENSOURCE":"Pentru proiectele noastre open source, accesați","WEBSITE_BITCOIN":"Donați Bitcoin:","WEBSITE_FAQ":"Întrebări frecvente","WEBSITE_FAQ_SHORT":"Întrebări frecvente","WEBSITE_QUESTIONS":"Întrebări","WEBSITE_TOS":"Termeni și condiții","WEBSITE_LEGAL":"Informații legale","WEBSITE_PAGE_ABOUT":"Despre","WEBSITE_PAGE_BECOME_PARTNER":"Deveniți partener","WEBSITE_ALL_YOU_CAN_WATCH":"Libertatea de a viziona\\nTot ce vrei.","WEBSITE_FREEDOM_TO_STREAM":"Libertatea de a transmite","WEBSITE_WHAT_IS_STREMIO":"Ce este Stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio este un punct unic pentru agregarea conținutului video. Descoperiți, organizați și vizionați conținut video din toate tipurile de surse pe orice dispozitiv pe care îl dețineți.","WEBSITE_WHAT_IS_STREMIO_P2":"Filme, seriale TV, serii, televiziune live sau canale web precum YouTube și Twitch.tv - puteți găsi toate acestea pe Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio este un centru media modern care este o soluție unică pentru divertismentul video. Descoperiți, vizionați și organizați conținut video din addon-uri ușor de instalat.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Filme, seriale TV, televiziune live sau canale web - găsiți toate acestea pe Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Bucurați-vă pe toate dispozitivele dvs. media","WEBSITE_DEVICES_COLLECT":"Colectează din Stremio","WEBSITE_DEVICES_IMPORT_FB":"Importă din Facebook","WEBSITE_DEVICES_LOCAL":"Adaugă de pe unitatea dvs. locală","WEBSITE_JOIN_THE_PARTY_NOW":"Alăturați-vă petrecerii acum","WEBSITE_DEVICES_ALL":"Ușor de utilizat pe toate dispozitivele dvs.;","WEBSITE_EXTENDABLE_CATALOG":"Catalog de video extensibil în mod infinit;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Funcționalități excelente pentru organizarea conținutului dvs. media;","WEBSITE_AS_SEEN_ON":"Așa cum se vede pe","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"Despre noi","WEBSITE_LINK_TECHNOLOGY":"Tehnologie","WEBSITE_LINK_APPS":"Aplicații","WEBSITE_LINK_DOWNLOADS":"Descărcări","WEBSITE_MORE":"Mai mult","WEBSITE_LINK_ADDONS":"Addon-uri","WEBSITE_LINK_ADDON_SDK":"SDK pentru addon-uri","WEBSITE_LINK_CONTRIBUTE":"Contribuie","WEBSITE_LINK_COMMUNITY":"Comunitate","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... Și mai multe","WEBSITE_LINK_HELP":"Centrul de ajutor","WEBSITE_LINK_CONTACTS":"Cerințe de afaceri","WEBSITE_LINK_TOS":"Termeni și condiții","WEBSITE_LINK_PRAVACY":"Politica de confidențialitate","WEBSITE_SUBSCRIBE":"Abonează-te","WEBSITE_NEWSLETTER":"Alătură-te newsletter-ului nostru pentru lucruri uimitoare","WEBSITE_PLACEHOLDER_EMAIL":"Adresa ta de email","WEBSITE_COMMUNITY":"Comunitate","WEBSITE_LINK_PRAVACY_LEGAL":"Confidențialitate și legale","WEBSITE_WHY":"De ce facem asta","WEBSITE_WHY_P1":"La Stremio, venim la serviciu în fiecare zi deoarece vrem să rezolvăm o problemă importantă pentru industria de video la cerere. Există atât de mult conținut nou publicat în fiecare minut, încât este practic imposibil să vă descurcați în el.","WEBSITE_WHY_P2":"Ajutăm oamenii să navigheze în acea lume imensă a divertismentului video și să descopere conținut nou de bucurat. Aplicațiile noastre aduc împreună filme, seriale, televiziune live, canale web și multe altele. Suntem dedicați să facem extrem de ușor pentru utilizatori să găsească titluri și emițători pe care îi iubesc.","WEBSITE_WHY_P3":"Puteți utiliza serviciul nostru pe orice dispozitiv și în orice moment, făcând din Stremio singurul hub de divertisment video de care veți avea vreodată nevoie.","WEBSITE_TEAM":"ECHIPA","WEBSITE_TEAM_P":"Echipa Stremio este mică, dar puternică: dintre cei zece dintre noi, codăm în X limbaje și împărtășim experiență în dezvoltarea software-ului, designul UI și UX, marketingul și publicitatea, afacerile și startup-urile.","WEBSITE_FEATURES":"Caracteristici","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Descoperiți conținut nou cu ușurință","WEBSITE_FEATURES_DISCOVER_P":"Descoperiți cu ușurință filme, seriale TV, serii și canale noi de vizionat. Răsfoiți după categorie, gen, rating, recentitate, etc. sau pur și simplu tastați un nume pentru a găsi. Stremio face găsirea de conținut video nou un lucru ușor.","WEBSITE_FEATURES_ALL_CONTENT":"Tot conținutul dvs. video pe un singur ecran","WEBSITE_FEATURES_ALL_CONTENT_P1":"Vedeți ce filme, serii sau videoclipuri nu ați terminat și continuați să le vizionați; primiți notificări pentru noi episoade și lansări; și răsfoiți recomandările pe care le veți primi pe baza obiceiurilor dvs. de vizionare.","WEBSITE_FEATURES_LIBRARY":"Organizați-vă biblioteca video","WEBSITE_FEATURES_LIBRARY_P1":"Adăugați orice titlu la biblioteca Stremio cu un singur clic și găsiți-vă drumul în jurul conținutului dvs., aranjat în mod ordonat după tip, recentitate sau ordine alfabetică.","WEBSITE_FEATURES_CALENDAR":"Urmăriți tot ce vizionați","WEBSITE_FEATURES_CALENDAR_P1":"Obțineți o vizualizare calendaristică a tuturor filmelor și serialelor pe care le adăugați în biblioteca dvs. Stremio. Exportați calendarul Stremio și sincronizați-l pentru a ști întotdeauna când apare un nou episod sau o premieră.","WEBSITE_FEATURES_BIG_SCREEN":"Bucurați-vă de conținutul video pe un ecran mai mare","WEBSITE_FEATURES_BIG_SCREEN_P1":"Redați ceea ce vizionați pe un dispozitiv mai mare - fie că este vorba de un telefon, tabletă sau TV - cu un singur clic.","WEBSITE_FEATURES_SOURCES":"Vizionați video din multe surse diferite","WEBSITE_FEATURES_SOURCES_P":"Instalați addon-uri oficiale și din comunitate pentru a vă bucura de video furnizat din multe surse diferite - toate într-o aplicație elegantă și ușor de utilizat.","WEBSITE_CREATE_AN_ADDON":"Creați un addon","WEBSITE_FEATURES_SYNC":"Sincronizați-vă biblioteca pe diferite dispozitive și continuați redarea","WEBSITE_FEATURES_SYNC_P1":"Conectați-vă cu contul dvs. pe toate dispozitivele și bucurați-vă de biblioteca, addon-urile, redarea și calendarul sincronizate.","WEBSITE_FEATURES_EXTENDABLE":"Catalog de video extensibil prin addon-uri","WEBSITE_FEATURES_EXTENDABLE_P1":"Catalogul de addon-uri Stremio oferă o serie de addon-uri de instalat și vizionat o varietate de conținut video. Acesta include filme, emisiuni, televiziune live, sport, știri, podcast-uri, canale web, jocuri video și altele.","WEBSITE_FEATURES_AUTO_SUBS":"Subtitrări automate","WEBSITE_FEATURES_AUTO_SUBS_P1":"Cu addon-urile noastre pentru subtitrări, veți primi opțiuni selectate automat pentru limba dvs. preferată.","WEBSITE_FEATURES_CHROMECAST":"Redare pe Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Bucurați-vă de conținutul video pe un ecran mai mare sau redați ceea ce vizionați pe un alt dispozitiv.","WEBSITE_FEATURES_KEEP_TRACK":"Urmăriți serialele TV și canalele Web favorite","WEBSITE_FEATURES_KEEP_TRACK_P1":"Obțineți o vizualizare calendaristică și notificări pentru episoadele noi ale serialului dvs. preferat și ale canalelor web.","WEBSITE_FEATURES_POWER_USER":"Funcționalități pentru utilizatori avansați","WEBSITE_FEATURES_POWER_USER_P1":"Redați într-un player extern","WEBSITE_FEATURES_POWER_USER_P2":"Redați dintr-un fișier torrent sau un link magnet","WEBSITE_FEATURES_POWER_USER_P3":"Importați în biblioteca dvs. din aprecierile de pe Facebook sau de pe discul local","WEBSITE_ADD_ONS":"Addon-uri","WEBSITE_ADD_ONS_P1":"Tot conținutul video furnizat de Stremio este obținut prin intermediul unui sistem de addon-uri - niciun conținut sau furnizor de conținut nu a fost încorporat în aplicație.","WEBSITE_ADD_ONS_P2":"Există două grupuri de addon-uri disponibile: addon-uri oficiale și addon-uri din comunitate.","WEBSITE_ADD_ONS_P3":"Cele oficiale sunt dezvoltate și găzduite de Stremio, în timp ce addon-urile din comunitate sunt create de membrii comunității noastre, care le găzduiesc, de asemenea.","WEBSITE_ADDONS_OFFICIAL":"Addon-uri oficiale","WEBSITE_ADDONS_WATCHUB":"Vizionați filmele, serialele și emisiunile preferate de la furnizori precum iTunes, Hulu, Amazon și alte servicii din Marea Britanie/SUA.","WEBSITE_ADDONS_YOUTUBE":"Vizionați canalele preferate de YouTube fără reclame și primiți notificări pentru noile încărcări de la contribuitorii pe care îi urmăriți.","WEBSITE_ADDONS_FILMON":"Uitați-vă la televiziunea live, filmele și televiziunea socială gratuit. 600 de canale TV, 45.000 de filme gratuite, documentare și multe altele.","WEBSITE_ADDONS_OPENSUBTITLES":"Subtitrări pentru filme și TV în mai multe limbi, mii de subtitrări traduse încărcate în fiecare zi.","WEBSITE_ADDONS_COMMUNITY":"Addon-uri din comunitate","WEBSITE_ADDONS_FILMON_VOD":"Vizionați video la cerere de la Filmon.tv","WEBSITE_ADDONS_TWICH":"Uitați-vă la fluxuri live de pe Twitch.tv - o platformă de streaming video pentru industria de e-sports.","WEBSITE_ADDONS_VODO":"Vizionați filme independente complet gratuit.","WEBSITE_ADDONS_NETFLIX":"Vizionați filmele și serialele web de pe Netflix.","WEBSITE_ADDONS_CREATE":"Creați un addon","WEBSITE_ADDONS_CREATE_P1":"Dacă doriți, puteți dezvolta propriul addon. În acest fel, puteți oferi dvs. și comunității noastre acces la conținut video nou și puteți ajunge la o nouă audiență țintită din milioane de utilizatori din întreaga lume.","WEBSITE_ADDONS_START_CREATE":"Pentru a începe, vizitați pagina SDK pentru addon-uri Stremio:","WEBSITE_DOWNLOADS":"Descărcări","WEBSITE_DOWNLOADS_P1":"Pentru performanță optimă, vă recomandăm să utilizați cea mai recentă versiune disponibilă a aplicațiilor Stremio. Dacă dintr-un motiv oarecare doriți să utilizați o versiune mai veche, o puteți descărca aici.","WEBSITE_DOWNLOADS_P1_SHORT":"Pentru performanță optimă, vă recomandăm să utilizați cea mai recentă versiune disponibilă a aplicațiilor Stremio.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio pentru Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio pentru macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio pentru Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio pentru Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio pentru Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio pentru dispozitive mobile Android","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio pentru Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio pentru iOS (versiune limitată)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Descărcați Serviciul Stremio","WEBSITE_DOWNLOAD_SERVICE_P1":"Serviciul Stremio este o aplicație companion pentru Stremio Web. Vă recomandăm să utilizați cea mai recentă versiune disponibilă a Serviciului Stremio.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Serviciul Stremio pentru Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Serviciul Stremio pentru macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Serviciul Stremio pentru Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Serviciul Stremio pentru Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"Mai multe opțiuni de descărcare","WEBSITE_DOWNLOAD_NEW":"Nou!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"Am lansat Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"Platforma Stremio este open source și puteți crea ușor un addon pentru conținut care nu este încă obținut.","WEBSITE_CONTRIBUTE_WHY":"De ce ar trebui să creați un addon?","WEBSITE_CONTRIBUTE_WHY_P1":"Atingeți o nouă audiență pentru conținutul dvs. video","WEBSITE_CONTRIBUTE_WHY_P2":"Baza de utilizatori a Stremio crește rapid - în primul an de la lansare, Stremio a obținut 1 milion de utilizatori din întreaga lume, iar în al doilea an de existență a platformei, acest număr a crescut la 2,5 milioane.","WEBSITE_CONTRIBUTE_WHY_P3":"Cu addon-ul dvs., puteți atinge ușor această audiență și distribui conținutul video către ei.","WEBSITE_CONTRIBUTE_ALL":"Uitați-vă la filmele, videoclipurile, serialele și canalele preferate într-un singur loc.","WEBSITE_CONTRIBUTE_ALL_P1":"Sunteți fanul unui anumit tip de conținut care nu este încă disponibil în Stremio? Creați un addon pentru el și bucurați-vă să vă uitați la videoclipurile preferate într-unul dintre cele mai mari și mai ușor de utilizat centre de divertisment de pe piață.","WEBSITE_CONTRIBUTE_ALL_P2":"În plus, veți primi recunoștința nesfârșită a altor membri ai comunității Stremio cu gândire asemănătoare.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetizați-vă addon-ul și câștigați bani cu ajutorul acestuia","WEBSITE_CONTRIBUTE_MONETIZE_P1":"După ce dezvoltați un addon nou pentru Stremio, îl puteți monetiza ușor prin mai multe modalități diferite. Dacă luați în considerare aceasta, nu ezitați să ne contactați la adresa ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - vom fi bucuroși să vă consultăm și să vă sfătuim cu privire la opțiunile de monetizare ale addon-ului.","WEBSITE_CONTRIBUTE_TRANSLATE":"Deveniți traducător voluntar","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Dacă doriți să utilizați aplicațiile Stremio în diferite limbi, vă puteți alătura comunității noastre de traducători voluntari. Aceștia ne ajută să adăugăm versiuni ale Stremio în multe limbi diferite.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Sunteți nerăbdător să începeți?","WEBSITE_TRANSALTE_STREMIO":"Traduceți Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Comunități oficiale","WEBSITE_COMMUNITY_OFFICIALS_P1":"Faceți parte din creșterea comunității Stremio. Urmați-ne pe rețelele sociale și nu ezitați să ne salutați - ne place să auzim de la fanii noștri!","WEBSITE_COMMUNITY_UNOFFICIALS":"Comunități neoficiale","STREMIO_COMMUNITY_NL":"Stremio Olanda","STREMIO_COMMUNITY_BRASIL":"Stremio Brazilia","STREMIO_COMMUNITY_GERMANY":"Stremio Germania","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgia","STREMIO_COMMUNITY_FRANCE":"Stremio Franța","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugalia","STREMIO_COMMUNITY_ITALY":"Stremio Italia","STREMIO_COMMUNITY_UK":"Stremio Marea Britanie","STREMIO_COMMUNITY_USA":"Stremio SUA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexic","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_AWESOME":"Stremio Minunat","WEBSITE_COMMUNITY_PARTNERS":"Parteneri și susținători","WEBSITE_COMMUNITY_GOODIES":"Lucruri Stremio","WEBSITE_COMMUNITY_WALLPAPERS":"Wallpapere","WEBSITE_COMMUNITY_ART":"Galerie de Artă a Comunității","WEBSITE_LINK_ART":"Galeria de artă a comunității","WEBSITE_CONTACT_US":"Contactați-ne","WEBSITE_CONTACT_US_P1":"Dacă aveți întrebări, comentarii sau sugestii, nu ezitați să ne contactați prin formularul de contact de mai jos.","WEBSITE_CONTACT_US_P2":"Rețineți că ne aflăm în Bulgaria, deci poate exista o întârziere în rezolvarea cererii dvs. din cauza diferențelor de fus orar.","WEBSITE_CONTACT_US_SUCCESS":"Mesajul dvs. a fost trimis. Vă vom contacta în cel mai scurt timp posibil.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Vă rugăm să introduceți o adresă de e-mail validă!","WEBSITE_CONTACT_US_Q_RELATED_TO":"La ce este legată întrebarea dvs.?","WEBSITE_CONTACT_US_Q_OS":"Care este sistemul dvs. de operare?","WEBSITE_CONTACT_US_PH_EMAIL":"Adresa dvs. de e-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Mesaj","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"TRIMITE","WEBSITE_CONTACT_US_Q_1":"Cum să instalez?","WEBSITE_CONTACT_US_Q_2":"Cum să dezinstalez?","WEBSITE_CONTACT_US_Q_3":"(HTML) Cum să fac lasagna?","WEBSITE_CONTACT_US_Q_4":"Addon-uri","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Tehnologie","WEBSITE_TECHNOLOGY_P1":"Iubim tehnologia și științele nebune. </br> Iată ce propulsează Stremio (totul este open source).","WEBSITE_TECHNOLOGY_P_QT":"Dezvoltarea software pe mai multe platforme în cea mai bună variantă.","WEBSITE_TECHNOLOGY_P_MPV":"Un player media gratuit, open source și pe mai multe platforme.","WEBSITE_TECHNOLOGY_P_RN":"React Native vă permite să construiți aplicații mobile utilizând doar JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Cadru multimedia încorporat în aplicație pentru a obține multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm este o platformă mobilă și înlocuiește SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js este un mediu de execuție open-source, pe mai multe platforme, pentru JavaScript.","WEBSITE_TECHNOLOGY_P_RUST":"Rust este un limbaj de programare pentru sisteme multi-paradigmă, concentrat pe siguranță, în special pe concurență sigură.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribuiți la proiect","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Există două moduri prin care puteți contribui la Stremio și ne puteți ajuta să facem produsul chiar mai bun.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Puteți dona abilitățile dvs. valoroase de limbă prin traducerea platformei...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"sau","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... puteți utiliza abilitățile dvs. de programare pentru a crea addon-uri din comunitate.","WEBSITE_TRANSLATE_STREMIO":"Traduceți Stremio","WEBSITE_404_OH_NO":"Ups! Pagina pe care o căutați nu se află aici...","WEBSITE_GO_HOME":"Mergi la pagina de start","WEBSITE_LINK_OTHER_DOWNLOADS":"Alte descărcări","WEBSITE_FAQ_ABR":"Întrebări frecvente","WEBSITE_SUPPORT":"Suport","WEBSITE_DOWNLOAD_4_0_BETA":"Descărcați acum Stremio 4 beta","WEBSITE_GET_FOR_DESKTOP":"Obțineți pentru desktop","WEBSITE_LINK_ADDON_COMPETITION":"Competiție de addon-uri","WEBSITE_LINK_ART_CONTEST":"Concurs de artă","WEBSITE_MY_ACCOUNT":"Contul meu","WEBSITE_MAINPAGE_FAQ_001_H1":"Ce este Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio este un centru de media modern care vă oferă libertatea de a viziona tot ceea ce doriți.","WEBSITE_MAINPAGE_FAQ_002_H1":"Cum funcționează?","WEBSITE_MAINPAGE_FAQ_002_P1":"Odată ce instalați Stremio pe dispozitivul dvs. și creați un cont, tot ce trebuie să faceți este să vizitați catalogul de addon-uri și să instalați orice addon doriți, și sunteți gata!","WEBSITE_MAINPAGE_FAQ_002_P2":"După aceasta, puteți merge la secțiunile Descoperă sau Tabloul pentru a începe să explorați conținutul.","WEBSITE_MAINPAGE_FAQ_003_H1":"Ce pot viziona aici?","WEBSITE_MAINPAGE_FAQ_003_P1":"Multe lucruri: Filme, Seriale TV, Canale web, Sport, Canale TV, ascultați Podcast-uri și multe altele. Datorită sistemului nostru de addon-uri, puteți accesa o varietate de conținut.","WEBSITE_MAINPAGE_FAQ_004_H1":"Este Stremio open-source?","WEBSITE_MAINPAGE_FAQ_004_P1":"Da, puteți verifica următoarele linkuri: ${1}aplicația pentru desktop${2} și ${3}organizația GitHub${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Este Stremio sigur?","WEBSITE_MAINPAGE_FAQ_005_P1":"Da: deoarece este un software open-source, codul este auditabil public și îl puteți revizui singur.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"Ce se întâmplă cu intimitatea mea?","WEBSITE_MAINPAGE_FAQ_006_P1":"Respectăm intimitatea utilizatorilor și nu colectăm nicio dată personală în afara minimului esențial pentru a vă crea și sincroniza contul.","WEBSITE_MAINPAGE_FAQ_006_P2":"Există și un ${1}mod oaspeți${2} la înregistrare, care nu necesită deloc date: în acest mod, nu se fac apeluri către serverul nostru. Cu toate acestea, acest lucru vine cu pierderea unor funcții utile, cum ar fi sincronizarea bibliotecii dvs. pe mai multe dispozitive.","WEBSITE_MAINPAGE_FAQ_007_H1":"Pot să transmit pe televizorul meu?","WEBSITE_MAINPAGE_FAQ_007_P1":"Da, suportăm Chromecast și puteți transmite atât de pe aplicațiile de desktop, cât și de pe cele mobile (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"Câte addon-uri are Stremio?","WEBSITE_MAINPAGE_FAQ_008_P1":"La sfârșitul anului 2019, peste 50 - pentru mai multe informații, verificați catalogul nostru de addon-uri.","WEBSITE_MAINPAGE_FAQ_009_H1":"Poate fi Stremio extins dincolo de ceea ce este în catalogul de addon-uri?","WEBSITE_MAINPAGE_FAQ_009_P1":"Da, ar trebui să verificați acestea: ${1}PimpMyStremio${2}, ${3}comunitățile de pe Reddit${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"Ce dispozitive suportă Stremio?","WEBSITE_MAINPAGE_FAQ_010_P1":"Avem aplicații pentru desktop pentru Windows, Mac și Linux. Pentru dispozitivele mobile, susținem Android și iOS, deși trebuie să țineți cont că iOS este limitat în funcționalitate (nu suportă majoritatea addon-urilor).","WEBSITE_MAINPAGE_FAQ_010_P2":"Există multe dispozitive bazate pe Android pe care puteți rula Stremio, cum ar fi NVIDIA Shield și Amazon Fire Stick, dar nu le susținem oficial.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Puteți adăuga anumit conținut pe Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Ne pare rău, nu furnizăm conținut în sine, dar cu cât aveți mai multe addon-uri Stremio instalate, cu atât mai mult conținut veți putea găsi.","WEBSITE_MAINPAGE_FAQ_012_H1":"Poate Stremio să redea link-uri magnet?","WEBSITE_MAINPAGE_FAQ_012_P1":"Da, și poate reda și link-uri HTTP normale și fișiere torrent (prin tragere și plasare).","WEBSITE_MAINPAGE_FAQ_013_H1":"Pot descărca un videoclip și să-l vizionez offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Funcția de vizionare offline este în curs de dezvoltare, dar dacă permiteți Stremio să facă cache pe dispozitivul dvs. (din panoul de setări), puteți viziona ulterior videoclipurile fără o conexiune.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nimic nu funcționează, ajutați-mă!","WEBSITE_MAINPAGE_FAQ_014_P1":"Sunteți sigur că ați instalat addon-uri? Dacă da, verificați cu ${1}centrul nostru de ajutor${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"Cum susține Stremio operațiunile de dezvoltare?","WEBSITE_MAINPAGE_FAQ_015_P1":"Rulează anunțuri non-intruzive ocazional, dar luăm în considerare trecerea la un model de donație.","WEBSITE_MAINPAGE_FAQ_015_P2":"Pentru mai multe întrebări, mergeți la ${1}centrul nostru de ajutor${2}.","HELP_LEARN_MORE":"Ajutați-ne să aflăm mai multe despre dvs.","LIFESTYLE":"Stil de viață","SPORTS":"Sport","FOOD_HEALTH":"Mâncare și sănătate","BEAUTY_FASHION":"Frumusețe și Modă","NEWS":"Știri","GAMING":"Jocuri video","SCIENCE_EDUCATION":"Știință și educație","MUSIC":"Muzică","TRAVEL":"Călătorii","LATE_NIGHT":"Târziu noaptea","REALITY":"Realitate","COMEDY":"Comedie","DIY":"Cum să faci singur","TECH":"Tehnologie","CINEMA":"Cinematograf","CONTINUE":"Continuare","SLOW_LOADING":"ÎNCĂRCARE GREOAIE?","I_GIVE_UP":"RENUNȚ","LEARN_MORE":"Aflați mai multe","POOR_SOURCE":"Această sursă este slab disponibilă sau conexiunea dvs. la internet nu este suficient de rapidă","PICK_CATEGORIES_ERR":"Trebuie să alegeți cel puțin 3 categorii","ADJUST_TIMING":"Ajustați timpul cu ","ADJUST_SIZE":"Ajustați dimensiunea cu ","SEARCH_ANYTHING":"Puteți căuta orice...","ALL_CATEGORIES":"Toate","SEARCH_CATEGORIES":"Filme, Seriale, YouTube și TV","SEARCH_PERSONS":"Actorii, Regizorii și Scenariștii","SEARCH_PROTOCOLS":"Link-uri HTTP și Magnet","SEARCH_TYPES":"Link-uri IMDB / TVDB","WATCHED":"Văzut","SHOW_LESS":"Afișează mai puțin","LAST_SEARCHES":"Căutări recente","CLEAR_HISTORY":"Șterge istoricul","CHOOSE_SOME":"ALEGEȚI CEVA DIN ASTA:","NO_WEB_REMOTE":"Web Remote nu a putut fi încărcat","STREMIO_OFFLINE":"Stremio este offline","STREMIO_EXPENSIVE_CONNECTION":"Am detectat că utilizați o conexiune de date mobile, doriți să continuați?","USE_DATA":"Utilizați datele","WARNING":"Avertisment","MORE_INFO":"Mai multe informații ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Se încarcă...","STREMIO_TV_BACK_TO_LANGUAGES":"Înapoi la limbi","STREMIO_TV_REMOTE":"Telecomandă","STREMIO_TV_GO_TO":"Mergi la:","STREMIO_TV_OR_SCAN":"sau scanează:","STREMIO_TV_ADDON_INSTRUCTIONS":"Vă rugăm să urmați instrucțiunile pentru a instala addon-urile preferate.","STREMIO_TV_LIVE_TV":"TV în direct","STREMIO_TV_RESUME_WATCHING":"Continuă vizionarea","STREMIO_TV_LOADING_BACKGROUND":"Se încarcă fundalul","STREMIO_TV_CHECKING_AUTHENTICATION":"Se verifică autentificarea","STREMIO_TV_LOADING_BOARD":"Se încarcă Tabloul","STREMIO_TV_LOGIN_HEADER_LINE_1":"Dorim ca utilizatorii noștri să aibă cea mai bună experiență personalizată cu software-ul nostru.","STREMIO_TV_LOGIN_HEADER_LINE_2":"De aceea vă rugăm să creați și/sau să vă autentificați în contul dvs.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Vă mulțumim pentru înțelegere,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Echipa Stremio","STREMIO_TV_REMOTE_INSTRUCTIONS":"Pentru a utiliza Telecomanda Web cu telefonul dvs. inteligent / tabletă / desktop:","STREMIO_TV_WIFI_SETUP":"Configurare Wi-Fi","STREMIO_TV_WIFI_HEADER_LINE_1":"Cercul Stremio nu a detectat o conexiune la internet.","STREMIO_TV_WIFI_DETAILS_1":"Conectați-vă la:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Utilizați parola:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Deschideți un browser web cu linkul:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Implicit","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"După Ultima vizionare","STREMIO_TV_LIBRARY_SORT_NAME":"După Nume","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"După Numărul de vizionări","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Sezonul ${1}","STREMIO_TV_STREAMS_LOADING":"Addon-uri încărcate ${1} / ${2}...","STREMIO_TV_STREAMS_STILL_LOADING":"Addon-ul ${1} încă se încarcă...","STREMIO_TV_PLAYER_SETTINGS":"Setări player","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Întârziere subtitrări","STREMIO_TV_PLAYER_AUDIO_DELAY":"Întârziere audio","STREMIO_TV_PLAYER_VIDEO_SCALING":"Ajustare scalare video","STREMIO_TV_PLAYER_CHAPTERS":"Capitole","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Treci peste ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Sursă de stream nesuportată","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Nu s-a putut deschide linkul extern","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Nu este reglabil în modul de trecere audio","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Redă cu ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Redă cu playerul libVLC","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Comutare la playerul libVLC din cauza unei erori de redare","STREMIO_TV_ADDONS_TITLE":"Folosiți Stremio pe telefonul sau PC-ul dvs. pentru a instala sau configura addon-uri și apăsați „Sincronizează addon-urile”","STREMIO_TV_ADDONS_SUBTITLE":"Notă: asigurați-vă că utilizați același cont Stremio","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sincronizează addon-urile","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addon-urile au fost sincronizate cu succes","STREMIO_TV_ADDONS_SYNC_FAILED":"Sincronizarea addon-urilor a eșuat","STREMIO_TV_META_LINK_FAILED":"Nu s-a putut deschide linkul meta","STREMIO_TV_CATALOG_LOADING":"Catalogul încă se încarcă...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Limba interfeței actualizată","STREMIO_TV_SETTINGS_THEME_UPDATED":"Tema actualizată","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Player implicit","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Player extern","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Limbă preferată","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"A doua limbă preferată","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Redare tunelată","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Posibile probleme de redare pe anumite dispozitive","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Anumite formate video s-ar putea să nu funcționeze","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Potrivirea ratelor de cadre","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Dezactivat","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Numai rata de cadre","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Rata de cadre și rezoluția","STREMIO_TV_SETTINGS_NO_CACHING":"Fără memorare cache","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Implicit","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Soft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Rapid","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra rapid","STREMIO_TV_SETTINGS_SERVER_URL":"URL server de streaming","STREMIO_TV_SETTINGS_SERVER_VERSION":"Versiune server","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Necunoscut","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Versiune Stremio","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Editare URL server","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Introduceți un URL de server de streaming","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Afișare statistici în timpul încărcării","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"Pentru a citi Politica de Confidențialitate Stremio, accesați:","STREMIO_TV_SETTINGS_TOS_TEXT":"Pentru a citi Termenii și Condițiile Stremio, accesați:","STREMIO_TV_NAV_SEARCH":"Căutare","STREMIO_TV_NAV_HOME":"Acasă","STREMIO_TV_NAV_DISCOVER":"Descoperă","STREMIO_TV_NAV_LIBRARY":"Bibliotecă","STREMIO_TV_NAV_MOVIES":"Filme","STREMIO_TV_NAV_SERIES":"Seriale","STREMIO_TV_NAV_CHANNELS":"Canale","STREMIO_TV_NAV_TV":"TV în direct","STREMIO_TV_NAV_SETTINGS":"Setări","STREMIO_TV_NAV_ADDONS":"Addon-uri","STREMIO_TV_LOGIN_TITLE":"Conectare Cont","STREMIO_TV_LOGIN_EXPIRES_IN":"Expiră în","STREMIO_TV_LOGIN_STEP_ONE":"Scanați codul QR de mai sus sau mergeți la","STREMIO_TV_LOGIN_STEP_TWO":"Autentificați-vă în contul Stremio","STREMIO_TV_LOGIN_NEW_LINK":"Solicitați un nou link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Codul de conectare a fost actualizat","STREMIO_TV_SEARCH_PLACEHOLDER":"Tastați ceva","STREMIO_TV_SEARCH_NO_ADDONS":"Nu au fost solicitate addon-uri pentru cataloage!","STREMIO_TV_SEARCH_BUTTON":"Căutare","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Istoric căutare","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Puteți căuta titluri, actori, canale și multe altele...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Șterge istoric căutare","STREMIO_TV_FILTERS_DESCRIPTION":"Alegeți din unul dintre filtrele de mai jos","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Serverul de streaming este offline. Verificați setările serverului.","FILTERS":"Filtre","SETTINGS":"Setări","ACCOUNT":"Cont","LOGOUT":"Deconectare","THEMES":"Teme","PLAYBACK":"Redare","PLAYBACK_SPEED":"Viteză redare","AUDIO_TRACKS":"Piste audio","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Videoclipuri","SERVER":"Server","LINKS":"Linkuri","ABOUT":"Despre","INTERFACE":"Interfață","ANIMATIONS":"Animații","STATUS":"Stare","LANGUAGE":"Limbă","SIZE":"Mărime","DELAY":"Întârziere","BOLD":"Aldin","OPACITY":"Opacity","TEXT_COLOR":"Culoarea textului","OUTLINE_COLOR":"Culoarea conturului","BACKGROUND_COLOR":"Culoarea fundalului","BACKGROUND_BLUR":"Estompare fundal","SEEK_TIME_DURATION":"Durată căutare timp","AUTO_PLAY":"Redă automat următorul episod","PLAY_NOW":"Redă acum","MARK_AS_WATCHED":"Marchează ca vizionat","MARK_AS_UNWATCHED":"Marchează ca nevizionat","REWIND_TO_BEGINNING":"Derulează la început","CONTINUE_WATCHING":"Continuă vizionarea","ALL":"Toate","SECONDS":"secunde","ON":"Activat","OFF":"Dezactivat","RELOAD":"Reîncărcare","EDIT_URL":"Editează URL-ul","NONE":"Niciunul","EMBEDDED":"Încorporat","REMOTE_SWITCH_DEVICES":"Comutare dispozitive","REMOTE_VIDEOS":"Videoclipuri","REMOTE_ADJUST_TIMING":"Ajustare sincronizare","REMOTE_ADJUST_SIZE":"Ajustare mărime","REMOTE_COULD_NOT_BE_LOADED":"Telecomanda Web nu a putut fi încărcată","REMOTE_RETRY":"Reîncercare","TORRENT_PROFILE_DEFAULT":"Implicit","TORRENT_PROFILE_SOFT":"Soft","TORRENT_PROFILE_FAST":"Rapid","TORRENT_PROFILE_ULTRA_FAST":"Ultra rapid","FAQ_001_H1":"Ce este Stremio?","FAQ_001_P1":"Stremio este un software pentru centru media proiectat pentru divertisment video cu ușurință în utilizare în minte. Stremio vă permite să vă organizați și să vizionați propria colecție de filme, seriale, canale și TV în direct.","FAQ_001_P2":"Stremio colectează conținutul pe care vi-l arată de pe discul local și prin sistemul nostru de addon-uri.","FAQ_001_P3":"De asemenea, vă va notifica atunci când apar episoade/videoclipuri/filme noi pe care le urmăriți și vă va oferi recomandări de filme.","FAQ_02_H1":"Cum se compară Stremio cu Kodi și Plex?","FAQ_02_P1":"Suntem inspirați de cele două programe. Dar avem obiective diferite - Stremio este orientat în mod specific către divertisment video și încearcă să devină soluția principală pentru asta prin ușurința sa de utilizare.","FAQ_02_P2":"Stremio nu va fi niciodată la fel de personalizabil și bogat în funcții ca Kodi și Plex, dar este semnificativ mai ușor de utilizat. Doar ${1}încercați-l și vedeți${2} :)","FAQ_03_H1":"Cum se compară Stremio cu Netflix?","FAQ_03_P1":"Iarăși, Netflix este una dintre inspirațiile noastre. Ne străduim să obținem experiența utilizatorului de la Netflix, plus multe adăugiri. Dar cel mai important, vă oferim libertatea de a vă gestiona propria bibliotecă și de a adăuga surse noi de conținut cu ajutorul sistemului nostru de addon-uri.","FAQ_03_P2":"Acest lucru face ca Stremio să fie infinit extensibil, astfel că atunci când utilizați Stremio, nu sunteți limitat la conținutul pe care Netflix decide să îl licențieze. De exemplu, prin intermediul Stremio puteți viziona conținut de pe ${1}Filmon.tv${2}, ${3}Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} și chiar ${9}Netflix${10} în sine!","FAQ_04_H1":"Cum se compară Stremio cu Flipboard?","FAQ_04_P1":"Această întrebare nu este foarte obișnuită, cu excepția cazului în care discutăm cu oameni din start-up-uri :)","FAQ_04_P2":"Stremio este în mod intenționat un agregator de conținut, ceea ce îl face practic Flipboard pentru video. Acest lucru este foarte vizibil în secțiunea noastră Tablou, care vă oferă cataloage și notificări pentru episoade noi/videoclipuri noi pentru ceea ce urmăriți, exact ca Flipboard.","FAQ_05_H1":"Cum se compară Stremio cu Popcorn Time?","FAQ_05_P1":"Stremio și Popcorn Time sunt similare ca interfață de utilizator, pentru că nu există multe modalități de a realiza corect cataloage de divertisment video :)","FAQ_05_P2":"Dar în timp ce Popcorn Time se concentrează pe redarea de torrente din surse specifice, Stremio nu are restricții și este doar un agregator de conținut - nu este blocat într-o sursă specifică de conținut.","FAQ_05_P3":"În plus, noi nu oferim niciun addon pentru torrente în mod implicit, deci Stremio nu acoperă cazul de utilizare Popcorn Time cu funcționalitate oficială.","FAQ_05_P4":"O altă diferență semnificativă este că Popcorn Time este complet open source, în timp ce Stremio este ${1}parțial open source${2}.","FAQ_06_H1":"Veți adăuga acest film/serial?","FAQ_06_P1":"Nu, ne pare rău :(","FAQ_06_P2":"După cum este menționat și în majoritatea celorlalte întrebări, Stremio nu furnizează niciun conținut în sine - totul este adăugat prin intermediul sistemului nostru de addon-uri. În cazul în care aveți o cerere de conținut, puteți folosi butonul „Raportați” din Player, care va trimite un e-mail autorului addon-ului pe care îl utilizați în prezent.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Vei crea un addon pentru X?","FAQ_08_P1":"Este cu desăvârșire posibil.","FAQ_08_P2":"Dacă aveți o idee pentru un addon, lăsați-ne un mesaj la ${1}office@stremio.com${2}, dar vă rugăm să vă asigurați că ideea dvs. de addon nu va încălca drepturile de autor sau termenii de utilizare.","FAQ_08_P3":"În prezent, următoarele lucruri de pe agenda noastră sunt addon-uri pentru FandangoNOW, video la cerere Filmon.tv și Crunchyroll.","FAQ_09_H1":"Folosește Stremio BitTorrent?","FAQ_09_P1":"Da, Stremio suportă BitTorrent ca protocol de streaming. Puteți folosi asta fie cu un addon pentru torrente, fie prin trascinarea și fixarea unui fișier .torrent în Stremio, fie prin lipirea unui magnet link în Bara de căutare.","FAQ_09_P2":"Vă rugăm să rețineți că singurul addon oficial care folosește BitTorrent este ${1}Vodo${2}, care oferă conținut indie, permis în întregime pentru distribuție cu BitTorrent.","FAQ_09_P3":"Noi nu susținem utilizarea addon-urilor terților care ar putea permite încălcarea drepturilor de autor.","FAQ_10_H1":"Ce pot viziona în Stremio cu addon-urile oficiale?","FAQ_10_P1":"În mod implicit, puteți viziona conținut de pe Filmon.tv, YouTube și Vodo în Stremio însuși, cu ajutorul player-ului său încorporat. În plus, avem un addon pentru Twitch.tv și câteva altele.","FAQ_10_P2":"Acest lucru oferă o selecție de:","FAQ_10_L1":"Canale TV populare, oferite de Filmon.tv - de exemplu E4, BBC, Bollyworld TV","FAQ_10_L2":"Totul de pe YouTube - de exemplu BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Filme indie cu Vodo","FAQ_10_L4":"Transmisiuni de jocuri online cu Twitch.tv","FAQ_10_P3":"În plus, există multe surse de conținut furnizate cu addon-urile Guidebox și Netflix, care <b>nu</b> se joacă în întregime în Stremio, ci vă redirecționează către serviciul dat. De exemplu, addon-ul Guidebox vă oferă o selecție de filme pe care le puteți viziona gratuit în SUA, din servicii precum TubiTV și Crackle.","FAQ_11_H1":"Stremio nu se instalează, ce ar trebui să fac?","FAQ_11_P1":"Dacă sunteți pe Windows, încercați ${1}acest instalator alternativ${2}.","FAQ_11_P2":"Dacă sunteți pe Mac OS X, vă rugăm să știți că nu susținem nimic mai vechi decât OS X Mavericks (10.9).","FAQ_11_P3":"Dacă sunteți pe Linux, rețineți că susținem doar Linux pe 64 de biți (x64) în acest moment.","FAQ_11_P4":"Dacă în continuare nu puteți rezolva problema, vă rugăm să ne scrieți la ${1}grupul nostru de Facebook${2}.","FAQ_12_H1":"De ce antivirusul meu se plânge? Este Stremio sigur?","FAQ_12_P1":"Vă asigurăm că Stremio este ${1}100% curat${2}.","FAQ_12_P2":"Antivirusul dvs. se plânge pentru că includem publicitate în installer-ul nostru, pe care unii programe antivirus îl recunosc ca ad-ware.","FAQ_12_P3":"Dacă nu sunteți sigur, puteți încerca ${1}instalatorul alternativ${2} al nostru.","FAQ_13_H1":"Cum pot crea un addon?","FAQ_13_P1":"În primul rând, vă recomandăm să verificați ${1}modulul nostru de sistem pentru addon-uri${2} pe GitHub.","FAQ_13_P2":"Apoi, puteți urma ${1}tutorialul Salut, lume!${2}.","FAQ_13_P3":"Dacă nu aveți abilități de programare, vă rugăm să postați ideea dvs. de addon pe ${1}comunitatea noastră de Reddit${2} și să ne contactați cu ideea dvs. de addon la ${3}office@stremio.com${4}.","FAQ_14_H1":"Cum se publică addon-urile?","FAQ_14_P1":"Când creați un addon și îl găzduiți și introduceți un câmp <b>endpoint</b> în manifestul dvs., care indică către o adresă de addon funcțională, addon-ul se va publica automat în ${1}catalogul de addon-uri${2}.","FAQ_14_P2":"Acest lucru se întâmplă pentru că partea de server a modulului stremio-addons face automat o solicitare către API-ul nostru pentru a anunța addon-ul. Când API-ul nostru validează <b>endpoint</b>-ul dvs. ca fiind un addon valid, acesta va începe să apară în catalog.","FAQ_15_H1":"Pot să rulez Stremio în browser-ul meu?","FAQ_15_P1":"Nu în acest moment, dar asta vine în curând!","FAQ_15_P2":"Dacă sunteți curios să vedeți o versiune Alpha, o puteți găsi aici: ${1}alpha4.strem.io${2}. Rețineți că streamingul este dezactivat în această versiune Alpha. Noi susținem Chrome, Firefox, Opera și Edge.","FAQ_16_H1":"Casting-ul pe TV nu funcționează / subtitrările nu funcționează","FAQ_16_P1":"Casting-ul pe TV folosește tehnologia DLNA, care este foarte inconsistentă între diferite mărci și modele de televizoare. Din acest motiv, nu avem capacitatea de a o testa în fiecare caz, deci este departe de a fi perfectă. Cu toate acestea, lucrăm constant la îmbunătățirea ei, dar nu vă putem da o estimare a momentului în care DLNA va începe să funcționeze corect cu televizorul dvs.","FAQ_16_P2":"Dacă nici măcar nu vedeți televizorul dvs. în meniul de casting, vă rugăm să încercați să dezactivați și să reactivați conexiunea dvs. la rețea (pe Windows, faceți clic dreapta pe Rețea și utilizați Opțiunea Dezactivează/Activează), precum și repornirea routerului, a televizorului și a PC-ului.","FAQ_16_P3":"Dacă întâmpinați în continuare probleme, ne puteți ajuta trimițând informații despre marcă și modelul televizorului la ${1}office@stremio.com${2}.","FAQ_16_P4":"Între timp, vă recomandăm Chromecast, pe care îl susținem foarte bine, sau pur și simplu să conectați televizorul la PC cu un cablu HDMI.","FAQ_17_H1":"Stremio se blochează și/sau se închide brusc, ce pot face?","FAQ_17_P1":"În primul rând, dacă utilizați Windows 7 cu AVG anti-virus: avem o problemă cu această combinație. Problema este în AVG în sine și nu există o modalitate rezonabilă de a o rezolva din partea noastră. Din păcate, excepțiile sau dezactivarea antivirusului nu vor funcționa. Singura soluție este să înlocuiți AVG cu altceva.","FAQ_17_P2":"Dacă nu este aceasta problema, dar utilizați în continuare Windows, vă rugăm să actualizați la cea mai recentă versiune de service pack și să actualizați/reinstalați driverele GPU, apoi să încercați din nou.","FAQ_17_P3":"Dacă problema dvs. nu este încă rezolvată sau utilizați un Mac sau Linux, vă rugăm să ne scrieți raportând detaliile exacte ale problemei la ${1}grupul nostru de Facebook${2}.","FAQ_18_H1":"Cum pot crea un addon?","FAQ_18_P1":"Pentru început, vă recomandăm să verificați ${1}modulul nostru de sistem pentru addon-uri${2} pe GitHub.","FAQ_18_P2":"Apoi, puteți urma ${1}tutorialul Salut, lume!${2}.","FAQ_18_P3":"Dacă nu aveți abilități de programare, vă rugăm să postați ideea dvs. de addon pe ${1}comunitatea noastră de Reddit${2} și să ne contactați cu ideea dvs. de addon la ${3}office@stremio.com${4}.","FAQ_19_H1":"De ce ocupă Stremio spațiu pe disc?","FAQ_19_P1":"Stremio are o <b>cache locală</b> pentru a păstra temporar fișierele video pe care le redați, pentru a le putea reda din nou fără a le descărca din nou. De exemplu, dacă redați un episod de serial, acesta va fi descărcat pe discul local pentru a vă oferi o experiență mai bună de vizionare, fără întreruperi sau tamponări.","FAQ_19_P2":"În plus, add-on-urile oficiale pot cere să descarce conținut temporar pentru a-l reda. Acestea pot include subtitrări, imagini de previzualizare și alte resurse. Toate acestea contribuie la ocuparea spațiului pe disc de către Stremio.","FAQ_19_P3":"Pentru a gestiona spațiul ocupat de Stremio, puteți curăța cache-ul din setările Stremio. Acest lucru va șterge toate fișierele temporare descărcate de Stremio, dar va trebui să le redescărcați dacă doriți să le vizionați din nou.","FAQ_20_H1":"Unde se află folderul de cache?","FAQ_20_P1":"Pe Windows, este stremio-cache în unitatea pe care ați selectat-o în Setări (de exemplu, \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"Pe MacOS, este \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"Pe Linux, este \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"Primeșc eroarea \\"Streaming server is not found\\", ce pot să fac?","FAQ_21_P1":"Dacă primiți această eroare, înseamnă că există câteva posibilități:","FAQ_21_P2":"1) Încercați să utilizați un addon susținut de sursa YouTube/BitTorrent prin ${1}versiunea noastră web${2}. În acest caz, ar trebui să instalați versiunea noastră de desktop de pe ${3}site-ul nostru${4}.","FAQ_21_P3":"2) Există o problemă cu instalarea Stremio pe calculatorul dvs. În acest caz, încercați să reinstalați ultima versiune de desktop de pe ${1}site-ul nostru${2}. Dacă acest lucru nu ajută, încercați să dezactivați programele antivirus și firewallele, să reporniți PC-ul și să încercați din nou. Dacă acest lucru nu funcționează nici în acest caz, vă rugăm să ne scrieți la ${3}grupul nostru de Facebook${4}.","FAQ_22_H1":"Nu pot vedea/utiliza majoritatea addon-urilor pe iOS","FAQ_22_P1":"Din cauza restricțiilor din termenii și condițiile App Store de la Apple, am restricționat aplicația iOS doar la un set particular de addon-uri.","FAQ_22_P2":"Dar stați liniștit - vor fi mai multe addon-uri pentru iOS în viitor, iar noi am putea adăuga o integrare care vă va permite să utilizați toate addon-urile Stremio datorită conectării aplicației iOS la Stremio Streaming Server."}')},6687:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Кино","TYPE_series":"Сериал","TYPE_tv":"ТВ-канал","TYPE_channel":"Канал","TYPE_other":"Прочее","TYPE_movie_PL":"Кино","TYPE_series_PL":"Сериалы","TYPE_tv_PL":"ТВ-каналы","TYPE_channel_PL":"Каналы","TYPE_other_PL":"Прочее","TYPE_ALL":"Все","TYPE":"Type","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"Видео","BACK":"Назад","MORE":"Ещё","DONE":"Готово","COPY":"Копировать","SUCCESS":"Готово","ERROR":"Ошибка","SETTINGS_CASTING_MODE_PICKER":"Casting mode","CASTING_MODE_HLSV2":"По умолчанию","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Нет транкодирования","Discover":"Открытия","Board":"Доска","Library":"Библиотека","My Library":"Моя библиотека","Calendar":"Календарь","NOTIFICATION_ONLINE":"Вы в сети","NOTIFICATION_OFFLINE":"Вы вне сети","INTERNET_CONNECTION":"Сетевое подключение","STORAGE_FULL_TITLE":"Внимание: хранилище заполнено!","STORAGE_FULL_TEXT":"Stremio не может сохранить ваши настройки, предпочтения или данные для входа. Попробуйте перезапустить или переустановить Stremio.","SEARCH":"поиск","SEARCH_NO_RESULTS":"Ничего не найдено","SEARCH_EXPLANATION_CONTENT":"Поиск фильмов, сериалов, YouTube и ТВ-каналов","SEARCH_EXPLANATION_PEOPLE":"Поиск актёров, режиссёров и авторов","SEARCH_PASTE_LINKS":"Вставьте HTTP и Magnet-ссылки","SEARCH_OR_PASTE_LINK":"Search or paste link","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"Добавить в библиотеку","REMOVE_FROM_LIB":"Удалить из библиотеки","ADDED_TO_LIB":"Добавлено в библиотеку","REMOVED_FROM_LIB":"Удалено из библиотеки","TRAILER":"Трейлер","WATCH_TRAILER":"Смотреть трейлер","WATCH_NOW":"Смотреть","SHOW":"Показать","SHOW_MOVIE":"Показать фильм","WATCH_RANDOM":"Смотреть в случайном порядке","IMDB_RATING":"Рейтинг IMDb","YEAR":"Год","DIRECTOR":"Режиссёр","WRITER":"Писатель","LEAD_ACTORS":"Основные актёры","CAST":"Актёры","CREW":"Команда","SHOW_MORE_CAST":"Показать больше »","AIRED":"Выпуск","SEASONS":"Сезоны","GENRE":"Жанр","GENRE_ALL":"All genres","CATALOG":"Каталог","SUMMARY":"Описание","SHOW_MORE":"Показать больше","SIMILAR":"Похожее","UPCOMING":"Скоро","ENDED":"Закончилось","DURATION":"Продолжительность","FEATURED":"Представлено","METADATA":"Метаданные","CATEGORY":"категория","LINKS_GENRES":"Жанры","LINKS_CAST":"Актёры","LINKS_DIRECTORS":"Режиссёры","SEARCH_VIDEOS":"поиск видео","SEARCH_PLACEHOLDER":"поиск или вставка магнитной ссылки","ADDON":"Дополнение","ADDONS":"Дополнения","OFFICIAL":"Официальный","ADDONS_OFFICIAL":"Официальные дополнения Stremio","ADDONS_POPULAR":"Популярно в вашем районе","ADDON_FREE":"Бесплатно","ADDON_PEERED":"Попробовать","ADDON_SUBSCRIPTION":"Подписка","ADDON_STREAM_GEORESTRICTED":"Недоступно в вашем регионе","ADDON_STREAM_OFFLINECACHE":"Офлайн-кэш","ADDON_STREAM_LOCALFILE":"Локальный файл","SHARE_ADDON":"Поделиться дополнением","AVAILABLE_STREAMS":"Доступные стримы","NO_STREAM":"Нет стримов","ALL_ADDONS":"Все","INSTALL_MORE_ADDONS":"Для большего количества стримов установите больше дополнений","STREAM_NOT_SUPPORTED":"Выбранные стримы не поддерживаются на этой платформе.","ADDON_CATALOGUE":"Показать все дополнения »","ADDON_CATALOGUE_MORE":"Больше дополнений »","REPO_ADDED":"Репозиторий добавлен","ADDON_REPO_EXIST_ERR":"Этот репозиторий дополнений уже существует","ADDON_REPO_ERR":"Ошибка при добавлении репозитория","ADDON_ADD_ERR":"Ошибка при добавлении дополнения","ERR_ADDON_PROTECTED":"Защищенное дополнение","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Что-то пошло не так — возможно, аутентификация не удалась","ERR_NOT_COLLECTION_URL":"Не URL-адрес коллекции","ERR_NOT_ADDON_URL":"Не URL-адрес дополнения","ERR_DETECTFROMURL":"Не удается обнаружить по URL-адресу","ADDON_DUPLICATE_WARNING":"Внимание: дублирующееся дополнение","ADDON_COLLECTION_SET_FAILED":"Не удалось установить коллекцию дополнений","SETTINGS_DATA_EXPORT":"Экпорт данных","ADDON_PULL_FAILED":"Синхронизация установленных дополнений из вашей учетной записи не удалась","REFRESH_ON_CLICK":"Нажмите, чтобы повторить","STILL_IN_THEATER":"Фильм все еще показывают в кинотеатрах","WATCH_IN_CINEMA":"Смотрите его в местном кинотеатре","IN_THEATER":"В кино","GET_TICKETS":"Купить билеты","UPCOMING_EPISODE":"Предстоящий эпизод","UPCOMING_EPISODE_MESSAGE":"Этот эпизод выйдет в эфир","MISSING_DATE_EPISODE":"Дата отсутсвует","MISSING_DATE_EPISODE_MESSAGE":"Возможно, этот эпизод еще не выпущен","CHANNEL_NOT_SCRAPED":"Этот канал ещё не просканирован.<br>Пожалуйста, вернитесь через несколько минут.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Добавьте в библиотеку, чтобы получить уведомление, как только станет доступно.","GET_NOTIFIED_WHEN_AVAILABLE":"Вы получите уведомление, как только станет доступно.","WARNING_STREAMING_SERVER":"Внимание: локальный стриминговый сервер не найден. Стриминг из локальных файлов, YouTube и BitTorrent будет недоступен.","WARNING_STREAMING_SERVER_DISMISS":"Отклонить","WARNING_STREAMING_SERVER_LATER":"Позже","DECODER_WARNING":"Внимание: это видео может не поддерживаться вашим оборудованием. Имейте в виду, что воспроизведение может быть замедленным.","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"Упс, ошибка воспроизведения","PLAYER_ERROR_LOOKSLIKE":"Выглядит как","PLAYER_ORIENTATION":"Ориентация плеера","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Заблокировано","PLAYER_ORIENTATION_SENSOR_SHORT":"По датчику наклона","PLAYER_ORIENTATION_LANDSCAPE":"Ориентация плеера заблокирована в альбомной ориентации","PLAYER_ORIENTATION_SENSOR":"Автоматическая ориентация плеера (датчик)","PLAYER_PLAYBACK_SPEED":"Скорость воспроизведения","PLAYER_PLAYBACK_ERROR":"Ошибка воспроизведения, пожалуйста, попробуйте снова","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Неизвестная ошибка","PLAYER_PLAYBACK_ERROR_DEFAULT":"Извините, это видео не может быть воспроизведено {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Языки субтитров","PLAYER_SUBTITLES_VARIANTS":"Варианты субтитров","PLAYER_SUBTITLES_SETTINGS":"Настройки субтитров","PLAYER_SUBTITLES_DISABLED":"Субтитры отключены","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Вертикальное положения","PLAYER_SUBTITLES_LOADED":"Subtitles loaded","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Embedded subtitles loaded","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Exclusive subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Subtitles from {{origin}} loaded","PLAYER_PLAY":"Play","PLAYER_PAUSE":"Pause","PLAYER_NEXT_VIDEO":"Следующее видео","PLAYER_MUTE":"Mute","PLAYER_UNMUTE":"Unmute","PLAYER_OPEN_IN_EXTERNAL":"Open in external player","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Play in {{device}}","PLAYER_LIVE":"Live","PLAYER_NEXT_VIDEO_TITLE":"Смотрите далее","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Отклонить","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Смотреть","PLAYER_COPY_STREAM_SUCCESS":"Stream link was copied to your clipboard","PLAYER_COPY_STREAM_ERROR":"Не удалось скопировать ссылку трансляции","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","STREAMING_FROM":"Стрим от","CASTING_TO":"Стим для","NETWORK_STATUS":"Состояние сети","STREAM_SPEED":"Скорость:","STREAM_BUFFERED":"Загружено:","PEERS_INFO":"Информация о пирах","PEERS_ACTIVE":"Активны:","PEERS_CONNECTED":"Подключены:","PEERS_WAITING":"Ждут:","TRANSCODING_WARNING":"Внимание: перекодирование видео.","STREAM_LOADING":"Загрузка...","PLAYING_LOCAL":"Из локального файла","PLAYING_CACHE":"Из кэша","WRONG_SUBS":"Некорректные субтитры?","ERR_SUBS_LOADING_TITLE":"Ошибка загрузки субтитров","ERR_SUBS_LOADING":"Не удалось загрузить субтитры: это может быть связано с используемым вами дополнением или с сетевым подключением","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Не удалось выполнить следующие дополнения субтитров","ERR_CASTING_UPDATE_TITLE":"Не удалось обновить информацию об устройстве трансляции: стриминг-сервер, возможно, отключен","CHOOSE_DEVICE":"Выберите устройство для просмотра","NO_CAST_DEVICES":"Нет доступных устройств.","NO_SETTINGS":"Настройки недоступны.","PHONE_TABLET":"Телефон/планшет","SUBTITLES":"Субтитры","SUBTITLES_CHANGE":"Изменить субтитры для ","SUBTITLES_CHANGE_NONE":"К сожалению, нет других субтитров для этого языка","SUBTITLES_CHANGE_ACIVE":"Сейчас выбраны субтитры &#35;{{subtitlesDialog.activeIdx + 1}}. Нажмите \\"Продолжить\\", чтобы выбрать субтитры &#35;{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Как вариант,","SUBTITLES_ADJUST_DELAY":"Настроить задержку субтитров:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Или использовать клавиши <span>G</span>/<span>H</span> во время вопроизведения для настройки.","SUBTITLES_ADJUST_DELAY_TIP":"Совет: вы можете использовать клавиши <span>G</span>/<span>H</span> во время вопроизведения для настройки.","SUBTITLES_DELAY":"Задержка субтитров:","SUBTITLES_LOADING":"Загрузка субтитров...","SUBTITLES_UNAVAILABLE":"Нет доступных внешних субтитров","SUBTITLES_DISABLED":"Отключено","EXTERNAL_PLAYER_DISABLED":"Отключено","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Разрешить выбор","EXTERNAL_PLAYER_HINT":"Hint: There is a setting to allow always opening with external player","DONT_SHOW_AGAIN":"Не показывать снова","SERVICE_INSTALL":"Установить","AUDIO":"Аудио","DEFAULT_LANGUAGE":"Язык по умолчанию","DEFAULT_SECONDARY_LANGUAGE":"Дополнительный язык по умолчанию","SEASON":"Сезон","EPISODE":"Эпизод","EPISODE_ABBREVIATION":"EP","SPECIAL":"Особый","SORT":"Сортировать","SORT_BY":"Сортировать по","FILTER":"Фильтровать","SORT_TRENDING":"Лидеры","SORT_RECENT":"Недавние","SORT_ALPHABET":"А-я","SORT_ALPHABET_REVERSE":"я-а","SORT_RATING":"Рейтинг","SORT_WATCHED":"Просмотрено","SORT_YEAR":"Год","SELECT_TYPE":"Select type","SELECT_SORT":"Select sort","SELECT_CATALOG":"Select catalog","SELECT_GENRE":"Select genre","SORT_LASTWATCHED":"По последнему просмотру","SORT_NAME":"По названию","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"По количеству просмотров","SORT_NOTWATCHED":"not watched","New for You":"Новые для вас","New Episodes":"Новые эпизоды","New Videos":"Новые видео","Recommendations":"Рекомендации","LIBRARY_RESUME":"Продолжить","LIBRARY_PLAY":"Play","LIBRARY_DETAILS":"Подробности","LIBRARY_RESUME_DISMISS":"Сбросить","LIBRARY_CLEAR_PROGRESS":"Очистить прогресс","LIBRARY_REMOVE":"Удалить","LIBRARY_NOT_LOGGED_IN":"Library is only available for logged in users","CALENDAR_NOT_LOGGED_IN":"Calendar is only available for logged in users","NOT_LOGGED_IN_CLOUD":"Access your favorite movies and TV shows anytime, anywhere","NOT_LOGGED_IN_RECOMMENDATIONS":"Recommendations tailored to your viewing history","NOT_LOGGED_IN_NOTIFICATIONS":"Никогда больше не пропустите ни одной серии","NOT_LOGGED_IN_CALENDAR":"Запланируйте ваш личный календарь просмотра","DISCOVER_FEATURED":"Рекомендуемые","DISCOVER_TOP":"Топ","DISCOVER_OSCAR":"Победители Оскара","DISCOVER_WARNING_TITLE":"Ой!","DISCOVER_EMPTY_CATALOG":"Это дополнение вернуло пустой контент.","DISCOVER_ADULT_WARNING":"Контент доступен только взрослым. Вам 18+?","DISCOVER_NOADDON_WARNING":"Внимание: не было найдено активного дополнения для этого типа. Показаны только сохранённые элементы, обновления не могут быть выполнены.","DISCOVER_LOAD_ERR":"Контент не загрузился, произошла ошибка.","DISCOVER_ADDON_UNINSTALLED":"Этот контент больше не доступен, возможно, вы удалили дополнение.","UNINSTALL_THIS_ADDON":"Удалить дополнение","ERR_ADDON_NOT_INSTALLED":"Это дополнение не установлено. Установить?","DETAIL_RECEIVE_NOTIF_SERIES":"Получать уведомления о новых эпизодах","DETAIL_RECEIVE_NOTIF_VIDEOS":"Получать уведомления о новых видео","SIDEBAR_SHOW_STREAMS":"Показать стримы","RELAUNCH":"Перезапустить!","UPGRADE":"Доступная новая версия! Обновите Stremio до последней версии","RELOAD_UI":"Перезагрузить пользовательский интерфейс","MANUAL_UPDATE_TITLE":"Обновите версию Stremio","MANUAL_UPDATE_LINE1":"Вы используете устаревшую версию Stremio, которая крайне не рекомендуется.","MANUAL_UPDATE_LINE2":"Пожалуйста, обновите как только получится.","BUTTON_UPDATE_LATTER":"Не сейчас","BUTTON_UPDATE_NOW":"Обновить","ANONYMOUS_USER":"Анонимный пользователь","DONT_HAVE_ACC":"Нет аккаунта?","HAVE_ACC":"Уже есть аккаунт?","PASSWORD":"Пароль","PASSWORD_CONFIRM":"Подтвердить пароль","EMAIL":"Эл. почта","FB_LOGIN":"Войти с Facebook","FB_NOTHINGSHARED":"Мы не будем ничем делиться без вашего согласия","FB_NOPOST":"Мы не будем ничего публиковать без вашего согласия","OR":"или","I_ACCEPT":"Я принимаю","I_ACCEPT_BY_CLICKING":"Нажимая кнопку выше, я подтверждаю, что принимаю ","TOS":"Условия и положения","MUST_ACCEPT_TERMS":"Вы должны принять условия","PASSWORDS_NOMATCH":"Пароли не совпадают","SIGN_UP":"Регистрация","SIGN_UP_EMAIL":"Зарегистроваться с эл. почтой","CLICK_TO_SIGN_UP":"Нажмите здесь, чтобы зарегистрироваться.","LOG_IN":"Войти","LOG_OUT":"Выйти","EXIT_FULLSCREEN":"Выйти из полноэкранного режима","ENTER_FULLSCREEN":"Войти в полноэкранный режим","PLAY_URL_MAGNET_LINK":"Play URL/Magnet link","HELP_FEEDBACK":"Помощь и обратная связь","TERMS_OF_SERVICE":"Условия обслуживания","PRIVACY_POLICY":"Политика конфиденциальности","ABOUT_STREMIO":"О Stremio","USER_PANEL":"Панель пользователя","LOGIN_LABEL":"Войти","GUEST_LOGIN":"Войти как гость","GUEST_LOGIN_NOTICE":"Гостевой вход не рекомендуется. Использование обычного входа позволяет Stremio синхронизировать вашу библиотеку, получать уведомления о любимых сериалах/каналах. Вы уверены, что хотите продолжить?","GUEST_LOGIN_NOTICE_2":"Гостевой вход не рекомендуется. У вас не будет синхронизированной библиотеки и доски уведомлений, которые являются очень важными функциями Stremio. Вы уверены, что хотите продолжить?","CLICK_HERE":"нажмите здесь","WRONG_PASSWORD":"Неправильный пароль. Если вы забыли свой пароль, ","SET_A_PASS":"установить пароль","RESET_PASSWORD":"Сброс пароля","FORGOT_PASSWORD":"Забыли пароль?","EMAIL_USED_WITH_FB":"Эта эл. почта была использована с логином Facebook.","INVALID_EMAIL":"Пожалуйста, введите действительный адрес эл. почты","INVALID_PASSWORD":"Пожалуйста, введите действительный пароль","CONN_ERR":"Ошибка подключения. Повторите попытку позже.\\n\\nЕсли проблема не устранится, отключите брандмауэры/антивирусное ПО (особенно Bitdefender).","IMPORT_FROM_GUEST":"Импорт библиотеки из гостевой учетной записи","RECEIVE_UPDATES_EMAIL":"Получайте обновления от Stremio на свою эл. почту","LOGIN_FAILED":"Ошибка входа.","SIGNUP_FAILED":"Регистрация не удалась.","SEARCH_FAILED":"Поиск не удался","EMAIL_USED":"Эта эл. почта уже используется.","WAITING_FB_LOGIN":"Вход через Facebook...","EXTERNAL_PLAYER_TITLE":"Воспроизвести во внешнем плеере","EXTERNAL_REMEMBER_PLAYER":"Хотите запомнить свой выбор","EXTERNAL_ALWAYS_PLAY":"Да","EXTERNAL_ONLY_ONCE":"Нет","BEST_FIT":"Наиболее подходящее","FIT_SCREEN":"По размеру экрана","FILL":"Заполнить","16:9":"16:9","4:3":"4:3","Original":"Оригинал","INTRO_TASTE":"Расскажите, что вам нравится","INTRO_TASTE_LONG":"Расскажите нам о том, что вы хотели бы посмотреть","INTRO_TASTE_PICK":"Выберите {{interestsRemaining}} интересов","INTRO_TASTE_PICK_MORE":"Выберите больше интересов {{interestsRemaining}}","INTRO_TASTE_HELP_US":"Помогите нам лучше узнать вас.","INTRO_TASTE_CHOOSE_THESE":"Выберите некоторые из них:","INTRO_TASTE_CHOOSE_MIN":"Выберите не менее 3 категорий","INTRO_TASTE_CHOOSE_MIN_ERR":"Вы должны выбрать минимум 3 категории!","INTRO_TASTE_LIFESTYLE":"Образ жизни","INTRO_TASTE_SPORTS":"Спорт","INTRO_TASTE_FOOD_HEALTH":"Еда и здоровье","INTRO_TASTE_BEAUTY_FASHION":"Красота и мода","INTRO_TASTE_NEWS":"Новости","INTRO_TASTE_GAMING":"Игры","INTRO_TASTE_SCIENCE_EDU":"Наука и образование","INTRO_TASTE_MUSIC":"Музыка","INTRO_TASTE_TRAVEL":"Путешествия","INTRO_TASTE_LATE_NIGHT":"Ночное шоу","INTRO_TASTE_REALITY":"Реалити","INTRO_TASTE_COMEDY":"Комедия","INTRO_TASTE_DIY":"Сделать своими руками","INTRO_TASTE_TECH":"Технологии","INTRO_TASTE_CINEMA":"Кино","ADDON_NOT_SUPPORTED":"Выбранное дополнение не поддерживается на этой платформе.","ADDON_DISCLAIMER":"Использование посторонних дополнений всегда будет предметом вашей личной ответственности и попадает под регулирующее законодательство той юрисдикции в которой вы находитесь.","ADDON_ACTIVATE":"активировать это дополнение?","ADDON_REPO_ADD":"URL-адрес репозитория дополнения","ADDON_ADD":"Добавить","INSTALL_ADDON":"Install addon","ADD_ADDON":"Добавить дополнение","ADD_ADDON_DESCRIPTION":"You can add an addon via an external link, which will appear under Installed addons.","PASTE_ADDON_URL":"Вставьте URL-адрес дополнения","WHATS_NEW":"Что нового","BUTTON_CONTINUE":"Продолжить","BUTTON_ACTIVATE":"Активировать","BUTTON_ACTIVATED":"Активировано","BUTTON_CANCEL":"Отмена","BUTTON_SUBMIT":"Отправить","BUTTON_DISMISS_ALL":"Отклонить все","BUTTON_VIEW_ALL":"Посмотреть все","BUTTON_SEE_ALL":"Смотреть все","BUTTON_COLOR_TRANSPARENT":"Прозрачн.","OPEN_IN_BROWSER":"Open in browser","LIB_EMPTY":"Ваша библиотека пуста. Узнайте, насколько она полезна :)","HOW_START":"Как начать:","LIB_EMPTY_CAL":"Ваш календарь показывает сериалы в библиотеке.","HOW_START_CAL":"Как вы можете добавить сериал:","LIB_EMPTY_BOARD":"Таблица показывает уведомления и рекомендации, относящиеся к вашей библиотеке.","HOW_START_BOARD_WAIT":"Пожалуйста, добавьте несколько серий или каналов к вашей библиотеке и дайте нам несколько минут для обработки :)","HOW_START_BOARD":"Вот как вы можете добавить сериалы и фильмы:","IMPORT_FB":"Импорт понравившегося материала из <span>Facebook</span>","IMPORT_TRAKT":"Импорт медиатеки из <span>Trakt</span>","IMPORT_DISCOVER":"Найти интересный материал в <span>Открытиях</span>","IMPORT_DISK":"Импорт видео из <span>локального диска</span>","PLEASE_CREATE_ACC":"Пожалуйста, <u>создайте аккаунт</u>, чтобы включить синхронизацию библиотеки и доски.","IMPORT_DISCOVER_SIGNUP":"Зарегистрируйтесь и находите интересные материалы в <span>Открытиях</span>","IMPORT_DISK_SIGNUP":"Зарегистрируйтесь и импортируйте фильмы или шоу из вашего <span>локального диска</span>","LIB_EMPTY_CLOUD":"Облачная бибилиотека","LIB_EMPTY_CLOUD_DESC":"Личная облачная библиотека синхронизируется на всех устройствах","LIB_EMPTY_EARLY":"Ранняя птичка","LIB_EMPTY_EARLY_DESC":"Получайте уведомления о новых эпизодах","LIB_EMPTY_PERSONAL":"Личное","LIB_EMPTY_PERSONAL_DESC":"Получите личные рекомендации","LIB_EMPTY_CALENDAR_DESC":"Запланируйте свой личный календарь просмотра","LIB_EMPTY_ALL":"Зарегистрируйтесь, чтобы получить всё это:","LIB_EMPTY_BEST":"Зарегистрируйтесь, чтобы получить всё лучшее от Stremio","LIB_EMPTY_OTHER":"Зарегистрируйтесь, чтобы включить календарь и другие крутые функции","CALENDAR_ADDED":"Календарь Stremio был добавлен в ваш настольный календарь по умолчанию.","CALENDAR_ADDED_MSG":"Если не сработало, добавьте этот URL-адрес в приложение календаря вручную","TRAKT_EXPIRED":"Срок действия аутентификации Trakt истек, перейдите в настройки и повторите аутентификацию.","TRAKT_REQUIRES_LOGIN":"Ошибка Trakt","TRAKT_REQUIRES_LOGIN_MSG":"Необходимо войти","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","SETTINGS_LABEL":"Настройки","SETTINGS_NAV_GENERAL":"Общее","SETTINGS_NAV_PLAYER":"Плеер","SETTINGS_NAV_STREAMING":"Стриминг","SETTINGS_NAV_SHORTCUTS":"Ярлыки","SETTINGS_SHORTCUT_RELOAD_APP":"Перезагрузить приложение","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Открыть настройки","SETTINGS_SHORTCUT_SWITCH_TABS":"Переключить вкладки","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Перелистывать вкладки вперёд","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Перелистывать вкладки назад","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigate Between Menus","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Go to Search","SETTINGS_SHORTCUT_EXIT_BACK":"Выйти/Вернуться","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Toggle Playback Speed Menu","SETTINGS_SHORTCUT_MENU_VIDEOS":"Toggle Videos Menu","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Toggle Subtitles Menu","SETTINGS_SHORTCUT_MENU_INFO":"Toggle Info Menu","SETTINGS_SHORTCUT_FULLSCREEN":"Переключить полноэкранный режим","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Показать элементы управления","SETTINGS_SHORTCUT_PLAY_PAUSE":"Воспроизведение/Пауза","SETTINGS_SHORTCUT_VOLUME_UP":"Громче","SETTINGS_SHORTCUT_VOLUME_DOWN":"Тише","SETTINGS_SHORTCUT_SEEK_NEXT":"Seek Next","SETTINGS_SHORTCUT_SEEK_PREV":"Seek Prev","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Seek Backward","SETTINGS_SHORTCUT_SEEK_FORWARD":"Seek Forward","SETTINGS_SHORTCUT_PLAY_NEXT":"Play Next","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Увеличить размер субтитров","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Уменьшить размер субтитров","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"величить задержку субтитров","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Уменьшить задержку субтитров","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Переключить боковую панель","SETTINGS_SHORTCUT_OR":"или","SETTINGS_SHORTCUT_TO":"в","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Аутентификация","SETTINGS_FACEBOOK_IMPORT":"Импорт","SETTINGS_CALENDAR_SUBSCRIBE":"Подписка","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Язык интерфейса","SETTINGS_LAUNCH_STARTUP":"Запуск при старте","SETTINGS_VLC_DEFAULT":"Воспроизвести в VLC","SETTINGS_UI_LANGUAGE":"Язык интерфейса","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Выход из полноэкранного режима клавишей Escape","SETTINGS_GAMEPAD":"Включить поддержку геймпада","SETTINGS_CLOSE_WINDOW":"Закрывать приложение, когда окно закрыто","SETTINGS_SUBTITLES_LANGUAGE":"Язык субтитров по умолчанию","SETTINGS_SUBTITLES_SIZE":"Размер субтитров по умолчанию","SETTINGS_SUBTITLES_BACKGROUND":"Фон субтитров","SETTINGS_SUBTITLES_COLOR":"Цвет субтитров","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Цвет контура субтитров","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Цвет фона субтитров","SETTINGS_SEEK_KEY":"Arrow keys seek time","SETTINGS_SEEK_KEY_SHIFT":"Arrow keys seek time when Shift key is held","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Rewind & Fast-forward duration","SETTINGS_BINGE":"Автовоспроизведение следующего эпизода","SETTINGS_NEXT_VIDEO":"Показывать уведомление перед началом следующего эпизода","SETTINGS_NEXT_VIDEO_TRIGGER":"Показывать уведомление о следующем эпизоде для:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Next video popup duration","SETTINGS_PLAY_IN_BACKGROUND":"Воспроизвести в фоновом режиме","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Воспроизвести во внешнем плеере","SETTINGS_RESIZE":"Автоизменение размера окна перед вопроизведением","SETTINGS_OVERRIDE_SERVER":"Переопределить URL-адрес сервера стриминга (дополнительно)","SETTINGS_SERVER_URL":"URL-адрес стримингового сервера: ","SETTINGS_SERVER_AVAILABLE":"Стриминговый сервер доступен.","SETTINGS_SERVER_UNAVAILABLE":"Стриминговый сервер недоступен.","SETTINGS_SERVER_STATUS_ONLINE":"Онлайн","SETTINGS_SERVER_STATUS_ERROR":"Ошибка","SETTINGS_SERVER_CONFIGURE_TITLE":"Configure streaming server url","SETTINGS_SERVER_CONFIGURE_INPUT":"Enter a streaming server url","SETTINGS_SERVER_CACHE_SIZE":"Размер кэша","SETTINGS_SERVER_TORRENT_PROFILE":"Профиль торрента","SETTINGS_HTTPS_ENDPOINT":"Конечная точка HTTPS-стриминга: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Всегда использовать последнюю бета-версию","SETTINGS_IMPORT_FB":"Импорт из Facebook","SETTINGS_IMPORT_DISK":"Импорт из локального диска","SETTINGS_IMPORT_TRAKT":"Импорт из Trakt","SETTINGS_PAUSE_MINIMIZED":"Приостановить воспроизведение при сворачивании","SETTINGS_HWDEC":"Декодирование с аппаратным ускорением","SETTINGS_BACKGROUND":"Фоновое воспроизведение","SETTINGS_SUBSCRIBE_CALENDAR":"Подписаться на календарь","SETTINGS_REQ_EXPORT":"Запросить экспорт данных","SETTINGS_ACC_DELETE":"Запросить удаление аккаунта","SETTINGS_CHANGE_PASSWORD":"Изменить пароль","SETTINGS_TOS":"Условия использования","SETTINGS_SUPPORT":"Связаться с поддержкой","SETTING_LANGUAGE":"Язык","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_LOGOUT":"Выйти из Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Выйти из Trakt","SETTINGS_SCAN_FOR_REMOTE":"Отсканируйте QR-код, чтобы открыть удалённо","SETTINGS_DESKTOP_NOTIFICATIONS":"Уведомления на рабочем столе","SETTINGS_DATA_SAVER":"Экономия трафика","SETTINGS_LANGUAGE_INTERFACE":"интерфейс","SETTINGS_LANGUAGE_SUBS":"субтитры по умолчанию","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Автовыбор аудиодорожки","SETTINGS_DEFAULT_AUDIO_TRACK":"Аудиодорожка по умолчанию","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"аккаунт","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"версия","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"Запускать плеер в отдельном окне (дополнительно)","SETTINGS_PLAY_IN_EXTERNAL":"Всегда запускать видео во внешнем плеере","SETTINGS_STORAGE_BUTTON":"Очистить локальное хранилище","SETTINGS_STORAGE_MODAL_TITLE":"Вы уверены?","SETTINGS_STORAGE_MODAL_MESSAGE":"Это очистит локальное хранилище и вы выйдете из приложения.","SETTINGS_HWDEC_PICKER":"Выберите настройку декодирования с аппаратным ускорением","SETTINGS_HW_AUTOMATIC":"Автоматически","SETTINGS_HW_DISABLED":"Отключено","SETTINGS_HW_ACCELERATED":"Ускорение декодирования","SETTINGS_HW_FULL":"Полное ускорение","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Subtitles","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Controls","SETTINGS_SECTION_AUTO_PLAY":"Auto-Play","SETTINGS_SECTION_ADVANCED":"Advanced","SUBSPICKER_AUDIO":"Аудио","SUBSPICKER_SUBTITLES":"Addons Subtitles","SUBSPICKER_BLACK_BACKGROUND":"Использовать чёрный цвет фона","SUBSPICKER_VERTICAL_OFFSET":"Вертикальное смещение","SUBSPICKER_SIZE":"Размер","SUBSPICKER_DELAY":"Задержка","SUBSPICKER_EMBEDDED_SUBS":"Встроенные субтитры","MOBILE_PRIVACY_POLICY":"Политика конфиденциальности","MOBILE_CRASH_REPORTING":"Сообщение о сбоях","MOBILE_ZOOM_TO_FILL":"Zoom To Fill Screen","MOBILE_PASSTHROUGH":"Digital audio output (passthrough)","MOBILE_RUN_LOW_BATTERY":"Run on low battery","MOBILE_RUN_FOREGROUND":"Run as Foreground Service","MOBILE_PERFORMANCE":"ПРОИЗВОДИТЕЛЬНОСТЬ И СТАБИЛЬНОСТЬ","MOBILE_SERVER_ONLINE":"Онлайн","MOBILE_SERVER_OFFLINE":"Офлайн","MOBILE_QR_EXPIRES":"Действие QR-кода истекает через ","MOBILE_LOG_INTO":"Войдите в ваш аккаунт Stremio ","MOBILE_SCAN_QR":"Отсканируйте QR-код выше или перейдите на ","MOBILE_LINK_ACCOUNT":"Link Account","MOBILE_SPEEDPICKER_CANCEL":"Отмена","MOBILE_SPEEDPICKER_LABEL":"Выберите скорость воспроизведения","MOBILE_EMPTY_LIBRARY":"Ваша библиотека пуста","MOBILE_NO_ADDON_ACTIVE":"Дополнение Stremio не активно для этого типа.","MOBILE_ORGANIZER_WARNING":"The Stremio Organizer app provides limited functionality. For a list of playable streams and the full Stremio experience, use Stremio on desktop.","MOBILE_ADDON_LOADING":"ещё загружается","MOBILE_ADDONS_LOADING":"дополнения ещё загружаются","MOBILE_ADDON":"Дополнение","MOBILE_CONFIGURE_ADDON":"Настройте ваше дополнение","MOBILE_CONFIGURE_ADDON_LABEL":"Настроить дополнение","MOBILE_ORGANIZER_ADDONS_WARNING":"The Stremio Organizer app provides a limited selection of addons. For the full Stremio experience, use Stremio on desktop.","MOBILE_DISCONNECT":"Отключить","MOBILE_LOOKING_FOR_DEVICES":"Поиск устройства...","MOBILE_CAST_TO":"Cast to","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Delete Account","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Account deletion is not instant due to legal obligations. After requesting deletion of your account you will have to use different email address/facebook profile to create a new Stremio account in the future.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirm Account Deletion","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Your account has been created using Facebook. To delete your account, please use our user portal at www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Please provide your password to confirm account deletion.","MOBILE_DELETE_ACCOUNT_BUTTON":"Удалить аккаунт","NAVIGATION_ON":"Вкл.","NAVIGATION_OFF":"Выкл.","MARKETING_AGREE":"Я согласен получать маркетинговые сообщения от Stremio","QUIT":"Выход!","CONNECTED":"Подключено","AUTHENTICATE":"Проверять подлинность","CACHING":"Кэширование","SETTINGS_CACHING_DRIVE":"Выберите диск кэширования","ENABLE_LOCAL_FILES_ADDON":"Enable the local files addon (requires restart)","LOCAL_ADDON_NOT_ENABLED":"Local addon is not enabled. Click here to go to the settings and enable it","ENABLE_REMOTE_HTTPS_CONN":"Включить удалённые HTTPS-соединения","TORRENT_PROFILE":"Торрент-профиль","DATA_CACHING":"Кэширование данных","MAGNET_PARSING":"Парсинг магнет-ссылки","January":"Января","February":"Февраль","March":"Март","April":"Апрель","May":"Май","June":"Июнь","July":"Июль","August":"Август","September":"Сентябрь","October":"Октября","November":"Ноября","December":"Декабрь","Monday":"Понедельник","Tuesday":"Вторник","Wednesday":"Среда","Thursday":"Четверг","Friday":"Пятница","Saturday":"Суббота","Sunday":"Воскресенье","Action":"Боевик","Comedy":"Комедия","War":"Война","Family":"Семья","Animation":"Анимация","Adventure":"Приключения","Fantasy":"Фантазия","Crime":"Криминал","Mystery":"Таинственность","Romance":"Романтика","Drama":"Драма","Horror":"Ужасы","Thriller":"Триллеры","Sci-Fi":"Научная фантастика","Music":"Музыка","Biography":"Биография","Documentary":"Документальный","Sport":"Спорт","Musical":"Музыкальный","Western":"Вестерн","Film-Noir":"Нуар","News":"Новости","History":"История","Game-Show":"Игровое шоу","Reality-TV":"Реалити шоу","Talk-Show":"Ток-шоу","Film & Entertainment":"Кино и развлечения","Gaming":"Игры","From TV":"Из ТВ","Lifestyle":"Стиль жизни","Science & Education":"Наука и образование","Cooking & Health":"Готовка и здоровье","Beauty & Fashion":"Красота и мода","Sports":"Спорт","News & Politics":"Новости и политика","How-to & DIY":"Сделай сам","Tech":"Технологии","Automotive":"Автомобильный","Causes & Non-Profits":"Коммерческое и некоммерческое","Movies":"Кино","Uk Live Tv":"Прямой эфир в Великобритании","Fashion":"Мода","Business News Radio":"Радио о бизнес-новостях","Business Tv":"Бизнес ТВ","Cars & Auto":"Автомобили и авто","Comedy Radio":"Комедийное радио","Lifestyle Radio":"Радио об образе жизни","News Tv":"Новости ТВ","Food And Wine":"Еда и вино","Latino Tv":"Латинское ТВ","Shopping Tv":"Покупки ТВ","Religion":"Религия","Kids":"Дети","Body & Soul":"Тело и душа","Education":"Образование","Indian Tv":"Индийское ТВ","Extreme Sports":"Экстремальный спорт","Middle Eastern Tv":"Ближневосточное ТВ","Celebrity Tv":"Знаменитость ТВ","Science Tv":"Наука ТВ","Bikini babe":"Попки в бикини","Outdoors":"На открытом воздухе","German Tv":"Немецкое ТВ","French Tv":"Французское ТВ","Italian Tv":"Итальянское ТВ","Gamer Tv":"Геймерское ТВ","Travel":"Путешествия","Asian Tv":"Азиатское ТВ","Entertainment":"Развлечения","News Radio":"Новостное радио","Music Radio":"Музыкальное радио","Language Learning":"Изучение языков","Science Radio":"Научное радио","Tech Radio":"Техническое радио","Science & Technology Vod":"Наука и технологии VoD","new video":"новое видео","new episode":"новый эпизод","new movie":"новый фильм","recommended":"рекомендуемое","we recommend":"мы рекомендуем","offer of the day":"предложение дня","news":"новости","music video":"мызкальное видео","CTX_SHOW_HOTKEYS":"Показать горячие клавиши","CTX_DISMISS_NOTIF":"Игнорировать уведомления","CTX_DISMISS_ALL":"Отклонить все","CTX_SHARE":"Поделиться","CTX_COPY_SHARE_LINK":"Скопировать ссылку","CTX_COPY_MAGNET_LINK":"Скопировать магнитную ссылку","CTX_COPY_STREAM_LINK":"Скопировать ссылку на стрим","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Скачать видео","CTX_DOWNLOAD_SUBS":"Скачать субтитры","CTX_VIEW_ON_YOUTUBE":"Смотреть на YouTube","CTX_SHOW":"Показать","CTX_PLAY":"Вопроизвести","CTX_PLAY_IN":"Воспроизвести в","CTX_PLAY_ON":"Воспроизвести на","CTX_WATCH_ON":"Смотреть на","CTX_WATCH":"Смотреть","CTX_WATCHED":"Просмотрено","CTX_WATCH_BEGINNING":"Смотреть с начала","CTX_WATCH_MOBILE":"Смотреть на мобильном устройсте","CTX_REWIND":"Перемотать на начало","CTX_MARK_WATCHED":"Отметить как просмотренное","CTX_MARK_NON_WATCHED":"Отметить как непросмотренное","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"Отметить остальное как просмотренное","CTX_UNMARK_REST":"Отметить остальное как непросмотренное","CTX_RECEIVE_NEW_NOTIF":"Получать новые уведомления","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"Удалить из кэша","CTX_REMOVE_CACHE_EP":"Удалить эпизод из кэша","CTX_OPEN_CONTAINING":"Открыть папку с файлом","CTX_REMOVE":"Удалить из библиотеки","CTX_AVAILABLE_OFFLINE":"Доступно без интернета","CTX_PAUSED":"Остановлено","CTX_ALWAYS_ON_TOP":"Закреплено","CTX_FULLSCREEN":"Полный экран","CTX_WRONG_SUBS":"Некорректные субтитры","CTX_REPORT_ISSUES":"Сообщить о проблеме","CTX_COPY":"Копировать","CTX_PASTE":"Вставить","CTX_CLEAR":"Очистить","CTX_CLEAR_RECENT_SEARCHES":"Очистить историю поисковых запросов","HELLO_THERE":"Привет","HOPE_YOU_ENJOY":"Надеемся, что вам нравится Stremio и это одно из ваших любимых приложений!","WHO_ARE_WE":"Кто мы? Мы — команда, стоящая за этим, — два парня, которые усердно работают каждый день в течение последних 3 лет с одной целью — делать этот продукт всё лучше и лучше.","SUPPORT_US":"Если вам нравится Stremio, если Stremio ценен для вас — расскажите об этом!","SPREAD_THE_WORD":"Поделитесь с друзьями прямо сейчас, расскажите о Streamio","MORE_PEOPLE":"Чем больше людей пользуются Streamio, тем лучше он становится","SEND_A_LINK":"Или отправьте ссылку на наш сайт","TIP_LOCALFILES":"Совет: вы можете перетаскивать локальные видеофайлы в Stremio.","ADDON_MY":"Мои дополнения","ADDON_COMMUNITY":"Дополнения от сообщества","ADDON_OFFICIAL":"Официальные дополнения","ADDON_REPOS":"Репозитории дополнений","ADDON_SEARCH":"Искать плагины","ADDON_INSTALL":"Установить","ADDON_CONFIGURE":"Настроить","ADDON_UNINSTALL":"Удалить","ADDON_UPGRADE":"Обновить","ADDON_INSTALLED":"Установлено","ADDON_INSTALLED_MSG":"Дополнение установлено!","ADDON_UPGRADED_MSG":"Дополнение обновлено!","ADDON_UNKNOWN":"Неизвестно","ADDON_ERR":"Ошибка установки дополнения!","ADDON_DISCONNECTED":"Отключено","ADDON_APP_MISSING":"приложение для этого источника не установлено. Вы хотите установить его сейчас?","ADDON_APP_INSTALL":"Установить","ADDON_PAGE":"Страница дополнения","ADDON_TOP_CONTENT":"Best from this Addon","ADDON_PROVIDES":"provides","ADDON_WATCH":"Watch #{types} now!","ADDON_WATCH_FREE":"Watch #{types} for FREE now!","ADDON_ADDON":"Дополнение","ADDON_SUPPORTED_TYPES":"Supported types","ADDON_SUPPORTED_CATALOGS":"Supported catalogs","ADDON_PROVIDES_DISCOVER":"More #{types} in Discover","ADDON_PROVIDES_STREAMS":"Watch #{types}","ADDON_PROVIDES_STREAMS_FREE":"Watch #{types} for FREE","ADDON_PROVIDES_SUBTITLES":"Subtitles for #{types}","ADDON_CANTDETECT":"We couldn\'t detect a running Stremio, so we couldn\'t detect what addons you have installed.","ERR_NO_META":"No information found about this ","ERR_GETTING_META":"Error retrieving information about this.","ERR_CANT_PARSE_MAGNET":"Unable to parse magnet","ERR_NO_MAGNET_INFOHASH":"No valid info hash for magnet","ERR_NO_FILE_PATH":"Unable to send request without a path to file","ERR_NO_TORRENT":"No torrent returned","ERR_NO_SUPPORTERD_FILES":"No supported files found","ERR_OPENING_FILES":"Could not open external files","ERR_INVALID_LINK":"Invalid link","ERR_REGISTERED_ONLY":"This option is available for registred users only.","ERR_CLIPBOARD":"Can not play from clipboard","ERR_CLIPBOARD_READ":"Can not read the clipboard on this platform","ERR_CLIPBOARD_GENERIC":"No playable URL found in the clipboard. Please copy a URL (e.g. a magnet link) to a video.","BOARD_CONTINUE_WATCHING":"Continue watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Movies picked specially for you.<br />This movie is a sample recommendation.","BOARD_EXPLANATION_EPISODES":"New episodes of your favorite Series come here.<br />Add series you follow to your Library.","BOARD_EXPLANATION_VIDEOS":"New episodes of your favorite Channels come here.<br />Add YouTube channels you follow to your Library.","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE":"Contribute","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"ОПИСАНИЕ","WEBSITE_LEARN_MORE":"Узнать больше","WEBSITE_COMPANY":"Компания","WEBSITE_CONTACTS":"Контакты","WEBSITE_NEED_HELP":"Need Help?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Партнёры","WEBSITE_SLOGAN_WATCH":"Смотреть немедленно","WEBSITE_SLOGAN_ALL":"All the Video Content You Enjoy in One Place","WEBSITE_SLOGAN_NEW":"Всё, что вы можете посмотреть","WEBSITE_SLOGAN_NEW_NEW":"Freedom to Stream","WEBSITE_WATCH_FROM":"Watch from","WEBSITE_DOWNLOAD":"Скачать сейчас","WEBSITE_DOWNLOAD_FOR":"Скачать сейчас для","WEBSITE_IS_DESKTOP":"Stremio — это настольное приложение, откройте эту страницу на своем ПК и скачайте его","WEBSITE_DESKTOP_DEMO_VID":"Демо","WEBSITE_PAGE_HOME":"Главная","WEBSITE_PAGE_FEATURES":"Возможности","WEBSITE_PAGE_ADDONS":"Дополнения","WEBSITE_PAGE_TECH":"Технологии","WEBSITE_PAGE_CREATE_ADDON":"Создать дополнение","WEBSITE_PAGE_CONTACTS":"Контакты","WEBSITE_PAGE_BLOG":"Блог","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Фильмы","WEBSITE_TYPE_series_PL":"Сериалы","WEBSITE_TYPE_tv":"В эфире","WEBSITE_TYPE_channel":"Каналы","WEBSITE_STREMIO_WHAT_IS":"Stremio is an app that helps you organize and instantly watch your favorite videos, movies, TV series and TV channels.","WEBSITE_FEATURES_WATCH":"Watch Instantly in HD","WEBSITE_FEATURES_WATCH_DETAIL":"Нажмите и смотрите свои любимые фильмы, ТВ-шоу, видео и телеканалы.","WEBSITE_FEATURES_SUBS":"Автоматические субтитры","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio автоматически выбирает синхронизированные субтитры для вашего языка.","WEBSITE_FEATURES_SUBS_LABEL":"Your move, chief.","WEBSITE_FEATURES_CAST":"Play on TV & mobile devices","WEBSITE_FEATURES_CAST_DETAIL":"Cast to AppleTV, Chromecast, Smart TV (DLNA/UPnP) and mobile devices.","WEBSITE_LIB":"Enjoy Your Personal Library Synced on All Your Devices","WEBSITE_LIB_COLLECT":"Collect from Stremio","WEBSITE_LIB_IMPORT":"Импорт из Facebook","WEBSITE_LIB_LOCAL":"Добавить с локального диска","WEBSITE_BOARD":"Доска — ваше универсальное место для уведомлений и рекомендаций","WEBSITE_BOARD_RECOMMEND":"Рекомендуемое телешоу","WEBSITE_BOARD_TRENDING":"Популярный фильм","WEBSITE_BOARD_NEW":"Новое видео","WEBSITE_BOARD_EPISODE":"Новый эпизод","WEBSITE_BOARD_1":"Looking for something interesting to watch? Get recommendations based on your taste!","WEBSITE_BOARD_2":"Get notified when a new episode of your favourite TV show or YouTube channel is out!","WEBSITE_BOARD_YOUTUBE":"Новые видео из каналов YouTube","WEBSITE_BOARD_EPISODES":"Новые серии из сериалов, за которыми вы следите","WEBSITE_ADDONS":"Content Addons","WEBSITE_TECH_DETAIL":"We love technology, we love mad science!\\nStremio is using the following open source technologies:","WEBSITE_TECH_WCJS":"WebChimera.js allows Stremio to play any video format with good performance.","WEBSITE_TECH_WCJS_EXTRA":"Мы основные участники проекта","WEBSITE_TECH_ELECTRON":"Electron предоставляет инновационную платформу для создания Stremio.","WEBSITE_TECH_ELECTRON_EXTRA":"Мы участники проекта","WEBSITE_TECH_LINVODB":"Технология базы данных, гарантирующая что ваши данные организованы и доступны везде, где вы входите в приложение.","WEBSITE_TECH_LINVODB_EXTRA":"Собственная технология","WEBSITE_CREATE_ADDON":"Создайте свое дополнение","WEBSITE_CREATE_ADDON_DETAIL":"Do you have a service providing video content? We\'ll help you benefit from Stremio\'s features by creating your Addon.","WEBSITE_CREATE_ADDON_BENEFITS":"Benefits of Creating an Addon for Stremio","WEBSITE_P2P_BEAUTY":"The Beauty of Peer-to-Peer Streaming","WEBSITE_P2P_1":"Reliable and affordable full HD / 4K video on demand or live streaming","WEBSITE_P2P_2":"Distribution platform providing great user experience","WEBSITE_P2P_3":"We will create an addon meeting your exact needs","WEBSITE_P2P_CONTACT":"Заинтересованы? Вы можете <a href=\'mailto:office@stremio.com\'>связаться с нами</a>.","WEBSITE_P2P_CONTACT_EXTRA":"We will be happy to help you integrate your content with Stremio!","WEBSITE_P2P":"Once in a while, there comes a technology that changes the name of the game. We invested tons of time and effort in building our Peer-to-Peer (P2P) video streaming engine that provides great performance and versatility to adapt with any use case.\\nContact us for DRM-enabled P2P video on demand or live streaming.","WEBSITE_THOUGHTS":"Thoughts we share:","WEBSITE_SPREAD":"Расскажите о Stremio:","WEBSITE_CONTACT":"Если вы хотите связаться с нами, перейдите по адресу","WEBSITE_OPENSOURCE":"Чтобы посмотреть наши проекты с открытым кодом, перейдите на","WEBSITE_BITCOIN":"Пожертвовать Bitcoin:","WEBSITE_FAQ":"Часто задаваемые вопросы","WEBSITE_FAQ_SHORT":"ЧЗВ","WEBSITE_QUESTIONS":"Вопросы","WEBSITE_TOS":"Условия использования","WEBSITE_LEGAL":"Юридическое","WEBSITE_PAGE_ABOUT":"О проекте","WEBSITE_PAGE_BECOME_PARTNER":"Стать партнером","WEBSITE_ALL_YOU_CAN_WATCH":"Freedom To Watch\\nEverything You Want.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"Что такое Stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio — это универсальный центр видеоконтента. Находите, упорядочивайте и просматривайте видео из любых источников на любом устройстве, которое у вас есть.","WEBSITE_WHAT_IS_STREMIO_P2":"Фильмы, ТВ-шоу, сериалы, прямое телевидение или веб-каналы, такие как YouTube и Twitch.tv — все это вы можете найти на Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio is a modern media center that\'s a one-stop solution for your video entertainment. You discover, watch and organize video content from easy to install addons.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Фильмы, ТВ-передачи, прямые телепередачи или веб-каналы — все это можно найти на Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Наслаждайтесь этим на любых мультимедийных устройствах","WEBSITE_DEVICES_COLLECT":"Collect from Stremio","WEBSITE_DEVICES_IMPORT_FB":"Импорт из Facebook","WEBSITE_DEVICES_LOCAL":"Добавить с локального диска","WEBSITE_JOIN_THE_PARTY_NOW":"Присоединяйтесь к тусовке","WEBSITE_DEVICES_ALL":"Легко использовать на всех ваших устройствах;","WEBSITE_EXTENDABLE_CATALOG":"Infinitelly extendable video catalog;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Great features to organize your media;","WEBSITE_AS_SEEN_ON":"As seen on","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"О нас","WEBSITE_LINK_TECHNOLOGY":"Технологии","WEBSITE_LINK_APPS":"Приложения","WEBSITE_LINK_DOWNLOADS":"Скачать","WEBSITE_MORE":"Больше","WEBSITE_LINK_ADDONS":"Дополнения","WEBSITE_LINK_ADDON_SDK":"SDK дополнения","WEBSITE_LINK_CONTRIBUTE":"Участвовать","WEBSITE_LINK_COMMUNITY":"Сообщество","WEBSITE_LINK_BLOG":"Блог","WEBSITE_MORE_MORE":"...и ещё","WEBSITE_LINK_HELP":"Центр помощи","WEBSITE_LINK_CONTACTS":"Контакты","WEBSITE_LINK_TOS":"Условия и положения","WEBSITE_LINK_PRAVACY":"Политика конфиденциальности","WEBSITE_SUBSCRIBE":"Подписаться","WEBSITE_NEWSLETTER":"Подпишитесь на нашу рассылку и получайте удивительные вещи","WEBSITE_PLACEHOLDER_EMAIL":"Ваша эл. почта","WEBSITE_COMMUNITY":"Сообщество","WEBSITE_LINK_PRAVACY_LEGAL":"Privacy & legal","WEBSITE_WHY":"Зачем нам это","WEBSITE_WHY_P1":"At Stremio, we come to work every day because we want to solve an important problem for the video-on-demand industry. There’s so much new content published every minute that it’s virtually impossible to find your way around it.","WEBSITE_WHY_P2":"We help people navigate that huge world of video entertainment and discover new content to enjoy. Our apps bring together movies, series, live TV, web channels, and more. We are dedicated to making it incredibly easy for users to find titles and broadcasters that they love.","WEBSITE_WHY_P3":"You can use our service on any device and at any time, making Stremio the only video entertainment hub you’ll ever need.","WEBSITE_TEAM":"TEAM","WEBSITE_TEAM_P":"The Stremio team is small but powerful: between the ten of us, we code in X languages, and share expertise in software development, UI and UX design, marketing and advertising, and business and startups.","WEBSITE_FEATURES":"Features","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Discover new content with ease","WEBSITE_FEATURES_DISCOVER_P":"Easily discover new movies, TV shows, series and channels to watch. Browse by category, genre, rating, recency, etc. or simply type a name to find. Stremio makes finding new video content a piece of cake.","WEBSITE_FEATURES_ALL_CONTENT":"All of your video content on one screen","WEBSITE_FEATURES_ALL_CONTENT_P1":"See what movies, series or videos you didn’t finish and continue watching them; get notified for new episodes and releases; and browse through the recommendations you will get based on your viewing habits.","WEBSITE_FEATURES_LIBRARY":"Organize your video library","WEBSITE_FEATURES_LIBRARY_P1":"Add any title to your Stremio library with a single click and find your way around your content, neatly arranged by type, recency, or alphabetical order.","WEBSITE_FEATURES_CALENDAR":"Keep track of everything you watch","WEBSITE_FEATURES_CALENDAR_P1":"Get a calendar visualization of all the movies and series you add to your library. Export your Stremio calendar and sync it so you always know when a new episode or a premier is due.","WEBSITE_FEATURES_BIG_SCREEN":"Enjoy your video content on a bigger screen","WEBSITE_FEATURES_BIG_SCREEN_P1":"Cast whatever you are watching to another device - be it a phone, tablet or a TV with a single click.","WEBSITE_FEATURES_SOURCES":"Watch video from many different sources","WEBSITE_FEATURES_SOURCES_P":"Install official and community addons to enjoy video sourced from many different providers - all in one sleek, easy to use app.","WEBSITE_CREATE_AN_ADDON":"Create an addon","WEBSITE_FEATURES_SYNC":"Sync your library across different devices and resume your playback","WEBSITE_FEATURES_SYNC_P1":"Login with your account across all your devices and enjoy your library, addons, playback and calendar synchronized.","WEBSITE_FEATURES_EXTENDABLE":"Extendable video catalog by addons","WEBSITE_FEATURES_EXTENDABLE_P1":"The Stremio addon catalog provides a number of addons to install and watch a variety of video content from. This includes movies, shows, live TV, sport, news, podcasts, web channels, video games and more.","WEBSITE_FEATURES_AUTO_SUBS":"Automatic subtitles","WEBSITE_FEATURES_AUTO_SUBS_P1":"With our subtitle addons you get automatically selected options for your preferred language.","WEBSITE_FEATURES_CHROMECAST":"Casting to Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Enjoy your video content on a bigger screen or just cast whatever you are watching to another device.","WEBSITE_FEATURES_KEEP_TRACK":"Keep track of your favorite TV shows and Web channels","WEBSITE_FEATURES_KEEP_TRACK_P1":"Get a calendar visualization and notifications for new episodes of your favorite series and web channels.","WEBSITE_FEATURES_POWER_USER":"Power user features","WEBSITE_FEATURES_POWER_USER_P1":"Play in external player","WEBSITE_FEATURES_POWER_USER_P2":"Play from a torrent file or magnet link","WEBSITE_FEATURES_POWER_USER_P3":"Import to your library from Facebook likes or local disk","WEBSITE_ADD_ONS":"Addons","WEBSITE_ADD_ONS_P1":"All of the video content Stremio provides get sourced through an addon system - no content or content provider has been built into the app.","WEBSITE_ADD_ONS_P2":"There are two groups of addons available: official and community addons.","WEBSITE_ADD_ONS_P3":"The official ones are developed and hosted by Stremio, whereas community addons are created by our community members, who also host them.","WEBSITE_ADDONS_OFFICIAL":"Official addons","WEBSITE_ADDONS_WATCHUB":"Stream your favourite movies, series and shows from providers like iTunes, Hulu, Amazon and other UK/US services.","WEBSITE_ADDONS_YOUTUBE":"Watch your favourite YouTube channels ad-free and get notifications for new uploads from the contributors you follow.","WEBSITE_ADDONS_FILMON":"Watch live TV, movies and social television for free. 600 TV channels, 45,000 free movies, documentaries and more.","WEBSITE_ADDONS_OPENSUBTITLES":"Movie and TV subtitles in multiple languages, thousands of translated subtitles uploaded every day.","WEBSITE_ADDONS_COMMUNITY":"Community addons","WEBSITE_ADDONS_FILMON_VOD":"Watch video on demand from Filmon.tv","WEBSITE_ADDONS_TWICH":"Watch live streams from Twitch.tv - a video streaming platform for the e-sports industry.","WEBSITE_ADDONS_VODO":"Watch indie movies absolutely free of charge.","WEBSITE_ADDONS_NETFLIX":"Watch Netflix movies and web series.","WEBSITE_ADDONS_CREATE":"Create an addon","WEBSITE_ADDONS_CREATE_P1":"If you wish, you can develop your own addon. This way, you can give yourself and our community access to new video content, and reach a new, targeted audience of millions of users around the world.","WEBSITE_ADDONS_START_CREATE":"To get started, visit the Stremio Addon SDK page:","WEBSITE_DOWNLOADS":"Downloads","WEBSITE_DOWNLOADS_P1":"For optimal performance, we recommend that you use the latest available version of the Stremio apps. If for some reason, however, you would like to use an older version, you can download it here.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio for Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio for macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio for Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio for Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio for iOS","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"The Stremio platform is open source and you can easily create an addon for content that is currently not sourced.","WEBSITE_CONTRIBUTE_WHY":"Why should you create an addon?","WEBSITE_CONTRIBUTE_WHY_P1":"Reach new audience for your video content","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio’s user base is growing rapidly - within the first year of the launch, Stremio had gained 1 million users around the world, and in the second year of the platform’s existence this number grew to 2.5 million.","WEBSITE_CONTRIBUTE_WHY_P3":"With your addon, you can easily reach this audience and distribute your video content to them.","WEBSITE_CONTRIBUTE_ALL":"Watch your favourite movies, videos, series and channels in one single place.","WEBSITE_CONTRIBUTE_ALL_P1":"You’re a fan of a particular type of content not available on Stremio yet? Create an addon for it and enjoy watching your favourite videos in one of the largest and easiest to use entertainment hubs on the market.","WEBSITE_CONTRIBUTE_ALL_P2":"On top of that, you’ll get the endless gratitude of other like-minded Stremio community members.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetize your addon and earn money with its help","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Once you develop a new addon for Stremio, you can easily monetize it through a number of different ways. If you are considering this, feel free to get in touch with us at ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - we would be happy to consult and advise you about addon monetization options.","WEBSITE_CONTRIBUTE_TRANSLATE":"Become a volunteer translator","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"If you want to enjoy the Stremio apps in different languages, you can join our community of volunteer translators. They help us add versions of the Stremio in many different languages.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Are you eager to get started?","WEBSITE_TRANSALTE_STREMIO":"Translate Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Official communities","WEBSITE_COMMUNITY_OFFICIALS_P1":"Become a part of the growing Stremio community. Follow us on social media and don’t be shy to say hello - we love hearing from our fans! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Unofficial communities","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partners and supporters","WEBSITE_COMMUNITY_GOODIES":"Stremio goodies","WEBSITE_COMMUNITY_WALLPAPERS":"Wallpapers","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"Contact us","WEBSITE_CONTACT_US_P1":"If you have any questions, comments or suggestions, feel free to get in touch with us through the contact form below.","WEBSITE_CONTACT_US_P2":"Keep in mind that we are located in Bulgaria so there may be a delay in addressing your query due to time zone differences.","WEBSITE_CONTACT_US_SUCCESS":"Your message has been sent. We will get back to you at our earliest convenience.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Please enter a valid email!","WEBSITE_CONTACT_US_Q_RELATED_TO":"What is your question related to?","WEBSITE_CONTACT_US_Q_OS":"What is your Operation System?","WEBSITE_CONTACT_US_PH_EMAIL":"Your E-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Message","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"SEND","WEBSITE_CONTACT_US_Q_1":"How to install?","WEBSITE_CONTACT_US_Q_2":"How to uninstall?","WEBSITE_CONTACT_US_Q_3":"(HTML) How to make lasagna?","WEBSITE_CONTACT_US_Q_4":"Addons","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Technology","WEBSITE_TECHNOLOGY_P1":"We love technology and mad science. </br> Here is what powers Stremio (it’s all open-source).","WEBSITE_TECHNOLOGY_P_QT":"Cross-platform software development at its best.","WEBSITE_TECHNOLOGY_P_MPV":"A free, open source, and cross-platform media player.","WEBSITE_TECHNOLOGY_P_RN":"React Native lets you build mobile apps using only JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework embedded into application to get multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm is a mobile platform and a replacement for SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js is an open-source, cross-platform, JavaScript runtime environment.","WEBSITE_TECHNOLOGY_P_RUST":"Rust is a multi-paradigm system programming language focused on safety, especially safe concurrency.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribute to the project","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"There are two ways you can contribute to Stremio and help us make the product even better.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"You can donate your valuable language skills by translating the platform...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"or","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... you can employ your coding skills for creating community addons. ","WEBSITE_TRANSLATE_STREMIO":"Translate Stremio","WEBSITE_404_OH_NO":"Uh-oh! The page you’re looking for is not here...","WEBSITE_GO_HOME":"Go home","WEBSITE_LINK_OTHER_DOWNLOADS":"Other downloads","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Support","WEBSITE_DOWNLOAD_4_0_BETA":"Download Now Stremio 4 beta","WEBSITE_GET_FOR_DESKTOP":"Get for desktop","WEBSITE_LINK_ADDON_COMPETITION":"Addon competition","WEBSITE_LINK_ART_CONTEST":"Art contest","WEBSITE_MY_ACCOUNT":"My account","WEBSITE_MAINPAGE_FAQ_001_H1":"What is Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio is a modern media center that gives you the freedom to watch everything you want.","WEBSITE_MAINPAGE_FAQ_002_H1":"How does it work?","WEBSITE_MAINPAGE_FAQ_002_P1":"Once you install Stremio on your device and create an account, all you have to do is to visit the addon catalog and install any addon you want, and you\'re good to go!","WEBSITE_MAINPAGE_FAQ_002_P2":"After that, you can go to the Discover or Board sections to start exploring content.","WEBSITE_MAINPAGE_FAQ_003_H1":"What can I watch here?","WEBSITE_MAINPAGE_FAQ_003_P1":"A lot: Movies, TV shows, Web channels, Sport, TV channels, listen to Podcasts and more. Thanks to our addon system, you can accss a variety of content.","WEBSITE_MAINPAGE_FAQ_004_H1":"Is Stremio open-source?","WEBSITE_MAINPAGE_FAQ_004_P1":"Yes, you can check the following links: ${1}desktop app${2} and ${3}GitHub organization${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Is Stremio safe?","WEBSITE_MAINPAGE_FAQ_005_P1":"Yes: because it is open-source software, the code is publically auditable and you can review it yourself.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"How about my privacy?","WEBSITE_MAINPAGE_FAQ_006_P1":"We respect users\' privacy and do not collect any personal data besides the essential minimum to create and sync your account.","WEBSITE_MAINPAGE_FAQ_006_P2":"There is also a ${1}Guest mode${2} at signup, which requires no data whatsoever: in this mode, no calls are made to our backend. However, it comes at the expense of useful features, such as being able to sync your library across devices.","WEBSITE_MAINPAGE_FAQ_007_H1":"Can I cast to my TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Yes, we support Chromecast and you can cast both from desktop and mobile apps (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"How many addons does Stremio have?","WEBSITE_MAINPAGE_FAQ_008_P1":"As of late 2019, over 50 - for more information, check our addon catalog.","WEBSITE_MAINPAGE_FAQ_009_H1":"Can Stremio be extended beyond what\'s in the addon catalog?","WEBSITE_MAINPAGE_FAQ_009_P1":"Yes, you should check those: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"What devices does Stremio support?","WEBSITE_MAINPAGE_FAQ_010_P1":"We have desktop apps for Windows, Mac and Linux. For mobile, we support Android and iOS, although keep in mind that the iOS is limited in functionality (does not support most addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"There are many Android-based devices which you can run Stremio on, like NVIDIA Shield and Amazon Fire Stick, but we do not support them officially.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Can you add certain content to Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Sorry, we provide no content ourselves, but the more Stremio addons you have installed, the more content you will be able to find.","WEBSITE_MAINPAGE_FAQ_012_H1":"Can Stremio play magnet links?","WEBSITE_MAINPAGE_FAQ_012_P1":"Yes, and it can also play normal HTTP links and torrent files (drag and drop).","WEBSITE_MAINPAGE_FAQ_013_H1":"Can I download a video and watch offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Available offline is an upcoming feature, but if you allow Stremio to cache on your device (from the settings panel) you can watch the videos later without a connection.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nothing works, help me!","WEBSITE_MAINPAGE_FAQ_014_P1":"Are you sure you have installed addons? If yes, check with our ${1}help center${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"How does Stremio sustain it\'s development operations?","WEBSITE_MAINPAGE_FAQ_015_P1":"We run non-intrusive ads occassionally, but we\'re considering moving to a donation model.","WEBSITE_MAINPAGE_FAQ_015_P2":"For more questions, go to our ${1}help center${2}.","HELP_LEARN_MORE":"Help us learn more about you.","LIFESTYLE":"Lifestyle","SPORTS":"Sports","FOOD_HEALTH":"Food & health","BEAUTY_FASHION":"Beauty & Fashion","NEWS":"News","GAMING":"Gaming","SCIENCE_EDUCATION":"Science & education","MUSIC":"Music","TRAVEL":"Travel","LATE_NIGHT":"Late Night","REALITY":"Reality","COMEDY":"Comedy","DIY":"How to DIY","TECH":"Tech","CINEMA":"Cinema","CONTINUE":"Continue","SLOW_LOADING":"SLOW LOADING?","I_GIVE_UP":"I GIVE UP","LEARN_MORE":"Learn more","POOR_SOURCE":"This source is poorly available or your internet connection is not fast enough","PICK_CATEGORIES_ERR":"You have to pick at least 3 categories","ADJUST_TIMING":"Adjust timing with ","ADJUST_SIZE":"Adjust size with ","SEARCH_ANYTHING":"You Can Search Anything...","ALL_CATEGORIES":"All","SEARCH_CATEGORIES":"Movies, Series, YouTube & TV","SEARCH_PERSONS":"Actors, Directors & Writers","SEARCH_PROTOCOLS":"HTTP & Magnet Links","SEARCH_TYPES":"IMDB / TVDB links","WATCHED":"Watched","SHOW_LESS":"Show less","LAST_SEARCHES":"Last searches","CLEAR_HISTORY":"Clear history","CHOOSE_SOME":"CHOOSE SOME OF THIS:","NO_WEB_REMOTE":"Web Remote could not be loaded","STREMIO_OFFLINE":"Stremio is offline","STREMIO_EXPENSIVE_CONNECTION":"We\'ve detected that you are using a mobile data connection, do you want to continue?","USE_DATA":"Use data","WARNING":"Warning","MORE_INFO":"More Info ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Loading ...","STREMIO_TV_BACK_TO_LANGUAGES":"Back to languages","STREMIO_TV_REMOTE":"Remote","STREMIO_TV_GO_TO":"Go to:","STREMIO_TV_OR_SCAN":"or scan:","STREMIO_TV_ADDON_INSTRUCTIONS":"Please follow the instructions in order to install your preferred addons.","STREMIO_TV_LIVE_TV":"Live TV","STREMIO_TV_RESUME_WATCHING":"Resume Watching","STREMIO_TV_LOADING_BACKGROUND":"Loading Background","STREMIO_TV_CHECKING_AUTHENTICATION":"Checking Authentication","STREMIO_TV_LOADING_BOARD":"Loading Board","STREMIO_TV_LOGIN_HEADER_LINE_1":"We want our users to have the best possible personalized experience with our software.","STREMIO_TV_LOGIN_HEADER_LINE_2":"It is for this reason that we kindly ask you to make and/or login to your account.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Thank you for understanding,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"The Stremio Team","STREMIO_TV_REMOTE_INSTRUCTIONS":"In order to use the Web Remote with your Smartphone / Tablet / Desktop:","STREMIO_TV_WIFI_SETUP":"Wi-Fi Setup","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle did not detect a internet connection.","STREMIO_TV_WIFI_DETAILS_1":"Connect to:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Use password:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Open a web browser with the link:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Default","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"By Last Watched","STREMIO_TV_LIBRARY_SORT_NAME":"By Name","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"By Times Watched","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Season ${1}","STREMIO_TV_STREAMS_LOADING":"Loaded ${1} / ${2} addons...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} addon is still loading...","STREMIO_TV_PLAYER_SETTINGS":"Player settings","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Subtitles delay","STREMIO_TV_PLAYER_AUDIO_DELAY":"Audio delay","STREMIO_TV_PLAYER_VIDEO_SCALING":"Video scaling","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Unsupported stream source","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Failed opening external link","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Not adjustable in audio passthrough mode","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Play with ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Play with libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Switching to libVLC player due to a playback error","STREMIO_TV_ADDONS_TITLE":"Use Stremio on your Phone or PC to install or configure addons and press \\"Sync Addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Note: make sure you are using the same Stremio account","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sync Addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons successfully synchronized","STREMIO_TV_ADDONS_SYNC_FAILED":"Failed to synchronize addons","STREMIO_TV_META_LINK_FAILED":"Failed opening meta link","STREMIO_TV_CATALOG_LOADING":"Catalog still loading...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Interface language updated","STREMIO_TV_SETTINGS_THEME_UPDATED":"Theme updated","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Default Player","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"External Player","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferred Language","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Secondary Preferred Language","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possible playback issues on some devices","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Some video formats might not work","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"No caching","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Default","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Soft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Fast","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Fast","STREMIO_TV_SETTINGS_SERVER_URL":"Streaming server url","STREMIO_TV_SETTINGS_SERVER_VERSION":"Server version","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Unknown","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio version","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Edit server url","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Enter a streaming server url","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Show statistics while loading","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"To read Stremio\'s Privacy Policy, visit:","STREMIO_TV_SETTINGS_TOS_TEXT":"To read Stremio\'s Terms and Conditions, visit:","STREMIO_TV_NAV_SEARCH":"Search","STREMIO_TV_NAV_HOME":"Home","STREMIO_TV_NAV_DISCOVER":"Discover","STREMIO_TV_NAV_LIBRARY":"Library","STREMIO_TV_NAV_MOVIES":"Movies","STREMIO_TV_NAV_SERIES":"Series","STREMIO_TV_NAV_CHANNELS":"Channels","STREMIO_TV_NAV_TV":"Live TV","STREMIO_TV_NAV_SETTINGS":"Settings","STREMIO_TV_NAV_ADDONS":"Addons","STREMIO_TV_LOGIN_TITLE":"Link Account","STREMIO_TV_LOGIN_EXPIRES_IN":"Expires in","STREMIO_TV_LOGIN_STEP_ONE":"Scan QR Code above or go to","STREMIO_TV_LOGIN_STEP_TWO":"Log in to your Stremio account","STREMIO_TV_LOGIN_NEW_LINK":"Request a new link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Login code refreshed","STREMIO_TV_SEARCH_PLACEHOLDER":"Type something","STREMIO_TV_SEARCH_NO_ADDONS":"No addons were requested for catalogs!","STREMIO_TV_SEARCH_BUTTON":"Search","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Search History","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"You can search for Titles, Actors, Channels and more...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Clear Search History","STREMIO_TV_FILTERS_DESCRIPTION":"Choose from one of the filters below","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"Filters","SETTINGS":"Settings","ACCOUNT":"Account","LOGOUT":"Logout","THEMES":"Themes","PLAYBACK":"Playback","PLAYBACK_SPEED":"Playback Speed","AUDIO_TRACKS":"Audio Tracks","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Videos","SERVER":"Server","LINKS":"Links","ABOUT":"About","INTERFACE":"Interface","ANIMATIONS":"Animations","STATUS":"Status","LANGUAGE":"Language","SIZE":"Size","DELAY":"Delay","BOLD":"Bold","OPACITY":"Opacity","TEXT_COLOR":"Text Color","OUTLINE_COLOR":"Outline Color","BACKGROUND_COLOR":"Background Color","BACKGROUND_BLUR":"Background Blur","SEEK_TIME_DURATION":"Seek Time Duration","AUTO_PLAY":"Auto-Play Next Episode","PLAY_NOW":"Play Now","MARK_AS_WATCHED":"Mark as Watched","MARK_AS_UNWATCHED":"Mark as Unwatched","REWIND_TO_BEGINNING":"Rewind to Beginning","CONTINUE_WATCHING":"Continue Watching","ALL":"All","SECONDS":"seconds","ON":"ON","OFF":"OFF","RELOAD":"Reload","EDIT_URL":"Edit URL","NONE":"None","EMBEDDED":"Embedded","REMOTE_SWITCH_DEVICES":"Switch Devices","REMOTE_VIDEOS":"Videos","REMOTE_ADJUST_TIMING":"Adjust timing","REMOTE_ADJUST_SIZE":"Adjust size","REMOTE_COULD_NOT_BE_LOADED":"Web Remote could not be loaded","REMOTE_RETRY":"Retry","TORRENT_PROFILE_DEFAULT":"Default","TORRENT_PROFILE_SOFT":"Soft","TORRENT_PROFILE_FAST":"Fast","TORRENT_PROFILE_ULTRA_FAST":"Ultra Fast","FAQ_001_H1":"What is Stremio?","FAQ_001_P1":"Stremio is a media center software designed for video entertainment with ease of use in mind. Stremio allows you to organize &amp; watch your own collection of movies, series, channels and live TV.","FAQ_001_P2":"Stremio collect the content it shows you from your local disk and our addons system.","FAQ_001_P3":"It will also notify you when new episodes/videos/movies you\'re interested in come out, and provide movie recommendations for you.","FAQ_02_H1":"How does Stremio compare to Kodi and Plex?","FAQ_02_P1":"We are inspired by those two pieces of software. But we have different goals - Stremio is specifically targeted towards entertainment video, and strives to become the mainstream solution for that by being very easy to use.","FAQ_02_P2":"Stremio will never be as customizable and feature-rich as Kodi and Plex, but it is significantly easier to use. Just ${1} get it and see ${2} :)","FAQ_03_H1":"How does Stremio compare to Netflix?","FAQ_03_P1":"Again, Netflix is one of our inspirations. We strive to achieve the user experience of Netflix, plus a lot of added goodies. But most importantly, we\'re giving you the freedom to manage your own library and add new content sources with our addon system.","FAQ_03_P2":"That makes Stremio infinitely extendable, so when you use Stremio, you\'re never limited to the content Netflix decides to license. For example, through Stremio you can watch content from ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} and even ${9}Netflix${10} itself!","FAQ_04_H1":"How does Stremio compare to Flipboard?","FAQ_04_P1":"We don’t get that question that often, except when talking to start-up people :)","FAQ_04_P2":"Stremio is by design a content aggregator, which essentially makes it Flipboard for video. This is very apparent in our Board section, which gives you catalogues and new episode/new video notifications for what you follow, just like Flipboard.","FAQ_05_H1":"How does Stremio compare to Popcorn Time?","FAQ_05_P1":"Stremio and Popcorn Time are similar in user interface, because there aren’t many ways to do video entertainment catalogues right :)","FAQ_05_P2":"But while Popcorn Time is focused on streaming torrents from specific sources, Stremio is unrestricted and is merely a content aggregator - it’s not locked into a specific content source.","FAQ_05_P3":"Furthermore, we do not provide any torrent addons by default, so Stremio does not cover the Popcorn Time use-case with official functionality.","FAQ_05_P4":"Another notable difference is that Popcorn Time is completely open source, while Stremio is ${1} partially open source${2}.","FAQ_06_H1":"Will you add this movie/series?","FAQ_06_P1":"No, sorry :(","FAQ_06_P2":"As is mentioned in most of the other questions, Stremio does not provide any content by itself - everything is added through the addons system. In case you have a content request, you can use the “Report” button in the Player, which will send an email to the author of the addon you’re currently using.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Will you create addon for X?","FAQ_08_P1":"It\'s entirely possible.","FAQ_08_P2":"If you have an idea for an addon, drop us a line at ${1}office@stremio.com${2}, but please make sure your addon idea will not infringe on any copyrights or terms of use.","FAQ_08_P3":"At the moment, the next things on our roadmap are addons for FandangoNOW, Filmon.tv video on demand and Crunchyroll.","FAQ_09_H1":"Does Stremio use BitTorrent?","FAQ_09_P1":"Yes, Stremio supports BitTorrent as a streaming protocol. You can use that either with a torrent addon, or by drag-and-dropping a .torrent file into Stremio, or by pasting a magnet link into the Search Bar.","FAQ_09_P2":"Please note that the only official addon using BitTorrent is ${1}Vodo${2}, which provides indie content, all permitted to be distributed with BitTorrent.","FAQ_09_P3":"We do not support use of any third-party addons which may enable copyright infringement.","FAQ_10_H1":"What can I watch in Stremio with the official addons?","FAQ_10_P1":"By default, you can watch Filmon.tv, YouTube and Vodo content within Stremio itself, with it’s embedded player. Additionally, we have an addon for Twitch.tv and a few others.","FAQ_10_P2":"This combined provides a selection of:","FAQ_10_L1":"Popular TV channels, provided by Filmon.tv - for example E4, BBC, Bollyworld TV","FAQ_10_L2":"Everything from YouTube - for example BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indie movies with Vodo","FAQ_10_L4":"Online gaming broadcasts with Twitch.tv","FAQ_10_P3":"Additionally, there are many content sources provided with Guidebox and the Netflix addons, which <b>do not</b> play entirely inside Stremio, but would redirect to the given service. For example, the Guidebox addon would give you a selection of movies you can stream in the US for free, from services like TubiTV and Crackle.","FAQ_11_H1":"Stremio won\'t install, what should I do?","FAQ_11_P1":"If you\'re on Windows, try ${1}this alternative installer${2}.","FAQ_11_P2":"If you\'re on Mac OS X, please be aware that we don\'t support anything older than OS X Mavericks (10.9).","FAQ_11_P3":"If you\'re on Linux, be aware that we only support 64 bit (x64) Linux at the moment.","FAQ_11_P4":"If you still can\'t resolve your problem, please write us at our ${1}Facebook group${2}.","FAQ_12_H1":"Why does my anti-virus complain? Is Stremio safe?","FAQ_12_P1":"We assure you Stremio is ${1}100% clean${2}.","FAQ_12_P2":"Your antivirus is complaining because we include advertising in our installer, which some anti-virus programs recognize as ad-ware.","FAQ_12_P3":"If you\'re still unsure, you can try our ${1}alternative installer${2}.","FAQ_13_H1":"How can I make an addon?","FAQ_13_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_13_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_13_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_14_H1":"How are addons published?","FAQ_14_P1":"When you create an addon and host, and put a <b>endpoint</b> field in your manifest, which points to a working addon address, the addon will automatically publish itself to our ${1}Addon catalogue${2}.","FAQ_14_P2":"This happens because the server part of the stremio-addons module automatically makes a call to our API to announce the addon. When our API validates your <b>endpoint</b> as a valid addon, it will start showing in the catalogue.","FAQ_15_H1":"Can I run Stremio in my browser?","FAQ_15_P1":"Not at the moment, but this is coming!","FAQ_15_P2":"If you\'re curious to see an Alpha, you can see it here: ${1}alpha4.strem.io${2}. Keep in mind streaming is disabled on this alpha. We support Chrome, Firefox, Opera and Edge.","FAQ_16_H1":"Casting to TV doesn\'t work / subtitles don\'t work","FAQ_16_P1":"Casting to TV uses the DLNA technology which is very inconsistent between different TV brands and models. For that reason, we do not have the ability to test it in every case, so it\'s far from perfect. Despite this, we\'re working on improving it constantly but we cannot give you a time estimate on when DLNA will start working properly with your TV.","FAQ_16_P2":"If you don\'t even see your TV in the casting menu, please try disabling your network connection and re-enabling it (on Windows, right click the Network and use Enable/Disable), as well as restarting your router, TV and PC.","FAQ_16_P3":"If you are still encountering issues, you can help us by sending your TV brand and model information at ${1}office@stremio.com${2}.","FAQ_16_P4":"In the meantime, we recommend Chromecast, which we support very well, or simply plugging in your TV to your PC with an HDMI cable.","FAQ_17_H1":"Stremio freezes and/or crashes, what can I do?","FAQ_17_P1":"First of all, if you\'re using Windows 7 with AVG anti-virus: we have a problem with that combination. The problem is in AVG itself, and there\'s no reasonable way to resolve it on our end. Unfortunately, exceptions or disabling the anti-virus won\'t work. The only solution is to replace AVG with something else.","FAQ_17_P2":"If that\'s not the issue, but you\'re still using Windows, please update to the latest service pack and update/re-install your GPU drivers, then try again.","FAQ_17_P3":"If you\'re problem is still not resolved, or you\'re using a Mac or Linux, please write us reporting the exact details of the problem at ${1}our Facebook group${2}.","FAQ_18_H1":"How can I make an addon?","FAQ_18_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_18_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_18_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_19_H1":"Why is Stremio taking disk space?","FAQ_19_P1":"Stremio has a <b>local cache</b> to temporarily keep the video files you stream.","FAQ_19_P2":"This has two benefits: first, it allows Stremio to pre-buffer the video ahead so as to ensure smoother streaming. Second, it keeps the videos in the local cache so you can continue watching them offline.","FAQ_19_P3":"How much Stremio keeps depends on the <b>Cache</b> setting in the Settings panel. Stremio may keep up to the set amount (e.g. 2GB) on your disk, unless the currently streamed video is larger than that, in which case it has to allocate enough storage to keep it until you\'re streaming it.","FAQ_20_H1":"Where is the cache folder?","FAQ_20_P1":"On Windows, it\'s stremio-cache in the drive you picked in Settings (e.g. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"On MacOS, it\'s \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"On Linux, it\'s \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"I get \\"Streaming server is not found\\" error, what can I do?","FAQ_21_P1":"If you get this error, it means one of few things:","FAQ_21_P2":"1) You are trying to use an addon backed by YouTube/BitTorrent source, through our ${1}web version${2}. In this case, you should install our desktop version from ${3}our website${4}.","FAQ_21_P3":"2) Something is wrong with your Stremio installation. In this case, try re-installing our latest desktop version from ${1}the website${2}. If this does not help, try disabling anti-virus programs and firewalls, restarting your PC and trying again. If this does not work too, please write us at our ${3}our Facebook group${4}.","FAQ_22_H1":"I cannot see/use most addons on iOS","FAQ_22_P1":"Because of restrictions in the Apple App Store terms and conditions, we have restricted the iOS application only to a particular set of addons.","FAQ_22_P2":"But rest assured - there will be more addons for iOS in the future, and we may also add an integration that will allow you to use all Stremio addons thanks to connecting the iOS app to the Stremio Streaming Server."}')},96650:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Filmi","TYPE_series":"Serije","TYPE_tv":"TV kanali","TYPE_channel":"Kanali","TYPE_other":"Ostalo","TYPE_movie_PL":"Filmi","TYPE_series_PL":"Serije","TYPE_tv_PL":"TV kanali","TYPE_channel_PL":"Kanali","TYPE_other_PL":"Ostalo","TYPE_ALL":"All","TYPE":"Type","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"Video","BACK":"Nazaj","MORE":"Več","DONE":"Done","COPY":"Kopiraj","SUCCESS":"Success","ERROR":"Error","SETTINGS_CASTING_MODE_PICKER":"Casting mode","CASTING_MODE_HLSV2":"Default","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"No transcoding","Discover":"Razišči","Board":"Plošča","Library":"Knjižnica","My Library":"Moja Knjižnica","Calendar":"Koledar","NOTIFICATION_ONLINE":"Sedaj si povezan","NOTIFICATION_OFFLINE":"Si trenutno nepovezan","INTERNET_CONNECTION":"Mrežna povezava","STORAGE_FULL_TITLE":"Opozorilo: Prostor je poln!","STORAGE_FULL_TEXT":"Stremio will not be able to save your settings, preferences or login information. Consider re-starting or re-installing Stremio.","SEARCH":"iskanje","SEARCH_NO_RESULTS":"Ni rezultatov iskanja","SEARCH_EXPLANATION_CONTENT":"Išči filme, serije, YouTube in TV kanale","SEARCH_EXPLANATION_PEOPLE":"Išči igralce, režiserje in avtorje","SEARCH_PASTE_LINKS":"Kopiraj HTTP in Magnet linke","SEARCH_OR_PASTE_LINK":"Search or paste link","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"Dodaj v knjižnico","REMOVE_FROM_LIB":"Odstrani iz knjižnice","ADDED_TO_LIB":"Added to Library","REMOVED_FROM_LIB":"Removed from Library","TRAILER":"Napovednik","WATCH_TRAILER":"Predvajaj Napovednik","WATCH_NOW":"Glej sedaj","SHOW":"Show","SHOW_MOVIE":"Show Movie","WATCH_RANDOM":"Watch Random","IMDB_RATING":"IMDb Rating","YEAR":"Leto","DIRECTOR":"Režiser","WRITER":"Avtor","LEAD_ACTORS":"Glavni igralci","CAST":"Postava","CREW":"Crew","SHOW_MORE_CAST":"Show more »","AIRED":"Objavljeno","SEASONS":"Sezone","GENRE":"Žanr","GENRE_ALL":"All genres","CATALOG":"Catalog","SUMMARY":"Povzetek","SHOW_MORE":"Show More","SIMILAR":"Podobno","UPCOMING":"Prihajajoče","ENDED":"Končano","DURATION":"Trajanje","FEATURED":"Featured","METADATA":"Metadata","CATEGORY":"category","LINKS_GENRES":"Genres","LINKS_CAST":"Cast","LINKS_DIRECTORS":"Directors","SEARCH_VIDEOS":"išči video","SEARCH_PLACEHOLDER":"search or paste URL","ADDON":"dodatek","ADDONS":"Dodatki","OFFICIAL":"Glavni","ADDONS_OFFICIAL":"Glavni Stremio Dodatki","ADDONS_POPULAR":"Popularno v vašem področju","ADDON_FREE":"prosto","ADDON_PEERED":"peered","ADDON_SUBSCRIPTION":"naročnina","ADDON_STREAM_GEORESTRICTED":"ni dostopno v vašem področju","ADDON_STREAM_OFFLINECACHE":"Offline Cache","ADDON_STREAM_LOCALFILE":"Local File","SHARE_ADDON":"Share addon","AVAILABLE_STREAMS":"Dostopni Stream-i","NO_STREAM":"Ni dostopnih stream-ov","ALL_ADDONS":"All","INSTALL_MORE_ADDONS":"For more streams, please install more addons","STREAM_NOT_SUPPORTED":"Selected stream is not supported on this platform.","ADDON_CATALOGUE":"Prikaži vse dodatke &raquo;","ADDON_CATALOGUE_MORE":"Več dodatkov &raquo;","REPO_ADDED":"Repository added","ADDON_REPO_EXIST_ERR":"This addons collection already exist","ADDON_REPO_ERR":"Error occurred while adding collection","ADDON_ADD_ERR":"Error occurred while adding addon","ERR_ADDON_PROTECTED":"Cannot uninstall addon, it is protected","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Something went wrong - authentication may have failed","ERR_NOT_COLLECTION_URL":"Not a collection URL","ERR_NOT_ADDON_URL":"Not a valid addon URL","ERR_DETECTFROMURL":"Cannot find addon/collection from this URL","ADDON_DUPLICATE_WARNING":"Warning: duplicated addon","ADDON_COLLECTION_SET_FAILED":"Syncing installed addons to your account failed","SETTINGS_DATA_EXPORT":"Export user data","ADDON_PULL_FAILED":"Syncing installed addons from your account failed","REFRESH_ON_CLICK":"Click to retry","STILL_IN_THEATER":"Movie still in theaters","WATCH_IN_CINEMA":"Watch it in your local cinema","IN_THEATER":"In cinema","GET_TICKETS":"Get tickets","UPCOMING_EPISODE":"Upcoming episode","UPCOMING_EPISODE_MESSAGE":"This episode will be aired on","MISSING_DATE_EPISODE":"Missing episode date","MISSING_DATE_EPISODE_MESSAGE":"This episode might not have aired yet","CHANNEL_NOT_SCRAPED":"This channel is not scraped yet.<br>Please come back in a few minutes.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Add it to your library to get notified once it is available.","GET_NOTIFIED_WHEN_AVAILABLE":"You will get notified once it is available.","WARNING_STREAMING_SERVER":"Warning: local streaming server not found. Streaming from local files, YouTube and BitTorrent will not be available.","WARNING_STREAMING_SERVER_DISMISS":"Dismiss","WARNING_STREAMING_SERVER_LATER":"Later","DECODER_WARNING":"Warning: this video may not be supported by your hardware. Keep in mind, playback may be slow.","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"Oops, Player Error","PLAYER_ERROR_LOOKSLIKE":"It looks like","PLAYER_ORIENTATION":"Player orientation","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Locked","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensor","PLAYER_ORIENTATION_LANDSCAPE":"Player orientation locked at landscape","PLAYER_ORIENTATION_SENSOR":"Player orientation automatic (sensor)","PLAYER_PLAYBACK_SPEED":"Playback Speed","PLAYER_PLAYBACK_ERROR":"Playback error, please try again","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Unknown error","PLAYER_PLAYBACK_ERROR_DEFAULT":"Sorry, this video cannot be played by {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Subtitles Languages","PLAYER_SUBTITLES_VARIANTS":"Subtitles Variants","PLAYER_SUBTITLES_SETTINGS":"Subtitles Settings","PLAYER_SUBTITLES_DISABLED":"Subtitles are disabled","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Vertical Position","PLAYER_SUBTITLES_LOADED":"Subtitles loaded","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Embedded subtitles loaded","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Exclusive subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Subtitles from {{origin}} loaded","PLAYER_PLAY":"Play","PLAYER_PAUSE":"Pause","PLAYER_NEXT_VIDEO":"Next Video","PLAYER_MUTE":"Mute","PLAYER_UNMUTE":"Unmute","PLAYER_OPEN_IN_EXTERNAL":"Open in external player","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Play in {{device}}","PLAYER_LIVE":"Live","PLAYER_NEXT_VIDEO_TITLE":"Coming up next on","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Dismiss","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Watch now","PLAYER_COPY_STREAM_SUCCESS":"Stream link was copied to your clipboard","PLAYER_COPY_STREAM_ERROR":"Failed to copy stream link","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","STREAMING_FROM":"streaming from","CASTING_TO":"Casting to","NETWORK_STATUS":"Network status","STREAM_SPEED":"Stream speed:","STREAM_BUFFERED":"Buffered:","PEERS_INFO":"Peers Information","PEERS_ACTIVE":"Active:","PEERS_CONNECTED":"Connected:","PEERS_WAITING":"Waiting:","TRANSCODING_WARNING":"Warning: transcoding video.","STREAM_LOADING":"loading...","PLAYING_LOCAL":"playing from local file","PLAYING_CACHE":"playing from cache","WRONG_SUBS":"Wrong subtitles?","ERR_SUBS_LOADING_TITLE":"Error loading subtitles","ERR_SUBS_LOADING":"Failed loading subtitles: this could be an issue with the addon you are using, or with your network connection","WARN_FOLLOWING_SUB_ADDONS_FAILED":"The following subtitle addons failed","ERR_CASTING_UPDATE_TITLE":"Could not update casting device info: streaming server might be offline","CHOOSE_DEVICE":"Choose a device to watch on","NO_CAST_DEVICES":"No casting devices available.","NO_SETTINGS":"No settings available.","PHONE_TABLET":"Telefon / Tablica","SUBTITLES":"Podnapisi","SUBTITLES_CHANGE":"Change subtitles for ","SUBTITLES_CHANGE_NONE":"There are no other subtitles for this language, sorry.","SUBTITLES_CHANGE_ACIVE":"Currently subtitles &#35;{{subtitlesDialog.activeIdx + 1}} are activated. Click \\"Continue\\" to activate subtitles &#35;{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Alternatively,","SUBTITLES_ADJUST_DELAY":"Adjust subtitle delay:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Or use <span>G</span> / <span>H</span> keys while playing to adjust.","SUBTITLES_ADJUST_DELAY_TIP":"TIP: you can use <span>G</span> / <span>H</span> keys while playing to adjust.","SUBTITLES_DELAY":"Subtitles delay:","SUBTITLES_LOADING":"Loading subtitles...","SUBTITLES_UNAVAILABLE":"No external subtitles available","SUBTITLES_DISABLED":"Onemogočeno","EXTERNAL_PLAYER_DISABLED":"Disabled","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Allow Choosing","EXTERNAL_PLAYER_HINT":"Hint: There is a setting to allow always opening with external player","DONT_SHOW_AGAIN":"Don\'t show again","SERVICE_INSTALL":"Install","AUDIO":"Audio","DEFAULT_LANGUAGE":"Default Language","DEFAULT_SECONDARY_LANGUAGE":"Default Secondary Language","SEASON":"Sezone","EPISODE":"Nanizanke","EPISODE_ABBREVIATION":"EP","SPECIAL":"Special","SORT":"sort","SORT_BY":"Sort by","FILTER":"filter","SORT_TRENDING":"trending","SORT_RECENT":"recent","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"rating","SORT_WATCHED":"watched","SORT_YEAR":"year","SELECT_TYPE":"Select type","SELECT_SORT":"Select sort","SELECT_CATALOG":"Select catalog","SELECT_GENRE":"Select genre","SORT_LASTWATCHED":"By last watched","SORT_NAME":"By name","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"By times watched","SORT_NOTWATCHED":"not watched","New for You":"Novo Za Vas","New Episodes":"Nove Nanizanke","New Videos":"New Videos","Recommendations":"Priporočila","LIBRARY_RESUME":"Nadaljuj","LIBRARY_PLAY":"Play","LIBRARY_DETAILS":"Podrobnosti","LIBRARY_RESUME_DISMISS":"Opusti","LIBRARY_CLEAR_PROGRESS":"Clear Progress","LIBRARY_REMOVE":"Remove","LIBRARY_NOT_LOGGED_IN":"Library is only available for logged in users","CALENDAR_NOT_LOGGED_IN":"Calendar is only available for logged in users","NOT_LOGGED_IN_CLOUD":"Access your favorite movies and TV shows anytime, anywhere","NOT_LOGGED_IN_RECOMMENDATIONS":"Recommendations tailored to your viewing history","NOT_LOGGED_IN_NOTIFICATIONS":"Never miss an episode again","NOT_LOGGED_IN_CALENDAR":"Schedule your personal watching calendar","DISCOVER_FEATURED":"Featured","DISCOVER_TOP":"Top","DISCOVER_OSCAR":"Oscar Winners","DISCOVER_WARNING_TITLE":"Oops!","DISCOVER_EMPTY_CATALOG":"This addon returned empty content.","DISCOVER_ADULT_WARNING":"The content is visible only for adults. Are you 18+?","DISCOVER_NOADDON_WARNING":"Warning: no Stremio addon active for this type. Showing saved items, nothing here will update.","DISCOVER_LOAD_ERR":"The content did not load, error occured.","DISCOVER_ADDON_UNINSTALLED":"This content is no longer available, you may have un-installed the addon.","UNINSTALL_THIS_ADDON":"Uninstall this addon","ERR_ADDON_NOT_INSTALLED":"This addon is not installed. Install now?","DETAIL_RECEIVE_NOTIF_SERIES":"Receive notifications for new episodes","DETAIL_RECEIVE_NOTIF_VIDEOS":"Receive notifications for new videos","SIDEBAR_SHOW_STREAMS":"Show Streams","RELAUNCH":"Re-launch now!","UPGRADE":"New version is available! Upgrade to the latest Stremio version","RELOAD_UI":"Reload the user interface","MANUAL_UPDATE_TITLE":"Update your Stremio version","MANUAL_UPDATE_LINE1":"You are running an outdated version of Stremio which is highly unrecommended.","MANUAL_UPDATE_LINE2":"Please update as soon as possible.","BUTTON_UPDATE_LATTER":"Not now","BUTTON_UPDATE_NOW":"Update","ANONYMOUS_USER":"Anonimni uporabnik","DONT_HAVE_ACC":"Nimate še računa?","HAVE_ACC":"Že imate račun?","PASSWORD":"Geslo","PASSWORD_CONFIRM":"Potrdi geslo","EMAIL":"E-mail","FB_LOGIN":"Nadaljuj z Facebook","FB_NOTHINGSHARED":"Nothing is shared without your permission","FB_NOPOST":"We won’t post anything on your behalf","OR":"or","I_ACCEPT":"Se strinjam z","I_ACCEPT_BY_CLICKING":"By clicking the above button I testify that I accept the ","TOS":"Terms and Conditions","MUST_ACCEPT_TERMS":"You must accept terms","PASSWORDS_NOMATCH":"Geslo se ne ujema","SIGN_UP":"Registracija","SIGN_UP_EMAIL":"Registracija z email naslovom","CLICK_TO_SIGN_UP":"Click here to sign up.","LOG_IN":"Prijava","LOG_OUT":"Odjava","EXIT_FULLSCREEN":"Exit fullscreen mode","ENTER_FULLSCREEN":"Enter fullscreen mode","PLAY_URL_MAGNET_LINK":"Play URL/Magnet link","HELP_FEEDBACK":"Help & Feedback","TERMS_OF_SERVICE":"Terms of Service","PRIVACY_POLICY":"Privacy Policy","ABOUT_STREMIO":"O Stremio","USER_PANEL":"User Panel","LOGIN_LABEL":"Login","GUEST_LOGIN":"Guest login","GUEST_LOGIN_NOTICE":"Guest Login is not recommended. Using a regular login allows Stremio to sync your Library, receive notifications for favourite series/channels. Are you sure you want to proceed?","GUEST_LOGIN_NOTICE_2":"Guest Login is not recommended - you won\'t have synced Library and Board notifications, which are vital Stremio features. Are you sure you want to proceed?","CLICK_HERE":"click here","WRONG_PASSWORD":"Wrong email or password. In case you have forgotten your password, ","SET_A_PASS":"set a password","RESET_PASSWORD":"Reset password","FORGOT_PASSWORD":"Forgot password?","EMAIL_USED_WITH_FB":"This email was used with a Facebook login.","INVALID_EMAIL":"Please enter a valid email address","INVALID_PASSWORD":"Please enter a valid password","CONN_ERR":"Connection error - please try again later.\\n\\nIf this persists, disable firewalls/anti-virus software (especially Bitdefender).","IMPORT_FROM_GUEST":"Import Library from your guest account","RECEIVE_UPDATES_EMAIL":"Receive updates to your email from Stremio","LOGIN_FAILED":"Login failed.","SIGNUP_FAILED":"Signup failed.","SEARCH_FAILED":"Search failed","EMAIL_USED":"This email is already in use.","WAITING_FB_LOGIN":"Logging in with Facebook...","EXTERNAL_PLAYER_TITLE":"Play in external player","EXTERNAL_REMEMBER_PLAYER":"Do you want to remember your choice","EXTERNAL_ALWAYS_PLAY":"Yes","EXTERNAL_ONLY_ONCE":"No","BEST_FIT":"Best Fit","FIT_SCREEN":"Fit Screen","FILL":"Fill","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"Tell us about what you like","INTRO_TASTE_LONG":"Tell us about what you\'d like to watch","INTRO_TASTE_PICK":"Pick {{interestsRemaining}} interests","INTRO_TASTE_PICK_MORE":"Pick {{interestsRemaining}} more interests","INTRO_TASTE_HELP_US":"Help us learn more about you.","INTRO_TASTE_CHOOSE_THESE":"Choose some of these:","INTRO_TASTE_CHOOSE_MIN":"Choose at least 3 categories","INTRO_TASTE_CHOOSE_MIN_ERR":"You have to pick at least 3 categories!","INTRO_TASTE_LIFESTYLE":"Lifestyle","INTRO_TASTE_SPORTS":"Sports","INTRO_TASTE_FOOD_HEALTH":"Food & Health","INTRO_TASTE_BEAUTY_FASHION":"Beauty & Fashion","INTRO_TASTE_NEWS":"News","INTRO_TASTE_GAMING":"Gaming","INTRO_TASTE_SCIENCE_EDU":"Science & Education","INTRO_TASTE_MUSIC":"Music","INTRO_TASTE_TRAVEL":"Travel","INTRO_TASTE_LATE_NIGHT":"Late Night Show","INTRO_TASTE_REALITY":"Reality","INTRO_TASTE_COMEDY":"Comedy","INTRO_TASTE_DIY":"How to DIY","INTRO_TASTE_TECH":"Tech","INTRO_TASTE_CINEMA":"Cinema","ADDON_NOT_SUPPORTED":"Selected addon is not supported on this platform.","ADDON_DISCLAIMER":"Using third-party addons will always be subject to your responsibility and the governing law of the jurisdiction you are located.","ADDON_ACTIVATE":"Activate this addon?","ADDON_REPO_ADD":"Addon collection URL","ADDON_ADD":"Add","INSTALL_ADDON":"Install addon","ADD_ADDON":"Add addon","ADD_ADDON_DESCRIPTION":"You can add an addon via an external link, which will appear under Installed addons.","PASTE_ADDON_URL":"Paste addon URL","WHATS_NEW":"Kaj je novega","BUTTON_CONTINUE":"Nadaljuj","BUTTON_ACTIVATE":"Aktiviraj","BUTTON_ACTIVATED":"Aktivirano","BUTTON_CANCEL":"Prekliči","BUTTON_SUBMIT":"Submit","BUTTON_DISMISS_ALL":"Opusti vse","BUTTON_VIEW_ALL":"pregled vseh","BUTTON_SEE_ALL":"See All","BUTTON_COLOR_TRANSPARENT":"Transparent","OPEN_IN_BROWSER":"Open in browser","LIB_EMPTY":"Your library looks empty. Find out how useful it is :) ","HOW_START":"Here is how you can start:","LIB_EMPTY_CAL":"Your Calendar shows series in your Library.","HOW_START_CAL":"Here is how you can add series:","LIB_EMPTY_BOARD":"Board shows notifications &amp; recommendations related to your Library.","HOW_START_BOARD_WAIT":"Please, add a few series or channels to your Library give us a few minutes to process :)","HOW_START_BOARD":"Here is how you can add series &amp; movies to it:","IMPORT_FB":"Import things you like from <span>Facebook</span>","IMPORT_TRAKT":"Import your media library from <span>Trakt</span>","IMPORT_DISCOVER":"Find interesting stuff from <span>Discover</span>","IMPORT_DISK":"Import movies or shows you have on your <span>local disk</span>","PLEASE_CREATE_ACC":"Please <u>create an account</u> to enable Library sync &amp; Board.","IMPORT_DISCOVER_SIGNUP":"Sign up and find interesting stuff from <span>Discover</span>","IMPORT_DISK_SIGNUP":"Sign up and import movies or shows you have on your <span>local disk</span>","LIB_EMPTY_CLOUD":"Cloud library","LIB_EMPTY_CLOUD_DESC":"Personal cloud library synced on all devices","LIB_EMPTY_EARLY":"Early bird","LIB_EMPTY_EARLY_DESC":"Receive notifications for new episodes","LIB_EMPTY_PERSONAL":"Personal","LIB_EMPTY_PERSONAL_DESC":"Get personal recommendations","LIB_EMPTY_CALENDAR_DESC":"Schedule your personal watching calendar","LIB_EMPTY_ALL":"Sign up to get all of these:","LIB_EMPTY_BEST":"Sign up to get best of Stremio","LIB_EMPTY_OTHER":"Sign up to enable Calendar & other cool features","CALENDAR_ADDED":"The Stremio calendar has been added to your default desktop calendar.","CALENDAR_ADDED_MSG":"If this does not work, please add this URL to your calendar application manually","TRAKT_EXPIRED":"Trakt authentication expired, please go to Settings and re-authenticate","TRAKT_REQUIRES_LOGIN":"Trakt error","TRAKT_REQUIRES_LOGIN_MSG":"You need to login","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","SETTINGS_LABEL":"Nastavitve","SETTINGS_NAV_GENERAL":"Osnovno","SETTINGS_NAV_PLAYER":"Predvajalnik","SETTINGS_NAV_STREAMING":"Streaming","SETTINGS_NAV_SHORTCUTS":"Shortcuts","SETTINGS_SHORTCUT_RELOAD_APP":"Reload App","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Open Settings","SETTINGS_SHORTCUT_SWITCH_TABS":"Switch Tabs","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Cycle Through Tabs Forward","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Cycle Through Tabs Backward","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigate Between Menus","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Go to Search","SETTINGS_SHORTCUT_EXIT_BACK":"Exit / Go Back","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Toggle Playback Speed Menu","SETTINGS_SHORTCUT_MENU_VIDEOS":"Toggle Videos Menu","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Toggle Subtitles Menu","SETTINGS_SHORTCUT_MENU_INFO":"Toggle Info Menu","SETTINGS_SHORTCUT_FULLSCREEN":"Toggle Fullscreen","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Show Controls","SETTINGS_SHORTCUT_PLAY_PAUSE":"Play / Pause","SETTINGS_SHORTCUT_VOLUME_UP":"Volume Up","SETTINGS_SHORTCUT_VOLUME_DOWN":"Volume Down","SETTINGS_SHORTCUT_SEEK_NEXT":"Seek Next","SETTINGS_SHORTCUT_SEEK_PREV":"Seek Prev","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Seek Backward","SETTINGS_SHORTCUT_SEEK_FORWARD":"Seek Forward","SETTINGS_SHORTCUT_PLAY_NEXT":"Play Next","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Increase Subtitles Size","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Decrease Subtitles Size","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Increase Subtitles Delay","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Decrease Subtitles Delay","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Toggle Sidebar","SETTINGS_SHORTCUT_OR":"or","SETTINGS_SHORTCUT_TO":"to","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Authenticate","SETTINGS_FACEBOOK_IMPORT":"Import","SETTINGS_CALENDAR_SUBSCRIBE":"Subscribe","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Interface Language","SETTINGS_LAUNCH_STARTUP":"Zaženi ob zagon","SETTINGS_VLC_DEFAULT":"Predvajaj z VLC","SETTINGS_UI_LANGUAGE":"UI Jezik","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Escape key exit full screen","SETTINGS_GAMEPAD":"Enable gamepad support","SETTINGS_CLOSE_WINDOW":"Close app when window is closed","SETTINGS_SUBTITLES_LANGUAGE":"Default Subtitles Language","SETTINGS_SUBTITLES_SIZE":"Default Subtitles Size","SETTINGS_SUBTITLES_BACKGROUND":"Subtitles background","SETTINGS_SUBTITLES_COLOR":"Subtitles color","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Subtitles outline color","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Subtitles background color","SETTINGS_SEEK_KEY":"Arrow keys seek time","SETTINGS_SEEK_KEY_SHIFT":"Arrow keys seek time when Shift key is held","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Rewind & Fast-forward duration","SETTINGS_BINGE":"Auto-play next episode","SETTINGS_NEXT_VIDEO":"Show notification to start next episode","SETTINGS_NEXT_VIDEO_TRIGGER":"Show next episode notification for:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Next video popup duration","SETTINGS_PLAY_IN_BACKGROUND":"Play in background","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Play in external player","SETTINGS_RESIZE":"Auto-resize window before playing","SETTINGS_OVERRIDE_SERVER":"Override the streaming server URL (advanced)","SETTINGS_SERVER_URL":"Streaming server URL: ","SETTINGS_SERVER_AVAILABLE":"Streaming server is available.","SETTINGS_SERVER_UNAVAILABLE":"Streaming server is not available.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Error","SETTINGS_SERVER_CONFIGURE_TITLE":"Configure streaming server url","SETTINGS_SERVER_CONFIGURE_INPUT":"Enter a streaming server url","SETTINGS_SERVER_CACHE_SIZE":"Cache size","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent profile","SETTINGS_HTTPS_ENDPOINT":"Streaming HTTPS endpoint: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Always use latest Beta","SETTINGS_IMPORT_FB":"Import from Facebook","SETTINGS_IMPORT_DISK":"Import from local disk","SETTINGS_IMPORT_TRAKT":"Import from Trakt","SETTINGS_PAUSE_MINIMIZED":"Pause playback when minimized","SETTINGS_HWDEC":"Hardware-accelerated decoding","SETTINGS_BACKGROUND":"Background playback","SETTINGS_SUBSCRIBE_CALENDAR":"Subscribe to calendar","SETTINGS_REQ_EXPORT":"Request data export","SETTINGS_ACC_DELETE":"Request account deletion","SETTINGS_CHANGE_PASSWORD":"Change password","SETTINGS_TOS":"Terms of service","SETTINGS_SUPPORT":"Contact support","SETTING_LANGUAGE":"Jezik","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_LOGOUT":"Log out of Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Log Out of Trakt","SETTINGS_SCAN_FOR_REMOTE":"Scan QR code to open remote","SETTINGS_DESKTOP_NOTIFICATIONS":"Desktop notifications","SETTINGS_DATA_SAVER":"Data saver","SETTINGS_LANGUAGE_INTERFACE":"interface","SETTINGS_LANGUAGE_SUBS":"default subtitles","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Autoselect Audio Track","SETTINGS_DEFAULT_AUDIO_TRACK":"Default Audio Track","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"account","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"version","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"Launch player in a separate window (advanced)","SETTINGS_PLAY_IN_EXTERNAL":"Always start video in external player","SETTINGS_STORAGE_BUTTON":"Clear Local Storage","SETTINGS_STORAGE_MODAL_TITLE":"Are you sure ?","SETTINGS_STORAGE_MODAL_MESSAGE":"This will clear the local storage and log you out.","SETTINGS_HWDEC_PICKER":"Pick hardware-accelerated decoding setting","SETTINGS_HW_AUTOMATIC":"Automatic","SETTINGS_HW_DISABLED":"Disabled","SETTINGS_HW_ACCELERATED":"Decoding acceleration","SETTINGS_HW_FULL":"Full acceleration","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Subtitles","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Controls","SETTINGS_SECTION_AUTO_PLAY":"Auto-Play","SETTINGS_SECTION_ADVANCED":"Advanced","SUBSPICKER_AUDIO":"Audio","SUBSPICKER_SUBTITLES":"Addons Subtitles","SUBSPICKER_BLACK_BACKGROUND":"Use black background color","SUBSPICKER_VERTICAL_OFFSET":"Vertical Offset","SUBSPICKER_SIZE":"Size","SUBSPICKER_DELAY":"Delay","SUBSPICKER_EMBEDDED_SUBS":"Embedded Subtitles","MOBILE_PRIVACY_POLICY":"Privacy Policy","MOBILE_CRASH_REPORTING":"Crash Reporting","MOBILE_ZOOM_TO_FILL":"Zoom To Fill Screen","MOBILE_PASSTHROUGH":"Digital audio output (passthrough)","MOBILE_RUN_LOW_BATTERY":"Run on low battery","MOBILE_RUN_FOREGROUND":"Run as Foreground Service","MOBILE_PERFORMANCE":"PERFORMANCE & STABILITY","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"QR Code expires in ","MOBILE_LOG_INTO":"Log in to your Stremio account ","MOBILE_SCAN_QR":"Scan QR code above or go to ","MOBILE_LINK_ACCOUNT":"Link Account","MOBILE_SPEEDPICKER_CANCEL":"Cancel","MOBILE_SPEEDPICKER_LABEL":"Select Playback Speed","MOBILE_EMPTY_LIBRARY":"Your library is empty","MOBILE_NO_ADDON_ACTIVE":"No Stremio addon active for this type.","MOBILE_ORGANIZER_WARNING":"The Stremio Organizer app provides limited functionality. For a list of playable streams and the full Stremio experience, use Stremio on desktop.","MOBILE_ADDON_LOADING":"is still loading","MOBILE_ADDONS_LOADING":"addons are still loading","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Configure your addon","MOBILE_CONFIGURE_ADDON_LABEL":"Configure Addon","MOBILE_ORGANIZER_ADDONS_WARNING":"The Stremio Organizer app provides a limited selection of addons. For the full Stremio experience, use Stremio on desktop.","MOBILE_DISCONNECT":"Disconnect","MOBILE_LOOKING_FOR_DEVICES":"Looking for devices...","MOBILE_CAST_TO":"Cast to","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Delete Account","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Account deletion is not instant due to legal obligations. After requesting deletion of your account you will have to use different email address/facebook profile to create a new Stremio account in the future.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirm Account Deletion","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Your account has been created using Facebook. To delete your account, please use our user portal at www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Please provide your password to confirm account deletion.","MOBILE_DELETE_ACCOUNT_BUTTON":"Delete Account","NAVIGATION_ON":"On","NAVIGATION_OFF":"Off","MARKETING_AGREE":"I agree to receive marketing communications from Stremio","QUIT":"Quit","CONNECTED":"Connected","AUTHENTICATE":"Authenticate","CACHING":"Caching","SETTINGS_CACHING_DRIVE":"Caching drive","ENABLE_LOCAL_FILES_ADDON":"Enable the local files addon (requires restart)","LOCAL_ADDON_NOT_ENABLED":"Local addon is not enabled. Click here to go to the settings and enable it","ENABLE_REMOTE_HTTPS_CONN":"Enable remote HTTPS connections","TORRENT_PROFILE":"Torrent Profile","DATA_CACHING":"Data Caching","MAGNET_PARSING":"Parsing a magnet link","January":"Januar","February":"Februar","March":"Marec","April":"April","May":"Maj","June":"Junij","July":"Julij","August":"Avgust","September":"September","October":"Oktober","November":"November","December":"December","Monday":"Ponedeljek","Tuesday":"Torek","Wednesday":"Sreda","Thursday":"Četrtek","Friday":"Petek","Saturday":"Sobota","Sunday":"Nedelja","Action":"Akcije","Comedy":"Komedije","War":"Vojni","Family":"Družinski","Animation":"Animirani","Adventure":"Pustolovski","Fantasy":"Fantazijski","Crime":"Kriminalni","Mystery":"Mistični","Romance":"Romantični","Drama":"Drame","Horror":"Grozljivke","Thriller":"Trilerji","Sci-Fi":"Sci-Fi","Music":"Glazbeni","Biography":"Biografski","Documentary":"Dokumentarni","Sport":"Športni","Musical":"Mjuzikli","Western":"Western","Film-Noir":"Film-Noir","News":"News","History":"History","Game-Show":"Game-Show","Reality-TV":"Reality-TV","Talk-Show":"Talk-Show","Film & Entertainment":"Film & Entertainment","Gaming":"Gaming","From TV":"From TV","Lifestyle":"Lifestyle","Science & Education":"Science & Education","Cooking & Health":"Cooking & Health","Beauty & Fashion":"Beauty & Fashion","Sports":"Sports","News & Politics":"News & Politics","How-to & DIY":"How-to & DIY","Tech":"Tech","Automotive":"Automotive","Causes & Non-Profits":"Causes & Non-Profits","Movies":"Movies","Uk Live Tv":"Uk Live Tv","Fashion":"Fashion","Business News Radio":"Business News Radio","Business Tv":"Business Tv","Cars & Auto":"Cars & Auto","Comedy Radio":"Comedy Radio","Lifestyle Radio":"Lifestyle Radio","News Tv":"News Tv","Food And Wine":"Food And Wine","Latino Tv":"Latino Tv","Shopping Tv":"Shopping Tv","Religion":"Religion","Kids":"Kids","Body & Soul":"Body & Soul","Education":"Education","Indian Tv":"Indian Tv","Extreme Sports":"Extreme Sports","Middle Eastern Tv":"Middle Eastern Tv","Celebrity Tv":"Celebrity Tv","Science Tv":"Science Tv","Bikini babe":"Bikini babe","Outdoors":"Outdoors","German Tv":"German Tv","French Tv":"French Tv","Italian Tv":"Italian Tv","Gamer Tv":"Gamer Tv","Travel":"Travel","Asian Tv":"Asian Tv","Entertainment":"Entertainment","News Radio":"News Radio","Music Radio":"Music Radio","Language Learning":"Language Learning","Science Radio":"Science Radio","Tech Radio":"Tech Radio","Science & Technology Vod":"Science & Technology Vod","new video":"new video","new episode":"new episode","new movie":"new movie","recommended":"recommended","we recommend":"we recommend","offer of the day":"offer of the day","news":"news","music video":"music video","CTX_SHOW_HOTKEYS":"Show hotkeys","CTX_DISMISS_NOTIF":"Dismiss notifications","CTX_DISMISS_ALL":"Dismiss all","CTX_SHARE":"Share","CTX_COPY_SHARE_LINK":"Copy share link","CTX_COPY_MAGNET_LINK":"Copy magnet link","CTX_COPY_STREAM_LINK":"Copy stream link","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Download this video","CTX_DOWNLOAD_SUBS":"Download subtitles","CTX_VIEW_ON_YOUTUBE":"View on YouTube","CTX_SHOW":"Show","CTX_PLAY":"Play","CTX_PLAY_IN":"Play in","CTX_PLAY_ON":"Play on","CTX_WATCH_ON":"Watch on","CTX_WATCH":"Watch","CTX_WATCHED":"Watched","CTX_WATCH_BEGINNING":"Watch from the beginning","CTX_WATCH_MOBILE":"Watch on a mobile device","CTX_REWIND":"Rewind to beginning","CTX_MARK_WATCHED":"Mark as watched","CTX_MARK_NON_WATCHED":"Mark as non-watched","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"Mark rest as watched","CTX_UNMARK_REST":"Mark rest as non-watched","CTX_RECEIVE_NEW_NOTIF":"Receive new notifications","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"Remove from cache","CTX_REMOVE_CACHE_EP":"Remove episode from cache","CTX_OPEN_CONTAINING":"Open containing folder","CTX_REMOVE":"Remove from library","CTX_AVAILABLE_OFFLINE":"Available Offline","CTX_PAUSED":"Paused","CTX_ALWAYS_ON_TOP":"Always on top","CTX_FULLSCREEN":"Fullscreen","CTX_WRONG_SUBS":"Wrong subtitles?","CTX_REPORT_ISSUES":"Report issue","CTX_COPY":"Copy","CTX_PASTE":"Paste","CTX_CLEAR":"Clear","CTX_CLEAR_RECENT_SEARCHES":"Clear recent searches","HELLO_THERE":"Hello There","HOPE_YOU_ENJOY":"We hope you enjoy Stremio and it\'s one of your favourite apps already!","WHO_ARE_WE":"Who are we? We are the team behind it - two guys who work hard every day for the last 3 years to make this product better and better.","SUPPORT_US":"If you enjoy using Stremio, if Stremio is valuable for you - spread the word!","SPREAD_THE_WORD":"Share with your friends now, spread the word about Stremio","MORE_PEOPLE":"The more people use Stremio, the better it will get!","SEND_A_LINK":"Or send a link to our website","TIP_LOCALFILES":"Tip: you can drag & drop local video files into Stremio","ADDON_MY":"My Add-ons","ADDON_COMMUNITY":"Community Add-ons","ADDON_OFFICIAL":"Official Add-ons","ADDON_REPOS":"Addon collections","ADDON_SEARCH":"Search add-ons","ADDON_INSTALL":"Naloži","ADDON_CONFIGURE":"Configure","ADDON_UNINSTALL":"Odstrani","ADDON_UPGRADE":"Upgrade","ADDON_INSTALLED":"Naloženo","ADDON_INSTALLED_MSG":"Addon installed!","ADDON_UPGRADED_MSG":"Addon upgraded!","ADDON_UNKNOWN":"Unknown","ADDON_ERR":"Addon install error!","ADDON_DISCONNECTED":"Disconnected","ADDON_APP_MISSING":"the app for this source is not installed. Do you want to install it now?","ADDON_APP_INSTALL":"Install Now","ADDON_PAGE":"Addon Page","ADDON_TOP_CONTENT":"Best from this Addon","ADDON_PROVIDES":"This addon will give you:","ADDON_WATCH":"Watch #{types} now!","ADDON_WATCH_FREE":"Watch #{types} for FREE now!","ADDON_ADDON":"Addon","ADDON_SUPPORTED_TYPES":"Supported types","ADDON_SUPPORTED_CATALOGS":"Supported catalogs","ADDON_PROVIDES_DISCOVER":"More #{types} in Discover","ADDON_PROVIDES_STREAMS":"Watch #{types}","ADDON_PROVIDES_STREAMS_FREE":"Watch #{types} for FREE","ADDON_PROVIDES_SUBTITLES":"Subtitles for #{types}","ADDON_CANTDETECT":"We couldn\'t detect a running Stremio, so we couldn\'t detect what addons you have installed.","ERR_NO_META":"No information found about this ","ERR_GETTING_META":"Error retrieving information about this.","ERR_CANT_PARSE_MAGNET":"Unable to parse magnet","ERR_NO_MAGNET_INFOHASH":"No valid info hash for magnet","ERR_NO_FILE_PATH":"Unable to send request without a path to file","ERR_NO_TORRENT":"No torrent returned","ERR_NO_SUPPORTERD_FILES":"No supported files found","ERR_OPENING_FILES":"Could not open external files","ERR_INVALID_LINK":"Invalid link","ERR_REGISTERED_ONLY":"This option is available for registred users only.","ERR_CLIPBOARD":"Can not play from clipboard","ERR_CLIPBOARD_READ":"Can not read the clipboard on this platform","ERR_CLIPBOARD_GENERIC":"No playable URL found in the clipboard. Please copy a URL (e.g. a magnet link) to a video.","BOARD_CONTINUE_WATCHING":"Continue watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Movies picked specially for you.<br />This movie is a sample recommendation.","BOARD_EXPLANATION_EPISODES":"New episodes of your favorite Series come here.<br />Add series you follow to your Library.","BOARD_EXPLANATION_VIDEOS":"New episodes of your favorite Channels come here.<br />Add YouTube channels you follow to your Library.","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE":"Contribute","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"Learn more","WEBSITE_COMPANY":"Company","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Need Help?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"Watch Instantly","WEBSITE_SLOGAN_ALL":"All the Video Content You Enjoy in One Place","WEBSITE_SLOGAN_NEW":"All You Can Watch","WEBSITE_SLOGAN_NEW_NEW":"Freedom to Stream","WEBSITE_WATCH_FROM":"Watch from","WEBSITE_DOWNLOAD":"Download Now","WEBSITE_DOWNLOAD_FOR":"Download Now For","WEBSITE_IS_DESKTOP":"Stremio is a desktop application, open this page on your PC and download it","WEBSITE_DESKTOP_DEMO_VID":"Desktop demo","WEBSITE_PAGE_HOME":"Home","WEBSITE_PAGE_FEATURES":"Features","WEBSITE_PAGE_ADDONS":"Addons","WEBSITE_PAGE_TECH":"Technology","WEBSITE_PAGE_CREATE_ADDON":"Create Addon","WEBSITE_PAGE_CONTACTS":"Contacts","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Movies","WEBSITE_TYPE_series_PL":"Series","WEBSITE_TYPE_tv":"Live TV","WEBSITE_TYPE_channel":"Channels","WEBSITE_STREMIO_WHAT_IS":"Stremio is an app that helps you organize and instantly watch your favorite videos, movies, TV series and TV channels.","WEBSITE_FEATURES_WATCH":"Watch Instantly in HD","WEBSITE_FEATURES_WATCH_DETAIL":"Click and play your favourite movies, TV Shows, videos and TV channels.","WEBSITE_FEATURES_SUBS":"Automatic Subtitles","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio automatically picks synced subtitles for your language.","WEBSITE_FEATURES_SUBS_LABEL":"Your move, chief.","WEBSITE_FEATURES_CAST":"Play on TV & mobile devices","WEBSITE_FEATURES_CAST_DETAIL":"Cast to AppleTV, Chromecast, Smart TV (DLNA/UPnP) and mobile devices.","WEBSITE_LIB":"Enjoy Your Personal Library Synced on All Your Devices","WEBSITE_LIB_COLLECT":"Collect from Stremio","WEBSITE_LIB_IMPORT":"Import from Facebook","WEBSITE_LIB_LOCAL":"Add from your local drive","WEBSITE_BOARD":"The Board - Your one-stop place for Notifications and Recommendations","WEBSITE_BOARD_RECOMMEND":"Recommended TV Show","WEBSITE_BOARD_TRENDING":"Trending Movie","WEBSITE_BOARD_NEW":"New Video","WEBSITE_BOARD_EPISODE":"New Episode","WEBSITE_BOARD_1":"Looking for something interesting to watch? Get recommendations based on your taste!","WEBSITE_BOARD_2":"Get notified when a new episode of your favourite TV show or YouTube channel is out!","WEBSITE_BOARD_YOUTUBE":"New videos of YouTube channels","WEBSITE_BOARD_EPISODES":"New episodes of series you follow","WEBSITE_ADDONS":"Content Addons","WEBSITE_TECH_DETAIL":"We love technology, we love mad science!\\nStremio is using the following open source technologies:","WEBSITE_TECH_WCJS":"WebChimera.js allows Stremio to play any video format with good performance.","WEBSITE_TECH_WCJS_EXTRA":"We are core project contributors","WEBSITE_TECH_ELECTRON":"Electron provides an innovative platform to build Stremio with.","WEBSITE_TECH_ELECTRON_EXTRA":"We are project contributors","WEBSITE_TECH_LINVODB":"A database technology that ensures your data is organized and available anywhere you login.","WEBSITE_TECH_LINVODB_EXTRA":"In-house technology","WEBSITE_CREATE_ADDON":"Create your addon","WEBSITE_CREATE_ADDON_DETAIL":"Do you have a service providing video content? We\'ll help you benefit from Stremio\'s features by creating your Addon.","WEBSITE_CREATE_ADDON_BENEFITS":"Benefits of Creating an Addon for Stremio","WEBSITE_P2P_BEAUTY":"The Beauty of Peer-to-Peer Streaming","WEBSITE_P2P_1":"Reliable and affordable full HD / 4K video on demand or live streaming","WEBSITE_P2P_2":"Distribution platform providing great user experience","WEBSITE_P2P_3":"We will create an addon meeting your exact needs","WEBSITE_P2P_CONTACT":"Interested? You are welcome to <a href=\'mailto:office@stremio.com\'>contact us</a>.","WEBSITE_P2P_CONTACT_EXTRA":"We will be happy to help you integrate your content with Stremio!","WEBSITE_P2P":"Once in a while, there comes a technology that changes the name of the game. We invested tons of time and effort in building our Peer-to-Peer (P2P) video streaming engine that provides great performance and versatility to adapt with any use case.\\nContact us for DRM-enabled P2P video on demand or live streaming.","WEBSITE_THOUGHTS":"Thoughts we share:","WEBSITE_SPREAD":"Spread the word about Stremio:","WEBSITE_CONTACT":"Contact us, we\'ll be happy to hear from you!","WEBSITE_OPENSOURCE":"For our open source projects, go to our","WEBSITE_BITCOIN":"Donate bitcoin:","WEBSITE_FAQ":"Frequently asked questions","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Questions","WEBSITE_TOS":"Terms of use","WEBSITE_LEGAL":"Legal","WEBSITE_PAGE_ABOUT":"About","WEBSITE_PAGE_BECOME_PARTNER":"Become a partner","WEBSITE_ALL_YOU_CAN_WATCH":"Freedom To Watch\\nEverything You Want.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"What is stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio is a one-stop hub for video content aggregation. Discover, organize and watch video from all kind of sources on any device that you own.","WEBSITE_WHAT_IS_STREMIO_P2":"Movies, TV shows, series, live television or web channels like YouTube and Twitch.tv - you can find all this on Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio is a modern media center that\'s a one-stop solution for your video entertainment. You discover, watch and organize video content from easy to install addons.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Movies, TV shows, live TV or web channels - find all this on Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Enjoy on all your Media devices","WEBSITE_DEVICES_COLLECT":"Collect from Stremio","WEBSITE_DEVICES_IMPORT_FB":"Import from facebook","WEBSITE_DEVICES_LOCAL":"Add from local drive","WEBSITE_JOIN_THE_PARTY_NOW":"Join the party now","WEBSITE_DEVICES_ALL":"Easy to use on all your devices;","WEBSITE_EXTENDABLE_CATALOG":"Infinitelly extendable video catalog;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Great features to organize your media;","WEBSITE_AS_SEEN_ON":"As seen on","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"About us","WEBSITE_LINK_TECHNOLOGY":"Technology","WEBSITE_LINK_APPS":"Apps","WEBSITE_LINK_DOWNLOADS":"Downloads","WEBSITE_MORE":"More","WEBSITE_LINK_ADDONS":"Addons","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Contribute","WEBSITE_LINK_COMMUNITY":"Community","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... & More","WEBSITE_LINK_HELP":"Help center","WEBSITE_LINK_CONTACTS":"Business inquiries","WEBSITE_LINK_TOS":"Terms & conditions","WEBSITE_LINK_PRAVACY":"Privacy policy","WEBSITE_SUBSCRIBE":"Subscribe","WEBSITE_NEWSLETTER":"Join Our Newsletter for amazing stuff","WEBSITE_PLACEHOLDER_EMAIL":"Your Email","WEBSITE_COMMUNITY":"Community","WEBSITE_LINK_PRAVACY_LEGAL":"Privacy & legal","WEBSITE_WHY":"Why we do it","WEBSITE_WHY_P1":"At Stremio, we come to work every day because we want to solve an important problem for the video-on-demand industry. There’s so much new content published every minute that it’s virtually impossible to find your way around it.","WEBSITE_WHY_P2":"We help people navigate that huge world of video entertainment and discover new content to enjoy. Our apps bring together movies, series, live TV, web channels, and more. We are dedicated to making it incredibly easy for users to find titles and broadcasters that they love.","WEBSITE_WHY_P3":"You can use our service on any device and at any time, making Stremio the only video entertainment hub you’ll ever need.","WEBSITE_TEAM":"TEAM","WEBSITE_TEAM_P":"The Stremio team is small but powerful: between the ten of us, we code in X languages, and share expertise in software development, UI and UX design, marketing and advertising, and business and startups.","WEBSITE_FEATURES":"Features","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Discover new content with ease","WEBSITE_FEATURES_DISCOVER_P":"Easily discover new movies, TV shows, series and channels to watch. Browse by category, genre, rating, recency, etc. or simply type a name to find. Stremio makes finding new video content a piece of cake.","WEBSITE_FEATURES_ALL_CONTENT":"All of your video content on one screen","WEBSITE_FEATURES_ALL_CONTENT_P1":"See what movies, series or videos you didn’t finish and continue watching them; get notified for new episodes and releases; and browse through the recommendations you will get based on your viewing habits.","WEBSITE_FEATURES_LIBRARY":"Organize your video library","WEBSITE_FEATURES_LIBRARY_P1":"Add any title to your Stremio library with a single click and find your way around your content, neatly arranged by type, recency, or alphabetical order.","WEBSITE_FEATURES_CALENDAR":"Keep track of everything you watch","WEBSITE_FEATURES_CALENDAR_P1":"Get a calendar visualization of all the movies and series you add to your library. Export your Stremio calendar and sync it so you always know when a new episode or a premier is due.","WEBSITE_FEATURES_BIG_SCREEN":"Enjoy your video content on a bigger screen","WEBSITE_FEATURES_BIG_SCREEN_P1":"Cast whatever you are watching to another device - be it a phone, tablet or a TV with a single click.","WEBSITE_FEATURES_SOURCES":"Watch video from many different sources","WEBSITE_FEATURES_SOURCES_P":"Install official and community addons to enjoy video sourced from many different providers - all in one sleek, easy to use app.","WEBSITE_CREATE_AN_ADDON":"Create an addon","WEBSITE_FEATURES_SYNC":"Sync your library across different devices and resume your playback","WEBSITE_FEATURES_SYNC_P1":"Login with your account across all your devices and enjoy your library, addons, playback and calendar synchronized.","WEBSITE_FEATURES_EXTENDABLE":"Extendable video catalog by addons","WEBSITE_FEATURES_EXTENDABLE_P1":"The Stremio addon catalog provides a number of addons to install and watch a variety of video content from. This includes movies, shows, live TV, sport, news, podcasts, web channels, video games and more.","WEBSITE_FEATURES_AUTO_SUBS":"Automatic subtitles","WEBSITE_FEATURES_AUTO_SUBS_P1":"With our subtitle addons you get automatically selected options for your preferred language.","WEBSITE_FEATURES_CHROMECAST":"Casting to Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Enjoy your video content on a bigger screen or just cast whatever you are watching to another device.","WEBSITE_FEATURES_KEEP_TRACK":"Keep track of your favorite TV shows and Web channels","WEBSITE_FEATURES_KEEP_TRACK_P1":"Get a calendar visualization and notifications for new episodes of your favorite series and web channels.","WEBSITE_FEATURES_POWER_USER":"Power user features","WEBSITE_FEATURES_POWER_USER_P1":"Play in external player","WEBSITE_FEATURES_POWER_USER_P2":"Play from a torrent file or magnet link","WEBSITE_FEATURES_POWER_USER_P3":"Import to your library from Facebook likes or local disk","WEBSITE_ADD_ONS":"Addons","WEBSITE_ADD_ONS_P1":"All of the video content Stremio provides get sourced through an addon system - no content or content provider has been built into the app.","WEBSITE_ADD_ONS_P2":"There are two groups of addons available: official and community addons.","WEBSITE_ADD_ONS_P3":"The official ones are developed and hosted by Stremio, whereas community addons are created by our community members, who also host them.","WEBSITE_ADDONS_OFFICIAL":"Official addons","WEBSITE_ADDONS_WATCHUB":"Stream your favourite movies, series and shows from providers like iTunes, Hulu, Amazon and other UK/US services.","WEBSITE_ADDONS_YOUTUBE":"Watch your favourite YouTube channels ad-free and get notifications for new uploads from the contributors you follow.","WEBSITE_ADDONS_FILMON":"Watch live TV, movies and social television for free. 600 TV channels, 45,000 free movies, documentaries and more.","WEBSITE_ADDONS_OPENSUBTITLES":"Movie and TV subtitles in multiple languages, thousands of translated subtitles uploaded every day.","WEBSITE_ADDONS_COMMUNITY":"Community addons","WEBSITE_ADDONS_FILMON_VOD":"Watch video on demand from Filmon.tv","WEBSITE_ADDONS_TWICH":"Watch live streams from Twitch.tv - a video streaming platform for the e-sports industry.","WEBSITE_ADDONS_VODO":"Watch indie movies absolutely free of charge.","WEBSITE_ADDONS_NETFLIX":"Watch Netflix movies and web series.","WEBSITE_ADDONS_CREATE":"Create an addon","WEBSITE_ADDONS_CREATE_P1":"If you wish, you can develop your own addon. This way, you can give yourself and our community access to new video content, and reach a new, targeted audience of millions of users around the world.","WEBSITE_ADDONS_START_CREATE":"To get started, visit the Stremio Addon SDK page:","WEBSITE_DOWNLOADS":"Downloads","WEBSITE_DOWNLOADS_P1":"For optimal performance, we recommend that you use the latest available version of the Stremio apps. If for some reason, however, you would like to use an older version, you can download it here.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio for Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio for macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio for Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio for Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio for iOS (limited version)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"The Stremio platform is open source and you can easily create an addon for content that is currently not sourced.","WEBSITE_CONTRIBUTE_WHY":"Why should you create an addon?","WEBSITE_CONTRIBUTE_WHY_P1":"Reach new audience for your video content","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio’s user base is growing rapidly - within the first year of the launch, Stremio had gained 1 million users around the world, and in the second year of the platform’s existence this number grew to 2.5 million.","WEBSITE_CONTRIBUTE_WHY_P3":"With your addon, you can easily reach this audience and distribute your video content to them.","WEBSITE_CONTRIBUTE_ALL":"Watch your favourite movies, videos, series and channels in one single place.","WEBSITE_CONTRIBUTE_ALL_P1":"You’re a fan of a particular type of content not available on Stremio yet? Create an addon for it and enjoy watching your favourite videos in one of the largest and easiest to use entertainment hubs on the market.","WEBSITE_CONTRIBUTE_ALL_P2":"On top of that, you’ll get the endless gratitude of other like-minded Stremio community members.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetize your addon and earn money with its help","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Once you develop a new addon for Stremio, you can easily monetize it through a number of different ways. If you are considering this, feel free to get in touch with us at ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - we would be happy to consult and advise you about addon monetization options.","WEBSITE_CONTRIBUTE_TRANSLATE":"Become a volunteer translator","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"If you want to enjoy the Stremio apps in different languages, you can join our community of volunteer translators. They help us add versions of the Stremio in many different languages.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Are you eager to get started?","WEBSITE_TRANSALTE_STREMIO":"Translate Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Official communities","WEBSITE_COMMUNITY_OFFICIALS_P1":"Become a part of the growing Stremio community. Follow us on social media and don’t be shy to say hello - we love hearing from our fans! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Unofficial communities","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partners and supporters","WEBSITE_COMMUNITY_GOODIES":"Stremio goodies","WEBSITE_COMMUNITY_WALLPAPERS":"Wallpapers","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"Contact us","WEBSITE_CONTACT_US_P1":"If you have any questions, comments or suggestions, feel free to get in touch with us through the contact form below.","WEBSITE_CONTACT_US_P2":"Keep in mind that we are located in Bulgaria so there may be a delay in addressing your query due to time zone differences.","WEBSITE_CONTACT_US_SUCCESS":"Your message has been sent. We will get back to you at our earliest convenience.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Please enter a valid email!","WEBSITE_CONTACT_US_Q_RELATED_TO":"What is your question related to?","WEBSITE_CONTACT_US_Q_OS":"What is your Operation System?","WEBSITE_CONTACT_US_PH_EMAIL":"Your E-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Message","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"SEND","WEBSITE_CONTACT_US_Q_1":"How to install?","WEBSITE_CONTACT_US_Q_2":"How to uninstall?","WEBSITE_CONTACT_US_Q_3":"(HTML) How to make lasagna?","WEBSITE_CONTACT_US_Q_4":"Addons","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Technology","WEBSITE_TECHNOLOGY_P1":"We love technology and mad science. </br> Here is what powers Stremio (it’s all open-source).","WEBSITE_TECHNOLOGY_P_QT":"Cross-platform software development at its best.","WEBSITE_TECHNOLOGY_P_MPV":"A free, open source, and cross-platform media player.","WEBSITE_TECHNOLOGY_P_RN":"React Native lets you build mobile apps using only JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework embedded into application to get multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm is a mobile platform and a replacement for SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js is an open-source, cross-platform, JavaScript runtime environment.","WEBSITE_TECHNOLOGY_P_RUST":"Rust is a multi-paradigm system programming language focused on safety, especially safe concurrency.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribute to the project","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"There are two ways you can contribute to Stremio and help us make the product even better.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"You can donate your valuable language skills by translating the platform...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"or","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... you can employ your coding skills for creating community addons. ","WEBSITE_TRANSLATE_STREMIO":"Translate Stremio","WEBSITE_404_OH_NO":"Uh-oh! The page you’re looking for is not here...","WEBSITE_GO_HOME":"Go home","WEBSITE_LINK_OTHER_DOWNLOADS":"Other downloads","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Support","WEBSITE_DOWNLOAD_4_0_BETA":"Download Stremio 4 beta Now","WEBSITE_GET_FOR_DESKTOP":"Get for desktop","WEBSITE_LINK_ADDON_COMPETITION":"Addon competition","WEBSITE_LINK_ART_CONTEST":"Art contest","WEBSITE_MY_ACCOUNT":"My account","WEBSITE_MAINPAGE_FAQ_001_H1":"What is Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio is a modern media center that gives you the freedom to watch everything you want.","WEBSITE_MAINPAGE_FAQ_002_H1":"How does it work?","WEBSITE_MAINPAGE_FAQ_002_P1":"Once you install Stremio on your device and create an account, all you have to do is to visit the addon catalog and install any addon you want, and you\'re good to go!","WEBSITE_MAINPAGE_FAQ_002_P2":"After that, you can go to the Discover or Board sections to start exploring content.","WEBSITE_MAINPAGE_FAQ_003_H1":"What can I watch here?","WEBSITE_MAINPAGE_FAQ_003_P1":"A lot: Movies, TV shows, Web channels, Sport, TV channels, listen to Podcasts and more. Thanks to our addon system, you can access a variety of content.","WEBSITE_MAINPAGE_FAQ_004_H1":"Is Stremio open-source?","WEBSITE_MAINPAGE_FAQ_004_P1":"Yes, you can check the following links: ${1}desktop app${2} and ${3}GitHub organization${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Is Stremio safe?","WEBSITE_MAINPAGE_FAQ_005_P1":"Yes: because it is open-source software, the code is publically auditable and you can review it yourself.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"How about my privacy?","WEBSITE_MAINPAGE_FAQ_006_P1":"We respect users\' privacy and do not collect any personal data besides the essential minimum to create and sync your account.","WEBSITE_MAINPAGE_FAQ_006_P2":"There is also a ${1}Guest mode${2} at signup, which requires no data whatsoever: in this mode, no calls are made to our backend. However, it comes at the expense of useful features, such as being able to sync your library across devices.","WEBSITE_MAINPAGE_FAQ_007_H1":"Can I cast to my TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Yes, we support Chromecast and you can cast both from desktop and mobile apps (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"How many addons does Stremio have?","WEBSITE_MAINPAGE_FAQ_008_P1":"As of late 2019, over 50 - for more information, check our addon catalog.","WEBSITE_MAINPAGE_FAQ_009_H1":"Can Stremio be extended beyond what\'s in the addon catalog?","WEBSITE_MAINPAGE_FAQ_009_P1":"Yes, you should check those: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"What devices does Stremio support?","WEBSITE_MAINPAGE_FAQ_010_P1":"We have desktop apps for Windows, Mac and Linux. For mobile, we support Android and iOS, although keep in mind that the iOS is limited in functionality (does not support most addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"There are many Android-based devices which you can run Stremio on, like NVIDIA Shield and Amazon Fire Stick, but we do not support them officially.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Can you add certain content to Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Sorry, we provide no content ourselves, but the more Stremio addons you have installed, the more content you will be able to find.","WEBSITE_MAINPAGE_FAQ_012_H1":"Can Stremio play magnet links?","WEBSITE_MAINPAGE_FAQ_012_P1":"Yes, and it can also play normal HTTP links and torrent files (drag and drop).","WEBSITE_MAINPAGE_FAQ_013_H1":"Can I download a video and watch offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Available offline is an upcoming feature, but if you allow Stremio to cache on your device (from the settings panel) you can watch the videos later without a connection.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nothing works, help me!","WEBSITE_MAINPAGE_FAQ_014_P1":"Are you sure you have installed addons? If yes, check with our ${1}help center${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"How does Stremio sustain it\'s development operations?","WEBSITE_MAINPAGE_FAQ_015_P1":"We run non-intrusive ads occassionally, but we\'re considering moving to a donation model.","WEBSITE_MAINPAGE_FAQ_015_P2":"For more questions, go to our ${1}help center${2}.","HELP_LEARN_MORE":"Help us learn more about you.","LIFESTYLE":"Lifestyle","SPORTS":"Sports","FOOD_HEALTH":"Food & health","BEAUTY_FASHION":"Beauty & Fashion","NEWS":"News","GAMING":"Gaming","SCIENCE_EDUCATION":"Science & education","MUSIC":"Music","TRAVEL":"Travel","LATE_NIGHT":"Late Night","REALITY":"Reality","COMEDY":"Comedy","DIY":"How to DIY","TECH":"Tech","CINEMA":"Cinema","CONTINUE":"Continue","SLOW_LOADING":"SLOW LOADING?","I_GIVE_UP":"I GIVE UP","LEARN_MORE":"Learn more","POOR_SOURCE":"This source is poorly available or your internet connection is not fast enough","PICK_CATEGORIES_ERR":"You have to pick at least 3 categories","ADJUST_TIMING":"Adjust timing with ","ADJUST_SIZE":"Adjust size with ","SEARCH_ANYTHING":"You Can Search Anything...","ALL_CATEGORIES":"All","SEARCH_CATEGORIES":"Movies, Series, YouTube & TV","SEARCH_PERSONS":"Actors, Directors & Writers","SEARCH_PROTOCOLS":"HTTP & Magnet Links","SEARCH_TYPES":"IMDB / TVDB links","WATCHED":"Watched","SHOW_LESS":"Show less","LAST_SEARCHES":"Last searches","CLEAR_HISTORY":"Clear history","CHOOSE_SOME":"CHOOSE SOME OF THIS:","NO_WEB_REMOTE":"Web Remote could not be loaded","STREMIO_OFFLINE":"Stremio is offline","STREMIO_EXPENSIVE_CONNECTION":"We\'ve detected that you are using a mobile data connection, do you want to continue?","USE_DATA":"Use data","WARNING":"Warning","MORE_INFO":"More Info ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Loading ...","STREMIO_TV_BACK_TO_LANGUAGES":"Back to languages","STREMIO_TV_REMOTE":"Remote","STREMIO_TV_GO_TO":"Go to:","STREMIO_TV_OR_SCAN":"or scan:","STREMIO_TV_ADDON_INSTRUCTIONS":"Please follow the instructions in order to install your preferred addons.","STREMIO_TV_LIVE_TV":"Live TV","STREMIO_TV_RESUME_WATCHING":"Resume Watching","STREMIO_TV_LOADING_BACKGROUND":"Loading Background","STREMIO_TV_CHECKING_AUTHENTICATION":"Checking Authentication","STREMIO_TV_LOADING_BOARD":"Loading Board","STREMIO_TV_LOGIN_HEADER_LINE_1":"We want our users to have the best possible personalized experience with our software.","STREMIO_TV_LOGIN_HEADER_LINE_2":"It is for this reason that we kindly ask you to make and/or login to your account.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Thank you for understanding,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"The Stremio Team","STREMIO_TV_REMOTE_INSTRUCTIONS":"In order to use the Web Remote with your Smartphone / Tablet / Desktop:","STREMIO_TV_WIFI_SETUP":"Wi-Fi Setup","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle did not detect a internet connection.","STREMIO_TV_WIFI_DETAILS_1":"Connect to:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Use password:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Open a web browser with the link:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Default","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"By Last Watched","STREMIO_TV_LIBRARY_SORT_NAME":"By Name","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"By Times Watched","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Season ${1}","STREMIO_TV_STREAMS_LOADING":"Loaded ${1} / ${2} addons...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} addon is still loading...","STREMIO_TV_PLAYER_SETTINGS":"Player settings","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Subtitles delay","STREMIO_TV_PLAYER_AUDIO_DELAY":"Audio delay","STREMIO_TV_PLAYER_VIDEO_SCALING":"Video scaling","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Unsupported stream source","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Failed opening external link","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Not adjustable in audio passthrough mode","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Play with ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Play with libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Switching to libVLC player due to a playback error","STREMIO_TV_ADDONS_TITLE":"Use Stremio on your Phone or PC to install or configure addons and press \\"Sync Addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Note: make sure you are using the same Stremio account","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sync Addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons successfully synchronized","STREMIO_TV_ADDONS_SYNC_FAILED":"Failed to synchronize addons","STREMIO_TV_META_LINK_FAILED":"Failed opening meta link","STREMIO_TV_CATALOG_LOADING":"Catalog still loading...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Interface language updated","STREMIO_TV_SETTINGS_THEME_UPDATED":"Theme updated","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Default Player","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"External Player","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferred Language","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Secondary Preferred Language","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possible playback issues on some devices","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Some video formats might not work","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"No caching","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Default","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Soft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Fast","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Fast","STREMIO_TV_SETTINGS_SERVER_URL":"Streaming server url","STREMIO_TV_SETTINGS_SERVER_VERSION":"Server version","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Unknown","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio version","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Edit server url","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Enter a streaming server url","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Show statistics while loading","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"To read Stremio\'s Privacy Policy, visit:","STREMIO_TV_SETTINGS_TOS_TEXT":"To read Stremio\'s Terms and Conditions, visit:","STREMIO_TV_NAV_SEARCH":"Search","STREMIO_TV_NAV_HOME":"Home","STREMIO_TV_NAV_DISCOVER":"Discover","STREMIO_TV_NAV_LIBRARY":"Library","STREMIO_TV_NAV_MOVIES":"Movies","STREMIO_TV_NAV_SERIES":"Series","STREMIO_TV_NAV_CHANNELS":"Channels","STREMIO_TV_NAV_TV":"Live TV","STREMIO_TV_NAV_SETTINGS":"Settings","STREMIO_TV_NAV_ADDONS":"Addons","STREMIO_TV_LOGIN_TITLE":"Link Account","STREMIO_TV_LOGIN_EXPIRES_IN":"Expires in","STREMIO_TV_LOGIN_STEP_ONE":"Scan QR Code above or go to","STREMIO_TV_LOGIN_STEP_TWO":"Log in to your Stremio account","STREMIO_TV_LOGIN_NEW_LINK":"Request a new link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Login code refreshed","STREMIO_TV_SEARCH_PLACEHOLDER":"Type something","STREMIO_TV_SEARCH_NO_ADDONS":"No addons were requested for catalogs!","STREMIO_TV_SEARCH_BUTTON":"Search","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Search History","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"You can search for Titles, Actors, Channels and more...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Clear Search History","STREMIO_TV_FILTERS_DESCRIPTION":"Choose from one of the filters below","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"Filters","SETTINGS":"Settings","ACCOUNT":"Account","LOGOUT":"Logout","THEMES":"Themes","PLAYBACK":"Playback","PLAYBACK_SPEED":"Playback Speed","AUDIO_TRACKS":"Audio Tracks","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Videos","SERVER":"Server","LINKS":"Links","ABOUT":"About","INTERFACE":"Interface","ANIMATIONS":"Animations","STATUS":"Status","LANGUAGE":"Language","SIZE":"Size","DELAY":"Delay","BOLD":"Bold","OPACITY":"Opacity","TEXT_COLOR":"Text Color","OUTLINE_COLOR":"Outline Color","BACKGROUND_COLOR":"Background Color","BACKGROUND_BLUR":"Background Blur","SEEK_TIME_DURATION":"Seek Time Duration","AUTO_PLAY":"Auto-Play Next Episode","PLAY_NOW":"Play Now","MARK_AS_WATCHED":"Mark as Watched","MARK_AS_UNWATCHED":"Mark as Unwatched","REWIND_TO_BEGINNING":"Rewind to Beginning","CONTINUE_WATCHING":"Continue Watching","ALL":"All","SECONDS":"seconds","ON":"ON","OFF":"OFF","RELOAD":"Reload","EDIT_URL":"Edit URL","NONE":"None","EMBEDDED":"Embedded","REMOTE_SWITCH_DEVICES":"Switch Devices","REMOTE_VIDEOS":"Videos","REMOTE_ADJUST_TIMING":"Adjust timing","REMOTE_ADJUST_SIZE":"Adjust size","REMOTE_COULD_NOT_BE_LOADED":"Web Remote could not be loaded","REMOTE_RETRY":"Retry","TORRENT_PROFILE_DEFAULT":"Default","TORRENT_PROFILE_SOFT":"Soft","TORRENT_PROFILE_FAST":"Fast","TORRENT_PROFILE_ULTRA_FAST":"Ultra Fast","FAQ_001_H1":"What is Stremio?","FAQ_001_P1":"Stremio is a media center software designed for video entertainment with ease of use in mind. Stremio allows you to organize &amp; watch your own collection of movies, series, channels and live TV.","FAQ_001_P2":"Stremio collect the content it shows you from your local disk and our addons system.","FAQ_001_P3":"It will also notify you when new episodes/videos/movies you\'re interested in come out, and provide movie recommendations for you.","FAQ_02_H1":"How does Stremio compare to Kodi and Plex?","FAQ_02_P1":"We are inspired by those two pieces of software. But we have different goals - Stremio is specifically targeted towards entertainment video, and strives to become the mainstream solution for that by being very easy to use.","FAQ_02_P2":"Stremio will never be as customizable and feature-rich as Kodi and Plex, but it is significantly easier to use. Just ${1} get it and see ${2} :)","FAQ_03_H1":"How does Stremio compare to Netflix?","FAQ_03_P1":"Again, Netflix is one of our inspirations. We strive to achieve the user experience of Netflix, plus a lot of added goodies. But most importantly, we\'re giving you the freedom to manage your own library and add new content sources with our addon system.","FAQ_03_P2":"That makes Stremio infinitely extendable, so when you use Stremio, you\'re never limited to the content Netflix decides to license. For example, through Stremio you can watch content from ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} and even ${9}Netflix${10} itself!","FAQ_04_H1":"How does Stremio compare to Flipboard?","FAQ_04_P1":"We don’t get that question that often, except when talking to start-up people :)","FAQ_04_P2":"Stremio is by design a content aggregator, which essentially makes it Flipboard for video. This is very apparent in our Board section, which gives you catalogues and new episode/new video notifications for what you follow, just like Flipboard.","FAQ_05_H1":"How does Stremio compare to Popcorn Time?","FAQ_05_P1":"Stremio and Popcorn Time are similar in user interface, because there aren’t many ways to do video entertainment catalogues right :)","FAQ_05_P2":"But while Popcorn Time is focused on streaming torrents from specific sources, Stremio is unrestricted and is merely a content aggregator - it’s not locked into a specific content source.","FAQ_05_P3":"Furthermore, we do not provide any torrent addons by default, so Stremio does not cover the Popcorn Time use-case with official functionality.","FAQ_05_P4":"Another notable difference is that Popcorn Time is completely open source, while Stremio is ${1} partially open source${2}.","FAQ_06_H1":"Will you add this movie/series?","FAQ_06_P1":"No, sorry :(","FAQ_06_P2":"As is mentioned in most of the other questions, Stremio does not provide any content by itself - everything is added through the addons system. In case you have a content request, you can use the “Report” button in the Player, which will send an email to the author of the addon you’re currently using.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Will you create addon for X?","FAQ_08_P1":"It\'s entirely possible.","FAQ_08_P2":"If you have an idea for an addon, drop us a line at ${1}office@stremio.com${2}, but please make sure your addon idea will not infringe on any copyrights or terms of use.","FAQ_08_P3":"At the moment, the next things on our roadmap are addons for FandangoNOW, Filmon.tv video on demand and Crunchyroll.","FAQ_09_H1":"Does Stremio use BitTorrent?","FAQ_09_P1":"Yes, Stremio supports BitTorrent as a streaming protocol. You can use that either with a torrent addon, or by drag-and-dropping a .torrent file into Stremio, or by pasting a magnet link into the Search Bar.","FAQ_09_P2":"Please note that the only official addon using BitTorrent is ${1}Vodo${2}, which provides indie content, all permitted to be distributed with BitTorrent.","FAQ_09_P3":"We do not support use of any third-party addons which may enable copyright infringement.","FAQ_10_H1":"What can I watch in Stremio with the official addons?","FAQ_10_P1":"By default, you can watch Filmon.tv, YouTube and Vodo content within Stremio itself, with it’s embedded player. Additionally, we have an addon for Twitch.tv and a few others.","FAQ_10_P2":"This combined provides a selection of:","FAQ_10_L1":"Popular TV channels, provided by Filmon.tv - for example E4, BBC, Bollyworld TV","FAQ_10_L2":"Everything from YouTube - for example BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indie movies with Vodo","FAQ_10_L4":"Online gaming broadcasts with Twitch.tv","FAQ_10_P3":"Additionally, there are many content sources provided with Guidebox and the Netflix addons, which <b>do not</b> play entirely inside Stremio, but would redirect to the given service. For example, the Guidebox addon would give you a selection of movies you can stream in the US for free, from services like TubiTV and Crackle.","FAQ_11_H1":"Stremio won\'t install, what should I do?","FAQ_11_P1":"If you\'re on Windows, try ${1}this alternative installer${2}.","FAQ_11_P2":"If you\'re on Mac OS X, please be aware that we don\'t support anything older than OS X Mavericks (10.9).","FAQ_11_P3":"If you\'re on Linux, be aware that we only support 64 bit (x64) Linux at the moment.","FAQ_11_P4":"If you still can\'t resolve your problem, please write us at our ${1}Facebook group${2}.","FAQ_12_H1":"Why does my anti-virus complain? Is Stremio safe?","FAQ_12_P1":"We assure you Stremio is ${1}100% clean${2}.","FAQ_12_P2":"Your antivirus is complaining because we include advertising in our installer, which some anti-virus programs recognize as ad-ware.","FAQ_12_P3":"If you\'re still unsure, you can try our ${1}alternative installer${2}.","FAQ_13_H1":"How can I make an addon?","FAQ_13_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_13_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_13_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_14_H1":"How are addons published?","FAQ_14_P1":"When you create an addon and host, and put a <b>endpoint</b> field in your manifest, which points to a working addon address, the addon will automatically publish itself to our ${1}Addon catalogue${2}.","FAQ_14_P2":"This happens because the server part of the stremio-addons module automatically makes a call to our API to announce the addon. When our API validates your <b>endpoint</b> as a valid addon, it will start showing in the catalogue.","FAQ_15_H1":"Can I run Stremio in my browser?","FAQ_15_P1":"Not at the moment, but this is coming!","FAQ_15_P2":"If you\'re curious to see an Alpha, you can see it here: ${1}alpha4.strem.io${2}. Keep in mind streaming is disabled on this alpha. We support Chrome, Firefox, Opera and Edge.","FAQ_16_H1":"Casting to TV doesn\'t work / subtitles don\'t work","FAQ_16_P1":"Casting to TV uses the DLNA technology which is very inconsistent between different TV brands and models. For that reason, we do not have the ability to test it in every case, so it\'s far from perfect. Despite this, we\'re working on improving it constantly but we cannot give you a time estimate on when DLNA will start working properly with your TV.","FAQ_16_P2":"If you don\'t even see your TV in the casting menu, please try disabling your network connection and re-enabling it (on Windows, right click the Network and use Enable/Disable), as well as restarting your router, TV and PC.","FAQ_16_P3":"If you are still encountering issues, you can help us by sending your TV brand and model information at ${1}office@stremio.com${2}.","FAQ_16_P4":"In the meantime, we recommend Chromecast, which we support very well, or simply plugging in your TV to your PC with an HDMI cable.","FAQ_17_H1":"Stremio freezes and/or crashes, what can I do?","FAQ_17_P1":"First of all, if you\'re using Windows 7 with AVG anti-virus: we have a problem with that combination. The problem is in AVG itself, and there\'s no reasonable way to resolve it on our end. Unfortunately, exceptions or disabling the anti-virus won\'t work. The only solution is to replace AVG with something else.","FAQ_17_P2":"If that\'s not the issue, but you\'re still using Windows, please update to the latest service pack and update/re-install your GPU drivers, then try again.","FAQ_17_P3":"If you\'re problem is still not resolved, or you\'re using a Mac or Linux, please write us reporting the exact details of the problem at ${1}our Facebook group${2}.","FAQ_18_H1":"How can I make an addon?","FAQ_18_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_18_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_18_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_19_H1":"Why is Stremio taking disk space?","FAQ_19_P1":"Stremio has a <b>local cache</b> to temporarily keep the video files you stream.","FAQ_19_P2":"This has two benefits: first, it allows Stremio to pre-buffer the video ahead so as to ensure smoother streaming. Second, it keeps the videos in the local cache so you can continue watching them offline.","FAQ_19_P3":"How much Stremio keeps depends on the <b>Cache</b> setting in the Settings panel. Stremio may keep up to the set amount (e.g. 2GB) on your disk, unless the currently streamed video is larger than that, in which case it has to allocate enough storage to keep it until you\'re streaming it.","FAQ_20_H1":"Where is the cache folder?","FAQ_20_P1":"On Windows, it\'s stremio-cache in the drive you picked in Settings (e.g. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"On MacOS, it\'s \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"On Linux, it\'s \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"I get \\"Streaming server is not found\\" error, what can I do?","FAQ_21_P1":"If you get this error, it means one of few things:","FAQ_21_P2":"1) You are trying to use an addon backed by YouTube/BitTorrent source, through our ${1}web version${2}. In this case, you should install our desktop version from ${3}our website${4}.","FAQ_21_P3":"2) Something is wrong with your Stremio installation. In this case, try re-installing our latest desktop version from ${1}the website${2}. If this does not help, try disabling anti-virus programs and firewalls, restarting your PC and trying again. If this does not work too, please write us at our ${3}our Facebook group${4}.","FAQ_22_H1":"I cannot see/use most addons on iOS","FAQ_22_P1":"Because of restrictions in the Apple App Store terms and conditions, we have restricted the iOS application only to a particular set of addons.","FAQ_22_P2":"But rest assured - there will be more addons for iOS in the future, and we may also add an integration that will allow you to use all Stremio addons thanks to connecting the iOS app to the Stremio Streaming Server."}')},52963:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Филм","TYPE_series":"Серија","TYPE_tv":"ТВ канал","TYPE_channel":"Канал","TYPE_other":"Остало","TYPE_movie_PL":"Филмови","TYPE_series_PL":"Серије","TYPE_tv_PL":"ТВ канали","TYPE_channel_PL":"Канали","TYPE_other_PL":"Остало","TYPE_ALL":"Све","TYPE":"Врста","CATALOG_com_linvo_cinemeta_top":"Популарно","CATALOG_com_linvo_cinemeta_imdbRating":"Истакнуто","CATALOG_com_linvo_cinemeta_year":"Ново","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Филмови у јавном власништву","VIDEO":"Видео снимак","BACK":"Назад","MORE":"Више","DONE":"Готово","COPY":"Копирај","SUCCESS":"Успешно","ERROR":"Грешка","SETTINGS_CASTING_MODE_PICKER":"Режим пребацивања","CASTING_MODE_HLSV2":"Подразумевано","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Нема транскодирања","Discover":"Откриј","Board":"Табла","Library":"Збирка","My Library":"Моја збирка","Calendar":"Календар","NOTIFICATION_ONLINE":"Сада сте онлајн","NOTIFICATION_OFFLINE":"Тренутно сте офлајн","INTERNET_CONNECTION":"Мрежна веза","STORAGE_FULL_TITLE":"Упозорење: Меморија је пуна!","STORAGE_FULL_TEXT":"Stremio неће моћи да сачува ваша подешавања, преференце или информације за пријаву. Размислите о рестартовању или поновној инсталацији апликације Stremio.","SEARCH":"претрага","SEARCH_NO_RESULTS":"Нису пронађени резултати","SEARCH_EXPLANATION_CONTENT":"Претражите филмове, серије, YouTube и ТВ канале ","SEARCH_EXPLANATION_PEOPLE":"Претражите глумце, режисере и писце","SEARCH_PASTE_LINKS":"Налепите HTTP и магнет линкове","SEARCH_OR_PASTE_LINK":"Претражите или налепите линк","SEARCH_SUGGESTIONS":"Предлози за претрагу","ADD_TO_LIB":"Додај у збирку","REMOVE_FROM_LIB":"Уклони из збирке","ADDED_TO_LIB":"Додато у збирку","REMOVED_FROM_LIB":"Уклоњено из збирке","TRAILER":"Трејлер","WATCH_TRAILER":"Погледај трејлер","WATCH_NOW":"Погледај сада","SHOW":"Прикажи","SHOW_MOVIE":"Прикажи филм","WATCH_RANDOM":"Погледај насумично","IMDB_RATING":"IMDb оцена","YEAR":"Година","DIRECTOR":"Режисер","WRITER":"Писац","LEAD_ACTORS":"Главни глумци","CAST":"Глумци","CREW":"Екипа","SHOW_MORE_CAST":"Прикажи више »","AIRED":"Емитовано ","SEASONS":"Сезоне","GENRE":"Жанр","GENRE_ALL":"Сви жанрови","CATALOG":"Каталог","SUMMARY":"Резиме","SHOW_MORE":"Прикажи више","SIMILAR":"Слично","UPCOMING":"Предстојеће","ENDED":"Завршено","DURATION":"Трајање","FEATURED":"Истакнуто","METADATA":"Метаподаци","CATEGORY":"категорија","LINKS_GENRES":"Жанрови","LINKS_CAST":"Глумци","LINKS_DIRECTORS":"Режисери","SEARCH_VIDEOS":"претражите видео снимке","SEARCH_PLACEHOLDER":"претражите или налепите URL","ADDON":"додатак","ADDONS":"Додаци","OFFICIAL":"званично","ADDONS_OFFICIAL":"Званични Stremio додаци","ADDONS_POPULAR":"Популарно у вашој области","ADDON_FREE":"бесплатно","ADDON_PEERED":"peer-овано","ADDON_SUBSCRIPTION":"претплата","ADDON_STREAM_GEORESTRICTED":"није доступно у вашој области","ADDON_STREAM_OFFLINECACHE":"Офлајн кеш","ADDON_STREAM_LOCALFILE":"Локални фајл","SHARE_ADDON":"Дели додатак","AVAILABLE_STREAMS":"Доступни стримови","NO_STREAM":"Нису пронађени стримови","ALL_ADDONS":"Све","INSTALL_MORE_ADDONS":"За више стримова, инсталирајте још додатака","STREAM_NOT_SUPPORTED":"Изабрани стрим није подржан на овој платформи.","ADDON_CATALOGUE":"Прикажи све додатке »","ADDON_CATALOGUE_MORE":"Инсталирај додатке","REPO_ADDED":"Репозиторијум је додат","ADDON_REPO_EXIST_ERR":"Ова колекција додатака већ постоји","ADDON_REPO_ERR":"Дошло је до грешке приликом додавања колекције","ADDON_ADD_ERR":"Дошло је до грешке приликом додавања додатка","ERR_ADDON_PROTECTED":"Није могуће деинсталирати додатак, заштићен је","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Дошло је до грешке – аутентификација можда није успела","ERR_NOT_COLLECTION_URL":"Није URL колекције","ERR_NOT_ADDON_URL":"Није важећи URL додатка","ERR_DETECTFROMURL":"Није могуће пронаћи додатак/колекцију са овог URL-а ","ADDON_DUPLICATE_WARNING":"Упозорење: дуплирани додатак","ADDON_COLLECTION_SET_FAILED":"Синхронизација инсталираних додатака са вашим налогом није успела","SETTINGS_DATA_EXPORT":"Извези корисничке податке","ADDON_PULL_FAILED":"Синхронизација инсталираних додатака са вашег налога није успела","REFRESH_ON_CLICK":"Кликните да бисте покушали поново","STILL_IN_THEATER":"Филм се још увек приказује у биоскопима","WATCH_IN_CINEMA":"Гледајте у свом локалном биоскопу","IN_THEATER":"У биоскопу","GET_TICKETS":"Набавите карте","UPCOMING_EPISODE":"Предстојећа епизода","UPCOMING_EPISODE_MESSAGE":"Ова епизода ће бити емитована","MISSING_DATE_EPISODE":"Недостаје датум епизоде","MISSING_DATE_EPISODE_MESSAGE":"Ова епизода можда још није емитована ","CHANNEL_NOT_SCRAPED":"Овај канал још није преписан.<br> Вратите се за неколико минута.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Додајте га у своју збирку да бисте добили обавештење када буде доступан.","GET_NOTIFIED_WHEN_AVAILABLE":"Бићете обавештени када буде доступан.","WARNING_STREAMING_SERVER":"Упозорење: локални сервер за стримовање није пронађен. Стримовање из локалних фајлова, YouTube-а и BitTorrent-а неће бити доступно.","WARNING_STREAMING_SERVER_DISMISS":"Одбаци","WARNING_STREAMING_SERVER_LATER":"Касније","DECODER_WARNING":"Упозорење: овај видео снимак можда не подржава ваш хардвер. Имајте на уму да репродукција може бити спора.","GENERIC_ERROR_MESSAGE":"Дошло је до грешке!","TRY_AGAIN":"Покушај поново","CLEAR_DATA":"Очисти податке","PLAYER_ERROR":"Упс, грешка плејера","PLAYER_ERROR_LOOKSLIKE":"Изгледа да","PLAYER_ORIENTATION":"Оријентација плејера","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Закључано","PLAYER_ORIENTATION_SENSOR_SHORT":"Сензор","PLAYER_ORIENTATION_LANDSCAPE":"Оријентација плејера закључана у водоравном положају","PLAYER_ORIENTATION_SENSOR":"Аутоматска оријентација плејера (сензор)","PLAYER_PLAYBACK_SPEED":"Брзина репродукције","PLAYER_PLAYBACK_ERROR":"Грешка при репродукцији, покушајте поново","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Непозната грешка","PLAYER_PLAYBACK_ERROR_DEFAULT":"Жао нам је, {{productName}} не може да пусти овај видео снимак.","PLAYER_SUBTITLES_LANGUAGES":"Титлови језика","PLAYER_SUBTITLES_VARIANTS":"Варијанте титлова","PLAYER_SUBTITLES_SETTINGS":"Подешавања титлова","PLAYER_SUBTITLES_DISABLED":"Титлови су онемогућени","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Усправни положај","PLAYER_SUBTITLES_LOADED":"Титлови су учитани","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Уграђени титлови су учитани","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Ексклузивни титлови су учитани","PLAYER_SUBTITLES_LOADED_ORIGIN":"Учитани су титлови из {{origin}}","PLAYER_PLAY":"Пусти","PLAYER_PAUSE":"Паузирај","PLAYER_NEXT_VIDEO":"Следећи видео снимак","PLAYER_MUTE":"Искључи звук","PLAYER_UNMUTE":"Укључи звук","PLAYER_OPEN_IN_EXTERNAL":"Отвори у спољном плејеру","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Пусти на {{device}}","PLAYER_LIVE":"Уживо","PLAYER_NEXT_VIDEO_TITLE":"Следеће долази","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Одбаци","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Гледај сада","PLAYER_COPY_STREAM_SUCCESS":"Линк стрима је копиран у привремену меморију","PLAYER_COPY_STREAM_ERROR":"Копирање линка стрима није успело","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","STREAMING_FROM":"стримовање из","CASTING_TO":"Пребацивање на","NETWORK_STATUS":"Статус мреже","STREAM_SPEED":"Брзина стрима:","STREAM_BUFFERED":"Баферовано:","PEERS_INFO":"Информације о peer-у","PEERS_ACTIVE":"Активно:","PEERS_CONNECTED":"Повезано:","PEERS_WAITING":"Чекање:","TRANSCODING_WARNING":"Упозорење: транскодирање видео снимка.","STREAM_LOADING":"учитавање...","PLAYING_LOCAL":"пуштање из локалног фајла","PLAYING_CACHE":"пуштање из кеша","WRONG_SUBS":"Погрешни титлови?","ERR_SUBS_LOADING_TITLE":"Грешка при учитавању титлова","ERR_SUBS_LOADING":"Учитавање титлова није успело: ово може бити проблем са додатком који користите или са вашом мрежном везом","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Следећи додаци титлова нису успели","ERR_CASTING_UPDATE_TITLE":"Није могуће ажурирати информације о уређају за пребацивање: сервер за стримовање је можда офлајн","CHOOSE_DEVICE":"Избор уређаја за гледање","NO_CAST_DEVICES":"Нема доступних уређаја за пребацивање.","NO_SETTINGS":"Нема доступних подешавања.","PHONE_TABLET":"Телефон / Таблет","SUBTITLES":"Титлови","SUBTITLES_CHANGE":"Промените титлове за ","SUBTITLES_CHANGE_NONE":"Нема других титлова за овај језик, извините.","SUBTITLES_CHANGE_ACIVE":"Тренутно су титлови #{{subtitlesDialog.activeIdx + 1}} активирани. Кликните на „Настави” да бисте активирали титлове #{{subtitlesDialog.pickedIdx + 1}}. ","SUBTITLES_OR":"Алтернативно,","SUBTITLES_ADJUST_DELAY":"Подесите кашњење титлова:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Или користите тастере <span>G</span> / <span>H</span> током пуштања да бисте прилагодили.","SUBTITLES_ADJUST_DELAY_TIP":"САВЕТ: можете да користите тастере <span>G</span> / <span>H</span> током пуштања да бисте подесили.","SUBTITLES_DELAY":"Кашњење титлова:","SUBTITLES_LOADING":"Учитавање титлова...","SUBTITLES_UNAVAILABLE":"Нема доступних спољних титлова","SUBTITLES_DISABLED":"Онемогућено","EXTERNAL_PLAYER_DISABLED":"Онемогућено","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Дозволи бирање","EXTERNAL_PLAYER_HINT":"Савет: Постоји подешавање којим можете дозволити стално отварање са спољним плејером","DONT_SHOW_AGAIN":"Не приказуј поново","SERVICE_INSTALL":"Инсталирај","AUDIO":"Аудио","DEFAULT_LANGUAGE":"Подразумевани језик","DEFAULT_SECONDARY_LANGUAGE":"Подразумевани други језик","SEASON":"Сезона","EPISODE":"Епизода","EPISODE_ABBREVIATION":"ЕП","SPECIAL":"Специјал","SORT":"сортирање","SORT_BY":"Сортирати по","FILTER":"филтер","SORT_TRENDING":"у тренду","SORT_RECENT":"недавно","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"оцена","SORT_WATCHED":"одгледано","SORT_YEAR":"година","SELECT_TYPE":"Избор врсте","SELECT_SORT":"Избор сортирања","SELECT_CATALOG":"Избор каталога","SELECT_GENRE":"Избор жанра","SORT_LASTWATCHED":"По последњем гледању","SORT_NAME":"По имену","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"По броју гледања","SORT_NOTWATCHED":"неодгледано","New for You":"Ново за вас","New Episodes":"Нове епизоде","New Videos":"Нови видео снимци","Recommendations":"Препоруке","LIBRARY_RESUME":"Настави","LIBRARY_PLAY":"Пусти","LIBRARY_DETAILS":"Детаљи","LIBRARY_RESUME_DISMISS":"Одбаци","LIBRARY_CLEAR_PROGRESS":"Очисти напредак","LIBRARY_REMOVE":"Уклони","LIBRARY_NOT_LOGGED_IN":"Збирка је доступна само пријављеним корисницима","CALENDAR_NOT_LOGGED_IN":"Календар је доступан само пријављеним корисницима","NOT_LOGGED_IN_CLOUD":"Приступите својим омиљеним филмовима и серијама било када, било где","NOT_LOGGED_IN_RECOMMENDATIONS":"Препоруке прилагођене вашој историји гледања","NOT_LOGGED_IN_NOTIFICATIONS":"Никада више не пропустите ниједну епизоду","NOT_LOGGED_IN_CALENDAR":"Закажите свој лични календар гледања","DISCOVER_FEATURED":"Истакнуто","DISCOVER_TOP":"Топ","DISCOVER_OSCAR":"Добитници Оскара","DISCOVER_WARNING_TITLE":"Упс!","DISCOVER_EMPTY_CATALOG":"Овај додатак је вратио празан садржај.","DISCOVER_ADULT_WARNING":"Садржај је видљив само одраслима. Имате ли 18 година?","DISCOVER_NOADDON_WARNING":"Упозорење: није активан Stremio додатак за ову врсту. Приказују се сачуване ставке, ништа се овде неће ажурирати.","DISCOVER_LOAD_ERR":"Садржај се није учитао, дошло је до грешке.","DISCOVER_ADDON_UNINSTALLED":"Овај садржај више није доступан, можда сте деинсталирали додатак.","UNINSTALL_THIS_ADDON":"Деинсталирај овај додатак ","ERR_ADDON_NOT_INSTALLED":"Овај додатак није инсталиран. Инсталирати сада?","DETAIL_RECEIVE_NOTIF_SERIES":"Примање обавештења о новим епизодама","DETAIL_RECEIVE_NOTIF_VIDEOS":"Примање обавештења о новим видео снимцима","SIDEBAR_SHOW_STREAMS":"Прикажи стримове","RELAUNCH":"Поново покренути сада!","UPGRADE":"Нова верзија је доступна! Надоградите на најновију верзију апликације Stremio","RELOAD_UI":"Поново учитати кориснички интерфејс","MANUAL_UPDATE_TITLE":"Ажурирај своју Stremio верзију","MANUAL_UPDATE_LINE1":"Користите застарелу Stremio верзију, која је веома непрепоручљива.","MANUAL_UPDATE_LINE2":"Ажурирајте што је пре могуће.","BUTTON_UPDATE_LATTER":"Не сада","BUTTON_UPDATE_NOW":"Ажурирај","ANONYMOUS_USER":"Анонимни корисник","DONT_HAVE_ACC":"Немате налог?","HAVE_ACC":"Већ имате налог?","PASSWORD":"Лозинка","PASSWORD_CONFIRM":"Потврдите лозинку","EMAIL":"Имејл","FB_LOGIN":"Настави са Facebook-ом","FB_NOTHINGSHARED":"Ништа се не дели без ваше дозволе","FB_NOPOST":"Нећемо постављати ништа у ваше име","OR":"или","I_ACCEPT":"Прихватам","I_ACCEPT_BY_CLICKING":"Кликом на горње дугме сведочим да прихватам ","TOS":"Услови и одредбе","MUST_ACCEPT_TERMS":"Морате прихватити услове","PASSWORDS_NOMATCH":"Лозинке се не подударају","SIGN_UP":"Региструј се","SIGN_UP_EMAIL":"Региструј се путем имејла","CLICK_TO_SIGN_UP":"Кликните овде да се бисте се регистровали.","LOG_IN":"Пријави се","LOG_OUT":"Одјави се","EXIT_FULLSCREEN":"Изађи из режима целог екрана","ENTER_FULLSCREEN":"Уђи у режим целог екрана","PLAY_URL_MAGNET_LINK":"Пусти URL/магнет линк","HELP_FEEDBACK":"Помоћ и повратне информације","TERMS_OF_SERVICE":"Услови коришћења","PRIVACY_POLICY":"Политика приватности","ABOUT_STREMIO":"О нама","USER_PANEL":"Кориснички панел","LOGIN_LABEL":"Пријави се","GUEST_LOGIN":"Пријави се као гост","GUEST_LOGIN_NOTICE":"Пријављивање као гост није препоручено. Коришћење регуларног пријављивања омогућава апликацији Stremio да синхронизује вашу збирку, прима обавештења за омиљене серије/канале. Желите ли заиста да наставите?","GUEST_LOGIN_NOTICE_2":"Пријављивање као гост није препоручено - нећете имати синхронизована обавештења збирке и табле, што су виталне функције апликације Stremio. Желите ли заиста да наставите?","CLICK_HERE":"кликни овде","WRONG_PASSWORD":"Погрешан имејл или лозинка. У случају да сте заборавили лозинку, ","SET_A_PASS":"поставите лозинку","RESET_PASSWORD":"Ресетуј лозинку","FORGOT_PASSWORD":"Заборавили сте лозинку?","EMAIL_USED_WITH_FB":"Овај имејл је коришћен са Facebook пријавом.","INVALID_EMAIL":"Унесите исправну имејл-адресу","INVALID_PASSWORD":"Унесите исправну лозинку","CONN_ERR":"Мрежна грешка - покушајте поново касније.\\n\\nАко се ово настави, онемогућите заштитне зидове/антивирусни софтвер (нарочито Bitdefender). ","IMPORT_FROM_GUEST":"Увоз збирки са налога за госте","RECEIVE_UPDATES_EMAIL":"Примање ажурирања на свом имејлу од апликације Stremio","LOGIN_FAILED":"Пријава није успела.","SIGNUP_FAILED":"Регистрација није успела.","SEARCH_FAILED":"Претрага није успела.","EMAIL_USED":"Овај имејл је већ у употреби.","WAITING_FB_LOGIN":"Пријављивање са Facebook-ом...","EXTERNAL_PLAYER_TITLE":"Пуштање у спољном плејеру","EXTERNAL_REMEMBER_PLAYER":"Желите ли да запамтите свој избор?","EXTERNAL_ALWAYS_PLAY":"Да","EXTERNAL_ONLY_ONCE":"Не","BEST_FIT":"Најбоље уклапање","FIT_SCREEN":"Уклопљен екран","FILL":"Попуњено","16:9":"16:9","4:3":"4:3","Original":"Оригинално","INTRO_TASTE":"Реците нам шта волите","INTRO_TASTE_LONG":"Реците нам шта бисте желели да гледате","INTRO_TASTE_PICK":"Изаберите {{interestsRemaining}} интересовања ","INTRO_TASTE_PICK_MORE":"Изаберите још {{interestsRemaining}} интересовања","INTRO_TASTE_HELP_US":"Помозите нам да сазнамо више о вама.","INTRO_TASTE_CHOOSE_THESE":"Изаберите неке од ових:","INTRO_TASTE_CHOOSE_MIN":"Изаберите најмање 3 категорије","INTRO_TASTE_CHOOSE_MIN_ERR":"Морате изабрати најмање 3 категорије!","INTRO_TASTE_LIFESTYLE":"Животни стил","INTRO_TASTE_SPORTS":"Спортови","INTRO_TASTE_FOOD_HEALTH":"Храна и здравље","INTRO_TASTE_BEAUTY_FASHION":"Лепота и мода","INTRO_TASTE_NEWS":"Вести","INTRO_TASTE_GAMING":"Видео игре","INTRO_TASTE_SCIENCE_EDU":"Наука и образовање","INTRO_TASTE_MUSIC":"Музика","INTRO_TASTE_TRAVEL":"Путовања","INTRO_TASTE_LATE_NIGHT":"Касноноћна емисија","INTRO_TASTE_REALITY":"Ријалити","INTRO_TASTE_COMEDY":"Комедија","INTRO_TASTE_DIY":"Уради сам","INTRO_TASTE_TECH":"Технологија","INTRO_TASTE_CINEMA":"Биоскоп","ADDON_NOT_SUPPORTED":"Изабрани додатак није подржан на овој платформи.","ADDON_DISCLAIMER":"Коришћење додатака трећих страна увек ће бити предмет ваше одговорности и важећег закона јурисдикције у којој се налазите.","ADDON_ACTIVATE":"Активирати овај додатак?","ADDON_REPO_ADD":"URL колекције додатка","ADDON_ADD":"Додај","INSTALL_ADDON":"Инсталирај додатак","ADD_ADDON":"Додај додатак","ADD_ADDON_DESCRIPTION":"Додатак можете додати преко спољног линка, који ће се појавити под „Инсталирани додаци”.","PASTE_ADDON_URL":"Налепите URL додатка","WHATS_NEW":"Шта је ново","BUTTON_CONTINUE":"Настави","BUTTON_ACTIVATE":"Aктивирај","BUTTON_ACTIVATED":"Aктивирано","BUTTON_CANCEL":"Откажи","BUTTON_SUBMIT":"Пошаљи","BUTTON_DISMISS_ALL":"Одбаци све","BUTTON_VIEW_ALL":"Погледај све","BUTTON_SEE_ALL":"Види све","BUTTON_COLOR_TRANSPARENT":"Прозирно","OPEN_IN_BROWSER":"Отвори у прегледачу","LIB_EMPTY":"Ваша збирка изгледа празно. Сазнајте колико је она корисна :) ","HOW_START":"Ево како можете да почнете:","LIB_EMPTY_CAL":"Ваш календар приказује серије у вашој збирци.","HOW_START_CAL":"Ево како можете да додате серије:","LIB_EMPTY_BOARD":"Табла приказује обавештења и препоруке у вези са вашом збирком.","HOW_START_BOARD_WAIT":"Додајте неколико серија или канала у своју збирку и дајте нам неколико минута да обрадимо :)","HOW_START_BOARD":"Ево како можете да додате серије и филмове:","IMPORT_FB":"Увезите ствари које волите са <span>Facebook-а</span>","IMPORT_TRAKT":"Увезите своју медијску збирку са <span>Trakt-а</span>","IMPORT_DISCOVER":"Пронађите занимљиве ствари у одељку <span>Откриј</span>","IMPORT_DISK":"Увезите филмове или серије које имате на <span>локалном диску</span>","PLEASE_CREATE_ACC":"<u>Направите налог</u> да бисте омогућили синхронизацију збирке и табле.","IMPORT_DISCOVER_SIGNUP":"Региструјте се и пронађите занимљиве ствари у одељку <span>Откриј</span> ","IMPORT_DISK_SIGNUP":"Региструјте се и увезите филмове или серије које имате на <span>локалном диску</span> ","LIB_EMPTY_CLOUD":"Клауд збирка","LIB_EMPTY_CLOUD_DESC":"Лична клауд збирка је синхронизована на свим уређајима","LIB_EMPTY_EARLY":"Раноранилац","LIB_EMPTY_EARLY_DESC":"Примајте обавештења о новим епизодама ","LIB_EMPTY_PERSONAL":"Лично","LIB_EMPTY_PERSONAL_DESC":"Добијајте личне препоруке","LIB_EMPTY_CALENDAR_DESC":"Закажите свој лични календар гледања","LIB_EMPTY_ALL":"Региструјте се да бисте добили све ово:","LIB_EMPTY_BEST":"Региструјте се да бисте најбоље искористили Stremio","LIB_EMPTY_OTHER":"Региструјте се да бисте омогућили календар и друге сјајне функције","CALENDAR_ADDED":"Stremio календар је додат вашем подразумеваном календару на десктопу.","CALENDAR_ADDED_MSG":"Ако ово не функционише, додајте овај URL ручно у апликацију календара","TRAKT_EXPIRED":"Trakt аутентификација је истекла, идите у подешавања и поново се аутентификујте","TRAKT_REQUIRES_LOGIN":"Trakt грешка","TRAKT_REQUIRES_LOGIN_MSG":"Морате се пријавити","TRAKT_IMPORT_WATCHED":"Увоз","THEME":"Тема","THEME_DEFAULT":"Подразумевана","THEME_ADAPTIVE":"Адаптивна","SETTINGS_LABEL":"Подешавања","SETTINGS_NAV_GENERAL":"Опште","SETTINGS_NAV_PLAYER":"Плејер","SETTINGS_NAV_STREAMING":"Стримовање","SETTINGS_NAV_SHORTCUTS":"Пречице","SETTINGS_SHORTCUT_RELOAD_APP":"Поновно учитавање апликације","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Отварање подешавања","SETTINGS_SHORTCUT_SWITCH_TABS":"Промена картица","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Прелазак кроз картице унапред","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Прелазак кроз картице уназад","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Кретање између менија","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Одлазак на претрагу","SETTINGS_SHORTCUT_EXIT_BACK":"Излаз / Одлазак назад","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Укључивање менија за брзину репродукције","SETTINGS_SHORTCUT_MENU_VIDEOS":"Укључивање менија за видео снимке","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Укључивање менија за титлове","SETTINGS_SHORTCUT_MENU_INFO":"Укључивање менија за информације","SETTINGS_SHORTCUT_FULLSCREEN":"Укључивање целог екрана","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Приказ контрола","SETTINGS_SHORTCUT_PLAY_PAUSE":"Пуштање / Паузирање","SETTINGS_SHORTCUT_VOLUME_UP":"Појачавање јачине звука","SETTINGS_SHORTCUT_VOLUME_DOWN":"Смањивање јачине звука","SETTINGS_SHORTCUT_SEEK_NEXT":"Тражење следећег","SETTINGS_SHORTCUT_SEEK_PREV":"Тражење претходног","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Тражење уназад","SETTINGS_SHORTCUT_SEEK_FORWARD":"Тражење унапред","SETTINGS_SHORTCUT_PLAY_NEXT":"Пуштање следећег","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Повећавање величине титлова","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Смањивање величине титлова","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Повећавање кашњења титлова","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Смањивање кашњења титлова","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Укључивање бочне траке","SETTINGS_SHORTCUT_OR":"или","SETTINGS_SHORTCUT_TO":"до","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Аутентификуј","SETTINGS_FACEBOOK_IMPORT":"Увоз","SETTINGS_CALENDAR_SUBSCRIBE":"Претплати се","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Језик интерфејса","SETTINGS_LAUNCH_STARTUP":"Покрени на почетку","SETTINGS_VLC_DEFAULT":"Пусти помоћу VLC-а ","SETTINGS_UI_LANGUAGE":"Језик корисничког интерфејса","SETTINGS_UI_ZOOM":"Зумирање интерфејса","SETTINGS_FULLSCREEN_EXIT":"Тастер Escape за излаз из целог екрана","SETTINGS_GAMEPAD":"Омогући подршку за гејмпед","SETTINGS_CLOSE_WINDOW":"Затвори апликацију када је прозор затворен","SETTINGS_SUBTITLES_LANGUAGE":"Подразумевани језик титлова","SETTINGS_SUBTITLES_SIZE":"Подразумевана величина титлова","SETTINGS_SUBTITLES_BACKGROUND":"Позадина титлова","SETTINGS_SUBTITLES_COLOR":"Боја титлова","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Боја оквира титлова","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Боја позадине титлова","SETTINGS_SEEK_KEY":"Тастери са стрелицама траже време","SETTINGS_SEEK_KEY_SHIFT":"Тастери са стрелицама траже време када се држи тастер Shift","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Трајање брзог премотавања уназад и унапред","SETTINGS_BINGE":"Аутоматски пусти следећу епизоду","SETTINGS_NEXT_VIDEO":"Прикажи обавештење за почетак следеће епизоде","SETTINGS_NEXT_VIDEO_TRIGGER":"Прикажи обавештење о следећој епизоди за:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Трајање искачућег прозора за следећи видео снимак","SETTINGS_PLAY_IN_BACKGROUND":"Пусти у позадини","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Пусти у спољном плејеру","SETTINGS_RESIZE":"Аутоматска промена величине прозора пре пуштања","SETTINGS_OVERRIDE_SERVER":"Замена URL-а сервера за стримовање (напредно)","SETTINGS_SERVER_URL":"URL сервера за стримовање: ","SETTINGS_SERVER_AVAILABLE":"Сервер за стримовање је доступан.","SETTINGS_SERVER_UNAVAILABLE":"Сервер за стримовање није доступан.","SETTINGS_SERVER_STATUS_ONLINE":"Онлајн","SETTINGS_SERVER_STATUS_ERROR":"Грешка","SETTINGS_SERVER_CONFIGURE_TITLE":"Конфигурација URL-а сервера за стримовање","SETTINGS_SERVER_CONFIGURE_INPUT":"Унесите URL сервера за стримовање ","SETTINGS_SERVER_CACHE_SIZE":"Величина кеша","SETTINGS_SERVER_TORRENT_PROFILE":"Торент профил","SETTINGS_HTTPS_ENDPOINT":"Стримовање HTTPS крајње тачке: ","SETTINGS_TRANSCODE_PROFILE":"Транскод профила","SETTINGS_USE_BETA":"Увек користи најновију бета верзију","SETTINGS_IMPORT_FB":"Увоз са Facebook-а","SETTINGS_IMPORT_DISK":"Увоз са локалног диска","SETTINGS_IMPORT_TRAKT":"Увоз са Trakt-а","SETTINGS_PAUSE_MINIMIZED":"Паузирај репродукцију када је минимизирано","SETTINGS_HWDEC":"Хардверски убрзано декодирање","SETTINGS_BACKGROUND":"Позадинска репродукција","SETTINGS_SUBSCRIBE_CALENDAR":"Претплати се на календар","SETTINGS_REQ_EXPORT":"Затражи извоз података","SETTINGS_ACC_DELETE":"Затражи брисање налога","SETTINGS_CHANGE_PASSWORD":"Промени лозинку","SETTINGS_TOS":"Услови коришћења","SETTINGS_SUPPORT":"Контактирај подршку","SETTING_LANGUAGE":"Језик","SETTINGS_TRAKT":"Trakt скробовање","SETTINGS_TRAKT_LOGOUT":"Одјави се са Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Одјави се са Trakt-а","SETTINGS_SCAN_FOR_REMOTE":"Скенирај QR кôд за даљинско отварање","SETTINGS_DESKTOP_NOTIFICATIONS":"Обавештења десктопа","SETTINGS_DATA_SAVER":"Уштеда података","SETTINGS_LANGUAGE_INTERFACE":"интерфејс","SETTINGS_LANGUAGE_SUBS":"подразумевани титлови","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Аутоматски избор аудио снимка","SETTINGS_DEFAULT_AUDIO_TRACK":"Подразумевани аудио снимак","SETTINGS_SURROUND_SOUND":"Просторни звук","SETTINGS_ACCOUNT":"налог","SETTINGS_PLATFORM":"Платформа","SETTINGS_VERSION":"верзија","SETTINGS_ABOUT":"О апликацији","SETTINGS_MPV_WINDOW":"Покретање плејера у посебном прозору (напредно)","SETTINGS_PLAY_IN_EXTERNAL":"Увек покрени видео снимак у спољном плејеру","SETTINGS_STORAGE_BUTTON":"Очисти локалну меморију","SETTINGS_STORAGE_MODAL_TITLE":"Да ли сте сигурни?","SETTINGS_STORAGE_MODAL_MESSAGE":"Ово ће очистити локалну меморију и одјавити вас.","SETTINGS_HWDEC_PICKER":"Избор подешавања за хардверски убрзано декодирање","SETTINGS_HW_AUTOMATIC":"Аутоматски","SETTINGS_HW_DISABLED":"Онемогућено","SETTINGS_HW_ACCELERATED":"Убрзање декодирања","SETTINGS_HW_FULL":"Потпуно убрзање","SETTINGS_HW_LEGACY":"Застарело","SETTINGS_DISABLED":"Онемогућено","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Обавештење о мрежној вези","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Удаљени URL","SETTINGS_COPY_REMOTE_URL":"Копирај удаљени URL","SETTINGS_REMOTE_URL_COPIED":"Удаљени URL је копиран у привремену меморију","SETTINGS_SECTION_SUBTITLES":"Титлови","SETTINGS_SECTION_AUDIO":"Аудио снимак","SETTINGS_SECTION_CONTROLS":"Контроле","SETTINGS_SECTION_AUTO_PLAY":"Аутоматско пуштање","SETTINGS_SECTION_ADVANCED":"Напредно","SUBSPICKER_AUDIO":"Аудио снимак","SUBSPICKER_SUBTITLES":"Титлови додатака","SUBSPICKER_BLACK_BACKGROUND":"Користи црну боју позадине","SUBSPICKER_VERTICAL_OFFSET":"Вертикални помак (офсет)","SUBSPICKER_SIZE":"Величина","SUBSPICKER_DELAY":"Кашњење","SUBSPICKER_EMBEDDED_SUBS":"Уграђени титлови","MOBILE_PRIVACY_POLICY":"Политика приватности","MOBILE_CRASH_REPORTING":"Извештавање о отказивању","MOBILE_ZOOM_TO_FILL":"Зумирај да попуниш екран","MOBILE_PASSTHROUGH":"Дигитални излаз аудио снимка (пролазни)","MOBILE_RUN_LOW_BATTERY":"Покрени на празној батерији","MOBILE_RUN_FOREGROUND":"Покрени као услугу у првом плану","MOBILE_PERFORMANCE":"ПЕРФОРМАНСЕ И СТАБИЛНОСТ","MOBILE_SERVER_ONLINE":"Онлајн","MOBILE_SERVER_OFFLINE":"Офлајн","MOBILE_QR_EXPIRES":"QR кôд истиче за ","MOBILE_LOG_INTO":"Пријавите се на свој Stremio налог ","MOBILE_SCAN_QR":"Скенирајте QR кôд изнад или идите на ","MOBILE_LINK_ACCOUNT":"Повежите налог","MOBILE_SPEEDPICKER_CANCEL":"Откажи","MOBILE_SPEEDPICKER_LABEL":"Изаберите брзину репродукције","MOBILE_EMPTY_LIBRARY":"Ваша збирка је празна","MOBILE_NO_ADDON_ACTIVE":"Ниједан Stremio додатак није активан за ову врсту.","MOBILE_ORGANIZER_WARNING":"Апликација Stremio Organizer пружа ограничену функционалност. За листу стримова за репродукцију и потпуно Stremio искуство, користите Stremio на десктоп рачунару.","MOBILE_ADDON_LOADING":"још увек се учитава","MOBILE_ADDONS_LOADING":"додаци се још увек учитавају","MOBILE_ADDON":"Додатак","MOBILE_CONFIGURE_ADDON":"Конфигуришите свој додатак","MOBILE_CONFIGURE_ADDON_LABEL":"Конфигуриши додатак","MOBILE_ORGANIZER_ADDONS_WARNING":"Апликација Stremio Organizer пружа ограничен избор додатака. За потпуно Stremio искуство, користите Stremio на десктоп рачунару.","MOBILE_DISCONNECT":"Прекини везу","MOBILE_LOOKING_FOR_DEVICES":"Тражење уређаја...","MOBILE_CAST_TO":"Пребацујте на","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Избриши налог","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Брисање налога се неће извршити одмах због законских обавеза. Након што затражите брисање вашег налога, мораћете да користите другу имејл-адресу/Facebook профил да бисте у будућности креирали нови Stremio налог.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Потврди брисање налога","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Ваш налог је креиран помоћу Facebook-а. Да бисте избрисали свој налог, користите наш кориснички портал на www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Унесите своју лозинку да бисте потврдили брисање налога.","MOBILE_DELETE_ACCOUNT_BUTTON":"Избриши налог","NAVIGATION_ON":"Укључено","NAVIGATION_OFF":"Искључено","MARKETING_AGREE":"Слажем се да примам маркетиншке поруке од апликације Stremio","QUIT":"Напусти","CONNECTED":"Повезано","AUTHENTICATE":"Аутентификуј","CACHING":"Кеширање","SETTINGS_CACHING_DRIVE":"Диск за кеширање","ENABLE_LOCAL_FILES_ADDON":"Омогућите додатак за локалне фајлове (захтева поновно покретање)","LOCAL_ADDON_NOT_ENABLED":"Локални додатак није омогућен. Кликните овде да бисте отишли у подешавања и омогућили га.","ENABLE_REMOTE_HTTPS_CONN":"Омогућите удаљене HTTPS везе","TORRENT_PROFILE":"Торент профил","DATA_CACHING":"Кеширање података","MAGNET_PARSING":"Рашчлањивање магнет линка","January":"Јануар","February":"Фебруар","March":"Март","April":"Април","May":"Мај","June":"Јун","July":"Јул","August":"Август","September":"Септембар","October":"Октобар","November":"Новембар","December":"Децембар","Monday":"Понедељак","Tuesday":"Уторак","Wednesday":"Среда","Thursday":"Четвртак","Friday":"Петак","Saturday":"Субота","Sunday":"Недеља","Action":"Акциони","Comedy":"Комедија","War":"Ратни","Family":"Породични","Animation":"Анимирани","Adventure":"Авантуристички","Fantasy":"Фантастични","Crime":"Криминалистички","Mystery":"Мистерија","Romance":"Љубавни","Drama":"Драма","Horror":"Хорор","Thriller":"Трилер","Sci-Fi":"Научно-фантастични","Music":"Музика","Biography":"Биографски","Documentary":"Документарни","Sport":"Спортски","Musical":"Мјузикл","Western":"Вестерн","Film-Noir":"Филм ноар (црни филм)","News":"Вести","History":"Историјски","Game-Show":"Телевизијска игра","Reality-TV":"Ријалити-ТВ","Talk-Show":"Ток-шоу (спонтани разговор)","Film & Entertainment":"Филм и забава","Gaming":"Видео игре","From TV":"Са ТВ-а","Lifestyle":"Животни стил","Science & Education":"Наука и образовање","Cooking & Health":"Кување и здравље","Beauty & Fashion":"Лепота и мода","Sports":"Спортови","News & Politics":"Вести и политика","How-to & DIY":"Како да и уради сам","Tech":"Технологија","Automotive":"Аутомобилски","Causes & Non-Profits":"Узроци и непрофитне организације","Movies":"Филмови","Uk Live Tv":"УК ТВ уживо ","Fashion":"Мода","Business News Radio":"Радио са бизнис вестима","Business Tv":"Бизнис ТВ ","Cars & Auto":"Аутомобили","Comedy Radio":"Радио комедија ","Lifestyle Radio":"Радио животног стила","News Tv":"Вести ТВ","Food And Wine":"Храна и вино","Latino Tv":"Латино ТВ","Shopping Tv":"Шопинг ТВ","Religion":"Религија","Kids":"Деца","Body & Soul":"Тело и душа","Education":"Образовање","Indian Tv":"Индијска ТВ","Extreme Sports":"Екстремни спортови","Middle Eastern Tv":"Блискоисточна ТВ ","Celebrity Tv":"ТВ познате личности","Science Tv":"Научна ТВ","Bikini babe":"Бикини душа","Outdoors":"На отвореном простору","German Tv":"Немачка ТВ","French Tv":"Француска ТВ","Italian Tv":"Италијанска ТВ","Gamer Tv":"Гејмерска ТВ","Travel":"Путовања","Asian Tv":"Азијска ТВ","Entertainment":"Забава","News Radio":"Радио са вестима","Music Radio":"Музички радио","Language Learning":"Учење језика","Science Radio":"Научни радио","Tech Radio":"Технолошки радио","Science & Technology Vod":"Научни и технолошки VOD","new video":"нови видео снимак","new episode":"нова епизода","new movie":"нови филм","recommended":"препоручено","we recommend":"препоручујемо","offer of the day":"понуда дана","news":"вести","music video":"музички видео снимак","CTX_SHOW_HOTKEYS":"Прикажи пречице","CTX_DISMISS_NOTIF":"Одбаци обавештења","CTX_DISMISS_ALL":"Одбаци све","CTX_SHARE":"Дели","CTX_COPY_SHARE_LINK":"Копирај линк за дељење","CTX_COPY_MAGNET_LINK":"Копирај магнет линк","CTX_COPY_STREAM_LINK":"Копирај линк стрима","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Преузми овај видео снимак","CTX_DOWNLOAD_SUBS":"Преузми титлове","CTX_VIEW_ON_YOUTUBE":"Погледај на YouTube-у","CTX_SHOW":"Прикажи","CTX_PLAY":"Пусти","CTX_PLAY_IN":"Пусти у","CTX_PLAY_ON":"Пусти на","CTX_WATCH_ON":"Гледај на","CTX_WATCH":"Гледај","CTX_WATCHED":"Одгледано","CTX_WATCH_BEGINNING":"Гледај од почетка","CTX_WATCH_MOBILE":"Гледај на мобилном телефону","CTX_REWIND":"Премотај на почетак","CTX_MARK_WATCHED":"Означи као одгледано","CTX_MARK_NON_WATCHED":"Означи као неодгледано","CTX_MARK_UNWATCHED":"Означи као неодгледано","CTX_MARK_REST":"Означи остало као одгледано","CTX_UNMARK_REST":"Означи остало као неодгледано","CTX_RECEIVE_NEW_NOTIF":"Примај нова обавештења","CTX_ENABLE_NEW_NOTIF":"Омогући обавештења","CTX_DISABLE_NEW_NOTIF":"Онемогући обавештења","CTX_REMOVE_CACHE":"Уклони из кеша","CTX_REMOVE_CACHE_EP":"Уклони епизоду из кеша","CTX_OPEN_CONTAINING":"Отвори садржећи фолдер","CTX_REMOVE":"Уклони из збирке","CTX_AVAILABLE_OFFLINE":"Доступно офлајн","CTX_PAUSED":"Паузирано","CTX_ALWAYS_ON_TOP":"Увек на врху","CTX_FULLSCREEN":"Цео екран","CTX_WRONG_SUBS":"Погрешни титлови?","CTX_REPORT_ISSUES":"Пријавa проблема","CTX_COPY":"Копирај","CTX_PASTE":"Налепи","CTX_CLEAR":"Очисти","CTX_CLEAR_RECENT_SEARCHES":"Очисти недавне претраге","HELLO_THERE":"Здраво","HOPE_YOU_ENJOY":"Надамо се да уживате у апликацији Stremio и да је то већ једна од ваших омиљених апликација!","WHO_ARE_WE":"Ко смо? Ми смо тим који стоји иза овога - два момка који напорно раде сваки дан последње 3 године да би овај производ учинили што бољим.","SUPPORT_US":"Ако уживате у коришћењу апликације Stremio, ако је Stremio драгоцен за вас - делите са осталима!","SPREAD_THE_WORD":"Делите са пријатељима сада, причајте о апликацији Stremio","MORE_PEOPLE":"Што више људи користи Stremio, он ће бити бољи!","SEND_A_LINK":"Или пошаљите линк ка нашем веб-сајту","TIP_LOCALFILES":"Савет: можете да превучете и отпустите локалне фајлове видео снимака у Stremio","ADDON_MY":"Моји додаци","ADDON_COMMUNITY":"Додаци заједнице","ADDON_OFFICIAL":"Званични додаци","ADDON_REPOS":"Колекције додатака","ADDON_SEARCH":"Претрага додатака","ADDON_INSTALL":"Инсталирај","ADDON_CONFIGURE":"Конфигуриши","ADDON_UNINSTALL":"Деинсталирај","ADDON_UPGRADE":"Надогради","ADDON_INSTALLED":"Инсталирано","ADDON_INSTALLED_MSG":"Додатак је инсталиран!","ADDON_UPGRADED_MSG":"Додатак је надограђен!","ADDON_UNKNOWN":"Непознато","ADDON_ERR":"Грешка приликом инсталације додатка","ADDON_DISCONNECTED":"Прекинута веза","ADDON_APP_MISSING":"апликација за овај извор није инсталирана. Желите ли да је инсталирате сада?","ADDON_APP_INSTALL":"Инсталирај сада","ADDON_PAGE":"Страница додатка","ADDON_TOP_CONTENT":"Најбоље од овог додатка","ADDON_PROVIDES":"Овај додатак ће вам дати:","ADDON_WATCH":"Гледај #{types} сада!","ADDON_WATCH_FREE":"Гледај #{types} бесплатно сада!","ADDON_ADDON":"Додатак","ADDON_SUPPORTED_TYPES":"Подржане врсте","ADDON_SUPPORTED_CATALOGS":"Подржани каталози","ADDON_PROVIDES_DISCOVER":"Више #{types} на страници Откриј","ADDON_PROVIDES_STREAMS":"Гледајте #{types}","ADDON_PROVIDES_STREAMS_FREE":"Гледајте #{types} бесплатно","ADDON_PROVIDES_SUBTITLES":"Титлови за #{types}","ADDON_CANTDETECT":"Нисмо могли да откријемо покренути Stremio, тако да нисмо могли да откријемо које додатке сте инсталирали.","ERR_NO_META":"Нису пронађене информације о овоме ","ERR_GETTING_META":"Грешка приликом преузимања информација о овоме.","ERR_CANT_PARSE_MAGNET":"Није могуће рашчланити магнет","ERR_NO_MAGNET_INFOHASH":"Нема важеће хеш информације за магнет","ERR_NO_FILE_PATH":"Није могуће послати захтев без путање до фајла","ERR_NO_TORRENT":"Није враћен торент","ERR_NO_SUPPORTERD_FILES":"Нису пронађени подржани фајлови","ERR_OPENING_FILES":"Није могуће отворити спољне фајлове","ERR_INVALID_LINK":"Неважећи линк","ERR_REGISTERED_ONLY":"Ова опција је доступна само за регистроване кориснике.","ERR_CLIPBOARD":"Није могуће пустити из привремене меморије","ERR_CLIPBOARD_READ":"Није могуће прочитати привремену меморију на овој платформи","ERR_CLIPBOARD_GENERIC":"У привременој меморији није пронађен URL који се може репродуковати. Копирајте URL (нпр. магнет линк) видео снимка. ","BOARD_CONTINUE_WATCHING":"Наставите да гледате","BOARD_EXPLANATION_RECOMMENDATIONS":"Филмови изабрани специјално за вас.<br /> Овај филм је пример препоруке.","BOARD_EXPLANATION_EPISODES":"Нове епизоде ваше омиљене серије стижу овде.<br /> Додајте серије које пратите у своју збирку.","BOARD_EXPLANATION_VIDEOS":"Нове епизоде ваших омиљених канала долазе овде.<br /> Додајте YouTube канале које пратите у своју збирку.","WEBSITE_ENJOYED_BY":"Ужива више од 30 милиона корисника широм света","WEBSITE_STREAMING_ENHANCED":"Побољшано стримовање","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio нуди безбедно, модерно и беспрекорно искуство забаве. Са интерфејсом који је једноставан за коришћење и разноликом збирком садржаја, укључујући подршку за 4K HDR, корисници могу да уживају у омиљеним филмовима и серијама на свим својим уређајима. Са својом посвећеношћу безбедности, Stremio је врхунски избор за безбрижно, висококвалитетно искуство стримовања.","WEBSITE_AVAILABLE_ON":"Доступно на","WEBSITE_WATCH_AND_ENJOY":"Гледајте и уживајте.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio је прост као пасуљ","WEBSITE_ALL_FEATURES":"Све карактеристике","WEBSITE_EASY_TO_USE":"Лако за коришћење","WEBSITE_EASY_TO_USE_DETAILS":"Stremio је дизајниран да буде лак за употребу и једноставан за коришћење. Са чистим и интуитивним интерфејсом можете лако да се крећете и пронађете садржај који желите да гледате.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Беспрекорно на различитим уређајима","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Доступан за широк спектар платформи (укључујући Windows, Mac, Linux, Android итд.), Stremio ће пратити ваш напредак на свим вашим уређајима. Само се пријавите и наставите да гледате без потребе да поново конфигуришете апликацију на сваком новом уређају.","WEBSITE_ALL_DOWNLOADS":"Сва преузимања","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"Подршка за видео снимке високе дефиниције","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"Интегрисани плејер видео снимака који подржава већину видео формата, укључујући 4K HDR садржај, омогућава вам да уживате у највишем доступном квалитету.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Збирка разноврсног садржаја","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio се интегрише са великим бројем популарних извора видео снимака, као што су Netflix, Amazon Prime Video, Hulu, YouTube и многи други.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Направи бесплатан налог","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Прилагођено искуство гледања","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio вам омогућава да прилагодите изглед и осећај интерфејса променом теме, додавањем или уклањањем додатака и још много тога.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Подршка за вишејезичне титлове","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"Сада можете уживати у свим омиљеним садржајима на жељеном језику, јер Stremio подржава титлове на свим језицима.","WEBSITE_ALL_STREMIO_FEATURES":"Све карактеристике апликације Stremio","WEBSITE_TRY_STREMIO_TITLE_P1":"Пробајте Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"на свом ТВ-у сада","WEBSITE_YOU_CAN_NOW_WATCH":"Сада можете да гледате све омиљене серије на својим Android ТВ уређајима. Stremio ТВ апликација вам омогућава да са лакоћом уживате у филмској вечери.","WEBSITE_YOU_CAN_NOW_WATCH_2":"Сада можете да гледате све омиљене ТВ емисије на свом паметном ТВ-у или Android ТВ-у. Stremio ТВ апликације вам омогућава да са лакоћом уживате у филмској вечери.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio за паметан ТВ","WEBSITE_PLAY_STORE_REVIEW":"Вероватно најбоља и најкориснија апликација коју можете имати на свом уређају. Ово је једна од апликација које користим свакодневно, посебно на свом Android ТВ-у већ дуги низ година. Добро направљено, са јаком заједницом, која пружа корисне функције. Одлично! Наставите са добрим радом.","WEBSITE_REVIEWS":"рецензије","WEBSITE_GET_STREMIO_FOR_FREE":"Набави Stremio бесплатно","WEBSITE_GET_STREMIO_NOW":"Набави Stremio сада","WEBSITE_STREMIO_FEATURES":"Карактеристике апликације Stremio","WEBSITE_STREMIO_FEATURES_DETAILS":"Стримујте као професионалац са Stremio напредним функцијама и уживајте у беспрекорном приступу свим вашим омиљеним медијима","WEBSITE_DISCOVER_MORE":"Откријте више.","WEBSITE_DISCOVER_MORE_DETAILS":"Никада не понестане ствари за гледање ","WEBSITE_COMMUNITY_DRIVEN":"Заједницом вођен","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio има велику и активну заједницу корисника који доприносе развоју софтвера креирањем и дељењем додатака.","WEBSITE_GET_INVOLVED":"Прикључите се","WEBSITE_NEW_THEATER_EXPERIENCE":"Ново биоскопско искуство","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Нова наменска Stremio ТВ апликација омогућава вам да уживате у филмској вечери на вашим Android ТВ уређајима.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Нове наменске Stremio ТВ апликације омогућавају вам да уживате у филмској вечери на паметном ТВ-у или Android ТВ уређајима.","WEBSITE_FREE_AND_SECURE":"Бесплатно и безбедно","WEBSITE_STREAMING":"Стримовање","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio нуди неупоредиву сигурност и приватност за кориснике. Са својом јединственом карактеристиком даљинског покретања додатака, Stremio пружа сигурнији начин за стримовање вашег омиљеног садржаја у поређењу са другим платформама. Ваша безбедност и приватност су наши главни приоритети и ова платформа обезбеђује да сви ваши подаци буду заштићени.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Реците збогом бригама о безбедности и приватности и поздравите свет бескрајне забаве уз Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Информације обезбедио","WEBSITE_CONTRIBUTE":"Допринесите","WEBSITE_CONTRIBUTE_DESC":"пројекту и помозите нам да Stremio учинимо још бољим","WEBSITE_COMMUNITY_DESC":"Верујемо да је најбољи начин да се створи заиста невероватно искуство стримовања укључивањем наше заједнице у процес. Било да сте програмер, уметник или само фан - могли бисте да помогнете како би Stremio напредовао.","WEBSITE_COMMUNITY_DESC_2":"Зато нам се придружите данас и постаните део Stremio заједнице и наставите да обликујете будућност стримовања.","WEBSITE_WAYS_TO_GET_INVOLVED":"Начини да се прикључите","WEBSITE_IN_THE_STREMIO_COMMUNITY":"у Stremio заједницу","WEBSITE_SHARE_YOUR_THOUGHTS":"Поделите своје мисли","WEBSITE_REPORT_BUGS":"Пријавите проблеме","WEBSITE_SUGGEST_FEATURES":"предложите функције","WEBSITE_AND_PROVIDE_FEEDBACK":"и пружите повратне информације на нашим друштвеним мрежама.","WEBSITE_BETA_TESTING_PROGRAM":"Програм за бета тестирање","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Учествујте у нашем програму бета тестирања (редовно шаљемо позиве) у Stremio заједници.","WEBSITE_JOIN_NOW":"Придружите се сада!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Званичне Stremio заједнице","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Незваничне Stremio заједнице","WEBSITE_BECOME":"Постаните","WEBSITE_A_VOLUNTEER_TRANSLATOR":"преводилац волонтер","WEBSITE_ARE_YOU_A_DEVELOPER":"Да ли сте програмер?","WEBSITE_CONTRIBUTE_CODE":"Можете да допринесете коду нашим пројектима отвореног кода. Имамо неколико пројеката на GitHub-у који траже сараднике. Ако сте заинтересовани да помогнете, погледајте их:","WEBSITE_STREMIO_ON_GITHUB":"Stremio на GitHub-у","WEBSITE_CREATE_ADDON_DESC":"Направите додатак да побољшате Sttemio функционалност (имамо API који је једноставан за коришћење):","WEBSITE_STREMIO_ADDON_SDK":"Stremio SDK додатак","WEBSITE_INTERN_DEVELOPER":"Такође, пружамо прилику да нам се придружите као програмер стажиста како бисмо могли да растемо заједно.","WEBSITE_APPLY_AS_AN_INTERN":"Пријави се као стажиста","WEBSITE_CALLING_ALL_ARTISTS":"Позивамо све уметнике!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Покажите своју креативност и љубав према апликацији Stremio тако што ћете поставити своје фан-aрт у нашу онлајн галеријy. Било да је у питању цртеж, слика или дигитални дизајн, желимо да видимо ваше јединствено виђење Stremio бренда. Придружите се нашој заједници уметничких ентузијаста и поделите свој рад са колегама Stremio фановима широм света.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio фан-арт галерија","WEBSITE_INTERN_DESIGNER":"Постаните део нашег тима и подигните своју креативност на нове висине уз наше узбудљиве прилике за стажирање.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"У фирми Stremio посвећени смо очувању историје филма и телевизије тако што ћемо идентификовати видео снимке у јавном домену и заостале видео снимке. Радећи заједно са нашом заједницом, можемо осигурати да ова класична уметничка дела буду доступна свима и заштићена за будуће генерације.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Слободно нас контактирајте ако желите да се укључите у тај пројекат.","WEBSITE_JOIN_THE_PROJECT":"Придружи се пројекту","WEBSITE_BE_PART_OF_OUR_MISSION":"Будите део наше мисије","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Заинтересовани сте да се придружите Stremio тиму? Нудимо потпуно даљински рад за страствене професионалце. Погледајте наше отворене позиције.","WEBSITE_OPEN_POSITIONS":"ОТВОРЕНЕ ПОЗИЦИЈЕ","WEBSITE_DESCRIPTION":"ОПИС","WEBSITE_LEARN_MORE":"Сазнај више","WEBSITE_COMPANY":"Компанија","WEBSITE_CONTACTS":"Контакти","WEBSITE_NEED_HELP":"Потребна помоћ?","WEBSITE_STREMIO_WEB_ON_IOS":"Водич за Stremio Web на iOS-у ","WEBSITE_LINK_ART_V2":"Фан-арт галерија","WEBSITE_PARTNERS":"Партнери","WEBSITE_SLOGAN_WATCH":"Гледајте одмах","WEBSITE_SLOGAN_ALL":"Сав видео садржај у коме уживате на једном месту","WEBSITE_SLOGAN_NEW":"Све што можете да гледате","WEBSITE_SLOGAN_NEW_NEW":"Слобода стримовања","WEBSITE_WATCH_FROM":"Гледај из","WEBSITE_DOWNLOAD":"Преузми сада","WEBSITE_DOWNLOAD_FOR":"Преузми сада за","WEBSITE_IS_DESKTOP":"Stremio је апликација за десктоп рачунаре, отворите ову страницу на свом рачунару и преузмите је","WEBSITE_DESKTOP_DEMO_VID":"Десктоп демо","WEBSITE_PAGE_HOME":"Почетна","WEBSITE_PAGE_FEATURES":"Карактеристике","WEBSITE_PAGE_ADDONS":"Додаци","WEBSITE_PAGE_TECH":"Технологија","WEBSITE_PAGE_CREATE_ADDON":"Направи додатак","WEBSITE_PAGE_CONTACTS":"Контакти","WEBSITE_PAGE_BLOG":"Блог","WEBSITE_RESET_PASSWORD_MESSAGE":"Унесите нову жељену лозинку испод.","WEBSITE_RESET_PASSWORD_WARNING":"Желите ли заиста да ресетујете лозинку за ${1}?","WEBSITE_TYPE_movie":"Филмови","WEBSITE_TYPE_series_PL":"Серије","WEBSITE_TYPE_tv":"ТВ уживо","WEBSITE_TYPE_channel":"Канали","WEBSITE_STREMIO_WHAT_IS":"Stremio је апликација која вам помаже да организујете и тренутно гледате своје омиљене видео снимке, филмове, ТВ серије и ТВ канале.","WEBSITE_FEATURES_WATCH":"Гледај одмах у HD-у","WEBSITE_FEATURES_WATCH_DETAIL":"Кликните и пустите своје омиљене филмове, серије, видео снимке и ТВ канале.","WEBSITE_FEATURES_SUBS":"Аутоматски титлови","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio аутоматски бира синхронизоване титлове за ваш језик.","WEBSITE_FEATURES_SUBS_LABEL":"Ваш филм, шефе.","WEBSITE_FEATURES_CAST":"Пуштање на ТВ-у и мобилним уређајима","WEBSITE_FEATURES_CAST_DETAIL":"Пребаците на AppleTV, Chromecast, паметан ТВ (DLNA/UPnP) и мобилне уређаје.","WEBSITE_LIB":"Уживајте у својој личној збирци синхронизованој на свим вашим уређајима","WEBSITE_LIB_COLLECT":"Прикупите од апликације Stremio","WEBSITE_LIB_IMPORT":"Увоз са Facebook-а","WEBSITE_LIB_LOCAL":"Додај са свог локалног диска","WEBSITE_BOARD":"Табла - ваше одредиште за обавештења и препоруке на једном месту","WEBSITE_BOARD_RECOMMEND":"Препоручена серија","WEBSITE_BOARD_TRENDING":"Филм у тренду","WEBSITE_BOARD_NEW":"Нови видео снимак","WEBSITE_BOARD_EPISODE":"Нова епизода","WEBSITE_BOARD_1":"Тражите нешто занимљиво за гледање? Добијте препоруке на основу вашег укуса!","WEBSITE_BOARD_2":"Добијте обавештење када изађе нова епизода ваше омиљене серије или YouTube канала!","WEBSITE_BOARD_YOUTUBE":"Нови видео снимци YouTube канала","WEBSITE_BOARD_EPISODES":"Нове епизоде серија које пратите","WEBSITE_ADDONS":"Додаци за садржај","WEBSITE_TECH_DETAIL":"Волимо технологију, волимо луду науку!\\nStremio користи следеће технологије отвореног кода:","WEBSITE_TECH_WCJS":"WebChimera.js омогућава апликацији Stremio да пушта било који формат видео снимка са добрим перформансама.","WEBSITE_TECH_WCJS_EXTRA":"Ми смо главни сарадници пројекта","WEBSITE_TECH_ELECTRON":"Electron пружа иновативну платформу за изградњу апликације Stremio.","WEBSITE_TECH_ELECTRON_EXTRA":"Ми смо сарадници пројекта","WEBSITE_TECH_LINVODB":"Технологија базе података која осигурава да су ваши подаци организовани и доступни где год да се пријавите.","WEBSITE_TECH_LINVODB_EXTRA":"Унутрашња технологија","WEBSITE_CREATE_ADDON":"Направи свој додатак","WEBSITE_CREATE_ADDON_DETAIL":"Да ли имате услугу која пружа видео садржај? Помоћи ћемо вам да искористите Stremio функције тако што ћемо направити ваш додатак.","WEBSITE_CREATE_ADDON_BENEFITS":"Предности прављења додатка за Stremio","WEBSITE_P2P_BEAUTY":"Лепота peer-to-peer (P2P) стримовања","WEBSITE_P2P_1":"Поуздан и приступачан full HD / 4K видео снимак на захтев (VOD) или уживо","WEBSITE_P2P_2":"Дистрибутивна платформа пружа одлично корисничко искуство","WEBSITE_P2P_3":"Направићемо додатак који одговара вашим потребама","WEBSITE_P2P_CONTACT":"Заинтересовани? Слободно нас <a href=\'mailto:office@stremio.com\'>контактирајте</a>.","WEBSITE_P2P_CONTACT_EXTRA":"Биће нам драго да вам помогнемо да интегришете свој садржај из апликације Stremio!","WEBSITE_P2P":"С времена на време, долази технологија која мења назив игре. Уложили смо много времена и труда у прављење нашег peer-to-peer (P2P) механизма за стримовање видео снимака, који пружа одличне перформансе и свестраност за прилагођавање сваком случају употребе.\\nКонтактирајте нас за peer-to-peer (P2P) видео снимак на захтев (VOD) са омогућеним DRM или стримовање уживо.","WEBSITE_THOUGHTS":"Мисли које делимо:","WEBSITE_SPREAD":"Причајте људима о апликацији Stremio:","WEBSITE_CONTACT":"Контактирајте нас, биће нам драго да вас саслушамо!","WEBSITE_OPENSOURCE":"За наше пројекте отвореног кода идите на наш","WEBSITE_BITCOIN":"Донирање биткојна:","WEBSITE_FAQ":"Често постављана питања","WEBSITE_FAQ_SHORT":"ЧПП","WEBSITE_QUESTIONS":"Питања","WEBSITE_TOS":"Услови коришћења","WEBSITE_LEGAL":"Правна питања","WEBSITE_PAGE_ABOUT":"О нама","WEBSITE_PAGE_BECOME_PARTNER":"Постаните партнер","WEBSITE_ALL_YOU_CAN_WATCH":"Слобода гледања\\nсвега што желите.","WEBSITE_FREEDOM_TO_STREAM":"Слобода стримовања","WEBSITE_WHAT_IS_STREMIO":"Шта је Stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio је центар за прикупљање видео садржаја на једном месту. Откријте, организујте и гледајте видео снимке са свих врста извора на било ком уређају који поседујете.","WEBSITE_WHAT_IS_STREMIO_P2":"Филмови, ТВ емисије, серије, телевизија уживо или веб-канали као што су YouTube и Twitch.tv - све ово можете пронаћи у апликацији Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio је модеран медијски центар који је решење на једном месту за вашу видео забаву. Откривате, гледате и организујете видео садржај из додатака који се лако инсталирају.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Филмови, ТВ емисије, ТВ уживо или веб-канали - све ово пронађите у апликацији Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Уживајте на свим својим медијским уређајима","WEBSITE_DEVICES_COLLECT":"Прикупи од апликације Stremio","WEBSITE_DEVICES_IMPORT_FB":"Увоз са Facebook-а","WEBSITE_DEVICES_LOCAL":"Додај са локалног диска","WEBSITE_JOIN_THE_PARTY_NOW":"Придружите се забави сада","WEBSITE_DEVICES_ALL":"Лако за коришћење на сваком вашем уређају;","WEBSITE_EXTENDABLE_CATALOG":"Бесконачно прошириви каталог видео снимака;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Одличне функције за организовање ваших медија;","WEBSITE_AS_SEEN_ON":"Као што се види на","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"О нама","WEBSITE_LINK_TECHNOLOGY":"Технологија","WEBSITE_LINK_APPS":"Апликације","WEBSITE_LINK_DOWNLOADS":"Преузимања","WEBSITE_MORE":"Више","WEBSITE_LINK_ADDONS":"Додаци","WEBSITE_LINK_ADDON_SDK":"SDK додатак","WEBSITE_LINK_CONTRIBUTE":"Допринос","WEBSITE_LINK_COMMUNITY":"Заједница","WEBSITE_LINK_BLOG":"Блог","WEBSITE_MORE_MORE":"... и више","WEBSITE_LINK_HELP":"Центар за помоћ","WEBSITE_LINK_CONTACTS":"Бизнис упити","WEBSITE_LINK_TOS":"Услови и одредбе","WEBSITE_LINK_PRAVACY":"Политика приватности","WEBSITE_SUBSCRIBE":"Претплатите се","WEBSITE_NEWSLETTER":"Придружите се нашем билтену за невероватне ствари","WEBSITE_PLACEHOLDER_EMAIL":"Ваш имејл","WEBSITE_COMMUNITY":"Заједница","WEBSITE_LINK_PRAVACY_LEGAL":"Приватност и правна питања","WEBSITE_WHY":"Зашто то радимо","WEBSITE_WHY_P1":"Ми свакодневно долазимо на посао јер желимо да решимо важан проблем за индустрију видео снимака на захтев (VOD). Сваког минута се објављује толико новог садржаја да је готово немогуће снаћи се у њему.","WEBSITE_WHY_P2":"Помажемо људима да се крећу тим огромним светом видео забаве и откривају нове садржаје у којима могу уживати. Наше апликације обједињују филмове, серије, ТВ уживо, веб-канале и још много тога. Посвећени смо томе да корисницима учинимо невероватно лаким проналажење наслова и емитера које воле.","WEBSITE_WHY_P3":"Можете да користите нашу услугу на било ком уређају и у било које време, што Stremio чини јединим видео-забавним чвориштем које ће вам икада бити потребно.","WEBSITE_TEAM":"ТИМ","WEBSITE_TEAM_P":"Stremio тим је мали, али моћан: између нас десеторо, кодирамо на X језика и делимо стручност у развоју софтвера, дизајну корисничког интерфејса и корисничког искуства, маркетингу и рекламирању, пословању и стартаповима.","WEBSITE_FEATURES":"Карактеристике","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Откријте нови садржај са лакоћом","WEBSITE_FEATURES_DISCOVER_P":"Лако откривајте нове филмове, ТВ емисије, серије и канале за гледање. Претражујте по категорији, жанру, оцени, недавној употреби итд. или једноставно унесите име да бисте пронашли. Stremio чини проналажење новог видео садржаја лаким.","WEBSITE_FEATURES_ALL_CONTENT":"Сав ваш видео садржај на једном екрану","WEBSITE_FEATURES_ALL_CONTENT_P1":"Погледајте које филмове, серије или видео снимке нисте завршили и наставите да их гледате; добијајте обавештења о новим епизодама и издањима; прегледајте препоруке које ћете добити на основу ваших навика гледања.","WEBSITE_FEATURES_LIBRARY":"Организујте своју збирку видео снимака","WEBSITE_FEATURES_LIBRARY_P1":"Додајте било који наслов у своју Stremio збирку једним кликом и пронађите свој садржај, уредно поређан по врсти, недавној употреби или абецедном реду.","WEBSITE_FEATURES_CALENDAR":"Праћење свега што гледате","WEBSITE_FEATURES_CALENDAR_P1":"Добијте календарску визуелизацију свих филмова и серија које додате у своју збирку. Извезите свој Stremio календар и синхронизујте га тако да увек знате када излази нова епизода или премијера.","WEBSITE_FEATURES_BIG_SCREEN":"Уживајте у видео садржају на већем екрану","WEBSITE_FEATURES_BIG_SCREEN_P1":"Пребацујте све што гледате на други уређај - било да је то телефон, таблет или ТВ, једним кликом.","WEBSITE_FEATURES_SOURCES":"Гледајте видео снимке из много различитих извора","WEBSITE_FEATURES_SOURCES_P":"Инсталирајте званичне додатке и додатке заједнице да бисте уживали у видео снимцима који потичу од многих различитих пружаоца – све у једној елегантној апликацији која је једноставна за коришћење.","WEBSITE_CREATE_AN_ADDON":"Направи додатак","WEBSITE_FEATURES_SYNC":"Синхронизујте своју збирку на различитим уређајима и наставите са репродукцијом","WEBSITE_FEATURES_SYNC_P1":"Пријавите се са својим налогом на свим својим уређајима и уживајте у синхронизованој збирци, додацима, репродукцији и календару.","WEBSITE_FEATURES_EXTENDABLE":"Прошириви каталог видео снимака користећи додатке","WEBSITE_FEATURES_EXTENDABLE_P1":"Stremio каталог додатака пружа бројне додатке за инсталирање и гледање разних видео садржаја. Ово укључује филмове, емисије, ТВ уживо, спорт, вести, подцасте, веб-канале, видео игре и још много тога.","WEBSITE_FEATURES_AUTO_SUBS":"Аутоматски титлови","WEBSITE_FEATURES_AUTO_SUBS_P1":"Са нашим додацима за титлове добијате аутоматски одабране опције за жељени језик.","WEBSITE_FEATURES_CHROMECAST":"Пребацивање на Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Уживајте у видео садржају на већем екрану или једноставно пребаците све што гледате на други уређај.","WEBSITE_FEATURES_KEEP_TRACK":"Пратите своје омиљене ТВ емисије и веб-канале","WEBSITE_FEATURES_KEEP_TRACK_P1":"Добијте календарску визуализацију и обавештења за нове епизоде ваших омиљених серија и веб-канала.","WEBSITE_FEATURES_POWER_USER":"Функције моћног корисника","WEBSITE_FEATURES_POWER_USER_P1":"Пусти у спољном плејеру","WEBSITE_FEATURES_POWER_USER_P2":"Пусти са торент фајла или магнет линка","WEBSITE_FEATURES_POWER_USER_P3":"Увези у своју збирку са Facebook лајкова или локалног диска","WEBSITE_ADD_ONS":"Додаци","WEBSITE_ADD_ONS_P1":"Сав видео садржај који Stremio пружа добија се преко система додатака - никакав садржај или пружалац садржаја није уграђен у апликацију.","WEBSITE_ADD_ONS_P2":"Доступне су две групе додатака: званични додаци и додаци заједнице.","WEBSITE_ADD_ONS_P3":"Званичне развија и хостује Stremio, док додатке заједнице праве чланови наше заједнице, који их и хостују.","WEBSITE_ADDONS_OFFICIAL":"Званични додаци","WEBSITE_ADDONS_WATCHUB":"Стримујте своје омиљене филмове, серије и емисије од провајдера као што су iTunes, Hulu, Amazon и друге УК/САД услуге.","WEBSITE_ADDONS_YOUTUBE":"Гледајте своје омиљене YouTube канале без реклама и добијајте обавештења о новим отпремањима од сарадника које пратите.","WEBSITE_ADDONS_FILMON":"Гледајте ТВ уживо, филмове и друштвену телевизију бесплатно. 600 ТВ канала, 45.000 бесплатних филмова, документараца и још много тога.","WEBSITE_ADDONS_OPENSUBTITLES":"Филмски и ТВ титлови на више језика, хиљаде преведених титлова који се отпремају сваког дана.","WEBSITE_ADDONS_COMMUNITY":"Додаци заједнице","WEBSITE_ADDONS_FILMON_VOD":"Гледајте видео снимке на захтев (VOD) са Filmon.tv","WEBSITE_ADDONS_TWICH":"Гледајте преносе уживо са Twitch.tv - платформе за стримовање видео снимака за индустрију е-спорта.","WEBSITE_ADDONS_VODO":"Гледајте независне (инди) филмове потпуно бесплатно.","WEBSITE_ADDONS_NETFLIX":"Гледајте Netflix филмове и веб-серије.","WEBSITE_ADDONS_CREATE":"Направи додатак","WEBSITE_ADDONS_CREATE_P1":"Ако желите, можете развити сопствени додатак. На овај начин можете себи и нашој заједници омогућити приступ новом видео садржају и досегнути нову циљану публику од милиона корисника широм света.","WEBSITE_ADDONS_START_CREATE":"Да бисте започели, посетите страницу Stremio SDK додатак:","WEBSITE_DOWNLOADS":"Преузимања","WEBSITE_DOWNLOADS_P1":"За оптималне перформансе, препоручујемо вам да користите најновију доступну верзију апликације Stremio. Међутим, ако из неког разлога желите да користите старију верзију, можете је преузети овде.","WEBSITE_DOWNLOADS_P1_SHORT":"За оптималне перформансе, препоручујемо вам да користите најновију доступну верзију апликације Stremio.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio за Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio за macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio за Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio за Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio за Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio за Android мобилни","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio за Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio за iOS (ограничена верзија)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio за LG ТВ","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio за Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio за Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio за Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio за прегледач","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Потражите Stremio у продавници апликација 2019+ Samsung ТВ модела","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Потражите Stremio у продавници апликација 2020+ LG ТВ модела","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Потражите Stremio у продавници апликација вашег Xbox уређаја","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Преузмите Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service је пратећа апликација за Stremio Web. Препоручујемо да користите најновију доступну верзију апликације Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service за Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service за macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service за Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service за Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"Више опција за преузимање","WEBSITE_DOWNLOAD_NEW":"Ново!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"Објавили смо Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"Објавили смо Stremio за Samsung ТВ","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"Објавили смо Stremio за LG ТВ","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"Објавили смо Stremio за Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"Објавили смо Stremio за Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"Платформа Stremio је отвореног кода и лако можете направити додатак за садржај који тренутно није доступан.","WEBSITE_CONTRIBUTE_WHY":"Зашто би требало направити додатак?","WEBSITE_CONTRIBUTE_WHY_P1":"Досегните нову публику за свој видео садржај","WEBSITE_CONTRIBUTE_WHY_P2":"База корисника апликације Stremio брзо расте – прве године од покретања, Stremio је стекао 1 милион корисника широм света, а у другој години постојања платформе овај број је порастао на 2.5 милиона.","WEBSITE_CONTRIBUTE_WHY_P3":"Помоћу свог додатка можете лако доћи до ове публике и дистрибуирати јој свој видео садржај.","WEBSITE_CONTRIBUTE_ALL":"Гледајте своје омиљене филмове, видео снимке, серије и канале на једном месту.","WEBSITE_CONTRIBUTE_ALL_P1":"Да ли сте фан одређене врсте садржаја који још увек није доступан на платформи Stremio? Направите додатак за њега и уживајте у гледању омиљених видео снимака у једном од највећих и најједноставнијих центара за забаву на тржишту.","WEBSITE_CONTRIBUTE_ALL_P2":"Поврх тога, добићете бескрајну захвалност других истомишљеника, чланова Stremio заједнице.","WEBSITE_CONTRIBUTE_MONETIZE":"Уновчите свој додатак и зарадите новац уз његову помоћ","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Када развијете нови додатак за Stremio, можете га лако уновчити на више различитих начина. Ако размишљате о томе, слободно нас контактирајте путем ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - радо ћемо се консултовати и посаветовати вас о опцијама монетизације додатака.","WEBSITE_CONTRIBUTE_TRANSLATE":"Постаните преводилац волонтер","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Ако желите да уживате у Stremio апликацијама на различитим језицима, можете се придружити нашој заједници добровољних преводилаца. Они нам помажу да додамо верзије апликације Stremio на много различитих језика.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Да ли сте вољни да почнете?","WEBSITE_TRANSALTE_STREMIO":"Преведи Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Званичне заједнице","WEBSITE_COMMUNITY_OFFICIALS_P1":"Постаните део растуће Stremio заједнице. Пратите нас на друштвеним мрежама и немојте се стидети да кажете здраво - волимо да чујемо наше фанове! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Незваничне заједнице","STREMIO_COMMUNITY_NL":"Stremio Холандија","STREMIO_COMMUNITY_BRASIL":"Stremio Бразил","STREMIO_COMMUNITY_GERMANY":"Stremio Немачка","STREMIO_COMMUNITY_BELGIUM":"Stremio Белгија","STREMIO_COMMUNITY_FRANCE":"Stremio Француска","STREMIO_COMMUNITY_PORTUGAL":"Stremio Португал","STREMIO_COMMUNITY_ITALY":"Stremio Италија","STREMIO_COMMUNITY_UK":"Stremio УК","STREMIO_COMMUNITY_USA":"Stremio САД","STREMIO_COMMUNITY_MEXICO":"Stremio Мексико","STREMIO_COMMUNITY_ADDONS":"Stremio додаци","STREMIO_COMMUNITY_AWESOME":"Сјајан Stremio","WEBSITE_COMMUNITY_PARTNERS":"Партнери и подршка","WEBSITE_COMMUNITY_GOODIES":"Stremio посластице","WEBSITE_COMMUNITY_WALLPAPERS":"Позадине","WEBSITE_COMMUNITY_ART":"Уметничка галерија заједнице","WEBSITE_LINK_ART":"Уметничка галерија заједнице","WEBSITE_CONTACT_US":"Контактирајте нас","WEBSITE_CONTACT_US_P1":"Ако имате било каквих питања, коментара или сугестија, слободно нас контактирајте путем контакт форме испод.","WEBSITE_CONTACT_US_P2":"Имајте на уму да се налазимо у Бугарској, тако да може доћи до кашњења у адресирању вашег упита због разлика у временским зонама.","WEBSITE_CONTACT_US_SUCCESS":"Ваша порука је послата. Јавићемо вам се што је пре могуће.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Унесите исправан имејл!","WEBSITE_CONTACT_US_Q_RELATED_TO":"На шта се односи ваше питање?","WEBSITE_CONTACT_US_Q_OS":"Који је ваш оперативни систем?","WEBSITE_CONTACT_US_PH_EMAIL":"Ваш имејл","WEBSITE_CONTACT_US_PH_MESSAGE":"Порука","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"ПОШАЉИ","WEBSITE_CONTACT_US_Q_1":"Како инсталирати?","WEBSITE_CONTACT_US_Q_2":"Како деинсталирати?","WEBSITE_CONTACT_US_Q_3":"(HTML) Како направити лазање?","WEBSITE_CONTACT_US_Q_4":"Додаци","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Технологија","WEBSITE_TECHNOLOGY_P1":"Волимо технологију и луду науку. </br> Ево шта покреће Stremio (све је отвореног кода).","WEBSITE_TECHNOLOGY_P_QT":"Развој софтвера на више платформи у свом најбољем издању.","WEBSITE_TECHNOLOGY_P_MPV":"Бесплатан медијски плејер отвореног кода и више платформи.","WEBSITE_TECHNOLOGY_P_RN":"React Native вам омогућава да правите мобилне апликације користећи само JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Медијски оквир уграђен у апликацију за набављање мултимедије.","WEBSITE_TECHNOLOGY_P_REALM":"Realm је мобилна платформа и замена за SQLite и Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js је отвореног кода, доступан на више платформи, JavaScript runtime окружење.","WEBSITE_TECHNOLOGY_P_RUST":"Rust је вишепарадигмски системски програмски језик фокусиран на безбедност, посебно безбедну истовременост.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Допринесите овом пројекту","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Постоје два начина на која можете допринети платформи Stremio и помоћи нам да учинимо производ још бољим.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Своје вредне језичке вештине можете донирати превођењем платформе...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"или","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... можете искористити своје вештине кодирања за прављење додатака у заједници. ","WEBSITE_TRANSLATE_STREMIO":"Преведи Stremio","WEBSITE_404_OH_NO":"Ух-ох! Страница коју тражите није овде...","WEBSITE_GO_HOME":"Иди на почетну","WEBSITE_LINK_OTHER_DOWNLOADS":"Остала преузимања","WEBSITE_FAQ_ABR":"ЧПП","WEBSITE_SUPPORT":"Подршка","WEBSITE_DOWNLOAD_4_0_BETA":"Преузмите Stremio 4 бета верзију сада","WEBSITE_GET_FOR_DESKTOP":"Набави за десктоп","WEBSITE_LINK_ADDON_COMPETITION":"Такмичење додатака","WEBSITE_LINK_ART_CONTEST":"Ликовни конкурс","WEBSITE_MY_ACCOUNT":"Мој налог","WEBSITE_MAINPAGE_FAQ_001_H1":"Шта је Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio је модеран медијски центар који вам даје слободу да гледате све што желите.","WEBSITE_MAINPAGE_FAQ_002_H1":"Како то функционише?","WEBSITE_MAINPAGE_FAQ_002_P1":"Када инсталирате Stremio на свој уређај и направите налог, све што треба да урадите је да посетите каталог додатака и инсталирате било који додатак који желите и спремни сте за рад!","WEBSITE_MAINPAGE_FAQ_002_P2":"Након тога, можете да одете у одељке „Откриј” или „Табла” да бисте почели да истражујете садржај.","WEBSITE_MAINPAGE_FAQ_003_H1":"Шта могу да гледам овде?","WEBSITE_MAINPAGE_FAQ_003_P1":"Много тога: филмове, серије, веб-канале, спортове, ТВ канале, слушање подкаста и још много. Захваљујући нашем систему додатака, можете приступити разним садржајима.","WEBSITE_MAINPAGE_FAQ_004_H1":"Да ли је Stremio отвореног кода?","WEBSITE_MAINPAGE_FAQ_004_P1":"Да, можете да проверите следеће линкове: ${1}десктоп апликација${2} и ${3}GitHub организација${4}. ","WEBSITE_MAINPAGE_FAQ_005_H1":"Да ли је Stremio безбедан?","WEBSITE_MAINPAGE_FAQ_005_P1":"Да, пошто је софтвер отвореног кода, кôд се може јавно испитати и можете га сами прегледати.","WEBSITE_MAINPAGE_FAQ_005_P2":"Систем додатака платформе Stremio је креиран имајући на уму безбедност корисника. Додаци не покрећу никакав кôд локално, тако да не представљају ризик за ваш уређај.","WEBSITE_MAINPAGE_FAQ_006_H1":"Шта је са мојом приватношћу?","WEBSITE_MAINPAGE_FAQ_006_P1":"Поштујемо приватност корисника и не прикупљамо никакве личне податке осим основног минимума за прављење и синхронизацију вашег налога.","WEBSITE_MAINPAGE_FAQ_006_P2":"Такође, постоји и ${1}режим пријаве као гост${2} приликом регистрације, који не захтева никакве податке: у овом режиму се не упућују позиви нашем позадинском систему. Међутим, то долази на рачун корисних функција, као што је могућност синхронизације ваше збирке на различитим уређајима.","WEBSITE_MAINPAGE_FAQ_007_H1":"Могу ли да пребацујем на свој ТВ?","WEBSITE_MAINPAGE_FAQ_007_P1":"Да, подржавамо Chromecast и можете да пребацујете и са десктоп и мобилних апликација (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"Колико додатака има Stremio?","WEBSITE_MAINPAGE_FAQ_008_P1":"До краја 2019, преко 50 - за више информација погледајте наш каталог додатака.","WEBSITE_MAINPAGE_FAQ_009_H1":"Може ли се Stremio проширити изван онога што је у каталогу додатака?","WEBSITE_MAINPAGE_FAQ_009_P1":"Да, требало би да проверите ове: ${1}PimpMyStremio${2}, ${3}Reddit заједнице${4}, ${5}Stremio програм за преузимање${6} итд.","WEBSITE_MAINPAGE_FAQ_010_H1":"Које уређаје подржава Stremio?","WEBSITE_MAINPAGE_FAQ_010_P1":"Имамо десктоп апликације за Windows, Mac и Linux. За мобилне уређаје подржавамо Android и iOS, али имајте на уму да је iOS ограничен у функционалности (не подржава већину додатака).","WEBSITE_MAINPAGE_FAQ_010_P2":"Постоји много уређаја заснованих на Android-у на којима можете покренути Stremio, као што су NVIDIA Shield и Amazon Fire Stick, али их званично не подржавамо.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"Имамо десктоп апликације за Windows, Mac и Linux. Такође, имамо наменске апликације за Android мобилни и Android ТВ. За iOS и iPadOS предлажемо коришћење Stremio Web-а, иако је више ограничен у функционалностима.","WEBSITE_MAINPAGE_FAQ_011_H1":"Можете ли да додате одређени садржај у Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Жао нам је, ми сами не пружамо никакав садржај, али што више Stremio додатака инсталирате, више садржаја ћете моћи да пронађете.","WEBSITE_MAINPAGE_FAQ_012_H1":"Може ли Stremio да репродукује магнет линкове?","WEBSITE_MAINPAGE_FAQ_012_P1":"Да, и такође може да репродукује нормалне HTTP линкове и торент фајлове (превуците и испустите).","WEBSITE_MAINPAGE_FAQ_013_H1":"Могу ли да преузмем видео снимак и гледам га офлајн?","WEBSITE_MAINPAGE_FAQ_013_P1":"Доступност офлајн је надолазећа функција, али ако дозволите апликацији Stremio да се кешира на вашем уређају (са панела подешавања), можете гледати видео снимке касније без мрежне везе.","WEBSITE_MAINPAGE_FAQ_014_H1":"Ништа не ради, помозите ми!","WEBSITE_MAINPAGE_FAQ_014_P1":"Да ли сте сигурни да сте инсталирали додатке? Ако јесте, проверите наш ${1}центар за помоћ${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"Како Stremio одржава своје развојне операције?","WEBSITE_MAINPAGE_FAQ_015_P1":"Повремено приказујемо ненаметљиве рекламе, али разматрамо прелазак на модел донације.","WEBSITE_MAINPAGE_FAQ_015_P2":"За више питања, идите у наш ${1}центар за помоћ${2}.","HELP_LEARN_MORE":"Помозите нам да сазнамо више о вама.","LIFESTYLE":"Животни стил","SPORTS":"Спортови","FOOD_HEALTH":"Храна и здравље","BEAUTY_FASHION":"Лепота и мода","NEWS":"Вести","GAMING":"Видео игре","SCIENCE_EDUCATION":"Наука и образовање","MUSIC":"Музика","TRAVEL":"Путовања","LATE_NIGHT":"Касна ноћ","REALITY":"Ријалити","COMEDY":"Комедија","DIY":"Уради сам","TECH":"Технологија","CINEMA":"Биоскоп","CONTINUE":"Настави","SLOW_LOADING":"СПОРО УЧИТАВАЊЕ?","I_GIVE_UP":"ОДУСТАЈЕМ","LEARN_MORE":"Сазнај више","POOR_SOURCE":"Овај извор је слабо доступан или ваша интернет веза није довољно брза","PICK_CATEGORIES_ERR":"Морате изабрати најмање 3 категорије","ADJUST_TIMING":"Подешавање тајминга помоћу ","ADJUST_SIZE":"Подешавање величине помоћу ","SEARCH_ANYTHING":"Можете претраживати било шта...","ALL_CATEGORIES":"Све","SEARCH_CATEGORIES":"Филмови, серије, YouTube и ТВ","SEARCH_PERSONS":"Глумци, режисери и писци","SEARCH_PROTOCOLS":"HTTP и магнет линкови","SEARCH_TYPES":"IMDB / TVDB линкови","WATCHED":"Одгледано","SHOW_LESS":"Прикажи мање","LAST_SEARCHES":"Последње претраге","CLEAR_HISTORY":"Очисти историју","CHOOSE_SOME":"ИЗАБЕРИТЕ НЕШТО ОД ОВОГА:","NO_WEB_REMOTE":"Удаљени веб није могао да се учита","STREMIO_OFFLINE":"Stremio је офлајн","STREMIO_EXPENSIVE_CONNECTION":"Открили смо да користите мобилне податке, желите ли да наставите?","USE_DATA":"Користи податке","WARNING":"Упозорење","MORE_INFO":"Више информација ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Учитавање ...","STREMIO_TV_BACK_TO_LANGUAGES":"Назад на језике","STREMIO_TV_REMOTE":"Удаљено","STREMIO_TV_GO_TO":"Идите на:","STREMIO_TV_OR_SCAN":"или скенирајте:","STREMIO_TV_ADDON_INSTRUCTIONS":"Пратите упутства да бисте инсталирали жељене додатке.","STREMIO_TV_LIVE_TV":"ТВ уживо","STREMIO_TV_RESUME_WATCHING":"Наставите да гледате","STREMIO_TV_LOADING_BACKGROUND":"Учитавање позадине","STREMIO_TV_CHECKING_AUTHENTICATION":"Провера аутентичности","STREMIO_TV_LOADING_BOARD":"Учитавање табле","STREMIO_TV_LOGIN_HEADER_LINE_1":"Желимо да наши корисници имају најбоље могуће персонализовано искуство са нашим софтвером.","STREMIO_TV_LOGIN_HEADER_LINE_2":"Из тог разлога вас љубазно молимо да направите и/или се пријавите на свој налог.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Хвала на разумевању,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Stremio тим","STREMIO_TV_REMOTE_INSTRUCTIONS":"Да бисте користили веб даљински са својим паметним телефоном / таблетом / десктопом:","STREMIO_TV_WIFI_SETUP":"Подешавање Wi-Fi мреже","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle није открио интернет везу.","STREMIO_TV_WIFI_DETAILS_1":"Повежите се на:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Користите лозинку:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Отворите веб-прегледач са линком:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Подразумевано","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"По последњем гледању","STREMIO_TV_LIBRARY_SORT_NAME":"По називу","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"По називу опадајуће","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"По броју гледања","STREMIO_TV_LIBRARY_SORT_WATCHED":"По одгледаном","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"По неодгледаном","STREMIO_TV_DETAILS_SEASON_NUMBER":"Сезона ${1}","STREMIO_TV_STREAMS_LOADING":"Учитано ${1} / ${2} додатака...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} додатак се још увек учитава...","STREMIO_TV_PLAYER_SETTINGS":"Подешавања плејера","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Кашњење титлова","STREMIO_TV_PLAYER_AUDIO_DELAY":"Кашњење звука","STREMIO_TV_PLAYER_VIDEO_SCALING":"Скалирање видео снимка","STREMIO_TV_PLAYER_CHAPTERS":"Поглавља","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Прескочи ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Неподржани извор стрима","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Отварање спољног линка није успело","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Није подесиво у режиму пролаза звука","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Пуштање помоћу ExoPlayer-а","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Пуштање помоћу libVLC плејера","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Прелазак на libVLC плејер због грешке при репродукцији ","STREMIO_TV_ADDONS_TITLE":"Користите Stremio на свом телефону или рачунару да бисте инсталирали или конфигурисали додатке и притисните „Синхронизуј додатке”","STREMIO_TV_ADDONS_SUBTITLE":"Напомена: уверите се да користите исти Stremio налог ","STREMIO_TV_ADDONS_SYNC_ADDONS":"Синхронизуј додатке","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Додаци су успешно синхронизовани","STREMIO_TV_ADDONS_SYNC_FAILED":"Синхронизација додатака није успела","STREMIO_TV_META_LINK_FAILED":"Отварање мета линка није успело","STREMIO_TV_CATALOG_LOADING":"Каталог се још увек учитава...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Језик интерфејса је ажуриран","STREMIO_TV_SETTINGS_THEME_UPDATED":"Тема је ажурирана","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Подразумевани плејер","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Спољни плејер","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Преферирани језик","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Други преферирани језик","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Тунелована репродукција","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Могући проблеми са репродукцијом на неким уређајима","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Неки формати видео снимака можда неће радити","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Подударање брзине кадрова","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Онемогућено","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Само брзина кадрова","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Брзина кадрова и резолуција","STREMIO_TV_SETTINGS_NO_CACHING":"Нема кеширања","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Подразумевано","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Меко","STREMIO_TV_SETTINGS_PROFILE_FAST":"Брзо","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ултра брзо","STREMIO_TV_SETTINGS_SERVER_URL":"URL сервера за стримовање","STREMIO_TV_SETTINGS_SERVER_VERSION":"Верзија сервера","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Непознато","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Верзија апликације Stremio","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Измена URL-а сервера","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Унесите URL сервера за стримовање","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Приказ статистике током учитавања","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"Да бисте прочитали политику приватности апликације Stremio, посетите:","STREMIO_TV_SETTINGS_TOS_TEXT":"Да бисте прочитали услове и одредбе апликације Stremio, посетите:","STREMIO_TV_NAV_SEARCH":"Претрага","STREMIO_TV_NAV_HOME":"Почетна","STREMIO_TV_NAV_DISCOVER":"Откриј","STREMIO_TV_NAV_LIBRARY":"Збирка","STREMIO_TV_NAV_MOVIES":"Филмови","STREMIO_TV_NAV_SERIES":"Серије","STREMIO_TV_NAV_CHANNELS":"Канали","STREMIO_TV_NAV_TV":"ТВ уживо","STREMIO_TV_NAV_SETTINGS":"Подешавања","STREMIO_TV_NAV_ADDONS":"Додаци","STREMIO_TV_LOGIN_TITLE":"Повежите налог","STREMIO_TV_LOGIN_EXPIRES_IN":"Истиче за","STREMIO_TV_LOGIN_STEP_ONE":"Скенирајте QR кôд изнад или идите на","STREMIO_TV_LOGIN_STEP_TWO":"Пријавите се на свој Stremio налог","STREMIO_TV_LOGIN_NEW_LINK":"Затражите нови линк","STREMIO_TV_LOGIN_LINK_REFRESHED":"Кôд за пријаву је освежен","STREMIO_TV_SEARCH_PLACEHOLDER":"Откуцајте нешто","STREMIO_TV_SEARCH_NO_ADDONS":"Нису тражени додаци за каталоге!","STREMIO_TV_SEARCH_BUTTON":"Претрага","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Историја претраге","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Можете претраживати наслове, глумце, канале и још много тога...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Очисти историју претраге","STREMIO_TV_FILTERS_DESCRIPTION":"Изаберите један од филтера у наставку","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Сервер за стримовање је офлајн. Проверите подешавања сервера.","FILTERS":"Филтери","SETTINGS":"Подешавања","ACCOUNT":"Налог","LOGOUT":"Одјава","THEMES":"Теме","PLAYBACK":"Репродукција","PLAYBACK_SPEED":"Брзина репродукције","AUDIO_TRACKS":"Аудио снимци","UNKNOWN_TRACK_LANG":"Непознато","VIDEOS":"Видео снимци","SERVER":"Сервер","LINKS":"Линкови","ABOUT":"О нама","INTERFACE":"Интерфејс","ANIMATIONS":"Анимације","STATUS":"Статус","LANGUAGE":"Језик","SIZE":"Величина","DELAY":"Кашњење","BOLD":"Подебљано","OPACITY":"Непрозирност","TEXT_COLOR":"Боја текста","OUTLINE_COLOR":"Боја оквира","BACKGROUND_COLOR":"Боја позадине","BACKGROUND_BLUR":"Замагљивање позадине","SEEK_TIME_DURATION":"Трајање тражења","AUTO_PLAY":"Аутоматски пусти следећу епизоду","PLAY_NOW":"Пусти сада","MARK_AS_WATCHED":"Означи као одгледано","MARK_AS_UNWATCHED":"Означи као неодгледано","REWIND_TO_BEGINNING":"Премотај на почетак","CONTINUE_WATCHING":"Наставите да гледате","ALL":"Све","SECONDS":"секунди","ON":"УКЉУЧЕНО","OFF":"ИСКЉУЧЕНО","RELOAD":"Поново учитај","EDIT_URL":"Измени URL","NONE":"Ниједно","EMBEDDED":"Уграђено","REMOTE_SWITCH_DEVICES":"Замена уређаја","REMOTE_VIDEOS":"Видео снимци","REMOTE_ADJUST_TIMING":"Подешавање тајминга","REMOTE_ADJUST_SIZE":"Подешавање величине","REMOTE_COULD_NOT_BE_LOADED":"Веб даљински није могао да се учита","REMOTE_RETRY":"Покушај поново","TORRENT_PROFILE_DEFAULT":"Подразумевано","TORRENT_PROFILE_SOFT":"Меко","TORRENT_PROFILE_FAST":"Брзо","TORRENT_PROFILE_ULTRA_FAST":"Ултра брзо","FAQ_001_H1":"Шта је Stremio?","FAQ_001_P1":"Stremio је софтвер за медијски центар дизајниран за видео забаву са лакоћом коришћења на уму. Stremio вам омогућава да организујете и гледате сопствену колекцију филмова, серија, канала и ТВ уживо.","FAQ_001_P2":"Stremio прикупља садржај који вам приказује са вашег локалног диска и нашег система додатака.","FAQ_001_P3":"Такође, обавестиће вас када изађу нове епизоде/видео снимци/филмови за које сте заинтересовани и даће вам препоруке за филмове.","FAQ_02_H1":"Како се Stremio пореди са Kodi-јем и Plex-ом? ","FAQ_02_P1":"Инспирисани смо од стране та два софтвера. Међутим, ми имамо различите циљеве - Stremio је посебно усмерен на видео забаву и настоји да постане главно решење за то тако што је веома једноставан за коришћење.","FAQ_02_P2":"Stremio никада неће бити тако прилагодљив и богат функцијама као Kodi и Plex, али је знатно лакши за коришћење. Само га ${1} набавите и видећете ${2} :)","FAQ_03_H1":"Како се Stremio пореди са Netflix-ом?","FAQ_03_P1":"Опет, Netflix је једна од наших инспирација. Трудимо се да постигнемо корисничко искуство као Netflix-ово, плус много додатака. Међутим, што је најважније, дајемо вам слободу да управљате сопственом збирком и додајете нове изворе садржаја помоћу нашег система додатака.","FAQ_03_P2":"То чини Stremio бескрајно проширивим, тако да када користите Stremio, никада нисте ограничени на садржај који Netflix одлучи да лиценцира. На пример, преко апликације Stremio можете да гледате садржај са платформи ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8}, па чак и сам ${9}Netflix${10}!","FAQ_04_H1":"Како се Stremio пореди са Flipboard-ом?","FAQ_04_P1":"Не добијамо то питање тако често, осим када разговарамо са почетницима :)","FAQ_04_P2":"Stremio је по дизајну агрегатор садржаја, што га у суштини чини Flipboard-ом за видео снимке. Ово је веома очигледно у нашем одељку „Табла”, који вам даје каталоге и обавештења о новим епизодама/новим видео снимцима за оно што пратите, баш као и Flipboard.","FAQ_05_H1":"Како се Stremio пореди са Popcorn Time-ом?","FAQ_05_P1":"Stremio и Popcorn Time су слични у корисничком интерфејсу, јер нема много начина да се прави каталог видео забаве :)","FAQ_05_P2":"Међутим, док је Popcorn Time фокусиран на стримовање торента из одређених извора, Stremio је неограничен и само је агрегатор садржаја – није закључан у одређеном извору садржаја.","FAQ_05_P3":"Штавише, ми подразумевано не обезбеђујемо никакве torrent додатке, тако да Stremio не покрива случај употребе апликације Popcorn Time званичном функционалношћу.","FAQ_05_P4":"Још једна значајна разлика је у томе што је Popcorn Time потпуно отвореног кода, док је Stremio ${1} делимично отвореног кода${2}.","FAQ_06_H1":"Хоћете ли додати овај филм/серију?","FAQ_06_P1":"Не, жао нам је :(","FAQ_06_P2":"Као што је поменуто у већини других питања, Stremio не пружа никакав садржај сам по себи – све се додаје преко система додатака. У случају да имате захтев за садржај, можете да користите дугме „Пријави” у плејеру, које ће послати имејл аутору додатка који тренутно користите.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Хоћете ли направити додатак за X?","FAQ_08_P1":"То је сасвим могуће.","FAQ_08_P2":"Ако имате идеју за додатак, пошаљите нам поруку на ${1}office@stremio.com${2}, али уверите се да ваша идеја за додатак неће кршити било каква ауторска права или услове коришћења.","FAQ_08_P3":"У овом тренутку, следеће ствари у нашем плану су додаци за FandangoNOW, Filmon.tv видео снимак на захтев (VOD) и Crunchyroll.","FAQ_09_H1":"Да ли Stremio користи BitTorrent?","FAQ_09_P1":"Да, Stremio подржава BitTorrent као протокол за стримовање. Можете га користити или са торент додатком или превлачењем и испуштањем .torrent фајла у Stremio или лепљењем магнет линка у траку за претрагу.","FAQ_09_P2":"Имајте на уму да је једини званични додатак који користи BitTorrent ${1}Vodo${2}, који пружа независни (инди) садржај и све је дозвољено за дистрибуцију уз BitTorrent.","FAQ_09_P3":"Не подржавамо употребу додатака трећих страна који могу омогућити кршење ауторских права.","FAQ_10_H1":"Шта могу да гледам у апликацији Stremio са званичним додацима?","FAQ_10_P1":"Подразумевано, можете да гледате Filmon.tv, YouTube и Vodo садржај унутар саме апликације Stremio, са уграђеним плејером. Поред тога, имамо додатак за Twitch.tv и неколико других.","FAQ_10_P2":"Ово комбиновано пружа избор:","FAQ_10_L1":"Популарни ТВ канали, које обезбеђује Filmon.tv - на пример - Е4, BBC, Bollyworld TV","FAQ_10_L2":"Све са YouTube-а - на пример - BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Независни (инди) филмови са Vodo","FAQ_10_L4":"Онлајн емитовање видео игара са Twitch.tv","FAQ_10_P3":"Поред тога, постоји много извора садржаја који су обезбеђени уз Guidebox и Netflix додатке, који се <b>не</b> репродукују у потпуности унутар апликације Stremio, већ бивају преусмерени на дату услугу. На пример, додатак Guidebox би вам дао избор филмова које можете бесплатно да стримујете у САД, са услуга као што су TubiTV и Crackle.","FAQ_11_H1":"Stremio неће да се инсталира, шта да радим?","FAQ_11_P1":"Ако користите Windows, испробајте ${1}овај алтернативни програм за инсталацију${2}. ","FAQ_11_P2":"Ако користите Mac OS X, имајте на уму да не подржавамо ништа старије од OS X Mavericks (10.9).","FAQ_11_P3":"Ако користите Linux, имајте на уму да тренутно подржавамо само 64-битни (x64) Linux.","FAQ_11_P4":"Ако и даље не можете да решите проблем, пишите нам у ${1}нашој Facebook групи${2}.","FAQ_12_H1":"Зашто се мој антивирус активира? Да ли је Stremio безбедан?","FAQ_12_P1":"Уверавамо вас да је Stremio ${1}100% чист${2}.","FAQ_12_P2":"Ваш антивирус се активира зато што програм за инсталацију садржи рекламе и неки антивирусни програми га препознају као рекламни софтвер.","FAQ_12_P3":"Ако још увек нисте сигурни, можете да испробате наш ${1}алтернативни програм за инсталацију${2}.","FAQ_13_H1":"Како могу да направим додатак?","FAQ_13_P1":"За почетак, препоручујемо вам да проверите наш ${1}системски модул додатака${2} на GitHub-у.","FAQ_13_P2":"Након тога, можете да пратите ${1}„Hello World” туторијал${2}.","FAQ_13_P3":"Ако немате никакве вештине програмирања, објавите своју идеју у ${1}Reddit заједницу${2} и контактирајте нас са идејом за додатак на ${3}office@stremio.com${4}.","FAQ_14_H1":"Како се објављују додаци?","FAQ_14_P1":"Када направите додатак и хост и ставите поље <b>крајње тачке</b> у свој манифест, које указује на радну адресу додатка, додатак ће се аутоматски објавити у нашем ${1}каталогу додатака${2}.","FAQ_14_P2":"Ово се дешава зато што серверски део модула Stremio додатака аутоматски позива наш API да најави додатак. Када наш API потврди вашу <b>крајњу тачку</b> као важећи додатак, он ће почети да се приказује у каталогу.","FAQ_15_H1":"Могу ли да покренем Stremio у свом прегледачу?","FAQ_15_P1":"Не, тренутно, али то стиже!","FAQ_15_P2":"Ако сте радознали да видите алфа верзију, можете је видети овде: ${1}alpha4.strem.io${2}. Имајте на уму да је стримовање онемогућено на овој алфа верзији. Подржавамо Chrome, Firefox, Opera и Edge прегледаче.","FAQ_16_H1":"Пребацивање на ТВ не ради / титлови не раде","FAQ_16_P1":"Пребацивање на ТВ користи DLNA технологију која је веома неконзистентна између различитих брендова и модела телевизора. Из тог разлога, немамо могућност да тестирамо у сваком случају, тако да је далеко од савршеног. Упркос томе, стално радимо на побољшању, али не можемо да вам дамо временску процену када ће DLNA почети исправно да ради са вашим телевизором.","FAQ_16_P2":"Ако, чак, ни не видите свој телевизор у менију за пребацивање, покушајте да онемогућите мрежну везу и поново је омогућите (на Windows-у, кликните десним тастером миша на Мрежу и користите Омогући/Онемогући), као и да рестартујете рутер, телевизор и рачунар.","FAQ_16_P3":"Ако и даље наилазите на проблеме, можете нам помоћи тако што ћете послати информације о бренду и моделу телевизора на ${1}office@stremio.com${2}.","FAQ_16_P4":"У међувремену, препоручујемо Chromecast, који веома добро подржавамо, а можете и једноставно прикључити телевизор на рачунар помоћу HDMI кабла.","FAQ_17_H1":"Stremio се замрзава и/или отказује, шта могу да урадим?","FAQ_17_P1":"Пре свега, ако користите Windows 7 са AVG антивирусом: имамо проблем са том комбинацијом. Проблем је у самом AVG-у и не постоји разуман начин да га решимо са наше стране. Нажалост, изузеци или онемогућавање антивируса неће радити. Једино решење је да замените AVG нечим другим.","FAQ_17_P2":"Ако то није проблем, али свакако користите Windows, ажурирајте на најновији сервисни пакет и ажурирајте/поново инсталирајте драјвере за GPU, а затим покушајте поново.","FAQ_17_P3":"Ако ваш проблем још увек није решен или користите Mac или Linux, пишите нам тако што ћете пријавити тачне детаље проблема у ${1}нашој Facebook групи${2}.","FAQ_18_H1":"Како могу да направим додатак?","FAQ_18_P1":"За почетак, препоручујемо вам да проверите наш ${1}системски модул додатака${2} на GitHub-у.","FAQ_18_P2":"Након тога, можете да пратите ${1}„Hello World” туторијал${2}.","FAQ_18_P3":"Ако немате никакве вештине програмирања, објавите своју идеју у ${1}Reddit заједницу${2} и контактирајте нас са идејом за додатак на ${3}office@stremio.com${4}. ","FAQ_19_H1":"Зашто Stremio заузима меморијски простор на диску?","FAQ_19_P1":"Stremio има <b>локални кеш</b> за привремено чување видео фајлова које стримујете.","FAQ_19_P2":"Ово има две предности: прво, омогућава апликацији Stremio да унапред баферује видео снимак како би се обезбедио глађе стримовање. Друго, чува видео снимке у локалном кешу тако да можете да наставите да их гледате офлајн.","FAQ_19_P3":"Колико Stremio чува зависи од подешавања <b>кеша</b> на панелу подешавања. Stremio може да задржи подешену количину (нпр. 2GB) на вашем диску, осим ако тренутно стримовани видео снимак није већи од тога, у том случају мора да додели довољно меморије да га задржи док га не стримујете.","FAQ_20_H1":"Где је фолдер кеша?","FAQ_20_P1":"На Windows-у, то је stremio-cache на диску који сте изабрали у подешавањима (нпр. \\"Е:\\\\stremio-cache\\")","FAQ_20_P2":"На MacOS-у, то је \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"На Linux-у, то је \\"~/.stremio/stremio-cache\\" или \\"~/stremio-cache\\"","FAQ_21_H1":"Добијам грешку „Сервер за стримовање није пронађен“, шта да радим?","FAQ_21_P1":"Ако добијете ову грешку, то значи једну од неколико ствари:","FAQ_21_P2":"1) Покушавате да користите додатак који подржава YouTube/BitTorrent извор, преко наше ${1}веб верзије${2}. У овом случају, требало би да инсталирате нашу десктоп верзију са ${3}нашег веб-сајта${4}.","FAQ_21_P3":"2) Нешто није у реду са вашом Stremio инсталацијом. У овом случају, покушајте да поново инсталирате нашу најновију верзију за рачунар са ${1}веб-сајта${2}. Ако ово не помогне, покушајте да онемогућите антивирусне програме и заштитне зидове, рестартујте рачунар и покушајте поново. Ако ни ово не функционише, пишите нам у ${3}нашој Facebook групи${4}.","FAQ_22_H1":"Не могу да видим/користим већину додатака на iOS-у","FAQ_22_P1":"Због ограничења у условима и одредбама Apple App Store-а, ограничили смо iOS апликацију само на одређени скуп додатака.","FAQ_22_P2":"Међутим, будите сигурни – биће више додатака за iOS у будућности, а можда ћемо додати и интеграцију која ће вам омогућити да користите све Stremio додатке захваљујући повезивању iOS апликације са Stremio сервером за стримовање."}')},24662:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Film","TYPE_series":"Serie","TYPE_tv":"TV-kanal","TYPE_channel":"Kanal","TYPE_other":"Annat","TYPE_movie_PL":"Filmer","TYPE_series_PL":"Serier","TYPE_tv_PL":"TV-kanaler","TYPE_channel_PL":"Kanaler","TYPE_other_PL":"Annat","TYPE_ALL":"Allt","TYPE":"Typ","CATALOG_com_linvo_cinemeta_top":"Populärt","CATALOG_com_linvo_cinemeta_imdbRating":"Utvalda","CATALOG_com_linvo_cinemeta_year":"Nytt","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain-filmer","VIDEO":"Video","BACK":"Tillbaka","MORE":"Mer","DONE":"Klar","COPY":"Kopiera","SUCCESS":"Lyckades","ERROR":"Fel","SETTINGS_CASTING_MODE_PICKER":"Casting-läge","CASTING_MODE_HLSV2":"Standard","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Ingen transkodning","Discover":"Upptäck","Board":"Hem","Library":"Bibliotek","My Library":"Mitt bibliotek","Calendar":"Kalender","NOTIFICATION_ONLINE":"Du är nu online","NOTIFICATION_OFFLINE":"Du är för närvarande offline","INTERNET_CONNECTION":"Nätverksanslutning","STORAGE_FULL_TITLE":"Varning: Lagringsutrymmet är fullt!","STORAGE_FULL_TEXT":"Stremio kommer inte att kunna spara dina inställningar, preferenser eller inloggningsinformation. Överväg att starta om eller ominstallera Stremio.","SEARCH":"Sök","SEARCH_NO_RESULTS":"Inga resultat hittades","SEARCH_EXPLANATION_CONTENT":"Sök efter filmer, serier, YouTube och TV-kanaler","SEARCH_EXPLANATION_PEOPLE":"Sök efter skådespelare, regissörer och författare","SEARCH_PASTE_LINKS":"Klistra in HTTP- och magnetlänkar","SEARCH_OR_PASTE_LINK":"Sök eller klistra in länk","SEARCH_SUGGESTIONS":"Sökförslag","ADD_TO_LIB":"Lägg till i biblioteket","REMOVE_FROM_LIB":"Ta bort från biblioteket","ADDED_TO_LIB":"Tillagt i biblioteket","REMOVED_FROM_LIB":"Borttagen från biblioteket","TRAILER":"Trailer","WATCH_TRAILER":"Titta på trailer","WATCH_NOW":"Titta nu","SHOW":"Visa","SHOW_MOVIE":"Visa film","WATCH_RANDOM":"Titta på slumpmässigt","IMDB_RATING":"Betyg på IMDB","YEAR":"År","DIRECTOR":"Regissör","WRITER":"Manusförfattare","LEAD_ACTORS":"Huvudskådespelare","CAST":"Rollista","CREW":"Produktionsteam","SHOW_MORE_CAST":"Visa mer »","AIRED":"Utgiven","SEASONS":"Säsonger","GENRE":"Genre","GENRE_ALL":"Alla genrer","CATALOG":"Katalog","SUMMARY":"Sammanfattning","SHOW_MORE":"Visa mer","SIMILAR":"Liknande","UPCOMING":"Kommande","ENDED":"Avslutad","DURATION":"Speltid","FEATURED":"Utvalda","METADATA":"Metadata","CATEGORY":"kategori","LINKS_GENRES":"Genrer","LINKS_CAST":"Rollista","LINKS_DIRECTORS":"Regissörer","SEARCH_VIDEOS":"Sök efter video","SEARCH_PLACEHOLDER":"sök eller klistra in magnetlänk","ADDON":"Tillägg","ADDONS":"Tillägg","OFFICIAL":"Officiella","ADDONS_OFFICIAL":"Officiella Stremio-tillägg","ADDONS_POPULAR":"Populärt i ditt område","ADDON_FREE":"Gratis tillägg","ADDON_PEERED":"parad","ADDON_SUBSCRIPTION":"Prenumeration på tillägg","ADDON_STREAM_GEORESTRICTED":"icke tillgängligt i ditt område","ADDON_STREAM_OFFLINECACHE":"Offline-cache","ADDON_STREAM_LOCALFILE":"Lokal fil","SHARE_ADDON":"Dela tillägg","AVAILABLE_STREAMS":"Tillgängliga strömmar","NO_STREAM":"Ingen ström","ALL_ADDONS":"Alla","INSTALL_MORE_ADDONS":"För fler strömmar, installera gärna fler tillägg","STREAM_NOT_SUPPORTED":"Den valda strömmen stöds inte på denna plattform.","ADDON_CATALOGUE":"Katalog för tillägg","ADDON_CATALOGUE_MORE":"Fler tillägg »","REPO_ADDED":"Repository tillagt","ADDON_REPO_EXIST_ERR":"Detta tilläggsrepository finns redan","ADDON_REPO_ERR":"Ett fel inträffade vid tillägg av repository","ADDON_ADD_ERR":"Ett fel uppstod vid tillägg av tillägget","ERR_ADDON_PROTECTED":"Skyddat tillägg","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Något gick fel - autentiseringen kan ha misslyckats","ERR_NOT_COLLECTION_URL":"Icke en samlings-URL","ERR_NOT_ADDON_URL":"Icke en tilläggs-URL","ERR_DETECTFROMURL":"Kan inte identifiera från URL","ADDON_DUPLICATE_WARNING":"Varning: Duplicerat tillägg","ADDON_COLLECTION_SET_FAILED":"Misslyckades med att ställa in tilläggsamling","SETTINGS_DATA_EXPORT":"Exportera data","ADDON_PULL_FAILED":"Misslyckades med att hämta tillägg","REFRESH_ON_CLICK":"Klicka för att försöka igen","STILL_IN_THEATER":"Visas fortfarande på bio","WATCH_IN_CINEMA":"Se den på din lokala bio","IN_THEATER":"På bio","GET_TICKETS":"Skaffa biljetter","UPCOMING_EPISODE":"Kommande avsnitt","UPCOMING_EPISODE_MESSAGE":"Detta avsnitt kommer att sändas den","MISSING_DATE_EPISODE":"Saknas sändningsdatum för avsnittet","MISSING_DATE_EPISODE_MESSAGE":"Detta avsnitt kanske inte har sänts ännu","CHANNEL_NOT_SCRAPED":"Den här kanalen är inte skrapad än.<br>Kom tillbaka om några minuter.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Lägg till den till ditt bibliotek för att bli meddelad när den blir tillgänglig.","GET_NOTIFIED_WHEN_AVAILABLE":"Du kommer att bli meddelad när den blir tillgänglig.","WARNING_STREAMING_SERVER":"Varning: Lokal streaming-server hittades inte. Streaming från YouTube och BitTorrent kommer inte att vara tillgängligt.","WARNING_STREAMING_SERVER_DISMISS":"Avfärda","WARNING_STREAMING_SERVER_LATER":"Senare","DECODER_WARNING":"Varning: Denna video kanske inte stöds av din maskinvara. Kom ihåg att uppspelningen kan vara långsam.","GENERIC_ERROR_MESSAGE":"Något gick fel!","TRY_AGAIN":"Försök igen","CLEAR_DATA":"Rensa data","PLAYER_ERROR":"Hoppsan, fel på spelaren","PLAYER_ERROR_LOOKSLIKE":"Det tycks vara ett fel på spelaren","PLAYER_ORIENTATION":"Spelarorientering","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Låst","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensor","PLAYER_ORIENTATION_LANDSCAPE":"Spelarorientering låst i landskapsläge","PLAYER_ORIENTATION_SENSOR":"Spelarorientering automatisk (sensor)","PLAYER_PLAYBACK_SPEED":"Uppspelningshastighet","PLAYER_PLAYBACK_ERROR":"Uppspelningsfel, försök igen","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Okänt fel","PLAYER_PLAYBACK_ERROR_DEFAULT":"Tyvärr kan denna video inte spelas upp av {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Undertextsspråk","PLAYER_SUBTITLES_VARIANTS":"Undertextsvarianter","PLAYER_SUBTITLES_SETTINGS":"Undertextsinställningar","PLAYER_SUBTITLES_DISABLED":"Undertexter är avaktiverade","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Vertikal position","PLAYER_SUBTITLES_LOADED":"Undertexter laddade","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Inbäddade undertexter laddade","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Exklusiva undertexter laddade","PLAYER_SUBTITLES_LOADED_ORIGIN":"Undertexter från {{origin}} laddade","PLAYER_PLAY":"Spela","PLAYER_PAUSE":"Pausa","PLAYER_NEXT_VIDEO":"Nästa video","PLAYER_MUTE":"Slå av ljudet","PLAYER_UNMUTE":"Slå på ljudet","PLAYER_OPEN_IN_EXTERNAL":"Öppna i extern spelare","PLAYER_OPEN_IN_NPLAYER":"Öppna i nPlayer","PLAYER_PLAY_IN":"Spela på {{device}}","PLAYER_LIVE":"Live","PLAYER_NEXT_VIDEO_TITLE":"Kommande på","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Nästa","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Avfärda","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Titta nu","PLAYER_COPY_STREAM_SUCCESS":"Streamlänken har kopierats till ditt urklipp","PLAYER_COPY_STREAM_ERROR":"Misslyckades med att kopiera streamlänken","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Nedladdningslänken kopierades till urklipp","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Det gick inte att kopiera nedladdningslänken","STREAMING_FROM":"Strömmar från","CASTING_TO":"Castar till","NETWORK_STATUS":"Nätverksstatus","STREAM_SPEED":"Nedladdningshastighet:","STREAM_BUFFERED":"Buffrat:","PEERS_INFO":"Information om peers","PEERS_ACTIVE":"Aktiv:","PEERS_CONNECTED":"Ansluten:","PEERS_WAITING":"Väntar:","TRANSCODING_WARNING":"Varning: Konverterar video","STREAM_LOADING":"Laddar strömmen...","PLAYING_LOCAL":"Spelar upp en lokal fil","PLAYING_CACHE":"Spelar upp från cache","WRONG_SUBS":"Felaktiga undertexter","ERR_SUBS_LOADING_TITLE":"Fel vid inläsning av undertexter","ERR_SUBS_LOADING":"Fel vid inläsning av undertexter: Detta kan bero på problemet med tillägget du använder eller din nätverksanslutning","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Följande undertexttillägg misslyckades","ERR_CASTING_UPDATE_TITLE":"Kan inte uppdatera castingenhetsinformation: Streamingservern kan vara offline","CHOOSE_DEVICE":"Välj en enhet att titta på","NO_CAST_DEVICES":"Inga castingenheter tillgängliga.","NO_SETTINGS":"Inga inställningar tillgängliga.","PHONE_TABLET":"Telefon / Platta","SUBTITLES":"Undertexter","SUBTITLES_CHANGE":"Ändra undertexter för ","SUBTITLES_CHANGE_NONE":"Det finns inga andra undertexter för detta språk, beklagar.","SUBTITLES_CHANGE_ACIVE":"För närvarande är undertexter &#35;{{subtitlesDialog.activeIdx + 1}} aktiverade. Klicka på \\"Fortsätt\\" för att aktiverar undertexter &#35;{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Undertexter eller","SUBTITLES_ADJUST_DELAY":"Justera fördröjning av undertexter:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Eller använd tangenterna <span>G</span> / <span>H</span> när du tittar.","SUBTITLES_ADJUST_DELAY_TIP":"TIPS: du kan använda tangenterna <span>G</span> / <span>H</span> när du tittar för att justera.","SUBTITLES_DELAY":"Fördröjning av undertexter:","SUBTITLES_LOADING":"Laddar undertexter...","SUBTITLES_UNAVAILABLE":"Inga externa undertexter tillängliga","SUBTITLES_DISABLED":"Inaktiverat","EXTERNAL_PLAYER_DISABLED":"Inaktiverat","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Tillåt val","EXTERNAL_PLAYER_HINT":"Tips: Du kan ställa in Stremio till att alltid öppna videor med en extern spelare","DONT_SHOW_AGAIN":"Visa inte igen","SERVICE_INSTALL":"Installera","AUDIO":"Ljud","DEFAULT_LANGUAGE":"Standardspråk","DEFAULT_SECONDARY_LANGUAGE":"Sekundärt standardspråk","SEASON":"Säsong","EPISODE":"Avsnitt","EPISODE_ABBREVIATION":"EP","SPECIAL":"Special","SORT":"sortera","SORT_BY":"Sortera på","FILTER":"filtrera","SORT_TRENDING":"Sortera trender","SORT_RECENT":"Sortera efter senaste","SORT_ALPHABET":"Sortera efter alfabetet","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"betyg","SORT_WATCHED":"sett","SORT_YEAR":"År","SELECT_TYPE":"Välj typ","SELECT_SORT":"Välj sortering","SELECT_CATALOG":"Välj katalog","SELECT_GENRE":"Välj genre","SORT_LASTWATCHED":"Efter senast sedda","SORT_NAME":"Efter namn","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"Efter tittade gånger","SORT_NOTWATCHED":"Efter inte sedda","New for You":"Nytt för dig","New Episodes":"Nya avsnitt","New Videos":"Nya videor","Recommendations":"Rekommendationer","LIBRARY_RESUME":"Återuppta","LIBRARY_PLAY":"Spela","LIBRARY_DETAILS":"Detaljer","LIBRARY_RESUME_DISMISS":"avfärda","LIBRARY_CLEAR_PROGRESS":"Rensa videoförlopp","LIBRARY_REMOVE":"Ta bort","LIBRARY_NOT_LOGGED_IN":"Biblioteket är endast tillgängligt för inloggade användare","CALENDAR_NOT_LOGGED_IN":"Kalendern är endast tillgänglig för inloggade användare","NOT_LOGGED_IN_CLOUD":"Få åtkomst till dina favoritfilmer och TV-program när som helst, var som helst","NOT_LOGGED_IN_RECOMMENDATIONS":"Rekommendationer anpassade efter din visningshistorik","NOT_LOGGED_IN_NOTIFICATIONS":"Missa aldrig ett avsnitt igen","NOT_LOGGED_IN_CALENDAR":"Schemalägg din personliga visningskalender","DISCOVER_FEATURED":"Utvalda","DISCOVER_TOP":"Topp","DISCOVER_OSCAR":"Oscarsvinnare","DISCOVER_WARNING_TITLE":"Hoppsan!","DISCOVER_EMPTY_CATALOG":"Detta tillägg returnerade tomt innehåll.","DISCOVER_ADULT_WARNING":"Innehållet är synligt endast för vuxna. Är du 18+?","DISCOVER_NOADDON_WARNING":"Varning: inget Stremio-tillägg aktivt för denna typ. Visar sparade objekt, ingenting kommer att uppdateras.","DISCOVER_LOAD_ERR":"Innehållet laddades inte, ett fel inträffade.","DISCOVER_ADDON_UNINSTALLED":"Detta innehåll är inte längre tillgängligt, du kan ha avinstallerat tillägget.","UNINSTALL_THIS_ADDON":"Avinstallera detta tillägg","ERR_ADDON_NOT_INSTALLED":"Detta tillägg är inte installerat. Installera nu?","DETAIL_RECEIVE_NOTIF_SERIES":"Få aviseringar för nya avsnitt","DETAIL_RECEIVE_NOTIF_VIDEOS":"Få aviseringar för nya videor","SIDEBAR_SHOW_STREAMS":"Visa strömmar","RELAUNCH":"Starta om nu!","UPGRADE":"Uppgradera till den senaste versionen av Stremio","RELOAD_UI":"Ladda om användargränssnittet","MANUAL_UPDATE_TITLE":"Uppdatera din Stremio-version","MANUAL_UPDATE_LINE1":"Du kör en föråldrad version av Stremio, vilket inte rekommenderas.","MANUAL_UPDATE_LINE2":"Vänligen uppdatera så snart som möjligt.","BUTTON_UPDATE_LATTER":"Inte nu","BUTTON_UPDATE_NOW":"Uppdatera","ANONYMOUS_USER":"Anonym användare","DONT_HAVE_ACC":"Har du inget konto?","HAVE_ACC":"Har du redan ett konto?","PASSWORD":"Lösenord","PASSWORD_CONFIRM":"Bekräfta lösenord","EMAIL":"E-post","FB_LOGIN":"Logga in med Facebook","FB_NOTHINGSHARED":"Ingenting delas utan din tillåtelse ","FB_NOPOST":"Vi kommer inte att publicera något på din vägnar","OR":"eller","I_ACCEPT":"Jag accepterar","I_ACCEPT_BY_CLICKING":"Genom att klicka på knappen ovan intygar jag att jag accepterar ","TOS":"Användarvillkor","MUST_ACCEPT_TERMS":"Du måste acceptera villkoren","PASSWORDS_NOMATCH":"Lösenorden matchar inte","SIGN_UP":"Registrera","SIGN_UP_EMAIL":"Registrera dig med e-post","CLICK_TO_SIGN_UP":"Klicka här för att registrera dig.","LOG_IN":"Logga in","LOG_OUT":"Logga ut","EXIT_FULLSCREEN":"Avsluta helskärmsläge","ENTER_FULLSCREEN":"Gå till helskärmsläge","PLAY_URL_MAGNET_LINK":"Spela upp URL/Magnetlänk","HELP_FEEDBACK":"Hjälp och feedback","TERMS_OF_SERVICE":"Användarvillkor","PRIVACY_POLICY":"Integritetspolicy","ABOUT_STREMIO":"Om Stremio","USER_PANEL":"Användarpanel","LOGIN_LABEL":"Logga in","GUEST_LOGIN":"Gästinloggning","GUEST_LOGIN_NOTICE":"Gästinloggning rekommenderas inte. Genom att använda en vanlig inloggning kan Stremio synkronisera din bibliotek, ta emot aviseringar för favoritserier/kanaler. Är du säker på att du vill fortsätta?","GUEST_LOGIN_NOTICE_2":"Gästinloggning rekommenderas inte - du kommer inte att ha synkroniserad bibliotek och meddelanden från tavlan, vilka är viktiga funktioner i Stremio. Är du säker på att du vill fortsätta?","CLICK_HERE":"klicka här","WRONG_PASSWORD":"Fel lösenord. Om du har glömt ditt lösenord, ","SET_A_PASS":"ange ett lösenord","RESET_PASSWORD":"Återsäll lösenord","FORGOT_PASSWORD":"Glömt lösenord?","EMAIL_USED_WITH_FB":"Denna e-postadress användes med en Facebook-inloggning.","INVALID_EMAIL":"Vänligen ange en giltig e-postadress","INVALID_PASSWORD":"Var vänlig skriv in ett giltigt lösenord","CONN_ERR":"Anslutningsfel - var vänlig och försök igen senare.\\n\\nOm problemet kvarstår, inaktivera brandväggar/antivirusprogram (speciellt Bitdefender).","IMPORT_FROM_GUEST":"Importera Bibliotek från ditt gästkonto","RECEIVE_UPDATES_EMAIL":"Få uppdateringar till din e-post från Stremio","LOGIN_FAILED":"Inloggningen misslyckades.","SIGNUP_FAILED":"Registrering misslyckades.","SEARCH_FAILED":"Sökningen misslyckades","EMAIL_USED":"Denna e-post är redan i bruk.","WAITING_FB_LOGIN":"Loggar in med Facebook...","EXTERNAL_PLAYER_TITLE":"Spela i extern spelare","EXTERNAL_REMEMBER_PLAYER":"Vill du komma ihåg ditt val","EXTERNAL_ALWAYS_PLAY":"Ja","EXTERNAL_ONLY_ONCE":"Nej","BEST_FIT":"Bästa passform","FIT_SCREEN":"Anpassa till skärm","FILL":"Fyll","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"Berätta om vad du gillar","INTRO_TASTE_LONG":"Berätta för oss om vad du vill se","INTRO_TASTE_PICK":"Välj {{interestsRemaining}} intressen","INTRO_TASTE_PICK_MORE":"Välj {{interestsRemaining}} intressen till","INTRO_TASTE_HELP_US":"Hjälp oss att lära oss mer om dig.","INTRO_TASTE_CHOOSE_THESE":"Välj några av dessa:","INTRO_TASTE_CHOOSE_MIN":"Välj minst 3 kategorier","INTRO_TASTE_CHOOSE_MIN_ERR":"Du måste välja minst 3 kategorier!","INTRO_TASTE_LIFESTYLE":"Livsstil","INTRO_TASTE_SPORTS":"Sport","INTRO_TASTE_FOOD_HEALTH":"Mat & Hälsa","INTRO_TASTE_BEAUTY_FASHION":"Skönhet & Mode","INTRO_TASTE_NEWS":"Nyheter","INTRO_TASTE_GAMING":"Spel","INTRO_TASTE_SCIENCE_EDU":"Vetenskap & Utbildning","INTRO_TASTE_MUSIC":"Musik","INTRO_TASTE_TRAVEL":"Resor","INTRO_TASTE_LATE_NIGHT":"Senkvällsshow","INTRO_TASTE_REALITY":"Reality","INTRO_TASTE_COMEDY":"Komedi","INTRO_TASTE_DIY":"Gör det själv","INTRO_TASTE_TECH":"Teknik","INTRO_TASTE_CINEMA":"Film","ADDON_NOT_SUPPORTED":"Valt tillägg stöds inte på den här plattformen.","ADDON_DISCLAIMER":"Användandet av tredjeparts-tillägg kommer alltid att vara ditt eget ansvar och faller under lagstiftningen i det område du befinner dig i.","ADDON_ACTIVATE":"Aktivera detta tillägg?","ADDON_REPO_ADD":"URL för tillägsrepo","ADDON_ADD":"Lägg till","INSTALL_ADDON":"Installera tillägg","ADD_ADDON":"Lägg till tillägg","ADD_ADDON_DESCRIPTION":"Du kan lägga till ett tillägg via en extern länk, som visas under Installerade tillägg.","PASTE_ADDON_URL":"Klistra in tillägs-URL","WHATS_NEW":"Nyheter","BUTTON_CONTINUE":"Fortsätt","BUTTON_ACTIVATE":"Aktivera","BUTTON_ACTIVATED":"Aktiverad","BUTTON_CANCEL":"Avbryt","BUTTON_SUBMIT":"Bekräfta","BUTTON_DISMISS_ALL":"Avvisa alla","BUTTON_VIEW_ALL":"visa alla","BUTTON_SEE_ALL":"Se alla","BUTTON_COLOR_TRANSPARENT":"Transparent","OPEN_IN_BROWSER":"Öppna i webbläsare","LIB_EMPTY":"Ditt bibliotek ser tomt ut. Ta reda på hur användbart det kan vara :)","HOW_START":"Så här kan du börja:","LIB_EMPTY_CAL":"Din Kalender visar serier från ditt bibliotek.","HOW_START_CAL":"Så här kan du lägga till en serie:","LIB_EMPTY_BOARD":"Hem visar notifikationer &amp; rekommendationer med anknytning till ditt bibliotek.","HOW_START_BOARD_WAIT":"Lägg gärna till några serier eller kanaler till Bibliotek och ge oss några minuter att behandla dem :)","HOW_START_BOARD":"Så här kan du lägga till serier &amp; filmer till den:","IMPORT_FB":"Importera saker du tycker om från <span>Facebook</span>","IMPORT_TRAKT":"Importera ditt mediebibliotek från <span>Trakt</span>","IMPORT_DISCOVER":"Hitta intressanta saker från <span>Upptäck</span>","IMPORT_DISK":"Importera filmer eller serier som du har på din <span>lokala hårddisk</span>","PLEASE_CREATE_ACC":"Vänligen <u> skapa ett konto </u> för att aktivera synkronisering av Biblioteket &amp; Hem.","IMPORT_DISCOVER_SIGNUP":"Registrera dig och hitta intressanta saker från <span>Discover</span>","IMPORT_DISK_SIGNUP":"Registrera dig och importera filmer eller program du har på din <span>local disk</span>","LIB_EMPTY_CLOUD":"Molnbibliotek","LIB_EMPTY_CLOUD_DESC":"Personligt molnbibliotek synkroniserat på alla enheter","LIB_EMPTY_EARLY":"Tidig fågel","LIB_EMPTY_EARLY_DESC":"Få aviseringar för nya avsnitt","LIB_EMPTY_PERSONAL":"Personligt","LIB_EMPTY_PERSONAL_DESC":"Få personliga rekommendationer","LIB_EMPTY_CALENDAR_DESC":"Schemalägg din personliga tittakalender","LIB_EMPTY_ALL":"Registrera dig för att få alla dessa:","LIB_EMPTY_BEST":"Registrera dig för att få det bästa av Stremio","LIB_EMPTY_OTHER":"Registrera dig för att aktivera Kalender och andra coola funktioner","CALENDAR_ADDED":"Stremio-kalendern har lagts till i din standardskrivbordskalender.","CALENDAR_ADDED_MSG":"Om detta inte fungerar, lägg till denna URL manuellt i din kalenderapplikation","TRAKT_EXPIRED":"Trakt-autentisering har löpt ut, gå till Inställningar och autentisera på nytt","TRAKT_REQUIRES_LOGIN":"Trakt-fel","TRAKT_REQUIRES_LOGIN_MSG":"Du behöver logga in","TRAKT_IMPORT_WATCHED":"Importera","THEME":"Tema","THEME_DEFAULT":"Standard","THEME_ADAPTIVE":"Adaptiv","SETTINGS_LABEL":"Inställningar","SETTINGS_NAV_GENERAL":"Allmänt","SETTINGS_NAV_PLAYER":"Mediaspelare","SETTINGS_NAV_STREAMING":"Strömning","SETTINGS_NAV_SHORTCUTS":"Genvägar","SETTINGS_SHORTCUT_RELOAD_APP":"Ladda om appen","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Öppna Inställningar","SETTINGS_SHORTCUT_SWITCH_TABS":"Byt flikar","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Bläddra genom flikarna framåt","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Bläddra genom flikarna bakåt","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigera mellan menyer","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Gå till Sök","SETTINGS_SHORTCUT_EXIT_BACK":"Avsluta / Gå tillbaka","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Växla meny för uppspelningshastighet","SETTINGS_SHORTCUT_MENU_VIDEOS":"Växla videomeny","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Växla textningsmeny","SETTINGS_SHORTCUT_MENU_INFO":"Växla informationsmeny","SETTINGS_SHORTCUT_FULLSCREEN":"Växla helskärmsläge","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Visa kontroller","SETTINGS_SHORTCUT_PLAY_PAUSE":"Spela / Pausa","SETTINGS_SHORTCUT_VOLUME_UP":"Höj volymen","SETTINGS_SHORTCUT_VOLUME_DOWN":"Sänk volymen","SETTINGS_SHORTCUT_SEEK_NEXT":"Sök nästa","SETTINGS_SHORTCUT_SEEK_PREV":"Sök föreg","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Sök bakåt","SETTINGS_SHORTCUT_SEEK_FORWARD":"Sök framåt","SETTINGS_SHORTCUT_PLAY_NEXT":"Spela nästa","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Öka undertextstorleken","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Minska undertextstorleken","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Öka fördröjningen av undertexter","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Minska fördröjning av undertexter","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Växla sidofält","SETTINGS_SHORTCUT_OR":"eller","SETTINGS_SHORTCUT_TO":"till","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Autentisera","SETTINGS_FACEBOOK_IMPORT":"Importera","SETTINGS_CALENDAR_SUBSCRIBE":"Prenumerera","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Kalenderapp öppnades. Prenumerera på kalendern manuellt.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Kalenderfil laddades ned. Importera den till din kalenderapp.","SETTINGS_INTERFACE_LANGUAGE":"Gränssnittsspråk","SETTINGS_LAUNCH_STARTUP":"Starta vid uppstart","SETTINGS_VLC_DEFAULT":"Spela upp med VLC","SETTINGS_UI_LANGUAGE":"Gränssnittsspråk","SETTINGS_UI_ZOOM":"Gränssnittszoom","SETTINGS_FULLSCREEN_EXIT":"Escape-tangenten avslutar helskärm","SETTINGS_GAMEPAD":"Aktivera stöd för spelkontroll","SETTINGS_CLOSE_WINDOW":"Stäng appen när fönstret är stängt","SETTINGS_SUBTITLES_LANGUAGE":"Standardspråk för undertexter","SETTINGS_SUBTITLES_SIZE":"Standardstorlek för undertexter","SETTINGS_SUBTITLES_BACKGROUND":"Textningsbakgrund","SETTINGS_SUBTITLES_COLOR":"Textningsfärg","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Textningskantfärg","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Textningsbakgrundsfärg","SETTINGS_SEEK_KEY":"Söktid med piltangenter","SETTINGS_SEEK_KEY_SHIFT":"Söktid med piltangenter när Shift hålls ned","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Spolnings- och snabbframåtstid","SETTINGS_BINGE":"Spela automatiskt upp nästa avsnitt","SETTINGS_NEXT_VIDEO":"Visa avisering för att starta nästa avsnitt","SETTINGS_NEXT_VIDEO_TRIGGER":"Visa nästa avsnittsavisering för:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Popup-tid för nästa video","SETTINGS_PLAY_IN_BACKGROUND":"Spela i bakgrunden","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Spela i extern spelare","SETTINGS_RESIZE":"Anpassa fönsterstorlek automatiskt före uppspelning","SETTINGS_OVERRIDE_SERVER":"Åsidosätt webbadressen för strömningsserver (avancerat)","SETTINGS_SERVER_URL":"URL för strömningsserver: ","SETTINGS_SERVER_AVAILABLE":"Strömningsserver är tillgänglig.","SETTINGS_SERVER_UNAVAILABLE":"Strömningsserver är inte tillgänglig.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Fel","SETTINGS_SERVER_CONFIGURE_TITLE":"Konfigurera webbadress för strömningsserver","SETTINGS_SERVER_CONFIGURE_INPUT":"Ange en webbadress till en strömningsserver","SETTINGS_SERVER_CACHE_SIZE":"Cachestorlek","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent-profil","SETTINGS_HTTPS_ENDPOINT":"HTTPS-slutpunkt för strömning: ","SETTINGS_TRANSCODE_PROFILE":"Transcoderingsprofil","SETTINGS_USE_BETA":"Använd alltid senaste betaversionen","SETTINGS_IMPORT_FB":"Importera från Facebook","SETTINGS_IMPORT_DISK":"Importera från lokal hårddisk","SETTINGS_IMPORT_TRAKT":"Importera från Trakt","SETTINGS_PAUSE_MINIMIZED":"Pausa uppspelningen när den är minimerad","SETTINGS_HWDEC":"Hårdvaruaccelererad avkodning","SETTINGS_BACKGROUND":"Bakgrundsuppspelning","SETTINGS_SUBSCRIBE_CALENDAR":"Prenumerera på kalender","SETTINGS_REQ_EXPORT":"Begär dataexport","SETTINGS_ACC_DELETE":"Begär radering av konto","SETTINGS_CHANGE_PASSWORD":"Ändra lösenord","SETTINGS_TOS":"Användarvillkor","SETTINGS_SUPPORT":"Kontakta supporten","SETTING_LANGUAGE":"Språk","SETTINGS_TRAKT":"Trakt-skrobbling","SETTINGS_TRAKT_LOGOUT":"Logga ut från Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Logga ut från Trakt","SETTINGS_SCAN_FOR_REMOTE":"Skanna QR-koden för att öppna fjärrkontrollen","SETTINGS_DESKTOP_NOTIFICATIONS":"Skrivbordsaviseringar","SETTINGS_DATA_SAVER":"Datasparläge","SETTINGS_LANGUAGE_INTERFACE":"gränssnitt","SETTINGS_LANGUAGE_SUBS":"standard undertexter","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Välj ljudspår automatiskt","SETTINGS_DEFAULT_AUDIO_TRACK":"Standardljudspår","SETTINGS_SURROUND_SOUND":"Surround-ljud","SETTINGS_ACCOUNT":"konto","SETTINGS_PLATFORM":"Plattform","SETTINGS_VERSION":"version","SETTINGS_ABOUT":"Om","SETTINGS_MPV_WINDOW":"Starta mediaspelare i ett separat fönster (avancerat)","SETTINGS_PLAY_IN_EXTERNAL":"Starta alltid video i extern spelare","SETTINGS_STORAGE_BUTTON":"Rensa lokal lagring","SETTINGS_STORAGE_MODAL_TITLE":"Är du säker ?","SETTINGS_STORAGE_MODAL_MESSAGE":"Detta kommer att rensa den lokala lagringen och logga ut dig.","SETTINGS_HWDEC_PICKER":"Välj hårdvaruaccelererad avkodningsinställning","SETTINGS_HW_AUTOMATIC":"Automatisk","SETTINGS_HW_DISABLED":"Inaktiverad","SETTINGS_HW_ACCELERATED":"Avkodningsacceleration","SETTINGS_HW_FULL":"Full hårdvaruacceleration","SETTINGS_HW_LEGACY":"Föråldrad","SETTINGS_DISABLED":"Inaktiverad","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Notis om nätverksanslutning","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Fjärr-URL","SETTINGS_COPY_REMOTE_URL":"Kopiera fjärr-URL","SETTINGS_REMOTE_URL_COPIED":"Fjärr-URL har kopierats till ditt urklipp","SETTINGS_SECTION_SUBTITLES":"Undertexter","SETTINGS_SECTION_AUDIO":"Ljud","SETTINGS_SECTION_CONTROLS":"Kontroller","SETTINGS_SECTION_AUTO_PLAY":"Autouppspelning","SETTINGS_SECTION_ADVANCED":"Avancerat","SUBSPICKER_AUDIO":"Ljud","SUBSPICKER_SUBTITLES":"Tilläggsundertexter","SUBSPICKER_BLACK_BACKGROUND":"Använd svart bakgrundsfärg","SUBSPICKER_VERTICAL_OFFSET":"Vertikal offset","SUBSPICKER_SIZE":"Storlek","SUBSPICKER_DELAY":"Fördröjning","SUBSPICKER_EMBEDDED_SUBS":"Inbäddade undertexter","MOBILE_PRIVACY_POLICY":"Integritetspolicy","MOBILE_CRASH_REPORTING":"Kraschrapportering","MOBILE_ZOOM_TO_FILL":"Zooma för att fylla skärmen","MOBILE_PASSTHROUGH":"Digital ljudutgång (genomgång)","MOBILE_RUN_LOW_BATTERY":"Kör på lågt batteri","MOBILE_RUN_FOREGROUND":"Kör som förgrundstjänst","MOBILE_PERFORMANCE":"PRESTANDA & STABILITET","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"QR-koden upphör att gälla om ","MOBILE_LOG_INTO":"Logga in på ditt Stremio-konto ","MOBILE_SCAN_QR":"Skanna QR-koden ovan eller gå till ","MOBILE_LINK_ACCOUNT":"Länka konto","MOBILE_SPEEDPICKER_CANCEL":"Avbryt","MOBILE_SPEEDPICKER_LABEL":"Välj uppspelningshastighet","MOBILE_EMPTY_LIBRARY":"Ditt bibliotek är tomt","MOBILE_NO_ADDON_ACTIVE":"Inget Stremio-tillägg aktivt för denna typ.","MOBILE_ORGANIZER_WARNING":"Stremio Organizer-appen ger begränsad funktionalitet. För en lista över spelbara strömmar och den fullständiga Stremio-upplevelsen, använd Stremio på datorn.","MOBILE_ADDON_LOADING":"laddar fortfarande","MOBILE_ADDONS_LOADING":"tillägg laddas fortfarande","MOBILE_ADDON":"Tillägg","MOBILE_CONFIGURE_ADDON":"Konfigurera ditt tillägg","MOBILE_CONFIGURE_ADDON_LABEL":"Konfigurera tillägg","MOBILE_ORGANIZER_ADDONS_WARNING":"Stremio Organizer-appen tillhandahåller ett begränsat urval av tillägg. För den fullständiga Stremio-upplevelsen, använd Stremio på datorn.","MOBILE_DISCONNECT":"Koppla från","MOBILE_LOOKING_FOR_DEVICES":"Letar du efter enheter...","MOBILE_CAST_TO":"Casta till","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Radera konto","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Radering av konto sker inte omedelbart på grund av juridiska skyldigheter. Efter att ha begärt radering av ditt konto måste du använda en annan e-postadress/facebook-profil för att skapa ett nytt Stremio-konto i framtiden.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Bekräfta borttagning av konto","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Ditt konto har skapats med Facebook. För att radera ditt konto, använd vår användarportal på www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Ange ditt lösenord för att bekräfta borttagningen av kontot.","MOBILE_DELETE_ACCOUNT_BUTTON":"Radera konto","NAVIGATION_ON":"På","NAVIGATION_OFF":"Av","MARKETING_AGREE":"Jag samtycker till att ta emot marknadskommunikation från Stremio","QUIT":"Avsluta","CONNECTED":"Ansluten","AUTHENTICATE":"Autentisera","CACHING":"Cachning","SETTINGS_CACHING_DRIVE":"Inställningar för cacheenhet","ENABLE_LOCAL_FILES_ADDON":"Aktivera tillägget för lokala filer (kräver omstart","LOCAL_ADDON_NOT_ENABLED":"Lokalt tillägg är inte aktiverat. Klicka här för att gå till inställningarna och aktivera det","ENABLE_REMOTE_HTTPS_CONN":"Aktivera fjärranslutningar för HTTPS","TORRENT_PROFILE":"Torrent-profil","DATA_CACHING":"Datacaching","MAGNET_PARSING":"Tolkning av en magnetlänk","January":"Januari","February":"Februari","March":"Mars","April":"April","May":"Maj","June":"Juni","July":"Juli","August":"Augusti","September":"September","October":"Oktober","November":"November","December":"December","Monday":"Måndag","Tuesday":"Tisdag","Wednesday":"Onsdag","Thursday":"Torsdag","Friday":"Fredag","Saturday":"Lördag","Sunday":"Söndag","Action":"Action","Comedy":"Komedi","War":"Krig","Family":"Familj","Animation":"Animerat","Adventure":"Äventyr","Fantasy":"Fantasy","Crime":"Deckare","Mystery":"Mysterium","Romance":"Romantik","Drama":"Drama","Horror":"Skräck","Thriller":"Thriller","Sci-Fi":"Sci-Fi","Music":"Musik","Biography":"Biografi","Documentary":"Dokumentär","Sport":"Sport","Musical":"Musikal","Western":"Western","Film-Noir":"Film-Noir","News":"Nyheter","History":"Historia","Game-Show":"Spel-program","Reality-TV":"Reality-TV","Talk-Show":"Pratprogram","Film & Entertainment":"Film & Underhållning","Gaming":"Gaming","From TV":"Från TV","Lifestyle":"Livsstil","Science & Education":"Vetenskap & Utbildning","Cooking & Health":"Matlagning & Hälsa","Beauty & Fashion":"Skönhet & Mode","Sports":"Sport","News & Politics":"Nyheter & Politik","How-to & DIY":"Gör det själv","Tech":"Teknik","Automotive":"Fordon","Causes & Non-Profits":"Bra saker & Ideella organisationer","Movies":"Filmer","Uk Live Tv":"UK Direkt Tv","Fashion":"Mode","Business News Radio":"Nyhetsradio för företag","Business Tv":"Företags-TV","Cars & Auto":"Bilar & Fordon","Comedy Radio":"Komediradio","Lifestyle Radio":"Livsstilsradio","News Tv":"Nyheter Tv","Food And Wine":"Mat Och Vin","Latino Tv":"Latinsk Tv","Shopping Tv":"Shopping Tv","Religion":"Religion","Kids":"Barn","Body & Soul":"Kropp & Själ","Education":"Utbildning","Indian Tv":"Indisk Tv","Extreme Sports":"Extremsport","Middle Eastern Tv":"Mellanöstern Tv","Celebrity Tv":"Kändis Tv","Science Tv":"Vetenskap Tv","Bikini babe":"Bikini brud","Outdoors":"Utomhus","German Tv":"Tysk Tv","French Tv":"Fransk Tv","Italian Tv":"Italiensk Tv","Gamer Tv":"Gamer Tv","Travel":"Resor","Asian Tv":"Asiatisk Tv","Entertainment":"Underhållning","News Radio":"Nyheter Radio","Music Radio":"Musik Radio","Language Learning":"Språkinlärning","Science Radio":"Vetenskaplig Radio","Tech Radio":"Teknik Radio","Science & Technology Vod":"Vetenskap & Teknik Vod","new video":"nytt videoklipp","new episode":"nytt avsnitt","new movie":"ny film","recommended":"rekommenderad","we recommend":"vi rekommenderar","offer of the day":"dagens erbjudande","news":"nyheter","music video":"musikvideo","CTX_SHOW_HOTKEYS":"Visa snabbtangenter","CTX_DISMISS_NOTIF":"Avisa notifikationer","CTX_DISMISS_ALL":"Avfärda alla","CTX_SHARE":"Dela","CTX_COPY_SHARE_LINK":"Kopiera delningslänk","CTX_COPY_MAGNET_LINK":"Kopiera magnetlänk","CTX_COPY_STREAM_LINK":"Kopiera strömningslänk","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Kopiera länk för videonedladdning","CTX_DOWNLOAD_VIDEO":"Ladda ner den här videon","CTX_DOWNLOAD_SUBS":"Ladda ner undertexter","CTX_VIEW_ON_YOUTUBE":"Se på YouTube","CTX_SHOW":"Visa","CTX_PLAY":"Spela","CTX_PLAY_IN":"Spela i","CTX_PLAY_ON":"Spela på","CTX_WATCH_ON":"Titta på","CTX_WATCH":"Titta","CTX_WATCHED":"Sedd","CTX_WATCH_BEGINNING":"Se från början","CTX_WATCH_MOBILE":"Se på mobilen","CTX_REWIND":"Spola tillbaka till början","CTX_MARK_WATCHED":"Markera som sedd","CTX_MARK_NON_WATCHED":"Markera som osedd","CTX_MARK_UNWATCHED":"Markera som obevakad","CTX_MARK_REST":"Markera resten som bevakad","CTX_UNMARK_REST":"Markera resten som obevakad","CTX_RECEIVE_NEW_NOTIF":"Ta emot nya notifikationer","CTX_ENABLE_NEW_NOTIF":"Aktivera aviseringar","CTX_DISABLE_NEW_NOTIF":"Inaktivera aviseringar","CTX_REMOVE_CACHE":"Ta bort från cache","CTX_REMOVE_CACHE_EP":"Ta bort avsnitt från cache","CTX_OPEN_CONTAINING":"Öppna innehållande mapp","CTX_REMOVE":"Ta bort från bibliotek","CTX_AVAILABLE_OFFLINE":"Tillgänglig Offline","CTX_PAUSED":"Pausad","CTX_ALWAYS_ON_TOP":"Alltid överst","CTX_FULLSCREEN":"Fullskärm","CTX_WRONG_SUBS":"Fel undertexter?","CTX_REPORT_ISSUES":"Rapportera problem","CTX_COPY":"Kopiera","CTX_PASTE":"Klistra in","CTX_CLEAR":"Rensa","CTX_CLEAR_RECENT_SEARCHES":"Rensa senaste sökningar","HELLO_THERE":"Hejsan","HOPE_YOU_ENJOY":"Vi hoppas att ni uppskattar Stremio och det redan är ett av dina favoritprogram!","WHO_ARE_WE":"Vilka är vi? Vi är teamet bakom det - två killar som arbetat hårt varje dag under de senaste 3 åren, med ett enda mål - att göra produkten bättre och bättre.","SUPPORT_US":"Om du tycker om att använda Stremio, om Stremio är värdefullt för dig - stöd oss!","SPREAD_THE_WORD":"Dela med dina vänner nu, sprid ordet om Stremio.","MORE_PEOPLE":"Ju fler människor som använder Stremio, desto bättre kommer det att bli!","SEND_A_LINK":"Eller skicka en länk till vår hemsida","TIP_LOCALFILES":"Tips: du kan dra och släppa lokala videofiler till Stremio","ADDON_MY":"Mina tillägg","ADDON_COMMUNITY":"Community-tillägg","ADDON_OFFICIAL":"Officiella tillägg","ADDON_REPOS":"Tilläggs-repos","ADDON_SEARCH":"Sök efter tillägg","ADDON_INSTALL":"Installera","ADDON_CONFIGURE":"Konfigurera","ADDON_UNINSTALL":"Avinstallera","ADDON_UPGRADE":"Uppgradera","ADDON_INSTALLED":"Installerad","ADDON_INSTALLED_MSG":"Tillägg installerat!","ADDON_UPGRADED_MSG":"Tillägget har uppgraderats!","ADDON_UNKNOWN":"Okänt","ADDON_ERR":"Tilläggsinstallationsfel!","ADDON_DISCONNECTED":"Frånkopplat","ADDON_APP_MISSING":"appen för den här källan är inte installerad. Vill du installera den nu?","ADDON_APP_INSTALL":"Installera nu","ADDON_PAGE":"Tilläggssida","ADDON_TOP_CONTENT":"Bäst från detta tillägg","ADDON_PROVIDES":"tillhandahåller","ADDON_WATCH":"Titta på #{types} nu!","ADDON_WATCH_FREE":"Titta på #{types} GRATIS nu!","ADDON_ADDON":"Tillägg","ADDON_SUPPORTED_TYPES":"Typer som stöds","ADDON_SUPPORTED_CATALOGS":"Kataloger som stöds","ADDON_PROVIDES_DISCOVER":"Mer #{types} i Upptäck","ADDON_PROVIDES_STREAMS":"Titta på #{types}","ADDON_PROVIDES_STREAMS_FREE":"Titta på #{types} GRATIS","ADDON_PROVIDES_SUBTITLES":"Undertexter för #{types}","ADDON_CANTDETECT":"Vi kunde inte upptäcka en startat Stremio, så vi kunde inte identifiera vilka tillägg du har installerat.","ERR_NO_META":"Ingen information hittades om detta ","ERR_GETTING_META":"Det gick inte att hämta information om detta.","ERR_CANT_PARSE_MAGNET":"Kan inte tolka magnet","ERR_NO_MAGNET_INFOHASH":"Inget giltigt infohash för magnet","ERR_NO_FILE_PATH":"Det går inte att skicka förfrågan utan en sökväg till filen","ERR_NO_TORRENT":"Ingen torrent returnerad","ERR_NO_SUPPORTERD_FILES":"Inga filer som stöds hittades","ERR_OPENING_FILES":"Det gick inte att öppna externa filer","ERR_INVALID_LINK":"Ogiltig länk","ERR_REGISTERED_ONLY":"Det här alternativet är endast tillgängligt för registrerade användare.","ERR_CLIPBOARD":"Kan inte spela från urklipp","ERR_CLIPBOARD_READ":"Kan inte läsa urklippet på den här plattformen","ERR_CLIPBOARD_GENERIC":"Ingen spelbar URL hittades i urklippet. Kopiera en URL (t.ex. en magnetlänk) till en video.","BOARD_CONTINUE_WATCHING":"Fortsätt titta","BOARD_EXPLANATION_RECOMMENDATIONS":"Filmer utvalda speciellt för dig.<br />Denna film är en exempelrekommendation.","BOARD_EXPLANATION_EPISODES":"Nya avsnitt av din favoritserie kommer här.<br />Lägg till serier du följer i ditt bibliotek.","BOARD_EXPLANATION_VIDEOS":"Nya avsnitt av dina favoritkanaler kommer här.<br />Lägg till YouTube-kanaler du följer i ditt bibliotek.","WEBSITE_ENJOYED_BY":"Njuts av mer än 30 miljoner användare över hela världen","WEBSITE_STREAMING_ENHANCED":"Förbättrad streaming","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio erbjuder en säker, modern och sömlös underhållningsupplevelse. Med sitt lättanvända gränssnitt och mångsidiga innehållsbibliotek, inklusive 4K HDR-stöd, kan användare njuta av sina favoritfilmer och TV-program på alla sina enheter. Och med sitt engagemang för säkerhet är Stremio det ultimata valet för en bekymmersfri, högkvalitativ streamingupplevelse.","WEBSITE_AVAILABLE_ON":"Tillgänglig på","WEBSITE_WATCH_AND_ENJOY":"Titta och njut.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio gör det lätt som en plätt","WEBSITE_ALL_FEATURES":"Alla funktioner","WEBSITE_EASY_TO_USE":"Lätt att använda","WEBSITE_EASY_TO_USE_DETAILS":"Stremio är designad för att vara användarvänlig och lätt att använda. Med sitt rena och intuitiva gränssnitt kan du enkelt navigera och hitta det innehåll du vill titta på.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Sömlös över enheter","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Tillgänglig för ett brett utbud av plattformar (inklusive Windows, Mac, Linux, Android och fler). Stremio sparar din visningsposition över alla dina enheter. Logga bara in och fortsätt titta där du slutade, utan att behöva konfigurera appen på nytt för varje ny enhet.","WEBSITE_ALL_DOWNLOADS":"Alla nedladdningar","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"Stöd för högupplöst video","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"En integrerad videospelare som stöder de flesta videoformat, inklusive 4K HDR-innehåll, låter dig njuta av högsta möjliga kvalitet.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Varierat innehållsbibliotek","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integreras med ett stort antal populära videokällor, som Netflix, Amazon Prime Video, Hulu, YouTube och många fler.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Skapa ett gratis konto","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Skräddarsydd tittarupplevelse","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio låter dig anpassa utseendet och känslan av gränssnittet genom att ändra tema, lägga till eller ta bort tillägg och mer.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Stöd för flerspråkiga undertexter","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"Du kan nu njuta av allt favoritinnehåll på ditt föredragna språk eftersom Stremio stöder undertexter på alla språk.","WEBSITE_ALL_STREMIO_FEATURES":"Alla Stremio-funktioner","WEBSITE_TRY_STREMIO_TITLE_P1":"Prova Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"På din TV nu","WEBSITE_YOU_CAN_NOW_WATCH":"Du kan nu se alla dina favorit-TV-program på dina Android TV-enheter. Med Stremio TV-appen kan du enkelt njuta av en filmkväll.","WEBSITE_YOU_CAN_NOW_WATCH_2":"Du kan nu se alla dina favorit-TV-program på din Smart TV eller Android TV. Stremio TV-apparna gör det enkelt att njuta av en filmkväll.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio för Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Förmodligen den bästa och mest användbara appen att ha i din enhet. Det är en av apparna jag använder dagligen, särskilt på min Android TV i många år nu. Välgjort med en stark community som ger användbara funktioner. Bra gjort. Fortsätt så.","WEBSITE_REVIEWS":"recensioner","WEBSITE_GET_STREMIO_FOR_FREE":"Skaffa Stremio gratis","WEBSITE_GET_STREMIO_NOW":"Skaffa Stremio nu","WEBSITE_STREMIO_FEATURES":"Stremio-funktioner","WEBSITE_STREMIO_FEATURES_DETAILS":"Streama som ett proffs med Stremios avancerade funktioner och njut av sömlös tillgång till alla dina favoritmedia","WEBSITE_DISCOVER_MORE":"Upptäck mer.","WEBSITE_DISCOVER_MORE_DETAILS":"Få aldrig slut på saker att titta på","WEBSITE_COMMUNITY_DRIVEN":"Driven av communityn","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio har en stor och aktiv community av användare som bidrar till utvecklingen av mjukvaran genom att skapa och dela tillägg.","WEBSITE_GET_INVOLVED":"Bli involverad","WEBSITE_NEW_THEATER_EXPERIENCE":"Ny bioupplevelse","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremios nya dedikerade TV-app låter dig njuta av en filmkväll på dina Android TV-enheter.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremios nya dedikerade TV-appar låter dig njuta av en filmkväll på din Smart TV eller Android TV-enheter.","WEBSITE_FREE_AND_SECURE":"Gratis & Säker","WEBSITE_STREAMING":"Strömning","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio erbjuder oöverträffad säkerhet och integritet för användare. Med sin unika funktion att köra tillägg på distans, ger Stremio ett säkrare sätt att strömma ditt favoritinnehåll jämfört med andra plattformar. Din säkerhet och integritet är högsta prioritet, och plattformen säkerställer att all din data är skyddad.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Säg adjö till oro för säkerhet och integritet och säg hej till en värld av oändlig underhållning med Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information tillhandahållen av","WEBSITE_CONTRIBUTE":"Bidra","WEBSITE_CONTRIBUTE_DESC":"till projektet och hjälp oss att göra Stremio ännu bättre","WEBSITE_COMMUNITY_DESC":"Vi tror att det bästa sättet att skapa en verkligt fantastisk streamingupplevelse är att involvera vår community i processen. Oavsett om du är en programmerare, en artist eller bara ett fan - du kan hjälpa Stremio att växa.","WEBSITE_COMMUNITY_DESC_2":"Så gå med oss ​​idag och bli en del av Stremio-communityt och fortsätt forma framtiden för streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Sätt att engagera sig","WEBSITE_IN_THE_STREMIO_COMMUNITY":"i Stremio-communityt","WEBSITE_SHARE_YOUR_THOUGHTS":"Dela dina tankar","WEBSITE_REPORT_BUGS":"Rapportera buggar","WEBSITE_SUGGEST_FEATURES":"föreslå funktioner","WEBSITE_AND_PROVIDE_FEEDBACK":"och ge feedback på våra sociala mediekanaler.","WEBSITE_BETA_TESTING_PROGRAM":"Beta-testprogram","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Delta i vårt betatestprogram (vi skickar ut inbjudningar regelbundet) i Stremio-communityt","WEBSITE_JOIN_NOW":"Gå med nu!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Officiella Stremio-communityn","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Inofficiella Stremio-communityn","WEBSITE_BECOME":"Bli","WEBSITE_A_VOLUNTEER_TRANSLATOR":"en frivillig översättare","WEBSITE_ARE_YOU_A_DEVELOPER":"Är du en utvecklare?","WEBSITE_CONTRIBUTE_CODE":"Du kan bidra med kod till våra projekt med öppen källkod. Vi har flera projekt på GitHub som söker bidragsgivare. Om du är intresserad av att hjälpa till, kolla in dem:","WEBSITE_STREMIO_ON_GITHUB":"Stremio på GitHub","WEBSITE_CREATE_ADDON_DESC":"Skapa ett tillägg för att förbättra Stremios funktionalitet (vi har ett lättanvänt API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"Vi ger också möjligheten att gå med oss ​​som en intern utvecklare så att vi kan växa tillsammans.","WEBSITE_APPLY_AS_AN_INTERN":"Ansök som praktikant","WEBSITE_CALLING_ALL_ARTISTS":"Uppmaning till alla konstnärer!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Visa upp din kreativitet och kärlek till Stremio genom att ladda upp din fankonst till vårt onlinegalleri. Oavsett om det är en ritning, målning eller digital design vill vi se din unika syn på Stremio-varumärket. Gå med i vår gemenskap av konstentusiaster och dela ditt arbete med andra Stremio-fans runt om i världen.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio-fankonstgalleri","WEBSITE_INTERN_DESIGNER":"Bli en del av vårt team och ta din kreativitet till nya höjder med våra spännande praktikmöjligheter.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies-projekt","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"På Stremio är vi engagerade i att bevara film- och TV-historien genom att identifiera filmer och videor som är allmän egendom eller föräldralösa. Genom att arbeta tillsammans med vår community kan vi se till att dessa klassiska konstverk är tillgängliga för alla och skyddade för framtida generationer att njuta av.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Kontakta oss gärna om du vill engagera dig i det projektet.","WEBSITE_JOIN_THE_PROJECT":"Gå med i projektet","WEBSITE_BE_PART_OF_OUR_MISSION":"Bli en del av vårt uppdrag","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Intresserad av att gå med i Stremio-teamet? Vi erbjuder helt distansarbete för passionerade proffs. Kolla in våra lediga tjänster.","WEBSITE_OPEN_POSITIONS":"LEDIGA TJÄNSTER","WEBSITE_DESCRIPTION":"BESKRIVNING","WEBSITE_LEARN_MORE":"Läs mer","WEBSITE_COMPANY":"Företag","WEBSITE_CONTACTS":"Kontakter","WEBSITE_NEED_HELP":"Behöver du hjälp?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide för Stremio Web på iOS","WEBSITE_LINK_ART_V2":"Fanart-galleri","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"Titta direkt","WEBSITE_SLOGAN_ALL":"Allt videoinnehåll du tycker om på ett ställe","WEBSITE_SLOGAN_NEW":"Allt du kan titta på","WEBSITE_SLOGAN_NEW_NEW":"Frihet att streama","WEBSITE_WATCH_FROM":"Titta från","WEBSITE_DOWNLOAD":"Ladda ner nu","WEBSITE_DOWNLOAD_FOR":"Ladda ner nu för","WEBSITE_IS_DESKTOP":"Stremio är en skrivbordsapplikation, öppna denna sida på din dator och ladda ner den","WEBSITE_DESKTOP_DEMO_VID":"Skrivbordsdemo","WEBSITE_PAGE_HOME":"Hem","WEBSITE_PAGE_FEATURES":"Funktioner","WEBSITE_PAGE_ADDONS":"Tillägg","WEBSITE_PAGE_TECH":"Teknologi","WEBSITE_PAGE_CREATE_ADDON":"Skapa ett tillägg","WEBSITE_PAGE_CONTACTS":"Kontakter","WEBSITE_PAGE_BLOG":"Blogg","WEBSITE_RESET_PASSWORD_MESSAGE":"Vänligen ange ditt önskade nya lösenord nedan.","WEBSITE_RESET_PASSWORD_WARNING":"Är du säker på att du vill återställa lösenordet för ${1}?","WEBSITE_TYPE_movie":"Filmer","WEBSITE_TYPE_series_PL":"Serier","WEBSITE_TYPE_tv":"Live-TV","WEBSITE_TYPE_channel":"Kanaler","WEBSITE_STREMIO_WHAT_IS":"Stremio är en app som hjälper dig att organisera och omedelbart titta på dina favoritvideor, filmer, TV-serier och TV-kanaler.","WEBSITE_FEATURES_WATCH":"Titta direkt i HD","WEBSITE_FEATURES_WATCH_DETAIL":"Klicka och spela upp dina favoritfilmer, TV-program, videor och TV-kanaler.","WEBSITE_FEATURES_SUBS":"Automatiska undertexter","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio väljer automatiskt synkade undertexter för ditt språk.","WEBSITE_FEATURES_SUBS_LABEL":"Ditt drag, chefen.","WEBSITE_FEATURES_CAST":"Spela upp på TV:n & mobila enheter","WEBSITE_FEATURES_CAST_DETAIL":"Casta till AppleTV, Chromecast, Smart TV (DLNA/UPnP) och mobila enheter.","WEBSITE_LIB":"Njut av ditt personliga bibliotek synkroniserat på alla dina enheter","WEBSITE_LIB_COLLECT":"Samla från Stremio","WEBSITE_LIB_IMPORT":"Importera från Facebook","WEBSITE_LIB_LOCAL":"Lägg till från din lokala hårddisk","WEBSITE_BOARD":"Hem - Din samlingsplats för notifikationer och rekommendationer","WEBSITE_BOARD_RECOMMEND":"Rekommenderat TV-program","WEBSITE_BOARD_TRENDING":"Filmtrend","WEBSITE_BOARD_NEW":"Ny video","WEBSITE_BOARD_EPISODE":"Nytt avsnitt","WEBSITE_BOARD_1":"Letar du efter något intressant att titta på? Få rekommendationer baserat på din smak!","WEBSITE_BOARD_2":"Få ett meddelande när ett nytt avsnitt av ditt favoritprogram eller YouTube-kanal är ute!","WEBSITE_BOARD_YOUTUBE":"Nya videor på YouTube-kanaler","WEBSITE_BOARD_EPISODES":"Nya avsnitt av serier du följer","WEBSITE_ADDONS":"Innehållstillägg","WEBSITE_TECH_DETAIL":"Vi älskar teknologi, vi älskar galen forskning!\\nStremio använder följande öppen källkodsteknologier:","WEBSITE_TECH_WCJS":"WebChimera.js tillåter Stremio att spela upp alla videoformat med bra prestanda.","WEBSITE_TECH_WCJS_EXTRA":"Vi är huvudbidragsgivare till projektet","WEBSITE_TECH_ELECTRON":"Electron tillhandahåller en innovativ plattform att bygga Stremio med.","WEBSITE_TECH_ELECTRON_EXTRA":"Vi är bidragsgivare till projektet","WEBSITE_TECH_LINVODB":"En databasteknik som säkerställer att din data är organiserad och tillgänglig var du än loggar in.","WEBSITE_TECH_LINVODB_EXTRA":"Intern teknologi","WEBSITE_CREATE_ADDON":"Skapa ditt tillägg","WEBSITE_CREATE_ADDON_DETAIL":"Har du en tjänst som tillhandahåller videoinnehåll? Vi hjälper dig att dra nytta av Stremios funktioner genom att skapa din Addon.","WEBSITE_CREATE_ADDON_BENEFITS":"Fördelar med att skapa ett tillägg till Stremio","WEBSITE_P2P_BEAUTY":"Det sköna med strömmande via Peer-to-Peer","WEBSITE_P2P_1":"Pålitlig och prisvärd full HD / 4K-video på begäran eller livestreaming","WEBSITE_P2P_2":"Distributionsplattform som ger bra användarupplevelse","WEBSITE_P2P_3":"Vi kommer att skapa ett tillägg som möter dina specifika behov","WEBSITE_P2P_CONTACT":"Intresserad? Du är välkommen att <a href=\'mailto:office@stremio.com\'>kontakta oss</a>.","WEBSITE_P2P_CONTACT_EXTRA":"Vi hjälper dig gärna att integrera ditt innehåll med Stremio!","WEBSITE_P2P":"Nu och då kommer det en teknologi som förändrar situationen. Vi investerade massor av tid och ansträngning för att bygga vår Peer-to-Peer (P2P) strömningsmotor för video som erbjuder bra prestanda and mångsidighet att anpassa sig med alla användningsområden.\\nKontakta oss för DRM-aktiverad P2P-video on demand eller live-sändning.","WEBSITE_THOUGHTS":"Tankar som vi delar:","WEBSITE_SPREAD":"Sprid ordet om Stremio:","WEBSITE_CONTACT":"Om du vill kontakta oss, gå vidare till","WEBSITE_OPENSOURCE":"För våra projekt med öppen källod, går till vår","WEBSITE_BITCOIN":"Donera bitcoin:","WEBSITE_FAQ":"Frekvent ställda frågor","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Frågor","WEBSITE_TOS":"Användningsvillkor","WEBSITE_LEGAL":"Lagligt","WEBSITE_PAGE_ABOUT":"Om","WEBSITE_PAGE_BECOME_PARTNER":"Bli en partner","WEBSITE_ALL_YOU_CAN_WATCH":"Friheten att se\\nAllt du vill.","WEBSITE_FREEDOM_TO_STREAM":"Frihet att streama","WEBSITE_WHAT_IS_STREMIO":"Vad är stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio är en central knutpunkt för sammanställning av videomaterial. Upptäck, organisera och se på video från alla möjliga källor på vilken enhet som helst som du äger.","WEBSITE_WHAT_IS_STREMIO_P2":"Filmer, TV-program, serier, live-tv eller webbkanaler som YouTube och Twitch.tv – allt detta hittar du på Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio är ett modernt mediacenter som är en enda lösning för din videounderhållning. Du upptäcker, tittar på och organiserar videoinnehåll från tillägg som är lätta att installera.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Filmer, tv-program, live-tv eller webbkanaler - hitta allt detta på Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Njut av på alla dina mediaenheter","WEBSITE_DEVICES_COLLECT":"Hämta från Stremio","WEBSITE_DEVICES_IMPORT_FB":"Importera från facebook","WEBSITE_DEVICES_LOCAL":"Lägg till från lokal enhet","WEBSITE_JOIN_THE_PARTY_NOW":"Gå med i festen nu","WEBSITE_DEVICES_ALL":"Lätt att använda på alla dina enheter;","WEBSITE_EXTENDABLE_CATALOG":"Oändligt utbyggbar videokatalog;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Fantastiska funktioner för att organisera dina medier;","WEBSITE_AS_SEEN_ON":"Som sett på","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"Om oss","WEBSITE_LINK_TECHNOLOGY":"Teknologi","WEBSITE_LINK_APPS":"Appar","WEBSITE_LINK_DOWNLOADS":"Nedladdningar","WEBSITE_MORE":"Mer","WEBSITE_LINK_ADDONS":"Tillägg","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Bidra","WEBSITE_LINK_COMMUNITY":"Community","WEBSITE_LINK_BLOG":"Blogg","WEBSITE_MORE_MORE":"... & mer","WEBSITE_LINK_HELP":"Hjälpcenter","WEBSITE_LINK_CONTACTS":"Kontakta oss","WEBSITE_LINK_TOS":"Allmänna villkor","WEBSITE_LINK_PRAVACY":"Integritetspolicy","WEBSITE_SUBSCRIBE":"Prenumerera","WEBSITE_NEWSLETTER":"Gå med i vårt nyhetsbrev för fantastiska saker","WEBSITE_PLACEHOLDER_EMAIL":"Din e-post","WEBSITE_COMMUNITY":"Community","WEBSITE_LINK_PRAVACY_LEGAL":"Integritet & juridik","WEBSITE_WHY":"Varför vi gör det","WEBSITE_WHY_P1":"På Stremio kommer vi till jobbet varje dag för att vi vill lösa ett viktigt problem inom video-on-demand-industrin. Det publiceras så mycket nytt innehåll varje minut att det är praktiskt taget omöjligt att hitta rätt i det.","WEBSITE_WHY_P2":"Vi hjälper människor att navigera i den enorma världen av videounderhållning och upptäcka nytt innehåll att njuta av. Våra appar samlar filmer, serier, live-TV, webbkanaler och mer. Vi är dedikerade till att göra det otroligt enkelt för användare att hitta titlar och sändningar som de älskar.","WEBSITE_WHY_P3":"Du kan använda vår tjänst på vilken enhet som helst och när som helst, vilket gör Stremio till den enda underhållningscentralen för video du någonsin kommer att behöva.","WEBSITE_TEAM":"TEAM","WEBSITE_TEAM_P":"Stremio-teamet är litet men kraftfullt: mellan de tio av oss kodar vi på X språk och delar expertis inom mjukvaruutveckling, UI och UX-design, marknadsföring och reklam, samt affärsverksamhet och startups.","WEBSITE_FEATURES":"Funktioner","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Upptäck enkelt nytt innehåll","WEBSITE_FEATURES_DISCOVER_P":"Upptäck enkelt nya filmer, TV-program, serier och kanaler att titta på. Bläddra efter kategori, genre, betyg, senaste nytt, etc. eller skriv helt enkelt ett namn för att hitta. Stremio gör det enkelt att hitta nytt videoinnehåll.","WEBSITE_FEATURES_ALL_CONTENT":"Allt ditt videoinnehåll på en skärm","WEBSITE_FEATURES_ALL_CONTENT_P1":"Se vilka filmer, serier eller videor du inte har avslutat och fortsätt titta på dem; få notifikationer för nya avsnitt och släpp; och bläddra igenom rekommendationerna du får baserat på dina tittarvanor.","WEBSITE_FEATURES_LIBRARY":"Organisera ditt videobibliotek","WEBSITE_FEATURES_LIBRARY_P1":"Lägg till vilken titel som helst till ditt Stremio-bibliotek med ett enda klick och hitta rätt i ditt innehåll, prydligt ordnat efter typ, aktualitet eller alfabetisk ordning.","WEBSITE_FEATURES_CALENDAR":"Håll koll på allt du tittar på","WEBSITE_FEATURES_CALENDAR_P1":"Få en kalendervisualisering av alla filmer och serier du lägger till i ditt bibliotek. Exportera din Stremio-kalender och synkronisera den så att du alltid vet när ett nytt avsnitt eller en premiär kommer.","WEBSITE_FEATURES_BIG_SCREEN":"Njut av ditt videoinnehåll på en större skärm","WEBSITE_FEATURES_BIG_SCREEN_P1":"Casta vad du än tittar på till en annan enhet – oavsett om det är en telefon, surfplatta eller en TV med ett enda klick.","WEBSITE_FEATURES_SOURCES":"Se video från många olika källor","WEBSITE_FEATURES_SOURCES_P":"Installera officiella tillägg och community-tillägg för att njuta av video från många olika leverantörer - allt i en snygg, lättanvänd app.","WEBSITE_CREATE_AN_ADDON":"Skapa ett tillägg","WEBSITE_FEATURES_SYNC":"Synkronisera ditt bibliotek mellan olika enheter och återuppta uppspelningen","WEBSITE_FEATURES_SYNC_P1":"Logga in med ditt konto på alla dina enheter och njut av ditt bibliotek, tillägg, uppspelning och kalender synkroniserat.","WEBSITE_FEATURES_EXTENDABLE":"Utbyggbar videokatalog genom tillägg","WEBSITE_FEATURES_EXTENDABLE_P1":"Stremio-tilläggskatalogen tillhandahåller ett antal tillägg att installera och titta på en mängd olika videoinnehåll från. Detta inkluderar filmer, program, live-TV, sport, nyheter, podcaster, webbkanaler, videospel och mer.","WEBSITE_FEATURES_AUTO_SUBS":"Automatiska undertexter","WEBSITE_FEATURES_AUTO_SUBS_P1":"Med våra undertexttillägg får du automatiskt valda alternativ för ditt föredragna språk.","WEBSITE_FEATURES_CHROMECAST":"Castar till Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Njut av ditt videoinnehåll på en större skärm eller bara casta vad du tittar på till en annan enhet.","WEBSITE_FEATURES_KEEP_TRACK":"Håll koll på dina favoritprogram och webbkanaler","WEBSITE_FEATURES_KEEP_TRACK_P1":"Få en kalendervisualisering och aviseringar för nya avsnitt av dina favoritserier och webbkanaler.","WEBSITE_FEATURES_POWER_USER":"Funktioner för avancerade användare","WEBSITE_FEATURES_POWER_USER_P1":"Spela i extern spelare","WEBSITE_FEATURES_POWER_USER_P2":"Spela från en torrentfil eller magnetlänk","WEBSITE_FEATURES_POWER_USER_P3":"Importera till ditt bibliotek från Facebook-gilla-markeringar eller lokal disk","WEBSITE_ADD_ONS":"Tillägg","WEBSITE_ADD_ONS_P1":"Allt videoinnehåll Stremio tillhandahåller hämtas via ett tilläggssystem - inget innehåll eller innehållsleverantör har byggts in i appen.","WEBSITE_ADD_ONS_P2":"Det finns två grupper av tillägg tillgängliga: officiella och community-tillägg.","WEBSITE_ADD_ONS_P3":"De officiella är utvecklade och värdar av Stremio, medan community-tillägg skapas av våra community-medlemmar, som också är värdar för dem.","WEBSITE_ADDONS_OFFICIAL":"Officiella tillägg","WEBSITE_ADDONS_WATCHUB":"Strömma dina favoritfilmer, serier och program från leverantörer som iTunes, Hulu, Amazon och andra tjänster i Storbritannien/USA.","WEBSITE_ADDONS_YOUTUBE":"Titta på dina favoritkanaler på YouTube utan annonser och få aviseringar om nya uppladdningar från de bidragsgivare du följer.","WEBSITE_ADDONS_FILMON":"Titta på live-TV, filmer och interaktiv television gratis. 600 TV-kanaler, 45 000 gratisfilmer, dokumentärer och mer.","WEBSITE_ADDONS_OPENSUBTITLES":"Undertexter för filmer och serier på flera språk, tusentals översatta undertexter laddas upp varje dag.","WEBSITE_ADDONS_COMMUNITY":"Community-tillägg","WEBSITE_ADDONS_FILMON_VOD":"Titta på video på begäran från Filmon.tv","WEBSITE_ADDONS_TWICH":"Se liveströmmar från Twitch.tv - en videostreamingplattform för e-sportbranschen.","WEBSITE_ADDONS_VODO":"Se indiefilmer helt gratis.","WEBSITE_ADDONS_NETFLIX":"Se Netflix-filmer och webbserier.","WEBSITE_ADDONS_CREATE":"Skapa ett tillägg","WEBSITE_ADDONS_CREATE_P1":"Om du vill kan du utveckla ditt eget tillägg. På så sätt kan du ge dig själv och vår community tillgång till nytt videoinnehåll och nå en ny målgrupp med miljontals användare runt om i världen.","WEBSITE_ADDONS_START_CREATE":"För att komma igång, besök Stremio Addon SDK-sidan:","WEBSITE_DOWNLOADS":"Nedladdningar","WEBSITE_DOWNLOADS_P1":"För optimal prestanda rekommenderar vi att du använder den senaste tillgängliga versionen av Stremio-apparna. Om du dock av någon anledning skulle vilja använda en äldre version kan du ladda ner den här.","WEBSITE_DOWNLOADS_P1_SHORT":"För optimal prestanda rekommenderar vi att du använder den senaste tillgängliga versionen av Stremio-apparna.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio för Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio för macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio för Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio för Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio för Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio för Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio för Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio för iOS","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio för Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio för LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio för Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio för Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio för Ocolus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio för Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio för Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio för Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio för Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio för webbläsare","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Sök efter Stremio i App Store för 2019+ Samsung TV-modeller","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Sök efter Stremio i App Store för 2020+ LG TV-modeller","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Sök efter Stremio i Play Store-appen på Sony TV med Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Sök efter Stremio i Play Store-appen på Philips TV med Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Sök efter Stremio i App Store på din Xbox-enhet","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide för Stremio OS på RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Ladda ner Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service är en kompletterande app för Stremio Web. Vi rekommenderar att du använder den senaste tillgängliga versionen av Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service för Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service för macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service för Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service för Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio för Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"Fler nedladdningsalternativ","WEBSITE_DOWNLOAD_NEW":"Nytt!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"Vi har släppt Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"Vi har släppt Stremio för Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"Vi har släppt Stremio för LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"Vi har släppt Stremio för Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"Vi har släppt Stremio för Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"Stremio-plattformen är öppen källkod och du kan enkelt skapa ett tillägg för innehåll som för närvarande inte tillhandahålls.","WEBSITE_CONTRIBUTE_WHY":"Varför ska du skapa ett tillägg?","WEBSITE_CONTRIBUTE_WHY_P1":"Nå ny publik för ditt videoinnehåll","WEBSITE_CONTRIBUTE_WHY_P2":"Stremios användarbas växer snabbt - under det första året efter lanseringen hade Stremio fått 1 miljon användare runt om i världen, och under det andra året av plattformens existens växte detta antal till 2,5 miljoner.","WEBSITE_CONTRIBUTE_WHY_P3":"Med ditt tillägg kan du enkelt nå denna publik och distribuera ditt videoinnehåll till dem.","WEBSITE_CONTRIBUTE_ALL":"Se dina favoritfilmer, videor, serier och kanaler på ett enda ställe.","WEBSITE_CONTRIBUTE_ALL_P1":"Är du ett fan av en speciell typ av innehåll som ännu inte finns tillgängligt på Stremio? Skapa ett tillägg för det och njut av att titta på dina favoritvideor i en av de största och enklaste underhållningscentralerna på marknaden.","WEBSITE_CONTRIBUTE_ALL_P2":"Dessutom kommer du att få oändlig tacksamhet från andra likasinnade medlemmar i Stremio-communityt.","WEBSITE_CONTRIBUTE_MONETIZE":"Tjäna pengar på ditt tillägg och tjäna pengar med dess hjälp","WEBSITE_CONTRIBUTE_MONETIZE_P1":"När du väl utvecklat ett nytt tillägg för Stremio kan du enkelt tjäna pengar på det på ett antal olika sätt. Om du funderar på detta, hör gärna av dig till oss på ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - vi skulle gärna rådgöra och ge dig råd om alternativ för intäktsgenerering för tillägg.","WEBSITE_CONTRIBUTE_TRANSLATE":"Bli en frivillig översättare","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Om du vill njuta av Stremio-apparna på olika språk kan du gå med i vår gemenskap av frivilliga översättare. De hjälper oss att lägga till versioner av Stremio på många olika språk.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Är du sugen på att komma igång?","WEBSITE_TRANSALTE_STREMIO":"Översätt Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Officiella communityn","WEBSITE_COMMUNITY_OFFICIALS_P1":"Bli en del av den växande Stremio-communityn. Följ oss på sociala medier och var inte blyg för att säga hej - vi älskar att höra från våra fans! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Inofficiella communityn","STREMIO_COMMUNITY_NL":"Stremio Nederländerna","STREMIO_COMMUNITY_BRASIL":"Stremio Brasilien","STREMIO_COMMUNITY_GERMANY":"Stremio Tyskland","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgien","STREMIO_COMMUNITY_FRANCE":"Stremio Frankrike","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italien","STREMIO_COMMUNITY_UK":"Stremio Storbritannien","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexiko","STREMIO_COMMUNITY_ADDONS":"Stremio Tillägg","STREMIO_COMMUNITY_AWESOME":"Fantastiska Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partners och supportrar","WEBSITE_COMMUNITY_GOODIES":"Stremio-godis","WEBSITE_COMMUNITY_WALLPAPERS":"Bakgrundsbilder","WEBSITE_COMMUNITY_ART":"Communityns konstgalleri","WEBSITE_LINK_ART":"Communityns konstgalleri","WEBSITE_CONTACT_US":"Kontakta oss","WEBSITE_CONTACT_US_P1":"Om du har några frågor, kommentarer eller förslag är du välkommen att kontakta oss via kontaktformuläret nedan.","WEBSITE_CONTACT_US_P2":"Tänk på att vi finns i Bulgarien så det kan bli en fördröjning med att lösa din fråga på grund av tidszonsskillnader.","WEBSITE_CONTACT_US_SUCCESS":"Ditt meddelande har skickats. Vi återkommer till dig så fort vi kan.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Vänligen ange en giltig e-postadress!","WEBSITE_CONTACT_US_Q_RELATED_TO":"Vad är din fråga relaterad till?","WEBSITE_CONTACT_US_Q_OS":"Vad är ditt operativsystem?","WEBSITE_CONTACT_US_PH_EMAIL":"Din e-post","WEBSITE_CONTACT_US_PH_MESSAGE":"Meddelande","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"SKICKA","WEBSITE_CONTACT_US_Q_1":"Hur man installerar?","WEBSITE_CONTACT_US_Q_2":"Hur man avinstallerar?","WEBSITE_CONTACT_US_Q_3":"(HTML) Hur gör man lasagne?","WEBSITE_CONTACT_US_Q_4":"Tillägg","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Teknologi","WEBSITE_TECHNOLOGY_P1":"Vi älskar teknik och galen vetenskap. </br> Här är vad som driver Stremio (allt är öppen källkod).","WEBSITE_TECHNOLOGY_P_QT":"Plattformsoberoende mjukvaruutveckling när den är som bäst.","WEBSITE_TECHNOLOGY_P_MPV":"En gratis, öppen källkod och plattformsoberoende mediaspelare.","WEBSITE_TECHNOLOGY_P_RN":"React Native låter dig bygga mobilappar med endast JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Mediaramverk inbäddat i applikationen för att få multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm är en mobil plattform och en ersättning för SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js är en JavaScript-runtimemiljö med öppen källkod, plattformsoberoende.","WEBSITE_TECHNOLOGY_P_RUST":"Rust är ett programmeringsspråk med flera paradigmsystem fokuserat på säkerhet, särskilt säker samtidighet.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Bidra till projektet","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Det finns två sätt du kan bidra till Stremio och hjälpa oss att göra produkten ännu bättre.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Du kan donera dina värdefulla språkkunskaper genom att översätta plattformen...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"eller","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... du kan använda dina programmeringskunskaper för att skapa community-tillägg. ","WEBSITE_TRANSLATE_STREMIO":"Översätt Stremio","WEBSITE_404_OH_NO":"Hoppsan! Sidan du letar efter finns inte här...","WEBSITE_GO_HOME":"Gå hem","WEBSITE_LINK_OTHER_DOWNLOADS":"Andra nedladdningar","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Support","WEBSITE_DOWNLOAD_4_0_BETA":"Ladda ner Stremio 4 beta nu","WEBSITE_GET_FOR_DESKTOP":"Hämta för skrivbordet","WEBSITE_LINK_ADDON_COMPETITION":"Tilläggstävling","WEBSITE_LINK_ART_CONTEST":"Konsttävling","WEBSITE_MY_ACCOUNT":"Mitt konto","WEBSITE_MAINPAGE_FAQ_001_H1":"Vad är Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio är ett modernt mediacenter som ger dig friheten att se allt du vill.","WEBSITE_MAINPAGE_FAQ_002_H1":"Hur fungerar det?","WEBSITE_MAINPAGE_FAQ_002_P1":"När du väl har installerat Stremio på din enhet och skapat ett konto är allt du behöver göra att besöka tilläggskatalogen och installera vilket tillägg du vill, och du är igång!","WEBSITE_MAINPAGE_FAQ_002_P2":"Efter det kan du gå till Upptäck- eller Hem-sektionerna för att börja utforska innehåll.","WEBSITE_MAINPAGE_FAQ_003_H1":"Vad kan jag se här?","WEBSITE_MAINPAGE_FAQ_003_P1":"Mycket: filmer, tv-program, webbkanaler, sport, tv-kanaler, lyssna på podcaster och mer. Tack vare vårt tilläggssystem kan du få tillgång till en mängd olika innehåll.","WEBSITE_MAINPAGE_FAQ_004_H1":"Är Stremio öppen källkod?","WEBSITE_MAINPAGE_FAQ_004_P1":"Ja, du kan kolla följande länkar: ${1}skrivbordsapp${2} och ${3}GitHub-organisation${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Är Stremio säker?","WEBSITE_MAINPAGE_FAQ_005_P1":"Ja: eftersom det är programvara med öppen källkod är koden offentligt granskbar och du kan granska den själv.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremios tilläggssystem skapades också med användarens säkerhet i åtanke. Tilläggen kör ingen kod lokalt, så de utgör inga risker för din enhet.","WEBSITE_MAINPAGE_FAQ_006_H1":"Hur är det med min integritet?","WEBSITE_MAINPAGE_FAQ_006_P1":"Vi respekterar användarnas integritet och samlar inte in några personuppgifter utöver det absolut nödvändiga minimum för att skapa och synkronisera ditt konto.","WEBSITE_MAINPAGE_FAQ_006_P2":"Det finns också ett ${1}Gästläge${2} vid registrering, som inte kräver några data alls: i detta läge görs inga anrop till vår backend. Detta innebär dock att vissa användbara funktioner, såsom att kunna synkronisera ditt bibliotek mellan enheter, inte är tillgängliga.","WEBSITE_MAINPAGE_FAQ_007_H1":"Kan jag casta till min TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Ja, vi stöder Chromecast och du kan casta både från stationära och mobila appar (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"Hur många tillägg har Stremio?","WEBSITE_MAINPAGE_FAQ_008_P1":"I slutet av 2019, över 50 - för mer information, kolla vår tilläggskatalog.","WEBSITE_MAINPAGE_FAQ_009_H1":"Kan Stremio utökas utöver vad som finns i tilläggskatalogen?","WEBSITE_MAINPAGE_FAQ_009_P1":"Ja, du bör kolla in dessa: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"Vilka enheter stöder Stremio?","WEBSITE_MAINPAGE_FAQ_010_P1":"Vi har skrivbordsappar för Windows, Mac och Linux. För mobiler stöder vi Android och iOS, men kom ihåg att iOS är begränsad i funktionalitet (stöder inte de flesta tillägg).","WEBSITE_MAINPAGE_FAQ_010_P2":"Det finns många Android-baserade enheter som du kan köra Stremio på, som NVIDIA Shield och Amazon Fire Stick, men vi stöder dem inte officiellt.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"Vi har skrivbordsappar för Windows, Mac och Linux. Vi har även dedikerade appar för Android Mobil och Android TV. För iOS och iPadOS föreslår vi att använda Stremio Web, även om det är mer begränsat i funktionalitet.","WEBSITE_MAINPAGE_FAQ_011_H1":"Kan du lägga till visst innehåll i Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Tyvärr, vi tillhandahåller inget innehåll själva, men ju fler Stremio-tillägg du har installerat, desto mer innehåll kommer du att kunna hitta.","WEBSITE_MAINPAGE_FAQ_012_H1":"Kan Stremio spela magnetlänkar?","WEBSITE_MAINPAGE_FAQ_012_P1":"Ja, och det kan också spela vanliga HTTP-länkar och torrentfiler (dra och släpp).","WEBSITE_MAINPAGE_FAQ_013_H1":"Kan jag ladda ner en video och titta offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Tillgänglighet offline är en kommande funktion, men om du tillåter Stremio att cacha på din enhet (från inställningspanelen) kan du titta på videorna senare utan en anslutning.","WEBSITE_MAINPAGE_FAQ_014_H1":"Inget fungerar, hjälp mig!","WEBSITE_MAINPAGE_FAQ_014_P1":"Är du säker på att du har installerat tillägg? Om ja, kolla med vårt ${1}hjälpcenter${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"Hur upprätthåller Stremio sin utvecklingsverksamhet?","WEBSITE_MAINPAGE_FAQ_015_P1":"Vi visar icke-påträngande annonser då och då, men vi överväger att gå över till en donationsmodell.","WEBSITE_MAINPAGE_FAQ_015_P2":"För fler frågor, gå till vårt ${1}hjälpcenter${2}.","HELP_LEARN_MORE":"Hjälp oss att lära oss mer om dig.","LIFESTYLE":"Livsstil","SPORTS":"Sport","FOOD_HEALTH":"Mat & Hälsa","BEAUTY_FASHION":"Skönhet & Mode","NEWS":"Nyheter","GAMING":"Spel","SCIENCE_EDUCATION":"Vetenskap & Utbildning","MUSIC":"Musik","TRAVEL":"Resor","LATE_NIGHT":"Sent på natten","REALITY":"Reality","COMEDY":"Komedi","DIY":"Gör-det-själv","TECH":"Teknik","CINEMA":"Film","CONTINUE":"Fortsätt","SLOW_LOADING":"LÅNGSAM LADDNING?","I_GIVE_UP":"JAG GER UPP","LEARN_MORE":"Lär dig mer","POOR_SOURCE":"Denna källa är dåligt tillgänglig eller din internetanslutning är inte tillräckligt snabb","PICK_CATEGORIES_ERR":"Du måste välja minst 3 kategorier","ADJUST_TIMING":"Justera timing med ","ADJUST_SIZE":"Justera storlek med ","SEARCH_ANYTHING":"Du kan söka på vad som helst...","ALL_CATEGORIES":"Alla","SEARCH_CATEGORIES":"Filmer, Serier, YouTube & TV","SEARCH_PERSONS":"Skådespelare, Regissörer & Författare","SEARCH_PROTOCOLS":"HTTP- och Magnetlänkar","SEARCH_TYPES":"IMDB / TVDB-länkar","WATCHED":"Sedd","SHOW_LESS":"Visa mindre","LAST_SEARCHES":"Senaste sökningar","CLEAR_HISTORY":"Rensa historik","CHOOSE_SOME":"VÄLJ NÅGOT AV DETTA:","NO_WEB_REMOTE":"Webb-fjärrkontrollen kunde inte laddas","STREMIO_OFFLINE":"Stremio är offline","STREMIO_EXPENSIVE_CONNECTION":"Vi har upptäckt att du använder en mobil dataanslutning, vill du fortsätta?","USE_DATA":"Använd data","WARNING":"Varning","MORE_INFO":"Mer information ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Laddar ...","STREMIO_TV_BACK_TO_LANGUAGES":"Tillbaka till språk","STREMIO_TV_REMOTE":"Fjärrkontroll","STREMIO_TV_GO_TO":"Gå till:","STREMIO_TV_OR_SCAN":"eller skanna:","STREMIO_TV_ADDON_INSTRUCTIONS":"Var god följ instruktionerna för att installera dina föredragna tillägg.","STREMIO_TV_LIVE_TV":"Live TV","STREMIO_TV_RESUME_WATCHING":"Återuppta tittande","STREMIO_TV_LOADING_BACKGROUND":"Laddar bakgrund","STREMIO_TV_CHECKING_AUTHENTICATION":"Verifierar autentisering","STREMIO_TV_LOADING_BOARD":"Läser in Hem","STREMIO_TV_LOGIN_HEADER_LINE_1":"Vi vill att våra användare ska ha den bästa möjliga personliga upplevelsen med vår programvara.","STREMIO_TV_LOGIN_HEADER_LINE_2":"Av denna anledning ber vi dig att skapa och/eller logga in på ditt konto.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Tack för din förståelse,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Teamet hos Stremio","STREMIO_TV_REMOTE_INSTRUCTIONS":"För att använda Webbfjärrkontrollen med din smartphone/surfplatta/dator:","STREMIO_TV_WIFI_SETUP":"Inställning av Wi-Fi","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle har inte upptäckt en internetanslutning.","STREMIO_TV_WIFI_DETAILS_1":"Anslut till:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Använd lösenord:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Öppna en webbläsare med länken:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Standard","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"Efter senast sedda","STREMIO_TV_LIBRARY_SORT_NAME":"Efter namn","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"Efter namn fallande","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"Efter tittade gånger","STREMIO_TV_LIBRARY_SORT_WATCHED":"Efter tittat","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"Efter inte tittat","STREMIO_TV_DETAILS_SEASON_NUMBER":"Säsong ${1}","STREMIO_TV_STREAMS_LOADING":"Laddat ${1} / ${2} tillägg...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} tillägg laddar fortfarande...","STREMIO_TV_PLAYER_SETTINGS":"Spelarinställningar","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Undertextfördröjning","STREMIO_TV_PLAYER_AUDIO_DELAY":"Ljudfördröjning","STREMIO_TV_PLAYER_VIDEO_SCALING":"Videoskalning","STREMIO_TV_PLAYER_CHAPTERS":"Kapitel","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Hoppa över ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Ostödd streamskälla","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Fel vid öppning av extern länk","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Inte justerbar i ljudpassthrough-läge","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Spela med ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Spela med libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Byter till libVLC-spelare på grund av ett uppspelningsfel","STREMIO_TV_ADDONS_TITLE":"Använd Stremio på din telefon eller dator för att installera eller konfigurera tillägg och tryck på \\"Synkronisera tillägg\\"","STREMIO_TV_ADDONS_SUBTITLE":"OBS! Se till att du använder samma Stremio-konto","STREMIO_TV_ADDONS_SYNC_ADDONS":"Synkronisera tillägg","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Tillägg har synkroniserats framgångsrikt","STREMIO_TV_ADDONS_SYNC_FAILED":"Synkronisering av tillägg misslyckades","STREMIO_TV_META_LINK_FAILED":"Misslyckades med att öppna metalänk","STREMIO_TV_CATALOG_LOADING":"Katalogen laddar fortfarande...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Språkgränssnitt uppdaterat","STREMIO_TV_SETTINGS_THEME_UPDATED":"Temat uppdaterat","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Standardspelare","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Extern spelare","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Förvalt språk","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Andrahandsspråk","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelerad uppspelning","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Eventuella uppspelningsproblem på vissa enheter","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Vissa videoformat kanske inte fungerar","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Matchning av bildrutehastighet","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Inaktiverat","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Endast bildrutehastighet","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Bildrutehastighet och upplösning","STREMIO_TV_SETTINGS_NO_CACHING":"Ingen cachning","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Standard","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Mjuk","STREMIO_TV_SETTINGS_PROFILE_FAST":"Snabb","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultrasnabb","STREMIO_TV_SETTINGS_SERVER_URL":"URL till streaming-server","STREMIO_TV_SETTINGS_SERVER_VERSION":"Serverversion","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Okänd","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio-version","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Redigera server-URL","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Skriv in en URL till streaming-servern","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Visa statistik under inläsning","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"För att läsa Stremios integritetspolicy, besök:","STREMIO_TV_SETTINGS_TOS_TEXT":"För att läsa Stremios användarvillkor, besök:","STREMIO_TV_NAV_SEARCH":"Sök","STREMIO_TV_NAV_HOME":"Hem","STREMIO_TV_NAV_DISCOVER":"Upptäck","STREMIO_TV_NAV_LIBRARY":"Bibliotek","STREMIO_TV_NAV_MOVIES":"Filmer","STREMIO_TV_NAV_SERIES":"Serier","STREMIO_TV_NAV_CHANNELS":"Kanaler","STREMIO_TV_NAV_TV":"Live TV","STREMIO_TV_NAV_SETTINGS":"Inställningar","STREMIO_TV_NAV_ADDONS":"Tillägg","STREMIO_TV_LOGIN_TITLE":"Länka konto","STREMIO_TV_LOGIN_EXPIRES_IN":"Utgår om","STREMIO_TV_LOGIN_STEP_ONE":"Skanna QR-koden ovan eller gå till","STREMIO_TV_LOGIN_STEP_TWO":"Logga in på ditt Stremio-konto","STREMIO_TV_LOGIN_NEW_LINK":"Begär en ny länk","STREMIO_TV_LOGIN_LINK_REFRESHED":"Inloggningskoden uppdaterad","STREMIO_TV_SEARCH_PLACEHOLDER":"Skriv något","STREMIO_TV_SEARCH_NO_ADDONS":"Inga tillägg begärdes för kataloger!","STREMIO_TV_SEARCH_BUTTON":"Sök","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Rensa","STREMIO_TV_SEARCH_HISTORY_TITLE":"Sökhistorik","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Du kan söka efter titlar, skådespelare, kanaler och mer...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Rensa sökhistorik","STREMIO_TV_FILTERS_DESCRIPTION":"Välj ett av filtren nedan","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming-servern är offline. Kontrollera serverinställningarna.","FILTERS":"Filter","SETTINGS":"Inställningar","ACCOUNT":"Konto","LOGOUT":"Logga ut","THEMES":"Teman","PLAYBACK":"Uppspelning","PLAYBACK_SPEED":"Uppspelningshastighet","AUDIO_TRACKS":"Ljudspår","UNKNOWN_TRACK_LANG":"Okänt","VIDEOS":"Videor","SERVER":"Server","LINKS":"Länkar","ABOUT":"Om","INTERFACE":"Gränssnitt","ANIMATIONS":"Animationer","STATUS":"Status","LANGUAGE":"Språk","SIZE":"Storlek","DELAY":"Fördröjning","BOLD":"Fetstil","OPACITY":"Opacitet","TEXT_COLOR":"Textfärg","OUTLINE_COLOR":"Konturfärg","BACKGROUND_COLOR":"Bakgrundsfärg","BACKGROUND_BLUR":"Bakgrundssuddighet","SEEK_TIME_DURATION":"Söktidslängd","AUTO_PLAY":"Autouppspelning av nästa avsnitt","PLAY_NOW":"Spela nu","MARK_AS_WATCHED":"Markera som sedd","MARK_AS_UNWATCHED":"Markera som osedd","REWIND_TO_BEGINNING":"Spola till början","CONTINUE_WATCHING":"Fortsätt titta","ALL":"Alla","SECONDS":"sekunder","ON":"PÅ","OFF":"AV","RELOAD":"Ladda om","EDIT_URL":"Redigera URL","NONE":"Ingen","EMBEDDED":"Inbäddad","REMOTE_SWITCH_DEVICES":"Byt enheter","REMOTE_VIDEOS":"Videor","REMOTE_ADJUST_TIMING":"Justera timing","REMOTE_ADJUST_SIZE":"Justera storlek","REMOTE_COULD_NOT_BE_LOADED":"Webb-fjärrkontroll kunde inte laddas","REMOTE_RETRY":"Försök igen","TORRENT_PROFILE_DEFAULT":"Standard","TORRENT_PROFILE_SOFT":"Mjuk","TORRENT_PROFILE_FAST":"Snabb","TORRENT_PROFILE_ULTRA_FAST":"Ultra snabb","FAQ_001_H1":"Vad är Stremio?","FAQ_001_P1":"Stremio är en mediecentralprogramvara utformad för video-underhållning med användarvänlighet i åtanke. Stremio låter dig organisera och titta på din egen samling av filmer, serier, kanaler och live-TV.","FAQ_001_P2":"Stremio samlar in innehållet den visar dig från din lokala disk och vårt tilläggssystem.","FAQ_001_P3":"Den kommer också att meddela dig när nya avsnitt/videor/filmer som du är intresserad av kommer ut och ge dig filmrekommendationer.","FAQ_02_H1":"Hur jämför sig Stremio med Kodi och Plex?","FAQ_02_P1":"Vi är inspirerade av dessa två programvaror. Men vi har olika mål – Stremio är specifikt inriktat på underhållningsvideo och strävar efter att bli den vanliga lösningen för det genom att vara väldigt enkel att använda.","FAQ_02_P2":"Stremio kommer aldrig att vara så anpassningsbar och funktionsrik som Kodi och Plex, men det är betydligt enklare att använda. Bara ${1} skaffa det och se ${2} :)","FAQ_03_H1":"Hur jämför sig Stremio med Netflix?","FAQ_03_P1":"Återigen, Netflix är en av våra inspirationer. Vi strävar efter att uppnå användarupplevelsen av Netflix, plus en hel del extra godsaker. Men viktigast av allt, vi ger dig friheten att hantera ditt eget bibliotek och lägga till nya innehållskällor med vårt tilläggssystem.","FAQ_03_P2":"Det gör Stremio oändligt utbyggbart, så när du använder Stremio är du aldrig begränsad till innehållet som Netflix väljer att licensiera. Till exempel, genom Stremio kan du titta på innehåll från ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} och till och med ${9}Netflix${10} självt!","FAQ_04_H1":"Hur jämför sig Stremio med Flipboard?","FAQ_04_P1":"Vi får inte den frågan så ofta, förutom när vi pratar med start-up folk :)","FAQ_04_P2":"Stremio är av design en innehållsaggregator, vilket i princip gör det till Flipboard för video. Detta blir mycket tydligt i vår Hem-sektion, som ger dig kataloger och notifikationer om nya avsnitt/nya videor för det du följer, precis som Flipboard.","FAQ_05_H1":"Hur jämför sig Stremio med Popcorn Time?","FAQ_05_P1":"Stremio och Popcorn Time liknar varandra i användargränssnitt, eftersom det inte finns många sätt att göra videounderhållningskataloger rätt :)","FAQ_05_P2":"Men medan Popcorn Time fokuserar på att strömma torrents från specifika källor, är Stremio obegränsad och är bara en innehållsaggregator - den är inte låst till en specifik innehållskälla.","FAQ_05_P3":"Dessutom tillhandahåller vi inga torrent-tillägg som standard, så Stremio täcker inte Popcorn Time-användningsfallet med officiell funktionalitet.","FAQ_05_P4":"En annan anmärkningsvärd skillnad är att Popcorn Time är helt öppen källkod, medan Stremio är ${1} delvis öppen källkod${2}.","FAQ_06_H1":"Kommer du att lägga till den här filmen/serien?","FAQ_06_P1":"Nej, tyvärr :(","FAQ_06_P2":"Som nämns i de flesta andra frågorna, tillhandahåller Stremio inte något innehåll självt - allt läggs till genom tilläggssystemet. Om du har en förfrågan om innehåll kan du använda ”Rapportera”-knappen i spelaren, vilket kommer att skicka ett e-postmeddelande till utvecklaren av tillägget du för närvarande använder.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Kommer du att skapa tillägg för X?","FAQ_08_P1":"Det är fullt möjligt.","FAQ_08_P2":"Om du har en idé för ett tillägg, skicka oss ett meddelande på ${1}office@stremio.com${2}, men var vänlig och se till att din tilläggsidé inte bryter mot några upphovsrätter eller användarvillkor.","FAQ_08_P3":"För tillfället är de nästa punkterna på vår utvecklingsplan tillägg för FandangoNOW, Filmon.tv video på begäran och Crunchyroll.","FAQ_09_H1":"Använder Stremio BitTorrent?","FAQ_09_P1":"Ja, Stremio stöder BitTorrent som ett strömningsprotokoll. Du kan använda det antingen med ett torrenttillägg eller genom att dra och släppa en .torrent-fil i Stremio, eller genom att klistra in en magnetlänk i sökfältet.","FAQ_09_P2":"Observera att det enda officiella tillägget som använder BitTorrent är ${1}Vodo${2}, som tillhandahåller indieinnehåll, allt tillåtet att distribueras med BitTorrent.","FAQ_09_P3":"Vi stöder inte användningen av några tredjepartstillägg som kan möjliggöra upphovsrättsintrång.","FAQ_10_H1":"Vad kan jag titta på i Stremio med de officiella tilläggen?","FAQ_10_P1":"Som standard kan du titta på innehåll från Filmon.tv, YouTube och Vodo inom Stremio självt, med dess inbyggda spelare. Dessutom har vi ett tillägg för Twitch.tv och några andra.","FAQ_10_P2":"Detta ger tillsammans ett urval av:","FAQ_10_L1":"Populära TV-kanaler, tillhandahållna av Filmon.tv - till exempel E4, BBC, Bollyworld TV","FAQ_10_L2":"Allt från YouTube – till exempel BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indiefilmer med Vodo","FAQ_10_L4":"Online-spelsändningar med Twitch.tv","FAQ_10_P3":"Dessutom finns det många innehållskällor som tillhandahålls med Guidebox och Netflix-tilläggen, som <b>inte</b> spelas helt inuti Stremio, utan skulle omdirigera till den givna tjänsten. Till exempel skulle Guidebox-tillägget ge dig ett urval av filmer som du kan streama gratis i USA, från tjänster som TubiTV och Crackle.","FAQ_11_H1":"Stremio installeras inte, vad ska jag göra?","FAQ_11_P1":"Om du använder Windows, prova ${1}detta alternativa installationsprogram${2}.","FAQ_11_P2":"Om du använder Mac OS X, var medveten om att vi inte stöder något äldre än OS X Mavericks (10.9).","FAQ_11_P3":"Om du använder Linux, var medveten om att vi för tillfället endast stöder 64-bitars (x64) Linux.","FAQ_11_P4":"Om du fortfarande inte kan lösa ditt problem, vänligen skriv till oss i vår ${1}Facebook-grupp${2}.","FAQ_12_H1":"Varför klagar mitt antivirus? Är Stremio säkert?","FAQ_12_P1":"Vi försäkrar dig om att Stremio är ${1}100% säkert${2}.","FAQ_12_P2":"Ditt antivirusprogram klagar för att vi inkluderar annonsering i vårt installationsprogram, vilket vissa antivirusprogram uppfattar som adware.","FAQ_12_P3":"Om du fortfarande är osäker kan du prova vårt ${1}alternativa installationsprogram${2}.","FAQ_13_H1":"Hur gör jag ett tillägg?","FAQ_13_P1":"Till att börja med rekommenderar vi att du kollar vår ${1}addons-systemmodul${2} på GitHub.","FAQ_13_P2":"Därefter kan du följa ${1}Hello World-tutorialen${2}.","FAQ_13_P3":"Om du inte har några programmeringskunskaper, vänligen posta din idé på ${1}Reddit-communityt${2} och kontakta oss med din tilläggsidé på ${3}office@stremio.com${4}.","FAQ_14_H1":"Hur publiceras tillägg?","FAQ_14_P1":"När du skapar ett tillägg och värd, och lägger till ett <b>slutpunkt</b>-fält i din manifestfil, som pekar på en fungerande tilläggsadress, kommer tillägget automatiskt att publicera sig självt i vår ${1}Tilläggskatalog${2}.","FAQ_14_P2":"Detta händer eftersom serverdelen av stremio-tilläggsmodulen automatiskt gör ett anrop till vårt API för att meddela tillägget. När vårt API validerar din <b>slutpunkt</b> som ett giltigt tillägg kommer det att börja visas i katalogen.","FAQ_15_H1":"Kan jag köra Stremio i min webbläsare?","FAQ_15_P1":"Inte för tillfället, men det här kommer!","FAQ_15_P2":"Om du är nyfiken på att se en alfa kan du se den här: ${1}alpha4.strem.io${2}. Tänk på att streaming är inaktiverat på denna alfa. Vi stöder Chrome, Firefox, Opera och Edge.","FAQ_16_H1":"Casta till TV fungerar inte / undertexter fungerar inte","FAQ_16_P1":"Casting till TV använder DLNA-tekniken som är mycket inkonsekvent mellan olika TV-märken och modeller. Av den anledningen har vi inte möjlighet att testa det i alla fall, så det är långt ifrån perfekt. Trots detta arbetar vi på att förbättra det hela tiden men vi kan inte ge dig en tidsuppskattning av när DLNA kommer att börja fungera korrekt med din TV.","FAQ_16_P2":"Om du inte ens ser din TV i cast-menyn, försök att inaktivera din nätverksanslutning och återaktivera den (i Windows, högerklicka på nätverket och använd Aktivera/Inaktivera), samt starta om din router, TV och PC.","FAQ_16_P3":"Om du fortfarande stöter på problem kan du hjälpa oss genom att skicka information om ditt TV-märke och modell till ${1}office@stremio.com${2}.","FAQ_16_P4":"Under tiden rekommenderar vi Chromecast, som vi stöder mycket väl, eller helt enkelt koppla in din TV till din PC med en HDMI-kabel.","FAQ_17_H1":"Stremio fryser och/eller kraschar, vad kan jag göra?","FAQ_17_P1":"Först och främst, om du använder Windows 7 med AVG-antivirus: vi har ett problem med den kombinationen. Problemet ligger i själva AVG, och det finns inget rimligt sätt att lösa det från vår sida. Tyvärr fungerar inte undantag eller inaktivering av antivirusprogrammet. Den enda lösningen är att ersätta AVG med något annat.","FAQ_17_P2":"Om det inte är problemet, men du fortfarande använder Windows, uppdatera till det senaste Service Pack och uppdatera/installera om dina GPU-drivrutiner och försök sedan igen.","FAQ_17_P3":"Om ditt problem fortfarande inte är löst, eller om du använder en Mac eller Linux, skriv till oss och rapportera de exakta detaljerna om problemet på ${1}vår Facebook-grupp${2}.","FAQ_18_H1":"Hur gör jag ett tillägg?","FAQ_18_P1":"Till att börja med rekommenderar vi att du kollar vår ${1}addons-systemmodul${2} på GitHub.","FAQ_18_P2":"Efteråt kan du följa ${1}Hello World-tutorialen${2}.","FAQ_18_P3":"Om du inte har några programmeringskunskaper, vänligen posta din idé på ${1}Reddit-communityt${2} och kontakta oss med din tilläggsidé på ${3}office@stremio.com${4}.","FAQ_19_H1":"Varför tar Stremio diskutrymme?","FAQ_19_P1":"Stremio har en <b>lokal cache</b> för att tillfälligt behålla videofilerna du streamar.","FAQ_19_P2":"Detta har två fördelar: för det första tillåter det Stremio att förbuffra videon framåt för att säkerställa smidigare streaming. För det andra håller den videorna i den lokala cachen så att du kan fortsätta titta på dem offline.","FAQ_19_P3":"Hur mycket Stremio lagrar beror på <b>Cache</b>-inställningen i inställningspanelen. Stremio kan behålla upp till det inställda beloppet (t.ex. 2 GB) på din disk, såvida inte den för närvarande streamade videon är större än så, i vilket fall den måste tilldela tillräckligt med lagringsutrymme för att behålla den tills du streamar den.","FAQ_20_H1":"Var är cachemappen?","FAQ_20_P1":"På Windows är det stremio-cache på den enhet du valde i Inställningar (t.ex. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"På MacOS är det \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"På Linux är det \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"Jag får felmeddelandet \\"Streaming server is not found\\", vad kan jag göra?","FAQ_21_P1":"Om du får detta felmeddelande betyder det en av några saker:","FAQ_21_P2":"1) Du försöker använda ett tillägg som stöds av en YouTube/BitTorrent-källa, via vår ${1}webbversion${2}. I detta fall bör du installera vår skrivbordsversion från ${3}vår webbplats${4}.","FAQ_21_P3":"2) Något är fel med din Stremio-installation. I detta fall, försök att installera om vår senaste skrivbordsversion från ${1}webbplatsen${2}. Om detta inte hjälper, försök att inaktivera antivirusprogram och brandväggar, starta om din dator och försök igen. Om detta inte heller fungerar, vänligen skriv till oss i ${3}vår Facebook-grupp${4}.","FAQ_22_H1":"Jag kan inte se/använda de flesta tillägg på iOS","FAQ_22_P1":"På grund av begränsningar i villkoren för Apple App Store har vi begränsat iOS-applikationen till endast en viss uppsättning tillägg.","FAQ_22_P2":"Men var lugn - det kommer att finnas fler tillägg för iOS i framtiden, och vi kan även lägga till en integration som gör det möjligt för dig att använda alla Stremio-tillägg tack vare kopplingen av iOS-appen till Stremio Streaming Server."}')},49892:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"సినిమా","TYPE_series":"సిరీస్","TYPE_tv":"టీవీ ఛానల్","TYPE_channel":"ఛానల్","TYPE_other":"మరిన్ని","TYPE_movie_PL":"Movies","TYPE_series_PL":"Series","TYPE_tv_PL":"TV channels","TYPE_channel_PL":"Channels","TYPE_other_PL":"Others","TYPE_ALL":"All","TYPE":"Type","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"Video","BACK":"Back","MORE":"More","DONE":"Done","COPY":"Copy","SUCCESS":"Success","ERROR":"Error","SETTINGS_CASTING_MODE_PICKER":"Casting mode","CASTING_MODE_HLSV2":"Default","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"No transcoding","Discover":"Discover","Board":"Board","Library":"Library","My Library":"My Library","Calendar":"Calendar","NOTIFICATION_ONLINE":"You are now online","NOTIFICATION_OFFLINE":"You are currently offline","INTERNET_CONNECTION":"Network connection","STORAGE_FULL_TITLE":"Warning: Storage full!","STORAGE_FULL_TEXT":"Stremio will not be able to save your settings, preferences or login information. Consider re-starting or re-installing Stremio.","SEARCH":"search","SEARCH_NO_RESULTS":"No results were found","SEARCH_EXPLANATION_CONTENT":"Search for movies, series, YouTube and TV channels","SEARCH_EXPLANATION_PEOPLE":"Search for actors, directors and writers","SEARCH_PASTE_LINKS":"Paste HTTP and Magnet links","SEARCH_OR_PASTE_LINK":"Search or paste link","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"Add to Library","REMOVE_FROM_LIB":"Remove from Library","ADDED_TO_LIB":"Added to Library","REMOVED_FROM_LIB":"Removed from Library","TRAILER":"Trailer","WATCH_TRAILER":"Watch Trailer","WATCH_NOW":"Watch Now","SHOW":"Show","SHOW_MOVIE":"Show Movie","WATCH_RANDOM":"Watch Random","IMDB_RATING":"IMDb Rating","YEAR":"Year","DIRECTOR":"Director","WRITER":"Writer","LEAD_ACTORS":"Lead Actors","CAST":"Cast","CREW":"Crew","SHOW_MORE_CAST":"Show more »","AIRED":"Aired","SEASONS":"Seasons","GENRE":"Genre","GENRE_ALL":"All genres","CATALOG":"Catalog","SUMMARY":"Summary","SHOW_MORE":"Show More","SIMILAR":"Similar","UPCOMING":"Upcoming","ENDED":"Ended","DURATION":"Duration","FEATURED":"Featured","METADATA":"Metadata","CATEGORY":"category","LINKS_GENRES":"Genres","LINKS_CAST":"Cast","LINKS_DIRECTORS":"Directors","SEARCH_VIDEOS":"search videos","SEARCH_PLACEHOLDER":"search or paste URL","ADDON":"addon","ADDONS":"Addons","OFFICIAL":"official","ADDONS_OFFICIAL":"Official Stremio Addons","ADDONS_POPULAR":"Popular in your area","ADDON_FREE":"free","ADDON_PEERED":"peered","ADDON_SUBSCRIPTION":"subscription","ADDON_STREAM_GEORESTRICTED":"not available in your area","ADDON_STREAM_OFFLINECACHE":"Offline Cache","ADDON_STREAM_LOCALFILE":"Local File","SHARE_ADDON":"Share addon","AVAILABLE_STREAMS":"Available Streams","NO_STREAM":"No streams were found","ALL_ADDONS":"All","INSTALL_MORE_ADDONS":"For more streams, please install more addons","STREAM_NOT_SUPPORTED":"Selected stream is not supported on this platform.","ADDON_CATALOGUE":"Show all addons »","ADDON_CATALOGUE_MORE":"Install addons","REPO_ADDED":"Repository added","ADDON_REPO_EXIST_ERR":"This addons collection already exist","ADDON_REPO_ERR":"Error occurred while adding collection","ADDON_ADD_ERR":"Error occurred while adding addon","ERR_ADDON_PROTECTED":"Cannot uninstall addon, it is protected","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Something went wrong - authentication may have failed","ERR_NOT_COLLECTION_URL":"Not a collection URL","ERR_NOT_ADDON_URL":"Not a valid addon URL","ERR_DETECTFROMURL":"Cannot find addon/collection from this URL","ADDON_DUPLICATE_WARNING":"Warning: duplicated addon","ADDON_COLLECTION_SET_FAILED":"Syncing installed addons to your account failed","SETTINGS_DATA_EXPORT":"Export user data","ADDON_PULL_FAILED":"Syncing installed addons from your account failed","REFRESH_ON_CLICK":"Click to retry","STILL_IN_THEATER":"Movie still in theaters","WATCH_IN_CINEMA":"Watch it in your local cinema","IN_THEATER":"In cinema","GET_TICKETS":"Get tickets","UPCOMING_EPISODE":"Upcoming episode","UPCOMING_EPISODE_MESSAGE":"This episode will be aired on","MISSING_DATE_EPISODE":"Missing episode date","MISSING_DATE_EPISODE_MESSAGE":"This episode might not have aired yet","CHANNEL_NOT_SCRAPED":"This channel is not scraped yet.<br>Please come back in a few minutes.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Add it to your library to get notified once it is available.","GET_NOTIFIED_WHEN_AVAILABLE":"You will get notified once it is available.","WARNING_STREAMING_SERVER":"Warning: local streaming server not found. Streaming from local files, YouTube and BitTorrent will not be available.","WARNING_STREAMING_SERVER_DISMISS":"Dismiss","WARNING_STREAMING_SERVER_LATER":"Later","DECODER_WARNING":"Warning: this video may not be supported by your hardware. Keep in mind, playback may be slow.","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"Oops, Player Error","PLAYER_ERROR_LOOKSLIKE":"It looks like","PLAYER_ORIENTATION":"Player orientation","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Locked","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensor","PLAYER_ORIENTATION_LANDSCAPE":"Player orientation locked at landscape","PLAYER_ORIENTATION_SENSOR":"Player orientation automatic (sensor)","PLAYER_PLAYBACK_SPEED":"Playback Speed","PLAYER_PLAYBACK_ERROR":"Playback error, please try again","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Unknown error","PLAYER_PLAYBACK_ERROR_DEFAULT":"Sorry, this video cannot be played by {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Subtitles Languages","PLAYER_SUBTITLES_VARIANTS":"Subtitles Variants","PLAYER_SUBTITLES_SETTINGS":"Subtitles Settings","PLAYER_SUBTITLES_DISABLED":"Subtitles are disabled","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Vertical Position","PLAYER_SUBTITLES_LOADED":"Subtitles loaded","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Embedded subtitles loaded","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Exclusive subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Subtitles from {{origin}} loaded","PLAYER_PLAY":"Play","PLAYER_PAUSE":"Pause","PLAYER_NEXT_VIDEO":"Next Video","PLAYER_MUTE":"Mute","PLAYER_UNMUTE":"Unmute","PLAYER_OPEN_IN_EXTERNAL":"Open in external player","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Play in {{device}}","PLAYER_LIVE":"Live","PLAYER_NEXT_VIDEO_TITLE":"Coming up next on","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Dismiss","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Watch now","PLAYER_COPY_STREAM_SUCCESS":"Stream link was copied to your clipboard","PLAYER_COPY_STREAM_ERROR":"Failed to copy stream link","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","STREAMING_FROM":"streaming from","CASTING_TO":"Casting to","NETWORK_STATUS":"Network status","STREAM_SPEED":"Stream speed:","STREAM_BUFFERED":"Buffered:","PEERS_INFO":"Peers Information","PEERS_ACTIVE":"Active:","PEERS_CONNECTED":"Connected:","PEERS_WAITING":"Waiting:","TRANSCODING_WARNING":"Warning: transcoding video.","STREAM_LOADING":"loading...","PLAYING_LOCAL":"playing from local file","PLAYING_CACHE":"playing from cache","WRONG_SUBS":"Wrong subtitles?","ERR_SUBS_LOADING_TITLE":"Error loading subtitles","ERR_SUBS_LOADING":"Failed loading subtitles: this could be an issue with the addon you are using, or with your network connection","WARN_FOLLOWING_SUB_ADDONS_FAILED":"The following subtitle addons failed","ERR_CASTING_UPDATE_TITLE":"Could not update casting device info: streaming server might be offline","CHOOSE_DEVICE":"Choose a device to watch on","NO_CAST_DEVICES":"No casting devices available.","NO_SETTINGS":"No settings available.","PHONE_TABLET":"Phone / Tablet","SUBTITLES":"Subtitles","SUBTITLES_CHANGE":"Change subtitles for ","SUBTITLES_CHANGE_NONE":"There are no other subtitles for this language, sorry.","SUBTITLES_CHANGE_ACIVE":"Currently subtitles &#35;{{subtitlesDialog.activeIdx + 1}} are activated. Click \\"Continue\\" to activate subtitles &#35;{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Alternatively,","SUBTITLES_ADJUST_DELAY":"Adjust subtitle delay:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Or use <span>G</span> / <span>H</span> keys while playing to adjust.","SUBTITLES_ADJUST_DELAY_TIP":"TIP: you can use <span>G</span> / <span>H</span> keys while playing to adjust.","SUBTITLES_DELAY":"Subtitles delay:","SUBTITLES_LOADING":"Loading subtitles...","SUBTITLES_UNAVAILABLE":"No external subtitles available","SUBTITLES_DISABLED":"Disabled","EXTERNAL_PLAYER_DISABLED":"Disabled","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Allow Choosing","EXTERNAL_PLAYER_HINT":"Hint: There is a setting to allow always opening with external player","DONT_SHOW_AGAIN":"Don\'t show again","SERVICE_INSTALL":"Install","AUDIO":"Audio","DEFAULT_LANGUAGE":"Default Language","DEFAULT_SECONDARY_LANGUAGE":"Default Secondary Language","SEASON":"Season","EPISODE":"Episode","EPISODE_ABBREVIATION":"EP","SPECIAL":"Special","SORT":"sort","SORT_BY":"Sort by","FILTER":"filter","SORT_TRENDING":"trending","SORT_RECENT":"recent","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"rating","SORT_WATCHED":"watched","SORT_YEAR":"year","SELECT_TYPE":"Select type","SELECT_SORT":"Select sort","SELECT_CATALOG":"Select catalog","SELECT_GENRE":"Select genre","SORT_LASTWATCHED":"By last watched","SORT_NAME":"By name","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"By times watched","SORT_NOTWATCHED":"not watched","New for You":"New for You","New Episodes":"New Episodes","New Videos":"New Videos","Recommendations":"Recommendations","LIBRARY_RESUME":"Resume","LIBRARY_PLAY":"Play","LIBRARY_DETAILS":"Details","LIBRARY_RESUME_DISMISS":"Dismiss","LIBRARY_CLEAR_PROGRESS":"Clear Progress","LIBRARY_REMOVE":"Remove","LIBRARY_NOT_LOGGED_IN":"Library is only available for logged in users","CALENDAR_NOT_LOGGED_IN":"Calendar is only available for logged in users","NOT_LOGGED_IN_CLOUD":"Access your favorite movies and TV shows anytime, anywhere","NOT_LOGGED_IN_RECOMMENDATIONS":"Recommendations tailored to your viewing history","NOT_LOGGED_IN_NOTIFICATIONS":"Never miss an episode again","NOT_LOGGED_IN_CALENDAR":"Schedule your personal watching calendar","DISCOVER_FEATURED":"Featured","DISCOVER_TOP":"Top","DISCOVER_OSCAR":"Oscar Winners","DISCOVER_WARNING_TITLE":"Oops!","DISCOVER_EMPTY_CATALOG":"This addon returned empty content.","DISCOVER_ADULT_WARNING":"The content is visible only for adults. Are you 18+?","DISCOVER_NOADDON_WARNING":"Warning: no Stremio addon active for this type. Showing saved items, nothing here will update.","DISCOVER_LOAD_ERR":"The content did not load, error occured.","DISCOVER_ADDON_UNINSTALLED":"This content is no longer available, you may have un-installed the addon.","UNINSTALL_THIS_ADDON":"Uninstall this addon","ERR_ADDON_NOT_INSTALLED":"This addon is not installed. Install now?","DETAIL_RECEIVE_NOTIF_SERIES":"Receive notifications for new episodes","DETAIL_RECEIVE_NOTIF_VIDEOS":"Receive notifications for new videos","SIDEBAR_SHOW_STREAMS":"Show Streams","RELAUNCH":"Re-launch now!","UPGRADE":"New version is available! Upgrade to the latest Stremio version","RELOAD_UI":"Reload the user interface","MANUAL_UPDATE_TITLE":"Update your Stremio version","MANUAL_UPDATE_LINE1":"You are running an outdated version of Stremio which is highly unrecommended.","MANUAL_UPDATE_LINE2":"Please update as soon as possible.","BUTTON_UPDATE_LATTER":"Not now","BUTTON_UPDATE_NOW":"Update","ANONYMOUS_USER":"Anonymous user","DONT_HAVE_ACC":"Don\'t have an account?","HAVE_ACC":"Already have an account?","PASSWORD":"Password","PASSWORD_CONFIRM":"Confirm password","EMAIL":"E-mail","FB_LOGIN":"Continue with Facebook","FB_NOTHINGSHARED":"Nothing is shared without your permission","FB_NOPOST":"We won’t post anything on your behalf","OR":"or","I_ACCEPT":"I accept the","I_ACCEPT_BY_CLICKING":"By clicking the above button I testify that I accept the ","TOS":"Terms and Conditions","MUST_ACCEPT_TERMS":"You must accept terms","PASSWORDS_NOMATCH":"Passwords don\'t match","SIGN_UP":"Sign up","SIGN_UP_EMAIL":"Sign up with email","CLICK_TO_SIGN_UP":"Click here to sign up.","LOG_IN":"Log in","LOG_OUT":"Log out","EXIT_FULLSCREEN":"Exit fullscreen mode","ENTER_FULLSCREEN":"Enter fullscreen mode","PLAY_URL_MAGNET_LINK":"Play URL/Magnet link","HELP_FEEDBACK":"Help & Feedback","TERMS_OF_SERVICE":"Terms of Service","PRIVACY_POLICY":"Privacy Policy","ABOUT_STREMIO":"About Stremio","USER_PANEL":"User Panel","LOGIN_LABEL":"Login","GUEST_LOGIN":"Guest login","GUEST_LOGIN_NOTICE":"Guest Login is not recommended. Using a regular login allows Stremio to sync your Library, receive notifications for favourite series/channels. Are you sure you want to proceed?","GUEST_LOGIN_NOTICE_2":"Guest Login is not recommended - you won\'t have synced Library and Board notifications, which are vital Stremio features. Are you sure you want to proceed?","CLICK_HERE":"click here","WRONG_PASSWORD":"Wrong email or password. In case you have forgotten your password, ","SET_A_PASS":"set a password","RESET_PASSWORD":"Reset password","FORGOT_PASSWORD":"Forgot password?","EMAIL_USED_WITH_FB":"This email was used with a Facebook login.","INVALID_EMAIL":"Please enter a valid email address","INVALID_PASSWORD":"Please enter a valid password","CONN_ERR":"Connection error - please try again later.\\n\\nIf this persists, disable firewalls/anti-virus software (especially Bitdefender).","IMPORT_FROM_GUEST":"Import Library from your guest account","RECEIVE_UPDATES_EMAIL":"Receive updates to your email from Stremio","LOGIN_FAILED":"Login failed.","SIGNUP_FAILED":"Signup failed.","SEARCH_FAILED":"Search failed","EMAIL_USED":"This email is already in use.","WAITING_FB_LOGIN":"Logging in with Facebook...","EXTERNAL_PLAYER_TITLE":"Play in external player","EXTERNAL_REMEMBER_PLAYER":"Do you want to remember your choice","EXTERNAL_ALWAYS_PLAY":"Yes","EXTERNAL_ONLY_ONCE":"No","BEST_FIT":"Best Fit","FIT_SCREEN":"Fit Screen","FILL":"Fill","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"Tell us about what you like","INTRO_TASTE_LONG":"Tell us about what you\'d like to watch","INTRO_TASTE_PICK":"Pick {{interestsRemaining}} interests","INTRO_TASTE_PICK_MORE":"Pick {{interestsRemaining}} more interests","INTRO_TASTE_HELP_US":"Help us learn more about you.","INTRO_TASTE_CHOOSE_THESE":"Choose some of these:","INTRO_TASTE_CHOOSE_MIN":"Choose at least 3 categories","INTRO_TASTE_CHOOSE_MIN_ERR":"You have to pick at least 3 categories!","INTRO_TASTE_LIFESTYLE":"Lifestyle","INTRO_TASTE_SPORTS":"Sports","INTRO_TASTE_FOOD_HEALTH":"Food & Health","INTRO_TASTE_BEAUTY_FASHION":"Beauty & Fashion","INTRO_TASTE_NEWS":"News","INTRO_TASTE_GAMING":"Gaming","INTRO_TASTE_SCIENCE_EDU":"Science & Education","INTRO_TASTE_MUSIC":"Music","INTRO_TASTE_TRAVEL":"Travel","INTRO_TASTE_LATE_NIGHT":"Late Night Show","INTRO_TASTE_REALITY":"Reality","INTRO_TASTE_COMEDY":"Comedy","INTRO_TASTE_DIY":"How to DIY","INTRO_TASTE_TECH":"Tech","INTRO_TASTE_CINEMA":"Cinema","ADDON_NOT_SUPPORTED":"Selected addon is not supported on this platform.","ADDON_DISCLAIMER":"Using third-party addons will always be subject to your responsibility and the governing law of the jurisdiction you are located.","ADDON_ACTIVATE":"Activate this addon?","ADDON_REPO_ADD":"Addon collection URL","ADDON_ADD":"Add","INSTALL_ADDON":"Install addon","ADD_ADDON":"Add addon","ADD_ADDON_DESCRIPTION":"You can add an addon via an external link, which will appear under Installed addons.","PASTE_ADDON_URL":"Paste addon URL","WHATS_NEW":"What\'s new","BUTTON_CONTINUE":"Continue","BUTTON_ACTIVATE":"Activate","BUTTON_ACTIVATED":"Activated","BUTTON_CANCEL":"Cancel","BUTTON_SUBMIT":"Submit","BUTTON_DISMISS_ALL":"Dismiss All","BUTTON_VIEW_ALL":"view all","BUTTON_SEE_ALL":"See All","BUTTON_COLOR_TRANSPARENT":"Transparent","OPEN_IN_BROWSER":"Open in browser","LIB_EMPTY":"Your library looks empty. Find out how useful it is :) ","HOW_START":"Here is how you can start:","LIB_EMPTY_CAL":"Your Calendar shows series in your Library.","HOW_START_CAL":"Here is how you can add series:","LIB_EMPTY_BOARD":"Board shows notifications &amp; recommendations related to your Library.","HOW_START_BOARD_WAIT":"Please, add a few series or channels to your Library give us a few minutes to process :)","HOW_START_BOARD":"Here is how you can add series &amp; movies to it:","IMPORT_FB":"Import things you like from <span>Facebook</span>","IMPORT_TRAKT":"Import your media library from <span>Trakt</span>","IMPORT_DISCOVER":"Find interesting stuff from <span>Discover</span>","IMPORT_DISK":"Import movies or shows you have on your <span>local disk</span>","PLEASE_CREATE_ACC":"Please <u>create an account</u> to enable Library sync &amp; Board.","IMPORT_DISCOVER_SIGNUP":"Sign up and find interesting stuff from <span>Discover</span>","IMPORT_DISK_SIGNUP":"Sign up and import movies or shows you have on your <span>local disk</span>","LIB_EMPTY_CLOUD":"Cloud library","LIB_EMPTY_CLOUD_DESC":"Personal cloud library synced on all devices","LIB_EMPTY_EARLY":"Early bird","LIB_EMPTY_EARLY_DESC":"Receive notifications for new episodes","LIB_EMPTY_PERSONAL":"Personal","LIB_EMPTY_PERSONAL_DESC":"Get personal recommendations","LIB_EMPTY_CALENDAR_DESC":"Schedule your personal watching calendar","LIB_EMPTY_ALL":"Sign up to get all of these:","LIB_EMPTY_BEST":"Sign up to get best of Stremio","LIB_EMPTY_OTHER":"Sign up to enable Calendar & other cool features","CALENDAR_ADDED":"The Stremio calendar has been added to your default desktop calendar.","CALENDAR_ADDED_MSG":"If this does not work, please add this URL to your calendar application manually","TRAKT_EXPIRED":"Trakt authentication expired, please go to Settings and re-authenticate","TRAKT_REQUIRES_LOGIN":"Trakt error","TRAKT_REQUIRES_LOGIN_MSG":"You need to login","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","SETTINGS_LABEL":"Settings","SETTINGS_NAV_GENERAL":"General","SETTINGS_NAV_PLAYER":"Player","SETTINGS_NAV_STREAMING":"Streaming","SETTINGS_NAV_SHORTCUTS":"Shortcuts","SETTINGS_SHORTCUT_RELOAD_APP":"Reload App","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Open Settings","SETTINGS_SHORTCUT_SWITCH_TABS":"Switch Tabs","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Cycle Through Tabs Forward","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Cycle Through Tabs Backward","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigate Between Menus","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Go to Search","SETTINGS_SHORTCUT_EXIT_BACK":"Exit / Go Back","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Toggle Playback Speed Menu","SETTINGS_SHORTCUT_MENU_VIDEOS":"Toggle Videos Menu","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Toggle Subtitles Menu","SETTINGS_SHORTCUT_MENU_INFO":"Toggle Info Menu","SETTINGS_SHORTCUT_FULLSCREEN":"Toggle Fullscreen","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Show Controls","SETTINGS_SHORTCUT_PLAY_PAUSE":"Play / Pause","SETTINGS_SHORTCUT_VOLUME_UP":"Volume Up","SETTINGS_SHORTCUT_VOLUME_DOWN":"Volume Down","SETTINGS_SHORTCUT_SEEK_NEXT":"Seek Next","SETTINGS_SHORTCUT_SEEK_PREV":"Seek Prev","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Seek Backward","SETTINGS_SHORTCUT_SEEK_FORWARD":"Seek Forward","SETTINGS_SHORTCUT_PLAY_NEXT":"Play Next","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Increase Subtitles Size","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Decrease Subtitles Size","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Increase Subtitles Delay","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Decrease Subtitles Delay","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Toggle Sidebar","SETTINGS_SHORTCUT_OR":"or","SETTINGS_SHORTCUT_TO":"to","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Authenticate","SETTINGS_FACEBOOK_IMPORT":"Import","SETTINGS_CALENDAR_SUBSCRIBE":"Subscribe","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Interface Language","SETTINGS_LAUNCH_STARTUP":"Launch on start-up","SETTINGS_VLC_DEFAULT":"Play with VLC","SETTINGS_UI_LANGUAGE":"UI Language","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Escape key exit full screen","SETTINGS_GAMEPAD":"Enable gamepad support","SETTINGS_CLOSE_WINDOW":"Close app when window is closed","SETTINGS_SUBTITLES_LANGUAGE":"Default Subtitles Language","SETTINGS_SUBTITLES_SIZE":"Default Subtitles Size","SETTINGS_SUBTITLES_BACKGROUND":"Subtitles background","SETTINGS_SUBTITLES_COLOR":"Subtitles color","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Subtitles outline color","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Subtitles background color","SETTINGS_SEEK_KEY":"Arrow keys seek time","SETTINGS_SEEK_KEY_SHIFT":"Arrow keys seek time when Shift key is held","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Rewind & Fast-forward duration","SETTINGS_BINGE":"Auto-play next episode","SETTINGS_NEXT_VIDEO":"Show notification to start next episode","SETTINGS_NEXT_VIDEO_TRIGGER":"Show next episode notification for:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Next video popup duration","SETTINGS_PLAY_IN_BACKGROUND":"Play in background","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Play in external player","SETTINGS_RESIZE":"Auto-resize window before playing","SETTINGS_OVERRIDE_SERVER":"Override the streaming server URL (advanced)","SETTINGS_SERVER_URL":"Streaming server URL: ","SETTINGS_SERVER_AVAILABLE":"Streaming server is available.","SETTINGS_SERVER_UNAVAILABLE":"Streaming server is not available.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Error","SETTINGS_SERVER_CONFIGURE_TITLE":"Configure streaming server url","SETTINGS_SERVER_CONFIGURE_INPUT":"Enter a streaming server url","SETTINGS_SERVER_CACHE_SIZE":"Cache size","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent profile","SETTINGS_HTTPS_ENDPOINT":"Streaming HTTPS endpoint: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Always use latest Beta","SETTINGS_IMPORT_FB":"Import from Facebook","SETTINGS_IMPORT_DISK":"Import from local disk","SETTINGS_IMPORT_TRAKT":"Import from Trakt","SETTINGS_PAUSE_MINIMIZED":"Pause playback when minimized","SETTINGS_HWDEC":"Hardware-accelerated decoding","SETTINGS_BACKGROUND":"Background playback","SETTINGS_SUBSCRIBE_CALENDAR":"Subscribe to calendar","SETTINGS_REQ_EXPORT":"Request data export","SETTINGS_ACC_DELETE":"Request account deletion","SETTINGS_CHANGE_PASSWORD":"Change password","SETTINGS_TOS":"Terms of service","SETTINGS_SUPPORT":"Contact support","SETTING_LANGUAGE":"Language","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_LOGOUT":"Log out of Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Log Out of Trakt","SETTINGS_SCAN_FOR_REMOTE":"Scan QR code to open remote","SETTINGS_DESKTOP_NOTIFICATIONS":"Desktop notifications","SETTINGS_DATA_SAVER":"Data saver","SETTINGS_LANGUAGE_INTERFACE":"interface","SETTINGS_LANGUAGE_SUBS":"default subtitles","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Autoselect Audio Track","SETTINGS_DEFAULT_AUDIO_TRACK":"Default Audio Track","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"account","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"version","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"Launch player in a separate window (advanced)","SETTINGS_PLAY_IN_EXTERNAL":"Always start video in external player","SETTINGS_STORAGE_BUTTON":"Clear Local Storage","SETTINGS_STORAGE_MODAL_TITLE":"Are you sure ?","SETTINGS_STORAGE_MODAL_MESSAGE":"This will clear the local storage and log you out.","SETTINGS_HWDEC_PICKER":"Pick hardware-accelerated decoding setting","SETTINGS_HW_AUTOMATIC":"Automatic","SETTINGS_HW_DISABLED":"Disabled","SETTINGS_HW_ACCELERATED":"Decoding acceleration","SETTINGS_HW_FULL":"Full acceleration","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Subtitles","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Controls","SETTINGS_SECTION_AUTO_PLAY":"Auto-Play","SETTINGS_SECTION_ADVANCED":"Advanced","SUBSPICKER_AUDIO":"Audio","SUBSPICKER_SUBTITLES":"Addons Subtitles","SUBSPICKER_BLACK_BACKGROUND":"Use black background color","SUBSPICKER_VERTICAL_OFFSET":"Vertical Offset","SUBSPICKER_SIZE":"Size","SUBSPICKER_DELAY":"Delay","SUBSPICKER_EMBEDDED_SUBS":"Embedded Subtitles","MOBILE_PRIVACY_POLICY":"Privacy Policy","MOBILE_CRASH_REPORTING":"Crash Reporting","MOBILE_ZOOM_TO_FILL":"Zoom To Fill Screen","MOBILE_PASSTHROUGH":"Digital audio output (passthrough)","MOBILE_RUN_LOW_BATTERY":"Run on low battery","MOBILE_RUN_FOREGROUND":"Run as Foreground Service","MOBILE_PERFORMANCE":"PERFORMANCE & STABILITY","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"QR Code expires in ","MOBILE_LOG_INTO":"Log in to your Stremio account ","MOBILE_SCAN_QR":"Scan QR code above or go to ","MOBILE_LINK_ACCOUNT":"Link Account","MOBILE_SPEEDPICKER_CANCEL":"Cancel","MOBILE_SPEEDPICKER_LABEL":"Select Playback Speed","MOBILE_EMPTY_LIBRARY":"Your library is empty","MOBILE_NO_ADDON_ACTIVE":"No Stremio addon active for this type.","MOBILE_ORGANIZER_WARNING":"The Stremio Organizer app provides limited functionality. For a list of playable streams and the full Stremio experience, use Stremio on desktop.","MOBILE_ADDON_LOADING":"is still loading","MOBILE_ADDONS_LOADING":"addons are still loading","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Configure your addon","MOBILE_CONFIGURE_ADDON_LABEL":"Configure Addon","MOBILE_ORGANIZER_ADDONS_WARNING":"The Stremio Organizer app provides a limited selection of addons. For the full Stremio experience, use Stremio on desktop.","MOBILE_DISCONNECT":"Disconnect","MOBILE_LOOKING_FOR_DEVICES":"Looking for devices...","MOBILE_CAST_TO":"Cast to","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Delete Account","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Account deletion is not instant due to legal obligations. After requesting deletion of your account you will have to use different email address/facebook profile to create a new Stremio account in the future.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirm Account Deletion","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Your account has been created using Facebook. To delete your account, please use our user portal at www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Please provide your password to confirm account deletion.","MOBILE_DELETE_ACCOUNT_BUTTON":"Delete Account","NAVIGATION_ON":"On","NAVIGATION_OFF":"Off","MARKETING_AGREE":"I agree to receive marketing communications from Stremio","QUIT":"Quit","CONNECTED":"Connected","AUTHENTICATE":"Authenticate","CACHING":"Caching","SETTINGS_CACHING_DRIVE":"Caching drive","ENABLE_LOCAL_FILES_ADDON":"Enable the local files addon (requires restart)","LOCAL_ADDON_NOT_ENABLED":"Local addon is not enabled. Click here to go to the settings and enable it","ENABLE_REMOTE_HTTPS_CONN":"Enable remote HTTPS connections","TORRENT_PROFILE":"Torrent Profile","DATA_CACHING":"Data Caching","MAGNET_PARSING":"Parsing a magnet link","January":"January","February":"February","March":"March","April":"April","May":"May","June":"June","July":"July","August":"August","September":"September","October":"October","November":"November","December":"December","Monday":"Monday","Tuesday":"Tuesday","Wednesday":"Wednesday","Thursday":"Thursday","Friday":"Friday","Saturday":"Saturday","Sunday":"Sunday","Action":"Action","Comedy":"Comedy","War":"War","Family":"Family","Animation":"Animation","Adventure":"Adventure","Fantasy":"Fantasy","Crime":"Crime","Mystery":"Mystery","Romance":"Romance","Drama":"Drama","Horror":"Horror","Thriller":"Thriller","Sci-Fi":"Sci-Fi","Music":"Music","Biography":"Biography","Documentary":"Documentary","Sport":"Sport","Musical":"Musical","Western":"Western","Film-Noir":"Film-Noir","News":"News","History":"History","Game-Show":"Game-Show","Reality-TV":"Reality-TV","Talk-Show":"Talk-Show","Film & Entertainment":"Film & Entertainment","Gaming":"Gaming","From TV":"From TV","Lifestyle":"Lifestyle","Science & Education":"Science & Education","Cooking & Health":"Cooking & Health","Beauty & Fashion":"Beauty & Fashion","Sports":"Sports","News & Politics":"News & Politics","How-to & DIY":"How-to & DIY","Tech":"Tech","Automotive":"Automotive","Causes & Non-Profits":"Causes & Non-Profits","Movies":"Movies","Uk Live Tv":"Uk Live Tv","Fashion":"Fashion","Business News Radio":"Business News Radio","Business Tv":"Business Tv","Cars & Auto":"Cars & Auto","Comedy Radio":"Comedy Radio","Lifestyle Radio":"Lifestyle Radio","News Tv":"News Tv","Food And Wine":"Food And Wine","Latino Tv":"Latino Tv","Shopping Tv":"Shopping Tv","Religion":"Religion","Kids":"Kids","Body & Soul":"Body & Soul","Education":"Education","Indian Tv":"Indian Tv","Extreme Sports":"Extreme Sports","Middle Eastern Tv":"Middle Eastern Tv","Celebrity Tv":"Celebrity Tv","Science Tv":"Science Tv","Bikini babe":"Bikini babe","Outdoors":"Outdoors","German Tv":"German Tv","French Tv":"French Tv","Italian Tv":"Italian Tv","Gamer Tv":"Gamer Tv","Travel":"Travel","Asian Tv":"Asian Tv","Entertainment":"Entertainment","News Radio":"News Radio","Music Radio":"Music Radio","Language Learning":"Language Learning","Science Radio":"Science Radio","Tech Radio":"Tech Radio","Science & Technology Vod":"Science & Technology Vod","new video":"new video","new episode":"new episode","new movie":"new movie","recommended":"recommended","we recommend":"we recommend","offer of the day":"offer of the day","news":"news","music video":"music video","CTX_SHOW_HOTKEYS":"Show hotkeys","CTX_DISMISS_NOTIF":"Dismiss notifications","CTX_DISMISS_ALL":"Dismiss all","CTX_SHARE":"Share","CTX_COPY_SHARE_LINK":"Copy share link","CTX_COPY_MAGNET_LINK":"Copy magnet link","CTX_COPY_STREAM_LINK":"Copy stream link","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Download this video","CTX_DOWNLOAD_SUBS":"Download subtitles","CTX_VIEW_ON_YOUTUBE":"View on YouTube","CTX_SHOW":"Show","CTX_PLAY":"Play","CTX_PLAY_IN":"Play in","CTX_PLAY_ON":"Play on","CTX_WATCH_ON":"Watch on","CTX_WATCH":"Watch","CTX_WATCHED":"Watched","CTX_WATCH_BEGINNING":"Watch from the beginning","CTX_WATCH_MOBILE":"Watch on a mobile device","CTX_REWIND":"Rewind to beginning","CTX_MARK_WATCHED":"Mark as watched","CTX_MARK_NON_WATCHED":"Mark as non-watched","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"Mark rest as watched","CTX_UNMARK_REST":"Mark rest as non-watched","CTX_RECEIVE_NEW_NOTIF":"Receive new notifications","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"Remove from cache","CTX_REMOVE_CACHE_EP":"Remove episode from cache","CTX_OPEN_CONTAINING":"Open containing folder","CTX_REMOVE":"Remove from library","CTX_AVAILABLE_OFFLINE":"Available Offline","CTX_PAUSED":"Paused","CTX_ALWAYS_ON_TOP":"Always on top","CTX_FULLSCREEN":"Fullscreen","CTX_WRONG_SUBS":"Wrong subtitles?","CTX_REPORT_ISSUES":"Report issue","CTX_COPY":"Copy","CTX_PASTE":"Paste","CTX_CLEAR":"Clear","CTX_CLEAR_RECENT_SEARCHES":"Clear recent searches","HELLO_THERE":"Hello There","HOPE_YOU_ENJOY":"We hope you enjoy Stremio and it\'s one of your favourite apps already!","WHO_ARE_WE":"Who are we? We are the team behind it - two guys who work hard every day for the last 3 years to make this product better and better.","SUPPORT_US":"If you enjoy using Stremio, if Stremio is valuable for you - spread the word!","SPREAD_THE_WORD":"Share with your friends now, spread the word about Stremio","MORE_PEOPLE":"The more people use Stremio, the better it will get!","SEND_A_LINK":"Or send a link to our website","TIP_LOCALFILES":"Tip: you can drag & drop local video files into Stremio","ADDON_MY":"My Addons","ADDON_COMMUNITY":"Community Addons","ADDON_OFFICIAL":"Official Addons","ADDON_REPOS":"Addon collections","ADDON_SEARCH":"Search addons","ADDON_INSTALL":"Install","ADDON_CONFIGURE":"Configure","ADDON_UNINSTALL":"Uninstall","ADDON_UPGRADE":"Upgrade","ADDON_INSTALLED":"Installed","ADDON_INSTALLED_MSG":"Addon installed!","ADDON_UPGRADED_MSG":"Addon upgraded!","ADDON_UNKNOWN":"Unknown","ADDON_ERR":"Addon install error!","ADDON_DISCONNECTED":"Disconnected","ADDON_APP_MISSING":"the app for this source is not installed. Do you want to install it now?","ADDON_APP_INSTALL":"Install Now","ADDON_PAGE":"Addon Page","ADDON_TOP_CONTENT":"Best from this Addon","ADDON_PROVIDES":"This addon will give you:","ADDON_WATCH":"Watch #{types} now!","ADDON_WATCH_FREE":"Watch #{types} for FREE now!","ADDON_ADDON":"Addon","ADDON_SUPPORTED_TYPES":"Supported types","ADDON_SUPPORTED_CATALOGS":"Supported catalogs","ADDON_PROVIDES_DISCOVER":"More #{types} in Discover","ADDON_PROVIDES_STREAMS":"Watch #{types}","ADDON_PROVIDES_STREAMS_FREE":"Watch #{types} for FREE","ADDON_PROVIDES_SUBTITLES":"Subtitles for #{types}","ADDON_CANTDETECT":"We couldn\'t detect a running Stremio, so we couldn\'t detect what addons you have installed.","ERR_NO_META":"No information found about this ","ERR_GETTING_META":"Error retrieving information about this.","ERR_CANT_PARSE_MAGNET":"Unable to parse magnet","ERR_NO_MAGNET_INFOHASH":"No valid info hash for magnet","ERR_NO_FILE_PATH":"Unable to send request without a path to file","ERR_NO_TORRENT":"No torrent returned","ERR_NO_SUPPORTERD_FILES":"No supported files found","ERR_OPENING_FILES":"Could not open external files","ERR_INVALID_LINK":"Invalid link","ERR_REGISTERED_ONLY":"This option is available for registred users only.","ERR_CLIPBOARD":"Can not play from clipboard","ERR_CLIPBOARD_READ":"Can not read the clipboard on this platform","ERR_CLIPBOARD_GENERIC":"No playable URL found in the clipboard. Please copy a URL (e.g. a magnet link) to a video.","BOARD_CONTINUE_WATCHING":"Continue watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Movies picked specially for you.<br />This movie is a sample recommendation.","BOARD_EXPLANATION_EPISODES":"New episodes of your favorite Series come here.<br />Add series you follow to your Library.","BOARD_EXPLANATION_VIDEOS":"New episodes of your favorite Channels come here.<br />Add YouTube channels you follow to your Library.","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE":"Contribute","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"Learn more","WEBSITE_COMPANY":"Company","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Need Help?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"Watch Instantly","WEBSITE_SLOGAN_ALL":"All the Video Content You Enjoy in One Place","WEBSITE_SLOGAN_NEW":"All You Can Watch","WEBSITE_SLOGAN_NEW_NEW":"Freedom to Stream","WEBSITE_WATCH_FROM":"Watch from","WEBSITE_DOWNLOAD":"Download Now","WEBSITE_DOWNLOAD_FOR":"Download Now For","WEBSITE_IS_DESKTOP":"Stremio is a desktop application, open this page on your PC and download it","WEBSITE_DESKTOP_DEMO_VID":"Desktop demo","WEBSITE_PAGE_HOME":"Home","WEBSITE_PAGE_FEATURES":"Features","WEBSITE_PAGE_ADDONS":"Addons","WEBSITE_PAGE_TECH":"Technology","WEBSITE_PAGE_CREATE_ADDON":"Create Addon","WEBSITE_PAGE_CONTACTS":"Contacts","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Movies","WEBSITE_TYPE_series_PL":"Series","WEBSITE_TYPE_tv":"Live TV","WEBSITE_TYPE_channel":"Channels","WEBSITE_STREMIO_WHAT_IS":"Stremio is an app that helps you organize and instantly watch your favorite videos, movies, TV series and TV channels.","WEBSITE_FEATURES_WATCH":"Watch Instantly in HD","WEBSITE_FEATURES_WATCH_DETAIL":"Click and play your favourite movies, TV Shows, videos and TV channels.","WEBSITE_FEATURES_SUBS":"Automatic Subtitles","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio automatically picks synced subtitles for your language.","WEBSITE_FEATURES_SUBS_LABEL":"Your move, chief.","WEBSITE_FEATURES_CAST":"Play on TV & mobile devices","WEBSITE_FEATURES_CAST_DETAIL":"Cast to AppleTV, Chromecast, Smart TV (DLNA/UPnP) and mobile devices.","WEBSITE_LIB":"Enjoy Your Personal Library Synced on All Your Devices","WEBSITE_LIB_COLLECT":"Collect from Stremio","WEBSITE_LIB_IMPORT":"Import from Facebook","WEBSITE_LIB_LOCAL":"Add from your local drive","WEBSITE_BOARD":"The Board - Your one-stop place for Notifications and Recommendations","WEBSITE_BOARD_RECOMMEND":"Recommended TV Show","WEBSITE_BOARD_TRENDING":"Trending Movie","WEBSITE_BOARD_NEW":"New Video","WEBSITE_BOARD_EPISODE":"New Episode","WEBSITE_BOARD_1":"Looking for something interesting to watch? Get recommendations based on your taste!","WEBSITE_BOARD_2":"Get notified when a new episode of your favourite TV show or YouTube channel is out!","WEBSITE_BOARD_YOUTUBE":"New videos of YouTube channels","WEBSITE_BOARD_EPISODES":"New episodes of series you follow","WEBSITE_ADDONS":"Content Addons","WEBSITE_TECH_DETAIL":"We love technology, we love mad science!\\nStremio is using the following open source technologies:","WEBSITE_TECH_WCJS":"WebChimera.js allows Stremio to play any video format with good performance.","WEBSITE_TECH_WCJS_EXTRA":"We are core project contributors","WEBSITE_TECH_ELECTRON":"Electron provides an innovative platform to build Stremio with.","WEBSITE_TECH_ELECTRON_EXTRA":"We are project contributors","WEBSITE_TECH_LINVODB":"A database technology that ensures your data is organized and available anywhere you login.","WEBSITE_TECH_LINVODB_EXTRA":"In-house technology","WEBSITE_CREATE_ADDON":"Create your addon","WEBSITE_CREATE_ADDON_DETAIL":"Do you have a service providing video content? We\'ll help you benefit from Stremio\'s features by creating your Addon.","WEBSITE_CREATE_ADDON_BENEFITS":"Benefits of Creating an Addon for Stremio","WEBSITE_P2P_BEAUTY":"The Beauty of Peer-to-Peer Streaming","WEBSITE_P2P_1":"Reliable and affordable full HD / 4K video on demand or live streaming","WEBSITE_P2P_2":"Distribution platform providing great user experience","WEBSITE_P2P_3":"We will create an addon meeting your exact needs","WEBSITE_P2P_CONTACT":"Interested? You are welcome to <a href=\'mailto:office@stremio.com\'>contact us</a>.","WEBSITE_P2P_CONTACT_EXTRA":"We will be happy to help you integrate your content with Stremio!","WEBSITE_P2P":"Once in a while, there comes a technology that changes the name of the game. We invested tons of time and effort in building our Peer-to-Peer (P2P) video streaming engine that provides great performance and versatility to adapt with any use case.\\nContact us for DRM-enabled P2P video on demand or live streaming.","WEBSITE_THOUGHTS":"Thoughts we share:","WEBSITE_SPREAD":"Spread the word about Stremio:","WEBSITE_CONTACT":"Contact us, we\'ll be happy to hear from you!","WEBSITE_OPENSOURCE":"For our open source projects, go to our","WEBSITE_BITCOIN":"Donate bitcoin:","WEBSITE_FAQ":"Frequently asked questions","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Questions","WEBSITE_TOS":"Terms of use","WEBSITE_LEGAL":"Legal","WEBSITE_PAGE_ABOUT":"About","WEBSITE_PAGE_BECOME_PARTNER":"Become a partner","WEBSITE_ALL_YOU_CAN_WATCH":"Freedom To Watch\\nEverything You Want.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"What is stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio is a one-stop hub for video content aggregation. Discover, organize and watch video from all kind of sources on any device that you own.","WEBSITE_WHAT_IS_STREMIO_P2":"Movies, TV shows, series, live television or web channels like YouTube and Twitch.tv - you can find all this on Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio is a modern media center that\'s a one-stop solution for your video entertainment. You discover, watch and organize video content from easy to install addons.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Movies, TV shows, live TV or web channels - find all this on Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Enjoy on all your Media devices","WEBSITE_DEVICES_COLLECT":"Collect from Stremio","WEBSITE_DEVICES_IMPORT_FB":"Import from facebook","WEBSITE_DEVICES_LOCAL":"Add from local drive","WEBSITE_JOIN_THE_PARTY_NOW":"Join the party now","WEBSITE_DEVICES_ALL":"Easy to use on all your devices;","WEBSITE_EXTENDABLE_CATALOG":"Infinitelly extendable video catalog;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Great features to organize your media;","WEBSITE_AS_SEEN_ON":"As seen on","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"About us","WEBSITE_LINK_TECHNOLOGY":"Technology","WEBSITE_LINK_APPS":"Apps","WEBSITE_LINK_DOWNLOADS":"Downloads","WEBSITE_MORE":"More","WEBSITE_LINK_ADDONS":"Addons","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Contribute","WEBSITE_LINK_COMMUNITY":"Community","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... & More","WEBSITE_LINK_HELP":"Help center","WEBSITE_LINK_CONTACTS":"Business inquiries","WEBSITE_LINK_TOS":"Terms & conditions","WEBSITE_LINK_PRAVACY":"Privacy policy","WEBSITE_SUBSCRIBE":"Subscribe","WEBSITE_NEWSLETTER":"Join Our Newsletter for amazing stuff","WEBSITE_PLACEHOLDER_EMAIL":"Your Email","WEBSITE_COMMUNITY":"Community","WEBSITE_LINK_PRAVACY_LEGAL":"Privacy & legal","WEBSITE_WHY":"Why we do it","WEBSITE_WHY_P1":"At Stremio, we come to work every day because we want to solve an important problem for the video-on-demand industry. There’s so much new content published every minute that it’s virtually impossible to find your way around it.","WEBSITE_WHY_P2":"We help people navigate that huge world of video entertainment and discover new content to enjoy. Our apps bring together movies, series, live TV, web channels, and more. We are dedicated to making it incredibly easy for users to find titles and broadcasters that they love.","WEBSITE_WHY_P3":"You can use our service on any device and at any time, making Stremio the only video entertainment hub you’ll ever need.","WEBSITE_TEAM":"TEAM","WEBSITE_TEAM_P":"The Stremio team is small but powerful: between the ten of us, we code in X languages, and share expertise in software development, UI and UX design, marketing and advertising, and business and startups.","WEBSITE_FEATURES":"Features","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Discover new content with ease","WEBSITE_FEATURES_DISCOVER_P":"Easily discover new movies, TV shows, series and channels to watch. Browse by category, genre, rating, recency, etc. or simply type a name to find. Stremio makes finding new video content a piece of cake.","WEBSITE_FEATURES_ALL_CONTENT":"All of your video content on one screen","WEBSITE_FEATURES_ALL_CONTENT_P1":"See what movies, series or videos you didn’t finish and continue watching them; get notified for new episodes and releases; and browse through the recommendations you will get based on your viewing habits.","WEBSITE_FEATURES_LIBRARY":"Organize your video library","WEBSITE_FEATURES_LIBRARY_P1":"Add any title to your Stremio library with a single click and find your way around your content, neatly arranged by type, recency, or alphabetical order.","WEBSITE_FEATURES_CALENDAR":"Keep track of everything you watch","WEBSITE_FEATURES_CALENDAR_P1":"Get a calendar visualization of all the movies and series you add to your library. Export your Stremio calendar and sync it so you always know when a new episode or a premier is due.","WEBSITE_FEATURES_BIG_SCREEN":"Enjoy your video content on a bigger screen","WEBSITE_FEATURES_BIG_SCREEN_P1":"Cast whatever you are watching to another device - be it a phone, tablet or a TV with a single click.","WEBSITE_FEATURES_SOURCES":"Watch video from many different sources","WEBSITE_FEATURES_SOURCES_P":"Install official and community addons to enjoy video sourced from many different providers - all in one sleek, easy to use app.","WEBSITE_CREATE_AN_ADDON":"Create an addon","WEBSITE_FEATURES_SYNC":"Sync your library across different devices and resume your playback","WEBSITE_FEATURES_SYNC_P1":"Login with your account across all your devices and enjoy your library, addons, playback and calendar synchronized.","WEBSITE_FEATURES_EXTENDABLE":"Extendable video catalog by addons","WEBSITE_FEATURES_EXTENDABLE_P1":"The Stremio addon catalog provides a number of addons to install and watch a variety of video content from. This includes movies, shows, live TV, sport, news, podcasts, web channels, video games and more.","WEBSITE_FEATURES_AUTO_SUBS":"Automatic subtitles","WEBSITE_FEATURES_AUTO_SUBS_P1":"With our subtitle addons you get automatically selected options for your preferred language.","WEBSITE_FEATURES_CHROMECAST":"Casting to Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Enjoy your video content on a bigger screen or just cast whatever you are watching to another device.","WEBSITE_FEATURES_KEEP_TRACK":"Keep track of your favorite TV shows and Web channels","WEBSITE_FEATURES_KEEP_TRACK_P1":"Get a calendar visualization and notifications for new episodes of your favorite series and web channels.","WEBSITE_FEATURES_POWER_USER":"Power user features","WEBSITE_FEATURES_POWER_USER_P1":"Play in external player","WEBSITE_FEATURES_POWER_USER_P2":"Play from a torrent file or magnet link","WEBSITE_FEATURES_POWER_USER_P3":"Import to your library from Facebook likes or local disk","WEBSITE_ADD_ONS":"Addons","WEBSITE_ADD_ONS_P1":"All of the video content Stremio provides get sourced through an addon system - no content or content provider has been built into the app.","WEBSITE_ADD_ONS_P2":"There are two groups of addons available: official and community addons.","WEBSITE_ADD_ONS_P3":"The official ones are developed and hosted by Stremio, whereas community addons are created by our community members, who also host them.","WEBSITE_ADDONS_OFFICIAL":"Official addons","WEBSITE_ADDONS_WATCHUB":"Stream your favourite movies, series and shows from providers like iTunes, Hulu, Amazon and other UK/US services.","WEBSITE_ADDONS_YOUTUBE":"Watch your favourite YouTube channels ad-free and get notifications for new uploads from the contributors you follow.","WEBSITE_ADDONS_FILMON":"Watch live TV, movies and social television for free. 600 TV channels, 45,000 free movies, documentaries and more.","WEBSITE_ADDONS_OPENSUBTITLES":"Movie and TV subtitles in multiple languages, thousands of translated subtitles uploaded every day.","WEBSITE_ADDONS_COMMUNITY":"Community addons","WEBSITE_ADDONS_FILMON_VOD":"Watch video on demand from Filmon.tv","WEBSITE_ADDONS_TWICH":"Watch live streams from Twitch.tv - a video streaming platform for the e-sports industry.","WEBSITE_ADDONS_VODO":"Watch indie movies absolutely free of charge.","WEBSITE_ADDONS_NETFLIX":"Watch Netflix movies and web series.","WEBSITE_ADDONS_CREATE":"Create an addon","WEBSITE_ADDONS_CREATE_P1":"If you wish, you can develop your own addon. This way, you can give yourself and our community access to new video content, and reach a new, targeted audience of millions of users around the world.","WEBSITE_ADDONS_START_CREATE":"To get started, visit the Stremio Addon SDK page:","WEBSITE_DOWNLOADS":"Downloads","WEBSITE_DOWNLOADS_P1":"For optimal performance, we recommend that you use the latest available version of the Stremio apps. If for some reason, however, you would like to use an older version, you can download it here.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio for Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio for macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio for Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio for Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio for iOS (limited version)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"The Stremio platform is open source and you can easily create an addon for content that is currently not sourced.","WEBSITE_CONTRIBUTE_WHY":"Why should you create an addon?","WEBSITE_CONTRIBUTE_WHY_P1":"Reach new audience for your video content","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio’s user base is growing rapidly - within the first year of the launch, Stremio had gained 1 million users around the world, and in the second year of the platform’s existence this number grew to 2.5 million.","WEBSITE_CONTRIBUTE_WHY_P3":"With your addon, you can easily reach this audience and distribute your video content to them.","WEBSITE_CONTRIBUTE_ALL":"Watch your favourite movies, videos, series and channels in one single place.","WEBSITE_CONTRIBUTE_ALL_P1":"You’re a fan of a particular type of content not available on Stremio yet? Create an addon for it and enjoy watching your favourite videos in one of the largest and easiest to use entertainment hubs on the market.","WEBSITE_CONTRIBUTE_ALL_P2":"On top of that, you’ll get the endless gratitude of other like-minded Stremio community members.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetize your addon and earn money with its help","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Once you develop a new addon for Stremio, you can easily monetize it through a number of different ways. If you are considering this, feel free to get in touch with us at ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - we would be happy to consult and advise you about addon monetization options.","WEBSITE_CONTRIBUTE_TRANSLATE":"Become a volunteer translator","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"If you want to enjoy the Stremio apps in different languages, you can join our community of volunteer translators. They help us add versions of the Stremio in many different languages.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Are you eager to get started?","WEBSITE_TRANSALTE_STREMIO":"Translate Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Official communities","WEBSITE_COMMUNITY_OFFICIALS_P1":"Become a part of the growing Stremio community. Follow us on social media and don’t be shy to say hello - we love hearing from our fans! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Unofficial communities","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partners and supporters","WEBSITE_COMMUNITY_GOODIES":"Stremio goodies","WEBSITE_COMMUNITY_WALLPAPERS":"Wallpapers","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"Contact us","WEBSITE_CONTACT_US_P1":"If you have any questions, comments or suggestions, feel free to get in touch with us through the contact form below.","WEBSITE_CONTACT_US_P2":"Keep in mind that we are located in Bulgaria so there may be a delay in addressing your query due to time zone differences.","WEBSITE_CONTACT_US_SUCCESS":"Your message has been sent. We will get back to you at our earliest convenience.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Please enter a valid email!","WEBSITE_CONTACT_US_Q_RELATED_TO":"What is your question related to?","WEBSITE_CONTACT_US_Q_OS":"What is your Operation System?","WEBSITE_CONTACT_US_PH_EMAIL":"Your E-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Message","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"SEND","WEBSITE_CONTACT_US_Q_1":"How to install?","WEBSITE_CONTACT_US_Q_2":"How to uninstall?","WEBSITE_CONTACT_US_Q_3":"(HTML) How to make lasagna?","WEBSITE_CONTACT_US_Q_4":"Addons","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Technology","WEBSITE_TECHNOLOGY_P1":"We love technology and mad science. </br> Here is what powers Stremio (it’s all open-source).","WEBSITE_TECHNOLOGY_P_QT":"Cross-platform software development at its best.","WEBSITE_TECHNOLOGY_P_MPV":"A free, open source, and cross-platform media player.","WEBSITE_TECHNOLOGY_P_RN":"React Native lets you build mobile apps using only JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework embedded into application to get multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm is a mobile platform and a replacement for SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js is an open-source, cross-platform, JavaScript runtime environment.","WEBSITE_TECHNOLOGY_P_RUST":"Rust is a multi-paradigm system programming language focused on safety, especially safe concurrency.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribute to the project","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"There are two ways you can contribute to Stremio and help us make the product even better.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"You can donate your valuable language skills by translating the platform...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"or","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... you can employ your coding skills for creating community addons. ","WEBSITE_TRANSLATE_STREMIO":"Translate Stremio","WEBSITE_404_OH_NO":"Uh-oh! The page you’re looking for is not here...","WEBSITE_GO_HOME":"Go home","WEBSITE_LINK_OTHER_DOWNLOADS":"Other downloads","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Support","WEBSITE_DOWNLOAD_4_0_BETA":"Download Stremio 4 beta Now","WEBSITE_GET_FOR_DESKTOP":"Get for desktop","WEBSITE_LINK_ADDON_COMPETITION":"Addon competition","WEBSITE_LINK_ART_CONTEST":"Art contest","WEBSITE_MY_ACCOUNT":"My account","WEBSITE_MAINPAGE_FAQ_001_H1":"What is Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio is a modern media center that gives you the freedom to watch everything you want.","WEBSITE_MAINPAGE_FAQ_002_H1":"How does it work?","WEBSITE_MAINPAGE_FAQ_002_P1":"Once you install Stremio on your device and create an account, all you have to do is to visit the addon catalog and install any addon you want, and you\'re good to go!","WEBSITE_MAINPAGE_FAQ_002_P2":"After that, you can go to the Discover or Board sections to start exploring content.","WEBSITE_MAINPAGE_FAQ_003_H1":"What can I watch here?","WEBSITE_MAINPAGE_FAQ_003_P1":"A lot: Movies, TV shows, Web channels, Sport, TV channels, listen to Podcasts and more. Thanks to our addon system, you can access a variety of content.","WEBSITE_MAINPAGE_FAQ_004_H1":"Is Stremio open-source?","WEBSITE_MAINPAGE_FAQ_004_P1":"Yes, you can check the following links: ${1}desktop app${2} and ${3}GitHub organization${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Is Stremio safe?","WEBSITE_MAINPAGE_FAQ_005_P1":"Yes: because it is open-source software, the code is publically auditable and you can review it yourself.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"How about my privacy?","WEBSITE_MAINPAGE_FAQ_006_P1":"We respect users\' privacy and do not collect any personal data besides the essential minimum to create and sync your account.","WEBSITE_MAINPAGE_FAQ_006_P2":"There is also a ${1}Guest mode${2} at signup, which requires no data whatsoever: in this mode, no calls are made to our backend. However, it comes at the expense of useful features, such as being able to sync your library across devices.","WEBSITE_MAINPAGE_FAQ_007_H1":"Can I cast to my TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Yes, we support Chromecast and you can cast both from desktop and mobile apps (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"How many addons does Stremio have?","WEBSITE_MAINPAGE_FAQ_008_P1":"As of late 2019, over 50 - for more information, check our addon catalog.","WEBSITE_MAINPAGE_FAQ_009_H1":"Can Stremio be extended beyond what\'s in the addon catalog?","WEBSITE_MAINPAGE_FAQ_009_P1":"Yes, you should check those: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"What devices does Stremio support?","WEBSITE_MAINPAGE_FAQ_010_P1":"We have desktop apps for Windows, Mac and Linux. For mobile, we support Android and iOS, although keep in mind that the iOS is limited in functionality (does not support most addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"There are many Android-based devices which you can run Stremio on, like NVIDIA Shield and Amazon Fire Stick, but we do not support them officially.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Can you add certain content to Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Sorry, we provide no content ourselves, but the more Stremio addons you have installed, the more content you will be able to find.","WEBSITE_MAINPAGE_FAQ_012_H1":"Can Stremio play magnet links?","WEBSITE_MAINPAGE_FAQ_012_P1":"Yes, and it can also play normal HTTP links and torrent files (drag and drop).","WEBSITE_MAINPAGE_FAQ_013_H1":"Can I download a video and watch offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Available offline is an upcoming feature, but if you allow Stremio to cache on your device (from the settings panel) you can watch the videos later without a connection.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nothing works, help me!","WEBSITE_MAINPAGE_FAQ_014_P1":"Are you sure you have installed addons? If yes, check with our ${1}help center${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"How does Stremio sustain it\'s development operations?","WEBSITE_MAINPAGE_FAQ_015_P1":"We run non-intrusive ads occassionally, but we\'re considering moving to a donation model.","WEBSITE_MAINPAGE_FAQ_015_P2":"For more questions, go to our ${1}help center${2}.","HELP_LEARN_MORE":"Help us learn more about you.","LIFESTYLE":"Lifestyle","SPORTS":"Sports","FOOD_HEALTH":"Food & health","BEAUTY_FASHION":"Beauty & Fashion","NEWS":"News","GAMING":"Gaming","SCIENCE_EDUCATION":"Science & education","MUSIC":"Music","TRAVEL":"Travel","LATE_NIGHT":"Late Night","REALITY":"Reality","COMEDY":"Comedy","DIY":"How to DIY","TECH":"Tech","CINEMA":"Cinema","CONTINUE":"Continue","SLOW_LOADING":"SLOW LOADING?","I_GIVE_UP":"I GIVE UP","LEARN_MORE":"Learn more","POOR_SOURCE":"This source is poorly available or your internet connection is not fast enough","PICK_CATEGORIES_ERR":"You have to pick at least 3 categories","ADJUST_TIMING":"Adjust timing with ","ADJUST_SIZE":"Adjust size with ","SEARCH_ANYTHING":"You Can Search Anything...","ALL_CATEGORIES":"All","SEARCH_CATEGORIES":"Movies, Series, YouTube & TV","SEARCH_PERSONS":"Actors, Directors & Writers","SEARCH_PROTOCOLS":"HTTP & Magnet Links","SEARCH_TYPES":"IMDB / TVDB links","WATCHED":"Watched","SHOW_LESS":"Show less","LAST_SEARCHES":"Last searches","CLEAR_HISTORY":"Clear history","CHOOSE_SOME":"CHOOSE SOME OF THIS:","NO_WEB_REMOTE":"Web Remote could not be loaded","STREMIO_OFFLINE":"Stremio is offline","STREMIO_EXPENSIVE_CONNECTION":"We\'ve detected that you are using a mobile data connection, do you want to continue?","USE_DATA":"Use data","WARNING":"Warning","MORE_INFO":"More Info ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Loading ...","STREMIO_TV_BACK_TO_LANGUAGES":"Back to languages","STREMIO_TV_REMOTE":"Remote","STREMIO_TV_GO_TO":"Go to:","STREMIO_TV_OR_SCAN":"or scan:","STREMIO_TV_ADDON_INSTRUCTIONS":"Please follow the instructions in order to install your preferred addons.","STREMIO_TV_LIVE_TV":"Live TV","STREMIO_TV_RESUME_WATCHING":"Resume Watching","STREMIO_TV_LOADING_BACKGROUND":"Loading Background","STREMIO_TV_CHECKING_AUTHENTICATION":"Checking Authentication","STREMIO_TV_LOADING_BOARD":"Loading Board","STREMIO_TV_LOGIN_HEADER_LINE_1":"We want our users to have the best possible personalized experience with our software.","STREMIO_TV_LOGIN_HEADER_LINE_2":"It is for this reason that we kindly ask you to make and/or login to your account.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Thank you for understanding,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"The Stremio Team","STREMIO_TV_REMOTE_INSTRUCTIONS":"In order to use the Web Remote with your Smartphone / Tablet / Desktop:","STREMIO_TV_WIFI_SETUP":"Wi-Fi Setup","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle did not detect a internet connection.","STREMIO_TV_WIFI_DETAILS_1":"Connect to:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Use password:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Open a web browser with the link:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Default","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"By Last Watched","STREMIO_TV_LIBRARY_SORT_NAME":"By Name","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"By Times Watched","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Season ${1}","STREMIO_TV_STREAMS_LOADING":"Loaded ${1} / ${2} addons...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} addon is still loading...","STREMIO_TV_PLAYER_SETTINGS":"Player settings","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Subtitles delay","STREMIO_TV_PLAYER_AUDIO_DELAY":"Audio delay","STREMIO_TV_PLAYER_VIDEO_SCALING":"Video scaling","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Unsupported stream source","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Failed opening external link","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Not adjustable in audio passthrough mode","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Play with ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Play with libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Switching to libVLC player due to a playback error","STREMIO_TV_ADDONS_TITLE":"Use Stremio on your Phone or PC to install or configure addons and press \\"Sync Addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Note: make sure you are using the same Stremio account","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sync Addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons successfully synchronized","STREMIO_TV_ADDONS_SYNC_FAILED":"Failed to synchronize addons","STREMIO_TV_META_LINK_FAILED":"Failed opening meta link","STREMIO_TV_CATALOG_LOADING":"Catalog still loading...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Interface language updated","STREMIO_TV_SETTINGS_THEME_UPDATED":"Theme updated","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Default Player","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"External Player","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferred Language","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Secondary Preferred Language","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possible playback issues on some devices","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Some video formats might not work","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"No caching","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Default","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Soft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Fast","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Fast","STREMIO_TV_SETTINGS_SERVER_URL":"Streaming server url","STREMIO_TV_SETTINGS_SERVER_VERSION":"Server version","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Unknown","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio version","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Edit server url","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Enter a streaming server url","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Show statistics while loading","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"To read Stremio\'s Privacy Policy, visit:","STREMIO_TV_SETTINGS_TOS_TEXT":"To read Stremio\'s Terms and Conditions, visit:","STREMIO_TV_NAV_SEARCH":"Search","STREMIO_TV_NAV_HOME":"Home","STREMIO_TV_NAV_DISCOVER":"Discover","STREMIO_TV_NAV_LIBRARY":"Library","STREMIO_TV_NAV_MOVIES":"Movies","STREMIO_TV_NAV_SERIES":"Series","STREMIO_TV_NAV_CHANNELS":"Channels","STREMIO_TV_NAV_TV":"Live TV","STREMIO_TV_NAV_SETTINGS":"Settings","STREMIO_TV_NAV_ADDONS":"Addons","STREMIO_TV_LOGIN_TITLE":"Link Account","STREMIO_TV_LOGIN_EXPIRES_IN":"Expires in","STREMIO_TV_LOGIN_STEP_ONE":"Scan QR Code above or go to","STREMIO_TV_LOGIN_STEP_TWO":"Log in to your Stremio account","STREMIO_TV_LOGIN_NEW_LINK":"Request a new link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Login code refreshed","STREMIO_TV_SEARCH_PLACEHOLDER":"Type something","STREMIO_TV_SEARCH_NO_ADDONS":"No addons were requested for catalogs!","STREMIO_TV_SEARCH_BUTTON":"Search","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Search History","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"You can search for Titles, Actors, Channels and more...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Clear Search History","STREMIO_TV_FILTERS_DESCRIPTION":"Choose from one of the filters below","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"Filters","SETTINGS":"Settings","ACCOUNT":"Account","LOGOUT":"Logout","THEMES":"Themes","PLAYBACK":"Playback","PLAYBACK_SPEED":"Playback Speed","AUDIO_TRACKS":"Audio Tracks","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Videos","SERVER":"Server","LINKS":"Links","ABOUT":"About","INTERFACE":"Interface","ANIMATIONS":"Animations","STATUS":"Status","LANGUAGE":"Language","SIZE":"Size","DELAY":"Delay","BOLD":"Bold","OPACITY":"Opacity","TEXT_COLOR":"Text Color","OUTLINE_COLOR":"Outline Color","BACKGROUND_COLOR":"Background Color","BACKGROUND_BLUR":"Background Blur","SEEK_TIME_DURATION":"Seek Time Duration","AUTO_PLAY":"Auto-Play Next Episode","PLAY_NOW":"Play Now","MARK_AS_WATCHED":"Mark as Watched","MARK_AS_UNWATCHED":"Mark as Unwatched","REWIND_TO_BEGINNING":"Rewind to Beginning","CONTINUE_WATCHING":"Continue Watching","ALL":"All","SECONDS":"seconds","ON":"ON","OFF":"OFF","RELOAD":"Reload","EDIT_URL":"Edit URL","NONE":"None","EMBEDDED":"Embedded","REMOTE_SWITCH_DEVICES":"Switch Devices","REMOTE_VIDEOS":"Videos","REMOTE_ADJUST_TIMING":"Adjust timing","REMOTE_ADJUST_SIZE":"Adjust size","REMOTE_COULD_NOT_BE_LOADED":"Web Remote could not be loaded","REMOTE_RETRY":"Retry","TORRENT_PROFILE_DEFAULT":"Default","TORRENT_PROFILE_SOFT":"Soft","TORRENT_PROFILE_FAST":"Fast","TORRENT_PROFILE_ULTRA_FAST":"Ultra Fast","FAQ_001_H1":"What is Stremio?","FAQ_001_P1":"Stremio is a media center software designed for video entertainment with ease of use in mind. Stremio allows you to organize &amp; watch your own collection of movies, series, channels and live TV.","FAQ_001_P2":"Stremio collect the content it shows you from your local disk and our addons system.","FAQ_001_P3":"It will also notify you when new episodes/videos/movies you\'re interested in come out, and provide movie recommendations for you.","FAQ_02_H1":"How does Stremio compare to Kodi and Plex?","FAQ_02_P1":"We are inspired by those two pieces of software. But we have different goals - Stremio is specifically targeted towards entertainment video, and strives to become the mainstream solution for that by being very easy to use.","FAQ_02_P2":"Stremio will never be as customizable and feature-rich as Kodi and Plex, but it is significantly easier to use. Just ${1} get it and see ${2} :)","FAQ_03_H1":"How does Stremio compare to Netflix?","FAQ_03_P1":"Again, Netflix is one of our inspirations. We strive to achieve the user experience of Netflix, plus a lot of added goodies. But most importantly, we\'re giving you the freedom to manage your own library and add new content sources with our addon system.","FAQ_03_P2":"That makes Stremio infinitely extendable, so when you use Stremio, you\'re never limited to the content Netflix decides to license. For example, through Stremio you can watch content from ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} and even ${9}Netflix${10} itself!","FAQ_04_H1":"How does Stremio compare to Flipboard?","FAQ_04_P1":"We don’t get that question that often, except when talking to start-up people :)","FAQ_04_P2":"Stremio is by design a content aggregator, which essentially makes it Flipboard for video. This is very apparent in our Board section, which gives you catalogues and new episode/new video notifications for what you follow, just like Flipboard.","FAQ_05_H1":"How does Stremio compare to Popcorn Time?","FAQ_05_P1":"Stremio and Popcorn Time are similar in user interface, because there aren’t many ways to do video entertainment catalogues right :)","FAQ_05_P2":"But while Popcorn Time is focused on streaming torrents from specific sources, Stremio is unrestricted and is merely a content aggregator - it’s not locked into a specific content source.","FAQ_05_P3":"Furthermore, we do not provide any torrent addons by default, so Stremio does not cover the Popcorn Time use-case with official functionality.","FAQ_05_P4":"Another notable difference is that Popcorn Time is completely open source, while Stremio is ${1} partially open source${2}.","FAQ_06_H1":"Will you add this movie/series?","FAQ_06_P1":"No, sorry :(","FAQ_06_P2":"As is mentioned in most of the other questions, Stremio does not provide any content by itself - everything is added through the addons system. In case you have a content request, you can use the “Report” button in the Player, which will send an email to the author of the addon you’re currently using.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Will you create addon for X?","FAQ_08_P1":"It\'s entirely possible.","FAQ_08_P2":"If you have an idea for an addon, drop us a line at ${1}office@stremio.com${2}, but please make sure your addon idea will not infringe on any copyrights or terms of use.","FAQ_08_P3":"At the moment, the next things on our roadmap are addons for FandangoNOW, Filmon.tv video on demand and Crunchyroll.","FAQ_09_H1":"Does Stremio use BitTorrent?","FAQ_09_P1":"Yes, Stremio supports BitTorrent as a streaming protocol. You can use that either with a torrent addon, or by drag-and-dropping a .torrent file into Stremio, or by pasting a magnet link into the Search Bar.","FAQ_09_P2":"Please note that the only official addon using BitTorrent is ${1}Vodo${2}, which provides indie content, all permitted to be distributed with BitTorrent.","FAQ_09_P3":"We do not support use of any third-party addons which may enable copyright infringement.","FAQ_10_H1":"What can I watch in Stremio with the official addons?","FAQ_10_P1":"By default, you can watch Filmon.tv, YouTube and Vodo content within Stremio itself, with it’s embedded player. Additionally, we have an addon for Twitch.tv and a few others.","FAQ_10_P2":"This combined provides a selection of:","FAQ_10_L1":"Popular TV channels, provided by Filmon.tv - for example E4, BBC, Bollyworld TV","FAQ_10_L2":"Everything from YouTube - for example BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indie movies with Vodo","FAQ_10_L4":"Online gaming broadcasts with Twitch.tv","FAQ_10_P3":"Additionally, there are many content sources provided with Guidebox and the Netflix addons, which <b>do not</b> play entirely inside Stremio, but would redirect to the given service. For example, the Guidebox addon would give you a selection of movies you can stream in the US for free, from services like TubiTV and Crackle.","FAQ_11_H1":"Stremio won\'t install, what should I do?","FAQ_11_P1":"If you\'re on Windows, try ${1}this alternative installer${2}.","FAQ_11_P2":"If you\'re on Mac OS X, please be aware that we don\'t support anything older than OS X Mavericks (10.9).","FAQ_11_P3":"If you\'re on Linux, be aware that we only support 64 bit (x64) Linux at the moment.","FAQ_11_P4":"If you still can\'t resolve your problem, please write us at our ${1}Facebook group${2}.","FAQ_12_H1":"Why does my anti-virus complain? Is Stremio safe?","FAQ_12_P1":"We assure you Stremio is ${1}100% clean${2}.","FAQ_12_P2":"Your antivirus is complaining because we include advertising in our installer, which some anti-virus programs recognize as ad-ware.","FAQ_12_P3":"If you\'re still unsure, you can try our ${1}alternative installer${2}.","FAQ_13_H1":"How can I make an addon?","FAQ_13_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_13_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_13_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_14_H1":"How are addons published?","FAQ_14_P1":"When you create an addon and host, and put a <b>endpoint</b> field in your manifest, which points to a working addon address, the addon will automatically publish itself to our ${1}Addon catalogue${2}.","FAQ_14_P2":"This happens because the server part of the stremio-addons module automatically makes a call to our API to announce the addon. When our API validates your <b>endpoint</b> as a valid addon, it will start showing in the catalogue.","FAQ_15_H1":"Can I run Stremio in my browser?","FAQ_15_P1":"Not at the moment, but this is coming!","FAQ_15_P2":"If you\'re curious to see an Alpha, you can see it here: ${1}alpha4.strem.io${2}. Keep in mind streaming is disabled on this alpha. We support Chrome, Firefox, Opera and Edge.","FAQ_16_H1":"Casting to TV doesn\'t work / subtitles don\'t work","FAQ_16_P1":"Casting to TV uses the DLNA technology which is very inconsistent between different TV brands and models. For that reason, we do not have the ability to test it in every case, so it\'s far from perfect. Despite this, we\'re working on improving it constantly but we cannot give you a time estimate on when DLNA will start working properly with your TV.","FAQ_16_P2":"If you don\'t even see your TV in the casting menu, please try disabling your network connection and re-enabling it (on Windows, right click the Network and use Enable/Disable), as well as restarting your router, TV and PC.","FAQ_16_P3":"If you are still encountering issues, you can help us by sending your TV brand and model information at ${1}office@stremio.com${2}.","FAQ_16_P4":"In the meantime, we recommend Chromecast, which we support very well, or simply plugging in your TV to your PC with an HDMI cable.","FAQ_17_H1":"Stremio freezes and/or crashes, what can I do?","FAQ_17_P1":"First of all, if you\'re using Windows 7 with AVG anti-virus: we have a problem with that combination. The problem is in AVG itself, and there\'s no reasonable way to resolve it on our end. Unfortunately, exceptions or disabling the anti-virus won\'t work. The only solution is to replace AVG with something else.","FAQ_17_P2":"If that\'s not the issue, but you\'re still using Windows, please update to the latest service pack and update/re-install your GPU drivers, then try again.","FAQ_17_P3":"If you\'re problem is still not resolved, or you\'re using a Mac or Linux, please write us reporting the exact details of the problem at ${1}our Facebook group${2}.","FAQ_18_H1":"How can I make an addon?","FAQ_18_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_18_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_18_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_19_H1":"Why is Stremio taking disk space?","FAQ_19_P1":"Stremio has a <b>local cache</b> to temporarily keep the video files you stream.","FAQ_19_P2":"This has two benefits: first, it allows Stremio to pre-buffer the video ahead so as to ensure smoother streaming. Second, it keeps the videos in the local cache so you can continue watching them offline.","FAQ_19_P3":"How much Stremio keeps depends on the <b>Cache</b> setting in the Settings panel. Stremio may keep up to the set amount (e.g. 2GB) on your disk, unless the currently streamed video is larger than that, in which case it has to allocate enough storage to keep it until you\'re streaming it.","FAQ_20_H1":"Where is the cache folder?","FAQ_20_P1":"On Windows, it\'s stremio-cache in the drive you picked in Settings (e.g. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"On MacOS, it\'s \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"On Linux, it\'s \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"I get \\"Streaming server is not found\\" error, what can I do?","FAQ_21_P1":"If you get this error, it means one of few things:","FAQ_21_P2":"1) You are trying to use an addon backed by YouTube/BitTorrent source, through our ${1}web version${2}. In this case, you should install our desktop version from ${3}our website${4}.","FAQ_21_P3":"2) Something is wrong with your Stremio installation. In this case, try re-installing our latest desktop version from ${1}the website${2}. If this does not help, try disabling anti-virus programs and firewalls, restarting your PC and trying again. If this does not work too, please write us at our ${3}our Facebook group${4}.","FAQ_22_H1":"I cannot see/use most addons on iOS","FAQ_22_P1":"Because of restrictions in the Apple App Store terms and conditions, we have restricted the iOS application only to a particular set of addons.","FAQ_22_P2":"But rest assured - there will be more addons for iOS in the future, and we may also add an integration that will allow you to use all Stremio addons thanks to connecting the iOS app to the Stremio Streaming Server."}')},93191:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Film","TYPE_series":"Dizi","TYPE_tv":"TV kanalı","TYPE_channel":"Kanal","TYPE_other":"Diğer","TYPE_movie_PL":"Filmler","TYPE_series_PL":"Diziler","TYPE_tv_PL":"TV kanalları","TYPE_channel_PL":"Kanallar","TYPE_other_PL":"Diğer","TYPE_ALL":"Tümü","TYPE":"Tür","CATALOG_com_linvo_cinemeta_top":"Beğenilenler","CATALOG_com_linvo_cinemeta_imdbRating":"Öne Çıkanlar","CATALOG_com_linvo_cinemeta_year":"Yeniler","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Kamu Malı Filmler","VIDEO":"Görüntü","BACK":"Geri","MORE":"Daha fazla","DONE":"Bitti","COPY":"Kopyala","SUCCESS":"Başarılı","ERROR":"Hata","SETTINGS_CASTING_MODE_PICKER":"Yayın modu","CASTING_MODE_HLSV2":"Varsayılan","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Kod dönüştürme yok","Discover":"Keşfet","Board":"Pano","Library":"Kitaplık","My Library":"Kitaplığım","Calendar":"Takvim","NOTIFICATION_ONLINE":"Şu an çevrimiçisiniz","NOTIFICATION_OFFLINE":"Şu anda çevrimdışısınız","INTERNET_CONNECTION":"Ağ bağlantısı","STORAGE_FULL_TITLE":"Dikkat: Depolama dolu!","STORAGE_FULL_TEXT":"Stremio, ayarlarınızı, tercihlerinizi veya oturum açma bilgilerinizi kaydedemeyecektir. Stremio\'yu yeniden başlatmayı veya yeniden yüklemeyi düşünün.","SEARCH":"ara","SEARCH_NO_RESULTS":"Sonuçlar bulunamadı","SEARCH_EXPLANATION_CONTENT":"Filmler, diziler, YouTube ve TV kanallarını arayın","SEARCH_EXPLANATION_PEOPLE":"Aktörler, yönetmenler, yazarları arayın","SEARCH_PASTE_LINKS":"HTTP ve Magnet bağlantılarını yapıştırın","SEARCH_OR_PASTE_LINK":"Arayın ya da bağlantıyı yapıştırın","SEARCH_SUGGESTIONS":"Arama Önerileri","ADD_TO_LIB":"Kitaplığa Ekle","REMOVE_FROM_LIB":"Kitaplıktan Kaldır","ADDED_TO_LIB":"Kitaplığa Eklendi","REMOVED_FROM_LIB":"Kitaplıktan Kaldırıldı","TRAILER":"Fragman","WATCH_TRAILER":"Fragmanı İzle","WATCH_NOW":"Şimdi İzle","SHOW":"Göster","SHOW_MOVIE":"Filmi Göster","WATCH_RANDOM":"Rastgele İzle","IMDB_RATING":"IMDB Puanı","YEAR":"Yıl","DIRECTOR":"Yönetmen","WRITER":"Yazar","LEAD_ACTORS":"Başroller","CAST":"Oyuncular","CREW":"Ekip","SHOW_MORE_CAST":"Daha fazlasını göster »","AIRED":"Yayın tarihi","SEASONS":"Sezonlar","GENRE":"Tür","GENRE_ALL":"Tüm türler","CATALOG":"Katalog","SUMMARY":"Özet","SHOW_MORE":"Daha Fazla Göster","SIMILAR":"Benzer","UPCOMING":"Yaklaşan","ENDED":"Biten","DURATION":"Süre","FEATURED":"Öne çıkanlar","METADATA":"Üstveri","CATEGORY":"kategori","LINKS_GENRES":"Türü","LINKS_CAST":"Oyuncular","LINKS_DIRECTORS":"Yönetmenler","SEARCH_VIDEOS":"görüntüleri arayın","SEARCH_PLACEHOLDER":"arayın veya URL yapıştırın","ADDON":"eklenti","ADDONS":"Eklentiler","OFFICIAL":"resmi","ADDONS_OFFICIAL":"Resmi Stremio Eklentileri","ADDONS_POPULAR":"Bölgenizde beğenilen","ADDON_FREE":"ücretsiz","ADDON_PEERED":"denk gelen","ADDON_SUBSCRIPTION":"abonelik","ADDON_STREAM_GEORESTRICTED":"bölgenizde mevcut değil","ADDON_STREAM_OFFLINECACHE":"Çevrimdışı Önbellek","ADDON_STREAM_LOCALFILE":"Yerel Dosya","SHARE_ADDON":"Eklentiyi paylaş","AVAILABLE_STREAMS":"Mevcut Akışlar","NO_STREAM":"Akışlar bulunamadı","ALL_ADDONS":"Tümü","INSTALL_MORE_ADDONS":"Daha fazla akış için lütfen daha fazla eklenti yükleyin","STREAM_NOT_SUPPORTED":"Seçilen akış bu platformda desteklenmiyor.","ADDON_CATALOGUE":"Tüm eklentileri göster »","ADDON_CATALOGUE_MORE":"Eklentileri yükle","REPO_ADDED":"Depo eklendi","ADDON_REPO_EXIST_ERR":"Bu eklenti koleksiyonu zaten var","ADDON_REPO_ERR":"Koleksiyon eklenirken hata meydana geldi","ADDON_ADD_ERR":"Eklenti eklenirken hata meydana geldi","ERR_ADDON_PROTECTED":"Eklenti kaldırılamıyor, korumalı","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Bir şeyler ters gitti - kimlik doğrulaması başarısız olabilir","ERR_NOT_COLLECTION_URL":"Bir koleksiyon URL\'si değil","ERR_NOT_ADDON_URL":"Bir eklenti URL\'si değil","ERR_DETECTFROMURL":"Bu URL\'den eklenti/koleksiyon bulunamıyor","ADDON_DUPLICATE_WARNING":"Uyarı: yinelenen eklenti","ADDON_COLLECTION_SET_FAILED":"Yüklü eklentilerin hesabınıza eşitlenmesi başarısız oldu","SETTINGS_DATA_EXPORT":"Kullanıcı verilerini dışa aktar","ADDON_PULL_FAILED":"Yüklü eklentilerin hesabınızdan eşitlenmesi başarısız oldu","REFRESH_ON_CLICK":"Yeniden denemek için tıklayın","STILL_IN_THEATER":"Film hala gösterimde","WATCH_IN_CINEMA":"Yerel sinemanızda izleyin","IN_THEATER":"Sinemada","GET_TICKETS":"Bilet al","UPCOMING_EPISODE":"Yaklaşan bölüm","UPCOMING_EPISODE_MESSAGE":"Bu bölümün yayınlanacağı tarih","MISSING_DATE_EPISODE":"Eksik bölüm tarihi","MISSING_DATE_EPISODE_MESSAGE":"Bu bölüm henüz yayınlanmamış olabilir","CHANNEL_NOT_SCRAPED":"Bu kanal henüz uygun değil.<br>Lütfen birkaç dakika içinde yine geri gelin.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Mevcut olduğunda bildirim almak için kitaplığınıza ekleyin.","GET_NOTIFIED_WHEN_AVAILABLE":"Mevcut olduğunda bilgilendirileceksiniz.","WARNING_STREAMING_SERVER":"Uyarı: yerel akış sunucusu bulunamadı. Yerel dosyalardan, YouTube ve BitTorrent\'den akış kullanılamayacaktır.","WARNING_STREAMING_SERVER_DISMISS":"Vazgeç","WARNING_STREAMING_SERVER_LATER":"Sonra","DECODER_WARNING":"Uyarı: bu görüntü, donanımınız tarafından desteklenmiyor olabilir. Oynatma yavaş olabilir, unutmayın.","GENERIC_ERROR_MESSAGE":"Bir şeyler yanlış gitti!","TRY_AGAIN":"Tekrar dene","CLEAR_DATA":"Verileri temizle","PLAYER_ERROR":"Eyvah, Oynatıcı Hatası","PLAYER_ERROR_LOOKSLIKE":"Benzediği durum","PLAYER_ORIENTATION":"Oynatıcı yönü","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Kilitli","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensör","PLAYER_ORIENTATION_LANDSCAPE":"Oynatıcı yönü yatay olarak kilitli","PLAYER_ORIENTATION_SENSOR":"Oynatıcı yönü otomatik (sensör)","PLAYER_PLAYBACK_SPEED":"Oynatma Hızı","PLAYER_PLAYBACK_ERROR":"Oynatma hatası, lütfen tekrar deneyin","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Bilinmeyen hata","PLAYER_PLAYBACK_ERROR_DEFAULT":"Üzgünüz, bu görüntü {{productName}} tarafından oynatılamaz.","PLAYER_SUBTITLES_LANGUAGES":"Altyazı Dilleri","PLAYER_SUBTITLES_VARIANTS":"Altyazı Çeşitleri","PLAYER_SUBTITLES_SETTINGS":"Altyazı Ayarları","PLAYER_SUBTITLES_DISABLED":"Altyazılar etkisizleştirildi","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Dikey Konum","PLAYER_SUBTITLES_LOADED":"Altyazılar yüklendi","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Gömülü altyazılar yüklendi","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Özel altyazılar yüklendi","PLAYER_SUBTITLES_LOADED_ORIGIN":"Altyazılar, {{origin}} kaynağından yüklendi","PLAYER_PLAY":"Oynat","PLAYER_PAUSE":"Duraklat","PLAYER_NEXT_VIDEO":"Sonraki Görüntü","PLAYER_MUTE":"Sesi Kapat","PLAYER_UNMUTE":"Sesi Aç","PLAYER_OPEN_IN_EXTERNAL":"Harici oynatıcıda aç","PLAYER_OPEN_IN_NPLAYER":"nPlayer\'da aç","PLAYER_PLAY_IN":"{{device}} içinde oynat","PLAYER_LIVE":"Canlı","PLAYER_NEXT_VIDEO_TITLE":"Sıradaki gelen","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Sıradaki","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Vazgeç","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Şimdi izle","PLAYER_COPY_STREAM_SUCCESS":"Akış bağlantısı panonuza kopyalandı","PLAYER_COPY_STREAM_ERROR":"Akış bağlantısını kopyalama başarısız oldu","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"İndirme bağlantısı panonuza kopyalandı","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"İndirme bağlantısını kopyalama başarısız oldu","STREAMING_FROM":"yayının geldiği yer","CASTING_TO":"Yayınlandığı yer","NETWORK_STATUS":"Ağ durumu","STREAM_SPEED":"Yayın hızı:","STREAM_BUFFERED":"Arabelleğe alınan:","PEERS_INFO":"Kişi Bilgileri","PEERS_ACTIVE":"Etkin:","PEERS_CONNECTED":"Bağlandı:","PEERS_WAITING":"Bekleniyor:","TRANSCODING_WARNING":"Uyarı: görüntü kodu dönüştürülüyor.","STREAM_LOADING":"yükleniyor...","PLAYING_LOCAL":"yerel dosyadan oynatılıyor","PLAYING_CACHE":"önbellekten oynatılıyor","WRONG_SUBS":"Altyazı yanlış mı?","ERR_SUBS_LOADING_TITLE":"Altyazı yüklenirken hata oldu","ERR_SUBS_LOADING":"Altyazıları yükleme başarısız: bu kullandığınız eklenti ya da ağ bağlantınız ile ilgili bir sorun olabilir","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Aşağıdaki altyazı eklentileri başarısız oldu","ERR_CASTING_UPDATE_TITLE":"Yayınlama cihazı bilgisi güncellenemedi: akış sunucusu çevrimdışı olabilir","CHOOSE_DEVICE":"İzleyeceğiniz bir cihaz seçin","NO_CAST_DEVICES":"Kullanılabilir yayınlama cihazları yok.","NO_SETTINGS":"Kullanılabilir ayarlar yok.","PHONE_TABLET":"Telefon / Tablet","SUBTITLES":"Altyazılar","SUBTITLES_CHANGE":"Altyazıyı şunun için değiştir: ","SUBTITLES_CHANGE_NONE":"Bu dil için başka altyazı yok, üzgünüz.","SUBTITLES_CHANGE_ACIVE":"Şu anda &#35;{{subtitlesDialog.activeIdx + 1}} altyazısı etkinleştirildi. &#35;{{subtitlesDialog.pickedIdx + 1}} altyazısını etkinleştirmek için \\"Devam\\" düğmesine tıklayın.","SUBTITLES_OR":"Alternatif olarak,","SUBTITLES_ADJUST_DELAY":"Altyazı gecikmesini ayarlayın:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Veya oynatırken ayarlamak için <span>G</span> / <span>H</span> tuşlarını kullanın.","SUBTITLES_ADJUST_DELAY_TIP":"İPUCU: oynatırken ayarlamak için <span>G</span> / <span>H</span> tuşlarını kullanabilirsiniz.","SUBTITLES_DELAY":"Altyazı gecikmesi:","SUBTITLES_LOADING":"Altyazılar yükleniyor...","SUBTITLES_UNAVAILABLE":"Kullanılabilir harici altyazı yok","SUBTITLES_DISABLED":"Etkisizleştirildi","EXTERNAL_PLAYER_DISABLED":"Etkisizleştirildi","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Seçime İzin Ver","EXTERNAL_PLAYER_HINT":"İpucu: Her zaman harici oynatıcı ile açmaya izin veren bir ayar vardır.","DONT_SHOW_AGAIN":"Bir daha gösterme","SERVICE_INSTALL":"Yükle","AUDIO":"Ses","DEFAULT_LANGUAGE":"Varsayılan Dil","DEFAULT_SECONDARY_LANGUAGE":"Varsayılan İkincil Dil","SEASON":"Sezon","EPISODE":"Bölüm","EPISODE_ABBREVIATION":"EP","SPECIAL":"Özel","SORT":"sırala","SORT_BY":"Sıralama şekli:","FILTER":"süz","SORT_TRENDING":"çok izlenen","SORT_RECENT":"en yeni","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"puan","SORT_WATCHED":"izlenen","SORT_YEAR":"yıl","SELECT_TYPE":"Tür seçin","SELECT_SORT":"Sıralama seçin","SELECT_CATALOG":"Katalog seçin","SELECT_GENRE":"Tür seçin","SORT_LASTWATCHED":"son izlenen","SORT_NAME":"a-z","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"en çok izlenen","SORT_NOTWATCHED":"izlenmeyen","New for You":"Sizin için Yeni","New Episodes":"Yeni Bölümler","New Videos":"Yeni Görüntüler","Recommendations":"Önerilenler","LIBRARY_RESUME":"Devam","LIBRARY_PLAY":"Oynat","LIBRARY_DETAILS":"Ayrıntılar","LIBRARY_RESUME_DISMISS":"Vazgeç","LIBRARY_CLEAR_PROGRESS":"İlerlemeyi Temizle","LIBRARY_REMOVE":"Kaldır","LIBRARY_NOT_LOGGED_IN":"Kitaplık yalnızca oturum açmış kullanıcılar tarafından kullanılabilir","CALENDAR_NOT_LOGGED_IN":"Takvim yalnızca oturum açmış kullanıcılar tarafından kullanılabilir","NOT_LOGGED_IN_CLOUD":"En sevdiğiniz filmlere ve TV programlarına istediğiniz zaman, istediğiniz yerden erişin","NOT_LOGGED_IN_RECOMMENDATIONS":"Görüntüleme geçmişinize göre uyarlanmış öneriler","NOT_LOGGED_IN_NOTIFICATIONS":"Bir daha asla bir bölümü kaçırmayın","NOT_LOGGED_IN_CALENDAR":"Kişisel izleme takviminizi planlayın","DISCOVER_FEATURED":"Öne Çıkanlar","DISCOVER_TOP":"En İyiler","DISCOVER_OSCAR":"Oscar Kazananlar","DISCOVER_WARNING_TITLE":"Eyvah!","DISCOVER_EMPTY_CATALOG":"Bu eklenti boş içerik döndürdü.","DISCOVER_ADULT_WARNING":"Bu içerik yalnızca yetişkinler için görünürdür. 18 yaşından büyük müsünüz?","DISCOVER_NOADDON_WARNING":"Uyarı: bu tür için etkin Stremio eklentisi yok. Kaydedilen öğeler gösteriliyor, burada hiç birşey güncellenmeyecek.","DISCOVER_LOAD_ERR":"İçerik yüklenmedi, hata meydana geldi.","DISCOVER_ADDON_UNINSTALLED":"Bu içerik artık mevcut değil, eklentiyi kaldırmış olabilirsiniz.","UNINSTALL_THIS_ADDON":"Bu eklentiyi kaldır","ERR_ADDON_NOT_INSTALLED":"Bu eklenti yüklü değil. Şimdi yüklensin mi?","DETAIL_RECEIVE_NOTIF_SERIES":"Yeni bölümler için bildirim alın","DETAIL_RECEIVE_NOTIF_VIDEOS":"Yeni görüntüler için bildirim alın","SIDEBAR_SHOW_STREAMS":"Akışları Göster","RELAUNCH":"Şimdi yeniden başlat!","UPGRADE":"Yeni sürüm mevcut! En son Stremio sürümüne yükseltin","RELOAD_UI":"Kullanıcı arayüzünü yeniden yükleyin","MANUAL_UPDATE_TITLE":"Stremio sürümünüzü güncelleyin","MANUAL_UPDATE_LINE1":"Son derece önerilmeyen eski bir Stremio sürümü kullanıyorsunuz.","MANUAL_UPDATE_LINE2":"Lütfen en kısa sürede güncelleyin.","BUTTON_UPDATE_LATTER":"Şimdi değil","BUTTON_UPDATE_NOW":"Güncelle","ANONYMOUS_USER":"İsimsiz kullanıcı","DONT_HAVE_ACC":"Bir hesabınız yok mu?","HAVE_ACC":"Zaten bir hesabınız var mı?","PASSWORD":"Parola","PASSWORD_CONFIRM":"Parolayı doğrula","EMAIL":"E-posta","FB_LOGIN":"Facebook ile devam et","FB_NOTHINGSHARED":"İzniniz olmadan hiçbir şey paylaşılmaz.","FB_NOPOST":"Sizin adınıza herhangi bir şey göndermeyeceğiz","OR":"ya da","I_ACCEPT":"Kabul ediyorum: ","I_ACCEPT_BY_CLICKING":"Yukarıdaki düğmeye tıklayarak, kabul ettiğimi doğruladıklarım: ","TOS":"Şartlar ve Koşullar","MUST_ACCEPT_TERMS":"Şartları kabul etmek zorundasınız","PASSWORDS_NOMATCH":"Parolalar eşleşmiyor","SIGN_UP":"Kaydol","SIGN_UP_EMAIL":"E-posta ile kaydol","CLICK_TO_SIGN_UP":"Kaydolmak için buraya tıklayın.","LOG_IN":"Oturum aç","LOG_OUT":"Oturumu kapat","EXIT_FULLSCREEN":"Tam ekran modundan çık","ENTER_FULLSCREEN":"Tam ekran moduna geç","PLAY_URL_MAGNET_LINK":"URL/Magnet bağlantısını oynat","HELP_FEEDBACK":"Yardım ve Geri Bildirim","TERMS_OF_SERVICE":"Kullanım Şartları","PRIVACY_POLICY":"Gizlilik İlkesi","ABOUT_STREMIO":"Stremio Hakkında","USER_PANEL":"Kullanıcı Paneli","LOGIN_LABEL":"Oturum aç","GUEST_LOGIN":"Misafir oturumu aç","GUEST_LOGIN_NOTICE":"Misafir Oturumu Açma önerilmez. Normal oturum açmayı kullanmak, Stremio\'nun kitaplığınızı eşitlemesini, en sevdiğiniz diziler/kanallar için bildirimler almasını sağlar. Devam etmek istediğinize emin misiniz?","GUEST_LOGIN_NOTICE_2":"Misafir Oturumu Açma önerilmez - önemli Stremio özellikleri olan Kitaplık ve Pano bildirimlerini eşitlemeyeceksiniz. Devam etmek istediğinize emin misiniz?","CLICK_HERE":"buraya tıklayın","WRONG_PASSWORD":"Yanlış e-posta veya parola. Parolanızı unuttuğunuz durumda, ","SET_A_PASS":"bir parola belirleyin","RESET_PASSWORD":"Parolayı sıfırla","FORGOT_PASSWORD":"Parolanızı mı unuttunuz?","EMAIL_USED_WITH_FB":"Bu e-posta bir Facebook oturumu açılması ile kullanılmış.","INVALID_EMAIL":"Lütfen geçerli bir e-posta adresi girin","INVALID_PASSWORD":"Lütfen geçerli bir parola girin","CONN_ERR":"Bağlantı hatası - lütfen daha sonra tekrar deneyin.\\n\\nEğer bu devam ederse, güvenlik duvarını/antivirüs yazılımını etkisizleştirin (özellikle Bitdefender\'ı).","IMPORT_FROM_GUEST":"Misafir hesabınızdan Kitaplığa aktarın","RECEIVE_UPDATES_EMAIL":"Stremio\'dan e-postanıza güncellemeleri alın","LOGIN_FAILED":"Oturumu açma başarısız oldu.","SIGNUP_FAILED":"Kaydolma başarısız oldu.","SEARCH_FAILED":"Arama başarısız oldu","EMAIL_USED":"Bu e-posta zaten kullanımda.","WAITING_FB_LOGIN":"Facebook ile oturum açılıyor...","EXTERNAL_PLAYER_TITLE":"Harici oynatıcıda oynat","EXTERNAL_REMEMBER_PLAYER":"Seçiminizi hatırlamak ister misiniz","EXTERNAL_ALWAYS_PLAY":"Evet","EXTERNAL_ONLY_ONCE":"Hayır","BEST_FIT":"En Uygun","FIT_SCREEN":"Ekrana Sığdır","FILL":"Doldur","16:9":"16:9","4:3":"4:3","Original":"Orijinal","INTRO_TASTE":"Bize nelerden hoşlandığınızı söyleyin","INTRO_TASTE_LONG":"Bize ne izlemek istediğinizi söyleyin","INTRO_TASTE_PICK":"{{interestsRemaining}} ilgi alanı seçin","INTRO_TASTE_PICK_MORE":"{{interestsRemaining}} ilgi alanı daha seçin","INTRO_TASTE_HELP_US":"Hakkınızda daha fazla bilgi edinmemize yardımcı olun.","INTRO_TASTE_CHOOSE_THESE":"Bunlardan bazılarını seçin:","INTRO_TASTE_CHOOSE_MIN":"En az 3 kategori seçin","INTRO_TASTE_CHOOSE_MIN_ERR":"En az 3 kategori seçmek zorundasınız!","INTRO_TASTE_LIFESTYLE":"Yaşam stili","INTRO_TASTE_SPORTS":"Spor","INTRO_TASTE_FOOD_HEALTH":"Yemek ve Sağlık","INTRO_TASTE_BEAUTY_FASHION":"Güzellik ve Moda","INTRO_TASTE_NEWS":"Haber","INTRO_TASTE_GAMING":"Oyun","INTRO_TASTE_SCIENCE_EDU":"Bilim ve Eğitim","INTRO_TASTE_MUSIC":"Müzik","INTRO_TASTE_TRAVEL":"Seyahat","INTRO_TASTE_LATE_NIGHT":"Gece Gösterisi","INTRO_TASTE_REALITY":"Gerçeklik","INTRO_TASTE_COMEDY":"Komedi","INTRO_TASTE_DIY":"Nasıl Kendin Yaparsın","INTRO_TASTE_TECH":"Teknoloji","INTRO_TASTE_CINEMA":"Sinema","ADDON_NOT_SUPPORTED":"Seçilen eklenti bu platformda desteklenmiyor.","ADDON_DISCLAIMER":"Üçüncü taraf eklentileri kullanmak her zaman sizin sorumluluğunuza ve bulunduğunuz yargı bölgesinin geçerli yasasına tabi olacaktır.","ADDON_ACTIVATE":"Bu eklenti etkinleştirilsin mi?","ADDON_REPO_ADD":"Eklenti koleksiyon URL\'si","ADDON_ADD":"Ekle","INSTALL_ADDON":"Eklentiyi yükle","ADD_ADDON":"Eklenti ekle","ADD_ADDON_DESCRIPTION":"Yüklü eklentiler altında görünecek harici bir bağlantı aracılığıyla bir eklenti ekleyebilirsiniz.","PASTE_ADDON_URL":"Eklenti URL\'sini yapıştırın","WHATS_NEW":"Yeni neler var","BUTTON_CONTINUE":"Devam","BUTTON_ACTIVATE":"Etkinleştir","BUTTON_ACTIVATED":"Etkinleştirildi","BUTTON_CANCEL":"İptal","BUTTON_SUBMIT":"Gönder","BUTTON_DISMISS_ALL":"Tümünden Vazgeç","BUTTON_VIEW_ALL":"Tümünü Görüntüle","BUTTON_SEE_ALL":"Tümünü Gör","BUTTON_COLOR_TRANSPARENT":"Şeffaf","OPEN_IN_BROWSER":"Tarayıcıda aç","LIB_EMPTY":"Kitaplığınız boş görünüyor. Ne kadar kullanışlı olduğunu öğrenin :) ","HOW_START":"İşte nasıl başlayabileceğiniz:","LIB_EMPTY_CAL":"Takviminiz, Kitaplığınızdaki dizileri gösterir.","HOW_START_CAL":"İşte nasıl dizi ekleyebileceğiniz:","LIB_EMPTY_BOARD":"Pano, Kitaplığınızla ilgili bildirimleri ve önerileri gösterir.","HOW_START_BOARD_WAIT":"Lütfen Kitaplığınıza birkaç dizi veya kanal ekleyin, işlememiz için bize birkaç dakika verin :)","HOW_START_BOARD":"İşte nasıl dizi ve filmleri ekleyebileceğiniz:","IMPORT_FB":"<span>Facebook</span>\'tan beğendiğiniz şeyleri içe aktarın","IMPORT_TRAKT":"<span>Trakt</span>\'tan ortam kitaplığınızı içe aktarın","IMPORT_DISCOVER":"<span>Keşfet</span>\'ten ilginç şeyler bulun","IMPORT_DISK":"<span>Yerel diskinizde</span> bulunan filmleri veya dizileri içe aktar","PLEASE_CREATE_ACC":"Kitaplık eşitlemeyi ve Panoyu etkinleştirmek için lütfen <u>bir hesap oluşturun</u>.","IMPORT_DISCOVER_SIGNUP":"Kaydolun ve <span>Keşfet</span>\'ten ilginç şeyler bulun","IMPORT_DISK_SIGNUP":"Kaydolun ve <span>yerel diskinizde</span> bulunan filmleri veya dizileri içe aktarın","LIB_EMPTY_CLOUD":"Bulut kitaplığı","LIB_EMPTY_CLOUD_DESC":"Kişisel bulut kitaplığı tüm cihazlarla eşitlensin","LIB_EMPTY_EARLY":"Erkenci","LIB_EMPTY_EARLY_DESC":"Yeni bölümler için bildirim alın","LIB_EMPTY_PERSONAL":"Kişisel","LIB_EMPTY_PERSONAL_DESC":"Kişisel öneriler alın","LIB_EMPTY_CALENDAR_DESC":"Kişisel izleme takviminizi planlayın","LIB_EMPTY_ALL":"Tüm bunları almak için kaydolun:","LIB_EMPTY_BEST":"Stremio\'dan en iyi şekilde yararlanmak için kaydolun","LIB_EMPTY_OTHER":"Takvim ve diğer harika özellikleri etkinleştirmek için kaydolun","CALENDAR_ADDED":"Stremio takvimi, varsayılan masaüstü takviminize eklendi.","CALENDAR_ADDED_MSG":"Eğer bu işe yaramazsa, lütfen bu URL\'yi takvim uygulamanıza el ile ekleyin","TRAKT_EXPIRED":"Trakt kimlik doğrulamasının süresi doldu, lütfen Ayarlar\'a gidin ve yeniden kimlik doğrulaması yapın","TRAKT_REQUIRES_LOGIN":"Trakt hatası","TRAKT_REQUIRES_LOGIN_MSG":"Oturum açmanız gerekli","TRAKT_IMPORT_WATCHED":"İçe Aktar","THEME":"Tema","THEME_DEFAULT":"Varsayılan","THEME_ADAPTIVE":"Uyarlanabilir","SETTINGS_LABEL":"Ayarlar","SETTINGS_NAV_GENERAL":"Genel","SETTINGS_NAV_PLAYER":"Oynatıcı","SETTINGS_NAV_STREAMING":"Yayın Akışı","SETTINGS_NAV_SHORTCUTS":"Kısayollar","SETTINGS_SHORTCUT_RELOAD_APP":"Uygulamayı Yeniden Yükle","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Ayarları Aç","SETTINGS_SHORTCUT_SWITCH_TABS":"Sekmeleri Değiştir","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Sekmeler Arasında İleri Yönde Dön","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Sekmeler Arasında Geri Yönde Dön","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Menüler Arasında Gezin","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Aramaya Git","SETTINGS_SHORTCUT_EXIT_BACK":"Çık / Geri Dön","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Oynatma Hızı Menüsünü Aç/Kapat","SETTINGS_SHORTCUT_MENU_VIDEOS":"Görüntü Menüsünü Aç/Kapat","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Altyazı Menüsünü Aç/Kapat","SETTINGS_SHORTCUT_MENU_INFO":"Bilgi Menüsünü Aç/Kapat","SETTINGS_SHORTCUT_FULLSCREEN":"Tam Ekranı Aç/Kapat","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Denetimleri Göster","SETTINGS_SHORTCUT_PLAY_PAUSE":"Oynat / Duraklat","SETTINGS_SHORTCUT_VOLUME_UP":"Sesi Artır","SETTINGS_SHORTCUT_VOLUME_DOWN":"Sesi Azalt","SETTINGS_SHORTCUT_SEEK_NEXT":"Sonrakine Atlat","SETTINGS_SHORTCUT_SEEK_PREV":"Öncekine Atlat","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Geriye Doğru Atlat","SETTINGS_SHORTCUT_SEEK_FORWARD":"İleriye Doğru Atlat","SETTINGS_SHORTCUT_PLAY_NEXT":"Sonrakini Oynat","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Altyazı Boyutunu Artır","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Altyazı Boyutunu Azalt","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Altyazı Gecikmesini Artır","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Altyazı Gecikmesini Azalt","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Kenar Çubuğunu Aç/Kapat","SETTINGS_SHORTCUT_OR":"veya","SETTINGS_SHORTCUT_TO":">","SETTINGS_SHORTCUT_SPACE":"Boşluk","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Kimlik Doğrula","SETTINGS_FACEBOOK_IMPORT":"İçe Aktar","SETTINGS_CALENDAR_SUBSCRIBE":"Abone Ol","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Takvim uygulaması açıldı. Lütfen takvime el ile abone olun.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Takvim dosyası indirildi. Lütfen bunu takvim uygulamanıza aktarın.","SETTINGS_INTERFACE_LANGUAGE":"Arayüz Dili","SETTINGS_LAUNCH_STARTUP":"Başlangıçta çalıştır","SETTINGS_VLC_DEFAULT":"VLC ile oynat","SETTINGS_UI_LANGUAGE":"Kullanıcı Arayüzü Dili","SETTINGS_UI_ZOOM":"Arayüzü yakınlaştır","SETTINGS_FULLSCREEN_EXIT":"Esc tuşuyla tam ekrandan çık","SETTINGS_GAMEPAD":"Gamepad desteğini etkinleştir","SETTINGS_CLOSE_WINDOW":"Pencere kapatıldığında uygulamayı kapat","SETTINGS_SUBTITLES_LANGUAGE":"Varsayılan altyazı dili","SETTINGS_SUBTITLES_SIZE":"Varsayılan altyazı boyutu","SETTINGS_SUBTITLES_BACKGROUND":"Altyazı arka planı","SETTINGS_SUBTITLES_COLOR":"Altyazı rengi","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Altyazı anahat rengi","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Altyazı arka plan rengi","SETTINGS_SEEK_KEY":"Ok tuşlarıyla atlanacak süre","SETTINGS_SEEK_KEY_SHIFT":"Shift tuşu basılı tutulduğunda Ok tuşlarıyla atlanacak süre","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Geri sarma ve İleri sarma süresi","SETTINGS_BINGE":"Sonraki bölümü otomatik oynat","SETTINGS_NEXT_VIDEO":"Sonraki bölümü başlatmak için bildirim göster","SETTINGS_NEXT_VIDEO_TRIGGER":"Bir sonraki bölüm bildiriminin gösterilme süresi:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Sonraki görüntü açılır pencere süresi","SETTINGS_PLAY_IN_BACKGROUND":"Arka planda oynat","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Harici oynatıcıda oynat","SETTINGS_RESIZE":"Oynatmadan önce pencereyi otomatik yeniden boyutlandır","SETTINGS_OVERRIDE_SERVER":"Yayın akış sunucusu URL\'sini geçersiz kıl (gelişmiş)","SETTINGS_SERVER_URL":"Yayın akış sunucusu URL\'si: ","SETTINGS_SERVER_AVAILABLE":"Yayın akış sunucusu kullanılabilir.","SETTINGS_SERVER_UNAVAILABLE":"Yayın akış sunucusu kullanılabilir değil.","SETTINGS_SERVER_STATUS_ONLINE":"Çevrimiçi","SETTINGS_SERVER_STATUS_ERROR":"Hata","SETTINGS_SERVER_CONFIGURE_TITLE":"Yayın akış sunucusu URL\'sini yapılandırın","SETTINGS_SERVER_CONFIGURE_INPUT":"Bir yayın akış sunucusu URL\'si girin","SETTINGS_SERVER_CACHE_SIZE":"Önbellek boyutu","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent profili","SETTINGS_HTTPS_ENDPOINT":"Yayın akışı HTTPS uç noktası: ","SETTINGS_TRANSCODE_PROFILE":"Kod dönüştürme profili","SETTINGS_USE_BETA":"Her zaman en son Beta\'yı kullan","SETTINGS_IMPORT_FB":"Facebook\'tan içe aktar","SETTINGS_IMPORT_DISK":"Yerel diskten içe aktar","SETTINGS_IMPORT_TRAKT":"Trakt\'tan içe aktar","SETTINGS_PAUSE_MINIMIZED":"Simge durumunda oynatmayı duraklat","SETTINGS_HWDEC":"Donanım hızlandırmalı kod çözme","SETTINGS_BACKGROUND":"Arka planda oynatma","SETTINGS_SUBSCRIBE_CALENDAR":"Takvime abone ol","SETTINGS_REQ_EXPORT":"Veriyi dışa aktarmayı iste","SETTINGS_ACC_DELETE":"Hesap silme iste","SETTINGS_CHANGE_PASSWORD":"Parolayı değiştir","SETTINGS_TOS":"Kullanım şartları","SETTINGS_SUPPORT":"Destekle iletişime geç","SETTING_LANGUAGE":"Dil","SETTINGS_TRAKT":"Trakt Skroblama","SETTINGS_TRAKT_LOGOUT":"Trakt.tv oturumunu kapat","SETTINGS_TRAKT_LOGOUT_2":"Trakt oturumunu kapat","SETTINGS_SCAN_FOR_REMOTE":"Uzaktan açmak için QR kodu tara","SETTINGS_DESKTOP_NOTIFICATIONS":"Masaüstü bildirimleri","SETTINGS_DATA_SAVER":"Veri tasarrufu","SETTINGS_LANGUAGE_INTERFACE":"arayüz","SETTINGS_LANGUAGE_SUBS":"varsayılan altyazılar","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Ses İzini otomatik seç","SETTINGS_DEFAULT_AUDIO_TRACK":"Varsayılan Ses İzi","SETTINGS_SURROUND_SOUND":"Çevresel ses","SETTINGS_ACCOUNT":"hesap","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"sürüm","SETTINGS_ABOUT":"Hakkında","SETTINGS_MPV_WINDOW":"Oynatıcıyı ayrı bir pencerede başlat (gelişmiş)","SETTINGS_PLAY_IN_EXTERNAL":"Görüntüyü her zaman harici oynatıcıda başlat","SETTINGS_STORAGE_BUTTON":"Yerel Depolamayı Temizle","SETTINGS_STORAGE_MODAL_TITLE":"Emin misiniz?","SETTINGS_STORAGE_MODAL_MESSAGE":"Bu, yerel depolamayı temizleyecek ve oturumunuzu kapatacak.","SETTINGS_HWDEC_PICKER":"Donanım hızlandırmalı kod çözme ayarını seçin","SETTINGS_HW_AUTOMATIC":"Otomatik","SETTINGS_HW_DISABLED":"Etkisizleştirildi","SETTINGS_HW_ACCELERATED":"Kod çözme hızlandırması","SETTINGS_HW_FULL":"Tam hızlandırma","SETTINGS_HW_LEGACY":"Eski","SETTINGS_DISABLED":"Etkisizleştirildi","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Ağ bağlantısı bildirimi","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Uzak URL","SETTINGS_COPY_REMOTE_URL":"Uzak URL\'yi kopyala","SETTINGS_REMOTE_URL_COPIED":"Uzak URL panonuza kopyalandı","SETTINGS_SECTION_SUBTITLES":"Altyazılar","SETTINGS_SECTION_AUDIO":"Ses","SETTINGS_SECTION_CONTROLS":"Denetimler","SETTINGS_SECTION_AUTO_PLAY":"Otomatik Oynat","SETTINGS_SECTION_ADVANCED":"Gelişmiş","SUBSPICKER_AUDIO":"Ses","SUBSPICKER_SUBTITLES":"Eklenti Altyazıları","SUBSPICKER_BLACK_BACKGROUND":"Siyah arka plan rengi kullan","SUBSPICKER_VERTICAL_OFFSET":"Dikey Uzaklık","SUBSPICKER_SIZE":"Boyut","SUBSPICKER_DELAY":"Gecikme","SUBSPICKER_EMBEDDED_SUBS":"Gömülü Altyazılar","MOBILE_PRIVACY_POLICY":"Gizlilik İlkesi","MOBILE_CRASH_REPORTING":"Çökme Bildirimi","MOBILE_ZOOM_TO_FILL":"Ekranı Doldurmak için yakınlaştır","MOBILE_PASSTHROUGH":"Dijital ses çıkışı (içinden geçiş)","MOBILE_RUN_LOW_BATTERY":"Düşük pilde çalıştır","MOBILE_RUN_FOREGROUND":"Ön Plan Hizmeti olarak çalıştır","MOBILE_PERFORMANCE":"PERFORMANS VE KARARLILIK","MOBILE_SERVER_ONLINE":"Çevrimiçi","MOBILE_SERVER_OFFLINE":"Çevrimdışı","MOBILE_QR_EXPIRES":"QR Kod süresi sona erme zamanı ","MOBILE_LOG_INTO":"Stremio hesabınıza oturum açın ","MOBILE_SCAN_QR":"Yukarıdaki QR kodu tarayın veya ","MOBILE_LINK_ACCOUNT":"Hesabı Bağla","MOBILE_SPEEDPICKER_CANCEL":"İptal","MOBILE_SPEEDPICKER_LABEL":"Oynatma Hızını Seçin","MOBILE_EMPTY_LIBRARY":"Kitaplığınız boş","MOBILE_NO_ADDON_ACTIVE":"Bu tür için etkin Stremio eklentisi yok.","MOBILE_ORGANIZER_WARNING":"Stremio Organizer uygulaması sınırlı işlevsellik sağlar. Oynatılabilir akışların listesi ve tam Stremio deneyimi için Stremio\'yu masaüstünde kullanın.","MOBILE_ADDON_LOADING":"hala yükleniyor","MOBILE_ADDONS_LOADING":"eklentiler hala yükleniyor","MOBILE_ADDON":"Eklenti","MOBILE_CONFIGURE_ADDON":"Eklentinizi yapılandırın","MOBILE_CONFIGURE_ADDON_LABEL":"Eklentiyi Yapılandır","MOBILE_ORGANIZER_ADDONS_WARNING":"Stremio Organizer uygulaması sınırlı eklenti seçimi sağlar. Tam Stremio deneyimi için Stremio\'yu masaüstünde kullanın.","MOBILE_DISCONNECT":"Bağlantıyı kes","MOBILE_LOOKING_FOR_DEVICES":"Cihazlar aranıyor...","MOBILE_CAST_TO":"Yayın yeri","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Hesabı Silin","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Yasal yükümlülüklerden dolayı hesap silme işlemi anında gerçekleşmez. Hesabınızın silinmesini talep ettikten sonra, gelecekte yeni bir Stremio hesabı oluşturmak için farklı bir e-posta adresi/facebook profili kullanmak zorunda kalacaksınız.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Hesap Silmeyi Onaylayın","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Hesabınız Facebook kullanılarak oluşturuldu. Hesabınızı silmek için lütfen www.stremio.com/login adresindeki kullanıcı portalımızı kullanın.","MOBILE_DELETE_ACCOUNT_MESSAGE":"Hesap silme işlemini onaylamak için lütfen parolanızı girin.","MOBILE_DELETE_ACCOUNT_BUTTON":"Hesabı Sil","NAVIGATION_ON":"Açık","NAVIGATION_OFF":"Kapalı","MARKETING_AGREE":"Stremio\'dan pazarlama haberleri almayı kabul ediyorum","QUIT":"Çıkış","CONNECTED":"Bağlandı","AUTHENTICATE":"Kimlik Doğrula","CACHING":"Önbellekleme","SETTINGS_CACHING_DRIVE":"Önbellekleme sürücüsü","ENABLE_LOCAL_FILES_ADDON":"Yerel dosyalar eklentisini etkinleştir (yeniden başlatma gerektirir)","LOCAL_ADDON_NOT_ENABLED":"Yerel eklenti etkinleştirilmemiş. Ayarlara gitmek ve etkinleştirmek için buraya tıklayın","ENABLE_REMOTE_HTTPS_CONN":"Uzak HTTPS bağlantılarını etkinleştir","TORRENT_PROFILE":"Torrent Profili","DATA_CACHING":"Veri Önbellekleme","MAGNET_PARSING":"Magnet bağlantısı ayrıştırılıyor","January":"Ocak","February":"Şubat","March":"Mart","April":"Nisan","May":"Mayıs","June":"Haziran","July":"Temmuz","August":"Ağustos","September":"Eylül","October":"Ekim","November":"Kasım","December":"Aralık","Monday":"Pazartesi","Tuesday":"Salı","Wednesday":"Çarşamba","Thursday":"Perşembe","Friday":"Cuma","Saturday":"Cumartesi","Sunday":"Pazar","Action":"Aksiyon","Comedy":"Komedi","War":"Savaş","Family":"Aile","Animation":"Animasyon","Adventure":"Macera","Fantasy":"Fantastik","Crime":"Suç","Mystery":"Gizem","Romance":"Romantik","Drama":"Dram","Horror":"Korku","Thriller":"Gerilim","Sci-Fi":"Bilim Kurgu","Music":"Müzik","Biography":"Biyografi","Documentary":"Belgesel","Sport":"Spor","Musical":"Müzikal","Western":"Batılı","Film-Noir":"Kara Film","News":"Haber","History":"Tarih","Game-Show":"Oyun-Gösteri","Reality-TV":"Gerçeklik-TV","Talk-Show":"Sohbet Programı","Film & Entertainment":"Film ve Eğlence","Gaming":"Kumar","From TV":"Televizyondan","Lifestyle":"Yaşam","Science & Education":"Bilim ve Eğitim","Cooking & Health":"Yemek Pişirme ve Sağlık","Beauty & Fashion":"Güzellik ve Moda","Sports":"Spor","News & Politics":"Haber ve Politika","How-to & DIY":"Nasıl Yapılır ve Kendin Yaparsın","Tech":"Teknoloji","Automotive":"Otomotiv","Causes & Non-Profits":"Nedenler ve Kâr Amacı Gütmeyenler","Movies":"Filmler","Uk Live Tv":"İngiliz Canlı TV","Fashion":"Moda","Business News Radio":"İş Haberleri Radyosu","Business Tv":"İş Televizyonu","Cars & Auto":"Otomobil ve Otomotiv","Comedy Radio":"Komedi Radyosu","Lifestyle Radio":"Yaşam Stili Radyosu","News Tv":"Haber TV","Food And Wine":"Yemek ve Şarap","Latino Tv":"Latin TV","Shopping Tv":"Alışveriş Televizyonu","Religion":"Din","Kids":"Çocuklar","Body & Soul":"Vücut ve Ruh","Education":"Eğitim","Indian Tv":"Hindistan TV","Extreme Sports":"Ekstrem Sporlar","Middle Eastern Tv":"Ortadoğu TV","Celebrity Tv":"Magazin TV","Science Tv":"Bilim TV","Bikini babe":"Bikini güzelleri","Outdoors":"Açık Hava","German Tv":"Alman TV","French Tv":"Fransız TV","Italian Tv":"İtalyan TV","Gamer Tv":"Oyuncu TV","Travel":"Gezi","Asian Tv":"Asya TV","Entertainment":"Eğlence","News Radio":"Haber Radyosu","Music Radio":"Müzik Radyosu","Language Learning":"Dil Öğrenme","Science Radio":"Bilim Radyosu","Tech Radio":"Teknoloji Radyosu","Science & Technology Vod":"Bilim ve Teknoloji Seç-İzle","new video":"yeni görüntü","new episode":"yeni bölüm","new movie":"yeni film","recommended":"önerilen","we recommend":"önerdiklerimiz","offer of the day":"günün teklifi","news":"haberler","music video":"klip","CTX_SHOW_HOTKEYS":"Kısayol tuşlarını göster","CTX_DISMISS_NOTIF":"Bildirimleri yoksay","CTX_DISMISS_ALL":"Tümünü yoksay","CTX_SHARE":"Paylaş","CTX_COPY_SHARE_LINK":"Paylaşma bağlantısını kopyala","CTX_COPY_MAGNET_LINK":"Magnet bağlantısını kopyala","CTX_COPY_STREAM_LINK":"Akış bağlantısını kopyala","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Görüntü indirme bağlantısını kopyala","CTX_DOWNLOAD_VIDEO":"Bu görüntüyü indir","CTX_DOWNLOAD_SUBS":"Altyazıları indir","CTX_VIEW_ON_YOUTUBE":"YouTube\'da görüntüle","CTX_SHOW":"Göster","CTX_PLAY":"Oynat","CTX_PLAY_IN":"Oynat","CTX_PLAY_ON":"Oynat","CTX_WATCH_ON":"İzle","CTX_WATCH":"İzle","CTX_WATCHED":"İzlendi","CTX_WATCH_BEGINNING":"Baştan izle","CTX_WATCH_MOBILE":"Mobil bir cihazda izle","CTX_REWIND":"En başa al","CTX_MARK_WATCHED":"İzlendi olarak işaretle","CTX_MARK_NON_WATCHED":"İzlenmedi olarak işaretle","CTX_MARK_UNWATCHED":"izlenmedi olarak işaretle","CTX_MARK_REST":"Geri kalanını izlendi olarak işaretle","CTX_UNMARK_REST":"Geri kalanını izlenmedi olarak işaretle","CTX_RECEIVE_NEW_NOTIF":"Yeni bildirimleri al","CTX_ENABLE_NEW_NOTIF":"Bildirimleri etkinleştir","CTX_DISABLE_NEW_NOTIF":"Bildirimleri etkisizleştir","CTX_REMOVE_CACHE":"Önbellekten kaldır","CTX_REMOVE_CACHE_EP":"Bölümü önbellekten kaldır","CTX_OPEN_CONTAINING":"İçerdiği klasörü aç","CTX_REMOVE":"Kitaplıktan kaldır","CTX_AVAILABLE_OFFLINE":"Çevrimdışı Kullanılabilir","CTX_PAUSED":"Duraklatıldı","CTX_ALWAYS_ON_TOP":"Her zaman üstte","CTX_FULLSCREEN":"Tam ekran","CTX_WRONG_SUBS":"Altyazı yanlış mı?","CTX_REPORT_ISSUES":"Sorun bildir","CTX_COPY":"Kopyala","CTX_PASTE":"Yapıştır","CTX_CLEAR":"Temizle","CTX_CLEAR_RECENT_SEARCHES":"Son arananları temizle","HELLO_THERE":"Merhaba","HOPE_YOU_ENJOY":"Stremio\'dan keyif aldığınızı ve şimdiden en sevdiğiniz uygulamalardan biri olduğunu umuyoruz!","WHO_ARE_WE":"Biz kimiz? Biz bunun arkasındaki takımız - bu ürünü daha iyi ve daha iyi hale getirmek için son 3 yıldır her gün çok çalışan iki adamız.","SUPPORT_US":"Eğer Stremio\'yu kullanmaktan keyif alıyorsanız, Stremio sizin için değerliyse - duyurun!","SPREAD_THE_WORD":"Hemen arkadaşlarınızla paylaşın, Stremio\'yu herkese duyurun","MORE_PEOPLE":"Stremio\'yu ne kadar çok kişi kullanırsa, o kadar iyi olacaktır!","SEND_A_LINK":"Veya web sitemize bir bağlantı gönderin","TIP_LOCALFILES":"İpucu: yerel görüntü dosyalarınızı Stremio\'ya sürükleyip bırakabilirsiniz","ADDON_MY":"Eklentilerim","ADDON_COMMUNITY":"Topluluk Eklentileri","ADDON_OFFICIAL":"Resmi Eklentiler","ADDON_REPOS":"Eklenti koleksiyonları","ADDON_SEARCH":"Eklentileri ara","ADDON_INSTALL":"Yükle","ADDON_CONFIGURE":"Yapılandır","ADDON_UNINSTALL":"Kaldır","ADDON_UPGRADE":"Yükselt","ADDON_INSTALLED":"Yüklenmiş","ADDON_INSTALLED_MSG":"Eklenti yüklendi!","ADDON_UPGRADED_MSG":"Eklenti yükseltildi!","ADDON_UNKNOWN":"Bilinmiyor","ADDON_ERR":"Eklenti yükleme hatası!","ADDON_DISCONNECTED":"Bağlantı kesildi","ADDON_APP_MISSING":"bu kaynak için uygulama yüklü değil. Şimdi yüklemek istiyor musunuz?","ADDON_APP_INSTALL":"Şimdi Yükle","ADDON_PAGE":"Eklenti Sayfası","ADDON_TOP_CONTENT":"Bu Eklentiden en iyisi","ADDON_PROVIDES":"Bu eklentinin size vereceği:","ADDON_WATCH":"Şimdi #{types} izleyin!","ADDON_WATCH_FREE":"Şimdi ÜCRETSİZ #{types} izleyin!","ADDON_ADDON":"Eklenti","ADDON_SUPPORTED_TYPES":"Desteklenen türler","ADDON_SUPPORTED_CATALOGS":"Desteklenen kataloglar","ADDON_PROVIDES_DISCOVER":"Keşfet\'te daha fazla #{types}","ADDON_PROVIDES_STREAMS":"#{types} izleyin","ADDON_PROVIDES_STREAMS_FREE":"ÜCRETSİZ #{types} izleyin","ADDON_PROVIDES_SUBTITLES":"#{types} için altyazılar","ADDON_CANTDETECT":"Çalışan bir Stremio algılayamadık, bu yüzden hangi eklentileri yüklediğinizi tespit edemedik.","ERR_NO_META":"Hiçbir bilgi bulunamayan konu ","ERR_GETTING_META":"Bu konuda bilgi alınırken hata oldu.","ERR_CANT_PARSE_MAGNET":"Magnet ayrıştırılamıyor","ERR_NO_MAGNET_INFOHASH":"Magnet için geçerli bir adresleme bilgisi yok","ERR_NO_FILE_PATH":"Dosya yolu olmayan istek gönderilemiyor","ERR_NO_TORRENT":"Dönen torrent yok","ERR_NO_SUPPORTERD_FILES":"Desteklenen dosyalar bulunamadı","ERR_OPENING_FILES":"Harici dosyalar açılamadı","ERR_INVALID_LINK":"Geçersiz bağlantı","ERR_REGISTERED_ONLY":"Bu seçenek yalnızca kayıtlı kullanıcılar için mevcuttur.","ERR_CLIPBOARD":"Panodan oynatılamıyor","ERR_CLIPBOARD_READ":"Bu platformda pano okunamıyor","ERR_CLIPBOARD_GENERIC":"Panoda oynatılabilir URL bulunamadı. Lütfen bir görüntü için URL\'yi (örn. bir magnet bağlantısı) kopyalayın.","BOARD_CONTINUE_WATCHING":"İzlemeye devam edin","BOARD_EXPLANATION_RECOMMENDATIONS":"Filmler sizin için özel olarak seçildi.<br />Bu film örnek bir öneridir.","BOARD_EXPLANATION_EPISODES":"En sevdiğiniz Dizilerin yeni bölümleri buraya gelir.<br />Takip ettiğiniz dizileri Kitaplığınıza ekleyin.","BOARD_EXPLANATION_VIDEOS":"En sevdiğiniz Kanalların yeni bölümleri buraya gelir.<br />Takip ettiğiniz YouTube kanallarını Kitaplığınıza ekleyin.","WEBSITE_ENJOYED_BY":"Dünya çapında 30 milyondan fazla kullanıcı tarafından beğenildi","WEBSITE_STREAMING_ENHANCED":"Gelişmiş Yayın Akışı","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio, güvenli, modern ve kusursuz bir eğlence deneyimi sunar. Kullanımı kolay arayüzü ve 4K HDR desteği de dahil olmak üzere çeşitli içerik kitaplığı ile kullanıcılar, en sevdikleri filmlerin ve TV programlarının keyfini tüm cihazlarında çıkarabilir. Ve güvenlik taahhüdü ile Stremio, endişesiz, yüksek kalitede bir yayın akışı deneyimi için nihai seçimdir.","WEBSITE_AVAILABLE_ON":"Kullanılabildiği yerler:","WEBSITE_WATCH_AND_ENJOY":"İzleyin ve Keyfini Çıkarın.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio bunu çok kolay hale getirir","WEBSITE_ALL_FEATURES":"Tüm özellikler","WEBSITE_EASY_TO_USE":"Kullanımı Kolay","WEBSITE_EASY_TO_USE_DETAILS":"Stremio, kullanıcı dostu ve kullanımı kolay olacak şekilde tasarlanmıştır. Temiz ve sezgisel arayüzü ile kolayca gezinebilir ve izlemek istediğiniz içeriği bulabilirsiniz.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Cihazlar Arasında Sorunsuz","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Geniş platform yelpazesinde (Windows, Mac, Linux, Android ve daha fazlası dahil) kullanılabilen Stremio, ilerlemenizi tüm cihazlarınızda takip edecektir. Her yeni cihazda uygulamayı yeniden yapılandırmak zorunda kalmadan oturum açın ve izlemeye devam edin.","WEBSITE_ALL_DOWNLOADS":"Tüm İndirmeler","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"Yüksek Çözünürlüklü Görüntü Desteği","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"4K HDR içeriği de dahil olmak üzere çoğu görüntü biçimini destekleyen bütünleşik bir görüntü oynatıcı, mevcut en yüksek kalitenin keyfini çıkarmanızı sağlar.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Çeşitli İçerik Kitaplığı","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio, Netflix, Amazon Prime Video, Hulu, YouTube ve çok daha fazlası gibi çok sayıda yaygın görüntü kaynağıyla bütünleşir.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Ücretsiz Bir Hesap Oluşturun","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Özel Görüntüleme Deneyimi","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio, temayı değiştirerek, eklentiler ekleyerek veya kaldırarak ve daha fazlasını yaparak arayüzün görünümünü ve verdiği hissi özelleştirmenizi sağlar.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Çok Dilde Altyazı Desteği","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"Stremio tüm dillerde altyazıları desteklediğinden artık tüm sevilen içeriğinizin keyfini tercih ettiğiniz dilde çıkarabilirsiniz.","WEBSITE_ALL_STREMIO_FEATURES":"Tüm Stremio özellikleri","WEBSITE_TRY_STREMIO_TITLE_P1":"Stremio’yu Şimdi","WEBSITE_TRY_STREMIO_TITLE_P2":"TV’nizde Deneyin","WEBSITE_YOU_CAN_NOW_WATCH":"Artık tüm sevilen TV programlarını Android TV cihazlarınızda izleyebilirsiniz. Stremio TV uygulaması, kolaylıkla bir film gecesinin keyfini çıkarmanızı sağlar.","WEBSITE_YOU_CAN_NOW_WATCH_2":"Artık tüm sevilen TV programlarını Akıllı TV’nizde veya Android TV’nizde izleyebilirsiniz. Stremio TV uygulamaları, kolaylıkla bir film gecesinin keyfini çıkarmanızı sağlar.","WEBSITE_STREMIO_FOR_SMART_TV":"Akıllı TV için Stremio","WEBSITE_PLAY_STORE_REVIEW":"Muhtemelen cihazınızda bulunabilecek en iyi ve en kullanışlı uygulama. Uzun yıllardır özellikle Android TV’mde günlük olarak kullandığım uygulamalardan biri. Yararlı işlevler sağlayan güçlü bir toplulukla iyi yapılmış. Tebrikler. Böyle İyi çalışmaya devam edin.","WEBSITE_REVIEWS":"inceleme","WEBSITE_GET_STREMIO_FOR_FREE":"Ücretsiz Alın","WEBSITE_GET_STREMIO_NOW":"Stremio’yu Hemen Alın","WEBSITE_STREMIO_FEATURES":"Stremio Özellikleri","WEBSITE_STREMIO_FEATURES_DETAILS":"Stremio’nun gelişmiş özellikleriyle bir profesyonel gibi yayın yapın ve tüm sevdiğiniz ortamlara sorunsuz erişimin keyfini çıkarın","WEBSITE_DISCOVER_MORE":"Daha fazlasını keşfedin.","WEBSITE_DISCOVER_MORE_DETAILS":"İzleyecek şeyler asla bitmez","WEBSITE_COMMUNITY_DRIVEN":"Topluluk odaklı","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio, eklentiler oluşturarak ve paylaşarak yazılımın geliştirilmesine katkıda bulunan geniş ve etkin bir kullanıcı topluluğuna sahiptir.","WEBSITE_GET_INVOLVED":"Dahil olun","WEBSITE_NEW_THEATER_EXPERIENCE":"Yeni Gösterim Deneyimi","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio’nun yeni adanmış TV uygulaması, Android TV cihazlarınızda bir film gecesinin keyfini çıkarmanızı sağlar.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio’nun yeni adanmış TV uygulamaları, Akıllı TV’nizde veya Android TV cihazlarınızda bir film gecesinin keyfini çıkarmanızı sağlar.","WEBSITE_FREE_AND_SECURE":"Ücretsiz ve Güvenli","WEBSITE_STREAMING":"Yayın Akışı","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio, kullanıcılar için benzersiz güvenlik ve gizlilik sunar. Eklentileri uzaktan çalıştırma benzersiz özelliği ile Stremio, diğer platformlara kıyasla en sevdiğiniz içeriği yayınlamak için daha güvenli bir yol sağlar. Güvenliğiniz ve gizliliğiniz en önemli önceliklerdir ve platform, tüm verilerinizin korunmasını sağlar.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Stremio ile güvenlik ve gizlilik endişelerine veda edin ve sonsuz eğlence dünyasına merhaba deyin.","WEBSITE_INFORMATION_PROVIDED_BY":"Bilgileri sağlayan","WEBSITE_CONTRIBUTE":"Projeye katkıda bulunun","WEBSITE_CONTRIBUTE_DESC":"ve Stremio’yu daha da iyi hale getirmemize yardımcı olun","WEBSITE_COMMUNITY_DESC":"Gerçekten harika bir yayın akışı deneyimi yaratmanın en iyi yolunun, topluluğumuzu sürece dahil etmek olduğuna inanıyoruz. İster bir programcı, ister bir sanatçı veya sadece bir hayran olun - Stremio’nun büyümesine yardımcı olabilirsiniz.","WEBSITE_COMMUNITY_DESC_2":"O halde bugün bize katılın ve Stremio topluluğunun bir parçası olun ve yayın akışının geleceğini şekillendirmeye devam edin.","WEBSITE_WAYS_TO_GET_INVOLVED":"Stremio topluluğuna","WEBSITE_IN_THE_STREMIO_COMMUNITY":"Dahil Olmanın Yolları","WEBSITE_SHARE_YOUR_THOUGHTS":"Düşüncelerinizi paylaşın","WEBSITE_REPORT_BUGS":"Hataları bildirin","WEBSITE_SUGGEST_FEATURES":"özellikler önerin","WEBSITE_AND_PROVIDE_FEEDBACK":"ve sosyal medya kanallarımızdan geri bildirim sağlayın.","WEBSITE_BETA_TESTING_PROGRAM":"Beta deneme programı","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Stremio topluluğunda beta deneme programımıza katılın (düzenli olarak davet göndeririz).","WEBSITE_JOIN_NOW":"Şimdi katılın!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Resmi Stremio Toplulukları","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Resmi Olmayan Stremio Toplulukları","WEBSITE_BECOME":"Gönüllü çevirmen","WEBSITE_A_VOLUNTEER_TRANSLATOR":"olun","WEBSITE_ARE_YOU_A_DEVELOPER":"Bir Geliştirici Misiniz?","WEBSITE_CONTRIBUTE_CODE":"Açık kaynak projelerimize kod yazarak katkıda bulunabilirsiniz. GitHub’da katkıda bulunabilecek kişiler arayan birkaç projemiz var. Eğer yardım etmekle ilgileniyorsanız, şunlara göz atın:","WEBSITE_STREMIO_ON_GITHUB":"GitHub’da Stremio","WEBSITE_CREATE_ADDON_DESC":"Stremio’nun işlevselliğini geliştirmek için bir eklenti oluşturun (kullanımı kolay bir API’ye sahibiz):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Eklenti SDK’sı","WEBSITE_INTERN_DEVELOPER":"Birlikte büyüyebilmemiz için stajyer geliştirici olarak bize katılma fırsatı da sağlıyoruz.","WEBSITE_APPLY_AS_AN_INTERN":"Stajyer olarak başvurun","WEBSITE_CALLING_ALL_ARTISTS":"Tüm Sanatçılara Sesleniyoruz!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Hayran çiziminizi çevrimiçi galerimize yükleyerek yaratıcılığınızı ve Stremio’ya olan sevginizi gösterin. İster çizim, ister boyama veya dijital tasarım olsun, Stremio markasına benzersiz yaklaşımınızı görmek istiyoruz. Sanat tutkunları topluluğumuza katılın ve çalışmalarınızı dünyanın dört bir yanındaki diğer Stremio hayranlarıyla paylaşın.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Galerisi","WEBSITE_INTERN_DESIGNER":"Ekibimizin bir parçası olun ve heyecan verici staj fırsatlarımızla yaratıcılığınızı yeni zirvelere taşıyın.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Herkese Açık Filmler Projesi","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"Stremio’da, herkese açık ve sahipsiz görüntüleri belirleyerek film ve televizyon tarihini korumaya kararlıyız. Topluluğumuzla birlikte çalışarak, bu klasik sanat eserlerinin herkes tarafından erişilebilir olmasını ve gelecek nesillerin keyif alması için korunmasını sağlayabiliriz.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Siz de bu projede yer almak istiyorsanız bizimle iletişime geçmekten çekinmeyin.","WEBSITE_JOIN_THE_PROJECT":"Projeye Katılın","WEBSITE_BE_PART_OF_OUR_MISSION":"Misyonumuzun bir parçası olun","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Stremio ekibine katılmakla ilgilenir misiniz? Tutkulu profesyoneller için tamamen uzaktan çalışma sunuyoruz. Açık pozisyonlarımıza göz atın.","WEBSITE_OPEN_POSITIONS":"AÇIK POZİSYONLAR","WEBSITE_DESCRIPTION":"TANIMI","WEBSITE_LEARN_MORE":"Daha fazla bilgi edinin","WEBSITE_COMPANY":"Şirket","WEBSITE_CONTACTS":"İletişim","WEBSITE_NEED_HELP":"Yardıma mı ihtiyacınız var?","WEBSITE_STREMIO_WEB_ON_IOS":"iOS’ta Stremio için Web Kılavuzu","WEBSITE_LINK_ART_V2":"Fanart Galerisi","WEBSITE_PARTNERS":"Ortaklar","WEBSITE_SLOGAN_WATCH":"Anında İzleyin","WEBSITE_SLOGAN_ALL":"Keyif Aldığınız Tüm Görüntü İçeriği Tek Bir Yerde","WEBSITE_SLOGAN_NEW":"Tüm İzleyebileceğiniz","WEBSITE_SLOGAN_NEW_NEW":"Akış Özgürlüğü","WEBSITE_WATCH_FROM":"İzleyeceğiniz yer","WEBSITE_DOWNLOAD":"Şimdi İndir","WEBSITE_DOWNLOAD_FOR":"Şimdi İndireceğiniz","WEBSITE_IS_DESKTOP":"Stremio bir masaüstü uygulamasıdır, bu sayfayı PC\'nizde açın ve indirin","WEBSITE_DESKTOP_DEMO_VID":"Masaüstü tanıtımı","WEBSITE_PAGE_HOME":"Giriş","WEBSITE_PAGE_FEATURES":"Özellikler","WEBSITE_PAGE_ADDONS":"Eklentiler","WEBSITE_PAGE_TECH":"Teknoloji","WEBSITE_PAGE_CREATE_ADDON":"Eklenti Oluşturun","WEBSITE_PAGE_CONTACTS":"İletişim","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Lütfen istediğiniz yeni parolanızı aşağıya girin.","WEBSITE_RESET_PASSWORD_WARNING":"${1} için parolayı sıfırlamak istediğinize emin misiniz?","WEBSITE_TYPE_movie":"Filmler","WEBSITE_TYPE_series_PL":"Diziler","WEBSITE_TYPE_tv":"Canlı TV","WEBSITE_TYPE_channel":"Kanallar","WEBSITE_STREMIO_WHAT_IS":"Stremio, en sevdiğiniz görüntüleri, filmleri, dizileri ve TV kanallarını düzenlemenize ve anında izlemenize yardımcı olan bir uygulamadır.","WEBSITE_FEATURES_WATCH":"HD olarak Anında İzleyin","WEBSITE_FEATURES_WATCH_DETAIL":"En sevdiğiniz filmlere, TV Programlarına, görüntülere ve TV kanallarına tıklayın ve oynatın.","WEBSITE_FEATURES_SUBS":"Otomatik Altyazılar","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio diliniz için eşitlenmiş altyazıları otomatik olarak seçer.","WEBSITE_FEATURES_SUBS_LABEL":"Sıra sende, şef.","WEBSITE_FEATURES_CAST":"TV ve mobil cihazlarda oynat","WEBSITE_FEATURES_CAST_DETAIL":"Apple TV, Chromecast, Akıllı TV (DLNA/UPnP) ve mobil cihazlarda yayınlayın.","WEBSITE_LIB":"Tüm Cihazlarınızda Eşitlenen Kişisel Kitaplığınızın Keyfini Çıkarın","WEBSITE_LIB_COLLECT":"Stremio\'dan toplayın","WEBSITE_LIB_IMPORT":"Facebook\'tan içe aktarın","WEBSITE_LIB_LOCAL":"Yerel sürücünüzden ekleyin","WEBSITE_BOARD":"Pano - Bildirimler ve Öneriler için tek durak yeri","WEBSITE_BOARD_RECOMMEND":"Önerilen TV Programı","WEBSITE_BOARD_TRENDING":"Çok İzlenen Film","WEBSITE_BOARD_NEW":"Yeni Görüntü","WEBSITE_BOARD_EPISODE":"Yeni Bölüm","WEBSITE_BOARD_1":"İzlemek için ilginç bir şeyler mi arıyorsun? Zevkinize göre öneriler al!","WEBSITE_BOARD_2":"En sevdiğin TV programında veya YouTube kanalında yeni bir bölüm çıktıkça haberdar ol!","WEBSITE_BOARD_YOUTUBE":"YouTube kanallarının yeni videoları","WEBSITE_BOARD_EPISODES":"Takip ettiğiniz dizilerin yeni bölümleri","WEBSITE_ADDONS":"İçerik Eklentileri","WEBSITE_TECH_DETAIL":"Teknolojiyi seviyoruz, deli bilimi seviyoruz!\\nStremio aşağıdaki açık kaynak teknolojilerini kullanıyor:","WEBSITE_TECH_WCJS":"WebChimera.js, Stremio\'nun iyi bir performans ile herhangi bir video formatını oynatmasına izin verir.","WEBSITE_TECH_WCJS_EXTRA":"Biz temel projeye katılımcılarıyız","WEBSITE_TECH_ELECTRON":"Electron, Stremio\'yu inşa etmek için yenilikçi bir platform sağlar.","WEBSITE_TECH_ELECTRON_EXTRA":"Proje katılımcılarıyız","WEBSITE_TECH_LINVODB":"Verilerinizi sağlayan bir veritabanı teknolojisi düzenlenmiştir ve oturum açtığınız her yerde kullanılabilir.","WEBSITE_TECH_LINVODB_EXTRA":"Şirket içi teknoloji","WEBSITE_CREATE_ADDON":"Kendi eklentinizi oluşturun","WEBSITE_CREATE_ADDON_DETAIL":"Video içeriği sunan bir hizmetin var mı? Sizin eklenti oluşturarak Stremio\'nun özelliklerinden yararlanmanıza yardımcı olacağız.","WEBSITE_CREATE_ADDON_BENEFITS":"Stremio Eklentisi Yaratmanın Faydaları","WEBSITE_P2P_BEAUTY":"Uçtan uca akışının güzelliği","WEBSITE_P2P_1":"İsteğe bağlı veya canlı akışla güvenilir ve satın alınabilir Full HD/4K video","WEBSITE_P2P_2":"Mükemmel bir kullanıcı deneyimi sağlayan dağıtım platformu","WEBSITE_P2P_3":"Tam ihtiyaçlarınızı karşılayan bir eklenti oluşturacağız","WEBSITE_P2P_CONTACT":"İlgilendiniz mi? <a href=\'mailto:office@stremio.com\'>Bize ulaşabilirsiniz</a>.","WEBSITE_P2P_CONTACT_EXTRA":"İçeriğinizi Stremio ile entegre etmenize yardımcı olmaktan mutluluk duyacağız!","WEBSITE_P2P":"Bir süre sonra, oyunun adını değiştiren bir teknoloji gelir. Herhangi bir kullanım durumuna uyum sağlamak için mükemmel performans ve çok yönlülük sağlayan P2P video akışı motoru kurmaya zaman ve çaba harcadık.\\nDRM özellikli P2P video, talep üzerine veya canlı akış için bize ulaşın.","WEBSITE_THOUGHTS":"Paylaştığımız düşünceler:","WEBSITE_SPREAD":"Stremio kelimesini herkese duyurun:","WEBSITE_CONTACT":"Eğer bizimle iletişime geçmek istiyorsanız, devam edin","WEBSITE_OPENSOURCE":"Açık kaynak projelerimiz için gitmeniz gereken yer","WEBSITE_BITCOIN":"Bitcoin bağışla:","WEBSITE_FAQ":"Sıkça sorulan sorular","WEBSITE_FAQ_SHORT":"SSS","WEBSITE_QUESTIONS":"Sorular","WEBSITE_TOS":"Kullanım şartları","WEBSITE_LEGAL":"Yasal","WEBSITE_PAGE_ABOUT":"Hakkında","WEBSITE_PAGE_BECOME_PARTNER":"Ortak ol","WEBSITE_ALL_YOU_CAN_WATCH":"Tamamını İzleyebilirsin","WEBSITE_FREEDOM_TO_STREAM":"İzleme Özgürlüğü","WEBSITE_WHAT_IS_STREMIO":"Stremio nedir?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio, video içerik toplama için tek duraklı bir merkezdir. Sahip olduğunuz herhangi bir cihaz üzerinden her türlü kaynaktan video keşfedin, düzenleyin ve izleyin.","WEBSITE_WHAT_IS_STREMIO_P2":"Filmler, TV programları, diziler, canlı televizyonlar ya da YouTube ve Twitch.tv gibi web kanalları. Bunların hepsini Stremio\'da bulabilirsiniz.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio, video eğlence için tek noktadan çözüm sunan modern bir medya merkezidir. Kurulumu kolay eklentilerden video içeriğini keşfeder, izler ve düzenlersiniz.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Filmler, TV programları, canlı TV veya web kanalları. Tüm bunları Stremio\'da bulabilirsiniz.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Tüm Medya cihazlarınızda keyfini çıkarın","WEBSITE_DEVICES_COLLECT":"Stremio\'dan toplayın","WEBSITE_DEVICES_IMPORT_FB":"Facebook\'tan içe aktarın","WEBSITE_DEVICES_LOCAL":"Yerel sürücünüzden ekleyin","WEBSITE_JOIN_THE_PARTY_NOW":"Şimdi partiye katılın","WEBSITE_DEVICES_ALL":"Tüm cihazlarınızda kullanımı kolay;","WEBSITE_EXTENDABLE_CATALOG":"Sonsuz genişletilebilir video kataloğu;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Medyanızı düzenlemek için harika özellikler;","WEBSITE_AS_SEEN_ON":"Görüldüğü gibi","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"Hakkımızda","WEBSITE_LINK_TECHNOLOGY":"Teknoloji","WEBSITE_LINK_APPS":"Uygulamalar","WEBSITE_LINK_DOWNLOADS":"İndirmeler","WEBSITE_MORE":"Daha fazlası","WEBSITE_LINK_ADDONS":"Eklentiler","WEBSITE_LINK_ADDON_SDK":"Eklenti SDK","WEBSITE_LINK_CONTRIBUTE":"Katkıda bulun","WEBSITE_LINK_COMMUNITY":"Topluluk","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... ve Daha fazlası","WEBSITE_LINK_HELP":"Yardım merkezi","WEBSITE_LINK_CONTACTS":"İş görüşmeleri","WEBSITE_LINK_TOS":"Şartlar ve koşullar","WEBSITE_LINK_PRAVACY":"Gizlilik ilkesi","WEBSITE_SUBSCRIBE":"Abone ol","WEBSITE_NEWSLETTER":"Şaşırtıcı şeyler için haber bültenimize kaydolun","WEBSITE_PLACEHOLDER_EMAIL":"E-posta adresin","WEBSITE_COMMUNITY":"Topluluk","WEBSITE_LINK_PRAVACY_LEGAL":"Gizlilik ve yasal","WEBSITE_WHY":"Neden yapıyoruz?","WEBSITE_WHY_P1":"Stremio\'da her gün çalışmaya başlıyoruz, çünkü talep üzerine video endüstrisi için önemli bir sorunu çözmek istiyoruz. Her dakika yayınlanan yeni birçok içerik var ve bununlar içinde yol bulmanız neredeyse imkânsız.","WEBSITE_WHY_P2":"İnsanlara bu muazzam video eğlence dünyasında gezinmelerine ve keyif alacakları yeni içerikler keşfetmelerine yardımcı oluyoruz. Uygulamalarımız filmleri, dizileri, canlı televizyonlarını, web kanallarını ve daha fazlasını bir araya getirir. Kullanıcıların sevdikleri başlıkları ve yayıncıları bulmalarını inanılmaz derecede kolaylaştırmayı amaçlıyoruz.","WEBSITE_WHY_P3":"Hizmetimizi herhangi bir cihazda, istediğiniz zaman kullanabilir ve Stremio\'yu ihtiyacınız olan tek video eğlence merkezi haline getirebilirsiniz.","WEBSITE_TEAM":"TAKIM","WEBSITE_TEAM_P":"Stremio ekibi küçük ama güçlü: arkadaki 10 kişi ile, X dilinde kod yazıyoruz ve yazılım geliştirme, UI ve UX tasarım, pazarlama ve reklamcılık dahil iş dünyası ve girişimler konularında uzmanlıklar paylaşıyoruz.","WEBSITE_FEATURES":"Özellikler","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Yeni içeriği kolayca keşfedin","WEBSITE_FEATURES_DISCOVER_P":"İzlenecek yeni filmleri, TV programlarını, dizileri ve kanalları kolayca keşfedin. Kategoriye, türüne, derecelendirmeye, yeniliğe vb. göre göz atın veya bulmak için sadece bir isim yazın. Stremio yeni video içeriği bulmayı çok kolay hale getiriyor.","WEBSITE_FEATURES_ALL_CONTENT":"Tüm video içeriğiniz tek bir ekranda","WEBSITE_FEATURES_ALL_CONTENT_P1":"Hangi filmleri, dizileri veya videoları tamamlamadığınızı görün ve izlemeye devam edin. Yeni bölümler ve sürümler için bildirim alın. Görüntüleme alışkanlıklarınıza göre alacağınız önerilere göz atın.","WEBSITE_FEATURES_LIBRARY":"Video kitaplığınızı düzenleyin","WEBSITE_FEATURES_LIBRARY_P1":"Tek bir tıklama ile Stremio kitaplığınıza herhangi bir başlık ekleyin ve içeriklerinizi türe, yeniliğe ya da alfabetik olarak düzenlenmiş bir şekilde bulun.","WEBSITE_FEATURES_CALENDAR":"İzlediğiniz her şeyi takip edin","WEBSITE_FEATURES_CALENDAR_P1":"Kitaplığınıza eklediğiniz tüm filmlerin ve dizilerin takvim görselleştirmesini alın. Stremio takviminizi dışa aktarın ve eşitleyin, böylece yeni bir bölümün veya bir ilk gösterimin ne zaman geleceğini bilirsiniz.","WEBSITE_FEATURES_BIG_SCREEN":"Video içeriğinizin keyfini daha büyük bir ekranda çıkarın","WEBSITE_FEATURES_BIG_SCREEN_P1":"İzlediğiniz her şeyi tek bir tıklama ile ister telefon, ister tablet, isterseniz TV\'den başka bir cihaza aktarın.","WEBSITE_FEATURES_SOURCES":"Birçok farklı kaynaktan video izleyin","WEBSITE_FEATURES_SOURCES_P":"Tek bir şık, kullanımı kolay uygulama ile birçok farklı sağlayıcıdan elde edilen videonun keyfini çıkarmak için resmi ve topluluk eklentilerini yükleyin.","WEBSITE_CREATE_AN_ADDON":"Bir eklenti oluşturun","WEBSITE_FEATURES_SYNC":"Kitaplığınızı farklı cihazlar arasında eşitleyin ve oynatmaya devam edin","WEBSITE_FEATURES_SYNC_P1":"Tüm cihazlarınıza hesabınızla oturum açın ve eşitlenmiş kitaplığınızın, eklentilerinizin, oynatma ve takviminizin keyfini çıkarın.","WEBSITE_FEATURES_EXTENDABLE":"Eklentilerle genişletilebilir video kataloğu","WEBSITE_FEATURES_EXTENDABLE_P1":"Stremio eklenti kataloğu, çeşitli video içeriğini yüklemek ve izlemek için bir dizi eklenti sağlar. Bu eklenti kataloğu; filmler, programlar, canlı TV, spor, haberler, podcast\'ler, web kanalları, video oyunları ve daha fazlasını içerir.","WEBSITE_FEATURES_AUTO_SUBS":"Otomatik altyazılar","WEBSITE_FEATURES_AUTO_SUBS_P1":"Altyazı eklentilerimizle, tercih ettiğiniz dil için otomatik olarak seçilen seçenekleri elde edersiniz.","WEBSITE_FEATURES_CHROMECAST":"Chromecast ile yayınlayın","WEBSITE_FEATURES_CHROMECAST_P1":"Video içeriğinizin keyfini daha büyük bir ekranda çıkarın veya izlediğiniz her şeyi başka bir cihaza yayınlayın.","WEBSITE_FEATURES_KEEP_TRACK":"En sevdiğiniz TV programlarını ve web kanallarını takip edin","WEBSITE_FEATURES_KEEP_TRACK_P1":"En sevdiğiniz dizilerin ve web kanallarının yeni bölümleri için bir takvim görselleştirmesi ve bildirimler alın.","WEBSITE_FEATURES_POWER_USER":"Güçlü kullanıcı özellikleri","WEBSITE_FEATURES_POWER_USER_P1":"Harici oynatıcıda oynatın","WEBSITE_FEATURES_POWER_USER_P2":"Torrent dosyasından veya magnet bağlantısından oynatın","WEBSITE_FEATURES_POWER_USER_P3":"Facebook beğenilerinden veya yerel diskten kitaplığınıza aktarın","WEBSITE_ADD_ONS":"Eklentiler","WEBSITE_ADD_ONS_P1":"Stremio\'nun sağladığı tüm video içeriği, bir eklenti sistemi aracılığıyla sağlanır - hiçbir içerik veya içerik sağlayıcısı uygulamaya yerleştirilmemiştir.","WEBSITE_ADD_ONS_P2":"İki eklenti grubu mevcut: resmi eklentiler ve topluluk eklentileri","WEBSITE_ADD_ONS_P3":"Resmi olanlar Stremio tarafından geliştirilir ve barındırılır. Buna karşın topluluk eklentileri, onları barındıran topluluk üyelerimiz tarafından oluşturulur.","WEBSITE_ADDONS_OFFICIAL":"Resmi eklentiler","WEBSITE_ADDONS_WATCHUB":"En sevdiğiniz filmleri, dizileri ve şovları iTunes, Hulu, Amazon ve diğer İngiltere/ABD hizmetleri gibi sağlayıcılardan izleyin.","WEBSITE_ADDONS_YOUTUBE":"En sevdiğiniz YouTube kanallarını reklamsız izleyin ve yeni yüklemeler için bildirimler alın.","WEBSITE_ADDONS_FILMON":"Canlı TV, film ve sosyal televizyonu ücretsiz izleyin. 600 TV kanalı, 45.000 ücretsiz film, belgesel ve daha fazlası.","WEBSITE_ADDONS_OPENSUBTITLES":"Film ve diziler için, birçok dilde her gün güncellenen binlerce altyazı çevirisi.","WEBSITE_ADDONS_COMMUNITY":"Topluluk eklentileri","WEBSITE_ADDONS_FILMON_VOD":"Filmon.tv\'den talep üzerine video izleyin.","WEBSITE_ADDONS_TWICH":"Twitch.tv\'den canlı akış izleyin - e-spor endüstrisi için bir video akış platformu.","WEBSITE_ADDONS_VODO":"Bağımsız filmleri kesinlikle ücretsiz izleyin.","WEBSITE_ADDONS_NETFLIX":"Netflix filmlerini ve web dizilerini izleyin.","WEBSITE_ADDONS_CREATE":"Eklenti oluşturun","WEBSITE_ADDONS_CREATE_P1":"İsterseniz kendi eklentinizi geliştirebilirsiniz. Bu şekilde, kendiniz ve topluluğumu içim yeni video içeriklerine erişim verebilir ve dünya çapında milyonlarca kullanıcıdan oluşan yeni bir hedef kitleye ulaşabilirsiniz.","WEBSITE_ADDONS_START_CREATE":"Başlarken, Stremio eklenti SDK sayfasını ziyaret edin:","WEBSITE_DOWNLOADS":"İndirmeler","WEBSITE_DOWNLOADS_P1":"En uygun performans için Stremio uygulamalarının mevcut en son sürümünü kullanmanızı öneririz. Ancak herhangi bir nedenle daha eski bir sürümü kullanmak isterseniz buradan indirebilirsiniz.","WEBSITE_DOWNLOADS_P1_SHORT":"En uygun performans için Stremio uygulamalarının mevcut en son sürümünü kullanmanızı öneririz.","WEBSITE_DOWNLOADS_FOR_WIN":"Windows için Stremio","WEBSITE_DOWNLOADS_FOR_MAC":"macOS için Stremio","WEBSITE_DOWNLOADS_FOR_LINUX":"Linux için Stremio","WEBSITE_DOWNLOADS_FOR_ANDROID":"Android için Stremio","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Android TV için Stremio","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Android Mobil için Stremio","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Steam Deck için Stremio","WEBSITE_DOWNLOADS_FOR_IOS":"iOS için Stremio (sınırlı sürüm)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Samsung TV için Stremio","WEBSITE_DOWNLOADS_FOR_LG_TV":"LG TV için Stremio","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Sony TV için Stremio (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Philips TV için Stremio (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Oculus Quest için Stremio","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Meta Quest için Stremio","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Vision Pro için Stremio","WEBSITE_DOWNLOADS_FOR_XBOX":"Xbox için Stremio","WEBSITE_DOWNLOADS_FOR_RPI":"Raspberry Pi için Stremio","WEBSITE_DOWNLOADS_FOR_BROWSER":"Tarayıcı için Stremio","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"2019+ Samsung TV modellerinin Uygulama Mağazasında Stremio’yu arayın","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"2020+ LG TV modellerinin Uygulama Mağazasında Stremio’yu arayın","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Android çalıştıran Sony TV’deki Play Store uygulamasında Stremio’yu arayın","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Android çalıştıran Philips TV’deki Play Store uygulamasında Stremio’yu arayın","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Xbox cihazınızın Uygulama Mağazasında Stremio’yu arayın","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"RPI’da Stremio OS Kılavuzu","WEBSITE_LINK_GUIDE":"Kılavuz","WEBSITE_DOWNLOAD_SERVICE":"Stremio Hizmetini İndirin","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Hizmeti, Stremio Web için eşlik eden bir uygulamadır. Stremio Hizmetinin mevcut en son sürümünü kullanmanızı öneririz.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Windows için Stremio Hizmeti","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"macOS için Stremio Hizmeti","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Linux için Stremio Hizmeti","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Docker için Stremio Hizmeti","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Docker için Stremio","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"Daha Fazla İndirme Seçeneği","WEBSITE_DOWNLOAD_NEW":"Yeni!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"Stremio Web’i yayımladık","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"Samsung TV için Stremio’yu yayımladık","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"LG TV için Stremio’yu yayımladık","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"Xbox için Stremio’yu yayımladık","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"Raspberry Pi için Stremio’yu yayımladık","WEBSITE_CONTRIBUTE_P1":"Stremio platformu, açık kaynak kodludur ve şu anda kaynağı olmayan içerik için kolayca bir eklenti oluşturabilirsiniz.","WEBSITE_CONTRIBUTE_WHY":"Neden bir eklenti oluşturmalısınız?","WEBSITE_CONTRIBUTE_WHY_P1":"Video içeriğiniz için yeni kitleye ulaşın","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio\'nun kullanıcı tabanı hızla büyüyor. Lansmanının ilk yılında Stremio, dünyada 1 milyon kullanıcı kazandı ve platformun ikinci yılında bu sayı 2,5 milyona yükseldi.","WEBSITE_CONTRIBUTE_WHY_P3":"Eklentiniz ile bu kitleye kolayca ulaşabilir ve video içeriğinizi onlara dağıtabilirsiniz.","WEBSITE_CONTRIBUTE_ALL":"En sevdiğiniz filmleri, videoları, dizileri ve kanalları tek bir yerden izleyin","WEBSITE_CONTRIBUTE_ALL_P1":"Stremio’da henüz bulunmayan belirli bir türdeki içeriğin hayranı mısınız? Bunun için bir eklenti oluşturun ve piyasadaki en büyük ve en kolay kullanımlı eğlence merkezlerinden birinde en sevdiğiniz görüntüleri izlemenin keyfini çıkarın.","WEBSITE_CONTRIBUTE_ALL_P2":"Üstüne üstlük, sizinle benzer şekilde düşünen diğer Stremio topluluğu üyelerinin sonsuz şükranlarını alırsınız.","WEBSITE_CONTRIBUTE_MONETIZE":"Eklentinizi para kazanılabilir hale getirin ve onun yardımıyla para kazanın","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Stremio için yeni bir eklenti geliştirdikten sonra, birkaç farklı yolla kolaylıkla para kazanabilirsiniz. Bunu düşünüyorsanız, ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" adresinden bizimle iletişime geçmekten çekinmeyin. Eklentiden para kazanma seçenekleri konusunda danışmanlık sunmaktan ve size tavsiyelerde bulunmaktan memnuniyet duyarız.","WEBSITE_CONTRIBUTE_TRANSLATE":"Gönüllü çevirmen olun","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Farklı dillerde Stremio uygulamalarının keyfini çıkarmak istiyorsanız, gönüllü çevirmenler topluluğumuza katılabilirsiniz. Onlar, Stremio\'nun sürümlerini birçok farklı dilde eklememize yardımcı oluyorlar.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Başlamak için sabırsızlanıyor musunuz?","WEBSITE_TRANSALTE_STREMIO":"Stremio\'yu Çevirin","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Resmi topluluklar","WEBSITE_COMMUNITY_OFFICIALS_P1":"Büyüyen Stremio topluluğunun bir parçası olun. Bizi sosyal medyada takip edin ve \'Merhaba\' demekten çekinmeyin; hayranlarımızı dinlemeyi çok seviyoruz! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Resmi olmayan topluluklar","STREMIO_COMMUNITY_NL":"Stremio Hollanda","STREMIO_COMMUNITY_BRASIL":"Stremio Brezilya","STREMIO_COMMUNITY_GERMANY":"Stremio Almanya","STREMIO_COMMUNITY_BELGIUM":"Stremio Belçika","STREMIO_COMMUNITY_FRANCE":"Stremio Fransa","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portekiz","STREMIO_COMMUNITY_ITALY":"Stremio İtalya","STREMIO_COMMUNITY_UK":"Stremio İngiltere","STREMIO_COMMUNITY_USA":"Stremio ABD","STREMIO_COMMUNITY_MEXICO":"Stremio Meksika","STREMIO_COMMUNITY_ADDONS":"Stremio Eklentileri","STREMIO_COMMUNITY_AWESOME":"Müthiş Stremio","WEBSITE_COMMUNITY_PARTNERS":"Ortaklar ve destekçiler","WEBSITE_COMMUNITY_GOODIES":"Stremio şekerlemeleri","WEBSITE_COMMUNITY_WALLPAPERS":"Duvar kağıtları","WEBSITE_COMMUNITY_ART":"Topluluk Sanat Galerisi","WEBSITE_LINK_ART":"Topluluk sanat galerisi","WEBSITE_CONTACT_US":"Bize ulaşın","WEBSITE_CONTACT_US_P1":"Eğer herhangi bir sorunuz, yorumunuz veya öneriniz varsa, aşağıdaki iletişim formu aracılığıyla bizimle iletişime geçmekten çekinmeyin.","WEBSITE_CONTACT_US_P2":"Bulgaristan’da bulunduğumuz için saat dilimi farklılıklarından dolayı sorunuzun yanıtlanmasında gecikmeler olabileceğini unutmayın.","WEBSITE_CONTACT_US_SUCCESS":"İletiniz gönderildi. Size en kısa sürede geri döneceğiz.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Lütfen geçerli bir e-posta adresi girin!","WEBSITE_CONTACT_US_Q_RELATED_TO":"Sorunuz ne ile ilgili?","WEBSITE_CONTACT_US_Q_OS":"İşletim Sisteminiz nedir?","WEBSITE_CONTACT_US_PH_EMAIL":"E-posta adresiniz","WEBSITE_CONTACT_US_PH_MESSAGE":"İletiniz","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"GÖNDER","WEBSITE_CONTACT_US_Q_1":"Nasıl yüklenir?","WEBSITE_CONTACT_US_Q_2":"Nasıl kaldırılır?","WEBSITE_CONTACT_US_Q_3":"(HTML) Lazanya nasıl yapılır?","WEBSITE_CONTACT_US_Q_4":"Eklentiler","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Teknoloji","WEBSITE_TECHNOLOGY_P1":"Teknolojiyi ve çılgın bilimi seviyoruz. </br> İşte Stremio\'ya güç veren şeyler (hepsi açık kaynaklı).","WEBSITE_TECHNOLOGY_P_QT":"Platformlar arası yazılım geliştirmenin en iyi hali.","WEBSITE_TECHNOLOGY_P_MPV":"Ücretsiz, açık kaynaklı ve platformlar arası bir ortam oynatıcı.","WEBSITE_TECHNOLOGY_P_RN":"React Native, yalnızca JavaScript kullanarak mobil uygulamalar oluşturmanızı sağlar.","WEBSITE_TECHNOLOGY_P_VLC":"Çokluortam almak için uygulamaya gömülü ortam çatısı.","WEBSITE_TECHNOLOGY_P_REALM":"Realm, bir mobil platformdur ve SQLite ve Core Data’nın yerine geçmiştir.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js açık kaynaklı, platformlar arası bir JavaScript çalışma zamanı ortamıdır.","WEBSITE_TECHNOLOGY_P_RUST":"Rust, özellikle güvenli eşzamanlılık olmak üzere güvenliğe odaklanan çok paradigmalı bir sistem programlama dilidir.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Projeye katkıda bulunun","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Stremio\'ya katkıda bulunmanın ve ürünün daha da iyi olmasına yardımcı olmanın iki yolu vardır.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Platformu çevirerek değerli dil becerilerinizi bağışlayabilirsiniz...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"ya da","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... topluluk eklentileri oluşturmak için kodlama becerilerinizi kullanabilirsiniz. ","WEBSITE_TRANSLATE_STREMIO":"Stremio\'yu Çevirin","WEBSITE_404_OH_NO":"Olamaz! Aradığınız sayfa burada değil...","WEBSITE_GO_HOME":"Girişe git","WEBSITE_LINK_OTHER_DOWNLOADS":"Diğer indirmeler","WEBSITE_FAQ_ABR":"SSS","WEBSITE_SUPPORT":"Destek","WEBSITE_DOWNLOAD_4_0_BETA":"Stremio 4 beta\'yı Hemen indirin","WEBSITE_GET_FOR_DESKTOP":"Masaüstü için alın","WEBSITE_LINK_ADDON_COMPETITION":"Eklenti yarışması","WEBSITE_LINK_ART_CONTEST":"Sanat yarışması","WEBSITE_MY_ACCOUNT":"Hesabım","WEBSITE_MAINPAGE_FAQ_001_H1":"Stremio nedir?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio, istediğiniz her şeyi izleme özgürlüğü sunan modern bir medya merkezidir.","WEBSITE_MAINPAGE_FAQ_002_H1":"Nasıl çalışır?","WEBSITE_MAINPAGE_FAQ_002_P1":"Stremio\'yu cihazınıza yükleyip bir hesap oluşturduktan sonra, yapmanız gereken tek şey eklenti kataloğunu ziyaret etmek ve istediğiniz eklentiyi yüklemektir!","WEBSITE_MAINPAGE_FAQ_002_P2":"Bundan sonra, içeriği keşfetmeye başlamak için Keşfet veya Pano bölümlerine gidebilirsiniz.","WEBSITE_MAINPAGE_FAQ_003_H1":"Burada ne izleyebilirim?","WEBSITE_MAINPAGE_FAQ_003_P1":"Çok şey var: Filmler, TV programları, Web kanalları, Spor, TV kanallarını izleyin ya da podcast\'leri ve daha fazlasını dinleyin. Eklenti sistemimiz sayesinde çeşitli içeriklere erişebilirsiniz.","WEBSITE_MAINPAGE_FAQ_004_H1":"Stremio açık kaynaklı mı?","WEBSITE_MAINPAGE_FAQ_004_P1":"Evet, şu bağlantıları gözden geçirebilirsiniz: ${1}masaüstü uygulaması${2} ve ${3}GitHub kuruluşu${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Stremio güvenli mi?","WEBSITE_MAINPAGE_FAQ_005_P1":"Evet, Stremio açık kaynak kodlu bir yazılım olduğundan, kod herkes tarafından denetlenebilir ve kendiniz de kodunu inceleyebilirsiniz.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio’nun eklenti sistemi de kullanıcının güvenliği göz önünde bulundurularak oluşturulmuştur. Eklentiler yerel olarak herhangi bir kod çalıştırmaz, dolayısıyla cihazınız için herhangi bir risk oluşturmaz.","WEBSITE_MAINPAGE_FAQ_006_H1":"Mahremiyetime ne dersiniz?","WEBSITE_MAINPAGE_FAQ_006_P1":"Kullanıcıların gizliliğine saygı duyuyoruz ve hesabınızı oluşturmak ve eşitlemek için gerekli en az temel veri dışında herhangi bir kişisel veri toplamıyoruz.","WEBSITE_MAINPAGE_FAQ_006_P2":"Ayrıca kaydolma sırasında herhangi bir veri gerektirmeyen ${1}Misafir modu${2} vardır: bu modda, arka tarafa çağrı yapılmaz. Ancak, kitaplığınızı cihazlar arasında eşitleyebilmek gibi yararlı özelliklerin ödün vermeniz gerekir.","WEBSITE_MAINPAGE_FAQ_007_H1":"Televizyonuma yayınlayabilir miyim?","WEBSITE_MAINPAGE_FAQ_007_P1":"Evet, Chromecast\'i destekliyoruz ve hem masaüstü hem de mobil uygulamalardan (Android) yayınlayabilirsiniz.","WEBSITE_MAINPAGE_FAQ_008_H1":"Stremio\'nun kaç eklentisi var?","WEBSITE_MAINPAGE_FAQ_008_P1":"2019 sonu itibariyla, 50\'nin üzerinde. Daha fazla bilgi için eklenti kataloğumuza bakın.","WEBSITE_MAINPAGE_FAQ_009_H1":"Stremio eklenti kataloğundakinin ötesine genişletilebilir mi?","WEBSITE_MAINPAGE_FAQ_009_P1":"Evet, şunları gözden geçirebilirsiniz: ${1}PimpMyStremio${2}, ${3}Reddit toplulukları${4}, ${5}Stremio İndirici${6} vb.","WEBSITE_MAINPAGE_FAQ_010_H1":"Stremio hangi cihazları destekliyor?","WEBSITE_MAINPAGE_FAQ_010_P1":"Windows, Mac ve Linux için masaüstü uygulamalarımız mevcut. Mobil cihazlar için, Android ve iOS\'u destekliyoruz. Ancak iOS\'un işlevsellik açısından sınırlı olduğunu unutmayın (çoğu eklentiyi desteklemez).","WEBSITE_MAINPAGE_FAQ_010_P2":"NVIDIA Shield ve Amazon Fire Stick gibi Stremio\'yu çalıştırabileceğiniz birçok Android tabanlı cihaz var. Ancak bunları resmi olarak desteklemiyoruz.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"Windows, Mac ve Linux için masaüstü uygulamalarımız var. Ayrıca Android Mobil ve Android TV için adanmış uygulamalarımız da bulunmaktadır. İşlevselliği daha sınırlı olmasına rağmen iOS ve iPadOS için Stremio Web’i kullanmanızı öneririz.","WEBSITE_MAINPAGE_FAQ_011_H1":"Stremio\'ya bazı içerikler ekleyebilir misiniz?","WEBSITE_MAINPAGE_FAQ_011_P1":"Üzgünüz, kendimiz içerik sağlamıyoruz, ancak ne kadar çok Stremio eklentisi yüklerseniz o kadar fazla içerik bulabilirsiniz.","WEBSITE_MAINPAGE_FAQ_012_H1":"Stremio magnet bağlantılarını oynatabilir mi?","WEBSITE_MAINPAGE_FAQ_012_P1":"Evet. Ayrıca normal HTTP bağlantılarını ve torrent dosyalarını da oynatabilir (sürükleyin ve bırakın).","WEBSITE_MAINPAGE_FAQ_013_H1":"Bir video indirip çevrimdışı izleyebilir miyim?","WEBSITE_MAINPAGE_FAQ_013_P1":"Çevrimdışı kullanım gelecek bir özelliktir. Ancak Stremio\'nun cihazınızda önbelleklemesine izin verirseniz (ayarlar panelinden) videoyu daha sonra bağlantı olmadan izleyebilirsiniz.","WEBSITE_MAINPAGE_FAQ_014_H1":"Hiçbir şey çalışmıyor, yardım edin!","WEBSITE_MAINPAGE_FAQ_014_P1":"Eklentileri yüklediğinizden emin misiniz? Cevabınız evetse, ${1}yardım merkezimize${2} danışın.","WEBSITE_MAINPAGE_FAQ_015_H1":"Stremio geliştirme faaliyetlerini nasıl sürdürüyor?","WEBSITE_MAINPAGE_FAQ_015_P1":"Nadiren rahatsız edici olmayan reklamlar yayınlıyoruz, ancak bir bağış modeline geçmeyi düşünüyoruz.","WEBSITE_MAINPAGE_FAQ_015_P2":"Daha fazla soru için ${1}yardım merkezimize${2} gidin.","HELP_LEARN_MORE":"Hakkınızda daha fazla bilgi edinmemize yardımcı olun.","LIFESTYLE":"Yaşam stili","SPORTS":"Spor","FOOD_HEALTH":"Yemek ve Sağlık","BEAUTY_FASHION":"Güzellik ve Moda","NEWS":"Haber","GAMING":"Oyun","SCIENCE_EDUCATION":"Bilim ve Eğitim","MUSIC":"Müzik","TRAVEL":"Seyahat","LATE_NIGHT":"Gece Gösterisi","REALITY":"Gerçeklik","COMEDY":"Komedi","DIY":"Nasıl Kendin Yaparsın","TECH":"Teknoloji","CINEMA":"Sinema","CONTINUE":"Devam","SLOW_LOADING":"YAVAŞ MI YÜKLENİYOR?","I_GIVE_UP":"VAZGEÇTİM","LEARN_MORE":"Daha fazla bilgi edinin","POOR_SOURCE":"Bu kaynak yetersiz veya internet bağlantınız yeterince hızlı değil","PICK_CATEGORIES_ERR":"En az 3 kategori seçmek zorundasınız","ADJUST_TIMING":"Ayarlanacak zaman ","ADJUST_SIZE":"Ayarlanacak boyut ","SEARCH_ANYTHING":"Her Şeyi Arayabilirsiniz...","ALL_CATEGORIES":"Tümü","SEARCH_CATEGORIES":"Filmler, Diziler, YouTube ve TV","SEARCH_PERSONS":"Aktörler, Yönetmenler ve Yazarlar","SEARCH_PROTOCOLS":"HTTP ve Magnet Bağlantıları","SEARCH_TYPES":"IMDB / TVDB Bağlantıları","WATCHED":"İzlendi","SHOW_LESS":"Daha az göster","LAST_SEARCHES":"Son aramalar","CLEAR_HISTORY":"Geçmişi temizle","CHOOSE_SOME":"BUNLARDAN BAZILARINI SEÇİN:","NO_WEB_REMOTE":"Web Uzaktan Kumandası yüklenemedi","STREMIO_OFFLINE":"Stremio çevrimdışı","STREMIO_EXPENSIVE_CONNECTION":"Mobil veri bağlantısı kullandığınızı algıladık, devam etmek istiyor musunuz?","USE_DATA":"Veriyi kullan","WARNING":"Uyarı","MORE_INFO":"Daha Fazla Bilgi ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Yükleniyor ...","STREMIO_TV_BACK_TO_LANGUAGES":"Dillere geri dön","STREMIO_TV_REMOTE":"Uzaktan Kumanda","STREMIO_TV_GO_TO":"Git:","STREMIO_TV_OR_SCAN":"ve tara:","STREMIO_TV_ADDON_INSTRUCTIONS":"Tercih ettiğiniz eklentileri yüklemek için lütfen talimatları takip edin.","STREMIO_TV_LIVE_TV":"Canlı TV","STREMIO_TV_RESUME_WATCHING":"İzlemeye Devam Et","STREMIO_TV_LOADING_BACKGROUND":"Arka planda yükleniyor","STREMIO_TV_CHECKING_AUTHENTICATION":"Kimlik doğrulama denetleniyor","STREMIO_TV_LOADING_BOARD":"Pano yükleniyor","STREMIO_TV_LOGIN_HEADER_LINE_1":"Kullanıcılarımızın yazılımımızla mümkün olan en iyi kişiselleştirilmiş deneyime sahip olmalarını istiyoruz.","STREMIO_TV_LOGIN_HEADER_LINE_2":"Bu nedenle, hesabınızı oluşturmanızı ve/veya hesabınıza oturum açmanızı rica ederiz.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Anlayışınız için teşekkür ederiz,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Stremio Ekibi","STREMIO_TV_REMOTE_INSTRUCTIONS":"Web Uzaktan Kumandayı Akıllı Telefon / Tablet / Masaüstünüzle kullanmak için:","STREMIO_TV_WIFI_SETUP":"Kablosuz Kurulumu","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle bir internet bağlantısı algılayamadı.","STREMIO_TV_WIFI_DETAILS_1":"Şuna bağlan:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Parola kullan:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Bağlantıyı bir web tarayıcısı ile aç:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Varsayılan","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"Son İzlenene Göre","STREMIO_TV_LIBRARY_SORT_NAME":"Ada Göre","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"Ada Göre Azalan","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"İzlenme Sayısına Göre","STREMIO_TV_LIBRARY_SORT_WATCHED":"İzlenene Göre","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"İzlenmeyene Göre","STREMIO_TV_DETAILS_SEASON_NUMBER":"Sezon ${1}","STREMIO_TV_STREAMS_LOADING":"${1} / ${2} eklenti yüklendi...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} eklentisi hala yükleniyor...","STREMIO_TV_PLAYER_SETTINGS":"Oynatıcı ayarları","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Altyazı gecikmesi","STREMIO_TV_PLAYER_AUDIO_DELAY":"Ses gecikmesi","STREMIO_TV_PLAYER_VIDEO_SCALING":"Görüntü ölçeği","STREMIO_TV_PLAYER_CHAPTERS":"Bölümler","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Atla ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Desteklenmeyen akış kaynağı","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Harici bağlantıyı açma başarısız","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Ses içinden geçiş modunda ayarlanamaz","STREMIO_TV_PLAYER_PLAY_IN_EXO":"ExoPlayer ile oynat","STREMIO_TV_PLAYER_PLAY_IN_VLC":"libVLC player ile oynat","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Oynatma hatasından dolayı libVLC player\'a geçiliyor","STREMIO_TV_ADDONS_TITLE":"Eklentileri yüklemek veya yapılandırmak için Telefonunuzda veya PC\'nizde Stremio\'yu kullanın ve \\"Eklentileri Eşitle\\"ye basın","STREMIO_TV_ADDONS_SUBTITLE":"Not: Aynı Stremio hesabını kullandığınızdan emin olun.","STREMIO_TV_ADDONS_SYNC_ADDONS":"Eklentileri Eşitle","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Eklentiler başarılı olarak eşitlendi","STREMIO_TV_ADDONS_SYNC_FAILED":"Eklentileri eşitleme başarısız oldu","STREMIO_TV_META_LINK_FAILED":"Üst bağlantıyı açma başarısız oldu","STREMIO_TV_CATALOG_LOADING":"Katalog hala yükleniyor...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Arayüz dili güncellendi","STREMIO_TV_SETTINGS_THEME_UPDATED":"Tema güncellendi","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Varsayılan Oynatıcı","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Harici Oynatıcı","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Tercih Edilen Dil","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"İkincil Tercih Edilen Dil","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tünelli Oynatma","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Bazı cihazlarda olası oynatma sorunları","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Bazı görüntü biçimleri çalışmayabilir","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Kare hızı eşleme","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Etkisizleştirildi","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Yalnızca Kare Hızı","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Kare Hızı ve Çözünürlük","STREMIO_TV_SETTINGS_NO_CACHING":"Önbellekleme yok","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Varsayılan","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Yavaş","STREMIO_TV_SETTINGS_PROFILE_FAST":"Hızlı","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Çok Hızlı","STREMIO_TV_SETTINGS_SERVER_URL":"Yayın akışı sunucusu URL\'si","STREMIO_TV_SETTINGS_SERVER_VERSION":"Sunucu sürümü","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Bilinmiyor","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio sürümü","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Sunucu URL\'sini düzenle","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Bir yayın akışı sunucusu URL\'si girin","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Yüklenirken istatistikleri göster","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"Stremio\'nun Gizlilik İlkesini okumak için şu adresi ziyaret edin:","STREMIO_TV_SETTINGS_TOS_TEXT":"Stremio\'nun Şartlar ve Koşullarını okumak için şu adresi ziyaret edin:","STREMIO_TV_NAV_SEARCH":"Ara","STREMIO_TV_NAV_HOME":"Giriş","STREMIO_TV_NAV_DISCOVER":"Keşfet","STREMIO_TV_NAV_LIBRARY":"Kitaplık","STREMIO_TV_NAV_MOVIES":"Filmler","STREMIO_TV_NAV_SERIES":"Diziler","STREMIO_TV_NAV_CHANNELS":"Kanallar","STREMIO_TV_NAV_TV":"Canlı TV","STREMIO_TV_NAV_SETTINGS":"Ayarlar","STREMIO_TV_NAV_ADDONS":"Eklentiler","STREMIO_TV_LOGIN_TITLE":"Hesabı Bağla","STREMIO_TV_LOGIN_EXPIRES_IN":"Sona erme tarihi","STREMIO_TV_LOGIN_STEP_ONE":"Yukarıdaki QR Kodu tarayın veya","STREMIO_TV_LOGIN_STEP_TWO":"Stremio hesabınıza oturum açın","STREMIO_TV_LOGIN_NEW_LINK":"Yeni bir bağlantı isteyin","STREMIO_TV_LOGIN_LINK_REFRESHED":"Oturum açma kodu yenilendi","STREMIO_TV_SEARCH_PLACEHOLDER":"Bir şeyler yazın","STREMIO_TV_SEARCH_NO_ADDONS":"Kataloglar için herhangi bir eklenti istenmedi!","STREMIO_TV_SEARCH_BUTTON":"Ara","STREMIO_TV_SEARCH_KEY_DEL":"Sil","STREMIO_TV_SEARCH_KEY_SPACE":"Boşluk","STREMIO_TV_SEARCH_KEY_CLEAR":"Temizle","STREMIO_TV_SEARCH_HISTORY_TITLE":"Geçmişi Temizle","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Başlıklar, Aktörler, Kanallar ve daha fazlasını arayabilirsiniz...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Arama Geçmişini Temizle","STREMIO_TV_FILTERS_DESCRIPTION":"Aşağıdaki süzgeçlerden birini seçin","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Yayın Akışı Sunucusu Çevrimdışı. Sunucu Ayarlarını Gözden Geçirin.","FILTERS":"Süzgeçler","SETTINGS":"Ayarlar","ACCOUNT":"Hesap","LOGOUT":"Oturumu Kapat","THEMES":"Temalar","PLAYBACK":"Oynatma","PLAYBACK_SPEED":"Oynatma Hızı","AUDIO_TRACKS":"Ses İzleri","UNKNOWN_TRACK_LANG":"Bilinmiyor","VIDEOS":"Görüntüler","SERVER":"Sunucu","LINKS":"Bağlantılar","ABOUT":"Hakkında","INTERFACE":"Arayüz","ANIMATIONS":"Animasyonlar","STATUS":"Durum","LANGUAGE":"Dil","SIZE":"Boyut","DELAY":"Gecikme","BOLD":"Kalın","OPACITY":"Geçirgenlik","TEXT_COLOR":"Metin Rengi","OUTLINE_COLOR":"Anahat Rengi","BACKGROUND_COLOR":"Arka Plan Rengi","BACKGROUND_BLUR":"Arka Plan Bulanıklığı","SEEK_TIME_DURATION":"Atlama Süresi","AUTO_PLAY":"Sonraki Bölümü otomatik oynat","PLAY_NOW":"Şimdi Oynat","MARK_AS_WATCHED":"İzlendi olarak İşaretle","MARK_AS_UNWATCHED":"İzlenmedi olarak İşaretle","REWIND_TO_BEGINNING":"En Başa Al","CONTINUE_WATCHING":"İzlemeye Devam Et","ALL":"Tümü","SECONDS":"saniye","ON":"AÇIK","OFF":"KAPALI","RELOAD":"Yeniden Yükle","EDIT_URL":"URL\'yi Düzenle","NONE":"Hiçbiri","EMBEDDED":"Gömülü","REMOTE_SWITCH_DEVICES":"Cihazları Değiştir","REMOTE_VIDEOS":"Görüntüler","REMOTE_ADJUST_TIMING":"Zamanlamayı ayarla","REMOTE_ADJUST_SIZE":"Boyutu ayarla","REMOTE_COULD_NOT_BE_LOADED":"Web Uzaktan Kumandası yüklenemedi","REMOTE_RETRY":"Yeniden Dene","TORRENT_PROFILE_DEFAULT":"Varsayılan","TORRENT_PROFILE_SOFT":"Yavaş","TORRENT_PROFILE_FAST":"Hızlı","TORRENT_PROFILE_ULTRA_FAST":"Çok Hızlı","FAQ_001_H1":"Stremio nedir?","FAQ_001_P1":"Stremio, video eğlencesi için kullanım kolaylığı düşüncesiyle tasarlanmış bir medya merkezi yazılımıdır. Stremio organize etmenize izin verir &amp; kendi film, dizi, kanal ve canlı TV koleksiyonunuzu izleyin.","FAQ_001_P2":"Stremio, size gösterilen içeriği yerel diskinizden ve eklentiler sisteminden toplar.","FAQ_001_P3":"İlgilerinize göre yeni bölümler/videolar/filmler çıktığında da sizi uyarır ve size özel film önerileri sunar.","FAQ_02_H1":"Stremio\'nun Kodi ve Plex\'ten ne farkı var?","FAQ_02_P1":"Bu iki yazılımdan ilham aldık. Ancak farklı hedeflerimiz var - Stremio özellikle eğlence videolarını hedef alıyor ve kullanımının çok kolay olması nedeniyle ana çözüm olma yolunu arıyor.","FAQ_02_P2":"Stremio, Kodi ve Plex kadar özelleştirilebilir ve zengin özellikli olmayacak, ancak kullanımı çok daha kolay. Sadece ${1} al ve ${2} gör :)","FAQ_03_H1":"Stremio\'nun Netflix\'ten farkı nedir?","FAQ_03_P1":"Yine, Netflix ilham kaynağımızdan biridir. Netflix\'in kullanıcı deneyimine ek olarak bir çok eklenti elde etmeye çalışıyoruz. Ama en önemlisi, kendi kütüphanenizi yönetme ve eklenti sistemimizle yeni içerik kaynaklarını ekleme özgürlüğünü sunuyoruz.","FAQ_03_P2":"Stremio\'yu sınırsız olarak genişletebilirsiniz. Bu nedenle Stremio\'yu kullandığınızda, Netflix\'in lisansını alabildiği içerikle asla sınırlı kalmazsınız. Örneğin, Stremio aracılığıyla ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} ve hatta ${9}Netflix${10}\'in kendisinden içerik izleyebilirsiniz!","FAQ_04_H1":"Stremio\'nun Flipboard\'dan farkı nedir?","FAQ_04_P1":"Bu soruyu sıkça görmüyoruz, yeni başlayanlarla konuşurken hariç :)","FAQ_04_P2":"Stremio, tasarım gereği videonun Flipboard olmasını sağlayan bir içerik toplayıcısıdır. Bu, Pano bölümünde çok açık bir şekilde görülmektedir; Flipboard gibi takip ettikleriniz için size kataloglar ve yeni bölüm/yeni video bildirimleri sunar.","FAQ_05_H1":"Stremio\'nun Popcorn Time\'dan farkı nedir?","FAQ_05_P1":"Stremio ve Popcorn Time, kullanıcı arabirimi olarak benzer, çünkü video eğlence kataloglarını doğru yapmanın başka bir yolu yok :)","FAQ_05_P2":"Ancak, Popcorn Time, belirli kaynaklardaki torrentleri akış yapmaya odaklanırken, Stremio sınırsızdır ve yalnızca bir içerik toplayıcısıdır - belirli bir içerik kaynağına kilitlenmez.","FAQ_05_P3":"Ayrıca, varsayılan olarak herhangi bir torrent eklentisi sağlamıyoruz. Bu nedenle Stremio, resmi işlevselliği olan Popcorn Time kullanım durumunu kapsamamaktadır.","FAQ_05_P4":"Bir diğer önemli fark ise, Popcorn Zamanı tamamen açık kaynaklı, Stremio ise ${1} kısmen açık kaynaklıdır${2}.","FAQ_06_H1":"Bu filmi/diziyi ekler misiniz?","FAQ_06_P1":"Hayır, üzgünüz :(","FAQ_06_P2":"Diğer sorularda birçok kez belirtildiği gibi, Stremio kendisi tarafından herhangi bir içerik sağlamaz; her şey eklentiler sistemi aracılığıyla eklenir. Bir içerik isteğiniz var ise Oynatıcı içindeki “Sorun bildir” düğmesini kullanabilirsiniz: Bu kullanmakta olduğunuz eklentinin oluşturucusuna bir e-posta gönderecektir.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"X için eklenti oluşturur musunuz?","FAQ_08_P1":"Bu tamamen mümkündür.","FAQ_08_P2":"Bir eklenti ile ilgili bir fikriniz varsa, bize ${1}office@stremio.com${2} adresinden birkaç satır yazın, ancak lütfen eklenti fikrinizin herhangi bir telif hakkı veya kullanım şartlarını ihlal etmediğinden emin olun.","FAQ_08_P3":"Şu anda, yol haritamızda bulunan sonraki şeyler; FandangoNOW, Filmon.tv, talep üzerine video, Crunchyroll için eklenti.","FAQ_09_H1":"Stremio, BitTorrent kullanıyor mu?","FAQ_09_P1":"Evet, Stremio bir akış protokolü olarak BitTorrent\'i destekliyor. Bunu bir torrent eklentisiyle veya bir .torrent dosyasını Stremio\'ya sürükleyip bırakarak ya da Arama Çubuğuna bir magnet bağlantısı yapıştırarak kullanabilirsiniz.","FAQ_09_P2":"BitTorrent\'i kullanan tek resmi eklentinin, indie içerik sağlayan ve tamamının BitTorrent ile dağıtılmasına izin veren ${1}Vodo${2} olduğunu lütfen unutmayın.","FAQ_09_P3":"Telif hakkı ihlaline neden olabilecek üçüncü taraf eklentilerinin kullanılmasını desteklemiyoruz.","FAQ_10_H1":"Stremio\'da resmi eklentilerle neleri izleyebilirim?","FAQ_10_P1":"Varsayılan olarak, Filmon.tv, YouTube ve Vodo içeriğini gömülü oynatıcı ile Stremio\'nun içinde izleyebilirsiniz. Ayrıca, Twitch.tv ve diğerleri için bir eklentimiz var.","FAQ_10_P2":"Bu birleştirilmiş bir seçim sağlar:","FAQ_10_L1":"Beğenilen TV kanalları, Filmon.tv tarafından sağlanır - örneğin E4, BBC, Bollyworld TV","FAQ_10_L2":"YouTube\'dan her şey - örneğin BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Vodo ile Indie filmleri","FAQ_10_L4":"Twitch.tv ile çevrimiçi oyun yayınları","FAQ_10_P3":"Buna ek olarak, Guidebox ve Netflix eklentileri ile sağlanan, tamamen, Stremio\'da <b>oynatılmayan</b>, ancak verilen hizmete yönlendiren birçok içerik kaynağı vardır. Örneğin, Guidebox eklentisi, TubiTV ve Crackle gibi hizmetlerden ABD\'de ücretsiz olarak yayın yapabileceğiniz bir film seçimi yapacaktır.","FAQ_11_H1":"Stremio yüklenmiyor, ne yapabilirim?","FAQ_11_P1":"Windows kullanıyorsanız, bu ${1}alternatif yükleyiciyi${2} deneyin","FAQ_11_P2":"Mac OS X kullanıyorsanız, lütfen OS X Mavericks(10.9)\'den daha eski hiçbir şeyi desteklemediğimizi unutmayın.","FAQ_11_P3":"Linux kullanıyorsanız, şu anda yalnızca 64 bit (x64) Linux\'u desteklediğimizin farkında olun.","FAQ_11_P4":"Sorununuzu yine de çözemezseniz, lütfen ${1}Facebook grubumuza${2} yazın.","FAQ_12_H1":"Antivirüs programım neden uyarı veriyor? Stremio güvenli mi?","FAQ_12_P1":"Stremio\'nun ${1}100% temiz${2} olduğundan emin olun.","FAQ_12_P2":"Virüsten koruma yazılımınız şikayetçi. Çünkü bazı antivirüs programlarının reklam yazılımı olarak tanıdığı reklamcıyı yükleyicimize dahil ediyoruz.","FAQ_12_P3":"Hala emin değilseniz, bizim ${1}alternatif yükleyicimizi${2} deneyebilirsiniz.","FAQ_13_H1":"Nasıl eklenti oluşturabilirim?","FAQ_13_P1":"Yeni başlayanlar için, GitHub\'daki ${1}eklentiler sistemi modülüne${2} göz atmanızı öneririz.","FAQ_13_P2":"Ardından, ${1}Merhaba dünya dersini${2} takip edebilirsiniz.","FAQ_13_P3":"Herhangi bir programlama becerisine sahip değilseniz, lütfen fikrinizi bize ${1}Reddit topluluğundan${2} ya da ${3}office@stremio.com${4} adresinden bildirebilirsiniz.","FAQ_14_H1":"Eklentiler nasıl yayınlanır?","FAQ_14_P1":"Bir eklenti ve sunucu oluştururken ve bildiriminize çalışan bir eklenti adresini işaret eden bir <b>bitiş noktası</ b> alanı koyduğunuzda, eklenti kendisini ${1}Eklenti kataloğumuzda${2} otomatik olarak yayınlayacaktır.","FAQ_14_P2":"Bu durum, stremio-addons modülünün sunucu parçası, eklentiyi duyurmak için API\'yı otomatik olarak çağırır. API\'mız, <b>bitiş noktası</ b> değerini geçerli bir eklenti olarak doğruladığında, katalogda gösterilmeye başlayacaktır.","FAQ_15_H1":"Tarayıcımda Stremio\'yu çalıştırabilir miyim?","FAQ_15_P1":"Şu an değil, ama bu geliyor!","FAQ_15_P2":"Bir Alfa görmekten hoşlanıyorsanız, burada görebilirsiniz: ${1}alpha4.strem.io${2}. Bu alfa üzerinde akışın devre dışı olduğunu unutmayın. Chrome, Firefox, Opera ve Edge\'i destekliyoruz.","FAQ_16_H1":"TV\'ye yayın yapma çalışmıyor/altyazı çalışmıyor","FAQ_16_P1":"TV\'ye yayın yapmak, farklı TV markaları ve modelleri arasında tutarsız olan DLNA teknolojisini kullanıyor. Bu nedenle, her durumda test etme yeteneğine sahip değiliz, bu yüzden mükemmel olmaktan çok uzak. Buna rağmen, sürekli olarak geliştirmeye çalışıyoruz ancak DLNA\'nın TV\'nizle ne zaman düzgün bir şekilde çalışmaya başlayacağına dair size bir zaman tahmini veremiyoruz.","FAQ_16_P2":"Yayın yapma menüsünde TV\'nizi göremiyorsanız, lütfen yönlendiricinizi, TV\'yi ve PC\'nizi yeniden başlatmanın yanı sıra ağ bağlantınızı devre dışı bırakmayı ve yeniden etkinleştirmeyi deneyin (Windows\'ta, Ağ\'a sağ tıklayın ve Etkinleştir/Devre Dışı Bırak\'ı kullanın).","FAQ_16_P3":"Hala bir sorunla karşılaşıyorsanız, TV markanızı ve model bilgilerinizi ${1}office@stremio.com${2} adresine göndererek bize yardımcı olabilirsiniz.","FAQ_16_P4":"Bu arada, çok iyi desteklediğimiz Chromecast\'i öneriyoruz ya da TV\'nizi bir HDMI kablosu ile bilgisayarınıza takmanız yeterlidir.","FAQ_17_H1":"Stremio donuyor ya da çöküyor, ne yapabilirim?","FAQ_17_P1":"Her şeyden önce, Windows 7\'yi AVG anti-virüs ile kullanıyorsanız: bu kombinasyonda bir sorunumuz var. Sorun AVG\'nin kendi içindedir ve bizim tarafımızdan çözülmesinin makul bir yolu yoktur. Ne yazık ki, istisnalar veya anti-virüs devre dışı bırakmak işe yaramaz. Tek çözüm, AVG\'yi başka bir şeyle değiştirmektir.","FAQ_17_P2":"Sorun bu değilse de, ancak hala Windows kullanıyorsanız, lütfen en son hizmet paketine güncelleyin ve GPU sürücülerinizi güncelleyin/yeniden yükleyin, sonra tekrar deneyin.","FAQ_17_P3":"Sorun hala devam ediyorsa veya Mac veya Linux kullanıyorsanız, lütfen sorunun ayrıntılarını bize ${1}Facebook grubumuzdan${2} yazabilirsiniz.","FAQ_18_H1":"Bir eklentiyi nasıl yapabilirim?","FAQ_18_P1":"Yeni başlayanlar için, GitHub\'daki ${1}eklentiler sistemi modülüne${2} göz atmanızı öneririz.","FAQ_18_P2":"Ardından, ${1}Merhaba dünya dersini${2} takip edebilirsiniz.","FAQ_18_P3":"Herhangi bir programlama becerisine sahip değilseniz, lütfen fikrinizi bize ${1}Reddit topluluğundan${2} ya da ${3}office@stremio.com${4} adresinden bildirebilirsiniz.","FAQ_19_H1":"Stremio neden disk alanı kaplıyor?","FAQ_19_P1":"Stremio\'da aktarılan video dosyalarını geçici olarak saklamak için <b>yerel önbellek</b> vardır.","FAQ_19_P2":"Bu iki avantaja sahiptir: Birincisi, Stremio\'nun akışını daha pürüzsüzleştirmek için videoyu ön yüklemeye olanak tanır. İkincisi, videoları yerel önbellekte tutar, böylece onları çevrimdışı izlemeye devam edebilirsiniz.","FAQ_19_P3":"Stremio\'nun ne kadar yer tuttuğu Ayarlar panelindeki <b>Önbellek</b> ayarına bağlıdır. Şu anda akışlı video bundan daha büyük olmadığı sürece, Stremio diskinizde belirlenen miktara (ör. 2GB) kadar tutabilir, bu durumda onu korumak için yeterli miktarda saklama alanı ayırmanız gerekir.","FAQ_20_H1":"Önbellek klasörü nerede?","FAQ_20_P1":"Windows\'ta, Ayarlar\'da seçtiğiniz sürücüdeki stremio-cache (ör. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"MacOS\'ta, burada \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"Linux\'ta, burada \\"~/.stremio/stremio-cache\\" ya da \\"~/stremio-cache\\"","FAQ_21_H1":"\\"Akış sunucusu bulunamadı\\" hatası alıyorum, ne yapabilirim?","FAQ_21_P1":"Bu hatayı alırsanız, bu birkaç şeyden biri anlamına gelir:","FAQ_21_P2":"1) ${1}Web sürümümüz${2} aracılığıyla YouTube / BitTorrent kaynağı tarafından desteklenen bir eklenti kullanmaya çalışıyorsunuz. Bu durumda, ${3}web sitemizden${4} masaüstü sürümümüzü yüklemelisiniz.","FAQ_21_P3":"2) Stremio kurulumunuzda bir sorun var. Bu durumda, ${1}web sitesinden${2} en yeni masaüstü sürümünü yeniden yüklemeyi deneyin. Bu işe yaramazsa, anti-virüs programları ve güvenlik duvarları devre dışı bırakarak PC\'nizi yeniden başlatın ve tekrar deneyin. Bu da işe yaramazsa, lütfen ${3}Facebook grubumuzdan${4} bize yazın.","FAQ_22_H1":"iOS\'ta çoğu eklentiyi göremiyorum/kullanamıyorum","FAQ_22_P1":"Çünkü, Apple\'ın App Store şartlar ve koşullarındaki kısıtlamalar nedeniyle iOS uygulamasını yalnızca belirli bir eklenti grubuyla sınırladık.","FAQ_22_P2":"Ancak gelecekte iOS için daha fazla eklenti olacak ve ayrıca iOS uygulamasını Stremio akış sunucusuna bağlayarak tüm Stremio eklentilerini kullanmanızı sağlayacak bir entegrasyon da ekleyebiliriz."}')},75923:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Фільм","TYPE_series":"Серіали","TYPE_tv":"Телеканали","TYPE_channel":"Канал","TYPE_other":"Інше","TYPE_movie_PL":"Фільми","TYPE_series_PL":"Серіали","TYPE_tv_PL":"Телеканали","TYPE_channel_PL":"Канали","TYPE_other_PL":"Інше","TYPE_ALL":"Все","TYPE":"Type","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"Відео","BACK":"Назад","MORE":"Більше","DONE":"Готово","COPY":"Копіювати","SUCCESS":"Успіх","ERROR":"Помилка","SETTINGS_CASTING_MODE_PICKER":"Режим трансляції","CASTING_MODE_HLSV2":"За замовчуванням","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Без перекодування","Discover":"Новинки","Board":"Дошка","Library":"Бібліотека","My Library":"Моя бібліотека","Calendar":"Календар","NOTIFICATION_ONLINE":"Ви в мережі","NOTIFICATION_OFFLINE":"Ви поза мережею","INTERNET_CONNECTION":"Мережне підключення","STORAGE_FULL_TITLE":"Попередження: сховище заповнено!","STORAGE_FULL_TEXT":"Stremio не зможе зберегти ваші налаштування, параметри чи інформацію для входу. Подумайте про перезапуск або перевстановлення Stremio.","SEARCH":"пошук","SEARCH_NO_RESULTS":"Результатів не знайдено","SEARCH_EXPLANATION_CONTENT":"Шукайте фільми, серіали, YouTube і телеканали","SEARCH_EXPLANATION_PEOPLE":"Шукайте акторів, режисерів та сценаристів","SEARCH_PASTE_LINKS":"Вставте посилання HTTP та Magnet","SEARCH_OR_PASTE_LINK":"Знайдіть або вставте посилання","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"Додати до бібліотеки","REMOVE_FROM_LIB":"Видалити з бібліотеки","ADDED_TO_LIB":"Додано до бібліотеки","REMOVED_FROM_LIB":"Вилучено з бібліотеки","TRAILER":"Трейлер","WATCH_TRAILER":"Переглянути трейлер","WATCH_NOW":"Дивитися зараз","SHOW":"Показати","SHOW_MOVIE":"Показати фільм","WATCH_RANDOM":"Дивитися випадкові","IMDB_RATING":"Рейтинг IMDb","YEAR":"Рік","DIRECTOR":"Режисер","WRITER":"Сценарист","LEAD_ACTORS":"У головних ролях","CAST":"Актори","CREW":"Команда","SHOW_MORE_CAST":"Показати більше »","AIRED":"Ефір","SEASONS":"Сезонів","GENRE":"Жанр","GENRE_ALL":"All genres","CATALOG":"Каталог","SUMMARY":"Зведення","SHOW_MORE":"Показати більше","SIMILAR":"Подібні","UPCOMING":"Майбутні","ENDED":"Закінчено","DURATION":"Тривалість","FEATURED":"Рекомендовані","METADATA":"Метадані","CATEGORY":"категорія","LINKS_GENRES":"Жанри","LINKS_CAST":"Актори","LINKS_DIRECTORS":"Режисери","SEARCH_VIDEOS":"пошук відео","SEARCH_PLACEHOLDER":"шукайте або вставте URL-адреси","ADDON":"доповнення","ADDONS":"Доповнення","OFFICIAL":"офіційний","ADDONS_OFFICIAL":"Офіційні доповнення Stremio","ADDONS_POPULAR":"Популярні у вашому регіоні","ADDON_FREE":"безоплатні","ADDON_PEERED":"P2P","ADDON_SUBSCRIPTION":"підписка","ADDON_STREAM_GEORESTRICTED":"недоступне у вашому регіоні","ADDON_STREAM_OFFLINECACHE":"Офлайн-кеш","ADDON_STREAM_LOCALFILE":"Локальний файл","SHARE_ADDON":"Поділитися доповненням","AVAILABLE_STREAMS":"Доступні трансляції","NO_STREAM":"Трансляцій не знайдено","ALL_ADDONS":"Все","INSTALL_MORE_ADDONS":"Щоб отримати більше трансляцій, встановіть більше доповнень","STREAM_NOT_SUPPORTED":"Обрана трансляція не підтримується на цій платформі.","ADDON_CATALOGUE":"Показати всі доповнення »","ADDON_CATALOGUE_MORE":"Встановити доповнення","REPO_ADDED":"Додано репозиторій","ADDON_REPO_EXIST_ERR":"Ця колекція доповнень уже існує","ADDON_REPO_ERR":"Під час додавання колекції сталася помилка","ADDON_ADD_ERR":"Під час додавання доповнення сталася помилка","ERR_ADDON_PROTECTED":"Не вдається видалити доповнення, воно захищене","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Щось пішло не так – можливо, автентифікація не вдалася","ERR_NOT_COLLECTION_URL":"Це не URL-адреса колекції","ERR_NOT_ADDON_URL":"Недійсна URL-адреса доповнення","ERR_DETECTFROMURL":"Не вдається знайти доповнення/колекції за цією URL-адресою","ADDON_DUPLICATE_WARNING":"Попередження: дубльоване доповнення","ADDON_COLLECTION_SET_FAILED":"Не вдалося синхронізувати встановлені доповнення з вашим обліковим записом","SETTINGS_DATA_EXPORT":"Експортувати дані користувача","ADDON_PULL_FAILED":"Не вдалося синхронізувати встановлені доповнення з вашого облікового запису","REFRESH_ON_CLICK":"Натисніть, щоб повторити","STILL_IN_THEATER":"Фільм досі в кінотеатрах","WATCH_IN_CINEMA":"Подивіться у місцевому кінотеатрі","IN_THEATER":"У кіно","GET_TICKETS":"Придбати квитки","UPCOMING_EPISODE":"Наступні серії","UPCOMING_EPISODE_MESSAGE":"Ця серія вийде в ефір","MISSING_DATE_EPISODE":"Відсутня дата серії","MISSING_DATE_EPISODE_MESSAGE":"Можливо, ця серія ще не вийшла в ефір","CHANNEL_NOT_SCRAPED":"Цей канал ще не завантажено. <br> Будь ласка, поверніться за кілька хвилин.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Додайте його до своєї бібліотеки для отримання сповіщення доступності.","GET_NOTIFIED_WHEN_AVAILABLE":"Ви отримаєте сповіщення, як тільки він стане доступним.","WARNING_STREAMING_SERVER":"Попередження: локальний потоковий сервер не знайдено. Потокове передавання з локальних файлів YouTube і BitTorrent не будуть доступні.","WARNING_STREAMING_SERVER_DISMISS":"Закрити","WARNING_STREAMING_SERVER_LATER":"Пізніше","DECODER_WARNING":"Попередження: це відео може не підтримуватися вашим обладнанням. Майте на увазі, що відтворення може бути повільним.","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"Ой, помилка програвача","PLAYER_ERROR_LOOKSLIKE":"Схоже, що","PLAYER_ORIENTATION":"Орієнтація програвача","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Заблоковано","PLAYER_ORIENTATION_SENSOR_SHORT":"Датчик","PLAYER_ORIENTATION_LANDSCAPE":"Орієнтація програвача заблокована на альбомній","PLAYER_ORIENTATION_SENSOR":"Автоматична орієнтація програвача (датчик)","PLAYER_PLAYBACK_SPEED":"Швидкість відтворення","PLAYER_PLAYBACK_ERROR":"Помилка відтворення, повторіть спробу","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Невідома помилка","PLAYER_PLAYBACK_ERROR_DEFAULT":"{{productName}} не може відтворити це відео.","PLAYER_SUBTITLES_LANGUAGES":"Мови субтитрів","PLAYER_SUBTITLES_VARIANTS":"Варіанти субтитрів","PLAYER_SUBTITLES_SETTINGS":"Налаштування субтитрів","PLAYER_SUBTITLES_DISABLED":"Субтитри вимкнено","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Вертикальне положення","PLAYER_SUBTITLES_LOADED":"Субтитри завантажено","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Вбудовані субтитри завантажено","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Ексклюзивні субтитри завантажено","PLAYER_SUBTITLES_LOADED_ORIGIN":"Субтитри завантажено з {{origin}}","PLAYER_PLAY":"Грати","PLAYER_PAUSE":"Пауза","PLAYER_NEXT_VIDEO":"Наступне відео","PLAYER_MUTE":"Вимкнути звук","PLAYER_UNMUTE":"Увімкнути звук","PLAYER_OPEN_IN_EXTERNAL":"Відкрити у зовнішньому плеєрі","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Грати на {{device}}","PLAYER_LIVE":"Наживо","PLAYER_NEXT_VIDEO_TITLE":"Далі буде","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Закрити","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Дивитися зараз","PLAYER_COPY_STREAM_SUCCESS":"Посилання на трансляцію скопійовано в буфер обміну","PLAYER_COPY_STREAM_ERROR":"Не вдалося скопіювати посилання на трансляцію","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","STREAMING_FROM":"транслюється з","CASTING_TO":"Транслюється до","NETWORK_STATUS":"Стан мережі","STREAM_SPEED":"Швидкість потоку:","STREAM_BUFFERED":"Буферизовано:","PEERS_INFO":"Інформація про вузли","PEERS_ACTIVE":"Активний:","PEERS_CONNECTED":"Підключено:","PEERS_WAITING":"Очікування:","TRANSCODING_WARNING":"Попередження: перекодування відео.","STREAM_LOADING":"завантаження...","PLAYING_LOCAL":"відтворення з локального файлу","PLAYING_CACHE":"відтворення з кешу","WRONG_SUBS":"Неправильні субтитри?","ERR_SUBS_LOADING_TITLE":"Помилка завантаження субтитрів","ERR_SUBS_LOADING":"Помилка завантаження субтитрів: це може бути із-за доповнення, яке ви використовуєте або з вашим мережевим підключенням","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Наступні доповнення субтитрів дали збій","ERR_CASTING_UPDATE_TITLE":"Не вдалося оновити інформацію про пристрій для трансляції: сервер потокового передавання може бути поза мережею","CHOOSE_DEVICE":"Виберіть пристрій для перегляду","NO_CAST_DEVICES":"Немає доступних пристроїв для трансляції.","NO_SETTINGS":"Немає доступних налаштувань.","PHONE_TABLET":"Телефон / Планшет","SUBTITLES":"Субтитри","SUBTITLES_CHANGE":"Змінити субтитри для ","SUBTITLES_CHANGE_NONE":"На жаль, немає інших субтитрів для цієї мови.","SUBTITLES_CHANGE_ACIVE":"Наразі субтитри &#35;{{subtitlesDialog.activeIdx + 1}} активовані. Натисніть «Продовжити», щоб активувати субтитри &#35;{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Або,","SUBTITLES_ADJUST_DELAY":"Налаштуйте затримку субтитрів:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Або використовуйте <span> G </span> / <span> H </span> під час відтворення, щоб налаштувати.","SUBTITLES_ADJUST_DELAY_TIP":"ПОРАДА: ви можете використовувати <span> G </span> / <span> H </span> під час відтворення для налаштування.","SUBTITLES_DELAY":"Затримка субтитрів:","SUBTITLES_LOADING":"Завантаження субтитрів...","SUBTITLES_UNAVAILABLE":"Немає доступних зовнішніх субтитрів","SUBTITLES_DISABLED":"Вимкнено","EXTERNAL_PLAYER_DISABLED":"Вимкнено","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Дозволити вибір","EXTERNAL_PLAYER_HINT":"Підказка: існує налаштування, яке дозволяє завжди відкривати за допомогою зовнішнього програвача","DONT_SHOW_AGAIN":"Більше не показувати","SERVICE_INSTALL":"Встановити","AUDIO":"Аудіо","DEFAULT_LANGUAGE":"Мова за замовчуванням","DEFAULT_SECONDARY_LANGUAGE":"Додаткова мова за умовчанням","SEASON":"Сезон","EPISODE":"Серія","EPISODE_ABBREVIATION":"EP","SPECIAL":"Особливий","SORT":"сортувати","SORT_BY":"Сортувати за","FILTER":"фільтр","SORT_TRENDING":"трендові","SORT_RECENT":"нещодавні","SORT_ALPHABET":"а-я","SORT_ALPHABET_REVERSE":"я-а","SORT_RATING":"рейтинг","SORT_WATCHED":"переглянуті","SORT_YEAR":"рік","SELECT_TYPE":"Виберіть тип","SELECT_SORT":"Виберіть сортування","SELECT_CATALOG":"Виберіть каталог","SELECT_GENRE":"Виберіть жанр","SORT_LASTWATCHED":"За останніми переглянутими","SORT_NAME":"За назвою","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"За тривалістю переглядів","SORT_NOTWATCHED":"not watched","New for You":"Нове для Вас","New Episodes":"Нові серії","New Videos":"Нові відео","Recommendations":"Рекомендації","LIBRARY_RESUME":"Відновити","LIBRARY_PLAY":"Грати","LIBRARY_DETAILS":"Деталі","LIBRARY_RESUME_DISMISS":"Закрити","LIBRARY_CLEAR_PROGRESS":"Очистити прогрес","LIBRARY_REMOVE":"Видалити","LIBRARY_NOT_LOGGED_IN":"Бібліотека доступна лише для авторизованих користувачів","CALENDAR_NOT_LOGGED_IN":"Календар доступний лише для авторизованих користувачів","NOT_LOGGED_IN_CLOUD":"Отримуйте доступ до улюблених фільмів і телешоу в будь-який час і будь-де","NOT_LOGGED_IN_RECOMMENDATIONS":"Рекомендації, адаптовані до вашої історії переглядів","NOT_LOGGED_IN_NOTIFICATIONS":"Ніколи більше не пропускайте жодної серії","NOT_LOGGED_IN_CALENDAR":"Заплануйте свій особистий календар перегляду","DISCOVER_FEATURED":"Рекомендовані","DISCOVER_TOP":"Топ","DISCOVER_OSCAR":"Переможці премії «Оскар»","DISCOVER_WARNING_TITLE":"Ой!","DISCOVER_EMPTY_CATALOG":"Це доповнення видало порожній вміст.","DISCOVER_ADULT_WARNING":"Вміст доступний лише для дорослих. Тобі 18+?","DISCOVER_NOADDON_WARNING":"Попередження: для цього типу немає активного доповнення Stremio. Показано збережені елементи, тут нічого не оновиться.","DISCOVER_LOAD_ERR":"Вміст не завантажився, сталася помилка.","DISCOVER_ADDON_UNINSTALLED":"Цей вміст більше не доступний, можливо, ви видалили доповнення.","UNINSTALL_THIS_ADDON":"Видалити це доповнення","ERR_ADDON_NOT_INSTALLED":"Це доповнення не встановлене. Встановити зараз?","DETAIL_RECEIVE_NOTIF_SERIES":"Отримувати сповіщення про нові серії","DETAIL_RECEIVE_NOTIF_VIDEOS":"Отримувати сповіщення про нові відео","SIDEBAR_SHOW_STREAMS":"Показати трансляції","RELAUNCH":"Перезапустіть зараз!","UPGRADE":"Нова версія доступна! Оновіть до останньої версії Stremio","RELOAD_UI":"Перезавантажте інтерфейс користувача","MANUAL_UPDATE_TITLE":"Оновіть версію Stremio","MANUAL_UPDATE_LINE1":"Ви використовуєте застарілу та не рекомендовану версію Stremio.","MANUAL_UPDATE_LINE2":"Будь ласка, оновіть якомога швидше.","BUTTON_UPDATE_LATTER":"Не зараз","BUTTON_UPDATE_NOW":"Оновити","ANONYMOUS_USER":"Анонімний користувач","DONT_HAVE_ACC":"Немає облікового запису?","HAVE_ACC":"Вже маєте обліковий запис?","PASSWORD":"Пароль","PASSWORD_CONFIRM":"Підтвердьте пароль","EMAIL":"Електронна пошта","FB_LOGIN":"Продовжити з Facebook","FB_NOTHINGSHARED":"Нічого не передається без вашого дозволу","FB_NOPOST":"Ми не будемо публікувати від вашого імені","OR":"або","I_ACCEPT":"Я приймаю","I_ACCEPT_BY_CLICKING":"Натискаючи кнопку вище, я підтверджую, що приймаю","TOS":"Правила та умови","MUST_ACCEPT_TERMS":"Вам потрібно прийняти умови","PASSWORDS_NOMATCH":"Паролі не збігаються","SIGN_UP":"Зареєструватися","SIGN_UP_EMAIL":"Зареєструйтеся за допомогою е-пошти","CLICK_TO_SIGN_UP":"Натисніть тут, щоб зареєструватися.","LOG_IN":"Увійти","LOG_OUT":"Вийти","EXIT_FULLSCREEN":"Вийти з повноекранного режиму","ENTER_FULLSCREEN":"Увійдіть в повноекранний режим","PLAY_URL_MAGNET_LINK":"Відтворити URL-адресу/магнітне посилання","HELP_FEEDBACK":"Довідка та відгуки","TERMS_OF_SERVICE":"Умови надання послуг","PRIVACY_POLICY":"Політика конфіденційності","ABOUT_STREMIO":"Про Stremio","USER_PANEL":"Панель користувача","LOGIN_LABEL":"Логін","GUEST_LOGIN":"Гостьовий вхід","GUEST_LOGIN_NOTICE":"Гостьовий вхід не рекомендується. Використання звичайного входу дозволяє Stremio синхронізувати вашу бібліотеку, отримувати сповіщення про улюблені серіали/канали. Справді продовжити?","GUEST_LOGIN_NOTICE_2":"Гостьовий вхід не рекомендується – у вас не буде синхронізованих сповіщень Бібліотеки та Дошки, які є життєво важливими функціями Stremio. Ви впевнені, що хочете продовжити?","CLICK_HERE":"натисніть тут","WRONG_PASSWORD":"Неправильна адреса електронної пошти або пароль. Якщо ви забули свій пароль,","SET_A_PASS":"встановіть пароль","RESET_PASSWORD":"Скинути пароль","FORGOT_PASSWORD":"Забули пароль?","EMAIL_USED_WITH_FB":"Ця електронна адреса була використана для входу у Facebook.","INVALID_EMAIL":"Будь ласка, введіть дійсну адресу електронної пошти","INVALID_PASSWORD":"Введіть дійсний пароль","CONN_ERR":"Помилка підключення. Спробуйте пізніше. \\n\\nЯкщо це не зникне, вимкніть брандмауери/антивірусне програмне забезпечення (особливо Bitdefender).","IMPORT_FROM_GUEST":"Імпортувати бібліотеку з гостьового облікового запису","RECEIVE_UPDATES_EMAIL":"Отримувати оновлення на свою електронну пошту від Stremio","LOGIN_FAILED":"Помилка входу.","SIGNUP_FAILED":"Помилка реєстрації.","SEARCH_FAILED":"Помилка пошуку","EMAIL_USED":"Ця електронна адреса вже використовується.","WAITING_FB_LOGIN":"Вхід через Facebook...","EXTERNAL_PLAYER_TITLE":"Відтворити у зовнішньому програвачі","EXTERNAL_REMEMBER_PLAYER":"Ви хочете запам\'ятати свій вибір","EXTERNAL_ALWAYS_PLAY":"Так","EXTERNAL_ONLY_ONCE":"Ні","BEST_FIT":"Найкраще припсування","FIT_SCREEN":"Припасувати","FILL":"Заповнити","16:9":"16:9","4:3":"4:3","Original":"Оригінальний","INTRO_TASTE":"Розкажіть про те, що вам подобається","INTRO_TASTE_LONG":"Розкажіть про те, що б ви хотіли подивитися","INTRO_TASTE_PICK":"Виберіть {{interestsRemaining}} інтересів","INTRO_TASTE_PICK_MORE":"Виберіть ще {{interestsRemaining}} інтересів","INTRO_TASTE_HELP_US":"Допоможіть нам дізнатися більше про вас.","INTRO_TASTE_CHOOSE_THESE":"Виберіть деякі з цих:","INTRO_TASTE_CHOOSE_MIN":"Виберіть принаймні 3 категорії","INTRO_TASTE_CHOOSE_MIN_ERR":"Потрібно вибрати щонайменше 3 категорії!","INTRO_TASTE_LIFESTYLE":"Спосіб життя","INTRO_TASTE_SPORTS":"Спорт","INTRO_TASTE_FOOD_HEALTH":"Їжа та здоров\'я","INTRO_TASTE_BEAUTY_FASHION":"Краса та мода","INTRO_TASTE_NEWS":"Новини","INTRO_TASTE_GAMING":"Ігри","INTRO_TASTE_SCIENCE_EDU":"Наука та освіта","INTRO_TASTE_MUSIC":"Музика","INTRO_TASTE_TRAVEL":"Подорожі","INTRO_TASTE_LATE_NIGHT":"Вечірнє шоу","INTRO_TASTE_REALITY":"Реаліті-шоу","INTRO_TASTE_COMEDY":"Комедії","INTRO_TASTE_DIY":"Своїми руками","INTRO_TASTE_TECH":"Техно","INTRO_TASTE_CINEMA":"Кінотеатр","ADDON_NOT_SUPPORTED":"Вибране доповнення не підтримується на цій платформі.","ADDON_DISCLAIMER":"Використання сторонніх доповнень завжди підлягає вашій відповідальності та чинному законодавству юрисдикції, у якій ви перебуваєте.","ADDON_ACTIVATE":"Активувати це доповнення?","ADDON_REPO_ADD":"URL колекції доповнення","ADDON_ADD":"Додати","INSTALL_ADDON":"Install addon","ADD_ADDON":"Додати доповнення","ADD_ADDON_DESCRIPTION":"Ви можете додати доповнення за зовнішнім посиланням, яке з’явиться в розділі «Встановлені доповнення».","PASTE_ADDON_URL":"Вставте URL-адресу доповнення","WHATS_NEW":"Що нового","BUTTON_CONTINUE":"Продовжити","BUTTON_ACTIVATE":"Активувати","BUTTON_ACTIVATED":"Активовано","BUTTON_CANCEL":"Скасувати","BUTTON_SUBMIT":"Надіслати","BUTTON_DISMISS_ALL":"Закрити все","BUTTON_VIEW_ALL":"подивитись все","BUTTON_SEE_ALL":"Переглянути все","BUTTON_COLOR_TRANSPARENT":"Прозорий","OPEN_IN_BROWSER":"Відкрити в браузері","LIB_EMPTY":"Ваша бібліотека виглядає порожньою. Дізнайтеся, наскільки це корисно :) ","HOW_START":"Ось як ви можете почати:","LIB_EMPTY_CAL":"Ваш Календар показує серії у вашій бібліотеці.","HOW_START_CAL":"Ось як ви можете додати серію:","LIB_EMPTY_BOARD":"Дошка показує сповіщення і рекомендації щодо вашої бібліотеки.","HOW_START_BOARD_WAIT":"Будь ласка, додайте кілька серіалів або каналів до своєї бібліотеки і дайте нам кілька хвилин на обробку :)","HOW_START_BOARD":"Ось як ви можете додати серіали та фільми сюди:","IMPORT_FB":"Імпортувати вподобані речі з <span>Facebook</span>","IMPORT_TRAKT":"Імпортувати медіатеки з <span>Тракт</span>","IMPORT_DISCOVER":"Знайдіть цікаві речі з <span> Discover </span>","IMPORT_DISK":"Імпотувати фільми або шоу, які є на вашому <span>локальному диску</span>","PLEASE_CREATE_ACC":"Будь ласка, <u>створіть обліковий запис</u>, щоб увімкнути синхронізацію Бібліотеки та Дошку.","IMPORT_DISCOVER_SIGNUP":"Зареєструйтеся та знайдіть цікаві речі з <span>Discover</span>","IMPORT_DISK_SIGNUP":"Зареєструйтеся та імпортуйте фільми або шоу з <span>локального диску</span>","LIB_EMPTY_CLOUD":"Хмарна бібліотека","LIB_EMPTY_CLOUD_DESC":"Персональна хмарна бібліотека синхронізована на всіх пристроях","LIB_EMPTY_EARLY":"Рання пташка","LIB_EMPTY_EARLY_DESC":"Отримувати сповіщення про нові серії","LIB_EMPTY_PERSONAL":"Особистий","LIB_EMPTY_PERSONAL_DESC":"Отримайте особисті рекомендації","LIB_EMPTY_CALENDAR_DESC":"Заплануйте свій особистий календар перегляду","LIB_EMPTY_ALL":"Зареєструйтеся, щоб отримати все це:","LIB_EMPTY_BEST":"Зареєструйтеся, щоб отримати найкраще від Stremio","LIB_EMPTY_OTHER":"Зареєструйтеся, щоб увімкнути Календар та інші цікаві функції","CALENDAR_ADDED":"Календар Stremio додано до вашого настільного календаря за замовчуванням.","CALENDAR_ADDED_MSG":"Якщо це не спрацює, додайте цю URL-адресу до програми календаря вручну","TRAKT_EXPIRED":"Термін автентифікації Trakt закінчився, перейдіть у Налаштування та повторіть автентифікацію","TRAKT_REQUIRES_LOGIN":"Помилка тракту","TRAKT_REQUIRES_LOGIN_MSG":"Вам потрібно увійти","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","SETTINGS_LABEL":"Налаштування","SETTINGS_NAV_GENERAL":"Генеральний","SETTINGS_NAV_PLAYER":"Гравець","SETTINGS_NAV_STREAMING":"Потокове","SETTINGS_NAV_SHORTCUTS":"Ярлики","SETTINGS_SHORTCUT_RELOAD_APP":"Перезавантажте додаток","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Відкрити Налаштування","SETTINGS_SHORTCUT_SWITCH_TABS":"Перемикнути вкладок","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Перехід через вкладки вперед","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Перехід через вкладки назад","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Навігація між меню","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Перейти до Пошуку","SETTINGS_SHORTCUT_EXIT_BACK":"Вийти / Повернутися","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Перемикання меню швидкості відтворення","SETTINGS_SHORTCUT_MENU_VIDEOS":"Перемкнути меню «Відео».","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Перемкнути меню субтитрів","SETTINGS_SHORTCUT_MENU_INFO":"Перемкнути інформаційне меню","SETTINGS_SHORTCUT_FULLSCREEN":"Увімкнути на повний екран","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Показати керування","SETTINGS_SHORTCUT_PLAY_PAUSE":"Грати / Пауза","SETTINGS_SHORTCUT_VOLUME_UP":"Гучніше","SETTINGS_SHORTCUT_VOLUME_DOWN":"Тихіше","SETTINGS_SHORTCUT_SEEK_NEXT":"Шукати вперед","SETTINGS_SHORTCUT_SEEK_PREV":"Шукати Назад","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Перейти назад","SETTINGS_SHORTCUT_SEEK_FORWARD":"Перейти вперед","SETTINGS_SHORTCUT_PLAY_NEXT":"Грати далі","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Збільшити розмір субтитрів","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Зменшити розмір субтитрів","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Збільшити затримку субтитрів","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Зменшити затримку субтитрів","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Показати бічну панель","SETTINGS_SHORTCUT_OR":"або","SETTINGS_SHORTCUT_TO":"до","SETTINGS_SHORTCUT_SPACE":"Пробіл","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Автентифікувати","SETTINGS_FACEBOOK_IMPORT":"Імпорт","SETTINGS_CALENDAR_SUBSCRIBE":"Підпишіться","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Мова інтерфейсу","SETTINGS_LAUNCH_STARTUP":"Запуск при запуску","SETTINGS_VLC_DEFAULT":"Грайте з VLC","SETTINGS_UI_LANGUAGE":"Мова інтерфейсу користувача","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Клавіша Escape Вихід на весь екран","SETTINGS_GAMEPAD":"Увімкнути підтримку геймпада","SETTINGS_CLOSE_WINDOW":"Закрийте програму, коли вікно закрито","SETTINGS_SUBTITLES_LANGUAGE":"Мова субтитрів за замовчуванням","SETTINGS_SUBTITLES_SIZE":"Розмір субтитрів за замовчуванням","SETTINGS_SUBTITLES_BACKGROUND":"Фон субтитрів","SETTINGS_SUBTITLES_COLOR":"Колір субтитрів","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Колір контуру субтитрів","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Колір фону субтитрів","SETTINGS_SEEK_KEY":"Клавіші зі стрілками шукають час","SETTINGS_SEEK_KEY_SHIFT":"Клавіші зі стрілками шукають час, коли утримується клавіша Shift","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Тривалість перемотування назад і вперед","SETTINGS_BINGE":"Автоматичне відтворення наступної серії","SETTINGS_NEXT_VIDEO":"Показати сповіщення, щоб почати наступну серію","SETTINGS_NEXT_VIDEO_TRIGGER":"Показати сповіщення про наступну серію для:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Тривалість наступного спливного відео","SETTINGS_PLAY_IN_BACKGROUND":"Грати у фоновому режимі","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Перегляд у зовнішньому програвачі","SETTINGS_RESIZE":"Автоматичне змінення розміру вікна перед відтворенням","SETTINGS_OVERRIDE_SERVER":"Замінити URL-адресу потокового сервера (просунуте)","SETTINGS_SERVER_URL":"URL-адреса потокового сервера:","SETTINGS_SERVER_AVAILABLE":"Потоковий сервер доступний.","SETTINGS_SERVER_UNAVAILABLE":"Потоковий сервер недоступний.","SETTINGS_SERVER_STATUS_ONLINE":"В мережі","SETTINGS_SERVER_STATUS_ERROR":"Помилка","SETTINGS_SERVER_CONFIGURE_TITLE":"Налаштувати URL-адресу потокового сервера","SETTINGS_SERVER_CONFIGURE_INPUT":"Введіть URL-адресу потокового сервера","SETTINGS_SERVER_CACHE_SIZE":"Розмір кешу","SETTINGS_SERVER_TORRENT_PROFILE":"Торент профіль","SETTINGS_HTTPS_ENDPOINT":"HTTPS адреса потоку:","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Завжди використовуйте останню бета-версію","SETTINGS_IMPORT_FB":"Імпортувати із Facebook","SETTINGS_IMPORT_DISK":"Імпортувати з локального диска","SETTINGS_IMPORT_TRAKT":"Імпортувати із Trakt","SETTINGS_PAUSE_MINIMIZED":"Призупинити відтворення, коли згорнуто","SETTINGS_HWDEC":"Декодування з апаратним прискоренням","SETTINGS_BACKGROUND":"Фонове відтворення","SETTINGS_SUBSCRIBE_CALENDAR":"Підписатися на календар","SETTINGS_REQ_EXPORT":"Запит на експорт даних","SETTINGS_ACC_DELETE":"Запит на видалення облікового запису","SETTINGS_CHANGE_PASSWORD":"Змінити пароль","SETTINGS_TOS":"Умови використання","SETTINGS_SUPPORT":"Зв\'яжіться зі службою підтримки","SETTING_LANGUAGE":"Мова","SETTINGS_TRAKT":"Скроблінг Trakt","SETTINGS_TRAKT_LOGOUT":"Вийти із Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Вийти із Trakt","SETTINGS_SCAN_FOR_REMOTE":"Відскануйте QR-код, щоб відкрити пульт","SETTINGS_DESKTOP_NOTIFICATIONS":"Сповіщення на робочому столі","SETTINGS_DATA_SAVER":"Заощадження даних","SETTINGS_LANGUAGE_INTERFACE":"інтерфейс","SETTINGS_LANGUAGE_SUBS":"субтитри за замовчуванням","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Автоматичний вибір звукової доріжки","SETTINGS_DEFAULT_AUDIO_TRACK":"Аудіодоріжка за замовчуванням","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"обліковий запис","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"версія","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"Запуск програвача в окремому вікні (просунуте)","SETTINGS_PLAY_IN_EXTERNAL":"Завжди запускати відео у зовнішньому програвачі","SETTINGS_STORAGE_BUTTON":"Очистити локальне сховище","SETTINGS_STORAGE_MODAL_TITLE":"Ви впевнені?","SETTINGS_STORAGE_MODAL_MESSAGE":"Це очистить локальне сховище та виведе вас із системи.","SETTINGS_HWDEC_PICKER":"Виберіть налаштування декодування з апаратним прискоренням","SETTINGS_HW_AUTOMATIC":"Автоматичне","SETTINGS_HW_DISABLED":"Вимкнено","SETTINGS_HW_ACCELERATED":"Прискорення декодування","SETTINGS_HW_FULL":"Повне прискорення","SETTINGS_HW_LEGACY":"Спадщина","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Субтитри","SETTINGS_SECTION_AUDIO":"Аудіо","SETTINGS_SECTION_CONTROLS":"Елементи керування","SETTINGS_SECTION_AUTO_PLAY":"Автоматичне відтворення","SETTINGS_SECTION_ADVANCED":"Просунутий","SUBSPICKER_AUDIO":"Аудіо","SUBSPICKER_SUBTITLES":"Субтитри додатків","SUBSPICKER_BLACK_BACKGROUND":"Використовуйте чорний колір тла","SUBSPICKER_VERTICAL_OFFSET":"Вертикальне зміщення","SUBSPICKER_SIZE":"Розмір","SUBSPICKER_DELAY":"Затримка","SUBSPICKER_EMBEDDED_SUBS":"Вбудовані субтитри","MOBILE_PRIVACY_POLICY":"Політика конфіденційності","MOBILE_CRASH_REPORTING":"Звіт про збої","MOBILE_ZOOM_TO_FILL":"Збільшити на весь екран","MOBILE_PASSTHROUGH":"Цифровий аудіовихід (прохідний)","MOBILE_RUN_LOW_BATTERY":"Працювати від низького заряду батареї","MOBILE_RUN_FOREGROUND":"Запускати як передову службу","MOBILE_PERFORMANCE":"ЕФЕКТИВНІСТЬ ТА СТАБІЛЬНІСТЬ","MOBILE_SERVER_ONLINE":"Онлайн","MOBILE_SERVER_OFFLINE":"Офлайн","MOBILE_QR_EXPIRES":"QR-код діє через","MOBILE_LOG_INTO":"Увійдіть у свій обліковий запис Stremio","MOBILE_SCAN_QR":"Відскануйте QR-код вище або перейдіть до","MOBILE_LINK_ACCOUNT":"Пов’язати обліковий запис","MOBILE_SPEEDPICKER_CANCEL":"Скасувати","MOBILE_SPEEDPICKER_LABEL":"Виберіть швидкість відтворення","MOBILE_EMPTY_LIBRARY":"Ваша бібліотека порожня","MOBILE_NO_ADDON_ACTIVE":"Немає активного доповненняа Stremio для цього типу.","MOBILE_ORGANIZER_WARNING":"Програма Stremio Organizer надає обмежену функціональність. Щоб отримати список доступних для відтворення потоків і повний досвід Stremio, використовуйте Stremio на комп’ютері.","MOBILE_ADDON_LOADING":"ще завантажується","MOBILE_ADDONS_LOADING":"доповнення досі завантажуються","MOBILE_ADDON":"Доповнення","MOBILE_CONFIGURE_ADDON":"Налаштуйте своє доповнення","MOBILE_CONFIGURE_ADDON_LABEL":"Налаштувати доповнення","MOBILE_ORGANIZER_ADDONS_WARNING":"Додаток Stremio Organizer надає обмежений вибір доповнень. Для повного використання програми використовуйте Stremio на ПК.","MOBILE_DISCONNECT":"Відключити","MOBILE_LOOKING_FOR_DEVICES":"Пошук пристроїв...","MOBILE_CAST_TO":"Транслювати на","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Видалити акаунт","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Видалення облікового запису не відбувається миттєво через юридичні зобов’язання. Після запиту на видалення вашого облікового запису вам доведеться використовувати іншу адресу електронної пошти/профіль Facebook, щоб у майбутньому створити новий обліковий запис Stremio.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Підтвердити видалення облікового запису","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Ваш обліковий запис створено за допомогою Facebook. Щоб видалити свій обліковий запис, скористайтеся нашим порталом користувачів за адресою www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Будь ласка, введіть свій пароль, щоб підтвердити видалення облікового запису.","MOBILE_DELETE_ACCOUNT_BUTTON":"Видалити акаунт","NAVIGATION_ON":"Увімкнено","NAVIGATION_OFF":"Вимкнено","MARKETING_AGREE":"Я погоджуюся отримувати маркетингові повідомлення від Stremio","QUIT":"Вийти","CONNECTED":"Підключено","AUTHENTICATE":"Аутентифікація","CACHING":"Кешування","SETTINGS_CACHING_DRIVE":"Кешуючий диск","ENABLE_LOCAL_FILES_ADDON":"Увімкнути доповнення локальних файлів (потрібно перезавантажити)","LOCAL_ADDON_NOT_ENABLED":"Локальне доповнення не ввімкнено. Натисніть тут, щоб перейти до налаштувань і ввімкнути його","ENABLE_REMOTE_HTTPS_CONN":"Увімкнути віддалені з’єднання HTTPS","TORRENT_PROFILE":"Торрент профіль","DATA_CACHING":"Кешування даних","MAGNET_PARSING":"Розбір магнітного посилання","January":"Січень","February":"Лютий","March":"Березень","April":"Квітень","May":"Травень","June":"Червень","July":"Липень","August":"Серпень","September":"Вересень","October":"Жовтень","November":"Листопад","December":"Грудень","Monday":"Понеділок","Tuesday":"Вівторок","Wednesday":"Середа","Thursday":"Четвер","Friday":"П’ятниця","Saturday":"Субота","Sunday":"Неділя","Action":"Бойовик","Comedy":"Комедія","War":"Про війну","Family":"Сімейні","Animation":"Анімовані","Adventure":"Пригоди","Fantasy":"Фантастика","Crime":"Кримінальні","Mystery":"Таємничі","Romance":"Романтика","Drama":"Драма","Horror":"Жах","Thriller":"Трилер","Sci-Fi":"Наукова фантастика","Music":"Музика","Biography":"Біографія","Documentary":"Документальний фільм","Sport":"Спорт","Musical":"Мюзикл","Western":"Вестерн","Film-Noir":"Фільм-Нуар","News":"Новини","History":"Історичний","Game-Show":"Теле вікторина","Reality-TV":"Реаліті-ТБ","Talk-Show":"Ток-шоу","Film & Entertainment":"Фільми та розваги","Gaming":"Ігри","From TV":"З телевізора","Lifestyle":"Спосіб життя","Science & Education":"Наука та освіта","Cooking & Health":"Кулінарія та здоров\'я","Beauty & Fashion":"Краса та мода","Sports":"Спорт","News & Politics":"Новини та політика","How-to & DIY":"Своїми руками","Tech":"Техно","Automotive":"Автомобільний","Causes & Non-Profits":"Причини та неприбуткові організації","Movies":"Фільми","Uk Live Tv":"Телебачення Великобританії наживо","Fashion":"Мода","Business News Radio":"Радіо новин бізнесу","Business Tv":"Бізнес ТБ","Cars & Auto":"Автомобілі та авто","Comedy Radio":"Комедійне радіо","Lifestyle Radio":"Радіо Lifestyle","News Tv":"ТБ Новини","Food And Wine":"Їжа та вино","Latino Tv":"Латиноамериканське ТБ","Shopping Tv":"Шопінг","Religion":"Релігія","Kids":"Дитяче","Body & Soul":"Тіло і душа","Education":"Освіта","Indian Tv":"Індійське ТБ","Extreme Sports":"Екстримальні види спорту","Middle Eastern Tv":"Близькосхідне ТБ","Celebrity Tv":"ТБ про знаменитостей","Science Tv":"Наукове ТБ","Bikini babe":"Бікіні красуня","Outdoors":"На відкритому повітрі","German Tv":"Німецьке ТБ","French Tv":"Французьке ТБ","Italian Tv":"Італійське ТБ","Gamer Tv":"Геймерське ТБ","Travel":"Подорожі","Asian Tv":"Азіатське ТБ","Entertainment":"Розваги","News Radio":"Радіо новини","Music Radio":"Музичне радіо","Language Learning":"Вивчення мови","Science Radio":"Наукове радіо","Tech Radio":"Техно радіо","Science & Technology Vod":"Наука та технології VOD","new video":"нове відео","new episode":"нова серія","new movie":"новий фільм","recommended":"рекомендовано","we recommend":"ми рекомендуємо","offer of the day":"пропозиція дня","news":"новини","music video":"музичне відео","CTX_SHOW_HOTKEYS":"Показати гарячі клавіші","CTX_DISMISS_NOTIF":"Закрити сповіщення","CTX_DISMISS_ALL":"Закрити все","CTX_SHARE":"Поділитися","CTX_COPY_SHARE_LINK":"Скопюівати посилання на доступ","CTX_COPY_MAGNET_LINK":"Скопюівати магнітне посилання","CTX_COPY_STREAM_LINK":"Копіювати посилання на трансляцію","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Завантажити це відео","CTX_DOWNLOAD_SUBS":"Завантажити субтитри","CTX_VIEW_ON_YOUTUBE":"Переглянути на YouTube","CTX_SHOW":"Показати","CTX_PLAY":"Грати","CTX_PLAY_IN":"Грати в","CTX_PLAY_ON":"Грати на","CTX_WATCH_ON":"Дивитися на","CTX_WATCH":"Дивитися","CTX_WATCHED":"Переглянуті","CTX_WATCH_BEGINNING":"Дивитися з початку","CTX_WATCH_MOBILE":"Дивитися на мобільному пристрої","CTX_REWIND":"Перемотати назад на початок","CTX_MARK_WATCHED":"Позначити як переглянуте","CTX_MARK_NON_WATCHED":"Позначити як непереглянуте","CTX_MARK_UNWATCHED":"Позначити як непереглянуте","CTX_MARK_REST":"Позначити решту як переглянуті","CTX_UNMARK_REST":"Позначити решту як непереглянуті","CTX_RECEIVE_NEW_NOTIF":"Отримувати нові сповіщення","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"Видалити з кешу","CTX_REMOVE_CACHE_EP":"Видалити серію з кешу","CTX_OPEN_CONTAINING":"Відкрити папку, в якій знаходиться","CTX_REMOVE":"Видалити з бібліотеки","CTX_AVAILABLE_OFFLINE":"Доступно офлайн","CTX_PAUSED":"Призупинено","CTX_ALWAYS_ON_TOP":"Завжди зверху","CTX_FULLSCREEN":"Повноекранний","CTX_WRONG_SUBS":"Неправильні субтитри?","CTX_REPORT_ISSUES":"Повідомити про проблему","CTX_COPY":"Копіювати","CTX_PASTE":"Вставити","CTX_CLEAR":"Очистити","CTX_CLEAR_RECENT_SEARCHES":"Очистити останні пошукові запити","HELLO_THERE":"Привіт","HOPE_YOU_ENJOY":"Сподіваємося, що вам сподобається Stremio і це вже одна з ваших улюблених програм!","WHO_ARE_WE":"Хто ми? Ми — команда, яка стоїть за цим. Двоє хлопців, які наполегливо працюють щодня протягом останніх 3 років, щоб зробити цей продукт кращим.","SUPPORT_US":"Якщо вам подобається користуватися Stremio, якщо Stremio для вас цінний – розкажіть про нього!","SPREAD_THE_WORD":"Поділіться з друзями зараз, розкажіть про Stremio","MORE_PEOPLE":"Чим більше людей використовує Stremio, тим буде краще всім!","SEND_A_LINK":"Або надішліть посилання на наш сайт","TIP_LOCALFILES":"Порада: ви можете перетягувати локальні відеофайли в Stremio","ADDON_MY":"Мої доповнення","ADDON_COMMUNITY":"Доповнення спільноти","ADDON_OFFICIAL":"Офіційні доповнення","ADDON_REPOS":"Колекції доповнень","ADDON_SEARCH":"Пошук доповнень","ADDON_INSTALL":"Встановити","ADDON_CONFIGURE":"Налаштувати","ADDON_UNINSTALL":"Видалити","ADDON_UPGRADE":"Оновити","ADDON_INSTALLED":"Встановлено","ADDON_INSTALLED_MSG":"Доповнення встановлено!","ADDON_UPGRADED_MSG":"Доповнення оновлено!","ADDON_UNKNOWN":"Невідоме","ADDON_ERR":"Помилка встановлення доповнення!","ADDON_DISCONNECTED":"Відключено","ADDON_APP_MISSING":"доповнення для цього джерела не встановлено. Ви хочете встановити його зараз?","ADDON_APP_INSTALL":"Встановити зараз","ADDON_PAGE":"Сторінка доповнення","ADDON_TOP_CONTENT":"Найкраще з цього доповнення","ADDON_PROVIDES":"Це доповнення надасть вам:","ADDON_WATCH":"Дивитися #{types} зараз!","ADDON_WATCH_FREE":"Дивіться #{types} БЕЗКОШТОВНО зараз!","ADDON_ADDON":"Доповнення","ADDON_SUPPORTED_TYPES":"Підтримувані типи","ADDON_SUPPORTED_CATALOGS":"Підтримувані каталоги","ADDON_PROVIDES_DISCOVER":"Більше #{types} у Discover","ADDON_PROVIDES_STREAMS":"Переглянути #{types}","ADDON_PROVIDES_STREAMS_FREE":"Дивіться #{types} БЕЗКОШТОВНО","ADDON_PROVIDES_SUBTITLES":"Субтитри для #{types}","ADDON_CANTDETECT":"Нам не вдалося виявити запущений Stremio, тому ми не змогли визначити які доповнення ви встановили.","ERR_NO_META":"Інформації про це не знайдено","ERR_GETTING_META":"Помилка отримання інформації про це.","ERR_CANT_PARSE_MAGNET":"Не вдається розібрати магніт","ERR_NO_MAGNET_INFOHASH":"Немає дійсного хешу інформації для примагнічування","ERR_NO_FILE_PATH":"Неможливо надіслати запит без шляху до файлу","ERR_NO_TORRENT":"Торрент не знайдено","ERR_NO_SUPPORTERD_FILES":"Не знайдено підтримуваних файлів","ERR_OPENING_FILES":"Не вдалося відкрити зовнішні файли","ERR_INVALID_LINK":"Недійсне посилання","ERR_REGISTERED_ONLY":"Ця опція доступна лише для зареєстрованих користувачів.","ERR_CLIPBOARD":"Неможливо відтворити з буфера обміну","ERR_CLIPBOARD_READ":"Неможливо прочитати буфер обміну на цій платформі","ERR_CLIPBOARD_GENERIC":"У буфері обміну не знайдено URL-адреси для відтворення. Будь ласка, скопіюйте URL-адресу (наприклад, магнітне посилання) до відео.","BOARD_CONTINUE_WATCHING":"Продовжити перегляд","BOARD_EXPLANATION_RECOMMENDATIONS":"Фільми, підібрані спеціально для вас.<br />Цей фільм є зразком рекомендації.","BOARD_EXPLANATION_EPISODES":"Нові серії вашого улюбленого серіалу з’являються тут.<br />Додайте до своєї Бібліотеки серії, за якими стежите.","BOARD_EXPLANATION_VIDEOS":"Сюди надходять нові серії ваших улюблених Каналів.<br />Додайте до своєї Бібліотеки канали YouTube, за якими стежите.","WEBSITE_ENJOYED_BY":"Ним користуються понад 30 мільйонів користувачів по всьому світу","WEBSITE_STREAMING_ENHANCED":"Покращений потоковий зв\'язок","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio пропонує безпечний, сучасний та безперебійний розважальний досвід. Завдяки простому у використанні інтерфейсу та різноманітній бібліотеці контенту, включаючи підтримку 4K HDR, користувачі можуть насолоджуватися улюбленими фільмами та телешоу на всіх своїх пристроях. А завдяки своїй прихильності до безпеки, Stremio є найкращим вибором для безтурботного перегляду високоякісного потокового контенту.","WEBSITE_AVAILABLE_ON":"Доступно на","WEBSITE_WATCH_AND_ENJOY":"Дивіться і насолоджуйтеся.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio робить це простіше простого","WEBSITE_ALL_FEATURES":"Всі функції","WEBSITE_EASY_TO_USE":"Простий у використанні","WEBSITE_EASY_TO_USE_DETAILS":"Stremio розроблений таким чином, щоб бути зручним і простим у використанні. Завдяки чистому та інтуїтивно зрозумілому інтерфейсу ви можете легко орієнтуватися та знаходити контент, який хочете переглянути.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Безшовна робота на різних пристроях","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Доступний для широкого спектру платформ (включаючи Windows, Mac, Linux, Android та інші), Stremio відстежуватиме ваш прогрес на всіх ваших пристроях. Просто увійдіть в систему і продовжуйте спостерігати без необхідності налаштовувати додаток на кожному новому пристрої.","WEBSITE_ALL_DOWNLOADS":"Всі завантаження","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"Підтримка відео високої чіткості","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"Вбудований відеоплеєр, що підтримує більшість відеоформатів, включно з 4K HDR, дозволить вам насолоджуватися найвищою доступною якістю.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Бібліотека різноманітного контенту","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio інтегрується з великою кількістю популярних джерел відео, таких як Netflix, Amazon Prime Video, Hulu, YouTube та багато інших.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Створіть безкоштовний обліковий запис","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Індивідуальний досвід перегляду","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio дозволяє вам налаштовувати зовнішній вигляд інтерфейсу, змінюючи тему, додаючи або видаляючи аддони тощо.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Підтримка багатомовних субтитрів","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"Тепер ви можете насолоджуватися улюбленим контентом улюбленою мовою, оскільки Stremio підтримує субтитри всіма мовами.","WEBSITE_TRY_STREMIO_TITLE_P1":"Спробуйте Стреміо","WEBSITE_TRY_STREMIO_TITLE_P2":"Зараз у вашому телевізорі","WEBSITE_YOU_CAN_NOW_WATCH":"Тепер ви можете дивитися всі улюблені телепередачі на своїх пристроях Android TV. Додаток Stremio TV дозволить вам з легкістю насолодитися вечором кіно.","WEBSITE_YOU_CAN_NOW_WATCH_2":"Тепер ви можете дивитися всі улюблені телепередачі на своєму Smart TV або Android TV. Додатки Stremio TV дозволять вам з легкістю насолодитися вечором кіно.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio для Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Напевно, найкращий і найкорисніший додаток, який можна мати на своєму пристрої. Це одна з програм, яку я використовую щодня, особливо на своєму Android TV вже багато років. Добре зроблений з сильною спільнотою, що надає корисні функції. Молодці. Продовжуйте в тому ж дусі.","WEBSITE_REVIEWS":"відгуки","WEBSITE_GET_STREMIO_FOR_FREE":"Отримайте Stremio безкоштовно","WEBSITE_GET_STREMIO_NOW":"Отримайте Stremio зараз","WEBSITE_STREMIO_FEATURES":"Особливості Stremio","WEBSITE_STREMIO_FEATURES_DETAILS":"Стріміть як професіонал з розширеними функціями Stremio і насолоджуйтеся безперешкодним доступом до всіх улюблених медіа","WEBSITE_DISCOVER_MORE":"Дізнайтеся більше.","WEBSITE_DISCOVER_MORE_DETAILS":"Ніколи не вичерпується те, що можна подивитись","WEBSITE_COMMUNITY_DRIVEN":"Управляється громадою","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio має велику та активну спільноту користувачів, які роблять свій внесок у розвиток програмного забезпечення, створюючи та обмінюючись аддонами.","WEBSITE_GET_INVOLVED":"Долучайтеся.","WEBSITE_NEW_THEATER_EXPERIENCE":"Новий театральний досвід","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Новий спеціальний додаток Stremio для телевізора дозволить вам насолоджуватися переглядом фільмів на ваших пристроях Android TV.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Нові спеціальні телевізійні програми Stremio дозволять вам насолоджуватися переглядом фільмів на пристроях Smart TV або Android TV.","WEBSITE_FREE_AND_SECURE":"Вільно та безпечно","WEBSITE_STREAMING":"Потокове","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio пропонує неперевершену безпеку та конфіденційність для користувачів. Завдяки унікальній функції віддаленого запуску аддонів, Stremio забезпечує більш безпечний спосіб трансляції вашого улюбленого контенту порівняно з іншими платформами. Ваша безпека і конфіденційність є головними пріоритетами, і платформа гарантує, що всі ваші дані будуть захищені.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Попрощайтеся з турботами про безпеку та конфіденційність і привітайтеся зі світом нескінченних розваг зі Stremio","WEBSITE_INFORMATION_PROVIDED_BY":"Інформація надана","WEBSITE_CONTRIBUTE":"Допомогти","WEBSITE_CONTRIBUTE_DESC":"до проекту та допоможіть нам зробити Stremio ще кращим","WEBSITE_COMMUNITY_DESC":"Ми віримо, що найкращий спосіб створити дійсно дивовижний потоковий досвід - це залучити до процесу нашу спільноту. Незалежно від того, чи ви програміст, художник або просто фанат - ви можете допомогти Stremio розвиватися.","WEBSITE_COMMUNITY_DESC_2":"Тож приєднуйтесь до нас сьогодні, станьте частиною спільноти Stremio і продовжуйте формувати майбутнє стрімінгу.","WEBSITE_WAYS_TO_GET_INVOLVED":"Як долучитися до участі","WEBSITE_IN_THE_STREMIO_COMMUNITY":"у спільноті Stremio","WEBSITE_SHARE_YOUR_THOUGHTS":"Поділіться своїми думками","WEBSITE_REPORT_BUGS":"Повідомляти про помилки","WEBSITE_SUGGEST_FEATURES":"запропонувати функції","WEBSITE_AND_PROVIDE_FEEDBACK":"та залишайте відгуки на наших каналах у соціальних мережах.","WEBSITE_BETA_TESTING_PROGRAM":"Програма бета-тестування","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Візьміть участь у нашій програмі бета-тестування (ми регулярно розсилаємо запрошення) у спільноті Stremio.","WEBSITE_JOIN_NOW":"Приєднуйтесь зараз!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Офіційні спільноти Stremio","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Неофіційні спільноти Стреміо","WEBSITE_BECOME":"Стань","WEBSITE_A_VOLUNTEER_TRANSLATOR":"перекладач-волонтер","WEBSITE_ARE_YOU_A_DEVELOPER":"Ви розробник?","WEBSITE_CONTRIBUTE_CODE":"Ви можете внести свій код до наших проектів з відкритим вихідним кодом. У нас є кілька проектів на GitHub, які шукають дописувачів. Якщо ви зацікавлені в допомозі, перевірте їх:","WEBSITE_STREMIO_ON_GITHUB":"Stremio на GitHub","WEBSITE_CREATE_ADDON_DESC":"Створіть аддон для розширення функціональності Stremio (у нас є простий у використанні API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"Ми також надаємо можливість приєднатися до нас в якості стажера-розробника, щоб ми могли розвиватися разом.","WEBSITE_APPLY_AS_AN_INTERN":"Подати заявку на стажування","WEBSITE_CALLING_ALL_ARTISTS":"До всіх художників!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Продемонструйте свою творчість і любов до Stremio, завантаживши фан-арт в нашу онлайн-галерею. Незалежно від того, чи це малюнок, картина або цифровий дизайн, ми хочемо побачити ваш унікальний погляд на бренд Stremio. Приєднуйтесь до нашої спільноти ентузіастів мистецтва та діліться своїми роботами з іншими шанувальниками Stremio по всьому світу.","WEBSITE_STREMIO_FANART_GALLERY":"Галерея Stremio Fanart","WEBSITE_INTERN_DESIGNER":"Станьте частиною нашої команди та підніміть свій творчий потенціал на нові висоти завдяки нашим захоплюючим можливостям стажування.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Проєкт Фільми у суспільному надбанні","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"У Stremio ми прагнемо зберегти історію кіно і телебачення, виявляючи відео, що є суспільним надбанням, та осиротілі відеоматеріали. Працюючи разом з нашою спільнотою, ми можемо гарантувати, що ці класичні твори мистецтва будуть доступні кожному і збережені для майбутніх поколінь.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Не соромтеся звертатися до нас, якщо ви хочете долучитися до цього проекту.","WEBSITE_JOIN_THE_PROJECT":"Приєднуйтесь до проекту","WEBSITE_BE_PART_OF_OUR_MISSION":"Станьте частиною нашої місії","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Бажаєте приєднатися до команди Stremio? Ми пропонуємо повністю віддалену роботу для захоплених професіоналів. Ознайомтеся з нашими відкритими вакансіями.","WEBSITE_OPEN_POSITIONS":"ВІДКРИТІ ПОЗИЦІЇ","WEBSITE_DESCRIPTION":"ОПИС","WEBSITE_LEARN_MORE":"Дізнайтеся більше","WEBSITE_COMPANY":"Компанія","WEBSITE_CONTACTS":"Контакти","WEBSITE_NEED_HELP":"Потрібна допомога?","WEBSITE_STREMIO_WEB_ON_IOS":"Посібник для Stremio Web на iOS","WEBSITE_LINK_ART_V2":"Галерея Fanart","WEBSITE_PARTNERS":"Партнери","WEBSITE_SLOGAN_WATCH":"Дивіться миттєво","WEBSITE_SLOGAN_ALL":"Весь відеовміст, який вам подобається в одному місці","WEBSITE_SLOGAN_NEW":"Все, що ви можете дивитися","WEBSITE_SLOGAN_NEW_NEW":"Свобода Перегляду","WEBSITE_WATCH_FROM":"Дивитися з","WEBSITE_DOWNLOAD":"Завантажити зараз","WEBSITE_DOWNLOAD_FOR":"Завантажити зараз для","WEBSITE_IS_DESKTOP":"Stremio — це настільна програма, відкрийте цю сторінку на своєму ПК та завантажте її","WEBSITE_DESKTOP_DEMO_VID":"Демонстрація робочого столу","WEBSITE_PAGE_HOME":"Додому","WEBSITE_PAGE_FEATURES":"Особливості","WEBSITE_PAGE_ADDONS":"Доповнення","WEBSITE_PAGE_TECH":"Технології","WEBSITE_PAGE_CREATE_ADDON":"Створити доповнення","WEBSITE_PAGE_CONTACTS":"Контакти","WEBSITE_PAGE_BLOG":"Блог","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Фільми","WEBSITE_TYPE_series_PL":"Серіали","WEBSITE_TYPE_tv":"ТБ наживо","WEBSITE_TYPE_channel":"Канали","WEBSITE_STREMIO_WHAT_IS":"Stremio — це програма, яка допоможе вам упорядкувати та миттєво дивитися улюблені відео, фільми, серіали та телеканали.","WEBSITE_FEATURES_WATCH":"Дивіться миттєво в HD","WEBSITE_FEATURES_WATCH_DETAIL":"Натисніть і відтворіть улюблені фільми, телешоу, відео та телеканали.","WEBSITE_FEATURES_SUBS":"Автоматичні субтитри","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio автоматично вибирає синхронізовані субтитри для вашої мови.","WEBSITE_FEATURES_SUBS_LABEL":"Ваш хід, шефе.","WEBSITE_FEATURES_CAST":"Грайте на телевізорі та мобільних пристроях","WEBSITE_FEATURES_CAST_DETAIL":"Транслюйте на AppleTV, Chromecast, Smart TV (DLNA/UPnP) і мобільні пристрої.","WEBSITE_LIB":"Насолоджуйтесь синхронізацією особистої бібліотеки на всіх ваших пристроях","WEBSITE_LIB_COLLECT":"Зберіть зі Stremio","WEBSITE_LIB_IMPORT":"Імпорт із Facebook","WEBSITE_LIB_LOCAL":"Додайте з локального диска","WEBSITE_BOARD":"Дошка - ваше єдине місце для сповіщень та рекомендацій","WEBSITE_BOARD_RECOMMEND":"Рекомендоване телешоу","WEBSITE_BOARD_TRENDING":"Популярний фільм","WEBSITE_BOARD_NEW":"Нове відео","WEBSITE_BOARD_EPISODE":"Нова серія","WEBSITE_BOARD_1":"Шукаєте щось цікаве для перегляду? Отримайте рекомендації на свій смак!","WEBSITE_BOARD_2":"Отримуйте сповіщення, коли виходить нова серія вашого улюбленого телешоу чи каналу YouTube!","WEBSITE_BOARD_YOUTUBE":"Нові відео YouTube каналів","WEBSITE_BOARD_EPISODES":"Нові серії серіалів, за якими ви стежите","WEBSITE_ADDONS":"Доповнення вмісту","WEBSITE_TECH_DETAIL":"Ми любимо технології, ми любимо божевільну науку!\\nStremio використовує такі технології з відкритим кодом:","WEBSITE_TECH_WCJS":"WebChimera.js дозволяє Stremio відтворювати будь-який формат відео з хорошою продуктивністю.","WEBSITE_TECH_WCJS_EXTRA":"Ми є основними учасниками проекту","WEBSITE_TECH_ELECTRON":"Electron надає інноваційну платформу для створення Stremio.","WEBSITE_TECH_ELECTRON_EXTRA":"Ми є учасниками проекту","WEBSITE_TECH_LINVODB":"Технологія баз даних, яка забезпечує організацію та доступність ваших даних у будь-якому місці, де ви входите.","WEBSITE_TECH_LINVODB_EXTRA":"Вбудовані технології","WEBSITE_CREATE_ADDON":"Створіть власне доповнення","WEBSITE_CREATE_ADDON_DETAIL":"У вас є послуга з надання відеоконтенту? Ми допоможемо вам скористатися можливостями Stremio, створивши власне доповнення","WEBSITE_CREATE_ADDON_BENEFITS":"Переваги створення доповнення для Stremio","WEBSITE_P2P_BEAUTY":"Краса P2P передавання","WEBSITE_P2P_1":"Надійне та доступне відео у форматі Full HD / 4K на замовлення або в прямому ефірі","WEBSITE_P2P_2":"Платформа розповсюдження забезпечує чудовий досвід користувача","WEBSITE_P2P_3":"Ми створимо доповнення, який точно відповідає вашим потребам","WEBSITE_P2P_CONTACT":"Цікаво? Ви можете <a href=\'mailto:office@stremio.com\'> зв’язатися з нами </a> .","WEBSITE_P2P_CONTACT_EXTRA":"Ми будемо раді допомогти вам інтегрувати ваш контент зі Stremio!","WEBSITE_P2P":"Час від часу з’являється технологія, яка змінює назву гри. Ми доклали масу часу та зусиль у створення нашого механізму потокового потокового відео (P2P), який забезпечує чудову продуктивність та універсальність для адаптації до будь-якого випадку використання.\\n Зв’яжіться з нами, щоб отримати відео P2P з підтримкою DRM на вимогу або пряму трансляцію.","WEBSITE_THOUGHTS":"Думками, якими ми ділимося:","WEBSITE_SPREAD":"Розкажіть про Stremio:","WEBSITE_CONTACT":"Зв\'яжіться з нами, ми будемо раді почути від вас!","WEBSITE_OPENSOURCE":"Щоб переглянути наші проекти з відкритим кодом, перейдіть до нашого","WEBSITE_BITCOIN":"Пожертвуйте біткойн:","WEBSITE_FAQ":"Часті запитання","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Запитання","WEBSITE_TOS":"Умови користування","WEBSITE_LEGAL":"Юридичний","WEBSITE_PAGE_ABOUT":"Про","WEBSITE_PAGE_BECOME_PARTNER":"Стати партнером","WEBSITE_ALL_YOU_CAN_WATCH":"Свобода дивитися\\n Все що ти хочеш.","WEBSITE_FREEDOM_TO_STREAM":"Свобода Перегляду","WEBSITE_WHAT_IS_STREMIO":"Що таке stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio — це єдиний центр для агрегації відеоконтенту. Знаходьте, упорядковуйте та дивіться відео з усіх джерел на будь-якому пристрої, яким ви володієте.","WEBSITE_WHAT_IS_STREMIO_P2":"Фільми, телешоу, серіали, пряме телебачення або веб-канали, як-от YouTube і Twitch.tv – все це можна знайти на Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio — це сучасний медіа-центр, який є єдиним рішенням для ваших відеорозваг. Ви відкриваєте, переглядаєте й упорядковуєте відеовміст із простих для встановлення додатків.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Фільми, телешоу, телевізійні програми в прямому ефірі або веб-канали - знайдіть все це на Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Насолоджуйтесь на всіх своїх мультимедійних пристроях","WEBSITE_DEVICES_COLLECT":"Зберіть зі Stremio","WEBSITE_DEVICES_IMPORT_FB":"Імпорт із Facebook","WEBSITE_DEVICES_LOCAL":"Додати з локального диска","WEBSITE_JOIN_THE_PARTY_NOW":"Приєднуйтесь до вечірки зараз","WEBSITE_DEVICES_ALL":"Простий у використанні на всіх ваших пристроях;","WEBSITE_EXTENDABLE_CATALOG":"Каталог відео, що безмежно розширюється;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Чудові функції для організації ваших медіа;","WEBSITE_AS_SEEN_ON":"Як бачили на","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"Про нас","WEBSITE_LINK_TECHNOLOGY":"Технологія","WEBSITE_LINK_APPS":"Програми","WEBSITE_LINK_DOWNLOADS":"Завантаження","WEBSITE_MORE":"Більше","WEBSITE_LINK_ADDONS":"Доповнення","WEBSITE_LINK_ADDON_SDK":"Доповнення SDK","WEBSITE_LINK_CONTRIBUTE":"Допомогти","WEBSITE_LINK_COMMUNITY":"Спільнота","WEBSITE_LINK_BLOG":"Блог","WEBSITE_MORE_MORE":"... і більше","WEBSITE_LINK_HELP":"Центр допомоги","WEBSITE_LINK_CONTACTS":"Бізнес запити","WEBSITE_LINK_TOS":"Правила та умови","WEBSITE_LINK_PRAVACY":"Політика конфіденційності","WEBSITE_SUBSCRIBE":"Підписатися","WEBSITE_NEWSLETTER":"Приєднуйтесь до нашої розсилки, щоб отримати дивовижні речі","WEBSITE_PLACEHOLDER_EMAIL":"Ваша електронна пошта","WEBSITE_COMMUNITY":"Спільнота","WEBSITE_LINK_PRAVACY_LEGAL":"Конфіденційність і право","WEBSITE_WHY":"Чому ми це робимо","WEBSITE_WHY_P1":"У Stremio ми щодня приходимо на роботу, тому що хочемо вирішити важливу проблему для індустрії відео за запитом. Щохвилини публікується стільки нового вмісту, що практично неможливо розібратися з ним.","WEBSITE_WHY_P2":"Ми допомагаємо людям орієнтуватися у цьому величезному світі відеорозваг і відкривати для себе новий вміст. Наші програми об’єднують фільми, серіали, телепередачі в прямому ефірі, веб-канали тощо. Ми прагнемо зробити так, щоб користувачам було неймовірно легко знаходити назви та трансляції, які їм подобаються.","WEBSITE_WHY_P3":"Ви можете користуватися нашим сервісом на будь-якому пристрої та в будь-який час, що робить Stremio єдиним центром відеорозваг, який вам коли-небудь знадобиться.","WEBSITE_TEAM":"КОМАНДА","WEBSITE_TEAM_P":"Команда Stremio невелика, але потужна: нас десятеро і ми кодуємо різними мовами, ділимося досвідом у розробці програмного забезпечення, дизайні інтерфейсу та UX, маркетингу та рекламі, а також бізнесу та стартапів.","WEBSITE_FEATURES":"Можливості","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Легко відкривайте новий вміст","WEBSITE_FEATURES_DISCOVER_P":"Легко знаходьте нові фільми, телешоу, серіали та канали для перегляду. Переглядайте за категорією, жанром, рейтингом, новизною тощо або просто введіть назву, щоб знайти. Stremio робить пошук нового відеоконтенту простим.","WEBSITE_FEATURES_ALL_CONTENT":"Весь ваш відеовміст на одному екрані","WEBSITE_FEATURES_ALL_CONTENT_P1":"Перегляньте які фільми, серіали чи відео ви не закінчили і продовжуйте дивитися їх; отримуйте сповіщення про нові серії та випуски; переглядайте рекомендації на основі ваших звичок перегляду.","WEBSITE_FEATURES_LIBRARY":"Упорядкуйте свою відеотеку","WEBSITE_FEATURES_LIBRARY_P1":"Додайте будь-яке медіа до своєї бібліотеки Stremio одним клацанням миші та знайдіть свій вміст, акуратно впорядкований за типом, новизною або за алфавітом.","WEBSITE_FEATURES_CALENDAR":"Слідкуйте за всім, що дивитеся","WEBSITE_FEATURES_CALENDAR_P1":"Отримайте візуалізацію календаря всіх фільмів і серіалів, які ви додаєте до бібліотеки. Експортуйте свій календар Stremio та синхронізуйте його, щоб завжди знати коли має вийти нова серія або прем’єра.","WEBSITE_FEATURES_BIG_SCREEN":"Насолоджуйтесь своїм відеоконтентом на більшому екрані","WEBSITE_FEATURES_BIG_SCREEN_P1":"Транслюйте все, що ви дивитеся на інший пристрій – телефон, планшет або телевізор одним клацанням миші.","WEBSITE_FEATURES_SOURCES":"Дивіться відео з різних джерел","WEBSITE_FEATURES_SOURCES_P":"Встановіть офіційні або доповнення спільноти, щоб насолоджуватися відео, отриманими від багатьох різних постачальників – все в одному елегантному, простому додатку.","WEBSITE_CREATE_AN_ADDON":"Створити доповнення","WEBSITE_FEATURES_SYNC":"Синхронізуйте свою бібліотеку на різних пристроях і відновлюйте відтворення","WEBSITE_FEATURES_SYNC_P1":"Увійдіть у свій обліковий запис на всіх своїх пристроях і насолоджуйтесь синхронізованою бібліотекою, доповненнями, відтворенням і календарем.","WEBSITE_FEATURES_EXTENDABLE":"Розширюваний каталог відео за доповненнями","WEBSITE_FEATURES_EXTENDABLE_P1":"Каталог Stremio містить ряд доповнень для встановлення та перегляду різноманітного відеовмісту. Сюди входять фільми, шоу, телепередачі в прямому ефірі, спорт, новини, подкасти, веб-канали, відеоігри тощо.","WEBSITE_FEATURES_AUTO_SUBS":"Автоматичні субтитри","WEBSITE_FEATURES_AUTO_SUBS_P1":"За допомогою наших доповнень субтитрів ви отримуєте автоматично вибрані параметри для бажаної мови.","WEBSITE_FEATURES_CHROMECAST":"Трансляція на Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Насолоджуйтесь своїм відеовмістом на більшому екрані або просто передайте те, що дивитеся на інший пристрій.","WEBSITE_FEATURES_KEEP_TRACK":"Відстежуйте свої улюблені телешоу та веб-канали","WEBSITE_FEATURES_KEEP_TRACK_P1":"Отримуйте візуалізацію календаря та сповіщення про нові серії улюблених серіалів і веб-каналів.","WEBSITE_FEATURES_POWER_USER":"Функції досвідченого користувача","WEBSITE_FEATURES_POWER_USER_P1":"Перегляд у зовнішньому програвачі","WEBSITE_FEATURES_POWER_USER_P2":"Перегляд з торрент-файлу або магнітного посилання","WEBSITE_FEATURES_POWER_USER_P3":"Імпортуйте у свою бібліотеку з вподобайок Facebook або локального диска","WEBSITE_ADD_ONS":"Доповненя","WEBSITE_ADD_ONS_P1":"Весь відео-вміст, який надає Stremio, отримується через систему доповнень — у програму не вбудовано жодного вмісту чи постачальника.","WEBSITE_ADD_ONS_P2":"Доступні дві групи доповнень: офіційні та спільноти.","WEBSITE_ADD_ONS_P3":"Офіційні розробляються та розміщуються Stremio, тоді як доповнення спільноти створюються членами нашої спільноти, які також розміщують їх.","WEBSITE_ADDONS_OFFICIAL":"Офіційні доповнення","WEBSITE_ADDONS_WATCHUB":"Транслюйте свої улюблені фільми, серіали та шоу з iTunes, Hulu, Amazon та інших сервісів Великобританії та США.","WEBSITE_ADDONS_YOUTUBE":"Дивіться улюблені канали YouTube без реклами та отримуйте сповіщення про нові відео від авторів з ваших підписок.","WEBSITE_ADDONS_FILMON":"Дивіться телепередачі в прямому ефірі, фільми та соціальне телебачення безкоштовно. 600 телеканалів, 45 000 безкоштовних фільмів, документальних фільмів тощо.","WEBSITE_ADDONS_OPENSUBTITLES":"Субтитри для фільмів і телепередач кількома мовами, тисячі перекладених субтитрів додаються щодня.","WEBSITE_ADDONS_COMMUNITY":"Доповнення спільноти","WEBSITE_ADDONS_FILMON_VOD":"Дивіться відео на вимогу від Filmon.tv","WEBSITE_ADDONS_TWICH":"Дивіться прямі трансляції з Twitch.tv - платформи з відео індустрії кіберспорту.","WEBSITE_ADDONS_VODO":"Дивіться інді-фільми абсолютно безкоштовно.","WEBSITE_ADDONS_NETFLIX":"Дивіться фільми та веб-серіали Netflix.","WEBSITE_ADDONS_CREATE":"Створити доповнення","WEBSITE_ADDONS_CREATE_P1":"За бажанням ви можете створити власне доповнення. Таким чином, ви можете надати собі та нашій спільноті доступ до нового відеоконтенту та охопити нову цільову аудиторію, яка складається з мільйонів користувачів по всьому світі.","WEBSITE_ADDONS_START_CREATE":"Щоб почати, відвідайте сторінку Stremio Addon SDK:","WEBSITE_DOWNLOADS":"Завантаження","WEBSITE_DOWNLOADS_P1":"Для оптимальної продуктивності ми рекомендуємо використовувати останню доступну версію програм Stremio. Однак якщо з якихось причин ви хочете використовувати старішу версію, ви можете завантажити її тут.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio для Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio для macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio для Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio для Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio для Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio для Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio для Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio для iOS (обмежена версія)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Завантажте службу Stremio","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service — це супутня програма для Stremio Web. Ми рекомендуємо використовувати останню доступну версію Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Служба Stremio для Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Служба Stremio для macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Служба Stremio для Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Служба Stremio для Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"Додаткові параметри завантаження","WEBSITE_DOWNLOAD_NEW":"Новинка!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"Ми випустили Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"Платформа Stremio з відкритим вихідним кодом і ви можете легко створити доповнення для нового контенту.","WEBSITE_CONTRIBUTE_WHY":"Навіщо створювати доповнення?","WEBSITE_CONTRIBUTE_WHY_P1":"Охопіть нову аудиторію для свого відеоконтенту","WEBSITE_CONTRIBUTE_WHY_P2":"База користувачів Stremio стрімко зростає – за перший рік після запуску Stremio набрав 1 мільйон користувачів у всьому світі, а на другий рік існування платформи ця кількість зросла до 2,5 мільйонів.","WEBSITE_CONTRIBUTE_WHY_P3":"За допомогою свого доповнення ви можете легко охопити цю аудиторію та поширити їй свій відеовміст.","WEBSITE_CONTRIBUTE_ALL":"Дивіться улюблені фільми, відео, серіали та канали в одному місці.","WEBSITE_CONTRIBUTE_ALL_P1":"Ви шанувальник певного типу контенту, який ще не доступний на Stremio? Створіть для нього доповнення та насолоджуйтеся переглядом улюблених відео в одному з найбільших і найпростіших у використанні центрів розваг на ринку.","WEBSITE_CONTRIBUTE_ALL_P2":"Крім того, ви отримаєте нескінченну вдячність інших членів спільноти Stremio-однодумців.","WEBSITE_CONTRIBUTE_MONETIZE":"Монетизуйте своє доповнення і заробляйте гроші з його допомогою","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Як тільки ви створите нове доповнення для Stremio, зможете легко монетизувати його різними способами. Якщо ви думаєте про це, не соромтеся зв’язатися з нами за адресою","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":"- ми будемо раді проконсультувати вас та порадити варіанти монетизації доповнень.","WEBSITE_CONTRIBUTE_TRANSLATE":"Станьте волонтером-перекладачем","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Якщо ви хочете користуватися додатками Stremio різними мовами, ви можете приєднатися до нашої спільноти волонтерів-перекладачів. Вони допомагають нам додавати версії Stremio багатьма різними мовами.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Ви хочете почати?","WEBSITE_TRANSALTE_STREMIO":"Перекладіть Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Офіційні спільноти","WEBSITE_COMMUNITY_OFFICIALS_P1":"Станьте частиною спільноти Stremio, що розвивається. Слідкуйте за нами в соціальних мережах і не соромтеся привітатися – ми любимо чути від наших шанувальників!","WEBSITE_COMMUNITY_UNOFFICIALS":"Неофіційні спільноти","STREMIO_COMMUNITY_NL":"Стреміо Нідерланди","STREMIO_COMMUNITY_BRASIL":"Стреміо Бразилія","STREMIO_COMMUNITY_GERMANY":"Stremio Німеччина","STREMIO_COMMUNITY_BELGIUM":"Stremio Бельгія","STREMIO_COMMUNITY_FRANCE":"Стреміо Франція","STREMIO_COMMUNITY_PORTUGAL":"Стреміо Португалія","STREMIO_COMMUNITY_ITALY":"Стреміо Італія","STREMIO_COMMUNITY_UK":"Stremio Великобританія","STREMIO_COMMUNITY_USA":"Стреміо США","STREMIO_COMMUNITY_MEXICO":"Стреміо Мексика","STREMIO_COMMUNITY_ADDONS":"Доповнення Stremio","STREMIO_COMMUNITY_AWESOME":"Чудовий Стреміо","WEBSITE_COMMUNITY_PARTNERS":"Партнери та прихильники","WEBSITE_COMMUNITY_GOODIES":"Смаки Stremio","WEBSITE_COMMUNITY_WALLPAPERS":"Шпалери","WEBSITE_COMMUNITY_ART":"Художня галерея спільноти","WEBSITE_LINK_ART":"Художня галерея спільноти","WEBSITE_CONTACT_US":"Зв\'яжіться з нами","WEBSITE_CONTACT_US_P1":"Якщо у вас виникли запитання, коментарі чи пропозиції, не соромтеся зв’язатися з нами за допомогою контактної форми нижче.","WEBSITE_CONTACT_US_P2":"Майте на увазі, що ми знаходимося в Болгарії, тому у розгляді вашого запиту може виникнути затримка через різницю в часових поясах.","WEBSITE_CONTACT_US_SUCCESS":"Ваше повідомлення було відправлене. Ми зв’яжемося з вами якнайшвидше.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Будь ласка, введіть дійсну адресу електронної пошти!","WEBSITE_CONTACT_US_Q_RELATED_TO":"З чим пов’язане ваше питання?","WEBSITE_CONTACT_US_Q_OS":"Яка ваша операційна система?","WEBSITE_CONTACT_US_PH_EMAIL":"Ваша електронна адреса","WEBSITE_CONTACT_US_PH_MESSAGE":"Повідомлення","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"НАДІСЛАТИ","WEBSITE_CONTACT_US_Q_1":"Як встановити?","WEBSITE_CONTACT_US_Q_2":"Як видалити?","WEBSITE_CONTACT_US_Q_3":"(HTML) Як приготувати лазанью?","WEBSITE_CONTACT_US_Q_4":"Доповнення","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Технологія","WEBSITE_TECHNOLOGY_P1":"Ми любимо технології та божевільну науку.</br>Ось що використовує Stremio (це все з відкритим кодом).","WEBSITE_TECHNOLOGY_P_QT":"Кросплатформна розробка програмного забезпечення в кращому вигляді.","WEBSITE_TECHNOLOGY_P_MPV":"Безкоштовний мультиплатформний медіапрогравач з відкритим кодом.","WEBSITE_TECHNOLOGY_P_RN":"React Native дозволяє створювати мобільні додатки, використовуючи лише JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Медіа-фреймворк, вбудований у програму для отримання мультимедіа.","WEBSITE_TECHNOLOGY_P_REALM":"Realm — це мобільна платформа та заміна SQLite та Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js — це кросплатформне середовище виконання JavaScript з відкритим кодом.","WEBSITE_TECHNOLOGY_P_RUST":"Rust — це багатопарадигмальна мова системного програмування, орієнтована на безпеку, особливо на безпечну паралельність.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Допоможіть проекту","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Ви можете зробити свій внесок у Stremio і допомогти нам зробити продукт ще кращим двома способами.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Ви можете пожертвувати свої цінні мовні навички, переклавши платформу...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"або","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... ви можете використати свої навички програмування для створення доповнень спільноти.","WEBSITE_TRANSLATE_STREMIO":"Перекласти Stremio","WEBSITE_404_OH_NO":"Ой-ой! Сторінки, яку ви шукаєте, тут немає...","WEBSITE_GO_HOME":"На головну","WEBSITE_LINK_OTHER_DOWNLOADS":"Інші завантаження","WEBSITE_FAQ_ABR":"ЧАП","WEBSITE_SUPPORT":"Підтримка","WEBSITE_DOWNLOAD_4_0_BETA":"Завантажити Stremio 4 бета зараз","WEBSITE_GET_FOR_DESKTOP":"Отримати для ПК","WEBSITE_LINK_ADDON_COMPETITION":"Конкурс доповнень","WEBSITE_LINK_ART_CONTEST":"Мистецький конкурс","WEBSITE_MY_ACCOUNT":"Мій обліковий запис","WEBSITE_MAINPAGE_FAQ_001_H1":"Що таке Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio – це сучасний медіа-центр, який дає вам свободу дивитися все, що ви хочете.","WEBSITE_MAINPAGE_FAQ_002_H1":"Як це працює?","WEBSITE_MAINPAGE_FAQ_002_P1":"Після того, як ви встановите Stremio на своєму пристрої та створите обліковий запис, вам залишиться відвідати каталог доповнень і встановити будь-який на ваш смак і готово!","WEBSITE_MAINPAGE_FAQ_002_P2":"Після цього ви можете перейти до розділів Новинки або Дошка для перегляду контенту.","WEBSITE_MAINPAGE_FAQ_003_H1":"Що тут можна подивитися?","WEBSITE_MAINPAGE_FAQ_003_P1":"Багато чого: фільми, телешоу, веб-канали, спорт, телеканали, слухати подкасти тощо. Завдяки нашій системі доповнень ви можете отримати доступ до різноманітного вмісту.","WEBSITE_MAINPAGE_FAQ_004_H1":"Чи Stremio з відкритим кодом?","WEBSITE_MAINPAGE_FAQ_004_P1":"Так, ви можете перевірити наступні посилання: $ {1}desktop додаток $ {2} і $ {3}GitHub організації $ {4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Чи безпечний Stremio?","WEBSITE_MAINPAGE_FAQ_005_P1":"Так: оскільки це програма з відкритим кодом, доступний для загального перегляду і ви можете перевірити його самостійно.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"Як щодо моєї конфіденційності?","WEBSITE_MAINPAGE_FAQ_006_P1":"Ми поважаємо конфіденційність користувачів і не збираємо жодних персональних даних, крім необхідного мінімуму для створення та синхронізації вашого облікового запису.","WEBSITE_MAINPAGE_FAQ_006_P2":"Існує також ${1}Гостьовий режим${2} під час реєстрації, який не вимагає ніяких даних взагалі: в цьому режимі, не здійсюється ніяких запитів на наш сервер. Однак це відбувається за рахунок корисних функцій, таких як можливість синхронізувати бібліотеку на різних пристроях.","WEBSITE_MAINPAGE_FAQ_007_H1":"Чи можу я транслювати на свій телевізор?","WEBSITE_MAINPAGE_FAQ_007_P1":"Так, ми підтримуємо Chromecast, і ви можете транслювати як із настільних, так і з мобільних програм (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"Скільки доповнень у Stremio?","WEBSITE_MAINPAGE_FAQ_008_P1":"Станом на кінець 2019 року понад 50 — для отримання додаткової інформації перегляньте наш каталог доповненняів.","WEBSITE_MAINPAGE_FAQ_009_H1":"Чи можна розширити Stremio за рамки того, що є в каталозі доповнень?","WEBSITE_MAINPAGE_FAQ_009_P1":"Так, ви повинні перевірити ці: $ {1} PimpMyStremio$ {2} , $ {3} спільноти Reddit$ {4} , $ {5} Stremio Downloader$ {6} тощо.","WEBSITE_MAINPAGE_FAQ_010_H1":"Які пристрої підтримує Stremio?","WEBSITE_MAINPAGE_FAQ_010_P1":"У нас є настільні програми для Windows, Mac і Linux. Для мобільних пристроїв ми підтримуємо Android та iOS, хоча пам’ятайте, що функціональність iOS обмежена (не підтримує більшість доповнень).","WEBSITE_MAINPAGE_FAQ_010_P2":"Існує багато пристроїв на базі Android, на яких можна запустити Stremio, наприклад NVIDIA Shield і Amazon Fire Stick, але ми не підтримуємо їх офіційно.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Чи можете ви додати певний вміст до Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"На жаль, ми самі не надаємо вмісту, але чим більше доповнень Stremio ви встановили, тим більше вмісту ви зможете знайти.","WEBSITE_MAINPAGE_FAQ_012_H1":"Чи може Stremio відтворювати магнітні посилання?","WEBSITE_MAINPAGE_FAQ_012_P1":"Так, він також може відтворювати звичайні HTTP-посилання та торрент-файли (перетягування).","WEBSITE_MAINPAGE_FAQ_013_H1":"Чи можу я завантажити відео та подивитися офлайн?","WEBSITE_MAINPAGE_FAQ_013_P1":"Майбутня функція доступна в автономному режимі, але якщо ви дозволите Stremio кешувати на своєму пристрої (з панелі налаштувань), ви зможете переглядати відео пізніше без з’єднання.","WEBSITE_MAINPAGE_FAQ_014_H1":"Нічого не працює, допоможіть мені!","WEBSITE_MAINPAGE_FAQ_014_P1":"Ви впевнені, що встановили доповнення? Якщо так, то зв\'яжіться з нашим $ {1} Довідковий центр $ {2} .","WEBSITE_MAINPAGE_FAQ_015_H1":"Як Stremio підтримує свою діяльність з розвитку?","WEBSITE_MAINPAGE_FAQ_015_P1":"Ми розміщуємо ненав’язливу рекламу через $ {1} AdEx$ {2} , компанію, створену тією ж командою засновників, яка зосереджується на прозорій рекламі, що зберігає конфіденційність.","WEBSITE_MAINPAGE_FAQ_015_P2":"За всім питанням, перейдіть на наш $ {1} Довідковий центр $ {2} .","HELP_LEARN_MORE":"Допоможіть нам дізнатися більше про вас.","LIFESTYLE":"Спосіб життя","SPORTS":"Спорт","FOOD_HEALTH":"Їжа та здоров\'я","BEAUTY_FASHION":"Краса та мода","NEWS":"Новини","GAMING":"Ігри","SCIENCE_EDUCATION":"Наука та освіта","MUSIC":"Музика","TRAVEL":"Подорожі","LATE_NIGHT":"Пізня ніч","REALITY":"Реаліті-шоу","COMEDY":"Комедії","DIY":"Своїми руками","TECH":"Техно","CINEMA":"Кінотеатр","CONTINUE":"Продовжити","SLOW_LOADING":"ПОВІЛЬНЕ ЗАВАНТАЖЕННЯ?","I_GIVE_UP":"Я ЗДАЮСЯ","LEARN_MORE":"Дізнатися більше","POOR_SOURCE":"Це джерело недоступне або ваше інтернет-з\'єднання недостатньо швидке","PICK_CATEGORIES_ERR":"Ви повинні вибрати принаймні 3 категорії","ADJUST_TIMING":"Налаштуйте час за допомогою","ADJUST_SIZE":"Відрегулюйте розмір за допомогою","SEARCH_ANYTHING":"Ви можете шукати будь-що...","ALL_CATEGORIES":"Все","SEARCH_CATEGORIES":"Фільми, серіали, YouTube і ТБ","SEARCH_PERSONS":"Актори, режисери та сценаристи","SEARCH_PROTOCOLS":"HTTP і магнітні посилання","SEARCH_TYPES":"Посилання IMDB / TVDB","WATCHED":"Переглянуті","SHOW_LESS":"Показати менше","LAST_SEARCHES":"Останні пошуки","CLEAR_HISTORY":"Очистити історію","CHOOSE_SOME":"ОБЕРІТЬ ДЕЩО З ЦЬОГО:","NO_WEB_REMOTE":"Не вдалося завантажити веб-пульт","STREMIO_OFFLINE":"Stremio не в мережі","STREMIO_EXPENSIVE_CONNECTION":"Ми виявили, що ви використовуєте мобільні дані. Продовжити?","USE_DATA":"Використання даних","WARNING":"Увага","MORE_INFO":"Більше інформації ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Завантаження ...","STREMIO_TV_BACK_TO_LANGUAGES":"Назад до мов","STREMIO_TV_REMOTE":"Пульт","STREMIO_TV_GO_TO":"Йти до:","STREMIO_TV_OR_SCAN":"або сканувати:","STREMIO_TV_ADDON_INSTRUCTIONS":"Будь ласка, дотримуйтесь інструкцій, щоб встановити бажані доповнення.","STREMIO_TV_LIVE_TV":"ТБ наживо","STREMIO_TV_RESUME_WATCHING":"Відновити перегляд","STREMIO_TV_LOADING_BACKGROUND":"Завантаження фону","STREMIO_TV_CHECKING_AUTHENTICATION":"Перевірка автентифікації","STREMIO_TV_LOADING_BOARD":"Завантаження Дошки","STREMIO_TV_LOGIN_HEADER_LINE_1":"Ми хочемо, щоб наші користувачі мали найкращий персоналізований досвід роботи з нашою програмою.","STREMIO_TV_LOGIN_HEADER_LINE_2":"Саме з цієї причини ми просимо вас зробити та/або увійти до свого облікового запису.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Дякуємо за розуміння,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Команда Stremio","STREMIO_TV_REMOTE_INSTRUCTIONS":"Щоб використовувати веб-пульт зі смартфоном/планшетом/комп’ютером:","STREMIO_TV_WIFI_SETUP":"Налаштування Wi-Fi","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle не виявив підключення до Інтернету.","STREMIO_TV_WIFI_DETAILS_1":"Підключитися до:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Використати пароль:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Відкрийте веб-браузер за посиланням:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"За замовчуванням","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"За останніми переглядами","STREMIO_TV_LIBRARY_SORT_NAME":"За назвою","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"За кількістю переглядів","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Сезон $ {1}","STREMIO_TV_STREAMS_LOADING":"Завантажено $ {1} / $ {2} доповнень...","STREMIO_TV_STREAMS_STILL_LOADING":"Доповнення $ {1} досі завантажується...","STREMIO_TV_PLAYER_SETTINGS":"Налаштування програвача","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Затримка субтитрів","STREMIO_TV_PLAYER_AUDIO_DELAY":"Затримка звуку","STREMIO_TV_PLAYER_VIDEO_SCALING":"Масштабування відео","STREMIO_TV_PLAYER_CHAPTERS":"Розділи","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Пропустити $ {1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Непідтримуване джерело потоку","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Не вдалося відкрити зовнішнє посилання","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Не регулюється в режимі пропуску аудіо","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Перегляд з ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Перегляд з програвачом libVLC","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Перехід на програвач libVLC через помилку відтворення","STREMIO_TV_ADDONS_TITLE":"Використовуйте Stremio на своєму телефоні чи ПК, щоб установити або налаштувати доповнення, і натисніть «Синхронізувати доповнення»","STREMIO_TV_ADDONS_SUBTITLE":"Примітка: переконайтеся, що ви використовуєте той самий обліковий запис Stremio","STREMIO_TV_ADDONS_SYNC_ADDONS":"Синхронізація доповнень","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Доповнення успішно синхронізовано","STREMIO_TV_ADDONS_SYNC_FAILED":"Не вдалося синхронізувати доповнення","STREMIO_TV_META_LINK_FAILED":"Не вдалося відкрити метапосилання","STREMIO_TV_CATALOG_LOADING":"Каталог досі завантажується...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Мова інтерфейсу оновлена","STREMIO_TV_SETTINGS_THEME_UPDATED":"Тема оновлена","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Програвач за замовчуванням","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Зовнішній програвач","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Бажана мова","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Додаткова бажана мова","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Тунельне відтворення","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Можливі проблеми з відтворенням на деяких пристроях","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Деякі формати відео можуть не працювати","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Узгодження частоти кадрів","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Вимкнено","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Лише частота кадрів","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Частота кадрів і роздільна здатність","STREMIO_TV_SETTINGS_NO_CACHING":"Без кешування","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"За замовчуванням","STREMIO_TV_SETTINGS_PROFILE_SOFT":"М\'який","STREMIO_TV_SETTINGS_PROFILE_FAST":"Швидкий","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Надшвидкий","STREMIO_TV_SETTINGS_SERVER_URL":"URL-адреса потокового сервера","STREMIO_TV_SETTINGS_SERVER_VERSION":"Версія сервера","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Невідоме","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Версія Stremio","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Редагувати URL-адресу сервера","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Введіть URL-адресу потокового сервера","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Показувати статистику під час завантаження","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"Політика конфіденційності Stremio:","STREMIO_TV_SETTINGS_TOS_TEXT":"Загальні положення та умови Stremio:","STREMIO_TV_NAV_SEARCH":"Пошук","STREMIO_TV_NAV_HOME":"Головна","STREMIO_TV_NAV_DISCOVER":"Новинки","STREMIO_TV_NAV_LIBRARY":"Бібліотека","STREMIO_TV_NAV_MOVIES":"фільми","STREMIO_TV_NAV_SERIES":"Серіали","STREMIO_TV_NAV_CHANNELS":"Канали","STREMIO_TV_NAV_TV":"ТБ наживо","STREMIO_TV_NAV_SETTINGS":"Налаштування","STREMIO_TV_NAV_ADDONS":"Доповнення","STREMIO_TV_LOGIN_TITLE":"Пов’язати обліковий запис","STREMIO_TV_LOGIN_EXPIRES_IN":"Термін дії закінчується через","STREMIO_TV_LOGIN_STEP_ONE":"Відскануйте QR-код вище або перейдіть до","STREMIO_TV_LOGIN_STEP_TWO":"Увійдіть у свій обліковий запис Stremio","STREMIO_TV_LOGIN_NEW_LINK":"Запит на нове посилання","STREMIO_TV_LOGIN_LINK_REFRESHED":"Код входу оновлено","STREMIO_TV_SEARCH_PLACEHOLDER":"Введіть щось","STREMIO_TV_SEARCH_NO_ADDONS":"Для каталогів не було запитів про доповнення!","STREMIO_TV_SEARCH_BUTTON":"Пошук","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"космос","STREMIO_TV_SEARCH_KEY_CLEAR":"Очистити","STREMIO_TV_SEARCH_HISTORY_TITLE":"Історія пошуку","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Ви можете шукати назви, акторів, канали тощо...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Очистити історію пошуку","STREMIO_TV_FILTERS_DESCRIPTION":"Виберіть один із фільтрів наведених нижче","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"Фільтри","SETTINGS":"Налаштування","ACCOUNT":"Обліковий запис","LOGOUT":"Вийти","THEMES":"Теми","PLAYBACK":"Відтворення","PLAYBACK_SPEED":"Швидкість відтворення","AUDIO_TRACKS":"Аудіодоріжки","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Відео","SERVER":"Сервер","LINKS":"Посилання","ABOUT":"Про","INTERFACE":"Інтерфейс","ANIMATIONS":"Анімації","STATUS":"Статус","LANGUAGE":"Мова","SIZE":"Розмір","DELAY":"Затримка","BOLD":"Жирний","OPACITY":"Opacity","TEXT_COLOR":"Колір тексту","OUTLINE_COLOR":"Колір контуру","BACKGROUND_COLOR":"Колір фону","BACKGROUND_BLUR":"Розмиття фону","SEEK_TIME_DURATION":"Тривалість часу пошуку","AUTO_PLAY":"Автовідтворення наступної серії","PLAY_NOW":"Грати зараз","MARK_AS_WATCHED":"Позначити як переглянуте","MARK_AS_UNWATCHED":"Позначити як непереглянуте","REWIND_TO_BEGINNING":"Перемотати на початок","CONTINUE_WATCHING":"Продовжити перегляд","ALL":"Все","SECONDS":"секунд","ON":"УВІМКНЕНО","OFF":"ВИМКНЕНО","RELOAD":"Перезавантажити","EDIT_URL":"Редагувати URL","NONE":"Жодного","EMBEDDED":"Вбудований","REMOTE_SWITCH_DEVICES":"Перемикнути пристрої","REMOTE_VIDEOS":"Відео","REMOTE_ADJUST_TIMING":"Налаштувати затримку","REMOTE_ADJUST_SIZE":"Налаштувати розмір","REMOTE_COULD_NOT_BE_LOADED":"Не вдалося завантажити веб-пульт","REMOTE_RETRY":"Повторити","TORRENT_PROFILE_DEFAULT":"За замовчуванням","TORRENT_PROFILE_SOFT":"М\'який","TORRENT_PROFILE_FAST":"Швидкий","TORRENT_PROFILE_ULTRA_FAST":"Надшвидкий","FAQ_001_H1":"Що таке Stremio?","FAQ_001_P1":"Stremio — це програма медіа-центр, розроблена для відеорозваг і зручного використання. Stremio дозволяє вам організувати і дивитися власну колекцію фільмів, серіалів, веб-каналів і ТБ наживо.","FAQ_001_P2":"Stremio збирає і покащує вміст з вашого локального диска та нашої системи доповнень.","FAQ_001_P3":"Програма також повідомить вас коли вийдуть нові серіали/відео/фільми, які вас цікавлять і надасть вам рекомендації.","FAQ_02_H1":"Як Stremio порівнюється з Kodi і Plex?","FAQ_02_P1":"Нас надихають ці дві програми. Але у нас різні цілі – Stremio спеціально націлена на розважальні відео і прагне стати основним рішенням для цього, яка дуже проста у використанні.","FAQ_02_P2":"Stremio ніколи не буде таким налаштовуваним і багатим на функції, як Kodi і Plex, але вона значно простішА у використанні. Просто ${1} встановіть і побачите самі ${2} :)","FAQ_03_H1":"Як Stremio порівнюється з Netflix?","FAQ_03_P1":"Знову ж таки, Netflix є одним із наших джерел натхнення. Ми прагнемо досягти користувацького досвіду Netflix, а також безліч додаткових переваг. Але найголовніше те, що ми даємо вам свободу керувати власною бібліотекою та додавати нові джерела вмісту за допомогою нашої системи доповнень.","FAQ_03_P2":"Завдяки цьому Stremio можна безмежно розширювати, тож коли ви використовуєте Stremio, ви ніколи не обмежуєтесь вмістом, який Netflix вирішує ліцензувати. Наприклад, через Stremio ви можете дивитися вміст із ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} і навіть сам ${9}Netflix${10}!","FAQ_04_H1":"Як Stremio порівнюється з Flipboard?","FAQ_04_P1":"Ми не так часто отримуємо це запитання, за винятком розмови з людьми зі старт-апів :)","FAQ_04_P2":"Stremio за своєю конструкцією є агрегатором контенту, що по суті робить його Flipboard для відео. Це дуже помітно в нашому розділі «Дошка», який надає вам каталоги та сповіщення про нові серіали/нові відео, на які підписані, як і на Flipboard.","FAQ_05_H1":"Як Stremio порівнюється з Popcorn Time?","FAQ_05_P1":"Stremio і Popcorn Time схожі за інтерфейсом користувача, тому що не так багато способів правильно створити каталоги відео розваг :)","FAQ_05_P2":"Але в той час як Popcorn Time зосереджена на потоковій передачі торрентів з певних джерел, Stremio не обмежений і є лише агрегатором вмісту - він не прив\'язаний до певного джерела.","FAQ_05_P3":"Крім того, за замовчуванням ми не надаємо жодних торрент-доповнень, тому Stremio не охоплює варіант використання Popcorn Time з офіційною функціональністю.","FAQ_05_P4":"Ще одна помітна відмінність полягає в тому, що Popcorn Time повністю з відкритим кодом, тоді як Stremio має ${1}частково відкритий код${2}.","FAQ_06_H1":"Ви додасте цей фільм/серіал?","FAQ_06_P1":"Ні, вибачте :(","FAQ_06_P2":"Як зазначається в більшості інших відповідях, Stremio не надає ніякого вмісту сама по собі – все додається через систему доповнень. Якщо у вас є запит на вміст, ви можете скористатися кнопкою «Повідомити» у програвачі, яка надішле електронний лист автору доповнення, яке ви зараз використовуєте.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Чи створите ви доповнення для X?","FAQ_08_P1":"Це цілком можливо.","FAQ_08_P2":"Якщо у вас є ідея доповнення, напишіть нам на ${1}office@stremio.com${2}, але переконайтеся, що ваша ідея доповнення не порушує жодних авторських прав або умов використання.","FAQ_08_P3":"На даний момент наступні речі в нашій дорожній карті — це доповнення для FandangoNOW, Filmon.tv Video on Demand та Crunchyroll.","FAQ_09_H1":"Чи використовує Stremio BitTorrent?","FAQ_09_P1":"Так, Stremio підтримує BitTorrent як протокол потокової передачі. Ви можете використовувати його або з доповнення для торента, або перетягнути файл .torrent в Stremio, або вставити магнітне посилання в панель пошуку.","FAQ_09_P2":"Зверніть увагу, що єдиним офіційним доповненням, що використовує BitTorrent, є ${1}Vodo${2}, який надає інді-контент, який дозволено розповсюджувати за допомогою BitTorrent.","FAQ_09_P3":"Ми не підтримуємо використання будь-яких сторонніх доповнень, які можуть призвести до порушення авторських прав.","FAQ_10_H1":"Що я можу дивитися в Stremio з офіційними доповненнями?","FAQ_10_P1":"За замовчуванням ви можете дивитися вміст Filmon.tv, YouTube і Vodo у самому Stremio за допомогою вбудованого програвача. Крім того, у нас є доповнення для Twitch.tv та кількох інших.","FAQ_10_P2":"Це поєднання забезпечує вибір:","FAQ_10_L1":"Популярні телеканали, надані Filmon.tv - наприклад E4, BBC, Bollyworld TV","FAQ_10_L2":"Усе з YouTube – наприклад, BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Інді-фільми з Vodo","FAQ_10_L4":"Онлайн-трансляції ігор за допомогою Twitch.tv","FAQ_10_P3":"Крім того, існує багато джерел вмісту, що надаються з Guidebox і додатками Netflix, які <b>не</b> повністю відтворюються всередині Stremio, але переспрямовують на дану службу. Наприклад, додаток Guidebox надасть вам добірку фільмів, які ви можете безкоштовно транслювати в США через такі сервіси, як TubiTV і Crackle.","FAQ_11_H1":"Stremio не встановлюється, що мені робити?","FAQ_11_P1":"Якщо ви використовуєте Windows, спробуйте $ {1}цей альтернативний інсталятор${2} .","FAQ_11_P2":"Якщо ви використовуєте Mac OS X, пам’ятайте, що ми не підтримуємо нічого старішого за OS X Mavericks (10.9).","FAQ_11_P3":"Якщо ви використовуєте Linux, майте на увазі, що наразі ми підтримуємо лише 64-розрядну (x64) Linux.","FAQ_11_P4":"Якщо ви все ще не можете вирішити свою проблему, будь ласка, напишіть нам у нашу ${1}Facebook групу${2}.","FAQ_12_H1":"Чому мій антивірус скаржиться? Чи безпечний Stremio?","FAQ_12_P1":"Ми запевняємо вас, що Stremio ${1}100% безпечний${2}.","FAQ_12_P2":"Ваш антивірус скаржиться, оскільки ми включаємо рекламу в наш інсталятор, який деякі антивірусні програми розпізнають як рекламне програмне забезпечення.","FAQ_12_P3":"Якщо ви все ще НЕ впевнені, ви можете спробувати наш ${1}альтернативний інсталятор${2} .","FAQ_13_H1":"Як я можу створити доповнення?","FAQ_13_P1":"Для початку ми рекомендуємо вам перевірити наш ${1}модуль системи доповнення${2} на GitHub.","FAQ_13_P2":"Після цього ви зможете скористатися {1}Hello World${2}.","FAQ_13_P3":"Якщо у вас немає навичок програмування, будь ласка, опублікуйте свою ідею у ${1}Reddit спільноті${2} та напишіть нам про вашу ідею доповнення на ${3}office@stremio.com${4}.","FAQ_14_H1":"Як публікуються доповнення?","FAQ_14_P1":"Коли ви створюєте доповнення та хост і розміщуєте поле <b>кінцевої точки</b> у своєму маніфесті, яке вказує на робочу адресу доповнення, програма автоматично опублікує себе в нашому ${1}Каталозі доповнень${2}.","FAQ_14_P2":"Це відбувається тому, що серверна частина модуля stremio-addons автоматично здійснює виклик до нашого API, щоб оголосити доповнення. Коли наш API перевірить вашу <b>кінцеву точку</b> як дійсне доповнення, воно почне відображатися в каталозі.","FAQ_15_H1":"Чи можу я запустити Stremio у своєму браузері?","FAQ_15_P1":"Не зараз, але це планується!","FAQ_15_P2":"Якщо вам цікаво побачити альфа-версію, ви можете побачити її тут: ${1}alpha4.strem.io${2}. Майте на увазі, що трансляція вимкнена на цій альфа-версії. Ми підтримуємо Chrome, Firefox, Opera та Edge.","FAQ_16_H1":"Трансляція на телевізор не працює / субтитри не працюють","FAQ_16_P1":"Трансляція на телевізор використовує технологію DLNA, яка дуже несумісна між різними брендами та моделями телевізорів. З цієї причини ми не маємо можливості перевірити кожен випадок. Незважаючи на це, ми постійно працюємо над його вдосконаленням, але не можемо з точністю сказати коли DLNA почне з вашим телевізором належним чином працювати.","FAQ_16_P2":"Якщо ви навіть не бачите свій телевізор у меню трансляції, спробуйте вимкнути мережеве з’єднання та знову ввімкнути його (у Windows клацніть правою кнопкою миші на Мережі та виберіть Увімкнути/Вимкнути), а також перезавантажте маршрутизатор, телевізор та ПК.","FAQ_16_P3":"Якщо у вас все ще виникають проблеми, ви можете допомогти нам надіславши інформацію про бренд і модель вашого телевізора на адресу ${1}office@stremio.com${2}.","FAQ_16_P4":"Тим часом ми рекомендуємо Chromecast, який ми дуже добре підтримуємо або ж просто підключіть телевізор до комп’ютера за допомогою кабелю HDMI.","FAQ_17_H1":"Stremio зависає та/або завершує роботу, що я можу зробити?","FAQ_17_P1":"Перш за все, якщо ви використовуєте Windows 7 з антивірусом AVG: у нас проблема з цією комбінацією. Проблема в самому AVG, і немає розумного способу її вирішити з нашого боку. На жаль, винятки або відключення антивірусу не працюватимуть. Єдине рішення - замінити AVG на щось інше.","FAQ_17_P2":"Якщо проблема не в цьому, але ви все ще використовуєте Windows, оновіть ОС до останнього пакета оновлень і оновіть/перевстановіть драйвери графічного процесора, а потім повторіть спробу.","FAQ_17_P3":"Якщо ваша проблема все ще не вирішена або ви користуєтеся комп’ютером Mac або Linux, напишіть нам та повідомте точну інформацію про проблему в ${1}нашій групі Facebook${2}.","FAQ_18_H1":"Як я можу створити доповнення?","FAQ_18_P1":"Для початку ми рекомендуємо вам перевірити наш ${1}модуль системи доповнення${2} на GitHub.","FAQ_18_P2":"Після цього ви зможете скористатися {1}Hello World${2}.","FAQ_18_P3":"Якщо у вас немає навичок програмування, будь ласка, опублікуйте свою ідею у ${1}Reddit спільноті${2} та напишіть нам про вашу ідею доповнення на ${3}office@stremio.com${4}.","FAQ_19_H1":"Чому Stremio займає місце на диску?","FAQ_19_P1":"Stremio має <b>локальний кеш</b> для тимчасового зберігання відеофайлів, які ви транслюєте.","FAQ_19_P2":"Це має дві переваги: по-перше, дозволяє Stremio попередньо буферизувати відео, щоб забезпечити більш плавне відтворення. По-друге, зберігає відео в локальному кеші, щоб ви могли продовжувати перегляд офлайн.","FAQ_19_P3":"Скільки зберігає Stremio залежить від параметра <b>Кеш</b> в панелі налаштувань. Stremio може підтримувати встановлений обсяг на вашому диску (наприклад, 2 Гб), якщо поточне відео не перевищує цього розміру і в цьому випадку має виділити достатньо пам’яті аби зберегти його поки транслюєте.","FAQ_20_H1":"Де знаходиться папка кешу?","FAQ_20_P1":"У Windows це stremio-cache на диску, який ви вибрали в налаштуваннях (наприклад, \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"У MacOS це \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"У Linux це \\"~/.stremio/stremio-cache\\" або \\"~/stremio-cache\\"","FAQ_21_H1":"Я отримую помилку \\"Потоковий сервер не знайдено\\", що я можу зробити?","FAQ_21_P1":"Якщо ви отримуєте цю помилку, це означає одне з наступних:","FAQ_21_P2":"1) Ви намагаєтеся використовувати доповнення з джерела YouTube / BitTorrent через нашу ${1}веб версію${2}. У цьому випадку вам слід встановити настільну версію з ${3}нашого веб-сайту${4}.","FAQ_21_P3":"2) Щось не так з встановленням Stremio. У цьому випадку спробуйте повторно встановити нашу останню настільну версію з ${1}веб-сайту${2}. Якщо це не допомогло, спробуйте вимкнути антивірусні програми та брандмауери, перезавантажити ПК і повторити спробу. Якщо це не спрацювало, будь ласка, напишіть ${3}в нашу Facebook групу${4}.","FAQ_22_H1":"Я не можу бачити/використовувати більшість доповнень на iOS","FAQ_22_P1":"Через обмеження в положеннях і умовах Apple App Store ми обмежили програму iOS лише певним набором доповнень.","FAQ_22_P2":"Але будьте впевнені: у майбутньому буде більше доповнень для iOS і ми також можемо додати інтеграцію, яка дозволить вам використовувати всі доповнення Stremio завдяки підключенню програми iOS до Stremio Streaming Server."}')},4701:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Phim","TYPE_series":"Loạt phim","TYPE_tv":"Kênh TV","TYPE_channel":"Kênh","TYPE_other":"Khác","TYPE_movie_PL":"Phim","TYPE_series_PL":"Loạt phim","TYPE_tv_PL":"Kênh TV","TYPE_channel_PL":"Kênh","TYPE_other_PL":"Khác","TYPE_ALL":"Tất cả","TYPE":"Loại","CATALOG_com_linvo_cinemeta_top":"Phổ biến","CATALOG_com_linvo_cinemeta_imdbRating":"Đặc sắc","CATALOG_com_linvo_cinemeta_year":"Mới","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Phim thuộc phạm vi công cộng","VIDEO":"Video","BACK":"Quay lại","MORE":"Nhiều hơn","DONE":"Xong","COPY":"Sao chép","SUCCESS":"Thành công","ERROR":"Lỗi","SETTINGS_CASTING_MODE_PICKER":"Chế độ truyền","CASTING_MODE_HLSV2":"Mặc định","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Không chuyển mã","Discover":"Khám phá","Board":"Bảng","Library":"Thư viện","My Library":"Thư viện của tôi","Calendar":"Lịch","NOTIFICATION_ONLINE":"Bạn hiện đang trực tuyến","NOTIFICATION_OFFLINE":"Bạn hiện đang ngoại tuyến","INTERNET_CONNECTION":"Kết nối mạng","STORAGE_FULL_TITLE":"Cảnh báo: Bộ nhớ đầy!","STORAGE_FULL_TEXT":"Stremio sẽ không thể lưu thiết đặt, tùy chọn hoặc thông tin đăng nhập của bạn. Cân nhắc khởi động lại hoặc cài đặt lại Stremio.","SEARCH":"tìm kiếm","SEARCH_NO_RESULTS":"Không tìm thấy kết quả","SEARCH_EXPLANATION_CONTENT":"Tìm kiếm phim, loạt phim, YouTube và các kênh TV","SEARCH_EXPLANATION_PEOPLE":"Tìm kiếm diễn viên, đạo diễn và biên kịch","SEARCH_PASTE_LINKS":"Dán liên kết HTTP và Nam châm","SEARCH_OR_PASTE_LINK":"Tìm kiếm hoặc dán liên kết","SEARCH_SUGGESTIONS":"Đề xuất tìm kiếm","ADD_TO_LIB":"Thêm vào thư viện","REMOVE_FROM_LIB":"Loại khỏi Thư viện","ADDED_TO_LIB":"Đã thêm vào thư viện","REMOVED_FROM_LIB":"Đã loại khỏi Thư viện","TRAILER":"Đoạn giới thiệu","WATCH_TRAILER":"Xem đoạn giới thiệu","WATCH_NOW":"Xem ngay","SHOW":"Hiển thị","SHOW_MOVIE":"Hiển thị phim","WATCH_RANDOM":"Xem ngẫu nhiên","IMDB_RATING":"Xếp hạng IMDb","YEAR":"Năm","DIRECTOR":"Đạo diễn","WRITER":"Biên kịch","LEAD_ACTORS":"Diễn viên chính","CAST":"Dàn diễn viên","CREW":"Đoàn làm phim","SHOW_MORE_CAST":"Hiện nhiều hơn »","AIRED":"Đã phát sóng","SEASONS":"Các phần","GENRE":"Thể loại","GENRE_ALL":"Mọi thể loại","CATALOG":"Danh mục","SUMMARY":"Tóm tắt","SHOW_MORE":"Hiện nhiều hơn","SIMILAR":"Tương tự","UPCOMING":"Sắp tới","ENDED":"Đã kết thúc","DURATION":"Thời lượng","FEATURED":"Đặc sắc","METADATA":"Siêu dữ liệu","CATEGORY":"loại","LINKS_GENRES":"Thể loại","LINKS_CAST":"Dàn diễn viên","LINKS_DIRECTORS":"Đạo diễn","SEARCH_VIDEOS":"tìm kiếm video","SEARCH_PLACEHOLDER":"tìm kiếm hoặc dán URL","ADDON":"add-on","ADDONS":"Add-on","OFFICIAL":"chính thức","ADDONS_OFFICIAL":"Add-on chính thức của Stremio","ADDONS_POPULAR":"Phổ biến trong khu vực của bạn","ADDON_FREE":"miễn phí","ADDON_PEERED":"ngang hàng","ADDON_SUBSCRIPTION":"đăng ký","ADDON_STREAM_GEORESTRICTED":"không có sẵn trong khu vực của bạn","ADDON_STREAM_OFFLINECACHE":"Bộ nhớ đệm ngoại tuyến","ADDON_STREAM_LOCALFILE":"Tệp cục bộ","SHARE_ADDON":"Chia sẻ add-on","AVAILABLE_STREAMS":"Luồng khả dụng","NO_STREAM":"Không tìm thấy luồng nào","ALL_ADDONS":"Tất cả","INSTALL_MORE_ADDONS":"Để có nhiều luồng hơn, vui lòng cài đặt thêm add-on","STREAM_NOT_SUPPORTED":"Luồng đã chọn không được hỗ trợ trên nền tảng này.","ADDON_CATALOGUE":"Hiển thị tất cả add-on »","ADDON_CATALOGUE_MORE":"Cài đặt add-on","REPO_ADDED":"Đã thêm kho lưu trữ","ADDON_REPO_EXIST_ERR":"Bộ sưu tập các add-on này đã tồn tại","ADDON_REPO_ERR":"Đã xảy ra lỗi khi thêm bộ sưu tập","ADDON_ADD_ERR":"Đã xảy ra lỗi khi thêm add-on","ERR_ADDON_PROTECTED":"Không thể gỡ cài đặt add-on, nó được bảo vệ","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Đã xảy ra lỗi - xác thực có thể không thành công","ERR_NOT_COLLECTION_URL":"Không phải URL bộ sưu tập","ERR_NOT_ADDON_URL":"URL add-on không hợp lệ","ERR_DETECTFROMURL":"Không thể tìm thấy add-on/bộ sưu tập từ URL này","ADDON_DUPLICATE_WARNING":"Cảnh báo: add-on trùng lặp","ADDON_COLLECTION_SET_FAILED":"Không thể đồng bộ hóa các add-on đã cài đặt với tài khoản của bạn","SETTINGS_DATA_EXPORT":"Xuất dữ liệu người dùng","ADDON_PULL_FAILED":"Không thể đồng bộ hóa các add-on đã cài đặt từ tài khoản của bạn","REFRESH_ON_CLICK":"Nhấp để thử lại","STILL_IN_THEATER":"Phim còn chiếu rạp","WATCH_IN_CINEMA":"Xem tại rạp chiếu phim địa phương của bạn","IN_THEATER":"Trong rạp chiếu phim","GET_TICKETS":"Lấy vé","UPCOMING_EPISODE":"Tập sắp tới","UPCOMING_EPISODE_MESSAGE":"Tập này sẽ được phát sóng vào","MISSING_DATE_EPISODE":"Thiếu ngày tập","MISSING_DATE_EPISODE_MESSAGE":"Tập này có thể chưa phát sóng","CHANNEL_NOT_SCRAPED":"Kênh này chưa được xóa.<br>Vui lòng quay lại sau vài phút.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Thêm nó vào thư viện của bạn để nhận thông báo khi nó có sẵn.","GET_NOTIFIED_WHEN_AVAILABLE":"Bạn sẽ nhận được thông báo khi nó khả dụng.","WARNING_STREAMING_SERVER":"Cảnh báo: không tìm thấy máy chủ truyền trực tuyến cục bộ. Truyền trực tuyến từ các tệp cục bộ, YouTube và BitTorrent sẽ không khả dụng.","WARNING_STREAMING_SERVER_DISMISS":"Bỏ qua","WARNING_STREAMING_SERVER_LATER":"Sau đó","DECODER_WARNING":"Cảnh báo: phần cứng của bạn có thể không hỗ trợ video này. Xin lưu ý rằng quá trình phát lại có thể chậm.","GENERIC_ERROR_MESSAGE":"Có gì đó không ổn!","TRY_AGAIN":"Thử lại","CLEAR_DATA":"Xóa dữ liệu","PLAYER_ERROR":"Rất tiếc, Lỗi Trình phát","PLAYER_ERROR_LOOKSLIKE":"Nó có vẻ như","PLAYER_ORIENTATION":"Định hướng trình phát","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Đã khóa","PLAYER_ORIENTATION_SENSOR_SHORT":"Cảm biến","PLAYER_ORIENTATION_LANDSCAPE":"Hướng trình phát bị khóa ở chế độ ngang","PLAYER_ORIENTATION_SENSOR":"Tự động định hướng trình phát (cảm biến)","PLAYER_PLAYBACK_SPEED":"Tốc độ phát lại","PLAYER_PLAYBACK_ERROR":"Lỗi phát lại, vui lòng thử lại","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Lỗi không rõ","PLAYER_PLAYBACK_ERROR_DEFAULT":"Xin lỗi, {{productName}} không thể phát video này.","PLAYER_SUBTITLES_LANGUAGES":"Ngôn ngữ phụ đề","PLAYER_SUBTITLES_VARIANTS":"Biến thể phụ đề","PLAYER_SUBTITLES_SETTINGS":"Thiết đặt phụ đề","PLAYER_SUBTITLES_DISABLED":"Phụ đề bị tắt","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Vị trí thẳng đứng","PLAYER_SUBTITLES_LOADED":"Đã tải phụ đề","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Đã tải phụ đề nhúng","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Đã tải phụ đề độc quyền","PLAYER_SUBTITLES_LOADED_ORIGIN":"Đã tải phụ đề từ {{origin}}","PLAYER_PLAY":"Phát","PLAYER_PAUSE":"Tạm ngừng","PLAYER_NEXT_VIDEO":"Video tiếp theo","PLAYER_MUTE":"Tắt tiếng","PLAYER_UNMUTE":"Bật tiếng","PLAYER_OPEN_IN_EXTERNAL":"Mở trong trình phát bên ngoài","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Phát trên {{device}}","PLAYER_LIVE":"Trực tiếp","PLAYER_NEXT_VIDEO_TITLE":"Sắp tới","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Bỏ qua","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Xem ngay","PLAYER_COPY_STREAM_SUCCESS":"Liên kết luồng đã được sao chép vào clipboard của bạn","PLAYER_COPY_STREAM_ERROR":"Không thể sao chép liên kết luồng","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","STREAMING_FROM":"truyền trực tuyến từ","CASTING_TO":"Truyền tới","NETWORK_STATUS":"Tình trạng mạng","STREAM_SPEED":"Tốc độ truyền phát:","STREAM_BUFFERED":"Đã đệm:","PEERS_INFO":"Thông tin đồng nghiệp","PEERS_ACTIVE":"Hoạt động:","PEERS_CONNECTED":"Đã kết nối:","PEERS_WAITING":"Chờ:","TRANSCODING_WARNING":"Cảnh báo: chuyển mã video.","STREAM_LOADING":"đang tải...","PLAYING_LOCAL":"phát từ tệp cục bộ","PLAYING_CACHE":"phát từ bộ nhớ đệm","WRONG_SUBS":"Phụ đề sai?","ERR_SUBS_LOADING_TITLE":"Lỗi khi tải phụ đề","ERR_SUBS_LOADING":"Tải phụ đề không thành công: đây có thể là sự cố với add-on bạn đang sử dụng hoặc với kết nối mạng của bạn","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Các add-on phụ đề sau không thành công","ERR_CASTING_UPDATE_TITLE":"Không thể cập nhật thông tin thiết bị truyền: máy chủ truyền trực tuyến có thể đang ngoại tuyến","CHOOSE_DEVICE":"Chọn thiết bị để xem","NO_CAST_DEVICES":"Không có thiết bị truyền nào.","NO_SETTINGS":"Không có cài đặt nào.","PHONE_TABLET":"Điện thoại / Máy tính bảng","SUBTITLES":"Phụ đề","SUBTITLES_CHANGE":"Thay đổi phụ đề cho ","SUBTITLES_CHANGE_NONE":"Không có phụ đề nào khác cho ngôn ngữ này, xin lỗi.","SUBTITLES_CHANGE_ACIVE":"Hiện tại phụ đề &#35;{{subtitlesDialog.activeIdx + 1}} đã được kích hoạt. Nhấp vào \\"Tiếp tục\\" để kích hoạt phụ đề &#35;{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Ngoài ra,","SUBTITLES_ADJUST_DELAY":"Điều chỉnh độ trễ của phụ đề:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Hoặc sử dụng các phím <span>G</span> / <span>H</span> trong khi phát để điều chỉnh.","SUBTITLES_ADJUST_DELAY_TIP":"MẸO: bạn có thể sử dụng các phím <span>G</span> / <span>H</span> trong khi phát để điều chỉnh.","SUBTITLES_DELAY":"Độ trễ phụ đề:","SUBTITLES_LOADING":"Đang tải phụ đề...","SUBTITLES_UNAVAILABLE":"Không có phụ đề bên ngoài","SUBTITLES_DISABLED":"Đã tắt","EXTERNAL_PLAYER_DISABLED":"Đã tắt","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Cho phép chọn","EXTERNAL_PLAYER_HINT":"Gợi ý: Có một cài đặt cho phép luôn mở bằng trình phát bên ngoài","DONT_SHOW_AGAIN":"Không hiện lại","SERVICE_INSTALL":"Cài đặt","AUDIO":"Âm thanh","DEFAULT_LANGUAGE":"Ngôn ngữ mặc định","DEFAULT_SECONDARY_LANGUAGE":"Ngôn ngữ mặc định thứ hai","SEASON":"Mùa phim","EPISODE":"Tập phim","EPISODE_ABBREVIATION":"T","SPECIAL":"Đặc biệt","SORT":"Sắp xếp","SORT_BY":"Sắp xếp theo","FILTER":"lọc","SORT_TRENDING":"xu hướng","SORT_RECENT":"gần đây","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"xếp hạng","SORT_WATCHED":"đã xem","SORT_YEAR":"năm","SELECT_TYPE":"Chọn đối tượng","SELECT_SORT":"Chọn sắp xếp","SELECT_CATALOG":"Chọn danh mục","SELECT_GENRE":"Chọn thể loại","SORT_LASTWATCHED":"Theo lần xem cuối cùng","SORT_NAME":"a-z","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"xem nhiều nhất","SORT_NOTWATCHED":"chưa xem","New for You":"Mới ra dành cho bạn","New Episodes":"Tập mới","New Videos":"Video mới","Recommendations":"Khuyến nghị","LIBRARY_RESUME":"Xem tiếp","LIBRARY_PLAY":"Phát","LIBRARY_DETAILS":"Chi tiết","LIBRARY_RESUME_DISMISS":"Bỏ qua","LIBRARY_CLEAR_PROGRESS":"Làm sạch tiến trình","LIBRARY_REMOVE":"Loại bỏ","LIBRARY_NOT_LOGGED_IN":"Thư viện chỉ khả dụng cho người dùng đã đăng nhập","CALENDAR_NOT_LOGGED_IN":"Lịch chỉ khả dụng cho người dùng đã đăng nhập","NOT_LOGGED_IN_CLOUD":"Truy cập các bộ phim và chương trình TV yêu thích của bạn mọi lúc, mọi nơi","NOT_LOGGED_IN_RECOMMENDATIONS":"Đề xuất phù hợp với lịch sử xem của bạn","NOT_LOGGED_IN_NOTIFICATIONS":"Không bao giờ bỏ lỡ một tập nào nữa","NOT_LOGGED_IN_CALENDAR":"Sắp xếp lịch xem cá nhân của bạn","DISCOVER_FEATURED":"Đặc sắc","DISCOVER_TOP":"Hàng đầu","DISCOVER_OSCAR":"Thắng giải Oscar","DISCOVER_WARNING_TITLE":"Ối!","DISCOVER_EMPTY_CATALOG":"Add-on này trả về nội dung trống.","DISCOVER_ADULT_WARNING":"Nội dung chỉ hiển thị cho người lớn. Bạn có trên 18 tuổi không?","DISCOVER_NOADDON_WARNING":"Cảnh báo: không có add-on Stremio nào hoạt động cho loại này. Hiển thị các mục đã lưu, không có gì ở đây sẽ cập nhật.","DISCOVER_LOAD_ERR":"Nội dung không tải được, đã xảy ra lỗi.","DISCOVER_ADDON_UNINSTALLED":"Nội dung này không còn nữa, bạn có thể đã gỡ bỏ add-on.","UNINSTALL_THIS_ADDON":"Gỡ bỏ add-on này","ERR_ADDON_NOT_INSTALLED":"Add-on này chưa được cài đặt. Cài đặt ngay?","DETAIL_RECEIVE_NOTIF_SERIES":"Nhận thông báo về các tập mới","DETAIL_RECEIVE_NOTIF_VIDEOS":"Nhận thông báo về video mới","SIDEBAR_SHOW_STREAMS":"Hiển thị luồng","RELAUNCH":"Tái khởi chạy ngay bây giờ!","UPGRADE":"Đã có phiên bản mới! Nâng cấp lên phiên bản Stremio mới nhất","RELOAD_UI":"Tải lại giao diện người dùng","MANUAL_UPDATE_TITLE":"Cập nhật phiên bản Stremio của bạn","MANUAL_UPDATE_LINE1":"Bạn đang chạy một phiên bản cũ của Stremio, phiên bản này rất không được khuyến nghị.","MANUAL_UPDATE_LINE2":"Vui lòng cập nhật càng sớm càng tốt.","BUTTON_UPDATE_LATTER":"Không phải bây giờ","BUTTON_UPDATE_NOW":"Cập nhật","ANONYMOUS_USER":"Người dùng ẩn danh","DONT_HAVE_ACC":"Chưa có tài khoản?","HAVE_ACC":"Sẵn sàng để tạo một tài khoản?","PASSWORD":"Mật khẩu","PASSWORD_CONFIRM":"Xác nhận mật khẩu","EMAIL":"E-mail","FB_LOGIN":"Tiếp tục với Facebook","FB_NOTHINGSHARED":"Không có gì được chia sẻ mà không có sự cho phép của bạn","FB_NOPOST":"Chúng tôi sẽ không đăng bất cứ điều gì thay mặt bạn","OR":"hoặc","I_ACCEPT":"Tôi chấp nhận","I_ACCEPT_BY_CLICKING":"Bằng cách nhấp vào nút ở trên, tôi chứng nhận rằng tôi chấp nhận ","TOS":"Các điều khoản và điều kiện","MUST_ACCEPT_TERMS":"Bạn phải chấp nhận các điều khoản","PASSWORDS_NOMATCH":"Mật khẩu không khớp","SIGN_UP":"Đăng ký","SIGN_UP_EMAIL":"Đăng ký với email","CLICK_TO_SIGN_UP":"Nhấn vào đây để đăng ký.","LOG_IN":"Đăng nhập","LOG_OUT":"Đăng xuất","EXIT_FULLSCREEN":"Thoát chế độ toàn màn hình","ENTER_FULLSCREEN":"Vào chế độ toàn màn hình","PLAY_URL_MAGNET_LINK":"Phát URL/Liên kết nam châm","HELP_FEEDBACK":"Trợ giúp & Phản hồi","TERMS_OF_SERVICE":"Điều khoản dịch vụ","PRIVACY_POLICY":"Chính sách bảo mật","ABOUT_STREMIO":"Giới thiệu về Stremio","USER_PANEL":"Bảng điều khiển người dùng","LOGIN_LABEL":"Đăng nhập","GUEST_LOGIN":"Đăng nhập của khách","GUEST_LOGIN_NOTICE":"Đăng nhập với tư cách khách không được khuyến nghị. Sử dụng thông tin đăng nhập thông thường cho phép Stremio đồng bộ hóa Thư viện của bạn, nhận thông báo cho các bộ/kênh yêu thích. Bạn có chắc chắn muốn tiếp tục không?","GUEST_LOGIN_NOTICE_2":"Đăng nhập với tư cách khách không được khuyến nghị - bạn sẽ không đồng bộ hóa thông báo Thư viện và Bảng, đây là những tính năng quan trọng của Stremio. Bạn có chắc chắn muốn tiếp tục không?","CLICK_HERE":"bấm vào đây","WRONG_PASSWORD":"Sai email hoặc mật khẩu. Trong trường hợp bạn quên mật khẩu, ","SET_A_PASS":"đặt mật khẩu","RESET_PASSWORD":"Đặt lại mật khẩu","FORGOT_PASSWORD":"Quên mật khẩu?","EMAIL_USED_WITH_FB":"Email này đã được sử dụng với thông tin đăng nhập Facebook.","INVALID_EMAIL":"Vui lòng nhập địa chỉ email hợp lệ","INVALID_PASSWORD":"Vui lòng nhập mật khẩu hợp lệ","CONN_ERR":"Lỗi kết nối - vui lòng thử lại sau.\\n\\nNếu lỗi này vẫn tiếp diễn, hãy tắt tường lửa/phần mềm diệt vi-rút (đặc biệt là Bitdefender).","IMPORT_FROM_GUEST":"Nhập thư viện từ tài khoản khách của bạn","RECEIVE_UPDATES_EMAIL":"Nhận thông tin cập nhật cho email của bạn từ Stremio","LOGIN_FAILED":"Đăng nhập thất bại.","SIGNUP_FAILED":"Đăng ký thất bại.","SEARCH_FAILED":"Tìm kiếm không thành công","EMAIL_USED":"Email này đã được sử dụng.","WAITING_FB_LOGIN":"Đăng nhập bằng Facebook...","EXTERNAL_PLAYER_TITLE":"Phát trong trình phát ngoài","EXTERNAL_REMEMBER_PLAYER":"Bạn có muốn ghi nhớ lựa chọn của mình không","EXTERNAL_ALWAYS_PLAY":"Đúng","EXTERNAL_ONLY_ONCE":"Không","BEST_FIT":"Phù hợp nhất","FIT_SCREEN":"Vừa với màn hình","FILL":"Lấp đầy","16:9":"16:9","4:3":"4:3","Original":"Nguyên bản","INTRO_TASTE":"Nói cho chúng tôi biết bạn thích gì","INTRO_TASTE_LONG":"Nói cho chúng tôi biết bạn muốn xem gì","INTRO_TASTE_PICK":"Chọn sở thích {{interestsRemaining}}","INTRO_TASTE_PICK_MORE":"Chọn thêm {{interestsRemaining}} sở thích","INTRO_TASTE_HELP_US":"Giúp chúng tôi hiểu thêm về bạn.","INTRO_TASTE_CHOOSE_THESE":"Chọn một số trong số này:","INTRO_TASTE_CHOOSE_MIN":"Chọn ít nhất 3 danh mục","INTRO_TASTE_CHOOSE_MIN_ERR":"Bạn phải chọn ít nhất 3 danh mục!","INTRO_TASTE_LIFESTYLE":"Phong cách sống","INTRO_TASTE_SPORTS":"Thể thao","INTRO_TASTE_FOOD_HEALTH":"Thực phẩm & Sức khỏe","INTRO_TASTE_BEAUTY_FASHION":"Làm đẹp & Thời trang","INTRO_TASTE_NEWS":"Tin tức","INTRO_TASTE_GAMING":"Trò chơi","INTRO_TASTE_SCIENCE_EDU":"Khoa học & Giáo dục","INTRO_TASTE_MUSIC":"Âm nhạc","INTRO_TASTE_TRAVEL":"Du lịch","INTRO_TASTE_LATE_NIGHT":"Chương trình đêm khuya","INTRO_TASTE_REALITY":"Thực tế","INTRO_TASTE_COMEDY":"Hài kịch","INTRO_TASTE_DIY":"Cách tự làm","INTRO_TASTE_TECH":"Công nghệ","INTRO_TASTE_CINEMA":"Rạp chiếu phim","ADDON_NOT_SUPPORTED":"Add-on đã chọn không được hỗ trợ trên nền tảng này.","ADDON_DISCLAIMER":"Dùng add-on của bên thứ ba sẽ luôn phải tuân theo trách nhiệm của bạn và luật điều chỉnh của khu vực tài phán mà bạn sinh sống.","ADDON_ACTIVATE":"Kích hoạt add-on này?","ADDON_REPO_ADD":"URL bộ sưu tập add-on","ADDON_ADD":"Thêm","INSTALL_ADDON":"Cài đặt add-on","ADD_ADDON":"Thêm add-on","ADD_ADDON_DESCRIPTION":"Bạn có thể thêm một add-on thông qua một liên kết bên ngoài, liên kết này sẽ xuất hiện trong phần add-on đã cài đặt.","PASTE_ADDON_URL":"Dán URL add-on","WHATS_NEW":"Có gì mới","BUTTON_CONTINUE":"Tiếp tục","BUTTON_ACTIVATE":"Kích hoạt","BUTTON_ACTIVATED":"Đã kích hoạt","BUTTON_CANCEL":"Hủy bỏ","BUTTON_SUBMIT":"Nộp","BUTTON_DISMISS_ALL":"Bỏ qua hết","BUTTON_VIEW_ALL":"xem hết","BUTTON_SEE_ALL":"Thấy hết","BUTTON_COLOR_TRANSPARENT":"Trong suốt","OPEN_IN_BROWSER":"Mở trong trình duyệt","LIB_EMPTY":"Thư viện của bạn trông trống rỗng. Tìm hiểu xem nó hữu ích như thế nào :) ","HOW_START":"Đây là cách bạn có thể bắt đầu:","LIB_EMPTY_CAL":"Lịch của bạn hiển thị loạt phim trong Thư viện của bạn.","HOW_START_CAL":"Đây là cách bạn có thể thêm bộ phim:","LIB_EMPTY_BOARD":"Bảng hiển thị các thông báo &amp; đề xuất liên quan đến Thư viện của bạn.","HOW_START_BOARD_WAIT":"Vui lòng thêm một vài loạt phim hoặc kênh vào Thư viện của bạn, hãy cho chúng tôi vài phút để xử lý :)","HOW_START_BOARD":"Đây là cách bạn có thể thêm loạt phim &amp; phim vào đó:","IMPORT_FB":"Nhập nội dung bạn thích từ <span>Facebook</span>","IMPORT_TRAKT":"Nhập thư viện phương tiện của bạn từ <span>Trakt</span>","IMPORT_DISCOVER":"Tìm nội dung thú vị từ <span>Khám phá</span>","IMPORT_DISK":"Nhập phim hoặc chương trình bạn có trên <span>đĩa cục bộ</span>","PLEASE_CREATE_ACC":"Vui lòng <u>tạo tài khoản</u> để bật Đồng bộ hóa thư viện &amp; Bảng.","IMPORT_DISCOVER_SIGNUP":"Đăng ký và tìm nội dung thú vị từ <span>Khám phá</span>","IMPORT_DISK_SIGNUP":"Đăng ký và nhập phim hoặc chương trình bạn có trên <span>đĩa cục bộ</span> của mình","LIB_EMPTY_CLOUD":"Thư viện đám mây","LIB_EMPTY_CLOUD_DESC":"Thư viện đám mây cá nhân được đồng bộ hóa trên tất cả các thiết bị","LIB_EMPTY_EARLY":"Chim non","LIB_EMPTY_EARLY_DESC":"Nhận thông báo về các tập mới","LIB_EMPTY_PERSONAL":"Cá nhân","LIB_EMPTY_PERSONAL_DESC":"Nhận đề xuất cá nhân","LIB_EMPTY_CALENDAR_DESC":"Sắp xếp lịch xem cá nhân của bạn","LIB_EMPTY_ALL":"Đăng ký để nhận được tất cả những thứ này:","LIB_EMPTY_BEST":"Đăng ký để tận dụng tốt nhất Stremio","LIB_EMPTY_OTHER":"Đăng ký để bật Lịch và các tính năng thú vị khác","CALENDAR_ADDED":"Lịch Stremio đã được thêm vào lịch màn hình mặc định của bạn.","CALENDAR_ADDED_MSG":"Nếu cách này không hiệu quả, vui lòng thêm URL này vào ứng dụng lịch của bạn theo cách thủ công","TRAKT_EXPIRED":"Xác thực Trakt đã hết hạn, vui lòng đi tới Thiết đặt và xác thực lại","TRAKT_REQUIRES_LOGIN":"Lỗi Trakt","TRAKT_REQUIRES_LOGIN_MSG":"Bạn cần đăng nhập","TRAKT_IMPORT_WATCHED":"Nhập","THEME":"Chủ đề","THEME_DEFAULT":"Mặc định","THEME_ADAPTIVE":"Thích ứng","SETTINGS_LABEL":"Thiết đặt","SETTINGS_NAV_GENERAL":"Tổng quan","SETTINGS_NAV_PLAYER":"Trình phát","SETTINGS_NAV_STREAMING":"Truyền trực tuyến","SETTINGS_NAV_SHORTCUTS":"Lối tắt","SETTINGS_SHORTCUT_RELOAD_APP":"Tải lại ứng dụng","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Mở thiết đặt","SETTINGS_SHORTCUT_SWITCH_TABS":"Chuyển tab","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Xoay tới các tab phía trước","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Xoay về các tab phía sau","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Điều hướng giữa các menu","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Đi tới Tìm kiếm","SETTINGS_SHORTCUT_EXIT_BACK":"Thoát/Quay lại","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Chuyển đổi menu tốc độ phát lại","SETTINGS_SHORTCUT_MENU_VIDEOS":"Chuyển đổi Menu Video","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Chuyển đổi menu phụ đề","SETTINGS_SHORTCUT_MENU_INFO":"Chuyển đổi menu thông tin","SETTINGS_SHORTCUT_FULLSCREEN":"Chuyển đổi toàn màn hình","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Hiển thị điều khiển","SETTINGS_SHORTCUT_PLAY_PAUSE":"Phát / Tạm dừng","SETTINGS_SHORTCUT_VOLUME_UP":"Tăng âm lượng","SETTINGS_SHORTCUT_VOLUME_DOWN":"Giảm âm lượng","SETTINGS_SHORTCUT_SEEK_NEXT":"Nhảy tới","SETTINGS_SHORTCUT_SEEK_PREV":"Nhảy lùi","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Tua về sau","SETTINGS_SHORTCUT_SEEK_FORWARD":"Tua về trước","SETTINGS_SHORTCUT_PLAY_NEXT":"Phát kế tiếp","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Tăng kích thước phụ đề","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Giảm kích thước phụ đề","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Tăng độ trễ phụ đề","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Giảm độ trễ phụ đề","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Chuyển đổi thanh bên","SETTINGS_SHORTCUT_OR":"hoặc","SETTINGS_SHORTCUT_TO":"đến","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Xác thực","SETTINGS_FACEBOOK_IMPORT":"Nhập vào","SETTINGS_CALENDAR_SUBSCRIBE":"Đăng ký","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Ngôn ngữ giao diện","SETTINGS_LAUNCH_STARTUP":"Khởi chạy khi khởi động","SETTINGS_VLC_DEFAULT":"Phát bằng VLC","SETTINGS_UI_LANGUAGE":"Ngôn ngữ giao diện người dùng","SETTINGS_UI_ZOOM":"Thu phóng giao diện","SETTINGS_FULLSCREEN_EXIT":"Phím Esc thoát toàn màn hình","SETTINGS_GAMEPAD":"Bật hỗ trợ gamepad","SETTINGS_CLOSE_WINDOW":"Đóng ứng dụng khi đóng cửa sổ","SETTINGS_SUBTITLES_LANGUAGE":"Ngôn ngữ phụ đề mặc định","SETTINGS_SUBTITLES_SIZE":"Kích thước phụ đề mặc định","SETTINGS_SUBTITLES_BACKGROUND":"Nền phụ đề","SETTINGS_SUBTITLES_COLOR":"Màu phụ đề","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Màu đường viền phụ đề","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Màu nền phụ đề","SETTINGS_SEEK_KEY":"Nút mũi tên tua thời lượng","SETTINGS_SEEK_KEY_SHIFT":"Nút mũi tên tua thời lượng khi giữ phím Shift","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Thời lượng Tua lại & Tua nhanh","SETTINGS_BINGE":"Tự động phát tập tiếp theo","SETTINGS_NEXT_VIDEO":"Hiển thị thông báo để bắt đầu tập tiếp theo","SETTINGS_NEXT_VIDEO_TRIGGER":"Hiển thị thông báo tập tiếp theo cho:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Thời lượng bật lên của video tiếp theo","SETTINGS_PLAY_IN_BACKGROUND":"Phát trong nền","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Phát trong trình phát ngoài","SETTINGS_RESIZE":"Tự động thay đổi kích thước cửa sổ trước khi phát","SETTINGS_OVERRIDE_SERVER":"Ghi đè URL máy chủ truyền trực tuyến (nâng cao)","SETTINGS_SERVER_URL":"URL máy chủ truyền trực tuyến: ","SETTINGS_SERVER_AVAILABLE":"Máy chủ truyền trực tuyến khả dụng.","SETTINGS_SERVER_UNAVAILABLE":"Máy chủ truyền trực tuyến không khả dụng.","SETTINGS_SERVER_STATUS_ONLINE":"Trực tuyến","SETTINGS_SERVER_STATUS_ERROR":"Lỗi","SETTINGS_SERVER_CONFIGURE_TITLE":"Định cấu hình url máy chủ truyền trực tuyến","SETTINGS_SERVER_CONFIGURE_INPUT":"Nhập url máy chủ truyền trực tuyến","SETTINGS_SERVER_CACHE_SIZE":"Kích thước bộ nhớ đệm","SETTINGS_SERVER_TORRENT_PROFILE":"Hồ sơ torrent","SETTINGS_HTTPS_ENDPOINT":"Truyền trực tuyến máy cuối HTTPS: ","SETTINGS_TRANSCODE_PROFILE":"Hồ sơ chuyển mã","SETTINGS_USE_BETA":"Luôn sử dụng bản Beta mới nhất","SETTINGS_IMPORT_FB":"Nhập từ facebook","SETTINGS_IMPORT_DISK":"Nhập từ đĩa cục bộ","SETTINGS_IMPORT_TRAKT":"Nhập từ Trakt","SETTINGS_PAUSE_MINIMIZED":"Tạm dừng phát lại khi thu nhỏ","SETTINGS_HWDEC":"Giải mã tăng tốc phần cứng","SETTINGS_BACKGROUND":"Phát lại trong nền","SETTINGS_SUBSCRIBE_CALENDAR":"Đăng ký lịch","SETTINGS_REQ_EXPORT":"Yêu cầu xuất dữ liệu","SETTINGS_ACC_DELETE":"Yêu cầu xóa tài khoản","SETTINGS_CHANGE_PASSWORD":"Đổi mật khẩu","SETTINGS_TOS":"Điều khoản dịch vụ","SETTINGS_SUPPORT":"Liên hệ hỗ trợ","SETTING_LANGUAGE":"Ngôn ngữ","SETTINGS_TRAKT":"Trakt Thống kê","SETTINGS_TRAKT_LOGOUT":"Đăng xuất khỏi Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Đăng xuất khỏi Trakt","SETTINGS_SCAN_FOR_REMOTE":"Quét mã QR để mở điều khiển từ xa","SETTINGS_DESKTOP_NOTIFICATIONS":"Thông báo trên màn hình","SETTINGS_DATA_SAVER":"Trình tiết kiệm dữ liệu","SETTINGS_LANGUAGE_INTERFACE":"giao diện","SETTINGS_LANGUAGE_SUBS":"phụ đề mặc định","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Tự động chọn luồng âm thanh","SETTINGS_DEFAULT_AUDIO_TRACK":"Luồng âm thanh mặc định","SETTINGS_SURROUND_SOUND":"Âm thanh vòm","SETTINGS_ACCOUNT":"tài khoản","SETTINGS_PLATFORM":"Nền tảng","SETTINGS_VERSION":"phiên bản","SETTINGS_ABOUT":"Giới thiệu","SETTINGS_MPV_WINDOW":"Khởi chạy trình phát trong cửa sổ riêng (nâng cao)","SETTINGS_PLAY_IN_EXTERNAL":"Luôn bắt đầu video trong trình phát bên ngoài","SETTINGS_STORAGE_BUTTON":"Xóa bộ nhớ cục bộ","SETTINGS_STORAGE_MODAL_TITLE":"Bạn có chắc không ?","SETTINGS_STORAGE_MODAL_MESSAGE":"Thao tác này sẽ xóa bộ nhớ cục bộ và đăng xuất bạn.","SETTINGS_HWDEC_PICKER":"Chọn thiết đặt giải mã tăng tốc phần cứng","SETTINGS_HW_AUTOMATIC":"Tự động","SETTINGS_HW_DISABLED":"Đã tắt","SETTINGS_HW_ACCELERATED":"Giải mã tăng tốc","SETTINGS_HW_FULL":"Tăng tốc tối đa","SETTINGS_HW_LEGACY":"Tương thích ngược","SETTINGS_DISABLED":"Đã tắt","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Thông báo kết nối mạng","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"URL từ xa","SETTINGS_COPY_REMOTE_URL":"Sao chép URL từ xa","SETTINGS_REMOTE_URL_COPIED":"URL từ xa đã được sao chép vào clipboard của bạn","SETTINGS_SECTION_SUBTITLES":"Phụ đề","SETTINGS_SECTION_AUDIO":"Âm thanh","SETTINGS_SECTION_CONTROLS":"Điều khiển","SETTINGS_SECTION_AUTO_PLAY":"Tự động phát","SETTINGS_SECTION_ADVANCED":"Nâng cao","SUBSPICKER_AUDIO":"Âm thanh","SUBSPICKER_SUBTITLES":"Add-on phụ đề","SUBSPICKER_BLACK_BACKGROUND":"Sử dụng nền màu đen","SUBSPICKER_VERTICAL_OFFSET":"Bù đắp theo chiều dọc","SUBSPICKER_SIZE":"Kích cỡ","SUBSPICKER_DELAY":"Độ trễ","SUBSPICKER_EMBEDDED_SUBS":"Phụ đề nhúng","MOBILE_PRIVACY_POLICY":"Chính sách bảo mật","MOBILE_CRASH_REPORTING":"Báo cáo sự cố","MOBILE_ZOOM_TO_FILL":"Thu phóng để lấp đầy màn hình","MOBILE_PASSTHROUGH":"Đầu ra âm thanh kỹ thuật số (passthrough)","MOBILE_RUN_LOW_BATTERY":"Chạy khi pin yếu","MOBILE_RUN_FOREGROUND":"Chạy dưới dạng dịch vụ thấy được","MOBILE_PERFORMANCE":"HIỆU SUẤT & ỔN ĐỊNH","MOBILE_SERVER_ONLINE":"Trực tuyến","MOBILE_SERVER_OFFLINE":"Ngoại tuyến","MOBILE_QR_EXPIRES":"Mã QR hết hạn sau ","MOBILE_LOG_INTO":"Đăng nhập vào tài khoản Stremio của bạn","MOBILE_SCAN_QR":"Quét mã QR ở trên hoặc truy cập ","MOBILE_LINK_ACCOUNT":"Liên kết tài khoản","MOBILE_SPEEDPICKER_CANCEL":"Hủy bỏ","MOBILE_SPEEDPICKER_LABEL":"Chọn tốc độ phát lại","MOBILE_EMPTY_LIBRARY":"Thư viện của bạn trống","MOBILE_NO_ADDON_ACTIVE":"Không có add-on Stremio nào hoạt động cho loại này.","MOBILE_ORGANIZER_WARNING":"Ứng dụng Stremio Organizer cung cấp chức năng hạn chế. Để có danh sách các luồng có thể phát và trải nghiệm Stremio đầy đủ, hãy sử dụng Stremio trên máy tính để bàn.","MOBILE_ADDON_LOADING":"vẫn đang tải","MOBILE_ADDONS_LOADING":"add-on vẫn đang tải","MOBILE_ADDON":"Add-on","MOBILE_CONFIGURE_ADDON":"Định cấu hình add-on của bạn","MOBILE_CONFIGURE_ADDON_LABEL":"Cấu hình add-on","MOBILE_ORGANIZER_ADDONS_WARNING":"Ứng dụng Stremio Organizer cung cấp một số lựa chọn add-on hạn chế. Để có trải nghiệm Stremio đầy đủ, hãy sử dụng Stremio trên máy tính để bàn.","MOBILE_DISCONNECT":"Ngắt kết nối","MOBILE_LOOKING_FOR_DEVICES":"Đang tìm thiết bị...","MOBILE_CAST_TO":"Truyền tới","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Xóa tài khoản","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Việc xóa tài khoản không xảy ra ngay lập tức do các nghĩa vụ pháp lý. Sau khi yêu cầu xóa tài khoản của mình, bạn sẽ phải sử dụng địa chỉ email/hồ sơ facebook khác để tạo tài khoản Stremio mới trong tương lai.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Xác nhận xóa tài khoản","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Tài khoản của bạn đã được tạo bằng Facebook. Để xóa tài khoản của bạn, vui lòng sử dụng cổng thông tin người dùng của chúng tôi tại www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Vui lòng cung cấp mật khẩu của bạn để xác nhận xóa tài khoản.","MOBILE_DELETE_ACCOUNT_BUTTON":"Xóa tài khoản","NAVIGATION_ON":"Mở","NAVIGATION_OFF":"Tắt","MARKETING_AGREE":"Tôi đồng ý nhận thông tin tiếp thị từ Stremio","QUIT":"Từ bỏ","CONNECTED":"Đã kết nối","AUTHENTICATE":"Xác thực","CACHING":"Bộ nhớ đệm","SETTINGS_CACHING_DRIVE":"Ổ đĩa đệm","ENABLE_LOCAL_FILES_ADDON":"Kích hoạt add-on tệp cục bộ (yêu cầu khởi động lại)","LOCAL_ADDON_NOT_ENABLED":"Add-on cục bộ chưa được bật. Nhấp vào đây để đi tới thiết đặt và bật nó","ENABLE_REMOTE_HTTPS_CONN":"Bật kết nối HTTPS từ xa","TORRENT_PROFILE":"Hồ sơ torrent","DATA_CACHING":"Bộ nhớ đệm dữ liệu","MAGNET_PARSING":"Phân tích một liên kết nam châm","January":"Tháng Một","February":"Tháng Hai","March":"Tháng Ba","April":"Tháng Tư","May":"Tháng Năm","June":"Tháng Sáu","July":"Tháng Bảy","August":"Tháng Tám","September":"Tháng Chín","October":"Tháng Mười","November":"Tháng Mười Một","December":"Tháng Mười Hai","Monday":"Thứ Hai","Tuesday":"Thứ Ba","Wednesday":"Thứ Tư","Thursday":"Thứ Năm","Friday":"Thứ Sáu","Saturday":"Thứ Bảy","Sunday":"Chủ Nhật","Action":"Hành động","Comedy":"Hài kịch","War":"Chiến tranh","Family":"Gia đình","Animation":"Hoạt hình","Adventure":"Phiêu lưu","Fantasy":"Tưởng tượng","Crime":"Tội phạm","Mystery":"Bí ẩn","Romance":"Lãng mạn","Drama":"Kịch","Horror":"Kinh dị","Thriller":"Giật gân","Sci-Fi":"Khoa học viễn tưởng","Music":"Âm nhạc","Biography":"Tiểu sử","Documentary":"Tài liệu","Sport":"Thể thao","Musical":"Âm nhạc","Western":"Viễn Tây","Film-Noir":"Phim đen","News":"Tin tức","History":"Lịch sử","Game-Show":"Trò chơi truyền hình","Reality-TV":"Truyền hình thực tế","Talk-Show":"Tọa đàm","Film & Entertainment":"Phim & Giải trí","Gaming":"Trò chơi","From TV":"Từ TV","Lifestyle":"Phong cách sống","Science & Education":"Khoa học & Giáo dục","Cooking & Health":"Nấu ăn & Sức khỏe","Beauty & Fashion":"Làm đẹp & Thời trang","Sports":"Thể thao","News & Politics":"Tin tức & Chính trị","How-to & DIY":"Hướng dẫn & Tự làm","Tech":"Công nghệ","Automotive":"Ô tô","Causes & Non-Profits":"Chính nghĩa & Phi lợi nhuận","Movies":"Phim","Uk Live Tv":"Truyền hình trực tiếp Vương quốc Anh","Fashion":"Thời trang","Business News Radio":"Radio tin tức kinh doanh","Business Tv":"Truyền hình kinh doanh","Cars & Auto":"Xe hơi & Ô tô","Comedy Radio":"Radio hài kịch","Lifestyle Radio":"Radio phong cách sống","News Tv":"Truyền hình tin tức","Food And Wine":"Thức ăn Và rượu","Latino Tv":"Truyền hình Latinh","Shopping Tv":"Truyền hình Mua sắm","Religion":"Tôn giáo","Kids":"Trẻ em","Body & Soul":"Thể xác & Linh hồn","Education":"Giáo dục","Indian Tv":"Truyền hình Ấn Độ","Extreme Sports":"Thể thao mạo hiểm","Middle Eastern Tv":"Truyền hình Trung Đông","Celebrity Tv":"Truyền hình Người nổi tiếng","Science Tv":"Truyền hình khoa học","Bikini babe":"Bikini em yêu","Outdoors":"Ngoài trời","German Tv":"Truyền hình Đức","French Tv":"Truyền hình Pháp","Italian Tv":"Truyền hình Ý","Gamer Tv":"Truyền hình game thủ","Travel":"Du lịch","Asian Tv":"Truyền hình Châu Á","Entertainment":"Giải trí","News Radio":"Radio tin tức","Music Radio":"Radio âm nhạc","Language Learning":"Học ngôn ngữ","Science Radio":"Radio khoa học","Tech Radio":"Radio công nghệ","Science & Technology Vod":"Khoa học & Công nghệ Video theo yêu cầu","new video":"video mới","new episode":"tập mới","new movie":"phim mới","recommended":"khuyến khích","we recommend":"chúng tôi đề nghị","offer of the day":"đề nghị trong ngày","news":"tin tức","music video":"video âm nhạc","CTX_SHOW_HOTKEYS":"Hiển thị phím nóng","CTX_DISMISS_NOTIF":"Bỏ qua thông báo","CTX_DISMISS_ALL":"Bỏ qua tất cả","CTX_SHARE":"Chia sẻ","CTX_COPY_SHARE_LINK":"Sao chép liên kết chia sẻ","CTX_COPY_MAGNET_LINK":"Sao chép liên kết nam châm","CTX_COPY_STREAM_LINK":"Sao chép liên kết luồng","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Tải video này","CTX_DOWNLOAD_SUBS":"Tải xuống phụ đề","CTX_VIEW_ON_YOUTUBE":"Xem trên YouTube","CTX_SHOW":"Hiển thị","CTX_PLAY":"Phát","CTX_PLAY_IN":"Phát trong","CTX_PLAY_ON":"Phát trên","CTX_WATCH_ON":"Xem trên","CTX_WATCH":"Xem","CTX_WATCHED":"Đã xem","CTX_WATCH_BEGINNING":"Xem từ đầu","CTX_WATCH_MOBILE":"Xem trên thiết bị di động","CTX_REWIND":"Tua lại từ đầu","CTX_MARK_WATCHED":"Đánh dấu là đã xem","CTX_MARK_NON_WATCHED":"Đánh dấu là chưa xem","CTX_MARK_UNWATCHED":"Đánh dấu là chưa xem","CTX_MARK_REST":"Đánh dấu phần còn lại là đã xem","CTX_UNMARK_REST":"Đánh dấu phần còn lại là chưa xem","CTX_RECEIVE_NEW_NOTIF":"Nhận thông báo mới","CTX_ENABLE_NEW_NOTIF":"Bật thông báo","CTX_DISABLE_NEW_NOTIF":"Tắt thông báo","CTX_REMOVE_CACHE":"Loại khỏi bộ nhớ cache","CTX_REMOVE_CACHE_EP":"Loại tập phim khỏi bộ nhớ đệm","CTX_OPEN_CONTAINING":"Mở thư mục chứa","CTX_REMOVE":"Loại khỏi thư viện","CTX_AVAILABLE_OFFLINE":"Ngoại tuyến sẵn sàng","CTX_PAUSED":"Đã tạm dừng","CTX_ALWAYS_ON_TOP":"Luôn luôn trên đầu trang","CTX_FULLSCREEN":"Toàn màn hình","CTX_WRONG_SUBS":"Phụ đề sai?","CTX_REPORT_ISSUES":"Báo cáo phát hành","CTX_COPY":"Sao chép","CTX_PASTE":"Dán","CTX_CLEAR":"Xóa","CTX_CLEAR_RECENT_SEARCHES":"Xóa các tìm kiếm gần đây","HELLO_THERE":"Chào đằng ấy","HOPE_YOU_ENJOY":"Chúng tôi hy vọng bạn thích Stremio và nó đã là một trong những ứng dụng yêu thích của bạn!","WHO_ARE_WE":"Chúng tôi là ai? Chúng tôi là đội ngũ đằng sau nó - hai người làm việc chăm chỉ mỗi ngày trong 3 năm qua để làm cho sản phẩm này ngày càng tốt hơn.","SUPPORT_US":"Nếu bạn thích sử dụng Stremio, nếu Stremio có giá trị đối với bạn - hãy quảng bá!","SPREAD_THE_WORD":"Chia sẻ với bạn bè của bạn ngay bây giờ, quảng bá về Stremio","MORE_PEOPLE":"Càng nhiều người sử dụng Stremio, nó càng trở nên tốt hơn!","SEND_A_LINK":"Hoặc gửi liên kết đến trang web của chúng tôi","TIP_LOCALFILES":"Mẹo: bạn có thể kéo và thả các tệp video cục bộ vào Stremio","ADDON_MY":"Add-on của tôi","ADDON_COMMUNITY":"Add-on cộng đồng","ADDON_OFFICIAL":"Add-on chính thức","ADDON_REPOS":"Bộ sưu tập add-on","ADDON_SEARCH":"Tìm kiếm add-on","ADDON_INSTALL":"Cài đặt","ADDON_CONFIGURE":"Cấu hình","ADDON_UNINSTALL":"Gỡ cài đặt","ADDON_UPGRADE":"Nâng cấp","ADDON_INSTALLED":"Đã cài đặt","ADDON_INSTALLED_MSG":"Add-on đã cài đặt!","ADDON_UPGRADED_MSG":"Add-on đã nâng cấp!","ADDON_UNKNOWN":"Không xác định","ADDON_ERR":"Lỗi cài đặt add-on!","ADDON_DISCONNECTED":"Đã ngắt kết nối","ADDON_APP_MISSING":"ứng dụng cho nguồn này chưa được cài đặt. Bạn có muốn cài đặt nó ngay bây giờ không?","ADDON_APP_INSTALL":"Cài đặt ngay","ADDON_PAGE":"Trang add-on","ADDON_TOP_CONTENT":"Tốt nhất từ Add-on này","ADDON_PROVIDES":"Add-on này sẽ cung cấp cho bạn:","ADDON_WATCH":"Xem #{types} ngay bây giờ!","ADDON_WATCH_FREE":"Xem #{types} MIỄN PHÍ ngay bây giờ!","ADDON_ADDON":"Add-on","ADDON_SUPPORTED_TYPES":"Các loại được hỗ trợ","ADDON_SUPPORTED_CATALOGS":"Danh mục được hỗ trợ","ADDON_PROVIDES_DISCOVER":"Nhiều #{types} hơn trong Khám phá","ADDON_PROVIDES_STREAMS":"Xem #{types}","ADDON_PROVIDES_STREAMS_FREE":"Xem #{types} MIỄN PHÍ","ADDON_PROVIDES_SUBTITLES":"Phụ đề cho #{types}","ADDON_CANTDETECT":"Chúng tôi không thể phát hiện Stremio đang chạy, vì vậy chúng tôi không thể phát hiện những add-on mà bạn đã cài đặt.","ERR_NO_META":"Không tìm thấy thông tin nào về điều này","ERR_GETTING_META":"Lỗi khi truy xuất thông tin về điều này.","ERR_CANT_PARSE_MAGNET":"Không thể phân tích cú pháp nam châm","ERR_NO_MAGNET_INFOHASH":"Không có hàm băm thông tin hợp lệ cho nam châm","ERR_NO_FILE_PATH":"Không thể gửi yêu cầu mà không có đường dẫn đến tệp","ERR_NO_TORRENT":"Không có torrent nào trả về","ERR_NO_SUPPORTERD_FILES":"Không tìm thấy tệp được hỗ trợ","ERR_OPENING_FILES":"Không thể mở tệp bên ngoài","ERR_INVALID_LINK":"Liên kết không hợp lệ","ERR_REGISTERED_ONLY":"Tùy chọn này chỉ khả dụng cho người dùng đã đăng ký.","ERR_CLIPBOARD":"Không thể phát từ clipboard","ERR_CLIPBOARD_READ":"Không thể đọc clipboard trên nền tảng này","ERR_CLIPBOARD_GENERIC":"Không tìm thấy URL có thể phát trong clipboard. Vui lòng sao chép URL (ví dụ: liên kết nam châm) vào video.","BOARD_CONTINUE_WATCHING":"Tiếp tục xem","BOARD_EXPLANATION_RECOMMENDATIONS":"Những bộ phim được chọn đặc biệt dành cho bạn.<br/>Phim này là một đề xuất mẫu.","BOARD_EXPLANATION_EPISODES":"Các tập mới của Loạt phim yêu thích của bạn đến đây.<br/>Thêm loạt phim bạn theo dõi vào Thư viện.","BOARD_EXPLANATION_VIDEOS":"Các tập mới của các Kênh yêu thích của bạn đến đây.<br/>Thêm các kênh YouTube mà bạn theo dõi vào Thư viện.","WEBSITE_ENJOYED_BY":"Được hơn 30 triệu người dùng trên toàn thế giới yêu thích","WEBSITE_STREAMING_ENHANCED":"Phát trực tuyến nâng cao","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio mang đến trải nghiệm giải trí an toàn, hiện đại và liền mạch. Với giao diện dễ sử dụng và thư viện nội dung đa dạng, bao gồm hỗ trợ 4K HDR, người dùng có thể thưởng thức các bộ phim và chương trình TV yêu thích trên tất cả các thiết bị của mình. Và với cam kết về bảo mật của nó, Stremio là sự lựa chọn tối ưu để có trải nghiệm phát trực tuyến chất lượng cao, an tâm.","WEBSITE_AVAILABLE_ON":"Có sẵn trên","WEBSITE_WATCH_AND_ENJOY":"Xem & thưởng thức.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio biến nó thành một miếng bánh","WEBSITE_ALL_FEATURES":"Tất cả tính năng","WEBSITE_EASY_TO_USE":"Dễ sử dụng","WEBSITE_EASY_TO_USE_DETAILS":"Stremio được thiết kế thân thiện với người dùng và dễ sử dụng. Với giao diện gọn gàng và trực quan, bạn có thể dễ dàng điều hướng và tìm thấy nội dung mình muốn xem.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Liền mạch xuyên suốt các thiết bị","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Có sẵn cho nhiều nền tảng (bao gồm Windows, Mac, Linux, Android và hơn thế nữa), Stremio sẽ theo dõi tiến trình của bạn trên tất cả các thiết bị. Chỉ cần đăng nhập và tiếp tục xem mà không cần phải định cấu hình lại ứng dụng trên mỗi thiết bị mới.","WEBSITE_ALL_DOWNLOADS":"Tất cả nội dung tải xuống","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"Hỗ trợ video độ nét cao","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"Trình phát video tích hợp hỗ trợ hầu hết các định dạng video, bao gồm cả nội dung 4K HDR, cho phép bạn tận hưởng chất lượng cao nhất hiện có.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Thư viện nội dung phong phú","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio tích hợp với nhiều nguồn video phổ biến, chẳng hạn như Netflix, Amazon Prime Video, Hulu, YouTube và nhiều nguồn khác.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Tạo một tài khoản miễn phí","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Trải nghiệm xem phù hợp","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio cho phép bạn tùy chỉnh giao diện bằng cách thay đổi chủ đề, thêm hoặc xóa add-on, v.v.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Hỗ trợ phụ đề đa ngôn ngữ","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"Giờ đây, bạn có thể thưởng thức tất cả nội dung yêu thích bằng ngôn ngữ ưa thích của mình vì Stremio hỗ trợ phụ đề ở tất cả các ngôn ngữ.","WEBSITE_ALL_STREMIO_FEATURES":"Tất cả tính năng của Stremio","WEBSITE_TRY_STREMIO_TITLE_P1":"Thử Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"Trên TV của bạn bây giờ","WEBSITE_YOU_CAN_NOW_WATCH":"Giờ đây, bạn có thể xem tất cả các chương trình truyền hình yêu thích trên thiết bị Android TV của mình. Ứng dụng Stremio TV cho phép bạn tận hưởng một đêm xem phim một cách dễ dàng.","WEBSITE_YOU_CAN_NOW_WATCH_2":"Giờ đây, bạn có thể xem tất cả các chương trình truyền hình yêu thích trên TV thông minh hoặc Android TV. Ứng dụng Stremio TV cho phép bạn tận hưởng một đêm xem phim một cách dễ dàng.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio cho TV thông minh","WEBSITE_PLAY_STORE_REVIEW":"Có lẽ là ứng dụng tốt nhất và hữu ích nhất cần có trong thiết bị của bạn. Đây là một trong những ứng dụng tôi sử dụng hàng ngày, đặc biệt là trên Android TV của tôi trong nhiều năm nay. Được phát triển tốt với một cộng đồng mạnh mẽ cung cấp các chức năng hữu ích. Làm tốt lắm. Hãy tiếp tục phát huy công việc tốt.","WEBSITE_REVIEWS":"đánh giá","WEBSITE_GET_STREMIO_FOR_FREE":"Nhận Stremio miễn phí","WEBSITE_GET_STREMIO_NOW":"Tải Stremio ngay","WEBSITE_STREMIO_FEATURES":"Tính năng Stremio","WEBSITE_STREMIO_FEATURES_DETAILS":"Truyền phát như một chuyên gia với các tính năng nâng cao của Stremio và tận hưởng khả năng truy cập liền mạch vào tất cả phương tiện yêu thích của bạn","WEBSITE_DISCOVER_MORE":"Khám phá nhiều hơn.","WEBSITE_DISCOVER_MORE_DETAILS":"Không bao giờ hết nội dung để xem","WEBSITE_COMMUNITY_DRIVEN":"Dựa vào cộng đồng","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio có một cộng đồng người dùng rộng lớn và tích cực, những người đóng góp vào sự phát triển của phần mềm bằng cách tạo và chia sẻ các add-on.","WEBSITE_GET_INVOLVED":"Tham gia vào","WEBSITE_NEW_THEATER_EXPERIENCE":"Trải nghiệm sân khấu mới","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Ứng dụng TV chuyên dụng mới của Stremio cho phép bạn tận hưởng một đêm xem phim trên thiết bị Android TV của mình.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Các ứng dụng TV chuyên dụng mới của Stremio cho phép bạn tận hưởng một đêm xem phim trên các thiết bị Smart TV hoặc Android TV.","WEBSITE_FREE_AND_SECURE":"Tự do & Bảo mật","WEBSITE_STREAMING":"Truyền phát","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio mang đến sự bảo mật và quyền riêng tư chưa từng có cho người dùng. Với tính năng độc đáo là chạy các add-on từ xa, Stremio cung cấp một cách an toàn hơn để truyền phát nội dung yêu thích của bạn so với các nền tảng khác. Bảo mật và quyền riêng tư của bạn là ưu tiên hàng đầu và nền tảng này đảm bảo rằng tất cả dữ liệu của bạn được bảo vệ.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Hãy tạm biệt những lo lắng về bảo mật và quyền riêng tư và chào đón thế giới giải trí bất tận với Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Thông tin được cung cấp bởi","WEBSITE_CONTRIBUTE":"Đóng góp","WEBSITE_CONTRIBUTE_DESC":"tới dự án và giúp chúng tôi cải tiến Stremio tốt hơn nữa","WEBSITE_COMMUNITY_DESC":"Chúng tôi tin rằng cách tốt nhất để tạo ra trải nghiệm phát trực tuyến thực sự tuyệt vời là thu hút cộng đồng của chúng tôi tham gia vào quá trình này. Cho dù bạn là lập trình viên, nghệ sĩ hay chỉ là người hâm mộ - bạn đều có thể giúp Stremio phát triển.","WEBSITE_COMMUNITY_DESC_2":"Vì vậy, hãy tham gia với chúng tôi ngay hôm nay và trở thành một phần của cộng đồng Stremio cũng như tiếp tục định hình tương lai của dịch vụ phát trực tuyến.","WEBSITE_WAYS_TO_GET_INVOLVED":"Các cách để tham gia","WEBSITE_IN_THE_STREMIO_COMMUNITY":"trong cộng đồng Stremio","WEBSITE_SHARE_YOUR_THOUGHTS":"Chia sẻ những suy nghĩ của bạn","WEBSITE_REPORT_BUGS":"Báo cáo lỗi","WEBSITE_SUGGEST_FEATURES":"đề xuất tính năng","WEBSITE_AND_PROVIDE_FEEDBACK":"và cung cấp phản hồi trên các kênh truyền thông xã hội của chúng tôi.","WEBSITE_BETA_TESTING_PROGRAM":"Chương trình thử nghiệm beta","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Tham gia chương trình thử nghiệm beta của chúng tôi (chúng tôi gửi lời mời thường xuyên) trong cộng đồng Stremio.","WEBSITE_JOIN_NOW":"Tham gia ngay!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Cộng đồng Stremio chính thức","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Cộng đồng Stremio không chính thức","WEBSITE_BECOME":"Trở nên","WEBSITE_A_VOLUNTEER_TRANSLATOR":"một dịch giả tình nguyện","WEBSITE_ARE_YOU_A_DEVELOPER":"Bạn có phải là nhà phát triển?","WEBSITE_CONTRIBUTE_CODE":"Bạn có thể đóng góp mã cho các dự án nguồn mở của chúng tôi. Chúng tôi có một số dự án trên GitHub đang tìm kiếm cộng tác viên. Nếu bạn muốn trợ giúp, hãy xem qua chúng:","WEBSITE_STREMIO_ON_GITHUB":"Stremio trên GitHub","WEBSITE_CREATE_ADDON_DESC":"Tạo một add-on để nâng cao chức năng của Stremio (chúng tôi có API dễ sử dụng):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"Chúng tôi cũng mang đến cơ hội tham gia cùng chúng tôi với tư cách là nhà phát triển thực tập để chúng ta có thể cùng nhau phát triển.","WEBSITE_APPLY_AS_AN_INTERN":"Đăng ký làm thực tập sinh","WEBSITE_CALLING_ALL_ARTISTS":"Kêu gọi tất cả các nghệ sĩ!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Thể hiện sự sáng tạo và tình yêu của bạn dành cho Stremio bằng cách tải tác phẩm nghệ thuật của người hâm mộ (fanart) lên thư viện trực tuyến của chúng tôi. Cho dù đó là một bức vẽ, tranh vẽ hay thiết kế kỹ thuật số, chúng tôi muốn thấy sự độc đáo của bạn đối với thương hiệu Stremio. Hãy tham gia cộng đồng những người đam mê nghệ thuật của chúng tôi và chia sẻ công việc của bạn với những người hâm mộ Stremio trên khắp thế giới.","WEBSITE_STREMIO_FANART_GALLERY":"Phòng trưng bày tác phẩm nghệ thuật của người hâm mộ (fanart) Stremio","WEBSITE_INTERN_DESIGNER":"Trở thành thành viên của nhóm chúng tôi và đưa khả năng sáng tạo của bạn lên tầm cao mới với các cơ hội thực tập thú vị của chúng tôi.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Dự án phim thuộc phạm vi công cộng","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"Tại Stremio, chúng tôi cam kết bảo tồn lịch sử điện ảnh và truyền hình bằng cách xác định phạm vi công cộng và các video mồ côi. Bằng cách hợp tác với cộng đồng của mình, chúng tôi có thể đảm bảo rằng mọi người đều có thể tiếp cận những tác phẩm nghệ thuật cổ điển này và bảo vệ nó cho các thế hệ tương lai thưởng thức.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Hãy liên hệ với chúng tôi nếu bạn muốn tham gia vào dự án đó.","WEBSITE_JOIN_THE_PROJECT":"Tham gia dự án","WEBSITE_BE_PART_OF_OUR_MISSION":"Hãy là một phần sứ mệnh của chúng tôi","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Bạn muốn tham gia nhóm Stremio? Chúng tôi cung cấp công việc hoàn toàn từ xa cho những chuyên gia đầy nhiệt huyết. Hãy xem các vị trí đang tuyển dụng của chúng tôi.","WEBSITE_OPEN_POSITIONS":"VỊ TRÍ MỞ","WEBSITE_DESCRIPTION":"MÔ TẢ","WEBSITE_LEARN_MORE":"Tìm hiểu thêm","WEBSITE_COMPANY":"Công ty","WEBSITE_CONTACTS":"Liên lạc","WEBSITE_NEED_HELP":"Cần giúp đỡ?","WEBSITE_STREMIO_WEB_ON_IOS":"Hướng dẫn về Stremio Web trên iOS","WEBSITE_LINK_ART_V2":"Phòng trưng bày Fanart","WEBSITE_PARTNERS":"Đối tác","WEBSITE_SLOGAN_WATCH":"Xem ngay lập tức","WEBSITE_SLOGAN_ALL":"Tất cả Nội dung Video Bạn Thưởng thức ở Một Nơi","WEBSITE_SLOGAN_NEW":"Tất cả những gì bạn có thể xem","WEBSITE_SLOGAN_NEW_NEW":"Tự do truyền trực tuyến","WEBSITE_WATCH_FROM":"Xem từ","WEBSITE_DOWNLOAD":"Tải ngay","WEBSITE_DOWNLOAD_FOR":"Tải xuống ngay cho","WEBSITE_IS_DESKTOP":"Stremio là một ứng dụng dành cho máy tính để bàn, hãy mở trang này trên PC của bạn và tải xuống","WEBSITE_DESKTOP_DEMO_VID":"Bản trình diễn máy tính để bàn","WEBSITE_PAGE_HOME":"Trang chủ","WEBSITE_PAGE_FEATURES":"Đặc trưng","WEBSITE_PAGE_ADDONS":"Các add-on","WEBSITE_PAGE_TECH":"Công nghệ","WEBSITE_PAGE_CREATE_ADDON":"Tạo add-on","WEBSITE_PAGE_CONTACTS":"Liên lạc","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Vui lòng nhập mật khẩu mới mà bạn mong muốn bên dưới.","WEBSITE_RESET_PASSWORD_WARNING":"Bạn có chắc chắn muốn đặt lại mật khẩu cho ${1} không?","WEBSITE_TYPE_movie":"Phim","WEBSITE_TYPE_series_PL":"Loạt phim","WEBSITE_TYPE_tv":"Truyền hình trực tiếp","WEBSITE_TYPE_channel":"Kênh","WEBSITE_STREMIO_WHAT_IS":"Stremio là một ứng dụng giúp bạn sắp xếp và xem ngay các video, phim, phim TV và kênh TV yêu thích của mình.","WEBSITE_FEATURES_WATCH":"Xem tức thì ở chế độ HD","WEBSITE_FEATURES_WATCH_DETAIL":"Nhấp và phát các bộ phim, Chương trình TV, video và kênh TV yêu thích của bạn.","WEBSITE_FEATURES_SUBS":"Phụ đề tự động","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio tự động chọn phụ đề được đồng bộ hóa cho ngôn ngữ của bạn.","WEBSITE_FEATURES_SUBS_LABEL":"Động thái của bạn, trưởng.","WEBSITE_FEATURES_CAST":"Phát trên TV & thiết bị di động","WEBSITE_FEATURES_CAST_DETAIL":"Truyền tới AppleTV, Chromecast, TV thông minh (DLNA/UPnP) và thiết bị di động.","WEBSITE_LIB":"Tận hưởng thư viện cá nhân của bạn được đồng bộ hóa trên tất cả các thiết bị của bạn","WEBSITE_LIB_COLLECT":"Thu thập từ Stremio","WEBSITE_LIB_IMPORT":"Nhập từ facebook","WEBSITE_LIB_LOCAL":"Thêm từ ổ đĩa cục bộ của bạn","WEBSITE_BOARD":"Bảng - Điểm dừng chân của bạn dành cho Thông báo và Đề xuất","WEBSITE_BOARD_RECOMMEND":"Chương trình TV được đề xuất","WEBSITE_BOARD_TRENDING":"Phim thịnh hành","WEBSITE_BOARD_NEW":"Video mới","WEBSITE_BOARD_EPISODE":"Tập mới","WEBSITE_BOARD_1":"Bạn đang tìm nội dung thú vị để xem? Nhận đề xuất dựa trên sở thích của bạn!","WEBSITE_BOARD_2":"Nhận thông báo khi có tập mới của chương trình TV hoặc kênh YouTube yêu thích của bạn!","WEBSITE_BOARD_YOUTUBE":"Video mới của các kênh YouTube","WEBSITE_BOARD_EPISODES":"Các tập mới của loạt phim bạn theo dõi","WEBSITE_ADDONS":"Add-on nội dung","WEBSITE_TECH_DETAIL":"Chúng tôi yêu công nghệ, chúng tôi yêu khoa học điên rồ!\\nStremio đang sử dụng các công nghệ nguồn mở sau:","WEBSITE_TECH_WCJS":"WebChimera.js cho phép Stremio phát mọi định dạng video với hiệu suất tốt.","WEBSITE_TECH_WCJS_EXTRA":"Chúng tôi là những người đóng góp cốt lõi cho dự án","WEBSITE_TECH_ELECTRON":"Electron cung cấp một nền tảng sáng tạo để xây dựng Stremio.","WEBSITE_TECH_ELECTRON_EXTRA":"Chúng tôi là những người đóng góp cho dự án","WEBSITE_TECH_LINVODB":"Công nghệ cơ sở dữ liệu đảm bảo dữ liệu của bạn được sắp xếp và có sẵn ở mọi nơi bạn đăng nhập.","WEBSITE_TECH_LINVODB_EXTRA":"Công nghệ nội bộ","WEBSITE_CREATE_ADDON":"Tạo add-on của bạn","WEBSITE_CREATE_ADDON_DETAIL":"Bạn có dịch vụ cung cấp nội dung video không? Chúng tôi sẽ giúp bạn hưởng lợi từ các tính năng của Stremio bằng cách tạo Add-on của bạn.","WEBSITE_CREATE_ADDON_BENEFITS":"Lợi ích của việc tạo Add-on cho Stremio","WEBSITE_P2P_BEAUTY":"Vẻ đẹp của truyền trực tuyến ngang hàng","WEBSITE_P2P_1":"Video HD đầy đủ / 4K đáng tin cậy và giá cả phải chăng theo yêu cầu hoặc phát trực tiếp","WEBSITE_P2P_2":"Nền tảng phân phối cung cấp trải nghiệm người dùng tuyệt vời","WEBSITE_P2P_3":"Chúng tôi sẽ tạo một add-on đáp ứng nhu cầu chính xác của bạn","WEBSITE_P2P_CONTACT":"Bạn quan tâm? Bạn có thể <a href=\'mailto:office@stremio.com\'>liên hệ với chúng tôi</a>.","WEBSITE_P2P_CONTACT_EXTRA":"Chúng tôi rất sẵn lòng giúp bạn tích hợp nội dung của mình với Stremio!","WEBSITE_P2P":"Thỉnh thoảng, có một công nghệ làm thay đổi tên của trò chơi. Chúng tôi đã đầu tư rất nhiều thời gian và công sức vào việc xây dựng công cụ truyền phát video ngang hàng (P2P) mang lại hiệu suất tuyệt vời và tính linh hoạt để thích ứng với mọi mục đích sử dụng.\\nHãy liên hệ với chúng tôi để có video P2P hỗ trợ DRM theo yêu cầu hoặc phát trực tiếp.","WEBSITE_THOUGHTS":"Những suy nghĩ chúng ta chia sẻ:","WEBSITE_SPREAD":"Quảng bá về Stremio:","WEBSITE_CONTACT":"Liên hệ với chúng tôi, chúng tôi rất vui khi nhận được phản hồi từ bạn!","WEBSITE_OPENSOURCE":"Dành cho các dự án nguồn mở của chúng tôi, đến với chúng tôi","WEBSITE_BITCOIN":"Quyên góp bitcoin:","WEBSITE_FAQ":"Các câu hỏi thường gặp","WEBSITE_FAQ_SHORT":"Hỏi đáp thường gặp","WEBSITE_QUESTIONS":"Câu hỏi","WEBSITE_TOS":"Điều khoản sử dụng","WEBSITE_LEGAL":"Hợp pháp","WEBSITE_PAGE_ABOUT":"Giới thiệu","WEBSITE_PAGE_BECOME_PARTNER":"Trở thành đối tác","WEBSITE_ALL_YOU_CAN_WATCH":"Tự do xem\\nMọi thứ bạn muốn.","WEBSITE_FREEDOM_TO_STREAM":"Tự do truyền trực tuyến","WEBSITE_WHAT_IS_STREMIO":"Stremio là gì?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio là trung tâm một cửa để tổng hợp nội dung video. Khám phá, sắp xếp và xem video từ tất cả các loại nguồn trên bất kỳ thiết bị nào mà bạn sở hữu.","WEBSITE_WHAT_IS_STREMIO_P2":"Phim, chương trình TV, loạt phim, TV trực tiếp hoặc các kênh web như YouTube và Twitch.tv - bạn có thể tìm thấy tất cả những thứ này trên Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio là một trung tâm truyền thông hiện đại, là giải pháp một cửa cho hoạt động giải trí video của bạn. Bạn khám phá, xem và sắp xếp nội dung video từ các add-on dễ cài đặt.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Phim, chương trình TV, TV trực tiếp hoặc kênh web - tìm thấy tất cả nội dung này trên Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Thưởng thức trên tất cả các thiết bị Phương tiện truyền thông của bạn","WEBSITE_DEVICES_COLLECT":"Thu thập từ Stremio","WEBSITE_DEVICES_IMPORT_FB":"Nhập từ facebook","WEBSITE_DEVICES_LOCAL":"Thêm từ ổ đĩa cục bộ","WEBSITE_JOIN_THE_PARTY_NOW":"Nhập tiệc ngay thôi","WEBSITE_DEVICES_ALL":"Dễ sử dụng trên mọi thiết bị của bạn;","WEBSITE_EXTENDABLE_CATALOG":"Danh mục video có thể mở rộng vô hạn;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Các tính năng tuyệt vời để sắp xếp phương tiện của bạn;","WEBSITE_AS_SEEN_ON":"Như được thấy trên","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"Về chúng tôi","WEBSITE_LINK_TECHNOLOGY":"Công nghệ","WEBSITE_LINK_APPS":"Ứng dụng","WEBSITE_LINK_DOWNLOADS":"Tải xuống","WEBSITE_MORE":"Hơn nữa","WEBSITE_LINK_ADDONS":"Add-on","WEBSITE_LINK_ADDON_SDK":"Add-on SDK","WEBSITE_LINK_CONTRIBUTE":"Đóng góp","WEBSITE_LINK_COMMUNITY":"Cộng đồng","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... & Hơn nữa","WEBSITE_LINK_HELP":"Trung tâm trợ giúp","WEBSITE_LINK_CONTACTS":"Yêu cầu kinh doanh","WEBSITE_LINK_TOS":"Điều khoản và điều kiện","WEBSITE_LINK_PRAVACY":"Chính sách bảo mật","WEBSITE_SUBSCRIBE":"Đăng ký","WEBSITE_NEWSLETTER":"Tham gia Bản tin của chúng tôi để có những thứ tuyệt vời","WEBSITE_PLACEHOLDER_EMAIL":"Email của bạn","WEBSITE_COMMUNITY":"Cộng đồng","WEBSITE_LINK_PRAVACY_LEGAL":"Quyền riêng tư & pháp lý","WEBSITE_WHY":"Tại sao chúng tôi làm điều đó","WEBSITE_WHY_P1":"Tại Stremio, chúng tôi đến làm việc mỗi ngày vì chúng tôi muốn giải quyết một vấn đề quan trọng đối với ngành công nghiệp video theo yêu cầu. Có rất nhiều nội dung mới được xuất bản mỗi phút khiến bạn hầu như không thể tìm được đường đi.","WEBSITE_WHY_P2":"Chúng tôi giúp mọi người điều hướng trong thế giới giải trí video rộng lớn đó và khám phá nội dung mới để thưởng thức. Các ứng dụng của chúng tôi tập hợp các bộ phim, loạt phim, truyền hình trực tiếp, kênh web, v.v. Chúng tôi nỗ lực hết mình để giúp người dùng tìm thấy tiêu đề và đài truyền hình một cách cực kỳ dễ dàng mà họ yêu thích.","WEBSITE_WHY_P3":"Bạn có thể sử dụng dịch vụ của chúng tôi trên bất kỳ thiết bị nào và bất kỳ lúc nào, khiến Stremio trở thành trung tâm giải trí video duy nhất mà bạn cần.","WEBSITE_TEAM":"ĐỘI","WEBSITE_TEAM_P":"Nhóm Stremio nhỏ nhưng mạnh mẽ: giữa mười người chúng tôi, chúng tôi viết mã bằng ngôn ngữ X và chia sẻ kiến thức chuyên môn về phát triển phần mềm, thiết kế UI và UX, tiếp thị và quảng cáo cũng như kinh doanh và khởi nghiệp.","WEBSITE_FEATURES":"Đặc trưng","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Khám phá nội dung mới một cách dễ dàng","WEBSITE_FEATURES_DISCOVER_P":"Dễ dàng khám phá các bộ phim, chương trình TV, loạt phim và kênh mới để xem. Duyệt theo danh mục, thể loại, xếp hạng, lần gần đây, v.v. hoặc chỉ cần nhập tên để tìm. Stremio biến việc tìm kiếm nội dung video mới trở nên dễ dàng.","WEBSITE_FEATURES_ALL_CONTENT":"Tất cả nội dung video của bạn trên một màn hình","WEBSITE_FEATURES_ALL_CONTENT_P1":"Xem những bộ phim, loạt phim hoặc video bạn chưa xem hết và tiếp tục xem chúng; nhận thông báo về các tập và bản phát hành mới; đồng thời duyệt qua các đề xuất mà bạn sẽ nhận được dựa trên thói quen xem của mình.","WEBSITE_FEATURES_LIBRARY":"Sắp xếp thư viện video của bạn","WEBSITE_FEATURES_LIBRARY_P1":"Thêm bất kỳ tiêu đề nào vào thư viện Stremio của bạn chỉ bằng một cú nhấp chuột và tìm theo cách của bạn xung quanh nội dung của bạn, được sắp xếp gọn gàng theo loại, lần xuất hiện gần đây hoặc thứ tự bảng chữ cái.","WEBSITE_FEATURES_CALENDAR":"Theo dõi mọi thứ bạn xem","WEBSITE_FEATURES_CALENDAR_P1":"Nhận hình ảnh lịch của tất cả phim và loạt phim bạn thêm vào thư viện của mình. Xuất lịch Stremio của bạn và đồng bộ hóa lịch để bạn luôn biết khi nào có tập mới hoặc buổi chiếu sớm.","WEBSITE_FEATURES_BIG_SCREEN":"Thưởng thức nội dung video của bạn trên màn hình lớn hơn","WEBSITE_FEATURES_BIG_SCREEN_P1":"Truyền nội dung bạn đang xem sang thiết bị khác - có thể là điện thoại, máy tính bảng hoặc TV chỉ bằng một cú nhấp chuột.","WEBSITE_FEATURES_SOURCES":"Xem video từ nhiều nguồn khác nhau","WEBSITE_FEATURES_SOURCES_P":"Cài đặt các add-on chính thức và cộng đồng để thưởng thức video có nguồn gốc từ nhiều nhà cung cấp khác nhau - tất cả trong một ứng dụng đẹp mắt, dễ sử dụng.","WEBSITE_CREATE_AN_ADDON":"Tạo một add-on","WEBSITE_FEATURES_SYNC":"Đồng bộ hóa thư viện của bạn trên các thiết bị khác nhau và tiếp tục phát lại","WEBSITE_FEATURES_SYNC_P1":"Đăng nhập bằng tài khoản của bạn trên tất cả các thiết bị và tận hưởng thư viện, add-on, phát lại và lịch được đồng bộ hóa.","WEBSITE_FEATURES_EXTENDABLE":"Danh mục video có thể mở rộng bằng add-on","WEBSITE_FEATURES_EXTENDABLE_P1":"Danh mục add-on Stremio cung cấp một số add-on để cài đặt và xem nhiều loại nội dung video từ đó. Nội dung này bao gồm phim, chương trình, truyền hình trực tiếp, thể thao, tin tức, podcast, kênh web, trò chơi điện tử, v.v.","WEBSITE_FEATURES_AUTO_SUBS":"Phụ đề tự động","WEBSITE_FEATURES_AUTO_SUBS_P1":"Với add-on phụ đề của chúng tôi, bạn sẽ có các tùy chọn được chọn tự động cho ngôn ngữ ưa thích của mình.","WEBSITE_FEATURES_CHROMECAST":"Truyền tới Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Thưởng thức nội dung video của bạn trên màn hình lớn hơn hoặc chỉ truyền nội dung bạn đang xem sang thiết bị khác.","WEBSITE_FEATURES_KEEP_TRACK":"Theo dõi các chương trình TV và kênh Web yêu thích của bạn","WEBSITE_FEATURES_KEEP_TRACK_P1":"Nhận hình ảnh lịch và thông báo về các tập mới của loạt phim và kênh web yêu thích của bạn.","WEBSITE_FEATURES_POWER_USER":"Tính năng người dùng cao cấp","WEBSITE_FEATURES_POWER_USER_P1":"Phát trong trình phát bên ngoài","WEBSITE_FEATURES_POWER_USER_P2":"Phát từ tệp torrent hoặc liên kết nam châm","WEBSITE_FEATURES_POWER_USER_P3":"Nhập vào thư viện của bạn từ lượt thích trên Facebook hoặc đĩa cục bộ","WEBSITE_ADD_ONS":"Add-on","WEBSITE_ADD_ONS_P1":"Tất cả nội dung video mà Stremio cung cấp đều có nguồn thông qua hệ thống add-on - không có nội dung hoặc nhà cung cấp nội dung nào được tích hợp vào ứng dụng.","WEBSITE_ADD_ONS_P2":"Có hai nhóm add-on: add-on chính thức và add-on cộng đồng.","WEBSITE_ADD_ONS_P3":"Các add-on chính thức được phát triển và lưu trữ bởi Stremio, trong khi các add-on cộng đồng được tạo bởi các thành viên cộng đồng của chúng tôi, những người cũng lưu trữ chúng.","WEBSITE_ADDONS_OFFICIAL":"Add-on chính thức","WEBSITE_ADDONS_WATCHUB":"Truyền trực tuyến các bộ phim, loạt phim và chương trình yêu thích của bạn từ các nhà cung cấp như iTunes, Hulu, Amazon và các dịch vụ khác của Vương quốc Anh/Hoa Kỳ.","WEBSITE_ADDONS_YOUTUBE":"Xem các kênh YouTube yêu thích của bạn không có quảng cáo và nhận thông báo về video mới tải lên từ những người đóng góp mà bạn theo dõi.","WEBSITE_ADDONS_FILMON":"Xem truyền hình trực tiếp, phim và truyền hình xã hội miễn phí. 600 kênh truyền hình, 45.000 phim, phim tài liệu miễn phí và hơn thế nữa.","WEBSITE_ADDONS_OPENSUBTITLES":"Phụ đề phim và chương trình TV bằng nhiều ngôn ngữ, hàng nghìn phụ đề đã dịch được tải lên mỗi ngày.","WEBSITE_ADDONS_COMMUNITY":"Add-on cộng đồng","WEBSITE_ADDONS_FILMON_VOD":"Xem video theo yêu cầu từ Filmon.tv","WEBSITE_ADDONS_TWICH":"Xem các luồng trực tiếp từ Twitch.tv - một nền tảng truyền trực tuyến video cho ngành thể thao điện tử.","WEBSITE_ADDONS_VODO":"Xem phim độc lập hoàn toàn miễn phí.","WEBSITE_ADDONS_NETFLIX":"Xem phim và loạt phim web của Netflix.","WEBSITE_ADDONS_CREATE":"Tạo một add-on","WEBSITE_ADDONS_CREATE_P1":"Nếu muốn, bạn có thể phát triển add-on của riêng mình. Bằng cách này, bạn có thể cấp cho mình và cộng đồng của chúng tôi quyền truy cập vào nội dung video mới, đồng thời tiếp cận đối tượng mới, được nhắm mục tiêu gồm hàng triệu người dùng trên khắp thế giới.","WEBSITE_ADDONS_START_CREATE":"Để bắt đầu, hãy truy cập trang Stremio Add-on SDK:","WEBSITE_DOWNLOADS":"Tải xuống","WEBSITE_DOWNLOADS_P1":"Để có hiệu suất tối ưu, chúng tôi khuyên bạn nên sử dụng phiên bản mới nhất hiện có của ứng dụng Stremio. Tuy nhiên, nếu vì lý do nào đó, bạn muốn sử dụng phiên bản cũ hơn, bạn có thể tải xuống phiên bản này tại đây.","WEBSITE_DOWNLOADS_P1_SHORT":"Để có hiệu suất tối ưu, chúng tôi khuyên bạn nên sử dụng phiên bản mới nhất hiện có của ứng dụng Stremio.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio cho Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio cho macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio cho Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio cho Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio cho Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio dành cho thiết bị di động Android","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio cho Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio cho iOS (phiên bản giới hạn)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio cho Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio cho LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio cho Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio cho Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio cho Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio cho trình duyệt","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Tìm kiếm Stremio trong App Store của các mẫu TV Samsung 2019+","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Tìm kiếm Stremio trong App Store của các mẫu TV LG 2020+","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Tìm kiếm Stremio trong App Store trên thiết bị Xbox của bạn","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Tải xuống dịch vụ Stremio","WEBSITE_DOWNLOAD_SERVICE_P1":"Dịch vụ Stremio là một ứng dụng đồng hành cho Stremio Web. Chúng tôi khuyên bạn nên sử dụng phiên bản mới nhất hiện có của Dịch vụ Stremio.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Dịch vụ Stremio cho Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Dịch vụ Stremio cho macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Dịch vụ Stremio cho Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Dịch vụ Stremio cho Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"Nhiều tùy chọn tải xuống hơn","WEBSITE_DOWNLOAD_NEW":"Mới!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"Chúng tôi đã phát hành Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"Chúng tôi đã phát hành Stremio cho TV Samsung","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"Chúng tôi đã phát hành Stremio cho TV LG","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"Chúng tôi đã phát hành Stremio cho Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"Chúng tôi đã phát hành Stremio cho Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"Nền tảng Stremio là nguồn mở và bạn có thể dễ dàng tạo add-on cho nội dung hiện chưa có nguồn.","WEBSITE_CONTRIBUTE_WHY":"Tại sao bạn nên tạo một add-on?","WEBSITE_CONTRIBUTE_WHY_P1":"Tiếp cận khán giả mới cho nội dung video của bạn","WEBSITE_CONTRIBUTE_WHY_P2":"Cơ sở người dùng của Stremio đang tăng lên nhanh chóng - trong năm đầu tiên kể từ khi ra mắt, Stremio đã có được 1 triệu người dùng trên toàn thế giới và trong năm thứ hai nền tảng tồn tại, con số này đã tăng lên 2 triệu rưỡi.","WEBSITE_CONTRIBUTE_WHY_P3":"Với add-on của mình, bạn có thể dễ dàng tiếp cận đối tượng này và phân phối nội dung video của mình tới họ.","WEBSITE_CONTRIBUTE_ALL":"Xem phim, video, loạt phim và kênh yêu thích của bạn ở một nơi duy nhất.","WEBSITE_CONTRIBUTE_ALL_P1":"Bạn là người yêu thích một loại nội dung cụ thể chưa có trên Stremio? Hãy tạo một add-on cho nội dung đó và thưởng thức các video yêu thích của bạn tại một trong những trung tâm giải trí lớn nhất và dễ sử dụng nhất trên thị trường.","WEBSITE_CONTRIBUTE_ALL_P2":"Trên hết, bạn sẽ nhận được lòng biết ơn vô tận của các thành viên cộng đồng Stremio có cùng chí hướng.","WEBSITE_CONTRIBUTE_MONETIZE":"Kiếm tiền từ add-on của bạn và kiếm tiền với sự trợ giúp của nó","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Sau khi bạn phát triển một add-on mới cho Stremio, bạn có thể dễ dàng kiếm tiền từ nó thông qua một số cách khác nhau. Nếu bạn đang cân nhắc điều này, vui lòng liên hệ với chúng tôi tại ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - chúng tôi rất sẵn lòng tư vấn và tư vấn cho bạn về các tùy chọn kiếm tiền từ add-on.","WEBSITE_CONTRIBUTE_TRANSLATE":"Trở thành một dịch giả tình nguyện","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Nếu bạn muốn thưởng thức các ứng dụng Stremio bằng các ngôn ngữ khác nhau, bạn có thể tham gia cộng đồng dịch giả tình nguyện của chúng tôi. Họ giúp chúng tôi thêm các phiên bản Stremio bằng nhiều ngôn ngữ khác nhau.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Bạn có muốn bắt đầu không?","WEBSITE_TRANSALTE_STREMIO":"Dịch Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Cộng đồng chính thức","WEBSITE_COMMUNITY_OFFICIALS_P1":"Trở thành một phần của cộng đồng Stremio đang phát triển. Theo dõi chúng tôi trên mạng xã hội và đừng ngại nói xin chào - chúng tôi rất thích nghe ý kiến từ người hâm mộ của mình!","WEBSITE_COMMUNITY_UNOFFICIALS":"Cộng đồng không chính thức","STREMIO_COMMUNITY_NL":"Stremio Hà Lan","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Đức","STREMIO_COMMUNITY_BELGIUM":"Stremio Bỉ","STREMIO_COMMUNITY_FRANCE":"Stremio Pháp","STREMIO_COMMUNITY_PORTUGAL":"Stremio Bồ Đào Nha","STREMIO_COMMUNITY_ITALY":"Stremio Ý","STREMIO_COMMUNITY_UK":"Stremio Vương quốc Anh","STREMIO_COMMUNITY_USA":"Stremio Hoa Kỳ","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Add-on Stremio","STREMIO_COMMUNITY_AWESOME":"Stremio tuyệt vời","WEBSITE_COMMUNITY_PARTNERS":"Đối tác và người ủng hộ","WEBSITE_COMMUNITY_GOODIES":"Món ngon Stremio","WEBSITE_COMMUNITY_WALLPAPERS":"Hình nền","WEBSITE_COMMUNITY_ART":"Phòng trưng bày Nghệ thuật Cộng đồng","WEBSITE_LINK_ART":"Phòng trưng bày nghệ thuật cộng đồng","WEBSITE_CONTACT_US":"Liên hệ chúng tôi","WEBSITE_CONTACT_US_P1":"Nếu bạn có bất kỳ câu hỏi, nhận xét hoặc đề xuất nào, vui lòng liên hệ với chúng tôi qua biểu mẫu liên hệ bên dưới.","WEBSITE_CONTACT_US_P2":"Hãy nhớ rằng chúng tôi đang ở Bulgari nên có thể có sự chậm trễ trong việc giải quyết truy vấn của bạn do chênh lệch múi giờ.","WEBSITE_CONTACT_US_SUCCESS":"Tin nhắn của bạn đã được gửi. Chúng tôi sẽ liên hệ lại với bạn trong thời gian sớm nhất.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Vui lòng nhập email hợp lệ!","WEBSITE_CONTACT_US_Q_RELATED_TO":"Câu hỏi của bạn liên quan đến điều gì?","WEBSITE_CONTACT_US_Q_OS":"Hệ điều hành của bạn là gì?","WEBSITE_CONTACT_US_PH_EMAIL":"Email của bạn","WEBSITE_CONTACT_US_PH_MESSAGE":"Tin nhắn","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"GỬI","WEBSITE_CONTACT_US_Q_1":"Cài đặt như thế nào?","WEBSITE_CONTACT_US_Q_2":"Gỡ cài đặt như thế nào?","WEBSITE_CONTACT_US_Q_3":"(HTML) Cách làm Lasagna?","WEBSITE_CONTACT_US_Q_4":"Add-on","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Công nghệ","WEBSITE_TECHNOLOGY_P1":"Chúng tôi yêu công nghệ và khoa học điên rồ. </br>Đây là sức mạnh của Stremio (tất cả đều là mã nguồn mở).","WEBSITE_TECHNOLOGY_P_QT":"Phát triển phần mềm đa nền tảng ở mức tốt nhất.","WEBSITE_TECHNOLOGY_P_MPV":"Trình phát phương tiện đa nền tảng, mã nguồn mở và miễn phí.","WEBSITE_TECHNOLOGY_P_RN":"React Native cho phép bạn tạo ứng dụng dành cho thiết bị di động chỉ dùng JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Khung phương tiện được nhúng vào ứng dụng để tải đa phương tiện.","WEBSITE_TECHNOLOGY_P_REALM":"Realm là một nền tảng di động và là sự thay thế cho SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js là một môi trường thực thi JavaScript mã nguồn mở, đa nền tảng.","WEBSITE_TECHNOLOGY_P_RUST":"Rust là ngôn ngữ lập trình hệ thống đa mô hình tập trung vào tính an toàn, đặc biệt là tính đồng thời an toàn.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Đóng góp cho dự án","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Có hai cách để bạn có thể đóng góp cho Stremio và giúp chúng tôi làm cho sản phẩm trở nên tốt hơn nữa.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Bạn có thể đóng góp các kỹ năng ngôn ngữ có giá trị của mình bằng cách dịch nền tảng...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"hoặc","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... bạn có thể sử dụng các kỹ năng viết mã của mình để tạo các add-on cho cộng đồng.","WEBSITE_TRANSLATE_STREMIO":"Dịch Stremio","WEBSITE_404_OH_NO":"Uh-oh! Trang bạn đang tìm không có ở đây...","WEBSITE_GO_HOME":"Về nhà","WEBSITE_LINK_OTHER_DOWNLOADS":"Tải xuống khác","WEBSITE_FAQ_ABR":"Hỏi đáp thường gặp","WEBSITE_SUPPORT":"Ủng hộ","WEBSITE_DOWNLOAD_4_0_BETA":"Tải xuống Stremio 4 beta ngay","WEBSITE_GET_FOR_DESKTOP":"Tải cho máy tính để bàn","WEBSITE_LINK_ADDON_COMPETITION":"Cuộc thi add-on","WEBSITE_LINK_ART_CONTEST":"Cuộc thi nghệ thuật","WEBSITE_MY_ACCOUNT":"Tài khoản của tôi","WEBSITE_MAINPAGE_FAQ_001_H1":"Stremio là gì?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio là một trung tâm truyền thông hiện đại cho phép bạn tự do xem mọi thứ mình muốn.","WEBSITE_MAINPAGE_FAQ_002_H1":"Làm thế nào nó hoạt động?","WEBSITE_MAINPAGE_FAQ_002_P1":"Sau khi bạn cài đặt Stremio trên thiết bị của mình và tạo một tài khoản, tất cả những gì bạn phải làm là truy cập vào danh mục add-on và cài đặt bất kỳ add-on nào bạn muốn, thế là xong!","WEBSITE_MAINPAGE_FAQ_002_P2":"Sau đó, bạn có thể chuyển đến phần Khám phá hoặc Bảng để bắt đầu khám phá nội dung.","WEBSITE_MAINPAGE_FAQ_003_H1":"Tôi có thể xem gì ở đây?","WEBSITE_MAINPAGE_FAQ_003_P1":"Rất nhiều: Phim, chương trình TV, kênh Web, Thể thao, kênh TV, nghe Podcast, v.v. Nhờ hệ thống add-on của chúng tôi, bạn có thể truy cập nhiều nội dung khác nhau.","WEBSITE_MAINPAGE_FAQ_004_H1":"Stremio có phải là mã nguồn mở không?","WEBSITE_MAINPAGE_FAQ_004_P1":"Có, bạn có thể kiểm tra các liên kết sau: ${1}desktop app${2} và ${3}GitHub organization${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Stremio có an toàn không?","WEBSITE_MAINPAGE_FAQ_005_P1":"Có: vì đây là phần mềm mã nguồn mở nên mã này có thể được kiểm tra công khai và bạn có thể tự mình xem lại.","WEBSITE_MAINPAGE_FAQ_005_P2":"Hệ thống tiện ích bổ sung của Stremio cũng được tạo ra với mục đích bảo mật cho người dùng. Các tiện ích bổ sung không chạy bất kỳ mã cục bộ nào nên chúng không gây rủi ro cho thiết bị của bạn.","WEBSITE_MAINPAGE_FAQ_006_H1":"Còn quyền riêng tư của tôi thì sao?","WEBSITE_MAINPAGE_FAQ_006_P1":"Chúng tôi tôn trọng quyền riêng tư của người dùng và không thu thập bất kỳ dữ liệu cá nhân nào ngoài dữ liệu tối thiểu cần thiết để tạo và đồng bộ hóa tài khoản của bạn.","WEBSITE_MAINPAGE_FAQ_006_P2":"Ngoài ra còn có một ${1}Chế độ khách${2} khi đăng ký, chế độ này không yêu cầu bất kỳ dữ liệu nào: trong chế độ này, không có cuộc gọi nào được thực hiện tới chương trình phụ trợ của chúng tôi. Tuy nhiên, nó phải trả giá bằng các tính năng hữu ích, chẳng hạn như có thể đồng bộ hóa thư viện của bạn trên các thiết bị.","WEBSITE_MAINPAGE_FAQ_007_H1":"Tôi có thể truyền tới TV của mình không?","WEBSITE_MAINPAGE_FAQ_007_P1":"Có, chúng tôi hỗ trợ Chromecast và bạn có thể truyền cả từ máy tính để bàn và ứng dụng dành cho thiết bị di động (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"Stremio có bao nhiêu add-on?","WEBSITE_MAINPAGE_FAQ_008_P1":"Tính đến cuối năm 2019, hơn 50 - để biết thêm thông tin, hãy xem danh mục add-on của chúng tôi.","WEBSITE_MAINPAGE_FAQ_009_H1":"Có thể mở rộng Stremio ngoài danh mục add-on không?","WEBSITE_MAINPAGE_FAQ_009_P1":"Có, bạn nên kiểm tra những thứ sau: ${1}PimpMyStremio${2}, ${3}Cộng đồng Reddit${4}, ${5}Trình tải xuống Stremio${6}, v.v.","WEBSITE_MAINPAGE_FAQ_010_H1":"Stremio hỗ trợ những thiết bị nào?","WEBSITE_MAINPAGE_FAQ_010_P1":"Chúng tôi có các ứng dụng dành cho máy tính để bàn dành cho Windows, Mac và Linux. Đối với thiết bị di động, chúng tôi hỗ trợ Android và iOS, mặc dù hãy nhớ rằng iOS bị hạn chế về chức năng (không hỗ trợ hầu hết các add-on).","WEBSITE_MAINPAGE_FAQ_010_P2":"Có nhiều thiết bị dựa trên Android mà bạn có thể chạy Stremio trên đó, chẳng hạn như NVIDIA Shield và Amazon Fire Stick, nhưng chúng tôi không hỗ trợ chúng một cách chính thức.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"Chúng tôi có các ứng dụng dành cho máy tính để bàn dành cho Windows, Mac và Linux. Chúng tôi cũng có các ứng dụng dành riêng cho Điện thoại Android và Tivi Android. Đối với iOS và iPadOS, chúng tôi khuyên bạn nên sử dụng Stremio Web, mặc dù bị hạn chế hơn về chức năng.","WEBSITE_MAINPAGE_FAQ_011_H1":"Bạn có thể thêm một số nội dung nhất định vào Stremio không?","WEBSITE_MAINPAGE_FAQ_011_P1":"Xin lỗi, bản thân chúng tôi không cung cấp nội dung, nhưng bạn càng cài đặt nhiều add-on Stremio, bạn càng có thể tìm thấy nhiều nội dung hơn.","WEBSITE_MAINPAGE_FAQ_012_H1":"Stremio có thể chơi liên kết nam châm không?","WEBSITE_MAINPAGE_FAQ_012_P1":"Có, và nó cũng có thể phát các liên kết HTTP và tệp torrent thông thường (kéo và thả).","WEBSITE_MAINPAGE_FAQ_013_H1":"Tôi có thể tải video xuống và xem ngoại tuyến không?","WEBSITE_MAINPAGE_FAQ_013_P1":"Khả dụng ngoại tuyến là một tính năng sắp ra mắt, nhưng nếu bạn cho phép Stremio lưu vào bộ nhớ cache trên thiết bị của mình (từ bảng thiết đặt), thì bạn có thể xem video sau mà không cần kết nối.","WEBSITE_MAINPAGE_FAQ_014_H1":"Không có tác dụng gì, giúp tôi với!","WEBSITE_MAINPAGE_FAQ_014_P1":"Bạn có chắc là mình đã cài đặt add-on không? Nếu có, hãy kiểm tra với ${1}trung tâm trợ giúp${2} của chúng tôi.","WEBSITE_MAINPAGE_FAQ_015_H1":"Làm thế nào để Stremio duy trì hoạt động phát triển của nó?","WEBSITE_MAINPAGE_FAQ_015_P1":"Chúng tôi thỉnh thoảng chạy quảng cáo không xâm lấn, nhưng chúng tôi đang cân nhắc chuyển sang mô hình quyên góp.","WEBSITE_MAINPAGE_FAQ_015_P2":"Để biết thêm câu hỏi, hãy truy cập ${1}trung tâm trợ giúp${2} của chúng tôi.","HELP_LEARN_MORE":"Giúp chúng tôi tìm hiểu thêm về bạn.","LIFESTYLE":"Phong cách sống","SPORTS":"Thể thao","FOOD_HEALTH":"Thực phẩm & sức khỏe","BEAUTY_FASHION":"Làm đẹp & Thời trang","NEWS":"Tin tức","GAMING":"Trò chơi","SCIENCE_EDUCATION":"Khoa học & giáo dục","MUSIC":"Âm nhạc","TRAVEL":"Du lịch","LATE_NIGHT":"Đêm khuya","REALITY":"Thực tế","COMEDY":"Hài kịch","DIY":"Cách tự làm","TECH":"Công nghệ","CINEMA":"Rạp chiếu phim","CONTINUE":"Tiếp tục","SLOW_LOADING":"TẢI CHẬM?","I_GIVE_UP":"TÔI TỪ BỎ","LEARN_MORE":"Tìm hiểu thêm","POOR_SOURCE":"Nguồn này kém khả dụng hoặc kết nối internet của bạn không đủ nhanh","PICK_CATEGORIES_ERR":"Bạn phải chọn ít nhất 3 danh mục","ADJUST_TIMING":"Điều chỉnh thời gian với ","ADJUST_SIZE":"Điều chỉnh kích thước với ","SEARCH_ANYTHING":"Bạn có thể tìm kiếm mọi thứ...","ALL_CATEGORIES":"Tất cả","SEARCH_CATEGORIES":"Phim, Loạt phim, YouTube và TV","SEARCH_PERSONS":"Diễn viên, Đạo diễn & Biên kịch","SEARCH_PROTOCOLS":"HTTP & Liên kết nam châm","SEARCH_TYPES":"Liên kết IMDB / TVDB","WATCHED":"Đã xem","SHOW_LESS":"Hiện ít hơn","LAST_SEARCHES":"Tìm kiếm cuối cùng","CLEAR_HISTORY":"Xóa lịch sử","CHOOSE_SOME":"CHỌN MỘT SỐ ĐIỀU NÀY:","NO_WEB_REMOTE":"Công cụ Web từ xa không tải được","STREMIO_OFFLINE":"Stremio đang ngoại tuyến","STREMIO_EXPENSIVE_CONNECTION":"Chúng tôi đã phát hiện ra rằng bạn đang sử dụng kết nối dữ liệu di động, bạn có muốn tiếp tục không?","USE_DATA":"Sử dụng dữ liệu","WARNING":"Cảnh báo","MORE_INFO":"Thêm thông tin ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Đang tải ...","STREMIO_TV_BACK_TO_LANGUAGES":"Quay lại ngôn ngữ","STREMIO_TV_REMOTE":"Từ xa","STREMIO_TV_GO_TO":"Đi đến:","STREMIO_TV_OR_SCAN":"hoặc quét:","STREMIO_TV_ADDON_INSTRUCTIONS":"Vui lòng làm theo hướng dẫn để cài đặt các add-on ưa thích của bạn.","STREMIO_TV_LIVE_TV":"Truyền hình trực tiếp","STREMIO_TV_RESUME_WATCHING":"Tiếp tục Xem","STREMIO_TV_LOADING_BACKGROUND":"Đang tải trong nền","STREMIO_TV_CHECKING_AUTHENTICATION":"Kiểm tra xác thực","STREMIO_TV_LOADING_BOARD":"Đang tải Bảng","STREMIO_TV_LOGIN_HEADER_LINE_1":"Chúng tôi muốn người dùng có trải nghiệm được cá nhân hóa tốt nhất có thể với phần mềm của chúng tôi.","STREMIO_TV_LOGIN_HEADER_LINE_2":"Vì lý do này mà chúng tôi đề nghị bạn tạo và/hoặc đăng nhập vào tài khoản của mình.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Cảm ơn bạn đã hiểu,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Nhóm Stremio","STREMIO_TV_REMOTE_INSTRUCTIONS":"Để sử dụng Web Từ xa với Điện thoại thông minh / Máy tính bảng / Máy tính để bàn của bạn:","STREMIO_TV_WIFI_SETUP":"Thiết lập Wi-Fi","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle không phát hiện thấy kết nối internet.","STREMIO_TV_WIFI_DETAILS_1":"Kết nối với:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Sử dụng mật khẩu:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Mở trình duyệt web bằng liên kết:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Mặc định","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"Theo lần xem cuối cùng","STREMIO_TV_LIBRARY_SORT_NAME":"Theo tên","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"Theo tên giảm dần","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"Theo số lần đã xem","STREMIO_TV_LIBRARY_SORT_WATCHED":"Theo Đã xem","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"Theo Chưa xem","STREMIO_TV_DETAILS_SEASON_NUMBER":"Mùa ${1}","STREMIO_TV_STREAMS_LOADING":"Đã tải ${1} / ${2} add-on...","STREMIO_TV_STREAMS_STILL_LOADING":"add-on ${1} vẫn đang tải...","STREMIO_TV_PLAYER_SETTINGS":"Thiết đặt trình phát","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Độ trễ phụ đề","STREMIO_TV_PLAYER_AUDIO_DELAY":"Độ trễ âm thanh","STREMIO_TV_PLAYER_VIDEO_SCALING":"Thu phóng video","STREMIO_TV_PLAYER_CHAPTERS":"Chương","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Bỏ qua ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Nguồn luồng không được hỗ trợ","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Mở liên kết ngoài không thành công","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Không thể điều chỉnh ở chế độ truyền âm thanh","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Phát bằng ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Phát bằng trình phát libVLC","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Chuyển sang trình phát libVLC do lỗi phát lại","STREMIO_TV_ADDONS_TITLE":"Sử dụng Stremio trên Điện thoại hoặc PC của bạn để cài đặt hoặc định cấu hình add-on và nhấn \\"Đồng bộ hóa Add-on\\"","STREMIO_TV_ADDONS_SUBTITLE":"Lưu ý: đảm bảo rằng bạn đang sử dụng cùng một tài khoản Stremio","STREMIO_TV_ADDONS_SYNC_ADDONS":"Đồng bộ hóa Add-on","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Add-on được đồng bộ hóa thành công","STREMIO_TV_ADDONS_SYNC_FAILED":"Không thể đồng bộ hóa add-on","STREMIO_TV_META_LINK_FAILED":"Mở siêu liên kết không thành công","STREMIO_TV_CATALOG_LOADING":"Danh mục vẫn đang tải...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Ngôn ngữ giao diện được cập nhật","STREMIO_TV_SETTINGS_THEME_UPDATED":"Đã cập nhật chủ đề","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Trình phát mặc định","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Trình phát bên ngoài","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Ngôn ngữ ưa thích","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Ngôn ngữ ưa thích thứ hai","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Phát lại trong đường hầm","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Có thể xảy ra sự cố phát lại trên một số thiết bị","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Một số định dạng video có thể không hoạt động","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Khớp tốc độ khung hình","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Đã tắt","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Chỉ tốc độ khung hình","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Tốc độ khung hình và độ phân giải","STREMIO_TV_SETTINGS_NO_CACHING":"Không có bộ nhớ đệm","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Mặc định","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Vừa","STREMIO_TV_SETTINGS_PROFILE_FAST":"Nhanh","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Siêu nhanh","STREMIO_TV_SETTINGS_SERVER_URL":"Url máy chủ truyền trực tuyến","STREMIO_TV_SETTINGS_SERVER_VERSION":"Phiên bản máy chủ","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Không xác định","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Phiên bản Stremio","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Chỉnh sửa url máy chủ","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Nhập url máy chủ truyền trực tuyến","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Hiển thị số liệu thống kê trong khi tải","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"Để đọc Chính sách quyền riêng tư của Stremio, hãy truy cập:","STREMIO_TV_SETTINGS_TOS_TEXT":"Để đọc Điều khoản và điều kiện của Stremio, hãy truy cập:","STREMIO_TV_NAV_SEARCH":"Tìm kiếm","STREMIO_TV_NAV_HOME":"Trang chủ","STREMIO_TV_NAV_DISCOVER":"Khám phá","STREMIO_TV_NAV_LIBRARY":"Thư viện","STREMIO_TV_NAV_MOVIES":"Phim","STREMIO_TV_NAV_SERIES":"Loạt phim","STREMIO_TV_NAV_CHANNELS":"Kênh truyền hình","STREMIO_TV_NAV_TV":"Truyền hình trực tiếp","STREMIO_TV_NAV_SETTINGS":"Thiết đặt","STREMIO_TV_NAV_ADDONS":"Add-on","STREMIO_TV_LOGIN_TITLE":"Liên kết tài khoản","STREMIO_TV_LOGIN_EXPIRES_IN":"Hết hạn sau","STREMIO_TV_LOGIN_STEP_ONE":"Quét mã QR ở trên hoặc truy cập","STREMIO_TV_LOGIN_STEP_TWO":"Đăng nhập vào tài khoản Stremio của bạn","STREMIO_TV_LOGIN_NEW_LINK":"Yêu cầu liên kết mới","STREMIO_TV_LOGIN_LINK_REFRESHED":"Mã đăng nhập được làm mới","STREMIO_TV_SEARCH_PLACEHOLDER":"Nhập gì đó","STREMIO_TV_SEARCH_NO_ADDONS":"Không có add-on nào được yêu cầu cho danh mục!","STREMIO_TV_SEARCH_BUTTON":"Tìm kiếm","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Lịch sử tìm kiếm","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Bạn có thể tìm kiếm Tiêu đề, Diễn viên, Kênh và hơn thế nữa...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Xóa lịch sử tìm kiếm","STREMIO_TV_FILTERS_DESCRIPTION":"Chọn từ một trong các bộ lọc bên dưới","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Máy chủ phát trực tuyến đang ngoại tuyến. Kiểm tra thiết đặt máy chủ.","FILTERS":"Bộ lọc","SETTINGS":"Thiết đặt","ACCOUNT":"Tài khoản","LOGOUT":"Đăng xuất","THEMES":"Chủ đề","PLAYBACK":"Phát lại","PLAYBACK_SPEED":"Tốc độ phát lại","AUDIO_TRACKS":"Luồng âm thanh","UNKNOWN_TRACK_LANG":"không rõ","VIDEOS":"Video","SERVER":"Máy chủ","LINKS":"Liên kết","ABOUT":"Giới thiệu","INTERFACE":"Giao diện","ANIMATIONS":"Hoạt hình","STATUS":"Trạng thái","LANGUAGE":"Ngôn ngữ","SIZE":"Kích cỡ","DELAY":"Độ trễ","BOLD":"In đậm","OPACITY":"Độ mờ","TEXT_COLOR":"Màu văn bản","OUTLINE_COLOR":"Màu đường viền","BACKGROUND_COLOR":"Màu nền","BACKGROUND_BLUR":"Làm mờ nền","SEEK_TIME_DURATION":"Thời lượng tua","AUTO_PLAY":"Tự động phát tập tiếp theo","PLAY_NOW":"Phát ngay","MARK_AS_WATCHED":"Đánh dấu là đã xem","MARK_AS_UNWATCHED":"Đánh dấu là Chưa xem","REWIND_TO_BEGINNING":"Tua lại từ đầu","CONTINUE_WATCHING":"Tiếp tục xem","ALL":"Tất cả","SECONDS":"giây","ON":"MỞ","OFF":"TẮT","RELOAD":"Tải lại","EDIT_URL":"Chỉnh sửa URL","NONE":"Không","EMBEDDED":"Đã nhúng","REMOTE_SWITCH_DEVICES":"Chuyển đổi thiết bị","REMOTE_VIDEOS":"Video","REMOTE_ADJUST_TIMING":"Điều chỉnh thời gian","REMOTE_ADJUST_SIZE":"Điều chỉnh kích thước","REMOTE_COULD_NOT_BE_LOADED":"Công cụ Web từ xa không tải được","REMOTE_RETRY":"Thử lại","TORRENT_PROFILE_DEFAULT":"Mặc định","TORRENT_PROFILE_SOFT":"Vừa","TORRENT_PROFILE_FAST":"Nhanh","TORRENT_PROFILE_ULTRA_FAST":"Siêu nhanh","FAQ_001_H1":"Stremio là gì?","FAQ_001_P1":"Stremio là phần mềm trung tâm truyền thông được thiết kế để giải trí video dễ sử dụng. Stremio cho phép bạn sắp xếp & xem bộ sưu tập phim, loạt phim, kênh và chương trình truyền hình trực tiếp của riêng mình.","FAQ_001_P2":"Stremio thu thập nội dung mà nó hiển thị cho bạn từ đĩa cục bộ của bạn và hệ thống add-on của chúng tôi.","FAQ_001_P3":"Nó cũng sẽ thông báo cho bạn khi các tập/video/phim mới mà bạn quan tâm ra mắt và cung cấp các đề xuất phim cho bạn.","FAQ_02_H1":"So sánh Stremio với Kodi và Plex như thế nào?","FAQ_02_P1":"Chúng tôi lấy cảm hứng từ hai phần mềm đó. Nhưng chúng tôi có các mục tiêu khác nhau - Stremio được nhắm mục tiêu cụ thể đến video giải trí và cố gắng trở thành giải pháp chính cho điều đó bằng cách rất dễ sử dụng.","FAQ_02_P2":"Stremio sẽ không bao giờ có thể tùy chỉnh và giàu tính năng như Kodi và Plex, nhưng nó dễ sử dụng hơn đáng kể. Chỉ cần ${1} lấy nó và thấy ${2}:)","FAQ_03_H1":"So sánh Stremio với Netflix như thế nào?","FAQ_03_P1":"Một lần nữa, Netflix là một trong những nguồn cảm hứng của chúng tôi. Chúng tôi cố gắng đạt được trải nghiệm người dùng của Netflix, cùng với nhiều tính năng bổ sung. Nhưng quan trọng nhất, chúng tôi cho phép bạn tự do quản lý thư viện của riêng mình và thêm các nguồn nội dung mới bằng hệ thống add-on.","FAQ_03_P2":"Điều đó làm cho Stremio có thể mở rộng vô tận, vì vậy khi sử dụng Stremio, bạn không bao giờ bị giới hạn ở nội dung mà Netflix quyết định cấp phép. Ví dụ: thông qua Stremio, bạn có thể xem nội dung từ ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} và thậm chí ${9} chính Netflix${10}!","FAQ_04_H1":"So sánh Stremio với Flipboard như thế nào?","FAQ_04_P1":"Chúng tôi không thường xuyên nhận được câu hỏi đó, trừ khi nói chuyện với những người khởi nghiệp :)","FAQ_04_P2":"Theo thiết kế, Stremio là một công cụ tổng hợp nội dung, về cơ bản biến nó thành Flipboard cho video. Điều này thể hiện rất rõ ràng trong phần Bảng của chúng tôi. Phần này cung cấp cho bạn danh mục và tập mới/thông báo video mới cho nội dung bạn theo dõi, giống như Flipboard.","FAQ_05_H1":"So sánh Stremio với Popcorn Time như thế nào?","FAQ_05_P1":"Stremio và Popcorn Time giống nhau về giao diện người dùng, vì không có nhiều cách để làm danh mục giải trí video đúng không :)","FAQ_05_P2":"Nhưng trong khi Popcorn Time tập trung vào truyền trực tuyến torrent từ các nguồn cụ thể, thì Stremio không bị hạn chế và chỉ đơn thuần là một công cụ tổng hợp nội dung - nó không bị khóa vào một nguồn nội dung cụ thể.","FAQ_05_P3":"Hơn nữa, theo mặc định, chúng tôi không cung cấp bất kỳ add-on torrent nào, vì vậy Stremio không bao gồm trường hợp sử dụng Popcorn Time với chức năng chính thức.","FAQ_05_P4":"Một điểm khác biệt đáng chú ý nữa là Popcorn Time là nguồn mở hoàn toàn, trong khi Stremio là ${1} nguồn mở một phần${2}.","FAQ_06_H1":"Bạn sẽ thêm phim/loạt phim này chứ?","FAQ_06_P1":"Không, xin lỗi:(","FAQ_06_P2":"Như đã đề cập trong hầu hết các câu hỏi khác, Stremio không tự cung cấp bất kỳ nội dung nào - mọi thứ được thêm thông qua hệ thống add-on. Trong trường hợp bạn có yêu cầu về nội dung, bạn có thể sử dụng nút “Báo cáo” trong Trình phát, nút này sẽ gửi email tới tác giả của add-on bạn hiện đang sử dụng.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Bạn sẽ tạo add-on cho X chứ?","FAQ_08_P1":"Hoàn toàn có thể.","FAQ_08_P2":"Nếu bạn có ý tưởng về add-on, hãy gửi thư cho chúng tôi theo địa chỉ ${1}office@stremio.com${2}, nhưng vui lòng đảm bảo rằng ý tưởng add-on của bạn sẽ không vi phạm bất kỳ bản quyền hoặc điều khoản sử dụng nào.","FAQ_08_P3":"Hiện tại, những thứ tiếp theo trong lộ trình của chúng tôi là các add-on cho FandangoNOW, video theo yêu cầu của Filmon.tv và Crunchyroll.","FAQ_09_H1":"Stremio có sử dụng BitTorrent không?","FAQ_09_P1":"Có, Stremio hỗ trợ BitTorrent dưới dạng giao thức truyền trực tuyến. Bạn có thể sử dụng giao thức đó với add-on torrent hoặc bằng cách kéo và thả tệp .torrent vào Stremio hoặc bằng cách dán liên kết nam châm vào Thanh tìm kiếm.","FAQ_09_P2":"Xin lưu ý rằng add-on chính thức duy nhất sử dụng BitTorrent là ${1}Vodo${2}, cung cấp nội dung độc lập, tất cả đều được phép phân phối với BitTorrent.","FAQ_09_P3":"Chúng tôi không hỗ trợ việc sử dụng bất kỳ add-on nào của bên thứ ba có thể dẫn đến vi phạm bản quyền.","FAQ_10_H1":"Tôi có thể xem gì trong Stremio với các add-on chính thức?","FAQ_10_P1":"Theo mặc định, bạn có thể xem nội dung Filmon.tv, YouTube và Vodo trong chính Stremio, với trình phát được nhúng. Ngoài ra, chúng tôi có một add-on cho Twitch.tv và một số tiện ích khác.","FAQ_10_P2":"Sự kết hợp này cung cấp một lựa chọn gồm:","FAQ_10_L1":"Các kênh TV nổi tiếng do Filmon.tv cung cấp - ví dụ E4, BBC, Bollyworld TV","FAQ_10_L2":"Mọi thứ từ YouTube - ví dụ: BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Phim độc lập với Vodo","FAQ_10_L4":"Phát sóng trò chơi trực tuyến với Twitch.tv","FAQ_10_P3":"Ngoài ra, có nhiều nguồn nội dung được cung cấp cùng với Guidebox và add-on Netflix <b>không</b> phát hoàn toàn bên trong Stremio mà sẽ chuyển hướng đến dịch vụ nhất định. Ví dụ: add-on Guidebox sẽ cung cấp cho bạn một lựa chọn phim bạn có thể truyền trực tuyến miễn phí ở Hoa Kỳ, từ các dịch vụ như TubiTV và Crackle.","FAQ_11_H1":"Stremio không cài đặt, tôi nên làm gì?","FAQ_11_P1":"Nếu bạn đang dùng Windows, hãy thử ${1}trình cài đặt thay thế này${2}.","FAQ_11_P2":"Nếu bạn đang dùng Mac OS X, xin lưu ý rằng chúng tôi không hỗ trợ bất kỳ thứ gì cũ hơn OS X Mavericks (10.9).","FAQ_11_P3":"Nếu bạn đang sử dụng Linux, hãy lưu ý rằng chúng tôi hiện chỉ hỗ trợ Linux 64 bit (x64).","FAQ_11_P4":"Nếu bạn vẫn không thể giải quyết vấn đề của mình, vui lòng viết thư cho chúng tôi tại ${1}nhóm Facebook${2} của chúng tôi.","FAQ_12_H1":"Tại sao phần mềm chống vi-rút của tôi phàn nàn? Stremio có an toàn không?","FAQ_12_P1":"Chúng tôi đảm bảo với bạn rằng Stremio ${1}sạch 100%${2}.","FAQ_12_P2":"Phần mềm chống vi-rút của bạn đang phàn nàn vì chúng tôi bao gồm quảng cáo trong trình cài đặt của chúng tôi mà một số chương trình chống vi-rút nhận ra là phần mềm quảng cáo.","FAQ_12_P3":"Nếu vẫn không chắc chắn, bạn có thể dùng thử ${1}trình cài đặt thay thế${2} của chúng tôi.","FAQ_13_H1":"Tôi có thể tạo add-on bằng cách nào?","FAQ_13_P1":"Đối với người mới bắt đầu, chúng tôi khuyên bạn nên kiểm tra ${1}mô-đun hệ thống add-on${2} của chúng tôi trên GitHub.","FAQ_13_P2":"Sau đó, bạn có thể làm theo ${1}Hướng dẫn Hello World${2}.","FAQ_13_P3":"Nếu bạn không có bất kỳ kỹ năng lập trình nào, vui lòng đăng ý tưởng của bạn trên ${1}cộng đồng Reddit${2} và liên hệ với chúng tôi về ý tưởng add-on của bạn trên ${3}office@stremio.com${4}.","FAQ_14_H1":"Add-on được xuất bản như thế nào?","FAQ_14_P1":"Khi bạn tạo một add-on và máy chủ lưu trữ, đồng thời đặt trường <b>endpoint</b> trong tệp kê khai của bạn, trường này trỏ đến một địa chỉ add-on đang hoạt động, add-on đó sẽ tự động xuất bản chính nó lên ${1}danh mục Add-on${2} của chúng tôi.","FAQ_14_P2":"Điều này xảy ra vì phần máy chủ của mô-đun stremio-add-on tự động gọi API của chúng tôi để thông báo về add-on. Khi API của chúng tôi xác thực <b>endpoint</b> của bạn là một add-on hợp lệ, nó sẽ bắt đầu hiển thị trong danh mục .","FAQ_15_H1":"Tôi có thể chạy Stremio trong trình duyệt của mình không?","FAQ_15_P1":"Không phải lúc này, nhưng điều này đang đến!","FAQ_15_P2":"Nếu muốn xem bản Alpha, bạn có thể xem tại đây: ${1}alpha4.strem.io${2}. Lưu ý rằng tính năng truyền trực tuyến bị tắt trên bản alpha này. Chúng tôi hỗ trợ Chrome, Firefox, Opera và Edge .","FAQ_16_H1":"Truyền tới TV không hoạt động / phụ đề không hoạt động","FAQ_16_P1":"Truyền tới TV sử dụng công nghệ DLNA rất không nhất quán giữa các thương hiệu và kiểu TV khác nhau. Vì lý do đó, chúng tôi không có khả năng kiểm tra nó trong mọi trường hợp, vì vậy nó còn lâu mới hoàn hảo. Mặc dù vậy, chúng tôi đang nghiên cứu liên tục cải thiện nhưng chúng tôi không thể cung cấp cho bạn ước tính thời gian khi nào DLNA sẽ bắt đầu hoạt động bình thường với TV của bạn.","FAQ_16_P2":"Nếu bạn thậm chí không thấy TV của mình trong menu truyền, vui lòng thử tắt kết nối mạng của bạn và bật lại (trên Windows, nhấp chuột phải vào Mạng và sử dụng Bật/Tắt), cũng như khởi động lại bộ định tuyến, TV và PC.","FAQ_16_P3":"Nếu bạn vẫn gặp sự cố, bạn có thể giúp chúng tôi bằng cách gửi thông tin về thương hiệu và mẫu TV của bạn tại ${1}office@stremio.com${2}.","FAQ_16_P4":"Trong thời gian chờ đợi, chúng tôi khuyên dùng Chromecast, dịch vụ mà chúng tôi hỗ trợ rất tốt hoặc chỉ cần cắm TV của bạn vào PC bằng cáp HDMI.","FAQ_17_H1":"Stremio bị treo và/hoặc gặp sự cố, tôi có thể làm gì?","FAQ_17_P1":"Trước hết, nếu bạn đang sử dụng Windows 7 với phần mềm chống vi-rút AVG: chúng tôi gặp sự cố với sự kết hợp đó. Sự cố nằm ở chính AVG và không có cách hợp lý nào để giải quyết vấn đề đó từ phía chúng tôi. Thật không may, ngoại lệ hoặc vô hiệu hóa phần mềm chống vi-rút sẽ không hoạt động. Giải pháp duy nhất là thay thế AVG bằng một thứ khác.","FAQ_17_P2":"Nếu đó không phải là vấn đề, nhưng bạn vẫn đang sử dụng Windows, vui lòng cập nhật lên gói dịch vụ mới nhất và cập nhật/cài đặt lại trình điều khiển GPU của bạn, sau đó thử lại.","FAQ_17_P3":"Nếu sự cố của bạn vẫn chưa được giải quyết hoặc bạn đang sử dụng Mac hoặc Linux, vui lòng viết thư cho chúng tôi để báo cáo chi tiết chính xác về sự cố tại ${1}nhóm Facebook của chúng tôi${2}.","FAQ_18_H1":"Tôi có thể tạo add-on bằng cách nào?","FAQ_18_P1":"Đối với người mới bắt đầu, chúng tôi khuyên bạn nên kiểm tra ${1}mô-đun hệ thống add-on${2} của chúng tôi trên GitHub.","FAQ_18_P2":"Sau đó, bạn có thể làm theo ${1}Hướng dẫn Hello World${2}.","FAQ_18_P3":"Nếu bạn không có bất kỳ kỹ năng lập trình nào, vui lòng đăng ý tưởng của bạn trên ${1}cộng đồng Reddit${2} và liên hệ với chúng tôi về ý tưởng add-on của bạn trên ${3}office@stremio.com${4}.","FAQ_19_H1":"Tại sao Stremio chiếm dung lượng ổ đĩa?","FAQ_19_P1":"Stremio có <b>bộ nhớ đệm cục bộ</b> để tạm thời giữ các tệp video mà bạn truyền trực tuyến.","FAQ_19_P2":"Điều này có hai lợi ích: thứ nhất, nó cho phép Stremio tạo bộ nhớ đệm trước cho video ở phía trước để đảm bảo truyền phát mượt mà hơn. Thứ hai, nó giữ video trong bộ nhớ đệm cục bộ để bạn có thể xem tiếp khi ngoại tuyến.","FAQ_19_P3":"Mức lưu trữ của Stremio tùy thuộc vào thiết đặt <b>Bộ nhớ đệm</b> trong bảng Thiết đặt. Stremio có thể giữ tối đa lượng đã đặt (ví dụ: 2GB) trên ổ đĩa của bạn, trừ khi video hiện đang truyền trực tuyến lớn hơn mức đó, trong đó trường hợp nó phải phân bổ đủ bộ nhớ để giữ cho đến khi bạn truyền trực tuyến.","FAQ_20_H1":"Thư mục bộ nhớ đệm ở đâu?","FAQ_20_P1":"Trên Windows, đó là stremio-cache trong ổ đĩa bạn đã chọn trong Thiết đặt (ví dụ: \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"Trên MacOS, đó là \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"Trên Linux, đó là \\"~/.stremio/stremio-cache\\" hoặc \\"~/stremio-cache\\"","FAQ_21_H1":"Tôi gặp lỗi \\"Không tìm thấy máy chủ truyền trực tuyến\\", tôi có thể làm gì?","FAQ_21_P1":"Nếu bạn gặp lỗi này, điều đó có nghĩa là một trong số những điều sau:","FAQ_21_P2":"1) Bạn đang cố gắng sử dụng một add-on được hỗ trợ bởi nguồn YouTube/BitTorrent, thông qua ${1}phiên bản web${2} của chúng tôi. Trong trường hợp này, bạn nên cài đặt phiên bản dành cho máy tính để bàn của chúng tôi từ ${3}trang web của chúng tôi${4 }.","FAQ_21_P3":"2) Đã xảy ra lỗi với cài đặt Stremio của bạn. Trong trường hợp này, hãy thử cài đặt lại phiên bản mới nhất dành cho máy tính để bàn của chúng tôi từ ${1}trang web${2}. Nếu cách này không hiệu quả, hãy thử tắt tường lửa và chương trình chống vi-rút, khởi động lại PC của bạn và thử lại. Nếu cách này cũng không hoạt động, vui lòng viết thư cho chúng tôi tại ${3}nhóm Facebook của chúng tôi${4}.","FAQ_22_H1":"Tôi không thể xem/sử dụng hầu hết các add-on trên iOS","FAQ_22_P1":"Do các hạn chế trong các điều khoản và điều kiện của Apple App Store, chúng tôi đã giới hạn ứng dụng iOS chỉ cho một bộ add-on cụ thể.","FAQ_22_P2":"Nhưng hãy yên tâm - sẽ có nhiều add-on cho iOS trong tương lai và chúng tôi cũng có thể thêm tích hợp cho phép bạn sử dụng tất cả các add-on Stremio nhờ kết nối ứng dụng iOS với Máy chủ truyền trực tuyến Stremio."}')},98714:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"电影","TYPE_series":"剧集","TYPE_tv":"电视频道","TYPE_channel":"频道","TYPE_other":"其他","TYPE_movie_PL":"电影","TYPE_series_PL":"剧集","TYPE_tv_PL":"电视频道","TYPE_channel_PL":"频道","TYPE_other_PL":"其他","TYPE_ALL":"全部","TYPE":"类型","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"视频","BACK":"返回","MORE":"更多","DONE":"完成","COPY":"复制","SUCCESS":"成功","ERROR":"错误","SETTINGS_CASTING_MODE_PICKER":"投屏模式","CASTING_MODE_HLSV2":"默认","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"不转码","Discover":"发现","Board":"首页","Library":"库","My Library":"我的库","Calendar":"日历","NOTIFICATION_ONLINE":"您当前处于在线状态","NOTIFICATION_OFFLINE":"您当前处于离线状态","INTERNET_CONNECTION":"网络连接","STORAGE_FULL_TITLE":"警告:储存空间已满!","STORAGE_FULL_TEXT":"Stremio将无法保存您的设置、首选项或登录信息,考虑重新启动或重新安装Stremio。","SEARCH":"搜索","SEARCH_NO_RESULTS":"未找到结果","SEARCH_EXPLANATION_CONTENT":"搜索电影、剧集、YouTube和电视频道","SEARCH_EXPLANATION_PEOPLE":"搜索演员、导演和编剧","SEARCH_PASTE_LINKS":"粘贴HTTP和Magnet链接","SEARCH_OR_PASTE_LINK":"搜索或粘贴链接","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"添加到库中","REMOVE_FROM_LIB":"从库中删除","ADDED_TO_LIB":"添加到库中","REMOVED_FROM_LIB":"从库中删除","TRAILER":"预告片","WATCH_TRAILER":"观看预告片","WATCH_NOW":"立即观看","SHOW":"查看","SHOW_MOVIE":"查看电影","WATCH_RANDOM":"随机观看","IMDB_RATING":"IMDb评分","YEAR":"年份","DIRECTOR":"导演","WRITER":"编剧","LEAD_ACTORS":"主演","CAST":"全部演员","CREW":"全部工作人员","SHOW_MORE_CAST":"显示更多 »","AIRED":"播出时间","SEASONS":"季","GENRE":"类型","GENRE_ALL":"所有流派","CATALOG":"目录","SUMMARY":"简介","SHOW_MORE":"显示更多","SIMILAR":"相似","UPCOMING":"即将上映","ENDED":"已完结","DURATION":"时长","FEATURED":"功能","METADATA":"元数据","CATEGORY":"类别","LINKS_GENRES":"流派","LINKS_CAST":"演员","LINKS_DIRECTORS":"导演","SEARCH_VIDEOS":"搜索视频","SEARCH_PLACEHOLDER":"搜索或粘贴URL","ADDON":"插件","ADDONS":"插件","OFFICIAL":"官方","ADDONS_OFFICIAL":"官方Stremio插件","ADDONS_POPULAR":"在您所在的地区很受欢迎","ADDON_FREE":"免费","ADDON_PEERED":"连接","ADDON_SUBSCRIPTION":"订阅","ADDON_STREAM_GEORESTRICTED":"在您所在的地区不提供","ADDON_STREAM_OFFLINECACHE":"离线缓存","ADDON_STREAM_LOCALFILE":"本地文件","SHARE_ADDON":"分享插件","AVAILABLE_STREAMS":"可用流媒体","NO_STREAM":"未找到流媒体","ALL_ADDONS":"全部","INSTALL_MORE_ADDONS":"要获取更多流媒体,请安装更多插件","STREAM_NOT_SUPPORTED":"此平台不支持所选流媒体。","ADDON_CATALOGUE":"显示所有插件 »","ADDON_CATALOGUE_MORE":"安装插件","REPO_ADDED":"已添加存储库","ADDON_REPO_EXIST_ERR":"此插件集合已存在","ADDON_REPO_ERR":"添加集合时出错","ADDON_ADD_ERR":"添加插件时出错","ERR_ADDON_PROTECTED":"无法卸载插件,它受到保护","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"出了一些问题——身份验证可能失败","ERR_NOT_COLLECTION_URL":"不是集合URL","ERR_NOT_ADDON_URL":"不是有效的插件URL","ERR_DETECTFROMURL":"再此URL中找不到插件/集合","ADDON_DUPLICATE_WARNING":"警告:重复的插件","ADDON_COLLECTION_SET_FAILED":"将已安装的插件同步到您的账户失败","SETTINGS_DATA_EXPORT":"导出用户数据","ADDON_PULL_FAILED":"从您的帐户同步已安装的插件失败","REFRESH_ON_CLICK":"点击重试","STILL_IN_THEATER":"电影还在影院上映","WATCH_IN_CINEMA":"请到您本地的影院观看","IN_THEATER":"在影院上映","GET_TICKETS":"购票","UPCOMING_EPISODE":"下一集","UPCOMING_EPISODE_MESSAGE":"这一集即将播出","MISSING_DATE_EPISODE":"缺失的一集日期","MISSING_DATE_EPISODE_MESSAGE":"这一集可能还没有播出","CHANNEL_NOT_SCRAPED":"这个频道还没有被削刮,请过几分钟再来。","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"将其添加到库中,以便在可用时收到通知。","GET_NOTIFIED_WHEN_AVAILABLE":"一旦可用,您将会收到通知。","WARNING_STREAMING_SERVER":"警告:找不到本地流媒体服务器,来自本地文件、YouTube、和BitTorrent的流媒体将不可用。","WARNING_STREAMING_SERVER_DISMISS":"忽略","WARNING_STREAMING_SERVER_LATER":"推迟","DECODER_WARNING":"警告:您的硬件可能不支持此视频,请记住,播放可能会很慢。","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"糟糕,播放器错误","PLAYER_ERROR_LOOKSLIKE":"看起来似乎","PLAYER_ORIENTATION":"播放器方向","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"锁定","PLAYER_ORIENTATION_SENSOR_SHORT":"传感器","PLAYER_ORIENTATION_LANDSCAPE":"播放器方向锁定横向","PLAYER_ORIENTATION_SENSOR":"播放器方向自动(传感器)","PLAYER_PLAYBACK_SPEED":"播放速度","PLAYER_PLAYBACK_ERROR":"播放错误,请重试","PLAYER_PLAYBACK_ERROR_UNKNOWN":"未知错误","PLAYER_PLAYBACK_ERROR_DEFAULT":"抱歉,{{productName}}无法播放此视频。","PLAYER_SUBTITLES_LANGUAGES":"字幕语言","PLAYER_SUBTITLES_VARIANTS":"字幕变形","PLAYER_SUBTITLES_SETTINGS":"字幕设置","PLAYER_SUBTITLES_DISABLED":"字幕已关闭","PLAYER_SUBTITLES_VERTICAL_POSIITON":"垂直位置","PLAYER_SUBTITLES_LOADED":"已加载字幕","PLAYER_SUBTITLES_LOADED_EMBEDDED":"已加载嵌入字幕","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"已加载外部字幕","PLAYER_SUBTITLES_LOADED_ORIGIN":"已加载{{origin}}字幕","PLAYER_PLAY":"播放","PLAYER_PAUSE":"暂停","PLAYER_NEXT_VIDEO":"下一个视频","PLAYER_MUTE":"静音","PLAYER_UNMUTE":"取消静音","PLAYER_OPEN_IN_EXTERNAL":"在外部播放器中打开","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"在{{device}}上播放","PLAYER_LIVE":"直播","PLAYER_NEXT_VIDEO_TITLE":"下个视频","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"关闭","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"现在观看","PLAYER_COPY_STREAM_SUCCESS":"流媒体链接已复制到您的剪贴板","PLAYER_COPY_STREAM_ERROR":"复制流媒体链接失败","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","STREAMING_FROM":"流媒体","CASTING_TO":"投屏到","NETWORK_STATUS":"网络状态","STREAM_SPEED":"串流速度:","STREAM_BUFFERED":"已缓冲:","PEERS_INFO":"节点信息","PEERS_ACTIVE":"活跃:","PEERS_CONNECTED":"已连接:","PEERS_WAITING":"等待:","TRANSCODING_WARNING":"警告:转码视频。","STREAM_LOADING":"加载...","PLAYING_LOCAL":"从本地文件播放","PLAYING_CACHE":"从缓存播放","WRONG_SUBS":"字幕错误?","ERR_SUBS_LOADING_TITLE":"加载字幕时出错","ERR_SUBS_LOADING":"字幕加载失败:这可能是您正在使用的插件或网络连接的问题","WARN_FOLLOWING_SUB_ADDONS_FAILED":"以下字幕插件失败","ERR_CASTING_UPDATE_TITLE":"无法更新投屏设备信息:流媒体服务器可能离线","CHOOSE_DEVICE":"选择在哪个设备上播放","NO_CAST_DEVICES":"无可用投屏设备。","NO_SETTINGS":"无可用设置。","PHONE_TABLET":"手机/平板电脑","SUBTITLES":"字幕","SUBTITLES_CHANGE":"调整字幕","SUBTITLES_CHANGE_NONE":"抱歉,这种语言没有其他字幕。","SUBTITLES_CHANGE_ACIVE":"当前字幕&#35;{{subtitlesDialog.activeIdx + 1}}被激活,点击\\"继续\\"激活字幕&#35;{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"或者,","SUBTITLES_ADJUST_DELAY":"调整字幕延迟:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"或在播放时使用<span>G</span> / <span>H</span>键进行调整。","SUBTITLES_ADJUST_DELAY_TIP":"提示:您可以在播放时使用<span>G</span> / <span>H</span>键进行调整。","SUBTITLES_DELAY":"字幕延迟:","SUBTITLES_LOADING":"加载字幕...","SUBTITLES_UNAVAILABLE":"没有可用的外部字幕","SUBTITLES_DISABLED":"关闭","EXTERNAL_PLAYER_DISABLED":"关闭","EXTERNAL_PLAYER_ALLOW_CHOOSING":"允许选择","EXTERNAL_PLAYER_HINT":"提示:有一个设置允许总是在外部播放器中打开","DONT_SHOW_AGAIN":"不再显示","SERVICE_INSTALL":"安装","AUDIO":"音频","DEFAULT_LANGUAGE":"默认语言","DEFAULT_SECONDARY_LANGUAGE":"默认第二语言","SEASON":"季","EPISODE":"集","EPISODE_ABBREVIATION":"情节提要","SPECIAL":"特别篇","SORT":"排序","SORT_BY":"排序按照","FILTER":"筛选","SORT_TRENDING":"热门","SORT_RECENT":"最近","SORT_ALPHABET":"首字母","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"评分","SORT_WATCHED":"已观看","SORT_YEAR":"年份","SELECT_TYPE":"选择类型","SELECT_SORT":"选择排序","SELECT_CATALOG":"选择目录","SELECT_GENRE":"选择流派","SORT_LASTWATCHED":"按上次观看","SORT_NAME":"按名称","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"按观看次数","SORT_NOTWATCHED":"not watched","New for You":"新的","New Episodes":"新剧集","New Videos":"新视频","Recommendations":"推荐","LIBRARY_RESUME":"简介","LIBRARY_PLAY":"播放","LIBRARY_DETAILS":"详情","LIBRARY_RESUME_DISMISS":"清除","LIBRARY_CLEAR_PROGRESS":"清除进度","LIBRARY_REMOVE":"移除","LIBRARY_NOT_LOGGED_IN":"库仅适用于已登录的用户","CALENDAR_NOT_LOGGED_IN":"日历仅适用于已登录的用户","NOT_LOGGED_IN_CLOUD":"随时随地访问您喜爱的电影和剧集","NOT_LOGGED_IN_RECOMMENDATIONS":"根据您的观看历史量身定制的建议","NOT_LOGGED_IN_NOTIFICATIONS":"再也不要错过任何一集","NOT_LOGGED_IN_CALENDAR":"定制个人观看日历","DISCOVER_FEATURED":"功能","DISCOVER_TOP":"热门","DISCOVER_OSCAR":"奥斯卡获奖作品","DISCOVER_WARNING_TITLE":"糟糕!","DISCOVER_EMPTY_CATALOG":"此插件返回空内容。","DISCOVER_ADULT_WARNING":"此内容仅对成人可见,您是否已满18周岁?","DISCOVER_NOADDON_WARNING":"警告:此类型没有可用的Stremio插件,显示已保存的项目,此处不会更新任何内容。","DISCOVER_LOAD_ERR":"内容未加载,发生错误。","DISCOVER_ADDON_UNINSTALLED":"此内容不再可用,您可能已卸载插件。","UNINSTALL_THIS_ADDON":"卸载此插件","ERR_ADDON_NOT_INSTALLED":"未安装此插件,立即安装?","DETAIL_RECEIVE_NOTIF_SERIES":"接受新剧集的通知","DETAIL_RECEIVE_NOTIF_VIDEOS":"接受新视频的通知","SIDEBAR_SHOW_STREAMS":"显示流媒体","RELAUNCH":"立即重新启动!","UPGRADE":"新版本可用!升级至Stremio的最新版本","RELOAD_UI":"重新加载用户界面","MANUAL_UPDATE_TITLE":"更新您的Stremio版本","MANUAL_UPDATE_LINE1":"您运行的是一个过时的Stremio版本,这是非常不推荐的。","MANUAL_UPDATE_LINE2":"请尽快更新。","BUTTON_UPDATE_LATTER":"不是现在","BUTTON_UPDATE_NOW":"更新","ANONYMOUS_USER":"匿名用户","DONT_HAVE_ACC":"还没有账户?","HAVE_ACC":"已经有账户了?","PASSWORD":"密码","PASSWORD_CONFIRM":"确认密码","EMAIL":"电子邮箱","FB_LOGIN":"使用Facebook登录","FB_NOTHINGSHARED":"未经您的允许,任何内容都不会被共享","FB_NOPOST":"我们不会替您发送任何东西","OR":"或","I_ACCEPT":"我接受","I_ACCEPT_BY_CLICKING":"通过点击上面的按钮,我声明我接受","TOS":"条款和条件","MUST_ACCEPT_TERMS":"您必须接受条款","PASSWORDS_NOMATCH":"密码不匹配","SIGN_UP":"注册","SIGN_UP_EMAIL":"使用电子邮箱注册","CLICK_TO_SIGN_UP":"点击此处注册。","LOG_IN":"登录","LOG_OUT":"注销","EXIT_FULLSCREEN":"退出全屏模式","ENTER_FULLSCREEN":"进入全屏模式","PLAY_URL_MAGNET_LINK":"播放URL/Magnet链接","HELP_FEEDBACK":"帮助和反馈","TERMS_OF_SERVICE":"服务条款","PRIVACY_POLICY":"隐私政策","ABOUT_STREMIO":"关于Stremio","USER_PANEL":"用户面板","LOGIN_LABEL":"Login","GUEST_LOGIN":"访客登录","GUEST_LOGIN_NOTICE":"不建议访客登录,使用常规登录允许Stremio同步您的库,接受喜爱的剧集/频道的通知。您确定要继续吗?","GUEST_LOGIN_NOTICE_2":"不建议访客登录,您将没有同步的库和首页通知,这是Stremio的重要功能。您确定要继续吗?","CLICK_HERE":"点击此处","WRONG_PASSWORD":"错误的电子邮箱或密码,如果您忘了密码,","SET_A_PASS":"设置密码","RESET_PASSWORD":"重置密码","FORGOT_PASSWORD":"忘记密码?","EMAIL_USED_WITH_FB":"此电子邮箱与Facebook登陆一起使用。","INVALID_EMAIL":"请输入有效的电子邮箱地址","INVALID_PASSWORD":"请输入有效的密码","CONN_ERR":"连接错误,请稍后再试。\\n\\n如果问题仍然存在,请禁用防火墙/杀毒软件(特别是Bitdefender)。","IMPORT_FROM_GUEST":"从访客账户导入库","RECEIVE_UPDATES_EMAIL":"从Stremio接受电子邮件更新","LOGIN_FAILED":"登陆失败。","SIGNUP_FAILED":"注册失败。","SEARCH_FAILED":"搜索失败","EMAIL_USED":"此电子邮箱已被使用。","WAITING_FB_LOGIN":"使用Facebook登录...","EXTERNAL_PLAYER_TITLE":"在外部播放器中播放","EXTERNAL_REMEMBER_PLAYER":"您想记住您的选择吗","EXTERNAL_ALWAYS_PLAY":"是","EXTERNAL_ONLY_ONCE":"不是","BEST_FIT":"最佳","FIT_SCREEN":"适合屏幕","FILL":"填充","16:9":"16:9","4:3":"4:3","Original":"原始","INTRO_TASTE":"告诉我们您喜欢什么","INTRO_TASTE_LONG":"告诉我们您想看什么","INTRO_TASTE_PICK":"选择{{interestsRemaining}}兴趣","INTRO_TASTE_PICK_MORE":"选择{{interestsRemaining}}更多兴趣","INTRO_TASTE_HELP_US":"帮助我们了解更多有关您的信息。","INTRO_TASTE_CHOOSE_THESE":"选择其中一些:","INTRO_TASTE_CHOOSE_MIN":"至少选3个类别","INTRO_TASTE_CHOOSE_MIN_ERR":"您必须至少选择3个类别!","INTRO_TASTE_LIFESTYLE":"生活方式","INTRO_TASTE_SPORTS":"体育","INTRO_TASTE_FOOD_HEALTH":"饮食与健康","INTRO_TASTE_BEAUTY_FASHION":"美丽与时尚","INTRO_TASTE_NEWS":"新闻","INTRO_TASTE_GAMING":"游戏","INTRO_TASTE_SCIENCE_EDU":"科学与教育","INTRO_TASTE_MUSIC":"音乐","INTRO_TASTE_TRAVEL":"旅行","INTRO_TASTE_LATE_NIGHT":"深夜秀","INTRO_TASTE_REALITY":"真人","INTRO_TASTE_COMEDY":"喜剧","INTRO_TASTE_DIY":"DIY","INTRO_TASTE_TECH":"技术","INTRO_TASTE_CINEMA":"影院","ADDON_NOT_SUPPORTED":"此平台不支持选定的插件。","ADDON_DISCLAIMER":"使用第三方插件将始终受到您的责任和您所在的司法管辖区的法律的约束。","ADDON_ACTIVATE":"激活此插件?","ADDON_REPO_ADD":"插件集合URL","ADDON_ADD":"添加","INSTALL_ADDON":"Install addon","ADD_ADDON":"添加插件","ADD_ADDON_DESCRIPTION":"您可以通过外部链接添加插件,该链接将显示在“已安装的插件”下。","PASTE_ADDON_URL":"粘贴插件URL","WHATS_NEW":"最新消息","BUTTON_CONTINUE":"继续","BUTTON_ACTIVATE":"激活","BUTTON_ACTIVATED":"已激活","BUTTON_CANCEL":"取消","BUTTON_SUBMIT":"提交","BUTTON_DISMISS_ALL":"清除全部","BUTTON_VIEW_ALL":"查看全部","BUTTON_SEE_ALL":"查看全部","BUTTON_COLOR_TRANSPARENT":"透明度","OPEN_IN_BROWSER":"在浏览器中打开","LIB_EMPTY":"您的库看起来是空的,看看它有多有用:)","HOW_START":"您可以从这里开始:","LIB_EMPTY_CAL":"您的日历显示您库中的剧集。","HOW_START_CAL":"下面是如何添加剧集:","LIB_EMPTY_BOARD":"主页显示与您的库相关的通知&amp;推荐。","HOW_START_BOARD_WAIT":"请在您的库中添加一些剧集或频道给我们几分钟来处理:)","HOW_START_BOARD":"下面是如何向其中添加剧集&amp;电影:","IMPORT_FB":"从<span>Facebook</span>导入您喜欢的东西","IMPORT_TRAKT":"从<span>Trakt</span>导入媒体库","IMPORT_DISCOVER":"从<span>发现</span>中找到有趣的东西","IMPORT_DISK":"导入<span>本地磁盘</span>上的电影或节目","PLEASE_CREATE_ACC":"请<u>创建一个账户</u>以启用库同步&amp;主页。","IMPORT_DISCOVER_SIGNUP":"注册并从<span>发现</span>中找到有趣的东西","IMPORT_DISK_SIGNUP":"注册并导入<span>本地磁盘</span>上的电影或节目","LIB_EMPTY_CLOUD":"云端库","LIB_EMPTY_CLOUD_DESC":"在所有设备上同步个人云端库","LIB_EMPTY_EARLY":"第一时间","LIB_EMPTY_EARLY_DESC":"接收新剧集的通知","LIB_EMPTY_PERSONAL":"个性化","LIB_EMPTY_PERSONAL_DESC":"获取个性化推荐","LIB_EMPTY_CALENDAR_DESC":"安排您的个性化观看日历","LIB_EMPTY_ALL":"注册以获取所有这些:","LIB_EMPTY_BEST":"注册以获得最佳的Stremio","LIB_EMPTY_OTHER":"注册以启用日历和其他炫酷功能","CALENDAR_ADDED":"Stremio日历已添加到默认桌面日历中。","CALENDAR_ADDED_MSG":"如果这不起作用,请手动将此URL添加到日历应用程序中","TRAKT_EXPIRED":"Trakt验证已过期,请转到设置并重新验证","TRAKT_REQUIRES_LOGIN":"Trakt错误","TRAKT_REQUIRES_LOGIN_MSG":"您需要登录","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","SETTINGS_LABEL":"设置","SETTINGS_NAV_GENERAL":"常规","SETTINGS_NAV_PLAYER":"播放器","SETTINGS_NAV_STREAMING":"流媒体","SETTINGS_NAV_SHORTCUTS":"快捷键","SETTINGS_SHORTCUT_RELOAD_APP":"重新加载应用程序","SETTINGS_SHORTCUT_OPEN_SETTINGS":"打开设置","SETTINGS_SHORTCUT_SWITCH_TABS":"切换标签","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"向前循环标签","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"向后循环标签","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"在菜单之间导航","SETTINGS_SHORTCUT_GO_TO_SEARCH":"转到搜索","SETTINGS_SHORTCUT_EXIT_BACK":"退出/返回","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"切换播放速度菜单","SETTINGS_SHORTCUT_MENU_VIDEOS":"切换视频菜单","SETTINGS_SHORTCUT_MENU_SUBTITLES":"切换字幕菜单","SETTINGS_SHORTCUT_MENU_INFO":"切换信息菜单","SETTINGS_SHORTCUT_FULLSCREEN":"切换全屏","SETTINGS_SHORTCUT_SHOW_CONTROLS":"显示控件","SETTINGS_SHORTCUT_PLAY_PAUSE":"播放/暂停","SETTINGS_SHORTCUT_VOLUME_UP":"增大音量","SETTINGS_SHORTCUT_VOLUME_DOWN":"降低音量","SETTINGS_SHORTCUT_SEEK_NEXT":"寻找下一个","SETTINGS_SHORTCUT_SEEK_PREV":"寻找上一个","SETTINGS_SHORTCUT_SEEK_BACKWARD":"向后搜索","SETTINGS_SHORTCUT_SEEK_FORWARD":"向前搜索","SETTINGS_SHORTCUT_PLAY_NEXT":"播放下一个","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"增加字幕大小","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"减小字幕大小","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"增加字幕延迟","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"减少字幕延迟","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"切换侧边栏","SETTINGS_SHORTCUT_OR":"or","SETTINGS_SHORTCUT_TO":"to","SETTINGS_SHORTCUT_SPACE":"空格","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"已验证","SETTINGS_FACEBOOK_IMPORT":"导入","SETTINGS_CALENDAR_SUBSCRIBE":"订阅","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"用户界面语言","SETTINGS_LAUNCH_STARTUP":"开机时启动","SETTINGS_VLC_DEFAULT":"使用VLC播放","SETTINGS_UI_LANGUAGE":"用户界面语言","SETTINGS_UI_ZOOM":"用户界面缩放","SETTINGS_FULLSCREEN_EXIT":"Esc键退出全屏","SETTINGS_GAMEPAD":"启用游戏手柄支持","SETTINGS_CLOSE_WINDOW":"关闭窗口时结束应用程序","SETTINGS_SUBTITLES_LANGUAGE":"默认字幕语言","SETTINGS_SUBTITLES_SIZE":"默认字幕大小","SETTINGS_SUBTITLES_BACKGROUND":"字幕背景","SETTINGS_SUBTITLES_COLOR":"字幕颜色","SETTINGS_SUBTITLES_COLOR_OUTLINE":"字幕轮廓颜色","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"字幕背景颜色","SETTINGS_SEEK_KEY":"方向键控制进度","SETTINGS_SEEK_KEY_SHIFT":"按住Shift键时方向键控制进度","SETTINGS_REWIND_FAST_FORWARD_DURATION":"回放和快进持续时间","SETTINGS_BINGE":"自动播放下一集","SETTINGS_NEXT_VIDEO":"显示播放下一集的通知","SETTINGS_NEXT_VIDEO_TRIGGER":"显示下一集的通知:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"下一个视频弹出持续时间","SETTINGS_PLAY_IN_BACKGROUND":"在后台播放","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"在外部播放器中播放","SETTINGS_RESIZE":"播放前自动调整窗口大小","SETTINGS_OVERRIDE_SERVER":"覆盖流媒体服务器URL(高级)","SETTINGS_SERVER_URL":"流媒体服务器URL:","SETTINGS_SERVER_AVAILABLE":"流媒体服务器可用。","SETTINGS_SERVER_UNAVAILABLE":"流媒体服务器不可用。","SETTINGS_SERVER_STATUS_ONLINE":"在线","SETTINGS_SERVER_STATUS_ERROR":"错误","SETTINGS_SERVER_CONFIGURE_TITLE":"配置流媒体服务器url","SETTINGS_SERVER_CONFIGURE_INPUT":"输入流媒体服务器url","SETTINGS_SERVER_CACHE_SIZE":"缓存大小","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent配置","SETTINGS_HTTPS_ENDPOINT":"流媒体HTTPS结点:","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"始终使用最新的测试版","SETTINGS_IMPORT_FB":"从Facebook导入","SETTINGS_IMPORT_DISK":"从本地磁盘导入","SETTINGS_IMPORT_TRAKT":"从Trakt导入","SETTINGS_PAUSE_MINIMIZED":"最小化时暂停播放","SETTINGS_HWDEC":"硬件解码加速","SETTINGS_BACKGROUND":"后台播放","SETTINGS_SUBSCRIBE_CALENDAR":"订阅到日历","SETTINGS_REQ_EXPORT":"请求导出数据","SETTINGS_ACC_DELETE":"请求删除账户","SETTINGS_CHANGE_PASSWORD":"更改密码","SETTINGS_TOS":"服务条款","SETTINGS_SUPPORT":"联系支持人员","SETTING_LANGUAGE":"语言","SETTINGS_TRAKT":"Trakt自动跟踪","SETTINGS_TRAKT_LOGOUT":"从Trakt.tv注销","SETTINGS_TRAKT_LOGOUT_2":"从Trakt注销","SETTINGS_SCAN_FOR_REMOTE":"扫描二维码打开遥控器","SETTINGS_DESKTOP_NOTIFICATIONS":"桌面通知","SETTINGS_DATA_SAVER":"移动数据警告","SETTINGS_LANGUAGE_INTERFACE":"界面","SETTINGS_LANGUAGE_SUBS":"默认字幕","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"自动选择音频","SETTINGS_DEFAULT_AUDIO_TRACK":"默认音频","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"账户","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"版本","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"在单独窗口中启动播放器(高级)","SETTINGS_PLAY_IN_EXTERNAL":"总是在外部播放器中打开视频","SETTINGS_STORAGE_BUTTON":"清除本地存储","SETTINGS_STORAGE_MODAL_TITLE":"您确定吗?","SETTINGS_STORAGE_MODAL_MESSAGE":"这将清除本地存储并使您注销","SETTINGS_HWDEC_PICKER":"选择硬件加速解码设置","SETTINGS_HW_AUTOMATIC":"自动","SETTINGS_HW_DISABLED":"关闭","SETTINGS_HW_ACCELERATED":"解码加速","SETTINGS_HW_FULL":"全加速","SETTINGS_HW_LEGACY":"旧版","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"字幕","SETTINGS_SECTION_AUDIO":"音频","SETTINGS_SECTION_CONTROLS":"控件","SETTINGS_SECTION_AUTO_PLAY":"自动播放","SETTINGS_SECTION_ADVANCED":"高级","SUBSPICKER_AUDIO":"音频","SUBSPICKER_SUBTITLES":"插件字幕","SUBSPICKER_BLACK_BACKGROUND":"使用黑色背景色","SUBSPICKER_VERTICAL_OFFSET":"垂直偏移量","SUBSPICKER_SIZE":"大小","SUBSPICKER_DELAY":"延迟","SUBSPICKER_EMBEDDED_SUBS":"内嵌字幕","MOBILE_PRIVACY_POLICY":"隐私政策","MOBILE_CRASH_REPORTING":"崩溃报告","MOBILE_ZOOM_TO_FILL":"缩放填充屏幕","MOBILE_PASSTHROUGH":"数字音频输出(直通)","MOBILE_RUN_LOW_BATTERY":"电池电量低时运行","MOBILE_RUN_FOREGROUND":"作为前台服务运行","MOBILE_PERFORMANCE":"性能&稳定性","MOBILE_SERVER_ONLINE":"在线","MOBILE_SERVER_OFFLINE":"离线","MOBILE_QR_EXPIRES":"二维码到期时间","MOBILE_LOG_INTO":"登陆到您的Stremio账户","MOBILE_SCAN_QR":"扫描上面的二维码或转到","MOBILE_LINK_ACCOUNT":"链接账户","MOBILE_SPEEDPICKER_CANCEL":"取消","MOBILE_SPEEDPICKER_LABEL":"选择播放速度","MOBILE_EMPTY_LIBRARY":"您的库为空","MOBILE_NO_ADDON_ACTIVE":"没有活动的此类型Stremio插件。","MOBILE_ORGANIZER_WARNING":"Stremio Organizer应用程序提供的功能有限,要获得可播放流的列表和完整的Stremio体验,请使用Stremio桌面客户端。","MOBILE_ADDON_LOADING":"仍在加载","MOBILE_ADDONS_LOADING":"插件仍在加载","MOBILE_ADDON":"插件","MOBILE_CONFIGURE_ADDON":"配置插件","MOBILE_CONFIGURE_ADDON_LABEL":"配置插件","MOBILE_ORGANIZER_ADDONS_WARNING":"Stremio Organizer应用程序仅提供有限的插件,要获得完整的Stremio体验,请使用Stremio桌面客户端。","MOBILE_DISCONNECT":"断开连接","MOBILE_LOOKING_FOR_DEVICES":"正在查找设备...","MOBILE_CAST_TO":"投屏到","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"删除帐户","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"由于法律义务,账户删除不是即时的。在请求删除您的帐户后,您将不得不使用不同的电子邮件地址/脸书个人资料在未来创建一个新的Stremio帐户。","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"确认帐户删除","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"您的帐户是使用Facebook创建的。要删除您的帐户,请使用我们的用户门户网站www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"请提供您的密码以确认帐户删除。","MOBILE_DELETE_ACCOUNT_BUTTON":"删除帐户","NAVIGATION_ON":"开启","NAVIGATION_OFF":"关闭","MARKETING_AGREE":"我同意接收Stremio的营销通知","QUIT":"退出","CONNECTED":"已连接","AUTHENTICATE":"验证","CACHING":"缓存","SETTINGS_CACHING_DRIVE":"缓存磁盘","ENABLE_LOCAL_FILES_ADDON":"启用本地文件插件(需要重新启动)","LOCAL_ADDON_NOT_ENABLED":"未启用本地插件,单击此处转到设置并启用它","ENABLE_REMOTE_HTTPS_CONN":"启用远程HTTPS连接","TORRENT_PROFILE":"Torrent配置","DATA_CACHING":"数据缓存","MAGNET_PARSING":"分析Magnet链接","January":"一月","February":"二月","March":"三月","April":"四月","May":"五月","June":"六月","July":"七月","August":"八月","September":"九月","October":"十月","November":"十一月","December":"十二月","Monday":"星期一","Tuesday":"星期二","Wednesday":"星期三","Thursday":"星期四","Friday":"星期五","Saturday":"星期六","Sunday":"星期天","Action":"动作","Comedy":"喜剧","War":"战争","Family":"家庭","Animation":"动画","Adventure":"冒险","Fantasy":"幻想","Crime":"犯罪","Mystery":"神秘","Romance":"浪漫","Drama":"剧情","Horror":"恐怖","Thriller":"惊悚","Sci-Fi":"科幻","Music":"音乐","Biography":"传记","Documentary":"纪录","Sport":"运动","Musical":"音乐剧","Western":"西部","Film-Noir":"黑色电影","News":"新闻","History":"历史","Game-Show":"游戏节目","Reality-TV":"真人秀","Talk-Show":"脱口秀","Film & Entertainment":"电影与娱乐","Gaming":"游戏","From TV":"电视","Lifestyle":"生活方式","Science & Education":"科学与教育","Cooking & Health":"烹饪与健康","Beauty & Fashion":"美丽与时尚","Sports":"体育","News & Politics":"新闻与政治","How-to & DIY":"DIY","Tech":"技术","Automotive":"汽车","Causes & Non-Profits":"事业与公益","Movies":"影视","Uk Live Tv":"英国直播电视台","Fashion":"流行","Business News Radio":"商业新闻电台","Business Tv":"商业电视","Cars & Auto":"汽车与自动化","Comedy Radio":"喜剧电台","Lifestyle Radio":"生活方式电台","News Tv":"新闻电视","Food And Wine":"食物与酒","Latino Tv":"拉丁语电视台","Shopping Tv":"购物电视台","Religion":"宗教","Kids":"儿童","Body & Soul":"身体与灵魂","Education":"教育","Indian Tv":"印度电视台","Extreme Sports":"极限运动","Middle Eastern Tv":"中东电视台","Celebrity Tv":"名人电视台","Science Tv":"科学电视台","Bikini babe":"比基尼宝贝","Outdoors":"户外","German Tv":"德国电视台","French Tv":"法国电视台","Italian Tv":"意大利电视台","Gamer Tv":"伽马电视台","Travel":"旅行","Asian Tv":"亚洲电视台","Entertainment":"游戏娱乐","News Radio":"新闻电台","Music Radio":"音乐电台","Language Learning":"语言学习","Science Radio":"科学电台","Tech Radio":"科技电台","Science & Technology Vod":"科技视频点播","new video":"新视频","new episode":"新一集","new movie":"新电影","recommended":"推荐","we recommend":"我们建议","offer of the day":"当日优惠","news":"新闻","music video":"音乐视频","CTX_SHOW_HOTKEYS":"显示快捷键","CTX_DISMISS_NOTIF":"清除通知","CTX_DISMISS_ALL":"全部清除","CTX_SHARE":"分享","CTX_COPY_SHARE_LINK":"复制分享链接","CTX_COPY_MAGNET_LINK":"复制Magnet链接","CTX_COPY_STREAM_LINK":"复制流媒体链接","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"下载此视频","CTX_DOWNLOAD_SUBS":"下载字幕","CTX_VIEW_ON_YOUTUBE":"在YouTube上观看","CTX_SHOW":"显示","CTX_PLAY":"播放","CTX_PLAY_IN":"播放","CTX_PLAY_ON":"正在播放","CTX_WATCH_ON":"正在观看","CTX_WATCH":"观看","CTX_WATCHED":"已观看","CTX_WATCH_BEGINNING":"从头开始观看","CTX_WATCH_MOBILE":"在移动设备上观看","CTX_REWIND":"回到开头","CTX_MARK_WATCHED":"标记为已观看","CTX_MARK_NON_WATCHED":"标记为未观看","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"将其余部分标记为已观看","CTX_UNMARK_REST":"将其余部分标记为未观看","CTX_RECEIVE_NEW_NOTIF":"接受新通知","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"从缓存中删除","CTX_REMOVE_CACHE_EP":"从缓存中删除集","CTX_OPEN_CONTAINING":"打开所在文件夹","CTX_REMOVE":"从库中删除","CTX_AVAILABLE_OFFLINE":"离线可用","CTX_PAUSED":"暂停","CTX_ALWAYS_ON_TOP":"置顶","CTX_FULLSCREEN":"全屏","CTX_WRONG_SUBS":"错误的字幕?","CTX_REPORT_ISSUES":"报告问题","CTX_COPY":"复制","CTX_PASTE":"粘贴","CTX_CLEAR":"清除","CTX_CLEAR_RECENT_SEARCHES":"清除最近搜索记录","HELLO_THERE":"您好","HOPE_YOU_ENJOY":"我们希望您喜欢Stremio,也许它已经是您最喜欢的应用之一了!","WHO_ARE_WE":"我们是谁?我们是它背后的团队。在过去三年里的每天,我们两个努力工作使这个产品越来越好。","SUPPORT_US":"如果您喜欢Stremio,如果Stremio对您来说很有价值,请传播它!","SPREAD_THE_WORD":"现在与您的朋友分享传播关于Stremio的信息","MORE_PEOPLE":"使用Stremio的人越多,效果就越好!","SEND_A_LINK":"或发送一个链接到我们的网站","TIP_LOCALFILES":"提示:您可以将本地视频文件拖放到Stremio中","ADDON_MY":"我的插件","ADDON_COMMUNITY":"社区插件","ADDON_OFFICIAL":"官方插件","ADDON_REPOS":"插件集合","ADDON_SEARCH":"搜索插件","ADDON_INSTALL":"安装","ADDON_CONFIGURE":"配置","ADDON_UNINSTALL":"卸载","ADDON_UPGRADE":"更新","ADDON_INSTALLED":"已安装","ADDON_INSTALLED_MSG":"插件已安装!","ADDON_UPGRADED_MSG":"插件已更新!","ADDON_UNKNOWN":"未知","ADDON_ERR":"插件安装错误!","ADDON_DISCONNECTED":"已断开连接","ADDON_APP_MISSING":"未安装此源的应用程序,您想现在安装吗?","ADDON_APP_INSTALL":"立即安装","ADDON_PAGE":"插件页","ADDON_TOP_CONTENT":"最好从这个插件","ADDON_PROVIDES":"这个插件会给您:","ADDON_WATCH":"立即观看#{types}!","ADDON_WATCH_FREE":"立即免费观看#{types}!","ADDON_ADDON":"插件","ADDON_SUPPORTED_TYPES":"支持的类型","ADDON_SUPPORTED_CATALOGS":"支持的目录","ADDON_PROVIDES_DISCOVER":"发现中的更多#{types}","ADDON_PROVIDES_STREAMS":"观看#{types}","ADDON_PROVIDES_STREAMS_FREE":"免费观看#{types}","ADDON_PROVIDES_SUBTITLES":"#{types}的字幕","ADDON_CANTDETECT":"我们无法检测到正在运行的Stremio,因此我们无法检测您安装了哪些插件。","ERR_NO_META":"找不到有关于此的信息","ERR_GETTING_META":"检索有关于此的信息时出错","ERR_CANT_PARSE_MAGNET":"无法分析Magnet","ERR_NO_MAGNET_INFOHASH":"Magnet缺少有效的Hash","ERR_NO_FILE_PATH":"没有文件路径无法发送请求","ERR_NO_TORRENT":"没有Torrent返回","ERR_NO_SUPPORTERD_FILES":"找不到支持的文件","ERR_OPENING_FILES":"无法打开外部文件","ERR_INVALID_LINK":"无效链接","ERR_REGISTERED_ONLY":"此选项仅适用于已注册用户。","ERR_CLIPBOARD":"无法从剪切板播放","ERR_CLIPBOARD_READ":"无法读取此平台上的剪切板","ERR_CLIPBOARD_GENERIC":"在剪切板中找不到可播放的URL. 请将URL(例如Magnet链接)复制到视频。","BOARD_CONTINUE_WATCHING":"继续观看","BOARD_EXPLANATION_RECOMMENDATIONS":"专门为您挑选的电影。<br />这部电影是一个推荐样例。","BOARD_EXPLANATION_EPISODES":"这里是您最喜爱的剧集的新一集。<br />将您关注的剧集添加到库中。","BOARD_EXPLANATION_VIDEOS":"这里是您最喜爱的频道的新一集。<br />将您关注的YouTube频道添加到库中。","WEBSITE_ENJOYED_BY":"在全球拥有超过3000万用户","WEBSITE_STREAMING_ENHANCED":"流媒体增强","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio提供安全、现代、无缝的娱乐体验。凭借其易于使用的界面和多样化的内容库,包括4K HDR支持,用户可以在所有设备上欣赏他们喜爱的电影和电视节目。Stremio致力于安全,是无忧、高质量流媒体体验的终极选择。","WEBSITE_AVAILABLE_ON":"可用时间","WEBSITE_WATCH_AND_ENJOY":"观看并享受。","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio让它变得小菜一碟","WEBSITE_ALL_FEATURES":"全部功能","WEBSITE_EASY_TO_USE":"易于使用","WEBSITE_EASY_TO_USE_DETAILS":"Stremio的设计是用户友好和易于使用。凭借其干净直观的界面,您可以轻松导航并找到想要观看的内容。","WEBSITE_SEAMLESS_ACROSS_DEVICES":"无缝跨设备","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Stremio可用于各种平台(包括Windows、Mac、Linux、Android等),它将跟踪您在所有设备上的进度。只需登录并继续观看,无需在每个新设备上再次配置应用程序。","WEBSITE_ALL_DOWNLOADS":"全部下载","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"高清晰度视频支持","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"集成视频播放器支持大多数视频格式,包括4K HDR内容,让您享受可用的最高质量。","WEBSITE_DIVERSE_CONTENT_LIBRARY":"多样化的内容库","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio集成了大量流行的视频来源,如Netflix、Amazon Prime video、Hulu、YouTube等。","WEBSITE_CREATE_A_FREE_ACCOUNT":"创建免费帐户","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"量身定制的观看体验","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio允许您通过更改主题、添加或删除插件等方式自定义界面的外观。","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"多语言字幕支持","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"由于Stremio支持所有语言的字幕,您现在可以用您喜欢的语言欣赏所有喜爱的内容。","WEBSITE_ALL_STREMIO_FEATURES":"Stremio的全部功能","WEBSITE_TRY_STREMIO_TITLE_P1":"尝试Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"现在在你的电视上","WEBSITE_YOU_CAN_NOW_WATCH":"您现在可以在Android电视设备上观看所有喜爱的电视节目。Stremio电视应用程序让您轻松享受电影之夜。","WEBSITE_YOU_CAN_NOW_WATCH_2":"现在,您可以在智能电视或安卓电视上观看所有喜爱的电视节目。Stremio电视应用程序让您轻松享受电影之夜。","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"可能是您设备中最好、最有用的应用程序。这是我每天使用的应用程序之一,尤其是多年来在我的安卓电视上。制作精良,拥有强大的社区,提供有用的功能。干得好。继续努力。","WEBSITE_REVIEWS":"评论","WEBSITE_GET_STREMIO_FOR_FREE":"免费获取Stremio","WEBSITE_GET_STREMIO_NOW":"立即获取Stremio","WEBSITE_STREMIO_FEATURES":"Stremio功能","WEBSITE_STREMIO_FEATURES_DETAILS":"借助Stremio的高级功能,像专业人士一样进行流媒体播放,享受对所有喜爱媒体的无缝访问","WEBSITE_DISCOVER_MORE":"发现更多。","WEBSITE_DISCOVER_MORE_DETAILS":"永远不要无聊地没有东西可看","WEBSITE_COMMUNITY_DRIVEN":"社区驱动","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio拥有一个庞大而活跃的用户社区,他们通过创建和共享插件为软件的开发做出贡献。","WEBSITE_GET_INVOLVED":"参与进来","WEBSITE_NEW_THEATER_EXPERIENCE":"新剧场体验","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio的新专用电视应用程序让您在Android电视设备上享受电影之夜。","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio的新专用电视应用程序让您在智能电视或安卓电视设备上享受电影之夜。","WEBSITE_FREE_AND_SECURE":"免费和安全","WEBSITE_STREAMING":"流式传输","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio为用户提供无与伦比的安全性和隐私。Stremio具有远程运行插件的独特功能,与其他平台相比,它提供了一种更安全的方式来流式传输您喜爱的内容。您的安全和隐私是首要任务,平台确保您的所有数据都得到保护。","WEBSITE_FREE_AND_SECURE_DETAILS_2":"告别对安全和隐私的担忧,与Stremio一起向无尽娱乐的世界问好。","WEBSITE_INFORMATION_PROVIDED_BY":"信息来源于","WEBSITE_CONTRIBUTE":"贡献","WEBSITE_CONTRIBUTE_DESC":"帮助我们让Stremio变得更好","WEBSITE_COMMUNITY_DESC":"我们相信,创造真正令人惊叹的流媒体体验的最佳方式是让我们的社区参与到这个过程中。无论你是程序员、艺术家还是粉丝,你都可以帮助Stremio成长。","WEBSITE_COMMUNITY_DESC_2":"所以,今天就加入我们,成为Stremio社区的一员,继续塑造流媒体的未来。","WEBSITE_WAYS_TO_GET_INVOLVED":"参与方式","WEBSITE_IN_THE_STREMIO_COMMUNITY":"在Stremio社区","WEBSITE_SHARE_YOUR_THOUGHTS":"分享你的想法","WEBSITE_REPORT_BUGS":"报告Bug","WEBSITE_SUGGEST_FEATURES":"建议功能","WEBSITE_AND_PROVIDE_FEEDBACK":"并在我们的社交媒体渠道上提供反馈。","WEBSITE_BETA_TESTING_PROGRAM":"Beta测试程序","WEBSITE_BETA_TESTING_PROGRAM_DESC":"在Stremio社区参与我们的测试计划(我们定期发出邀请)。","WEBSITE_JOIN_NOW":"立即加入!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Stremio官方社区","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Stremio非官方社区","WEBSITE_BECOME":"成为","WEBSITE_A_VOLUNTEER_TRANSLATOR":"一位志愿翻译者","WEBSITE_ARE_YOU_A_DEVELOPER":"你是开发者吗?","WEBSITE_CONTRIBUTE_CODE":"您可以为我们的开源项目贡献代码。我们在GitHub上有几个项目正在寻找贡献者。如果你有兴趣帮忙,可以去看看:","WEBSITE_STREMIO_ON_GITHUB":"GitHub上的Stremio","WEBSITE_CREATE_ADDON_DESC":"创建一个插件以增强Stremio的功能(我们有一个易于使用的API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio插件SDK","WEBSITE_INTERN_DEVELOPER":"我们还提供了作为实习生开发人员加入我们的机会,这样我们就可以一起成长。","WEBSITE_APPLY_AS_AN_INTERN":"以实习生身份申请","WEBSITE_CALLING_ALL_ARTISTS":"呼叫所有艺术家!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"通过将您的粉丝艺术上传到我们的在线画廊,展示您对Stremio的创造力和热爱。无论是绘画、绘画还是数字设计,我们都希望看到您对Stremio品牌的独特见解。加入我们的艺术爱好者社区,与世界各地的Stremio粉丝分享您的作品。","WEBSITE_STREMIO_FANART_GALLERY":"Stremio粉丝艺术画廊","WEBSITE_INTERN_DESIGNER":"通过我们激动人心的实习机会,成为我们团队的一员,将您的创造力提升到新的高度。","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"公共领域电影项目","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"在Stremio,我们致力于通过识别公共领域和孤儿视频来保护电影和电视的历史。通过与我们的社区合作,我们可以确保这些经典艺术作品对每个人都是可访问的,并为后代所保护以供享受。","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"如果您想参与该项目,请随时与我们联系。","WEBSITE_JOIN_THE_PROJECT":"加入项目","WEBSITE_BE_PART_OF_OUR_MISSION":"成为我们使命的一部分","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"有兴趣加入斯特雷米奥队吗?我们为充满激情的专业人士提供完全远程工作。查看我们的空缺职位。","WEBSITE_OPEN_POSITIONS":"空缺职位","WEBSITE_DESCRIPTION":"说明","WEBSITE_LEARN_MORE":"了解更多","WEBSITE_COMPANY":"公司","WEBSITE_CONTACTS":"联系人","WEBSITE_NEED_HELP":"需要帮助?","WEBSITE_STREMIO_WEB_ON_IOS":"iOS版Stremio Web指南","WEBSITE_LINK_ART_V2":"粉丝艺术画廊","WEBSITE_PARTNERS":"合作伙伴","WEBSITE_SLOGAN_WATCH":"立即观看","WEBSITE_SLOGAN_ALL":"一站式视频娱乐解决方案","WEBSITE_SLOGAN_NEW":"您能观看一切","WEBSITE_SLOGAN_NEW_NEW":"自由串流","WEBSITE_WATCH_FROM":"观看","WEBSITE_DOWNLOAD":"立即下载","WEBSITE_DOWNLOAD_FOR":"立即下载","WEBSITE_IS_DESKTOP":"Stremio是一个桌面应用程序,请在PC上打开此页并下载","WEBSITE_DESKTOP_DEMO_VID":"桌面演示","WEBSITE_PAGE_HOME":"首页","WEBSITE_PAGE_FEATURES":"功能","WEBSITE_PAGE_ADDONS":"插件","WEBSITE_PAGE_TECH":"技术","WEBSITE_PAGE_CREATE_ADDON":"创建插件","WEBSITE_PAGE_CONTACTS":"联络","WEBSITE_PAGE_BLOG":"博客","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"电影","WEBSITE_TYPE_series_PL":"剧集","WEBSITE_TYPE_tv":"直播电视","WEBSITE_TYPE_channel":"频道","WEBSITE_STREMIO_WHAT_IS":"Stremio是一款帮助您管理和随时观看您喜爱的视频、电影、剧集和电视频道的应用程序","WEBSITE_FEATURES_WATCH":"立即观看高清视频","WEBSITE_FEATURES_WATCH_DETAIL":"点击并播放您喜爱的电影、剧集、视频和电视频道。","WEBSITE_FEATURES_SUBS":"自动加载字幕","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio会自动为您的语言选择同步字幕。","WEBSITE_FEATURES_SUBS_LABEL":"Your move, chief.","WEBSITE_FEATURES_CAST":"在电视和移动设备上播放","WEBSITE_FEATURES_CAST_DETAIL":"适用于AppleTV、Chromecast、智能电视(DLNA/UPnP)和移动设备。","WEBSITE_LIB":"享受在所有设备上同步的个人库","WEBSITE_LIB_COLLECT":"从Stremio收集","WEBSITE_LIB_IMPORT":"从Facebook导入","WEBSITE_LIB_LOCAL":"从本地磁盘添加","WEBSITE_BOARD":"首页 - 通知和推荐的一站式场所","WEBSITE_BOARD_RECOMMEND":"推荐电视节目","WEBSITE_BOARD_TRENDING":"流行电影","WEBSITE_BOARD_NEW":"新视频","WEBSITE_BOARD_EPISODE":"新一集","WEBSITE_BOARD_1":"想看些有趣的东西吗?根据您的喜好得到推荐!","WEBSITE_BOARD_2":"当您最喜爱的电视节目或YouTube频道的新一集播出时获得通知!","WEBSITE_BOARD_YOUTUBE":"YouTube频道的新视频","WEBSITE_BOARD_EPISODES":"您关注的剧集的新一集","WEBSITE_ADDONS":"内容插件","WEBSITE_TECH_DETAIL":"我们热爱科技,我们热爱疯狂的科学!\\nStremio使用了以下开源技术:","WEBSITE_TECH_WCJS":"WebChimera.js允许Stremio以良好的性能播放任何视频格式。","WEBSITE_TECH_WCJS_EXTRA":"我们是项目的核心贡献者","WEBSITE_TECH_ELECTRON":"Electron为Stremio提供了一个创新平台。","WEBSITE_TECH_ELECTRON_EXTRA":"我们是项目贡献者","WEBSITE_TECH_LINVODB":"一种数据库技术,确保您的数据在任何地方登录都受管理和可用。","WEBSITE_TECH_LINVODB_EXTRA":"内部技术","WEBSITE_CREATE_ADDON":"创建您的插件","WEBSITE_CREATE_ADDON_DETAIL":"您有提供视频内容的服务吗?我们将通过创建插件来帮助您从Stremio的功能中获益。","WEBSITE_CREATE_ADDON_BENEFITS":"为Stremio创建插件的好处","WEBSITE_P2P_BEAUTY":"点对点流媒体之美","WEBSITE_P2P_1":"可靠且价格合理的全高清/4K视频点播或流媒体直播","WEBSITE_P2P_2":"提供良好用户体验的分销平台","WEBSITE_P2P_3":"我们将创建一个插件来满足您的确切需要","WEBSITE_P2P_CONTACT":"有兴趣吗?欢迎您通过<a href=\'mailto:office@stremio.com\'>联系我们</a>.","WEBSITE_P2P_CONTACT_EXTRA":"我们很乐意帮助您将您的内容集成到Stremio!","WEBSITE_P2P":"偶然间出现了一种改变游戏名称的技术。 我们投入了大量的时间和精力来构建我们的点对点(P2P)视频流媒体引擎,该引擎可提供出色的性能和多功能性,以适应任何用例。\\n请联系我们以获取支持DRM的P2P视频点播或实时流媒体。","WEBSITE_THOUGHTS":"我们分享的想法:","WEBSITE_SPREAD":"传播关于Stremio的信息:","WEBSITE_CONTACT":"联系我们,我们很高兴收到您的来信!","WEBSITE_OPENSOURCE":"有关我们的开源项目,请转到:","WEBSITE_BITCOIN":"捐赠比特币:","WEBSITE_FAQ":"常见问题","WEBSITE_FAQ_SHORT":"常见问题","WEBSITE_QUESTIONS":"问题","WEBSITE_TOS":"使用条款","WEBSITE_LEGAL":"法律","WEBSITE_PAGE_ABOUT":"关于","WEBSITE_PAGE_BECOME_PARTNER":"成为合作伙伴","WEBSITE_ALL_YOU_CAN_WATCH":"自由观看\\n您想看的一切。","WEBSITE_FREEDOM_TO_STREAM":"自由串流","WEBSITE_WHAT_IS_STREMIO":"什么是Stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio是一个一站式视频内容聚合中心。在您拥有的任何设备上发现,管理和观看来自各种来源的视频。","WEBSITE_WHAT_IS_STREMIO_P2":"电影、电视节目、剧集、电视直播或网络频道例如YouTube或Twitch.tv等,您可以在Stremio上找到所有这些内容。","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio是一个现代化的媒体中心,为您的视频娱乐提供一站式解决方案。您可以通过易于安装的插件发现,观看和整理视频内容。","WEBSITE_WHAT_IS_STREMIO_P2_V2":"电影、电视节目、直播电视或网络频道——在Stremio上找到所有这些。","WEBSITE_ENJOI_ON_ALL_DEVICES":"在所有媒体设备上享受","WEBSITE_DEVICES_COLLECT":"从Stremio收集","WEBSITE_DEVICES_IMPORT_FB":"从Facebook导入","WEBSITE_DEVICES_LOCAL":"从本地磁盘添加","WEBSITE_JOIN_THE_PARTY_NOW":"立即加入聚会","WEBSITE_DEVICES_ALL":"易于在所有设备上使用;","WEBSITE_EXTENDABLE_CATALOG":"可无限扩展的视频目录;","WEBSITE_ORGANIZE_YOUR_MEDIA":"强大的媒体管理功能;","WEBSITE_AS_SEEN_ON":"如图所示","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"关于我们","WEBSITE_LINK_TECHNOLOGY":"技术","WEBSITE_LINK_APPS":"应用程序","WEBSITE_LINK_DOWNLOADS":"下载","WEBSITE_MORE":"更多","WEBSITE_LINK_ADDONS":"插件","WEBSITE_LINK_ADDON_SDK":"插件SDK","WEBSITE_LINK_CONTRIBUTE":"贡献","WEBSITE_LINK_COMMUNITY":"社区","WEBSITE_LINK_BLOG":"博客","WEBSITE_MORE_MORE":"... & 更多","WEBSITE_LINK_HELP":"帮助中心","WEBSITE_LINK_CONTACTS":"业务查询","WEBSITE_LINK_TOS":"条款和条件","WEBSITE_LINK_PRAVACY":"隐私政策","WEBSITE_SUBSCRIBE":"订阅","WEBSITE_NEWSLETTER":"加入我们的实时通讯,了解精彩的内容","WEBSITE_PLACEHOLDER_EMAIL":"您的电子邮箱","WEBSITE_COMMUNITY":"社区","WEBSITE_LINK_PRAVACY_LEGAL":"隐私与法律","WEBSITE_WHY":"我们为什么这样做","WEBSITE_WHY_P1":"在Stremio,我们每天都工作,因为我们想解决视频点播行业的一个重要问题。每分钟都有这么多的新内容发布,几乎不可能找到解决的方法。","WEBSITE_WHY_P2":"我们帮助人们浏览这个巨大的视频娱乐世界,发现新的内容来享受。我们的应用程序汇集了电影、剧集、电视直播、网络频道等。我们致力于让用户非常容易地找到他们喜欢的标题和广播。","WEBSITE_WHY_P3":"您可以随时在任何设备上使用我们的服务,使Stremio成为您唯一需要的视频娱乐中心。","WEBSITE_TEAM":"团队","WEBSITE_TEAM_P":"Stremio团队虽小但很强大:我们10个人用X语言编写代码,分享软件开发、UI和UX设计、营销和广告、商业和初创企业方面的专业知识。","WEBSITE_FEATURES":"功能","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"轻松发现新内容","WEBSITE_FEATURES_DISCOVER_P":"轻松发现要观看的新电影、电视节目、剧集和频道。按类别、流派、评分、时间等浏览,或者只需键入一个名称即可找到。Stremio让寻找新的视频内容变得轻而易举。","WEBSITE_FEATURES_ALL_CONTENT":"一块屏幕显示所有视频内容","WEBSITE_FEATURES_ALL_CONTENT_P1":"查看您未看完的电影、剧集或视频,并继续观看;获得新剧集和版本的通知;浏览根据您的观看习惯获得的推荐。","WEBSITE_FEATURES_LIBRARY":"管理您的视频库","WEBSITE_FEATURES_LIBRARY_P1":"只需点击一下,即可将任何标题添加到您的Stremio库中,并按类型、时间或字母顺序整齐地排列内容。","WEBSITE_FEATURES_CALENDAR":"记录您所观看的一切","WEBSITE_FEATURES_CALENDAR_P1":"获取添加到库中的所有电影和系列的日历可视化。导出您的Stremio日历并同步它,这样您就可以随时知道新的一集或首映何时到来。","WEBSITE_FEATURES_BIG_SCREEN":"在大屏幕上欣赏您的视频内容","WEBSITE_FEATURES_BIG_SCREEN_P1":"将您正在观看的任何内容都投屏到另一台设备上,无论是手机、平板电脑还是电视,只需点击一下即可。","WEBSITE_FEATURES_SOURCES":"观看不同来源的视频","WEBSITE_FEATURES_SOURCES_P":"安装官方和社区插件,欣赏来自多个不同供应商的视频。","WEBSITE_CREATE_AN_ADDON":"创建插件","WEBSITE_FEATURES_SYNC":"跨设备同步库并恢复播放","WEBSITE_FEATURES_SYNC_P1":"使用您的帐户在所有设备上登录,享受同步的库、插件、播放和日历。","WEBSITE_FEATURES_EXTENDABLE":"通过插件扩展视频目录","WEBSITE_FEATURES_EXTENDABLE_P1":"Stremio插件目录提供了许多插件,可以从中安装和观看各种视频内容。这包括电影、节目、电视直播、体育、新闻、播客、网络频道、视频游戏等。","WEBSITE_FEATURES_AUTO_SUBS":"自动加载字幕","WEBSITE_FEATURES_AUTO_SUBS_P1":"通过我们的字幕插件,您可以自动选择您喜欢的语言。","WEBSITE_FEATURES_CHROMECAST":"投屏到Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"在更大的屏幕上欣赏您的视频内容,或者将您正在观看的内容投屏到其他设备上。","WEBSITE_FEATURES_KEEP_TRACK":"跟踪您最喜爱的电视节目和网络频道","WEBSITE_FEATURES_KEEP_TRACK_P1":"获取您最喜爱的剧集和网络频道的新一集的日历可视化和通知。","WEBSITE_FEATURES_POWER_USER":"超级用户功能","WEBSITE_FEATURES_POWER_USER_P1":"在外部播放器中播放","WEBSITE_FEATURES_POWER_USER_P2":"从Torrent文件或Magnet链接播放","WEBSITE_FEATURES_POWER_USER_P3":"从Facebook喜爱或本地磁盘导入您的库","WEBSITE_ADD_ONS":"插件","WEBSITE_ADD_ONS_P1":"Stremio提供的所有视频内容都是通过插件系统获取的,应用程序中没有内置任何内容或内容提供商。","WEBSITE_ADD_ONS_P2":"有两组插件可用:官方和社区插件。","WEBSITE_ADD_ONS_P3":"官方插件由Stremio开发和托管,而社区插件由我们的社区成员创建和托管。","WEBSITE_ADDONS_OFFICIAL":"官方插件","WEBSITE_ADDONS_WATCHUB":"从iTunes、Hulu、Amazon和其他英国/美国服务提供商处流式播放您喜爱的电影、剧集和节目。","WEBSITE_ADDONS_YOUTUBE":"观看您喜爱的YouTube频道,获得您关注的贡献者的新上传通知。","WEBSITE_ADDONS_FILMON":"免费观看直播电视、电影和社交电视。600个电视频道,45000部免费电影,纪录片以及更多","WEBSITE_ADDONS_OPENSUBTITLES":"多语种影视字幕,每天上传上千个翻译字幕。","WEBSITE_ADDONS_COMMUNITY":"社区插件","WEBSITE_ADDONS_FILMON_VOD":"观看来自Filmon.tv的点播视频。","WEBSITE_ADDONS_TWICH":"观看来自Twitch.tv(电子竞技行业的视频流媒体平台)的直播。","WEBSITE_ADDONS_VODO":"观看完全免费的独立电影。","WEBSITE_ADDONS_NETFLIX":"观看Netflix的电影和网剧。","WEBSITE_ADDONS_CREATE":"创建插件","WEBSITE_ADDONS_CREATE_P1":"如果您愿意,您可以开发自己的插件。通过这种方式,您可以让自己和我们的社区访问新的视频内容,并接触到全球数百万用户的新目标受众。","WEBSITE_ADDONS_START_CREATE":"要开始,请访问Stremio插件SDK页面:","WEBSITE_DOWNLOADS":"下载","WEBSITE_DOWNLOADS_P1":"为了获得最佳性能,我们建议您使用最新版本的Stremio应用程序。但是,如果出于某种原因,您想使用旧版本,可以在此处下载。","WEBSITE_DOWNLOADS_P1_SHORT":"为了获得最佳性能,我们建议您使用最新版本的Stremio应用程序,","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio for Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio for macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio for Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio for Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio for iOS(限制版本)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"下载Stremio服务","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service是Stremio Web的配套应用程序。我们建议使用最新版本的Stremio Service。","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"更多下载选项","WEBSITE_DOWNLOAD_NEW":"新!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"我们发布了Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"Stremio平台是开源的,您可以轻松地为当前没有来源的内容创建一个插件。","WEBSITE_CONTRIBUTE_WHY":"为什么要创建插件?","WEBSITE_CONTRIBUTE_WHY_P1":"为您的视频内容吸引新观众","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio的用户群体正在快速增长,在推出的第一年,Stremio在全球获得了100万用户,在该平台存在的第二年,这个数字增长到250万。","WEBSITE_CONTRIBUTE_WHY_P3":"用插件,您可以轻松接触这些观众并向他们分发您的视频内容。","WEBSITE_CONTRIBUTE_ALL":"在一处观看您喜爱的电影、视频、剧集和频道。","WEBSITE_CONTRIBUTE_ALL_P1":"您是Stremio上尚未提供的特定类型内容的粉丝?为它创建一个插件,在市场上最大、最易使用的娱乐中心之一欣赏您喜爱的视频。","WEBSITE_CONTRIBUTE_ALL_P2":"除此之外,您还会得到其他志同道合的Stremio社区成员的无尽感激。","WEBSITE_CONTRIBUTE_MONETIZE":"通过插件营利,并在其帮助下赚钱","WEBSITE_CONTRIBUTE_MONETIZE_P1":"一旦您为Stremio开发了一个新的插件,您就可以通过多种不同的方式轻松地靠其营利。如果您正在考虑此问题,请随时与我们联系","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":",我们很乐意就插件营利选项向您提供咨询和建议。","WEBSITE_CONTRIBUTE_TRANSLATE":"成为一名志愿翻译者","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"如果您想享受不同语言的Stremio应用程序,您可以加入我们的志愿翻译者社区。他们帮助我们添加多种不同语言的Stremio版本。","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"您想开始吗?","WEBSITE_TRANSALTE_STREMIO":"翻译Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"官方社区","WEBSITE_COMMUNITY_OFFICIALS_P1":"成为不断增长的Stremio社区的一部分。在社交媒体上关注我们,不要害羞地打招呼,我们喜欢听到粉丝的声音!","WEBSITE_COMMUNITY_UNOFFICIALS":"非官方社区","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"合作伙伴和支持者","WEBSITE_COMMUNITY_GOODIES":"Stremio特典","WEBSITE_COMMUNITY_WALLPAPERS":"壁纸","WEBSITE_COMMUNITY_ART":"社区艺术画廊","WEBSITE_LINK_ART":"社区艺术画廊","WEBSITE_CONTACT_US":"联系我们","WEBSITE_CONTACT_US_P1":"如果您有任何问题、意见或建议,请随时通过下面的联系方式与我们联系。","WEBSITE_CONTACT_US_P2":"请记住,我们位于保加利亚,因此可能会由于时区差异而延迟处理您的问题。","WEBSITE_CONTACT_US_SUCCESS":"您的信息已发送。我们会在方便的时候尽快给您回复。","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"请输入有效的电子邮箱!","WEBSITE_CONTACT_US_Q_RELATED_TO":"您的问题与什么有关?","WEBSITE_CONTACT_US_Q_OS":"您的操作系统是什么?","WEBSITE_CONTACT_US_PH_EMAIL":"您的电子邮箱","WEBSITE_CONTACT_US_PH_MESSAGE":"短信","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"发送","WEBSITE_CONTACT_US_Q_1":"如何安装?","WEBSITE_CONTACT_US_Q_2":"如何卸载?","WEBSITE_CONTACT_US_Q_3":"(HTML)如何制作千层面?","WEBSITE_CONTACT_US_Q_4":"插件","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"技术","WEBSITE_TECHNOLOGY_P1":"我们热爱科技,热爱科学。</br>这是Stremio的动力(它都是开源的)。","WEBSITE_TECHNOLOGY_P_QT":"最佳跨平台软件开发工具。","WEBSITE_TECHNOLOGY_P_MPV":"一款免费、开源、跨平台的媒体播放器。","WEBSITE_TECHNOLOGY_P_RN":"React Native允许您仅使用JavaScript构建移动应用程序。","WEBSITE_TECHNOLOGY_P_VLC":"嵌入到应用程序中获取多媒体的媒体框架。","WEBSITE_TECHNOLOGY_P_REALM":"Realm是一个移动平台,是SQLite和Core Data的替代品。","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js是一个开源、跨平台的JavaScript运行环境。","WEBSITE_TECHNOLOGY_P_RUST":"Rust是一种多范式系统编程语言,关注安全性,尤其是安全并发性。","WEBSITE_TECHNOLOGY_CONTRIBUTE":"为项目贡献力量","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"您可以通过两种方式为Stremio做贡献,帮助我们将产品做得更好。","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"您可以通过翻译平台来贡献您宝贵的语言技能...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"或","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... 您可以利用您的编程技巧来创建社区插件。","WEBSITE_TRANSLATE_STREMIO":"翻译Stremio","WEBSITE_404_OH_NO":"糟糕!您要找的页面不在这里...","WEBSITE_GO_HOME":"回到主页","WEBSITE_LINK_OTHER_DOWNLOADS":"其他下载","WEBSITE_FAQ_ABR":"常见问题","WEBSITE_SUPPORT":"支持","WEBSITE_DOWNLOAD_4_0_BETA":"立即下载Stremio 4测试版","WEBSITE_GET_FOR_DESKTOP":"获取桌面","WEBSITE_LINK_ADDON_COMPETITION":"插件比赛","WEBSITE_LINK_ART_CONTEST":"艺术比赛","WEBSITE_MY_ACCOUNT":"我的账户","WEBSITE_MAINPAGE_FAQ_001_H1":"什么是Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio是一个现代化的媒体中心,让您可以自由观看任何您想要的东西。","WEBSITE_MAINPAGE_FAQ_002_H1":"它是如何工作的?","WEBSITE_MAINPAGE_FAQ_002_P1":"一旦您在设备上安装了Stremio并创建了一个帐户,您所要做的就是访问插件目录并安装任何您想要的插件,就可以开始了!","WEBSITE_MAINPAGE_FAQ_002_P2":"之后,您可以进入“发现”或“板”部分,开始探索内容。","WEBSITE_MAINPAGE_FAQ_003_H1":"我可以在这里看什么?","WEBSITE_MAINPAGE_FAQ_003_P1":"很多:电影、电视节目、网络频道、体育、电视频道、收听播客等等。感谢我们的插件系统,您可以访问各种内容。","WEBSITE_MAINPAGE_FAQ_004_H1":"Stremio是开源的吗?","WEBSITE_MAINPAGE_FAQ_004_P1":"是的,您可以查看以下链接:${1}桌面应用${2}和${3}GitHub组织${4}。","WEBSITE_MAINPAGE_FAQ_005_H1":"Stremio安全吗?","WEBSITE_MAINPAGE_FAQ_005_P1":"是:因为它是开源软件,所以代码可以公开审核,您可以自己查看。","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"我的隐私如何?","WEBSITE_MAINPAGE_FAQ_006_P1":"我们尊重用户隐私,除了创建和同步您的帐户所必需的最低限度外,不收集任何个人数据。","WEBSITE_MAINPAGE_FAQ_006_P2":"注册时还有一个${1}访客模式${2},它不需要任何数据:在这种模式下,不会调用我们的后端。然而,这是以牺牲有用的功能为代价的,比如能够跨设备同步您的库。","WEBSITE_MAINPAGE_FAQ_007_H1":"我可以投屏到电视吗?","WEBSITE_MAINPAGE_FAQ_007_P1":"是的,我们支持Chromecast,您可以从桌面和移动应用程序(Android)进行强制转换。","WEBSITE_MAINPAGE_FAQ_008_H1":"Stremio有多少插件?","WEBSITE_MAINPAGE_FAQ_008_P1":"截至2019年末,超过50个。有关更多信息,请查看我们的插件目录。","WEBSITE_MAINPAGE_FAQ_009_H1":"Stremio是否可以扩展到插件目录之外?","WEBSITE_MAINPAGE_FAQ_009_P1":"是的,您应该查看这些:${1}PimpMyStremio${2},${3}Reddit communities${4},${5}Stremio Downloader${6},等等。","WEBSITE_MAINPAGE_FAQ_010_H1":"Stremio支持哪些设备?","WEBSITE_MAINPAGE_FAQ_010_P1":"我们有适用于Windows、Mac和Linux的桌面应用程序。对于移动设备,我们支持Android和iOS,但请记住iOS的功能有限(不支持大多数插件)。","WEBSITE_MAINPAGE_FAQ_010_P2":"有很多基于Android的设备可以在上面运行Stremio,比如NVIDIA Shield和Amazon Fire Stick,但我们并不正式支持它们。","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"您们能为Stremio添加某些内容吗?","WEBSITE_MAINPAGE_FAQ_011_P1":"抱歉,我们本身不提供任何内容,但是您安装的Stremio插件越多,您可以找到的内容就越多。","WEBSITE_MAINPAGE_FAQ_012_H1":"Stremio可以播放Magnet链接吗?","WEBSITE_MAINPAGE_FAQ_012_P1":"是的,它还可以播放正常的HTTP链接和Torrent文件(拖放)。","WEBSITE_MAINPAGE_FAQ_013_H1":"我可以下载视频并离线观看吗?","WEBSITE_MAINPAGE_FAQ_013_P1":"离线可用是一项即将推出的功能,但如果您允许Stremio在设备上缓存(从“设置”面板),您可以稍后在没有连接的情况下观看视频。","WEBSITE_MAINPAGE_FAQ_014_H1":"什么都不能用,帮帮我!","WEBSITE_MAINPAGE_FAQ_014_P1":"您确定已安装插件吗?如果是,请与我们的${1}帮助中心${2}联系","WEBSITE_MAINPAGE_FAQ_015_H1":"Stremio如何维持其开发运营?","WEBSITE_MAINPAGE_FAQ_015_P1":"我们偶尔会播放非侵入性广告,但我们正在考虑转向捐赠模式。","WEBSITE_MAINPAGE_FAQ_015_P2":"有关更多问题,请访问我们的${1}帮助中心${2}。","HELP_LEARN_MORE":"帮助我们了解更多有关您的信息。","LIFESTYLE":"生活方式","SPORTS":"体育","FOOD_HEALTH":"饮食与健康","BEAUTY_FASHION":"美丽与时尚","NEWS":"新闻","GAMING":"游戏","SCIENCE_EDUCATION":"科学与教育","MUSIC":"音乐","TRAVEL":"旅行","LATE_NIGHT":"深夜","REALITY":"真人","COMEDY":"喜剧","DIY":"DIY","TECH":"技术","CINEMA":"影院","CONTINUE":"继续","SLOW_LOADING":"加载缓慢?","I_GIVE_UP":"我放弃了","LEARN_MORE":"了解更多","POOR_SOURCE":"此源不可用或您的网络连接不够快","PICK_CATEGORIES_ERR":"您必须至少选择3个类别","ADJUST_TIMING":"调整时间","ADJUST_SIZE":"调整大小","SEARCH_ANYTHING":"您可以搜索一切...","ALL_CATEGORIES":"全部","SEARCH_CATEGORIES":"电影、剧集、YouTube和电视","SEARCH_PERSONS":"演员、导演和编剧","SEARCH_PROTOCOLS":"HTTP或Magnet链接","SEARCH_TYPES":"IMDB/TVDB链接","WATCHED":"已观看","SHOW_LESS":"显示较少","LAST_SEARCHES":"上次搜索","CLEAR_HISTORY":"清除历史记录","CHOOSE_SOME":"选择其中一些:","NO_WEB_REMOTE":"无法加载Web Remote","STREMIO_OFFLINE":"Stremio离线","STREMIO_EXPENSIVE_CONNECTION":"我们检测到您正在使用移动数据连接,是否继续?","USE_DATA":"使用移动数据","WARNING":"警告","MORE_INFO":"更多信息...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"加载...","STREMIO_TV_BACK_TO_LANGUAGES":"返回语言","STREMIO_TV_REMOTE":"远程","STREMIO_TV_GO_TO":"去往:","STREMIO_TV_OR_SCAN":"或扫描:","STREMIO_TV_ADDON_INSTRUCTIONS":"请按照说明安装您喜欢的插件。","STREMIO_TV_LIVE_TV":"直播电视","STREMIO_TV_RESUME_WATCHING":"继续观看","STREMIO_TV_LOADING_BACKGROUND":"加载背景","STREMIO_TV_CHECKING_AUTHENTICATION":"正在检测身份验证","STREMIO_TV_LOADING_BOARD":"加载主页","STREMIO_TV_LOGIN_HEADER_LINE_1":"我们希望用户在使用我们的软件时有最好的个性化体验,","STREMIO_TV_LOGIN_HEADER_LINE_2":"正是出于这个原因,我们恳请您建立和/或登录您的账户,","STREMIO_TV_LOGIN_FOOTER_LINE_1":"感谢您的理解,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Stremio团队","STREMIO_TV_REMOTE_INSTRUCTIONS":"为了在您的智能手机/平板电脑/桌面使用Web Remote:","STREMIO_TV_WIFI_SETUP":"Wi-Fi设置","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle未检测到互联网连接。","STREMIO_TV_WIFI_DETAILS_1":"连接到:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"使用密码:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"在浏览器中打开链接:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"默认","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"按最近观看","STREMIO_TV_LIBRARY_SORT_NAME":"按名字","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"按观看次数","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"季${1}","STREMIO_TV_STREAMS_LOADING":"已加载${1}/${2}插件...","STREMIO_TV_STREAMS_STILL_LOADING":"${1}插件仍在加载...","STREMIO_TV_PLAYER_SETTINGS":"播放器设置","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"字幕延迟","STREMIO_TV_PLAYER_AUDIO_DELAY":"音频延迟","STREMIO_TV_PLAYER_VIDEO_SCALING":"视频缩放","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"不支持的流媒体源","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"打开外部链接失败","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"在音频直通模式下不可调整","STREMIO_TV_PLAYER_PLAY_IN_EXO":"使用ExoPlayer播放","STREMIO_TV_PLAYER_PLAY_IN_VLC":"使用libVLC player播放","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"由于播放错误而切换到libVLC player","STREMIO_TV_ADDONS_TITLE":"在手机或PC上使用Stremio安装或配置插件,然后按\\"同步插件\\"","STREMIO_TV_ADDONS_SUBTITLE":"注意:确保您使用的是相同的Stremio帐户","STREMIO_TV_ADDONS_SYNC_ADDONS":"同步插件","STREMIO_TV_ADDONS_SYNC_SUCCESS":"插件成功同步","STREMIO_TV_ADDONS_SYNC_FAILED":"插件同步失败","STREMIO_TV_META_LINK_FAILED":"打开元链接失败","STREMIO_TV_CATALOG_LOADING":"目录仍在加载...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"界面语言已更新","STREMIO_TV_SETTINGS_THEME_UPDATED":"主题已更新","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"默认播放器","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"外部播放器","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"首选语言","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"次要首选语言","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"隧道播放","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"某些设备上可能存在播放问题","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"某些视频格式可能无法播放","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"帧速率匹配","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"关闭","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"仅帧速率","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"帧速率和分辨率","STREMIO_TV_SETTINGS_NO_CACHING":"无缓存","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"默认","STREMIO_TV_SETTINGS_PROFILE_SOFT":"慢","STREMIO_TV_SETTINGS_PROFILE_FAST":"快","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"超快","STREMIO_TV_SETTINGS_SERVER_URL":"流媒体服务器URL","STREMIO_TV_SETTINGS_SERVER_VERSION":"服务器版本","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"未知","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio版本","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"编辑服务器URL","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"输入流媒体服务器URL","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"加载时显示统计信息","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"要阅读Stremio的隐私政策,请访问:","STREMIO_TV_SETTINGS_TOS_TEXT":"要阅读Stremio的条款和条件,请访问:","STREMIO_TV_NAV_SEARCH":"搜索","STREMIO_TV_NAV_HOME":"主页","STREMIO_TV_NAV_DISCOVER":"发现","STREMIO_TV_NAV_LIBRARY":"库","STREMIO_TV_NAV_MOVIES":"电影","STREMIO_TV_NAV_SERIES":"剧集","STREMIO_TV_NAV_CHANNELS":"频道","STREMIO_TV_NAV_TV":"电视直播","STREMIO_TV_NAV_SETTINGS":"设置","STREMIO_TV_NAV_ADDONS":"插件","STREMIO_TV_LOGIN_TITLE":"链接账户","STREMIO_TV_LOGIN_EXPIRES_IN":"过期日期到","STREMIO_TV_LOGIN_STEP_ONE":"扫描上方的二维码或转到","STREMIO_TV_LOGIN_STEP_TWO":"登录您的Stremio帐户","STREMIO_TV_LOGIN_NEW_LINK":"请求新链接","STREMIO_TV_LOGIN_LINK_REFRESHED":"登录代码已刷新","STREMIO_TV_SEARCH_PLACEHOLDER":"输入一些东西","STREMIO_TV_SEARCH_NO_ADDONS":"没有为目录请求插件!","STREMIO_TV_SEARCH_BUTTON":"搜索","STREMIO_TV_SEARCH_KEY_DEL":"删除","STREMIO_TV_SEARCH_KEY_SPACE":"空格","STREMIO_TV_SEARCH_KEY_CLEAR":"清除","STREMIO_TV_SEARCH_HISTORY_TITLE":"搜索历史","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"您可以搜索标题、演员、频道...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"清除搜索历史","STREMIO_TV_FILTERS_DESCRIPTION":"从以下过滤器中选择一个","STREMIO_TV_STREAMING_SERVER_OFFLINE":"流媒体服务器离线,检查服务器设置。","FILTERS":"过滤器","SETTINGS":"设置","ACCOUNT":"账户","LOGOUT":"注销","THEMES":"主题","PLAYBACK":"播放","PLAYBACK_SPEED":"播放速度","AUDIO_TRACKS":"音轨","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"视频","SERVER":"服务器","LINKS":"链接","ABOUT":"关于","INTERFACE":"界面","ANIMATIONS":"动画","STATUS":"状态","LANGUAGE":"语言","SIZE":"大小","DELAY":"延迟","BOLD":"粗体","OPACITY":"Opacity","TEXT_COLOR":"文本颜色","OUTLINE_COLOR":"轮廓颜色","BACKGROUND_COLOR":"背景颜色","BACKGROUND_BLUR":"背景模糊","SEEK_TIME_DURATION":"寻找持续时间","AUTO_PLAY":"自动播放下一集","PLAY_NOW":"现在播放","MARK_AS_WATCHED":"标记为已观看","MARK_AS_UNWATCHED":"标记为未观看","REWIND_TO_BEGINNING":"倒回开始","CONTINUE_WATCHING":"继续观看","ALL":"全部","SECONDS":"秒","ON":"开","OFF":"关","RELOAD":"重新加载","EDIT_URL":"编辑URL","NONE":"无","EMBEDDED":"内嵌","REMOTE_SWITCH_DEVICES":"开关设备","REMOTE_VIDEOS":"视频","REMOTE_ADJUST_TIMING":"调整时间","REMOTE_ADJUST_SIZE":"调整大小","REMOTE_COULD_NOT_BE_LOADED":"无法加载Web Remote","REMOTE_RETRY":"重试","TORRENT_PROFILE_DEFAULT":"默认","TORRENT_PROFILE_SOFT":"慢","TORRENT_PROFILE_FAST":"快","TORRENT_PROFILE_ULTRA_FAST":"超快","FAQ_001_H1":"什么是Stremio?","FAQ_001_P1":"Stremio是专为视频娱乐而设计的多媒体中心软件,易于使用。Stremio允许您管理和观看自己的电影,剧集,频道和实况电视收藏。","FAQ_001_P2":"Stremio从本地磁盘和插件系统中收集显示给您的内容。","FAQ_001_P3":"它还会在您感兴趣的新剧集/视频/电影播出时通知您,并为您提供电影推荐。","FAQ_02_H1":"Stremio与Kodi和Plex相比如何?","FAQ_02_P1":"我们受到这两种软件的启发。但是我们有不同的目标——Stremio专门针对娱乐视频,并通过易于使用成为其主流解决方案。","FAQ_02_P2":"Stremio将永远不会像Kodi和Plex那样具有可定制性和丰富的功能,但它更易于使用。只需${1}就可以获取它,并查看${2}:)","FAQ_03_H1":"Stremio与Netflix相比如何?","FAQ_03_P1":"同样,Netflix是我们的灵感之一。我们努力实现Netflix的用户体验,再加上许多附加的好处。但最重要的是,我们让您可以自由管理自己的库,并使用我们的插件系统添加新的内容源。","FAQ_03_P2":"这使得Stremio可以无限扩展,因此当您使用Stremio时,您永远不会局限于Netflix决定许可的内容。例如,您可以通过Stremio观看${1}中的内容电影电视${2}, ${3} Twitch.tv${4},${5}YouTube${6},${7}Vodo${8}甚至${9}Netflix${10}本身!","FAQ_04_H1":"Stremio与Flipboard相比如何?","FAQ_04_P1":"我们不常听到这个问题,除非与初创企业的人交谈:)","FAQ_04_P2":"Stremio是通过设计一个内容聚合器来实现的,它本质上就是视频的Flipboard。这一点在我们的首页部分非常明显,它为您提供目录和新的插曲/新的视频通知,让您了解您所关注的内容,就像Flipboard一样。","FAQ_05_H1":"Stremio与Popcorn Time相比如何?","FAQ_05_P1":"Stremio和Popcorn Time在用户界面上很相似,因为没有很多方法可以正确制作视频娱乐目录:)","FAQ_05_P2":"Popcorn Time主要集中在特定来源的流媒体上,但Stremio是不受限制的,只是一个内容聚合器,它没有锁定到特定的内容源。","FAQ_05_P3":"此外,我们默认不提供任何Torrent插件,因此Stremio不提供官方功能的Popcorn Time用例。","FAQ_05_P4":"另一个显著的区别是Popcorn Time是完全开源的,而Stremio是${1}部分开源的${2}。","FAQ_06_H1":"是否要添加此电影/系列?","FAQ_06_P1":"不,对不起 :(","FAQ_06_P2":"正如大多数其他问题中提到的,Stremio本身不提供任何内容,所有内容都是通过插件系统添加的。如果您有内容请求,您可以使用播放器中的“报告”按钮,它将向您当前使用的插件的作者发送电子邮件。","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"能否为X创建插件?","FAQ_08_P1":"完全有可能。","FAQ_08_P2":"如果您有一个插件的想法,请在${1}office@stremio.com${2}给我们留言,但请确保您的插件想法不会侵犯任何版权或使用条款。","FAQ_08_P3":"目前,我们路线图上的下一件事是FandangoNOW,Filmon.tv video on demand和Crunchyroll的插件。","FAQ_09_H1":"Stremio是否使用BitTorrent?","FAQ_09_P1":"是的,Stremio支持BitTorrent作为流媒体协议。您可以将其与Torrent插件一起使用,也可以将.Torrent文件拖放到Stremio中,或者将磁铁链接粘贴到搜索栏中。","FAQ_09_P2":"请注意,使用BitTorrent的唯一官方插件是${1}Vodo${2},它提供独立内容,所有内容都允许与BitTorrent一起分发。","FAQ_09_P3":"我们不支持使用任何可能导致版权侵权的第三方插件。","FAQ_10_H1":"我可以在Stremio中通过官方插件观看什么节目?","FAQ_10_P1":"默认情况下,您可以在Stremio与它的嵌入式播放器观看Filmon.tv,YouTube和Vodo的内容。另外,我们还有一个Twitch.tv插件,以及其他一些插件。","FAQ_10_P2":"此组合提供以下选项:","FAQ_10_L1":"Filmon.tv上的热门电视频道,例如E4、BBC、Bollyworld TV","FAQ_10_L2":"YouTube上的所有内容,例如BBC News、Top Gear、Vevo、PewDiePie","FAQ_10_L3":"Vodo上的独立电影","FAQ_10_L4":"Twitch.tv上的在线游戏广播","FAQ_10_P3":"此外,Guidebox和Netflix插件提供了许多内容源,它们不完全在Stremio中播放,而是重定向到给定的服务。例如,Guidebox插件将为您提供可在美国免费播放的精选电影,这些电影来自TubiTV和Crackle等服务。","FAQ_11_H1":"Stremio无法安装,我该怎么办?","FAQ_11_P1":"如果您在Windows上,请尝试${1}此替代安装程序${2}。","FAQ_11_P2":"如果您使用的是Mac OS X,请注意,我们不支持任何比OS X Mavericks(10.9)更旧的版本。","FAQ_11_P3":"如果您使用的是Linux,请注意,我们目前只支持64位(x64)Linux。","FAQ_11_P4":"如果您仍然无法解决您的问题,请写信给我们的${1}Facebook群组${2}。","FAQ_12_H1":"为什么我的杀毒软件会报毒?Stremio安全吗?","FAQ_12_P1":"我们向您保证Stremio是${1}100%安全的${2}。","FAQ_12_P2":"您的杀毒软件报毒是因为我们的安装程序中包含广告,一些杀毒软件将其识别为广告软件。","FAQ_12_P3":"如果您仍然不确定,可以尝试我们的${1}替代安装程序${2}。","FAQ_13_H1":"如何制作插件?","FAQ_13_P1":"对于初学者,我们建议您查看GitHub上的${1}插件系统模块${2}。","FAQ_13_P2":"之后,您可以按照${1}Hello World教程${2}进行操作。","FAQ_13_P3":"如果您没有任何编程技能,请在${1}Reddit社区${2}上发布您的想法,并在${3}office@stremio.com${4}上与我们联系您的插件想法。","FAQ_14_H1":"插件是如何发布的?","FAQ_14_P1":"当您创建一个插件和主机,并在清单中放置一个指向工作插件地址的<b>终端节点</b>字段时,该插件将自动发布到我们的${1}插件目录${2}。","FAQ_14_P2":"发生这种情况是因为Stremio插件模块的服务器部分会自动调用我们的API来声明插件。当我们的API验证您的<b>终端节点</b>为有效的插件时,它将开始显示在目录中。","FAQ_15_H1":"我可以在浏览器中运行Stremio吗?","FAQ_15_P1":"目前还没有,但即将到来!","FAQ_15_P2":"如果您想看到Alpha版本,可以在这里看到:${1}alpha4.strem.io${2}. 请记住,此Alpha版本上已禁用流式处理。我们支持Chrome、Firefox、Opera和Edge","FAQ_16_H1":"电视投屏不起作用/字幕不起作用","FAQ_16_P1":"电视投屏使用DLNA技术,这在不同的电视品牌和型号之间非常不一致。由于这个原因,我们没有能力在每种情况下都测试它,所以它还远远不够完美。尽管如此,我们仍在不断改进,但我们无法为您提供DLNA能够在您的电视上开始正常工作的预计时间。","FAQ_16_P2":"如果您在“投屏”菜单中看不到您的电视,请尝试禁用网络连接并重新启用它(在Windows上,右键单击网络并使用“启用/禁用”),以及重新启动路由器、电视和PC。","FAQ_16_P3":"如果您仍然遇到问题,您可以通过将您的电视品牌和型号信息发送到${1}来帮助我们”office@stremio.com${2}。","FAQ_16_P4":"同时,我们推荐Chromecast,我们非常支持Chromecast,或者直接用HDMI线将电视与PC连接。","FAQ_17_H1":"Stremio卡死和/或崩溃,我能做什么?","FAQ_17_P1":"首先,如果您使用的是带有AVG杀毒软件的Windows 7,这种组合会产生问题。问题出在AVG本身,我们这边没有合理的办法解决。不幸的是,去除或禁用杀毒软件将不起作用。唯一的解决办法是用别的东西代替AVG","FAQ_17_P2":"如果不是这个问题,但您仍在使用Windows,请更新到最新的service pack并更新/重新安装您的GPU驱动程序,然后重试。","FAQ_17_P3":"如果您的问题仍未解决,或者您使用的是Mac或Linux,请写信给我们,在${1}我们的Facebook群组${2}报告问题的确切细节。","FAQ_18_H1":"如何制作插件?","FAQ_18_P1":"对于初学者,我们建议您查看GitHub上的${1}插件系统模块${2}。","FAQ_18_P2":"之后,您可以按照${1}Hello World教程${2}进行操作。","FAQ_18_P3":"如果您没有任何编程技能,请在${1}Reddit社区${2}上发布您的想法,并在${3}上与我们联系您的插件想法。”office@stremio.com${4}。","FAQ_19_H1":"为什么Stremio占用磁盘空间?","FAQ_19_P1":"Stremio有一个<b>本地缓存</b>来临时保存您流式传输的视频文件。","FAQ_19_P2":"这有两个好处:第一,它允许Stremio预先缓冲视频,以确保流媒体更流畅。其次,它将视频保存在本地缓存中,以便您可以继续离线观看。","FAQ_19_P3":"Stremio保留了多少取决于“设置”面板中的<b>缓存设置。Stremio可能会在您的磁盘上保留到设置的数量(例如2GB),除非当前流式传输的视频大于该数量,在这种情况下,必须分配足够的存储来保留它,直到您结束流式传输。","FAQ_20_H1":"缓存文件夹在哪里?","FAQ_20_P1":"在Windows上,Stremio缓存位于您在设置中选择的驱动器中(例如\\"E:\\\\stremio-cache\\")","FAQ_20_P2":"在MacOS上,它位于\\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"在Linux上,它位于\\"~/.stremio/stremio-cache\\"或\\"~/stremio-cache\\"","FAQ_21_H1":"我得到\\"流媒体服务器未找到\\"错误,我能做什么?","FAQ_21_P1":"如果出现此错误,则表示以下几点之一:","FAQ_21_P2":"1)您正试图通过我们的${1}web版本${2}使用一个由YouTube/BitTorrent源代码支持的插件。在这种情况下,您应该从${3}我们的网站${4}安装我们的桌面版本","FAQ_21_P3":"2)Stremio安装有问题。在这种情况下,请尝试从${1}网站${2}重新安装我们的最新桌面版本。如果这没有帮助,请尝试禁用杀毒软件和防火墙,重新启动电脑,然后重试。如果这依然不起作用,请写信给我们的${3}Facebook群组${4}","FAQ_22_H1":"我无法在iOS上看到/使用大多数插件","FAQ_22_P1":"由于Apple App Store条款和条件中的限制,我们限制iOS应用程序只能使用一组特定的插件。","FAQ_22_P2":"不过,请放心,将来会有更多的iOS插件,我们还可能添加一个集成,通过将iOS应用程序连接到Stremio流媒体服务器,您将可以使用所有Stremio插件。"}')},99542:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"電影","TYPE_series":"劇集","TYPE_tv":"電視頻道","TYPE_channel":"頻道","TYPE_other":"其他","TYPE_movie_PL":"電影","TYPE_series_PL":"劇集","TYPE_tv_PL":"電視頻道","TYPE_channel_PL":"頻道","TYPE_other_PL":"其他","TYPE_ALL":"全部","TYPE":"類型","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"視頻","BACK":"返回","MORE":"更多","DONE":"完成","COPY":"複製","SUCCESS":"成功","ERROR":"錯誤","SETTINGS_CASTING_MODE_PICKER":"投屏模式","CASTING_MODE_HLSV2":"默認","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"不轉碼","Discover":"發現","Board":"首頁","Library":"庫","My Library":"我的庫","Calendar":"日曆","NOTIFICATION_ONLINE":"您當前處於在線狀態","NOTIFICATION_OFFLINE":"您當前處於離線狀態","INTERNET_CONNECTION":"網絡連接","STORAGE_FULL_TITLE":"警告:儲存空間已滿!","STORAGE_FULL_TEXT":"Stremio將無法保存您的設置、首選項或登錄信息,考慮重新啓動或重新安裝Stremio。","SEARCH":"搜索","SEARCH_NO_RESULTS":"未找到結果","SEARCH_EXPLANATION_CONTENT":"搜索電影、劇集、YouTube和電視頻道","SEARCH_EXPLANATION_PEOPLE":"搜索演員、導演和編劇","SEARCH_PASTE_LINKS":"粘貼HTTP和Magnet鏈接","SEARCH_OR_PASTE_LINK":"搜索或粘貼鏈接","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"添加到庫中","REMOVE_FROM_LIB":"從庫中刪除","ADDED_TO_LIB":"添加到庫中","REMOVED_FROM_LIB":"從庫中刪除","TRAILER":"預告片","WATCH_TRAILER":"觀看預告片","WATCH_NOW":"立即觀看","SHOW":"查看","SHOW_MOVIE":"查看電影","WATCH_RANDOM":"隨機觀看","IMDB_RATING":"IMDb評分","YEAR":"年份","DIRECTOR":"導演","WRITER":"編劇","LEAD_ACTORS":"主演","CAST":"全部演員","CREW":"全部工作人員","SHOW_MORE_CAST":"顯示更多 »","AIRED":"播出時間","SEASONS":"季","GENRE":"類型","GENRE_ALL":"所有流派","CATALOG":"目錄","SUMMARY":"簡介","SHOW_MORE":"顯示更多","SIMILAR":"相似","UPCOMING":"即將上映","ENDED":"已完結","DURATION":"時長","FEATURED":"功能","METADATA":"元數據","CATEGORY":"類別","LINKS_GENRES":"流派","LINKS_CAST":"演員","LINKS_DIRECTORS":"導演","SEARCH_VIDEOS":"搜索視頻","SEARCH_PLACEHOLDER":"搜索或粘貼URL","ADDON":"插件","ADDONS":"插件","OFFICIAL":"官方","ADDONS_OFFICIAL":"官方Stremio插件","ADDONS_POPULAR":"在您所在的地區很受歡迎","ADDON_FREE":"免費","ADDON_PEERED":"連接","ADDON_SUBSCRIPTION":"訂閲","ADDON_STREAM_GEORESTRICTED":"在您所在的地區不提供","ADDON_STREAM_OFFLINECACHE":"離線緩存","ADDON_STREAM_LOCALFILE":"本地文件","SHARE_ADDON":"分享插件","AVAILABLE_STREAMS":"可用流媒體","NO_STREAM":"未找到流媒體","ALL_ADDONS":"全部","INSTALL_MORE_ADDONS":"要獲取更多流媒體,請安裝更多插件","STREAM_NOT_SUPPORTED":"此平台不支持所選流媒體。","ADDON_CATALOGUE":"顯示所有插件 »","ADDON_CATALOGUE_MORE":"安裝插件","REPO_ADDED":"已添加存儲庫","ADDON_REPO_EXIST_ERR":"此插件集合已存在","ADDON_REPO_ERR":"添加集合時出錯","ADDON_ADD_ERR":"添加插件時出錯","ERR_ADDON_PROTECTED":"無法卸載插件,它受到保護","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"出了一些問題——身份驗證可能失敗","ERR_NOT_COLLECTION_URL":"不是集合URL","ERR_NOT_ADDON_URL":"不是有效的插件URL","ERR_DETECTFROMURL":"再此URL中找不到插件/集合","ADDON_DUPLICATE_WARNING":"警告:重複的插件","ADDON_COLLECTION_SET_FAILED":"將已安裝的插件同步到您的賬户失敗","SETTINGS_DATA_EXPORT":"導出用户數據","ADDON_PULL_FAILED":"從您的帳户同步已安裝的插件失敗","REFRESH_ON_CLICK":"點擊重試","STILL_IN_THEATER":"電影還在影院上映","WATCH_IN_CINEMA":"請到您本地的影院觀看","IN_THEATER":"在影院上映","GET_TICKETS":"購票","UPCOMING_EPISODE":"下一集","UPCOMING_EPISODE_MESSAGE":"這一集即將播出","MISSING_DATE_EPISODE":"缺失的一集日期","MISSING_DATE_EPISODE_MESSAGE":"這一集可能還沒有播出","CHANNEL_NOT_SCRAPED":"這個頻道還沒有被削刮,請過幾分鐘再來。","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"將其添加到庫中,以便在可用時收到通知。","GET_NOTIFIED_WHEN_AVAILABLE":"一旦可用,您將會收到通知。","WARNING_STREAMING_SERVER":"警告:找不到本地流媒體服務器,來自本地文件、YouTube、和BitTorrent的流媒體將不可用。","WARNING_STREAMING_SERVER_DISMISS":"忽略","WARNING_STREAMING_SERVER_LATER":"推遲","DECODER_WARNING":"警告:您的硬件可能不支持此視頻,請記住,播放可能會很慢。","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"糟糕,播放器錯誤","PLAYER_ERROR_LOOKSLIKE":"看起來似乎","PLAYER_ORIENTATION":"播放器方向","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"鎖定","PLAYER_ORIENTATION_SENSOR_SHORT":"傳感器","PLAYER_ORIENTATION_LANDSCAPE":"播放器方向鎖定橫向","PLAYER_ORIENTATION_SENSOR":"播放器方向自動(傳感器)","PLAYER_PLAYBACK_SPEED":"播放速度","PLAYER_PLAYBACK_ERROR":"播放錯誤,請重試","PLAYER_PLAYBACK_ERROR_UNKNOWN":"未知錯誤","PLAYER_PLAYBACK_ERROR_DEFAULT":"抱歉,{{productName}}無法播放此視頻。","PLAYER_SUBTITLES_LANGUAGES":"字幕語言","PLAYER_SUBTITLES_VARIANTS":"字幕變形","PLAYER_SUBTITLES_SETTINGS":"字幕設置","PLAYER_SUBTITLES_DISABLED":"字幕已關閉","PLAYER_SUBTITLES_VERTICAL_POSIITON":"垂直位置","PLAYER_SUBTITLES_LOADED":"已加載字幕","PLAYER_SUBTITLES_LOADED_EMBEDDED":"已加載嵌入字幕","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"已加載外部字幕","PLAYER_SUBTITLES_LOADED_ORIGIN":"已加載{{origin}}字幕","PLAYER_PLAY":"播放","PLAYER_PAUSE":"暫停","PLAYER_NEXT_VIDEO":"下一個視頻","PLAYER_MUTE":"靜音","PLAYER_UNMUTE":"取消靜音","PLAYER_OPEN_IN_EXTERNAL":"在外部播放器中打開","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"在{{device}}上播放","PLAYER_LIVE":"直播","PLAYER_NEXT_VIDEO_TITLE":"下個視頻","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"關閉","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"現在觀看","PLAYER_COPY_STREAM_SUCCESS":"流媒體鏈接已複製到您的剪貼板","PLAYER_COPY_STREAM_ERROR":"複製流媒體鏈接失敗","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","STREAMING_FROM":"流媒體","CASTING_TO":"投屏到","NETWORK_STATUS":"網絡狀態","STREAM_SPEED":"串流速度:","STREAM_BUFFERED":"已緩衝:","PEERS_INFO":"節點信息","PEERS_ACTIVE":"活躍:","PEERS_CONNECTED":"已連接:","PEERS_WAITING":"等待:","TRANSCODING_WARNING":"警告:轉碼視頻。","STREAM_LOADING":"加載...","PLAYING_LOCAL":"從本地文件播放","PLAYING_CACHE":"從緩存播放","WRONG_SUBS":"字幕錯誤?","ERR_SUBS_LOADING_TITLE":"加載字幕時出錯","ERR_SUBS_LOADING":"字幕加載失敗:這可能是您正在使用的插件或網絡連接的問題","WARN_FOLLOWING_SUB_ADDONS_FAILED":"以下字幕插件失敗","ERR_CASTING_UPDATE_TITLE":"無法更新投屏設備信息:流媒體服務器可能離線","CHOOSE_DEVICE":"選擇在哪個設備上播放","NO_CAST_DEVICES":"無可用投屏設備。","NO_SETTINGS":"無可用設置。","PHONE_TABLET":"手機/平板電腦","SUBTITLES":"字幕","SUBTITLES_CHANGE":"調整字幕","SUBTITLES_CHANGE_NONE":"抱歉,這種語言沒有其他字幕。","SUBTITLES_CHANGE_ACIVE":"當前字幕&#35;{{subtitlesDialog.activeIdx + 1}}被激活,點擊\\"繼續\\"激活字幕&#35;{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"或者,","SUBTITLES_ADJUST_DELAY":"調整字幕延遲:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"或在播放時使用<span>G</span> / <span>H</span>鍵進行調整。","SUBTITLES_ADJUST_DELAY_TIP":"提示:您可以在播放時使用<span>G</span> / <span>H</span>鍵進行調整。","SUBTITLES_DELAY":"字幕延遲:","SUBTITLES_LOADING":"加載字幕...","SUBTITLES_UNAVAILABLE":"沒有可用的外部字幕","SUBTITLES_DISABLED":"關閉","EXTERNAL_PLAYER_DISABLED":"關閉","EXTERNAL_PLAYER_ALLOW_CHOOSING":"允許選擇","EXTERNAL_PLAYER_HINT":"提示:有一個設置允許總是在外部播放器中打開","DONT_SHOW_AGAIN":"不再顯示","SERVICE_INSTALL":"安裝","AUDIO":"音頻","DEFAULT_LANGUAGE":"默認語言","DEFAULT_SECONDARY_LANGUAGE":"默認第二語言","SEASON":"季","EPISODE":"集","EPISODE_ABBREVIATION":"情節提要","SPECIAL":"特別篇","SORT":"排序","SORT_BY":"排序按照","FILTER":"篩選","SORT_TRENDING":"熱門","SORT_RECENT":"最近","SORT_ALPHABET":"首字母","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"評分","SORT_WATCHED":"已觀看","SORT_YEAR":"年份","SELECT_TYPE":"選擇類型","SELECT_SORT":"選擇排序","SELECT_CATALOG":"選擇目錄","SELECT_GENRE":"選擇流派","SORT_LASTWATCHED":"按上次觀看","SORT_NAME":"按名稱","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"按觀看次數","SORT_NOTWATCHED":"not watched","New for You":"新的","New Episodes":"新劇集","New Videos":"新視頻","Recommendations":"推薦","LIBRARY_RESUME":"簡介","LIBRARY_PLAY":"播放","LIBRARY_DETAILS":"詳情","LIBRARY_RESUME_DISMISS":"清除","LIBRARY_CLEAR_PROGRESS":"清除進度","LIBRARY_REMOVE":"移除","LIBRARY_NOT_LOGGED_IN":"庫僅適用於已登錄的用户","CALENDAR_NOT_LOGGED_IN":"日曆僅適用於已登錄的用户","NOT_LOGGED_IN_CLOUD":"隨時隨地訪問您喜愛的電影和劇集","NOT_LOGGED_IN_RECOMMENDATIONS":"根據您的觀看歷史量身定製的建議","NOT_LOGGED_IN_NOTIFICATIONS":"再也不要錯過任何一集","NOT_LOGGED_IN_CALENDAR":"定製個人觀看日曆","DISCOVER_FEATURED":"功能","DISCOVER_TOP":"熱門","DISCOVER_OSCAR":"奧斯卡獲獎作品","DISCOVER_WARNING_TITLE":"糟糕!","DISCOVER_EMPTY_CATALOG":"此插件返回空內容。","DISCOVER_ADULT_WARNING":"此內容僅對成人可見,您是否已滿18週歲?","DISCOVER_NOADDON_WARNING":"警告:此類型沒有可用的Stremio插件,顯示已保存的項目,此處不會更新任何內容。","DISCOVER_LOAD_ERR":"內容未加載,發生錯誤。","DISCOVER_ADDON_UNINSTALLED":"此內容不再可用,您可能已卸載插件。","UNINSTALL_THIS_ADDON":"卸載此插件","ERR_ADDON_NOT_INSTALLED":"未安裝此插件,立即安裝?","DETAIL_RECEIVE_NOTIF_SERIES":"接受新劇集的通知","DETAIL_RECEIVE_NOTIF_VIDEOS":"接受新視頻的通知","SIDEBAR_SHOW_STREAMS":"顯示流媒體","RELAUNCH":"立即重新啓動!","UPGRADE":"新版本可用!升級至Stremio的最新版本","RELOAD_UI":"重新加載用户界面","MANUAL_UPDATE_TITLE":"更新您的Stremio版本","MANUAL_UPDATE_LINE1":"您運行的是一個過時的Stremio版本,這是非常不推薦的。","MANUAL_UPDATE_LINE2":"請儘快更新。","BUTTON_UPDATE_LATTER":"不是現在","BUTTON_UPDATE_NOW":"更新","ANONYMOUS_USER":"匿名用户","DONT_HAVE_ACC":"還沒有賬户?","HAVE_ACC":"已經有賬户了?","PASSWORD":"密碼","PASSWORD_CONFIRM":"確認密碼","EMAIL":"電子郵箱","FB_LOGIN":"使用Facebook登錄","FB_NOTHINGSHARED":"未經您的允許,任何內容都不會被共享","FB_NOPOST":"我們不會替您發送任何東西","OR":"或","I_ACCEPT":"我接受","I_ACCEPT_BY_CLICKING":"通過點擊上面的按鈕,我聲明我接受","TOS":"條款和條件","MUST_ACCEPT_TERMS":"您必須接受條款","PASSWORDS_NOMATCH":"密碼不匹配","SIGN_UP":"註冊","SIGN_UP_EMAIL":"使用電子郵箱註冊","CLICK_TO_SIGN_UP":"點擊此處註冊。","LOG_IN":"登錄","LOG_OUT":"註銷","EXIT_FULLSCREEN":"退出全屏模式","ENTER_FULLSCREEN":"進入全屏模式","PLAY_URL_MAGNET_LINK":"播放URL/Magnet鏈接","HELP_FEEDBACK":"幫助和反饋","TERMS_OF_SERVICE":"服務條款","PRIVACY_POLICY":"隱私政策","ABOUT_STREMIO":"關於Stremio","USER_PANEL":"用户面板","LOGIN_LABEL":"Login","GUEST_LOGIN":"訪客登錄","GUEST_LOGIN_NOTICE":"不建議訪客登錄,使用常規登錄允許Stremio同步您的庫,接受喜愛的劇集/頻道的通知。您確定要繼續嗎?","GUEST_LOGIN_NOTICE_2":"不建議訪客登錄,您將沒有同步的庫和首頁通知,這是Stremio的重要功能。您確定要繼續嗎?","CLICK_HERE":"點擊此處","WRONG_PASSWORD":"錯誤的電子郵箱或密碼,如果您忘了密碼,","SET_A_PASS":"設置密碼","RESET_PASSWORD":"重置密碼","FORGOT_PASSWORD":"忘記密碼?","EMAIL_USED_WITH_FB":"此電子郵箱與Facebook登陸一起使用。","INVALID_EMAIL":"請輸入有效的電子郵箱地址","INVALID_PASSWORD":"請輸入有效的密碼","CONN_ERR":"連接錯誤,請稍後再試。\\n\\n如果問題仍然存在,請禁用防火牆/殺毒軟件(特別是Bitdefender)。","IMPORT_FROM_GUEST":"從訪客賬户導入庫","RECEIVE_UPDATES_EMAIL":"從Stremio接受電子郵件更新","LOGIN_FAILED":"登陸失敗。","SIGNUP_FAILED":"註冊失敗。","SEARCH_FAILED":"搜索失敗","EMAIL_USED":"此電子郵箱已被使用。","WAITING_FB_LOGIN":"使用Facebook登錄...","EXTERNAL_PLAYER_TITLE":"在外部播放器中播放","EXTERNAL_REMEMBER_PLAYER":"您想記住您的選擇嗎","EXTERNAL_ALWAYS_PLAY":"是","EXTERNAL_ONLY_ONCE":"不是","BEST_FIT":"最佳","FIT_SCREEN":"適合屏幕","FILL":"填充","16:9":"16:9","4:3":"4:3","Original":"原始","INTRO_TASTE":"告訴我們您喜歡什麼","INTRO_TASTE_LONG":"告訴我們您想看什麼","INTRO_TASTE_PICK":"選擇{{interestsRemaining}}興趣","INTRO_TASTE_PICK_MORE":"選擇{{interestsRemaining}}更多興趣","INTRO_TASTE_HELP_US":"幫助我們瞭解更多有關您的信息。","INTRO_TASTE_CHOOSE_THESE":"選擇其中一些:","INTRO_TASTE_CHOOSE_MIN":"至少選3個類別","INTRO_TASTE_CHOOSE_MIN_ERR":"您必須至少選擇3個類別!","INTRO_TASTE_LIFESTYLE":"生活方式","INTRO_TASTE_SPORTS":"體育","INTRO_TASTE_FOOD_HEALTH":"飲食與健康","INTRO_TASTE_BEAUTY_FASHION":"美麗與時尚","INTRO_TASTE_NEWS":"新聞","INTRO_TASTE_GAMING":"遊戲","INTRO_TASTE_SCIENCE_EDU":"科學與教育","INTRO_TASTE_MUSIC":"音樂","INTRO_TASTE_TRAVEL":"旅行","INTRO_TASTE_LATE_NIGHT":"深夜秀","INTRO_TASTE_REALITY":"真人","INTRO_TASTE_COMEDY":"喜劇","INTRO_TASTE_DIY":"DIY","INTRO_TASTE_TECH":"技術","INTRO_TASTE_CINEMA":"影院","ADDON_NOT_SUPPORTED":"此平台不支持選定的插件。","ADDON_DISCLAIMER":"使用第三方插件將始終受到您的責任和您所在的司法管轄區的法律的約束。","ADDON_ACTIVATE":"激活此插件?","ADDON_REPO_ADD":"插件集合URL","ADDON_ADD":"添加","INSTALL_ADDON":"Install addon","ADD_ADDON":"添加插件","ADD_ADDON_DESCRIPTION":"您可以通過外部鏈接添加插件,該鏈接將顯示在“已安裝的插件”下。","PASTE_ADDON_URL":"粘貼插件URL","WHATS_NEW":"最新消息","BUTTON_CONTINUE":"繼續","BUTTON_ACTIVATE":"激活","BUTTON_ACTIVATED":"已激活","BUTTON_CANCEL":"取消","BUTTON_SUBMIT":"提交","BUTTON_DISMISS_ALL":"清除全部","BUTTON_VIEW_ALL":"查看全部","BUTTON_SEE_ALL":"查看全部","BUTTON_COLOR_TRANSPARENT":"透明度","OPEN_IN_BROWSER":"在瀏覽器中打開","LIB_EMPTY":"您的庫看起來是空的,看看它有多有用:)","HOW_START":"您可以從這裏開始:","LIB_EMPTY_CAL":"您的日曆顯示您庫中的劇集。","HOW_START_CAL":"下面是如何添加劇集:","LIB_EMPTY_BOARD":"主頁顯示與您的庫相關的通知&amp;推薦。","HOW_START_BOARD_WAIT":"請在您的庫中添加一些劇集或頻道給我們幾分鐘來處理:)","HOW_START_BOARD":"下面是如何向其中添加劇集&amp;電影:","IMPORT_FB":"從<span>Facebook</span>導入您喜歡的東西","IMPORT_TRAKT":"從<span>Trakt</span>導入媒體庫","IMPORT_DISCOVER":"從<span>發現</span>中找到有趣的東西","IMPORT_DISK":"導入<span>本地磁盤</span>上的電影或節目","PLEASE_CREATE_ACC":"請<u>創建一個賬户</u>以啓用庫同步&amp;主頁。","IMPORT_DISCOVER_SIGNUP":"註冊並從<span>發現</span>中找到有趣的東西","IMPORT_DISK_SIGNUP":"註冊並導入<span>本地磁盤</span>上的電影或節目","LIB_EMPTY_CLOUD":"雲端庫","LIB_EMPTY_CLOUD_DESC":"在所有設備上同步個人雲端庫","LIB_EMPTY_EARLY":"第一時間","LIB_EMPTY_EARLY_DESC":"接收新劇集的通知","LIB_EMPTY_PERSONAL":"個性化","LIB_EMPTY_PERSONAL_DESC":"獲取個性化推薦","LIB_EMPTY_CALENDAR_DESC":"安排您的個性化觀看日曆","LIB_EMPTY_ALL":"註冊以獲取所有這些:","LIB_EMPTY_BEST":"註冊以獲得最佳的Stremio","LIB_EMPTY_OTHER":"註冊以啓用日曆和其他炫酷功能","CALENDAR_ADDED":"Stremio日曆已添加到默認桌面日曆中。","CALENDAR_ADDED_MSG":"如果這不起作用,請手動將此URL添加到日曆應用程序中","TRAKT_EXPIRED":"Trakt驗證已過期,請轉到設置並重新驗證","TRAKT_REQUIRES_LOGIN":"Trakt錯誤","TRAKT_REQUIRES_LOGIN_MSG":"您需要登錄","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","SETTINGS_LABEL":"設置","SETTINGS_NAV_GENERAL":"常規","SETTINGS_NAV_PLAYER":"播放器","SETTINGS_NAV_STREAMING":"流媒體","SETTINGS_NAV_SHORTCUTS":"快捷鍵","SETTINGS_SHORTCUT_RELOAD_APP":"重新加載應用程序","SETTINGS_SHORTCUT_OPEN_SETTINGS":"打開設置","SETTINGS_SHORTCUT_SWITCH_TABS":"切換標籤","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"向前循環標籤","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"向後循環標籤","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"在菜單之間導航","SETTINGS_SHORTCUT_GO_TO_SEARCH":"轉到搜索","SETTINGS_SHORTCUT_EXIT_BACK":"退出/返回","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"切換播放速度菜單","SETTINGS_SHORTCUT_MENU_VIDEOS":"切換視頻菜單","SETTINGS_SHORTCUT_MENU_SUBTITLES":"切換字幕菜單","SETTINGS_SHORTCUT_MENU_INFO":"切換信息菜單","SETTINGS_SHORTCUT_FULLSCREEN":"切換全屏","SETTINGS_SHORTCUT_SHOW_CONTROLS":"顯示控件","SETTINGS_SHORTCUT_PLAY_PAUSE":"播放/暫停","SETTINGS_SHORTCUT_VOLUME_UP":"增大音量","SETTINGS_SHORTCUT_VOLUME_DOWN":"降低音量","SETTINGS_SHORTCUT_SEEK_NEXT":"尋找下一個","SETTINGS_SHORTCUT_SEEK_PREV":"尋找上一個","SETTINGS_SHORTCUT_SEEK_BACKWARD":"向後搜索","SETTINGS_SHORTCUT_SEEK_FORWARD":"向前搜索","SETTINGS_SHORTCUT_PLAY_NEXT":"播放下一個","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"增加字幕大小","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"減小字幕大小","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"增加字幕延遲","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"減少字幕延遲","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"切換側邊欄","SETTINGS_SHORTCUT_OR":"or","SETTINGS_SHORTCUT_TO":"to","SETTINGS_SHORTCUT_SPACE":"空格","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"已驗證","SETTINGS_FACEBOOK_IMPORT":"導入","SETTINGS_CALENDAR_SUBSCRIBE":"訂閲","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"用户界面語言","SETTINGS_LAUNCH_STARTUP":"開機時啓動","SETTINGS_VLC_DEFAULT":"使用VLC播放","SETTINGS_UI_LANGUAGE":"用户界面語言","SETTINGS_UI_ZOOM":"用户界面縮放","SETTINGS_FULLSCREEN_EXIT":"Esc鍵退出全屏","SETTINGS_GAMEPAD":"啓用遊戲手柄支持","SETTINGS_CLOSE_WINDOW":"關閉窗口時結束應用程序","SETTINGS_SUBTITLES_LANGUAGE":"默認字幕語言","SETTINGS_SUBTITLES_SIZE":"默認字幕大小","SETTINGS_SUBTITLES_BACKGROUND":"字幕背景","SETTINGS_SUBTITLES_COLOR":"字幕顏色","SETTINGS_SUBTITLES_COLOR_OUTLINE":"字幕輪廓顏色","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"字幕背景顏色","SETTINGS_SEEK_KEY":"方向鍵控制進度","SETTINGS_SEEK_KEY_SHIFT":"按住Shift鍵時方向鍵控制進度","SETTINGS_REWIND_FAST_FORWARD_DURATION":"回放和快進持續時間","SETTINGS_BINGE":"自動播放下一集","SETTINGS_NEXT_VIDEO":"顯示播放下一集的通知","SETTINGS_NEXT_VIDEO_TRIGGER":"顯示下一集的通知:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"下一個視頻彈出持續時間","SETTINGS_PLAY_IN_BACKGROUND":"在後台播放","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"在外部播放器中播放","SETTINGS_RESIZE":"播放前自動調整窗口大小","SETTINGS_OVERRIDE_SERVER":"覆蓋流媒體服務器URL(高級)","SETTINGS_SERVER_URL":"流媒體服務器URL:","SETTINGS_SERVER_AVAILABLE":"流媒體服務器可用。","SETTINGS_SERVER_UNAVAILABLE":"流媒體服務器不可用。","SETTINGS_SERVER_STATUS_ONLINE":"在線","SETTINGS_SERVER_STATUS_ERROR":"錯誤","SETTINGS_SERVER_CONFIGURE_TITLE":"配置流媒體服務器url","SETTINGS_SERVER_CONFIGURE_INPUT":"輸入流媒體服務器url","SETTINGS_SERVER_CACHE_SIZE":"緩存大小","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent配置","SETTINGS_HTTPS_ENDPOINT":"流媒體HTTPS結點:","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"始終使用最新的測試版","SETTINGS_IMPORT_FB":"從Facebook導入","SETTINGS_IMPORT_DISK":"從本地磁盤導入","SETTINGS_IMPORT_TRAKT":"從Trakt導入","SETTINGS_PAUSE_MINIMIZED":"最小化時暫停播放","SETTINGS_HWDEC":"硬件解碼加速","SETTINGS_BACKGROUND":"後台播放","SETTINGS_SUBSCRIBE_CALENDAR":"訂閲到日曆","SETTINGS_REQ_EXPORT":"請求導出數據","SETTINGS_ACC_DELETE":"請求刪除賬户","SETTINGS_CHANGE_PASSWORD":"更改密碼","SETTINGS_TOS":"服務條款","SETTINGS_SUPPORT":"聯繫支持人員","SETTING_LANGUAGE":"語言","SETTINGS_TRAKT":"Trakt自動跟蹤","SETTINGS_TRAKT_LOGOUT":"從Trakt.tv註銷","SETTINGS_TRAKT_LOGOUT_2":"從Trakt註銷","SETTINGS_SCAN_FOR_REMOTE":"掃描二維碼打開遙控器","SETTINGS_DESKTOP_NOTIFICATIONS":"桌面通知","SETTINGS_DATA_SAVER":"移動數據警告","SETTINGS_LANGUAGE_INTERFACE":"界面","SETTINGS_LANGUAGE_SUBS":"默認字幕","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"自動選擇音頻","SETTINGS_DEFAULT_AUDIO_TRACK":"默認音頻","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"賬户","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"版本","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"在單獨窗口中啓動播放器(高級)","SETTINGS_PLAY_IN_EXTERNAL":"總是在外部播放器中打開視頻","SETTINGS_STORAGE_BUTTON":"清除本地存儲","SETTINGS_STORAGE_MODAL_TITLE":"您確定嗎?","SETTINGS_STORAGE_MODAL_MESSAGE":"這將清除本地存儲並使您註銷","SETTINGS_HWDEC_PICKER":"選擇硬件加速解碼設置","SETTINGS_HW_AUTOMATIC":"自動","SETTINGS_HW_DISABLED":"關閉","SETTINGS_HW_ACCELERATED":"解碼加速","SETTINGS_HW_FULL":"全加速","SETTINGS_HW_LEGACY":"舊版","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"字幕","SETTINGS_SECTION_AUDIO":"音頻","SETTINGS_SECTION_CONTROLS":"控件","SETTINGS_SECTION_AUTO_PLAY":"自動播放","SETTINGS_SECTION_ADVANCED":"高級","SUBSPICKER_AUDIO":"音頻","SUBSPICKER_SUBTITLES":"插件字幕","SUBSPICKER_BLACK_BACKGROUND":"使用黑色背景色","SUBSPICKER_VERTICAL_OFFSET":"垂直偏移量","SUBSPICKER_SIZE":"大小","SUBSPICKER_DELAY":"延遲","SUBSPICKER_EMBEDDED_SUBS":"內嵌字幕","MOBILE_PRIVACY_POLICY":"隱私政策","MOBILE_CRASH_REPORTING":"崩潰報告","MOBILE_ZOOM_TO_FILL":"縮放填充屏幕","MOBILE_PASSTHROUGH":"數字音頻輸出(直通)","MOBILE_RUN_LOW_BATTERY":"電池電量低時運行","MOBILE_RUN_FOREGROUND":"作為前台服務運行","MOBILE_PERFORMANCE":"性能&穩定性","MOBILE_SERVER_ONLINE":"在線","MOBILE_SERVER_OFFLINE":"離線","MOBILE_QR_EXPIRES":"二維碼到期時間","MOBILE_LOG_INTO":"登陸到您的Stremio賬户","MOBILE_SCAN_QR":"掃描上面的二維碼或轉到","MOBILE_LINK_ACCOUNT":"鏈接賬户","MOBILE_SPEEDPICKER_CANCEL":"取消","MOBILE_SPEEDPICKER_LABEL":"選擇播放速度","MOBILE_EMPTY_LIBRARY":"您的庫為空","MOBILE_NO_ADDON_ACTIVE":"沒有活動的此類型Stremio插件。","MOBILE_ORGANIZER_WARNING":"Stremio Organizer應用程序提供的功能有限,要獲得可播放流的列表和完整的Stremio體驗,請使用Stremio桌面客户端。","MOBILE_ADDON_LOADING":"仍在加載","MOBILE_ADDONS_LOADING":"插件仍在加載","MOBILE_ADDON":"插件","MOBILE_CONFIGURE_ADDON":"配置插件","MOBILE_CONFIGURE_ADDON_LABEL":"配置插件","MOBILE_ORGANIZER_ADDONS_WARNING":"Stremio Organizer應用程序僅提供有限的插件,要獲得完整的Stremio體驗,請使用Stremio桌面客户端。","MOBILE_DISCONNECT":"斷開連接","MOBILE_LOOKING_FOR_DEVICES":"正在查找設備...","MOBILE_CAST_TO":"投屏到","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"刪除帳户","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"由於法律義務,賬户刪除不是即時的。在請求刪除您的帳户後,您將不得不使用不同的電子郵件地址/臉書個人資料在未來創建一個新的Stremio帳户。","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"確認帳户刪除","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"您的帳户是使用Facebook創建的。要刪除您的帳户,請使用我們的用户門户網站www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"請提供您的密碼以確認帳户刪除。","MOBILE_DELETE_ACCOUNT_BUTTON":"刪除帳户","NAVIGATION_ON":"開啓","NAVIGATION_OFF":"關閉","MARKETING_AGREE":"我同意接收Stremio的營銷通知","QUIT":"退出","CONNECTED":"已連接","AUTHENTICATE":"驗證","CACHING":"緩存","SETTINGS_CACHING_DRIVE":"緩存磁盤","ENABLE_LOCAL_FILES_ADDON":"啓用本地文件插件(需要重新啓動)","LOCAL_ADDON_NOT_ENABLED":"未啓用本地插件,單擊此處轉到設置並啓用它","ENABLE_REMOTE_HTTPS_CONN":"啓用遠程HTTPS連接","TORRENT_PROFILE":"Torrent配置","DATA_CACHING":"數據緩存","MAGNET_PARSING":"分析Magnet鏈接","January":"一月","February":"二月","March":"三月","April":"四月","May":"五月","June":"六月","July":"七月","August":"八月","September":"九月","October":"十月","November":"十一月","December":"十二月","Monday":"星期一","Tuesday":"星期二","Wednesday":"星期三","Thursday":"星期四","Friday":"星期五","Saturday":"星期六","Sunday":"星期天","Action":"動作","Comedy":"喜劇","War":"戰爭","Family":"家庭","Animation":"動畫","Adventure":"冒險","Fantasy":"幻想","Crime":"犯罪","Mystery":"神秘","Romance":"浪漫","Drama":"劇情","Horror":"恐怖","Thriller":"驚悚","Sci-Fi":"科幻","Music":"音樂","Biography":"傳記","Documentary":"紀錄","Sport":"運動","Musical":"音樂劇","Western":"西部","Film-Noir":"黑色電影","News":"新聞","History":"歷史","Game-Show":"遊戲節目","Reality-TV":"真人秀","Talk-Show":"脱口秀","Film & Entertainment":"電影與娛樂","Gaming":"遊戲","From TV":"電視","Lifestyle":"生活方式","Science & Education":"科學與教育","Cooking & Health":"烹飪與健康","Beauty & Fashion":"美麗與時尚","Sports":"體育","News & Politics":"新聞與政治","How-to & DIY":"DIY","Tech":"技術","Automotive":"汽車","Causes & Non-Profits":"事業與公益","Movies":"影視","Uk Live Tv":"英國直播電視台","Fashion":"流行","Business News Radio":"商業新聞電台","Business Tv":"商業電視","Cars & Auto":"汽車與自動化","Comedy Radio":"喜劇電台","Lifestyle Radio":"生活方式電台","News Tv":"新聞電視","Food And Wine":"食物與酒","Latino Tv":"拉丁語電視台","Shopping Tv":"購物電視台","Religion":"宗教","Kids":"兒童","Body & Soul":"身體與靈魂","Education":"教育","Indian Tv":"印度電視台","Extreme Sports":"極限運動","Middle Eastern Tv":"中東電視台","Celebrity Tv":"名人電視台","Science Tv":"科學電視台","Bikini babe":"比基尼寶貝","Outdoors":"户外","German Tv":"德國電視台","French Tv":"法國電視台","Italian Tv":"意大利電視台","Gamer Tv":"伽馬電視台","Travel":"旅行","Asian Tv":"亞洲電視台","Entertainment":"遊戲娛樂","News Radio":"新聞電台","Music Radio":"音樂電台","Language Learning":"語言學習","Science Radio":"科學電台","Tech Radio":"科技電台","Science & Technology Vod":"科技視頻點播","new video":"新視頻","new episode":"新一集","new movie":"新電影","recommended":"推薦","we recommend":"我們建議","offer of the day":"當日優惠","news":"新聞","music video":"音樂視頻","CTX_SHOW_HOTKEYS":"顯示快捷鍵","CTX_DISMISS_NOTIF":"清除通知","CTX_DISMISS_ALL":"全部清除","CTX_SHARE":"分享","CTX_COPY_SHARE_LINK":"複製分享鏈接","CTX_COPY_MAGNET_LINK":"複製Magnet鏈接","CTX_COPY_STREAM_LINK":"複製流媒體鏈接","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"下載此視頻","CTX_DOWNLOAD_SUBS":"下載字幕","CTX_VIEW_ON_YOUTUBE":"在YouTube上觀看","CTX_SHOW":"顯示","CTX_PLAY":"播放","CTX_PLAY_IN":"播放","CTX_PLAY_ON":"正在播放","CTX_WATCH_ON":"正在觀看","CTX_WATCH":"觀看","CTX_WATCHED":"已觀看","CTX_WATCH_BEGINNING":"從頭開始觀看","CTX_WATCH_MOBILE":"在移動設備上觀看","CTX_REWIND":"回到開頭","CTX_MARK_WATCHED":"標記為已觀看","CTX_MARK_NON_WATCHED":"標記為未觀看","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"將其餘部分標記為已觀看","CTX_UNMARK_REST":"將其餘部分標記為未觀看","CTX_RECEIVE_NEW_NOTIF":"接受新通知","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"從緩存中刪除","CTX_REMOVE_CACHE_EP":"從緩存中刪除集","CTX_OPEN_CONTAINING":"打開所在文件夾","CTX_REMOVE":"從庫中刪除","CTX_AVAILABLE_OFFLINE":"離線可用","CTX_PAUSED":"暫停","CTX_ALWAYS_ON_TOP":"置頂","CTX_FULLSCREEN":"全屏","CTX_WRONG_SUBS":"錯誤的字幕?","CTX_REPORT_ISSUES":"報告問題","CTX_COPY":"複製","CTX_PASTE":"粘貼","CTX_CLEAR":"清除","CTX_CLEAR_RECENT_SEARCHES":"清除最近搜索記錄","HELLO_THERE":"您好","HOPE_YOU_ENJOY":"我們希望您喜歡Stremio,也許它已經是您最喜歡的應用之一了!","WHO_ARE_WE":"我們是誰?我們是它背後的團隊。在過去三年裏的每天,我們兩個努力工作使這個產品越來越好。","SUPPORT_US":"如果您喜歡Stremio,如果Stremio對您來説很有價值,請傳播它!","SPREAD_THE_WORD":"現在與您的朋友分享傳播關於Stremio的信息","MORE_PEOPLE":"使用Stremio的人越多,效果就越好!","SEND_A_LINK":"或發送一個鏈接到我們的網站","TIP_LOCALFILES":"提示:您可以將本地視頻文件拖放到Stremio中","ADDON_MY":"我的插件","ADDON_COMMUNITY":"社區插件","ADDON_OFFICIAL":"官方插件","ADDON_REPOS":"插件集合","ADDON_SEARCH":"搜索插件","ADDON_INSTALL":"安裝","ADDON_CONFIGURE":"配置","ADDON_UNINSTALL":"卸載","ADDON_UPGRADE":"更新","ADDON_INSTALLED":"已安裝","ADDON_INSTALLED_MSG":"插件已安裝!","ADDON_UPGRADED_MSG":"插件已更新!","ADDON_UNKNOWN":"未知","ADDON_ERR":"插件安裝錯誤!","ADDON_DISCONNECTED":"已斷開連接","ADDON_APP_MISSING":"未安裝此源的應用程序,您想現在安裝嗎?","ADDON_APP_INSTALL":"立即安裝","ADDON_PAGE":"插件頁","ADDON_TOP_CONTENT":"最好從這個插件","ADDON_PROVIDES":"這個插件會給您:","ADDON_WATCH":"立即觀看#{types}!","ADDON_WATCH_FREE":"立即免費觀看#{types}!","ADDON_ADDON":"插件","ADDON_SUPPORTED_TYPES":"支持的類型","ADDON_SUPPORTED_CATALOGS":"支持的目錄","ADDON_PROVIDES_DISCOVER":"發現中的更多#{types}","ADDON_PROVIDES_STREAMS":"觀看#{types}","ADDON_PROVIDES_STREAMS_FREE":"免費觀看#{types}","ADDON_PROVIDES_SUBTITLES":"#{types}的字幕","ADDON_CANTDETECT":"我們無法檢測到正在運行的Stremio,因此我們無法檢測您安裝了哪些插件。","ERR_NO_META":"找不到有關於此的信息","ERR_GETTING_META":"檢索有關於此的信息時出錯","ERR_CANT_PARSE_MAGNET":"無法分析Magnet","ERR_NO_MAGNET_INFOHASH":"Magnet缺少有效的Hash","ERR_NO_FILE_PATH":"沒有文件路徑無法發送請求","ERR_NO_TORRENT":"沒有Torrent返回","ERR_NO_SUPPORTERD_FILES":"找不到支持的文件","ERR_OPENING_FILES":"無法打開外部文件","ERR_INVALID_LINK":"無效鏈接","ERR_REGISTERED_ONLY":"此選項僅適用於已註冊用户。","ERR_CLIPBOARD":"無法從剪切板播放","ERR_CLIPBOARD_READ":"無法讀取此平台上的剪切板","ERR_CLIPBOARD_GENERIC":"在剪切板中找不到可播放的URL. 請將URL(例如Magnet鏈接)複製到視頻。","BOARD_CONTINUE_WATCHING":"繼續觀看","BOARD_EXPLANATION_RECOMMENDATIONS":"專門為您挑選的電影。<br />這部電影是一個推薦樣例。","BOARD_EXPLANATION_EPISODES":"這裏是您最喜愛的劇集的新一集。<br />將您關注的劇集添加到庫中。","BOARD_EXPLANATION_VIDEOS":"這裏是您最喜愛的頻道的新一集。<br />將您關注的YouTube頻道添加到庫中。","WEBSITE_ENJOYED_BY":"在全球擁有超過3000萬用户","WEBSITE_STREAMING_ENHANCED":"流媒體增強","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio提供安全、現代、無縫的娛樂體驗。憑藉其易於使用的界面和多樣化的內容庫,包括4K HDR支持,用户可以在所有設備上欣賞他們喜愛的電影和電視節目。Stremio致力於安全,是無憂、高質量流媒體體驗的終極選擇。","WEBSITE_AVAILABLE_ON":"可用時間","WEBSITE_WATCH_AND_ENJOY":"觀看並享受。","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio讓它變得小菜一碟","WEBSITE_ALL_FEATURES":"全部功能","WEBSITE_EASY_TO_USE":"易於使用","WEBSITE_EASY_TO_USE_DETAILS":"Stremio的設計是用户友好和易於使用。憑藉其乾淨直觀的界面,您可以輕鬆導航並找到想要觀看的內容。","WEBSITE_SEAMLESS_ACROSS_DEVICES":"無縫跨設備","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Stremio可用於各種平台(包括Windows、Mac、Linux、Android等),它將跟蹤您在所有設備上的進度。只需登錄並繼續觀看,無需在每個新設備上再次配置應用程序。","WEBSITE_ALL_DOWNLOADS":"全部下載","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"高清晰度視頻支持","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"集成視頻播放器支持大多數視頻格式,包括4K HDR內容,讓您享受可用的最高質量。","WEBSITE_DIVERSE_CONTENT_LIBRARY":"多樣化的內容庫","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio集成了大量流行的視頻來源,如Netflix、Amazon Prime video、Hulu、YouTube等。","WEBSITE_CREATE_A_FREE_ACCOUNT":"創建免費帳户","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"量身定製的觀看體驗","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio允許您通過更改主題、添加或刪除插件等方式自定義界面的外觀。","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"多語言字幕支持","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"由於Stremio支持所有語言的字幕,您現在可以用您喜歡的語言欣賞所有喜愛的內容。","WEBSITE_ALL_STREMIO_FEATURES":"Stremio的全部功能","WEBSITE_TRY_STREMIO_TITLE_P1":"嘗試Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"現在在你的電視上","WEBSITE_YOU_CAN_NOW_WATCH":"您現在可以在Android電視設備上觀看所有喜愛的電視節目。Stremio電視應用程序讓您輕鬆享受電影之夜。","WEBSITE_YOU_CAN_NOW_WATCH_2":"現在,您可以在智能電視或安卓電視上觀看所有喜愛的電視節目。Stremio電視應用程序讓您輕鬆享受電影之夜。","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"可能是您設備中最好、最有用的應用程序。這是我每天使用的應用程序之一,尤其是多年來在我的安卓電視上。製作精良,擁有強大的社區,提供有用的功能。幹得好。繼續努力。","WEBSITE_REVIEWS":"評論","WEBSITE_GET_STREMIO_FOR_FREE":"免費獲取Stremio","WEBSITE_GET_STREMIO_NOW":"立即獲取Stremio","WEBSITE_STREMIO_FEATURES":"Stremio功能","WEBSITE_STREMIO_FEATURES_DETAILS":"藉助Stremio的高級功能,像專業人士一樣進行流媒體播放,享受對所有喜愛媒體的無縫訪問","WEBSITE_DISCOVER_MORE":"發現更多。","WEBSITE_DISCOVER_MORE_DETAILS":"永遠不要無聊地沒有東西可看","WEBSITE_COMMUNITY_DRIVEN":"社區驅動","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio擁有一個龐大而活躍的用户社區,他們通過創建和共享插件為軟件的開發做出貢獻。","WEBSITE_GET_INVOLVED":"參與進來","WEBSITE_NEW_THEATER_EXPERIENCE":"新劇場體驗","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio的新專用電視應用程序讓您在Android電視設備上享受電影之夜。","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio的新專用電視應用程序讓您在智能電視或安卓電視設備上享受電影之夜。","WEBSITE_FREE_AND_SECURE":"免費和安全","WEBSITE_STREAMING":"流式傳輸","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio為用户提供無與倫比的安全性和隱私。Stremio具有遠程運行插件的獨特功能,與其他平台相比,它提供了一種更安全的方式來流式傳輸您喜愛的內容。您的安全和隱私是首要任務,平台確保您的所有數據都得到保護。","WEBSITE_FREE_AND_SECURE_DETAILS_2":"告別對安全和隱私的擔憂,與Stremio一起向無盡娛樂的世界問好。","WEBSITE_INFORMATION_PROVIDED_BY":"信息來源於","WEBSITE_CONTRIBUTE":"貢獻","WEBSITE_CONTRIBUTE_DESC":"幫助我們讓Stremio變得更好","WEBSITE_COMMUNITY_DESC":"我們相信,創造真正令人驚歎的流媒體體驗的最佳方式是讓我們的社區參與到這個過程中。無論你是程序員、藝術家還是粉絲,你都可以幫助Stremio成長。","WEBSITE_COMMUNITY_DESC_2":"所以,今天就加入我們,成為Stremio社區的一員,繼續塑造流媒體的未來。","WEBSITE_WAYS_TO_GET_INVOLVED":"參與方式","WEBSITE_IN_THE_STREMIO_COMMUNITY":"在Stremio社區","WEBSITE_SHARE_YOUR_THOUGHTS":"分享你的想法","WEBSITE_REPORT_BUGS":"報告Bug","WEBSITE_SUGGEST_FEATURES":"建議功能","WEBSITE_AND_PROVIDE_FEEDBACK":"並在我們的社交媒體渠道上提供反饋。","WEBSITE_BETA_TESTING_PROGRAM":"Beta測試程序","WEBSITE_BETA_TESTING_PROGRAM_DESC":"在Stremio社區參與我們的測試計劃(我們定期發出邀請)。","WEBSITE_JOIN_NOW":"立即加入!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Stremio官方社區","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Stremio非官方社區","WEBSITE_BECOME":"成為","WEBSITE_A_VOLUNTEER_TRANSLATOR":"一位志願翻譯者","WEBSITE_ARE_YOU_A_DEVELOPER":"你是開發者嗎?","WEBSITE_CONTRIBUTE_CODE":"您可以為我們的開源項目貢獻代碼。我們在GitHub上有幾個項目正在尋找貢獻者。如果你有興趣幫忙,可以去看看:","WEBSITE_STREMIO_ON_GITHUB":"GitHub上的Stremio","WEBSITE_CREATE_ADDON_DESC":"創建一個插件以增強Stremio的功能(我們有一個易於使用的API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio插件SDK","WEBSITE_INTERN_DEVELOPER":"我們還提供了作為實習生開發人員加入我們的機會,這樣我們就可以一起成長。","WEBSITE_APPLY_AS_AN_INTERN":"以實習生身份申請","WEBSITE_CALLING_ALL_ARTISTS":"呼叫所有藝術家!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"通過將您的粉絲藝術上傳到我們的在線畫廊,展示您對Stremio的創造力和熱愛。無論是繪畫、繪畫還是數字設計,我們都希望看到您對Stremio品牌的獨特見解。加入我們的藝術愛好者社區,與世界各地的Stremio粉絲分享您的作品。","WEBSITE_STREMIO_FANART_GALLERY":"Stremio粉絲藝術畫廊","WEBSITE_INTERN_DESIGNER":"通過我們激動人心的實習機會,成為我們團隊的一員,將您的創造力提升到新的高度。","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"公共領域電影項目","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"在Stremio,我們致力於通過識別公共領域和孤兒視頻來保護電影和電視的歷史。通過與我們的社區合作,我們可以確保這些經典藝術作品對每個人都是可訪問的,併為後代所保護以供享受。","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"如果您想參與該項目,請隨時與我們聯繫。","WEBSITE_JOIN_THE_PROJECT":"加入項目","WEBSITE_BE_PART_OF_OUR_MISSION":"成為我們使命的一部分","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"有興趣加入斯特雷米奧隊嗎?我們為充滿激情的專業人士提供完全遠程工作。查看我們的空缺職位。","WEBSITE_OPEN_POSITIONS":"空缺職位","WEBSITE_DESCRIPTION":"説明","WEBSITE_LEARN_MORE":"瞭解更多","WEBSITE_COMPANY":"公司","WEBSITE_CONTACTS":"聯繫人","WEBSITE_NEED_HELP":"需要幫助?","WEBSITE_STREMIO_WEB_ON_IOS":"iOS版Stremio Web指南","WEBSITE_LINK_ART_V2":"粉絲藝術畫廊","WEBSITE_PARTNERS":"合作伙伴","WEBSITE_SLOGAN_WATCH":"立即觀看","WEBSITE_SLOGAN_ALL":"一站式視頻娛樂解決方案","WEBSITE_SLOGAN_NEW":"您能觀看一切","WEBSITE_SLOGAN_NEW_NEW":"自由串流","WEBSITE_WATCH_FROM":"觀看","WEBSITE_DOWNLOAD":"立即下載","WEBSITE_DOWNLOAD_FOR":"立即下載","WEBSITE_IS_DESKTOP":"Stremio是一個桌面應用程序,請在PC上打開此頁並下載","WEBSITE_DESKTOP_DEMO_VID":"桌面演示","WEBSITE_PAGE_HOME":"首頁","WEBSITE_PAGE_FEATURES":"功能","WEBSITE_PAGE_ADDONS":"插件","WEBSITE_PAGE_TECH":"技術","WEBSITE_PAGE_CREATE_ADDON":"創建插件","WEBSITE_PAGE_CONTACTS":"聯絡","WEBSITE_PAGE_BLOG":"博客","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"電影","WEBSITE_TYPE_series_PL":"劇集","WEBSITE_TYPE_tv":"直播電視","WEBSITE_TYPE_channel":"頻道","WEBSITE_STREMIO_WHAT_IS":"Stremio是一款幫助您管理和隨時觀看您喜愛的視頻、電影、劇集和電視頻道的應用程序","WEBSITE_FEATURES_WATCH":"立即觀看高清視頻","WEBSITE_FEATURES_WATCH_DETAIL":"點擊並播放您喜愛的電影、劇集、視頻和電視頻道。","WEBSITE_FEATURES_SUBS":"自動加載字幕","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio會自動為您的語言選擇同步字幕。","WEBSITE_FEATURES_SUBS_LABEL":"Your move, chief.","WEBSITE_FEATURES_CAST":"在電視和移動設備上播放","WEBSITE_FEATURES_CAST_DETAIL":"適用於AppleTV、Chromecast、智能電視(DLNA/UPnP)和移動設備。","WEBSITE_LIB":"享受在所有設備上同步的個人庫","WEBSITE_LIB_COLLECT":"從Stremio收集","WEBSITE_LIB_IMPORT":"從Facebook導入","WEBSITE_LIB_LOCAL":"從本地磁盤添加","WEBSITE_BOARD":"首頁 - 通知和推薦的一站式場所","WEBSITE_BOARD_RECOMMEND":"推薦電視節目","WEBSITE_BOARD_TRENDING":"流行電影","WEBSITE_BOARD_NEW":"新視頻","WEBSITE_BOARD_EPISODE":"新一集","WEBSITE_BOARD_1":"想看些有趣的東西嗎?根據您的喜好得到推薦!","WEBSITE_BOARD_2":"當您最喜愛的電視節目或YouTube頻道的新一集播出時獲得通知!","WEBSITE_BOARD_YOUTUBE":"YouTube頻道的新視頻","WEBSITE_BOARD_EPISODES":"您關注的劇集的新一集","WEBSITE_ADDONS":"內容插件","WEBSITE_TECH_DETAIL":"我們熱愛科技,我們熱愛瘋狂的科學!\\nStremio使用了以下開源技術:","WEBSITE_TECH_WCJS":"WebChimera.js允許Stremio以良好的性能播放任何視頻格式。","WEBSITE_TECH_WCJS_EXTRA":"我們是項目的核心貢獻者","WEBSITE_TECH_ELECTRON":"Electron為Stremio提供了一個創新平台。","WEBSITE_TECH_ELECTRON_EXTRA":"我們是項目貢獻者","WEBSITE_TECH_LINVODB":"一種數據庫技術,確保您的數據在任何地方登錄都受管理和可用。","WEBSITE_TECH_LINVODB_EXTRA":"內部技術","WEBSITE_CREATE_ADDON":"創建您的插件","WEBSITE_CREATE_ADDON_DETAIL":"您有提供視頻內容的服務嗎?我們將通過創建插件來幫助您從Stremio的功能中獲益。","WEBSITE_CREATE_ADDON_BENEFITS":"為Stremio創建插件的好處","WEBSITE_P2P_BEAUTY":"點對點流媒體之美","WEBSITE_P2P_1":"可靠且價格合理的全高清/4K視頻點播或流媒體直播","WEBSITE_P2P_2":"提供良好用户體驗的分銷平台","WEBSITE_P2P_3":"我們將創建一個插件來滿足您的確切需要","WEBSITE_P2P_CONTACT":"有興趣嗎?歡迎您通過<a href=\'mailto:office@stremio.com\'>聯繫我們</a>.","WEBSITE_P2P_CONTACT_EXTRA":"我們很樂意幫助您將您的內容集成到Stremio!","WEBSITE_P2P":"偶然間出現了一種改變遊戲名稱的技術。 我們投入了大量的時間和精力來構建我們的點對點(P2P)視頻流媒體引擎,該引擎可提供出色的性能和多功能性,以適應任何用例。\\n請聯繫我們以獲取支持DRM的P2P視頻點播或實時流媒體。","WEBSITE_THOUGHTS":"我們分享的想法:","WEBSITE_SPREAD":"傳播關於Stremio的信息:","WEBSITE_CONTACT":"聯繫我們,我們很高興收到您的來信!","WEBSITE_OPENSOURCE":"有關我們的開源項目,請轉到:","WEBSITE_BITCOIN":"捐贈比特幣:","WEBSITE_FAQ":"常見問題","WEBSITE_FAQ_SHORT":"常見問題","WEBSITE_QUESTIONS":"問題","WEBSITE_TOS":"使用條款","WEBSITE_LEGAL":"法律","WEBSITE_PAGE_ABOUT":"關於","WEBSITE_PAGE_BECOME_PARTNER":"成為合作伙伴","WEBSITE_ALL_YOU_CAN_WATCH":"自由觀看\\n您想看的一切。","WEBSITE_FREEDOM_TO_STREAM":"自由串流","WEBSITE_WHAT_IS_STREMIO":"什麼是Stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio是一個一站式視頻內容聚合中心。在您擁有的任何設備上發現,管理和觀看來自各種來源的視頻。","WEBSITE_WHAT_IS_STREMIO_P2":"電影、電視節目、劇集、電視直播或網絡頻道例如YouTube或Twitch.tv等,您可以在Stremio上找到所有這些內容。","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio是一個現代化的媒體中心,為您的視頻娛樂提供一站式解決方案。您可以通過易於安裝的插件發現,觀看和整理視頻內容。","WEBSITE_WHAT_IS_STREMIO_P2_V2":"電影、電視節目、直播電視或網絡頻道——在Stremio上找到所有這些。","WEBSITE_ENJOI_ON_ALL_DEVICES":"在所有媒體設備上享受","WEBSITE_DEVICES_COLLECT":"從Stremio收集","WEBSITE_DEVICES_IMPORT_FB":"從Facebook導入","WEBSITE_DEVICES_LOCAL":"從本地磁盤添加","WEBSITE_JOIN_THE_PARTY_NOW":"立即加入聚會","WEBSITE_DEVICES_ALL":"易於在所有設備上使用;","WEBSITE_EXTENDABLE_CATALOG":"可無限擴展的視頻目錄;","WEBSITE_ORGANIZE_YOUR_MEDIA":"強大的媒體管理功能;","WEBSITE_AS_SEEN_ON":"如圖所示","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"關於我們","WEBSITE_LINK_TECHNOLOGY":"技術","WEBSITE_LINK_APPS":"應用程序","WEBSITE_LINK_DOWNLOADS":"下載","WEBSITE_MORE":"更多","WEBSITE_LINK_ADDONS":"插件","WEBSITE_LINK_ADDON_SDK":"插件SDK","WEBSITE_LINK_CONTRIBUTE":"貢獻","WEBSITE_LINK_COMMUNITY":"社區","WEBSITE_LINK_BLOG":"博客","WEBSITE_MORE_MORE":"... & 更多","WEBSITE_LINK_HELP":"幫助中心","WEBSITE_LINK_CONTACTS":"業務查詢","WEBSITE_LINK_TOS":"條款和條件","WEBSITE_LINK_PRAVACY":"隱私政策","WEBSITE_SUBSCRIBE":"訂閲","WEBSITE_NEWSLETTER":"加入我們的實時通訊,瞭解精彩的內容","WEBSITE_PLACEHOLDER_EMAIL":"您的電子郵箱","WEBSITE_COMMUNITY":"社區","WEBSITE_LINK_PRAVACY_LEGAL":"隱私與法律","WEBSITE_WHY":"我們為什麼這樣做","WEBSITE_WHY_P1":"在Stremio,我們每天都工作,因為我們想解決視頻點播行業的一個重要問題。每分鐘都有這麼多的新內容發佈,幾乎不可能找到解決的方法。","WEBSITE_WHY_P2":"我們幫助人們瀏覽這個巨大的視頻娛樂世界,發現新的內容來享受。我們的應用程序彙集了電影、劇集、電視直播、網絡頻道等。我們致力於讓用户非常容易地找到他們喜歡的標題和廣播。","WEBSITE_WHY_P3":"您可以隨時在任何設備上使用我們的服務,使Stremio成為您唯一需要的視頻娛樂中心。","WEBSITE_TEAM":"團隊","WEBSITE_TEAM_P":"Stremio團隊雖小但很強大:我們10個人用X語言編寫代碼,分享軟件開發、UI和UX設計、營銷和廣告、商業和初創企業方面的專業知識。","WEBSITE_FEATURES":"功能","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"輕鬆發現新內容","WEBSITE_FEATURES_DISCOVER_P":"輕鬆發現要觀看的新電影、電視節目、劇集和頻道。按類別、流派、評分、時間等瀏覽,或者只需鍵入一個名稱即可找到。Stremio讓尋找新的視頻內容變得輕而易舉。","WEBSITE_FEATURES_ALL_CONTENT":"一塊屏幕顯示所有視頻內容","WEBSITE_FEATURES_ALL_CONTENT_P1":"查看您未看完的電影、劇集或視頻,並繼續觀看;獲得新劇集和版本的通知;瀏覽根據您的觀看習慣獲得的推薦。","WEBSITE_FEATURES_LIBRARY":"管理您的視頻庫","WEBSITE_FEATURES_LIBRARY_P1":"只需點擊一下,即可將任何標題添加到您的Stremio庫中,並按類型、時間或字母順序整齊地排列內容。","WEBSITE_FEATURES_CALENDAR":"記錄您所觀看的一切","WEBSITE_FEATURES_CALENDAR_P1":"獲取添加到庫中的所有電影和系列的日曆可視化。導出您的Stremio日曆並同步它,這樣您就可以隨時知道新的一集或首映何時到來。","WEBSITE_FEATURES_BIG_SCREEN":"在大屏幕上欣賞您的視頻內容","WEBSITE_FEATURES_BIG_SCREEN_P1":"將您正在觀看的任何內容都投屏到另一台設備上,無論是手機、平板電腦還是電視,只需點擊一下即可。","WEBSITE_FEATURES_SOURCES":"觀看不同來源的視頻","WEBSITE_FEATURES_SOURCES_P":"安裝官方和社區插件,欣賞來自多個不同供應商的視頻。","WEBSITE_CREATE_AN_ADDON":"創建插件","WEBSITE_FEATURES_SYNC":"跨設備同步庫並恢復播放","WEBSITE_FEATURES_SYNC_P1":"使用您的帳户在所有設備上登錄,享受同步的庫、插件、播放和日曆。","WEBSITE_FEATURES_EXTENDABLE":"通過插件擴展視頻目錄","WEBSITE_FEATURES_EXTENDABLE_P1":"Stremio插件目錄提供了許多插件,可以從中安裝和觀看各種視頻內容。這包括電影、節目、電視直播、體育、新聞、播客、網絡頻道、視頻遊戲等。","WEBSITE_FEATURES_AUTO_SUBS":"自動加載字幕","WEBSITE_FEATURES_AUTO_SUBS_P1":"通過我們的字幕插件,您可以自動選擇您喜歡的語言。","WEBSITE_FEATURES_CHROMECAST":"投屏到Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"在更大的屏幕上欣賞您的視頻內容,或者將您正在觀看的內容投屏到其他設備上。","WEBSITE_FEATURES_KEEP_TRACK":"跟蹤您最喜愛的電視節目和網絡頻道","WEBSITE_FEATURES_KEEP_TRACK_P1":"獲取您最喜愛的劇集和網絡頻道的新一集的日曆可視化和通知。","WEBSITE_FEATURES_POWER_USER":"超級用户功能","WEBSITE_FEATURES_POWER_USER_P1":"在外部播放器中播放","WEBSITE_FEATURES_POWER_USER_P2":"從Torrent文件或Magnet鏈接播放","WEBSITE_FEATURES_POWER_USER_P3":"從Facebook喜愛或本地磁盤導入您的庫","WEBSITE_ADD_ONS":"插件","WEBSITE_ADD_ONS_P1":"Stremio提供的所有視頻內容都是通過插件系統獲取的,應用程序中沒有內置任何內容或內容提供商。","WEBSITE_ADD_ONS_P2":"有兩組插件可用:官方和社區插件。","WEBSITE_ADD_ONS_P3":"官方插件由Stremio開發和託管,而社區插件由我們的社區成員創建和託管。","WEBSITE_ADDONS_OFFICIAL":"官方插件","WEBSITE_ADDONS_WATCHUB":"從iTunes、Hulu、Amazon和其他英國/美國服務提供商處流式播放您喜愛的電影、劇集和節目。","WEBSITE_ADDONS_YOUTUBE":"觀看您喜愛的YouTube頻道,獲得您關注的貢獻者的新上傳通知。","WEBSITE_ADDONS_FILMON":"免費觀看直播電視、電影和社交電視。600個電視頻道,45000部免費電影,紀錄片以及更多","WEBSITE_ADDONS_OPENSUBTITLES":"多語種影視字幕,每天上傳上千個翻譯字幕。","WEBSITE_ADDONS_COMMUNITY":"社區插件","WEBSITE_ADDONS_FILMON_VOD":"觀看來自Filmon.tv的點播視頻。","WEBSITE_ADDONS_TWICH":"觀看來自Twitch.tv(電子競技行業的視頻流媒體平台)的直播。","WEBSITE_ADDONS_VODO":"觀看完全免費的獨立電影。","WEBSITE_ADDONS_NETFLIX":"觀看Netflix的電影和網劇。","WEBSITE_ADDONS_CREATE":"創建插件","WEBSITE_ADDONS_CREATE_P1":"如果您願意,您可以開發自己的插件。通過這種方式,您可以讓自己和我們的社區訪問新的視頻內容,並接觸到全球數百萬用户的新目標受眾。","WEBSITE_ADDONS_START_CREATE":"要開始,請訪問Stremio插件SDK頁面:","WEBSITE_DOWNLOADS":"下載","WEBSITE_DOWNLOADS_P1":"為了獲得最佳性能,我們建議您使用最新版本的Stremio應用程序。但是,如果出於某種原因,您想使用舊版本,可以在此處下載。","WEBSITE_DOWNLOADS_P1_SHORT":"為了獲得最佳性能,我們建議您使用最新版本的Stremio應用程序,","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio for Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio for macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio for Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio for Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio for iOS(限制版本)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"下載Stremio服務","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service是Stremio Web的配套應用程序。我們建議使用最新版本的Stremio Service。","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"更多下載選項","WEBSITE_DOWNLOAD_NEW":"新!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"我們發佈了Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"Stremio平台是開源的,您可以輕鬆地為當前沒有來源的內容創建一個插件。","WEBSITE_CONTRIBUTE_WHY":"為什麼要創建插件?","WEBSITE_CONTRIBUTE_WHY_P1":"為您的視頻內容吸引新觀眾","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio的用户羣體正在快速增長,在推出的第一年,Stremio在全球獲得了100萬用户,在該平台存在的第二年,這個數字增長到250萬。","WEBSITE_CONTRIBUTE_WHY_P3":"用插件,您可以輕鬆接觸這些觀眾並向他們分發您的視頻內容。","WEBSITE_CONTRIBUTE_ALL":"在一處觀看您喜愛的電影、視頻、劇集和頻道。","WEBSITE_CONTRIBUTE_ALL_P1":"您是Stremio上尚未提供的特定類型內容的粉絲?為它創建一個插件,在市場上最大、最易使用的娛樂中心之一欣賞您喜愛的視頻。","WEBSITE_CONTRIBUTE_ALL_P2":"除此之外,您還會得到其他志同道合的Stremio社區成員的無盡感激。","WEBSITE_CONTRIBUTE_MONETIZE":"通過插件營利,並在其幫助下賺錢","WEBSITE_CONTRIBUTE_MONETIZE_P1":"一旦您為Stremio開發了一個新的插件,您就可以通過多種不同的方式輕鬆地靠其營利。如果您正在考慮此問題,請隨時與我們聯繫","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":",我們很樂意就插件營利選項向您提供諮詢和建議。","WEBSITE_CONTRIBUTE_TRANSLATE":"成為一名志願翻譯者","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"如果您想享受不同語言的Stremio應用程序,您可以加入我們的志願翻譯者社區。他們幫助我們添加多種不同語言的Stremio版本。","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"您想開始嗎?","WEBSITE_TRANSALTE_STREMIO":"翻譯Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"官方社區","WEBSITE_COMMUNITY_OFFICIALS_P1":"成為不斷增長的Stremio社區的一部分。在社交媒體上關注我們,不要害羞地打招呼,我們喜歡聽到粉絲的聲音!","WEBSITE_COMMUNITY_UNOFFICIALS":"非官方社區","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"合作伙伴和支持者","WEBSITE_COMMUNITY_GOODIES":"Stremio特典","WEBSITE_COMMUNITY_WALLPAPERS":"壁紙","WEBSITE_COMMUNITY_ART":"社區藝術畫廊","WEBSITE_LINK_ART":"社區藝術畫廊","WEBSITE_CONTACT_US":"聯繫我們","WEBSITE_CONTACT_US_P1":"如果您有任何問題、意見或建議,請隨時通過下面的聯繫方式與我們聯繫。","WEBSITE_CONTACT_US_P2":"請記住,我們位於保加利亞,因此可能會由於時區差異而延遲處理您的問題。","WEBSITE_CONTACT_US_SUCCESS":"您的信息已發送。我們會在方便的時候儘快給您回覆。","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"請輸入有效的電子郵箱!","WEBSITE_CONTACT_US_Q_RELATED_TO":"您的問題與什麼有關?","WEBSITE_CONTACT_US_Q_OS":"您的操作系統是什麼?","WEBSITE_CONTACT_US_PH_EMAIL":"您的電子郵箱","WEBSITE_CONTACT_US_PH_MESSAGE":"短信","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"發送","WEBSITE_CONTACT_US_Q_1":"如何安裝?","WEBSITE_CONTACT_US_Q_2":"如何卸載?","WEBSITE_CONTACT_US_Q_3":"(HTML)如何製作千層麪?","WEBSITE_CONTACT_US_Q_4":"插件","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"技術","WEBSITE_TECHNOLOGY_P1":"我們熱愛科技,熱愛科學。</br>這是Stremio的動力(它都是開源的)。","WEBSITE_TECHNOLOGY_P_QT":"最佳跨平台軟件開發工具。","WEBSITE_TECHNOLOGY_P_MPV":"一款免費、開源、跨平台的媒體播放器。","WEBSITE_TECHNOLOGY_P_RN":"React Native允許您僅使用JavaScript構建移動應用程序。","WEBSITE_TECHNOLOGY_P_VLC":"嵌入到應用程序中獲取多媒體的媒體框架。","WEBSITE_TECHNOLOGY_P_REALM":"Realm是一個移動平台,是SQLite和Core Data的替代品。","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js是一個開源、跨平台的JavaScript運行環境。","WEBSITE_TECHNOLOGY_P_RUST":"Rust是一種多範式系統編程語言,關注安全性,尤其是安全併發性。","WEBSITE_TECHNOLOGY_CONTRIBUTE":"為項目貢獻力量","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"您可以通過兩種方式為Stremio做貢獻,幫助我們將產品做得更好。","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"您可以通過翻譯平台來貢獻您寶貴的語言技能...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"或","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... 您可以利用您的編程技巧來創建社區插件。","WEBSITE_TRANSLATE_STREMIO":"翻譯Stremio","WEBSITE_404_OH_NO":"糟糕!您要找的頁面不在這裏...","WEBSITE_GO_HOME":"回到主頁","WEBSITE_LINK_OTHER_DOWNLOADS":"其他下載","WEBSITE_FAQ_ABR":"常見問題","WEBSITE_SUPPORT":"支持","WEBSITE_DOWNLOAD_4_0_BETA":"立即下載Stremio 4測試版","WEBSITE_GET_FOR_DESKTOP":"獲取桌面","WEBSITE_LINK_ADDON_COMPETITION":"插件比賽","WEBSITE_LINK_ART_CONTEST":"藝術比賽","WEBSITE_MY_ACCOUNT":"我的賬户","WEBSITE_MAINPAGE_FAQ_001_H1":"什麼是Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio是一個現代化的媒體中心,讓您可以自由觀看任何您想要的東西。","WEBSITE_MAINPAGE_FAQ_002_H1":"它是如何工作的?","WEBSITE_MAINPAGE_FAQ_002_P1":"一旦您在設備上安裝了Stremio並創建了一個帳户,您所要做的就是訪問插件目錄並安裝任何您想要的插件,就可以開始了!","WEBSITE_MAINPAGE_FAQ_002_P2":"之後,您可以進入“發現”或“板”部分,開始探索內容。","WEBSITE_MAINPAGE_FAQ_003_H1":"我可以在這裏看什麼?","WEBSITE_MAINPAGE_FAQ_003_P1":"很多:電影、電視節目、網絡頻道、體育、電視頻道、收聽播客等等。感謝我們的插件系統,您可以訪問各種內容。","WEBSITE_MAINPAGE_FAQ_004_H1":"Stremio是開源的嗎?","WEBSITE_MAINPAGE_FAQ_004_P1":"是的,您可以查看以下鏈接:${1}桌面應用${2}和${3}GitHub組織${4}。","WEBSITE_MAINPAGE_FAQ_005_H1":"Stremio安全嗎?","WEBSITE_MAINPAGE_FAQ_005_P1":"是:因為它是開源軟件,所以代碼可以公開審核,您可以自己查看。","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"我的隱私如何?","WEBSITE_MAINPAGE_FAQ_006_P1":"我們尊重用户隱私,除了創建和同步您的帳户所必需的最低限度外,不收集任何個人數據。","WEBSITE_MAINPAGE_FAQ_006_P2":"註冊時還有一個${1}訪客模式${2},它不需要任何數據:在這種模式下,不會調用我們的後端。然而,這是以犧牲有用的功能為代價的,比如能夠跨設備同步您的庫。","WEBSITE_MAINPAGE_FAQ_007_H1":"我可以投屏到電視嗎?","WEBSITE_MAINPAGE_FAQ_007_P1":"是的,我們支持Chromecast,您可以從桌面和移動應用程序(Android)進行強制轉換。","WEBSITE_MAINPAGE_FAQ_008_H1":"Stremio有多少插件?","WEBSITE_MAINPAGE_FAQ_008_P1":"截至2019年末,超過50個。有關更多信息,請查看我們的插件目錄。","WEBSITE_MAINPAGE_FAQ_009_H1":"Stremio是否可以擴展到插件目錄之外?","WEBSITE_MAINPAGE_FAQ_009_P1":"是的,您應該查看這些:${1}PimpMyStremio${2},${3}Reddit communities${4},${5}Stremio Downloader${6},等等。","WEBSITE_MAINPAGE_FAQ_010_H1":"Stremio支持哪些設備?","WEBSITE_MAINPAGE_FAQ_010_P1":"我們有適用於Windows、Mac和Linux的桌面應用程序。對於移動設備,我們支持Android和iOS,但請記住iOS的功能有限(不支持大多數插件)。","WEBSITE_MAINPAGE_FAQ_010_P2":"有很多基於Android的設備可以在上面運行Stremio,比如NVIDIA Shield和Amazon Fire Stick,但我們並不正式支持它們。","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"您們能為Stremio添加某些內容嗎?","WEBSITE_MAINPAGE_FAQ_011_P1":"抱歉,我們本身不提供任何內容,但是您安裝的Stremio插件越多,您可以找到的內容就越多。","WEBSITE_MAINPAGE_FAQ_012_H1":"Stremio可以播放Magnet鏈接嗎?","WEBSITE_MAINPAGE_FAQ_012_P1":"是的,它還可以播放正常的HTTP鏈接和Torrent文件(拖放)。","WEBSITE_MAINPAGE_FAQ_013_H1":"我可以下載視頻並離線觀看嗎?","WEBSITE_MAINPAGE_FAQ_013_P1":"離線可用是一項即將推出的功能,但如果您允許Stremio在設備上緩存(從“設置”面板),您可以稍後在沒有連接的情況下觀看視頻。","WEBSITE_MAINPAGE_FAQ_014_H1":"什麼都不能用,幫幫我!","WEBSITE_MAINPAGE_FAQ_014_P1":"您確定已安裝插件嗎?如果是,請與我們的${1}幫助中心${2}聯繫","WEBSITE_MAINPAGE_FAQ_015_H1":"Stremio如何維持其開發運營?","WEBSITE_MAINPAGE_FAQ_015_P1":"我們偶爾會播放非侵入性廣告,但我們正在考慮轉向捐贈模式。","WEBSITE_MAINPAGE_FAQ_015_P2":"有關更多問題,請訪問我們的${1}幫助中心${2}。","HELP_LEARN_MORE":"幫助我們瞭解更多有關您的信息。","LIFESTYLE":"生活方式","SPORTS":"體育","FOOD_HEALTH":"飲食與健康","BEAUTY_FASHION":"美麗與時尚","NEWS":"新聞","GAMING":"遊戲","SCIENCE_EDUCATION":"科學與教育","MUSIC":"音樂","TRAVEL":"旅行","LATE_NIGHT":"深夜","REALITY":"真人","COMEDY":"喜劇","DIY":"DIY","TECH":"技術","CINEMA":"影院","CONTINUE":"繼續","SLOW_LOADING":"加載緩慢?","I_GIVE_UP":"我放棄了","LEARN_MORE":"瞭解更多","POOR_SOURCE":"此源不可用或您的網絡連接不夠快","PICK_CATEGORIES_ERR":"您必須至少選擇3個類別","ADJUST_TIMING":"調整時間","ADJUST_SIZE":"調整大小","SEARCH_ANYTHING":"您可以搜索一切...","ALL_CATEGORIES":"全部","SEARCH_CATEGORIES":"電影、劇集、YouTube和電視","SEARCH_PERSONS":"演員、導演和編劇","SEARCH_PROTOCOLS":"HTTP或Magnet鏈接","SEARCH_TYPES":"IMDB/TVDB鏈接","WATCHED":"已觀看","SHOW_LESS":"顯示較少","LAST_SEARCHES":"上次搜索","CLEAR_HISTORY":"清除歷史記錄","CHOOSE_SOME":"選擇其中一些:","NO_WEB_REMOTE":"無法加載Web Remote","STREMIO_OFFLINE":"Stremio離線","STREMIO_EXPENSIVE_CONNECTION":"我們檢測到您正在使用移動數據連接,是否繼續?","USE_DATA":"使用移動數據","WARNING":"警告","MORE_INFO":"更多信息...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"加載...","STREMIO_TV_BACK_TO_LANGUAGES":"返回語言","STREMIO_TV_REMOTE":"遠程","STREMIO_TV_GO_TO":"去往:","STREMIO_TV_OR_SCAN":"或掃描:","STREMIO_TV_ADDON_INSTRUCTIONS":"請按照説明安裝您喜歡的插件。","STREMIO_TV_LIVE_TV":"直播電視","STREMIO_TV_RESUME_WATCHING":"繼續觀看","STREMIO_TV_LOADING_BACKGROUND":"加載背景","STREMIO_TV_CHECKING_AUTHENTICATION":"正在檢測身份驗證","STREMIO_TV_LOADING_BOARD":"加載主頁","STREMIO_TV_LOGIN_HEADER_LINE_1":"我們希望用户在使用我們的軟件時有最好的個性化體驗,","STREMIO_TV_LOGIN_HEADER_LINE_2":"正是出於這個原因,我們懇請您建立和/或登錄您的賬户,","STREMIO_TV_LOGIN_FOOTER_LINE_1":"感謝您的理解,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Stremio團隊","STREMIO_TV_REMOTE_INSTRUCTIONS":"為了在您的智能手機/平板電腦/桌面使用Web Remote:","STREMIO_TV_WIFI_SETUP":"Wi-Fi設置","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle未檢測到互聯網連接。","STREMIO_TV_WIFI_DETAILS_1":"連接到:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"使用密碼:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"在瀏覽器中打開鏈接:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"默認","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"按最近觀看","STREMIO_TV_LIBRARY_SORT_NAME":"按名字","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"按觀看次數","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"季${1}","STREMIO_TV_STREAMS_LOADING":"已加載${1}/${2}插件...","STREMIO_TV_STREAMS_STILL_LOADING":"${1}插件仍在加載...","STREMIO_TV_PLAYER_SETTINGS":"播放器設置","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"字幕延遲","STREMIO_TV_PLAYER_AUDIO_DELAY":"音頻延遲","STREMIO_TV_PLAYER_VIDEO_SCALING":"視頻縮放","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"不支持的流媒體源","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"打開外部鏈接失敗","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"在音頻直通模式下不可調整","STREMIO_TV_PLAYER_PLAY_IN_EXO":"使用ExoPlayer播放","STREMIO_TV_PLAYER_PLAY_IN_VLC":"使用libVLC player播放","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"由於播放錯誤而切換到libVLC player","STREMIO_TV_ADDONS_TITLE":"在手機或PC上使用Stremio安裝或配置插件,然後按\\"同步插件\\"","STREMIO_TV_ADDONS_SUBTITLE":"注意:確保您使用的是相同的Stremio帳户","STREMIO_TV_ADDONS_SYNC_ADDONS":"同步插件","STREMIO_TV_ADDONS_SYNC_SUCCESS":"插件成功同步","STREMIO_TV_ADDONS_SYNC_FAILED":"插件同步失敗","STREMIO_TV_META_LINK_FAILED":"打開元鏈接失敗","STREMIO_TV_CATALOG_LOADING":"目錄仍在加載...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"界面語言已更新","STREMIO_TV_SETTINGS_THEME_UPDATED":"主題已更新","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"默認播放器","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"外部播放器","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"首選語言","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"次要首選語言","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"隧道播放","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"某些設備上可能存在播放問題","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"某些視頻格式可能無法播放","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"幀速率匹配","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"關閉","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"僅幀速率","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"幀速率和分辨率","STREMIO_TV_SETTINGS_NO_CACHING":"無緩存","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"默認","STREMIO_TV_SETTINGS_PROFILE_SOFT":"慢","STREMIO_TV_SETTINGS_PROFILE_FAST":"快","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"超快","STREMIO_TV_SETTINGS_SERVER_URL":"流媒體服務器URL","STREMIO_TV_SETTINGS_SERVER_VERSION":"服務器版本","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"未知","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio版本","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"編輯服務器URL","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"輸入流媒體服務器URL","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"加載時顯示統計信息","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"要閲讀Stremio的隱私政策,請訪問:","STREMIO_TV_SETTINGS_TOS_TEXT":"要閲讀Stremio的條款和條件,請訪問:","STREMIO_TV_NAV_SEARCH":"搜索","STREMIO_TV_NAV_HOME":"主頁","STREMIO_TV_NAV_DISCOVER":"發現","STREMIO_TV_NAV_LIBRARY":"庫","STREMIO_TV_NAV_MOVIES":"電影","STREMIO_TV_NAV_SERIES":"劇集","STREMIO_TV_NAV_CHANNELS":"頻道","STREMIO_TV_NAV_TV":"電視直播","STREMIO_TV_NAV_SETTINGS":"設置","STREMIO_TV_NAV_ADDONS":"插件","STREMIO_TV_LOGIN_TITLE":"鏈接賬户","STREMIO_TV_LOGIN_EXPIRES_IN":"過期日期到","STREMIO_TV_LOGIN_STEP_ONE":"掃描上方的二維碼或轉到","STREMIO_TV_LOGIN_STEP_TWO":"登錄您的Stremio帳户","STREMIO_TV_LOGIN_NEW_LINK":"請求新鏈接","STREMIO_TV_LOGIN_LINK_REFRESHED":"登錄代碼已刷新","STREMIO_TV_SEARCH_PLACEHOLDER":"輸入一些東西","STREMIO_TV_SEARCH_NO_ADDONS":"沒有為目錄請求插件!","STREMIO_TV_SEARCH_BUTTON":"搜索","STREMIO_TV_SEARCH_KEY_DEL":"刪除","STREMIO_TV_SEARCH_KEY_SPACE":"空格","STREMIO_TV_SEARCH_KEY_CLEAR":"清除","STREMIO_TV_SEARCH_HISTORY_TITLE":"搜索歷史","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"您可以搜索標題、演員、頻道...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"清除搜索歷史","STREMIO_TV_FILTERS_DESCRIPTION":"從以下過濾器中選擇一個","STREMIO_TV_STREAMING_SERVER_OFFLINE":"流媒體服務器離線,檢查服務器設置。","FILTERS":"過濾器","SETTINGS":"設置","ACCOUNT":"賬户","LOGOUT":"註銷","THEMES":"主題","PLAYBACK":"播放","PLAYBACK_SPEED":"播放速度","AUDIO_TRACKS":"音軌","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"視頻","SERVER":"服務器","LINKS":"鏈接","ABOUT":"關於","INTERFACE":"界面","ANIMATIONS":"動畫","STATUS":"狀態","LANGUAGE":"語言","SIZE":"大小","DELAY":"延遲","BOLD":"粗體","OPACITY":"Opacity","TEXT_COLOR":"文本顏色","OUTLINE_COLOR":"輪廓顏色","BACKGROUND_COLOR":"背景顏色","BACKGROUND_BLUR":"背景模糊","SEEK_TIME_DURATION":"尋找持續時間","AUTO_PLAY":"自動播放下一集","PLAY_NOW":"現在播放","MARK_AS_WATCHED":"標記為已觀看","MARK_AS_UNWATCHED":"標記為未觀看","REWIND_TO_BEGINNING":"倒回開始","CONTINUE_WATCHING":"繼續觀看","ALL":"全部","SECONDS":"秒","ON":"開","OFF":"關","RELOAD":"重新加載","EDIT_URL":"編輯URL","NONE":"無","EMBEDDED":"內嵌","REMOTE_SWITCH_DEVICES":"開關設備","REMOTE_VIDEOS":"視頻","REMOTE_ADJUST_TIMING":"調整時間","REMOTE_ADJUST_SIZE":"調整大小","REMOTE_COULD_NOT_BE_LOADED":"無法加載Web Remote","REMOTE_RETRY":"重試","TORRENT_PROFILE_DEFAULT":"默認","TORRENT_PROFILE_SOFT":"慢","TORRENT_PROFILE_FAST":"快","TORRENT_PROFILE_ULTRA_FAST":"超快","FAQ_001_H1":"什麼是Stremio?","FAQ_001_P1":"Stremio是專為視頻娛樂而設計的多媒體中心軟件,易於使用。Stremio允許您管理和觀看自己的電影,劇集,頻道和實況電視收藏。","FAQ_001_P2":"Stremio從本地磁盤和插件系統中收集顯示給您的內容。","FAQ_001_P3":"它還會在您感興趣的新劇集/視頻/電影播出時通知您,併為您提供電影推薦。","FAQ_02_H1":"Stremio與Kodi和Plex相比如何?","FAQ_02_P1":"我們受到這兩種軟件的啓發。但是我們有不同的目標——Stremio專門針對娛樂視頻,並通過易於使用成為其主流解決方案。","FAQ_02_P2":"Stremio將永遠不會像Kodi和Plex那樣具有可定製性和豐富的功能,但它更易於使用。只需${1}就可以獲取它,並查看${2}:)","FAQ_03_H1":"Stremio與Netflix相比如何?","FAQ_03_P1":"同樣,Netflix是我們的靈感之一。我們努力實現Netflix的用户體驗,再加上許多附加的好處。但最重要的是,我們讓您可以自由管理自己的庫,並使用我們的插件系統添加新的內容源。","FAQ_03_P2":"這使得Stremio可以無限擴展,因此當您使用Stremio時,您永遠不會侷限於Netflix決定許可的內容。例如,您可以通過Stremio觀看${1}中的內容電影電視${2}, ${3} Twitch.tv${4},${5}YouTube${6},${7}Vodo${8}甚至${9}Netflix${10}本身!","FAQ_04_H1":"Stremio與Flipboard相比如何?","FAQ_04_P1":"我們不常聽到這個問題,除非與初創企業的人交談:)","FAQ_04_P2":"Stremio是通過設計一個內容聚合器來實現的,它本質上就是視頻的Flipboard。這一點在我們的首頁部分非常明顯,它為您提供目錄和新的插曲/新的視頻通知,讓您瞭解您所關注的內容,就像Flipboard一樣。","FAQ_05_H1":"Stremio與Popcorn Time相比如何?","FAQ_05_P1":"Stremio和Popcorn Time在用户界面上很相似,因為沒有很多方法可以正確製作視頻娛樂目錄:)","FAQ_05_P2":"Popcorn Time主要集中在特定來源的流媒體上,但Stremio是不受限制的,只是一個內容聚合器,它沒有鎖定到特定的內容源。","FAQ_05_P3":"此外,我們默認不提供任何Torrent插件,因此Stremio不提供官方功能的Popcorn Time用例。","FAQ_05_P4":"另一個顯著的區別是Popcorn Time是完全開源的,而Stremio是${1}部分開源的${2}。","FAQ_06_H1":"是否要添加此電影/系列?","FAQ_06_P1":"不,對不起 :(","FAQ_06_P2":"正如大多數其他問題中提到的,Stremio本身不提供任何內容,所有內容都是通過插件系統添加的。如果您有內容請求,您可以使用播放器中的“報告”按鈕,它將向您當前使用的插件的作者發送電子郵件。","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"能否為X創建插件?","FAQ_08_P1":"完全有可能。","FAQ_08_P2":"如果您有一個插件的想法,請在${1}office@stremio.com${2}給我們留言,但請確保您的插件想法不會侵犯任何版權或使用條款。","FAQ_08_P3":"目前,我們路線圖上的下一件事是FandangoNOW,Filmon.tv video on demand和Crunchyroll的插件。","FAQ_09_H1":"Stremio是否使用BitTorrent?","FAQ_09_P1":"是的,Stremio支持BitTorrent作為流媒體協議。您可以將其與Torrent插件一起使用,也可以將.Torrent文件拖放到Stremio中,或者將磁鐵鏈接粘貼到搜索欄中。","FAQ_09_P2":"請注意,使用BitTorrent的唯一官方插件是${1}Vodo${2},它提供獨立內容,所有內容都允許與BitTorrent一起分發。","FAQ_09_P3":"我們不支持使用任何可能導致版權侵權的第三方插件。","FAQ_10_H1":"我可以在Stremio中通過官方插件觀看什麼節目?","FAQ_10_P1":"默認情況下,您可以在Stremio與它的嵌入式播放器觀看Filmon.tv,YouTube和Vodo的內容。另外,我們還有一個Twitch.tv插件,以及其他一些插件。","FAQ_10_P2":"此組合提供以下選項:","FAQ_10_L1":"Filmon.tv上的熱門電視頻道,例如E4、BBC、Bollyworld TV","FAQ_10_L2":"YouTube上的所有內容,例如BBC News、Top Gear、Vevo、PewDiePie","FAQ_10_L3":"Vodo上的獨立電影","FAQ_10_L4":"Twitch.tv上的在線遊戲廣播","FAQ_10_P3":"此外,Guidebox和Netflix插件提供了許多內容源,它們不完全在Stremio中播放,而是重定向到給定的服務。例如,Guidebox插件將為您提供可在美國免費播放的精選電影,這些電影來自TubiTV和Crackle等服務。","FAQ_11_H1":"Stremio無法安裝,我該怎麼辦?","FAQ_11_P1":"如果您在Windows上,請嘗試${1}此替代安裝程序${2}。","FAQ_11_P2":"如果您使用的是Mac OS X,請注意,我們不支持任何比OS X Mavericks(10.9)更舊的版本。","FAQ_11_P3":"如果您使用的是Linux,請注意,我們目前只支持64位(x64)Linux。","FAQ_11_P4":"如果您仍然無法解決您的問題,請寫信給我們的${1}Facebook羣組${2}。","FAQ_12_H1":"為什麼我的殺毒軟件會報毒?Stremio安全嗎?","FAQ_12_P1":"我們向您保證Stremio是${1}100%安全的${2}。","FAQ_12_P2":"您的殺毒軟件報毒是因為我們的安裝程序中包含廣告,一些殺毒軟件將其識別為廣告軟件。","FAQ_12_P3":"如果您仍然不確定,可以嘗試我們的${1}替代安裝程序${2}。","FAQ_13_H1":"如何製作插件?","FAQ_13_P1":"對於初學者,我們建議您查看GitHub上的${1}插件系統模塊${2}。","FAQ_13_P2":"之後,您可以按照${1}Hello World教程${2}進行操作。","FAQ_13_P3":"如果您沒有任何編程技能,請在${1}Reddit社區${2}上發佈您的想法,並在${3}office@stremio.com${4}上與我們聯繫您的插件想法。","FAQ_14_H1":"插件是如何發佈的?","FAQ_14_P1":"當您創建一個插件和主機,並在清單中放置一個指向工作插件地址的<b>終端節點</b>字段時,該插件將自動發佈到我們的${1}插件目錄${2}。","FAQ_14_P2":"發生這種情況是因為Stremio插件模塊的服務器部分會自動調用我們的API來聲明插件。當我們的API驗證您的<b>終端節點</b>為有效的插件時,它將開始顯示在目錄中。","FAQ_15_H1":"我可以在瀏覽器中運行Stremio嗎?","FAQ_15_P1":"目前還沒有,但即將到來!","FAQ_15_P2":"如果您想看到Alpha版本,可以在這裏看到:${1}alpha4.strem.io${2}. 請記住,此Alpha版本上已禁用流式處理。我們支持Chrome、Firefox、Opera和Edge","FAQ_16_H1":"電視投屏不起作用/字幕不起作用","FAQ_16_P1":"電視投屏使用DLNA技術,這在不同的電視品牌和型號之間非常不一致。由於這個原因,我們沒有能力在每種情況下都測試它,所以它還遠遠不夠完美。儘管如此,我們仍在不斷改進,但我們無法為您提供DLNA能夠在您的電視上開始正常工作的預計時間。","FAQ_16_P2":"如果您在“投屏”菜單中看不到您的電視,請嘗試禁用網絡連接並重新啓用它(在Windows上,右鍵單擊網絡並使用“啓用/禁用”),以及重新啓動路由器、電視和PC。","FAQ_16_P3":"如果您仍然遇到問題,您可以通過將您的電視品牌和型號信息發送到${1}來幫助我們”office@stremio.com${2}。","FAQ_16_P4":"同時,我們推薦Chromecast,我們非常支持Chromecast,或者直接用HDMI線將電視與PC連接。","FAQ_17_H1":"Stremio卡死和/或崩潰,我能做什麼?","FAQ_17_P1":"首先,如果您使用的是帶有AVG殺毒軟件的Windows 7,這種組合會產生問題。問題出在AVG本身,我們這邊沒有合理的辦法解決。不幸的是,去除或禁用殺毒軟件將不起作用。唯一的解決辦法是用別的東西代替AVG","FAQ_17_P2":"如果不是這個問題,但您仍在使用Windows,請更新到最新的service pack並更新/重新安裝您的GPU驅動程序,然後重試。","FAQ_17_P3":"如果您的問題仍未解決,或者您使用的是Mac或Linux,請寫信給我們,在${1}我們的Facebook羣組${2}報告問題的確切細節。","FAQ_18_H1":"如何製作插件?","FAQ_18_P1":"對於初學者,我們建議您查看GitHub上的${1}插件系統模塊${2}。","FAQ_18_P2":"之後,您可以按照${1}Hello World教程${2}進行操作。","FAQ_18_P3":"如果您沒有任何編程技能,請在${1}Reddit社區${2}上發佈您的想法,並在${3}上與我們聯繫您的插件想法。”office@stremio.com${4}。","FAQ_19_H1":"為什麼Stremio佔用磁盤空間?","FAQ_19_P1":"Stremio有一個<b>本地緩存</b>來臨時保存您流式傳輸的視頻文件。","FAQ_19_P2":"這有兩個好處:第一,它允許Stremio預先緩衝視頻,以確保流媒體更流暢。其次,它將視頻保存在本地緩存中,以便您可以繼續離線觀看。","FAQ_19_P3":"Stremio保留了多少取決於“設置”面板中的<b>緩存設置。Stremio可能會在您的磁盤上保留到設置的數量(例如2GB),除非當前流式傳輸的視頻大於該數量,在這種情況下,必須分配足夠的存儲來保留它,直到您結束流式傳輸。","FAQ_20_H1":"緩存文件夾在哪裏?","FAQ_20_P1":"在Windows上,Stremio緩存位於您在設置中選擇的驅動器中(例如\\"E:\\\\stremio-cache\\")","FAQ_20_P2":"在MacOS上,它位於\\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"在Linux上,它位於\\"~/.stremio/stremio-cache\\"或\\"~/stremio-cache\\"","FAQ_21_H1":"我得到\\"流媒體服務器未找到\\"錯誤,我能做什麼?","FAQ_21_P1":"如果出現此錯誤,則表示以下幾點之一:","FAQ_21_P2":"1)您正試圖通過我們的${1}web版本${2}使用一個由YouTube/BitTorrent源代碼支持的插件。在這種情況下,您應該從${3}我們的網站${4}安裝我們的桌面版本","FAQ_21_P3":"2)Stremio安裝有問題。在這種情況下,請嘗試從${1}網站${2}重新安裝我們的最新桌面版本。如果這沒有幫助,請嘗試禁用殺毒軟件和防火牆,重新啓動電腦,然後重試。如果這依然不起作用,請寫信給我們的${3}Facebook羣組${4}","FAQ_22_H1":"我無法在iOS上看到/使用大多數插件","FAQ_22_P1":"由於Apple App Store條款和條件中的限制,我們限制iOS應用程序只能使用一組特定的插件。","FAQ_22_P2":"不過,請放心,將來會有更多的iOS插件,我們還可能添加一個集成,通過將iOS應用程序連接到Stremio流媒體服務器,您將可以使用所有Stremio插件。"}')},68097:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"電影","TYPE_series":"劇集","TYPE_tv":"電影片道","TYPE_channel":"頻道","TYPE_other":"其他","TYPE_movie_PL":"電影","TYPE_series_PL":"劇集","TYPE_tv_PL":"電影片道","TYPE_channel_PL":"頻道","TYPE_other_PL":"其他","TYPE_ALL":"全部","TYPE":"型別","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"影片","BACK":"返回","MORE":"更多","DONE":"完成","COPY":"複製","SUCCESS":"成功","ERROR":"錯誤","SETTINGS_CASTING_MODE_PICKER":"投屏模式","CASTING_MODE_HLSV2":"預設","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"不轉碼","Discover":"發現","Board":"首頁","Library":"庫","My Library":"我的庫","Calendar":"日曆","NOTIFICATION_ONLINE":"您當前處於線上狀態","NOTIFICATION_OFFLINE":"您當前處於離線狀態","INTERNET_CONNECTION":"網路連線","STORAGE_FULL_TITLE":"警告:儲存空間已滿!","STORAGE_FULL_TEXT":"Stremio將無法儲存您的設定、首選項或登入資訊,考慮重新啟動或重新安裝Stremio。","SEARCH":"搜尋","SEARCH_NO_RESULTS":"未找到結果","SEARCH_EXPLANATION_CONTENT":"搜尋電影、劇集、YouTube和電影片道","SEARCH_EXPLANATION_PEOPLE":"搜尋演員、導演和編劇","SEARCH_PASTE_LINKS":"貼上HTTP和Magnet連結","SEARCH_OR_PASTE_LINK":"搜尋或貼上連結","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"新增到庫中","REMOVE_FROM_LIB":"從庫中刪除","ADDED_TO_LIB":"新增到庫中","REMOVED_FROM_LIB":"從庫中刪除","TRAILER":"預告片","WATCH_TRAILER":"觀看預告片","WATCH_NOW":"立即觀看","SHOW":"檢視","SHOW_MOVIE":"檢視電影","WATCH_RANDOM":"隨機觀看","IMDB_RATING":"IMDb評分","YEAR":"年份","DIRECTOR":"導演","WRITER":"編劇","LEAD_ACTORS":"主演","CAST":"全部演員","CREW":"全部工作人員","SHOW_MORE_CAST":"顯示更多 »","AIRED":"播出時間","SEASONS":"季","GENRE":"型別","GENRE_ALL":"所有流派","CATALOG":"目錄","SUMMARY":"簡介","SHOW_MORE":"顯示更多","SIMILAR":"相似","UPCOMING":"即將上映","ENDED":"已完結","DURATION":"時長","FEATURED":"功能","METADATA":"後設資料","CATEGORY":"類別","LINKS_GENRES":"流派","LINKS_CAST":"演員","LINKS_DIRECTORS":"導演","SEARCH_VIDEOS":"搜尋影片","SEARCH_PLACEHOLDER":"搜尋或貼上URL","ADDON":"外掛","ADDONS":"外掛","OFFICIAL":"官方","ADDONS_OFFICIAL":"官方Stremio外掛","ADDONS_POPULAR":"在您所在的地區很受歡迎","ADDON_FREE":"免費","ADDON_PEERED":"連線","ADDON_SUBSCRIPTION":"訂閱","ADDON_STREAM_GEORESTRICTED":"在您所在的地區不提供","ADDON_STREAM_OFFLINECACHE":"離線快取","ADDON_STREAM_LOCALFILE":"本地檔案","SHARE_ADDON":"分享外掛","AVAILABLE_STREAMS":"可用流媒體","NO_STREAM":"未找到流媒體","ALL_ADDONS":"全部","INSTALL_MORE_ADDONS":"要獲取更多流媒體,請安裝更多外掛","STREAM_NOT_SUPPORTED":"此平臺不支援所選流媒體。","ADDON_CATALOGUE":"顯示所有外掛 »","ADDON_CATALOGUE_MORE":"安裝外掛","REPO_ADDED":"已新增儲存庫","ADDON_REPO_EXIST_ERR":"此外掛集合已存在","ADDON_REPO_ERR":"新增集合時出錯","ADDON_ADD_ERR":"新增外掛時出錯","ERR_ADDON_PROTECTED":"無法解除安裝外掛,它受到保護","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"出了一些問題——身份驗證可能失敗","ERR_NOT_COLLECTION_URL":"不是集合URL","ERR_NOT_ADDON_URL":"不是有效的外掛URL","ERR_DETECTFROMURL":"再此URL中找不到外掛/集合","ADDON_DUPLICATE_WARNING":"警告:重複的外掛","ADDON_COLLECTION_SET_FAILED":"將已安裝的外掛同步到您的賬戶失敗","SETTINGS_DATA_EXPORT":"匯出使用者資料","ADDON_PULL_FAILED":"從您的帳戶同步已安裝的外掛失敗","REFRESH_ON_CLICK":"點選重試","STILL_IN_THEATER":"電影還在影院上映","WATCH_IN_CINEMA":"請到您本地的影院觀看","IN_THEATER":"在影院上映","GET_TICKETS":"購票","UPCOMING_EPISODE":"下一集","UPCOMING_EPISODE_MESSAGE":"這一集即將播出","MISSING_DATE_EPISODE":"缺失的一集日期","MISSING_DATE_EPISODE_MESSAGE":"這一集可能還沒有播出","CHANNEL_NOT_SCRAPED":"這個頻道還沒有被削刮,請過幾分鐘再來。","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"將其新增到庫中,以便在可用時收到通知。","GET_NOTIFIED_WHEN_AVAILABLE":"一旦可用,您將會收到通知。","WARNING_STREAMING_SERVER":"警告:找不到本地流媒體伺服器,來自本地檔案、YouTube、和BitTorrent的流媒體將不可用。","WARNING_STREAMING_SERVER_DISMISS":"忽略","WARNING_STREAMING_SERVER_LATER":"推遲","DECODER_WARNING":"警告:您的硬體可能不支援此影片,請記住,播放可能會很慢。","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"糟糕,播放器錯誤","PLAYER_ERROR_LOOKSLIKE":"看起來似乎","PLAYER_ORIENTATION":"播放器方向","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"鎖定","PLAYER_ORIENTATION_SENSOR_SHORT":"感測器","PLAYER_ORIENTATION_LANDSCAPE":"播放器方向鎖定橫向","PLAYER_ORIENTATION_SENSOR":"播放器方向自動(感測器)","PLAYER_PLAYBACK_SPEED":"播放速度","PLAYER_PLAYBACK_ERROR":"播放錯誤,請重試","PLAYER_PLAYBACK_ERROR_UNKNOWN":"未知錯誤","PLAYER_PLAYBACK_ERROR_DEFAULT":"抱歉,{{productName}}無法播放此影片。","PLAYER_SUBTITLES_LANGUAGES":"字幕語言","PLAYER_SUBTITLES_VARIANTS":"字幕變形","PLAYER_SUBTITLES_SETTINGS":"字幕設定","PLAYER_SUBTITLES_DISABLED":"字幕已關閉","PLAYER_SUBTITLES_VERTICAL_POSIITON":"垂直位置","PLAYER_SUBTITLES_LOADED":"已載入字幕","PLAYER_SUBTITLES_LOADED_EMBEDDED":"已載入嵌入字幕","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"已載入外部字幕","PLAYER_SUBTITLES_LOADED_ORIGIN":"已載入{{origin}}字幕","PLAYER_PLAY":"播放","PLAYER_PAUSE":"暫停","PLAYER_NEXT_VIDEO":"下一個影片","PLAYER_MUTE":"靜音","PLAYER_UNMUTE":"取消靜音","PLAYER_OPEN_IN_EXTERNAL":"在外部播放器中開啟","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"在{{device}}上播放","PLAYER_LIVE":"直播","PLAYER_NEXT_VIDEO_TITLE":"下個影片","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"關閉","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"現在觀看","PLAYER_COPY_STREAM_SUCCESS":"流媒體連結已複製到您的剪貼簿","PLAYER_COPY_STREAM_ERROR":"複製流媒體連結失敗","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","STREAMING_FROM":"流媒體","CASTING_TO":"投屏到","NETWORK_STATUS":"網路狀態","STREAM_SPEED":"串流速度:","STREAM_BUFFERED":"已緩衝:","PEERS_INFO":"節點資訊","PEERS_ACTIVE":"活躍:","PEERS_CONNECTED":"已連線:","PEERS_WAITING":"等待:","TRANSCODING_WARNING":"警告:轉碼影片。","STREAM_LOADING":"載入...","PLAYING_LOCAL":"從本地檔案播放","PLAYING_CACHE":"從快取播放","WRONG_SUBS":"字幕錯誤?","ERR_SUBS_LOADING_TITLE":"載入字幕時出錯","ERR_SUBS_LOADING":"字幕載入失敗:這可能是您正在使用的外掛或網路連線的問題","WARN_FOLLOWING_SUB_ADDONS_FAILED":"以下字幕外掛失敗","ERR_CASTING_UPDATE_TITLE":"無法更新投屏裝置資訊:流媒體伺服器可能離線","CHOOSE_DEVICE":"選擇在哪個裝置上播放","NO_CAST_DEVICES":"無可用投屏裝置。","NO_SETTINGS":"無可用設定。","PHONE_TABLET":"手機/平板電腦","SUBTITLES":"字幕","SUBTITLES_CHANGE":"調整字幕","SUBTITLES_CHANGE_NONE":"抱歉,這種語言沒有其他字幕。","SUBTITLES_CHANGE_ACIVE":"當前字幕&#35;{{subtitlesDialog.activeIdx + 1}}被啟用,點選\\"繼續\\"啟用字幕&#35;{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"或者,","SUBTITLES_ADJUST_DELAY":"調整字幕延遲:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"或在播放時使用<span>G</span> / <span>H</span>鍵進行調整。","SUBTITLES_ADJUST_DELAY_TIP":"提示:您可以在播放時使用<span>G</span> / <span>H</span>鍵進行調整。","SUBTITLES_DELAY":"字幕延遲:","SUBTITLES_LOADING":"載入字幕...","SUBTITLES_UNAVAILABLE":"沒有可用的外部字幕","SUBTITLES_DISABLED":"關閉","EXTERNAL_PLAYER_DISABLED":"關閉","EXTERNAL_PLAYER_ALLOW_CHOOSING":"允許選擇","EXTERNAL_PLAYER_HINT":"提示:有一個設定允許總是在外部播放器中開啟","DONT_SHOW_AGAIN":"不再顯示","SERVICE_INSTALL":"安裝","AUDIO":"音訊","DEFAULT_LANGUAGE":"預設語言","DEFAULT_SECONDARY_LANGUAGE":"預設第二語言","SEASON":"季","EPISODE":"集","EPISODE_ABBREVIATION":"情節提要","SPECIAL":"特別篇","SORT":"排序","SORT_BY":"排序按照","FILTER":"篩選","SORT_TRENDING":"熱門","SORT_RECENT":"最近","SORT_ALPHABET":"首字母","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"評分","SORT_WATCHED":"已觀看","SORT_YEAR":"年份","SELECT_TYPE":"選擇型別","SELECT_SORT":"選擇排序","SELECT_CATALOG":"選擇目錄","SELECT_GENRE":"選擇流派","SORT_LASTWATCHED":"按上次觀看","SORT_NAME":"按名稱","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"按觀看次數","SORT_NOTWATCHED":"not watched","New for You":"新的","New Episodes":"新劇集","New Videos":"新影片","Recommendations":"推薦","LIBRARY_RESUME":"簡介","LIBRARY_PLAY":"播放","LIBRARY_DETAILS":"詳情","LIBRARY_RESUME_DISMISS":"清除","LIBRARY_CLEAR_PROGRESS":"清除進度","LIBRARY_REMOVE":"移除","LIBRARY_NOT_LOGGED_IN":"庫僅適用於已登入的使用者","CALENDAR_NOT_LOGGED_IN":"日曆僅適用於已登入的使用者","NOT_LOGGED_IN_CLOUD":"隨時隨地訪問您喜愛的電影和劇集","NOT_LOGGED_IN_RECOMMENDATIONS":"根據您的觀看歷史量身定製的建議","NOT_LOGGED_IN_NOTIFICATIONS":"再也不要錯過任何一集","NOT_LOGGED_IN_CALENDAR":"定製個人觀看日曆","DISCOVER_FEATURED":"功能","DISCOVER_TOP":"熱門","DISCOVER_OSCAR":"奧斯卡獲獎作品","DISCOVER_WARNING_TITLE":"糟糕!","DISCOVER_EMPTY_CATALOG":"此外掛返回空內容。","DISCOVER_ADULT_WARNING":"此內容僅對成人可見,您是否已滿18週歲?","DISCOVER_NOADDON_WARNING":"警告:此型別沒有可用的Stremio外掛,顯示已儲存的專案,此處不會更新任何內容。","DISCOVER_LOAD_ERR":"內容未載入,發生錯誤。","DISCOVER_ADDON_UNINSTALLED":"此內容不再可用,您可能已解除安裝外掛。","UNINSTALL_THIS_ADDON":"解除安裝此外掛","ERR_ADDON_NOT_INSTALLED":"未安裝此外掛,立即安裝?","DETAIL_RECEIVE_NOTIF_SERIES":"接受新劇集的通知","DETAIL_RECEIVE_NOTIF_VIDEOS":"接受新影片的通知","SIDEBAR_SHOW_STREAMS":"顯示流媒體","RELAUNCH":"立即重新啟動!","UPGRADE":"新版本可用!升級至Stremio的最新版本","RELOAD_UI":"重新載入使用者介面","MANUAL_UPDATE_TITLE":"更新您的Stremio版本","MANUAL_UPDATE_LINE1":"您執行的是一個過時的Stremio版本,這是非常不推薦的。","MANUAL_UPDATE_LINE2":"請儘快更新。","BUTTON_UPDATE_LATTER":"不是現在","BUTTON_UPDATE_NOW":"更新","ANONYMOUS_USER":"匿名使用者","DONT_HAVE_ACC":"還沒有賬戶?","HAVE_ACC":"已經有賬戶了?","PASSWORD":"密碼","PASSWORD_CONFIRM":"確認密碼","EMAIL":"電子郵箱","FB_LOGIN":"使用Facebook登入","FB_NOTHINGSHARED":"未經您的允許,任何內容都不會被共享","FB_NOPOST":"我們不會替您傳送任何東西","OR":"或","I_ACCEPT":"我接受","I_ACCEPT_BY_CLICKING":"透過點選上面的按鈕,我宣告我接受","TOS":"條款和條件","MUST_ACCEPT_TERMS":"您必須接受條款","PASSWORDS_NOMATCH":"密碼不匹配","SIGN_UP":"註冊","SIGN_UP_EMAIL":"使用電子郵箱註冊","CLICK_TO_SIGN_UP":"點選此處註冊。","LOG_IN":"登入","LOG_OUT":"登出","EXIT_FULLSCREEN":"退出全屏模式","ENTER_FULLSCREEN":"進入全屏模式","PLAY_URL_MAGNET_LINK":"播放URL/Magnet連結","HELP_FEEDBACK":"幫助和反饋","TERMS_OF_SERVICE":"服務條款","PRIVACY_POLICY":"隱私政策","ABOUT_STREMIO":"關於Stremio","USER_PANEL":"使用者面板","LOGIN_LABEL":"Login","GUEST_LOGIN":"訪客登入","GUEST_LOGIN_NOTICE":"不建議訪客登入,使用常規登入允許Stremio同步您的庫,接受喜愛的劇集/頻道的通知。您確定要繼續嗎?","GUEST_LOGIN_NOTICE_2":"不建議訪客登入,您將沒有同步的庫和首頁通知,這是Stremio的重要功能。您確定要繼續嗎?","CLICK_HERE":"點選此處","WRONG_PASSWORD":"錯誤的電子郵箱或密碼,如果您忘了密碼,","SET_A_PASS":"設定密碼","RESET_PASSWORD":"重置密碼","FORGOT_PASSWORD":"忘記密碼?","EMAIL_USED_WITH_FB":"此電子郵箱與Facebook登陸一起使用。","INVALID_EMAIL":"請輸入有效的電子郵箱地址","INVALID_PASSWORD":"請輸入有效的密碼","CONN_ERR":"連線錯誤,請稍後再試。\\n\\n如果問題仍然存在,請禁用防火牆/防毒軟體(特別是Bitdefender)。","IMPORT_FROM_GUEST":"從訪客賬戶匯入庫","RECEIVE_UPDATES_EMAIL":"從Stremio接受電子郵件更新","LOGIN_FAILED":"登陸失敗。","SIGNUP_FAILED":"註冊失敗。","SEARCH_FAILED":"搜尋失敗","EMAIL_USED":"此電子郵箱已被使用。","WAITING_FB_LOGIN":"使用Facebook登入...","EXTERNAL_PLAYER_TITLE":"在外部播放器中播放","EXTERNAL_REMEMBER_PLAYER":"您想記住您的選擇嗎","EXTERNAL_ALWAYS_PLAY":"是","EXTERNAL_ONLY_ONCE":"不是","BEST_FIT":"最佳","FIT_SCREEN":"適合螢幕","FILL":"填充","16:9":"16:9","4:3":"4:3","Original":"原始","INTRO_TASTE":"告訴我們您喜歡什麼","INTRO_TASTE_LONG":"告訴我們您想看什麼","INTRO_TASTE_PICK":"選擇{{interestsRemaining}}興趣","INTRO_TASTE_PICK_MORE":"選擇{{interestsRemaining}}更多興趣","INTRO_TASTE_HELP_US":"幫助我們瞭解更多有關您的資訊。","INTRO_TASTE_CHOOSE_THESE":"選擇其中一些:","INTRO_TASTE_CHOOSE_MIN":"至少選3個類別","INTRO_TASTE_CHOOSE_MIN_ERR":"您必須至少選擇3個類別!","INTRO_TASTE_LIFESTYLE":"生活方式","INTRO_TASTE_SPORTS":"體育","INTRO_TASTE_FOOD_HEALTH":"飲食與健康","INTRO_TASTE_BEAUTY_FASHION":"美麗與時尚","INTRO_TASTE_NEWS":"新聞","INTRO_TASTE_GAMING":"遊戲","INTRO_TASTE_SCIENCE_EDU":"科學與教育","INTRO_TASTE_MUSIC":"音樂","INTRO_TASTE_TRAVEL":"旅行","INTRO_TASTE_LATE_NIGHT":"深夜秀","INTRO_TASTE_REALITY":"真人","INTRO_TASTE_COMEDY":"喜劇","INTRO_TASTE_DIY":"DIY","INTRO_TASTE_TECH":"技術","INTRO_TASTE_CINEMA":"影院","ADDON_NOT_SUPPORTED":"此平臺不支援選定的外掛。","ADDON_DISCLAIMER":"使用第三方外掛將始終受到您的責任和您所在的司法管轄區的法律的約束。","ADDON_ACTIVATE":"啟用此外掛?","ADDON_REPO_ADD":"外掛集合URL","ADDON_ADD":"新增","INSTALL_ADDON":"Install addon","ADD_ADDON":"新增外掛","ADD_ADDON_DESCRIPTION":"您可以透過外部連結新增外掛,該連結將顯示在“已安裝的外掛”下。","PASTE_ADDON_URL":"貼上外掛URL","WHATS_NEW":"最新訊息","BUTTON_CONTINUE":"繼續","BUTTON_ACTIVATE":"啟用","BUTTON_ACTIVATED":"已啟用","BUTTON_CANCEL":"取消","BUTTON_SUBMIT":"提交","BUTTON_DISMISS_ALL":"清除全部","BUTTON_VIEW_ALL":"檢視全部","BUTTON_SEE_ALL":"檢視全部","BUTTON_COLOR_TRANSPARENT":"透明度","OPEN_IN_BROWSER":"在瀏覽器中開啟","LIB_EMPTY":"您的庫看起來是空的,看看它有多有用:)","HOW_START":"您可以從這裡開始:","LIB_EMPTY_CAL":"您的日曆顯示您庫中的劇集。","HOW_START_CAL":"下面是如何新增劇集:","LIB_EMPTY_BOARD":"主頁顯示與您的庫相關的通知&amp;推薦。","HOW_START_BOARD_WAIT":"請在您的庫中新增一些劇集或頻道給我們幾分鐘來處理:)","HOW_START_BOARD":"下面是如何向其中新增劇集&amp;電影:","IMPORT_FB":"從<span>Facebook</span>匯入您喜歡的東西","IMPORT_TRAKT":"從<span>Trakt</span>匯入媒體庫","IMPORT_DISCOVER":"從<span>發現</span>中找到有趣的東西","IMPORT_DISK":"匯入<span>本地磁碟</span>上的電影或節目","PLEASE_CREATE_ACC":"請<u>建立一個賬戶</u>以啟用庫同步&amp;主頁。","IMPORT_DISCOVER_SIGNUP":"註冊並從<span>發現</span>中找到有趣的東西","IMPORT_DISK_SIGNUP":"註冊並匯入<span>本地磁碟</span>上的電影或節目","LIB_EMPTY_CLOUD":"雲端庫","LIB_EMPTY_CLOUD_DESC":"在所有裝置上同步個人雲端庫","LIB_EMPTY_EARLY":"第一時間","LIB_EMPTY_EARLY_DESC":"接收新劇集的通知","LIB_EMPTY_PERSONAL":"個性化","LIB_EMPTY_PERSONAL_DESC":"獲取個性化推薦","LIB_EMPTY_CALENDAR_DESC":"安排您的個性化觀看日曆","LIB_EMPTY_ALL":"註冊以獲取所有這些:","LIB_EMPTY_BEST":"註冊以獲得最佳的Stremio","LIB_EMPTY_OTHER":"註冊以啟用日曆和其他炫酷功能","CALENDAR_ADDED":"Stremio日曆已新增到預設桌面日曆中。","CALENDAR_ADDED_MSG":"如果這不起作用,請手動將此URL新增到日曆應用程式中","TRAKT_EXPIRED":"Trakt驗證已過期,請轉到設定並重新驗證","TRAKT_REQUIRES_LOGIN":"Trakt錯誤","TRAKT_REQUIRES_LOGIN_MSG":"您需要登入","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","SETTINGS_LABEL":"設定","SETTINGS_NAV_GENERAL":"常規","SETTINGS_NAV_PLAYER":"播放器","SETTINGS_NAV_STREAMING":"流媒體","SETTINGS_NAV_SHORTCUTS":"快捷鍵","SETTINGS_SHORTCUT_RELOAD_APP":"重新載入應用程式","SETTINGS_SHORTCUT_OPEN_SETTINGS":"開啟設定","SETTINGS_SHORTCUT_SWITCH_TABS":"切換標籤","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"向前迴圈標籤","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"向後迴圈標籤","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"在選單之間導航","SETTINGS_SHORTCUT_GO_TO_SEARCH":"轉到搜尋","SETTINGS_SHORTCUT_EXIT_BACK":"退出/返回","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"切換播放速度選單","SETTINGS_SHORTCUT_MENU_VIDEOS":"切換影片選單","SETTINGS_SHORTCUT_MENU_SUBTITLES":"切換字幕選單","SETTINGS_SHORTCUT_MENU_INFO":"切換資訊選單","SETTINGS_SHORTCUT_FULLSCREEN":"切換全屏","SETTINGS_SHORTCUT_SHOW_CONTROLS":"顯示控制元件","SETTINGS_SHORTCUT_PLAY_PAUSE":"播放/暫停","SETTINGS_SHORTCUT_VOLUME_UP":"增大音量","SETTINGS_SHORTCUT_VOLUME_DOWN":"降低音量","SETTINGS_SHORTCUT_SEEK_NEXT":"尋找下一個","SETTINGS_SHORTCUT_SEEK_PREV":"尋找上一個","SETTINGS_SHORTCUT_SEEK_BACKWARD":"向後搜尋","SETTINGS_SHORTCUT_SEEK_FORWARD":"向前搜尋","SETTINGS_SHORTCUT_PLAY_NEXT":"播放下一個","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"增加字幕大小","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"減小字幕大小","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"增加字幕延遲","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"減少字幕延遲","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"切換側邊欄","SETTINGS_SHORTCUT_OR":"or","SETTINGS_SHORTCUT_TO":"to","SETTINGS_SHORTCUT_SPACE":"空格","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"已驗證","SETTINGS_FACEBOOK_IMPORT":"匯入","SETTINGS_CALENDAR_SUBSCRIBE":"訂閱","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"使用者介面語言","SETTINGS_LAUNCH_STARTUP":"開機時啟動","SETTINGS_VLC_DEFAULT":"使用VLC播放","SETTINGS_UI_LANGUAGE":"使用者介面語言","SETTINGS_UI_ZOOM":"使用者介面縮放","SETTINGS_FULLSCREEN_EXIT":"Esc鍵退出全屏","SETTINGS_GAMEPAD":"啟用遊戲手柄支援","SETTINGS_CLOSE_WINDOW":"關閉視窗時結束應用程式","SETTINGS_SUBTITLES_LANGUAGE":"預設字幕語言","SETTINGS_SUBTITLES_SIZE":"預設字幕大小","SETTINGS_SUBTITLES_BACKGROUND":"字幕背景","SETTINGS_SUBTITLES_COLOR":"字幕顏色","SETTINGS_SUBTITLES_COLOR_OUTLINE":"字幕輪廓顏色","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"字幕背景顏色","SETTINGS_SEEK_KEY":"方向鍵控制進度","SETTINGS_SEEK_KEY_SHIFT":"按住Shift鍵時方向鍵控制進度","SETTINGS_REWIND_FAST_FORWARD_DURATION":"回放和快進持續時間","SETTINGS_BINGE":"自動播放下一集","SETTINGS_NEXT_VIDEO":"顯示播放下一集的通知","SETTINGS_NEXT_VIDEO_TRIGGER":"顯示下一集的通知:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"下一個影片彈出持續時間","SETTINGS_PLAY_IN_BACKGROUND":"在後臺播放","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"在外部播放器中播放","SETTINGS_RESIZE":"播放前自動調整視窗大小","SETTINGS_OVERRIDE_SERVER":"覆蓋流媒體伺服器URL(高階)","SETTINGS_SERVER_URL":"流媒體伺服器URL:","SETTINGS_SERVER_AVAILABLE":"流媒體伺服器可用。","SETTINGS_SERVER_UNAVAILABLE":"流媒體伺服器不可用。","SETTINGS_SERVER_STATUS_ONLINE":"線上","SETTINGS_SERVER_STATUS_ERROR":"錯誤","SETTINGS_SERVER_CONFIGURE_TITLE":"配置流媒體伺服器url","SETTINGS_SERVER_CONFIGURE_INPUT":"輸入流媒體伺服器url","SETTINGS_SERVER_CACHE_SIZE":"快取大小","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent配置","SETTINGS_HTTPS_ENDPOINT":"流媒體HTTPS結點:","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"始終使用最新的測試版","SETTINGS_IMPORT_FB":"從Facebook匯入","SETTINGS_IMPORT_DISK":"從本地磁碟匯入","SETTINGS_IMPORT_TRAKT":"從Trakt匯入","SETTINGS_PAUSE_MINIMIZED":"最小化時暫停播放","SETTINGS_HWDEC":"硬體解碼加速","SETTINGS_BACKGROUND":"後臺播放","SETTINGS_SUBSCRIBE_CALENDAR":"訂閱到日曆","SETTINGS_REQ_EXPORT":"請求匯出資料","SETTINGS_ACC_DELETE":"請求刪除賬戶","SETTINGS_CHANGE_PASSWORD":"更改密碼","SETTINGS_TOS":"服務條款","SETTINGS_SUPPORT":"聯絡支援人員","SETTING_LANGUAGE":"語言","SETTINGS_TRAKT":"Trakt自動跟蹤","SETTINGS_TRAKT_LOGOUT":"從Trakt.tv登出","SETTINGS_TRAKT_LOGOUT_2":"從Trakt登出","SETTINGS_SCAN_FOR_REMOTE":"掃描二維碼開啟遙控器","SETTINGS_DESKTOP_NOTIFICATIONS":"桌面通知","SETTINGS_DATA_SAVER":"移動資料警告","SETTINGS_LANGUAGE_INTERFACE":"介面","SETTINGS_LANGUAGE_SUBS":"預設字幕","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"自動選擇音訊","SETTINGS_DEFAULT_AUDIO_TRACK":"預設音訊","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"賬戶","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"版本","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"在單獨視窗中啟動播放器(高階)","SETTINGS_PLAY_IN_EXTERNAL":"總是在外部播放器中開啟影片","SETTINGS_STORAGE_BUTTON":"清除本地儲存","SETTINGS_STORAGE_MODAL_TITLE":"您確定嗎?","SETTINGS_STORAGE_MODAL_MESSAGE":"這將清除本地儲存並使您登出","SETTINGS_HWDEC_PICKER":"選擇硬體加速解碼設定","SETTINGS_HW_AUTOMATIC":"自動","SETTINGS_HW_DISABLED":"關閉","SETTINGS_HW_ACCELERATED":"解碼加速","SETTINGS_HW_FULL":"全加速","SETTINGS_HW_LEGACY":"舊版","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"字幕","SETTINGS_SECTION_AUDIO":"音訊","SETTINGS_SECTION_CONTROLS":"控制元件","SETTINGS_SECTION_AUTO_PLAY":"自動播放","SETTINGS_SECTION_ADVANCED":"高階","SUBSPICKER_AUDIO":"音訊","SUBSPICKER_SUBTITLES":"外掛字幕","SUBSPICKER_BLACK_BACKGROUND":"使用黑色背景色","SUBSPICKER_VERTICAL_OFFSET":"垂直偏移量","SUBSPICKER_SIZE":"大小","SUBSPICKER_DELAY":"延遲","SUBSPICKER_EMBEDDED_SUBS":"內嵌字幕","MOBILE_PRIVACY_POLICY":"隱私政策","MOBILE_CRASH_REPORTING":"崩潰報告","MOBILE_ZOOM_TO_FILL":"縮放填充螢幕","MOBILE_PASSTHROUGH":"數字音訊輸出(直通)","MOBILE_RUN_LOW_BATTERY":"電池電量低時執行","MOBILE_RUN_FOREGROUND":"作為前臺服務執行","MOBILE_PERFORMANCE":"效能&穩定性","MOBILE_SERVER_ONLINE":"線上","MOBILE_SERVER_OFFLINE":"離線","MOBILE_QR_EXPIRES":"二維碼到期時間","MOBILE_LOG_INTO":"登陸到您的Stremio賬戶","MOBILE_SCAN_QR":"掃描上面的二維碼或轉到","MOBILE_LINK_ACCOUNT":"連結賬戶","MOBILE_SPEEDPICKER_CANCEL":"取消","MOBILE_SPEEDPICKER_LABEL":"選擇播放速度","MOBILE_EMPTY_LIBRARY":"您的庫為空","MOBILE_NO_ADDON_ACTIVE":"沒有活動的此型別Stremio外掛。","MOBILE_ORGANIZER_WARNING":"Stremio Organizer應用程式提供的功能有限,要獲得可播放流的列表和完整的Stremio體驗,請使用Stremio桌面客戶端。","MOBILE_ADDON_LOADING":"仍在載入","MOBILE_ADDONS_LOADING":"外掛仍在載入","MOBILE_ADDON":"外掛","MOBILE_CONFIGURE_ADDON":"配置外掛","MOBILE_CONFIGURE_ADDON_LABEL":"配置外掛","MOBILE_ORGANIZER_ADDONS_WARNING":"Stremio Organizer應用程式僅提供有限的外掛,要獲得完整的Stremio體驗,請使用Stremio桌面客戶端。","MOBILE_DISCONNECT":"斷開連線","MOBILE_LOOKING_FOR_DEVICES":"正在查詢裝置...","MOBILE_CAST_TO":"投屏到","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"刪除帳戶","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"由於法律義務,賬戶刪除不是即時的。在請求刪除您的帳戶後,您將不得不使用不同的電子郵件地址/臉書個人資料在未來建立一個新的Stremio帳戶。","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"確認帳戶刪除","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"您的帳戶是使用Facebook建立的。要刪除您的帳戶,請使用我們的使用者入口網站www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"請提供您的密碼以確認帳戶刪除。","MOBILE_DELETE_ACCOUNT_BUTTON":"刪除帳戶","NAVIGATION_ON":"開啟","NAVIGATION_OFF":"關閉","MARKETING_AGREE":"我同意接收Stremio的營銷通知","QUIT":"退出","CONNECTED":"已連線","AUTHENTICATE":"驗證","CACHING":"快取","SETTINGS_CACHING_DRIVE":"快取磁碟","ENABLE_LOCAL_FILES_ADDON":"啟用本地檔案外掛(需要重新啟動)","LOCAL_ADDON_NOT_ENABLED":"未啟用本地外掛,單擊此處轉到設定並啟用它","ENABLE_REMOTE_HTTPS_CONN":"啟用遠端HTTPS連線","TORRENT_PROFILE":"Torrent配置","DATA_CACHING":"資料快取","MAGNET_PARSING":"分析Magnet連結","January":"一月","February":"二月","March":"三月","April":"四月","May":"五月","June":"六月","July":"七月","August":"八月","September":"九月","October":"十月","November":"十一月","December":"十二月","Monday":"星期一","Tuesday":"星期二","Wednesday":"星期三","Thursday":"星期四","Friday":"星期五","Saturday":"星期六","Sunday":"星期天","Action":"動作","Comedy":"喜劇","War":"戰爭","Family":"家庭","Animation":"動畫","Adventure":"冒險","Fantasy":"幻想","Crime":"犯罪","Mystery":"神秘","Romance":"浪漫","Drama":"劇情","Horror":"恐怖","Thriller":"驚悚","Sci-Fi":"科幻","Music":"音樂","Biography":"傳記","Documentary":"紀錄","Sport":"運動","Musical":"音樂劇","Western":"西部","Film-Noir":"黑色電影","News":"新聞","History":"歷史","Game-Show":"遊戲節目","Reality-TV":"真人秀","Talk-Show":"脫口秀","Film & Entertainment":"電影與娛樂","Gaming":"遊戲","From TV":"電視","Lifestyle":"生活方式","Science & Education":"科學與教育","Cooking & Health":"烹飪與健康","Beauty & Fashion":"美麗與時尚","Sports":"體育","News & Politics":"新聞與政治","How-to & DIY":"DIY","Tech":"技術","Automotive":"汽車","Causes & Non-Profits":"事業與公益","Movies":"影視","Uk Live Tv":"英國直播電視臺","Fashion":"流行","Business News Radio":"商業新聞電臺","Business Tv":"商業電視","Cars & Auto":"汽車與自動化","Comedy Radio":"喜劇電臺","Lifestyle Radio":"生活方式電臺","News Tv":"新聞電視","Food And Wine":"食物與酒","Latino Tv":"拉丁語電視臺","Shopping Tv":"購物電視臺","Religion":"宗教","Kids":"兒童","Body & Soul":"身體與靈魂","Education":"教育","Indian Tv":"印度電視臺","Extreme Sports":"極限運動","Middle Eastern Tv":"中東電視臺","Celebrity Tv":"名人電視臺","Science Tv":"科學電視臺","Bikini babe":"比基尼寶貝","Outdoors":"戶外","German Tv":"德國電視臺","French Tv":"法國電視臺","Italian Tv":"義大利電視臺","Gamer Tv":"伽馬電視臺","Travel":"旅行","Asian Tv":"亞洲電視臺","Entertainment":"遊戲娛樂","News Radio":"新聞電臺","Music Radio":"音樂電臺","Language Learning":"語言學習","Science Radio":"科學電臺","Tech Radio":"科技電臺","Science & Technology Vod":"科技影片點播","new video":"新影片","new episode":"新一集","new movie":"新電影","recommended":"推薦","we recommend":"我們建議","offer of the day":"當日優惠","news":"新聞","music video":"音樂影片","CTX_SHOW_HOTKEYS":"顯示快捷鍵","CTX_DISMISS_NOTIF":"清除通知","CTX_DISMISS_ALL":"全部清除","CTX_SHARE":"分享","CTX_COPY_SHARE_LINK":"複製分享連結","CTX_COPY_MAGNET_LINK":"複製Magnet連結","CTX_COPY_STREAM_LINK":"複製流媒體連結","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"下載此影片","CTX_DOWNLOAD_SUBS":"下載字幕","CTX_VIEW_ON_YOUTUBE":"在YouTube上觀看","CTX_SHOW":"顯示","CTX_PLAY":"播放","CTX_PLAY_IN":"播放","CTX_PLAY_ON":"正在播放","CTX_WATCH_ON":"正在觀看","CTX_WATCH":"觀看","CTX_WATCHED":"已觀看","CTX_WATCH_BEGINNING":"從頭開始觀看","CTX_WATCH_MOBILE":"在移動裝置上觀看","CTX_REWIND":"回到開頭","CTX_MARK_WATCHED":"標記為已觀看","CTX_MARK_NON_WATCHED":"標記為未觀看","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"將其餘部分標記為已觀看","CTX_UNMARK_REST":"將其餘部分標記為未觀看","CTX_RECEIVE_NEW_NOTIF":"接受新通知","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"從快取中刪除","CTX_REMOVE_CACHE_EP":"從快取中刪除集","CTX_OPEN_CONTAINING":"開啟所在資料夾","CTX_REMOVE":"從庫中刪除","CTX_AVAILABLE_OFFLINE":"離線可用","CTX_PAUSED":"暫停","CTX_ALWAYS_ON_TOP":"置頂","CTX_FULLSCREEN":"全屏","CTX_WRONG_SUBS":"錯誤的字幕?","CTX_REPORT_ISSUES":"報告問題","CTX_COPY":"複製","CTX_PASTE":"貼上","CTX_CLEAR":"清除","CTX_CLEAR_RECENT_SEARCHES":"清除最近搜尋記錄","HELLO_THERE":"您好","HOPE_YOU_ENJOY":"我們希望您喜歡Stremio,也許它已經是您最喜歡的應用之一了!","WHO_ARE_WE":"我們是誰?我們是它背後的團隊。在過去三年裡的每天,我們兩個努力工作使這個產品越來越好。","SUPPORT_US":"如果您喜歡Stremio,如果Stremio對您來說很有價值,請傳播它!","SPREAD_THE_WORD":"現在與您的朋友分享傳播關於Stremio的資訊","MORE_PEOPLE":"使用Stremio的人越多,效果就越好!","SEND_A_LINK":"或傳送一個連結到我們的網站","TIP_LOCALFILES":"提示:您可以將本地影片檔案拖放到Stremio中","ADDON_MY":"我的外掛","ADDON_COMMUNITY":"社群外掛","ADDON_OFFICIAL":"官方外掛","ADDON_REPOS":"外掛集合","ADDON_SEARCH":"搜尋外掛","ADDON_INSTALL":"安裝","ADDON_CONFIGURE":"配置","ADDON_UNINSTALL":"解除安裝","ADDON_UPGRADE":"更新","ADDON_INSTALLED":"已安裝","ADDON_INSTALLED_MSG":"外掛已安裝!","ADDON_UPGRADED_MSG":"外掛已更新!","ADDON_UNKNOWN":"未知","ADDON_ERR":"外掛安裝錯誤!","ADDON_DISCONNECTED":"已斷開連線","ADDON_APP_MISSING":"未安裝此源的應用程式,您想現在安裝嗎?","ADDON_APP_INSTALL":"立即安裝","ADDON_PAGE":"外掛頁","ADDON_TOP_CONTENT":"最好從這個外掛","ADDON_PROVIDES":"這個外掛會給您:","ADDON_WATCH":"立即觀看#{types}!","ADDON_WATCH_FREE":"立即免費觀看#{types}!","ADDON_ADDON":"外掛","ADDON_SUPPORTED_TYPES":"支援的型別","ADDON_SUPPORTED_CATALOGS":"支援的目錄","ADDON_PROVIDES_DISCOVER":"發現中的更多#{types}","ADDON_PROVIDES_STREAMS":"觀看#{types}","ADDON_PROVIDES_STREAMS_FREE":"免費觀看#{types}","ADDON_PROVIDES_SUBTITLES":"#{types}的字幕","ADDON_CANTDETECT":"我們無法檢測到正在執行的Stremio,因此我們無法檢測您安裝了哪些外掛。","ERR_NO_META":"找不到有關於此的資訊","ERR_GETTING_META":"檢索有關於此的資訊時出錯","ERR_CANT_PARSE_MAGNET":"無法分析Magnet","ERR_NO_MAGNET_INFOHASH":"Magnet缺少有效的Hash","ERR_NO_FILE_PATH":"沒有檔案路徑無法傳送請求","ERR_NO_TORRENT":"沒有Torrent返回","ERR_NO_SUPPORTERD_FILES":"找不到支援的檔案","ERR_OPENING_FILES":"無法開啟外部檔案","ERR_INVALID_LINK":"無效連結","ERR_REGISTERED_ONLY":"此選項僅適用於已註冊使用者。","ERR_CLIPBOARD":"無法從剪下板播放","ERR_CLIPBOARD_READ":"無法讀取此平臺上的剪下板","ERR_CLIPBOARD_GENERIC":"在剪下板中找不到可播放的URL. 請將URL(例如Magnet連結)複製到影片。","BOARD_CONTINUE_WATCHING":"繼續觀看","BOARD_EXPLANATION_RECOMMENDATIONS":"專門為您挑選的電影。<br />這部電影是一個推薦樣例。","BOARD_EXPLANATION_EPISODES":"這裡是您最喜愛的劇集的新一集。<br />將您關注的劇集新增到庫中。","BOARD_EXPLANATION_VIDEOS":"這裡是您最喜愛的頻道的新一集。<br />將您關注的YouTube頻道新增到庫中。","WEBSITE_ENJOYED_BY":"在全球擁有超過3000萬使用者","WEBSITE_STREAMING_ENHANCED":"流媒體增強","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio提供安全、現代、無縫的娛樂體驗。憑藉其易於使用的介面和多樣化的內容庫,包括4K HDR支援,使用者可以在所有裝置上欣賞他們喜愛的電影和電視節目。Stremio致力於安全,是無憂、高質量流媒體體驗的終極選擇。","WEBSITE_AVAILABLE_ON":"可用時間","WEBSITE_WATCH_AND_ENJOY":"觀看並享受。","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio讓它變得小菜一碟","WEBSITE_ALL_FEATURES":"全部功能","WEBSITE_EASY_TO_USE":"易於使用","WEBSITE_EASY_TO_USE_DETAILS":"Stremio的設計是使用者友好和易於使用。憑藉其乾淨直觀的介面,您可以輕鬆導航並找到想要觀看的內容。","WEBSITE_SEAMLESS_ACROSS_DEVICES":"無縫跨裝置","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Stremio可用於各種平臺(包括Windows、Mac、Linux、Android等),它將跟蹤您在所有裝置上的進度。只需登入並繼續觀看,無需在每個新裝置上再次配置應用程式。","WEBSITE_ALL_DOWNLOADS":"全部下載","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"高畫質晰度影片支援","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"整合影片播放器支援大多數影片格式,包括4K HDR內容,讓您享受可用的最高質量。","WEBSITE_DIVERSE_CONTENT_LIBRARY":"多樣化的內容庫","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio整合了大量流行的影片來源,如Netflix、Amazon Prime video、Hulu、YouTube等。","WEBSITE_CREATE_A_FREE_ACCOUNT":"建立免費帳戶","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"量身定製的觀看體驗","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio允許您透過更改主題、新增或刪除外掛等方式自定義介面的外觀。","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"多語言字幕支援","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"由於Stremio支援所有語言的字幕,您現在可以用您喜歡的語言欣賞所有喜愛的內容。","WEBSITE_ALL_STREMIO_FEATURES":"Stremio的全部功能","WEBSITE_TRY_STREMIO_TITLE_P1":"嘗試Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"現在在你的電視上","WEBSITE_YOU_CAN_NOW_WATCH":"您現在可以在Android電視裝置上觀看所有喜愛的電視節目。Stremio電視應用程式讓您輕鬆享受電影之夜。","WEBSITE_YOU_CAN_NOW_WATCH_2":"現在,您可以在智慧電視或安卓電視上觀看所有喜愛的電視節目。Stremio電視應用程式讓您輕鬆享受電影之夜。","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"可能是您裝置中最好、最有用的應用程式。這是我每天使用的應用程式之一,尤其是多年來在我的安卓電視上。製作精良,擁有強大的社群,提供有用的功能。幹得好。繼續努力。","WEBSITE_REVIEWS":"評論","WEBSITE_GET_STREMIO_FOR_FREE":"免費獲取Stremio","WEBSITE_GET_STREMIO_NOW":"立即獲取Stremio","WEBSITE_STREMIO_FEATURES":"Stremio功能","WEBSITE_STREMIO_FEATURES_DETAILS":"藉助Stremio的高階功能,像專業人士一樣進行流媒體播放,享受對所有喜愛媒體的無縫訪問","WEBSITE_DISCOVER_MORE":"發現更多。","WEBSITE_DISCOVER_MORE_DETAILS":"永遠不要無聊地沒有東西可看","WEBSITE_COMMUNITY_DRIVEN":"社群驅動","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio擁有一個龐大而活躍的使用者社群,他們透過建立和共享外掛為軟體的開發做出貢獻。","WEBSITE_GET_INVOLVED":"參與進來","WEBSITE_NEW_THEATER_EXPERIENCE":"新劇場體驗","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio的新專用電視應用程式讓您在Android電視裝置上享受電影之夜。","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio的新專用電視應用程式讓您在智慧電視或安卓電視裝置上享受電影之夜。","WEBSITE_FREE_AND_SECURE":"免費和安全","WEBSITE_STREAMING":"流式傳輸","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio為使用者提供無與倫比的安全性和隱私。Stremio具有遠端執行外掛的獨特功能,與其他平臺相比,它提供了一種更安全的方式來流式傳輸您喜愛的內容。您的安全和隱私是首要任務,平臺確保您的所有資料都得到保護。","WEBSITE_FREE_AND_SECURE_DETAILS_2":"告別對安全和隱私的擔憂,與Stremio一起向無盡娛樂的世界問好。","WEBSITE_INFORMATION_PROVIDED_BY":"資訊來源於","WEBSITE_CONTRIBUTE":"貢獻","WEBSITE_CONTRIBUTE_DESC":"幫助我們讓Stremio變得更好","WEBSITE_COMMUNITY_DESC":"我們相信,創造真正令人驚歎的流媒體體驗的最佳方式是讓我們的社群參與到這個過程中。無論你是程式設計師、藝術家還是粉絲,你都可以幫助Stremio成長。","WEBSITE_COMMUNITY_DESC_2":"所以,今天就加入我們,成為Stremio社群的一員,繼續塑造流媒體的未來。","WEBSITE_WAYS_TO_GET_INVOLVED":"參與方式","WEBSITE_IN_THE_STREMIO_COMMUNITY":"在Stremio社群","WEBSITE_SHARE_YOUR_THOUGHTS":"分享你的想法","WEBSITE_REPORT_BUGS":"報告Bug","WEBSITE_SUGGEST_FEATURES":"建議功能","WEBSITE_AND_PROVIDE_FEEDBACK":"並在我們的社交媒體渠道上提供反饋。","WEBSITE_BETA_TESTING_PROGRAM":"Beta測試程式","WEBSITE_BETA_TESTING_PROGRAM_DESC":"在Stremio社群參與我們的測試計劃(我們定期發出邀請)。","WEBSITE_JOIN_NOW":"立即加入!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Stremio官方社群","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Stremio非官方社群","WEBSITE_BECOME":"成為","WEBSITE_A_VOLUNTEER_TRANSLATOR":"一位志願翻譯者","WEBSITE_ARE_YOU_A_DEVELOPER":"你是開發者嗎?","WEBSITE_CONTRIBUTE_CODE":"您可以為我們的開源專案貢獻程式碼。我們在GitHub上有幾個專案正在尋找貢獻者。如果你有興趣幫忙,可以去看看:","WEBSITE_STREMIO_ON_GITHUB":"GitHub上的Stremio","WEBSITE_CREATE_ADDON_DESC":"建立一個外掛以增強Stremio的功能(我們有一個易於使用的API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio外掛SDK","WEBSITE_INTERN_DEVELOPER":"我們還提供了作為實習生開發人員加入我們的機會,這樣我們就可以一起成長。","WEBSITE_APPLY_AS_AN_INTERN":"以實習生身份申請","WEBSITE_CALLING_ALL_ARTISTS":"呼叫所有藝術家!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"透過將您的粉絲藝術上傳到我們的線上畫廊,展示您對Stremio的創造力和熱愛。無論是繪畫、繪畫還是數字設計,我們都希望看到您對Stremio品牌的獨特見解。加入我們的藝術愛好者社群,與世界各地的Stremio粉絲分享您的作品。","WEBSITE_STREMIO_FANART_GALLERY":"Stremio粉絲藝術畫廊","WEBSITE_INTERN_DESIGNER":"透過我們激動人心的實習機會,成為我們團隊的一員,將您的創造力提升到新的高度。","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"公共領域電影專案","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"在Stremio,我們致力於透過識別公共領域和孤兒影片來保護電影和電視的歷史。透過與我們的社群合作,我們可以確保這些經典藝術作品對每個人都是可訪問的,併為後代所保護以供享受。","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"如果您想參與該專案,請隨時與我們聯絡。","WEBSITE_JOIN_THE_PROJECT":"加入專案","WEBSITE_BE_PART_OF_OUR_MISSION":"成為我們使命的一部分","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"有興趣加入斯特雷米奧隊嗎?我們為充滿激情的專業人士提供完全遠端工作。檢視我們的空缺職位。","WEBSITE_OPEN_POSITIONS":"空缺職位","WEBSITE_DESCRIPTION":"說明","WEBSITE_LEARN_MORE":"瞭解更多","WEBSITE_COMPANY":"公司","WEBSITE_CONTACTS":"聯絡人","WEBSITE_NEED_HELP":"需要幫助?","WEBSITE_STREMIO_WEB_ON_IOS":"iOS版Stremio Web指南","WEBSITE_LINK_ART_V2":"粉絲藝術畫廊","WEBSITE_PARTNERS":"合作伙伴","WEBSITE_SLOGAN_WATCH":"立即觀看","WEBSITE_SLOGAN_ALL":"一站式影片娛樂解決方案","WEBSITE_SLOGAN_NEW":"您能觀看一切","WEBSITE_SLOGAN_NEW_NEW":"自由串流","WEBSITE_WATCH_FROM":"觀看","WEBSITE_DOWNLOAD":"立即下載","WEBSITE_DOWNLOAD_FOR":"立即下載","WEBSITE_IS_DESKTOP":"Stremio是一個桌面應用程式,請在PC上開啟此頁並下載","WEBSITE_DESKTOP_DEMO_VID":"桌面演示","WEBSITE_PAGE_HOME":"首頁","WEBSITE_PAGE_FEATURES":"功能","WEBSITE_PAGE_ADDONS":"外掛","WEBSITE_PAGE_TECH":"技術","WEBSITE_PAGE_CREATE_ADDON":"建立外掛","WEBSITE_PAGE_CONTACTS":"聯絡","WEBSITE_PAGE_BLOG":"部落格","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"電影","WEBSITE_TYPE_series_PL":"劇集","WEBSITE_TYPE_tv":"直播電視","WEBSITE_TYPE_channel":"頻道","WEBSITE_STREMIO_WHAT_IS":"Stremio是一款幫助您管理和隨時觀看您喜愛的影片、電影、劇集和電影片道的應用程式","WEBSITE_FEATURES_WATCH":"立即觀看高畫質影片","WEBSITE_FEATURES_WATCH_DETAIL":"點選並播放您喜愛的電影、劇集、影片和電影片道。","WEBSITE_FEATURES_SUBS":"自動載入字幕","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio會自動為您的語言選擇同步字幕。","WEBSITE_FEATURES_SUBS_LABEL":"Your move, chief.","WEBSITE_FEATURES_CAST":"在電視和移動裝置上播放","WEBSITE_FEATURES_CAST_DETAIL":"適用於AppleTV、Chromecast、智慧電視(DLNA/UPnP)和移動裝置。","WEBSITE_LIB":"享受在所有裝置上同步的個人庫","WEBSITE_LIB_COLLECT":"從Stremio收集","WEBSITE_LIB_IMPORT":"從Facebook匯入","WEBSITE_LIB_LOCAL":"從本地磁碟新增","WEBSITE_BOARD":"首頁 - 通知和推薦的一站式場所","WEBSITE_BOARD_RECOMMEND":"推薦電視節目","WEBSITE_BOARD_TRENDING":"流行電影","WEBSITE_BOARD_NEW":"新影片","WEBSITE_BOARD_EPISODE":"新一集","WEBSITE_BOARD_1":"想看些有趣的東西嗎?根據您的喜好得到推薦!","WEBSITE_BOARD_2":"當您最喜愛的電視節目或YouTube頻道的新一集播出時獲得通知!","WEBSITE_BOARD_YOUTUBE":"YouTube頻道的新影片","WEBSITE_BOARD_EPISODES":"您關注的劇集的新一集","WEBSITE_ADDONS":"內容外掛","WEBSITE_TECH_DETAIL":"我們熱愛科技,我們熱愛瘋狂的科學!\\nStremio使用了以下開源技術:","WEBSITE_TECH_WCJS":"WebChimera.js允許Stremio以良好的效能播放任何影片格式。","WEBSITE_TECH_WCJS_EXTRA":"我們是專案的核心貢獻者","WEBSITE_TECH_ELECTRON":"Electron為Stremio提供了一個創新平臺。","WEBSITE_TECH_ELECTRON_EXTRA":"我們是專案貢獻者","WEBSITE_TECH_LINVODB":"一種資料庫技術,確保您的資料在任何地方登入都受管理和可用。","WEBSITE_TECH_LINVODB_EXTRA":"內部技術","WEBSITE_CREATE_ADDON":"建立您的外掛","WEBSITE_CREATE_ADDON_DETAIL":"您有提供影片內容的服務嗎?我們將透過建立外掛來幫助您從Stremio的功能中獲益。","WEBSITE_CREATE_ADDON_BENEFITS":"為Stremio建立外掛的好處","WEBSITE_P2P_BEAUTY":"點對點流媒體之美","WEBSITE_P2P_1":"可靠且價格合理的全高畫質/4K影片點播或流媒體直播","WEBSITE_P2P_2":"提供良好使用者體驗的分銷平臺","WEBSITE_P2P_3":"我們將建立一個外掛來滿足您的確切需要","WEBSITE_P2P_CONTACT":"有興趣嗎?歡迎您透過<a href=\'mailto:office@stremio.com\'>聯絡我們</a>.","WEBSITE_P2P_CONTACT_EXTRA":"我們很樂意幫助您將您的內容整合到Stremio!","WEBSITE_P2P":"偶然間出現了一種改變遊戲名稱的技術。 我們投入了大量的時間和精力來構建我們的點對點(P2P)影片流媒體引擎,該引擎可提供出色的效能和多功能性,以適應任何用例。\\n請聯絡我們以獲取支援DRM的P2P影片點播或實時流媒體。","WEBSITE_THOUGHTS":"我們分享的想法:","WEBSITE_SPREAD":"傳播關於Stremio的資訊:","WEBSITE_CONTACT":"聯絡我們,我們很高興收到您的來信!","WEBSITE_OPENSOURCE":"有關我們的開源專案,請轉到:","WEBSITE_BITCOIN":"捐贈比特幣:","WEBSITE_FAQ":"常見問題","WEBSITE_FAQ_SHORT":"常見問題","WEBSITE_QUESTIONS":"問題","WEBSITE_TOS":"使用條款","WEBSITE_LEGAL":"法律","WEBSITE_PAGE_ABOUT":"關於","WEBSITE_PAGE_BECOME_PARTNER":"成為合作伙伴","WEBSITE_ALL_YOU_CAN_WATCH":"自由觀看\\n您想看的一切。","WEBSITE_FREEDOM_TO_STREAM":"自由串流","WEBSITE_WHAT_IS_STREMIO":"什麼是Stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio是一個一站式影片內容聚合中心。在您擁有的任何裝置上發現,管理和觀看來自各種來源的影片。","WEBSITE_WHAT_IS_STREMIO_P2":"電影、電視節目、劇集、電視直播或網路頻道例如YouTube或Twitch.tv等,您可以在Stremio上找到所有這些內容。","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio是一個現代化的媒體中心,為您的影片娛樂提供一站式解決方案。您可以透過易於安裝的外掛發現,觀看和整理影片內容。","WEBSITE_WHAT_IS_STREMIO_P2_V2":"電影、電視節目、直播電視或網路頻道——在Stremio上找到所有這些。","WEBSITE_ENJOI_ON_ALL_DEVICES":"在所有媒體裝置上享受","WEBSITE_DEVICES_COLLECT":"從Stremio收集","WEBSITE_DEVICES_IMPORT_FB":"從Facebook匯入","WEBSITE_DEVICES_LOCAL":"從本地磁碟新增","WEBSITE_JOIN_THE_PARTY_NOW":"立即加入聚會","WEBSITE_DEVICES_ALL":"易於在所有裝置上使用;","WEBSITE_EXTENDABLE_CATALOG":"可無限擴充套件的影片目錄;","WEBSITE_ORGANIZE_YOUR_MEDIA":"強大的媒體管理功能;","WEBSITE_AS_SEEN_ON":"如圖所示","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"關於我們","WEBSITE_LINK_TECHNOLOGY":"技術","WEBSITE_LINK_APPS":"應用程式","WEBSITE_LINK_DOWNLOADS":"下載","WEBSITE_MORE":"更多","WEBSITE_LINK_ADDONS":"外掛","WEBSITE_LINK_ADDON_SDK":"外掛SDK","WEBSITE_LINK_CONTRIBUTE":"貢獻","WEBSITE_LINK_COMMUNITY":"社群","WEBSITE_LINK_BLOG":"部落格","WEBSITE_MORE_MORE":"... & 更多","WEBSITE_LINK_HELP":"幫助中心","WEBSITE_LINK_CONTACTS":"業務查詢","WEBSITE_LINK_TOS":"條款和條件","WEBSITE_LINK_PRAVACY":"隱私政策","WEBSITE_SUBSCRIBE":"訂閱","WEBSITE_NEWSLETTER":"加入我們的實時通訊,瞭解精彩的內容","WEBSITE_PLACEHOLDER_EMAIL":"您的電子郵箱","WEBSITE_COMMUNITY":"社群","WEBSITE_LINK_PRAVACY_LEGAL":"隱私與法律","WEBSITE_WHY":"我們為什麼這樣做","WEBSITE_WHY_P1":"在Stremio,我們每天都工作,因為我們想解決影片點播行業的一個重要問題。每分鐘都有這麼多的新內容釋出,幾乎不可能找到解決的方法。","WEBSITE_WHY_P2":"我們幫助人們瀏覽這個巨大的影片娛樂世界,發現新的內容來享受。我們的應用程式彙集了電影、劇集、電視直播、網路頻道等。我們致力於讓使用者非常容易地找到他們喜歡的標題和廣播。","WEBSITE_WHY_P3":"您可以隨時在任何裝置上使用我們的服務,使Stremio成為您唯一需要的影片娛樂中心。","WEBSITE_TEAM":"團隊","WEBSITE_TEAM_P":"Stremio團隊雖小但很強大:我們10個人用X語言編寫程式碼,分享軟體開發、UI和UX設計、營銷和廣告、商業和初創企業方面的專業知識。","WEBSITE_FEATURES":"功能","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"輕鬆發現新內容","WEBSITE_FEATURES_DISCOVER_P":"輕鬆發現要觀看的新電影、電視節目、劇集和頻道。按類別、流派、評分、時間等瀏覽,或者只需鍵入一個名稱即可找到。Stremio讓尋找新的影片內容變得輕而易舉。","WEBSITE_FEATURES_ALL_CONTENT":"一塊螢幕顯示所有影片內容","WEBSITE_FEATURES_ALL_CONTENT_P1":"檢視您未看完的電影、劇集或影片,並繼續觀看;獲得新劇集和版本的通知;瀏覽根據您的觀看習慣獲得的推薦。","WEBSITE_FEATURES_LIBRARY":"管理您的影片庫","WEBSITE_FEATURES_LIBRARY_P1":"只需點選一下,即可將任何標題新增到您的Stremio庫中,並按型別、時間或字母順序整齊地排列內容。","WEBSITE_FEATURES_CALENDAR":"記錄您所觀看的一切","WEBSITE_FEATURES_CALENDAR_P1":"獲取新增到庫中的所有電影和系列的日曆視覺化。匯出您的Stremio日曆並同步它,這樣您就可以隨時知道新的一集或首映何時到來。","WEBSITE_FEATURES_BIG_SCREEN":"在大螢幕上欣賞您的影片內容","WEBSITE_FEATURES_BIG_SCREEN_P1":"將您正在觀看的任何內容都投屏到另一臺裝置上,無論是手機、平板電腦還是電視,只需點選一下即可。","WEBSITE_FEATURES_SOURCES":"觀看不同來源的影片","WEBSITE_FEATURES_SOURCES_P":"安裝官方和社群外掛,欣賞來自多個不同供應商的影片。","WEBSITE_CREATE_AN_ADDON":"建立外掛","WEBSITE_FEATURES_SYNC":"跨裝置同步庫並恢復播放","WEBSITE_FEATURES_SYNC_P1":"使用您的帳戶在所有裝置上登入,享受同步的庫、外掛、播放和日曆。","WEBSITE_FEATURES_EXTENDABLE":"透過外掛擴充套件影片目錄","WEBSITE_FEATURES_EXTENDABLE_P1":"Stremio外掛目錄提供了許多外掛,可以從中安裝和觀看各種影片內容。這包括電影、節目、電視直播、體育、新聞、播客、網路頻道、影片遊戲等。","WEBSITE_FEATURES_AUTO_SUBS":"自動載入字幕","WEBSITE_FEATURES_AUTO_SUBS_P1":"透過我們的字幕外掛,您可以自動選擇您喜歡的語言。","WEBSITE_FEATURES_CHROMECAST":"投屏到Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"在更大的螢幕上欣賞您的影片內容,或者將您正在觀看的內容投屏到其他裝置上。","WEBSITE_FEATURES_KEEP_TRACK":"跟蹤您最喜愛的電視節目和網路頻道","WEBSITE_FEATURES_KEEP_TRACK_P1":"獲取您最喜愛的劇集和網路頻道的新一集的日曆視覺化和通知。","WEBSITE_FEATURES_POWER_USER":"超級使用者功能","WEBSITE_FEATURES_POWER_USER_P1":"在外部播放器中播放","WEBSITE_FEATURES_POWER_USER_P2":"從Torrent檔案或Magnet連結播放","WEBSITE_FEATURES_POWER_USER_P3":"從Facebook喜愛或本地磁碟匯入您的庫","WEBSITE_ADD_ONS":"外掛","WEBSITE_ADD_ONS_P1":"Stremio提供的所有影片內容都是透過外掛系統獲取的,應用程式中沒有內建任何內容或內容提供商。","WEBSITE_ADD_ONS_P2":"有兩組外掛可用:官方和社群外掛。","WEBSITE_ADD_ONS_P3":"官方外掛由Stremio開發和託管,而社群外掛由我們的社群成員建立和託管。","WEBSITE_ADDONS_OFFICIAL":"官方外掛","WEBSITE_ADDONS_WATCHUB":"從iTunes、Hulu、Amazon和其他英國/美國服務提供商處流式播放您喜愛的電影、劇集和節目。","WEBSITE_ADDONS_YOUTUBE":"觀看您喜愛的YouTube頻道,獲得您關注的貢獻者的新上傳通知。","WEBSITE_ADDONS_FILMON":"免費觀看直播電視、電影和社交電視。600個電影片道,45000部免費電影,紀錄片以及更多","WEBSITE_ADDONS_OPENSUBTITLES":"多語種影視字幕,每天上傳上千個翻譯字幕。","WEBSITE_ADDONS_COMMUNITY":"社群外掛","WEBSITE_ADDONS_FILMON_VOD":"觀看來自Filmon.tv的點播影片。","WEBSITE_ADDONS_TWICH":"觀看來自Twitch.tv(電子競技行業的影片流媒體平臺)的直播。","WEBSITE_ADDONS_VODO":"觀看完全免費的獨立電影。","WEBSITE_ADDONS_NETFLIX":"觀看Netflix的電影和網劇。","WEBSITE_ADDONS_CREATE":"建立外掛","WEBSITE_ADDONS_CREATE_P1":"如果您願意,您可以開發自己的外掛。透過這種方式,您可以讓自己和我們的社群訪問新的影片內容,並接觸到全球數百萬使用者的新目標受眾。","WEBSITE_ADDONS_START_CREATE":"要開始,請訪問Stremio外掛SDK頁面:","WEBSITE_DOWNLOADS":"下載","WEBSITE_DOWNLOADS_P1":"為了獲得最佳效能,我們建議您使用最新版本的Stremio應用程式。但是,如果出於某種原因,您想使用舊版本,可以在此處下載。","WEBSITE_DOWNLOADS_P1_SHORT":"為了獲得最佳效能,我們建議您使用最新版本的Stremio應用程式,","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio for Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio for macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio for Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio for Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio for iOS(限制版本)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"下載Stremio服務","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service是Stremio Web的配套應用程式。我們建議使用最新版本的Stremio Service。","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"更多下載選項","WEBSITE_DOWNLOAD_NEW":"新!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"我們釋出了Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"Stremio平臺是開源的,您可以輕鬆地為當前沒有來源的內容建立一個外掛。","WEBSITE_CONTRIBUTE_WHY":"為什麼要建立外掛?","WEBSITE_CONTRIBUTE_WHY_P1":"為您的影片內容吸引新觀眾","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio的使用者群體正在快速增長,在推出的第一年,Stremio在全球獲得了100萬使用者,在該平臺存在的第二年,這個數字增長到250萬。","WEBSITE_CONTRIBUTE_WHY_P3":"用外掛,您可以輕鬆接觸這些觀眾並向他們分發您的影片內容。","WEBSITE_CONTRIBUTE_ALL":"在一處觀看您喜愛的電影、影片、劇集和頻道。","WEBSITE_CONTRIBUTE_ALL_P1":"您是Stremio上尚未提供的特定型別內容的粉絲?為它建立一個外掛,在市場上最大、最易使用的娛樂中心之一欣賞您喜愛的影片。","WEBSITE_CONTRIBUTE_ALL_P2":"除此之外,您還會得到其他志同道合的Stremio社群成員的無盡感激。","WEBSITE_CONTRIBUTE_MONETIZE":"透過外掛營利,並在其幫助下賺錢","WEBSITE_CONTRIBUTE_MONETIZE_P1":"一旦您為Stremio開發了一個新的外掛,您就可以透過多種不同的方式輕鬆地靠其營利。如果您正在考慮此問題,請隨時與我們聯絡","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":",我們很樂意就外掛營利選項向您提供諮詢和建議。","WEBSITE_CONTRIBUTE_TRANSLATE":"成為一名志願翻譯者","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"如果您想享受不同語言的Stremio應用程式,您可以加入我們的志願翻譯者社群。他們幫助我們新增多種不同語言的Stremio版本。","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"您想開始嗎?","WEBSITE_TRANSALTE_STREMIO":"翻譯Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"官方社群","WEBSITE_COMMUNITY_OFFICIALS_P1":"成為不斷增長的Stremio社群的一部分。在社交媒體上關注我們,不要害羞地打招呼,我們喜歡聽到粉絲的聲音!","WEBSITE_COMMUNITY_UNOFFICIALS":"非官方社群","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"合作伙伴和支持者","WEBSITE_COMMUNITY_GOODIES":"Stremio特典","WEBSITE_COMMUNITY_WALLPAPERS":"桌布","WEBSITE_COMMUNITY_ART":"社群藝術畫廊","WEBSITE_LINK_ART":"社群藝術畫廊","WEBSITE_CONTACT_US":"聯絡我們","WEBSITE_CONTACT_US_P1":"如果您有任何問題、意見或建議,請隨時透過下面的聯絡方式與我們聯絡。","WEBSITE_CONTACT_US_P2":"請記住,我們位於保加利亞,因此可能會由於時區差異而延遲處理您的問題。","WEBSITE_CONTACT_US_SUCCESS":"您的資訊已傳送。我們會在方便的時候儘快給您回覆。","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"請輸入有效的電子郵箱!","WEBSITE_CONTACT_US_Q_RELATED_TO":"您的問題與什麼有關?","WEBSITE_CONTACT_US_Q_OS":"您的作業系統是什麼?","WEBSITE_CONTACT_US_PH_EMAIL":"您的電子郵箱","WEBSITE_CONTACT_US_PH_MESSAGE":"簡訊","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"傳送","WEBSITE_CONTACT_US_Q_1":"如何安裝?","WEBSITE_CONTACT_US_Q_2":"如何解除安裝?","WEBSITE_CONTACT_US_Q_3":"(HTML)如何製作千層麵?","WEBSITE_CONTACT_US_Q_4":"外掛","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"技術","WEBSITE_TECHNOLOGY_P1":"我們熱愛科技,熱愛科學。</br>這是Stremio的動力(它都是開源的)。","WEBSITE_TECHNOLOGY_P_QT":"最佳跨平臺軟體開發工具。","WEBSITE_TECHNOLOGY_P_MPV":"一款免費、開源、跨平臺的媒體播放器。","WEBSITE_TECHNOLOGY_P_RN":"React Native允許您僅使用JavaScript構建移動應用程式。","WEBSITE_TECHNOLOGY_P_VLC":"嵌入到應用程式中獲取多媒體的媒體框架。","WEBSITE_TECHNOLOGY_P_REALM":"Realm是一個移動平臺,是SQLite和Core Data的替代品。","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js是一個開源、跨平臺的JavaScript執行環境。","WEBSITE_TECHNOLOGY_P_RUST":"Rust是一種多正規化系統程式語言,關注安全性,尤其是安全併發性。","WEBSITE_TECHNOLOGY_CONTRIBUTE":"為專案貢獻力量","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"您可以透過兩種方式為Stremio做貢獻,幫助我們將產品做得更好。","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"您可以透過翻譯平臺來貢獻您寶貴的語言技能...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"或","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... 您可以利用您的程式設計技巧來建立社群外掛。","WEBSITE_TRANSLATE_STREMIO":"翻譯Stremio","WEBSITE_404_OH_NO":"糟糕!您要找的頁面不在這裡...","WEBSITE_GO_HOME":"回到主頁","WEBSITE_LINK_OTHER_DOWNLOADS":"其他下載","WEBSITE_FAQ_ABR":"常見問題","WEBSITE_SUPPORT":"支援","WEBSITE_DOWNLOAD_4_0_BETA":"立即下載Stremio 4測試版","WEBSITE_GET_FOR_DESKTOP":"獲取桌面","WEBSITE_LINK_ADDON_COMPETITION":"外掛比賽","WEBSITE_LINK_ART_CONTEST":"藝術比賽","WEBSITE_MY_ACCOUNT":"我的賬戶","WEBSITE_MAINPAGE_FAQ_001_H1":"什麼是Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio是一個現代化的媒體中心,讓您可以自由觀看任何您想要的東西。","WEBSITE_MAINPAGE_FAQ_002_H1":"它是如何工作的?","WEBSITE_MAINPAGE_FAQ_002_P1":"一旦您在裝置上安裝了Stremio並建立了一個帳戶,您所要做的就是訪問外掛目錄並安裝任何您想要的外掛,就可以開始了!","WEBSITE_MAINPAGE_FAQ_002_P2":"之後,您可以進入“發現”或“板”部分,開始探索內容。","WEBSITE_MAINPAGE_FAQ_003_H1":"我可以在這裡看什麼?","WEBSITE_MAINPAGE_FAQ_003_P1":"很多:電影、電視節目、網路頻道、體育、電影片道、收聽播客等等。感謝我們的外掛系統,您可以訪問各種內容。","WEBSITE_MAINPAGE_FAQ_004_H1":"Stremio是開源的嗎?","WEBSITE_MAINPAGE_FAQ_004_P1":"是的,您可以檢視以下連結:${1}桌面應用${2}和${3}GitHub組織${4}。","WEBSITE_MAINPAGE_FAQ_005_H1":"Stremio安全嗎?","WEBSITE_MAINPAGE_FAQ_005_P1":"是:因為它是開源軟體,所以程式碼可以公開稽核,您可以自己檢視。","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"我的隱私如何?","WEBSITE_MAINPAGE_FAQ_006_P1":"我們尊重使用者隱私,除了建立和同步您的帳戶所必需的最低限度外,不收集任何個人資料。","WEBSITE_MAINPAGE_FAQ_006_P2":"註冊時還有一個${1}訪客模式${2},它不需要任何資料:在這種模式下,不會呼叫我們的後端。然而,這是以犧牲有用的功能為代價的,比如能夠跨裝置同步您的庫。","WEBSITE_MAINPAGE_FAQ_007_H1":"我可以投屏到電視嗎?","WEBSITE_MAINPAGE_FAQ_007_P1":"是的,我們支援Chromecast,您可以從桌面和移動應用程式(Android)進行強制轉換。","WEBSITE_MAINPAGE_FAQ_008_H1":"Stremio有多少外掛?","WEBSITE_MAINPAGE_FAQ_008_P1":"截至2019年末,超過50個。有關更多資訊,請檢視我們的外掛目錄。","WEBSITE_MAINPAGE_FAQ_009_H1":"Stremio是否可以擴充套件到外掛目錄之外?","WEBSITE_MAINPAGE_FAQ_009_P1":"是的,您應該檢視這些:${1}PimpMyStremio${2},${3}Reddit communities${4},${5}Stremio Downloader${6},等等。","WEBSITE_MAINPAGE_FAQ_010_H1":"Stremio支援哪些裝置?","WEBSITE_MAINPAGE_FAQ_010_P1":"我們有適用於Windows、Mac和Linux的桌面應用程式。對於移動裝置,我們支援Android和iOS,但請記住iOS的功能有限(不支援大多數外掛)。","WEBSITE_MAINPAGE_FAQ_010_P2":"有很多基於Android的裝置可以在上面執行Stremio,比如NVIDIA Shield和Amazon Fire Stick,但我們並不正式支援它們。","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"您們能為Stremio新增某些內容嗎?","WEBSITE_MAINPAGE_FAQ_011_P1":"抱歉,我們本身不提供任何內容,但是您安裝的Stremio外掛越多,您可以找到的內容就越多。","WEBSITE_MAINPAGE_FAQ_012_H1":"Stremio可以播放Magnet連結嗎?","WEBSITE_MAINPAGE_FAQ_012_P1":"是的,它還可以播放正常的HTTP連結和Torrent檔案(拖放)。","WEBSITE_MAINPAGE_FAQ_013_H1":"我可以下載影片並離線觀看嗎?","WEBSITE_MAINPAGE_FAQ_013_P1":"離線可用是一項即將推出的功能,但如果您允許Stremio在裝置上快取(從“設定”面板),您可以稍後在沒有連線的情況下觀看影片。","WEBSITE_MAINPAGE_FAQ_014_H1":"什麼都不能用,幫幫我!","WEBSITE_MAINPAGE_FAQ_014_P1":"您確定已安裝外掛嗎?如果是,請與我們的${1}幫助中心${2}聯絡","WEBSITE_MAINPAGE_FAQ_015_H1":"Stremio如何維持其開發運營?","WEBSITE_MAINPAGE_FAQ_015_P1":"我們偶爾會播放非侵入性廣告,但我們正在考慮轉向捐贈模式。","WEBSITE_MAINPAGE_FAQ_015_P2":"有關更多問題,請訪問我們的${1}幫助中心${2}。","HELP_LEARN_MORE":"幫助我們瞭解更多有關您的資訊。","LIFESTYLE":"生活方式","SPORTS":"體育","FOOD_HEALTH":"飲食與健康","BEAUTY_FASHION":"美麗與時尚","NEWS":"新聞","GAMING":"遊戲","SCIENCE_EDUCATION":"科學與教育","MUSIC":"音樂","TRAVEL":"旅行","LATE_NIGHT":"深夜","REALITY":"真人","COMEDY":"喜劇","DIY":"DIY","TECH":"技術","CINEMA":"影院","CONTINUE":"繼續","SLOW_LOADING":"載入緩慢?","I_GIVE_UP":"我放棄了","LEARN_MORE":"瞭解更多","POOR_SOURCE":"此源不可用或您的網路連線不夠快","PICK_CATEGORIES_ERR":"您必須至少選擇3個類別","ADJUST_TIMING":"調整時間","ADJUST_SIZE":"調整大小","SEARCH_ANYTHING":"您可以搜尋一切...","ALL_CATEGORIES":"全部","SEARCH_CATEGORIES":"電影、劇集、YouTube和電視","SEARCH_PERSONS":"演員、導演和編劇","SEARCH_PROTOCOLS":"HTTP或Magnet連結","SEARCH_TYPES":"IMDB/TVDB連結","WATCHED":"已觀看","SHOW_LESS":"顯示較少","LAST_SEARCHES":"上次搜尋","CLEAR_HISTORY":"清除歷史記錄","CHOOSE_SOME":"選擇其中一些:","NO_WEB_REMOTE":"無法載入Web Remote","STREMIO_OFFLINE":"Stremio離線","STREMIO_EXPENSIVE_CONNECTION":"我們檢測到您正在使用移動資料連線,是否繼續?","USE_DATA":"使用移動資料","WARNING":"警告","MORE_INFO":"更多資訊...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"載入...","STREMIO_TV_BACK_TO_LANGUAGES":"返回語言","STREMIO_TV_REMOTE":"遠端","STREMIO_TV_GO_TO":"去往:","STREMIO_TV_OR_SCAN":"或掃描:","STREMIO_TV_ADDON_INSTRUCTIONS":"請按照說明安裝您喜歡的外掛。","STREMIO_TV_LIVE_TV":"直播電視","STREMIO_TV_RESUME_WATCHING":"繼續觀看","STREMIO_TV_LOADING_BACKGROUND":"載入背景","STREMIO_TV_CHECKING_AUTHENTICATION":"正在檢測身份驗證","STREMIO_TV_LOADING_BOARD":"載入主頁","STREMIO_TV_LOGIN_HEADER_LINE_1":"我們希望使用者在使用我們的軟體時有最好的個性化體驗,","STREMIO_TV_LOGIN_HEADER_LINE_2":"正是出於這個原因,我們懇請您建立和/或登入您的賬戶,","STREMIO_TV_LOGIN_FOOTER_LINE_1":"感謝您的理解,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Stremio團隊","STREMIO_TV_REMOTE_INSTRUCTIONS":"為了在您的智慧手機/平板電腦/桌面使用Web Remote:","STREMIO_TV_WIFI_SETUP":"Wi-Fi設定","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle未檢測到網際網路連線。","STREMIO_TV_WIFI_DETAILS_1":"連線到:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"使用密碼:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"在瀏覽器中開啟連結:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"預設","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"按最近觀看","STREMIO_TV_LIBRARY_SORT_NAME":"按名字","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"按觀看次數","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"季${1}","STREMIO_TV_STREAMS_LOADING":"已載入${1}/${2}外掛...","STREMIO_TV_STREAMS_STILL_LOADING":"${1}外掛仍在載入...","STREMIO_TV_PLAYER_SETTINGS":"播放器設定","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"字幕延遲","STREMIO_TV_PLAYER_AUDIO_DELAY":"音訊延遲","STREMIO_TV_PLAYER_VIDEO_SCALING":"影片縮放","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"不支援的流媒體源","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"開啟外部連結失敗","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"在音訊直通模式下不可調整","STREMIO_TV_PLAYER_PLAY_IN_EXO":"使用ExoPlayer播放","STREMIO_TV_PLAYER_PLAY_IN_VLC":"使用libVLC player播放","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"由於播放錯誤而切換到libVLC player","STREMIO_TV_ADDONS_TITLE":"在手機或PC上使用Stremio安裝或配置外掛,然後按\\"同步外掛\\"","STREMIO_TV_ADDONS_SUBTITLE":"注意:確保您使用的是相同的Stremio帳戶","STREMIO_TV_ADDONS_SYNC_ADDONS":"同步外掛","STREMIO_TV_ADDONS_SYNC_SUCCESS":"外掛成功同步","STREMIO_TV_ADDONS_SYNC_FAILED":"外掛同步失敗","STREMIO_TV_META_LINK_FAILED":"開啟元連結失敗","STREMIO_TV_CATALOG_LOADING":"目錄仍在載入...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"介面語言已更新","STREMIO_TV_SETTINGS_THEME_UPDATED":"主題已更新","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"預設播放器","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"外部播放器","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"首選語言","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"次要首選語言","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"隧道播放","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"某些裝置上可能存在播放問題","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"某些影片格式可能無法播放","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"幀速率匹配","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"關閉","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"僅幀速率","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"幀速率和解析度","STREMIO_TV_SETTINGS_NO_CACHING":"無快取","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"預設","STREMIO_TV_SETTINGS_PROFILE_SOFT":"慢","STREMIO_TV_SETTINGS_PROFILE_FAST":"快","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"超快","STREMIO_TV_SETTINGS_SERVER_URL":"流媒體伺服器URL","STREMIO_TV_SETTINGS_SERVER_VERSION":"伺服器版本","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"未知","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio版本","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"編輯伺服器URL","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"輸入流媒體伺服器URL","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"載入時顯示統計資訊","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"要閱讀Stremio的隱私政策,請訪問:","STREMIO_TV_SETTINGS_TOS_TEXT":"要閱讀Stremio的條款和條件,請訪問:","STREMIO_TV_NAV_SEARCH":"搜尋","STREMIO_TV_NAV_HOME":"主頁","STREMIO_TV_NAV_DISCOVER":"發現","STREMIO_TV_NAV_LIBRARY":"庫","STREMIO_TV_NAV_MOVIES":"電影","STREMIO_TV_NAV_SERIES":"劇集","STREMIO_TV_NAV_CHANNELS":"頻道","STREMIO_TV_NAV_TV":"電視直播","STREMIO_TV_NAV_SETTINGS":"設定","STREMIO_TV_NAV_ADDONS":"外掛","STREMIO_TV_LOGIN_TITLE":"連結賬戶","STREMIO_TV_LOGIN_EXPIRES_IN":"過期日期到","STREMIO_TV_LOGIN_STEP_ONE":"掃描上方的二維碼或轉到","STREMIO_TV_LOGIN_STEP_TWO":"登入您的Stremio帳戶","STREMIO_TV_LOGIN_NEW_LINK":"請求新連結","STREMIO_TV_LOGIN_LINK_REFRESHED":"登入程式碼已重新整理","STREMIO_TV_SEARCH_PLACEHOLDER":"輸入一些東西","STREMIO_TV_SEARCH_NO_ADDONS":"沒有為目錄請求外掛!","STREMIO_TV_SEARCH_BUTTON":"搜尋","STREMIO_TV_SEARCH_KEY_DEL":"刪除","STREMIO_TV_SEARCH_KEY_SPACE":"空格","STREMIO_TV_SEARCH_KEY_CLEAR":"清除","STREMIO_TV_SEARCH_HISTORY_TITLE":"搜尋歷史","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"您可以搜尋標題、演員、頻道...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"清除搜尋歷史","STREMIO_TV_FILTERS_DESCRIPTION":"從以下過濾器中選擇一個","STREMIO_TV_STREAMING_SERVER_OFFLINE":"流媒體伺服器離線,檢查伺服器設定。","FILTERS":"過濾器","SETTINGS":"設定","ACCOUNT":"賬戶","LOGOUT":"登出","THEMES":"主題","PLAYBACK":"播放","PLAYBACK_SPEED":"播放速度","AUDIO_TRACKS":"音軌","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"影片","SERVER":"伺服器","LINKS":"連結","ABOUT":"關於","INTERFACE":"介面","ANIMATIONS":"動畫","STATUS":"狀態","LANGUAGE":"語言","SIZE":"大小","DELAY":"延遲","BOLD":"粗體","OPACITY":"Opacity","TEXT_COLOR":"文字顏色","OUTLINE_COLOR":"輪廓顏色","BACKGROUND_COLOR":"背景顏色","BACKGROUND_BLUR":"背景模糊","SEEK_TIME_DURATION":"尋找持續時間","AUTO_PLAY":"自動播放下一集","PLAY_NOW":"現在播放","MARK_AS_WATCHED":"標記為已觀看","MARK_AS_UNWATCHED":"標記為未觀看","REWIND_TO_BEGINNING":"倒回開始","CONTINUE_WATCHING":"繼續觀看","ALL":"全部","SECONDS":"秒","ON":"開","OFF":"關","RELOAD":"重新載入","EDIT_URL":"編輯URL","NONE":"無","EMBEDDED":"內嵌","REMOTE_SWITCH_DEVICES":"開關裝置","REMOTE_VIDEOS":"影片","REMOTE_ADJUST_TIMING":"調整時間","REMOTE_ADJUST_SIZE":"調整大小","REMOTE_COULD_NOT_BE_LOADED":"無法載入Web Remote","REMOTE_RETRY":"重試","TORRENT_PROFILE_DEFAULT":"預設","TORRENT_PROFILE_SOFT":"慢","TORRENT_PROFILE_FAST":"快","TORRENT_PROFILE_ULTRA_FAST":"超快","FAQ_001_H1":"什麼是Stremio?","FAQ_001_P1":"Stremio是專為影片娛樂而設計的多媒體中心軟體,易於使用。Stremio允許您管理和觀看自己的電影,劇集,頻道和實況電視收藏。","FAQ_001_P2":"Stremio從本地磁碟和外掛系統中收集顯示給您的內容。","FAQ_001_P3":"它還會在您感興趣的新劇集/影片/電影播出時通知您,併為您提供電影推薦。","FAQ_02_H1":"Stremio與Kodi和Plex相比如何?","FAQ_02_P1":"我們受到這兩種軟體的啟發。但是我們有不同的目標——Stremio專門針對娛樂影片,並透過易於使用成為其主流解決方案。","FAQ_02_P2":"Stremio將永遠不會像Kodi和Plex那樣具有可定製性和豐富的功能,但它更易於使用。只需${1}就可以獲取它,並檢視${2}:)","FAQ_03_H1":"Stremio與Netflix相比如何?","FAQ_03_P1":"同樣,Netflix是我們的靈感之一。我們努力實現Netflix的使用者體驗,再加上許多附加的好處。但最重要的是,我們讓您可以自由管理自己的庫,並使用我們的外掛系統新增新的內容源。","FAQ_03_P2":"這使得Stremio可以無限擴充套件,因此當您使用Stremio時,您永遠不會侷限於Netflix決定許可的內容。例如,您可以透過Stremio觀看${1}中的內容電影電視${2}, ${3} Twitch.tv${4},${5}YouTube${6},${7}Vodo${8}甚至${9}Netflix${10}本身!","FAQ_04_H1":"Stremio與Flipboard相比如何?","FAQ_04_P1":"我們不常聽到這個問題,除非與初創企業的人交談:)","FAQ_04_P2":"Stremio是透過設計一個內容聚合器來實現的,它本質上就是影片的Flipboard。這一點在我們的首頁部分非常明顯,它為您提供目錄和新的插曲/新的影片通知,讓您瞭解您所關注的內容,就像Flipboard一樣。","FAQ_05_H1":"Stremio與Popcorn Time相比如何?","FAQ_05_P1":"Stremio和Popcorn Time在使用者介面上很相似,因為沒有很多方法可以正確製作影片娛樂目錄:)","FAQ_05_P2":"Popcorn Time主要集中在特定來源的流媒體上,但Stremio是不受限制的,只是一個內容聚合器,它沒有鎖定到特定的內容源。","FAQ_05_P3":"此外,我們預設不提供任何Torrent外掛,因此Stremio不提供官方功能的Popcorn Time用例。","FAQ_05_P4":"另一個顯著的區別是Popcorn Time是完全開源的,而Stremio是${1}部分開源的${2}。","FAQ_06_H1":"是否要新增此電影/系列?","FAQ_06_P1":"不,對不起 :(","FAQ_06_P2":"正如大多數其他問題中提到的,Stremio本身不提供任何內容,所有內容都是透過外掛系統新增的。如果您有內容請求,您可以使用播放器中的“報告”按鈕,它將向您當前使用的外掛的作者傳送電子郵件。","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"能否為X建立外掛?","FAQ_08_P1":"完全有可能。","FAQ_08_P2":"如果您有一個外掛的想法,請在${1}office@stremio.com${2}給我們留言,但請確保您的外掛想法不會侵犯任何版權或使用條款。","FAQ_08_P3":"目前,我們路線圖上的下一件事是FandangoNOW,Filmon.tv video on demand和Crunchyroll的外掛。","FAQ_09_H1":"Stremio是否使用BitTorrent?","FAQ_09_P1":"是的,Stremio支援BitTorrent作為流媒體協議。您可以將其與Torrent外掛一起使用,也可以將.Torrent檔案拖放到Stremio中,或者將磁鐵連結貼上到搜尋欄中。","FAQ_09_P2":"請注意,使用BitTorrent的唯一官方外掛是${1}Vodo${2},它提供獨立內容,所有內容都允許與BitTorrent一起分發。","FAQ_09_P3":"我們不支援使用任何可能導致版權侵權的第三方外掛。","FAQ_10_H1":"我可以在Stremio中透過官方外掛觀看什麼節目?","FAQ_10_P1":"預設情況下,您可以在Stremio與它的嵌入式播放器觀看Filmon.tv,YouTube和Vodo的內容。另外,我們還有一個Twitch.tv外掛,以及其他一些外掛。","FAQ_10_P2":"此組合提供以下選項:","FAQ_10_L1":"Filmon.tv上的熱門電影片道,例如E4、BBC、Bollyworld TV","FAQ_10_L2":"YouTube上的所有內容,例如BBC News、Top Gear、Vevo、PewDiePie","FAQ_10_L3":"Vodo上的獨立電影","FAQ_10_L4":"Twitch.tv上的線上遊戲廣播","FAQ_10_P3":"此外,Guidebox和Netflix外掛提供了許多內容源,它們不完全在Stremio中播放,而是重定向到給定的服務。例如,Guidebox外掛將為您提供可在美國免費播放的精選電影,這些電影來自TubiTV和Crackle等服務。","FAQ_11_H1":"Stremio無法安裝,我該怎麼辦?","FAQ_11_P1":"如果您在Windows上,請嘗試${1}此替代安裝程式${2}。","FAQ_11_P2":"如果您使用的是Mac OS X,請注意,我們不支援任何比OS X Mavericks(10.9)更舊的版本。","FAQ_11_P3":"如果您使用的是Linux,請注意,我們目前只支援64位(x64)Linux。","FAQ_11_P4":"如果您仍然無法解決您的問題,請寫信給我們的${1}Facebook群組${2}。","FAQ_12_H1":"為什麼我的防毒軟體會報毒?Stremio安全嗎?","FAQ_12_P1":"我們向您保證Stremio是${1}100%安全的${2}。","FAQ_12_P2":"您的防毒軟體報毒是因為我們的安裝程式中包含廣告,一些防毒軟體將其識別為廣告軟體。","FAQ_12_P3":"如果您仍然不確定,可以嘗試我們的${1}替代安裝程式${2}。","FAQ_13_H1":"如何製作外掛?","FAQ_13_P1":"對於初學者,我們建議您檢視GitHub上的${1}外掛系統模組${2}。","FAQ_13_P2":"之後,您可以按照${1}Hello World教程${2}進行操作。","FAQ_13_P3":"如果您沒有任何程式設計技能,請在${1}Reddit社群${2}上釋出您的想法,並在${3}office@stremio.com${4}上與我們聯絡您的外掛想法。","FAQ_14_H1":"外掛是如何釋出的?","FAQ_14_P1":"當您建立一個外掛和主機,並在清單中放置一個指向工作外掛地址的<b>終端節點</b>欄位時,該外掛將自動釋出到我們的${1}外掛目錄${2}。","FAQ_14_P2":"發生這種情況是因為Stremio外掛模組的伺服器部分會自動呼叫我們的API來宣告外掛。當我們的API驗證您的<b>終端節點</b>為有效的外掛時,它將開始顯示在目錄中。","FAQ_15_H1":"我可以在瀏覽器中執行Stremio嗎?","FAQ_15_P1":"目前還沒有,但即將到來!","FAQ_15_P2":"如果您想看到Alpha版本,可以在這裡看到:${1}alpha4.strem.io${2}. 請記住,此Alpha版本上已禁用流式處理。我們支援Chrome、Firefox、Opera和Edge","FAQ_16_H1":"電視投屏不起作用/字幕不起作用","FAQ_16_P1":"電視投屏使用DLNA技術,這在不同的電視品牌和型號之間非常不一致。由於這個原因,我們沒有能力在每種情況下都測試它,所以它還遠遠不夠完美。儘管如此,我們仍在不斷改進,但我們無法為您提供DLNA能夠在您的電視上開始正常工作的預計時間。","FAQ_16_P2":"如果您在“投屏”選單中看不到您的電視,請嘗試禁用網路連線並重新啟用它(在Windows上,右鍵單擊網路並使用“啟用/禁用”),以及重新啟動路由器、電視和PC。","FAQ_16_P3":"如果您仍然遇到問題,您可以透過將您的電視品牌和型號資訊傳送到${1}來幫助我們”office@stremio.com${2}。","FAQ_16_P4":"同時,我們推薦Chromecast,我們非常支援Chromecast,或者直接用HDMI線將電視與PC連線。","FAQ_17_H1":"Stremio卡死和/或崩潰,我能做什麼?","FAQ_17_P1":"首先,如果您使用的是帶有AVG防毒軟體的Windows 7,這種組合會產生問題。問題出在AVG本身,我們這邊沒有合理的辦法解決。不幸的是,去除或禁用防毒軟體將不起作用。唯一的解決辦法是用別的東西代替AVG","FAQ_17_P2":"如果不是這個問題,但您仍在使用Windows,請更新到最新的service pack並更新/重新安裝您的GPU驅動程式,然後重試。","FAQ_17_P3":"如果您的問題仍未解決,或者您使用的是Mac或Linux,請寫信給我們,在${1}我們的Facebook群組${2}報告問題的確切細節。","FAQ_18_H1":"如何製作外掛?","FAQ_18_P1":"對於初學者,我們建議您檢視GitHub上的${1}外掛系統模組${2}。","FAQ_18_P2":"之後,您可以按照${1}Hello World教程${2}進行操作。","FAQ_18_P3":"如果您沒有任何程式設計技能,請在${1}Reddit社群${2}上釋出您的想法,並在${3}上與我們聯絡您的外掛想法。”office@stremio.com${4}。","FAQ_19_H1":"為什麼Stremio佔用磁碟空間?","FAQ_19_P1":"Stremio有一個<b>本地快取</b>來臨時儲存您流式傳輸的影片檔案。","FAQ_19_P2":"這有兩個好處:第一,它允許Stremio預先緩衝影片,以確保流媒體更流暢。其次,它將影片儲存在本地快取中,以便您可以繼續離線觀看。","FAQ_19_P3":"Stremio保留了多少取決於“設定”面板中的<b>快取設定。Stremio可能會在您的磁碟上保留到設定的數量(例如2GB),除非當前流式傳輸的影片大於該數量,在這種情況下,必須分配足夠的儲存來保留它,直到您結束流式傳輸。","FAQ_20_H1":"快取資料夾在哪裡?","FAQ_20_P1":"在Windows上,Stremio快取位於您在設定中選擇的驅動器中(例如\\"E:\\\\stremio-cache\\")","FAQ_20_P2":"在MacOS上,它位於\\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"在Linux上,它位於\\"~/.stremio/stremio-cache\\"或\\"~/stremio-cache\\"","FAQ_21_H1":"我得到\\"流媒體伺服器未找到\\"錯誤,我能做什麼?","FAQ_21_P1":"如果出現此錯誤,則表示以下幾點之一:","FAQ_21_P2":"1)您正試圖透過我們的${1}web版本${2}使用一個由YouTube/BitTorrent原始碼支援的外掛。在這種情況下,您應該從${3}我們的網站${4}安裝我們的桌面版本","FAQ_21_P3":"2)Stremio安裝有問題。在這種情況下,請嘗試從${1}網站${2}重新安裝我們的最新桌面版本。如果這沒有幫助,請嘗試禁用防毒軟體和防火牆,重新啟動電腦,然後重試。如果這依然不起作用,請寫信給我們的${3}Facebook群組${4}","FAQ_22_H1":"我無法在iOS上看到/使用大多數外掛","FAQ_22_P1":"由於Apple App Store條款和條件中的限制,我們限制iOS應用程式只能使用一組特定的外掛。","FAQ_22_P2":"不過,請放心,將來會有更多的iOS外掛,我們還可能新增一個整合,透過將iOS應用程式連線到Stremio流媒體伺服器,您將可以使用所有Stremio外掛。"}')},75232:e=>{"use strict";e.exports=JSON.parse('[{"name":"العربية","codes":["ar-AR","ara"]},{"name":"български език","codes":["bg-BG","bul"]},{"name":"বাংলা","codes":["bn-Bd","ben"]},{"name":"català","codes":["ca-CA","cat"]},{"name":"čeština","codes":["cs-CZ","ces"]},{"name":"dansk","codes":["da-DK","dan"]},{"name":"Deutsch","codes":["de-DE","deu"]},{"name":"ελληνικά","codes":["el-GR","ell"]},{"name":"English","codes":["en-US","eng"]},{"name":"Esperanto","codes":["eo-EO","epo"]},{"name":"español","codes":["es-ES","spa"]},{"name":"euskara","codes":["eu-ES","eus"]},{"name":"فارسی","codes":["fa-IR","fas"]},{"name":"Français","codes":["fr-FR","fre"]},{"name":"עברית","codes":["he-IL","heb"]},{"name":"हिन्दी","codes":["hi-IN","hin"]},{"name":"hrvatski jezik","codes":["hr-HR","hrv"]},{"name":"magyar","codes":["hu-HU","hun"]},{"name":"Bahasa Indonesia","codes":["id-ID","ind"]},{"name":"italiano","codes":["it-IT","ita"]},{"name":"日本語 (にほんご)","codes":["ja-JP","jpn"]},{"name":"한국어","codes":["ko-KR","kor"]},{"name":"македонски јазик","codes":["mk-MK","mkd"]},{"name":"ဗမာစာ","codes":["my-BM","mya"]},{"name":"Norsk bokmål","codes":["nb-NO","nob"]},{"name":"Nederlands","codes":["nl-NL","nld"]},{"name":"Norsk nynorsk","codes":["nn-NO","nno"]},{"name":"język polski","codes":["pl-PL","pol"]},{"name":"português Brazil","codes":["pt-BR","por"]},{"name":"português","codes":["pt-PT","por"]},{"name":"русский язык","codes":["ru-RU","rus"]},{"name":"Svenska","codes":["sv-SE","swe"]},{"name":"slovenski jezik","codes":["sl-SL","slv"]},{"name":"српски језик","codes":["sr-RS","srp"]},{"name":"తెలుగు","codes":["te-IN","tel"]},{"name":"Türkçe","codes":["tr-TR","tur"]},{"name":"українська мова","codes":["uk-UA","ukr"]},{"name":"Tiếng Việt","codes":["vi-VN","vie"]},{"name":"中文(中华人民共和国)","codes":["zh-CN","zho"]},{"name":"中文(香港特别行政區)","codes":["zh-HK","zho"]},{"name":"中文(台灣)","codes":["zh-TW","zho"]}]')},68832:e=>{"use strict";e.exports=JSON.parse('{"abk":"аҧсуа бызшәа","aar":"Afaraf","afr":"Afrikaans","aka":"Akan","sqi":"gjuha shqipe","amh":"አማርኛ","ara":"العربية","arg":"aragonés","hye":"Հայերեն","asm":"অসমীয়া","ava":"авар мацӀ","ave":"avesta","aym":"aymar aru","aze":"azərbaycan dili","bam":"bamanankan","bak":"башҡорт теле","eus":"euskara","bel":"беларуская мова","ben":"বাংলা","bih":"भोजपुरी","bis":"Bislama","bos":"bosanski jezik","bre":"brezhoneg","bul":"български език","mya":"ဗမာစာ","cat":"català","cha":"Chamoru","che":"нохчийн мотт","nya":"chiCheŵa","zho":"中文 (Zhōngwén)","chv":"чӑваш чӗлхи","cor":"Kernewek","cos":"corsu","cre":"ᓀᐦᐃᔭᐍᐏᐣ","hrv":"hrvatski jezik","ces":"čeština","dan":"dansk","div":"ދިވެހި","nld":"Nederlands","dzo":"རྫོང་ཁ","eng":"English","epo":"Esperanto","est":"eesti","ewe":"Eʋegbe","fao":"føroyskt","fij":"vosa Vakaviti","fin":"suomi","fre":"français","ful":"Fulfulde","glg":"galego","kat":"ქართული","ger":"Deutsch","ell":"ελληνικά","grn":"Avañe\'ẽ","guj":"ગુજરાતી","hat":"Kreyòl ayisyen","hau":"Hausa","heb":"עברית","her":"Otjiherero","hin":"हिन्दी","hmo":"Hiri Motu","hun":"magyar","ina":"Interlingua","ind":"Bahasa Indonesia","ile":"Interlingue","gle":"Gaeilge","ibo":"Asụsụ Igbo","ipk":"Iñupiaq","ido":"Ido","isl":"Íslenska","ita":"italiano","iku":"ᐃᓄᒃᑎᑐᑦ","jpn":"日本語 (にほんご)","jav":"basa Jawa","kal":"kalaallisut","kan":"ಕನ್ನಡ","kau":"Kanuri","kas":"कश्मीरी","kaz":"қазақ тілі","khm":"ខ្មែរ","kik":"Gĩkũyũ","kin":"Ikinyarwanda","kir":"Кыргызча","kom":"коми кыв","kon":"KiKongo","kor":"한국어 (韓國語)","kur":"Kurdî","kua":"Kuanyama","lat":"latine","ltz":"Lëtzebuergesch","lug":"Luganda","lim":"Limburgs","lin":"Lingála","lao":"ພາສາລາວ","lit":"lietuvių kalba","lub":"Tshiluba","lav":"latviešu valoda","glv":"Gaelg","mkd":"македонски јазик","mlg":"fiteny malagasy","msa":"bahasa Melayu","mal":"മലയാളം","mlt":"Malti","mri":"te reo Māori","mar":"मराठी","mah":"Kajin M̧ajeļ","mon":"монгол","nau":"Ekakairũ Naoero","nav":"Diné bizaad","nob":"Norsk bokmål","nde":"isiNdebele","nep":"नेपाली","ndo":"Owambo","nno":"Norsk nynorsk","nor":"Norsk","iii":"ꆈꌠ꒿ Nuosuhxop","nbl":"isiNdebele","oci":"occitan","oji":"ᐊᓂᔑᓈᐯᒧᐎᓐ","chu":"ѩзыкъ словѣньскъ","orm":"Afaan Oromoo","ori":"ଓଡ଼ିଆ","oss":"ирон æвзаг","pan":"ਪੰਜਾਬੀ","pli":"पाऴि","fas":"فارسی","pol":"język polski","pus":"پښتو","por":"português","pob":"português Brazil","que":"Runa Simi","roh":"rumantsch grischun","run":"Ikirundi","ron":"limba română","rus":"русский язык","san":"संस्कृतम्","srd":"sardu","snd":"सिन्धी","sme":"Davvisámegiella","smo":"gagana fa\'a Samoa","sag":"yângâ tî sängö","srp":"српски језик","gla":"Gàidhlig","sna":"chiShona","sin":"සිංහල","slk":"slovenčina","slv":"slovenski jezik","som":"Soomaaliga","sot":"Sesotho","spa":"español","sun":"Basa Sunda","swa":"Kiswahili","ssw":"SiSwati","swe":"Svenska","tam":"தமிழ்","tel":"తెలుగు","tgk":"тоҷикӣ","tha":"ไทย","tir":"ትግርኛ","bod":"བོད་ཡིག","tuk":"Türkmen","tgl":"Wikang Tagalog","tsn":"Setswana","ton":"faka Tonga","tur":"Türkçe","tso":"Xitsonga","tat":"татар теле","twi":"Twi","tah":"Reo Tahiti","uig":"Uyƣurqə","ukr":"українська мова","urd":"اردو","uzb":"O\'zbek","ven":"Tshivenḓa","vie":"Tiếng Việt","vol":"Volapük","wln":"walon","cym":"Cymraeg","wol":"Wollof","fry":"Frysk","xho":"isiXhosa","yid":"ייִדיש","yor":"Yorùbá","zha":"Saɯ cueŋƅ","zul":"isiZulu"}')}},t={};function a(o){var i=t[o];if(void 0!==i)return i.exports;var n=t[o]={id:o,loaded:!1,exports:{}};return e[o].call(n.exports,n,n.exports,a),n.loaded=!0,n.exports}a.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return a.d(t,{a:t}),t},a.d=(e,t)=>{for(var o in t)a.o(t,o)&&!a.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},a.g=(function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}})(),a.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),a.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{var e;a.g.importScripts&&(e=a.g.location+"");var t=a.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var o=t.getElementsByTagName("script");o.length&&(e=o[o.length-1].src)}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),a.p=e+"../../"})(),(()=>{var e,t;function o(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return i(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return i(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var n,r=a(51206).parse((null===(e=window.navigator)||void 0===e?void 0:e.userAgent)||"");"desktop"===(null==r||null===(t=r.platform)||void 0===t?void 0:t.type)&&(null===(n=document.querySelector('meta[name="viewport"]'))||void 0===n||n.setAttribute("content",""));var E=a(67294),_=a(20745),T=a(96073),s=a(81468).initReactI18next,S=a(16567),l=a(4008),I=Object.fromEntries(Object.entries(S()).map((function(e){var t=o(e,2);return[t[0],{translation:t[1]}]})));T.use(s).init({resources:I,lng:"en-US",fallbackLng:"en-US",interpolation:{escapeValue:!1}}),_.createRoot(document.getElementById("app")).render(E.createElement(l,null)),"serviceWorker"in navigator&&window.addEventListener("load",(function(){navigator.serviceWorker.register("service-worker.js").catch((function(e){console.error("SW registration failed: ",e)}))}))})()})(); +(()=>{var e={67228:e=>{e.exports=function(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o},e.exports.default=e.exports,e.exports.__esModule=!0},22858:e=>{e.exports=function(e){if(Array.isArray(e))return e},e.exports.default=e.exports,e.exports.__esModule=!0},34575:e=>{e.exports=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},e.exports.default=e.exports,e.exports.__esModule=!0},93913:e=>{function t(e,t){for(var a=0;a<t.length;a++){var o=t[a];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}e.exports=function(e,a,o){return a&&t(e.prototype,a),o&&t(e,o),e},e.exports.default=e.exports,e.exports.__esModule=!0},59713:e=>{e.exports=function(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e},e.exports.default=e.exports,e.exports.__esModule=!0},95318:e=>{e.exports=function(e){return e&&e.__esModule?e:{default:e}},e.exports.default=e.exports,e.exports.__esModule=!0},13884:e=>{e.exports=function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n}},e.exports.default=e.exports,e.exports.__esModule=!0},80521:e=>{e.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")},e.exports.default=e.exports,e.exports.__esModule=!0},6479:(e,t,a)=>{var o=a(37316);e.exports=function(e,t){if(null==e)return{};var a,i,n=o(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(i=0;i<r.length;i++)a=r[i],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n},e.exports.default=e.exports,e.exports.__esModule=!0},37316:e=>{e.exports=function(e,t){if(null==e)return{};var a,o,i={},n=Object.keys(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||(i[a]=e[a]);return i},e.exports.default=e.exports,e.exports.__esModule=!0},63038:(e,t,a)=>{var o=a(22858),i=a(13884),n=a(60379),r=a(80521);e.exports=function(e,t){return o(e)||i(e,t)||n(e,t)||r()},e.exports.default=e.exports,e.exports.__esModule=!0},50008:e=>{function t(a){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?(e.exports=t=function(e){return typeof e},e.exports.default=e.exports,e.exports.__esModule=!0):(e.exports=t=function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.default=e.exports,e.exports.__esModule=!0),t(a)}e.exports=t,e.exports.default=e.exports,e.exports.__esModule=!0},60379:(e,t,a)=>{var o=a(67228);e.exports=function(e,t){if(e){if("string"==typeof e)return o(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?o(e,t):void 0}},e.exports.default=e.exports,e.exports.__esModule=!0},56553:(e,t,a)=>{"use strict";var o=a(69926),i=o(a(33167)),n=o(a(15016));e.exports=function(e,t){t.addEventListener("message",(function(){var a=(0,n.default)(i.default.mark((function a(o){var n,r,E,_,T,s,S;return i.default.wrap((function(a){for(;;)switch(a.prev=a.next){case 0:if(n=o.data.request){a.next=3;break}return a.abrupt("return");case 3:if(r=n.id,E=n.path,_=n.args,a.prev=4,"function"!=typeof(T=E.reduce((function(e,t){return e[t]}),e))){a.next=13;break}return S=E.slice(0,E.length-1).reduce((function(e,t){return e[t]}),e),a.next=10,T.apply(S,_);case 10:s=a.sent,a.next=16;break;case 13:return a.next=15,T;case 15:s=a.sent;case 16:t.postMessage({response:{id:r,result:{data:s}}}),a.next=22;break;case 19:a.prev=19,a.t0=a.catch(4),t.postMessage({response:{id:r,result:{error:a.t0}}});case 22:case"end":return a.stop()}}),a,null,[[4,19]])})));return function(e){return a.apply(this,arguments)}})()),this.call=(function(){var e=(0,n.default)(i.default.mark((function e(a,o){var n;return i.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=Math.random().toString(32).slice(2),e.abrupt("return",new Promise((function(e,i){t.addEventListener("message",(function a(o){var r=o.data.response;r&&r.id===n&&(t.removeEventListener("message",a),"error"in r.result?i(r.result.error):e(r.result.data))})),t.postMessage({request:{id:n,path:a,args:o}})})));case 2:case"end":return e.stop()}}),e)})));return function(t,a){return e.apply(this,arguments)}})()}},10792:(e,t,a)=>{var o=a(26729),i=a(39657);function n(e){var t=(e=e||{}).containerElement;if(!(t instanceof HTMLElement))throw new Error("Container element required to be instance of HTMLElement");var a=e.chromecastTransport;if(!a)throw new Error("Chromecast transport required");var n=a.getCastDevice();if(null===n)throw new Error("Chromecast session must be started");var r=document.createElement("div");r.style.display="flex",r.style.flexDirection="row",r.style.alignItems="center",r.style.justifyContent="center",r.style.width="100%",r.style.height="100%",r.style.backgroundColor="black";var E=document.createElement("div");E.style.flex="none",E.style.maxWidth="80%",E.style.fontSize="5vmin",E.style.lineHeight="1.2em",E.style.maxHeight="3.6em",E.style.textAlign="center",E.style.color="#FFFFFF90",E.innerText="Casting to "+n.friendlyName,r.appendChild(E),t.appendChild(r),a.on("message",I),a.on("message-error",l);var _=new o,T=!1,s={stream:!1,loaded:!1,paused:!1,time:!1,duration:!1,buffering:!1,buffered:!1,audioTracks:!1,selectedAudioTrackId:!1,subtitlesTracks:!1,selectedSubtitlesTrackId:!1,subtitlesOffset:!1,subtitlesSize:!1,subtitlesTextColor:!1,subtitlesBackgroundColor:!1,subtitlesOutlineColor:!1,volume:!1,muted:!1,playbackSpeed:!1,videoParams:!1,extraSubtitlesTracks:!1,selectedExtraSubtitlesTrackId:!1,extraSubtitlesDelay:!1,extraSubtitlesSize:!1,extraSubtitlesOffset:!1,extraSubtitlesTextColor:!1,extraSubtitlesBackgroundColor:!1,extraSubtitlesOutlineColor:!1};function S(e,t){_.emit("error",Object.assign({},i.CHROMECAST_SENDER_VIDEO.MESSAGE_SEND_FAILED,{error:e,action:t}))}function l(e){_.emit("error",Object.assign({},i.CHROMECAST_SENDER_VIDEO.INVALID_MESSAGE_RECEIVED,{error:e}))}function I(e){if(e&&"string"==typeof e.event){var t=Array.isArray(e.args)?e.args:[];_.emit.apply(_,[e.event].concat(t))}else l(new Error("Invalid message: "+e))}function A(e,t){s[e]&&_.emit("propChanged",e,t)}this.on=function(e,t){if(T)throw new Error("Video is destroyed");_.on(e,t)},this.dispatch=function(e){if(T)throw new Error("Video is destroyed");if(e)switch(e.type){case"observeProp":return i=e.propName,s.hasOwnProperty(i)&&(s[i]=!0),void a.sendMessage(e).catch((function(t){S(t,e)}));case"setProp":return void a.sendMessage(e).catch((function(t){S(t,e)}));case"command":return o=e.commandName,e.commandArgs,"destroy"===o&&(T=!0,A("stream",null),A("loaded",null),A("paused",null),A("time",null),A("duration",null),A("buffering",null),A("buffered",null),A("audioTracks",[]),A("selectedAudioTrackId",[]),A("subtitlesTracks",[]),A("selectedSubtitlesTrackId",null),A("subtitlesOffset",null),A("subtitlesSize",null),A("subtitlesTextColor",null),A("subtitlesBackgroundColor",null),A("subtitlesOutlineColor",null),A("volume",null),A("muted",null),A("playbackSpeed",null),A("videoParams",null),A("extraSubtitlesTracks",[]),A("selectedExtraSubtitlesTrackId",null),A("extraSubtitlesDelay",null),A("extraSubtitlesSize",null),A("extraSubtitlesOffset",null),A("extraSubtitlesTextColor",null),A("extraSubtitlesBackgroundColor",null),A("extraSubtitlesOutlineColor",null),_.removeAllListeners(),a.off("message",I),t.removeChild(r)),void a.sendMessage(e).catch((function(t){S(t,e)}))}var o,i;throw new Error("Invalid action dispatched: "+JSON.stringify(e))}}n.canPlayStream=function(){return Promise.resolve(!0)},n.manifest={name:"ChromecastSenderVideo",external:!0,props:["stream","loaded","paused","time","duration","buffering","buffered","audioTracks","selectedAudioTrackId","subtitlesTracks","selectedSubtitlesTrackId","subtitlesOffset","subtitlesSize","subtitlesTextColor","subtitlesBackgroundColor","subtitlesOutlineColor","volume","muted","playbackSpeed","videoParams","extraSubtitlesTracks","selectedExtraSubtitlesTrackId","extraSubtitlesDelay","extraSubtitlesSize","extraSubtitlesOffset","extraSubtitlesTextColor","extraSubtitlesBackgroundColor","extraSubtitlesOutlineColor"],commands:["load","unload","destroy","addExtraSubtitlesTracks"],events:["propValue","propChanged","ended","error","subtitlesTrackLoaded","audioTrackLoaded","extraSubtitlesTrackLoaded","implementationChanged"]},e.exports=n},43153:(e,t,a)=>{var o=a(10792);e.exports=o},41431:(e,t,a)=>{var o=a(26729),i=a(67631),n=a(83465),r=a(62682),E=a(6767),_=a(39657),T=a(28973),s=a(11566);function S(e){var t=(e=e||{}).containerElement;if(!(t instanceof HTMLElement))throw new Error("Container element required to be instance of HTMLElement");var a=document.createElement("style");t.appendChild(a),a.sheet.insertRule("video::cue { font-size: 4vmin; color: rgb(255, 255, 255); background-color: rgba(0, 0, 0, 0); text-shadow: rgb(34, 34, 34) 1px 1px 0.1em; }");var S=document.createElement("video");S.style.width="100%",S.style.height="100%",S.style.backgroundColor="black",S.controls=!1,S.playsInline=!0,S.onerror=function(){!(function(){if(A)return;var e;switch(S.error.code){case 1:e=_.HTML_VIDEO.MEDIA_ERR_ABORTED;break;case 2:e=_.HTML_VIDEO.MEDIA_ERR_NETWORK;break;case 3:e=_.HTML_VIDEO.MEDIA_ERR_DECODE;break;case 4:e=_.HTML_VIDEO.MEDIA_ERR_SRC_NOT_SUPPORTED;break;default:e=_.UNKNOWN_ERROR}N(Object.assign({},e,{critical:!0,error:S.error}))})()},S.onended=function(){I.emit("ended")},S.onpause=function(){m("paused")},S.onplay=function(){m("paused")},S.ontimeupdate=function(){m("time"),m("buffered")},S.ondurationchange=function(){m("duration")},S.onwaiting=function(){m("buffering"),m("buffered")},S.onseeking=function(){m("time"),m("buffering"),m("buffered")},S.onseeked=function(){m("time"),m("buffering"),m("buffered")},S.onstalled=function(){m("buffering"),m("buffered")},S.onplaying=function(){m("time"),m("buffering"),m("buffered")},S.oncanplay=function(){m("buffering"),m("buffered")},S.canplaythrough=function(){m("buffering"),m("buffered")},S.onloadedmetadata=function(){m("loaded")},S.onloadeddata=function(){m("buffering"),m("buffered")},S.onvolumechange=function(){m("volume"),m("muted")},S.onratechange=function(){m("playbackSpeed")},S.textTracks.onchange=function(){m("subtitlesTracks"),m("selectedSubtitlesTrackId"),R(),Array.from(S.textTracks).forEach((function(e){e.oncuechange=R}))},t.appendChild(S);var l=null,I=new o,A=!1,u=null,d=0,c={stream:!1,loaded:!1,paused:!1,time:!1,duration:!1,buffering:!1,buffered:!1,subtitlesTracks:!1,selectedSubtitlesTrackId:!1,subtitlesOffset:!1,subtitlesSize:!1,subtitlesTextColor:!1,subtitlesBackgroundColor:!1,subtitlesOutlineColor:!1,audioTracks:!1,selectedAudioTrackId:!1,volume:!1,muted:!1,playbackSpeed:!1};function O(e){switch(e){case"stream":return u;case"loaded":return null===u?null:S.readyState>=S.HAVE_METADATA;case"paused":return null===u?null:!!S.paused;case"time":return null!==u&&null!==S.currentTime&&isFinite(S.currentTime)?Math.floor(1e3*S.currentTime):null;case"duration":return null!==u&&null!==S.duration&&isFinite(S.duration)?Math.floor(1e3*S.duration):null;case"buffering":return null===u?null:S.readyState<S.HAVE_FUTURE_DATA;case"buffered":if(null===u)return null;for(var t=null!==S.currentTime&&isFinite(S.currentTime)?S.currentTime:0,o=0;o<S.buffered.length;o++)if(S.buffered.start(o)<=t&&t<=S.buffered.end(o))return Math.floor(1e3*S.buffered.end(o));return Math.floor(1e3*t);case"subtitlesTracks":return null===u?[]:Array.from(S.textTracks).map((function(e,t){return Object.freeze({id:"EMBEDDED_"+String(t),lang:e.language,label:e.label,origin:"EMBEDDED",embedded:!0})}));case"selectedSubtitlesTrackId":return null===u?null:Array.from(S.textTracks).reduce((function(e,t,a){return null===e&&"showing"===t.mode?"EMBEDDED_"+String(a):e}),null);case"subtitlesOffset":return A?null:d;case"subtitlesSize":return A?null:25*parseInt(a.sheet.cssRules[0].style.fontSize,10);case"subtitlesTextColor":return A?null:a.sheet.cssRules[0].style.color;case"subtitlesBackgroundColor":return A?null:a.sheet.cssRules[0].style.backgroundColor;case"subtitlesOutlineColor":return A?null:a.sheet.cssRules[0].style.textShadow.slice(0,a.sheet.cssRules[0].style.textShadow.indexOf(")")+1);case"audioTracks":return null!==l&&Array.isArray(l.audioTracks)?l.audioTracks.map((function(e){return Object.freeze({id:"EMBEDDED_"+String(e.id),lang:"string"==typeof e.lang&&e.lang.length>0?e.lang:"string"==typeof e.name&&e.name.length>0?e.name:String(e.id),label:"string"==typeof e.name&&e.name.length>0?e.name:"string"==typeof e.lang&&e.lang.length>0?e.lang:String(e.id),origin:"EMBEDDED",embedded:!0})})):[];case"selectedAudioTrackId":return null!==l&&null!==l.audioTrack&&isFinite(l.audioTrack)&&-1!==l.audioTrack?"EMBEDDED_"+String(l.audioTrack):null;case"volume":return A||null===S.volume||!isFinite(S.volume)?null:Math.floor(100*S.volume);case"muted":return A?null:!!S.muted;case"playbackSpeed":return A||null===S.playbackRate||!isFinite(S.playbackRate)?null:S.playbackRate;default:return null}}function R(){Array.from(S.textTracks).forEach((function(e){Array.from(e.cues||[]).forEach((function(e){e.snapToLines=!1,e.line=100-d}))}))}function N(e){I.emit("error",e),e.critical&&L("unload")}function m(e){c[e]&&I.emit("propChanged",e,O(e))}function L(e,o){switch(e){case"load":L("unload"),o&&o.stream&&"string"==typeof o.stream.url?(u=o.stream,m("stream"),m("loaded"),S.autoplay="boolean"!=typeof o.autoplay||o.autoplay,S.currentTime=null!==o.time&&isFinite(o.time)?parseInt(o.time,10)/1e3:0,m("paused"),m("time"),m("duration"),m("buffering"),m("buffered"),m("subtitlesTracks"),m("selectedSubtitlesTrackId"),m("audioTracks"),m("selectedAudioTrackId"),T(u).then((function(e){u===o.stream&&("application/vnd.apple.mpegurl"===e&&i.isSupported()?((l=new i(s)).on(i.Events.AUDIO_TRACKS_UPDATED,(function(){m("audioTracks"),m("selectedAudioTrackId")})),l.on(i.Events.AUDIO_TRACK_SWITCHED,(function(){m("audioTracks"),m("selectedAudioTrackId")})),l.loadSource(u.url),l.attachMedia(S)):S.src=u.url)})).catch((function(){u===o.stream&&(S.src=u.url)}))):N(Object.assign({},_.UNSUPPORTED_STREAM,{critical:!0,stream:o?o.stream:null}));break;case"unload":u=null,Array.from(S.textTracks).forEach((function(e){e.oncuechange=null})),null!==l&&(l.removeAllListeners(),l.detachMedia(S),l.destroy(),l=null),S.removeAttribute("src"),S.load(),S.currentTime=0,m("stream"),m("loaded"),m("paused"),m("time"),m("duration"),m("buffering"),m("buffered"),m("subtitlesTracks"),m("selectedSubtitlesTrackId"),m("audioTracks"),m("selectedAudioTrackId");break;case"destroy":L("unload"),A=!0,m("subtitlesOffset"),m("subtitlesSize"),m("subtitlesTextColor"),m("subtitlesBackgroundColor"),m("subtitlesOutlineColor"),m("volume"),m("muted"),m("playbackSpeed"),I.removeAllListeners(),S.onerror=null,S.onended=null,S.onpause=null,S.onplay=null,S.ontimeupdate=null,S.ondurationchange=null,S.onwaiting=null,S.onseeking=null,S.onseeked=null,S.onstalled=null,S.onplaying=null,S.oncanplay=null,S.canplaythrough=null,S.onloadeddata=null,S.onvolumechange=null,S.onratechange=null,S.textTracks.onchange=null,t.removeChild(S),t.removeChild(a)}}this.on=function(e,t){if(A)throw new Error("Video is destroyed");I.on(e,t)},this.dispatch=function(e){if(A)throw new Error("Video is destroyed");if(e)switch((e=r(n(e))).type){case"observeProp":return t=e.propName,void(c.hasOwnProperty(t)&&(I.emit("propValue",t,O(t)),c[t]=!0));case"setProp":return void(function(e,t){switch(e){case"paused":null!==u&&(t?S.pause():S.play(),m("paused"));break;case"time":null!==u&&null!==t&&isFinite(t)&&(S.currentTime=parseInt(t,10)/1e3,m("time"));break;case"selectedSubtitlesTrackId":if(null!==u){Array.from(S.textTracks).forEach((function(e,a){e.mode="EMBEDDED_"+String(a)===t?"showing":"disabled"}));var o=O("subtitlesTracks").find((function(e){return e.id===t}));o&&(m("selectedSubtitlesTrackId"),I.emit("subtitlesTrackLoaded",o))}break;case"subtitlesOffset":null!==t&&isFinite(t)&&(d=Math.max(0,Math.min(100,parseInt(t,10))),R(),m("subtitlesOffset"));break;case"subtitlesSize":null!==t&&isFinite(t)&&(a.sheet.cssRules[0].style.fontSize=Math.floor(Math.max(0,parseInt(t,10))/25)+"vmin",m("subtitlesSize"));break;case"subtitlesTextColor":if("string"==typeof t){try{a.sheet.cssRules[0].style.color=E(t).rgb().string()}catch(e){console.error("HTMLVideo",e)}m("subtitlesTextColor")}break;case"subtitlesBackgroundColor":if("string"==typeof t){try{a.sheet.cssRules[0].style.backgroundColor=E(t).rgb().string()}catch(e){console.error("HTMLVideo",e)}m("subtitlesBackgroundColor")}break;case"subtitlesOutlineColor":if("string"==typeof t){try{a.sheet.cssRules[0].style.textShadow=E(t).rgb().string()+" 1px 1px 0.1em"}catch(e){console.error("HTMLVideo",e)}m("subtitlesOutlineColor")}break;case"selectedAudioTrackId":if(null!==l){var i=O("audioTracks").find((function(e){return e.id===t}));l.audioTrack=i?parseInt(i.id.split("_").pop(),10):-1,i&&(m("selectedAudioTrackId"),I.emit("audioTrackLoaded",i))}break;case"volume":null!==t&&isFinite(t)&&(S.muted=!1,S.volume=Math.max(0,Math.min(100,parseInt(t,10)))/100,m("muted"),m("volume"));break;case"muted":S.muted=!!t,m("muted");break;case"playbackSpeed":null!==t&&isFinite(t)&&(S.playbackRate=parseFloat(t),m("playbackSpeed"))}})(e.propName,e.propValue);case"command":return void L(e.commandName,e.commandArgs)}var t;throw new Error("Invalid action dispatched: "+JSON.stringify(e))}}S.canPlayStream=function(e){return!e||e.behaviorHints&&e.behaviorHints.notWebReady?Promise.resolve(!1):T(e).then((function(e){return!!document.createElement("video").canPlayType(e)||"application/vnd.apple.mpegurl"===e&&i.isSupported()})).catch((function(){return!1}))},S.manifest={name:"HTMLVideo",external:!1,props:["stream","loaded","paused","time","duration","buffering","buffered","audioTracks","selectedAudioTrackId","subtitlesTracks","selectedSubtitlesTrackId","subtitlesOffset","subtitlesSize","subtitlesTextColor","subtitlesBackgroundColor","subtitlesOutlineColor","volume","muted","playbackSpeed"],commands:["load","unload","destroy"],events:["propValue","propChanged","ended","error","subtitlesTrackLoaded","audioTrackLoaded"]},e.exports=S},28973:e=>{e.exports=function(e){return e&&"string"==typeof e.url?e.behaviorHints&&e.behaviorHints.proxyHeaders&&e.behaviorHints.proxyHeaders.response&&"string"==typeof e.behaviorHints.proxyHeaders.response["content-type"]?Promise.resolve(e.behaviorHints.proxyHeaders.response["content-type"]):fetch(e.url,{method:"HEAD"}).then((function(e){if(e.ok)return e.headers.get("content-type");throw new Error(e.status+" ("+e.statusText+")")})):Promise.reject(new Error("Invalid stream parameter!"))}},11566:e=>{e.exports={debug:!1,enableWorker:!0,lowLatencyMode:!1,backBufferLength:30,maxBufferLength:50,maxMaxBufferLength:80,maxFragLookUpTolerance:0,maxBufferHole:0,appendErrorMaxRetry:20,nudgeMaxRetry:20,manifestLoadingTimeOut:3e4,manifestLoadingMaxRetry:10,fragLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:12e4,timeoutRetry:{maxNumRetry:20,retryDelayMs:0,maxRetryDelayMs:15},errorRetry:{maxNumRetry:6,retryDelayMs:1e3,maxRetryDelayMs:15}}}}},59222:(e,t,a)=>{var o=a(41431);e.exports=o},78879:(e,t,a)=>{var o=a(26729),i=a(83465),n=a(62682),r=a(39657);function E(e){var t=(e=e||{}).containerElement;if(!(t instanceof HTMLElement))throw new Error("Container element required to be instance of HTMLElement");var a=document.createElement("iframe");a.style.width="100%",a.style.height="100%",a.style.border=0,a.style.backgroundColor="black",a.allowFullscreen=!1,a.allow="autoplay",t.appendChild(a);var E=new o,_=!1,T={stream:!1,loaded:!1,paused:!1,time:!1,duration:!1,buffering:!1,buffered:!1,volume:!1,muted:!1,playbackSpeed:!1};function s(e){if(e.source===a.contentWindow){var t=e.data||e.message;if(t&&"string"==typeof t.event){var o=t.event,i=Array.isArray(t.args)?t.args:[];E.emit.apply(E,[o].concat(i))}}}function S(e){a.contentWindow.postMessage(e,"*")}function l(e,t){T[e]&&E.emit("propChanged",e,t)}function I(e,o){switch(e){case"load":return I("unload"),o&&o.stream&&"string"==typeof o.stream.playerFrameUrl?(window.addEventListener("message",s,!1),a.onload=function(){S({type:"command",commandName:e,commandArgs:o})},a.src=o.stream.playerFrameUrl):(i=Object.assign({},r.UNSUPPORTED_STREAM,{critical:!0,stream:o?o.stream:null}),E.emit("error",i),i.critical&&I("unload")),!0;case"unload":return window.removeEventListener("message",s),a.onload=null,a.removeAttribute("src"),l("stream",null),l("loaded",null),l("paused",null),l("time",null),l("duration",null),l("buffering",null),l("buffered",null),l("volume",null),l("muted",null),l("playbackSpeed",null),!0;case"destroy":return I("unload"),_=!0,E.removeAllListeners(),t.removeChild(a),!0}var i}this.on=function(e,t){if(_)throw new Error("Video is destroyed");E.on(e,t)},this.dispatch=function(e){if(_)throw new Error("Video is destroyed");if(e)switch((e=n(i(e))).type){case"observeProp":return t=e.propName,T.hasOwnProperty(t)&&(T[t]=!0),void S(e);case"setProp":return void S(e);case"command":return void(I(e.commandName,e.commandArgs)||S(e))}var t;throw new Error("Invalid action dispatched: "+JSON.stringify(e))}}E.canPlayStream=function(e){return Promise.resolve(e&&"string"==typeof e.playerFrameUrl)},E.manifest={name:"IFrameVideo",external:!0,props:["stream","loaded","paused","time","duration","buffering","buffered","audioTracks","selectedAudioTrackId","subtitlesTracks","selectedSubtitlesTrackId","subtitlesOffset","subtitlesSize","subtitlesTextColor","subtitlesBackgroundColor","subtitlesOutlineColor","volume","muted","playbackSpeed","extraSubtitlesTracks","selectedExtraSubtitlesTrackId","extraSubtitlesDelay","extraSubtitlesSize","extraSubtitlesOffset","extraSubtitlesTextColor","extraSubtitlesBackgroundColor","extraSubtitlesOutlineColor"],commands:["load","unload","destroy","addExtraSubtitlesTracks"],events:["propValue","propChanged","ended","error","subtitlesTrackLoaded","audioTrackLoaded","extraSubtitlesTrackLoaded","implementationChanged"]},e.exports=E},47685:(e,t,a)=>{var o=a(78879);e.exports=o},78945:(e,t,a)=>{var o=a(26729),i=a(83465),n=a(62682),r=a(39657),E=.0066,_={loaded:"loaded",stream:null,paused:"pause",time:"time-pos",duration:"duration",buffering:"buffering",volume:"volume",muted:"mute",playbackSpeed:"speed",audioTracks:"audioTracks",selectedAudioTrackId:"aid",subtitlesTracks:"subtitlesTracks",selectedSubtitlesTrackId:"sid",subtitlesSize:"sub-scale",subtitlesTextColor:"sub-color",subtitlesBackgroundColor:"sub-back-color",subtitlesOutlineColor:"sub-border-color"};function T(e){return e.split(".").slice(0,2).map((function(e){return parseInt(e)}))}function s(e){var t,a=(e=e||{}).shellTransport,s={},S={},l={};Object.keys(_).forEach((function(e){_[e]&&(l[_[e]]=e)}));var I=new Promise((function(e){t=e}));p("unload"),a.send("mpv-command",["stop"]),a.send("mpv-observe-prop","path"),a.send("mpv-observe-prop","time-pos"),a.send("mpv-observe-prop","volume"),a.send("mpv-observe-prop","pause"),a.send("mpv-observe-prop","seeking"),a.send("mpv-observe-prop","eof-reached"),a.send("mpv-observe-prop","duration"),a.send("mpv-observe-prop","metadata"),a.send("mpv-observe-prop","video-params"),a.send("mpv-observe-prop","track-list"),a.send("mpv-observe-prop","paused-for-cache"),a.send("mpv-observe-prop","cache-buffering-state"),a.send("mpv-observe-prop","aid"),a.send("mpv-observe-prop","vid"),a.send("mpv-observe-prop","sid"),a.send("mpv-observe-prop","sub-scale"),a.send("mpv-observe-prop","sub-pos"),a.send("mpv-observe-prop","speed"),a.send("mpv-observe-prop","mpv-version"),a.send("mpv-observe-prop","ffmpeg-version");var A=new o,u=!1,d=null,c=0;function O(t){for(var a=t?"":"transparent",o=e.containerElement;o;o=o.parentElement)o.style.background=a}function R(e){console.log(e.name+": "+e.data)}var N=0;function m(e){return _[e]?S[_[e]]:(console.log("Unsupported prop requested",e),null)}function L(e){A.emit("error",e),e.critical&&p("unload")}function D(e){s[e]&&A.emit("propChanged",e,m(e))}function p(t,o){switch(t){case"load":p("unload"),o&&o.stream&&"string"==typeof o.stream.url?I.then((function(t){d=o.stream,D("stream"),O(!1),a.send("mpv-set-prop",["no-sub-ass"]);var i="Win32"===navigator.platform?"direct3d":"opengl",n=e.mpvSeparateWindow?i:"opengl-cb",r=e.mpvSeparateWindow?"yes":"no";a.send("mpv-set-prop",["vo",n]),a.send("mpv-set-prop",["osc",r]),a.send("mpv-set-prop",["input-defalt-bindings",r]),a.send("mpv-set-prop",["input-vo-keyboard",r]);var E,_,s,l=Math.floor(parseInt(o.time,10)/1e3)||0;0!==l?(E="0.39",_=T(t),s=T(E),_[0]>s[0]||!(_[0]<s[0])&&_[1]>=s[1]?a.send("mpv-command",["loadfile",d.url,"replace","-1","start=+"+l]):a.send("mpv-command",["loadfile",d.url,"replace","start=+"+l])):a.send("mpv-command",["loadfile",d.url]),a.send("mpv-set-prop",["pause",!1]),a.send("mpv-set-prop",["speed",S.speed]),a.send("mpv-set-prop",["aid",S.aid]),a.send("mpv-set-prop",["mute","no"]),D("paused"),D("time"),D("duration"),D("buffering"),D("volume"),D("muted"),D("subtitlesTracks"),D("selectedSubtitlesTrackId")})):L(Object.assign({},r.UNSUPPORTED_STREAM,{critical:!0,stream:o?o.stream:null}));break;case"unload":S={loaded:!1,pause:!1,mute:!1,speed:1,subtitlesTracks:[],audioTracks:[],buffering:!1,aid:null,sid:null},c=0,a.send("mpv-command",["stop"]),D("loaded"),D("stream"),D("paused"),D("time"),D("duration"),D("buffering"),D("volume"),D("muted"),D("subtitlesTracks"),D("selectedSubtitlesTrackId"),O(!0);break;case"destroy":p("unload"),u=!0,A.removeAllListeners()}}a.on("mpv-prop-change",(function(e){switch(e.name){case"mpv-version":t(e.data),S[e.name]=R(e);break;case"ffmpeg-version":S[e.name]=R(e);break;case"duration":var a=0|e.data;S[e.name]=e.data>=30&&(!c||a===c)?Math.round(1e3*e.data):null,c=c?c+a>>1:a,S.loaded=a>0,S.loaded&&D("loaded");break;case"time-pos":S[e.name]=Math.round(1e3*e.data);break;case"sub-scale":S[e.name]=Math.round(e.data/E);break;case"paused-for-cache":case"seeking":S.buffering!==e.data&&(S.buffering=e.data,D("buffering"));break;case"aid":case"sid":case"vid":S[e.name]=(function(e){return e.data?"EMBEDDED_"+e.data.toString():null})(e);break;case"track-list":S.audioTracks=e.data.filter((function(e){return"audio"===e.type})).map((function(e,t){return{id:"EMBEDDED_"+e.id,lang:void 0===e.lang?"Track"+(t+1):e.lang,label:void 0===e.title||void 0===e.lang?"":e.title||e.lang,origin:"EMBEDDED",embedded:!0,mode:e.id===S.aid?"showing":"disabled"}})),D("audioTracks"),S.subtitlesTracks=e.data.filter((function(e){return"sub"===e.type})).map((function(e,t){return{id:"EMBEDDED_"+e.id,lang:void 0===e.lang?"Track "+(t+1):e.lang,label:void 0===e.title||void 0===e.lang?"":e.title||e.lang,origin:"EMBEDDED",embedded:!0,mode:e.id===S.sid?"showing":"disabled"}})),D("subtitlesTracks");break;default:S[e.name]=e.data}var o="time-pos"===e.name?Math.floor(S["time-pos"]/1e3):null;o&&N===o||!l[e.name]||(o&&(N=o),D(l[e.name]))})),a.on("mpv-event-ended",(function(e){e.error?L(e.error):A.emit("ended")})),this.on=function(e,t){if(u)throw new Error("Video is destroyed");A.on(e,t)},this.dispatch=function(e){if(u)throw new Error("Video is destroyed");if(e)switch((e=n(i(e))).type){case"observeProp":t=e.propName,A.emit("propValue",t,m(t)),s[t]=!0;break;case"setProp":return void(function(e,t){switch(e){case"paused":null!==d&&a.send("mpv-set-prop",["pause",t]);break;case"time":null!==d&&null!==t&&isFinite(t)&&a.send("mpv-set-prop",["time-pos",t/1e3]);break;case"playbackSpeed":null!==d&&null!==t&&isFinite(t)&&a.send("mpv-set-prop",["speed",t]);break;case"volume":null!==d&&null!==t&&isFinite(t)&&(S.mute=!1,a.send("mpv-set-prop",["mute","no"]),a.send("mpv-set-prop",["volume",t]),D("muted"),D("volume"));break;case"muted":null!==d&&(a.send("mpv-set-prop",["mute",t?"yes":"no"]),S.mute=t,D("muted"));break;case"selectedAudioTrackId":if(null!==d){var o=t.slice("EMBEDDED_".length);a.send("mpv-set-prop",["aid",o])}break;case"selectedSubtitlesTrackId":null!==d&&(t?(o=t.slice("EMBEDDED_".length),a.send("mpv-set-prop",["sid",o]),A.emit("subtitlesTrackLoaded",t)):(a.send("mpv-set-prop",["sid","no"]),S.sid=null)),D("selectedSubtitlesTrackId");break;case"subtitlesSize":a.send("mpv-set-prop",[_[e],t*E]);break;case"subtitlesOffset":a.send("mpv-set-prop",[_[e],t]);break;case"subtitlesTextColor":case"subtitlesBackgroundColor":case"subtitlesOutlineColor":var i=t.replace(/^#(\w{6})(\w{2})$/,"#$2$1");a.send("mpv-set-prop",[_[e],i]);break;default:console.log("Unhandled setProp for",e)}})(e.propName,e.propValue);case"command":return void p(e.commandName,e.commandArgs)}var t}}s.canPlayStream=function(){return Promise.resolve(!0)},s.manifest={name:"ShellVideo",external:!1,props:Object.keys(_),commands:["load","unload","destroy"],events:["propValue","propChanged","ended","error","subtitlesTrackLoaded"]},e.exports=s},22024:(e,t,a)=>{var o=a(78945);e.exports=o},8117:(e,t,a)=>{var o=a(26729),i=a(83465),n=a(62682),r=a(72081),E=a(39657);function _(){var e=null,t=new o,a=!1;this.on=function(e,o){if(a)throw new Error("Video is destroyed");t.on(e,o)},this.dispatch=function(o,_){if(a)throw new Error("Video is destroyed");if(!o)throw new Error("Invalid action dispatched: "+JSON.stringify(o));if(_=_||{},"command"===(o=n(i(o))).type&&"load"===o.commandName&&o.commandArgs){var T=r(o.commandArgs,_);if(null!==e&&e.constructor!==T&&(e.dispatch({type:"command",commandName:"destroy"}),e=null),null===e){if(null===T)return void t.emit("error",Object.assign({},E.UNSUPPORTED_STREAM,{error:new Error("No video implementation was selected"),critical:!0,stream:o.commandArgs.stream}));(e=new T(_)).on("ended",(function(){t.emit("ended")})),e.on("error",(function(e){t.emit("error",e)})),e.on("propValue",(function(e,a){t.emit("propValue",e,a)})),e.on("propChanged",(function(e,a){t.emit("propChanged",e,a)})),e.on("subtitlesTrackLoaded",(function(e){t.emit("subtitlesTrackLoaded",e)})),e.on("audioTrackLoaded",(function(e){t.emit("audioTrackLoaded",e)})),e.on("extraSubtitlesTrackLoaded",(function(e){t.emit("extraSubtitlesTrackLoaded",e)})),T.manifest.external?e.on("implementationChanged",(function(e){t.emit("implementationChanged",e)})):t.emit("implementationChanged",T.manifest)}}if(null!==e)try{e.dispatch(o)}catch(t){console.error(e.constructor.manifest.name,t)}"command"===o.type&&"destroy"===o.commandName&&(e=null)},this.destroy=function(){a=!0,null!==e&&(e.dispatch({type:"command",commandName:"destroy"}),e=null),t.removeAllListeners()}}_.ERROR=E,e.exports=_},35010:(e,t,a)=>{var o=a(8117);e.exports=o},72081:(e,t,a)=>{var o=a(43153),i=a(22024),n=a(59222),r=a(5682),E=a(18846),_=a(47685),T=a(33142),s=a(5690),S=a(74282),l=a(29450);e.exports=function(e,t){return e.stream&&"string"!=typeof e.stream.externalUrl?t.chromecastTransport&&t.chromecastTransport.getCastState()===cast.framework.CastState.CONNECTED?o:"string"==typeof e.stream.ytId?l(S(T)):"string"==typeof e.stream.playerFrameUrl?l(_):t.shellTransport?s(S(i)):"string"==typeof e.streamingServerURL?"Tizen"===e.platform?s(S(r)):"webOS"===e.platform?s(S(E)):s(S(n)):"string"==typeof e.stream.url?"Tizen"===e.platform?l(S(r)):"webOS"===e.platform?l(S(E)):l(S(n)):null:null}},85494:e=>{const t="AVPlay";e.exports=e=>({getState:()=>e.request(t,"getState"),getCurrentTime:()=>e.request(t,"getCurrentTime"),getDuration:()=>e.request(t,"getDuration"),getTotalTrackInfo:()=>e.request(t,"getTotalTrackInfo"),getCurrentStreamInfo:()=>e.request(t,"getCurrentStreamInfo"),open:a=>e.request(t,"open",a),prepareAsync:async(a,o)=>{const[i,n]=await e.request(t,"prepareAsync","handler:success","handler:error");"handler:success"===i&&a(),"handler:error"===i&&o(...n)},pause:()=>e.request(t,"pause"),play:()=>e.request(t,"play"),stop:()=>e.request(t,"stop"),seekTo:a=>e.request(t,"seekTo",a),setSpeed:a=>e.request(t,"setSpeed",a),setSelectTrack:(a,o)=>e.request(t,"setSelectTrack",a,o),setDisplayRect:(a,o,i,n)=>e.request(t,"setDisplayRect",a,o,i,n),setDisplayMethod:a=>e.request(t,"setDisplayMethod",a),setListener:a=>{const o=Object.keys(a).map((e=>`handler:${e}`));e.listen(t,"setListener",((e,t)=>{const o=e.replace("handler:","");a[o]&&(t?a[o](...t):a[o]())}),...o)}})},95071:(e,t,a)=>{var o=a(26729),i=a(83465),n=a(62682),r=a(6767),E=a(39657),_=a(73276),T=a(85494);function s(e){var t=!0,s=1,S=null,l=null,I=(e=e||{}).containerElement;if(!(I instanceof HTMLElement))throw new Error("Container element required to be instance of HTMLElement");var A,u=T(e.transport),d=!1,c=100,O=0,R="rgb(255, 255, 255)",N="rgba(0, 0, 0, 0)",m="rgb(34, 34, 34)",L=1,D=document.createElement("object");D.type="application/avplayer",D.style.width="100%",D.style.height="100%",D.style.backgroundColor="black";var p=!1;async function h(){if(A){var e=await G("time"),t=A.duration-(e-A.now);t>0&&C(t,A.text)}}async function C(e,t){if(!p){var a=await G("time");for(A={duration:e,text:t,now:a},f&&(clearTimeout(f),f=!1);B.hasChildNodes();)B.removeChild(B.lastChild);B.style.bottom=O+"%",B.style.opacity=L;var o=document.createElement("span");o.innerHTML=t,o.style.display="inline-block",o.style.padding="0.2em",o.style.fontSize=Math.floor(c/25)+"vmin",o.style.color=R,o.style.backgroundColor=N,o.style.textShadow="1px 1px 0.1em "+m,B.appendChild(o),B.appendChild(document.createElement("br")),e&&(f=setTimeout((function(){for(;B.hasChildNodes();)B.removeChild(B.lastChild)}),parseInt(e*s)))}}var f=!1;u.setListener({onbufferingstart:function(){t=!0,F("buffering")},onbufferingprogress:function(){t=!0,F("buffering")},onbufferingcomplete:function(){t=!1,F("buffering")},oncurrentplaytime:function(){F("time")},onsubtitlechange:function(e,t){C(e,t)},onstreamcompleted:function(){P.emit("ended")}}),I.appendChild(D);var B=document.createElement("div");B.style.position="absolute",B.style.right="0",B.style.bottom="0",B.style.left="0",B.style.zIndex="1",B.style.textAlign="center",I.style.position="relative",I.style.zIndex="0",I.appendChild(B);var P=new o,g=!1,v=null,y=0,W=null,M={stream:!1,loaded:!1,paused:!1,time:!1,duration:!1,buffering:!1,subtitlesTracks:!1,selectedSubtitlesTrackId:!1,subtitlesOffset:!1,subtitlesSize:!1,subtitlesTextColor:!1,subtitlesBackgroundColor:!1,subtitlesOutlineColor:!1,subtitlesOpacity:!1,audioTracks:!1,selectedAudioTrackId:!1,playbackSpeed:!1},b=!1,U={audio:[],subs:[]};async function G(e){switch(e){case"stream":return v;case"loaded":return W;case"paused":if(null===v)return null;var a=!("PAUSED"!==await u.getState());return!a&&d&&(u.setSelectTrack("AUDIO",parseInt(d.replace("EMBEDDED_",""))),d=!1),a;case"time":var o=await u.getCurrentTime();return null!==v&&null!==o&&isFinite(o)?Math.floor(o):null;case"duration":var i=await u.getDuration();return null!==v&&null!==i&&isFinite(i)?Math.floor(i):null;case"buffering":return null===v?null:t;case"subtitlesTracks":if(null===v)return[];for(var n=await u.getTotalTrackInfo(),r=[],E=0;E<n.length;E++)if("TEXT"===n[E].type){var _=n[E],T="EMBEDDED_"+String(_.index);S||r.length||(S=T);var I={};try{I=JSON.parse(_.extra_info)}catch(e){}var A="string"==typeof I.track_lang&&I.track_lang.length>0?I.track_lang.trim():null;if(((U||{}).subs||[]).length)(B=U.subs.find((function(e){return(e||{}).id-1===_.index})))&&(A=B.lang||"eng");r.push({id:T,lang:A,label:A,origin:"EMBEDDED",embedded:!0,mode:p||T!==S?"disabled":"showing"})}return r;case"selectedSubtitlesTrackId":if(null===v||p)return null;var D=await u.getCurrentStreamInfo();for(E=0;E<D.length;E++)if("TEXT"===D[E].type){y=D[E].index;break}return y?"EMBEDDED_"+String(y):null;case"subtitlesOffset":return g?null:O;case"subtitlesSize":return g?null:c;case"subtitlesTextColor":return g?null:R;case"subtitlesBackgroundColor":return g?null:N;case"subtitlesOutlineColor":return g?null:m;case"subtitlesOpacity":return g?null:L;case"audioTracks":if(null===v)return[];n=await u.getTotalTrackInfo();var h=[];for(E=0;E<n.length;E++)if("AUDIO"===n[E].type){var C=n[E],f="EMBEDDED_"+String(C.index);l||h.length||(l=f);I={};try{I=JSON.parse(C.extra_info)}catch(e){}var B,P="string"==typeof I.language&&I.language.length>0?I.language:null;if(((U||{}).audio||[]).length)(B=U.audio.find((function(e){return(e||{}).id-1===C.index})))&&(P=B.lang||"eng");h.push({id:f,lang:P,label:P,origin:"EMBEDDED",embedded:!0,mode:f===l?"showing":"disabled"})}return h;case"selectedAudioTrackId":if(null===v)return null;if(d)return d;D=await u.getCurrentStreamInfo();var y=!1;for(E=0;E<D.length;E++)if("AUDIO"===D[E].type){y=D[E].index;break}return!1!==y?"EMBEDDED_"+String(y):null;case"playbackSpeed":return g||null===s||!isFinite(s)?null:s;default:return null}}function k(e){P.emit("error",e),e.critical&&V("unload")}async function F(e){if(M[e]){var t=await G(e);P.emit("propChanged",e,t)}}function V(e,t){switch(e){case"load":if(t&&t.stream&&"string"==typeof t.stream.url){if((v=t.stream)!==t.stream)return;F("buffering");var o=!1;try{o=parseFloat(a.g.tizen.systeminfo.getCapability("http://tizen.org/feature/platform.version"))}catch(e){}(!o||o>=6)&&(b||null===v||(b=!0,_(v.url,(function(e){e&&(U=e),((U||{}).subs||[]).length&&F("subtitlesTracks"),((U||{}).audio||[]).length&&F("audioTracks")})))),u.open(v.url),u.setDisplayRect(0,0,window.innerWidth,window.innerHeight),u.setDisplayMethod("PLAYER_DISPLAY_MODE_LETTER_BOX"),u.seekTo(null!==t.time&&isFinite(t.time)?parseInt(t.time,10):0),u.prepareAsync((function(){F("duration"),u.play(),W=!0,F("loaded"),F("stream"),F("paused"),F("time"),F("duration"),F("subtitlesTracks"),F("selectedSubtitlesTrackId"),F("audioTracks"),F("selectedAudioTrackId")}),(function(e){if(y<5){y++;try{u.stop()}catch(e){}V("load",t)}else k(Object.assign({},E.STREAM_FAILED_TO_LOAD,{critical:!0,stream:t?t.stream:null,error:e}))}))}else k(Object.assign({},E.UNSUPPORTED_STREAM,{critical:!0,stream:t?t.stream:null}));break;case"unload":v=null,u.stop(),W=!1,F("loaded"),F("stream"),F("paused"),F("time"),F("duration"),F("buffering"),F("subtitlesTracks"),F("selectedSubtitlesTrackId"),F("audioTracks"),F("selectedAudioTrackId");break;case"destroy":V("unload"),g=!0,u.stop(),F("subtitlesOffset"),F("subtitlesSize"),F("subtitlesTextColor"),F("subtitlesBackgroundColor"),F("subtitlesOutlineColor"),F("subtitlesOpacity"),F("playbackSpeed"),P.removeAllListeners(),I.removeChild(D)}}this.on=function(e,t){if(g)throw new Error("Video is destroyed");P.on(e,t)},this.dispatch=function(e){if(g)throw new Error("Video is destroyed");if(e)switch((e=n(i(e))).type){case"observeProp":return void(async function(e){if(M.hasOwnProperty(e)){var t=await G(e);P.emit("propValue",e,t),M[e]=!0}})(e.propName);case"setProp":return void(async function(e,t){switch(e){case"paused":if(null!==v){var a=!!t;a?u.pause():u.play(),a?f&&clearTimeout(f):h()}F("paused");var o=await G("paused");setTimeout((async function(){await G("paused")!==o&&F("paused")}),1e3);break;case"time":null!==v&&null!==t&&isFinite(t)&&(u.seekTo(parseInt(t,10)),C(1,""),F("time"));break;case"selectedSubtitlesTrackId":if(null!==v)if(0===(S||"").indexOf("EMBEDDED_")){if(-1===(t||"").indexOf("EMBEDDED_"))return C(1,""),p=!0,void F("selectedSubtitlesTrackId");p=!1,S=t;var i=(await G("subtitlesTracks")).find((function(e){return e.id===t}));u.setSelectTrack("TEXT",parseInt(S.replace("EMBEDDED_",""))),i&&(P.emit("subtitlesTrackLoaded",i),F("selectedSubtitlesTrackId"))}else t||(C(1,""),p=!0,F("selectedSubtitlesTrackId"));break;case"subtitlesOffset":null!==t&&isFinite(t)&&(O=Math.max(0,Math.min(100,parseInt(t,10))),h(),F("subtitlesOffset"));break;case"subtitlesSize":null!==t&&isFinite(t)&&(c=Math.max(0,parseInt(t,10)),h(),F("subtitlesSize"));break;case"subtitlesTextColor":if("string"==typeof t){try{R=r(t).rgb().string()}catch(e){console.error("Tizen player with HTML Subtitles",e)}h(),F("subtitlesTextColor")}break;case"subtitlesBackgroundColor":if("string"==typeof t){try{N=r(t).rgb().string()}catch(e){console.error("Tizen player with HTML Subtitles",e)}h(),F("subtitlesBackgroundColor")}break;case"subtitlesOutlineColor":if("string"==typeof t){try{m=r(t).rgb().string()}catch(e){console.error("Tizen player with HTML Subtitles",e)}h(),F("subtitlesOutlineColor")}break;case"subtitlesOpacity":if("number"==typeof t){try{L=Math.min(Math.max(t/100,0),1)}catch(e){console.error("Tizen player with HTML Subtitles",e)}h(),F("subtitlesOpacity")}break;case"selectedAudioTrackId":if(null!==v){l=t;var n=(await G("audioTracks")).find((function(e){return e.id===t}));await G("paused")?(d=t,F("selectedAudioTrackId")):u.setSelectTrack("AUDIO",parseInt(l.replace("EMBEDDED_",""))),n&&(P.emit("audioTrackLoaded",n),F("selectedAudioTrackId"))}break;case"playbackSpeed":if(null!==t&&isFinite(t)){s=parseFloat(t);try{u.setSpeed(s)}catch(e){}F("playbackSpeed")}}})(e.propName,e.propValue);case"command":return void V(e.commandName,e.commandArgs)}throw new Error("Invalid action dispatched: "+JSON.stringify(e))}}s.canPlayStream=function(){return Promise.resolve(!0)},s.manifest={name:"TizenVideo",external:!1,props:["stream","loaded","paused","time","duration","buffering","audioTracks","selectedAudioTrackId","subtitlesTracks","selectedSubtitlesTrackId","subtitlesOffset","subtitlesSize","subtitlesTextColor","subtitlesBackgroundColor","subtitlesOutlineColor","subtitlesOpacity","playbackSpeed"],commands:["load","unload","destroy"],events:["propValue","propChanged","ended","error","subtitlesTrackLoaded","audioTrackLoaded"]},e.exports=s},5682:(e,t,a)=>{var o=a(95071);e.exports=o},64333:(e,t,a)=>{var o=a(26729),i=a(83465),n=a(62682),r=a(39657),E=a(73276);function _(e,t,a,o){t&&(e.onSuccess=t||function(){}),e.onFailure=function(t){console.log("WebOS",(e.method||o)+" [fail]["+t.errorCode+"] "+t.errorText),console.log("fail result",JSON.stringify(t)),a&&a()},window.webOS.service.request(o||"luna://com.webos.media",e)}function T(e,t,a){window.webOS.service.request("luna://com.webos.applicationManager",{method:"launch",parameters:{id:e.id,params:{payload:[{fullPath:e.url,artist:"",subtitle:"",dlnaInfo:{flagVal:4096,cleartextSize:"-1",contentLength:"-1",opVal:1,protocolInfo:"http-get:*:video/x-matroska:DLNA.ORG_OP=01;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=01700000000000000000000000000000",duration:0},mediaType:"VIDEO",thumbnail:"",deviceType:"DMR",album:"",fileName:e.name,lastPlayPosition:e.position}]}},onSuccess:function(){t&&t()},onFailure:function(){a&&a(new Error("Failed to launch"+e.id)),"com.webos.app.photovideo"===e.id?(e.id="com.webos.app.smartshare",T(e,t,a)):"com.webos.app.smartshare"===e.id&&(e.id="com.webos.app.mediadiscovery",T(e,t,a))}})}var s=["none","black","white","yellow","red","green","blue"],S={"rgba(0, 0, 0, 0)":"none","rgba(0, 0, 0, 255)":"black","rgba(255, 255, 255, 255)":"white","rgba(255, 255, 0, 255)":"yellow","rgba(255, 0, 0, 255)":"red","rgba(0, 255, 0, 255)":"green","rgba(0, 0, 255, 255)":"blue","rgba(0, 0, 0, 1)":"black","rgba(255, 255, 255, 1)":"white","rgba(255, 255, 0, 1)":"yellow","rgba(255, 0, 0, 1)":"red","rgba(0, 255, 0, 1)":"green","rgba(0, 0, 255, 1)":"blue","rgb(0, 0, 0)":"black","rgb(255, 255, 255)":"white","rgb(255, 255, 0)":"yellow","rgb(255, 0, 0)":"red","rgb(0, 255, 0)":"green","rgb(0, 0, 255)":"blue","#000000FF":"black","#FFFFFFFF":"white","#FFFF00FF":"yellow","#FF0000FF":"red","#00FF00FF":"green","#0000FFFF":"blue","#000000":"black","#FFFFFF":"white","#FFFF00":"yellow","#FF0000":"red","#00FF00":"green","#0000FF":"blue"};var l={unsupportedAudio:["DTS","TRUEHD"],unsupportedSubs:["HDMV/PGS","VOBSUB"]},I=!1;function A(){I||window.webOS.service.request("luna://com.webos.service.config",{method:"getConfigs",parameters:{configNames:["tv.model.edidType"]},onSuccess:function(e){if(((e||{}).configs||{})["tv.model.edidType"]){I=!0;var t=e.configs["tv.model.edidType"].toLowerCase();t.includes("dts")&&(l.unsupportedAudio=l.unsupportedAudio.filter((function(e){return"DTS"!==e}))),t.includes("truehd")&&(l.unsupportedAudio=l.unsupportedAudio.filter((function(e){return"TRUEHD"!==e})))}},onFailure:function(e){console.log("could not get deviceInfo",e)}})}function u(e){var t=(e=e||{}).containerElement;if(!(t instanceof HTMLElement))throw new Error("Container element required to be instance of HTMLElement");var a=null,I=75,u=!0,d=!1,c=!1,O=[],R=[],N={color:"white",font_size:1,bg_color:"none",position:-1,bg_opacity:0,char_opacity:255},m=function(e){D.mediaId&&(u=!e,_({method:"setSubtitleEnable",parameters:{mediaId:D.mediaId,enable:e}}))},L=document.createElement("style");t.appendChild(L),L.sheet.insertRule("video::cue { font-size: 4vmin; color: rgb(255, 255, 255); background-color: rgba(0, 0, 0, 0); text-shadow: rgb(34, 34, 34) 1px 1px 0.1em; }");var D=document.createElement("video");D.style.width="100%",D.style.height="100%",D.style.backgroundColor="black",D.controls=!1,D.onerror=function(){!(function(){if(B)return;var e;switch((D.error||{}).code){case 1:e=r.HTML_VIDEO.MEDIA_ERR_ABORTED;break;case 2:e=r.HTML_VIDEO.MEDIA_ERR_NETWORK;break;case 3:e=r.HTML_VIDEO.MEDIA_ERR_DECODE,T({id:"com.webos.app.photovideo",url:P.url,name:"Stremio",position:-1},null,(function(e){console.error(e)}));break;case 4:e=r.HTML_VIDEO.MEDIA_ERR_SRC_NOT_SUPPORTED,T({id:"com.webos.app.photovideo",url:P.url,name:"Stremio",position:-1},null,(function(e){console.error(e)}));break;default:e=r.UNKNOWN_ERROR}F(Object.assign({},e,{critical:!0,error:D.error}))})()},D.onended=function(){f.emit("ended")},D.onpause=function(){V("paused")},D.onplay=function(){V("paused")},D.ontimeupdate=function(){V("time"),V("buffered")},D.ondurationchange=function(){V("duration")},D.onwaiting=function(){V("buffering"),V("buffered")},D.onseeking=function(){V("buffering"),V("buffered")},D.onseeked=function(){V("buffering"),V("buffered")},D.onstalled=function(){V("buffering"),V("buffered")},D.onplaying=function(){V("buffering"),V("buffered"),a||(a=!0,V("loaded"))},D.oncanplay=function(){V("buffering"),V("buffered")},D.canplaythrough=function(){V("buffering"),V("buffered")},D.onloadeddata=function(){V("buffering"),V("buffered")},D.onloadedmetadata=function(){V("buffering"),V("buffered"),H("time",g)},D.onvolumechange=function(){V("volume"),V("muted")},D.onratechange=function(){V("playbackSpeed")},D.textTracks.onchange=function(){V("subtitlesTracks"),V("selectedSubtitlesTrackId"),k(),Array.from(D.textTracks).forEach((function(e){e.oncuechange=k}))},t.appendChild(D);var p=null,h=null,C=1,f=new o,B=!1,P=null,g=null,v=0,y=100,W={stream:!1,loaded:!1,paused:!1,time:!1,duration:!1,buffering:!1,buffered:!1,subtitlesTracks:!1,selectedSubtitlesTrackId:!1,subtitlesOffset:!1,subtitlesSize:!1,subtitlesTextColor:!1,subtitlesBackgroundColor:!1,subtitlesOpacity:!1,audioTracks:!1,selectedAudioTrackId:!1,volume:!1,muted:!1,playbackSpeed:!1},M=!1,b={audio:[],subs:[]};function U(){M||null===P||(M=!0,E(P.url,(function(e){var t=0,a=0;O=[],R=[],e&&(b=e),((b||{}).subs||[]).length&&(b.subs.forEach((function(e){if(!l.unsupportedSubs.includes(e.codec||"")){var a=t;t++,d||O.length||(d=a),O.push({id:"EMBEDDED_"+a,lang:e.lang||"eng",label:e.lang||"eng",origin:"EMBEDDED",embedded:!0,mode:a===d?"showing":"disabled"})}})),V("subtitlesTracks"),V("selectedSubtitlesTrackId")),((b||{}).audio||[]).length&&(b.audio.forEach((function(e){if(!l.unsupportedAudio.includes(e.codec||"")){var t=a;a++,c||R.length||(c=t),R.push({id:"EMBEDDED_"+t,lang:e.lang||"eng",label:e.lang||"eng",origin:"EMBEDDED",embedded:!0,mode:t===c?"showing":"disabled"})}})),c="EMBEDDED_0",V("audioTracks"),V("selectedAudioTrackId"))})))}function G(e){switch(e){case"stream":return P;case"loaded":return a;case"paused":return null===P?null:!!D.paused;case"time":return null!==P&&null!==D.currentTime&&isFinite(D.currentTime)?Math.floor(1e3*D.currentTime):null;case"duration":return null!==P&&null!==D.duration&&isFinite(D.duration)?Math.floor(1e3*D.duration):null;case"buffering":return null===P?null:D.readyState<D.HAVE_FUTURE_DATA;case"buffered":if(null===P)return null;for(var t=null!==D.currentTime&&isFinite(D.currentTime)?D.currentTime:0,o=0;o<D.buffered.length;o++)if(D.buffered.start(o)<=t&&t<=D.buffered.end(o))return Math.floor(1e3*D.buffered.end(o));return Math.floor(1e3*t);case"subtitlesTracks":return null===P?[]:O;case"selectedSubtitlesTrackId":return null===P||u?null:d;case"subtitlesOffset":return B?null:v;case"subtitlesSize":return B?null:I;case"subtitlesTextColor":return B?null:p||"rgb(255, 255, 255)";case"subtitlesBackgroundColor":return B?null:h||"rgba(0, 0, 0, 0)";case"subtitlesOpacity":return B?null:y||100;case"audioTracks":return R;case"selectedAudioTrackId":return c;case"volume":return B||null===D.volume||!isFinite(D.volume)?null:Math.floor(100*D.volume);case"muted":return B?null:!!D.muted;case"playbackSpeed":return B||null===C||!isFinite(C)?null:C;default:return null}}function k(){Array.from(D.textTracks).forEach((function(e){Array.from(e.cues||[]).forEach((function(e){e.snapToLines=!1,e.line=100-v}))}))}function F(e){f.emit("error",e),e.critical&&w("unload")}function V(e){W[e]&&f.emit("propChanged",e,G(e))}function H(e,t){switch(e){case"paused":null!==P&&(t?D.pause():D.play());break;case"time":if(null!==P&&D.readyState>=D.HAVE_METADATA&&null!==t&&isFinite(t))try{D.currentTime=parseInt(t,10)/1e3,V("time")}catch(e){}break;case"selectedSubtitlesTrackId":if(D.mediaId&&null!==P&&0===(t||"").indexOf("EMBEDDED_")){m(!0),N.bg_opacity="none"===N.bg_color?0:255,["setSubtitleCharacterColor","setSubtitleBackgroundColor","setSubtitlePosition","setSubtitleFontSize","setSubtitleBackgroundOpacity","setSubtitleCharacterOpacity"].forEach((function(e){_({method:e,parameters:{mediaId:D.mediaId,charColor:N.color,bgColor:"none"===N.bg_color?"black":N.bg_color,position:N.position,fontSize:N.font_size,bgOpacity:N.bg_opacity,charOpacity:N.char_opacity}})})),console.log("WebOS","change subtitles for id: ",D.mediaId," index:",t),d=t;var a=parseInt(t.replace("EMBEDDED_",""));console.log("set subs to track idx: "+a),setTimeout((function(){var e=function(){var e=G("subtitlesTracks").find((function(e){return e.id===t}));O=O.map((function(e){return e.mode=e.id===d?"showing":"disabled",e})),e&&(f.emit("subtitlesTrackLoaded",e),V("selectedSubtitlesTrackId"))};_({method:"selectTrack",parameters:{type:"text",mediaId:D.mediaId,index:a}},e,e)}),500)}-1===(t||"").indexOf("EMBEDDED_")&&(d=null,V("selectedSubtitlesTrackId"),m(!1));break;case"subtitlesOffset":if(null!==t&&isFinite(t)){v=t;var o=(l=Math.max(0,Math.min(100,parseInt(v,10))))<=0?-3:l<=5?-2:l<=10?0:l<=15?2:l<=20&&4;!1===o&&(o=-2),N.position=o,D.mediaId&&_({method:"setSubtitlePosition",parameters:{mediaId:D.mediaId,position:o}}),V("subtitlesOffset")}break;case"subtitlesSize":if(null!==t&&isFinite(t)){I=t;var i=(T=Math.max(0,parseInt(I,10)))<=100?1:T<=125?2:T<=150?3:T<=200&&4;!1===i&&(i=1),N.font_size=i,D.mediaId&&_({method:"setSubtitleFontSize",parameters:{mediaId:D.mediaId,fontSize:i}}),V("subtitlesSize")}break;case"subtitlesTextColor":if("string"==typeof t){var n="white";S[t]&&s.indexOf(S[t])>-1&&(n=S[t]),N.color=n,D.mediaId&&_({method:"setSubtitleCharacterColor",parameters:{mediaId:D.mediaId,charColor:n}}),p=t,V("subtitlesTextColor")}break;case"subtitlesBackgroundColor":"string"==typeof t&&(S[t]&&s.indexOf(S[t])>-1&&(N.bg_color=S[t],D.mediaId&&(_({method:"setSubtitleBackgroundColor",parameters:{mediaId:D.mediaId,bgColor:"none"===S[t]?"black":S[t]}}),_("none"===S[t]?{method:"setSubtitleBackgroundOpacity",parameters:{mediaId:D.mediaId,bgOpacity:0}}:{method:"setSubtitleBackgroundOpacity",parameters:{mediaId:D.mediaId,bgOpacity:255}}))),h=t,V("subtitlesBackgroundColor"));break;case"subtitlesOpacity":if("number"==typeof t){var r=Math.floor(t/100*255);N.char_opacity=r,D.mediaId&&_({method:"setSubtitleCharacterOpacity",parameters:{mediaId:D.mediaId,charOpacity:r}}),y=t,V("subtitlesOpacity")}break;case"selectedAudioTrackId":if(0===(t||"").indexOf("EMBEDDED_")){c=t;a=parseInt(t.replace("EMBEDDED_",""));if(D.mediaId&&_({method:"selectTrack",parameters:{type:"audio",mediaId:D.mediaId,index:a}},(function(){var e=G("audioTracks").find((function(e){return e.id===t}));R=R.map((function(e){return e.mode=e.id===c?"showing":"disabled",e})),e&&(f.emit("audioTrackLoaded",e),V("selectedAudioTrackId"))})),D&&D.audioTracks){for(var E=0;E<D.audioTracks.length;E++)D.audioTracks[E].enabled=!1;D.audioTracks[a]&&(D.audioTracks[a].enabled=!0)}}break;case"volume":null!==t&&isFinite(t)&&(D.muted=!1,D.volume=Math.max(0,Math.min(100,parseInt(t,10)))/100);break;case"muted":D.muted=!!t;break;case"playbackSpeed":null!==t&&isFinite(t)&&(C=parseFloat(t),D.mediaId&&_({method:"setPlayRate",parameters:{mediaId:D.mediaId,playRate:C,audioOutput:!0}}),V("playbackSpeed"))}var T,l}function w(e,a){switch(e){case"load":if(a&&a.stream&&"string"==typeof a.stream.url){P=a.stream,g=a.time,V("stream"),D.autoplay="boolean"!=typeof a.autoplay||a.autoplay,V("loaded"),V("paused"),V("time"),V("duration"),V("buffering"),V("buffered"),V("subtitlesTracks"),V("selectedSubtitlesTrackId"),V("audioTracks"),V("selectedAudioTrackId");var o=0;D.src=P.url,i=function(){try{D.load()}catch(e){}try{D.play()}catch(e){}},n=setInterval((function(){if(D.mediaId)return clearInterval(n),U(),A(),void i();++o>4&&(clearInterval(n),U(),A(),i())}),300)}else F(Object.assign({},r.UNSUPPORTED_STREAM,{critical:!0,stream:a?a.stream:null}));break;case"unload":P=null,g=null,Array.from(D.textTracks).forEach((function(e){e.oncuechange=null})),D.removeAttribute("src"),D.load(),V("stream"),V("paused"),V("time"),V("duration"),V("buffering"),V("buffered"),V("subtitlesTracks"),V("selectedSubtitlesTrackId"),V("audioTracks"),V("selectedAudioTrackId");break;case"destroy":w("unload"),B=!0,V("subtitlesOffset"),V("subtitlesSize"),V("subtitlesTextColor"),V("subtitlesBackgroundColor"),V("subtitlesOpacity"),V("volume"),V("muted"),V("playbackSpeed"),f.removeAllListeners(),D.onerror=null,D.onended=null,D.onpause=null,D.onplay=null,D.ontimeupdate=null,D.ondurationchange=null,D.onwaiting=null,D.onseeking=null,D.onseeked=null,D.onstalled=null,D.onplaying=null,D.oncanplay=null,D.canplaythrough=null,D.onloadeddata=null,D.onloadedmetadata=null,D.onvolumechange=null,D.onratechange=null,D.textTracks.onchange=null,t.removeChild(D),t.removeChild(L)}var i,n}this.on=function(e,t){if(B)throw new Error("Video is destroyed");f.on(e,t)},this.dispatch=function(e){if(B)throw new Error("Video is destroyed");if(e)switch((e=n(i(e))).type){case"observeProp":return t=e.propName,void(W.hasOwnProperty(t)&&(f.emit("propValue",t,G(t)),W[t]=!0));case"setProp":return void H(e.propName,e.propValue);case"command":return void w(e.commandName,e.commandArgs)}var t;throw new Error("Invalid action dispatched: "+JSON.stringify(e))}}u.canPlayStream=function(){return Promise.resolve(!0)},u.manifest={name:"WebOsVideo",external:!1,props:["stream","loaded","paused","time","duration","buffering","buffered","audioTracks","selectedAudioTrackId","subtitlesTracks","selectedSubtitlesTrackId","subtitlesOffset","subtitlesSize","subtitlesTextColor","subtitlesBackgroundColor","subtitlesOpacity","volume","muted","playbackSpeed"],commands:["load","unload","destroy"],events:["propValue","propChanged","ended","error","subtitlesTrackLoaded","audioTrackLoaded"]},e.exports=u},18846:(e,t,a)=>{var o=a(64333);e.exports=o},59736:(e,t,a)=>{var o=a(26729),i=a(83465),n=a(62682),r=a(39657);function E(e){var t=null!==(e=e||{}).timeChangedTimeout&&isFinite(e.timeChangedTimeout)?parseInt(e.timeChangedTimeout,10):100,a=e.containerElement;if(!(a instanceof HTMLElement))throw new Error("Container element required to be instance of HTMLElement");var E=document.createElement("script");E.type="text/javascript",E.src="https://www.youtube.com/iframe_api",E.onload=function(){if(A)return;if(!YT||"function"!=typeof YT.ready)return void O();YT.ready((function(){A||(YT&&YT.PlayerState&&"function"==typeof YT.Player?s=new YT.Player(_,{width:"100%",height:"100%",playerVars:{autoplay:1,cc_load_policy:3,controls:0,disablekb:1,enablejsapi:1,fs:0,iv_load_policy:3,loop:0,modestbranding:1,playsinline:1,rel:0},events:{onError:R,onReady:N,onApiChange:m,onStateChange:L}}):O())}))},E.onerror=O,a.appendChild(E);var _=document.createElement("div");_.style.width="100%",_.style.height="100%",_.style.backgroundColor="black",a.appendChild(_);var T=window.setInterval((function(){h("time"),h("volume"),h("muted"),h("playbackSpeed")}),t),s=null,S=!1,l=null,I=new o,A=!1,u=null,d=null,c={stream:!1,loaded:!1,paused:!1,time:!1,duration:!1,buffering:!1,volume:!1,muted:!1,playbackSpeed:!1,subtitlesTracks:!1,selectedSubtitlesTrackId:!1};function O(){A||p(Object.assign({},r.YOUTUBE_VIDEO.API_LOAD_FAILED,{critical:!0}))}function R(e){if(!A){var t;switch(e.data){case 2:t=r.YOUTUBE_VIDEO.INVALID_PARAMETER;break;case 5:t=r.YOUTUBE_VIDEO.HTML5_VIDEO;break;case 100:t=r.YOUTUBE_VIDEO.VIDEO_NOT_FOUND;break;case 101:case 150:t=r.YOUTUBE_VIDEO.VIDEO_NOT_EMBEDDABLE;break;default:t=r.UNKNOWN_ERROR}p(Object.assign({},t,{critical:!0,error:e}))}}function N(){A||(S=!0,null!==l&&(C("load",l),l=null))}function m(){A||("function"==typeof s.loadModule&&s.loadModule("captions"),"function"==typeof s.setOption&&s.setOption("captions","track",{}),h("paused"),h("time"),h("duration"),h("buffering"),h("volume"),h("muted"),h("playbackSpeed"),h("subtitlesTracks"),h("selectedSubtitlesTrackId"))}function L(e){switch(h("buffering"),e.data){case YT.PlayerState.ENDED:I.emit("ended");break;case YT.PlayerState.CUED:case YT.PlayerState.UNSTARTED:case YT.PlayerState.PAUSED:case YT.PlayerState.PLAYING:h("paused"),h("time"),h("duration")}}function D(e){switch(e){case"stream":return u;case"loaded":return null!==u||null;case"paused":return null===u||"function"!=typeof s.getPlayerState?null:s.getPlayerState()!==YT.PlayerState.PLAYING;case"time":return null!==u&&"function"==typeof s.getCurrentTime&&null!==s.getCurrentTime()&&isFinite(s.getCurrentTime())?Math.floor(1e3*s.getCurrentTime()):null;case"duration":return null!==u&&"function"==typeof s.getDuration&&null!==s.getDuration()&&isFinite(s.getDuration())?Math.floor(1e3*s.getDuration()):null;case"buffering":return null===u||"function"!=typeof s.getPlayerState?null:s.getPlayerState()===YT.PlayerState.BUFFERING;case"volume":return null!==u&&"function"==typeof s.getVolume&&null!==s.getVolume()&&isFinite(s.getVolume())?s.getVolume():null;case"muted":return null===u||"function"!=typeof s.isMuted?null:s.isMuted();case"playbackSpeed":return null!==u&&"function"==typeof s.getPlaybackRate&&null!==s.getPlaybackRate()&&isFinite(s.getPlaybackRate())?s.getPlaybackRate():null;case"subtitlesTracks":return null===u||"function"!=typeof s.getOption?[]:(s.getOption("captions","tracklist")||[]).filter((function(e){return e&&"string"==typeof e.languageCode})).map((function(e,t){return Object.freeze({id:"EMBEDDED_"+String(t),lang:e.languageCode,label:"string"==typeof e.displayName?e.displayName:e.languageCode,origin:"EMBEDDED",embedded:!0})}));case"selectedSubtitlesTrackId":return null===u?null:d;default:return null}}function p(e){I.emit("error",e),e.critical&&C("unload")}function h(e){c[e]&&I.emit("propChanged",e,D(e))}function C(e,t){switch(e){case"load":if(C("unload"),t&&t.stream&&"string"==typeof t.stream.ytId)if(S){u=t.stream,h("stream"),h("loaded");var o="boolean"!=typeof t.autoplay||t.autoplay,i=null!==t.time&&isFinite(t.time)?parseInt(t.time,10)/1e3:0;o&&"function"==typeof s.loadVideoById?s.loadVideoById({videoId:t.stream.ytId,startSeconds:i}):"function"==typeof s.cueVideoById&&s.cueVideoById({videoId:t.stream.ytId,startSeconds:i}),h("paused"),h("time"),h("duration"),h("buffering"),h("volume"),h("muted"),h("playbackSpeed"),h("subtitlesTracks"),h("selectedSubtitlesTrackId")}else l=t;else p(Object.assign({},r.UNSUPPORTED_STREAM,{critical:!0,stream:t?t.stream:null}));break;case"unload":l=null,u=null,h("stream"),h("loaded"),d=null,S&&"function"==typeof s.stopVideo&&s.stopVideo(),h("paused"),h("time"),h("duration"),h("buffering"),h("volume"),h("muted"),h("playbackSpeed"),h("subtitlesTracks"),h("selectedSubtitlesTrackId");break;case"destroy":C("unload"),A=!0,I.removeAllListeners(),clearInterval(T),S&&"function"==typeof s.destroy&&s.destroy(),a.removeChild(E),a.removeChild(_)}}this.on=function(e,t){if(A)throw new Error("Video is destroyed");I.on(e,t)},this.dispatch=function(e){if(A)throw new Error("Video is destroyed");if(e)switch((e=n(i(e))).type){case"observeProp":return t=e.propName,void(c.hasOwnProperty(t)&&(I.emit("propValue",t,D(t)),c[t]=!0));case"setProp":return void(function(e,t){switch(e){case"paused":null!==u&&(t?"function"==typeof s.pauseVideo&&s.pauseVideo():"function"==typeof s.playVideo&&s.playVideo());break;case"time":null!==u&&"function"==typeof s.seekTo&&null!==t&&isFinite(t)&&s.seekTo(parseInt(t,10)/1e3);break;case"volume":null!==u&&null!==t&&isFinite(t)&&("function"==typeof s.unMute&&s.unMute(),"function"==typeof s.setVolume&&s.setVolume(Math.max(0,Math.min(100,parseInt(t,10)))),h("muted"),h("volume"));break;case"muted":null!==u&&(t?"function"==typeof s.mute&&s.mute():"function"==typeof s.unMute&&s.unMute(),h("muted"));break;case"playbackSpeed":null!==u&&"function"==typeof s.setPlaybackRate&&isFinite(t)&&(s.setPlaybackRate(t),h("playbackSpeed"));break;case"selectedSubtitlesTrackId":if(null!==u){d=null;var a=D("subtitlesTracks").find((function(e){return e.id===t}));"function"==typeof s.setOption&&(a?(d=a.id,s.setOption("captions","track",{languageCode:a.lang}),I.emit("subtitlesTrackLoaded",a)):s.setOption("captions","track",{})),h("selectedSubtitlesTrackId")}}})(e.propName,e.propValue);case"command":return void C(e.commandName,e.commandArgs)}var t;throw new Error("Invalid action dispatched: "+JSON.stringify(e))}}E.canPlayStream=function(e){return Promise.resolve(e&&"string"==typeof e.ytId)},E.manifest={name:"YouTubeVideo",external:!1,props:["stream","loaded","paused","time","duration","buffering","volume","muted","playbackSpeed","subtitlesTracks","selectedSubtitlesTrackId"],commands:["load","unload","destroy"],events:["propValue","propChanged","ended","error","subtitlesTrackLoaded"]},e.exports=E},33142:(e,t,a)=>{var o=a(59736);e.exports=o},39657:e=>{e.exports={CHROMECAST_SENDER_VIDEO:{INVALID_MESSAGE_RECEIVED:{code:100,message:"Invalid message received"},MESSAGE_SEND_FAILED:{code:101,message:"Failed to send message"}},YOUTUBE_VIDEO:{API_LOAD_FAILED:{code:90,message:"YouTube player iframe API failed to load"},INVALID_PARAMETER:{code:91,message:"The request contains an invalid parameter value"},HTML5_VIDEO:{code:92,message:"The requested content cannot be played in an HTML5 player"},VIDEO_NOT_FOUND:{code:93,message:"The video requested was not found"},VIDEO_NOT_EMBEDDABLE:{code:94,message:"The owner of the requested video does not allow it to be played in embedded players"}},HTML_VIDEO:{MEDIA_ERR_ABORTED:{code:80,message:"Fetching process aborted"},MEDIA_ERR_NETWORK:{code:81,message:"Error occurred when downloading"},MEDIA_ERR_DECODE:{code:82,message:"Error occurred when decoding"},MEDIA_ERR_SRC_NOT_SUPPORTED:{code:83,message:"Video is not supported"}},WITH_HTML_SUBTITLES:{LOAD_FAILED:{code:70,message:"Failed to load external subtitles"}},WITH_STREAMING_SERVER:{CONVERT_FAILED:{code:60,message:"Your device does not support the stream"}},UNKNOWN_ERROR:{code:1,message:"Unknown error"},UNSUPPORTED_STREAM:{code:2,message:"Stream is not supported"},STREAM_FAILED_TO_LOAD:{code:3,message:"Stream failed to load"}}},91654:(e,t,a)=>{var o=a(35010);e.exports=o},55015:e=>{var t,a,o=[{codec:"h264",force:window.chrome||window.cast,mime:'video/mp4; codecs="avc1.42E01E"'},{codec:"h265",mime:'video/mp4; codecs="hev1.1.6.L150.B0"',aliases:["hevc"]},{codec:"vp8",mime:'video/mp4; codecs="vp8"'},{codec:"vp9",mime:'video/mp4; codecs="vp9"'}],i=[{codec:"aac",mime:'audio/mp4; codecs="mp4a.40.2"'},{codec:"mp3",mime:'audio/mp4; codecs="mp3"'},{codec:"ac3",mime:'audio/mp4; codecs="ac-3"'},{codec:"eac3",mime:'audio/mp4; codecs="ec-3"'},{codec:"vorbis",mime:'audio/mp4; codecs="vorbis"'},{codec:"opus",mime:'audio/mp4; codecs="opus"'}];function n(e,t){return e.force||t.mediaElement.canPlayType(e.mime)?[e.codec].concat(e.aliases||[]):[]}e.exports=(t=document.createElement("video"),a=["mp4"],(window.chrome||window.cast)&&a.push("matroska,webm"),{formats:a,videoCodecs:o.map((function(e){return n(e,{mediaElement:t})})).reduce((function(e,t){return e.concat(t)}),[]),audioCodecs:i.map((function(e){return n(e,{mediaElement:t})})).reduce((function(e,t){return e.concat(t)}),[]),maxAudioChannels:(function(){if(/firefox/i.test(window.navigator.userAgent))return 6;if(!window.AudioContext||window.chrome||window.cast)return 2;var e=(new AudioContext).destination.maxChannelCount;return e>0?e:2})()})},21258:(e,t,a)=>{e.exports=function(){return void 0!==a.g.tizen||void 0!==a.g.webOS||void 0!==window.qt?Promise.resolve(!1):Promise.resolve(!0)}},73276:e=>{e.exports=function(e,t){fetch("http://127.0.0.1:11470/tracks/"+encodeURIComponent(e)).then((function(e){return e.json()})).then((function(e){var a=e.filter((function(e){return"audio"===(e||{}).type})),o=e.filter((function(e){return"text"===(e||{}).type}));t({audio:a,subs:o})})).catch((function(e){console.error(e),t(!1)}))}},69490:e=>{e.exports=function(e,t){if(t<e[0]||e[e.length-1]<t)return-1;for(var a=0,o=e.length-1,i=-1;a<=o;){var n=Math.floor((a+o)/2);e[n]>t?o=n-1:(e[n]<t||(i=n),a=n+1)}return-1!==i?i:o}},74282:(e,t,a)=>{var o=a(4253);e.exports=o},86950:e=>{function t(e){for(var t="",a=(e=e.replace(/<[a-zA-Z/][^>]*>/g,"")).split(/\n/);a.length>3;){for(var o=3;o<a.length;o++)a[2]+="\n"+a[o];a.splice(3,a.length-3)}var i=0;if(!a[0].match(/\d+:\d+:\d+/)&&a[1].match(/\d+:\d+:\d+/)&&(t+=a[0].match(/\w+/)+"\n",i+=1),!a[i].match(/\d+:\d+:\d+/))return"";var n=a[1].match(/(\d+):(\d+):(\d+)(?:,(\d+))?\s*--?>\s*(\d+):(\d+):(\d+)(?:,(\d+))?/);return n?(t+=n[1]+":"+n[2]+":"+n[3]+"."+n[4]+" --\x3e "+n[5]+":"+n[6]+":"+n[7]+"."+n[8]+"\n",a[i+=1]&&(t+=a[i]+"\n\n"),t):""}e.exports={convert:function(e){if(e.includes("WEBVTT"))return e;try{return(function(e){var a=e.replace(/\r+/g,""),o=(a=a.replace(/^\s+|\s+$/g,"")).split("\n\n"),i="";if(o.length>0){i+="WEBVTT\n\n";for(var n=0;n<o.length;n+=1)i+=t(o[n])}return i})(e)}catch(e){throw new Error("Failed to convert srt to webvtt: "+e.message)}}}},45517:(e,t,a)=>{var o=a(58369),i=a(69490);e.exports={parse:function(e){return new Promise((function(t,a){var n=new o.WebVTT.Parser(window,o.WebVTT.StringDecoder()),r=[],E=[],_={};n.oncue=function(e){var t={startTime:1e3*e.startTime|0,endTime:1e3*e.endTime|0,text:e.text};E.push(t),_[t.startTime]=_[t.startTime]||[],_[t.endTime]=_[t.endTime]||[]},n.onparsingerror=function(e){0===e.code?(n.oncue=null,n.onparsingerror=null,n.onflush=null,a(e)):(console.warn("Subtitles parsing error",e),r.push(e))},n.onflush=function(){_.times=Object.keys(_).map((function(e){return parseInt(e,10)})).sort((function(e,t){return e-t}));for(var e=0;e<E.length;e++){_[E[e].startTime].push(E[e]);for(var o=i(_.times,E[e].startTime)+1;o<_.times.length&&!(E[e].endTime<=_.times[o]);o++)_[_.times[o]].push(E[e])}for(var T=0;T<_.times.length;T++)_[_.times[T]].sort((function(e,t){return e.startTime-t.startTime||e.endTime-t.endTime}));n.oncue=null,n.onparsingerror=null,n.onflush=null,0===E.length&&r.length?a(r[0]):0===_.times.length?a(new Error("Missing subtitle track cues")):t(_)},n.parse(e)}))}}},42913:(e,t,a)=>{var o=a(58369),i=a(69490);e.exports={render:function(e,t){var a=[],n=i(e.times,t);if(-1!==n)for(var r=e[e.times[n]],E=0;E<r.length;E++){var _=o.WebVTT.convertCueToDOMTree(window,r[E].text);a.push(_)}return a}}},4253:(e,t,a)=>{var o=a(26729),i=a(83465),n=a(62682),r=a(6767),E=a(39657),_=a(45517),T=a(42913),s=a(86950);e.exports=function(e){function t(t){var a=new e(t=t||{});a.on("error",(function(e){u.emit("error",e),e.critical&&y("unload")})),a.on("propValue",B.bind(null,"propValue")),a.on("propChanged",B.bind(null,"propChanged")),e.manifest.events.filter((function(e){return!["error","propValue","propChanged"].includes(e)})).forEach((function(e){a.on(e,(function(e){return function(){u.emit.apply(u,[e].concat(Array.from(arguments)))}})(e))}));var S=t.containerElement;if(!(S instanceof HTMLElement))throw new Error("Container element required to be instance of HTMLElement");var l=document.createElement("div");l.style.position="absolute",l.style.right="0",l.style.bottom="0",l.style.left="0",l.style.zIndex="1",l.style.textAlign="center",S.style.position="relative",S.style.zIndex="0",S.appendChild(l);var I={time:null},A=null,u=new o,d=!1,c=[],O=null,R=null,N=100,m=0,L="rgb(255, 255, 255)",D="rgba(0, 0, 0, 0)",p="rgb(34, 34, 34)",h=1,C={extraSubtitlesTracks:!1,selectedExtraSubtitlesTrackId:!1,extraSubtitlesDelay:!1,extraSubtitlesSize:!1,extraSubtitlesOffset:!1,extraSubtitlesTextColor:!1,extraSubtitlesBackgroundColor:!1,extraSubtitlesOutlineColor:!1,extraSubtitlesOpacity:!1};function f(){for(;l.hasChildNodes();)l.removeChild(l.lastChild);null!==A&&null!==I.time&&isFinite(I.time)&&(l.style.bottom=m+"%",l.style.opacity=h,T.render(A,I.time-R).forEach((function(e){e.style.display="inline-block",e.style.padding="0.2em",e.style.whiteSpace="pre-wrap",e.style.fontSize=Math.floor(N/25)+"vmin",e.style.color=L,e.style.backgroundColor=D,e.style.textShadow="1px 1px 0.1em "+p,l.appendChild(e),l.appendChild(document.createElement("br"))})))}function B(e,t,a){if("time"===t)I.time=a,f();u.emit(e,t,g(t,a))}function P(e){C[e]&&u.emit("propChanged",e,g(e,null))}function g(e,t){switch(e){case"extraSubtitlesTracks":return d?[]:c.slice();case"selectedExtraSubtitlesTrackId":return d?null:O;case"extraSubtitlesDelay":return d?null:R;case"extraSubtitlesSize":return d?null:N;case"extraSubtitlesOffset":return d?null:m;case"extraSubtitlesTextColor":return d?null:L;case"extraSubtitlesBackgroundColor":return d?null:D;case"extraSubtitlesOutlineColor":return d?null:p;case"extraSubtitlesOpacity":return d?null:h;default:return t}}function v(e,t){switch(e){case"selectedExtraSubtitlesTrackId":A=null,O=null,R=null;var o=c.find((function(e){return e.id===t}));return o&&(O=o.id,R=0,fetch(o.url).then((function(e){if(e.ok)return e.text();throw new Error(e.status+" ("+e.statusText+")")})).then((function(e){return s.convert(e)})).then((function(e){return _.parse(e)})).then((function(e){O===o.id&&(A=e,f(),u.emit("extraSubtitlesTrackLoaded",o))})).catch((function(e){O===o.id&&(function(e){u.emit("error",e),e.critical&&(y("unload"),a.dispatch({type:"command",commandName:"unload"}))})(Object.assign({},E.WITH_HTML_SUBTITLES.LOAD_FAILED,{error:e,track:o,critical:!1}))}))),f(),P("selectedExtraSubtitlesTrackId"),P("extraSubtitlesDelay"),!0;case"extraSubtitlesDelay":return null!==O&&null!==t&&isFinite(t)&&(R=parseInt(t,10),f(),P("extraSubtitlesDelay")),!0;case"extraSubtitlesSize":return null!==t&&isFinite(t)&&(N=Math.max(0,parseInt(t,10)),f(),P("extraSubtitlesSize")),!0;case"extraSubtitlesOffset":return null!==t&&isFinite(t)&&(m=Math.max(0,Math.min(100,parseInt(t,10))),f(),P("extraSubtitlesOffset")),!0;case"extraSubtitlesTextColor":if("string"==typeof t){try{L=r(t).rgb().string()}catch(e){console.error("withHTMLSubtitles",e)}f(),P("extraSubtitlesTextColor")}return!0;case"extraSubtitlesBackgroundColor":if("string"==typeof t){try{D=r(t).rgb().string()}catch(e){console.error("withHTMLSubtitles",e)}f(),P("extraSubtitlesBackgroundColor")}return!0;case"extraSubtitlesOutlineColor":if("string"==typeof t){try{p=r(t).rgb().string()}catch(e){console.error("withHTMLSubtitles",e)}f(),P("extraSubtitlesOutlineColor")}return!0;case"extraSubtitlesOpacity":if("number"==typeof t){try{h=Math.min(Math.max(t/100,0),1)}catch(e){console.error("withHTMLSubtitles",e)}f(),P("extraSubtitlesOpacity")}return!0;default:return!1}}function y(e,t){switch(e){case"addExtraSubtitlesTracks":return t&&Array.isArray(t.tracks)&&(c=c.concat(t.tracks).filter((function(e,t,a){return e&&"string"==typeof e.id&&"string"==typeof e.url&&"string"==typeof e.lang&&"string"==typeof e.label&&"string"==typeof e.origin&&!e.embedded&&t===a.findIndex((function(t){return t.id===e.id}))})),P("extraSubtitlesTracks")),!0;case"load":return y("unload"),t.stream&&Array.isArray(t.stream.subtitles)&&y("addExtraSubtitlesTracks",{tracks:t.stream.subtitles.map((function(e){return Object.assign({},e,{origin:"EXCLUSIVE",exclusive:!0,embedded:!1})}))}),!1;case"unload":return A=null,c=[],O=null,R=null,f(),P("extraSubtitlesTracks"),P("selectedExtraSubtitlesTrackId"),P("extraSubtitlesDelay"),!1;case"destroy":return y("unload"),d=!0,P("extraSubtitlesSize"),P("extraSubtitlesOffset"),P("extraSubtitlesTextColor"),P("extraSubtitlesBackgroundColor"),P("extraSubtitlesOutlineColor"),P("extraSubtitlesOpacity"),a.dispatch({type:"command",commandName:"destroy"}),u.removeAllListeners(),S.removeChild(l),!0;default:return!1}}this.on=function(e,t){if(d)throw new Error("Video is destroyed");u.on(e,t)},this.dispatch=function(e){if(d)throw new Error("Video is destroyed");if(e)switch((e=n(i(e))).type){case"observeProp":if((function(e){switch(e){case"extraSubtitlesTracks":case"selectedExtraSubtitlesTrackId":case"extraSubtitlesDelay":case"extraSubtitlesSize":case"extraSubtitlesOffset":case"extraSubtitlesTextColor":case"extraSubtitlesBackgroundColor":case"extraSubtitlesOutlineColor":case"extraSubtitlesOpacity":return u.emit("propValue",e,g(e,null)),C[e]=!0,!0;default:return!1}})(e.propName))return;break;case"setProp":if(v(e.propName,e.propValue))return;break;case"command":if(y(e.commandName,e.commandArgs))return}a.dispatch(e)}}return t.canPlayStream=function(t){return e.canPlayStream(t)},t.manifest={name:e.manifest.name+"WithHTMLSubtitles",external:e.manifest.external,props:e.manifest.props.concat(["extraSubtitlesTracks","selectedExtraSubtitlesTrackId","extraSubtitlesDelay","extraSubtitlesSize","extraSubtitlesOffset","extraSubtitlesTextColor","extraSubtitlesBackgroundColor","extraSubtitlesOutlineColor","extraSubtitlesOpacity"]).filter((function(e,t,a){return a.indexOf(e)===t})),commands:e.manifest.commands.concat(["load","unload","destroy","addExtraSubtitlesTracks"]).filter((function(e,t,a){return a.indexOf(e)===t})),events:e.manifest.events.concat(["propValue","propChanged","error","extraSubtitlesTrackLoaded"]).filter((function(e,t,a){return a.indexOf(e)===t}))},t}},17054:(e,t,a)=>{var o=a(8575),i=a(49566),n=a(97190);function r(e,t,a,i){var n=new URL(t),r=new URLSearchParams;return r.set("d",n.origin),Object.entries(a).forEach((function(e){r.append("h",e[0]+":"+e[1])})),Object.entries(i).forEach((function(e){r.append("r",e[0]+":"+e[1])})),o.resolve(e,"/proxy/"+r.toString()+n.pathname)+n.search}e.exports=function(e,t,a,o){return new Promise((function(E,_){if("string"!=typeof t.url)"string"!=typeof t.infoHash?_(new Error("Stream cannot be converted")):n(e,t.infoHash,t.fileIdx,t.announce,a).then((function(e){E({url:e.url,infoHash:e.infoHash,fileIdx:e.fileIdx})})).catch((function(e){_(e)}));else if(0===t.url.indexOf("magnet:")){var T;try{if(!(T=i.decode(t.url))||"string"!=typeof T.infoHash)throw new Error("Failed to decode magnet url")}catch(e){return void _(e)}var s=Array.isArray(T.announce)?T.announce.map((function(e){return"tracker:"+e})):[];n(e,T.infoHash,null,s,a).then((function(e){E({url:e.url,infoHash:e.infoHash,fileIdx:e.fileIdx})})).catch((function(e){_(e)}))}else{var S=o&&o.proxyStreamsEnabled,l=t.behaviorHints&&t.behaviorHints.proxyHeaders;if(S||l){var I=l&&l.request?l.request:{},A=l&&l.response?l.response:{};E({url:r(e,t.url,I,A)})}else E({url:t.url})}}))}},97190:(e,t,a)=>{var o=a(8575);function i(e,t,a,i){var n=Array.isArray(i)&&i.length>0?"?"+new URLSearchParams(i.map((function(e){return["tr",e]}))):"";return{url:o.resolve(e,"/"+encodeURIComponent(t)+"/"+encodeURIComponent(a))+n,infoHash:t,fileIdx:a,sources:i}}e.exports=function(e,t,a,n,r){if((!Array.isArray(n)||0===n.length)&&null!==a&&isFinite(a))return Promise.resolve(i(e,t,a,n));var E={torrent:{infoHash:t}};return Array.isArray(n)&&n.length>0&&(E.peerSearch={sources:["dht:"+t].concat(n).filter((function(e,t,a){return a.indexOf(e)===t})),min:40,max:200}),null!==a&&isFinite(a)?E.guessFileIdx=!1:(E.guessFileIdx={},r&&(null!==r.season&&isFinite(r.season)&&(E.guessFileIdx.season=r.season),null!==r.episode&&isFinite(r.episode)&&(E.guessFileIdx.episode=r.episode))),fetch(o.resolve(e,"/"+encodeURIComponent(t)+"/create"),{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(E)}).then((function(e){if(e.ok)return e.json();throw new Error(e.status+" ("+e.statusText+")")})).then((function(o){return i(e,t,E.guessFileIdx?o.guessedFileIdx:a,E.peerSearch?E.peerSearch.sources:[])}))}},94536:(e,t,a)=>{var o=a(8575);function i(e,t,a){var i=a&&"string"==typeof a.videoHash?a.videoHash:null,n=a&&isFinite(a.videoSize)?a.videoSize:null;if("string"==typeof i&&null!==n&&isFinite(n))return Promise.resolve({hash:i,size:n});var r=new URLSearchParams([["videoUrl",t]]);return fetch(o.resolve(e,"/opensubHash?"+r.toString())).then((function(e){if(e.ok)return e.json();throw new Error(e.status+" ("+e.statusText+")")})).then((function(e){if(e.error)throw new Error(e.error);return{hash:"string"==typeof i?i:e.result&&"string"==typeof e.result.hash?e.result.hash:null,size:null!==n&&isFinite(n)?n:e.result&&(e.result.size,1)?e.result.size:null}}))}function n(e,t,a,i,n){return n&&"string"==typeof n.filename?Promise.resolve(n.filename):a?fetch(o.resolve(e,"/"+encodeURIComponent(a)+"/"+encodeURIComponent(i)+"/stats.json")).then((function(e){if(e.ok)return e.json();throw new Error(e.status+" ("+e.statusText+")")})).then((function(e){if(!e||"string"!=typeof e.streamName)throw new Error("Could not retrieve filename from torrent");return e.streamName})):Promise.resolve(decodeURIComponent(t.split("/").pop()))}e.exports=function(e,t,a,o,r){return Promise.allSettled([i(e,t,r),n(e,t,a,o,r)]).then((function(e){var t={hash:null,size:null,filename:null};return"fulfilled"===e[0].status?(t.hash=e[0].value.hash,t.size=e[0].value.size):e[0].reason&&console.error(e[0].reason),"fulfilled"===e[1].status?t.filename=e[1].value:e[1].reason&&console.error(e[1].reason),t}))}},5690:(e,t,a)=>{var o=a(47746);e.exports=o},88393:e=>{e.exports=function(e,t){return t.includes("loaded")?new Promise((function(t,a){var o=null;e.on("propChanged",(function(e,i){"loaded"===e&&null!==i&&null===o&&(o=i,!0===i?t(!0):!1===i&&a(Error("Player failed to load, will not retrieve video params")))})),e.dispatch({type:"observeProp",propName:"loaded"})})):Promise.resolve(!0)}},47746:(e,t,a)=>{var o=a(26729),i=a(8575),n=a(542),r=a(83465),E=a(62682),_=a(55015),T=a(17054),s=a(94536),S=a(88393),l=a(21258),I=a(39657);e.exports=function(e){function t(a){var l=new e(a=a||{});l.on("error",(function(e){R.emit("error",e),e.critical&&C("unload")})),l.on("propValue",L.bind(null,"propValue")),l.on("propChanged",L.bind(null,"propChanged")),e.manifest.events.filter((function(e){return!["error","propValue","propChanged"].includes(e)})).forEach((function(e){l.on(e,(function(e){return function(){R.emit.apply(R,[e].concat(Array.from(arguments)))}})(e))}));var A=this,u=null,d=!1,c=[],O=null,R=new o,N=!1,m={stream:!1,videoParams:!1};function L(e,t,a){R.emit(e,t,h(t,a))}function D(e){m[e]&&R.emit("propChanged",e,h(e,null))}function p(e){R.emit("error",e),e.critical&&(C("unload"),l.dispatch({type:"command",commandName:"unload"}))}function h(e,t){switch(e){case"stream":return null!==u?u.stream:null;case"videoParams":return O;default:return t}}function C(a,o){switch(a){case"load":return o&&o.stream&&"string"==typeof o.streamingServerURL?(C("unload"),l.dispatch({type:"command",commandName:"unload"}),u=o,D("stream"),T(o.streamingServerURL,o.stream,o.seriesInfo,o.streamingServerSettings).then((function(e){var a=e.url,r=e.infoHash,E=e.fileIdx,T=Array.isArray(o.formats)?o.formats:_.formats,s=Array.isArray(o.videoCodecs)?o.videoCodecs:_.videoCodecs,S=Array.isArray(o.audioCodecs)?o.audioCodecs:_.audioCodecs,l=null!==o.maxAudioChannels&&isFinite(o.maxAudioChannels)?o.maxAudioChannels:_.maxAudioChannels,I=Object.assign({},o,{formats:T,videoCodecs:s,audioCodecs:S,maxAudioChannels:l});return(o.forceTranscoding?Promise.resolve(!1):t.canPlayStream({url:a},I)).catch((function(e){return console.warn("Media probe error",e),!1})).then((function(e){if(e)return{mediaURL:a,infoHash:r,fileIdx:E,stream:{url:a}};var t=n(),_=new URLSearchParams([["mediaURL",a]]);return o.forceTranscoding&&_.set("forceTranscoding","1"),s.forEach((function(e){_.append("videoCodecs",e)})),S.forEach((function(e){_.append("audioCodecs",e)})),_.set("maxAudioChannels",l),{mediaURL:a,infoHash:r,fileIdx:E,stream:{url:i.resolve(o.streamingServerURL,"/hlsv2/"+t+"/master.m3u8?"+_.toString()),subtitles:Array.isArray(o.stream.subtitles)?o.stream.subtitles.map((function(e){return Object.assign({},e,{url:"string"==typeof e.url?i.resolve(o.streamingServerURL,"/subtitles.vtt?"+new URLSearchParams([["from",e.url]]).toString()):e.url})})):[],behaviorHints:{headers:{"content-type":"application/vnd.apple.mpegurl"}}}}}))})).then((function(t){o===u&&(l.dispatch({type:"command",commandName:"load",commandArgs:Object.assign({},o,{stream:t.stream})}),d=!0,(function(){for(;c.length>0;){var e=c.shift();A.dispatch.call(A,e)}})(),S(l,e.manifest.props).then((function(){return s(o.streamingServerURL,t.mediaURL,t.infoHash,t.fileIdx,o.stream.behaviorHints)})).then((function(e){o===u&&(O=e,D("videoParams"))})).catch((function(e){o===u&&(console.error(e),O={hash:null,size:null,filename:null},D("videoParams"))})))})).catch((function(e){o===u&&p(Object.assign({},I.WITH_STREAMING_SERVER.CONVERT_FAILED,{error:e,critical:!0,stream:o.stream,streamingServerURL:o.streamingServerURL}))}))):p(Object.assign({},I.UNSUPPORTED_STREAM,{critical:!0,stream:o?o.stream:null,streamingServerURL:o&&"string"==typeof o.streamingServerURL?o.streamingServerURL:null})),!0;case"addExtraSubtitlesTracks":return u&&o&&Array.isArray(o.tracks)&&(d?l.dispatch({type:"command",commandName:"addExtraSubtitlesTracks",commandArgs:Object.assign({},o,{tracks:o.tracks.map((function(e){return Object.assign({},e,{url:"string"==typeof e.url?i.resolve(u.streamingServerURL,"/subtitles.vtt?"+new URLSearchParams([["from",e.url]]).toString()):e.url})}))})}):c.push({type:"command",commandName:"addExtraSubtitlesTracks",commandArgs:o})),!0;case"unload":return u=null,d=!1,c=[],O=null,D("stream"),D("videoParams"),!1;case"destroy":return C("unload"),N=!0,l.dispatch({type:"command",commandName:"destroy"}),R.removeAllListeners(),!0;default:return!d&&(c.push({type:"command",commandName:a,commandArgs:o}),!0)}}this.on=function(e,t){if(N)throw new Error("Video is destroyed");R.on(e,t)},this.dispatch=function(e){if(N)throw new Error("Video is destroyed");if(e)switch((e=E(r(e))).type){case"observeProp":if((function(e){switch(e){case"stream":case"videoParams":return R.emit("propValue",e,h(e,null)),m[e]=!0,!0;default:return!1}})(e.propName))return;break;case"command":if(C(e.commandName,e.commandArgs))return}l.dispatch(e)}}return t.canPlayStream=function(t,a){return l().then((function(o){if(!o)return e.canPlayStream(t);var n=new URLSearchParams([["mediaURL",t.url]]);return fetch(i.resolve(a.streamingServerURL,"/hlsv2/probe?"+n.toString())).then((function(e){return e.json()})).then((function(e){var t=a.formats.some((function(t){return-1!==e.format.name.indexOf(t)})),o=e.streams.every((function(e){return"audio"===e.track?e.channels<=a.maxAudioChannels&&-1!==a.audioCodecs.indexOf(e.codec):"video"!==e.track||-1!==a.videoCodecs.indexOf(e.codec)}));return t&&o})).catch((function(){return e.canPlayStream(t)}))}))},t.manifest={name:e.manifest.name+"WithStreamingServer",external:e.manifest.external,props:e.manifest.props.concat(["stream","videoParams"]).filter((function(e,t,a){return a.indexOf(e)===t})),commands:e.manifest.commands.concat(["load","unload","destroy","addExtraSubtitlesTracks"]).filter((function(e,t,a){return a.indexOf(e)===t})),events:e.manifest.events.concat(["propValue","propChanged","error"]).filter((function(e,t,a){return a.indexOf(e)===t}))},t}},29450:(e,t,a)=>{var o=a(6693);e.exports=o},6693:(e,t,a)=>{var o=a(26729),i=a(83465),n=a(62682);e.exports=function(e){function t(t){var a=new e(t=t||{});a.on("propValue",s.bind(null,"propValue")),a.on("propChanged",s.bind(null,"propChanged")),e.manifest.events.filter((function(e){return!["propValue","propChanged"].includes(e)})).forEach((function(e){a.on(e,(function(e){return function(){E.emit.apply(E,[e].concat(Array.from(arguments)))}})(e))}));var r=null,E=new o,_=!1,T={videoParams:!1};function s(e,t,a){"videoParams"!==t&&E.emit(e,t,S(t,a)),"stream"===t&&(r=a,(function(e){T[e]&&E.emit("propChanged",e,S(e,null))})("videoParams"))}function S(e,t){return"videoParams"===e?null===r?null:{hash:r.behaviorHints&&"string"==typeof r.behaviorHints.videoHash?r.behaviorHints.videoHash:null,size:r.behaviorHints&&null!==r.behaviorHints.videoSize&&isFinite(r.behaviorHints.videoSize)?r.behaviorHints.videoSize:null,filename:r.behaviorHints&&"string"==typeof r.behaviorHints.filename?r.behaviorHints.filename:null}:t}this.on=function(e,t){if(_)throw new Error("Video is destroyed");E.on(e,t)},this.dispatch=function(e){if(_)throw new Error("Video is destroyed");if(e)switch((e=n(i(e))).type){case"observeProp":if("videoParams"===(o=e.propName)&&(E.emit("propValue",o,S(o,null)),T[o]=!0,1))return;break;case"command":if(t=e.commandName,e.commandArgs,"destroy"===t&&(_=!0,a.dispatch({type:"command",commandName:"destroy"}),E.removeAllListeners(),1))return}var t,o;a.dispatch(e)}}return t.canPlayStream=function(t,a){return e.canPlayStream(t,a)},t.manifest={name:e.manifest.name+"WithVideoParams",external:e.manifest.external,props:e.manifest.props.concat(["videoParams"]).filter((function(e,t,a){return a.indexOf(e)===t})),commands:e.manifest.commands.concat(["destroy"]).filter((function(e,t,a){return a.indexOf(e)===t})),events:e.manifest.events.concat(["propValue","propChanged"]).filter((function(e,t,a){return a.indexOf(e)===t}))},t}},43746:function(e){"undefined"!=typeof self&&self,e.exports=(function(e){var t={};function a(o){if(t[o])return t[o].exports;var i=t[o]={i:o,l:!1,exports:{}};return e[o].call(i.exports,i,i.exports,a),i.l=!0,i.exports}return a.m=e,a.c=t,a.d=function(e,t,o){a.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(e,t){if(1&t&&(e=a(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(a.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)a.d(o,i,function(t){return e[t]}.bind(null,i));return o},a.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(t,"a",t),t},a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a.p="",a(a.s=1)})([function(e,t,a){"use strict";var o=a(3);function i(e){return!0===o(e)&&"[object Object]"===Object.prototype.toString.call(e)}e.exports=function(e){var t,a;return!1!==i(e)&&"function"==typeof(t=e.constructor)&&!1!==i(a=t.prototype)&&!1!==a.hasOwnProperty("isPrototypeOf")}},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.VERSION=t.PALETTE_MATERIAL_CHROME=t.PALETTE_MATERIAL_500=t.COLOR_NAMES=t.getLuminance=t.intToRgb=t.rgbToInt=t.rgbToHsv=t.rgbToHsl=t.hslToRgb=t.rgbToHex=t.parseColor=t.parseColorToHsla=t.parseColorToHsl=t.parseColorToRgba=t.parseColorToRgb=t.from=t.createPicker=void 0;var o=(function(){function e(e,t){for(var a=0;a<t.length;a++){var o=t[a];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}return function(t,a,o){return a&&e(t.prototype,a),o&&e(t,o),t}})(),i=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return(function(e,t){var a=[],o=!0,i=!1,n=void 0;try{for(var r,E=e[Symbol.iterator]();!(o=(r=E.next()).done)&&(a.push(r.value),!t||a.length!==t);o=!0);}catch(e){i=!0,n=e}finally{try{!o&&E.return&&E.return()}finally{if(i)throw n}}return a})(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")},n=a(2),r=_(a(0)),E=_(a(4));function _(e){return e&&e.__esModule?e:{default:e}}function T(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e){if(Array.isArray(e)){for(var t=0,a=Array(e.length);t<e.length;t++)a[t]=e[t];return a}return Array.from(e)}var S="undefined"!=typeof window&&window.navigator.userAgent.indexOf("Edge")>-1,l="undefined"!=typeof window&&window.navigator.userAgent.indexOf("rv:")>-1,I={id:null,attachTo:"body",showHSL:!0,showRGB:!0,showHEX:!0,showAlpha:!1,color:"#ff0000",palette:null,paletteEditable:!1,useAlphaInPalette:"auto",slBarSize:[232,150],hueBarSize:[150,11],alphaBarSize:[150,11]},A="COLOR",u="RGBA_USER",d="HSLA_USER";function c(e,t,a){return e?e instanceof HTMLElement?e:e instanceof NodeList?e[0]:"string"==typeof e?document.querySelector(e):e.jquery?e.get(0):a?t:null:t}function O(e){var t=e.getContext("2d"),a=+e.width,o=+e.height,r=t.createLinearGradient(1,1,1,o-1);return r.addColorStop(0,"white"),r.addColorStop(1,"black"),{setHue:function(e){var i=t.createLinearGradient(1,0,a-1,0);i.addColorStop(0,"hsla("+e+", 100%, 50%, 0)"),i.addColorStop(1,"hsla("+e+", 100%, 50%, 1)"),t.fillStyle=r,t.fillRect(0,0,a,o),t.fillStyle=i,t.globalCompositeOperation="multiply",t.fillRect(0,0,a,o),t.globalCompositeOperation="source-over"},grabColor:function(e,a){return t.getImageData(e,a,1,1).data},findColor:function(e,t,r){var E=(0,n.rgbToHsv)(e,t,r),_=i(E,3),T=_[1],s=_[2];return[T*a,o-s*o]}}}function R(e,t,a){return null===e?t:/^\s*$/.test(e)?a:!!/true|yes|1/i.test(e)||!/false|no|0/i.test(e)&&t}function N(e,t,a){if(null===e)return t;if(/^\s*$/.test(e))return a;var o=e.split(",").map(Number);return 2===o.length&&o[0]&&o[1]?o:t}var m=(function(){function e(t,a){if(T(this,e),a?(t=c(t),this.options=Object.assign({},I,a)):t&&(0,r.default)(t)?(this.options=Object.assign({},I,t),t=c(this.options.attachTo)):(this.options=Object.assign({},I),t=c((0,n.nvl)(t,this.options.attachTo))),!t)throw new Error("Container not found: "+this.options.attachTo);!(function(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"acp-";if(t.hasAttribute(a+"show-hsl")&&(e.showHSL=R(t.getAttribute(a+"show-hsl"),I.showHSL,!0)),t.hasAttribute(a+"show-rgb")&&(e.showRGB=R(t.getAttribute(a+"show-rgb"),I.showRGB,!0)),t.hasAttribute(a+"show-hex")&&(e.showHEX=R(t.getAttribute(a+"show-hex"),I.showHEX,!0)),t.hasAttribute(a+"show-alpha")&&(e.showAlpha=R(t.getAttribute(a+"show-alpha"),I.showAlpha,!0)),t.hasAttribute(a+"palette-editable")&&(e.paletteEditable=R(t.getAttribute(a+"palette-editable"),I.paletteEditable,!0)),t.hasAttribute(a+"sl-bar-size")&&(e.slBarSize=N(t.getAttribute(a+"sl-bar-size"),I.slBarSize,[232,150])),t.hasAttribute(a+"hue-bar-size")&&(e.hueBarSize=N(t.getAttribute(a+"hue-bar-size"),I.hueBarSize,[150,11]),e.alphaBarSize=e.hueBarSize),t.hasAttribute(a+"palette")){var o=t.getAttribute(a+"palette");switch(o){case"PALETTE_MATERIAL_500":e.palette=n.PALETTE_MATERIAL_500;break;case"PALETTE_MATERIAL_CHROME":case"":e.palette=n.PALETTE_MATERIAL_CHROME;break;default:e.palette=o.split(/[;|]/)}}t.hasAttribute(a+"color")&&(e.color=t.getAttribute(a+"color"))})(this.options,t),this.H=0,this.S=0,this.L=0,this.R=0,this.G=0,this.B=0,this.A=1,this.palette={},this.element=document.createElement("div"),this.options.id&&(this.element.id=this.options.id),this.element.className="a-color-picker",this.element.innerHTML=E.default,t.appendChild(this.element);var o=this.element.querySelector(".a-color-picker-h");this.setupHueCanvas(o),this.hueBarHelper=O(o),this.huePointer=this.element.querySelector(".a-color-picker-h+.a-color-picker-dot");var i=this.element.querySelector(".a-color-picker-sl");this.setupSlCanvas(i),this.slBarHelper=O(i),this.slPointer=this.element.querySelector(".a-color-picker-sl+.a-color-picker-dot"),this.preview=this.element.querySelector(".a-color-picker-preview"),this.setupClipboard(this.preview.querySelector(".a-color-picker-clipbaord")),this.options.showHSL?(this.setupInput(this.inputH=this.element.querySelector(".a-color-picker-hsl>input[nameref=H]")),this.setupInput(this.inputS=this.element.querySelector(".a-color-picker-hsl>input[nameref=S]")),this.setupInput(this.inputL=this.element.querySelector(".a-color-picker-hsl>input[nameref=L]"))):this.element.querySelector(".a-color-picker-hsl").remove(),this.options.showRGB?(this.setupInput(this.inputR=this.element.querySelector(".a-color-picker-rgb>input[nameref=R]")),this.setupInput(this.inputG=this.element.querySelector(".a-color-picker-rgb>input[nameref=G]")),this.setupInput(this.inputB=this.element.querySelector(".a-color-picker-rgb>input[nameref=B]"))):this.element.querySelector(".a-color-picker-rgb").remove(),this.options.showHEX?this.setupInput(this.inputRGBHEX=this.element.querySelector("input[nameref=RGBHEX]")):this.element.querySelector(".a-color-picker-rgbhex").remove(),this.options.paletteEditable||this.options.palette&&this.options.palette.length>0?this.setPalette(this.paletteRow=this.element.querySelector(".a-color-picker-palette")):(this.paletteRow=this.element.querySelector(".a-color-picker-palette"),this.paletteRow.remove()),this.options.showAlpha?(this.setupAlphaCanvas(this.element.querySelector(".a-color-picker-a")),this.alphaPointer=this.element.querySelector(".a-color-picker-a+.a-color-picker-dot")):this.element.querySelector(".a-color-picker-alpha").remove(),this.element.style.width=this.options.slBarSize[0]+"px",this.onValueChanged(A,this.options.color)}return o(e,[{key:"setupHueCanvas",value:function(e){var t=this;e.width=this.options.hueBarSize[0],e.height=this.options.hueBarSize[1];for(var a=e.getContext("2d"),o=a.createLinearGradient(0,0,this.options.hueBarSize[0],0),i=0;i<=1;i+=1/360)o.addColorStop(i,"hsl("+360*i+", 100%, 50%)");a.fillStyle=o,a.fillRect(0,0,this.options.hueBarSize[0],this.options.hueBarSize[1]);var r=function(a){var o=(0,n.limit)(a.clientX-e.getBoundingClientRect().left,0,t.options.hueBarSize[0]),i=Math.round(360*o/t.options.hueBarSize[0]);t.huePointer.style.left=o-7+"px",t.onValueChanged("H",i)},E=function e(){document.removeEventListener("mousemove",r),document.removeEventListener("mouseup",e)};e.addEventListener("mousedown",(function(e){r(e),document.addEventListener("mousemove",r),document.addEventListener("mouseup",E)}))}},{key:"setupSlCanvas",value:function(e){var t=this;e.width=this.options.slBarSize[0],e.height=this.options.slBarSize[1];var a=function(a){var o=(0,n.limit)(a.clientX-e.getBoundingClientRect().left,0,t.options.slBarSize[0]-1),i=(0,n.limit)(a.clientY-e.getBoundingClientRect().top,0,t.options.slBarSize[1]-1),r=t.slBarHelper.grabColor(o,i);t.slPointer.style.left=o-7+"px",t.slPointer.style.top=i-7+"px",t.onValueChanged("RGB",r)},o=function e(){document.removeEventListener("mousemove",a),document.removeEventListener("mouseup",e)};e.addEventListener("mousedown",(function(e){a(e),document.addEventListener("mousemove",a),document.addEventListener("mouseup",o)}))}},{key:"setupAlphaCanvas",value:function(e){var t=this;e.width=this.options.alphaBarSize[0],e.height=this.options.alphaBarSize[1];var a=e.getContext("2d"),o=a.createLinearGradient(0,0,e.width-1,0);o.addColorStop(0,"hsla(0, 0%, 50%, 0)"),o.addColorStop(1,"hsla(0, 0%, 50%, 1)"),a.fillStyle=o,a.fillRect(0,0,this.options.alphaBarSize[0],this.options.alphaBarSize[1]);var i=function(a){var o=(0,n.limit)(a.clientX-e.getBoundingClientRect().left,0,t.options.alphaBarSize[0]),i=+(o/t.options.alphaBarSize[0]).toFixed(2);t.alphaPointer.style.left=o-7+"px",t.onValueChanged("ALPHA",i)},r=function e(){document.removeEventListener("mousemove",i),document.removeEventListener("mouseup",e)};e.addEventListener("mousedown",(function(e){i(e),document.addEventListener("mousemove",i),document.addEventListener("mouseup",r)}))}},{key:"setupInput",value:function(e){var t=this,a=+e.min,o=+e.max,i=e.getAttribute("nameref");e.hasAttribute("select-on-focus")&&e.addEventListener("focus",(function(){e.select()})),"text"===e.type?e.addEventListener("change",(function(){t.onValueChanged(i,e.value)})):((S||l)&&e.addEventListener("keydown",(function(r){"Up"===r.key?(e.value=(0,n.limit)(+e.value+1,a,o),t.onValueChanged(i,e.value),r.returnValue=!1):"Down"===r.key&&(e.value=(0,n.limit)(+e.value-1,a,o),t.onValueChanged(i,e.value),r.returnValue=!1)})),e.addEventListener("change",(function(){var r=+e.value;t.onValueChanged(i,(0,n.limit)(r,a,o))})))}},{key:"setupClipboard",value:function(e){var t=this;e.title="click to copy",e.addEventListener("click",(function(){e.value=(0,n.parseColor)([t.R,t.G,t.B,t.A],"hexcss4"),e.select(),document.execCommand("copy")}))}},{key:"setPalette",value:function(e){var t=this,a="auto"===this.options.useAlphaInPalette?this.options.showAlpha:this.options.useAlphaInPalette,o=null;switch(this.options.palette){case"PALETTE_MATERIAL_500":o=n.PALETTE_MATERIAL_500;break;case"PALETTE_MATERIAL_CHROME":o=n.PALETTE_MATERIAL_CHROME;break;default:o=(0,n.ensureArray)(this.options.palette)}if(this.options.paletteEditable||o.length>0){var i=function(a,o,i){var n=e.querySelector('.a-color-picker-palette-color[data-color="'+a+'"]')||document.createElement("div");n.className="a-color-picker-palette-color",n.style.backgroundColor=a,n.setAttribute("data-color",a),n.title=a,e.insertBefore(n,o),t.palette[a]=!0,i&&t.onPaletteColorAdd(a)},r=function(a,o){a?(e.removeChild(a),t.palette[a.getAttribute("data-color")]=!1,o&&t.onPaletteColorRemove(a.getAttribute("data-color"))):(e.querySelectorAll(".a-color-picker-palette-color[data-color]").forEach((function(t){e.removeChild(t)})),Object.keys(t.palette).forEach((function(e){t.palette[e]=!1})),o&&t.onPaletteColorRemove())};if(o.map((function(e){return(0,n.parseColor)(e,a?"rgbcss4":"hex")})).filter((function(e){return!!e})).forEach((function(e){return i(e)})),this.options.paletteEditable){var E=document.createElement("div");E.className="a-color-picker-palette-color a-color-picker-palette-add",E.innerHTML="+",e.appendChild(E),e.addEventListener("click",(function(e){/a-color-picker-palette-add/.test(e.target.className)?e.shiftKey?r(null,!0):i(a?(0,n.parseColor)([t.R,t.G,t.B,t.A],"rgbcss4"):(0,n.rgbToHex)(t.R,t.G,t.B),e.target,!0):/a-color-picker-palette-color/.test(e.target.className)&&(e.shiftKey?r(e.target,!0):t.onValueChanged(A,e.target.getAttribute("data-color")))}))}else e.addEventListener("click",(function(e){/a-color-picker-palette-color/.test(e.target.className)&&t.onValueChanged(A,e.target.getAttribute("data-color"))}))}else e.style.display="none"}},{key:"updatePalette",value:function(e){this.paletteRow.innerHTML="",this.palette={},this.paletteRow.parentElement||this.element.appendChild(this.paletteRow),this.options.palette=e,this.setPalette(this.paletteRow)}},{key:"onValueChanged",value:function(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{silent:!1};switch(e){case"H":this.H=t;var o=(0,n.hslToRgb)(this.H,this.S,this.L),r=i(o,3);this.R=r[0],this.G=r[1],this.B=r[2],this.slBarHelper.setHue(t),this.updatePointerH(this.H),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGB(this.R,this.G,this.B),this.updateInputRGBHEX(this.R,this.G,this.B);break;case"S":this.S=t;var E=(0,n.hslToRgb)(this.H,this.S,this.L),_=i(E,3);this.R=_[0],this.G=_[1],this.B=_[2],this.updatePointerSL(this.H,this.S,this.L),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGB(this.R,this.G,this.B),this.updateInputRGBHEX(this.R,this.G,this.B);break;case"L":this.L=t;var T=(0,n.hslToRgb)(this.H,this.S,this.L),s=i(T,3);this.R=s[0],this.G=s[1],this.B=s[2],this.updatePointerSL(this.H,this.S,this.L),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGB(this.R,this.G,this.B),this.updateInputRGBHEX(this.R,this.G,this.B);break;case"R":this.R=t;var S=(0,n.rgbToHsl)(this.R,this.G,this.B),l=i(S,3);this.H=l[0],this.S=l[1],this.L=l[2],this.slBarHelper.setHue(this.H),this.updatePointerH(this.H),this.updatePointerSL(this.H,this.S,this.L),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGBHEX(this.R,this.G,this.B);break;case"G":this.G=t;var I=(0,n.rgbToHsl)(this.R,this.G,this.B),c=i(I,3);this.H=c[0],this.S=c[1],this.L=c[2],this.slBarHelper.setHue(this.H),this.updatePointerH(this.H),this.updatePointerSL(this.H,this.S,this.L),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGBHEX(this.R,this.G,this.B);break;case"B":this.B=t;var O=(0,n.rgbToHsl)(this.R,this.G,this.B),R=i(O,3);this.H=R[0],this.S=R[1],this.L=R[2],this.slBarHelper.setHue(this.H),this.updatePointerH(this.H),this.updatePointerSL(this.H,this.S,this.L),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGBHEX(this.R,this.G,this.B);break;case"RGB":var N=i(t,3);this.R=N[0],this.G=N[1],this.B=N[2];var m=(0,n.rgbToHsl)(this.R,this.G,this.B),L=i(m,3);this.H=L[0],this.S=L[1],this.L=L[2],this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGB(this.R,this.G,this.B),this.updateInputRGBHEX(this.R,this.G,this.B);break;case u:var D=i(t,4);this.R=D[0],this.G=D[1],this.B=D[2],this.A=D[3];var p=(0,n.rgbToHsl)(this.R,this.G,this.B),h=i(p,3);this.H=h[0],this.S=h[1],this.L=h[2],this.slBarHelper.setHue(this.H),this.updatePointerH(this.H),this.updatePointerSL(this.H,this.S,this.L),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGB(this.R,this.G,this.B),this.updateInputRGBHEX(this.R,this.G,this.B),this.updatePointerA(this.A);break;case d:var C=i(t,4);this.H=C[0],this.S=C[1],this.L=C[2],this.A=C[3];var f=(0,n.hslToRgb)(this.H,this.S,this.L),B=i(f,3);this.R=B[0],this.G=B[1],this.B=B[2],this.slBarHelper.setHue(this.H),this.updatePointerH(this.H),this.updatePointerSL(this.H,this.S,this.L),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGB(this.R,this.G,this.B),this.updateInputRGBHEX(this.R,this.G,this.B),this.updatePointerA(this.A);break;case"RGBHEX":var P=(0,n.cssColorToRgb)(t)||[this.R,this.G,this.B],g=i(P,3);this.R=g[0],this.G=g[1],this.B=g[2];var v=(0,n.rgbToHsl)(this.R,this.G,this.B),y=i(v,3);this.H=y[0],this.S=y[1],this.L=y[2],this.slBarHelper.setHue(this.H),this.updatePointerH(this.H),this.updatePointerSL(this.H,this.S,this.L),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGB(this.R,this.G,this.B);break;case A:var W=(0,n.parseColor)(t,"rgba")||[0,0,0,1],M=i(W,4);this.R=M[0],this.G=M[1],this.B=M[2],this.A=M[3];var b=(0,n.rgbToHsl)(this.R,this.G,this.B),U=i(b,3);this.H=U[0],this.S=U[1],this.L=U[2],this.slBarHelper.setHue(this.H),this.updatePointerH(this.H),this.updatePointerSL(this.H,this.S,this.L),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGB(this.R,this.G,this.B),this.updateInputRGBHEX(this.R,this.G,this.B),this.updatePointerA(this.A);break;case"ALPHA":this.A=t}1===this.A?this.preview.style.backgroundColor="rgb("+this.R+","+this.G+","+this.B+")":this.preview.style.backgroundColor="rgba("+this.R+","+this.G+","+this.B+","+this.A+")",a&&a.silent||this.onchange&&this.onchange(this.preview.style.backgroundColor)}},{key:"onPaletteColorAdd",value:function(e){this.oncoloradd&&this.oncoloradd(e)}},{key:"onPaletteColorRemove",value:function(e){this.oncolorremove&&this.oncolorremove(e)}},{key:"updateInputHSL",value:function(e,t,a){this.options.showHSL&&(this.inputH.value=e,this.inputS.value=t,this.inputL.value=a)}},{key:"updateInputRGB",value:function(e,t,a){this.options.showRGB&&(this.inputR.value=e,this.inputG.value=t,this.inputB.value=a)}},{key:"updateInputRGBHEX",value:function(e,t,a){this.options.showHEX&&(this.inputRGBHEX.value=(0,n.rgbToHex)(e,t,a))}},{key:"updatePointerH",value:function(e){var t=this.options.hueBarSize[0]*e/360;this.huePointer.style.left=t-7+"px"}},{key:"updatePointerSL",value:function(e,t,a){var o=(0,n.hslToRgb)(e,t,a),r=i(o,3),E=r[0],_=r[1],T=r[2],s=this.slBarHelper.findColor(E,_,T),S=i(s,2),l=S[0],I=S[1];l>=0&&(this.slPointer.style.left=l-7+"px",this.slPointer.style.top=I-7+"px")}},{key:"updatePointerA",value:function(e){if(this.options.showAlpha){var t=this.options.alphaBarSize[0]*e;this.alphaPointer.style.left=t-7+"px"}}}]),e})(),L=(function(){function e(t){T(this,e),this.name=t,this.listeners=[]}return o(e,[{key:"on",value:function(e){e&&this.listeners.push(e)}},{key:"off",value:function(e){this.listeners=e?this.listeners.filter((function(t){return t!==e})):[]}},{key:"emit",value:function(e,t){for(var a=this.listeners.slice(0),o=0;o<a.length;o++)a[o].apply(t,e)}}]),e})();function D(e,t){var a=new m(e,t),o={change:new L("change"),coloradd:new L("coloradd"),colorremove:new L("colorremove")},r=!0,E={},_={get element(){return a.element},get rgb(){return[a.R,a.G,a.B]},set rgb(e){var t=i(e,3),o=t[0],r=t[1],E=t[2],_=[(0,n.limit)(o,0,255),(0,n.limit)(r,0,255),(0,n.limit)(E,0,255)];o=_[0],r=_[1],E=_[2],a.onValueChanged(u,[o,r,E,1])},get hsl(){return[a.H,a.S,a.L]},set hsl(e){var t=i(e,3),o=t[0],r=t[1],E=t[2],_=[(0,n.limit)(o,0,360),(0,n.limit)(r,0,100),(0,n.limit)(E,0,100)];o=_[0],r=_[1],E=_[2],a.onValueChanged(d,[o,r,E,1])},get rgbhex(){return this.all.hex},get rgba(){return[a.R,a.G,a.B,a.A]},set rgba(e){var t=i(e,4),o=t[0],r=t[1],E=t[2],_=t[3],T=[(0,n.limit)(o,0,255),(0,n.limit)(r,0,255),(0,n.limit)(E,0,255),(0,n.limit)(_,0,1)];o=T[0],r=T[1],E=T[2],_=T[3],a.onValueChanged(u,[o,r,E,_])},get hsla(){return[a.H,a.S,a.L,a.A]},set hsla(e){var t=i(e,4),o=t[0],r=t[1],E=t[2],_=t[3],T=[(0,n.limit)(o,0,360),(0,n.limit)(r,0,100),(0,n.limit)(E,0,100),(0,n.limit)(_,0,1)];o=T[0],r=T[1],E=T[2],_=T[3],a.onValueChanged(d,[o,r,E,_])},get color(){return this.all.toString()},set color(e){a.onValueChanged(A,e)},setColor:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];a.onValueChanged(A,e,{silent:t})},get all(){if(r){var e=[a.R,a.G,a.B,a.A],t=a.A<1?"rgba("+a.R+","+a.G+","+a.B+","+a.A+")":n.rgbToHex.apply(void 0,e);(E=(0,n.parseColor)(e,E)).toString=function(){return t},r=!1}return Object.assign({},E)},get onchange(){return o.change&&o.change.listeners[0]},set onchange(e){this.off("change").on("change",e)},get oncoloradd(){return o.coloradd&&o.coloradd.listeners[0]},set oncoloradd(e){this.off("coloradd").on("coloradd",e)},get oncolorremove(){return o.colorremove&&o.colorremove.listeners[0]},set oncolorremove(e){this.off("colorremove").on("colorremove",e)},get palette(){return Object.keys(a.palette).filter((function(e){return a.palette[e]}))},set palette(e){a.updatePalette(e)},show:function(){a.element.classList.remove("hidden")},hide:function(){a.element.classList.add("hidden")},toggle:function(){a.element.classList.toggle("hidden")},on:function(e,t){return e&&o[e]&&o[e].on(t),this},off:function(e,t){return e&&o[e]&&o[e].off(t),this},destroy:function(){o.change.off(),o.coloradd.off(),o.colorremove.off(),a.element.remove(),o=null,a=null}};return a.onchange=function(){for(var e=arguments.length,t=Array(e),a=0;a<e;a++)t[a]=arguments[a];r=!0,o.change.emit([_].concat(t),_)},a.oncoloradd=function(){for(var e=arguments.length,t=Array(e),a=0;a<e;a++)t[a]=arguments[a];o.coloradd.emit([_].concat(t),_)},a.oncolorremove=function(){for(var e=arguments.length,t=Array(e),a=0;a<e;a++)t[a]=arguments[a];o.colorremove.emit([_].concat(t),_)},a.element.ctrl=_,_}if("undefined"!=typeof window&&!document.querySelector('head>style[data-source="a-color-picker"]')){var p=a(5).toString(),h=document.createElement("style");h.setAttribute("type","text/css"),h.setAttribute("data-source","a-color-picker"),h.innerHTML=p,document.querySelector("head").appendChild(h)}t.createPicker=D,t.from=function(e,t){var a=(function(e){return e?Array.isArray(e)?e:e instanceof HTMLElement?[e]:e instanceof NodeList?[].concat(s(e)):"string"==typeof e?[].concat(s(document.querySelectorAll(e))):e.jquery?e.get():[]:[]})(e).map((function(e,a){var o=D(e,t);return o.index=a,o}));return a.on=function(e,t){return a.forEach((function(a){return a.on(e,t)})),this},a.off=function(e){return a.forEach((function(t){return t.off(e)})),this},a},t.parseColorToRgb=n.parseColorToRgb,t.parseColorToRgba=n.parseColorToRgba,t.parseColorToHsl=n.parseColorToHsl,t.parseColorToHsla=n.parseColorToHsla,t.parseColor=n.parseColor,t.rgbToHex=n.rgbToHex,t.hslToRgb=n.hslToRgb,t.rgbToHsl=n.rgbToHsl,t.rgbToHsv=n.rgbToHsv,t.rgbToInt=n.rgbToInt,t.intToRgb=n.intToRgb,t.getLuminance=n.getLuminance,t.COLOR_NAMES=n.COLOR_NAMES,t.PALETTE_MATERIAL_500=n.PALETTE_MATERIAL_500,t.PALETTE_MATERIAL_CHROME=n.PALETTE_MATERIAL_CHROME,t.VERSION="1.2.1"},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.nvl=t.ensureArray=t.limit=t.getLuminance=t.parseColor=t.parseColorToHsla=t.parseColorToHsl=t.cssHslaToHsla=t.cssHslToHsl=t.parseColorToRgba=t.parseColorToRgb=t.cssRgbaToRgba=t.cssRgbToRgb=t.cssColorToRgba=t.cssColorToRgb=t.intToRgb=t.rgbToInt=t.rgbToHsv=t.rgbToHsl=t.hslToRgb=t.rgbToHex=t.PALETTE_MATERIAL_CHROME=t.PALETTE_MATERIAL_500=t.COLOR_NAMES=void 0;var o=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return(function(e,t){var a=[],o=!0,i=!1,n=void 0;try{for(var r,E=e[Symbol.iterator]();!(o=(r=E.next()).done)&&(a.push(r.value),!t||a.length!==t);o=!0);}catch(e){i=!0,n=e}finally{try{!o&&E.return&&E.return()}finally{if(i)throw n}}return a})(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")},i=(function(e){return e&&e.__esModule?e:{default:e}})(a(0));function n(e){if(Array.isArray(e)){for(var t=0,a=Array(e.length);t<e.length;t++)a[t]=e[t];return a}return Array.from(e)}var r={aliceblue:"#F0F8FF",antiquewhite:"#FAEBD7",aqua:"#00FFFF",aquamarine:"#7FFFD4",azure:"#F0FFFF",beige:"#F5F5DC",bisque:"#FFE4C4",black:"#000000",blanchedalmond:"#FFEBCD",blue:"#0000FF",blueviolet:"#8A2BE2",brown:"#A52A2A",burlywood:"#DEB887",cadetblue:"#5F9EA0",chartreuse:"#7FFF00",chocolate:"#D2691E",coral:"#FF7F50",cornflowerblue:"#6495ED",cornsilk:"#FFF8DC",crimson:"#DC143C",cyan:"#00FFFF",darkblue:"#00008B",darkcyan:"#008B8B",darkgoldenrod:"#B8860B",darkgray:"#A9A9A9",darkgrey:"#A9A9A9",darkgreen:"#006400",darkkhaki:"#BDB76B",darkmagenta:"#8B008B",darkolivegreen:"#556B2F",darkorange:"#FF8C00",darkorchid:"#9932CC",darkred:"#8B0000",darksalmon:"#E9967A",darkseagreen:"#8FBC8F",darkslateblue:"#483D8B",darkslategray:"#2F4F4F",darkslategrey:"#2F4F4F",darkturquoise:"#00CED1",darkviolet:"#9400D3",deeppink:"#FF1493",deepskyblue:"#00BFFF",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1E90FF",firebrick:"#B22222",floralwhite:"#FFFAF0",forestgreen:"#228B22",fuchsia:"#FF00FF",gainsboro:"#DCDCDC",ghostwhite:"#F8F8FF",gold:"#FFD700",goldenrod:"#DAA520",gray:"#808080",grey:"#808080",green:"#008000",greenyellow:"#ADFF2F",honeydew:"#F0FFF0",hotpink:"#FF69B4","indianred ":"#CD5C5C","indigo ":"#4B0082",ivory:"#FFFFF0",khaki:"#F0E68C",lavender:"#E6E6FA",lavenderblush:"#FFF0F5",lawngreen:"#7CFC00",lemonchiffon:"#FFFACD",lightblue:"#ADD8E6",lightcoral:"#F08080",lightcyan:"#E0FFFF",lightgoldenrodyellow:"#FAFAD2",lightgray:"#D3D3D3",lightgrey:"#D3D3D3",lightgreen:"#90EE90",lightpink:"#FFB6C1",lightsalmon:"#FFA07A",lightseagreen:"#20B2AA",lightskyblue:"#87CEFA",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#B0C4DE",lightyellow:"#FFFFE0",lime:"#00FF00",limegreen:"#32CD32",linen:"#FAF0E6",magenta:"#FF00FF",maroon:"#800000",mediumaquamarine:"#66CDAA",mediumblue:"#0000CD",mediumorchid:"#BA55D3",mediumpurple:"#9370DB",mediumseagreen:"#3CB371",mediumslateblue:"#7B68EE",mediumspringgreen:"#00FA9A",mediumturquoise:"#48D1CC",mediumvioletred:"#C71585",midnightblue:"#191970",mintcream:"#F5FFFA",mistyrose:"#FFE4E1",moccasin:"#FFE4B5",navajowhite:"#FFDEAD",navy:"#000080",oldlace:"#FDF5E6",olive:"#808000",olivedrab:"#6B8E23",orange:"#FFA500",orangered:"#FF4500",orchid:"#DA70D6",palegoldenrod:"#EEE8AA",palegreen:"#98FB98",paleturquoise:"#AFEEEE",palevioletred:"#DB7093",papayawhip:"#FFEFD5",peachpuff:"#FFDAB9",peru:"#CD853F",pink:"#FFC0CB",plum:"#DDA0DD",powderblue:"#B0E0E6",purple:"#800080",rebeccapurple:"#663399",red:"#FF0000",rosybrown:"#BC8F8F",royalblue:"#4169E1",saddlebrown:"#8B4513",salmon:"#FA8072",sandybrown:"#F4A460",seagreen:"#2E8B57",seashell:"#FFF5EE",sienna:"#A0522D",silver:"#C0C0C0",skyblue:"#87CEEB",slateblue:"#6A5ACD",slategray:"#708090",slategrey:"#708090",snow:"#FFFAFA",springgreen:"#00FF7F",steelblue:"#4682B4",tan:"#D2B48C",teal:"#008080",thistle:"#D8BFD8",tomato:"#FF6347",turquoise:"#40E0D0",violet:"#EE82EE",wheat:"#F5DEB3",white:"#FFFFFF",whitesmoke:"#F5F5F5",yellow:"#FFFF00",yellowgreen:"#9ACD32"};function E(e,t,a){return e=+e,isNaN(e)||e<t?t:e>a?a:e}function _(e,t){return null==e?t:e}function T(e,t,a){var o=[E(e,0,255),E(t,0,255),E(a,0,255)];return"#"+("000000"+((e=o[0])<<16|(t=o[1])<<8|(a=o[2])).toString(16)).slice(-6)}function s(e,t,a){var o=void 0,i=void 0,n=void 0,r=[E(e,0,360)/360,E(t,0,100)/100,E(a,0,100)/100];if(e=r[0],a=r[2],0==(t=r[1]))o=i=n=a;else{var _=function(e,t,a){return a<0&&(a+=1),a>1&&(a-=1),a<1/6?e+6*(t-e)*a:a<.5?t:a<2/3?e+(t-e)*(2/3-a)*6:e},T=a<.5?a*(1+t):a+t-a*t,s=2*a-T;o=_(s,T,e+1/3),i=_(s,T,e),n=_(s,T,e-1/3)}return[255*o,255*i,255*n].map(Math.round)}function S(e,t,a){var o=[E(e,0,255)/255,E(t,0,255)/255,E(a,0,255)/255];e=o[0],t=o[1],a=o[2];var i=Math.max(e,t,a),n=Math.min(e,t,a),r=void 0,_=void 0,T=(i+n)/2;if(i==n)r=_=0;else{var s=i-n;switch(_=T>.5?s/(2-i-n):s/(i+n),i){case e:r=(t-a)/s+(t<a?6:0);break;case t:r=(a-e)/s+2;break;case a:r=(e-t)/s+4}r/=6}return[360*r,100*_,100*T].map(Math.round)}function l(e,t,a){return e<<16|t<<8|a}function I(e){if(e){var t=r[e.toString().toLowerCase()],a=/^\s*#?((([0-9A-F])([0-9A-F])([0-9A-F]))|(([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})))\s*$/i.exec(t||e)||[],i=o(a,10),n=i[3],E=i[4],_=i[5],T=i[7],s=i[8],S=i[9];if(void 0!==n)return[parseInt(n+n,16),parseInt(E+E,16),parseInt(_+_,16)];if(void 0!==T)return[parseInt(T,16),parseInt(s,16),parseInt(S,16)]}}function A(e){if(e){var t=r[e.toString().toLowerCase()],a=/^\s*#?((([0-9A-F])([0-9A-F])([0-9A-F])([0-9A-F])?)|(([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})?))\s*$/i.exec(t||e)||[],i=o(a,12),n=i[3],E=i[4],_=i[5],T=i[6],s=i[8],S=i[9],l=i[10],I=i[11];if(void 0!==n)return[parseInt(n+n,16),parseInt(E+E,16),parseInt(_+_,16),T?+(parseInt(T+T,16)/255).toFixed(2):1];if(void 0!==s)return[parseInt(s,16),parseInt(S,16),parseInt(l,16),I?+(parseInt(I,16)/255).toFixed(2):1]}}function u(e){if(e){var t=/^rgb\((\d+)[\s,](\d+)[\s,](\d+)\)/i.exec(e)||[],a=o(t,4),i=a[0],n=a[1],r=a[2],_=a[3];return i?[E(n,0,255),E(r,0,255),E(_,0,255)]:void 0}}function d(e){if(e){var t=/^rgba?\((\d+)\s*[\s,]\s*(\d+)\s*[\s,]\s*(\d+)(\s*[\s,]\s*(\d*(.\d+)?))?\)/i.exec(e)||[],a=o(t,6),i=a[0],n=a[1],r=a[2],T=a[3],s=a[5];return i?[E(n,0,255),E(r,0,255),E(T,0,255),E(_(s,1),0,1)]:void 0}}function c(e){if(Array.isArray(e))return[E(e[0],0,255),E(e[1],0,255),E(e[2],0,255),E(_(e[3],1),0,1)];var t=A(e)||d(e);return t&&3===t.length&&t.push(1),t}function O(e){if(e){var t=/^hsl\((\d+)[\s,](\d+)[\s,](\d+)\)/i.exec(e)||[],a=o(t,4),i=a[0],n=a[1],r=a[2],_=a[3];return i?[E(n,0,360),E(r,0,100),E(_,0,100)]:void 0}}function R(e){if(e){var t=/^hsla?\((\d+)\s*[\s,]\s*(\d+)\s*[\s,]\s*(\d+)(\s*[\s,]\s*(\d*(.\d+)?))?\)/i.exec(e)||[],a=o(t,6),i=a[0],n=a[1],r=a[2],T=a[3],s=a[5];return i?[E(n,0,255),E(r,0,255),E(T,0,255),E(_(s,1),0,1)]:void 0}}function N(e){if(Array.isArray(e))return[E(e[0],0,360),E(e[1],0,100),E(e[2],0,100),E(_(e[3],1),0,1)];var t=R(e);return t&&3===t.length&&t.push(1),t}function m(e,t){switch(t){default:return e.slice(0,3);case"rgbcss":return"rgb("+e[0]+", "+e[1]+", "+e[2]+")";case"rgbcss4":return"rgb("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+")";case"rgba":return e;case"rgbacss":return"rgba("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+")";case"hsl":return S.apply(void 0,n(e));case"hslcss":return"hsl("+(e=S.apply(void 0,n(e)))[0]+", "+e[1]+", "+e[2]+")";case"hslcss4":var a=S.apply(void 0,n(e));return"hsl("+a[0]+", "+a[1]+", "+a[2]+", "+e[3]+")";case"hsla":return[].concat(n(S.apply(void 0,n(e))),[e[3]]);case"hslacss":var o=S.apply(void 0,n(e));return"hsla("+o[0]+", "+o[1]+", "+o[2]+", "+e[3]+")";case"hex":return T.apply(void 0,n(e));case"hexcss4":return T.apply(void 0,n(e))+("00"+parseInt(255*e[3]).toString(16)).slice(-2);case"int":return l.apply(void 0,n(e))}}t.COLOR_NAMES=r,t.PALETTE_MATERIAL_500=["#F44336","#E91E63","#E91E63","#9C27B0","#9C27B0","#673AB7","#673AB7","#3F51B5","#3F51B5","#2196F3","#2196F3","#03A9F4","#03A9F4","#00BCD4","#00BCD4","#009688","#009688","#4CAF50","#4CAF50","#8BC34A","#8BC34A","#CDDC39","#CDDC39","#FFEB3B","#FFEB3B","#FFC107","#FFC107","#FF9800","#FF9800","#FF5722","#FF5722","#795548","#795548","#9E9E9E","#9E9E9E","#607D8B","#607D8B"],t.PALETTE_MATERIAL_CHROME=["#f44336","#e91e63","#9c27b0","#673ab7","#3f51b5","#2196f3","#03a9f4","#00bcd4","#009688","#4caf50","#8bc34a","#cddc39","#ffeb3b","#ffc107","#ff9800","#ff5722","#795548","#9e9e9e","#607d8b"],t.rgbToHex=T,t.hslToRgb=s,t.rgbToHsl=S,t.rgbToHsv=function(e,t,a){var o=[E(e,0,255)/255,E(t,0,255)/255,E(a,0,255)/255];e=o[0],t=o[1],a=o[2];var i,n=Math.max(e,t,a),r=Math.min(e,t,a),_=void 0,T=n,s=n-r;if(i=0===n?0:s/n,n==r)_=0;else{switch(n){case e:_=(t-a)/s+(t<a?6:0);break;case t:_=(a-e)/s+2;break;case a:_=(e-t)/s+4}_/=6}return[_,i,T]},t.rgbToInt=l,t.intToRgb=function(e){return[e>>16&255,e>>8&255,255&e]},t.cssColorToRgb=I,t.cssColorToRgba=A,t.cssRgbToRgb=u,t.cssRgbaToRgba=d,t.parseColorToRgb=function(e){return Array.isArray(e)?e=[E(e[0],0,255),E(e[1],0,255),E(e[2],0,255)]:I(e)||u(e)},t.parseColorToRgba=c,t.cssHslToHsl=O,t.cssHslaToHsla=R,t.parseColorToHsl=function(e){return Array.isArray(e)?e=[E(e[0],0,360),E(e[1],0,100),E(e[2],0,100)]:O(e)},t.parseColorToHsla=N,t.parseColor=function(e,t){if(t=t||"rgb",null!=e){var a=void 0;if((a=c(e))||(a=N(e))&&(a=[].concat(n(s.apply(void 0,n(a))),[a[3]])))return(0,i.default)(t)?["rgb","rgbcss","rgbcss4","rgba","rgbacss","hsl","hslcss","hslcss4","hsla","hslacss","hex","hexcss4","int"].reduce((function(e,t){return e[t]=m(a,t),e}),t||{}):m(a,t.toString().toLowerCase())}},t.getLuminance=function(e,t,a){return.2126*(e=(e/=255)<.03928?e/12.92:Math.pow((e+.055)/1.055,2.4))+.7152*(t=(t/=255)<.03928?t/12.92:Math.pow((t+.055)/1.055,2.4))+.0722*((a/=255)<.03928?a/12.92:Math.pow((a+.055)/1.055,2.4))},t.limit=E,t.ensureArray=function(e){return e?Array.from(e):[]},t.nvl=_},function(e,t,a){"use strict";e.exports=function(e){return null!=e&&"object"==typeof e&&!1===Array.isArray(e)}},function(e,t){e.exports='<div class="a-color-picker-row a-color-picker-stack a-color-picker-row-top"> <canvas class="a-color-picker-sl a-color-picker-transparent"></canvas> <div class=a-color-picker-dot></div> </div> <div class=a-color-picker-row> <div class="a-color-picker-stack a-color-picker-transparent a-color-picker-circle"> <div class=a-color-picker-preview> <input class=a-color-picker-clipbaord type=text> </div> </div> <div class=a-color-picker-column> <div class="a-color-picker-cell a-color-picker-stack"> <canvas class=a-color-picker-h></canvas> <div class=a-color-picker-dot></div> </div> <div class="a-color-picker-cell a-color-picker-alpha a-color-picker-stack" show-on-alpha> <canvas class="a-color-picker-a a-color-picker-transparent"></canvas> <div class=a-color-picker-dot></div> </div> </div> </div> <div class="a-color-picker-row a-color-picker-hsl" show-on-hsl> <label>H</label> <input nameref=H type=number maxlength=3 min=0 max=360 value=0> <label>S</label> <input nameref=S type=number maxlength=3 min=0 max=100 value=0> <label>L</label> <input nameref=L type=number maxlength=3 min=0 max=100 value=0> </div> <div class="a-color-picker-row a-color-picker-rgb" show-on-rgb> <label>R</label> <input nameref=R type=number maxlength=3 min=0 max=255 value=0> <label>G</label> <input nameref=G type=number maxlength=3 min=0 max=255 value=0> <label>B</label> <input nameref=B type=number maxlength=3 min=0 max=255 value=0> </div> <div class="a-color-picker-row a-color-picker-rgbhex a-color-picker-single-input" show-on-single-input> <label>HEX</label> <input nameref=RGBHEX type=text select-on-focus> </div> <div class="a-color-picker-row a-color-picker-palette"></div>'},function(e,t,a){var o=a(6);e.exports="string"==typeof o?o:o.toString()},function(e,t,a){(e.exports=a(7)(!1)).push([e.i,"/*!\n * a-color-picker\n * https://github.com/narsenico/a-color-picker\n *\n * Copyright (c) 2017-2018, Gianfranco Caldi.\n * Released under the MIT License.\n */.a-color-picker{background-color:#fff;padding:0;display:inline-flex;flex-direction:column;user-select:none;width:232px;font:400 10px Helvetica,Arial,sans-serif;border-radius:3px;box-shadow:0 0 0 1px rgba(0,0,0,.05),0 2px 4px rgba(0,0,0,.25)}.a-color-picker,.a-color-picker-row,.a-color-picker input{box-sizing:border-box}.a-color-picker-row{padding:15px;display:flex;flex-direction:row;align-items:center;justify-content:space-between;user-select:none}.a-color-picker-row-top{padding:0}.a-color-picker-row:not(:first-child){border-top:1px solid #f5f5f5}.a-color-picker-column{display:flex;flex-direction:column}.a-color-picker-cell{flex:1 1 auto;margin-bottom:4px}.a-color-picker-cell:last-child{margin-bottom:0}.a-color-picker-stack{position:relative}.a-color-picker-dot{position:absolute;width:14px;height:14px;top:0;left:0;background:#fff;pointer-events:none;border-radius:50px;z-index:1000;box-shadow:0 1px 2px rgba(0,0,0,.75)}.a-color-picker-a,.a-color-picker-h,.a-color-picker-sl{cursor:cell}.a-color-picker-a+.a-color-picker-dot,.a-color-picker-h+.a-color-picker-dot{top:-2px}.a-color-picker-a,.a-color-picker-h{border-radius:2px}.a-color-picker-preview{box-sizing:border-box;width:30px;height:30px;user-select:none;border-radius:15px}.a-color-picker-circle{border-radius:50px;border:1px solid #eee}.a-color-picker-hsl,.a-color-picker-rgb,.a-color-picker-single-input{justify-content:space-evenly}.a-color-picker-hsl>label,.a-color-picker-rgb>label,.a-color-picker-single-input>label{padding:0 8px;flex:0 0 auto;color:#969696}.a-color-picker-hsl>input,.a-color-picker-rgb>input,.a-color-picker-single-input>input{text-align:center;padding:2px 0;width:0;flex:1 1 auto;border:1px solid #e0e0e0;line-height:20px}.a-color-picker-hsl>input::-webkit-inner-spin-button,.a-color-picker-rgb>input::-webkit-inner-spin-button,.a-color-picker-single-input>input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.a-color-picker-hsl>input:focus,.a-color-picker-rgb>input:focus,.a-color-picker-single-input>input:focus{border-color:#04a9f4;outline:none}.a-color-picker-transparent{background-image:linear-gradient(-45deg,#cdcdcd 25%,transparent 0),linear-gradient(45deg,#cdcdcd 25%,transparent 0),linear-gradient(-45deg,transparent 75%,#cdcdcd 0),linear-gradient(45deg,transparent 75%,#cdcdcd 0);background-size:11px 11px;background-position:0 0,0 -5.5px,-5.5px 5.5px,5.5px 0}.a-color-picker-sl{border-radius:3px 3px 0 0}.a-color-picker.hide-alpha [show-on-alpha],.a-color-picker.hide-hsl [show-on-hsl],.a-color-picker.hide-rgb [show-on-rgb],.a-color-picker.hide-single-input [show-on-single-input]{display:none}.a-color-picker-clipbaord{width:100%;height:100%;opacity:0;cursor:pointer}.a-color-picker-palette{flex-flow:wrap;flex-direction:row;justify-content:flex-start;padding:10px}.a-color-picker-palette-color{width:15px;height:15px;flex:0 1 15px;margin:3px;box-sizing:border-box;cursor:pointer;border-radius:3px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1)}.a-color-picker-palette-add{text-align:center;line-height:13px;color:#607d8b}.a-color-picker.hidden{display:none}",""])},function(e,t){e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var a=(function(e,t){var a=e[1]||"",o=e[3];if(!o)return a;if(t&&"function"==typeof btoa){var i=(function(e){return"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(e))))+" */"})(o),n=o.sources.map((function(e){return"/*# sourceURL="+o.sourceRoot+e+" */"}));return[a].concat(n).concat([i]).join("\n")}return[a].join("\n")})(t,e);return t[2]?"@media "+t[2]+"{"+a+"}":a})).join("")},t.i=function(e,a){"string"==typeof e&&(e=[[null,e,""]]);for(var o={},i=0;i<this.length;i++){var n=this[i][0];"number"==typeof n&&(o[n]=!0)}for(i=0;i<e.length;i++){var r=e[i];"number"==typeof r[0]&&o[r[0]]||(a&&!r[2]?r[2]=a:a&&(r[2]="("+r[2]+") and ("+a+")"),t.push(r))}},t}}])},5677:(e,t,a)=>{function o(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return i(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return i(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}a(92341);var n=a(67294),r=a(81468).useTranslation,E=a(21665).Router,_=a(63662),T=_.Core,s=_.Shell,S=_.Chromecast,l=_.DragAndDrop,I=_.KeyboardShortcuts,A=_.ServicesProvider,u=a(71529).NotFound,d=a(86590),c=d.PlatformProvider,O=d.ToastProvider,R=d.TooltipProvider,N=d.CONSTANTS,m=d.withCoreSuspender,L=a(59239),D=a(21210),p=a(78921),h=a(88011),C=a(41544),f=a(49884),B=a(90510),P=m(C(E));e.exports=function(){var e=r().i18n,t=n.useCallback((function(){return u}),[]),a=n.useMemo((function(){var e=new T({appVersion:"5.0.0-beta.13",shellVersion:null});return{core:e,shell:new s,chromecast:new S,keyboardShortcuts:new I,dragAndDrop:new l({core:e})}}),[]),i=o(n.useState(!1),2),E=i[0],_=i[1];return n.useEffect((function(){var e=window.location.hash.slice(1),t=function(){a.core.active&&a.core.transport.analytics({event:"LocationPathChanged",args:{prevPath:e}}),e=window.location.hash.slice(1)};return window.addEventListener("hashchange",t),function(){window.removeEventListener("hashchange",t)}}),[]),n.useEffect((function(){var e=function(){_((a.core.active||a.core.error instanceof Error)&&(a.shell.active||a.shell.error instanceof Error))},t=function(){_((a.core.active||a.core.error instanceof Error)&&(a.shell.active||a.shell.error instanceof Error))},o=function(){a.chromecast.active&&a.chromecast.transport.setOptions({receiverApplicationId:N.CHROMECAST_RECEIVER_APP_ID,autoJoinPolicy:chrome.cast.AutoJoinPolicy.PAGE_SCOPED,resumeSavedSession:!1,language:null,androidReceiverCompatible:!0})};return a.core.on("stateChanged",e),a.shell.on("stateChanged",t),a.chromecast.on("stateChanged",o),a.core.start(),a.shell.start(),a.chromecast.start(),a.keyboardShortcuts.start(),a.dragAndDrop.start(),window.services=a,function(){a.core.stop(),a.shell.stop(),a.chromecast.stop(),a.keyboardShortcuts.stop(),a.dragAndDrop.stop(),a.core.off("stateChanged",e),a.shell.off("stateChanged",t),a.chromecast.off("stateChanged",o)}}),[]),n.useEffect((function(){var t=function(t){var a=t.event,o=t.args;if("SettingsUpdated"===a)o&&o.settings&&"string"==typeof o.settings.interfaceLanguage&&e.changeLanguage(o.settings.interfaceLanguage)},o=function(){a.core.transport.dispatch({action:"Ctx",args:{action:"PullAddonsFromAPI"}}),a.core.transport.dispatch({action:"Ctx",args:{action:"PullUserFromAPI"}}),a.core.transport.dispatch({action:"Ctx",args:{action:"SyncLibraryWithAPI"}}),a.core.transport.dispatch({action:"Ctx",args:{action:"PullNotifications"}})};return a.core.active&&(o(),window.addEventListener("focus",o),a.core.transport.on("CoreEvent",t),a.core.transport.getState("ctx").then((function(t){t&&t.profile&&t.profile.settings&&"string"==typeof t.profile.settings.interfaceLanguage&&e.changeLanguage(t.profile.settings.interfaceLanguage)})).catch((function(e){return console.error(e)}))),function(){a.core.active&&(window.removeEventListener("focus",o),a.core.transport.off("CoreEvent",t))}}),[E]),n.createElement(n.StrictMode,null,n.createElement(A,{services:a},E?a.core.error instanceof Error?n.createElement(h,{className:B["error-container"]}):n.createElement(c,null,n.createElement(O,{className:B["toasts-container"]},n.createElement(R,{className:B["tooltip-container"]},n.createElement(L,null),n.createElement(D,null),n.createElement(p,null),n.createElement(P,{className:B.router,viewsConfig:f,onPathNotMatch:t})))):n.createElement("div",{className:B["loader-container"]})))}},21210:(e,t,a)=>{function o(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return i(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return i(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var n=a(67294),r=a(86590),E=r.withCoreSuspender,_=r.useStreamingServer;e.exports=E((function(){var e=_();return n.useEffect((function(){if(null!==e.torrent){var t=o(e.torrent,2)[1],a=t.type,i=t.content;if("Ready"===a){var n=o(i,2)[1];"string"==typeof n.metaDetailsVideos&&(window.location=n.metaDetailsVideos)}}}),[e.torrent]),null}))},81341:(e,t,a)=>{function o(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return i(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return i(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var n=a(67294),r=a(81468).useTranslation,E=a(45697),_=a(94184),T=a(86590),s=T.Button,S=T.Image,l=a(74923),I=function(e){var t=e.className,i=r().t,E=o(n.useState(!1),2),T=E[0],I=E[1],A=n.useCallback((function(){window.location.reload()}),[]),u=n.useCallback((function(){window.localStorage.clear(),I(!0)}),[]);return n.createElement("div",{className:_(t,l["error-container"])},n.createElement(S,{className:l["error-image"],src:a(47740),alt:" "}),n.createElement("div",{className:l["error-message"]},i("GENERIC_ERROR_MESSAGE")),n.createElement("div",{className:l["buttons-container"]},n.createElement(s,{className:l["button-container"],title:i("TRY_AGAIN"),onClick:A},n.createElement("div",{className:l.label},i("TRY_AGAIN"))),n.createElement(s,{className:l["button-container"],disabled:T,title:i("CLEAR_DATA"),onClick:u},n.createElement("div",{className:l.label},i("CLEAR_DATA")))))};I.displayName="ErrorDialog",I.propTypes={className:E.string},e.exports=I},88011:(e,t,a)=>{var o=a(81341);e.exports=o},78921:(e,t,a)=>{function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?o(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):o(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function r(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return E(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return E(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function E(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var _=a(67294),T=a(72307),s=a(86590),S=s.withCoreSuspender,l=s.useProfile,I=s.useToast,A=a(63662).useServices;e.exports=S((function(){var e=A().core,t=l(),a=I(),o=r(_.useState({}),2),n=o[0],E=o[1],s=function(){var e=window.location,t=e.origin,a=e.hash,o=e.search,i=new URL("".concat(t).concat(a.replace("#","")).concat(o)).searchParams;E((function(e){var t=Object.fromEntries(i.entries());return T(e,t)?e:t}))};return _.useEffect((function(){var o=n.streamingServerUrl;o&&(e.transport.dispatch({action:"Ctx",args:{action:"UpdateSettings",args:i(i({},t.settings),{},{streamingServerUrl:o})}}),a.show({type:"success",title:"Using streaming server at ".concat(o),timeout:4e3}))}),[n]),_.useEffect((function(){return s(),window.addEventListener("hashchange",s),function(){return window.removeEventListener("hashchange",s)}}),[]),null}))},59239:(e,t,a)=>{var o=a(67294),i=a(63662).useServices,n=a(86590).useToast;e.exports=function(){var e=i(),t=e.core,a=e.dragAndDrop,r=n();return o.useEffect((function(){var e=function(e){var t=e.event,a=e.args;switch(t){case"Error":if("UserPulledFromAPI"===a.source.event&&null===a.source.args.uid)break;if("LibrarySyncWithAPIPlanned"===a.source.event&&null===a.source.args.uid)break;if("Other"===a.error.type&&3===a.error.code&&"AddonInstalled"===a.source.event&&a.source.args.transport_url.startsWith("https://www.strem.io/trakt/addon"))break;r.show({type:"error",title:a.source.event,message:a.error.message,timeout:4e3,dataset:{type:"CoreEvent"}});break;case"TorrentParsed":r.show({type:"success",title:"Torrent file parsed",timeout:4e3});break;case"MagnetParsed":r.show({type:"success",title:"Magnet link parsed",timeout:4e3});break;case"PlayingOnDevice":r.show({type:"success",title:"Stream opened in ".concat(a.device),timeout:4e3})}},o=function(e){var t;r.show({type:"error",title:e.message,message:null===(t=e.file)||void 0===t?void 0:t.name,timeout:4e3})};return t.transport.on("CoreEvent",e),a.on("error",o),function(){t.transport.off("CoreEvent",e),a.off("error",o)}}),[]),null}},4008:(e,t,a)=>{var o=a(5677);e.exports=o},49884:(e,t,a)=>{function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?o(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):o(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}var r=a(71529),E=a(86590).routesRegexp,_=[[i(i({},E.board),{},{component:r.Board})],[i(i({},E.intro),{},{component:r.Intro}),i(i({},E.discover),{},{component:r.Discover}),i(i({},E.library),{},{component:r.Library}),i(i({},E.continuewatching),{},{component:r.Library}),i(i({},E.search),{},{component:r.Search})],[i(i({},E.metadetails),{},{component:r.MetaDetails})],[i(i({},E.addons),{},{component:r.Addons}),i(i({},E.settings),{},{component:r.Settings})],[i(i({},E.player),{},{component:r.Player})]];e.exports=_},41544:(e,t,a)=>{function o(){return o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(e[o]=a[o])}return e},o.apply(this,arguments)}var i=a(67294),n=a(71529).Intro,r=a(86590).useProfile;e.exports=function(e){return function(t){var a=r(),E=i.useRef(a.auth);i.useEffect((function(){null!==E.current&&null===a.auth&&(window.location="#/intro"),E.current=a.auth}),[a]);var _=i.useCallback((function(e){if(null!==a.auth&&e.component===n)return window.location.replace("#/"),!0}),[a]);return i.createElement(e,o({},t,{onRouteChange:_}))}}},95471:(e,t,a)=>{var o=a(67294),i=a(45697),n=a(94184),r=a(95985).default,E=a(29872),_=a(66739),T=function(e){var t=e.className,a=e.id,i=e.name,T=e.version,s=e.logo,S=e.description,l=e.types,I=e.transportUrl,A=e.official,u=o.useCallback((function(){return o.createElement(r,{className:_.icon,name:"addons"})}),[]);return o.createElement("div",{className:n(t,_["addon-details-container"])},o.createElement("div",{className:_["title-container"]},o.createElement(E,{className:_.logo,src:s,alt:" ",renderFallback:u}),o.createElement("div",{className:_["name-container"]},o.createElement("span",{className:_.name},"string"==typeof i&&i.length>0?i:a),"string"==typeof T&&T.length>0?o.createElement("span",{className:_.version},"v. ",T):null)),"string"==typeof S&&S.length>0?o.createElement("div",{className:_["section-container"]},o.createElement("span",{className:_["section-label"]},S)):null,"string"==typeof I&&I.length>0?o.createElement("div",{className:_["section-container"]},o.createElement("span",{className:_["section-header"]},"URL: "),o.createElement("span",{className:n(_["section-label"],_["transport-url-label"])},I)):null,Array.isArray(l)&&l.length>0?o.createElement("div",{className:_["section-container"]},o.createElement("span",{className:_["section-header"]},"Supported types: "),o.createElement("span",{className:_["section-label"]},1===l.length?l[0]:l.slice(0,-1).join(", ")+" & "+l[l.length-1])):null,A?null:o.createElement("div",{className:_["section-container"]},o.createElement("div",{className:n(_["section-label"],_["disclaimer-label"])},"Using third-party add-ons will always be subject to your responsibility and the governing law of the jurisdiction you are located.")))};T.propTypes={className:i.string,id:i.string,name:i.string,version:i.string,logo:i.string,description:i.string,types:i.arrayOf(i.string),transportUrl:i.string,official:i.bool},e.exports=T},45368:(e,t,a)=>{var o=a(95471);e.exports=o},88029:(e,t,a)=>{var o=["remoteAddon","localAddon"];function i(){return i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(e[o]=a[o])}return e},i.apply(this,arguments)}function n(e,t){if(null==e)return{};var a,o,i=(function(e,t){if(null==e)return{};var a,o,i={},n=Object.keys(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||(i[a]=e[a]);return i})(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}var r=a(67294),E=a(45697),_=a(58253),T=a(36672).withCoreSuspender,s=a(85169).usePlatform,S=a(63662).useServices,l=(function(e){var t=function(t){var a=t.remoteAddon,E=t.localAddon,_=n(t,o),T=null!==a&&"Ready"===a.content.type?a.content.content:null!==E?E:null;return null===T?null:r.createElement(e,i({},_,{id:T.manifest.id,name:T.manifest.name,version:T.manifest.version,background:T.manifest.background,logo:T.manifest.logo,description:T.manifest.description,types:T.manifest.types,transportUrl:T.transportUrl,official:T.flags.official}))};return t.displayName="withRemoteAndLocalAddon",t})(a(45368)),I=a(29208),A=a(57527);var u=function(e){var t=e.transportUrl,a=e.onCloseRequest,o=S().core,i=s(),n=I(t),E=r.useMemo((function(){var e={className:A["cancel-button"],label:"Cancel",props:{onClick:function(e){"function"==typeof a&&a({type:"cancel",reactEvent:e,nativeEvent:e.nativeEvent})}}},r=null!==n.remoteAddon&&"Ready"===n.remoteAddon.content.type&&n.remoteAddon.content.content.manifest.behaviorHints.configurable?{className:A["configure-button"],label:"Configure",props:{onClick:function(e){i.openExternal(t.replace("manifest.json","configure")),"function"==typeof a&&a({type:"configure",reactEvent:e,nativeEvent:e.nativeEvent})}}}:null,E=null!==n.localAddon?{className:A["uninstall-button"],label:"Uninstall",props:{onClick:function(e){o.transport.dispatch({action:"Ctx",args:{action:"UninstallAddon",args:n.localAddon}}),"function"==typeof a&&a({type:"uninstall",reactEvent:e,nativeEvent:e.nativeEvent})}}}:null===n.remoteAddon||"Ready"!==n.remoteAddon.content.type||n.remoteAddon.content.content.manifest.behaviorHints.configurationRequired?null:{className:A["install-button"],label:"Install",props:{onClick:function(e){o.transport.dispatch({action:"Ctx",args:{action:"InstallAddon",args:n.remoteAddon.content.content}}),"function"==typeof a&&a({type:"install",reactEvent:e,nativeEvent:e.nativeEvent})}}};return r&&E?[e,r,E]:r?[e,r]:E?[e,E]:[e]}),[n,a]),T=r.useMemo((function(){var e;return"Ready"===(null===(e=n.remoteAddon)||void 0===e?void 0:e.content.type)?n.remoteAddon.content.content.manifest.background:null}),[n.remoteAddon]);return r.createElement(_,{className:A["addon-details-modal-container"],title:"Stremio addon",buttons:E,background:T,onCloseRequest:a},null===n.selected?r.createElement("div",{className:A["addon-details-message-container"]},"Loading addon manifest"):null===n.remoteAddon||"Loading"===n.remoteAddon.content.type?r.createElement("div",{className:A["addon-details-message-container"]},"Loading addon manifest from ",n.selected.transportUrl):"Err"===n.remoteAddon.content.type&&null===n.localAddon?r.createElement("div",{className:A["addon-details-message-container"]},"Failed to get addon manifest from ",n.selected.transportUrl,r.createElement("div",null,n.remoteAddon.content.content.message)):r.createElement(l,{className:A["addon-details-container"],remoteAddon:n.remoteAddon,localAddon:n.localAddon}))};u.propTypes={transportUrl:E.string,onCloseRequest:E.func};var d=function(e){var t=e.onCloseRequest;return r.createElement(_,{className:A["addon-details-modal-container"],title:"Stremio addon",onCloseRequest:t},r.createElement("div",{className:A["addon-details-message-container"]},"Loading addon manifest"))};d.propTypes=u.propTypes,e.exports=T(u,d)},58512:(e,t,a)=>{var o=a(88029);e.exports=o},29208:(e,t,a)=>{var o=a(67294),i=a(71535);e.exports=function(e){var t=o.useMemo((function(){return"string"==typeof e?{action:"Load",args:{model:"AddonDetails",args:{transportUrl:e}}}:{action:"Unload"}}),[e]);return i({model:"addon_details",action:t})}},67458:(e,t,a)=>{var o=["className","href","disabled","children","onLongPress","onDoubleClick"];function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function n(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?i(Object(a),!0).forEach((function(t){r(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):i(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function E(e,t){if(null==e)return{};var a,o,i=(function(e,t){if(null==e)return{};var a,o,i={},n=Object.keys(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||(i[a]=e[a]);return i})(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}var _=a(67294),T=a(45697),s=a(94184),S=a(15837),l=a(20243).useLongPress,I=_.forwardRef((function(e,t){var a=e.className,i=e.href,r=e.disabled,T=e.children,I=e.onLongPress,A=e.onDoubleClick,u=E(e,o),d=l(I,{detect:"pointer"}),c=_.useCallback((function(e){"function"==typeof u.onKeyDown&&u.onKeyDown(e),"Enter"===e.key&&(e.preventDefault(),e.nativeEvent.buttonClickPrevented||e.currentTarget.click())}),[u.onKeyDown]),O=_.useCallback((function(e){"function"==typeof u.onMouseDown&&u.onMouseDown(e),e.nativeEvent.buttonBlurPrevented||(e.preventDefault(),document.activeElement instanceof HTMLElement&&document.activeElement.blur())}),[u.onMouseDown]);return _.createElement("string"==typeof i&&i.length>0?"a":"div",n(n({tabIndex:0},u),{},{ref:t,className:s(a,S["button-container"],{disabled:r}),href:i,onKeyDown:c,onMouseDown:O,onDoubleClick:A},d()),T)}));I.displayName="Button",I.propTypes={className:T.string,href:T.string,disabled:T.bool,children:T.node,onKeyDown:T.func,onMouseDown:T.func,onLongPress:T.func,onDoubleClick:T.func},e.exports=I},6851:(e,t,a)=>{var o=a(67458);e.exports=o},52734:e=>{var t={movie:10,series:9,channel:8,tv:7,music:6,radio:5,podcast:4,game:3,book:2,adult:1,other:-1/0},a=new Map([["movie","movies"],["series","series"],["channel","channels"],["tv","tv"],["book","ic_book"],["game","ic_games"],["music","ic_music"],["adult","ic_adult"],["radio","ic_radio"],["podcast","ic_podcast"],["other","movies"]]);e.exports={CHROMECAST_RECEIVER_APP_ID:"1634F54B",SUBTITLES_SIZES:[75,100,125,150,175,200,250],SUBTITLES_FONTS:["PlusJakartaSans","Arial","Halvetica","Times New Roman","Verdana","Courier","Lucida Console","sans-serif","serif","monospace"],SEEK_TIME_DURATIONS:[3e3,5e3,1e4,15e3,2e4,3e4],NEXT_VIDEO_POPUP_DURATIONS:[0,5e3,1e4,15e3,2e4,25e3,3e4,35e3,4e4,45e3,5e4,55e3,6e4,65e3,7e4,75e3,8e4,85e3,9e4],CATALOG_PREVIEW_SIZE:10,CATALOG_PAGE_SIZE:100,NONE_EXTRA_VALUE:"None",SKIP_EXTRA_NAME:"skip",META_LINK_CATEGORY:"meta",IMDB_LINK_CATEGORY:"imdb",SHARE_LINK_CATEGORY:"share",WRITERS_LINK_CATEGORY:"Writers",TYPE_PRIORITIES:t,ICON_FOR_TYPE:a,EXTERNAL_PLAYERS:[{label:"EXTERNAL_PLAYER_DISABLED",value:null,platforms:["ios","visionos","android","windows","linux","macos"]},{label:"EXTERNAL_PLAYER_ALLOW_CHOOSING",value:"choose",platforms:["android"]},{label:"VLC",value:"vlc",platforms:["ios","visionos","android"]},{label:"MPV",value:"mpv",platforms:["macos"]},{label:"IINA",value:"iina",platforms:["macos"]},{label:"MX Player",value:"mxplayer",platforms:["android"]},{label:"Just Player",value:"justplayer",platforms:["android"]},{label:"Outplayer",value:"outplayer",platforms:["ios","visionos"]},{label:"Moonplayer (VisionOS)",value:"moonplayer",platforms:["visionos"]},{label:"M3U Playlist",value:"m3u",platforms:["ios","visionos","android","windows","linux","macos"]}],WHITELISTED_HOSTS:["stremio.com","strem.io","stremio.zendesk.com","google.com","youtube.com","twitch.tv","twitter.com","x.com","netflix.com","adex.network","amazon.com","forms.gle"]}},83064:(e,t,a)=>{var o=["className","checked","children"];function i(){return i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(e[o]=a[o])}return e},i.apply(this,arguments)}function n(e,t){if(null==e)return{};var a,o,i=(function(e,t){if(null==e)return{};var a,o,i={},n=Object.keys(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||(i[a]=e[a]);return i})(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}var r=a(67294),E=a(45697),_=a(94184),T=a(6851),s=a(22523),S=r.forwardRef((function(e,t){var a=e.className,E=e.checked,S=e.children,l=n(e,o);return r.createElement(T,i({},l,{ref:t,className:_(a,s["checkbox-container"],{checked:E})}),r.createElement("div",{className:s.toggle}),S)}));S.displayName="Checkbox",S.propTypes={className:E.string,checked:E.bool,children:E.node},e.exports=S},49666:(e,t,a)=>{var o=a(83064);e.exports=o},54750:(e,t,a)=>{var o=["className","value","dataset","onChange"];function i(){return i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(e[o]=a[o])}return e},i.apply(this,arguments)}function n(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return r(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return r(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}function E(e,t){if(null==e)return{};var a,o,i=(function(e,t){if(null==e)return{};var a,o,i={},n=Object.keys(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||(i[a]=e[a]);return i})(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}var _=a(67294),T=a(45697),s=a(94184),S=a(43746),l=a(81468).useTranslation,I=a(6851),A=a(58253),u=a(74024),d=a(57711),c=a(22440),O=function(e){var t=S.parseColor(e,"hexcss4");return"string"==typeof t?t:"#ffffffff"},R=function(e){var t=e.className,a=e.value,r=e.dataset,T=e.onChange,S=E(e,o),R=l().t,N=n(u(!1),3),m=N[0],L=N[1],D=N[2],p=n(_.useState((function(){return O(a)})),2),h=p[0],C=p[1],f=_.useMemo((function(){return{backgroundColor:a}}),[a]),B=_.useMemo((function(){return O(a).endsWith("00")}),[a]),P=_.useCallback((function(e){"function"==typeof S.onClick&&S.onClick(e),e.nativeEvent.openModalPrevented||L()}),[S.onClick]),g=_.useCallback((function(e){e.nativeEvent.openModalPrevented=!0}),[]),v=_.useMemo((function(){return[{label:"Select",props:{"data-autofocus":!0,onClick:function(e){"function"==typeof T&&T({type:"change",value:h,dataset:r,reactEvent:e,nativeEvent:e.nativeEvent}),D()}}}]}),[h,r,T]),y=_.useCallback((function(e){C(O(e.value))}),[]);return _.useLayoutEffect((function(){C(O(a))}),[a,m]),_.createElement(I,i({title:B?R("BUTTON_COLOR_TRANSPARENT"):a},S,{style:f,className:s(t,c["color-input-container"]),onClick:P}),B?_.createElement("div",{className:c["transparent-label-container"]},_.createElement("div",{className:c["transparent-label"]},R("BUTTON_COLOR_TRANSPARENT"))):null,m?_.createElement(A,{title:"Choose a color:",buttons:v,onCloseRequest:D,onClick:g},_.createElement(d,{className:c["color-picker-container"],value:h,onInput:y})):null)};R.propTypes={className:T.string,value:T.string,dataset:T.object,onChange:T.func,onClick:T.func},e.exports=R},73378:(e,t,a)=>{var o=a(67294),i=a(45697),n=a(94184),r=a(43746),E=a(47001),_=function(e){return r.parseColor(e,"hexcss4")},T=function(e){var t=e.className,a=e.value,i=e.onInput,T=o.useRef(null),s=o.useRef(null);return o.useLayoutEffect((function(){T.current=r.createPicker(s.current,{color:_(a),showHSL:!1,showHEX:!1,showRGB:!1,showAlpha:!0});var e=s.current.querySelector(".a-color-picker-clipbaord");e instanceof HTMLElement&&(e.tabIndex=-1)}),[]),o.useLayoutEffect((function(){return"function"==typeof i&&T.current.on("change",(function(e,t){i({type:"input",value:_(t)})})),function(){T.current.off("change")}}),[i]),o.useLayoutEffect((function(){var e=_(a);e!==_(T.current.color)&&(T.current.color=e)}),[a]),o.createElement("div",{ref:s,className:n(t,E["color-picker-container"])})};T.propTypes={className:i.string,value:i.string,onInput:i.func},e.exports=T},57711:(e,t,a)=>{var o=a(73378);e.exports=o},28809:(e,t,a)=>{var o=a(54750);e.exports=o},16306:(e,t,a)=>{var o=["_id","notifications","deepLinks"];function i(){return i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(e[o]=a[o])}return e},i.apply(this,arguments)}function n(e,t){if(null==e)return{};var a,o,i=(function(e,t){if(null==e)return{};var a,o,i={},n=Object.keys(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||(i[a]=e[a]);return i})(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}var r=a(67294),E=a(45697),_=a(63662).useServices,T=a(35748),s=function(e){var t=e._id,a=e.notifications,E=e.deepLinks,s=n(e,o),S=_().core,l=r.useCallback((function(){var e,t;(null!==(e=null==E?void 0:E.metaDetailsVideos)&&void 0!==e?e:null==E?void 0:E.metaDetailsStreams)&&(window.location=null!==(t=null==E?void 0:E.metaDetailsVideos)&&void 0!==t?t:null==E?void 0:E.metaDetailsStreams)}),[E]),I=r.useCallback((function(e){var t,a,o,i;(e.stopPropagation(),null!==(t=null!==(a=null==E?void 0:E.player)&&void 0!==a?a:null==E?void 0:E.metaDetailsStreams)&&void 0!==t?t:null==E?void 0:E.metaDetailsVideos)&&(window.location=null!==(o=null!==(i=null==E?void 0:E.player)&&void 0!==i?i:null==E?void 0:E.metaDetailsStreams)&&void 0!==o?o:null==E?void 0:E.metaDetailsVideos)}),[E]),A=r.useCallback((function(e){e.stopPropagation(),"string"==typeof t&&(S.transport.dispatch({action:"Ctx",args:{action:"RewindLibraryItem",args:t}}),S.transport.dispatch({action:"Ctx",args:{action:"DismissNotificationItem",args:t}}))}),[t]);return r.createElement(T,i({},s,{_id:t,posterChangeCursor:!0,notifications:a,onClick:l,onPlayClick:I,onDismissClick:A}))};s.propTypes={_id:E.string,notifications:E.object,deepLinks:E.shape({metaDetailsVideos:E.string,metaDetailsStreams:E.string,player:E.string})},e.exports=s},63418:(e,t,a)=>{var o=a(16306);e.exports=o},36672:(e,t,a)=>{function o(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return i(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return i(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var n=a(67294),r=a(63662).useServices,E=n.createContext(null);function _(e){var t,a="pending",o=e.then((function(e){a="success",t=e}),(function(e){a="error",t=e}));return{read:function(){if("pending"===a)throw o;if("error"===a)throw t;if("success"===a)return t}}}E.displayName="CoreSuspenderContext";var T=function(){return n.useContext(E)};e.exports={withCoreSuspender:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){};return function(a){var i=r().core,s=T(),S=o(n.useState(null===s),2),l=S[0],I=S[1],A=n.useRef({}),u=n.useRef({}),d=n.useCallback((function(e){return A.current[e]||(A.current[e]=_(i.transport.getState(e))),A.current[e].read()}),[]),c=n.useCallback((function(e){return u.current[e]||(u.current[e]=_(i.transport.decodeStream(e))),u.current[e].read()}),[]),O=n.useMemo((function(){return{getState:d,decodeStream:c}}),[]);return n.useLayoutEffect((function(){l||I(!0)}),[]),l?n.createElement(n.Suspense,{fallback:n.createElement(t,a)},n.createElement(E.Provider,{value:O},n.createElement(e,a))):null}},useCoreSuspender:T}},17473:(e,t,a)=>{function o(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return i(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return i(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var n=a(67294),r=a(45697),E=function(e){var t=e.children,a=e.delay,i=o(n.useState(!1),2),r=i[0],E=i[1];return n.useEffect((function(){var e=setTimeout((function(){E(!0)}),a);return function(){clearTimeout(e)}}),[]),r?t:null};E.propTypes={children:r.node,delay:r.number},e.exports=E},8006:(e,t,a)=>{var o=a(17473);e.exports=o},83193:(e,t,a)=>{var o=a(67294),i=a(81468).useTranslation,n=a(6851),r=a(58253),E=a(25876),_=a(34478),T=a(95985).default;e.exports=function(){var e,t,a=i().t,s=E(),S=s.events,l=s.pullEvents,I=s.dismissEvent,A=o.useMemo((function(){var e;return"Ready"===(null==S||null===(e=S.modal)||void 0===e?void 0:e.type)?S.modal.content:null}),[S]),u=o.useCallback((function(){(null==A?void 0:A.id)&&I(A.id)}),[A]);return o.useEffect((function(){l()}),[]),null!==A?o.createElement(r,{className:_["event-modal"],onCloseRequest:u},A.imageUrl?o.createElement("img",{className:_.image,src:A.imageUrl}):null,o.createElement("div",{className:_["info-container"]},o.createElement("div",{className:_["title-container"]},A.title?o.createElement("div",{className:_.title},A.title):null,A.message?o.createElement("div",{className:_.label},A.message):null),null!=A&&null!==(e=A.addon)&&void 0!==e&&e.name?o.createElement("div",{className:_["addon-container"]},o.createElement(T,{className:_.icon,name:"addons"}),o.createElement("div",{className:_.name},A.addon.name)):null,null!=A&&null!==(t=A.addon)&&void 0!==t&&t.manifestUrl?o.createElement(n,{className:_["action-button"],href:"#/addons?addon=".concat(encodeURIComponent(A.addon.manifestUrl)),onClick:u},o.createElement("div",{className:_["button-label"]},a("INSTALL_ADDON"))):A.externalUrl?o.createElement(n,{className:_["action-button"],href:A.externalUrl,target:"_blank"},o.createElement("div",{className:_["button-label"]},a("LEARN_MORE"))):null)):null}},50586:(e,t,a)=>{var o=a(83193);e.exports=o},25876:(e,t,a)=>{function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function i(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}var n=a(71535),r=a(63662).useServices,E=function(e){return(function(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?o(Object(a),!0).forEach((function(t){i(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):o(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e})({},e.events)};e.exports=function(){var e=r().core;return{events:n({model:"ctx",map:E}),pullEvents:function(){e.transport.dispatch({action:"Ctx",args:{action:"GetEvents"}})},dismissEvent:function(t){e.transport.dispatch({action:"Ctx",args:{action:"DismissEvent",args:t}})}}}},49504:(e,t,a)=>{var o=["className","src","alt","fallbackSrc","renderFallback"];function i(){return i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(e[o]=a[o])}return e},i.apply(this,arguments)}function n(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return r(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return r(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}function E(e,t){if(null==e)return{};var a,o,i=(function(e,t){if(null==e)return{};var a,o,i={},n=Object.keys(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||(i[a]=e[a]);return i})(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}var _=a(67294),T=a(45697),s=function(e){var t=e.className,a=e.src,r=e.alt,T=e.fallbackSrc,s=e.renderFallback,S=E(e,o),l=n(_.useState(!1),2),I=l[0],A=l[1],u=_.useCallback((function(e){"function"==typeof S.onError&&S.onError(e),A(!0)}),[S.onError]);return _.useLayoutEffect((function(){A(!1)}),[a]),!I&&"string"==typeof a&&0!==a.length||"function"!=typeof s&&"string"!=typeof T?_.createElement("img",i({},S,{className:t,src:a,alt:r,loading:"lazy",onError:u})):"function"==typeof s?s():_.createElement("img",i({},S,{className:t,src:T,alt:r,loading:"lazy"}))};s.propTypes={className:T.string,src:T.string,alt:T.string,fallbackSrc:T.string,renderFallback:T.func,onError:T.func},e.exports=s},29872:(e,t,a)=>{var o=a(49504);e.exports=o},60859:(e,t,a)=>{var o=["_id","removable","notifications","watched"];function i(){return i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(e[o]=a[o])}return e},i.apply(this,arguments)}function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function r(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?n(Object(a),!0).forEach((function(t){E(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):n(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function E(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function _(e,t){if(null==e)return{};var a,o,i=(function(e,t){if(null==e)return{};var a,o,i={},n=Object.keys(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||(i[a]=e[a]);return i})(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}var T=a(67294),s=a(63662).useServices,S=a(45697),l=a(98277),I=a(96073).t,A=function(e){var t=e._id,a=e.removable,n=e.notifications,E=e.watched,S=_(e,o),A=s().core,u=T.useMemo((function(){var e,a,o,i=null!==(e=null===(a=n.items)||void 0===a||null===(o=a[t])||void 0===o?void 0:o.length)&&void 0!==e?e:0;return Math.min(Math.max(i,0),99)}),[t,n]),d=T.useMemo((function(){return[{label:"LIBRARY_PLAY",value:"play"},{label:"LIBRARY_DETAILS",value:"details"},{label:"LIBRARY_RESUME_DISMISS",value:"dismiss"},{label:E?"CTX_MARK_UNWATCHED":"CTX_MARK_WATCHED",value:"watched"},{label:"LIBRARY_REMOVE",value:"remove"}].filter((function(e){switch(e.value){case"play":return S.deepLinks&&"string"==typeof S.deepLinks.player;case"details":case"watched":return S.deepLinks&&("string"==typeof S.deepLinks.metaDetailsVideos||"string"==typeof S.deepLinks.metaDetailsStreams);case"dismiss":return"string"==typeof t&&null!==S.progress&&!isNaN(S.progress)&&S.progress>0;case"remove":return"string"==typeof t&&a}})).map((function(e){return r(r({},e),{},{label:I(e.label)})}))}),[t,a,S.progress,S.deepLinks,E]),c=T.useCallback((function(e){if("function"==typeof S.optionOnSelect&&S.optionOnSelect(e),!e.nativeEvent.optionSelectPrevented)switch(e.value){case"play":S.deepLinks&&"string"==typeof S.deepLinks.player&&(window.location=S.deepLinks.player);break;case"details":S.deepLinks&&("string"==typeof S.deepLinks.metaDetailsVideos?window.location=S.deepLinks.metaDetailsVideos:"string"==typeof S.deepLinks.metaDetailsStreams&&(window.location=S.deepLinks.metaDetailsStreams));break;case"watched":"string"==typeof t&&A.transport.dispatch({action:"Ctx",args:{action:"LibraryItemMarkAsWatched",args:{id:t,is_watched:!E}}});break;case"dismiss":"string"==typeof t&&(A.transport.dispatch({action:"Ctx",args:{action:"RewindLibraryItem",args:t}}),A.transport.dispatch({action:"Ctx",args:{action:"DismissNotificationItem",args:t}}));break;case"remove":"string"==typeof t&&A.transport.dispatch({action:"Ctx",args:{action:"RemoveFromLibrary",args:t}})}}),[t,S.deepLinks,S.optionOnSelect]);return T.createElement(l,i({},S,{watched:E,newVideos:u,options:d,optionOnSelect:c}))};A.propTypes={_id:S.string,removable:S.bool,progress:S.number,notifications:S.object,watched:S.bool,deepLinks:S.shape({metaDetailsVideos:S.string,metaDetailsStreams:S.string,player:S.string}),optionOnSelect:S.func},e.exports=A},35748:(e,t,a)=>{var o=a(60859);e.exports=o},83364:(e,t,a)=>{var o=a(67294),i=a(45697),n=a(94184),r=a(11785),E=r.VerticalNavBar,_=r.HorizontalNavBar,T=a(72252),s=[{id:"board",label:"Board",icon:"home",href:"#/"},{id:"discover",label:"Discover",icon:"discover",href:"#/discover"},{id:"library",label:"Library",icon:"library",href:"#/library"},{id:"addons",label:"ADDONS",icon:"addons",href:"#/addons"},{id:"settings",label:"SETTINGS",icon:"settings",href:"#/settings"}],S=o.memo((function(e){var t=e.className,a=e.route,i=e.query,r=e.children;return o.createElement("div",{className:n(t,T["main-nav-bars-container"])},o.createElement(_,{className:T["horizontal-nav-bar"],route:a,query:i,backButton:!1,searchBar:!0,addonsButton:!0,fullscreenButton:!0,navMenu:!0}),o.createElement(E,{className:T["vertical-nav-bar"],selected:a,tabs:s}),o.createElement("div",{className:T["nav-content-container"]},r))}));S.displayName="MainNavBars",S.propTypes={className:i.string,route:i.string,query:i.string,children:i.node},e.exports=S},11297:(e,t,a)=>{var o=a(83364);e.exports=o},43037:(e,t,a)=>{var o=["className","type","name","poster","posterShape","posterChangeCursor","progress","newVideos","options","deepLinks","dataset","optionOnSelect","onDismissClick","onPlayClick","watched"];function i(){return i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(e[o]=a[o])}return e},i.apply(this,arguments)}function n(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return r(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return r(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}function E(e,t){if(null==e)return{};var a,o,i=(function(e,t){if(null==e)return{};var a,o,i={},n=Object.keys(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||(i[a]=e[a]);return i})(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}var _=a(67294),T=a(45697),s=a(94184),S=a(81468).useTranslation,l=a(87280).Z,I=a(95985).default,A=a(6851),u=a(29872),d=a(53981),c=a(74024),O=a(52734).ICON_FOR_TYPE,R=a(6432),N=_.memo((function(e){var t=e.className,a=e.type,r=e.name,T=e.poster,N=e.posterShape,m=e.posterChangeCursor,L=e.progress,D=e.newVideos,p=e.options,h=e.deepLinks,C=e.dataset,f=e.optionOnSelect,B=e.onDismissClick,P=e.onPlayClick,g=e.watched,v=E(e,o),y=S().t,W=n(c(!1),3),M=W[0],b=W[1],U=W[2],G=_.useMemo((function(){return h?"string"==typeof h.player?h.player:"string"==typeof h.metaDetailsStreams?h.metaDetailsStreams:"string"==typeof h.metaDetailsVideos?h.metaDetailsVideos:null:null}),[h]),k=_.useCallback((function(e){e.nativeEvent.selectPrevented?e.preventDefault():"function"==typeof v.onClick&&v.onClick(e)}),[v.onClick]),F=_.useCallback((function(e){e.nativeEvent.selectPrevented=!0}),[]),V=_.useCallback((function(e){"function"==typeof f&&f({type:"select-option",value:e.value,dataset:C,reactEvent:e.reactEvent,nativeEvent:e.nativeEvent})}),[C,f]),H=_.useCallback((function(){return _.createElement(I,{className:R["placeholder-icon"],name:O.has(a)?O.get(a):O.get("other")})}),[a]),w=_.useCallback((function(){return _.createElement(I,{className:R.icon,name:"more-vertical"})}),[]);return _.createElement(A,i({title:r,href:G},l(v),{className:s(t,R["meta-item-container"],R["poster-shape-poster"],R["poster-shape-".concat(N)],{active:M}),onClick:k}),_.createElement("div",{className:s(R["poster-container"],{"poster-change-cursor":m})},B?_.createElement("div",{title:y("LIBRARY_RESUME_DISMISS"),className:R["dismiss-icon-layer"],onClick:B},_.createElement(I,{className:R["dismiss-icon"],name:"close"}),_.createElement("div",{className:R["dismiss-icon-backdrop"]})):null,g?_.createElement("div",{className:R["watched-icon-layer"]},_.createElement(I,{className:R["watched-icon"],name:"checkmark"})):null,_.createElement("div",{className:R["poster-image-layer"]},_.createElement(u,{className:R["poster-image"],src:T,alt:" ",renderFallback:H})),P?_.createElement("div",{title:y("CONTINUE_WATCHING"),className:R["play-icon-layer"],onClick:P},_.createElement(I,{className:R["play-icon"],name:"play"}),_.createElement("div",{className:R["play-icon-outer"]}),_.createElement("div",{className:R["play-icon-background"]})):null,L>0?_.createElement("div",{className:R["progress-bar-layer"]},_.createElement("div",{className:R["progress-bar"],style:{width:"".concat(L,"%")}}),_.createElement("div",{className:R["progress-bar-background"]})):null,D>0?_.createElement("div",{className:R["new-videos"]},_.createElement("div",{className:R.layer}),_.createElement("div",{className:R.layer}),_.createElement("div",{className:R.layer},_.createElement(I,{className:R.icon,name:"add"}),_.createElement("div",{className:R.label},D))):null),"string"==typeof r&&r.length>0||Array.isArray(p)&&p.length>0?_.createElement("div",{className:R["title-bar-container"]},_.createElement("div",{className:R["title-label"]},"string"==typeof r&&r.length>0?r:""),Array.isArray(p)&&p.length>0?_.createElement(d,{className:R["menu-label-container"],renderLabelContent:w,options:p,onOpen:b,onClose:U,onSelect:V,tabIndex:-1,onClick:F}):null):null)}));N.displayName="MetaItem",N.propTypes={className:T.string,type:T.string,name:T.string,poster:T.string,posterShape:T.oneOf(["poster","landscape","square"]),posterChangeCursor:T.bool,progress:T.number,newVideos:T.number,options:T.array,deepLinks:T.shape({metaDetailsVideos:T.string,metaDetailsStreams:T.string,player:T.string}),dataset:T.object,optionOnSelect:T.func,onDismissClick:T.func,onPlayClick:T.func,onClick:T.func,watched:T.bool},e.exports=N},98277:(e,t,a)=>{var o=a(43037);e.exports=o},84902:(e,t,a)=>{var o=["className","icon","label","tooltip"];function i(){return i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(e[o]=a[o])}return e},i.apply(this,arguments)}function n(e,t){if(null==e)return{};var a,o,i=(function(e,t){if(null==e)return{};var a,o,i={},n=Object.keys(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||(i[a]=e[a]);return i})(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}var r=a(67294),E=a(45697),_=a(94184),T=a(95985).default,s=a(6851),S=a(9058),l=a(37541).Tooltip,I=function(e){var t=e.className,a=e.icon,E=e.label,I=e.tooltip,A=n(e,o);return r.createElement(s,i({title:I?"":E},A,{className:_(t,S["action-button-container"],{wide:"string"==typeof E&&!I})}),!0===I?r.createElement(l,{label:E,position:"top"}):null,"string"==typeof a&&a.length>0?r.createElement("div",{className:S["icon-container"]},r.createElement(T,{className:S.icon,name:a})):null,!I&&"string"==typeof E&&E.length>0?r.createElement("div",{className:S["label-container"]},r.createElement("div",{className:S.label},E)):null)};I.propTypes={className:E.string,icon:E.string,label:E.string,tooltip:E.bool},e.exports=I},60217:(e,t,a)=>{var o=a(84902);e.exports=o},78049:(e,t,a)=>{var o=a(67294),i=a(45697),n=a(94184),r=a(81468).useTranslation,E=a(6851),_=a(41467),T=function(e){var t=e.className,a=e.label,i=e.links,T=r().t;return o.createElement("div",{className:n(t,_["meta-links-container"])},"string"==typeof a&&a.length>0?o.createElement("div",{className:_["label-container"]},T("LINKS_".concat(a.toUpperCase()))):null,Array.isArray(i)&&i.length>0?o.createElement("div",{className:_["links-container"]},i.map((function(e,t){var a=e.label,i=e.href;return o.createElement(E,{key:t,className:_["link-container"],title:a,href:i},T(a))}))):null)};T.propTypes={className:i.string,label:i.string,links:i.arrayOf(i.shape({label:i.string,href:i.string}))},e.exports=T},37818:(e,t,a)=>{var o=a(78049);e.exports=o},26314:(e,t,a)=>{function o(){return o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(e[o]=a[o])}return e},o.apply(this,arguments)}function i(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return n(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return n(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function n(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var r=a(67294),E=a(45697),_=a(94184),T=a(8575),s=a(81468).useTranslation,S=a(95985).default,l=a(6851),I=a(29872),A=a(58253),u=a(89393),d=a(52734),c=a(68803),O=a(74024),R=a(60217),N=a(37818),m=a(74322),L=a(19480),D=[c.search.regexp,c.discover.regexp,c.metadetails.regexp],p=function(e){var t,a,n,E=e.className,c=e.compact,m=e.name,p=e.logo,h=e.background,C=e.runtime,f=e.releaseInfo,B=e.released,P=e.description,g=e.deepLinks,v=e.links,y=e.trailerStreams,W=e.inLibrary,M=e.toggleInLibrary,b=s().t,U=i(O(!1),3),G=U[0],k=U[1],F=U[2],V=r.useMemo((function(){return Array.isArray(v)?v.filter((function(e){return e&&"string"==typeof e.category&&"string"==typeof e.url})).reduce((function(e,t){var a=t.category,o=t.name,i=t.url,n=T.parse(i),r=n.protocol,E=n.path,_=n.pathname,s=n.hostname;return a===d.IMDB_LINK_CATEGORY?"imdb.com"===s&&e.set(a,{label:o,href:"https://www.stremio.com/warning#".concat(encodeURIComponent(i))}):a===d.SHARE_LINK_CATEGORY?e.set(a,{label:o,href:i}):"stremio:"===r?null!==_&&D.some((function(e){return _.match(e)}))&&(e.has(a)||e.set(a,[]),e.get(a).push({label:o,href:"#".concat(E)})):"string"==typeof s&&s.length>0&&(e.has(a)||e.set(a,[]),e.get(a).push({label:o,href:"https://www.stremio.com/warning#".concat(encodeURIComponent(i))})),e}),new Map):new Map}),[v]),H=r.useMemo((function(){return g?"string"==typeof g.player?g.player:"string"==typeof g.metaDetailsStreams?g.metaDetailsStreams:"string"==typeof g.metaDetailsVideos?g.metaDetailsVideos:null:null}),[g]),w=r.useMemo((function(){return Array.isArray(y)&&0!==y.length?y[0].deepLinks.player:null}),[y]),Y=r.useCallback((function(){return r.createElement("div",{className:L["logo-placeholder"]},m)}),[m]);return r.createElement("div",{className:_(E,L["meta-preview-container"],(t={},a=L.compact,n=c,a in t?Object.defineProperty(t,a,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[a]=n,t))},"string"==typeof h&&h.length>0?r.createElement("div",{className:L["background-image-layer"]},r.createElement(I,{className:L["background-image"],src:h,alt:" "})):null,r.createElement("div",{className:L["meta-info-container"]},"string"==typeof p&&p.length>0?r.createElement(I,{className:L.logo,src:p,alt:" ",title:m,renderFallback:Y}):Y(),"string"==typeof f&&f.length>0||B instanceof Date&&!isNaN(B.getTime())||"string"==typeof C&&C.length>0||V.has(d.IMDB_LINK_CATEGORY)?r.createElement("div",{className:L["runtime-release-info-container"]},"string"==typeof C&&C.length>0?r.createElement("div",{className:L["runtime-label"]},C):null,"string"==typeof f&&f.length>0?r.createElement("div",{className:L["release-info-label"]},f):B instanceof Date&&!isNaN(B.getTime())?r.createElement("div",{className:L["release-info-label"]},B.getFullYear()):null,V.has(d.IMDB_LINK_CATEGORY)?r.createElement(l,o({className:L["imdb-button-container"],title:V.get(d.IMDB_LINK_CATEGORY).label,href:V.get(d.IMDB_LINK_CATEGORY).href,target:"_blank"},c?{tabIndex:-1}:null),r.createElement("div",{className:L.label},V.get(d.IMDB_LINK_CATEGORY).label),r.createElement(S,{className:L.icon,name:"imdb"})):null):null,c&&"string"==typeof P&&P.length>0?r.createElement("div",{className:L["description-container"]},P):null,Array.from(V.keys()).filter((function(e){return e!==d.IMDB_LINK_CATEGORY&&e!==d.SHARE_LINK_CATEGORY&&e!==d.WRITERS_LINK_CATEGORY})).map((function(e,t){return r.createElement(N,{key:t,className:L["meta-links"],label:e,links:V.get(e)})})),!c&&"string"==typeof P&&P.length>0?r.createElement("div",{className:L["description-container"]},r.createElement("div",{className:L["label-container"]},b("SUMMARY")),P):null),r.createElement("div",{className:L["action-buttons-container"]},"function"==typeof M?r.createElement(R,{className:L["action-button"],icon:W?"remove-from-library":"add-to-library",label:b(W?"REMOVE_FROM_LIB":"ADD_TO_LIB"),tooltip:c,tabIndex:c?-1:0,onClick:M}):null,"string"==typeof w?r.createElement(R,{className:L["action-button"],icon:"trailer",label:b("TRAILER"),tabIndex:c?-1:0,href:w,tooltip:c}):null,"string"==typeof H&&c?r.createElement(R,{className:_(L["action-button"],L["show-button"]),icon:"play",label:b("SHOW"),tabIndex:c?-1:0,href:H}):null,V.has(d.SHARE_LINK_CATEGORY)&&!c?r.createElement(r.Fragment,null,r.createElement(R,{className:L["action-button"],icon:"share",label:b("CTX_SHARE"),tooltip:!0,tabIndex:c?-1:0,onClick:k}),G?r.createElement(A,{title:b("CTX_SHARE"),onCloseRequest:F},r.createElement(u,{className:L["share-prompt"],url:V.get(d.SHARE_LINK_CATEGORY).href})):null):null))};p.Placeholder=m,p.propTypes={className:E.string,compact:E.bool,name:E.string,logo:E.string,background:E.string,runtime:E.string,releaseInfo:E.string,released:E.instanceOf(Date),description:E.string,deepLinks:E.shape({metaDetailsVideos:E.string,metaDetailsStreams:E.string,player:E.string}),links:E.arrayOf(E.shape({category:E.string,name:E.string,url:E.string})),trailerStreams:E.array,inLibrary:E.bool,toggleInLibrary:E.func},e.exports=p},12641:(e,t,a)=>{var o=a(67294),i=a(45697),n=a(94184),r=a(8132),E=function(e){var t=e.className;return o.createElement("div",{className:n(t,r["meta-preview-placeholder-container"])},o.createElement("div",{className:r["meta-info-container"]},o.createElement("div",{className:r["logo-container"]}),o.createElement("div",{className:r["duration-release-info-container"]},o.createElement("div",{className:r["duration-container"]}),o.createElement("div",{className:r["release-info-container"]})),o.createElement("div",{className:r["genres-container"]},o.createElement("div",{className:r["genres-header-container"]}),o.createElement("div",{className:r["genre-label-container"]})),o.createElement("div",{className:r["genres-container"]},o.createElement("div",{className:r["genres-header-container"]}),o.createElement("div",{className:r["genre-label-container"]})),o.createElement("div",{className:r["genres-container"]},o.createElement("div",{className:r["genres-header-container"]}),o.createElement("div",{className:r["genre-label-container"]}))),o.createElement("div",{className:r["action-buttons-container"]}))};E.propTypes={className:i.string},e.exports=E},74322:(e,t,a)=>{var o=a(12641);e.exports=o},73070:(e,t,a)=>{var o=a(26314);e.exports=o},78370:(e,t,a)=>{function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?o(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):o(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}var r=a(67294),E=a(59864),_=a(45697),T=a(94184),s=a(95985).default,S=a(6851),l=a(52734),I=a(13590),A=a(90411),u=a(31770),d=function(e){var t=e.className,a=e.title,o=e.catalog,n=e.message,_=e.itemComponent,A=e.notifications,d=I(),c=r.useMemo((function(){return null!=a?a:d.catalogTitle(o)}),[a,o,d.catalogTitle]),O=r.useMemo((function(){var e,t;return null!==(e=null==o?void 0:o.items)&&void 0!==e?e:null==o||null===(t=o.content)||void 0===t?void 0:t.content}),[o]),R=r.useMemo((function(){var e,t,a;return null!==(e=null==o||null===(t=o.deepLinks)||void 0===t?void 0:t.discover)&&void 0!==e?e:null==o||null===(a=o.deepLinks)||void 0===a?void 0:a.library}),[o]);return r.createElement("div",{className:T(t,u["meta-row-container"])},r.createElement("div",{className:u["header-container"]},"string"==typeof c&&c.length>0?r.createElement("div",{className:u["title-container"],title:c},c):null,R?r.createElement(S,{className:u["see-all-container"],title:d.string("BUTTON_SEE_ALL"),href:R,tabIndex:-1},r.createElement("div",{className:u.label},d.string("BUTTON_SEE_ALL")),r.createElement(s,{className:u.icon,name:"chevron-forward"})):null),"string"==typeof n&&n.length>0?r.createElement("div",{className:u["message-container"],title:n},n):r.createElement("div",{className:u["meta-items-container"]},E.isValidElementType(_)?O.slice(0,l.CATALOG_PREVIEW_SIZE).map((function(e,t){return r.createElement(_,i(i({},e),{},{key:t,className:T(u["meta-item"],u["poster-shape-poster"],u["poster-shape-".concat(e.posterShape)]),notifications:A}))})):null,Array(Math.max(0,l.CATALOG_PREVIEW_SIZE-O.length)).fill(null).map((function(e,t){return r.createElement("div",{key:t,className:T(u["meta-item"],u["poster-shape-poster"])})}))))};d.Placeholder=A,d.propTypes={className:_.string,title:_.string,message:_.string,catalog:_.shape({id:_.string,name:_.string,type:_.string,addon:_.shape({manifest:_.shape({id:_.string,name:_.string})}),content:_.shape({content:_.oneOfType([_.string,_.arrayOf(_.shape({posterShape:_.string}))])}),items:_.arrayOf(_.shape({posterShape:_.string})),deepLinks:_.shape({discover:_.string,library:_.string})}),itemComponent:_.elementType,notifications:_.object},e.exports=d},92268:(e,t,a)=>{var o=a(67294),i=a(45697),n=a(94184),r=a(81468).useTranslation,E=a(95985).default,_=a(6851),T=a(52734),s=a(35250),S=function(e){var t=e.className,a=e.title,i=e.deepLinks,S=r().t;return o.createElement("div",{className:n(t,s["meta-row-placeholder-container"])},o.createElement("div",{className:s["header-container"]},o.createElement("div",{className:s["title-container"],title:"string"==typeof a&&a.length>0?a:null},"string"==typeof a&&a.length>0?a:null),i&&"string"==typeof i.discover?o.createElement(_,{className:s["see-all-container"],title:S("BUTTON_SEE_ALL"),href:i.discover,tabIndex:-1},o.createElement("div",{className:s.label},S("BUTTON_SEE_ALL")),o.createElement(E,{className:s.icon,name:"chevron-forward"})):null),o.createElement("div",{className:s["meta-items-container"]},Array(T.CATALOG_PREVIEW_SIZE).fill(null).map((function(e,t){return o.createElement("div",{key:t,className:s["meta-item"]},o.createElement("div",{className:s["poster-container"]}),o.createElement("div",{className:s["title-bar-container"]},o.createElement("div",{className:s["title-label"]})))}))))};S.propTypes={className:i.string,title:i.string,deepLinks:i.shape({discover:i.string})},e.exports=S},90411:(e,t,a)=>{var o=a(92268);e.exports=o},39321:(e,t,a)=>{var o=a(78370);e.exports=o},98787:(e,t,a)=>{var o=["className","title","buttons","children","dataset","onCloseRequest","background"];function i(){return i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(e[o]=a[o])}return e},i.apply(this,arguments)}function n(e,t){if(null==e)return{};var a,o,i=(function(e,t){if(null==e)return{};var a,o,i={},n=Object.keys(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||(i[a]=e[a]);return i})(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}var r=a(67294),E=a(45697),_=a(94184),T=a(21665),s=T.useRouteFocused,S=T.useModalsContainer,l=a(6851),I=a(95985).default,A=a(21665).Modal,u=a(93837),d=function(e){var t=e.className,a=e.title,E=e.buttons,T=e.children,d=e.dataset,c=e.onCloseRequest,O=e.background,R=n(e,o),N=s(),m=S(),L=r.useRef(null),D=r.useCallback((function(e){"function"==typeof c&&c({type:"close",dataset:d,reactEvent:e,nativeEvent:e.nativeEvent})}),[d,c]),p=r.useCallback((function(e){e.nativeEvent.closeModalDialogPrevented||"function"!=typeof c||c({type:"close",dataset:d,reactEvent:e,nativeEvent:e.nativeEvent})}),[d,c]),h=r.useCallback((function(e){e.nativeEvent.closeModalDialogPrevented=!0}),[]);return r.useEffect((function(){var e=function(e){"Escape"===e.code&&m.childNodes[m.childElementCount-2]===L.current&&"function"==typeof c&&c({type:"close",dataset:d,nativeEvent:e})};return N&&window.addEventListener("keydown",e),function(){window.removeEventListener("keydown",e)}}),[N,d,c]),r.createElement(A,i({ref:L},R,{className:_(t,u["modal-container"]),onMouseDown:p}),r.createElement("div",{className:u["modal-dialog-container"],onMouseDown:h},r.createElement("div",{className:u["modal-dialog-background"],style:{backgroundImage:"url('".concat(O,"')")}}),r.createElement(l,{className:u["close-button-container"],title:"Close",onClick:D},r.createElement(I,{className:u.icon,name:"close"})),r.createElement("div",{className:u["modal-dialog-content"]},"string"==typeof a&&a.length>0?r.createElement("div",{className:u["title-container"],title:a},a):null,r.createElement("div",{className:u["body-container"]},T),Array.isArray(E)&&E.length>0?r.createElement("div",{className:u["buttons-container"]},E.map((function(e,t){var a=e.className,o=e.label,n=e.icon,E=e.props;return r.createElement(l,i({title:o},E,{key:t,className:_(a,u["action-button"])}),"string"==typeof n&&n.length>0?r.createElement(I,{className:u.icon,name:n}):null,"string"==typeof o&&o.length>0?r.createElement("div",{className:u.label},o):null)}))):null)))};d.propTypes={className:E.string,title:E.string,background:E.string,buttons:E.arrayOf(E.shape({className:E.string,label:E.string,icon:E.string,props:E.object})),children:E.oneOfType([E.arrayOf(E.node),E.node]),dataset:E.object,onCloseRequest:E.func},e.exports=d},58253:(e,t,a)=>{var o=a(98787);e.exports=o},82035:(e,t,a)=>{var o=["className","mode","direction","title","disabled","dataset","renderLabelContent","renderLabelText","onOpen","onClose","onSelect"],i=["children","className"];function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function r(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?n(Object(a),!0).forEach((function(t){E(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):n(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function E(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function _(){return _=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(e[o]=a[o])}return e},_.apply(this,arguments)}function T(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return s(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return s(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}function S(e,t){if(null==e)return{};var a,o,i=(function(e,t){if(null==e)return{};var a,o,i={},n=Object.keys(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||(i[a]=e[a]);return i})(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}var l=a(67294),I=a(45697),A=a(94184),u=a(95985).default,d=a(6851),c=a(9418),O=a(58253),R=a(74024),N=a(84629),m=function(e){var t=e.className,a=e.mode,n=e.direction,E=e.title,s=e.disabled,I=e.dataset,m=e.renderLabelContent,L=e.renderLabelText,D=e.onOpen,p=e.onClose,h=e.onSelect,C=S(e,o),f=T(R(!1),4),B=f[0],P=f[2],g=f[3],v=l.useMemo((function(){return Array.isArray(C.options)?C.options.filter((function(e){return e&&("string"==typeof e.value||null===e.value)})):[]}),[C.options]),y=l.useMemo((function(){return Array.isArray(C.selected)?C.selected.filter((function(e){return"string"==typeof e||null===e})):[]}),[C.selected]),W=l.useCallback((function(e){"function"==typeof C.onClick&&C.onClick(e),e.nativeEvent.toggleMenuPrevented||g()}),[C.onClick,g]),M=l.useCallback((function(e){e.nativeEvent.toggleMenuPrevented=!0}),[]),b=l.useCallback((function(e){e.nativeEvent.buttonClickPrevented=!0}),[]),U=l.useCallback((function(e){"function"==typeof h&&h({type:"select",value:e.currentTarget.dataset.value,reactEvent:e,nativeEvent:e.nativeEvent,dataset:I}),e.nativeEvent.closeMenuPrevented||P()}),[I,h]),G=l.useRef(!1);l.useLayoutEffect((function(){G.current&&(B?"function"==typeof D&&D({type:"open",dataset:I}):"function"==typeof p&&p({type:"close",dataset:I})),G.current=!0}),[B]);var k=l.useCallback((function(e){var t=e.children,a=e.className,o=S(e,i);return l.createElement(d,_({},o,{className:A(a,N["label-container"],{active:B}),title:E,disabled:s,onClick:W}),"function"==typeof m?m():l.createElement(l.Fragment,null,l.createElement("div",{className:N.label},"function"==typeof L?L():y.length>0?y.map((function(e){var t=v.find((function(t){return t.value===e}));return t&&"string"==typeof t.label?t.label:e})).join(", "):E),l.createElement(u,{className:N.icon,name:"caret-down"})),t)}),[B,E,s,v,y,W,m,L]),F=l.useCallback((function(){return l.createElement("div",{className:N["menu-container"],onKeyDown:b,onClick:M},v.length>0?v.map((function(e){var t=e.label,a=e.title,o=e.value;return l.createElement(d,{key:o,className:A(N["option-container"],{selected:y.includes(o)}),title:"string"==typeof a?a:"string"==typeof t?t:o,"data-value":o,onClick:U},l.createElement("div",{className:N.label},"string"==typeof t?t:o),l.createElement("div",{className:N.icon}))})):l.createElement("div",{className:N["no-options-container"]},l.createElement("div",{className:N.label},"No options available")))}),[v,y,b,M,U]),V=l.useMemo((function(){return function(e){return k(r(r(r({},e),C),{},{className:A(t,e.className)}))}}),[C,t,k]);return"modal"===a?k(r(r({},C),{},{className:t,children:B?l.createElement(O,{className:N["modal-container"],title:E,onCloseRequest:P,onKeyDown:b,onClick:M},F()):null})):l.createElement(c,{open:B,direction:n,onCloseRequest:P,renderLabel:V,renderMenu:F})};m.propTypes={className:I.string,mode:I.oneOf(["popup","modal"]),direction:I.any,title:I.string,options:I.arrayOf(I.shape({value:I.string,title:I.string,label:I.string})),selected:I.arrayOf(I.string),disabled:I.bool,dataset:I.object,renderLabelContent:I.func,renderLabelText:I.func,onOpen:I.func,onClose:I.func,onSelect:I.func,onClick:I.func},e.exports=m},53981:(e,t,a)=>{var o=a(82035);e.exports=o},46934:(e,t,a)=>{var o=["className","route","query","title","backButton","searchBar","addonsButton","fullscreenButton","navMenu"];function i(){return i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(e[o]=a[o])}return e},i.apply(this,arguments)}function n(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return r(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return r(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}function E(e,t){if(null==e)return{};var a,o,i=(function(e,t){if(null==e)return{};var a,o,i={},n=Object.keys(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||(i[a]=e[a]);return i})(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}var _=a(67294),T=a(45697),s=a(94184),S=a(95985).default,l=a(6851),I=a(29872),A=a(88489),u=a(43224),d=a(75430),c=a(70923),O=a(88287),R=a(96073).t,N=_.memo((function(e){var t=e.className,r=e.route,T=e.query,N=e.title,m=e.backButton,L=e.searchBar,D=e.addonsButton,p=e.fullscreenButton,h=e.navMenu,C=E(e,o),f=_.useCallback((function(){window.history.back()}),[]),B=n(A(),3),P=B[0],g=B[1],v=B[2],y=n(u(),1)[0],W=_.useCallback((function(e){var t=e.ref,a=e.className,o=e.onClick,i=e.children;return _.createElement(l,{ref:t,className:s(a,O["button-container"],O["menu-button-container"]),tabIndex:-1,onClick:o},_.createElement(S,{className:O.icon,name:"person-outline"}),i)}),[]);return _.createElement("nav",i({},C,{className:s(t,O["horizontal-nav-bar-container"])}),m?_.createElement(l,{className:s(O["button-container"],O["back-button-container"]),tabIndex:-1,onClick:f},_.createElement(S,{className:O.icon,name:"chevron-back"})):_.createElement("div",{className:O["logo-container"]},_.createElement(I,{className:O.logo,src:a(35313),alt:" "})),"string"==typeof N&&N.length>0?_.createElement("h2",{className:O.title},N):null,L&&"addons"!==r?_.createElement(d,{className:O["search-bar"],query:T,active:"search"===r}):null,_.createElement("div",{className:O["buttons-container"]},D?_.createElement(l,{className:O["button-container"],href:"#/addons",title:R("ADDONS"),tabIndex:-1},_.createElement(S,{className:O.icon,name:"addons-outline"})):null,!y&&p?_.createElement(l,{className:O["button-container"],title:R(P?"EXIT_FULLSCREEN":"ENTER_FULLSCREEN"),tabIndex:-1,onClick:P?v:g},_.createElement(S,{className:O.icon,name:P?"minimize":"maximize"})):null,h?_.createElement(c,{renderLabel:W}):null))}));N.displayName="HorizontalNavBar",N.propTypes={className:T.string,route:T.string,query:T.string,title:T.string,backButton:T.bool,searchBar:T.bool,addonsButton:T.bool,fullscreenButton:T.bool,navMenu:T.bool},e.exports=N},21229:(e,t,a)=>{function o(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return i(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return i(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var n=a(67294),r=a(45697),E=a(94184),_=a(21665).useRouteFocused,T=a(9418),s=a(74024),S=a(6856),l=a(41757),I=function(e){var t=_(),a=o(s(!1),4),i=a[0],r=a[2],I=a[3],A=n.useCallback((function(e){e.nativeEvent.togglePopupPrevented||I()}),[I]),u=n.useCallback((function(e){e.nativeEvent.togglePopupPrevented=!0}),[]),d=n.useMemo((function(){return function(t){var a=t.ref,o=t.className,n=t.children;return e.renderLabel({ref:a,className:E(o,{active:i}),onClick:A,children:n})}}),[i,A,e.renderLabel]),c=n.useCallback((function(){return n.createElement(S,{onClick:u})}),[]);return n.useEffect((function(){t||r()}),[t]),n.createElement(T,{open:i,direction:"bottom-left",onCloseRequest:r,renderLabel:d,renderMenu:c,className:l["nav-menu-popup-label"]})};I.propTypes={renderLabel:r.func},e.exports=I},6856:(e,t,a)=>{function o(e,t,a,o,i,n,r){try{var E=e[n](r),_=E.value}catch(e){return void a(e)}E.done?t(_):Promise.resolve(_).then(o,i)}function i(e){return function(){var t=this,a=arguments;return new Promise((function(i,n){var r=e.apply(t,a);function E(e){o(r,i,n,E,_,"next",e)}function _(e){o(r,i,n,E,_,"throw",e)}E(void 0)}))}}function n(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return r(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return r(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var E=a(67294),_=a(45697),T=a(94184),s=a(81468).useTranslation,S=a(95985).default,l=a(63662).useServices,I=a(6851),A=a(88489),u=a(50552),d=a(43224),c=a(91657),O=a(36672).withCoreSuspender,R=a(41757),N=function(e){var t=e.onClick,o=s().t,r=l().core,_=u(),O=c().createTorrentFromMagnet,N=n(A(),3),m=N[0],L=N[1],D=N[2],p=n(d(),2),h=p[0],C=p[1],f=E.useCallback((function(){r.transport.dispatch({action:"Ctx",args:{action:"Logout"}})}),[]),B=E.useCallback(i(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,navigator.clipboard.readText();case 3:t=e.sent,O(t),e.next=10;break;case 7:e.prev=7,e.t0=e.catch(0),console.error(e.t0);case 10:case"end":return e.stop()}}),e,null,[[0,7]])}))),[]);return E.createElement("div",{className:T(R["nav-menu-container"],"animation-fade-in"),onClick:t},E.createElement("div",{className:R["user-info-container"]},E.createElement("div",{className:R["avatar-container"],style:{backgroundImage:null===_.auth?"url('".concat(a(93028),"')"):_.auth.user.avatar?"url('".concat(_.auth.user.avatar,"')"):"url('".concat(a(11251),"')")}}),E.createElement("div",{className:R["user-info-details"]},E.createElement("div",{className:R["email-container"]},E.createElement("div",{className:R["email-label"]},null===_.auth?o("ANONYMOUS_USER"):_.auth.user.email)),E.createElement(I,{className:R["logout-button-container"],title:null===_.auth?"".concat(o("LOG_IN")," / ").concat(o("SIGN_UP")):o("LOG_OUT"),href:null===_.auth?"#/intro":null,onClick:null!==_.auth?f:null},E.createElement("div",{className:R["logout-label"]},null===_.auth?"".concat(o("LOG_IN")," / ").concat(o("SIGN_UP")):o("LOG_OUT"))))),h||C?null:E.createElement("div",{className:R["nav-menu-section"]},E.createElement(I,{className:R["nav-menu-option-container"],title:o(m?"EXIT_FULLSCREEN":"ENTER_FULLSCREEN"),onClick:m?D:L},E.createElement(S,{className:R.icon,name:m?"minimize":"maximize"}),E.createElement("div",{className:R["nav-menu-option-label"]},o(m?"EXIT_FULLSCREEN":"ENTER_FULLSCREEN")))),E.createElement("div",{className:R["nav-menu-section"]},E.createElement(I,{className:R["nav-menu-option-container"],title:o("SETTINGS"),href:"#/settings"},E.createElement(S,{className:R.icon,name:"settings"}),E.createElement("div",{className:R["nav-menu-option-label"]},o("SETTINGS"))),E.createElement(I,{className:R["nav-menu-option-container"],title:o("ADDONS"),href:"#/addons"},E.createElement(S,{className:R.icon,name:"addons-outline"}),E.createElement("div",{className:R["nav-menu-option-label"]},o("ADDONS"))),E.createElement(I,{className:R["nav-menu-option-container"],title:o("PLAY_URL_MAGNET_LINK"),onClick:B},E.createElement(S,{className:R.icon,name:"magnet-link"}),E.createElement("div",{className:R["nav-menu-option-label"]},o("PLAY_URL_MAGNET_LINK"))),E.createElement(I,{className:R["nav-menu-option-container"],title:o("HELP_FEEDBACK"),href:"https://stremio.zendesk.com/",target:"_blank"},E.createElement(S,{className:R.icon,name:"help"}),E.createElement("div",{className:R["nav-menu-option-label"]},o("HELP_FEEDBACK")))),E.createElement("div",{className:R["nav-menu-section"]},E.createElement(I,{className:R["nav-menu-option-container"],title:o("TERMS_OF_SERVICE"),href:"https://www.stremio.com/tos",target:"_blank"},E.createElement("div",{className:R["nav-menu-option-label"]},o("TERMS_OF_SERVICE"))),E.createElement(I,{className:R["nav-menu-option-container"],title:o("PRIVACY_POLICY"),href:"https://www.stremio.com/privacy",target:"_blank"},E.createElement("div",{className:R["nav-menu-option-label"]},o("PRIVACY_POLICY"))),null!==_.auth?E.createElement(I,{className:R["nav-menu-option-container"],title:o("USER_PANEL"),href:"https://www.stremio.com/acc-settings",target:"_blank"},E.createElement("div",{className:R["nav-menu-option-label"]},o("USER_PANEL"))):null))};N.propTypes={onClick:_.func};e.exports=O(N,(function(){return E.createElement("div",{className:R["nav-menu-container"]})}))},70923:(e,t,a)=>{var o=a(21229);e.exports=o},83833:(e,t,a)=>{function o(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return i(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return i(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var n=a(67294),r=a(45697),E=a(94184),_=a(91296),T=a(81468).useTranslation,s=a(95985).default,S=a(21665).useRouteFocused,l=a(6851),I=a(86230),A=a(91657),u=a(36672).withCoreSuspender,d=a(39899),c=a(55562),O=a(74461),R=a(74024),N=n.memo((function(e){var t,a,i,r,u=e.className,N=e.query,m=e.active,L=T().t,D=S(),p=d(),h=c(),C=A().createTorrentFromMagnet,f=o(R(null===N),3),B=f[0],P=f[1],g=f[2],v=o(n.useState(N||""),2),y=v[0],W=v[1],M=n.useRef(null),b=n.useRef(null),U=n.useCallback((function(){m||(window.location="#/search")}),[m]),G=n.useCallback((function(e){B&&b.current&&!b.current.contains(e.target)&&g()}),[B]);n.useEffect((function(){return document.addEventListener("mousedown",G),function(){document.removeEventListener("mousedown",G)}}),[G]);var k=n.useCallback((function(){var e=M.current.value;W(e),P();try{C(e)}catch(e){console.error("Failed to create torrent from magnet:",e)}}),[C]),F=n.useCallback((function(e){e.preventDefault();var t="/search?search=".concat(e.target.value);W(t),M.current&&t&&(window.location.hash=t,g())}),[]),V=n.useCallback((function(){M.current.value="",W(""),window.location.hash="/search"}),[]),H=n.useCallback(_((function(e){h.search(e)}),250),[]);return n.useEffect((function(){H(y)}),[y]),n.useEffect((function(){D&&m&&M.current.focus()}),[D,m]),n.useEffect((function(){return function(){H.cancel()}}),[]),n.createElement("div",{className:E(u,O["search-bar-container"],{active:m}),onClick:U,ref:b},m?n.createElement(I,{key:N,ref:M,className:O["search-input"],type:"text",placeholder:L("SEARCH_OR_PASTE_LINK"),defaultValue:N,tabIndex:-1,onChange:k,onSubmit:F,onClick:P}):n.createElement("div",{className:O["search-input"]},n.createElement("div",{className:O["placeholder-label"]},L("SEARCH_OR_PASTE_LINK"))),y.length>0?n.createElement(l,{className:O["submit-button-container"],onClick:V},n.createElement(s,{className:O.icon,name:"close"})):n.createElement(l,{className:O["submit-button-container"]},n.createElement(s,{className:O.icon,name:"search"})),B&&(null!=p&&null!==(t=p.items)&&void 0!==t&&t.length||null!=h&&null!==(a=h.items)&&void 0!==a&&a.length)?n.createElement("div",{className:O["menu-container"]},(null==p||null===(i=p.items)||void 0===i?void 0:i.length)>0?n.createElement("div",{className:O.items},n.createElement("div",{className:O.title},n.createElement("div",{className:O.label},L("STREMIO_TV_SEARCH_HISTORY_TITLE")),n.createElement("button",{className:O["search-history-clear"],onClick:p.clear},L("CLEAR_HISTORY"))),p.items.slice(0,8).map((function(e,t){var a=e.query,o=e.deepLinks;return n.createElement(l,{key:t,className:O.item,href:o.search,onClick:g},a)}))):null,null!=h&&null!==(r=h.items)&&void 0!==r&&r.length?n.createElement("div",{className:O.items},n.createElement("div",{className:O.title},n.createElement("div",{className:O.label},L("SEARCH_SUGGESTIONS"))),h.items.map((function(e,t){var a=e.query,o=e.deepLinks;return n.createElement(l,{key:t,className:O.item,href:o.search,onClick:g},a)}))):null):null)}));N.displayName="SearchBar",N.propTypes={className:r.string,query:r.string,active:r.bool};var m=function(e){var t=e.className,a=T().t;return n.createElement("label",{className:E(t,O["search-bar-container"])},n.createElement("div",{className:O["search-input"]},n.createElement("div",{className:O["placeholder-label"]},a("SEARCH_OR_PASTE_LINK"))),n.createElement(l,{className:O["submit-button-container"],tabIndex:-1},n.createElement(s,{className:O.icon,name:"search"})))};m.propTypes=N.propTypes,e.exports=u(N,m)},75430:(e,t,a)=>{var o=a(83833);e.exports=o},55562:(e,t,a)=>{var o=a(67294),i=a(63662).useServices,n=a(71535);e.exports=function(){var e=i().core,t=o.useMemo((function(){return{action:"Load",args:{model:"LocalSearch"}}}),[]);return{items:n({model:"local_search",action:t}).items,search:o.useCallback((function(t){e.transport.dispatch({action:"Search",args:{action:"Search",args:{searchQuery:t,maxResults:5}}})}),[])}}},39899:(e,t,a)=>{var o=a(67294),i=a(71535),n=a(63662).useServices;e.exports=function(){var e=n().core;return{items:i({model:"ctx"}).searchHistory,clear:o.useCallback((function(){e.transport.dispatch({action:"Ctx",args:{action:"ClearSearchHistory"}})}),[])}}},91871:(e,t,a)=>{var o=a(46934);e.exports=o},82878:(e,t,a)=>{var o=a(67294),i=a(45697),n=a(94184),r=a(95985).default,E=a(6851),_=a(29872),T=a(35916),s=function(e){var t=e.className,a=e.logo,i=e.icon,s=e.label,S=e.href,l=e.selected,I=e.onClick,A=o.useCallback((function(){return"string"==typeof i&&i.length>0?o.createElement(r,{className:T.icon,name:i}):null}),[i]);return o.createElement(E,{className:n(t,T["nav-tab-button-container"],{selected:l}),title:s,tabIndex:-1,href:S,onClick:I,onDoubleClick:function(){document.querySelectorAll("div").forEach((function(e){e.scrollTop>0&&e.scrollTo({top:0,behavior:"smooth"})}))}},"string"==typeof a&&a.length>0?o.createElement(_,{className:T.logo,src:a,alt:" ",renderFallback:A}):"string"==typeof i&&i.length>0?o.createElement(r,{className:T.icon,name:l?i:"".concat(i,"-outline")}):null,"string"==typeof s&&s.length>0?o.createElement("div",{className:T.label},s):null)};s.propTypes={className:i.string,logo:i.string,icon:i.string,label:i.string,href:i.string,selected:i.bool,onClick:i.func},e.exports=s},63908:(e,t,a)=>{var o=a(82878);e.exports=o},96063:(e,t,a)=>{var o=a(67294),i=a(45697),n=a(94184),r=a(81468).useTranslation,E=a(63908),_=a(46216),T=o.memo((function(e){var t=e.className,a=e.selected,i=e.tabs,T=r().t;return o.createElement("nav",{className:n(t,_["vertical-nav-bar-container"])},Array.isArray(i)?i.map((function(e,t){return o.createElement(E,{key:t,className:_["nav-tab-button"],selected:e.id===a,href:e.href,logo:e.logo,icon:e.icon,label:T(e.label),onClick:e.onClick})})):null)}));T.displayName="VerticalNavBar",T.propTypes={className:i.string,selected:i.string,tabs:i.arrayOf(i.shape({id:i.string,label:i.string,logo:i.string,icon:i.string,href:i.string,onClick:i.func}))},e.exports=T},29798:(e,t,a)=>{var o=a(96063);e.exports=o},11785:(e,t,a)=>{var o=a(91871),i=a(29798);e.exports={HorizontalNavBar:o,VerticalNavBar:i}},98417:(e,t,a)=>{var o=["className","label","dataset","onSelect"];function i(){return i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(e[o]=a[o])}return e},i.apply(this,arguments)}function n(e,t){if(null==e)return{};var a,o,i=(function(e,t){if(null==e)return{};var a,o,i={},n=Object.keys(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||(i[a]=e[a]);return i})(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}var r=a(67294),E=a(45697),_=a(94184),T=a(95985).default,s=a(6851),S=a(31903),l=function(e){var t=e.className,a=e.label,E=e.dataset,l=e.onSelect,I=n(e,o),A=r.useCallback((function(e){"function"==typeof l&&l({type:"change-page",value:e.currentTarget.dataset.value,dataset:E,reactEvent:e,nativeEvent:e.nativeEvent})}),[E,l]);return r.createElement("div",i({},I,{className:_(t,S["pagination-input-container"])}),r.createElement(s,{className:S["prev-button-container"],title:"Previous page","data-value":"prev",onClick:A},r.createElement(T,{className:S.icon,name:"chevron-back"})),r.createElement("div",{className:S["label-container"],title:a},r.createElement("div",{className:S.label},a)),r.createElement(s,{className:S["next-button-container"],title:"Next page","data-value":"next",onClick:A},r.createElement(T,{className:S.icon,name:"chevron-forward"})))};l.propTypes={className:E.string,label:E.string,dataset:E.object,onSelect:E.func},e.exports=l},52391:(e,t,a)=>{var o=a(98417);e.exports=o},57206:(e,t,a)=>{var o=a(67294),i=a(45697),n=a(12801),r=function(e){var t=e.className;return o.createElement("svg",{className:t,viewBox:"0 0 100 100"},o.createElement("circle",{className:n.background,cx:"50",cy:"50",r:"50"}),o.createElement("svg",{className:n.icon,x:"0",y:"25",width:"100",height:"50",viewBox:"0 0 37.14 32"},o.createElement("path",{d:"M 9.14,0 37.14,16 9.14,32 Z"})))};r.propTypes={className:i.string},e.exports=r},60926:(e,t,a)=>{var o=a(57206);e.exports=o},51804:(e,t,a)=>{var o=["open","direction","renderLabel","renderMenu","dataset","onCloseRequest"];function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function n(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?i(Object(a),!0).forEach((function(t){r(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):i(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function E(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return _(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return _(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function _(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}function T(e,t){if(null==e)return{};var a,o,i=(function(e,t){if(null==e)return{};var a,o,i={},n=Object.keys(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||(i[a]=e[a]);return i})(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}var s=a(67294),S=a(45697),l=a(94184),I=a(56413).ZP,A=a(21665).useRouteFocused,u=a(31727),d=function e(t){if(t===document.documentElement)return t;var a=window.getComputedStyle(t);return-1!==a.overflowY.indexOf("auto")||-1!==a.overflowY.indexOf("scroll")?t:e(t.parentElement)},c=function(e){var t=e.open,a=e.direction,i=e.renderLabel,_=e.renderMenu,S=e.dataset,c=e.onCloseRequest,O=T(e,o),R=A(),N=s.useRef(null),m=s.useRef(null),L=E(s.useState(null),2),D=L[0],p=L[1],h=s.useCallback((function(e){e.nativeEvent.closePopupPrevented=!0}),[]);return s.useEffect((function(){var e=function(e){if(!e.closePopupPrevented&&"function"==typeof c){var t={type:"close",nativeEvent:e,dataset:S};switch(e.type){case"keydown":"Escape"===e.code&&c(t);break;case"mousedown":case"pointerdown":e.target===document.documentElement||N.current.contains(e.target)||c(t)}}};return R&&t&&(window.addEventListener("keydown",e),window.addEventListener("mousedown",e),window.addEventListener("pointerdown",e)),function(){window.removeEventListener("keydown",e),window.removeEventListener("mousedown",e),window.removeEventListener("pointerdown",e)}}),[R,t,c,S]),s.useLayoutEffect((function(){if(t){var e=[],a=d(N.current).getBoundingClientRect(),o=N.current.getBoundingClientRect(),i=m.current.getBoundingClientRect(),n={left:o.left-a.left,top:o.top-a.top,right:a.width+a.left-(o.left+o.width),bottom:a.height+a.top-(o.top+o.height)};i.height<=n.bottom?e.push("bottom"):i.height<=n.top?e.push("top"):n.bottom>=n.top?e.push("bottom"):e.push("top"),i.width<=n.right+o.width?e.push("right"):i.width<=n.left+o.width?e.push("left"):n.right>n.left?e.push("right"):e.push("left"),p(e.join("-"))}else p(null)}),[t]),i(n(n({},O),{},{ref:N,className:l(u["label-container"],O.className,{active:t}),children:t?s.createElement(I,{ref:m,className:l(u["menu-container"],r({},u["menu-direction-".concat(D)],!a),r({},u["menu-direction-".concat(a)],a)),autoFocus:!1,lockProps:{onMouseDown:h}},_()):null}))};c.propTypes={open:S.bool,direction:S.oneOf(["top-left","bottom-left","top-right","bottom-right"]),renderLabel:S.func.isRequired,renderMenu:S.func.isRequired,dataset:S.object,onCloseRequest:S.func},e.exports=c},9418:(e,t,a)=>{var o=a(51804);e.exports=o},56182:(e,t,a)=>{var o=a(67294),i=a(45697),n=a(94184),r=a(95985).default,E=a(86230),_=a(64830),T=a(81632),s=function(e){var t=e.className,a=e.title,i=e.value,_=e.onChange;return o.createElement("label",{title:a,className:n(t,T["search-bar-container"])},o.createElement(E,{className:T["search-input"],type:"text",placeholder:a,value:i,onChange:_}),o.createElement(r,{className:T.icon,name:"search"}))};s.Placeholder=_,s.propTypes={className:i.string,title:i.string,value:i.string,onChange:i.func},e.exports=s},83994:(e,t,a)=>{var o=a(67294),i=a(45697),n=a(94184),r=a(95985).default,E=a(85451),_=function(e){var t=e.className,a=e.title;return o.createElement("div",{className:n(t,E["search-bar-container"])},o.createElement("div",{className:E["search-input"]},a),o.createElement(r,{className:E.icon,name:"search"}))};_.propTypes={className:i.string,title:i.string},e.exports=_},64830:(e,t,a)=>{var o=a(83994);e.exports=o},6798:(e,t,a)=>{var o=a(56182);e.exports=o},55005:(e,t,a)=>{var o=a(67294),i=a(45697),n=a(94184),r=a(81468).useTranslation,E=a(95985).default,_=a(21665).useRouteFocused,T=a(63662).useServices,s=a(17263),S=a(6851),l=a(86230),I=a(43486),A=function(e){var t=e.className,a=e.url,i=r().t,A=T().core,u=s(),d=o.useRef(null),c=_(),O=o.useCallback((function(){null!==d.current&&d.current.select()}),[]),R=o.useCallback((function(){null!==d.current&&(d.current.select(),document.execCommand("copy"),u.show({type:"success",title:"Copied to clipboard",timeout:3e3}))}),[]);return o.useEffect((function(){c&&null!==d.current&&d.current.select()}),[c]),o.useEffect((function(){A.transport.analytics({event:"Share",args:{url:a}})}),[a]),o.createElement("div",{className:n(t,I["share-prompt-container"])},o.createElement("div",{className:I["buttons-container"]},o.createElement(S,{className:n(I["button-container"],I["facebook-button"]),title:"Facebook",href:"https://www.facebook.com/sharer/sharer.php?u=".concat(a),target:"_blank"},o.createElement(E,{className:I.icon,name:"facebook"})),o.createElement(S,{className:n(I["button-container"],I["x-button"]),title:"X (Twitter)",href:"https://twitter.com/intent/tweet?text=".concat(a),target:"_blank"},o.createElement(E,{className:I.icon,name:"x"})),o.createElement(S,{className:n(I["button-container"],I["reddit-button"]),title:"Reddit",href:"https://www.reddit.com/submit?url=".concat(a),target:"_blank"},o.createElement(E,{className:I.icon,name:"reddit"}))),o.createElement("div",{className:I["url-container"]},o.createElement(l,{ref:d,className:I["url-text-input"],type:"text",readOnly:!0,defaultValue:a,onClick:O,tabIndex:-1}),o.createElement(S,{className:I["copy-button"],title:"Copy to clipboard",onClick:R},o.createElement(E,{className:I.icon,name:"link"}),o.createElement("div",{className:I.label},i("COPY")))))};A.propTypes={className:i.string,url:i.string},e.exports=A},89393:(e,t,a)=>{var o=a(55005);e.exports=o},34068:(e,t,a)=>{function o(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return i(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return i(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var n=a(67294),r=a(45697),E=a(94184),_=a(21665).useRouteFocused,T=a(4),s=a(47985),S=a(18305),l=function(e){var t=e.className,a=e.value,i=e.buffered,r=e.minimumValue,l=e.maximumValue,I=e.disabled,A=e.onSlide,u=e.onComplete,d=s(null===r||isNaN(r)?0:r),c=s(null===l||isNaN(l)?100:l),O=s(null===a||isNaN(a)?0:Math.min(c.current,Math.max(d.current,a))),R=s(null===i||isNaN(i)?0:Math.min(c.current,Math.max(d.current,i))),N=s(A),m=s(u),L=n.useRef(null),D=_(),p=o(T(),2),h=p[0],C=p[1],f=n.useCallback((function(e){if(null===L.current)return 0;var t=L.current.getBoundingClientRect(),a=t.x,o=t.width;return Math.min(Math.max(e-a,0),o)/o*(c.current-d.current)+d.current}),[]),B=n.useCallback((function(){window.addEventListener("blur",g),window.addEventListener("mouseup",v),window.addEventListener("mousemove",y),document.documentElement.className=E(document.documentElement.className,S["active-slider-within"])}),[]),P=n.useCallback((function(){C(),window.removeEventListener("blur",g),window.removeEventListener("mouseup",v),window.removeEventListener("mousemove",y);var e=document.documentElement.className.split(" "),t=e.indexOf(S["active-slider-within"]);-1!==t&&(e.splice(t,1),document.documentElement.className=E(e))}),[]),g=n.useCallback((function(){"function"==typeof N.current&&N.current(O.current),"function"==typeof m.current&&m.current(O.current),P()}),[]),v=n.useCallback((function(e){var t=f(e.clientX);"function"==typeof m.current&&m.current(t),P()}),[]),y=n.useCallback((function(e){h((function(){var t=f(e.clientX);"function"==typeof N.current&&N.current(t)}))}),[]),W=n.useCallback((function(e){if(0===e.button){var t=f(e.clientX);"function"==typeof N.current&&N.current(t),B()}}),[]);n.useLayoutEffect((function(){D&&!I||P()}),[D,I]),n.useLayoutEffect((function(){return function(){P()}}),[]);var M=Math.max(0,Math.min(1,(O.current-d.current)/(c.current-d.current))),b=Math.max(0,Math.min(1,(R.current-d.current)/(c.current-d.current)));return n.createElement("div",{ref:L,className:E(t,S["slider-container"],{disabled:I}),onMouseDown:W},n.createElement("div",{className:S.layer},n.createElement("div",{className:S.track})),n.createElement("div",{className:S.layer},n.createElement("div",{className:S["track-before"],style:{width:"calc(100% * ".concat(b,")")}})),n.createElement("div",{className:S.layer},n.createElement("div",{className:S["track-after"],style:{width:"calc(100% * ".concat(M,")")}})),n.createElement("div",{className:S.layer},n.createElement("div",{className:S.thumb,style:{marginLeft:"calc(100% * ".concat(M,")")}})))};l.propTypes={className:r.string,value:r.number,buffered:r.number,minimumValue:r.number,maximumValue:r.number,disabled:r.bool,onSlide:r.func,onComplete:r.func},e.exports=l},36e3:(e,t,a)=>{var o=a(34068);e.exports=o},69009:(e,t,a)=>{function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?o(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):o(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}var r=a(67294),E=a(63662).useServices,_=a(45697),T=a(94184),s=a(81468).useTranslation,S=a(6851),l=a(50552),I=a(36672).withCoreSuspender,A=a(12226),u=function(e){var t=e.className,a=s().t,o=E().core,n=l(),_=r.useCallback((function(){var e=new Date;e.setMonth(e.getMonth()+1),o.transport.dispatch({action:"Ctx",args:{action:"UpdateSettings",args:i(i({},n.settings),{},{streamingServerWarningDismissed:e})}})}),[n.settings]),I=r.useCallback((function(){var e=new Date;e.setFullYear(e.getFullYear()+50),o.transport.dispatch({action:"Ctx",args:{action:"UpdateSettings",args:i(i({},n.settings),{},{streamingServerWarningDismissed:e})}})}),[n.settings]);return!isNaN(n.settings.streamingServerWarningDismissed.getTime())&&n.settings.streamingServerWarningDismissed.getTime()>Date.now()?null:r.createElement("div",{className:T(t,A["warning-container"])},r.createElement("div",{className:A["warning-statement"]},a("SETTINGS_SERVER_UNAVAILABLE")),r.createElement("a",{href:"https://www.stremio.com/download-service",target:"_blank",rel:"noreferrer"},r.createElement(S,{className:A["warning-button"],title:a("SERVICE_INSTALL"),tabIndex:-1},r.createElement("div",{className:A["warning-label"]},a("SERVICE_INSTALL")))),r.createElement(S,{className:A["warning-button"],title:a("WARNING_STREAMING_SERVER_LATER"),onClick:_,tabIndex:-1},r.createElement("div",{className:A["warning-label"]},a("WARNING_STREAMING_SERVER_LATER"))),r.createElement(S,{className:A["warning-button"],title:a("DONT_SHOW_AGAIN"),onClick:I,tabIndex:-1},r.createElement("div",{className:A["warning-label"]},a("DONT_SHOW_AGAIN"))))};u.propTypes={className:_.string},e.exports=I(u)},60861:(e,t,a)=>{var o=a(69009);e.exports=o},31007:(e,t,a)=>{function o(){return o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(e[o]=a[o])}return e},o.apply(this,arguments)}var i=a(67294),n=a(45697),r=a(94184),E=a(15867),_=i.forwardRef((function(e,t){var a=i.useCallback((function(t){"function"==typeof e.onKeyDown&&e.onKeyDown(t),"Enter"!==t.key||t.nativeEvent.submitPrevented||"function"!=typeof e.onSubmit||e.onSubmit(t)}),[e.onKeyDown,e.onSubmit]);return i.createElement("input",o({size:1,autoCorrect:"off",autoCapitalize:"off",autoComplete:"off",spellCheck:!1,tabIndex:0},e,{ref:t,className:r(e.className,E["text-input"],{disabled:e.disabled}),onKeyDown:a}))}));_.displayName="TextInput",_.propTypes={className:n.string,disabled:n.bool,onKeyDown:n.func,onSubmit:n.func},e.exports=_},86230:(e,t,a)=>{var o=a(31007);e.exports=o},6049:(e,t,a)=>{var o=a(67294).createContext({show:function(){},clear:function(){}});o.displayName="ToastContext",e.exports=o},33345:(e,t,a)=>{var o=["title","message","dataset","onSelect","onClose"];function i(e,t){if(null==e)return{};var a,o,i=(function(e,t){if(null==e)return{};var a,o,i={},n=Object.keys(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||(i[a]=e[a]);return i})(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}var n=a(67294),r=a(45697),E=a(94184),_=a(95985).default,T=a(6851),s=a(94202),S=function(e){var t=e.title,a=e.message,r=e.dataset,S=e.onSelect,l=e.onClose,I=i(e,o),A=n.useMemo((function(){return["success","alert","info","error"].includes(I.type)?I.type:"success"}),[I.type]),u=n.useMemo((function(){return"string"==typeof I.icon?I.icon:"success"===A?"checkmark":"error"===A?"close":"info"===A?"about":null}),[A,I.icon]),d=n.useCallback((function(e){e.nativeEvent.selectToastPrevented||"function"!=typeof S||S({type:"select",dataset:r,reactEvent:e,nativeEvent:e.nativeEvent}),e.nativeEvent.closeToastPrevented||"function"!=typeof l||l({type:"close",dataset:r,reactEvent:e,nativeEvent:e.nativeEvent})}),[r,S,l]),c=n.useCallback((function(e){e.nativeEvent.selectToastPrevented=!0,"function"==typeof l&&l({type:"close",dataset:r,reactEvent:e,nativeEvent:e.nativeEvent})}),[r,l]);return n.createElement(T,{className:E(s["toast-item-container"],s[A]),tabIndex:-1,onClick:d},"string"==typeof u&&u.length>0?n.createElement("div",{className:s["icon-container"]},n.createElement(_,{className:s.icon,name:u})):null,n.createElement("div",{className:s["info-container"]},"string"==typeof t&&t.length>0?n.createElement("div",{className:s["title-container"]},t):null,"string"==typeof a&&a.length>0?n.createElement("div",{className:s["message-container"]},a):null),n.createElement(T,{className:s["close-button-container"],title:"Close",tabIndex:-1,onClick:c},n.createElement(_,{className:s.icon,name:"close"})))};S.propTypes={type:r.oneOf(["success","alert","info","error"]),title:r.string,message:r.string,icon:r.string,dataset:r.object,onSelect:r.func,onClose:r.func},e.exports=S},25008:(e,t,a)=>{var o=a(33345);e.exports=o},19076:(e,t,a)=>{function o(){return o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(e[o]=a[o])}return e},o.apply(this,arguments)}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function n(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?i(Object(a),!0).forEach((function(t){r(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):i(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function E(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return _(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return _(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function _(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var T=a(67294),s=a(45697),S=a(25008),l=a(6049),I=function(e){var t=e.className,a=e.children,i=E(T.useState(null),2),r=i[0],_=i[1],s=T.useReducer((function(e,t){switch(t.type){case"add":return e.concat(t.item);case"remove":return e.filter((function(e){return e.id!==t.id}));case"clear":return[];default:return e}}),[]),I=E(s,2),A=I[0],u=I[1],d=T.useCallback((function(e){clearTimeout(e.dataset.id),u({type:"remove",id:e.dataset.id})}),[]),c=T.useMemo((function(){var e=[];return{addFilter:function(t){e.push(t)},removeFilter:function(t){var a=e.indexOf(t);a>-1&&e.splice(a,1)},show:function(t){if(!e.some((function(e){return e(t)}))){var a="number"!=typeof t.timeout||isNaN(t.timeout)?3e3:t.timeout,o=setTimeout((function(){u({type:"remove",id:o})}),a);u({type:"add",item:n(n({},t),{},{id:o,dataset:n(n({},t.dataset),{},{id:o}),onClose:d})})}},clear:function(){u({type:"clear"})}}}),[]);return T.createElement(l.Provider,{value:c},r instanceof HTMLElement?a:null,T.createElement("div",{ref:_,className:t},A.map((function(e,t){return T.createElement(S,o({key:t},e))}))))};I.propTypes={className:s.string,children:s.node},e.exports=I},20018:(e,t,a)=>{var o=a(19076),i=a(17263);e.exports={ToastProvider:o,useToast:i}},17263:(e,t,a)=>{var o=a(67294),i=a(6049);e.exports=function(){return o.useContext(i)}},36014:(e,t,a)=>{var o=a(67294),i=a(45697),n=a(10152),r=a(90729),E=function(e){var t=e.label,a=e.position,i=e.margin,E=void 0===i?15:i,_=n(),T=o.useRef((Math.random()+1).toString(36).substring(7)),s=o.useRef(null),S=function(){_.update(T.current,{active:!0})},l=function(){_.update(T.current,{active:!1})};return o.useEffect((function(){_.update(T.current,{label:t})}),[t]),o.useLayoutEffect((function(){if(s.current&&s.current.parentElement){var e=s.current.parentElement;_.add({id:T.current,label:t,position:a,margin:E,parent:e}),e.addEventListener("mouseenter",S),e.addEventListener("mouseleave",l)}return function(){if(s.current&&s.current.parentElement){var e=s.current.parentElement;e.removeEventListener("mouseenter",S),e.removeEventListener("mouseleave",l),_.remove(T.current)}}}),[]),o.createElement("div",{ref:s,className:r["tooltip-placeholder"]})};E.propTypes={label:i.string.isRequired,position:i.string.isRequired,margin:i.number},e.exports=E},79410:(e,t,a)=>{var o=a(36014);e.exports=o},5494:(e,t,a)=>{var o=(0,a(67294).createContext)(null);e.exports=o},12508:(e,t,a)=>{function o(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return i(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return i(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var n=a(67294),r=a(45697),E=a(94184),_=a(2980),T=n.memo((function(e){var t=e.className,a=e.active,i=e.label,r=e.position,T=e.margin,s=e.parent,S=n.useRef(null),l=o(n.useState(null),2),I=l[0],A=l[1],u=n.useCallback((function(){a||A(null)}),[a]);return n.useEffect((function(){if(!S.current)return A(null);var e=S.current.getBoundingClientRect(),t=s.getBoundingClientRect();switch(r){case"top":return A({top:"".concat(t.top-e.height-T,"px"),left:"".concat(t.left+t.width/2-e.width/2,"px")});case"bottom":return A({top:"".concat(t.top+t.height+T,"px"),left:"".concat(t.left+t.width/2-e.width/2,"px")});case"left":return A({top:"".concat(t.top+t.height/2-e.height/2,"px"),left:"".concat(t.left-e.width-T,"px")});case"right":return A({top:"".concat(t.top+t.height/2-e.height/2,"px"),left:"".concat(t.left+t.width+T,"px")})}}),[a,r,T,s,i]),n.createElement("div",{ref:S,className:E(t,_["tooltip-item"],{active:a}),style:I,onTransitionEnd:u},i)}));T.displayName="TooltipItem",T.propTypes={className:r.string,active:r.bool,label:r.string,position:r.string,margin:r.number,parent:r.instanceOf(HTMLElement)},e.exports=T},97754:(e,t,a)=>{var o=a(12508);e.exports=o},67169:(e,t,a)=>{var o=["id"];function i(){return i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(e[o]=a[o])}return e},i.apply(this,arguments)}function n(e,t){if(null==e)return{};var a,o,i=(function(e,t){if(null==e)return{};var a,o,i={},n=Object.keys(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||(i[a]=e[a]);return i})(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}function r(e){return(function(e){if(Array.isArray(e))return l(e)})(e)||(function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)})(e)||S(e)||(function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function E(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function _(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?E(Object(a),!0).forEach((function(t){T(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):E(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function T(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function s(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||S(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function S(e,t){if(e){if("string"==typeof e)return l(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?l(e,t):void 0}}function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var I=a(67294),A=a(45697),u=a(5494),d=a(97754),c=function(e){var t=e.children,a=e.className,E=s(I.useState([]),2),T=E[0],S=E[1];return I.createElement(u.Provider,{value:{add:function(e){var t=_(_({},e),{},{active:!1});S((function(e){return[].concat(r(e),[t])}))},remove:function(e){S((function(t){return t.filter((function(t){return t.id!==e}))}))},update:function(e,t){S((function(a){return a.map((function(a){return a.id===e&&(a=_(_({},a),t)),a}))}))}}},t,I.createElement("div",{className:"tooltips-items-container"},T.map((function(e){var t=e.id,r=n(e,o);return I.createElement(d,i({key:t,className:a},r))}))))};c.propTypes={children:A.node,className:A.string},e.exports=c},37541:(e,t,a)=>{var o=a(67169),i=a(79410);e.exports={TooltipProvider:o,Tooltip:i}},10152:(e,t,a)=>{var o=a(67294),i=a(5494);e.exports=function(){return o.useContext(i)}},69309:e=>{e.exports=function(e){return function(t,a){return isNaN(e[t])&&isNaN(e[a])?t.localeCompare(a):isNaN(e[t])?e[a]===Number.NEGATIVE_INFINITY?-1:1:isNaN(e[a])?e[t]===Number.NEGATIVE_INFINITY?1:-1:e[a]-e[t]}}},9324:e=>{e.exports=function(e){return Array.from(e.children).reduce((function(t,a,o){return(function(e,t){var a=t.offsetTop,o=t.offsetTop+t.clientHeight,i=e.scrollTop,n=e.scrollTop+e.clientHeight;return a>=i&&o<=n||a<i&&i<o||a<n&&n<o})(e,a)&&(null===t?t={start:o,end:o}:t.end=o),t}),null)}},86590:(e,t,a)=>{var o=a(58512),i=a(6851),n=a(49666),r=a(64853).default,E=a(28809),_=a(63418),T=a(8006),s=a(29872),S=a(35748),l=a(11297),I=a(98277),A=a(73070),u=a(39321),d=a(58253),c=a(53981),O=a(21081).default,R=a(11785),N=R.HorizontalNavBar,m=R.VerticalNavBar,L=a(52391),D=a(85169),p=D.PlatformProvider,h=D.usePlatform,C=a(60926),f=a(9418),B=a(6798),P=a(60861),g=a(89393),v=a(36e3),y=a(86230),W=a(20018),M=W.ToastProvider,b=W.useToast,U=a(37541),G=U.TooltipProvider,k=U.Tooltip,F=a(69309),V=a(52734),H=a(36672),w=H.withCoreSuspender,Y=H.useCoreSuspender,z=a(9324),K=a(75232),x=a(68832),j=a(68803),Q=a(4),X=a(74024),$=a(88489),q=a(47985),J=a(71535),Z=a(7049),ee=a(83760),te=a(50552),ae=a(30432),oe=a(91657),ie=a(13590),ne=a(50586);e.exports={AddonDetailsModal:o,Button:i,Checkbox:n,Chips:r,ColorInput:E,ContinueWatchingItem:_,DelayedRenderer:T,Image:s,LibItem:S,MainNavBars:l,MetaItem:I,MetaPreview:A,MetaRow:u,ModalDialog:d,Multiselect:c,MultiselectMenu:O,HorizontalNavBar:N,VerticalNavBar:m,PaginationInput:L,PlatformProvider:p,usePlatform:h,PlayIconCircleCentered:C,Popup:f,SearchBar:B,StreamingServerWarning:P,SharePrompt:g,Slider:v,TextInput:y,ToastProvider:M,useToast:b,TooltipProvider:G,Tooltip:k,comparatorWithPriorities:F,CONSTANTS:V,withCoreSuspender:w,useCoreSuspender:Y,getVisibleChildrenRange:z,interfaceLanguages:K,languageNames:x,routesRegexp:j,useAnimationFrame:Q,useBinaryState:X,useFullscreen:$,useLiveRef:q,useModelState:J,useNotifications:Z,useOnScrollToBottom:ee,useProfile:te,useStreamingServer:ae,useTorrent:oe,useTranslate:ie,EventModal:ne}},68803:e=>{e.exports={intro:{regexp:/^\/intro$/,urlParamsNames:[]},board:{regexp:/^\/?$/,urlParamsNames:[]},discover:{regexp:/^\/discover(?:\/([^/]*)\/([^/]*)\/([^/]*))?$/,urlParamsNames:["transportUrl","type","catalogId"]},library:{regexp:/^\/library(?:\/([^/]*))?$/,urlParamsNames:["type"]},continuewatching:{regexp:/^\/continuewatching(?:\/([^/]*))?$/,urlParamsNames:["type"]},search:{regexp:/^\/search$/,urlParamsNames:[]},metadetails:{regexp:/^\/(?:metadetails|detail)\/([^/]*)\/([^/]*)(?:\/([^/]*))?$/,urlParamsNames:["type","id","videoId"]},addons:{regexp:/^\/addons(?:\/([^/]*)(?:\/([^/]*)\/([^/]*))?)?$/,urlParamsNames:["type","transportUrl","catalogId"]},settings:{regexp:/^\/settings$/,urlParamsNames:[]},player:{regexp:/^\/player\/([^/]*)(?:\/([^/]*)\/([^/]*)\/([^/]*)\/([^/]*)\/([^/]*))?$/,urlParamsNames:["stream","streamTransportUrl","metaTransportUrl","type","id","videoId"]}}},4:(e,t,a)=>{var o=a(67294);e.exports=function(){var e=o.useRef(null),t=o.useCallback((function(){cancelAnimationFrame(e.current),e.current=null}),[]);return[o.useCallback((function(a){t(),e.current=requestAnimationFrame((function(){a(),e.current=null}))}),[]),t]}},74024:(e,t,a)=>{function o(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return i(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return i(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var n=a(67294);e.exports=function(e){var t=o(n.useState(!!e),2),a=t[0],i=t[1],r=n.useCallback((function(){i(!0)}),[]),E=n.useCallback((function(){i(!1)}),[]),_=n.useCallback((function(){i(!a)}),[a]);return[a,r,E,_]}},88489:(e,t,a)=>{function o(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return i(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return i(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var n=a(67294);e.exports=function(){var e=o(n.useState(document.fullscreenElement===document.documentElement),2),t=e[0],a=e[1],i=n.useCallback((function(){document.documentElement.requestFullscreen()}),[]),r=n.useCallback((function(){document.exitFullscreen()}),[]),E=n.useCallback((function(){t?r():i()}),[t]);return n.useEffect((function(){var e=function(){a(document.fullscreenElement===document.documentElement)};return document.addEventListener("fullscreenchange",e),function(){document.removeEventListener("fullscreenchange",e)}}),[]),[t,i,r,E]}},47985:(e,t,a)=>{var o=a(67294);e.exports=function(e){var t=o.useRef();return t.current=e,t}},71535:(e,t,a)=>{var o=["action"];function i(e,t,a,o,i,n,r){try{var E=e[n](r),_=E.value}catch(e){return void a(e)}E.done?t(_):Promise.resolve(_).then(o,i)}function n(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return r(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return r(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}function E(e,t){if(null==e)return{};var a,o,i=(function(e,t){if(null==e)return{};var a,o,i={},n=Object.keys(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||(i[a]=e[a]);return i})(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}var _=a(67294),T=a(93096),s=a(72307),S=a(20394),l=a(36672).useCoreSuspender,I=a(21665).useRouteFocused,A=a(63662).useServices;e.exports=function(e){var t=e.action,a=E(e,o),r=A().core,u=I(),d=_.useRef(!1),c=n(_.useMemo((function(){return[a.model,a.timeout,a.map,a.deps]}),[]),4),O=c[0],R=c[1],N=c[2],m=c[3],L=l().getState,D=n(_.useReducer((function(e,t){return Object.keys(e).reduce((function(a,o){return a[o]=s(e[o],t[o])?e[o]:t[o],a}),{})}),void 0,(function(){return"function"==typeof N?N(L(O)):L(O)})),2),p=D[0],h=D[1];return _.useInsertionEffect((function(){t&&r.transport.dispatch(t,O)}),[t]),_.useInsertionEffect((function(){return function(){r.transport.dispatch({action:"Unload"},O)}}),[]),_.useInsertionEffect((function(){var e=(function(){var e,t=(e=regeneratorRuntime.mark((function e(t){var a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(-1!==t.indexOf(O)||Array.isArray(m)&&0!==S(m,t).length){e.next=2;break}return e.abrupt("return");case 2:return e.next=4,r.transport.getState(O);case 4:a=e.sent,h("function"==typeof N?N(a):a);case 6:case"end":return e.stop()}}),e)})),function(){var t=this,a=arguments;return new Promise((function(o,n){var r=e.apply(t,a);function E(e){i(r,o,n,E,_,"next",e)}function _(e){i(r,o,n,E,_,"throw",e)}E(void 0)}))});return function(e){return t.apply(this,arguments)}})(),t=T(e,R);return u&&(r.transport.on("NewState",t),d.current&&e([O])),function(){t.cancel(),r.transport.off("NewState",t)}}),[u]),_.useInsertionEffect((function(){d.current=!0}),[]),p}},7049:(e,t,a)=>{var o=a(71535),i=function(e){return e.notifications};e.exports=function(){return o({model:"ctx",map:i})}},83760:(e,t,a)=>{var o=a(67294);e.exports=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,a=o.useRef(!1),i=o.useCallback((function(o){o.target.scrollTop+o.target.clientHeight>=o.target.scrollHeight-t?a.current||(a.current=!0,"function"==typeof e&&e(o)):a.current=!1}),[e]);return i}},43224:(e,t,a)=>{var o=a(67294);e.exports=function(){return o.useMemo((function(){return[window.navigator.standalone,window.matchMedia("(display-mode: standalone)").matches]}),[])}},50552:(e,t,a)=>{function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?o(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):o(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}var r=a(71535),E=function(e){return i(i({},e.profile),{},{settings:i(i({},e.profile.settings),{},{streamingServerWarningDismissed:new Date("string"==typeof e.profile.settings.streamingServerWarningDismissed?e.profile.settings.streamingServerWarningDismissed:NaN)})})};e.exports=function(){return r({model:"ctx",map:E})}},30432:(e,t,a)=>{var o=a(71535);e.exports=function(){return o({model:"streaming_server"})}},91657:(e,t,a)=>{function o(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return i(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return i(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var n=a(67294),r=a(49566),E=a(63662).useServices,_=a(17263),T=a(30432);e.exports=function(){var e=E().core,t=T(),a=_(),i=n.useRef(null),s=n.useCallback((function(t){var o=r.decode(t);o&&"string"==typeof o.infoHash&&(e.transport.dispatch({action:"StreamingServer",args:{action:"CreateTorrent",args:t}}),clearTimeout(i.current),i.current=setTimeout((function(){a.show({type:"error",title:"It's taking a long time to get metadata from the torrent.",timeout:1e4})}),1e4))}),[]);return n.useEffect((function(){null!==t.torrent&&("Ready"===o(t.torrent,2)[1].type&&clearTimeout(i.current))}),[t.torrent]),n.useEffect((function(){return function(){return clearTimeout(i.current)}}),[]),{createTorrentFromMagnet:s}}},13590:(e,t,a)=>{var o=a(67294).useCallback,i=a(81468).useTranslation;e.exports=function(){var e=i().t,t=o((function(t){return e(t)}),[e]),a=o((function(t,a){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i="".concat(a).concat(t),n=null!=o?o:t.charAt(0).toUpperCase()+t.slice(1);return e(i,{defaultValue:n})}),[e]),n=o((function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.addon,o=e.id,i=e.name,n=e.type,r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(t&&o&&i){var E="".concat(t.manifest.id.split(".").join("_"),"_").concat(o),_=a(E,"CATALOG_",i);if(n&&r){var T=a(n,"TYPE_");return"".concat(_," - ").concat(T)}return _}return null}),[a]);return{string:t,stringWithPrefix:a,catalogTitle:n}}},49900:(e,t,a)=>{var o=["className","autoFocus","disabled","children"];function i(e,t){if(null==e)return{};var a,o,i=(function(e,t){if(null==e)return{};var a,o,i={},n=Object.keys(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||(i[a]=e[a]);return i})(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}var n=a(67294),r=a(73935),E=a(45697),_=a(94184),T=a(56413).ZP,s=a(98795).useModalsContainer,S=n.forwardRef((function(e,t){var a=e.className,E=e.autoFocus,S=e.disabled,l=e.children,I=i(e,o),A=s();return r.createPortal(n.createElement(T,{ref:t,className:_(a,"modal-container"),autoFocus:!!E,disabled:!!S,lockProps:I},l),A)}));S.displayName="Modal",S.propTypes={className:E.string,autoFocus:E.bool,disabled:E.bool,children:E.node},e.exports=S},65717:(e,t,a)=>{var o=a(49900);e.exports=o},57033:(e,t,a)=>{var o=a(67294).createContext(null);o.displayName="ModalsContainerContext",e.exports=o},50115:(e,t,a)=>{function o(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return i(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return i(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var n=a(67294),r=a(45697),E=a(57033),_=function(e){var t=e.children,a=o(n.useState(null),2),i=a[0],r=a[1];return n.createElement(E.Provider,{value:i},i instanceof HTMLElement?t:null,n.createElement("div",{ref:r,className:"modals-container"}))};_.propTypes={children:r.node},e.exports=_},98795:(e,t,a)=>{var o=a(50115),i=a(94163);e.exports={ModalsContainerProvider:o,useModalsContainer:i}},94163:(e,t,a)=>{var o=a(67294),i=a(57033);e.exports=function(){return o.useContext(i)}},59314:(e,t,a)=>{var o=a(67294),i=a(45697),n=a(98795).ModalsContainerProvider,r=function(e){var t=e.children;return o.createElement("div",{className:"route-container"},o.createElement(n,null,o.createElement("div",{className:"route-content"},t)))};r.propTypes={children:i.node},e.exports=r},4777:(e,t,a)=>{var o=a(59314);e.exports=o},9010:(e,t,a)=>{var o=a(67294).createContext(!0);o.displayName="RouteFocusedContext",e.exports=o},16267:(e,t,a)=>{var o=a(9010),i=a(71517);e.exports={RouteFocusedProvider:o.Provider,useRouteFocused:i}},71517:(e,t,a)=>{var o=a(67294),i=a(9010);e.exports=function(){return o.useContext(i)}},88968:(e,t,a)=>{var o=["className","onPathNotMatch","onRouteChange"];function i(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return n(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return n(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function n(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}function r(e,t){if(null==e)return{};var a,o,i=(function(e,t){if(null==e)return{};var a,o,i={},n=Object.keys(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||(i[a]=e[a]);return i})(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}var E=a(67294),_=a(59864),T=a(45697),s=a(94184),S=a(8575),l=a(72307),I=a(16267).RouteFocusedProvider,A=a(4777),u=a(33295),d=a(10598),c=function(e){var t=e.className,a=e.onPathNotMatch,n=e.onRouteChange,T=r(e,o),c=E.useMemo((function(){return T.viewsConfig}),[]),O=i(E.useState((function(){return Array(c.length).fill(null)})),2),R=O[0],N=O[1];return E.useLayoutEffect((function(){var e=function(){var e=S.parse(window.location.hash.slice(1)),t=e.pathname,o=e.query,i=new URLSearchParams("string"==typeof o?o:""),r=u(c,"string"==typeof t?t:"");if(null!==r){var E=d(r,"string"==typeof t?t:""),T=c.findIndex((function(e){return e.includes(r)})),s=c[T].findIndex((function(e){return e===r}));"function"==typeof n&&n(r,E,i)||N((function(e){return e.slice(0,c.length).map((function(e,t){return t<T?e:t===T?{key:"".concat(T).concat(s),component:r.component,urlParams:null!==e&&l(e.urlParams,E)?e.urlParams:E,queryParams:null!==e&&l(Array.from(e.queryParams.entries()),Array.from(i.entries()))?e.queryParams:i}:null}))}))}else if("function"==typeof a){var I=a();_.isValidElementType(I)&&N((function(e){return e.slice(0,c.length).concat({key:"-1",component:I})}))}};return window.addEventListener("hashchange",e),e(),function(){window.removeEventListener("hashchange",e)}}),[a,n]),E.createElement("div",{className:s(t,"routes-container")},R.filter((function(e){return null!==e})).map((function(e,t,a){var o=e.key,i=e.component,n=e.urlParams,r=e.queryParams;return E.createElement(I,{key:o,value:t===a.length-1},E.createElement(A,null,E.createElement(i,{urlParams:n,queryParams:r})))})))};c.propTypes={className:T.string,onPathNotMatch:T.func,onRouteChange:T.func,viewsConfig:T.arrayOf(T.arrayOf(T.exact({regexp:T.instanceOf(RegExp).isRequired,urlParamsNames:T.arrayOf(T.string).isRequired,component:T.elementType.isRequired}))).isRequired},e.exports=c},16013:(e,t,a)=>{var o=a(88968);e.exports=o},33295:e=>{function t(e,t){var o="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!o){if(Array.isArray(e)||(o=(function(e,t){if(!e)return;if("string"==typeof e)return a(e,t);var o=Object.prototype.toString.call(e).slice(8,-1);"Object"===o&&e.constructor&&(o=e.constructor.name);if("Map"===o||"Set"===o)return Array.from(e);if("Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o))return a(e,t)})(e))||t&&e&&"number"==typeof e.length){o&&(e=o);var i=0,n=function(){};return{s:n,n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:n}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,E=!0,_=!1;return{s:function(){o=o.call(e)},n:function(){var e=o.next();return E=e.done,e},e:function(e){_=!0,r=e},f:function(){try{E||null==o.return||o.return()}finally{if(_)throw r}}}}function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}e.exports=function(e,a){var o,i=t(e);try{for(i.s();!(o=i.n()).done;){var n,r=t(o.value);try{for(r.s();!(n=r.n()).done;){var E=n.value;if(a.match(E.regexp))return E}}catch(e){r.e(e)}finally{r.f()}}}catch(e){i.e(e)}finally{i.f()}return null}},10598:e=>{e.exports=function(e,t){var a=t.match(e.regexp);return e.urlParamsNames.reduce((function(e,t,o){return Array.isArray(a)&&"string"==typeof a[o+1]?e[t]=decodeURIComponent(a[o+1]):e[t]=null,e}),{path:t})}},21665:(e,t,a)=>{var o=a(16267).useRouteFocused,i=a(98795).useModalsContainer,n=a(65717),r=a(16013);e.exports={useRouteFocused:o,useModalsContainer:i,Modal:n,Router:r}},92788:(e,t,a)=>{var o=a(67294),i=a(45697),n=a(94184),r=a(81468).useTranslation,E=a(95985).default,_=a(86590),T=_.Button,s=_.Image,S=a(58658),l=function(e){var t=e.className,a=e.id,i=e.name,_=e.version,l=e.logo,I=e.description,A=e.types,u=e.behaviorHints,d=e.installed,c=e.onToggle,O=e.onConfigure,R=e.onShare,N=e.dataset,m=r().t,L=o.useCallback((function(e){"function"==typeof c&&c({type:"toggle",nativeEvent:e.nativeEvent,reactEvent:e,dataset:N})}),[c,N]),D=o.useCallback((function(e){"function"==typeof O&&O({type:"configure",nativeEvent:e.nativeEvent,reactEvent:e,dataset:N})}),[O,N]),p=o.useCallback((function(e){"function"==typeof R&&R({type:"share",nativeEvent:e.nativeEvent,reactEvent:e,dataset:N})}),[R,N]),h=o.useCallback((function(e){"Enter"===e.key&&"function"==typeof c&&c({type:"toggle",nativeEvent:e.nativeEvent,reactEvent:e,dataset:N})}),[c,N]),C=o.useCallback((function(){return o.createElement(E,{className:S.icon,name:"addons"})}),[]);return o.createElement(T,{className:n(t,S["addon-container"]),onKeyDown:h},o.createElement("div",{className:S["logo-container"]},o.createElement(s,{className:S.logo,src:l,alt:" ",renderFallback:C})),o.createElement("div",{className:S["info-container"]},o.createElement("div",{className:S["name-container"],title:"string"==typeof i&&i.length>0?i:a},"string"==typeof i&&i.length>0?i:a),"string"==typeof _&&_.length>0?o.createElement("div",{className:S["version-container"],title:"v.".concat(_)},"v.",_):null,Array.isArray(A)&&A.length>0?o.createElement("div",{className:S["types-container"]},1===A.length?A.join(""):A.slice(0,-1).join(", ")+" & "+A[A.length-1]):null,"string"==typeof I&&I.length>0?o.createElement("div",{className:S["description-container"],title:I},I):null),o.createElement("div",{className:S["buttons-container"]},o.createElement("div",{className:S["action-buttons-container"]},!u.configurationRequired&&u.configurable?o.createElement(T,{className:S["configure-button-container"],title:m("ADDON_CONFIGURE"),tabIndex:-1,onClick:D},o.createElement(E,{className:S.icon,name:"settings"})):null,o.createElement(T,{className:d?S["uninstall-button-container"]:S["install-button-container"],title:d?m("ADDON_UNINSTALL"):u.configurationRequired?m("ADDON_CONFIGURE"):m("ADDON_INSTALL"),tabIndex:-1,onClick:!d&&u.configurationRequired?D:L},o.createElement("div",{className:S.label},d?m("ADDON_UNINSTALL"):u.configurationRequired?m("ADDON_CONFIGURE"):m("ADDON_INSTALL")))),o.createElement(T,{className:S["share-button-container"],title:m("SHARE_ADDON"),tabIndex:-1,onClick:p},o.createElement(E,{className:S.icon,name:"share"}),o.createElement("div",{className:S.label},m("SHARE_ADDON")))))};l.propTypes={className:i.string,id:i.string,name:i.string,version:i.string,logo:i.string,description:i.string,types:i.arrayOf(i.string),behaviorHints:i.shape({adult:i.bool,configurable:i.bool,configurationRequired:i.bool,p2p:i.bool}),installed:i.bool,onToggle:i.func,onConfigure:i.func,onShare:i.func,dataset:i.object},e.exports=l},84845:(e,t,a)=>{var o=a(92788);e.exports=o},92994:(e,t,a)=>{function o(){return o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(e[o]=a[o])}return e},o.apply(this,arguments)}function i(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return n(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return n(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function n(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var r=a(67294),E=a(45697),_=a(94184),T=a(81468).useTranslation,s=a(95985).default,S=a(86590),l=S.AddonDetailsModal,I=S.Button,A=S.Image,u=S.Multiselect,d=S.MainNavBars,c=S.TextInput,O=S.SearchBar,R=S.SharePrompt,N=S.ModalDialog,m=S.usePlatform,L=S.useBinaryState,D=S.withCoreSuspender,p=a(84845),h=a(68061),C=a(8916),f=a(60290),B=a(40146),P=a(16795),g=function(e){var t=e.urlParams,a=e.queryParams,n=T().t,E=m(),S=h(t),D=C(t),g=i(f(t,a),2),v=g[0],y=g[1],W=B(S,D),M=i(L(!1),3),b=M[0],U=M[1],G=M[2],k=i(L(!1),3),F=k[0],V=k[1],H=k[2],w=r.useRef(null),Y=r.useCallback((function(){null!==w.current&&y(w.current.value)}),[y]),z=r.useMemo((function(){return[{className:P["cancel-button"],label:n("BUTTON_CANCEL"),props:{onClick:H}},{label:n("ADDON_ADD"),props:{onClick:Y}}]}),[Y]),K=i(r.useState(""),2),x=K[0],j=K[1],Q=r.useCallback((function(e){j(e.currentTarget.value)}),[]),X=i(r.useState(null),2),$=X[0],q=X[1],J=r.useCallback((function(){q(null)}),[]),Z=r.useCallback((function(e){q(e.dataset.addon)}),[]),ee=r.useCallback((function(e){y(e.dataset.addon.transportUrl)}),[y]),te=r.useCallback((function(e){E.openExternal(e.dataset.addon.transportUrl.replace("manifest.json","configure"))}),[]),ae=r.useCallback((function(){y(null)}),[y]),oe=r.useCallback((function(e){return 0===x.length||"string"==typeof e.manifest.name&&e.manifest.name.toLowerCase().includes(x.toLowerCase())||"string"==typeof e.manifest.description&&e.manifest.description.toLowerCase().includes(x.toLowerCase())}),[x]),ie=r.useCallback((function(){return r.createElement(s,{className:P.icon,name:"addons"})}),[]);return r.useLayoutEffect((function(){H(),j(""),J()}),[t,a]),r.createElement(d,{className:P["addons-container"],route:"addons"},r.createElement("div",{className:P["addons-content"]},r.createElement("div",{className:P["selectable-inputs-container"]},W.map((function(e,t){return r.createElement(u,o({},e,{key:t,className:P["select-input-container"]}))})),r.createElement("div",{className:P.spacing}),r.createElement(I,{className:P["add-button-container"],title:n("ADD_ADDON"),onClick:V},r.createElement(s,{className:P.icon,name:"add"}),r.createElement("div",{className:P["add-button-label"]},n("ADD_ADDON"))),r.createElement(O,{className:P["search-bar"],title:n("ADDON_SEARCH"),value:x,onChange:Q}),r.createElement(I,{className:P["filter-button"],title:"All filters",onClick:U},r.createElement(s,{className:P["filter-icon"],name:"filters"}))),null!==S.selected?0===S.selectable.types.length?r.createElement("div",{className:P["message-container"]},"No addons ware installed!"):0===S.catalog.length?r.createElement("div",{className:P["message-container"]},"No addons ware installed for that type!"):r.createElement("div",{className:P["addons-list-container"]},S.catalog.filter(oe).map((function(e,t){return r.createElement(p,{key:t,className:_(P.addon,"animation-fade-in"),id:e.manifest.id,name:e.manifest.name,version:e.manifest.version,logo:e.manifest.logo,description:e.manifest.description,types:e.manifest.types,behaviorHints:e.manifest.behaviorHints,installed:e.installed,onToggle:ee,onConfigure:te,onShare:Z,dataset:{addon:e}})}))):null!==D.selected?"Err"===D.catalog.content.type?r.createElement("div",{className:P["message-container"]},D.catalog.content.content):"Loading"===D.catalog.content.type?r.createElement("div",{className:P["message-container"]},"Loading!"):r.createElement("div",{className:P["addons-list-container"]},D.catalog.content.content.filter(oe).map((function(e,t){return r.createElement(p,{key:t,className:_(P.addon,"animation-fade-in"),id:e.manifest.id,name:e.manifest.name,version:e.manifest.version,logo:e.manifest.logo,description:e.manifest.description,types:e.manifest.types,behaviorHints:e.manifest.behaviorHints,installed:e.installed,onToggle:ee,onConfigure:te,onShare:Z,dataset:{addon:e}})}))):r.createElement("div",{className:P["message-container"]},"No select")),b?r.createElement(N,{title:"Addons filters",className:P["filters-modal"],onCloseRequest:G},W.map((function(e,t){return r.createElement(u,o({},e,{key:t,className:P["select-input-container"]}))}))):null,F?r.createElement(N,{className:P["add-addon-modal-container"],title:n("ADD_ADDON"),buttons:z,onCloseRequest:H},r.createElement("div",{className:P.notice},n("ADD_ADDON_DESCRIPTION")),r.createElement(c,{ref:w,className:P["addon-url-input"],type:"text",placeholder:n("PASTE_ADDON_URL"),autoFocus:!0,onSubmit:Y})):null,null!==$?r.createElement(N,{className:P["share-modal-container"],title:n("SHARE_ADDON"),onCloseRequest:J},r.createElement("div",{className:P["title-container"]},r.createElement(A,{className:P.logo,src:$.manifest.logo,alt:" ",renderFallback:ie}),r.createElement("div",{className:P["name-container"]},r.createElement("span",{className:P.name},"string"==typeof $.manifest.name&&$.manifest.name.length>0?$.manifest.name:$.manifest.id),"string"==typeof $.manifest.version&&$.manifest.version.length>0?r.createElement("span",{className:P.version},"v. ",$.manifest.version):null)),r.createElement(R,{className:P["share-prompt-container"],url:$.transportUrl})):null,"string"==typeof v?r.createElement(l,{transportUrl:v,onCloseRequest:ae}):null)};g.propTypes={urlParams:E.shape({path:E.string,transportUrl:E.string,catalogId:E.string,type:E.string}),queryParams:E.instanceOf(URLSearchParams)};e.exports=D(g,(function(){return r.createElement(d,{className:P["addons-container"],route:"addons"})}))},57165:(e,t,a)=>{var o=a(92994);e.exports=o},60290:(e,t,a)=>{var o=a(67294);e.exports=function(e,t){var a=o.useMemo((function(){return t.get("addon")}),[t]),i=o.useCallback((function(a){var o=new URLSearchParams(t);"string"==typeof a?o.set("addon",a):o.delete("addon"),window.location.replace("#".concat(e.path,"?").concat(o))}),[e,t]);return[a,i]}},68061:(e,t,a)=>{var o=a(67294),i=a(86590).useModelState;e.exports=function(e){var t=o.useMemo((function(){return"string"!=typeof e.transportUrl&&"string"!=typeof e.catalogId?{action:"Load",args:{model:"InstalledAddonsWithFilters",args:{request:{type:"string"==typeof e.type?e.type:null}}}}:{action:"Unload"}}),[e]);return i({model:"installed_addons",action:t})}},8916:(e,t,a)=>{var o=a(67294),i=a(86590).useModelState;e.exports=function(e){var t=o.useMemo((function(){return"string"==typeof e.type&&"string"==typeof e.transportUrl&&"string"==typeof e.catalogId?{action:"Load",args:{model:"CatalogWithFilters",args:{request:{base:e.transportUrl,path:{resource:"addon_catalog",type:e.type,id:e.catalogId,extra:[]}}}}}:{action:"Unload"}}),[e]);return i({model:"remote_addons",action:t,deps:["ctx"]})}},40146:(e,t,a)=>{var o=a(67294),i=a(86590).useTranslate;e.exports=function(e,t){var a=i(),n=o.useMemo((function(){return(function(e,t,a){var o={title:a.string("SELECT_CATALOG"),options:t.selectable.catalogs.concat(e.selectable.catalogs).map((function(e){var t=e.name;return{value:e.deepLinks.addons,label:a.stringWithPrefix(t,"ADDON_"),title:a.stringWithPrefix(t,"ADDON_")}})),selected:t.selectable.catalogs.concat(e.selectable.catalogs).filter((function(e){return e.selected})).map((function(e){return e.deepLinks.addons})),renderLabelText:null!==t.selected?function(){var e=t.selectable.catalogs.find((function(e){return e.id===t.selected.request.path.id}));return e?a.stringWithPrefix(e.name,"ADDON_"):t.selected.request.path.id}:null,onSelect:function(e){window.location=e.value}},i={title:a.string("SELECT_TYPE"),options:null!==e.selected?e.selectable.types.map((function(e){var t=e.type;return{value:e.deepLinks.addons,label:null!==t?a.stringWithPrefix(t,"TYPE_"):a.string("TYPE_ALL")}})):t.selectable.types.map((function(e){var t=e.type;return{value:e.deepLinks.addons,label:a.stringWithPrefix(t,"TYPE_")}})),selected:null!==e.selected?e.selectable.types.filter((function(e){return e.selected})).map((function(e){return e.deepLinks.addons})):t.selectable.types.filter((function(e){return e.selected})).map((function(e){return e.deepLinks.addons})),renderLabelText:function(){return null!==e.selected?null===e.selected.request.type?a.string("TYPE_ALL"):a.stringWithPrefix(e.selected.request.type,"TYPE_"):null!==t.selected?a.stringWithPrefix(t.selected.request.path.type,"TYPE_"):i.title},onSelect:function(e){window.location=e.value}};return[o,i]})(e,t,a)}),[e,t]);return n}},1180:(e,t,a)=>{function o(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return i(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return i(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var n=a(67294),r=a(94184),E=a(91296),_=a(81468).useTranslation,T=a(86590),s=T.MainNavBars,S=T.MetaRow,l=T.ContinueWatchingItem,I=T.MetaItem,A=T.StreamingServerWarning,u=T.useStreamingServer,d=T.useNotifications,c=T.withCoreSuspender,O=T.getVisibleChildrenRange,R=T.EventModal,N=a(76981),m=a(82916),L=a(85846);e.exports=c((function(){var e=_().t,t=u(),a=m(),i=o(N(),2),T=i[0],c=i[1],D=d(),p=a.items.length>0?1:0,h=n.useRef(),C=n.useCallback((function(){var e=O(h.current);if(null!==e){var t=Math.max(0,e.start-p-5),a=e.end-p+5;a<t||c({start:t,end:a})}}),[p]),f=n.useCallback(E(C,250),[C]);return n.useLayoutEffect((function(){C()}),[T.catalogs,C]),n.createElement("div",{className:L["board-container"]},n.createElement(R,null),n.createElement(s,{className:L["board-content-container"],route:"board"},n.createElement("div",{ref:h,className:L["board-content"],onScroll:f},a.items.length>0?n.createElement(S,{className:r(L["board-row"],L["continue-watching-row"],"animation-fade-in"),title:e("BOARD_CONTINUE_WATCHING"),catalog:a,itemComponent:l,notifications:D}):null,T.catalogs.map((function(e,t){var a;switch(null===(a=e.content)||void 0===a?void 0:a.type){case"Ready":return n.createElement(S,{key:t,className:r(L["board-row"],L["board-row-".concat(e.content.content[0].posterShape)],"animation-fade-in"),catalog:e,itemComponent:I});case"Err":return n.createElement(S,{key:t,className:r(L["board-row"],"animation-fade-in"),catalog:e,message:e.content.content});default:return n.createElement(S.Placeholder,{key:t,className:r(L["board-row"],L["board-row-poster"],"animation-fade-in"),catalog:e})}})))),null!==t.settings&&"Err"===t.settings.type?n.createElement(A,{className:L["board-warning-container"]}):null)}),(function(){return n.createElement("div",{className:L["board-container"]},n.createElement(s,{className:L["board-content-container"],route:"board"}))}))},88823:(e,t,a)=>{var o=a(1180);e.exports=o},76981:(e,t,a)=>{var o=a(67294),i=a(63662).useServices,n=a(86590).useModelState;e.exports=function(){var e=i().core,t=o.useMemo((function(){return{action:"Load",args:{model:"CatalogsWithExtra",args:{extra:[]}}}}),[]),a=o.useCallback((function(t){e.transport.dispatch({action:"CatalogsWithExtra",args:{action:"LoadRange",args:t}},"board")}),[]);return[n({model:"board",action:t}),a]}},82916:(e,t,a)=>{var o=a(86590).useModelState;e.exports=function(){return o({model:"continue_watching_preview"})}},69694:(e,t,a)=>{function o(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return i(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return i(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var n=a(67294),r=a(45697),E=a(94184),_=a(95985).default,T=a(63662).useServices,s=a(86590),S=s.AddonDetailsModal,l=s.DelayedRenderer,I=s.Button,A=s.MainNavBars,u=s.MetaItem,d=s.Image,c=s.MetaPreview,O=s.Multiselect,R=s.ModalDialog,N=s.CONSTANTS,m=s.useBinaryState,L=s.useOnScrollToBottom,D=s.withCoreSuspender,p=a(30083),h=a(88674),C=a(63276),f=function(e){var t=e.urlParams,i=e.queryParams,r=T().core,s=o(p(t,i),2),D=s[0],f=s[1],B=o(h(D),2),P=B[0],g=B[1],v=o(m(!1),3),y=v[0],W=v[1],M=v[2],b=o(m(!1),3),U=b[0],G=b[1],k=b[2],F=o(n.useState(0),2),V=F[0],H=F[1],w=n.useRef();n.useEffect((function(){var e;"Loading"===(null===(e=D.catalog)||void 0===e?void 0:e.content.type)&&(w.current.scrollTop=0)}),[D.catalog]);var Y=n.useMemo((function(){return null!==D.catalog&&"Ready"===D.catalog.content.type&&D.catalog.content.content[V]?D.catalog.content.content[V]:null}),[D.catalog,V]),z=n.useCallback((function(){null!==Y&&r.transport.dispatch({action:"Ctx",args:{action:"AddToLibrary",args:Y}})}),[Y]),K=n.useCallback((function(){null!==Y&&r.transport.dispatch({action:"Ctx",args:{action:"RemoveFromLibrary",args:Y.id}})}),[Y]),x=n.useCallback((function(e){null===e.target.dataset.index||isNaN(e.target.dataset.index)||H(parseInt(e.target.dataset.index,10))}),[]),j=n.useCallback((function(e){e.currentTarget.dataset.index!==V.toString()&&(e.preventDefault(),e.currentTarget.focus())}),[V]),Q=n.useCallback((function(){g&&f()}),[g,f]),X=L(Q,400);return n.useEffect((function(){M(),k(),H(0)}),[D.selected]),n.createElement(A,{className:C["discover-container"],route:"discover"},n.createElement("div",{className:C["discover-content"]},n.createElement("div",{className:C["catalog-container"]},n.createElement("div",{className:C["selectable-inputs-container"]},P.map((function(e,t){var a=e.title,o=e.options,i=e.selected,r=e.renderLabelText,E=e.onSelect;return n.createElement(O,{key:t,className:C["select-input"],title:a,options:o,selected:i,renderLabelText:r,onSelect:E})})),n.createElement(I,{className:C["filter-container"],title:"All filters",onClick:W},n.createElement(_,{className:C["filter-icon"],name:"filters"}))),null===D.catalog||D.catalog.installed?null:n.createElement("div",{className:C["missing-addon-warning-container"]},n.createElement("div",{className:C["warning-label"]},"Addon is not installed. Install now?"),n.createElement(I,{className:C["install-button"],title:"Install addon",onClick:G},n.createElement("div",{className:C.label},"Install"))),null===D.catalog?n.createElement(l,{delay:500},n.createElement("div",{className:C["message-container"]},n.createElement(d,{className:C.image,src:a(47740),alt:" "}),n.createElement("div",{className:C["message-label"]},"No catalog selected!"))):"Err"===D.catalog.content.type?n.createElement("div",{className:C["message-container"]},n.createElement(d,{className:C.image,src:a(47740),alt:" "}),n.createElement("div",{className:C["message-label"]},D.catalog.content.content)):"Loading"===D.catalog.content.type?n.createElement("div",{ref:w,className:E(C["meta-items-container"],"animation-fade-in")},Array(N.CATALOG_PAGE_SIZE).fill(null).map((function(e,t){return n.createElement("div",{key:t,className:C["meta-item-placeholder"]},n.createElement("div",{className:C["poster-container"]}),n.createElement("div",{className:C["title-bar-container"]},n.createElement("div",{className:C["title-label"]})))}))):n.createElement("div",{ref:w,className:E(C["meta-items-container"],"animation-fade-in"),onScroll:X,onFocusCapture:x},D.catalog.content.content.map((function(e,t){return n.createElement(u,{key:t,className:E({selected:V===t}),type:e.type,name:e.name,poster:e.poster,posterShape:e.posterShape,playname:V===t,deepLinks:e.deepLinks,watched:e.watched,"data-index":t,onClick:j})})))),null!==Y?n.createElement(c,{className:C["meta-preview-container"],compact:!0,name:Y.name,logo:Y.logo,background:Y.poster,runtime:Y.runtime,releaseInfo:Y.releaseInfo,released:Y.released,description:Y.description,links:Y.links,deepLinks:Y.deepLinks,trailerStreams:Y.trailerStreams,inLibrary:Y.inLibrary,toggleInLibrary:Y.inLibrary?K:z}):null!==D.catalog&&"Loading"===D.catalog.content.type?n.createElement("div",{className:C["meta-preview-container"]}):null),y?n.createElement(R,{title:"Catalog filters",className:C["selectable-inputs-modal"],onCloseRequest:M},P.map((function(e,t){var a=e.title,o=e.options,i=e.selected,r=e.renderLabelText,E=e.onSelect;return n.createElement(O,{key:t,className:C["select-input"],title:a,options:o,selected:i,renderLabelText:r,onSelect:E})}))):null,U&&null!==D.selected?n.createElement(S,{transportUrl:D.selected.request.base,onCloseRequest:k}):null)};f.propTypes={urlParams:r.shape({transportUrl:r.string,type:r.string,catalogId:r.string}),queryParams:r.instanceOf(URLSearchParams)};e.exports=D(f,(function(){return n.createElement(A,{className:C["discover-container"],route:"discover"})}))},21901:(e,t,a)=>{var o=a(69694);e.exports=o},30083:(e,t,a)=>{function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?o(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):o(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}var r=a(67294),E=a(8575),_=a(63662).useServices,T=a(86590).useModelState,s=function(e){return i(i({},e),{},{catalog:null!==e.catalog&&"Ready"===e.catalog.content.type?i(i({},e.catalog),{},{content:i(i({},e.catalog.content),{},{content:e.catalog.content.content.map((function(e){return i(i({},e),{},{released:new Date("string"==typeof e.released?e.released:NaN)})}))})}):e.catalog})};e.exports=function(e,t){var a=_().core,o=r.useCallback((function(){a.transport.dispatch({action:"CatalogWithFilters",args:{action:"LoadNextPage"}},"discover")}),[]),i=r.useMemo((function(){if("string"!=typeof e.transportUrl||"string"!=typeof e.type||"string"!=typeof e.catalogId)return{action:"Load",args:{model:"CatalogWithFilters",args:null}};var a=E.parse(e.transportUrl).hostname;return"string"==typeof a&&a.length>0?{action:"Load",args:{model:"CatalogWithFilters",args:{request:{base:e.transportUrl,path:{resource:"catalog",type:e.type,id:e.catalogId,extra:Array.from(t.entries())}}}}}:{action:"Unload"}}),[e,t]);return[T({model:"discover",action:i,map:s,deps:["ctx"]}),o]}},88674:(e,t,a)=>{function o(e){return(function(e){if(Array.isArray(e))return i(e)})(e)||(function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)})(e)||(function(e,t){if(!e)return;if("string"==typeof e)return i(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return i(e,t)})(e)||(function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var n=a(67294),r=a(86590).useTranslate;e.exports=function(e){var t=r(),a=n.useMemo((function(){return(function(e,t){var a={title:t.string("SELECT_TYPE"),options:e.selectable.types.map((function(e){var a=e.type;return{value:e.deepLinks.discover,label:t.stringWithPrefix(a,"TYPE_")}})),selected:e.selectable.types.filter((function(e){return e.selected})).map((function(e){return e.deepLinks.discover})),renderLabelText:null!==e.selected?function(){return t.stringWithPrefix(e.selected.request.path.type,"TYPE_")}:null,onSelect:function(e){window.location=e.value}},i={title:t.string("SELECT_CATALOG"),options:e.selectable.catalogs.map((function(e){var a=e.id,o=e.name,i=e.addon;return{value:e.deepLinks.discover,label:t.catalogTitle({addon:i,id:a,name:o}),title:"".concat(o," (").concat(i.manifest.name,")")}})),selected:e.selectable.catalogs.filter((function(e){return e.selected})).map((function(e){return e.deepLinks.discover})),renderLabelText:null!==e.selected?function(){var a=e.selectable.catalogs.find((function(t){return t.id===e.selected.request.path.id}));return a?t.catalogTitle(a,!1):e.selected.request.path.id}:null,onSelect:function(e){window.location=e.value}},n=e.selectable.extra.map((function(e){var a=e.name,o=e.isRequired,i=e.options;return{title:t.stringWithPrefix(a,"SELECT_"),isRequired:o,options:i.map((function(e){var a=e.value,o=e.deepLinks;return{label:"string"==typeof a?t.stringWithPrefix(a):t.string("NONE"),value:JSON.stringify({href:o.discover,value:a})}})),selected:i.filter((function(e){return e.selected})).map((function(e){var t=e.value,a=e.deepLinks;return JSON.stringify({href:a.discover,value:t})})),renderLabelText:i.some((function(e){var t=e.selected,a=e.value;return t&&null===a}))?function(){return t.stringWithPrefix(a,"SELECT_")}:null,onSelect:function(e){var t=JSON.parse(e.value).href;window.location=t}}}));return[[a,i].concat(o(n)),e.selectable.nextPage]})(e,t)}),[e.selected,e.selectable]);return a}},82759:(e,t,a)=>{var o=["className","label","link","href","onToggle"];function i(){return i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(e[o]=a[o])}return e},i.apply(this,arguments)}function n(e,t){if(null==e)return{};var a,o,i=(function(e,t){if(null==e)return{};var a,o,i={},n=Object.keys(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||(i[a]=e[a]);return i})(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}var r=a(67294),E=a(45697),_=a(94184),T=a(86590),s=T.Button,S=T.Checkbox,l=a(705),I=r.forwardRef((function(e,t){var a=e.className,E=e.label,T=e.link,I=e.href,A=e.onToggle,u=n(e,o),d=r.useCallback((function(e){"function"==typeof u.onClick&&u.onClick(e),e.nativeEvent.togglePrevented||"function"!=typeof A||A({type:"toggle",reactEvent:e,nativeEvent:e.nativeEvent})}),[A,u.onClick]),c=r.useCallback((function(e){e.nativeEvent.togglePrevented=!0}),[]);return r.createElement(S,i({},u,{ref:t,className:_(a,l["consent-checkbox-container"]),onClick:d}),r.createElement("div",{className:l.label},E," ","string"==typeof T&&T.length>0&&"string"==typeof I&&I.length>0?r.createElement(s,{className:l.link,href:I,target:"_blank",tabIndex:-1,onClick:c},T):null))}));I.displayName="ConsentCheckbox",I.propTypes={className:E.string,checked:E.bool,label:E.string,link:E.string,href:E.string,onToggle:E.func,onClick:E.func},e.exports=I},6050:(e,t,a)=>{var o=a(82759);e.exports=o},12130:(e,t,a)=>{function o(){return o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(e[o]=a[o])}return e},o.apply(this,arguments)}var i=a(67294),n=a(45697),r=a(86590).TextInput,E=i.forwardRef((function(e,t){var a=i.useCallback((function(t){"function"==typeof e.onKeyDown&&e.onKeyDown(t),t.nativeEvent.navigationPrevented||(["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"].includes(t.key)&&(t.nativeEvent.spatialNavigationPrevented=!0),t.shiftKey||("ArrowDown"===t.key?window.navigate("down"):"ArrowUp"===t.key&&window.navigate("up")))}),[e.onKeyDown]);return i.createElement(r,o({},e,{ref:t,onKeyDown:a}))}));E.displayName="CredentialsTextInput",E.propTypes={onKeyDown:n.func},e.exports=E},3962:(e,t,a)=>{var o=a(12130);e.exports=o},45398:(e,t,a)=>{function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?o(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):o(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function r(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return E(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return E(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function E(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var _=a(67294),T=a(81468).useTranslation,s=a(45697),S=a(94184),l=a(95985).default,I=a(21665),A=I.Modal,u=I.useRouteFocused,d=a(63662).useServices,c=a(86590),O=c.Button,R=c.Image,N=c.useBinaryState,m=a(3962),L=a(6050),D=a(2015),p=a(10952),h=a(3608),C="signup",f="login",B=function(e){var t=e.queryParams,o=d().core,E=T().t,s=u(),I=r(p(),2),c=I[0],B=I[1],P=_.useRef(null),g=_.useRef(null),v=_.useRef(null),y=_.useRef(null),W=_.useRef(null),M=_.useRef(null),b=_.useRef(null),U=r(N(!1),3),G=U[0],k=U[1],F=U[2],V=r(N(!1),3),H=V[0],w=V[1],Y=V[2],z=_.useReducer((function(e,t){switch(t.type){case"set-form":return e.form!==t.form?{form:t.form,email:"",password:"",confirmPassword:"",termsAccepted:!1,privacyPolicyAccepted:!1,marketingAccepted:!1,error:""}:e;case"change-credentials":return i(i({},e),{},n({error:""},t.name,t.value));case"toggle-checkbox":return i(i({},e),{},n({error:""},t.name,!e[t.name]));case"error":return i(i({},e),{},{error:t.error});default:return e}}),{form:[f,C].includes(t.get("form"))?t.get("form"):C,email:"",password:"",confirmPassword:"",termsAccepted:!1,privacyPolicyAccepted:!1,marketingAccepted:!1,error:""}),K=r(z,2),x=K[0],j=K[1],Q=_.useCallback((function(){w(),c().then((function(e){var t=e.email,a=e.password;o.transport.dispatch({action:"Ctx",args:{action:"Authenticate",args:{type:"Login",email:t,password:a,facebook:!0}}})})).catch((function(e){Y(),j({type:"error",error:e.message})}))}),[]),X=_.useCallback((function(){B(),Y()}),[]),$=_.useCallback((function(){"string"==typeof x.email&&0!==x.email.length&&P.current.validity.valid?"string"==typeof x.password&&0!==x.password.length?(w(),o.transport.dispatch({action:"Ctx",args:{action:"Authenticate",args:{type:"Login",email:x.email,password:x.password}}})):j({type:"error",error:"Invalid password"}):j({type:"error",error:"Invalid email"})}),[x.email,x.password]),q=_.useCallback((function(){x.termsAccepted?window.location="#/":j({type:"error",error:"You must accept the Terms of Service"})}),[x.termsAccepted]),J=_.useCallback((function(){"string"==typeof x.email&&0!==x.email.length&&P.current.validity.valid?"string"==typeof x.password&&0!==x.password.length?x.password===x.confirmPassword?x.termsAccepted?x.privacyPolicyAccepted?(w(),o.transport.dispatch({action:"Ctx",args:{action:"Authenticate",args:{type:"Register",email:x.email,password:x.password,gdpr_consent:{tos:x.termsAccepted,privacy:x.privacyPolicyAccepted,marketing:x.marketingAccepted,from:"web"}}}})):j({type:"error",error:"You must accept the Privacy Policy"}):j({type:"error",error:"You must accept the Terms of Service"}):j({type:"error",error:"Passwords do not match"}):j({type:"error",error:"Invalid password"}):j({type:"error",error:"Invalid email"})}),[x.email,x.password,x.confirmPassword,x.termsAccepted,x.privacyPolicyAccepted,x.marketingAccepted]),Z=_.useCallback((function(e){j({type:"change-credentials",name:"email",value:e.currentTarget.value})}),[]),ee=_.useCallback((function(){g.current.focus()}),[]),te=_.useCallback((function(e){j({type:"change-credentials",name:"password",value:e.currentTarget.value})}),[]),ae=_.useCallback((function(){x.form===C?v.current.focus():$()}),[x.form,$]),oe=_.useCallback((function(e){j({type:"change-credentials",name:"confirmPassword",value:e.currentTarget.value})}),[]),ie=_.useCallback((function(){y.current.focus()}),[]),ne=_.useCallback((function(){j({type:"toggle-checkbox",name:"termsAccepted"})}),[]),re=_.useCallback((function(){j({type:"toggle-checkbox",name:"privacyPolicyAccepted"})}),[]),Ee=_.useCallback((function(){j({type:"toggle-checkbox",name:"marketingAccepted"})}),[]),_e=_.useCallback((function(){var e=new URLSearchParams([["form",x.form===C?f:C]]);window.location="#/intro?".concat(e.toString())}),[x.form]);return _.useEffect((function(){[f,C].includes(t.get("form"))&&j({type:"set-form",form:t.get("form")})}),[t]),_.useEffect((function(){s&&"string"==typeof x.error&&x.error.length>0&&b.current.scrollIntoView()}),[x.error]),_.useEffect((function(){s&&P.current.focus()}),[x.form,s]),_.useEffect((function(){var e=function(e){var t=e.event,a=e.args;switch(t){case"UserAuthenticated":Y(),s&&(window.location="#/");break;case"Error":"UserAuthenticated"===a.source.event&&Y()}};return o.transport.on("CoreEvent",e),function(){o.transport.off("CoreEvent",e)}}),[s]),_.createElement("div",{className:h["intro-container"]},_.createElement("div",{className:h["background-container"]}),_.createElement("div",{className:h["heading-container"]},_.createElement("div",{className:h["logo-container"]},_.createElement(R,{className:h.logo,src:a(75631),alt:" "})),_.createElement("div",{className:h["title-container"]},"Freedom to Stream"),_.createElement("div",{className:h["slogan-container"]},"All the Video Content You Enjoy in One Place")),_.createElement("div",{className:h["content-container"]},_.createElement("div",{className:h["form-container"]},_.createElement(m,{ref:P,className:h["credentials-text-input"],type:"email",placeholder:"Email",value:x.email,onChange:Z,onSubmit:ee}),_.createElement(m,{ref:g,className:h["credentials-text-input"],type:"password",placeholder:"Password",value:x.password,onChange:te,onSubmit:ae}),x.form===C?_.createElement(_.Fragment,null,_.createElement(m,{ref:v,className:h["credentials-text-input"],type:"password",placeholder:"Confirm Password",value:x.confirmPassword,onChange:oe,onSubmit:ie}),_.createElement(L,{ref:y,className:h["consent-checkbox"],label:"I have read and agree with the Stremio",link:"Terms and conditions",href:"https://www.stremio.com/tos",checked:x.termsAccepted,onToggle:ne}),_.createElement(L,{ref:W,className:h["consent-checkbox"],label:"I have read and agree with the Stremio",link:"Privacy Policy",href:"https://www.stremio.com/privacy",checked:x.privacyPolicyAccepted,onToggle:re}),_.createElement(L,{ref:M,className:h["consent-checkbox"],label:"I agree to receive marketing communications from Stremio",checked:x.marketingAccepted,onToggle:Ee})):_.createElement("div",{className:h["forgot-password-link-container"]},_.createElement(O,{className:h["forgot-password-link"],onClick:k},"Forgot password?")),x.error.length>0?_.createElement("div",{ref:b,className:h["error-message"]},x.error):null,_.createElement(O,{className:S(h["form-button"],h["submit-button"]),onClick:x.form===C?J:$},_.createElement("div",{className:h.label},x.form===C?"Sign up":"Log in"))),_.createElement("div",{className:h["options-container"]},_.createElement(O,{className:S(h["form-button"],h["facebook-button"]),onClick:Q},_.createElement(l,{className:h.icon,name:"facebook"}),_.createElement("div",{className:h.label},"Continue with Facebook")),x.form===C?_.createElement(O,{className:S(h["form-button"],h["login-form-button"]),onClick:_e},_.createElement("div",{className:h.label},"LOG IN")):null,x.form===f?_.createElement(O,{className:S(h["form-button"],h["signup-form-button"]),onClick:_e},_.createElement("div",{className:h.label},"SIGN UP WITH EMAIL")):null,x.form===C?_.createElement(O,{className:S(h["form-button"],h["guest-login-button"]),onClick:q},_.createElement("div",{className:h.label},"GUEST LOGIN")):null)),G?_.createElement(D,{email:x.email,onCloseRequest:F}):null,H?_.createElement(A,{className:h["loading-modal-container"]},_.createElement("div",{className:h["loader-container"]},_.createElement(l,{className:h.icon,name:"person"}),_.createElement("div",{className:h.label},"Authenticating..."),_.createElement(O,{className:h.button,onClick:X},E("BUTTON_CANCEL")))):null)};B.propTypes={queryParams:s.instanceOf(URLSearchParams)},e.exports=B},21517:(e,t,a)=>{function o(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return i(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return i(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var n=a(67294),r=a(45697),E=a(21665).useRouteFocused,_=a(86590),T=_.ModalDialog,s=_.usePlatform,S=a(3962),l=a(23808),I=function(e){var t=e.email,a=e.onCloseRequest,i=E(),r=s(),_=o(n.useState(""),2),I=_[0],A=_[1],u=n.useRef(null),d=n.useCallback((function(){u.current.value.length>0&&u.current.validity.valid?r.openExternal("https://www.strem.io/reset-password/"+u.current.value,"_blank"):A("Invalid email")}),[]),c=n.useMemo((function(){return[{className:l["cancel-button"],label:"Cancel",props:{onClick:a}},{label:"Send",props:{onClick:d}}]}),[a]),O=n.useCallback((function(){A("")}),[]);return n.useEffect((function(){i&&u.current.focus()}),[i]),n.createElement(T,{className:l["password-reset-modal-container"],title:"Password reset",buttons:c,onCloseRequest:a},n.createElement(S,{ref:u,className:l["credentials-text-input"],type:"email",placeholder:"Email",defaultValue:"string"==typeof t?t:"",onChange:O,onSubmit:d}),I.length>0?n.createElement("div",{className:l["error-message"]},I):null)};I.propTypes={email:r.string,onCloseRequest:r.func},e.exports=I},2015:(e,t,a)=>{var o=a(21517);e.exports=o},16732:(e,t,a)=>{var o=a(45398);e.exports=o},68171:(e,t,a)=>{function o(){return o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(e[o]=a[o])}return e},o.apply(this,arguments)}function i(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return n(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return n(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function n(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var r=a(67294),E=a(45697),_=a(94184),T=a(50353),s=a(86590),S=s.Button,l=s.Chips,I=s.DelayedRenderer,A=s.Multiselect,u=s.MainNavBars,d=s.LibItem,c=s.Image,O=s.useProfile,R=s.useNotifications,N=s.routesRegexp,m=s.useOnScrollToBottom,L=s.withCoreSuspender,D=a(53242),p=a(62948),h=a(76495);var C=function(e){var t=e.model,n=e.urlParams,E=e.queryParams,T=O(),s=R(),N=i(D(t,n,E),2),L=N[0],C=N[1],f=i(p(L),3),B=f[0],P=f[1],g=f[2],v=r.useRef(null),y=r.useCallback((function(){g&&C()}),[g,C]),W=m(y,400);return r.useLayoutEffect((function(){null!==T.auth&&L.selected&&1===L.selected.request.page&&0!==L.catalog.length&&(v.current.scrollTop=0)}),[T.auth,L.selected]),r.createElement(u,{className:h["library-container"],route:t},r.createElement("div",{className:h["library-content"]},"continue_watching"===t||null!==T.auth?r.createElement("div",{className:h["selectable-inputs-container"]},r.createElement(A,o({},B,{className:h["select-input-container"]})),r.createElement(l,o({},P,{className:h["select-input-container"]}))):null,"library"===t&&null===T.auth?r.createElement("div",{className:_(h["message-container"],h["no-user-message-container"])},r.createElement(c,{className:h.image,src:a(93028),alt:" "}),r.createElement("div",{className:h["message-label"]},"Library is only available for logged in users!"),r.createElement(S,{className:h["login-button-container"],href:"#/intro"},r.createElement("div",{className:h.label},"LOG IN"))):null===L.selected?r.createElement(I,{delay:500},r.createElement("div",{className:h["message-container"]},r.createElement(c,{className:h.image,src:a(47740),alt:" "}),r.createElement("div",{className:h["message-label"]},"library"===t?"Library":"Continue Watching"," not loaded!"))):0===L.catalog.length?r.createElement("div",{className:h["message-container"]},r.createElement(c,{className:h.image,src:a(47740),alt:" "}),r.createElement("div",{className:h["message-label"]},"Empty ","library"===t?"Library":"Continue Watching")):r.createElement("div",{ref:v,className:_(h["meta-items-container"],"animation-fade-in"),onScroll:W},L.catalog.map((function(e,a){return r.createElement(d,o({},e,{notifications:s,removable:"library"===t,key:a}))})))))};C.propTypes={model:E.oneOf(["library","continue_watching"]),urlParams:E.shape({type:E.string}),queryParams:E.instanceOf(URLSearchParams)};var f=function(e){var t=e.model;return r.createElement(u,{className:h["library-container"],route:t})};f.propTypes=C.propTypes,e.exports=(function(e){var t=function(t){var a=t.urlParams,o=t.queryParams,i=r.useMemo((function(){return"string"==typeof a.path?a.path.match(N.library.regexp)?"library":a.path.match(N.continuewatching.regexp)?"continue_watching":null:null}),[a.path]);return null===i?r.createElement(T,null):r.createElement(e,{key:i,model:i,urlParams:a,queryParams:o})};return t.displayName="withModel",t})(L(C,f))},77965:(e,t,a)=>{var o=a(68171);e.exports=o},53242:(e,t,a)=>{var o=a(67294),i=a(63662).useServices,n=a(86590).useModelState;e.exports=function(e,t,a){var r=i().core,E=o.useCallback((function(){r.transport.dispatch({action:"LibraryWithFilters",args:{action:"LoadNextPage"}},"library")}),[]),_=o.useMemo((function(){return{action:"Load",args:{model:"LibraryWithFilters",args:{request:{type:"string"==typeof t.type?t.type:null,sort:a.has("sort")?a.get("sort"):void 0}}}}}),[t,a]);return[n({model:e,action:_}),E]}},62948:(e,t,a)=>{var o=a(67294),i=a(86590).useTranslate;e.exports=function(e){var t=i(),a=o.useMemo((function(){return(function(e,t){return[{title:t.string("SELECT_TYPE"),options:e.selectable.types.map((function(e){var a=e.type;return{value:e.deepLinks.library,label:null===a?t.string("TYPE_ALL"):t.stringWithPrefix(a,"TYPE_")}})),selected:e.selectable.types.filter((function(e){return e.selected})).map((function(e){return e.deepLinks.library})),onSelect:function(e){window.location=e.value}},{options:e.selectable.sorts.map((function(e){var a=e.sort;return{value:e.deepLinks.library,label:t.stringWithPrefix(a.toUpperCase(),"SORT_")}})),selected:e.selectable.sorts.filter((function(e){return e.selected})).map((function(e){return e.deepLinks.library})),onSelect:function(e){window.location=e}},e.selectable.nextPage]})(e,t)}),[e]);return a}},88493:(e,t,a)=>{function o(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return i(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return i(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var n=a(67294),r=a(45697),E=a(94184),_=a(63662).useServices,T=a(86590),s=T.VerticalNavBar,S=T.HorizontalNavBar,l=T.MetaPreview,I=T.ModalDialog,A=T.Image,u=T.DelayedRenderer,d=T.withCoreSuspender,c=a(42231),O=a(48437),R=a(48450),N=a(85651),m=a(84636),L=a(1995),D=function(e){var t=e.urlParams,i=e.queryParams,r=_().core,T=R(t),d=o(N(t,i),2),D=d[0],p=d[1],h=o(m(T.metaExtensions),3),C=h[0],f=h[1],B=h[2],P=o(n.useMemo((function(){return null!==T.selected?[T.selected.metaPath,T.selected.streamPath]:[null,null]}),[T.selected]),2),g=P[0],v=P[1],y=n.useMemo((function(){return null!==v&&null!==T.metaItem&&"Ready"===T.metaItem.content.type?T.metaItem.content.content.videos.reduce((function(e,t){return t.id===v.id?t:e}),null):null}),[T.metaItem,v]),W=n.useCallback((function(){null!==T.metaItem&&"Ready"===T.metaItem.content.type&&r.transport.dispatch({action:"Ctx",args:{action:"AddToLibrary",args:T.metaItem.content.content}})}),[T]),M=n.useCallback((function(){null!==T.metaItem&&"Ready"===T.metaItem.content.type&&r.transport.dispatch({action:"Ctx",args:{action:"RemoveFromLibrary",args:T.metaItem.content.content.id}})}),[T]),b=n.useCallback((function(){T.libraryItem&&r.transport.dispatch({action:"Ctx",args:{action:"ToggleLibraryItemNotifications",args:[T.libraryItem._id,!T.libraryItem.state.noNotif]}})}),[T.libraryItem]),U=n.useCallback((function(e){p(e.value)}),[p]),G=n.useCallback((function(){return null}),[]);return n.createElement("div",{className:L["metadetails-container"]},n.createElement(S,{className:L["nav-bar"],backButton:!0,addonsButton:!0,fullscreenButton:!0,navMenu:!0}),n.createElement("div",{className:L["metadetails-content"]},C.length>0?n.createElement(s,{className:L["vertical-nav-bar"],tabs:C,selected:null!==f?f.url:null}):null,null===g?n.createElement(u,{delay:500},n.createElement("div",{className:L["meta-message-container"]},n.createElement(A,{className:L.image,src:a(47740),alt:" "}),n.createElement("div",{className:L["message-label"]},"No meta was selected!"))):null===T.metaItem?n.createElement("div",{className:L["meta-message-container"]},n.createElement(A,{className:L.image,src:a(47740),alt:" "}),n.createElement("div",{className:L["message-label"]},"No addons ware requested for this meta!")):"Err"===T.metaItem.content.type?n.createElement("div",{className:L["meta-message-container"]},n.createElement(A,{className:L.image,src:a(47740),alt:" "}),n.createElement("div",{className:L["message-label"]},"No metadata was found!")):"Loading"===T.metaItem.content.type?n.createElement(l.Placeholder,{className:L["meta-preview"]}):n.createElement(n.Fragment,null,"string"==typeof T.metaItem.content.content.background&&T.metaItem.content.content.background.length>0?n.createElement("div",{className:L["background-image-layer"]},n.createElement(A,{className:L["background-image"],src:T.metaItem.content.content.background,renderFallback:G,alt:" "})):null,n.createElement(l,{className:E(L["meta-preview"],"animation-fade-in"),name:T.metaItem.content.content.name,logo:T.metaItem.content.content.logo,runtime:T.metaItem.content.content.runtime,releaseInfo:T.metaItem.content.content.releaseInfo,released:T.metaItem.content.content.released,description:null!==y&&"string"==typeof y.overview&&y.overview.length>0?y.overview:T.metaItem.content.content.description,links:T.metaItem.content.content.links,trailerStreams:T.metaItem.content.content.trailerStreams,inLibrary:T.metaItem.content.content.inLibrary,toggleInLibrary:T.metaItem.content.content.inLibrary?M:W})),n.createElement("div",{className:L.spacing}),null!==v?n.createElement(c,{className:L["streams-list"],streams:T.streams,video:y}):null!==g?n.createElement(O,{className:L["videos-list"],metaItem:T.metaItem,libraryItem:T.libraryItem,season:D,seasonOnSelect:U,toggleNotifications:b}):null),null!==f?n.createElement(I,{className:L["meta-extension-modal-container"],title:f.name,onCloseRequest:B},n.createElement("iframe",{className:L["meta-extension-modal-iframe"],sandbox:"allow-forms allow-scripts allow-same-origin",src:f.url})):null)};D.propTypes={urlParams:r.shape({type:r.string,id:r.string,videoId:r.string}),queryParams:r.instanceOf(URLSearchParams)};e.exports=d(D,(function(){return n.createElement("div",{className:L["metadetails-container"]},n.createElement(S,{className:L["nav-bar"],backButton:!0,addonsButton:!0,fullscreenButton:!0,navMenu:!0}))}))},72742:(e,t,a)=>{var o=["className","videoId","videoReleased","addonName","name","description","thumbnail","progress","deepLinks"],i=["className","children"];function n(){return n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(e[o]=a[o])}return e},n.apply(this,arguments)}function r(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return E(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return E(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function E(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}function _(e,t){if(null==e)return{};var a,o,i=(function(e,t){if(null==e)return{};var a,o,i={},n=Object.keys(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||(i[a]=e[a]);return i})(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}var T=a(67294),s=a(45697),S=a(94184),l=a(95985).default,I=a(96073).t,A=a(86590),u=A.Button,d=A.Image,c=A.useProfile,O=A.usePlatform,R=A.useToast,N=A.Popup,m=A.useBinaryState,L=a(63662).useServices,D=a(21665).useRouteFocused,p=a(34134),h=a(29144),C=function(e){var t=e.className,a=e.videoId,E=e.videoReleased,s=e.addonName,A=e.name,p=e.description,C=e.thumbnail,f=e.progress,B=e.deepLinks,P=_(e,o),g=c(),v=R(),y=O(),W=L().core,M=D(),b=r(m(!1),4),U=b[0],G=b[2],k=b[3],F=T.useCallback((function(e){e.nativeEvent.togglePopupPrevented||(e.nativeEvent.ctrlKey||2===e.nativeEvent.button)&&(e.preventDefault(),k())}),[]),V=T.useCallback((function(e){e.nativeEvent.togglePopupPrevented||e.nativeEvent.ctrlKey||e.preventDefault()}),[k]),H=T.useCallback((function(e){"mouse"===e.nativeEvent.pointerType||e.nativeEvent.togglePopupPrevented||k()}),[k]),w=T.useCallback((function(e){e.nativeEvent.togglePopupPrevented=!0}),[]),Y=T.useCallback((function(e){e.nativeEvent.togglePopupPrevented=!0}),[]),z=T.useCallback((function(e){e.nativeEvent.togglePopupPrevented=!0}),[]),K=T.useCallback((function(e){e.nativeEvent.buttonClickPrevented=!0}),[]),x=T.useMemo((function(){return B?B.externalPlayer?B.externalPlayer.web?B.externalPlayer.web:B.externalPlayer.openPlayer?B.externalPlayer.openPlayer[y.name]?B.externalPlayer.openPlayer[y.name]:B.externalPlayer.playlist:B.player:B.player:null}),[B]),j=T.useMemo((function(){var e;return x===(null==B||null===(e=B.externalPlayer)||void 0===e?void 0:e.playlist)?B.externalPlayer.fileName:null}),[x,B]),Q=T.useMemo((function(){var e;return x===(null==B||null===(e=B.externalPlayer)||void 0===e?void 0:e.web)?"_blank":null}),[x,B]),X=T.useMemo((function(){var e;return null==B||null===(e=B.externalPlayer)||void 0===e?void 0:e.download}),[B]),$=T.useCallback((function(){"string"==typeof a&&W.transport.dispatch({action:"MetaDetails",args:{action:"MarkVideoAsWatched",args:[{id:a,released:E},!0]}})}),[a,E]),q=T.useCallback((function(e){null!==g.settings.playerType&&($(),v.show({type:"success",title:"Stream opened in external player",timeout:4e3})),"function"==typeof P.onClick&&P.onClick(e)}),[P.onClick,g.settings,$]),J=T.useCallback((function(e){e.preventDefault(),G(),X&&navigator.clipboard.writeText(X).then((function(){v.show({type:"success",title:I("PLAYER_COPY_STREAM_SUCCESS"),timeout:4e3})})).catch((function(){v.show({type:"error",title:I("PLAYER_COPY_STREAM_ERROR"),timeout:4e3})}))}),[X]),Z=T.useCallback((function(){return T.createElement(l,{className:h["placeholder-icon"],name:"ic_broken_link"})}),[]),ee=T.useMemo((function(){return function(e){var t=e.className,a=e.children,o=_(e,i);return T.createElement(u,n({className:S(t,h["stream-container"]),title:s,href:x,target:Q,download:j,onClick:q},o),T.createElement("div",{className:h["info-container"]},"string"==typeof C&&C.length>0?T.createElement("div",{className:h["thumbnail-container"],title:A||s},T.createElement(d,{className:h.thumbnail,src:C,alt:" ",renderFallback:Z})):T.createElement("div",{className:h["addon-name-container"],title:A||s},T.createElement("div",{className:h["addon-name"]},A||s)),null!==f&&!isNaN(f)&&f>0?T.createElement("div",{className:h["progress-bar-container"]},T.createElement("div",{className:h["progress-bar"],style:{width:"".concat(f,"%")}}),T.createElement("div",{className:h["progress-bar-background"]})):null),T.createElement("div",{className:h["description-container"],title:p},p),T.createElement(l,{className:h.icon,name:"play"}),a)}}),[C,f,s,A,p,x,Q,j,q]),te=T.useMemo((function(){return function(){return T.createElement("div",{className:h["context-menu-content"],onPointerDown:w,onContextMenu:Y,onClick:z,onKeyDown:K},T.createElement(u,{className:h["context-menu-option-container"],title:I("CTX_PLAY")},T.createElement("div",{className:h["context-menu-option-label"]},I("CTX_PLAY"))),X&&T.createElement(u,{className:h["context-menu-option-container"],title:I("CTX_COPY_STREAM_LINK"),onClick:J},T.createElement("div",{className:h["context-menu-option-label"]},I("CTX_COPY_STREAM_LINK"))))}}),[J,q]);return T.useEffect((function(){M||G()}),[M]),T.createElement(N,{className:t,onMouseUp:F,onLongPress:H,onContextMenu:V,open:U,onCloseRequest:G,renderLabel:ee,renderMenu:te})};C.Placeholder=p,C.propTypes={className:s.string,videoId:s.string,videoReleased:s.instanceOf(Date),addonName:s.string,name:s.string,description:s.string,thumbnail:s.string,progress:s.number,deepLinks:s.shape({player:s.string,externalPlayer:s.shape({download:s.string,streaming:s.string,playlist:s.string,fileName:s.string,web:s.string,openPlayer:s.shape({ios:s.string,android:s.string,windows:s.string,macos:s.string,linux:s.string})})}),onClick:s.func},e.exports=C},63210:(e,t,a)=>{var o=a(67294),i=a(45697),n=a(94184),r=a(60926),E=a(51586),_=function(e){var t=e.className;return o.createElement("div",{className:n(t,E["stream-placeholder-container"])},o.createElement("div",{className:E["addon-container"]},o.createElement("div",{className:E["addon-name"]})),o.createElement("div",{className:E["info-container"]},o.createElement("div",{className:E["description-container"]}),o.createElement("div",{className:E["description-container"]})),o.createElement(r,{className:E["play-icon"]}))};_.propTypes={className:i.string},e.exports=_},34134:(e,t,a)=>{var o=a(63210);e.exports=o},24674:(e,t,a)=>{var o=a(72742);e.exports=o},14176:(e,t,a)=>{var o=["className","video"];function i(){return i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(e[o]=a[o])}return e},i.apply(this,arguments)}function n(e){return(function(e){if(Array.isArray(e))return S(e)})(e)||(function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)})(e)||s(e)||(function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function r(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function E(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?r(Object(a),!0).forEach((function(t){_(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):r(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function _(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function T(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||s(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function s(e,t){if(e){if("string"==typeof e)return S(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?S(e,t):void 0}}function S(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}function l(e,t){if(null==e)return{};var a,o,i=(function(e,t){if(null==e)return{};var a,o,i={},n=Object.keys(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||(i[a]=e[a]);return i})(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}var I=a(67294),A=a(45697),u=a(94184),d=a(81468).useTranslation,c=a(95985).default,O=a(86590),R=O.Button,N=O.Image,m=O.Multiselect,L=a(63662).useServices,D=a(24674),p=a(56789),h="ALL",C=function(e){var t=e.className,r=e.video,_=l(e,o),s=d().t,S=L().core,A=T(I.useState(h),2),O=A[0],C=A[1],f=I.useCallback((function(e){C(e.value)}),[]),B=I.useCallback((function(){r.deepLinks&&"string"==typeof r.deepLinks.metaDetailsVideos?window.location.replace(r.deepLinks.metaDetailsVideos+("number"==typeof r.season?"?".concat(new URLSearchParams({season:r.season})):null)):window.history.back()}),[r]),P=I.useMemo((function(){return _.streams.filter((function(e){return"Loading"===e.content.type})).length}),[_.streams]),g=I.useMemo((function(){return _.streams.filter((function(e){return"Ready"===e.content.type})).reduce((function(e,t){return e[t.addon.transportUrl]={addon:t.addon,streams:t.content.content.map((function(e){return E(E({},e),{},{onClick:function(){S.transport.analytics({event:"StreamClicked",args:{stream:e}})},addonName:t.addon.manifest.name})}))},e}),{})}),[_.streams]),v=I.useMemo((function(){return O===h?Object.values(g).map((function(e){return e.streams})).flat(1):g[O]?g[O].streams:[]}),[g,O]),y=I.useMemo((function(){return{title:"Select Addon",options:[{value:h,label:s("ALL_ADDONS"),title:s("ALL_ADDONS")}].concat(n(Object.keys(g).map((function(e){return{value:e,label:g[e].addon.manifest.name,title:g[e].addon.manifest.name}})))),selected:[O],onSelect:f}}),[g,O]);return I.createElement("div",{className:u(t,p["streams-list-container"])},I.createElement("div",{className:p["select-choices-wrapper"]},r?I.createElement(I.Fragment,null,I.createElement(R,{className:u(p["button-container"],p["back-button-container"]),tabIndex:-1,onClick:B},I.createElement(c,{className:p.icon,name:"chevron-back"})),I.createElement("div",{className:p["episode-title"]},"S".concat(null==r?void 0:r.season,"E").concat(null==r?void 0:r.episode," ").concat(null==r?void 0:r.title))):null,Object.keys(g).length>1?I.createElement(m,i({},y,{className:p["select-input-container"]})):null),0===_.streams.length?I.createElement("div",{className:p["message-container"]},I.createElement(N,{className:p.image,src:a(47740),alt:" "}),I.createElement("div",{className:p.label},"No addons were requested for streams!")):_.streams.every((function(e){return"Err"===e.content.type}))?I.createElement("div",{className:p["message-container"]},I.createElement(N,{className:p.image,src:a(47740),alt:" "}),I.createElement("div",{className:p.label},s("NO_STREAM"))):0===v.length?I.createElement("div",{className:p["streams-container"]},I.createElement(D.Placeholder,null),I.createElement(D.Placeholder,null)):I.createElement(I.Fragment,null,P>0?I.createElement("div",{className:p["addons-loading-container"]},I.createElement("div",{className:p["addons-loading"]},P," ",s("MOBILE_ADDONS_LOADING")),I.createElement("span",{className:p["addons-loading-bar"]})):null,I.createElement("div",{className:p["streams-container"]},v.map((function(e,t){return I.createElement(D,{key:t,videoId:null==r?void 0:r.id,videoReleased:null==r?void 0:r.released,addonName:e.addonName,name:e.name,description:e.description,thumbnail:e.thumbnail,progress:e.progress,deepLinks:e.deepLinks,onClick:e.onClick})})))),I.createElement(R,{className:p["install-button-container"],title:s("ADDON_CATALOGUE_MORE"),href:"#/addons"},I.createElement(c,{className:p.icon,name:"addons"}),I.createElement("div",{className:p.label},s("ADDON_CATALOGUE_MORE"))))};C.propTypes={className:A.string,streams:A.arrayOf(A.object).isRequired,video:A.object},e.exports=C},42231:(e,t,a)=>{var o=a(14176);e.exports=o},42813:(e,t,a)=>{function o(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return i(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return i(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var n=a(67294),r=a(45697),E=a(94184),_=a(96073).t,T=a(95985).default,s=a(86590).Button,S=a(53570),l=a(90801),I=a(86590).MultiselectMenu,A=function(e){var t=e.className,a=e.seasons,i=e.season,r=e.onSelect,S=n.useMemo((function(){return a.map((function(e){return{value:String(e),label:e>0?"".concat(_("SEASON")," ").concat(e):_("SPECIAL")}}))}),[a]),A=n.useMemo((function(){return{label:String(i),value:String(i)}}),[i]),u=n.useCallback((function(e){if("function"==typeof r){var t=a.indexOf(i),o="next"===e.currentTarget.dataset.action?t+1<a.length?t+1:a.length-1:t-1>=0?t-1:0,n=a[o];r({type:"select",value:n,reactEvent:e,nativeEvent:e.nativeEvent})}}),[i,a,r]),d=n.useCallback((function(e){"function"==typeof r&&r({type:"select",value:e,reactEvent:event.reactEvent,nativeEvent:event.nativeEvent})}),[r]),c=o(n.useMemo((function(){var e=a.indexOf(i);return[0===e,e===a.length-1]}),[i,a]),2),O=c[0],R=c[1];return n.createElement("div",{className:E(t,l["seasons-bar-container"])},n.createElement(s,{className:E(l["prev-season-button"],{disabled:O}),title:"Previous season","data-action":"prev",onClick:u},n.createElement(T,{className:l.icon,name:"chevron-back"}),n.createElement("div",{className:l.label},"Prev")),n.createElement(I,{className:l["seasons-popup-label-container"],options:S,title:i>0?"".concat(_("SEASON")," ").concat(i):_("SPECIAL"),selectedOption:A,onSelect:d}),n.createElement(s,{className:E(l["next-season-button"],{disabled:R}),title:"Next season","data-action":"next",onClick:u},n.createElement("div",{className:l.label},"Next"),n.createElement(T,{className:l.icon,name:"chevron-forward"})))};A.Placeholder=S,A.propTypes={className:r.string,seasons:r.arrayOf(r.number).isRequired,season:r.number.isRequired,onSelect:r.func},e.exports=A},89319:(e,t,a)=>{var o=a(67294),i=a(45697),n=a(94184),r=a(95985).default,E=a(61892),_=function(e){var t=e.className;return o.createElement("div",{className:n(t,E["seasons-bar-placeholder-container"])},o.createElement("div",{className:E["prev-season-button"]},o.createElement(r,{className:E.icon,name:"chevron-back"}),o.createElement("div",{className:E.label},"Prev")),o.createElement("div",{className:E["seasons-popup-label-container"]},o.createElement("div",{className:E["seasons-popup-label"]},"Season 1"),o.createElement(r,{className:E["seasons-popup-icon"],name:"caret-down"})),o.createElement("div",{className:E["next-season-button"]},o.createElement("div",{className:E.label},"Next"),o.createElement(r,{className:E.icon,name:"chevron-forward"})))};_.propTypes={className:i.string},e.exports=_},53570:(e,t,a)=>{var o=a(89319);e.exports=o},23424:(e,t,a)=>{var o=a(42813);e.exports=o},32824:(e,t,a)=>{var o=["className","id","title","thumbnail","episode","released","upcoming","watched","progress","scheduled","deepLinks"],i=["className","id","title","thumbnail","episode","released","upcoming","watched","progress","scheduled","children"];function n(){return n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(e[o]=a[o])}return e},n.apply(this,arguments)}function r(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return E(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return E(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function E(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}function _(e,t){if(null==e)return{};var a,o,i=(function(e,t){if(null==e)return{};var a,o,i={},n=Object.keys(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||(i[a]=e[a]);return i})(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}var T=a(67294),s=a(45697),S=a(94184),l=a(96073).t,I=a(63662).useServices,A=a(21665).useRouteFocused,u=a(95985).default,d=a(86590),c=d.Button,O=d.Image,R=d.Popup,N=d.useBinaryState,m=a(9922),L=a(22860),D=function(e){var t=e.className,a=e.id,E=e.title,s=e.thumbnail,d=e.episode,m=e.released,D=e.upcoming,p=e.watched,h=e.progress,C=e.scheduled,f=e.deepLinks,B=_(e,o),P=I().core,g=A(),v=r(N(!1),4),y=v[0],W=v[2],M=v[3],b=T.useCallback((function(e){e.nativeEvent.togglePopupPrevented||(e.nativeEvent.ctrlKey||2===e.nativeEvent.button)&&(e.preventDefault(),M())}),[]),U=T.useCallback((function(e){e.nativeEvent.togglePopupPrevented||e.nativeEvent.ctrlKey||e.preventDefault()}),[M]),G=T.useCallback((function(e){"mouse"===e.nativeEvent.pointerType||e.nativeEvent.togglePopupPrevented||M()}),[M]),k=T.useCallback((function(e){e.nativeEvent.togglePopupPrevented=!0}),[]),F=T.useCallback((function(e){e.nativeEvent.togglePopupPrevented=!0}),[]),V=T.useCallback((function(e){e.nativeEvent.togglePopupPrevented=!0}),[]),H=T.useCallback((function(e){e.nativeEvent.buttonClickPrevented=!0}),[]),w=T.useCallback((function(e){e.preventDefault(),W(),P.transport.dispatch({action:"MetaDetails",args:{action:"MarkVideoAsWatched",args:[{id:a,released:m},!p]}})}),[a,m,p]),Y=T.useCallback((function(){f&&("string"==typeof f.player?window.location=f.player:"string"==typeof f.metaDetailsStreams&&window.location.replace(f.metaDetailsStreams))}),[f]),z=T.useMemo((function(){return function(e){var t=e.className,a=e.id,o=e.title,r=e.thumbnail,E=e.episode,s=e.released,l=e.upcoming,I=e.watched,A=e.progress,d=e.scheduled,R=e.children,N=_(e,i);return T.createElement(c,n({},N,{className:S(t,L["video-container"]),title:o}),"string"==typeof r&&r.length>0?T.createElement("div",{className:L["thumbnail-container"]},T.createElement(O,{className:L.thumbnail,src:r,alt:" ",renderFallback:function(){return T.createElement(u,{className:L["placeholder-icon"],name:"symbol"})}}),null!==A&&!isNaN(A)&&A>0?T.createElement("div",{className:L["progress-bar-container"]},T.createElement("div",{className:L["progress-bar"],style:{width:"".concat(A,"%")}}),T.createElement("div",{className:L["progress-bar-background"]})):null):null,T.createElement("div",{className:L["info-container"]},T.createElement("div",{className:L["title-container"]},null===E||isNaN(E)?null:"".concat(E,". "),"string"==typeof o&&o.length>0?o:a),T.createElement("div",{className:L["flex-row-container"]},s instanceof Date&&!isNaN(s.getTime())?T.createElement("div",{className:L["released-container"]},s.toLocaleString(void 0,{year:"numeric",month:"short",day:"numeric"})):d?T.createElement("div",{className:L["released-container"],title:"To be announced"},"TBA"):null,T.createElement("div",{className:L["upcoming-watched-container"]},l&&!I?T.createElement("div",{className:L["upcoming-container"]},T.createElement("div",{className:L["flag-label"]},"Upcoming")):null,I?T.createElement("div",{className:L["watched-container"]},T.createElement(u,{className:L["flag-icon"],name:"eye"}),T.createElement("div",{className:L["flag-label"]},"Watched")):null))),R)}}),[]),K=T.useMemo((function(){return function(){return T.createElement("div",{className:L["context-menu-content"],onPointerDown:k,onContextMenu:F,onClick:V,onKeyDown:H},T.createElement(c,{className:L["context-menu-option-container"],title:"Watch"},T.createElement("div",{className:L["context-menu-option-label"]},l("CTX_WATCH"))),T.createElement(c,{className:L["context-menu-option-container"],title:p?"Mark as non-watched":"Mark as watched",onClick:w},T.createElement("div",{className:L["context-menu-option-label"]},l(p?"CTX_MARK_NON_WATCHED":"CTX_MARK_WATCHED"))))}}),[p,w]);return T.useEffect((function(){g||W()}),[g]),T.createElement(R,n({className:t,id:a,title:E,thumbnail:s,episode:d,released:m,upcoming:D,watched:p,progress:h,scheduled:C,onClick:Y},B,{onMouseUp:b,onLongPress:G,onContextMenu:U,open:y,onCloseRequest:W,renderLabel:z,renderMenu:K}))};D.Placeholder=m,D.propTypes={className:s.string,id:s.string,title:s.string,thumbnail:s.string,episode:s.number,released:s.instanceOf(Date),upcoming:s.bool,watched:s.bool,progress:s.number,scheduled:s.bool,deepLinks:s.shape({metaDetailsStreams:s.string,player:s.string})},e.exports=D},38509:(e,t,a)=>{var o=a(67294),i=a(45697),n=a(94184),r=a(51162),E=function(e){var t=e.className;return o.createElement("div",{className:n(t,r["video-placeholder-container"])},o.createElement("div",{className:r["info-container"]},o.createElement("div",{className:r["name-container"]}),o.createElement("div",{className:r["released-container"]})))};E.propTypes={className:i.string},e.exports=E},9922:(e,t,a)=>{var o=a(38509);e.exports=o},90123:(e,t,a)=>{var o=a(32824);e.exports=o},41702:(e,t,a)=>{function o(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return i(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return i(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var n=a(67294),r=a(45697),E=a(94184),_=a(96073).t,T=a(86590),s=T.Image,S=T.SearchBar,l=T.Checkbox,I=a(23424),A=a(90123),u=a(2721),d=function(e){var t=e.className,i=e.metaItem,r=e.libraryItem,T=e.season,d=e.seasonOnSelect,c=e.toggleNotifications,O=n.useMemo((function(){var e,t,a,o,n;return(null==i||null===(e=i.content)||void 0===e||null===(t=e.content)||void 0===t?void 0:t.inLibrary)&&(null==i||null===(a=i.content)||void 0===a||null===(o=a.content)||void 0===o||null===(n=o.videos)||void 0===n?void 0:n.length)}),[i]),R=n.useMemo((function(){return i&&"Ready"===i.content.type?i.content.content.videos:[]}),[i]),N=n.useMemo((function(){return R.map((function(e){return e.season})).filter((function(e,t,a){return null!==e&&!isNaN(e)&&"number"==typeof e&&a.indexOf(e)===t})).sort((function(e,t){return(e||Number.MAX_SAFE_INTEGER)-(t||Number.MAX_SAFE_INTEGER)}))}),[R]),m=n.useMemo((function(){if(N.includes(T))return T;var e=N.filter((function(e){return 0!==e}));return e.length>0?e[e.length-1]:N.length>0?N[N.length-1]:null}),[N,T]),L=n.useMemo((function(){return R.filter((function(e){return null===m||e.season===m})).sort((function(e,t){return e.episode-t.episode}))}),[R,m]),D=o(n.useState(""),2),p=D[0],h=D[1],C=n.useCallback((function(e){h(e.currentTarget.value)}),[]);return n.createElement("div",{className:E(t,u["videos-list-container"])},i&&"Loading"!==i.content.type?"Err"===i.content.type||0===L.length?n.createElement("div",{className:u["message-container"]},n.createElement(s,{className:u.image,src:a(47740),alt:" "}),n.createElement("div",{className:u.label},"No videos found for this meta!")):n.createElement(n.Fragment,null,O&&r?n.createElement(l,{className:u["notifications-checkbox"],checked:!r.state.noNotif,onClick:c},_("DETAIL_RECEIVE_NOTIF_SERIES")):null,N.length>0?n.createElement(I,{className:u["seasons-bar"],season:m,seasons:N,onSelect:d}):null,n.createElement(S,{className:u["search-bar"],title:_("SEARCH_VIDEOS"),value:p,onChange:C}),n.createElement("div",{className:u["videos-container"]},L.filter((function(e){return 0===p.length||"string"==typeof e.title&&e.title.toLowerCase().includes(p.toLowerCase())||!isNaN(e.released.getTime())&&e.released.toLocaleString(void 0,{year:"2-digit",month:"short",day:"numeric"}).toLowerCase().includes(p.toLowerCase())})).map((function(e,t){return n.createElement(A,{key:t,id:e.id,title:e.title,thumbnail:e.thumbnail,episode:e.episode,released:e.released,upcoming:e.upcoming,watched:e.watched,progress:e.progress,deepLinks:e.deepLinks,scheduled:e.scheduled})})))):n.createElement(n.Fragment,null,n.createElement(I.Placeholder,{className:u["seasons-bar"]}),n.createElement(S.Placeholder,{className:u["search-bar"],title:_("SEARCH_VIDEOS")}),n.createElement("div",{className:u["videos-scroll-container"]},n.createElement(A.Placeholder,null),n.createElement(A.Placeholder,null),n.createElement(A.Placeholder,null),n.createElement(A.Placeholder,null),n.createElement(A.Placeholder,null))))};d.propTypes={className:r.string,metaItem:r.object,libraryItem:r.object,season:r.number,seasonOnSelect:r.func,toggleNotifications:r.func},e.exports=d},48437:(e,t,a)=>{var o=a(41702);e.exports=o},69005:(e,t,a)=>{var o=a(88493);e.exports=o},48450:(e,t,a)=>{function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?o(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):o(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}var r=a(67294),E=a(86590).useModelState,_=function(e){return i(i({},e),{},{metaItem:null!==e.metaItem&&"Ready"===e.metaItem.content.type?i(i({},e.metaItem),{},{content:i(i({},e.metaItem.content),{},{content:i(i({},e.metaItem.content.content),{},{released:new Date("string"==typeof e.metaItem.content.content.released?e.metaItem.content.content.released:NaN),videos:e.metaItem.content.content.videos.map((function(e){return i(i({},e),{},{released:new Date("string"==typeof e.released?e.released:NaN)})}))})})}):e.metaItem})};e.exports=function(e){var t=r.useMemo((function(){return"string"==typeof e.type&&"string"==typeof e.id?{action:"Load",args:{model:"MetaDetails",args:{metaPath:{resource:"meta",type:e.type,id:e.id,extra:[]},streamPath:"string"==typeof e.videoId?{resource:"stream",type:e.type,id:e.videoId,extra:[]}:null,guessStream:!0}}}:{action:"Unload"}}),[e]);return E({model:"meta_details",action:t,map:_})}},84636:(e,t,a)=>{function o(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return i(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return i(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var n=a(67294);e.exports=function(e){var t=n.useMemo((function(){return e.map((function(e){return{id:e.url,label:e.addon.manifest.name,logo:e.addon.manifest.logo,icon:"addons",onClick:function(){return r(e)}}}))}),[e]),a=o(n.useState(null),2),i=a[0],r=a[1];return[t,i,n.useCallback((function(){r(null)}),[])]}},85651:(e,t,a)=>{var o=a(67294);e.exports=function(e,t){var a=o.useMemo((function(){return t.has("season")&&!isNaN(t.get("season"))?parseInt(t.get("season"),10):null}),[t]),i=o.useCallback((function(a){var o=new URLSearchParams(t);o.set("season",a),window.location.replace("#".concat(e.path,"?").concat(o))}),[e,t]);return[a,i]}},39096:(e,t,a)=>{var o=a(67294),i=a(86590),n=i.Image,r=i.HorizontalNavBar,E=a(4407);e.exports=function(){return o.createElement("div",{className:E["not-found-container"]},o.createElement(r,{className:E["nav-bar"],title:"Page not found",backButton:!0,fullscreenButton:!0,navMenu:!0}),o.createElement("div",{className:E["not-found-content"]},o.createElement(n,{className:E["not-found-image"],src:a(47740),alt:" "}),o.createElement("div",{className:E["not-found-label"]},"Page not found!")))}},50353:(e,t,a)=>{var o=a(39096);e.exports=o},29579:(e,t,a)=>{var o=a(67294),i=a(45697),n=a(94184),r=a(86590).Image,E=a(91190),_=function(e){var t=e.className,i=e.logo;return o.createElement("div",{className:n(t,E["buffering-loader-container"])},o.createElement(r,{className:E["buffering-loader"],src:i,alt:" ",fallbackSrc:a(35313)}))};_.propTypes={className:i.string,logo:i.string},e.exports=_},33475:(e,t,a)=>{var o=a(29579);e.exports=o},95531:(e,t,a)=>{var o=["className","paused","time","duration","buffered","volume","muted","playbackSpeed","subtitlesTracks","audioTracks","metaItem","nextVideo","stream","statistics","onPlayRequested","onPauseRequested","onNextVideoRequested","onMuteRequested","onUnmuteRequested","onVolumeChangeRequested","onSeekRequested","onToggleSubtitlesMenu","onToggleInfoMenu","onToggleSpeedMenu","onToggleVideosMenu","onToggleOptionsMenu","onToggleStatisticsMenu"];function i(){return i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(e[o]=a[o])}return e},i.apply(this,arguments)}function n(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return r(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return r(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}function E(e,t){if(null==e)return{};var a,o,i=(function(e,t){if(null==e)return{};var a,o,i={},n=Object.keys(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||(i[a]=e[a]);return i})(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}var _=a(67294),T=a(45697),s=a(94184),S=a(95985).default,l=a(86590).Button,I=a(63662).useServices,A=a(85280),u=a(47429),d=a(25483),c=a(86590).useBinaryState,O=a(96073).t,R=function(e){var t,a,r=e.className,T=e.paused,R=e.time,N=e.duration,m=e.buffered,L=e.volume,D=e.muted,p=e.playbackSpeed,h=e.subtitlesTracks,C=e.audioTracks,f=e.metaItem,B=e.nextVideo,P=e.stream,g=e.statistics,v=e.onPlayRequested,y=e.onPauseRequested,W=e.onNextVideoRequested,M=e.onMuteRequested,b=e.onUnmuteRequested,U=e.onVolumeChangeRequested,G=e.onSeekRequested,k=e.onToggleSubtitlesMenu,F=e.onToggleInfoMenu,V=e.onToggleSpeedMenu,H=e.onToggleVideosMenu,w=e.onToggleOptionsMenu,Y=e.onToggleStatisticsMenu,z=E(e,o),K=I().chromecast,x=n(_.useState((function(){return K.active})),2),j=x[0],Q=x[1],X=n(c(!1),4),$=X[0],q=X[3],J=_.useCallback((function(e){e.nativeEvent.subtitlesMenuClosePrevented=!0}),[]),Z=_.useCallback((function(e){e.nativeEvent.infoMenuClosePrevented=!0}),[]),ee=_.useCallback((function(e){e.nativeEvent.speedMenuClosePrevented=!0}),[]),te=_.useCallback((function(e){e.nativeEvent.videosMenuClosePrevented=!0}),[]),ae=_.useCallback((function(e){e.nativeEvent.optionsMenuClosePrevented=!0}),[]),oe=_.useCallback((function(e){e.nativeEvent.statisticsMenuClosePrevented=!0}),[]),ie=_.useCallback((function(){T?"function"==typeof v&&v():"function"==typeof y&&y()}),[T,v,y]),ne=_.useCallback((function(){null!==B&&"function"==typeof W&&W()}),[B,W]),re=_.useCallback((function(){D?"function"==typeof b&&b():"function"==typeof M&&M()}),[D,M,b]),Ee=_.useCallback((function(){K.transport.requestSession()}),[]);return _.useEffect((function(){var e=function(){Q(K.active)};return K.on("stateChanged",e),function(){K.off("stateChanged",e)}}),[]),_.createElement("div",i({},z,{className:s(r,d["control-bar-container"])}),_.createElement(A,{className:d["seek-bar"],time:R,duration:N,buffered:m,onSeekRequested:G}),_.createElement("div",{className:d["control-bar-buttons-container"]},_.createElement(l,{className:s(d["control-bar-button"],{disabled:"boolean"!=typeof T}),title:O(T?"PLAYER_PLAY":"PLAYER_PAUSE"),tabIndex:-1,onClick:ie},_.createElement(S,{className:d.icon,name:"boolean"!=typeof T||T?"play":"pause"})),null!==B?_.createElement(l,{className:s(d["control-bar-button"]),title:O("PLAYER_NEXT_VIDEO"),tabIndex:-1,onClick:ne},_.createElement(S,{className:d.icon,name:"next"})):null,_.createElement(l,{className:s(d["control-bar-button"],{disabled:"boolean"!=typeof D}),title:O(D?"PLAYER_UNMUTE":"PLAYER_MUTE"),tabIndex:-1,onClick:re},_.createElement(S,{className:d.icon,name:"boolean"==typeof D&&D?"volume-mute":null===L||isNaN(L)?"volume-off":L<30?"volume-low":L<70?"volume-medium":"volume-high"})),_.createElement(u,{className:d["volume-slider"],volume:L,onVolumeChangeRequested:U}),_.createElement("div",{className:d.spacing}),_.createElement(l,{className:d["control-bar-buttons-menu-button"],onClick:q},_.createElement(S,{className:d.icon,name:"more-vertical"})),_.createElement("div",{className:s(d["control-bar-buttons-menu-container"],{open:$})},_.createElement(l,{className:s(d["control-bar-button"],{disabled:null===g||"Err"===g.type||null===P||"string"!=typeof P.infoHash||"number"!=typeof P.fileIdx}),tabIndex:-1,onMouseDown:oe,onClick:Y},_.createElement(S,{className:d.icon,name:"network"})),_.createElement(l,{className:s(d["control-bar-button"],{disabled:null===p}),tabIndex:-1,onMouseDown:ee,onClick:V},_.createElement(S,{className:d.icon,name:"speed"})),_.createElement(l,{className:s(d["control-bar-button"],{disabled:null===f||"Ready"!==f.type}),tabIndex:-1,onMouseDown:Z,onClick:F},_.createElement(S,{className:d.icon,name:"about"})),_.createElement(l,{className:s(d["control-bar-button"],{disabled:!j}),tabIndex:-1,onClick:Ee},_.createElement(S,{className:d.icon,name:"cast"})),_.createElement(l,{className:s(d["control-bar-button"],{disabled:!(Array.isArray(h)&&0!==h.length||Array.isArray(C)&&0!==C.length)}),tabIndex:-1,onMouseDown:J,onClick:k},_.createElement(S,{className:d.icon,name:"subtitles"})),(null==f||null===(t=f.content)||void 0===t||null===(a=t.videos)||void 0===a?void 0:a.length)>0?_.createElement(l,{className:d["control-bar-button"],tabIndex:-1,onMouseDown:te,onClick:H},_.createElement(S,{className:d.icon,name:"episodes"})):null,_.createElement(l,{className:d["control-bar-button"],tabIndex:-1,onMouseDown:ae,onClick:w},_.createElement(S,{className:d.icon,name:"more-horizontal"})))))};R.propTypes={className:T.string,paused:T.bool,time:T.number,duration:T.number,buffered:T.number,volume:T.number,muted:T.bool,playbackSpeed:T.number,subtitlesTracks:T.array,audioTracks:T.array,metaItem:T.object,nextVideo:T.object,stream:T.object,statistics:T.object,onPlayRequested:T.func,onPauseRequested:T.func,onNextVideoRequested:T.func,onMuteRequested:T.func,onUnmuteRequested:T.func,onVolumeChangeRequested:T.func,onSeekRequested:T.func,onToggleSubtitlesMenu:T.func,onToggleInfoMenu:T.func,onToggleSpeedMenu:T.func,onToggleVideosMenu:T.func,onToggleOptionsMenu:T.func,onToggleStatisticsMenu:T.func},e.exports=R},36181:(e,t,a)=>{function o(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return i(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return i(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var n=a(67294),r=a(45697),E=a(94184),_=a(91296),T=a(21665).useRouteFocused,s=a(86590),S=s.Slider,l=s.Button,I=s.useBinaryState,A=a(57537),u=a(99371),d=function(e){var t=e.className,a=e.time,i=e.duration,r=e.buffered,s=e.onSeekRequested,d=null===a||isNaN(a)||null===i||isNaN(i),c=T(),O=o(n.useState(null),2),R=O[0],N=O[1],m=o(I(!1),4),L=m[0],D=m[3],p=n.useCallback(_((function(){N(null)}),1500),[]),h=n.useCallback((function(e){p.cancel(),N(e)}),[]),C=n.useCallback((function(e){p(),N(e),"function"==typeof s&&s(e)}),[s]);return n.useLayoutEffect((function(){c&&!d||(p.cancel(),N(null))}),[c,d]),n.useEffect((function(){return function(){p.cancel()}}),[]),n.createElement("div",{className:E(t,u["seek-bar-container"],{active:null!==R})},n.createElement("div",{className:u.label},A(null!==R?R:a)),n.createElement(S,{className:E(u.slider,{active:null!==R}),value:d?0:null!==R?R:a,buffered:r,minimumValue:0,maximumValue:i,disabled:d,onSlide:h,onComplete:C}),n.createElement(l,{onClick:D,tabIndex:-1},n.createElement("div",{className:u.label},L&&null!==i&&!isNaN(i)?A(i-a,"-"):A(i))))};d.propTypes={className:r.string,time:r.number,duration:r.number,buffered:r.number,onSeekRequested:r.func},e.exports=d},57537:e=>{var t=function(e){return("0"+e).slice(-1*Math.max(e.toString().length,2))};e.exports=function(e){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";if(null===e||isNaN(e))return"--:--:--";var o=Math.floor(e/36e5),i=Math.floor(e/6e4%60),n=Math.floor(e/1e3%60);return"".concat(t(o),":").concat(t(i),":").concat(t(n)).concat(a)}},85280:(e,t,a)=>{var o=a(36181);e.exports=o},44932:(e,t,a)=>{function o(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return i(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return i(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var n=a(67294),r=a(45697),E=a(94184),_=a(91296),T=a(21665).useRouteFocused,s=a(86590).Slider,S=a(80424),l=function(e){var t=e.className,a=e.volume,i=e.onVolumeChangeRequested,r=null===a||isNaN(a),l=T(),I=o(n.useState(null),2),A=I[0],u=I[1],d=n.useCallback(_((function(){u(null)}),100),[]),c=n.useCallback((function(e){d.cancel(),u(e),"function"==typeof i&&i(e)}),[i]),O=n.useCallback((function(e){d(),u(e),"function"==typeof i&&i(e)}),[i]);return n.useLayoutEffect((function(){l&&!r||(d.cancel(),u(null))}),[l,r]),n.useEffect((function(){return function(){d.cancel()}}),[]),n.createElement(s,{className:E(t,S["volume-slider"],{active:null!==A}),value:r?100:null!==A?A:a,minimumValue:0,maximumValue:100,disabled:r,onSlide:c,onComplete:O})};l.propTypes={className:r.string,volume:r.number,onVolumeChangeRequested:r.func},e.exports=l},47429:(e,t,a)=>{var o=a(44932);e.exports=o},39292:(e,t,a)=>{var o=a(95531);e.exports=o},96295:(e,t,a)=>{function o(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return i(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return i(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var n=a(67294),r=a(81468).useTranslation,E=a(45697),_=a(94184),T=a(95985).default,s=a(6851),S=a(80381),l=function(e){var t=e.className,a=e.code,i=e.message,E=e.stream,l=r().t,I=o(n.useMemo((function(){var e,t,a,o;return[null==E||null===(e=E.deepLinks)||void 0===e||null===(t=e.externalPlayer)||void 0===t?void 0:t.playlist,null==E||null===(a=E.deepLinks)||void 0===a||null===(o=a.externalPlayer)||void 0===o?void 0:o.fileName]}),[E]),2),A=I[0],u=I[1];return n.createElement("div",{className:_(t,S.error)},n.createElement("div",{className:S["error-label"],title:i},i),2===a?n.createElement("div",{className:S["error-sub"],title:l("EXTERNAL_PLAYER_HINT")},l("EXTERNAL_PLAYER_HINT")):null,A&&u?n.createElement(s,{className:S["playlist-button"],title:l("PLAYER_OPEN_IN_EXTERNAL"),href:A,download:u,target:"_blank"},n.createElement(T,{className:S.icon,name:"ic_downloads"}),n.createElement("div",{className:S.label},l("PLAYER_OPEN_IN_EXTERNAL"))):null)};l.propTypes={className:E.string,code:E.number,message:E.string,stream:E.object},e.exports=l},36462:(e,t,a)=>{var o=a(96295);e.exports=o},68928:(e,t,a)=>{var o=["className"];function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function n(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?i(Object(a),!0).forEach((function(t){r(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):i(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function E(e,t){if(null==e)return{};var a,o,i=(function(e,t){if(null==e)return{};var a,o,i={},n=Object.keys(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||(i[a]=e[a]);return i})(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}var _=a(67294),T=a(45697),s=a(94184),S=a(86590),l=S.MetaPreview,I=S.CONSTANTS,A=a(13185),u=function(e){var t=e.className,a=E(e,o),i=_.useMemo((function(){return null!==a.metaItem?n(n({},a.metaItem),{},{links:a.metaItem.links.filter((function(e){return e.category===I.SHARE_LINK_CATEGORY}))}):null}),[a.metaItem]),r=_.useCallback((function(e){e.nativeEvent.infoMenuClosePrevented=!0}),[]);return _.createElement("div",{className:s(t,A["info-menu-container"]),onMouseDown:r},null!==i?_.createElement(l,{className:A["meta-preview"],compact:!0,name:i.name,logo:i.logo,runtime:i.runtime,releaseInfo:i.releaseInfo,released:i.released,description:i.description,links:i.links}):null)};u.propTypes={className:T.string,metaItem:T.object,addon:T.object,stream:T.object},e.exports=u},95458:(e,t,a)=>{var o=a(68928);e.exports=o},72690:(e,t,a)=>{function o(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return i(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return i(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var n=a(67294),r=a(45697),E=a(94184),_=a(95985).default,T=a(86590),s=T.Image,S=T.Button,l=T.CONSTANTS,I=a(85485),A=function(e){var t=e.className,a=e.metaItem,i=e.nextVideo,r=e.onDismiss,T=e.onNextVideoRequested,A=n.useRef(null),u=o(n.useState(!1),2),d=u[0],c=u[1],O=n.useMemo((function(){var e=i&&i.title||a&&a.title;return null!==i&&"number"==typeof i.season&&"number"==typeof i.episode?"".concat(e," (S").concat(i.season,"E").concat(i.episode,")"):e}),[a,i]),R=n.useCallback((function(){c(!0)}),[]),N=n.useCallback((function(){return null!==a&&"string"==typeof a.type?n.createElement(_,{className:I["placeholder-icon"],name:l.ICON_FOR_TYPE.has(a.type)?l.ICON_FOR_TYPE.get(a.type):l.ICON_FOR_TYPE.get("other")}):null}),[a]),m=n.useCallback((function(){"function"==typeof r&&r()}),[r]),L=n.useCallback((function(){"function"==typeof T&&T()}),[T]);return n.useLayoutEffect((function(){!0===d&&null!==A.current&&A.current.focus()}),[d]),n.createElement("div",{className:E(t,I["next-video-popup-container"]),onAnimationEnd:R},n.createElement("div",{className:I["poster-container"]},n.createElement(s,{className:I["poster-image"],src:null==i?void 0:i.thumbnail,alt:" ",fallbackSrc:null==a?void 0:a.poster,renderFallback:N})),n.createElement("div",{className:I["info-container"]},n.createElement("div",{className:I["details-container"]},"string"==typeof(null==a?void 0:a.name)?n.createElement("div",{className:I.name},n.createElement("span",{className:I.label},"Next on")," ",a.name):null,"string"==typeof O?n.createElement("div",{className:I.title},O):null,null!==i&&"string"==typeof i.overview?n.createElement("div",{className:I.description},i.overview):null),n.createElement("div",{className:I["buttons-container"]},n.createElement(S,{className:E(I["button-container"],I.dismiss),onClick:m},n.createElement(_,{className:I.icon,name:"close"}),n.createElement("div",{className:I.label},"Dismiss")),n.createElement(S,{ref:A,className:E(I["button-container"],I["play-button"]),onClick:L},n.createElement(_,{className:I.icon,name:"play"}),n.createElement("div",{className:I.label},"Watch Now")))))};A.propTypes={className:r.string,metaItem:r.object,nextVideo:r.object,onDismiss:r.func,onNextVideoRequested:r.func},e.exports=A},28698:(e,t,a)=>{var o=a(72690);e.exports=o},19252:(e,t,a)=>{var o=a(67294),i=a(45697),n=a(94184),r=a(95985).default,E=a(86590).Button,_=a(55503),T=function(e){var t=e.icon,a=e.label,i=e.deviceId,T=e.disabled,s=e.onClick,S=o.useCallback((function(){"function"==typeof s&&s(i)}),[s,i]);return o.createElement(E,{className:n(_["option-container"],{disabled:T}),disabled:T,onClick:S},o.createElement(r,{className:_.icon,name:t}),o.createElement("div",{className:_.label},a))};T.propTypes={icon:i.string,label:i.string,deviceId:i.string,disabled:i.bool,onClick:i.func},e.exports=T},19944:(e,t,a)=>{var o=a(19252);e.exports=o},61366:(e,t,a)=>{function o(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return i(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return i(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var n=a(67294),r=a(45697),E=a(94184),_=a(81468).useTranslation,T=a(86590),s=T.usePlatform,S=T.useToast,l=a(63662).useServices,I=a(19944),A=a(90628),u=function(e){var t=e.className,a=e.stream,i=e.playbackDevices,r=_().t,T=l().core,u=s(),d=S(),c=o(n.useMemo((function(){return null!==a?a.deepLinks&&a.deepLinks.externalPlayer&&[a.deepLinks.externalPlayer.streaming,a.deepLinks.externalPlayer.download]:[null,null]}),[a]),2),O=c[0],R=c[1],N=n.useMemo((function(){return i.filter((function(e){return"external"===e.type}))}),[i]),m=n.useCallback((function(){(O||R)&&navigator.clipboard.writeText(O||R).then((function(){d.show({type:"success",title:"Copied",message:r("PLAYER_COPY_STREAM_SUCCESS"),timeout:3e3})})).catch((function(e){console.error(e),d.show({type:"error",title:r("Error"),message:"".concat(r("PLAYER_COPY_STREAM_ERROR"),": ").concat(O||R),timeout:3e3})}))}),[O,R]),L=n.useCallback((function(){(O||R)&&u.openExternal(O||R)}),[O,R]),D=n.useCallback((function(e){O&&T.transport.dispatch({action:"StreamingServer",args:{action:"PlayOnDevice",args:{device:e,source:O}}})}),[O]),p=n.useCallback((function(e){e.nativeEvent.optionsMenuClosePrevented=!0}),[]);return n.createElement("div",{className:E(t,A["options-menu-container"]),onMouseDown:p},O||R?n.createElement(I,{icon:"link",label:r("CTX_COPY_STREAM_LINK"),disabled:null===a,onClick:m}):null,O||R?n.createElement(I,{icon:"download",label:r("CTX_DOWNLOAD_VIDEO"),disabled:null===a,onClick:L}):null,O&&N.map((function(e){var t=e.id,o=e.name;return n.createElement(I,{key:t,icon:"vlc",label:r("PLAYER_PLAY_IN",{device:o}),deviceId:t,disabled:null===a,onClick:D})})))};u.propTypes={className:r.string,stream:r.object,playbackDevices:r.array},e.exports=u},65714:(e,t,a)=>{var o=a(61366);e.exports=o},12230:(e,t,a)=>{function o(){return o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(e[o]=a[o])}return e},o.apply(this,arguments)}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function n(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?i(Object(a),!0).forEach((function(t){r(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):i(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function E(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return _(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return _(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function _(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var T=a(67294),s=a(45697),S=a(94184),l=a(91296),I=a(27576),A=a(81468).useTranslation,u=a(21665).useRouteFocused,d=a(63662).useServices,c=a(86590),O=c.HorizontalNavBar,R=c.useFullscreen,N=c.useBinaryState,m=c.useToast,L=c.useStreamingServer,D=c.withCoreSuspender,p=a(33475),h=a(78565),C=a(36462),f=a(39292),B=a(28698),P=a(24426),g=a(95458),v=a(65714),y=a(66429),W=a(19646),M=a(41998),b=a(85852),U=a(64109),G=a(13600),k=a(46722),F=a(57822),V=a(5711),H=function(e){var t,a,i,_,s=e.urlParams,c=e.queryParams,D=A().t,H=d(),w=H.chromecast,Y=H.shell,z=H.core,K=T.useMemo((function(){return c.has("forceTranscoding")}),[c]),x=E(b(s),7),j=x[0],Q=x[1],X=x[2],$=x[3],q=x[4],J=x[5],Z=x[6],ee=E(U(),2),te=ee[0],ae=ee[1],oe=L(),ie=G(j,oe),ne=k(),re=u(),Ee=m(),_e=E(T.useState(!1),2),Te=_e[0],se=_e[1],Se=E(T.useState((function(){return w.active&&w.transport.getCastState()===cast.framework.CastState.CONNECTED})),2),le=Se[0],Ie=Se[1],Ae=E(T.useState(!0),2),ue=Ae[0],de=Ae[1],ce=T.useCallback(l(de,3e3),[]),Oe=E(R(),4)[3],Re=E(N(!1),4),Ne=Re[0],me=Re[2],Le=Re[3],De=E(N(!1),4),pe=De[0],he=De[2],Ce=De[3],fe=E(N(!1),4),Be=fe[0],Pe=fe[2],ge=fe[3],ve=E(N(!1),4),ye=ve[0],We=ve[2],Me=ve[3],be=E(N(!1),4),Ue=be[0],Ge=be[2],ke=be[3],Fe=E(N(!1),4),Ve=Fe[0],He=Fe[2],we=Fe[3],Ye=E(N(!1),3),ze=Ye[0],Ke=Ye[1],xe=Ye[2],je=T.useMemo((function(){return Ne||pe||Be||ye||Ue||Ve}),[Ne,pe,Be,ye,Ue,Ve]),Qe=T.useCallback((function(){me(),he(),Pe(),We(),Ge(),He()}),[]),Xe=T.useMemo((function(){return ue&&!le&&null!==ne.state.paused&&!ne.state.paused&&!je&&!ze}),[ue,le,ne.state.paused,je,ze]),$e=T.useRef(!1),qe=T.useRef(!1),Je=T.useRef(!1),Ze=E(T.useState(null),2),et=Ze[0],tt=Ze[1],at=T.useCallback((function(){ne.setProp("subtitlesSize",te.subtitlesSize),ne.setProp("subtitlesOffset",te.subtitlesOffset),ne.setProp("subtitlesTextColor",te.subtitlesTextColor),ne.setProp("subtitlesBackgroundColor",te.subtitlesBackgroundColor),ne.setProp("subtitlesOutlineColor",te.subtitlesOutlineColor),ne.setProp("extraSubtitlesSize",te.subtitlesSize),ne.setProp("extraSubtitlesOffset",te.subtitlesOffset),ne.setProp("extraSubtitlesTextColor",te.subtitlesTextColor),ne.setProp("extraSubtitlesBackgroundColor",te.subtitlesBackgroundColor),ne.setProp("extraSubtitlesOutlineColor",te.subtitlesOutlineColor)}),[te.subtitlesSize,te.subtitlesOffset,te.subtitlesTextColor,te.subtitlesBackgroundColor,te.subtitlesOutlineColor]),ot=T.useCallback((function(){J(),null!==j.nextVideo?Dt():window.history.back()}),[j.nextVideo,Dt]),it=T.useCallback((function(e){console.error("Player",e),e.critical?tt(e):Ee.show({type:"error",title:D("ERROR"),message:e.message,timeout:3e3})}),[]),nt=T.useCallback((function(){Ee.show({type:"success",title:D("PLAYER_SUBTITLES_LOADED"),message:D("PLAYER_SUBTITLES_LOADED_EMBEDDED"),timeout:3e3})}),[]),rt=T.useCallback((function(e){Ee.show({type:"success",title:D("PLAYER_SUBTITLES_LOADED"),message:e.exclusive?D("PLAYER_SUBTITLES_LOADED_EXCLUSIVE"):D("PLAYER_SUBTITLES_LOADED_ORIGIN",{origin:e.origin}),timeout:3e3})}),[]),Et=T.useCallback((function(){ne.setProp("paused",!1),se(!1)}),[]),_t=T.useCallback(l(Et,200),[]),Tt=T.useCallback((function(){ne.setProp("paused",!0)}),[]),st=T.useCallback(l(Tt,200),[]),St=T.useCallback((function(){ne.setProp("muted",!0)}),[]),lt=T.useCallback((function(){ne.setProp("muted",!1)}),[]),It=T.useCallback((function(e){ne.setProp("volume",e)}),[]),At=T.useCallback((function(e){!Te&&se(!0),ne.setProp("time",e)}),[]),ut=T.useCallback((function(e){ne.setProp("playbackSpeed",e)}),[]),dt=T.useCallback((function(e){ne.setProp("selectedSubtitlesTrackId",e),ne.setProp("selectedExtraSubtitlesTrackId",null)}),[]),ct=T.useCallback((function(e){ne.setProp("selectedSubtitlesTrackId",null),ne.setProp("selectedExtraSubtitlesTrackId",e)}),[]),Ot=T.useCallback((function(e){ne.setProp("selectedAudioTrackId",e)}),[]),Rt=T.useCallback((function(e){ne.setProp("extraSubtitlesDelay",e)}),[]),Nt=T.useCallback((function(e){ae({subtitlesSize:e})}),[ae]),mt=T.useCallback((function(e){ae({subtitlesOffset:e})}),[ae]),Lt=T.useCallback((function(){xe(),$e.current=!0}),[]),Dt=T.useCallback((function(){if(null!==j.nextVideo){Z();var e,t=j.nextVideo.deepLinks;if(t.metaDetailsStreams&&t.player)window.location.replace(t.metaDetailsStreams),window.location.href=t.player;else window.location.replace(null!==(e=t.player)&&void 0!==e?e:t.metaDetailsStreams)}}),[j.nextVideo]),pt=T.useCallback((function(){null!==ne.state.paused&&(ne.state.paused?_t():st())}),[ne.state.paused]),ht=T.useCallback((function(){_t.cancel(),st.cancel(),Oe()}),[Oe]),Ct=T.useCallback((function(e){e.nativeEvent.optionsMenuClosePrevented||me(),e.nativeEvent.subtitlesMenuClosePrevented||he(),e.nativeEvent.infoMenuClosePrevented||Pe(),e.nativeEvent.speedMenuClosePrevented||We(),e.nativeEvent.videosMenuClosePrevented||Ge(),e.nativeEvent.statisticsMenuClosePrevented||He()}),[]),ft=T.useCallback((function(e){de(!1),e.nativeEvent.immersePrevented?ce.cancel():ce(!0)}),[]),Bt=T.useCallback((function(){ce.cancel(),de(!0)}),[]),Pt=T.useCallback((function(e){e.nativeEvent.immersePrevented=!0}),[]);return T.useEffect((function(){tt(null),null===j.selected?ne.unload():null!==oe.settings&&"Loading"!==oe.settings.type&&(null===j.selected.metaRequest||null!==j.metaItem&&"Loading"!==j.metaItem.type)&&ne.load({stream:n(n({},j.selected.stream),{},{subtitles:Array.isArray(j.selected.stream.subtitles)?j.selected.stream.subtitles.map((function(e){return n(n({},e),{},{label:e.url})})):[]}),autoplay:!0,time:null!==j.libraryItem&&null!==j.selected.streamRequest&&null!==j.selected.streamRequest.path&&j.libraryItem.state.video_id===j.selected.streamRequest.path.id?j.libraryItem.state.timeOffset:0,forceTranscoding:K||le,maxAudioChannels:te.surroundSound?32:2,streamingServerURL:oe.baseUrl?le?oe.baseUrl:oe.selected.transportUrl:null,seriesInfo:j.seriesInfo},{chromecastTransport:w.active?w.transport:null,shellTransport:Y.active?Y.transport:null})}),[oe.baseUrl,j.selected,j.metaItem,K,le]),T.useEffect((function(){if(null!==ne.state.stream){var e=j.subtitles.map((function(e){return n(n({},e),{},{label:e.url})}));ne.addExtraSubtitlesTracks(e)}}),[j.subtitles,ne.state.stream]),T.useEffect((function(){ne.setProp("subtitlesSize",te.subtitlesSize),ne.setProp("extraSubtitlesSize",te.subtitlesSize)}),[te.subtitlesSize]),T.useEffect((function(){ne.setProp("subtitlesOffset",te.subtitlesOffset),ne.setProp("extraSubtitlesOffset",te.subtitlesOffset)}),[te.subtitlesOffset]),T.useEffect((function(){ne.setProp("subtitlesTextColor",te.subtitlesTextColor),ne.setProp("extraSubtitlesTextColor",te.subtitlesTextColor)}),[te.subtitlesTextColor]),T.useEffect((function(){ne.setProp("subtitlesBackgroundColor",te.subtitlesBackgroundColor),ne.setProp("extraSubtitlesBackgroundColor",te.subtitlesBackgroundColor)}),[te.subtitlesBackgroundColor]),T.useEffect((function(){ne.setProp("subtitlesOutlineColor",te.subtitlesOutlineColor),ne.setProp("extraSubtitlesOutlineColor",te.subtitlesOutlineColor)}),[te.subtitlesOutlineColor]),T.useEffect((function(){null===ne.state.time||isNaN(ne.state.time)||null===ne.state.duration||isNaN(ne.state.duration)||null===ne.state.manifest||"string"!=typeof ne.state.manifest.name||(Te?$(ne.state.time,ne.state.duration,ne.state.manifest.name):X(ne.state.time,ne.state.duration,ne.state.manifest.name))}),[ne.state.time,ne.state.duration,ne.state.manifest]),T.useEffect((function(){null!==ne.state.paused&&q(ne.state.paused)}),[ne.state.paused]),T.useEffect((function(){Q(ne.state.videoParams)}),[ne.state.videoParams]),T.useEffect((function(){te.bingeWatching&&null!==j.nextVideo&&!$e.current&&(null!==ne.state.time&&null!==ne.state.duration&&ne.state.time<ne.state.duration&&ne.state.duration-ne.state.time<=te.nextVideoNotificationDuration?Ke():xe())}),[j.nextVideo,ne.state.time,ne.state.duration]),T.useEffect((function(){if(!qe.current){var e=function(e,t){return e.find((function(e){var a;return e.lang===t||(null===(a=I.where("1",e.lang))||void 0===a?void 0:a[2])===t}))},t=e(ne.state.subtitlesTracks,te.subtitlesLanguage),a=e(ne.state.extraSubtitlesTracks,te.subtitlesLanguage);t&&t.id?(dt(t.id),qe.current=!0):a&&a.id&&(ct(a.id),qe.current=!0)}}),[ne.state.subtitlesTracks,ne.state.extraSubtitlesTracks]),T.useEffect((function(){if(!Je.current){var e=(t=ne.state.audioTracks,a=te.audioLanguage,t.find((function(e){var t;return e.lang===a||(null===(t=I.where("1",e.lang))||void 0===t?void 0:t[2])===a})));e&&e.id&&(Ot(e.id),Je.current=!0)}var t,a}),[ne.state.audioTracks]),T.useEffect((function(){qe.current=!1,Je.current=!1,$e.current=!1}),[ne.state.stream]),T.useEffect((function(){Array.isArray(ne.state.subtitlesTracks)&&0!==ne.state.subtitlesTracks.length||Array.isArray(ne.state.extraSubtitlesTracks)&&0!==ne.state.extraSubtitlesTracks.length||Array.isArray(ne.state.audioTracks)&&0!==ne.state.audioTracks.length||he()}),[ne.state.audioTracks,ne.state.subtitlesTracks,ne.state.extraSubtitlesTracks]),T.useEffect((function(){null!==j.metaItem&&"Ready"===j.metaItem.type||(Pe(),Ge())}),[j.metaItem]),T.useEffect((function(){null===ne.state.playbackSpeed&&We()}),[ne.state.playbackSpeed]),T.useEffect((function(){var e=function(e){var t;return"CoreEvent"===(null==e||null===(t=e.dataset)||void 0===t?void 0:t.type)};Ee.addFilter(e);var t=function(){Ie(w.active&&w.transport.getCastState()===cast.framework.CastState.CONNECTED)},a=function(){t(),w.active&&w.transport.on(cast.framework.CastContextEventType.CAST_STATE_CHANGED,t)},o=function(e){"PlayingOnDevice"===e.event&&Tt()};return w.on("stateChanged",a),z.transport.on("CoreEvent",o),a(),function(){Ee.removeFilter(e),w.off("stateChanged",a),z.transport.off("CoreEvent",o),w.active&&w.transport.off(cast.framework.CastContextEventType.CAST_STATE_CHANGED,t)}}),[]),T.useLayoutEffect((function(){var e=function(e){switch(e.code){case"Space":je||ze||null===ne.state.paused||(ne.state.paused?(Et(),se(!1)):Tt());break;case"ArrowRight":if(!je&&!ze&&null!==ne.state.time){var t=e.shiftKey?te.seekShortTimeDuration:te.seekTimeDuration;At(ne.state.time+t)}break;case"ArrowLeft":if(!je&&!ze&&null!==ne.state.time){var a=e.shiftKey?te.seekShortTimeDuration:te.seekTimeDuration;At(ne.state.time-a)}break;case"ArrowUp":je||ze||null===ne.state.volume||It(ne.state.volume+5);break;case"ArrowDown":je||ze||null===ne.state.volume||It(ne.state.volume-5);break;case"KeyS":Qe(),(Array.isArray(ne.state.subtitlesTracks)&&ne.state.subtitlesTracks.length>0||Array.isArray(ne.state.extraSubtitlesTracks)&&ne.state.extraSubtitlesTracks.length>0||Array.isArray(ne.state.audioTracks)&&ne.state.audioTracks.length>0)&&Ce();break;case"KeyI":Qe(),null!==j.metaItem&&"Ready"===j.metaItem.type&&ge();break;case"KeyR":Qe(),null!==ne.state.playbackSpeed&&Me();break;case"KeyV":var o,i,n;Qe(),null!==j.metaItem&&"Ready"===j.metaItem.type&&(null===(o=j.metaItem)||void 0===o||null===(i=o.content)||void 0===i||null===(n=i.videos)||void 0===n?void 0:n.length)>0&&ke();break;case"KeyD":Qe(),null!==oe.statistics&&"Err"!==oe.statistics.type&&j.selected&&"string"==typeof j.selected.stream.infoHash&&"number"==typeof j.selected.stream.fileIdx&&we();break;case"Escape":Qe()}},t=function(e){"ArrowRight"!==e.code&&"ArrowLeft"!==e.code||Te&&se(!1)},a=function(e){e.deltaY>0?je||null===ne.state.volume||It(ne.state.volume-5):je||null===ne.state.volume||It(ne.state.volume+5)};return re&&(window.addEventListener("keydown",e),window.addEventListener("keyup",t),window.addEventListener("wheel",a)),function(){window.removeEventListener("keydown",e),window.removeEventListener("keyup",t),window.removeEventListener("wheel",a)}}),[j.metaItem,j.selected,oe.statistics,te.seekTimeDuration,te.seekShortTimeDuration,re,je,ze,ne.state.paused,ne.state.time,ne.state.volume,ne.state.audioTracks,ne.state.subtitlesTracks,ne.state.extraSubtitlesTracks,ne.state.playbackSpeed,Ce,ge,ke,we]),T.useEffect((function(){return ne.events.on("error",it),ne.events.on("ended",ot),ne.events.on("subtitlesTrackLoaded",nt),ne.events.on("extraSubtitlesTrackLoaded",rt),ne.events.on("implementationChanged",at),function(){ne.events.off("error",it),ne.events.off("ended",ot),ne.events.off("subtitlesTrackLoaded",nt),ne.events.off("extraSubtitlesTrackLoaded",rt),ne.events.off("implementationChanged",at)}}),[]),T.useLayoutEffect((function(){return function(){ce.cancel(),_t.cancel(),st.cancel()}}),[]),T.createElement("div",{className:S(F["player-container"],r({},F.overlayHidden,Xe)),onMouseDown:Ct,onMouseMove:ft,onMouseOver:ft,onMouseLeave:Bt},T.createElement(V,{ref:ne.containerElement,className:F.layer,onClick:pt,onDoubleClick:ht}),ne.state.loaded?null:T.createElement("div",{className:S(F.layer,F["background-layer"])},T.createElement("img",{className:F.image,src:null==j||null===(t=j.metaItem)||void 0===t||null===(a=t.content)||void 0===a?void 0:a.background})),!ne.state.buffering&&ne.state.loaded||et?null:T.createElement(p,{className:S(F.layer,F["buffering-layer"]),logo:null==j||null===(i=j.metaItem)||void 0===i||null===(_=i.content)||void 0===_?void 0:_.logo}),null!==et?T.createElement(C,o({className:S(F.layer,F["error-layer"]),stream:ne.state.stream},et)):null,je?T.createElement("div",{className:F.layer}):null,null!==ne.state.volume&&Xe?T.createElement(h,{muted:ne.state.muted,volume:ne.state.volume}):null,T.createElement(O,{className:S(F.layer,F["nav-bar-layer"]),title:null!==j.title?j.title:"",backButton:!0,fullscreenButton:!0,onMouseMove:Pt,onMouseOver:Pt}),T.createElement(f,{className:S(F.layer,F["control-bar-layer"]),paused:ne.state.paused,time:ne.state.time,duration:ne.state.duration,buffered:ne.state.buffered,volume:ne.state.volume,muted:ne.state.muted,playbackSpeed:ne.state.playbackSpeed,subtitlesTracks:ne.state.subtitlesTracks.concat(ne.state.extraSubtitlesTracks),audioTracks:ne.state.audioTracks,metaItem:j.metaItem,nextVideo:j.nextVideo,stream:null!==j.selected?j.selected.stream:null,statistics:ie,onPlayRequested:Et,onPauseRequested:Tt,onNextVideoRequested:Dt,onMuteRequested:St,onUnmuteRequested:lt,onVolumeChangeRequested:It,onSeekRequested:At,onToggleOptionsMenu:Le,onToggleSubtitlesMenu:Ce,onToggleInfoMenu:ge,onToggleSpeedMenu:Me,onToggleVideosMenu:ke,onToggleStatisticsMenu:we,onMouseMove:Pt,onMouseOver:Pt}),ze?T.createElement(B,{className:S(F.layer,F["menu-layer"]),metaItem:null!==j.metaItem&&"Ready"===j.metaItem.type?j.metaItem.content:null,nextVideo:j.nextVideo,onDismiss:Lt,onNextVideoRequested:Dt}):null,Ve?T.createElement(P,o({className:S(F.layer,F["menu-layer"])},ie)):null,pe?T.createElement(W,{className:S(F.layer,F["menu-layer"]),audioTracks:ne.state.audioTracks,selectedAudioTrackId:ne.state.selectedAudioTrackId,subtitlesTracks:ne.state.subtitlesTracks,selectedSubtitlesTrackId:ne.state.selectedSubtitlesTrackId,subtitlesOffset:ne.state.subtitlesOffset,subtitlesSize:ne.state.subtitlesSize,extraSubtitlesTracks:ne.state.extraSubtitlesTracks,selectedExtraSubtitlesTrackId:ne.state.selectedExtraSubtitlesTrackId,extraSubtitlesOffset:ne.state.extraSubtitlesOffset,extraSubtitlesDelay:ne.state.extraSubtitlesDelay,extraSubtitlesSize:ne.state.extraSubtitlesSize,onSubtitlesTrackSelected:dt,onExtraSubtitlesTrackSelected:ct,onAudioTrackSelected:Ot,onSubtitlesOffsetChanged:mt,onSubtitlesSizeChanged:Nt,onExtraSubtitlesOffsetChanged:mt,onExtraSubtitlesDelayChanged:Rt,onExtraSubtitlesSizeChanged:Nt}):null,Be?T.createElement(g,{className:S(F.layer,F["menu-layer"]),stream:null!==j.selected?j.selected.stream:null,addon:j.addon,metaItem:null!==j.metaItem&&"Ready"===j.metaItem.type?j.metaItem.content:null}):null,ye?T.createElement(M,{className:S(F.layer,F["menu-layer"]),playbackSpeed:ne.state.playbackSpeed,onPlaybackSpeedChanged:ut}):null,Ue?T.createElement(y,{className:S(F.layer,F["menu-layer"]),metaItem:null!==j.metaItem&&"Ready"===j.metaItem.type?j.metaItem.content:null,seriesInfo:j.seriesInfo}):null,Ne?T.createElement(v,{className:S(F.layer,F["menu-layer"]),stream:j.selected.stream,playbackDevices:null!==oe.playbackDevices&&"Ready"===oe.playbackDevices.type?oe.playbackDevices.content:[]}):null)};H.propTypes={urlParams:s.shape({stream:s.string,streamTransportUrl:s.string,metaTransportUrl:s.string,type:s.string,id:s.string,videoId:s.string}),queryParams:s.instanceOf(URLSearchParams)};e.exports=D(H,(function(){return T.createElement("div",{className:S(F["player-container"])})}))},97764:(e,t,a)=>{var o=a(67294),i=a(45697),n=a(94184),r=a(86590).Button,E=a(74988),_=function(e){var t=e.className,a=e.value,i=e.selected,_=e.onSelect,T=o.useCallback((function(){"function"==typeof _&&_(a)}),[_,a]);return o.createElement(r,{className:n(t,E.option,{selected:i}),onClick:T},o.createElement("div",{className:E.label},a,"x"),o.createElement("div",{className:E.icon}))};_.propTypes={className:i.string,value:i.number,selected:i.bool,onSelect:i.func},e.exports=_},99396:(e,t,a)=>{var o=a(97764);e.exports=o},85296:(e,t,a)=>{var o=a(67294),i=a(45697),n=a(94184),r=a(81468).useTranslation,E=a(99396),_=a(33579),T=Array.from(Array(8).keys(),(function(e){return.25*e+.25})).reverse(),s=function(e){var t=e.className,a=e.playbackSpeed,i=e.onPlaybackSpeedChanged,s=r().t,S=o.useCallback((function(e){e.nativeEvent.speedMenuClosePrevented=!0}),[]),l=o.useCallback((function(e){"function"==typeof i&&i(e)}),[i]);return o.createElement("div",{className:n(t,_["speed-menu-container"]),onMouseDown:S},o.createElement("div",{className:_.title},s("PLAYBACK_SPEED")),o.createElement("div",{className:_["options-container"]},T.map((function(e){return o.createElement(E,{className:_.option,key:e,value:e,selected:e===a,onSelect:l})}))))};s.propTypes={className:i.string,playbackSpeed:i.number,onPlaybackSpeedChanged:i.func},e.exports=s},41998:(e,t,a)=>{var o=a(85296);e.exports=o},92763:(e,t,a)=>{var o=a(67294),i=a(94184),n=a(45697),r=a(67071),E=function(e){var t=e.className,a=e.peers,n=e.speed,E=e.completed,_=e.infoHash;return o.createElement("div",{className:i(t,r["statistics-menu-container"])},o.createElement("div",{className:r.title},"Statistics"),o.createElement("div",{className:r.stats},o.createElement("div",{className:r.stat},o.createElement("div",{className:r.label},"Peers"),o.createElement("div",{className:r.value},a)),o.createElement("div",{className:r.stat},o.createElement("div",{className:r.label},"Speed"),o.createElement("div",{className:r.value},n," MB/s")),o.createElement("div",{className:r.stat},o.createElement("div",{className:r.label},"Completed"),o.createElement("div",{className:r.value},E," %"))),o.createElement("div",{className:r["info-hash"]},o.createElement("div",{className:r.label},"Info Hash"),o.createElement("div",{className:r.value},_)))};E.propTypes={className:n.string,peers:n.number,speed:n.number,completed:n.number,infoHash:n.string},e.exports=E},24426:(e,t,a)=>{var o=a(92763);e.exports=o},50569:(e,t,a)=>{var o=a(67294),i=a(45697),n=a(94184),r=a(95985).default,E=a(86590).Button,_=a(68134),T=function(e){var t=e.className,a=e.value,i=e.label,T=e.disabled,s=e.dataset,S=e.onChange,l=o.useCallback((function(e){"function"==typeof S&&S({type:"change",value:e.currentTarget.dataset.type,dataset:s,reactEvent:e,nativeEvent:e.nativeEvent})}),[s,S]);return o.createElement("div",{className:n(t,_["discrete-input-container"],{disabled:T})},o.createElement("div",{className:_.header},i),o.createElement("div",{className:_["input-container"],title:T?"".concat(i," is not configurable"):null},o.createElement(E,{className:n(_["button-container"],{disabled:T}),"data-type":"decrement",onClick:l},o.createElement(r,{className:_.icon,name:"remove"})),o.createElement("div",{className:_["option-label"],title:a},a),o.createElement(E,{className:n(_["button-container"],{disabled:T}),"data-type":"increment",onClick:l},o.createElement(r,{className:_.icon,name:"add"}))))};T.propTypes={className:i.string,value:i.string,label:i.string,disabled:i.bool,dataset:i.object,onChange:i.func},e.exports=T},23132:(e,t,a)=>{var o=a(50569);e.exports=o},81346:(e,t,a)=>{var o=a(67294),i=a(45697),n=a(94184),r=a(86590),E=r.Button,_=r.CONSTANTS,T=r.comparatorWithPriorities,s=r.languageNames,S=a(23132),l=a(82748),I=a(96073).t,A={EMBEDDED:2,EXCLUSIVE:1},u={eng:1},d=o.memo((function(e){var t=o.useMemo((function(){return(Array.isArray(e.subtitlesTracks)?e.subtitlesTracks:[]).concat(Array.isArray(e.extraSubtitlesTracks)?e.extraSubtitlesTracks:[]).reduce((function(e,t){var a=t.lang;return e.includes(a)||e.push(a),e}),[]).sort(T(u))}),[e.subtitlesTracks,e.extraSubtitlesTracks]),a=o.useMemo((function(){return"string"==typeof e.selectedSubtitlesTrackId?(Array.isArray(e.subtitlesTracks)?e.subtitlesTracks:[]).reduce((function(t,a){var o=a.id,i=a.lang;return o===e.selectedSubtitlesTrackId?i:t}),null):"string"==typeof e.selectedExtraSubtitlesTrackId?(Array.isArray(e.extraSubtitlesTracks)?e.extraSubtitlesTracks:[]).reduce((function(t,a){var o=a.id,i=a.lang;return o===e.selectedExtraSubtitlesTrackId?i:t}),null):null}),[e.subtitlesTracks,e.extraSubtitlesTracks,e.selectedSubtitlesTrackId,e.selectedExtraSubtitlesTrackId]),i=o.useMemo((function(){return(Array.isArray(e.subtitlesTracks)?e.subtitlesTracks:[]).concat(Array.isArray(e.extraSubtitlesTracks)?e.extraSubtitlesTracks:[]).filter((function(e){return e.lang===a})).sort((function(e,t){return T(A)(e.origin,t.origin)}))}),[e.subtitlesTracks,e.extraSubtitlesTracks,a]),r=o.useCallback((function(e){e.nativeEvent.subtitlesMenuClosePrevented=!0}),[]),d=o.useCallback((function(t){var a=(Array.isArray(e.subtitlesTracks)?e.subtitlesTracks:[]).concat(Array.isArray(e.extraSubtitlesTracks)?e.extraSubtitlesTracks:[]).filter((function(e){return e.lang===t.currentTarget.dataset.lang})).sort((function(e,t){return T(A)(e.origin,t.origin)})).shift();a?a.embedded?"function"==typeof e.onSubtitlesTrackSelected&&e.onSubtitlesTrackSelected(a.id):"function"==typeof e.onExtraSubtitlesTrackSelected&&e.onExtraSubtitlesTrackSelected(a.id):("function"==typeof e.onSubtitlesTrackSelected&&e.onSubtitlesTrackSelected(null),"function"==typeof e.onExtraSubtitlesTrackSelected&&e.onExtraSubtitlesTrackSelected(null))}),[e.subtitlesTracks,e.extraSubtitlesTracks,e.onSubtitlesTrackSelected,e.onExtraSubtitlesTrackSelected]),c=o.useCallback((function(t){"true"===t.currentTarget.dataset.embedded?"function"==typeof e.onSubtitlesTrackSelected&&e.onSubtitlesTrackSelected(t.currentTarget.dataset.id):"function"==typeof e.onExtraSubtitlesTrackSelected&&e.onExtraSubtitlesTrackSelected(t.currentTarget.dataset.id)}),[e.onSubtitlesTrackSelected,e.onExtraSubtitlesTrackSelected]),O=o.useCallback((function(t){var a="increment"===t.value?250:-250;if("string"==typeof e.selectedExtraSubtitlesTrackId&&null!==e.extraSubtitlesDelay&&!isNaN(e.extraSubtitlesDelay)){var o=e.extraSubtitlesDelay+a;"function"==typeof e.onExtraSubtitlesDelayChanged&&e.onExtraSubtitlesDelayChanged(o)}}),[e.selectedExtraSubtitlesTrackId,e.extraSubtitlesDelay,e.onExtraSubtitlesDelayChanged]),R=o.useCallback((function(t){var a="increment"===t.value?1:-1;if("string"==typeof e.selectedSubtitlesTrackId){if(null!==e.subtitlesSize&&!isNaN(e.subtitlesSize)){var o=_.SUBTITLES_SIZES.indexOf(e.subtitlesSize),i=_.SUBTITLES_SIZES[Math.max(0,Math.min(_.SUBTITLES_SIZES.length-1,o+a))];"function"==typeof e.onSubtitlesSizeChanged&&e.onSubtitlesSizeChanged(i)}}else if("string"==typeof e.selectedExtraSubtitlesTrackId&&null!==e.extraSubtitlesSize&&!isNaN(e.extraSubtitlesSize)){var n=_.SUBTITLES_SIZES.indexOf(e.extraSubtitlesSize),r=_.SUBTITLES_SIZES[Math.max(0,Math.min(_.SUBTITLES_SIZES.length-1,n+a))];"function"==typeof e.onExtraSubtitlesSizeChanged&&e.onExtraSubtitlesSizeChanged(r)}}),[e.selectedSubtitlesTrackId,e.selectedExtraSubtitlesTrackId,e.subtitlesSize,e.extraSubtitlesSize,e.onSubtitlesSizeChanged,e.onExtraSubtitlesSizeChanged]),N=o.useCallback((function(t){var a="increment"===t.value?1:-1;if("string"==typeof e.selectedSubtitlesTrackId){if(null!==e.extraSubtitlesOffset&&!isNaN(e.extraSubtitlesOffset)){var o=Math.max(0,Math.min(100,Math.floor(e.extraSubtitlesOffset+a)));"function"==typeof e.onExtraSubtitlesOffsetChanged&&e.onExtraSubtitlesOffsetChanged(o)}}else if("string"==typeof e.selectedExtraSubtitlesTrackId&&null!==e.subtitlesOffset&&!isNaN(e.subtitlesOffset)){var i=Math.max(0,Math.min(100,Math.floor(e.subtitlesOffset+a)));"function"==typeof e.onSubtitlesOffsetChanged&&e.onSubtitlesOffsetChanged(i)}}),[e.selectedSubtitlesTrackId,e.selectedExtraSubtitlesTrackId,e.subtitlesOffset,e.extraSubtitlesOffset,e.onSubtitlesOffsetChanged,e.onExtraSubtitlesOffsetChanged]),m=o.useCallback((function(t){"function"==typeof e.onAudioTrackSelected&&e.onAudioTrackSelected(t.currentTarget.dataset.id)}),[e.onAudioTrackSelected]);return o.createElement("div",{className:n(e.className,l["subtitles-menu-container"]),onMouseDown:r},Array.isArray(e.audioTracks)&&e.audioTracks.length>1?o.createElement("div",{className:l["languages-container"]},o.createElement("div",{className:l["languages-header"]},"Audio Languages"),o.createElement("div",{className:l["languages-list"]},e.audioTracks.map((function(t,a){var i=t.id,r=t.label,_=t.lang;return o.createElement(E,{key:a,title:r,className:n(l["language-option"],{selected:e.selectedAudioTrackId===i}),"data-id":i,onClick:m},o.createElement("div",{className:l["language-label"]},"string"==typeof s[_]?s[_]:_),e.selectedAudioTrackId===i?o.createElement("div",{className:l.icon}):null)})))):null,o.createElement("div",{className:l["languages-container"]},o.createElement("div",{className:l["languages-header"]},I("PLAYER_SUBTITLES_LANGUAGES")),o.createElement("div",{className:l["languages-list"]},o.createElement(E,{title:I("OFF"),className:n(l["language-option"],{selected:null===a}),onClick:d},o.createElement("div",{className:l["language-label"]},I("OFF")),null===a?o.createElement("div",{className:l.icon}):null),t.map((function(e,t){return o.createElement(E,{key:t,title:"string"==typeof s[e]?s[e]:e,className:n(l["language-option"],{selected:a===e}),"data-lang":e,onClick:d},o.createElement("div",{className:l["language-label"]},"string"==typeof s[e]?s[e]:e),a===e?o.createElement("div",{className:l.icon}):null)})))),o.createElement("div",{className:l["variants-container"]},o.createElement("div",{className:l["variants-header"]},I("PLAYER_SUBTITLES_VARIANTS")),i.length>0?o.createElement("div",{className:l["variants-list"]},i.map((function(t,a){return o.createElement(E,{key:a,title:t.label,className:n(l["variant-option"],{selected:e.selectedSubtitlesTrackId===t.id||e.selectedExtraSubtitlesTrackId===t.id}),"data-id":t.id,"data-origin":t.origin,"data-embedded":t.embedded,onClick:c},o.createElement("div",{className:l["variant-label"]},t.origin),e.selectedSubtitlesTrackId===t.id||e.selectedExtraSubtitlesTrackId===t.id?o.createElement("div",{className:l.icon}):null)}))):o.createElement("div",{className:l["no-variants-container"]},o.createElement("div",{className:l["no-variants-label"]},I("PLAYER_SUBTITLES_DISABLED")))),o.createElement("div",{className:l["subtitles-settings-container"]},o.createElement("div",{className:l["settings-header"]},"Subtitles Settings"),o.createElement(S,{className:l["discrete-input"],label:I("DELAY"),value:"string"!=typeof e.selectedExtraSubtitlesTrackId||null===e.extraSubtitlesDelay||isNaN(e.extraSubtitlesDelay)?"--":"".concat((e.extraSubtitlesDelay/1e3).toFixed(2),"s"),disabled:"string"!=typeof e.selectedExtraSubtitlesTrackId||null===e.extraSubtitlesDelay||isNaN(e.extraSubtitlesDelay),onChange:O}),o.createElement(S,{className:l["discrete-input"],label:I("SIZE"),value:"string"==typeof e.selectedSubtitlesTrackId?null===e.subtitlesSize||isNaN(e.subtitlesSize)?"--":"".concat(e.subtitlesSize,"%"):"string"==typeof e.selectedExtraSubtitlesTrackId?null===e.extraSubtitlesSize||isNaN(e.extraSubtitlesSize)?"--":"".concat(e.extraSubtitlesSize,"%"):"--",disabled:"string"==typeof e.selectedSubtitlesTrackId?null===e.subtitlesSize||isNaN(e.subtitlesSize):"string"!=typeof e.selectedExtraSubtitlesTrackId||(null===e.extraSubtitlesSize||isNaN(e.extraSubtitlesSize)),onChange:R}),o.createElement(S,{className:l["discrete-input"],label:I("PLAYER_SUBTITLES_VERTICAL_POSIITON"),value:"string"==typeof e.selectedSubtitlesTrackId?null===e.subtitlesOffset||isNaN(e.subtitlesOffset)?"--":"".concat(e.subtitlesOffset,"%"):"string"==typeof e.selectedExtraSubtitlesTrackId?null===e.extraSubtitlesOffset||isNaN(e.extraSubtitlesOffset)?"--":"".concat(e.extraSubtitlesOffset,"%"):"--",disabled:"string"==typeof e.selectedSubtitlesTrackId?null===e.subtitlesOffset||isNaN(e.subtitlesOffset):"string"!=typeof e.selectedExtraSubtitlesTrackId||(null===e.extraSubtitlesOffset||isNaN(e.extraSubtitlesOffset)),onChange:N})))}));d.displayName="MainNavBars",d.propTypes={className:i.string,subtitlesTracks:i.arrayOf(i.shape({id:i.string.isRequired,lang:i.string.isRequired,origin:i.string.isRequired})),selectedSubtitlesTrackId:i.string,subtitlesOffset:i.number,subtitlesSize:i.number,extraSubtitlesTracks:i.arrayOf(i.shape({id:i.string.isRequired,lang:i.string.isRequired,origin:i.string.isRequired,label:i.string.isRequired})),selectedExtraSubtitlesTrackId:i.string,extraSubtitlesOffset:i.number,extraSubtitlesDelay:i.number,extraSubtitlesSize:i.number,audioTracks:i.arrayOf(i.shape({id:i.string.isRequired,lang:i.string.isRequired,origin:i.string.isRequired,label:i.string.isRequired})),selectedAudioTrackId:i.string,onSubtitlesTrackSelected:i.func,onExtraSubtitlesTrackSelected:i.func,onAudioTrackSelected:i.func,onSubtitlesOffsetChanged:i.func,onSubtitlesSizeChanged:i.func,onExtraSubtitlesOffsetChanged:i.func,onExtraSubtitlesDelayChanged:i.func,onExtraSubtitlesSizeChanged:i.func},e.exports=d},19646:(e,t,a)=>{var o=a(81346);e.exports=o},55245:(e,t,a)=>{var o=a(67294),i=a(45697),n=a(94184),r=a(23466),E=o.forwardRef((function(e,t){var a=e.className,i=e.onClick,E=e.onDoubleClick;return o.createElement("div",{className:n(a,r["video-container"]),onClick:i,onDoubleClick:E},o.createElement("div",{ref:t,className:r.video}))}));E.displayName="Video",E.propTypes={className:i.string,onClick:i.func,onDoubleClick:i.func},e.exports=E},5711:(e,t,a)=>{var o=a(55245);e.exports=o},84027:(e,t,a)=>{var o=a(67294),i=a(45697),n=a(94184),r=a(90123),E=a(58994),_=function(e){var t=e.className,a=e.metaItem,i=e.seriesInfo,_=o.useCallback((function(e){e.nativeEvent.videosMenuClosePrevented=!0}),[]),T=o.useMemo((function(){return i&&"number"==typeof i.season&&Array.isArray(a.videos)?a.videos.filter((function(e){return e.season===i.season})):a.videos}),[a,i]);return o.createElement("div",{className:n(t,E["videos-menu-container"]),onMouseDown:_},T.map((function(e,t){return o.createElement(r,{key:t,id:e.id,title:e.title,thumbnail:e.thumbnail,episode:e.episode,released:e.released,upcoming:e.upcoming,watched:e.watched,progress:e.progress,deepLinks:e.deepLinks,scheduled:e.scheduled})})))};_.propTypes={className:i.string,metaItem:i.object,seriesInfo:i.shape({season:i.number,episode:i.number})},e.exports=_},66429:(e,t,a)=>{var o=a(84027);e.exports=o},56624:(e,t,a)=>{function o(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return i(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return i(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var n=a(67294),r=a(47429),E=a(95985).default,_=a(94184).default,T=a(45697),s=a(46897),S=a(86590).useBinaryState,l=n.memo((function(e){var t=e.muted,a=e.volume,i=o(S(!1),3),T=i[0],l=i[1],I=i[2],A=n.useRef(null),u=n.useRef(a),d=n.useMemo((function(){return"boolean"==typeof t&&t?"volume-mute":null===a||isNaN(a)?"volume-off":a<30?"volume-low":a<70?"volume-medium":"volume-high"}),[t,a]);return n.useEffect((function(){u.current!==a&&(l(),A.current&&clearTimeout(A.current),A.current=setTimeout(I,1500)),u.current=a}),[a]),n.useEffect((function(){return function(){A.current&&clearTimeout(A.current)}}),[]),n.createElement(n.Fragment,null,T?n.createElement("div",{className:_(s.layer,s["volume-change-indicator"])},n.createElement(E,{name:d,className:s["volume-icon"]}),n.createElement(r,{volume:a,className:s["volume-slider"]})):null)}));l.displayName="VolumeChangeIndicator",e.exports=l,l.propTypes={muted:T.bool,volume:T.number}},78565:(e,t,a)=>{var o=a(56624);e.exports=o},57793:(e,t,a)=>{var o=a(12230);e.exports=o},85852:(e,t,a)=>{function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?o(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):o(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}var r=a(67294),E=a(63662).useServices,_=a(86590),T=_.useModelState,s=_.useCoreSuspender,S=function(e){return i(i({},e),{},{metaItem:null!==e.metaItem&&"Ready"===e.metaItem.type?i(i({},e.metaItem),{},{content:i(i({},e.metaItem.content),{},{released:new Date("string"==typeof e.metaItem.content.released?e.metaItem.content.released:NaN),videos:e.metaItem.content.videos.map((function(e){return i(i({},e),{},{released:new Date("string"==typeof e.released?e.released:NaN)})}))})}):e.metaItem})};e.exports=function(e){var t=E().core,a=(0,s().decodeStream)(e.stream),o=r.useMemo((function(){return null!==a?{action:"Load",args:{model:"Player",args:{stream:a,streamRequest:"string"==typeof e.streamTransportUrl&&"string"==typeof e.type&&"string"==typeof e.videoId?{base:e.streamTransportUrl,path:{resource:"stream",type:e.type,id:e.videoId,extra:[]}}:null,metaRequest:"string"==typeof e.metaTransportUrl&&"string"==typeof e.type&&"string"==typeof e.id?{base:e.metaTransportUrl,path:{resource:"meta",type:e.type,id:e.id,extra:[]}}:null,subtitlesPath:"string"==typeof e.type&&"string"==typeof e.videoId?{resource:"subtitles",type:e.type,id:e.videoId,extra:[]}:null}}}:(console.warn("Player Unload triggered"),{action:"Unload"})}),[e]),i=r.useCallback((function(e){t.transport.dispatch({action:"Player",args:{action:"VideoParamsChanged",args:{videoParams:e}}},"player")}),[]),n=r.useCallback((function(e,a,o){t.transport.dispatch({action:"Player",args:{action:"TimeChanged",args:{time:e,duration:a,device:o}}},"player")}),[]),_=r.useCallback((function(e,a,o){t.transport.dispatch({action:"Player",args:{action:"Seek",args:{time:e,duration:a,device:o}}},"player")}),[]),l=r.useCallback((function(){t.transport.dispatch({action:"Player",args:{action:"Ended"}},"player")}),[]),I=r.useCallback((function(e){t.transport.dispatch({action:"Player",args:{action:"PausedChanged",args:{paused:e}}},"player")}),[]),A=r.useCallback((function(){t.transport.dispatch({action:"Player",args:{action:"NextVideo"}},"player")}),[]);return[T({model:"player",action:o,map:S}),i,n,_,I,l,A]}},64109:(e,t,a)=>{function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?o(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):o(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}var r=a(67294),E=a(63662).useServices,_=a(86590).useProfile;e.exports=function(){var e=E().core,t=_(),a=r.useCallback((function(a){e.transport.dispatch({action:"Ctx",args:{action:"UpdateSettings",args:i(i({},t.settings),a)}})}),[t]);return[t.settings,a]}},13600:(e,t,a)=>{var o=a(67294),i=a(63662).useServices;e.exports=function(e,t){var a=i().core,n=o.useMemo((function(){var t;return null!==(t=e.selected)&&void 0!==t&&t.stream?e.selected.stream:null}),[e.selected]),r=o.useMemo((function(){return null!=n&&n.infoHash?null==n?void 0:n.infoHash:null}),[n]),E=o.useMemo((function(){var e;return"Ready"===(null===(e=t.statistics)||void 0===e?void 0:e.type)?t.statistics.content:null}),[t.statistics]),_=o.useMemo((function(){return null!=E&&E.peers?E.peers:0}),[E]),T=o.useMemo((function(){return null!=E&&E.downloadSpeed?parseFloat((E.downloadSpeed/1e3/1e3).toFixed(2)):0}),[E]),s=o.useMemo((function(){return null!=E&&E.streamProgress?parseFloat((100*E.streamProgress).toFixed(2)):0}),[E]),S=o.useCallback((function(){if(n){var e=n.infoHash,t=n.fileIdx;"string"==typeof e&&"number"==typeof t&&a.transport.dispatch({action:"StreamingServer",args:{action:"GetStatistics",args:{infoHash:e,fileIdx:t}}})}}),[n]);return o.useEffect((function(){S();var e=setInterval(S,5e3);return function(){return clearInterval(e)}}),[S]),{infoHash:r,peers:_,speed:T,completed:s}}},46722:(e,t,a)=>{function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?o(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):o(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function r(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return E(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return E(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function E(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var _=a(67294),T=a(91654),s=new(a(26729));e.exports=function(){var e=_.useRef(null),t=_.useRef(null),a=r(_.useState({manifest:null,stream:null,paused:null,time:null,duration:null,buffering:null,buffered:null,volume:null,muted:null,playbackSpeed:null,videoParams:null,audioTracks:[],selectedAudioTrackId:null,subtitlesTracks:[],selectedSubtitlesTrackId:null,subtitlesOffset:null,subtitlesSize:null,subtitlesTextColor:null,subtitlesBackgroundColor:null,subtitlesOutlineColor:null,extraSubtitlesTracks:[],selectedExtraSubtitlesTrackId:null,extraSubtitlesSize:null,extraSubtitlesDelay:null,extraSubtitlesOffset:null,extraSubtitlesTextColor:null,extraSubtitlesBackgroundColor:null,extraSubtitlesOutlineColor:null}),2),o=a[0],E=a[1],S=function(a,o){if(e.current&&t.current)try{e.current.dispatch(a,i(i({},o),{},{containerElement:t.current}))}catch(e){console.error("Video:",e)}},l=function(e){s.emit("error",e)},I=function(){s.emit("ended")},A=function(e){s.emit("subtitlesTrackLoaded",e)},u=function(e){s.emit("extraSubtitlesTrackLoaded",e)},d=function(e,t){E((function(a){return i(i({},a),{},n({},e,t))}))},c=function(e){e.props.forEach((function(e){return S({type:"observeProp",propName:e})})),E((function(t){return i(i({},t),{},{manifest:e})})),s.emit("implementationChanged",e)};return _.useEffect((function(){return e.current=new T,e.current.on("error",l),e.current.on("ended",I),e.current.on("propChanged",d),e.current.on("propValue",d),e.current.on("implementationChanged",c),e.current.on("subtitlesTrackLoaded",A),e.current.on("extraSubtitlesTrackLoaded",u),function(){return e.current.destroy()}}),[]),{events:s,containerElement:t,state:o,load:function(e,t){S({type:"command",commandName:"load",commandArgs:e},t)},unload:function(){S({type:"command",commandName:"unload"})},addExtraSubtitlesTracks:function(e){S({type:"command",commandName:"addExtraSubtitlesTracks",commandArgs:{tracks:e}})},setProp:function(e,t){S({type:"setProp",propName:e,propValue:t})}}}},24853:(e,t,a)=>{function o(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return i(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return i(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var n=a(67294),r=a(45697),E=a(94184),_=a(91296),T=a(81468).useTranslation,s=a(95985).default,S=a(86590),l=S.Image,I=S.MainNavBars,A=S.MetaRow,u=S.MetaItem,d=S.withCoreSuspender,c=S.getVisibleChildrenRange,O=a(84182),R=a(63287),N=function(e){var t=e.queryParams,i=T().t,r=o(O(t),2),S=r[0],d=r[1],N=n.useMemo((function(){return null!==S.selected?S.selected.extra.reduceRight((function(e,t){var a=o(t,2),i=a[0],n=a[1];return"search"===i?n:e}),null):null}),[S.selected]),m=n.useRef(),L=n.useCallback((function(){if(0!==S.catalogs.length){var e=c(m.current,100);null!==e&&d(e)}}),[S.catalogs]),D=n.useCallback(_(L,250),[L]);return n.useLayoutEffect((function(){L()}),[S.catalogs,L]),n.createElement(I,{className:R["search-container"],route:"search",query:N},n.createElement("div",{ref:m,className:R["search-content"],onScroll:D},null===N?n.createElement("div",{className:E(R["search-hints-wrapper"])},n.createElement("div",{className:E(R["search-hints-title-container"],"animation-fade-in")},n.createElement("div",{className:R["search-hints-title"]},i("SEARCH_ANYTHING"))),n.createElement("div",{className:E(R["search-hints-container"],"animation-fade-in")},n.createElement("div",{className:R["search-hint-container"]},n.createElement(s,{className:R.icon,name:"trailer"}),n.createElement("div",{className:R.label},i("SEARCH_CATEGORIES"))),n.createElement("div",{className:R["search-hint-container"]},n.createElement(s,{className:R.icon,name:"actors"}),n.createElement("div",{className:R.label},i("SEARCH_PERSONS"))),n.createElement("div",{className:R["search-hint-container"]},n.createElement(s,{className:R.icon,name:"link"}),n.createElement("div",{className:R.label},i("SEARCH_PROTOCOLS"))),n.createElement("div",{className:R["search-hint-container"]},n.createElement(s,{className:R.icon,name:"imdb-outline"}),n.createElement("div",{className:R.label},i("SEARCH_TYPES"))))):0===S.catalogs.length?n.createElement("div",{className:R["message-container"]},n.createElement(l,{className:R.image,src:a(47740),alt:" "}),n.createElement("div",{className:R["message-label"]},i("STREMIO_TV_SEARCH_NO_ADDONS"))):S.catalogs.map((function(e,t){var a;switch(null===(a=e.content)||void 0===a?void 0:a.type){case"Ready":return n.createElement(A,{key:t,className:E(R["search-row"],R["search-row-".concat(e.content.content[0].posterShape)],"animation-fade-in"),catalog:e,itemComponent:u});case"Err":return n.createElement(A,{key:t,className:E(R["search-row"],"animation-fade-in"),catalog:e,message:e.content.content});default:return n.createElement(A.Placeholder,{key:t,className:E(R["search-row"],R["search-row-poster"],"animation-fade-in"),catalog:e})}}))))};N.propTypes={queryParams:r.instanceOf(URLSearchParams)};var m=function(e){var t,a=e.queryParams;return n.createElement(I,{className:R["search-container"],route:"search",query:null!==(t=a.get("search"))&&void 0!==t?t:a.get("query")})};m.propTypes=N.propTypes,e.exports=d(N,m)},96375:(e,t,a)=>{var o=a(24853);e.exports=o},84182:(e,t,a)=>{var o=a(67294),i=a(86590).useModelState,n=a(63662).useServices;e.exports=function(e){var t=n().core,a=o.useMemo((function(){var t,a=null!==(t=e.get("search"))&&void 0!==t?t:e.get("query");return(null==a?void 0:a.length)>0?{action:"Load",args:{model:"CatalogsWithExtra",args:{extra:[["search",a]]}}}:{action:"Unload"}}),[e]),r=o.useCallback((function(e){t.transport.dispatch({action:"CatalogsWithExtra",args:{action:"LoadRange",args:e}},"search")}),[]);return[i({model:"search",action:a}),r]}},85674:(e,t,a)=>{function o(){return o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(e[o]=a[o])}return e},o.apply(this,arguments)}function i(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function n(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return r(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return r(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var E=a(67294),_=a(94184),T=a(93096),s=a(81468).useTranslation,S=a(95985).default,l=a(21665).useRouteFocused,I=a(63662).useServices,A=a(86590),u=A.Button,d=A.Checkbox,c=A.MainNavBars,O=A.Multiselect,R=A.ColorInput,N=A.TextInput,m=A.ModalDialog,L=A.useProfile,D=A.usePlatform,p=A.useStreamingServer,h=A.useBinaryState,C=A.withCoreSuspender,f=A.useToast,B=a(81621),P=a(86842),g=a(94137),v=a(44371),y="general",W="player",M="streaming",b="shortcuts";e.exports=C((function(){var e=s().t,t=I(),r=t.core,A=t.shell,C=l().routeFocused,U=L(),G=n(g(),2),k=G[0],F=G[1],V=p(),H=D(),w=f(),Y=B(U),z=Y.interfaceLanguageSelect,K=Y.subtitlesLanguageSelect,x=Y.subtitlesSizeSelect,j=Y.subtitlesTextColorInput,Q=Y.subtitlesBackgroundColorInput,X=Y.subtitlesOutlineColorInput,$=Y.audioLanguageSelect,q=Y.surroundSoundCheckbox,J=Y.seekTimeDurationSelect,Z=Y.seekShortTimeDurationSelect,ee=Y.escExitFullscreenCheckbox,te=Y.playInExternalPlayerSelect,ae=Y.nextVideoPopupDurationSelect,oe=Y.bingeWatchingCheckbox,ie=Y.playInBackgroundCheckbox,ne=Y.hardwareDecodingCheckbox,re=Y.streamingServerUrlInput,Ee=P(V),_e=Ee.streamingServerRemoteUrlInput,Te=Ee.remoteEndpointSelect,se=Ee.cacheSizeSelect,Se=Ee.torrentProfileSelect,le=Ee.transcodingProfileSelect,Ie=n(h(!1),3),Ae=Ie[0],ue=Ie[1],de=Ie[2],ce=E.useRef(null),Oe=E.useCallback((function(){re.onChange(ce.current.value),de()}),[re]),Re=n(E.useState(!1),2),Ne=Re[0],me=Re[1],Le=E.useMemo((function(){return null!==U.auth&&null!==U.auth.user&&null!==U.auth.user.trakt&&Date.now()/1e3<U.auth.user.trakt.created_at+U.auth.user.trakt.expires_in}),[U.auth]),De=E.useMemo((function(){return[{className:v["cancel-button"],label:"Cancel",props:{onClick:de}},{label:"Submit",props:{onClick:Oe}}]}),[Oe]),pe=E.useCallback((function(){r.transport.dispatch({action:"Ctx",args:{action:"Logout"}})}),[]),he=E.useCallback((function(){Le||null===U.auth||null===U.auth.user||"string"!=typeof U.auth.user._id?r.transport.dispatch({action:"Ctx",args:{action:"LogoutTrakt"}}):(H.openExternal("https://www.strem.io/trakt/auth/".concat(U.auth.user._id)),me(!0))}),[Le,U.auth]),Ce=E.useCallback((function(){if(U.auth){var t="ios"===H.name?"webcal":"https",a="".concat(t,"://www.strem.io/calendar/").concat(U.auth.user._id,".ics");H.openExternal(a),w.show({type:"success",title:"ios"===H.name?e("SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST"):e("SETTINGS_SUBSCRIBE_CALENDAR_TOAST"),timeout:25e3})}}),[U.auth]),fe=E.useCallback((function(){F()}),[]),Be=E.useCallback((function(){r.transport.dispatch({action:"StreamingServer",args:{action:"Reload"}})}),[]),Pe=E.useCallback((function(){V.remoteUrl&&(navigator.clipboard.writeText(V.remoteUrl),w.show({type:"success",title:e("SETTINGS_REMOTE_URL_COPIED"),timeout:2500}))}),[V.remoteUrl]),ge=E.useRef(null),ve=E.useRef(null),ye=E.useRef(null),We=E.useRef(null),Me=E.useRef(null),be=E.useMemo((function(){return[{ref:ve,id:y},{ref:ye,id:W},{ref:We,id:M},{ref:Me,id:b}]}),[]),Ue=n(E.useState(y),2),Ge=Ue[0],ke=Ue[1],Fe=E.useCallback((function(){if(ge.current.scrollTop+ge.current.clientHeight>=ge.current.scrollHeight-50)ke(be[be.length-1].id);else for(var e=be.length-1;e>=0;e--)if(be[e].ref.current.offsetTop-ge.current.offsetTop<=ge.current.scrollTop){ke(be[e].id);break}}),[]),Ve=E.useCallback((function(e){var t=be.find((function(t){return t.id===e.currentTarget.dataset.section}));ge.current.scrollTo({top:t.ref.current.offsetTop-ge.current.offsetTop,behavior:"smooth"})}),[]),He=E.useCallback(T((function(){Fe()}),50),[]);return E.useEffect((function(){Le&&Ne&&(r.transport.dispatch({action:"Ctx",args:{action:"InstallTraktAddon"}}),me(!1))}),[Le,Ne]),E.useEffect((function(){null!==k.exportUrl&&"string"==typeof k.exportUrl&&H.openExternal(k.exportUrl)}),[k.exportUrl]),E.useLayoutEffect((function(){C&&Fe(),de()}),[C]),E.createElement(c,{className:v["settings-container"],route:"settings"},E.createElement("div",{className:_(v["settings-content"],"animation-fade-in")},E.createElement("div",{className:v["side-menu-container"]},E.createElement(u,{className:_(v["side-menu-button"],i({},v.selected,Ge===y)),title:e("SETTINGS_NAV_GENERAL"),"data-section":y,onClick:Ve},e("SETTINGS_NAV_GENERAL")),E.createElement(u,{className:_(v["side-menu-button"],i({},v.selected,Ge===W)),title:e("SETTINGS_NAV_PLAYER"),"data-section":W,onClick:Ve},e("SETTINGS_NAV_PLAYER")),E.createElement(u,{className:_(v["side-menu-button"],i({},v.selected,Ge===M)),title:e("SETTINGS_NAV_STREAMING"),"data-section":M,onClick:Ve},e("SETTINGS_NAV_STREAMING")),E.createElement(u,{className:_(v["side-menu-button"],i({},v.selected,Ge===b)),title:e("SETTINGS_NAV_SHORTCUTS"),"data-section":b,onClick:Ve},e("SETTINGS_NAV_SHORTCUTS")),E.createElement("div",{className:v.spacing}),E.createElement("div",{className:v["version-info-label"],title:"5.0.0-beta.13"},"App Version: ","5.0.0-beta.13"),null!==V.settings&&"Ready"===V.settings.type?E.createElement("div",{className:v["version-info-label"],title:V.settings.content.serverVersion},"Server Version: ",V.settings.content.serverVersion):null),E.createElement("div",{ref:ge,className:v["sections-container"],onScroll:He},E.createElement("div",{ref:ve,className:v["section-container"]},E.createElement("div",{className:_(v["option-container"],v["user-info-option-container"])},E.createElement("div",{className:v["user-info-content"]},E.createElement("div",{className:v["avatar-container"],style:{backgroundImage:null===U.auth?"url('".concat(a(93028),"')"):U.auth.user.avatar?"url('".concat(U.auth.user.avatar,"')"):"url('".concat(a(11251),"')")}}),E.createElement("div",{className:v["email-logout-container"]},E.createElement("div",{className:v["email-label-container"],title:null===U.auth?"Anonymous user":U.auth.user.email},E.createElement("div",{className:v["email-label"]},null===U.auth?"Anonymous user":U.auth.user.email)),null!==U.auth?E.createElement(u,{className:v["logout-button-container"],title:e("LOG_OUT"),onClick:pe},E.createElement("div",{className:v["logout-label"]},e("LOG_OUT"))):null))),null===U.auth?E.createElement("div",{className:v["option-container"]},E.createElement(u,{className:_(v["option-input-container"],v["button-container"]),title:"".concat(e("LOG_IN")," / ").concat(e("SIGN_UP")),href:"#/intro"},E.createElement("div",{className:v.label},e("LOG_IN")," / ",e("SIGN_UP")))):null),E.createElement("div",{className:v["section-container"]},E.createElement("div",{className:_(v["option-container"],v["link-container"])},U.auth?E.createElement(u,{className:_(v["option-input-container"],v["link-input-container"]),title:e("SETTINGS_DATA_EXPORT"),tabIndex:-1,onClick:fe},E.createElement("div",{className:v.label},e("SETTINGS_DATA_EXPORT"))):null),null!==U.auth&&null!==U.auth.user&&"string"==typeof U.auth.user._id?E.createElement("div",{className:_(v["option-container"],v["link-container"])},E.createElement(u,{className:_(v["option-input-container"],v["link-input-container"]),title:e("SETTINGS_SUBSCRIBE_CALENDAR"),tabIndex:-1,onClick:Ce},E.createElement("div",{className:v.label},e("SETTINGS_SUBSCRIBE_CALENDAR")))):null,E.createElement("div",{className:_(v["option-container"],v["link-container"])},E.createElement(u,{className:_(v["option-input-container"],v["link-input-container"]),title:e("SETTINGS_SUPPORT"),target:"_blank",href:"https://stremio.zendesk.com/hc/en-us"},E.createElement("div",{className:v.label},e("SETTINGS_SUPPORT")))),E.createElement("div",{className:_(v["option-container"],v["link-container"])},E.createElement(u,{className:_(v["option-input-container"],v["link-input-container"]),title:"Source code",target:"_blank",href:"https://github.com/stremio/stremio-web/tree/".concat("db0f16b81e41b3901bcf5e0a624af142b1dd9f00")},E.createElement("div",{className:v.label},"Source code"))),E.createElement("div",{className:_(v["option-container"],v["link-container"])},E.createElement(u,{className:_(v["option-input-container"],v["link-input-container"]),title:e("TERMS_OF_SERVICE"),target:"_blank",href:"https://www.stremio.com/tos"},E.createElement("div",{className:v.label},e("TERMS_OF_SERVICE")))),E.createElement("div",{className:_(v["option-container"],v["link-container"])},E.createElement(u,{className:_(v["option-input-container"],v["link-input-container"]),title:e("PRIVACY_POLICY"),target:"_blank",href:"https://www.stremio.com/privacy"},E.createElement("div",{className:v.label},e("PRIVACY_POLICY")))),null!==U.auth&&null!==U.auth.user?E.createElement("div",{className:_(v["option-container"],v["link-container"])},E.createElement(u,{className:_(v["option-input-container"],v["link-input-container"]),title:e("SETTINGS_ACC_DELETE"),target:"_blank",href:"https://stremio.zendesk.com/hc/en-us/articles/360021428911-How-to-delete-my-account"},E.createElement("div",{className:v.label},e("SETTINGS_ACC_DELETE")))):null,null!==U.auth&&null!==U.auth.user&&"string"==typeof U.auth.user.email?E.createElement("div",{className:v["option-container"]},E.createElement(u,{className:_(v["option-input-container"],v["link-input-container"]),title:e("SETTINGS_CHANGE_PASSWORD"),target:"_blank",href:"https://www.strem.io/reset-password/".concat(U.auth.user.email)},E.createElement("div",{className:v.label},e("SETTINGS_CHANGE_PASSWORD")))):null,E.createElement("div",{className:v["option-container"]},E.createElement("div",{className:_(v["option-name-container"],v["trakt-icon"])},E.createElement(S,{className:v.icon,name:"trakt"}),E.createElement("div",{className:v.label},"Trakt Scrobbling")),E.createElement(u,{className:_(v["option-input-container"],v["button-container"]),title:"Authenticate",disabled:null===U.auth,tabIndex:-1,onClick:he},E.createElement("div",{className:v.label},null!==U.auth&&null!==U.auth.user&&null!==U.auth.user.trakt?e("LOG_OUT"):e("SETTINGS_TRAKT_AUTHENTICATE"))))),E.createElement("div",{className:v["section-container"]},E.createElement("div",{className:v["option-container"]},E.createElement("div",{className:v["option-name-container"]},E.createElement("div",{className:v.label},e("SETTINGS_UI_LANGUAGE"))),E.createElement(O,o({className:_(v["option-input-container"],v["multiselect-container"]),tabIndex:-1},z)))),E.createElement("div",{ref:ye,className:v["section-container"]},E.createElement("div",{className:v["section-title"]},e("SETTINGS_NAV_PLAYER")),E.createElement("div",{className:v["section-category-container"]},E.createElement(S,{className:v.icon,name:"subtitles"}),E.createElement("div",{className:v.label},e("SETTINGS_SECTION_SUBTITLES"))),E.createElement("div",{className:v["option-container"]},E.createElement("div",{className:v["option-name-container"]},E.createElement("div",{className:v.label},e("SETTINGS_SUBTITLES_LANGUAGE"))),E.createElement(O,o({className:_(v["option-input-container"],v["multiselect-container"])},K))),A.active?E.createElement("div",{className:v["option-container"]},E.createElement("div",{className:v["option-name-container"]},E.createElement("div",{className:v.label},e("SETTINGS_FULLSCREEN_EXIT"))),E.createElement(d,o({className:_(v["option-input-container"],v["checkbox-container"])},ee))):null,E.createElement("div",{className:v["option-container"]},E.createElement("div",{className:v["option-name-container"]},E.createElement("div",{className:v.label},e("SETTINGS_SUBTITLES_SIZE"))),E.createElement(O,o({className:_(v["option-input-container"],v["multiselect-container"])},x))),E.createElement("div",{className:v["option-container"]},E.createElement("div",{className:v["option-name-container"]},E.createElement("div",{className:v.label},e("SETTINGS_SUBTITLES_COLOR"))),E.createElement(R,o({className:_(v["option-input-container"],v["color-input-container"])},j))),E.createElement("div",{className:v["option-container"]},E.createElement("div",{className:v["option-name-container"]},E.createElement("div",{className:v.label},e("SETTINGS_SUBTITLES_COLOR_BACKGROUND"))),E.createElement(R,o({className:_(v["option-input-container"],v["color-input-container"])},Q))),E.createElement("div",{className:v["option-container"]},E.createElement("div",{className:v["option-name-container"]},E.createElement("div",{className:v.label},e("SETTINGS_SUBTITLES_COLOR_OUTLINE"))),E.createElement(R,o({className:_(v["option-input-container"],v["color-input-container"])},X)))),E.createElement("div",{className:v["section-container"]},E.createElement("div",{className:v["section-category-container"]},E.createElement(S,{className:v.icon,name:"volume-medium"}),E.createElement("div",{className:v.label},e("SETTINGS_SECTION_AUDIO"))),E.createElement("div",{className:v["option-container"]},E.createElement("div",{className:v["option-name-container"]},E.createElement("div",{className:v.label},e("SETTINGS_DEFAULT_AUDIO_TRACK"))),E.createElement(O,o({className:_(v["option-input-container"],v["multiselect-container"])},$))),E.createElement("div",{className:v["option-container"]},E.createElement("div",{className:v["option-name-container"]},E.createElement("div",{className:v.label},e("SETTINGS_SURROUND_SOUND"))),E.createElement(d,o({className:_(v["option-input-container"],v["checkbox-container"]),tabIndex:-1},q)))),E.createElement("div",{className:v["section-container"]},E.createElement("div",{className:v["section-category-container"]},E.createElement(S,{className:v.icon,name:"remote"}),E.createElement("div",{className:v.label},e("SETTINGS_SECTION_CONTROLS"))),E.createElement("div",{className:v["option-container"]},E.createElement("div",{className:v["option-name-container"]},E.createElement("div",{className:v.label},e("SETTINGS_SEEK_KEY"))),E.createElement(O,o({className:_(v["option-input-container"],v["multiselect-container"])},J))),E.createElement("div",{className:v["option-container"]},E.createElement("div",{className:v["option-name-container"]},E.createElement("div",{className:v.label},e("SETTINGS_SEEK_KEY_SHIFT"))),E.createElement(O,o({className:_(v["option-input-container"],v["multiselect-container"])},Z))),E.createElement("div",{className:v["option-container"]},E.createElement("div",{className:v["option-name-container"]},E.createElement("div",{className:v.label},e("SETTINGS_PLAY_IN_BACKGROUND"))),E.createElement(d,o({className:_(v["option-input-container"],v["checkbox-container"]),disabled:!0,tabIndex:-1},ie)))),E.createElement("div",{className:v["section-container"]},E.createElement("div",{className:v["section-category-container"]},E.createElement(S,{className:v.icon,name:"play"}),E.createElement("div",{className:v.label},e("SETTINGS_SECTION_AUTO_PLAY"))),E.createElement("div",{className:v["option-container"]},E.createElement("div",{className:v["option-name-container"]},E.createElement("div",{className:v.label},e("AUTO_PLAY"))),E.createElement(d,o({className:_(v["option-input-container"],v["checkbox-container"])},oe))),E.createElement("div",{className:v["option-container"]},E.createElement("div",{className:v["option-name-container"]},E.createElement("div",{className:v.label},e("SETTINGS_NEXT_VIDEO_POPUP_DURATION"))),E.createElement(O,o({className:_(v["option-input-container"],v["multiselect-container"]),disabled:!U.settings.bingeWatching},ae)))),E.createElement("div",{className:v["section-container"]},E.createElement("div",{className:v["section-category-container"]},E.createElement(S,{className:v.icon,name:"glasses"}),E.createElement("div",{className:v.label},e("SETTINGS_SECTION_ADVANCED"))),E.createElement("div",{className:v["option-container"]},E.createElement("div",{className:v["option-name-container"]},E.createElement("div",{className:v.label},e("SETTINGS_PLAY_IN_EXTERNAL_PLAYER"))),E.createElement(O,o({className:_(v["option-input-container"],v["multiselect-container"])},te))),E.createElement("div",{className:v["option-container"]},E.createElement("div",{className:v["option-name-container"]},E.createElement("div",{className:v.label},e("SETTINGS_HWDEC"))),E.createElement(d,o({className:_(v["option-input-container"],v["checkbox-container"]),disabled:!0,tabIndex:-1},ne)))),E.createElement("div",{ref:We,className:v["section-container"]},E.createElement("div",{className:v["section-title"]},e("SETTINGS_NAV_STREAMING")),E.createElement("div",{className:v["option-container"]},E.createElement(u,{className:_(v["option-input-container"],v["button-container"]),title:"Reload",onClick:Be},E.createElement("div",{className:v.label},e("RELOAD")))),E.createElement("div",{className:v["option-container"]},E.createElement("div",{className:v["option-name-container"]},E.createElement("div",{className:v.label},e("STATUS"))),E.createElement("div",{className:_(v["option-input-container"],v["info-container"])},E.createElement("div",{className:v.label},null===V.settings?"NotLoaded":"Ready"===V.settings.type?e("SETTINGS_SERVER_STATUS_ONLINE"):"Err"===V.settings.type?e("SETTINGS_SERVER_STATUS_ERROR"):V.settings.type))),E.createElement("div",{className:v["option-container"]},E.createElement("div",{className:v["option-name-container"]},E.createElement("div",{className:v.label},"Url")),E.createElement("div",{className:_(v["option-input-container"],v["configure-input-container"])},E.createElement("div",{className:v.label,title:re.value},re.value),E.createElement(u,{className:v["configure-button-container"],title:"Configure server url",onClick:ue},E.createElement(S,{className:v.icon,name:"settings"})))),null!==_e.value?E.createElement("div",{className:v["option-container"]},E.createElement("div",{className:v["option-name-container"]},E.createElement("div",{className:v.label},e("SETTINGS_REMOTE_URL"))),E.createElement("div",{className:_(v["option-input-container"],v["configure-input-container"])},E.createElement("div",{className:v.label,title:_e.value},_e.value),E.createElement(u,{className:v["configure-button-container"],title:e("SETTINGS_COPY_REMOTE_URL"),onClick:Pe},E.createElement(S,{className:v.icon,name:"link"})))):null,null!==U.auth&&null!==U.auth.user&&null!==Te?E.createElement("div",{className:v["option-container"]},E.createElement("div",{className:v["option-name-container"]},E.createElement("div",{className:v.label},e("SETTINGS_HTTPS_ENDPOINT"))),E.createElement(O,o({className:_(v["option-input-container"],v["multiselect-container"])},Te))):null,null!==se?E.createElement("div",{className:v["option-container"]},E.createElement("div",{className:v["option-name-container"]},E.createElement("div",{className:v.label},e("SETTINGS_SERVER_CACHE_SIZE"))),E.createElement(O,o({className:_(v["option-input-container"],v["multiselect-container"])},se))):null,null!==Se?E.createElement("div",{className:v["option-container"]},E.createElement("div",{className:v["option-name-container"]},E.createElement("div",{className:v.label},e("SETTINGS_SERVER_TORRENT_PROFILE"))),E.createElement(O,o({className:_(v["option-input-container"],v["multiselect-container"])},Se))):null,null!==le?E.createElement("div",{className:v["option-container"]},E.createElement("div",{className:v["option-name-container"]},E.createElement("div",{className:v.label},e("SETTINGS_TRANSCODE_PROFILE"))),E.createElement(O,o({className:_(v["option-input-container"],v["multiselect-container"])},le))):null),E.createElement("div",{ref:Me,className:v["section-container"]},E.createElement("div",{className:v["section-title"]},e("SETTINGS_NAV_SHORTCUTS")),E.createElement("div",{className:v["option-container"]},E.createElement("div",{className:v["option-name-container"]},E.createElement("div",{className:v.label},e("SETTINGS_SHORTCUT_PLAY_PAUSE"))),E.createElement("div",{className:_(v["option-input-container"],v["shortcut-container"])},E.createElement("kbd",null,e("SETTINGS_SHORTCUT_SPACE")))),E.createElement("div",{className:v["option-container"]},E.createElement("div",{className:v["option-name-container"]},E.createElement("div",{className:v.label},e("SETTINGS_SHORTCUT_SEEK_FORWARD"))),E.createElement("div",{className:_(v["option-input-container"],v["shortcut-container"])},E.createElement("kbd",null,"→"),E.createElement("div",{className:v.label},e("SETTINGS_SHORTCUT_OR")),E.createElement("kbd",null,"⇧ ",e("SETTINGS_SHORTCUT_SHIFT")),E.createElement("div",{className:v.label},"+"),E.createElement("kbd",null,"→"))),E.createElement("div",{className:v["option-container"]},E.createElement("div",{className:v["option-name-container"]},E.createElement("div",{className:v.label},e("SETTINGS_SHORTCUT_SEEK_BACKWARD"))),E.createElement("div",{className:_(v["option-input-container"],v["shortcut-container"])},E.createElement("kbd",null,"←"),E.createElement("div",{className:v.label},e("SETTINGS_SHORTCUT_OR")),E.createElement("kbd",null,"⇧ ",e("SETTINGS_SHORTCUT_SHIFT")),E.createElement("div",{className:v.label},"+"),E.createElement("kbd",null,"←"))),E.createElement("div",{className:v["option-container"]},E.createElement("div",{className:v["option-name-container"]},E.createElement("div",{className:v.label},e("SETTINGS_SHORTCUT_VOLUME_UP"))),E.createElement("div",{className:_(v["option-input-container"],v["shortcut-container"])},E.createElement("kbd",null,"↑"))),E.createElement("div",{className:v["option-container"]},E.createElement("div",{className:v["option-name-container"]},E.createElement("div",{className:v.label},e("SETTINGS_SHORTCUT_VOLUME_DOWN"))),E.createElement("div",{className:_(v["option-input-container"],v["shortcut-container"])},E.createElement("kbd",null,"↓"))),E.createElement("div",{className:v["option-container"]},E.createElement("div",{className:v["option-name-container"]},E.createElement("div",{className:v.label},e("SETTINGS_SHORTCUT_MENU_SUBTITLES"))),E.createElement("div",{className:_(v["option-input-container"],v["shortcut-container"])},E.createElement("kbd",null,"S"))),E.createElement("div",{className:v["option-container"]},E.createElement("div",{className:v["option-name-container"]},E.createElement("div",{className:v.label},e("SETTINGS_SHORTCUT_MENU_INFO"))),E.createElement("div",{className:_(v["option-input-container"],v["shortcut-container"])},E.createElement("kbd",null,"I"))),E.createElement("div",{className:v["option-container"]},E.createElement("div",{className:v["option-name-container"]},E.createElement("div",{className:v.label},e("SETTINGS_SHORTCUT_MENU_VIDEOS"))),E.createElement("div",{className:_(v["option-input-container"],v["shortcut-container"])},E.createElement("kbd",null,"V"))),E.createElement("div",{className:v["option-container"]},E.createElement("div",{className:v["option-name-container"]},E.createElement("div",{className:v.label},e("SETTINGS_SHORTCUT_FULLSCREEN"))),E.createElement("div",{className:_(v["option-input-container"],v["shortcut-container"])},E.createElement("kbd",null,"F"))),E.createElement("div",{className:v["option-container"]},E.createElement("div",{className:v["option-name-container"]},E.createElement("div",{className:v.label},e("SETTINGS_SHORTCUT_NAVIGATE_MENUS"))),E.createElement("div",{className:_(v["option-input-container"],v["shortcut-container"])},E.createElement("kbd",null,"1"),E.createElement("div",{className:v.label},e("SETTINGS_SHORTCUT_TO")),E.createElement("kbd",null,"5"))),E.createElement("div",{className:v["option-container"]},E.createElement("div",{className:v["option-name-container"]},E.createElement("div",{className:v.label},e("SETTINGS_SHORTCUT_GO_TO_SEARCH"))),E.createElement("div",{className:_(v["option-input-container"],v["shortcut-container"])},E.createElement("kbd",null,"0"))),E.createElement("div",{className:v["option-container"]},E.createElement("div",{className:v["option-name-container"]},E.createElement("div",{className:v.label},e("SETTINGS_SHORTCUT_EXIT_BACK"))),E.createElement("div",{className:_(v["option-input-container"],v["shortcut-container"])},E.createElement("kbd",null,e("SETTINGS_SHORTCUT_ESC"))))),E.createElement("div",{className:_(v["section-container"],v["versions-section-container"])},E.createElement("div",{className:v["option-container"]},E.createElement("div",{className:v["option-name-container"]},E.createElement("div",{className:v.label},"App Version")),E.createElement("div",{className:_(v["option-input-container"],v["info-container"])},E.createElement("div",{className:v.label},"5.0.0-beta.13"))),null!==V.settings&&"Ready"===V.settings.type?E.createElement("div",{className:v["option-container"]},E.createElement("div",{className:v["option-name-container"]},E.createElement("div",{className:v.label},"Server Version")),E.createElement("div",{className:_(v["option-input-container"],v["info-container"])},E.createElement("div",{className:v.label},V.settings.content.serverVersion))):null))),Ae?E.createElement(m,{className:v["configure-server-url-modal-container"],title:e("SETTINGS_SERVER_CONFIGURE_TITLE"),buttons:De,onCloseRequest:de},E.createElement(N,{ref:ce,autoFocus:!0,className:v["server-url-input"],type:"text",defaultValue:re.value,placeholder:e("SETTINGS_SERVER_CONFIGURE_INPUT"),onSubmit:Oe})):null)}),(function(){return E.createElement(c,{className:v["settings-container"],route:"settings"})}))},62465:(e,t,a)=>{var o=a(85674);e.exports=o},94137:(e,t,a)=>{function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?o(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):o(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}var r=a(67294),E=a(63662).useServices,_=a(86590).useModelState,T=function(e){return i(i({},e),{},{exportUrl:null!==e&&null!==e.exportUrl&&"Ready"===e.exportUrl.type?e.exportUrl.content:null})};e.exports=function(){var e=E().core,t=r.useCallback((function(){e.transport.dispatch({action:"Load",args:{model:"DataExport"}},"data_export")}),[]);return[_({model:"data_export",map:T}),t]}},81621:(e,t,a)=>{function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?o(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):o(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}var r=a(67294),E=a(81468).useTranslation,_=a(63662).useServices,T=a(86590),s=T.CONSTANTS,S=T.usePlatform,l=T.interfaceLanguages,I=T.languageNames;e.exports=function(e){var t=E().t,a=_().core,o=S();return{interfaceLanguageSelect:r.useMemo((function(){var t,o;return{options:l.map((function(e){var t=e.name;return{value:e.codes[0],label:t}})),selected:[(null===(t=l.find((function(t){return t.codes[1]===e.settings.interfaceLanguage})))||void 0===t||null===(o=t.codes)||void 0===o?void 0:o[0])||e.settings.interfaceLanguage],onSelect:function(t){a.transport.dispatch({action:"Ctx",args:{action:"UpdateSettings",args:i(i({},e.settings),{},{interfaceLanguage:t.value})}})}}}),[e.settings]),subtitlesLanguageSelect:r.useMemo((function(){return{options:Object.keys(I).map((function(e){return{value:e,label:I[e]}})),selected:[e.settings.subtitlesLanguage],onSelect:function(t){a.transport.dispatch({action:"Ctx",args:{action:"UpdateSettings",args:i(i({},e.settings),{},{subtitlesLanguage:t.value})}})}}}),[e.settings]),subtitlesSizeSelect:r.useMemo((function(){return{options:s.SUBTITLES_SIZES.map((function(e){return{value:"".concat(e),label:"".concat(e,"%")}})),selected:["".concat(e.settings.subtitlesSize)],renderLabelText:function(){return"".concat(e.settings.subtitlesSize,"%")},onSelect:function(t){a.transport.dispatch({action:"Ctx",args:{action:"UpdateSettings",args:i(i({},e.settings),{},{subtitlesSize:parseInt(t.value,10)})}})}}}),[e.settings]),subtitlesTextColorInput:r.useMemo((function(){return{value:e.settings.subtitlesTextColor,onChange:function(t){a.transport.dispatch({action:"Ctx",args:{action:"UpdateSettings",args:i(i({},e.settings),{},{subtitlesTextColor:t.value})}})}}}),[e.settings]),subtitlesBackgroundColorInput:r.useMemo((function(){return{value:e.settings.subtitlesBackgroundColor,onChange:function(t){a.transport.dispatch({action:"Ctx",args:{action:"UpdateSettings",args:i(i({},e.settings),{},{subtitlesBackgroundColor:t.value})}})}}}),[e.settings]),subtitlesOutlineColorInput:r.useMemo((function(){return{value:e.settings.subtitlesOutlineColor,onChange:function(t){a.transport.dispatch({action:"Ctx",args:{action:"UpdateSettings",args:i(i({},e.settings),{},{subtitlesOutlineColor:t.value})}})}}}),[e.settings]),audioLanguageSelect:r.useMemo((function(){return{options:Object.keys(I).map((function(e){return{value:e,label:I[e]}})),selected:[e.settings.audioLanguage],onSelect:function(t){a.transport.dispatch({action:"Ctx",args:{action:"UpdateSettings",args:i(i({},e.settings),{},{audioLanguage:t.value})}})}}}),[e.settings]),surroundSoundCheckbox:r.useMemo((function(){return{checked:e.settings.surroundSound,onClick:function(){a.transport.dispatch({action:"Ctx",args:{action:"UpdateSettings",args:i(i({},e.settings),{},{surroundSound:!e.settings.surroundSound})}})}}}),[e.settings]),escExitFullscreenCheckbox:r.useMemo((function(){return{checked:e.settings.escExitFullscreen,onClick:function(){a.transport.dispatch({action:"Ctx",args:{action:"UpdateSettings",args:i(i({},e.settings),{},{escExitFullscreen:!e.settings.escExitFullscreen})}})}}}),[e.settings]),seekTimeDurationSelect:r.useMemo((function(){return{options:s.SEEK_TIME_DURATIONS.map((function(e){return{value:"".concat(e),label:"".concat(e/1e3," ").concat(t("SECONDS"))}})),selected:["".concat(e.settings.seekTimeDuration)],renderLabelText:function(){return"".concat(e.settings.seekTimeDuration/1e3," ").concat(t("SECONDS"))},onSelect:function(t){a.transport.dispatch({action:"Ctx",args:{action:"UpdateSettings",args:i(i({},e.settings),{},{seekTimeDuration:parseInt(t.value,10)})}})}}}),[e.settings]),seekShortTimeDurationSelect:r.useMemo((function(){return{options:s.SEEK_TIME_DURATIONS.map((function(e){return{value:"".concat(e),label:"".concat(e/1e3," ").concat(t("SECONDS"))}})),selected:["".concat(e.settings.seekShortTimeDuration)],renderLabelText:function(){return"".concat(e.settings.seekShortTimeDuration/1e3," ").concat(t("SECONDS"))},onSelect:function(t){a.transport.dispatch({action:"Ctx",args:{action:"UpdateSettings",args:i(i({},e.settings),{},{seekShortTimeDuration:parseInt(t.value,10)})}})}}}),[e.settings]),playInExternalPlayerSelect:r.useMemo((function(){return{options:s.EXTERNAL_PLAYERS.filter((function(e){return e.platforms.includes(o.name)})).map((function(e){var a=e.label;return{value:e.value,label:t(a)}})),selected:[e.settings.playerType],renderLabelText:function(){var a=s.EXTERNAL_PLAYERS.find((function(t){return t.value===e.settings.playerType}));return a?t(a.label,{defaultValue:a.label}):e.settings.playerType},onSelect:function(t){a.transport.dispatch({action:"Ctx",args:{action:"UpdateSettings",args:i(i({},e.settings),{},{playerType:t.value})}})}}}),[e.settings]),nextVideoPopupDurationSelect:r.useMemo((function(){return{options:s.NEXT_VIDEO_POPUP_DURATIONS.map((function(e){return{value:"".concat(e),label:0===e?"Disabled":"".concat(e/1e3," ").concat(t("SECONDS"))}})),selected:["".concat(e.settings.nextVideoNotificationDuration)],renderLabelText:function(){return 0===e.settings.nextVideoNotificationDuration?"Disabled":"".concat(e.settings.nextVideoNotificationDuration/1e3," ").concat(t("SECONDS"))},onSelect:function(t){a.transport.dispatch({action:"Ctx",args:{action:"UpdateSettings",args:i(i({},e.settings),{},{nextVideoNotificationDuration:parseInt(t.value,10)})}})}}}),[e.settings]),bingeWatchingCheckbox:r.useMemo((function(){return{checked:e.settings.bingeWatching,onClick:function(){a.transport.dispatch({action:"Ctx",args:{action:"UpdateSettings",args:i(i({},e.settings),{},{bingeWatching:!e.settings.bingeWatching})}})}}}),[e.settings]),playInBackgroundCheckbox:r.useMemo((function(){return{checked:e.settings.playInBackground,onClick:function(){a.transport.dispatch({action:"Ctx",args:{action:"UpdateSettings",args:i(i({},e.settings),{},{playInBackground:!e.settings.playInBackground})}})}}}),[e.settings]),hardwareDecodingCheckbox:r.useMemo((function(){return{checked:e.settings.hardwareDecoding,onClick:function(){a.transport.dispatch({action:"Ctx",args:{action:"UpdateSettings",args:i(i({},e.settings),{},{hardwareDecoding:!e.settings.hardwareDecoding})}})}}}),[e.settings]),streamingServerUrlInput:r.useMemo((function(){return{value:e.settings.streamingServerUrl,onChange:function(t){a.transport.dispatch({action:"Ctx",args:{action:"UpdateSettings",args:i(i({},e.settings),{},{streamingServerUrl:t})}})}}}),[e.settings])}}},86842:(e,t,a)=>{function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?o(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):o(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function r(e){return(function(e){if(Array.isArray(e))return E(e)})(e)||(function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)})(e)||(function(e,t){if(!e)return;if("string"==typeof e)return E(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return E(e,t)})(e)||(function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function E(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var _=a(67294),T=a(81468).useTranslation,s=a(72307),S=a(63662).useServices,l=[0,2147483648,5368709120,10737418240,null],I=function(e){return null===e?"Infinite":0===e?"No caching":"".concat(Math.ceil(100*(e/1024/1024/1024+Number.EPSILON))/100,"GiB")},A={default:{btDownloadSpeedHardLimit:3670016,btDownloadSpeedSoftLimit:2621440,btHandshakeTimeout:2e4,btMaxConnections:55,btMinPeersForStable:5,btRequestTimeout:4e3},soft:{btDownloadSpeedHardLimit:1677721.6,btDownloadSpeedSoftLimit:1677721.6,btHandshakeTimeout:2e4,btMaxConnections:35,btMinPeersForStable:5,btRequestTimeout:4e3},fast:{btDownloadSpeedHardLimit:39321600,btDownloadSpeedSoftLimit:4194304,btHandshakeTimeout:2e4,btMaxConnections:200,btMinPeersForStable:10,btRequestTimeout:4e3},"ultra fast":{btDownloadSpeedHardLimit:78643200,btDownloadSpeedSoftLimit:8388608,btHandshakeTimeout:25e3,btMaxConnections:400,btMinPeersForStable:10,btRequestTimeout:6e3}};e.exports=function(e){var t=S().core,a=T().t;return{streamingServerRemoteUrlInput:_.useMemo((function(){return{value:e.remoteUrl}}),[e.remoteUrl]),remoteEndpointSelect:_.useMemo((function(){var o,n;return"Ready"!==(null===(o=e.settings)||void 0===o?void 0:o.type)||"Ready"!==(null===(n=e.networkInfo)||void 0===n?void 0:n.type)?null:{options:[{label:a("SETTINGS_DISABLED"),value:""}].concat(r(e.networkInfo.content.availableInterfaces.map((function(e){return{label:e,value:e}})))),selected:[e.settings.content.remoteHttps],onSelect:function(a){t.transport.dispatch({action:"StreamingServer",args:{action:"UpdateSettings",args:i(i({},e.settings.content),{},{remoteHttps:a.value})}})}}}),[e.settings,e.networkInfo]),cacheSizeSelect:_.useMemo((function(){return null===e.settings||"Ready"!==e.settings.type?null:{options:l.map((function(e){return{label:I(e),value:JSON.stringify(e)}})),selected:[JSON.stringify(e.settings.content.cacheSize)],renderLabelText:function(){return I(e.settings.content.cacheSize)},onSelect:function(a){t.transport.dispatch({action:"StreamingServer",args:{action:"UpdateSettings",args:i(i({},e.settings.content),{},{cacheSize:JSON.parse(a.value)})}})}}}),[e.settings]),torrentProfileSelect:_.useMemo((function(){if(null===e.settings||"Ready"!==e.settings.type)return null;var a={btDownloadSpeedHardLimit:e.settings.content.btDownloadSpeedHardLimit,btDownloadSpeedSoftLimit:e.settings.content.btDownloadSpeedSoftLimit,btHandshakeTimeout:e.settings.content.btHandshakeTimeout,btMaxConnections:e.settings.content.btMaxConnections,btMinPeersForStable:e.settings.content.btMinPeersForStable,btRequestTimeout:e.settings.content.btRequestTimeout},o=Object.values(A).every((function(e){return!s(e,a)}));return{options:Object.keys(A).map((function(e){return{label:e,value:JSON.stringify(A[e])}})).concat(o?[{label:"custom",value:JSON.stringify(a)}]:[]),selected:[JSON.stringify(a)],onSelect:function(a){t.transport.dispatch({action:"StreamingServer",args:{action:"UpdateSettings",args:i(i({},e.settings.content),JSON.parse(a.value))}})}}}),[e.settings]),transcodingProfileSelect:_.useMemo((function(){var o,n;return"Ready"!==(null===(o=e.settings)||void 0===o?void 0:o.type)||"Ready"!==(null===(n=e.deviceInfo)||void 0===n?void 0:n.type)?null:{options:[{label:a("SETTINGS_DISABLED"),value:null}].concat(r(e.deviceInfo.content.availableHardwareAccelerations.map((function(e){return{label:e,value:e}})))),selected:[e.settings.content.transcodeProfile],onSelect:function(a){t.transport.dispatch({action:"StreamingServer",args:{action:"UpdateSettings",args:i(i({},e.settings.content),{},{transcodeProfile:a.value})}})}}}),[e.settings,e.deviceInfo])}}},71529:(e,t,a)=>{var o=a(57165),i=a(88823),n=a(21901),r=a(77965),E=a(69005),_=a(50353),T=a(96375),s=a(62465),S=a(57793),l=a(16732);e.exports={Addons:o,Board:i,Discover:n,Library:r,MetaDetails:E,NotFound:_,Search:T,Settings:s,Player:S,Intro:l}},61099:(e,t,a)=>{var o=a(26729),i=a(55482);e.exports=function(){var e=!1,t=null,a=!1,n=null,r=new o;function E(){e=!0,t=null,a=!1,T()}function _(o){console.error(o),e=!1,t=new Error("Google Cast API not available",{cause:o}),a=!1,T(),n=null}function T(){r.emit("stateChanged")}Object.defineProperties(this,{active:{configurable:!1,enumerable:!0,get:function(){return e}},error:{configurable:!1,enumerable:!0,get:function(){return t}},starting:{configurable:!1,enumerable:!0,get:function(){return a}},transport:{configurable:!1,enumerable:!0,get:function(){return n}}}),this.start=function(){e||t instanceof Error||a||(a=!0,(n=new i).on("init",E),n.on("init-error",_),T())},this.stop=function(){e=!1,t=null,a=!1,T(),null!==n&&(n.removeAllListeners(),n=null)},this.on=function(e,t){r.on(e,t)},this.off=function(e,t){r.off(e,t)}}},55482:(e,t,a)=>{var o=a(26729),i=a(542),n="urn:x-cast:com.stremio",r=2e4,E=null,_=new o;window.__onGCastApiAvailable=function(e){delete window.__onGCastApiAvailable,E=!!e,_.emit("availabilityChanged")};e.exports=function(){var e=new o,t={};function a(a,o){try{var i=JSON.parse(o),n=i.id,r=i.chunk,E=i.index,_=i.length;if(t[n]=t[n]||[],t[n][E]=r,Object.keys(t[n]).length===_){var T=JSON.parse(t[n].join(""));delete t[n],e.emit("message",T)}}catch(t){e.emit("message-error",t)}}function T(t){e.emit(cast.framework.CastSession.APPLICATION_STATUS_CHANGED,t)}function s(t){e.emit(cast.framework.CastSession.APPLICATION_METADATA_CHANGED,t)}function S(t){e.emit(cast.framework.CastSession.ACTIVE_INPUT_STATE_CHANGED,t)}function l(t){e.emit(cast.framework.CastSession.VOLUME_CHANGED,t)}function I(t){e.emit(cast.framework.CastSession.MEDIA_SESSION,t)}function A(t){e.emit(cast.framework.CastContextEventType.CAST_STATE_CHANGED,t)}function u(t){switch(e.emit(cast.framework.CastContextEventType.SESSION_STATE_CHANGED,t),t.sessionState){case cast.framework.SessionState.SESSION_STARTED:t.session.addMessageListener(n,a),t.session.addEventListener(cast.framework.CastSession.APPLICATION_STATUS_CHANGED,T),t.session.addEventListener(cast.framework.CastSession.APPLICATION_METADATA_CHANGED,s),t.session.addEventListener(cast.framework.CastSession.ACTIVE_INPUT_STATE_CHANGED,S),t.session.addEventListener(cast.framework.CastSession.VOLUME_CHANGED,l),t.session.addEventListener(cast.framework.CastSession.MEDIA_SESSION,I);break;case cast.framework.SessionState.SESSION_ENDED:t.session.removeMessageListener(n,a),t.session.removeEventListener(cast.framework.CastSession.APPLICATION_STATUS_CHANGED,T),t.session.removeEventListener(cast.framework.CastSession.APPLICATION_METADATA_CHANGED,s),t.session.removeEventListener(cast.framework.CastSession.ACTIVE_INPUT_STATE_CHANGED,S),t.session.removeEventListener(cast.framework.CastSession.VOLUME_CHANGED,l),t.session.removeEventListener(cast.framework.CastSession.MEDIA_SESSION,I)}}new Promise((function(e,t){function a(){_.off("availabilityChanged",a),E?e():t(new Error("window.cast api not available"))}null!==E?a():_.on("availabilityChanged",a)})).then((function(){cast.framework.CastContext.getInstance().addEventListener(cast.framework.CastContextEventType.CAST_STATE_CHANGED,A),cast.framework.CastContext.getInstance().addEventListener(cast.framework.CastContextEventType.SESSION_STATE_CHANGED,u)})).then((function(){try{e.emit("init")}catch(e){console.error("ChromecastTransport",e)}})).catch((function(t){e.emit("init-error",t)})),this.on=function(t,a){e.on(t,a)},this.off=function(t,a){e.off(t,a)},this.removeAllListeners=function(){e.removeAllListeners()},this.getCastState=function(){return cast.framework.CastContext.getInstance().getCastState()},this.getSessionState=function(){return cast.framework.CastContext.getInstance().getSessionState()},this.getCastDevice=function(){var e=cast.framework.CastContext.getInstance().getCurrentSession();return null!==e?e.getCastDevice():null},this.setOptions=function(e){cast.framework.CastContext.getInstance().setOptions(e)},this.requestSession=function(){return cast.framework.CastContext.getInstance().requestSession()},this.endCurrentSession=function(e){cast.framework.CastContext.getInstance().endCurrentSession(e)},this.sendMessage=function(e){var t=cast.framework.CastContext.getInstance().getCurrentSession();if(null!==t){for(var a=JSON.stringify(e),o=Math.ceil(a.length/r),E=[],_=0;_<o;_++){var T=_*r,s=a.slice(T,T+r);E.push(s)}var S=i();return Promise.all(E.map((function(e,a){return t.sendMessage(n,{id:S,chunk:e,index:a,length:E.length})})))}return Promise.reject(new Error("Session not started"))}}},56623:(e,t,a)=>{var o=a(61099);e.exports=o},46194:(e,t,a)=>{var o=a(26729),i=a(6806);e.exports=function(e){var t=!1,a=null,n=!1,r=null,E=new o;function _(){t=!0,a=null,n=!1,s()}function T(e){console.error(e),t=!1,a=new Error("Stremio Core Transport initialization failed",{cause:e}),n=!1,s(),r=null}function s(){E.emit("stateChanged")}Object.defineProperties(this,{active:{configurable:!1,enumerable:!0,get:function(){return t}},error:{configurable:!1,enumerable:!0,get:function(){return a}},starting:{configurable:!1,enumerable:!0,get:function(){return n}},transport:{configurable:!1,enumerable:!0,get:function(){return r}}}),this.start=function(){t||a instanceof Error||n||(n=!0,(r=new i(e)).on("init",_),r.on("error",T),s())},this.stop=function(){t=!1,a=null,n=!1,s(),null!==r&&(r.removeAllListeners(),r=null)},this.on=function(e,t){E.on(e,t)},this.off=function(e,t){E.off(e,t)}}},6806:(e,t,a)=>{function o(e,t,a,o,i,n,r){try{var E=e[n](r),_=E.value}catch(e){return void a(e)}E.done?t(_):Promise.resolve(_).then(o,i)}function i(e){return function(){var t=this,a=arguments;return new Promise((function(i,n){var r=e.apply(t,a);function E(e){o(r,i,n,E,_,"next",e)}function _(e){o(r,i,n,E,_,"throw",e)}E(void 0)}))}}var n=a(26729),r=a(56553);e.exports=function(e){var t=new n,a=new Worker("".concat("db0f16b81e41b3901bcf5e0a624af142b1dd9f00","/scripts/worker.js")),o=new r(window,a);window.onCoreEvent=function(e){var a=e.name,o=e.args;try{t.emit(a,o)}catch(e){console.error("CoreTransport",e)}},o.call(["init"],[e]).then((function(){try{t.emit("init")}catch(e){console.error("CoreTransport",e)}})).catch((function(e){t.emit("error",e)})),this.on=function(e,a){t.on(e,a)},this.off=function(e,a){t.off(e,a)},this.removeAllListeners=function(){t.removeAllListeners()},this.getState=(function(){var e=i(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",o.call(["getState"],[t]));case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}})(),this.getDebugState=i(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",o.call(["getDebugState"],[]));case 1:case"end":return e.stop()}}),e)}))),this.dispatch=(function(){var e=i(regeneratorRuntime.mark((function e(t,a){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",o.call(["dispatch"],[t,a,location.hash]));case 1:case"end":return e.stop()}}),e)})));return function(t,a){return e.apply(this,arguments)}})(),this.analytics=(function(){var e=i(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",o.call(["analytics"],[t,location.hash]));case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}})(),this.decodeStream=(function(){var e=i(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",o.call(["decodeStream"],[t]));case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}})()}},4937:(e,t,a)=>{var o=a(46194);e.exports=o},48634:(e,t,a)=>{function o(e,t,a,o,i,n,r){try{var E=e[n](r),_=E.value}catch(e){return void a(e)}E.done?t(_):Promise.resolve(_).then(o,i)}function i(e){return function(){var t=this,a=arguments;return new Promise((function(i,n){var r=e.apply(t,a);function E(e){o(r,i,n,E,_,"next",e)}function _(e){o(r,i,n,E,_,"throw",e)}E(void 0)}))}}var n=a(26729);e.exports=function(e){var t=e.core,a=!1,o=new n;function r(e){e.preventDefault()}function E(e){return _.apply(this,arguments)}function _(){return(_=i(regeneratorRuntime.mark((function e(a){var i,n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(a.preventDefault(),!(a.dataTransfer.files instanceof FileList&&a.dataTransfer.files.length>0)){e.next=18;break}i=a.dataTransfer.files[0],e.t0=i.type,e.next="application/x-bittorrent"===e.t0?6:17;break;case 6:return e.prev=6,e.next=9,i.arrayBuffer();case 9:n=e.sent,t.transport.dispatch({action:"StreamingServer",args:{action:"CreateTorrent",args:Array.from(new Uint8Array(n))}}),e.next=16;break;case 13:e.prev=13,e.t1=e.catch(6),o.emit("error",{message:"Failed to process file",file:{name:i.name,type:i.type}});case 16:return e.abrupt("break",18);case 17:o.emit("error",{message:"Unsupported file",file:{name:i.name,type:i.type}});case 18:case"end":return e.stop()}}),e,null,[[6,13]])})))).apply(this,arguments)}function T(){o.emit("stateChanged")}Object.defineProperties(this,{active:{configurable:!1,enumerable:!0,get:function(){return a}}}),this.start=function(){a||(window.addEventListener("dragover",r),window.addEventListener("drop",E),a=!0,T())},this.stop=function(){window.removeEventListener("dragover",r),window.removeEventListener("drop",E),a=!1,T()},this.on=function(e,t){o.on(e,t)},this.off=function(e,t){o.off(e,t)}}},98500:(e,t,a)=>{var o=a(48634);e.exports=o},19093:(e,t,a)=>{var o=a(26729);e.exports=function(){var e=!1,t=new o;function a(e){if(!(e.keyboardShortcutPrevented||"INPUT"===e.target.tagName||e.ctrlKey||e.altKey||e.shiftKey||e.metaKey))switch(e.code){case"Digit0":e.preventDefault(),window.location="#/search";break;case"Digit1":e.preventDefault(),window.location="#/";break;case"Digit2":e.preventDefault(),window.location="#/discover";break;case"Digit3":e.preventDefault(),window.location="#/library";break;case"Digit4":e.preventDefault(),window.location="#/addons";break;case"Digit5":e.preventDefault(),window.location="#/settings";break;case"Backspace":e.preventDefault(),e.ctrlKey?window.history.forward():window.history.back();break;case"KeyF":e.preventDefault(),document.fullscreenElement===document.documentElement?document.exitFullscreen():document.documentElement.requestFullscreen()}}function i(){t.emit("stateChanged")}Object.defineProperties(this,{active:{configurable:!1,enumerable:!0,get:function(){return e}}}),this.start=function(){e||(window.addEventListener("keydown",a),e=!0,i())},this.stop=function(){window.removeEventListener("keydown",a),e=!1,i()}}},97369:(e,t,a)=>{var o=a(19093);e.exports=o},42207:(e,t,a)=>{var o=a(67294).createContext({});o.displayName="ServicesContext",e.exports=o},58261:(e,t,a)=>{var o=a(67294),i=a(45697),n=a(42207),r=function(e){var t=e.services,a=void 0===t?{}:t,i=e.children;return o.createElement(n.Provider,{value:a},i)};r.propTypes={services:i.object,children:i.oneOfType([i.arrayOf(i.node),i.node])},e.exports=r},83487:(e,t,a)=>{var o=a(58261),i=a(71806);e.exports={ServicesProvider:o,useServices:i}},71806:(e,t,a)=>{var o=a(67294),i=a(42207);e.exports=function(){return o.useContext(i)}},53015:(e,t,a)=>{var o=a(26729),i=a(80755);e.exports=function(){var e=!1,t=null,a=!1,n=null,r=new o;function E(){e=!0,t=null,a=!1,T()}function _(o){console.error(o),e=!1,t=new Error(o),a=!1,T(),n=null}function T(){r.emit("stateChanged")}Object.defineProperties(this,{active:{configurable:!1,enumerable:!0,get:function(){return e}},error:{configurable:!1,enumerable:!0,get:function(){return t}},starting:{configurable:!1,enumerable:!0,get:function(){return a}},transport:{configurable:!1,enumerable:!0,get:function(){return n}}}),this.start=function(){e||t instanceof Error||a||(e=!1,a=!0,(n=new i).on("init",E),n.on("init-error",_),T())},this.stop=function(){e=!1,t=null,a=!1,T()},this.on=function(e,t){r.on(e,t)},this.off=function(e,t){r.off(e,t)}}},80755:(e,t,a)=>{var o=a(26729),i=!1,n=new o,r=1,E=3,_=6,T=7,s="transport";window.initShellComm=function(){delete window.initShellComm,n.emit("availabilityChanged")};e.exports=function(){var e=new o;this.props={};var t=this;(window.qt?new Promise((function(e){function t(){n.off("availabilityChanged",t),i=!0,e()}i?t():n.on("availabilityChanged",t)})):Promise.reject("Qt API not found")).then((function(){var a=window.qt&&window.qt.webChannelTransport;if(!a)throw"no viable transport found (qt.webChannelTransport)";var o=0;function i(e){e.id=o++,a.send(JSON.stringify(e))}a.onmessage=function(a){var o=JSON.parse(a.data);if(0===o.id){var n=o.data[s];n.properties.slice(1).forEach((function(e){t.props[e[1]]=e[3]})),"string"==typeof t.props.shellVersion&&(t.shellVersionArr=(t.props.shellVersion.match(/(\d+)\.(\d+)\.(\d+)/)||[]).slice(1,4).map(Number)),e.emit("received-props",t.props),n.signals.forEach((function(e){i({type:T,object:s,signal:e[1]})}));var E=n.methods.filter((function(e){return"onEvent"===e[0]}))[0];t.send=function(e,t){i({type:_,object:s,method:E[1],args:[e,t||{}]})},t.send("app-ready",{})}o.object===s&&o.type===r&&e.emit(o.args[0],o.args[1]),e.emit("init")},i({type:E})})).catch((function(t){e.emit("init-error",t)})),this.on=function(t,a){e.on(t,a)},this.off=function(t,a){e.off(t,a)},this.removeAllListeners=function(){e.removeAllListeners()}}},61921:(e,t,a)=>{var o=a(53015);e.exports=o},63662:(e,t,a)=>{var o=a(56623),i=a(4937),n=a(98500),r=a(97369),E=a(83487),_=E.ServicesProvider,T=E.useServices,s=a(61921);e.exports={Chromecast:o,Core:i,DragAndDrop:n,KeyboardShortcuts:r,ServicesProvider:_,useServices:T,Shell:s}},79742:(e,t)=>{"use strict";t.byteLength=function(e){var t=_(e),a=t[0],o=t[1];return 3*(a+o)/4-o},t.toByteArray=function(e){var t,a,n=_(e),r=n[0],E=n[1],T=new i((function(e,t,a){return 3*(t+a)/4-a})(0,r,E)),s=0,S=E>0?r-4:r;for(a=0;a<S;a+=4)t=o[e.charCodeAt(a)]<<18|o[e.charCodeAt(a+1)]<<12|o[e.charCodeAt(a+2)]<<6|o[e.charCodeAt(a+3)],T[s++]=t>>16&255,T[s++]=t>>8&255,T[s++]=255&t;2===E&&(t=o[e.charCodeAt(a)]<<2|o[e.charCodeAt(a+1)]>>4,T[s++]=255&t);1===E&&(t=o[e.charCodeAt(a)]<<10|o[e.charCodeAt(a+1)]<<4|o[e.charCodeAt(a+2)]>>2,T[s++]=t>>8&255,T[s++]=255&t);return T},t.fromByteArray=function(e){for(var t,o=e.length,i=o%3,n=[],r=16383,E=0,_=o-i;E<_;E+=r)n.push(T(e,E,E+r>_?_:E+r));1===i?(t=e[o-1],n.push(a[t>>2]+a[t<<4&63]+"==")):2===i&&(t=(e[o-2]<<8)+e[o-1],n.push(a[t>>10]+a[t>>4&63]+a[t<<2&63]+"="));return n.join("")};for(var a=[],o=[],i="undefined"!=typeof Uint8Array?Uint8Array:Array,n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",r=0,E=n.length;r<E;++r)a[r]=n[r],o[n.charCodeAt(r)]=r;function _(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var a=e.indexOf("=");return-1===a&&(a=t),[a,a===t?0:4-a%4]}function T(e,t,o){for(var i,n,r=[],E=t;E<o;E+=3)i=(e[E]<<16&16711680)+(e[E+1]<<8&65280)+(255&e[E+2]),r.push(a[(n=i)>>18&63]+a[n>>12&63]+a[n>>6&63]+a[63&n]);return r.join("")}o["-".charCodeAt(0)]=62,o["_".charCodeAt(0)]=63},57500:e=>{function t(e){return e.reduce(((e,t,a,o)=>{const i=t.split("-").map((e=>parseInt(e)));return e.concat(((e,t=e)=>Array.from({length:t-e+1},((t,a)=>a+e)))(...i))}),[])}e.exports=t,e.exports.parse=t,e.exports.compose=function(e){return e.reduce(((e,t,a,o)=>(0!==a&&t===o[a-1]+1||e.push([]),e[e.length-1].push(t),e)),[]).map((e=>e.length>1?`${e[0]}-${e[e.length-1]}`:`${e[0]}`))}},51206:function(e){e.exports=(function(e){var t={};function a(o){if(t[o])return t[o].exports;var i=t[o]={i:o,l:!1,exports:{}};return e[o].call(i.exports,i,i.exports,a),i.l=!0,i.exports}return a.m=e,a.c=t,a.d=function(e,t,o){a.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(e,t){if(1&t&&(e=a(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(a.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)a.d(o,i,function(t){return e[t]}.bind(null,i));return o},a.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(t,"a",t),t},a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a.p="",a(a.s=90)})({17:function(e,t,a){"use strict";t.__esModule=!0,t.default=void 0;var o=a(18),i=(function(){function e(){}return e.getFirstMatch=function(e,t){var a=t.match(e);return a&&a.length>0&&a[1]||""},e.getSecondMatch=function(e,t){var a=t.match(e);return a&&a.length>1&&a[2]||""},e.matchAndReturnConst=function(e,t,a){if(e.test(t))return a},e.getWindowsVersionName=function(e){switch(e){case"NT":return"NT";case"XP":case"NT 5.1":return"XP";case"NT 5.0":return"2000";case"NT 5.2":return"2003";case"NT 6.0":return"Vista";case"NT 6.1":return"7";case"NT 6.2":return"8";case"NT 6.3":return"8.1";case"NT 10.0":return"10";default:return}},e.getMacOSVersionName=function(e){var t=e.split(".").splice(0,2).map((function(e){return parseInt(e,10)||0}));if(t.push(0),10===t[0])switch(t[1]){case 5:return"Leopard";case 6:return"Snow Leopard";case 7:return"Lion";case 8:return"Mountain Lion";case 9:return"Mavericks";case 10:return"Yosemite";case 11:return"El Capitan";case 12:return"Sierra";case 13:return"High Sierra";case 14:return"Mojave";case 15:return"Catalina";default:return}},e.getAndroidVersionName=function(e){var t=e.split(".").splice(0,2).map((function(e){return parseInt(e,10)||0}));if(t.push(0),!(1===t[0]&&t[1]<5))return 1===t[0]&&t[1]<6?"Cupcake":1===t[0]&&t[1]>=6?"Donut":2===t[0]&&t[1]<2?"Eclair":2===t[0]&&2===t[1]?"Froyo":2===t[0]&&t[1]>2?"Gingerbread":3===t[0]?"Honeycomb":4===t[0]&&t[1]<1?"Ice Cream Sandwich":4===t[0]&&t[1]<4?"Jelly Bean":4===t[0]&&t[1]>=4?"KitKat":5===t[0]?"Lollipop":6===t[0]?"Marshmallow":7===t[0]?"Nougat":8===t[0]?"Oreo":9===t[0]?"Pie":void 0},e.getVersionPrecision=function(e){return e.split(".").length},e.compareVersions=function(t,a,o){void 0===o&&(o=!1);var i=e.getVersionPrecision(t),n=e.getVersionPrecision(a),r=Math.max(i,n),E=0,_=e.map([t,a],(function(t){var a=r-e.getVersionPrecision(t),o=t+new Array(a+1).join(".0");return e.map(o.split("."),(function(e){return new Array(20-e.length).join("0")+e})).reverse()}));for(o&&(E=r-Math.min(i,n)),r-=1;r>=E;){if(_[0][r]>_[1][r])return 1;if(_[0][r]===_[1][r]){if(r===E)return 0;r-=1}else if(_[0][r]<_[1][r])return-1}},e.map=function(e,t){var a,o=[];if(Array.prototype.map)return Array.prototype.map.call(e,t);for(a=0;a<e.length;a+=1)o.push(t(e[a]));return o},e.find=function(e,t){var a,o;if(Array.prototype.find)return Array.prototype.find.call(e,t);for(a=0,o=e.length;a<o;a+=1){var i=e[a];if(t(i,a))return i}},e.assign=function(e){for(var t,a,o=e,i=arguments.length,n=new Array(i>1?i-1:0),r=1;r<i;r++)n[r-1]=arguments[r];if(Object.assign)return Object.assign.apply(Object,[e].concat(n));var E=function(){var e=n[t];"object"==typeof e&&null!==e&&Object.keys(e).forEach((function(t){o[t]=e[t]}))};for(t=0,a=n.length;t<a;t+=1)E();return e},e.getBrowserAlias=function(e){return o.BROWSER_ALIASES_MAP[e]},e.getBrowserTypeByAlias=function(e){return o.BROWSER_MAP[e]||""},e})();t.default=i,e.exports=t.default},18:function(e,t,a){"use strict";t.__esModule=!0,t.ENGINE_MAP=t.OS_MAP=t.PLATFORMS_MAP=t.BROWSER_MAP=t.BROWSER_ALIASES_MAP=void 0,t.BROWSER_ALIASES_MAP={"Amazon Silk":"amazon_silk","Android Browser":"android",Bada:"bada",BlackBerry:"blackberry",Chrome:"chrome",Chromium:"chromium",Electron:"electron",Epiphany:"epiphany",Firefox:"firefox",Focus:"focus",Generic:"generic","Google Search":"google_search",Googlebot:"googlebot","Internet Explorer":"ie","K-Meleon":"k_meleon",Maxthon:"maxthon","Microsoft Edge":"edge","MZ Browser":"mz","NAVER Whale Browser":"naver",Opera:"opera","Opera Coast":"opera_coast",PhantomJS:"phantomjs",Puffin:"puffin",QupZilla:"qupzilla",QQ:"qq",QQLite:"qqlite",Safari:"safari",Sailfish:"sailfish","Samsung Internet for Android":"samsung_internet",SeaMonkey:"seamonkey",Sleipnir:"sleipnir",Swing:"swing",Tizen:"tizen","UC Browser":"uc",Vivaldi:"vivaldi","WebOS Browser":"webos",WeChat:"wechat","Yandex Browser":"yandex",Roku:"roku"},t.BROWSER_MAP={amazon_silk:"Amazon Silk",android:"Android Browser",bada:"Bada",blackberry:"BlackBerry",chrome:"Chrome",chromium:"Chromium",electron:"Electron",epiphany:"Epiphany",firefox:"Firefox",focus:"Focus",generic:"Generic",googlebot:"Googlebot",google_search:"Google Search",ie:"Internet Explorer",k_meleon:"K-Meleon",maxthon:"Maxthon",edge:"Microsoft Edge",mz:"MZ Browser",naver:"NAVER Whale Browser",opera:"Opera",opera_coast:"Opera Coast",phantomjs:"PhantomJS",puffin:"Puffin",qupzilla:"QupZilla",qq:"QQ Browser",qqlite:"QQ Browser Lite",safari:"Safari",sailfish:"Sailfish",samsung_internet:"Samsung Internet for Android",seamonkey:"SeaMonkey",sleipnir:"Sleipnir",swing:"Swing",tizen:"Tizen",uc:"UC Browser",vivaldi:"Vivaldi",webos:"WebOS Browser",wechat:"WeChat",yandex:"Yandex Browser"},t.PLATFORMS_MAP={tablet:"tablet",mobile:"mobile",desktop:"desktop",tv:"tv"},t.OS_MAP={WindowsPhone:"Windows Phone",Windows:"Windows",MacOS:"macOS",iOS:"iOS",Android:"Android",WebOS:"WebOS",BlackBerry:"BlackBerry",Bada:"Bada",Tizen:"Tizen",Linux:"Linux",ChromeOS:"Chrome OS",PlayStation4:"PlayStation 4",Roku:"Roku"},t.ENGINE_MAP={EdgeHTML:"EdgeHTML",Blink:"Blink",Trident:"Trident",Presto:"Presto",Gecko:"Gecko",WebKit:"WebKit"}},90:function(e,t,a){"use strict";t.__esModule=!0,t.default=void 0;var o,i=(o=a(91))&&o.__esModule?o:{default:o},n=a(18);function r(e,t){for(var a=0;a<t.length;a++){var o=t[a];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}var E=(function(){function e(){}var t,a,o;return e.getParser=function(e,t){if(void 0===t&&(t=!1),"string"!=typeof e)throw new Error("UserAgent should be a string");return new i.default(e,t)},e.parse=function(e){return new i.default(e).getResult()},t=e,o=[{key:"BROWSER_MAP",get:function(){return n.BROWSER_MAP}},{key:"ENGINE_MAP",get:function(){return n.ENGINE_MAP}},{key:"OS_MAP",get:function(){return n.OS_MAP}},{key:"PLATFORMS_MAP",get:function(){return n.PLATFORMS_MAP}}],(a=null)&&r(t.prototype,a),o&&r(t,o),e})();t.default=E,e.exports=t.default},91:function(e,t,a){"use strict";t.__esModule=!0,t.default=void 0;var o=_(a(92)),i=_(a(93)),n=_(a(94)),r=_(a(95)),E=_(a(17));function _(e){return e&&e.__esModule?e:{default:e}}var T=(function(){function e(e,t){if(void 0===t&&(t=!1),null==e||""===e)throw new Error("UserAgent parameter can't be empty");this._ua=e,this.parsedResult={},!0!==t&&this.parse()}var t=e.prototype;return t.getUA=function(){return this._ua},t.test=function(e){return e.test(this._ua)},t.parseBrowser=function(){var e=this;this.parsedResult.browser={};var t=E.default.find(o.default,(function(t){if("function"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some((function(t){return e.test(t)}));throw new Error("Browser's test function is not valid")}));return t&&(this.parsedResult.browser=t.describe(this.getUA())),this.parsedResult.browser},t.getBrowser=function(){return this.parsedResult.browser?this.parsedResult.browser:this.parseBrowser()},t.getBrowserName=function(e){return e?String(this.getBrowser().name).toLowerCase()||"":this.getBrowser().name||""},t.getBrowserVersion=function(){return this.getBrowser().version},t.getOS=function(){return this.parsedResult.os?this.parsedResult.os:this.parseOS()},t.parseOS=function(){var e=this;this.parsedResult.os={};var t=E.default.find(i.default,(function(t){if("function"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some((function(t){return e.test(t)}));throw new Error("Browser's test function is not valid")}));return t&&(this.parsedResult.os=t.describe(this.getUA())),this.parsedResult.os},t.getOSName=function(e){var t=this.getOS().name;return e?String(t).toLowerCase()||"":t||""},t.getOSVersion=function(){return this.getOS().version},t.getPlatform=function(){return this.parsedResult.platform?this.parsedResult.platform:this.parsePlatform()},t.getPlatformType=function(e){void 0===e&&(e=!1);var t=this.getPlatform().type;return e?String(t).toLowerCase()||"":t||""},t.parsePlatform=function(){var e=this;this.parsedResult.platform={};var t=E.default.find(n.default,(function(t){if("function"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some((function(t){return e.test(t)}));throw new Error("Browser's test function is not valid")}));return t&&(this.parsedResult.platform=t.describe(this.getUA())),this.parsedResult.platform},t.getEngine=function(){return this.parsedResult.engine?this.parsedResult.engine:this.parseEngine()},t.getEngineName=function(e){return e?String(this.getEngine().name).toLowerCase()||"":this.getEngine().name||""},t.parseEngine=function(){var e=this;this.parsedResult.engine={};var t=E.default.find(r.default,(function(t){if("function"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some((function(t){return e.test(t)}));throw new Error("Browser's test function is not valid")}));return t&&(this.parsedResult.engine=t.describe(this.getUA())),this.parsedResult.engine},t.parse=function(){return this.parseBrowser(),this.parseOS(),this.parsePlatform(),this.parseEngine(),this},t.getResult=function(){return E.default.assign({},this.parsedResult)},t.satisfies=function(e){var t=this,a={},o=0,i={},n=0;if(Object.keys(e).forEach((function(t){var r=e[t];"string"==typeof r?(i[t]=r,n+=1):"object"==typeof r&&(a[t]=r,o+=1)})),o>0){var r=Object.keys(a),_=E.default.find(r,(function(e){return t.isOS(e)}));if(_){var T=this.satisfies(a[_]);if(void 0!==T)return T}var s=E.default.find(r,(function(e){return t.isPlatform(e)}));if(s){var S=this.satisfies(a[s]);if(void 0!==S)return S}}if(n>0){var l=Object.keys(i),I=E.default.find(l,(function(e){return t.isBrowser(e,!0)}));if(void 0!==I)return this.compareVersion(i[I])}},t.isBrowser=function(e,t){void 0===t&&(t=!1);var a=this.getBrowserName().toLowerCase(),o=e.toLowerCase(),i=E.default.getBrowserTypeByAlias(o);return t&&i&&(o=i.toLowerCase()),o===a},t.compareVersion=function(e){var t=[0],a=e,o=!1,i=this.getBrowserVersion();if("string"==typeof i)return">"===e[0]||"<"===e[0]?(a=e.substr(1),"="===e[1]?(o=!0,a=e.substr(2)):t=[],">"===e[0]?t.push(1):t.push(-1)):"="===e[0]?a=e.substr(1):"~"===e[0]&&(o=!0,a=e.substr(1)),t.indexOf(E.default.compareVersions(i,a,o))>-1},t.isOS=function(e){return this.getOSName(!0)===String(e).toLowerCase()},t.isPlatform=function(e){return this.getPlatformType(!0)===String(e).toLowerCase()},t.isEngine=function(e){return this.getEngineName(!0)===String(e).toLowerCase()},t.is=function(e,t){return void 0===t&&(t=!1),this.isBrowser(e,t)||this.isOS(e)||this.isPlatform(e)},t.some=function(e){var t=this;return void 0===e&&(e=[]),e.some((function(e){return t.is(e)}))},e})();t.default=T,e.exports=t.default},92:function(e,t,a){"use strict";t.__esModule=!0,t.default=void 0;var o,i=(o=a(17))&&o.__esModule?o:{default:o},n=/version\/(\d+(\.?_?\d+)+)/i,r=[{test:[/googlebot/i],describe:function(e){var t={name:"Googlebot"},a=i.default.getFirstMatch(/googlebot\/(\d+(\.\d+))/i,e)||i.default.getFirstMatch(n,e);return a&&(t.version=a),t}},{test:[/opera/i],describe:function(e){var t={name:"Opera"},a=i.default.getFirstMatch(n,e)||i.default.getFirstMatch(/(?:opera)[\s/](\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/opr\/|opios/i],describe:function(e){var t={name:"Opera"},a=i.default.getFirstMatch(/(?:opr|opios)[\s/](\S+)/i,e)||i.default.getFirstMatch(n,e);return a&&(t.version=a),t}},{test:[/SamsungBrowser/i],describe:function(e){var t={name:"Samsung Internet for Android"},a=i.default.getFirstMatch(n,e)||i.default.getFirstMatch(/(?:SamsungBrowser)[\s/](\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/Whale/i],describe:function(e){var t={name:"NAVER Whale Browser"},a=i.default.getFirstMatch(n,e)||i.default.getFirstMatch(/(?:whale)[\s/](\d+(?:\.\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/MZBrowser/i],describe:function(e){var t={name:"MZ Browser"},a=i.default.getFirstMatch(/(?:MZBrowser)[\s/](\d+(?:\.\d+)+)/i,e)||i.default.getFirstMatch(n,e);return a&&(t.version=a),t}},{test:[/focus/i],describe:function(e){var t={name:"Focus"},a=i.default.getFirstMatch(/(?:focus)[\s/](\d+(?:\.\d+)+)/i,e)||i.default.getFirstMatch(n,e);return a&&(t.version=a),t}},{test:[/swing/i],describe:function(e){var t={name:"Swing"},a=i.default.getFirstMatch(/(?:swing)[\s/](\d+(?:\.\d+)+)/i,e)||i.default.getFirstMatch(n,e);return a&&(t.version=a),t}},{test:[/coast/i],describe:function(e){var t={name:"Opera Coast"},a=i.default.getFirstMatch(n,e)||i.default.getFirstMatch(/(?:coast)[\s/](\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/opt\/\d+(?:.?_?\d+)+/i],describe:function(e){var t={name:"Opera Touch"},a=i.default.getFirstMatch(/(?:opt)[\s/](\d+(\.?_?\d+)+)/i,e)||i.default.getFirstMatch(n,e);return a&&(t.version=a),t}},{test:[/yabrowser/i],describe:function(e){var t={name:"Yandex Browser"},a=i.default.getFirstMatch(/(?:yabrowser)[\s/](\d+(\.?_?\d+)+)/i,e)||i.default.getFirstMatch(n,e);return a&&(t.version=a),t}},{test:[/ucbrowser/i],describe:function(e){var t={name:"UC Browser"},a=i.default.getFirstMatch(n,e)||i.default.getFirstMatch(/(?:ucbrowser)[\s/](\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/Maxthon|mxios/i],describe:function(e){var t={name:"Maxthon"},a=i.default.getFirstMatch(n,e)||i.default.getFirstMatch(/(?:Maxthon|mxios)[\s/](\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/epiphany/i],describe:function(e){var t={name:"Epiphany"},a=i.default.getFirstMatch(n,e)||i.default.getFirstMatch(/(?:epiphany)[\s/](\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/puffin/i],describe:function(e){var t={name:"Puffin"},a=i.default.getFirstMatch(n,e)||i.default.getFirstMatch(/(?:puffin)[\s/](\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/sleipnir/i],describe:function(e){var t={name:"Sleipnir"},a=i.default.getFirstMatch(n,e)||i.default.getFirstMatch(/(?:sleipnir)[\s/](\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/k-meleon/i],describe:function(e){var t={name:"K-Meleon"},a=i.default.getFirstMatch(n,e)||i.default.getFirstMatch(/(?:k-meleon)[\s/](\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/micromessenger/i],describe:function(e){var t={name:"WeChat"},a=i.default.getFirstMatch(/(?:micromessenger)[\s/](\d+(\.?_?\d+)+)/i,e)||i.default.getFirstMatch(n,e);return a&&(t.version=a),t}},{test:[/qqbrowser/i],describe:function(e){var t={name:/qqbrowserlite/i.test(e)?"QQ Browser Lite":"QQ Browser"},a=i.default.getFirstMatch(/(?:qqbrowserlite|qqbrowser)[/](\d+(\.?_?\d+)+)/i,e)||i.default.getFirstMatch(n,e);return a&&(t.version=a),t}},{test:[/msie|trident/i],describe:function(e){var t={name:"Internet Explorer"},a=i.default.getFirstMatch(/(?:msie |rv:)(\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/\sedg\//i],describe:function(e){var t={name:"Microsoft Edge"},a=i.default.getFirstMatch(/\sedg\/(\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/edg([ea]|ios)/i],describe:function(e){var t={name:"Microsoft Edge"},a=i.default.getSecondMatch(/edg([ea]|ios)\/(\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/vivaldi/i],describe:function(e){var t={name:"Vivaldi"},a=i.default.getFirstMatch(/vivaldi\/(\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/seamonkey/i],describe:function(e){var t={name:"SeaMonkey"},a=i.default.getFirstMatch(/seamonkey\/(\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/sailfish/i],describe:function(e){var t={name:"Sailfish"},a=i.default.getFirstMatch(/sailfish\s?browser\/(\d+(\.\d+)?)/i,e);return a&&(t.version=a),t}},{test:[/silk/i],describe:function(e){var t={name:"Amazon Silk"},a=i.default.getFirstMatch(/silk\/(\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/phantom/i],describe:function(e){var t={name:"PhantomJS"},a=i.default.getFirstMatch(/phantomjs\/(\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/slimerjs/i],describe:function(e){var t={name:"SlimerJS"},a=i.default.getFirstMatch(/slimerjs\/(\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/blackberry|\bbb\d+/i,/rim\stablet/i],describe:function(e){var t={name:"BlackBerry"},a=i.default.getFirstMatch(n,e)||i.default.getFirstMatch(/blackberry[\d]+\/(\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t={name:"WebOS Browser"},a=i.default.getFirstMatch(n,e)||i.default.getFirstMatch(/w(?:eb)?[o0]sbrowser\/(\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/bada/i],describe:function(e){var t={name:"Bada"},a=i.default.getFirstMatch(/dolfin\/(\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/tizen/i],describe:function(e){var t={name:"Tizen"},a=i.default.getFirstMatch(/(?:tizen\s?)?browser\/(\d+(\.?_?\d+)+)/i,e)||i.default.getFirstMatch(n,e);return a&&(t.version=a),t}},{test:[/qupzilla/i],describe:function(e){var t={name:"QupZilla"},a=i.default.getFirstMatch(/(?:qupzilla)[\s/](\d+(\.?_?\d+)+)/i,e)||i.default.getFirstMatch(n,e);return a&&(t.version=a),t}},{test:[/firefox|iceweasel|fxios/i],describe:function(e){var t={name:"Firefox"},a=i.default.getFirstMatch(/(?:firefox|iceweasel|fxios)[\s/](\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/electron/i],describe:function(e){var t={name:"Electron"},a=i.default.getFirstMatch(/(?:electron)\/(\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/MiuiBrowser/i],describe:function(e){var t={name:"Miui"},a=i.default.getFirstMatch(/(?:MiuiBrowser)[\s/](\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/chromium/i],describe:function(e){var t={name:"Chromium"},a=i.default.getFirstMatch(/(?:chromium)[\s/](\d+(\.?_?\d+)+)/i,e)||i.default.getFirstMatch(n,e);return a&&(t.version=a),t}},{test:[/chrome|crios|crmo/i],describe:function(e){var t={name:"Chrome"},a=i.default.getFirstMatch(/(?:chrome|crios|crmo)\/(\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/GSA/i],describe:function(e){var t={name:"Google Search"},a=i.default.getFirstMatch(/(?:GSA)\/(\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:function(e){var t=!e.test(/like android/i),a=e.test(/android/i);return t&&a},describe:function(e){var t={name:"Android Browser"},a=i.default.getFirstMatch(n,e);return a&&(t.version=a),t}},{test:[/playstation 4/i],describe:function(e){var t={name:"PlayStation 4"},a=i.default.getFirstMatch(n,e);return a&&(t.version=a),t}},{test:[/safari|applewebkit/i],describe:function(e){var t={name:"Safari"},a=i.default.getFirstMatch(n,e);return a&&(t.version=a),t}},{test:[/.*/i],describe:function(e){var t=-1!==e.search("\\(")?/^(.*)\/(.*)[ \t]\((.*)/:/^(.*)\/(.*) /;return{name:i.default.getFirstMatch(t,e),version:i.default.getSecondMatch(t,e)}}}];t.default=r,e.exports=t.default},93:function(e,t,a){"use strict";t.__esModule=!0,t.default=void 0;var o,i=(o=a(17))&&o.__esModule?o:{default:o},n=a(18),r=[{test:[/Roku\/DVP/],describe:function(e){var t=i.default.getFirstMatch(/Roku\/DVP-(\d+\.\d+)/i,e);return{name:n.OS_MAP.Roku,version:t}}},{test:[/windows phone/i],describe:function(e){var t=i.default.getFirstMatch(/windows phone (?:os)?\s?(\d+(\.\d+)*)/i,e);return{name:n.OS_MAP.WindowsPhone,version:t}}},{test:[/windows /i],describe:function(e){var t=i.default.getFirstMatch(/Windows ((NT|XP)( \d\d?.\d)?)/i,e),a=i.default.getWindowsVersionName(t);return{name:n.OS_MAP.Windows,version:t,versionName:a}}},{test:[/Macintosh(.*?) FxiOS(.*?)\//],describe:function(e){var t={name:n.OS_MAP.iOS},a=i.default.getSecondMatch(/(Version\/)(\d[\d.]+)/,e);return a&&(t.version=a),t}},{test:[/macintosh/i],describe:function(e){var t=i.default.getFirstMatch(/mac os x (\d+(\.?_?\d+)+)/i,e).replace(/[_\s]/g,"."),a=i.default.getMacOSVersionName(t),o={name:n.OS_MAP.MacOS,version:t};return a&&(o.versionName=a),o}},{test:[/(ipod|iphone|ipad)/i],describe:function(e){var t=i.default.getFirstMatch(/os (\d+([_\s]\d+)*) like mac os x/i,e).replace(/[_\s]/g,".");return{name:n.OS_MAP.iOS,version:t}}},{test:function(e){var t=!e.test(/like android/i),a=e.test(/android/i);return t&&a},describe:function(e){var t=i.default.getFirstMatch(/android[\s/-](\d+(\.\d+)*)/i,e),a=i.default.getAndroidVersionName(t),o={name:n.OS_MAP.Android,version:t};return a&&(o.versionName=a),o}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t=i.default.getFirstMatch(/(?:web|hpw)[o0]s\/(\d+(\.\d+)*)/i,e),a={name:n.OS_MAP.WebOS};return t&&t.length&&(a.version=t),a}},{test:[/blackberry|\bbb\d+/i,/rim\stablet/i],describe:function(e){var t=i.default.getFirstMatch(/rim\stablet\sos\s(\d+(\.\d+)*)/i,e)||i.default.getFirstMatch(/blackberry\d+\/(\d+([_\s]\d+)*)/i,e)||i.default.getFirstMatch(/\bbb(\d+)/i,e);return{name:n.OS_MAP.BlackBerry,version:t}}},{test:[/bada/i],describe:function(e){var t=i.default.getFirstMatch(/bada\/(\d+(\.\d+)*)/i,e);return{name:n.OS_MAP.Bada,version:t}}},{test:[/tizen/i],describe:function(e){var t=i.default.getFirstMatch(/tizen[/\s](\d+(\.\d+)*)/i,e);return{name:n.OS_MAP.Tizen,version:t}}},{test:[/linux/i],describe:function(){return{name:n.OS_MAP.Linux}}},{test:[/CrOS/],describe:function(){return{name:n.OS_MAP.ChromeOS}}},{test:[/PlayStation 4/],describe:function(e){var t=i.default.getFirstMatch(/PlayStation 4[/\s](\d+(\.\d+)*)/i,e);return{name:n.OS_MAP.PlayStation4,version:t}}}];t.default=r,e.exports=t.default},94:function(e,t,a){"use strict";t.__esModule=!0,t.default=void 0;var o,i=(o=a(17))&&o.__esModule?o:{default:o},n=a(18),r=[{test:[/googlebot/i],describe:function(){return{type:"bot",vendor:"Google"}}},{test:[/huawei/i],describe:function(e){var t=i.default.getFirstMatch(/(can-l01)/i,e)&&"Nova",a={type:n.PLATFORMS_MAP.mobile,vendor:"Huawei"};return t&&(a.model=t),a}},{test:[/nexus\s*(?:7|8|9|10).*/i],describe:function(){return{type:n.PLATFORMS_MAP.tablet,vendor:"Nexus"}}},{test:[/ipad/i],describe:function(){return{type:n.PLATFORMS_MAP.tablet,vendor:"Apple",model:"iPad"}}},{test:[/Macintosh(.*?) FxiOS(.*?)\//],describe:function(){return{type:n.PLATFORMS_MAP.tablet,vendor:"Apple",model:"iPad"}}},{test:[/kftt build/i],describe:function(){return{type:n.PLATFORMS_MAP.tablet,vendor:"Amazon",model:"Kindle Fire HD 7"}}},{test:[/silk/i],describe:function(){return{type:n.PLATFORMS_MAP.tablet,vendor:"Amazon"}}},{test:[/tablet(?! pc)/i],describe:function(){return{type:n.PLATFORMS_MAP.tablet}}},{test:function(e){var t=e.test(/ipod|iphone/i),a=e.test(/like (ipod|iphone)/i);return t&&!a},describe:function(e){var t=i.default.getFirstMatch(/(ipod|iphone)/i,e);return{type:n.PLATFORMS_MAP.mobile,vendor:"Apple",model:t}}},{test:[/nexus\s*[0-6].*/i,/galaxy nexus/i],describe:function(){return{type:n.PLATFORMS_MAP.mobile,vendor:"Nexus"}}},{test:[/[^-]mobi/i],describe:function(){return{type:n.PLATFORMS_MAP.mobile}}},{test:function(e){return"blackberry"===e.getBrowserName(!0)},describe:function(){return{type:n.PLATFORMS_MAP.mobile,vendor:"BlackBerry"}}},{test:function(e){return"bada"===e.getBrowserName(!0)},describe:function(){return{type:n.PLATFORMS_MAP.mobile}}},{test:function(e){return"windows phone"===e.getBrowserName()},describe:function(){return{type:n.PLATFORMS_MAP.mobile,vendor:"Microsoft"}}},{test:function(e){var t=Number(String(e.getOSVersion()).split(".")[0]);return"android"===e.getOSName(!0)&&t>=3},describe:function(){return{type:n.PLATFORMS_MAP.tablet}}},{test:function(e){return"android"===e.getOSName(!0)},describe:function(){return{type:n.PLATFORMS_MAP.mobile}}},{test:function(e){return"macos"===e.getOSName(!0)},describe:function(){return{type:n.PLATFORMS_MAP.desktop,vendor:"Apple"}}},{test:function(e){return"windows"===e.getOSName(!0)},describe:function(){return{type:n.PLATFORMS_MAP.desktop}}},{test:function(e){return"linux"===e.getOSName(!0)},describe:function(){return{type:n.PLATFORMS_MAP.desktop}}},{test:function(e){return"playstation 4"===e.getOSName(!0)},describe:function(){return{type:n.PLATFORMS_MAP.tv}}},{test:function(e){return"roku"===e.getOSName(!0)},describe:function(){return{type:n.PLATFORMS_MAP.tv}}}];t.default=r,e.exports=t.default},95:function(e,t,a){"use strict";t.__esModule=!0,t.default=void 0;var o,i=(o=a(17))&&o.__esModule?o:{default:o},n=a(18),r=[{test:function(e){return"microsoft edge"===e.getBrowserName(!0)},describe:function(e){if(/\sedg\//i.test(e))return{name:n.ENGINE_MAP.Blink};var t=i.default.getFirstMatch(/edge\/(\d+(\.?_?\d+)+)/i,e);return{name:n.ENGINE_MAP.EdgeHTML,version:t}}},{test:[/trident/i],describe:function(e){var t={name:n.ENGINE_MAP.Trident},a=i.default.getFirstMatch(/trident\/(\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:function(e){return e.test(/presto/i)},describe:function(e){var t={name:n.ENGINE_MAP.Presto},a=i.default.getFirstMatch(/presto\/(\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:function(e){var t=e.test(/gecko/i),a=e.test(/like gecko/i);return t&&!a},describe:function(e){var t={name:n.ENGINE_MAP.Gecko},a=i.default.getFirstMatch(/gecko\/(\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/(apple)?webkit\/537\.36/i],describe:function(){return{name:n.ENGINE_MAP.Blink}}},{test:[/(apple)?webkit/i],describe:function(e){var t={name:n.ENGINE_MAP.WebKit},a=i.default.getFirstMatch(/webkit\/(\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}}];t.default=r,e.exports=t.default}})},48764:(e,t,a)=>{"use strict";const o=a(79742),i=a(80645),n="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;t.Buffer=_,t.SlowBuffer=function(e){+e!=e&&(e=0);return _.alloc(+e)},t.INSPECT_MAX_BYTES=50;const r=2147483647;function E(e){if(e>r)throw new RangeError('The value "'+e+'" is invalid for option "size"');const t=new Uint8Array(e);return Object.setPrototypeOf(t,_.prototype),t}function _(e,t,a){if("number"==typeof e){if("string"==typeof t)throw new TypeError('The "string" argument must be of type string. Received type number');return S(e)}return T(e,t,a)}function T(e,t,a){if("string"==typeof e)return(function(e,t){"string"==typeof t&&""!==t||(t="utf8");if(!_.isEncoding(t))throw new TypeError("Unknown encoding: "+t);const a=0|u(e,t);let o=E(a);const i=o.write(e,t);i!==a&&(o=o.slice(0,i));return o})(e,t);if(ArrayBuffer.isView(e))return(function(e){if(X(e,Uint8Array)){const t=new Uint8Array(e);return I(t.buffer,t.byteOffset,t.byteLength)}return l(e)})(e);if(null==e)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(X(e,ArrayBuffer)||e&&X(e.buffer,ArrayBuffer))return I(e,t,a);if("undefined"!=typeof SharedArrayBuffer&&(X(e,SharedArrayBuffer)||e&&X(e.buffer,SharedArrayBuffer)))return I(e,t,a);if("number"==typeof e)throw new TypeError('The "value" argument must not be of type number. Received type number');const o=e.valueOf&&e.valueOf();if(null!=o&&o!==e)return _.from(o,t,a);const i=(function(e){if(_.isBuffer(e)){const t=0|A(e.length),a=E(t);return 0===a.length||e.copy(a,0,0,t),a}if(void 0!==e.length)return"number"!=typeof e.length||$(e.length)?E(0):l(e);if("Buffer"===e.type&&Array.isArray(e.data))return l(e.data)})(e);if(i)return i;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof e[Symbol.toPrimitive])return _.from(e[Symbol.toPrimitive]("string"),t,a);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}function s(e){if("number"!=typeof e)throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function S(e){return s(e),E(e<0?0:0|A(e))}function l(e){const t=e.length<0?0:0|A(e.length),a=E(t);for(let o=0;o<t;o+=1)a[o]=255&e[o];return a}function I(e,t,a){if(t<0||e.byteLength<t)throw new RangeError('"offset" is outside of buffer bounds');if(e.byteLength<t+(a||0))throw new RangeError('"length" is outside of buffer bounds');let o;return o=void 0===t&&void 0===a?new Uint8Array(e):void 0===a?new Uint8Array(e,t):new Uint8Array(e,t,a),Object.setPrototypeOf(o,_.prototype),o}function A(e){if(e>=r)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+r.toString(16)+" bytes");return 0|e}function u(e,t){if(_.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||X(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);const a=e.length,o=arguments.length>2&&!0===arguments[2];if(!o&&0===a)return 0;let i=!1;for(;;)switch(t){case"ascii":case"latin1":case"binary":return a;case"utf8":case"utf-8":return x(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*a;case"hex":return a>>>1;case"base64":return j(e).length;default:if(i)return o?-1:x(e).length;t=(""+t).toLowerCase(),i=!0}}function d(e,t,a){let o=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===a||a>this.length)&&(a=this.length),a<=0)return"";if((a>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return g(this,t,a);case"utf8":case"utf-8":return C(this,t,a);case"ascii":return B(this,t,a);case"latin1":case"binary":return P(this,t,a);case"base64":return h(this,t,a);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return v(this,t,a);default:if(o)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),o=!0}}function c(e,t,a){const o=e[t];e[t]=e[a],e[a]=o}function O(e,t,a,o,i){if(0===e.length)return-1;if("string"==typeof a?(o=a,a=0):a>2147483647?a=2147483647:a<-2147483648&&(a=-2147483648),$(a=+a)&&(a=i?0:e.length-1),a<0&&(a=e.length+a),a>=e.length){if(i)return-1;a=e.length-1}else if(a<0){if(!i)return-1;a=0}if("string"==typeof t&&(t=_.from(t,o)),_.isBuffer(t))return 0===t.length?-1:R(e,t,a,o,i);if("number"==typeof t)return t&=255,"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,a):Uint8Array.prototype.lastIndexOf.call(e,t,a):R(e,[t],a,o,i);throw new TypeError("val must be string, number or Buffer")}function R(e,t,a,o,i){let n,r=1,E=e.length,_=t.length;if(void 0!==o&&("ucs2"===(o=String(o).toLowerCase())||"ucs-2"===o||"utf16le"===o||"utf-16le"===o)){if(e.length<2||t.length<2)return-1;r=2,E/=2,_/=2,a/=2}function T(e,t){return 1===r?e[t]:e.readUInt16BE(t*r)}if(i){let o=-1;for(n=a;n<E;n++)if(T(e,n)===T(t,-1===o?0:n-o)){if(-1===o&&(o=n),n-o+1===_)return o*r}else-1!==o&&(n-=n-o),o=-1}else for(a+_>E&&(a=E-_),n=a;n>=0;n--){let a=!0;for(let o=0;o<_;o++)if(T(e,n+o)!==T(t,o)){a=!1;break}if(a)return n}return-1}function N(e,t,a,o){a=Number(a)||0;const i=e.length-a;o?(o=Number(o))>i&&(o=i):o=i;const n=t.length;let r;for(o>n/2&&(o=n/2),r=0;r<o;++r){const o=parseInt(t.substr(2*r,2),16);if($(o))return r;e[a+r]=o}return r}function m(e,t,a,o){return Q(x(t,e.length-a),e,a,o)}function L(e,t,a,o){return Q((function(e){const t=[];for(let a=0;a<e.length;++a)t.push(255&e.charCodeAt(a));return t})(t),e,a,o)}function D(e,t,a,o){return Q(j(t),e,a,o)}function p(e,t,a,o){return Q((function(e,t){let a,o,i;const n=[];for(let r=0;r<e.length&&!((t-=2)<0);++r)a=e.charCodeAt(r),o=a>>8,i=a%256,n.push(i),n.push(o);return n})(t,e.length-a),e,a,o)}function h(e,t,a){return 0===t&&a===e.length?o.fromByteArray(e):o.fromByteArray(e.slice(t,a))}function C(e,t,a){a=Math.min(e.length,a);const o=[];let i=t;for(;i<a;){const t=e[i];let n=null,r=t>239?4:t>223?3:t>191?2:1;if(i+r<=a){let a,o,E,_;switch(r){case 1:t<128&&(n=t);break;case 2:a=e[i+1],128==(192&a)&&(_=(31&t)<<6|63&a,_>127&&(n=_));break;case 3:a=e[i+1],o=e[i+2],128==(192&a)&&128==(192&o)&&(_=(15&t)<<12|(63&a)<<6|63&o,_>2047&&(_<55296||_>57343)&&(n=_));break;case 4:a=e[i+1],o=e[i+2],E=e[i+3],128==(192&a)&&128==(192&o)&&128==(192&E)&&(_=(15&t)<<18|(63&a)<<12|(63&o)<<6|63&E,_>65535&&_<1114112&&(n=_))}}null===n?(n=65533,r=1):n>65535&&(n-=65536,o.push(n>>>10&1023|55296),n=56320|1023&n),o.push(n),i+=r}return(function(e){const t=e.length;if(t<=f)return String.fromCharCode.apply(String,e);let a="",o=0;for(;o<t;)a+=String.fromCharCode.apply(String,e.slice(o,o+=f));return a})(o)}t.kMaxLength=r,_.TYPED_ARRAY_SUPPORT=(function(){try{const e=new Uint8Array(1),t={foo:function(){return 42}};return Object.setPrototypeOf(t,Uint8Array.prototype),Object.setPrototypeOf(e,t),42===e.foo()}catch(e){return!1}})(),_.TYPED_ARRAY_SUPPORT||"undefined"==typeof console||"function"!=typeof console.error||console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(_.prototype,"parent",{enumerable:!0,get:function(){if(_.isBuffer(this))return this.buffer}}),Object.defineProperty(_.prototype,"offset",{enumerable:!0,get:function(){if(_.isBuffer(this))return this.byteOffset}}),_.poolSize=8192,_.from=function(e,t,a){return T(e,t,a)},Object.setPrototypeOf(_.prototype,Uint8Array.prototype),Object.setPrototypeOf(_,Uint8Array),_.alloc=function(e,t,a){return(function(e,t,a){return s(e),e<=0?E(e):void 0!==t?"string"==typeof a?E(e).fill(t,a):E(e).fill(t):E(e)})(e,t,a)},_.allocUnsafe=function(e){return S(e)},_.allocUnsafeSlow=function(e){return S(e)},_.isBuffer=function(e){return null!=e&&!0===e._isBuffer&&e!==_.prototype},_.compare=function(e,t){if(X(e,Uint8Array)&&(e=_.from(e,e.offset,e.byteLength)),X(t,Uint8Array)&&(t=_.from(t,t.offset,t.byteLength)),!_.isBuffer(e)||!_.isBuffer(t))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(e===t)return 0;let a=e.length,o=t.length;for(let i=0,n=Math.min(a,o);i<n;++i)if(e[i]!==t[i]){a=e[i],o=t[i];break}return a<o?-1:o<a?1:0},_.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},_.concat=function(e,t){if(!Array.isArray(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return _.alloc(0);let a;if(void 0===t)for(t=0,a=0;a<e.length;++a)t+=e[a].length;const o=_.allocUnsafe(t);let i=0;for(a=0;a<e.length;++a){let t=e[a];if(X(t,Uint8Array))i+t.length>o.length?(_.isBuffer(t)||(t=_.from(t)),t.copy(o,i)):Uint8Array.prototype.set.call(o,t,i);else{if(!_.isBuffer(t))throw new TypeError('"list" argument must be an Array of Buffers');t.copy(o,i)}i+=t.length}return o},_.byteLength=u,_.prototype._isBuffer=!0,_.prototype.swap16=function(){const e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let t=0;t<e;t+=2)c(this,t,t+1);return this},_.prototype.swap32=function(){const e=this.length;if(e%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let t=0;t<e;t+=4)c(this,t,t+3),c(this,t+1,t+2);return this},_.prototype.swap64=function(){const e=this.length;if(e%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let t=0;t<e;t+=8)c(this,t,t+7),c(this,t+1,t+6),c(this,t+2,t+5),c(this,t+3,t+4);return this},_.prototype.toString=function(){const e=this.length;return 0===e?"":0===arguments.length?C(this,0,e):d.apply(this,arguments)},_.prototype.toLocaleString=_.prototype.toString,_.prototype.equals=function(e){if(!_.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||0===_.compare(this,e)},_.prototype.inspect=function(){let e="";const a=t.INSPECT_MAX_BYTES;return e=this.toString("hex",0,a).replace(/(.{2})/g,"$1 ").trim(),this.length>a&&(e+=" ... "),"<Buffer "+e+">"},n&&(_.prototype[n]=_.prototype.inspect),_.prototype.compare=function(e,t,a,o,i){if(X(e,Uint8Array)&&(e=_.from(e,e.offset,e.byteLength)),!_.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===t&&(t=0),void 0===a&&(a=e?e.length:0),void 0===o&&(o=0),void 0===i&&(i=this.length),t<0||a>e.length||o<0||i>this.length)throw new RangeError("out of range index");if(o>=i&&t>=a)return 0;if(o>=i)return-1;if(t>=a)return 1;if(this===e)return 0;let n=(i>>>=0)-(o>>>=0),r=(a>>>=0)-(t>>>=0);const E=Math.min(n,r),T=this.slice(o,i),s=e.slice(t,a);for(let e=0;e<E;++e)if(T[e]!==s[e]){n=T[e],r=s[e];break}return n<r?-1:r<n?1:0},_.prototype.includes=function(e,t,a){return-1!==this.indexOf(e,t,a)},_.prototype.indexOf=function(e,t,a){return O(this,e,t,a,!0)},_.prototype.lastIndexOf=function(e,t,a){return O(this,e,t,a,!1)},_.prototype.write=function(e,t,a,o){if(void 0===t)o="utf8",a=this.length,t=0;else if(void 0===a&&"string"==typeof t)o=t,a=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t>>>=0,isFinite(a)?(a>>>=0,void 0===o&&(o="utf8")):(o=a,a=void 0)}const i=this.length-t;if((void 0===a||a>i)&&(a=i),e.length>0&&(a<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");o||(o="utf8");let n=!1;for(;;)switch(o){case"hex":return N(this,e,t,a);case"utf8":case"utf-8":return m(this,e,t,a);case"ascii":case"latin1":case"binary":return L(this,e,t,a);case"base64":return D(this,e,t,a);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return p(this,e,t,a);default:if(n)throw new TypeError("Unknown encoding: "+o);o=(""+o).toLowerCase(),n=!0}},_.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};const f=4096;function B(e,t,a){let o="";a=Math.min(e.length,a);for(let i=t;i<a;++i)o+=String.fromCharCode(127&e[i]);return o}function P(e,t,a){let o="";a=Math.min(e.length,a);for(let i=t;i<a;++i)o+=String.fromCharCode(e[i]);return o}function g(e,t,a){const o=e.length;(!t||t<0)&&(t=0),(!a||a<0||a>o)&&(a=o);let i="";for(let o=t;o<a;++o)i+=q[e[o]];return i}function v(e,t,a){const o=e.slice(t,a);let i="";for(let e=0;e<o.length-1;e+=2)i+=String.fromCharCode(o[e]+256*o[e+1]);return i}function y(e,t,a){if(e%1!=0||e<0)throw new RangeError("offset is not uint");if(e+t>a)throw new RangeError("Trying to access beyond buffer length")}function W(e,t,a,o,i,n){if(!_.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||t<n)throw new RangeError('"value" argument is out of bounds');if(a+o>e.length)throw new RangeError("Index out of range")}function M(e,t,a,o,i){w(t,o,i,e,a,7);let n=Number(t&BigInt(4294967295));e[a++]=n,n>>=8,e[a++]=n,n>>=8,e[a++]=n,n>>=8,e[a++]=n;let r=Number(t>>BigInt(32)&BigInt(4294967295));return e[a++]=r,r>>=8,e[a++]=r,r>>=8,e[a++]=r,r>>=8,e[a++]=r,a}function b(e,t,a,o,i){w(t,o,i,e,a,7);let n=Number(t&BigInt(4294967295));e[a+7]=n,n>>=8,e[a+6]=n,n>>=8,e[a+5]=n,n>>=8,e[a+4]=n;let r=Number(t>>BigInt(32)&BigInt(4294967295));return e[a+3]=r,r>>=8,e[a+2]=r,r>>=8,e[a+1]=r,r>>=8,e[a]=r,a+8}function U(e,t,a,o,i,n){if(a+o>e.length)throw new RangeError("Index out of range");if(a<0)throw new RangeError("Index out of range")}function G(e,t,a,o,n){return t=+t,a>>>=0,n||U(e,0,a,4),i.write(e,t,a,o,23,4),a+4}function k(e,t,a,o,n){return t=+t,a>>>=0,n||U(e,0,a,8),i.write(e,t,a,o,52,8),a+8}_.prototype.slice=function(e,t){const a=this.length;(e=~~e)<0?(e+=a)<0&&(e=0):e>a&&(e=a),(t=void 0===t?a:~~t)<0?(t+=a)<0&&(t=0):t>a&&(t=a),t<e&&(t=e);const o=this.subarray(e,t);return Object.setPrototypeOf(o,_.prototype),o},_.prototype.readUintLE=_.prototype.readUIntLE=function(e,t,a){e>>>=0,t>>>=0,a||y(e,t,this.length);let o=this[e],i=1,n=0;for(;++n<t&&(i*=256);)o+=this[e+n]*i;return o},_.prototype.readUintBE=_.prototype.readUIntBE=function(e,t,a){e>>>=0,t>>>=0,a||y(e,t,this.length);let o=this[e+--t],i=1;for(;t>0&&(i*=256);)o+=this[e+--t]*i;return o},_.prototype.readUint8=_.prototype.readUInt8=function(e,t){return e>>>=0,t||y(e,1,this.length),this[e]},_.prototype.readUint16LE=_.prototype.readUInt16LE=function(e,t){return e>>>=0,t||y(e,2,this.length),this[e]|this[e+1]<<8},_.prototype.readUint16BE=_.prototype.readUInt16BE=function(e,t){return e>>>=0,t||y(e,2,this.length),this[e]<<8|this[e+1]},_.prototype.readUint32LE=_.prototype.readUInt32LE=function(e,t){return e>>>=0,t||y(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},_.prototype.readUint32BE=_.prototype.readUInt32BE=function(e,t){return e>>>=0,t||y(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},_.prototype.readBigUInt64LE=J((function(e){Y(e>>>=0,"offset");const t=this[e],a=this[e+7];void 0!==t&&void 0!==a||z(e,this.length-8);const o=t+256*this[++e]+65536*this[++e]+this[++e]*2**24,i=this[++e]+256*this[++e]+65536*this[++e]+a*2**24;return BigInt(o)+(BigInt(i)<<BigInt(32))})),_.prototype.readBigUInt64BE=J((function(e){Y(e>>>=0,"offset");const t=this[e],a=this[e+7];void 0!==t&&void 0!==a||z(e,this.length-8);const o=t*2**24+65536*this[++e]+256*this[++e]+this[++e],i=this[++e]*2**24+65536*this[++e]+256*this[++e]+a;return(BigInt(o)<<BigInt(32))+BigInt(i)})),_.prototype.readIntLE=function(e,t,a){e>>>=0,t>>>=0,a||y(e,t,this.length);let o=this[e],i=1,n=0;for(;++n<t&&(i*=256);)o+=this[e+n]*i;return i*=128,o>=i&&(o-=Math.pow(2,8*t)),o},_.prototype.readIntBE=function(e,t,a){e>>>=0,t>>>=0,a||y(e,t,this.length);let o=t,i=1,n=this[e+--o];for(;o>0&&(i*=256);)n+=this[e+--o]*i;return i*=128,n>=i&&(n-=Math.pow(2,8*t)),n},_.prototype.readInt8=function(e,t){return e>>>=0,t||y(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},_.prototype.readInt16LE=function(e,t){e>>>=0,t||y(e,2,this.length);const a=this[e]|this[e+1]<<8;return 32768&a?4294901760|a:a},_.prototype.readInt16BE=function(e,t){e>>>=0,t||y(e,2,this.length);const a=this[e+1]|this[e]<<8;return 32768&a?4294901760|a:a},_.prototype.readInt32LE=function(e,t){return e>>>=0,t||y(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},_.prototype.readInt32BE=function(e,t){return e>>>=0,t||y(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},_.prototype.readBigInt64LE=J((function(e){Y(e>>>=0,"offset");const t=this[e],a=this[e+7];void 0!==t&&void 0!==a||z(e,this.length-8);const o=this[e+4]+256*this[e+5]+65536*this[e+6]+(a<<24);return(BigInt(o)<<BigInt(32))+BigInt(t+256*this[++e]+65536*this[++e]+this[++e]*2**24)})),_.prototype.readBigInt64BE=J((function(e){Y(e>>>=0,"offset");const t=this[e],a=this[e+7];void 0!==t&&void 0!==a||z(e,this.length-8);const o=(t<<24)+65536*this[++e]+256*this[++e]+this[++e];return(BigInt(o)<<BigInt(32))+BigInt(this[++e]*2**24+65536*this[++e]+256*this[++e]+a)})),_.prototype.readFloatLE=function(e,t){return e>>>=0,t||y(e,4,this.length),i.read(this,e,!0,23,4)},_.prototype.readFloatBE=function(e,t){return e>>>=0,t||y(e,4,this.length),i.read(this,e,!1,23,4)},_.prototype.readDoubleLE=function(e,t){return e>>>=0,t||y(e,8,this.length),i.read(this,e,!0,52,8)},_.prototype.readDoubleBE=function(e,t){return e>>>=0,t||y(e,8,this.length),i.read(this,e,!1,52,8)},_.prototype.writeUintLE=_.prototype.writeUIntLE=function(e,t,a,o){if(e=+e,t>>>=0,a>>>=0,!o){W(this,e,t,a,Math.pow(2,8*a)-1,0)}let i=1,n=0;for(this[t]=255&e;++n<a&&(i*=256);)this[t+n]=e/i&255;return t+a},_.prototype.writeUintBE=_.prototype.writeUIntBE=function(e,t,a,o){if(e=+e,t>>>=0,a>>>=0,!o){W(this,e,t,a,Math.pow(2,8*a)-1,0)}let i=a-1,n=1;for(this[t+i]=255&e;--i>=0&&(n*=256);)this[t+i]=e/n&255;return t+a},_.prototype.writeUint8=_.prototype.writeUInt8=function(e,t,a){return e=+e,t>>>=0,a||W(this,e,t,1,255,0),this[t]=255&e,t+1},_.prototype.writeUint16LE=_.prototype.writeUInt16LE=function(e,t,a){return e=+e,t>>>=0,a||W(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},_.prototype.writeUint16BE=_.prototype.writeUInt16BE=function(e,t,a){return e=+e,t>>>=0,a||W(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},_.prototype.writeUint32LE=_.prototype.writeUInt32LE=function(e,t,a){return e=+e,t>>>=0,a||W(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},_.prototype.writeUint32BE=_.prototype.writeUInt32BE=function(e,t,a){return e=+e,t>>>=0,a||W(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},_.prototype.writeBigUInt64LE=J((function(e,t=0){return M(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))})),_.prototype.writeBigUInt64BE=J((function(e,t=0){return b(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))})),_.prototype.writeIntLE=function(e,t,a,o){if(e=+e,t>>>=0,!o){const o=Math.pow(2,8*a-1);W(this,e,t,a,o-1,-o)}let i=0,n=1,r=0;for(this[t]=255&e;++i<a&&(n*=256);)e<0&&0===r&&0!==this[t+i-1]&&(r=1),this[t+i]=(e/n>>0)-r&255;return t+a},_.prototype.writeIntBE=function(e,t,a,o){if(e=+e,t>>>=0,!o){const o=Math.pow(2,8*a-1);W(this,e,t,a,o-1,-o)}let i=a-1,n=1,r=0;for(this[t+i]=255&e;--i>=0&&(n*=256);)e<0&&0===r&&0!==this[t+i+1]&&(r=1),this[t+i]=(e/n>>0)-r&255;return t+a},_.prototype.writeInt8=function(e,t,a){return e=+e,t>>>=0,a||W(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},_.prototype.writeInt16LE=function(e,t,a){return e=+e,t>>>=0,a||W(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},_.prototype.writeInt16BE=function(e,t,a){return e=+e,t>>>=0,a||W(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},_.prototype.writeInt32LE=function(e,t,a){return e=+e,t>>>=0,a||W(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},_.prototype.writeInt32BE=function(e,t,a){return e=+e,t>>>=0,a||W(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},_.prototype.writeBigInt64LE=J((function(e,t=0){return M(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),_.prototype.writeBigInt64BE=J((function(e,t=0){return b(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),_.prototype.writeFloatLE=function(e,t,a){return G(this,e,t,!0,a)},_.prototype.writeFloatBE=function(e,t,a){return G(this,e,t,!1,a)},_.prototype.writeDoubleLE=function(e,t,a){return k(this,e,t,!0,a)},_.prototype.writeDoubleBE=function(e,t,a){return k(this,e,t,!1,a)},_.prototype.copy=function(e,t,a,o){if(!_.isBuffer(e))throw new TypeError("argument should be a Buffer");if(a||(a=0),o||0===o||(o=this.length),t>=e.length&&(t=e.length),t||(t=0),o>0&&o<a&&(o=a),o===a)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError("targetStart out of bounds");if(a<0||a>=this.length)throw new RangeError("Index out of range");if(o<0)throw new RangeError("sourceEnd out of bounds");o>this.length&&(o=this.length),e.length-t<o-a&&(o=e.length-t+a);const i=o-a;return this===e&&"function"==typeof Uint8Array.prototype.copyWithin?this.copyWithin(t,a,o):Uint8Array.prototype.set.call(e,this.subarray(a,o),t),i},_.prototype.fill=function(e,t,a,o){if("string"==typeof e){if("string"==typeof t?(o=t,t=0,a=this.length):"string"==typeof a&&(o=a,a=this.length),void 0!==o&&"string"!=typeof o)throw new TypeError("encoding must be a string");if("string"==typeof o&&!_.isEncoding(o))throw new TypeError("Unknown encoding: "+o);if(1===e.length){const t=e.charCodeAt(0);("utf8"===o&&t<128||"latin1"===o)&&(e=t)}}else"number"==typeof e?e&=255:"boolean"==typeof e&&(e=Number(e));if(t<0||this.length<t||this.length<a)throw new RangeError("Out of range index");if(a<=t)return this;let i;if(t>>>=0,a=void 0===a?this.length:a>>>0,e||(e=0),"number"==typeof e)for(i=t;i<a;++i)this[i]=e;else{const n=_.isBuffer(e)?e:_.from(e,o),r=n.length;if(0===r)throw new TypeError('The value "'+e+'" is invalid for argument "value"');for(i=0;i<a-t;++i)this[i+t]=n[i%r]}return this};const F={};function V(e,t,a){F[e]=class extends a{constructor(){super(),Object.defineProperty(this,"message",{value:t.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${e}]`,this.stack,delete this.name}get code(){return e}set code(e){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:e,writable:!0})}toString(){return`${this.name} [${e}]: ${this.message}`}}}function H(e){let t="",a=e.length;const o="-"===e[0]?1:0;for(;a>=o+4;a-=3)t=`_${e.slice(a-3,a)}${t}`;return`${e.slice(0,a)}${t}`}function w(e,t,a,o,i,n){if(e>a||e<t){const o="bigint"==typeof t?"n":"";let i;throw i=n>3?0===t||t===BigInt(0)?`>= 0${o} and < 2${o} ** ${8*(n+1)}${o}`:`>= -(2${o} ** ${8*(n+1)-1}${o}) and < 2 ** ${8*(n+1)-1}${o}`:`>= ${t}${o} and <= ${a}${o}`,new F.ERR_OUT_OF_RANGE("value",i,e)}!(function(e,t,a){Y(t,"offset"),void 0!==e[t]&&void 0!==e[t+a]||z(t,e.length-(a+1))})(o,i,n)}function Y(e,t){if("number"!=typeof e)throw new F.ERR_INVALID_ARG_TYPE(t,"number",e)}function z(e,t,a){if(Math.floor(e)!==e)throw Y(e,a),new F.ERR_OUT_OF_RANGE(a||"offset","an integer",e);if(t<0)throw new F.ERR_BUFFER_OUT_OF_BOUNDS;throw new F.ERR_OUT_OF_RANGE(a||"offset",`>= ${a?1:0} and <= ${t}`,e)}V("ERR_BUFFER_OUT_OF_BOUNDS",(function(e){return e?`${e} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"}),RangeError),V("ERR_INVALID_ARG_TYPE",(function(e,t){return`The "${e}" argument must be of type number. Received type ${typeof t}`}),TypeError),V("ERR_OUT_OF_RANGE",(function(e,t,a){let o=`The value of "${e}" is out of range.`,i=a;return Number.isInteger(a)&&Math.abs(a)>2**32?i=H(String(a)):"bigint"==typeof a&&(i=String(a),(a>BigInt(2)**BigInt(32)||a<-(BigInt(2)**BigInt(32)))&&(i=H(i)),i+="n"),o+=` It must be ${t}. Received ${i}`,o}),RangeError);const K=/[^+/0-9A-Za-z-_]/g;function x(e,t){let a;t=t||1/0;const o=e.length;let i=null;const n=[];for(let r=0;r<o;++r){if(a=e.charCodeAt(r),a>55295&&a<57344){if(!i){if(a>56319){(t-=3)>-1&&n.push(239,191,189);continue}if(r+1===o){(t-=3)>-1&&n.push(239,191,189);continue}i=a;continue}if(a<56320){(t-=3)>-1&&n.push(239,191,189),i=a;continue}a=65536+(i-55296<<10|a-56320)}else i&&(t-=3)>-1&&n.push(239,191,189);if(i=null,a<128){if((t-=1)<0)break;n.push(a)}else if(a<2048){if((t-=2)<0)break;n.push(a>>6|192,63&a|128)}else if(a<65536){if((t-=3)<0)break;n.push(a>>12|224,a>>6&63|128,63&a|128)}else{if(!(a<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;n.push(a>>18|240,a>>12&63|128,a>>6&63|128,63&a|128)}}return n}function j(e){return o.toByteArray((function(e){if((e=(e=e.split("=")[0]).trim().replace(K,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e})(e))}function Q(e,t,a,o){let i;for(i=0;i<o&&!(i+a>=t.length||i>=e.length);++i)t[i+a]=e[i];return i}function X(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}function $(e){return e!=e}const q=(function(){const e="0123456789abcdef",t=new Array(256);for(let a=0;a<16;++a){const o=16*a;for(let i=0;i<16;++i)t[o+i]=e[a]+e[i]}return t})();function J(e){return"undefined"==typeof BigInt?Z:e}function Z(){throw new Error("BigInt not supported")}},94184:(e,t)=>{var a;!(function(){"use strict";var o={}.hasOwnProperty;function i(){for(var e=[],t=0;t<arguments.length;t++){var a=arguments[t];if(a){var n=typeof a;if("string"===n||"number"===n)e.push(a);else if(Array.isArray(a)){if(a.length){var r=i.apply(null,a);r&&e.push(r)}}else if("object"===n)if(a.toString===Object.prototype.toString)for(var E in a)o.call(a,E)&&a[E]&&e.push(E);else e.push(a.toString())}}return e.join(" ")}e.exports?(i.default=i,e.exports=i):void 0===(a=function(){return i}.apply(t,[]))||(e.exports=a)})()},8874:e=>{"use strict";e.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},19818:(e,t,a)=>{var o=a(8874),i=a(86851),n=Object.hasOwnProperty,r=Object.create(null);for(var E in o)n.call(o,E)&&(r[o[E]]=E);var _=e.exports={to:{},get:{}};function T(e,t,a){return Math.min(Math.max(t,e),a)}function s(e){var t=Math.round(e).toString(16).toUpperCase();return t.length<2?"0"+t:t}_.get=function(e){var t,a;switch(e.substring(0,3).toLowerCase()){case"hsl":t=_.get.hsl(e),a="hsl";break;case"hwb":t=_.get.hwb(e),a="hwb";break;default:t=_.get.rgb(e),a="rgb"}return t?{model:a,value:t}:null},_.get.rgb=function(e){if(!e)return null;var t,a,i,r=[0,0,0,1];if(t=e.match(/^#([a-f0-9]{6})([a-f0-9]{2})?$/i)){for(i=t[2],t=t[1],a=0;a<3;a++){var E=2*a;r[a]=parseInt(t.slice(E,E+2),16)}i&&(r[3]=parseInt(i,16)/255)}else if(t=e.match(/^#([a-f0-9]{3,4})$/i)){for(i=(t=t[1])[3],a=0;a<3;a++)r[a]=parseInt(t[a]+t[a],16);i&&(r[3]=parseInt(i+i,16)/255)}else if(t=e.match(/^rgba?\(\s*([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/)){for(a=0;a<3;a++)r[a]=parseInt(t[a+1],0);t[4]&&(t[5]?r[3]=.01*parseFloat(t[4]):r[3]=parseFloat(t[4]))}else{if(!(t=e.match(/^rgba?\(\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/)))return(t=e.match(/^(\w+)$/))?"transparent"===t[1]?[0,0,0,0]:n.call(o,t[1])?((r=o[t[1]])[3]=1,r):null:null;for(a=0;a<3;a++)r[a]=Math.round(2.55*parseFloat(t[a+1]));t[4]&&(t[5]?r[3]=.01*parseFloat(t[4]):r[3]=parseFloat(t[4]))}for(a=0;a<3;a++)r[a]=T(r[a],0,255);return r[3]=T(r[3],0,1),r},_.get.hsl=function(e){if(!e)return null;var t=e.match(/^hsla?\(\s*([+-]?(?:\d{0,3}\.)?\d+)(?:deg)?\s*,?\s*([+-]?[\d\.]+)%\s*,?\s*([+-]?[\d\.]+)%\s*(?:[,|\/]\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/);if(t){var a=parseFloat(t[4]);return[(parseFloat(t[1])%360+360)%360,T(parseFloat(t[2]),0,100),T(parseFloat(t[3]),0,100),T(isNaN(a)?1:a,0,1)]}return null},_.get.hwb=function(e){if(!e)return null;var t=e.match(/^hwb\(\s*([+-]?\d{0,3}(?:\.\d+)?)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/);if(t){var a=parseFloat(t[4]);return[(parseFloat(t[1])%360+360)%360,T(parseFloat(t[2]),0,100),T(parseFloat(t[3]),0,100),T(isNaN(a)?1:a,0,1)]}return null},_.to.hex=function(){var e=i(arguments);return"#"+s(e[0])+s(e[1])+s(e[2])+(e[3]<1?s(Math.round(255*e[3])):"")},_.to.rgb=function(){var e=i(arguments);return e.length<4||1===e[3]?"rgb("+Math.round(e[0])+", "+Math.round(e[1])+", "+Math.round(e[2])+")":"rgba("+Math.round(e[0])+", "+Math.round(e[1])+", "+Math.round(e[2])+", "+e[3]+")"},_.to.rgb.percent=function(){var e=i(arguments),t=Math.round(e[0]/255*100),a=Math.round(e[1]/255*100),o=Math.round(e[2]/255*100);return e.length<4||1===e[3]?"rgb("+t+"%, "+a+"%, "+o+"%)":"rgba("+t+"%, "+a+"%, "+o+"%, "+e[3]+")"},_.to.hsl=function(){var e=i(arguments);return e.length<4||1===e[3]?"hsl("+e[0]+", "+e[1]+"%, "+e[2]+"%)":"hsla("+e[0]+", "+e[1]+"%, "+e[2]+"%, "+e[3]+")"},_.to.hwb=function(){var e=i(arguments),t="";return e.length>=4&&1!==e[3]&&(t=", "+e[3]),"hwb("+e[0]+", "+e[1]+"%, "+e[2]+"%"+t+")"},_.to.keyword=function(e){return r[e.slice(0,3)]}},6767:(e,t,a)=>{const o=a(19818),i=a(80978),n=["keyword","gray","hex"],r={};for(const e of Object.keys(i))r[[...i[e].labels].sort().join("")]=e;const E={};function _(e,t){if(!(this instanceof _))return new _(e,t);if(t&&t in n&&(t=null),t&&!(t in i))throw new Error("Unknown model: "+t);let a,T;if(null==e)this.model="rgb",this.color=[0,0,0],this.valpha=1;else if(e instanceof _)this.model=e.model,this.color=[...e.color],this.valpha=e.valpha;else if("string"==typeof e){const t=o.get(e);if(null===t)throw new Error("Unable to parse color from string: "+e);this.model=t.model,T=i[this.model].channels,this.color=t.value.slice(0,T),this.valpha="number"==typeof t.value[T]?t.value[T]:1}else if(e.length>0){this.model=t||"rgb",T=i[this.model].channels;const a=Array.prototype.slice.call(e,0,T);this.color=l(a,T),this.valpha="number"==typeof e[T]?e[T]:1}else if("number"==typeof e)this.model="rgb",this.color=[e>>16&255,e>>8&255,255&e],this.valpha=1;else{this.valpha=1;const t=Object.keys(e);"alpha"in e&&(t.splice(t.indexOf("alpha"),1),this.valpha="number"==typeof e.alpha?e.alpha:0);const o=t.sort().join("");if(!(o in r))throw new Error("Unable to parse color from object: "+JSON.stringify(e));this.model=r[o];const{labels:n}=i[this.model],E=[];for(a=0;a<n.length;a++)E.push(e[n[a]]);this.color=l(E)}if(E[this.model])for(T=i[this.model].channels,a=0;a<T;a++){const e=E[this.model][a];e&&(this.color[a]=e(this.color[a]))}this.valpha=Math.max(0,Math.min(1,this.valpha)),Object.freeze&&Object.freeze(this)}_.prototype={toString(){return this.string()},toJSON(){return this[this.model]()},string(e){let t=this.model in o.to?this:this.rgb();t=t.round("number"==typeof e?e:1);const a=1===t.valpha?t.color:[...t.color,this.valpha];return o.to[t.model](a)},percentString(e){const t=this.rgb().round("number"==typeof e?e:1),a=1===t.valpha?t.color:[...t.color,this.valpha];return o.to.rgb.percent(a)},array(){return 1===this.valpha?[...this.color]:[...this.color,this.valpha]},object(){const e={},{channels:t}=i[this.model],{labels:a}=i[this.model];for(let o=0;o<t;o++)e[a[o]]=this.color[o];return 1!==this.valpha&&(e.alpha=this.valpha),e},unitArray(){const e=this.rgb().color;return e[0]/=255,e[1]/=255,e[2]/=255,1!==this.valpha&&e.push(this.valpha),e},unitObject(){const e=this.rgb().object();return e.r/=255,e.g/=255,e.b/=255,1!==this.valpha&&(e.alpha=this.valpha),e},round(e){return e=Math.max(e||0,0),new _([...this.color.map(T(e)),this.valpha],this.model)},alpha(e){return void 0!==e?new _([...this.color,Math.max(0,Math.min(1,e))],this.model):this.valpha},red:s("rgb",0,S(255)),green:s("rgb",1,S(255)),blue:s("rgb",2,S(255)),hue:s(["hsl","hsv","hsl","hwb","hcg"],0,(e=>(e%360+360)%360)),saturationl:s("hsl",1,S(100)),lightness:s("hsl",2,S(100)),saturationv:s("hsv",1,S(100)),value:s("hsv",2,S(100)),chroma:s("hcg",1,S(100)),gray:s("hcg",2,S(100)),white:s("hwb",1,S(100)),wblack:s("hwb",2,S(100)),cyan:s("cmyk",0,S(100)),magenta:s("cmyk",1,S(100)),yellow:s("cmyk",2,S(100)),black:s("cmyk",3,S(100)),x:s("xyz",0,S(95.047)),y:s("xyz",1,S(100)),z:s("xyz",2,S(108.833)),l:s("lab",0,S(100)),a:s("lab",1),b:s("lab",2),keyword(e){return void 0!==e?new _(e):i[this.model].keyword(this.color)},hex(e){return void 0!==e?new _(e):o.to.hex(this.rgb().round().color)},hexa(e){if(void 0!==e)return new _(e);const t=this.rgb().round().color;let a=Math.round(255*this.valpha).toString(16).toUpperCase();return 1===a.length&&(a="0"+a),o.to.hex(t)+a},rgbNumber(){const e=this.rgb().color;return(255&e[0])<<16|(255&e[1])<<8|255&e[2]},luminosity(){const e=this.rgb().color,t=[];for(const[a,o]of e.entries()){const e=o/255;t[a]=e<=.04045?e/12.92:((e+.055)/1.055)**2.4}return.2126*t[0]+.7152*t[1]+.0722*t[2]},contrast(e){const t=this.luminosity(),a=e.luminosity();return t>a?(t+.05)/(a+.05):(a+.05)/(t+.05)},level(e){const t=this.contrast(e);return t>=7?"AAA":t>=4.5?"AA":""},isDark(){const e=this.rgb().color;return(2126*e[0]+7152*e[1]+722*e[2])/1e4<128},isLight(){return!this.isDark()},negate(){const e=this.rgb();for(let t=0;t<3;t++)e.color[t]=255-e.color[t];return e},lighten(e){const t=this.hsl();return t.color[2]+=t.color[2]*e,t},darken(e){const t=this.hsl();return t.color[2]-=t.color[2]*e,t},saturate(e){const t=this.hsl();return t.color[1]+=t.color[1]*e,t},desaturate(e){const t=this.hsl();return t.color[1]-=t.color[1]*e,t},whiten(e){const t=this.hwb();return t.color[1]+=t.color[1]*e,t},blacken(e){const t=this.hwb();return t.color[2]+=t.color[2]*e,t},grayscale(){const e=this.rgb().color,t=.3*e[0]+.59*e[1]+.11*e[2];return _.rgb(t,t,t)},fade(e){return this.alpha(this.valpha-this.valpha*e)},opaquer(e){return this.alpha(this.valpha+this.valpha*e)},rotate(e){const t=this.hsl();let a=t.color[0];return a=(a+e)%360,a=a<0?360+a:a,t.color[0]=a,t},mix(e,t){if(!e||!e.rgb)throw new Error('Argument to "mix" was not a Color instance, but rather an instance of '+typeof e);const a=e.rgb(),o=this.rgb(),i=void 0===t?.5:t,n=2*i-1,r=a.alpha()-o.alpha(),E=((n*r==-1?n:(n+r)/(1+n*r))+1)/2,T=1-E;return _.rgb(E*a.red()+T*o.red(),E*a.green()+T*o.green(),E*a.blue()+T*o.blue(),a.alpha()*i+o.alpha()*(1-i))}};for(const e of Object.keys(i)){if(n.includes(e))continue;const{channels:t}=i[e];_.prototype[e]=function(...t){return this.model===e?new _(this):t.length>0?new _(t,e):new _([...(a=i[this.model][e].raw(this.color),Array.isArray(a)?a:[a]),this.valpha],e);var a},_[e]=function(...a){let o=a[0];return"number"==typeof o&&(o=l(a,t)),new _(o,e)}}function T(e){return function(t){return(function(e,t){return Number(e.toFixed(t))})(t,e)}}function s(e,t,a){e=Array.isArray(e)?e:[e];for(const o of e)(E[o]||(E[o]=[]))[t]=a;return e=e[0],function(o){let i;return void 0!==o?(a&&(o=a(o)),i=this[e](),i.color[t]=o,i):(i=this[e]().color[t],a&&(i=a(i)),i)}}function S(e){return function(t){return Math.max(0,Math.min(e,t))}}function l(e,t){for(let a=0;a<t;a++)"number"!=typeof e[a]&&(e[a]=0);return e}e.exports=_},12956:(e,t,a)=>{const o=a(58900),i={};for(const e of Object.keys(o))i[o[e]]=e;const n={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};e.exports=n;for(const e of Object.keys(n)){if(!("channels"in n[e]))throw new Error("missing channels property: "+e);if(!("labels"in n[e]))throw new Error("missing channel labels property: "+e);if(n[e].labels.length!==n[e].channels)throw new Error("channel and label counts mismatch: "+e);const{channels:t,labels:a}=n[e];delete n[e].channels,delete n[e].labels,Object.defineProperty(n[e],"channels",{value:t}),Object.defineProperty(n[e],"labels",{value:a})}n.rgb.hsl=function(e){const t=e[0]/255,a=e[1]/255,o=e[2]/255,i=Math.min(t,a,o),n=Math.max(t,a,o),r=n-i;let E,_;n===i?E=0:t===n?E=(a-o)/r:a===n?E=2+(o-t)/r:o===n&&(E=4+(t-a)/r),E=Math.min(60*E,360),E<0&&(E+=360);const T=(i+n)/2;return _=n===i?0:T<=.5?r/(n+i):r/(2-n-i),[E,100*_,100*T]},n.rgb.hsv=function(e){let t,a,o,i,n;const r=e[0]/255,E=e[1]/255,_=e[2]/255,T=Math.max(r,E,_),s=T-Math.min(r,E,_),S=function(e){return(T-e)/6/s+.5};return 0===s?(i=0,n=0):(n=s/T,t=S(r),a=S(E),o=S(_),r===T?i=o-a:E===T?i=1/3+t-o:_===T&&(i=2/3+a-t),i<0?i+=1:i>1&&(i-=1)),[360*i,100*n,100*T]},n.rgb.hwb=function(e){const t=e[0],a=e[1];let o=e[2];const i=n.rgb.hsl(e)[0],r=1/255*Math.min(t,Math.min(a,o));return o=1-1/255*Math.max(t,Math.max(a,o)),[i,100*r,100*o]},n.rgb.cmyk=function(e){const t=e[0]/255,a=e[1]/255,o=e[2]/255,i=Math.min(1-t,1-a,1-o);return[100*((1-t-i)/(1-i)||0),100*((1-a-i)/(1-i)||0),100*((1-o-i)/(1-i)||0),100*i]},n.rgb.keyword=function(e){const t=i[e];if(t)return t;let a,n=1/0;for(const t of Object.keys(o)){const i=o[t],_=(E=i,((r=e)[0]-E[0])**2+(r[1]-E[1])**2+(r[2]-E[2])**2);_<n&&(n=_,a=t)}var r,E;return a},n.keyword.rgb=function(e){return o[e]},n.rgb.xyz=function(e){let t=e[0]/255,a=e[1]/255,o=e[2]/255;t=t>.04045?((t+.055)/1.055)**2.4:t/12.92,a=a>.04045?((a+.055)/1.055)**2.4:a/12.92,o=o>.04045?((o+.055)/1.055)**2.4:o/12.92;return[100*(.4124*t+.3576*a+.1805*o),100*(.2126*t+.7152*a+.0722*o),100*(.0193*t+.1192*a+.9505*o)]},n.rgb.lab=function(e){const t=n.rgb.xyz(e);let a=t[0],o=t[1],i=t[2];a/=95.047,o/=100,i/=108.883,a=a>.008856?a**(1/3):7.787*a+16/116,o=o>.008856?o**(1/3):7.787*o+16/116,i=i>.008856?i**(1/3):7.787*i+16/116;return[116*o-16,500*(a-o),200*(o-i)]},n.hsl.rgb=function(e){const t=e[0]/360,a=e[1]/100,o=e[2]/100;let i,n,r;if(0===a)return r=255*o,[r,r,r];i=o<.5?o*(1+a):o+a-o*a;const E=2*o-i,_=[0,0,0];for(let e=0;e<3;e++)n=t+1/3*-(e-1),n<0&&n++,n>1&&n--,r=6*n<1?E+6*(i-E)*n:2*n<1?i:3*n<2?E+(i-E)*(2/3-n)*6:E,_[e]=255*r;return _},n.hsl.hsv=function(e){const t=e[0];let a=e[1]/100,o=e[2]/100,i=a;const n=Math.max(o,.01);o*=2,a*=o<=1?o:2-o,i*=n<=1?n:2-n;return[t,100*(0===o?2*i/(n+i):2*a/(o+a)),100*((o+a)/2)]},n.hsv.rgb=function(e){const t=e[0]/60,a=e[1]/100;let o=e[2]/100;const i=Math.floor(t)%6,n=t-Math.floor(t),r=255*o*(1-a),E=255*o*(1-a*n),_=255*o*(1-a*(1-n));switch(o*=255,i){case 0:return[o,_,r];case 1:return[E,o,r];case 2:return[r,o,_];case 3:return[r,E,o];case 4:return[_,r,o];case 5:return[o,r,E]}},n.hsv.hsl=function(e){const t=e[0],a=e[1]/100,o=e[2]/100,i=Math.max(o,.01);let n,r;r=(2-a)*o;const E=(2-a)*i;return n=a*i,n/=E<=1?E:2-E,n=n||0,r/=2,[t,100*n,100*r]},n.hwb.rgb=function(e){const t=e[0]/360;let a=e[1]/100,o=e[2]/100;const i=a+o;let n;i>1&&(a/=i,o/=i);const r=Math.floor(6*t),E=1-o;n=6*t-r,0!=(1&r)&&(n=1-n);const _=a+n*(E-a);let T,s,S;switch(r){default:T=E,s=_,S=a;break;case 1:T=_,s=E,S=a;break;case 2:T=a,s=E,S=_;break;case 3:T=a,s=_,S=E;break;case 4:T=_,s=a,S=E;break;case 5:T=E,s=a,S=_}return[255*T,255*s,255*S]},n.cmyk.rgb=function(e){const t=e[0]/100,a=e[1]/100,o=e[2]/100,i=e[3]/100;return[255*(1-Math.min(1,t*(1-i)+i)),255*(1-Math.min(1,a*(1-i)+i)),255*(1-Math.min(1,o*(1-i)+i))]},n.xyz.rgb=function(e){const t=e[0]/100,a=e[1]/100,o=e[2]/100;let i,n,r;return i=3.2406*t+-1.5372*a+-.4986*o,n=-.9689*t+1.8758*a+.0415*o,r=.0557*t+-.204*a+1.057*o,i=i>.0031308?1.055*i**(1/2.4)-.055:12.92*i,n=n>.0031308?1.055*n**(1/2.4)-.055:12.92*n,r=r>.0031308?1.055*r**(1/2.4)-.055:12.92*r,i=Math.min(Math.max(0,i),1),n=Math.min(Math.max(0,n),1),r=Math.min(Math.max(0,r),1),[255*i,255*n,255*r]},n.xyz.lab=function(e){let t=e[0],a=e[1],o=e[2];t/=95.047,a/=100,o/=108.883,t=t>.008856?t**(1/3):7.787*t+16/116,a=a>.008856?a**(1/3):7.787*a+16/116,o=o>.008856?o**(1/3):7.787*o+16/116;return[116*a-16,500*(t-a),200*(a-o)]},n.lab.xyz=function(e){let t,a,o;a=(e[0]+16)/116,t=e[1]/500+a,o=a-e[2]/200;const i=a**3,n=t**3,r=o**3;return a=i>.008856?i:(a-16/116)/7.787,t=n>.008856?n:(t-16/116)/7.787,o=r>.008856?r:(o-16/116)/7.787,t*=95.047,a*=100,o*=108.883,[t,a,o]},n.lab.lch=function(e){const t=e[0],a=e[1],o=e[2];let i;i=360*Math.atan2(o,a)/2/Math.PI,i<0&&(i+=360);return[t,Math.sqrt(a*a+o*o),i]},n.lch.lab=function(e){const t=e[0],a=e[1],o=e[2]/360*2*Math.PI;return[t,a*Math.cos(o),a*Math.sin(o)]},n.rgb.ansi16=function(e,t=null){const[a,o,i]=e;let r=null===t?n.rgb.hsv(e)[2]:t;if(r=Math.round(r/50),0===r)return 30;let E=30+(Math.round(i/255)<<2|Math.round(o/255)<<1|Math.round(a/255));return 2===r&&(E+=60),E},n.hsv.ansi16=function(e){return n.rgb.ansi16(n.hsv.rgb(e),e[2])},n.rgb.ansi256=function(e){const t=e[0],a=e[1],o=e[2];if(t===a&&a===o)return t<8?16:t>248?231:Math.round((t-8)/247*24)+232;return 16+36*Math.round(t/255*5)+6*Math.round(a/255*5)+Math.round(o/255*5)},n.ansi16.rgb=function(e){let t=e%10;if(0===t||7===t)return e>50&&(t+=3.5),t=t/10.5*255,[t,t,t];const a=.5*(1+~~(e>50));return[(1&t)*a*255,(t>>1&1)*a*255,(t>>2&1)*a*255]},n.ansi256.rgb=function(e){if(e>=232){const t=10*(e-232)+8;return[t,t,t]}let t;e-=16;return[Math.floor(e/36)/5*255,Math.floor((t=e%36)/6)/5*255,t%6/5*255]},n.rgb.hex=function(e){const t=(((255&Math.round(e[0]))<<16)+((255&Math.round(e[1]))<<8)+(255&Math.round(e[2]))).toString(16).toUpperCase();return"000000".substring(t.length)+t},n.hex.rgb=function(e){const t=e.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!t)return[0,0,0];let a=t[0];3===t[0].length&&(a=a.split("").map((e=>e+e)).join(""));const o=parseInt(a,16);return[o>>16&255,o>>8&255,255&o]},n.rgb.hcg=function(e){const t=e[0]/255,a=e[1]/255,o=e[2]/255,i=Math.max(Math.max(t,a),o),n=Math.min(Math.min(t,a),o),r=i-n;let E,_;return E=r<1?n/(1-r):0,_=r<=0?0:i===t?(a-o)/r%6:i===a?2+(o-t)/r:4+(t-a)/r,_/=6,_%=1,[360*_,100*r,100*E]},n.hsl.hcg=function(e){const t=e[1]/100,a=e[2]/100,o=a<.5?2*t*a:2*t*(1-a);let i=0;return o<1&&(i=(a-.5*o)/(1-o)),[e[0],100*o,100*i]},n.hsv.hcg=function(e){const t=e[1]/100,a=e[2]/100,o=t*a;let i=0;return o<1&&(i=(a-o)/(1-o)),[e[0],100*o,100*i]},n.hcg.rgb=function(e){const t=e[0]/360,a=e[1]/100,o=e[2]/100;if(0===a)return[255*o,255*o,255*o];const i=[0,0,0],n=t%1*6,r=n%1,E=1-r;let _=0;switch(Math.floor(n)){case 0:i[0]=1,i[1]=r,i[2]=0;break;case 1:i[0]=E,i[1]=1,i[2]=0;break;case 2:i[0]=0,i[1]=1,i[2]=r;break;case 3:i[0]=0,i[1]=E,i[2]=1;break;case 4:i[0]=r,i[1]=0,i[2]=1;break;default:i[0]=1,i[1]=0,i[2]=E}return _=(1-a)*o,[255*(a*i[0]+_),255*(a*i[1]+_),255*(a*i[2]+_)]},n.hcg.hsv=function(e){const t=e[1]/100,a=t+e[2]/100*(1-t);let o=0;return a>0&&(o=t/a),[e[0],100*o,100*a]},n.hcg.hsl=function(e){const t=e[1]/100,a=e[2]/100*(1-t)+.5*t;let o=0;return a>0&&a<.5?o=t/(2*a):a>=.5&&a<1&&(o=t/(2*(1-a))),[e[0],100*o,100*a]},n.hcg.hwb=function(e){const t=e[1]/100,a=t+e[2]/100*(1-t);return[e[0],100*(a-t),100*(1-a)]},n.hwb.hcg=function(e){const t=e[1]/100,a=1-e[2]/100,o=a-t;let i=0;return o<1&&(i=(a-o)/(1-o)),[e[0],100*o,100*i]},n.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]},n.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]},n.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]},n.gray.hsl=function(e){return[0,0,e[0]]},n.gray.hsv=n.gray.hsl,n.gray.hwb=function(e){return[0,100,e[0]]},n.gray.cmyk=function(e){return[0,0,0,e[0]]},n.gray.lab=function(e){return[e[0],0,0]},n.gray.hex=function(e){const t=255&Math.round(e[0]/100*255),a=((t<<16)+(t<<8)+t).toString(16).toUpperCase();return"000000".substring(a.length)+a},n.rgb.gray=function(e){return[(e[0]+e[1]+e[2])/3/255*100]}},80978:(e,t,a)=>{const o=a(12956),i=a(87774),n={};Object.keys(o).forEach((e=>{n[e]={},Object.defineProperty(n[e],"channels",{value:o[e].channels}),Object.defineProperty(n[e],"labels",{value:o[e].labels});const t=i(e);Object.keys(t).forEach((a=>{const o=t[a];n[e][a]=(function(e){const t=function(...t){const a=t[0];if(null==a)return a;a.length>1&&(t=a);const o=e(t);if("object"==typeof o)for(let e=o.length,t=0;t<e;t++)o[t]=Math.round(o[t]);return o};return"conversion"in e&&(t.conversion=e.conversion),t})(o),n[e][a].raw=(function(e){const t=function(...t){const a=t[0];return null==a?a:(a.length>1&&(t=a),e(t))};return"conversion"in e&&(t.conversion=e.conversion),t})(o)}))})),e.exports=n},87774:(e,t,a)=>{const o=a(12956);function i(e){const t=(function(){const e={},t=Object.keys(o);for(let a=t.length,o=0;o<a;o++)e[t[o]]={distance:-1,parent:null};return e})(),a=[e];for(t[e].distance=0;a.length;){const e=a.pop(),i=Object.keys(o[e]);for(let o=i.length,n=0;n<o;n++){const o=i[n],r=t[o];-1===r.distance&&(r.distance=t[e].distance+1,r.parent=e,a.unshift(o))}}return t}function n(e,t){return function(a){return t(e(a))}}function r(e,t){const a=[t[e].parent,e];let i=o[t[e].parent][e],r=t[e].parent;for(;t[r].parent;)a.unshift(t[r].parent),i=n(o[t[r].parent][r],i),r=t[r].parent;return i.conversion=a,i}e.exports=function(e){const t=i(e),a={},o=Object.keys(t);for(let e=o.length,i=0;i<e;i++){const e=o[i];null!==t[e].parent&&(a[e]=r(e,t))}return a}},58900:e=>{"use strict";e.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},62682:e=>{e.exports=function e(t){return Object.freeze(t),Object.getOwnPropertyNames(t).forEach((function(a){!t.hasOwnProperty(a)||null===t[a]||"object"!=typeof t[a]&&"function"!=typeof t[a]||Object.isFrozen(t[a])||e(t[a])})),t}},26729:e=>{"use strict";var t=Object.prototype.hasOwnProperty,a="~";function o(){}function i(e,t,a){this.fn=e,this.context=t,this.once=a||!1}function n(e,t,o,n,r){if("function"!=typeof o)throw new TypeError("The listener must be a function");var E=new i(o,n||e,r),_=a?a+t:t;return e._events[_]?e._events[_].fn?e._events[_]=[e._events[_],E]:e._events[_].push(E):(e._events[_]=E,e._eventsCount++),e}function r(e,t){0==--e._eventsCount?e._events=new o:delete e._events[t]}function E(){this._events=new o,this._eventsCount=0}Object.create&&(o.prototype=Object.create(null),(new o).__proto__||(a=!1)),E.prototype.eventNames=function(){var e,o,i=[];if(0===this._eventsCount)return i;for(o in e=this._events)t.call(e,o)&&i.push(a?o.slice(1):o);return Object.getOwnPropertySymbols?i.concat(Object.getOwnPropertySymbols(e)):i},E.prototype.listeners=function(e){var t=a?a+e:e,o=this._events[t];if(!o)return[];if(o.fn)return[o.fn];for(var i=0,n=o.length,r=new Array(n);i<n;i++)r[i]=o[i].fn;return r},E.prototype.listenerCount=function(e){var t=a?a+e:e,o=this._events[t];return o?o.fn?1:o.length:0},E.prototype.emit=function(e,t,o,i,n,r){var E=a?a+e:e;if(!this._events[E])return!1;var _,T,s=this._events[E],S=arguments.length;if(s.fn){switch(s.once&&this.removeListener(e,s.fn,void 0,!0),S){case 1:return s.fn.call(s.context),!0;case 2:return s.fn.call(s.context,t),!0;case 3:return s.fn.call(s.context,t,o),!0;case 4:return s.fn.call(s.context,t,o,i),!0;case 5:return s.fn.call(s.context,t,o,i,n),!0;case 6:return s.fn.call(s.context,t,o,i,n,r),!0}for(T=1,_=new Array(S-1);T<S;T++)_[T-1]=arguments[T];s.fn.apply(s.context,_)}else{var l,I=s.length;for(T=0;T<I;T++)switch(s[T].once&&this.removeListener(e,s[T].fn,void 0,!0),S){case 1:s[T].fn.call(s[T].context);break;case 2:s[T].fn.call(s[T].context,t);break;case 3:s[T].fn.call(s[T].context,t,o);break;case 4:s[T].fn.call(s[T].context,t,o,i);break;default:if(!_)for(l=1,_=new Array(S-1);l<S;l++)_[l-1]=arguments[l];s[T].fn.apply(s[T].context,_)}}return!0},E.prototype.on=function(e,t,a){return n(this,e,t,a,!1)},E.prototype.once=function(e,t,a){return n(this,e,t,a,!0)},E.prototype.removeListener=function(e,t,o,i){var n=a?a+e:e;if(!this._events[n])return this;if(!t)return r(this,n),this;var E=this._events[n];if(E.fn)E.fn!==t||i&&!E.once||o&&E.context!==o||r(this,n);else{for(var _=0,T=[],s=E.length;_<s;_++)(E[_].fn!==t||i&&!E[_].once||o&&E[_].context!==o)&&T.push(E[_]);T.length?this._events[n]=1===T.length?T[0]:T:r(this,n)}return this},E.prototype.removeAllListeners=function(e){var t;return e?(t=a?a+e:e,this._events[t]&&r(this,t)):(this._events=new o,this._eventsCount=0),this},E.prototype.off=E.prototype.removeListener,E.prototype.addListener=E.prototype.on,E.prefixed=a,E.EventEmitter=E,e.exports=E},87280:(e,t,a)=>{"use strict";t.Z=function(e){var t={};for(var a in e)e.hasOwnProperty(a)&&E(a)&&(t[a]=e[a]);return t};var o,i=a(52047),n=(o=i)&&o.__esModule?o:{default:o};var r={onCopy:!0,onCut:!0,onPaste:!0,onLoad:!0,onError:!0,onWheel:!0,onScroll:!0,onCompositionEnd:!0,onCompositionStart:!0,onCompositionUpdate:!0,onKeyDown:!0,onKeyPress:!0,onKeyUp:!0,onFocus:!0,onBlur:!0,onChange:!0,onInput:!0,onSubmit:!0,onClick:!0,onContextMenu:!0,onDoubleClick:!0,onDrag:!0,onDragEnd:!0,onDragEnter:!0,onDragExit:!0,onDragLeave:!0,onDragOver:!0,onDragStart:!0,onDrop:!0,onMouseDown:!0,onMouseEnter:!0,onMouseLeave:!0,onMouseMove:!0,onMouseOut:!0,onMouseOver:!0,onMouseUp:!0,onSelect:!0,onTouchCancel:!0,onTouchEnd:!0,onTouchMove:!0,onTouchStart:!0,onAnimationStart:!0,onAnimationEnd:!0,onAnimationIteration:!0,onTransitionEnd:!0};function E(e){return r[e]||n.default[e]||/^(data|aria)-/.test(e)}},542:e=>{var t=e.exports=function(e,a){if(a||(a=16),void 0===e&&(e=128),e<=0)return"0";for(var o=Math.log(Math.pow(2,e))/Math.log(a),i=2;o===1/0;i*=2)o=Math.log(Math.pow(2,e/i))/Math.log(a)*i;var n=o-Math.floor(o),r="";for(i=0;i<Math.floor(o);i++){r=Math.floor(Math.random()*a).toString(a)+r}if(n){var E=Math.pow(a,n);r=Math.floor(Math.random()*E).toString(a)+r}var _=parseInt(r,a);return _!==1/0&&_>=Math.pow(2,e)?t(e,a):r};t.rack=function(e,a,o){var i=function(i){var r=0;do{if(r++>10){if(!o)throw new Error("too many ID collisions, use more bits");e+=o}var E=t(e,a)}while(Object.hasOwnProperty.call(n,E));return n[E]=i,E},n=i.hats={};return i.get=function(e){return i.hats[e]},i.set=function(e,t){return i.hats[e]=t,i},i.bits=e||128,i.base=a||16,i}},67631:e=>{!(function t(a){e.exports=(function(){"use strict";function e(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function o(t){for(var a=1;a<arguments.length;a++){var o=null!=arguments[a]?arguments[a]:{};a%2?e(Object(o),!0).forEach((function(e){_(t,e,o[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(o)):e(Object(o)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(o,e))}))}return t}function i(e,t){if("object"!=typeof e||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var o=a.call(e,t||"default");if("object"!=typeof o)return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}function n(e){var t=i(e,"string");return"symbol"==typeof t?t:String(t)}function r(e,t){for(var a=0;a<t.length;a++){var o=t[a];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,n(o.key),o)}}function E(e,t,a){return t&&r(e.prototype,t),a&&r(e,a),Object.defineProperty(e,"prototype",{writable:!1}),e}function _(e,t,a){return(t=n(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function T(){return T=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(e[o]=a[o])}return e},T.apply(this,arguments)}function s(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,l(e,t)}function S(e){return S=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},S(e)}function l(e,t){return l=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},l(e,t)}function I(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}function A(e,t,a){return A=I()?Reflect.construct.bind():function(e,t,a){var o=[null];o.push.apply(o,t);var i=new(Function.bind.apply(e,o));return a&&l(i,a.prototype),i},A.apply(null,arguments)}function u(e){try{return-1!==Function.toString.call(e).indexOf("[native code]")}catch(t){return"function"==typeof e}}function d(e){var t="function"==typeof Map?new Map:void 0;return d=function(e){if(null===e||!u(e))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,a)}function a(){return A(e,arguments,S(this).constructor)}return a.prototype=Object.create(e.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),l(a,e)},d(e)}function c(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function O(e,t){if(e){if("string"==typeof e)return R(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?R(e,t):void 0}}function R(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}function N(e,t){var a="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(a)return(a=a.call(e)).next.bind(a);if(Array.isArray(e)||(a=O(e))||t&&e&&"number"==typeof e.length){a&&(e=a);var o=0;return function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function m(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var L={exports:{}};!(function(e,t){var a,o,i,n,r;a=/^(?=((?:[a-zA-Z0-9+\-.]+:)?))\1(?=((?:\/\/[^\/?#]*)?))\2(?=((?:(?:[^?#\/]*\/)*[^;?#\/]*)?))\3((?:;[^?#]*)?)(\?[^#]*)?(#[^]*)?$/,o=/^(?=([^\/?#]*))\1([^]*)$/,i=/(?:\/|^)\.(?=\/)/g,n=/(?:\/|^)\.\.\/(?!\.\.\/)[^\/]*(?=\/)/g,r={buildAbsoluteURL:function(e,t,a){if(a=a||{},e=e.trim(),!(t=t.trim())){if(!a.alwaysNormalize)return e;var i=r.parseURL(e);if(!i)throw new Error("Error trying to parse base URL.");return i.path=r.normalizePath(i.path),r.buildURLFromParts(i)}var n=r.parseURL(t);if(!n)throw new Error("Error trying to parse relative URL.");if(n.scheme)return a.alwaysNormalize?(n.path=r.normalizePath(n.path),r.buildURLFromParts(n)):t;var E=r.parseURL(e);if(!E)throw new Error("Error trying to parse base URL.");if(!E.netLoc&&E.path&&"/"!==E.path[0]){var _=o.exec(E.path);E.netLoc=_[1],E.path=_[2]}E.netLoc&&!E.path&&(E.path="/");var T={scheme:E.scheme,netLoc:n.netLoc,path:null,params:n.params,query:n.query,fragment:n.fragment};if(!n.netLoc&&(T.netLoc=E.netLoc,"/"!==n.path[0]))if(n.path){var s=E.path,S=s.substring(0,s.lastIndexOf("/")+1)+n.path;T.path=r.normalizePath(S)}else T.path=E.path,n.params||(T.params=E.params,n.query||(T.query=E.query));return null===T.path&&(T.path=a.alwaysNormalize?r.normalizePath(n.path):n.path),r.buildURLFromParts(T)},parseURL:function(e){var t=a.exec(e);return t?{scheme:t[1]||"",netLoc:t[2]||"",path:t[3]||"",params:t[4]||"",query:t[5]||"",fragment:t[6]||""}:null},normalizePath:function(e){for(e=e.split("").reverse().join("").replace(i,"");e.length!==(e=e.replace(n,"")).length;);return e.split("").reverse().join("")},buildURLFromParts:function(e){return e.scheme+e.netLoc+e.path+e.params+e.query+e.fragment}},e.exports=r})(L);var D=L.exports,p=Number.isFinite||function(e){return"number"==typeof e&&isFinite(e)},h=Number.isSafeInteger||function(e){return"number"==typeof e&&Math.abs(e)<=C},C=Number.MAX_SAFE_INTEGER||9007199254740991,f=(function(e){return e.MEDIA_ATTACHING="hlsMediaAttaching",e.MEDIA_ATTACHED="hlsMediaAttached",e.MEDIA_DETACHING="hlsMediaDetaching",e.MEDIA_DETACHED="hlsMediaDetached",e.BUFFER_RESET="hlsBufferReset",e.BUFFER_CODECS="hlsBufferCodecs",e.BUFFER_CREATED="hlsBufferCreated",e.BUFFER_APPENDING="hlsBufferAppending",e.BUFFER_APPENDED="hlsBufferAppended",e.BUFFER_EOS="hlsBufferEos",e.BUFFER_FLUSHING="hlsBufferFlushing",e.BUFFER_FLUSHED="hlsBufferFlushed",e.MANIFEST_LOADING="hlsManifestLoading",e.MANIFEST_LOADED="hlsManifestLoaded",e.MANIFEST_PARSED="hlsManifestParsed",e.LEVEL_SWITCHING="hlsLevelSwitching",e.LEVEL_SWITCHED="hlsLevelSwitched",e.LEVEL_LOADING="hlsLevelLoading",e.LEVEL_LOADED="hlsLevelLoaded",e.LEVEL_UPDATED="hlsLevelUpdated",e.LEVEL_PTS_UPDATED="hlsLevelPtsUpdated",e.LEVELS_UPDATED="hlsLevelsUpdated",e.AUDIO_TRACKS_UPDATED="hlsAudioTracksUpdated",e.AUDIO_TRACK_SWITCHING="hlsAudioTrackSwitching",e.AUDIO_TRACK_SWITCHED="hlsAudioTrackSwitched",e.AUDIO_TRACK_LOADING="hlsAudioTrackLoading",e.AUDIO_TRACK_LOADED="hlsAudioTrackLoaded",e.SUBTITLE_TRACKS_UPDATED="hlsSubtitleTracksUpdated",e.SUBTITLE_TRACKS_CLEARED="hlsSubtitleTracksCleared",e.SUBTITLE_TRACK_SWITCH="hlsSubtitleTrackSwitch",e.SUBTITLE_TRACK_LOADING="hlsSubtitleTrackLoading",e.SUBTITLE_TRACK_LOADED="hlsSubtitleTrackLoaded",e.SUBTITLE_FRAG_PROCESSED="hlsSubtitleFragProcessed",e.CUES_PARSED="hlsCuesParsed",e.NON_NATIVE_TEXT_TRACKS_FOUND="hlsNonNativeTextTracksFound",e.INIT_PTS_FOUND="hlsInitPtsFound",e.FRAG_LOADING="hlsFragLoading",e.FRAG_LOAD_EMERGENCY_ABORTED="hlsFragLoadEmergencyAborted",e.FRAG_LOADED="hlsFragLoaded",e.FRAG_DECRYPTED="hlsFragDecrypted",e.FRAG_PARSING_INIT_SEGMENT="hlsFragParsingInitSegment",e.FRAG_PARSING_USERDATA="hlsFragParsingUserdata",e.FRAG_PARSING_METADATA="hlsFragParsingMetadata",e.FRAG_PARSED="hlsFragParsed",e.FRAG_BUFFERED="hlsFragBuffered",e.FRAG_CHANGED="hlsFragChanged",e.FPS_DROP="hlsFpsDrop",e.FPS_DROP_LEVEL_CAPPING="hlsFpsDropLevelCapping",e.MAX_AUTO_LEVEL_UPDATED="hlsMaxAutoLevelUpdated",e.ERROR="hlsError",e.DESTROYING="hlsDestroying",e.KEY_LOADING="hlsKeyLoading",e.KEY_LOADED="hlsKeyLoaded",e.LIVE_BACK_BUFFER_REACHED="hlsLiveBackBufferReached",e.BACK_BUFFER_REACHED="hlsBackBufferReached",e.STEERING_MANIFEST_LOADED="hlsSteeringManifestLoaded",e})({}),B=(function(e){return e.NETWORK_ERROR="networkError",e.MEDIA_ERROR="mediaError",e.KEY_SYSTEM_ERROR="keySystemError",e.MUX_ERROR="muxError",e.OTHER_ERROR="otherError",e})({}),P=(function(e){return e.KEY_SYSTEM_NO_KEYS="keySystemNoKeys",e.KEY_SYSTEM_NO_ACCESS="keySystemNoAccess",e.KEY_SYSTEM_NO_SESSION="keySystemNoSession",e.KEY_SYSTEM_NO_CONFIGURED_LICENSE="keySystemNoConfiguredLicense",e.KEY_SYSTEM_LICENSE_REQUEST_FAILED="keySystemLicenseRequestFailed",e.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED="keySystemServerCertificateRequestFailed",e.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED="keySystemServerCertificateUpdateFailed",e.KEY_SYSTEM_SESSION_UPDATE_FAILED="keySystemSessionUpdateFailed",e.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED="keySystemStatusOutputRestricted",e.KEY_SYSTEM_STATUS_INTERNAL_ERROR="keySystemStatusInternalError",e.MANIFEST_LOAD_ERROR="manifestLoadError",e.MANIFEST_LOAD_TIMEOUT="manifestLoadTimeOut",e.MANIFEST_PARSING_ERROR="manifestParsingError",e.MANIFEST_INCOMPATIBLE_CODECS_ERROR="manifestIncompatibleCodecsError",e.LEVEL_EMPTY_ERROR="levelEmptyError",e.LEVEL_LOAD_ERROR="levelLoadError",e.LEVEL_LOAD_TIMEOUT="levelLoadTimeOut",e.LEVEL_PARSING_ERROR="levelParsingError",e.LEVEL_SWITCH_ERROR="levelSwitchError",e.AUDIO_TRACK_LOAD_ERROR="audioTrackLoadError",e.AUDIO_TRACK_LOAD_TIMEOUT="audioTrackLoadTimeOut",e.SUBTITLE_LOAD_ERROR="subtitleTrackLoadError",e.SUBTITLE_TRACK_LOAD_TIMEOUT="subtitleTrackLoadTimeOut",e.FRAG_LOAD_ERROR="fragLoadError",e.FRAG_LOAD_TIMEOUT="fragLoadTimeOut",e.FRAG_DECRYPT_ERROR="fragDecryptError",e.FRAG_PARSING_ERROR="fragParsingError",e.FRAG_GAP="fragGap",e.REMUX_ALLOC_ERROR="remuxAllocError",e.KEY_LOAD_ERROR="keyLoadError",e.KEY_LOAD_TIMEOUT="keyLoadTimeOut",e.BUFFER_ADD_CODEC_ERROR="bufferAddCodecError",e.BUFFER_INCOMPATIBLE_CODECS_ERROR="bufferIncompatibleCodecsError",e.BUFFER_APPEND_ERROR="bufferAppendError",e.BUFFER_APPENDING_ERROR="bufferAppendingError",e.BUFFER_STALLED_ERROR="bufferStalledError",e.BUFFER_FULL_ERROR="bufferFullError",e.BUFFER_SEEK_OVER_HOLE="bufferSeekOverHole",e.BUFFER_NUDGE_ON_STALL="bufferNudgeOnStall",e.INTERNAL_EXCEPTION="internalException",e.INTERNAL_ABORTED="aborted",e.UNKNOWN="unknown",e})({}),g=function(){},v={trace:g,debug:g,log:g,warn:g,info:g,error:g},y=v;function W(e){var t=self.console[e];return t?t.bind(self.console,"["+e+"] >"):g}function M(e){for(var t=arguments.length,a=new Array(t>1?t-1:0),o=1;o<t;o++)a[o-1]=arguments[o];a.forEach((function(t){y[t]=e[t]?e[t].bind(e):W(t)}))}function b(e,t){if("object"==typeof console&&!0===e||"object"==typeof e){M(e,"debug","log","info","warn","error");try{y.log('Debug logs enabled for "'+t+'" in hls.js version 1.5.5-0.canary.9893')}catch(e){y=v}}else y=v}var U=y,G=/^(\d+)x(\d+)$/,k=/(.+?)=(".*?"|.*?)(?:,|$)/g,F=(function(){function e(t){"string"==typeof t&&(t=e.parseAttrList(t)),T(this,t)}var t=e.prototype;return t.decimalInteger=function(e){var t=parseInt(this[e],10);return t>Number.MAX_SAFE_INTEGER?1/0:t},t.hexadecimalInteger=function(e){if(this[e]){var t=(this[e]||"0x").slice(2);t=(1&t.length?"0":"")+t;for(var a=new Uint8Array(t.length/2),o=0;o<t.length/2;o++)a[o]=parseInt(t.slice(2*o,2*o+2),16);return a}return null},t.hexadecimalIntegerAsNumber=function(e){var t=parseInt(this[e],16);return t>Number.MAX_SAFE_INTEGER?1/0:t},t.decimalFloatingPoint=function(e){return parseFloat(this[e])},t.optionalFloat=function(e,t){var a=this[e];return a?parseFloat(a):t},t.enumeratedString=function(e){return this[e]},t.bool=function(e){return"YES"===this[e]},t.decimalResolution=function(e){var t=G.exec(this[e]);if(null!==t)return{width:parseInt(t[1],10),height:parseInt(t[2],10)}},e.parseAttrList=function(e){var t,a={},o='"';for(k.lastIndex=0;null!==(t=k.exec(e));){var i=t[2];0===i.indexOf(o)&&i.lastIndexOf(o)===i.length-1&&(i=i.slice(1,-1)),a[t[1].trim()]=i}return a},E(e,[{key:"clientAttrs",get:function(){return Object.keys(this).filter((function(e){return"X-"===e.substring(0,2)}))}}]),e})();function V(e){return"ID"!==e&&"CLASS"!==e&&"START-DATE"!==e&&"DURATION"!==e&&"END-DATE"!==e&&"END-ON-NEXT"!==e}function H(e){return"SCTE35-OUT"===e||"SCTE35-IN"===e}var w=(function(){function e(e,t){if(this.attr=void 0,this._startDate=void 0,this._endDate=void 0,this._badValueForSameId=void 0,t){var a=t.attr;for(var o in a)if(Object.prototype.hasOwnProperty.call(e,o)&&e[o]!==a[o]){U.warn('DATERANGE tag attribute: "'+o+'" does not match for tags with ID: "'+e.ID+'"'),this._badValueForSameId=o;break}e=T(new F({}),a,e)}if(this.attr=e,this._startDate=new Date(e["START-DATE"]),"END-DATE"in this.attr){var i=new Date(this.attr["END-DATE"]);p(i.getTime())&&(this._endDate=i)}}return E(e,[{key:"id",get:function(){return this.attr.ID}},{key:"class",get:function(){return this.attr.CLASS}},{key:"startDate",get:function(){return this._startDate}},{key:"endDate",get:function(){if(this._endDate)return this._endDate;var e=this.duration;return null!==e?new Date(this._startDate.getTime()+1e3*e):null}},{key:"duration",get:function(){if("DURATION"in this.attr){var e=this.attr.decimalFloatingPoint("DURATION");if(p(e))return e}else if(this._endDate)return(this._endDate.getTime()-this._startDate.getTime())/1e3;return null}},{key:"plannedDuration",get:function(){return"PLANNED-DURATION"in this.attr?this.attr.decimalFloatingPoint("PLANNED-DURATION"):null}},{key:"endOnNext",get:function(){return this.attr.bool("END-ON-NEXT")}},{key:"isValid",get:function(){return!!this.id&&!this._badValueForSameId&&p(this.startDate.getTime())&&(null===this.duration||this.duration>=0)&&(!this.endOnNext||!!this.class)}}]),e})(),Y=function(){this.aborted=!1,this.loaded=0,this.retry=0,this.total=0,this.chunkCount=0,this.bwEstimate=0,this.loading={start:0,first:0,end:0},this.parsing={start:0,end:0},this.buffering={start:0,first:0,end:0}},z={AUDIO:"audio",VIDEO:"video",AUDIOVIDEO:"audiovideo"},K=(function(){function e(e){var t;this._byteRange=null,this._url=null,this.baseurl=void 0,this.relurl=void 0,this.elementaryStreams=((t={})[z.AUDIO]=null,t[z.VIDEO]=null,t[z.AUDIOVIDEO]=null,t),this.baseurl=e}return e.prototype.setByteRange=function(e,t){var a,o=e.split("@",2);a=1===o.length?(null==t?void 0:t.byteRangeEndOffset)||0:parseInt(o[1]),this._byteRange=[a,parseInt(o[0])+a]},E(e,[{key:"byteRange",get:function(){return this._byteRange?this._byteRange:[]}},{key:"byteRangeStartOffset",get:function(){return this.byteRange[0]}},{key:"byteRangeEndOffset",get:function(){return this.byteRange[1]}},{key:"url",get:function(){return!this._url&&this.baseurl&&this.relurl&&(this._url=D.buildAbsoluteURL(this.baseurl,this.relurl,{alwaysNormalize:!0})),this._url||""},set:function(e){this._url=e}}]),e})(),x=(function(e){function t(t,a){var o;return(o=e.call(this,a)||this)._decryptdata=null,o.rawProgramDateTime=null,o.programDateTime=null,o.tagList=[],o.duration=0,o.sn=0,o.levelkeys=void 0,o.type=void 0,o.loader=null,o.keyLoader=null,o.level=-1,o.cc=0,o.startPTS=void 0,o.endPTS=void 0,o.startDTS=void 0,o.endDTS=void 0,o.start=0,o.deltaPTS=void 0,o.maxStartPTS=void 0,o.minEndPTS=void 0,o.stats=new Y,o.data=void 0,o.bitrateTest=!1,o.title=null,o.initSegment=null,o.endList=void 0,o.gap=void 0,o.urlId=0,o.type=t,o}s(t,e);var a=t.prototype;return a.setKeyFormat=function(e){if(this.levelkeys){var t=this.levelkeys[e];t&&!this._decryptdata&&(this._decryptdata=t.getDecryptData(this.sn))}},a.abortRequests=function(){var e,t;null==(e=this.loader)||e.abort(),null==(t=this.keyLoader)||t.abort()},a.setElementaryStreamInfo=function(e,t,a,o,i,n){void 0===n&&(n=!1);var r=this.elementaryStreams,E=r[e];E?(E.startPTS=Math.min(E.startPTS,t),E.endPTS=Math.max(E.endPTS,a),E.startDTS=Math.min(E.startDTS,o),E.endDTS=Math.max(E.endDTS,i)):r[e]={startPTS:t,endPTS:a,startDTS:o,endDTS:i,partial:n}},a.clearElementaryStreamInfo=function(){var e=this.elementaryStreams;e[z.AUDIO]=null,e[z.VIDEO]=null,e[z.AUDIOVIDEO]=null},E(t,[{key:"decryptdata",get:function(){if(!this.levelkeys&&!this._decryptdata)return null;if(!this._decryptdata&&this.levelkeys&&!this.levelkeys.NONE){var e=this.levelkeys.identity;if(e)this._decryptdata=e.getDecryptData(this.sn);else{var t=Object.keys(this.levelkeys);if(1===t.length)return this._decryptdata=this.levelkeys[t[0]].getDecryptData(this.sn)}}return this._decryptdata}},{key:"end",get:function(){return this.start+this.duration}},{key:"endProgramDateTime",get:function(){if(null===this.programDateTime)return null;if(!p(this.programDateTime))return null;var e=p(this.duration)?this.duration:0;return this.programDateTime+1e3*e}},{key:"encrypted",get:function(){var e;if(null!=(e=this._decryptdata)&&e.encrypted)return!0;if(this.levelkeys){var t=Object.keys(this.levelkeys),a=t.length;if(a>1||1===a&&this.levelkeys[t[0]].encrypted)return!0}return!1}}]),t})(K),j=(function(e){function t(t,a,o,i,n){var r;(r=e.call(this,o)||this).fragOffset=0,r.duration=0,r.gap=!1,r.independent=!1,r.relurl=void 0,r.fragment=void 0,r.index=void 0,r.stats=new Y,r.duration=t.decimalFloatingPoint("DURATION"),r.gap=t.bool("GAP"),r.independent=t.bool("INDEPENDENT"),r.relurl=t.enumeratedString("URI"),r.fragment=a,r.index=i;var E=t.enumeratedString("BYTERANGE");return E&&r.setByteRange(E,n),n&&(r.fragOffset=n.fragOffset+n.duration),r}return s(t,e),E(t,[{key:"start",get:function(){return this.fragment.start+this.fragOffset}},{key:"end",get:function(){return this.start+this.duration}},{key:"loaded",get:function(){var e=this.elementaryStreams;return!!(e.audio||e.video||e.audiovideo)}}]),t})(K),Q=10,X=(function(){function e(e){this.PTSKnown=!1,this.alignedSliding=!1,this.averagetargetduration=void 0,this.endCC=0,this.endSN=0,this.fragments=void 0,this.fragmentHint=void 0,this.partList=null,this.dateRanges=void 0,this.live=!0,this.ageHeader=0,this.advancedDateTime=void 0,this.updated=!0,this.advanced=!0,this.availabilityDelay=void 0,this.misses=0,this.startCC=0,this.startSN=0,this.startTimeOffset=null,this.targetduration=0,this.totalduration=0,this.type=null,this.url=void 0,this.m3u8="",this.version=null,this.canBlockReload=!1,this.canSkipUntil=0,this.canSkipDateRanges=!1,this.skippedSegments=0,this.recentlyRemovedDateranges=void 0,this.partHoldBack=0,this.holdBack=0,this.partTarget=0,this.preloadHint=void 0,this.renditionReports=void 0,this.tuneInGoal=0,this.deltaUpdateFailed=void 0,this.driftStartTime=0,this.driftEndTime=0,this.driftStart=0,this.driftEnd=0,this.encryptedFragments=void 0,this.playlistParsingError=null,this.variableList=null,this.hasVariableRefs=!1,this.fragments=[],this.encryptedFragments=[],this.dateRanges={},this.url=e}return e.prototype.reloaded=function(e){if(!e)return this.advanced=!0,void(this.updated=!0);var t=this.lastPartSn-e.lastPartSn,a=this.lastPartIndex-e.lastPartIndex;this.updated=this.endSN!==e.endSN||!!a||!!t||!this.live,this.advanced=this.endSN>e.endSN||t>0||0===t&&a>0,this.updated||this.advanced?this.misses=Math.floor(.6*e.misses):this.misses=e.misses+1,this.availabilityDelay=e.availabilityDelay},E(e,[{key:"hasProgramDateTime",get:function(){return!!this.fragments.length&&p(this.fragments[this.fragments.length-1].programDateTime)}},{key:"levelTargetDuration",get:function(){return this.averagetargetduration||this.targetduration||Q}},{key:"drift",get:function(){var e=this.driftEndTime-this.driftStartTime;return e>0?1e3*(this.driftEnd-this.driftStart)/e:1}},{key:"edge",get:function(){return this.partEnd||this.fragmentEnd}},{key:"partEnd",get:function(){var e;return null!=(e=this.partList)&&e.length?this.partList[this.partList.length-1].end:this.fragmentEnd}},{key:"fragmentEnd",get:function(){var e;return null!=(e=this.fragments)&&e.length?this.fragments[this.fragments.length-1].end:0}},{key:"age",get:function(){return this.advancedDateTime?Math.max(Date.now()-this.advancedDateTime,0)/1e3:0}},{key:"lastPartIndex",get:function(){var e;return null!=(e=this.partList)&&e.length?this.partList[this.partList.length-1].index:-1}},{key:"lastPartSn",get:function(){var e;return null!=(e=this.partList)&&e.length?this.partList[this.partList.length-1].fragment.sn:this.endSN}}]),e})();function $(e){return Uint8Array.from(atob(e),(function(e){return e.charCodeAt(0)}))}function q(e){var t=ee(e).subarray(0,16),a=new Uint8Array(16);return a.set(t,16-t.length),a}function J(e){var t=function(e,t,a){var o=e[t];e[t]=e[a],e[a]=o};t(e,0,3),t(e,1,2),t(e,4,5),t(e,6,7)}function Z(e){var t=e.split(":"),a=null;if("data"===t[0]&&2===t.length){var o=t[1].split(";"),i=o[o.length-1].split(",");if(2===i.length){var n="base64"===i[0],r=i[1];n?(o.splice(-1,1),a=$(r)):a=q(r)}}return a}function ee(e){return Uint8Array.from(unescape(encodeURIComponent(e)),(function(e){return e.charCodeAt(0)}))}var te="undefined"!=typeof self?self:void 0,ae={CLEARKEY:"org.w3.clearkey",FAIRPLAY:"com.apple.fps",PLAYREADY:"com.microsoft.playready",WIDEVINE:"com.widevine.alpha"},oe={CLEARKEY:"org.w3.clearkey",FAIRPLAY:"com.apple.streamingkeydelivery",PLAYREADY:"com.microsoft.playready",WIDEVINE:"urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"};function ie(e){switch(e){case oe.FAIRPLAY:return ae.FAIRPLAY;case oe.PLAYREADY:return ae.PLAYREADY;case oe.WIDEVINE:return ae.WIDEVINE;case oe.CLEARKEY:return ae.CLEARKEY}}var ne={WIDEVINE:"edef8ba979d64acea3c827dcd51d21ed"};function re(e){if(e===ne.WIDEVINE)return ae.WIDEVINE}function Ee(e){switch(e){case ae.FAIRPLAY:return oe.FAIRPLAY;case ae.PLAYREADY:return oe.PLAYREADY;case ae.WIDEVINE:return oe.WIDEVINE;case ae.CLEARKEY:return oe.CLEARKEY}}function _e(e){var t=e.drmSystems,a=e.widevineLicenseUrl,o=t?[ae.FAIRPLAY,ae.WIDEVINE,ae.PLAYREADY,ae.CLEARKEY].filter((function(e){return!!t[e]})):[];return!o[ae.WIDEVINE]&&a&&o.push(ae.WIDEVINE),o}var Te,se=null!=te&&null!=(Te=te.navigator)&&Te.requestMediaKeySystemAccess?self.navigator.requestMediaKeySystemAccess.bind(self.navigator):null;function Se(e,t,a,o){var i;switch(e){case ae.FAIRPLAY:i=["cenc","sinf"];break;case ae.WIDEVINE:case ae.PLAYREADY:i=["cenc"];break;case ae.CLEARKEY:i=["cenc","keyids"];break;default:throw new Error("Unknown key-system: "+e)}return le(i,t,a,o)}function le(e,t,a,o){return[{initDataTypes:e,persistentState:o.persistentState||"optional",distinctiveIdentifier:o.distinctiveIdentifier||"optional",sessionTypes:o.sessionTypes||[o.sessionType||"temporary"],audioCapabilities:t.map((function(e){return{contentType:'audio/mp4; codecs="'+e+'"',robustness:o.audioRobustness||"",encryptionScheme:o.audioEncryptionScheme||null}})),videoCapabilities:a.map((function(e){return{contentType:'video/mp4; codecs="'+e+'"',robustness:o.videoRobustness||"",encryptionScheme:o.videoEncryptionScheme||null}}))}]}function Ie(e,t,a){return Uint8Array.prototype.slice?e.slice(t,a):new Uint8Array(Array.prototype.slice.call(e,t,a))}var Ae,ue=function(e,t){return t+10<=e.length&&73===e[t]&&68===e[t+1]&&51===e[t+2]&&e[t+3]<255&&e[t+4]<255&&e[t+6]<128&&e[t+7]<128&&e[t+8]<128&&e[t+9]<128},de=function(e,t){return t+10<=e.length&&51===e[t]&&68===e[t+1]&&73===e[t+2]&&e[t+3]<255&&e[t+4]<255&&e[t+6]<128&&e[t+7]<128&&e[t+8]<128&&e[t+9]<128},ce=function(e,t){for(var a=t,o=0;ue(e,t);)o+=10,o+=Oe(e,t+6),de(e,t+10)&&(o+=10),t+=o;if(o>0)return e.subarray(a,a+o)},Oe=function(e,t){var a=0;return a=(127&e[t])<<21,a|=(127&e[t+1])<<14,a|=(127&e[t+2])<<7,a|=127&e[t+3]},Re=function(e,t){return ue(e,t)&&Oe(e,t+6)+10<=e.length-t},Ne=function(e){for(var t=De(e),a=0;a<t.length;a++){var o=t[a];if(me(o))return Be(o)}},me=function(e){return e&&"PRIV"===e.key&&"com.apple.streaming.transportStreamTimestamp"===e.info},Le=function(e){var t=String.fromCharCode(e[0],e[1],e[2],e[3]),a=Oe(e,4),o=10;return{type:t,size:a,data:e.subarray(o,o+a)}},De=function(e){for(var t=0,a=[];ue(e,t);){for(var o=Oe(e,t+6),i=(t+=10)+o;t+8<i;){var n=Le(e.subarray(t)),r=pe(n);r&&a.push(r),t+=n.size+10}de(e,t)&&(t+=10)}return a},pe=function(e){return"PRIV"===e.type?he(e):"W"===e.type[0]?fe(e):Ce(e)},he=function(e){if(!(e.size<2)){var t=Pe(e.data,!0),a=new Uint8Array(e.data.subarray(t.length+1));return{key:e.type,info:t,data:a.buffer}}},Ce=function(e){if(!(e.size<2)){if("TXXX"===e.type){var t=1,a=Pe(e.data.subarray(t),!0);t+=a.length+1;var o=Pe(e.data.subarray(t));return{key:e.type,info:a,data:o}}var i=Pe(e.data.subarray(1));return{key:e.type,data:i}}},fe=function(e){if("WXXX"===e.type){if(e.size<2)return;var t=1,a=Pe(e.data.subarray(t),!0);t+=a.length+1;var o=Pe(e.data.subarray(t));return{key:e.type,info:a,data:o}}var i=Pe(e.data);return{key:e.type,data:i}},Be=function(e){if(8===e.data.byteLength){var t=new Uint8Array(e.data),a=1&t[3],o=(t[4]<<23)+(t[5]<<15)+(t[6]<<7)+t[7];return o/=45,a&&(o+=47721858.84),Math.round(o)}},Pe=function(e,t){void 0===t&&(t=!1);var a=ge();if(a){var o=a.decode(e);if(t){var i=o.indexOf("\0");return-1!==i?o.substring(0,i):o}return o.replace(/\0/g,"")}for(var n,r,E,_=e.length,T="",s=0;s<_;){if(0===(n=e[s++])&&t)return T;if(0!==n&&3!==n)switch(n>>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:T+=String.fromCharCode(n);break;case 12:case 13:r=e[s++],T+=String.fromCharCode((31&n)<<6|63&r);break;case 14:r=e[s++],E=e[s++],T+=String.fromCharCode((15&n)<<12|(63&r)<<6|(63&E)<<0)}}return T};function ge(){if(!navigator.userAgent.includes("PlayStation 4"))return Ae||void 0===self.TextDecoder||(Ae=new self.TextDecoder("utf-8")),Ae}var ve={hexDump:function(e){for(var t="",a=0;a<e.length;a++){var o=e[a].toString(16);o.length<2&&(o="0"+o),t+=o}return t}},ye=Math.pow(2,32)-1,We=[].push,Me={video:1,audio:2,id3:3,text:4};function be(e){return String.fromCharCode.apply(null,e)}function Ue(e,t){var a=e[t]<<8|e[t+1];return a<0?65536+a:a}function Ge(e,t){var a=Fe(e,t);return a<0?4294967296+a:a}function ke(e,t){var a=Ge(e,t);return a*=Math.pow(2,32),a+=Ge(e,t+4)}function Fe(e,t){return e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3]}function Ve(e,t,a){e[t]=a>>24,e[t+1]=a>>16&255,e[t+2]=a>>8&255,e[t+3]=255&a}function He(e){for(var t=e.byteLength,a=0;a<t;){var o=Ge(e,a);if(o>8&&109===e[a+4]&&111===e[a+5]&&111===e[a+6]&&102===e[a+7])return!0;a=o>1?a+o:t}return!1}function we(e,t){var a=[];if(!t.length)return a;for(var o=e.byteLength,i=0;i<o;){var n=Ge(e,i),r=n>1?i+n:o;if(be(e.subarray(i+4,i+8))===t[0])if(1===t.length)a.push(e.subarray(i+8,r));else{var E=we(e.subarray(i+8,r),t.slice(1));E.length&&We.apply(a,E)}i=r}return a}function Ye(e){var t=[],a=e[0],o=8,i=Ge(e,o);o+=4;var n=0,r=0;0===a?(n=Ge(e,o),r=Ge(e,o+4),o+=8):(n=ke(e,o),r=ke(e,o+8),o+=16),o+=2;var E=e.length+r,_=Ue(e,o);o+=2;for(var T=0;T<_;T++){var s=o,S=Ge(e,s);s+=4;var l=2147483647&S;if(1==(2147483648&S)>>>31)return U.warn("SIDX has hierarchical references (not supported)"),null;var I=Ge(e,s);s+=4,t.push({referenceSize:l,subsegmentDuration:I,info:{duration:I/i,start:E,end:E+l-1}}),E+=l,o=s+=4}return{earliestPresentationTime:n,timescale:i,version:a,referencesCount:_,references:t}}function ze(e){for(var t=[],a=we(e,["moov","trak"]),i=0;i<a.length;i++){var n=a[i],r=we(n,["tkhd"])[0];if(r){var E=r[0],_=Ge(r,0===E?12:20),T=we(n,["mdia","mdhd"])[0];if(T){var s=Ge(T,0===(E=T[0])?12:20),S=we(n,["mdia","hdlr"])[0];if(S){var l=be(S.subarray(8,12)),I={soun:z.AUDIO,vide:z.VIDEO}[l];if(I){var A=Ke(we(n,["mdia","minf","stbl","stsd"])[0]);t[_]={timescale:s,type:I},t[I]=o({timescale:s,id:_},A)}}}}}return we(e,["moov","mvex","trex"]).forEach((function(e){var a=Ge(e,4),o=t[a];o&&(o.default={duration:Ge(e,12),flags:Ge(e,20)})})),t}function Ke(e){var t=e.subarray(8),a=t.subarray(86),o=be(t.subarray(4,8)),i=o,n="enca"===o||"encv"===o;if(n){var r=we(t,[o])[0];we(r.subarray("enca"===o?28:78),["sinf"]).forEach((function(e){var t=we(e,["schm"])[0];if(t){var a=be(t.subarray(4,8));if("cbcs"===a||"cenc"===a){var o=we(e,["frma"])[0];o&&(i=be(o))}}}))}switch(i){case"avc1":case"avc2":case"avc3":case"avc4":var E=we(a,["avcC"])[0];i+="."+je(E[1])+je(E[2])+je(E[3]);break;case"mp4a":var _=we(t,[o])[0],T=we(_.subarray(28),["esds"])[0];if(T&&T.length>12){var s=4;if(3!==T[s++])break;s=xe(T,s),s+=2;var S=T[s++];if(128&S&&(s+=2),64&S&&(s+=T[s++]),4!==T[s++])break;s=xe(T,s);var l=T[s++];if(64!==l)break;if(i+="."+je(l),s+=12,5!==T[s++])break;s=xe(T,s);var I=T[s++],A=(248&I)>>3;31===A&&(A+=1+((7&I)<<3)+((224&T[s])>>5)),i+="."+A}break;case"hvc1":case"hev1":var u=we(a,["hvcC"])[0],d=u[1],c=["","A","B","C"][d>>6],O=31&d,R=Ge(u,2),N=(32&d)>>5?"H":"L",m=u[12],L=u.subarray(6,12);i+="."+c+O,i+="."+R.toString(16).toUpperCase(),i+="."+N+m;for(var D="",p=L.length;p--;){var h=L[p];(h||D)&&(D="."+h.toString(16).toUpperCase()+D)}i+=D;break;case"dvh1":case"dvhe":var C=we(a,["dvcC"])[0],f=C[2]>>1&127,B=C[2]<<5&32|C[3]>>3&31;i+="."+Qe(f)+"."+Qe(B);break;case"vp09":var P=we(a,["vpcC"])[0],g=P[4],v=P[5],y=P[6]>>4&15;i+="."+Qe(g)+"."+Qe(v)+"."+Qe(y);break;case"av01":var W=we(a,["av1C"])[0],M=W[1]>>>5,b=31&W[1],U=W[2]>>>7?"H":"M",G=(64&W[2])>>6,k=(32&W[2])>>5,F=2===M&&G?k?12:10:G?10:8,V=(16&W[2])>>4,H=(8&W[2])>>3,w=(4&W[2])>>2,Y=3&W[2],z=1,K=1,x=1,j=0;i+="."+M+"."+Qe(b)+U+"."+Qe(F)+"."+V+"."+H+w+Y+"."+Qe(z)+"."+Qe(K)+"."+Qe(x)+"."+j}return{codec:i,encrypted:n}}function xe(e,t){for(var a=t+5;128&e[t++]&&t<a;);return t}function je(e){return("0"+e.toString(16).toUpperCase()).slice(-2)}function Qe(e){return(e<10?"0":"")+e}function Xe(e,t){if(!e||!t)return e;var a=t.keyId;return a&&t.isCommonEncryption&&we(e,["moov","trak"]).forEach((function(e){var t=we(e,["mdia","minf","stbl","stsd"])[0].subarray(8),o=we(t,["enca"]),i=o.length>0;i||(o=we(t,["encv"])),o.forEach((function(e){we(i?e.subarray(28):e.subarray(78),["sinf"]).forEach((function(e){var t=$e(e);if(t){var o=t.subarray(8,24);o.some((function(e){return 0!==e}))||(U.log("[eme] Patching keyId in 'enc"+(i?"a":"v")+">sinf>>tenc' box: "+ve.hexDump(o)+" -> "+ve.hexDump(a)),t.set(a,8))}}))}))})),e}function $e(e){var t=we(e,["schm"])[0];if(t){var a=be(t.subarray(4,8));if("cbcs"===a||"cenc"===a)return we(e,["schi","tenc"])[0]}return U.error("[eme] missing 'schm' box"),null}function qe(e,t){return we(t,["moof","traf"]).reduce((function(t,a){var o=we(a,["tfdt"])[0],i=o[0],n=we(a,["tfhd"]).reduce((function(t,a){var n=Ge(a,4),r=e[n];if(r){var E=Ge(o,4);if(1===i){if(E===ye)return U.warn("[mp4-demuxer]: Ignoring assumed invalid signed 64-bit track fragment decode time"),t;E*=ye+1,E+=Ge(o,8)}var _=E/(r.timescale||9e4);if(p(_)&&(null===t||_<t))return _}return t}),null);return null!==n&&p(n)&&(null===t||n<t)?n:t}),null)}function Je(e,t){for(var a=1/0,o=0,i=0,n=we(e,["sidx"]),r=0;r<n.length;r++){var E=Ye(n[r]);if(null!=E&&E.references){a=Math.min(a,E.earliestPresentationTime/E.timescale);var _=E.references.reduce((function(e,t){return e+t.info.duration||0}),0);i=(o=Math.max(o,_+E.earliestPresentationTime/E.timescale))-a}}if(i&&p(i))return i;for(var T=0,s=0,S=0,l=we(e,["moof","traf"]),I=0;I<l.length;I++){var A=l[I],u=we(A,["tfhd"])[0],d=t[Ge(u,4)];if(d){var c=d.default,O=Ge(u,0)|(null==c?void 0:c.flags),R=null==c?void 0:c.duration;8&O&&(R=Ge(u,2&O?12:8));for(var N=d.timescale||9e4,m=we(A,["trun"]),L=0;L<m.length;L++)!(T=Ze(m[L]))&&R&&(T=R*Ge(m[L],4)),d.type===z.VIDEO?s+=T/N:d.type===z.AUDIO&&(S+=T/N)}}return s||S}function Ze(e){var t=Ge(e,0),a=8;1&t&&(a+=4),4&t&&(a+=4);for(var o=0,i=Ge(e,4),n=0;n<i;n++)256&t&&(o+=Ge(e,a),a+=4),512&t&&(a+=4),1024&t&&(a+=4),2048&t&&(a+=4);return o}function et(e,t,a){we(t,["moof","traf"]).forEach((function(t){we(t,["tfhd"]).forEach((function(o){var i=Ge(o,4),n=e[i];if(n){var r=n.timescale||9e4;we(t,["tfdt"]).forEach((function(e){var t=e[0],o=a*r;if(o){var i=Ge(e,4);if(0===t)i-=o,Ve(e,4,i=Math.max(i,0));else{i*=Math.pow(2,32),i+=Ge(e,8),i-=o,i=Math.max(i,0);var n=Math.floor(i/(ye+1)),E=Math.floor(i%(ye+1));Ve(e,4,n),Ve(e,8,E)}}}))}}))}))}function tt(e){var t={valid:null,remainder:null},a=we(e,["moof"]);if(a.length<2)return t.remainder=e,t;var o=a[a.length-1];return t.valid=Ie(e,0,o.byteOffset-8),t.remainder=Ie(e,o.byteOffset-8),t}function at(e,t){var a=new Uint8Array(e.length+t.length);return a.set(e),a.set(t,e.length),a}function ot(e,t){var a=[],o=t.samples,i=t.timescale,n=t.id,r=!1;return we(o,["moof"]).map((function(E){var _=E.byteOffset-8;we(E,["traf"]).map((function(E){var T=we(E,["tfdt"]).map((function(e){var t=e[0],a=Ge(e,4);return 1===t&&(a*=Math.pow(2,32),a+=Ge(e,8)),a/i}))[0];return void 0!==T&&(e=T),we(E,["tfhd"]).map((function(T){var s=Ge(T,4),S=16777215&Ge(T,0),l=0,I=0!=(16&S),A=0,u=0!=(32&S),d=8;s===n&&(0!=(1&S)&&(d+=8),0!=(2&S)&&(d+=4),0!=(8&S)&&(l=Ge(T,d),d+=4),I&&(A=Ge(T,d),d+=4),u&&(d+=4),"video"===t.type&&(r=it(t.codec)),we(E,["trun"]).map((function(n){var E=n[0],T=16777215&Ge(n,0),s=0!=(1&T),S=0,I=0!=(4&T),u=0!=(256&T),d=0,c=0!=(512&T),O=0,R=0!=(1024&T),N=0!=(2048&T),m=0,L=Ge(n,4),D=8;s&&(S=Ge(n,D),D+=4),I&&(D+=4);for(var p=S+_,h=0;h<L;h++){if(u?(d=Ge(n,D),D+=4):d=l,c?(O=Ge(n,D),D+=4):O=A,R&&(D+=4),N&&(m=0===E?Ge(n,D):Fe(n,D),D+=4),t.type===z.VIDEO)for(var C=0;C<O;){var f=Ge(o,p);nt(r,o[p+=4])&&rt(o.subarray(p,p+f),r?2:1,e+m/i,a),p+=f,C+=f+4}e+=d/i}})))}))}))})),a}function it(e){if(!e)return!1;var t=e.indexOf("."),a=t<0?e:e.substring(0,t);return"hvc1"===a||"hev1"===a||"dvh1"===a||"dvhe"===a}function nt(e,t){if(e){var a=t>>1&63;return 39===a||40===a}return 6==(31&t)}function rt(e,t,a,o){var i=Et(e),n=0;n+=t;for(var r=0,E=0,_=0;n<i.length;){r=0;do{if(n>=i.length)break;r+=_=i[n++]}while(255===_);E=0;do{if(n>=i.length)break;E+=_=i[n++]}while(255===_);var T=i.length-n,s=n;if(E<T)n+=E;else if(E>T){U.error("Malformed SEI payload. "+E+" is too small, only "+T+" bytes left to parse.");break}if(4===r){if(181===i[s++]){var S=Ue(i,s);if(s+=2,49===S){var l=Ge(i,s);if(s+=4,1195456820===l){var I=i[s++];if(3===I){var A=i[s++],u=64&A,d=u?2+3*(31&A):0,c=new Uint8Array(d);if(u){c[0]=A;for(var O=1;O<d;O++)c[O]=i[s++]}o.push({type:I,payloadType:r,pts:a,bytes:c})}}}}}else if(5===r&&E>16){for(var R=[],N=0;N<16;N++){var m=i[s++].toString(16);R.push(1==m.length?"0"+m:m),3!==N&&5!==N&&7!==N&&9!==N||R.push("-")}for(var L=E-16,D=new Uint8Array(L),p=0;p<L;p++)D[p]=i[s++];o.push({payloadType:r,pts:a,uuid:R.join(""),userData:Pe(D),userDataBytes:D})}}}function Et(e){for(var t=e.byteLength,a=[],o=1;o<t-2;)0===e[o]&&0===e[o+1]&&3===e[o+2]?(a.push(o+2),o+=2):o++;if(0===a.length)return e;var i=t-a.length,n=new Uint8Array(i),r=0;for(o=0;o<i;r++,o++)r===a[0]&&(r++,a.shift()),n[o]=e[r];return n}function _t(e){var t=e[0],a="",o="",i=0,n=0,r=0,E=0,_=0,T=0;if(0===t){for(;"\0"!==be(e.subarray(T,T+1));)a+=be(e.subarray(T,T+1)),T+=1;for(a+=be(e.subarray(T,T+1)),T+=1;"\0"!==be(e.subarray(T,T+1));)o+=be(e.subarray(T,T+1)),T+=1;o+=be(e.subarray(T,T+1)),T+=1,i=Ge(e,12),n=Ge(e,16),E=Ge(e,20),_=Ge(e,24),T=28}else if(1===t){i=Ge(e,T+=4);var s=Ge(e,T+=4),S=Ge(e,T+=4);for(T+=4,r=Math.pow(2,32)*s+S,h(r)||(r=Number.MAX_SAFE_INTEGER,U.warn("Presentation time exceeds safe integer limit and wrapped to max safe integer in parsing emsg box")),E=Ge(e,T),_=Ge(e,T+=4),T+=4;"\0"!==be(e.subarray(T,T+1));)a+=be(e.subarray(T,T+1)),T+=1;for(a+=be(e.subarray(T,T+1)),T+=1;"\0"!==be(e.subarray(T,T+1));)o+=be(e.subarray(T,T+1)),T+=1;o+=be(e.subarray(T,T+1)),T+=1}return{schemeIdUri:a,value:o,timeScale:i,presentationTime:r,presentationTimeDelta:n,eventDuration:E,id:_,payload:e.subarray(T,e.byteLength)}}function Tt(e){for(var t=arguments.length,a=new Array(t>1?t-1:0),o=1;o<t;o++)a[o-1]=arguments[o];for(var i=a.length,n=8,r=i;r--;)n+=a[r].byteLength;var E=new Uint8Array(n);for(E[0]=n>>24&255,E[1]=n>>16&255,E[2]=n>>8&255,E[3]=255&n,E.set(e,4),r=0,n=8;r<i;r++)E.set(a[r],n),n+=a[r].byteLength;return E}function st(e,t,a){if(16!==e.byteLength)throw new RangeError("Invalid system id");var o,i,n;if(t){o=1,i=new Uint8Array(16*t.length);for(var r=0;r<t.length;r++){var E=t[r];if(16!==E.byteLength)throw new RangeError("Invalid key");i.set(E,16*r)}}else o=0,i=new Uint8Array;o>0?(n=new Uint8Array(4),t.length>0&&new DataView(n.buffer).setUint32(0,t.length,!1)):n=new Uint8Array;var _=new Uint8Array(4);return a&&a.byteLength>0&&new DataView(_.buffer).setUint32(0,a.byteLength,!1),Tt([112,115,115,104],new Uint8Array([o,0,0,0]),e,n,i,_,a||new Uint8Array)}function St(e){if(!(e instanceof ArrayBuffer)||e.byteLength<32)return null;var t={version:0,systemId:"",kids:null,data:null},a=new DataView(e),o=a.getUint32(0);if(e.byteLength!==o&&o>44)return null;if(1886614376!==a.getUint32(4))return null;if(t.version=a.getUint32(8)>>>24,t.version>1)return null;t.systemId=ve.hexDump(new Uint8Array(e,12,16));var i=a.getUint32(28);if(0===t.version){if(o-32<i)return null;t.data=new Uint8Array(e,32,i)}else if(1===t.version){t.kids=[];for(var n=0;n<i;n++)t.kids.push(new Uint8Array(e,32+16*n,16))}return t}var lt={},It=(function(){function e(e,t,a,o,i){void 0===o&&(o=[1]),void 0===i&&(i=null),this.uri=void 0,this.method=void 0,this.keyFormat=void 0,this.keyFormatVersions=void 0,this.encrypted=void 0,this.isCommonEncryption=void 0,this.iv=null,this.key=null,this.keyId=null,this.pssh=null,this.method=e,this.uri=t,this.keyFormat=a,this.keyFormatVersions=o,this.iv=i,this.encrypted=!!e&&"NONE"!==e,this.isCommonEncryption=this.encrypted&&"AES-128"!==e}e.clearKeyUriToKeyIdMap=function(){lt={}};var t=e.prototype;return t.isSupported=function(){if(this.method){if("AES-128"===this.method||"NONE"===this.method)return!0;if("identity"===this.keyFormat)return"SAMPLE-AES"===this.method;switch(this.keyFormat){case oe.FAIRPLAY:case oe.WIDEVINE:case oe.PLAYREADY:case oe.CLEARKEY:return-1!==["ISO-23001-7","SAMPLE-AES","SAMPLE-AES-CENC","SAMPLE-AES-CTR"].indexOf(this.method)}}return!1},t.getDecryptData=function(t){if(!this.encrypted||!this.uri)return null;if("AES-128"===this.method&&this.uri&&!this.iv){"number"!=typeof t&&("AES-128"!==this.method||this.iv||U.warn('missing IV for initialization segment with method="'+this.method+'" - compliance issue'),t=0);var a=At(t);return new e(this.method,this.uri,"identity",this.keyFormatVersions,a)}var o=Z(this.uri);if(o)switch(this.keyFormat){case oe.WIDEVINE:this.pssh=o,o.length>=22&&(this.keyId=o.subarray(o.length-22,o.length-6));break;case oe.PLAYREADY:var i=new Uint8Array([154,4,240,121,152,64,66,134,171,146,230,91,224,136,95,149]);this.pssh=st(i,null,o);var n=new Uint16Array(o.buffer,o.byteOffset,o.byteLength/2),r=String.fromCharCode.apply(null,Array.from(n)),E=r.substring(r.indexOf("<"),r.length),_=(new DOMParser).parseFromString(E,"text/xml").getElementsByTagName("KID")[0];if(_){var T=_.childNodes[0]?_.childNodes[0].nodeValue:_.getAttribute("VALUE");if(T){var s=$(T).subarray(0,16);J(s),this.keyId=s}}break;default:var S=o.subarray(0,16);if(16!==S.length){var l=new Uint8Array(16);l.set(S,16-S.length),S=l}this.keyId=S}if(!this.keyId||16!==this.keyId.byteLength){var I=lt[this.uri];if(!I){var A=Object.keys(lt).length%Number.MAX_SAFE_INTEGER;I=new Uint8Array(16),new DataView(I.buffer,12,4).setUint32(0,A),lt[this.uri]=I}this.keyId=I}return this},e})();function At(e){for(var t=new Uint8Array(16),a=12;a<16;a++)t[a]=e>>8*(15-a)&255;return t}var ut=/\{\$([a-zA-Z0-9-_]+)\}/g;function dt(e){return ut.test(e)}function ct(e,t,a){if(null!==e.variableList||e.hasVariableRefs)for(var o=a.length;o--;){var i=a[o],n=t[i];n&&(t[i]=Ot(e,n))}}function Ot(e,t){if(null!==e.variableList||e.hasVariableRefs){var a=e.variableList;return t.replace(ut,(function(t){var o=t.substring(2,t.length-1),i=null==a?void 0:a[o];return void 0===i?(e.playlistParsingError||(e.playlistParsingError=new Error('Missing preceding EXT-X-DEFINE tag for Variable Reference: "'+o+'"')),t):i}))}return t}function Rt(e,t,a){var o,i,n=e.variableList;if(n||(e.variableList=n={}),"QUERYPARAM"in t){o=t.QUERYPARAM;try{var r=new self.URL(a).searchParams;if(!r.has(o))throw new Error('"'+o+'" does not match any query parameter in URI: "'+a+'"');i=r.get(o)}catch(t){e.playlistParsingError||(e.playlistParsingError=new Error("EXT-X-DEFINE QUERYPARAM: "+t.message))}}else o=t.NAME,i=t.VALUE;o in n?e.playlistParsingError||(e.playlistParsingError=new Error('EXT-X-DEFINE duplicate Variable Name declarations: "'+o+'"')):n[o]=i||""}function Nt(e,t,a){var o=t.IMPORT;if(a&&o in a){var i=e.variableList;i||(e.variableList=i={}),i[o]=a[o]}else e.playlistParsingError||(e.playlistParsingError=new Error('EXT-X-DEFINE IMPORT attribute not found in Multivariant Playlist: "'+o+'"'))}function mt(e){if(void 0===e&&(e=!0),"undefined"!=typeof self)return(e||!self.MediaSource)&&self.ManagedMediaSource||self.MediaSource||self.WebKitMediaSource}var Lt={audio:{a3ds:1,"ac-3":.95,"ac-4":1,alac:.9,alaw:1,dra1:1,"dts+":1,"dts-":1,dtsc:1,dtse:1,dtsh:1,"ec-3":.9,enca:1,fLaC:.9,flac:.9,FLAC:.9,g719:1,g726:1,m4ae:1,mha1:1,mha2:1,mhm1:1,mhm2:1,mlpa:1,mp4a:1,"raw ":1,Opus:1,opus:1,samr:1,sawb:1,sawp:1,sevc:1,sqcp:1,ssmv:1,twos:1,ulaw:1},video:{avc1:1,avc2:1,avc3:1,avc4:1,avcp:1,av01:.8,drac:1,dva1:1,dvav:1,dvh1:.7,dvhe:.7,encv:1,hev1:.75,hvc1:.75,mjp2:1,mp4v:1,mvc1:1,mvc2:1,mvc3:1,mvc4:1,resv:1,rv60:1,s263:1,svc1:1,svc2:1,"vc-1":1,vp08:1,vp09:.9},text:{stpp:1,wvtt:1}};function Dt(e,t){var a=Lt[t];return!!a&&!!a[e.slice(0,4)]}function pt(e,t,a){return void 0===a&&(a=!0),!e.split(",").some((function(e){return!ht(e,t,a)}))}function ht(e,t,a){var o;void 0===a&&(a=!0);var i=mt(a);return null!=(o=null==i?void 0:i.isTypeSupported(Ct(e,t)))&&o}function Ct(e,t){return t+'/mp4;codecs="'+e+'"'}function ft(e){if(e){var t=e.substring(0,4);return Lt.video[t]}return 2}function Bt(e){return e.split(",").reduce((function(e,t){var a=Lt.video[t];return a?(2*a+e)/(e?3:2):(Lt.audio[t]+e)/(e?2:1)}),0)}var Pt={};function gt(e,t){if(void 0===t&&(t=!0),Pt[e])return Pt[e];for(var a={flac:["flac","fLaC","FLAC"],opus:["opus","Opus"]}[e],o=0;o<a.length;o++)if(ht(a[o],"audio",t))return Pt[e]=a[o],a[o];return e}var vt=/flac|opus/i;function yt(e,t){return void 0===t&&(t=!0),e.replace(vt,(function(e){return gt(e.toLowerCase(),t)}))}function Wt(e,t){return e&&"mp4a"!==e?e:t}function Mt(e){var t=e.split(".");if(t.length>2){var a=t.shift()+".";return a+=parseInt(t.shift()).toString(16),a+=("000"+parseInt(t.shift()).toString(16)).slice(-4)}return e}var bt=/#EXT-X-STREAM-INF:([^\r\n]*)(?:[\r\n](?:#[^\r\n]*)?)*([^\r\n]+)|#EXT-X-(SESSION-DATA|SESSION-KEY|DEFINE|CONTENT-STEERING|START):([^\r\n]*)[\r\n]+/g,Ut=/#EXT-X-MEDIA:(.*)/g,Gt=/^#EXT(?:INF|-X-TARGETDURATION):/m,kt=new RegExp([/#EXTINF:\s*(\d*(?:\.\d+)?)(?:,(.*)\s+)?/.source,/(?!#) *(\S[\S ]*)/.source,/#EXT-X-BYTERANGE:*(.+)/.source,/#EXT-X-PROGRAM-DATE-TIME:(.+)/.source,/#.*/.source].join("|"),"g"),Ft=new RegExp([/#(EXTM3U)/.source,/#EXT-X-(DATERANGE|DEFINE|KEY|MAP|PART|PART-INF|PLAYLIST-TYPE|PRELOAD-HINT|RENDITION-REPORT|SERVER-CONTROL|SKIP|START):(.+)/.source,/#EXT-X-(BITRATE|DISCONTINUITY-SEQUENCE|MEDIA-SEQUENCE|TARGETDURATION|VERSION): *(\d+)/.source,/#EXT-X-(DISCONTINUITY|ENDLIST|GAP|INDEPENDENT-SEGMENTS)/.source,/(#)([^:]*):(.*)/.source,/(#)(.*)(?:.*)\r?\n?/.source].join("|")),Vt=(function(){function e(){}return e.findGroup=function(e,t){for(var a=0;a<e.length;a++){var o=e[a];if(o.id===t)return o}},e.resolve=function(e,t){return D.buildAbsoluteURL(t,e,{alwaysNormalize:!0})},e.isMediaPlaylist=function(e){return Gt.test(e)},e.parseMasterPlaylist=function(t,a){var o,i={contentSteering:null,levels:[],playlistParsingError:null,sessionData:null,sessionKeys:null,startTimeOffset:null,variableList:null,hasVariableRefs:dt(t)},n=[];for(bt.lastIndex=0;null!=(o=bt.exec(t));)if(o[1]){var r,E=new F(o[1]);ct(i,E,["CODECS","SUPPLEMENTAL-CODECS","ALLOWED-CPC","PATHWAY-ID","STABLE-VARIANT-ID","AUDIO","VIDEO","SUBTITLES","CLOSED-CAPTIONS","NAME"]);var _=Ot(i,o[2]),T={attrs:E,bitrate:E.decimalInteger("BANDWIDTH")||E.decimalInteger("AVERAGE-BANDWIDTH"),name:E.NAME,url:e.resolve(_,a)},s=E.decimalResolution("RESOLUTION");s&&(T.width=s.width,T.height=s.height),Yt(E.CODECS,T),null!=(r=T.unknownCodecs)&&r.length||n.push(T),i.levels.push(T)}else if(o[3]){var S=o[3],l=o[4];switch(S){case"SESSION-DATA":var I=new F(l);ct(i,I,["DATA-ID","LANGUAGE","VALUE","URI"]);var A=I["DATA-ID"];A&&(null===i.sessionData&&(i.sessionData={}),i.sessionData[A]=I);break;case"SESSION-KEY":var u=Ht(l,a,i);u.encrypted&&u.isSupported()?(null===i.sessionKeys&&(i.sessionKeys=[]),i.sessionKeys.push(u)):U.warn('[Keys] Ignoring invalid EXT-X-SESSION-KEY tag: "'+l+'"');break;case"DEFINE":var d=new F(l);ct(i,d,["NAME","VALUE","QUERYPARAM"]),Rt(i,d,a);break;case"CONTENT-STEERING":var c=new F(l);ct(i,c,["SERVER-URI","PATHWAY-ID"]),i.contentSteering={uri:e.resolve(c["SERVER-URI"],a),pathwayId:c["PATHWAY-ID"]||"."};break;case"START":i.startTimeOffset=wt(l)}}var O=n.length>0&&n.length<i.levels.length;return i.levels=O?n:i.levels,0===i.levels.length&&(i.playlistParsingError=new Error("no levels found in manifest")),i},e.parseMasterPlaylistMedia=function(t,a,o){var i,n={},r=o.levels,E={AUDIO:r.map((function(e){return{id:e.attrs.AUDIO,audioCodec:e.audioCodec}})),SUBTITLES:r.map((function(e){return{id:e.attrs.SUBTITLES,textCodec:e.textCodec}})),"CLOSED-CAPTIONS":[]},_=0;for(Ut.lastIndex=0;null!==(i=Ut.exec(t));){var T=new F(i[1]),s=T.TYPE;if(s){var S=E[s],l=n[s]||[];n[s]=l,ct(o,T,["URI","GROUP-ID","LANGUAGE","ASSOC-LANGUAGE","STABLE-RENDITION-ID","NAME","INSTREAM-ID","CHARACTERISTICS","CHANNELS"]);var I=T.LANGUAGE,A=T["ASSOC-LANGUAGE"],u=T.CHANNELS,d=T.CHARACTERISTICS,c=T["INSTREAM-ID"],O={attrs:T,bitrate:0,id:_++,groupId:T["GROUP-ID"]||"",name:T.NAME||I||"",type:s,default:T.bool("DEFAULT"),autoselect:T.bool("AUTOSELECT"),forced:T.bool("FORCED"),lang:I,url:T.URI?e.resolve(T.URI,a):""};if(A&&(O.assocLang=A),u&&(O.channels=u),d&&(O.characteristics=d),c&&(O.instreamId=c),null!=S&&S.length){var R=e.findGroup(S,O.groupId)||S[0];zt(O,R,"audioCodec"),zt(O,R,"textCodec")}l.push(O)}}return n},e.parseLevelPlaylist=function(e,t,a,o,i,n){var r,E,_,s=new X(t),S=s.fragments,l=null,I=0,A=0,u=0,d=0,c=null,O=new x(o,t),R=-1,N=!1,m=null;for(kt.lastIndex=0,s.m3u8=e,s.hasVariableRefs=dt(e);null!==(r=kt.exec(e));){N&&(N=!1,(O=new x(o,t)).start=u,O.sn=I,O.cc=d,O.level=a,l&&(O.initSegment=l,O.rawProgramDateTime=l.rawProgramDateTime,l.rawProgramDateTime=null,m&&(O.setByteRange(m),m=null)));var L=r[1];if(L){O.duration=parseFloat(L);var D=(" "+r[2]).slice(1);O.title=D||null,O.tagList.push(D?["INF",L,D]:["INF",L])}else if(r[3]){if(p(O.duration)){O.start=u,_&&Qt(O,_,s),O.sn=I,O.level=a,O.cc=d,S.push(O);var h=(" "+r[3]).slice(1);O.relurl=Ot(s,h),xt(O,c),c=O,u+=O.duration,I++,A=0,N=!0}}else if(r[4]){var C=(" "+r[4]).slice(1);c?O.setByteRange(C,c):O.setByteRange(C)}else if(r[5])O.rawProgramDateTime=(" "+r[5]).slice(1),O.tagList.push(["PROGRAM-DATE-TIME",O.rawProgramDateTime]),-1===R&&(R=S.length);else{if(!(r=r[0].match(Ft))){U.warn("No matches on slow regex match for level playlist!");continue}for(E=1;E<r.length&&void 0===r[E];E++);var f=(" "+r[E]).slice(1),B=(" "+r[E+1]).slice(1),P=r[E+2]?(" "+r[E+2]).slice(1):"";switch(f){case"PLAYLIST-TYPE":s.type=B.toUpperCase();break;case"MEDIA-SEQUENCE":I=s.startSN=parseInt(B);break;case"SKIP":var g=new F(B);ct(s,g,["RECENTLY-REMOVED-DATERANGES"]);var v=g.decimalInteger("SKIPPED-SEGMENTS");if(p(v)){s.skippedSegments=v;for(var y=v;y--;)S.unshift(null);I+=v}var W=g.enumeratedString("RECENTLY-REMOVED-DATERANGES");W&&(s.recentlyRemovedDateranges=W.split("\t"));break;case"TARGETDURATION":s.targetduration=Math.max(parseInt(B),1);break;case"VERSION":s.version=parseInt(B);break;case"INDEPENDENT-SEGMENTS":case"EXTM3U":break;case"ENDLIST":s.live=!1;break;case"#":(B||P)&&O.tagList.push(P?[B,P]:[B]);break;case"DISCONTINUITY":d++,O.tagList.push(["DIS"]);break;case"GAP":O.gap=!0,O.tagList.push([f]);break;case"BITRATE":O.tagList.push([f,B]);break;case"DATERANGE":var M=new F(B);ct(s,M,["ID","CLASS","START-DATE","END-DATE","SCTE35-CMD","SCTE35-OUT","SCTE35-IN"]),ct(s,M,M.clientAttrs);var b=new w(M,s.dateRanges[M.ID]);b.isValid||s.skippedSegments?s.dateRanges[b.id]=b:U.warn('Ignoring invalid DATERANGE tag: "'+B+'"'),O.tagList.push(["EXT-X-DATERANGE",B]);break;case"DEFINE":var G=new F(B);ct(s,G,["NAME","VALUE","IMPORT","QUERYPARAM"]),"IMPORT"in G?Nt(s,G,n):Rt(s,G,t);break;case"DISCONTINUITY-SEQUENCE":d=parseInt(B);break;case"KEY":var k=Ht(B,t,s);if(k.isSupported()){if("NONE"===k.method){_=void 0;break}_||(_={}),_[k.keyFormat]&&(_=T({},_)),_[k.keyFormat]=k}else U.warn('[Keys] Ignoring invalid EXT-X-KEY tag: "'+B+'"');break;case"START":s.startTimeOffset=wt(B);break;case"MAP":var V=new F(B);if(ct(s,V,["BYTERANGE","URI"]),O.duration){var H=new x(o,t);jt(H,V,a,_),l=H,O.initSegment=l,l.rawProgramDateTime&&!O.rawProgramDateTime&&(O.rawProgramDateTime=l.rawProgramDateTime)}else{var Y=O.byteRangeEndOffset;if(Y){var z=O.byteRangeStartOffset;m=Y-z+"@"+z}else m=null;jt(O,V,a,_),l=O,N=!0}break;case"SERVER-CONTROL":var K=new F(B);s.canBlockReload=K.bool("CAN-BLOCK-RELOAD"),s.canSkipUntil=K.optionalFloat("CAN-SKIP-UNTIL",0),s.canSkipDateRanges=s.canSkipUntil>0&&K.bool("CAN-SKIP-DATERANGES"),s.partHoldBack=K.optionalFloat("PART-HOLD-BACK",0),s.holdBack=K.optionalFloat("HOLD-BACK",0);break;case"PART-INF":var Q=new F(B);s.partTarget=Q.decimalFloatingPoint("PART-TARGET");break;case"PART":var $=s.partList;$||($=s.partList=[]);var q=A>0?$[$.length-1]:void 0,J=A++,Z=new F(B);ct(s,Z,["BYTERANGE","URI"]);var ee=new j(Z,O,t,J,q);$.push(ee),O.duration+=ee.duration;break;case"PRELOAD-HINT":var te=new F(B);ct(s,te,["URI"]),s.preloadHint=te;break;case"RENDITION-REPORT":var ae=new F(B);ct(s,ae,["URI"]),s.renditionReports=s.renditionReports||[],s.renditionReports.push(ae);break;default:U.warn("line parsed but not handled: "+r)}}}c&&!c.relurl?(S.pop(),u-=c.duration,s.partList&&(s.fragmentHint=c)):s.partList&&(xt(O,c),O.cc=d,s.fragmentHint=O,_&&Qt(O,_,s));var oe=S.length,ie=S[0],ne=S[oe-1];if((u+=s.skippedSegments*s.targetduration)>0&&oe&&ne){s.averagetargetduration=u/oe;var re=ne.sn;s.endSN="initSegment"!==re?re:0,s.live||(ne.endList=!0),ie&&(s.startCC=ie.cc)}else s.endSN=0,s.startCC=0;return s.fragmentHint&&(u+=s.fragmentHint.duration),s.totalduration=u,s.endCC=d,R>0&&Kt(S,R),s},e})();function Ht(e,t,a){var o,i,n=new F(e);ct(a,n,["KEYFORMAT","KEYFORMATVERSIONS","URI","IV","URI"]);var r=null!=(o=n.METHOD)?o:"",E=n.URI,_=n.hexadecimalInteger("IV"),T=n.KEYFORMATVERSIONS,s=null!=(i=n.KEYFORMAT)?i:"identity";E&&n.IV&&!_&&U.error("Invalid IV: "+n.IV);var S=E?Vt.resolve(E,t):"",l=(T||"1").split("/").map(Number).filter(Number.isFinite);return new It(r,S,s,l,_)}function wt(e){var t=new F(e).decimalFloatingPoint("TIME-OFFSET");return p(t)?t:null}function Yt(e,t){var a=(e||"").split(/[ ,]+/).filter((function(e){return e}));["video","audio","text"].forEach((function(e){var o=a.filter((function(t){return Dt(t,e)}));o.length&&(t[e+"Codec"]=o.join(","),a=a.filter((function(e){return-1===o.indexOf(e)})))})),t.unknownCodecs=a}function zt(e,t,a){var o=t[a];o&&(e[a]=o)}function Kt(e,t){for(var a=e[t],o=t;o--;){var i=e[o];if(!i)return;i.programDateTime=a.programDateTime-1e3*i.duration,a=i}}function xt(e,t){e.rawProgramDateTime?e.programDateTime=Date.parse(e.rawProgramDateTime):null!=t&&t.programDateTime&&(e.programDateTime=t.endProgramDateTime),p(e.programDateTime)||(e.programDateTime=null,e.rawProgramDateTime=null)}function jt(e,t,a,o){e.relurl=t.URI,t.BYTERANGE&&e.setByteRange(t.BYTERANGE),e.level=a,e.sn="initSegment",o&&(e.levelkeys=o),e.initSegment=null}function Qt(e,t,a){e.levelkeys=t;var o=a.encryptedFragments;o.length&&o[o.length-1].levelkeys===t||!Object.keys(t).some((function(e){return t[e].isCommonEncryption}))||o.push(e)}var Xt={MANIFEST:"manifest",LEVEL:"level",AUDIO_TRACK:"audioTrack",SUBTITLE_TRACK:"subtitleTrack"},$t={MAIN:"main",AUDIO:"audio",SUBTITLE:"subtitle"};function qt(e){switch(e.type){case Xt.AUDIO_TRACK:return $t.AUDIO;case Xt.SUBTITLE_TRACK:return $t.SUBTITLE;default:return $t.MAIN}}function Jt(e,t){var a=e.url;return void 0!==a&&0!==a.indexOf("data:")||(a=t.url),a}var Zt=(function(){function e(e){this.hls=void 0,this.loaders=Object.create(null),this.variableList=null,this.hls=e,this.registerListeners()}var t=e.prototype;return t.startLoad=function(e){},t.stopLoad=function(){this.destroyInternalLoaders()},t.registerListeners=function(){var e=this.hls;e.on(f.MANIFEST_LOADING,this.onManifestLoading,this),e.on(f.LEVEL_LOADING,this.onLevelLoading,this),e.on(f.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),e.on(f.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this)},t.unregisterListeners=function(){var e=this.hls;e.off(f.MANIFEST_LOADING,this.onManifestLoading,this),e.off(f.LEVEL_LOADING,this.onLevelLoading,this),e.off(f.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),e.off(f.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this)},t.createInternalLoader=function(e){var t=this.hls.config,a=t.pLoader,o=t.loader,i=new(a||o)(t);return this.loaders[e.type]=i,i},t.getInternalLoader=function(e){return this.loaders[e.type]},t.resetInternalLoader=function(e){this.loaders[e]&&delete this.loaders[e]},t.destroyInternalLoaders=function(){for(var e in this.loaders){var t=this.loaders[e];t&&t.destroy(),this.resetInternalLoader(e)}},t.destroy=function(){this.variableList=null,this.unregisterListeners(),this.destroyInternalLoaders()},t.onManifestLoading=function(e,t){var a=t.url;this.variableList=null,this.load({id:null,level:0,responseType:"text",type:Xt.MANIFEST,url:a,deliveryDirectives:null})},t.onLevelLoading=function(e,t){var a=t.id,o=t.level,i=t.pathwayId,n=t.url,r=t.deliveryDirectives;this.load({id:a,level:o,pathwayId:i,responseType:"text",type:Xt.LEVEL,url:n,deliveryDirectives:r})},t.onAudioTrackLoading=function(e,t){var a=t.id,o=t.groupId,i=t.url,n=t.deliveryDirectives;this.load({id:a,groupId:o,level:null,responseType:"text",type:Xt.AUDIO_TRACK,url:i,deliveryDirectives:n})},t.onSubtitleTrackLoading=function(e,t){var a=t.id,o=t.groupId,i=t.url,n=t.deliveryDirectives;this.load({id:a,groupId:o,level:null,responseType:"text",type:Xt.SUBTITLE_TRACK,url:i,deliveryDirectives:n})},t.load=function(e){var t,a,o,i=this,n=this.hls.config,r=this.getInternalLoader(e);if(r){var E=r.context;if(E&&E.url===e.url&&E.level===e.level)return void U.trace("[playlist-loader]: playlist request ongoing");U.log("[playlist-loader]: aborting previous loader for type: "+e.type),r.abort()}if(a=e.type===Xt.MANIFEST?n.manifestLoadPolicy.default:T({},n.playlistLoadPolicy.default,{timeoutRetry:null,errorRetry:null}),r=this.createInternalLoader(e),p(null==(t=e.deliveryDirectives)?void 0:t.part)&&(e.type===Xt.LEVEL&&null!==e.level?o=this.hls.levels[e.level].details:e.type===Xt.AUDIO_TRACK&&null!==e.id?o=this.hls.audioTracks[e.id].details:e.type===Xt.SUBTITLE_TRACK&&null!==e.id&&(o=this.hls.subtitleTracks[e.id].details),o)){var _=o.partTarget,s=o.targetduration;if(_&&s){var S=1e3*Math.max(3*_,.8*s);a=T({},a,{maxTimeToFirstByteMs:Math.min(S,a.maxTimeToFirstByteMs),maxLoadTimeMs:Math.min(S,a.maxTimeToFirstByteMs)})}}var l=a.errorRetry||a.timeoutRetry||{},I={loadPolicy:a,timeout:a.maxLoadTimeMs,maxRetry:l.maxNumRetry||0,retryDelay:l.retryDelayMs||0,maxRetryDelay:l.maxRetryDelayMs||0},A={onSuccess:function(e,t,a,o){var n=i.getInternalLoader(a);i.resetInternalLoader(a.type);var r=e.data;0===r.indexOf("#EXTM3U")?(t.parsing.start=performance.now(),Vt.isMediaPlaylist(r)?i.handleTrackOrLevelPlaylist(e,t,a,o||null,n):i.handleMasterPlaylist(e,t,a,o)):i.handleManifestParsingError(e,a,new Error("no EXTM3U delimiter"),o||null,t)},onError:function(e,t,a,o){i.handleNetworkError(t,a,!1,e,o)},onTimeout:function(e,t,a){i.handleNetworkError(t,a,!0,void 0,e)}};r.load(e,I,A)},t.handleMasterPlaylist=function(e,t,a,o){var i=this.hls,n=e.data,r=Jt(e,a),E=Vt.parseMasterPlaylist(n,r);if(E.playlistParsingError)this.handleManifestParsingError(e,a,E.playlistParsingError,o,t);else{var _=E.contentSteering,T=E.levels,s=E.sessionData,S=E.sessionKeys,l=E.startTimeOffset,I=E.variableList;this.variableList=I;var A=Vt.parseMasterPlaylistMedia(n,r,E),u=A.AUDIO,d=void 0===u?[]:u,c=A.SUBTITLES,O=A["CLOSED-CAPTIONS"];d.length&&(d.some((function(e){return!e.url}))||!T[0].audioCodec||T[0].attrs.AUDIO||(U.log("[playlist-loader]: audio codec signaled in quality level, but no embedded audio track signaled, create one"),d.unshift({type:"main",name:"main",groupId:"main",default:!1,autoselect:!1,forced:!1,id:-1,attrs:new F({}),bitrate:0,url:""}))),i.trigger(f.MANIFEST_LOADED,{levels:T,audioTracks:d,subtitles:c,captions:O,contentSteering:_,url:r,stats:t,networkDetails:o,sessionData:s,sessionKeys:S,startTimeOffset:l,variableList:I})}},t.handleTrackOrLevelPlaylist=function(e,t,a,o,i){var n=this.hls,r=a.id,E=a.level,_=a.type,T=Jt(e,a),s=0,S=p(E)?E:p(r)?r:0,l=qt(a),I=Vt.parseLevelPlaylist(e.data,T,S,l,s,this.variableList);if(_===Xt.MANIFEST){var A={attrs:new F({}),bitrate:0,details:I,name:"",url:T};n.trigger(f.MANIFEST_LOADED,{levels:[A],audioTracks:[],url:T,stats:t,networkDetails:o,sessionData:null,sessionKeys:null,contentSteering:null,startTimeOffset:null,variableList:null})}t.parsing.end=performance.now(),a.levelDetails=I,this.handlePlaylistLoaded(I,e,t,a,o,i)},t.handleManifestParsingError=function(e,t,a,o,i){this.hls.trigger(f.ERROR,{type:B.NETWORK_ERROR,details:P.MANIFEST_PARSING_ERROR,fatal:t.type===Xt.MANIFEST,url:e.url,err:a,error:a,reason:a.message,response:e,context:t,networkDetails:o,stats:i})},t.handleNetworkError=function(e,t,a,i,n){void 0===a&&(a=!1);var r="A network "+(a?"timeout":"error"+(i?" (status "+i.code+")":""))+" occurred while loading "+e.type;e.type===Xt.LEVEL?r+=": "+e.level+" id: "+e.id:e.type!==Xt.AUDIO_TRACK&&e.type!==Xt.SUBTITLE_TRACK||(r+=" id: "+e.id+' group-id: "'+e.groupId+'"');var E=new Error(r);U.warn("[playlist-loader]: "+r);var _=P.UNKNOWN,T=!1,s=this.getInternalLoader(e);switch(e.type){case Xt.MANIFEST:_=a?P.MANIFEST_LOAD_TIMEOUT:P.MANIFEST_LOAD_ERROR,T=!0;break;case Xt.LEVEL:_=a?P.LEVEL_LOAD_TIMEOUT:P.LEVEL_LOAD_ERROR,T=!1;break;case Xt.AUDIO_TRACK:_=a?P.AUDIO_TRACK_LOAD_TIMEOUT:P.AUDIO_TRACK_LOAD_ERROR,T=!1;break;case Xt.SUBTITLE_TRACK:_=a?P.SUBTITLE_TRACK_LOAD_TIMEOUT:P.SUBTITLE_LOAD_ERROR,T=!1}s&&this.resetInternalLoader(e.type);var S={type:B.NETWORK_ERROR,details:_,fatal:T,url:e.url,loader:s,context:e,error:E,networkDetails:t,stats:n};if(i){var l=(null==t?void 0:t.url)||e.url;S.response=o({url:l,data:void 0},i)}this.hls.trigger(f.ERROR,S)},t.handlePlaylistLoaded=function(e,t,a,o,i,n){var r=this.hls,E=o.type,_=o.level,T=o.id,s=o.groupId,S=o.deliveryDirectives,l=Jt(t,o),I=qt(o),A="number"==typeof o.level&&I===$t.MAIN?_:void 0;if(e.fragments.length){e.targetduration||(e.playlistParsingError=new Error("Missing Target Duration"));var u=e.playlistParsingError;if(u)r.trigger(f.ERROR,{type:B.NETWORK_ERROR,details:P.LEVEL_PARSING_ERROR,fatal:!1,url:l,error:u,reason:u.message,response:t,context:o,level:A,parent:I,networkDetails:i,stats:a});else switch(e.live&&n&&(n.getCacheAge&&(e.ageHeader=n.getCacheAge()||0),n.getCacheAge&&!isNaN(e.ageHeader)||(e.ageHeader=0)),E){case Xt.MANIFEST:case Xt.LEVEL:r.trigger(f.LEVEL_LOADED,{details:e,level:A||0,id:T||0,stats:a,networkDetails:i,deliveryDirectives:S});break;case Xt.AUDIO_TRACK:r.trigger(f.AUDIO_TRACK_LOADED,{details:e,id:T||0,groupId:s||"",stats:a,networkDetails:i,deliveryDirectives:S});break;case Xt.SUBTITLE_TRACK:r.trigger(f.SUBTITLE_TRACK_LOADED,{details:e,id:T||0,groupId:s||"",stats:a,networkDetails:i,deliveryDirectives:S})}}else{var d=new Error("No Segments found in Playlist");r.trigger(f.ERROR,{type:B.NETWORK_ERROR,details:P.LEVEL_EMPTY_ERROR,fatal:!1,url:l,error:d,reason:d.message,response:t,context:o,level:A,parent:I,networkDetails:i,stats:a})}},e})();function ea(e,t){var a;try{a=new Event("addtrack")}catch(e){(a=document.createEvent("Event")).initEvent("addtrack",!1,!1)}a.track=e,t.dispatchEvent(a)}function ta(e,t){var a=e.mode;if("disabled"===a&&(e.mode="hidden"),e.cues&&!e.cues.getCueById(t.id))try{if(e.addCue(t),!e.cues.getCueById(t.id))throw new Error("addCue is failed for: "+t)}catch(a){U.debug("[texttrack-utils]: "+a);try{var o=new self.TextTrackCue(t.startTime,t.endTime,t.text);o.id=t.id,e.addCue(o)}catch(e){U.debug("[texttrack-utils]: Legacy TextTrackCue fallback failed: "+e)}}"disabled"===a&&(e.mode=a)}function aa(e){var t=e.mode;if("disabled"===t&&(e.mode="hidden"),e.cues)for(var a=e.cues.length;a--;)e.removeCue(e.cues[a]);"disabled"===t&&(e.mode=t)}function oa(e,t,a,o){var i=e.mode;if("disabled"===i&&(e.mode="hidden"),e.cues&&e.cues.length>0)for(var n=na(e.cues,t,a),r=0;r<n.length;r++)o&&!o(n[r])||e.removeCue(n[r]);"disabled"===i&&(e.mode=i)}function ia(e,t){if(t<e[0].startTime)return 0;var a=e.length-1;if(t>e[a].endTime)return-1;for(var o=0,i=a;o<=i;){var n=Math.floor((i+o)/2);if(t<e[n].startTime)i=n-1;else{if(!(t>e[n].startTime&&o<a))return n;o=n+1}}return e[o].startTime-t<t-e[i].startTime?o:i}function na(e,t,a){var o=[],i=ia(e,t);if(i>-1)for(var n=i,r=e.length;n<r;n++){var E=e[n];if(E.startTime>=t&&E.endTime<=a)o.push(E);else if(E.startTime>a)return o}return o}function ra(e){for(var t=[],a=0;a<e.length;a++){var o=e[a];"subtitles"!==o.kind&&"captions"!==o.kind||!o.label||t.push(e[a])}return t}var Ea={audioId3:"org.id3",dateRange:"com.apple.quicktime.HLS",emsg:"https://aomedia.org/emsg/ID3"},_a=.25;function Ta(){if("undefined"!=typeof self)return self.VTTCue||self.TextTrackCue}function sa(e,t,a,i,n){var r=new e(t,a,"");try{r.value=i,n&&(r.type=n)}catch(E){r=new e(t,a,JSON.stringify(n?o({type:n},i):i))}return r}var Sa=(function(){var e=Ta();try{e&&new e(0,Number.POSITIVE_INFINITY,"")}catch(e){return Number.MAX_VALUE}return Number.POSITIVE_INFINITY})();function la(e,t){return e.getTime()/1e3-t}function Ia(e){return Uint8Array.from(e.replace(/^0x/,"").replace(/([\da-fA-F]{2}) ?/g,"0x$1 ").replace(/ +$/,"").split(" ")).buffer}var Aa=(function(){function e(e){this.hls=void 0,this.id3Track=null,this.media=null,this.dateRangeCuesAppended={},this.hls=e,this._registerListeners()}var t=e.prototype;return t.destroy=function(){this._unregisterListeners(),this.id3Track=null,this.media=null,this.dateRangeCuesAppended={},this.hls=null},t._registerListeners=function(){var e=this.hls;e.on(f.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(f.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(f.MANIFEST_LOADING,this.onManifestLoading,this),e.on(f.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),e.on(f.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(f.LEVEL_UPDATED,this.onLevelUpdated,this)},t._unregisterListeners=function(){var e=this.hls;e.off(f.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(f.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(f.MANIFEST_LOADING,this.onManifestLoading,this),e.off(f.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),e.off(f.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(f.LEVEL_UPDATED,this.onLevelUpdated,this)},t.onMediaAttached=function(e,t){this.media=t.media},t.onMediaDetaching=function(){this.id3Track&&(aa(this.id3Track),this.id3Track=null,this.media=null,this.dateRangeCuesAppended={})},t.onManifestLoading=function(){this.dateRangeCuesAppended={}},t.createTrack=function(e){var t=this.getID3Track(e.textTracks);return t.mode="hidden",t},t.getID3Track=function(e){if(this.media){for(var t=0;t<e.length;t++){var a=e[t];if("metadata"===a.kind&&"id3"===a.label)return ea(a,this.media),a}return this.media.addTextTrack("metadata","id3")}},t.onFragParsingMetadata=function(e,t){if(this.media){var a=this.hls.config,o=a.enableEmsgMetadataCues,i=a.enableID3MetadataCues;if(o||i){var n=t.samples;this.id3Track||(this.id3Track=this.createTrack(this.media));var r=Ta();if(r)for(var E=0;E<n.length;E++){var _=n[E].type;if((_!==Ea.emsg||o)&&i){var T=De(n[E].data);if(T){var s=n[E].pts,S=s+n[E].duration;S>Sa&&(S=Sa),S-s<=0&&(S=s+_a);for(var l=0;l<T.length;l++){var I=T[l];if(!me(I)){this.updateId3CueEnds(s,_);var A=sa(r,s,S,I,_);A&&this.id3Track.addCue(A)}}}}}}}},t.updateId3CueEnds=function(e,t){var a,o=null==(a=this.id3Track)?void 0:a.cues;if(o)for(var i=o.length;i--;){var n=o[i];n.type===t&&n.startTime<e&&n.endTime===Sa&&(n.endTime=e)}},t.onBufferFlushing=function(e,t){var a=t.startOffset,o=t.endOffset,i=t.type,n=this.id3Track,r=this.hls;if(r){var E=r.config,_=E.enableEmsgMetadataCues,T=E.enableID3MetadataCues;n&&(_||T)&&oa(n,a,o,"audio"===i?function(e){return e.type===Ea.audioId3&&T}:"video"===i?function(e){return e.type===Ea.emsg&&_}:function(e){return e.type===Ea.audioId3&&T||e.type===Ea.emsg&&_})}},t.onLevelUpdated=function(e,t){var a=this,o=t.details;if(this.media&&o.hasProgramDateTime&&this.hls.config.enableDateRangeMetadataCues){var i=this.dateRangeCuesAppended,n=this.id3Track,r=o.dateRanges,E=Object.keys(r);if(n)for(var _=Object.keys(i).filter((function(e){return!E.includes(e)})),T=function(){var e=_[s];Object.keys(i[e].cues).forEach((function(t){n.removeCue(i[e].cues[t])})),delete i[e]},s=_.length;s--;)T();var S=o.fragments[o.fragments.length-1];if(0!==E.length&&p(null==S?void 0:S.programDateTime)){this.id3Track||(this.id3Track=this.createTrack(this.media));for(var l=S.programDateTime/1e3-S.start,I=Ta(),A=function(){var e=E[u],t=r[e],o=la(t.startDate,l),n=i[e],_=(null==n?void 0:n.cues)||{},T=(null==n?void 0:n.durationKnown)||!1,s=Sa,S=t.endDate;if(S)s=la(S,l),T=!0;else if(t.endOnNext&&!T){var A=E.reduce((function(e,a){if(a!==t.id){var o=r[a];if(o.class===t.class&&o.startDate>t.startDate&&(!e||t.startDate<e.startDate))return o}return e}),null);A&&(s=la(A.startDate,l),T=!0)}for(var d=Object.keys(t.attr),c=0;c<d.length;c++){var O=d[c];if(V(O)){var R=_[O];if(R)T&&!n.durationKnown&&(R.endTime=s);else if(I){var N=t.attr[O];H(O)&&(N=Ia(N));var m=sa(I,o,s,{key:O,data:N},Ea.dateRange);m&&(m.id=e,a.id3Track.addCue(m),_[O]=m)}}}i[e]={cues:_,dateRange:t,durationKnown:T}},u=0;u<E.length;u++)A()}}},e})(),ua=(function(){function e(e){var t=this;this.hls=void 0,this.config=void 0,this.media=null,this.levelDetails=null,this.currentTime=0,this.stallCount=0,this._latency=null,this.timeupdateHandler=function(){return t.timeupdate()},this.hls=e,this.config=e.config,this.registerListeners()}var t=e.prototype;return t.destroy=function(){this.unregisterListeners(),this.onMediaDetaching(),this.levelDetails=null,this.hls=this.timeupdateHandler=null},t.registerListeners=function(){this.hls.on(f.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.on(f.MEDIA_DETACHING,this.onMediaDetaching,this),this.hls.on(f.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.on(f.LEVEL_UPDATED,this.onLevelUpdated,this),this.hls.on(f.ERROR,this.onError,this)},t.unregisterListeners=function(){this.hls.off(f.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.off(f.MEDIA_DETACHING,this.onMediaDetaching,this),this.hls.off(f.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.off(f.LEVEL_UPDATED,this.onLevelUpdated,this),this.hls.off(f.ERROR,this.onError,this)},t.onMediaAttached=function(e,t){this.media=t.media,this.media.addEventListener("timeupdate",this.timeupdateHandler)},t.onMediaDetaching=function(){this.media&&(this.media.removeEventListener("timeupdate",this.timeupdateHandler),this.media=null)},t.onManifestLoading=function(){this.levelDetails=null,this._latency=null,this.stallCount=0},t.onLevelUpdated=function(e,t){var a=t.details;this.levelDetails=a,a.advanced&&this.timeupdate(),!a.live&&this.media&&this.media.removeEventListener("timeupdate",this.timeupdateHandler)},t.onError=function(e,t){var a;t.details===P.BUFFER_STALLED_ERROR&&(this.stallCount++,null!=(a=this.levelDetails)&&a.live&&U.warn("[playback-rate-controller]: Stall detected, adjusting target latency"))},t.timeupdate=function(){var e=this.media,t=this.levelDetails;if(e&&t){this.currentTime=e.currentTime;var a=this.computeLatency();if(null!==a){this._latency=a;var o=this.config,i=o.lowLatencyMode,n=o.maxLiveSyncPlaybackRate;if(i&&1!==n&&t.live){var r=this.targetLatency;if(null!==r){var E=a-r;if(E<Math.min(this.maxLatency,r+t.targetduration)&&E>.05&&this.forwardBufferLength>1){var _=Math.min(2,Math.max(1,n)),T=Math.round(2/(1+Math.exp(-.75*E-this.edgeStalled))*20)/20;e.playbackRate=Math.min(_,Math.max(1,T))}else 1!==e.playbackRate&&0!==e.playbackRate&&(e.playbackRate=1)}}}}},t.estimateLiveEdge=function(){var e=this.levelDetails;return null===e?null:e.edge+e.age},t.computeLatency=function(){var e=this.estimateLiveEdge();return null===e?null:e-this.currentTime},E(e,[{key:"latency",get:function(){return this._latency||0}},{key:"maxLatency",get:function(){var e=this.config,t=this.levelDetails;return void 0!==e.liveMaxLatencyDuration?e.liveMaxLatencyDuration:t?e.liveMaxLatencyDurationCount*t.targetduration:0}},{key:"targetLatency",get:function(){var e=this.levelDetails;if(null===e)return null;var t=e.holdBack,a=e.partHoldBack,o=e.targetduration,i=this.config,n=i.liveSyncDuration,r=i.liveSyncDurationCount,E=i.lowLatencyMode,_=this.hls.userConfig,T=E&&a||t;(_.liveSyncDuration||_.liveSyncDurationCount||0===T)&&(T=void 0!==n?n:r*o);var s=o,S=1;return T+Math.min(this.stallCount*S,s)}},{key:"liveSyncPosition",get:function(){var e=this.estimateLiveEdge(),t=this.targetLatency,a=this.levelDetails;if(null===e||null===t||null===a)return null;var o=a.edge,i=e-t-this.edgeStalled,n=o-a.totalduration,r=o-(this.config.lowLatencyMode&&a.partTarget||a.targetduration);return Math.min(Math.max(n,i),r)}},{key:"drift",get:function(){var e=this.levelDetails;return null===e?1:e.drift}},{key:"edgeStalled",get:function(){var e=this.levelDetails;if(null===e)return 0;var t=3*(this.config.lowLatencyMode&&e.partTarget||e.targetduration);return Math.max(e.age-t,0)}},{key:"forwardBufferLength",get:function(){var e=this.media,t=this.levelDetails;if(!e||!t)return 0;var a=e.buffered.length;return(a?e.buffered.end(a-1):t.edge)-this.currentTime}}]),e})(),da=["NONE","TYPE-0","TYPE-1",null];function ca(e){return da.indexOf(e)>-1}var Oa=["SDR","PQ","HLG"];function Ra(e){return!!e&&Oa.indexOf(e)>-1}var Na={No:"",Yes:"YES",v2:"v2"};function ma(e,t){var a=e.canSkipUntil,o=e.canSkipDateRanges,i=e.endSN;return a&&(void 0!==t?t-i:0)<a?o?Na.v2:Na.Yes:Na.No}var La=(function(){function e(e,t,a){this.msn=void 0,this.part=void 0,this.skip=void 0,this.msn=e,this.part=t,this.skip=a}return e.prototype.addDirectives=function(e){var t=new self.URL(e);return void 0!==this.msn&&t.searchParams.set("_HLS_msn",this.msn.toString()),void 0!==this.part&&t.searchParams.set("_HLS_part",this.part.toString()),this.skip&&t.searchParams.set("_HLS_skip",this.skip),t.href},e})(),Da=(function(){function e(e){this._attrs=void 0,this.audioCodec=void 0,this.bitrate=void 0,this.codecSet=void 0,this.url=void 0,this.frameRate=void 0,this.height=void 0,this.id=void 0,this.name=void 0,this.videoCodec=void 0,this.width=void 0,this.details=void 0,this.fragmentError=0,this.loadError=0,this.loaded=void 0,this.realBitrate=0,this.supportedPromise=void 0,this.supportedResult=void 0,this._avgBitrate=0,this._audioGroups=void 0,this._subtitleGroups=void 0,this._urlId=0,this.url=[e.url],this._attrs=[e.attrs],this.bitrate=e.bitrate,e.details&&(this.details=e.details),this.id=e.id||0,this.name=e.name,this.width=e.width||0,this.height=e.height||0,this.frameRate=e.attrs.optionalFloat("FRAME-RATE",0),this._avgBitrate=e.attrs.decimalInteger("AVERAGE-BANDWIDTH"),this.audioCodec=e.audioCodec,this.videoCodec=e.videoCodec,this.codecSet=[e.videoCodec,e.audioCodec].filter((function(e){return!!e})).map((function(e){return e.substring(0,4)})).join(","),this.addGroupId("audio",e.attrs.AUDIO),this.addGroupId("text",e.attrs.SUBTITLES)}var t=e.prototype;return t.hasAudioGroup=function(e){return pa(this._audioGroups,e)},t.hasSubtitleGroup=function(e){return pa(this._subtitleGroups,e)},t.addGroupId=function(e,t){if(t)if("audio"===e){var a=this._audioGroups;a||(a=this._audioGroups=[]),-1===a.indexOf(t)&&a.push(t)}else if("text"===e){var o=this._subtitleGroups;o||(o=this._subtitleGroups=[]),-1===o.indexOf(t)&&o.push(t)}},t.addFallback=function(){},E(e,[{key:"maxBitrate",get:function(){return Math.max(this.realBitrate,this.bitrate)}},{key:"averageBitrate",get:function(){return this._avgBitrate||this.realBitrate||this.bitrate}},{key:"attrs",get:function(){return this._attrs[0]}},{key:"codecs",get:function(){return this.attrs.CODECS||""}},{key:"pathwayId",get:function(){return this.attrs["PATHWAY-ID"]||"."}},{key:"videoRange",get:function(){return this.attrs["VIDEO-RANGE"]||"SDR"}},{key:"score",get:function(){return this.attrs.optionalFloat("SCORE",0)}},{key:"uri",get:function(){return this.url[0]||""}},{key:"audioGroups",get:function(){return this._audioGroups}},{key:"subtitleGroups",get:function(){return this._subtitleGroups}},{key:"urlId",get:function(){return 0},set:function(e){}},{key:"audioGroupIds",get:function(){return this.audioGroups?[this.audioGroupId]:void 0}},{key:"textGroupIds",get:function(){return this.subtitleGroups?[this.textGroupId]:void 0}},{key:"audioGroupId",get:function(){var e;return null==(e=this.audioGroups)?void 0:e[0]}},{key:"textGroupId",get:function(){var e;return null==(e=this.subtitleGroups)?void 0:e[0]}}]),e})();function pa(e,t){return!(!t||!e)&&-1!==e.indexOf(t)}function ha(e,t){var a=t.startPTS;if(p(a)){var o,i=0;t.sn>e.sn?(i=a-e.start,o=e):(i=e.start-a,o=t),o.duration!==i&&(o.duration=i)}else t.sn>e.sn?e.cc===t.cc&&e.minEndPTS?t.start=e.start+(e.minEndPTS-e.start):t.start=e.start+e.duration:t.start=Math.max(e.start-t.duration,0)}function Ca(e,t,a,o,i,n){o-a<=0&&(U.warn("Fragment should have a positive duration",t),o=a+t.duration,n=i+t.duration);var r=a,E=o,_=t.startPTS,T=t.endPTS;if(p(_)){var s=Math.abs(_-a);p(t.deltaPTS)?t.deltaPTS=Math.max(s,t.deltaPTS):t.deltaPTS=s,r=Math.max(a,_),a=Math.min(a,_),i=Math.min(i,t.startDTS),E=Math.min(o,T),o=Math.max(o,T),n=Math.max(n,t.endDTS)}var S=a-t.start;0!==t.start&&(t.start=a),t.duration=o-t.start,t.startPTS=a,t.maxStartPTS=r,t.startDTS=i,t.endPTS=o,t.minEndPTS=E,t.endDTS=n;var l,I=t.sn;if(!e||I<e.startSN||I>e.endSN)return 0;var A=I-e.startSN,u=e.fragments;for(u[A]=t,l=A;l>0;l--)ha(u[l],u[l-1]);for(l=A;l<u.length-1;l++)ha(u[l],u[l+1]);return e.fragmentHint&&ha(u[u.length-1],e.fragmentHint),e.PTSKnown=e.alignedSliding=!0,S}function fa(e,t){for(var a=null,o=e.fragments,i=o.length-1;i>=0;i--){var n=o[i].initSegment;if(n){a=n;break}}e.fragmentHint&&delete e.fragmentHint.endPTS;var r,E=0;if(ga(e,t,(function(e,o){e.relurl&&(E=e.cc-o.cc),p(e.startPTS)&&p(e.endPTS)&&(o.start=o.startPTS=e.startPTS,o.startDTS=e.startDTS,o.maxStartPTS=e.maxStartPTS,o.endPTS=e.endPTS,o.endDTS=e.endDTS,o.minEndPTS=e.minEndPTS,o.duration=e.endPTS-e.startPTS,o.duration&&(r=o),t.PTSKnown=t.alignedSliding=!0),o.elementaryStreams=e.elementaryStreams,o.loader=e.loader,o.stats=e.stats,e.initSegment&&(o.initSegment=e.initSegment,a=e.initSegment)})),a&&(t.fragmentHint?t.fragments.concat(t.fragmentHint):t.fragments).forEach((function(e){var t;!e||e.initSegment&&e.initSegment.relurl!==(null==(t=a)?void 0:t.relurl)||(e.initSegment=a)})),t.skippedSegments)if(t.deltaUpdateFailed=t.fragments.some((function(e){return!e})),t.deltaUpdateFailed){U.warn("[level-helper] Previous playlist missing segments skipped in delta playlist");for(var _=t.skippedSegments;_--;)t.fragments.shift();t.startSN=t.fragments[0].sn,t.startCC=t.fragments[0].cc}else t.canSkipDateRanges&&(t.dateRanges=Ba(e.dateRanges,t.dateRanges,t.recentlyRemovedDateranges));var T=t.fragments;if(E){U.warn("discontinuity sliding from playlist, take drift into account");for(var s=0;s<T.length;s++)T[s].cc+=E}t.skippedSegments&&(t.startCC=t.fragments[0].cc),Pa(e.partList,t.partList,(function(e,t){t.elementaryStreams=e.elementaryStreams,t.stats=e.stats})),r?Ca(t,r,r.startPTS,r.endPTS,r.startDTS,r.endDTS):va(e,t),T.length&&(t.totalduration=t.edge-T[0].start),t.driftStartTime=e.driftStartTime,t.driftStart=e.driftStart;var S=t.advancedDateTime;if(t.advanced&&S){var l=t.edge;t.driftStart||(t.driftStartTime=S,t.driftStart=l),t.driftEndTime=S,t.driftEnd=l}else t.driftEndTime=e.driftEndTime,t.driftEnd=e.driftEnd,t.advancedDateTime=e.advancedDateTime}function Ba(e,t,a){var o=T({},e);return a&&a.forEach((function(e){delete o[e]})),Object.keys(t).forEach((function(e){var a=new w(t[e].attr,o[e]);a.isValid?o[e]=a:U.warn('Ignoring invalid Playlist Delta Update DATERANGE tag: "'+JSON.stringify(t[e].attr)+'"')})),o}function Pa(e,t,a){if(e&&t)for(var o=0,i=0,n=e.length;i<=n;i++){var r=e[i],E=t[i+o];r&&E&&r.index===E.index&&r.fragment.sn===E.fragment.sn?a(r,E):o--}}function ga(e,t,a){for(var o=t.skippedSegments,i=Math.max(e.startSN,t.startSN)-t.startSN,n=(e.fragmentHint?1:0)+(o?t.endSN:Math.min(e.endSN,t.endSN))-t.startSN,r=t.startSN-e.startSN,E=t.fragmentHint?t.fragments.concat(t.fragmentHint):t.fragments,_=e.fragmentHint?e.fragments.concat(e.fragmentHint):e.fragments,T=i;T<=n;T++){var s=_[r+T],S=E[T];o&&!S&&T<o&&(S=t.fragments[T]=s),s&&S&&a(s,S)}}function va(e,t){var a=t.startSN+t.skippedSegments-e.startSN,o=e.fragments;a<0||a>=o.length||ya(t,o[a].start)}function ya(e,t){if(t){for(var a=e.fragments,o=e.skippedSegments;o<a.length;o++)a[o].start+=t;e.fragmentHint&&(e.fragmentHint.start+=t)}}function Wa(e,t){void 0===t&&(t=1/0);var a=1e3*e.targetduration;if(e.updated){var o=e.fragments,i=4;if(o.length&&a*i>t){var n=1e3*o[o.length-1].duration;n<a&&(a=n)}}else a/=2;return Math.round(a)}function Ma(e,t,a){if(null==e||!e.details)return null;var o=e.details,i=o.fragments[t-o.startSN];return i||((i=o.fragmentHint)&&i.sn===t?i:t<o.startSN&&a&&a.sn===t?a:null)}function ba(e,t,a){var o;return null!=e&&e.details?Ua(null==(o=e.details)?void 0:o.partList,t,a):null}function Ua(e,t,a){if(e)for(var o=e.length;o--;){var i=e[o];if(i.index===a&&i.fragment.sn===t)return i}return null}function Ga(e){e.forEach((function(e,t){var a=e.details;null!=a&&a.fragments&&a.fragments.forEach((function(e){e.level=t}))}))}function ka(e){switch(e.details){case P.FRAG_LOAD_TIMEOUT:case P.KEY_LOAD_TIMEOUT:case P.LEVEL_LOAD_TIMEOUT:case P.MANIFEST_LOAD_TIMEOUT:return!0}return!1}function Fa(e,t){var a=ka(t);return e.default[(a?"timeout":"error")+"Retry"]}function Va(e,t){var a="linear"===e.backoff?1:Math.pow(2,t);return Math.min(a*e.retryDelayMs,e.maxRetryDelayMs)}function Ha(e){return o(o({},e),{errorRetry:null,timeoutRetry:null})}function wa(e,t,a,o){if(!e)return!1;var i=null==o?void 0:o.code,n=t<e.maxNumRetry&&(Ya(i)||!!a);return e.shouldRetry?e.shouldRetry(e,t,a,o,n):n}function Ya(e){return 0===e&&!1===navigator.onLine||!!e&&(e<400||e>499)}var za={search:function(e,t){for(var a=0,o=e.length-1,i=null,n=null;a<=o;){var r=t(n=e[i=(a+o)/2|0]);if(r>0)a=i+1;else{if(!(r<0))return n;o=i-1}}return null}};function Ka(e,t,a){if(null===t||!Array.isArray(e)||!e.length||!p(t))return null;if(t<(e[0].programDateTime||0))return null;if(t>=(e[e.length-1].endProgramDateTime||0))return null;a=a||0;for(var o=0;o<e.length;++o){var i=e[o];if(Qa(t,a,i))return i}return null}function xa(e,t,a,o){void 0===a&&(a=0),void 0===o&&(o=0);var i=null;if(e){i=t[e.sn-t[0].sn+1]||null;var n=e.endDTS-a;n>0&&n<15e-7&&(a+=15e-7)}else 0===a&&0===t[0].start&&(i=t[0]);if(i&&(!e||e.level===i.level)&&0===ja(a,o,i))return i;var r=za.search(t,ja.bind(null,a,o));return!r||r===e&&i?i:r}function ja(e,t,a){if(void 0===e&&(e=0),void 0===t&&(t=0),a.start<=e&&a.start+a.duration>e)return 0;var o=Math.min(t,a.duration+(a.deltaPTS?a.deltaPTS:0));return a.start+a.duration-o<=e?1:a.start-o>e&&a.start?-1:0}function Qa(e,t,a){var o=1e3*Math.min(t,a.duration+(a.deltaPTS?a.deltaPTS:0));return(a.endProgramDateTime||0)-o>e}function Xa(e,t){return za.search(e,(function(e){return e.cc<t?1:e.cc>t?-1:0}))}var $a={DoNothing:0,SendEndCallback:1,SendAlternateToPenaltyBox:2,RemoveAlternatePermanently:3,InsertDiscontinuity:4,RetryRequest:5},qa={None:0,MoveAllAlternatesMatchingHost:1,MoveAllAlternatesMatchingHDCP:2,SwitchToSDR:4},Ja=(function(){function e(e){this.hls=void 0,this.playlistError=0,this.penalizedRenditions={},this.log=void 0,this.warn=void 0,this.error=void 0,this.hls=e,this.log=U.log.bind(U,"[info]:"),this.warn=U.warn.bind(U,"[warning]:"),this.error=U.error.bind(U,"[error]:"),this.registerListeners()}var t=e.prototype;return t.registerListeners=function(){var e=this.hls;e.on(f.ERROR,this.onError,this),e.on(f.MANIFEST_LOADING,this.onManifestLoading,this),e.on(f.LEVEL_UPDATED,this.onLevelUpdated,this)},t.unregisterListeners=function(){var e=this.hls;e&&(e.off(f.ERROR,this.onError,this),e.off(f.ERROR,this.onErrorOut,this),e.off(f.MANIFEST_LOADING,this.onManifestLoading,this),e.off(f.LEVEL_UPDATED,this.onLevelUpdated,this))},t.destroy=function(){this.unregisterListeners(),this.hls=null,this.penalizedRenditions={}},t.startLoad=function(e){},t.stopLoad=function(){this.playlistError=0},t.getVariantLevelIndex=function(e){return(null==e?void 0:e.type)===$t.MAIN?e.level:this.hls.loadLevel},t.onManifestLoading=function(){this.playlistError=0,this.penalizedRenditions={}},t.onLevelUpdated=function(){this.playlistError=0},t.onError=function(e,t){var a,o;if(!t.fatal){var i=this.hls,n=t.context;switch(t.details){case P.FRAG_LOAD_ERROR:case P.FRAG_LOAD_TIMEOUT:case P.KEY_LOAD_ERROR:case P.KEY_LOAD_TIMEOUT:return void(t.errorAction=this.getFragRetryOrSwitchAction(t));case P.FRAG_PARSING_ERROR:if(null!=(a=t.frag)&&a.gap)return void(t.errorAction={action:$a.DoNothing,flags:qa.None});case P.FRAG_GAP:case P.FRAG_DECRYPT_ERROR:return t.errorAction=this.getFragRetryOrSwitchAction(t),void(t.errorAction.action=$a.SendAlternateToPenaltyBox);case P.LEVEL_EMPTY_ERROR:case P.LEVEL_PARSING_ERROR:var r,E,_=t.parent===$t.MAIN?t.level:i.loadLevel;return void(t.details===P.LEVEL_EMPTY_ERROR&&null!=(r=t.context)&&null!=(E=r.levelDetails)&&E.live?t.errorAction=this.getPlaylistRetryOrSwitchAction(t,_):(t.levelRetry=!1,t.errorAction=this.getLevelSwitchAction(t,_)));case P.LEVEL_LOAD_ERROR:case P.LEVEL_LOAD_TIMEOUT:return void("number"==typeof(null==n?void 0:n.level)&&(t.errorAction=this.getPlaylistRetryOrSwitchAction(t,n.level)));case P.AUDIO_TRACK_LOAD_ERROR:case P.AUDIO_TRACK_LOAD_TIMEOUT:case P.SUBTITLE_LOAD_ERROR:case P.SUBTITLE_TRACK_LOAD_TIMEOUT:if(n){var T=i.levels[i.loadLevel];if(T&&(n.type===Xt.AUDIO_TRACK&&T.hasAudioGroup(n.groupId)||n.type===Xt.SUBTITLE_TRACK&&T.hasSubtitleGroup(n.groupId)))return t.errorAction=this.getPlaylistRetryOrSwitchAction(t,i.loadLevel),t.errorAction.action=$a.SendAlternateToPenaltyBox,void(t.errorAction.flags=qa.MoveAllAlternatesMatchingHost)}return;case P.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED:var s=i.levels[i.loadLevel],S=null==s?void 0:s.attrs["HDCP-LEVEL"];return void(S?t.errorAction={action:$a.SendAlternateToPenaltyBox,flags:qa.MoveAllAlternatesMatchingHDCP,hdcpLevel:S}:this.keySystemError(t));case P.BUFFER_ADD_CODEC_ERROR:case P.REMUX_ALLOC_ERROR:case P.BUFFER_APPEND_ERROR:return void(t.errorAction=this.getLevelSwitchAction(t,null!=(o=t.level)?o:i.loadLevel));case P.INTERNAL_EXCEPTION:case P.BUFFER_APPENDING_ERROR:case P.BUFFER_FULL_ERROR:case P.LEVEL_SWITCH_ERROR:case P.BUFFER_STALLED_ERROR:case P.BUFFER_SEEK_OVER_HOLE:case P.BUFFER_NUDGE_ON_STALL:return void(t.errorAction={action:$a.DoNothing,flags:qa.None})}t.type===B.KEY_SYSTEM_ERROR&&this.keySystemError(t)}},t.keySystemError=function(e){var t=this.getVariantLevelIndex(e.frag);e.levelRetry=!1,e.errorAction=this.getLevelSwitchAction(e,t)},t.getPlaylistRetryOrSwitchAction=function(e,t){var a=Fa(this.hls.config.playlistLoadPolicy,e),o=this.playlistError++;if(wa(a,o,ka(e),e.response))return{action:$a.RetryRequest,flags:qa.None,retryConfig:a,retryCount:o};var i=this.getLevelSwitchAction(e,t);return a&&(i.retryConfig=a,i.retryCount=o),i},t.getFragRetryOrSwitchAction=function(e){var t=this.hls,a=this.getVariantLevelIndex(e.frag),o=t.levels[a],i=t.config,n=i.fragLoadPolicy,r=i.keyLoadPolicy,E=Fa(e.details.startsWith("key")?r:n,e),_=t.levels.reduce((function(e,t){return e+t.fragmentError}),0);if(o&&(e.details!==P.FRAG_GAP&&o.fragmentError++,wa(E,_,ka(e),e.response)))return{action:$a.RetryRequest,flags:qa.None,retryConfig:E,retryCount:_};var T=this.getLevelSwitchAction(e,a);return E&&(T.retryConfig=E,T.retryCount=_),T},t.getLevelSwitchAction=function(e,t){var a=this.hls;null==t&&(t=a.loadLevel);var o=this.hls.levels[t];if(o){var i,n,r=e.details;o.loadError++,r===P.BUFFER_APPEND_ERROR&&o.fragmentError++;var E=-1,_=a.levels,T=a.loadLevel,s=a.minAutoLevel,S=a.maxAutoLevel;a.autoLevelEnabled||(a.loadLevel=-1);for(var l,I=null==(i=e.frag)?void 0:i.type,A=(I===$t.AUDIO&&r===P.FRAG_PARSING_ERROR||"audio"===e.sourceBufferName&&(r===P.BUFFER_ADD_CODEC_ERROR||r===P.BUFFER_APPEND_ERROR))&&_.some((function(e){var t=e.audioCodec;return o.audioCodec!==t})),u="video"===e.sourceBufferName&&(r===P.BUFFER_ADD_CODEC_ERROR||r===P.BUFFER_APPEND_ERROR)&&_.some((function(e){var t=e.codecSet,a=e.audioCodec;return o.codecSet!==t&&o.audioCodec===a})),d=null!=(n=e.context)?n:{},c=d.type,O=d.groupId,R=function(){var t=(N+T)%_.length;if(t!==T&&t>=s&&t<=S&&0===_[t].loadError){var a,i,n=_[t];if(r===P.FRAG_GAP&&e.frag){var l=_[t].details;if(l){var d=xa(e.frag,l.fragments,e.frag.start);if(null!=d&&d.gap)return 0}}else{if(c===Xt.AUDIO_TRACK&&n.hasAudioGroup(O)||c===Xt.SUBTITLE_TRACK&&n.hasSubtitleGroup(O))return 0;if(I===$t.AUDIO&&null!=(a=o.audioGroups)&&a.some((function(e){return n.hasAudioGroup(e)}))||I===$t.SUBTITLE&&null!=(i=o.subtitleGroups)&&i.some((function(e){return n.hasSubtitleGroup(e)}))||A&&o.audioCodec===n.audioCodec||!A&&o.audioCodec!==n.audioCodec||u&&o.codecSet===n.codecSet)return 0}return E=t,1}},N=_.length;N--&&(0===(l=R())||1!==l););if(E>-1&&a.loadLevel!==E)return e.levelRetry=!0,this.playlistError=0,{action:$a.SendAlternateToPenaltyBox,flags:qa.None,nextAutoLevel:E}}return{action:$a.SendAlternateToPenaltyBox,flags:qa.MoveAllAlternatesMatchingHost}},t.onErrorOut=function(e,t){var a;switch(null==(a=t.errorAction)?void 0:a.action){case $a.DoNothing:break;case $a.SendAlternateToPenaltyBox:this.sendAlternateToPenaltyBox(t),t.errorAction.resolved||t.details===P.FRAG_GAP?/MediaSource readyState: ended/.test(t.error.message)&&(this.warn('MediaSource ended after "'+t.sourceBufferName+'" sourceBuffer append error. Attempting to recover from media error.'),this.hls.recoverMediaError()):t.fatal=!0}t.fatal&&this.hls.stopLoad()},t.sendAlternateToPenaltyBox=function(e){var t=this.hls,a=e.errorAction;if(a){var o=a.flags,i=a.hdcpLevel,n=a.nextAutoLevel;switch(o){case qa.None:this.switchLevel(e,n);break;case qa.MoveAllAlternatesMatchingHDCP:i&&(t.maxHdcpLevel=da[da.indexOf(i)-1],a.resolved=!0),this.warn('Restricting playback to HDCP-LEVEL of "'+t.maxHdcpLevel+'" or lower')}a.resolved||this.switchLevel(e,n)}},t.switchLevel=function(e,t){void 0!==t&&e.errorAction&&(this.warn("switching to level "+t+" after "+e.details),this.hls.nextAutoLevel=t,e.errorAction.resolved=!0,this.hls.nextLoadLevel=this.hls.nextAutoLevel)},e})(),Za=(function(){function e(e,t){this.hls=void 0,this.timer=-1,this.requestScheduled=-1,this.canLoad=!1,this.log=void 0,this.warn=void 0,this.log=U.log.bind(U,t+":"),this.warn=U.warn.bind(U,t+":"),this.hls=e}var t=e.prototype;return t.destroy=function(){this.clearTimer(),this.hls=this.log=this.warn=null},t.clearTimer=function(){-1!==this.timer&&(self.clearTimeout(this.timer),this.timer=-1)},t.startLoad=function(){this.canLoad=!0,this.requestScheduled=-1,this.loadPlaylist()},t.stopLoad=function(){this.canLoad=!1,this.clearTimer()},t.switchParams=function(e,t){var a=null==t?void 0:t.renditionReports;if(a){for(var o=-1,i=0;i<a.length;i++){var n=a[i],r=void 0;try{r=new self.URL(n.URI,t.url).href}catch(e){U.warn("Could not construct new URL for Rendition Report: "+e),r=n.URI||""}if(r===e){o=i;break}r===e.substring(0,r.length)&&(o=i)}if(-1!==o){var E=a[o],_=parseInt(E["LAST-MSN"])||(null==t?void 0:t.lastPartSn),T=parseInt(E["LAST-PART"])||(null==t?void 0:t.lastPartIndex);if(this.hls.config.lowLatencyMode){var s=Math.min(t.age-t.partTarget,t.targetduration);T>=0&&s>t.partTarget&&(T+=1)}return new La(_,T>=0?T:void 0,Na.No)}}},t.loadPlaylist=function(e){-1===this.requestScheduled&&(this.requestScheduled=self.performance.now())},t.shouldLoadPlaylist=function(e){return this.canLoad&&!!e&&!!e.url&&(!e.details||e.details.live)},t.shouldReloadPlaylist=function(e){return-1===this.timer&&-1===this.requestScheduled&&this.shouldLoadPlaylist(e)},t.playlistLoaded=function(e,t,a){var o=this,i=t.details,n=t.stats,r=self.performance.now(),E=n.loading.first?Math.max(0,r-n.loading.first):0;if(i.advancedDateTime=Date.now()-E,i.live||null!=a&&a.live){if(i.reloaded(a),a&&this.log("live playlist "+e+" "+(i.advanced?"REFRESHED "+i.lastPartSn+"-"+i.lastPartIndex:i.updated?"UPDATED":"MISSED")),a&&i.fragments.length>0&&fa(a,i),!this.canLoad||!i.live)return;var _,T=void 0,s=void 0;if(i.canBlockReload&&i.endSN&&i.advanced){var S=this.hls.config.lowLatencyMode,l=i.lastPartSn,I=i.endSN,A=i.lastPartIndex,u=l===I;-1!==A?(T=u?I+1:l,s=u?S?0:A:A+1):T=I+1;var d=i.age,c=d+i.ageHeader,O=Math.min(c-i.partTarget,1.5*i.targetduration);if(O>0){if(a&&O>a.tuneInGoal)this.warn("CDN Tune-in goal increased from: "+a.tuneInGoal+" to: "+O+" with playlist age: "+i.age),O=0;else{var R=Math.floor(O/i.targetduration);T+=R,void 0!==s&&(s+=Math.round(O%i.targetduration/i.partTarget)),this.log("CDN Tune-in age: "+i.ageHeader+"s last advanced "+d.toFixed(2)+"s goal: "+O+" skip sn "+R+" to part "+s)}i.tuneInGoal=O}if(_=this.getDeliveryDirectives(i,t.deliveryDirectives,T,s),S||!u)return void this.loadPlaylist(_)}else(i.canBlockReload||i.canSkipUntil)&&(_=this.getDeliveryDirectives(i,t.deliveryDirectives,T,s));var N=this.hls.mainForwardBufferInfo,m=N?N.end-N.len:0,L=Wa(i,1e3*(i.edge-m));i.updated&&r>this.requestScheduled+L&&(this.requestScheduled=n.loading.start),void 0!==T&&i.canBlockReload?this.requestScheduled=n.loading.first+L-(1e3*i.partTarget||1e3):-1===this.requestScheduled||this.requestScheduled+L<r?this.requestScheduled=r:this.requestScheduled-r<=0&&(this.requestScheduled+=L);var D=this.requestScheduled-r;D=Math.max(0,D),this.log("reload live playlist "+e+" in "+Math.round(D)+" ms"),this.timer=self.setTimeout((function(){return o.loadPlaylist(_)}),D)}else this.clearTimer()},t.getDeliveryDirectives=function(e,t,a,o){var i=ma(e,a);return null!=t&&t.skip&&e.deltaUpdateFailed&&(a=t.msn,o=t.part,i=Na.No),new La(a,o,i)},t.checkRetry=function(e){var t=this,a=e.details,o=ka(e),i=e.errorAction,n=i||{},r=n.action,E=n.retryCount,_=void 0===E?0:E,T=n.retryConfig,s=!!i&&!!T&&(r===$a.RetryRequest||!i.resolved&&r===$a.SendAlternateToPenaltyBox);if(s){var S;if(this.requestScheduled=-1,_>=T.maxNumRetry)return!1;if(o&&null!=(S=e.context)&&S.deliveryDirectives)this.warn("Retrying playlist loading "+(_+1)+"/"+T.maxNumRetry+' after "'+a+'" without delivery-directives'),this.loadPlaylist();else{var l=Va(T,_);this.timer=self.setTimeout((function(){return t.loadPlaylist()}),l),this.warn("Retrying playlist loading "+(_+1)+"/"+T.maxNumRetry+' after "'+a+'" in '+l+"ms")}e.levelRetry=!0,i.resolved=!0}return s},e})(),eo=(function(){function e(e,t,a){void 0===t&&(t=0),void 0===a&&(a=0),this.halfLife=void 0,this.alpha_=void 0,this.estimate_=void 0,this.totalWeight_=void 0,this.halfLife=e,this.alpha_=e?Math.exp(Math.log(.5)/e):0,this.estimate_=t,this.totalWeight_=a}var t=e.prototype;return t.sample=function(e,t){var a=Math.pow(this.alpha_,e);this.estimate_=t*(1-a)+a*this.estimate_,this.totalWeight_+=e},t.getTotalWeight=function(){return this.totalWeight_},t.getEstimate=function(){if(this.alpha_){var e=1-Math.pow(this.alpha_,this.totalWeight_);if(e)return this.estimate_/e}return this.estimate_},e})(),to=(function(){function e(e,t,a,o){void 0===o&&(o=100),this.defaultEstimate_=void 0,this.minWeight_=void 0,this.minDelayMs_=void 0,this.slow_=void 0,this.fast_=void 0,this.defaultTTFB_=void 0,this.ttfb_=void 0,this.defaultEstimate_=a,this.minWeight_=.001,this.minDelayMs_=50,this.slow_=new eo(e),this.fast_=new eo(t),this.defaultTTFB_=o,this.ttfb_=new eo(e)}var t=e.prototype;return t.update=function(e,t){var a=this.slow_,o=this.fast_,i=this.ttfb_;a.halfLife!==e&&(this.slow_=new eo(e,a.getEstimate(),a.getTotalWeight())),o.halfLife!==t&&(this.fast_=new eo(t,o.getEstimate(),o.getTotalWeight())),i.halfLife!==e&&(this.ttfb_=new eo(e,i.getEstimate(),i.getTotalWeight()))},t.sample=function(e,t){var a=(e=Math.max(e,this.minDelayMs_))/1e3,o=8*t/a;this.fast_.sample(a,o),this.slow_.sample(a,o)},t.sampleTTFB=function(e){var t=e/1e3,a=Math.sqrt(2)*Math.exp(-Math.pow(t,2)/2);this.ttfb_.sample(a,Math.max(e,5))},t.canEstimate=function(){return this.fast_.getTotalWeight()>=this.minWeight_},t.getEstimate=function(){return this.canEstimate()?Math.min(this.fast_.getEstimate(),this.slow_.getEstimate()):this.defaultEstimate_},t.getEstimateTTFB=function(){return this.ttfb_.getTotalWeight()>=this.minWeight_?this.ttfb_.getEstimate():this.defaultTTFB_},t.destroy=function(){},e})(),ao={supported:!0,configurations:[],decodingInfoResults:[{supported:!0,powerEfficient:!0,smooth:!0}]},oo={};function io(e,t,a,o,i,n){var r=e.audioCodec?e.audioGroups:null,E=null==n?void 0:n.audioCodec,_=null==n?void 0:n.channels,T=_?parseInt(_):E?1/0:2,s=null;if(null!=r&&r.length)try{s=1===r.length&&r[0]?t.groups[r[0]].channels:r.reduce((function(e,a){if(a){var o=t.groups[a];if(!o)throw new Error("Audio track group "+a+" not found");Object.keys(o.channels).forEach((function(t){e[t]=(e[t]||0)+o.channels[t]}))}return e}),{2:0})}catch(e){return!0}return void 0!==e.videoCodec&&(e.width>1920&&e.height>1088||e.height>1920&&e.width>1088||e.frameRate>Math.max(o,30)||"SDR"!==e.videoRange&&e.videoRange!==a||e.bitrate>Math.max(i,8e6))||!!s&&p(T)&&Object.keys(s).some((function(e){return parseInt(e)>T}))}function no(e,t,a){var i=e.videoCodec,n=e.audioCodec;if(!i||!n||!a)return Promise.resolve(ao);var r={width:e.width,height:e.height,bitrate:Math.ceil(Math.max(.9*e.bitrate,e.averageBitrate)),framerate:e.frameRate||30},E=e.videoRange;"SDR"!==E&&(r.transferFunction=E.toLowerCase());var _=i.split(",").map((function(e){return{type:"media-source",video:o(o({},r),{},{contentType:Ct(e,"video")})}}));return n&&e.audioGroups&&e.audioGroups.forEach((function(e){var a;e&&(null==(a=t.groups[e])||a.tracks.forEach((function(t){if(t.groupId===e){var a=t.channels||"",o=parseFloat(a);p(o)&&o>2&&_.push.apply(_,n.split(",").map((function(e){return{type:"media-source",audio:{contentType:Ct(e,"audio"),channels:""+o}}})))}})))})),Promise.all(_.map((function(e){var t=ro(e);return oo[t]||(oo[t]=a.decodingInfo(e))}))).then((function(e){return{supported:!e.some((function(e){return!e.supported})),configurations:_,decodingInfoResults:e}})).catch((function(e){return{supported:!1,configurations:_,decodingInfoResults:[],error:e}}))}function ro(e){var t=e.audio,a=e.video,o=a||t;if(o){var i=o.contentType.split('"')[1];if(a)return"r"+a.height+"x"+a.width+"f"+Math.ceil(a.framerate)+(a.transferFunction||"sd")+"_"+i+"_"+Math.ceil(a.bitrate/1e5);if(t)return"c"+t.channels+(t.spatialRendering?"s":"n")+"_"+i}return""}function Eo(){if("function"==typeof matchMedia){var e=matchMedia("(dynamic-range: high)"),t=matchMedia("bad query");if(e.media!==t.media)return!0===e.matches}return!1}function _o(e,t){var a=!1,o=[];return e&&(a="SDR"!==e,o=[e]),t&&(o=t.allowedVideoRanges||Oa.slice(0),o=(a=void 0!==t.preferHDR?t.preferHDR:Eo())?o.filter((function(e){return"SDR"!==e})):["SDR"]),{preferHDR:a,allowedVideoRanges:o}}function To(e,t,a,o,i){for(var n=Object.keys(e),r=null==o?void 0:o.channels,E=null==o?void 0:o.audioCodec,_=r&&2===parseInt(r),T=!0,s=!1,S=1/0,l=1/0,I=1/0,A=0,u=[],d=_o(t,i),c=d.preferHDR,O=d.allowedVideoRanges,R=function(){var t=e[n[N]];T=t.channels[2]>0,S=Math.min(S,t.minHeight),l=Math.min(l,t.minFramerate),I=Math.min(I,t.minBitrate);var a=O.filter((function(e){return t.videoRanges[e]>0}));a.length>0&&(s=!0,u=a)},N=n.length;N--;)R();S=p(S)?S:0,l=p(l)?l:0;var m=Math.max(1080,S),L=Math.max(30,l);return I=p(I)?I:a,a=Math.max(I,a),s||(t=void 0,u=[]),{codecSet:n.reduce((function(t,o){var i=e[o];if(o===t)return t;if(i.minBitrate>a)return so(o,"min bitrate of "+i.minBitrate+" > current estimate of "+a),t;if(!i.hasDefaultAudio)return so(o,"no renditions with default or auto-select sound found"),t;if(E&&o.indexOf(E.substring(0,4))%5!=0)return so(o,'audio codec preference "'+E+'" not found'),t;if(r&&!_){if(!i.channels[r])return so(o,"no renditions with "+r+" channel sound found (channels options: "+Object.keys(i.channels)+")"),t}else if((!E||_)&&T&&0===i.channels[2])return so(o,"no renditions with stereo sound found"),t;return i.minHeight>m?(so(o,"min resolution of "+i.minHeight+" > maximum of "+m),t):i.minFramerate>L?(so(o,"min framerate of "+i.minFramerate+" > maximum of "+L),t):u.some((function(e){return i.videoRanges[e]>0}))?i.maxScore<A?(so(o,"max score of "+i.maxScore+" < selected max of "+A),t):t&&(Bt(o)>=Bt(t)||i.fragmentError>e[t].fragmentError)?t:(A=i.maxScore,o):(so(o,"no variants with VIDEO-RANGE of "+JSON.stringify(u)+" found"),t)}),void 0),videoRanges:u,preferHDR:c,minFramerate:l,minBitrate:I}}function so(e,t){U.log('[abr] start candidates with "'+e+'" ignored because '+t)}function So(e){return e.reduce((function(e,t){var a=e.groups[t.groupId];a||(a=e.groups[t.groupId]={tracks:[],channels:{2:0},hasDefault:!1,hasAutoSelect:!1}),a.tracks.push(t);var o=t.channels||"2";return a.channels[o]=(a.channels[o]||0)+1,a.hasDefault=a.hasDefault||t.default,a.hasAutoSelect=a.hasAutoSelect||t.autoselect,a.hasDefault&&(e.hasDefaultAudio=!0),a.hasAutoSelect&&(e.hasAutoSelectAudio=!0),e}),{hasDefaultAudio:!1,hasAutoSelectAudio:!1,groups:{}})}function lo(e,t,a,o){return e.slice(a,o+1).reduce((function(e,a){if(!a.codecSet)return e;var o=a.audioGroups,i=e[a.codecSet];i||(e[a.codecSet]=i={minBitrate:1/0,minHeight:1/0,minFramerate:1/0,maxScore:0,videoRanges:{SDR:0},channels:{2:0},hasDefaultAudio:!o,fragmentError:0}),i.minBitrate=Math.min(i.minBitrate,a.bitrate);var n=Math.min(a.height,a.width);return i.minHeight=Math.min(i.minHeight,n),i.minFramerate=Math.min(i.minFramerate,a.frameRate),i.maxScore=Math.max(i.maxScore,a.score),i.fragmentError+=a.fragmentError,i.videoRanges[a.videoRange]=(i.videoRanges[a.videoRange]||0)+1,o&&o.forEach((function(e){if(e){var a=t.groups[e];i.hasDefaultAudio=i.hasDefaultAudio||t.hasDefaultAudio?a.hasDefault:a.hasAutoSelect||!t.hasDefaultAudio&&!t.hasAutoSelectAudio,Object.keys(a.channels).forEach((function(e){i.channels[e]=(i.channels[e]||0)+a.channels[e]}))}})),e}),{})}function Io(e,t,a){if("attrs"in e){var o=t.indexOf(e);if(-1!==o)return o}for(var i=0;i<t.length;i++)if(Ao(e,t[i],a))return i;return-1}function Ao(e,t,a){var o=e.groupId,i=e.name,n=e.lang,r=e.assocLang,E=e.characteristics,_=e.default,T=e.forced;return(void 0===o||t.groupId===o)&&(void 0===i||t.name===i)&&(void 0===n||t.lang===n)&&(void 0===n||t.assocLang===r)&&(void 0===_||t.default===_)&&(void 0===T||t.forced===T)&&(void 0===E||uo(E,t.characteristics))&&(void 0===a||a(e,t))}function uo(e,t){void 0===t&&(t="");var a=e.split(","),o=t.split(",");return a.length===o.length&&!a.some((function(e){return-1===o.indexOf(e)}))}function co(e,t){var a=e.audioCodec,o=e.channels;return!(void 0!==a&&(t.audioCodec||"").substring(0,4)!==a.substring(0,4)||void 0!==o&&o!==(t.channels||"2"))}function Oo(e,t,a,o,i){var n=t[o],r=t.reduce((function(e,t,a){var o=t.uri;return(e[o]||(e[o]=[])).push(a),e}),{})[n.uri];r.length>1&&(o=Math.max.apply(Math,r));var E=n.videoRange,_=n.frameRate,T=n.codecSet.substring(0,4),s=Ro(t,o,(function(t){if(t.videoRange!==E||t.frameRate!==_||t.codecSet.substring(0,4)!==T)return!1;var o=t.audioGroups,n=a.filter((function(e){return!o||-1!==o.indexOf(e.groupId)}));return Io(e,n,i)>-1}));return s>-1?s:Ro(t,o,(function(t){var o=t.audioGroups,n=a.filter((function(e){return!o||-1!==o.indexOf(e.groupId)}));return Io(e,n,i)>-1}))}function Ro(e,t,a){for(var o=t;o;o--)if(a(e[o]))return o;for(var i=t+1;i<e.length;i++)if(a(e[i]))return i;return-1}var No=(function(){function e(e){var t=this;this.hls=void 0,this.lastLevelLoadSec=0,this.lastLoadedFragLevel=-1,this.firstSelection=-1,this._nextAutoLevel=-1,this.nextAutoLevelKey="",this.audioTracksByGroup=null,this.codecTiers=null,this.timer=-1,this.fragCurrent=null,this.partCurrent=null,this.bitrateTestDelay=0,this.bwEstimator=void 0,this._abandonRulesCheck=function(){var e=t.fragCurrent,a=t.partCurrent,o=t.hls,i=o.autoLevelEnabled,n=o.media;if(e&&n){var r=performance.now(),E=a?a.stats:e.stats,_=a?a.duration:e.duration,T=r-E.loading.start,s=o.minAutoLevel;if(E.aborted||E.loaded&&E.loaded===E.total||e.level<=s)return t.clearTimer(),void(t._nextAutoLevel=-1);if(i&&!n.paused&&n.playbackRate&&n.readyState){var S=o.mainForwardBufferInfo;if(null!==S){var l=t.bwEstimator.getEstimateTTFB(),I=Math.abs(n.playbackRate);if(!(T<=Math.max(l,_/(2*I)*1e3))){var A=S.len/I,u=E.loading.first?E.loading.first-E.loading.start:-1,d=E.loaded&&u>-1,c=t.getBwEstimate(),O=o.levels,R=O[e.level],N=E.total||Math.max(E.loaded,Math.round(_*R.averageBitrate/8)),m=d?T-u:T;m<1&&d&&(m=Math.min(T,8*E.loaded/c));var L=d?1e3*E.loaded/m:0,D=L?(N-E.loaded)/L:8*N/c+l/1e3;if(!(D<=A)){var h,C=L?8*L:c,B=Number.POSITIVE_INFINITY;for(h=e.level-1;h>s;h--){var P=O[h].maxBitrate;if((B=t.getTimeToLoadFrag(l/1e3,C,_*P,!O[h].details))<A)break}if(!(B>=D||B>10*_)){o.nextLoadLevel=o.nextAutoLevel=h,d?t.bwEstimator.sample(T-Math.min(l,u),E.loaded):t.bwEstimator.sampleTTFB(T);var g=O[h].maxBitrate;t.getBwEstimate()*t.hls.config.abrBandWidthUpFactor>g&&t.resetEstimator(g),t.clearTimer(),U.warn("[abr] Fragment "+e.sn+(a?" part "+a.index:"")+" of level "+e.level+" is loading too slowly;\n Time to underbuffer: "+A.toFixed(3)+" s\n Estimated load time for current fragment: "+D.toFixed(3)+" s\n Estimated load time for down switch fragment: "+B.toFixed(3)+" s\n TTFB estimate: "+(0|u)+" ms\n Current BW estimate: "+(p(c)?0|c:"Unknown")+" bps\n New BW estimate: "+(0|t.getBwEstimate())+" bps\n Switching to level "+h+" @ "+(0|g)+" bps"),o.trigger(f.FRAG_LOAD_EMERGENCY_ABORTED,{frag:e,part:a,stats:E})}}}}}}},this.hls=e,this.bwEstimator=this.initEstimator(),this.registerListeners()}var t=e.prototype;return t.resetEstimator=function(e){e&&(U.log("setting initial bwe to "+e),this.hls.config.abrEwmaDefaultEstimate=e),this.firstSelection=-1,this.bwEstimator=this.initEstimator()},t.initEstimator=function(){var e=this.hls.config;return new to(e.abrEwmaSlowVoD,e.abrEwmaFastVoD,e.abrEwmaDefaultEstimate)},t.registerListeners=function(){var e=this.hls;e.on(f.MANIFEST_LOADING,this.onManifestLoading,this),e.on(f.FRAG_LOADING,this.onFragLoading,this),e.on(f.FRAG_LOADED,this.onFragLoaded,this),e.on(f.FRAG_BUFFERED,this.onFragBuffered,this),e.on(f.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(f.LEVEL_LOADED,this.onLevelLoaded,this),e.on(f.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(f.MAX_AUTO_LEVEL_UPDATED,this.onMaxAutoLevelUpdated,this),e.on(f.ERROR,this.onError,this)},t.unregisterListeners=function(){var e=this.hls;e&&(e.off(f.MANIFEST_LOADING,this.onManifestLoading,this),e.off(f.FRAG_LOADING,this.onFragLoading,this),e.off(f.FRAG_LOADED,this.onFragLoaded,this),e.off(f.FRAG_BUFFERED,this.onFragBuffered,this),e.off(f.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(f.LEVEL_LOADED,this.onLevelLoaded,this),e.off(f.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(f.MAX_AUTO_LEVEL_UPDATED,this.onMaxAutoLevelUpdated,this),e.off(f.ERROR,this.onError,this))},t.destroy=function(){this.unregisterListeners(),this.clearTimer(),this.hls=this._abandonRulesCheck=null,this.fragCurrent=this.partCurrent=null},t.onManifestLoading=function(e,t){this.lastLoadedFragLevel=-1,this.firstSelection=-1,this.lastLevelLoadSec=0,this.fragCurrent=this.partCurrent=null,this.onLevelsUpdated(),this.clearTimer()},t.onLevelsUpdated=function(){this.lastLoadedFragLevel>-1&&this.fragCurrent&&(this.lastLoadedFragLevel=this.fragCurrent.level),this._nextAutoLevel=-1,this.onMaxAutoLevelUpdated(),this.codecTiers=null,this.audioTracksByGroup=null},t.onMaxAutoLevelUpdated=function(){this.firstSelection=-1,this.nextAutoLevelKey=""},t.onFragLoading=function(e,t){var a,o=t.frag;this.ignoreFragment(o)||(o.bitrateTest||(this.fragCurrent=o,this.partCurrent=null!=(a=t.part)?a:null),this.clearTimer(),this.timer=self.setInterval(this._abandonRulesCheck,100))},t.onLevelSwitching=function(e,t){this.clearTimer()},t.onError=function(e,t){if(!t.fatal)switch(t.details){case P.BUFFER_ADD_CODEC_ERROR:case P.BUFFER_APPEND_ERROR:this.lastLoadedFragLevel=-1,this.firstSelection=-1;break;case P.FRAG_LOAD_TIMEOUT:var a=t.frag,o=this.fragCurrent,i=this.partCurrent;if(a&&o&&a.sn===o.sn&&a.level===o.level){var n=performance.now(),r=i?i.stats:a.stats,E=n-r.loading.start,_=r.loading.first?r.loading.first-r.loading.start:-1;if(r.loaded&&_>-1){var T=this.bwEstimator.getEstimateTTFB();this.bwEstimator.sample(E-Math.min(T,_),r.loaded)}else this.bwEstimator.sampleTTFB(E)}}},t.getTimeToLoadFrag=function(e,t,a,o){return e+a/t+(o?this.lastLevelLoadSec:0)},t.onLevelLoaded=function(e,t){var a=this.hls.config,o=t.stats.loading,i=o.end-o.start;p(i)&&(this.lastLevelLoadSec=i/1e3),t.details.live?this.bwEstimator.update(a.abrEwmaSlowLive,a.abrEwmaFastLive):this.bwEstimator.update(a.abrEwmaSlowVoD,a.abrEwmaFastVoD)},t.onFragLoaded=function(e,t){var a=t.frag,o=t.part,i=o?o.stats:a.stats;if(a.type===$t.MAIN&&this.bwEstimator.sampleTTFB(i.loading.first-i.loading.start),!this.ignoreFragment(a)){if(this.clearTimer(),a.level===this._nextAutoLevel&&(this._nextAutoLevel=-1),this.firstSelection=-1,this.hls.config.abrMaxWithRealBitrate){var n=o?o.duration:a.duration,r=this.hls.levels[a.level],E=(r.loaded?r.loaded.bytes:0)+i.loaded,_=(r.loaded?r.loaded.duration:0)+n;r.loaded={bytes:E,duration:_},r.realBitrate=Math.round(8*E/_)}if(a.bitrateTest){var T={stats:i,frag:a,part:o,id:a.type};this.onFragBuffered(f.FRAG_BUFFERED,T),a.bitrateTest=!1}else this.lastLoadedFragLevel=a.level}},t.onFragBuffered=function(e,t){var a=t.frag,o=t.part,i=null!=o&&o.stats.loaded?o.stats:a.stats;if(!i.aborted&&!this.ignoreFragment(a)){var n=i.parsing.end-i.loading.start-Math.min(i.loading.first-i.loading.start,this.bwEstimator.getEstimateTTFB());this.bwEstimator.sample(n,i.loaded),i.bwEstimate=this.getBwEstimate(),a.bitrateTest?this.bitrateTestDelay=n/1e3:this.bitrateTestDelay=0}},t.ignoreFragment=function(e){return e.type!==$t.MAIN||"initSegment"===e.sn},t.clearTimer=function(){this.timer>-1&&(self.clearInterval(this.timer),this.timer=-1)},t.getAutoLevelKey=function(){var e;return this.getBwEstimate()+"_"+(null==(e=this.hls.mainForwardBufferInfo)?void 0:e.len)},t.getNextABRAutoLevel=function(){var e=this.fragCurrent,t=this.partCurrent,a=this.hls,o=a.maxAutoLevel,i=a.config,n=a.minAutoLevel,r=a.media,E=t?t.duration:e?e.duration:0,_=r&&0!==r.playbackRate?Math.abs(r.playbackRate):1,T=this.getBwEstimate(),s=a.mainForwardBufferInfo,S=(s?s.len:0)/_,l=i.abrBandWidthFactor,I=i.abrBandWidthUpFactor;if(S){var A=this.findBestLevel(T,n,o,S,0,l,I);if(A>=0)return A}var u=E?Math.min(E,i.maxStarvationDelay):i.maxStarvationDelay;if(!S){var d=this.bitrateTestDelay;d&&(u=(E?Math.min(E,i.maxLoadingDelay):i.maxLoadingDelay)-d,U.info("[abr] bitrate test took "+Math.round(1e3*d)+"ms, set first fragment max fetchDuration to "+Math.round(1e3*u)+" ms"),l=I=1)}var c=this.findBestLevel(T,n,o,S,u,l,I);if(U.info("[abr] "+(S?"rebuffering expected":"buffer is empty")+", optimal quality level "+c),c>-1)return c;var O=a.levels[n],R=a.levels[a.loadLevel];return(null==O?void 0:O.bitrate)<(null==R?void 0:R.bitrate)?n:a.loadLevel},t.getBwEstimate=function(){return this.bwEstimator.canEstimate()?this.bwEstimator.getEstimate():this.hls.config.abrEwmaDefaultEstimate},t.findBestLevel=function(e,t,a,o,i,n,r){var E,_=this,T=o+i,s=this.lastLoadedFragLevel,S=-1===s?this.hls.firstLevel:s,l=this.fragCurrent,I=this.partCurrent,A=this.hls,u=A.levels,d=A.allAudioTracks,c=A.loadLevel,O=A.config;if(1===u.length)return 0;var R,N=u[S],m=!(null==N||null==(E=N.details)||!E.live),L=-1===c||-1===s,D="SDR",h=(null==N?void 0:N.frameRate)||0,C=O.audioPreference,f=O.videoPreference,B=this.audioTracksByGroup||(this.audioTracksByGroup=So(d));if(L){if(-1!==this.firstSelection)return this.firstSelection;var P=To(this.codecTiers||(this.codecTiers=lo(u,B,t,a)),D,e,C,f),g=P.codecSet,v=P.videoRanges,y=P.minFramerate,W=P.minBitrate,M=P.preferHDR;R=g,D=M?v[v.length-1]:v[0],h=y,e=Math.max(e,W),U.log("[abr] picked start tier "+JSON.stringify(P))}else R=null==N?void 0:N.codecSet,D=null==N?void 0:N.videoRange;for(var b,G=I?I.duration:l?l.duration:0,k=this.bwEstimator.getEstimateTTFB()/1e3,F=[],V=function(){var t,E=u[H],l=H>S;if(!E)return 0;if(O.useMediaCapabilities&&!E.supportedResult&&!E.supportedPromise){var A=navigator.mediaCapabilities;"function"==typeof(null==A?void 0:A.decodingInfo)&&io(E,B,D,h,e,C)?(E.supportedPromise=no(E,B,A),E.supportedPromise.then((function(e){E.supportedResult=e;var t=_.hls.levels,a=t.indexOf(E);e.error?U.warn('[abr] MediaCapabilities decodingInfo error: "'+e.error+'" for level '+a+" "+JSON.stringify(e)):e.supported||(U.warn("[abr] Unsupported MediaCapabilities decodingInfo result for level "+a+" "+JSON.stringify(e)),a>-1&&t.length>1&&(U.log("[abr] Removing unsupported level "+a),_.hls.removeLevel(a)))}))):E.supportedResult=ao}if(R&&E.codecSet!==R||D&&E.videoRange!==D||l&&h>E.frameRate||!l&&h>0&&h<E.frameRate||E.supportedResult&&(null==(t=E.supportedResult.decodingInfoResults)||!t[0].smooth))return F.push(H),0;var d,f=E.details,P=(I?null==f?void 0:f.partTarget:null==f?void 0:f.averagetargetduration)||G;d=l?r*e:n*e;var g=G&&o>=2*G&&0===i?u[H].averageBitrate:u[H].maxBitrate,v=_.getTimeToLoadFrag(k,d,g*P,void 0===f);if(d>=g&&(H===s||0===E.loadError&&0===E.fragmentError)&&(v<=k||!p(v)||m&&!_.bitrateTestDelay||v<T)){var y=_.forcedAutoLevel;return H===c||-1!==y&&y===c||(F.length&&U.trace("[abr] Skipped level(s) "+F.join(",")+" of "+a+' max with CODECS and VIDEO-RANGE:"'+u[F[0]].codecs+'" '+u[F[0]].videoRange+'; not compatible with "'+N.codecs+'" '+D),U.info("[abr] switch candidate:"+S+"->"+H+" adjustedbw("+Math.round(d)+")-bitrate="+Math.round(d-g)+" ttfb:"+k.toFixed(1)+" avgDuration:"+P.toFixed(1)+" maxFetchDuration:"+T.toFixed(1)+" fetchDuration:"+v.toFixed(1)+" firstSelection:"+L+" codecSet:"+R+" videoRange:"+D+" hls.loadLevel:"+c)),L&&(_.firstSelection=H),{v:H}}},H=a;H>=t;H--)if(0!==(b=V())&&b)return b.v;return-1},E(e,[{key:"firstAutoLevel",get:function(){var e=this.hls,t=e.maxAutoLevel,a=e.minAutoLevel,o=this.getBwEstimate(),i=this.hls.config.maxStarvationDelay,n=this.findBestLevel(o,a,t,0,i,1,1);if(n>-1)return n;var r=this.hls.firstLevel,E=Math.min(Math.max(r,a),t);return U.warn("[abr] Could not find best starting auto level. Defaulting to first in playlist "+r+" clamped to "+E),E}},{key:"forcedAutoLevel",get:function(){return this.nextAutoLevelKey?-1:this._nextAutoLevel}},{key:"nextAutoLevel",get:function(){var e=this.forcedAutoLevel,t=this.bwEstimator.canEstimate(),a=this.lastLoadedFragLevel>-1;if(!(-1===e||t&&a&&this.nextAutoLevelKey!==this.getAutoLevelKey()))return e;var o=t&&a?this.getNextABRAutoLevel():this.firstAutoLevel;if(-1!==e){var i=this.hls.levels;if(i.length>Math.max(e,o)&&i[e].loadError<=i[o].loadError)return e}return this._nextAutoLevel=o,this.nextAutoLevelKey=this.getAutoLevelKey(),o},set:function(e){var t=this.hls,a=t.maxAutoLevel,o=t.minAutoLevel,i=Math.min(Math.max(e,o),a);this._nextAutoLevel!==i&&(this.nextAutoLevelKey="",this._nextAutoLevel=i)}}]),e})(),mo=(function(){function e(){this._boundTick=void 0,this._tickTimer=null,this._tickInterval=null,this._tickCallCount=0,this._boundTick=this.tick.bind(this)}var t=e.prototype;return t.destroy=function(){this.onHandlerDestroying(),this.onHandlerDestroyed()},t.onHandlerDestroying=function(){this.clearNextTick(),this.clearInterval()},t.onHandlerDestroyed=function(){},t.hasInterval=function(){return!!this._tickInterval},t.hasNextTick=function(){return!!this._tickTimer},t.setInterval=function(e){return!this._tickInterval&&(this._tickCallCount=0,this._tickInterval=self.setInterval(this._boundTick,e),!0)},t.clearInterval=function(){return!!this._tickInterval&&(self.clearInterval(this._tickInterval),this._tickInterval=null,!0)},t.clearNextTick=function(){return!!this._tickTimer&&(self.clearTimeout(this._tickTimer),this._tickTimer=null,!0)},t.tick=function(){this._tickCallCount++,1===this._tickCallCount&&(this.doTick(),this._tickCallCount>1&&this.tickImmediate(),this._tickCallCount=0)},t.tickImmediate=function(){this.clearNextTick(),this._tickTimer=self.setTimeout(this._boundTick,0)},t.doTick=function(){},e})(),Lo={NOT_LOADED:"NOT_LOADED",APPENDING:"APPENDING",PARTIAL:"PARTIAL",OK:"OK"},Do=(function(){function e(e){this.activePartLists=Object.create(null),this.endListFragments=Object.create(null),this.fragments=Object.create(null),this.timeRanges=Object.create(null),this.bufferPadding=.2,this.hls=void 0,this.hasGaps=!1,this.hls=e,this._registerListeners()}var t=e.prototype;return t._registerListeners=function(){var e=this.hls;e.on(f.BUFFER_APPENDED,this.onBufferAppended,this),e.on(f.FRAG_BUFFERED,this.onFragBuffered,this),e.on(f.FRAG_LOADED,this.onFragLoaded,this)},t._unregisterListeners=function(){var e=this.hls;e.off(f.BUFFER_APPENDED,this.onBufferAppended,this),e.off(f.FRAG_BUFFERED,this.onFragBuffered,this),e.off(f.FRAG_LOADED,this.onFragLoaded,this)},t.destroy=function(){this._unregisterListeners(),this.fragments=this.activePartLists=this.endListFragments=this.timeRanges=null},t.getAppendedFrag=function(e,t){var a=this.activePartLists[t];if(a)for(var o=a.length;o--;){var i=a[o];if(!i)break;var n=i.end;if(i.start<=e&&null!==n&&e<=n)return i}return this.getBufferedFrag(e,t)},t.getBufferedFrag=function(e,t){for(var a=this.fragments,o=Object.keys(a),i=o.length;i--;){var n=a[o[i]];if((null==n?void 0:n.body.type)===t&&n.buffered){var r=n.body;if(r.start<=e&&e<=r.end)return r}}return null},t.detectEvictedFragments=function(e,t,a,o){var i=this;this.timeRanges&&(this.timeRanges[e]=t);var n=(null==o?void 0:o.fragment.sn)||-1;Object.keys(this.fragments).forEach((function(o){var r=i.fragments[o];if(r&&!(n>=r.body.sn))if(r.buffered||r.loaded){var E=r.range[e];E&&E.time.some((function(e){var a=!i.isTimeBuffered(e.startPTS,e.endPTS,t);return a&&i.removeFragment(r.body),a}))}else r.body.type===a&&i.removeFragment(r.body)}))},t.detectPartialFragments=function(e){var t=this,a=this.timeRanges,o=e.frag,i=e.part;if(a&&"initSegment"!==o.sn){var n=ho(o),r=this.fragments[n];if(!(!r||r.buffered&&o.gap)){var E=!o.relurl;Object.keys(a).forEach((function(e){var n=o.elementaryStreams[e];if(n){var _=a[e],T=E||!0===n.partial;r.range[e]=t.getBufferedTimes(o,i,T,_)}})),r.loaded=null,Object.keys(r.range).length?(r.buffered=!0,(r.body.endList=o.endList||r.body.endList)&&(this.endListFragments[r.body.type]=r),po(r)||this.removeParts(o.sn-1,o.type)):this.removeFragment(r.body)}}},t.removeParts=function(e,t){var a=this.activePartLists[t];a&&(this.activePartLists[t]=a.filter((function(t){return t.fragment.sn>=e})))},t.fragBuffered=function(e,t){var a=ho(e),o=this.fragments[a];!o&&t&&(o=this.fragments[a]={body:e,appendedPTS:null,loaded:null,buffered:!1,range:Object.create(null)},e.gap&&(this.hasGaps=!0)),o&&(o.loaded=null,o.buffered=!0)},t.getBufferedTimes=function(e,t,a,o){for(var i={time:[],partial:a},n=e.start,r=e.end,E=e.minEndPTS||r,_=e.maxStartPTS||n,T=0;T<o.length;T++){var s=o.start(T)-this.bufferPadding,S=o.end(T)+this.bufferPadding;if(_>=s&&E<=S){i.time.push({startPTS:Math.max(n,o.start(T)),endPTS:Math.min(r,o.end(T))});break}if(n<S&&r>s){var l=Math.max(n,o.start(T)),I=Math.min(r,o.end(T));I>l&&(i.partial=!0,i.time.push({startPTS:l,endPTS:I}))}else if(r<=s)break}return i},t.getPartialFragment=function(e){var t,a,o,i=null,n=0,r=this.bufferPadding,E=this.fragments;return Object.keys(E).forEach((function(_){var T=E[_];T&&po(T)&&(a=T.body.start-r,o=T.body.end+r,e>=a&&e<=o&&(t=Math.min(e-a,o-e),n<=t&&(i=T.body,n=t)))})),i},t.isEndListAppended=function(e){var t=this.endListFragments[e];return void 0!==t&&(t.buffered||po(t))},t.getState=function(e){var t=ho(e),a=this.fragments[t];return a?a.buffered?po(a)?Lo.PARTIAL:Lo.OK:Lo.APPENDING:Lo.NOT_LOADED},t.isTimeBuffered=function(e,t,a){for(var o,i,n=0;n<a.length;n++){if(o=a.start(n)-this.bufferPadding,i=a.end(n)+this.bufferPadding,e>=o&&t<=i)return!0;if(t<=o)return!1}return!1},t.onFragLoaded=function(e,t){var a=t.frag,o=t.part;if("initSegment"!==a.sn&&!a.bitrateTest){var i=o?null:t,n=ho(a);this.fragments[n]={body:a,appendedPTS:null,loaded:i,buffered:!1,range:Object.create(null)}}},t.onBufferAppended=function(e,t){var a=this,o=t.frag,i=t.part,n=t.timeRanges;if("initSegment"!==o.sn){var r=o.type;if(i){var E=this.activePartLists[r];E||(this.activePartLists[r]=E=[]),E.push(i)}this.timeRanges=n,Object.keys(n).forEach((function(e){var t=n[e];a.detectEvictedFragments(e,t,r,i)}))}},t.onFragBuffered=function(e,t){this.detectPartialFragments(t)},t.hasFragment=function(e){var t=ho(e);return!!this.fragments[t]},t.hasParts=function(e){var t;return!(null==(t=this.activePartLists[e])||!t.length)},t.removeFragmentsInRange=function(e,t,a,o,i){var n=this;o&&!this.hasGaps||Object.keys(this.fragments).forEach((function(r){var E=n.fragments[r];if(E){var _=E.body;_.type!==a||o&&!_.gap||_.start<t&&_.end>e&&(E.buffered||i)&&n.removeFragment(_)}}))},t.removeFragment=function(e){var t=ho(e);e.stats.loaded=0,e.clearElementaryStreamInfo();var a=this.activePartLists[e.type];if(a){var o=e.sn;this.activePartLists[e.type]=a.filter((function(e){return e.fragment.sn!==o}))}delete this.fragments[t],e.endList&&delete this.endListFragments[e.type]},t.removeAllFragments=function(){this.fragments=Object.create(null),this.endListFragments=Object.create(null),this.activePartLists=Object.create(null),this.hasGaps=!1},e})();function po(e){var t,a,o;return e.buffered&&(e.body.gap||(null==(t=e.range.video)?void 0:t.partial)||(null==(a=e.range.audio)?void 0:a.partial)||(null==(o=e.range.audiovideo)?void 0:o.partial))}function ho(e){return e.type+"_"+e.level+"_"+e.sn}var Co={length:0,start:function(){return 0},end:function(){return 0}},fo=(function(){function e(){}return e.isBuffered=function(t,a){try{if(t)for(var o=e.getBuffered(t),i=0;i<o.length;i++)if(a>=o.start(i)&&a<=o.end(i))return!0}catch(e){}return!1},e.bufferInfo=function(t,a,o){try{if(t){var i,n=e.getBuffered(t),r=[];for(i=0;i<n.length;i++)r.push({start:n.start(i),end:n.end(i)});return this.bufferedInfo(r,a,o)}}catch(e){}return{len:0,start:a,end:a,nextStart:void 0}},e.bufferedInfo=function(e,t,a){t=Math.max(0,t),e.sort((function(e,t){var a=e.start-t.start;return a||t.end-e.end}));var o=[];if(a)for(var i=0;i<e.length;i++){var n=o.length;if(n){var r=o[n-1].end;e[i].start-r<a?e[i].end>r&&(o[n-1].end=e[i].end):o.push(e[i])}else o.push(e[i])}else o=e;for(var E,_=0,T=t,s=t,S=0;S<o.length;S++){var l=o[S].start,I=o[S].end;if(t+a>=l&&t<I)T=l,_=(s=I)-t;else if(t+a<l){E=l;break}}return{len:_,start:T||0,end:s||0,nextStart:E}},e.getBuffered=function(e){try{return e.buffered}catch(e){return U.log("failed to get media.buffered",e),Co}},e})(),Bo=function(e,t,a,o,i,n){void 0===o&&(o=0),void 0===i&&(i=-1),void 0===n&&(n=!1),this.level=void 0,this.sn=void 0,this.part=void 0,this.id=void 0,this.size=void 0,this.partial=void 0,this.transmuxing=Po(),this.buffering={audio:Po(),video:Po(),audiovideo:Po()},this.level=e,this.sn=t,this.id=a,this.size=o,this.part=i,this.partial=n};function Po(){return{start:0,executeStart:0,executeEnd:0,end:0}}function go(e,t){for(var a=0,o=e.length;a<o;a++){var i;if((null==(i=e[a])?void 0:i.cc)===t)return e[a]}return null}function vo(e,t,a){return!(!t||!(a.endCC>a.startCC||e&&e.cc<a.startCC))}function yo(e,t){var a=e.fragments,o=t.fragments;if(o.length&&a.length){var i=go(a,o[0].cc);if(i&&(!i||i.startPTS))return i;U.log("No frag in previous level to align on")}else U.log("No fragments to align")}function Wo(e,t){if(e){var a=e.start+t;e.start=e.startPTS=a,e.endPTS=a+e.duration}}function Mo(e,t){for(var a=t.fragments,o=0,i=a.length;o<i;o++)Wo(a[o],e);t.fragmentHint&&Wo(t.fragmentHint,e),t.alignedSliding=!0}function bo(e,t,a){t&&(Uo(e,a,t),!a.alignedSliding&&t&&Go(a,t),a.alignedSliding||!t||a.skippedSegments||va(t,a))}function Uo(e,t,a){if(vo(e,a,t)){var o=yo(a,t);o&&p(o.start)&&(U.log("Adjusting PTS using last level due to CC increase within current level "+t.url),Mo(o.start,t))}}function Go(e,t){if(e.hasProgramDateTime&&t.hasProgramDateTime){var a=e.fragments,o=t.fragments;if(a.length&&o.length){var i,n,r=Math.min(t.endCC,e.endCC);t.startCC<r&&e.startCC<r&&(i=go(o,r),n=go(a,r)),i&&n||(n=go(a,(i=o[Math.floor(o.length/2)]).cc)||a[Math.floor(a.length/2)]);var E=i.programDateTime,_=n.programDateTime;E&&_&&Mo((_-E)/1e3-(n.start-i.start),e)}}}var ko=Math.pow(2,17),Fo=(function(){function e(e){this.config=void 0,this.loader=null,this.partLoadTimeout=-1,this.config=e}var t=e.prototype;return t.destroy=function(){this.loader&&(this.loader.destroy(),this.loader=null)},t.abort=function(){this.loader&&this.loader.abort()},t.load=function(e,t){var a=this,i=e.url;if(!i)return Promise.reject(new wo({type:B.NETWORK_ERROR,details:P.FRAG_LOAD_ERROR,fatal:!1,frag:e,error:new Error("Fragment does not have a "+(i?"part list":"url")),networkDetails:null}));this.abort();var n=this.config,r=n.fLoader,E=n.loader;return new Promise((function(_,T){if(a.loader&&a.loader.destroy(),e.gap){if(e.tagList.some((function(e){return"GAP"===e[0]})))return void T(Ho(e));e.gap=!1}var s=a.loader=e.loader=r?new r(n):new E(n),S=Vo(e),l=Ha(n.fragLoadPolicy.default),I={loadPolicy:l,timeout:l.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:"initSegment"===e.sn?1/0:ko};e.stats=s.stats,s.load(S,I,{onSuccess:function(t,o,i,n){a.resetLoader(e,s);var r=t.data;i.resetIV&&e.decryptdata&&(e.decryptdata.iv=new Uint8Array(r.slice(0,16)),r=r.slice(16)),_({frag:e,part:null,payload:r,networkDetails:n})},onError:function(t,n,r,E){a.resetLoader(e,s),T(new wo({type:B.NETWORK_ERROR,details:P.FRAG_LOAD_ERROR,fatal:!1,frag:e,response:o({url:i,data:void 0},t),error:new Error("HTTP Error "+t.code+" "+t.text),networkDetails:r,stats:E}))},onAbort:function(t,o,i){a.resetLoader(e,s),T(new wo({type:B.NETWORK_ERROR,details:P.INTERNAL_ABORTED,fatal:!1,frag:e,error:new Error("Aborted"),networkDetails:i,stats:t}))},onTimeout:function(t,o,i){a.resetLoader(e,s),T(new wo({type:B.NETWORK_ERROR,details:P.FRAG_LOAD_TIMEOUT,fatal:!1,frag:e,error:new Error("Timeout after "+I.timeout+"ms"),networkDetails:i,stats:t}))},onProgress:function(a,o,i,n){t&&t({frag:e,part:null,payload:i,networkDetails:n})}})}))},t.loadPart=function(e,t,a){var i=this;this.abort();var n=this.config,r=n.fLoader,E=n.loader;return new Promise((function(_,T){if(i.loader&&i.loader.destroy(),e.gap||t.gap)T(Ho(e,t));else{var s=i.loader=e.loader=r?new r(n):new E(n),S=Vo(e,t),l=Ha(n.fragLoadPolicy.default),I={loadPolicy:l,timeout:l.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:ko};t.stats=s.stats,s.load(S,I,{onSuccess:function(o,n,r,E){i.resetLoader(e,s),i.updateStatsFromPart(e,t);var T={frag:e,part:t,payload:o.data,networkDetails:E};a(T),_(T)},onError:function(a,n,r,E){i.resetLoader(e,s),T(new wo({type:B.NETWORK_ERROR,details:P.FRAG_LOAD_ERROR,fatal:!1,frag:e,part:t,response:o({url:S.url,data:void 0},a),error:new Error("HTTP Error "+a.code+" "+a.text),networkDetails:r,stats:E}))},onAbort:function(a,o,n){e.stats.aborted=t.stats.aborted,i.resetLoader(e,s),T(new wo({type:B.NETWORK_ERROR,details:P.INTERNAL_ABORTED,fatal:!1,frag:e,part:t,error:new Error("Aborted"),networkDetails:n,stats:a}))},onTimeout:function(a,o,n){i.resetLoader(e,s),T(new wo({type:B.NETWORK_ERROR,details:P.FRAG_LOAD_TIMEOUT,fatal:!1,frag:e,part:t,error:new Error("Timeout after "+I.timeout+"ms"),networkDetails:n,stats:a}))}})}}))},t.updateStatsFromPart=function(e,t){var a=e.stats,o=t.stats,i=o.total;if(a.loaded+=o.loaded,i){var n=Math.round(e.duration/t.duration),r=Math.min(Math.round(a.loaded/i),n),E=(n-r)*Math.round(a.loaded/r);a.total=a.loaded+E}else a.total=Math.max(a.loaded,a.total);var _=a.loading,T=o.loading;_.start?_.first+=T.first-T.start:(_.start=T.start,_.first=T.first),_.end=T.end},t.resetLoader=function(e,t){e.loader=null,this.loader===t&&(self.clearTimeout(this.partLoadTimeout),this.loader=null),t.destroy()},e})();function Vo(e,t){void 0===t&&(t=null);var a=t||e,o={frag:e,part:t,responseType:"arraybuffer",url:a.url,headers:{},rangeStart:0,rangeEnd:0},i=a.byteRangeStartOffset,n=a.byteRangeEndOffset;if(p(i)&&p(n)){var r,E=i,_=n;if("initSegment"===e.sn&&"AES-128"===(null==(r=e.decryptdata)?void 0:r.method)){var T=n-i;T%16&&(_=n+(16-T%16)),0!==i&&(o.resetIV=!0,E=i-16)}o.rangeStart=E,o.rangeEnd=_}return o}function Ho(e,t){var a=new Error("GAP "+(e.gap?"tag":"attribute")+" found"),o={type:B.MEDIA_ERROR,details:P.FRAG_GAP,fatal:!1,frag:e,error:a,networkDetails:null};return t&&(o.part=t),(t||e).stats.aborted=!0,new wo(o)}var wo=(function(e){function t(t){var a;return(a=e.call(this,t.error.message)||this).data=void 0,a.data=t,a}return s(t,e),t})(d(Error)),Yo=(function(){function e(e,t){this.subtle=void 0,this.aesIV=void 0,this.subtle=e,this.aesIV=t}return e.prototype.decrypt=function(e,t){return this.subtle.decrypt({name:"AES-CBC",iv:this.aesIV},t,e)},e})(),zo=(function(){function e(e,t){this.subtle=void 0,this.key=void 0,this.subtle=e,this.key=t}return e.prototype.expandKey=function(){return this.subtle.importKey("raw",this.key,{name:"AES-CBC"},!1,["encrypt","decrypt"])},e})();function Ko(e){var t=e.byteLength,a=t&&new DataView(e.buffer).getUint8(t-1);return a?Ie(e,0,t-a):e}var xo=(function(){function e(){this.rcon=[0,1,2,4,8,16,32,64,128,27,54],this.subMix=[new Uint32Array(256),new Uint32Array(256),new Uint32Array(256),new Uint32Array(256)],this.invSubMix=[new Uint32Array(256),new Uint32Array(256),new Uint32Array(256),new Uint32Array(256)],this.sBox=new Uint32Array(256),this.invSBox=new Uint32Array(256),this.key=new Uint32Array(0),this.ksRows=0,this.keySize=0,this.keySchedule=void 0,this.invKeySchedule=void 0,this.initTable()}var t=e.prototype;return t.uint8ArrayToUint32Array_=function(e){for(var t=new DataView(e),a=new Uint32Array(4),o=0;o<4;o++)a[o]=t.getUint32(4*o);return a},t.initTable=function(){var e=this.sBox,t=this.invSBox,a=this.subMix,o=a[0],i=a[1],n=a[2],r=a[3],E=this.invSubMix,_=E[0],T=E[1],s=E[2],S=E[3],l=new Uint32Array(256),I=0,A=0,u=0;for(u=0;u<256;u++)l[u]=u<128?u<<1:u<<1^283;for(u=0;u<256;u++){var d=A^A<<1^A<<2^A<<3^A<<4;d=d>>>8^255&d^99,e[I]=d,t[d]=I;var c=l[I],O=l[c],R=l[O],N=257*l[d]^16843008*d;o[I]=N<<24|N>>>8,i[I]=N<<16|N>>>16,n[I]=N<<8|N>>>24,r[I]=N,N=16843009*R^65537*O^257*c^16843008*I,_[d]=N<<24|N>>>8,T[d]=N<<16|N>>>16,s[d]=N<<8|N>>>24,S[d]=N,I?(I=c^l[l[l[R^c]]],A^=l[l[A]]):I=A=1}},t.expandKey=function(e){for(var t=this.uint8ArrayToUint32Array_(e),a=!0,o=0;o<t.length&&a;)a=t[o]===this.key[o],o++;if(!a){this.key=t;var i=this.keySize=t.length;if(4!==i&&6!==i&&8!==i)throw new Error("Invalid aes key size="+i);var n,r,E,_,T=this.ksRows=4*(i+6+1),s=this.keySchedule=new Uint32Array(T),S=this.invKeySchedule=new Uint32Array(T),l=this.sBox,I=this.rcon,A=this.invSubMix,u=A[0],d=A[1],c=A[2],O=A[3];for(n=0;n<T;n++)n<i?E=s[n]=t[n]:(_=E,n%i==0?(_=l[(_=_<<8|_>>>24)>>>24]<<24|l[_>>>16&255]<<16|l[_>>>8&255]<<8|l[255&_],_^=I[n/i|0]<<24):i>6&&n%i==4&&(_=l[_>>>24]<<24|l[_>>>16&255]<<16|l[_>>>8&255]<<8|l[255&_]),s[n]=E=(s[n-i]^_)>>>0);for(r=0;r<T;r++)n=T-r,_=3&r?s[n]:s[n-4],S[r]=r<4||n<=4?_:u[l[_>>>24]]^d[l[_>>>16&255]]^c[l[_>>>8&255]]^O[l[255&_]],S[r]=S[r]>>>0}},t.networkToHostOrderSwap=function(e){return e<<24|(65280&e)<<8|(16711680&e)>>8|e>>>24},t.decrypt=function(e,t,a){for(var o,i,n,r,E,_,T,s,S,l,I,A,u,d,c=this.keySize+6,O=this.invKeySchedule,R=this.invSBox,N=this.invSubMix,m=N[0],L=N[1],D=N[2],p=N[3],h=this.uint8ArrayToUint32Array_(a),C=h[0],f=h[1],B=h[2],P=h[3],g=new Int32Array(e),v=new Int32Array(g.length),y=this.networkToHostOrderSwap;t<g.length;){for(S=y(g[t]),l=y(g[t+1]),I=y(g[t+2]),A=y(g[t+3]),E=S^O[0],_=A^O[1],T=I^O[2],s=l^O[3],u=4,d=1;d<c;d++)o=m[E>>>24]^L[_>>16&255]^D[T>>8&255]^p[255&s]^O[u],i=m[_>>>24]^L[T>>16&255]^D[s>>8&255]^p[255&E]^O[u+1],n=m[T>>>24]^L[s>>16&255]^D[E>>8&255]^p[255&_]^O[u+2],r=m[s>>>24]^L[E>>16&255]^D[_>>8&255]^p[255&T]^O[u+3],E=o,_=i,T=n,s=r,u+=4;o=R[E>>>24]<<24^R[_>>16&255]<<16^R[T>>8&255]<<8^R[255&s]^O[u],i=R[_>>>24]<<24^R[T>>16&255]<<16^R[s>>8&255]<<8^R[255&E]^O[u+1],n=R[T>>>24]<<24^R[s>>16&255]<<16^R[E>>8&255]<<8^R[255&_]^O[u+2],r=R[s>>>24]<<24^R[E>>16&255]<<16^R[_>>8&255]<<8^R[255&T]^O[u+3],v[t]=y(o^C),v[t+1]=y(r^f),v[t+2]=y(n^B),v[t+3]=y(i^P),C=S,f=l,B=I,P=A,t+=4}return v.buffer},e})(),jo=16,Qo=(function(){function e(e,t){var a=(void 0===t?{}:t).removePKCS7Padding,o=void 0===a||a;if(this.logEnabled=!0,this.removePKCS7Padding=void 0,this.subtle=null,this.softwareDecrypter=null,this.key=null,this.fastAesKey=null,this.remainderData=null,this.currentIV=null,this.currentResult=null,this.useSoftware=void 0,this.useSoftware=e.enableSoftwareAES,this.removePKCS7Padding=o,o)try{var i=self.crypto;i&&(this.subtle=i.subtle||i.webkitSubtle)}catch(e){}null===this.subtle&&(this.useSoftware=!0)}var t=e.prototype;return t.destroy=function(){this.subtle=null,this.softwareDecrypter=null,this.key=null,this.fastAesKey=null,this.remainderData=null,this.currentIV=null,this.currentResult=null},t.isSync=function(){return this.useSoftware},t.flush=function(){var e=this.currentResult,t=this.remainderData;if(!e||t)return this.reset(),null;var a=new Uint8Array(e);return this.reset(),this.removePKCS7Padding?Ko(a):a},t.reset=function(){this.currentResult=null,this.currentIV=null,this.remainderData=null,this.softwareDecrypter&&(this.softwareDecrypter=null)},t.decrypt=function(e,t,a){var o=this;return this.useSoftware?new Promise((function(i,n){o.softwareDecrypt(new Uint8Array(e),t,a);var r=o.flush();r?i(r.buffer):n(new Error("[softwareDecrypt] Failed to decrypt data"))})):this.webCryptoDecrypt(new Uint8Array(e),t,a)},t.softwareDecrypt=function(e,t,a){var o=this.currentIV,i=this.currentResult,n=this.remainderData;this.logOnce("JS AES decrypt"),n&&(e=at(n,e),this.remainderData=null);var r=this.getValidChunk(e);if(!r.length)return null;o&&(a=o);var E=this.softwareDecrypter;E||(E=this.softwareDecrypter=new xo),E.expandKey(t);var _=i;return this.currentResult=E.decrypt(r.buffer,0,a),this.currentIV=Ie(r,-16).buffer,_||null},t.webCryptoDecrypt=function(e,t,a){var o=this,i=this.subtle;return this.key===t&&this.fastAesKey||(this.key=t,this.fastAesKey=new zo(i,t)),this.fastAesKey.expandKey().then((function(t){return i?(o.logOnce("WebCrypto AES decrypt"),new Yo(i,new Uint8Array(a)).decrypt(e.buffer,t)):Promise.reject(new Error("web crypto not initialized"))})).catch((function(i){return U.warn("[decrypter]: WebCrypto Error, disable WebCrypto API, "+i.name+": "+i.message),o.onWebCryptoError(e,t,a)}))},t.onWebCryptoError=function(e,t,a){this.useSoftware=!0,this.logEnabled=!0,this.softwareDecrypt(e,t,a);var o=this.flush();if(o)return o.buffer;throw new Error("WebCrypto and softwareDecrypt: failed to decrypt data")},t.getValidChunk=function(e){var t=e,a=e.length-e.length%jo;return a!==e.length&&(t=Ie(e,0,a),this.remainderData=Ie(e,a)),t},t.logOnce=function(e){this.logEnabled&&(U.log("[decrypter]: "+e),this.logEnabled=!1)},e})(),Xo={toString:function(e){for(var t="",a=e.length,o=0;o<a;o++)t+="["+e.start(o).toFixed(3)+"-"+e.end(o).toFixed(3)+"]";return t}},$o={STOPPED:"STOPPED",IDLE:"IDLE",KEY_LOADING:"KEY_LOADING",FRAG_LOADING:"FRAG_LOADING",FRAG_LOADING_WAITING_RETRY:"FRAG_LOADING_WAITING_RETRY",WAITING_TRACK:"WAITING_TRACK",PARSING:"PARSING",PARSED:"PARSED",ENDED:"ENDED",ERROR:"ERROR",WAITING_INIT_PTS:"WAITING_INIT_PTS",WAITING_LEVEL:"WAITING_LEVEL"},qo=(function(e){function t(t,a,o,i,n){var r;return(r=e.call(this)||this).hls=void 0,r.fragPrevious=null,r.fragCurrent=null,r.fragmentTracker=void 0,r.transmuxer=null,r._state=$o.STOPPED,r.playlistType=void 0,r.media=null,r.mediaBuffer=null,r.config=void 0,r.bitrateTest=!1,r.lastCurrentTime=0,r.nextLoadPosition=0,r.startPosition=0,r.startTimeOffset=null,r.loadedmetadata=!1,r.retryDate=0,r.levels=null,r.fragmentLoader=void 0,r.keyLoader=void 0,r.levelLastLoaded=null,r.startFragRequested=!1,r.decrypter=void 0,r.initPTS=[],r.onvseeking=null,r.onvended=null,r.logPrefix="",r.log=void 0,r.warn=void 0,r.playlistType=n,r.logPrefix=i,r.log=U.log.bind(U,i+":"),r.warn=U.warn.bind(U,i+":"),r.hls=t,r.fragmentLoader=new Fo(t.config),r.keyLoader=o,r.fragmentTracker=a,r.config=t.config,r.decrypter=new Qo(t.config),t.on(f.MANIFEST_LOADED,r.onManifestLoaded,c(r)),r}s(t,e);var a=t.prototype;return a.doTick=function(){this.onTickEnd()},a.onTickEnd=function(){},a.startLoad=function(e){},a.stopLoad=function(){this.fragmentLoader.abort(),this.keyLoader.abort(this.playlistType);var e=this.fragCurrent;null!=e&&e.loader&&(e.abortRequests(),this.fragmentTracker.removeFragment(e)),this.resetTransmuxer(),this.fragCurrent=null,this.fragPrevious=null,this.clearInterval(),this.clearNextTick(),this.state=$o.STOPPED},a._streamEnded=function(e,t){if(t.live||e.nextStart||!e.end||!this.media)return!1;var a=t.partList;if(null!=a&&a.length){var o=a[a.length-1];return fo.isBuffered(this.media,o.start+o.duration/2)}var i=t.fragments[t.fragments.length-1].type;return this.fragmentTracker.isEndListAppended(i)},a.getLevelDetails=function(){var e;if(this.levels&&null!==this.levelLastLoaded)return null==(e=this.levelLastLoaded)?void 0:e.details},a.onMediaAttached=function(e,t){var a=this.media=this.mediaBuffer=t.media;this.onvseeking=this.onMediaSeeking.bind(this),this.onvended=this.onMediaEnded.bind(this),a.addEventListener("seeking",this.onvseeking),a.addEventListener("ended",this.onvended);var o=this.config;this.levels&&o.autoStartLoad&&this.state===$o.STOPPED&&this.startLoad(o.startPosition)},a.onMediaDetaching=function(){var e=this.media;null!=e&&e.ended&&(this.log("MSE detaching and video ended, reset startPosition"),this.startPosition=this.lastCurrentTime=0),e&&this.onvseeking&&this.onvended&&(e.removeEventListener("seeking",this.onvseeking),e.removeEventListener("ended",this.onvended),this.onvseeking=this.onvended=null),this.keyLoader&&this.keyLoader.detach(),this.media=this.mediaBuffer=null,this.loadedmetadata=!1,this.fragmentTracker.removeAllFragments(),this.stopLoad()},a.onMediaSeeking=function(){var e=this.config,t=this.fragCurrent,a=this.media,o=this.mediaBuffer,i=this.state,n=a?a.currentTime:0,r=fo.bufferInfo(o||a,n,e.maxBufferHole);if(this.log("media seeking to "+(p(n)?n.toFixed(3):n)+", state: "+i),this.state===$o.ENDED)this.resetLoadingState();else if(t){var E=e.maxFragLookUpTolerance,_=t.start-E,T=t.start+t.duration+E;if(!r.len||T<r.start||_>r.end){var s=n>T;(n<_||s)&&(s&&t.loader&&(this.log("seeking outside of buffer while fragment load in progress, cancel fragment load"),t.abortRequests(),this.resetLoadingState()),this.fragPrevious=null)}}a&&(this.fragmentTracker.removeFragmentsInRange(n,1/0,this.playlistType,!0),this.lastCurrentTime=n),this.loadedmetadata||r.len||(this.nextLoadPosition=this.startPosition=n),this.tickImmediate()},a.onMediaEnded=function(){this.startPosition=this.lastCurrentTime=0},a.onManifestLoaded=function(e,t){this.startTimeOffset=t.startTimeOffset,this.initPTS=[]},a.onHandlerDestroying=function(){this.hls.off(f.MANIFEST_LOADED,this.onManifestLoaded,this),this.stopLoad(),e.prototype.onHandlerDestroying.call(this),this.hls=null},a.onHandlerDestroyed=function(){this.state=$o.STOPPED,this.fragmentLoader&&this.fragmentLoader.destroy(),this.keyLoader&&this.keyLoader.destroy(),this.decrypter&&this.decrypter.destroy(),this.hls=this.log=this.warn=this.decrypter=this.keyLoader=this.fragmentLoader=this.fragmentTracker=null,e.prototype.onHandlerDestroyed.call(this)},a.loadFragment=function(e,t,a){this._loadFragForPlayback(e,t,a)},a._loadFragForPlayback=function(e,t,a){var o=this,i=function(t){if(o.fragContextChanged(e))return o.warn("Fragment "+e.sn+(t.part?" p: "+t.part.index:"")+" of level "+e.level+" was dropped during download."),void o.fragmentTracker.removeFragment(e);e.stats.chunkCount++,o._handleFragmentLoadProgress(t)};this._doFragLoad(e,t,a,i).then((function(t){if(t){var a=o.state;o.fragContextChanged(e)?(a===$o.FRAG_LOADING||!o.fragCurrent&&a===$o.PARSING)&&(o.fragmentTracker.removeFragment(e),o.state=$o.IDLE):("payload"in t&&(o.log("Loaded fragment "+e.sn+" of level "+e.level),o.hls.trigger(f.FRAG_LOADED,t)),o._handleFragmentLoadComplete(t))}})).catch((function(t){o.state!==$o.STOPPED&&o.state!==$o.ERROR&&(o.warn(t),o.resetFragmentLoading(e))}))},a.clearTrackerIfNeeded=function(e){var t,a=this.fragmentTracker;if(a.getState(e)===Lo.APPENDING){var o=e.type,i=this.getFwdBufferInfo(this.mediaBuffer,o),n=Math.max(e.duration,i?i.len:this.config.maxBufferLength);this.reduceMaxBufferLength(n)&&a.removeFragment(e)}else 0===(null==(t=this.mediaBuffer)?void 0:t.buffered.length)?a.removeAllFragments():a.hasParts(e.type)&&(a.detectPartialFragments({frag:e,part:null,stats:e.stats,id:e.type}),a.getState(e)===Lo.PARTIAL&&a.removeFragment(e))},a.checkLiveUpdate=function(e){if(e.updated&&!e.live){var t=e.fragments[e.fragments.length-1];this.fragmentTracker.detectPartialFragments({frag:t,part:null,stats:t.stats,id:t.type})}e.fragments[0]||(e.deltaUpdateFailed=!0)},a.flushMainBuffer=function(e,t,a){if(void 0===a&&(a=null),e-t){var o={startOffset:e,endOffset:t,type:a};this.hls.trigger(f.BUFFER_FLUSHING,o)}},a._loadInitSegment=function(e,t){var a=this;this._doFragLoad(e,t).then((function(t){if(!t||a.fragContextChanged(e)||!a.levels)throw new Error("init load aborted");return t})).then((function(t){var o=a.hls,i=t.payload,n=e.decryptdata;if(i&&i.byteLength>0&&null!=n&&n.key&&n.iv&&"AES-128"===n.method){var r=self.performance.now();return a.decrypter.decrypt(new Uint8Array(i),n.key.buffer,n.iv.buffer).catch((function(t){throw o.trigger(f.ERROR,{type:B.MEDIA_ERROR,details:P.FRAG_DECRYPT_ERROR,fatal:!1,error:t,reason:t.message,frag:e}),t})).then((function(i){var n=self.performance.now();return o.trigger(f.FRAG_DECRYPTED,{frag:e,payload:i,stats:{tstart:r,tdecrypt:n}}),t.payload=i,a.completeInitSegmentLoad(t)}))}return a.completeInitSegmentLoad(t)})).catch((function(t){a.state!==$o.STOPPED&&a.state!==$o.ERROR&&(a.warn(t),a.resetFragmentLoading(e))}))},a.completeInitSegmentLoad=function(e){if(!this.levels)throw new Error("init load aborted, missing levels");var t=e.frag.stats;this.state=$o.IDLE,e.frag.data=new Uint8Array(e.payload),t.parsing.start=t.buffering.start=self.performance.now(),t.parsing.end=t.buffering.end=self.performance.now(),this.tick()},a.fragContextChanged=function(e){var t=this.fragCurrent;return!e||!t||e.sn!==t.sn||e.level!==t.level},a.fragBufferedComplete=function(e,t){var a,o,i,n,r=this.mediaBuffer?this.mediaBuffer:this.media;if(this.log("Buffered "+e.type+" sn: "+e.sn+(t?" part: "+t.index:"")+" of "+(this.playlistType===$t.MAIN?"level":"track")+" "+e.level+" (frag:["+(null!=(a=e.startPTS)?a:NaN).toFixed(3)+"-"+(null!=(o=e.endPTS)?o:NaN).toFixed(3)+"] > buffer:"+(r?Xo.toString(fo.getBuffered(r)):"(detached)")+")"),"initSegment"!==e.sn){var E;if(e.type!==$t.SUBTITLE){var _=e.elementaryStreams;if(!Object.keys(_).some((function(e){return!!_[e]})))return void(this.state=$o.IDLE)}var T=null==(E=this.levels)?void 0:E[e.level];null!=T&&T.fragmentError&&(this.log("Resetting level fragment error count of "+T.fragmentError+" on frag buffered"),T.fragmentError=0)}this.state=$o.IDLE,r&&(!this.loadedmetadata&&e.type==$t.MAIN&&r.buffered.length&&(null==(i=this.fragCurrent)?void 0:i.sn)===(null==(n=this.fragPrevious)?void 0:n.sn)&&(this.loadedmetadata=!0,this.seekToStartPos()),this.tick())},a.seekToStartPos=function(){},a._handleFragmentLoadComplete=function(e){var t=this.transmuxer;if(t){var a=e.frag,o=e.part,i=e.partsLoaded,n=!i||0===i.length||i.some((function(e){return!e})),r=new Bo(a.level,a.sn,a.stats.chunkCount+1,0,o?o.index:-1,!n);t.flush(r)}},a._handleFragmentLoadProgress=function(e){},a._doFragLoad=function(e,t,a,o){var i,n=this;void 0===a&&(a=null);var r=null==t?void 0:t.details;if(!this.levels||!r)throw new Error("frag load aborted, missing level"+(r?"":" detail")+"s");var E=null;if(!e.encrypted||null!=(i=e.decryptdata)&&i.key?!e.encrypted&&r.encryptedFragments.length&&this.keyLoader.loadClear(e,r.encryptedFragments):(this.log("Loading key for "+e.sn+" of ["+r.startSN+"-"+r.endSN+"], "+("[stream-controller]"===this.logPrefix?"level":"track")+" "+e.level),this.state=$o.KEY_LOADING,this.fragCurrent=e,E=this.keyLoader.load(e).then((function(e){if(!n.fragContextChanged(e.frag))return n.hls.trigger(f.KEY_LOADED,e),n.state===$o.KEY_LOADING&&(n.state=$o.IDLE),e})),this.hls.trigger(f.KEY_LOADING,{frag:e}),null===this.fragCurrent&&(E=Promise.reject(new Error("frag load aborted, context changed in KEY_LOADING")))),a=Math.max(e.start,a||0),this.config.lowLatencyMode&&"initSegment"!==e.sn){var _=r.partList;if(_&&o){a>e.end&&r.fragmentHint&&(e=r.fragmentHint);var T=this.getNextPart(_,e,a);if(T>-1){var s,S=_[T];return this.log("Loading part sn: "+e.sn+" p: "+S.index+" cc: "+e.cc+" of playlist ["+r.startSN+"-"+r.endSN+"] parts [0-"+T+"-"+(_.length-1)+"] "+("[stream-controller]"===this.logPrefix?"level":"track")+": "+e.level+", target: "+parseFloat(a.toFixed(3))),this.nextLoadPosition=S.start+S.duration,this.state=$o.FRAG_LOADING,s=E?E.then((function(a){return!a||n.fragContextChanged(a.frag)?null:n.doFragPartsLoad(e,S,t,o)})).catch((function(e){return n.handleFragLoadError(e)})):this.doFragPartsLoad(e,S,t,o).catch((function(e){return n.handleFragLoadError(e)})),this.hls.trigger(f.FRAG_LOADING,{frag:e,part:S,targetBufferTime:a}),null===this.fragCurrent?Promise.reject(new Error("frag load aborted, context changed in FRAG_LOADING parts")):s}if(!e.url||this.loadedEndOfParts(_,a))return Promise.resolve(null)}}this.log("Loading fragment "+e.sn+" cc: "+e.cc+" "+(r?"of ["+r.startSN+"-"+r.endSN+"] ":"")+("[stream-controller]"===this.logPrefix?"level":"track")+": "+e.level+", target: "+parseFloat(a.toFixed(3))),p(e.sn)&&!this.bitrateTest&&(this.nextLoadPosition=e.start+e.duration),this.state=$o.FRAG_LOADING;var l,I=this.config.progressive;return l=I&&E?E.then((function(t){return!t||n.fragContextChanged(null==t?void 0:t.frag)?null:n.fragmentLoader.load(e,o)})).catch((function(e){return n.handleFragLoadError(e)})):Promise.all([this.fragmentLoader.load(e,I?o:void 0),E]).then((function(e){var t=e[0];return!I&&t&&o&&o(t),t})).catch((function(e){return n.handleFragLoadError(e)})),this.hls.trigger(f.FRAG_LOADING,{frag:e,targetBufferTime:a}),null===this.fragCurrent?Promise.reject(new Error("frag load aborted, context changed in FRAG_LOADING")):l},a.doFragPartsLoad=function(e,t,a,o){var i=this;return new Promise((function(n,r){var E,_=[],T=null==(E=a.details)?void 0:E.partList;!(function t(E){i.fragmentLoader.loadPart(e,E,o).then((function(o){_[E.index]=o;var r=o.part;i.hls.trigger(f.FRAG_LOADED,o);var s=ba(a,e.sn,E.index+1)||Ua(T,e.sn,E.index+1);if(!s)return n({frag:e,part:r,partsLoaded:_});t(s)})).catch(r)})(t)}))},a.handleFragLoadError=function(e){if("data"in e){var t=e.data;e.data&&t.details===P.INTERNAL_ABORTED?this.handleFragLoadAborted(t.frag,t.part):this.hls.trigger(f.ERROR,t)}else this.hls.trigger(f.ERROR,{type:B.OTHER_ERROR,details:P.INTERNAL_EXCEPTION,err:e,error:e,fatal:!0});return null},a._handleTransmuxerFlush=function(e){var t=this.getCurrentContext(e);if(t&&this.state===$o.PARSING){var a=t.frag,o=t.part,i=t.level,n=self.performance.now();a.stats.parsing.end=n,o&&(o.stats.parsing.end=n),this.updateLevelTiming(a,o,i,e.partial)}else this.fragCurrent||this.state===$o.STOPPED||this.state===$o.ERROR||(this.state=$o.IDLE)},a.getCurrentContext=function(e){var t=this.levels,a=this.fragCurrent,o=e.level,i=e.sn,n=e.part;if(null==t||!t[o])return this.warn("Levels object was unset while buffering fragment "+i+" of level "+o+". The current chunk will not be buffered."),null;var r=t[o],E=n>-1?ba(r,i,n):null,_=E?E.fragment:Ma(r,i,a);return _?(a&&a!==_&&(_.stats=a.stats),{frag:_,part:E,level:r}):null},a.bufferFragmentData=function(e,t,a,o,i){var n;if(e&&this.state===$o.PARSING){var r=e.data1,E=e.data2,_=r;if(r&&E&&(_=at(r,E)),null!=(n=_)&&n.length){var T={type:e.type,frag:t,part:a,chunkMeta:o,parent:t.type,data:_};if(this.hls.trigger(f.BUFFER_APPENDING,T),e.dropped&&e.independent&&!a){if(i)return;this.flushBufferGap(t)}}}},a.flushBufferGap=function(e){var t=this.media;if(t)if(fo.isBuffered(t,t.currentTime)){var a=t.currentTime,o=fo.bufferInfo(t,a,0),i=e.duration,n=Math.min(2*this.config.maxFragLookUpTolerance,.25*i),r=Math.max(Math.min(e.start-n,o.end-n),a+n);e.start-r>n&&this.flushMainBuffer(r,e.start)}else this.flushMainBuffer(0,e.start)},a.getFwdBufferInfo=function(e,t){var a=this.getLoadPosition();return p(a)?this.getFwdBufferInfoAtPos(e,a,t):null},a.getFwdBufferInfoAtPos=function(e,t,a){var o=this.config.maxBufferHole,i=fo.bufferInfo(e,t,o);if(0===i.len&&void 0!==i.nextStart){var n=this.fragmentTracker.getBufferedFrag(t,a);if(n&&i.nextStart<n.end)return fo.bufferInfo(e,t,Math.max(i.nextStart,o))}return i},a.getMaxBufferLength=function(e){var t,a=this.config;return t=e?Math.max(8*a.maxBufferSize/e,a.maxBufferLength):a.maxBufferLength,Math.min(t,a.maxMaxBufferLength)},a.reduceMaxBufferLength=function(e){var t=this.config,a=e||t.maxBufferLength;return t.maxMaxBufferLength>=a&&(t.maxMaxBufferLength/=2,this.warn("Reduce max buffer length to "+t.maxMaxBufferLength+"s"),!0)},a.getAppendedFrag=function(e,t){var a=this.fragmentTracker.getAppendedFrag(e,$t.MAIN);return a&&"fragment"in a?a.fragment:a},a.getNextFragment=function(e,t){var a=t.fragments,o=a.length;if(!o)return null;var i,n=this.config,r=a[0].start;if(t.live){var E=n.initialLiveManifestSize;if(o<E)return this.warn("Not enough fragments to start playback (have: "+o+", need: "+E+")"),null;(!t.PTSKnown&&!this.startFragRequested&&-1===this.startPosition||e<r)&&(i=this.getInitialLiveFragment(t,a),this.startPosition=this.nextLoadPosition=i?this.hls.liveSyncPosition||i.start:e)}else e<=r&&(i=a[0]);if(!i){var _=n.lowLatencyMode?t.partEnd:t.fragmentEnd;i=this.getFragmentAtPosition(e,_,t)}return this.mapToInitFragWhenRequired(i)},a.isLoopLoading=function(e,t){var a=this.fragmentTracker.getState(e);return(a===Lo.OK||a===Lo.PARTIAL&&!!e.gap)&&this.nextLoadPosition>t},a.getNextFragmentLoopLoading=function(e,t,a,o,i){var n=e.gap,r=this.getNextFragment(this.nextLoadPosition,t);if(null===r)return r;if(e=r,n&&e&&!e.gap&&a.nextStart){var E=this.getFwdBufferInfoAtPos(this.mediaBuffer?this.mediaBuffer:this.media,a.nextStart,o);if(null!==E&&a.len+E.len>=i)return this.log('buffer full after gaps in "'+o+'" playlist starting at sn: '+e.sn),null}return e},a.mapToInitFragWhenRequired=function(e){return null==e||!e.initSegment||null!=e&&e.initSegment.data||this.bitrateTest?e:e.initSegment},a.getNextPart=function(e,t,a){for(var o=-1,i=!1,n=!0,r=0,E=e.length;r<E;r++){var _=e[r];if(n=n&&!_.independent,o>-1&&a<_.start)break;var T=_.loaded;T?o=-1:(i||_.independent||n)&&_.fragment===t&&(o=r),i=T}return o},a.loadedEndOfParts=function(e,t){var a=e[e.length-1];return a&&t>a.start&&a.loaded},a.getInitialLiveFragment=function(e,t){var a=this.fragPrevious,o=null;if(a){if(e.hasProgramDateTime&&(this.log("Live playlist, switching playlist, load frag with same PDT: "+a.programDateTime),o=Ka(t,a.endProgramDateTime,this.config.maxFragLookUpTolerance)),!o){var i=a.sn+1;if(i>=e.startSN&&i<=e.endSN){var n=t[i-e.startSN];a.cc===n.cc&&(o=n,this.log("Live playlist, switching playlist, load frag with next SN: "+o.sn))}o||(o=Xa(t,a.cc))&&this.log("Live playlist, switching playlist, load frag with same CC: "+o.sn)}}else{var r=this.hls.liveSyncPosition;null!==r&&(o=this.getFragmentAtPosition(r,this.bitrateTest?e.fragmentEnd:e.edge,e))}return o},a.getFragmentAtPosition=function(e,t,a){var o,i=this.config,n=this.fragPrevious,r=a.fragments,E=a.endSN,_=a.fragmentHint,T=i.maxFragLookUpTolerance,s=a.partList,S=!!(i.lowLatencyMode&&null!=s&&s.length&&_);if(S&&_&&!this.bitrateTest&&(r=r.concat(_),E=_.sn),o=e<t?xa(n,r,e,e>t-T?0:T):r[r.length-1]){var l=o.sn-a.startSN,I=this.fragmentTracker.getState(o);if((I===Lo.OK||I===Lo.PARTIAL&&o.gap)&&(n=o),n&&o.sn===n.sn&&(!S||s[0].fragment.sn>o.sn)&&n&&o.level===n.level){var A=r[l+1];o=o.sn<E&&this.fragmentTracker.getState(A)!==Lo.OK?A:null}}return o},a.synchronizeToLiveEdge=function(e){var t=this.config,a=this.media;if(a){var o=this.hls.liveSyncPosition,i=a.currentTime,n=e.fragments[0].start,r=e.edge,E=i>=n-t.maxFragLookUpTolerance&&i<=r;if(null!==o&&a.duration>o&&(i<o||!E)){var _=void 0!==t.liveMaxLatencyDuration?t.liveMaxLatencyDuration:t.liveMaxLatencyDurationCount*e.targetduration;(!E&&a.readyState<4||i<r-_)&&(this.loadedmetadata||(this.nextLoadPosition=o),a.readyState&&(this.warn("Playback: "+i.toFixed(3)+" is located too far from the end of live sliding playlist: "+r+", reset currentTime to : "+o.toFixed(3)),a.currentTime=o))}}},a.alignPlaylists=function(e,t,a){var o=e.fragments.length;if(!o)return this.warn("No fragments in live playlist"),0;var i=e.fragments[0].start,n=!t,r=e.alignedSliding&&p(i);if(n||!r&&!i){var E=this.fragPrevious;bo(E,a,e);var _=e.fragments[0].start;return this.log("Live playlist sliding: "+_.toFixed(2)+" start-sn: "+(t?t.startSN:"na")+"->"+e.startSN+" prev-sn: "+(E?E.sn:"na")+" fragments: "+o),_}return i},a.waitForCdnTuneIn=function(e){var t=3;return e.live&&e.canBlockReload&&e.partTarget&&e.tuneInGoal>Math.max(e.partHoldBack,e.partTarget*t)},a.setStartPosition=function(e,t){var a=this.startPosition;if(a<t&&(a=-1),-1===a||-1===this.lastCurrentTime){var o=null!==this.startTimeOffset,i=o?this.startTimeOffset:e.startTimeOffset;null!==i&&p(i)?(a=t+i,i<0&&(a+=e.totalduration),a=Math.min(Math.max(t,a),t+e.totalduration),this.log("Start time offset "+i+" found in "+(o?"multivariant":"media")+" playlist, adjust startPosition to "+a),this.startPosition=a):e.live?a=this.hls.liveSyncPosition||t:this.startPosition=a=0,this.lastCurrentTime=a}this.nextLoadPosition=a},a.getLoadPosition=function(){var e=this.media,t=0;return this.loadedmetadata&&e?t=e.currentTime:this.nextLoadPosition&&(t=this.nextLoadPosition),t},a.handleFragLoadAborted=function(e,t){this.transmuxer&&"initSegment"!==e.sn&&e.stats.aborted&&(this.warn("Fragment "+e.sn+(t?" part "+t.index:"")+" of level "+e.level+" was aborted"),this.resetFragmentLoading(e))},a.resetFragmentLoading=function(e){this.fragCurrent&&(this.fragContextChanged(e)||this.state===$o.FRAG_LOADING_WAITING_RETRY)||(this.state=$o.IDLE)},a.onFragmentOrKeyLoadError=function(e,t){if(t.chunkMeta&&!t.frag){var a=this.getCurrentContext(t.chunkMeta);a&&(t.frag=a.frag)}var o=t.frag;if(o&&o.type===e&&this.levels)if(this.fragContextChanged(o)){var i;this.warn("Frag load error must match current frag to retry "+o.url+" > "+(null==(i=this.fragCurrent)?void 0:i.url))}else{var n=t.details===P.FRAG_GAP;n&&this.fragmentTracker.fragBuffered(o,!0);var r=t.errorAction,E=r||{},_=E.action,T=E.retryCount,s=void 0===T?0:T,S=E.retryConfig;if(r&&_===$a.RetryRequest&&S){this.resetStartWhenNotLoaded(this.levelLastLoaded);var l=Va(S,s);this.warn("Fragment "+o.sn+" of "+e+" "+o.level+" errored with "+t.details+", retrying loading "+(s+1)+"/"+S.maxNumRetry+" in "+l+"ms"),r.resolved=!0,this.retryDate=self.performance.now()+l,this.state=$o.FRAG_LOADING_WAITING_RETRY}else if(S&&r){if(this.resetFragmentErrors(e),!(s<S.maxNumRetry))return void U.warn(t.details+" reached or exceeded max retry ("+s+")");n||_===$a.RemoveAlternatePermanently||(r.resolved=!0)}else(null==r?void 0:r.action)===$a.SendAlternateToPenaltyBox?this.state=$o.WAITING_LEVEL:this.state=$o.ERROR;this.tickImmediate()}},a.reduceLengthAndFlushBuffer=function(e){if(this.state===$o.PARSING||this.state===$o.PARSED){var t=e.parent,a=this.getFwdBufferInfo(this.mediaBuffer,t),o=a&&a.len>.5;o&&this.reduceMaxBufferLength(a.len);var i=!o;return i&&this.warn("Buffer full error while media.currentTime is not buffered, flush "+t+" buffer"),e.frag&&(this.fragmentTracker.removeFragment(e.frag),this.nextLoadPosition=e.frag.start),this.resetLoadingState(),i}return!1},a.resetFragmentErrors=function(e){e===$t.AUDIO&&(this.fragCurrent=null),this.loadedmetadata||(this.startFragRequested=!1),this.state!==$o.STOPPED&&(this.state=$o.IDLE)},a.afterBufferFlushed=function(e,t,a){if(e){var o=fo.getBuffered(e);this.fragmentTracker.detectEvictedFragments(t,o,a),this.state===$o.ENDED&&this.resetLoadingState()}},a.resetLoadingState=function(){this.log("Reset loading state"),this.fragCurrent=null,this.fragPrevious=null,this.state=$o.IDLE},a.resetStartWhenNotLoaded=function(e){if(!this.loadedmetadata){this.startFragRequested=!1;var t=e?e.details:null;null!=t&&t.live?(this.startPosition=-1,this.setStartPosition(t,0),this.resetLoadingState()):this.nextLoadPosition=this.startPosition}},a.resetWhenMissingContext=function(e){this.warn("The loading context changed while buffering fragment "+e.sn+" of level "+e.level+". This chunk will not be buffered."),this.removeUnbufferedFrags(),this.resetStartWhenNotLoaded(this.levelLastLoaded),this.resetLoadingState()},a.removeUnbufferedFrags=function(e){void 0===e&&(e=0),this.fragmentTracker.removeFragmentsInRange(e,1/0,this.playlistType,!1,!0)},a.updateLevelTiming=function(e,t,a,o){var i,n=this,r=a.details;if(r){if(!Object.keys(e.elementaryStreams).reduce((function(t,i){var E=e.elementaryStreams[i];if(E){var _=E.endPTS-E.startPTS;if(_<=0)return n.warn("Could not parse fragment "+e.sn+" "+i+" duration reliably ("+_+")"),t||!1;var T=o?0:Ca(r,e,E.startPTS,E.endPTS,E.startDTS,E.endDTS);return n.hls.trigger(f.LEVEL_PTS_UPDATED,{details:r,level:a,drift:T,type:i,frag:e,start:E.startPTS,end:E.endPTS}),!0}return t}),!1)&&null===(null==(i=this.transmuxer)?void 0:i.error)){var E=new Error("Found no media in fragment "+e.sn+" of level "+e.level+" resetting transmuxer to fallback to playlist timing");if(0===a.fragmentError&&(a.fragmentError++,e.gap=!0,this.fragmentTracker.removeFragment(e),this.fragmentTracker.fragBuffered(e,!0)),this.warn(E.message),this.hls.trigger(f.ERROR,{type:B.MEDIA_ERROR,details:P.FRAG_PARSING_ERROR,fatal:!1,error:E,frag:e,reason:"Found no media in msn "+e.sn+' of level "'+a.url+'"'}),!this.hls)return;this.resetTransmuxer()}this.state=$o.PARSED,this.hls.trigger(f.FRAG_PARSED,{frag:e,part:t})}else this.warn("level.details undefined")},a.resetTransmuxer=function(){this.transmuxer&&(this.transmuxer.destroy(),this.transmuxer=null)},a.recoverWorkerError=function(e){"demuxerWorker"===e.event&&(this.fragmentTracker.removeAllFragments(),this.resetTransmuxer(),this.resetStartWhenNotLoaded(this.levelLastLoaded),this.resetLoadingState())},E(t,[{key:"state",get:function(){return this._state},set:function(e){var t=this._state;t!==e&&(this._state=e,this.log(t+"->"+e))}}]),t})(mo),Jo=(function(){function e(){this.chunks=[],this.dataLength=0}var t=e.prototype;return t.push=function(e){this.chunks.push(e),this.dataLength+=e.length},t.flush=function(){var e,t=this.chunks,a=this.dataLength;return t.length?(e=1===t.length?t[0]:Zo(t,a),this.reset(),e):new Uint8Array(0)},t.reset=function(){this.chunks.length=0,this.dataLength=0},e})();function Zo(e,t){for(var a=new Uint8Array(t),o=0,i=0;i<e.length;i++){var n=e[i];a.set(n,o),o+=n.length}return a}function ei(e,t){return void 0===e&&(e=""),void 0===t&&(t=9e4),{type:e,id:-1,pid:-1,inputTimeScale:t,sequenceNumber:-1,samples:[],dropped:0}}var ti=(function(){function e(){this._audioTrack=void 0,this._id3Track=void 0,this.frameIndex=0,this.cachedData=null,this.basePTS=null,this.initPTS=null,this.lastPTS=null}var t=e.prototype;return t.resetInitSegment=function(e,t,a,o){this._id3Track={type:"id3",id:3,pid:-1,inputTimeScale:9e4,sequenceNumber:0,samples:[],dropped:0}},t.resetTimeStamp=function(e){this.initPTS=e,this.resetContiguity()},t.resetContiguity=function(){this.basePTS=null,this.lastPTS=null,this.frameIndex=0},t.canParse=function(e,t){return!1},t.appendFrame=function(e,t,a){},t.demux=function(e,t){this.cachedData&&(e=at(this.cachedData,e),this.cachedData=null);var a,o=ce(e,0),i=o?o.length:0,n=this._audioTrack,r=this._id3Track,E=o?Ne(o):void 0,_=e.length;for((null===this.basePTS||0===this.frameIndex&&p(E))&&(this.basePTS=ai(E,t,this.initPTS),this.lastPTS=this.basePTS),null===this.lastPTS&&(this.lastPTS=this.basePTS),o&&o.length>0&&r.samples.push({pts:this.lastPTS,dts:this.lastPTS,data:o,type:Ea.audioId3,duration:Number.POSITIVE_INFINITY});i<_;){if(this.canParse(e,i)){var T=this.appendFrame(n,e,i);T?(this.frameIndex++,this.lastPTS=T.sample.pts,a=i+=T.length):i=_}else Re(e,i)?(o=ce(e,i),r.samples.push({pts:this.lastPTS,dts:this.lastPTS,data:o,type:Ea.audioId3,duration:Number.POSITIVE_INFINITY}),a=i+=o.length):i++;if(i===_&&a!==_){var s=Ie(e,a);this.cachedData?this.cachedData=at(this.cachedData,s):this.cachedData=s}}return{audioTrack:n,videoTrack:ei(),id3Track:r,textTrack:ei()}},t.demuxSampleAes=function(e,t,a){return Promise.reject(new Error("["+this+"] This demuxer does not support Sample-AES decryption"))},t.flush=function(e){var t=this.cachedData;return t&&(this.cachedData=null,this.demux(t,0)),{audioTrack:this._audioTrack,videoTrack:ei(),id3Track:this._id3Track,textTrack:ei()}},t.destroy=function(){},e})(),ai=function(e,t,a){return p(e)?90*e:9e4*t+(a?9e4*a.baseTime/a.timescale:0)};function oi(e,t,a,o){var i,n,r,E,_=navigator.userAgent.toLowerCase(),T=o,s=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350];i=1+((192&t[a+2])>>>6);var S=(60&t[a+2])>>>2;if(!(S>s.length-1))return r=(1&t[a+2])<<2,r|=(192&t[a+3])>>>6,U.log("manifest codec:"+o+", ADTS type:"+i+", samplingIndex:"+S),/firefox/i.test(_)?S>=6?(i=5,E=new Array(4),n=S-3):(i=2,E=new Array(2),n=S):-1!==_.indexOf("android")?(i=2,E=new Array(2),n=S):(i=5,E=new Array(4),o&&(-1!==o.indexOf("mp4a.40.29")||-1!==o.indexOf("mp4a.40.5"))||!o&&S>=6?n=S-3:((o&&-1!==o.indexOf("mp4a.40.2")&&(S>=6&&1===r||/vivaldi/i.test(_))||!o&&1===r)&&(i=2,E=new Array(2)),n=S)),E[0]=i<<3,E[0]|=(14&S)>>1,E[1]|=(1&S)<<7,E[1]|=r<<3,5===i&&(E[1]|=(14&n)>>1,E[2]=(1&n)<<7,E[2]|=8,E[3]=0),{config:E,samplerate:s[S],channelCount:r,codec:"mp4a.40."+i,manifestCodec:T};var l=new Error("invalid ADTS sampling index:"+S);e.emit(f.ERROR,f.ERROR,{type:B.MEDIA_ERROR,details:P.FRAG_PARSING_ERROR,fatal:!0,error:l,reason:l.message})}function ii(e,t){return 255===e[t]&&240==(246&e[t+1])}function ni(e,t){return 1&e[t+1]?7:9}function ri(e,t){return(3&e[t+3])<<11|e[t+4]<<3|(224&e[t+5])>>>5}function Ei(e,t){return t+5<e.length}function _i(e,t){return t+1<e.length&&ii(e,t)}function Ti(e,t){return Ei(e,t)&&ii(e,t)&&ri(e,t)<=e.length-t}function si(e,t){if(_i(e,t)){var a=ni(e,t);if(t+a>=e.length)return!1;var o=ri(e,t);if(o<=a)return!1;var i=t+o;return i===e.length||_i(e,i)}return!1}function Si(e,t,a,o,i){if(!e.samplerate){var n=oi(t,a,o,i);if(!n)return;e.config=n.config,e.samplerate=n.samplerate,e.channelCount=n.channelCount,e.codec=n.codec,e.manifestCodec=n.manifestCodec,U.log("parsed codec:"+e.codec+", rate:"+n.samplerate+", channels:"+n.channelCount)}}function li(e){return 9216e4/e}function Ii(e,t){var a=ni(e,t);if(t+a<=e.length){var o=ri(e,t)-a;if(o>0)return{headerLength:a,frameLength:o}}}function Ai(e,t,a,o,i){var n,r=o+i*li(e.samplerate),E=Ii(t,a);if(E){var _=E.frameLength,T=E.headerLength,s=T+_,S=Math.max(0,a+s-t.length);S?(n=new Uint8Array(s-T)).set(t.subarray(a+T,t.length),0):n=t.subarray(a+T,a+s);var l={unit:n,pts:r};return S||e.samples.push(l),{sample:l,length:s,missing:S}}var I=t.length-a;return(n=new Uint8Array(I)).set(t.subarray(a,t.length),0),{sample:{unit:n,pts:r},length:I,missing:-1}}var ui=null,di=[32,64,96,128,160,192,224,256,288,320,352,384,416,448,32,48,56,64,80,96,112,128,160,192,224,256,320,384,32,40,48,56,64,80,96,112,128,160,192,224,256,320,32,48,56,64,80,96,112,128,144,160,176,192,224,256,8,16,24,32,40,48,56,64,80,96,112,128,144,160],ci=[44100,48e3,32e3,22050,24e3,16e3,11025,12e3,8e3],Oi=[[0,72,144,12],[0,0,0,0],[0,72,144,12],[0,144,144,12]],Ri=[0,1,1,4];function Ni(e,t,a,o,i){if(!(a+24>t.length)){var n=mi(t,a);if(n&&a+n.frameLength<=t.length){var r=o+i*(9e4*n.samplesPerFrame/n.sampleRate),E={unit:t.subarray(a,a+n.frameLength),pts:r,dts:r};return e.config=[],e.channelCount=n.channelCount,e.samplerate=n.sampleRate,e.samples.push(E),{sample:E,length:n.frameLength,missing:0}}}}function mi(e,t){var a=e[t+1]>>3&3,o=e[t+1]>>1&3,i=e[t+2]>>4&15,n=e[t+2]>>2&3;if(1!==a&&0!==i&&15!==i&&3!==n){var r=e[t+2]>>1&1,E=e[t+3]>>6,_=1e3*di[14*(3===a?3-o:3===o?3:4)+i-1],T=ci[3*(3===a?0:2===a?1:2)+n],s=3===E?1:2,S=Oi[a][o],l=Ri[o],I=8*S*l,A=Math.floor(S*_/T+r)*l;if(null===ui){var u=(navigator.userAgent||"").match(/Chrome\/(\d+)/i);ui=u?parseInt(u[1]):0}return!!ui&&ui<=87&&2===o&&_>=224e3&&0===E&&(e[t+3]=128|e[t+3]),{sampleRate:T,channelCount:s,frameLength:A,samplesPerFrame:I}}}function Li(e,t){return 255===e[t]&&224==(224&e[t+1])&&0!=(6&e[t+1])}function Di(e,t){return t+1<e.length&&Li(e,t)}function pi(e,t){var a=4;return Li(e,t)&&a<=e.length-t}function hi(e,t){if(t+1<e.length&&Li(e,t)){var a=4,o=mi(e,t),i=a;null!=o&&o.frameLength&&(i=o.frameLength);var n=t+i;return n===e.length||Di(e,n)}return!1}var Ci=(function(e){function t(t,a){var o;return(o=e.call(this)||this).observer=void 0,o.config=void 0,o.observer=t,o.config=a,o}s(t,e);var a=t.prototype;return a.resetInitSegment=function(t,a,o,i){e.prototype.resetInitSegment.call(this,t,a,o,i),this._audioTrack={container:"audio/adts",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"aac",samples:[],manifestCodec:a,duration:i,inputTimeScale:9e4,dropped:0}},t.probe=function(e){if(!e)return!1;var t=ce(e,0),a=(null==t?void 0:t.length)||0;if(hi(e,a))return!1;for(var o=e.length;a<o;a++)if(si(e,a))return U.log("ADTS sync word found !"),!0;return!1},a.canParse=function(e,t){return Ti(e,t)},a.appendFrame=function(e,t,a){Si(e,this.observer,t,a,e.manifestCodec);var o=Ai(e,t,a,this.basePTS,this.frameIndex);if(o&&0===o.missing)return o},t})(ti),fi=/\/emsg[-/]ID3/i,Bi=(function(){function e(e,t){this.remainderData=null,this.timeOffset=0,this.config=void 0,this.videoTrack=void 0,this.audioTrack=void 0,this.id3Track=void 0,this.txtTrack=void 0,this.config=t}var t=e.prototype;return t.resetTimeStamp=function(){},t.resetInitSegment=function(e,t,a,o){var i=this.videoTrack=ei("video",1),n=this.audioTrack=ei("audio",1),r=this.txtTrack=ei("text",1);if(this.id3Track=ei("id3",1),this.timeOffset=0,null!=e&&e.byteLength){var E=ze(e);if(E.video){var _=E.video,T=_.id,s=_.timescale,S=_.codec;i.id=T,i.timescale=r.timescale=s,i.codec=S}if(E.audio){var l=E.audio,I=l.id,A=l.timescale,u=l.codec;n.id=I,n.timescale=A,n.codec=u}r.id=Me.text,i.sampleDuration=0,i.duration=n.duration=o}},t.resetContiguity=function(){this.remainderData=null},e.probe=function(e){return He(e)},t.demux=function(e,t){this.timeOffset=t;var a=e,o=this.videoTrack,i=this.txtTrack;if(this.config.progressive){this.remainderData&&(a=at(this.remainderData,e));var n=tt(a);this.remainderData=n.remainder,o.samples=n.valid||new Uint8Array}else o.samples=a;var r=this.extractID3Track(o,t);return i.samples=ot(t,o),{videoTrack:o,audioTrack:this.audioTrack,id3Track:r,textTrack:this.txtTrack}},t.flush=function(){var e=this.timeOffset,t=this.videoTrack,a=this.txtTrack;t.samples=this.remainderData||new Uint8Array,this.remainderData=null;var o=this.extractID3Track(t,this.timeOffset);return a.samples=ot(e,t),{videoTrack:t,audioTrack:ei(),id3Track:o,textTrack:ei()}},t.extractID3Track=function(e,t){var a=this.id3Track;if(e.samples.length){var o=we(e.samples,["emsg"]);o&&o.forEach((function(e){var o=_t(e);if(fi.test(o.schemeIdUri)){var i=p(o.presentationTime)?o.presentationTime/o.timeScale:t+o.presentationTimeDelta/o.timeScale,n=4294967295===o.eventDuration?Number.POSITIVE_INFINITY:o.eventDuration/o.timeScale;n<=.001&&(n=Number.POSITIVE_INFINITY);var r=o.payload;a.samples.push({data:r,len:r.byteLength,dts:i,pts:i,type:Ea.emsg,duration:n})}}))}return a},t.demuxSampleAes=function(e,t,a){return Promise.reject(new Error("The MP4 demuxer does not support SAMPLE-AES decryption"))},t.destroy=function(){},e})(),Pi=function(e,t){var a=0,o=5;t+=o;for(var i=new Uint32Array(1),n=new Uint32Array(1),r=new Uint8Array(1);o>0;){r[0]=e[t];var E=Math.min(o,8),_=8-E;n[0]=4278190080>>>24+_<<_,i[0]=(r[0]&n[0])>>_,a=a?a<<E|i[0]:i[0],t+=1,o-=E}return a},gi=(function(e){function t(t){var a;return(a=e.call(this)||this).observer=void 0,a.observer=t,a}s(t,e);var a=t.prototype;return a.resetInitSegment=function(t,a,o,i){e.prototype.resetInitSegment.call(this,t,a,o,i),this._audioTrack={container:"audio/ac-3",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"ac3",samples:[],manifestCodec:a,duration:i,inputTimeScale:9e4,dropped:0}},a.canParse=function(e,t){return t+64<e.length},a.appendFrame=function(e,t,a){var o=vi(e,t,a,this.basePTS,this.frameIndex);if(-1!==o)return{sample:e.samples[e.samples.length-1],length:o,missing:0}},t.probe=function(e){if(!e)return!1;var t=ce(e,0);if(!t)return!1;var a=t.length;return 11===e[a]&&119===e[a+1]&&void 0!==Ne(t)&&Pi(e,a)<16},t})(ti);function vi(e,t,a,o,i){if(a+8>t.length)return-1;if(11!==t[a]||119!==t[a+1])return-1;var n=t[a+4]>>6;if(n>=3)return-1;var r=[48e3,44100,32e3][n],E=63&t[a+4],_=2*[64,69,96,64,70,96,80,87,120,80,88,120,96,104,144,96,105,144,112,121,168,112,122,168,128,139,192,128,140,192,160,174,240,160,175,240,192,208,288,192,209,288,224,243,336,224,244,336,256,278,384,256,279,384,320,348,480,320,349,480,384,417,576,384,418,576,448,487,672,448,488,672,512,557,768,512,558,768,640,696,960,640,697,960,768,835,1152,768,836,1152,896,975,1344,896,976,1344,1024,1114,1536,1024,1115,1536,1152,1253,1728,1152,1254,1728,1280,1393,1920,1280,1394,1920][3*E+n];if(a+_>t.length)return-1;var T=t[a+6]>>5,s=0;2===T?s+=2:(1&T&&1!==T&&(s+=2),4&T&&(s+=2));var S=(t[a+6]<<8|t[a+7])>>12-s&1,l=[2,1,2,3,3,4,4,5][T]+S,I=t[a+5]>>3,A=7&t[a+5],u=new Uint8Array([n<<6|I<<1|A>>2,(3&A)<<6|T<<3|S<<2|E>>4,E<<4&224]),d=o+i*(1536/r*9e4),c=t.subarray(a,a+_);return e.config=u,e.channelCount=l,e.samplerate=r,e.samples.push({unit:c,pts:d}),_}var yi=(function(){function e(){this.VideoSample=null}var t=e.prototype;return t.createVideoSample=function(e,t,a,o){return{key:e,frame:!1,pts:t,dts:a,units:[],debug:o,length:0}},t.getLastNalUnit=function(e){var t,a,o=this.VideoSample;if(o&&0!==o.units.length||(o=e[e.length-1]),null!=(t=o)&&t.units){var i=o.units;a=i[i.length-1]}return a},t.pushAccessUnit=function(e,t){if(e.units.length&&e.frame){if(void 0===e.pts){var a=t.samples,o=a.length;if(!o)return void t.dropped++;var i=a[o-1];e.pts=i.pts,e.dts=i.dts}t.samples.push(e)}e.debug.length&&U.log(e.pts+"/"+e.dts+":"+e.debug)},e})(),Wi=(function(){function e(e){this.data=void 0,this.bytesAvailable=void 0,this.word=void 0,this.bitsAvailable=void 0,this.data=e,this.bytesAvailable=e.byteLength,this.word=0,this.bitsAvailable=0}var t=e.prototype;return t.loadWord=function(){var e=this.data,t=this.bytesAvailable,a=e.byteLength-t,o=new Uint8Array(4),i=Math.min(4,t);if(0===i)throw new Error("no bytes available");o.set(e.subarray(a,a+i)),this.word=new DataView(o.buffer).getUint32(0),this.bitsAvailable=8*i,this.bytesAvailable-=i},t.skipBits=function(e){var t;e=Math.min(e,8*this.bytesAvailable+this.bitsAvailable),this.bitsAvailable>e?(this.word<<=e,this.bitsAvailable-=e):(e-=this.bitsAvailable,e-=(t=e>>3)<<3,this.bytesAvailable-=t,this.loadWord(),this.word<<=e,this.bitsAvailable-=e)},t.readBits=function(e){var t=Math.min(this.bitsAvailable,e),a=this.word>>>32-t;if(e>32&&U.error("Cannot read more than 32 bits at a time"),this.bitsAvailable-=t,this.bitsAvailable>0)this.word<<=t;else{if(!(this.bytesAvailable>0))throw new Error("no bits available");this.loadWord()}return(t=e-t)>0&&this.bitsAvailable?a<<t|this.readBits(t):a},t.skipLZ=function(){var e;for(e=0;e<this.bitsAvailable;++e)if(0!=(this.word&2147483648>>>e))return this.word<<=e,this.bitsAvailable-=e,e;return this.loadWord(),e+this.skipLZ()},t.skipUEG=function(){this.skipBits(1+this.skipLZ())},t.skipEG=function(){this.skipBits(1+this.skipLZ())},t.readUEG=function(){var e=this.skipLZ();return this.readBits(e+1)-1},t.readEG=function(){var e=this.readUEG();return 1&e?1+e>>>1:-1*(e>>>1)},t.readBoolean=function(){return 1===this.readBits(1)},t.readUByte=function(){return this.readBits(8)},t.readUShort=function(){return this.readBits(16)},t.readUInt=function(){return this.readBits(32)},t.skipScalingList=function(e){for(var t=8,a=8,o=0;o<e;o++)0!==a&&(a=(t+this.readEG()+256)%256),t=0===a?t:a},t.readSPS=function(){var e,t,a,o=0,i=0,n=0,r=0,E=this.readUByte.bind(this),_=this.readBits.bind(this),T=this.readUEG.bind(this),s=this.readBoolean.bind(this),S=this.skipBits.bind(this),l=this.skipEG.bind(this),I=this.skipUEG.bind(this),A=this.skipScalingList.bind(this);E();var u=E();if(_(5),S(3),E(),I(),100===u||110===u||122===u||244===u||44===u||83===u||86===u||118===u||128===u){var d=T();if(3===d&&S(1),I(),I(),S(1),s())for(t=3!==d?8:12,a=0;a<t;a++)s()&&A(a<6?16:64)}I();var c=T();if(0===c)T();else if(1===c)for(S(1),l(),l(),e=T(),a=0;a<e;a++)l();I(),S(1);var O=T(),R=T(),N=_(1);0===N&&S(1),S(1),s()&&(o=T(),i=T(),n=T(),r=T());var m=[1,1];if(s()&&s())switch(E()){case 1:m=[1,1];break;case 2:m=[12,11];break;case 3:m=[10,11];break;case 4:m=[16,11];break;case 5:m=[40,33];break;case 6:m=[24,11];break;case 7:m=[20,11];break;case 8:m=[32,11];break;case 9:m=[80,33];break;case 10:m=[18,11];break;case 11:m=[15,11];break;case 12:m=[64,33];break;case 13:m=[160,99];break;case 14:m=[4,3];break;case 15:m=[3,2];break;case 16:m=[2,1];break;case 255:m=[E()<<8|E(),E()<<8|E()]}return{width:Math.ceil(16*(O+1)-2*o-2*i),height:(2-N)*(R+1)*16-(N?2:4)*(n+r),pixelRatio:m}},t.readSliceType=function(){return this.readUByte(),this.readUEG(),this.readUEG()},e})(),Mi=(function(e){function t(){return e.apply(this,arguments)||this}s(t,e);var a=t.prototype;return a.parseAVCPES=function(e,t,a,o,i){var n,r=this,E=this.parseAVCNALu(e,a.data),_=this.VideoSample,T=!1;a.data=null,_&&E.length&&!e.audFound&&(this.pushAccessUnit(_,e),_=this.VideoSample=this.createVideoSample(!1,a.pts,a.dts,"")),E.forEach((function(o){var E;switch(o.type){case 1:var s=!1;n=!0;var S,l=o.data;if(T&&l.length>4){var I=new Wi(l).readSliceType();2!==I&&4!==I&&7!==I&&9!==I||(s=!0)}s&&null!=(S=_)&&S.frame&&!_.key&&(r.pushAccessUnit(_,e),_=r.VideoSample=null),_||(_=r.VideoSample=r.createVideoSample(!0,a.pts,a.dts,"")),_.frame=!0,_.key=s;break;case 5:n=!0,null!=(E=_)&&E.frame&&!_.key&&(r.pushAccessUnit(_,e),_=r.VideoSample=null),_||(_=r.VideoSample=r.createVideoSample(!0,a.pts,a.dts,"")),_.key=!0,_.frame=!0;break;case 6:n=!0,rt(o.data,1,a.pts,t.samples);break;case 7:var A,u;n=!0,T=!0;var d=o.data,c=new Wi(d).readSPS();if(!e.sps||e.width!==c.width||e.height!==c.height||(null==(A=e.pixelRatio)?void 0:A[0])!==c.pixelRatio[0]||(null==(u=e.pixelRatio)?void 0:u[1])!==c.pixelRatio[1]){e.width=c.width,e.height=c.height,e.pixelRatio=c.pixelRatio,e.sps=[d],e.duration=i;for(var O=d.subarray(1,4),R="avc1.",N=0;N<3;N++){var m=O[N].toString(16);m.length<2&&(m="0"+m),R+=m}e.codec=R}break;case 8:n=!0,e.pps=[o.data];break;case 9:n=!0,e.audFound=!0,_&&r.pushAccessUnit(_,e),_=r.VideoSample=r.createVideoSample(!1,a.pts,a.dts,"");break;case 12:n=!0;break;default:n=!1,_&&(_.debug+="unknown NAL "+o.type+" ")}_&&n&&_.units.push(o)})),o&&_&&(this.pushAccessUnit(_,e),this.VideoSample=null)},a.parseAVCNALu=function(e,t){var a,o,i=t.byteLength,n=e.naluState||0,r=n,E=[],_=0,T=-1,s=0;for(-1===n&&(T=0,s=31&t[0],n=0,_=1);_<i;)if(a=t[_++],n)if(1!==n)if(a)if(1===a){if(o=_-n-1,T>=0){var S={data:t.subarray(T,o),type:s};E.push(S)}else{var l=this.getLastNalUnit(e.samples);l&&(r&&_<=4-r&&l.state&&(l.data=l.data.subarray(0,l.data.byteLength-r)),o>0&&(l.data=at(l.data,t.subarray(0,o)),l.state=0))}_<i?(T=_,s=31&t[_],n=0):n=-1}else n=0;else n=3;else n=a?0:2;else n=a?0:1;if(T>=0&&n>=0){var I={data:t.subarray(T,i),type:s,state:n};E.push(I)}if(0===E.length){var A=this.getLastNalUnit(e.samples);A&&(A.data=at(A.data,t))}return e.naluState=n,E},t})(yi),bi=(function(){function e(e,t,a){this.keyData=void 0,this.decrypter=void 0,this.keyData=a,this.decrypter=new Qo(t,{removePKCS7Padding:!1})}var t=e.prototype;return t.decryptBuffer=function(e){return this.decrypter.decrypt(e,this.keyData.key.buffer,this.keyData.iv.buffer)},t.decryptAacSample=function(e,t,a){var o=this,i=e[t].unit;if(!(i.length<=16)){var n=i.subarray(16,i.length-i.length%16),r=n.buffer.slice(n.byteOffset,n.byteOffset+n.length);this.decryptBuffer(r).then((function(n){var r=new Uint8Array(n);i.set(r,16),o.decrypter.isSync()||o.decryptAacSamples(e,t+1,a)}))}},t.decryptAacSamples=function(e,t,a){for(;;t++){if(t>=e.length)return void a();if(!(e[t].unit.length<32||(this.decryptAacSample(e,t,a),this.decrypter.isSync())))return}},t.getAvcEncryptedData=function(e){for(var t=16*Math.floor((e.length-48)/160)+16,a=new Int8Array(t),o=0,i=32;i<e.length-16;i+=160,o+=16)a.set(e.subarray(i,i+16),o);return a},t.getAvcDecryptedUnit=function(e,t){for(var a=new Uint8Array(t),o=0,i=32;i<e.length-16;i+=160,o+=16)e.set(a.subarray(o,o+16),i);return e},t.decryptAvcSample=function(e,t,a,o,i){var n=this,r=Et(i.data),E=this.getAvcEncryptedData(r);this.decryptBuffer(E.buffer).then((function(E){i.data=n.getAvcDecryptedUnit(r,E),n.decrypter.isSync()||n.decryptAvcSamples(e,t,a+1,o)}))},t.decryptAvcSamples=function(e,t,a,o){if(e instanceof Uint8Array)throw new Error("Cannot decrypt samples of type Uint8Array");for(;;t++,a=0){if(t>=e.length)return void o();for(var i=e[t].units;!(a>=i.length);a++){var n=i[a];if(!(n.data.length<=48||1!==n.type&&5!==n.type||(this.decryptAvcSample(e,t,a,o,n),this.decrypter.isSync())))return}}},e})(),Ui=188,Gi=(function(){function e(e,t,a){this.observer=void 0,this.config=void 0,this.typeSupported=void 0,this.sampleAes=null,this.pmtParsed=!1,this.audioCodec=void 0,this.videoCodec=void 0,this._duration=0,this._pmtId=-1,this._videoTrack=void 0,this._audioTrack=void 0,this._id3Track=void 0,this._txtTrack=void 0,this.aacOverFlow=null,this.remainderData=null,this.videoParser=void 0,this.observer=e,this.config=t,this.typeSupported=a,this.videoParser=new Mi}e.probe=function(t){var a=e.syncOffset(t);return a>0&&U.warn("MPEG2-TS detected but first sync word found @ offset "+a),-1!==a},e.syncOffset=function(e){for(var t=e.length,a=Math.min(5*Ui,t-Ui)+1,o=0;o<a;){for(var i=!1,n=-1,r=0,E=o;E<t;E+=Ui){if(71!==e[E]||t-E!==Ui&&71!==e[E+Ui]){if(r)return-1;break}if(r++,-1===n&&0!==(n=E)&&(a=Math.min(n+99*Ui,e.length-Ui)+1),i||(i=0===ki(e,E)),i&&r>1&&(0===n&&r>2||E+Ui>a))return n}o++}return-1},e.createTrack=function(e,t){return{container:"video"===e||"audio"===e?"video/mp2t":void 0,type:e,id:Me[e],pid:-1,inputTimeScale:9e4,sequenceNumber:0,samples:[],dropped:0,duration:"audio"===e?t:void 0}};var t=e.prototype;return t.resetInitSegment=function(t,a,o,i){this.pmtParsed=!1,this._pmtId=-1,this._videoTrack=e.createTrack("video"),this._audioTrack=e.createTrack("audio",i),this._id3Track=e.createTrack("id3"),this._txtTrack=e.createTrack("text"),this._audioTrack.segmentCodec="aac",this.aacOverFlow=null,this.remainderData=null,this.audioCodec=a,this.videoCodec=o,this._duration=i},t.resetTimeStamp=function(){},t.resetContiguity=function(){var e=this._audioTrack,t=this._videoTrack,a=this._id3Track;e&&(e.pesData=null),t&&(t.pesData=null),a&&(a.pesData=null),this.aacOverFlow=null,this.remainderData=null},t.demux=function(t,a,o,i){var n;void 0===o&&(o=!1),void 0===i&&(i=!1),o||(this.sampleAes=null);var r=this._videoTrack,E=this._audioTrack,_=this._id3Track,T=this._txtTrack,s=r.pid,S=r.pesData,l=E.pid,I=_.pid,A=E.pesData,u=_.pesData,d=null,c=this.pmtParsed,O=this._pmtId,R=t.length;if(this.remainderData&&(R=(t=at(this.remainderData,t)).length,this.remainderData=null),R<Ui&&!i)return this.remainderData=t,{audioTrack:E,videoTrack:r,id3Track:_,textTrack:T};var N=Math.max(0,e.syncOffset(t));(R-=(R-N)%Ui)<t.byteLength&&!i&&(this.remainderData=new Uint8Array(t.buffer,R,t.buffer.byteLength-R));for(var m=0,L=N;L<R;L+=Ui)if(71===t[L]){var D=!!(64&t[L+1]),p=ki(t,L),h=void 0;if((48&t[L+3])>>4>1){if((h=L+5+t[L+4])===L+Ui)continue}else h=L+4;switch(p){case s:D&&(S&&(n=wi(S))&&this.videoParser.parseAVCPES(r,T,n,!1,this._duration),S={data:[],size:0}),S&&(S.data.push(t.subarray(h,L+Ui)),S.size+=L+Ui-h);break;case l:if(D){if(A&&(n=wi(A)))switch(E.segmentCodec){case"aac":this.parseAACPES(E,n);break;case"mp3":this.parseMPEGPES(E,n);break;case"ac3":this.parseAC3PES(E,n)}A={data:[],size:0}}A&&(A.data.push(t.subarray(h,L+Ui)),A.size+=L+Ui-h);break;case I:D&&(u&&(n=wi(u))&&this.parseID3PES(_,n),u={data:[],size:0}),u&&(u.data.push(t.subarray(h,L+Ui)),u.size+=L+Ui-h);break;case 0:D&&(h+=t[h]+1),O=this._pmtId=Fi(t,h);break;case O:D&&(h+=t[h]+1);var C=Vi(t,h,this.typeSupported,o);(s=C.videoPid)>0&&(r.pid=s,r.segmentCodec=C.segmentVideoCodec),(l=C.audioPid)>0&&(E.pid=l,E.segmentCodec=C.segmentAudioCodec),(I=C.id3Pid)>0&&(_.pid=I),null===d||c||(U.warn("MPEG-TS PMT found at "+L+" after unknown PID '"+d+"'. Backtracking to sync byte @"+N+" to parse all TS packets."),d=null,L=N-188),c=this.pmtParsed=!0;break;case 17:case 8191:break;default:d=p}}else m++;if(m>0){var g=new Error("Found "+m+" TS packet/s that do not start with 0x47");this.observer.emit(f.ERROR,f.ERROR,{type:B.MEDIA_ERROR,details:P.FRAG_PARSING_ERROR,fatal:!1,error:g,reason:g.message})}r.pesData=S,E.pesData=A,_.pesData=u;var v={audioTrack:E,videoTrack:r,id3Track:_,textTrack:T};return i&&this.extractRemainingSamples(v),v},t.flush=function(){var e,t=this.remainderData;return this.remainderData=null,e=t?this.demux(t,-1,!1,!0):{videoTrack:this._videoTrack,audioTrack:this._audioTrack,id3Track:this._id3Track,textTrack:this._txtTrack},this.extractRemainingSamples(e),this.sampleAes?this.decrypt(e,this.sampleAes):e},t.extractRemainingSamples=function(e){var t,a=e.audioTrack,o=e.videoTrack,i=e.id3Track,n=e.textTrack,r=o.pesData,E=a.pesData,_=i.pesData;if(r&&(t=wi(r))?(this.videoParser.parseAVCPES(o,n,t,!0,this._duration),o.pesData=null):o.pesData=r,E&&(t=wi(E))){switch(a.segmentCodec){case"aac":this.parseAACPES(a,t);break;case"mp3":this.parseMPEGPES(a,t);break;case"ac3":this.parseAC3PES(a,t)}a.pesData=null}else null!=E&&E.size&&U.log("last AAC PES packet truncated,might overlap between fragments"),a.pesData=E;_&&(t=wi(_))?(this.parseID3PES(i,t),i.pesData=null):i.pesData=_},t.demuxSampleAes=function(e,t,a){var o=this.demux(e,a,!0,!this.config.progressive),i=this.sampleAes=new bi(this.observer,this.config,t);return this.decrypt(o,i)},t.decrypt=function(e,t){return new Promise((function(a){var o=e.audioTrack,i=e.videoTrack;o.samples&&"aac"===o.segmentCodec?t.decryptAacSamples(o.samples,0,(function(){i.samples?t.decryptAvcSamples(i.samples,0,0,(function(){a(e)})):a(e)})):i.samples&&t.decryptAvcSamples(i.samples,0,0,(function(){a(e)}))}))},t.destroy=function(){this._duration=0},t.parseAACPES=function(e,t){var a,o,i,n=0,r=this.aacOverFlow,E=t.data;if(r){this.aacOverFlow=null;var _=r.missing,T=r.sample.unit.byteLength;if(-1===_)E=at(r.sample.unit,E);else{var s=T-_;r.sample.unit.set(E.subarray(0,_),s),e.samples.push(r.sample),n=r.missing}}for(a=n,o=E.length;a<o-1&&!_i(E,a);a++);if(a!==n){var S,l=a<o-1;S=l?"AAC PES did not start with ADTS header,offset:"+a:"No ADTS header found in AAC PES";var I=new Error(S);if(U.warn("parsing error: "+S),this.observer.emit(f.ERROR,f.ERROR,{type:B.MEDIA_ERROR,details:P.FRAG_PARSING_ERROR,fatal:!1,levelRetry:l,error:I,reason:S}),!l)return}if(Si(e,this.observer,E,a,this.audioCodec),void 0!==t.pts)i=t.pts;else{if(!r)return void U.warn("[tsdemuxer]: AAC PES unknown PTS");var A=li(e.samplerate);i=r.sample.pts+A}for(var u,d=0;a<o;){if(a+=(u=Ai(e,E,a,i,d)).length,u.missing){this.aacOverFlow=u;break}for(d++;a<o-1&&!_i(E,a);a++);}},t.parseMPEGPES=function(e,t){var a=t.data,o=a.length,i=0,n=0,r=t.pts;if(void 0!==r)for(;n<o;)if(Di(a,n)){var E=Ni(e,a,n,r,i);if(!E)break;n+=E.length,i++}else n++;else U.warn("[tsdemuxer]: MPEG PES unknown PTS")},t.parseAC3PES=function(e,t){var a=t.data,o=t.pts;if(void 0!==o)for(var i,n=a.length,r=0,E=0;E<n&&(i=vi(e,a,E,o,r++))>0;)E+=i;else U.warn("[tsdemuxer]: AC3 PES unknown PTS")},t.parseID3PES=function(e,t){if(void 0!==t.pts){var a=T({},t,{type:this._videoTrack?Ea.emsg:Ea.audioId3,duration:Number.POSITIVE_INFINITY});e.samples.push(a)}else U.warn("[tsdemuxer]: ID3 PES unknown PTS")},e})();function ki(e,t){return((31&e[t+1])<<8)+e[t+2]}function Fi(e,t){return(31&e[t+10])<<8|e[t+11]}function Vi(e,t,a,o){var i={audioPid:-1,videoPid:-1,id3Pid:-1,segmentVideoCodec:"avc",segmentAudioCodec:"aac"},n=t+3+((15&e[t+1])<<8|e[t+2])-4;for(t+=12+((15&e[t+10])<<8|e[t+11]);t<n;){var r=ki(e,t),E=(15&e[t+3])<<8|e[t+4];switch(e[t]){case 207:if(!o){Hi("ADTS AAC");break}case 15:-1===i.audioPid&&(i.audioPid=r);break;case 21:-1===i.id3Pid&&(i.id3Pid=r);break;case 219:if(!o){Hi("H.264");break}case 27:-1===i.videoPid&&(i.videoPid=r,i.segmentVideoCodec="avc");break;case 3:case 4:a.mpeg||a.mp3?-1===i.audioPid&&(i.audioPid=r,i.segmentAudioCodec="mp3"):U.log("MPEG audio found, not supported in this browser");break;case 193:if(!o){Hi("AC-3");break}case 129:a.ac3?-1===i.audioPid&&(i.audioPid=r,i.segmentAudioCodec="ac3"):U.log("AC-3 audio found, not supported in this browser");break;case 6:if(-1===i.audioPid&&E>0)for(var _=t+5,T=E;T>2;){106===e[_]&&(!0!==a.ac3?U.log("AC-3 audio found, not supported in this browser for now"):(i.audioPid=r,i.segmentAudioCodec="ac3"));var s=e[_+1]+2;_+=s,T-=s}break;case 194:case 135:U.warn("Unsupported EC-3 in M2TS found");break;case 36:U.warn("Unsupported HEVC in M2TS found")}t+=E+5}return i}function Hi(e){U.log(e+" with AES-128-CBC encryption found in unencrypted stream")}function wi(e){var t,a,o,i,n,r=0,E=e.data;if(!e||0===e.size)return null;for(;E[0].length<19&&E.length>1;)E[0]=at(E[0],E[1]),E.splice(1,1);if(1===((t=E[0])[0]<<16)+(t[1]<<8)+t[2]){if((a=(t[4]<<8)+t[5])&&a>e.size-6)return null;var _=t[7];192&_&&(i=536870912*(14&t[9])+4194304*(255&t[10])+16384*(254&t[11])+128*(255&t[12])+(254&t[13])/2,64&_?i-(n=536870912*(14&t[14])+4194304*(255&t[15])+16384*(254&t[16])+128*(255&t[17])+(254&t[18])/2)>54e5&&(U.warn(Math.round((i-n)/9e4)+"s delta between PTS and DTS, align them"),i=n):n=i);var T=(o=t[8])+9;if(e.size<=T)return null;e.size-=T;for(var s=new Uint8Array(e.size),S=0,l=E.length;S<l;S++){var I=(t=E[S]).byteLength;if(T){if(T>I){T-=I;continue}t=t.subarray(T),I-=T,T=0}s.set(t,r),r+=I}return a&&(a-=o+3),{data:s,pts:i,dts:n,len:a}}return null}var Yi=(function(e){function t(){return e.apply(this,arguments)||this}s(t,e);var a=t.prototype;return a.resetInitSegment=function(t,a,o,i){e.prototype.resetInitSegment.call(this,t,a,o,i),this._audioTrack={container:"audio/mpeg",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"mp3",samples:[],manifestCodec:a,duration:i,inputTimeScale:9e4,dropped:0}},t.probe=function(e){if(!e)return!1;var t=ce(e,0),a=(null==t?void 0:t.length)||0;if(t&&11===e[a]&&119===e[a+1]&&void 0!==Ne(t)&&Pi(e,a)<=16)return!1;for(var o=e.length;a<o;a++)if(hi(e,a))return U.log("MPEG Audio sync word found !"),!0;return!1},a.canParse=function(e,t){return pi(e,t)},a.appendFrame=function(e,t,a){if(null!==this.basePTS)return Ni(e,t,a,this.basePTS,this.frameIndex)},t})(ti),zi=(function(){function e(){}return e.getSilentFrame=function(e,t){if("mp4a.40.2"===e){if(1===t)return new Uint8Array([0,200,0,128,35,128]);if(2===t)return new Uint8Array([33,0,73,144,2,25,0,35,128]);if(3===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,142]);if(4===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,128,44,128,8,2,56]);if(5===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,56]);if(6===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,0,178,0,32,8,224])}else{if(1===t)return new Uint8Array([1,64,34,128,163,78,230,128,186,8,0,0,0,28,6,241,193,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(2===t)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(3===t)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94])}},e})(),Ki=Math.pow(2,32)-1,xi=(function(){function e(){}return e.init=function(){var t;for(t in e.types={avc1:[],avcC:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],".mp3":[],dac3:[],"ac-3":[],mvex:[],mvhd:[],pasp:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[]},e.types)e.types.hasOwnProperty(t)&&(e.types[t]=[t.charCodeAt(0),t.charCodeAt(1),t.charCodeAt(2),t.charCodeAt(3)]);var a=new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),o=new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0]);e.HDLR_TYPES={video:a,audio:o};var i=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),n=new Uint8Array([0,0,0,0,0,0,0,0]);e.STTS=e.STSC=e.STCO=n,e.STSZ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),e.VMHD=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0]),e.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]),e.STSD=new Uint8Array([0,0,0,0,0,0,0,1]);var r=new Uint8Array([105,115,111,109]),E=new Uint8Array([97,118,99,49]),_=new Uint8Array([0,0,0,1]);e.FTYP=e.box(e.types.ftyp,r,_,r,E),e.DINF=e.box(e.types.dinf,e.box(e.types.dref,i))},e.box=function(e){for(var t=8,a=arguments.length,o=new Array(a>1?a-1:0),i=1;i<a;i++)o[i-1]=arguments[i];for(var n=o.length,r=n;n--;)t+=o[n].byteLength;var E=new Uint8Array(t);for(E[0]=t>>24&255,E[1]=t>>16&255,E[2]=t>>8&255,E[3]=255&t,E.set(e,4),n=0,t=8;n<r;n++)E.set(o[n],t),t+=o[n].byteLength;return E},e.hdlr=function(t){return e.box(e.types.hdlr,e.HDLR_TYPES[t])},e.mdat=function(t){return e.box(e.types.mdat,t)},e.mdhd=function(t,a){a*=t;var o=Math.floor(a/(Ki+1)),i=Math.floor(a%(Ki+1));return e.box(e.types.mdhd,new Uint8Array([1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,t>>24&255,t>>16&255,t>>8&255,255&t,o>>24,o>>16&255,o>>8&255,255&o,i>>24,i>>16&255,i>>8&255,255&i,85,196,0,0]))},e.mdia=function(t){return e.box(e.types.mdia,e.mdhd(t.timescale,t.duration),e.hdlr(t.type),e.minf(t))},e.mfhd=function(t){return e.box(e.types.mfhd,new Uint8Array([0,0,0,0,t>>24,t>>16&255,t>>8&255,255&t]))},e.minf=function(t){return"audio"===t.type?e.box(e.types.minf,e.box(e.types.smhd,e.SMHD),e.DINF,e.stbl(t)):e.box(e.types.minf,e.box(e.types.vmhd,e.VMHD),e.DINF,e.stbl(t))},e.moof=function(t,a,o){return e.box(e.types.moof,e.mfhd(t),e.traf(o,a))},e.moov=function(t){for(var a=t.length,o=[];a--;)o[a]=e.trak(t[a]);return e.box.apply(null,[e.types.moov,e.mvhd(t[0].timescale,t[0].duration)].concat(o).concat(e.mvex(t)))},e.mvex=function(t){for(var a=t.length,o=[];a--;)o[a]=e.trex(t[a]);return e.box.apply(null,[e.types.mvex].concat(o))},e.mvhd=function(t,a){a*=t;var o=Math.floor(a/(Ki+1)),i=Math.floor(a%(Ki+1)),n=new Uint8Array([1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,t>>24&255,t>>16&255,t>>8&255,255&t,o>>24,o>>16&255,o>>8&255,255&o,i>>24,i>>16&255,i>>8&255,255&i,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]);return e.box(e.types.mvhd,n)},e.sdtp=function(t){var a,o,i=t.samples||[],n=new Uint8Array(4+i.length);for(a=0;a<i.length;a++)o=i[a].flags,n[a+4]=o.dependsOn<<4|o.isDependedOn<<2|o.hasRedundancy;return e.box(e.types.sdtp,n)},e.stbl=function(t){return e.box(e.types.stbl,e.stsd(t),e.box(e.types.stts,e.STTS),e.box(e.types.stsc,e.STSC),e.box(e.types.stsz,e.STSZ),e.box(e.types.stco,e.STCO))},e.avc1=function(t){var a,o,i,n=[],r=[];for(a=0;a<t.sps.length;a++)i=(o=t.sps[a]).byteLength,n.push(i>>>8&255),n.push(255&i),n=n.concat(Array.prototype.slice.call(o));for(a=0;a<t.pps.length;a++)i=(o=t.pps[a]).byteLength,r.push(i>>>8&255),r.push(255&i),r=r.concat(Array.prototype.slice.call(o));var E=e.box(e.types.avcC,new Uint8Array([1,n[3],n[4],n[5],255,224|t.sps.length].concat(n).concat([t.pps.length]).concat(r))),_=t.width,T=t.height,s=t.pixelRatio[0],S=t.pixelRatio[1];return e.box(e.types.avc1,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,_>>8&255,255&_,T>>8&255,255&T,0,72,0,0,0,72,0,0,0,0,0,0,0,1,18,100,97,105,108,121,109,111,116,105,111,110,47,104,108,115,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,17]),E,e.box(e.types.btrt,new Uint8Array([0,28,156,128,0,45,198,192,0,45,198,192])),e.box(e.types.pasp,new Uint8Array([s>>24,s>>16&255,s>>8&255,255&s,S>>24,S>>16&255,S>>8&255,255&S])))},e.esds=function(e){var t=e.config.length;return new Uint8Array([0,0,0,0,3,23+t,0,1,0,4,15+t,64,21,0,0,0,0,0,0,0,0,0,0,0,5].concat([t]).concat(e.config).concat([6,1,2]))},e.audioStsd=function(e){var t=e.samplerate;return new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,e.channelCount,0,16,0,0,0,0,t>>8&255,255&t,0,0])},e.mp4a=function(t){return e.box(e.types.mp4a,e.audioStsd(t),e.box(e.types.esds,e.esds(t)))},e.mp3=function(t){return e.box(e.types[".mp3"],e.audioStsd(t))},e.ac3=function(t){return e.box(e.types["ac-3"],e.audioStsd(t),e.box(e.types.dac3,t.config))},e.stsd=function(t){return"audio"===t.type?"mp3"===t.segmentCodec&&"mp3"===t.codec?e.box(e.types.stsd,e.STSD,e.mp3(t)):"ac3"===t.segmentCodec?e.box(e.types.stsd,e.STSD,e.ac3(t)):e.box(e.types.stsd,e.STSD,e.mp4a(t)):e.box(e.types.stsd,e.STSD,e.avc1(t))},e.tkhd=function(t){var a=t.id,o=t.duration*t.timescale,i=t.width,n=t.height,r=Math.floor(o/(Ki+1)),E=Math.floor(o%(Ki+1));return e.box(e.types.tkhd,new Uint8Array([1,0,0,7,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,a>>24&255,a>>16&255,a>>8&255,255&a,0,0,0,0,r>>24,r>>16&255,r>>8&255,255&r,E>>24,E>>16&255,E>>8&255,255&E,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,i>>8&255,255&i,0,0,n>>8&255,255&n,0,0]))},e.traf=function(t,a){var o=e.sdtp(t),i=t.id,n=Math.floor(a/(Ki+1)),r=Math.floor(a%(Ki+1));return e.box(e.types.traf,e.box(e.types.tfhd,new Uint8Array([0,0,0,0,i>>24,i>>16&255,i>>8&255,255&i])),e.box(e.types.tfdt,new Uint8Array([1,0,0,0,n>>24,n>>16&255,n>>8&255,255&n,r>>24,r>>16&255,r>>8&255,255&r])),e.trun(t,o.length+16+20+8+16+8+8),o)},e.trak=function(t){return t.duration=t.duration||4294967295,e.box(e.types.trak,e.tkhd(t),e.mdia(t))},e.trex=function(t){var a=t.id;return e.box(e.types.trex,new Uint8Array([0,0,0,0,a>>24,a>>16&255,a>>8&255,255&a,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]))},e.trun=function(t,a){var o,i,n,r,E,_,T=t.samples||[],s=T.length,S=12+16*s,l=new Uint8Array(S);for(a+=8+S,l.set(["video"===t.type?1:0,0,15,1,s>>>24&255,s>>>16&255,s>>>8&255,255&s,a>>>24&255,a>>>16&255,a>>>8&255,255&a],0),o=0;o<s;o++)n=(i=T[o]).duration,r=i.size,E=i.flags,_=i.cts,l.set([n>>>24&255,n>>>16&255,n>>>8&255,255&n,r>>>24&255,r>>>16&255,r>>>8&255,255&r,E.isLeading<<2|E.dependsOn,E.isDependedOn<<6|E.hasRedundancy<<4|E.paddingValue<<1|E.isNonSync,61440&E.degradPrio,15&E.degradPrio,_>>>24&255,_>>>16&255,_>>>8&255,255&_],12+16*o);return e.box(e.types.trun,l)},e.initSegment=function(t){e.types||e.init();var a=e.moov(t);return at(e.FTYP,a)},e})();xi.types=void 0,xi.HDLR_TYPES=void 0,xi.STTS=void 0,xi.STSC=void 0,xi.STCO=void 0,xi.STSZ=void 0,xi.VMHD=void 0,xi.SMHD=void 0,xi.STSD=void 0,xi.FTYP=void 0,xi.DINF=void 0;var ji=9e4;function Qi(e,t,a,o){void 0===a&&(a=1),void 0===o&&(o=!1);var i=e*t*a;return o?Math.round(i):i}function Xi(e,t,a,o){return void 0===a&&(a=1),void 0===o&&(o=!1),Qi(e,t,1/a,o)}function $i(e,t){return void 0===t&&(t=!1),Qi(e,1e3,1/ji,t)}function qi(e,t){return void 0===t&&(t=1),Qi(e,ji,1/t)}var Ji=1e4,Zi=1024,en=1152,tn=1536,an=null,on=null,nn=(function(){function e(e,t,a,o){if(this.observer=void 0,this.config=void 0,this.typeSupported=void 0,this.ISGenerated=!1,this._initPTS=null,this._initDTS=null,this.nextAvcDts=null,this.nextAudioPts=null,this.videoSampleDuration=null,this.isAudioContiguous=!1,this.isVideoContiguous=!1,this.videoTrackConfig=void 0,this.observer=e,this.config=t,this.typeSupported=a,this.ISGenerated=!1,null===an){var i=(navigator.userAgent||"").match(/Chrome\/(\d+)/i);an=i?parseInt(i[1]):0}if(null===on){var n=navigator.userAgent.match(/Safari\/(\d+)/i);on=n?parseInt(n[1]):0}}var t=e.prototype;return t.destroy=function(){this.config=this.videoTrackConfig=this._initPTS=this._initDTS=null},t.resetTimeStamp=function(e){U.log("[mp4-remuxer]: initPTS & initDTS reset"),this._initPTS=this._initDTS=e},t.resetNextTimestamp=function(){U.log("[mp4-remuxer]: reset next timestamp"),this.isVideoContiguous=!1,this.isAudioContiguous=!1},t.resetInitSegment=function(){U.log("[mp4-remuxer]: ISGenerated flag reset"),this.ISGenerated=!1,this.videoTrackConfig=void 0},t.getVideoStartPts=function(e){var t=!1,a=e.reduce((function(e,a){var o=a.pts-e;return o<-4294967296?(t=!0,rn(e,a.pts)):o>0?e:a.pts}),e[0].pts);return t&&U.debug("PTS rollover detected"),a},t.remux=function(e,t,a,o,i,n,r,E){var _,T,s,S,l,I,A=i,u=i,d=e.pid>-1,c=t.pid>-1,O=t.samples.length,R=e.samples.length>0,N=r&&O>0||O>1;if((!d||R)&&(!c||N)||this.ISGenerated||r){if(this.ISGenerated){var m,L,D,p,h=this.videoTrackConfig;!h||t.width===h.width&&t.height===h.height&&(null==(m=t.pixelRatio)?void 0:m[0])===(null==(L=h.pixelRatio)?void 0:L[0])&&(null==(D=t.pixelRatio)?void 0:D[1])===(null==(p=h.pixelRatio)?void 0:p[1])||this.resetInitSegment()}else s=this.generateIS(e,t,i,n);var C,f=this.isVideoContiguous,B=-1;if(N&&(B=En(t.samples),!f&&this.config.forceKeyFrameOnDiscontinuity))if(I=!0,B>0){U.warn("[mp4-remuxer]: Dropped "+B+" out of "+O+" video samples due to a missing keyframe");var P=this.getVideoStartPts(t.samples);t.samples=t.samples.slice(B),t.dropped+=B,C=u+=(t.samples[0].pts-P)/t.inputTimeScale}else-1===B&&(U.warn("[mp4-remuxer]: No keyframe found out of "+O+" video samples"),I=!1);if(this.ISGenerated){if(R&&N){var g=this.getVideoStartPts(t.samples),v=(rn(e.samples[0].pts,g)-g)/t.inputTimeScale;A+=Math.max(0,v),u+=Math.max(0,-v)}if(R){if(e.samplerate||(U.warn("[mp4-remuxer]: regenerate InitSegment as audio detected"),s=this.generateIS(e,t,i,n)),T=this.remuxAudio(e,A,this.isAudioContiguous,n,c||N||E===$t.AUDIO?u:void 0),N){var y=T?T.endPTS-T.startPTS:0;t.inputTimeScale||(U.warn("[mp4-remuxer]: regenerate InitSegment as video detected"),s=this.generateIS(e,t,i,n)),_=this.remuxVideo(t,u,f,y)}}else N&&(_=this.remuxVideo(t,u,f,0));_&&(_.firstKeyFrame=B,_.independent=-1!==B,_.firstKeyFramePTS=C)}}return this.ISGenerated&&this._initPTS&&this._initDTS&&(a.samples.length&&(l=_n(a,i,this._initPTS,this._initDTS)),o.samples.length&&(S=Tn(o,i,this._initPTS))),{audio:T,video:_,initSegment:s,independent:I,text:S,id3:l}},t.generateIS=function(e,t,a,o){var i,n,r,E=e.samples,_=t.samples,T=this.typeSupported,s={},S=this._initPTS,l=!S||o,I="audio/mp4";if(l&&(i=n=1/0),e.config&&E.length){switch(e.timescale=e.samplerate,e.segmentCodec){case"mp3":T.mpeg?(I="audio/mpeg",e.codec=""):T.mp3&&(e.codec="mp3");break;case"ac3":e.codec="ac-3"}s.audio={id:"audio",container:I,codec:e.codec,initSegment:"mp3"===e.segmentCodec&&T.mpeg?new Uint8Array(0):xi.initSegment([e]),metadata:{channelCount:e.channelCount}},l&&(r=e.inputTimeScale,S&&r===S.timescale?l=!1:i=n=E[0].pts-Math.round(r*a))}if(t.sps&&t.pps&&_.length){if(t.timescale=t.inputTimeScale,s.video={id:"main",container:"video/mp4",codec:t.codec,initSegment:xi.initSegment([t]),metadata:{width:t.width,height:t.height}},l)if(r=t.inputTimeScale,S&&r===S.timescale)l=!1;else{var A=this.getVideoStartPts(_),u=Math.round(r*a);n=Math.min(n,rn(_[0].dts,A)-u),i=Math.min(i,A-u)}this.videoTrackConfig={width:t.width,height:t.height,pixelRatio:t.pixelRatio}}if(Object.keys(s).length)return this.ISGenerated=!0,l?(this._initPTS={baseTime:i,timescale:r},this._initDTS={baseTime:n,timescale:r}):i=r=void 0,{tracks:s,initPTS:i,timescale:r}},t.remuxVideo=function(e,t,a,o){var i,n,r=e.inputTimeScale,E=e.samples,_=[],s=E.length,S=this._initPTS,l=this.nextAvcDts,I=8,A=this.videoSampleDuration,u=Number.POSITIVE_INFINITY,d=Number.NEGATIVE_INFINITY,c=!1;if(!a||null===l){var O=t*r,R=E[0].pts-rn(E[0].dts,E[0].pts);an&&null!==l&&Math.abs(O-R-l)<15e3?a=!0:l=O-R}for(var N=S.baseTime*r/S.timescale,m=0;m<s;m++){var L=E[m];L.pts=rn(L.pts-N,l),L.dts=rn(L.dts-N,l),L.dts<E[m>0?m-1:m].dts&&(c=!0)}c&&E.sort((function(e,t){var a=e.dts-t.dts,o=e.pts-t.pts;return a||o})),i=E[0].dts;var D=(n=E[E.length-1].dts)-i,p=D?Math.round(D/(s-1)):A||e.inputTimeScale/30;if(a){var h=i-l,C=h>p,g=h<-1;if((C||g)&&(C?U.warn("AVC: "+$i(h,!0)+" ms ("+h+"dts) hole between fragments detected at "+t.toFixed(3)):U.warn("AVC: "+$i(-h,!0)+" ms ("+h+"dts) overlapping between fragments detected at "+t.toFixed(3)),!g||l>=E[0].pts||an)){i=l;var v=E[0].pts-h;if(C)E[0].dts=i,E[0].pts=v;else for(var y=0;y<E.length&&!(E[y].dts>v);y++)E[y].dts-=h,E[y].pts-=h;U.log("Video: Initial PTS/DTS adjusted: "+$i(v,!0)+"/"+$i(i,!0)+", delta: "+$i(h,!0)+" ms")}}for(var W=0,M=0,b=i=Math.max(0,i),G=0;G<s;G++){for(var k=E[G],F=k.units,V=F.length,H=0,w=0;w<V;w++)H+=F[w].data.length;M+=H,W+=V,k.length=H,k.dts<b?(k.dts=b,b+=p/4|0||1):b=k.dts,u=Math.min(k.pts,u),d=Math.max(k.pts,d)}n=E[s-1].dts;var Y,z=M+4*W+8;try{Y=new Uint8Array(z)}catch(e){return void this.observer.emit(f.ERROR,f.ERROR,{type:B.MUX_ERROR,details:P.REMUX_ALLOC_ERROR,fatal:!1,error:e,bytes:z,reason:"fail allocating video mdat "+z})}var K=new DataView(Y.buffer);K.setUint32(0,z),Y.set(xi.types.mdat,4);for(var x=!1,j=Number.POSITIVE_INFINITY,Q=Number.POSITIVE_INFINITY,X=Number.NEGATIVE_INFINITY,$=Number.NEGATIVE_INFINITY,q=0;q<s;q++){for(var J=E[q],Z=J.units,ee=0,te=0,ae=Z.length;te<ae;te++){var oe=Z[te],ie=oe.data,ne=oe.data.byteLength;K.setUint32(I,ne),I+=4,Y.set(ie,I),I+=ne,ee+=4+ne}var re=void 0;if(q<s-1)A=E[q+1].dts-J.dts,re=E[q+1].pts-J.pts;else{var Ee=this.config,_e=q>0?J.dts-E[q-1].dts:p;if(re=q>0?J.pts-E[q-1].pts:p,Ee.stretchShortVideoTrack&&null!==this.nextAudioPts){var Te=Math.floor(Ee.maxBufferHole*r),se=(o?u+o*r:this.nextAudioPts)-J.pts;se>Te?((A=se-_e)<0?A=_e:x=!0,U.log("[mp4-remuxer]: It is approximately "+se/90+" ms to the next segment; using duration "+A/90+" ms for the last video frame.")):A=_e}else A=_e}var Se=Math.round(J.pts-J.dts);j=Math.min(j,A),X=Math.max(X,A),Q=Math.min(Q,re),$=Math.max($,re),_.push(new Sn(J.key,A,ee,Se))}if(_.length)if(an){if(an<70){var le=_[0].flags;le.dependsOn=2,le.isNonSync=0}}else if(on&&$-Q<X-j&&p/X<.025&&0===_[0].cts){U.warn("Found irregular gaps in sample duration. Using PTS instead of DTS to determine MP4 sample duration.");for(var Ie=i,Ae=0,ue=_.length;Ae<ue;Ae++){var de=Ie+_[Ae].duration,ce=Ie+_[Ae].cts;if(Ae<ue-1){var Oe=de+_[Ae+1].cts;_[Ae].duration=Oe-ce}else _[Ae].duration=Ae?_[Ae-1].duration:p;_[Ae].cts=0,Ie=de}}A=x||!A?p:A,this.nextAvcDts=l=n+A,this.videoSampleDuration=A,this.isVideoContiguous=!0;var Re={data1:xi.moof(e.sequenceNumber++,i,T({},e,{samples:_})),data2:Y,startPTS:u/r,endPTS:(d+A)/r,startDTS:i/r,endDTS:l/r,type:"video",hasAudio:!1,hasVideo:!0,nb:_.length,dropped:e.dropped};return e.samples=[],e.dropped=0,Re},t.getSamplesPerFrame=function(e){switch(e.segmentCodec){case"mp3":return en;case"ac3":return tn;default:return Zi}},t.remuxAudio=function(e,t,a,o,i){var n=e.inputTimeScale,r=n/(e.samplerate?e.samplerate:n),E=this.getSamplesPerFrame(e),_=E*r,s=this._initPTS,S="mp3"===e.segmentCodec&&this.typeSupported.mpeg,l=[],I=void 0!==i,A=e.samples,u=S?0:8,d=this.nextAudioPts||-1,c=t*n,O=s.baseTime*n/s.timescale;if(this.isAudioContiguous=a=a||A.length&&d>0&&(o&&Math.abs(c-d)<9e3||Math.abs(rn(A[0].pts-O,c)-d)<20*_),A.forEach((function(e){e.pts=rn(e.pts-O,c)})),!a||d<0){if(A=A.filter((function(e){return e.pts>=0})),!A.length)return;d=0===i?0:o&&!I?Math.max(0,c):A[0].pts}if("aac"===e.segmentCodec)for(var R=this.config.maxAudioFramesDrift,N=0,m=d;N<A.length;N++){var L=A[N],D=L.pts,p=D-m,h=Math.abs(1e3*p/n);if(p<=-R*_&&I)0===N&&(U.warn("Audio frame @ "+(D/n).toFixed(3)+"s overlaps nextAudioPts by "+Math.round(1e3*p/n)+" ms."),this.nextAudioPts=d=m=D);else if(p>=R*_&&h<Ji&&I){var C=Math.round(p/_);(m=D-C*_)<0&&(C--,m+=_),0===N&&(this.nextAudioPts=d=m),U.warn("[mp4-remuxer]: Injecting "+C+" audio frame @ "+(m/n).toFixed(3)+"s due to "+Math.round(1e3*p/n)+" ms gap.");for(var g=0;g<C;g++){var v=Math.max(m,0),y=zi.getSilentFrame(e.manifestCodec||e.codec,e.channelCount);y||(U.log("[mp4-remuxer]: Unable to get silent frame for given audio codec; duplicating last frame instead."),y=L.unit.subarray()),A.splice(N,0,{unit:y,pts:v}),m+=_,N++}}L.pts=m,m+=_}for(var W,M=null,b=null,G=0,k=A.length;k--;)G+=A[k].unit.byteLength;for(var F=0,V=A.length;F<V;F++){var H=A[F],w=H.unit,Y=H.pts;if(null!==b)l[F-1].duration=Math.round((Y-b)/r);else{if(a&&"aac"===e.segmentCodec&&(Y=d),M=Y,!(G>0))return;G+=u;try{W=new Uint8Array(G)}catch(e){return void this.observer.emit(f.ERROR,f.ERROR,{type:B.MUX_ERROR,details:P.REMUX_ALLOC_ERROR,fatal:!1,error:e,bytes:G,reason:"fail allocating audio mdat "+G})}S||(new DataView(W.buffer).setUint32(0,G),W.set(xi.types.mdat,4))}W.set(w,u);var z=w.byteLength;u+=z,l.push(new Sn(!0,E,z,0)),b=Y}var K=l.length;if(K){var x=l[l.length-1];this.nextAudioPts=d=b+r*x.duration;var j=S?new Uint8Array(0):xi.moof(e.sequenceNumber++,M/r,T({},e,{samples:l}));e.samples=[];var Q=M/n,X=d/n,$={data1:j,data2:W,startPTS:Q,endPTS:X,startDTS:Q,endDTS:X,type:"audio",hasAudio:!0,hasVideo:!1,nb:K};return this.isAudioContiguous=!0,$}},t.remuxEmptyAudio=function(e,t,a,o){var i=e.inputTimeScale,n=i/(e.samplerate?e.samplerate:i),r=this.nextAudioPts,E=this._initDTS,_=9e4*E.baseTime/E.timescale,T=(null!==r?r:o.startDTS*i)+_,s=o.endDTS*i+_,S=n*Zi,l=Math.ceil((s-T)/S),I=zi.getSilentFrame(e.manifestCodec||e.codec,e.channelCount);if(U.warn("[mp4-remuxer]: remux empty Audio"),I){for(var A=[],u=0;u<l;u++){var d=T+u*S;A.push({unit:I,pts:d,dts:d})}return e.samples=A,this.remuxAudio(e,t,a,!1)}U.trace("[mp4-remuxer]: Unable to remuxEmptyAudio since we were unable to get a silent frame for given audio codec")},e})();function rn(e,t){var a;if(null===t)return e;for(a=t<e?-8589934592:8589934592;Math.abs(e-t)>4294967296;)e+=a;return e}function En(e){for(var t=0;t<e.length;t++)if(e[t].key)return t;return-1}function _n(e,t,a,o){var i=e.samples.length;if(i){for(var n=e.inputTimeScale,r=0;r<i;r++){var E=e.samples[r];E.pts=rn(E.pts-a.baseTime*n/a.timescale,t*n)/n,E.dts=rn(E.dts-o.baseTime*n/o.timescale,t*n)/n}var _=e.samples;return e.samples=[],{samples:_}}}function Tn(e,t,a){var o=e.samples.length;if(o){for(var i=e.inputTimeScale,n=0;n<o;n++){var r=e.samples[n];r.pts=rn(r.pts-a.baseTime*i/a.timescale,t*i)/i}e.samples.sort((function(e,t){return e.pts-t.pts}));var E=e.samples;return e.samples=[],{samples:E}}}var sn,Sn=function(e,t,a,o){this.size=void 0,this.duration=void 0,this.cts=void 0,this.flags=void 0,this.duration=t,this.size=a,this.cts=o,this.flags={isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:e?2:1,isNonSync:e?0:1}},ln=(function(){function e(){this.emitInitSegment=!1,this.audioCodec=void 0,this.videoCodec=void 0,this.initData=void 0,this.initPTS=null,this.initTracks=void 0,this.lastEndTime=null}var t=e.prototype;return t.destroy=function(){},t.resetTimeStamp=function(e){this.initPTS=e,this.lastEndTime=null},t.resetNextTimestamp=function(){this.lastEndTime=null},t.resetInitSegment=function(e,t,a,o){this.audioCodec=t,this.videoCodec=a,this.generateInitSegment(Xe(e,o)),this.emitInitSegment=!0},t.generateInitSegment=function(e){var t=this.audioCodec,a=this.videoCodec;if(null==e||!e.byteLength)return this.initTracks=void 0,void(this.initData=void 0);var o=this.initData=ze(e);o.audio&&(t=An(o.audio,z.AUDIO)),o.video&&(a=An(o.video,z.VIDEO));var i={};o.audio&&o.video?i.audiovideo={container:"video/mp4",codec:t+","+a,initSegment:e,id:"main"}:o.audio?i.audio={container:"audio/mp4",codec:t,initSegment:e,id:"audio"}:o.video?i.video={container:"video/mp4",codec:a,initSegment:e,id:"main"}:U.warn("[passthrough-remuxer.ts]: initSegment does not contain moov or trak boxes."),this.initTracks=i},t.remux=function(e,t,a,o,i,n){var r,E,_=this.initPTS,T=this.lastEndTime,s={audio:void 0,video:void 0,text:o,id3:a,initSegment:void 0};p(T)||(T=this.lastEndTime=i||0);var S=t.samples;if(null==S||!S.length)return s;var l={initPTS:void 0,timescale:1},I=this.initData;if(null!=(r=I)&&r.length||(this.generateInitSegment(S),I=this.initData),null==(E=I)||!E.length)return U.warn("[passthrough-remuxer.ts]: Failed to generate initSegment."),s;this.emitInitSegment&&(l.tracks=this.initTracks,this.emitInitSegment=!1);var A=Je(S,I),u=qe(I,S),d=null===u?i:u;(In(_,d,i,A)||l.timescale!==_.timescale&&n)&&(l.initPTS=d-i,_&&1===_.timescale&&U.warn("Adjusting initPTS by "+(l.initPTS-_.baseTime)),this.initPTS=_={baseTime:l.initPTS,timescale:1});var c=e?d-_.baseTime/_.timescale:T,O=c+A;et(I,S,_.baseTime/_.timescale),A>0?this.lastEndTime=O:(U.warn("Duration parsed from mp4 should be greater than zero"),this.resetNextTimestamp());var R=!!I.audio,N=!!I.video,m="";R&&(m+="audio"),N&&(m+="video");var L={data1:S,startPTS:c,startDTS:c,endPTS:O,endDTS:O,type:m,hasAudio:R,hasVideo:N,nb:1,dropped:0};return s.audio="audio"===L.type?L:void 0,s.video="audio"!==L.type?L:void 0,s.initSegment=l,s.id3=_n(a,i,_,_),o.samples.length&&(s.text=Tn(o,i,_)),s},e})();function In(e,t,a,o){if(null===e)return!0;var i=Math.max(o,1),n=t-e.baseTime/e.timescale;return Math.abs(n-a)>i}function An(e,t){var a=null==e?void 0:e.codec;if(a&&a.length>4)return a;if(t===z.AUDIO){if("ec-3"===a||"ac-3"===a||"alac"===a)return a;if("fLaC"===a||"Opus"===a)return yt(a,!1);var o="mp4a.40.5";return U.info('Parsed audio codec "'+a+'" or audio object type not handled. Using "'+o+'"'),o}return U.warn('Unhandled video codec "'+a+'"'),"hvc1"===a||"hev1"===a?"hvc1.1.6.L120.90":"av01"===a?"av01.0.04M.08":"avc1.42e01e"}try{sn=self.performance.now.bind(self.performance)}catch(e){U.debug("Unable to use Performance API on this environment"),sn=null==te?void 0:te.Date.now}var un=[{demux:Bi,remux:ln},{demux:Gi,remux:nn},{demux:Ci,remux:nn},{demux:Yi,remux:nn}];un.splice(2,0,{demux:gi,remux:nn});var dn=(function(){function e(e,t,a,o,i){this.async=!1,this.observer=void 0,this.typeSupported=void 0,this.config=void 0,this.vendor=void 0,this.id=void 0,this.demuxer=void 0,this.remuxer=void 0,this.decrypter=void 0,this.probe=void 0,this.decryptionPromise=null,this.transmuxConfig=void 0,this.currentTransmuxState=void 0,this.observer=e,this.typeSupported=t,this.config=a,this.vendor=o,this.id=i}var t=e.prototype;return t.configure=function(e){this.transmuxConfig=e,this.decrypter&&this.decrypter.reset()},t.push=function(e,t,a,o){var i=this,n=a.transmuxing;n.executeStart=sn();var r=new Uint8Array(e),E=this.currentTransmuxState,_=this.transmuxConfig;o&&(this.currentTransmuxState=o);var T=o||E,s=T.contiguous,S=T.discontinuity,l=T.trackSwitch,I=T.accurateTimeOffset,A=T.timeOffset,u=T.initSegmentChange,d=_.audioCodec,c=_.videoCodec,O=_.defaultInitPts,R=_.duration,N=_.initSegmentData,m=cn(r,t);if(m&&"AES-128"===m.method){var L=this.getDecrypter();if(!L.isSync())return this.decryptionPromise=L.webCryptoDecrypt(r,m.key.buffer,m.iv.buffer).then((function(e){var t=i.push(e,null,a);return i.decryptionPromise=null,t})),this.decryptionPromise;var D=L.softwareDecrypt(r,m.key.buffer,m.iv.buffer);if(a.part>-1&&(D=L.flush()),!D)return n.executeEnd=sn(),On(a);r=new Uint8Array(D)}var p=this.needsProbing(S,l);if(p){var h=this.configureTransmuxer(r);if(h)return U.warn("[transmuxer] "+h.message),this.observer.emit(f.ERROR,f.ERROR,{type:B.MEDIA_ERROR,details:P.FRAG_PARSING_ERROR,fatal:!1,error:h,reason:h.message}),n.executeEnd=sn(),On(a)}(S||l||u||p)&&this.resetInitSegment(N,d,c,R,t),(S||u||p)&&this.resetInitialTimestamp(O),s||this.resetContiguity();var C=this.transmux(r,m,A,I,a),g=this.currentTransmuxState;return g.contiguous=!0,g.discontinuity=!1,g.trackSwitch=!1,n.executeEnd=sn(),C},t.flush=function(e){var t=this,a=e.transmuxing;a.executeStart=sn();var o=this.decrypter,i=this.currentTransmuxState,n=this.decryptionPromise;if(n)return n.then((function(){return t.flush(e)}));var r=[],E=i.timeOffset;if(o){var _=o.flush();_&&r.push(this.push(_,null,e))}var T=this.demuxer,s=this.remuxer;if(!T||!s)return a.executeEnd=sn(),[On(e)];var S=T.flush(E);return Rn(S)?S.then((function(a){return t.flushRemux(r,a,e),r})):(this.flushRemux(r,S,e),r)},t.flushRemux=function(e,t,a){var o=t.audioTrack,i=t.videoTrack,n=t.id3Track,r=t.textTrack,E=this.currentTransmuxState,_=E.accurateTimeOffset,T=E.timeOffset;U.log("[transmuxer.ts]: Flushed fragment "+a.sn+(a.part>-1?" p: "+a.part:"")+" of level "+a.level);var s=this.remuxer.remux(o,i,n,r,T,_,!0,this.id);e.push({remuxResult:s,chunkMeta:a}),a.transmuxing.executeEnd=sn()},t.resetInitialTimestamp=function(e){var t=this.demuxer,a=this.remuxer;t&&a&&(t.resetTimeStamp(e),a.resetTimeStamp(e))},t.resetContiguity=function(){var e=this.demuxer,t=this.remuxer;e&&t&&(e.resetContiguity(),t.resetNextTimestamp())},t.resetInitSegment=function(e,t,a,o,i){var n=this.demuxer,r=this.remuxer;n&&r&&(n.resetInitSegment(e,t,a,o),r.resetInitSegment(e,t,a,i))},t.destroy=function(){this.demuxer&&(this.demuxer.destroy(),this.demuxer=void 0),this.remuxer&&(this.remuxer.destroy(),this.remuxer=void 0)},t.transmux=function(e,t,a,o,i){return t&&"SAMPLE-AES"===t.method?this.transmuxSampleAes(e,t,a,o,i):this.transmuxUnencrypted(e,a,o,i)},t.transmuxUnencrypted=function(e,t,a,o){var i=this.demuxer.demux(e,t,!1,!this.config.progressive),n=i.audioTrack,r=i.videoTrack,E=i.id3Track,_=i.textTrack;return{remuxResult:this.remuxer.remux(n,r,E,_,t,a,!1,this.id),chunkMeta:o}},t.transmuxSampleAes=function(e,t,a,o,i){var n=this;return this.demuxer.demuxSampleAes(e,t,a).then((function(e){return{remuxResult:n.remuxer.remux(e.audioTrack,e.videoTrack,e.id3Track,e.textTrack,a,o,!1,n.id),chunkMeta:i}}))},t.configureTransmuxer=function(e){for(var t,a=this.config,o=this.observer,i=this.typeSupported,n=this.vendor,r=0,E=un.length;r<E;r++){var _;if(null!=(_=un[r].demux)&&_.probe(e)){t=un[r];break}}if(!t)return new Error("Failed to find demuxer by probing fragment data");var T=this.demuxer,s=this.remuxer,S=t.remux,l=t.demux;s&&s instanceof S||(this.remuxer=new S(o,a,i,n)),T&&T instanceof l||(this.demuxer=new l(o,a,i),this.probe=l.probe)},t.needsProbing=function(e,t){return!this.demuxer||!this.remuxer||e||t},t.getDecrypter=function(){var e=this.decrypter;return e||(e=this.decrypter=new Qo(this.config)),e},e})();function cn(e,t){var a=null;return e.byteLength>0&&null!=(null==t?void 0:t.key)&&null!==t.iv&&null!=t.method&&(a=t),a}var On=function(e){return{remuxResult:{},chunkMeta:e}};function Rn(e){return"then"in e&&e.then instanceof Function}var Nn=function(e,t,a,o,i){this.audioCodec=void 0,this.videoCodec=void 0,this.initSegmentData=void 0,this.duration=void 0,this.defaultInitPts=void 0,this.audioCodec=e,this.videoCodec=t,this.initSegmentData=a,this.duration=o,this.defaultInitPts=i||null},mn=function(e,t,a,o,i,n){this.discontinuity=void 0,this.contiguous=void 0,this.accurateTimeOffset=void 0,this.trackSwitch=void 0,this.timeOffset=void 0,this.initSegmentChange=void 0,this.discontinuity=e,this.contiguous=t,this.accurateTimeOffset=a,this.trackSwitch=o,this.timeOffset=i,this.initSegmentChange=n},Ln={exports:{}};!(function(e){var t=Object.prototype.hasOwnProperty,a="~";function o(){}function i(e,t,a){this.fn=e,this.context=t,this.once=a||!1}function n(e,t,o,n,r){if("function"!=typeof o)throw new TypeError("The listener must be a function");var E=new i(o,n||e,r),_=a?a+t:t;return e._events[_]?e._events[_].fn?e._events[_]=[e._events[_],E]:e._events[_].push(E):(e._events[_]=E,e._eventsCount++),e}function r(e,t){0==--e._eventsCount?e._events=new o:delete e._events[t]}function E(){this._events=new o,this._eventsCount=0}Object.create&&(o.prototype=Object.create(null),(new o).__proto__||(a=!1)),E.prototype.eventNames=function(){var e,o,i=[];if(0===this._eventsCount)return i;for(o in e=this._events)t.call(e,o)&&i.push(a?o.slice(1):o);return Object.getOwnPropertySymbols?i.concat(Object.getOwnPropertySymbols(e)):i},E.prototype.listeners=function(e){var t=a?a+e:e,o=this._events[t];if(!o)return[];if(o.fn)return[o.fn];for(var i=0,n=o.length,r=new Array(n);i<n;i++)r[i]=o[i].fn;return r},E.prototype.listenerCount=function(e){var t=a?a+e:e,o=this._events[t];return o?o.fn?1:o.length:0},E.prototype.emit=function(e,t,o,i,n,r){var E=a?a+e:e;if(!this._events[E])return!1;var _,T,s=this._events[E],S=arguments.length;if(s.fn){switch(s.once&&this.removeListener(e,s.fn,void 0,!0),S){case 1:return s.fn.call(s.context),!0;case 2:return s.fn.call(s.context,t),!0;case 3:return s.fn.call(s.context,t,o),!0;case 4:return s.fn.call(s.context,t,o,i),!0;case 5:return s.fn.call(s.context,t,o,i,n),!0;case 6:return s.fn.call(s.context,t,o,i,n,r),!0}for(T=1,_=new Array(S-1);T<S;T++)_[T-1]=arguments[T];s.fn.apply(s.context,_)}else{var l,I=s.length;for(T=0;T<I;T++)switch(s[T].once&&this.removeListener(e,s[T].fn,void 0,!0),S){case 1:s[T].fn.call(s[T].context);break;case 2:s[T].fn.call(s[T].context,t);break;case 3:s[T].fn.call(s[T].context,t,o);break;case 4:s[T].fn.call(s[T].context,t,o,i);break;default:if(!_)for(l=1,_=new Array(S-1);l<S;l++)_[l-1]=arguments[l];s[T].fn.apply(s[T].context,_)}}return!0},E.prototype.on=function(e,t,a){return n(this,e,t,a,!1)},E.prototype.once=function(e,t,a){return n(this,e,t,a,!0)},E.prototype.removeListener=function(e,t,o,i){var n=a?a+e:e;if(!this._events[n])return this;if(!t)return r(this,n),this;var E=this._events[n];if(E.fn)E.fn!==t||i&&!E.once||o&&E.context!==o||r(this,n);else{for(var _=0,T=[],s=E.length;_<s;_++)(E[_].fn!==t||i&&!E[_].once||o&&E[_].context!==o)&&T.push(E[_]);T.length?this._events[n]=1===T.length?T[0]:T:r(this,n)}return this},E.prototype.removeAllListeners=function(e){var t;return e?(t=a?a+e:e,this._events[t]&&r(this,t)):(this._events=new o,this._eventsCount=0),this},E.prototype.off=E.prototype.removeListener,E.prototype.addListener=E.prototype.on,E.prefixed=a,E.EventEmitter=E,e.exports=E})(Ln);var Dn=m(Ln.exports);function pn(e){var t=new Dn,a=function(t,a){e.postMessage({event:t,data:a})};t.on(f.FRAG_DECRYPTED,a),t.on(f.ERROR,a);var o=function(){var e=function(e){var t=function(t){a("workerLog",{logType:e,message:t})};U[e]=t};for(var t in U)e(t)};e.addEventListener("message",(function(i){var n=i.data;switch(n.cmd){case"init":var r=JSON.parse(n.config);e.transmuxer=new dn(t,n.typeSupported,r,n.vendor,n.id),b(r.debug,n.id),o(),a("init",null);break;case"configure":e.transmuxer.configure(n.config);break;case"demux":var E=e.transmuxer.push(n.data,n.decryptdata,n.chunkMeta,n.state);Rn(E)?(e.transmuxer.async=!0,E.then((function(t){hn(e,t)})).catch((function(e){a(f.ERROR,{type:B.MEDIA_ERROR,details:P.FRAG_PARSING_ERROR,chunkMeta:n.chunkMeta,fatal:!1,error:e,err:e,reason:"transmuxer-worker push error"})}))):(e.transmuxer.async=!1,hn(e,E));break;case"flush":var _=n.chunkMeta,T=e.transmuxer.flush(_);Rn(T)||e.transmuxer.async?(Rn(T)||(T=Promise.resolve(T)),T.then((function(t){fn(e,t,_)})).catch((function(e){a(f.ERROR,{type:B.MEDIA_ERROR,details:P.FRAG_PARSING_ERROR,chunkMeta:n.chunkMeta,fatal:!1,error:e,err:e,reason:"transmuxer-worker flush error"})}))):fn(e,T,_)}}))}function hn(e,t){if(Bn(t.remuxResult))return!1;var a=[],o=t.remuxResult,i=o.audio,n=o.video;return i&&Cn(a,i),n&&Cn(a,n),e.postMessage({event:"transmuxComplete",data:t},a),!0}function Cn(e,t){t.data1&&e.push(t.data1.buffer),t.data2&&e.push(t.data2.buffer)}function fn(e,t,a){t.reduce((function(t,a){return hn(e,a)||t}),!1)||e.postMessage({event:"transmuxComplete",data:t[0]}),e.postMessage({event:"flush",data:a})}function Bn(e){return!(e.audio||e.video||e.text||e.id3||e.initSegment)}function Pn(){return!0}function gn(){var e=new self.Blob(["var exports={};var module={exports:exports};function define(f){f()};define.amd=true;("+t.toString()+")(true);"],{type:"text/javascript"}),a=self.URL.createObjectURL(e);return{worker:new self.Worker(a),objectURL:a}}function vn(e){var t=new self.URL(e,self.location.href).href;return{worker:new self.Worker(t),scriptURL:t}}void 0!==a&&a&&pn(self);var yn=(function(){function e(e,t,a,o){var i=this;this.error=null,this.hls=void 0,this.id=void 0,this.observer=void 0,this.frag=null,this.part=null,this.useWorker=void 0,this.workerContext=null,this.onwmsg=void 0,this.transmuxer=null,this.onTransmuxComplete=void 0,this.onFlush=void 0;var n=e.config;this.hls=e,this.id=t,this.useWorker=!!n.enableWorker,this.onTransmuxComplete=a,this.onFlush=o;var r=function(e,t){(t=t||{}).frag=i.frag,t.id=i.id,e===f.ERROR&&(i.error=t.error),i.hls.trigger(e,t)};this.observer=new Dn,this.observer.on(f.FRAG_DECRYPTED,r),this.observer.on(f.ERROR,r);var E=mt(n.preferManagedMediaSource)||{isTypeSupported:function(){return!1}},_={mpeg:E.isTypeSupported("audio/mpeg"),mp3:E.isTypeSupported('audio/mp4; codecs="mp3"'),ac3:E.isTypeSupported('audio/mp4; codecs="ac-3"')},T=navigator.vendor;if(this.useWorker&&"undefined"!=typeof Worker&&(n.workerPath||Pn()))try{n.workerPath?(U.log("loading Web Worker "+n.workerPath+' for "'+t+'"'),this.workerContext=vn(n.workerPath)):(U.log('injecting Web Worker for "'+t+'"'),this.workerContext=gn()),this.onwmsg=function(e){return i.onWorkerMessage(e)};var s=this.workerContext.worker;s.addEventListener("message",this.onwmsg),s.onerror=function(e){var a=new Error(e.message+" ("+e.filename+":"+e.lineno+")");n.enableWorker=!1,U.warn('Error in "'+t+'" Web Worker, fallback to inline'),i.hls.trigger(f.ERROR,{type:B.OTHER_ERROR,details:P.INTERNAL_EXCEPTION,fatal:!1,event:"demuxerWorker",error:a})},s.postMessage({cmd:"init",typeSupported:_,vendor:T,id:t,config:JSON.stringify(n)})}catch(e){U.warn('Error setting up "'+t+'" Web Worker, fallback to inline',e),this.resetWorker(),this.error=null,this.transmuxer=new dn(this.observer,_,n,T,t)}else this.transmuxer=new dn(this.observer,_,n,T,t)}var t=e.prototype;return t.resetWorker=function(){if(this.workerContext){var e=this.workerContext,t=e.worker,a=e.objectURL;a&&self.URL.revokeObjectURL(a),t.removeEventListener("message",this.onwmsg),t.onerror=null,t.terminate(),this.workerContext=null}},t.destroy=function(){if(this.workerContext)this.resetWorker(),this.onwmsg=void 0;else{var e=this.transmuxer;e&&(e.destroy(),this.transmuxer=null)}var t=this.observer;t&&t.removeAllListeners(),this.frag=null,this.observer=null,this.hls=null},t.push=function(e,t,a,o,i,n,r,E,_,T){var s,S,l=this;_.transmuxing.start=self.performance.now();var I=this.transmuxer,A=n?n.start:i.start,u=i.decryptdata,d=this.frag,c=!(d&&i.cc===d.cc),O=!(d&&_.level===d.level),R=d?_.sn-d.sn:-1,N=this.part?_.part-this.part.index:-1,m=0===R&&_.id>1&&_.id===(null==d?void 0:d.stats.chunkCount),L=!O&&(1===R||0===R&&(1===N||m&&N<=0)),D=self.performance.now();(O||R||0===i.stats.parsing.start)&&(i.stats.parsing.start=D),!n||!N&&L||(n.stats.parsing.start=D);var p=!(d&&(null==(s=i.initSegment)?void 0:s.url)===(null==(S=d.initSegment)?void 0:S.url)),h=new mn(c,L,E,O,A,p);if(!L||c||p){U.log("[transmuxer-interface, "+i.type+"]: Starting new transmux session for sn: "+_.sn+" p: "+_.part+" level: "+_.level+" id: "+_.id+"\n discontinuity: "+c+"\n trackSwitch: "+O+"\n contiguous: "+L+"\n accurateTimeOffset: "+E+"\n timeOffset: "+A+"\n initSegmentChange: "+p);var C=new Nn(a,o,t,r,T);this.configureTransmuxer(C)}if(this.frag=i,this.part=n,this.workerContext)this.workerContext.worker.postMessage({cmd:"demux",data:e,decryptdata:u,chunkMeta:_,state:h},e instanceof ArrayBuffer?[e]:[]);else if(I){var f=I.push(e,u,_,h);Rn(f)?(I.async=!0,f.then((function(e){l.handleTransmuxComplete(e)})).catch((function(e){l.transmuxerError(e,_,"transmuxer-interface push error")}))):(I.async=!1,this.handleTransmuxComplete(f))}},t.flush=function(e){var t=this;e.transmuxing.start=self.performance.now();var a=this.transmuxer;if(this.workerContext)this.workerContext.worker.postMessage({cmd:"flush",chunkMeta:e});else if(a){var o=a.flush(e);Rn(o)||a.async?(Rn(o)||(o=Promise.resolve(o)),o.then((function(a){t.handleFlushResult(a,e)})).catch((function(a){t.transmuxerError(a,e,"transmuxer-interface flush error")}))):this.handleFlushResult(o,e)}},t.transmuxerError=function(e,t,a){this.hls&&(this.error=e,this.hls.trigger(f.ERROR,{type:B.MEDIA_ERROR,details:P.FRAG_PARSING_ERROR,chunkMeta:t,fatal:!1,error:e,err:e,reason:a}))},t.handleFlushResult=function(e,t){var a=this;e.forEach((function(e){a.handleTransmuxComplete(e)})),this.onFlush(t)},t.onWorkerMessage=function(e){var t=e.data,a=this.hls;switch(t.event){case"init":var o,i=null==(o=this.workerContext)?void 0:o.objectURL;i&&self.URL.revokeObjectURL(i);break;case"transmuxComplete":this.handleTransmuxComplete(t.data);break;case"flush":this.onFlush(t.data);break;case"workerLog":U[t.data.logType]&&U[t.data.logType](t.data.message);break;default:t.data=t.data||{},t.data.frag=this.frag,t.data.id=this.id,a.trigger(t.event,t.data)}},t.configureTransmuxer=function(e){var t=this.transmuxer;this.workerContext?this.workerContext.worker.postMessage({cmd:"configure",config:e}):t&&t.configure(e)},t.handleTransmuxComplete=function(e){e.chunkMeta.transmuxing.end=self.performance.now(),this.onTransmuxComplete(e)},e})();function Wn(e,t){if(e.length!==t.length)return!1;for(var a=0;a<e.length;a++)if(!Mn(e[a].attrs,t[a].attrs))return!1;return!0}function Mn(e,t,a){var o=e["STABLE-RENDITION-ID"];return o&&!a?o===t["STABLE-RENDITION-ID"]:!(a||["LANGUAGE","NAME","CHARACTERISTICS","AUTOSELECT","DEFAULT","FORCED","ASSOC-LANGUAGE"]).some((function(a){return e[a]!==t[a]}))}function bn(e,t){return t.label.toLowerCase()===e.name.toLowerCase()&&(!t.language||t.language.toLowerCase()===(e.lang||"").toLowerCase())}var Un=100,Gn=(function(e){function t(t,a,o){var i;return(i=e.call(this,t,a,o,"[audio-stream-controller]",$t.AUDIO)||this).videoBuffer=null,i.videoTrackCC=-1,i.waitingVideoCC=-1,i.bufferedTrack=null,i.switchingTrack=null,i.trackId=-1,i.waitingData=null,i.mainDetails=null,i.flushing=!1,i.bufferFlushed=!1,i.cachedTrackLoadedData=null,i._registerListeners(),i}s(t,e);var a=t.prototype;return a.onHandlerDestroying=function(){this._unregisterListeners(),e.prototype.onHandlerDestroying.call(this),this.mainDetails=null,this.bufferedTrack=null,this.switchingTrack=null},a._registerListeners=function(){var e=this.hls;e.on(f.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(f.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(f.MANIFEST_LOADING,this.onManifestLoading,this),e.on(f.LEVEL_LOADED,this.onLevelLoaded,this),e.on(f.AUDIO_TRACKS_UPDATED,this.onAudioTracksUpdated,this),e.on(f.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.on(f.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.on(f.ERROR,this.onError,this),e.on(f.BUFFER_RESET,this.onBufferReset,this),e.on(f.BUFFER_CREATED,this.onBufferCreated,this),e.on(f.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(f.BUFFER_FLUSHED,this.onBufferFlushed,this),e.on(f.INIT_PTS_FOUND,this.onInitPtsFound,this),e.on(f.FRAG_BUFFERED,this.onFragBuffered,this)},a._unregisterListeners=function(){var e=this.hls;e.off(f.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(f.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(f.MANIFEST_LOADING,this.onManifestLoading,this),e.off(f.LEVEL_LOADED,this.onLevelLoaded,this),e.off(f.AUDIO_TRACKS_UPDATED,this.onAudioTracksUpdated,this),e.off(f.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.off(f.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.off(f.ERROR,this.onError,this),e.off(f.BUFFER_RESET,this.onBufferReset,this),e.off(f.BUFFER_CREATED,this.onBufferCreated,this),e.off(f.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(f.BUFFER_FLUSHED,this.onBufferFlushed,this),e.off(f.INIT_PTS_FOUND,this.onInitPtsFound,this),e.off(f.FRAG_BUFFERED,this.onFragBuffered,this)},a.onInitPtsFound=function(e,t){var a=t.frag,o=t.id,i=t.initPTS,n=t.timescale;if("main"===o){var r=a.cc;this.initPTS[a.cc]={baseTime:i,timescale:n},this.log("InitPTS for cc: "+r+" found from main: "+i),this.videoTrackCC=r,this.state===$o.WAITING_INIT_PTS&&this.tick()}},a.startLoad=function(e){if(!this.levels)return this.startPosition=e,void(this.state=$o.STOPPED);var t=this.lastCurrentTime;this.stopLoad(),this.setInterval(Un),t>0&&-1===e?(this.log("Override startPosition with lastCurrentTime @"+t.toFixed(3)),e=t,this.state=$o.IDLE):(this.loadedmetadata=!1,this.state=$o.WAITING_TRACK),this.nextLoadPosition=this.startPosition=this.lastCurrentTime=e,this.tick()},a.doTick=function(){switch(this.state){case $o.IDLE:this.doTickIdle();break;case $o.WAITING_TRACK:var t,a=this.levels,o=this.trackId,i=null==a||null==(t=a[o])?void 0:t.details;if(i){if(this.waitForCdnTuneIn(i))break;this.state=$o.WAITING_INIT_PTS}break;case $o.FRAG_LOADING_WAITING_RETRY:var n,r=performance.now(),E=this.retryDate;if(!E||r>=E||null!=(n=this.media)&&n.seeking){var _=this.levels,T=this.trackId;this.log("RetryDate reached, switch back to IDLE state"),this.resetStartWhenNotLoaded((null==_?void 0:_[T])||null),this.state=$o.IDLE}break;case $o.WAITING_INIT_PTS:var s=this.waitingData;if(s){var S=s.frag,l=s.part,I=s.cache,A=s.complete;if(void 0!==this.initPTS[S.cc]){this.waitingData=null,this.waitingVideoCC=-1,this.state=$o.FRAG_LOADING;var u={frag:S,part:l,payload:I.flush(),networkDetails:null};this._handleFragmentLoadProgress(u),A&&e.prototype._handleFragmentLoadComplete.call(this,u)}else if(this.videoTrackCC!==this.waitingVideoCC)this.log("Waiting fragment cc ("+S.cc+") cancelled because video is at cc "+this.videoTrackCC),this.clearWaitingFragment();else{var d=this.getLoadPosition(),c=fo.bufferInfo(this.mediaBuffer,d,this.config.maxBufferHole);ja(c.end,this.config.maxFragLookUpTolerance,S)<0&&(this.log("Waiting fragment cc ("+S.cc+") @ "+S.start+" cancelled because another fragment at "+c.end+" is needed"),this.clearWaitingFragment())}}else this.state=$o.IDLE}this.onTickEnd()},a.clearWaitingFragment=function(){var e=this.waitingData;e&&(this.fragmentTracker.removeFragment(e.frag),this.waitingData=null,this.waitingVideoCC=-1,this.state=$o.IDLE)},a.resetLoadingState=function(){this.clearWaitingFragment(),e.prototype.resetLoadingState.call(this)},a.onTickEnd=function(){var e=this.media;null!=e&&e.readyState&&(this.lastCurrentTime=e.currentTime)},a.doTickIdle=function(){var e=this.hls,t=this.levels,a=this.media,o=this.trackId,i=e.config;if((a||!this.startFragRequested&&i.startFragPrefetch)&&null!=t&&t[o]){var n=t[o],r=n.details;if(!r||r.live&&this.levelLastLoaded!==n||this.waitForCdnTuneIn(r))this.state=$o.WAITING_TRACK;else{var E=this.mediaBuffer?this.mediaBuffer:this.media;this.bufferFlushed&&E&&(this.bufferFlushed=!1,this.afterBufferFlushed(E,z.AUDIO,$t.AUDIO));var _=this.getFwdBufferInfo(E,$t.AUDIO);if(null!==_){var T=this.bufferedTrack,s=this.switchingTrack;if(!s&&this._streamEnded(_,r))return e.trigger(f.BUFFER_EOS,{type:"audio"}),void(this.state=$o.ENDED);var S=this.getFwdBufferInfo(this.videoBuffer?this.videoBuffer:this.media,$t.MAIN),l=_.len,I=this.getMaxBufferLength(null==S?void 0:S.len),A=r.fragments,u=A[0].start,d=this.flushing?this.getLoadPosition():_.end;if(s&&a){var c=this.getLoadPosition();T&&!Mn(s.attrs,T.attrs)&&(d=c),r.PTSKnown&&c<u&&(_.end>u||_.nextStart)&&(this.log("Alt audio track ahead of main track, seek to start of alt audio track"),a.currentTime=u+.05)}if(!(l>=I&&!s&&d<A[A.length-1].start)){var O=this.getNextFragment(d,r),R=!1;if(O&&this.isLoopLoading(O,d)&&(R=!!O.gap,O=this.getNextFragmentLoopLoading(O,r,_,$t.MAIN,I)),O){var N=S&&O.start>S.end+r.targetduration;if(N||(null==S||!S.len)&&_.len){var m=this.getAppendedFrag(O.start,$t.MAIN);if(null===m)return;if(R||(R=!!m.gap||!!N&&0===S.len),N&&!R||R&&_.nextStart&&_.nextStart<m.end)return}this.loadFragment(O,n,d)}else this.bufferFlushed=!0}}}}},a.getMaxBufferLength=function(t){var a=e.prototype.getMaxBufferLength.call(this);return t?Math.min(Math.max(a,t),this.config.maxMaxBufferLength):a},a.onMediaDetaching=function(){this.videoBuffer=null,this.bufferFlushed=this.flushing=!1,e.prototype.onMediaDetaching.call(this)},a.onAudioTracksUpdated=function(e,t){var a=t.audioTracks;this.resetTransmuxer(),this.levels=a.map((function(e){return new Da(e)}))},a.onAudioTrackSwitching=function(e,t){var a=!!t.url;this.trackId=t.id;var o=this.fragCurrent;o&&(o.abortRequests(),this.removeUnbufferedFrags(o.start)),this.resetLoadingState(),a?this.setInterval(Un):this.resetTransmuxer(),a?(this.switchingTrack=t,this.state=$o.IDLE,this.flushAudioIfNeeded(t)):(this.switchingTrack=null,this.bufferedTrack=t,this.state=$o.STOPPED),this.tick()},a.onManifestLoading=function(){this.fragmentTracker.removeAllFragments(),this.startPosition=this.lastCurrentTime=0,this.bufferFlushed=this.flushing=!1,this.levels=this.mainDetails=this.waitingData=this.bufferedTrack=this.cachedTrackLoadedData=this.switchingTrack=null,this.startFragRequested=!1,this.trackId=this.videoTrackCC=this.waitingVideoCC=-1},a.onLevelLoaded=function(e,t){this.mainDetails=t.details,null!==this.cachedTrackLoadedData&&(this.hls.trigger(f.AUDIO_TRACK_LOADED,this.cachedTrackLoadedData),this.cachedTrackLoadedData=null)},a.onAudioTrackLoaded=function(e,t){var a;if(null!=this.mainDetails){var o=this.levels,i=t.details,n=t.id;if(o){this.log("Audio track "+n+" loaded ["+i.startSN+","+i.endSN+"]"+(i.lastPartSn?"[part-"+i.lastPartSn+"-"+i.lastPartIndex+"]":"")+",duration:"+i.totalduration);var r=o[n],E=0;if(i.live||null!=(a=r.details)&&a.live){this.checkLiveUpdate(i);var _,T=this.mainDetails;if(i.deltaUpdateFailed||!T)return;!r.details&&i.hasProgramDateTime&&T.hasProgramDateTime?(Go(i,T),E=i.fragments[0].start):E=this.alignPlaylists(i,r.details,null==(_=this.levelLastLoaded)?void 0:_.details)}r.details=i,this.levelLastLoaded=r,this.startFragRequested||!this.mainDetails&&i.live||this.setStartPosition(this.mainDetails||i,E),this.state!==$o.WAITING_TRACK||this.waitForCdnTuneIn(i)||(this.state=$o.IDLE),this.tick()}else this.warn("Audio tracks were reset while loading level "+n)}else this.cachedTrackLoadedData=t},a._handleFragmentLoadProgress=function(e){var t,a=e.frag,o=e.part,i=e.payload,n=this.config,r=this.trackId,E=this.levels;if(E){var _=E[r];if(_){var T=_.details;if(!T)return this.warn("Audio track details undefined on fragment load progress"),void this.removeUnbufferedFrags(a.start);var s=n.defaultAudioCodec||_.audioCodec||"mp4a.40.2",S=this.transmuxer;S||(S=this.transmuxer=new yn(this.hls,$t.AUDIO,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this)));var l=this.initPTS[a.cc],I=null==(t=a.initSegment)?void 0:t.data;if(void 0!==l){var A=!1,u=o?o.index:-1,d=-1!==u,c=new Bo(a.level,a.sn,a.stats.chunkCount,i.byteLength,u,d);S.push(i,I,s,"",a,o,T.totalduration,A,c,l)}else this.log("Unknown video PTS for cc "+a.cc+", waiting for video PTS before demuxing audio frag "+a.sn+" of ["+T.startSN+" ,"+T.endSN+"],track "+r),(this.waitingData=this.waitingData||{frag:a,part:o,cache:new Jo,complete:!1}).cache.push(new Uint8Array(i)),this.waitingVideoCC=this.videoTrackCC,this.state=$o.WAITING_INIT_PTS}else this.warn("Audio track is undefined on fragment load progress")}else this.warn("Audio tracks were reset while fragment load was in progress. Fragment "+a.sn+" of level "+a.level+" will not be buffered")},a._handleFragmentLoadComplete=function(t){this.waitingData?this.waitingData.complete=!0:e.prototype._handleFragmentLoadComplete.call(this,t)},a.onBufferReset=function(){this.mediaBuffer=this.videoBuffer=null,this.loadedmetadata=!1},a.onBufferCreated=function(e,t){var a=t.tracks.audio;a&&(this.mediaBuffer=a.buffer||null),t.tracks.video&&(this.videoBuffer=t.tracks.video.buffer||null)},a.onFragBuffered=function(e,t){var a=t.frag,i=t.part;if(a.type===$t.AUDIO)if(this.fragContextChanged(a))this.warn("Fragment "+a.sn+(i?" p: "+i.index:"")+" of level "+a.level+" finished buffering, but was aborted. state: "+this.state+", audioSwitch: "+(this.switchingTrack?this.switchingTrack.name:"false"));else{if("initSegment"!==a.sn){this.fragPrevious=a;var n=this.switchingTrack;n&&(this.bufferedTrack=n,this.switchingTrack=null,this.hls.trigger(f.AUDIO_TRACK_SWITCHED,o({},n)))}this.fragBufferedComplete(a,i)}else if(!this.loadedmetadata&&a.type===$t.MAIN){var r=this.videoBuffer||this.media;r&&fo.getBuffered(r).length&&(this.loadedmetadata=!0)}},a.onError=function(t,a){var o;if(a.fatal)this.state=$o.ERROR;else switch(a.details){case P.FRAG_GAP:case P.FRAG_PARSING_ERROR:case P.FRAG_DECRYPT_ERROR:case P.FRAG_LOAD_ERROR:case P.FRAG_LOAD_TIMEOUT:case P.KEY_LOAD_ERROR:case P.KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError($t.AUDIO,a);break;case P.AUDIO_TRACK_LOAD_ERROR:case P.AUDIO_TRACK_LOAD_TIMEOUT:case P.LEVEL_PARSING_ERROR:a.levelRetry||this.state!==$o.WAITING_TRACK||(null==(o=a.context)?void 0:o.type)!==Xt.AUDIO_TRACK||(this.state=$o.IDLE);break;case P.BUFFER_APPEND_ERROR:case P.BUFFER_FULL_ERROR:if(!a.parent||"audio"!==a.parent)return;if(a.details===P.BUFFER_APPEND_ERROR)return void this.resetLoadingState();this.reduceLengthAndFlushBuffer(a)&&(this.bufferedTrack=null,e.prototype.flushMainBuffer.call(this,0,Number.POSITIVE_INFINITY,"audio"));break;case P.INTERNAL_EXCEPTION:this.recoverWorkerError(a)}},a.onBufferFlushing=function(e,t){t.type!==z.VIDEO&&(this.flushing=!0)},a.onBufferFlushed=function(e,t){var a=t.type;if(a!==z.VIDEO){this.flushing=!1,this.bufferFlushed=!0,this.state===$o.ENDED&&(this.state=$o.IDLE);var o=this.mediaBuffer||this.media;o&&(this.afterBufferFlushed(o,a,$t.AUDIO),this.tick())}},a._handleTransmuxComplete=function(e){var t,a="audio",o=this.hls,i=e.remuxResult,n=e.chunkMeta,r=this.getCurrentContext(n);if(r){var E=r.frag,_=r.part,s=r.level,S=s.details,l=i.audio,I=i.text,A=i.id3,u=i.initSegment;if(!this.fragContextChanged(E)&&S){if(this.state=$o.PARSING,this.switchingTrack&&l&&this.completeAudioSwitch(this.switchingTrack),null!=u&&u.tracks){var d=E.initSegment||E;this._bufferInitSegment(s,u.tracks,d,n),o.trigger(f.FRAG_PARSING_INIT_SEGMENT,{frag:d,id:a,tracks:u.tracks})}if(l){var c=l.startPTS,O=l.endPTS,R=l.startDTS,N=l.endDTS;_&&(_.elementaryStreams[z.AUDIO]={startPTS:c,endPTS:O,startDTS:R,endDTS:N}),E.setElementaryStreamInfo(z.AUDIO,c,O,R,N),this.bufferFragmentData(l,E,_,n)}if(null!=A&&null!=(t=A.samples)&&t.length){var m=T({id:a,frag:E,details:S},A);o.trigger(f.FRAG_PARSING_METADATA,m)}if(I){var L=T({id:a,frag:E,details:S},I);o.trigger(f.FRAG_PARSING_USERDATA,L)}}else this.fragmentTracker.removeFragment(E)}else this.resetWhenMissingContext(n)},a._bufferInitSegment=function(e,t,a,o){if(this.state===$o.PARSING){t.video&&delete t.video;var i=t.audio;if(i){i.id="audio";var n=e.audioCodec;this.log("Init audio buffer, container:"+i.container+", codecs[level/parsed]=["+n+"/"+i.codec+"]"),n&&1===n.split(",").length&&(i.levelCodec=n),this.hls.trigger(f.BUFFER_CODECS,t);var r=i.initSegment;if(null!=r&&r.byteLength){var E={type:"audio",frag:a,part:null,chunkMeta:o,parent:a.type,data:r};this.hls.trigger(f.BUFFER_APPENDING,E)}this.tickImmediate()}}},a.loadFragment=function(t,a,o){var i,n=this.fragmentTracker.getState(t);if(this.fragCurrent=t,this.switchingTrack||n===Lo.NOT_LOADED||n===Lo.PARTIAL)if("initSegment"===t.sn)this._loadInitSegment(t,a);else if(null!=(i=a.details)&&i.live&&!this.initPTS[t.cc]){this.log("Waiting for video PTS in continuity counter "+t.cc+" of live stream before loading audio fragment "+t.sn+" of level "+this.trackId),this.state=$o.WAITING_INIT_PTS;var r=this.mainDetails;r&&r.fragments[0].start!==a.details.fragments[0].start&&Go(a.details,r)}else this.startFragRequested=!0,e.prototype.loadFragment.call(this,t,a,o);else this.clearTrackerIfNeeded(t)},a.flushAudioIfNeeded=function(t){var a=this.media,o=this.bufferedTrack,i=null==o?void 0:o.attrs,n=t.attrs;a&&i&&(i.CHANNELS!==n.CHANNELS||o.name!==t.name||o.lang!==t.lang)&&(this.log("Switching audio track : flushing all audio"),e.prototype.flushMainBuffer.call(this,0,Number.POSITIVE_INFINITY,"audio"),this.bufferedTrack=null)},a.completeAudioSwitch=function(e){var t=this.hls;this.flushAudioIfNeeded(e),this.bufferedTrack=e,this.switchingTrack=null,t.trigger(f.AUDIO_TRACK_SWITCHED,o({},e))},t})(qo),kn=(function(e){function t(t){var a;return(a=e.call(this,t,"[audio-track-controller]")||this).tracks=[],a.groupIds=null,a.tracksInGroup=[],a.trackId=-1,a.currentTrack=null,a.selectDefaultTrack=!0,a.registerListeners(),a}s(t,e);var a=t.prototype;return a.registerListeners=function(){var e=this.hls;e.on(f.MANIFEST_LOADING,this.onManifestLoading,this),e.on(f.MANIFEST_PARSED,this.onManifestParsed,this),e.on(f.LEVEL_LOADING,this.onLevelLoading,this),e.on(f.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(f.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.on(f.ERROR,this.onError,this)},a.unregisterListeners=function(){var e=this.hls;e.off(f.MANIFEST_LOADING,this.onManifestLoading,this),e.off(f.MANIFEST_PARSED,this.onManifestParsed,this),e.off(f.LEVEL_LOADING,this.onLevelLoading,this),e.off(f.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(f.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.off(f.ERROR,this.onError,this)},a.destroy=function(){this.unregisterListeners(),this.tracks.length=0,this.tracksInGroup.length=0,this.currentTrack=null,e.prototype.destroy.call(this)},a.onManifestLoading=function(){this.tracks=[],this.tracksInGroup=[],this.groupIds=null,this.currentTrack=null,this.trackId=-1,this.selectDefaultTrack=!0},a.onManifestParsed=function(e,t){this.tracks=t.audioTracks||[]},a.onAudioTrackLoaded=function(e,t){var a=t.id,o=t.groupId,i=t.details,n=this.tracksInGroup[a];if(n&&n.groupId===o){var r=n.details;n.details=t.details,this.log("Audio track "+a+' "'+n.name+'" lang:'+n.lang+" group:"+o+" loaded ["+i.startSN+"-"+i.endSN+"]"),a===this.trackId&&this.playlistLoaded(a,t,r)}else this.warn("Audio track with id:"+a+" and group:"+o+" not found in active group "+(null==n?void 0:n.groupId))},a.onLevelLoading=function(e,t){this.switchLevel(t.level)},a.onLevelSwitching=function(e,t){this.switchLevel(t.level)},a.switchLevel=function(e){var t=this.hls.levels[e];if(t){var a=t.audioGroups||null,o=this.groupIds,i=this.currentTrack;if(!a||(null==o?void 0:o.length)!==(null==a?void 0:a.length)||null!=a&&a.some((function(e){return-1===(null==o?void 0:o.indexOf(e))}))){this.groupIds=a,this.trackId=-1,this.currentTrack=null;var n=this.tracks.filter((function(e){return!a||-1!==a.indexOf(e.groupId)}));if(n.length)this.selectDefaultTrack&&!n.some((function(e){return e.default}))&&(this.selectDefaultTrack=!1),n.forEach((function(e,t){e.id=t}));else if(!i&&!this.tracksInGroup.length)return;this.tracksInGroup=n;var r=this.hls.config.audioPreference;if(!i&&r){var E=Io(r,n,co);if(E>-1)i=n[E];else{var _=Io(r,this.tracks);i=this.tracks[_]}}var T=this.findTrackId(i);-1===T&&i&&(T=this.findTrackId(null));var s={audioTracks:n};this.log("Updating audio tracks, "+n.length+" track(s) found in group(s): "+(null==a?void 0:a.join(","))),this.hls.trigger(f.AUDIO_TRACKS_UPDATED,s);var S=this.trackId;if(-1!==T&&-1===S)this.setAudioTrack(T);else if(n.length&&-1===S){var l,I=new Error("No audio track selected for current audio group-ID(s): "+(null==(l=this.groupIds)?void 0:l.join(","))+" track count: "+n.length);this.warn(I.message),this.hls.trigger(f.ERROR,{type:B.MEDIA_ERROR,details:P.AUDIO_TRACK_LOAD_ERROR,fatal:!0,error:I})}}else this.shouldReloadPlaylist(i)&&this.setAudioTrack(this.trackId)}},a.onError=function(e,t){!t.fatal&&t.context&&(t.context.type!==Xt.AUDIO_TRACK||t.context.id!==this.trackId||this.groupIds&&-1===this.groupIds.indexOf(t.context.groupId)||(this.requestScheduled=-1,this.checkRetry(t)))},a.setAudioOption=function(e){var t=this.hls;if(t.config.audioPreference=e,e){var a=this.allAudioTracks;if(this.selectDefaultTrack=!1,a.length){var o=this.currentTrack;if(o&&Ao(e,o,co))return o;var i=Io(e,this.tracksInGroup,co);if(i>-1){var n=this.tracksInGroup[i];return this.setAudioTrack(i),n}if(o){var r=t.loadLevel;-1===r&&(r=t.firstAutoLevel);var E=Oo(e,t.levels,a,r,co);if(-1===E)return null;t.nextLoadLevel=E}if(e.channels||e.audioCodec){var _=Io(e,a);if(_>-1)return a[_]}}}return null},a.setAudioTrack=function(e){var t=this.tracksInGroup;if(e<0||e>=t.length)this.warn("Invalid audio track id: "+e);else{this.clearTimer(),this.selectDefaultTrack=!1;var a=this.currentTrack,i=t[e],n=i.details&&!i.details.live;if(!(e===this.trackId&&i===a&&n||(this.log("Switching to audio-track "+e+' "'+i.name+'" lang:'+i.lang+" group:"+i.groupId+" channels:"+i.channels),this.trackId=e,this.currentTrack=i,this.hls.trigger(f.AUDIO_TRACK_SWITCHING,o({},i)),n))){var r=this.switchParams(i.url,null==a?void 0:a.details);this.loadPlaylist(r)}}},a.findTrackId=function(e){for(var t=this.tracksInGroup,a=0;a<t.length;a++){var o=t[a];if((!this.selectDefaultTrack||o.default)&&(!e||Ao(e,o,co)))return a}if(e){for(var i=e.name,n=e.lang,r=e.assocLang,E=e.characteristics,_=e.audioCodec,T=e.channels,s=0;s<t.length;s++)if(Ao({name:i,lang:n,assocLang:r,characteristics:E,audioCodec:_,channels:T},t[s],co))return s;for(var S=0;S<t.length;S++){var l=t[S];if(Mn(e.attrs,l.attrs,["LANGUAGE","ASSOC-LANGUAGE","CHARACTERISTICS"]))return S}for(var I=0;I<t.length;I++){var A=t[I];if(Mn(e.attrs,A.attrs,["LANGUAGE"]))return I}}return-1},a.loadPlaylist=function(t){var a=this.currentTrack;if(this.shouldLoadPlaylist(a)&&a){e.prototype.loadPlaylist.call(this);var o=a.id,i=a.groupId,n=a.url;if(t)try{n=t.addDirectives(n)}catch(e){this.warn("Could not construct new URL with HLS Delivery Directives: "+e)}this.log("loading audio-track playlist "+o+' "'+a.name+'" lang:'+a.lang+" group:"+i),this.clearTimer(),this.hls.trigger(f.AUDIO_TRACK_LOADING,{url:n,id:o,groupId:i,deliveryDirectives:t||null})}},E(t,[{key:"allAudioTracks",get:function(){return this.tracks}},{key:"audioTracks",get:function(){return this.tracksInGroup}},{key:"audioTrack",get:function(){return this.trackId},set:function(e){this.selectDefaultTrack=!1,this.setAudioTrack(e)}}]),t})(Za),Fn=500,Vn=(function(e){function t(t,a,o){var i;return(i=e.call(this,t,a,o,"[subtitle-stream-controller]",$t.SUBTITLE)||this).currentTrackId=-1,i.tracksBuffered=[],i.mainDetails=null,i._registerListeners(),i}s(t,e);var a=t.prototype;return a.onHandlerDestroying=function(){this._unregisterListeners(),e.prototype.onHandlerDestroying.call(this),this.mainDetails=null},a._registerListeners=function(){var e=this.hls;e.on(f.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(f.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(f.MANIFEST_LOADING,this.onManifestLoading,this),e.on(f.LEVEL_LOADED,this.onLevelLoaded,this),e.on(f.ERROR,this.onError,this),e.on(f.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.on(f.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.on(f.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.on(f.SUBTITLE_FRAG_PROCESSED,this.onSubtitleFragProcessed,this),e.on(f.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(f.FRAG_BUFFERED,this.onFragBuffered,this)},a._unregisterListeners=function(){var e=this.hls;e.off(f.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(f.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(f.MANIFEST_LOADING,this.onManifestLoading,this),e.off(f.LEVEL_LOADED,this.onLevelLoaded,this),e.off(f.ERROR,this.onError,this),e.off(f.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.off(f.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.off(f.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.off(f.SUBTITLE_FRAG_PROCESSED,this.onSubtitleFragProcessed,this),e.off(f.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(f.FRAG_BUFFERED,this.onFragBuffered,this)},a.startLoad=function(e){this.stopLoad(),this.state=$o.IDLE,this.setInterval(Fn),this.nextLoadPosition=this.startPosition=this.lastCurrentTime=e,this.tick()},a.onManifestLoading=function(){this.mainDetails=null,this.fragmentTracker.removeAllFragments()},a.onMediaDetaching=function(){this.tracksBuffered=[],e.prototype.onMediaDetaching.call(this)},a.onLevelLoaded=function(e,t){this.mainDetails=t.details},a.onSubtitleFragProcessed=function(e,t){var a=t.frag,o=t.success;if(this.fragPrevious=a,this.state=$o.IDLE,o){var i=this.tracksBuffered[this.currentTrackId];if(i){for(var n,r=a.start,E=0;E<i.length;E++)if(r>=i[E].start&&r<=i[E].end){n=i[E];break}var _=a.start+a.duration;n?n.end=_:(n={start:r,end:_},i.push(n)),this.fragmentTracker.fragBuffered(a),this.fragBufferedComplete(a,null)}}},a.onBufferFlushing=function(e,t){var a=t.startOffset,o=t.endOffset;if(0===a&&o!==Number.POSITIVE_INFINITY){var i=o-1;if(i<=0)return;t.endOffsetSubtitles=Math.max(0,i),this.tracksBuffered.forEach((function(e){for(var t=0;t<e.length;)if(e[t].end<=i)e.shift();else{if(!(e[t].start<i))break;e[t].start=i,t++}})),this.fragmentTracker.removeFragmentsInRange(a,i,$t.SUBTITLE)}},a.onFragBuffered=function(e,t){var a;this.loadedmetadata||t.frag.type!==$t.MAIN||null!=(a=this.media)&&a.buffered.length&&(this.loadedmetadata=!0)},a.onError=function(e,t){var a=t.frag;(null==a?void 0:a.type)===$t.SUBTITLE&&(this.fragCurrent&&this.fragCurrent.abortRequests(),this.state!==$o.STOPPED&&(this.state=$o.IDLE))},a.onSubtitleTracksUpdated=function(e,t){var a=this,o=t.subtitleTracks;this.levels&&!Wn(this.levels,o)?(this.tracksBuffered=[],this.levels=o.map((function(e){var t=new Da(e);return a.tracksBuffered[t.id]=[],t})),this.fragmentTracker.removeFragmentsInRange(0,Number.POSITIVE_INFINITY,$t.SUBTITLE),this.fragPrevious=null,this.mediaBuffer=null):this.levels=o.map((function(e){return new Da(e)}))},a.onSubtitleTrackSwitch=function(e,t){var a;if(this.currentTrackId=t.id,null!=(a=this.levels)&&a.length&&-1!==this.currentTrackId){var o=this.levels[this.currentTrackId];null!=o&&o.details?this.mediaBuffer=this.mediaBufferTimeRanges:this.mediaBuffer=null,o&&this.setInterval(Fn)}else this.clearInterval()},a.onSubtitleTrackLoaded=function(e,t){var a,o=this.currentTrackId,i=this.levels,n=t.details,r=t.id;if(i){var E=i[o];if(!(r>=i.length||r!==o)&&E){this.log("Subtitle track "+r+" loaded ["+n.startSN+","+n.endSN+"]"+(n.lastPartSn?"[part-"+n.lastPartSn+"-"+n.lastPartIndex+"]":"")+",duration:"+n.totalduration),this.mediaBuffer=this.mediaBufferTimeRanges;var _=0;if(n.live||null!=(a=E.details)&&a.live){var T=this.mainDetails;if(n.deltaUpdateFailed||!T)return;var s,S=T.fragments[0];E.details?0===(_=this.alignPlaylists(n,E.details,null==(s=this.levelLastLoaded)?void 0:s.details))&&S&&ya(n,_=S.start):n.hasProgramDateTime&&T.hasProgramDateTime?(Go(n,T),_=n.fragments[0].start):S&&ya(n,_=S.start)}E.details=n,this.levelLastLoaded=E,this.startFragRequested||!this.mainDetails&&n.live||this.setStartPosition(this.mainDetails||n,_),this.tick(),n.live&&!this.fragCurrent&&this.media&&this.state===$o.IDLE&&(xa(null,n.fragments,this.media.currentTime,0)||(this.warn("Subtitle playlist not aligned with playback"),E.details=void 0))}}else this.warn("Subtitle tracks were reset while loading level "+r)},a._handleFragmentLoadComplete=function(e){var t=this,a=e.frag,o=e.payload,i=a.decryptdata,n=this.hls;if(!this.fragContextChanged(a)&&o&&o.byteLength>0&&null!=i&&i.key&&i.iv&&"AES-128"===i.method){var r=performance.now();this.decrypter.decrypt(new Uint8Array(o),i.key.buffer,i.iv.buffer).catch((function(e){throw n.trigger(f.ERROR,{type:B.MEDIA_ERROR,details:P.FRAG_DECRYPT_ERROR,fatal:!1,error:e,reason:e.message,frag:a}),e})).then((function(e){var t=performance.now();n.trigger(f.FRAG_DECRYPTED,{frag:a,payload:e,stats:{tstart:r,tdecrypt:t}})})).catch((function(e){t.warn(e.name+": "+e.message),t.state=$o.IDLE}))}},a.doTick=function(){if(this.media){if(this.state===$o.IDLE){var e=this.currentTrackId,t=this.levels,a=null==t?void 0:t[e];if(!a||!t.length||!a.details)return;var o=this.config,i=this.getLoadPosition(),n=fo.bufferedInfo(this.tracksBuffered[this.currentTrackId]||[],i,o.maxBufferHole),r=n.end,E=n.len,_=this.getFwdBufferInfo(this.media,$t.MAIN),T=a.details;if(E>this.getMaxBufferLength(null==_?void 0:_.len)+T.levelTargetDuration)return;var s=T.fragments,S=s.length,l=T.edge,I=null,A=this.fragPrevious;if(r<l){var u=o.maxFragLookUpTolerance,d=r>l-u?0:u;!(I=xa(A,s,Math.max(s[0].start,r),d))&&A&&A.start<s[0].start&&(I=s[0])}else I=s[S-1];if(!I)return;if("initSegment"!==(I=this.mapToInitFragWhenRequired(I)).sn){var c=s[I.sn-T.startSN-1];c&&c.cc===I.cc&&this.fragmentTracker.getState(c)===Lo.NOT_LOADED&&(I=c)}this.fragmentTracker.getState(I)===Lo.NOT_LOADED&&this.loadFragment(I,a,r)}}else this.state=$o.IDLE},a.getMaxBufferLength=function(t){var a=e.prototype.getMaxBufferLength.call(this);return t?Math.max(a,t):a},a.loadFragment=function(t,a,o){this.fragCurrent=t,"initSegment"===t.sn?this._loadInitSegment(t,a):(this.startFragRequested=!0,e.prototype.loadFragment.call(this,t,a,o))},E(t,[{key:"mediaBufferTimeRanges",get:function(){return new Hn(this.tracksBuffered[this.currentTrackId]||[])}}]),t})(qo),Hn=function(e){this.buffered=void 0;var t=function(t,a,o){if((a>>>=0)>o-1)throw new DOMException("Failed to execute '"+t+"' on 'TimeRanges': The index provided ("+a+") is greater than the maximum bound ("+o+")");return e[a][t]};this.buffered={get length(){return e.length},end:function(a){return t("end",a,e.length)},start:function(a){return t("start",a,e.length)}}},wn=(function(e){function t(t){var a;return(a=e.call(this,t,"[subtitle-track-controller]")||this).media=null,a.tracks=[],a.groupIds=null,a.tracksInGroup=[],a.trackId=-1,a.currentTrack=null,a.selectDefaultTrack=!0,a.queuedDefaultTrack=-1,a.asyncPollTrackChange=function(){return a.pollTrackChange(0)},a.useTextTrackPolling=!1,a.subtitlePollingInterval=-1,a._subtitleDisplay=!0,a.onTextTracksChanged=function(){if(a.useTextTrackPolling||self.clearInterval(a.subtitlePollingInterval),a.media&&a.hls.config.renderTextTracksNatively){for(var e=null,t=ra(a.media.textTracks),o=0;o<t.length;o++)if("hidden"===t[o].mode)e=t[o];else if("showing"===t[o].mode){e=t[o];break}var i=a.findTrackForTextTrack(e);a.subtitleTrack!==i&&a.setSubtitleTrack(i)}},a.registerListeners(),a}s(t,e);var a=t.prototype;return a.destroy=function(){this.unregisterListeners(),this.tracks.length=0,this.tracksInGroup.length=0,this.currentTrack=null,this.onTextTracksChanged=this.asyncPollTrackChange=null,e.prototype.destroy.call(this)},a.registerListeners=function(){var e=this.hls;e.on(f.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(f.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(f.MANIFEST_LOADING,this.onManifestLoading,this),e.on(f.MANIFEST_PARSED,this.onManifestParsed,this),e.on(f.LEVEL_LOADING,this.onLevelLoading,this),e.on(f.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(f.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.on(f.ERROR,this.onError,this)},a.unregisterListeners=function(){var e=this.hls;e.off(f.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(f.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(f.MANIFEST_LOADING,this.onManifestLoading,this),e.off(f.MANIFEST_PARSED,this.onManifestParsed,this),e.off(f.LEVEL_LOADING,this.onLevelLoading,this),e.off(f.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(f.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.off(f.ERROR,this.onError,this)},a.onMediaAttached=function(e,t){this.media=t.media,this.media&&(this.queuedDefaultTrack>-1&&(this.subtitleTrack=this.queuedDefaultTrack,this.queuedDefaultTrack=-1),this.useTextTrackPolling=!(this.media.textTracks&&"onchange"in this.media.textTracks),this.useTextTrackPolling?this.pollTrackChange(500):this.media.textTracks.addEventListener("change",this.asyncPollTrackChange))},a.pollTrackChange=function(e){self.clearInterval(this.subtitlePollingInterval),this.subtitlePollingInterval=self.setInterval(this.onTextTracksChanged,e)},a.onMediaDetaching=function(){this.media&&(self.clearInterval(this.subtitlePollingInterval),this.useTextTrackPolling||this.media.textTracks.removeEventListener("change",this.asyncPollTrackChange),this.trackId>-1&&(this.queuedDefaultTrack=this.trackId),ra(this.media.textTracks).forEach((function(e){aa(e)})),this.subtitleTrack=-1,this.media=null)},a.onManifestLoading=function(){this.tracks=[],this.groupIds=null,this.tracksInGroup=[],this.trackId=-1,this.currentTrack=null,this.selectDefaultTrack=!0},a.onManifestParsed=function(e,t){this.tracks=t.subtitleTracks},a.onSubtitleTrackLoaded=function(e,t){var a=t.id,o=t.groupId,i=t.details,n=this.tracksInGroup[a];if(n&&n.groupId===o){var r=n.details;n.details=t.details,this.log("Subtitle track "+a+' "'+n.name+'" lang:'+n.lang+" group:"+o+" loaded ["+i.startSN+"-"+i.endSN+"]"),a===this.trackId&&this.playlistLoaded(a,t,r)}else this.warn("Subtitle track with id:"+a+" and group:"+o+" not found in active group "+(null==n?void 0:n.groupId))},a.onLevelLoading=function(e,t){this.switchLevel(t.level)},a.onLevelSwitching=function(e,t){this.switchLevel(t.level)},a.switchLevel=function(e){var t=this.hls.levels[e];if(t){var a=t.subtitleGroups||null,o=this.groupIds,i=this.currentTrack;if(!a||(null==o?void 0:o.length)!==(null==a?void 0:a.length)||null!=a&&a.some((function(e){return-1===(null==o?void 0:o.indexOf(e))}))){this.groupIds=a,this.trackId=-1,this.currentTrack=null;var n=this.tracks.filter((function(e){return!a||-1!==a.indexOf(e.groupId)}));if(n.length)this.selectDefaultTrack&&!n.some((function(e){return e.default}))&&(this.selectDefaultTrack=!1),n.forEach((function(e,t){e.id=t}));else if(!i&&!this.tracksInGroup.length)return;this.tracksInGroup=n;var r=this.hls.config.subtitlePreference;if(!i&&r){this.selectDefaultTrack=!1;var E=Io(r,n);if(E>-1)i=n[E];else{var _=Io(r,this.tracks);i=this.tracks[_]}}var T=this.findTrackId(i);-1===T&&i&&(T=this.findTrackId(null));var s={subtitleTracks:n};this.log("Updating subtitle tracks, "+n.length+' track(s) found in "'+(null==a?void 0:a.join(","))+'" group-id'),this.hls.trigger(f.SUBTITLE_TRACKS_UPDATED,s),-1!==T&&-1===this.trackId&&this.setSubtitleTrack(T)}else this.shouldReloadPlaylist(i)&&this.setSubtitleTrack(this.trackId)}},a.findTrackId=function(e){for(var t=this.tracksInGroup,a=this.selectDefaultTrack,o=0;o<t.length;o++){var i=t[o];if((!a||i.default)&&(a||e)&&(!e||Ao(i,e)))return o}if(e){for(var n=0;n<t.length;n++){var r=t[n];if(Mn(e.attrs,r.attrs,["LANGUAGE","ASSOC-LANGUAGE","CHARACTERISTICS"]))return n}for(var E=0;E<t.length;E++){var _=t[E];if(Mn(e.attrs,_.attrs,["LANGUAGE"]))return E}}return-1},a.findTrackForTextTrack=function(e){if(e)for(var t=this.tracksInGroup,a=0;a<t.length;a++)if(bn(t[a],e))return a;return-1},a.onError=function(e,t){!t.fatal&&t.context&&(t.context.type!==Xt.SUBTITLE_TRACK||t.context.id!==this.trackId||this.groupIds&&-1===this.groupIds.indexOf(t.context.groupId)||this.checkRetry(t))},a.setSubtitleOption=function(e){if(this.hls.config.subtitlePreference=e,e){var t=this.allSubtitleTracks;if(this.selectDefaultTrack=!1,t.length){var a=this.currentTrack;if(a&&Ao(e,a))return a;var o=Io(e,this.tracksInGroup);if(o>-1){var i=this.tracksInGroup[o];return this.setSubtitleTrack(o),i}if(a)return null;var n=Io(e,t);if(n>-1)return t[n]}}return null},a.loadPlaylist=function(t){e.prototype.loadPlaylist.call(this);var a=this.currentTrack;if(this.shouldLoadPlaylist(a)&&a){var o=a.id,i=a.groupId,n=a.url;if(t)try{n=t.addDirectives(n)}catch(e){this.warn("Could not construct new URL with HLS Delivery Directives: "+e)}this.log("Loading subtitle playlist for id "+o),this.hls.trigger(f.SUBTITLE_TRACK_LOADING,{url:n,id:o,groupId:i,deliveryDirectives:t||null})}},a.toggleTrackModes=function(){var e=this.media;if(e){var t,a=ra(e.textTracks),o=this.currentTrack;if(o&&((t=a.filter((function(e){return bn(o,e)}))[0])||this.warn('Unable to find subtitle TextTrack with name "'+o.name+'" and language "'+o.lang+'"')),[].slice.call(a).forEach((function(e){"disabled"!==e.mode&&e!==t&&(e.mode="disabled")})),t){var i=this.subtitleDisplay?"showing":"hidden";t.mode!==i&&(t.mode=i)}}},a.setSubtitleTrack=function(e){var t=this.tracksInGroup;if(this.media)if(e<-1||e>=t.length||!p(e))this.warn("Invalid subtitle track id: "+e);else{this.clearTimer(),this.selectDefaultTrack=!1;var a=this.currentTrack,o=t[e]||null;if(this.trackId=e,this.currentTrack=o,this.toggleTrackModes(),o){var i=!!o.details&&!o.details.live;if(e!==this.trackId||o!==a||!i){this.log("Switching to subtitle-track "+e+(o?' "'+o.name+'" lang:'+o.lang+" group:"+o.groupId:""));var n=o.id,r=o.groupId,E=void 0===r?"":r,_=o.name,T=o.type,s=o.url;this.hls.trigger(f.SUBTITLE_TRACK_SWITCH,{id:n,groupId:E,name:_,type:T,url:s});var S=this.switchParams(o.url,null==a?void 0:a.details);this.loadPlaylist(S)}}else this.hls.trigger(f.SUBTITLE_TRACK_SWITCH,{id:e})}else this.queuedDefaultTrack=e},E(t,[{key:"subtitleDisplay",get:function(){return this._subtitleDisplay},set:function(e){this._subtitleDisplay=e,this.trackId>-1&&this.toggleTrackModes()}},{key:"allSubtitleTracks",get:function(){return this.tracks}},{key:"subtitleTracks",get:function(){return this.tracksInGroup}},{key:"subtitleTrack",get:function(){return this.trackId},set:function(e){this.selectDefaultTrack=!1,this.setSubtitleTrack(e)}}]),t})(Za),Yn=(function(){function e(e){this.buffers=void 0,this.queues={video:[],audio:[],audiovideo:[]},this.buffers=e}var t=e.prototype;return t.append=function(e,t,a){var o=this.queues[t];o.push(e),1!==o.length||a||this.executeNext(t)},t.insertAbort=function(e,t){this.queues[t].unshift(e),this.executeNext(t)},t.appendBlocker=function(e){var t,a=new Promise((function(e){t=e})),o={execute:t,onStart:function(){},onComplete:function(){},onError:function(){}};return this.append(o,e),a},t.executeNext=function(e){var t=this.queues[e];if(t.length){var a=t[0];try{a.execute()}catch(t){U.warn('[buffer-operation-queue]: Exception executing "'+e+'" SourceBuffer operation: '+t),a.onError(t);var o=this.buffers[e];null!=o&&o.updating||this.shiftAndExecuteNext(e)}}},t.shiftAndExecuteNext=function(e){this.queues[e].shift(),this.executeNext(e)},t.current=function(e){return this.queues[e][0]},e})(),zn=/(avc[1234]|hvc1|hev1|dvh[1e]|vp09|av01)(?:\.[^.,]+)+/,Kn=(function(){function e(e){var t=this;this.details=null,this._objectUrl=null,this.operationQueue=void 0,this.listeners=void 0,this.hls=void 0,this.bufferCodecEventsExpected=0,this._bufferCodecEventsTotal=0,this.media=null,this.mediaSource=null,this.lastMpegAudioChunk=null,this.appendSource=void 0,this.appendErrors={audio:0,video:0,audiovideo:0},this.tracks={},this.pendingTracks={},this.sourceBuffer=void 0,this.log=void 0,this.warn=void 0,this.error=void 0,this._onEndStreaming=function(e){t.hls&&t.hls.pauseBuffering()},this._onStartStreaming=function(e){t.hls&&t.hls.resumeBuffering()},this._onMediaSourceOpen=function(){var e=t.media,a=t.mediaSource;t.log("Media source opened"),e&&(e.removeEventListener("emptied",t._onMediaEmptied),t.updateMediaElementDuration(),t.hls.trigger(f.MEDIA_ATTACHED,{media:e,mediaSource:a})),a&&a.removeEventListener("sourceopen",t._onMediaSourceOpen),t.checkPendingTracks()},this._onMediaSourceClose=function(){t.log("Media source closed")},this._onMediaSourceEnded=function(){t.log("Media source ended")},this._onMediaEmptied=function(){var e=t.mediaSrc,a=t._objectUrl;e!==a&&U.error("Media element src was set while attaching MediaSource ("+a+" > "+e+")")},this.hls=e;var a="[buffer-controller]";this.appendSource=e.config.preferManagedMediaSource,this.log=U.log.bind(U,a),this.warn=U.warn.bind(U,a),this.error=U.error.bind(U,a),this._initSourceBuffer(),this.registerListeners()}var t=e.prototype;return t.hasSourceTypes=function(){return this.getSourceBufferTypes().length>0||Object.keys(this.pendingTracks).length>0},t.destroy=function(){this.unregisterListeners(),this.details=null,this.lastMpegAudioChunk=null,this.hls=null},t.registerListeners=function(){var e=this.hls;e.on(f.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(f.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(f.MANIFEST_LOADING,this.onManifestLoading,this),e.on(f.MANIFEST_PARSED,this.onManifestParsed,this),e.on(f.BUFFER_RESET,this.onBufferReset,this),e.on(f.BUFFER_APPENDING,this.onBufferAppending,this),e.on(f.BUFFER_CODECS,this.onBufferCodecs,this),e.on(f.BUFFER_EOS,this.onBufferEos,this),e.on(f.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(f.LEVEL_UPDATED,this.onLevelUpdated,this),e.on(f.FRAG_PARSED,this.onFragParsed,this),e.on(f.FRAG_CHANGED,this.onFragChanged,this)},t.unregisterListeners=function(){var e=this.hls;e.off(f.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(f.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(f.MANIFEST_LOADING,this.onManifestLoading,this),e.off(f.MANIFEST_PARSED,this.onManifestParsed,this),e.off(f.BUFFER_RESET,this.onBufferReset,this),e.off(f.BUFFER_APPENDING,this.onBufferAppending,this),e.off(f.BUFFER_CODECS,this.onBufferCodecs,this),e.off(f.BUFFER_EOS,this.onBufferEos,this),e.off(f.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(f.LEVEL_UPDATED,this.onLevelUpdated,this),e.off(f.FRAG_PARSED,this.onFragParsed,this),e.off(f.FRAG_CHANGED,this.onFragChanged,this)},t._initSourceBuffer=function(){this.sourceBuffer={},this.operationQueue=new Yn(this.sourceBuffer),this.listeners={audio:[],video:[],audiovideo:[]},this.appendErrors={audio:0,video:0,audiovideo:0},this.lastMpegAudioChunk=null},t.onManifestLoading=function(){this.bufferCodecEventsExpected=this._bufferCodecEventsTotal=0,this.details=null},t.onManifestParsed=function(e,t){var a=2;(t.audio&&!t.video||!t.altAudio)&&(a=1),this.bufferCodecEventsExpected=this._bufferCodecEventsTotal=a,this.log(this.bufferCodecEventsExpected+" bufferCodec event(s) expected")},t.onMediaAttaching=function(e,t){var a=this.media=t.media,o=mt(this.appendSource);if(a&&o){var i,n=this.mediaSource=new o;this.log("created media source: "+(null==(i=n.constructor)?void 0:i.name)),n.addEventListener("sourceopen",this._onMediaSourceOpen),n.addEventListener("sourceended",this._onMediaSourceEnded),n.addEventListener("sourceclose",this._onMediaSourceClose),n.addEventListener("startstreaming",this._onStartStreaming),n.addEventListener("endstreaming",this._onEndStreaming);var r=this._objectUrl=self.URL.createObjectURL(n);if(this.appendSource)try{a.removeAttribute("src");var E=self.ManagedMediaSource;a.disableRemotePlayback=a.disableRemotePlayback||E&&n instanceof E,xn(a),jn(a,r),a.load()}catch(e){a.src=r}else a.src=r;a.addEventListener("emptied",this._onMediaEmptied)}},t.onMediaDetaching=function(){var e=this.media,t=this.mediaSource,a=this._objectUrl;if(t){if(this.log("media source detaching"),"open"===t.readyState)try{t.endOfStream()}catch(e){this.warn("onMediaDetaching: "+e.message+" while calling endOfStream")}this.onBufferReset(),t.removeEventListener("sourceopen",this._onMediaSourceOpen),t.removeEventListener("sourceended",this._onMediaSourceEnded),t.removeEventListener("sourceclose",this._onMediaSourceClose),t.removeEventListener("startstreaming",this._onStartStreaming),t.removeEventListener("endstreaming",this._onEndStreaming),e&&(e.removeEventListener("emptied",this._onMediaEmptied),a&&self.URL.revokeObjectURL(a),this.mediaSrc===a?(e.removeAttribute("src"),this.appendSource&&xn(e),e.load()):this.warn("media|source.src was changed by a third party - skip cleanup")),this.mediaSource=null,this.media=null,this._objectUrl=null,this.bufferCodecEventsExpected=this._bufferCodecEventsTotal,this.pendingTracks={},this.tracks={}}this.hls.trigger(f.MEDIA_DETACHED,void 0)},t.onBufferReset=function(){var e=this;this.getSourceBufferTypes().forEach((function(t){e.resetBuffer(t)})),this._initSourceBuffer()},t.resetBuffer=function(e){var t=this.sourceBuffer[e];try{var a;t&&(this.removeBufferListeners(e),this.sourceBuffer[e]=void 0,null!=(a=this.mediaSource)&&a.sourceBuffers.length&&this.mediaSource.removeSourceBuffer(t))}catch(t){this.warn("onBufferReset "+e,t)}},t.onBufferCodecs=function(e,t){var a=this,o=this.getSourceBufferTypes().length,i=Object.keys(t);if(i.forEach((function(e){if(o){var i=a.tracks[e];if(i&&"function"==typeof i.buffer.changeType){var n,r=t[e],E=r.id,_=r.codec,T=r.levelCodec,s=r.container,S=r.metadata,l=Wt(i.codec,i.levelCodec),I=null==l?void 0:l.replace(zn,"$1"),A=Wt(_,T),u=null==(n=A)?void 0:n.replace(zn,"$1");if(A&&I!==u){"audio"===e.slice(0,5)&&(A=yt(A,a.hls.config.preferManagedMediaSource));var d=s+";codecs="+A;a.appendChangeType(e,d),a.log("switching codec "+l+" to "+A),a.tracks[e]={buffer:i.buffer,codec:_,container:s,levelCodec:T,metadata:S,id:E}}}}else a.pendingTracks[e]=t[e]})),!o){var n=Math.max(this.bufferCodecEventsExpected-1,0);this.bufferCodecEventsExpected!==n&&(this.log(n+" bufferCodec event(s) expected "+i.join(",")),this.bufferCodecEventsExpected=n),this.mediaSource&&"open"===this.mediaSource.readyState&&this.checkPendingTracks()}},t.appendChangeType=function(e,t){var a=this,o=this.operationQueue,i={execute:function(){var i=a.sourceBuffer[e];i&&(a.log("changing "+e+" sourceBuffer type to "+t),i.changeType(t)),o.shiftAndExecuteNext(e)},onStart:function(){},onComplete:function(){},onError:function(t){a.warn("Failed to change "+e+" SourceBuffer type",t)}};o.append(i,e,!!this.pendingTracks[e])},t.onBufferAppending=function(e,t){var a=this,o=this.hls,i=this.operationQueue,n=this.tracks,r=t.data,E=t.type,_=t.frag,T=t.part,s=t.chunkMeta,S=s.buffering[E],l=self.performance.now();S.start=l;var I=_.stats.buffering,A=T?T.stats.buffering:null;0===I.start&&(I.start=l),A&&0===A.start&&(A.start=l);var u=n.audio,d=!1;"audio"===E&&"audio/mpeg"===(null==u?void 0:u.container)&&(d=!this.lastMpegAudioChunk||1===s.id||this.lastMpegAudioChunk.sn!==s.sn,this.lastMpegAudioChunk=s);var c=_.start,O={execute:function(){if(S.executeStart=self.performance.now(),d){var e=a.sourceBuffer[E];if(e){var t=c-e.timestampOffset;Math.abs(t)>=.1&&(a.log("Updating audio SourceBuffer timestampOffset to "+c+" (delta: "+t+") sn: "+_.sn+")"),e.timestampOffset=c)}}a.appendExecutor(r,E)},onStart:function(){},onComplete:function(){var e=self.performance.now();S.executeEnd=S.end=e,0===I.first&&(I.first=e),A&&0===A.first&&(A.first=e);var t=a.sourceBuffer,o={};for(var i in t)o[i]=fo.getBuffered(t[i]);a.appendErrors[E]=0,"audio"===E||"video"===E?a.appendErrors.audiovideo=0:(a.appendErrors.audio=0,a.appendErrors.video=0),a.hls.trigger(f.BUFFER_APPENDED,{type:E,frag:_,part:T,chunkMeta:s,parent:_.type,timeRanges:o})},onError:function(e){var t={type:B.MEDIA_ERROR,parent:_.type,details:P.BUFFER_APPEND_ERROR,sourceBufferName:E,frag:_,part:T,chunkMeta:s,error:e,err:e,fatal:!1};if(e.code===DOMException.QUOTA_EXCEEDED_ERR)t.details=P.BUFFER_FULL_ERROR;else{var i=++a.appendErrors[E];t.details=P.BUFFER_APPEND_ERROR,a.warn("Failed "+i+"/"+o.config.appendErrorMaxRetry+' times to append segment in "'+E+'" sourceBuffer'),i>=o.config.appendErrorMaxRetry&&(t.fatal=!0)}o.trigger(f.ERROR,t)}};i.append(O,E,!!this.pendingTracks[E])},t.onBufferFlushing=function(e,t){var a=this,o=this.operationQueue,i=function(e){return{execute:a.removeExecutor.bind(a,e,t.startOffset,t.endOffset),onStart:function(){},onComplete:function(){a.hls.trigger(f.BUFFER_FLUSHED,{type:e})},onError:function(t){a.warn("Failed to remove from "+e+" SourceBuffer",t)}}};t.type?o.append(i(t.type),t.type):this.getSourceBufferTypes().forEach((function(e){o.append(i(e),e)}))},t.onFragParsed=function(e,t){var a=this,o=t.frag,i=t.part,n=[],r=i?i.elementaryStreams:o.elementaryStreams;r[z.AUDIOVIDEO]?n.push("audiovideo"):(r[z.AUDIO]&&n.push("audio"),r[z.VIDEO]&&n.push("video"));var E=function(){var e=self.performance.now();o.stats.buffering.end=e,i&&(i.stats.buffering.end=e);var t=i?i.stats:o.stats;a.hls.trigger(f.FRAG_BUFFERED,{frag:o,part:i,stats:t,id:o.type})};0===n.length&&this.warn("Fragments must have at least one ElementaryStreamType set. type: "+o.type+" level: "+o.level+" sn: "+o.sn),this.blockBuffers(E,n)},t.onFragChanged=function(e,t){this.trimBuffers()},t.onBufferEos=function(e,t){var a=this;this.getSourceBufferTypes().reduce((function(e,o){var i=a.sourceBuffer[o];return!i||t.type&&t.type!==o||(i.ending=!0,i.ended||(i.ended=!0,a.log(o+" sourceBuffer now EOS"))),e&&!(i&&!i.ended)}),!0)&&(this.log("Queueing mediaSource.endOfStream()"),this.blockBuffers((function(){a.getSourceBufferTypes().forEach((function(e){var t=a.sourceBuffer[e];t&&(t.ending=!1)}));var e=a.mediaSource;e&&"open"===e.readyState?(a.log("Calling mediaSource.endOfStream()"),e.endOfStream()):e&&a.log("Could not call mediaSource.endOfStream(). mediaSource.readyState: "+e.readyState)})))},t.onLevelUpdated=function(e,t){var a=t.details;a.fragments.length&&(this.details=a,this.getSourceBufferTypes().length?this.blockBuffers(this.updateMediaElementDuration.bind(this)):this.updateMediaElementDuration())},t.trimBuffers=function(){var e=this.hls,t=this.details,a=this.media;if(a&&null!==t&&this.getSourceBufferTypes().length){var o=e.config,i=a.currentTime,n=t.levelTargetDuration,r=t.live&&null!==o.liveBackBufferLength?o.liveBackBufferLength:o.backBufferLength;if(p(r)&&r>0){var E=Math.max(r,n),_=Math.floor(i/n)*n-E;this.flushBackBuffer(i,n,_)}if(p(o.frontBufferFlushThreshold)&&o.frontBufferFlushThreshold>0){var T=Math.max(o.maxBufferLength,o.frontBufferFlushThreshold),s=Math.max(T,n),S=Math.floor(i/n)*n+s;this.flushFrontBuffer(i,n,S)}}},t.flushBackBuffer=function(e,t,a){var o=this,i=this.details,n=this.sourceBuffer;this.getSourceBufferTypes().forEach((function(r){var E=n[r];if(E){var _=fo.getBuffered(E);if(_.length>0&&a>_.start(0)){if(o.hls.trigger(f.BACK_BUFFER_REACHED,{bufferEnd:a}),null!=i&&i.live)o.hls.trigger(f.LIVE_BACK_BUFFER_REACHED,{bufferEnd:a});else if(E.ended&&_.end(_.length-1)-e<2*t)return void o.log("Cannot flush "+r+" back buffer while SourceBuffer is in ended state");o.hls.trigger(f.BUFFER_FLUSHING,{startOffset:0,endOffset:a,type:r})}}}))},t.flushFrontBuffer=function(e,t,a){var o=this,i=this.sourceBuffer;this.getSourceBufferTypes().forEach((function(n){var r=i[n];if(r){var E=fo.getBuffered(r),_=E.length;if(_<2)return;var T=E.start(_-1),s=E.end(_-1);if(a>T||e>=T&&e<=s)return;if(r.ended&&e-s<2*t)return void o.log("Cannot flush "+n+" front buffer while SourceBuffer is in ended state");o.hls.trigger(f.BUFFER_FLUSHING,{startOffset:T,endOffset:1/0,type:n})}}))},t.updateMediaElementDuration=function(){if(this.details&&this.media&&this.mediaSource&&"open"===this.mediaSource.readyState){var e=this.details,t=this.hls,a=this.media,o=this.mediaSource,i=e.fragments[0].start+e.totalduration,n=a.duration,r=p(o.duration)?o.duration:0;e.live&&t.config.liveDurationInfinity?(o.duration=1/0,this.updateSeekableRange(e)):(i>r&&i>n||!p(n))&&(this.log("Updating Media Source duration to "+i.toFixed(3)),o.duration=i)}},t.updateSeekableRange=function(e){var t=this.mediaSource,a=e.fragments;if(a.length&&e.live&&null!=t&&t.setLiveSeekableRange){var o=Math.max(0,a[0].start),i=Math.max(o,o+e.totalduration);this.log("Media Source duration is set to "+t.duration+". Setting seekable range to "+o+"-"+i+"."),t.setLiveSeekableRange(o,i)}},t.checkPendingTracks=function(){var e=this.bufferCodecEventsExpected,t=this.operationQueue,a=this.pendingTracks,o=Object.keys(a).length;if(o&&(!e||2===o||"audiovideo"in a)){this.createSourceBuffers(a),this.pendingTracks={};var i=this.getSourceBufferTypes();if(i.length)this.hls.trigger(f.BUFFER_CREATED,{tracks:this.tracks}),i.forEach((function(e){t.executeNext(e)}));else{var n=new Error("could not create source buffer for media codec(s)");this.hls.trigger(f.ERROR,{type:B.MEDIA_ERROR,details:P.BUFFER_INCOMPATIBLE_CODECS_ERROR,fatal:!0,error:n,reason:n.message})}}},t.createSourceBuffers=function(e){var t=this,a=this.sourceBuffer,o=this.mediaSource;if(!o)throw Error("createSourceBuffers called when mediaSource was null");var i=function(i){if(!a[i]){var n=e[i];if(!n)throw Error("source buffer exists for track "+i+", however track does not");var r=n.levelCodec||n.codec;r&&"audio"===i.slice(0,5)&&(r=yt(r,t.hls.config.preferManagedMediaSource));var E=n.container+";codecs="+r;t.log("creating sourceBuffer("+E+")");try{var _=a[i]=o.addSourceBuffer(E),T=i;t.addBufferListener(T,"updatestart",t._onSBUpdateStart),t.addBufferListener(T,"updateend",t._onSBUpdateEnd),t.addBufferListener(T,"error",t._onSBUpdateError),t.addBufferListener(T,"bufferedchange",(function(e,a){var o=a.removedRanges;null!=o&&o.length&&t.hls.trigger(f.BUFFER_FLUSHED,{type:i})})),t.tracks[i]={buffer:_,codec:r,container:n.container,levelCodec:n.levelCodec,metadata:n.metadata,id:n.id}}catch(e){t.error("error while trying to add sourceBuffer: "+e.message),t.hls.trigger(f.ERROR,{type:B.MEDIA_ERROR,details:P.BUFFER_ADD_CODEC_ERROR,fatal:!1,error:e,sourceBufferName:i,mimeType:E})}}};for(var n in e)i(n)},t._onSBUpdateStart=function(e){this.operationQueue.current(e).onStart()},t._onSBUpdateEnd=function(e){var t;if("closed"!==(null==(t=this.mediaSource)?void 0:t.readyState)){var a=this.operationQueue;a.current(e).onComplete(),a.shiftAndExecuteNext(e)}else this.resetBuffer(e)},t._onSBUpdateError=function(e,t){var a,o=new Error(e+" SourceBuffer error. MediaSource readyState: "+(null==(a=this.mediaSource)?void 0:a.readyState));this.error(""+o,t),this.hls.trigger(f.ERROR,{type:B.MEDIA_ERROR,details:P.BUFFER_APPENDING_ERROR,sourceBufferName:e,error:o,fatal:!1});var i=this.operationQueue.current(e);i&&i.onError(o)},t.removeExecutor=function(e,t,a){var o=this.media,i=this.mediaSource,n=this.operationQueue,r=this.sourceBuffer[e];if(!o||!i||!r)return this.warn("Attempting to remove from the "+e+" SourceBuffer, but it does not exist"),void n.shiftAndExecuteNext(e);var E=p(o.duration)?o.duration:1/0,_=p(i.duration)?i.duration:1/0,T=Math.max(0,t),s=Math.min(a,E,_);s>T&&(!r.ending||r.ended)?(r.ended=!1,this.log("Removing ["+T+","+s+"] from the "+e+" SourceBuffer"),r.remove(T,s)):n.shiftAndExecuteNext(e)},t.appendExecutor=function(e,t){var a=this.sourceBuffer[t];if(a)a.ended=!1,a.appendBuffer(e);else if(!this.pendingTracks[t])throw new Error("Attempting to append to the "+t+" SourceBuffer, but it does not exist")},t.blockBuffers=function(e,t){var a=this;if(void 0===t&&(t=this.getSourceBufferTypes()),!t.length)return this.log("Blocking operation requested, but no SourceBuffers exist"),void Promise.resolve().then(e);var o=this.operationQueue,i=t.map((function(e){return o.appendBlocker(e)}));Promise.all(i).then((function(){e(),t.forEach((function(e){var t=a.sourceBuffer[e];null!=t&&t.updating||o.shiftAndExecuteNext(e)}))}))},t.getSourceBufferTypes=function(){return Object.keys(this.sourceBuffer)},t.addBufferListener=function(e,t,a){var o=this.sourceBuffer[e];if(o){var i=a.bind(this,e);this.listeners[e].push({event:t,listener:i}),o.addEventListener(t,i)}},t.removeBufferListeners=function(e){var t=this.sourceBuffer[e];t&&this.listeners[e].forEach((function(e){t.removeEventListener(e.event,e.listener)}))},E(e,[{key:"mediaSrc",get:function(){var e,t=(null==(e=this.media)?void 0:e.firstChild)||this.media;return null==t?void 0:t.src}}]),e})();function xn(e){var t=e.querySelectorAll("source");[].slice.call(t).forEach((function(t){e.removeChild(t)}))}function jn(e,t){var a=self.document.createElement("source");a.type="video/mp4",a.src=t,e.appendChild(a)}var Qn={42:225,92:233,94:237,95:243,96:250,123:231,124:247,125:209,126:241,127:9608,128:174,129:176,130:189,131:191,132:8482,133:162,134:163,135:9834,136:224,137:32,138:232,139:226,140:234,141:238,142:244,143:251,144:193,145:201,146:211,147:218,148:220,149:252,150:8216,151:161,152:42,153:8217,154:9473,155:169,156:8480,157:8226,158:8220,159:8221,160:192,161:194,162:199,163:200,164:202,165:203,166:235,167:206,168:207,169:239,170:212,171:217,172:249,173:219,174:171,175:187,176:195,177:227,178:205,179:204,180:236,181:210,182:242,183:213,184:245,185:123,186:125,187:92,188:94,189:95,190:124,191:8764,192:196,193:228,194:214,195:246,196:223,197:165,198:164,199:9475,200:197,201:229,202:216,203:248,204:9487,205:9491,206:9495,207:9499},Xn=function(e){var t=e;return Qn.hasOwnProperty(e)&&(t=Qn[e]),String.fromCharCode(t)},$n=15,qn=100,Jn={17:1,18:3,21:5,22:7,23:9,16:11,19:12,20:14},Zn={17:2,18:4,21:6,22:8,23:10,19:13,20:15},er={25:1,26:3,29:5,30:7,31:9,24:11,27:12,28:14},tr={25:2,26:4,29:6,30:8,31:10,27:13,28:15},ar=["white","green","blue","cyan","red","yellow","magenta","black","transparent"],or=(function(){function e(){this.time=null,this.verboseLevel=0}return e.prototype.log=function(e,t){if(this.verboseLevel>=e){var a="function"==typeof t?t():t;U.log(this.time+" ["+e+"] "+a)}},e})(),ir=function(e){for(var t=[],a=0;a<e.length;a++)t.push(e[a].toString(16));return t},nr=(function(){function e(){this.foreground="white",this.underline=!1,this.italics=!1,this.background="black",this.flash=!1}var t=e.prototype;return t.reset=function(){this.foreground="white",this.underline=!1,this.italics=!1,this.background="black",this.flash=!1},t.setStyles=function(e){for(var t=["foreground","underline","italics","background","flash"],a=0;a<t.length;a++){var o=t[a];e.hasOwnProperty(o)&&(this[o]=e[o])}},t.isDefault=function(){return"white"===this.foreground&&!this.underline&&!this.italics&&"black"===this.background&&!this.flash},t.equals=function(e){return this.foreground===e.foreground&&this.underline===e.underline&&this.italics===e.italics&&this.background===e.background&&this.flash===e.flash},t.copy=function(e){this.foreground=e.foreground,this.underline=e.underline,this.italics=e.italics,this.background=e.background,this.flash=e.flash},t.toString=function(){return"color="+this.foreground+", underline="+this.underline+", italics="+this.italics+", background="+this.background+", flash="+this.flash},e})(),rr=(function(){function e(){this.uchar=" ",this.penState=new nr}var t=e.prototype;return t.reset=function(){this.uchar=" ",this.penState.reset()},t.setChar=function(e,t){this.uchar=e,this.penState.copy(t)},t.setPenState=function(e){this.penState.copy(e)},t.equals=function(e){return this.uchar===e.uchar&&this.penState.equals(e.penState)},t.copy=function(e){this.uchar=e.uchar,this.penState.copy(e.penState)},t.isEmpty=function(){return" "===this.uchar&&this.penState.isDefault()},e})(),Er=(function(){function e(e){this.chars=[],this.pos=0,this.currPenState=new nr,this.cueStartTime=null,this.logger=void 0;for(var t=0;t<qn;t++)this.chars.push(new rr);this.logger=e}var t=e.prototype;return t.equals=function(e){for(var t=0;t<qn;t++)if(!this.chars[t].equals(e.chars[t]))return!1;return!0},t.copy=function(e){for(var t=0;t<qn;t++)this.chars[t].copy(e.chars[t])},t.isEmpty=function(){for(var e=!0,t=0;t<qn;t++)if(!this.chars[t].isEmpty()){e=!1;break}return e},t.setCursor=function(e){this.pos!==e&&(this.pos=e),this.pos<0?(this.logger.log(3,"Negative cursor position "+this.pos),this.pos=0):this.pos>qn&&(this.logger.log(3,"Too large cursor position "+this.pos),this.pos=qn)},t.moveCursor=function(e){var t=this.pos+e;if(e>1)for(var a=this.pos+1;a<t+1;a++)this.chars[a].setPenState(this.currPenState);this.setCursor(t)},t.backSpace=function(){this.moveCursor(-1),this.chars[this.pos].setChar(" ",this.currPenState)},t.insertChar=function(e){var t=this;e>=144&&this.backSpace();var a=Xn(e);this.pos>=qn?this.logger.log(0,(function(){return"Cannot insert "+e.toString(16)+" ("+a+") at position "+t.pos+". Skipping it!"})):(this.chars[this.pos].setChar(a,this.currPenState),this.moveCursor(1))},t.clearFromPos=function(e){var t;for(t=e;t<qn;t++)this.chars[t].reset()},t.clear=function(){this.clearFromPos(0),this.pos=0,this.currPenState.reset()},t.clearToEndOfRow=function(){this.clearFromPos(this.pos)},t.getTextString=function(){for(var e=[],t=!0,a=0;a<qn;a++){var o=this.chars[a].uchar;" "!==o&&(t=!1),e.push(o)}return t?"":e.join("")},t.setPenStyles=function(e){this.currPenState.setStyles(e),this.chars[this.pos].setPenState(this.currPenState)},e})(),_r=(function(){function e(e){this.rows=[],this.currRow=$n-1,this.nrRollUpRows=null,this.lastOutputScreen=null,this.logger=void 0;for(var t=0;t<$n;t++)this.rows.push(new Er(e));this.logger=e}var t=e.prototype;return t.reset=function(){for(var e=0;e<$n;e++)this.rows[e].clear();this.currRow=$n-1},t.equals=function(e){for(var t=!0,a=0;a<$n;a++)if(!this.rows[a].equals(e.rows[a])){t=!1;break}return t},t.copy=function(e){for(var t=0;t<$n;t++)this.rows[t].copy(e.rows[t])},t.isEmpty=function(){for(var e=!0,t=0;t<$n;t++)if(!this.rows[t].isEmpty()){e=!1;break}return e},t.backSpace=function(){this.rows[this.currRow].backSpace()},t.clearToEndOfRow=function(){this.rows[this.currRow].clearToEndOfRow()},t.insertChar=function(e){this.rows[this.currRow].insertChar(e)},t.setPen=function(e){this.rows[this.currRow].setPenStyles(e)},t.moveCursor=function(e){this.rows[this.currRow].moveCursor(e)},t.setCursor=function(e){this.logger.log(2,"setCursor: "+e),this.rows[this.currRow].setCursor(e)},t.setPAC=function(e){this.logger.log(2,(function(){return"pacData = "+JSON.stringify(e)}));var t=e.row-1;if(this.nrRollUpRows&&t<this.nrRollUpRows-1&&(t=this.nrRollUpRows-1),this.nrRollUpRows&&this.currRow!==t){for(var a=0;a<$n;a++)this.rows[a].clear();var o=this.currRow+1-this.nrRollUpRows,i=this.lastOutputScreen;if(i){var n=i.rows[o].cueStartTime,r=this.logger.time;if(null!==n&&null!==r&&n<r)for(var E=0;E<this.nrRollUpRows;E++)this.rows[t-this.nrRollUpRows+E+1].copy(i.rows[o+E])}}this.currRow=t;var _=this.rows[this.currRow];if(null!==e.indent){var T=e.indent,s=Math.max(T-1,0);_.setCursor(e.indent),e.color=_.chars[s].penState.foreground}var S={foreground:e.color,underline:e.underline,italics:e.italics,background:"black",flash:!1};this.setPen(S)},t.setBkgData=function(e){this.logger.log(2,(function(){return"bkgData = "+JSON.stringify(e)})),this.backSpace(),this.setPen(e),this.insertChar(32)},t.setRollUpRows=function(e){this.nrRollUpRows=e},t.rollUp=function(){var e=this;if(null!==this.nrRollUpRows){this.logger.log(1,(function(){return e.getDisplayText()}));var t=this.currRow+1-this.nrRollUpRows,a=this.rows.splice(t,1)[0];a.clear(),this.rows.splice(this.currRow,0,a),this.logger.log(2,"Rolling up")}else this.logger.log(3,"roll_up but nrRollUpRows not set yet")},t.getDisplayText=function(e){e=e||!1;for(var t=[],a="",o=-1,i=0;i<$n;i++){var n=this.rows[i].getTextString();n&&(o=i+1,e?t.push("Row "+o+": '"+n+"'"):t.push(n.trim()))}return t.length>0&&(a=e?"["+t.join(" | ")+"]":t.join("\n")),a},t.getTextAndFormat=function(){return this.rows},e})(),Tr=(function(){function e(e,t,a){this.chNr=void 0,this.outputFilter=void 0,this.mode=void 0,this.verbose=void 0,this.displayedMemory=void 0,this.nonDisplayedMemory=void 0,this.lastOutputScreen=void 0,this.currRollUpRow=void 0,this.writeScreen=void 0,this.cueStartTime=void 0,this.logger=void 0,this.chNr=e,this.outputFilter=t,this.mode=null,this.verbose=0,this.displayedMemory=new _r(a),this.nonDisplayedMemory=new _r(a),this.lastOutputScreen=new _r(a),this.currRollUpRow=this.displayedMemory.rows[$n-1],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null,this.logger=a}var t=e.prototype;return t.reset=function(){this.mode=null,this.displayedMemory.reset(),this.nonDisplayedMemory.reset(),this.lastOutputScreen.reset(),this.outputFilter.reset(),this.currRollUpRow=this.displayedMemory.rows[$n-1],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null},t.getHandler=function(){return this.outputFilter},t.setHandler=function(e){this.outputFilter=e},t.setPAC=function(e){this.writeScreen.setPAC(e)},t.setBkgData=function(e){this.writeScreen.setBkgData(e)},t.setMode=function(e){e!==this.mode&&(this.mode=e,this.logger.log(2,(function(){return"MODE="+e})),"MODE_POP-ON"===this.mode?this.writeScreen=this.nonDisplayedMemory:(this.writeScreen=this.displayedMemory,this.writeScreen.reset()),"MODE_ROLL-UP"!==this.mode&&(this.displayedMemory.nrRollUpRows=null,this.nonDisplayedMemory.nrRollUpRows=null),this.mode=e)},t.insertChars=function(e){for(var t=this,a=0;a<e.length;a++)this.writeScreen.insertChar(e[a]);var o=this.writeScreen===this.displayedMemory?"DISP":"NON_DISP";this.logger.log(2,(function(){return o+": "+t.writeScreen.getDisplayText(!0)})),"MODE_PAINT-ON"!==this.mode&&"MODE_ROLL-UP"!==this.mode||(this.logger.log(1,(function(){return"DISPLAYED: "+t.displayedMemory.getDisplayText(!0)})),this.outputDataUpdate())},t.ccRCL=function(){this.logger.log(2,"RCL - Resume Caption Loading"),this.setMode("MODE_POP-ON")},t.ccBS=function(){this.logger.log(2,"BS - BackSpace"),"MODE_TEXT"!==this.mode&&(this.writeScreen.backSpace(),this.writeScreen===this.displayedMemory&&this.outputDataUpdate())},t.ccAOF=function(){},t.ccAON=function(){},t.ccDER=function(){this.logger.log(2,"DER- Delete to End of Row"),this.writeScreen.clearToEndOfRow(),this.outputDataUpdate()},t.ccRU=function(e){this.logger.log(2,"RU("+e+") - Roll Up"),this.writeScreen=this.displayedMemory,this.setMode("MODE_ROLL-UP"),this.writeScreen.setRollUpRows(e)},t.ccFON=function(){this.logger.log(2,"FON - Flash On"),this.writeScreen.setPen({flash:!0})},t.ccRDC=function(){this.logger.log(2,"RDC - Resume Direct Captioning"),this.setMode("MODE_PAINT-ON")},t.ccTR=function(){this.logger.log(2,"TR"),this.setMode("MODE_TEXT")},t.ccRTD=function(){this.logger.log(2,"RTD"),this.setMode("MODE_TEXT")},t.ccEDM=function(){this.logger.log(2,"EDM - Erase Displayed Memory"),this.displayedMemory.reset(),this.outputDataUpdate(!0)},t.ccCR=function(){this.logger.log(2,"CR - Carriage Return"),this.writeScreen.rollUp(),this.outputDataUpdate(!0)},t.ccENM=function(){this.logger.log(2,"ENM - Erase Non-displayed Memory"),this.nonDisplayedMemory.reset()},t.ccEOC=function(){var e=this;if(this.logger.log(2,"EOC - End Of Caption"),"MODE_POP-ON"===this.mode){var t=this.displayedMemory;this.displayedMemory=this.nonDisplayedMemory,this.nonDisplayedMemory=t,this.writeScreen=this.nonDisplayedMemory,this.logger.log(1,(function(){return"DISP: "+e.displayedMemory.getDisplayText()}))}this.outputDataUpdate(!0)},t.ccTO=function(e){this.logger.log(2,"TO("+e+") - Tab Offset"),this.writeScreen.moveCursor(e)},t.ccMIDROW=function(e){var t={flash:!1};if(t.underline=e%2==1,t.italics=e>=46,t.italics)t.foreground="white";else{var a=Math.floor(e/2)-16,o=["white","green","blue","cyan","red","yellow","magenta"];t.foreground=o[a]}this.logger.log(2,"MIDROW: "+JSON.stringify(t)),this.writeScreen.setPen(t)},t.outputDataUpdate=function(e){void 0===e&&(e=!1);var t=this.logger.time;null!==t&&this.outputFilter&&(null!==this.cueStartTime||this.displayedMemory.isEmpty()?this.displayedMemory.equals(this.lastOutputScreen)||(this.outputFilter.newCue(this.cueStartTime,t,this.lastOutputScreen),e&&this.outputFilter.dispatchCue&&this.outputFilter.dispatchCue(),this.cueStartTime=this.displayedMemory.isEmpty()?null:t):this.cueStartTime=t,this.lastOutputScreen.copy(this.displayedMemory))},t.cueSplitAtTime=function(e){this.outputFilter&&(this.displayedMemory.isEmpty()||(this.outputFilter.newCue&&this.outputFilter.newCue(this.cueStartTime,e,this.displayedMemory),this.cueStartTime=e))},e})(),sr=(function(){function e(e,t,a){this.channels=void 0,this.currentChannel=0,this.cmdHistory=Ir(),this.logger=void 0;var o=this.logger=new or;this.channels=[null,new Tr(e,t,o),new Tr(e+1,a,o)]}var t=e.prototype;return t.getHandler=function(e){return this.channels[e].getHandler()},t.setHandler=function(e,t){this.channels[e].setHandler(t)},t.addData=function(e,t){var a,o,i,n=!1;this.logger.time=e;for(var r=0;r<t.length;r+=2)if(o=127&t[r],i=127&t[r+1],0!==o||0!==i){if(this.logger.log(3,"["+ir([t[r],t[r+1]])+"] -> ("+ir([o,i])+")"),(a=this.parseCmd(o,i))||(a=this.parseMidrow(o,i)),a||(a=this.parsePAC(o,i)),a||(a=this.parseBackgroundAttributes(o,i)),!a&&(n=this.parseChars(o,i))){var E=this.currentChannel;E&&E>0?this.channels[E].insertChars(n):this.logger.log(2,"No channel found yet. TEXT-MODE?")}a||n||this.logger.log(2,"Couldn't parse cleaned data "+ir([o,i])+" orig: "+ir([t[r],t[r+1]]))}},t.parseCmd=function(e,t){var a=this.cmdHistory;if(!((20===e||28===e||21===e||29===e)&&t>=32&&t<=47||(23===e||31===e)&&t>=33&&t<=35))return!1;if(lr(e,t,a))return Sr(null,null,a),this.logger.log(3,"Repeated command ("+ir([e,t])+") is dropped"),!0;var o=20===e||21===e||23===e?1:2,i=this.channels[o];return 20===e||21===e||28===e||29===e?32===t?i.ccRCL():33===t?i.ccBS():34===t?i.ccAOF():35===t?i.ccAON():36===t?i.ccDER():37===t?i.ccRU(2):38===t?i.ccRU(3):39===t?i.ccRU(4):40===t?i.ccFON():41===t?i.ccRDC():42===t?i.ccTR():43===t?i.ccRTD():44===t?i.ccEDM():45===t?i.ccCR():46===t?i.ccENM():47===t&&i.ccEOC():i.ccTO(t-32),Sr(e,t,a),this.currentChannel=o,!0},t.parseMidrow=function(e,t){var a=0;if((17===e||25===e)&&t>=32&&t<=47){if((a=17===e?1:2)!==this.currentChannel)return this.logger.log(0,"Mismatch channel in midrow parsing"),!1;var o=this.channels[a];return!!o&&(o.ccMIDROW(t),this.logger.log(3,"MIDROW ("+ir([e,t])+")"),!0)}return!1},t.parsePAC=function(e,t){var a,o=this.cmdHistory;if(!((e>=17&&e<=23||e>=25&&e<=31)&&t>=64&&t<=127||(16===e||24===e)&&t>=64&&t<=95))return!1;if(lr(e,t,o))return Sr(null,null,o),!0;var i=e<=23?1:2;a=t>=64&&t<=95?1===i?Jn[e]:er[e]:1===i?Zn[e]:tr[e];var n=this.channels[i];return!!n&&(n.setPAC(this.interpretPAC(a,t)),Sr(e,t,o),this.currentChannel=i,!0)},t.interpretPAC=function(e,t){var a,o={color:null,italics:!1,indent:null,underline:!1,row:e};return a=t>95?t-96:t-64,o.underline=1==(1&a),a<=13?o.color=["white","green","blue","cyan","red","yellow","magenta","white"][Math.floor(a/2)]:a<=15?(o.italics=!0,o.color="white"):o.indent=4*Math.floor((a-16)/2),o},t.parseChars=function(e,t){var a,o,i=null,n=null;if(e>=25?(a=2,n=e-8):(a=1,n=e),n>=17&&n<=19?(o=17===n?t+80:18===n?t+112:t+144,this.logger.log(2,"Special char '"+Xn(o)+"' in channel "+a),i=[o]):e>=32&&e<=127&&(i=0===t?[e]:[e,t]),i){var r=ir(i);this.logger.log(3,"Char codes = "+r.join(",")),Sr(e,t,this.cmdHistory)}return i},t.parseBackgroundAttributes=function(e,t){var a;if(!((16===e||24===e)&&t>=32&&t<=47||(23===e||31===e)&&t>=45&&t<=47))return!1;var o={};16===e||24===e?(a=Math.floor((t-32)/2),o.background=ar[a],t%2==1&&(o.background=o.background+"_semi")):45===t?o.background="transparent":(o.foreground="black",47===t&&(o.underline=!0));var i=e<=23?1:2;return this.channels[i].setBkgData(o),Sr(e,t,this.cmdHistory),!0},t.reset=function(){for(var e=0;e<Object.keys(this.channels).length;e++){var t=this.channels[e];t&&t.reset()}this.cmdHistory=Ir()},t.cueSplitAtTime=function(e){for(var t=0;t<this.channels.length;t++){var a=this.channels[t];a&&a.cueSplitAtTime(e)}},e})();function Sr(e,t,a){a.a=e,a.b=t}function lr(e,t,a){return a.a===e&&a.b===t}function Ir(){return{a:null,b:null}}var Ar=(function(){function e(e,t){this.timelineController=void 0,this.cueRanges=[],this.trackName=void 0,this.startTime=null,this.endTime=null,this.screen=null,this.timelineController=e,this.trackName=t}var t=e.prototype;return t.dispatchCue=function(){null!==this.startTime&&(this.timelineController.addCues(this.trackName,this.startTime,this.endTime,this.screen,this.cueRanges),this.startTime=null)},t.newCue=function(e,t,a){(null===this.startTime||this.startTime>e)&&(this.startTime=e),this.endTime=t,this.screen=a,this.timelineController.createCaptionsTrack(this.trackName)},t.reset=function(){this.cueRanges=[],this.startTime=null},e})(),ur=(function(){if(null!=te&&te.VTTCue)return self.VTTCue;var e=["","lr","rl"],t=["start","middle","end","left","right"];function a(e,t){if("string"!=typeof t)return!1;if(!Array.isArray(e))return!1;var a=t.toLowerCase();return!!~e.indexOf(a)&&a}function o(t){return a(e,t)}function i(e){return a(t,e)}function n(e){for(var t=arguments.length,a=new Array(t>1?t-1:0),o=1;o<t;o++)a[o-1]=arguments[o];for(var i=1;i<arguments.length;i++){var n=arguments[i];for(var r in n)e[r]=n[r]}return e}function r(e,t,a){var r=this,E={enumerable:!0};r.hasBeenReset=!1;var _="",T=!1,s=e,S=t,l=a,I=null,A="",u=!0,d="auto",c="start",O=50,R="middle",N=50,m="middle";Object.defineProperty(r,"id",n({},E,{get:function(){return _},set:function(e){_=""+e}})),Object.defineProperty(r,"pauseOnExit",n({},E,{get:function(){return T},set:function(e){T=!!e}})),Object.defineProperty(r,"startTime",n({},E,{get:function(){return s},set:function(e){if("number"!=typeof e)throw new TypeError("Start time must be set to a number.");s=e,this.hasBeenReset=!0}})),Object.defineProperty(r,"endTime",n({},E,{get:function(){return S},set:function(e){if("number"!=typeof e)throw new TypeError("End time must be set to a number.");S=e,this.hasBeenReset=!0}})),Object.defineProperty(r,"text",n({},E,{get:function(){return l},set:function(e){l=""+e,this.hasBeenReset=!0}})),Object.defineProperty(r,"region",n({},E,{get:function(){return I},set:function(e){I=e,this.hasBeenReset=!0}})),Object.defineProperty(r,"vertical",n({},E,{get:function(){return A},set:function(e){var t=o(e);if(!1===t)throw new SyntaxError("An invalid or illegal string was specified.");A=t,this.hasBeenReset=!0}})),Object.defineProperty(r,"snapToLines",n({},E,{get:function(){return u},set:function(e){u=!!e,this.hasBeenReset=!0}})),Object.defineProperty(r,"line",n({},E,{get:function(){return d},set:function(e){if("number"!=typeof e&&"auto"!==e)throw new SyntaxError("An invalid number or illegal string was specified.");d=e,this.hasBeenReset=!0}})),Object.defineProperty(r,"lineAlign",n({},E,{get:function(){return c},set:function(e){var t=i(e);if(!t)throw new SyntaxError("An invalid or illegal string was specified.");c=t,this.hasBeenReset=!0}})),Object.defineProperty(r,"position",n({},E,{get:function(){return O},set:function(e){if(e<0||e>100)throw new Error("Position must be between 0 and 100.");O=e,this.hasBeenReset=!0}})),Object.defineProperty(r,"positionAlign",n({},E,{get:function(){return R},set:function(e){var t=i(e);if(!t)throw new SyntaxError("An invalid or illegal string was specified.");R=t,this.hasBeenReset=!0}})),Object.defineProperty(r,"size",n({},E,{get:function(){return N},set:function(e){if(e<0||e>100)throw new Error("Size must be between 0 and 100.");N=e,this.hasBeenReset=!0}})),Object.defineProperty(r,"align",n({},E,{get:function(){return m},set:function(e){var t=i(e);if(!t)throw new SyntaxError("An invalid or illegal string was specified.");m=t,this.hasBeenReset=!0}})),r.displayState=void 0}return r.prototype.getCueAsHTML=function(){return self.WebVTT.convertCueToDOMTree(self,this.text)},r})(),dr=(function(){function e(){}return e.prototype.decode=function(e,t){if(!e)return"";if("string"!=typeof e)throw new Error("Error - expected string data.");return decodeURIComponent(encodeURIComponent(e))},e})();function cr(e){function t(e,t,a,o){return 3600*(0|e)+60*(0|t)+(0|a)+parseFloat(o||0)}var a=e.match(/^(?:(\d+):)?(\d{2}):(\d{2})(\.\d+)?/);return a?parseFloat(a[2])>59?t(a[2],a[3],0,a[4]):t(a[1],a[2],a[3],a[4]):null}var Or=(function(){function e(){this.values=Object.create(null)}var t=e.prototype;return t.set=function(e,t){this.get(e)||""===t||(this.values[e]=t)},t.get=function(e,t,a){return a?this.has(e)?this.values[e]:t[a]:this.has(e)?this.values[e]:t},t.has=function(e){return e in this.values},t.alt=function(e,t,a){for(var o=0;o<a.length;++o)if(t===a[o]){this.set(e,t);break}},t.integer=function(e,t){/^-?\d+$/.test(t)&&this.set(e,parseInt(t,10))},t.percent=function(e,t){if(/^([\d]{1,3})(\.[\d]*)?%$/.test(t)){var a=parseFloat(t);if(a>=0&&a<=100)return this.set(e,a),!0}return!1},e})();function Rr(e,t,a,o){var i=o?e.split(o):[e];for(var n in i)if("string"==typeof i[n]){var r=i[n].split(a);2===r.length&&t(r[0],r[1])}}var Nr=new ur(0,0,""),mr="middle"===Nr.align?"middle":"center";function Lr(e,t,a){var o=e;function i(){var t=cr(e);if(null===t)throw new Error("Malformed timestamp: "+o);return e=e.replace(/^[^\sa-zA-Z-]+/,""),t}function n(e,t){var o=new Or;Rr(e,(function(e,t){var i;switch(e){case"region":for(var n=a.length-1;n>=0;n--)if(a[n].id===t){o.set(e,a[n].region);break}break;case"vertical":o.alt(e,t,["rl","lr"]);break;case"line":i=t.split(","),o.integer(e,i[0]),o.percent(e,i[0])&&o.set("snapToLines",!1),o.alt(e,i[0],["auto"]),2===i.length&&o.alt("lineAlign",i[1],["start",mr,"end"]);break;case"position":i=t.split(","),o.percent(e,i[0]),2===i.length&&o.alt("positionAlign",i[1],["start",mr,"end","line-left","line-right","auto"]);break;case"size":o.percent(e,t);break;case"align":o.alt(e,t,["start",mr,"end","left","right"])}}),/:/,/\s/),t.region=o.get("region",null),t.vertical=o.get("vertical","");var i=o.get("line","auto");"auto"===i&&-1===Nr.line&&(i=-1),t.line=i,t.lineAlign=o.get("lineAlign","start"),t.snapToLines=o.get("snapToLines",!0),t.size=o.get("size",100),t.align=o.get("align",mr);var n=o.get("position","auto");"auto"===n&&50===Nr.position&&(n="start"===t.align||"left"===t.align?0:"end"===t.align||"right"===t.align?100:50),t.position=n}function r(){e=e.replace(/^\s+/,"")}if(r(),t.startTime=i(),r(),"--\x3e"!==e.slice(0,3))throw new Error("Malformed time stamp (time stamps must be separated by '--\x3e'): "+o);e=e.slice(3),r(),t.endTime=i(),r(),n(e,t)}function Dr(e){return e.replace(/<br(?: \/)?>/gi,"\n")}var pr=(function(){function e(){this.state="INITIAL",this.buffer="",this.decoder=new dr,this.regionList=[],this.cue=null,this.oncue=void 0,this.onparsingerror=void 0,this.onflush=void 0}var t=e.prototype;return t.parse=function(e){var t=this;function a(){var e=t.buffer,a=0;for(e=Dr(e);a<e.length&&"\r"!==e[a]&&"\n"!==e[a];)++a;var o=e.slice(0,a);return"\r"===e[a]&&++a,"\n"===e[a]&&++a,t.buffer=e.slice(a),o}function o(e){Rr(e,(function(e,t){}),/:/)}e&&(t.buffer+=t.decoder.decode(e,{stream:!0}));try{var i="";if("INITIAL"===t.state){if(!/\r\n|\n/.test(t.buffer))return this;var n=(i=a()).match(/^()?WEBVTT([ \t].*)?$/);if(null==n||!n[0])throw new Error("Malformed WebVTT signature.");t.state="HEADER"}for(var r=!1;t.buffer;){if(!/\r\n|\n/.test(t.buffer))return this;switch(r?r=!1:i=a(),t.state){case"HEADER":/:/.test(i)?o(i):i||(t.state="ID");continue;case"NOTE":i||(t.state="ID");continue;case"ID":if(/^NOTE($|[ \t])/.test(i)){t.state="NOTE";break}if(!i)continue;if(t.cue=new ur(0,0,""),t.state="CUE",-1===i.indexOf("--\x3e")){t.cue.id=i;continue}case"CUE":if(!t.cue){t.state="BADCUE";continue}try{Lr(i,t.cue,t.regionList)}catch(e){t.cue=null,t.state="BADCUE";continue}t.state="CUETEXT";continue;case"CUETEXT":var E=-1!==i.indexOf("--\x3e");if(!i||E&&(r=!0)){t.oncue&&t.cue&&t.oncue(t.cue),t.cue=null,t.state="ID";continue}if(null===t.cue)continue;t.cue.text&&(t.cue.text+="\n"),t.cue.text+=i;continue;case"BADCUE":i||(t.state="ID")}}}catch(e){"CUETEXT"===t.state&&t.cue&&t.oncue&&t.oncue(t.cue),t.cue=null,t.state="INITIAL"===t.state?"BADWEBVTT":"BADCUE"}return this},t.flush=function(){var e=this;try{if((e.cue||"HEADER"===e.state)&&(e.buffer+="\n\n",e.parse()),"INITIAL"===e.state||"BADWEBVTT"===e.state)throw new Error("Malformed WebVTT signature.")}catch(t){e.onparsingerror&&e.onparsingerror(t)}return e.onflush&&e.onflush(),this},e})(),hr=/\r\n|\n\r|\n|\r/g,Cr=function(e,t,a){return void 0===a&&(a=0),e.slice(a,a+t.length)===t},fr=function(e){var t=parseInt(e.slice(-3)),a=parseInt(e.slice(-6,-4)),o=parseInt(e.slice(-9,-7)),i=e.length>9?parseInt(e.substring(0,e.indexOf(":"))):0;if(!(p(t)&&p(a)&&p(o)&&p(i)))throw Error("Malformed X-TIMESTAMP-MAP: Local:"+e);return t+=1e3*a,t+=6e4*o,t+=36e5*i},Br=function(e){for(var t=5381,a=e.length;a;)t=33*t^e.charCodeAt(--a);return(t>>>0).toString()};function Pr(e,t,a){return Br(e.toString())+Br(t.toString())+Br(a)}var gr=function(e,t,a){var o=e[t],i=e[o.prevCC];if(!i||!i.new&&o.new)return e.ccOffset=e.presentationOffset=o.start,void(o.new=!1);for(;null!=(n=i)&&n.new;){var n;e.ccOffset+=o.start-i.start,o.new=!1,i=e[(o=i).prevCC]}e.presentationOffset=a};function vr(e,t,a,o,i,n,r){var E,_=new pr,T=Pe(new Uint8Array(e)).trim().replace(hr,"\n").split("\n"),s=[],S=t?qi(t.baseTime,t.timescale):0,l="00:00.000",I=0,A=0,u=!0;_.oncue=function(e){var n=a[o],r=a.ccOffset,_=(I-S)/9e4;if(null!=n&&n.new&&(void 0!==A?r=a.ccOffset=n.start:gr(a,o,_)),_){if(!t)return void(E=new Error("Missing initPTS for VTT MPEGTS"));r=_-a.presentationOffset}var T=e.endTime-e.startTime,l=rn(9e4*(e.startTime+r-A),9e4*i)/9e4;e.startTime=Math.max(l,0),e.endTime=Math.max(l+T,0);var u=e.text.trim();e.text=decodeURIComponent(encodeURIComponent(u)),e.id||(e.id=Pr(e.startTime,e.endTime,u)),e.endTime>0&&s.push(e)},_.onparsingerror=function(e){E=e},_.onflush=function(){E?r(E):n(s)},T.forEach((function(e){if(u){if(Cr(e,"X-TIMESTAMP-MAP=")){u=!1,e.slice(16).split(",").forEach((function(e){Cr(e,"LOCAL:")?l=e.slice(6):Cr(e,"MPEGTS:")&&(I=parseInt(e.slice(7)))}));try{A=fr(l)/1e3}catch(e){E=e}return}""===e&&(u=!1)}_.parse(e+"\n")})),_.flush()}var yr="stpp.ttml.im1t",Wr=/^(\d{2,}):(\d{2}):(\d{2}):(\d{2})\.?(\d+)?$/,Mr=/^(\d*(?:\.\d*)?)(h|m|s|ms|f|t)$/,br={left:"start",center:"center",right:"end",start:"start",end:"end"};function Ur(e,t,a,o){var i=we(new Uint8Array(e),["mdat"]);if(0!==i.length){var n=i.map((function(e){return Pe(e)})),r=Xi(t.baseTime,1,t.timescale);try{n.forEach((function(e){return a(Gr(e,r))}))}catch(e){o(e)}}else o(new Error("Could not parse IMSC1 mdat"))}function Gr(e,t){var a=(new DOMParser).parseFromString(e,"text/xml").getElementsByTagName("tt")[0];if(!a)throw new Error("Invalid ttml");var o={frameRate:30,subFrameRate:1,frameRateMultiplier:0,tickRate:0},i=Object.keys(o).reduce((function(e,t){return e[t]=a.getAttribute("ttp:"+t)||o[t],e}),{}),n="preserve"!==a.getAttribute("xml:space"),r=Fr(kr(a,"styling","style")),E=Fr(kr(a,"layout","region")),_=kr(a,"body","[begin]");return[].map.call(_,(function(e){var a=Vr(e,n);if(!a||!e.hasAttribute("begin"))return null;var o=zr(e.getAttribute("begin"),i),_=zr(e.getAttribute("dur"),i),s=zr(e.getAttribute("end"),i);if(null===o)throw Yr(e);if(null===s){if(null===_)throw Yr(e);s=o+_}var S=new ur(o-t,s-t,a);S.id=Pr(S.startTime,S.endTime,S.text);var l=Hr(E[e.getAttribute("region")],r[e.getAttribute("style")],r),I=l.textAlign;if(I){var A=br[I];A&&(S.lineAlign=A),S.align=I}return T(S,l),S})).filter((function(e){return null!==e}))}function kr(e,t,a){var o=e.getElementsByTagName(t)[0];return o?[].slice.call(o.querySelectorAll(a)):[]}function Fr(e){return e.reduce((function(e,t){var a=t.getAttribute("xml:id");return a&&(e[a]=t),e}),{})}function Vr(e,t){return[].slice.call(e.childNodes).reduce((function(e,a,o){var i;return"br"===a.nodeName&&o?e+"\n":null!=(i=a.childNodes)&&i.length?Vr(a,t):t?e+a.textContent.trim().replace(/\s+/g," "):e+a.textContent}),"")}function Hr(e,t,a){var o="http://www.w3.org/ns/ttml#styling",i=null,n=["displayAlign","textAlign","color","backgroundColor","fontSize","fontFamily"],r=null!=e&&e.hasAttribute("style")?e.getAttribute("style"):null;return r&&a.hasOwnProperty(r)&&(i=a[r]),n.reduce((function(a,n){var r=wr(t,o,n)||wr(e,o,n)||wr(i,o,n);return r&&(a[n]=r),a}),{})}function wr(e,t,a){return e&&e.hasAttributeNS(t,a)?e.getAttributeNS(t,a):null}function Yr(e){return new Error("Could not parse ttml timestamp "+e)}function zr(e,t){if(!e)return null;var a=cr(e);return null===a&&(Wr.test(e)?a=Kr(e,t):Mr.test(e)&&(a=xr(e,t))),a}function Kr(e,t){var a=Wr.exec(e),o=(0|a[4])+(0|a[5])/t.subFrameRate;return 3600*(0|a[1])+60*(0|a[2])+(0|a[3])+o/t.frameRate}function xr(e,t){var a=Mr.exec(e),o=Number(a[1]);switch(a[2]){case"h":return 3600*o;case"m":return 60*o;case"ms":return 1e3*o;case"f":return o/t.frameRate;case"t":return o/t.tickRate}return o}var jr=(function(){function e(e){this.hls=void 0,this.media=null,this.config=void 0,this.enabled=!0,this.Cues=void 0,this.textTracks=[],this.tracks=[],this.initPTS=[],this.unparsedVttFrags=[],this.captionsTracks={},this.nonNativeCaptionsTracks={},this.cea608Parser1=void 0,this.cea608Parser2=void 0,this.lastCc=-1,this.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs=qr(),this.captionsProperties=void 0,this.hls=e,this.config=e.config,this.Cues=e.config.cueHandler,this.captionsProperties={textTrack1:{label:this.config.captionsTextTrack1Label,languageCode:this.config.captionsTextTrack1LanguageCode},textTrack2:{label:this.config.captionsTextTrack2Label,languageCode:this.config.captionsTextTrack2LanguageCode},textTrack3:{label:this.config.captionsTextTrack3Label,languageCode:this.config.captionsTextTrack3LanguageCode},textTrack4:{label:this.config.captionsTextTrack4Label,languageCode:this.config.captionsTextTrack4LanguageCode}},e.on(f.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(f.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(f.MANIFEST_LOADING,this.onManifestLoading,this),e.on(f.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(f.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.on(f.FRAG_LOADING,this.onFragLoading,this),e.on(f.FRAG_LOADED,this.onFragLoaded,this),e.on(f.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),e.on(f.FRAG_DECRYPTED,this.onFragDecrypted,this),e.on(f.INIT_PTS_FOUND,this.onInitPtsFound,this),e.on(f.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),e.on(f.BUFFER_FLUSHING,this.onBufferFlushing,this)}var t=e.prototype;return t.destroy=function(){var e=this.hls;e.off(f.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(f.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(f.MANIFEST_LOADING,this.onManifestLoading,this),e.off(f.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(f.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.off(f.FRAG_LOADING,this.onFragLoading,this),e.off(f.FRAG_LOADED,this.onFragLoaded,this),e.off(f.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),e.off(f.FRAG_DECRYPTED,this.onFragDecrypted,this),e.off(f.INIT_PTS_FOUND,this.onInitPtsFound,this),e.off(f.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),e.off(f.BUFFER_FLUSHING,this.onBufferFlushing,this),this.hls=this.config=null,this.cea608Parser1=this.cea608Parser2=void 0},t.initCea608Parsers=function(){if(this.config.enableCEA708Captions&&(!this.cea608Parser1||!this.cea608Parser2)){var e=new Ar(this,"textTrack1"),t=new Ar(this,"textTrack2"),a=new Ar(this,"textTrack3"),o=new Ar(this,"textTrack4");this.cea608Parser1=new sr(1,e,t),this.cea608Parser2=new sr(3,a,o)}},t.addCues=function(e,t,a,o,i){for(var n=!1,r=i.length;r--;){var E=i[r],_=$r(E[0],E[1],t,a);if(_>=0&&(E[0]=Math.min(E[0],t),E[1]=Math.max(E[1],a),n=!0,_/(a-t)>.5))return}if(n||i.push([t,a]),this.config.renderTextTracksNatively){var T=this.captionsTracks[e];this.Cues.newCue(T,t,a,o)}else{var s=this.Cues.newCue(null,t,a,o);this.hls.trigger(f.CUES_PARSED,{type:"captions",cues:s,track:e})}},t.onInitPtsFound=function(e,t){var a=this,o=t.frag,i=t.id,n=t.initPTS,r=t.timescale,E=this.unparsedVttFrags;"main"===i&&(this.initPTS[o.cc]={baseTime:n,timescale:r}),E.length&&(this.unparsedVttFrags=[],E.forEach((function(e){a.onFragLoaded(f.FRAG_LOADED,e)})))},t.getExistingTrack=function(e,t){var a=this.media;if(a)for(var o=0;o<a.textTracks.length;o++){var i=a.textTracks[o];if(Xr(i,{name:e,lang:t,attrs:{}}))return i}return null},t.createCaptionsTrack=function(e){this.config.renderTextTracksNatively?this.createNativeTrack(e):this.createNonNativeTrack(e)},t.createNativeTrack=function(e){if(!this.captionsTracks[e]){var t=this.captionsProperties,a=this.captionsTracks,o=this.media,i=t[e],n=i.label,r=i.languageCode,E=this.getExistingTrack(n,r);if(E)a[e]=E,aa(a[e]),ea(a[e],o);else{var _=this.createTextTrack("captions",n,r);_&&(_[e]=!0,a[e]=_)}}},t.createNonNativeTrack=function(e){if(!this.nonNativeCaptionsTracks[e]){var t=this.captionsProperties[e];if(t){var a={_id:e,label:t.label,kind:"captions",default:!!t.media&&!!t.media.default,closedCaptions:t.media};this.nonNativeCaptionsTracks[e]=a,this.hls.trigger(f.NON_NATIVE_TEXT_TRACKS_FOUND,{tracks:[a]})}}},t.createTextTrack=function(e,t,a){var o=this.media;if(o)return o.addTextTrack(e,t,a)},t.onMediaAttaching=function(e,t){this.media=t.media,this._cleanTracks()},t.onMediaDetaching=function(){var e=this.captionsTracks;Object.keys(e).forEach((function(t){aa(e[t]),delete e[t]})),this.nonNativeCaptionsTracks={}},t.onManifestLoading=function(){this.lastCc=-1,this.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs=qr(),this._cleanTracks(),this.tracks=[],this.captionsTracks={},this.nonNativeCaptionsTracks={},this.textTracks=[],this.unparsedVttFrags=[],this.initPTS=[],this.cea608Parser1&&this.cea608Parser2&&(this.cea608Parser1.reset(),this.cea608Parser2.reset())},t._cleanTracks=function(){var e=this.media;if(e){var t=e.textTracks;if(t)for(var a=0;a<t.length;a++)aa(t[a])}},t.onSubtitleTracksUpdated=function(e,t){var a=this,o=t.subtitleTracks||[],i=o.some((function(e){return e.textCodec===yr}));if(this.config.enableWebVTT||i&&this.config.enableIMSC1){if(Wn(this.tracks,o))return void(this.tracks=o);if(this.textTracks=[],this.tracks=o,this.config.renderTextTracksNatively){var n=this.media,r=n?ra(n.textTracks):null;if(this.tracks.forEach((function(e,t){var o;if(r){for(var i=null,n=0;n<r.length;n++)if(r[n]&&Xr(r[n],e)){i=r[n],r[n]=null;break}i&&(o=i)}if(o)aa(o);else{var E=Qr(e);(o=a.createTextTrack(E,e.name,e.lang))&&(o.mode="disabled")}o&&a.textTracks.push(o)})),null!=r&&r.length){var E=r.filter((function(e){return null!==e})).map((function(e){return e.label}));E.length&&U.warn("Media element contains unused subtitle tracks: "+E.join(", ")+". Replace media element for each source to clear TextTracks and captions menu.")}}else if(this.tracks.length){var _=this.tracks.map((function(e){return{label:e.name,kind:e.type.toLowerCase(),default:e.default,subtitleTrack:e}}));this.hls.trigger(f.NON_NATIVE_TEXT_TRACKS_FOUND,{tracks:_})}}},t.onManifestLoaded=function(e,t){var a=this;this.config.enableCEA708Captions&&t.captions&&t.captions.forEach((function(e){var t=/(?:CC|SERVICE)([1-4])/.exec(e.instreamId);if(t){var o="textTrack"+t[1],i=a.captionsProperties[o];i&&(i.label=e.name,e.lang&&(i.languageCode=e.lang),i.media=e)}}))},t.closedCaptionsForLevel=function(e){var t=this.hls.levels[e.level];return null==t?void 0:t.attrs["CLOSED-CAPTIONS"]},t.onFragLoading=function(e,t){this.initCea608Parsers();var a=this.cea608Parser1,o=this.cea608Parser2,i=this.lastCc,n=this.lastSn,r=this.lastPartIndex;if(this.enabled&&a&&o&&t.frag.type===$t.MAIN){var E,_,T=t.frag,s=T.cc,S=T.sn,l=null!=(E=null==t||null==(_=t.part)?void 0:_.index)?E:-1;S===n+1||S===n&&l===r+1||s===i||(a.reset(),o.reset()),this.lastCc=s,this.lastSn=S,this.lastPartIndex=l}},t.onFragLoaded=function(e,t){var a=t.frag,o=t.payload;if(a.type===$t.SUBTITLE)if(o.byteLength){var i=a.decryptdata,n="stats"in t;if(null==i||!i.encrypted||n){var r=this.tracks[a.level],E=this.vttCCs;E[a.cc]||(E[a.cc]={start:a.start,prevCC:this.prevCC,new:!0},this.prevCC=a.cc),r&&r.textCodec===yr?this._parseIMSC1(a,o):this._parseVTTs(t)}}else this.hls.trigger(f.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:a,error:new Error("Empty subtitle payload")})},t._parseIMSC1=function(e,t){var a=this,o=this.hls;Ur(t,this.initPTS[e.cc],(function(t){a._appendCues(t,e.level),o.trigger(f.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:e})}),(function(t){U.log("Failed to parse IMSC1: "+t),o.trigger(f.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:e,error:t})}))},t._parseVTTs=function(e){var t,a=this,o=e.frag,i=e.payload,n=this.initPTS,r=this.unparsedVttFrags,E=n.length-1;if(n[o.cc]||-1!==E){var _=this.hls;vr(null!=(t=o.initSegment)&&t.data?at(o.initSegment.data,new Uint8Array(i)):i,this.initPTS[o.cc],this.vttCCs,o.cc,o.start,(function(e){a._appendCues(e,o.level),_.trigger(f.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:o})}),(function(t){var n="Missing initPTS for VTT MPEGTS"===t.message;n?r.push(e):a._fallbackToIMSC1(o,i),U.log("Failed to parse VTT cue: "+t),n&&E>o.cc||_.trigger(f.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:o,error:t})}))}else r.push(e)},t._fallbackToIMSC1=function(e,t){var a=this,o=this.tracks[e.level];o.textCodec||Ur(t,this.initPTS[e.cc],(function(){o.textCodec=yr,a._parseIMSC1(e,t)}),(function(){o.textCodec="wvtt"}))},t._appendCues=function(e,t){var a=this.hls;if(this.config.renderTextTracksNatively){var o=this.textTracks[t];if(!o||"disabled"===o.mode)return;e.forEach((function(e){return ta(o,e)}))}else{var i=this.tracks[t];if(!i)return;var n=i.default?"default":"subtitles"+t;a.trigger(f.CUES_PARSED,{type:"subtitles",cues:e,track:n})}},t.onFragDecrypted=function(e,t){t.frag.type===$t.SUBTITLE&&this.onFragLoaded(f.FRAG_LOADED,t)},t.onSubtitleTracksCleared=function(){this.tracks=[],this.captionsTracks={}},t.onFragParsingUserdata=function(e,t){this.initCea608Parsers();var a=this.cea608Parser1,o=this.cea608Parser2;if(this.enabled&&a&&o){var i=t.frag,n=t.samples;if(i.type!==$t.MAIN||"NONE"!==this.closedCaptionsForLevel(i))for(var r=0;r<n.length;r++){var E=n[r].bytes;if(E){var _=this.extractCea608Data(E);a.addData(n[r].pts,_[0]),o.addData(n[r].pts,_[1])}}}},t.onBufferFlushing=function(e,t){var a=t.startOffset,o=t.endOffset,i=t.endOffsetSubtitles,n=t.type,r=this.media;if(r&&!(r.currentTime<o)){if(!n||"video"===n){var E=this.captionsTracks;Object.keys(E).forEach((function(e){return oa(E[e],a,o)}))}if(this.config.renderTextTracksNatively&&0===a&&void 0!==i){var _=this.textTracks;Object.keys(_).forEach((function(e){return oa(_[e],a,i)}))}}},t.extractCea608Data=function(e){for(var t=[[],[]],a=31&e[0],o=2,i=0;i<a;i++){var n=e[o++],r=127&e[o++],E=127&e[o++];if((0!==r||0!==E)&&0!=(4&n)){var _=3&n;0!==_&&1!==_||(t[_].push(r),t[_].push(E))}}return t},e})();function Qr(e){return e.characteristics&&/transcribes-spoken-dialog/gi.test(e.characteristics)&&/describes-music-and-sound/gi.test(e.characteristics)?"captions":"subtitles"}function Xr(e,t){return!!e&&e.kind===Qr(t)&&bn(t,e)}function $r(e,t,a,o){return Math.min(t,o)-Math.max(e,a)}function qr(){return{ccOffset:0,presentationOffset:0,0:{start:0,prevCC:-1,new:!0}}}var Jr=(function(){function e(e){this.hls=void 0,this.autoLevelCapping=void 0,this.firstLevel=void 0,this.media=void 0,this.restrictedLevels=void 0,this.timer=void 0,this.clientRect=void 0,this.streamController=void 0,this.hls=e,this.autoLevelCapping=Number.POSITIVE_INFINITY,this.firstLevel=-1,this.media=null,this.restrictedLevels=[],this.timer=void 0,this.clientRect=null,this.registerListeners()}var t=e.prototype;return t.setStreamController=function(e){this.streamController=e},t.destroy=function(){this.hls&&this.unregisterListener(),this.timer&&this.stopCapping(),this.media=null,this.clientRect=null,this.hls=this.streamController=null},t.registerListeners=function(){var e=this.hls;e.on(f.FPS_DROP_LEVEL_CAPPING,this.onFpsDropLevelCapping,this),e.on(f.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(f.MANIFEST_PARSED,this.onManifestParsed,this),e.on(f.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(f.BUFFER_CODECS,this.onBufferCodecs,this),e.on(f.MEDIA_DETACHING,this.onMediaDetaching,this)},t.unregisterListener=function(){var e=this.hls;e.off(f.FPS_DROP_LEVEL_CAPPING,this.onFpsDropLevelCapping,this),e.off(f.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(f.MANIFEST_PARSED,this.onManifestParsed,this),e.off(f.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(f.BUFFER_CODECS,this.onBufferCodecs,this),e.off(f.MEDIA_DETACHING,this.onMediaDetaching,this)},t.onFpsDropLevelCapping=function(e,t){var a=this.hls.levels[t.droppedLevel];this.isLevelAllowed(a)&&this.restrictedLevels.push({bitrate:a.bitrate,height:a.height,width:a.width})},t.onMediaAttaching=function(e,t){this.media=t.media instanceof HTMLVideoElement?t.media:null,this.clientRect=null,this.timer&&this.hls.levels.length&&this.detectPlayerSize()},t.onManifestParsed=function(e,t){var a=this.hls;this.restrictedLevels=[],this.firstLevel=t.firstLevel,a.config.capLevelToPlayerSize&&t.video&&this.startCapping()},t.onLevelsUpdated=function(e,t){this.timer&&p(this.autoLevelCapping)&&this.detectPlayerSize()},t.onBufferCodecs=function(e,t){this.hls.config.capLevelToPlayerSize&&t.video&&this.startCapping()},t.onMediaDetaching=function(){this.stopCapping()},t.detectPlayerSize=function(){if(this.media){if(this.mediaHeight<=0||this.mediaWidth<=0)return void(this.clientRect=null);var e=this.hls.levels;if(e.length){var t=this.hls,a=this.getMaxLevel(e.length-1);a!==this.autoLevelCapping&&U.log("Setting autoLevelCapping to "+a+": "+e[a].height+"p@"+e[a].bitrate+" for media "+this.mediaWidth+"x"+this.mediaHeight),t.autoLevelCapping=a,t.autoLevelCapping>this.autoLevelCapping&&this.streamController&&this.streamController.nextLevelSwitch(),this.autoLevelCapping=t.autoLevelCapping}}},t.getMaxLevel=function(t){var a=this,o=this.hls.levels;if(!o.length)return-1;var i=o.filter((function(e,o){return a.isLevelAllowed(e)&&o<=t}));return this.clientRect=null,e.getMaxLevelByMediaSize(i,this.mediaWidth,this.mediaHeight)},t.startCapping=function(){this.timer||(this.autoLevelCapping=Number.POSITIVE_INFINITY,self.clearInterval(this.timer),this.timer=self.setInterval(this.detectPlayerSize.bind(this),1e3),this.detectPlayerSize())},t.stopCapping=function(){this.restrictedLevels=[],this.firstLevel=-1,this.autoLevelCapping=Number.POSITIVE_INFINITY,this.timer&&(self.clearInterval(this.timer),this.timer=void 0)},t.getDimensions=function(){if(this.clientRect)return this.clientRect;var e=this.media,t={width:0,height:0};if(e){var a=e.getBoundingClientRect();t.width=a.width,t.height=a.height,t.width||t.height||(t.width=a.right-a.left||e.width||0,t.height=a.bottom-a.top||e.height||0)}return this.clientRect=t,t},t.isLevelAllowed=function(e){return!this.restrictedLevels.some((function(t){return e.bitrate===t.bitrate&&e.width===t.width&&e.height===t.height}))},e.getMaxLevelByMediaSize=function(e,t,a){if(null==e||!e.length)return-1;for(var o=function(e,t){return!t||e.width!==t.width||e.height!==t.height},i=e.length-1,n=Math.max(t,a),r=0;r<e.length;r+=1){var E=e[r];if((E.width>=n||E.height>=n)&&o(E,e[r+1])){i=r;break}}return i},E(e,[{key:"mediaWidth",get:function(){return this.getDimensions().width*this.contentScaleFactor}},{key:"mediaHeight",get:function(){return this.getDimensions().height*this.contentScaleFactor}},{key:"contentScaleFactor",get:function(){var e=1;if(!this.hls.config.ignoreDevicePixelRatio)try{e=self.devicePixelRatio}catch(e){}return e}}]),e})(),Zr=(function(){function e(e){this.hls=void 0,this.isVideoPlaybackQualityAvailable=!1,this.timer=void 0,this.media=null,this.lastTime=void 0,this.lastDroppedFrames=0,this.lastDecodedFrames=0,this.streamController=void 0,this.hls=e,this.registerListeners()}var t=e.prototype;return t.setStreamController=function(e){this.streamController=e},t.registerListeners=function(){this.hls.on(f.MEDIA_ATTACHING,this.onMediaAttaching,this)},t.unregisterListeners=function(){this.hls.off(f.MEDIA_ATTACHING,this.onMediaAttaching,this)},t.destroy=function(){this.timer&&clearInterval(this.timer),this.unregisterListeners(),this.isVideoPlaybackQualityAvailable=!1,this.media=null},t.onMediaAttaching=function(e,t){var a=this.hls.config;if(a.capLevelOnFPSDrop){var o=t.media instanceof self.HTMLVideoElement?t.media:null;this.media=o,o&&"function"==typeof o.getVideoPlaybackQuality&&(this.isVideoPlaybackQualityAvailable=!0),self.clearInterval(this.timer),this.timer=self.setInterval(this.checkFPSInterval.bind(this),a.fpsDroppedMonitoringPeriod)}},t.checkFPS=function(e,t,a){var o=performance.now();if(t){if(this.lastTime){var i=o-this.lastTime,n=a-this.lastDroppedFrames,r=t-this.lastDecodedFrames,E=1e3*n/i,_=this.hls;if(_.trigger(f.FPS_DROP,{currentDropped:n,currentDecoded:r,totalDroppedFrames:a}),E>0&&n>_.config.fpsDroppedMonitoringThreshold*r){var T=_.currentLevel;U.warn("drop FPS ratio greater than max allowed value for currentLevel: "+T),T>0&&(-1===_.autoLevelCapping||_.autoLevelCapping>=T)&&(T-=1,_.trigger(f.FPS_DROP_LEVEL_CAPPING,{level:T,droppedLevel:_.currentLevel}),_.autoLevelCapping=T,this.streamController.nextLevelSwitch())}}this.lastTime=o,this.lastDroppedFrames=a,this.lastDecodedFrames=t}},t.checkFPSInterval=function(){var e=this.media;if(e)if(this.isVideoPlaybackQualityAvailable){var t=e.getVideoPlaybackQuality();this.checkFPS(e,t.totalVideoFrames,t.droppedVideoFrames)}else this.checkFPS(e,e.webkitDecodedFrameCount,e.webkitDroppedFrameCount)},e})(),eE="[eme]",tE=(function(){function e(t){this.hls=void 0,this.config=void 0,this.media=null,this.keyFormatPromise=null,this.keySystemAccessPromises={},this._requestLicenseFailureCount=0,this.mediaKeySessions=[],this.keyIdToKeySessionPromise={},this.setMediaKeysQueue=e.CDMCleanupPromise?[e.CDMCleanupPromise]:[],this.onMediaEncrypted=this._onMediaEncrypted.bind(this),this.onWaitingForKey=this._onWaitingForKey.bind(this),this.debug=U.debug.bind(U,eE),this.log=U.log.bind(U,eE),this.warn=U.warn.bind(U,eE),this.error=U.error.bind(U,eE),this.hls=t,this.config=t.config,this.registerListeners()}var t=e.prototype;return t.destroy=function(){this.unregisterListeners(),this.onMediaDetached();var e=this.config;e.requestMediaKeySystemAccessFunc=null,e.licenseXhrSetup=e.licenseResponseCallback=void 0,e.drmSystems=e.drmSystemOptions={},this.hls=this.onMediaEncrypted=this.onWaitingForKey=this.keyIdToKeySessionPromise=null,this.config=null},t.registerListeners=function(){this.hls.on(f.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.on(f.MEDIA_DETACHED,this.onMediaDetached,this),this.hls.on(f.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.on(f.MANIFEST_LOADED,this.onManifestLoaded,this)},t.unregisterListeners=function(){this.hls.off(f.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.off(f.MEDIA_DETACHED,this.onMediaDetached,this),this.hls.off(f.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.off(f.MANIFEST_LOADED,this.onManifestLoaded,this)},t.getLicenseServerUrl=function(e){var t=this.config,a=t.drmSystems,o=t.widevineLicenseUrl,i=a[e];if(i)return i.licenseUrl;if(e===ae.WIDEVINE&&o)return o;throw new Error('no license server URL configured for key-system "'+e+'"')},t.getServerCertificateUrl=function(e){var t=this.config.drmSystems[e];if(t)return t.serverCertificateUrl;this.log('No Server Certificate in config.drmSystems["'+e+'"]')},t.attemptKeySystemAccess=function(e){var t=this,a=this.hls.levels,o=function(e,t,a){return!!e&&a.indexOf(e)===t},i=a.map((function(e){return e.audioCodec})).filter(o),n=a.map((function(e){return e.videoCodec})).filter(o);return i.length+n.length===0&&n.push("avc1.42e01e"),new Promise((function(a,o){!(function e(r){var E=r.shift();t.getMediaKeysPromise(E,i,n).then((function(e){return a({keySystem:E,mediaKeys:e})})).catch((function(t){r.length?e(r):o(t instanceof rE?t:new rE({type:B.KEY_SYSTEM_ERROR,details:P.KEY_SYSTEM_NO_ACCESS,error:t,fatal:!0},t.message))}))})(e)}))},t.requestMediaKeySystemAccess=function(e,t){var a=this.config.requestMediaKeySystemAccessFunc;if("function"!=typeof a){var o="Configured requestMediaKeySystemAccess is not a function "+a;return null===se&&"http:"===self.location.protocol&&(o="navigator.requestMediaKeySystemAccess is not available over insecure protocol "+location.protocol),Promise.reject(new Error(o))}return a(e,t)},t.getMediaKeysPromise=function(e,t,a){var o=this,i=Se(e,t,a,this.config.drmSystemOptions),n=this.keySystemAccessPromises[e],r=null==n?void 0:n.keySystemAccess;if(!r){this.log('Requesting encrypted media "'+e+'" key-system access with config: '+JSON.stringify(i)),r=this.requestMediaKeySystemAccess(e,i);var E=this.keySystemAccessPromises[e]={keySystemAccess:r};return r.catch((function(t){o.log('Failed to obtain access to key-system "'+e+'": '+t)})),r.then((function(t){o.log('Access for key-system "'+t.keySystem+'" obtained');var a=o.fetchServerCertificate(e);return o.log('Create media-keys for "'+e+'"'),E.mediaKeys=t.createMediaKeys().then((function(t){return o.log('Media-keys created for "'+e+'"'),a.then((function(a){return a?o.setMediaKeysServerCertificate(t,e,a):t}))})),E.mediaKeys.catch((function(t){o.error('Failed to create media-keys for "'+e+'"}: '+t)})),E.mediaKeys}))}return r.then((function(){return n.mediaKeys}))},t.createMediaKeySessionContext=function(e){var t=e.decryptdata,a=e.keySystem,o=e.mediaKeys;this.log('Creating key-system session "'+a+'" keyId: '+ve.hexDump(t.keyId||[]));var i=o.createSession(),n={decryptdata:t,keySystem:a,mediaKeys:o,mediaKeysSession:i,keyStatus:"status-pending"};return this.mediaKeySessions.push(n),n},t.renewKeySession=function(e){var t=e.decryptdata;if(t.pssh){var a=this.createMediaKeySessionContext(e),o=this.getKeyIdString(t),i="cenc";this.keyIdToKeySessionPromise[o]=this.generateRequestWithPreferredKeySession(a,i,t.pssh,"expired")}else this.warn("Could not renew expired session. Missing pssh initData.");this.removeSession(e)},t.getKeyIdString=function(e){if(!e)throw new Error("Could not read keyId of undefined decryptdata");if(null===e.keyId)throw new Error("keyId is null");return ve.hexDump(e.keyId)},t.updateKeySession=function(e,t){var a,o=e.mediaKeysSession;return this.log('Updating key-session "'+o.sessionId+'" for keyID '+ve.hexDump((null==(a=e.decryptdata)?void 0:a.keyId)||[])+"\n } (data length: "+(t?t.byteLength:t)+")"),o.update(t)},t.selectKeySystemFormat=function(e){var t=Object.keys(e.levelkeys||{});return this.keyFormatPromise||(this.log("Selecting key-system from fragment (sn: "+e.sn+" "+e.type+": "+e.level+") key formats "+t.join(", ")),this.keyFormatPromise=this.getKeyFormatPromise(t)),this.keyFormatPromise},t.getKeyFormatPromise=function(e){var t=this;return new Promise((function(a,o){var i=_e(t.config),n=e.map(ie).filter((function(e){return!!e&&-1!==i.indexOf(e)}));return t.getKeySystemSelectionPromise(n).then((function(e){var t=e.keySystem,i=Ee(t);i?a(i):o(new Error('Unable to find format for key-system "'+t+'"'))})).catch(o)}))},t.loadKey=function(e){var t=this,a=e.keyInfo.decryptdata,o=this.getKeyIdString(a),i="(keyId: "+o+' format: "'+a.keyFormat+'" method: '+a.method+" uri: "+a.uri+")";this.log("Starting session for key "+i);var n=this.keyIdToKeySessionPromise[o];return n||(n=this.keyIdToKeySessionPromise[o]=this.getKeySystemForKeyPromise(a).then((function(o){var n=o.keySystem,r=o.mediaKeys;return t.throwIfDestroyed(),t.log("Handle encrypted media sn: "+e.frag.sn+" "+e.frag.type+": "+e.frag.level+" using key "+i),t.attemptSetMediaKeys(n,r).then((function(){t.throwIfDestroyed();var e=t.createMediaKeySessionContext({keySystem:n,mediaKeys:r,decryptdata:a}),o="cenc";return t.generateRequestWithPreferredKeySession(e,o,a.pssh,"playlist-key")}))}))).catch((function(e){return t.handleError(e)})),n},t.throwIfDestroyed=function(e){if(!this.hls)throw new Error("invalid state")},t.handleError=function(e){this.hls&&(this.error(e.message),e instanceof rE?this.hls.trigger(f.ERROR,e.data):this.hls.trigger(f.ERROR,{type:B.KEY_SYSTEM_ERROR,details:P.KEY_SYSTEM_NO_KEYS,error:e,fatal:!0}))},t.getKeySystemForKeyPromise=function(e){var t=this.getKeyIdString(e),a=this.keyIdToKeySessionPromise[t];if(!a){var o=ie(e.keyFormat),i=o?[o]:_e(this.config);return this.attemptKeySystemAccess(i)}return a},t.getKeySystemSelectionPromise=function(e){if(e.length||(e=_e(this.config)),0===e.length)throw new rE({type:B.KEY_SYSTEM_ERROR,details:P.KEY_SYSTEM_NO_CONFIGURED_LICENSE,fatal:!0},"Missing key-system license configuration options "+JSON.stringify({drmSystems:this.config.drmSystems}));return this.attemptKeySystemAccess(e)},t._onMediaEncrypted=function(e){var t=this,a=e.initDataType,o=e.initData;if(this.debug('"'+e.type+'" event: init data type: "'+a+'"'),null!==o){var i,n;if("sinf"===a&&this.config.drmSystems[ae.FAIRPLAY]){var r=be(new Uint8Array(o));try{var E=$(JSON.parse(r).sinf),_=$e(new Uint8Array(E));if(!_)return;i=_.subarray(8,24),n=ae.FAIRPLAY}catch(e){return void this.warn('Failed to parse sinf "encrypted" event message initData')}}else{var T=St(o);if(null===T)return;0===T.version&&T.systemId===ne.WIDEVINE&&T.data&&(i=T.data.subarray(8,24)),n=re(T.systemId)}if(n&&i){for(var s,S=ve.hexDump(i),l=this.keyIdToKeySessionPromise,I=this.mediaKeySessions,A=l[S],u=function(){var e=I[d],n=e.decryptdata;if(n.pssh||!n.keyId)return 0;var r=ve.hexDump(n.keyId);return S===r||-1!==n.uri.replace(/-/g,"").indexOf(S)?(A=l[r],delete l[r],n.pssh=new Uint8Array(o),n.keyId=i,A=l[S]=A.then((function(){return t.generateRequestWithPreferredKeySession(e,a,o,"encrypted-event-key-match")})),1):void 0},d=0;d<I.length&&(0===(s=u())||1!==s);d++);A||(A=l[S]=this.getKeySystemSelectionPromise([n]).then((function(e){var n,r=e.keySystem,E=e.mediaKeys;t.throwIfDestroyed();var _=new It("ISO-23001-7",S,null!=(n=Ee(r))?n:"");return _.pssh=new Uint8Array(o),_.keyId=i,t.attemptSetMediaKeys(r,E).then((function(){t.throwIfDestroyed();var e=t.createMediaKeySessionContext({decryptdata:_,keySystem:r,mediaKeys:E});return t.generateRequestWithPreferredKeySession(e,a,o,"encrypted-event-no-match")}))}))),A.catch((function(e){return t.handleError(e)}))}}},t._onWaitingForKey=function(e){this.log('"'+e.type+'" event')},t.attemptSetMediaKeys=function(e,t){var a=this,o=this.setMediaKeysQueue.slice();this.log('Setting media-keys for "'+e+'"');var i=Promise.all(o).then((function(){if(!a.media)throw new Error("Attempted to set mediaKeys without media element attached");return a.media.setMediaKeys(t)}));return this.setMediaKeysQueue.push(i),i.then((function(){a.log('Media-keys set for "'+e+'"'),o.push(i),a.setMediaKeysQueue=a.setMediaKeysQueue.filter((function(e){return-1===o.indexOf(e)}))}))},t.generateRequestWithPreferredKeySession=function(e,t,a,o){var i,n,r=this,E=null==(i=this.config.drmSystems)||null==(n=i[e.keySystem])?void 0:n.generateRequest;if(E)try{var _=E.call(this.hls,t,a,e);if(!_)throw new Error("Invalid response from configured generateRequest filter");t=_.initDataType,a=e.decryptdata.pssh=_.initData?new Uint8Array(_.initData):null}catch(e){var T;if(this.warn(e.message),null!=(T=this.hls)&&T.config.debug)throw e}if(null===a)return this.log('Skipping key-session request for "'+o+'" (no initData)'),Promise.resolve(e);var s=this.getKeyIdString(e.decryptdata);this.log('Generating key-session request for "'+o+'": '+s+" (init data type: "+t+" length: "+(a?a.byteLength:null)+")");var S=new Dn,l=e._onmessage=function(t){var a=e.mediaKeysSession;if(a){var o=t.messageType,i=t.message;r.log('"'+o+'" message event for session "'+a.sessionId+'" message size: '+i.byteLength),"license-request"===o||"license-renewal"===o?r.renewLicense(e,i).catch((function(e){r.handleError(e),S.emit("error",e)})):"license-release"===o?e.keySystem===ae.FAIRPLAY&&(r.updateKeySession(e,ee("acknowledged")),r.removeSession(e)):r.warn('unhandled media key message type "'+o+'"')}else S.emit("error",new Error("invalid state"))},I=e._onkeystatuseschange=function(t){if(e.mediaKeysSession){r.onKeyStatusChange(e);var a=e.keyStatus;S.emit("keyStatus",a),"expired"===a&&(r.warn(e.keySystem+" expired for key "+s),r.renewKeySession(e))}else S.emit("error",new Error("invalid state"))};e.mediaKeysSession.addEventListener("message",l),e.mediaKeysSession.addEventListener("keystatuseschange",I);var A=new Promise((function(e,t){S.on("error",t),S.on("keyStatus",(function(a){a.startsWith("usable")?e():"output-restricted"===a?t(new rE({type:B.KEY_SYSTEM_ERROR,details:P.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED,fatal:!1},"HDCP level output restricted")):"internal-error"===a?t(new rE({type:B.KEY_SYSTEM_ERROR,details:P.KEY_SYSTEM_STATUS_INTERNAL_ERROR,fatal:!0},'key status changed to "'+a+'"')):"expired"===a?t(new Error("key expired while generating request")):r.warn('unhandled key status change "'+a+'"')}))}));return e.mediaKeysSession.generateRequest(t,a).then((function(){var t;r.log('Request generated for key-session "'+(null==(t=e.mediaKeysSession)?void 0:t.sessionId)+'" keyId: '+s)})).catch((function(e){throw new rE({type:B.KEY_SYSTEM_ERROR,details:P.KEY_SYSTEM_NO_SESSION,error:e,fatal:!1},"Error generating key-session request: "+e)})).then((function(){return A})).catch((function(t){throw S.removeAllListeners(),r.removeSession(e),t})).then((function(){return S.removeAllListeners(),e}))},t.onKeyStatusChange=function(e){var t=this;e.mediaKeysSession.keyStatuses.forEach((function(a,o){t.log('key status change "'+a+'" for keyStatuses keyId: '+ve.hexDump("buffer"in o?new Uint8Array(o.buffer,o.byteOffset,o.byteLength):new Uint8Array(o))+" session keyId: "+ve.hexDump(new Uint8Array(e.decryptdata.keyId||[]))+" uri: "+e.decryptdata.uri),e.keyStatus=a}))},t.fetchServerCertificate=function(e){var t=this.config,a=new(0,t.loader)(t),i=this.getServerCertificateUrl(e);return i?(this.log('Fetching server certificate for "'+e+'"'),new Promise((function(n,r){var E={responseType:"arraybuffer",url:i},_=t.certLoadPolicy.default,T={loadPolicy:_,timeout:_.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0},s={onSuccess:function(e,t,a,o){n(e.data)},onError:function(t,a,n,_){r(new rE({type:B.KEY_SYSTEM_ERROR,details:P.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,fatal:!0,networkDetails:n,response:o({url:E.url,data:void 0},t)},'"'+e+'" certificate request failed ('+i+"). Status: "+t.code+" ("+t.text+")"))},onTimeout:function(t,a,o){r(new rE({type:B.KEY_SYSTEM_ERROR,details:P.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,fatal:!0,networkDetails:o,response:{url:E.url,data:void 0}},'"'+e+'" certificate request timed out ('+i+")"))},onAbort:function(e,t,a){r(new Error("aborted"))}};a.load(E,T,s)}))):Promise.resolve()},t.setMediaKeysServerCertificate=function(e,t,a){var o=this;return new Promise((function(i,n){e.setServerCertificate(a).then((function(n){o.log("setServerCertificate "+(n?"success":"not supported by CDM")+" ("+(null==a?void 0:a.byteLength)+') on "'+t+'"'),i(e)})).catch((function(e){n(new rE({type:B.KEY_SYSTEM_ERROR,details:P.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED,error:e,fatal:!0},e.message))}))}))},t.renewLicense=function(e,t){var a=this;return this.requestLicense(e,new Uint8Array(t)).then((function(t){return a.updateKeySession(e,new Uint8Array(t)).catch((function(e){throw new rE({type:B.KEY_SYSTEM_ERROR,details:P.KEY_SYSTEM_SESSION_UPDATE_FAILED,error:e,fatal:!0},e.message)}))}))},t.unpackPlayReadyKeyMessage=function(e,t){var a=String.fromCharCode.apply(null,new Uint16Array(t.buffer));if(!a.includes("PlayReadyKeyMessage"))return e.setRequestHeader("Content-Type","text/xml; charset=utf-8"),t;var o=(new DOMParser).parseFromString(a,"application/xml"),i=o.querySelectorAll("HttpHeader");if(i.length>0)for(var n,r=0,E=i.length;r<E;r++){var _,T,s=null==(_=(n=i[r]).querySelector("name"))?void 0:_.textContent,S=null==(T=n.querySelector("value"))?void 0:T.textContent;s&&S&&e.setRequestHeader(s,S)}var l=o.querySelector("Challenge"),I=null==l?void 0:l.textContent;if(!I)throw new Error("Cannot find <Challenge> in key message");return ee(atob(I))},t.setupLicenseXHR=function(e,t,a,o){var i=this,n=this.config.licenseXhrSetup;return n?Promise.resolve().then((function(){if(!a.decryptdata)throw new Error("Key removed");return n.call(i.hls,e,t,a,o)})).catch((function(r){if(!a.decryptdata)throw r;return e.open("POST",t,!0),n.call(i.hls,e,t,a,o)})).then((function(a){return e.readyState||e.open("POST",t,!0),{xhr:e,licenseChallenge:a||o}})):(e.open("POST",t,!0),Promise.resolve({xhr:e,licenseChallenge:o}))},t.requestLicense=function(e,t){var a=this,o=this.config.keyLoadPolicy.default;return new Promise((function(i,n){var r=a.getLicenseServerUrl(e.keySystem);a.log("Sending license request to URL: "+r);var E=new XMLHttpRequest;E.responseType="arraybuffer",E.onreadystatechange=function(){if(!a.hls||!e.mediaKeysSession)return n(new Error("invalid state"));if(4===E.readyState)if(200===E.status){a._requestLicenseFailureCount=0;var _=E.response;a.log("License received "+(_ instanceof ArrayBuffer?_.byteLength:_));var T=a.config.licenseResponseCallback;if(T)try{_=T.call(a.hls,E,r,e)}catch(e){a.error(e)}i(_)}else{var s=o.errorRetry,S=s?s.maxNumRetry:0;if(a._requestLicenseFailureCount++,a._requestLicenseFailureCount>S||E.status>=400&&E.status<500)n(new rE({type:B.KEY_SYSTEM_ERROR,details:P.KEY_SYSTEM_LICENSE_REQUEST_FAILED,fatal:!0,networkDetails:E,response:{url:r,data:void 0,code:E.status,text:E.statusText}},"License Request XHR failed ("+r+"). Status: "+E.status+" ("+E.statusText+")"));else{var l=S-a._requestLicenseFailureCount+1;a.warn("Retrying license request, "+l+" attempts left"),a.requestLicense(e,t).then(i,n)}}},e.licenseXhr&&e.licenseXhr.readyState!==XMLHttpRequest.DONE&&e.licenseXhr.abort(),e.licenseXhr=E,a.setupLicenseXHR(E,r,e,t).then((function(t){var o=t.xhr,i=t.licenseChallenge;e.keySystem==ae.PLAYREADY&&(i=a.unpackPlayReadyKeyMessage(o,i)),o.send(i)}))}))},t.onMediaAttached=function(e,t){if(this.config.emeEnabled){var a=t.media;this.media=a,a.addEventListener("encrypted",this.onMediaEncrypted),a.addEventListener("waitingforkey",this.onWaitingForKey)}},t.onMediaDetached=function(){var t=this,a=this.media,o=this.mediaKeySessions;a&&(a.removeEventListener("encrypted",this.onMediaEncrypted),a.removeEventListener("waitingforkey",this.onWaitingForKey),this.media=null),this._requestLicenseFailureCount=0,this.setMediaKeysQueue=[],this.mediaKeySessions=[],this.keyIdToKeySessionPromise={},It.clearKeyUriToKeyIdMap();var i=o.length;e.CDMCleanupPromise=Promise.all(o.map((function(e){return t.removeSession(e)})).concat(null==a?void 0:a.setMediaKeys(null).catch((function(e){t.log("Could not clear media keys: "+e)})))).then((function(){i&&(t.log("finished closing key sessions and clearing media keys"),o.length=0)})).catch((function(e){t.log("Could not close sessions and clear media keys: "+e)}))},t.onManifestLoading=function(){this.keyFormatPromise=null},t.onManifestLoaded=function(e,t){var a=t.sessionKeys;if(a&&this.config.emeEnabled&&!this.keyFormatPromise){var o=a.reduce((function(e,t){return-1===e.indexOf(t.keyFormat)&&e.push(t.keyFormat),e}),[]);this.log("Selecting key-system from session-keys "+o.join(", ")),this.keyFormatPromise=this.getKeyFormatPromise(o)}},t.removeSession=function(e){var t=this,a=e.mediaKeysSession,o=e.licenseXhr;if(a){this.log("Remove licenses and keys and close session "+a.sessionId),e._onmessage&&(a.removeEventListener("message",e._onmessage),e._onmessage=void 0),e._onkeystatuseschange&&(a.removeEventListener("keystatuseschange",e._onkeystatuseschange),e._onkeystatuseschange=void 0),o&&o.readyState!==XMLHttpRequest.DONE&&o.abort(),e.mediaKeysSession=e.decryptdata=e.licenseXhr=void 0;var i=this.mediaKeySessions.indexOf(e);return i>-1&&this.mediaKeySessions.splice(i,1),a.remove().catch((function(e){t.log("Could not remove session: "+e)})).then((function(){return a.close()})).catch((function(e){t.log("Could not close session: "+e)}))}},e})();tE.CDMCleanupPromise=void 0;var aE,oE,iE,nE,rE=(function(e){function t(t,a){var o;return(o=e.call(this,a)||this).data=void 0,t.error||(t.error=new Error(a)),o.data=t,t.err=t.error,o}return s(t,e),t})(d(Error));(function(e){e.MANIFEST="m",e.AUDIO="a",e.VIDEO="v",e.MUXED="av",e.INIT="i",e.CAPTION="c",e.TIMED_TEXT="tt",e.KEY="k",e.OTHER="o"})(aE||(aE={})),(function(e){e.DASH="d",e.HLS="h",e.SMOOTH="s",e.OTHER="o"})(oE||(oE={})),(function(e){e.OBJECT="CMCD-Object",e.REQUEST="CMCD-Request",e.SESSION="CMCD-Session",e.STATUS="CMCD-Status"})(iE||(iE={}));var EE=((nE={})[iE.OBJECT]=["br","d","ot","tb"],nE[iE.REQUEST]=["bl","dl","mtp","nor","nrr","su"],nE[iE.SESSION]=["cid","pr","sf","sid","st","v"],nE[iE.STATUS]=["bs","rtp"],nE),_E=function e(t,a){this.value=void 0,this.params=void 0,Array.isArray(t)&&(t=t.map((function(t){return t instanceof e?t:new e(t)}))),this.value=t,this.params=a},TE=function(e){this.description=void 0,this.description=e},sE="Dict";function SE(e){return Array.isArray(e)?JSON.stringify(e):e instanceof Map?"Map{}":e instanceof Set?"Set{}":"object"==typeof e?JSON.stringify(e):String(e)}function lE(e,t,a,o){return new Error("failed to "+e+' "'+SE(t)+'" as '+a,{cause:o})}var IE="Bare Item",AE="Boolean",uE="Byte Sequence",dE="Decimal",cE="Integer";function OE(e){return e<-999999999999999||999999999999999<e}var RE=/[\x00-\x1f\x7f]+/,NE="Token",mE="Key";function LE(e,t,a){return lE("serialize",e,t,a)}function DE(e){if("boolean"!=typeof e)throw LE(e,AE);return e?"?1":"?0"}function pE(e){return btoa(String.fromCharCode.apply(String,e))}function hE(e){if(!1===ArrayBuffer.isView(e))throw LE(e,uE);return":"+pE(e)+":"}function CE(e){if(OE(e))throw LE(e,cE);return e.toString()}function fE(e){return"@"+CE(e.getTime()/1e3)}function BE(e,t){if(e<0)return-BE(-e,t);var a=Math.pow(10,t);if(Math.abs(e*a%1-.5)<Number.EPSILON){var o=Math.floor(e*a);return(o%2==0?o:o+1)/a}return Math.round(e*a)/a}function PE(e){var t=BE(e,3);if(Math.floor(Math.abs(t)).toString().length>12)throw LE(e,dE);var a=t.toString();return a.includes(".")?a:a+".0"}var gE="String";function vE(e){if(RE.test(e))throw LE(e,gE);return'"'+e.replace(/\\/g,"\\\\").replace(/"/g,'\\"')+'"'}function yE(e){return e.description||e.toString().slice(7,-1)}function WE(e){var t=yE(e);if(!1===/^([a-zA-Z*])([!#$%&'*+\-.^_`|~\w:/]*)$/.test(t))throw LE(t,NE);return t}function ME(e){switch(typeof e){case"number":if(!p(e))throw LE(e,IE);return Number.isInteger(e)?CE(e):PE(e);case"string":return vE(e);case"symbol":return WE(e);case"boolean":return DE(e);case"object":if(e instanceof Date)return fE(e);if(e instanceof Uint8Array)return hE(e);if(e instanceof TE)return WE(e);default:throw LE(e,IE)}}function bE(e){if(!1===/^[a-z*][a-z0-9\-_.*]*$/.test(e))throw LE(e,mE);return e}function UE(e){return null==e?"":Object.entries(e).map((function(e){var t=e[0],a=e[1];return!0===a?";"+bE(t):";"+bE(t)+"="+ME(a)})).join("")}function GE(e){return e instanceof _E?""+ME(e.value)+UE(e.params):ME(e)}function kE(e){return"("+e.value.map(GE).join(" ")+")"+UE(e.params)}function FE(e,t){var a;if(void 0===t&&(t={whitespace:!0}),"object"!=typeof e)throw LE(e,sE);var o=e instanceof Map?e.entries():Object.entries(e),i=null!=(a=t)&&a.whitespace?" ":"";return Array.from(o).map((function(e){var t=e[0],a=e[1];a instanceof _E==0&&(a=new _E(a));var o=bE(t);return!0===a.value?o+=UE(a.params):(o+="=",Array.isArray(a.value)?o+=kE(a):o+=GE(a)),o})).join(","+i)}function VE(e,t){return FE(e,t)}var HE=function(e){return"ot"===e||"sf"===e||"st"===e},wE=function(e){return"number"==typeof e?p(e):null!=e&&""!==e&&!1!==e};function YE(e,t){var a=new URL(e),o=new URL(t);if(a.origin!==o.origin)return e;for(var i=a.pathname.split("/").slice(1),n=o.pathname.split("/").slice(1,-1);i[0]===n[0];)i.shift(),n.shift();for(;n.length;)n.shift(),i.unshift("..");return i.join("/")}function zE(){try{return crypto.randomUUID()}catch(o){try{var e=URL.createObjectURL(new Blob),t=e.toString();return URL.revokeObjectURL(e),t.slice(t.lastIndexOf("/")+1)}catch(e){var a=(new Date).getTime();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){var t=(a+16*Math.random())%16|0;return a=Math.floor(a/16),("x"==e?t:3&t|8).toString(16)}))}}}var KE=function(e){return Math.round(e)},xE=function(e){return 100*KE(e/100)},jE={br:KE,d:KE,bl:xE,dl:xE,mtp:xE,nor:function(e,t){return null!=t&&t.baseUrl&&(e=YE(e,t.baseUrl)),encodeURIComponent(e)},rtp:xE,tb:KE};function QE(e,t){var a={};if(null==e||"object"!=typeof e)return a;var o=Object.keys(e).sort(),i=T({},jE,null==t?void 0:t.formatters),n=null==t?void 0:t.filter;return o.forEach((function(o){if(null==n||!n(o)){var r=e[o],E=i[o];E&&(r=E(r,t)),"v"===o&&1===r||"pr"==o&&1===r||wE(r)&&(HE(o)&&"string"==typeof r&&(r=new TE(r)),a[o]=r)}})),a}function XE(e,t){return void 0===t&&(t={}),e?VE(QE(e,t),T({whitespace:!1},t)):""}function $E(e,t){var a;if(void 0===t&&(t={}),!e)return{};var o=Object.entries(e),i=Object.entries(EE).concat(Object.entries((null==(a=t)?void 0:a.customHeaderMap)||{})),n=o.reduce((function(e,t){var a,o=t[0],n=t[1],r=(null==(a=i.find((function(e){return e[1].includes(o)})))?void 0:a[0])||iE.REQUEST;return null!=e[r]||(e[r]={}),e[r][o]=n,e}),{});return Object.entries(n).reduce((function(e,a){var o=a[0],i=a[1];return e[o]=XE(i,t),e}),{})}function qE(e,t,a){return T(e,$E(t,a))}var JE="CMCD";function ZE(e,t){if(void 0===t&&(t={}),!e)return"";var a=XE(e,t);return JE+"="+encodeURIComponent(a)}var e_=/CMCD=[^&#]+/;function t_(e,t,a){var o=ZE(t,a);if(!o)return e;if(e_.test(e))return e.replace(e_,o);var i=e.includes("?")?"&":"?";return""+e+i+o}var a_=(function(){function e(e){var t=this;this.hls=void 0,this.config=void 0,this.media=void 0,this.sid=void 0,this.cid=void 0,this.useHeaders=!1,this.includeKeys=void 0,this.initialized=!1,this.starved=!1,this.buffering=!0,this.audioBuffer=void 0,this.videoBuffer=void 0,this.onWaiting=function(){t.initialized&&(t.starved=!0),t.buffering=!0},this.onPlaying=function(){t.initialized||(t.initialized=!0),t.buffering=!1},this.applyPlaylistData=function(e){try{t.apply(e,{ot:aE.MANIFEST,su:!t.initialized})}catch(e){U.warn("Could not generate manifest CMCD data.",e)}},this.applyFragmentData=function(e){try{var a=e.frag,o=t.hls.levels[a.level],i=t.getObjectType(a),n={d:1e3*a.duration,ot:i};i!==aE.VIDEO&&i!==aE.AUDIO&&i!=aE.MUXED||(n.br=o.bitrate/1e3,n.tb=t.getTopBandwidth(i)/1e3,n.bl=t.getBufferLength(i)),t.apply(e,n)}catch(e){U.warn("Could not generate segment CMCD data.",e)}},this.hls=e;var a=this.config=e.config,o=a.cmcd;null!=o&&(a.pLoader=this.createPlaylistLoader(),a.fLoader=this.createFragmentLoader(),this.sid=o.sessionId||zE(),this.cid=o.contentId,this.useHeaders=!0===o.useHeaders,this.includeKeys=o.includeKeys,this.registerListeners())}var t=e.prototype;return t.registerListeners=function(){var e=this.hls;e.on(f.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(f.MEDIA_DETACHED,this.onMediaDetached,this),e.on(f.BUFFER_CREATED,this.onBufferCreated,this)},t.unregisterListeners=function(){var e=this.hls;e.off(f.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(f.MEDIA_DETACHED,this.onMediaDetached,this),e.off(f.BUFFER_CREATED,this.onBufferCreated,this)},t.destroy=function(){this.unregisterListeners(),this.onMediaDetached(),this.hls=this.config=this.audioBuffer=this.videoBuffer=null,this.onWaiting=this.onPlaying=null},t.onMediaAttached=function(e,t){this.media=t.media,this.media.addEventListener("waiting",this.onWaiting),this.media.addEventListener("playing",this.onPlaying)},t.onMediaDetached=function(){this.media&&(this.media.removeEventListener("waiting",this.onWaiting),this.media.removeEventListener("playing",this.onPlaying),this.media=null)},t.onBufferCreated=function(e,t){var a,o;this.audioBuffer=null==(a=t.tracks.audio)?void 0:a.buffer,this.videoBuffer=null==(o=t.tracks.video)?void 0:o.buffer},t.createData=function(){var e;return{v:1,sf:oE.HLS,sid:this.sid,cid:this.cid,pr:null==(e=this.media)?void 0:e.playbackRate,mtp:this.hls.bandwidthEstimate/1e3}},t.apply=function(e,t){void 0===t&&(t={}),T(t,this.createData());var a=t.ot===aE.INIT||t.ot===aE.VIDEO||t.ot===aE.MUXED;this.starved&&a&&(t.bs=!0,t.su=!0,this.starved=!1),null==t.su&&(t.su=this.buffering);var o=this.includeKeys;o&&(t=Object.keys(t).reduce((function(e,a){return o.includes(a)&&(e[a]=t[a]),e}),{})),this.useHeaders?(e.headers||(e.headers={}),qE(e.headers,t)):e.url=t_(e.url,t)},t.getObjectType=function(e){var t=e.type;return"subtitle"===t?aE.TIMED_TEXT:"initSegment"===e.sn?aE.INIT:"audio"===t?aE.AUDIO:"main"===t?this.hls.audioTracks.length?aE.VIDEO:aE.MUXED:void 0},t.getTopBandwidth=function(e){var t,a=0,o=this.hls;if(e===aE.AUDIO)t=o.audioTracks;else{var i=o.maxAutoLevel,n=i>-1?i+1:o.levels.length;t=o.levels.slice(0,n)}for(var r,E=N(t);!(r=E()).done;){var _=r.value;_.bitrate>a&&(a=_.bitrate)}return a>0?a:NaN},t.getBufferLength=function(e){var t=this.hls.media,a=e===aE.AUDIO?this.audioBuffer:this.videoBuffer;return a&&t?1e3*fo.bufferInfo(a,t.currentTime,this.config.maxBufferHole).len:NaN},t.createPlaylistLoader=function(){var e=this.config.pLoader,t=this.applyPlaylistData,a=e||this.config.loader;return(function(){function e(e){this.loader=void 0,this.loader=new a(e)}var o=e.prototype;return o.destroy=function(){this.loader.destroy()},o.abort=function(){this.loader.abort()},o.load=function(e,a,o){t(e),this.loader.load(e,a,o)},E(e,[{key:"stats",get:function(){return this.loader.stats}},{key:"context",get:function(){return this.loader.context}}]),e})()},t.createFragmentLoader=function(){var e=this.config.fLoader,t=this.applyFragmentData,a=e||this.config.loader;return(function(){function e(e){this.loader=void 0,this.loader=new a(e)}var o=e.prototype;return o.destroy=function(){this.loader.destroy()},o.abort=function(){this.loader.abort()},o.load=function(e,a,o){t(e),this.loader.load(e,a,o)},E(e,[{key:"stats",get:function(){return this.loader.stats}},{key:"context",get:function(){return this.loader.context}}]),e})()},e})(),o_=3e5,i_=(function(){function e(e){this.hls=void 0,this.log=void 0,this.loader=null,this.uri=null,this.pathwayId=".",this.pathwayPriority=null,this.timeToLoad=300,this.reloadTimer=-1,this.updated=0,this.started=!1,this.enabled=!0,this.levels=null,this.audioTracks=null,this.subtitleTracks=null,this.penalizedPathways={},this.hls=e,this.log=U.log.bind(U,"[content-steering]:"),this.registerListeners()}var t=e.prototype;return t.registerListeners=function(){var e=this.hls;e.on(f.MANIFEST_LOADING,this.onManifestLoading,this),e.on(f.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(f.MANIFEST_PARSED,this.onManifestParsed,this),e.on(f.ERROR,this.onError,this)},t.unregisterListeners=function(){var e=this.hls;e&&(e.off(f.MANIFEST_LOADING,this.onManifestLoading,this),e.off(f.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(f.MANIFEST_PARSED,this.onManifestParsed,this),e.off(f.ERROR,this.onError,this))},t.startLoad=function(){if(this.started=!0,this.clearTimeout(),this.enabled&&this.uri){if(this.updated){var e=1e3*this.timeToLoad-(performance.now()-this.updated);if(e>0)return void this.scheduleRefresh(this.uri,e)}this.loadSteeringManifest(this.uri)}},t.stopLoad=function(){this.started=!1,this.loader&&(this.loader.destroy(),this.loader=null),this.clearTimeout()},t.clearTimeout=function(){-1!==this.reloadTimer&&(self.clearTimeout(this.reloadTimer),this.reloadTimer=-1)},t.destroy=function(){this.unregisterListeners(),this.stopLoad(),this.hls=null,this.levels=this.audioTracks=this.subtitleTracks=null},t.removeLevel=function(e){var t=this.levels;t&&(this.levels=t.filter((function(t){return t!==e})))},t.onManifestLoading=function(){this.stopLoad(),this.enabled=!0,this.timeToLoad=300,this.updated=0,this.uri=null,this.pathwayId=".",this.levels=this.audioTracks=this.subtitleTracks=null},t.onManifestLoaded=function(e,t){var a=t.contentSteering;null!==a&&(this.pathwayId=a.pathwayId,this.uri=a.uri,this.started&&this.startLoad())},t.onManifestParsed=function(e,t){this.audioTracks=t.audioTracks,this.subtitleTracks=t.subtitleTracks},t.onError=function(e,t){var a=t.errorAction;if((null==a?void 0:a.action)===$a.SendAlternateToPenaltyBox&&a.flags===qa.MoveAllAlternatesMatchingHost){var o=this.levels,i=this.pathwayPriority,n=this.pathwayId;if(t.context){var r=t.context,E=r.groupId,_=r.pathwayId,T=r.type;E&&o?n=this.getPathwayForGroupId(E,T,n):_&&(n=_)}n in this.penalizedPathways||(this.penalizedPathways[n]=performance.now()),!i&&o&&(i=o.reduce((function(e,t){return-1===e.indexOf(t.pathwayId)&&e.push(t.pathwayId),e}),[])),i&&i.length>1&&(this.updatePathwayPriority(i),a.resolved=this.pathwayId!==n),a.resolved||U.warn("Could not resolve "+t.details+' ("'+t.error.message+'") with content-steering for Pathway: '+n+" levels: "+(o?o.length:o)+" priorities: "+JSON.stringify(i)+" penalized: "+JSON.stringify(this.penalizedPathways))}},t.filterParsedLevels=function(e){this.levels=e;var t=this.getLevelsForPathway(this.pathwayId);if(0===t.length){var a=e[0].pathwayId;this.log("No levels found in Pathway "+this.pathwayId+'. Setting initial Pathway to "'+a+'"'),t=this.getLevelsForPathway(a),this.pathwayId=a}return t.length!==e.length?(this.log("Found "+t.length+"/"+e.length+' levels in Pathway "'+this.pathwayId+'"'),t):e},t.getLevelsForPathway=function(e){return null===this.levels?[]:this.levels.filter((function(t){return e===t.pathwayId}))},t.updatePathwayPriority=function(e){var t;this.pathwayPriority=e;var a=this.penalizedPathways,o=performance.now();Object.keys(a).forEach((function(e){o-a[e]>o_&&delete a[e]}));for(var i=0;i<e.length;i++){var n=e[i];if(!(n in a)){if(n===this.pathwayId)return;var r=this.hls.nextLoadLevel,E=this.hls.levels[r];if((t=this.getLevelsForPathway(n)).length>0){this.log('Setting Pathway to "'+n+'"'),this.pathwayId=n,Ga(t),this.hls.trigger(f.LEVELS_UPDATED,{levels:t});var _=this.hls.levels[r];E&&_&&this.levels&&(_.attrs["STABLE-VARIANT-ID"]!==E.attrs["STABLE-VARIANT-ID"]&&_.bitrate!==E.bitrate&&this.log("Unstable Pathways change from bitrate "+E.bitrate+" to "+_.bitrate),this.hls.nextLoadLevel=r);break}}}},t.getPathwayForGroupId=function(e,t,a){for(var o=this.getLevelsForPathway(a).concat(this.levels||[]),i=0;i<o.length;i++)if(t===Xt.AUDIO_TRACK&&o[i].hasAudioGroup(e)||t===Xt.SUBTITLE_TRACK&&o[i].hasSubtitleGroup(e))return o[i].pathwayId;return a},t.clonePathways=function(e){var t=this,a=this.levels;if(a){var o={},i={};e.forEach((function(e){var n=e.ID,r=e["BASE-ID"],E=e["URI-REPLACEMENT"];if(!a.some((function(e){return e.pathwayId===n}))){var _=t.getLevelsForPathway(r).map((function(e){var t=new F(e.attrs);t["PATHWAY-ID"]=n;var a=t.AUDIO&&t.AUDIO+"_clone_"+n,r=t.SUBTITLES&&t.SUBTITLES+"_clone_"+n;a&&(o[t.AUDIO]=a,t.AUDIO=a),r&&(i[t.SUBTITLES]=r,t.SUBTITLES=r);var _=r_(e.uri,t["STABLE-VARIANT-ID"],"PER-VARIANT-URIS",E),T=new Da({attrs:t,audioCodec:e.audioCodec,bitrate:e.bitrate,height:e.height,name:e.name,url:_,videoCodec:e.videoCodec,width:e.width});if(e.audioGroups)for(var s=1;s<e.audioGroups.length;s++)T.addGroupId("audio",e.audioGroups[s]+"_clone_"+n);if(e.subtitleGroups)for(var S=1;S<e.subtitleGroups.length;S++)T.addGroupId("text",e.subtitleGroups[S]+"_clone_"+n);return T}));a.push.apply(a,_),n_(t.audioTracks,o,E,n),n_(t.subtitleTracks,i,E,n)}}))}},t.loadSteeringManifest=function(e){var t,a=this,o=this.hls.config,i=o.loader;this.loader&&this.loader.destroy(),this.loader=new i(o);try{t=new self.URL(e)}catch(t){return this.enabled=!1,void this.log("Failed to parse Steering Manifest URI: "+e)}if("data:"!==t.protocol){var n=0|(this.hls.bandwidthEstimate||o.abrEwmaDefaultEstimate);t.searchParams.set("_HLS_pathway",this.pathwayId),t.searchParams.set("_HLS_throughput",""+n)}var r={responseType:"json",url:t.href},E=o.steeringManifestLoadPolicy.default,_=E.errorRetry||E.timeoutRetry||{},T={loadPolicy:E,timeout:E.maxLoadTimeMs,maxRetry:_.maxNumRetry||0,retryDelay:_.retryDelayMs||0,maxRetryDelay:_.maxRetryDelayMs||0},s={onSuccess:function(e,o,i,n){a.log('Loaded steering manifest: "'+t+'"');var r=e.data;if(1===r.VERSION){a.updated=performance.now(),a.timeToLoad=r.TTL;var E=r["RELOAD-URI"],_=r["PATHWAY-CLONES"],T=r["PATHWAY-PRIORITY"];if(E)try{a.uri=new self.URL(E,t).href}catch(e){return a.enabled=!1,void a.log("Failed to parse Steering Manifest RELOAD-URI: "+E)}a.scheduleRefresh(a.uri||i.url),_&&a.clonePathways(_);var s={steeringManifest:r,url:t.toString()};a.hls.trigger(f.STEERING_MANIFEST_LOADED,s),T&&a.updatePathwayPriority(T)}else a.log("Steering VERSION "+r.VERSION+" not supported!")},onError:function(e,t,o,i){if(a.log("Error loading steering manifest: "+e.code+" "+e.text+" ("+t.url+")"),a.stopLoad(),410===e.code)return a.enabled=!1,void a.log("Steering manifest "+t.url+" no longer available");var n=1e3*a.timeToLoad;if(429!==e.code)a.scheduleRefresh(a.uri||t.url,n);else{var r=a.loader;if("function"==typeof(null==r?void 0:r.getResponseHeader)){var E=r.getResponseHeader("Retry-After");E&&(n=1e3*parseFloat(E))}a.log("Steering manifest "+t.url+" rate limited")}},onTimeout:function(e,t,o){a.log("Timeout loading steering manifest ("+t.url+")"),a.scheduleRefresh(a.uri||t.url)}};this.log("Requesting steering manifest: "+t),this.loader.load(r,T,s)},t.scheduleRefresh=function(e,t){var a=this;void 0===t&&(t=1e3*this.timeToLoad),this.clearTimeout(),this.reloadTimer=self.setTimeout((function(){var t,o=null==(t=a.hls)?void 0:t.media;!o||o.ended?a.scheduleRefresh(e,1e3*a.timeToLoad):a.loadSteeringManifest(e)}),t)},e})();function n_(e,t,a,o){e&&Object.keys(t).forEach((function(i){var n=e.filter((function(e){return e.groupId===i})).map((function(e){var n=T({},e);return n.details=void 0,n.attrs=new F(n.attrs),n.url=n.attrs.URI=r_(e.url,e.attrs["STABLE-RENDITION-ID"],"PER-RENDITION-URIS",a),n.groupId=n.attrs["GROUP-ID"]=t[i],n.attrs["PATHWAY-ID"]=o,n}));e.push.apply(e,n)}))}function r_(e,t,a,o){var i,n=o.HOST,r=o.PARAMS,E=o[a];t&&(i=null==E?void 0:E[t])&&(e=i);var _=new self.URL(e);return n&&!i&&(_.host=n),r&&Object.keys(r).sort().forEach((function(e){e&&_.searchParams.set(e,r[e])})),_.href}var E_=/^age:\s*[\d.]+\s*$/im,__=(function(){function e(e){this.xhrSetup=void 0,this.requestTimeout=void 0,this.retryTimeout=void 0,this.retryDelay=void 0,this.config=null,this.callbacks=null,this.context=null,this.loader=null,this.stats=void 0,this.xhrSetup=e&&e.xhrSetup||null,this.stats=new Y,this.retryDelay=0}var t=e.prototype;return t.destroy=function(){this.callbacks=null,this.abortInternal(),this.loader=null,this.config=null,this.context=null,this.xhrSetup=null,this.stats=null},t.abortInternal=function(){var e=this.loader;self.clearTimeout(this.requestTimeout),self.clearTimeout(this.retryTimeout),e&&(e.onreadystatechange=null,e.onprogress=null,4!==e.readyState&&(this.stats.aborted=!0,e.abort()))},t.abort=function(){var e;this.abortInternal(),null!=(e=this.callbacks)&&e.onAbort&&this.callbacks.onAbort(this.stats,this.context,this.loader)},t.load=function(e,t,a){if(this.stats.loading.start)throw new Error("Loader can only be used once.");this.stats.loading.start=self.performance.now(),this.context=e,this.config=t,this.callbacks=a,this.loadInternal()},t.loadInternal=function(){var e=this,t=this.config,a=this.context;if(t&&a){var o=this.loader=new self.XMLHttpRequest,i=this.stats;i.loading.first=0,i.loaded=0,i.aborted=!1;var n=this.xhrSetup;n?Promise.resolve().then((function(){if(!e.stats.aborted)return n(o,a.url)})).catch((function(e){return o.open("GET",a.url,!0),n(o,a.url)})).then((function(){e.stats.aborted||e.openAndSendXhr(o,a,t)})).catch((function(t){e.callbacks.onError({code:o.status,text:t.message},a,o,i)})):this.openAndSendXhr(o,a,t)}},t.openAndSendXhr=function(e,t,a){e.readyState||e.open("GET",t.url,!0);var o=t.headers,i=a.loadPolicy,n=i.maxTimeToFirstByteMs,r=i.maxLoadTimeMs;if(o)for(var E in o)e.setRequestHeader(E,o[E]);t.rangeEnd&&e.setRequestHeader("Range","bytes="+t.rangeStart+"-"+(t.rangeEnd-1)),e.onreadystatechange=this.readystatechange.bind(this),e.onprogress=this.loadprogress.bind(this),e.responseType=t.responseType,self.clearTimeout(this.requestTimeout),a.timeout=n&&p(n)?n:r,this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),a.timeout),e.send()},t.readystatechange=function(){var e=this.context,t=this.loader,a=this.stats;if(e&&t){var o=t.readyState,i=this.config;if(!a.aborted&&o>=2&&(0===a.loading.first&&(a.loading.first=Math.max(self.performance.now(),a.loading.start),i.timeout!==i.loadPolicy.maxLoadTimeMs&&(self.clearTimeout(this.requestTimeout),i.timeout=i.loadPolicy.maxLoadTimeMs,this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),i.loadPolicy.maxLoadTimeMs-(a.loading.first-a.loading.start)))),4===o)){self.clearTimeout(this.requestTimeout),t.onreadystatechange=null,t.onprogress=null;var n=t.status,r="text"!==t.responseType;if(n>=200&&n<300&&(r&&t.response||null!==t.responseText)){a.loading.end=Math.max(self.performance.now(),a.loading.first);var E=r?t.response:t.responseText,_="arraybuffer"===t.responseType?E.byteLength:E.length;if(a.loaded=a.total=_,a.bwEstimate=8e3*a.total/(a.loading.end-a.loading.first),!this.callbacks)return;var T=this.callbacks.onProgress;if(T&&T(a,e,E,t),!this.callbacks)return;var s={url:t.responseURL,data:E,code:n};this.callbacks.onSuccess(s,a,e,t)}else{var S=i.loadPolicy.errorRetry;wa(S,a.retry,!1,{url:e.url,data:void 0,code:n})?this.retry(S):(U.error(n+" while loading "+e.url),this.callbacks.onError({code:n,text:t.statusText},e,t,a))}}}},t.loadtimeout=function(){var e,t=null==(e=this.config)?void 0:e.loadPolicy.timeoutRetry;if(wa(t,this.stats.retry,!0))this.retry(t);else{var a;U.warn("timeout while loading "+(null==(a=this.context)?void 0:a.url));var o=this.callbacks;o&&(this.abortInternal(),o.onTimeout(this.stats,this.context,this.loader))}},t.retry=function(e){var t=this.context,a=this.stats;this.retryDelay=Va(e,a.retry),a.retry++,U.warn((status?"HTTP Status "+status:"Timeout")+" while loading "+(null==t?void 0:t.url)+", retrying "+a.retry+"/"+e.maxNumRetry+" in "+this.retryDelay+"ms"),this.abortInternal(),this.loader=null,self.clearTimeout(this.retryTimeout),this.retryTimeout=self.setTimeout(this.loadInternal.bind(this),this.retryDelay)},t.loadprogress=function(e){var t=this.stats;t.loaded=e.loaded,e.lengthComputable&&(t.total=e.total)},t.getCacheAge=function(){var e=null;if(this.loader&&E_.test(this.loader.getAllResponseHeaders())){var t=this.loader.getResponseHeader("age");e=t?parseFloat(t):null}return e},t.getResponseHeader=function(e){return this.loader&&new RegExp("^"+e+":\\s*[\\d.]+\\s*$","im").test(this.loader.getAllResponseHeaders())?this.loader.getResponseHeader(e):null},e})();function T_(){if(self.fetch&&self.AbortController&&self.ReadableStream&&self.Request)try{return new self.ReadableStream({}),!0}catch(e){}return!1}var s_=/(\d+)-(\d+)\/(\d+)/,S_=(function(){function e(e){this.fetchSetup=void 0,this.requestTimeout=void 0,this.request=null,this.response=null,this.controller=void 0,this.context=null,this.config=null,this.callbacks=null,this.stats=void 0,this.loader=null,this.fetchSetup=e.fetchSetup||u_,this.controller=new self.AbortController,this.stats=new Y}var t=e.prototype;return t.destroy=function(){this.loader=this.callbacks=this.context=this.config=this.request=null,this.abortInternal(),this.response=null,this.fetchSetup=this.controller=this.stats=null},t.abortInternal=function(){this.controller&&!this.stats.loading.end&&(this.stats.aborted=!0,this.controller.abort())},t.abort=function(){var e;this.abortInternal(),null!=(e=this.callbacks)&&e.onAbort&&this.callbacks.onAbort(this.stats,this.context,this.response)},t.load=function(e,t,a){var o=this,i=this.stats;if(i.loading.start)throw new Error("Loader can only be used once.");i.loading.start=self.performance.now();var n=l_(e,this.controller.signal),r=a.onProgress,E="arraybuffer"===e.responseType,_=E?"byteLength":"length",T=t.loadPolicy,s=T.maxTimeToFirstByteMs,S=T.maxLoadTimeMs;this.context=e,this.config=t,this.callbacks=a,this.request=this.fetchSetup(e,n),self.clearTimeout(this.requestTimeout),t.timeout=s&&p(s)?s:S,this.requestTimeout=self.setTimeout((function(){o.abortInternal(),a.onTimeout(i,e,o.response)}),t.timeout),self.fetch(this.request).then((function(n){o.response=o.loader=n;var _=Math.max(self.performance.now(),i.loading.start);if(self.clearTimeout(o.requestTimeout),t.timeout=S,o.requestTimeout=self.setTimeout((function(){o.abortInternal(),a.onTimeout(i,e,o.response)}),S-(_-i.loading.start)),!n.ok){var T=n.status,s=n.statusText;throw new c_(s||"fetch, bad network response",T,n)}return i.loading.first=_,i.total=A_(n.headers)||i.total,r&&p(t.highWaterMark)?o.loadProgressively(n,i,e,t.highWaterMark,r):E?n.arrayBuffer():"json"===e.responseType?n.json():n.text()})).then((function(n){var E=o.response;if(!E)throw new Error("loader destroyed");self.clearTimeout(o.requestTimeout),i.loading.end=Math.max(self.performance.now(),i.loading.first);var T=n[_];T&&(i.loaded=i.total=T);var s={url:E.url,data:n,code:E.status};r&&!p(t.highWaterMark)&&r(i,e,n,E),a.onSuccess(s,i,e,E)})).catch((function(t){if(self.clearTimeout(o.requestTimeout),!i.aborted){var n=t&&t.code||0,r=t?t.message:null;a.onError({code:n,text:r},e,t?t.details:null,i)}}))},t.getCacheAge=function(){var e=null;if(this.response){var t=this.response.headers.get("age");e=t?parseFloat(t):null}return e},t.getResponseHeader=function(e){return this.response?this.response.headers.get(e):null},t.loadProgressively=function(e,t,a,o,i){void 0===o&&(o=0);var n=new Jo,r=e.body.getReader();return(function E(){return r.read().then((function(r){if(r.done)return n.dataLength&&i(t,a,n.flush(),e),Promise.resolve(new ArrayBuffer(0));var _=r.value,T=_.length;return t.loaded+=T,T<o||n.dataLength?(n.push(_),n.dataLength>=o&&i(t,a,n.flush(),e)):i(t,a,_,e),E()})).catch((function(){return Promise.reject()}))})()},e})();function l_(e,t){var a={method:"GET",mode:"cors",credentials:"same-origin",signal:t,headers:new self.Headers(T({},e.headers))};return e.rangeEnd&&a.headers.set("Range","bytes="+e.rangeStart+"-"+String(e.rangeEnd-1)),a}function I_(e){var t=s_.exec(e);if(t)return parseInt(t[2])-parseInt(t[1])+1}function A_(e){var t=e.get("Content-Range");if(t){var a=I_(t);if(p(a))return a}var o=e.get("Content-Length");if(o)return parseInt(o)}function u_(e,t){return new self.Request(e.url,t)}var d_,c_=(function(e){function t(t,a,o){var i;return(i=e.call(this,t)||this).code=void 0,i.details=void 0,i.code=a,i.details=o,i}return s(t,e),t})(d(Error)),O_=/\s/,R_={newCue:function(e,t,a,o){for(var i,n,r,E,_,T=[],s=self.VTTCue||self.TextTrackCue,S=0;S<o.rows.length;S++)if(r=!0,E=0,_="",!(i=o.rows[S]).isEmpty()){for(var l,I=0;I<i.chars.length;I++)O_.test(i.chars[I].uchar)&&r?E++:(_+=i.chars[I].uchar,r=!1);i.cueStartTime=t,t===a&&(a+=1e-4),E>=16?E--:E++;var A=Dr(_.trim()),u=Pr(t,a,A);null!=e&&null!=(l=e.cues)&&l.getCueById(u)||((n=new s(t,a,A)).id=u,n.line=S+1,n.align="left",n.position=10+Math.min(80,10*Math.floor(8*E/32)),T.push(n))}return e&&T.length&&(T.sort((function(e,t){return"auto"===e.line||"auto"===t.line?0:e.line>8&&t.line>8?t.line-e.line:e.line-t.line})),T.forEach((function(t){return ta(e,t)}))),T}},N_=o(o({autoStartLoad:!0,startPosition:-1,defaultAudioCodec:void 0,debug:!1,capLevelOnFPSDrop:!1,capLevelToPlayerSize:!1,ignoreDevicePixelRatio:!1,preferManagedMediaSource:!0,initialLiveManifestSize:1,maxBufferLength:30,backBufferLength:1/0,frontBufferFlushThreshold:1/0,maxBufferSize:6e7,maxBufferHole:.1,highBufferWatchdogPeriod:2,nudgeOffset:.1,nudgeMaxRetry:3,maxFragLookUpTolerance:.25,liveSyncDurationCount:3,liveMaxLatencyDurationCount:1/0,liveSyncDuration:void 0,liveMaxLatencyDuration:void 0,maxLiveSyncPlaybackRate:1,liveDurationInfinity:!1,liveBackBufferLength:null,maxMaxBufferLength:600,enableWorker:!0,workerPath:null,enableSoftwareAES:!0,startLevel:void 0,startFragPrefetch:!1,fpsDroppedMonitoringPeriod:5e3,fpsDroppedMonitoringThreshold:.2,appendErrorMaxRetry:3,loader:__,fLoader:void 0,pLoader:void 0,xhrSetup:void 0,licenseXhrSetup:void 0,licenseResponseCallback:void 0,abrController:No,bufferController:Kn,capLevelController:Jr,errorController:Ja,fpsController:Zr,stretchShortVideoTrack:!1,maxAudioFramesDrift:1,forceKeyFrameOnDiscontinuity:!0,abrEwmaFastLive:3,abrEwmaSlowLive:9,abrEwmaFastVoD:3,abrEwmaSlowVoD:9,abrEwmaDefaultEstimate:5e5,abrEwmaDefaultEstimateMax:5e6,abrBandWidthFactor:.95,abrBandWidthUpFactor:.7,abrMaxWithRealBitrate:!1,maxStarvationDelay:4,maxLoadingDelay:4,minAutoBitrate:0,emeEnabled:!1,widevineLicenseUrl:void 0,drmSystems:{},drmSystemOptions:{},requestMediaKeySystemAccessFunc:se,testBandwidth:!0,progressive:!1,lowLatencyMode:!0,cmcd:void 0,enableDateRangeMetadataCues:!0,enableEmsgMetadataCues:!0,enableID3MetadataCues:!0,useMediaCapabilities:!0,certLoadPolicy:{default:{maxTimeToFirstByteMs:8e3,maxLoadTimeMs:2e4,timeoutRetry:null,errorRetry:null}},keyLoadPolicy:{default:{maxTimeToFirstByteMs:8e3,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:2e4,backoff:"linear"},errorRetry:{maxNumRetry:8,retryDelayMs:1e3,maxRetryDelayMs:2e4,backoff:"linear"}}},manifestLoadPolicy:{default:{maxTimeToFirstByteMs:1/0,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},playlistLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:2,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},fragLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:12e4,timeoutRetry:{maxNumRetry:4,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:6,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},steeringManifestLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},manifestLoadingTimeOut:1e4,manifestLoadingMaxRetry:1,manifestLoadingRetryDelay:1e3,manifestLoadingMaxRetryTimeout:64e3,levelLoadingTimeOut:1e4,levelLoadingMaxRetry:4,levelLoadingRetryDelay:1e3,levelLoadingMaxRetryTimeout:64e3,fragLoadingTimeOut:2e4,fragLoadingMaxRetry:6,fragLoadingRetryDelay:1e3,fragLoadingMaxRetryTimeout:64e3},m_()),{},{subtitleStreamController:Vn,subtitleTrackController:wn,timelineController:jr,audioStreamController:Gn,audioTrackController:kn,emeController:tE,cmcdController:a_,contentSteeringController:i_});function m_(){return{cueHandler:R_,enableWebVTT:!0,enableIMSC1:!0,enableCEA708Captions:!0,captionsTextTrack1Label:"English",captionsTextTrack1LanguageCode:"en",captionsTextTrack2Label:"Spanish",captionsTextTrack2LanguageCode:"es",captionsTextTrack3Label:"Unknown CC",captionsTextTrack3LanguageCode:"",captionsTextTrack4Label:"Unknown CC",captionsTextTrack4LanguageCode:"",renderTextTracksNatively:!0}}function L_(e,t){if((t.liveSyncDurationCount||t.liveMaxLatencyDurationCount)&&(t.liveSyncDuration||t.liveMaxLatencyDuration))throw new Error("Illegal hls.js config: don't mix up liveSyncDurationCount/liveMaxLatencyDurationCount and liveSyncDuration/liveMaxLatencyDuration");if(void 0!==t.liveMaxLatencyDurationCount&&(void 0===t.liveSyncDurationCount||t.liveMaxLatencyDurationCount<=t.liveSyncDurationCount))throw new Error('Illegal hls.js config: "liveMaxLatencyDurationCount" must be greater than "liveSyncDurationCount"');if(void 0!==t.liveMaxLatencyDuration&&(void 0===t.liveSyncDuration||t.liveMaxLatencyDuration<=t.liveSyncDuration))throw new Error('Illegal hls.js config: "liveMaxLatencyDuration" must be greater than "liveSyncDuration"');var a=D_(e),i=["TimeOut","MaxRetry","RetryDelay","MaxRetryTimeout"];return["manifest","level","frag"].forEach((function(e){var o=("level"===e?"playlist":e)+"LoadPolicy",n=void 0===t[o],r=[];i.forEach((function(i){var E=e+"Loading"+i,_=t[E];if(void 0!==_&&n){r.push(E);var T=a[o].default;switch(t[o]={default:T},i){case"TimeOut":T.maxLoadTimeMs=_,T.maxTimeToFirstByteMs=_;break;case"MaxRetry":T.errorRetry.maxNumRetry=_,T.timeoutRetry.maxNumRetry=_;break;case"RetryDelay":T.errorRetry.retryDelayMs=_,T.timeoutRetry.retryDelayMs=_;break;case"MaxRetryTimeout":T.errorRetry.maxRetryDelayMs=_,T.timeoutRetry.maxRetryDelayMs=_}}})),r.length&&U.warn('hls.js config: "'+r.join('", "')+'" setting(s) are deprecated, use "'+o+'": '+JSON.stringify(t[o]))})),o(o({},a),t)}function D_(e){return e&&"object"==typeof e?Array.isArray(e)?e.map(D_):Object.keys(e).reduce((function(t,a){return t[a]=D_(e[a]),t}),{}):e}function p_(e){var t=e.loader;t!==S_&&t!==__?(U.log("[config]: Custom loader detected, cannot enable progressive streaming"),e.progressive=!1):T_()&&(e.loader=S_,e.progressive=!0,e.enableSoftwareAES=!0,U.log("[config]: Progressive streaming enabled, using FetchLoader"))}var h_=(function(e){function t(t,a){var o;return(o=e.call(this,t,"[level-controller]")||this)._levels=[],o._firstLevel=-1,o._maxAutoLevel=-1,o._startLevel=void 0,o.currentLevel=null,o.currentLevelIndex=-1,o.manualLevelIndex=-1,o.steering=void 0,o.onParsedComplete=void 0,o.steering=a,o._registerListeners(),o}s(t,e);var a=t.prototype;return a._registerListeners=function(){var e=this.hls;e.on(f.MANIFEST_LOADING,this.onManifestLoading,this),e.on(f.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(f.LEVEL_LOADED,this.onLevelLoaded,this),e.on(f.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(f.FRAG_BUFFERED,this.onFragBuffered,this),e.on(f.ERROR,this.onError,this)},a._unregisterListeners=function(){var e=this.hls;e.off(f.MANIFEST_LOADING,this.onManifestLoading,this),e.off(f.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(f.LEVEL_LOADED,this.onLevelLoaded,this),e.off(f.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(f.FRAG_BUFFERED,this.onFragBuffered,this),e.off(f.ERROR,this.onError,this)},a.destroy=function(){this._unregisterListeners(),this.steering=null,this.resetLevels(),e.prototype.destroy.call(this)},a.stopLoad=function(){this._levels.forEach((function(e){e.loadError=0,e.fragmentError=0})),e.prototype.stopLoad.call(this)},a.resetLevels=function(){this._startLevel=void 0,this.manualLevelIndex=-1,this.currentLevelIndex=-1,this.currentLevel=null,this._levels=[],this._maxAutoLevel=-1},a.onManifestLoading=function(e,t){this.resetLevels()},a.onManifestLoaded=function(e,t){var a=this.hls.config.preferManagedMediaSource,o=[],i={},n={},r=!1,E=!1,_=!1;t.levels.forEach((function(e){var t,T,s=e.attrs,S=e.audioCodec,l=e.videoCodec;-1!==(null==(t=S)?void 0:t.indexOf("mp4a.40.34"))&&(d_||(d_=/chrome|firefox/i.test(navigator.userAgent)),d_&&(e.audioCodec=S=void 0)),S&&(e.audioCodec=S=yt(S,a)),0===(null==(T=l)?void 0:T.indexOf("avc1"))&&(l=e.videoCodec=Mt(l));var I=e.width,A=e.height,u=e.unknownCodecs;if(r||(r=!(!I||!A)),E||(E=!!l),_||(_=!!S),!(null!=u&&u.length||S&&!pt(S,"audio",a)||l&&!pt(l,"video",a))){var d=s.CODECS,c=s["FRAME-RATE"],O=s["HDCP-LEVEL"],R=s["PATHWAY-ID"],N=s.RESOLUTION,m=s["VIDEO-RANGE"],L=(R||".")+"-"+e.bitrate+"-"+N+"-"+c+"-"+d+"-"+m+"-"+O;if(i[L])if(i[L].uri===e.url||e.attrs["PATHWAY-ID"])i[L].addGroupId("audio",s.AUDIO),i[L].addGroupId("text",s.SUBTITLES);else{var D=n[L]+=1;e.attrs["PATHWAY-ID"]=new Array(D+1).join(".");var p=new Da(e);i[L]=p,o.push(p)}else{var h=new Da(e);i[L]=h,n[L]=1,o.push(h)}}})),this.filterAndSortMediaOptions(o,t,r,E,_)},a.filterAndSortMediaOptions=function(e,t,a,o,i){var n=this,r=[],E=[],_=e;if((a||o)&&i&&(_=_.filter((function(e){var t=e.videoCodec,a=e.videoRange,o=e.width,i=e.height;return(!!t||!(!o||!i))&&Ra(a)}))),0!==_.length){if(t.audioTracks){var T=this.hls.config.preferManagedMediaSource;C_(r=t.audioTracks.filter((function(e){return!e.audioCodec||pt(e.audioCodec,"audio",T)})))}t.subtitles&&C_(E=t.subtitles);var s=_.slice(0);_.sort((function(e,t){if(e.attrs["HDCP-LEVEL"]!==t.attrs["HDCP-LEVEL"])return(e.attrs["HDCP-LEVEL"]||"")>(t.attrs["HDCP-LEVEL"]||"")?1:-1;if(a&&e.height!==t.height)return e.height-t.height;if(e.frameRate!==t.frameRate)return e.frameRate-t.frameRate;if(e.videoRange!==t.videoRange)return Oa.indexOf(e.videoRange)-Oa.indexOf(t.videoRange);if(e.videoCodec!==t.videoCodec){var o=ft(e.videoCodec),i=ft(t.videoCodec);if(o!==i)return i-o}if(e.uri===t.uri&&e.codecSet!==t.codecSet){var n=Bt(e.codecSet),r=Bt(t.codecSet);if(n!==r)return r-n}return e.averageBitrate!==t.averageBitrate?e.averageBitrate-t.averageBitrate:0}));var S=s[0];if(this.steering&&(_=this.steering.filterParsedLevels(_)).length!==s.length)for(var l=0;l<s.length;l++)if(s[l].pathwayId===_[0].pathwayId){S=s[l];break}this._levels=_;for(var I=0;I<_.length;I++)if(_[I]===S){var A;this._firstLevel=I;var u=S.bitrate,d=this.hls.bandwidthEstimate;if(this.log("manifest loaded, "+_.length+" level(s) found, first bitrate: "+u),void 0===(null==(A=this.hls.userConfig)?void 0:A.abrEwmaDefaultEstimate)){var c=Math.min(u,this.hls.config.abrEwmaDefaultEstimateMax);c>d&&d===N_.abrEwmaDefaultEstimate&&(this.hls.bandwidthEstimate=c)}break}var O=i&&!o,R={levels:_,audioTracks:r,subtitleTracks:E,sessionData:t.sessionData,sessionKeys:t.sessionKeys,firstLevel:this._firstLevel,stats:t.stats,audio:i,video:o,altAudio:!O&&r.some((function(e){return!!e.url}))};this.hls.trigger(f.MANIFEST_PARSED,R),(this.hls.config.autoStartLoad||this.hls.forceStartLoad)&&this.hls.startLoad(this.hls.config.startPosition)}else Promise.resolve().then((function(){if(n.hls){t.levels.length&&n.warn("One or more CODECS in variant not supported: "+JSON.stringify(t.levels[0].attrs));var e=new Error("no level with compatible codecs found in manifest");n.hls.trigger(f.ERROR,{type:B.MEDIA_ERROR,details:P.MANIFEST_INCOMPATIBLE_CODECS_ERROR,fatal:!0,url:t.url,error:e,reason:e.message})}}))},a.onError=function(e,t){!t.fatal&&t.context&&t.context.type===Xt.LEVEL&&t.context.level===this.level&&this.checkRetry(t)},a.onFragBuffered=function(e,t){var a=t.frag;if(void 0!==a&&a.type===$t.MAIN){var o=a.elementaryStreams;if(!Object.keys(o).some((function(e){return!!o[e]})))return;var i=this._levels[a.level];null!=i&&i.loadError&&(this.log("Resetting level error count of "+i.loadError+" on frag buffered"),i.loadError=0)}},a.onLevelLoaded=function(e,t){var a,o,i=t.level,n=t.details,r=this._levels[i];if(!r)return this.warn("Invalid level index "+i),void(null!=(o=t.deliveryDirectives)&&o.skip&&(n.deltaUpdateFailed=!0));i===this.currentLevelIndex?(0===r.fragmentError&&(r.loadError=0),this.playlistLoaded(i,t,r.details)):null!=(a=t.deliveryDirectives)&&a.skip&&(n.deltaUpdateFailed=!0)},a.loadPlaylist=function(t){e.prototype.loadPlaylist.call(this);var a=this.currentLevelIndex,o=this.currentLevel;if(o&&this.shouldLoadPlaylist(o)){var i=o.uri;if(t)try{i=t.addDirectives(i)}catch(e){this.warn("Could not construct new URL with HLS Delivery Directives: "+e)}var n=o.attrs["PATHWAY-ID"];this.log("Loading level index "+a+(void 0!==(null==t?void 0:t.msn)?" at sn "+t.msn+" part "+t.part:"")+" with"+(n?" Pathway "+n:"")+" "+i),this.clearTimer(),this.hls.trigger(f.LEVEL_LOADING,{url:i,level:a,pathwayId:o.attrs["PATHWAY-ID"],id:0,deliveryDirectives:t||null})}},a.removeLevel=function(e){var t,a=this,o=this._levels.filter((function(t,o){return o!==e||(a.steering&&a.steering.removeLevel(t),t===a.currentLevel&&(a.currentLevel=null,a.currentLevelIndex=-1,t.details&&t.details.fragments.forEach((function(e){return e.level=-1}))),!1)}));Ga(o),this._levels=o,this.currentLevelIndex>-1&&null!=(t=this.currentLevel)&&t.details&&(this.currentLevelIndex=this.currentLevel.details.fragments[0].level),this.hls.trigger(f.LEVELS_UPDATED,{levels:o})},a.onLevelsUpdated=function(e,t){var a=t.levels;this._levels=a},a.checkMaxAutoUpdated=function(){var e=this.hls,t=e.autoLevelCapping,a=e.maxAutoLevel,o=e.maxHdcpLevel;this._maxAutoLevel!==a&&(this._maxAutoLevel=a,this.hls.trigger(f.MAX_AUTO_LEVEL_UPDATED,{autoLevelCapping:t,levels:this.levels,maxAutoLevel:a,minAutoLevel:this.hls.minAutoLevel,maxHdcpLevel:o}))},E(t,[{key:"levels",get:function(){return 0===this._levels.length?null:this._levels}},{key:"level",get:function(){return this.currentLevelIndex},set:function(e){var t=this._levels;if(0!==t.length){if(e<0||e>=t.length){var a=new Error("invalid level idx"),o=e<0;if(this.hls.trigger(f.ERROR,{type:B.OTHER_ERROR,details:P.LEVEL_SWITCH_ERROR,level:e,fatal:o,error:a,reason:a.message}),o)return;e=Math.min(e,t.length-1)}var i=this.currentLevelIndex,n=this.currentLevel,r=n?n.attrs["PATHWAY-ID"]:void 0,E=t[e],_=E.attrs["PATHWAY-ID"];if(this.currentLevelIndex=e,this.currentLevel=E,i!==e||!E.details||!n||r!==_){this.log("Switching to level "+e+" ("+(E.height?E.height+"p ":"")+(E.videoRange?E.videoRange+" ":"")+(E.codecSet?E.codecSet+" ":"")+"@"+E.bitrate+")"+(_?" with Pathway "+_:"")+" from level "+i+(r?" with Pathway "+r:""));var T={level:e,attrs:E.attrs,details:E.details,bitrate:E.bitrate,averageBitrate:E.averageBitrate,maxBitrate:E.maxBitrate,realBitrate:E.realBitrate,width:E.width,height:E.height,codecSet:E.codecSet,audioCodec:E.audioCodec,videoCodec:E.videoCodec,audioGroups:E.audioGroups,subtitleGroups:E.subtitleGroups,loaded:E.loaded,loadError:E.loadError,fragmentError:E.fragmentError,name:E.name,id:E.id,uri:E.uri,url:E.url,urlId:0,audioGroupIds:E.audioGroupIds,textGroupIds:E.textGroupIds};this.hls.trigger(f.LEVEL_SWITCHING,T);var s=E.details;if(!s||s.live){var S=this.switchParams(E.uri,null==n?void 0:n.details);this.loadPlaylist(S)}}}}},{key:"manualLevel",get:function(){return this.manualLevelIndex},set:function(e){this.manualLevelIndex=e,void 0===this._startLevel&&(this._startLevel=e),-1!==e&&(this.level=e)}},{key:"firstLevel",get:function(){return this._firstLevel},set:function(e){this._firstLevel=e}},{key:"startLevel",get:function(){if(void 0===this._startLevel){var e=this.hls.config.startLevel;return void 0!==e?e:this.hls.firstAutoLevel}return this._startLevel},set:function(e){this._startLevel=e}},{key:"nextLoadLevel",get:function(){return-1!==this.manualLevelIndex?this.manualLevelIndex:this.hls.nextAutoLevel},set:function(e){this.level=e,-1===this.manualLevelIndex&&(this.hls.nextAutoLevel=e)}}]),t})(Za);function C_(e){var t={};e.forEach((function(e){var a=e.groupId||"";e.id=t[a]=t[a]||0,t[a]++}))}var f_=(function(){function e(e){this.config=void 0,this.keyUriToKeyInfo={},this.emeController=null,this.config=e}var t=e.prototype;return t.abort=function(e){for(var t in this.keyUriToKeyInfo){var a=this.keyUriToKeyInfo[t].loader;if(a){var o;if(e&&e!==(null==(o=a.context)?void 0:o.frag.type))return;a.abort()}}},t.detach=function(){for(var e in this.keyUriToKeyInfo){var t=this.keyUriToKeyInfo[e];(t.mediaKeySessionContext||t.decryptdata.isCommonEncryption)&&delete this.keyUriToKeyInfo[e]}},t.destroy=function(){for(var e in this.detach(),this.keyUriToKeyInfo){var t=this.keyUriToKeyInfo[e].loader;t&&t.destroy()}this.keyUriToKeyInfo={}},t.createKeyLoadError=function(e,t,a,o,i){return void 0===t&&(t=P.KEY_LOAD_ERROR),new wo({type:B.NETWORK_ERROR,details:t,fatal:!1,frag:e,response:i,error:a,networkDetails:o})},t.loadClear=function(e,t){var a=this;if(this.emeController&&this.config.emeEnabled)for(var o=e.sn,i=e.cc,n=function(){var e=t[r];if(i<=e.cc&&("initSegment"===o||"initSegment"===e.sn||o<e.sn))return a.emeController.selectKeySystemFormat(e).then((function(t){e.setKeyFormat(t)})),1},r=0;r<t.length&&!n();r++);},t.load=function(e){var t=this;return!e.decryptdata&&e.encrypted&&this.emeController?this.emeController.selectKeySystemFormat(e).then((function(a){return t.loadInternal(e,a)})):this.loadInternal(e)},t.loadInternal=function(e,t){var a,o;t&&e.setKeyFormat(t);var i=e.decryptdata;if(!i){var n=new Error(t?"Expected frag.decryptdata to be defined after setting format "+t:"Missing decryption data on fragment in onKeyLoading");return Promise.reject(this.createKeyLoadError(e,P.KEY_LOAD_ERROR,n))}var r=i.uri;if(!r)return Promise.reject(this.createKeyLoadError(e,P.KEY_LOAD_ERROR,new Error('Invalid key URI: "'+r+'"')));var E,_=this.keyUriToKeyInfo[r];if(null!=(a=_)&&a.decryptdata.key)return i.key=_.decryptdata.key,Promise.resolve({frag:e,keyInfo:_});if(null!=(o=_)&&o.keyLoadPromise)switch(null==(E=_.mediaKeySessionContext)?void 0:E.keyStatus){case void 0:case"status-pending":case"usable":case"usable-in-future":return _.keyLoadPromise.then((function(t){return i.key=t.keyInfo.decryptdata.key,{frag:e,keyInfo:_}}))}switch(_=this.keyUriToKeyInfo[r]={decryptdata:i,keyLoadPromise:null,loader:null,mediaKeySessionContext:null},i.method){case"ISO-23001-7":case"SAMPLE-AES":case"SAMPLE-AES-CENC":case"SAMPLE-AES-CTR":return"identity"===i.keyFormat?this.loadKeyHTTP(_,e):this.loadKeyEME(_,e);case"AES-128":return this.loadKeyHTTP(_,e);default:return Promise.reject(this.createKeyLoadError(e,P.KEY_LOAD_ERROR,new Error('Key supplied with unsupported METHOD: "'+i.method+'"')))}},t.loadKeyEME=function(e,t){var a={frag:t,keyInfo:e};if(this.emeController&&this.config.emeEnabled){var o=this.emeController.loadKey(a);if(o)return(e.keyLoadPromise=o.then((function(t){return e.mediaKeySessionContext=t,a}))).catch((function(t){throw e.keyLoadPromise=null,t}))}return Promise.resolve(a)},t.loadKeyHTTP=function(e,t){var a=this,i=this.config,n=new(0,i.loader)(i);return t.keyLoader=e.loader=n,e.keyLoadPromise=new Promise((function(r,E){var _={keyInfo:e,frag:t,responseType:"arraybuffer",url:e.decryptdata.uri},T=i.keyLoadPolicy.default,s={loadPolicy:T,timeout:T.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0},S={onSuccess:function(e,t,o,i){var n=o.frag,_=o.keyInfo,T=o.url;if(!n.decryptdata||_!==a.keyUriToKeyInfo[T])return E(a.createKeyLoadError(n,P.KEY_LOAD_ERROR,new Error("after key load, decryptdata unset or changed"),i));_.decryptdata.key=n.decryptdata.key=new Uint8Array(e.data),n.keyLoader=null,_.loader=null,r({frag:n,keyInfo:_})},onError:function(e,i,n,r){a.resetLoader(i),E(a.createKeyLoadError(t,P.KEY_LOAD_ERROR,new Error("HTTP Error "+e.code+" loading key "+e.text),n,o({url:_.url,data:void 0},e)))},onTimeout:function(e,o,i){a.resetLoader(o),E(a.createKeyLoadError(t,P.KEY_LOAD_TIMEOUT,new Error("key loading timed out"),i))},onAbort:function(e,o,i){a.resetLoader(o),E(a.createKeyLoadError(t,P.INTERNAL_ABORTED,new Error("key loading aborted"),i))}};n.load(_,s,S)}))},t.resetLoader=function(e){var t=e.frag,a=e.keyInfo,o=e.url,i=a.loader;t.keyLoader===i&&(t.keyLoader=null,a.loader=null),delete this.keyUriToKeyInfo[o],i&&i.destroy()},e})();function B_(){return self.SourceBuffer||self.WebKitSourceBuffer}function P_(){if(!mt())return!1;var e=B_();return!e||e.prototype&&"function"==typeof e.prototype.appendBuffer&&"function"==typeof e.prototype.remove}function g_(){if(!P_())return!1;var e=mt();return"function"==typeof(null==e?void 0:e.isTypeSupported)&&(["avc1.42E01E,mp4a.40.2","av01.0.01M.08","vp09.00.50.08"].some((function(t){return e.isTypeSupported(Ct(t,"video"))}))||["mp4a.40.2","fLaC"].some((function(t){return e.isTypeSupported(Ct(t,"audio"))})))}function v_(){var e,t=B_();return"function"==typeof(null==t||null==(e=t.prototype)?void 0:e.changeType)}var y_=250,W_=2,M_=.1,b_=.05,U_=(function(){function e(e,t,a,o){this.config=void 0,this.media=null,this.fragmentTracker=void 0,this.hls=void 0,this.nudgeRetry=0,this.stallReported=!1,this.stalled=null,this.moved=!1,this.seeking=!1,this.config=e,this.media=t,this.fragmentTracker=a,this.hls=o}var t=e.prototype;return t.destroy=function(){this.media=null,this.hls=this.fragmentTracker=null},t.poll=function(e,t){var a=this.config,o=this.media,i=this.stalled;if(null!==o){var n=o.currentTime,r=o.seeking,E=this.seeking&&!r,_=!this.seeking&&r;if(this.seeking=r,n===e)if(_||E)this.stalled=null;else if(o.paused&&!r||o.ended||0===o.playbackRate||!fo.getBuffered(o).length)this.nudgeRetry=0;else{var T=fo.bufferInfo(o,n,0),s=T.nextStart||0;if(r){var S=T.len>W_,l=!s||t&&t.start<=n||s-n>W_&&!this.fragmentTracker.getPartialFragment(n);if(S||l)return;this.moved=!1}if(!this.moved&&null!==this.stalled){var I;if(!(T.len>0||s))return;var A=Math.max(s,T.start||0)-n,u=this.hls.levels?this.hls.levels[this.hls.currentLevel]:null,d=(null==u||null==(I=u.details)?void 0:I.live)?2*u.details.targetduration:W_,c=this.fragmentTracker.getPartialFragment(n);if(A>0&&(A<=d||c))return void(o.paused||this._trySkipBufferHole(c))}var O=self.performance.now();if(null!==i){var R=O-i;if(r||!(R>=y_)||(this._reportStall(T),this.media)){var N=fo.bufferInfo(o,n,a.maxBufferHole);this._tryFixBufferStall(N,R)}}else this.stalled=O}else if(this.moved=!0,r||(this.nudgeRetry=0),null!==i){if(this.stallReported){var m=self.performance.now()-i;U.warn("playback not stuck anymore @"+n+", after "+Math.round(m)+"ms"),this.stallReported=!1}this.stalled=null}}},t._tryFixBufferStall=function(e,t){var a=this.config,o=this.fragmentTracker,i=this.media;if(null!==i){var n=i.currentTime,r=o.getPartialFragment(n);if(r&&(this._trySkipBufferHole(r)||!this.media))return;(e.len>a.maxBufferHole||e.nextStart&&e.nextStart-n<a.maxBufferHole)&&t>1e3*a.highBufferWatchdogPeriod&&(U.warn("Trying to nudge playhead over buffer-hole"),this.stalled=null,this._tryNudgeBuffer())}},t._reportStall=function(e){var t=this.hls,a=this.media;if(!this.stallReported&&a){this.stallReported=!0;var o=new Error("Playback stalling at @"+a.currentTime+" due to low buffer ("+JSON.stringify(e)+")");U.warn(o.message),t.trigger(f.ERROR,{type:B.MEDIA_ERROR,details:P.BUFFER_STALLED_ERROR,fatal:!1,error:o,buffer:e.len})}},t._trySkipBufferHole=function(e){var t=this.config,a=this.hls,o=this.media;if(null===o)return 0;var i=o.currentTime,n=fo.bufferInfo(o,i,0),r=i<n.start?n.start:n.nextStart;if(r){var E=n.len<=t.maxBufferHole,_=n.len>0&&n.len<1&&o.readyState<3,T=r-i;if(T>0&&(E||_)){if(T>t.maxBufferHole){var s=this.fragmentTracker,S=!1;if(0===i){var l=s.getAppendedFrag(0,$t.MAIN);l&&r<l.end&&(S=!0)}if(!S){var I=e||s.getAppendedFrag(i,$t.MAIN);if(I){for(var A=!1,u=I.end;u<r;){var d=s.getPartialFragment(u);if(!d){A=!0;break}u+=d.duration}if(A)return 0}}}var c=Math.max(r+b_,i+M_);if(U.warn("skipping hole, adjusting currentTime from "+i+" to "+c),this.moved=!0,this.stalled=null,o.currentTime=c,e&&!e.gap){var O=new Error("fragment loaded with buffer holes, seeking from "+i+" to "+c);a.trigger(f.ERROR,{type:B.MEDIA_ERROR,details:P.BUFFER_SEEK_OVER_HOLE,fatal:!1,error:O,reason:O.message,frag:e})}return c}}return 0},t._tryNudgeBuffer=function(){var e=this.config,t=this.hls,a=this.media,o=this.nudgeRetry;if(null!==a){var i=a.currentTime;if(this.nudgeRetry++,o<e.nudgeMaxRetry){var n=i+(o+1)*e.nudgeOffset,r=new Error("Nudging 'currentTime' from "+i+" to "+n);U.warn(r.message),a.currentTime=n,t.trigger(f.ERROR,{type:B.MEDIA_ERROR,details:P.BUFFER_NUDGE_ON_STALL,error:r,fatal:!1})}else{var E=new Error("Playhead still not moving while enough data buffered @"+i+" after "+e.nudgeMaxRetry+" nudges");U.error(E.message),t.trigger(f.ERROR,{type:B.MEDIA_ERROR,details:P.BUFFER_STALLED_ERROR,error:E,fatal:!0})}}},e})(),G_=100,k_=(function(e){function t(t,a,o){var i;return(i=e.call(this,t,a,o,"[stream-controller]",$t.MAIN)||this).audioCodecSwap=!1,i.gapController=null,i.level=-1,i._forceStartLoad=!1,i.altAudio=!1,i.audioOnly=!1,i.fragPlaying=null,i.onvplaying=null,i.onvseeked=null,i.fragLastKbps=0,i.couldBacktrack=!1,i.backtrackFragment=null,i.audioCodecSwitch=!1,i.videoBuffer=null,i._registerListeners(),i}s(t,e);var a=t.prototype;return a._registerListeners=function(){var e=this.hls;e.on(f.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(f.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(f.MANIFEST_LOADING,this.onManifestLoading,this),e.on(f.MANIFEST_PARSED,this.onManifestParsed,this),e.on(f.LEVEL_LOADING,this.onLevelLoading,this),e.on(f.LEVEL_LOADED,this.onLevelLoaded,this),e.on(f.FRAG_LOAD_EMERGENCY_ABORTED,this.onFragLoadEmergencyAborted,this),e.on(f.ERROR,this.onError,this),e.on(f.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.on(f.AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this),e.on(f.BUFFER_CREATED,this.onBufferCreated,this),e.on(f.BUFFER_FLUSHED,this.onBufferFlushed,this),e.on(f.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(f.FRAG_BUFFERED,this.onFragBuffered,this)},a._unregisterListeners=function(){var e=this.hls;e.off(f.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(f.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(f.MANIFEST_LOADING,this.onManifestLoading,this),e.off(f.MANIFEST_PARSED,this.onManifestParsed,this),e.off(f.LEVEL_LOADED,this.onLevelLoaded,this),e.off(f.FRAG_LOAD_EMERGENCY_ABORTED,this.onFragLoadEmergencyAborted,this),e.off(f.ERROR,this.onError,this),e.off(f.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.off(f.AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this),e.off(f.BUFFER_CREATED,this.onBufferCreated,this),e.off(f.BUFFER_FLUSHED,this.onBufferFlushed,this),e.off(f.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(f.FRAG_BUFFERED,this.onFragBuffered,this)},a.onHandlerDestroying=function(){this._unregisterListeners(),e.prototype.onHandlerDestroying.call(this)},a.startLoad=function(e){if(this.levels){var t=this.lastCurrentTime,a=this.hls;if(this.stopLoad(),this.setInterval(G_),this.level=-1,!this.startFragRequested){var o=a.startLevel;-1===o&&(a.config.testBandwidth&&this.levels.length>1?(o=0,this.bitrateTest=!0):o=a.firstAutoLevel),a.nextLoadLevel=o,this.level=a.loadLevel,this.loadedmetadata=!1}t>0&&-1===e&&(this.log("Override startPosition with lastCurrentTime @"+t.toFixed(3)),e=t),this.state=$o.IDLE,this.nextLoadPosition=this.startPosition=this.lastCurrentTime=e,this.tick()}else this._forceStartLoad=!0,this.state=$o.STOPPED},a.stopLoad=function(){this._forceStartLoad=!1,e.prototype.stopLoad.call(this)},a.doTick=function(){switch(this.state){case $o.WAITING_LEVEL:var e=this.levels,t=this.level,a=null==e?void 0:e[t],o=null==a?void 0:a.details;if(o&&(!o.live||this.levelLastLoaded===a)){if(this.waitForCdnTuneIn(o))break;this.state=$o.IDLE;break}if(this.hls.nextLoadLevel!==this.level){this.state=$o.IDLE;break}break;case $o.FRAG_LOADING_WAITING_RETRY:var i,n=self.performance.now(),r=this.retryDate;if(!r||n>=r||null!=(i=this.media)&&i.seeking){var E=this.levels,_=this.level,T=null==E?void 0:E[_];this.resetStartWhenNotLoaded(T||null),this.state=$o.IDLE}}this.state===$o.IDLE&&this.doTickIdle(),this.onTickEnd()},a.onTickEnd=function(){e.prototype.onTickEnd.call(this),this.checkBuffer(),this.checkFragmentChanged()},a.doTickIdle=function(){var e=this.hls,t=this.levelLastLoaded,a=this.levels,o=this.media,i=e.config,n=e.nextLoadLevel;if(null!==t&&(o||!this.startFragRequested&&i.startFragPrefetch)&&(!this.altAudio||!this.audioOnly)&&null!=a&&a[n]){var r=a[n],E=this.getMainFwdBufferInfo();if(null!==E){var _=this.getLevelDetails();if(_&&this._streamEnded(E,_)){var T={};return this.altAudio&&(T.type="video"),this.hls.trigger(f.BUFFER_EOS,T),void(this.state=$o.ENDED)}e.loadLevel!==n&&-1===e.manualLevel&&this.log("Adapting to level "+n+" from level "+this.level),this.level=e.nextLoadLevel=n;var s=r.details;if(!s||this.state===$o.WAITING_LEVEL||s.live&&this.levelLastLoaded!==r)return this.level=n,void(this.state=$o.WAITING_LEVEL);var S=E.len,l=this.getMaxBufferLength(r.maxBitrate);if(!(S>=l)){this.backtrackFragment&&this.backtrackFragment.start>E.end&&(this.backtrackFragment=null);var I=this.backtrackFragment?this.backtrackFragment.start:E.end,A=this.getNextFragment(I,s);if(this.couldBacktrack&&!this.fragPrevious&&A&&"initSegment"!==A.sn&&this.fragmentTracker.getState(A)!==Lo.OK){var u,d=(null!=(u=this.backtrackFragment)?u:A).sn-s.startSN,c=s.fragments[d-1];c&&A.cc===c.cc&&(A=c,this.fragmentTracker.removeFragment(c))}else this.backtrackFragment&&E.len&&(this.backtrackFragment=null);if(A&&this.isLoopLoading(A,I)){if(!A.gap){var O=this.audioOnly&&!this.altAudio?z.AUDIO:z.VIDEO,R=(O===z.VIDEO?this.videoBuffer:this.mediaBuffer)||this.media;R&&this.afterBufferFlushed(R,O,$t.MAIN)}A=this.getNextFragmentLoopLoading(A,s,E,$t.MAIN,l)}A&&(!A.initSegment||A.initSegment.data||this.bitrateTest||(A=A.initSegment),this.loadFragment(A,r,I))}}}},a.loadFragment=function(t,a,o){var i=this.fragmentTracker.getState(t);this.fragCurrent=t,i===Lo.NOT_LOADED||i===Lo.PARTIAL?"initSegment"===t.sn?this._loadInitSegment(t,a):this.bitrateTest?(this.log("Fragment "+t.sn+" of level "+t.level+" is being downloaded to test bitrate and will not be buffered"),this._loadBitrateTestFrag(t,a)):(this.startFragRequested=!0,e.prototype.loadFragment.call(this,t,a,o)):this.clearTrackerIfNeeded(t)},a.getBufferedFrag=function(e){return this.fragmentTracker.getBufferedFrag(e,$t.MAIN)},a.followingBufferedFrag=function(e){return e?this.getBufferedFrag(e.end+.5):null},a.immediateLevelSwitch=function(){this.abortCurrentFrag(),this.flushMainBuffer(0,Number.POSITIVE_INFINITY)},a.nextLevelSwitch=function(){var e=this.levels,t=this.media;if(null!=t&&t.readyState){var a,o=this.getAppendedFrag(t.currentTime);o&&o.start>1&&this.flushMainBuffer(0,o.start-1);var i=this.getLevelDetails();if(null!=i&&i.live){var n=this.getMainFwdBufferInfo();if(!n||n.len<2*i.targetduration)return}if(!t.paused&&e){var r=e[this.hls.nextLoadLevel],E=this.fragLastKbps;a=E&&this.fragCurrent?this.fragCurrent.duration*r.maxBitrate/(1e3*E)+1:0}else a=0;var _=this.getBufferedFrag(t.currentTime+a);if(_){var T=this.followingBufferedFrag(_);if(T){this.abortCurrentFrag();var s=T.maxStartPTS?T.maxStartPTS:T.start,S=T.duration,l=Math.max(_.end,s+Math.min(Math.max(S-this.config.maxFragLookUpTolerance,S*(this.couldBacktrack?.5:.125)),S*(this.couldBacktrack?.75:.25)));this.flushMainBuffer(l,Number.POSITIVE_INFINITY)}}}},a.abortCurrentFrag=function(){var e=this.fragCurrent;switch(this.fragCurrent=null,this.backtrackFragment=null,e&&(e.abortRequests(),this.fragmentTracker.removeFragment(e)),this.state){case $o.KEY_LOADING:case $o.FRAG_LOADING:case $o.FRAG_LOADING_WAITING_RETRY:case $o.PARSING:case $o.PARSED:this.state=$o.IDLE}this.nextLoadPosition=this.getLoadPosition()},a.flushMainBuffer=function(t,a){e.prototype.flushMainBuffer.call(this,t,a,this.altAudio?"video":null)},a.onMediaAttached=function(t,a){e.prototype.onMediaAttached.call(this,t,a);var o=a.media;this.onvplaying=this.onMediaPlaying.bind(this),this.onvseeked=this.onMediaSeeked.bind(this),o.addEventListener("playing",this.onvplaying),o.addEventListener("seeked",this.onvseeked),this.gapController=new U_(this.config,o,this.fragmentTracker,this.hls)},a.onMediaDetaching=function(){var t=this.media;t&&this.onvplaying&&this.onvseeked&&(t.removeEventListener("playing",this.onvplaying),t.removeEventListener("seeked",this.onvseeked),this.onvplaying=this.onvseeked=null,this.videoBuffer=null),this.fragPlaying=null,this.gapController&&(this.gapController.destroy(),this.gapController=null),e.prototype.onMediaDetaching.call(this)},a.onMediaPlaying=function(){this.tick()},a.onMediaSeeked=function(){var e=this.media,t=e?e.currentTime:null;p(t)&&this.log("Media seeked to "+t.toFixed(3));var a=this.getMainFwdBufferInfo();null!==a&&0!==a.len?this.tick():this.warn('Main forward buffer length on "seeked" event '+(a?a.len:"empty")+")")},a.onManifestLoading=function(){this.log("Trigger BUFFER_RESET"),this.hls.trigger(f.BUFFER_RESET,void 0),this.fragmentTracker.removeAllFragments(),this.couldBacktrack=!1,this.startPosition=this.lastCurrentTime=this.fragLastKbps=0,this.levels=this.fragPlaying=this.backtrackFragment=this.levelLastLoaded=null,this.altAudio=this.audioOnly=this.startFragRequested=!1},a.onManifestParsed=function(e,t){var a=!1,o=!1;t.levels.forEach((function(e){var t=e.audioCodec;t&&(a=a||-1!==t.indexOf("mp4a.40.2"),o=o||-1!==t.indexOf("mp4a.40.5"))})),this.audioCodecSwitch=a&&o&&!v_(),this.audioCodecSwitch&&this.log("Both AAC/HE-AAC audio found in levels; declaring level codec as HE-AAC"),this.levels=t.levels,this.startFragRequested=!1},a.onLevelLoading=function(e,t){var a=this.levels;if(a&&this.state===$o.IDLE){var o=a[t.level];(!o.details||o.details.live&&this.levelLastLoaded!==o||this.waitForCdnTuneIn(o.details))&&(this.state=$o.WAITING_LEVEL)}},a.onLevelLoaded=function(e,t){var a,o=this.levels,i=t.level,n=t.details,r=n.totalduration;if(o){this.log("Level "+i+" loaded ["+n.startSN+","+n.endSN+"]"+(n.lastPartSn?"[part-"+n.lastPartSn+"-"+n.lastPartIndex+"]":"")+", cc ["+n.startCC+", "+n.endCC+"] duration:"+r);var E=o[i],_=this.fragCurrent;!_||this.state!==$o.FRAG_LOADING&&this.state!==$o.FRAG_LOADING_WAITING_RETRY||_.level!==t.level&&_.loader&&this.abortCurrentFrag();var T=0;if(n.live||null!=(a=E.details)&&a.live){var s;if(this.checkLiveUpdate(n),n.deltaUpdateFailed)return;T=this.alignPlaylists(n,E.details,null==(s=this.levelLastLoaded)?void 0:s.details)}if(E.details=n,this.levelLastLoaded=E,this.hls.trigger(f.LEVEL_UPDATED,{details:n,level:i}),this.state===$o.WAITING_LEVEL){if(this.waitForCdnTuneIn(n))return;this.state=$o.IDLE}this.startFragRequested?n.live&&this.synchronizeToLiveEdge(n):this.setStartPosition(n,T),this.tick()}else this.warn("Levels were reset while loading level "+i)},a._handleFragmentLoadProgress=function(e){var t,a=e.frag,o=e.part,i=e.payload,n=this.levels;if(n){var r=n[a.level],E=r.details;if(!E)return this.warn("Dropping fragment "+a.sn+" of level "+a.level+" after level details were reset"),void this.fragmentTracker.removeFragment(a);var _=r.videoCodec,T=E.PTSKnown||!E.live,s=null==(t=a.initSegment)?void 0:t.data,S=this._getAudioCodec(r),l=this.transmuxer=this.transmuxer||new yn(this.hls,$t.MAIN,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this)),I=o?o.index:-1,A=-1!==I,u=new Bo(a.level,a.sn,a.stats.chunkCount,i.byteLength,I,A),d=this.initPTS[a.cc];l.push(i,s,S,_,a,o,E.totalduration,T,u,d)}else this.warn("Levels were reset while fragment load was in progress. Fragment "+a.sn+" of level "+a.level+" will not be buffered")},a.onAudioTrackSwitching=function(e,t){var a=this.altAudio;if(!t.url){if(this.mediaBuffer!==this.media){this.log("Switching on main audio, use media.buffered to schedule main fragment loading"),this.mediaBuffer=this.media;var o=this.fragCurrent;o&&(this.log("Switching to main audio track, cancel main fragment load"),o.abortRequests(),this.fragmentTracker.removeFragment(o)),this.resetTransmuxer(),this.resetLoadingState()}else this.audioOnly&&this.resetTransmuxer();var i=this.hls;a&&(i.trigger(f.BUFFER_FLUSHING,{startOffset:0,endOffset:Number.POSITIVE_INFINITY,type:null}),this.fragmentTracker.removeAllFragments()),i.trigger(f.AUDIO_TRACK_SWITCHED,t)}},a.onAudioTrackSwitched=function(e,t){var a=t.id,o=!!this.hls.audioTracks[a].url;if(o){var i=this.videoBuffer;i&&this.mediaBuffer!==i&&(this.log("Switching on alternate audio, use video.buffered to schedule main fragment loading"),this.mediaBuffer=i)}this.altAudio=o,this.tick()},a.onBufferCreated=function(e,t){var a,o,i=t.tracks,n=!1;for(var r in i){var E=i[r];if("main"===E.id){if(o=r,a=E,"video"===r){var _=i[r];_&&(this.videoBuffer=_.buffer)}}else n=!0}n&&a?(this.log("Alternate track found, use "+o+".buffered to schedule main fragment loading"),this.mediaBuffer=a.buffer):this.mediaBuffer=this.media},a.onFragBuffered=function(e,t){var a=t.frag,o=t.part;if(!a||a.type===$t.MAIN){if(this.fragContextChanged(a))return this.warn("Fragment "+a.sn+(o?" p: "+o.index:"")+" of level "+a.level+" finished buffering, but was aborted. state: "+this.state),void(this.state===$o.PARSED&&(this.state=$o.IDLE));var i=o?o.stats:a.stats;this.fragLastKbps=Math.round(8*i.total/(i.buffering.end-i.loading.first)),"initSegment"!==a.sn&&(this.fragPrevious=a),this.fragBufferedComplete(a,o)}},a.onError=function(e,t){var a;if(t.fatal)this.state=$o.ERROR;else switch(t.details){case P.FRAG_GAP:case P.FRAG_PARSING_ERROR:case P.FRAG_DECRYPT_ERROR:case P.FRAG_LOAD_ERROR:case P.FRAG_LOAD_TIMEOUT:case P.KEY_LOAD_ERROR:case P.KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError($t.MAIN,t);break;case P.LEVEL_LOAD_ERROR:case P.LEVEL_LOAD_TIMEOUT:case P.LEVEL_PARSING_ERROR:t.levelRetry||this.state!==$o.WAITING_LEVEL||(null==(a=t.context)?void 0:a.type)!==Xt.LEVEL||(this.state=$o.IDLE);break;case P.BUFFER_APPEND_ERROR:case P.BUFFER_FULL_ERROR:if(!t.parent||"main"!==t.parent)return;if(t.details===P.BUFFER_APPEND_ERROR)return void this.resetLoadingState();this.reduceLengthAndFlushBuffer(t)&&this.flushMainBuffer(0,Number.POSITIVE_INFINITY);break;case P.INTERNAL_EXCEPTION:this.recoverWorkerError(t)}},a.checkBuffer=function(){var e=this.media,t=this.gapController;if(e&&t&&e.readyState){if(this.loadedmetadata||!fo.getBuffered(e).length){var a=this.state!==$o.IDLE?this.fragCurrent:null;t.poll(this.lastCurrentTime,a)}this.lastCurrentTime=e.currentTime}},a.onFragLoadEmergencyAborted=function(){this.state=$o.IDLE,this.loadedmetadata||(this.startFragRequested=!1,this.nextLoadPosition=this.startPosition),this.tickImmediate()},a.onBufferFlushed=function(e,t){var a=t.type;if(a!==z.AUDIO||this.audioOnly&&!this.altAudio){var o=(a===z.VIDEO?this.videoBuffer:this.mediaBuffer)||this.media;this.afterBufferFlushed(o,a,$t.MAIN),this.tick()}},a.onLevelsUpdated=function(e,t){this.level>-1&&this.fragCurrent&&(this.level=this.fragCurrent.level),this.levels=t.levels},a.swapAudioCodec=function(){this.audioCodecSwap=!this.audioCodecSwap},a.seekToStartPos=function(){var e=this.media;if(e){var t=e.currentTime,a=this.startPosition;if(a>=0&&t<a){if(e.seeking)return void this.log("could not seek to "+a+", already seeking at "+t);var o=fo.getBuffered(e),i=(o.length?o.start(0):0)-a;i>0&&(i<this.config.maxBufferHole||i<this.config.maxFragLookUpTolerance)&&(this.log("adjusting start position by "+i+" to match buffer start"),a+=i,this.startPosition=a),this.log("seek to target start position "+a+" from current time "+t),e.currentTime=a}}},a._getAudioCodec=function(e){var t=this.config.defaultAudioCodec||e.audioCodec;return this.audioCodecSwap&&t&&(this.log("Swapping audio codec"),t=-1!==t.indexOf("mp4a.40.5")?"mp4a.40.2":"mp4a.40.5"),t},a._loadBitrateTestFrag=function(e,t){var a=this;e.bitrateTest=!0,this._doFragLoad(e,t).then((function(o){var i=a.hls;if(o&&!a.fragContextChanged(e)){t.fragmentError=0,a.state=$o.IDLE,a.startFragRequested=!1,a.bitrateTest=!1;var n=e.stats;n.parsing.start=n.parsing.end=n.buffering.start=n.buffering.end=self.performance.now(),i.trigger(f.FRAG_LOADED,o),e.bitrateTest=!1}}))},a._handleTransmuxComplete=function(e){var t,a="main",o=this.hls,i=e.remuxResult,n=e.chunkMeta,r=this.getCurrentContext(n);if(r){var E=r.frag,_=r.part,T=r.level,s=i.video,S=i.text,l=i.id3,I=i.initSegment,A=T.details,u=this.altAudio?void 0:i.audio;if(this.fragContextChanged(E))this.fragmentTracker.removeFragment(E);else{if(this.state=$o.PARSING,I){if(null!=I&&I.tracks){var d=E.initSegment||E;this._bufferInitSegment(T,I.tracks,d,n),o.trigger(f.FRAG_PARSING_INIT_SEGMENT,{frag:d,id:a,tracks:I.tracks})}var c=I.initPTS,O=I.timescale;p(c)&&(this.initPTS[E.cc]={baseTime:c,timescale:O},o.trigger(f.INIT_PTS_FOUND,{frag:E,id:a,initPTS:c,timescale:O}))}if(s&&A&&"initSegment"!==E.sn){var R=A.fragments[E.sn-1-A.startSN],N=E.sn===A.startSN,m=!R||E.cc>R.cc;if(!1!==i.independent){var L=s.startPTS,D=s.endPTS,h=s.startDTS,C=s.endDTS;if(_)_.elementaryStreams[s.type]={startPTS:L,endPTS:D,startDTS:h,endDTS:C};else if(s.firstKeyFrame&&s.independent&&1===n.id&&!m&&(this.couldBacktrack=!0),s.dropped&&s.independent){var B=this.getMainFwdBufferInfo(),P=(B?B.end:this.getLoadPosition())+this.config.maxBufferHole,g=s.firstKeyFramePTS?s.firstKeyFramePTS:L;if(!N&&P<g-this.config.maxBufferHole&&!m)return void this.backtrack(E);m&&(E.gap=!0),E.setElementaryStreamInfo(s.type,E.start,D,E.start,C,!0)}else N&&L>W_&&(E.gap=!0);E.setElementaryStreamInfo(s.type,L,D,h,C),this.backtrackFragment&&(this.backtrackFragment=E),this.bufferFragmentData(s,E,_,n,N||m)}else{if(!N&&!m)return void this.backtrack(E);E.gap=!0}}if(u){var v=u.startPTS,y=u.endPTS,W=u.startDTS,M=u.endDTS;_&&(_.elementaryStreams[z.AUDIO]={startPTS:v,endPTS:y,startDTS:W,endDTS:M}),E.setElementaryStreamInfo(z.AUDIO,v,y,W,M),this.bufferFragmentData(u,E,_,n)}if(A&&null!=l&&null!=(t=l.samples)&&t.length){var b={id:a,frag:E,details:A,samples:l.samples};o.trigger(f.FRAG_PARSING_METADATA,b)}if(A&&S){var U={id:a,frag:E,details:A,samples:S.samples};o.trigger(f.FRAG_PARSING_USERDATA,U)}}}else this.resetWhenMissingContext(n)},a._bufferInitSegment=function(e,t,a,o){var i=this;if(this.state===$o.PARSING){this.audioOnly=!!t.audio&&!t.video,this.altAudio&&!this.audioOnly&&delete t.audio;var n=t.audio,r=t.video,E=t.audiovideo;if(n){var _=e.audioCodec,T=navigator.userAgent.toLowerCase();this.audioCodecSwitch&&(_&&(_=-1!==_.indexOf("mp4a.40.5")?"mp4a.40.2":"mp4a.40.5"),1!==n.metadata.channelCount&&-1===T.indexOf("firefox")&&(_="mp4a.40.5")),_&&-1!==_.indexOf("mp4a.40.5")&&-1!==T.indexOf("android")&&"audio/mpeg"!==n.container&&(_="mp4a.40.2",this.log("Android: force audio codec to "+_)),e.audioCodec&&e.audioCodec!==_&&this.log('Swapping manifest audio codec "'+e.audioCodec+'" for "'+_+'"'),n.levelCodec=_,n.id="main",this.log("Init audio buffer, container:"+n.container+", codecs[selected/level/parsed]=["+(_||"")+"/"+(e.audioCodec||"")+"/"+n.codec+"]")}r&&(r.levelCodec=e.videoCodec,r.id="main",this.log("Init video buffer, container:"+r.container+", codecs[level/parsed]=["+(e.videoCodec||"")+"/"+r.codec+"]")),E&&this.log("Init audiovideo buffer, container:"+E.container+", codecs[level/parsed]=["+e.codecs+"/"+E.codec+"]"),this.hls.trigger(f.BUFFER_CODECS,t),Object.keys(t).forEach((function(e){var n=t[e].initSegment;null!=n&&n.byteLength&&i.hls.trigger(f.BUFFER_APPENDING,{type:e,data:n,frag:a,part:null,chunkMeta:o,parent:a.type})})),this.tickImmediate()}},a.getMainFwdBufferInfo=function(){return this.getFwdBufferInfo(this.mediaBuffer?this.mediaBuffer:this.media,$t.MAIN)},a.backtrack=function(e){this.couldBacktrack=!0,this.backtrackFragment=e,this.resetTransmuxer(),this.flushBufferGap(e),this.fragmentTracker.removeFragment(e),this.fragPrevious=null,this.nextLoadPosition=e.start,this.state=$o.IDLE},a.checkFragmentChanged=function(){var e=this.media,t=null;if(e&&e.readyState>1&&!1===e.seeking){var a=e.currentTime;if(fo.isBuffered(e,a)?t=this.getAppendedFrag(a):fo.isBuffered(e,a+.1)&&(t=this.getAppendedFrag(a+.1)),t){this.backtrackFragment=null;var o=this.fragPlaying,i=t.level;o&&t.sn===o.sn&&o.level===i||(this.fragPlaying=t,this.hls.trigger(f.FRAG_CHANGED,{frag:t}),o&&o.level===i||this.hls.trigger(f.LEVEL_SWITCHED,{level:i}))}}},E(t,[{key:"nextLevel",get:function(){var e=this.nextBufferedFrag;return e?e.level:-1}},{key:"currentFrag",get:function(){var e=this.media;return e?this.fragPlaying||this.getAppendedFrag(e.currentTime):null}},{key:"currentProgramDateTime",get:function(){var e=this.media;if(e){var t=e.currentTime,a=this.currentFrag;if(a&&p(t)&&p(a.programDateTime)){var o=a.programDateTime+1e3*(t-a.start);return new Date(o)}}return null}},{key:"currentLevel",get:function(){var e=this.currentFrag;return e?e.level:-1}},{key:"nextBufferedFrag",get:function(){var e=this.currentFrag;return e?this.followingBufferedFrag(e):null}},{key:"forceStartLoad",get:function(){return this._forceStartLoad}}]),t})(qo),F_=(function(){function e(t){void 0===t&&(t={}),this.config=void 0,this.userConfig=void 0,this.coreComponents=void 0,this.networkControllers=void 0,this.started=!1,this._emitter=new Dn,this._autoLevelCapping=-1,this._maxHdcpLevel=null,this.abrController=void 0,this.bufferController=void 0,this.capLevelController=void 0,this.latencyController=void 0,this.levelController=void 0,this.streamController=void 0,this.audioTrackController=void 0,this.subtitleTrackController=void 0,this.emeController=void 0,this.cmcdController=void 0,this._media=null,this.url=null,this.triggeringException=void 0,b(t.debug||!1,"Hls instance");var a=this.config=L_(e.DefaultConfig,t);this.userConfig=t,a.progressive&&p_(a);var o=a.abrController,i=a.bufferController,n=a.capLevelController,r=a.errorController,E=a.fpsController,_=new r(this),T=this.abrController=new o(this),s=this.bufferController=new i(this),S=this.capLevelController=new n(this),l=new E(this),I=new Zt(this),A=new Aa(this),u=a.contentSteeringController,d=u?new u(this):null,c=this.levelController=new h_(this,d),O=new Do(this),R=new f_(this.config),N=this.streamController=new k_(this,O,R);S.setStreamController(N),l.setStreamController(N);var m=[I,c,N];d&&m.splice(1,0,d),this.networkControllers=m;var L=[T,s,S,l,A,O];this.audioTrackController=this.createController(a.audioTrackController,m);var D=a.audioStreamController;D&&m.push(new D(this,O,R)),this.subtitleTrackController=this.createController(a.subtitleTrackController,m);var p=a.subtitleStreamController;p&&m.push(new p(this,O,R)),this.createController(a.timelineController,L),R.emeController=this.emeController=this.createController(a.emeController,L),this.cmcdController=this.createController(a.cmcdController,L),this.latencyController=this.createController(ua,L),this.coreComponents=L,m.push(_);var h=_.onErrorOut;"function"==typeof h&&this.on(f.ERROR,h,_)}e.isMSESupported=function(){return P_()},e.isSupported=function(){return g_()},e.getMediaSource=function(){return mt()};var t=e.prototype;return t.createController=function(e,t){if(e){var a=new e(this);return t&&t.push(a),a}return null},t.on=function(e,t,a){void 0===a&&(a=this),this._emitter.on(e,t,a)},t.once=function(e,t,a){void 0===a&&(a=this),this._emitter.once(e,t,a)},t.removeAllListeners=function(e){this._emitter.removeAllListeners(e)},t.off=function(e,t,a,o){void 0===a&&(a=this),this._emitter.off(e,t,a,o)},t.listeners=function(e){return this._emitter.listeners(e)},t.emit=function(e,t,a){return this._emitter.emit(e,t,a)},t.trigger=function(e,t){if(this.config.debug)return this.emit(e,e,t);try{return this.emit(e,e,t)}catch(t){if(U.error("An internal error happened while handling event "+e+'. Error message: "'+t.message+'". Here is a stacktrace:',t),!this.triggeringException){this.triggeringException=!0;var a=e===f.ERROR;this.trigger(f.ERROR,{type:B.OTHER_ERROR,details:P.INTERNAL_EXCEPTION,fatal:a,event:e,error:t}),this.triggeringException=!1}}return!1},t.listenerCount=function(e){return this._emitter.listenerCount(e)},t.destroy=function(){U.log("destroy"),this.trigger(f.DESTROYING,void 0),this.detachMedia(),this.removeAllListeners(),this._autoLevelCapping=-1,this.url=null,this.networkControllers.forEach((function(e){return e.destroy()})),this.networkControllers.length=0,this.coreComponents.forEach((function(e){return e.destroy()})),this.coreComponents.length=0;var e=this.config;e.xhrSetup=e.fetchSetup=void 0,this.userConfig=null},t.attachMedia=function(e){U.log("attachMedia"),this._media=e,this.trigger(f.MEDIA_ATTACHING,{media:e})},t.detachMedia=function(){U.log("detachMedia"),this.trigger(f.MEDIA_DETACHING,void 0),this._media=null},t.loadSource=function(e){this.stopLoad();var t=this.media,a=this.url,o=this.url=D.buildAbsoluteURL(self.location.href,e,{alwaysNormalize:!0});this._autoLevelCapping=-1,this._maxHdcpLevel=null,U.log("loadSource:"+o),t&&a&&(a!==o||this.bufferController.hasSourceTypes())&&(this.detachMedia(),this.attachMedia(t)),this.trigger(f.MANIFEST_LOADING,{url:e})},t.startLoad=function(e){void 0===e&&(e=-1),U.log("startLoad("+e+")"),this.started=!0,this.networkControllers.forEach((function(t){t.startLoad(e)}))},t.stopLoad=function(){U.log("stopLoad"),this.started=!1,this.networkControllers.forEach((function(e){e.stopLoad()}))},t.resumeBuffering=function(){this.started&&this.networkControllers.forEach((function(e){"fragmentLoader"in e&&e.startLoad(-1)}))},t.pauseBuffering=function(){this.networkControllers.forEach((function(e){"fragmentLoader"in e&&e.stopLoad()}))},t.swapAudioCodec=function(){U.log("swapAudioCodec"),this.streamController.swapAudioCodec()},t.recoverMediaError=function(){U.log("recoverMediaError");var e=this._media;this.detachMedia(),e&&this.attachMedia(e)},t.removeLevel=function(e){this.levelController.removeLevel(e)},t.setAudioOption=function(e){var t;return null==(t=this.audioTrackController)?void 0:t.setAudioOption(e)},t.setSubtitleOption=function(e){var t;return null==(t=this.subtitleTrackController)||t.setSubtitleOption(e),null},E(e,[{key:"levels",get:function(){var e=this.levelController.levels;return e||[]}},{key:"currentLevel",get:function(){return this.streamController.currentLevel},set:function(e){U.log("set currentLevel:"+e),this.levelController.manualLevel=e,this.streamController.immediateLevelSwitch()}},{key:"nextLevel",get:function(){return this.streamController.nextLevel},set:function(e){U.log("set nextLevel:"+e),this.levelController.manualLevel=e,this.streamController.nextLevelSwitch()}},{key:"loadLevel",get:function(){return this.levelController.level},set:function(e){U.log("set loadLevel:"+e),this.levelController.manualLevel=e}},{key:"nextLoadLevel",get:function(){return this.levelController.nextLoadLevel},set:function(e){this.levelController.nextLoadLevel=e}},{key:"firstLevel",get:function(){return Math.max(this.levelController.firstLevel,this.minAutoLevel)},set:function(e){U.log("set firstLevel:"+e),this.levelController.firstLevel=e}},{key:"startLevel",get:function(){var e=this.levelController.startLevel;return-1===e&&this.abrController.forcedAutoLevel>-1?this.abrController.forcedAutoLevel:e},set:function(e){U.log("set startLevel:"+e),-1!==e&&(e=Math.max(e,this.minAutoLevel)),this.levelController.startLevel=e}},{key:"capLevelToPlayerSize",get:function(){return this.config.capLevelToPlayerSize},set:function(e){var t=!!e;t!==this.config.capLevelToPlayerSize&&(t?this.capLevelController.startCapping():(this.capLevelController.stopCapping(),this.autoLevelCapping=-1,this.streamController.nextLevelSwitch()),this.config.capLevelToPlayerSize=t)}},{key:"autoLevelCapping",get:function(){return this._autoLevelCapping},set:function(e){this._autoLevelCapping!==e&&(U.log("set autoLevelCapping:"+e),this._autoLevelCapping=e,this.levelController.checkMaxAutoUpdated())}},{key:"bandwidthEstimate",get:function(){var e=this.abrController.bwEstimator;return e?e.getEstimate():NaN},set:function(e){this.abrController.resetEstimator(e)}},{key:"ttfbEstimate",get:function(){var e=this.abrController.bwEstimator;return e?e.getEstimateTTFB():NaN}},{key:"maxHdcpLevel",get:function(){return this._maxHdcpLevel},set:function(e){ca(e)&&this._maxHdcpLevel!==e&&(this._maxHdcpLevel=e,this.levelController.checkMaxAutoUpdated())}},{key:"autoLevelEnabled",get:function(){return-1===this.levelController.manualLevel}},{key:"manualLevel",get:function(){return this.levelController.manualLevel}},{key:"minAutoLevel",get:function(){var e=this.levels,t=this.config.minAutoBitrate;if(!e)return 0;for(var a=e.length,o=0;o<a;o++)if(e[o].maxBitrate>=t)return o;return 0}},{key:"maxAutoLevel",get:function(){var e,t=this.levels,a=this.autoLevelCapping,o=this.maxHdcpLevel;if(e=-1===a&&null!=t&&t.length?t.length-1:a,o)for(var i=e;i--;){var n=t[i].attrs["HDCP-LEVEL"];if(n&&n<=o)return i}return e}},{key:"firstAutoLevel",get:function(){return this.abrController.firstAutoLevel}},{key:"nextAutoLevel",get:function(){return this.abrController.nextAutoLevel},set:function(e){this.abrController.nextAutoLevel=e}},{key:"playingDate",get:function(){return this.streamController.currentProgramDateTime}},{key:"mainForwardBufferInfo",get:function(){return this.streamController.getMainFwdBufferInfo()}},{key:"allAudioTracks",get:function(){var e=this.audioTrackController;return e?e.allAudioTracks:[]}},{key:"audioTracks",get:function(){var e=this.audioTrackController;return e?e.audioTracks:[]}},{key:"audioTrack",get:function(){var e=this.audioTrackController;return e?e.audioTrack:-1},set:function(e){var t=this.audioTrackController;t&&(t.audioTrack=e)}},{key:"allSubtitleTracks",get:function(){var e=this.subtitleTrackController;return e?e.allSubtitleTracks:[]}},{key:"subtitleTracks",get:function(){var e=this.subtitleTrackController;return e?e.subtitleTracks:[]}},{key:"subtitleTrack",get:function(){var e=this.subtitleTrackController;return e?e.subtitleTrack:-1},set:function(e){var t=this.subtitleTrackController;t&&(t.subtitleTrack=e)}},{key:"media",get:function(){return this._media}},{key:"subtitleDisplay",get:function(){var e=this.subtitleTrackController;return!!e&&e.subtitleDisplay},set:function(e){var t=this.subtitleTrackController;t&&(t.subtitleDisplay=e)}},{key:"lowLatencyMode",get:function(){return this.config.lowLatencyMode},set:function(e){this.config.lowLatencyMode=e}},{key:"liveSyncPosition",get:function(){return this.latencyController.liveSyncPosition}},{key:"latency",get:function(){return this.latencyController.latency}},{key:"maxLatency",get:function(){return this.latencyController.maxLatency}},{key:"targetLatency",get:function(){return this.latencyController.targetLatency}},{key:"drift",get:function(){return this.latencyController.drift}},{key:"forceStartLoad",get:function(){return this.streamController.forceStartLoad}}],[{key:"version",get:function(){return"1.5.5-0.canary.9893"}},{key:"Events",get:function(){return f}},{key:"ErrorTypes",get:function(){return B}},{key:"ErrorDetails",get:function(){return P}},{key:"DefaultConfig",get:function(){return e.defaultConfig?e.defaultConfig:N_},set:function(t){e.defaultConfig=t}}]),e})();return F_.defaultConfig=void 0,F_})()})(!1)},52047:e=>{"use strict";e.exports={abbr:"abbr",accept:"accept",acceptCharset:"accept-charset",accessKey:"accesskey",action:"action",allowFullScreen:"allowfullscreen",allowTransparency:"allowtransparency",alt:"alt",async:"async",autoComplete:"autocomplete",autoFocus:"autofocus",autoPlay:"autoplay",cellPadding:"cellpadding",cellSpacing:"cellspacing",challenge:"challenge",charset:"charset",checked:"checked",cite:"cite",class:"class",className:"class",cols:"cols",colSpan:"colspan",command:"command",content:"content",contentEditable:"contenteditable",contextMenu:"contextmenu",controls:"controls",coords:"coords",crossOrigin:"crossorigin",data:"data",dateTime:"datetime",default:"default",defer:"defer",dir:"dir",disabled:"disabled",download:"download",draggable:"draggable",dropzone:"dropzone",encType:"enctype",for:"for",form:"form",formAction:"formaction",formEncType:"formenctype",formMethod:"formmethod",formNoValidate:"formnovalidate",formTarget:"formtarget",frameBorder:"frameBorder",headers:"headers",height:"height",hidden:"hidden",high:"high",href:"href",hrefLang:"hreflang",htmlFor:"for",httpEquiv:"http-equiv",icon:"icon",id:"id",inputMode:"inputmode",isMap:"ismap",itemId:"itemid",itemProp:"itemprop",itemRef:"itemref",itemScope:"itemscope",itemType:"itemtype",kind:"kind",label:"label",lang:"lang",list:"list",loop:"loop",manifest:"manifest",max:"max",maxLength:"maxlength",media:"media",mediaGroup:"mediagroup",method:"method",min:"min",minLength:"minlength",multiple:"multiple",muted:"muted",name:"name",noValidate:"novalidate",open:"open",optimum:"optimum",pattern:"pattern",ping:"ping",placeholder:"placeholder",poster:"poster",preload:"preload",radioGroup:"radiogroup",readOnly:"readonly",rel:"rel",required:"required",role:"role",rows:"rows",rowSpan:"rowspan",sandbox:"sandbox",scope:"scope",scoped:"scoped",scrolling:"scrolling",seamless:"seamless",selected:"selected",shape:"shape",size:"size",sizes:"sizes",sortable:"sortable",span:"span",spellCheck:"spellcheck",src:"src",srcDoc:"srcdoc",srcSet:"srcset",start:"start",step:"step",style:"style",tabIndex:"tabindex",target:"target",title:"title",translate:"translate",type:"type",typeMustMatch:"typemustmatch",useMap:"usemap",value:"value",width:"width",wmode:"wmode",wrap:"wrap"}},81613:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>l});var o=a(71739),i=a.n(o),n=/\s([^'"/\s><]+?)[\s/>]|([^\s=]+)=\s?(".*?"|'.*?')/g;function r(e){var t={type:"tag",name:"",voidElement:!1,attrs:{},children:[]},a=e.match(/<\/?([^\s]+?)[/\s>]/);if(a&&(t.name=a[1],(i()[a[1]]||"/"===e.charAt(e.length-2))&&(t.voidElement=!0),t.name.startsWith("!--"))){var o=e.indexOf("--\x3e");return{type:"comment",comment:-1!==o?e.slice(4,o):""}}for(var r=new RegExp(n),E=null;null!==(E=r.exec(e));)if(E[0].trim())if(E[1]){var _=E[1].trim(),T=[_,""];_.indexOf("=")>-1&&(T=_.split("=")),t.attrs[T[0]]=T[1],r.lastIndex--}else E[2]&&(t.attrs[E[2]]=E[3].trim().substring(1,E[3].length-1));return t}var E=/<[a-zA-Z0-9\-\!\/](?:"[^"]*"|'[^']*'|[^'">])*>/g,_=/^\s*$/,T=Object.create(null);function s(e,t){switch(t.type){case"text":return e+t.content;case"tag":return e+="<"+t.name+(t.attrs?(function(e){var t=[];for(var a in e)t.push(a+'="'+e[a]+'"');return t.length?" "+t.join(" "):""})(t.attrs):"")+(t.voidElement?"/>":">"),t.voidElement?e:e+t.children.reduce(s,"")+"</"+t.name+">";case"comment":return e+"\x3c!--"+t.comment+"--\x3e"}}var S={parse:function(e,t){t||(t={}),t.components||(t.components=T);var a,o=[],i=[],n=-1,s=!1;if(0!==e.indexOf("<")){var S=e.indexOf("<");o.push({type:"text",content:-1===S?e:e.substring(0,S)})}return e.replace(E,(function(E,T){if(s){if(E!=="</"+a.name+">")return;s=!1}var S,l="/"!==E.charAt(1),I=E.startsWith("\x3c!--"),A=T+E.length,u=e.charAt(A);if(I){var d=r(E);return n<0?(o.push(d),o):((S=i[n]).children.push(d),o)}if(l&&(n++,"tag"===(a=r(E)).type&&t.components[a.name]&&(a.type="component",s=!0),a.voidElement||s||!u||"<"===u||a.children.push({type:"text",content:e.slice(A,e.indexOf("<",A))}),0===n&&o.push(a),(S=i[n-1])&&S.children.push(a),i[n]=a),(!l||a.voidElement)&&(n>-1&&(a.voidElement||a.name===E.slice(2,-1))&&(n--,a=-1===n?o:i[n]),!s&&"<"!==u&&u)){S=-1===n?o:i[n].children;var c=e.indexOf("<",A),O=e.slice(A,-1===c?void 0:c);_.test(O)&&(O=" "),(c>-1&&n+S.length>=0||" "!==O)&&S.push({type:"text",content:O})}})),o},stringify:function(e){return e.reduce((function(e,t){return e+s("",t)}),"")}};const l=S},96073:(e,t,a)=>{"use strict";var o=a(17021),i=a(50949),n=a(94813),r=a(25627),E=a(96433),_=a(28542),T=a(42411),s=a(92401),S=a(29394);function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var I=l(o),A=l(i),u=l(n),d=l(r),c=l(E),O=l(_),R=l(T),N=l(s),m=l(S);function L(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function D(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?L(Object(a),!0).forEach((function(t){N.default(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):L(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}var p={type:"logger",log:function(e){this.output("log",e)},warn:function(e){this.output("warn",e)},error:function(e){this.output("error",e)},output:function(e,t){console&&console[e]&&console[e].apply(console,t)}},h=new((function(){function e(t){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};A.default(this,e),this.init(t,a)}return u.default(e,[{key:"init",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.prefix=t.prefix||"i18next:",this.logger=e||p,this.options=t,this.debug=t.debug}},{key:"setDebug",value:function(e){this.debug=e}},{key:"log",value:function(){for(var e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];return this.forward(t,"log","",!0)}},{key:"warn",value:function(){for(var e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];return this.forward(t,"warn","",!0)}},{key:"error",value:function(){for(var e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];return this.forward(t,"error","")}},{key:"deprecate",value:function(){for(var e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];return this.forward(t,"warn","WARNING DEPRECATED: ",!0)}},{key:"forward",value:function(e,t,a,o){return o&&!this.debug?null:("string"==typeof e[0]&&(e[0]="".concat(a).concat(this.prefix," ").concat(e[0])),this.logger[t](e))}},{key:"create",value:function(t){return new e(this.logger,D(D({},{prefix:"".concat(this.prefix,":").concat(t,":")}),this.options))}},{key:"clone",value:function(t){return(t=t||this.options).prefix=t.prefix||this.prefix,new e(this.logger,t)}}]),e})()),C=(function(){function e(){A.default(this,e),this.observers={}}return u.default(e,[{key:"on",value:function(e,t){var a=this;return e.split(" ").forEach((function(e){a.observers[e]=a.observers[e]||[],a.observers[e].push(t)})),this}},{key:"off",value:function(e,t){this.observers[e]&&(t?this.observers[e]=this.observers[e].filter((function(e){return e!==t})):delete this.observers[e])}},{key:"emit",value:function(e){for(var t=arguments.length,a=new Array(t>1?t-1:0),o=1;o<t;o++)a[o-1]=arguments[o];if(this.observers[e]){var i=[].concat(this.observers[e]);i.forEach((function(e){e.apply(void 0,a)}))}if(this.observers["*"]){var n=[].concat(this.observers["*"]);n.forEach((function(t){t.apply(t,[e].concat(a))}))}}}]),e})();function f(){var e,t,a=new Promise((function(a,o){e=a,t=o}));return a.resolve=e,a.reject=t,a}function B(e){return null==e?"":""+e}function P(e,t,a){e.forEach((function(e){t[e]&&(a[e]=t[e])}))}function g(e,t,a){function o(e){return e&&e.indexOf("###")>-1?e.replace(/###/g,"."):e}function i(){return!e||"string"==typeof e}for(var n="string"!=typeof t?[].concat(t):t.split(".");n.length>1;){if(i())return{};var r=o(n.shift());!e[r]&&a&&(e[r]=new a),e=Object.prototype.hasOwnProperty.call(e,r)?e[r]:{}}return i()?{}:{obj:e,k:o(n.shift())}}function v(e,t,a){var o=g(e,t,Object);o.obj[o.k]=a}function y(e,t){var a=g(e,t),o=a.obj,i=a.k;if(o)return o[i]}function W(e,t,a){var o=y(e,a);return void 0!==o?o:y(t,a)}function M(e,t,a){for(var o in t)"__proto__"!==o&&"constructor"!==o&&(o in e?"string"==typeof e[o]||e[o]instanceof String||"string"==typeof t[o]||t[o]instanceof String?a&&(e[o]=t[o]):M(e[o],t[o],a):e[o]=t[o]);return e}function b(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}var U={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;"};function G(e){return"string"==typeof e?e.replace(/[&<>"'\/]/g,(function(e){return U[e]})):e}var k="undefined"!=typeof window&&window.navigator&&void 0===window.navigator.userAgentData&&window.navigator.userAgent&&window.navigator.userAgent.indexOf("MSIE")>-1,F=[" ",",","?","!",";"];function V(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function H(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?V(Object(a),!0).forEach((function(t){N.default(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):V(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function w(e){var t=(function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}})();return function(){var a,o=R.default(e);if(t){var i=R.default(this).constructor;a=Reflect.construct(o,arguments,i)}else a=o.apply(this,arguments);return O.default(this,a)}}function Y(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:".";if(e){if(e[t])return e[t];for(var o=t.split(a),i=e,n=0;n<o.length;++n){if(!i)return;if("string"==typeof i[o[n]]&&n+1<o.length)return;if(void 0===i[o[n]]){for(var r=2,E=o.slice(n,n+r).join(a),_=i[E];void 0===_&&o.length>n+r;)r++,_=i[E=o.slice(n,n+r).join(a)];if(void 0===_)return;if(null===_)return null;if(t.endsWith(E)){if("string"==typeof _)return _;if(E&&"string"==typeof _[E])return _[E]}var T=o.slice(n+r).join(a);return T?Y(_,T,a):void 0}i=i[o[n]]}return i}}var z=(function(e){c.default(a,e);var t=w(a);function a(e){var o,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{ns:["translation"],defaultNS:"translation"};return A.default(this,a),o=t.call(this),k&&C.call(d.default(o)),o.data=e||{},o.options=i,void 0===o.options.keySeparator&&(o.options.keySeparator="."),void 0===o.options.ignoreJSONStructure&&(o.options.ignoreJSONStructure=!0),o}return u.default(a,[{key:"addNamespaces",value:function(e){this.options.ns.indexOf(e)<0&&this.options.ns.push(e)}},{key:"removeNamespaces",value:function(e){var t=this.options.ns.indexOf(e);t>-1&&this.options.ns.splice(t,1)}},{key:"getResource",value:function(e,t,a){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},i=void 0!==o.keySeparator?o.keySeparator:this.options.keySeparator,n=void 0!==o.ignoreJSONStructure?o.ignoreJSONStructure:this.options.ignoreJSONStructure,r=[e,t];a&&"string"!=typeof a&&(r=r.concat(a)),a&&"string"==typeof a&&(r=r.concat(i?a.split(i):a)),e.indexOf(".")>-1&&(r=e.split("."));var E=y(this.data,r);return E||!n||"string"!=typeof a?E:Y(this.data&&this.data[e]&&this.data[e][t],a,i)}},{key:"addResource",value:function(e,t,a,o){var i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{silent:!1},n=this.options.keySeparator;void 0===n&&(n=".");var r=[e,t];a&&(r=r.concat(n?a.split(n):a)),e.indexOf(".")>-1&&(o=t,t=(r=e.split("."))[1]),this.addNamespaces(t),v(this.data,r,o),i.silent||this.emit("added",e,t,a,o)}},{key:"addResources",value:function(e,t,a){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{silent:!1};for(var i in a)"string"!=typeof a[i]&&"[object Array]"!==Object.prototype.toString.apply(a[i])||this.addResource(e,t,i,a[i],{silent:!0});o.silent||this.emit("added",e,t,a)}},{key:"addResourceBundle",value:function(e,t,a,o,i){var n=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{silent:!1},r=[e,t];e.indexOf(".")>-1&&(o=a,a=t,t=(r=e.split("."))[1]),this.addNamespaces(t);var E=y(this.data,r)||{};o?M(E,a,i):E=H(H({},E),a),v(this.data,r,E),n.silent||this.emit("added",e,t,a)}},{key:"removeResourceBundle",value:function(e,t){this.hasResourceBundle(e,t)&&delete this.data[e][t],this.removeNamespaces(t),this.emit("removed",e,t)}},{key:"hasResourceBundle",value:function(e,t){return void 0!==this.getResource(e,t)}},{key:"getResourceBundle",value:function(e,t){return t||(t=this.options.defaultNS),"v1"===this.options.compatibilityAPI?H(H({},{}),this.getResource(e,t)):this.getResource(e,t)}},{key:"getDataByLanguage",value:function(e){return this.data[e]}},{key:"hasLanguageSomeTranslations",value:function(e){var t=this.getDataByLanguage(e);return!!(t&&Object.keys(t)||[]).find((function(e){return t[e]&&Object.keys(t[e]).length>0}))}},{key:"toJSON",value:function(){return this.data}}]),a})(C),K={processors:{},addPostProcessor:function(e){this.processors[e.name]=e},handle:function(e,t,a,o,i){var n=this;return e.forEach((function(e){n.processors[e]&&(t=n.processors[e].process(t,a,o,i))})),t}};function x(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function j(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?x(Object(a),!0).forEach((function(t){N.default(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):x(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function Q(e){var t=(function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}})();return function(){var a,o=R.default(e);if(t){var i=R.default(this).constructor;a=Reflect.construct(o,arguments,i)}else a=o.apply(this,arguments);return O.default(this,a)}}var X={},$=(function(e){c.default(a,e);var t=Q(a);function a(e){var o,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return A.default(this,a),o=t.call(this),k&&C.call(d.default(o)),P(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],e,d.default(o)),o.options=i,void 0===o.options.keySeparator&&(o.options.keySeparator="."),o.logger=h.create("translator"),o}return u.default(a,[{key:"changeLanguage",value:function(e){e&&(this.language=e)}},{key:"exists",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{interpolation:{}};if(null==e)return!1;var a=this.resolve(e,t);return a&&void 0!==a.res}},{key:"extractFromKey",value:function(e,t){var a=void 0!==t.nsSeparator?t.nsSeparator:this.options.nsSeparator;void 0===a&&(a=":");var o=void 0!==t.keySeparator?t.keySeparator:this.options.keySeparator,i=t.ns||this.options.defaultNS||[],n=a&&e.indexOf(a)>-1,r=!(this.options.userDefinedKeySeparator||t.keySeparator||this.options.userDefinedNsSeparator||t.nsSeparator||(function(e,t,a){t=t||"",a=a||"";var o=F.filter((function(e){return t.indexOf(e)<0&&a.indexOf(e)<0}));if(0===o.length)return!0;var i=new RegExp("(".concat(o.map((function(e){return"?"===e?"\\?":e})).join("|"),")")),n=!i.test(e);if(!n){var r=e.indexOf(a);r>0&&!i.test(e.substring(0,r))&&(n=!0)}return n})(e,a,o));if(n&&!r){var E=e.match(this.interpolator.nestingRegexp);if(E&&E.length>0)return{key:e,namespaces:i};var _=e.split(a);(a!==o||a===o&&this.options.ns.indexOf(_[0])>-1)&&(i=_.shift()),e=_.join(o)}return"string"==typeof i&&(i=[i]),{key:e,namespaces:i}}},{key:"translate",value:function(e,t,o){var i=this;if("object"!==I.default(t)&&this.options.overloadTranslationOptionHandler&&(t=this.options.overloadTranslationOptionHandler(arguments)),t||(t={}),null==e)return"";Array.isArray(e)||(e=[String(e)]);var n=void 0!==t.returnDetails?t.returnDetails:this.options.returnDetails,r=void 0!==t.keySeparator?t.keySeparator:this.options.keySeparator,E=this.extractFromKey(e[e.length-1],t),_=E.key,T=E.namespaces,s=T[T.length-1],S=t.lng||this.language,l=t.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(S&&"cimode"===S.toLowerCase()){if(l){var A=t.nsSeparator||this.options.nsSeparator;return n?(u.res="".concat(s).concat(A).concat(_),u):"".concat(s).concat(A).concat(_)}return n?(u.res=_,u):_}var u=this.resolve(e,t),d=u&&u.res,c=u&&u.usedKey||_,O=u&&u.exactUsedKey||_,R=Object.prototype.toString.apply(d),N=["[object Number]","[object Function]","[object RegExp]"],m=void 0!==t.joinArrays?t.joinArrays:this.options.joinArrays,L=!this.i18nFormat||this.i18nFormat.handleAsObject,D="string"!=typeof d&&"boolean"!=typeof d&&"number"!=typeof d;if(L&&d&&D&&N.indexOf(R)<0&&("string"!=typeof m||"[object Array]"!==R)){if(!t.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");var p=this.options.returnedObjectHandler?this.options.returnedObjectHandler(c,d,j(j({},t),{},{ns:T})):"key '".concat(_," (").concat(this.language,")' returned an object instead of string.");return n?(u.res=p,u):p}if(r){var h="[object Array]"===R,C=h?[]:{},f=h?O:c;for(var B in d)if(Object.prototype.hasOwnProperty.call(d,B)){var P="".concat(f).concat(r).concat(B);C[B]=this.translate(P,j(j({},t),{joinArrays:!1,ns:T})),C[B]===P&&(C[B]=d[B])}d=C}}else if(L&&"string"==typeof m&&"[object Array]"===R)(d=d.join(m))&&(d=this.extendTranslation(d,e,t,o));else{var g=!1,v=!1,y=void 0!==t.count&&"string"!=typeof t.count,W=a.hasDefaultValue(t),M=y?this.pluralResolver.getSuffix(S,t.count,t):"",b=t["defaultValue".concat(M)]||t.defaultValue;!this.isValidLookup(d)&&W&&(g=!0,d=b),this.isValidLookup(d)||(v=!0,d=_);var U=t.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey,G=U&&v?void 0:d,k=W&&b!==d&&this.options.updateMissing;if(v||g||k){if(this.logger.log(k?"updateKey":"missingKey",S,s,_,k?b:d),r){var F=this.resolve(_,j(j({},t),{},{keySeparator:!1}));F&&F.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}var V=[],H=this.languageUtils.getFallbackCodes(this.options.fallbackLng,t.lng||this.language);if("fallback"===this.options.saveMissingTo&&H&&H[0])for(var w=0;w<H.length;w++)V.push(H[w]);else"all"===this.options.saveMissingTo?V=this.languageUtils.toResolveHierarchy(t.lng||this.language):V.push(t.lng||this.language);var Y=function(e,a,o){var n=W&&o!==d?o:G;i.options.missingKeyHandler?i.options.missingKeyHandler(e,s,a,n,k,t):i.backendConnector&&i.backendConnector.saveMissing&&i.backendConnector.saveMissing(e,s,a,n,k,t),i.emit("missingKey",e,s,a,d)};this.options.saveMissing&&(this.options.saveMissingPlurals&&y?V.forEach((function(e){i.pluralResolver.getSuffixes(e,t).forEach((function(a){Y([e],_+a,t["defaultValue".concat(a)]||b)}))})):Y(V,_,b))}d=this.extendTranslation(d,e,t,u,o),v&&d===_&&this.options.appendNamespaceToMissingKey&&(d="".concat(s,":").concat(_)),(v||g)&&this.options.parseMissingKeyHandler&&(d="v1"!==this.options.compatibilityAPI?this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?"".concat(s,":").concat(_):_,g?d:void 0):this.options.parseMissingKeyHandler(d))}return n?(u.res=d,u):d}},{key:"extendTranslation",value:function(e,t,a,o,i){var n=this;if(this.i18nFormat&&this.i18nFormat.parse)e=this.i18nFormat.parse(e,j(j({},this.options.interpolation.defaultVariables),a),o.usedLng,o.usedNS,o.usedKey,{resolved:o});else if(!a.skipInterpolation){a.interpolation&&this.interpolator.init(j(j({},a),{interpolation:j(j({},this.options.interpolation),a.interpolation)}));var r,E="string"==typeof e&&(a&&a.interpolation&&void 0!==a.interpolation.skipOnVariables?a.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);if(E){var _=e.match(this.interpolator.nestingRegexp);r=_&&_.length}var T=a.replace&&"string"!=typeof a.replace?a.replace:a;if(this.options.interpolation.defaultVariables&&(T=j(j({},this.options.interpolation.defaultVariables),T)),e=this.interpolator.interpolate(e,T,a.lng||this.language,a),E){var s=e.match(this.interpolator.nestingRegexp);r<(s&&s.length)&&(a.nest=!1)}!1!==a.nest&&(e=this.interpolator.nest(e,(function(){for(var e=arguments.length,o=new Array(e),r=0;r<e;r++)o[r]=arguments[r];return i&&i[0]===o[0]&&!a.context?(n.logger.warn("It seems you are nesting recursively key: ".concat(o[0]," in key: ").concat(t[0])),null):n.translate.apply(n,o.concat([t]))}),a)),a.interpolation&&this.interpolator.reset()}var S=a.postProcess||this.options.postProcess,l="string"==typeof S?[S]:S;return null!=e&&l&&l.length&&!1!==a.applyPostProcessor&&(e=K.handle(l,e,t,this.options&&this.options.postProcessPassResolved?j({i18nResolved:o},a):a,this)),e}},{key:"resolve",value:function(e){var t,a,o,i,n,r=this,E=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return"string"==typeof e&&(e=[e]),e.forEach((function(e){if(!r.isValidLookup(t)){var _=r.extractFromKey(e,E),T=_.key;a=T;var s=_.namespaces;r.options.fallbackNS&&(s=s.concat(r.options.fallbackNS));var S=void 0!==E.count&&"string"!=typeof E.count,l=S&&!E.ordinal&&0===E.count&&r.pluralResolver.shouldUseIntlApi(),I=void 0!==E.context&&("string"==typeof E.context||"number"==typeof E.context)&&""!==E.context,A=E.lngs?E.lngs:r.languageUtils.toResolveHierarchy(E.lng||r.language,E.fallbackLng);s.forEach((function(e){r.isValidLookup(t)||(n=e,!X["".concat(A[0],"-").concat(e)]&&r.utils&&r.utils.hasLoadedNamespace&&!r.utils.hasLoadedNamespace(n)&&(X["".concat(A[0],"-").concat(e)]=!0,r.logger.warn('key "'.concat(a,'" for languages "').concat(A.join(", "),'" won\'t get resolved as namespace "').concat(n,'" was not yet loaded'),"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),A.forEach((function(a){if(!r.isValidLookup(t)){i=a;var n,_=[T];if(r.i18nFormat&&r.i18nFormat.addLookupKeys)r.i18nFormat.addLookupKeys(_,T,a,e,E);else{var s;S&&(s=r.pluralResolver.getSuffix(a,E.count,E));var A="".concat(r.options.pluralSeparator,"zero");if(S&&(_.push(T+s),l&&_.push(T+A)),I){var u="".concat(T).concat(r.options.contextSeparator).concat(E.context);_.push(u),S&&(_.push(u+s),l&&_.push(u+A))}}for(;n=_.pop();)r.isValidLookup(t)||(o=n,t=r.getResource(a,e,n,E))}})))}))}})),{res:t,usedKey:a,exactUsedKey:o,usedLng:i,usedNS:n}}},{key:"isValidLookup",value:function(e){return!(void 0===e||!this.options.returnNull&&null===e||!this.options.returnEmptyString&&""===e)}},{key:"getResource",value:function(e,t,a){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(e,t,a,o):this.resourceStore.getResource(e,t,a,o)}}],[{key:"hasDefaultValue",value:function(e){var t="defaultValue";for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a)&&t===a.substring(0,t.length)&&void 0!==e[a])return!0;return!1}}]),a})(C);function q(e){return e.charAt(0).toUpperCase()+e.slice(1)}var J=(function(){function e(t){A.default(this,e),this.options=t,this.supportedLngs=this.options.supportedLngs||!1,this.logger=h.create("languageUtils")}return u.default(e,[{key:"getScriptPartFromCode",value:function(e){if(!e||e.indexOf("-")<0)return null;var t=e.split("-");return 2===t.length?null:(t.pop(),"x"===t[t.length-1].toLowerCase()?null:this.formatLanguageCode(t.join("-")))}},{key:"getLanguagePartFromCode",value:function(e){if(!e||e.indexOf("-")<0)return e;var t=e.split("-");return this.formatLanguageCode(t[0])}},{key:"formatLanguageCode",value:function(e){if("string"==typeof e&&e.indexOf("-")>-1){var t=["hans","hant","latn","cyrl","cans","mong","arab"],a=e.split("-");return this.options.lowerCaseLng?a=a.map((function(e){return e.toLowerCase()})):2===a.length?(a[0]=a[0].toLowerCase(),a[1]=a[1].toUpperCase(),t.indexOf(a[1].toLowerCase())>-1&&(a[1]=q(a[1].toLowerCase()))):3===a.length&&(a[0]=a[0].toLowerCase(),2===a[1].length&&(a[1]=a[1].toUpperCase()),"sgn"!==a[0]&&2===a[2].length&&(a[2]=a[2].toUpperCase()),t.indexOf(a[1].toLowerCase())>-1&&(a[1]=q(a[1].toLowerCase())),t.indexOf(a[2].toLowerCase())>-1&&(a[2]=q(a[2].toLowerCase()))),a.join("-")}return this.options.cleanCode||this.options.lowerCaseLng?e.toLowerCase():e}},{key:"isSupportedCode",value:function(e){return("languageOnly"===this.options.load||this.options.nonExplicitSupportedLngs)&&(e=this.getLanguagePartFromCode(e)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(e)>-1}},{key:"getBestMatchFromCodes",value:function(e){var t,a=this;return e?(e.forEach((function(e){if(!t){var o=a.formatLanguageCode(e);a.options.supportedLngs&&!a.isSupportedCode(o)||(t=o)}})),!t&&this.options.supportedLngs&&e.forEach((function(e){if(!t){var o=a.getLanguagePartFromCode(e);if(a.isSupportedCode(o))return t=o;t=a.options.supportedLngs.find((function(e){if(0===e.indexOf(o))return e}))}})),t||(t=this.getFallbackCodes(this.options.fallbackLng)[0]),t):null}},{key:"getFallbackCodes",value:function(e,t){if(!e)return[];if("function"==typeof e&&(e=e(t)),"string"==typeof e&&(e=[e]),"[object Array]"===Object.prototype.toString.apply(e))return e;if(!t)return e.default||[];var a=e[t];return a||(a=e[this.getScriptPartFromCode(t)]),a||(a=e[this.formatLanguageCode(t)]),a||(a=e[this.getLanguagePartFromCode(t)]),a||(a=e.default),a||[]}},{key:"toResolveHierarchy",value:function(e,t){var a=this,o=this.getFallbackCodes(t||this.options.fallbackLng||[],e),i=[],n=function(e){e&&(a.isSupportedCode(e)?i.push(e):a.logger.warn("rejecting language code not found in supportedLngs: ".concat(e)))};return"string"==typeof e&&e.indexOf("-")>-1?("languageOnly"!==this.options.load&&n(this.formatLanguageCode(e)),"languageOnly"!==this.options.load&&"currentOnly"!==this.options.load&&n(this.getScriptPartFromCode(e)),"currentOnly"!==this.options.load&&n(this.getLanguagePartFromCode(e))):"string"==typeof e&&n(this.formatLanguageCode(e)),o.forEach((function(e){i.indexOf(e)<0&&n(a.formatLanguageCode(e))})),i}}]),e})(),Z=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","tl","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kk","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","ht","id","ja","jbo","ka","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he","iw"],nr:[1,2,20,21],fc:22}],ee={1:function(e){return Number(e>1)},2:function(e){return Number(1!=e)},3:function(e){return 0},4:function(e){return Number(e%10==1&&e%100!=11?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2)},5:function(e){return Number(0==e?0:1==e?1:2==e?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5)},6:function(e){return Number(1==e?0:e>=2&&e<=4?1:2)},7:function(e){return Number(1==e?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2)},8:function(e){return Number(1==e?0:2==e?1:8!=e&&11!=e?2:3)},9:function(e){return Number(e>=2)},10:function(e){return Number(1==e?0:2==e?1:e<7?2:e<11?3:4)},11:function(e){return Number(1==e||11==e?0:2==e||12==e?1:e>2&&e<20?2:3)},12:function(e){return Number(e%10!=1||e%100==11)},13:function(e){return Number(0!==e)},14:function(e){return Number(1==e?0:2==e?1:3==e?2:3)},15:function(e){return Number(e%10==1&&e%100!=11?0:e%10>=2&&(e%100<10||e%100>=20)?1:2)},16:function(e){return Number(e%10==1&&e%100!=11?0:0!==e?1:2)},17:function(e){return Number(1==e||e%10==1&&e%100!=11?0:1)},18:function(e){return Number(0==e?0:1==e?1:2)},19:function(e){return Number(1==e?0:0==e||e%100>1&&e%100<11?1:e%100>10&&e%100<20?2:3)},20:function(e){return Number(1==e?0:0==e||e%100>0&&e%100<20?1:2)},21:function(e){return Number(e%100==1?1:e%100==2?2:e%100==3||e%100==4?3:0)},22:function(e){return Number(1==e?0:2==e?1:(e<0||e>10)&&e%10==0?2:3)}},te=["v1","v2","v3"],ae={zero:0,one:1,two:2,few:3,many:4,other:5};function oe(){var e={};return Z.forEach((function(t){t.lngs.forEach((function(a){e[a]={numbers:t.nr,plurals:ee[t.fc]}}))})),e}var ie=(function(){function e(t){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};A.default(this,e),this.languageUtils=t,this.options=a,this.logger=h.create("pluralResolver"),this.options.compatibilityJSON&&"v4"!==this.options.compatibilityJSON||"undefined"!=typeof Intl&&Intl.PluralRules||(this.options.compatibilityJSON="v3",this.logger.error("Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.")),this.rules=oe()}return u.default(e,[{key:"addRule",value:function(e,t){this.rules[e]=t}},{key:"getRule",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(this.shouldUseIntlApi())try{return new Intl.PluralRules(e,{type:t.ordinal?"ordinal":"cardinal"})}catch(e){return}return this.rules[e]||this.rules[this.languageUtils.getLanguagePartFromCode(e)]}},{key:"needsPlural",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=this.getRule(e,t);return this.shouldUseIntlApi()?a&&a.resolvedOptions().pluralCategories.length>1:a&&a.numbers.length>1}},{key:"getPluralFormsOfKey",value:function(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.getSuffixes(e,a).map((function(e){return"".concat(t).concat(e)}))}},{key:"getSuffixes",value:function(e){var t=this,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=this.getRule(e,a);return o?this.shouldUseIntlApi()?o.resolvedOptions().pluralCategories.sort((function(e,t){return ae[e]-ae[t]})).map((function(e){return"".concat(t.options.prepend).concat(e)})):o.numbers.map((function(o){return t.getSuffix(e,o,a)})):[]}},{key:"getSuffix",value:function(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=this.getRule(e,a);return o?this.shouldUseIntlApi()?"".concat(this.options.prepend).concat(o.select(t)):this.getSuffixRetroCompatible(o,t):(this.logger.warn("no plural rule found for: ".concat(e)),"")}},{key:"getSuffixRetroCompatible",value:function(e,t){var a=this,o=e.noAbs?e.plurals(t):e.plurals(Math.abs(t)),i=e.numbers[o];this.options.simplifyPluralSuffix&&2===e.numbers.length&&1===e.numbers[0]&&(2===i?i="plural":1===i&&(i=""));var n=function(){return a.options.prepend&&i.toString()?a.options.prepend+i.toString():i.toString()};return"v1"===this.options.compatibilityJSON?1===i?"":"number"==typeof i?"_plural_".concat(i.toString()):n():"v2"===this.options.compatibilityJSON||this.options.simplifyPluralSuffix&&2===e.numbers.length&&1===e.numbers[0]?n():this.options.prepend&&o.toString()?this.options.prepend+o.toString():o.toString()}},{key:"shouldUseIntlApi",value:function(){return!te.includes(this.options.compatibilityJSON)}}]),e})();function ne(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function re(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?ne(Object(a),!0).forEach((function(t){N.default(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):ne(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}var Ee=(function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};A.default(this,e),this.logger=h.create("interpolator"),this.options=t,this.format=t.interpolation&&t.interpolation.format||function(e){return e},this.init(t)}return u.default(e,[{key:"init",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};e.interpolation||(e.interpolation={escapeValue:!0});var t=e.interpolation;this.escape=void 0!==t.escape?t.escape:G,this.escapeValue=void 0===t.escapeValue||t.escapeValue,this.useRawValueToEscape=void 0!==t.useRawValueToEscape&&t.useRawValueToEscape,this.prefix=t.prefix?b(t.prefix):t.prefixEscaped||"{{",this.suffix=t.suffix?b(t.suffix):t.suffixEscaped||"}}",this.formatSeparator=t.formatSeparator?t.formatSeparator:t.formatSeparator||",",this.unescapePrefix=t.unescapeSuffix?"":t.unescapePrefix||"-",this.unescapeSuffix=this.unescapePrefix?"":t.unescapeSuffix||"",this.nestingPrefix=t.nestingPrefix?b(t.nestingPrefix):t.nestingPrefixEscaped||b("$t("),this.nestingSuffix=t.nestingSuffix?b(t.nestingSuffix):t.nestingSuffixEscaped||b(")"),this.nestingOptionsSeparator=t.nestingOptionsSeparator?t.nestingOptionsSeparator:t.nestingOptionsSeparator||",",this.maxReplaces=t.maxReplaces?t.maxReplaces:1e3,this.alwaysFormat=void 0!==t.alwaysFormat&&t.alwaysFormat,this.resetRegExp()}},{key:"reset",value:function(){this.options&&this.init(this.options)}},{key:"resetRegExp",value:function(){var e="".concat(this.prefix,"(.+?)").concat(this.suffix);this.regexp=new RegExp(e,"g");var t="".concat(this.prefix).concat(this.unescapePrefix,"(.+?)").concat(this.unescapeSuffix).concat(this.suffix);this.regexpUnescape=new RegExp(t,"g");var a="".concat(this.nestingPrefix,"(.+?)").concat(this.nestingSuffix);this.nestingRegexp=new RegExp(a,"g")}},{key:"interpolate",value:function(e,t,a,o){var i,n,r,E=this,_=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{};function T(e){return e.replace(/\$/g,"$$$$")}var s=function(e){if(e.indexOf(E.formatSeparator)<0){var i=W(t,_,e);return E.alwaysFormat?E.format(i,void 0,a,re(re(re({},o),t),{},{interpolationkey:e})):i}var n=e.split(E.formatSeparator),r=n.shift().trim(),T=n.join(E.formatSeparator).trim();return E.format(W(t,_,r),T,a,re(re(re({},o),t),{},{interpolationkey:r}))};this.resetRegExp();var S=o&&o.missingInterpolationHandler||this.options.missingInterpolationHandler,l=o&&o.interpolation&&void 0!==o.interpolation.skipOnVariables?o.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:function(e){return T(e)}},{regex:this.regexp,safeValue:function(e){return E.escapeValue?T(E.escape(e)):T(e)}}].forEach((function(t){for(r=0;i=t.regex.exec(e);){var a=i[1].trim();if(void 0===(n=s(a)))if("function"==typeof S){var _=S(e,i,o);n="string"==typeof _?_:""}else if(o&&o.hasOwnProperty(a))n="";else{if(l){n=i[0];continue}E.logger.warn("missed to pass in variable ".concat(a," for interpolating ").concat(e)),n=""}else"string"==typeof n||E.useRawValueToEscape||(n=B(n));var T=t.safeValue(n);if(e=e.replace(i[0],T),l?(t.regex.lastIndex+=n.length,t.regex.lastIndex-=i[0].length):t.regex.lastIndex=0,++r>=E.maxReplaces)break}})),e}},{key:"nest",value:function(e,t){var a,o,i,n=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};function E(e,t){var a=this.nestingOptionsSeparator;if(e.indexOf(a)<0)return e;var o=e.split(new RegExp("".concat(a,"[ ]*{"))),n="{".concat(o[1]);e=o[0];var r=(n=this.interpolate(n,i)).match(/'/g),E=n.match(/"/g);(r&&r.length%2==0&&!E||E.length%2!=0)&&(n=n.replace(/'/g,'"'));try{i=JSON.parse(n),t&&(i=re(re({},t),i))}catch(t){return this.logger.warn("failed parsing options string in nesting for key ".concat(e),t),"".concat(e).concat(a).concat(n)}return delete i.defaultValue,e}for(;a=this.nestingRegexp.exec(e);){var _=[];(i=re({},r)).applyPostProcessor=!1,delete i.defaultValue;var T=!1;if(-1!==a[0].indexOf(this.formatSeparator)&&!/{.*}/.test(a[1])){var s=a[1].split(this.formatSeparator).map((function(e){return e.trim()}));a[1]=s.shift(),_=s,T=!0}if((o=t(E.call(this,a[1].trim(),i),i))&&a[0]===e&&"string"!=typeof o)return o;"string"!=typeof o&&(o=B(o)),o||(this.logger.warn("missed to resolve ".concat(a[1]," for nesting ").concat(e)),o=""),T&&(o=_.reduce((function(e,t){return n.format(e,t,r.lng,re(re({},r),{},{interpolationkey:a[1].trim()}))}),o.trim())),e=e.replace(a[0],o),this.regexp.lastIndex=0}return e}}]),e})();function _e(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function Te(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?_e(Object(a),!0).forEach((function(t){N.default(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):_e(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function se(e){var t={};return function(a,o,i){var n=o+JSON.stringify(i),r=t[n];return r||(r=e(o,i),t[n]=r),r(a)}}var Se=(function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};A.default(this,e),this.logger=h.create("formatter"),this.options=t,this.formats={number:se((function(e,t){var a=new Intl.NumberFormat(e,t);return function(e){return a.format(e)}})),currency:se((function(e,t){var a=new Intl.NumberFormat(e,Te(Te({},t),{},{style:"currency"}));return function(e){return a.format(e)}})),datetime:se((function(e,t){var a=new Intl.DateTimeFormat(e,Te({},t));return function(e){return a.format(e)}})),relativetime:se((function(e,t){var a=new Intl.RelativeTimeFormat(e,Te({},t));return function(e){return a.format(e,t.range||"day")}})),list:se((function(e,t){var a=new Intl.ListFormat(e,Te({},t));return function(e){return a.format(e)}}))},this.init(t)}return u.default(e,[{key:"init",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{interpolation:{}},a=t.interpolation;this.formatSeparator=a.formatSeparator?a.formatSeparator:a.formatSeparator||","}},{key:"add",value:function(e,t){this.formats[e.toLowerCase().trim()]=t}},{key:"addCached",value:function(e,t){this.formats[e.toLowerCase().trim()]=se(t)}},{key:"format",value:function(e,t,a,o){var i=this;return t.split(this.formatSeparator).reduce((function(e,t){var n=(function(e){var t=e.toLowerCase().trim(),a={};if(e.indexOf("(")>-1){var o=e.split("(");t=o[0].toLowerCase().trim();var i=o[1].substring(0,o[1].length-1);"currency"===t&&i.indexOf(":")<0?a.currency||(a.currency=i.trim()):"relativetime"===t&&i.indexOf(":")<0?a.range||(a.range=i.trim()):i.split(";").forEach((function(e){if(e){var t=e.split(":"),o=m.default(t),i=o[0],n=o.slice(1).join(":").trim().replace(/^'+|'+$/g,"");a[i.trim()]||(a[i.trim()]=n),"false"===n&&(a[i.trim()]=!1),"true"===n&&(a[i.trim()]=!0),isNaN(n)||(a[i.trim()]=parseInt(n,10))}}))}return{formatName:t,formatOptions:a}})(t),r=n.formatName,E=n.formatOptions;if(i.formats[r]){var _=e;try{var T=o&&o.formatParams&&o.formatParams[o.interpolationkey]||{},s=T.locale||T.lng||o.locale||o.lng||a;_=i.formats[r](e,s,Te(Te(Te({},E),o),T))}catch(e){i.logger.warn(e)}return _}return i.logger.warn("there was no format function for ".concat(r)),e}),e)}}]),e})();function le(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function Ie(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?le(Object(a),!0).forEach((function(t){N.default(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):le(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function Ae(e){var t=(function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}})();return function(){var a,o=R.default(e);if(t){var i=R.default(this).constructor;a=Reflect.construct(o,arguments,i)}else a=o.apply(this,arguments);return O.default(this,a)}}var ue=(function(e){c.default(a,e);var t=Ae(a);function a(e,o,i){var n,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return A.default(this,a),n=t.call(this),k&&C.call(d.default(n)),n.backend=e,n.store=o,n.services=i,n.languageUtils=i.languageUtils,n.options=r,n.logger=h.create("backendConnector"),n.waitingReads=[],n.maxParallelReads=r.maxParallelReads||10,n.readingCalls=0,n.maxRetries=r.maxRetries>=0?r.maxRetries:5,n.retryTimeout=r.retryTimeout>=1?r.retryTimeout:350,n.state={},n.queue=[],n.backend&&n.backend.init&&n.backend.init(i,r.backend,r),n}return u.default(a,[{key:"queueLoad",value:function(e,t,a,o){var i=this,n={},r={},E={},_={};return e.forEach((function(e){var o=!0;t.forEach((function(t){var E="".concat(e,"|").concat(t);!a.reload&&i.store.hasResourceBundle(e,t)?i.state[E]=2:i.state[E]<0||(1===i.state[E]?void 0===r[E]&&(r[E]=!0):(i.state[E]=1,o=!1,void 0===r[E]&&(r[E]=!0),void 0===n[E]&&(n[E]=!0),void 0===_[t]&&(_[t]=!0)))})),o||(E[e]=!0)})),(Object.keys(n).length||Object.keys(r).length)&&this.queue.push({pending:r,pendingCount:Object.keys(r).length,loaded:{},errors:[],callback:o}),{toLoad:Object.keys(n),pending:Object.keys(r),toLoadLanguages:Object.keys(E),toLoadNamespaces:Object.keys(_)}}},{key:"loaded",value:function(e,t,a){var o=e.split("|"),i=o[0],n=o[1];t&&this.emit("failedLoading",i,n,t),a&&this.store.addResourceBundle(i,n,a),this.state[e]=t?-1:2;var r={};this.queue.forEach((function(a){var o,E,_,T,s,S;o=a.loaded,E=n,T=g(o,[i],Object),s=T.obj,S=T.k,s[S]=s[S]||[],_&&(s[S]=s[S].concat(E)),_||s[S].push(E),(function(e,t){void 0!==e.pending[t]&&(delete e.pending[t],e.pendingCount--)})(a,e),t&&a.errors.push(t),0!==a.pendingCount||a.done||(Object.keys(a.loaded).forEach((function(e){r[e]||(r[e]={});var t=a.loaded[e];t.length&&t.forEach((function(t){void 0===r[e][t]&&(r[e][t]=!0)}))})),a.done=!0,a.errors.length?a.callback(a.errors):a.callback())})),this.emit("loaded",r),this.queue=this.queue.filter((function(e){return!e.done}))}},{key:"read",value:function(e,t,a){var o=this,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:this.retryTimeout,r=arguments.length>5?arguments[5]:void 0;if(!e.length)return r(null,{});if(this.readingCalls>=this.maxParallelReads)this.waitingReads.push({lng:e,ns:t,fcName:a,tried:i,wait:n,callback:r});else{this.readingCalls++;var E=function(E,_){if(o.readingCalls--,o.waitingReads.length>0){var T=o.waitingReads.shift();o.read(T.lng,T.ns,T.fcName,T.tried,T.wait,T.callback)}E&&_&&i<o.maxRetries?setTimeout((function(){o.read.call(o,e,t,a,i+1,2*n,r)}),n):r(E,_)},_=this.backend[a].bind(this.backend);if(2!==_.length)return _(e,t,E);try{var T=_(e,t);T&&"function"==typeof T.then?T.then((function(e){return E(null,e)})).catch(E):E(null,T)}catch(e){E(e)}}}},{key:"prepareLoading",value:function(e,t){var a=this,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),i&&i();"string"==typeof e&&(e=this.languageUtils.toResolveHierarchy(e)),"string"==typeof t&&(t=[t]);var n=this.queueLoad(e,t,o,i);if(!n.toLoad.length)return n.pending.length||i(),null;n.toLoad.forEach((function(e){a.loadOne(e)}))}},{key:"load",value:function(e,t,a){this.prepareLoading(e,t,{},a)}},{key:"reload",value:function(e,t,a){this.prepareLoading(e,t,{reload:!0},a)}},{key:"loadOne",value:function(e){var t=this,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",o=e.split("|"),i=o[0],n=o[1];this.read(i,n,"read",void 0,void 0,(function(o,r){o&&t.logger.warn("".concat(a,"loading namespace ").concat(n," for language ").concat(i," failed"),o),!o&&r&&t.logger.log("".concat(a,"loaded namespace ").concat(n," for language ").concat(i),r),t.loaded(e,o,r)}))}},{key:"saveMissing",value:function(e,t,a,o,i){var n=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},r=arguments.length>6&&void 0!==arguments[6]?arguments[6]:function(){};if(this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(t))this.logger.warn('did not save key "'.concat(a,'" as the namespace "').concat(t,'" was not yet loaded'),"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");else if(null!=a&&""!==a){if(this.backend&&this.backend.create){var E=Ie(Ie({},n),{},{isUpdate:i}),_=this.backend.create.bind(this.backend);if(_.length<6)try{var T;(T=5===_.length?_(e,t,a,o,E):_(e,t,a,o))&&"function"==typeof T.then?T.then((function(e){return r(null,e)})).catch(r):r(null,T)}catch(e){r(e)}else _(e,t,a,o,r,E)}e&&e[0]&&this.store.addResource(e[0],t,a,o)}}}]),a})(C);function de(){return{debug:!1,initImmediate:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!0,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:function(e){var t={};if("object"===I.default(e[1])&&(t=e[1]),"string"==typeof e[1]&&(t.defaultValue=e[1]),"string"==typeof e[2]&&(t.tDescription=e[2]),"object"===I.default(e[2])||"object"===I.default(e[3])){var a=e[3]||e[2];Object.keys(a).forEach((function(e){t[e]=a[e]}))}return t},interpolation:{escapeValue:!0,format:function(e,t,a,o){return e},prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}}function ce(e){return"string"==typeof e.ns&&(e.ns=[e.ns]),"string"==typeof e.fallbackLng&&(e.fallbackLng=[e.fallbackLng]),"string"==typeof e.fallbackNS&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs&&e.supportedLngs.indexOf("cimode")<0&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),e}function Oe(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function Re(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?Oe(Object(a),!0).forEach((function(t){N.default(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):Oe(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function Ne(e){var t=(function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}})();return function(){var a,o=R.default(e);if(t){var i=R.default(this).constructor;a=Reflect.construct(o,arguments,i)}else a=o.apply(this,arguments);return O.default(this,a)}}function me(){}function Le(e){Object.getOwnPropertyNames(Object.getPrototypeOf(e)).forEach((function(t){"function"==typeof e[t]&&(e[t]=e[t].bind(e))}))}var De=(function(e){c.default(a,e);var t=Ne(a);function a(){var e,o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=arguments.length>1?arguments[1]:void 0;if(A.default(this,a),e=t.call(this),k&&C.call(d.default(e)),e.options=ce(o),e.services={},e.logger=h,e.modules={external:[]},Le(d.default(e)),i&&!e.isInitialized&&!o.isClone){if(!e.options.initImmediate)return e.init(o,i),O.default(e,d.default(e));setTimeout((function(){e.init(o,i)}),0)}return e}return u.default(a,[{key:"init",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=arguments.length>1?arguments[1]:void 0;"function"==typeof t&&(a=t,t={}),!t.defaultNS&&!1!==t.defaultNS&&t.ns&&("string"==typeof t.ns?t.defaultNS=t.ns:t.ns.indexOf("translation")<0&&(t.defaultNS=t.ns[0]));var o=de();function i(e){return e?"function"==typeof e?new e:e:null}if(this.options=Re(Re(Re({},o),this.options),ce(t)),"v1"!==this.options.compatibilityAPI&&(this.options.interpolation=Re(Re({},o.interpolation),this.options.interpolation)),void 0!==t.keySeparator&&(this.options.userDefinedKeySeparator=t.keySeparator),void 0!==t.nsSeparator&&(this.options.userDefinedNsSeparator=t.nsSeparator),!this.options.isClone){var n;this.modules.logger?h.init(i(this.modules.logger),this.options):h.init(null,this.options),this.modules.formatter?n=this.modules.formatter:"undefined"!=typeof Intl&&(n=Se);var r=new J(this.options);this.store=new z(this.options.resources,this.options);var E=this.services;E.logger=h,E.resourceStore=this.store,E.languageUtils=r,E.pluralResolver=new ie(r,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),!n||this.options.interpolation.format&&this.options.interpolation.format!==o.interpolation.format||(E.formatter=i(n),E.formatter.init(E,this.options),this.options.interpolation.format=E.formatter.format.bind(E.formatter)),E.interpolator=new Ee(this.options),E.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},E.backendConnector=new ue(i(this.modules.backend),E.resourceStore,E,this.options),E.backendConnector.on("*",(function(t){for(var a=arguments.length,o=new Array(a>1?a-1:0),i=1;i<a;i++)o[i-1]=arguments[i];e.emit.apply(e,[t].concat(o))})),this.modules.languageDetector&&(E.languageDetector=i(this.modules.languageDetector),E.languageDetector.init&&E.languageDetector.init(E,this.options.detection,this.options)),this.modules.i18nFormat&&(E.i18nFormat=i(this.modules.i18nFormat),E.i18nFormat.init&&E.i18nFormat.init(this)),this.translator=new $(this.services,this.options),this.translator.on("*",(function(t){for(var a=arguments.length,o=new Array(a>1?a-1:0),i=1;i<a;i++)o[i-1]=arguments[i];e.emit.apply(e,[t].concat(o))})),this.modules.external.forEach((function(t){t.init&&t.init(e)}))}if(this.format=this.options.interpolation.format,a||(a=me),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){var _=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);_.length>0&&"dev"!==_[0]&&(this.options.lng=_[0])}this.services.languageDetector||this.options.lng||this.logger.warn("init: no languageDetector is used and no lng is defined");var T=["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"];T.forEach((function(t){e[t]=function(){var a;return(a=e.store)[t].apply(a,arguments)}}));var s=["addResource","addResources","addResourceBundle","removeResourceBundle"];s.forEach((function(t){e[t]=function(){var a;return(a=e.store)[t].apply(a,arguments),e}}));var S=f(),l=function(){var t=function(t,o){e.isInitialized&&!e.initializedStoreOnce&&e.logger.warn("init: i18next is already initialized. You should call init just once!"),e.isInitialized=!0,e.options.isClone||e.logger.log("initialized",e.options),e.emit("initialized",e.options),S.resolve(o),a(t,o)};if(e.languages&&"v1"!==e.options.compatibilityAPI&&!e.isInitialized)return t(null,e.t.bind(e));e.changeLanguage(e.options.lng,t)};return this.options.resources||!this.options.initImmediate?l():setTimeout(l,0),S}},{key:"loadResources",value:function(e){var t=this,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:me,o=a,i="string"==typeof e?e:this.language;if("function"==typeof e&&(o=e),!this.options.resources||this.options.partialBundledLanguages){if(i&&"cimode"===i.toLowerCase())return o();var n=[],r=function(e){e&&t.services.languageUtils.toResolveHierarchy(e).forEach((function(e){n.indexOf(e)<0&&n.push(e)}))};if(i)r(i);else{var E=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);E.forEach((function(e){return r(e)}))}this.options.preload&&this.options.preload.forEach((function(e){return r(e)})),this.services.backendConnector.load(n,this.options.ns,(function(e){e||t.resolvedLanguage||!t.language||t.setResolvedLanguage(t.language),o(e)}))}else o(null)}},{key:"reloadResources",value:function(e,t,a){var o=f();return e||(e=this.languages),t||(t=this.options.ns),a||(a=me),this.services.backendConnector.reload(e,t,(function(e){o.resolve(),a(e)})),o}},{key:"use",value:function(e){if(!e)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!e.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return"backend"===e.type&&(this.modules.backend=e),("logger"===e.type||e.log&&e.warn&&e.error)&&(this.modules.logger=e),"languageDetector"===e.type&&(this.modules.languageDetector=e),"i18nFormat"===e.type&&(this.modules.i18nFormat=e),"postProcessor"===e.type&&K.addPostProcessor(e),"formatter"===e.type&&(this.modules.formatter=e),"3rdParty"===e.type&&this.modules.external.push(e),this}},{key:"setResolvedLanguage",value:function(e){if(e&&this.languages&&!(["cimode","dev"].indexOf(e)>-1))for(var t=0;t<this.languages.length;t++){var a=this.languages[t];if(!(["cimode","dev"].indexOf(a)>-1)&&this.store.hasLanguageSomeTranslations(a)){this.resolvedLanguage=a;break}}}},{key:"changeLanguage",value:function(e,t){var a=this;this.isLanguageChangingTo=e;var o=f();this.emit("languageChanging",e);var i=function(e){a.language=e,a.languages=a.services.languageUtils.toResolveHierarchy(e),a.resolvedLanguage=void 0,a.setResolvedLanguage(e)},n=function(n){e||n||!a.services.languageDetector||(n=[]);var r="string"==typeof n?n:a.services.languageUtils.getBestMatchFromCodes(n);r&&(a.language||i(r),a.translator.language||a.translator.changeLanguage(r),a.services.languageDetector&&a.services.languageDetector.cacheUserLanguage&&a.services.languageDetector.cacheUserLanguage(r)),a.loadResources(r,(function(e){!(function(e,n){n?(i(n),a.translator.changeLanguage(n),a.isLanguageChangingTo=void 0,a.emit("languageChanged",n),a.logger.log("languageChanged",n)):a.isLanguageChangingTo=void 0,o.resolve((function(){return a.t.apply(a,arguments)})),t&&t(e,(function(){return a.t.apply(a,arguments)}))})(e,r)}))};return e||!this.services.languageDetector||this.services.languageDetector.async?!e&&this.services.languageDetector&&this.services.languageDetector.async?0===this.services.languageDetector.detect.length?this.services.languageDetector.detect().then(n):this.services.languageDetector.detect(n):n(e):n(this.services.languageDetector.detect()),o}},{key:"getFixedT",value:function(e,t,a){var o=this,i=function e(t,i){var n;if("object"!==I.default(i)){for(var r=arguments.length,E=new Array(r>2?r-2:0),_=2;_<r;_++)E[_-2]=arguments[_];n=o.options.overloadTranslationOptionHandler([t,i].concat(E))}else n=Re({},i);n.lng=n.lng||e.lng,n.lngs=n.lngs||e.lngs,n.ns=n.ns||e.ns,n.keyPrefix=n.keyPrefix||a||e.keyPrefix;var T=o.options.keySeparator||".",s=n.keyPrefix?"".concat(n.keyPrefix).concat(T).concat(t):t;return o.t(s,n)};return"string"==typeof e?i.lng=e:i.lngs=e,i.ns=t,i.keyPrefix=a,i}},{key:"t",value:function(){var e;return this.translator&&(e=this.translator).translate.apply(e,arguments)}},{key:"exists",value:function(){var e;return this.translator&&(e=this.translator).exists.apply(e,arguments)}},{key:"setDefaultNamespace",value:function(e){this.options.defaultNS=e}},{key:"hasLoadedNamespace",value:function(e){var t=this,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;var o=this.resolvedLanguage||this.languages[0],i=!!this.options&&this.options.fallbackLng,n=this.languages[this.languages.length-1];if("cimode"===o.toLowerCase())return!0;var r=function(e,a){var o=t.services.backendConnector.state["".concat(e,"|").concat(a)];return-1===o||2===o};if(a.precheck){var E=a.precheck(this,r);if(void 0!==E)return E}return!!this.hasResourceBundle(o,e)||(!(this.services.backendConnector.backend&&(!this.options.resources||this.options.partialBundledLanguages))||!(!r(o,e)||i&&!r(n,e)))}},{key:"loadNamespaces",value:function(e,t){var a=this,o=f();return this.options.ns?("string"==typeof e&&(e=[e]),e.forEach((function(e){a.options.ns.indexOf(e)<0&&a.options.ns.push(e)})),this.loadResources((function(e){o.resolve(),t&&t(e)})),o):(t&&t(),Promise.resolve())}},{key:"loadLanguages",value:function(e,t){var a=f();"string"==typeof e&&(e=[e]);var o=this.options.preload||[],i=e.filter((function(e){return o.indexOf(e)<0}));return i.length?(this.options.preload=o.concat(i),this.loadResources((function(e){a.resolve(),t&&t(e)})),a):(t&&t(),Promise.resolve())}},{key:"dir",value:function(e){if(e||(e=this.resolvedLanguage||(this.languages&&this.languages.length>0?this.languages[0]:this.language)),!e)return"rtl";var t=this.services&&this.services.languageUtils||new J(de());return["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"].indexOf(t.getLanguagePartFromCode(e))>-1||e.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}},{key:"cloneInstance",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:me,i=Re(Re(Re({},this.options),t),{isClone:!0}),n=new a(i);void 0===t.debug&&void 0===t.prefix||(n.logger=n.logger.clone(t));var r=["store","services","language"];return r.forEach((function(t){n[t]=e[t]})),n.services=Re({},this.services),n.services.utils={hasLoadedNamespace:n.hasLoadedNamespace.bind(n)},n.translator=new $(n.services,n.options),n.translator.on("*",(function(e){for(var t=arguments.length,a=new Array(t>1?t-1:0),o=1;o<t;o++)a[o-1]=arguments[o];n.emit.apply(n,[e].concat(a))})),n.init(i,o),n.translator.options=n.options,n.translator.backendConnector.services.utils={hasLoadedNamespace:n.hasLoadedNamespace.bind(n)},n}},{key:"toJSON",value:function(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}]),a})(C);N.default(De,"createInstance",(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;return new De(e,t)}));var pe=De.createInstance();pe.createInstance=De.createInstance,e.exports=pe},80645:(e,t)=>{t.read=function(e,t,a,o,i){var n,r,E=8*i-o-1,_=(1<<E)-1,T=_>>1,s=-7,S=a?i-1:0,l=a?-1:1,I=e[t+S];for(S+=l,n=I&(1<<-s)-1,I>>=-s,s+=E;s>0;n=256*n+e[t+S],S+=l,s-=8);for(r=n&(1<<-s)-1,n>>=-s,s+=o;s>0;r=256*r+e[t+S],S+=l,s-=8);if(0===n)n=1-T;else{if(n===_)return r?NaN:1/0*(I?-1:1);r+=Math.pow(2,o),n-=T}return(I?-1:1)*r*Math.pow(2,n-o)},t.write=function(e,t,a,o,i,n){var r,E,_,T=8*n-i-1,s=(1<<T)-1,S=s>>1,l=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,I=o?0:n-1,A=o?1:-1,u=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(E=isNaN(t)?1:0,r=s):(r=Math.floor(Math.log(t)/Math.LN2),t*(_=Math.pow(2,-r))<1&&(r--,_*=2),(t+=r+S>=1?l/_:l*Math.pow(2,1-S))*_>=2&&(r++,_/=2),r+S>=s?(E=0,r=s):r+S>=1?(E=(t*_-1)*Math.pow(2,i),r+=S):(E=t*Math.pow(2,S-1)*Math.pow(2,i),r=0));i>=8;e[a+I]=255&E,I+=A,E/=256,i-=8);for(r=r<<i|E,T+=i;T>0;e[a+I]=255&r,I+=A,r/=256,T-=8);e[a+I-A]|=128*u}},85457:e=>{e.exports=[{name:"Abkhaz",local:"Аҧсуа",1:"ab",2:"abk","2T":"abk","2B":"abk",3:"abk"},{name:"Afar",local:"Afaraf",1:"aa",2:"aar","2T":"aar","2B":"aar",3:"aar"},{name:"Afrikaans",local:"Afrikaans",1:"af",2:"afr","2T":"afr","2B":"afr",3:"afr"},{name:"Akan",local:"Akan",1:"ak",2:"aka","2T":"aka","2B":"aka",3:"aka"},{name:"Albanian",local:"Shqip",1:"sq",2:"sqi","2T":"sqi","2B":"alb",3:"sqi"},{name:"Amharic",local:"አማርኛ",1:"am",2:"amh","2T":"amh","2B":"amh",3:"amh"},{name:"Arabic",local:"العربية",1:"ar",2:"ara","2T":"ara","2B":"ara",3:"ara"},{name:"Aragonese",local:"Aragonés",1:"an",2:"arg","2T":"arg","2B":"arg",3:"arg"},{name:"Armenian",local:"Հայերեն",1:"hy",2:"hye","2T":"hye","2B":"arm",3:"hye"},{name:"Assamese",local:"অসমীয়া",1:"as",2:"asm","2T":"asm","2B":"asm",3:"asm"},{name:"Avaric",local:"Авар",1:"av",2:"ava","2T":"ava","2B":"ava",3:"ava"},{name:"Avestan",local:"avesta",1:"ae",2:"ave","2T":"ave","2B":"ave",3:"ave"},{name:"Aymara",local:"Aymar",1:"ay",2:"aym","2T":"aym","2B":"aym",3:"aym"},{name:"Azerbaijani",local:"Azərbaycanca",1:"az",2:"aze","2T":"aze","2B":"aze",3:"aze"},{name:"Bambara",local:"Bamanankan",1:"bm",2:"bam","2T":"bam","2B":"bam",3:"bam"},{name:"Bashkir",local:"Башҡортса",1:"ba",2:"bak","2T":"bak","2B":"bak",3:"bak"},{name:"Basque",local:"Euskara",1:"eu",2:"eus","2T":"eus","2B":"baq",3:"eus"},{name:"Belarusian",local:"Беларуская",1:"be",2:"bel","2T":"bel","2B":"bel",3:"bel"},{name:"Bengali",local:"বাংলা",1:"bn",2:"ben","2T":"ben","2B":"ben",3:"ben"},{name:"Bihari",local:"भोजपुरी",1:"bh",2:"bih","2T":"bih","2B":"bih",3:"bih"},{name:"Bislama",local:"Bislama",1:"bi",2:"bis","2T":"bis","2B":"bis",3:"bis"},{name:"Bosnian",local:"Bosanski",1:"bs",2:"bos","2T":"bos","2B":"bos",3:"bos"},{name:"Breton",local:"Brezhoneg",1:"br",2:"bre","2T":"bre","2B":"bre",3:"bre"},{name:"Bulgarian",local:"Български",1:"bg",2:"bul","2T":"bul","2B":"bul",3:"bul"},{name:"Burmese",local:"မြန်မာဘာသာ",1:"my",2:"mya","2T":"mya","2B":"bur",3:"mya"},{name:"Catalan",local:"Català",1:"ca",2:"cat","2T":"cat","2B":"cat",3:"cat"},{name:"Chamorro",local:"Chamoru",1:"ch",2:"cha","2T":"cha","2B":"cha",3:"cha"},{name:"Chechen",local:"Нохчийн",1:"ce",2:"che","2T":"che","2B":"che",3:"che"},{name:"Chichewa",local:"Chichewa",1:"ny",2:"nya","2T":"nya","2B":"nya",3:"nya"},{name:"Chinese",local:"中文",1:"zh",2:"zho","2T":"zho","2B":"chi",3:"zho"},{name:"Chuvash",local:"Чӑвашла",1:"cv",2:"chv","2T":"chv","2B":"chv",3:"chv"},{name:"Cornish",local:"Kernewek",1:"kw",2:"cor","2T":"cor","2B":"cor",3:"cor"},{name:"Corsican",local:"Corsu",1:"co",2:"cos","2T":"cos","2B":"cos",3:"cos"},{name:"Cree",local:"ᓀᐦᐃᔭᐍᐏᐣ",1:"cr",2:"cre","2T":"cre","2B":"cre",3:"cre"},{name:"Croatian",local:"Hrvatski",1:"hr",2:"hrv","2T":"hrv","2B":"hrv",3:"hrv"},{name:"Czech",local:"Čeština",1:"cs",2:"ces","2T":"ces","2B":"cze",3:"ces"},{name:"Danish",local:"Dansk",1:"da",2:"dan","2T":"dan","2B":"dan",3:"dan"},{name:"Divehi",local:"Divehi",1:"dv",2:"div","2T":"div","2B":"div",3:"div"},{name:"Dutch",local:"Nederlands",1:"nl",2:"nld","2T":"nld","2B":"dut",3:"nld"},{name:"Dzongkha",local:"རྫོང་ཁ",1:"dz",2:"dzo","2T":"dzo","2B":"dzo",3:"dzo"},{name:"English",local:"English",1:"en",2:"eng","2T":"eng","2B":"eng",3:"eng"},{name:"Esperanto",local:"Esperanto",1:"eo",2:"epo","2T":"epo","2B":"epo",3:"epo"},{name:"Estonian",local:"Eesti",1:"et",2:"est","2T":"est","2B":"est",3:"est"},{name:"Ewe",local:"Eʋegbe",1:"ee",2:"ewe","2T":"ewe","2B":"ewe",3:"ewe"},{name:"Faroese",local:"Føroyskt",1:"fo",2:"fao","2T":"fao","2B":"fao",3:"fao"},{name:"Fijian",local:"Na Vosa Vaka-Viti",1:"fj",2:"fij","2T":"fij","2B":"fij",3:"fij"},{name:"Finnish",local:"Suomi",1:"fi",2:"fin","2T":"fin","2B":"fin",3:"fin"},{name:"French",local:"Français",1:"fr",2:"fra","2T":"fra","2B":"fre",3:"fra"},{name:"Fula",local:"Fulfulde",1:"ff",2:"ful","2T":"ful","2B":"ful",3:"ful"},{name:"Galician",local:"Galego",1:"gl",2:"glg","2T":"glg","2B":"glg",3:"glg"},{name:"Georgian",local:"ქართული",1:"ka",2:"kat","2T":"kat","2B":"geo",3:"kat"},{name:"German",local:"Deutsch",1:"de",2:"deu","2T":"deu","2B":"ger",3:"deu"},{name:"Greek",local:"Ελληνικά",1:"el",2:"ell","2T":"ell","2B":"gre",3:"ell"},{name:"Guaraní",local:"Avañe'ẽ",1:"gn",2:"grn","2T":"grn","2B":"grn",3:"grn"},{name:"Gujarati",local:"ગુજરાતી",1:"gu",2:"guj","2T":"guj","2B":"guj",3:"guj"},{name:"Haitian",local:"Kreyòl Ayisyen",1:"ht",2:"hat","2T":"hat","2B":"hat",3:"hat"},{name:"Hausa",local:"هَوُسَ",1:"ha",2:"hau","2T":"hau","2B":"hau",3:"hau"},{name:"Hebrew",local:"עברית",1:"he",2:"heb","2T":"heb","2B":"heb",3:"heb"},{name:"Herero",local:"Otjiherero",1:"hz",2:"her","2T":"her","2B":"her",3:"her"},{name:"Hindi",local:"हिन्दी",1:"hi",2:"hin","2T":"hin","2B":"hin",3:"hin"},{name:"Hiri Motu",local:"Hiri Motu",1:"ho",2:"hmo","2T":"hmo","2B":"hmo",3:"hmo"},{name:"Hungarian",local:"Magyar",1:"hu",2:"hun","2T":"hun","2B":"hun",3:"hun"},{name:"Interlingua",local:"Interlingua",1:"ia",2:"ina","2T":"ina","2B":"ina",3:"ina"},{name:"Indonesian",local:"Bahasa Indonesia",1:"id",2:"ind","2T":"ind","2B":"ind",3:"ind"},{name:"Interlingue",local:"Interlingue",1:"ie",2:"ile","2T":"ile","2B":"ile",3:"ile"},{name:"Irish",local:"Gaeilge",1:"ga",2:"gle","2T":"gle","2B":"gle",3:"gle"},{name:"Igbo",local:"Igbo",1:"ig",2:"ibo","2T":"ibo","2B":"ibo",3:"ibo"},{name:"Inupiaq",local:"Iñupiak",1:"ik",2:"ipk","2T":"ipk","2B":"ipk",3:"ipk"},{name:"Ido",local:"Ido",1:"io",2:"ido","2T":"ido","2B":"ido",3:"ido"},{name:"Icelandic",local:"Íslenska",1:"is",2:"isl","2T":"isl","2B":"ice",3:"isl"},{name:"Italian",local:"Italiano",1:"it",2:"ita","2T":"ita","2B":"ita",3:"ita"},{name:"Inuktitut",local:"ᐃᓄᒃᑎᑐᑦ",1:"iu",2:"iku","2T":"iku","2B":"iku",3:"iku"},{name:"Japanese",local:"日本語",1:"ja",2:"jpn","2T":"jpn","2B":"jpn",3:"jpn"},{name:"Javanese",local:"Basa Jawa",1:"jv",2:"jav","2T":"jav","2B":"jav",3:"jav"},{name:"Kalaallisut",local:"Kalaallisut",1:"kl",2:"kal","2T":"kal","2B":"kal",3:"kal"},{name:"Kannada",local:"ಕನ್ನಡ",1:"kn",2:"kan","2T":"kan","2B":"kan",3:"kan"},{name:"Kanuri",local:"Kanuri",1:"kr",2:"kau","2T":"kau","2B":"kau",3:"kau"},{name:"Kashmiri",local:"كشميري",1:"ks",2:"kas","2T":"kas","2B":"kas",3:"kas"},{name:"Kazakh",local:"Қазақша",1:"kk",2:"kaz","2T":"kaz","2B":"kaz",3:"kaz"},{name:"Khmer",local:"ភាសាខ្មែរ",1:"km",2:"khm","2T":"khm","2B":"khm",3:"khm"},{name:"Kikuyu",local:"Gĩkũyũ",1:"ki",2:"kik","2T":"kik","2B":"kik",3:"kik"},{name:"Kinyarwanda",local:"Kinyarwanda",1:"rw",2:"kin","2T":"kin","2B":"kin",3:"kin"},{name:"Kyrgyz",local:"Кыргызча",1:"ky",2:"kir","2T":"kir","2B":"kir",3:"kir"},{name:"Komi",local:"Коми",1:"kv",2:"kom","2T":"kom","2B":"kom",3:"kom"},{name:"Kongo",local:"Kongo",1:"kg",2:"kon","2T":"kon","2B":"kon",3:"kon"},{name:"Korean",local:"한국어",1:"ko",2:"kor","2T":"kor","2B":"kor",3:"kor"},{name:"Kurdish",local:"Kurdî",1:"ku",2:"kur","2T":"kur","2B":"kur",3:"kur"},{name:"Kwanyama",local:"Kuanyama",1:"kj",2:"kua","2T":"kua","2B":"kua",3:"kua"},{name:"Latin",local:"Latina",1:"la",2:"lat","2T":"lat","2B":"lat",3:"lat"},{name:"Luxembourgish",local:"Lëtzebuergesch",1:"lb",2:"ltz","2T":"ltz","2B":"ltz",3:"ltz"},{name:"Ganda",local:"Luganda",1:"lg",2:"lug","2T":"lug","2B":"lug",3:"lug"},{name:"Limburgish",local:"Limburgs",1:"li",2:"lim","2T":"lim","2B":"lim",3:"lim"},{name:"Lingala",local:"Lingála",1:"ln",2:"lin","2T":"lin","2B":"lin",3:"lin"},{name:"Lao",local:"ພາສາລາວ",1:"lo",2:"lao","2T":"lao","2B":"lao",3:"lao"},{name:"Lithuanian",local:"Lietuvių",1:"lt",2:"lit","2T":"lit","2B":"lit",3:"lit"},{name:"Luba-Katanga",local:"Tshiluba",1:"lu",2:"lub","2T":"lub","2B":"lub",3:"lub"},{name:"Latvian",local:"Latviešu",1:"lv",2:"lav","2T":"lav","2B":"lav",3:"lav"},{name:"Manx",local:"Gaelg",1:"gv",2:"glv","2T":"glv","2B":"glv",3:"glv"},{name:"Macedonian",local:"Македонски",1:"mk",2:"mkd","2T":"mkd","2B":"mac",3:"mkd"},{name:"Malagasy",local:"Malagasy",1:"mg",2:"mlg","2T":"mlg","2B":"mlg",3:"mlg"},{name:"Malay",local:"Bahasa Melayu",1:"ms",2:"msa","2T":"msa","2B":"may",3:"msa"},{name:"Malayalam",local:"മലയാളം",1:"ml",2:"mal","2T":"mal","2B":"mal",3:"mal"},{name:"Maltese",local:"Malti",1:"mt",2:"mlt","2T":"mlt","2B":"mlt",3:"mlt"},{name:"Māori",local:"Māori",1:"mi",2:"mri","2T":"mri","2B":"mao",3:"mri"},{name:"Marathi",local:"मराठी",1:"mr",2:"mar","2T":"mar","2B":"mar",3:"mar"},{name:"Marshallese",local:"Kajin M̧ajeļ",1:"mh",2:"mah","2T":"mah","2B":"mah",3:"mah"},{name:"Mongolian",local:"Монгол",1:"mn",2:"mon","2T":"mon","2B":"mon",3:"mon"},{name:"Nauru",local:"Dorerin Naoero",1:"na",2:"nau","2T":"nau","2B":"nau",3:"nau"},{name:"Navajo",local:"Diné Bizaad",1:"nv",2:"nav","2T":"nav","2B":"nav",3:"nav"},{name:"Northern Ndebele",local:"isiNdebele",1:"nd",2:"nde","2T":"nde","2B":"nde",3:"nde"},{name:"Nepali",local:"नेपाली",1:"ne",2:"nep","2T":"nep","2B":"nep",3:"nep"},{name:"Ndonga",local:"Owambo",1:"ng",2:"ndo","2T":"ndo","2B":"ndo",3:"ndo"},{name:"Norwegian Bokmål",local:"Norsk (Bokmål)",1:"nb",2:"nob","2T":"nob","2B":"nob",3:"nob"},{name:"Norwegian Nynorsk",local:"Norsk (Nynorsk)",1:"nn",2:"nno","2T":"nno","2B":"nno",3:"nno"},{name:"Norwegian",local:"Norsk",1:"no",2:"nor","2T":"nor","2B":"nor",3:"nor"},{name:"Nuosu",local:"ꆈꌠ꒿ Nuosuhxop",1:"ii",2:"iii","2T":"iii","2B":"iii",3:"iii"},{name:"Southern Ndebele",local:"isiNdebele",1:"nr",2:"nbl","2T":"nbl","2B":"nbl",3:"nbl"},{name:"Occitan",local:"Occitan",1:"oc",2:"oci","2T":"oci","2B":"oci",3:"oci"},{name:"Ojibwe",local:"ᐊᓂᔑᓈᐯᒧᐎᓐ",1:"oj",2:"oji","2T":"oji","2B":"oji",3:"oji"},{name:"Old Church Slavonic",local:"Словѣ́ньскъ",1:"cu",2:"chu","2T":"chu","2B":"chu",3:"chu"},{name:"Oromo",local:"Afaan Oromoo",1:"om",2:"orm","2T":"orm","2B":"orm",3:"orm"},{name:"Oriya",local:"ଓଡି଼ଆ",1:"or",2:"ori","2T":"ori","2B":"ori",3:"ori"},{name:"Ossetian",local:"Ирон æвзаг",1:"os",2:"oss","2T":"oss","2B":"oss",3:"oss"},{name:"Panjabi",local:"ਪੰਜਾਬੀ",1:"pa",2:"pan","2T":"pan","2B":"pan",3:"pan"},{name:"Pāli",local:"पाऴि",1:"pi",2:"pli","2T":"pli","2B":"pli",3:"pli"},{name:"Persian",local:"فارسی",1:"fa",2:"fas","2T":"fas","2B":"per",3:"fas"},{name:"Polish",local:"Polski",1:"pl",2:"pol","2T":"pol","2B":"pol",3:"pol"},{name:"Pashto",local:"پښتو",1:"ps",2:"pus","2T":"pus","2B":"pus",3:"pus"},{name:"Portuguese",local:"Português",1:"pt",2:"por","2T":"por","2B":"por",3:"por"},{name:"Quechua",local:"Runa Simi",1:"qu",2:"que","2T":"que","2B":"que",3:"que"},{name:"Romansh",local:"Rumantsch",1:"rm",2:"roh","2T":"roh","2B":"roh",3:"roh"},{name:"Kirundi",local:"Kirundi",1:"rn",2:"run","2T":"run","2B":"run",3:"run"},{name:"Romanian",local:"Română",1:"ro",2:"ron","2T":"ron","2B":"rum",3:"ron"},{name:"Russian",local:"Русский",1:"ru",2:"rus","2T":"rus","2B":"rus",3:"rus"},{name:"Sanskrit",local:"संस्कृतम्",1:"sa",2:"san","2T":"san","2B":"san",3:"san"},{name:"Sardinian",local:"Sardu",1:"sc",2:"srd","2T":"srd","2B":"srd",3:"srd"},{name:"Sindhi",local:"سنڌي‎",1:"sd",2:"snd","2T":"snd","2B":"snd",3:"snd"},{name:"Northern Sami",local:"Sámegiella",1:"se",2:"sme","2T":"sme","2B":"sme",3:"sme"},{name:"Samoan",local:"Gagana Sāmoa",1:"sm",2:"smo","2T":"smo","2B":"smo",3:"smo"},{name:"Sango",local:"Sängö",1:"sg",2:"sag","2T":"sag","2B":"sag",3:"sag"},{name:"Serbian",local:"Српски",1:"sr",2:"srp","2T":"srp","2B":"srp",3:"srp"},{name:"Gaelic",local:"Gàidhlig",1:"gd",2:"gla","2T":"gla","2B":"gla",3:"gla"},{name:"Shona",local:"ChiShona",1:"sn",2:"sna","2T":"sna","2B":"sna",3:"sna"},{name:"Sinhala",local:"සිංහල",1:"si",2:"sin","2T":"sin","2B":"sin",3:"sin"},{name:"Slovak",local:"Slovenčina",1:"sk",2:"slk","2T":"slk","2B":"slo",3:"slk"},{name:"Slovene",local:"Slovenščina",1:"sl",2:"slv","2T":"slv","2B":"slv",3:"slv"},{name:"Somali",local:"Soomaaliga",1:"so",2:"som","2T":"som","2B":"som",3:"som"},{name:"Southern Sotho",local:"Sesotho",1:"st",2:"sot","2T":"sot","2B":"sot",3:"sot"},{name:"Spanish",local:"Español",1:"es",2:"spa","2T":"spa","2B":"spa",3:"spa"},{name:"Sundanese",local:"Basa Sunda",1:"su",2:"sun","2T":"sun","2B":"sun",3:"sun"},{name:"Swahili",local:"Kiswahili",1:"sw",2:"swa","2T":"swa","2B":"swa",3:"swa"},{name:"Swati",local:"SiSwati",1:"ss",2:"ssw","2T":"ssw","2B":"ssw",3:"ssw"},{name:"Swedish",local:"Svenska",1:"sv",2:"swe","2T":"swe","2B":"swe",3:"swe"},{name:"Tamil",local:"தமிழ்",1:"ta",2:"tam","2T":"tam","2B":"tam",3:"tam"},{name:"Telugu",local:"తెలుగు",1:"te",2:"tel","2T":"tel","2B":"tel",3:"tel"},{name:"Tajik",local:"Тоҷикӣ",1:"tg",2:"tgk","2T":"tgk","2B":"tgk",3:"tgk"},{name:"Thai",local:"ภาษาไทย",1:"th",2:"tha","2T":"tha","2B":"tha",3:"tha"},{name:"Tigrinya",local:"ትግርኛ",1:"ti",2:"tir","2T":"tir","2B":"tir",3:"tir"},{name:"Tibetan Standard",local:"བོད་ཡིག",1:"bo",2:"bod","2T":"bod","2B":"tib",3:"bod"},{name:"Turkmen",local:"Türkmençe",1:"tk",2:"tuk","2T":"tuk","2B":"tuk",3:"tuk"},{name:"Tagalog",local:"Tagalog",1:"tl",2:"tgl","2T":"tgl","2B":"tgl",3:"tgl"},{name:"Tswana",local:"Setswana",1:"tn",2:"tsn","2T":"tsn","2B":"tsn",3:"tsn"},{name:"Tonga",local:"faka Tonga",1:"to",2:"ton","2T":"ton","2B":"ton",3:"ton"},{name:"Turkish",local:"Türkçe",1:"tr",2:"tur","2T":"tur","2B":"tur",3:"tur"},{name:"Tsonga",local:"Xitsonga",1:"ts",2:"tso","2T":"tso","2B":"tso",3:"tso"},{name:"Tatar",local:"Татарча",1:"tt",2:"tat","2T":"tat","2B":"tat",3:"tat"},{name:"Twi",local:"Twi",1:"tw",2:"twi","2T":"twi","2B":"twi",3:"twi"},{name:"Tahitian",local:"Reo Mā’ohi",1:"ty",2:"tah","2T":"tah","2B":"tah",3:"tah"},{name:"Uyghur",local:"ئۇيغۇرچه",1:"ug",2:"uig","2T":"uig","2B":"uig",3:"uig"},{name:"Ukrainian",local:"Українська",1:"uk",2:"ukr","2T":"ukr","2B":"ukr",3:"ukr"},{name:"Urdu",local:"اردو",1:"ur",2:"urd","2T":"urd","2B":"urd",3:"urd"},{name:"Uzbek",local:"O‘zbek",1:"uz",2:"uzb","2T":"uzb","2B":"uzb",3:"uzb"},{name:"Venda",local:"Tshivenḓa",1:"ve",2:"ven","2T":"ven","2B":"ven",3:"ven"},{name:"Vietnamese",local:"Tiếng Việt",1:"vi",2:"vie","2T":"vie","2B":"vie",3:"vie"},{name:"Volapük",local:"Volapük",1:"vo",2:"vol","2T":"vol","2B":"vol",3:"vol"},{name:"Walloon",local:"Walon",1:"wa",2:"wln","2T":"wln","2B":"wln",3:"wln"},{name:"Welsh",local:"Cymraeg",1:"cy",2:"cym","2T":"cym","2B":"wel",3:"cym"},{name:"Wolof",local:"Wolof",1:"wo",2:"wol","2T":"wol","2B":"wol",3:"wol"},{name:"Western Frisian",local:"Frysk",1:"fy",2:"fry","2T":"fry","2B":"fry",3:"fry"},{name:"Xhosa",local:"isiXhosa",1:"xh",2:"xho","2T":"xho","2B":"xho",3:"xho"},{name:"Yiddish",local:"ייִדיש",1:"yi",2:"yid","2T":"yid","2B":"yid",3:"yid"},{name:"Yoruba",local:"Yorùbá",1:"yo",2:"yor","2T":"yor","2B":"yor",3:"yor"},{name:"Zhuang",local:"Cuengh",1:"za",2:"zha","2T":"zha","2B":"zha",3:"zha"},{name:"Zulu",local:"isiZulu",1:"zu",2:"zul","2T":"zul","2B":"zul",3:"zul"}]},27576:(e,t,a)=>{var o=a(85457),i={all:function(){return o},has:function(e,t){return void 0!==n(e,t)},codes:function(e){if((function(e){return-1!==[1,2,3,"1","2","2B","2T","3"].indexOf(e)})(e))return r(o,(function(t){return t[e]}))},names:function(e){return r(o,(function(t){return e?t.local:t.name}))},where:n};function n(e,t){for(var a=0;a<o.length;a++)if(t===o[a][e])return o[a]}function r(e,t){var a,o=[];for(a=0;a<e.length;a++)o.push(t(e[a],a));return o}e.exports=i},83465:(e,t,a)=>{e=a.nmd(e);var o="__lodash_hash_undefined__",i=9007199254740991,n="[object Arguments]",r="[object Boolean]",E="[object Date]",_="[object Function]",T="[object GeneratorFunction]",s="[object Map]",S="[object Number]",l="[object Object]",I="[object Promise]",A="[object RegExp]",u="[object Set]",d="[object String]",c="[object Symbol]",O="[object WeakMap]",R="[object ArrayBuffer]",N="[object DataView]",m="[object Float32Array]",L="[object Float64Array]",D="[object Int8Array]",p="[object Int16Array]",h="[object Int32Array]",C="[object Uint8Array]",f="[object Uint8ClampedArray]",B="[object Uint16Array]",P="[object Uint32Array]",g=/\w*$/,v=/^\[object .+?Constructor\]$/,y=/^(?:0|[1-9]\d*)$/,W={};W[n]=W["[object Array]"]=W[R]=W[N]=W[r]=W[E]=W[m]=W[L]=W[D]=W[p]=W[h]=W[s]=W[S]=W[l]=W[A]=W[u]=W[d]=W[c]=W[C]=W[f]=W[B]=W[P]=!0,W["[object Error]"]=W[_]=W[O]=!1;var M="object"==typeof a.g&&a.g&&a.g.Object===Object&&a.g,b="object"==typeof self&&self&&self.Object===Object&&self,U=M||b||Function("return this")(),G=t&&!t.nodeType&&t,k=G&&e&&!e.nodeType&&e,F=k&&k.exports===G;function V(e,t){return e.set(t[0],t[1]),e}function H(e,t){return e.add(t),e}function w(e,t,a,o){var i=-1,n=e?e.length:0;for(o&&n&&(a=e[++i]);++i<n;)a=t(a,e[i],i,e);return a}function Y(e){var t=!1;if(null!=e&&"function"!=typeof e.toString)try{t=!!(e+"")}catch(e){}return t}function z(e){var t=-1,a=Array(e.size);return e.forEach((function(e,o){a[++t]=[o,e]})),a}function K(e,t){return function(a){return e(t(a))}}function x(e){var t=-1,a=Array(e.size);return e.forEach((function(e){a[++t]=e})),a}var j,Q=Array.prototype,X=Function.prototype,$=Object.prototype,q=U["__core-js_shared__"],J=(j=/[^.]+$/.exec(q&&q.keys&&q.keys.IE_PROTO||""))?"Symbol(src)_1."+j:"",Z=X.toString,ee=$.hasOwnProperty,te=$.toString,ae=RegExp("^"+Z.call(ee).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),oe=F?U.Buffer:void 0,ie=U.Symbol,ne=U.Uint8Array,re=K(Object.getPrototypeOf,Object),Ee=Object.create,_e=$.propertyIsEnumerable,Te=Q.splice,se=Object.getOwnPropertySymbols,Se=oe?oe.isBuffer:void 0,le=K(Object.keys,Object),Ie=ke(U,"DataView"),Ae=ke(U,"Map"),ue=ke(U,"Promise"),de=ke(U,"Set"),ce=ke(U,"WeakMap"),Oe=ke(Object,"create"),Re=Ye(Ie),Ne=Ye(Ae),me=Ye(ue),Le=Ye(de),De=Ye(ce),pe=ie?ie.prototype:void 0,he=pe?pe.valueOf:void 0;function Ce(e){var t=-1,a=e?e.length:0;for(this.clear();++t<a;){var o=e[t];this.set(o[0],o[1])}}function fe(e){var t=-1,a=e?e.length:0;for(this.clear();++t<a;){var o=e[t];this.set(o[0],o[1])}}function Be(e){var t=-1,a=e?e.length:0;for(this.clear();++t<a;){var o=e[t];this.set(o[0],o[1])}}function Pe(e){this.__data__=new fe(e)}function ge(e,t){var a=Ke(e)||(function(e){return(function(e){return(function(e){return!!e&&"object"==typeof e})(e)&&xe(e)})(e)&&ee.call(e,"callee")&&(!_e.call(e,"callee")||te.call(e)==n)})(e)?(function(e,t){for(var a=-1,o=Array(e);++a<e;)o[a]=t(a);return o})(e.length,String):[],o=a.length,i=!!o;for(var r in e)!t&&!ee.call(e,r)||i&&("length"==r||He(r,o))||a.push(r);return a}function ve(e,t,a){var o=e[t];ee.call(e,t)&&ze(o,a)&&(void 0!==a||t in e)||(e[t]=a)}function ye(e,t){for(var a=e.length;a--;)if(ze(e[a][0],t))return a;return-1}function We(e,t,a,o,i,I,O){var v;if(o&&(v=I?o(e,i,I,O):o(e)),void 0!==v)return v;if(!Xe(e))return e;var y=Ke(e);if(y){if(v=(function(e){var t=e.length,a=e.constructor(t);t&&"string"==typeof e[0]&&ee.call(e,"index")&&(a.index=e.index,a.input=e.input);return a})(e),!t)return(function(e,t){var a=-1,o=e.length;t||(t=Array(o));for(;++a<o;)t[a]=e[a];return t})(e,v)}else{var M=Ve(e),b=M==_||M==T;if(je(e))return(function(e,t){if(t)return e.slice();var a=new e.constructor(e.length);return e.copy(a),a})(e,t);if(M==l||M==n||b&&!I){if(Y(e))return I?e:{};if(v=(function(e){return"function"!=typeof e.constructor||we(e)?{}:(t=re(e),Xe(t)?Ee(t):{});var t})(b?{}:e),!t)return(function(e,t){return Ue(e,Fe(e),t)})(e,(function(e,t){return e&&Ue(t,$e(t),e)})(v,e))}else{if(!W[M])return I?e:{};v=(function(e,t,a,o){var i=e.constructor;switch(t){case R:return be(e);case r:case E:return new i(+e);case N:return(function(e,t){var a=t?be(e.buffer):e.buffer;return new e.constructor(a,e.byteOffset,e.byteLength)})(e,o);case m:case L:case D:case p:case h:case C:case f:case B:case P:return(function(e,t){var a=t?be(e.buffer):e.buffer;return new e.constructor(a,e.byteOffset,e.length)})(e,o);case s:return(function(e,t,a){return w(t?a(z(e),!0):z(e),V,new e.constructor)})(e,o,a);case S:case d:return new i(e);case A:return(function(e){var t=new e.constructor(e.source,g.exec(e));return t.lastIndex=e.lastIndex,t})(e);case u:return(function(e,t,a){return w(t?a(x(e),!0):x(e),H,new e.constructor)})(e,o,a);case c:return n=e,he?Object(he.call(n)):{}}var n})(e,M,We,t)}}O||(O=new Pe);var U=O.get(e);if(U)return U;if(O.set(e,v),!y)var G=a?(function(e){return(function(e,t,a){var o=t(e);return Ke(e)?o:(function(e,t){for(var a=-1,o=t.length,i=e.length;++a<o;)e[i+a]=t[a];return e})(o,a(e))})(e,$e,Fe)})(e):$e(e);return(function(e,t){for(var a=-1,o=e?e.length:0;++a<o&&!1!==t(e[a],a,e););})(G||e,(function(i,n){G&&(i=e[n=i]),ve(v,n,We(i,t,a,o,n,e,O))})),v}function Me(e){return!(!Xe(e)||(t=e,J&&J in t))&&(Qe(e)||Y(e)?ae:v).test(Ye(e));var t}function be(e){var t=new e.constructor(e.byteLength);return new ne(t).set(new ne(e)),t}function Ue(e,t,a,o){a||(a={});for(var i=-1,n=t.length;++i<n;){var r=t[i],E=o?o(a[r],e[r],r,a,e):void 0;ve(a,r,void 0===E?e[r]:E)}return a}function Ge(e,t){var a,o,i=e.__data__;return("string"==(o=typeof(a=t))||"number"==o||"symbol"==o||"boolean"==o?"__proto__"!==a:null===a)?i["string"==typeof t?"string":"hash"]:i.map}function ke(e,t){var a=(function(e,t){return null==e?void 0:e[t]})(e,t);return Me(a)?a:void 0}Ce.prototype.clear=function(){this.__data__=Oe?Oe(null):{}},Ce.prototype.delete=function(e){return this.has(e)&&delete this.__data__[e]},Ce.prototype.get=function(e){var t=this.__data__;if(Oe){var a=t[e];return a===o?void 0:a}return ee.call(t,e)?t[e]:void 0},Ce.prototype.has=function(e){var t=this.__data__;return Oe?void 0!==t[e]:ee.call(t,e)},Ce.prototype.set=function(e,t){return this.__data__[e]=Oe&&void 0===t?o:t,this},fe.prototype.clear=function(){this.__data__=[]},fe.prototype.delete=function(e){var t=this.__data__,a=ye(t,e);return!(a<0)&&(a==t.length-1?t.pop():Te.call(t,a,1),!0)},fe.prototype.get=function(e){var t=this.__data__,a=ye(t,e);return a<0?void 0:t[a][1]},fe.prototype.has=function(e){return ye(this.__data__,e)>-1},fe.prototype.set=function(e,t){var a=this.__data__,o=ye(a,e);return o<0?a.push([e,t]):a[o][1]=t,this},Be.prototype.clear=function(){this.__data__={hash:new Ce,map:new(Ae||fe),string:new Ce}},Be.prototype.delete=function(e){return Ge(this,e).delete(e)},Be.prototype.get=function(e){return Ge(this,e).get(e)},Be.prototype.has=function(e){return Ge(this,e).has(e)},Be.prototype.set=function(e,t){return Ge(this,e).set(e,t),this},Pe.prototype.clear=function(){this.__data__=new fe},Pe.prototype.delete=function(e){return this.__data__.delete(e)},Pe.prototype.get=function(e){return this.__data__.get(e)},Pe.prototype.has=function(e){return this.__data__.has(e)},Pe.prototype.set=function(e,t){var a=this.__data__;if(a instanceof fe){var o=a.__data__;if(!Ae||o.length<199)return o.push([e,t]),this;a=this.__data__=new Be(o)}return a.set(e,t),this};var Fe=se?K(se,Object):function(){return[]},Ve=function(e){return te.call(e)};function He(e,t){return!!(t=null==t?i:t)&&("number"==typeof e||y.test(e))&&e>-1&&e%1==0&&e<t}function we(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||$)}function Ye(e){if(null!=e){try{return Z.call(e)}catch(e){}try{return e+""}catch(e){}}return""}function ze(e,t){return e===t||e!=e&&t!=t}(Ie&&Ve(new Ie(new ArrayBuffer(1)))!=N||Ae&&Ve(new Ae)!=s||ue&&Ve(ue.resolve())!=I||de&&Ve(new de)!=u||ce&&Ve(new ce)!=O)&&(Ve=function(e){var t=te.call(e),a=t==l?e.constructor:void 0,o=a?Ye(a):void 0;if(o)switch(o){case Re:return N;case Ne:return s;case me:return I;case Le:return u;case De:return O}return t});var Ke=Array.isArray;function xe(e){return null!=e&&(function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=i})(e.length)&&!Qe(e)}var je=Se||function(){return!1};function Qe(e){var t=Xe(e)?te.call(e):"";return t==_||t==T}function Xe(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function $e(e){return xe(e)?ge(e):(function(e){if(!we(e))return le(e);var t=[];for(var a in Object(e))ee.call(e,a)&&"constructor"!=a&&t.push(a);return t})(e)}e.exports=function(e){return We(e,!0,!0)}},91296:(e,t,a)=>{var o=/^\s+|\s+$/g,i=/^[-+]0x[0-9a-f]+$/i,n=/^0b[01]+$/i,r=/^0o[0-7]+$/i,E=parseInt,_="object"==typeof a.g&&a.g&&a.g.Object===Object&&a.g,T="object"==typeof self&&self&&self.Object===Object&&self,s=_||T||Function("return this")(),S=Object.prototype.toString,l=Math.max,I=Math.min,A=function(){return s.Date.now()};function u(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function d(e){if("number"==typeof e)return e;if((function(e){return"symbol"==typeof e||(function(e){return!!e&&"object"==typeof e})(e)&&"[object Symbol]"==S.call(e)})(e))return NaN;if(u(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=u(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(o,"");var a=n.test(e);return a||r.test(e)?E(e.slice(2),a?2:8):i.test(e)?NaN:+e}e.exports=function(e,t,a){var o,i,n,r,E,_,T=0,s=!1,S=!1,c=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function O(t){var a=o,n=i;return o=i=void 0,T=t,r=e.apply(n,a)}function R(e){return T=e,E=setTimeout(m,t),s?O(e):r}function N(e){var a=e-_;return void 0===_||a>=t||a<0||S&&e-T>=n}function m(){var e=A();if(N(e))return L(e);E=setTimeout(m,(function(e){var a=t-(e-_);return S?I(a,n-(e-T)):a})(e))}function L(e){return E=void 0,c&&o?O(e):(o=i=void 0,r)}function D(){var e=A(),a=N(e);if(o=arguments,i=this,_=e,a){if(void 0===E)return R(_);if(S)return E=setTimeout(m,t),O(_)}return void 0===E&&(E=setTimeout(m,t)),r}return t=d(t)||0,u(a)&&(s=!!a.leading,n=(S="maxWait"in a)?l(d(a.maxWait)||0,t):n,c="trailing"in a?!!a.trailing:c),D.cancel=function(){void 0!==E&&clearTimeout(E),T=0,o=_=i=E=void 0},D.flush=function(){return void 0===E?r:L(A())},D}},20394:(e,t,a)=>{var o="__lodash_hash_undefined__",i=9007199254740991,n=/^\[object .+?Constructor\]$/,r="object"==typeof a.g&&a.g&&a.g.Object===Object&&a.g,E="object"==typeof self&&self&&self.Object===Object&&self,_=r||E||Function("return this")();function T(e,t,a){switch(a.length){case 0:return e.call(t);case 1:return e.call(t,a[0]);case 2:return e.call(t,a[0],a[1]);case 3:return e.call(t,a[0],a[1],a[2])}return e.apply(t,a)}function s(e,t){return!!(e?e.length:0)&&(function(e,t,a){if(t!=t)return(function(e,t,a,o){var i=e.length,n=a+(o?1:-1);for(;o?n--:++n<i;)if(t(e[n],n,e))return n;return-1})(e,I,a);var o=a-1,i=e.length;for(;++o<i;)if(e[o]===t)return o;return-1})(e,t,0)>-1}function S(e,t,a){for(var o=-1,i=e?e.length:0;++o<i;)if(a(t,e[o]))return!0;return!1}function l(e,t){for(var a=-1,o=e?e.length:0,i=Array(o);++a<o;)i[a]=t(e[a],a,e);return i}function I(e){return e!=e}function A(e){return function(t){return e(t)}}function u(e,t){return e.has(t)}var d,c=Array.prototype,O=Function.prototype,R=Object.prototype,N=_["__core-js_shared__"],m=(d=/[^.]+$/.exec(N&&N.keys&&N.keys.IE_PROTO||""))?"Symbol(src)_1."+d:"",L=O.toString,D=R.hasOwnProperty,p=R.toString,h=RegExp("^"+L.call(D).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),C=c.splice,f=Math.max,B=Math.min,P=F(_,"Map"),g=F(Object,"create");function v(e){var t=-1,a=e?e.length:0;for(this.clear();++t<a;){var o=e[t];this.set(o[0],o[1])}}function y(e){var t=-1,a=e?e.length:0;for(this.clear();++t<a;){var o=e[t];this.set(o[0],o[1])}}function W(e){var t=-1,a=e?e.length:0;for(this.clear();++t<a;){var o=e[t];this.set(o[0],o[1])}}function M(e){var t=-1,a=e?e.length:0;for(this.__data__=new W;++t<a;)this.add(e[t])}function b(e,t){for(var a,o,i=e.length;i--;)if((a=e[i][0])===(o=t)||a!=a&&o!=o)return i;return-1}function U(e){if(!z(e)||(t=e,m&&m in t))return!1;var t,a=Y(e)||(function(e){var t=!1;if(null!=e&&"function"!=typeof e.toString)try{t=!!(e+"")}catch(e){}return t})(e)?h:n;return a.test((function(e){if(null!=e){try{return L.call(e)}catch(e){}try{return e+""}catch(e){}}return""})(e))}function G(e){return(function(e){return(function(e){return!!e&&"object"==typeof e})(e)&&(function(e){return null!=e&&(function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=i})(e.length)&&!Y(e)})(e)})(e)?e:[]}function k(e,t){var a,o,i=e.__data__;return("string"==(o=typeof(a=t))||"number"==o||"symbol"==o||"boolean"==o?"__proto__"!==a:null===a)?i["string"==typeof t?"string":"hash"]:i.map}function F(e,t){var a=(function(e,t){return null==e?void 0:e[t]})(e,t);return U(a)?a:void 0}v.prototype.clear=function(){this.__data__=g?g(null):{}},v.prototype.delete=function(e){return this.has(e)&&delete this.__data__[e]},v.prototype.get=function(e){var t=this.__data__;if(g){var a=t[e];return a===o?void 0:a}return D.call(t,e)?t[e]:void 0},v.prototype.has=function(e){var t=this.__data__;return g?void 0!==t[e]:D.call(t,e)},v.prototype.set=function(e,t){return this.__data__[e]=g&&void 0===t?o:t,this},y.prototype.clear=function(){this.__data__=[]},y.prototype.delete=function(e){var t=this.__data__,a=b(t,e);return!(a<0)&&(a==t.length-1?t.pop():C.call(t,a,1),!0)},y.prototype.get=function(e){var t=this.__data__,a=b(t,e);return a<0?void 0:t[a][1]},y.prototype.has=function(e){return b(this.__data__,e)>-1},y.prototype.set=function(e,t){var a=this.__data__,o=b(a,e);return o<0?a.push([e,t]):a[o][1]=t,this},W.prototype.clear=function(){this.__data__={hash:new v,map:new(P||y),string:new v}},W.prototype.delete=function(e){return k(this,e).delete(e)},W.prototype.get=function(e){return k(this,e).get(e)},W.prototype.has=function(e){return k(this,e).has(e)},W.prototype.set=function(e,t){return k(this,e).set(e,t),this},M.prototype.add=M.prototype.push=function(e){return this.__data__.set(e,o),this},M.prototype.has=function(e){return this.__data__.has(e)};var V,H,w=(V=function(e){var t=l(e,G);return t.length&&t[0]===e[0]?(function(e,t,a){for(var o=a?S:s,i=e[0].length,n=e.length,r=n,E=Array(n),_=1/0,T=[];r--;){var I=e[r];r&&t&&(I=l(I,A(t))),_=B(I.length,_),E[r]=!a&&(t||i>=120&&I.length>=120)?new M(r&&I):void 0}I=e[0];var d=-1,c=E[0];e:for(;++d<i&&T.length<_;){var O=I[d],R=t?t(O):O;if(O=a||0!==O?O:0,!(c?u(c,R):o(T,R,a))){for(r=n;--r;){var N=E[r];if(!(N?u(N,R):o(e[r],R,a)))continue e}c&&c.push(R),T.push(O)}}return T})(t):[]},H=f(void 0===H?V.length-1:H,0),function(){for(var e=arguments,t=-1,a=f(e.length-H,0),o=Array(a);++t<a;)o[t]=e[H+t];t=-1;for(var i=Array(H+1);++t<H;)i[t]=e[t];return i[H]=o,T(V,this,i)});function Y(e){var t=z(e)?p.call(e):"";return"[object Function]"==t||"[object GeneratorFunction]"==t}function z(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}e.exports=w},72307:(e,t,a)=>{e=a.nmd(e);var o="__lodash_hash_undefined__",i=9007199254740991,n="[object Arguments]",r="[object Array]",E="[object Boolean]",_="[object Date]",T="[object Error]",s="[object Function]",S="[object Map]",l="[object Number]",I="[object Object]",A="[object Promise]",u="[object RegExp]",d="[object Set]",c="[object String]",O="[object Symbol]",R="[object WeakMap]",N="[object ArrayBuffer]",m="[object DataView]",L=/^\[object .+?Constructor\]$/,D=/^(?:0|[1-9]\d*)$/,p={};p["[object Float32Array]"]=p["[object Float64Array]"]=p["[object Int8Array]"]=p["[object Int16Array]"]=p["[object Int32Array]"]=p["[object Uint8Array]"]=p["[object Uint8ClampedArray]"]=p["[object Uint16Array]"]=p["[object Uint32Array]"]=!0,p[n]=p[r]=p[N]=p[E]=p[m]=p[_]=p[T]=p[s]=p[S]=p[l]=p[I]=p[u]=p[d]=p[c]=p[R]=!1;var h="object"==typeof a.g&&a.g&&a.g.Object===Object&&a.g,C="object"==typeof self&&self&&self.Object===Object&&self,f=h||C||Function("return this")(),B=t&&!t.nodeType&&t,P=B&&e&&!e.nodeType&&e,g=P&&P.exports===B,v=g&&h.process,y=(function(){try{return v&&v.binding&&v.binding("util")}catch(e){}})(),W=y&&y.isTypedArray;function M(e,t){for(var a=-1,o=null==e?0:e.length;++a<o;)if(t(e[a],a,e))return!0;return!1}function b(e){var t=-1,a=Array(e.size);return e.forEach((function(e,o){a[++t]=[o,e]})),a}function U(e){var t=-1,a=Array(e.size);return e.forEach((function(e){a[++t]=e})),a}var G,k,F,V=Array.prototype,H=Function.prototype,w=Object.prototype,Y=f["__core-js_shared__"],z=H.toString,K=w.hasOwnProperty,x=(G=/[^.]+$/.exec(Y&&Y.keys&&Y.keys.IE_PROTO||""))?"Symbol(src)_1."+G:"",j=w.toString,Q=RegExp("^"+z.call(K).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),X=g?f.Buffer:void 0,$=f.Symbol,q=f.Uint8Array,J=w.propertyIsEnumerable,Z=V.splice,ee=$?$.toStringTag:void 0,te=Object.getOwnPropertySymbols,ae=X?X.isBuffer:void 0,oe=(k=Object.keys,F=Object,function(e){return k(F(e))}),ie=ye(f,"DataView"),ne=ye(f,"Map"),re=ye(f,"Promise"),Ee=ye(f,"Set"),_e=ye(f,"WeakMap"),Te=ye(Object,"create"),se=Ue(ie),Se=Ue(ne),le=Ue(re),Ie=Ue(Ee),Ae=Ue(_e),ue=$?$.prototype:void 0,de=ue?ue.valueOf:void 0;function ce(e){var t=-1,a=null==e?0:e.length;for(this.clear();++t<a;){var o=e[t];this.set(o[0],o[1])}}function Oe(e){var t=-1,a=null==e?0:e.length;for(this.clear();++t<a;){var o=e[t];this.set(o[0],o[1])}}function Re(e){var t=-1,a=null==e?0:e.length;for(this.clear();++t<a;){var o=e[t];this.set(o[0],o[1])}}function Ne(e){var t=-1,a=null==e?0:e.length;for(this.__data__=new Re;++t<a;)this.add(e[t])}function me(e){var t=this.__data__=new Oe(e);this.size=t.size}function Le(e,t){var a=Fe(e),o=!a&&ke(e),i=!a&&!o&&Ve(e),n=!a&&!o&&!i&&Ke(e),r=a||o||i||n,E=r?(function(e,t){for(var a=-1,o=Array(e);++a<e;)o[a]=t(a);return o})(e.length,String):[],_=E.length;for(var T in e)!t&&!K.call(e,T)||r&&("length"==T||i&&("offset"==T||"parent"==T)||n&&("buffer"==T||"byteLength"==T||"byteOffset"==T)||be(T,_))||E.push(T);return E}function De(e,t){for(var a=e.length;a--;)if(Ge(e[a][0],t))return a;return-1}function pe(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":ee&&ee in Object(e)?(function(e){var t=K.call(e,ee),a=e[ee];try{e[ee]=void 0;var o=!0}catch(e){}var i=j.call(e);o&&(t?e[ee]=a:delete e[ee]);return i})(e):(function(e){return j.call(e)})(e)}function he(e){return ze(e)&&pe(e)==n}function Ce(e,t,a,o,i){return e===t||(null==e||null==t||!ze(e)&&!ze(t)?e!=e&&t!=t:(function(e,t,a,o,i,s){var A=Fe(e),R=Fe(t),L=A?r:Me(e),D=R?r:Me(t),p=(L=L==n?I:L)==I,h=(D=D==n?I:D)==I,C=L==D;if(C&&Ve(e)){if(!Ve(t))return!1;A=!0,p=!1}if(C&&!p)return s||(s=new me),A||Ke(e)?Pe(e,t,a,o,i,s):(function(e,t,a,o,i,n,r){switch(a){case m:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case N:return!(e.byteLength!=t.byteLength||!n(new q(e),new q(t)));case E:case _:case l:return Ge(+e,+t);case T:return e.name==t.name&&e.message==t.message;case u:case c:return e==t+"";case S:var s=b;case d:var I=1&o;if(s||(s=U),e.size!=t.size&&!I)return!1;var A=r.get(e);if(A)return A==t;o|=2,r.set(e,t);var R=Pe(s(e),s(t),o,i,n,r);return r.delete(e),R;case O:if(de)return de.call(e)==de.call(t)}return!1})(e,t,L,a,o,i,s);if(!(1&a)){var f=p&&K.call(e,"__wrapped__"),B=h&&K.call(t,"__wrapped__");if(f||B){var P=f?e.value():e,g=B?t.value():t;return s||(s=new me),i(P,g,a,o,s)}}if(!C)return!1;return s||(s=new me),(function(e,t,a,o,i,n){var r=1&a,E=ge(e),_=E.length,T=ge(t).length;if(_!=T&&!r)return!1;var s=_;for(;s--;){var S=E[s];if(!(r?S in t:K.call(t,S)))return!1}var l=n.get(e);if(l&&n.get(t))return l==t;var I=!0;n.set(e,t),n.set(t,e);var A=r;for(;++s<_;){var u=e[S=E[s]],d=t[S];if(o)var c=r?o(d,u,S,t,e,n):o(u,d,S,e,t,n);if(!(void 0===c?u===d||i(u,d,a,o,n):c)){I=!1;break}A||(A="constructor"==S)}if(I&&!A){var O=e.constructor,R=t.constructor;O==R||!("constructor"in e)||!("constructor"in t)||"function"==typeof O&&O instanceof O&&"function"==typeof R&&R instanceof R||(I=!1)}return n.delete(e),n.delete(t),I})(e,t,a,o,i,s)})(e,t,a,o,Ce,i))}function fe(e){return!(!Ye(e)||(function(e){return!!x&&x in e})(e))&&(He(e)?Q:L).test(Ue(e))}function Be(e){if(a=(t=e)&&t.constructor,o="function"==typeof a&&a.prototype||w,t!==o)return oe(e);var t,a,o,i=[];for(var n in Object(e))K.call(e,n)&&"constructor"!=n&&i.push(n);return i}function Pe(e,t,a,o,i,n){var r=1&a,E=e.length,_=t.length;if(E!=_&&!(r&&_>E))return!1;var T=n.get(e);if(T&&n.get(t))return T==t;var s=-1,S=!0,l=2&a?new Ne:void 0;for(n.set(e,t),n.set(t,e);++s<E;){var I=e[s],A=t[s];if(o)var u=r?o(A,I,s,t,e,n):o(I,A,s,e,t,n);if(void 0!==u){if(u)continue;S=!1;break}if(l){if(!M(t,(function(e,t){if(r=t,!l.has(r)&&(I===e||i(I,e,a,o,n)))return l.push(t);var r}))){S=!1;break}}else if(I!==A&&!i(I,A,a,o,n)){S=!1;break}}return n.delete(e),n.delete(t),S}function ge(e){return(function(e,t,a){var o=t(e);return Fe(e)?o:(function(e,t){for(var a=-1,o=t.length,i=e.length;++a<o;)e[i+a]=t[a];return e})(o,a(e))})(e,xe,We)}function ve(e,t){var a,o,i=e.__data__;return("string"==(o=typeof(a=t))||"number"==o||"symbol"==o||"boolean"==o?"__proto__"!==a:null===a)?i["string"==typeof t?"string":"hash"]:i.map}function ye(e,t){var a=(function(e,t){return null==e?void 0:e[t]})(e,t);return fe(a)?a:void 0}ce.prototype.clear=function(){this.__data__=Te?Te(null):{},this.size=0},ce.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},ce.prototype.get=function(e){var t=this.__data__;if(Te){var a=t[e];return a===o?void 0:a}return K.call(t,e)?t[e]:void 0},ce.prototype.has=function(e){var t=this.__data__;return Te?void 0!==t[e]:K.call(t,e)},ce.prototype.set=function(e,t){var a=this.__data__;return this.size+=this.has(e)?0:1,a[e]=Te&&void 0===t?o:t,this},Oe.prototype.clear=function(){this.__data__=[],this.size=0},Oe.prototype.delete=function(e){var t=this.__data__,a=De(t,e);return!(a<0)&&(a==t.length-1?t.pop():Z.call(t,a,1),--this.size,!0)},Oe.prototype.get=function(e){var t=this.__data__,a=De(t,e);return a<0?void 0:t[a][1]},Oe.prototype.has=function(e){return De(this.__data__,e)>-1},Oe.prototype.set=function(e,t){var a=this.__data__,o=De(a,e);return o<0?(++this.size,a.push([e,t])):a[o][1]=t,this},Re.prototype.clear=function(){this.size=0,this.__data__={hash:new ce,map:new(ne||Oe),string:new ce}},Re.prototype.delete=function(e){var t=ve(this,e).delete(e);return this.size-=t?1:0,t},Re.prototype.get=function(e){return ve(this,e).get(e)},Re.prototype.has=function(e){return ve(this,e).has(e)},Re.prototype.set=function(e,t){var a=ve(this,e),o=a.size;return a.set(e,t),this.size+=a.size==o?0:1,this},Ne.prototype.add=Ne.prototype.push=function(e){return this.__data__.set(e,o),this},Ne.prototype.has=function(e){return this.__data__.has(e)},me.prototype.clear=function(){this.__data__=new Oe,this.size=0},me.prototype.delete=function(e){var t=this.__data__,a=t.delete(e);return this.size=t.size,a},me.prototype.get=function(e){return this.__data__.get(e)},me.prototype.has=function(e){return this.__data__.has(e)},me.prototype.set=function(e,t){var a=this.__data__;if(a instanceof Oe){var o=a.__data__;if(!ne||o.length<199)return o.push([e,t]),this.size=++a.size,this;a=this.__data__=new Re(o)}return a.set(e,t),this.size=a.size,this};var We=te?function(e){return null==e?[]:(e=Object(e),(function(e,t){for(var a=-1,o=null==e?0:e.length,i=0,n=[];++a<o;){var r=e[a];t(r,a,e)&&(n[i++]=r)}return n})(te(e),(function(t){return J.call(e,t)})))}:function(){return[]},Me=pe;function be(e,t){return!!(t=null==t?i:t)&&("number"==typeof e||D.test(e))&&e>-1&&e%1==0&&e<t}function Ue(e){if(null!=e){try{return z.call(e)}catch(e){}try{return e+""}catch(e){}}return""}function Ge(e,t){return e===t||e!=e&&t!=t}(ie&&Me(new ie(new ArrayBuffer(1)))!=m||ne&&Me(new ne)!=S||re&&Me(re.resolve())!=A||Ee&&Me(new Ee)!=d||_e&&Me(new _e)!=R)&&(Me=function(e){var t=pe(e),a=t==I?e.constructor:void 0,o=a?Ue(a):"";if(o)switch(o){case se:return m;case Se:return S;case le:return A;case Ie:return d;case Ae:return R}return t});var ke=he((function(){return arguments})())?he:function(e){return ze(e)&&K.call(e,"callee")&&!J.call(e,"callee")},Fe=Array.isArray;var Ve=ae||function(){return!1};function He(e){if(!Ye(e))return!1;var t=pe(e);return t==s||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}function we(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=i}function Ye(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function ze(e){return null!=e&&"object"==typeof e}var Ke=W?(function(e){return function(t){return e(t)}})(W):function(e){return ze(e)&&we(e.length)&&!!p[pe(e)]};function xe(e){return null!=(t=e)&&we(t.length)&&!He(t)?Le(e):Be(e);var t}e.exports=function(e,t){return Ce(e,t)}},93096:(e,t,a)=>{var o="Expected a function",i=/^\s+|\s+$/g,n=/^[-+]0x[0-9a-f]+$/i,r=/^0b[01]+$/i,E=/^0o[0-7]+$/i,_=parseInt,T="object"==typeof a.g&&a.g&&a.g.Object===Object&&a.g,s="object"==typeof self&&self&&self.Object===Object&&self,S=T||s||Function("return this")(),l=Object.prototype.toString,I=Math.max,A=Math.min,u=function(){return S.Date.now()};function d(e,t,a){var i,n,r,E,_,T,s=0,S=!1,l=!1,d=!0;if("function"!=typeof e)throw new TypeError(o);function R(t){var a=i,o=n;return i=n=void 0,s=t,E=e.apply(o,a)}function N(e){return s=e,_=setTimeout(L,t),S?R(e):E}function m(e){var a=e-T;return void 0===T||a>=t||a<0||l&&e-s>=r}function L(){var e=u();if(m(e))return D(e);_=setTimeout(L,(function(e){var a=t-(e-T);return l?A(a,r-(e-s)):a})(e))}function D(e){return _=void 0,d&&i?R(e):(i=n=void 0,E)}function p(){var e=u(),a=m(e);if(i=arguments,n=this,T=e,a){if(void 0===_)return N(T);if(l)return _=setTimeout(L,t),R(T)}return void 0===_&&(_=setTimeout(L,t)),E}return t=O(t)||0,c(a)&&(S=!!a.leading,r=(l="maxWait"in a)?I(O(a.maxWait)||0,t):r,d="trailing"in a?!!a.trailing:d),p.cancel=function(){void 0!==_&&clearTimeout(_),s=0,i=T=n=_=void 0},p.flush=function(){return void 0===_?E:D(u())},p}function c(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function O(e){if("number"==typeof e)return e;if((function(e){return"symbol"==typeof e||(function(e){return!!e&&"object"==typeof e})(e)&&"[object Symbol]"==l.call(e)})(e))return NaN;if(c(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=c(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(i,"");var a=r.test(e);return a||E.test(e)?_(e.slice(2),a?2:8):n.test(e)?NaN:+e}e.exports=function(e,t,a){var i=!0,n=!0;if("function"!=typeof e)throw new TypeError(o);return c(a)&&(i="leading"in a?!!a.leading:i,n="trailing"in a?!!a.trailing:n),d(e,t,{leading:i,maxWait:t,trailing:n})}},49566:(e,t,a)=>{var o=a(48764).Buffer;e.exports=r,e.exports.decode=r,e.exports.encode=function(e){e=Object.assign({},e);let t=new Set;e.xt&&"string"==typeof e.xt&&t.add(e.xt);e.xt&&Array.isArray(e.xt)&&(t=new Set(e.xt));e.infoHashBuffer&&t.add(`urn:btih:${e.infoHashBuffer.toString("hex")}`);e.infoHash&&t.add(`urn:btih:${e.infoHash}`);e.infoHashV2Buffer&&t.add(e.xt=`urn:btmh:1220${e.infoHashV2Buffer.toString("hex")}`);e.infoHashV2&&t.add(`urn:btmh:1220${e.infoHashV2}`);const a=Array.from(t);1===a.length&&(e.xt=a[0]);a.length>1&&(e.xt=a);e.publicKeyBuffer&&(e.xs=`urn:btpk:${e.publicKeyBuffer.toString("hex")}`);e.publicKey&&(e.xs=`urn:btpk:${e.publicKey}`);e.name&&(e.dn=e.name);e.keywords&&(e.kt=e.keywords);e.announce&&(e.tr=e.announce);e.urlList&&(e.ws=e.urlList,delete e.as);e.peerAddresses&&(e["x.pe"]=e.peerAddresses);let o="magnet:?";return Object.keys(e).filter((e=>2===e.length||"x.pe"===e)).forEach(((t,a)=>{const i=Array.isArray(e[t])?e[t]:[e[t]];i.forEach(((e,i)=>{(a>0||i>0)&&("kt"!==t&&"so"!==t||0===i)&&(o+="&"),"dn"===t&&(e=encodeURIComponent(e).replace(/%20/g,"+")),"tr"!==t&&"as"!==t&&"ws"!==t||(e=encodeURIComponent(e)),"xs"!==t||e.startsWith("urn:btpk:")||(e=encodeURIComponent(e)),"kt"===t&&(e=encodeURIComponent(e)),"so"!==t&&(o+="kt"===t&&i>0?`+${e}`:`${t}=${e}`)})),"so"===t&&(o+=`${t}=${n.compose(i)}`)})),o};const i=a(25017),n=a(57500);function r(e){const t={},a=e.split("magnet:?")[1];let r;if((a&&a.length>=0?a.split("&"):[]).forEach((e=>{const a=e.split("=");if(2!==a.length)return;const o=a[0];let i=a[1];"dn"===o&&(i=decodeURIComponent(i).replace(/\+/g," ")),"tr"!==o&&"xs"!==o&&"as"!==o&&"ws"!==o||(i=decodeURIComponent(i)),"kt"===o&&(i=decodeURIComponent(i).split("+")),"ix"===o&&(i=Number(i)),"so"===o&&(i=n.parse(decodeURIComponent(i).split(","))),t[o]?(Array.isArray(t[o])||(t[o]=[t[o]]),t[o].push(i)):t[o]=i})),t.xt){(Array.isArray(t.xt)?t.xt:[t.xt]).forEach((e=>{if(r=e.match(/^urn:btih:(.{40})/))t.infoHash=r[1].toLowerCase();else if(r=e.match(/^urn:btih:(.{32})/)){const e=i.decode(r[1]);t.infoHash=o.from(e,"binary").toString("hex")}else(r=e.match(/^urn:btmh:1220(.{64})/))&&(t.infoHashV2=r[1].toLowerCase())}))}if(t.xs){(Array.isArray(t.xs)?t.xs:[t.xs]).forEach((e=>{(r=e.match(/^urn:btpk:(.{64})/))&&(t.publicKey=r[1].toLowerCase())}))}return t.infoHash&&(t.infoHashBuffer=o.from(t.infoHash,"hex")),t.infoHashV2&&(t.infoHashV2Buffer=o.from(t.infoHashV2,"hex")),t.publicKey&&(t.publicKeyBuffer=o.from(t.publicKey,"hex")),t.dn&&(t.name=t.dn),t.kt&&(t.keywords=t.kt),t.announce=[],("string"==typeof t.tr||Array.isArray(t.tr))&&(t.announce=t.announce.concat(t.tr)),t.urlList=[],("string"==typeof t.as||Array.isArray(t.as))&&(t.urlList=t.urlList.concat(t.as)),("string"==typeof t.ws||Array.isArray(t.ws))&&(t.urlList=t.urlList.concat(t.ws)),t.peerAddresses=[],("string"==typeof t["x.pe"]||Array.isArray(t["x.pe"]))&&(t.peerAddresses=t.peerAddresses.concat(t["x.pe"])),t.announce=Array.from(new Set(t.announce)),t.urlList=Array.from(new Set(t.urlList)),t.peerAddresses=Array.from(new Set(t.peerAddresses)),t}},74923:e=>{e.exports={"error-container":"error-container-OJnoc","error-image":"error-image-qU9Qo","error-message":"error-message-kW59Z","buttons-container":"buttons-container-tQonN","button-container":"button-container-vLSQK",label:"label-Up_te"}},90510:e=>{e.exports={"fade-in":"fade-in-pFkt_","toasts-container":"toasts-container-oKECy","tooltip-container":"tooltip-container-Qpse8",router:"router-_65XU","error-container":"error-container-VZXwH","loader-container":"loader-container-vwvnb"}},66739:e=>{e.exports={"addon-details-container":"addon-details-container-ZQqDB","title-container":"title-container-fR02m",icon:"icon-ScXNu",logo:"logo-BujW_","name-container":"name-container-Gfhqw",name:"name-XNqfo",version:"version-w_xoN","section-container":"section-container-l3YaI","section-header":"section-header-bs8iy","section-label":"section-label-rYxQh","transport-url-label":"transport-url-label-EW7I5","disclaimer-label":"disclaimer-label-IGdd3"}},57527:e=>{e.exports={"addon-details-modal-container":"addon-details-modal-container-_bwQ0","addon-details-container":"addon-details-container-AmNx2","addon-details-message-container":"addon-details-message-container-VEzeN","cancel-button":"cancel-button-luYIO","cancel-button-label":"cancel-button-label-jqVQf","uninstall-button":"uninstall-button-X2JXr"}},15837:e=>{e.exports={"button-container":"button-container-HNufV"}},22523:e=>{e.exports={"checkbox-container":"checkbox-container-heGq4",toggle:"toggle-jrHgS"}},70232:e=>{e.exports={chip:"chip-oNDf9",active:"active-hnUWc"}},25006:e=>{e.exports={chips:"chips-2SaqO",left:"left-g78Dv",right:"right-xHY1L",center:"center-r2lxe"}},47001:e=>{e.exports={"color-picker-container":"color-picker-container-deFkW"}},22440:e=>{e.exports={"color-input-container":"color-input-container-jRZsi","transparent-label-container":"transparent-label-container-Tx2fI","transparent-label":"transparent-label-omLaY","color-picker-container":"color-picker-container-C4puR"}},34478:e=>{e.exports={"event-modal":"event-modal-rnryK",image:"image-e8XVK","info-container":"info-container-wB_Hp","title-container":"title-container-HRHiu",title:"title-QWkHL",label:"label-BkLRo","addon-container":"addon-container-vbdZn",icon:"icon-wYzOg",name:"name-YiulJ","action-button":"action-button-Off_h","button-label":"button-label-j6aOz"}},72252:e=>{e.exports={"main-nav-bars-container":"main-nav-bars-container-fA7pO","horizontal-nav-bar":"horizontal-nav-bar-x5sxp","vertical-nav-bar":"vertical-nav-bar-JNw53","nav-content-container":"nav-content-container-VHwOU"}},6432:e=>{e.exports={"meta-item-container":"meta-item-container-drt6V","poster-container":"poster-container-Fruke","dismiss-icon-layer":"dismiss-icon-layer-ujhD1","poster-image-layer":"poster-image-layer-CdxrT","play-icon-layer":"play-icon-layer-_75Lo","play-icon-outer":"play-icon-outer-sAk71","play-icon-background":"play-icon-background-yHWuQ","title-bar-container":"title-bar-container-DFXJK","menu-label-container":"menu-label-container-dlL1I","poster-shape-poster":"poster-shape-poster-F_CO5","poster-shape-square":"poster-shape-square-UCby3","poster-shape-landscape":"poster-shape-landscape-BPmb1","dismiss-icon":"dismiss-icon-w57SZ","dismiss-icon-backdrop":"dismiss-icon-backdrop-L8zeK","watched-icon-layer":"watched-icon-layer-wtjcc","watched-icon":"watched-icon-oXlb3","poster-image":"poster-image-lt9zC","placeholder-icon":"placeholder-icon-uYwsv","play-icon":"play-icon-d9_ll","progress-bar-layer":"progress-bar-layer-r81Qx","progress-bar":"progress-bar-E3QY9","progress-bar-background":"progress-bar-background-Q7lT4","new-videos":"new-videos-gZv0w",layer:"layer-RqXo1",icon:"icon-IfJ81",label:"label-hSihm","title-label":"title-label-dZZ_A"}},9058:e=>{e.exports={"action-button-container":"action-button-container-TmbQ2","icon-container":"icon-container-hvLw4",icon:"icon-DG4TM","label-container":"label-container-eh2bk",label:"label-YhHvD"}},41467:e=>{e.exports={"meta-links-container":"meta-links-container-wSrm1","label-container":"label-container-zWFke","links-container":"links-container-o4RUG","link-container":"link-container-HUDqV"}},8132:e=>{e.exports={"meta-preview-placeholder-container":"meta-preview-placeholder-container-AQ4ld","meta-info-container":"meta-info-container-pEOFb","logo-container":"logo-container-g5eNB","duration-release-info-container":"duration-release-info-container-lNaI6","duration-container":"duration-container-x2E01","release-info-container":"release-info-container-PEmeu","genres-container":"genres-container-v3H7A","genres-header-container":"genres-header-container-lsPLU","genre-label-container":"genre-label-container-z7kU8","action-buttons-container":"action-buttons-container-U3sbl"}},19480:e=>{e.exports={"meta-preview-container":"meta-preview-container-bgBNf",compact:"compact-Wbl4Q","meta-info-container":"meta-info-container-tlmcb",logo:"logo-X9v1A","logo-placeholder":"logo-placeholder-kIy0x","runtime-release-info-container":"runtime-release-info-container-lXo3K","release-info-label":"release-info-label-XmqSY","runtime-label":"runtime-label-B29EN","description-container":"description-container-eSGft","action-buttons-container":"action-buttons-container-qQrnO","action-button":"action-button-R44aX","background-image-layer":"background-image-layer-GstuA","background-image":"background-image-B0d6i","imdb-button-container":"imdb-button-container-qCbl7",label:"label-_DfnK",icon:"icon-MBu8k","label-container":"label-container-xChHj","meta-links":"meta-links-mTHUo","show-button":"show-button-Sh8P3","share-prompt":"share-prompt-F8qOC"}},35250:e=>{e.exports={"meta-row-placeholder-container":"meta-row-placeholder-container-wpHNk","header-container":"header-container-GCHdB","title-container":"title-container-Bjp93","see-all-container":"see-all-container-FnlIf",label:"label-dU3S2",icon:"icon-FLhtv","meta-items-container":"meta-items-container-dbGXx","meta-item":"meta-item-IegjY","poster-container":"poster-container-RlQMV","title-bar-container":"title-bar-container-YJZrl","title-label":"title-label-Ka1vs"}},31770:e=>{e.exports={"meta-row-container":"meta-row-container-ucOuu","header-container":"header-container-RherZ","title-container":"title-container-SJ0nR","see-all-container":"see-all-container-HlJ4b",label:"label-isJw8",icon:"icon-PO0GH","message-container":"message-container-bIcjN","meta-items-container":"meta-items-container-TqzFs","meta-item":"meta-item-x28TU","poster-shape-poster":"poster-shape-poster-B1QR0","poster-shape-square":"poster-shape-square-m5r_O","poster-shape-landscape":"poster-shape-landscape-_FSOH"}},93837:e=>{e.exports={"modal-container":"modal-container-jZglc","modal-dialog-container":"modal-dialog-container-QgsId","modal-dialog-background":"modal-dialog-background-I_IoU","close-button-container":"close-button-container-QrgQo",icon:"icon-hRjWc","modal-dialog-content":"modal-dialog-content-ChXwF","title-container":"title-container-wqhp3","body-container":"body-container-_WHlr","buttons-container":"buttons-container-EJKJF","action-button":"action-button-bi6FL",label:"label-_ADoX"}},84629:e=>{e.exports={"label-container":"label-container-ZHk2S",icon:"icon-YGvLz",label:"label-kz1K0","modal-container":"modal-container-BQwj3","menu-container":"menu-container-Z1Pou","option-container":"option-container-yVj1o","no-options-container":"no-options-container-NYx9Z"}},65349:e=>{e.exports={dropdown:"dropdown-F4S7Q",open:"open-RbKyy","back-button":"back-button-sQrkb","back-button-icon":"back-button-icon-Inmcg"}},28249:e=>{e.exports={option:"option-SHgyE",label:"label-gTtLc",icon:"icon-lDn76"}},8235:e=>{e.exports={"multiselect-menu":"multiselect-menu-ilDVi",disabled:"disabled-gvjEF","multiselect-button":"multiselect-button-Qry4t",icon:"icon-spGqV",open:"open-QN4il"}},41757:e=>{e.exports={"nav-menu-popup-label":"nav-menu-popup-label-JmI2m","nav-menu-container":"nav-menu-container-VSzwW","user-info-container":"user-info-container-BR8yb","avatar-container":"avatar-container-jmlBM","user-info-details":"user-info-details-vvVBe","email-container":"email-container-fvFrL","email-label":"email-label-WBX2T","logout-button-container":"logout-button-container-hSW_i","logout-label":"logout-label-dUa8B","nav-menu-section":"nav-menu-section-oMELF","nav-menu-option-container":"nav-menu-option-container-gZ1gT",icon:"icon-OSgm6","nav-menu-option-label":"nav-menu-option-label-XNuY6"}},74461:e=>{e.exports={"search-bar-container":"search-bar-container-TNPzI","search-input":"search-input-aOiJ2","placeholder-label":"placeholder-label-Irklk","submit-button-container":"submit-button-container-jPP5J",icon:"icon-FT4bG","menu-container":"menu-container-vU2Gr",label:"label-Pk7mj",title:"title-CwL12","search-history-clear":"search-history-clear-i_wja",items:"items-XwajL",item:"item-C5WAm"}},88287:e=>{e.exports={"horizontal-nav-bar-container":"horizontal-nav-bar-container-jFw5Y","logo-container":"logo-container-fnFzY",logo:"logo-RVSxt","back-button-container":"back-button-container-K9AwF",title:"title-_UxXH","search-bar":"search-bar-NopQ6","buttons-container":"buttons-container-fHCke","button-container":"button-container-B23qB",icon:"icon-wrBcp","menu-button-container":"menu-button-container-WWcwa"}},35916:e=>{e.exports={"nav-tab-button-container":"nav-tab-button-container-r8HUb",label:"label-mc9eB",icon:"icon-vxKmB",logo:"logo-ST06l"}},46216:e=>{e.exports={"vertical-nav-bar-container":"vertical-nav-bar-container-AsGLM","nav-tab-button":"nav-tab-button-noMv6"}},31903:e=>{e.exports={"pagination-input-container":"pagination-input-container-vXhi6","next-button-container":"next-button-container-zNwG6","prev-button-container":"prev-button-container-qmJ1m",icon:"icon-UoyQ9","label-container":"label-container-VwInD",label:"label-cJKC1"}},12801:e=>{e.exports={background:"background-FNyrF",icon:"icon-XXj2q"}},31727:e=>{e.exports={"label-container":"label-container-iBMb9","menu-container":"menu-container-bfvDO","menu-direction-top-left":"menu-direction-top-left-KpAQN","menu-direction-bottom-left":"menu-direction-bottom-left-Uw06K","menu-direction-top-right":"menu-direction-top-right-jOtwq","menu-direction-bottom-right":"menu-direction-bottom-right-XZ9Ch"}},85451:e=>{e.exports={"search-bar-container":"search-bar-container-Vb_fz","search-input":"search-input-BWyeG",icon:"icon-poa62"}},81632:e=>{e.exports={"search-bar-container":"search-bar-container-MpNBA","search-input":"search-input-ge2wu",icon:"icon-Z_Hni"}},43486:e=>{e.exports={"share-prompt-container":"share-prompt-container-YsJwl","buttons-container":"buttons-container-Oc7PG","button-container":"button-container-oMOnv",icon:"icon-FVvQH","facebook-button":"facebook-button-KaNwb","reddit-button":"reddit-button-qVXIY","x-button":"x-button-qkuNq","url-container":"url-container-fMSp4","url-text-input":"url-text-input-Yka4x","copy-button":"copy-button-ShwCB",label:"label-iOGrs"}},18305:e=>{e.exports={"active-slider-within":"active-slider-within-lQFc1","slider-container":"slider-container-aRzVq",layer:"layer-FqnD7",track:"track-jWhBI","track-before":"track-before-FwOXh","track-after":"track-after-iD0ee",thumb:"thumb-tfDk6"}},12226:e=>{e.exports={"warning-container":"warning-container-FIITF","warning-statement":"warning-statement-I7pdD","warning-button":"warning-button-zlx_V","warning-label":"warning-label-XJnBc"}},15867:e=>{e.exports={"text-input":"text-input-jR2Nr"}},94202:e=>{e.exports={"toast-item-container":"toast-item-container-nG0uk",success:"success-eIDTa","icon-container":"icon-container-rjAiH",icon:"icon-Y4I_O",error:"error-quyOd",info:"info-KEWq8","info-container":"info-container-xD9V6","title-container":"title-container-VFReJ","message-container":"message-container-znkCj","close-button-container":"close-button-container-YtyYE"}},90729:e=>{e.exports={"tooltip-placeholder":"tooltip-placeholder-niioe"}},2980:e=>{e.exports={"tooltip-item":"tooltip-item-gfYXu"}},58658:e=>{e.exports={"addon-container":"addon-container-lC5KN","logo-container":"logo-container-ZcSSC",logo:"logo-WrsGF",icon:"icon-GxVbY","info-container":"info-container-AdMB6","name-container":"name-container-qIAg8","version-container":"version-container-zdPyN","types-container":"types-container-DaOrg","description-container":"description-container-v7Jhe","buttons-container":"buttons-container-g0xXr","action-buttons-container":"action-buttons-container-xMVmz","configure-button-container":"configure-button-container-VwVAQ","install-button-container":"install-button-container-yfcq5","share-button-container":"share-button-container-s3gwP","uninstall-button-container":"uninstall-button-container-oV4Yo",label:"label-OnWh2"}},16795:e=>{e.exports={"addons-container":"addons-container-ogGYu","addons-content":"addons-content-zhFBl","selectable-inputs-container":"selectable-inputs-container-tUul1","add-button-container":"add-button-container-SkafT",icon:"icon-HsyZS","add-button-label":"add-button-label-NN6bu","select-input-container":"select-input-container-KqG8N",spacing:"spacing-wH1w5","search-bar":"search-bar-k7MXd","filter-button":"filter-button-lLJ1X","filter-icon":"filter-icon-LUDTS","message-container":"message-container-GBw0P","addons-list-container":"addons-list-container-Ovr2Z",addon:"addon-whmdO","filters-modal":"filters-modal-w6oWY","add-addon-modal-container":"add-addon-modal-container-KR5ny",notice:"notice-UQkO1","addon-url-input":"addon-url-input-ucetZ","cancel-button":"cancel-button-R2AxR","share-modal-container":"share-modal-container-DkzPM","title-container":"title-container-La49g",logo:"logo-PmYDP","name-container":"name-container-m_Sz0",name:"name-YD0xd",version:"version-wuAFB","share-prompt-container":"share-prompt-container-vaK4P"}},85846:e=>{e.exports={"board-container":"board-container-DTN_b","board-content-container":"board-content-container-ToQTz","board-content":"board-content-nPWv1","board-row":"board-row-CoJrZ","board-warning-container":"board-warning-container-a4m04","board-row-landscape":"board-row-landscape-FRGXx","board-row-poster":"board-row-poster-QPQqC","board-row-square":"board-row-square-pgaZ3","continue-watching-row":"continue-watching-row-ZiNSa"}},63276:e=>{e.exports={"discover-container":"discover-container-L6OGL","discover-content":"discover-content-CRsRg","catalog-container":"catalog-container-VNK_T","selectable-inputs-container":"selectable-inputs-container-IRz50","select-input":"select-input-CHDbe","filter-container":"filter-container-BVkqT","filter-icon":"filter-icon-zlFnX","missing-addon-warning-container":"missing-addon-warning-container-IXGuv","warning-label":"warning-label-f19Jg","install-button":"install-button-SmJe1",label:"label-ToW4S","message-container":"message-container-Zv9eF",image:"image-txC9E","message-label":"message-label-mRyRX","meta-items-container":"meta-items-container-n8vNz","meta-item-placeholder":"meta-item-placeholder-wxG4I","poster-container":"poster-container-Dch4R","title-bar-container":"title-bar-container-dtDnk","title-label":"title-label-vHdQd","meta-preview-container":"meta-preview-container-CoWs5","selectable-inputs-modal":"selectable-inputs-modal-ChpOa"}},705:e=>{e.exports={"consent-checkbox-container":"consent-checkbox-container-WV60T",label:"label-l3LSw",link:"link-UppYg"}},23808:e=>{e.exports={"password-reset-modal-container":"password-reset-modal-container-KzJPQ","credentials-text-input":"credentials-text-input-ncrIR","error-message":"error-message-DkekN","cancel-button":"cancel-button-AneJE"}},3608:e=>{e.exports={"intro-container":"intro-container-tkNS6","background-container":"background-container-aYKCH","heading-container":"heading-container-oI70m","logo-container":"logo-container-W49kt",logo:"logo-WJ36F","slogan-container":"slogan-container-UlcYd","title-container":"title-container-CbIkM","content-container":"content-container-A1Drn","form-button":"form-button-vyqqj",icon:"icon-L_6b6",label:"label-uHD7L","guest-login-button":"guest-login-button-D8DWZ","login-form-button":"login-form-button-DqJUV","signup-form-button":"signup-form-button-UGmSk","submit-button":"submit-button-x3L8z","form-container":"form-container-HMlEh","credentials-text-input":"credentials-text-input-QMCZz","forgot-password-link-container":"forgot-password-link-container-ygZqb","forgot-password-link":"forgot-password-link-NxNUD","error-message":"error-message-cKdzB","options-container":"options-container-qxboQ","facebook-button":"facebook-button-LZ_kG","loading-modal-container":"loading-modal-container-eLyTm","loader-container":"loader-container-oe8rU",flash:"flash-wUFXY",button:"button-ryGtP"}},76495:e=>{e.exports={"library-container":"library-container-zM_bj","library-content":"library-content-PgX4O","selectable-inputs-container":"selectable-inputs-container-hR3or","select-input-container":"select-input-container-H1VZ1","message-container":"message-container-MhY5t","no-user-message-container":"no-user-message-container-KMLpE","login-button-container":"login-button-container-RoEh7",label:"label-QqYmf",image:"image-csRHm","message-label":"message-label-UExl3","meta-items-container":"meta-items-container-IKrND","selectable-inputs-modal":"selectable-inputs-modal-rHlo7"}},51586:e=>{e.exports={"stream-placeholder-container":"stream-placeholder-container-T1nxv","addon-container":"addon-container-pm1P0","addon-name":"addon-name-zAOKP","info-container":"info-container-Z1Dl6","description-container":"description-container-ZOMcn","play-icon":"play-icon-MXqj3"}},29144:e=>{e.exports={"stream-container":"stream-container-JPdah",icon:"icon-rAZvO","info-container":"info-container-TihQo",thumbnail:"thumbnail-whoms","placeholder-icon":"placeholder-icon-znYz0","addon-name":"addon-name-tC8PX","progress-bar-container":"progress-bar-container-ADRp_","progress-bar":"progress-bar-XrEBL","progress-bar-background":"progress-bar-background-HueVQ","description-container":"description-container-vW_De","context-menu-content":"context-menu-content-Xe_lN","context-menu-option-container":"context-menu-option-container-BZGla","context-menu-option-label":"context-menu-option-label-EbNNz"}},56789:e=>{e.exports={"streams-list-container":"streams-list-container-xYMJo","message-container":"message-container-f9_L4",image:"image-rIyu6",label:"label-luvnO","addons-loading-container":"addons-loading-container-Vkwp3","addons-loading":"addons-loading-zhdQr","addons-loading-bar":"addons-loading-bar-MqT59","select-choices-wrapper":"select-choices-wrapper-xGzfs","back-button-container":"back-button-container-cJ4bk",icon:"icon-SoFgF","episode-title":"episode-title-dln_c","select-input-container":"select-input-container-irGn_","streams-container":"streams-container-bbSc4","install-button-container":"install-button-container-Q60yJ"}},61892:e=>{e.exports={"seasons-bar-placeholder-container":"seasons-bar-placeholder-container-M81RN","next-season-button":"next-season-button-oGnlT","prev-season-button":"prev-season-button-TCbOq",icon:"icon-UzQjF",label:"label-lmBnj","seasons-popup-label-container":"seasons-popup-label-container-r2UDB","seasons-popup-label":"seasons-popup-label-xBinL","seasons-popup-icon":"seasons-popup-icon-p1T5d"}},90801:e=>{e.exports={"seasons-bar-container":"seasons-bar-container-nOZjG","next-season-button":"next-season-button-RrYAq","prev-season-button":"prev-season-button-bs1GQ",disabled:"disabled-WJy2x",label:"label-uJbfD",icon:"icon-_ZBEE","seasons-popup-label-container":"seasons-popup-label-container-fZcu4"}},51162:e=>{e.exports={"video-placeholder-container":"video-placeholder-container-uDsav","info-container":"info-container-KTKtT","name-container":"name-container-Jvesr","released-container":"released-container-uoc4E"}},22860:e=>{e.exports={"video-container":"video-container-UBBpR","thumbnail-container":"thumbnail-container-n_jp7",thumbnail:"thumbnail-MiS3K","placeholder-icon":"placeholder-icon-LzVIO","progress-bar-container":"progress-bar-container-gMpiB","progress-bar":"progress-bar-Yhl4z","progress-bar-background":"progress-bar-background-briMe","info-container":"info-container-szYxP","title-container":"title-container-EMXpV","flex-row-container":"flex-row-container-ExEua","released-container":"released-container-zA91y","upcoming-watched-container":"upcoming-watched-container-y_ijd","upcoming-container":"upcoming-container-ASE1L","watched-container":"watched-container-LCso2","flag-icon":"flag-icon-IJVCW","flag-label":"flag-label-dIdBb","context-menu-content":"context-menu-content-MGBhW","context-menu-option-container":"context-menu-option-container-VlNjD","context-menu-option-label":"context-menu-option-label-hOUnH"}},2721:e=>{e.exports={"videos-list-container":"videos-list-container-NepX5","message-container":"message-container-_hhmQ",image:"image-_xAbP",label:"label-Ff1_X","notifications-checkbox":"notifications-checkbox-E2l5g","seasons-bar":"seasons-bar-Ma8vp","search-bar":"search-bar-mZHWa","videos-container":"videos-container-msX8s"}},1995:e=>{e.exports={"metadetails-container":"metadetails-container-K_Dqa","nav-bar":"nav-bar-MH6Vk","metadetails-content":"metadetails-content-Uz5EV","vertical-nav-bar":"vertical-nav-bar-B39nq","background-image-layer":"background-image-layer-wJa90","background-image":"background-image-tSjYu","meta-message-container":"meta-message-container-MJZN5",image:"image-R1LcJ","message-label":"message-label-Uz4_P","meta-preview":"meta-preview-ES0h3",spacing:"spacing-rgIYg","streams-list":"streams-list-Y1lCM","videos-list":"videos-list-nE0LJ","meta-extension-modal-container":"meta-extension-modal-container-gHjqy","meta-extension-modal-iframe":"meta-extension-modal-iframe-GGHlm"}},4407:e=>{e.exports={"not-found-container":"not-found-container-Q1qsP","nav-bar":"nav-bar-Eu3_y","not-found-content":"not-found-content-z_Eza","not-found-image":"not-found-image-Qab4G","not-found-label":"not-found-label-mmwyZ"}},91190:e=>{e.exports={"buffering-loader-container":"buffering-loader-container-P7S0m","buffering-loader":"buffering-loader-fMSpb",fadeInOut:"fadeInOut-WS5RD"}},99371:e=>{e.exports={"seek-bar-container":"seek-bar-container-JGGTa",label:"label-QFbsS",slider:"slider-hBDOf"}},80424:e=>{e.exports={"volume-slider":"volume-slider-G_xAt"}},25483:e=>{e.exports={"control-bar-container":"control-bar-container-xsWA7","seek-bar":"seek-bar-I7WeY","control-bar-buttons-container":"control-bar-buttons-container-SWhkU","control-bar-button":"control-bar-button-FQUsj",icon:"icon-qy6I6","volume-slider":"volume-slider-U9jfo",spacing:"spacing-p8NJQ","control-bar-buttons-menu-button":"control-bar-buttons-menu-button-h0MWd","control-bar-buttons-menu-container":"control-bar-buttons-menu-container-M6L0_"}},80381:e=>{e.exports={error:"error-ty_iB","error-label":"error-label-lyLDv","error-sub":"error-sub-rdwAf","playlist-button":"playlist-button-tZTCo",icon:"icon-fIGRf",label:"label-Z7jSJ"}},13185:e=>{e.exports={"info-menu-container":"info-menu-container-R1QKH",stream:"stream-MY2Oy"}},85485:e=>{e.exports={"next-video-popup-container":"next-video-popup-container-H4wnL","slide-fade-in":"slide-fade-in-rk2M8","poster-container":"poster-container-tXZjA","poster-image":"poster-image-2D6wg","placeholder-icon":"placeholder-icon-fu1rK","info-container":"info-container-KLOMx","details-container":"details-container-bUOTZ",name:"name-sIiDL",label:"label-zOq_w",title:"title-Z5Kgo",description:"description-gIXiC","buttons-container":"buttons-container-iYrpZ",spacing:"spacing-iFwsN","button-container":"button-container-i4F7t","play-button":"play-button-Dluk6",icon:"icon-N3Ewm",dismiss:"dismiss-IvEL_"}},55503:e=>{e.exports={"option-container":"option-container-m_jZq",icon:"icon-krR0X",label:"label-cmqqu"}},90628:e=>{e.exports={"options-menu-container":"options-menu-container-qlzLt"}},74988:e=>{e.exports={option:"option-_O96j",icon:"icon-kqaPF",label:"label-FEOiu"}},33579:e=>{e.exports={"speed-menu-container":"speed-menu-container-ABjzc",title:"title-Hu2Dm","options-container":"options-container-DNn3D",option:"option-GcPlB"}},67071:e=>{e.exports={"statistics-menu-container":"statistics-menu-container-DhiHn",title:"title-NCwWH",label:"label-h6nN_",value:"value-E8Ftb",stats:"stats-Tr37t",stat:"stat-zoq5A","info-hash":"info-hash-GT1Cv"}},68134:e=>{e.exports={"discrete-input-container":"discrete-input-container-CMThy",header:"header-n0jWL","input-container":"input-container-TNuI2","button-container":"button-container-ciSB5",icon:"icon-JDltr","option-label":"option-label-tjeeT"}},82748:e=>{e.exports={"subtitles-menu-container":"subtitles-menu-container-PxBRZ","languages-container":"languages-container-NS7H9","subtitles-settings-container":"subtitles-settings-container-LhRGS","variants-container":"variants-container-XglzH","languages-header":"languages-header-jGNcK","settings-header":"settings-header-eaWnm","variants-header":"variants-header-TsVSR","languages-list":"languages-list-sxIwI","variants-list":"variants-list-yZo6B","language-option":"language-option-O1Yr9","variant-option":"variant-option-t7_LA","language-label":"language-label-FjjqA","variant-label":"variant-label-opjnP",icon:"icon-I1Ruh","no-variants-container":"no-variants-container-q6u1Q","no-variants-label":"no-variants-label-RmDKZ",spacing:"spacing-AWJpt","discrete-input":"discrete-input-fXELp"}},23466:e=>{e.exports={"video-container":"video-container-v9_vA",video:"video-tkpQm"}},58994:e=>{e.exports={"videos-menu-container":"videos-menu-container-ATzKq"}},46897:e=>{e.exports={"volume-change-indicator":"volume-change-indicator-EWypD","volume-icon":"volume-icon-zn9zT","volume-slider":"volume-slider-FKN0X"}},57822:e=>{e.exports={"player-container":"player-container-wIELK",overlayHidden:"overlayHidden-gyjIy","control-bar-layer":"control-bar-layer-m2jto","menu-layer":"menu-layer-HZFG9","nav-bar-layer":"nav-bar-layer-r9HT5",layer:"layer-qalDW","buffering-layer":"buffering-layer-ZZCYp","error-layer":"error-layer-RCEZC","background-layer":"background-layer-ldsp8",image:"image-XxZuJ"}},63287:e=>{e.exports={"search-container":"search-container-uXEFf","search-content":"search-content-LX6un","search-row":"search-row-EQLaD","search-hints-wrapper":"search-hints-wrapper-IjhmE","search-hints-title-container":"search-hints-title-container-MXt8W","search-hints-title":"search-hints-title-cigX3","search-hints-container":"search-hints-container-FHpPM","search-hint-container":"search-hint-container-kd8iX",icon:"icon-fOZZl",label:"label-l6wxz","message-container":"message-container-YAunr",image:"image-Xuwya","message-label":"message-label-K8LPz","search-row-landscape":"search-row-landscape-o3Lfv","search-row-poster":"search-row-poster-m7CUE","search-row-square":"search-row-square-VesJA"}},44371:e=>{e.exports={"settings-container":"settings-container-b0DCu","settings-content":"settings-content-lLXmk","side-menu-container":"side-menu-container-NG17D","side-menu-button":"side-menu-button-vbkJ1",selected:"selected-yhdng",spacing:"spacing-fpLUM","version-info-label":"version-info-label-uMkm7","sections-container":"sections-container-EUKAe","section-container":"section-container-twzKQ","section-title":"section-title-Nt71Z","section-category-container":"section-category-container-EOuS0",label:"label-FFamJ",icon:"icon-REQkK","option-container":"option-container-EGlcv","link-container":"link-container-ERYsD","user-info-option-container":"user-info-option-container-oRLJc","user-info-content":"user-info-content-ez7kZ","avatar-container":"avatar-container-YWq9E","email-logout-container":"email-logout-container-kYQDM","email-label-container":"email-label-container-oVmiO","logout-button-container":"logout-button-container-jLrU2","email-label":"email-label-Q__sJ","logout-label":"logout-label-zo4ES","user-panel-container":"user-panel-container-kkrJG","user-panel-label":"user-panel-label-beAQl","option-input-container":"option-input-container-NPgpT","option-name-container":"option-name-container-exGMI","trakt-icon":"trakt-icon-_dK95","button-container":"button-container-ENMae","multiselect-container":"multiselect-container-w0c9l","link-input-container":"link-input-container-TCi0w","checkbox-container":"checkbox-container-R9LLN","color-input-container":"color-input-container-WclA_","info-container":"info-container-wfFcS",selectable:"selectable-eucrJ","configure-input-container":"configure-input-container-PMyIY","configure-button-container":"configure-button-container-xGFgg","shortcut-container":"shortcut-container-ZSm5O","versions-section-container":"versions-section-container-LRCVQ","configure-server-url-modal-container":"configure-server-url-modal-container-vSL44","server-url-input":"server-url-input-Dfazw","cancel-button":"cancel-button-iydew"}},92703:(e,t,a)=>{"use strict";var o=a(50414);function i(){}function n(){}n.resetWarningCache=i,e.exports=function(){function e(e,t,a,i,n,r){if(r!==o){var E=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw E.name="Invariant Violation",E}}function t(){return e}e.isRequired=e;var a={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:n,resetWarningCache:i};return a.PropTypes=a,a}},45697:(e,t,a)=>{e.exports=a(92703)()},50414:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},74971:function(e,t,a){var o;e=a.nmd(e),(function(i){t&&t.nodeType,e&&e.nodeType;var n="object"==typeof a.g&&a.g;n.global!==n&&n.window!==n&&n.self;var r,E=2147483647,_=36,T=/^xn--/,s=/[^\x20-\x7E]/,S=/[\x2E\u3002\uFF0E\uFF61]/g,l={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},I=Math.floor,A=String.fromCharCode;function u(e){throw RangeError(l[e])}function d(e,t){for(var a=e.length,o=[];a--;)o[a]=t(e[a]);return o}function c(e,t){var a=e.split("@"),o="";return a.length>1&&(o=a[0]+"@",e=a[1]),o+d((e=e.replace(S,".")).split("."),t).join(".")}function O(e){for(var t,a,o=[],i=0,n=e.length;i<n;)(t=e.charCodeAt(i++))>=55296&&t<=56319&&i<n?56320==(64512&(a=e.charCodeAt(i++)))?o.push(((1023&t)<<10)+(1023&a)+65536):(o.push(t),i--):o.push(t);return o}function R(e){return d(e,(function(e){var t="";return e>65535&&(t+=A((e-=65536)>>>10&1023|55296),e=56320|1023&e),t+=A(e)})).join("")}function N(e,t){return e+22+75*(e<26)-((0!=t)<<5)}function m(e,t,a){var o=0;for(e=a?I(e/700):e>>1,e+=I(e/t);e>455;o+=_)e=I(e/35);return I(o+36*e/(e+38))}function L(e){var t,a,o,i,n,r,T,s,S,l,A,d=[],c=e.length,O=0,N=128,L=72;for((a=e.lastIndexOf("-"))<0&&(a=0),o=0;o<a;++o)e.charCodeAt(o)>=128&&u("not-basic"),d.push(e.charCodeAt(o));for(i=a>0?a+1:0;i<c;){for(n=O,r=1,T=_;i>=c&&u("invalid-input"),((s=(A=e.charCodeAt(i++))-48<10?A-22:A-65<26?A-65:A-97<26?A-97:_)>=_||s>I((E-O)/r))&&u("overflow"),O+=s*r,!(s<(S=T<=L?1:T>=L+26?26:T-L));T+=_)r>I(E/(l=_-S))&&u("overflow"),r*=l;L=m(O-n,t=d.length+1,0==n),I(O/t)>E-N&&u("overflow"),N+=I(O/t),O%=t,d.splice(O++,0,N)}return R(d)}function D(e){var t,a,o,i,n,r,T,s,S,l,d,c,R,L,D,p=[];for(c=(e=O(e)).length,t=128,a=0,n=72,r=0;r<c;++r)(d=e[r])<128&&p.push(A(d));for(o=i=p.length,i&&p.push("-");o<c;){for(T=E,r=0;r<c;++r)(d=e[r])>=t&&d<T&&(T=d);for(T-t>I((E-a)/(R=o+1))&&u("overflow"),a+=(T-t)*R,t=T,r=0;r<c;++r)if((d=e[r])<t&&++a>E&&u("overflow"),d==t){for(s=a,S=_;!(s<(l=S<=n?1:S>=n+26?26:S-n));S+=_)D=s-l,L=_-l,p.push(A(N(l+D%L,0))),s=I(D/L);p.push(A(N(s,0))),n=m(a,R,o==i),a=0,++o}++a,++t}return p.join("")}r={version:"1.3.2",ucs2:{decode:O,encode:R},decode:L,encode:D,toASCII:function(e){return c(e,(function(e){return s.test(e)?"xn--"+D(e):e}))},toUnicode:function(e){return c(e,(function(e){return T.test(e)?L(e.slice(4).toLowerCase()):e}))}},void 0===(o=function(){return r}.call(t,a,t,e))||(e.exports=o)})()},62587:e=>{"use strict";function t(e,t){return Object.prototype.hasOwnProperty.call(e,t)}e.exports=function(e,a,o,i){a=a||"&",o=o||"=";var n={};if("string"!=typeof e||0===e.length)return n;var r=/\+/g;e=e.split(a);var E=1e3;i&&"number"==typeof i.maxKeys&&(E=i.maxKeys);var _=e.length;E>0&&_>E&&(_=E);for(var T=0;T<_;++T){var s,S,l,I,A=e[T].replace(r,"%20"),u=A.indexOf(o);u>=0?(s=A.substr(0,u),S=A.substr(u+1)):(s=A,S=""),l=decodeURIComponent(s),I=decodeURIComponent(S),t(n,l)?Array.isArray(n[l])?n[l].push(I):n[l]=[n[l],I]:n[l]=I}return n}},12361:e=>{"use strict";var t=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}};e.exports=function(e,a,o,i){return a=a||"&",o=o||"=",null===e&&(e=void 0),"object"==typeof e?Object.keys(e).map((function(i){var n=encodeURIComponent(t(i))+o;return Array.isArray(e[i])?e[i].map((function(e){return n+encodeURIComponent(t(e))})).join(a):n+encodeURIComponent(t(e[i]))})).join(a):i?encodeURIComponent(t(i))+o+encodeURIComponent(t(e)):""}},17673:(e,t,a)=>{"use strict";t.decode=t.parse=a(62587),t.encode=t.stringify=a(12361)},64448:(e,t,a)=>{"use strict";var o=a(67294),i=a(63840);function n(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,a=1;a<arguments.length;a++)t+="&args[]="+encodeURIComponent(arguments[a]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var r=new Set,E={};function _(e,t){T(e,t),T(e+"Capture",t)}function T(e,t){for(E[e]=t,e=0;e<t.length;e++)r.add(t[e])}var s=!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement),S=Object.prototype.hasOwnProperty,l=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,I={},A={};function u(e,t,a,o,i,n,r){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=o,this.attributeNamespace=i,this.mustUseProperty=a,this.propertyName=e,this.type=t,this.sanitizeURL=n,this.removeEmptyString=r}var d={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach((function(e){d[e]=new u(e,0,!1,e,null,!1,!1)})),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach((function(e){var t=e[0];d[t]=new u(t,1,!1,e[1],null,!1,!1)})),["contentEditable","draggable","spellCheck","value"].forEach((function(e){d[e]=new u(e,2,!1,e.toLowerCase(),null,!1,!1)})),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach((function(e){d[e]=new u(e,2,!1,e,null,!1,!1)})),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach((function(e){d[e]=new u(e,3,!1,e.toLowerCase(),null,!1,!1)})),["checked","multiple","muted","selected"].forEach((function(e){d[e]=new u(e,3,!0,e,null,!1,!1)})),["capture","download"].forEach((function(e){d[e]=new u(e,4,!1,e,null,!1,!1)})),["cols","rows","size","span"].forEach((function(e){d[e]=new u(e,6,!1,e,null,!1,!1)})),["rowSpan","start"].forEach((function(e){d[e]=new u(e,5,!1,e.toLowerCase(),null,!1,!1)}));var c=/[\-:]([a-z])/g;function O(e){return e[1].toUpperCase()}function R(e,t,a,o){var i=d.hasOwnProperty(t)?d[t]:null;(null!==i?0!==i.type:o||!(2<t.length)||"o"!==t[0]&&"O"!==t[0]||"n"!==t[1]&&"N"!==t[1])&&((function(e,t,a,o){if(null==t||(function(e,t,a,o){if(null!==a&&0===a.type)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return!o&&(null!==a?!a.acceptsBooleans:"data-"!==(e=e.toLowerCase().slice(0,5))&&"aria-"!==e);default:return!1}})(e,t,a,o))return!0;if(o)return!1;if(null!==a)switch(a.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1})(t,a,i,o)&&(a=null),o||null===i?(function(e){return!!S.call(A,e)||!S.call(I,e)&&(l.test(e)?A[e]=!0:(I[e]=!0,!1))})(t)&&(null===a?e.removeAttribute(t):e.setAttribute(t,""+a)):i.mustUseProperty?e[i.propertyName]=null===a?3!==i.type&&"":a:(t=i.attributeName,o=i.attributeNamespace,null===a?e.removeAttribute(t):(a=3===(i=i.type)||4===i&&!0===a?"":""+a,o?e.setAttributeNS(o,t,a):e.setAttribute(t,a))))}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach((function(e){var t=e.replace(c,O);d[t]=new u(t,1,!1,e,null,!1,!1)})),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach((function(e){var t=e.replace(c,O);d[t]=new u(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)})),["xml:base","xml:lang","xml:space"].forEach((function(e){var t=e.replace(c,O);d[t]=new u(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)})),["tabIndex","crossOrigin"].forEach((function(e){d[e]=new u(e,1,!1,e.toLowerCase(),null,!1,!1)})),d.xlinkHref=new u("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach((function(e){d[e]=new u(e,1,!1,e.toLowerCase(),null,!0,!0)}));var N=o.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,m=Symbol.for("react.element"),L=Symbol.for("react.portal"),D=Symbol.for("react.fragment"),p=Symbol.for("react.strict_mode"),h=Symbol.for("react.profiler"),C=Symbol.for("react.provider"),f=Symbol.for("react.context"),B=Symbol.for("react.forward_ref"),P=Symbol.for("react.suspense"),g=Symbol.for("react.suspense_list"),v=Symbol.for("react.memo"),y=Symbol.for("react.lazy");Symbol.for("react.scope"),Symbol.for("react.debug_trace_mode");var W=Symbol.for("react.offscreen");Symbol.for("react.legacy_hidden"),Symbol.for("react.cache"),Symbol.for("react.tracing_marker");var M=Symbol.iterator;function b(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=M&&e[M]||e["@@iterator"])?e:null}var U,G=Object.assign;function k(e){if(void 0===U)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);U=t&&t[1]||""}return"\n"+U+e}var F=!1;function V(e,t){if(!e||F)return"";F=!0;var a=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),"object"==typeof Reflect&&Reflect.construct){try{Reflect.construct(t,[])}catch(e){var o=e}Reflect.construct(e,[],t)}else{try{t.call()}catch(e){o=e}e.call(t.prototype)}else{try{throw Error()}catch(e){o=e}e()}}catch(t){if(t&&o&&"string"==typeof t.stack){for(var i=t.stack.split("\n"),n=o.stack.split("\n"),r=i.length-1,E=n.length-1;1<=r&&0<=E&&i[r]!==n[E];)E--;for(;1<=r&&0<=E;r--,E--)if(i[r]!==n[E]){if(1!==r||1!==E)do{if(r--,0>--E||i[r]!==n[E]){var _="\n"+i[r].replace(" at new "," at ");return e.displayName&&_.includes("<anonymous>")&&(_=_.replace("<anonymous>",e.displayName)),_}}while(1<=r&&0<=E);break}}}finally{F=!1,Error.prepareStackTrace=a}return(e=e?e.displayName||e.name:"")?k(e):""}function H(e){switch(e.tag){case 5:return k(e.type);case 16:return k("Lazy");case 13:return k("Suspense");case 19:return k("SuspenseList");case 0:case 2:case 15:return e=V(e.type,!1);case 11:return e=V(e.type.render,!1);case 1:return e=V(e.type,!0);default:return""}}function w(e){if(null==e)return null;if("function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case D:return"Fragment";case L:return"Portal";case h:return"Profiler";case p:return"StrictMode";case P:return"Suspense";case g:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case f:return(e.displayName||"Context")+".Consumer";case C:return(e._context.displayName||"Context")+".Provider";case B:var t=e.render;return(e=e.displayName)||(e=""!==(e=t.displayName||t.name||"")?"ForwardRef("+e+")":"ForwardRef"),e;case v:return null!==(t=e.displayName||null)?t:w(e.type)||"Memo";case y:t=e._payload,e=e._init;try{return w(e(t))}catch(e){}}return null}function Y(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=(e=t.render).displayName||e.name||"",t.displayName||(""!==e?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return w(t);case 8:return t===p?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if("function"==typeof t)return t.displayName||t.name||null;if("string"==typeof t)return t}return null}function z(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":case"object":return e;default:return""}}function K(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function x(e){e._valueTracker||(e._valueTracker=(function(e){var t=K(e)?"checked":"value",a=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),o=""+e[t];if(!e.hasOwnProperty(t)&&void 0!==a&&"function"==typeof a.get&&"function"==typeof a.set){var i=a.get,n=a.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(e){o=""+e,n.call(this,e)}}),Object.defineProperty(e,t,{enumerable:a.enumerable}),{getValue:function(){return o},setValue:function(e){o=""+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}})(e))}function j(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var a=t.getValue(),o="";return e&&(o=K(e)?e.checked?"true":"false":e.value),(e=o)!==a&&(t.setValue(e),!0)}function Q(e){if(void 0===(e=e||("undefined"!=typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}function X(e,t){var a=t.checked;return G({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=a?a:e._wrapperState.initialChecked})}function $(e,t){var a=null==t.defaultValue?"":t.defaultValue,o=null!=t.checked?t.checked:t.defaultChecked;a=z(null!=t.value?t.value:a),e._wrapperState={initialChecked:o,initialValue:a,controlled:"checkbox"===t.type||"radio"===t.type?null!=t.checked:null!=t.value}}function q(e,t){null!=(t=t.checked)&&R(e,"checked",t,!1)}function J(e,t){q(e,t);var a=z(t.value),o=t.type;if(null!=a)"number"===o?(0===a&&""===e.value||e.value!=a)&&(e.value=""+a):e.value!==""+a&&(e.value=""+a);else if("submit"===o||"reset"===o)return void e.removeAttribute("value");t.hasOwnProperty("value")?ee(e,t.type,a):t.hasOwnProperty("defaultValue")&&ee(e,t.type,z(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function Z(e,t,a){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var o=t.type;if(!("submit"!==o&&"reset"!==o||void 0!==t.value&&null!==t.value))return;t=""+e._wrapperState.initialValue,a||t===e.value||(e.value=t),e.defaultValue=t}""!==(a=e.name)&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,""!==a&&(e.name=a)}function ee(e,t,a){"number"===t&&Q(e.ownerDocument)===e||(null==a?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+a&&(e.defaultValue=""+a))}var te=Array.isArray;function ae(e,t,a,o){if(e=e.options,t){t={};for(var i=0;i<a.length;i++)t["$"+a[i]]=!0;for(a=0;a<e.length;a++)i=t.hasOwnProperty("$"+e[a].value),e[a].selected!==i&&(e[a].selected=i),i&&o&&(e[a].defaultSelected=!0)}else{for(a=""+z(a),t=null,i=0;i<e.length;i++){if(e[i].value===a)return e[i].selected=!0,void(o&&(e[i].defaultSelected=!0));null!==t||e[i].disabled||(t=e[i])}null!==t&&(t.selected=!0)}}function oe(e,t){if(null!=t.dangerouslySetInnerHTML)throw Error(n(91));return G({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function ie(e,t){var a=t.value;if(null==a){if(a=t.children,t=t.defaultValue,null!=a){if(null!=t)throw Error(n(92));if(te(a)){if(1<a.length)throw Error(n(93));a=a[0]}t=a}null==t&&(t=""),a=t}e._wrapperState={initialValue:z(a)}}function ne(e,t){var a=z(t.value),o=z(t.defaultValue);null!=a&&((a=""+a)!==e.value&&(e.value=a),null==t.defaultValue&&e.defaultValue!==a&&(e.defaultValue=a)),null!=o&&(e.defaultValue=""+o)}function re(e){var t=e.textContent;t===e._wrapperState.initialValue&&""!==t&&null!==t&&(e.value=t)}function Ee(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function _e(e,t){return null==e||"http://www.w3.org/1999/xhtml"===e?Ee(t):"http://www.w3.org/2000/svg"===e&&"foreignObject"===t?"http://www.w3.org/1999/xhtml":e}var Te,se,Se=(se=function(e,t){if("http://www.w3.org/2000/svg"!==e.namespaceURI||"innerHTML"in e)e.innerHTML=t;else{for((Te=Te||document.createElement("div")).innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=Te.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}},"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(e,t,a,o){MSApp.execUnsafeLocalFunction((function(){return se(e,t)}))}:se);function le(e,t){if(t){var a=e.firstChild;if(a&&a===e.lastChild&&3===a.nodeType)return void(a.nodeValue=t)}e.textContent=t}var Ie={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Ae=["Webkit","ms","Moz","O"];function ue(e,t,a){return null==t||"boolean"==typeof t||""===t?"":a||"number"!=typeof t||0===t||Ie.hasOwnProperty(e)&&Ie[e]?(""+t).trim():t+"px"}function de(e,t){for(var a in e=e.style,t)if(t.hasOwnProperty(a)){var o=0===a.indexOf("--"),i=ue(a,t[a],o);"float"===a&&(a="cssFloat"),o?e.setProperty(a,i):e[a]=i}}Object.keys(Ie).forEach((function(e){Ae.forEach((function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Ie[t]=Ie[e]}))}));var ce=G({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Oe(e,t){if(t){if(ce[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw Error(n(137,e));if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw Error(n(60));if("object"!=typeof t.dangerouslySetInnerHTML||!("__html"in t.dangerouslySetInnerHTML))throw Error(n(61))}if(null!=t.style&&"object"!=typeof t.style)throw Error(n(62))}}function Re(e,t){if(-1===e.indexOf("-"))return"string"==typeof t.is;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Ne=null;function me(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}var Le=null,De=null,pe=null;function he(e){if(e=Oi(e)){if("function"!=typeof Le)throw Error(n(280));var t=e.stateNode;t&&(t=Ni(t),Le(e.stateNode,e.type,t))}}function Ce(e){De?pe?pe.push(e):pe=[e]:De=e}function fe(){if(De){var e=De,t=pe;if(pe=De=null,he(e),t)for(e=0;e<t.length;e++)he(t[e])}}function Be(e,t){return e(t)}function Pe(){}var ge=!1;function ve(e,t,a){if(ge)return e(t,a);ge=!0;try{return Be(e,t,a)}finally{ge=!1,(null!==De||null!==pe)&&(Pe(),fe())}}function ye(e,t){var a=e.stateNode;if(null===a)return null;var o=Ni(a);if(null===o)return null;a=o[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(o=!o.disabled)||(o=!("button"===(e=e.type)||"input"===e||"select"===e||"textarea"===e)),e=!o;break e;default:e=!1}if(e)return null;if(a&&"function"!=typeof a)throw Error(n(231,t,typeof a));return a}var We=!1;if(s)try{var Me={};Object.defineProperty(Me,"passive",{get:function(){We=!0}}),window.addEventListener("test",Me,Me),window.removeEventListener("test",Me,Me)}catch(se){We=!1}function be(e,t,a,o,i,n,r,E,_){var T=Array.prototype.slice.call(arguments,3);try{t.apply(a,T)}catch(e){this.onError(e)}}var Ue=!1,Ge=null,ke=!1,Fe=null,Ve={onError:function(e){Ue=!0,Ge=e}};function He(e,t,a,o,i,n,r,E,_){Ue=!1,Ge=null,be.apply(Ve,arguments)}function we(e){var t=e,a=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{0!=(4098&(t=e).flags)&&(a=t.return),e=t.return}while(e)}return 3===t.tag?a:null}function Ye(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&(null!==(e=e.alternate)&&(t=e.memoizedState)),null!==t)return t.dehydrated}return null}function ze(e){if(we(e)!==e)throw Error(n(188))}function Ke(e){return null!==(e=(function(e){var t=e.alternate;if(!t){if(null===(t=we(e)))throw Error(n(188));return t!==e?null:e}for(var a=e,o=t;;){var i=a.return;if(null===i)break;var r=i.alternate;if(null===r){if(null!==(o=i.return)){a=o;continue}break}if(i.child===r.child){for(r=i.child;r;){if(r===a)return ze(i),e;if(r===o)return ze(i),t;r=r.sibling}throw Error(n(188))}if(a.return!==o.return)a=i,o=r;else{for(var E=!1,_=i.child;_;){if(_===a){E=!0,a=i,o=r;break}if(_===o){E=!0,o=i,a=r;break}_=_.sibling}if(!E){for(_=r.child;_;){if(_===a){E=!0,a=r,o=i;break}if(_===o){E=!0,o=r,a=i;break}_=_.sibling}if(!E)throw Error(n(189))}}if(a.alternate!==o)throw Error(n(190))}if(3!==a.tag)throw Error(n(188));return a.stateNode.current===a?e:t})(e))?xe(e):null}function xe(e){if(5===e.tag||6===e.tag)return e;for(e=e.child;null!==e;){var t=xe(e);if(null!==t)return t;e=e.sibling}return null}var je=i.unstable_scheduleCallback,Qe=i.unstable_cancelCallback,Xe=i.unstable_shouldYield,$e=i.unstable_requestPaint,qe=i.unstable_now,Je=i.unstable_getCurrentPriorityLevel,Ze=i.unstable_ImmediatePriority,et=i.unstable_UserBlockingPriority,tt=i.unstable_NormalPriority,at=(i.unstable_LowPriority,i.unstable_IdlePriority),ot=null,it=null;var nt=Math.clz32?Math.clz32:function(e){return 0===(e>>>=0)?32:31-(rt(e)/Et|0)|0},rt=Math.log,Et=Math.LN2;var _t=64,Tt=4194304;function st(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return 4194240&e;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return 130023424&e;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function St(e,t){var a=e.pendingLanes;if(0===a)return 0;var o=0,i=e.suspendedLanes,n=e.pingedLanes,r=268435455&a;if(0!==r){var E=r&~i;0!==E?o=st(E):0!==(n&=r)&&(o=st(n))}else 0!==(r=a&~i)?o=st(r):0!==n&&(o=st(n));if(0===o)return 0;if(0!==t&&t!==o&&0==(t&i)&&((i=o&-o)>=(n=t&-t)||16===i&&0!=(4194240&n)))return t;if(0!=(4&o)&&(o|=16&a),0!==(t=e.entangledLanes))for(e=e.entanglements,t&=o;0<t;)i=1<<(a=31-nt(t)),o|=e[a],t&=~i;return o}function lt(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;default:return-1}}function It(e){return 0!==(e=-1073741825&e.pendingLanes)?e:1073741824&e?1073741824:0}function At(){var e=_t;return 0==(4194240&(_t<<=1))&&(_t=64),e}function ut(e){for(var t=[],a=0;31>a;a++)t.push(e);return t}function dt(e,t,a){e.pendingLanes|=t,536870912!==t&&(e.suspendedLanes=0,e.pingedLanes=0),(e=e.eventTimes)[t=31-nt(t)]=a}function ct(e,t){var a=e.entangledLanes|=t;for(e=e.entanglements;a;){var o=31-nt(a),i=1<<o;i&t|e[o]&t&&(e[o]|=t),a&=~i}}var Ot=0;function Rt(e){return 1<(e&=-e)?4<e?0!=(268435455&e)?16:536870912:4:1}var Nt,mt,Lt,Dt,pt,ht=!1,Ct=[],ft=null,Bt=null,Pt=null,gt=new Map,vt=new Map,yt=[],Wt="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function Mt(e,t){switch(e){case"focusin":case"focusout":ft=null;break;case"dragenter":case"dragleave":Bt=null;break;case"mouseover":case"mouseout":Pt=null;break;case"pointerover":case"pointerout":gt.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":vt.delete(t.pointerId)}}function bt(e,t,a,o,i,n){return null===e||e.nativeEvent!==n?(e={blockedOn:t,domEventName:a,eventSystemFlags:o,nativeEvent:n,targetContainers:[i]},null!==t&&(null!==(t=Oi(t))&&mt(t)),e):(e.eventSystemFlags|=o,t=e.targetContainers,null!==i&&-1===t.indexOf(i)&&t.push(i),e)}function Ut(e){var t=ci(e.target);if(null!==t){var a=we(t);if(null!==a)if(13===(t=a.tag)){if(null!==(t=Ye(a)))return e.blockedOn=t,void pt(e.priority,(function(){Lt(a)}))}else if(3===t&&a.stateNode.current.memoizedState.isDehydrated)return void(e.blockedOn=3===a.tag?a.stateNode.containerInfo:null)}e.blockedOn=null}function Gt(e){if(null!==e.blockedOn)return!1;for(var t=e.targetContainers;0<t.length;){var a=Qt(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(null!==a)return null!==(t=Oi(a))&&mt(t),e.blockedOn=a,!1;var o=new(a=e.nativeEvent).constructor(a.type,a);Ne=o,a.target.dispatchEvent(o),Ne=null,t.shift()}return!0}function kt(e,t,a){Gt(e)&&a.delete(t)}function Ft(){ht=!1,null!==ft&&Gt(ft)&&(ft=null),null!==Bt&&Gt(Bt)&&(Bt=null),null!==Pt&&Gt(Pt)&&(Pt=null),gt.forEach(kt),vt.forEach(kt)}function Vt(e,t){e.blockedOn===t&&(e.blockedOn=null,ht||(ht=!0,i.unstable_scheduleCallback(i.unstable_NormalPriority,Ft)))}function Ht(e){function t(t){return Vt(t,e)}if(0<Ct.length){Vt(Ct[0],e);for(var a=1;a<Ct.length;a++){var o=Ct[a];o.blockedOn===e&&(o.blockedOn=null)}}for(null!==ft&&Vt(ft,e),null!==Bt&&Vt(Bt,e),null!==Pt&&Vt(Pt,e),gt.forEach(t),vt.forEach(t),a=0;a<yt.length;a++)(o=yt[a]).blockedOn===e&&(o.blockedOn=null);for(;0<yt.length&&null===(a=yt[0]).blockedOn;)Ut(a),null===a.blockedOn&&yt.shift()}var wt=N.ReactCurrentBatchConfig,Yt=!0;function zt(e,t,a,o){var i=Ot,n=wt.transition;wt.transition=null;try{Ot=1,xt(e,t,a,o)}finally{Ot=i,wt.transition=n}}function Kt(e,t,a,o){var i=Ot,n=wt.transition;wt.transition=null;try{Ot=4,xt(e,t,a,o)}finally{Ot=i,wt.transition=n}}function xt(e,t,a,o){if(Yt){var i=Qt(e,t,a,o);if(null===i)Yo(e,t,o,jt,a),Mt(e,o);else if((function(e,t,a,o,i){switch(t){case"focusin":return ft=bt(ft,e,t,a,o,i),!0;case"dragenter":return Bt=bt(Bt,e,t,a,o,i),!0;case"mouseover":return Pt=bt(Pt,e,t,a,o,i),!0;case"pointerover":var n=i.pointerId;return gt.set(n,bt(gt.get(n)||null,e,t,a,o,i)),!0;case"gotpointercapture":return n=i.pointerId,vt.set(n,bt(vt.get(n)||null,e,t,a,o,i)),!0}return!1})(i,e,t,a,o))o.stopPropagation();else if(Mt(e,o),4&t&&-1<Wt.indexOf(e)){for(;null!==i;){var n=Oi(i);if(null!==n&&Nt(n),null===(n=Qt(e,t,a,o))&&Yo(e,t,o,jt,a),n===i)break;i=n}null!==i&&o.stopPropagation()}else Yo(e,t,o,null,a)}}var jt=null;function Qt(e,t,a,o){if(jt=null,null!==(e=ci(e=me(o))))if(null===(t=we(e)))e=null;else if(13===(a=t.tag)){if(null!==(e=Ye(t)))return e;e=null}else if(3===a){if(t.stateNode.current.memoizedState.isDehydrated)return 3===t.tag?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return jt=e,null}function Xt(e){switch(e){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(Je()){case Ze:return 1;case et:return 4;default:return 16;case at:return 536870912}default:return 16}}var $t=null,qt=null,Jt=null;function Zt(){if(Jt)return Jt;var e,t,a=qt,o=a.length,i="value"in $t?$t.value:$t.textContent,n=i.length;for(e=0;e<o&&a[e]===i[e];e++);var r=o-e;for(t=1;t<=r&&a[o-t]===i[n-t];t++);return Jt=i.slice(e,1<t?1-t:void 0)}function ea(e){var t=e.keyCode;return"charCode"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,10===e&&(e=13),32<=e||13===e?e:0}function ta(){return!0}function aa(){return!1}function oa(e){function t(t,a,o,i,n){for(var r in this._reactName=t,this._targetInst=o,this.type=a,this.nativeEvent=i,this.target=n,this.currentTarget=null,e)e.hasOwnProperty(r)&&(t=e[r],this[r]=t?t(i):i[r]);return this.isDefaultPrevented=(null!=i.defaultPrevented?i.defaultPrevented:!1===i.returnValue)?ta:aa,this.isPropagationStopped=aa,this}return G(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=ta)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=ta)},persist:function(){},isPersistent:ta}),t}var ia,na,ra,Ea={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},_a=oa(Ea),Ta=G({},Ea,{view:0,detail:0}),sa=oa(Ta),Sa=G({},Ta,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Da,button:0,buttons:0,relatedTarget:function(e){return void 0===e.relatedTarget?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==ra&&(ra&&"mousemove"===e.type?(ia=e.screenX-ra.screenX,na=e.screenY-ra.screenY):na=ia=0,ra=e),ia)},movementY:function(e){return"movementY"in e?e.movementY:na}}),la=oa(Sa),Ia=oa(G({},Sa,{dataTransfer:0})),Aa=oa(G({},Ta,{relatedTarget:0})),ua=oa(G({},Ea,{animationName:0,elapsedTime:0,pseudoElement:0})),da=G({},Ea,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),ca=oa(da),Oa=oa(G({},Ea,{data:0})),Ra={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Na={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},ma={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function La(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=ma[e])&&!!t[e]}function Da(){return La}var pa=G({},Ta,{key:function(e){if(e.key){var t=Ra[e.key]||e.key;if("Unidentified"!==t)return t}return"keypress"===e.type?13===(e=ea(e))?"Enter":String.fromCharCode(e):"keydown"===e.type||"keyup"===e.type?Na[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Da,charCode:function(e){return"keypress"===e.type?ea(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?ea(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}}),ha=oa(pa),Ca=oa(G({},Sa,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),fa=oa(G({},Ta,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Da})),Ba=oa(G({},Ea,{propertyName:0,elapsedTime:0,pseudoElement:0})),Pa=G({},Sa,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),ga=oa(Pa),va=[9,13,27,32],ya=s&&"CompositionEvent"in window,Wa=null;s&&"documentMode"in document&&(Wa=document.documentMode);var Ma=s&&"TextEvent"in window&&!Wa,ba=s&&(!ya||Wa&&8<Wa&&11>=Wa),Ua=String.fromCharCode(32),Ga=!1;function ka(e,t){switch(e){case"keyup":return-1!==va.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Fa(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var Va=!1;var Ha={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function wa(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!Ha[e.type]:"textarea"===t}function Ya(e,t,a,o){Ce(o),0<(t=Ko(t,"onChange")).length&&(a=new _a("onChange","change",null,a,o),e.push({event:a,listeners:t}))}var za=null,Ka=null;function xa(e){Go(e,0)}function ja(e){if(j(Ri(e)))return e}function Qa(e,t){if("change"===e)return t}var Xa=!1;if(s){var $a;if(s){var qa="oninput"in document;if(!qa){var Ja=document.createElement("div");Ja.setAttribute("oninput","return;"),qa="function"==typeof Ja.oninput}$a=qa}else $a=!1;Xa=$a&&(!document.documentMode||9<document.documentMode)}function Za(){za&&(za.detachEvent("onpropertychange",eo),Ka=za=null)}function eo(e){if("value"===e.propertyName&&ja(Ka)){var t=[];Ya(t,Ka,e,me(e)),ve(xa,t)}}function to(e,t,a){"focusin"===e?(Za(),Ka=a,(za=t).attachEvent("onpropertychange",eo)):"focusout"===e&&Za()}function ao(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)return ja(Ka)}function oo(e,t){if("click"===e)return ja(t)}function io(e,t){if("input"===e||"change"===e)return ja(t)}var no="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t};function ro(e,t){if(no(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var a=Object.keys(e),o=Object.keys(t);if(a.length!==o.length)return!1;for(o=0;o<a.length;o++){var i=a[o];if(!S.call(t,i)||!no(e[i],t[i]))return!1}return!0}function Eo(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function _o(e,t){var a,o=Eo(e);for(e=0;o;){if(3===o.nodeType){if(a=e+o.textContent.length,e<=t&&a>=t)return{node:o,offset:t-e};e=a}e:{for(;o;){if(o.nextSibling){o=o.nextSibling;break e}o=o.parentNode}o=void 0}o=Eo(o)}}function To(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?To(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function so(){for(var e=window,t=Q();t instanceof e.HTMLIFrameElement;){try{var a="string"==typeof t.contentWindow.location.href}catch(e){a=!1}if(!a)break;t=Q((e=t.contentWindow).document)}return t}function So(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}function lo(e){var t=so(),a=e.focusedElem,o=e.selectionRange;if(t!==a&&a&&a.ownerDocument&&To(a.ownerDocument.documentElement,a)){if(null!==o&&So(a))if(t=o.start,void 0===(e=o.end)&&(e=t),"selectionStart"in a)a.selectionStart=t,a.selectionEnd=Math.min(e,a.value.length);else if((e=(t=a.ownerDocument||document)&&t.defaultView||window).getSelection){e=e.getSelection();var i=a.textContent.length,n=Math.min(o.start,i);o=void 0===o.end?n:Math.min(o.end,i),!e.extend&&n>o&&(i=o,o=n,n=i),i=_o(a,n);var r=_o(a,o);i&&r&&(1!==e.rangeCount||e.anchorNode!==i.node||e.anchorOffset!==i.offset||e.focusNode!==r.node||e.focusOffset!==r.offset)&&((t=t.createRange()).setStart(i.node,i.offset),e.removeAllRanges(),n>o?(e.addRange(t),e.extend(r.node,r.offset)):(t.setEnd(r.node,r.offset),e.addRange(t)))}for(t=[],e=a;e=e.parentNode;)1===e.nodeType&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for("function"==typeof a.focus&&a.focus(),a=0;a<t.length;a++)(e=t[a]).element.scrollLeft=e.left,e.element.scrollTop=e.top}}var Io=s&&"documentMode"in document&&11>=document.documentMode,Ao=null,uo=null,co=null,Oo=!1;function Ro(e,t,a){var o=a.window===a?a.document:9===a.nodeType?a:a.ownerDocument;Oo||null==Ao||Ao!==Q(o)||("selectionStart"in(o=Ao)&&So(o)?o={start:o.selectionStart,end:o.selectionEnd}:o={anchorNode:(o=(o.ownerDocument&&o.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:o.anchorOffset,focusNode:o.focusNode,focusOffset:o.focusOffset},co&&ro(co,o)||(co=o,0<(o=Ko(uo,"onSelect")).length&&(t=new _a("onSelect","select",null,t,a),e.push({event:t,listeners:o}),t.target=Ao)))}function No(e,t){var a={};return a[e.toLowerCase()]=t.toLowerCase(),a["Webkit"+e]="webkit"+t,a["Moz"+e]="moz"+t,a}var mo={animationend:No("Animation","AnimationEnd"),animationiteration:No("Animation","AnimationIteration"),animationstart:No("Animation","AnimationStart"),transitionend:No("Transition","TransitionEnd")},Lo={},Do={};function po(e){if(Lo[e])return Lo[e];if(!mo[e])return e;var t,a=mo[e];for(t in a)if(a.hasOwnProperty(t)&&t in Do)return Lo[e]=a[t];return e}s&&(Do=document.createElement("div").style,"AnimationEvent"in window||(delete mo.animationend.animation,delete mo.animationiteration.animation,delete mo.animationstart.animation),"TransitionEvent"in window||delete mo.transitionend.transition);var ho=po("animationend"),Co=po("animationiteration"),fo=po("animationstart"),Bo=po("transitionend"),Po=new Map,go="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function vo(e,t){Po.set(e,t),_(t,[e])}for(var yo=0;yo<go.length;yo++){var Wo=go[yo];vo(Wo.toLowerCase(),"on"+(Wo[0].toUpperCase()+Wo.slice(1)))}vo(ho,"onAnimationEnd"),vo(Co,"onAnimationIteration"),vo(fo,"onAnimationStart"),vo("dblclick","onDoubleClick"),vo("focusin","onFocus"),vo("focusout","onBlur"),vo(Bo,"onTransitionEnd"),T("onMouseEnter",["mouseout","mouseover"]),T("onMouseLeave",["mouseout","mouseover"]),T("onPointerEnter",["pointerout","pointerover"]),T("onPointerLeave",["pointerout","pointerover"]),_("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),_("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),_("onBeforeInput",["compositionend","keypress","textInput","paste"]),_("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),_("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),_("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Mo="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),bo=new Set("cancel close invalid load scroll toggle".split(" ").concat(Mo));function Uo(e,t,a){var o=e.type||"unknown-event";e.currentTarget=a,(function(e,t,a,o,i,r,E,_,T){if(He.apply(this,arguments),Ue){if(!Ue)throw Error(n(198));var s=Ge;Ue=!1,Ge=null,ke||(ke=!0,Fe=s)}})(o,t,void 0,e),e.currentTarget=null}function Go(e,t){t=0!=(4&t);for(var a=0;a<e.length;a++){var o=e[a],i=o.event;o=o.listeners;e:{var n=void 0;if(t)for(var r=o.length-1;0<=r;r--){var E=o[r],_=E.instance,T=E.currentTarget;if(E=E.listener,_!==n&&i.isPropagationStopped())break e;Uo(i,E,T),n=_}else for(r=0;r<o.length;r++){if(_=(E=o[r]).instance,T=E.currentTarget,E=E.listener,_!==n&&i.isPropagationStopped())break e;Uo(i,E,T),n=_}}}if(ke)throw e=Fe,ke=!1,Fe=null,e}function ko(e,t){var a=t[Ai];void 0===a&&(a=t[Ai]=new Set);var o=e+"__bubble";a.has(o)||(wo(t,e,2,!1),a.add(o))}function Fo(e,t,a){var o=0;t&&(o|=4),wo(a,e,o,t)}var Vo="_reactListening"+Math.random().toString(36).slice(2);function Ho(e){if(!e[Vo]){e[Vo]=!0,r.forEach((function(t){"selectionchange"!==t&&(bo.has(t)||Fo(t,!1,e),Fo(t,!0,e))}));var t=9===e.nodeType?e:e.ownerDocument;null===t||t[Vo]||(t[Vo]=!0,Fo("selectionchange",!1,t))}}function wo(e,t,a,o){switch(Xt(t)){case 1:var i=zt;break;case 4:i=Kt;break;default:i=xt}a=i.bind(null,t,a,e),i=void 0,!We||"touchstart"!==t&&"touchmove"!==t&&"wheel"!==t||(i=!0),o?void 0!==i?e.addEventListener(t,a,{capture:!0,passive:i}):e.addEventListener(t,a,!0):void 0!==i?e.addEventListener(t,a,{passive:i}):e.addEventListener(t,a,!1)}function Yo(e,t,a,o,i){var n=o;if(0==(1&t)&&0==(2&t)&&null!==o)e:for(;;){if(null===o)return;var r=o.tag;if(3===r||4===r){var E=o.stateNode.containerInfo;if(E===i||8===E.nodeType&&E.parentNode===i)break;if(4===r)for(r=o.return;null!==r;){var _=r.tag;if((3===_||4===_)&&((_=r.stateNode.containerInfo)===i||8===_.nodeType&&_.parentNode===i))return;r=r.return}for(;null!==E;){if(null===(r=ci(E)))return;if(5===(_=r.tag)||6===_){o=n=r;continue e}E=E.parentNode}}o=o.return}ve((function(){var o=n,i=me(a),r=[];e:{var E=Po.get(e);if(void 0!==E){var _=_a,T=e;switch(e){case"keypress":if(0===ea(a))break e;case"keydown":case"keyup":_=ha;break;case"focusin":T="focus",_=Aa;break;case"focusout":T="blur",_=Aa;break;case"beforeblur":case"afterblur":_=Aa;break;case"click":if(2===a.button)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":_=la;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":_=Ia;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":_=fa;break;case ho:case Co:case fo:_=ua;break;case Bo:_=Ba;break;case"scroll":_=sa;break;case"wheel":_=ga;break;case"copy":case"cut":case"paste":_=ca;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":_=Ca}var s=0!=(4&t),S=!s&&"scroll"===e,l=s?null!==E?E+"Capture":null:E;s=[];for(var I,A=o;null!==A;){var u=(I=A).stateNode;if(5===I.tag&&null!==u&&(I=u,null!==l&&(null!=(u=ye(A,l))&&s.push(zo(A,u,I)))),S)break;A=A.return}0<s.length&&(E=new _(E,T,null,a,i),r.push({event:E,listeners:s}))}}if(0==(7&t)){if(_="mouseout"===e||"pointerout"===e,(!(E="mouseover"===e||"pointerover"===e)||a===Ne||!(T=a.relatedTarget||a.fromElement)||!ci(T)&&!T[Ii])&&(_||E)&&(E=i.window===i?i:(E=i.ownerDocument)?E.defaultView||E.parentWindow:window,_?(_=o,null!==(T=(T=a.relatedTarget||a.toElement)?ci(T):null)&&(T!==(S=we(T))||5!==T.tag&&6!==T.tag)&&(T=null)):(_=null,T=o),_!==T)){if(s=la,u="onMouseLeave",l="onMouseEnter",A="mouse","pointerout"!==e&&"pointerover"!==e||(s=Ca,u="onPointerLeave",l="onPointerEnter",A="pointer"),S=null==_?E:Ri(_),I=null==T?E:Ri(T),(E=new s(u,A+"leave",_,a,i)).target=S,E.relatedTarget=I,u=null,ci(i)===o&&((s=new s(l,A+"enter",T,a,i)).target=I,s.relatedTarget=S,u=s),S=u,_&&T)e:{for(l=T,A=0,I=s=_;I;I=xo(I))A++;for(I=0,u=l;u;u=xo(u))I++;for(;0<A-I;)s=xo(s),A--;for(;0<I-A;)l=xo(l),I--;for(;A--;){if(s===l||null!==l&&s===l.alternate)break e;s=xo(s),l=xo(l)}s=null}else s=null;null!==_&&jo(r,E,_,s,!1),null!==T&&null!==S&&jo(r,S,T,s,!0)}if("select"===(_=(E=o?Ri(o):window).nodeName&&E.nodeName.toLowerCase())||"input"===_&&"file"===E.type)var d=Qa;else if(wa(E))if(Xa)d=io;else{d=ao;var c=to}else(_=E.nodeName)&&"input"===_.toLowerCase()&&("checkbox"===E.type||"radio"===E.type)&&(d=oo);switch(d&&(d=d(e,o))?Ya(r,d,a,i):(c&&c(e,E,o),"focusout"===e&&(c=E._wrapperState)&&c.controlled&&"number"===E.type&&ee(E,"number",E.value)),c=o?Ri(o):window,e){case"focusin":(wa(c)||"true"===c.contentEditable)&&(Ao=c,uo=o,co=null);break;case"focusout":co=uo=Ao=null;break;case"mousedown":Oo=!0;break;case"contextmenu":case"mouseup":case"dragend":Oo=!1,Ro(r,a,i);break;case"selectionchange":if(Io)break;case"keydown":case"keyup":Ro(r,a,i)}var O;if(ya)e:{switch(e){case"compositionstart":var R="onCompositionStart";break e;case"compositionend":R="onCompositionEnd";break e;case"compositionupdate":R="onCompositionUpdate";break e}R=void 0}else Va?ka(e,a)&&(R="onCompositionEnd"):"keydown"===e&&229===a.keyCode&&(R="onCompositionStart");R&&(ba&&"ko"!==a.locale&&(Va||"onCompositionStart"!==R?"onCompositionEnd"===R&&Va&&(O=Zt()):(qt="value"in($t=i)?$t.value:$t.textContent,Va=!0)),0<(c=Ko(o,R)).length&&(R=new Oa(R,e,null,a,i),r.push({event:R,listeners:c}),O?R.data=O:null!==(O=Fa(a))&&(R.data=O))),(O=Ma?(function(e,t){switch(e){case"compositionend":return Fa(t);case"keypress":return 32!==t.which?null:(Ga=!0,Ua);case"textInput":return(e=t.data)===Ua&&Ga?null:e;default:return null}})(e,a):(function(e,t){if(Va)return"compositionend"===e||!ya&&ka(e,t)?(e=Zt(),Jt=qt=$t=null,Va=!1,e):null;switch(e){default:return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return ba&&"ko"!==t.locale?null:t.data}})(e,a))&&(0<(o=Ko(o,"onBeforeInput")).length&&(i=new Oa("onBeforeInput","beforeinput",null,a,i),r.push({event:i,listeners:o}),i.data=O))}Go(r,t)}))}function zo(e,t,a){return{instance:e,listener:t,currentTarget:a}}function Ko(e,t){for(var a=t+"Capture",o=[];null!==e;){var i=e,n=i.stateNode;5===i.tag&&null!==n&&(i=n,null!=(n=ye(e,a))&&o.unshift(zo(e,n,i)),null!=(n=ye(e,t))&&o.push(zo(e,n,i))),e=e.return}return o}function xo(e){if(null===e)return null;do{e=e.return}while(e&&5!==e.tag);return e||null}function jo(e,t,a,o,i){for(var n=t._reactName,r=[];null!==a&&a!==o;){var E=a,_=E.alternate,T=E.stateNode;if(null!==_&&_===o)break;5===E.tag&&null!==T&&(E=T,i?null!=(_=ye(a,n))&&r.unshift(zo(a,_,E)):i||null!=(_=ye(a,n))&&r.push(zo(a,_,E))),a=a.return}0!==r.length&&e.push({event:t,listeners:r})}var Qo=/\r\n?/g,Xo=/\u0000|\uFFFD/g;function $o(e){return("string"==typeof e?e:""+e).replace(Qo,"\n").replace(Xo,"")}function qo(e,t,a){if(t=$o(t),$o(e)!==t&&a)throw Error(n(425))}function Jo(){}var Zo=null,ei=null;function ti(e,t){return"textarea"===e||"noscript"===e||"string"==typeof t.children||"number"==typeof t.children||"object"==typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}var ai="function"==typeof setTimeout?setTimeout:void 0,oi="function"==typeof clearTimeout?clearTimeout:void 0,ii="function"==typeof Promise?Promise:void 0,ni="function"==typeof queueMicrotask?queueMicrotask:void 0!==ii?function(e){return ii.resolve(null).then(e).catch(ri)}:ai;function ri(e){setTimeout((function(){throw e}))}function Ei(e,t){var a=t,o=0;do{var i=a.nextSibling;if(e.removeChild(a),i&&8===i.nodeType)if("/$"===(a=i.data)){if(0===o)return e.removeChild(i),void Ht(t);o--}else"$"!==a&&"$?"!==a&&"$!"!==a||o++;a=i}while(a);Ht(t)}function _i(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break;if(8===t){if("$"===(t=e.data)||"$!"===t||"$?"===t)break;if("/$"===t)return null}}return e}function Ti(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){var a=e.data;if("$"===a||"$!"===a||"$?"===a){if(0===t)return e;t--}else"/$"===a&&t++}e=e.previousSibling}return null}var si=Math.random().toString(36).slice(2),Si="__reactFiber$"+si,li="__reactProps$"+si,Ii="__reactContainer$"+si,Ai="__reactEvents$"+si,ui="__reactListeners$"+si,di="__reactHandles$"+si;function ci(e){var t=e[Si];if(t)return t;for(var a=e.parentNode;a;){if(t=a[Ii]||a[Si]){if(a=t.alternate,null!==t.child||null!==a&&null!==a.child)for(e=Ti(e);null!==e;){if(a=e[Si])return a;e=Ti(e)}return t}a=(e=a).parentNode}return null}function Oi(e){return!(e=e[Si]||e[Ii])||5!==e.tag&&6!==e.tag&&13!==e.tag&&3!==e.tag?null:e}function Ri(e){if(5===e.tag||6===e.tag)return e.stateNode;throw Error(n(33))}function Ni(e){return e[li]||null}var mi=[],Li=-1;function Di(e){return{current:e}}function pi(e){0>Li||(e.current=mi[Li],mi[Li]=null,Li--)}function hi(e,t){Li++,mi[Li]=e.current,e.current=t}var Ci={},fi=Di(Ci),Bi=Di(!1),Pi=Ci;function gi(e,t){var a=e.type.contextTypes;if(!a)return Ci;var o=e.stateNode;if(o&&o.__reactInternalMemoizedUnmaskedChildContext===t)return o.__reactInternalMemoizedMaskedChildContext;var i,n={};for(i in a)n[i]=t[i];return o&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=n),n}function vi(e){return null!=(e=e.childContextTypes)}function yi(){pi(Bi),pi(fi)}function Wi(e,t,a){if(fi.current!==Ci)throw Error(n(168));hi(fi,t),hi(Bi,a)}function Mi(e,t,a){var o=e.stateNode;if(t=t.childContextTypes,"function"!=typeof o.getChildContext)return a;for(var i in o=o.getChildContext())if(!(i in t))throw Error(n(108,Y(e)||"Unknown",i));return G({},a,o)}function bi(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Ci,Pi=fi.current,hi(fi,e),hi(Bi,Bi.current),!0}function Ui(e,t,a){var o=e.stateNode;if(!o)throw Error(n(169));a?(e=Mi(e,t,Pi),o.__reactInternalMemoizedMergedChildContext=e,pi(Bi),pi(fi),hi(fi,e)):pi(Bi),hi(Bi,a)}var Gi=null,ki=!1,Fi=!1;function Vi(e){null===Gi?Gi=[e]:Gi.push(e)}function Hi(){if(!Fi&&null!==Gi){Fi=!0;var e=0,t=Ot;try{var a=Gi;for(Ot=1;e<a.length;e++){var o=a[e];do{o=o(!0)}while(null!==o)}Gi=null,ki=!1}catch(t){throw null!==Gi&&(Gi=Gi.slice(e+1)),je(Ze,Hi),t}finally{Ot=t,Fi=!1}}return null}var wi=[],Yi=0,zi=null,Ki=0,xi=[],ji=0,Qi=null,Xi=1,$i="";function qi(e,t){wi[Yi++]=Ki,wi[Yi++]=zi,zi=e,Ki=t}function Ji(e,t,a){xi[ji++]=Xi,xi[ji++]=$i,xi[ji++]=Qi,Qi=e;var o=Xi;e=$i;var i=32-nt(o)-1;o&=~(1<<i),a+=1;var n=32-nt(t)+i;if(30<n){var r=i-i%5;n=(o&(1<<r)-1).toString(32),o>>=r,i-=r,Xi=1<<32-nt(t)+i|a<<i|o,$i=n+e}else Xi=1<<n|a<<i|o,$i=e}function Zi(e){null!==e.return&&(qi(e,1),Ji(e,1,0))}function en(e){for(;e===zi;)zi=wi[--Yi],wi[Yi]=null,Ki=wi[--Yi],wi[Yi]=null;for(;e===Qi;)Qi=xi[--ji],xi[ji]=null,$i=xi[--ji],xi[ji]=null,Xi=xi[--ji],xi[ji]=null}var tn=null,an=null,on=!1,nn=null;function rn(e,t){var a=gT(5,null,null,0);a.elementType="DELETED",a.stateNode=t,a.return=e,null===(t=e.deletions)?(e.deletions=[a],e.flags|=16):t.push(a)}function En(e,t){switch(e.tag){case 5:var a=e.type;return null!==(t=1!==t.nodeType||a.toLowerCase()!==t.nodeName.toLowerCase()?null:t)&&(e.stateNode=t,tn=e,an=_i(t.firstChild),!0);case 6:return null!==(t=""===e.pendingProps||3!==t.nodeType?null:t)&&(e.stateNode=t,tn=e,an=null,!0);case 13:return null!==(t=8!==t.nodeType?null:t)&&(a=null!==Qi?{id:Xi,overflow:$i}:null,e.memoizedState={dehydrated:t,treeContext:a,retryLane:1073741824},(a=gT(18,null,null,0)).stateNode=t,a.return=e,e.child=a,tn=e,an=null,!0);default:return!1}}function _n(e){return 0!=(1&e.mode)&&0==(128&e.flags)}function Tn(e){if(on){var t=an;if(t){var a=t;if(!En(e,t)){if(_n(e))throw Error(n(418));t=_i(a.nextSibling);var o=tn;t&&En(e,t)?rn(o,a):(e.flags=-4097&e.flags|2,on=!1,tn=e)}}else{if(_n(e))throw Error(n(418));e.flags=-4097&e.flags|2,on=!1,tn=e}}}function sn(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;tn=e}function Sn(e){if(e!==tn)return!1;if(!on)return sn(e),on=!0,!1;var t;if((t=3!==e.tag)&&!(t=5!==e.tag)&&(t="head"!==(t=e.type)&&"body"!==t&&!ti(e.type,e.memoizedProps)),t&&(t=an)){if(_n(e))throw ln(),Error(n(418));for(;t;)rn(e,t),t=_i(t.nextSibling)}if(sn(e),13===e.tag){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(n(317));e:{for(e=e.nextSibling,t=0;e;){if(8===e.nodeType){var a=e.data;if("/$"===a){if(0===t){an=_i(e.nextSibling);break e}t--}else"$"!==a&&"$!"!==a&&"$?"!==a||t++}e=e.nextSibling}an=null}}else an=tn?_i(e.stateNode.nextSibling):null;return!0}function ln(){for(var e=an;e;)e=_i(e.nextSibling)}function In(){an=tn=null,on=!1}function An(e){null===nn?nn=[e]:nn.push(e)}var un=N.ReactCurrentBatchConfig;function dn(e,t){if(e&&e.defaultProps){for(var a in t=G({},t),e=e.defaultProps)void 0===t[a]&&(t[a]=e[a]);return t}return t}var cn=Di(null),On=null,Rn=null,Nn=null;function mn(){Nn=Rn=On=null}function Ln(e){var t=cn.current;pi(cn),e._currentValue=t}function Dn(e,t,a){for(;null!==e;){var o=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,null!==o&&(o.childLanes|=t)):null!==o&&(o.childLanes&t)!==t&&(o.childLanes|=t),e===a)break;e=e.return}}function pn(e,t){On=e,Nn=Rn=null,null!==(e=e.dependencies)&&null!==e.firstContext&&(0!=(e.lanes&t)&&(RE=!0),e.firstContext=null)}function hn(e){var t=e._currentValue;if(Nn!==e)if(e={context:e,memoizedValue:t,next:null},null===Rn){if(null===On)throw Error(n(308));Rn=e,On.dependencies={lanes:0,firstContext:e}}else Rn=Rn.next=e;return t}var Cn=null;function fn(e){null===Cn?Cn=[e]:Cn.push(e)}function Bn(e,t,a,o){var i=t.interleaved;return null===i?(a.next=a,fn(t)):(a.next=i.next,i.next=a),t.interleaved=a,Pn(e,o)}function Pn(e,t){e.lanes|=t;var a=e.alternate;for(null!==a&&(a.lanes|=t),a=e,e=e.return;null!==e;)e.childLanes|=t,null!==(a=e.alternate)&&(a.childLanes|=t),a=e,e=e.return;return 3===a.tag?a.stateNode:null}var gn=!1;function vn(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function yn(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Wn(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Mn(e,t,a){var o=e.updateQueue;if(null===o)return null;if(o=o.shared,0!=(2&f_)){var i=o.pending;return null===i?t.next=t:(t.next=i.next,i.next=t),o.pending=t,Pn(e,a)}return null===(i=o.interleaved)?(t.next=t,fn(o)):(t.next=i.next,i.next=t),o.interleaved=t,Pn(e,a)}function bn(e,t,a){if(null!==(t=t.updateQueue)&&(t=t.shared,0!=(4194240&a))){var o=t.lanes;a|=o&=e.pendingLanes,t.lanes=a,ct(e,a)}}function Un(e,t){var a=e.updateQueue,o=e.alternate;if(null!==o&&a===(o=o.updateQueue)){var i=null,n=null;if(null!==(a=a.firstBaseUpdate)){do{var r={eventTime:a.eventTime,lane:a.lane,tag:a.tag,payload:a.payload,callback:a.callback,next:null};null===n?i=n=r:n=n.next=r,a=a.next}while(null!==a);null===n?i=n=t:n=n.next=t}else i=n=t;return a={baseState:o.baseState,firstBaseUpdate:i,lastBaseUpdate:n,shared:o.shared,effects:o.effects},void(e.updateQueue=a)}null===(e=a.lastBaseUpdate)?a.firstBaseUpdate=t:e.next=t,a.lastBaseUpdate=t}function Gn(e,t,a,o){var i=e.updateQueue;gn=!1;var n=i.firstBaseUpdate,r=i.lastBaseUpdate,E=i.shared.pending;if(null!==E){i.shared.pending=null;var _=E,T=_.next;_.next=null,null===r?n=T:r.next=T,r=_;var s=e.alternate;null!==s&&((E=(s=s.updateQueue).lastBaseUpdate)!==r&&(null===E?s.firstBaseUpdate=T:E.next=T,s.lastBaseUpdate=_))}if(null!==n){var S=i.baseState;for(r=0,s=T=_=null,E=n;;){var l=E.lane,I=E.eventTime;if((o&l)===l){null!==s&&(s=s.next={eventTime:I,lane:0,tag:E.tag,payload:E.payload,callback:E.callback,next:null});e:{var A=e,u=E;switch(l=t,I=a,u.tag){case 1:if("function"==typeof(A=u.payload)){S=A.call(I,S,l);break e}S=A;break e;case 3:A.flags=-65537&A.flags|128;case 0:if(null==(l="function"==typeof(A=u.payload)?A.call(I,S,l):A))break e;S=G({},S,l);break e;case 2:gn=!0}}null!==E.callback&&0!==E.lane&&(e.flags|=64,null===(l=i.effects)?i.effects=[E]:l.push(E))}else I={eventTime:I,lane:l,tag:E.tag,payload:E.payload,callback:E.callback,next:null},null===s?(T=s=I,_=S):s=s.next=I,r|=l;if(null===(E=E.next)){if(null===(E=i.shared.pending))break;E=(l=E).next,l.next=null,i.lastBaseUpdate=l,i.shared.pending=null}}if(null===s&&(_=S),i.baseState=_,i.firstBaseUpdate=T,i.lastBaseUpdate=s,null!==(t=i.shared.interleaved)){i=t;do{r|=i.lane,i=i.next}while(i!==t)}else null===n&&(i.shared.lanes=0);b_|=r,e.lanes=r,e.memoizedState=S}}function kn(e,t,a){if(e=t.effects,t.effects=null,null!==e)for(t=0;t<e.length;t++){var o=e[t],i=o.callback;if(null!==i){if(o.callback=null,o=a,"function"!=typeof i)throw Error(n(191,i));i.call(o)}}}var Fn=(new o.Component).refs;function Vn(e,t,a,o){a=null==(a=a(o,t=e.memoizedState))?t:G({},t,a),e.memoizedState=a,0===e.lanes&&(e.updateQueue.baseState=a)}var Hn={isMounted:function(e){return!!(e=e._reactInternals)&&we(e)===e},enqueueSetState:function(e,t,a){e=e._reactInternals;var o=Z_(),i=eT(e),n=Wn(o,i);n.payload=t,null!=a&&(n.callback=a),null!==(t=Mn(e,n,i))&&(tT(t,e,i,o),bn(t,e,i))},enqueueReplaceState:function(e,t,a){e=e._reactInternals;var o=Z_(),i=eT(e),n=Wn(o,i);n.tag=1,n.payload=t,null!=a&&(n.callback=a),null!==(t=Mn(e,n,i))&&(tT(t,e,i,o),bn(t,e,i))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var a=Z_(),o=eT(e),i=Wn(a,o);i.tag=2,null!=t&&(i.callback=t),null!==(t=Mn(e,i,o))&&(tT(t,e,o,a),bn(t,e,o))}};function wn(e,t,a,o,i,n,r){return"function"==typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(o,n,r):!t.prototype||!t.prototype.isPureReactComponent||(!ro(a,o)||!ro(i,n))}function Yn(e,t,a){var o=!1,i=Ci,n=t.contextType;return"object"==typeof n&&null!==n?n=hn(n):(i=vi(t)?Pi:fi.current,n=(o=null!=(o=t.contextTypes))?gi(e,i):Ci),t=new t(a,n),e.memoizedState=null!==t.state&&void 0!==t.state?t.state:null,t.updater=Hn,e.stateNode=t,t._reactInternals=e,o&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=i,e.__reactInternalMemoizedMaskedChildContext=n),t}function zn(e,t,a,o){e=t.state,"function"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(a,o),"function"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(a,o),t.state!==e&&Hn.enqueueReplaceState(t,t.state,null)}function Kn(e,t,a,o){var i=e.stateNode;i.props=a,i.state=e.memoizedState,i.refs=Fn,vn(e);var n=t.contextType;"object"==typeof n&&null!==n?i.context=hn(n):(n=vi(t)?Pi:fi.current,i.context=gi(e,n)),i.state=e.memoizedState,"function"==typeof(n=t.getDerivedStateFromProps)&&(Vn(e,t,n,a),i.state=e.memoizedState),"function"==typeof t.getDerivedStateFromProps||"function"==typeof i.getSnapshotBeforeUpdate||"function"!=typeof i.UNSAFE_componentWillMount&&"function"!=typeof i.componentWillMount||(t=i.state,"function"==typeof i.componentWillMount&&i.componentWillMount(),"function"==typeof i.UNSAFE_componentWillMount&&i.UNSAFE_componentWillMount(),t!==i.state&&Hn.enqueueReplaceState(i,i.state,null),Gn(e,a,i,o),i.state=e.memoizedState),"function"==typeof i.componentDidMount&&(e.flags|=4194308)}function xn(e,t,a){if(null!==(e=a.ref)&&"function"!=typeof e&&"object"!=typeof e){if(a._owner){if(a=a._owner){if(1!==a.tag)throw Error(n(309));var o=a.stateNode}if(!o)throw Error(n(147,e));var i=o,r=""+e;return null!==t&&null!==t.ref&&"function"==typeof t.ref&&t.ref._stringRef===r?t.ref:(t=function(e){var t=i.refs;t===Fn&&(t=i.refs={}),null===e?delete t[r]:t[r]=e},t._stringRef=r,t)}if("string"!=typeof e)throw Error(n(284));if(!a._owner)throw Error(n(290,e))}return e}function jn(e,t){throw e=Object.prototype.toString.call(t),Error(n(31,"[object Object]"===e?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function Qn(e){return(0,e._init)(e._payload)}function Xn(e){function t(t,a){if(e){var o=t.deletions;null===o?(t.deletions=[a],t.flags|=16):o.push(a)}}function a(a,o){if(!e)return null;for(;null!==o;)t(a,o),o=o.sibling;return null}function o(e,t){for(e=new Map;null!==t;)null!==t.key?e.set(t.key,t):e.set(t.index,t),t=t.sibling;return e}function i(e,t){return(e=yT(e,t)).index=0,e.sibling=null,e}function r(t,a,o){return t.index=o,e?null!==(o=t.alternate)?(o=o.index)<a?(t.flags|=2,a):o:(t.flags|=2,a):(t.flags|=1048576,a)}function E(t){return e&&null===t.alternate&&(t.flags|=2),t}function _(e,t,a,o){return null===t||6!==t.tag?((t=UT(a,e.mode,o)).return=e,t):((t=i(t,a)).return=e,t)}function T(e,t,a,o){var n=a.type;return n===D?S(e,t,a.props.children,o,a.key):null!==t&&(t.elementType===n||"object"==typeof n&&null!==n&&n.$$typeof===y&&Qn(n)===t.type)?((o=i(t,a.props)).ref=xn(e,t,a),o.return=e,o):((o=WT(a.type,a.key,a.props,null,e.mode,o)).ref=xn(e,t,a),o.return=e,o)}function s(e,t,a,o){return null===t||4!==t.tag||t.stateNode.containerInfo!==a.containerInfo||t.stateNode.implementation!==a.implementation?((t=GT(a,e.mode,o)).return=e,t):((t=i(t,a.children||[])).return=e,t)}function S(e,t,a,o,n){return null===t||7!==t.tag?((t=MT(a,e.mode,o,n)).return=e,t):((t=i(t,a)).return=e,t)}function l(e,t,a){if("string"==typeof t&&""!==t||"number"==typeof t)return(t=UT(""+t,e.mode,a)).return=e,t;if("object"==typeof t&&null!==t){switch(t.$$typeof){case m:return(a=WT(t.type,t.key,t.props,null,e.mode,a)).ref=xn(e,null,t),a.return=e,a;case L:return(t=GT(t,e.mode,a)).return=e,t;case y:return l(e,(0,t._init)(t._payload),a)}if(te(t)||b(t))return(t=MT(t,e.mode,a,null)).return=e,t;jn(e,t)}return null}function I(e,t,a,o){var i=null!==t?t.key:null;if("string"==typeof a&&""!==a||"number"==typeof a)return null!==i?null:_(e,t,""+a,o);if("object"==typeof a&&null!==a){switch(a.$$typeof){case m:return a.key===i?T(e,t,a,o):null;case L:return a.key===i?s(e,t,a,o):null;case y:return I(e,t,(i=a._init)(a._payload),o)}if(te(a)||b(a))return null!==i?null:S(e,t,a,o,null);jn(e,a)}return null}function A(e,t,a,o,i){if("string"==typeof o&&""!==o||"number"==typeof o)return _(t,e=e.get(a)||null,""+o,i);if("object"==typeof o&&null!==o){switch(o.$$typeof){case m:return T(t,e=e.get(null===o.key?a:o.key)||null,o,i);case L:return s(t,e=e.get(null===o.key?a:o.key)||null,o,i);case y:return A(e,t,a,(0,o._init)(o._payload),i)}if(te(o)||b(o))return S(t,e=e.get(a)||null,o,i,null);jn(t,o)}return null}function u(i,n,E,_){for(var T=null,s=null,S=n,u=n=0,d=null;null!==S&&u<E.length;u++){S.index>u?(d=S,S=null):d=S.sibling;var c=I(i,S,E[u],_);if(null===c){null===S&&(S=d);break}e&&S&&null===c.alternate&&t(i,S),n=r(c,n,u),null===s?T=c:s.sibling=c,s=c,S=d}if(u===E.length)return a(i,S),on&&qi(i,u),T;if(null===S){for(;u<E.length;u++)null!==(S=l(i,E[u],_))&&(n=r(S,n,u),null===s?T=S:s.sibling=S,s=S);return on&&qi(i,u),T}for(S=o(i,S);u<E.length;u++)null!==(d=A(S,i,u,E[u],_))&&(e&&null!==d.alternate&&S.delete(null===d.key?u:d.key),n=r(d,n,u),null===s?T=d:s.sibling=d,s=d);return e&&S.forEach((function(e){return t(i,e)})),on&&qi(i,u),T}function d(i,E,_,T){var s=b(_);if("function"!=typeof s)throw Error(n(150));if(null==(_=s.call(_)))throw Error(n(151));for(var S=s=null,u=E,d=E=0,c=null,O=_.next();null!==u&&!O.done;d++,O=_.next()){u.index>d?(c=u,u=null):c=u.sibling;var R=I(i,u,O.value,T);if(null===R){null===u&&(u=c);break}e&&u&&null===R.alternate&&t(i,u),E=r(R,E,d),null===S?s=R:S.sibling=R,S=R,u=c}if(O.done)return a(i,u),on&&qi(i,d),s;if(null===u){for(;!O.done;d++,O=_.next())null!==(O=l(i,O.value,T))&&(E=r(O,E,d),null===S?s=O:S.sibling=O,S=O);return on&&qi(i,d),s}for(u=o(i,u);!O.done;d++,O=_.next())null!==(O=A(u,i,d,O.value,T))&&(e&&null!==O.alternate&&u.delete(null===O.key?d:O.key),E=r(O,E,d),null===S?s=O:S.sibling=O,S=O);return e&&u.forEach((function(e){return t(i,e)})),on&&qi(i,d),s}return function e(o,n,r,_){if("object"==typeof r&&null!==r&&r.type===D&&null===r.key&&(r=r.props.children),"object"==typeof r&&null!==r){switch(r.$$typeof){case m:e:{for(var T=r.key,s=n;null!==s;){if(s.key===T){if((T=r.type)===D){if(7===s.tag){a(o,s.sibling),(n=i(s,r.props.children)).return=o,o=n;break e}}else if(s.elementType===T||"object"==typeof T&&null!==T&&T.$$typeof===y&&Qn(T)===s.type){a(o,s.sibling),(n=i(s,r.props)).ref=xn(o,s,r),n.return=o,o=n;break e}a(o,s);break}t(o,s),s=s.sibling}r.type===D?((n=MT(r.props.children,o.mode,_,r.key)).return=o,o=n):((_=WT(r.type,r.key,r.props,null,o.mode,_)).ref=xn(o,n,r),_.return=o,o=_)}return E(o);case L:e:{for(s=r.key;null!==n;){if(n.key===s){if(4===n.tag&&n.stateNode.containerInfo===r.containerInfo&&n.stateNode.implementation===r.implementation){a(o,n.sibling),(n=i(n,r.children||[])).return=o,o=n;break e}a(o,n);break}t(o,n),n=n.sibling}(n=GT(r,o.mode,_)).return=o,o=n}return E(o);case y:return e(o,n,(s=r._init)(r._payload),_)}if(te(r))return u(o,n,r,_);if(b(r))return d(o,n,r,_);jn(o,r)}return"string"==typeof r&&""!==r||"number"==typeof r?(r=""+r,null!==n&&6===n.tag?(a(o,n.sibling),(n=i(n,r)).return=o,o=n):(a(o,n),(n=UT(r,o.mode,_)).return=o,o=n),E(o)):a(o,n)}}var $n=Xn(!0),qn=Xn(!1),Jn={},Zn=Di(Jn),er=Di(Jn),tr=Di(Jn);function ar(e){if(e===Jn)throw Error(n(174));return e}function or(e,t){switch(hi(tr,t),hi(er,e),hi(Zn,Jn),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:_e(null,"");break;default:t=_e(t=(e=8===e?t.parentNode:t).namespaceURI||null,e=e.tagName)}pi(Zn),hi(Zn,t)}function ir(){pi(Zn),pi(er),pi(tr)}function nr(e){ar(tr.current);var t=ar(Zn.current),a=_e(t,e.type);t!==a&&(hi(er,e),hi(Zn,a))}function rr(e){er.current===e&&(pi(Zn),pi(er))}var Er=Di(0);function _r(e){for(var t=e;null!==t;){if(13===t.tag){var a=t.memoizedState;if(null!==a&&(null===(a=a.dehydrated)||"$?"===a.data||"$!"===a.data))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(0!=(128&t.flags))return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Tr=[];function sr(){for(var e=0;e<Tr.length;e++)Tr[e]._workInProgressVersionPrimary=null;Tr.length=0}var Sr=N.ReactCurrentDispatcher,lr=N.ReactCurrentBatchConfig,Ir=0,Ar=null,ur=null,dr=null,cr=!1,Or=!1,Rr=0,Nr=0;function mr(){throw Error(n(321))}function Lr(e,t){if(null===t)return!1;for(var a=0;a<t.length&&a<e.length;a++)if(!no(e[a],t[a]))return!1;return!0}function Dr(e,t,a,o,i,r){if(Ir=r,Ar=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,Sr.current=null===e||null===e.memoizedState?rE:EE,e=a(o,i),Or){r=0;do{if(Or=!1,Rr=0,25<=r)throw Error(n(301));r+=1,dr=ur=null,t.updateQueue=null,Sr.current=_E,e=a(o,i)}while(Or)}if(Sr.current=nE,t=null!==ur&&null!==ur.next,Ir=0,dr=ur=Ar=null,cr=!1,t)throw Error(n(300));return e}function pr(){var e=0!==Rr;return Rr=0,e}function hr(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===dr?Ar.memoizedState=dr=e:dr=dr.next=e,dr}function Cr(){if(null===ur){var e=Ar.alternate;e=null!==e?e.memoizedState:null}else e=ur.next;var t=null===dr?Ar.memoizedState:dr.next;if(null!==t)dr=t,ur=e;else{if(null===e)throw Error(n(310));e={memoizedState:(ur=e).memoizedState,baseState:ur.baseState,baseQueue:ur.baseQueue,queue:ur.queue,next:null},null===dr?Ar.memoizedState=dr=e:dr=dr.next=e}return dr}function fr(e,t){return"function"==typeof t?t(e):t}function Br(e){var t=Cr(),a=t.queue;if(null===a)throw Error(n(311));a.lastRenderedReducer=e;var o=ur,i=o.baseQueue,r=a.pending;if(null!==r){if(null!==i){var E=i.next;i.next=r.next,r.next=E}o.baseQueue=i=r,a.pending=null}if(null!==i){r=i.next,o=o.baseState;var _=E=null,T=null,s=r;do{var S=s.lane;if((Ir&S)===S)null!==T&&(T=T.next={lane:0,action:s.action,hasEagerState:s.hasEagerState,eagerState:s.eagerState,next:null}),o=s.hasEagerState?s.eagerState:e(o,s.action);else{var l={lane:S,action:s.action,hasEagerState:s.hasEagerState,eagerState:s.eagerState,next:null};null===T?(_=T=l,E=o):T=T.next=l,Ar.lanes|=S,b_|=S}s=s.next}while(null!==s&&s!==r);null===T?E=o:T.next=_,no(o,t.memoizedState)||(RE=!0),t.memoizedState=o,t.baseState=E,t.baseQueue=T,a.lastRenderedState=o}if(null!==(e=a.interleaved)){i=e;do{r=i.lane,Ar.lanes|=r,b_|=r,i=i.next}while(i!==e)}else null===i&&(a.lanes=0);return[t.memoizedState,a.dispatch]}function Pr(e){var t=Cr(),a=t.queue;if(null===a)throw Error(n(311));a.lastRenderedReducer=e;var o=a.dispatch,i=a.pending,r=t.memoizedState;if(null!==i){a.pending=null;var E=i=i.next;do{r=e(r,E.action),E=E.next}while(E!==i);no(r,t.memoizedState)||(RE=!0),t.memoizedState=r,null===t.baseQueue&&(t.baseState=r),a.lastRenderedState=r}return[r,o]}function gr(){}function vr(e,t){var a=Ar,o=Cr(),i=t(),r=!no(o.memoizedState,i);if(r&&(o.memoizedState=i,RE=!0),o=o.queue,Yr(Mr.bind(null,a,o,e),[e]),o.getSnapshot!==t||r||null!==dr&&1&dr.memoizedState.tag){if(a.flags|=2048,kr(9,Wr.bind(null,a,o,i,t),void 0,null),null===B_)throw Error(n(349));0!=(30&Ir)||yr(a,t,i)}return i}function yr(e,t,a){e.flags|=16384,e={getSnapshot:t,value:a},null===(t=Ar.updateQueue)?(t={lastEffect:null,stores:null},Ar.updateQueue=t,t.stores=[e]):null===(a=t.stores)?t.stores=[e]:a.push(e)}function Wr(e,t,a,o){t.value=a,t.getSnapshot=o,br(t)&&Ur(e)}function Mr(e,t,a){return a((function(){br(t)&&Ur(e)}))}function br(e){var t=e.getSnapshot;e=e.value;try{var a=t();return!no(e,a)}catch(e){return!0}}function Ur(e){var t=Pn(e,1);null!==t&&tT(t,e,1,-1)}function Gr(e){var t=hr();return"function"==typeof e&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:fr,lastRenderedState:e},t.queue=e,e=e.dispatch=tE.bind(null,Ar,e),[t.memoizedState,e]}function kr(e,t,a,o){return e={tag:e,create:t,destroy:a,deps:o,next:null},null===(t=Ar.updateQueue)?(t={lastEffect:null,stores:null},Ar.updateQueue=t,t.lastEffect=e.next=e):null===(a=t.lastEffect)?t.lastEffect=e.next=e:(o=a.next,a.next=e,e.next=o,t.lastEffect=e),e}function Fr(){return Cr().memoizedState}function Vr(e,t,a,o){var i=hr();Ar.flags|=e,i.memoizedState=kr(1|t,a,void 0,void 0===o?null:o)}function Hr(e,t,a,o){var i=Cr();o=void 0===o?null:o;var n=void 0;if(null!==ur){var r=ur.memoizedState;if(n=r.destroy,null!==o&&Lr(o,r.deps))return void(i.memoizedState=kr(t,a,n,o))}Ar.flags|=e,i.memoizedState=kr(1|t,a,n,o)}function wr(e,t){return Vr(8390656,8,e,t)}function Yr(e,t){return Hr(2048,8,e,t)}function zr(e,t){return Hr(4,2,e,t)}function Kr(e,t){return Hr(4,4,e,t)}function xr(e,t){return"function"==typeof t?(e=e(),t(e),function(){t(null)}):null!=t?(e=e(),t.current=e,function(){t.current=null}):void 0}function jr(e,t,a){return a=null!=a?a.concat([e]):null,Hr(4,4,xr.bind(null,t,e),a)}function Qr(){}function Xr(e,t){var a=Cr();t=void 0===t?null:t;var o=a.memoizedState;return null!==o&&null!==t&&Lr(t,o[1])?o[0]:(a.memoizedState=[e,t],e)}function $r(e,t){var a=Cr();t=void 0===t?null:t;var o=a.memoizedState;return null!==o&&null!==t&&Lr(t,o[1])?o[0]:(e=e(),a.memoizedState=[e,t],e)}function qr(e,t,a){return 0==(21&Ir)?(e.baseState&&(e.baseState=!1,RE=!0),e.memoizedState=a):(no(a,t)||(a=At(),Ar.lanes|=a,b_|=a,e.baseState=!0),t)}function Jr(e,t){var a=Ot;Ot=0!==a&&4>a?a:4,e(!0);var o=lr.transition;lr.transition={};try{e(!1),t()}finally{Ot=a,lr.transition=o}}function Zr(){return Cr().memoizedState}function eE(e,t,a){var o=eT(e);if(a={lane:o,action:a,hasEagerState:!1,eagerState:null,next:null},aE(e))oE(t,a);else if(null!==(a=Bn(e,t,a,o))){tT(a,e,o,Z_()),iE(a,t,o)}}function tE(e,t,a){var o=eT(e),i={lane:o,action:a,hasEagerState:!1,eagerState:null,next:null};if(aE(e))oE(t,i);else{var n=e.alternate;if(0===e.lanes&&(null===n||0===n.lanes)&&null!==(n=t.lastRenderedReducer))try{var r=t.lastRenderedState,E=n(r,a);if(i.hasEagerState=!0,i.eagerState=E,no(E,r)){var _=t.interleaved;return null===_?(i.next=i,fn(t)):(i.next=_.next,_.next=i),void(t.interleaved=i)}}catch(e){}null!==(a=Bn(e,t,i,o))&&(tT(a,e,o,i=Z_()),iE(a,t,o))}}function aE(e){var t=e.alternate;return e===Ar||null!==t&&t===Ar}function oE(e,t){Or=cr=!0;var a=e.pending;null===a?t.next=t:(t.next=a.next,a.next=t),e.pending=t}function iE(e,t,a){if(0!=(4194240&a)){var o=t.lanes;a|=o&=e.pendingLanes,t.lanes=a,ct(e,a)}}var nE={readContext:hn,useCallback:mr,useContext:mr,useEffect:mr,useImperativeHandle:mr,useInsertionEffect:mr,useLayoutEffect:mr,useMemo:mr,useReducer:mr,useRef:mr,useState:mr,useDebugValue:mr,useDeferredValue:mr,useTransition:mr,useMutableSource:mr,useSyncExternalStore:mr,useId:mr,unstable_isNewReconciler:!1},rE={readContext:hn,useCallback:function(e,t){return hr().memoizedState=[e,void 0===t?null:t],e},useContext:hn,useEffect:wr,useImperativeHandle:function(e,t,a){return a=null!=a?a.concat([e]):null,Vr(4194308,4,xr.bind(null,t,e),a)},useLayoutEffect:function(e,t){return Vr(4194308,4,e,t)},useInsertionEffect:function(e,t){return Vr(4,2,e,t)},useMemo:function(e,t){var a=hr();return t=void 0===t?null:t,e=e(),a.memoizedState=[e,t],e},useReducer:function(e,t,a){var o=hr();return t=void 0!==a?a(t):t,o.memoizedState=o.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},o.queue=e,e=e.dispatch=eE.bind(null,Ar,e),[o.memoizedState,e]},useRef:function(e){return e={current:e},hr().memoizedState=e},useState:Gr,useDebugValue:Qr,useDeferredValue:function(e){return hr().memoizedState=e},useTransition:function(){var e=Gr(!1),t=e[0];return e=Jr.bind(null,e[1]),hr().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,a){var o=Ar,i=hr();if(on){if(void 0===a)throw Error(n(407));a=a()}else{if(a=t(),null===B_)throw Error(n(349));0!=(30&Ir)||yr(o,t,a)}i.memoizedState=a;var r={value:a,getSnapshot:t};return i.queue=r,wr(Mr.bind(null,o,r,e),[e]),o.flags|=2048,kr(9,Wr.bind(null,o,r,a,t),void 0,null),a},useId:function(){var e=hr(),t=B_.identifierPrefix;if(on){var a=$i;t=":"+t+"R"+(a=(Xi&~(1<<32-nt(Xi)-1)).toString(32)+a),0<(a=Rr++)&&(t+="H"+a.toString(32)),t+=":"}else t=":"+t+"r"+(a=Nr++).toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},EE={readContext:hn,useCallback:Xr,useContext:hn,useEffect:Yr,useImperativeHandle:jr,useInsertionEffect:zr,useLayoutEffect:Kr,useMemo:$r,useReducer:Br,useRef:Fr,useState:function(){return Br(fr)},useDebugValue:Qr,useDeferredValue:function(e){return qr(Cr(),ur.memoizedState,e)},useTransition:function(){return[Br(fr)[0],Cr().memoizedState]},useMutableSource:gr,useSyncExternalStore:vr,useId:Zr,unstable_isNewReconciler:!1},_E={readContext:hn,useCallback:Xr,useContext:hn,useEffect:Yr,useImperativeHandle:jr,useInsertionEffect:zr,useLayoutEffect:Kr,useMemo:$r,useReducer:Pr,useRef:Fr,useState:function(){return Pr(fr)},useDebugValue:Qr,useDeferredValue:function(e){var t=Cr();return null===ur?t.memoizedState=e:qr(t,ur.memoizedState,e)},useTransition:function(){return[Pr(fr)[0],Cr().memoizedState]},useMutableSource:gr,useSyncExternalStore:vr,useId:Zr,unstable_isNewReconciler:!1};function TE(e,t){try{var a="",o=t;do{a+=H(o),o=o.return}while(o);var i=a}catch(e){i="\nError generating stack: "+e.message+"\n"+e.stack}return{value:e,source:t,stack:i,digest:null}}function sE(e,t,a){return{value:e,source:null,stack:null!=a?a:null,digest:null!=t?t:null}}function SE(e,t){try{console.error(t.value)}catch(e){setTimeout((function(){throw e}))}}var lE="function"==typeof WeakMap?WeakMap:Map;function IE(e,t,a){(a=Wn(-1,a)).tag=3,a.payload={element:null};var o=t.value;return a.callback=function(){Y_||(Y_=!0,z_=o),SE(0,t)},a}function AE(e,t,a){(a=Wn(-1,a)).tag=3;var o=e.type.getDerivedStateFromError;if("function"==typeof o){var i=t.value;a.payload=function(){return o(i)},a.callback=function(){SE(0,t)}}var n=e.stateNode;return null!==n&&"function"==typeof n.componentDidCatch&&(a.callback=function(){SE(0,t),"function"!=typeof o&&(null===K_?K_=new Set([this]):K_.add(this));var e=t.stack;this.componentDidCatch(t.value,{componentStack:null!==e?e:""})}),a}function uE(e,t,a){var o=e.pingCache;if(null===o){o=e.pingCache=new lE;var i=new Set;o.set(t,i)}else void 0===(i=o.get(t))&&(i=new Set,o.set(t,i));i.has(a)||(i.add(a),e=pT.bind(null,e,t,a),t.then(e,e))}function dE(e){do{var t;if((t=13===e.tag)&&(t=null===(t=e.memoizedState)||null!==t.dehydrated),t)return e;e=e.return}while(null!==e);return null}function cE(e,t,a,o,i){return 0==(1&e.mode)?(e===t?e.flags|=65536:(e.flags|=128,a.flags|=131072,a.flags&=-52805,1===a.tag&&(null===a.alternate?a.tag=17:((t=Wn(-1,1)).tag=2,Mn(a,t,1))),a.lanes|=1),e):(e.flags|=65536,e.lanes=i,e)}var OE=N.ReactCurrentOwner,RE=!1;function NE(e,t,a,o){t.child=null===e?qn(t,null,a,o):$n(t,e.child,a,o)}function mE(e,t,a,o,i){a=a.render;var n=t.ref;return pn(t,i),o=Dr(e,t,a,o,n,i),a=pr(),null===e||RE?(on&&a&&Zi(t),t.flags|=1,NE(e,t,o,i),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~i,YE(e,t,i))}function LE(e,t,a,o,i){if(null===e){var n=a.type;return"function"!=typeof n||vT(n)||void 0!==n.defaultProps||null!==a.compare||void 0!==a.defaultProps?((e=WT(a.type,null,o,t,t.mode,i)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=n,DE(e,t,n,o,i))}if(n=e.child,0==(e.lanes&i)){var r=n.memoizedProps;if((a=null!==(a=a.compare)?a:ro)(r,o)&&e.ref===t.ref)return YE(e,t,i)}return t.flags|=1,(e=yT(n,o)).ref=t.ref,e.return=t,t.child=e}function DE(e,t,a,o,i){if(null!==e){var n=e.memoizedProps;if(ro(n,o)&&e.ref===t.ref){if(RE=!1,t.pendingProps=o=n,0==(e.lanes&i))return t.lanes=e.lanes,YE(e,t,i);0!=(131072&e.flags)&&(RE=!0)}}return CE(e,t,a,o,i)}function pE(e,t,a){var o=t.pendingProps,i=o.children,n=null!==e?e.memoizedState:null;if("hidden"===o.mode)if(0==(1&t.mode))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},hi(y_,v_),v_|=a;else{if(0==(1073741824&a))return e=null!==n?n.baseLanes|a:a,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,hi(y_,v_),v_|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},o=null!==n?n.baseLanes:a,hi(y_,v_),v_|=o}else null!==n?(o=n.baseLanes|a,t.memoizedState=null):o=a,hi(y_,v_),v_|=o;return NE(e,t,i,a),t.child}function hE(e,t){var a=t.ref;(null===e&&null!==a||null!==e&&e.ref!==a)&&(t.flags|=512,t.flags|=2097152)}function CE(e,t,a,o,i){var n=vi(a)?Pi:fi.current;return n=gi(t,n),pn(t,i),a=Dr(e,t,a,o,n,i),o=pr(),null===e||RE?(on&&o&&Zi(t),t.flags|=1,NE(e,t,a,i),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~i,YE(e,t,i))}function fE(e,t,a,o,i){if(vi(a)){var n=!0;bi(t)}else n=!1;if(pn(t,i),null===t.stateNode)wE(e,t),Yn(t,a,o),Kn(t,a,o,i),o=!0;else if(null===e){var r=t.stateNode,E=t.memoizedProps;r.props=E;var _=r.context,T=a.contextType;"object"==typeof T&&null!==T?T=hn(T):T=gi(t,T=vi(a)?Pi:fi.current);var s=a.getDerivedStateFromProps,S="function"==typeof s||"function"==typeof r.getSnapshotBeforeUpdate;S||"function"!=typeof r.UNSAFE_componentWillReceiveProps&&"function"!=typeof r.componentWillReceiveProps||(E!==o||_!==T)&&zn(t,r,o,T),gn=!1;var l=t.memoizedState;r.state=l,Gn(t,o,r,i),_=t.memoizedState,E!==o||l!==_||Bi.current||gn?("function"==typeof s&&(Vn(t,a,s,o),_=t.memoizedState),(E=gn||wn(t,a,E,o,l,_,T))?(S||"function"!=typeof r.UNSAFE_componentWillMount&&"function"!=typeof r.componentWillMount||("function"==typeof r.componentWillMount&&r.componentWillMount(),"function"==typeof r.UNSAFE_componentWillMount&&r.UNSAFE_componentWillMount()),"function"==typeof r.componentDidMount&&(t.flags|=4194308)):("function"==typeof r.componentDidMount&&(t.flags|=4194308),t.memoizedProps=o,t.memoizedState=_),r.props=o,r.state=_,r.context=T,o=E):("function"==typeof r.componentDidMount&&(t.flags|=4194308),o=!1)}else{r=t.stateNode,yn(e,t),E=t.memoizedProps,T=t.type===t.elementType?E:dn(t.type,E),r.props=T,S=t.pendingProps,l=r.context,"object"==typeof(_=a.contextType)&&null!==_?_=hn(_):_=gi(t,_=vi(a)?Pi:fi.current);var I=a.getDerivedStateFromProps;(s="function"==typeof I||"function"==typeof r.getSnapshotBeforeUpdate)||"function"!=typeof r.UNSAFE_componentWillReceiveProps&&"function"!=typeof r.componentWillReceiveProps||(E!==S||l!==_)&&zn(t,r,o,_),gn=!1,l=t.memoizedState,r.state=l,Gn(t,o,r,i);var A=t.memoizedState;E!==S||l!==A||Bi.current||gn?("function"==typeof I&&(Vn(t,a,I,o),A=t.memoizedState),(T=gn||wn(t,a,T,o,l,A,_)||!1)?(s||"function"!=typeof r.UNSAFE_componentWillUpdate&&"function"!=typeof r.componentWillUpdate||("function"==typeof r.componentWillUpdate&&r.componentWillUpdate(o,A,_),"function"==typeof r.UNSAFE_componentWillUpdate&&r.UNSAFE_componentWillUpdate(o,A,_)),"function"==typeof r.componentDidUpdate&&(t.flags|=4),"function"==typeof r.getSnapshotBeforeUpdate&&(t.flags|=1024)):("function"!=typeof r.componentDidUpdate||E===e.memoizedProps&&l===e.memoizedState||(t.flags|=4),"function"!=typeof r.getSnapshotBeforeUpdate||E===e.memoizedProps&&l===e.memoizedState||(t.flags|=1024),t.memoizedProps=o,t.memoizedState=A),r.props=o,r.state=A,r.context=_,o=T):("function"!=typeof r.componentDidUpdate||E===e.memoizedProps&&l===e.memoizedState||(t.flags|=4),"function"!=typeof r.getSnapshotBeforeUpdate||E===e.memoizedProps&&l===e.memoizedState||(t.flags|=1024),o=!1)}return BE(e,t,a,o,n,i)}function BE(e,t,a,o,i,n){hE(e,t);var r=0!=(128&t.flags);if(!o&&!r)return i&&Ui(t,a,!1),YE(e,t,n);o=t.stateNode,OE.current=t;var E=r&&"function"!=typeof a.getDerivedStateFromError?null:o.render();return t.flags|=1,null!==e&&r?(t.child=$n(t,e.child,null,n),t.child=$n(t,null,E,n)):NE(e,t,E,n),t.memoizedState=o.state,i&&Ui(t,a,!0),t.child}function PE(e){var t=e.stateNode;t.pendingContext?Wi(0,t.pendingContext,t.pendingContext!==t.context):t.context&&Wi(0,t.context,!1),or(e,t.containerInfo)}function gE(e,t,a,o,i){return In(),An(i),t.flags|=256,NE(e,t,a,o),t.child}var vE,yE,WE,ME={dehydrated:null,treeContext:null,retryLane:0};function bE(e){return{baseLanes:e,cachePool:null,transitions:null}}function UE(e,t,a){var o,i=t.pendingProps,r=Er.current,E=!1,_=0!=(128&t.flags);if((o=_)||(o=(null===e||null!==e.memoizedState)&&0!=(2&r)),o?(E=!0,t.flags&=-129):null!==e&&null===e.memoizedState||(r|=1),hi(Er,1&r),null===e)return Tn(t),null!==(e=t.memoizedState)&&null!==(e=e.dehydrated)?(0==(1&t.mode)?t.lanes=1:"$!"===e.data?t.lanes=8:t.lanes=1073741824,null):(_=i.children,e=i.fallback,E?(i=t.mode,E=t.child,_={mode:"hidden",children:_},0==(1&i)&&null!==E?(E.childLanes=0,E.pendingProps=_):E=bT(_,i,0,null),e=MT(e,i,a,null),E.return=t,e.return=t,E.sibling=e,t.child=E,t.child.memoizedState=bE(a),t.memoizedState=ME,e):GE(t,_));if(null!==(r=e.memoizedState)&&null!==(o=r.dehydrated))return(function(e,t,a,o,i,r,E){if(a)return 256&t.flags?(t.flags&=-257,kE(e,t,E,o=sE(Error(n(422))))):null!==t.memoizedState?(t.child=e.child,t.flags|=128,null):(r=o.fallback,i=t.mode,o=bT({mode:"visible",children:o.children},i,0,null),(r=MT(r,i,E,null)).flags|=2,o.return=t,r.return=t,o.sibling=r,t.child=o,0!=(1&t.mode)&&$n(t,e.child,null,E),t.child.memoizedState=bE(E),t.memoizedState=ME,r);if(0==(1&t.mode))return kE(e,t,E,null);if("$!"===i.data){if(o=i.nextSibling&&i.nextSibling.dataset)var _=o.dgst;return o=_,kE(e,t,E,o=sE(r=Error(n(419)),o,void 0))}if(_=0!=(E&e.childLanes),RE||_){if(null!==(o=B_)){switch(E&-E){case 4:i=2;break;case 16:i=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:i=32;break;case 536870912:i=268435456;break;default:i=0}0!==(i=0!=(i&(o.suspendedLanes|E))?0:i)&&i!==r.retryLane&&(r.retryLane=i,Pn(e,i),tT(o,e,i,-1))}return AT(),kE(e,t,E,o=sE(Error(n(421))))}return"$?"===i.data?(t.flags|=128,t.child=e.child,t=CT.bind(null,e),i._reactRetry=t,null):(e=r.treeContext,an=_i(i.nextSibling),tn=t,on=!0,nn=null,null!==e&&(xi[ji++]=Xi,xi[ji++]=$i,xi[ji++]=Qi,Xi=e.id,$i=e.overflow,Qi=t),(t=GE(t,o.children)).flags|=4096,t)})(e,t,_,i,o,r,a);if(E){E=i.fallback,_=t.mode,o=(r=e.child).sibling;var T={mode:"hidden",children:i.children};return 0==(1&_)&&t.child!==r?((i=t.child).childLanes=0,i.pendingProps=T,t.deletions=null):(i=yT(r,T)).subtreeFlags=14680064&r.subtreeFlags,null!==o?E=yT(o,E):(E=MT(E,_,a,null)).flags|=2,E.return=t,i.return=t,i.sibling=E,t.child=i,i=E,E=t.child,_=null===(_=e.child.memoizedState)?bE(a):{baseLanes:_.baseLanes|a,cachePool:null,transitions:_.transitions},E.memoizedState=_,E.childLanes=e.childLanes&~a,t.memoizedState=ME,i}return e=(E=e.child).sibling,i=yT(E,{mode:"visible",children:i.children}),0==(1&t.mode)&&(i.lanes=a),i.return=t,i.sibling=null,null!==e&&(null===(a=t.deletions)?(t.deletions=[e],t.flags|=16):a.push(e)),t.child=i,t.memoizedState=null,i}function GE(e,t){return(t=bT({mode:"visible",children:t},e.mode,0,null)).return=e,e.child=t}function kE(e,t,a,o){return null!==o&&An(o),$n(t,e.child,null,a),(e=GE(t,t.pendingProps.children)).flags|=2,t.memoizedState=null,e}function FE(e,t,a){e.lanes|=t;var o=e.alternate;null!==o&&(o.lanes|=t),Dn(e.return,t,a)}function VE(e,t,a,o,i){var n=e.memoizedState;null===n?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:o,tail:a,tailMode:i}:(n.isBackwards=t,n.rendering=null,n.renderingStartTime=0,n.last=o,n.tail=a,n.tailMode=i)}function HE(e,t,a){var o=t.pendingProps,i=o.revealOrder,n=o.tail;if(NE(e,t,o.children,a),0!=(2&(o=Er.current)))o=1&o|2,t.flags|=128;else{if(null!==e&&0!=(128&e.flags))e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&FE(e,a,t);else if(19===e.tag)FE(e,a,t);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}o&=1}if(hi(Er,o),0==(1&t.mode))t.memoizedState=null;else switch(i){case"forwards":for(a=t.child,i=null;null!==a;)null!==(e=a.alternate)&&null===_r(e)&&(i=a),a=a.sibling;null===(a=i)?(i=t.child,t.child=null):(i=a.sibling,a.sibling=null),VE(t,!1,i,a,n);break;case"backwards":for(a=null,i=t.child,t.child=null;null!==i;){if(null!==(e=i.alternate)&&null===_r(e)){t.child=i;break}e=i.sibling,i.sibling=a,a=i,i=e}VE(t,!0,a,null,n);break;case"together":VE(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function wE(e,t){0==(1&t.mode)&&null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2)}function YE(e,t,a){if(null!==e&&(t.dependencies=e.dependencies),b_|=t.lanes,0==(a&t.childLanes))return null;if(null!==e&&t.child!==e.child)throw Error(n(153));if(null!==t.child){for(a=yT(e=t.child,e.pendingProps),t.child=a,a.return=t;null!==e.sibling;)e=e.sibling,(a=a.sibling=yT(e,e.pendingProps)).return=t;a.sibling=null}return t.child}function zE(e,t){if(!on)switch(e.tailMode){case"hidden":t=e.tail;for(var a=null;null!==t;)null!==t.alternate&&(a=t),t=t.sibling;null===a?e.tail=null:a.sibling=null;break;case"collapsed":a=e.tail;for(var o=null;null!==a;)null!==a.alternate&&(o=a),a=a.sibling;null===o?t||null===e.tail?e.tail=null:e.tail.sibling=null:o.sibling=null}}function KE(e){var t=null!==e.alternate&&e.alternate.child===e.child,a=0,o=0;if(t)for(var i=e.child;null!==i;)a|=i.lanes|i.childLanes,o|=14680064&i.subtreeFlags,o|=14680064&i.flags,i.return=e,i=i.sibling;else for(i=e.child;null!==i;)a|=i.lanes|i.childLanes,o|=i.subtreeFlags,o|=i.flags,i.return=e,i=i.sibling;return e.subtreeFlags|=o,e.childLanes=a,t}function xE(e,t,a){var o=t.pendingProps;switch(en(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return KE(t),null;case 1:case 17:return vi(t.type)&&yi(),KE(t),null;case 3:return o=t.stateNode,ir(),pi(Bi),pi(fi),sr(),o.pendingContext&&(o.context=o.pendingContext,o.pendingContext=null),null!==e&&null!==e.child||(Sn(t)?t.flags|=4:null===e||e.memoizedState.isDehydrated&&0==(256&t.flags)||(t.flags|=1024,null!==nn&&(nT(nn),nn=null))),KE(t),null;case 5:rr(t);var i=ar(tr.current);if(a=t.type,null!==e&&null!=t.stateNode)yE(e,t,a,o),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!o){if(null===t.stateNode)throw Error(n(166));return KE(t),null}if(e=ar(Zn.current),Sn(t)){o=t.stateNode,a=t.type;var r=t.memoizedProps;switch(o[Si]=t,o[li]=r,e=0!=(1&t.mode),a){case"dialog":ko("cancel",o),ko("close",o);break;case"iframe":case"object":case"embed":ko("load",o);break;case"video":case"audio":for(i=0;i<Mo.length;i++)ko(Mo[i],o);break;case"source":ko("error",o);break;case"img":case"image":case"link":ko("error",o),ko("load",o);break;case"details":ko("toggle",o);break;case"input":$(o,r),ko("invalid",o);break;case"select":o._wrapperState={wasMultiple:!!r.multiple},ko("invalid",o);break;case"textarea":ie(o,r),ko("invalid",o)}for(var _ in Oe(a,r),i=null,r)if(r.hasOwnProperty(_)){var T=r[_];"children"===_?"string"==typeof T?o.textContent!==T&&(!0!==r.suppressHydrationWarning&&qo(o.textContent,T,e),i=["children",T]):"number"==typeof T&&o.textContent!==""+T&&(!0!==r.suppressHydrationWarning&&qo(o.textContent,T,e),i=["children",""+T]):E.hasOwnProperty(_)&&null!=T&&"onScroll"===_&&ko("scroll",o)}switch(a){case"input":x(o),Z(o,r,!0);break;case"textarea":x(o),re(o);break;case"select":case"option":break;default:"function"==typeof r.onClick&&(o.onclick=Jo)}o=i,t.updateQueue=o,null!==o&&(t.flags|=4)}else{_=9===i.nodeType?i:i.ownerDocument,"http://www.w3.org/1999/xhtml"===e&&(e=Ee(a)),"http://www.w3.org/1999/xhtml"===e?"script"===a?((e=_.createElement("div")).innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):"string"==typeof o.is?e=_.createElement(a,{is:o.is}):(e=_.createElement(a),"select"===a&&(_=e,o.multiple?_.multiple=!0:o.size&&(_.size=o.size))):e=_.createElementNS(e,a),e[Si]=t,e[li]=o,vE(e,t),t.stateNode=e;e:{switch(_=Re(a,o),a){case"dialog":ko("cancel",e),ko("close",e),i=o;break;case"iframe":case"object":case"embed":ko("load",e),i=o;break;case"video":case"audio":for(i=0;i<Mo.length;i++)ko(Mo[i],e);i=o;break;case"source":ko("error",e),i=o;break;case"img":case"image":case"link":ko("error",e),ko("load",e),i=o;break;case"details":ko("toggle",e),i=o;break;case"input":$(e,o),i=X(e,o),ko("invalid",e);break;default:i=o;break;case"select":e._wrapperState={wasMultiple:!!o.multiple},i=G({},o,{value:void 0}),ko("invalid",e);break;case"textarea":ie(e,o),i=oe(e,o),ko("invalid",e)}for(r in Oe(a,i),T=i)if(T.hasOwnProperty(r)){var s=T[r];"style"===r?de(e,s):"dangerouslySetInnerHTML"===r?null!=(s=s?s.__html:void 0)&&Se(e,s):"children"===r?"string"==typeof s?("textarea"!==a||""!==s)&&le(e,s):"number"==typeof s&&le(e,""+s):"suppressContentEditableWarning"!==r&&"suppressHydrationWarning"!==r&&"autoFocus"!==r&&(E.hasOwnProperty(r)?null!=s&&"onScroll"===r&&ko("scroll",e):null!=s&&R(e,r,s,_))}switch(a){case"input":x(e),Z(e,o,!1);break;case"textarea":x(e),re(e);break;case"option":null!=o.value&&e.setAttribute("value",""+z(o.value));break;case"select":e.multiple=!!o.multiple,null!=(r=o.value)?ae(e,!!o.multiple,r,!1):null!=o.defaultValue&&ae(e,!!o.multiple,o.defaultValue,!0);break;default:"function"==typeof i.onClick&&(e.onclick=Jo)}switch(a){case"button":case"input":case"select":case"textarea":o=!!o.autoFocus;break e;case"img":o=!0;break e;default:o=!1}}o&&(t.flags|=4)}null!==t.ref&&(t.flags|=512,t.flags|=2097152)}return KE(t),null;case 6:if(e&&null!=t.stateNode)WE(0,t,e.memoizedProps,o);else{if("string"!=typeof o&&null===t.stateNode)throw Error(n(166));if(a=ar(tr.current),ar(Zn.current),Sn(t)){if(o=t.stateNode,a=t.memoizedProps,o[Si]=t,(r=o.nodeValue!==a)&&null!==(e=tn))switch(e.tag){case 3:qo(o.nodeValue,a,0!=(1&e.mode));break;case 5:!0!==e.memoizedProps.suppressHydrationWarning&&qo(o.nodeValue,a,0!=(1&e.mode))}r&&(t.flags|=4)}else(o=(9===a.nodeType?a:a.ownerDocument).createTextNode(o))[Si]=t,t.stateNode=o}return KE(t),null;case 13:if(pi(Er),o=t.memoizedState,null===e||null!==e.memoizedState&&null!==e.memoizedState.dehydrated){if(on&&null!==an&&0!=(1&t.mode)&&0==(128&t.flags))ln(),In(),t.flags|=98560,r=!1;else if(r=Sn(t),null!==o&&null!==o.dehydrated){if(null===e){if(!r)throw Error(n(318));if(!(r=null!==(r=t.memoizedState)?r.dehydrated:null))throw Error(n(317));r[Si]=t}else In(),0==(128&t.flags)&&(t.memoizedState=null),t.flags|=4;KE(t),r=!1}else null!==nn&&(nT(nn),nn=null),r=!0;if(!r)return 65536&t.flags?t:null}return 0!=(128&t.flags)?(t.lanes=a,t):((o=null!==o)!==(null!==e&&null!==e.memoizedState)&&o&&(t.child.flags|=8192,0!=(1&t.mode)&&(null===e||0!=(1&Er.current)?0===W_&&(W_=3):AT())),null!==t.updateQueue&&(t.flags|=4),KE(t),null);case 4:return ir(),null===e&&Ho(t.stateNode.containerInfo),KE(t),null;case 10:return Ln(t.type._context),KE(t),null;case 19:if(pi(Er),null===(r=t.memoizedState))return KE(t),null;if(o=0!=(128&t.flags),null===(_=r.rendering))if(o)zE(r,!1);else{if(0!==W_||null!==e&&0!=(128&e.flags))for(e=t.child;null!==e;){if(null!==(_=_r(e))){for(t.flags|=128,zE(r,!1),null!==(o=_.updateQueue)&&(t.updateQueue=o,t.flags|=4),t.subtreeFlags=0,o=a,a=t.child;null!==a;)e=o,(r=a).flags&=14680066,null===(_=r.alternate)?(r.childLanes=0,r.lanes=e,r.child=null,r.subtreeFlags=0,r.memoizedProps=null,r.memoizedState=null,r.updateQueue=null,r.dependencies=null,r.stateNode=null):(r.childLanes=_.childLanes,r.lanes=_.lanes,r.child=_.child,r.subtreeFlags=0,r.deletions=null,r.memoizedProps=_.memoizedProps,r.memoizedState=_.memoizedState,r.updateQueue=_.updateQueue,r.type=_.type,e=_.dependencies,r.dependencies=null===e?null:{lanes:e.lanes,firstContext:e.firstContext}),a=a.sibling;return hi(Er,1&Er.current|2),t.child}e=e.sibling}null!==r.tail&&qe()>H_&&(t.flags|=128,o=!0,zE(r,!1),t.lanes=4194304)}else{if(!o)if(null!==(e=_r(_))){if(t.flags|=128,o=!0,null!==(a=e.updateQueue)&&(t.updateQueue=a,t.flags|=4),zE(r,!0),null===r.tail&&"hidden"===r.tailMode&&!_.alternate&&!on)return KE(t),null}else 2*qe()-r.renderingStartTime>H_&&1073741824!==a&&(t.flags|=128,o=!0,zE(r,!1),t.lanes=4194304);r.isBackwards?(_.sibling=t.child,t.child=_):(null!==(a=r.last)?a.sibling=_:t.child=_,r.last=_)}return null!==r.tail?(t=r.tail,r.rendering=t,r.tail=t.sibling,r.renderingStartTime=qe(),t.sibling=null,a=Er.current,hi(Er,o?1&a|2:1&a),t):(KE(t),null);case 22:case 23:return sT(),o=null!==t.memoizedState,null!==e&&null!==e.memoizedState!==o&&(t.flags|=8192),o&&0!=(1&t.mode)?0!=(1073741824&v_)&&(KE(t),6&t.subtreeFlags&&(t.flags|=8192)):KE(t),null;case 24:case 25:return null}throw Error(n(156,t.tag))}function jE(e,t){switch(en(t),t.tag){case 1:return vi(t.type)&&yi(),65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 3:return ir(),pi(Bi),pi(fi),sr(),0!=(65536&(e=t.flags))&&0==(128&e)?(t.flags=-65537&e|128,t):null;case 5:return rr(t),null;case 13:if(pi(Er),null!==(e=t.memoizedState)&&null!==e.dehydrated){if(null===t.alternate)throw Error(n(340));In()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 19:return pi(Er),null;case 4:return ir(),null;case 10:return Ln(t.type._context),null;case 22:case 23:return sT(),null;default:return null}}vE=function(e,t){for(var a=t.child;null!==a;){if(5===a.tag||6===a.tag)e.appendChild(a.stateNode);else if(4!==a.tag&&null!==a.child){a.child.return=a,a=a.child;continue}if(a===t)break;for(;null===a.sibling;){if(null===a.return||a.return===t)return;a=a.return}a.sibling.return=a.return,a=a.sibling}},yE=function(e,t,a,o){var i=e.memoizedProps;if(i!==o){e=t.stateNode,ar(Zn.current);var n,r=null;switch(a){case"input":i=X(e,i),o=X(e,o),r=[];break;case"select":i=G({},i,{value:void 0}),o=G({},o,{value:void 0}),r=[];break;case"textarea":i=oe(e,i),o=oe(e,o),r=[];break;default:"function"!=typeof i.onClick&&"function"==typeof o.onClick&&(e.onclick=Jo)}for(s in Oe(a,o),a=null,i)if(!o.hasOwnProperty(s)&&i.hasOwnProperty(s)&&null!=i[s])if("style"===s){var _=i[s];for(n in _)_.hasOwnProperty(n)&&(a||(a={}),a[n]="")}else"dangerouslySetInnerHTML"!==s&&"children"!==s&&"suppressContentEditableWarning"!==s&&"suppressHydrationWarning"!==s&&"autoFocus"!==s&&(E.hasOwnProperty(s)?r||(r=[]):(r=r||[]).push(s,null));for(s in o){var T=o[s];if(_=null!=i?i[s]:void 0,o.hasOwnProperty(s)&&T!==_&&(null!=T||null!=_))if("style"===s)if(_){for(n in _)!_.hasOwnProperty(n)||T&&T.hasOwnProperty(n)||(a||(a={}),a[n]="");for(n in T)T.hasOwnProperty(n)&&_[n]!==T[n]&&(a||(a={}),a[n]=T[n])}else a||(r||(r=[]),r.push(s,a)),a=T;else"dangerouslySetInnerHTML"===s?(T=T?T.__html:void 0,_=_?_.__html:void 0,null!=T&&_!==T&&(r=r||[]).push(s,T)):"children"===s?"string"!=typeof T&&"number"!=typeof T||(r=r||[]).push(s,""+T):"suppressContentEditableWarning"!==s&&"suppressHydrationWarning"!==s&&(E.hasOwnProperty(s)?(null!=T&&"onScroll"===s&&ko("scroll",e),r||_===T||(r=[])):(r=r||[]).push(s,T))}a&&(r=r||[]).push("style",a);var s=r;(t.updateQueue=s)&&(t.flags|=4)}},WE=function(e,t,a,o){a!==o&&(t.flags|=4)};var QE=!1,XE=!1,$E="function"==typeof WeakSet?WeakSet:Set,qE=null;function JE(e,t){var a=e.ref;if(null!==a)if("function"==typeof a)try{a(null)}catch(a){DT(e,t,a)}else a.current=null}function ZE(e,t,a){try{a()}catch(a){DT(e,t,a)}}var e_=!1;function t_(e,t,a){var o=t.updateQueue;if(null!==(o=null!==o?o.lastEffect:null)){var i=o=o.next;do{if((i.tag&e)===e){var n=i.destroy;i.destroy=void 0,void 0!==n&&ZE(t,a,n)}i=i.next}while(i!==o)}}function a_(e,t){if(null!==(t=null!==(t=t.updateQueue)?t.lastEffect:null)){var a=t=t.next;do{if((a.tag&e)===e){var o=a.create;a.destroy=o()}a=a.next}while(a!==t)}}function o_(e){var t=e.ref;if(null!==t){var a=e.stateNode;e.tag,e=a,"function"==typeof t?t(e):t.current=e}}function i_(e){var t=e.alternate;null!==t&&(e.alternate=null,i_(t)),e.child=null,e.deletions=null,e.sibling=null,5===e.tag&&(null!==(t=e.stateNode)&&(delete t[Si],delete t[li],delete t[Ai],delete t[ui],delete t[di])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function n_(e){return 5===e.tag||3===e.tag||4===e.tag}function r_(e){e:for(;;){for(;null===e.sibling;){if(null===e.return||n_(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;5!==e.tag&&6!==e.tag&&18!==e.tag;){if(2&e.flags)continue e;if(null===e.child||4===e.tag)continue e;e.child.return=e,e=e.child}if(!(2&e.flags))return e.stateNode}}function E_(e,t,a){var o=e.tag;if(5===o||6===o)e=e.stateNode,t?8===a.nodeType?a.parentNode.insertBefore(e,t):a.insertBefore(e,t):(8===a.nodeType?(t=a.parentNode).insertBefore(e,a):(t=a).appendChild(e),null!=(a=a._reactRootContainer)||null!==t.onclick||(t.onclick=Jo));else if(4!==o&&null!==(e=e.child))for(E_(e,t,a),e=e.sibling;null!==e;)E_(e,t,a),e=e.sibling}function __(e,t,a){var o=e.tag;if(5===o||6===o)e=e.stateNode,t?a.insertBefore(e,t):a.appendChild(e);else if(4!==o&&null!==(e=e.child))for(__(e,t,a),e=e.sibling;null!==e;)__(e,t,a),e=e.sibling}var T_=null,s_=!1;function S_(e,t,a){for(a=a.child;null!==a;)l_(e,t,a),a=a.sibling}function l_(e,t,a){if(it&&"function"==typeof it.onCommitFiberUnmount)try{it.onCommitFiberUnmount(ot,a)}catch(e){}switch(a.tag){case 5:XE||JE(a,t);case 6:var o=T_,i=s_;T_=null,S_(e,t,a),s_=i,null!==(T_=o)&&(s_?(e=T_,a=a.stateNode,8===e.nodeType?e.parentNode.removeChild(a):e.removeChild(a)):T_.removeChild(a.stateNode));break;case 18:null!==T_&&(s_?(e=T_,a=a.stateNode,8===e.nodeType?Ei(e.parentNode,a):1===e.nodeType&&Ei(e,a),Ht(e)):Ei(T_,a.stateNode));break;case 4:o=T_,i=s_,T_=a.stateNode.containerInfo,s_=!0,S_(e,t,a),T_=o,s_=i;break;case 0:case 11:case 14:case 15:if(!XE&&(null!==(o=a.updateQueue)&&null!==(o=o.lastEffect))){i=o=o.next;do{var n=i,r=n.destroy;n=n.tag,void 0!==r&&(0!=(2&n)||0!=(4&n))&&ZE(a,t,r),i=i.next}while(i!==o)}S_(e,t,a);break;case 1:if(!XE&&(JE(a,t),"function"==typeof(o=a.stateNode).componentWillUnmount))try{o.props=a.memoizedProps,o.state=a.memoizedState,o.componentWillUnmount()}catch(e){DT(a,t,e)}S_(e,t,a);break;case 21:S_(e,t,a);break;case 22:1&a.mode?(XE=(o=XE)||null!==a.memoizedState,S_(e,t,a),XE=o):S_(e,t,a);break;default:S_(e,t,a)}}function I_(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var a=e.stateNode;null===a&&(a=e.stateNode=new $E),t.forEach((function(t){var o=fT.bind(null,e,t);a.has(t)||(a.add(t),t.then(o,o))}))}}function A_(e,t){var a=t.deletions;if(null!==a)for(var o=0;o<a.length;o++){var i=a[o];try{var r=e,E=t,_=E;e:for(;null!==_;){switch(_.tag){case 5:T_=_.stateNode,s_=!1;break e;case 3:case 4:T_=_.stateNode.containerInfo,s_=!0;break e}_=_.return}if(null===T_)throw Error(n(160));l_(r,E,i),T_=null,s_=!1;var T=i.alternate;null!==T&&(T.return=null),i.return=null}catch(e){DT(i,t,e)}}if(12854&t.subtreeFlags)for(t=t.child;null!==t;)u_(t,e),t=t.sibling}function u_(e,t){var a=e.alternate,o=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(A_(t,e),d_(e),4&o){try{t_(3,e,e.return),a_(3,e)}catch(t){DT(e,e.return,t)}try{t_(5,e,e.return)}catch(t){DT(e,e.return,t)}}break;case 1:A_(t,e),d_(e),512&o&&null!==a&&JE(a,a.return);break;case 5:if(A_(t,e),d_(e),512&o&&null!==a&&JE(a,a.return),32&e.flags){var i=e.stateNode;try{le(i,"")}catch(t){DT(e,e.return,t)}}if(4&o&&null!=(i=e.stateNode)){var r=e.memoizedProps,E=null!==a?a.memoizedProps:r,_=e.type,T=e.updateQueue;if(e.updateQueue=null,null!==T)try{"input"===_&&"radio"===r.type&&null!=r.name&&q(i,r),Re(_,E);var s=Re(_,r);for(E=0;E<T.length;E+=2){var S=T[E],l=T[E+1];"style"===S?de(i,l):"dangerouslySetInnerHTML"===S?Se(i,l):"children"===S?le(i,l):R(i,S,l,s)}switch(_){case"input":J(i,r);break;case"textarea":ne(i,r);break;case"select":var I=i._wrapperState.wasMultiple;i._wrapperState.wasMultiple=!!r.multiple;var A=r.value;null!=A?ae(i,!!r.multiple,A,!1):I!==!!r.multiple&&(null!=r.defaultValue?ae(i,!!r.multiple,r.defaultValue,!0):ae(i,!!r.multiple,r.multiple?[]:"",!1))}i[li]=r}catch(t){DT(e,e.return,t)}}break;case 6:if(A_(t,e),d_(e),4&o){if(null===e.stateNode)throw Error(n(162));i=e.stateNode,r=e.memoizedProps;try{i.nodeValue=r}catch(t){DT(e,e.return,t)}}break;case 3:if(A_(t,e),d_(e),4&o&&null!==a&&a.memoizedState.isDehydrated)try{Ht(t.containerInfo)}catch(t){DT(e,e.return,t)}break;default:A_(t,e),d_(e);break;case 13:A_(t,e),d_(e),8192&(i=e.child).flags&&(r=null!==i.memoizedState,i.stateNode.isHidden=r,!r||null!==i.alternate&&null!==i.alternate.memoizedState||(V_=qe())),4&o&&I_(e);break;case 22:if(S=null!==a&&null!==a.memoizedState,1&e.mode?(XE=(s=XE)||S,A_(t,e),XE=s):A_(t,e),d_(e),8192&o){if(s=null!==e.memoizedState,(e.stateNode.isHidden=s)&&!S&&0!=(1&e.mode))for(qE=e,S=e.child;null!==S;){for(l=qE=S;null!==qE;){switch(A=(I=qE).child,I.tag){case 0:case 11:case 14:case 15:t_(4,I,I.return);break;case 1:JE(I,I.return);var u=I.stateNode;if("function"==typeof u.componentWillUnmount){o=I,a=I.return;try{t=o,u.props=t.memoizedProps,u.state=t.memoizedState,u.componentWillUnmount()}catch(e){DT(o,a,e)}}break;case 5:JE(I,I.return);break;case 22:if(null!==I.memoizedState){N_(l);continue}}null!==A?(A.return=I,qE=A):N_(l)}S=S.sibling}e:for(S=null,l=e;;){if(5===l.tag){if(null===S){S=l;try{i=l.stateNode,s?"function"==typeof(r=i.style).setProperty?r.setProperty("display","none","important"):r.display="none":(_=l.stateNode,E=null!=(T=l.memoizedProps.style)&&T.hasOwnProperty("display")?T.display:null,_.style.display=ue("display",E))}catch(t){DT(e,e.return,t)}}}else if(6===l.tag){if(null===S)try{l.stateNode.nodeValue=s?"":l.memoizedProps}catch(t){DT(e,e.return,t)}}else if((22!==l.tag&&23!==l.tag||null===l.memoizedState||l===e)&&null!==l.child){l.child.return=l,l=l.child;continue}if(l===e)break e;for(;null===l.sibling;){if(null===l.return||l.return===e)break e;S===l&&(S=null),l=l.return}S===l&&(S=null),l.sibling.return=l.return,l=l.sibling}}break;case 19:A_(t,e),d_(e),4&o&&I_(e);case 21:}}function d_(e){var t=e.flags;if(2&t){try{e:{for(var a=e.return;null!==a;){if(n_(a)){var o=a;break e}a=a.return}throw Error(n(160))}switch(o.tag){case 5:var i=o.stateNode;32&o.flags&&(le(i,""),o.flags&=-33),__(e,r_(e),i);break;case 3:case 4:var r=o.stateNode.containerInfo;E_(e,r_(e),r);break;default:throw Error(n(161))}}catch(t){DT(e,e.return,t)}e.flags&=-3}4096&t&&(e.flags&=-4097)}function c_(e,t,a){qE=e,O_(e,t,a)}function O_(e,t,a){for(var o=0!=(1&e.mode);null!==qE;){var i=qE,n=i.child;if(22===i.tag&&o){var r=null!==i.memoizedState||QE;if(!r){var E=i.alternate,_=null!==E&&null!==E.memoizedState||XE;E=QE;var T=XE;if(QE=r,(XE=_)&&!T)for(qE=i;null!==qE;)_=(r=qE).child,22===r.tag&&null!==r.memoizedState?m_(i):null!==_?(_.return=r,qE=_):m_(i);for(;null!==n;)qE=n,O_(n,t,a),n=n.sibling;qE=i,QE=E,XE=T}R_(e)}else 0!=(8772&i.subtreeFlags)&&null!==n?(n.return=i,qE=n):R_(e)}}function R_(e){for(;null!==qE;){var t=qE;if(0!=(8772&t.flags)){var a=t.alternate;try{if(0!=(8772&t.flags))switch(t.tag){case 0:case 11:case 15:XE||a_(5,t);break;case 1:var o=t.stateNode;if(4&t.flags&&!XE)if(null===a)o.componentDidMount();else{var i=t.elementType===t.type?a.memoizedProps:dn(t.type,a.memoizedProps);o.componentDidUpdate(i,a.memoizedState,o.__reactInternalSnapshotBeforeUpdate)}var r=t.updateQueue;null!==r&&kn(t,r,o);break;case 3:var E=t.updateQueue;if(null!==E){if(a=null,null!==t.child)switch(t.child.tag){case 5:case 1:a=t.child.stateNode}kn(t,E,a)}break;case 5:var _=t.stateNode;if(null===a&&4&t.flags){a=_;var T=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":T.autoFocus&&a.focus();break;case"img":T.src&&(a.src=T.src)}}break;case 6:case 4:case 12:case 19:case 17:case 21:case 22:case 23:case 25:break;case 13:if(null===t.memoizedState){var s=t.alternate;if(null!==s){var S=s.memoizedState;if(null!==S){var l=S.dehydrated;null!==l&&Ht(l)}}}break;default:throw Error(n(163))}XE||512&t.flags&&o_(t)}catch(e){DT(t,t.return,e)}}if(t===e){qE=null;break}if(null!==(a=t.sibling)){a.return=t.return,qE=a;break}qE=t.return}}function N_(e){for(;null!==qE;){var t=qE;if(t===e){qE=null;break}var a=t.sibling;if(null!==a){a.return=t.return,qE=a;break}qE=t.return}}function m_(e){for(;null!==qE;){var t=qE;try{switch(t.tag){case 0:case 11:case 15:var a=t.return;try{a_(4,t)}catch(e){DT(t,a,e)}break;case 1:var o=t.stateNode;if("function"==typeof o.componentDidMount){var i=t.return;try{o.componentDidMount()}catch(e){DT(t,i,e)}}var n=t.return;try{o_(t)}catch(e){DT(t,n,e)}break;case 5:var r=t.return;try{o_(t)}catch(e){DT(t,r,e)}}}catch(e){DT(t,t.return,e)}if(t===e){qE=null;break}var E=t.sibling;if(null!==E){E.return=t.return,qE=E;break}qE=t.return}}var L_,D_=Math.ceil,p_=N.ReactCurrentDispatcher,h_=N.ReactCurrentOwner,C_=N.ReactCurrentBatchConfig,f_=0,B_=null,P_=null,g_=0,v_=0,y_=Di(0),W_=0,M_=null,b_=0,U_=0,G_=0,k_=null,F_=null,V_=0,H_=1/0,w_=null,Y_=!1,z_=null,K_=null,x_=!1,j_=null,Q_=0,X_=0,$_=null,q_=-1,J_=0;function Z_(){return 0!=(6&f_)?qe():-1!==q_?q_:q_=qe()}function eT(e){return 0==(1&e.mode)?1:0!=(2&f_)&&0!==g_?g_&-g_:null!==un.transition?(0===J_&&(J_=At()),J_):0!==(e=Ot)?e:e=void 0===(e=window.event)?16:Xt(e.type)}function tT(e,t,a,o){if(50<X_)throw X_=0,$_=null,Error(n(185));dt(e,a,o),0!=(2&f_)&&e===B_||(e===B_&&(0==(2&f_)&&(U_|=a),4===W_&&rT(e,g_)),aT(e,o),1===a&&0===f_&&0==(1&t.mode)&&(H_=qe()+500,ki&&Hi()))}function aT(e,t){var a=e.callbackNode;!(function(e,t){for(var a=e.suspendedLanes,o=e.pingedLanes,i=e.expirationTimes,n=e.pendingLanes;0<n;){var r=31-nt(n),E=1<<r,_=i[r];-1===_?0!=(E&a)&&0==(E&o)||(i[r]=lt(E,t)):_<=t&&(e.expiredLanes|=E),n&=~E}})(e,t);var o=St(e,e===B_?g_:0);if(0===o)null!==a&&Qe(a),e.callbackNode=null,e.callbackPriority=0;else if(t=o&-o,e.callbackPriority!==t){if(null!=a&&Qe(a),1===t)0===e.tag?(function(e){ki=!0,Vi(e)})(ET.bind(null,e)):Vi(ET.bind(null,e)),ni((function(){0==(6&f_)&&Hi()})),a=null;else{switch(Rt(o)){case 1:a=Ze;break;case 4:a=et;break;default:a=tt;break;case 536870912:a=at}a=BT(a,oT.bind(null,e))}e.callbackPriority=t,e.callbackNode=a}}function oT(e,t){if(q_=-1,J_=0,0!=(6&f_))throw Error(n(327));var a=e.callbackNode;if(mT()&&e.callbackNode!==a)return null;var o=St(e,e===B_?g_:0);if(0===o)return null;if(0!=(30&o)||0!=(o&e.expiredLanes)||t)t=uT(e,o);else{t=o;var i=f_;f_|=2;var r=IT();for(B_===e&&g_===t||(w_=null,H_=qe()+500,ST(e,t));;)try{cT();break}catch(t){lT(e,t)}mn(),p_.current=r,f_=i,null!==P_?t=0:(B_=null,g_=0,t=W_)}if(0!==t){if(2===t&&(0!==(i=It(e))&&(o=i,t=iT(e,i))),1===t)throw a=M_,ST(e,0),rT(e,o),aT(e,qe()),a;if(6===t)rT(e,o);else{if(i=e.current.alternate,0==(30&o)&&!(function(e){for(var t=e;;){if(16384&t.flags){var a=t.updateQueue;if(null!==a&&null!==(a=a.stores))for(var o=0;o<a.length;o++){var i=a[o],n=i.getSnapshot;i=i.value;try{if(!no(n(),i))return!1}catch(e){return!1}}}if(a=t.child,16384&t.subtreeFlags&&null!==a)a.return=t,t=a;else{if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0})(i)&&(2===(t=uT(e,o))&&(0!==(r=It(e))&&(o=r,t=iT(e,r))),1===t))throw a=M_,ST(e,0),rT(e,o),aT(e,qe()),a;switch(e.finishedWork=i,e.finishedLanes=o,t){case 0:case 1:throw Error(n(345));case 2:case 5:NT(e,F_,w_);break;case 3:if(rT(e,o),(130023424&o)===o&&10<(t=V_+500-qe())){if(0!==St(e,0))break;if(((i=e.suspendedLanes)&o)!==o){Z_(),e.pingedLanes|=e.suspendedLanes&i;break}e.timeoutHandle=ai(NT.bind(null,e,F_,w_),t);break}NT(e,F_,w_);break;case 4:if(rT(e,o),(4194240&o)===o)break;for(t=e.eventTimes,i=-1;0<o;){var E=31-nt(o);r=1<<E,(E=t[E])>i&&(i=E),o&=~r}if(o=i,10<(o=(120>(o=qe()-o)?120:480>o?480:1080>o?1080:1920>o?1920:3e3>o?3e3:4320>o?4320:1960*D_(o/1960))-o)){e.timeoutHandle=ai(NT.bind(null,e,F_,w_),o);break}NT(e,F_,w_);break;default:throw Error(n(329))}}}return aT(e,qe()),e.callbackNode===a?oT.bind(null,e):null}function iT(e,t){var a=k_;return e.current.memoizedState.isDehydrated&&(ST(e,t).flags|=256),2!==(e=uT(e,t))&&(t=F_,F_=a,null!==t&&nT(t)),e}function nT(e){null===F_?F_=e:F_.push.apply(F_,e)}function rT(e,t){for(t&=~G_,t&=~U_,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var a=31-nt(t),o=1<<a;e[a]=-1,t&=~o}}function ET(e){if(0!=(6&f_))throw Error(n(327));mT();var t=St(e,0);if(0==(1&t))return aT(e,qe()),null;var a=uT(e,t);if(0!==e.tag&&2===a){var o=It(e);0!==o&&(t=o,a=iT(e,o))}if(1===a)throw a=M_,ST(e,0),rT(e,t),aT(e,qe()),a;if(6===a)throw Error(n(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,NT(e,F_,w_),aT(e,qe()),null}function _T(e,t){var a=f_;f_|=1;try{return e(t)}finally{0===(f_=a)&&(H_=qe()+500,ki&&Hi())}}function TT(e){null!==j_&&0===j_.tag&&0==(6&f_)&&mT();var t=f_;f_|=1;var a=C_.transition,o=Ot;try{if(C_.transition=null,Ot=1,e)return e()}finally{Ot=o,C_.transition=a,0==(6&(f_=t))&&Hi()}}function sT(){v_=y_.current,pi(y_)}function ST(e,t){e.finishedWork=null,e.finishedLanes=0;var a=e.timeoutHandle;if(-1!==a&&(e.timeoutHandle=-1,oi(a)),null!==P_)for(a=P_.return;null!==a;){var o=a;switch(en(o),o.tag){case 1:null!=(o=o.type.childContextTypes)&&yi();break;case 3:ir(),pi(Bi),pi(fi),sr();break;case 5:rr(o);break;case 4:ir();break;case 13:case 19:pi(Er);break;case 10:Ln(o.type._context);break;case 22:case 23:sT()}a=a.return}if(B_=e,P_=e=yT(e.current,null),g_=v_=t,W_=0,M_=null,G_=U_=b_=0,F_=k_=null,null!==Cn){for(t=0;t<Cn.length;t++)if(null!==(o=(a=Cn[t]).interleaved)){a.interleaved=null;var i=o.next,n=a.pending;if(null!==n){var r=n.next;n.next=i,o.next=r}a.pending=o}Cn=null}return e}function lT(e,t){for(;;){var a=P_;try{if(mn(),Sr.current=nE,cr){for(var o=Ar.memoizedState;null!==o;){var i=o.queue;null!==i&&(i.pending=null),o=o.next}cr=!1}if(Ir=0,dr=ur=Ar=null,Or=!1,Rr=0,h_.current=null,null===a||null===a.return){W_=1,M_=t,P_=null;break}e:{var r=e,E=a.return,_=a,T=t;if(t=g_,_.flags|=32768,null!==T&&"object"==typeof T&&"function"==typeof T.then){var s=T,S=_,l=S.tag;if(0==(1&S.mode)&&(0===l||11===l||15===l)){var I=S.alternate;I?(S.updateQueue=I.updateQueue,S.memoizedState=I.memoizedState,S.lanes=I.lanes):(S.updateQueue=null,S.memoizedState=null)}var A=dE(E);if(null!==A){A.flags&=-257,cE(A,E,_,0,t),1&A.mode&&uE(r,s,t),T=s;var u=(t=A).updateQueue;if(null===u){var d=new Set;d.add(T),t.updateQueue=d}else u.add(T);break e}if(0==(1&t)){uE(r,s,t),AT();break e}T=Error(n(426))}else if(on&&1&_.mode){var c=dE(E);if(null!==c){0==(65536&c.flags)&&(c.flags|=256),cE(c,E,_,0,t),An(TE(T,_));break e}}r=T=TE(T,_),4!==W_&&(W_=2),null===k_?k_=[r]:k_.push(r),r=E;do{switch(r.tag){case 3:r.flags|=65536,t&=-t,r.lanes|=t,Un(r,IE(0,T,t));break e;case 1:_=T;var O=r.type,R=r.stateNode;if(0==(128&r.flags)&&("function"==typeof O.getDerivedStateFromError||null!==R&&"function"==typeof R.componentDidCatch&&(null===K_||!K_.has(R)))){r.flags|=65536,t&=-t,r.lanes|=t,Un(r,AE(r,_,t));break e}}r=r.return}while(null!==r)}RT(a)}catch(e){t=e,P_===a&&null!==a&&(P_=a=a.return);continue}break}}function IT(){var e=p_.current;return p_.current=nE,null===e?nE:e}function AT(){0!==W_&&3!==W_&&2!==W_||(W_=4),null===B_||0==(268435455&b_)&&0==(268435455&U_)||rT(B_,g_)}function uT(e,t){var a=f_;f_|=2;var o=IT();for(B_===e&&g_===t||(w_=null,ST(e,t));;)try{dT();break}catch(t){lT(e,t)}if(mn(),f_=a,p_.current=o,null!==P_)throw Error(n(261));return B_=null,g_=0,W_}function dT(){for(;null!==P_;)OT(P_)}function cT(){for(;null!==P_&&!Xe();)OT(P_)}function OT(e){var t=L_(e.alternate,e,v_);e.memoizedProps=e.pendingProps,null===t?RT(e):P_=t,h_.current=null}function RT(e){var t=e;do{var a=t.alternate;if(e=t.return,0==(32768&t.flags)){if(null!==(a=xE(a,t,v_)))return void(P_=a)}else{if(null!==(a=jE(a,t)))return a.flags&=32767,void(P_=a);if(null===e)return W_=6,void(P_=null);e.flags|=32768,e.subtreeFlags=0,e.deletions=null}if(null!==(t=t.sibling))return void(P_=t);P_=t=e}while(null!==t);0===W_&&(W_=5)}function NT(e,t,a){var o=Ot,i=C_.transition;try{C_.transition=null,Ot=1,(function(e,t,a,o){do{mT()}while(null!==j_);if(0!=(6&f_))throw Error(n(327));a=e.finishedWork;var i=e.finishedLanes;if(null===a)return null;if(e.finishedWork=null,e.finishedLanes=0,a===e.current)throw Error(n(177));e.callbackNode=null,e.callbackPriority=0;var r=a.lanes|a.childLanes;if((function(e,t){var a=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var o=e.eventTimes;for(e=e.expirationTimes;0<a;){var i=31-nt(a),n=1<<i;t[i]=0,o[i]=-1,e[i]=-1,a&=~n}})(e,r),e===B_&&(P_=B_=null,g_=0),0==(2064&a.subtreeFlags)&&0==(2064&a.flags)||x_||(x_=!0,BT(tt,(function(){return mT(),null}))),r=0!=(15990&a.flags),0!=(15990&a.subtreeFlags)||r){r=C_.transition,C_.transition=null;var E=Ot;Ot=1;var _=f_;f_|=4,h_.current=null,(function(e,t){if(Zo=Yt,So(e=so())){if("selectionStart"in e)var a={start:e.selectionStart,end:e.selectionEnd};else e:{var o=(a=(a=e.ownerDocument)&&a.defaultView||window).getSelection&&a.getSelection();if(o&&0!==o.rangeCount){a=o.anchorNode;var i=o.anchorOffset,r=o.focusNode;o=o.focusOffset;try{a.nodeType,r.nodeType}catch(e){a=null;break e}var E=0,_=-1,T=-1,s=0,S=0,l=e,I=null;t:for(;;){for(var A;l!==a||0!==i&&3!==l.nodeType||(_=E+i),l!==r||0!==o&&3!==l.nodeType||(T=E+o),3===l.nodeType&&(E+=l.nodeValue.length),null!==(A=l.firstChild);)I=l,l=A;for(;;){if(l===e)break t;if(I===a&&++s===i&&(_=E),I===r&&++S===o&&(T=E),null!==(A=l.nextSibling))break;I=(l=I).parentNode}l=A}a=-1===_||-1===T?null:{start:_,end:T}}else a=null}a=a||{start:0,end:0}}else a=null;for(ei={focusedElem:e,selectionRange:a},Yt=!1,qE=t;null!==qE;)if(e=(t=qE).child,0!=(1028&t.subtreeFlags)&&null!==e)e.return=t,qE=e;else for(;null!==qE;){t=qE;try{var u=t.alternate;if(0!=(1024&t.flags))switch(t.tag){case 0:case 11:case 15:case 5:case 6:case 4:case 17:break;case 1:if(null!==u){var d=u.memoizedProps,c=u.memoizedState,O=t.stateNode,R=O.getSnapshotBeforeUpdate(t.elementType===t.type?d:dn(t.type,d),c);O.__reactInternalSnapshotBeforeUpdate=R}break;case 3:var N=t.stateNode.containerInfo;1===N.nodeType?N.textContent="":9===N.nodeType&&N.documentElement&&N.removeChild(N.documentElement);break;default:throw Error(n(163))}}catch(e){DT(t,t.return,e)}if(null!==(e=t.sibling)){e.return=t.return,qE=e;break}qE=t.return}u=e_,e_=!1})(e,a),u_(a,e),lo(ei),Yt=!!Zo,ei=Zo=null,e.current=a,c_(a,e,i),$e(),f_=_,Ot=E,C_.transition=r}else e.current=a;if(x_&&(x_=!1,j_=e,Q_=i),0===(r=e.pendingLanes)&&(K_=null),(function(e){if(it&&"function"==typeof it.onCommitFiberRoot)try{it.onCommitFiberRoot(ot,e,void 0,128==(128&e.current.flags))}catch(e){}})(a.stateNode),aT(e,qe()),null!==t)for(o=e.onRecoverableError,a=0;a<t.length;a++)i=t[a],o(i.value,{componentStack:i.stack,digest:i.digest});if(Y_)throw Y_=!1,e=z_,z_=null,e;0!=(1&Q_)&&0!==e.tag&&mT(),0!=(1&(r=e.pendingLanes))?e===$_?X_++:(X_=0,$_=e):X_=0,Hi()})(e,t,a,o)}finally{C_.transition=i,Ot=o}return null}function mT(){if(null!==j_){var e=Rt(Q_),t=C_.transition,a=Ot;try{if(C_.transition=null,Ot=16>e?16:e,null===j_)var o=!1;else{if(e=j_,j_=null,Q_=0,0!=(6&f_))throw Error(n(331));var i=f_;for(f_|=4,qE=e.current;null!==qE;){var r=qE,E=r.child;if(0!=(16&qE.flags)){var _=r.deletions;if(null!==_){for(var T=0;T<_.length;T++){var s=_[T];for(qE=s;null!==qE;){var S=qE;switch(S.tag){case 0:case 11:case 15:t_(8,S,r)}var l=S.child;if(null!==l)l.return=S,qE=l;else for(;null!==qE;){var I=(S=qE).sibling,A=S.return;if(i_(S),S===s){qE=null;break}if(null!==I){I.return=A,qE=I;break}qE=A}}}var u=r.alternate;if(null!==u){var d=u.child;if(null!==d){u.child=null;do{var c=d.sibling;d.sibling=null,d=c}while(null!==d)}}qE=r}}if(0!=(2064&r.subtreeFlags)&&null!==E)E.return=r,qE=E;else e:for(;null!==qE;){if(0!=(2048&(r=qE).flags))switch(r.tag){case 0:case 11:case 15:t_(9,r,r.return)}var O=r.sibling;if(null!==O){O.return=r.return,qE=O;break e}qE=r.return}}var R=e.current;for(qE=R;null!==qE;){var N=(E=qE).child;if(0!=(2064&E.subtreeFlags)&&null!==N)N.return=E,qE=N;else e:for(E=R;null!==qE;){if(0!=(2048&(_=qE).flags))try{switch(_.tag){case 0:case 11:case 15:a_(9,_)}}catch(e){DT(_,_.return,e)}if(_===E){qE=null;break e}var m=_.sibling;if(null!==m){m.return=_.return,qE=m;break e}qE=_.return}}if(f_=i,Hi(),it&&"function"==typeof it.onPostCommitFiberRoot)try{it.onPostCommitFiberRoot(ot,e)}catch(e){}o=!0}return o}finally{Ot=a,C_.transition=t}}return!1}function LT(e,t,a){e=Mn(e,t=IE(0,t=TE(a,t),1),1),t=Z_(),null!==e&&(dt(e,1,t),aT(e,t))}function DT(e,t,a){if(3===e.tag)LT(e,e,a);else for(;null!==t;){if(3===t.tag){LT(t,e,a);break}if(1===t.tag){var o=t.stateNode;if("function"==typeof t.type.getDerivedStateFromError||"function"==typeof o.componentDidCatch&&(null===K_||!K_.has(o))){t=Mn(t,e=AE(t,e=TE(a,e),1),1),e=Z_(),null!==t&&(dt(t,1,e),aT(t,e));break}}t=t.return}}function pT(e,t,a){var o=e.pingCache;null!==o&&o.delete(t),t=Z_(),e.pingedLanes|=e.suspendedLanes&a,B_===e&&(g_&a)===a&&(4===W_||3===W_&&(130023424&g_)===g_&&500>qe()-V_?ST(e,0):G_|=a),aT(e,t)}function hT(e,t){0===t&&(0==(1&e.mode)?t=1:(t=Tt,0==(130023424&(Tt<<=1))&&(Tt=4194304)));var a=Z_();null!==(e=Pn(e,t))&&(dt(e,t,a),aT(e,a))}function CT(e){var t=e.memoizedState,a=0;null!==t&&(a=t.retryLane),hT(e,a)}function fT(e,t){var a=0;switch(e.tag){case 13:var o=e.stateNode,i=e.memoizedState;null!==i&&(a=i.retryLane);break;case 19:o=e.stateNode;break;default:throw Error(n(314))}null!==o&&o.delete(t),hT(e,a)}function BT(e,t){return je(e,t)}function PT(e,t,a,o){this.tag=e,this.key=a,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=o,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function gT(e,t,a,o){return new PT(e,t,a,o)}function vT(e){return!(!(e=e.prototype)||!e.isReactComponent)}function yT(e,t){var a=e.alternate;return null===a?((a=gT(e.tag,t,e.key,e.mode)).elementType=e.elementType,a.type=e.type,a.stateNode=e.stateNode,a.alternate=e,e.alternate=a):(a.pendingProps=t,a.type=e.type,a.flags=0,a.subtreeFlags=0,a.deletions=null),a.flags=14680064&e.flags,a.childLanes=e.childLanes,a.lanes=e.lanes,a.child=e.child,a.memoizedProps=e.memoizedProps,a.memoizedState=e.memoizedState,a.updateQueue=e.updateQueue,t=e.dependencies,a.dependencies=null===t?null:{lanes:t.lanes,firstContext:t.firstContext},a.sibling=e.sibling,a.index=e.index,a.ref=e.ref,a}function WT(e,t,a,o,i,r){var E=2;if(o=e,"function"==typeof e)vT(e)&&(E=1);else if("string"==typeof e)E=5;else e:switch(e){case D:return MT(a.children,i,r,t);case p:E=8,i|=8;break;case h:return(e=gT(12,a,t,2|i)).elementType=h,e.lanes=r,e;case P:return(e=gT(13,a,t,i)).elementType=P,e.lanes=r,e;case g:return(e=gT(19,a,t,i)).elementType=g,e.lanes=r,e;case W:return bT(a,i,r,t);default:if("object"==typeof e&&null!==e)switch(e.$$typeof){case C:E=10;break e;case f:E=9;break e;case B:E=11;break e;case v:E=14;break e;case y:E=16,o=null;break e}throw Error(n(130,null==e?e:typeof e,""))}return(t=gT(E,a,t,i)).elementType=e,t.type=o,t.lanes=r,t}function MT(e,t,a,o){return(e=gT(7,e,o,t)).lanes=a,e}function bT(e,t,a,o){return(e=gT(22,e,o,t)).elementType=W,e.lanes=a,e.stateNode={isHidden:!1},e}function UT(e,t,a){return(e=gT(6,e,null,t)).lanes=a,e}function GT(e,t,a){return(t=gT(4,null!==e.children?e.children:[],e.key,t)).lanes=a,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function kT(e,t,a,o,i){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=ut(0),this.expirationTimes=ut(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=ut(0),this.identifierPrefix=o,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function FT(e,t,a,o,i,n,r,E,_){return e=new kT(e,t,a,E,_),1===t?(t=1,!0===n&&(t|=8)):t=0,n=gT(3,null,null,t),e.current=n,n.stateNode=e,n.memoizedState={element:o,isDehydrated:a,cache:null,transitions:null,pendingSuspenseBoundaries:null},vn(n),e}function VT(e,t,a){var o=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:L,key:null==o?null:""+o,children:e,containerInfo:t,implementation:a}}function HT(e){if(!e)return Ci;e:{if(we(e=e._reactInternals)!==e||1!==e.tag)throw Error(n(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(vi(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(null!==t);throw Error(n(171))}if(1===e.tag){var a=e.type;if(vi(a))return Mi(e,a,t)}return t}function wT(e,t,a,o,i,n,r,E,_){return(e=FT(a,o,!0,e,0,n,0,E,_)).context=HT(null),a=e.current,(n=Wn(o=Z_(),i=eT(a))).callback=null!=t?t:null,Mn(a,n,i),e.current.lanes=i,dt(e,i,o),aT(e,o),e}function YT(e,t,a,o){var i=t.current,n=Z_(),r=eT(i);return a=HT(a),null===t.context?t.context=a:t.pendingContext=a,(t=Wn(n,r)).payload={element:e},null!==(o=void 0===o?null:o)&&(t.callback=o),null!==(e=Mn(i,t,r))&&(tT(e,i,r,n),bn(e,i,r)),r}function zT(e){return(e=e.current).child?(e.child.tag,e.child.stateNode):null}function KT(e,t){if(null!==(e=e.memoizedState)&&null!==e.dehydrated){var a=e.retryLane;e.retryLane=0!==a&&a<t?a:t}}function xT(e,t){KT(e,t),(e=e.alternate)&&KT(e,t)}L_=function(e,t,a){if(null!==e)if(e.memoizedProps!==t.pendingProps||Bi.current)RE=!0;else{if(0==(e.lanes&a)&&0==(128&t.flags))return RE=!1,(function(e,t,a){switch(t.tag){case 3:PE(t),In();break;case 5:nr(t);break;case 1:vi(t.type)&&bi(t);break;case 4:or(t,t.stateNode.containerInfo);break;case 10:var o=t.type._context,i=t.memoizedProps.value;hi(cn,o._currentValue),o._currentValue=i;break;case 13:if(null!==(o=t.memoizedState))return null!==o.dehydrated?(hi(Er,1&Er.current),t.flags|=128,null):0!=(a&t.child.childLanes)?UE(e,t,a):(hi(Er,1&Er.current),null!==(e=YE(e,t,a))?e.sibling:null);hi(Er,1&Er.current);break;case 19:if(o=0!=(a&t.childLanes),0!=(128&e.flags)){if(o)return HE(e,t,a);t.flags|=128}if(null!==(i=t.memoizedState)&&(i.rendering=null,i.tail=null,i.lastEffect=null),hi(Er,Er.current),o)break;return null;case 22:case 23:return t.lanes=0,pE(e,t,a)}return YE(e,t,a)})(e,t,a);RE=0!=(131072&e.flags)}else RE=!1,on&&0!=(1048576&t.flags)&&Ji(t,Ki,t.index);switch(t.lanes=0,t.tag){case 2:var o=t.type;wE(e,t),e=t.pendingProps;var i=gi(t,fi.current);pn(t,a),i=Dr(null,t,o,e,i,a);var r=pr();return t.flags|=1,"object"==typeof i&&null!==i&&"function"==typeof i.render&&void 0===i.$$typeof?(t.tag=1,t.memoizedState=null,t.updateQueue=null,vi(o)?(r=!0,bi(t)):r=!1,t.memoizedState=null!==i.state&&void 0!==i.state?i.state:null,vn(t),i.updater=Hn,t.stateNode=i,i._reactInternals=t,Kn(t,o,e,a),t=BE(null,t,o,!0,r,a)):(t.tag=0,on&&r&&Zi(t),NE(null,t,i,a),t=t.child),t;case 16:o=t.elementType;e:{switch(wE(e,t),e=t.pendingProps,o=(i=o._init)(o._payload),t.type=o,i=t.tag=(function(e){if("function"==typeof e)return vT(e)?1:0;if(null!=e){if((e=e.$$typeof)===B)return 11;if(e===v)return 14}return 2})(o),e=dn(o,e),i){case 0:t=CE(null,t,o,e,a);break e;case 1:t=fE(null,t,o,e,a);break e;case 11:t=mE(null,t,o,e,a);break e;case 14:t=LE(null,t,o,dn(o.type,e),a);break e}throw Error(n(306,o,""))}return t;case 0:return o=t.type,i=t.pendingProps,CE(e,t,o,i=t.elementType===o?i:dn(o,i),a);case 1:return o=t.type,i=t.pendingProps,fE(e,t,o,i=t.elementType===o?i:dn(o,i),a);case 3:e:{if(PE(t),null===e)throw Error(n(387));o=t.pendingProps,i=(r=t.memoizedState).element,yn(e,t),Gn(t,o,null,a);var E=t.memoizedState;if(o=E.element,r.isDehydrated){if(r={element:o,isDehydrated:!1,cache:E.cache,pendingSuspenseBoundaries:E.pendingSuspenseBoundaries,transitions:E.transitions},t.updateQueue.baseState=r,t.memoizedState=r,256&t.flags){t=gE(e,t,o,a,i=TE(Error(n(423)),t));break e}if(o!==i){t=gE(e,t,o,a,i=TE(Error(n(424)),t));break e}for(an=_i(t.stateNode.containerInfo.firstChild),tn=t,on=!0,nn=null,a=qn(t,null,o,a),t.child=a;a;)a.flags=-3&a.flags|4096,a=a.sibling}else{if(In(),o===i){t=YE(e,t,a);break e}NE(e,t,o,a)}t=t.child}return t;case 5:return nr(t),null===e&&Tn(t),o=t.type,i=t.pendingProps,r=null!==e?e.memoizedProps:null,E=i.children,ti(o,i)?E=null:null!==r&&ti(o,r)&&(t.flags|=32),hE(e,t),NE(e,t,E,a),t.child;case 6:return null===e&&Tn(t),null;case 13:return UE(e,t,a);case 4:return or(t,t.stateNode.containerInfo),o=t.pendingProps,null===e?t.child=$n(t,null,o,a):NE(e,t,o,a),t.child;case 11:return o=t.type,i=t.pendingProps,mE(e,t,o,i=t.elementType===o?i:dn(o,i),a);case 7:return NE(e,t,t.pendingProps,a),t.child;case 8:case 12:return NE(e,t,t.pendingProps.children,a),t.child;case 10:e:{if(o=t.type._context,i=t.pendingProps,r=t.memoizedProps,E=i.value,hi(cn,o._currentValue),o._currentValue=E,null!==r)if(no(r.value,E)){if(r.children===i.children&&!Bi.current){t=YE(e,t,a);break e}}else for(null!==(r=t.child)&&(r.return=t);null!==r;){var _=r.dependencies;if(null!==_){E=r.child;for(var T=_.firstContext;null!==T;){if(T.context===o){if(1===r.tag){(T=Wn(-1,a&-a)).tag=2;var s=r.updateQueue;if(null!==s){var S=(s=s.shared).pending;null===S?T.next=T:(T.next=S.next,S.next=T),s.pending=T}}r.lanes|=a,null!==(T=r.alternate)&&(T.lanes|=a),Dn(r.return,a,t),_.lanes|=a;break}T=T.next}}else if(10===r.tag)E=r.type===t.type?null:r.child;else if(18===r.tag){if(null===(E=r.return))throw Error(n(341));E.lanes|=a,null!==(_=E.alternate)&&(_.lanes|=a),Dn(E,a,t),E=r.sibling}else E=r.child;if(null!==E)E.return=r;else for(E=r;null!==E;){if(E===t){E=null;break}if(null!==(r=E.sibling)){r.return=E.return,E=r;break}E=E.return}r=E}NE(e,t,i.children,a),t=t.child}return t;case 9:return i=t.type,o=t.pendingProps.children,pn(t,a),o=o(i=hn(i)),t.flags|=1,NE(e,t,o,a),t.child;case 14:return i=dn(o=t.type,t.pendingProps),LE(e,t,o,i=dn(o.type,i),a);case 15:return DE(e,t,t.type,t.pendingProps,a);case 17:return o=t.type,i=t.pendingProps,i=t.elementType===o?i:dn(o,i),wE(e,t),t.tag=1,vi(o)?(e=!0,bi(t)):e=!1,pn(t,a),Yn(t,o,i),Kn(t,o,i,a),BE(null,t,o,!0,e,a);case 19:return HE(e,t,a);case 22:return pE(e,t,a)}throw Error(n(156,t.tag))};var jT="function"==typeof reportError?reportError:function(e){console.error(e)};function QT(e){this._internalRoot=e}function XT(e){this._internalRoot=e}function $T(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType)}function qT(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType&&(8!==e.nodeType||" react-mount-point-unstable "!==e.nodeValue))}function JT(){}function ZT(e,t,a,o,i){var n=a._reactRootContainer;if(n){var r=n;if("function"==typeof i){var E=i;i=function(){var e=zT(r);E.call(e)}}YT(t,r,e,i)}else r=(function(e,t,a,o,i){if(i){if("function"==typeof o){var n=o;o=function(){var e=zT(r);n.call(e)}}var r=wT(t,o,e,0,null,!1,0,"",JT);return e._reactRootContainer=r,e[Ii]=r.current,Ho(8===e.nodeType?e.parentNode:e),TT(),r}for(;i=e.lastChild;)e.removeChild(i);if("function"==typeof o){var E=o;o=function(){var e=zT(_);E.call(e)}}var _=FT(e,0,!1,null,0,!1,0,"",JT);return e._reactRootContainer=_,e[Ii]=_.current,Ho(8===e.nodeType?e.parentNode:e),TT((function(){YT(t,_,a,o)})),_})(a,t,e,i,o);return zT(r)}XT.prototype.render=QT.prototype.render=function(e){var t=this._internalRoot;if(null===t)throw Error(n(409));YT(e,t,null,null)},XT.prototype.unmount=QT.prototype.unmount=function(){var e=this._internalRoot;if(null!==e){this._internalRoot=null;var t=e.containerInfo;TT((function(){YT(null,e,null,null)})),t[Ii]=null}},XT.prototype.unstable_scheduleHydration=function(e){if(e){var t=Dt();e={blockedOn:null,target:e,priority:t};for(var a=0;a<yt.length&&0!==t&&t<yt[a].priority;a++);yt.splice(a,0,e),0===a&&Ut(e)}},Nt=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var a=st(t.pendingLanes);0!==a&&(ct(t,1|a),aT(t,qe()),0==(6&f_)&&(H_=qe()+500,Hi()))}break;case 13:TT((function(){var t=Pn(e,1);if(null!==t){var a=Z_();tT(t,e,1,a)}})),xT(e,1)}},mt=function(e){if(13===e.tag){var t=Pn(e,134217728);if(null!==t)tT(t,e,134217728,Z_());xT(e,134217728)}},Lt=function(e){if(13===e.tag){var t=eT(e),a=Pn(e,t);if(null!==a)tT(a,e,t,Z_());xT(e,t)}},Dt=function(){return Ot},pt=function(e,t){var a=Ot;try{return Ot=e,t()}finally{Ot=a}},Le=function(e,t,a){switch(t){case"input":if(J(e,a),t=a.name,"radio"===a.type&&null!=t){for(a=e;a.parentNode;)a=a.parentNode;for(a=a.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<a.length;t++){var o=a[t];if(o!==e&&o.form===e.form){var i=Ni(o);if(!i)throw Error(n(90));j(o),J(o,i)}}}break;case"textarea":ne(e,a);break;case"select":null!=(t=a.value)&&ae(e,!!a.multiple,t,!1)}},Be=_T,Pe=TT;var es={usingClientEntryPoint:!1,Events:[Oi,Ri,Ni,Ce,fe,_T]},ts={findFiberByHostInstance:ci,bundleType:0,version:"18.2.0",rendererPackageName:"react-dom"},as={bundleType:ts.bundleType,version:ts.version,rendererPackageName:ts.rendererPackageName,rendererConfig:ts.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:N.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return null===(e=Ke(e))?null:e.stateNode},findFiberByHostInstance:ts.findFiberByHostInstance||function(){return null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.2.0-next-9e3b772b8-20220608"};if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var os=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!os.isDisabled&&os.supportsFiber)try{ot=os.inject(as),it=os}catch(se){}}t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=es,t.createPortal=function(e,t){var a=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!$T(t))throw Error(n(200));return VT(e,t,null,a)},t.createRoot=function(e,t){if(!$T(e))throw Error(n(299));var a=!1,o="",i=jT;return null!=t&&(!0===t.unstable_strictMode&&(a=!0),void 0!==t.identifierPrefix&&(o=t.identifierPrefix),void 0!==t.onRecoverableError&&(i=t.onRecoverableError)),t=FT(e,1,!1,null,0,a,0,o,i),e[Ii]=t.current,Ho(8===e.nodeType?e.parentNode:e),new QT(t)},t.findDOMNode=function(e){if(null==e)return null;if(1===e.nodeType)return e;var t=e._reactInternals;if(void 0===t){if("function"==typeof e.render)throw Error(n(188));throw e=Object.keys(e).join(","),Error(n(268,e))}return e=null===(e=Ke(t))?null:e.stateNode},t.flushSync=function(e){return TT(e)},t.hydrate=function(e,t,a){if(!qT(t))throw Error(n(200));return ZT(null,e,t,!0,a)},t.hydrateRoot=function(e,t,a){if(!$T(e))throw Error(n(405));var o=null!=a&&a.hydratedSources||null,i=!1,r="",E=jT;if(null!=a&&(!0===a.unstable_strictMode&&(i=!0),void 0!==a.identifierPrefix&&(r=a.identifierPrefix),void 0!==a.onRecoverableError&&(E=a.onRecoverableError)),t=wT(t,null,e,1,null!=a?a:null,i,0,r,E),e[Ii]=t.current,Ho(e),o)for(e=0;e<o.length;e++)i=(i=(a=o[e])._getVersion)(a._source),null==t.mutableSourceEagerHydrationData?t.mutableSourceEagerHydrationData=[a,i]:t.mutableSourceEagerHydrationData.push(a,i);return new XT(t)},t.render=function(e,t,a){if(!qT(t))throw Error(n(200));return ZT(null,e,t,!1,a)},t.unmountComponentAtNode=function(e){if(!qT(e))throw Error(n(40));return!!e._reactRootContainer&&(TT((function(){ZT(null,null,e,!1,(function(){e._reactRootContainer=null,e[Ii]=null}))})),!0)},t.unstable_batchedUpdates=_T,t.unstable_renderSubtreeIntoContainer=function(e,t,a,o){if(!qT(a))throw Error(n(200));if(null==e||void 0===e._reactInternals)throw Error(n(38));return ZT(e,t,a,!1,o)},t.version="18.2.0-next-9e3b772b8-20220608"},20745:(e,t,a)=>{"use strict";var o=a(73935);t.createRoot=o.createRoot,t.hydrateRoot=o.hydrateRoot},73935:(e,t,a)=>{"use strict";!(function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}})(),e.exports=a(64448)},56413:(e,t,a)=>{"use strict";function o(){return o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(e[o]=a[o])}return e},o.apply(this,arguments)}a.d(t,{ZP:()=>ye});var i=a(67294),n=(a(45697),"data-focus-lock"),r="data-focus-lock-disabled";function E(e,t){return a=t||null,o=function(t){return e.forEach((function(e){return(function(e,t){return"function"==typeof e?e(t):e&&(e.current=t),e})(e,t)}))},(n=(0,i.useState)((function(){return{value:a,callback:o,facade:{get current(){return n.value},set current(e){var t=n.value;t!==e&&(n.value=e,n.callback(e,t))}}}}))[0]).callback=o,n.facade;var a,o,n}var _={width:"1px",height:"0px",padding:0,overflow:"hidden",position:"fixed",top:"1px",left:"1px"},T=function(e){var t=e.children;return i.createElement(i.Fragment,null,i.createElement("div",{key:"guard-first","data-focus-guard":!0,"data-focus-auto-guard":!0,style:_}),t,t&&i.createElement("div",{key:"guard-last","data-focus-guard":!0,"data-focus-auto-guard":!0,style:_}))};T.propTypes={},T.defaultProps={children:null};var s=function(){return s=Object.assign||function(e){for(var t,a=1,o=arguments.length;a<o;a++)for(var i in t=arguments[a])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},s.apply(this,arguments)};Object.create;Object.create;function S(e){return e}function l(e,t){void 0===t&&(t=S);var a=[],o=!1;return{read:function(){if(o)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return a.length?a[a.length-1]:e},useMedium:function(e){var i=t(e,o);return a.push(i),function(){a=a.filter((function(e){return e!==i}))}},assignSyncMedium:function(e){for(o=!0;a.length;){var t=a;a=[],t.forEach(e)}a={push:function(t){return e(t)},filter:function(){return a}}},assignMedium:function(e){o=!0;var t=[];if(a.length){var i=a;a=[],i.forEach(e),t=a}var n=function(){var a=t;t=[],a.forEach(e)},r=function(){return Promise.resolve().then(n)};r(),a={push:function(e){t.push(e),r()},filter:function(e){return t=t.filter(e),a}}}}}function I(e,t){return void 0===t&&(t=S),l(e,t)}var A=I({},(function(e){return{target:e.target,currentTarget:e.currentTarget}})),u=I(),d=I(),c=(function(e){void 0===e&&(e={});var t=l(null);return t.options=s({async:!0,ssr:!1},e),t})({async:!0}),O=[],R=i.forwardRef((function(e,t){var a,T=i.useState(),s=T[0],S=T[1],l=i.useRef(),I=i.useRef(!1),d=i.useRef(null),R=e.children,N=e.disabled,m=e.noFocusGuards,L=e.persistentFocus,D=e.crossFrame,p=e.autoFocus,h=(e.allowTextSelection,e.group),C=e.className,f=e.whiteList,B=e.hasPositiveIndices,P=e.shards,g=void 0===P?O:P,v=e.as,y=void 0===v?"div":v,W=e.lockProps,M=void 0===W?{}:W,b=e.sideCar,U=e.returnFocus,G=e.focusOptions,k=e.onActivation,F=e.onDeactivation,V=i.useState({})[0],H=i.useCallback((function(){d.current=d.current||document&&document.activeElement,l.current&&k&&k(l.current),I.current=!0}),[k]),w=i.useCallback((function(){I.current=!1,F&&F(l.current)}),[F]);(0,i.useEffect)((function(){N||(d.current=null)}),[]);var Y=i.useCallback((function(e){var t=d.current;if(t&&t.focus){var a="function"==typeof U?U(t):U;if(a){var o="object"==typeof a?a:void 0;d.current=null,e?Promise.resolve().then((function(){return t.focus(o)})):t.focus(o)}}}),[U]),z=i.useCallback((function(e){I.current&&A.useMedium(e)}),[]),K=u.useMedium,x=i.useCallback((function(e){l.current!==e&&(l.current=e,S(e))}),[]);var j=o(((a={})[r]=N&&"disabled",a[n]=h,a),M),Q=!0!==m,X=Q&&"tail"!==m,$=E([t,x]);return i.createElement(i.Fragment,null,Q&&[i.createElement("div",{key:"guard-first","data-focus-guard":!0,tabIndex:N?-1:0,style:_}),B?i.createElement("div",{key:"guard-nearest","data-focus-guard":!0,tabIndex:N?-1:1,style:_}):null],!N&&i.createElement(b,{id:V,sideCar:c,observed:s,disabled:N,persistentFocus:L,crossFrame:D,autoFocus:p,whiteList:f,shards:g,onActivation:H,onDeactivation:w,returnFocus:Y,focusOptions:G}),i.createElement(y,o({ref:$},j,{className:C,onBlur:K,onFocus:z}),R),X&&i.createElement("div",{"data-focus-guard":!0,tabIndex:N?-1:0,style:_}))}));R.propTypes={},R.defaultProps={children:void 0,disabled:!1,returnFocus:!1,focusOptions:void 0,noFocusGuards:!1,autoFocus:!0,persistentFocus:!1,crossFrame:!0,hasPositiveIndices:void 0,allowTextSelection:void 0,group:void 0,className:void 0,whiteList:void 0,shards:void 0,as:"div",lockProps:{},onActivation:void 0,onDeactivation:void 0};const N=R;function m(e,t){return m=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},m(e,t)}const L=function(e,t){return function(a){var o,n=[];function r(){o=e(n.map((function(e){return e.props}))),t(o)}var E,_,T,s=(function(e){var t,E;function _(){return e.apply(this,arguments)||this}E=e,(t=_).prototype=Object.create(E.prototype),t.prototype.constructor=t,m(t,E),_.peek=function(){return o};var T=_.prototype;return T.componentDidMount=function(){n.push(this),r()},T.componentDidUpdate=function(){r()},T.componentWillUnmount=function(){var e=n.indexOf(this);n.splice(e,1),r()},T.render=function(){return i.createElement(a,this.props)},_})(i.PureComponent);return E=s,_="displayName",T="SideEffect("+(function(e){return e.displayName||e.name||"Component"})(a)+")",_ in E?Object.defineProperty(E,_,{value:T,enumerable:!0,configurable:!0,writable:!0}):E[_]=T,s}};var D=function(e){return e.parentNode&&e.parentNode.nodeType===Node.DOCUMENT_FRAGMENT_NODE?e.parentNode.host:e.parentNode},p=function(e){return e===document||e&&e.nodeType===Node.DOCUMENT_NODE},h=function(e,t){return!e||p(e)||!(function(e){if(e.nodeType!==Node.ELEMENT_NODE)return!1;var t=window.getComputedStyle(e,null);return!(!t||!t.getPropertyValue||"none"!==t.getPropertyValue("display")&&"hidden"!==t.getPropertyValue("visibility"))})(e)&&t(D(e))},C=function(e,t){var a=e.get(t);if(void 0!==a)return a;var o=h(t,C.bind(void 0,e));return e.set(t,o),o},f=function(e,t){var a=e.get(t);if(void 0!==a)return a;var o=(function(e,t){return!(e&&!p(e))||!!v(e)&&t(D(e))})(t,f.bind(void 0,e));return e.set(t,o),o},B=function(e){return e.dataset},P=function(e){return"INPUT"===e.tagName},g=function(e){return P(e)&&"radio"===e.type},v=function(e){var t=e.getAttribute("data-no-autofocus");return![!0,"true",""].includes(t)},y=function(e){var t;return Boolean(e&&(null===(t=B(e))||void 0===t?void 0:t.focusGuard))},W=function(e){return!y(e)},M=function(e){return Boolean(e)},b=function(e,t){return g(e)&&e.name?(function(e,t){return t.filter(g).filter((function(t){return t.name===e.name})).filter((function(e){return e.checked}))[0]||e})(e,t):e},U=function(e){return e[0]&&e.length>1?b(e[0],e):e[0]},G=function(e,t){return e.length>1?e.indexOf(b(e[t],e)):t},k="NEW_FOCUS",F=function(e,t,a,o){var i=e.length,n=e[0],r=e[i-1],E=y(a);if(!(a&&e.indexOf(a)>=0)){var _,T,s=void 0!==a?t.indexOf(a):-1,S=o?t.indexOf(o):s,l=o?e.indexOf(o):-1,I=s-S,A=t.indexOf(n),u=t.indexOf(r),d=(_=t,T=new Set,_.forEach((function(e){return T.add(b(e,_))})),_.filter((function(e){return T.has(e)}))),c=(void 0!==a?d.indexOf(a):-1)-(o?d.indexOf(o):s),O=G(e,0),R=G(e,i-1);return-1===s||-1===l?k:!I&&l>=0?l:s<=A&&E&&Math.abs(I)>1?R:s>=u&&E&&Math.abs(I)>1?O:I&&Math.abs(c)>1?l:s<=A?R:s>u?O:I?Math.abs(I)>1?l:(i+l+I)%i:void 0}},V=function(e){for(var t=Array(e.length),a=0;a<e.length;++a)t[a]=e[a];return t},H=function(e){return Array.isArray(e)?e:[e]},w=function(e,t){var a=e.tabIndex-t.tabIndex,o=e.index-t.index;if(a){if(!e.tabIndex)return 1;if(!t.tabIndex)return-1}return a||o},Y=function(e,t,a){return V(e).map((function(e,t){return{node:e,index:t,tabIndex:a&&-1===e.tabIndex?(e.dataset||{}).focusGuard?0:-1:e.tabIndex}})).filter((function(e){return!t||e.tabIndex>=0})).sort(w)},z=["button:enabled","select:enabled","textarea:enabled","input:enabled","a[href]","area[href]","summary","iframe","object","embed","audio[controls]","video[controls]","[tabindex]","[contenteditable]","[autofocus]"].join(","),K="".concat(z,", [data-focus-guard]"),x=function(e,t){var a;return V((null===(a=e.shadowRoot)||void 0===a?void 0:a.children)||e.children).reduce((function(e,a){return e.concat(a.matches(t?K:z)?[a]:[],x(a))}),[])},j=function(e,t){return e.reduce((function(e,a){return e.concat(x(a,t),a.parentNode?V(a.parentNode.querySelectorAll(z)).filter((function(e){return e===a})):[])}),[])},Q=function(e,t){return V(e).filter((function(e){return C(t,e)})).filter((function(e){return(function(e){return!((P(e)||(function(e){return"BUTTON"===e.tagName})(e))&&("hidden"===e.type||e.disabled))})(e)}))},X=function(e,t){return void 0===t&&(t=new Map),V(e).filter((function(e){return f(t,e)}))},$=function(e,t,a){return Y(Q(j(e,a),t),!0,a)},q=function(e,t){return Y(Q(j(e),t),!1)},J=function(e,t){return Q((function(e){var t=e.querySelectorAll("[".concat("data-autofocus-inside","]"));return V(t).map((function(e){return j([e])})).reduce((function(e,t){return e.concat(t)}),[])})(e),t)},Z=function(e,t){return(e.shadowRoot?Z(e.shadowRoot,t):Object.getPrototypeOf(e).contains.call(e,t))||V(e.children).some((function(e){return Z(e,t)}))},ee=function(e){return e.parentNode?ee(e.parentNode):e},te=function(e){return H(e).filter(Boolean).reduce((function(e,t){var a=t.getAttribute(n);return e.push.apply(e,a?(function(e){for(var t=new Set,a=e.length,o=0;o<a;o+=1)for(var i=o+1;i<a;i+=1){var n=e[o].compareDocumentPosition(e[i]);(n&Node.DOCUMENT_POSITION_CONTAINED_BY)>0&&t.add(i),(n&Node.DOCUMENT_POSITION_CONTAINS)>0&&t.add(o)}return e.filter((function(e,a){return!t.has(a)}))})(V(ee(t).querySelectorAll("[".concat(n,'="').concat(a,'"]:not([').concat(r,'="disabled"])')))):[t]),e}),[])},ae=function(e){return e.activeElement?e.activeElement.shadowRoot?ae(e.activeElement.shadowRoot):e.activeElement:void 0},oe=function(){return document.activeElement?document.activeElement.shadowRoot?ae(document.activeElement.shadowRoot):document.activeElement:void 0},ie=function(e,t){return void 0===t&&(t=[]),t.push(e),e.parentNode&&ie(e.parentNode.host||e.parentNode,t),t},ne=function(e,t){for(var a=ie(e),o=ie(t),i=0;i<a.length;i+=1){var n=a[i];if(o.indexOf(n)>=0)return n}return!1},re=function(e,t,a){var o=H(e),i=H(t),n=o[0],r=!1;return i.filter(Boolean).forEach((function(e){r=ne(r||e,e)||r,a.filter(Boolean).forEach((function(e){var t=ne(n,e);t&&(r=!r||Z(t,r)?t:ne(t,r))}))})),r},Ee=function(e,t){var a=document&&oe(),o=te(e).filter(W),i=re(a||e,e,o),n=new Map,r=q(o,n),E=$(o,n).filter((function(e){var t=e.node;return W(t)}));if(E[0]||(E=r)[0]){var _,T,s,S,l=q([i],n).map((function(e){return e.node})),I=(_=l,T=E,s=new Map,T.forEach((function(e){return s.set(e.node,e)})),_.map((function(e){return s.get(e)})).filter(M)),A=I.map((function(e){return e.node})),u=F(A,l,a,t);if(u===k){var d=X(r.map((function(e){return e.node}))).filter((S=(function(e,t){return e.reduce((function(e,a){return e.concat(J(a,t))}),[])})(o,n),function(e){var t;return e.autofocus||!!(null===(t=B(e))||void 0===t?void 0:t.autofocus)||S.indexOf(e)>=0}));return{node:d&&d.length?U(d):U(X(A))}}return void 0===u?u:I[u]}},_e=0,Te=!1;const se=function(e,t,a){void 0===a&&(a={});var o,i,n=Ee(e,t);if(!Te&&n){if(_e>2)return console.error("FocusLock: focus-fighting detected. Only one focus management system could be active. See https://github.com/theKashey/focus-lock/#focus-fighting"),Te=!0,void setTimeout((function(){Te=!1}),1);_e++,o=n.node,i=a.focusOptions,"focus"in o&&o.focus(i),"contentWindow"in o&&o.contentWindow&&o.contentWindow.focus(),_e--}};var Se=function(e){return Boolean(V(e.querySelectorAll("iframe")).some((function(e){return e===document.activeElement})))},le=function(e){var t=document&&oe();return!(!t||t.dataset&&t.dataset.focusGuard)&&te(e).some((function(e){return Z(e,t)||Se(e)}))},Ie=function(e){var t=te(e).filter(W),a=re(e,e,t),o=new Map,i=$([a],o,!0),n=$(t,o).filter((function(e){var t=e.node;return W(t)})).map((function(e){return e.node}));return i.map((function(e){var t=e.node;return{node:t,index:e.index,lockItem:n.indexOf(t)>=0,guard:y(t)}}))};function Ae(e){var t=window.setImmediate;void 0!==t?t(e):setTimeout(e,1)}var ue=function(){return document&&document.activeElement===document.body||!!(e=document&&oe())&&V(document.querySelectorAll("[".concat("data-no-focus-lock","]"))).some((function(t){return Z(t,e)}));var e},de=null,ce=null,Oe=null,Re=!1,Ne=function(){return!0};function me(e,t,a,o){var i=null,n=e;do{var r=o[n];if(r.guard)r.node.dataset.focusAutoGuard&&(i=r);else{if(!r.lockItem)break;if(n!==e)return;i=null}}while((n+=a)!==t);i&&(i.node.tabIndex=0)}var Le=function(e){return e&&"current"in e?e.current:e},De=function e(t,a,o){return a&&(a.host===t&&(!a.activeElement||o.contains(a.activeElement))||a.parentNode&&e(t,a.parentNode,o))},pe=function(){var e,t=!1;if(de){var a=de,o=a.observed,i=a.persistentFocus,n=a.autoFocus,r=a.shards,E=a.crossFrame,_=a.focusOptions,T=o||Oe&&Oe.portaledElement,s=document&&document.activeElement;if(T){var S=[T].concat(r.map(Le).filter(Boolean));if(s&&!(function(e){return(de.whiteList||Ne)(e)})(s)||(i||(E?Boolean(Re):"meanwhile"===Re)||!ue()||!ce&&n)&&(T&&!(le(S)||s&&(function(e,t){return t.some((function(t){return De(e,t,t)}))})(s,S)||(e=s,Oe&&Oe.portaledElement===e))&&(document&&!ce&&s&&!n?(s.blur&&s.blur(),document.body.focus()):(t=se(S,ce,{focusOptions:_}),Oe={})),Re=!1,ce=document&&document.activeElement),document){var l=document&&document.activeElement,I=Ie(S),A=I.map((function(e){return e.node})).indexOf(l);A>-1&&(I.filter((function(e){var t=e.guard,a=e.node;return t&&a.dataset.focusAutoGuard})).forEach((function(e){return e.node.removeAttribute("tabIndex")})),me(A,I.length,1,I),me(A,-1,-1,I))}}}return t},he=function(e){pe()&&e&&(e.stopPropagation(),e.preventDefault())},Ce=function(){return Ae(pe)},fe=function(e){var t=e.target,a=e.currentTarget;a.contains(t)||(Oe={observerNode:a,portaledElement:t})},Be=function(){Re="just",setTimeout((function(){Re="meanwhile"}),0)};A.assignSyncMedium(fe),u.assignMedium(Ce),d.assignMedium((function(e){return e({moveFocusInside:se,focusInside:le})}));const Pe=L((function(e){return e.filter((function(e){return!e.disabled}))}),(function(e){var t=e.slice(-1)[0];t&&!de&&(document.addEventListener("focusin",he),document.addEventListener("focusout",Ce),window.addEventListener("blur",Be));var a=de,o=a&&t&&t.id===a.id;de=t,a&&!o&&(a.onDeactivation(),e.filter((function(e){return e.id===a.id})).length||a.returnFocus(!t)),t?(ce=null,o&&a.observed===t.observed||t.onActivation(),pe(),Ae(pe)):(document.removeEventListener("focusin",he),document.removeEventListener("focusout",Ce),window.removeEventListener("blur",Be),ce=null)}))((function(){return null}));var ge=i.forwardRef((function(e,t){return i.createElement(N,o({sideCar:Pe,ref:t},e))})),ve=N.propTypes||{};ve.sideCar,(function(e,t){if(null==e)return{};var a,o,i={},n=Object.keys(e);for(o=0;o<n.length;o++)a=n[o],t.indexOf(a)>=0||(i[a]=e[a])})(ve,["sideCar"]);ge.propTypes={};const ye=ge},52832:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.I18nextProvider=function(e){var t=e.i18n,a=e.defaultNS,n=e.children,r=(0,o.useMemo)((function(){return{i18n:t,defaultNS:a}}),[t,a]);return(0,o.createElement)(i.I18nContext.Provider,{value:r},n)};var o=a(67294),i=a(59336)},69779:(e,t,a)=>{"use strict";var o=a(95318);Object.defineProperty(t,"__esModule",{value:!0}),t.Trans=function(e){var t=e.children,a=e.count,o=e.parent,S=e.i18nKey,l=e.context,I=e.tOptions,A=void 0===I?{}:I,u=e.values,d=e.defaults,c=e.components,O=e.ns,R=e.i18n,N=e.t,m=e.shouldUnescape,L=(0,n.default)(e,T),D=(0,r.useContext)(_.I18nContext)||{},p=D.i18n,h=D.defaultNS,C=R||p||(0,_.getI18n)(),f=N||C.t.bind(C)||function(e){return e};return(0,E.Trans)((function(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?s(Object(a),!0).forEach((function(t){(0,i.default)(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):s(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e})({children:t,count:a,parent:o,i18nKey:S,context:l,tOptions:A,values:u,defaults:d,components:c,ns:O||f.ns||h||C.options&&C.options.defaultNS,i18n:C,t:N,shouldUnescape:m},L))},Object.defineProperty(t,"nodesToString",{enumerable:!0,get:function(){return E.nodesToString}});var i=o(a(59713)),n=o(a(6479)),r=a(67294),E=a(57346),_=a(59336),T=["children","count","parent","i18nKey","context","tOptions","values","defaults","components","ns","i18n","t","shouldUnescape"];function s(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}},57346:(e,t,a)=>{"use strict";var o=a(95318);Object.defineProperty(t,"__esModule",{value:!0}),t.nodesToString=R,t.Trans=function(e){var t=e.children,a=e.count,o=e.parent,r=e.i18nKey,l=e.context,A=e.tOptions,N=void 0===A?{}:A,m=e.values,L=e.defaults,D=e.components,p=e.ns,h=e.i18n,C=e.t,f=e.shouldUnescape,B=(0,i.default)(e,I),P=h||(0,S.getI18n)();if(!P)return(0,T.warnOnce)("You will need to pass in an i18next instance by using i18nextReactModule"),t;var g=C||P.t.bind(P)||function(e){return e};l&&(N.context=l);var v=u(u({},(0,s.getDefaults)()),P.options&&P.options.react),y=p||g.ns||P.options&&P.options.defaultNS;y="string"==typeof y?[y]:y||["translation"];var W=L||R(t,v)||v.transEmptyNodeValue||r,M=v.hashTransKey,b=r||(M?M(W):W),U=m?N.interpolation:{interpolation:u(u({},N.interpolation),{},{prefix:"#$?",suffix:"?$#"})},G=u(u(u(u({},N),{},{count:a},m),U),{},{defaultValue:W,ns:y}),k=b?g(b,G):W,F=(function(e,t,a,o,i,r){if(""===t)return[];var T=o.transKeepBasicHtmlNodesFor||[],s=t&&new RegExp(T.join("|")).test(t);if(!e&&!s)return[t];var S={};function l(e){O(e).forEach((function(e){"string"!=typeof e&&(d(e)?l(c(e)):"object"!==(0,n.default)(e)||(0,E.isValidElement)(e)||Object.assign(S,e))}))}l(e);var I=_.default.parse("<0>".concat(t,"</0>")),A=u(u({},S),i);function R(e,t,a){var o=c(e),i=m(o,t.children,a);return(function(e){return"[object Array]"===Object.prototype.toString.call(e)&&e.every((function(e){return(0,E.isValidElement)(e)}))})(o)&&0===i.length?o:i}function N(e,t,a,o,i){e.dummy&&(e.children=t),a.push((0,E.cloneElement)(e,u(u({},e.props),{},{key:o}),i?void 0:t))}function m(t,i,_){var S=O(t);return O(i).reduce((function(t,i,l){var I,c,O,L=i.children&&i.children[0]&&i.children[0].content&&a.services.interpolator.interpolate(i.children[0].content,A,a.language);if("tag"===i.type){var D=S[parseInt(i.name,10)];!D&&1===_.length&&_[0][i.name]&&(D=_[0][i.name]),D||(D={});var p=0!==Object.keys(i.attrs).length?(I={props:i.attrs},(O=u({},c=D)).props=Object.assign(I.props,c.props),O):D,h=(0,E.isValidElement)(p),C=h&&d(i,!0)&&!i.voidElement,f=s&&"object"===(0,n.default)(p)&&p.dummy&&!h,B="object"===(0,n.default)(e)&&null!==e&&Object.hasOwnProperty.call(e,i.name);if("string"==typeof p){var P=a.services.interpolator.interpolate(p,A,a.language);t.push(P)}else if(d(p)||C){N(p,R(p,i,_),t,l)}else if(f){var g=m(S,i.children,_);t.push((0,E.cloneElement)(p,u(u({},p.props),{},{key:l}),g))}else if(Number.isNaN(parseFloat(i.name))){if(B)N(p,R(p,i,_),t,l,i.voidElement);else if(o.transSupportBasicHtmlNodes&&T.indexOf(i.name)>-1)if(i.voidElement)t.push((0,E.createElement)(i.name,{key:"".concat(i.name,"-").concat(l)}));else{var v=m(S,i.children,_);t.push((0,E.createElement)(i.name,{key:"".concat(i.name,"-").concat(l)},v))}else if(i.voidElement)t.push("<".concat(i.name," />"));else{var y=m(S,i.children,_);t.push("<".concat(i.name,">").concat(y,"</").concat(i.name,">"))}}else if("object"!==(0,n.default)(p)||h)1===i.children.length&&L?t.push((0,E.cloneElement)(p,u(u({},p.props),{},{key:l}),L)):t.push((0,E.cloneElement)(p,u(u({},p.props),{},{key:l})));else{var W=i.children[0]?L:null;W&&t.push(W)}}else if("text"===i.type){var M=o.transWrapTextNodes,b=r?o.unescape(a.services.interpolator.interpolate(i.content,A,a.language)):a.services.interpolator.interpolate(i.content,A,a.language);M?t.push((0,E.createElement)(M,{key:"".concat(i.name,"-").concat(l)},b)):t.push(b)}return t}),[])}return c(m([{dummy:!0,children:e||[]}],I,O(e||[]))[0])})(D||t,k,P,v,G,f),V=void 0!==o?o:v.defaultTransParent;return V?(0,E.createElement)(V,B,F):F};var i=o(a(6479)),n=o(a(50008)),r=o(a(59713)),E=a(67294),_=o(a(81613)),T=a(17873),s=a(58255),S=a(46425),l=["format"],I=["children","count","parent","i18nKey","context","tOptions","values","defaults","components","ns","i18n","t","shouldUnescape"];function A(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function u(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?A(Object(a),!0).forEach((function(t){(0,r.default)(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):A(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function d(e,t){if(!e)return!1;var a=e.props?e.props.children:e.children;return t?a.length>0:!!a}function c(e){return e?e.props?e.props.children:e.children:[]}function O(e){return Array.isArray(e)?e:[e]}function R(e,t){if(!e)return"";var a="",o=O(e),r=t.transSupportBasicHtmlNodes&&t.transKeepBasicHtmlNodesFor?t.transKeepBasicHtmlNodesFor:[];return o.forEach((function(e,o){if("string"==typeof e)a+="".concat(e);else if((0,E.isValidElement)(e)){var _=Object.keys(e.props).length,s=r.indexOf(e.type)>-1,S=e.props.children;if(!S&&s&&0===_)a+="<".concat(e.type,"/>");else if(S||s&&0===_)if(e.props.i18nIsDynamicList)a+="<".concat(o,"></").concat(o,">");else if(s&&1===_&&"string"==typeof S)a+="<".concat(e.type,">").concat(S,"</").concat(e.type,">");else{var I=R(S,t);a+="<".concat(o,">").concat(I,"</").concat(o,">")}else a+="<".concat(o,"></").concat(o,">")}else if(null===e)(0,T.warn)("Trans: the passed in value is invalid - seems you passed in a null child.");else if("object"===(0,n.default)(e)){var A=e.format,u=(0,i.default)(e,l),d=Object.keys(u);if(1===d.length){var c=A?"".concat(d[0],", ").concat(A):d[0];a+="{{".concat(c,"}}")}else(0,T.warn)("react-i18next: the passed in object contained more than one variable - the object should look like {{ value, format }} where format is optional.",e)}else(0,T.warn)("Trans: the passed in value is invalid - seems you passed in a variable like {number} - please pass in variables for interpolation as full objects like {{number}}.",e)})),a}},20634:(e,t,a)=>{"use strict";var o=a(95318);Object.defineProperty(t,"__esModule",{value:!0}),t.Translation=function(e){var t=e.ns,a=e.children,o=(0,n.default)(e,E),_=(0,r.useTranslation)(t,o),T=(0,i.default)(_,3),s=T[0],S=T[1],l=T[2];return a(s,{i18n:S,lng:S.language},l)};var i=o(a(63038)),n=o(a(6479)),r=a(32607),E=["ns","children"]},59336:(e,t,a)=>{"use strict";var o=a(95318);Object.defineProperty(t,"__esModule",{value:!0}),t.composeInitialProps=function(e){return function(t){return new Promise((function(a){var o=u();e.getInitialProps?e.getInitialProps(t).then((function(e){a(l(l({},e),o))})):a(o)}))}},t.getInitialProps=u,Object.defineProperty(t,"getDefaults",{enumerable:!0,get:function(){return _.getDefaults}}),Object.defineProperty(t,"setDefaults",{enumerable:!0,get:function(){return _.setDefaults}}),Object.defineProperty(t,"getI18n",{enumerable:!0,get:function(){return T.getI18n}}),Object.defineProperty(t,"setI18n",{enumerable:!0,get:function(){return T.setI18n}}),Object.defineProperty(t,"initReactI18next",{enumerable:!0,get:function(){return s.initReactI18next}}),t.ReportNamespaces=t.I18nContext=void 0;var i=o(a(59713)),n=o(a(34575)),r=o(a(93913)),E=a(67294),_=a(58255),T=a(46425),s=a(78564);function S(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function l(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?S(Object(a),!0).forEach((function(t){(0,i.default)(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):S(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}var I=(0,E.createContext)();t.I18nContext=I;var A=(function(){function e(){(0,n.default)(this,e),this.usedNamespaces={}}return(0,r.default)(e,[{key:"addUsedNamespaces",value:function(e){var t=this;e.forEach((function(e){t.usedNamespaces[e]||(t.usedNamespaces[e]=!0)}))}},{key:"getUsedNamespaces",value:function(){return Object.keys(this.usedNamespaces)}}]),e})();function u(){var e=(0,T.getI18n)(),t=e.reportNamespaces?e.reportNamespaces.getUsedNamespaces():[],a={},o={};return e.languages.forEach((function(a){o[a]={},t.forEach((function(t){o[a][t]=e.getResourceBundle(a,t)||{}}))})),a.initialI18nStore=o,a.initialLanguage=e.language,a}t.ReportNamespaces=A},58255:(e,t,a)=>{"use strict";var o=a(95318);Object.defineProperty(t,"__esModule",{value:!0}),t.setDefaults=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};E=r(r({},E),e)},t.getDefaults=function(){return E};var i=o(a(59713));function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function r(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?n(Object(a),!0).forEach((function(t){(0,i.default)(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):n(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}var E={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:a(40832).unescape}},46425:(e,t)=>{"use strict";var a;Object.defineProperty(t,"__esModule",{value:!0}),t.setI18n=function(e){a=e},t.getI18n=function(){return a}},81468:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"Trans",{enumerable:!0,get:function(){return o.Trans}}),Object.defineProperty(t,"TransWithoutContext",{enumerable:!0,get:function(){return i.Trans}}),Object.defineProperty(t,"useTranslation",{enumerable:!0,get:function(){return n.useTranslation}}),Object.defineProperty(t,"withTranslation",{enumerable:!0,get:function(){return r.withTranslation}}),Object.defineProperty(t,"Translation",{enumerable:!0,get:function(){return E.Translation}}),Object.defineProperty(t,"I18nextProvider",{enumerable:!0,get:function(){return _.I18nextProvider}}),Object.defineProperty(t,"withSSR",{enumerable:!0,get:function(){return T.withSSR}}),Object.defineProperty(t,"useSSR",{enumerable:!0,get:function(){return s.useSSR}}),Object.defineProperty(t,"I18nContext",{enumerable:!0,get:function(){return S.I18nContext}}),Object.defineProperty(t,"initReactI18next",{enumerable:!0,get:function(){return S.initReactI18next}}),Object.defineProperty(t,"setDefaults",{enumerable:!0,get:function(){return S.setDefaults}}),Object.defineProperty(t,"getDefaults",{enumerable:!0,get:function(){return S.getDefaults}}),Object.defineProperty(t,"setI18n",{enumerable:!0,get:function(){return S.setI18n}}),Object.defineProperty(t,"getI18n",{enumerable:!0,get:function(){return S.getI18n}}),Object.defineProperty(t,"composeInitialProps",{enumerable:!0,get:function(){return S.composeInitialProps}}),Object.defineProperty(t,"getInitialProps",{enumerable:!0,get:function(){return S.getInitialProps}}),t.selectOrdinal=t.plural=t.select=t.number=t.time=t.date=void 0;var o=a(69779),i=a(57346),n=a(32607),r=a(28481),E=a(20634),_=a(52832),T=a(40469),s=a(87377),S=a(59336);t.date=function(){return""};t.time=function(){return""};t.number=function(){return""};t.select=function(){return""};t.plural=function(){return""};t.selectOrdinal=function(){return""}},78564:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.initReactI18next=void 0;var o=a(58255),i=a(46425),n={type:"3rdParty",init:function(e){(0,o.setDefaults)(e.options.react),(0,i.setI18n)(e)}};t.initReactI18next=n},40832:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.unescape=void 0;var a=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,o={"&amp;":"&","&#38;":"&","&lt;":"<","&#60;":"<","&gt;":">","&#62;":">","&apos;":"'","&#39;":"'","&quot;":'"',"&#34;":'"',"&nbsp;":" ","&#160;":" ","&copy;":"©","&#169;":"©","&reg;":"®","&#174;":"®","&hellip;":"…","&#8230;":"…","&#x2F;":"/","&#47;":"/"},i=function(e){return o[e]};t.unescape=function(e){return e.replace(a,i)}},87377:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.useSSR=function(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=a.i18n,r=(0,o.useContext)(i.I18nContext)||{},E=r.i18n,_=n||E||(0,i.getI18n)();if(_.options&&_.options.isClone)return;e&&!_.initializedStoreOnce&&(_.services.resourceStore.data=e,_.options.ns=Object.values(e).reduce((function(e,t){return Object.keys(t).forEach((function(t){e.indexOf(t)<0&&e.push(t)})),e}),_.options.ns),_.initializedStoreOnce=!0,_.isInitialized=!0);t&&!_.initializedLanguageOnce&&(_.changeLanguage(t),_.initializedLanguageOnce=!0)};var o=a(67294),i=a(59336)},32607:(e,t,a)=>{"use strict";var o=a(95318);Object.defineProperty(t,"__esModule",{value:!0}),t.useTranslation=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=t.i18n,o=(0,r.useContext)(E.I18nContext)||{},n=o.i18n,T=o.defaultNS,l=a||n||(0,E.getI18n)();l&&!l.reportNamespaces&&(l.reportNamespaces=new E.ReportNamespaces);if(!l){(0,_.warnOnce)("You will need to pass in an i18next instance by using initReactI18next");var I=function(e){return Array.isArray(e)?e[e.length-1]:e},A=[I,{},!1];return A.t=I,A.i18n={},A.ready=!1,A}l.options.react&&void 0!==l.options.react.wait&&(0,_.warnOnce)("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");var u=s(s(s({},(0,E.getDefaults)()),l.options.react),t),d=u.useSuspense,c=u.keyPrefix,O=e||T||l.options&&l.options.defaultNS;O="string"==typeof O?[O]:O||["translation"],l.reportNamespaces.addUsedNamespaces&&l.reportNamespaces.addUsedNamespaces(O);var R=(l.isInitialized||l.initializedStoreOnce)&&O.every((function(e){return(0,_.hasLoadedNamespace)(e,l,u)}));function N(){return l.getFixedT(null,"fallback"===u.nsMode?O:O[0],c)}var m=(0,r.useState)(N),L=(0,i.default)(m,2),D=L[0],p=L[1],h=O.join(),C=S(h),f=(0,r.useRef)(!0);(0,r.useEffect)((function(){var e=u.bindI18n,t=u.bindI18nStore;function a(){f.current&&p(N)}return f.current=!0,R||d||(0,_.loadNamespaces)(l,O,(function(){f.current&&p(N)})),R&&C&&C!==h&&f.current&&p(N),e&&l&&l.on(e,a),t&&l&&l.store.on(t,a),function(){f.current=!1,e&&l&&e.split(" ").forEach((function(e){return l.off(e,a)})),t&&l&&t.split(" ").forEach((function(e){return l.store.off(e,a)}))}}),[l,h]);var B=(0,r.useRef)(!0);(0,r.useEffect)((function(){f.current&&!B.current&&p(N),B.current=!1}),[l,c]);var P=[D,l,R];if(P.t=D,P.i18n=l,P.ready=R,R)return P;if(!R&&!d)return P;throw new Promise((function(e){(0,_.loadNamespaces)(l,O,(function(){e()}))}))};var i=o(a(63038)),n=o(a(59713)),r=a(67294),E=a(59336),_=a(17873);function T(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function s(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?T(Object(a),!0).forEach((function(t){(0,n.default)(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):T(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}var S=function(e,t){var a=(0,r.useRef)();return(0,r.useEffect)((function(){a.current=t?a.current:e}),[e,t]),a.current}},17873:(e,t)=>{"use strict";function a(){if(console&&console.warn){for(var e,t=arguments.length,a=new Array(t),o=0;o<t;o++)a[o]=arguments[o];"string"==typeof a[0]&&(a[0]="react-i18next:: ".concat(a[0])),(e=console).warn.apply(e,a)}}Object.defineProperty(t,"__esModule",{value:!0}),t.warn=a,t.warnOnce=i,t.loadNamespaces=function(e,t,a){e.loadNamespaces(t,(function(){if(e.isInitialized)a();else{e.on("initialized",(function t(){setTimeout((function(){e.off("initialized",t)}),0),a()}))}}))},t.hasLoadedNamespace=function(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!t.languages||!t.languages.length)return i("i18n.languages were undefined or empty",t.languages),!0;var o=void 0!==t.options.ignoreJSONStructure;if(!o)return n(e,t,a);return t.hasLoadedNamespace(e,{precheck:function(t,o){if(a.bindI18n&&a.bindI18n.indexOf("languageChanging")>-1&&t.services.backendConnector.backend&&t.isLanguageChangingTo&&!o(t.isLanguageChangingTo,e))return!1}})},t.getDisplayName=function(e){return e.displayName||e.name||("string"==typeof e&&e.length>0?e:"Unknown")};var o={};function i(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];"string"==typeof t[0]&&o[t[0]]||("string"==typeof t[0]&&(o[t[0]]=new Date),a.apply(void 0,t))}function n(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=t.languages[0],i=!!t.options&&t.options.fallbackLng,n=t.languages[t.languages.length-1];if("cimode"===o.toLowerCase())return!0;var r=function(e,a){var o=t.services.backendConnector.state["".concat(e,"|").concat(a)];return-1===o||2===o};return!(a.bindI18n&&a.bindI18n.indexOf("languageChanging")>-1&&t.services.backendConnector.backend&&t.isLanguageChangingTo&&!r(t.isLanguageChangingTo,e))&&(!!t.hasResourceBundle(o,e)||(!(t.services.backendConnector.backend&&(!t.options.resources||t.options.partialBundledLanguages))||!(!r(o,e)||i&&!r(n,e))))}},40469:(e,t,a)=>{"use strict";var o=a(95318);Object.defineProperty(t,"__esModule",{value:!0}),t.withSSR=function(){return function(e){function t(t){var a=t.initialI18nStore,o=t.initialLanguage,_=(0,n.default)(t,s);return(0,E.useSSR)(a,o),(0,r.createElement)(e,(function(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?S(Object(a),!0).forEach((function(t){(0,i.default)(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):S(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e})({},_))}return t.getInitialProps=(0,_.composeInitialProps)(e),t.displayName="withI18nextSSR(".concat((0,T.getDisplayName)(e),")"),t.WrappedComponent=e,t}};var i=o(a(59713)),n=o(a(6479)),r=a(67294),E=a(87377),_=a(59336),T=a(17873),s=["initialI18nStore","initialLanguage"];function S(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}},28481:(e,t,a)=>{"use strict";var o=a(95318);Object.defineProperty(t,"__esModule",{value:!0}),t.withTranslation=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function(a){function o(o){var i=o.forwardedRef,T=(0,r.default)(o,s),S=(0,_.useTranslation)(e,l(l({},T),{},{keyPrefix:t.keyPrefix})),I=(0,n.default)(S,3),A=I[0],u=I[1],d=I[2],c=l(l({},T),{},{t:A,i18n:u,tReady:d});return t.withRef&&i?c.ref=i:!t.withRef&&i&&(c.forwardedRef=i),(0,E.createElement)(a,c)}o.displayName="withI18nextTranslation(".concat((0,T.getDisplayName)(a),")"),o.WrappedComponent=a;return t.withRef?(0,E.forwardRef)((function(e,t){return(0,E.createElement)(o,Object.assign({},e,{forwardedRef:t}))})):o}};var i=o(a(59713)),n=o(a(63038)),r=o(a(6479)),E=a(67294),_=a(32607),T=a(17873),s=["forwardedRef"];function S(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function l(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?S(Object(a),!0).forEach((function(t){(0,i.default)(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):S(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}},69921:(e,t)=>{"use strict";var a,o=Symbol.for("react.element"),i=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),r=Symbol.for("react.strict_mode"),E=Symbol.for("react.profiler"),_=Symbol.for("react.provider"),T=Symbol.for("react.context"),s=Symbol.for("react.server_context"),S=Symbol.for("react.forward_ref"),l=Symbol.for("react.suspense"),I=Symbol.for("react.suspense_list"),A=Symbol.for("react.memo"),u=Symbol.for("react.lazy"),d=Symbol.for("react.offscreen");function c(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case o:switch(e=e.type){case n:case E:case r:case l:case I:return e;default:switch(e=e&&e.$$typeof){case s:case T:case S:case u:case A:case _:return e;default:return t}}case i:return t}}}a=Symbol.for("react.module.reference"),t.ContextConsumer=T,t.ContextProvider=_,t.Element=o,t.ForwardRef=S,t.Fragment=n,t.Lazy=u,t.Memo=A,t.Portal=i,t.Profiler=E,t.StrictMode=r,t.Suspense=l,t.SuspenseList=I,t.isAsyncMode=function(){return!1},t.isConcurrentMode=function(){return!1},t.isContextConsumer=function(e){return c(e)===T},t.isContextProvider=function(e){return c(e)===_},t.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===o},t.isForwardRef=function(e){return c(e)===S},t.isFragment=function(e){return c(e)===n},t.isLazy=function(e){return c(e)===u},t.isMemo=function(e){return c(e)===A},t.isPortal=function(e){return c(e)===i},t.isProfiler=function(e){return c(e)===E},t.isStrictMode=function(e){return c(e)===r},t.isSuspense=function(e){return c(e)===l},t.isSuspenseList=function(e){return c(e)===I},t.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===n||e===E||e===r||e===l||e===I||e===d||"object"==typeof e&&null!==e&&(e.$$typeof===u||e.$$typeof===A||e.$$typeof===_||e.$$typeof===T||e.$$typeof===S||e.$$typeof===a||void 0!==e.getModuleId)},t.typeOf=c},59864:(e,t,a)=>{"use strict";e.exports=a(69921)},72408:(e,t)=>{"use strict";var a=Symbol.for("react.element"),o=Symbol.for("react.portal"),i=Symbol.for("react.fragment"),n=Symbol.for("react.strict_mode"),r=Symbol.for("react.profiler"),E=Symbol.for("react.provider"),_=Symbol.for("react.context"),T=Symbol.for("react.forward_ref"),s=Symbol.for("react.suspense"),S=Symbol.for("react.memo"),l=Symbol.for("react.lazy"),I=Symbol.iterator;var A={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},u=Object.assign,d={};function c(e,t,a){this.props=e,this.context=t,this.refs=d,this.updater=a||A}function O(){}function R(e,t,a){this.props=e,this.context=t,this.refs=d,this.updater=a||A}c.prototype.isReactComponent={},c.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},c.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},O.prototype=c.prototype;var N=R.prototype=new O;N.constructor=R,u(N,c.prototype),N.isPureReactComponent=!0;var m=Array.isArray,L=Object.prototype.hasOwnProperty,D={current:null},p={key:!0,ref:!0,__self:!0,__source:!0};function h(e,t,o){var i,n={},r=null,E=null;if(null!=t)for(i in void 0!==t.ref&&(E=t.ref),void 0!==t.key&&(r=""+t.key),t)L.call(t,i)&&!p.hasOwnProperty(i)&&(n[i]=t[i]);var _=arguments.length-2;if(1===_)n.children=o;else if(1<_){for(var T=Array(_),s=0;s<_;s++)T[s]=arguments[s+2];n.children=T}if(e&&e.defaultProps)for(i in _=e.defaultProps)void 0===n[i]&&(n[i]=_[i]);return{$$typeof:a,type:e,key:r,ref:E,props:n,_owner:D.current}}function C(e){return"object"==typeof e&&null!==e&&e.$$typeof===a}var f=/\/+/g;function B(e,t){return"object"==typeof e&&null!==e&&null!=e.key?(function(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,(function(e){return t[e]}))})(""+e.key):t.toString(36)}function P(e,t,i,n,r){var E=typeof e;"undefined"!==E&&"boolean"!==E||(e=null);var _=!1;if(null===e)_=!0;else switch(E){case"string":case"number":_=!0;break;case"object":switch(e.$$typeof){case a:case o:_=!0}}if(_)return r=r(_=e),e=""===n?"."+B(_,0):n,m(r)?(i="",null!=e&&(i=e.replace(f,"$&/")+"/"),P(r,t,i,"",(function(e){return e}))):null!=r&&(C(r)&&(r=(function(e,t){return{$$typeof:a,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}})(r,i+(!r.key||_&&_.key===r.key?"":(""+r.key).replace(f,"$&/")+"/")+e)),t.push(r)),1;if(_=0,n=""===n?".":n+":",m(e))for(var T=0;T<e.length;T++){var s=n+B(E=e[T],T);_+=P(E,t,i,s,r)}else if(s=(function(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=I&&e[I]||e["@@iterator"])?e:null})(e),"function"==typeof s)for(e=s.call(e),T=0;!(E=e.next()).done;)_+=P(E=E.value,t,i,s=n+B(E,T++),r);else if("object"===E)throw t=String(e),Error("Objects are not valid as a React child (found: "+("[object Object]"===t?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return _}function g(e,t,a){if(null==e)return e;var o=[],i=0;return P(e,o,"","",(function(e){return t.call(a,e,i++)})),o}function v(e){if(-1===e._status){var t=e._result;(t=t()).then((function(t){0!==e._status&&-1!==e._status||(e._status=1,e._result=t)}),(function(t){0!==e._status&&-1!==e._status||(e._status=2,e._result=t)})),-1===e._status&&(e._status=0,e._result=t)}if(1===e._status)return e._result.default;throw e._result}var y={current:null},W={transition:null},M={ReactCurrentDispatcher:y,ReactCurrentBatchConfig:W,ReactCurrentOwner:D};t.Children={map:g,forEach:function(e,t,a){g(e,(function(){t.apply(this,arguments)}),a)},count:function(e){var t=0;return g(e,(function(){t++})),t},toArray:function(e){return g(e,(function(e){return e}))||[]},only:function(e){if(!C(e))throw Error("React.Children.only expected to receive a single React element child.");return e}},t.Component=c,t.Fragment=i,t.Profiler=r,t.PureComponent=R,t.StrictMode=n,t.Suspense=s,t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=M,t.cloneElement=function(e,t,o){if(null==e)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var i=u({},e.props),n=e.key,r=e.ref,E=e._owner;if(null!=t){if(void 0!==t.ref&&(r=t.ref,E=D.current),void 0!==t.key&&(n=""+t.key),e.type&&e.type.defaultProps)var _=e.type.defaultProps;for(T in t)L.call(t,T)&&!p.hasOwnProperty(T)&&(i[T]=void 0===t[T]&&void 0!==_?_[T]:t[T])}var T=arguments.length-2;if(1===T)i.children=o;else if(1<T){_=Array(T);for(var s=0;s<T;s++)_[s]=arguments[s+2];i.children=_}return{$$typeof:a,type:e.type,key:n,ref:r,props:i,_owner:E}},t.createContext=function(e){return(e={$$typeof:_,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null}).Provider={$$typeof:E,_context:e},e.Consumer=e},t.createElement=h,t.createFactory=function(e){var t=h.bind(null,e);return t.type=e,t},t.createRef=function(){return{current:null}},t.forwardRef=function(e){return{$$typeof:T,render:e}},t.isValidElement=C,t.lazy=function(e){return{$$typeof:l,_payload:{_status:-1,_result:e},_init:v}},t.memo=function(e,t){return{$$typeof:S,type:e,compare:void 0===t?null:t}},t.startTransition=function(e){var t=W.transition;W.transition={};try{e()}finally{W.transition=t}},t.unstable_act=function(){throw Error("act(...) is not supported in production builds of React.")},t.useCallback=function(e,t){return y.current.useCallback(e,t)},t.useContext=function(e){return y.current.useContext(e)},t.useDebugValue=function(){},t.useDeferredValue=function(e){return y.current.useDeferredValue(e)},t.useEffect=function(e,t){return y.current.useEffect(e,t)},t.useId=function(){return y.current.useId()},t.useImperativeHandle=function(e,t,a){return y.current.useImperativeHandle(e,t,a)},t.useInsertionEffect=function(e,t){return y.current.useInsertionEffect(e,t)},t.useLayoutEffect=function(e,t){return y.current.useLayoutEffect(e,t)},t.useMemo=function(e,t){return y.current.useMemo(e,t)},t.useReducer=function(e,t,a){return y.current.useReducer(e,t,a)},t.useRef=function(e){return y.current.useRef(e)},t.useState=function(e){return y.current.useState(e)},t.useSyncExternalStore=function(e,t,a){return y.current.useSyncExternalStore(e,t,a)},t.useTransition=function(){return y.current.useTransition()},t.version="18.2.0"},67294:(e,t,a)=>{"use strict";e.exports=a(72408)},60053:(e,t)=>{"use strict";function a(e,t){var a=e.length;e.push(t);e:for(;0<a;){var o=a-1>>>1,i=e[o];if(!(0<n(i,t)))break e;e[o]=t,e[a]=i,a=o}}function o(e){return 0===e.length?null:e[0]}function i(e){if(0===e.length)return null;var t=e[0],a=e.pop();if(a!==t){e[0]=a;e:for(var o=0,i=e.length,r=i>>>1;o<r;){var E=2*(o+1)-1,_=e[E],T=E+1,s=e[T];if(0>n(_,a))T<i&&0>n(s,_)?(e[o]=s,e[T]=a,o=T):(e[o]=_,e[E]=a,o=E);else{if(!(T<i&&0>n(s,a)))break e;e[o]=s,e[T]=a,o=T}}}return t}function n(e,t){var a=e.sortIndex-t.sortIndex;return 0!==a?a:e.id-t.id}if("object"==typeof performance&&"function"==typeof performance.now){var r=performance;t.unstable_now=function(){return r.now()}}else{var E=Date,_=E.now();t.unstable_now=function(){return E.now()-_}}var T=[],s=[],S=1,l=null,I=3,A=!1,u=!1,d=!1,c="function"==typeof setTimeout?setTimeout:null,O="function"==typeof clearTimeout?clearTimeout:null,R="undefined"!=typeof setImmediate?setImmediate:null;function N(e){for(var t=o(s);null!==t;){if(null===t.callback)i(s);else{if(!(t.startTime<=e))break;i(s),t.sortIndex=t.expirationTime,a(T,t)}t=o(s)}}function m(e){if(d=!1,N(e),!u)if(null!==o(T))u=!0,W(L);else{var t=o(s);null!==t&&M(m,t.startTime-e)}}function L(e,a){u=!1,d&&(d=!1,O(C),C=-1),A=!0;var n=I;try{for(N(a),l=o(T);null!==l&&(!(l.expirationTime>a)||e&&!P());){var r=l.callback;if("function"==typeof r){l.callback=null,I=l.priorityLevel;var E=r(l.expirationTime<=a);a=t.unstable_now(),"function"==typeof E?l.callback=E:l===o(T)&&i(T),N(a)}else i(T);l=o(T)}if(null!==l)var _=!0;else{var S=o(s);null!==S&&M(m,S.startTime-a),_=!1}return _}finally{l=null,I=n,A=!1}}"undefined"!=typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);var D,p=!1,h=null,C=-1,f=5,B=-1;function P(){return!(t.unstable_now()-B<f)}function g(){if(null!==h){var e=t.unstable_now();B=e;var a=!0;try{a=h(!0,e)}finally{a?D():(p=!1,h=null)}}else p=!1}if("function"==typeof R)D=function(){R(g)};else if("undefined"!=typeof MessageChannel){var v=new MessageChannel,y=v.port2;v.port1.onmessage=g,D=function(){y.postMessage(null)}}else D=function(){c(g,0)};function W(e){h=e,p||(p=!0,D())}function M(e,a){C=c((function(){e(t.unstable_now())}),a)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){u||A||(u=!0,W(L))},t.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):f=0<e?Math.floor(1e3/e):5},t.unstable_getCurrentPriorityLevel=function(){return I},t.unstable_getFirstCallbackNode=function(){return o(T)},t.unstable_next=function(e){switch(I){case 1:case 2:case 3:var t=3;break;default:t=I}var a=I;I=t;try{return e()}finally{I=a}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=function(){},t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var a=I;I=e;try{return t()}finally{I=a}},t.unstable_scheduleCallback=function(e,i,n){var r=t.unstable_now();switch("object"==typeof n&&null!==n?n="number"==typeof(n=n.delay)&&0<n?r+n:r:n=r,e){case 1:var E=-1;break;case 2:E=250;break;case 5:E=1073741823;break;case 4:E=1e4;break;default:E=5e3}return e={id:S++,callback:i,priorityLevel:e,startTime:n,expirationTime:E=n+E,sortIndex:-1},n>r?(e.sortIndex=n,a(s,e),null===o(T)&&e===o(s)&&(d?(O(C),C=-1):d=!0,M(m,n-r))):(e.sortIndex=E,a(T,e),u||A||(u=!0,W(L))),e},t.unstable_shouldYield=P,t.unstable_wrapCallback=function(e){var t=I;return function(){var a=I;I=t;try{return e.apply(this,arguments)}finally{I=a}}}},63840:(e,t,a)=>{"use strict";e.exports=a(60053)},86851:(e,t,a)=>{"use strict";var o=a(89594),i=Array.prototype.concat,n=Array.prototype.slice,r=e.exports=function(e){for(var t=[],a=0,r=e.length;a<r;a++){var E=e[a];o(E)?t=i.call(t,n.call(E)):t.push(E)}return t};r.wrap=function(e){return function(){return e(r(arguments))}}},89594:e=>{e.exports=function(e){return!(!e||"string"==typeof e)&&(e instanceof Array||Array.isArray(e)||e.length>=0&&(e.splice instanceof Function||Object.getOwnPropertyDescriptor(e,e.length-1)&&"String"!==e.constructor.name))}},92341:()=>{!(function(){if(void 0!==window.navigate)return;const e={37:"left",38:"up",39:"right",40:"down"};let t=null,a=null;function o(){window.navigate=i,window.Element.prototype.spatialNavigationSearch=T,window.Element.prototype.focusableAreas=I,window.Element.prototype.getSpatialNavigationContainer=l,window.CSS&&CSS.registerProperty&&(""===window.getComputedStyle(document.documentElement).getPropertyValue("--spatial-navigation-contain")&&CSS.registerProperty({name:"--spatial-navigation-contain",syntax:"auto | contain",inherits:!1,initialValue:"auto"}),""===window.getComputedStyle(document.documentElement).getPropertyValue("--spatial-navigation-action")&&CSS.registerProperty({name:"--spatial-navigation-action",syntax:"auto | focus | scroll",inherits:!1,initialValue:"auto"}),""===window.getComputedStyle(document.documentElement).getPropertyValue("--spatial-navigation-function")&&CSS.registerProperty({name:"--spatial-navigation-function",syntax:"normal | euclidean | grid",inherits:!0,initialValue:"normal"})),window.addEventListener("keydown",(o=>{const n=parent&&parent.__spatialNavigation__.keyMode||window.__spatialNavigation__.keyMode,r=document.activeElement,E=e[o.keyCode];if(9===o.keyCode&&(a=null),!(!n||"NONE"===n||"SHIFTARROW"===n&&!o.shiftKey||"ARROW"===n&&o.shiftKey||o.defaultPrevented||o.spatialNavigationPrevented)){let n={left:!0,up:!0,right:!0,down:!0};"INPUT"!==r.nodeName&&"TEXTAREA"!==r.nodeName||(n=(function(t){const a=["email","date","month","number","time","week"],o=["password","text","search","tel","url",null],i=document.activeElement,n=i.selectionStart,r=i.selectionEnd,E={left:!1,up:!1,right:!1,down:!1},_=e[t.keyCode];if(void 0===_)return E;(!a.includes(i.getAttribute("type"))||"up"!==_&&"down"!==_)&&(o.includes(i.getAttribute("type"))||"TEXTAREA"===i.nodeName)?n===r&&(0===n&&(E.left=!0,E.up=!0),r===i.value.length&&(E.right=!0,E.down=!0)):E[_]=!0;return E})(o)),n[E]&&(o.preventDefault(),t=new Map,i(E),t=null,a=null)}}))}function i(e){let t=(function(){let e=document.activeElement;e&&(e!==document.body||document.querySelector(":focus"))||(e=document);return e})(),o=null;a&&(o=document.elementFromPoint(a.x,a.y),null===o&&(o=document.body),C(o)&&!R(o)?a=null:t=R(o)?o:o.getSpatialNavigationContainer()),t!==document&&t!==document.documentElement||(t=document.body||document.documentElement);let i=null;if((R(t)||"BODY"===t.nodeName)&&"INPUT"!==t.nodeName){i=t,"IFRAME"===t.nodeName&&(t=t.contentDocument.documentElement);let a=null;if("scroll"===d(t)){if(r(t,e))return}else if("focus"===d(t)){if(a=t.spatialNavigationSearch(e,{container:t,candidates:E(t,{mode:"all"}),inside:!0}),n(a,e))return}else if("auto"===d(t)&&(a=t.spatialNavigationSearch(e,{container:t,inside:!0}),n(a,e)||r(t,e)))return}i=i||t.getSpatialNavigationContainer();let _=i.parentElement?i.getSpatialNavigationContainer():null;if(_||window.location===window.parent.location||(_=window.parent.document.documentElement),"scroll"===d(t)){if(r(i,e))return}else"focus"===d(t)?c(t,i,_,e,"all"):"auto"===d(t)&&c(t,i,_,e,"visible")}function n(e,t){if(e){const a=e.getSpatialNavigationContainer(),o=window.getComputedStyle(a,null);o.getPropertyValue("overflow-x"),o.getPropertyValue("overflow-y");return L(a,t)&&(function(e){const t=F(e),a=F(e.getSpatialNavigationContainer());t.left<a.left||t.right>a.right||t.top<a.top||(t.bottom,a.bottom)})(e),e.scrollIntoView(),A("beforefocus",e,null,t)?(e.focus(),!0):!0}return!1}function r(e,t){return L(e,t)&&!h(e,t)?(O(e,t),!0):!e.parentElement&&!p(e,t)&&(O(document.documentElement,t),!0)}function E(e,t={mode:"visible"}){let a=[];if(e.childElementCount>0){e.parentElement||(e=e.getElementsByTagName("body")[0]||document.body);const t=e.children;for(const e of t)N(e)?a.push(e):C(e)?(a.push(e),!R(e)&&e.childElementCount&&(a=a.concat(E(e,{mode:"all"})))):e.childElementCount&&(a=a.concat(E(e,{mode:"all"})))}return"all"===t.mode?a:a.filter(f)}function _(e,t,a,o){const i=e;return o=o||i.getSpatialNavigationContainer(),s(i,a=!a||a.length<=0?E(o):a,t,o)}function T(e,t){const o=this;let i,n=[],r=[];t||(t={});const T=t.container||o.getSpatialNavigationContainer(),s=t.candidates&&t.candidates.length>0?t.candidates.filter((e=>T.contains(e))):E(T),l=t.inside||!1;if(s&&s.length>0){if(s.forEach((e=>{(o.contains(e)&&o!==e?n:r).push(e)})),t.candidates&&t.candidates.length>0||0!==n.length||(n=E(o)),r.length>0&&(r=_(o,e,r,T)),l&&(R(o)||"BODY"===o.nodeName)&&"INPUT"!==o.nodeName&&(i=(function(e,t,o){return S(e,t,o,a?W:M)})(o,n,e)),i=i||(function(e,t,a){const o=getComputedStyle(e).getPropertyValue("--spatial-navigation-function"),i=F(e);let n,r;switch(o){case"grid":r=t.filter((e=>y(i,F(e),a))),r.length>0&&(t=r),n=G;break;case"euclidean":n=U;break;default:n=b}return S(e,t,a,n)})(o,r,e),i&&N(i)){const t=E(i,{mode:"all"}),a=t.length>0?o.spatialNavigationSearch(e,{candidates:t,container:i}):null;a?i=a:C(i)||(s.splice(s.indexOf(i),1),i=s.length?o.spatialNavigationSearch(e,{candidates:s,container:T}):null)}return i}return null}function s(e,t,a,o){const i=e.getSpatialNavigationContainer();let n;return void 0===a?t:(n=i.parentElement&&o!==i&&!f(e)?F(i):F(e),!R(e)&&"BODY"!==e.nodeName||"INPUT"===e.nodeName?t.filter((t=>{const i=F(t),r="IFRAME"===t.nodeName?t.contentDocument.body:null;return o.contains(t)&&t!==e&&r!==e&&P(i,n,a)})):t.filter((t=>{const i=F(t);return o.contains(t)&&(e.contains(t)&&(function(e,t){const a=e.left<=t.right&&e.right>=t.right,o=e.left<=t.left&&e.right>=t.left,i=e.top<=t.top&&e.bottom>=t.top,n=e.top<=t.bottom&&e.bottom>=t.bottom;return(a||o)&&(i||n)})(n,i)&&t!==e||P(i,n,a))})))}function S(e,t,a,o){let i=null;window.location===window.parent.location||"BODY"!==e.nodeName&&"HTML"!==e.nodeName?i=e.getBoundingClientRect():(i=window.frameElement.getBoundingClientRect(),i.x=0,i.y=0);let n=Number.POSITIVE_INFINITY,r=[];if(t)for(let e=0;e<t.length;e++){const E=o(i,F(t[e]),a);E<n?(n=E,r=[t[e]]):E===n&&r.push(t[e])}return 0===r.length?null:r.length>1&&o===G?S(e,r,a,U):r[0]}function l(){let e=this;do{if(!e.parentElement){e=window.location!==window.parent.location?window.parent.document.documentElement:window.document.documentElement;break}e=e.parentElement}while(!R(e));return e}function I(e={mode:"visible"}){const t=this.parentElement?this:document.body,a=Array.prototype.filter.call(t.getElementsByTagName("*"),C);return"all"===e.mode?a:a.filter(f)}function A(e,t,a,o){if(["beforefocus","notarget"].includes(e)){const i=new CustomEvent("nav"+e,{bubbles:!0,cancelable:!0,detail:{causedTarget:a,dir:o}});return t.dispatchEvent(i)}}function u(e,t){return window.getComputedStyle(e).getPropertyValue(`--${t}`).trim()}function d(e){return u(e,"spatial-navigation-action")||"auto"}function c(e,t,a,o,i){let _={candidates:E(t,{mode:i}),container:t};for(;a;){if(n(e.spatialNavigationSearch(o,_),o))return;if("visible"===i&&r(t,o))return;if(!A("notarget",t,e,o))return;if(t===document||t===document.documentElement){if(window.location!==window.parent.location){if(e=window.frameElement,!(t=window.parent.document.documentElement).parentElement){a=null;break}a=t.getSpatialNavigationContainer()}}else{if(_={candidates:E(t=a,{mode:i}),container:t},!t.parentElement){a=null;break}a=t.getSpatialNavigationContainer()}}_={candidates:E(t,{mode:i}),container:t},!a&&t&&n(e.spatialNavigationSearch(o,_),o)||A("notarget",_.container,e,o)&&("auto"!==d(t)||"visible"!==i||r(t,o))}function O(e,t,a=0){if(e)switch(t){case"left":e.scrollLeft-=40+a;break;case"right":e.scrollLeft+=40+a;break;case"up":e.scrollTop-=40+a;break;case"down":e.scrollTop+=40+a}}function R(e){return!e.parentElement||"IFRAME"===e.nodeName||m(e)||(function(e){return"contain"===u(e,"spatial-navigation-contain")})(e)}function N(e){return"delegable"===u(e,"spatial-navigation-contain")}function m(e){const t=window.getComputedStyle(e,null),a=t.getPropertyValue("overflow-x"),o=t.getPropertyValue("overflow-y");return!!("visible"!==a&&"clip"!==a&&D(e,"left")||"visible"!==o&&"clip"!==o&&D(e,"down"))}function L(e,t){if(e&&"object"==typeof e){if(t&&"string"==typeof t){if(D(e,t)){const a=window.getComputedStyle(e,null),o=a.getPropertyValue("overflow-x"),i=a.getPropertyValue("overflow-y");switch(t){case"left":case"right":return"visible"!==o&&"clip"!==o&&"hidden"!==o;case"up":case"down":return"visible"!==i&&"clip"!==i&&"hidden"!==i}}return!1}return"HTML"===e.nodeName||"BODY"===e.nodeName||m(e)&&D(e)}}function D(e,t){if(e&&"object"==typeof e){if(!t||"string"!=typeof t)return e.scrollWidth>e.clientWidth||e.scrollHeight>e.clientHeight;switch(t){case"left":case"right":return e.scrollWidth>e.clientWidth;case"up":case"down":return e.scrollHeight>e.clientHeight}return!1}}function p(e,t){let a=!1;switch(t){case"left":a=0===window.scrollX;break;case"right":a=e.scrollWidth-e.scrollLeft-e.clientWidth==0;break;case"up":a=0===window.scrollY;break;case"down":a=e.scrollHeight-e.scrollTop-e.clientHeight==0}return a}function h(e,t){if(L(e,t)){const a=e.scrollTop,o=e.scrollLeft,i=e.scrollHeight-e.clientHeight,n=e.scrollWidth-e.clientWidth;switch(t){case"left":return 0===o;case"right":return Math.abs(o-n)<=1;case"up":return 0===a;case"down":return Math.abs(a-i)<=1}}return!1}function C(e){return!(e.tabIndex<0||(function(e){return"A"===e.tagName&&null===e.getAttribute("href")&&null===e.getAttribute("tabIndex")})(e)||(function(e){return!!["BUTTON","INPUT","SELECT","TEXTAREA","OPTGROUP","OPTION","FIELDSET"].includes(e.tagName)&&e.disabled})(e)||(function(e){return e.inert&&!e.ownerDocument.documentElement.inert})(e)||!(function(e){return!!B(e.parentElement)&&!(!B(e)||0===e.style.opacity||!("0px"!==e.style.width&&0!==e.style.width||"0px"!==e.style.height&&0!==e.style.height))})(e))&&(!!(!e.parentElement||L(e)&&D(e)||e.tabIndex>=0)||void 0)}function f(e){return!e.parentElement||B(e)&&(function(e){const t=F(e);if("IFRAME"!==e.nodeName&&(t.top<0||t.left<0||t.top>window.innerHeight||t.left>window.innerWidth))return!1;let a=parseInt(e.offsetWidth)/10,o=parseInt(e.offsetHeight)/10;a=isNaN(a)?1:a,o=isNaN(o)?1:o;const i={middle:[(t.left+t.right)/2,(t.top+t.bottom)/2],leftTop:[t.left+a,t.top+o],rightBottom:[t.right-a,t.bottom-o]};for(const t in i){const a=document.elementFromPoint(...i[t]);if(e===a||e.contains(a))return!0}return!1})(e)}function B(e){const t=window.getComputedStyle(e,null),a=t.getPropertyValue("visibility");return"none"!==t.getPropertyValue("display")&&!["hidden","collapse"].includes(a)}function P(e,t,a){switch(a){case"left":return g(t,e);case"right":return g(e,t);case"up":return v(t,e);case"down":return v(e,t);default:return!1}}function g(e,t){return e.left>=t.right||e.left>=t.left&&e.right>t.right&&e.bottom>t.top&&e.top<t.bottom}function v(e,t){return e.top>=t.bottom||e.top>=t.top&&e.bottom>t.bottom&&e.left<t.right&&e.right>t.left}function y(e,t,a){switch(a){case"left":case"right":return e.bottom>t.top&&e.top<t.bottom;case"up":case"down":return e.right>t.left&&e.left<t.right;default:return!1}}function W(e,t,o){const i=k(o,a,t),n=Math.abs(i.entryPoint.x-i.exitPoint.x),r=Math.abs(i.entryPoint.y-i.exitPoint.y);return Math.sqrt(Math.pow(n,2)+Math.pow(r,2))}function M(e,t,a){const o={left:"right",right:"left",up:"bottom",down:"top"}[a];return Math.abs(e[o]-t[o])}function b(e,t,a){let o=0,i=0;const n=k(a,e,t),r=Math.abs(n.entryPoint.x-n.exitPoint.x),E=Math.abs(n.entryPoint.y-n.exitPoint.y),_=Math.sqrt(Math.pow(r,2)+Math.pow(E,2));let T,s;const S=(function(e,t){const a={width:0,height:0,area:0},o=[Math.max(e.left,t.left),Math.max(e.top,t.top)],i=[Math.min(e.right,t.right),Math.min(e.bottom,t.bottom)];a.width=Math.abs(o[0]-i[0]),a.height=Math.abs(o[1]-i[1]),o[0]>=i[0]||o[1]>=i[1]||(a.area=Math.sqrt(a.width*a.height));return a})(e,t),l=S.area;switch(a){case"left":case"right":y(e,t,a)?i=Math.min(S.height/e.height,1):o=e.height/2,T=30*(E+o),s=5*i;break;case"up":case"down":y(e,t,a)?i=Math.min(S.width/e.width,1):o=e.width/2,T=2*(r+o),s=5*i;break;default:T=0,s=0}return _+T-s-l}function U(e,t,a){const o=k(a,e,t),i=Math.abs(o.entryPoint.x-o.exitPoint.x),n=Math.abs(o.entryPoint.y-o.exitPoint.y);return Math.sqrt(Math.pow(i,2)+Math.pow(n,2))}function G(e,t,a){const o=k(a,e,t);return"left"===a||"right"===a?Math.abs(o.entryPoint.x-o.exitPoint.x):Math.abs(o.entryPoint.y-o.exitPoint.y)}function k(e="down",t,o){const i={entryPoint:{x:0,y:0},exitPoint:{x:0,y:0}};if(a){switch(i.exitPoint=t,e){case"left":i.entryPoint.x=o.right;break;case"up":i.entryPoint.y=o.bottom;break;case"right":i.entryPoint.x=o.left;break;case"down":i.entryPoint.y=o.top}switch(e){case"left":case"right":a.y<=o.top?i.entryPoint.y=o.top:a.y<o.bottom?i.entryPoint.y=a.y:i.entryPoint.y=o.bottom;break;case"up":case"down":a.x<=o.left?i.entryPoint.x=o.left:a.x<o.right?i.entryPoint.x=a.x:i.entryPoint.x=o.right}}else{switch(e){case"left":i.exitPoint.x=t.left,i.entryPoint.x=o.right<t.left?o.right:t.left;break;case"up":i.exitPoint.y=t.top,i.entryPoint.y=o.bottom<t.top?o.bottom:t.top;break;case"right":i.exitPoint.x=t.right,i.entryPoint.x=o.left>t.right?o.left:t.right;break;case"down":i.exitPoint.y=t.bottom,i.entryPoint.y=o.top>t.bottom?o.top:t.bottom}switch(e){case"left":case"right":v(t,o)?(i.exitPoint.y=t.top,i.entryPoint.y=o.bottom<t.top?o.bottom:t.top):v(o,t)?(i.exitPoint.y=t.bottom,i.entryPoint.y=o.top>t.bottom?o.top:t.bottom):(i.exitPoint.y=Math.max(t.top,o.top),i.entryPoint.y=i.exitPoint.y);break;case"up":case"down":g(t,o)?(i.exitPoint.x=t.left,i.entryPoint.x=o.right<t.left?o.right:t.left):g(o,t)?(i.exitPoint.x=t.right,i.entryPoint.x=o.left>t.right?o.left:t.right):(i.exitPoint.x=Math.max(t.left,o.left),i.entryPoint.x=i.exitPoint.x)}}return i}function F(e){let a=t&&t.get(e);if(!a){const o=e.getBoundingClientRect();a={top:Number(o.top.toFixed(2)),right:Number(o.right.toFixed(2)),bottom:Number(o.bottom.toFixed(2)),left:Number(o.left.toFixed(2)),width:Number(o.width.toFixed(2)),height:Number(o.height.toFixed(2))},t&&t.set(e,a)}return a}function V(e){const t=window.__spatialNavigation__&&window.__spatialNavigation__.keyMode;window.__spatialNavigation__=!1===e?H():Object.assign(H(),(function(){function e(e,t){return L(e,t)&&!h(e,t)||!e.parentElement&&!p(e,t)}function t(t,a,o,i){let n=a,r=null;if(n!==document&&n!==document.documentElement||(n=document.body||document.documentElement),(R(n)||"BODY"===n.nodeName)&&"INPUT"!==n.nodeName){"IFRAME"===n.nodeName&&(n=n.contentDocument.body);const a=E(n,i);if(Array.isArray(a)&&a.length>0)return t?_(n,o,a):n.spatialNavigationSearch(o,{candidates:a});if(e(n,o))return t?[]:n}let T=n.getSpatialNavigationContainer(),S=T.parentElement?T.getSpatialNavigationContainer():null;for(S||window.location===window.parent.location||(S=window.parent.document.documentElement);S;){const a=s(n,E(T,i),o,T);if(Array.isArray(a)&&a.length>0){if(r=n.spatialNavigationSearch(o,{candidates:a,container:T}),r)return t?a:r}else{if(e(T,o))return t?[]:n;if(T===document||T===document.documentElement){if(T=window.document.documentElement,window.location!==window.parent.location){if(n=window.frameElement,T=window.parent.document.documentElement,!T.parentElement){S=null;break}S=T.getSpatialNavigationContainer()}}else{if(C(T)&&(n=T),T=S,!T.parentElement){S=null;break}S=T.getSpatialNavigationContainer()}}}if(!S&&T){const e=s(n,E(T,i),o,T);if(Array.isArray(e)&&e.length>0&&(r=n.spatialNavigationSearch(o,{candidates:e,container:T}),r))return t?e:r}if(e(T,o))return r=n,r}return{isContainer:R,isScrollContainer:m,findCandidates:t.bind(null,!0),findNextTarget:t.bind(null,!1),getDistanceFromTarget:(e,t,a)=>(R(e)||"BODY"===e.nodeName)&&"INPUT"!==e.nodeName&&E(e).includes(t)?M(F(e),F(t),a):b(F(e),F(t),a)}})()),window.__spatialNavigation__.keyMode=t,Object.seal(window.__spatialNavigation__)}function H(){return{enableExperimentalAPIs:V,get keyMode(){return this._keymode?this._keymode:"ARROW"},set keyMode(e){this._keymode=["SHIFTARROW","ARROW","NONE"].includes(e)?e:"ARROW"},setStartingPoint:function(e,t){a=e&&t?{x:e,y:t}:null}}}window.addEventListener("load",(()=>{o(),V(!1)}))})()},16567:(e,t,a)=>{e.exports=function(){return{"ar-AR":a(65929),"bg-BG":a(97726),"ca-CA":a(98569),"cs-CZ":a(32840),"da-DK":a(4806),"de-DE":a(51145),"el-GR":a(15158),"en-US":a(83865),"eo-EO":a(53989),"es-ES":a(99320),"eu-ES":a(43236),"fa-IR":a(32381),"fi-FI":a(52613),"fr-FR":a(65829),"he-IL":a(61525),"hi-IN":a(14018),"hr-HR":a(80487),"hu-HU":a(5657),"id-ID":a(11472),"it-IT":a(42948),"ja-JP":a(4774),"ko-KR":a(96358),"mk-MK":a(49163),"my-BM":a(56735),"nb-NO":a(83778),"ne-NP":a(68978),"nl-NL":a(68472),"nn-NO":a(88159),"pl-PL":a(75517),"pt-BR":a(2012),"pt-PT":a(65857),"ro-RO":a(29894),"ru-RU":a(6687),"sl-SL":a(96650),"sr-RS":a(52963),"sv-SE":a(24662),"te-IN":a(49892),"tr-TR":a(93191),"uk-UA":a(75923),"vi-VN":a(4701),"zh-CN":a(98714),"zh-HK":a(99542),"zh-TW":a(68097),"bn-BD":a(15170)}},e.exports.all=["ar-AR","bg-BG","ca-CA","cs-CZ","da-DK","de-DE","el-GR","en-US","eo-EO","es-ES","eu-ES","fa-IR","fi-FI","fr-FR","he-IL","hi-IN","hr-HR","hu-HU","id-ID","it-IT","ja-JP","ko-KR","mk-MK","my-BM","nb-NO","ne-NP","nl-NL","nn-NO","pl-PL","pt-BR","pt-PT","ro-RO","ru-RU","sl-SL","sr-RS","sv-SE","te-IN","tr-TR","uk-UA","vi-VN","zh-CN","zh-HK","zh-TW","bn-BD"]},25017:(e,t,a)=>{var o=a(80883);t.encode=o.encode,t.decode=o.decode},80883:(e,t,a)=>{"use strict";var o=a(48764).Buffer,i=[255,255,26,27,28,29,30,31,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,255,255,255,255,255];t.encode=function(e){o.isBuffer(e)||(e=new o(e));for(var t,a,i=0,n=0,r=0,E=0,_=new o(8*(t=e,a=Math.floor(t.length/5),t.length%5==0?a:a+1));i<e.length;){var T=e[i];r>3?(E=(E=T&255>>r)<<(r=(r+5)%8)|(i+1<e.length?e[i+1]:0)>>8-r,i++):(E=T>>8-(r+5)&31,0===(r=(r+5)%8)&&i++),_[n]="ABCDEFGHIJKLMNOPQRSTUVWXYZ234567".charCodeAt(E),n++}for(i=n;i<_.length;i++)_[i]=61;return _},t.decode=function(e){var t,a=0,n=0,r=0;o.isBuffer(e)||(e=new o(e));for(var E=new o(Math.ceil(5*e.length/8)),_=0;_<e.length&&61!==e[_];_++){var T=e[_]-48;if(!(T<i.length))throw new Error("Invalid input - it is not base32 encoded string");n=i[T],a<=3?0===(a=(a+5)%8)?(t|=n,E[r]=t,r++,t=0):t|=255&n<<8-a:(t|=255&n>>>(a=(a+5)%8),E[r]=t,r++,t=255&n<<8-a)}return E.slice(0,r)}},12583:function(e,t,a){"use strict";var o=this&&this.__createBinding||(Object.create?function(e,t,a,o){void 0===o&&(o=a);var i=Object.getOwnPropertyDescriptor(t,a);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,o,i)}:function(e,t,a,o){void 0===o&&(o=a),e[o]=t[a]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)"default"!==a&&Object.prototype.hasOwnProperty.call(e,a)&&o(t,e,a);return i(t,e),t},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var E=n(a(67294)),_=r(a(94184)),T=r(a(6851)),s=r(a(70232)),S=(0,E.memo)((function(e){var t,a=e.label,o=e.value,i=e.active,n=e.onSelect,r=(0,E.useRef)(null),S=(0,E.useCallback)((function(e){var t=e.currentTarget.dataset.value;t&&n(t)}),[onselect]);return(0,E.useEffect)((function(){var e;i&&(null===(e=r.current)||void 0===e||e.scrollIntoView({block:"nearest",inline:"center",behavior:"smooth"}))}),[i]),E.default.createElement(T.default,{ref:r,key:o,className:(0,_.default)(s.default.chip,(t={},t[s.default.active]=i,t)),tabIndex:-1,"data-value":o,onClick:S},a)}));t.default=S},66925:function(e,t,a){"use strict";var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var i=o(a(12583));t.default=i.default},66658:function(e,t,a){"use strict";var o=this&&this.__createBinding||(Object.create?function(e,t,a,o){void 0===o&&(o=a);var i=Object.getOwnPropertyDescriptor(t,a);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,o,i)}:function(e,t,a,o){void 0===o&&(o=a),e[o]=t[a]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)"default"!==a&&Object.prototype.hasOwnProperty.call(e,a)&&o(t,e,a);return i(t,e),t},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var E=n(a(67294)),_=r(a(94184)),T=r(a(66925)),s=r(a(25006)),S=(0,E.memo)((function(e){var t=e.options,a=e.selected,o=e.onSelect,i=(0,E.useRef)(null),n=(0,E.useState)("left"),r=n[0],S=n[1];return(0,E.useEffect)((function(){var e,t=function(e){var t=e.target,a=t.scrollLeft,o=t.scrollWidth,i=t.offsetWidth;S(a-1<=0?"left":a+i+1>=o?"right":"center")};return null===(e=i.current)||void 0===e||e.addEventListener("scroll",t),function(){var e;return null===(e=i.current)||void 0===e?void 0:e.removeEventListener("scroll",t)}}),[]),E.default.createElement("div",{ref:i,className:(0,_.default)(s.default.chips,[s.default[r]])},t.map((function(e){var t=e.label,i=e.value;return E.default.createElement(T.default,{key:i,label:t,value:i,active:a.includes(i),onSelect:o})})))}));t.default=S},64853:function(e,t,a){"use strict";var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var i=o(a(66658));t.default=i.default},76727:function(e,t,a){"use strict";var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var i=o(a(67294)),n=o(a(6851)),r=a(81468),E=o(a(94184)),_=o(a(76819)),T=o(a(95985)),s=o(a(65349));t.default=function(e){var t,a=e.level,o=e.setLevel,S=e.options,l=e.onSelect,I=e.selectedOption,A=e.menuOpen,u=(0,r.useTranslation)().t;return i.default.createElement("div",{className:(0,E.default)(s.default.dropdown,(t={},t[s.default.open]=A,t)),role:"listbox"},a>0?i.default.createElement(n.default,{className:s.default["back-button"],onClick:function(){o(a-1)}},i.default.createElement(T.default,{name:"caret-left",className:s.default["back-button-icon"]}),u("BACK")):null,S.filter((function(e){return!e.hidden})).map((function(e,t){return i.default.createElement(_.default,{key:t,option:e,onSelect:l,selectedOption:I})})))}},13294:function(e,t,a){"use strict";var o=this&&this.__createBinding||(Object.create?function(e,t,a,o){void 0===o&&(o=a);var i=Object.getOwnPropertyDescriptor(t,a);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,o,i)}:function(e,t,a,o){void 0===o&&(o=a),e[o]=t[a]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)"default"!==a&&Object.prototype.hasOwnProperty.call(e,a)&&o(t,e,a);return i(t,e),t},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var E=n(a(67294)),_=r(a(94184)),T=r(a(6851)),s=r(a(28249)),S=r(a(95985));t.default=function(e){var t,a=e.option,o=e.selectedOption,i=e.onSelect,n=(0,E.useMemo)((function(){return(null==a?void 0:a.value)===(null==o?void 0:o.value)}),[a,o]),r=(0,E.useCallback)((function(){i(a.value)}),[i,a.value]);return E.default.createElement(T.default,{className:(0,_.default)(s.default.option,(t={},t[s.default.selected]=n,t)),key:a.id,onClick:r,"aria-selected":n},E.default.createElement("div",{className:s.default.label},a.label),n&&!a.level?E.default.createElement("div",{className:s.default.icon}):null,a.level?E.default.createElement(S.default,{name:"caret-right",className:s.default["option-caret"]}):null)}},76819:function(e,t,a){"use strict";var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var i=o(a(13294));t.default=i.default},21080:function(e,t,a){"use strict";var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var i=o(a(76727));t.default=i.default},64167:function(e,t,a){"use strict";var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var i=o(a(67294)),n=o(a(6851)),r=o(a(74024)),E=o(a(21080)),_=o(a(94184)),T=o(a(95985)),s=o(a(8235)),S=o(a(36846));t.default=function(e){var t,a,o=e.className,l=e.title,I=e.options,A=e.selectedOption,u=e.onSelect,d=(0,r.default)(!1),c=d[0],O=d[2],R=d[3],N=(0,S.default)((function(){return O()})),m=i.default.useState(0),L=m[0],D=m[1];return i.default.createElement("div",{className:(0,_.default)(s.default["multiselect-menu"],o),ref:N},i.default.createElement(n.default,{className:(0,_.default)(s.default["multiselect-button"],(t={},t[s.default.open]=c,t)),onClick:R,tabIndex:0,"aria-haspopup":"listbox","aria-expanded":c},l,i.default.createElement(T.default,{name:"caret-down",className:(0,_.default)(s.default.icon,(a={},a[s.default.open]=c,a))})),c?i.default.createElement(E.default,{level:L,setLevel:D,options:I,onSelect:function(e){L?D(L+1):u(e),O()},menuOpen:c,selectedOption:A}):null)}},21081:function(e,t,a){"use strict";var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var i=o(a(64167));t.default=i.default},62561:function(e,t,a){"use strict";var o=this&&this.__createBinding||(Object.create?function(e,t,a,o){void 0===o&&(o=a);var i=Object.getOwnPropertyDescriptor(t,a);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,o,i)}:function(e,t,a,o){void 0===o&&(o=a),e[o]=t[a]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)"default"!==a&&Object.prototype.hasOwnProperty.call(e,a)&&o(t,e,a);return i(t,e),t},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.usePlatform=t.PlatformProvider=void 0;var E=n(a(67294)),_=a(52734),T=r(a(88788)),s=a(61577),S=(0,E.createContext)({});t.PlatformProvider=function(e){var t=e.children,a=(0,T.default)();return E.default.createElement(S.Provider,{value:{openExternal:function(e){try{var t=new URL(e).hostname,o=_.WHITELISTED_HOSTS.some((function(e){return t.endsWith(e)}))?e:"https://www.stremio.com/warning#".concat(encodeURIComponent(e));a.active?a.send("open-external",o):window.open(o,"_blank")}catch(e){console.error("Failed to parse external url:",e)}},name:s.name,isMobile:s.isMobile}},t)};t.usePlatform=function(){return(0,E.useContext)(S)}},61577:function(e,t,a){"use strict";var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.isMobile=t.name=void 0;var i=o(a(51206)),n=globalThis.navigator,r=n.userAgent,E=n.platform,_=n.maxTouchPoints,T=["iPad Simulator","iPhone Simulator","iPod Simulator","iPad","iPhone","iPod"].includes(E)||r.includes("Mac")&&"ontouchend"in document,s=r.includes("Macintosh")&&5===_,S=i.default.getParser(r).getOSName().toLowerCase(),l=s?"visionos":T?"ios":S||"unknown";t.name=l;var I=["ios","android"].includes(l);t.isMobile=I},85169:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.usePlatform=t.PlatformProvider=void 0;var o=a(62561);Object.defineProperty(t,"PlatformProvider",{enumerable:!0,get:function(){return o.PlatformProvider}}),Object.defineProperty(t,"usePlatform",{enumerable:!0,get:function(){return o.usePlatform}})},88788:function(e,t){"use strict";var a=this&&this.__spreadArray||function(e,t,a){if(a||2===arguments.length)for(var o,i=0,n=t.length;i<n;i++)!o&&i in t||(o||(o=Array.prototype.slice.call(t,0,i)),o[i]=t[i]);return e.concat(o||Array.prototype.slice.call(t))};Object.defineProperty(t,"__esModule",{value:!0});var o=function(){return Math.floor(9999*Math.random())+1};t.default=function(){var e,t=null===(e=null===globalThis||void 0===globalThis?void 0:globalThis.qt)||void 0===e?void 0:e.webChannelTransport;return{active:!!t,send:function(e){for(var i=[],n=1;n<arguments.length;n++)i[n-1]=arguments[n];null==t||t.send(JSON.stringify({id:o(),type:6,object:"transport",method:"onEvent",args:a([e],i,!0)}))}}}},36846:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=a(67294);t.default=function(e){var t=(0,o.useRef)(null);return(0,o.useEffect)((function(){var a=function(a){t.current&&!t.current.contains(a.target)&&e()};return document.addEventListener("mouseup",a),document.addEventListener("touchend",a),function(){document.removeEventListener("mouseup",a),document.removeEventListener("touchend",a)}}),[e]),t}},10952:function(e,t,a){"use strict";var o=this&&this.__awaiter||function(e,t,a,o){return new(a||(a=Promise))((function(i,n){function r(e){try{_(o.next(e))}catch(e){n(e)}}function E(e){try{_(o.throw(e))}catch(e){n(e)}}function _(e){var t;e.done?i(e.value):(t=e.value,t instanceof a?t:new a((function(e){e(t)}))).then(r,E)}_((o=o.apply(e,t||[])).next())}))},i=this&&this.__generator||function(e,t){var a,o,i,n,r={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return n={next:E(0),throw:E(1),return:E(2)},"function"==typeof Symbol&&(n[Symbol.iterator]=function(){return this}),n;function E(E){return function(_){return(function(E){if(a)throw new TypeError("Generator is already executing.");for(;n&&(n=0,E[0]&&(r=0)),r;)try{if(a=1,o&&(i=2&E[0]?o.return:E[0]?o.throw||((i=o.return)&&i.call(o),0):o.next)&&!(i=i.call(o,E[1])).done)return i;switch(o=0,i&&(E=[2&E[0],i.value]),E[0]){case 0:case 1:i=E;break;case 4:return r.label++,{value:E[1],done:!1};case 5:r.label++,o=E[1],E=[0];continue;case 7:E=r.ops.pop(),r.trys.pop();continue;default:if(!(i=r.trys,(i=i.length>0&&i[i.length-1])||6!==E[0]&&2!==E[0])){r=0;continue}if(3===E[0]&&(!i||E[1]>i[0]&&E[1]<i[3])){r.label=E[1];break}if(6===E[0]&&r.label<i[1]){r.label=i[1],i=E;break}if(i&&r.label<i[2]){r.label=i[2],r.ops.push(E);break}i[2]&&r.ops.pop(),r.trys.pop();continue}E=t.call(e,r)}catch(e){E=[6,e],o=0}finally{a=i=0}if(5&E[0])throw E[1];return{value:E[0]?E[1]:void 0,done:!0}})([E,_])}}},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var r=a(67294),E=n(a(542)),_=a(86590),T="https://www.strem.io";e.exports=function(){var e=(0,_.usePlatform)(),t=(0,r.useRef)(!1),a=(0,r.useRef)(null),n=(0,r.useCallback)((function(){return new Promise((function(n,r){t.current=!0;var _=(0,E.default)(128),s=0;e.openExternal("".concat(T,"/login-fb/").concat(_));var S=function(){t.current&&(a.current&&clearTimeout(a.current),a.current=setTimeout((function(){if(s>=25)return r(new Error("Failed to authenticate with facebook"));s++,(function(e){return o(void 0,void 0,void 0,(function(){var t,a;return i(this,(function(o){switch(o.label){case 0:return o.trys.push([0,3,,4]),[4,fetch("".concat(T,"/login-fb-get-acc/").concat(e))];case 1:return[4,o.sent().json()];case 2:return t=o.sent().user,[2,Promise.resolve({email:t.email,password:t.fbLoginToken})];case 3:return a=o.sent(),console.error("Failed to get credentials from facebook auth",a),[2,Promise.reject(a)];case 4:return[2]}}))}))})(_).then(n).catch(S)}),1e3))};S()}))}),[]),s=(0,r.useCallback)((function(){t.current=!1,a.current&&clearTimeout(a.current)}),[]);return(0,r.useEffect)((function(){return function(){return s()}}),[]),[n,s]}},8575:(e,t,a)=>{"use strict";var o=a(74971),i=a(62502);function n(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}t.parse=R,t.resolve=function(e,t){return R(e,!1,!0).resolve(t)},t.resolveObject=function(e,t){return e?R(e,!1,!0).resolveObject(t):t},t.format=function(e){i.isString(e)&&(e=R(e));return e instanceof n?e.format():n.prototype.format.call(e)},t.Url=n;var r=/^([a-z0-9.+-]+:)/i,E=/:[0-9]*$/,_=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,T=["{","}","|","\\","^","`"].concat(["<",">",'"',"`"," ","\r","\n","\t"]),s=["'"].concat(T),S=["%","/","?",";","#"].concat(s),l=["/","?","#"],I=/^[+a-z0-9A-Z_-]{0,63}$/,A=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,u={javascript:!0,"javascript:":!0},d={javascript:!0,"javascript:":!0},c={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},O=a(17673);function R(e,t,a){if(e&&i.isObject(e)&&e instanceof n)return e;var o=new n;return o.parse(e,t,a),o}n.prototype.parse=function(e,t,a){if(!i.isString(e))throw new TypeError("Parameter 'url' must be a string, not "+typeof e);var n=e.indexOf("?"),E=-1!==n&&n<e.indexOf("#")?"?":"#",T=e.split(E);T[0]=T[0].replace(/\\/g,"/");var R=e=T.join(E);if(R=R.trim(),!a&&1===e.split("#").length){var N=_.exec(R);if(N)return this.path=R,this.href=R,this.pathname=N[1],N[2]?(this.search=N[2],this.query=t?O.parse(this.search.substr(1)):this.search.substr(1)):t&&(this.search="",this.query={}),this}var m=r.exec(R);if(m){var L=(m=m[0]).toLowerCase();this.protocol=L,R=R.substr(m.length)}if(a||m||R.match(/^\/\/[^@\/]+@[^@\/]+/)){var D="//"===R.substr(0,2);!D||m&&d[m]||(R=R.substr(2),this.slashes=!0)}if(!d[m]&&(D||m&&!c[m])){for(var p,h,C=-1,f=0;f<l.length;f++){-1!==(B=R.indexOf(l[f]))&&(-1===C||B<C)&&(C=B)}-1!==(h=-1===C?R.lastIndexOf("@"):R.lastIndexOf("@",C))&&(p=R.slice(0,h),R=R.slice(h+1),this.auth=decodeURIComponent(p)),C=-1;for(f=0;f<S.length;f++){var B;-1!==(B=R.indexOf(S[f]))&&(-1===C||B<C)&&(C=B)}-1===C&&(C=R.length),this.host=R.slice(0,C),R=R.slice(C),this.parseHost(),this.hostname=this.hostname||"";var P="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!P)for(var g=this.hostname.split(/\./),v=(f=0,g.length);f<v;f++){var y=g[f];if(y&&!y.match(I)){for(var W="",M=0,b=y.length;M<b;M++)y.charCodeAt(M)>127?W+="x":W+=y[M];if(!W.match(I)){var U=g.slice(0,f),G=g.slice(f+1),k=y.match(A);k&&(U.push(k[1]),G.unshift(k[2])),G.length&&(R="/"+G.join(".")+R),this.hostname=U.join(".");break}}}this.hostname.length>255?this.hostname="":this.hostname=this.hostname.toLowerCase(),P||(this.hostname=o.toASCII(this.hostname));var F=this.port?":"+this.port:"",V=this.hostname||"";this.host=V+F,this.href+=this.host,P&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==R[0]&&(R="/"+R))}if(!u[L])for(f=0,v=s.length;f<v;f++){var H=s[f];if(-1!==R.indexOf(H)){var w=encodeURIComponent(H);w===H&&(w=escape(H)),R=R.split(H).join(w)}}var Y=R.indexOf("#");-1!==Y&&(this.hash=R.substr(Y),R=R.slice(0,Y));var z=R.indexOf("?");if(-1!==z?(this.search=R.substr(z),this.query=R.substr(z+1),t&&(this.query=O.parse(this.query)),R=R.slice(0,z)):t&&(this.search="",this.query={}),R&&(this.pathname=R),c[L]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){F=this.pathname||"";var K=this.search||"";this.path=F+K}return this.href=this.format(),this},n.prototype.format=function(){var e=this.auth||"";e&&(e=(e=encodeURIComponent(e)).replace(/%3A/i,":"),e+="@");var t=this.protocol||"",a=this.pathname||"",o=this.hash||"",n=!1,r="";this.host?n=e+this.host:this.hostname&&(n=e+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(n+=":"+this.port)),this.query&&i.isObject(this.query)&&Object.keys(this.query).length&&(r=O.stringify(this.query));var E=this.search||r&&"?"+r||"";return t&&":"!==t.substr(-1)&&(t+=":"),this.slashes||(!t||c[t])&&!1!==n?(n="//"+(n||""),a&&"/"!==a.charAt(0)&&(a="/"+a)):n||(n=""),o&&"#"!==o.charAt(0)&&(o="#"+o),E&&"?"!==E.charAt(0)&&(E="?"+E),t+n+(a=a.replace(/[?#]/g,(function(e){return encodeURIComponent(e)})))+(E=E.replace("#","%23"))+o},n.prototype.resolve=function(e){return this.resolveObject(R(e,!1,!0)).format()},n.prototype.resolveObject=function(e){if(i.isString(e)){var t=new n;t.parse(e,!1,!0),e=t}for(var a=new n,o=Object.keys(this),r=0;r<o.length;r++){var E=o[r];a[E]=this[E]}if(a.hash=e.hash,""===e.href)return a.href=a.format(),a;if(e.slashes&&!e.protocol){for(var _=Object.keys(e),T=0;T<_.length;T++){var s=_[T];"protocol"!==s&&(a[s]=e[s])}return c[a.protocol]&&a.hostname&&!a.pathname&&(a.path=a.pathname="/"),a.href=a.format(),a}if(e.protocol&&e.protocol!==a.protocol){if(!c[e.protocol]){for(var S=Object.keys(e),l=0;l<S.length;l++){var I=S[l];a[I]=e[I]}return a.href=a.format(),a}if(a.protocol=e.protocol,e.host||d[e.protocol])a.pathname=e.pathname;else{for(var A=(e.pathname||"").split("/");A.length&&!(e.host=A.shift()););e.host||(e.host=""),e.hostname||(e.hostname=""),""!==A[0]&&A.unshift(""),A.length<2&&A.unshift(""),a.pathname=A.join("/")}if(a.search=e.search,a.query=e.query,a.host=e.host||"",a.auth=e.auth,a.hostname=e.hostname||e.host,a.port=e.port,a.pathname||a.search){var u=a.pathname||"",O=a.search||"";a.path=u+O}return a.slashes=a.slashes||e.slashes,a.href=a.format(),a}var R=a.pathname&&"/"===a.pathname.charAt(0),N=e.host||e.pathname&&"/"===e.pathname.charAt(0),m=N||R||a.host&&e.pathname,L=m,D=a.pathname&&a.pathname.split("/")||[],p=(A=e.pathname&&e.pathname.split("/")||[],a.protocol&&!c[a.protocol]);if(p&&(a.hostname="",a.port=null,a.host&&(""===D[0]?D[0]=a.host:D.unshift(a.host)),a.host="",e.protocol&&(e.hostname=null,e.port=null,e.host&&(""===A[0]?A[0]=e.host:A.unshift(e.host)),e.host=null),m=m&&(""===A[0]||""===D[0])),N)a.host=e.host||""===e.host?e.host:a.host,a.hostname=e.hostname||""===e.hostname?e.hostname:a.hostname,a.search=e.search,a.query=e.query,D=A;else if(A.length)D||(D=[]),D.pop(),D=D.concat(A),a.search=e.search,a.query=e.query;else if(!i.isNullOrUndefined(e.search)){if(p)a.hostname=a.host=D.shift(),(P=!!(a.host&&a.host.indexOf("@")>0)&&a.host.split("@"))&&(a.auth=P.shift(),a.host=a.hostname=P.shift());return a.search=e.search,a.query=e.query,i.isNull(a.pathname)&&i.isNull(a.search)||(a.path=(a.pathname?a.pathname:"")+(a.search?a.search:"")),a.href=a.format(),a}if(!D.length)return a.pathname=null,a.search?a.path="/"+a.search:a.path=null,a.href=a.format(),a;for(var h=D.slice(-1)[0],C=(a.host||e.host||D.length>1)&&("."===h||".."===h)||""===h,f=0,B=D.length;B>=0;B--)"."===(h=D[B])?D.splice(B,1):".."===h?(D.splice(B,1),f++):f&&(D.splice(B,1),f--);if(!m&&!L)for(;f--;f)D.unshift("..");!m||""===D[0]||D[0]&&"/"===D[0].charAt(0)||D.unshift(""),C&&"/"!==D.join("/").substr(-1)&&D.push("");var P,g=""===D[0]||D[0]&&"/"===D[0].charAt(0);p&&(a.hostname=a.host=g?"":D.length?D.shift():"",(P=!!(a.host&&a.host.indexOf("@")>0)&&a.host.split("@"))&&(a.auth=P.shift(),a.host=a.hostname=P.shift()));return(m=m||a.host&&D.length)&&!g&&D.unshift(""),D.length?a.pathname=D.join("/"):(a.pathname=null,a.path=null),i.isNull(a.pathname)&&i.isNull(a.search)||(a.path=(a.pathname?a.pathname:"")+(a.search?a.search:"")),a.auth=e.auth||a.auth,a.slashes=a.slashes||e.slashes,a.href=a.format(),a},n.prototype.parseHost=function(){var e=this.host,t=E.exec(e);t&&(":"!==(t=t[0])&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)}},62502:e=>{"use strict";e.exports={isString:function(e){return"string"==typeof e},isObject:function(e){return"object"==typeof e&&null!==e},isNull:function(e){return null===e},isNullOrUndefined:function(e){return null==e}}},20243:(e,t,a)=>{"use strict";Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});const o=a(67294);var i,n=((i=n||{}).Mouse="mouse",i.Touch="touch",i.Pointer="pointer",i),r=(e=>(e.CancelledByMovement="cancelled-by-movement",e.CancelledByRelease="cancelled-by-release",e.CancelledOutsideElement="cancelled-outside-element",e))(r||{});const E=()=>"object"==typeof window?window?.PointerEvent??null:null;function _(e){const{nativeEvent:t}=e;if(!t)return!1;const a="object"==typeof window?window?.TouchEvent??null:null;return a&&t instanceof a||"touches"in t}function T(e){const t=E();return e.nativeEvent instanceof MouseEvent&&!(t&&e.nativeEvent instanceof t)}function s(e){const{nativeEvent:t}=e;if(!t)return!1;const a=E();return a&&t instanceof a||"pointerId"in t}function S(e){return T(e)||_(e)||s(e)}function l(e){return _(e)?{x:e.touches[0].pageX,y:e.touches[0].pageY}:T(e)||s(e)?{x:e.pageX,y:e.pageY}:null}t.LongPressCallbackReason=r,t.LongPressEventType=n,t.useLongPress=function(e,{threshold:t=400,captureEvent:a=!1,detect:i=n.Pointer,cancelOnMovement:E=!1,cancelOutsideElement:_=!0,filterEvents:T,onStart:s,onMove:I,onFinish:A,onCancel:u}={}){const d=o.useRef(!1),c=o.useRef(!1),O=o.useRef(),R=o.useRef(),N=o.useRef(e),m=o.useRef(null),L=o.useCallback((e=>o=>{c.current||S(o)&&(void 0!==T&&!T(o)||(a&&o.persist(),s?.(o,{context:e}),m.current=l(o),c.current=!0,O.current=o.currentTarget,R.current=setTimeout((()=>{N.current&&(N.current(o,{context:e}),d.current=!0)}),t)))}),[a,T,s,t]),D=o.useCallback((e=>(t,o)=>{S(t)&&c.current&&(m.current=null,a&&t.persist(),d.current?A?.(t,{context:e}):c.current&&u?.(t,{context:e,reason:o??r.CancelledByRelease}),d.current=!1,c.current=!1,void 0!==R.current&&clearTimeout(R.current))}),[a,A,u]),p=o.useCallback((e=>t=>{if(I?.(t,{context:e}),E&&m.current){const a=l(t);if(a){const o=!0===E?25:E,i={x:Math.abs(a.x-m.current.x),y:Math.abs(a.y-m.current.y)};(i.x>o||i.y>o)&&D(e)(t,r.CancelledByMovement)}}}),[D,E,I]),h=o.useCallback((t=>{if(null===e)return{};switch(i){case n.Mouse:{const e={onMouseDown:L(t),onMouseMove:p(t),onMouseUp:D(t)};return _&&(e.onMouseLeave=e=>{D(t)(e,r.CancelledOutsideElement)}),e}case n.Touch:return{onTouchStart:L(t),onTouchMove:p(t),onTouchEnd:D(t)};case n.Pointer:{const e={onPointerDown:L(t),onPointerMove:p(t),onPointerUp:D(t)};return _&&(e.onPointerLeave=e=>D(t)(e,r.CancelledOutsideElement)),e}}}),[e,D,_,i,p,L]);return o.useEffect((()=>{if(window)return window.addEventListener("mouseup",e),window.addEventListener("touchend",e),window.addEventListener("pointerup",e),()=>{window.removeEventListener("mouseup",e),window.removeEventListener("touchend",e),window.removeEventListener("pointerup",e)};function e(e){const t=(function(e){return{target:e.target,currentTarget:e.currentTarget,nativeEvent:e,persist:()=>{}}})(e);D()(t)}}),[D]),o.useEffect((()=>()=>{void 0!==R.current&&clearTimeout(R.current)}),[]),o.useEffect((()=>{N.current=e}),[e]),h}},71739:e=>{e.exports={area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0}},58369:(e,t,a)=>{e.exports={WebVTT:a(40112).WebVTT,VTTCue:a(66427).VTTCue,VTTRegion:a(47224).VTTRegion}},40112:function(){!(function(e){function t(e,t){return void 0===t&&(t=1),"rgba("+[parseInt(e.substring(0,2),16),parseInt(e.substring(2,4),16),parseInt(e.substring(4,6),16),t].join(",")+")"}var a=1;function o(e,o,n){switch(n){case"webvtt.font.color":case"webvtt.font.opacity":var r=Services.prefs.getCharPref("webvtt.font.color"),E=Services.prefs.getIntPref("webvtt.font.opacity")/100;i.fontSet=t(r,E);break;case"webvtt.font.scale":a=Services.prefs.getIntPref("webvtt.font.scale")/100;break;case"webvtt.bg.color":case"webvtt.bg.opacity":var _=Services.prefs.getCharPref("webvtt.bg.color"),T=Services.prefs.getIntPref("webvtt.bg.opacity")/100;i.backgroundSet=t(_,T);break;case"webvtt.edge.color":case"webvtt.edge.type":var s=Services.prefs.getIntPref("webvtt.edge.type"),S=Services.prefs.getCharPref("webvtt.edge.color");i.edgeSet=["","0px 0px ","4px 4px 4px ","-2px -2px ","2px 2px "][s]+t(S)}}if("undefined"!=typeof Services){var i={};["webvtt.font.color","webvtt.font.opacity","webvtt.font.scale","webvtt.bg.color","webvtt.bg.opacity","webvtt.edge.color","webvtt.edge.type"].forEach((function(e){o(0,0,e),Services.prefs.addObserver(e,o,!1)}))}var n=Object.create||(function(){function e(){}return function(t){if(1!==arguments.length)throw new Error("Object.create shim only accepts one parameter.");return e.prototype=t,new e}})();function r(e,t){this.name="ParsingError",this.code=e.code,this.message=t||e.message}function E(e){function t(e,t,a,o){return 3600*(0|e)+60*(0|t)+(0|a)+(0|o)/1e3}var a=e.match(/^(\d+):(\d{2})(:\d{2})?\.(\d{3})/);return a?a[3]?t(a[1],a[2],a[3].replace(":",""),a[4]):a[1]>59?t(a[1],a[2],0,a[4]):t(0,a[1],a[2],a[4]):null}function _(){this.values=n(null)}function T(e,t,a,o){var i=o?e.split(o):[e];for(var n in i)if("string"==typeof i[n]){var r=i[n].split(a);if(2===r.length)t(r[0],r[1])}}r.prototype=n(Error.prototype),r.prototype.constructor=r,r.Errors={BadSignature:{code:0,message:"Malformed WebVTT signature."},BadTimeStamp:{code:1,message:"Malformed time stamp."}},_.prototype={set:function(e,t){this.get(e)||""===t||(this.values[e]=t)},get:function(e,t,a){return a?this.has(e)?this.values[e]:t[a]:this.has(e)?this.values[e]:t},has:function(e){return e in this.values},alt:function(e,t,a){for(var o=0;o<a.length;++o)if(t===a[o]){this.set(e,t);break}},integer:function(e,t){/^-?\d+$/.test(t)&&this.set(e,parseInt(t,10))},percent:function(e,t){return!!(t.match(/^([\d]{1,3})(\.[\d]*)?%$/)&&(t=parseFloat(t))>=0&&t<=100)&&(this.set(e,t),!0)}};var s={"&amp;":"&","&lt;":"<","&gt;":">","&lrm;":"‎","&rlm;":"‏","&nbsp;":" "},S={c:"span",i:"i",b:"b",u:"u",ruby:"ruby",rt:"rt",v:"span",lang:"span"},l={v:"title",lang:"lang"},I={rt:"ruby"};function A(e,t){function a(){if(!t)return null;var e,a=t.match(/^([^<]*)(<[^>]+>?)?/);return e=a[1]?a[1]:a[2],t=t.substr(e.length),e}function o(e){return s[e]}function i(e){for(;O=e.match(/&(amp|lt|gt|lrm|rlm|nbsp);/);)e=e.replace(O[0],o);return e}function n(e,t){return!I[t.localName]||I[t.localName]===e.localName}function r(t,a){var o=S[t];if(!o)return null;var i=e.document.createElement(o);i.localName=o;var n=l[t];return n&&a&&(i[n]=a.trim()),i}for(var _,T=e.document.createElement("div"),A=T,u=[];null!==(_=a());)if("<"!==_[0])A.appendChild(e.document.createTextNode(i(_)));else{if("/"===_[1]){u.length&&u[u.length-1]===_.substr(2).replace(">","")&&(u.pop(),A=A.parentNode);continue}var d,c=E(_.substr(1,_.length-2));if(c){d=e.document.createProcessingInstruction("timestamp",c),A.appendChild(d);continue}var O=_.match(/^<([^.\s/0-9>]+)(\.[^\s\\>]+)?([^>\\]+)?(\\?)>?$/);if(!O)continue;if(!(d=r(O[1],O[3])))continue;if(!n(A,d))continue;O[2]&&(d.className=O[2].substr(1).replace("."," ")),u.push(O[1]),A.appendChild(d),A=d}return T}var u=[[1470,1470],[1472,1472],[1475,1475],[1478,1478],[1488,1514],[1520,1524],[1544,1544],[1547,1547],[1549,1549],[1563,1563],[1566,1610],[1645,1647],[1649,1749],[1765,1766],[1774,1775],[1786,1805],[1807,1808],[1810,1839],[1869,1957],[1969,1969],[1984,2026],[2036,2037],[2042,2042],[2048,2069],[2074,2074],[2084,2084],[2088,2088],[2096,2110],[2112,2136],[2142,2142],[2208,2208],[2210,2220],[8207,8207],[64285,64285],[64287,64296],[64298,64310],[64312,64316],[64318,64318],[64320,64321],[64323,64324],[64326,64449],[64467,64829],[64848,64911],[64914,64967],[65008,65020],[65136,65140],[65142,65276],[67584,67589],[67592,67592],[67594,67637],[67639,67640],[67644,67644],[67647,67669],[67671,67679],[67840,67867],[67872,67897],[67903,67903],[67968,68023],[68030,68031],[68096,68096],[68112,68115],[68117,68119],[68121,68147],[68160,68167],[68176,68184],[68192,68223],[68352,68405],[68416,68437],[68440,68466],[68472,68479],[68608,68680],[126464,126467],[126469,126495],[126497,126498],[126500,126500],[126503,126503],[126505,126514],[126516,126519],[126521,126521],[126523,126523],[126530,126530],[126535,126535],[126537,126537],[126539,126539],[126541,126543],[126545,126546],[126548,126548],[126551,126551],[126553,126553],[126555,126555],[126557,126557],[126559,126559],[126561,126562],[126564,126564],[126567,126570],[126572,126578],[126580,126583],[126585,126588],[126590,126590],[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[1114109,1114109]];function d(e){for(var t=0;t<u.length;t++){var a=u[t];if(e>=a[0]&&e<=a[1])return!0}return!1}function c(){}function O(e,t,a){var o="undefined"!=typeof navigator&&/MSIE\s8\.0/.test(navigator.userAgent),n="rgba(255, 255, 255, 1)",r="rgba(0, 0, 0, 0.8)",E="";void 0!==i&&(n=i.fontSet,r=i.backgroundSet,E=i.edgeSet),o&&(n="rgb(255, 255, 255)",r="rgb(0, 0, 0)"),c.call(this),this.cue=t,this.cueDiv=A(e,t.text);var _={color:n,backgroundColor:r,textShadow:E,position:"relative",left:0,right:0,top:0,bottom:0,display:"inline"};o||(_.writingMode=""===t.vertical?"horizontal-tb":"lr"===t.vertical?"vertical-lr":"vertical-rl",_.unicodeBidi="plaintext"),this.applyStyles(_,this.cueDiv),this.div=e.document.createElement("div"),_={textAlign:"middle"===t.align?"center":t.align,font:a.font,whiteSpace:"pre-line",position:"absolute"},o||(_.direction=(function(e){var t=[],a="";if(!e||!e.childNodes)return"ltr";function o(e,t){for(var a=t.childNodes.length-1;a>=0;a--)e.push(t.childNodes[a])}function i(e){if(!e||!e.length)return null;var t=e.pop(),a=t.textContent||t.innerText;if(a){var n=a.match(/^.*(\n|\r)/);return n?(e.length=0,n[0]):a}return"ruby"===t.tagName?i(e):t.childNodes?(o(e,t),i(e)):void 0}for(o(t,e);a=i(t);)for(var n=0;n<a.length;n++)if(d(a.charCodeAt(n)))return"rtl";return"ltr"})(this.cueDiv),_.writingMode=""===t.vertical?"horizontal-tb":"lr"===t.vertical?"vertical-lr":"vertical-rl".stylesunicodeBidi="plaintext"),this.applyStyles(_),this.div.appendChild(this.cueDiv);var T=0;switch(t.positionAlign){case"start":T=t.position;break;case"middle":T=t.position-t.size/2;break;case"end":T=t.position-t.size}""===t.vertical?this.applyStyles({left:this.formatStyle(T,"%"),width:this.formatStyle(t.size,"%")}):this.applyStyles({top:this.formatStyle(T,"%"),height:this.formatStyle(t.size,"%")}),this.move=function(e){this.applyStyles({top:this.formatStyle(e.top,"px"),bottom:this.formatStyle(e.bottom,"px"),left:this.formatStyle(e.left,"px"),right:this.formatStyle(e.right,"px"),height:this.formatStyle(e.height,"px"),width:this.formatStyle(e.width,"px")})}}function R(e){var t,a,o,i,n="undefined"!=typeof navigator&&/MSIE\s8\.0/.test(navigator.userAgent);if(e.div){a=e.div.offsetHeight,o=e.div.offsetWidth,i=e.div.offsetTop;var r=(r=e.div.childNodes)&&(r=r[0])&&r.getClientRects&&r.getClientRects();e=e.div.getBoundingClientRect(),t=r?Math.max(r[0]&&r[0].height||0,e.height/r.length):0}this.left=e.left,this.right=e.right,this.top=e.top||i,this.height=e.height||a,this.bottom=e.bottom||i+(e.height||a),this.width=e.width||o,this.lineHeight=void 0!==t?t:e.lineHeight,n&&!this.lineHeight&&(this.lineHeight=13)}function N(e,t,a,o){var i=new R(t),n=t.cue,r=(function(e){if("number"==typeof e.line&&(e.snapToLines||e.line>=0&&e.line<=100))return e.line;if(!e.track||!e.track.textTrackList||!e.track.textTrackList.mediaElement)return-1;for(var t=e.track,a=t.textTrackList,o=0,i=0;i<a.length&&a[i]!==t;i++)"showing"===a[i].mode&&o++;return-1*++o})(n),E=[];if(n.snapToLines){var _;switch(n.vertical){case"":E=["+y","-y"],_="height";break;case"rl":E=["+x","-x"],_="width";break;case"lr":E=["-x","+x"],_="width"}var T=i.lineHeight,s=T*Math.round(r),S=a[_]+T,l=E[0];Math.abs(s)>S&&(s=s<0?-1:1,s*=Math.ceil(S/T)*T),r<0&&(s+=""===n.vertical?a.height:a.width,E=E.reverse()),i.move(l,s)}else{var I=i.lineHeight/a.height*100;switch(n.lineAlign){case"middle":r-=I/2;break;case"end":r-=I}switch(n.vertical){case"":t.applyStyles({top:t.formatStyle(r,"%")});break;case"rl":t.applyStyles({left:t.formatStyle(r,"%")});break;case"lr":t.applyStyles({right:t.formatStyle(r,"%")})}E=["+y","-x","+x","-y"],i=new R(t)}var A=(function(e,t){for(var i,n=new R(e),r=1,E=0;E<t.length;E++){for(;e.overlapsOppositeAxis(a,t[E])||e.within(a)&&e.overlapsAny(o);)e.move(t[E]);if(e.within(a))return e;var _=e.intersectPercentage(a);r>_&&(i=new R(e),r=_),e=new R(n)}return i||n})(i,E);t.move(A.toCSSCompatValues(a))}function m(){}c.prototype.applyStyles=function(e,t){for(var a in t=t||this.div,e)e.hasOwnProperty(a)&&(t.style[a]=e[a])},c.prototype.formatStyle=function(e,t){return 0===e?0:e+t},O.prototype=n(c.prototype),O.prototype.constructor=O,R.prototype.move=function(e,t){switch(t=void 0!==t?t:this.lineHeight,e){case"+x":this.left+=t,this.right+=t;break;case"-x":this.left-=t,this.right-=t;break;case"+y":this.top+=t,this.bottom+=t;break;case"-y":this.top-=t,this.bottom-=t}},R.prototype.overlaps=function(e){return this.left<e.right&&this.right>e.left&&this.top<e.bottom&&this.bottom>e.top},R.prototype.overlapsAny=function(e){for(var t=0;t<e.length;t++)if(this.overlaps(e[t]))return!0;return!1},R.prototype.within=function(e){return this.top>=e.top&&this.bottom<=e.bottom&&this.left>=e.left&&this.right<=e.right},R.prototype.overlapsOppositeAxis=function(e,t){switch(t){case"+x":return this.left<e.left;case"-x":return this.right>e.right;case"+y":return this.top<e.top;case"-y":return this.bottom>e.bottom}},R.prototype.intersectPercentage=function(e){return Math.max(0,Math.min(this.right,e.right)-Math.max(this.left,e.left))*Math.max(0,Math.min(this.bottom,e.bottom)-Math.max(this.top,e.top))/(this.height*this.width)},R.prototype.toCSSCompatValues=function(e){return{top:this.top-e.top,bottom:e.bottom-this.bottom,left:this.left-e.left,right:e.right-this.right,height:this.height,width:this.width}},R.getSimpleBoxPosition=function(e){var t=e.div?e.div.offsetHeight:e.tagName?e.offsetHeight:0,a=e.div?e.div.offsetWidth:e.tagName?e.offsetWidth:0,o=e.div?e.div.offsetTop:e.tagName?e.offsetTop:0;return{left:(e=e.div?e.div.getBoundingClientRect():e.tagName?e.getBoundingClientRect():e).left,right:e.right,top:e.top||o,height:e.height||t,bottom:e.bottom||o+(e.height||t),width:e.width||a}},m.StringDecoder=function(){return{decode:function(e){if(!e)return"";if("string"!=typeof e)throw new Error("Error - expected string data.");return decodeURIComponent(encodeURIComponent(e))}}},m.convertCueToDOMTree=function(e,t){return e&&t?A(e,t):null};m.processCues=function(e,t,o){if(!e||!t||!o)return null;for(;o.firstChild;)o.removeChild(o.firstChild);var i=e.document.createElement("div");if(i.style.position="absolute",i.style.left="0",i.style.right="0",i.style.top="0",i.style.bottom="0",i.style.margin="1.5%",o.appendChild(i),(function(e){for(var t=0;t<e.length;t++)if(e[t].hasBeenReset||!e[t].displayState)return!0;return!1})(t)){var n=[],r=R.getSimpleBoxPosition(i),E={font:Math.round(.05*r.height*100)/100*a+"px sans-serif"};!(function(){for(var a,o,_=0;_<t.length;_++)o=t[_],a=new O(e,o,E),i.appendChild(a.div),N(0,a,r,n),o.displayState=a.div,n.push(R.getSimpleBoxPosition(a))})()}else for(var _=0;_<t.length;_++)i.appendChild(t[_].displayState)},m.Parser=function(e,t,a){this.window=e,this.state="INITIAL",this.buffer="",this.decoder=t||new TextDecoder("utf8"),this.regionList=[],this.VTTCue=a},m.Parser.prototype={reportOrThrowError:function(e){if(!(e instanceof r))throw e;this.onparsingerror&&this.onparsingerror(e)},parse:function(e){var t,a,o=this;function i(){for(var e=o.buffer,t=0;t<e.length&&"\r"!==e[t]&&"\n"!==e[t];)++t;var a=e.substr(0,t);return"\r"===e[t]&&++t,"\n"===e[t]&&++t,o.buffer=e.substr(t),a}function n(e){e.match(/X-TIMESTAMP-MAP/)?T(e,(function(e,t){if("X-TIMESTAMP-MAP"===e)!(function(e){var t=new _;T(e,(function(e,a){switch(e){case"MPEGT":t.integer(e+"S",a);break;case"LOCA":t.set(e+"L",E(a))}}),/[^\d]:/,/,/),o.ontimestampmap&&o.ontimestampmap({MPEGTS:t.get("MPEGTS"),LOCAL:t.get("LOCAL")})})(t)}),/=/):T(e,(function(e,t){if("Region"===e)!(function(e){var t=new _;if(T(e,(function(e,a){switch(e){case"id":t.set(e,a);break;case"width":t.percent(e,a);break;case"lines":t.integer(e,a);break;case"regionanchor":case"viewportanchor":var o=a.split(",");if(2!==o.length)break;var i=new _;if(i.percent("x",o[0]),i.percent("y",o[1]),!i.has("x")||!i.has("y"))break;t.set(e+"X",i.get("x")),t.set(e+"Y",i.get("y"));break;case"scroll":t.alt(e,a,["up"])}}),/=/,/\s/),t.has("id")){var a=new o.window.VTTRegion;a.width=t.get("width",100),a.lines=t.get("lines",3),a.regionAnchorX=t.get("regionanchorX",0),a.regionAnchorY=t.get("regionanchorY",100),a.viewportAnchorX=t.get("viewportanchorX",0),a.viewportAnchorY=t.get("viewportanchorY",100),a.scroll=t.get("scroll",""),o.onregion&&o.onregion(a),o.regionList.push({id:t.get("id"),region:a})}})(t)}),/:/)}if(e&&(o.buffer+=o.decoder.decode(e,{stream:!0})),"INITIAL"===o.state){if(!/\r\n|\n/.test(o.buffer))return this;var s=(t=i()).match(/^WEBVTT([ \t].*)?$/);if(!s||!s[0])return a=new r(r.Errors.BadSignature),o.reportOrThrowError(a),"CUETEXT"===o.state&&o.cue&&o.oncue&&o.oncue(o.cue),o.cue=null,void(o.state="INITIAL"===o.state?"BADWEBVTT":"BADCUE");o.state="HEADER"}var S=!1,l=0;var I,A=(I=function(){if(o.buffer&&/\r\n|\n/.test(o.buffer))switch(S?S=!1:t=i(),o.state){case"HEADER":/:/.test(t)?n(t):t||(o.state="ID"),A();break;case"NOTE":t||(o.state="ID"),A();break;case"ID":if(/^NOTE($|[ \t])/.test(t)){o.state="NOTE",A();break}if(!t){A();break}if(o.cue=new(o.VTTCue||o.window.VTTCue)(0,0,""),o.state="CUE",-1===t.indexOf("--\x3e")){o.cue.id=t,A();break}case"CUE":!(function(e,t,a,o,i){var n,s=e;function S(){var t=E(e);if(null!==t||!i)return e=e.replace(/^[^\sa-zA-Z-]+/,""),t;i(new r(r.Errors.BadTimeStamp,"Malformed timestamp: "+s))}function l(){e=e.replace(/^\s+/,"")}l(),void 0!==(n=S())&&(t.startTime=n,l(),"--\x3e"===e.substr(0,3)?(e=e.substr(3),l(),void 0!==(n=S())&&(t.endTime=n,l(),(function(e,t){var i=new _;T(e,(function(e,t){switch(e){case"region":for(var o=a.length-1;o>=0;o--)if(a[o].id===t){i.set(e,a[o].region);break}break;case"vertical":i.alt(e,t,["rl","lr"]);break;case"line":var n=t.split(","),r=n[0];i.integer(e,r),i.percent(e,r)&&i.set("snapToLines",!1),i.alt(e,r,["auto"]),2===n.length&&i.alt("lineAlign",n[1],["start","middle","end"]);break;case"position":n=t.split(","),i.percent(e,n[0]),2===n.length&&i.alt("positionAlign",n[1],["start","middle","end"]);break;case"size":i.percent(e,t);break;case"align":i.alt(e,t,["start","middle","end","left","right"])}}),/:/,/\s/),t.region=i.get("region",null),t.vertical=i.get("vertical",""),t.line=i.get("line","auto"),t.lineAlign=i.get("lineAlign","start"),t.snapToLines=i.get("snapToLines",!0),t.size=i.get("size",100),t.align=i.get("align","center"),t.position=i.get("position","auto"),t.positionAlign=i.get("positionAlign",{start:"start",left:"start",middle:"middle",end:"end",right:"end",center:"center"},t.align),o()})(e,t))):i(new r(r.Errors.BadTimeStamp,"Malformed time stamp (time stamps must be separated by '--\x3e'): "+s)))})(t,o.cue,o.regionList,(function(){o.state="CUETEXT",A()}),(function(e){o.reportOrThrowError(e),o.cue=null,o.state="BADCUE",A()}));break;case"CUETEXT":var e=-1!==t.indexOf("--\x3e");if(!t||e&&(S=!0)){o.oncue&&o.oncue(o.cue),o.cue=null,o.state="ID",A();break}o.cue.text&&(o.cue.text+="\n"),o.cue.text+=t,A();break;case"BADCUE":t||(o.state="ID"),A()}else o.flush()},function(){if(++l<1e3)return I();setTimeout((function(){l=0,I()}))});return A(),this},flush:function(){var e=this;try{if(e.buffer+=e.decoder.decode(),(e.cue||"HEADER"===e.state)&&(e.buffer+="\n\n",e.parse()),"INITIAL"===e.state)throw new r(r.Errors.BadSignature)}catch(t){e.reportOrThrowError(t)}return e.onflush&&e.onflush(),this}},e.WebVTT=m})(this)},66427:function(e,t,a){var o;e.exports&&(this.VTTCue=this.VTTCue||a(30113).VTTCue),(o=this).VTTCue.prototype.toJSON=function(){var e={},t=this;return Object.keys(this).forEach((function(a){"getCueAsHTML"!==a&&"hasBeenReset"!==a&&"displayState"!==a&&(e[a]=t[a])})),e},o.VTTCue.create=function(e){if(!e.hasOwnProperty("startTime")||!e.hasOwnProperty("endTime")||!e.hasOwnProperty("text"))throw new Error("You must at least have start time, end time, and text.");var t=new o.VTTCue(e.startTime,e.endTime,e.text);for(var a in e)t.hasOwnProperty(a)&&(t[a]=e[a]);return t},o.VTTCue.fromJSON=function(e){return this.create(JSON.parse(e))}},30113:function(){!(function(e){var t={"":!0,lr:!0,rl:!0},a={start:!0,middle:!0,end:!0,left:!0,right:!0};function o(e){return"string"==typeof e&&(!!a[e.toLowerCase()]&&e.toLowerCase())}function i(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var o in a)e[o]=a[o]}return e}function n(e,a,n){var r=this,E=/MSIE\s8\.0/.test(navigator.userAgent),_={};E?r=document.createElement("custom"):_.enumerable=!0,r.hasBeenReset=!1;var T="",s=!1,S=e,l=a,I=n,A=null,u="",d=!0,c="auto",O="start",R=50,N="middle",m=50,L="middle";if(Object.defineProperty(r,"id",i({},_,{get:function(){return T},set:function(e){T=""+e}})),Object.defineProperty(r,"pauseOnExit",i({},_,{get:function(){return s},set:function(e){s=!!e}})),Object.defineProperty(r,"startTime",i({},_,{get:function(){return S},set:function(e){if("number"!=typeof e)throw new TypeError("Start time must be set to a number.");S=e,this.hasBeenReset=!0}})),Object.defineProperty(r,"endTime",i({},_,{get:function(){return l},set:function(e){if("number"!=typeof e)throw new TypeError("End time must be set to a number.");l=e,this.hasBeenReset=!0}})),Object.defineProperty(r,"text",i({},_,{get:function(){return I},set:function(e){I=""+e,this.hasBeenReset=!0}})),Object.defineProperty(r,"region",i({},_,{get:function(){return A},set:function(e){A=e,this.hasBeenReset=!0}})),Object.defineProperty(r,"vertical",i({},_,{get:function(){return u},set:function(e){var a=(function(e){return"string"==typeof e&&!!t[e.toLowerCase()]&&e.toLowerCase()})(e);if(!1===a)throw new SyntaxError("An invalid or illegal string was specified.");u=a,this.hasBeenReset=!0}})),Object.defineProperty(r,"snapToLines",i({},_,{get:function(){return d},set:function(e){d=!!e,this.hasBeenReset=!0}})),Object.defineProperty(r,"line",i({},_,{get:function(){return c},set:function(e){if("number"!=typeof e&&"auto"!==e)throw new SyntaxError("An invalid number or illegal string was specified.");c=e,this.hasBeenReset=!0}})),Object.defineProperty(r,"lineAlign",i({},_,{get:function(){return O},set:function(e){var t=o(e);if(!t)throw new SyntaxError("An invalid or illegal string was specified.");O=t,this.hasBeenReset=!0}})),Object.defineProperty(r,"position",i({},_,{get:function(){return R},set:function(e){if(e<0||e>100)throw new Error("Position must be between 0 and 100.");R=e,this.hasBeenReset=!0}})),Object.defineProperty(r,"positionAlign",i({},_,{get:function(){return N},set:function(e){var t=o(e);if(!t)throw new SyntaxError("An invalid or illegal string was specified.");N=t,this.hasBeenReset=!0}})),Object.defineProperty(r,"size",i({},_,{get:function(){return m},set:function(e){if(e<0||e>100)throw new Error("Size must be between 0 and 100.");m=e,this.hasBeenReset=!0}})),Object.defineProperty(r,"align",i({},_,{get:function(){return L},set:function(e){var t=o(e);if(!t)throw new SyntaxError("An invalid or illegal string was specified.");L=t,this.hasBeenReset=!0}})),r.displayState=void 0,E)return r}n.prototype.getCueAsHTML=function(){return WebVTT.convertCueToDOMTree(window,this.text)},e.VTTCue=e.VTTCue||n})(this)},47224:function(e,t,a){var o;e.exports&&(this.VTTRegion=a(82285).VTTRegion),(o=this).VTTRegion.create=function(e){var t=new o.VTTRegion;for(var a in e)t.hasOwnProperty(a)&&(t[a]=e[a]);return t},o.VTTRegion.fromJSON=function(e){return this.create(JSON.parse(e))}},82285:function(){!(function(e){var t={"":!0,up:!0};function a(e){return"number"==typeof e&&e>=0&&e<=100}e.VTTRegion=e.VTTRegion||function(){var e=100,o=3,i=0,n=100,r=0,E=100,_="";Object.defineProperties(this,{width:{enumerable:!0,get:function(){return e},set:function(t){if(!a(t))throw new Error("Width must be between 0 and 100.");e=t}},lines:{enumerable:!0,get:function(){return o},set:function(e){if("number"!=typeof e)throw new TypeError("Lines must be set to a number.");o=e}},regionAnchorY:{enumerable:!0,get:function(){return n},set:function(e){if(!a(e))throw new Error("RegionAnchorX must be between 0 and 100.");n=e}},regionAnchorX:{enumerable:!0,get:function(){return i},set:function(e){if(!a(e))throw new Error("RegionAnchorY must be between 0 and 100.");i=e}},viewportAnchorY:{enumerable:!0,get:function(){return E},set:function(e){if(!a(e))throw new Error("ViewportAnchorY must be between 0 and 100.");E=e}},viewportAnchorX:{enumerable:!0,get:function(){return r},set:function(e){if(!a(e))throw new Error("ViewportAnchorX must be between 0 and 100.");r=e}},scroll:{enumerable:!0,get:function(){return _},set:function(e){var a=(function(e){return"string"==typeof e&&!!t[e.toLowerCase()]&&e.toLowerCase()})(e);if(!1===a)throw new SyntaxError("An invalid or illegal string was specified.");_=a}}})}})(this)},93028:(e,t,a)=>{"use strict";e.exports=a.p+"db0f16b81e41b3901bcf5e0a624af142b1dd9f00/images/anonymous.png"},11251:(e,t,a)=>{"use strict";e.exports=a.p+"db0f16b81e41b3901bcf5e0a624af142b1dd9f00/images/default_avatar.png"},47740:(e,t,a)=>{"use strict";e.exports=a.p+"db0f16b81e41b3901bcf5e0a624af142b1dd9f00/images/empty.png"},75631:(e,t,a)=>{"use strict";e.exports=a.p+"db0f16b81e41b3901bcf5e0a624af142b1dd9f00/images/logo.png"},35313:(e,t,a)=>{"use strict";e.exports=a.p+"db0f16b81e41b3901bcf5e0a624af142b1dd9f00/images/stremio_symbol.png"},15016:e=>{function t(e,t,a,o,i,n,r){try{var E=e[n](r),_=E.value}catch(e){return void a(e)}E.done?t(_):Promise.resolve(_).then(o,i)}e.exports=function(e){return function(){var a=this,o=arguments;return new Promise((function(i,n){var r=e.apply(a,o);function E(e){t(r,i,n,E,_,"next",e)}function _(e){t(r,i,n,E,_,"throw",e)}E(void 0)}))}},e.exports.__esModule=!0,e.exports.default=e.exports},69926:e=>{e.exports=function(e){return e&&e.__esModule?e:{default:e}},e.exports.__esModule=!0,e.exports.default=e.exports},49685:(e,t,a)=>{var o=a(97606).default;function i(){"use strict";e.exports=i=function(){return a},e.exports.__esModule=!0,e.exports.default=e.exports;var t,a={},n=Object.prototype,r=n.hasOwnProperty,E=Object.defineProperty||function(e,t,a){e[t]=a.value},_="function"==typeof Symbol?Symbol:{},T=_.iterator||"@@iterator",s=_.asyncIterator||"@@asyncIterator",S=_.toStringTag||"@@toStringTag";function l(e,t,a){return Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{l({},"")}catch(t){l=function(e,t,a){return e[t]=a}}function I(e,t,a,o){var i=t&&t.prototype instanceof R?t:R,n=Object.create(i.prototype),r=new y(o||[]);return E(n,"_invoke",{value:B(e,a,r)}),n}function A(e,t,a){try{return{type:"normal",arg:e.call(t,a)}}catch(e){return{type:"throw",arg:e}}}a.wrap=I;var u="suspendedStart",d="executing",c="completed",O={};function R(){}function N(){}function m(){}var L={};l(L,T,(function(){return this}));var D=Object.getPrototypeOf,p=D&&D(D(W([])));p&&p!==n&&r.call(p,T)&&(L=p);var h=m.prototype=R.prototype=Object.create(L);function C(e){["next","throw","return"].forEach((function(t){l(e,t,(function(e){return this._invoke(t,e)}))}))}function f(e,t){function a(i,n,E,_){var T=A(e[i],e,n);if("throw"!==T.type){var s=T.arg,S=s.value;return S&&"object"==o(S)&&r.call(S,"__await")?t.resolve(S.__await).then((function(e){a("next",e,E,_)}),(function(e){a("throw",e,E,_)})):t.resolve(S).then((function(e){s.value=e,E(s)}),(function(e){return a("throw",e,E,_)}))}_(T.arg)}var i;E(this,"_invoke",{value:function(e,o){function n(){return new t((function(t,i){a(e,o,t,i)}))}return i=i?i.then(n,n):n()}})}function B(e,a,o){var i=u;return function(n,r){if(i===d)throw Error("Generator is already running");if(i===c){if("throw"===n)throw r;return{value:t,done:!0}}for(o.method=n,o.arg=r;;){var E=o.delegate;if(E){var _=P(E,o);if(_){if(_===O)continue;return _}}if("next"===o.method)o.sent=o._sent=o.arg;else if("throw"===o.method){if(i===u)throw i=c,o.arg;o.dispatchException(o.arg)}else"return"===o.method&&o.abrupt("return",o.arg);i=d;var T=A(e,a,o);if("normal"===T.type){if(i=o.done?c:"suspendedYield",T.arg===O)continue;return{value:T.arg,done:o.done}}"throw"===T.type&&(i=c,o.method="throw",o.arg=T.arg)}}}function P(e,a){var o=a.method,i=e.iterator[o];if(i===t)return a.delegate=null,"throw"===o&&e.iterator.return&&(a.method="return",a.arg=t,P(e,a),"throw"===a.method)||"return"!==o&&(a.method="throw",a.arg=new TypeError("The iterator does not provide a '"+o+"' method")),O;var n=A(i,e.iterator,a.arg);if("throw"===n.type)return a.method="throw",a.arg=n.arg,a.delegate=null,O;var r=n.arg;return r?r.done?(a[e.resultName]=r.value,a.next=e.nextLoc,"return"!==a.method&&(a.method="next",a.arg=t),a.delegate=null,O):r:(a.method="throw",a.arg=new TypeError("iterator result is not an object"),a.delegate=null,O)}function g(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function v(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function y(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(g,this),this.reset(!0)}function W(e){if(e||""===e){var a=e[T];if(a)return a.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var i=-1,n=function a(){for(;++i<e.length;)if(r.call(e,i))return a.value=e[i],a.done=!1,a;return a.value=t,a.done=!0,a};return n.next=n}}throw new TypeError(o(e)+" is not iterable")}return N.prototype=m,E(h,"constructor",{value:m,configurable:!0}),E(m,"constructor",{value:N,configurable:!0}),N.displayName=l(m,S,"GeneratorFunction"),a.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===N||"GeneratorFunction"===(t.displayName||t.name))},a.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,m):(e.__proto__=m,l(e,S,"GeneratorFunction")),e.prototype=Object.create(h),e},a.awrap=function(e){return{__await:e}},C(f.prototype),l(f.prototype,s,(function(){return this})),a.AsyncIterator=f,a.async=function(e,t,o,i,n){void 0===n&&(n=Promise);var r=new f(I(e,t,o,i),n);return a.isGeneratorFunction(t)?r:r.next().then((function(e){return e.done?e.value:r.next()}))},C(h),l(h,S,"Generator"),l(h,T,(function(){return this})),l(h,"toString",(function(){return"[object Generator]"})),a.keys=function(e){var t=Object(e),a=[];for(var o in t)a.push(o);return a.reverse(),function e(){for(;a.length;){var o=a.pop();if(o in t)return e.value=o,e.done=!1,e}return e.done=!0,e}},a.values=W,y.prototype={constructor:y,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(v),!e)for(var a in this)"t"===a.charAt(0)&&r.call(this,a)&&!isNaN(+a.slice(1))&&(this[a]=t)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var a=this;function o(o,i){return E.type="throw",E.arg=e,a.next=o,i&&(a.method="next",a.arg=t),!!i}for(var i=this.tryEntries.length-1;i>=0;--i){var n=this.tryEntries[i],E=n.completion;if("root"===n.tryLoc)return o("end");if(n.tryLoc<=this.prev){var _=r.call(n,"catchLoc"),T=r.call(n,"finallyLoc");if(_&&T){if(this.prev<n.catchLoc)return o(n.catchLoc,!0);if(this.prev<n.finallyLoc)return o(n.finallyLoc)}else if(_){if(this.prev<n.catchLoc)return o(n.catchLoc,!0)}else{if(!T)throw Error("try statement without catch or finally");if(this.prev<n.finallyLoc)return o(n.finallyLoc)}}}},abrupt:function(e,t){for(var a=this.tryEntries.length-1;a>=0;--a){var o=this.tryEntries[a];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var n=i?i.completion:{};return n.type=e,n.arg=t,i?(this.method="next",this.next=i.finallyLoc,O):this.complete(n)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),O},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var a=this.tryEntries[t];if(a.finallyLoc===e)return this.complete(a.completion,a.afterLoc),v(a),O}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var a=this.tryEntries[t];if(a.tryLoc===e){var o=a.completion;if("throw"===o.type){var i=o.arg;v(a)}return i}}throw Error("illegal catch attempt")},delegateYield:function(e,a,o){return this.delegate={iterator:W(e),resultName:a,nextLoc:o},"next"===this.method&&(this.arg=t),O}},a}e.exports=i,e.exports.__esModule=!0,e.exports.default=e.exports},97606:e=>{function t(a){return e.exports=t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.__esModule=!0,e.exports.default=e.exports,t(a)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports},33167:(e,t,a)=>{var o=a(49685)();e.exports=o;try{regeneratorRuntime=o}catch(e){"object"==typeof globalThis?globalThis.regeneratorRuntime=o:Function("r","regeneratorRuntime = r")(o)}},39059:e=>{e.exports=function(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o},e.exports.__esModule=!0,e.exports.default=e.exports},53280:e=>{e.exports=function(e){if(Array.isArray(e))return e},e.exports.__esModule=!0,e.exports.default=e.exports},25627:e=>{e.exports=function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e},e.exports.__esModule=!0,e.exports.default=e.exports},50949:e=>{e.exports=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},e.exports.__esModule=!0,e.exports.default=e.exports},94813:(e,t,a)=>{var o=a(13213);function i(e,t){for(var a=0;a<t.length;a++){var i=t[a];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,o(i.key),i)}}e.exports=function(e,t,a){return t&&i(e.prototype,t),a&&i(e,a),Object.defineProperty(e,"prototype",{writable:!1}),e},e.exports.__esModule=!0,e.exports.default=e.exports},92401:(e,t,a)=>{var o=a(13213);e.exports=function(e,t,a){return(t=o(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e},e.exports.__esModule=!0,e.exports.default=e.exports},42411:e=>{function t(a){return e.exports=t=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},e.exports.__esModule=!0,e.exports.default=e.exports,t(a)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports},96433:(e,t,a)=>{var o=a(27529);e.exports=function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&o(e,t)},e.exports.__esModule=!0,e.exports.default=e.exports},37713:e=>{e.exports=function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)},e.exports.__esModule=!0,e.exports.default=e.exports},65886:e=>{e.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")},e.exports.__esModule=!0,e.exports.default=e.exports},28542:(e,t,a)=>{var o=a(17021).default,i=a(25627);e.exports=function(e,t){if(t&&("object"===o(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return i(e)},e.exports.__esModule=!0,e.exports.default=e.exports},27529:e=>{function t(a,o){return e.exports=t=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},e.exports.__esModule=!0,e.exports.default=e.exports,t(a,o)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports},29394:(e,t,a)=>{var o=a(53280),i=a(37713),n=a(49863),r=a(65886);e.exports=function(e){return o(e)||i(e)||n(e)||r()},e.exports.__esModule=!0,e.exports.default=e.exports},33029:(e,t,a)=>{var o=a(17021).default;e.exports=function(e,t){if("object"!==o(e)||null===e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var i=a.call(e,t||"default");if("object"!==o(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)},e.exports.__esModule=!0,e.exports.default=e.exports},13213:(e,t,a)=>{var o=a(17021).default,i=a(33029);e.exports=function(e){var t=i(e,"string");return"symbol"===o(t)?t:String(t)},e.exports.__esModule=!0,e.exports.default=e.exports},17021:e=>{function t(a){return e.exports=t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.__esModule=!0,e.exports.default=e.exports,t(a)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports},49863:(e,t,a)=>{var o=a(39059);e.exports=function(e,t){if(e){if("string"==typeof e)return o(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?o(e,t):void 0}},e.exports.__esModule=!0,e.exports.default=e.exports},95985:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>n});var o=a(67294),i={symbol:{viewBox:"0 0 512 512",paths:[{d:"M267.1 52.7a16.057 16.057 0 0 0-22.6 0L52.7 244.5a16.055 16.055 0 0 0 0 22.6l191.8 191.8a16.054 16.054 0 0 0 22.6 0l191.8-191.8a16.056 16.056 0 0 0 0-22.6z m60.3 212.5a10.933 10.933 0 0 0 0-18l-84.5-59.1a11 11 0 0 0-11.383-0.753 10.99 10.99 0 0 0-5.917 9.753v118.2a10.99 10.99 0 0 0 11.714 10.969 11 11 0 0 0 5.586-1.969z",style:{fill:"currentcolor",fillRule:"evenodd",clipRule:"evenodd"}}]},"imdb-outline":{viewBox:"0 0 512 512",paths:[{d:"M450.6700000000001 122.26200000000006H60.932000000000016a39 39 0 0 0-27.747 11.425 39.03 39.03 0 0 0-11.425 27.747v189.529a39.27 39.27 0 0 0 11.501 27.67 39.3 39.3 0 0 0 27.671 11.5h389.738a39.3 39.3 0 0 0 27.67-11.5 39.25 39.25 0 0 0 11.5-27.67V161.43400000000008a39.25 39.25 0 0 0-11.5-27.671 39.26 39.26 0 0 0-27.67-11.501m18.99 228.701c0 2.49-0.49 4.96-1.44 7.27-0.95 2.3-2.35 4.4-4.12 6.16a18.7 18.7 0 0 1-6.16 4.12c-2.3 0.95-4.78 1.44-7.27 1.44H60.932000000000016a19.25 19.25 0 0 1-13.351-5.64 19.28 19.28 0 0 1-5.641-13.35V161.43400000000008a19.254 19.254 0 0 1 18.992-18.992h389.738a18.98 18.98 0 0 1 13.43 5.562 19.15 19.15 0 0 1 4.12 6.162 19.1 19.1 0 0 1 1.44 7.268z",style:{fill:"currentcolor"}},{d:"M83.48500000000001 189.92500000000007h24.532v124.24h-24.532z",style:{fill:"currentcolor"}},{d:"M181.216 273.80600000000004l-23.74-83.881H126.61000000000001v124.24h21.37V227.51300000000003l22.949 72.8h20.575l22.949-74.386v88.235h21.366V189.92500000000007h-30.862z",style:{fill:"currentcolor"}},{d:"M297.544 189.923h-41.15v124.24h41.15a49.74 49.74 0 0 0 36.006-11.87 41.08 41.08 0 0 0 13.06-32.841v-35.214a42.97 42.97 0 0 0-13.057-32.841 51.22 51.22 0 0 0-36.009-11.474m24.927 80.321a19.8 19.8 0 0 1-6.33 15.828A27.6 27.6 0 0 1 297.94000000000005 291.61300000000006h-18.2v-79.138h18.2a27.6 27.6 0 0 1 18.2 5.54 19.8 19.8 0 0 1 6.33 15.827z",style:{fill:"currentcolor"}},{d:"M406.75 223.9520000000001a22.5 22.5 0 0 0-13.06 4.352 23.94 23.94 0 0 0-7.52 9.1v-47.876h-23.74v124.637h23.74v-11.87a20.77 20.77 0 0 0 8.18 9.859 20.78 20.78 0 0 0 12.4 3.198 25.88 25.88 0 0 0 21.76-9.892 43.46 43.46 0 0 0 7.92-28.489v-14.244a42.85 42.85 0 0 0-7.92-28.488 26.235 26.235 0 0 0-21.76-10.287m6.33 53.019c0.29 4.38-0.97 8.722-3.56 12.266a11.4 11.4 0 0 1-4.57 3.528 11.4 11.4 0 0 1-5.72 0.825c-2.37 0.4-4.75-0.4-7.12-1.583a7.9 7.9 0 0 1-2.62-1.73 7.7 7.7 0 0 1-1.73-2.622 17.1 17.1 0 0 1-1.59-7.518v-20.179a17.1 17.1 0 0 1 1.59-7.518 8.6 8.6 0 0 1 4.35-4.748c2.19-1.2 4.63-1.878 7.12-1.979 1.97-0.054 3.92 0.347 5.7 1.17a12.7 12.7 0 0 1 4.59 3.579 19.84 19.84 0 0 1 3.56 12.661z",style:{fill:"currentcolor"}}]},imdb:{viewBox:"0 0 512 512",paths:[{d:"M294.5 217.5c-1.3-0.7-3.8-1-7.4-1v77.9c4.8 0 7.8-0.9 8.9-2.7s1.7-6.6 1.7-14.5v-46c0-5.4-0.2-8.8-0.6-10.3a5.37 5.37 0 0 0-2.6-3.4",style:{fill:"currentcolor"}},{d:"M384 255.60000000000002v28.1c0 5.3-0.3 8.7-0.8 10-0.5 1.4-3.2 2.1-5 2.1s-4.3-0.8-4.9-2.1v-47.6c0.5-1.2 3.2-2 4.9-2s4.2 0.9 4.8 2.3c0.7 1.5 1 4.6 1 9.2",style:{fill:"currentcolor"}},{d:"M45 176.4a26.375 26.375 0 0 1 26.4-26.4h369.2a26.38 26.38 0 0 1 18.68 7.722 26.5 26.5 0 0 1 5.72 8.57c1.32 3.205 2 6.64 2 10.108v158.2c0 3.468-0.68 6.903-2 10.108a26.5 26.5 0 0 1-5.72 8.569 26.5 26.5 0 0 1-8.57 5.722A26.4 26.4 0 0 1 440.5999999999999 361H71.39999999999998a26.375 26.375 0 0 1-26.4-26.4z m52.8 138.4h33V196.2h-33z m95.9-63.2l7.4-55.4h41.7v118.7h-27.9l-0.1-80.1-11.2 80.1h-19.9L172 236.5l-0.1 78.4h-28V196.2h41.4c1.2 7.2 2.5 15.6 3.8 25.3z m62.3 63.2V196.2h51.5a21.064 21.064 0 0 1 21.1 20.9v76.8a20.934 20.934 0 0 1-21.1 20.9z m136.8-88.9h-2.1a22.05 22.05 0 0 0-17.4 8.4v-38.1h-31.6v117.2h29.6l1.9-7.3a21.7 21.7 0 0 0 7.7 6.486 21.7 21.7 0 0 0 9.8 2.314h2.1c11.8 0 21.4-9.3 21.4-20.7v-47.6c0-11.5-9.5-20.7-21.4-20.7",style:{fill:"currentcolor",fillRule:"evenodd",clipRule:"evenodd"}}]},reddit:{viewBox:"0 0 512 512",paths:[{d:"M309.6500000000001 125.026c4.57 19.375 21.98 33.808 42.76 33.808 24.26 0 43.93-19.663 43.93-43.917S376.6700000000001 71 352.40999999999985 71c-21.22 0-38.91 15.03-43.03 35.022-35.52 3.809-63.27 33.931-63.27 70.436v0.226c-38.63 1.627-73.91 12.622-101.92 29.978a61.28 61.28 0 0 0-37.63-12.847c-34 0-61.56 27.548-61.56 61.541 0 24.666 14.5 45.914 35.44 55.735 2.04 71.444 79.91 128.909 175.7 128.909s173.77-57.526 175.7-129.033c20.78-9.882 35.16-31.069 35.16-55.591 0-33.992-27.56-61.541-61.56-61.541-14.11 0-27.1 4.756-37.48 12.745-28.26-17.48-63.93-28.475-102.96-29.937v-0.164c0-26.149 19.44-47.85 44.65-51.412z m-167.93 169.388c1.03-22.319 15.85-39.449 33.09-39.449s30.42 18.098 29.39 40.416c-1.03 22.319-13.9 30.431-31.16 30.431s-32.35-9.08-31.32-31.398m195.78-39.449c17.25 0 32.08 17.13 33.09 39.449 1.03 22.318-14.08 31.398-31.32 31.398s-30.13-8.091-31.16-30.431c-1.03-22.318 12.13-40.416 29.39-40.416m-20.52 91.086c3.24 0.33 5.3 3.686 4.04 6.692-10.61 25.345-35.65 43.155-64.88 43.155-29.22 0-54.24-17.81-64.87-43.155-1.26-3.006 0.8-6.362 4.04-6.692 18.94-1.914 39.44-2.964 60.83-2.964 21.4 0 41.87 1.05 60.84 2.964",style:{fill:"currentcolor"}}]},x:{viewBox:"0 0 512 512",paths:[{d:"M284.53999999999996 231.994L396.2199999999998 102h-26.46l-96.98 112.872L195.32999999999993 102H106l117.12 170.682L106 409h26.47l102.4-119.196L316.6700000000001 409H406l-121.47-177.006z m-36.25 42.192l-11.87-16.996L142 121.95h40.65l76.2 109.143 11.87 16.996 99.05 141.868h-40.65l-80.83-115.765z",style:{fill:"currentcolor"}}]},facebook:{viewBox:"0 0 512 512",paths:[{d:"M338.0999999999999 196.9h-54.7v-37.1c0-14.1 8.8-17.7 15.9-17.7h38.8v-60h-54.7a69.4 69.4 0 0 0-50.36 16.812 69.43 69.43 0 0 0-23.74 47.488c-0.2 3.264-0.2 6.537 0 9.8v40.6H174v63.5h35.3v178.3h74.1V260.4h49.4z",style:{fill:"currentcolor"}}]},youtube:{viewBox:"0 0 512 512",paths:[{d:"M476.0999999999999 161.6c0-39.2-28.8-70.7-64.5-70.7-48.3-2.3-97.5-3.1-147.8-3.1h-15.7c-50.2 0-99.5 0.9-147.7 3.1-35.5 0-64.4 31.7-64.4 70.9-2.2 31-3.1 62-3.1 93-0.1 31 0.9 62.1 3 93.1 0 39.2 28.8 71 64.4 71 50.7 2.4 102.7 3.4 155.6 3.3 53 0.2 104.87-0.9 155.6-3.3 35.6 0 64.5-31.8 64.5-71 2.1-31.1 3.1-62.1 3-93.2 0.1-31-0.8-62-2.9-93.1m-262.8 178.7V169.1l126.3 85.5z",style:{fill:"currentcolor"}}]},vlc:{viewBox:"0 0 512 512",paths:[{d:"M385.5 325.1999999999998c-7.9-25.1-8-25-34-23.6h-0.8c-4.8 0-7.2 1.6-5.9 7.1 1.8 7.6-1.7 13.3-7.2 18.2-7.8 6.8-17.2 10.8-27 13.8-29.3 8.9-59.2 9.4-89.1 4.8-16.6-2.6-33-6.6-46.5-17.8-4.9-4-8.6-8.7-8.7-15.2-0.2-10.9-0.1-10.9-11.6-10.8-2.8 0-5.5 0.3-8.3 0.1-9.1-0.7-14.1 3.4-16.7 12.2-9.7 32.2-20 64.1-29.9 96.2a80.5 80.5 0 0 0-3.4 16.1c-0.6 6.7 2.3 11.1 9.9 11.2 7.4 0.2 14.8 1.2 22.2 1.2 42.7 0.1 85.4 0.13 128.1 0.1 45.2 0 90.3 0.1 135.5-0.1 23.9-0.1 27.2-4.7 20.2-27.5-8.8-28.7-17.7-57.3-26.8-86",style:{fill:"currentcolor"}},{d:"M200.39999999999964 196.19999999999982c-4.8 16.4-9.7 32.73-14.7 49-3.7 12.2-2.2 16.6 9.3 22.5a92 92 0 0 0 15.3 6c14.53 4.41 29.75 6.1 44.9 5 6 0 12.1 0.5 18.1-0.1 16.8-1.6 33.4-4 47.9-13.6 4.2-2.8 8.3-6.4 6.7-12.1-5.7-19.6-11.7-39-17.5-58.5-0.8-2.6-1.6-4.4-5.2-2.7-23 11.1-47.5 10.2-72 7.8-8.5-0.8-17.2-1.9-24.5-6.7-5.2-3.4-6.8-1.8-8.3 3.4",style:{fill:"currentcolor"}},{d:"M283.2999999999993 127.80000000000018c5.2-1.3 6.3-4.4 4.7-9.3-2.8-8.6-5-17.4-7.9-26.1-5.1-15.5-7.5-17.2-23.6-17.2-17.4 0-20.8 2.5-25.8 19.1-2.4 8.2-4.7 16.4-7.3 24.5-1.5 4.6-0.2 7.6 4.4 8.8 18.19 4.71 37.27 4.78 55.5 0.2",style:{fill:"currentcolor"}}]},trakt:{viewBox:"0 0 512 512",paths:[{d:"M114.80000000000018 386.4a192.6 192.6 0 0 0 103.68 58.236A192.63 192.63 0 0 0 336.60000000000036 430.9l-133.3-133z",style:{fill:"currentcolor"}},{d:"M202.5999999999999 217.4l-101 100.7-13.5-13.5 106.3-106.3 124.1-124.1a192.4 192.4 0 0 0-120.28-1.237 192.4 192.4 0 0 0-97.5 70.437 192.33 192.33 0 0 0-36.61 114.576A192.34 192.34 0 0 0 102.69999999999982 371.9l100.7-100.7 6.9 6.6L354.5 422a57.5 57.5 0 0 0 8.2-5.3l-159.4-159.4-96.7 96.7-13.5-13.5 110.2-110.2 6.9 6.6 168.3 168c2.6-2 4.9-4.3 7.3-6.3l-181.5-181.5z",style:{fill:"currentcolor"}},{d:"M399.3000000000002 385.1a192.1 192.1 0 0 0 42.69-78.033 192.1 192.1 0 0 0 2.99-88.899 192.24 192.24 0 0 0-37.37-80.719A192.2 192.2 0 0 0 337.89999999999964 82.2L216.80000000000018 203z m-136-147.2l-13.5-13.5 95.4-95.4 13.5 13.5z m90.5-131l-109.9 109.9-13.5-13.5 109.9-109.9z",style:{fill:"currentcolor"}}]},"in-cinema":{viewBox:"0 0 512 512",paths:[{d:"M457.40000000000055 196.3l-38-38a17.2 17.2 0 0 0-11.38-4.913A17.18 17.18 0 0 0 396.3000000000002 157.4a26.42 26.42 0 0 1-18.19 6.353 26.42 26.42 0 0 1-17.67-7.694 26.4 26.4 0 0 1-7.74-17.648 26.4 26.4 0 0 1 6.3-18.211 17.17 17.17 0 0 0 4.01-11.724 17.23 17.23 0 0 0-4.91-11.376l-37.8-38a17.08 17.08 0 0 0-12.1-5.024 17.09 17.09 0 0 0-12.1 5.024l-60.5 60.5a34.1 34.1 0 0 0-8.2 13.2 6.7 6.7 0 0 1-1.61 2.588 6.9 6.9 0 0 1-2.59 1.612c-5 1.679-9.52 4.525-13.2 8.3l-155.2 155.2a17.09 17.09 0 0 0-5.03 12.1c0 2.249 0.45 4.475 1.31 6.551a17.1 17.1 0 0 0 3.72 5.549l37.6 38a17.2 17.2 0 0 0 11.38 4.913c4.27 0.167 8.45-1.264 11.72-4.013a26.48 26.48 0 0 1 18.7-7.85c3.47-0.014 6.92 0.658 10.14 1.978a26.4 26.4 0 0 1 8.61 5.718 26.4 26.4 0 0 1 5.77 8.582 26.3 26.3 0 0 1 2.03 10.135 26.46 26.46 0 0 1-7.75 18.737 17.17 17.17 0 0 0-4.01 11.724c0.17 4.27 1.92 8.326 4.91 11.376l37.9 37.9a17.089 17.089 0 0 0 18.65 3.718 17.1 17.1 0 0 0 5.55-3.718l155.2-155.2a34.4 34.4 0 0 0 8.3-13.2c0.33-0.975 0.88-1.861 1.61-2.587a6.85 6.85 0 0 1 2.59-1.613 34.2 34.2 0 0 0 13.2-8.2l60.5-60.5a17.4 17.4 0 0 0 4.95-12.15 17.4 17.4 0 0 0-4.95-12.15m-196.6-25.5a13.762 13.762 0 0 1-19.5 0l-9.9-9.9a13.78 13.78 0 0 1-4.47-9.527 13.75 13.75 0 0 1 3.54-9.912 13.78 13.78 0 0 1 9.5-4.536 13.8 13.8 0 0 1 9.93 3.475c0.36 0.308 0.69 0.642 1 1l9.9 9.9c1.28 1.28 2.3 2.799 3 4.47 1.4 3.381 1.4 7.179 0 10.559a13.9 13.9 0 0 1-3 4.471m37.9 37.8a13.762 13.762 0 0 1-19.5 0l-9.4-9.4a13.8 13.8 0 0 1-3.55-9.602 13.81 13.81 0 0 1 13.45-13.446 13.82 13.82 0 0 1 9.6 3.548l9.4 9.4a13.936 13.936 0 0 1 0 19.5m38.1 37.9a13.762 13.762 0 0 1-19.5 0l-9.4-9.4a13.78 13.78 0 0 1-4.47-9.527 13.75 13.75 0 0 1 3.54-9.912 13.78 13.78 0 0 1 9.5-4.536 13.8 13.8 0 0 1 9.93 3.475c0.36 0.308 0.69 0.642 1 1l9.4 9.5a13.85 13.85 0 0 1 3.97 9.7c0 3.629-1.43 7.113-3.97 9.7m38.2 38.3a13.762 13.762 0 0 1-19.5 0l-9.9-9.9a13.7 13.7 0 0 1-3.1-4.397 13.8 13.8 0 0 1-1.19-5.249c-0.04-1.811 0.27-3.613 0.92-5.304a13.75 13.75 0 0 1 7.27-7.653 13.8 13.8 0 0 1 5.25-1.185c1.81-0.047 3.61 0.264 5.3 0.914s3.24 1.627 4.55 2.874l0.5 0.5 9.9 9.9c1.28 1.28 2.3 2.799 3 4.47 1.4 3.381 1.4 7.179 0 10.559a13.9 13.9 0 0 1-3 4.471",style:{fill:"currentcolor"}}]},remote:{viewBox:"0 0 512 512",paths:[{d:"M292.89999999999964 119.1a28.4 28.4 0 0 0-9.43-6.584 28.5 28.5 0 0 0-11.27-2.316 29.22 29.22 0 0 0-21.7 8.9l-20.7 20.7-177.5 177.4a29.2 29.2 0 0 0-7.85 8.26 29.16 29.16 0 0 0-3.79 22.031 29.2 29.2 0 0 0 4.64 10.409 25.8 25.8 0 0 0 3 3.6q45.9 47.25 91.8 91.6a27.47 27.47 0 0 0 38.8 0.6l1.5-1.5c5.9-4.9 10.8-10.8 16.8-15.8L379.5 254c15.8-15.8 16.8-31.5 2-45.4-28.5-30.4-58.1-60-88.6-89.5m-179.3 243.3c-2.6 0.239-5.22-0.037-7.72-0.812a19.8 19.8 0 0 1-6.81-3.707A19.84 19.84 0 0 1 92 344.4c-0.08-0.865-0.11-1.733-0.1-2.6-0.17-2.682 0.19-5.371 1.07-7.912a20.2 20.2 0 0 1 4.03-6.892 20.333 20.333 0 0 1 14.1-6.796h1.5c2.54-0.307 5.11-0.111 7.57 0.578a19.403 19.403 0 0 1 14.03 16.422c0.13 1.228 0.17 2.466 0.1 3.7a19.5 19.5 0 0 1-0.57 7.567 19.42 19.42 0 0 1-9.21 11.696 19.4 19.4 0 0 1-7.22 2.337c-1.3 0-2.5 0-3.7-0.1m47.3 48.3c-3.93 0.175-7.82-0.821-11.18-2.862a19.87 19.87 0 0 1-7.7-8.599 20.1 20.1 0 0 1-1.82-7.539c-0.02-0.868 0.01-1.737 0.1-2.6a19.22 19.22 0 0 1 17.5-20.7c1.06-0.1 2.14-0.1 3.2 0 2.69-0.035 5.35 0.461 7.85 1.458 2.49 0.997 4.76 2.475 6.69 4.351a20.5 20.5 0 0 1 4.51 6.582 20.4 20.4 0 0 1 1.65 7.809v1.5a19.62 19.62 0 0 1-4.97 14.174 19.65 19.65 0 0 1-13.53 6.526c-0.76-0.08-1.53-0.113-2.3-0.1m0-95.6c-3.93 0.175-7.82-0.821-11.18-2.862a19.87 19.87 0 0 1-7.7-8.599 20.1 20.1 0 0 1-1.82-7.539c-0.02-0.868 0.01-1.737 0.1-2.6a22.113 22.113 0 0 1 21.5-22.7h0.1a21.13 21.13 0 0 1 14.51 7.17 21.17 21.17 0 0 1 5.19 15.33v0.2c0.17 2.679-0.18 5.367-1.05 7.909a20.2 20.2 0 0 1-4 6.904 20.4 20.4 0 0 1-6.34 4.843 20.4 20.4 0 0 1-7.71 2.044 8.2 8.2 0 0 1-1.6-0.1m47.3 47.3a19.66 19.66 0 0 1-14.17-4.976 19.66 19.66 0 0 1-6.53-13.524v-2.1a21.08 21.08 0 0 1 21.4-20.7h0.3a21.744 21.744 0 0 1 21.7 20.7c-0.08 2.806-0.71 5.57-1.85 8.133a21.4 21.4 0 0 1-4.84 6.795 21.31 21.31 0 0 1-15.31 5.772c-0.23-0.076-0.46-0.11-0.7-0.1m56-63a61.63 61.63 0 0 1-34.13-10.653 61.593 61.593 0 0 1-25.69-63.416 61.58 61.58 0 0 1 48.73-48.029 61.604 61.604 0 0 1 63.04 26.619 61.57 61.57 0 0 1 10.15 34.279 60.9 60.9 0 0 1-4.6 23.353 61 61 0 0 1-13.19 19.814 61 61 0 0 1-43.11 17.933h-1.2z m168.5-199a120.83 120.83 0 0 0-78.7-52.2c-15.8-1-22.7 3.9-23.6 12.8 0 10.8 6.9 14.8 15.8 15.8a66.8 66.8 0 0 1 27.6 9.8 101.1 101.1 0 0 1 33.46 29.192A101.3 101.3 0 0 1 425 156.5a15.64 15.64 0 0 0 4.39 11.055 15.6 15.6 0 0 0 10.91 4.745h0.4c8.9 0 13.8-6.9 13.8-17.7a97.08 97.08 0 0 0-21.8-54.2m-93.5-4c-8 0-14.8 3-15.8 11.8-0.91 3.42-0.43 7.061 1.33 10.131a13.45 13.45 0 0 0 8.07 6.269c0.81 0.238 1.65 0.373 2.5 0.4a50.3 50.3 0 0 1 28.21 14.189 50.28 50.28 0 0 1 14.19 28.211 14.6 14.6 0 0 0 16.1 12.9c0.2 0 0.5-0.1 0.7-0.1a12.87 12.87 0 0 0 11.8-13.8 76.81 76.81 0 0 0-67.1-70m-73.9 108.4c-4.2-0.202-8.41 0.427-12.37 1.852a32.2 32.2 0 0 0-10.71 6.449 32 32 0 0 0-7.42 10.061 31.9 31.9 0 0 0-3 12.138v3a31.3 31.3 0 0 0 7.6 22.691 31.34 31.34 0 0 0 21.4 10.709c1.2 0.1 2.3 0.1 3.5 0.1 4.2 0.214 8.41-0.403 12.37-1.815a32.1 32.1 0 0 0 10.74-6.417 32 32 0 0 0 7.45-10.039 32.1 32.1 0 0 0 3.04-12.129c0.1-1.031 0.1-2.069 0-3.1a31.92 31.92 0 0 0-8.14-22.96 31.92 31.92 0 0 0-21.96-10.54z",style:{fill:"currentcolor"}}]},link:{viewBox:"0 0 512 512",paths:[{d:"M472.8299999999999 100.5c-15.83-39.171-54.21-64.1-96.55-63.307a95.7 95.7 0 0 0-66.08 22.157c-13.05 10.683-24.53 22.949-36.79 34.424-13.06 12.661-25.72 25.323-38.78 37.984a20.2 20.2 0 0 0-5.79 10.347 20.14 20.14 0 0 0 1.04 11.811 17.905 17.905 0 0 0 16.22 12.266c7.52 0.4 14.64-3.165 19.79-9.1l62.91-61.725c25.32-25.718 66.47-26.114 92.59-1.582a63.05 63.05 0 0 1 18.59 44.432 63.06 63.06 0 0 1-18.2 44.594 8.4 8.4 0 0 1-1.98 1.583c-29.27 29.279-58.55 57.768-87.83 86.652-4.8 4.386-9.97 8.357-15.44 11.87a65.49 65.49 0 0 1-82.69-17.409 21.45 21.45 0 0 0-26.51-9.1c-13.45 5.54-15.83 19.784-5.15 33.632 36.41 45.9 103.28 53.416 149.17 17.014 2.38-1.978 4.75-4.352 7.13-6.726 30.46-29.28 60.93-58.956 91-89.027a102 102 0 0 0 28.59-52.039 102 102 0 0 0-5.24-59.144m-225.14 253.624a4725 4725 0 0 0-63.71 62.512 66.32 66.32 0 0 1-45.89 19.83 66.33 66.33 0 0 1-46.69-17.85 62.6 62.6 0 0 1-13.91-20.28 62.5 62.5 0 0 1-5.04-24.068 62.68 62.68 0 0 1 18.16-44.676l2.37-2.374c28.88-28.488 58.16-56.977 87.05-85.466a69.7 69.7 0 0 1 16.22-12.265 66.4 66.4 0 0 1 44.11-6.352 66.37 66.37 0 0 1 38.19 22.97 19.5 19.5 0 0 0 5.43 5.45 19.355 19.355 0 0 0 21.87-0.306 19.9 19.9 0 0 0 5.46-5.552 19.9 19.9 0 0 0 2.89-7.226c0.48-2.576 0.44-5.221-0.11-7.783a19.7 19.7 0 0 0-3.1-7.139c-0.39-0.792-1.18-1.583-1.58-2.374a106.514 106.514 0 0 0-149.56-14.64 41.6 41.6 0 0 0-4.35 3.561c-32.05 30.467-63.31 61.329-94.57 92.587a100.2 100.2 0 0 0-27.41 51.981 100.25 100.25 0 0 0 6.44 58.412 101.78 101.78 0 0 0 38.43 46.09 101.8 101.8 0 0 0 57.72 16.43 97.13 97.13 0 0 0 68.45-24.14c24.93-22.95 48.67-47.48 72.8-71.22a18.754 18.754 0 0 0 4.36-22.159 20.4 20.4 0 0 0-11.52-10.239 20.4 20.4 0 0 0-15.39 0.739 17.74 17.74 0 0 0-7.52 5.54z",style:{fill:"currentcolor"}}]},"magnet-link":{viewBox:"0 0 512 512",paths:[{d:"M410.3000000000002 285.3a134.1 134.1 0 0 0 38.34-94.526 134.1 134.1 0 0 0-39.27-94.141 134.08 134.08 0 0 0-94.14-39.268A134.09 134.09 0 0 0 220.69999999999982 95.7",style:{stroke:"currentcolor",strokeMiterlimit:"10",strokeWidth:"31.764",fill:"none"}},{d:"M347.09999999999945 222.1a44.7 44.7 0 0 0 13.09-31.6 44.693 44.693 0 0 0-44.69-44.689 44.7 44.7 0 0 0-31.6 13.089",style:{stroke:"currentcolor",strokeMiterlimit:"10",strokeWidth:"31.764",fill:"none"}},{d:"M189.19999999999982 443.8v-46",style:{stroke:"currentcolor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"31.764",fill:"none"}},{d:"M101.59999999999945 404.499l31.6-31.6",style:{stroke:"currentcolor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"31.764",fill:"none"}},{d:"M66.69999999999982 305.899h46",style:{stroke:"currentcolor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"31.764",fill:"none"}},{d:"M284 158.9L178.69999999999982 264.2a29.82 29.82 0 0 1-21.05 8.7c-7.89 0-15.46-3.129-21.05-8.7l-21.2-21a29.82 29.82 0 0 1-8.7-21.05c0-7.892 3.13-15.461 8.7-21.05l105.4-105.3",style:{stroke:"currentcolor",strokeLinejoin:"round",strokeWidth:"31.764",fill:"none"}},{d:"M410.3000000000002 285.3l-105.3 105.4a29.82 29.82 0 0 1-21.05 8.7c-7.89 0-15.46-3.129-21.05-8.7l-21-21.1a29.82 29.82 0 0 1 0-42.1l105.3-105.4",style:{stroke:"currentcolor",strokeLinejoin:"round",strokeWidth:"31.764",fill:"none"}},{d:"M147.59999999999945 170l63.2 63.2",style:{stroke:"currentcolor",strokeLinejoin:"round",strokeWidth:"31.764",fill:"none"}},{d:"M274 296.399l63.2 63.2",style:{stroke:"currentcolor",strokeLinejoin:"round",strokeWidth:"31.764",fill:"none"}}]},help:{viewBox:"0 0 512 512",paths:[{d:"M155.70000000000073 438.8c98.6 56.9 224.6 23.1 281.5-75.4 56.9-98.6 23.1-224.6-75.4-281.5-98.6-56.9-224.6-23.1-281.5 75.4-56.9 98.6-23.2 224.6 75.4 281.5",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"34.354",fill:"none"}},{d:"M224.40000000000055 319.9a68.683 68.683 0 0 0 102.58-67.313 68.68 68.68 0 0 0-22.94-43.79 68.69 68.69 0 0 0-92.24 1.501 68.68 68.68 0 0 0-21.5 44.513 68.7 68.7 0 0 0 13.96 47.423 68.7 68.7 0 0 0 20.14 17.666",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"34.354",fill:"none"}},{d:"M320.40000000000055 63.6l-47.1 125.801",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"34.354",fill:"none"}},{d:"M313 212.301l85.4-103.7",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"34.354",fill:"none"}},{d:"M119.20000000000073 412.1l85.4-103.7",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"34.354",fill:"none"}},{d:"M244.30000000000018 331.301l-47.1 125.8",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"34.354",fill:"none"}},{d:"M455.5 322l-125.8-47.1",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"34.354",fill:"none"}},{d:"M306.8000000000002 314.5l103.8 85.3",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"34.354",fill:"none"}},{d:"M107 120.801l103.7 85.4",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"34.354",fill:"none"}},{d:"M187.80000000000018 245.801l-125.8-47.2",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"34.354",fill:"none"}}]},"search-outline":{viewBox:"0 0 512 512",paths:[{d:"M221.1 64a156.968 156.968 0 0 0-156.146 141.65 156.972 156.972 0 0 0 125.651 169.29c38.22 7.59 77.896 0.7 111.313-19.35a156.96 156.96 0 0 0 69.488-89.08 157 157 0 0 0-8.336-112.68 157 157 0 0 0-81.841-77.89 157 157 0 0 0-60.129-11.94Z",style:{stroke:"currentcolor",strokeMiterlimit:"10",strokeWidth:"32",fill:"none"}},{d:"M338.3 338.29999999999995L448 448",style:{stroke:"currentcolor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"32",fill:"none"}}]},search:{viewBox:"0 0 512 512",paths:[{d:"M456.7 437.4000000000001l-94.1-94.1a173.25 173.25 0 0 0 34.8-104.6c0-96.3-78.4-174.7-174.7-174.7S48 142.4000000000001 48 238.79999999999973c0 96.3 78.4 174.7 174.7 174.7 37.71 0 74.406-12.21 104.6-34.8l94.1 94.1a24.96 24.96 0 0 0 12.646 6.09c4.711 0.78 9.546 0.19 13.933-1.69a25.05 25.05 0 0 0 10.823-8.94 25 25 0 0 0 4.298-13.36 25.94 25.94 0 0 0-6.4-17.5M97.9 238.79999999999973a124.67 124.67 0 0 1 32.268-83.74 124.674 124.674 0 0 1 166.653-16.49 124.7 124.7 0 0 1 48.049 75.8c6.054 30.36 0.6 61.88-15.299 88.43a124.73 124.73 0 0 1-70.722 55.26c-29.615 9-61.519 6.66-89.507-6.56A124.69 124.69 0 0 1 97.9 238.79999999999973",style:{fill:"currentcolor"}}]},"home-outline":{viewBox:"0 0 512 512",paths:[{d:"M86.89999999999998 228.79999999999995v208.6c0.012 1.99 0.419 3.96 1.196 5.79 0.776 1.84 1.909 3.5 3.331 4.9a15.1 15.1 0 0 0 4.955 3.23c1.849 0.74 3.827 1.11 5.818 1.08H194v-127.5a22.75 22.75 0 0 1 6.804-15.98 22.74 22.74 0 0 1 16.096-6.52h76.5c2.982-0.03 5.939 0.53 8.704 1.65a22.9 22.9 0 0 1 7.409 4.85 22.7 22.7 0 0 1 4.985 7.33 22.7 22.7 0 0 1 1.802 8.67v127.5h91.8c1.99 0.02 3.97-0.34 5.82-1.09 1.84-0.74 3.53-1.84 4.95-3.23s2.55-3.06 3.33-4.89 1.19-3.8 1.2-5.79v-208.6",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}},{d:"M476.29999999999995 270.4000000000001l-210.4-206.9a16.295 16.295 0 0 0-21.5 0l-210.2 206.9",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}}]},home:{viewBox:"0 0 512 512",paths:[{d:"M260.4 99a7.98 7.98 0 0 0-5.55-2.25c-2.072 0-4.063 0.81-5.55 2.25l-184.8 176.5a7.944 7.944 0 0 0-2.5 5.8v165.7a32.14 32.14 0 0 0 9.41 22.69 32.13 32.13 0 0 0 22.69 9.41h96.5a16.1 16.1 0 0 0 11.384-4.72 16.07 16.07 0 0 0 4.716-11.38v-136.5a8.024 8.024 0 0 1 8-8H295a8.024 8.024 0 0 1 8 8v136.5c-0.002 2.12 0.412 4.21 1.22 6.16a16 16 0 0 0 3.49 5.23 16.091 16.091 0 0 0 11.39 4.71h96.4c8.51-0.01 16.67-3.39 22.69-9.41s9.4-14.18 9.41-22.69v-165.7c0-1.09-0.22-2.16-0.65-3.16s-1.06-1.9-1.85-2.64z",style:{fill:"currentcolor"}},{d:"M490.70000000000005 242.4000000000001l-75.1-71.8a943 943 0 0 0-80.3-76.9l-58.1-55.6a31.7 31.7 0 0 0-22.2-8.7 30.5 30.5 0 0 0-22.2 8.7l-213.5 204.3a16.43 16.43 0 0 0-1.3 22.5 16 16 0 0 0 4.938 3.83c1.882 0.95 3.931 1.51 6.03 1.65a15.9 15.9 0 0 0 6.203-0.78c1.996-0.67 3.84-1.72 5.429-3.1l0.6-0.6 208.3-199a7.98 7.98 0 0 1 5.55-2.25c2.072 0 4.063 0.81 5.55 2.25l208.3 199c3.08 2.93 7.18 4.53 11.43 4.45 4.25-0.07 8.3-1.82 11.27-4.85a16.582 16.582 0 0 0-0.9-23.1",style:{fill:"currentcolor"}}]},"discover-outline":{viewBox:"0 0 512 512",paths:[{d:"M448 256c0-106-86-192-192-192s-192 86-192 192 86 192 192 192 192-86 192-192Z",style:{stroke:"currentcolor",strokeMiterlimit:"10",strokeWidth:"32",fill:"none"}},{d:"M350.70000000000005 150.9000000000001l-117.2 46.9a63 63 0 0 0-21.5 14.2 66 66 0 0 0-14.2 21.5l-46.9 117.2a7.95 7.95 0 0 0-0.4 4.6 8.74 8.74 0 0 0 2.2 4.1 7.8 7.8 0 0 0 4.1 2.2c1.54 0.32 3.14 0.18 4.6-0.4l117.2-46.9c8.07-3.2 15.39-8.04 21.5-14.2a66.1 66.1 0 0 0 14.2-21.5l46.9-117.2c0.59-1.46 0.73-3.06 0.4-4.6a8.74 8.74 0 0 0-2.2-4.1 8.1 8.1 0 0 0-8.7-1.8m-94.7 129.1c-4.73 0.01-9.36-1.38-13.3-4a23.3 23.3 0 0 1-8.8-10.8c-1.81-4.4-2.29-9.23-1.4-13.9 0.91-4.67 3.21-8.96 6.6-12.3 2.23-2.23 4.87-4 7.78-5.22 2.91-1.21 6.03-1.83 9.18-1.84 3.16 0 6.28 0.62 9.19 1.82 2.92 1.2 5.57 2.96 7.8 5.19s4 4.87 5.22 7.78c1.21 2.91 1.83 6.03 1.84 9.18 0 3.16-0.62 6.28-1.82 9.19-1.2 2.92-2.96 5.57-5.19 7.8a24.32 24.32 0 0 1-17.1 7.1",style:{fill:"currentcolor"}}]},discover:{viewBox:"0 0 512 512",paths:[{d:"M256 280c5.57 0.02 10.97-1.9 15.28-5.42 4.32-3.53 7.28-8.44 8.37-13.9 1.1-5.46 0.27-11.13-2.34-16.04a24.03 24.03 0 0 0-12-10.91 24.065 24.065 0 0 0-29.24 8.83 24.04 24.04 0 0 0-3.95 15.73 24.03 24.03 0 0 0 6.93 14.66c4.5 4.5 10.59 7.03 16.95 7.05",style:{fill:"currentcolor"}},{d:"M256 48c-114.7 0-208 93.3-208 208s93.3 208 208 208 208-93.3 208-208-93.3-208-208-208m105.1 113.4l-46.9 117.2a63 63 0 0 1-14.2 21.5 66 66 0 0 1-21.5 14.2l-117.2 46.9c-1.46 0.59-3.06 0.73-4.6 0.4a8.74 8.74 0 0 1-4.1-2.2 7.8 7.8 0 0 1-2.2-4.1c-0.32-1.54-0.18-3.14 0.4-4.6l46.9-117.2c3.2-8.07 8.04-15.39 14.2-21.5a66 66 0 0 1 21.5-14.2l117.2-46.9c1.46-0.58 3.06-0.72 4.6-0.4 1.54 0.35 2.96 1.11 4.1 2.2a7.8 7.8 0 0 1 2.2 4.1c0.32 1.54 0.18 3.14-0.4 4.6",style:{fill:"currentcolor"}}]},"library-outline":{viewBox:"0 0 512 512",paths:[{d:"M419.0999999999999 176h-326.3a28.9 28.9 0 0 0-20.43 8.47 28.9 28.9 0 0 0-8.47 20.43V403.20000000000005a28.9 28.9 0 0 0 8.47 20.43 28.9 28.9 0 0 0 20.43 8.47h326.3a28.9 28.9 0 0 0 20.43-8.47A28.9 28.9 0 0 0 448 403.20000000000005v-198.3c0.01-3.8-0.74-7.56-2.19-11.07a29 29 0 0 0-6.26-9.38 29 29 0 0 0-9.38-6.26c-3.51-1.45-7.27-2.2-11.07-2.19Z",style:{stroke:"currentcolor",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}},{d:"M144 80h224",style:{stroke:"currentcolor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"32",fill:"none"}},{d:"M112 128h288",style:{stroke:"currentcolor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"32",fill:"none"}}]},library:{viewBox:"0 0 512 512",paths:[{d:"M368 96h-224c-4.24 0-8.31-1.69-11.31-4.69s-4.69-7.07-4.69-11.31 1.69-8.31 4.69-11.31 7.07-4.69 11.31-4.69h224c4.24 0 8.31 1.69 11.31 4.69s4.69 7.07 4.69 11.31-1.69 8.31-4.69 11.31-7.07 4.69-11.31 4.69",style:{fill:"currentcolor"}},{d:"M400 144h-288c-4.24 0-8.31-1.69-11.31-4.69s-4.69-7.07-4.69-11.31 1.69-8.31 4.69-11.31 7.07-4.69 11.31-4.69h288c4.24 0 8.31 1.69 11.31 4.69s4.69 7.07 4.69 11.31-1.69 8.31-4.69 11.31-7.07 4.69-11.31 4.69",style:{fill:"currentcolor"}},{d:"M419.0999999999999 448h-326.3a45.06 45.06 0 0 1-31.7-13.2 45.04 45.04 0 0 1-13.2-31.7v-198.3a45.06 45.06 0 0 1 13.2-31.7 45.1 45.1 0 0 1 31.7-13.2h326.3a44.48 44.48 0 0 1 31.7 13.2 45.3 45.3 0 0 1 13.2 31.7V403.0999999999999a45.04 45.04 0 0 1-13.2 31.7 45.06 45.06 0 0 1-31.7 13.2",style:{fill:"currentcolor"}}]},"addons-outline":{viewBox:"0 0 512 512",paths:[{d:"M413.6999999999998 246.10000000000014H386c-0.53-0.01-1.03-0.23-1.4-0.6s-0.59-0.87-0.6-1.4v-77.2a38.94 38.94 0 0 0-11.4-27.5 38.94 38.94 0 0 0-27.5-11.4h-77.2c-0.53-0.01-1.03-0.23-1.4-0.6s-0.59-0.87-0.6-1.4v-27.7c0-27.1-21.5-49.9-48.6-50.3-6.57-0.1-13.09 1.09-19.2 3.5a49.6 49.6 0 0 0-16.4 10.7 49.8 49.8 0 0 0-11 16.2 48.9 48.9 0 0 0-3.9 19.2v28.5c-0.01 0.53-0.23 1.03-0.6 1.4s-0.87 0.59-1.4 0.6h-77.2c-10.5 0-20.57 4.17-28 11.6a39.6 39.6 0 0 0-11.6 28v70.4c0.01 0.53 0.23 1.03 0.6 1.4s0.87 0.59 1.4 0.6h26.9c29.4 0 53.7 25.5 54.1 54.8 0.4 29.9-23.5 57.2-53.3 57.2H50c-0.53 0.01-1.03 0.23-1.4 0.6s-0.59 0.87-0.6 1.4v70.4c0 10.5 4.17 20.57 11.6 28s17.5 11.6 28 11.6h70.4c0.53-0.01 1.03-0.23 1.4-0.6s0.59-0.87 0.6-1.4V441.20000000000005c0-30.3 24.8-56.4 55-57.1 30.1-0.7 57 20.3 57 50.3v27.7c0.01 0.53 0.23 1.03 0.6 1.4s0.87 0.59 1.4 0.6h71.1a38.94 38.94 0 0 0 27.5-11.4 38.96 38.96 0 0 0 11.4-27.5v-78c0.01-0.53 0.23-1.03 0.6-1.4s0.87-0.59 1.4-0.6h28.5c27.6 0 49.5-22.7 49.5-50.4s-23.2-48.7-50.3-48.7",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}}]},addons:{viewBox:"0 0 512 512",paths:[{d:"M345.0999999999999 480H274c-2.36 0.01-4.71-0.45-6.89-1.36s-4.16-2.25-5.81-3.94a18 18 0 0 1-5.3-12.7v-27.7c0.03-4.26-0.82-8.48-2.5-12.4a32.3 32.3 0 0 0-7.2-10.4c-7.8-7.6-19.1-11.8-30.9-11.5-21.4 0.5-39.4 19.3-39.4 41.1v20.9c0.01 2.36-0.45 4.71-1.36 6.89s-2.25 4.16-3.94 5.81a18.02 18.02 0 0 1-12.7 5.3h-70.4a55.67 55.67 0 0 1-39.36-16.26 55.64 55.64 0 0 1-16.34-39.34v-70.4a18.1 18.1 0 0 1 5.3-12.7 18.1 18.1 0 0 1 12.7-5.3h27.7c9.2 0 18.1-3.9 25.1-11 3.9-3.92 7-8.58 9.1-13.7a40.7 40.7 0 0 0 3.1-16.2c-0.3-21.2-17.7-39.1-38.1-39.1H50c-2.36 0.01-4.71-0.45-6.89-1.36s-4.16-2.25-5.81-3.94a18 18 0 0 1-5.3-12.7v-70.4a55.8 55.8 0 0 1 4.2-21.3 53.9 53.9 0 0 1 12.1-18 55.7 55.7 0 0 1 39.3-16.3h55.2a8.08 8.08 0 0 0 5.7-2.3c0.74-0.75 1.33-1.64 1.72-2.62 0.4-0.98 0.6-2.02 0.58-3.08v-6.5a64.7 64.7 0 0 1 5.1-25.3 66.6 66.6 0 0 1 14.5-21.4 65.2 65.2 0 0 1 21.7-14.1c8.08-3.2 16.71-4.8 25.4-4.7 35.5 0.6 64.4 30.4 64.4 66.3v5.7a7.8 7.8 0 0 0 1.3 4.48 7.8 7.8 0 0 0 3.62 2.95c0.98 0.39 2.03 0.59 3.08 0.57h55.2c7.21-0.01 14.35 1.42 21 4.2a55 55 0 0 1 29.7 29.7 54.3 54.3 0 0 1 4.2 21v55.2a7.8 7.8 0 0 0 1.3 4.48 7.8 7.8 0 0 0 3.62 2.95c0.98 0.39 2.03 0.59 3.08 0.57h5.7c36.6 0 66.3 29 66.3 64.6 0 36.6-29.4 66.4-65.5 66.4h-6.5c-2.13-0.01-4.17 0.82-5.7 2.3-0.74 0.75-1.33 1.64-1.72 2.62-0.4 0.98-0.6 2.03-0.58 3.08v56c0.01 7.21-1.42 14.35-4.2 21a55 55 0 0 1-29.7 29.7 53.9 53.9 0 0 1-21 4.2",style:{fill:"currentcolor"}}]},"settings-outline":{viewBox:"0 0 512 512",paths:[{d:"M456.6999999999998 242.29999999999995l-26.1-4.2a8.2 8.2 0 0 1-4.4-2.3 8.3 8.3 0 0 1-2.2-4.5c-0.5-3.2-1-6.4-1.7-9.5-0.31-1.66-0.1-3.37 0.6-4.9a8.57 8.57 0 0 1 3.3-3.7l23.1-12.8a7.75 7.75 0 0 0 3.8-4.2c0.68-1.83 0.72-3.84 0.1-5.7l-4-11c-0.68-1.83-2-3.35-3.7-4.3a8 8 0 0 0-5.7-0.7l-25.9 5c-1.69 0.3-3.43 0.09-5-0.6a7.22 7.22 0 0 1-3.6-3.5q-2.25-4.2-4.8-8.4a8.16 8.16 0 0 1-1.2-4.91c0.13-1.73 0.79-3.37 1.9-4.69l17.3-19.9a8.42 8.42 0 0 0 2.2-5.2c0.09-1.98-0.59-3.91-1.9-5.4l-7.5-9a7.87 7.87 0 0 0-5-2.8 7.72 7.72 0 0 0-5.5 1.3l-22.7 13.6a8.14 8.14 0 0 1-4.8 1.1 7.4 7.4 0 0 1-4.6-2c-2.4-2.1-4.9-4.2-7.4-6.2a8.3 8.3 0 0 1-2.7-4.21c-0.45-1.64-0.38-3.39 0.2-4.99l9.4-24.8c0.8-1.81 0.9-3.85 0.29-5.73a8.08 8.08 0 0 0-3.59-4.47l-10.2-5.9a7.83 7.83 0 0 0-5.6-0.9 8.14 8.14 0 0 0-4.8 3.1l-16.6 20.8a6.93 6.93 0 0 1-3.8 2.7 7.63 7.63 0 0 1-4.7-0.2s-5.6-2.3-9.8-3.7a8.17 8.17 0 0 1-3.98-2.97 8.1 8.1 0 0 1-1.52-4.73l0.4-26.4c0.1-1.98-0.5-3.93-1.7-5.5a8.7 8.7 0 0 0-4.9-3l-11.6-2c-1.94-0.29-3.92 0.1-5.6 1.1a8.17 8.17 0 0 0-3.5 4.5l-8.6 25.1c-0.58 1.6-1.62 3-3 4-1.39 1-3.09 1.49-4.8 1.4h-9.8c-1.7 0-3.37-0.49-4.8-1.4a7.88 7.88 0 0 1-3-4l-8.6-25.1a7.9 7.9 0 0 0-3.5-4.5c-1.68-1-3.66-1.39-5.6-1.1l-11.6 2a8.17 8.17 0 0 0-4.9 3 8.36 8.36 0 0 0-1.7 5.5l0.4 26.4c0.01 1.72-0.51 3.39-1.5 4.8a8.5 8.5 0 0 1-4 3c-2.3 0.9-7.3 2.8-9.7 3.7-2.8 1-6.1 0.2-8.8-2.9L167 75.20000000000005a8.14 8.14 0 0 0-4.8-3.1 7.83 7.83 0 0 0-5.6 0.9l-10.2 5.9c-1.71 0.96-3 2.53-3.6 4.4s-0.5 3.9 0.3 5.7l9.4 24.8c0.62 1.6 0.69 3.36 0.2 5a8.33 8.33 0 0 1-2.7 4.2c-2.5 2-5 4.1-7.4 6.2a8.7 8.7 0 0 1-4.6 2c-1.68 0.2-3.38-0.19-4.8-1.1l-22.4-13.8a7.7 7.7 0 0 0-5.5-1.2 8.43 8.43 0 0 0-5 2.8l-7.5 9a8.13 8.13 0 0 0-1.9 5.4c0.07 1.94 0.85 3.8 2.2 5.2l17.3 19.9a7.9 7.9 0 0 1 1.9 4.6c0.11 1.72-0.31 3.43-1.2 4.9q-2.55 4.05-4.8 8.4a7.9 7.9 0 0 1-3.6 3.4c-1.56 0.73-3.3 0.98-5 0.7l-25.9-5a7.74 7.74 0 0 0-5.6 0.7 8.37 8.37 0 0 0-3.8 4.3l-4 11c-0.72 1.84-0.68 3.89 0.1 5.7a8.12 8.12 0 0 0 3.8 4.2l23.1 12.8a7.6 7.6 0 0 1 3.4 3.7c0.71 1.53 0.89 3.26 0.5 4.9-0.6 3.2-1.2 6.3-1.7 9.5-0.21 1.7-0.99 3.29-2.2 4.5a8.2 8.2 0 0 1-4.4 2.3l-26.1 4.2c-1.92 0.24-3.7 1.17-5 2.6a8.65 8.65 0 0 0-2.1 5.3v11.7c-0.01 1.96 0.71 3.86 2.02 5.32a7.95 7.95 0 0 0 5.08 2.58l26.1 4.2a8.2 8.2 0 0 1 4.4 2.3 8.3 8.3 0 0 1 2.2 4.5c0.5 3.2 1 6.4 1.7 9.5 0.31 1.66 0.1 3.37-0.6 4.9a9 9 0 0 1-3.3 3.7l-23.1 12.8a7.75 7.75 0 0 0-3.8 4.2 8.57 8.57 0 0 0-0.1 5.7l4 11c0.68 1.83 2 3.35 3.7 4.3 1.75 0.93 3.78 1.18 5.7 0.7l25.9-5c1.69-0.3 3.43-0.09 5 0.6a7.64 7.64 0 0 1 3.6 3.5q2.25 4.2 4.8 8.4a8.16 8.16 0 0 1 1.2 4.91 8.23 8.23 0 0 1-1.9 4.69l-17.3 20a8.4 8.4 0 0 0-2.2 5.2c-0.09 1.98 0.59 3.91 1.9 5.4l7.5 9a7.87 7.87 0 0 0 5 2.8c1.93 0.28 3.9-0.19 5.5-1.3l22.7-13.6a8.3 8.3 0 0 1 4.8-1.1c1.71 0.16 3.32 0.86 4.6 2 2.4 2.1 4.9 4.2 7.4 6.2a7.87 7.87 0 0 1 2.7 4.2 8.6 8.6 0 0 1-0.2 5l-9.4 24.8c-0.8 1.8-0.9 3.83-0.3 5.7s1.89 3.44 3.6 4.4l10.2 5.9c1.69 0.99 3.69 1.31 5.6 0.9a8.14 8.14 0 0 0 4.8-3.1l16.8-20.6c2.1-2.6 5.5-3.7 8.2-2.6 3.4 1.4 5.7 2.2 9.9 3.6 1.62 0.54 3.03 1.59 4 3 0.99 1.4 1.51 3.08 1.5 4.8l-0.4 26.4c-0.1 1.98 0.5 3.93 1.7 5.5a8.17 8.17 0 0 0 4.9 3l11.6 2c1.94 0.29 3.92-0.1 5.6-1.1a8.17 8.17 0 0 0 3.5-4.5l8.6-25c0.58-1.6 1.62-3 3-4 1.39-1 3.09-1.49 4.8-1.4h9.8c1.7 0 3.37 0.49 4.8 1.4 1.41 0.97 2.46 2.38 3 4l8.6 25a7.9 7.9 0 0 0 3.5 4.5c1.68 1 3.66 1.39 5.6 1.1l11.6-2a8.23 8.23 0 0 0 4.9-3.01 8.16 8.16 0 0 0 1.7-5.49l-0.4-26.4c-0.01-1.72 0.51-3.4 1.5-4.8 1-1.38 2.4-2.42 4-3 4.2-1.4 7-2.5 9.6-3.5a6.835 6.835 0 0 1 8.3 2.1l17 20.9a8.14 8.14 0 0 0 4.8 3.1c1.91 0.41 3.91 0.09 5.6-0.9l10.2-5.9a8.2 8.2 0 0 0 3.6-4.4c0.6-1.87 0.5-3.9-0.3-5.7l-9.4-24.8c-0.62-1.6-0.69-3.36-0.2-5a9 9 0 0 1 2.7-4.2c2.5-2 5-4.1 7.4-6.2a8.7 8.7 0 0 1 4.6-2c1.68-0.2 3.38 0.19 4.8 1.1l22.6 13.7a7.64 7.64 0 0 0 5.5 1.2 8.43 8.43 0 0 0 5-2.8l7.5-9a8.13 8.13 0 0 0 1.9-5.4 7.68 7.68 0 0 0-2.2-5.2l-17.3-19.9a7.9 7.9 0 0 1-1.9-4.6c-0.11-1.72 0.31-3.43 1.2-4.9q2.55-4.05 4.8-8.4c0.83-1.5 2.08-2.71 3.6-3.5 1.56-0.73 3.3-0.98 5-0.7l25.9 5c1.89 0.48 3.89 0.23 5.6-0.7 1.75-0.92 3.1-2.45 3.8-4.3l4-11c0.72-1.84 0.68-3.89-0.1-5.7a8.12 8.12 0 0 0-3.8-4.2l-23.1-12.8a7.64 7.64 0 0 1-3.4-3.7 7.82 7.82 0 0 1-0.5-5c0.6-3.2 1.2-6.3 1.7-9.5 0.21-1.7 0.98-3.29 2.2-4.5a8.2 8.2 0 0 1 4.4-2.3l26.1-4.2c1.92-0.24 3.7-1.17 5-2.6a8.65 8.65 0 0 0 2.1-5.3v-11.7a8.4 8.4 0 0 0-2.2-5.2 8.02 8.02 0 0 0-5-2.5M256 112a143.96 143.96 0 0 1 139.4 108.1c0.58 2.36 0.62 4.82 0.1 7.2-0.52 2.36-1.55 4.57-3 6.5-1.48 1.92-3.4 3.47-5.6 4.5a15.6 15.6 0 0 1-7 1.6h-105.2a16.27 16.27 0 0 1-14-8.1l-52.1-91.7a16.75 16.75 0 0 1-2.1-7c-0.1-2.46 0.31-4.91 1.2-7.2 0.92-2.29 2.4-4.32 4.3-5.9a15.8 15.8 0 0 1 6.4-3.4c12.3-3.03 24.93-4.57 37.6-4.6m-144 144c-0.02-19.28 3.82-38.36 11.31-56.12a143.9 143.9 0 0 1 32.29-47.28c1.77-1.69 3.89-2.99 6.2-3.8a16 16 0 0 1 7.2-0.7c2.44 0.31 4.77 1.2 6.8 2.6 2.01 1.38 3.68 3.19 4.9 5.3l52.2 91.9c1.38 2.4 2.1 5.13 2.1 7.9 0.02 2.77-0.71 5.5-2.1 7.9l-52.7 91.7c-1.2 2.15-2.92 3.97-5 5.3-2.08 1.3-4.39 2.18-6.8 2.6-2.42 0.32-4.89 0.08-7.2-0.7-2.31-0.81-4.43-2.11-6.2-3.8a143.3 143.3 0 0 1-32-47.1 147 147 0 0 1-11-55.7m144 144c-12.89 0.02-25.73-1.62-38.2-4.9-2.38-0.6-4.57-1.77-6.4-3.4a15.65 15.65 0 0 1-4.2-5.9c-0.95-2.28-1.36-4.74-1.2-7.21 0.16-2.46 0.87-4.85 2.1-6.99l52.6-91.5a15.9 15.9 0 0 1 5.87-5.88c2.44-1.41 5.21-2.14 8.03-2.12H380c2.43-0.02 4.82 0.53 7 1.6 3.28 1.61 5.91 4.29 7.45 7.6 1.55 3.31 1.92 7.05 1.05 10.6a144 144 0 0 1-51.24 77.93 143.97 143.97 0 0 1-88.26 30.17",style:{fill:"currentcolor"}}]},"filters-outline":{viewBox:"0 0 512 512",paths:[{d:"M46.5 107.29999999999995l160.3 186.7c2.37 2.76 3.71 6.26 3.8 9.9v113.4c-0.03 1.59 0.45 3.14 1.37 4.44a7.46 7.46 0 0 0 3.73 2.76l76.2 25.3a7.694 7.694 0 0 0 9.6-4.7c0.29-0.8 0.42-1.65 0.4-2.5v-138.8c0.01-3.65 1.36-7.18 3.8-9.9l160.2-186.7c2.29-2.68 3.43-6.17 3.17-9.69s-1.9-6.79-4.57-9.11c-2.39-2.07-5.44-3.2-8.6-3.2h-399.1c-1.75-0.01-3.48 0.33-5.1 0.99-1.62 0.67-3.09 1.64-4.33 2.88a13.3 13.3 0 0 0-2.88 4.33c-0.66 1.62-1 3.35-0.99 5.1a12.1 12.1 0 0 0 3 8.8",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}}]},filters:{viewBox:"0 0 512 512",paths:[{d:"M46.5 107.40000000000009l160.3 186.7c2.37 2.76 3.71 6.26 3.8 9.9v113.4c-0.03 1.59 0.45 3.14 1.37 4.44a7.46 7.46 0 0 0 3.73 2.76l76.2 25.3c1.9 0.61 3.96 0.47 5.75-0.41a7.73 7.73 0 0 0 3.85-4.29c0.29-0.8 0.42-1.65 0.4-2.5V304c0.01-3.65 1.36-7.18 3.8-9.9l160.2-186.7c2.29-2.69 3.43-6.17 3.17-9.69s-1.9-6.79-4.57-9.11a13.07 13.07 0 0 0-8.6-3.2h-399.1c-1.75-0.01-3.48 0.33-5.1 0.99-1.62 0.67-3.09 1.64-4.33 2.88a13.3 13.3 0 0 0-2.88 4.33c-0.66 1.62-1 3.35-0.99 5.1-0.17 3.18 0.9 6.3 3 8.7",style:{fill:"currentcolor"}}]},"calendar-outline":{viewBox:"0 0 512 512",paths:[{d:"M101.30000000000018 81h320a48.003 48.003 0 0 1 48 48v288a48.003 48.003 0 0 1-48 48h-320a48.003 48.003 0 0 1-48-48v-288a48.003 48.003 0 0 1 48-48Z",style:{stroke:"currentcolor",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}},{d:"M301.3000000000002 257c5.95 0.01 11.69-2.2 16.11-6.19 4.41-3.99 7.19-9.48 7.78-15.4 0.59-5.93-1.04-11.86-4.58-16.64a23.9 23.9 0 0 0-14.57-9.25 23.97 23.97 0 0 0-17 2.92 23.983 23.983 0 0 0-9.4 30.8 24.04 24.04 0 0 0 12.48 11.92c2.91 1.21 6.03 1.83 9.18 1.84",style:{fill:"currentcolor"}},{d:"M381.3000000000002 257c5.95 0.01 11.69-2.2 16.11-6.19 4.41-3.99 7.19-9.48 7.78-15.4 0.59-5.93-1.04-11.86-4.58-16.64a23.9 23.9 0 0 0-14.57-9.25 23.97 23.97 0 0 0-17 2.92 23.983 23.983 0 0 0-9.4 30.8 24.04 24.04 0 0 0 12.48 11.92c2.91 1.21 6.03 1.83 9.18 1.84",style:{fill:"currentcolor"}},{d:"M301.3000000000002 337c5.95 0.01 11.69-2.2 16.11-6.19 4.41-3.99 7.19-9.48 7.78-15.4 0.59-5.93-1.04-11.86-4.58-16.64a23.9 23.9 0 0 0-14.57-9.25 23.97 23.97 0 0 0-17 2.92 23.983 23.983 0 0 0-9.4 30.8 24.04 24.04 0 0 0 12.48 11.92c2.91 1.21 6.03 1.83 9.18 1.84",style:{fill:"currentcolor"}},{d:"M381.3000000000002 337c5.95 0.01 11.69-2.2 16.11-6.19 4.41-3.99 7.19-9.48 7.78-15.4 0.59-5.93-1.04-11.86-4.58-16.64a23.9 23.9 0 0 0-14.57-9.25 23.97 23.97 0 0 0-17 2.92 23.983 23.983 0 0 0-9.4 30.8 24.04 24.04 0 0 0 12.48 11.92c2.91 1.21 6.03 1.83 9.18 1.84",style:{fill:"currentcolor"}},{d:"M141.30000000000018 337c5.95 0.01 11.69-2.2 16.11-6.19 4.41-3.99 7.19-9.48 7.78-15.4 0.59-5.93-1.04-11.86-4.58-16.64a23.9 23.9 0 0 0-14.57-9.25 23.97 23.97 0 0 0-17 2.92 23.983 23.983 0 0 0-9.4 30.8 24.04 24.04 0 0 0 12.48 11.92c2.91 1.21 6.03 1.83 9.18 1.84",style:{fill:"currentcolor"}},{d:"M221.30000000000018 337c5.95 0.01 11.69-2.2 16.11-6.19 4.41-3.99 7.19-9.48 7.78-15.4 0.59-5.93-1.04-11.86-4.58-16.64a23.9 23.9 0 0 0-14.57-9.25 23.97 23.97 0 0 0-17 2.92 23.983 23.983 0 0 0-9.4 30.8 24.04 24.04 0 0 0 12.48 11.92c2.91 1.21 6.03 1.83 9.18 1.84",style:{fill:"currentcolor"}},{d:"M141.30000000000018 417c5.95 0.01 11.69-2.2 16.11-6.19 4.41-3.99 7.19-9.48 7.78-15.4 0.59-5.93-1.04-11.86-4.58-16.64a23.9 23.9 0 0 0-14.57-9.25 23.97 23.97 0 0 0-17 2.92 23.983 23.983 0 0 0-9.4 30.8 24.04 24.04 0 0 0 12.48 11.92c2.91 1.21 6.03 1.83 9.18 1.84",style:{fill:"currentcolor"}},{d:"M221.30000000000018 417c5.95 0.01 11.69-2.2 16.11-6.19 4.41-3.99 7.19-9.48 7.78-15.4 0.59-5.93-1.04-11.86-4.58-16.64a23.9 23.9 0 0 0-14.57-9.25 23.97 23.97 0 0 0-17 2.92 23.983 23.983 0 0 0-9.4 30.8 24.04 24.04 0 0 0 12.48 11.92c2.91 1.21 6.03 1.83 9.18 1.84",style:{fill:"currentcolor"}},{d:"M301.3000000000002 417c5.95 0.01 11.69-2.2 16.11-6.19 4.41-3.99 7.19-9.48 7.78-15.4 0.59-5.93-1.04-11.86-4.58-16.64a23.9 23.9 0 0 0-14.57-9.25 23.97 23.97 0 0 0-17 2.92 23.983 23.983 0 0 0-9.4 30.8 24.04 24.04 0 0 0 12.48 11.92c2.91 1.21 6.03 1.83 9.18 1.84",style:{fill:"currentcolor"}},{d:"M133.30000000000018 49v32",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}},{d:"M389.3000000000002 49v32",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}},{d:"M469.3000000000002 161h-416",style:{stroke:"currentcolor",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}}]},calendar:{viewBox:"0 0 512 512",paths:[{d:"M480 128a64.03 64.03 0 0 0-18.76-45.24c-12-12-28.27-18.75-45.24-18.76h-16v-15.6c0-8.6-6.6-16-15.2-16.4-4.24-0.18-8.37 1.31-11.52 4.16a16.13 16.13 0 0 0-5.28 11.04v16.8h-224v-15.6c0-8.6-6.6-16-15.2-16.4-4.24-0.18-8.37 1.31-11.52 4.16a16.13 16.13 0 0 0-5.28 11.04v16.8h-16a64.03 64.03 0 0 0-45.24 18.76c-12 12-18.75 28.27-18.76 45.24v12a4.014 4.014 0 0 0 4 4h440a4.014 4.014 0 0 0 4-4z",style:{fill:"currentcolor"}},{d:"M32 416a64.03 64.03 0 0 0 18.76 45.24c12 12 28.27 18.75 45.24 18.76h320a64.03 64.03 0 0 0 45.24-18.76c12-12 18.75-28.27 18.76-45.24v-237c0.01-0.4-0.06-0.79-0.21-1.16s-0.37-0.7-0.65-0.98-0.61-0.5-0.98-0.65-0.76-0.22-1.16-0.21h-442c-0.4-0.01-0.79 0.06-1.16 0.21s-0.7 0.37-0.98 0.65-0.5 0.61-0.65 0.98-0.22 0.76-0.21 1.16z m344-208a23.97 23.97 0 0 1 16.08 6.24c4.4 4.01 7.15 9.51 7.72 15.43 0.58 5.92-1.08 11.84-4.63 16.61a23.9 23.9 0 0 1-14.59 9.2c-5.84 1.15-11.89 0.09-16.99-2.98-5.1-3.06-8.87-7.92-10.59-13.61a23.94 23.94 0 0 1 1.3-17.21 23.97 23.97 0 0 1 21.7-13.68m0 80a23.97 23.97 0 0 1 16.08 6.24c4.4 4.01 7.15 9.51 7.72 15.43 0.58 5.92-1.08 11.84-4.63 16.61a23.9 23.9 0 0 1-14.59 9.2c-5.84 1.15-11.89 0.09-16.99-2.98-5.1-3.06-8.87-7.92-10.59-13.61a23.94 23.94 0 0 1 1.3-17.21 23.97 23.97 0 0 1 21.7-13.68m-80-80a23.97 23.97 0 0 1 16.08 6.24c4.4 4.01 7.15 9.51 7.72 15.43 0.58 5.92-1.08 11.84-4.63 16.61a23.9 23.9 0 0 1-14.59 9.2c-5.84 1.15-11.89 0.09-16.99-2.98-5.1-3.06-8.87-7.92-10.59-13.61a23.94 23.94 0 0 1 1.3-17.21 23.97 23.97 0 0 1 21.7-13.68m0 80a23.97 23.97 0 0 1 16.08 6.24c4.4 4.01 7.15 9.51 7.72 15.43 0.58 5.92-1.08 11.84-4.63 16.61a23.9 23.9 0 0 1-14.59 9.2c-5.84 1.15-11.89 0.09-16.99-2.98-5.1-3.06-8.87-7.92-10.59-13.61a23.94 23.94 0 0 1 1.3-17.21 23.97 23.97 0 0 1 21.7-13.68m0 80a23.97 23.97 0 0 1 16.08 6.24c4.4 4.01 7.15 9.51 7.72 15.43 0.58 5.92-1.08 11.84-4.63 16.61a23.9 23.9 0 0 1-14.59 9.2c-5.84 1.15-11.89 0.09-16.99-2.98-5.1-3.06-8.87-7.92-10.59-13.61a23.94 23.94 0 0 1 1.3-17.21 23.97 23.97 0 0 1 21.7-13.68m-80-80a23.97 23.97 0 0 1 16.08 6.24c4.4 4.01 7.15 9.51 7.72 15.43 0.58 5.92-1.08 11.84-4.63 16.61a23.9 23.9 0 0 1-14.59 9.2c-5.84 1.15-11.89 0.09-16.99-2.98-5.1-3.06-8.87-7.92-10.59-13.61a23.94 23.94 0 0 1 1.3-17.21 23.97 23.97 0 0 1 21.7-13.68m0 80a23.97 23.97 0 0 1 16.08 6.24c4.4 4.01 7.15 9.51 7.72 15.43 0.58 5.92-1.08 11.84-4.63 16.61a23.9 23.9 0 0 1-14.59 9.2c-5.84 1.15-11.89 0.09-16.99-2.98-5.1-3.06-8.87-7.92-10.59-13.61a23.94 23.94 0 0 1 1.3-17.21 23.97 23.97 0 0 1 21.7-13.68m-80-80a23.97 23.97 0 0 1 16.08 6.24c4.4 4.01 7.15 9.51 7.72 15.43 0.58 5.92-1.08 11.84-4.63 16.61a23.9 23.9 0 0 1-14.59 9.2c-5.84 1.15-11.89 0.09-16.99-2.98-5.1-3.06-8.87-7.92-10.59-13.61a23.94 23.94 0 0 1 1.3-17.21 23.97 23.97 0 0 1 21.7-13.68m0 80a23.97 23.97 0 0 1 16.08 6.24c4.4 4.01 7.15 9.51 7.72 15.43 0.58 5.92-1.08 11.84-4.63 16.61a23.9 23.9 0 0 1-14.59 9.2c-5.84 1.15-11.89 0.09-16.99-2.98-5.1-3.06-8.87-7.92-10.59-13.61a23.94 23.94 0 0 1 1.3-17.21 23.97 23.97 0 0 1 21.7-13.68",style:{fill:"currentcolor"}}]},settings:{viewBox:"0 0 512 512",paths:[{d:"M464 250a10 10 0 0 0-2.9-6.7 10.8 10.8 0 0 0-6.5-3.3l-25.6-4.2a5.87 5.87 0 0 1-3-1.6 5.7 5.7 0 0 1-1.5-3.1c-0.5-3.2-1-6.4-1.7-9.5a5.36 5.36 0 0 1 0.4-3.3 6.63 6.63 0 0 1 2.2-2.5l22.8-12.7c2.26-1.16 4.01-3.12 4.9-5.5 0.93-2.37 0.97-5 0.1-7.4l-3.9-10.9a10.6 10.6 0 0 0-4.8-5.6 10.29 10.29 0 0 0-7.3-0.9l-25.5 5c-1.16 0.18-2.34 0.01-3.4-0.5a5.34 5.34 0 0 1-2.4-2.3q-2.25-4.2-4.8-8.4c-0.6-0.99-0.88-2.14-0.8-3.3 0.07-1.18 0.53-2.3 1.3-3.2l17-19.6c1.69-1.87 2.68-4.28 2.8-6.8 0.08-2.52-0.78-4.97-2.4-6.9l-7.4-8.9a10.3 10.3 0 0 0-13.6-2l-22.4 13.4c-1 0.58-2.15 0.83-3.3 0.7a5.24 5.24 0 0 1-3.1-1.4c-2.5-2.2-5-4.3-7.4-6.2a5.43 5.43 0 0 1-1.9-2.8c-0.28-1.13-0.21-2.31 0.2-3.4l9.3-24.4c0.99-2.33 1.1-4.95 0.31-7.36s-2.43-4.45-4.61-5.74l-10.1-5.9a10.34 10.34 0 0 0-7.3-1.2 9.96 9.96 0 0 0-6.2 4l-16.4 20.5a5.24 5.24 0 0 1-2.5 1.9c-1.02 0.33-2.13 0.26-3.1-0.2-0.6-0.2-5.8-2.4-9.8-3.7a5.5 5.5 0 0 1-2.7-2 5.3 5.3 0 0 1-1-3.2l0.4-26.1c0.15-2.55-0.63-5.08-2.2-7.1-1.55-2.01-3.8-3.36-6.3-3.8l-11.4-2c-2.49-0.4-5.04 0.09-7.2 1.4a10.5 10.5 0 0 0-4.5 5.8l-8.5 24.8a5.12 5.12 0 0 1-2.1 2.7c-0.98 0.64-2.13 0.96-3.3 0.9h-9.8c-1.15 0.04-2.28-0.31-3.2-1-0.97-0.66-1.7-1.6-2.1-2.7l-8.5-24.7c-0.71-2.43-2.32-4.51-4.5-5.8-2.16-1.3-4.71-1.79-7.2-1.4l-11.5 2c-2.48 0.48-4.72 1.83-6.3 3.8a9.97 9.97 0 0 0-2.2 7l0.4 26.2c-0.01 1.19-0.4 2.34-1.1 3.3-0.73 0.91-1.7 1.61-2.8 2-2.3 0.9-7.3 2.8-9.5 3.6-2 0.7-4.2-0.1-5.9-2.1l-16.3-20a9.96 9.96 0 0 0-6.2-4c-2.49-0.5-5.07-0.11-7.3 1.1l-10.1 5.8c-2.23 1.29-3.9 3.35-4.7 5.8-0.82 2.43-0.68 5.08 0.4 7.4l9.2 24.3c0.43 1.09 0.47 2.29 0.1 3.4-0.28 1.1-0.91 2.09-1.8 2.8-2.4 2-4.9 4-7.4 6.2-0.86 0.78-1.94 1.27-3.09 1.4s-2.31-0.12-3.31-0.7l-22.1-13.7a10.68 10.68 0 0 0-7.2-1.6c-2.51 0.36-4.79 1.64-6.4 3.6l-7.4 8.9a10.22 10.22 0 0 0-2.4 6.9c0.1 2.53 1.09 4.94 2.8 6.8l17.1 19.6c0.77 0.9 1.23 2.02 1.3 3.2a5.47 5.47 0 0 1-0.8 3.3c-1.7 2.7-3.3 5.6-4.8 8.4a5.8 5.8 0 0 1-2.5 2.4c-1.05 0.51-2.24 0.69-3.4 0.5l-25.5-4.9a10.2 10.2 0 0 0-7.31 0.91c-2.24 1.2-3.94 3.19-4.79 5.59l-4 10.9c-0.92 2.39-0.88 5.04 0.1 7.4 0.92 2.36 2.66 4.31 4.9 5.5l22.8 12.7c1.01 0.57 1.81 1.45 2.3 2.5 0.49 1.06 0.6 2.27 0.3 3.4l-0.2 1.3c-0.5 2.8-1 5.4-1.5 8.2a5.7 5.7 0 0 1-1.5 3c-0.81 0.84-1.86 1.4-3 1.6l-25.7 4.2c-2.51 0.3-4.82 1.51-6.5 3.4a10.22 10.22 0 0 0-2.6 6.9v11.6c-0.01 2.54 0.91 4.99 2.59 6.89 1.67 1.9 3.99 3.11 6.51 3.41l25.7 4.1c1.15 0.18 2.21 0.75 3 1.6 0.81 0.85 1.33 1.94 1.5 3.1 0.5 3.2 1 6.4 1.7 9.5 0.21 1.15 0.08 2.33-0.4 3.4a6.63 6.63 0 0 1-2.2 2.5l-22.8 12.7a10.2 10.2 0 0 0-4.9 5.5c-0.88 2.38-0.92 5-0.1 7.4l4 10.9a10.6 10.6 0 0 0 4.8 5.6c2.24 1.19 4.84 1.52 7.3 0.9l25.6-4.9c1.16-0.23 2.36-0.05 3.4 0.5 1.02 0.5 1.86 1.3 2.4 2.3q2.25 4.2 4.8 8.4c0.6 0.99 0.88 2.14 0.8 3.3a5.4 5.4 0 0 1-1.3 3.2l-17 19.6a10.312 10.312 0 0 0-0.5 13.8l7.4 8.9a10.3 10.3 0 0 0 13.6 2l22.4-13.4c1-0.58 2.15-0.83 3.3-0.7 1.16 0.11 2.25 0.6 3.1 1.4 2.5 2.2 5 4.3 7.4 6.2 0.92 0.71 1.58 1.69 1.9 2.8 0.32 1.12 0.28 2.3-0.1 3.4l-9.3 24.4c-0.99 2.33-1.1 4.95-0.31 7.36s2.43 4.45 4.61 5.74l10.1 5.8c2.2 1.29 4.8 1.71 7.3 1.2a9.96 9.96 0 0 0 6.2-4l16.6-20.3c1.4-1.7 3.6-2.5 5.2-1.8 3.5 1.4 5.8 2.2 9.9 3.6 1.09 0.37 2.03 1.07 2.7 2a5.3 5.3 0 0 1 1 3.2l-0.4 26.1a11.3 11.3 0 0 0 2.2 7.1c1.55 2.01 3.8 3.36 6.3 3.8l11.4 2c2.49 0.41 5.04-0.09 7.2-1.4 2.18-1.29 3.79-3.37 4.5-5.8l8.5-24.8a5.12 5.12 0 0 1 2.1-2.7c0.95-0.69 2.13-1.01 3.3-0.9h9.8c1.15-0.04 2.28 0.32 3.2 1 0.97 0.66 1.7 1.6 2.1 2.7l8.5 24.7a10.66 10.66 0 0 0 10 7.4c0.6-0.02 1.21-0.08 1.8-0.2l11.5-2c2.49-0.47 4.72-1.82 6.3-3.8a9.97 9.97 0 0 0 2.2-7l-0.4-26.2c-0.04-1.15 0.31-2.28 1-3.2 0.69-0.91 1.63-1.6 2.7-2 3.8-1.3 6.5-2.3 8.9-3.2l0.6-0.2c3.1-1.1 4.6 0.2 5.5 1.3l16.8 20.6a10.28 10.28 0 0 0 13.5 2.8l10.1-5.8a9.95 9.95 0 0 0 4.6-5.7c0.8-2.42 0.7-5.05-0.3-7.4l-9.2-24.3a5.72 5.72 0 0 1-0.2-3.4 4.88 4.88 0 0 1 1.9-2.8c2.4-2 4.9-4 7.4-6.2 0.87-0.76 1.95-1.25 3.1-1.4 1.15-0.12 2.3 0.13 3.3 0.7l22.4 13.4a10.68 10.68 0 0 0 7.2 1.6c2.51-0.36 4.79-1.64 6.4-3.6l7.4-8.9c1.64-1.95 2.5-4.45 2.4-7-0.1-2.53-1.09-4.94-2.8-6.8l-17.1-19.7c-0.76-0.89-1.21-2-1.3-3.17s0.19-2.33 0.8-3.33c1.7-2.7 3.3-5.6 4.8-8.4a6.5 6.5 0 0 1 2.5-2.4c1.05-0.51 2.24-0.69 3.4-0.5l25.5 5c2.46 0.62 5.07 0.3 7.31-0.9s3.95-3.2 4.79-5.6l3.9-10.9c0.92-2.39 0.88-5.04-0.1-7.4-0.92-2.36-2.66-4.31-4.9-5.5l-22.8-12.7a5.57 5.57 0 0 1-2.3-2.5c-0.5-1.06-0.6-2.27-0.3-3.4l0.2-1.3c0.5-2.8 1-5.4 1.5-8.2 0.19-1.13 0.71-2.17 1.5-3 0.81-0.84 1.86-1.4 3-1.6l25.7-4.1c2.51-0.3 4.82-1.51 6.5-3.4 1.69-1.9 2.62-4.36 2.6-6.9v-11.8z m-282.4 94a15.5 15.5 0 0 1-5.1 5.4c-2.1 1.37-4.5 2.23-7 2.5-2.48 0.27-4.99-0.07-7.3-1-2.34-0.9-4.43-2.34-6.1-4.2a135.03 135.03 0 0 1-34.9-90.88 135.02 135.02 0 0 1 35.3-90.72c1.67-1.86 3.76-3.3 6.1-4.2 2.32-0.89 4.83-1.2 7.3-0.9 2.5 0.27 4.9 1.13 7 2.5a16.56 16.56 0 0 1 5.1 5.4l45.6 80.4c1.38 2.41 2.1 5.13 2.1 7.9s-0.72 5.49-2.1 7.9z m74.4 47.2c-9.51 0-19-1-28.3-3a15.52 15.52 0 0 1-11-9.1c-0.97-2.27-1.41-4.73-1.3-7.2 0.13-2.47 0.85-4.87 2.1-7l46-80c1.4-2.4 3.4-4.4 5.8-5.8 2.4-1.39 5.13-2.12 7.9-2.1h92.1c2.47 0.01 4.9 0.59 7.1 1.7a15.9 15.9 0 0 1 5.6 4.7c1.47 2.02 2.46 4.34 2.9 6.8 0.39 2.44 0.22 4.94-0.5 7.3-17.5 54.2-68.4 93.7-128.4 93.7m7.5-163.9L218 147.0999999999999a17.25 17.25 0 0 1-2.1-7c-0.22-3.72 0.91-7.4 3.16-10.37s5.5-5.04 9.14-5.83c9.11-1.91 18.39-2.89 27.7-2.9 60 0 110.9 39.4 128.4 93.8 0.71 2.37 0.88 4.86 0.5 7.3-0.41 2.45-1.4 4.77-2.88 6.77-1.47 1.99-3.4 3.62-5.62 4.73-2.21 1.1-4.63 1.68-7.1 1.7h-92c-2.8 0-5.56-0.72-8-2.1-2.33-1.5-4.28-3.52-5.7-5.9",style:{fill:"currentcolor"}}]},trailer:{viewBox:"0 0 512 512",paths:[{d:"M434.4 215.4000000000001l-270.2 2.1c36.8-14.4 74.6-28.9 112.8-43.5 48.7-18.7 97.4-37.3 143.2-55.4a15.34 15.34 0 0 0 8.092-8.42 15.33 15.33 0 0 0-0.192-11.68l-1.9-4.5a541 541 0 0 0-30.2-67.4 14.75 14.75 0 0 0-7.795-5.46 14.7 14.7 0 0 0-9.505 0.46c-7.2 2.8-64.4 25-129.9 50.2-75.2 29.1-161.2 62.2-194.5 75.2a14.75 14.75 0 0 0-8.037 7.63 14.75 14.75 0 0 0-0.463 11.07c5.3 14.7 8.7 24.1 11.2 30.6a48.86 48.86 0 0 0-14.2 23.9l-0.8 3.7-0.3 1.4a18.4 18.4 0 0 0-0.3 3.2v7.6c0.088 1.45 0.322 2.89 0.7 4.3a50.06 50.06 0 0 0 34.9 39.2c0.2 37.9 0.7 155.2 0.7 177.9 0.005 3.9 1.555 7.63 4.31 10.39a14.76 14.76 0 0 0 10.39 4.31c52.3 0 344.4 1.3 344.4 1.3 3.865 0 7.577-1.52 10.329-4.23a14.7 14.7 0 0 0 4.371-10.27c0-1.7 2.3-168.2 2.3-224.7-0.2-16.7-15.5-18.9-19.4-18.9m-155.8 68.8l23.9-38.5 53.6-0.4-24.1 38.9z m-10.8-38.2l-23.7 38.2h-52.9l23.4-37.9z m-36.5-86c-16.6 6.4-32.9 12.7-49.2 19l6-52.3 49.2-19z m35.2-13.6l-4.4 1.7 6-52.4 50.5-19.4-6.1 52.5z m129.1-49.8c-17 6.7-34.5 13.4-52 20.2l6.1-52.5 27.6-10.6c5.3 11.8 13.2 30.5 18.3 42.9m-312.1 86.6l-5.2-14.1c19.4-7.6 47.4-18.4 78.8-30.5l-6 52.4c-6.4 2.5-12.9 5-19.2 7.5a45.6 45.6 0 0 0-16.213-12.17A45.5 45.5 0 0 0 95.8 182.4000000000001c-0.8 0-1.9 0.2-2.8 0.2-2.642-0.03-5.283 0.13-7.9 0.5-0.535-0.01-1.07 0.02-1.6 0.1M70.6 234.4000000000001l0.6-7c1.493-5.09 4.8-9.46 9.297-12.28a21.72 21.72 0 0 1 15.103-3.02c5.217 0.69 9.978 3.33 13.319 7.4a20.75 20.75 0 0 1 4.681 14.5 19.9 19.9 0 0 1-5.9 12.1 21.95 21.95 0 0 1-14.6 6.6 20.75 20.75 0 0 1-22.2-17.3c-0.06-0.34-0.16-0.68-0.3-1m35.6 46c1-0.3 1.8-0.9 2.8-1.3a47.5 47.5 0 0 0 10.2-4.8l0.2-0.1a52.1 52.1 0 0 0 10.8-9.1c0.3-0.3 0.6-0.5 0.8-0.7s0.7-1 1.1-1.4c0.8-1 1.5-2 2.2-3a46 46 0 0 0 7.2-13l38.4-0.3-23.3 37.6h-50.4z m316 163.7c-54.8-0.2-248.7-1.1-315.2-1.2-0.1-29.5-0.3-88-0.5-129.3h317.4c-0.6 49.6-1.3 104.9-1.7 130.5m1.8-159.9h-57.6l24.2-39.2 33.5-0.3c0.1 11.1-0.1 24.7-0.1 39.5",style:{fill:"currentcolor"}}]},"add-to-library":{viewBox:"0 0 512 512",paths:[{d:"M140.5999999999999 72.5h213c9.1-0.3 16.2-7.3 16-15.8-0.3-8.1-7.3-14.6-16-14.9h-213c-9.1 0.3-16.2 7.3-16 15.8 0.3 8.1 7.3 14.6 16 14.9",style:{fill:"currentcolor"}},{d:"M116.79999999999995 118.59999999999991h255.1c8.9 0 16.1-6.9 16.1-15.3 0-8.5-7.2-15.3-16.1-15.3H116.79999999999995c-8.9 0-16.1 6.9-16.1 15.3 0.1 8.4 7.3 15.3 16.1 15.3",style:{fill:"currentcolor"}},{d:"M391.29999999999995 311.5999999999999h-40.8v-40.7c0-3.66-1.454-7.17-4.042-9.76a13.8 13.8 0 0 0-9.758-4.04c-3.66 0-7.17 1.45-9.758 4.04a13.8 13.8 0 0 0-4.042 9.76v40.7h-40.7c-3.66 0-7.17 1.45-9.758 4.04a13.81 13.81 0 0 0 0 19.52 13.8 13.8 0 0 0 9.758 4.04h40.7v40.7c0 3.66 1.454 7.17 4.042 9.76a13.8 13.8 0 0 0 9.758 4.04c3.66 0 7.17-1.45 9.758-4.04a13.8 13.8 0 0 0 4.042-9.76v-40.7h40.8a13.8 13.8 0 0 0 13.8-13.8 13.8 13.8 0 0 0-13.8-13.8",style:{fill:"currentcolor"}},{d:"M424.0999999999999 210.5999999999999v-30a47.6 47.6 0 0 0-13.93-33.57 47.6 47.6 0 0 0-33.57-13.93H98.49999999999989a47.528 47.528 0 0 0-47.5 47.5v179a47.557 47.557 0 0 0 47.5 47.5h119a144.4 144.4 0 0 0 45.184 42.53 144.3 144.3 0 0 0 58.863 19.65 144.4 144.4 0 0 0 61.673-6.86 144.3 144.3 0 0 0 53.1-32.11 144.3 144.3 0 0 0 34.73-51.43 144.3 144.3 0 0 0 9.95-61.25c-1.17-20.9-6.86-41.29-16.68-59.77a144.5 144.5 0 0 0-40.22-47.26m-325.6 165.8a16.93 16.93 0 0 1-11.94-4.96 16.94 16.94 0 0 1-4.96-11.94v-179a16.94 16.94 0 0 1 4.96-11.94 16.93 16.93 0 0 1 11.94-4.96h278.1a16.93 16.93 0 0 1 16.9 16.9v12a144.25 144.25 0 0 0-82.717-9.45 144.29 144.29 0 0 0-115.109 110.31 144.3 144.3 0 0 0 5.926 83.04z m238.3 66a116.8 116.8 0 0 1-46.637-9.74 116.8 116.8 0 0 1-38.863-27.56l-4.5-5.5a122.5 122.5 0 0 1-13.5-20.7l-1.3-2.5h-0.5a117.002 117.002 0 0 1 27.188-138.12 117.006 117.006 0 0 1 187.392 45.29 117.03 117.03 0 0 1 3.18 74.15 117.02 117.02 0 0 1-112.46 84.68",style:{fill:"currentcolor"}}]},"remove-from-library":{viewBox:"0 0 512 512",paths:[{d:"M391.20000000000005 311.5999999999999h-109.1a13.8 13.8 0 0 0-13.8 13.8 13.8 13.8 0 0 0 13.8 13.8h109.1a13.8 13.8 0 0 0 13.8-13.8 13.8 13.8 0 0 0-13.8-13.8",style:{fill:"currentcolor"}},{d:"M424.0999999999999 210.5999999999999v-30a47.523 47.523 0 0 0-47.5-47.5h-278.1a47.6 47.6 0 0 0-33.57 13.93 47.6 47.6 0 0 0-13.93 33.57v179a47.6 47.6 0 0 0 13.93 33.57c8.9 8.9 20.98 13.91 33.57 13.93h119c11.8 17.28 27.22 31.8 45.18 42.53a144.3 144.3 0 0 0 58.87 19.65c20.81 2.21 41.85-0.13 61.67-6.86a144.3 144.3 0 0 0 53.1-32.11 144.3 144.3 0 0 0 34.73-51.43 144.3 144.3 0 0 0 9.95-61.25c-1.17-20.9-6.86-41.29-16.68-59.77a144.5 144.5 0 0 0-40.22-47.26m-325.6 165.8a16.93 16.93 0 0 1-16.9-16.9v-179a16.93 16.93 0 0 1 16.9-16.9h278.1a16.93 16.93 0 0 1 16.9 16.9v12a144.24 144.24 0 0 0-82.72-9.45c-27.9 5.04-53.7 18.19-74.17 37.81a144.33 144.33 0 0 0-40.94 72.5 144.36 144.36 0 0 0 5.93 83.04z m238.2 66c-16.05-0.01-31.93-3.32-46.64-9.74a116.8 116.8 0 0 1-38.86-27.56l-4.5-5.5c-5.19-6.43-9.71-13.36-13.5-20.7l-1.3-2.5h-0.5a116.9 116.9 0 0 1-10.51-67.04c3.2-22.89 13.12-44.32 28.51-61.58a116.8 116.8 0 0 1 57.91-35.36c22.38-5.81 45.97-4.84 67.8 2.76a116.96 116.96 0 0 1 54.84 39.97 116.97 116.97 0 0 1 23.39 63.7c1.32 23.08-4.22 46.04-15.94 65.96a116.9 116.9 0 0 1-49.9 45.99 115.34 115.34 0 0 1-50.8 11.6",style:{fill:"currentcolor"}},{d:"M140.5999999999999 72.5h213c9.1-0.3 16.2-7.3 16-15.8-0.3-8.1-7.3-14.6-16-14.9h-213c-9.1 0.3-16.2 7.3-16 15.8 0.3 8.1 7.3 14.6 16 14.9",style:{fill:"currentcolor"}},{d:"M116.79999999999995 118.59999999999991H372c8.9 0 16.1-6.9 16.1-15.3 0-8.5-7.2-15.3-16.1-15.3h-255.1c-8.9 0-16.1 6.9-16.1 15.3s7.2 15.3 16 15.3",style:{fill:"currentcolor"}}]},details:{viewBox:"0 0 512 512",paths:[{d:"M413.9000000000001 80h-315.6a53.4 53.4 0 0 0-37.66 15.64 53.4 53.4 0 0 0-15.64 37.66v246.2a53.4 53.4 0 0 0 15.64 37.66 53.4 53.4 0 0 0 37.66 15.64h315.6a53.4 53.4 0 0 0 37.66-15.64 53.4 53.4 0 0 0 15.64-37.66v-246.2a53.45 53.45 0 0 0-15.66-37.64 53.45 53.45 0 0 0-37.64-15.66m19.8 299.5a19.84 19.84 0 0 1-19.8 19.8h-315.6a19.84 19.84 0 0 1-19.8-19.8v-246.2a19.84 19.84 0 0 1 19.8-19.8h315.6a19.84 19.84 0 0 1 19.8 19.8z",style:{fill:"currentcolor"}},{d:"M128.70000000000005 184.5999999999999h204.6a16.55 16.55 0 0 0 10.95-5.21c2.86-3.07 4.45-7.1 4.45-11.29s-1.59-8.22-4.45-11.29a16.55 16.55 0 0 0-10.95-5.21h-204.6c-4.18 0.29-8.1 2.15-10.95 5.21-2.86 3.07-4.45 7.1-4.45 11.29s1.59 8.22 4.45 11.29c2.85 3.06 6.77 4.92 10.95 5.21",style:{fill:"currentcolor"}},{d:"M218.4000000000001 299.1999999999998h-89.7c-4.19 0.29-8.11 2.16-10.98 5.23a16.595 16.595 0 0 0 0 22.64c2.87 3.07 6.79 4.94 10.98 5.23h87.8c4.19-0.29 8.11-2.16 10.98-5.23 2.86-3.07 4.46-7.12 4.46-11.32s-1.6-8.24-4.46-11.32a16.6 16.6 0 0 0-10.98-5.23",style:{fill:"currentcolor"}},{d:"M335.4000000000001 223.4000000000001h-206.7c-4.19 0.29-8.11 2.16-10.98 5.23a16.595 16.595 0 0 0 0 22.64c2.87 3.07 6.79 4.94 10.98 5.23h205.1c4.19-0.29 8.11-2.16 10.98-5.23s4.46-7.12 4.46-11.32-1.59-8.24-4.46-11.32a16.6 16.6 0 0 0-10.98-5.23",style:{fill:"currentcolor"}}]},memory:{viewBox:"0 0 512 512",paths:[{d:"M436.9000000000001 143.0999999999999l-59.9-59.9a38.56 38.56 0 0 0-27.6-11.4h-213.2a52.036 52.036 0 0 0-52 52v260.1a52.036 52.036 0 0 0 52 52h260.1a52.036 52.036 0 0 0 52-52v-213.2c0.02-5.13-0.97-10.21-2.93-14.94a38.8 38.8 0 0 0-8.47-12.66m-281.2-6.3h143a6.46 6.46 0 0 1 4.6 1.9c0.6 0.6 1.08 1.32 1.41 2.11 0.32 0.79 0.49 1.64 0.49 2.49v39c0 0.85-0.17 1.7-0.49 2.49a6.53 6.53 0 0 1-3.52 3.52c-0.79 0.32-1.64 0.49-2.49 0.49h-143c-0.85 0-1.7-0.17-2.49-0.49a6.53 6.53 0 0 1-3.52-3.52c-0.32-0.79-0.49-1.64-0.49-2.49v-39c0-0.85 0.17-1.7 0.49-2.49a6.45 6.45 0 0 1 2.39-2.92 6.55 6.55 0 0 1 3.62-1.09m113.6 260.1c-12.85 0.6-25.58-2.62-36.6-9.25a65.06 65.06 0 0 1-25.29-28.03 65.06 65.06 0 0 1-5.46-37.35 65.04 65.04 0 0 1 16.22-34.09 64.993 64.993 0 0 1 70.12-17.4 64.93 64.93 0 0 1 30.27 22.55 64.95 64.95 0 0 1 12.64 35.57c0.1 2 0.1 4.1 0 6.1a65.05 65.05 0 0 1-18.99 42.91 65.12 65.12 0 0 1-42.91 18.99",style:{fill:"currentcolor"}}]},"play-outline":{viewBox:"0 0 512 512",paths:[{d:"M133.49999999999994 106.60000000000036V401.3000000000002c0 17.7 15.1 29 27.6 20.5l220.5-150.7c8.8-6.9 10.7-20.2 4.2-29.7a22.2 22.2 0 0 0-4.2-4.5l-220.5-150.8c-12.5-8.5-27.6 2.9-27.6 20.5Z",style:{stroke:"currentcolor",strokeMiterlimit:"10",strokeWidth:"36.752",fill:"none"}}]},play:{viewBox:"0 0 512 512",paths:[{d:"M396.09999999999997 246.09999999999945l-231.9-160.6c-1.443-1-3.07-1.71-4.787-2.08a13.3 13.3 0 0 0-5.219-0.08 13.32 13.32 0 0 0-8.594 5.56 13.7 13.7 0 0 0-2.4 7.6v321.4c0.003 1.75 0.352 3.49 1.028 5.11a13.2 13.2 0 0 0 2.91 4.32 13.2 13.2 0 0 0 4.346 2.88c1.624 0.66 3.363 1 5.116 0.99 2.723 0.02 5.383-0.82 7.6-2.4L396.09999999999997 268.1999999999998c1.448-1 2.684-2.27 3.639-3.74a13.4 13.4 0 0 0 1.925-4.85 13.35 13.35 0 0 0-2.164-10.01 13.7 13.7 0 0 0-3.4-3.4z",style:{fill:"currentcolor"}}]},"external-player":{viewBox:"0 0 512 512",paths:[{d:"M433.8000000000002 255.80000000000018c0.1 25.8 0 51.6 0.1 77.5z",style:{fill:"currentcolor"}},{d:"M469.3000000000002 137.30000000000018c0-11.6-4.5-20.1-14.2-26.6-4.7-3.2-10.3-4.7-17-4.7h-364a30.06 30.06 0 0 0-17 4.7c-9.7 6.5-14.2 15-14.2 26.6v0.1c0.1 38.2 0.13 76.4 0.1 114.6v74.7c0 16.3 0 32.5-0.1 48.8-0.04 2.02 0.16 4.03 0.6 6 0.84 4.75 2.84 9.21 5.82 13s6.86 6.78 11.28 8.7c1.66 0.69 3.36 1.25 5.1 1.7 2.57 0.72 5.23 1.09 7.9 1.1h46.7l14.8-34.8-33.4-0.2c-3.9 0-7.9-0.1-11.9 0.1-4.2 0.2-10.5 0.4-11.3-6.7-0.09-0.8-0.12-1.6-0.1-2.4v-212.1c0-2.4 0-5 2.1-7.1s4.8-2.1 7.1-2l34.7 0.2h268.1l34.7-0.2c2.3 0 5 0 7.1 2 2.1 2.1 2.1 4.8 2.1 7.1v212.2c0.02 0.8-0.01 1.6-0.1 2.4-0.9 7.2-7.1 6.9-11.3 6.7-3.9-0.2-7.9-0.1-11.9-0.1l-26.7 0.2 16 34.8h38.7c2.67-0.07 5.32-0.44 7.9-1.1 1.76-0.38 3.47-0.95 5.1-1.7 4.43-1.91 8.31-4.9 11.3-8.69 2.98-3.78 4.98-8.26 5.8-13.01 0.48-1.96 0.68-3.98 0.6-6-0.1-16-0.1-32-0.1-48v-75.5c0-38.2-0.1-76.4 0.1-114.6-0.4-0.1-0.4-0.2-0.4-0.2",style:{fill:"currentcolor"}},{d:"M339 336.8000000000002c-4.8-15.3-4.9-15.3-20.8-14.4h-0.5c-2.9 0-4.4 1-3.6 4.3 1.1 4.6-1 8.1-4.4 11.1-4.8 4.2-10.5 6.6-16.5 8.4-17.9 5.4-36.1 5.7-54.3 2.9-10.1-1.6-20.1-4-28.4-10.8-3-2.5-5.2-5.3-5.3-9.3-0.1-6.6-0.1-6.6-7.1-6.6-1.67 0.1-3.33 0.1-5 0-5.6-0.4-8.6 2.1-10.2 7.4-5.9 19.6-12.2 39.1-18.2 58.7a41.4 41.4 0 0 0-2 9.8c-0.3 4.1 1.4 6.7 6 6.9 4.5 0.1 9 0.7 13.6 0.7 26 0.1 52.1 0 78.1 0 27.5 0 55.1 0.1 82.6 0 14.6-0.1 16.6-2.9 12.3-16.8-5.3-17.4-10.8-34.8-16.3-52.3",style:{fill:"currentcolor"}},{d:"M226.0999999999999 258.0999999999999c-2.9 10-5.9 20-8.9 29.9-2.3 7.4-1.3 10.1 5.7 13.7 3 1.46 6.11 2.7 9.3 3.7a76.7 76.7 0 0 0 27.4 3.1c3.7 0.17 7.4 0.13 11.1-0.1 10.2-1 20.4-2.4 29.2-8.3 2.6-1.7 5.1-3.9 4.1-7.4-3.4-11.9-7.1-23.8-10.7-35.7-0.5-1.6-1-2.7-3.2-1.6-14.1 6.8-29 6.2-43.9 4.7-5.2-0.5-10.5-1.2-14.9-4.1-3.3-2-4.2-1.1-5.2 2.1",style:{fill:"currentcolor"}},{d:"M276.6999999999998 216.4000000000001c3.1-0.8 3.9-2.7 2.9-5.7-1.7-5.3-3.1-10.6-4.8-15.9-3.1-9.5-4.6-10.5-14.4-10.5-10.6 0-12.7 1.5-15.7 11.6-1.5 5-2.9 10-4.5 14.9-0.9 2.8-0.1 4.6 2.7 5.4a67.76 67.76 0 0 0 33.8 0.2",style:{fill:"currentcolor"}}]},"series-outline":{viewBox:"0 0 512 512",paths:[{d:"M462.6999999999998 132.59999999999945c-7.8-5.5-16.7-6.3-25.7-6.3h-150.8c-3.4 0-7 0.9-11.3-1.8 12.7-13.4 24.9-26.2 37-39.1 8.4-8.9 16.8-17.7 25-26.7 4.5-5 6.6-10.7 1.1-16.2s-11-3.1-16 1.4c-1.5 1.4-2.9 2.9-4.3 4.3-18.2 19.1-36.5 38.2-54.4 57.6-4.7 5-8.1 6.5-13 0.5-4.7-5.6-10-10.5-15-15.8-14.9-15.5-29.6-31.1-44.6-46.6-4.4-4.7-9.5-7.3-15.3-2.3s-4.7 10.8-0.4 16.2c1.9 2.2 3.8 4.4 5.9 6.4 17 17.9 34.1 35.7 51 53.8 1.8 1.9 5.8 3.6 4.2 6.8-1.4 2.8-5.3 1.5-8.1 1.5h-152.5c-27.5 0.1-39.9 12.7-39.9 40.1v233.6c0 27.6 12.3 40 39.7 40h360.8c5.23-0.02 10.45-0.49 15.6-1.4a30.17 30.17 0 0 0 17.24-10.28c4.4-5.29 6.86-11.93 6.96-18.82 0.1-84 0.1-167.97 0-251.9 0.4-11-4.6-18.9-13.2-25m-101.1 243.1a28.04 28.04 0 0 1-8.21 19.79 28.04 28.04 0 0 1-19.79 8.21h-230.6a28.04 28.04 0 0 1-19.79-8.21 28.04 28.04 0 0 1-8.21-19.79V188.39999999999964c0.01-7.42 2.96-14.54 8.21-19.79s12.37-8.2 19.79-8.21h230.6c7.42 0.01 14.54 2.96 19.79 8.21s8.2 12.37 8.21 19.79z m58.3-103.7c-5.7-0.12-11.13-2.4-15.22-6.37-4.08-3.97-6.5-9.34-6.78-15.03a21.32 21.32 0 0 1 6.1-15.11c3.96-4.04 9.35-6.33 15-6.39h0.4c12.9-0.1 21.4 8.1 21.5 20.8a21.69 21.69 0 0 1-21 22.1m-0.5-67.5a21.525 21.525 0 0 1-19.88-13.27 21.5 21.5 0 0 1-1.22-12.43c0.83-4.18 2.87-8.01 5.88-11.02s6.84-5.05 11.02-5.88a21.5 21.5 0 0 1 12.43 1.22c3.93 1.63 7.29 4.39 9.65 7.93a21.55 21.55 0 0 1 3.62 11.95 21.18 21.18 0 0 1-5.88 14.99 21.2 21.2 0 0 1-14.72 6.51z",style:{fill:"currentcolor"}}]},series:{viewBox:"0 0 512 512",paths:[{d:"M462.6999999999998 132.59999999999945c-7.8-5.5-16.7-6.3-25.7-6.3h-150.8c-3.4 0-7 0.9-11.3-1.8 12.7-13.4 24.9-26.2 37-39.1 8.4-8.9 16.8-17.7 25-26.7 4.5-5 6.6-10.7 1.1-16.2s-11-3.1-16 1.4c-1.5 1.4-2.9 2.9-4.3 4.3-18.2 19.1-36.5 38.2-54.4 57.6-4.7 5-8.1 6.5-13 0.5-4.7-5.6-10-10.5-15-15.8-14.9-15.5-29.6-31.1-44.6-46.6-4.4-4.7-9.5-7.3-15.3-2.3s-4.7 10.8-0.4 16.2c1.9 2.2 3.8 4.4 5.9 6.4 17 17.9 34.1 35.7 51 53.8 1.8 1.9 5.8 3.6 4.2 6.8-1.4 2.8-5.3 1.5-8.1 1.5h-152.5c-27.5 0.1-39.9 12.7-39.9 40.1v233.6c0 27.6 12.3 40 39.7 40h360.8c5.23-0.02 10.45-0.49 15.6-1.4a30.1 30.1 0 0 0 17.24-10.28c4.4-5.29 6.86-11.93 6.96-18.82 0.1-84 0.1-167.97 0-251.9 0.4-11-4.6-18.9-13.2-25m-101.1 243.1a28.04 28.04 0 0 1-8.21 19.79 28.04 28.04 0 0 1-19.79 8.21h-230.6a28.04 28.04 0 0 1-19.79-8.21 28.04 28.04 0 0 1-8.21-19.79v-187.3c0.01-7.42 2.96-14.54 8.21-19.79s12.37-8.2 19.79-8.21h230.6c7.42 0.01 14.54 2.96 19.79 8.21s8.2 12.37 8.21 19.79z m58.3-103.7a22.48 22.48 0 0 1-15.22-6.37c-4.08-3.97-6.5-9.34-6.78-15.03a21.32 21.32 0 0 1 6.1-15.11c3.96-4.03 9.35-6.33 15-6.39h0.4c12.9-0.1 21.4 8.1 21.5 20.8a21.687 21.687 0 0 1-21 22.1m-0.5-67.5c-4.25 0-8.41-1.26-11.95-3.62a21.45 21.45 0 0 1-7.91-9.65 21.47 21.47 0 0 1 4.66-23.43 21.47 21.47 0 0 1 23.43-4.66 21.493 21.493 0 0 1 13.27 19.86c0.09 5.58-2.02 10.96-5.88 14.99a21.2 21.2 0 0 1-14.72 6.51z",style:{fill:"currentcolor"}},{d:"M115.79999999999973 185.19999999999982h208s12 0 12 12v169s0 12-12 12h-208s-12 0-12-12v-169s0-12 12-12",style:{fill:"currentcolor"}}]},megaphone:{viewBox:"0 0 512 512",paths:[{d:"M374.1700000000001 66.3100000000004s-74.52 92.73-144.69 92.73h-137.86c-3.68 0-7.2 1.46-9.81 4.06-2.6 2.6-4.06 6.13-4.06 9.81v82.8c0.04 3.64 1.53 7.13 4.12 9.68 2.6 2.56 6.1 3.99 9.75 3.98h137.86c70.17 0 144.69 93.36 144.69 93.36 5.38 6.83 20.69 2.07 20.69-8.49V74.80000000000018c0-10.77-14.48-16.36-20.69-8.49",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"16",fill:"none"}},{d:"M77.76000000000022 241.84000000000015s-13.67-5.17-13.67-27.53 13.67-27.53 13.67-27.53",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"16",fill:"none"}},{d:"M408.7399999999998 233.35000000000036c5.01-1.71 9.15-5.3 11.55-10.02a20.34 20.34 0 0 0 1.28-15.23 20.8 20.8 0 0 0-4.94-7.89 20.8 20.8 0 0 0-7.89-4.94",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"16",fill:"none"}},{d:"M243.55000000000018 160.48999999999978v104.74",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"16",fill:"none"}},{d:"M116.46000000000004 160.48999999999978v104.74",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"16",fill:"none"}},{d:"M146.89000000000033 269.3699999999999v144.9c-0.01 1.35 0.38 2.68 1.13 3.81a6.73 6.73 0 0 0 3.08 2.52c0.83 0.34 1.72 0.51 2.62 0.5h45.54c1.82 0 3.63-0.36 5.31-1.05 1.69-0.7 3.22-1.72 4.5-3.01a13.815 13.815 0 0 0 4.06-9.81c0-1.34-0.21-2.66-0.62-3.93-7.25-23.19-24.22-49.27-24.22-92.53h13.66c3.65 0.01 7.15-1.42 9.75-3.98 2.59-2.56 4.08-6.04 4.12-9.68v-13.87c0.01-3.65-1.42-7.15-3.98-9.74-2.56-2.6-6.04-4.08-9.68-4.13h-13.87",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"16",fill:"none"}}]},"channels-outline":{viewBox:"0 0 512 512",paths:[{d:"M196.19999999999982 301.1999999999998v-126.9c-0.01-2.72 0.79-5.38 2.29-7.65a13.7 13.7 0 0 1 6.15-5.09c1.67-0.69 3.45-1.05 5.26-1.06 2.34 0.02 4.64 0.6 6.7 1.7l114.2 63.4c2.98 1.62 5.24 4.29 6.37 7.49 1.12 3.19 1.01 6.69-0.3 9.82-1.2 2.88-3.34 5.28-6.07 6.79l-114.2 63.5a13.7 13.7 0 0 1-6.85 1.77 13.64 13.64 0 0 1-6.81-1.89 13.6 13.6 0 0 1-4.96-5.04 13.64 13.64 0 0 1-1.78-6.84",style:{fill:"currentcolor"}},{d:"M411.2999999999997 438.7999999999993h-301.9a14.714 14.714 0 0 1-10.02-24.89c2.63-2.74 6.22-4.36 10.02-4.51h301.9a14.714 14.714 0 0 1 14.12 14.7 14.714 14.714 0 0 1-14.12 14.7",style:{fill:"currentcolor"}},{d:"M456.39999999999964 387h-389.9c-5.11 0-10.17-1.01-14.89-2.96a38.8 38.8 0 0 1-12.62-8.43c-3.61-3.61-6.48-7.9-8.43-12.62a38.8 38.8 0 0 1-2.96-14.89V127.39999999999964c0-5.11 1-10.17 2.96-14.89 1.95-4.72 4.82-9.01 8.43-12.62s7.9-6.48 12.62-8.43c4.72-1.96 9.78-2.96 14.89-2.96h389.9c5.11 0 10.17 1 14.89 2.96 4.72 1.95 9.01 4.82 12.62 8.43s6.48 7.9 8.43 12.62 2.96 9.78 2.96 14.89v220.7a38.99 38.99 0 0 1-11.41 27.49 38.99 38.99 0 0 1-27.49 11.41m-390-273.3a13.826 13.826 0 0 0-13.8 13.8v220.6a13.826 13.826 0 0 0 13.8 13.8h389.9a13.826 13.826 0 0 0 13.8-13.8V127.39999999999964a13.826 13.826 0 0 0-13.8-13.8h-389.9z",style:{fill:"currentcolor"}}]},channels:{viewBox:"0 0 512 512",paths:[{d:"M456.39999999999964 387h-389.9c-5.11 0-10.17-1-14.89-2.96a38.8 38.8 0 0 1-12.62-8.43c-3.61-3.61-6.48-7.9-8.43-12.62a38.8 38.8 0 0 1-2.96-14.89v-220.7c0-5.11 1-10.17 2.96-14.89 1.95-4.72 4.82-9.01 8.43-12.62s7.9-6.48 12.62-8.43 9.78-2.96 14.89-2.96h389.9c5.11 0 10.17 1.01 14.89 2.96s9.01 4.82 12.62 8.43 6.48 7.9 8.43 12.62 2.96 9.78 2.96 14.89v220.7a38.99 38.99 0 0 1-11.41 27.49 38.95 38.95 0 0 1-27.49 11.41m-246.5-226.5c-1.81 0.01-3.59 0.37-5.26 1.06a13.76 13.76 0 0 0-8.44 12.74V301.1999999999998c-0.03 3.62 1.39 7.11 3.93 9.69s6 4.05 9.62 4.08h0.12c2.36 0 4.68-0.61 6.73-1.77l114.2-63.5c1.76-0.96 3.29-2.3 4.48-3.92a13.7 13.7 0 0 0 2.4-5.44 13.775 13.775 0 0 0-2.76-11.29 13.7 13.7 0 0 0-4.12-3.45l-114.2-63.4c-2.06-1.1-4.36-1.68-6.7-1.7",style:{fill:"currentcolor"}},{d:"M411.2999999999997 438.8000000000002h-301.9a14.714 14.714 0 0 1-10.02-24.89c2.63-2.74 6.22-4.36 10.02-4.51h301.9a14.714 14.714 0 0 1 14.12 14.7 14.714 14.714 0 0 1-14.12 14.7",style:{fill:"currentcolor"}}]},actors:{viewBox:"0 0 512 512",paths:[{d:"M124.17000000000007 327.6899999999996c6.86 5.15 11.74 11.66 15.82 21.09 18.83 43.43 50.67 70.54 94.62 80.59 7.65 1.77 15.47 2.68 23.32 2.69 24.09 0 47.93-8.91 70.88-26.51 21.43-16.45 36.82-37.04 45.74-61.22 2.7-7.33 7.55-11.59 12.7-15.66 18.39-14.55 27.28-32.6 27.18-55.21-0.04-9.34-3.02-16.56-9.1-22.07-7.73-7.01-7.57-15.18-6.78-20.72l1.25-8.52c1.73-11.54 3.36-22.46 3.89-33.66 1.64-34.48-11.66-64.68-40.65-92.32-20.77-19.79-44.89-32.92-73.73-40.17a290 290 0 0 0-38.25-2.9c-11.09 0-20.06 0.94-26.69 2.76-43.19 11.92-74.96 33.83-97.15 66.99-12.92 19.32-18.37 42.71-16.63 71.49 0.5 8.2 1.43 16.62 2.34 24.76 0.42 3.83 0.84 7.66 1.23 11.5 0.42 4.06 1.26 12.52-5.82 19.57-11.86 11.8-13.78 25.81-6.45 46.87a63.98 63.98 0 0 0 22.28 30.65m-6.31-56.48c1.71-9.23 6.87-15.63 14.54-18.03 2.29-0.72 3.07-0.96 2.74-5.89-0.99-14.88 2.68-29 6.81-42.05a57.05 57.05 0 0 1 18.62-27.69c1.98-1.62 5.08-3.76 9.05-3.76 2.43 0 8.4 0.94 11.04 9.58 5.61 18.23 18.48 29.23 44.43 37.93 8.46 2.9 17.34 4.41 26.29 4.46 1.61 0 3.22-0.05 4.84-0.15 2.57-0.12 5.12-0.48 7.62-1.09-4.6-6.61-9.52-19.95-9.19-25.5l1.34-21.69 13.25 17.23c12.2 15.84 29.57 19.97 46.54 22.07 3.67 0.45 7.36 0.67 11.05 0.67 10.48 0 20.9-1.6 33.33-3.99 2.11-0.47 4.25-0.74 6.41-0.8 11.66 0 11.8 11.65 11.84 15.49 0.08 8.44-0.14 15.99-0.72 23.06-0.04 0.36-0.05 0.73-0.02 1.09 0.33 0.21 0.67 0.4 1.03 0.55 13.8 6.31 18.79 15.72 16.2 30.5-2.53 14.44-8.53 34.72-31.26 44.02-0.62 1.07-1.1 2.21-1.42 3.41l-0.65 1.94c-7.4 20.71-17.77 37.17-31.73 50.32-20.85 19.64-44.28 30.31-69.64 31.7-1.71 0.09-3.4 0.14-5.08 0.14-20.17 0-39.95-6.76-58.82-20.13a119.1 119.1 0 0 1-45.83-62.51c-1.26-3.99-2.45-5.46-5.59-6.9-17.53-8.02-30.67-34.25-27.02-53.98",style:{fill:"currentcolor"}}]},"anime-outline":{viewBox:"0 0 512 512",paths:[{d:"M358.40999999999985 135.22999999999956c15.61-18.37 35.63-26.75 59.44-23.24 16.6 2.45 30.16 11.11 40.67 24.69 19.83 25.65 19.19 76.55-30.25 98.09 0.16 2.19 0.2 4.55 0.51 6.89 1.48 11 3.48 21.95 4.45 33 1.23 14.14-3.39 19.1-17.54 20.39-1.02 0.18-2.03 0.44-3.01 0.78 6.04 26.7 12.06 53.33 18.07 79.88 0.73 3.22 1.5 6.44 2.01 9.7 1.33 8.43-2.84 15.12-10.14 16.51-7.86 1.49-14.36-3.1-16.4-11.74-3.1-13.16-6.09-26.35-9.17-39.52-0.33-1.38-0.93-2.7-1.81-5.23-30.42 55.78-75.5 87.65-138.92 87.7-63.53 0.05-108.75-31.67-139.57-88.23-1.99 8.07-3.67 14.6-5.2 21.17-1.97 8.49-3.61 17.05-5.77 25.49-0.87 3.56-3.11 6.64-6.22 8.56a13.94 13.94 0 0 1-10.45 1.73c-6.83-1.6-11.33-8.33-9.67-16.05 5.1-23.79 10.6-47.49 15.93-71.23 1.38-6.14 2.7-12.3 4.04-18.43-0.59-0.35-1.07-0.86-1.59-0.9-15.83-1.45-20.23-6.24-18.76-22 1-10.75 3.01-21.39 4.51-32.09 0.29-2.06 0.31-4.15 0.51-6.91-22.11-8.93-37.23-24.65-41.61-48.35-3.42-18.46 0.62-35.97 12.61-51.07 20.27-25.53 65.46-36.84 99.09 0.15 67.47-41.75 135.21-42.06 204.24 0.25m-12.05 26.43c-51.83-41.47-131.95-39.77-179.9-0.23 3.98 41.02-14.94 65.83-54.53 76.35l-5.35 28.96h57.48c3.02-9.43 5.84-18.6 8.89-27.68 2.91-8.65 10.17-13.2 17.09-11.02 8.15 2.58 11.61 9.55 9.04 18.76-1.84 6.58-4 13.08-6.09 19.82h49.83c0-8.53-0.16-16.32 0.04-24.11 0.23-8.95 5.92-15.14 13.43-15.02 7.55 0.12 12.82 6.21 13.11 15.36 0.15 4.52-0.02 9.05 0.07 13.58 0.08 3.48 0.34 6.95 0.52 10.38h49.4c-2.38-7.52-4.77-14.29-6.63-21.19-2.15-7.99 1.46-14.67 8.91-17.37 6.47-2.36 13.3 1.14 16.66 8.64 0.73 1.63 1.09 3.43 1.66 5.13 2.77 8.23 5.56 16.45 8.31 24.58h57.46c-1.99-10.31-3.79-19.63-5.68-29.43-17.72-3.78-32.68-11.45-43.12-26.27-10.4-14.77-14.07-31.03-10.6-49.24m34.04 134.14h-248.61a125.12 125.12 0 0 0 41.11 78.96 125.15 125.15 0 0 0 83.2 31.66c30.67 0 60.28-11.27 83.19-31.66a125.12 125.12 0 0 0 41.11-78.96m-276.77-86.33c18.44 1.93 36.39-15.68 36.35-34.63-0.04-19.77-15.44-35.83-35.13-36.1-20.27-0.28-36.77 15.88-36.52 35.77 0.11 9.3 3.88 18.17 10.48 24.71a35.36 35.36 0 0 0 24.82 10.25m304.29 0c15.8 1.55 35.26-11.81 35.9-35.18 0.52-19.57-15.93-35.29-35.76-35.61-21.7-0.35-35.98 19.45-35.91 35.47 0.08 20.66 19.27 37.19 35.77 35.32",style:{fill:"currentcolor"}},{d:"M181.15999999999985 344.25c-4.06-4.81-3.28-12.06-1.69-15.34 4.01-8.28 14.01-9.79 21.32-2.88 6.75 6.37 13.14 8.34 21.9 4.04 7.52-3.69 15.67-0.42 18.49 6.05 3.19 7.3 0.1 14.51-7.64 18.82-18.99 10.6-40.19 3.85-52.38-10.7",style:{fill:"currentcolor"}},{d:"M331.35000000000036 344.25c4.05-4.81 3.28-12.06 1.69-15.34-4.01-8.28-14.02-9.79-21.33-2.88-6.74 6.37-13.13 8.34-21.89 4.04-7.52-3.69-15.67-0.42-18.5 6.05-3.18 7.3-0.09 14.51 7.64 18.82 18.99 10.6 40.19 3.85 52.39-10.7",style:{fill:"currentcolor"}}]},anime:{viewBox:"0 0 512 512",paths:[{d:"M95.36999999999989 314.5799999999999c-5.33 23.74-10.83 47.44-15.93 71.23-1.66 7.72 2.84 14.46 9.67 16.06a13.943 13.943 0 0 0 16.67-10.3c2.16-8.43 3.8-17 5.77-25.49 1.53-6.57 3.21-13.1 5.2-21.17 30.82 56.56 76.04 88.28 139.57 88.23 63.42-0.05 108.5-31.92 138.92-87.7 0.88 2.53 1.48 3.85 1.81 5.24 3.07 13.16 6.07 26.35 9.17 39.51 2.03 8.64 8.54 13.23 16.4 11.74 7.3-1.38 11.47-8.08 10.14-16.51-0.51-3.26-1.28-6.48-2.01-9.7-5.9-26.14-11.82-52.31-17.76-78.52h-313.81c-1.26 5.78-2.51 11.59-3.81 17.38m193.59 15.3c9.17 4.07 15.86 2.93 22.67-4.07 4.3-4.42 9.94-5.54 15.76-2.36 4.59 2.51 6.57 6 6.94 10.2 0.15 2.09-0.11 4.18-0.77 6.17s-1.71 3.82-3.09 5.4c-11.74 13.78-33 20.33-52.04 9.61-4.1-2.31-7.38-5.03-8.14-10.07-1.74-11.54 7.73-19.73 18.67-14.88m-110.23 1.05c0.18-0.69 0.43-1.37 0.74-2.01 4.01-8.28 14.02-9.79 21.33-2.88 6.74 6.37 13.14 8.33 21.89 4.04 7.53-3.69 15.67-0.43 18.5 6.05 3.18 7.3 0.09 14.5-7.65 18.82-18.4 10.27-38.89 4.24-51.06-9.18a15.9 15.9 0 0 1-3.77-6.94c-0.66-2.59-0.65-5.31 0.02-7.9",style:{fill:"currentcolor"}},{d:"M458.52000000000044 136.67999999999938c-10.5-13.58-24.07-22.24-40.67-24.69-23.81-3.51-43.83 4.88-59.44 23.24-69.03-42.31-136.78-42-204.24-0.25-33.63-36.99-78.82-25.68-99.09-0.15-12 15.1-16.03 32.61-12.61 51.07 4.38 23.7 19.49 39.42 41.61 48.35-0.2 2.76-0.23 4.85-0.51 6.91-0.53 3.75-1.11 7.5-1.69 11.24-0.3 1.95-0.17 3.93 0.37 5.83a13.7 13.7 0 0 0 2.76 5.14c1.28 1.49 2.87 2.69 4.66 3.52 1.79 0.82 3.74 1.25 5.71 1.25h65.75c3.02-9.43 5.84-18.6 8.89-27.69 2.91-8.64 10.17-13.2 17.09-11.02 8.15 2.58 11.61 9.55 9.04 18.76-1.84 6.58-4 13.08-6.09 19.82h49.83c0-8.52-0.16-16.32 0.04-24.11 0.23-8.95 5.92-15.14 13.43-15.01 7.55 0.12 12.82 6.21 13.11 15.36 0.15 4.52-0.02 9.05 0.07 13.57 0.08 3.48 0.34 6.95 0.52 10.38h49.4c-2.38-7.52-4.77-14.28-6.63-21.19-2.15-7.99 1.46-14.66 8.91-17.37 6.47-2.36 13.3 1.15 16.66 8.65 0.73 1.63 1.09 3.42 1.66 5.12 2.77 8.23 5.56 16.45 8.31 24.59h71.43c1.96 0 3.91-0.42 5.69-1.24 1.79-0.82 3.38-2.01 4.66-3.5s2.23-3.23 2.77-5.12c0.55-1.89 0.68-3.87 0.4-5.81-0.53-3.56-1.06-7.11-1.54-10.67-0.31-2.33-0.36-4.7-0.51-6.89 49.43-21.54 50.07-72.44 30.24-98.09m-354.88 72.79a35.42 35.42 0 0 1-24.81-10.25 35.44 35.44 0 0 1-10.49-24.71c-0.25-19.89 16.25-36.05 36.52-35.78 19.69 0.27 35.09 16.34 35.13 36.1 0.04 18.96-17.91 36.57-36.35 34.64m304.29 0c-16.5 1.87-35.69-14.65-35.77-35.32-0.06-16.02 14.21-35.82 35.91-35.47 19.83 0.32 36.28 16.05 35.76 35.61-0.63 23.38-20.1 36.73-35.9 35.18",style:{fill:"currentcolor"}}]},"tv-outline":{viewBox:"0 0 512 512",paths:[{d:"M374.7999999999997 308.7999999999993l82.7 58.2a15.94 15.94 0 0 0 7.8 1.3c2.66-0.22 5.24-1.08 7.5-2.5 2.22-1.46 4.03-3.45 5.29-5.79s1.91-4.96 1.91-7.61v-192.8c0.04-4.03-1.46-7.92-4.19-10.87a15.73 15.73 0 0 0-10.51-5.03c-2.67-0.22-5.35 0.22-7.8 1.3l-82.7 58.2c-2.1 1.47-3.81 3.43-5 5.7a15.86 15.86 0 0 0-1.8 7.4v79.4c-0.01 2.58 0.61 5.12 1.8 7.4 1.19 2.27 2.9 4.22 5 5.7",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}},{d:"M268 384h-184a51.8 51.8 0 0 1-19.88-3.97 51.7 51.7 0 0 1-16.82-11.33 52.77 52.77 0 0 1-15.3-36.7v-152c0-6.83 1.35-13.58 3.97-19.88 2.63-6.3 6.48-12.02 11.33-16.82 9.76-9.7 22.94-15.2 36.7-15.3h184.5c13.65 0.05 26.72 5.48 36.4 15.1a51.3 51.3 0 0 1 11.18 16.69 51.5 51.5 0 0 1 3.92 19.71v152.5a52.23 52.23 0 0 1-15.3 36.7 52.23 52.23 0 0 1-36.7 15.3Z",style:{stroke:"currentcolor",strokeMiterlimit:"10",strokeWidth:"32",fill:"none"}},{d:"M91.39999999999964 207.79999999999927h83.9",style:{stroke:"currentcolor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"32",fill:"none"}},{d:"M133.39999999999964 313.5v-105.7",style:{stroke:"currentcolor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"32",fill:"none"}},{d:"M180.0999999999999 208.79999999999927l38.1 104.7 37.8-104.7",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:"10",strokeWidth:"32",fill:"none"}}]},tv:{viewBox:"0 0 512 512",paths:[{d:"M466.3199999999997 127.94999999999982c-5.29-0.42-10.6 0.47-15.46 2.6-0.97 0.43-1.9 0.95-2.77 1.57l-82.7 58.2a32 32 0 0 0-10 11.43 32.1 32.1 0 0 0-3.59 14.75v79.34a31.85 31.85 0 0 0 3.58 14.79c2.36 4.57 5.8 8.49 10.01 11.45l82.7 58.2c0.86 0.61 1.78 1.13 2.75 1.56 4.06 1.79 8.46 2.72 12.9 2.72 0.9 0 1.79-0.04 2.68-0.12 5.22-0.44 10.25-2.11 14.69-4.89 0.1-0.07 0.2-0.13 0.3-0.2 4.43-2.91 8.07-6.89 10.58-11.56a31.96 31.96 0 0 0 3.81-15.19v-192.73c0.05-8.07-2.96-15.85-8.44-21.78a31.77 31.77 0 0 0-21.04-10.14",style:{fill:"currentcolor"}},{d:"M268.2999999999997 112.19999999999982h-184.62a68.23 68.23 0 0 0-67.88 68v152.14c0.1 17.98 7.29 35.2 20.02 47.91a68.28 68.28 0 0 0 47.93 19.95h184.12a68.46 68.46 0 0 0 47.9-20.07 68.44 68.44 0 0 0 20.03-47.93v-152.49a67.57 67.57 0 0 0-19.78-47.72 67.54 67.54 0 0 0-47.72-19.79m2.55 102.23l-37.8 104.7a16.04 16.04 0 0 1-5.85 7.66 15.96 15.96 0 0 1-9.18 2.91h-0.02c-3.28 0-6.49-1.01-9.18-2.89a15.94 15.94 0 0 1-5.85-7.64l-34.64-95.17h-19.13v89.7c0 4.24-1.69 8.31-4.69 11.31s-7.07 4.69-11.31 4.69-8.31-1.69-11.31-4.69-4.69-7.07-4.69-11.31v-89.7h-26c-4.24 0-8.31-1.69-11.31-4.69s-4.69-7.07-4.69-11.31 1.69-8.31 4.69-11.31 7.07-4.69 11.31-4.69h83.9c4.95 0.6 9.78 1.99 14.29 4.12 2.54 1.87 4.47 4.45 5.55 7.41l23 63.22 22.81-63.18c1.46-3.96 4.43-7.19 8.26-8.97s8.21-1.98 12.18-0.55c3.98 1.44 7.22 4.39 9.03 8.2 1.81 3.82 2.04 8.2 0.63 12.18",style:{fill:"currentcolor"}}]},"calendar-thin":{viewBox:"0 0 512 512",paths:[{d:"M114.45000000000073 100.30000000000018h283.1c11.26 0.01 22.06 4.48 30.03 12.45a42.5 42.5 0 0 1 12.44 30.02v254.78a42.52 42.52 0 0 1-12.45 30.02 42.46 42.46 0 0 1-30.02 12.44h-283.1c-11.26 0-22.06-4.48-30.02-12.44a42.46 42.46 0 0 1-12.44-30.02v-254.78c0-11.26 4.47-22.06 12.44-30.03a42.46 42.46 0 0 1 30.02-12.44Z",style:{stroke:"currentcolor",strokeLinejoin:"round",strokeWidth:"16",fill:"none"}},{d:"M291.3899999999994 256c4.93 0.02 9.72-1.68 13.54-4.8s6.44-7.47 7.41-12.3c0.98-4.84 0.24-9.86-2.07-14.22a21.335 21.335 0 0 0-24.98-10.39c-4.72 1.43-8.8 4.45-11.54 8.55-2.75 4.1-3.98 9.02-3.5 13.93a21.3 21.3 0 0 0 6.14 12.99 21.27 21.27 0 0 0 15 6.24",style:{fill:"currentcolor"}},{d:"M362.15999999999985 256c4.93 0.01 9.71-1.68 13.52-4.8a21.28 21.28 0 0 0 5.33-26.49 21.3 21.3 0 0 0-10.61-9.66 21.36 21.36 0 0 0-14.34-0.72 21.304 21.304 0 0 0-15.03 22.45c0.48 4.91 2.65 9.49 6.13 12.98a21.27 21.27 0 0 0 15 6.24",style:{fill:"currentcolor"}},{d:"M291.3899999999994 326.77000000000044c5.26 0 10.33-1.95 14.23-5.48 3.89-3.53 6.34-8.39 6.86-13.62 0.51-5.23-0.93-10.47-4.06-14.7a21.2 21.2 0 0 0-12.88-8.16c-5.16-1.03-10.51-0.1-15.02 2.6-4.52 2.7-7.86 6.98-9.39 12.01a21.17 21.17 0 0 0 1.11 15.21 21.18 21.18 0 0 0 19.15 12.14",style:{fill:"currentcolor"}},{d:"M362.15999999999985 326.77000000000044c5.26 0 10.33-1.95 14.23-5.48 3.89-3.53 6.34-8.39 6.86-13.62 0.51-5.23-0.93-10.47-4.06-14.7a21.2 21.2 0 0 0-12.88-8.16c-5.16-1.03-10.51-0.1-15.02 2.6-4.52 2.7-7.86 6.98-9.39 12.01a21.17 21.17 0 0 0 1.11 15.21 21.18 21.18 0 0 0 19.15 12.14",style:{fill:"currentcolor"}},{d:"M149.84000000000015 326.77000000000044c4.93 0.02 9.72-1.68 13.54-4.79a21.26 21.26 0 0 0 7.42-12.31c0.98-4.83 0.25-9.86-2.07-14.21a21.33 21.33 0 0 0-10.62-9.67c-4.56-1.9-9.63-2.15-14.35-0.73a21.3 21.3 0 0 0-11.55 8.55c-2.74 4.1-3.98 9.02-3.5 13.93a21.3 21.3 0 0 0 6.14 12.99 21.35 21.35 0 0 0 14.99 6.24",style:{fill:"currentcolor"}},{d:"M220.60000000000036 326.77000000000044a21.3 21.3 0 0 0 13.53-4.79 21.33 21.33 0 0 0 7.41-12.29c0.97-4.83 0.24-9.85-2.08-14.2a21.2 21.2 0 0 0-10.61-9.66 21.27 21.27 0 0 0-14.33-0.73c-4.72 1.42-8.8 4.44-11.54 8.54a21.28 21.28 0 0 0 2.63 26.89c3.98 3.97 9.37 6.21 14.99 6.24",style:{fill:"currentcolor"}},{d:"M149.84000000000015 397.53999999999996c4.92 0.01 9.7-1.69 13.51-4.81a21.276 21.276 0 0 0 5.31-26.47 21.297 21.297 0 0 0-24.94-10.36 21.28 21.28 0 0 0-11.52 8.54 21.27 21.27 0 0 0 17.64 33.1",style:{fill:"currentcolor"}},{d:"M220.60000000000036 397.53999999999996c5.25 0 10.31-1.95 14.19-5.48a21.08 21.08 0 0 0 6.84-13.58c0.52-5.23-0.93-10.45-4.05-14.67-3.12-4.21-7.7-7.12-12.85-8.14a21.1 21.1 0 0 0-14.99 2.59c-4.5 2.69-7.84 6.96-9.37 11.98a21.14 21.14 0 0 0 1.11 15.18c2.23 4.74 6.16 8.49 11 10.5 2.57 1.07 5.33 1.62 8.12 1.62",style:{fill:"currentcolor"}},{d:"M291.3899999999994 397.53999999999996c5.26 0 10.33-1.95 14.23-5.48 3.89-3.53 6.34-8.39 6.86-13.62 0.51-5.23-0.93-10.47-4.06-14.7a21.2 21.2 0 0 0-12.88-8.16c-5.16-1.03-10.51-0.1-15.02 2.6-4.52 2.7-7.86 6.98-9.39 12.01a21.17 21.17 0 0 0 1.11 15.21 21.18 21.18 0 0 0 19.15 12.14",style:{fill:"currentcolor"}},{d:"M142.76000000000022 71.98999999999978v28.31",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"16",fill:"none"}},{d:"M369.2399999999998 71.98999999999978v28.31",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"16",fill:"none"}},{d:"M440.0100000000002 171.0699999999997h-368.02",style:{stroke:"currentcolor",strokeLinejoin:"round",strokeWidth:"16",fill:"none"}}]},android:{viewBox:"0 0 512 512",paths:[{d:"M317.5199999999986 57.850000000000364l23.96-34.79c0.37-0.44 0.65-0.95 0.82-1.5 0.16-0.55 0.21-1.13 0.13-1.7s-0.27-1.12-0.57-1.61-0.7-0.91-1.17-1.24c-0.71-0.49-1.57-0.75-2.43-0.73-0.87 0.02-1.71 0.32-2.4 0.84-0.46 0.35-0.83 0.79-1.11 1.3l-24.9 36.15a148.96 148.96 0 0 0-107.69 0l-24.9-36.15c-0.27-0.51-0.65-0.95-1.11-1.3s-0.99-0.6-1.55-0.73-1.14-0.15-1.71-0.05c-0.57 0.11-1.1 0.33-1.58 0.66a4.111 4.111 0 0 0-0.78 6.06l23.97 34.8c-38.12 17.72-64.84 51.42-68.25 90.73h259.5c-3.4-39.32-30.13-73.01-68.23-90.74m-115.72 54.85c-3.33 0-6.55-1.14-9.12-3.25a14.34 14.34 0 0 1-4.99-8.3c-0.66-3.26-0.16-6.65 1.41-9.58 1.56-2.94 4.1-5.24 7.17-6.51 3.07-1.28 6.49-1.45 9.67-0.49a14.39 14.39 0 0 1 10.14 15.16c-0.33 3.31-1.79 6.41-4.14 8.76a14.3 14.3 0 0 1-4.65 3.11c-1.74 0.73-3.61 1.1-5.49 1.1m108.4 0a14.43 14.43 0 0 1-14.39-13c-0.35-3.56 0.63-7.14 2.76-10.02s5.26-4.86 8.77-5.57a14.44 14.44 0 0 1 16.64 9.96 14.44 14.44 0 0 1-8.28 17.53c-1.74 0.72-3.61 1.1-5.5 1.1",style:{fill:"currentcolor"}},{d:"M109.59000000000015 312.5699999999997c0 7.68-3.05 15.04-8.48 20.47a28.944 28.944 0 0 1-40.94 0 28.94 28.94 0 0 1-8.48-20.47v-117.08c0-7.68 3.05-15.04 8.48-20.47a28.944 28.944 0 0 1 40.94 0 28.94 28.94 0 0 1 8.48 20.47z",style:{fill:"currentcolor"}},{d:"M126.25 167.4300000000003v211.48c0 6.03 2.4 11.81 6.66 16.07a22.73 22.73 0 0 0 16.08 6.66h26.9v65.07c0 7.68 3.05 15.04 8.48 20.47a28.944 28.944 0 0 0 40.94 0 28.94 28.94 0 0 0 8.48-20.47v-65.07h44.42v65.07c0 7.68 3.05 15.04 8.48 20.47a28.944 28.944 0 0 0 40.94 0 28.94 28.94 0 0 0 8.48-20.47v-65.07h26.9c6.03 0 11.81-2.39 16.08-6.66a22.73 22.73 0 0 0 6.66-16.07v-211.48z",style:{fill:"currentcolor"}},{d:"M402.40999999999985 312.5699999999997c0 7.68 3.05 15.04 8.48 20.47a28.938 28.938 0 0 0 40.93 0 28.94 28.94 0 0 0 8.48-20.47v-117.08c0-7.68-3.05-15.04-8.48-20.47a28.94 28.94 0 0 0-40.93 0 28.94 28.94 0 0 0-8.48 20.47z",style:{fill:"currentcolor"}}]},linux:{viewBox:"0 0 512 512",paths:[{d:"M108.5 346.1800000000003c1.3 2.6 1.9 5.44 1.9 8.31 0 2.88-0.6 5.72-1.8 8.32-4.4 10.27-13.3 13.43-23.6 14.01-3.8 0.21-7.7-0.22-11.6-0.09-5.1 0.18-6.8 2.05-6.9 7.15 0.1 2.92 0.8 5.79 2.2 8.37 2 4.14 3.8 8.4 5.3 12.76 0.9 2.46 1.2 5.08 1 7.69s-0.9 5.15-2.1 7.46c-1.8 3.23-3.4 6.57-4.8 9.93-3 6.99-1.6 10.06 5.8 12.42 9.9 3.16 20.1 4.79 30.3 6.8 16.1 3.19 31.9 7.42 47.4 12.68 8.8 2.97 17.7 5.13 26.9 4.26 16.1-1.5 24.3-10.51 21.2-29.03-1.7-10.22-6.5-19.23-11.9-27.81-9-14.3-18.4-28.4-28-42.38-6.6-9.68-13.9-18.84-22.9-26.48-5.9-4.99-12.3-7.55-20-3.36-3.8 2.09-5.4-0.6-6-3.83-2-10.2-0.2-20.79 5.3-29.66 7.3-12.34 12.6-25.45 17.2-38.96 6.5-19.25 15.5-37.16 29.2-52.57 9-10.08 15.8-21.86 23.2-33.1 4.8-7.3 3.8-15.17 3.1-23.07-2-20-2.1-40.06-3-60.11-0.6-11.46 0.2-22.95 2.4-34.22 2.6-12.69 9.8-22.52 19.5-30.8 16.4-13.88 35.4-15.82 55.8-12.41 8.1 1.36 15.9 3.13 23.6 6.52 14.7 6.57 24.8 17.7 32.3 31.26a92.6 92.6 0 0 1 11.6 50.45c-1 24.35 5.1 47.42 15.2 69.46 5.6 12.11 13.9 22.62 23 32.2 11.4 11.9 19.7 25.58 26.9 40.11 8.2 16.69 14.2 34.37 17.8 52.6 2.6 11.57 2.8 23.53 0.6 35.17-1.1 5.3-3.1 9.71-8.8 11.88-4.1 1.51-5.7 5.9-8.2 9.15-6.9 8.96-15 15.49-27.2 15.92-12 0.41-20-4.06-24.9-15.28-1.3-3.13-2.7-6.2-5.2-8.61-4.2-4-8.3-3.16-10.5 2.05-4.4 9.88-4 19.91-1.1 30.1 4.7 16.48 3.4 33.08 1.1 49.66-0.9 5.46-1 11.01-0.3 16.5 1.7 13.91 14.7 21.99 29.2 18.29 6.3-1.63 12.1-4.73 16.9-9.06 13.1-11.6 28.5-20.24 45.1-25.32 8-2.4 16-4.89 22.9-9.83 6.5-4.75 6.7-9.43 0.2-14.33a33.2 33.2 0 0 0-11.5-5.97c-3.2-0.79-6.2-2.25-8.9-4.3-2.6-2.04-4.8-4.62-6.4-7.56-5.3-9.37-6.2-19.46-3.2-29.78 0.4-1.45 1.1-3.21 3-2.82 1.7 0.34 1.5 2.15 1.5 3.48 0.5 17.63 8.9 30.18 24.9 37.85 1 0.45 2 0.97 2.9 1.54 11.5 7.28 12.5 16.34 2.8 25.58-5.7 5.38-12.6 8.98-19.6 11.96-21.3 8.99-40 21.72-56.8 37.32-4.8 4.47-11.1 5.45-17.1 6.21-7.8 0.99-15.7-0.3-23.3-2.62-6.3-1.92-10.7-6.25-13.8-11.76-3.6-6.53-9.1-9.12-16.3-9.46-19.9-1.07-39.9-0.98-59.8 0.26-5.6 0.39-11.4-0.3-17 0.88-9.1 1.88-17.6 4.96-24.7 10.99-13.8 11.8-29 11.46-44.7 4.92-22.6-9.36-46.2-15.01-70.2-19.03-6.6-0.99-13-2.78-19.2-5.34-7.3-3.2-10.5-8.96-8.9-16.7 0.6-2.69 1-5.62 2.4-7.87 6.7-10.68 4.8-21.7 1.8-32.89-0.7-2.81-1.3-5.65-1.8-8.53-1.3-9.1 3.3-13.18 13.1-14.47 4-0.51 8-0.39 12-0.74 4.2-0.38 7.6-2.02 11.2-3.98 2.8-1.44 5.2-3.54 7.1-6.11 1.8-2.57 3-5.55 3.4-8.67 0.2-0.89 0.5-1.78 0.8-2.64 0-0.12 0.2-0.2 1-0.92m248.6-22.27q-1.2-0.075-2.4 0.03c-9.7 1.62-14.2-3.41-14.4-13.18-0.3-15.17-0.8-30.27-4.6-45.13-3-11.81-6.1-23.6-14.4-33.02-2.7-2.9-4.6-6.45-5.5-10.31-3.5-14.78-8.6-28.86-18.3-40.9-2.5-3.05-4.3-6.58-5.4-10.37-1-3.79-1.3-7.75-0.8-11.65 0.5-3.61 1.9-7.09 2.7-10.65 1.6-6.53-0.1-10.46-6.5-11.98-7.5-1.78-14.1-5.6-21.1-8.28-6.1-2.3-7.8-6.28-7.8-12.06 0.1-3.06 0.7-6.08 1.8-8.93 2.2-6.09 5.8-9.21 11.3-9.21 5.9 0 10.4 2.64 13.1 7.99 2.7 5.51 2.7 11.23 0.8 16.98-1.2 3.96-0.2 5.34 4.1 5.25 2.8-0.07 4.7-1.2 5.1-4.18 1-9.07 0.6-17.96-3-26.56-3.6-8.48-12.4-14.19-20.4-13-11.7 1.74-19.5 9.15-20 19.37-0.3 4.43 0 8.89 0.2 13.32 0.2 4.75 0 5.03-4.4 3.37-2.9-1.13-6-1.56-9.1-1.25-8.6 0.83-9.1 0.3-9.2-8.44 0-7.05-1.5-13.74-5.8-19.53-3.9-5.18-10.2-6.11-15.2-2.42-8.8 6.56-10.3 31.59-2.4 39.3 1.4 1.4 2.6 1.34 3.9 0.06 1.6-1.48 0.5-2.14-0.7-3.14-3.1-2.59-5.2-6.16-5.9-10.1-0.8-3.95-0.1-8.03 1.8-11.55 2.6-4.55 9.4-6.41 13.8-3.74 7.4 4.62 8.5 19.85 2 25.56-5 4.68-10.5 8.94-16.2 12.76-5.2 3.3-5 8.14-0.2 11.88 2.5 1.98 4.9 4.23 7 6.71 3.7 4.59 8.5 6.06 14.3 6.3 13.2 0.59 25.7-2.78 38-6.82 6.6-2.15 13.5-3.77 17.9-9.89 1.4-2.03 3.8-2.05 5.7-0.3 2 1.89 1.9 4.11 0.1 6.12-1.4 1.3-3 2.2-4.8 2.61-8.8 2.7-17 6.59-25.4 10.14-9.8 4.17-19.8 7.64-30.9 6.42-2.7-0.29-5.4-0.07-8.6-0.09 5.6 7.2 12.6 9.24 20.8 8.13 8.2-1.23 16.2-4 23.4-8.15 5.6-3.11 10.9-6.93 17.1-8.97 2.7-0.89 5.5-0.95 6.7 2.22 1.1 3-1.1 4.34-3.4 5.6-8.3 4.48-16.8 8.42-24.3 14.13-5.5 4.18-11.1 8.34-17.3 11.5-9.2 4.76-16.4 3.33-23.1-4.55-3-3.3-5.7-6.87-8.1-10.66-1.5-2.7-3-5.9-6.5-7.3-0.4 2.49-0.5 4.63-0.9 6.71-1.5 7.85-5.8 14.44-9.4 21.35-5.1 9.75-10.2 19.47-4.7 30.84 0.3 0.55 0.4 1.19 0.3 1.81-0.1 0.61-0.5 1.17-1 1.56-8.4 7.1-12.7 16.86-16.9 26.5-6.2 14.33-11.8 28.9-10.7 45.11 0.4 5.92 0.6 11.97-0.8 17.85-1.5 6.47-4.9 7.47-9.6 2.76-7.3-7.19-9.3-16.44-9.9-26.05-0.3-3.96 0.5-7.97 0.9-12.13-0.5 0.18-0.9 0.51-1.2 0.93-0.3 0.43-0.5 0.93-0.5 1.45-2.4 10.34-0.9 20.43 2.8 30.2 1.3 3.52 2.4 7.36 5.4 10.08 4.9 4.46 9.8 8.97 14.8 13.35 14 12.31 28.9 23.54 43.5 35.21 9.8 7.84 9.4 22.61-0.7 28.08-6.7 3.61-6.7 3.61-2.4 9.99 0.6 0.89 1.3 1.76 2 2.6 5 6.24 8.2 13.83 9 21.84 0.2 2.72 0.1 5.64 1.6 8.58 1.3-1.05 2.3-2.45 2.8-4.04 0.6-1.59 0.7-3.3 0.3-4.94-0.9-6-3-11.57-7-16.29-1.6-1.81-4-3.72-1.1-6.18 2.5-2.17 5.6-3.19 8.3-0.64 8.8 7.94 19.4 9.65 30.6 9.87 10.7 0.11 21.3-1.56 31.4-4.96 11.4-3.67 21.6-9.15 27.5-20.25 0.6-1.05 1.4-1.99 2.3-2.8 1.6-1.47 3.1-3.25 5.6-2.47s2.8 3.04 3.3 5.16c2 8.29-0.1 16.06-2.6 23.87-1.7 5.51-4 10.96-4 16.9 0 1.8 0.4 3.63 2.4 3.87 2.3 0.27 2.1-1.91 2.4-3.27 1.3-5.99 2.4-12 3.7-17.97 2.7-12.28 3.3-24.94 1.7-37.43-1-8.5-3.5-16.89-2.8-25.53 0.7-8.49 1.4-18.02 9.8-22.03 6.2-2.95 10.7-6.23 14.1-12.02 3-5.05 9-5.41 14.1-6.96 7.1-0.79 13.9 0.92 21.4 2.79-1.5-1.95-3.6-3.39-5.9-4.16-3.7-1.45-4.6-3.61-3.7-7.51 1.8-7.11 4-14.33 2.9-21.75-2.4-17.29-4.3-34.79-14.4-49.96-3.4-5.16-7.2-10.08-10.8-15.1 3 6.12 5.9 12.17 9 18.12 3.2 6.17 5.5 12.69 7.9 19.17 3.7 10.32 6.2 21.07 5.5 31.96-0.6 10-0.4 21.02-11.8 26.49",style:{fill:"currentcolor"}}]},windows:{viewBox:"0 0 512 512",paths:[{d:"M426.10000000000036 457.3699999999999c-27.4-3.99-54.8-7.99-82.2-11.99q-47.25-6.885-94.5-13.74c-6.6-0.96-13.2-1.95-19.8-2.75-1.9-0.25-2.8-0.97-2.6-2.9 0.1-0.7 0.1-1.42 0-2.12V259.1999999999998c77.5 0.41 154.5 0.84 231.7 1.26v201.6c-11-1.58-21.8-3.12-32.6-4.69m-401.8-57.39v-141.85c57.9 0.32 115.6 0.64 173.5 0.95v165.48c-57.9-8.21-115.6-16.38-173.5-24.58m202.9-169.76c0-1.27-0.1-2.51-0.2-3.75v-160.45c0-3.24 1-4.12 4.1-4.53 42.3-5.81 84.6-11.69 126.9-17.63 33.2-4.63 66.5-9.25 99.7-13.85 0.3 0 0.7 0.03 1 0.09v201.39c-77.1-0.42-154.1-0.84-231.5-1.27m-203-1.15v-140.4c57.9-7.49 115.6-14.96 173.6-22.46v163.81c-57.9-0.31-115.6-0.62-173.6-0.95",style:{fill:"currentcolor"}}]},macos:{viewBox:"0 0 512 512",paths:[{d:"M156.79999999999927 464.21000000000004c-12.5-8.49-22.4-19.61-31-31.84-21.5-30.65-37.9-63.77-47.9-99.84-8.9-32.09-11.4-64.6-6.4-97.49 4.4-29.01 15.3-55.14 35.8-76.67 21.3-22.32 47.4-31.41 78.1-28.22 15.4 1.6 30.1 6.12 44.9 10.48 6.1 1.8 12.3 3.16 18.5 4.73 8.7 2.23 17.3 1.23 25.8-1.17 12-3.44 23.9-7.37 35.9-10.85 19-5.52 38.3-6.77 57.7-2.24 22.5 5.21 40.2 17.8 55.2 34.78 2.2 2.45 4.3 4.95 6.3 7.28-7.5 7.32-15 14.05-21.8 21.39-17.3 18.46-26.3 40.39-26.5 65.75-0.3 23.09 7.2 45.61 21.2 63.96 9.3 12.4 20.2 22.81 34.9 28.83 1.7 0.7 3.4 1.33 5.6 2.15-2 5.23-3.7 10.43-5.8 15.45-12 28.73-27.5 55.28-48.7 78.29-4 4.27-8.4 8.23-13 11.85-15.5 12.45-32.9 17.13-52.5 11.38-9.8-2.87-19.5-6.13-29.3-9.18-10-3.15-20.2-5.68-30.7-6-13.1-0.4-25.3 3.44-37.4 7.82-9.2 3.31-18.4 6.77-27.9 8.97-3.3 0.76-6.6 1.14-10 1.15-11.1 0-21.4-4.25-31-10.76m183-437.14c0.4 3.42 1.1 6.81 1 10.18-0.2 24.37-8.6 45.87-23.7 64.82-8.3 10.41-18 19.3-29.8 25.78-8.4 4.62-17.7 5.94-27 7.05-3 0.35-6.1 0.58-9.2 0.87 0.5-56.6 30-97.6 88.7-108.7",style:{fill:"currentcolor"}}]},"star-rating-full":{viewBox:"0 0 512 512",paths:[{d:"M253.60000000000036 34.32999999999993l59.2 169.6 177.8 4.6-141.1 109.4 50.6 172.44-146.5-101.97-146.6 101.97 50.7-172.44-141.2-109.41 177.8-4.6z",style:{fill:"currentcolor"}}]},"star-rating-half":{viewBox:"0 0 512 512",paths:[{d:"M256.5 35.76000000000022l-0.5-1.43-59.2 169.59-177.6 4.6 141 109.41-50.5 172.44 146.3-101.97 0.5 0.35z m236 172.76v0.21l0.3-0.2z",style:{fill:"currentcolor",fillRule:"evenodd",clipRule:"evenodd"}}]},download:{viewBox:"0 0 512 512",paths:[{d:"M336 173h40c5.3 0 10.5 1.03 15.3 3.04 4.9 2.01 9.3 4.96 13 8.67 3.7 3.72 6.7 8.13 8.7 12.98s3 10.06 3 15.31v208c0 5.25-1 10.46-3 15.31s-5 9.26-8.7 12.98c-3.7 3.71-8.1 6.66-13 8.67-4.8 2.01-10 3.04-15.3 3.04h-240c-5.3 0-10.5-1.03-15.3-3.04-4.9-2.01-9.3-4.96-13-8.67-3.7-3.72-6.7-8.13-8.7-12.98s-3-10.06-3-15.31v-208c0-5.25 1-10.46 3-15.31s5-9.26 8.7-12.98c3.7-3.71 8.1-6.66 13-8.67 4.8-2.01 10-3.04 15.3-3.04h40",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}},{d:"M176 269l80 80 80-80",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}},{d:"M256 45v288",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}}]},language:{viewBox:"0 0 512 512",paths:[{d:"M478.2999999999993 433.5999999999999l-90-218c-1.2-3.01-3.1-5.7-5.5-7.89s-5.3-3.81-8.4-4.76-6.4-1.19-9.6-0.71-6.3 1.66-9 3.47c-3.7 2.38-6.5 5.83-8.1 9.89l-90 218c-2.2 5.4-2.3 11.46-0.1 16.89 1.1 2.69 2.7 5.13 4.8 7.16 3.1 3.09 7 5.19 11.3 6.04 4.3 0.84 8.7 0.39 12.7-1.3 2.7-1.1 5.1-2.72 7.2-4.78 2-2.07 3.6-4.52 4.7-7.22l18.4-44.39h102.6l18.4 44.39c1.6 4.06 4.4 7.51 8.1 9.89 3.6 2.44 7.9 3.73 12.2 3.72 3.6 0 7.2-0.89 10.4-2.6 4.8-2.57 8.5-6.84 10.3-11.98 1.9-5.15 1.7-10.79-0.4-15.82m-143.5-71.6l33.2-80.35 33.2 80.35z",style:{fill:"currentcolor"}},{d:"M267.7999999999993 342.9200000000001c1.7-2.32 3-4.97 3.6-7.78 0.7-2.81 0.8-5.73 0.3-8.58-0.4-2.84-1.4-5.58-2.9-8.04s-3.5-4.6-5.8-6.3c-0.2-0.15-15-11.13-36.5-34.73 39.6-53.68 62.1-114.75 71.2-143.49h32.3c5.8-0.02 11.4-2.33 15.6-6.44 4.1-4.14 6.4-9.73 6.4-15.56s-2.3-11.42-6.4-15.56c-4.2-4.11-9.8-6.42-15.6-6.44h-116v-20c0-5.83-2.3-11.42-6.4-15.56-4.1-4.12-9.8-6.44-15.6-6.44s-11.5 2.32-15.6 6.44c-4.1 4.14-6.4 9.73-6.4 15.56v20h-116c-5.8 0.02-11.4 2.33-15.6 6.44-4.1 4.14-6.4 9.73-6.4 15.56s2.3 11.42 6.4 15.56c4.2 4.11 9.8 6.42 15.6 6.44h197.2c-9.5 26.95-27 69.5-53.7 108.36-31.4-41.68-43.1-68.65-43.2-68.87-2.3-5.32-6.6-9.52-12-11.69-5.3-2.17-11.4-2.13-16.7 0.11-5.4 2.24-9.6 6.49-11.8 11.84-2.3 5.36-2.3 11.37-0.1 16.74 0.6 1.38 14.6 34.23 52.9 83.93 0.9 1.19 1.8 2.35 2.7 3.51-39.2 44.35-77.7 71.86-93.8 80.74-2.5 1.38-4.8 3.25-6.6 5.49-1.8 2.25-3.2 4.84-4 7.61s-1.1 5.68-0.8 8.55c0.3 2.88 1.2 5.66 2.6 8.2 1.4 2.53 3.2 4.77 5.5 6.58 2.2 1.82 4.8 3.17 7.6 3.98 2.7 0.82 5.6 1.08 8.5 0.78 2.9-0.31 5.7-1.18 8.2-2.56 2.2-1.18 48.6-26.89 101.7-85.59 22.5 24.08 38 35.44 38.9 36.1 2.3 1.7 5 2.93 7.8 3.59 2.8 0.68 5.7 0.79 8.6 0.34 5.7-0.95 10.9-4.12 14.3-8.83z",style:{fill:"currentcolor"}}]},"movies-outline":{viewBox:"0 0 512 512",paths:[{d:"M436 96h-360c-3.68-0.01-7.32 0.71-10.72 2.12-3.4 1.4-6.49 3.47-9.09 6.07s-4.66 5.69-6.07 9.09-2.13 7.04-2.12 10.72v264a27.96 27.96 0 0 0 17.28 25.88c3.4 1.4 7.04 2.12 10.72 2.12h360c3.68 0 7.32-0.72 10.72-2.12 3.4-1.41 6.49-3.47 9.09-6.07s4.66-5.69 6.07-9.09c1.4-3.4 2.13-7.04 2.12-10.72v-264a28.04 28.04 0 0 0-8.21-19.79 28.04 28.04 0 0 0-19.79-8.21Z",style:{stroke:"currentcolor",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}},{d:"M436 336h-24c-3.68-0.01-7.32 0.71-10.72 2.12-3.4 1.4-6.49 3.47-9.09 6.07s-4.66 5.69-6.07 9.09-2.13 7.04-2.12 10.72v24a27.96 27.96 0 0 0 17.28 25.88c3.4 1.4 7.04 2.12 10.72 2.12h24c3.68 0 7.32-0.72 10.72-2.12 3.4-1.41 6.49-3.47 9.09-6.07s4.66-5.69 6.07-9.09c1.4-3.4 2.13-7.04 2.12-10.72v-24a28.04 28.04 0 0 0-8.21-19.79 28.04 28.04 0 0 0-19.79-8.21Z",style:{stroke:"currentcolor",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}},{d:"M436 256h-24c-3.68-0.01-7.32 0.71-10.72 2.12-3.4 1.4-6.49 3.47-9.09 6.07s-4.66 5.69-6.07 9.09-2.13 7.04-2.12 10.72v24a27.96 27.96 0 0 0 17.28 25.88c3.4 1.4 7.04 2.12 10.72 2.12h24c3.68 0 7.32-0.72 10.72-2.12 3.4-1.41 6.49-3.47 9.09-6.07s4.66-5.69 6.07-9.09c1.4-3.4 2.13-7.04 2.12-10.72v-24a28.04 28.04 0 0 0-8.21-19.79 28.04 28.04 0 0 0-19.79-8.21Z",style:{stroke:"currentcolor",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}},{d:"M436 176h-24c-3.68-0.01-7.32 0.71-10.72 2.12-3.4 1.4-6.49 3.47-9.09 6.07s-4.66 5.69-6.07 9.09-2.13 7.04-2.12 10.72v24a27.96 27.96 0 0 0 17.28 25.88c3.4 1.4 7.04 2.12 10.72 2.12h24c3.68 0 7.32-0.72 10.72-2.12 3.4-1.41 6.49-3.47 9.09-6.07s4.66-5.69 6.07-9.09c1.4-3.4 2.13-7.04 2.12-10.72v-24a28.04 28.04 0 0 0-8.21-19.79 28.04 28.04 0 0 0-19.79-8.21Z",style:{stroke:"currentcolor",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}},{d:"M436 96h-24c-3.68-0.01-7.32 0.71-10.72 2.12-3.4 1.4-6.49 3.47-9.09 6.07s-4.66 5.69-6.07 9.09-2.13 7.04-2.12 10.72v24a27.96 27.96 0 0 0 17.28 25.88c3.4 1.4 7.04 2.12 10.72 2.12h24c3.68 0 7.32-0.72 10.72-2.12 3.4-1.41 6.49-3.47 9.09-6.07s4.66-5.69 6.07-9.09c1.4-3.4 2.13-7.04 2.12-10.72v-24a28.04 28.04 0 0 0-8.21-19.79 28.04 28.04 0 0 0-19.79-8.21Z",style:{stroke:"currentcolor",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}},{d:"M100 336h-24c-3.68-0.01-7.32 0.71-10.72 2.12-3.4 1.4-6.49 3.47-9.09 6.07s-4.66 5.69-6.07 9.09-2.13 7.04-2.12 10.72v24a27.96 27.96 0 0 0 17.28 25.88c3.4 1.4 7.04 2.12 10.72 2.12h24c3.68 0 7.32-0.72 10.72-2.12 3.4-1.41 6.49-3.47 9.09-6.07s4.66-5.69 6.07-9.09c1.4-3.4 2.13-7.04 2.12-10.72v-24a28.04 28.04 0 0 0-8.21-19.79 28.04 28.04 0 0 0-19.79-8.21Z",style:{stroke:"currentcolor",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}},{d:"M100 256h-24c-3.68-0.01-7.32 0.71-10.72 2.12-3.4 1.4-6.49 3.47-9.09 6.07s-4.66 5.69-6.07 9.09-2.13 7.04-2.12 10.72v24a27.96 27.96 0 0 0 17.28 25.88c3.4 1.4 7.04 2.12 10.72 2.12h24c3.68 0 7.32-0.72 10.72-2.12 3.4-1.41 6.49-3.47 9.09-6.07s4.66-5.69 6.07-9.09c1.4-3.4 2.13-7.04 2.12-10.72v-24a28.04 28.04 0 0 0-8.21-19.79 28.04 28.04 0 0 0-19.79-8.21Z",style:{stroke:"currentcolor",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}},{d:"M100 176h-24c-3.68-0.01-7.32 0.71-10.72 2.12-3.4 1.4-6.49 3.47-9.09 6.07s-4.66 5.69-6.07 9.09-2.13 7.04-2.12 10.72v24a27.96 27.96 0 0 0 17.28 25.88c3.4 1.4 7.04 2.12 10.72 2.12h24c3.68 0 7.32-0.72 10.72-2.12 3.4-1.41 6.49-3.47 9.09-6.07s4.66-5.69 6.07-9.09c1.4-3.4 2.13-7.04 2.12-10.72v-24a28.04 28.04 0 0 0-8.21-19.79 28.04 28.04 0 0 0-19.79-8.21Z",style:{stroke:"currentcolor",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}},{d:"M100 96h-24c-3.68-0.01-7.32 0.71-10.72 2.12-3.4 1.4-6.49 3.47-9.09 6.07s-4.66 5.69-6.07 9.09-2.13 7.04-2.12 10.72v24a27.96 27.96 0 0 0 17.28 25.88c3.4 1.4 7.04 2.12 10.72 2.12h24c3.68 0 7.32-0.72 10.72-2.12 3.4-1.41 6.49-3.47 9.09-6.07s4.66-5.69 6.07-9.09c1.4-3.4 2.13-7.04 2.12-10.72v-24a28.04 28.04 0 0 0-8.21-19.79 28.04 28.04 0 0 0-19.79-8.21Z",style:{stroke:"currentcolor",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}},{d:"M356 96h-200c-3.68-0.01-7.32 0.71-10.72 2.12-3.4 1.4-6.49 3.47-9.09 6.07s-4.66 5.69-6.07 9.09-2.13 7.04-2.12 10.72v104a27.96 27.96 0 0 0 17.28 25.88c3.4 1.4 7.04 2.12 10.72 2.12h200c3.68 0 7.32-0.72 10.72-2.12 3.4-1.41 6.49-3.47 9.09-6.07s4.66-5.69 6.07-9.09c1.4-3.4 2.13-7.04 2.12-10.72v-104a28.04 28.04 0 0 0-8.21-19.79 28.04 28.04 0 0 0-19.79-8.21Z",style:{stroke:"currentcolor",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}},{d:"M356 256h-200c-3.68-0.01-7.32 0.71-10.72 2.12-3.4 1.4-6.49 3.47-9.09 6.07s-4.66 5.69-6.07 9.09-2.13 7.04-2.12 10.72v104a27.96 27.96 0 0 0 17.28 25.88c3.4 1.4 7.04 2.12 10.72 2.12h200c3.68 0 7.32-0.72 10.72-2.12 3.4-1.41 6.49-3.47 9.09-6.07s4.66-5.69 6.07-9.09c1.4-3.4 2.13-7.04 2.12-10.72v-104a28.04 28.04 0 0 0-8.21-19.79 28.04 28.04 0 0 0-19.79-8.21Z",style:{stroke:"currentcolor",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}}]},movies:{viewBox:"0 0 512 512",paths:[{d:"M435.79999999999995 80.19999999999982h-360a44.03 44.03 0 0 0-31.1 12.9 44.03 44.03 0 0 0-12.9 31.1v264a44.03 44.03 0 0 0 12.9 31.1 44.03 44.03 0 0 0 31.1 12.9h360a44.03 44.03 0 0 0 31.1-12.9 44.03 44.03 0 0 0 12.9-31.1v-264a44.03 44.03 0 0 0-12.9-31.1 44.03 44.03 0 0 0-31.1-12.9m-324 308a11.997 11.997 0 0 1-12 12h-24c-1.58 0-3.14-0.31-4.6-0.91a12 12 0 0 1-3.89-2.6c-1.12-1.11-2-2.44-2.6-3.9-0.6-1.45-0.91-3.01-0.91-4.59v-24c0-1.58 0.31-3.14 0.91-4.59 0.6-1.46 1.48-2.79 2.6-3.9 1.11-1.11 2.44-2 3.89-2.6 1.46-0.6 3.02-0.91 4.6-0.91h24a11.997 11.997 0 0 1 12 12z m0-80a11.997 11.997 0 0 1-12 12h-24c-1.58 0-3.14-0.31-4.6-0.91a12 12 0 0 1-3.89-2.6c-1.12-1.11-2-2.44-2.6-3.9-0.6-1.45-0.91-3.01-0.91-4.59v-24c0-1.58 0.31-3.14 0.91-4.59 0.6-1.46 1.48-2.79 2.6-3.9 1.11-1.11 2.44-2 3.89-2.6 1.46-0.6 3.02-0.91 4.6-0.91h24a11.997 11.997 0 0 1 12 12z m0-80a11.997 11.997 0 0 1-12 12h-24c-1.58 0-3.14-0.31-4.6-0.91a12 12 0 0 1-3.89-2.6c-1.12-1.11-2-2.44-2.6-3.9-0.6-1.45-0.91-3.01-0.91-4.59v-24c0-1.58 0.31-3.14 0.91-4.59 0.6-1.46 1.48-2.79 2.6-3.9 1.11-1.11 2.44-2 3.89-2.6 1.46-0.6 3.02-0.91 4.6-0.91h24a11.997 11.997 0 0 1 12 12z m0-80a11.997 11.997 0 0 1-12 12h-24c-1.58 0-3.14-0.31-4.6-0.91a12 12 0 0 1-3.89-2.6c-1.12-1.11-2-2.44-2.6-3.9-0.6-1.45-0.91-3.01-0.91-4.59v-24c0-1.58 0.31-3.14 0.91-4.59 0.6-1.46 1.48-2.79 2.6-3.9 1.11-1.11 2.44-2 3.89-2.6 1.46-0.6 3.02-0.91 4.6-0.91h24a11.997 11.997 0 0 1 12 12z m241.68 124h-195.36c-4.24 0-8.31-1.69-11.31-4.69s-4.69-7.07-4.69-11.31 1.69-8.31 4.69-11.31 7.07-4.69 11.31-4.69h195.36c4.24 0 8.31 1.69 11.31 4.69s4.69 7.07 4.69 11.31-1.69 8.31-4.69 11.31-7.07 4.69-11.31 4.69m94.32 116a11.997 11.997 0 0 1-12 12h-24c-1.58 0-3.14-0.31-4.6-0.91a12 12 0 0 1-3.89-2.6c-1.12-1.11-2-2.44-2.6-3.9-0.6-1.45-0.91-3.01-0.91-4.59v-24c0-1.58 0.31-3.14 0.91-4.59 0.6-1.46 1.48-2.79 2.6-3.9 1.11-1.11 2.44-2 3.89-2.6 1.46-0.6 3.02-0.91 4.6-0.91h24a11.997 11.997 0 0 1 12 12z m0-80a11.997 11.997 0 0 1-12 12h-24c-1.58 0-3.14-0.31-4.6-0.91a12 12 0 0 1-3.89-2.6c-1.12-1.11-2-2.44-2.6-3.9-0.6-1.45-0.91-3.01-0.91-4.59v-24c0-1.58 0.31-3.14 0.91-4.59 0.6-1.46 1.48-2.79 2.6-3.9 1.11-1.11 2.44-2 3.89-2.6 1.46-0.6 3.02-0.91 4.6-0.91h24a11.997 11.997 0 0 1 12 12z m0-80a11.997 11.997 0 0 1-12 12h-24c-1.58 0-3.14-0.31-4.6-0.91a12 12 0 0 1-3.89-2.6c-1.12-1.11-2-2.44-2.6-3.9-0.6-1.45-0.91-3.01-0.91-4.59v-24c0-1.58 0.31-3.14 0.91-4.59 0.6-1.46 1.48-2.79 2.6-3.9 1.11-1.11 2.44-2 3.89-2.6 1.46-0.6 3.02-0.91 4.6-0.91h24a11.997 11.997 0 0 1 12 12z m0-80a11.997 11.997 0 0 1-12 12h-24c-1.58 0-3.14-0.31-4.6-0.91a12 12 0 0 1-3.89-2.6c-1.12-1.11-2-2.44-2.6-3.9-0.6-1.45-0.91-3.01-0.91-4.59v-24c0-1.58 0.31-3.14 0.91-4.59 0.6-1.46 1.48-2.79 2.6-3.9 1.11-1.11 2.44-2 3.89-2.6 1.46-0.6 3.02-0.91 4.6-0.91h24a11.997 11.997 0 0 1 12 12z",style:{fill:"currentcolor"}}]},"cloud-library":{viewBox:"0 0 512 512",paths:[{d:"M415.5100000000002 404.5500000000002l0.37-0.04h0.04l0.88-0.13a90.47 90.47 0 0 0 57.9-30.97 90.45 90.45 0 0 0 21.74-61.95 90.5 90.5 0 0 0-25.86-60.36 90.5 90.5 0 0 0-59.85-27l-6.42-0.36-0.13-6.42c-1.62-73.55-63.06-133.4-136.96-133.4-66.36 0-123.05 47.13-134.81 112.05l-1.1 6.02-6.11-0.32c-1.86-0.1-3.73-0.15-5.62-0.16-56.35 0-102.21 45.67-102.21 101.8a101.4 101.4 0 0 0 26.59 68.77 101.45 101.45 0 0 0 66.14 32.58l0.08 0.01c3.17 0.29 6.34 0.43 9.4 0.43 3.12 0 6.3-0.14 9.5-0.44l0.32-0.03h0.31l265.2-0.11h0.37l0.37 0.04q4.935 0.54 9.9 0.54c3.33 0 6.66-0.19 9.97-0.55m-20.6-16.34l-265.21 0.11c-0.7 0-1.41 0.04-2.11 0.1-2.7 0.24-5.39 0.37-8.01 0.37-2.57 0-5.24-0.12-7.92-0.37a85.18 85.18 0 0 1-55.6-27.34 85.25 85.25 0 0 1-22.38-57.77c0-47.14 38.53-85.49 85.9-85.49 1.59 0 3.18 0.05 4.75 0.13q0.63 0.03 1.26 0.03c5.45 0 10.72-1.91 14.9-5.4 4.18-3.5 7-8.35 7.97-13.71 10.34-57.15 60.29-98.63 118.75-98.63 65.1 0 119.23 52.68 120.65 117.44 0.15 5.84 2.49 11.42 6.55 15.62 4.06 4.21 9.55 6.74 15.39 7.09 18.56 0.96 36.08 8.85 49.11 22.11a74.19 74.19 0 0 1 21.22 49.5 74.2 74.2 0 0 1-17.83 50.82 74.2 74.2 0 0 1-47.5 25.38l-0.61 0.08c-2.87 0.33-5.76 0.5-8.65 0.51-2.72 0-5.44-0.15-8.15-0.45-0.83-0.09-1.66-0.13-2.49-0.13",style:{fill:"currentcolor"}},{d:"M321.39999999999964 209.82999999999993c-0.68-2.95-2.51-5.5-5.07-7.1a11.38 11.38 0 0 0-8.61-1.44c-2.95 0.68-5.5 2.5-7.1 5.07s-2.12 5.66-1.44 8.61l25 108.09c0.72 2.9 2.56 5.41 5.11 6.97a11.42 11.42 0 0 0 8.52 1.39 11.43 11.43 0 0 0 7.06-5c1.6-2.52 2.15-5.58 1.52-8.5z",style:{fill:"currentcolor"}},{d:"M277.03999999999996 198.14000000000033c-3.02 0.01-5.92 1.21-8.06 3.35a11.4 11.4 0 0 0-3.34 8.06v110.94a11.43 11.43 0 0 0 3.45 7.84c2.13 2.07 4.98 3.22 7.95 3.22 2.96 0 5.81-1.15 7.94-3.22a11.43 11.43 0 0 0 3.45-7.84v-110.94c0-1.5-0.29-2.98-0.86-4.37-0.86-2.08-2.33-3.87-4.2-5.12a11.44 11.44 0 0 0-6.34-1.92",style:{fill:"currentcolor"}},{d:"M200.4300000000003 198.14000000000033c-1.5 0-2.98 0.29-4.37 0.86-1.38 0.58-2.64 1.42-3.7 2.48s-1.9 2.32-2.47 3.7a11.5 11.5 0 0 0-0.86 4.37v110.94a11.43 11.43 0 0 0 3.45 7.84c2.13 2.07 4.98 3.22 7.95 3.22 2.96 0 5.81-1.15 7.94-3.22a11.43 11.43 0 0 0 3.45-7.84v-110.94c0-1.5-0.29-2.98-0.86-4.37-0.58-1.38-1.42-2.64-2.48-3.7-1.05-1.06-2.31-1.9-3.69-2.47a11.5 11.5 0 0 0-4.37-0.87",style:{fill:"currentcolor"}},{d:"M238.72999999999956 220.51000000000022c-3.02 0.01-5.91 1.21-8.05 3.35a11.43 11.43 0 0 0-3.35 8.05V320.5a11.43 11.43 0 0 0 3.45 7.84 11.4 11.4 0 0 0 7.94 3.22c2.97 0 5.82-1.15 7.95-3.22a11.43 11.43 0 0 0 3.45-7.84v-88.59c-0.01-3.02-1.21-5.91-3.35-8.05a11.43 11.43 0 0 0-8.05-3.35",style:{fill:"currentcolor"}}]},"chevron-back":{viewBox:"0 0 512 512",paths:[{d:"M328 112.00000000000006l-144 144 144 144",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"48",fill:"none"}}]},"sort-up-down":{viewBox:"0 0 512 512",paths:[{d:"M158.59000000000015 319.22499999999997l86.18 100.576a14.78 14.78 0 0 0 11.24 5.165 14.8 14.8 0 0 0 11.23-5.165l86.19-100.576a14.8 14.8 0 0 0 2.21-15.812 14.87 14.87 0 0 0-5.46-6.276 14.85 14.85 0 0 0-7.99-2.341H169.79999999999927c-2.84 0-5.61 0.812-7.99 2.34a14.87 14.87 0 0 0-5.46 6.279 14.84 14.84 0 0 0-1.2 8.232c0.4 2.803 1.59 5.433 3.44 7.578",style:{fill:"currentcolor"}},{d:"M158.59000000000015 192.78000000000003l86.18-100.58a14.8 14.8 0 0 1 5.06-3.812 14.8 14.8 0 0 1 17.41 3.812l86.19 100.58a14.8 14.8 0 0 1 2.21 15.813 14.87 14.87 0 0 1-5.46 6.277 14.85 14.85 0 0 1-7.99 2.34h-172.4c-2.83 0-5.6-0.812-7.98-2.34a14.8 14.8 0 0 1-5.46-6.28 14.84 14.84 0 0 1-1.2-8.232c0.4-2.803 1.59-5.433 3.44-7.578",style:{fill:"currentcolor"}}]},"caret-down":{viewBox:"0 0 512 512",paths:[{d:"M91.79999999999927 213.79899999999998l145.3 169.6c2.1 2.536 4.7 4.592 7.7 6.031 2.9 1.487 6.1 2.382 9.4 2.633 3.2 0.251 6.5-0.147 9.6-1.171 3.1-1.035 6-2.662 8.5-4.793 1-0.797 1.9-1.703 2.7-2.7l145.3-169.6c3.1-3.647 5-8.083 5.7-12.8 0.7-4.719 0-9.539-2-13.869-2-4.344-5.2-8.023-9.2-10.599s-8.7-3.942-13.5-3.932h-290.7c-3.3-0.01-6.6 0.626-9.6 1.873-4.6 1.86-8.5 5.058-11.2 9.175-2.7 4.109-4.2 8.924-4.2 13.852 0.1 5.99 2.3 11.756 6.2 16.3",style:{fill:"currentcolor"}}]},"caret-up":{viewBox:"0 0 512 512",paths:[{d:"M91.79999999999927 314.9l145.3-169.6c2.1-2.535 4.7-4.591 7.7-6.031 2.9-1.487 6.1-2.381 9.4-2.632 3.2-0.251 6.5 0.147 9.6 1.17 3.1 1.036 6 2.663 8.5 4.793 1 0.797 1.9 1.703 2.7 2.7l145.3 169.6c3.1 3.647 5 8.083 5.7 12.8 0.7 4.719 0 9.538-2 13.869a25.1 25.1 0 0 1-9.2 10.599c-4 2.576-8.7 3.94-13.5 3.931h-290.7c-3.3 0.011-6.6-0.625-9.6-1.873a24.23 24.23 0 0 1-11.2-9.175c-2.7-4.109-4.2-8.924-4.2-13.852 0.1-5.99 2.3-11.755 6.2-16.299",style:{fill:"currentcolor"}}]},"chevron-forward":{viewBox:"0 0 512 512",paths:[{d:"M184 400.00000000000006l144-144-144-144",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"48",fill:"none"}}]},"chevron-down":{viewBox:"0 0 512 512",paths:[{d:"M112 184.00000000000006l144 144 144-144",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"48",fill:"none"}}]},"chevron-up":{viewBox:"0 0 512 512",paths:[{d:"M400 328.00000000000006l-144-144-144 144",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"48",fill:"none"}}]},"more-vertical":{viewBox:"0 0 512 512",paths:[{d:"M256 293.591c7.4-0.016 14.7-2.22 20.9-6.339 6.2-4.109 11-9.989 13.8-16.872 2.9-6.862 3.6-14.421 2.2-21.719-1.5-7.273-5.1-13.956-10.3-19.246a38.2 38.2 0 0 0-15.7-9.4 37.47 37.47 0 0 0-18.2-0.9c-9.2 1.827-17.3 6.988-22.9 14.482-5.5 7.495-8.1 16.788-7.2 26.077 0.6 6.164 2.7 12.087 6.1 17.234 3.5 5.147 8.1 9.356 13.6 12.246 5.4 2.922 11.5 4.447 17.7 4.437",style:{fill:"currentcolor"}},{d:"M256 418.899c7.4-0.016 14.7-2.22 20.9-6.339 6.2-4.109 11-9.989 13.8-16.872 2.9-6.862 3.6-14.421 2.2-21.719-1.5-7.273-5.1-13.956-10.3-19.246a38.2 38.2 0 0 0-15.7-9.4 37.45 37.45 0 0 0-18.2-0.9c-6.1 1.211-11.7 3.894-16.5 7.814s-8.5 8.955-10.9 14.662-3.3 11.92-2.7 18.075c0.6 6.164 2.7 12.087 6.1 17.234 3.5 5.147 8.1 9.356 13.6 12.246 5.4 2.925 11.5 4.453 17.7 4.445",style:{fill:"currentcolor"}},{d:"M256 168.28200000000004c7.4-0.016 14.7-2.22 20.9-6.339 6.2-4.109 11-9.989 13.8-16.872 2.9-6.862 3.6-14.421 2.2-21.72-1.5-7.273-5.1-13.955-10.3-19.245a38.2 38.2 0 0 0-15.7-9.4 37.45 37.45 0 0 0-18.2-0.9c-6.1 1.211-11.7 3.896-16.5 7.817s-8.5 8.958-10.9 14.666-3.3 11.92-2.7 18.075c0.6 6.164 2.7 12.087 6.1 17.234 3.5 5.147 8.1 9.356 13.6 12.246 5.4 2.922 11.5 4.447 17.7 4.438",style:{fill:"currentcolor"}}]},"more-horizontal":{viewBox:"0 0 512 512",paths:[{d:"M293.60000000000036 256c0-7.435-2.2-14.701-6.3-20.881-4.2-6.181-10.1-10.998-16.9-13.844-6.9-2.846-14.4-3.593-21.7-2.147s-14 5.021-19.3 10.272c-5.2 5.293-8.8 11.977-10.3 19.252-1.4 7.3-0.7 14.861 2.2 21.725a36.93 36.93 0 0 0 13.8 16.876c4.2 2.833 9 4.777 14 5.711s10.1 0.842 15.1-0.273 9.7-3.23 13.8-6.214 7.6-6.777 10.2-11.147c3.6-5.818 5.4-12.512 5.4-19.333z",style:{fill:"currentcolor"}},{d:"M418.89999999999964 256c0-7.435-2.2-14.701-6.4-20.881-4.1-6.18-10-10.997-16.8-13.843-6.9-2.846-14.5-3.593-21.7-2.147-7.3 1.446-14 5.02-19.3 10.271-5.2 5.292-8.8 11.977-10.3 19.252-1.4 7.299-0.7 14.86 2.2 21.725a36.93 36.93 0 0 0 13.8 16.876c5.1 3.435 11.1 5.549 17.2 6.156 6.2 0.607 12.4-0.312 18.1-2.675 4.6-1.877 8.7-4.647 12.2-8.148 3.5-3.461 6.3-7.616 8.1-12.2 1.9-4.557 2.9-9.447 2.9-14.386",style:{fill:"currentcolor"}},{d:"M168.29999999999927 256c0-7.435-2.2-14.701-6.4-20.881-4.1-6.18-10-10.997-16.8-13.843-6.9-2.846-14.5-3.593-21.7-2.147-7.3 1.446-14 5.02-19.3 10.271-5.2 5.292-8.8 11.977-10.3 19.252-1.4 7.299-0.7 14.86 2.2 21.725a36.93 36.93 0 0 0 13.8 16.876c4.2 2.833 9 4.776 14 5.711s10.1 0.842 15.1-0.274c5-1.115 9.7-3.229 13.8-6.214 4.1-2.984 7.6-6.777 10.2-11.146 3.6-5.818 5.4-12.513 5.4-19.333z",style:{fill:"currentcolor"}}]},"open-in-browser":{viewBox:"0 0 512 512",paths:[{d:"M372.10000000000036 225.5999999999999V376.29999999999995c0 4.75-0.93 9.46-2.75 13.86a36.1 36.1 0 0 1-7.85 11.74 36.1 36.1 0 0 1-11.74 7.85c-4.4 1.82-9.11 2.75-13.86 2.75h-217.1c-4.75 0-9.46-0.93-13.86-2.75a36.23 36.23 0 0 1-19.59-19.6c-1.82-4.39-2.75-9.1-2.75-13.85v-217.1c0-4.76 0.93-9.46 2.75-13.86 1.82-4.39 4.48-8.38 7.85-11.74 3.36-3.37 7.35-6.03 11.74-7.85 4.4-1.82 9.11-2.75 13.86-2.75h151.5",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"39.699",fill:"none"}},{d:"M328.7000000000007 65.20000000000005h101.2v101.2",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"39.699",fill:"none"}},{d:"M221.60000000000036 263.70000000000005l198.5-178.7",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"39.699",fill:"none"}}]},maximize:{viewBox:"0 0 512 512",paths:[{d:"M406.5 311.89999999999986v95.8h-95.8",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"39.027",fill:"none"}},{d:"M105.5 202.5v-95.8h95.8",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"39.027",fill:"none"}},{d:"M310.7000000000007 106.70000000000005h95.8v95.8",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"39.027",fill:"none"}},{d:"M201.30000000000018 407.70000000000005h-95.8v-95.8",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"39.027",fill:"none"}}]},minimize:{viewBox:"0 0 512 512",paths:[{d:"M310.7000000000007 407.7000000000003v-95.8h95.8",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"39.027",fill:"none"}},{d:"M201.30000000000018 106.70000000000005v95.8h-95.8",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"39.027",fill:"none"}},{d:"M406.5 202.5h-95.8v-95.8",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"39.027",fill:"none"}},{d:"M105.5 312h95.8v95.8",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"39.027",fill:"none"}}]},scale:{viewBox:"0 0 512 512",paths:[{d:"M320 80h112v112",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}},{d:"M421.7699999999995 90.19999999999982l-117.77 117.8",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}},{d:"M192 432h-112v-112",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}},{d:"M90.22999999999956 421.7999999999997l117.77-117.8",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}}]},"notifications-outline":{viewBox:"0 0 512 512",paths:[{d:"M413.7999999999993 343.70000000000005c-23.6-28.9-40.3-43.6-40.3-123.2 0-73-37.2-98.9-67.9-111.6-2.12-0.88-4.03-2.19-5.6-3.87a16.1 16.1 0 0 1-3.5-5.83 41.06 41.06 0 0 0-13.92-24.66 41.02 41.02 0 0 0-26.58-9.77c-9.74 0-19.16 3.46-26.58 9.77a41.06 41.06 0 0 0-13.92 24.66c-0.76 2.16-1.96 4.14-3.52 5.81-1.57 1.67-3.47 3-5.58 3.89-30.7 12.6-67.9 38.5-67.9 111.6 0 79.7-16.7 94.4-40.3 123.2a18.552 18.552 0 0 0 3.1 26c3.62 2.8 8.13 4.19 12.7 3.9h284a18.554 18.554 0 0 0 19.6-17.4 18.9 18.9 0 0 0-3.8-12.5",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"37",fill:"none"}},{d:"M314.7999999999993 373.70000000000005v14.6c0 15.59-6.19 30.55-17.22 41.58a58.85 58.85 0 0 1-41.58 17.22c-15.59 0-30.55-6.2-41.58-17.22a58.85 58.85 0 0 1-17.22-41.58v-14.6",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"37",fill:"none"}}]},notifications:{viewBox:"0 0 512 512",paths:[{d:"M413.7999999999993 343.8000000000002c-23.6-28.9-40.3-43.6-40.3-123.2 0-73-37.2-98.9-67.9-111.6-2.12-0.88-4.03-2.19-5.6-3.87a16.1 16.1 0 0 1-3.5-5.83 41.06 41.06 0 0 0-13.92-24.66 41.02 41.02 0 0 0-26.58-9.77c-9.74 0-19.16 3.46-26.58 9.77a41.06 41.06 0 0 0-13.92 24.66c-0.76 2.16-1.96 4.14-3.52 5.81-1.57 1.67-3.47 3-5.58 3.89-30.7 12.6-67.9 38.5-67.9 111.6 0 79.7-16.7 94.4-40.3 123.2a18.552 18.552 0 0 0 3.1 26c3.62 2.8 8.13 4.19 12.7 3.9h284c3.55 0.2 7.09-0.63 10.19-2.38 3.09-1.76 5.63-4.36 7.29-7.51 1.66-3.14 2.39-6.7 2.09-10.25a18.67 18.67 0 0 0-3.77-9.76",style:{fill:"currentcolor"}},{d:"M213.79999999999927 429.4000000000001a58.7 58.7 0 0 0 19.25 13.17c7.23 3.06 15 4.63 22.85 4.63s15.62-1.57 22.85-4.63A58.7 58.7 0 0 0 298 429.4000000000001z",style:{fill:"none",stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"37"}}]},"person-outline":{viewBox:"0 0 512 512",paths:[{d:"M327.60000000000036 151.69999999999982c-3.2 43.1-35.9 78.3-71.7 78.3-35.9 0-68.6-35.1-71.7-78.3a71.98 71.98 0 0 1 16.72-52.36 71.94 71.94 0 0 1 48.8-25.29 71.98 71.98 0 0 1 52.42 16.54 71.95 71.95 0 0 1 25.46 48.71c0.4 4.12 0.4 8.28 0 12.4",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"37",fill:"none"}},{d:"M256 282.1999999999998c-70.9 0-142.9 39.1-156.2 113a13.635 13.635 0 0 0 4.64 14.48c1.41 1.11 3.03 1.94 4.76 2.42 1.11 0.32 2.25 0.49 3.4 0.5h287c2.71-0.07 5.34-0.95 7.55-2.52s3.91-3.76 4.87-6.3c1.03-2.78 1.16-5.82 0.38-8.68-13.4-73.8-85.5-112.9-156.4-112.9",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"37",fill:"none"}}]},person:{viewBox:"0 0 512 512",paths:[{d:"M321 87.5c-16.5-17.7-39.5-27.5-64.8-27.5-25.5 0-48.6 9.7-65 27.3-16.6 17.8-24.6 42-22.8 68.2 3.8 51.6 43.1 93.5 87.7 93.5s83.9-41.9 87.7-93.5c2-25.9-6.1-50.1-22.8-68",style:{fill:"currentcolor"}},{d:"M404.3000000000011 437h-296.1c-3.87 0.06-7.7-0.76-11.2-2.4a25.8 25.8 0 0 1-9.1-7c-2.76-3.4-4.73-7.37-5.77-11.62a29.5 29.5 0 0 1-0.23-12.98c7.1-39.5 29.3-72.7 64.1-96 30.9-20.7 70.1-32.1 110.4-32.1s79.4 11.4 110.4 32.1c34.8 23.3 57 56.5 64.1 96a30.3 30.3 0 0 1-0.31 12.96 30.5 30.5 0 0 1-5.69 11.64 25.8 25.8 0 0 1-9.1 7 27.6 27.6 0 0 1-11.5 2.4",style:{fill:"currentcolor"}}]},glasses:{viewBox:"0 0 512 512",paths:[{d:"M288 250.8399999999997s16.6-16.57 82.8-16.57c66.3 0 82.8 16.57 82.8 16.57v1.25c-0.1 98.43-16.8 131.29-82.8 131.29-66.2 0-82.8-33.11-82.8-132.54m-232 1.25v-1.25s16.6-16.57 82.8-16.57c66.3 0 82.9 16.57 82.9 16.57 0 99.43-16.6 132.54-82.9 132.54-65.9 0-82.7-32.86-82.8-131.29m165.7 2.32c0-1.95 14.8-3.57 33.1-3.57s33.2 1.62 33.2 3.57z m191.9-83.39c6.5 5.1 58.1 74.77 58.1 74.77z m-315.2 0l-58.1 74.77s51.6-69.67 58.1-74.77",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}}]},"star-outline":{viewBox:"0 0 512 512",paths:[{d:"M256 84.89999999999986l51 90.5c4.1 7.25 9.8 13.5 16.6 18.31s14.6 8.05 22.8 9.49l103.3 17.9-71 70.8c-6.2 6.17-10.8 13.7-13.6 21.97-2.8 8.28-3.6 17.08-2.4 25.73l14 98.6-97.4-44.7c-7.4-3.36-15.4-5.1-23.5-5.1s-16.1 1.74-23.5 5.1l-97.3 44.7 14-98.6c1.2-8.66 0.4-17.48-2.4-25.78-2.8-8.29-7.4-15.83-13.6-22.02l-71-70.8 103.4-17.9c8.2-1.41 16-4.63 22.8-9.44s12.4-11.09 16.5-18.36z m0-40.1c-4.3 0-8.5 1.14-12.2 3.3-3.7 2.17-6.8 5.27-8.9 9l-57.8 102.5c-1.8 3.09-4.2 5.78-7.1 7.87-2.9 2.07-6.3 3.48-9.8 4.13l-118.2 20.4c-4.4 0.76-8.5 2.71-11.8 5.64-2.5 2.18-4.5 4.87-5.9 7.87s-2.2 6.26-2.3 9.57 0.5 6.61 1.7 9.69 3.1 5.88 5.4 8.23l81.6 81.4c2.7 2.65 4.7 5.9 5.9 9.48s1.5 7.39 1 11.12l-16 112.7c-0.7 4.6 0 9.3 2 13.5a24.36 24.36 0 0 0 13.6 12.59c6 2.23 12.7 1.98 18.5-0.69l110.3-50.7c3.2-1.45 6.6-2.2 10.1-2.2s6.9 0.75 10.1 2.2l110.4 50.7c3.2 1.47 6.6 2.22 10.1 2.2 1.1 0 2.3-0.1 3.4-0.2 4.7-0.68 9.2-2.75 12.7-5.95 3.6-3.2 6.1-7.38 7.3-12.02 0.8-3.08 1-6.29 0.5-9.43l-16-112.7c-0.5-3.73-0.2-7.54 1-11.12s3.2-6.83 5.9-9.48l81.7-81.4c4.1-4.01 6.6-9.34 7.1-15.03 0.5-5.7-1-11.39-4.3-16.06-1.9-2.58-4.2-4.8-6.9-6.52-2.7-1.68-5.7-2.83-8.8-3.39l-118.2-20.4c-3.5-0.59-6.9-1.98-9.8-4.05-3-2.04-5.4-4.77-7.1-7.95l-57.8-102.5c-2.2-3.82-5.4-6.99-9.2-9.2-3.8-1.99-7.9-3.06-12.2-3.1",style:{fill:"currentcolor"}}]},star:{viewBox:"0 0 512 512",paths:[{d:"M234.89999999999964 57.19999999999982c3.2-5.59 8.4-9.7 14.6-11.43 6.2-1.72 12.8-0.92 18.4 2.23 3.8 2.21 7 5.38 9.2 9.2l57.8 102.5c1.8 3.09 4.2 5.78 7.1 7.87 2.9 2.07 6.3 3.48 9.8 4.13l118.2 20.4c4.4 0.73 8.5 2.68 11.8 5.62 2.5 2.2 4.5 4.87 6 7.86 1.4 3.01 2.2 6.27 2.3 9.59 0.1 3.33-0.5 6.64-1.7 9.73s-3.1 5.88-5.5 8.2l-81.7 81.4c-2.7 2.65-4.7 5.9-5.9 9.48s-1.5 7.39-1 11.12l16 112.7c0.9 6.35-0.8 12.79-4.6 17.93-3.8 5.13-9.6 8.54-15.9 9.47-4.6 0.7-9.3 0-13.5-2l-110.4-50.7a24.5 24.5 0 0 0-10.1-2.18c-3.5 0-6.9 0.74-10.1 2.18l-110.3 50.7c-2.9 1.33-6 2.08-9.2 2.2s-6.3-0.38-9.3-1.49c-3-1.12-5.7-2.8-8.1-4.95-2.3-2.17-4.2-4.77-5.5-7.66-1.9-4.23-2.6-8.9-2-13.5l16-112.7c0.5-3.73 0.2-7.54-1-11.12s-3.2-6.83-5.9-9.48l-81.6-81.4a22.8 22.8 0 0 1-5.3-7.83c-1.8-4.42-2.3-9.28-1.4-13.97 0.9-4.7 3.2-9.01 6.6-12.4 3.6-3.5 8.1-5.86 13-6.8l118.2-20.4c3.5-0.59 6.9-1.97 9.8-4.05 3-2.04 5.4-4.77 7.1-7.95z",style:{fill:"currentcolor"}}]},close:{viewBox:"0 0 512 512",paths:[{d:"M289.90000000000146 256l95-95c4.5-4.53 7-10.63 7.1-17 0-6.38-2.5-12.5-7-17.02s-10.6-7.07-17-7.08c-3.2-0.01-6.3 0.61-9.2 1.81s-5.6 2.96-7.8 5.19l-95 95-95-95c-3.4-3.33-7.6-5.6-12.3-6.51-4.6-0.91-9.4-0.42-13.8 1.4-4.4 1.79-8.1 4.86-10.8 8.81-2.6 3.94-4 8.58-4 13.33-0.1 3.15 0.5 6.28 1.7 9.19 1.2 2.92 3 5.57 5.2 7.78l95 95-95 95c-2.8 2.8-4.8 6.24-6 10.02-1.1 3.78-1.3 7.78-0.5 11.64 0.8 3.87 2.5 7.48 5 10.52 2.5 3.05 5.8 5.43 9.4 6.93 4.4 1.81 9.2 2.29 13.8 1.39 4.7-0.91 8.9-3.17 12.3-6.5l95-95 95 95c3.4 3.34 7.6 5.6 12.3 6.51 4.6 0.92 9.4 0.43 13.8-1.39 4.4-1.8 8.1-4.87 10.8-8.82 2.6-3.94 4-8.58 4-13.33 0.1-3.15-0.5-6.28-1.7-9.2-1.2-2.91-3-5.56-5.2-7.77z",style:{fill:"currentcolor"}}]},checkmark:{viewBox:"0 0 512 512",paths:[{d:"M416 128l-224 256-96-96",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"60",fill:"none"}}]},network:{viewBox:"0 0 512 512",paths:[{d:"M256 74.90000000000009c-103.9 0-188.2 84.22-188.2 188.2 0 103.9 84.2 188.2 188.2 188.2 49.9 0 97.8-19.83 133.1-55.12 35.3-35.3 55.1-83.17 55.1-133.08s-19.8-97.78-55.1-133.08a188.3 188.3 0 0 0-133.1-55.12m0 28.3c1.6 0 3.1 0.17 4.6 0.25a233.3 233.3 0 0 0-68.4 79.23c-4.8-1.15-9.8-1.07-14.6 0.23-4.7 1.3-9.1 3.78-12.6 7.21-3.6 3.42-6.2 7.68-7.7 12.39-1.4 4.71-1.7 9.72-0.7 14.55a276.8 276.8 0 0 0-60.1 39.62c1.7-41.21 19.2-80.18 48.9-108.78s69.4-44.62 110.6-44.7m54.1 87.85c-6.6 0.95-12.8 3.55-18.1 7.55-5.3 4.01-9.5 9.28-12.2 15.34-21.5-4.07-43.4-5.91-65.3-5.49-0.6-6.78-3.5-13.15-8.3-17.99-0.4-0.34-0.7-0.51-1.1-0.85 18.3-34.23 45.2-63.14 78-83.88 1.4 0.25 2.8 0.34 4.2 0.59 11.7 26.9 19.4 55.4 22.7 84.56z m-4.7-79.91c37.2 12.17 68.7 37.53 88.5 71.29-13.6 10.72-29.4 18.47-46.2 22.72-0.8-0.93-1.4-2.02-2.3-2.95-5.6-5.55-12.7-9.37-20.4-10.98 0-0.54-0.1-1.08-0.2-1.61-3.2-26.86-9.7-53.22-19.4-78.47m-15.9 149.85c-22 26.88-49.7 48.45-81.2 63.1-0.6-0.83-1.3-1.62-2-2.37-2.8-2.85-6.3-5.08-10-6.55-3.8-1.47-7.8-2.14-11.8-1.98-6-23.83-5.9-48.8 0.4-72.56 5.8 0.15 11.4-1.43 16.3-4.53s8.7-7.58 11-12.87c21.5-0.58 43 1.09 64.1 4.98-0.4 5.75 0.4 11.52 2.4 16.93 2 5.42 5.1 10.33 9.2 14.41 0.5 0.53 1 1.01 1.6 1.44m-126.4-30.75c0.5 0.66 1 1.28 1.6 1.86 1.8 1.77 3.8 3.28 6 4.48-7.2 26.45-7.3 54.32-0.3 80.83-2.1 1.22-4 2.67-5.7 4.31-5.1 5.14-8.1 12.01-8.5 19.26-14.6-0.34-29.1-2.7-43-7.01-9.1-18.17-14.7-37.93-16.3-58.2 19.8-18.3 42-33.64 66.2-45.53m-4.1 125.52h0.3c2.9 6.12 7.9 10.99 14.1 13.76a28.7 28.7 0 0 0 19.7 1.36c11.9 19.5 27.1 36.74 45 50.94-23.1-2.62-45.3-10.23-65.1-22.29-19.9-12.06-36.8-28.29-49.8-47.57 11.8 2.53 23.8 3.8 35.8 3.8m46.9 7.86c0.1-0.08 0.2-0.17 0.3-0.25 3.3-3.33 5.8-7.4 7.2-11.88 1.5-4.48 1.8-9.25 1-13.89 34.2-15.78 64.2-39.32 87.7-68.76 2.7 0.99 5.5 1.7 8.3 2.12-6.1 52.11-22 102.6-46.8 148.83-24.1-13.02-44-32.47-57.7-56.17m73.7 57.27c24.4-46.86 39.9-97.84 45.7-150.36 7.7-1.6 14.7-5.42 20.2-10.98 1-1.05 1.9-2.18 2.7-3.38a96 96 0 0 1 36.2 17.38c10.7 8.27 19.6 18.69 26 30.6-8.1 30.07-24.8 57.14-48 77.87-23.2 20.74-52 34.25-82.8 38.87m75.6-177.89c2.5-8.05 2.4-16.66-0.2-24.67 16.5-4.67 32-12.31 45.8-22.55 12.7 27 17.5 57.05 13.8 86.66-15.3-18.93-36-32.7-59.4-39.44",style:{fill:"currentcolor"}}]},about:{viewBox:"0 0 512 512",paths:[{d:"M251.3000000000011 83.90000000000009c-42.8 0-84 15.91-115.7 44.63s-51.5 68.2-55.7 110.75c-4.2 42.56 7.6 85.15 33.1 119.49 25.4 34.35 62.8 57.99 104.7 66.32 42 8.34 85.5 0.78 122.2-21.21s63.8-56.83 76.3-97.75c12.4-40.93 9.1-85-9.2-123.65a172.33 172.33 0 0 0-89.8-85.48c-20.9-8.65-43.3-13.1-65.9-13.1Z",style:{stroke:"currentcolor",strokeMiterlimit:"10",strokeWidth:"32",fill:"none"}},{d:"M225.20000000000073 229.80999999999995h29.9v102.06",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}},{d:"M218 335.7199999999998h77.1",style:{stroke:"currentcolor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"32",fill:"none"}},{d:"M251.3000000000011 145.5899999999997c-4.8 0-9.5 1.42-13.5 4.09-3 2-5.5 4.62-7.4 7.7-1.8 3.1-3 6.55-3.4 10.12-0.3 3.59 0.1 7.21 1.4 10.59 1.2 3.4 3.1 6.48 5.7 9 3.4 3.41 7.7 5.74 12.4 6.68 4.8 0.94 9.7 0.45 14.1-1.4 4.4-1.87 8.2-4.98 10.9-8.95 2.7-3.99 4.1-8.7 4.1-13.51 0-3.19-0.6-6.35-1.8-9.31-1.3-2.92-3.1-5.6-5.3-7.89-4.6-4.56-10.8-7.12-17.2-7.12",style:{fill:"currentcolor"}}]},list:{viewBox:"0 0 512 512",paths:[{d:"M100.69999999999891 107h74.5c2.44 0 4.86 0.48 7.12 1.41s4.31 2.3 6.04 4.03 3.1 3.78 4.03 6.04 1.41 4.68 1.41 7.12v74.5c0 2.44-0.48 4.86-1.41 7.12s-2.3 4.31-4.03 6.04-3.78 3.1-6.04 4.03-4.68 1.41-7.12 1.41h-74.5c-2.44 0-4.86-0.48-7.12-1.41s-4.31-2.3-6.04-4.03-3.1-3.78-4.03-6.04-1.41-4.68-1.41-7.12v-74.5c0.01-4.93 1.97-9.65 5.46-13.14s8.21-5.45 13.14-5.46",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"37.252",fill:"none"}},{d:"M100.69999999999891 293.2999999999997h74.5c2.44 0 4.86 0.48 7.12 1.41s4.31 2.3 6.04 4.03 3.1 3.78 4.03 6.04 1.41 4.68 1.41 7.12v74.5c0 2.44-0.48 4.86-1.41 7.12s-2.3 4.31-4.03 6.04-3.78 3.1-6.04 4.03-4.68 1.41-7.12 1.41h-74.5c-2.44 0-4.86-0.48-7.12-1.41s-4.31-2.3-6.04-4.03-3.1-3.78-4.03-6.04-1.41-4.68-1.41-7.12v-74.5c0-2.44 0.48-4.86 1.41-7.12s2.3-4.31 4.03-6.04 3.78-3.1 6.04-4.03 4.68-1.41 7.12-1.41",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"37.252",fill:"none"}},{d:"M286.89999999999964 144.29999999999973h149c4.93 0 9.66 1.96 13.15 5.45s5.45 8.22 5.45 13.15-1.96 9.66-5.45 13.15a18.6 18.6 0 0 1-13.15 5.45h-149c-4.93 0-9.66-1.96-13.15-5.45a18.6 18.6 0 0 1-5.45-13.15c0-4.93 1.96-9.66 5.45-13.15s8.22-5.45 13.15-5.45Z",style:{stroke:"currentcolor",strokeWidth:"37.252",fill:"none"}},{d:"M286.89999999999964 330.5h149c4.93 0 9.66 1.96 13.15 5.45s5.45 8.22 5.45 13.15-1.96 9.66-5.45 13.15a18.6 18.6 0 0 1-13.15 5.45h-149c-4.93 0-9.66-1.96-13.15-5.45a18.6 18.6 0 0 1-5.45-13.15c0-4.93 1.96-9.66 5.45-13.15s8.22-5.45 13.15-5.45Z",style:{stroke:"currentcolor",strokeWidth:"37.252",fill:"none"}}]},grid:{viewBox:"0 0 512 512",paths:[{d:"M125.59999999999854 107h74.5c2.44 0 4.86 0.48 7.12 1.41s4.31 2.3 6.04 4.03 3.1 3.78 4.03 6.04 1.41 4.68 1.41 7.12v74.5c0 2.44-0.48 4.86-1.41 7.12s-2.3 4.31-4.03 6.04-3.78 3.1-6.04 4.03-4.68 1.41-7.12 1.41h-74.5c-2.44 0-4.86-0.48-7.12-1.41s-4.31-2.3-6.04-4.03-3.1-3.78-4.03-6.04-1.41-4.68-1.41-7.12v-74.5a18.52 18.52 0 0 1 5.42-13.18 18.522 18.522 0 0 1 13.18-5.42",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"37.252",fill:"none"}},{d:"M311.7999999999993 107h74.5c2.44 0 4.86 0.48 7.12 1.41s4.31 2.3 6.04 4.03 3.1 3.78 4.03 6.04 1.41 4.68 1.41 7.12v74.5c0 2.44-0.48 4.86-1.41 7.12s-2.3 4.31-4.03 6.04-3.78 3.1-6.04 4.03-4.68 1.41-7.12 1.41h-74.5c-2.44 0-4.86-0.48-7.12-1.41s-4.31-2.3-6.04-4.03-3.1-3.78-4.03-6.04-1.41-4.68-1.41-7.12v-74.5c0.01-4.93 1.97-9.65 5.46-13.14s8.21-5.45 13.14-5.46",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"37.252",fill:"none"}},{d:"M125.59999999999854 293.2999999999997h74.5c2.44 0 4.86 0.48 7.12 1.41s4.31 2.3 6.04 4.03 3.1 3.78 4.03 6.04 1.41 4.68 1.41 7.12v74.5c0 2.44-0.48 4.86-1.41 7.12s-2.3 4.31-4.03 6.04-3.78 3.1-6.04 4.03-4.68 1.41-7.12 1.41h-74.5c-2.44 0-4.86-0.48-7.12-1.41s-4.31-2.3-6.04-4.03-3.1-3.78-4.03-6.04-1.41-4.68-1.41-7.12v-74.5a18.52 18.52 0 0 1 5.42-13.18 18.522 18.522 0 0 1 13.18-5.42",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"37.252",fill:"none"}},{d:"M311.7999999999993 293.2999999999997h74.5c2.44 0 4.86 0.48 7.12 1.41 2.26 0.94 4.31 2.3 6.04 4.03s3.1 3.78 4.03 6.04 1.41 4.68 1.41 7.12v74.5c0 2.44-0.48 4.86-1.41 7.12s-2.3 4.31-4.03 6.04-3.78 3.1-6.04 4.03-4.68 1.41-7.12 1.41h-74.5c-2.44 0-4.86-0.48-7.12-1.41s-4.31-2.3-6.04-4.03-3.1-3.78-4.03-6.04-1.41-4.68-1.41-7.12v-74.5c0.01-4.93 1.97-9.65 5.46-13.14 3.49-3.48 8.21-5.45 13.14-5.46",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"37.252",fill:"none"}}]},share:{viewBox:"0 0 512 512",paths:[{d:"M396 459.89999999999964c-18.1 0.12-35.6-6.92-48.5-19.6-13-12.68-20.4-29.97-20.7-48.1v-1.5l-138.3-45.6a78.16 78.16 0 0 1-27.5 21.83 78.1 78.1 0 0 1-34.3 7.57c-20.25 0.8-39.99-6.47-54.89-20.22a76.497 76.497 0 0 1-4.45-108.01 76.46 76.46 0 0 1 53.04-24.67q3.15-0.15 6.3 0c17.5 0.17 34.4 5.84 48.5 16.2l101.7-66.2c-6.3-12.85-9.8-26.89-10.3-41.2-0.9-19.1 3.9-38.03 13.9-54.36 10-16.32 24.6-29.29 42-37.23 17.4-7.93 36.8-10.48 55.6-7.3 18.9 3.17 36.3 11.93 50.2 25.13 13.8 13.2 23.4 30.24 27.4 48.92 4.1 18.69 2.5 38.16-4.6 55.91-7.1 17.76-19.4 32.97-35.3 43.69a95.6 95.6 0 0 1-53.6 16.44c-12.2 0.2-24.4-2.04-35.8-6.59-11.3-4.55-21.7-11.32-30.4-19.91l-100 64.7c5.7 10.87 8.7 22.93 8.8 35.2-0.3 6.45-1.3 12.85-2.9 19.1l132.3 42.6a70.4 70.4 0 0 1 33.3-29.66c14-6 29.6-7.27 44.4-3.6 14.8 3.66 28 12.06 37.6 23.91s15.1 26.51 15.6 41.75c-0.1 18.45-7.4 36.13-20.3 49.33s-30.4 20.9-48.8 21.47m0-104.4c-6.9 0.3-13.6 2.62-19.2 6.68-5.6 4.05-9.8 9.67-12.3 16.14-2.4 6.47-2.9 13.51-1.4 20.25 1.6 6.74 5.1 12.88 10 17.66 5 4.78 11.3 7.99 18.1 9.22s13.9 0.44 20.2-2.28c6.4-2.72 11.8-7.25 15.6-13.02s5.8-12.54 5.8-19.45c-0.2-9.54-4.2-18.59-11.1-25.19s-16.2-10.19-25.7-10.01m-270.6-102.9a45.6 45.6 0 0 0-17.53 3.05 45.7 45.7 0 0 0-15.04 9.53 45.8 45.8 0 0 0-10.24 14.55 45.61 45.61 0 0 0-0.84 34.9 45.7 45.7 0 0 0 9.53 15.04c4.13 4.33 9.08 7.81 14.55 10.24a45.6 45.6 0 0 0 17.37 3.89h2.2c5.99 0.14 12-0.89 17.5-3.05 5.6-2.16 10.7-5.4 15.1-9.53 4.3-4.13 7.8-9.08 10.2-14.55 2.4-5.48 3.8-11.38 3.9-17.37 0.2-5.99-0.9-11.95-3-17.53-2.2-5.59-5.4-10.7-9.6-15.04-4.1-4.33-9.1-7.81-14.5-10.24a45.9 45.9 0 0 0-17.4-3.89z m236.8-180.9c-8-0.26-16 1.06-23.6 3.89-7.5 2.83-14.4 7.12-20.3 12.62-5.8 5.49-10.6 12.09-13.9 19.42s-5.1 15.23-5.4 23.27v1.1c0.3 16.24 7 31.72 18.6 43.02 11.7 11.31 27.4 17.52 43.6 17.28h1.1c8.2 0.39 16.3-0.89 24-3.75 7.6-2.86 14.6-7.24 20.5-12.88 6-5.65 10.7-12.43 13.9-19.95 3.2-7.51 4.8-15.6 4.8-23.77 0-8.18-1.6-16.26-4.9-23.77-3.2-7.51-7.9-14.29-13.8-19.92s-13-10.01-20.6-12.85c-7.7-2.85-15.8-4.11-24-3.71",style:{fill:"currentcolor"}}]},warning:{viewBox:"0 0 512 512",paths:[{d:"M449.10000000000036 399.0999999999999l-170.5-316.5c-12-22.4-44.2-22.4-56.3 0l-170.4 316.5c-2.7 4.85-4 10.35-3.8 15.9 0.1 5.52 1.7 10.92 4.5 15.67s6.8 8.69 11.6 11.43c4.8 2.72 10.3 4.17 15.8 4.2h340.9c5.5 0.01 11-1.44 15.8-4.2s8.8-6.68 11.7-11.4c2.8-4.76 4.4-10.17 4.5-15.71 0.1-5.53-1.2-11-3.8-15.89m-198.6-1.9c-3 0.01-5.9-0.65-8.6-1.92s-5-3.13-6.9-5.43c-1.9-2.29-3.2-4.98-3.9-7.86s-0.8-5.88-0.2-8.79c0.7-3.88 2.6-7.44 5.4-10.2 2.8-2.81 6.4-4.72 10.3-5.5 3.9-0.76 7.9-0.36 11.5 1.15a19.9 19.9 0 0 1 9 7.35c2.2 3.28 3.4 7.14 3.4 11.1 0 2.65-0.5 5.28-1.6 7.7-1.5 3.66-4 6.79-7.3 9s-7.1 3.39-11.1 3.4m21.7-201.1l-5.7 122c0 4.24-1.7 8.31-4.7 11.31s-7.1 4.69-11.3 4.69-8.3-1.69-11.3-4.69-4.7-7.07-4.7-11.31l-5.8-121.9c-0.2-5.87 1.9-11.59 5.9-15.9 2.1-2.04 4.5-3.73 7.1-5 2.7-1.18 5.6-1.79 8.5-1.8h0.2c2.9 0 5.9 0.58 8.6 1.7 2.7 1.16 5.1 2.86 7.1 5 2.1 2.09 3.7 4.62 4.7 7.4 1 2.72 1.5 5.6 1.4 8.5",style:{fill:"currentcolor"}}]},"cloud-sync":{viewBox:"0 0 512 512",paths:[{d:"M472.6999999999989 189.5c-13.3-8.4-29.8-14.6-48.1-17.9-3-0.6-5.9-2.06-8.1-4.2-2.2-2.19-3.8-4.96-4.5-8-7.9-34.5-24.6-64.1-49.1-86.6-28.8-26.2-66.7-40.7-106.9-40.7-35.4 0-68 11.1-94.4 32-17.8 14.2-32.1 32.25-41.9 52.8-1.1 2.3-2.8 4.32-4.8 5.89-2 1.56-4.4 2.63-6.9 3.11-27.1 4.9-50.5 14.7-68.4 28.7-25.9 20.3-39.6 49.1-39.6 83.1 0 67.4 55.9 114.4 136 114.4h72v-83c0-12.73 5.1-24.94 14.1-33.94s21.2-14.06 33.9-14.06 24.9 5.06 33.9 14.06 14.1 21.21 14.1 33.94v83h92c72.6 0 116-34.2 116-91.6 0-30.2-13.6-54.7-39.3-71",style:{fill:"currentcolor"}},{d:"M256 253c-4.2 0.01-8.3 1.7-11.3 4.7s-4.7 7.06-4.7 11.3v156.4l-36.7-36.6c-1.5-1.44-3.3-2.59-5.2-3.38-1.9-0.78-4-1.16-6.1-1.12-4.2 0.03-8.2 1.71-11.2 4.68-1.5 1.47-2.6 3.22-3.4 5.15s-1.2 3.99-1.2 6.07c0 4.2 1.6 8.25 4.5 11.3l64 63.9c1.5 1.5 3.2 2.69 5.2 3.48 1.9 0.81 4 1.22 6.1 1.22s4.2-0.41 6.1-1.22c2-0.79 3.7-1.98 5.2-3.48l64-63.9c1.5-1.49 2.6-3.26 3.4-5.2 0.7-1.96 1.1-4.02 1.1-6.1 0-3.13-0.9-6.18-2.7-8.79-1.7-2.61-4.1-4.66-7-5.89-1.9-0.81-4-1.23-6.1-1.22-4.2-0.03-8.3 1.59-11.3 4.5l-36.7 36.6v-156.4c0-2.1-0.4-4.18-1.2-6.13s-2-3.71-3.5-5.19-3.3-2.66-5.2-3.47c-1.9-0.8-4-1.21-6.1-1.21",style:{fill:"currentcolor"}}]},hourglass:{viewBox:"0 0 512 512",paths:[{d:"M214.60000000000036 235.32999999999993c-31.8-58.12-54.8-118.18-16.4-184.81-4-2.97-7.6-6.29-11-9.92-0.7-1.21-1.5-2.41-2.1-3.69-2.5-4.67-0.6-11.01 4.4-12.54 10-3.03 23.7-1.25 33.4 0.17 73 11.87 143.2 36.67 207.5 73.24a99.7 99.7 0 0 1 19.7 15.56c7 7.18 4.8 12.76-5.3 14.59-5.9 0.83-11.8 1.31-17.9 1.56-10.7 76.05-65.9 109.28-125.6 134.84 6.8 16.1 13.9 31.45 20.1 47.1 16.7 36.58 19 78.14 6.3 116.31-0.2 0.98-6.8 19.54 3.2 26.69 10.5 11.65 1.2 28.63-7.8 27.44-0.4-0.02-0.8-0.01-1.2 0.02-16.4-0.26-32.9-1.68-49.1-4.22a636 636 0 0 1-182.8-65.68c-8.6-5.21-16.9-11.02-24.7-17.38-2.9-2.16-4.8-5.28-5.6-8.78-0.7-3.51-0.1-7.14 1.6-10.27 0.7-3.2 2.6-6 5.3-7.87s5.9-2.71 9.2-2.36c10.9 1.21 13.3-3.79 15.7-13.63 9.7-35.18 32.7-65.22 64.1-83.81 18.8-12.15 39.1-21.65 59-32.56m84.5 195.45c11.7-21.88 15.4-47.18 10.4-71.49-5.9-31.81-18.6-61.98-37.1-88.51-7.9-12.47-4.9-20.19 8.5-26.07 21.6-8.88 42.5-19.11 62.8-30.62 27-15.29 46.9-40.64 55.3-70.52 4.5-16.24 3.1-17.04-12.7-21.31-29.9-8.17-59.9-16.18-89.2-26.15-23.1-7.97-45.5-18.53-67.9-28.37-7.2-3.11-11.1-2.45-15.2 5.26-11.1 22.85-14.2 48.8-8.6 73.6 6.7 30.9 19.4 60.21 37.2 86.32 1.7 1.93 2.9 4.29 3.4 6.82s0.3 5.15-0.5 7.6c-0.9 2.44-2.4 4.6-4.4 6.26-2 1.65-4.4 2.75-6.9 3.18-7.9 2.89-16 5.82-23.7 9.19a175.14 175.14 0 0 0-83.8 65.27 67 67 0 0 0-12.6 37.63 88.4 88.4 0 0 0 22.9 0.79c20-4.64 58.4 0.14 84.9-13.48 7.7-2.34 15.8-2.3 23.5 0.11 7.6 2.4 14.4 7.06 19.3 13.37 13.1 14.46 13.8 26 24.2 42.58 6.3 9.36 0 14.61 10.2 18.54",style:{fill:"currentcolor"}},{d:"M335.10000000000036 167.03999999999996c-1.5 0.21-3 0.35-4.3 0.53-0.2 0.03-0.3 0.09-0.6 0.12-28.4 6.25-58.1 3.91-85.2-6.72-0.4-0.13-0.9-0.3-1.2-0.43-1.8-0.4-3.6-0.44-5.4-0.13-1.8 0.3-3.5 0.97-5 1.96s-2.6 2.4-3.3 4.05c-1.6 3.62-1.9 7.66-1 11.5 0.1 0.45 0.2 0.88 0.4 1.3 7.1 17.78 14.9 35.15 23.2 52 0.5 1.06 1.3 2 2.2 2.74 1.2 1.03 2.6 1.78 4.1 2.18 1.6 0.4 3.2 0.44 4.7 0.12 0.4-0.06 0.8-0.25 1.2-0.34 27.5-10.1 52.7-25.56 74.2-45.5 0.3-0.31 0.6-0.53 0.9-0.88 3.2-3.82 5.2-8.54 5.6-13.51 0-1.69-0.5-3.34-1.5-4.72-1-1.45-2.3-2.61-3.9-3.36s-3.3-1.07-5.1-0.91",style:{fill:"currentcolor"}},{d:"M266.2000000000007 325.75c-0.2 4.23-2 8.22-5.1 11.11s-7.2 4.46-11.4 4.35c-0.1-0.03-0.3 0.03-0.4-0.01-3.2-0.17-6.2-1.27-8.8-3.17-2.6-1.89-4.5-4.5-5.6-7.5-1.1-2.99-1.3-6.26-0.5-9.35 0.8-3.1 2.4-5.91 4.8-8.06 2.3-2.17 5.3-3.59 8.4-4.07 3.2-0.51 6.4-0.07 9.3 1.26s5.3 3.49 7 6.21c1.7 2.71 2.5 5.85 2.4 9.04 0 0.02-0.1 0.04-0.1 0.08z",style:{fill:"currentcolor"}},{d:"M261.7999999999993 278.64999999999986c-0.9 6.16-4 9.64-10.2 9.38-1.2 0.06-2.3-0.1-3.4-0.48a7.25 7.25 0 0 1-2.9-1.73c-0.9-0.75-1.6-1.68-2.1-2.73s-0.7-2.17-0.8-3.31c0-0.62 0-1.24 0.1-1.86-0.1-1.17 0.1-2.35 0.5-3.45 0.3-1.13 0.9-2.16 1.7-3.01 0.8-0.84 1.8-1.55 2.8-2.08 1.1-0.5 2.2-0.78 3.4-0.83 0.6-0.03 1.1-0.02 1.7 0.05 6.1 0.21 8.9 4.13 9.2 10.05",style:{fill:"currentcolor"}}]},pause:{viewBox:"0 0 512 512",paths:[{d:"M182.60000000000002 93h-18.4v330.5h18.4z",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"36.719",fill:"none"}},{d:"M347.79999999999995 93h-18.4v330.5h18.4z",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"36.719",fill:"none"}}]},next:{viewBox:"0 0 512 512",paths:[{d:"M120.90000000000009 119.19999999999982v278.5c0 16.7 15.2 27.4 27.8 19.4l222-142.4c2.12-1.56 3.91-3.52 5.27-5.77 1.36-2.26 2.26-4.76 2.65-7.36s0.26-5.25-0.38-7.8a19.9 19.9 0 0 0-3.34-7.07 18.6 18.6 0 0 0-4.2-4.2l-222-142.5c-12.6-8.2-27.8 2.5-27.8 19.2Z",style:{stroke:"currentcolor",strokeMiterlimit:"10",strokeWidth:"35.851",fill:"none"}},{d:"M391.0999999999999 90.30000000000018v337.9",style:{stroke:"currentcolor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"35.851",fill:"none"}}]},"skip-back":{viewBox:"0 0 512 512",paths:[{d:"M475.5999999999999 145.5v221c0 13.3-13 21.7-23.6 15.4l-188.9-113c-9.2-5.5-9.2-20.1 0-25.6l188.9-113c10.6-6.5 23.6 1.9 23.6 15.2Z",style:{stroke:"currentcolor",strokeMiterlimit:"10",strokeWidth:"35.851",fill:"none"}},{d:"M247 145.5v221c0 13.3-13 21.7-23.6 15.4l-188.9-113c-9.2-5.5-9.2-20.1 0-25.6l188.9-113c10.6-6.5 23.6 1.9 23.6 15.2Z",style:{stroke:"currentcolor",strokeMiterlimit:"10",strokeWidth:"35.851",fill:"none"}}]},"skip-forward":{viewBox:"0 0 512 512",paths:[{d:"M36.30000000000018 145.5v221c0 13.3 13 21.7 23.6 15.4l188.9-113c9.2-5.5 9.2-20.1 0-25.6l-188.9-113c-10.6-6.5-23.6 1.9-23.6 15.2Z",style:{stroke:"currentcolor",strokeMiterlimit:"10",strokeWidth:"35.851",fill:"none"}},{d:"M264.9000000000001 145.5v221c0 13.3 13 21.7 23.6 15.4l188.9-113c9.2-5.5 9.2-20.1 0-25.6l-188.9-113c-10.6-6.5-23.6 1.9-23.6 15.2Z",style:{stroke:"currentcolor",strokeMiterlimit:"10",strokeWidth:"35.851",fill:"none"}}]},"volume-off":{viewBox:"0 0 512 512",paths:[{d:"M236.9000000000001 187h-72.6c-1.09 0-2.17 0.21-3.18 0.63a8.3 8.3 0 0 0-4.49 4.49 8.3 8.3 0 0 0-0.63 3.18v116.8a8.27 8.27 0 0 0 2.43 5.87 8.274 8.274 0 0 0 5.87 2.43h72.6c3.87-0.02 7.63 1.32 10.6 3.8l95.4 78.1c1.8 1.3 4.03 1.84 6.22 1.5a8.42 8.42 0 0 0 5.48-3.3 8.03 8.03 0 0 0 1.6-5v-283.9a8.27 8.27 0 0 0-2.43-5.87 8.274 8.274 0 0 0-5.87-2.43c-1.76 0.01-3.47 0.57-4.9 1.6l-95.4 78.1c-2.95 2.6-6.76 4.03-10.7 4",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"31.897",fill:"none"}}]},"volume-low":{viewBox:"0 0 512 512",paths:[{d:"M186.9000000000001 188h-72.6c-1.09 0-2.17 0.21-3.18 0.63a8.3 8.3 0 0 0-4.49 4.49 8.3 8.3 0 0 0-0.63 3.18v116.8a8.27 8.27 0 0 0 2.43 5.87 8.274 8.274 0 0 0 5.87 2.43h72.6c3.87-0.02 7.63 1.32 10.6 3.8l95.4 78.1c1.8 1.3 4.03 1.84 6.22 1.5a8.42 8.42 0 0 0 5.48-3.3 8.03 8.03 0 0 0 1.6-5v-283.9a8.27 8.27 0 0 0-2.43-5.87 8.274 8.274 0 0 0-5.87-2.43c-1.76 0.01-3.47 0.57-4.9 1.6l-95.4 78.1c-2.95 2.6-6.76 4.03-10.7 4",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"31.897",fill:"none"}},{d:"M389.5 321.40000000000055a149 149 0 0 0 16.7-66.7c-0.08-23.26-5.81-46.15-16.7-66.7",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"31.897",fill:"none"}}]},"volume-medium":{viewBox:"0 0 512 512",paths:[{d:"M152.89999999999964 188h-72.6c-1.09 0-2.17 0.21-3.18 0.63a8.1 8.1 0 0 0-2.7 1.8c-0.77 0.77-1.38 1.68-1.79 2.69a8.3 8.3 0 0 0-0.63 3.18v116.8a8.27 8.27 0 0 0 2.43 5.87 8.274 8.274 0 0 0 5.87 2.43h72.6c3.87-0.02 7.63 1.32 10.6 3.8l95.4 78.1c1.8 1.3 4.03 1.84 6.22 1.5a8.42 8.42 0 0 0 5.48-3.3 8.03 8.03 0 0 0 1.6-5v-283.9a8.27 8.27 0 0 0-2.43-5.87 8.274 8.274 0 0 0-5.87-2.43c-1.76 0.01-3.47 0.57-4.9 1.6l-95.4 78.1a16.55 16.55 0 0 1-10.7 4",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"31.897",fill:"none"}},{d:"M355.60000000000036 321.40000000000055a149 149 0 0 0 16.7-66.7c-0.09-23.26-5.82-46.14-16.7-66.7",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"31.897",fill:"none"}},{d:"M405.60000000000036 371.5a213.6 213.6 0 0 0 33.4-116.8c0.71-41.39-10.92-82.05-33.4-116.8",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"31.897",fill:"none"}}]},"volume-high":{viewBox:"0 0 512 512",paths:[{d:"M121.89999999999964 188.90000000000055h-72.6c-1.09 0-2.17 0.21-3.18 0.63a8.1 8.1 0 0 0-2.7 1.8c-0.77 0.77-1.38 1.68-1.79 2.69a8.3 8.3 0 0 0-0.63 3.18v116.8c0 1.09 0.21 2.17 0.63 3.18a8.1 8.1 0 0 0 1.8 2.7c0.77 0.77 1.68 1.38 2.69 1.79 1.01 0.42 2.09 0.63 3.18 0.63h72.6c3.87-0.02 7.63 1.32 10.6 3.8l95.4 78.1c1.8 1.3 4.03 1.84 6.22 1.5a8.42 8.42 0 0 0 5.48-3.3 8.03 8.03 0 0 0 1.6-5v-283.9a8.27 8.27 0 0 0-2.43-5.87 8.274 8.274 0 0 0-5.87-2.43c-1.76 0.01-3.47 0.57-4.9 1.6l-95.4 78.1a16.55 16.55 0 0 1-10.7 4",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"31.897",fill:"none"}},{d:"M324.5 322.3000000000002a149 149 0 0 0 16.7-66.7c-0.08-23.26-5.81-46.15-16.7-66.7",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"31.897",fill:"none"}},{d:"M374.60000000000036 372.40000000000055a213.6 213.6 0 0 0 33.4-116.8c0.71-41.39-10.92-82.05-33.4-116.8",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"31.897",fill:"none"}},{d:"M421.6999999999998 415.60000000000036c69.4-88.2 61.4-242.3-1.3-321.3",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"31.897",fill:"none"}}]},"volume-mute":{viewBox:"0 0 512 512",paths:[{d:"M423.8000000000002 441.5L54.69999999999982 72.30000000000018",style:{stroke:"currentcolor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"33.557",fill:"none"}},{d:"M222.39999999999964 132v35.4c-0.01 1.12 0.42 2.2 1.2 3l25.2 25.2c0.48 0.49 1.08 0.85 1.74 1.04 0.66 0.2 1.36 0.23 2.03 0.1 0.68-0.13 1.31-0.43 1.84-0.87s0.94-1 1.2-1.64c0.21-0.52 0.31-1.07 0.29-1.63v-77.7c0.05-4.65-1.16-9.22-3.5-13.24a25.7 25.7 0 0 0-9.8-9.56 25.04 25.04 0 0 0-13.68-2.95c-4.74 0.34-9.3 2.02-13.12 4.85-0.2 0.2-0.5 0.3-0.7 0.5l-33.5 27.4c-0.43 0.35-0.79 0.78-1.05 1.26a4.2 4.2 0 0 0-0.49 1.57c-0.05 0.55 0 1.1 0.16 1.63s0.43 1.02 0.78 1.44l0.3 0.3 17.9 17.9c0.74 0.72 1.71 1.14 2.74 1.2 1.03 0.05 2.05-0.26 2.86-0.9z",style:{fill:"currentcolor"}},{d:"M222.39999999999964 381.8000000000002l-81.9-67a33.5 33.5 0 0 0-21.3-7.5h-64.6v-100.7h53.2c0.83-0.01 1.64-0.26 2.33-0.72 0.69-0.47 1.22-1.13 1.54-1.89a4.3 4.3 0 0 0 0.26-2.43c-0.15-0.82-0.55-1.57-1.13-2.16l-25.2-25.2a4.08 4.08 0 0 0-3-1.2h-36.4a25.25 25.25 0 0 0-17.81 7.39 25.25 25.25 0 0 0-7.39 17.81v117.4a25.25 25.25 0 0 0 7.39 17.81 25.25 25.25 0 0 0 17.81 7.39h73.2l95.8 78.4c0.21 0.2 0.44 0.37 0.7 0.5 3.87 2.87 8.48 4.56 13.29 4.88 4.8 0.32 9.6-0.75 13.81-3.08a25.74 25.74 0 0 0 13-22.6V346.3000000000002c0.01-1.12-0.42-2.2-1.2-3l-25.2-25.2a4.23 4.23 0 0 0-5.9 0c-0.39 0.39-0.7 0.86-0.91 1.38-0.21 0.51-0.31 1.07-0.29 1.62v60.7z",style:{fill:"currentcolor"}},{d:"M356.6999999999998 256.90000000000055c0-25.8-6.1-50.2-18.6-74.7-2.1-3.84-5.61-6.71-9.8-7.99-4.18-1.29-8.7-0.9-12.59 1.1-3.9 1.99-6.86 5.42-8.26 9.57-1.41 4.14-1.13 8.67 0.75 12.62 10.1 19.7 14.9 39.2 14.9 59.5 0 2.8-0.1 5.6-0.3 8.5-0.09 1.21 0.08 2.42 0.5 3.55a8.6 8.6 0 0 0 1.9 3.05l20.6 20.6a4.23 4.23 0 0 0 5.9 0c0.59-0.56 0.98-1.3 1.1-2.1 2.59-11.05 3.9-22.35 3.9-33.7",style:{fill:"currentcolor"}},{d:"M423.8000000000002 256.90000000000055c0-53.7-13.7-88-35.8-125.9a16.82 16.82 0 0 0-10.22-7.57 16.79 16.79 0 0 0-20.33 11.85c-1.16 4.25-0.6 8.78 1.55 12.62 19.8 34 31.3 62.7 31.3 109 0 25-3.5 45-9.8 63.6-0.5 1.49-0.58 3.1-0.23 4.63a8.5 8.5 0 0 0 2.23 4.07l17.6 17.6a4.23 4.23 0 0 0 5.9 0c0.39-0.37 0.69-0.81 0.9-1.3 10.7-25.8 16.9-53 16.9-88.6",style:{fill:"currentcolor"}},{d:"M490.89999999999964 256.90000000000055c0-77.9-21.2-127-53-176.8a16.77 16.77 0 0 0-10.53-7.11c-4.3-0.9-8.79-0.08-12.49 2.29s-6.33 6.1-7.32 10.38a16.8 16.8 0 0 0 2.04 12.54c28.7 44.9 47.7 89 47.7 158.8 0 49.8-9.3 86.1-24.7 118.5-0.37 0.79-0.49 1.66-0.35 2.52s0.54 1.66 1.15 2.28l18.7 18.7c0.58 0.59 1.32 1 2.13 1.16s1.66 0.08 2.42-0.24a4.372 4.372 0 0 0 2.15-2.02c22.5-44.3 32.1-87.5 32.1-141",style:{fill:"currentcolor"}}]},subtitles:{viewBox:"0 0 512 512",paths:[{d:"M482.5 216.69999999999982v-81.3c0-31.9-25.5-41-38.7-40.7h-377.2c-17.9 0-37.1 10.8-37.1 38.7v232.4c0 23.9 15.9 38.6 38.7 38.6h275l31 31c3.9 3.71 9.1 5.77 14.5 5.77s10.6-2.06 14.5-5.77l31-31h17.4c14.5 0 31-9 31-36.7z m-32.9 0v143.2c0 5.8 0 11.6-7.7 11.6h-19.4l-34.9 32.9-32.8-32.9h-282.8c-1.3 0.02-2.5-0.21-3.7-0.69s-2.3-1.19-3.2-2.1c-0.9-0.9-1.6-1.98-2.1-3.17s-0.7-2.46-0.7-3.74v-224.6c0-5.8 0-11.6 7.7-11.6h369.8c6.9 0 9.7 5.8 9.7 9.7v81.4z",style:{fill:"currentcolor"}},{d:"M192.10000000000036 249.60000000000036h-75.5q-3.45-0.015-6.6 1.29c-2.2 0.86-4.1 2.14-5.7 3.75s-2.9 3.52-3.8 5.62c-0.8 2.1-1.3 4.36-1.3 6.64v0.1c0 2.28 0.4 4.54 1.3 6.65s2.1 4.03 3.7 5.64c1.7 1.62 3.6 2.9 5.7 3.78s4.3 1.33 6.6 1.33h75.6c3.4 0.01 6.8-0.99 9.7-2.89 2.8-1.9 5.1-4.6 6.4-7.77 0.8-2.11 1.3-4.36 1.3-6.64v-0.1c0-2.29-0.4-4.55-1.3-6.67-0.9-2.11-2.2-4.03-3.8-5.65s-3.5-2.9-5.6-3.77-4.4-1.32-6.7-1.31",style:{fill:"currentcolor"}},{d:"M228.8000000000011 267.10000000000036c0 2.28 0.4 4.54 1.3 6.65s2.1 4.03 3.7 5.64c1.7 1.62 3.6 2.9 5.7 3.78s4.3 1.33 6.6 1.33h151.1c2.3 0.01 4.5-0.42 6.7-1.29 2.1-0.87 4-2.14 5.6-3.75s2.9-3.52 3.8-5.62c0.8-2.1 1.3-4.36 1.3-6.64v-0.1c0-2.28-0.4-4.54-1.3-6.65-0.8-2.11-2.1-4.03-3.7-5.64-1.6-1.62-3.6-2.9-5.7-3.78s-4.3-1.33-6.6-1.33H244.20000000000073c-4.3 0.42-8.3 2.44-11.1 5.67-2.9 3.23-4.4 7.42-4.3 11.73",style:{fill:"currentcolor"}},{d:"M321.8000000000011 340.60000000000036h75.5c2.3 0.01 4.5-0.43 6.7-1.29 2.1-0.87 4-2.14 5.6-3.75s2.9-3.52 3.8-5.62 1.3-4.36 1.3-6.64v-0.1c0-2.28-0.4-4.54-1.3-6.65s-2.1-4.03-3.7-5.64c-1.6-1.62-3.6-2.91-5.7-3.78-2.1-0.88-4.3-1.33-6.6-1.33h-75.6c-3.4-0.01-6.8 0.99-9.6 2.89-2.9 1.9-5.1 4.6-6.5 7.77-0.8 2.1-1.3 4.36-1.3 6.64v0.1c0 2.28 0.4 4.54 1.3 6.65s2.1 4.03 3.7 5.64c1.6 1.62 3.6 2.9 5.7 3.78s4.3 1.33 6.6 1.33z",style:{fill:"currentcolor"}},{d:"M116.5 340.60000000000036h153c2.3 0.01 4.5-0.42 6.7-1.29 2.1-0.86 4-2.14 5.6-3.75s2.9-3.52 3.8-5.62 1.3-4.36 1.3-6.64v-0.1c0-2.28-0.4-4.54-1.3-6.65s-2.1-4.03-3.7-5.64c-1.6-1.62-3.5-2.91-5.7-3.78-2.1-0.88-4.3-1.33-6.6-1.33h-153.1c-3.4-0.01-6.8 0.99-9.6 2.89-2.9 1.9-5.1 4.6-6.5 7.77-0.8 2.1-1.3 4.36-1.3 6.64v0.1c0 2.29 0.4 4.55 1.3 6.67 0.9 2.11 2.2 4.03 3.8 5.65s3.5 2.9 5.6 3.77c2.2 0.87 4.4 1.32 6.7 1.31",style:{fill:"currentcolor"}}]},"audio-tracks":{viewBox:"0 0 512 512",paths:[{d:"M57.4900000000016 223.5699999999997v75.87c-0.01 2.31 0.44 4.59 1.31 6.72 0.88 2.13 2.17 4.06 3.8 5.69 1.63 1.62 3.56 2.91 5.69 3.79s4.41 1.32 6.71 1.31c2.3 0.01 4.58-0.43 6.71-1.31s4.06-2.17 5.69-3.79c1.63-1.63 2.92-3.56 3.8-5.69 0.87-2.13 1.32-4.41 1.31-6.72v-75.87c0.01-2.3-0.44-4.58-1.31-6.71-0.88-2.13-2.17-4.06-3.8-5.69a17.3 17.3 0 0 0-5.69-3.79c-2.13-0.88-4.41-1.33-6.71-1.32-2.3-0.01-4.58 0.44-6.71 1.32-2.13 0.87-4.06 2.16-5.69 3.79a17.5 17.5 0 0 0-3.8 5.69c-0.87 2.13-1.32 4.41-1.31 6.71",style:{fill:"currentcolor"}},{d:"M454.5100000000002 223.5699999999997v75.88c0.01 2.3-0.44 4.58-1.32 6.71-0.87 2.13-2.16 4.06-3.79 5.69a17.5 17.5 0 0 1-5.69 3.79c-2.13 0.88-4.41 1.32-6.71 1.31-2.3 0.01-4.58-0.43-6.71-1.31s-4.07-2.16-5.69-3.79a17.5 17.5 0 0 1-3.8-5.69c-0.87-2.13-1.32-4.41-1.31-6.71v-75.88c-0.01-2.3 0.44-4.58 1.31-6.71 0.88-2.13 2.17-4.06 3.8-5.69 1.62-1.63 3.56-2.92 5.69-3.79 2.13-0.88 4.41-1.32 6.71-1.31 2.3-0.01 4.58 0.43 6.71 1.31 2.13 0.87 4.06 2.16 5.69 3.79s2.92 3.56 3.79 5.69c0.88 2.13 1.33 4.41 1.32 6.71",style:{fill:"currentcolor"}},{d:"M177.4900000000016 188.03999999999996v146.94c-0.01 2.3 0.44 4.58 1.31 6.71 0.88 2.13 2.17 4.06 3.8 5.69s3.56 2.92 5.69 3.79c2.13 0.88 4.41 1.33 6.71 1.32 2.3 0.01 4.58-0.44 6.71-1.32 2.13-0.87 4.06-2.16 5.69-3.79s2.92-3.56 3.8-5.69c0.87-2.13 1.32-4.41 1.31-6.71v-146.94c0.01-2.3-0.44-4.58-1.31-6.71-0.88-2.13-2.17-4.06-3.8-5.69a17.5 17.5 0 0 0-5.69-3.8c-2.13-0.87-4.41-1.32-6.71-1.31-2.3-0.01-4.58 0.44-6.71 1.31-2.13 0.88-4.06 2.17-5.69 3.8a17.5 17.5 0 0 0-3.8 5.69c-0.87 2.13-1.32 4.41-1.31 6.71",style:{fill:"currentcolor"}},{d:"M333.5100000000002 188.03999999999996v146.94c0.01 2.3-0.44 4.58-1.31 6.71-0.88 2.13-2.17 4.06-3.8 5.69a17.3 17.3 0 0 1-5.69 3.79c-2.13 0.88-4.41 1.33-6.71 1.32-2.3 0.01-4.58-0.44-6.71-1.32-2.13-0.87-4.07-2.16-5.69-3.79a17.5 17.5 0 0 1-3.8-5.69c-0.87-2.13-1.32-4.41-1.31-6.71v-146.94c-0.01-2.3 0.44-4.58 1.31-6.71 0.88-2.13 2.17-4.06 3.8-5.69 1.62-1.63 3.56-2.92 5.69-3.8 2.13-0.87 4.41-1.32 6.71-1.31 2.3-0.01 4.58 0.44 6.71 1.31 2.13 0.88 4.06 2.17 5.69 3.8s2.92 3.56 3.8 5.69c0.87 2.13 1.32 4.41 1.31 6.71",style:{fill:"currentcolor"}},{d:"M152.51000000000022 377.2600000000002v-242.52c0.01-2.3-0.44-4.58-1.31-6.71-0.88-2.13-2.17-4.07-3.8-5.69a17.5 17.5 0 0 0-5.69-3.8c-2.13-0.87-4.41-1.32-6.71-1.31-2.3-0.01-4.58 0.44-6.71 1.31-2.13 0.88-4.06 2.17-5.69 3.8a17.4 17.4 0 0 0-3.8 5.69c-0.87 2.13-1.32 4.41-1.31 6.71v242.52c-0.01 2.3 0.44 4.58 1.31 6.71 0.88 2.13 2.17 4.07 3.8 5.69 1.63 1.63 3.56 2.92 5.69 3.8 2.13 0.87 4.41 1.32 6.71 1.31 2.3 0.01 4.58-0.44 6.71-1.31 2.13-0.88 4.06-2.17 5.69-3.8 1.63-1.62 2.92-3.56 3.8-5.69 0.87-2.13 1.32-4.41 1.31-6.71",style:{fill:"currentcolor"}},{d:"M358.4900000000016 377.2600000000002v-242.52c-0.01-2.3 0.44-4.58 1.31-6.71 0.88-2.13 2.17-4.06 3.8-5.69 1.62-1.63 3.56-2.92 5.69-3.8 2.13-0.87 4.41-1.32 6.71-1.31 2.3-0.01 4.58 0.44 6.71 1.31 2.13 0.88 4.06 2.17 5.69 3.8s2.92 3.56 3.79 5.69c0.88 2.13 1.33 4.41 1.32 6.71v242.52c0.01 2.3-0.44 4.59-1.32 6.71-0.87 2.13-2.16 4.07-3.79 5.69a17.5 17.5 0 0 1-5.69 3.8c-2.13 0.87-4.41 1.32-6.71 1.31-2.3 0.01-4.58-0.44-6.71-1.31-2.13-0.88-4.07-2.17-5.69-3.8a17.38 17.38 0 0 1-5.11-12.4",style:{fill:"currentcolor"}},{d:"M273.5100000000002 430.5600000000004v-349.12c0.01-2.3-0.44-4.58-1.31-6.71-0.88-2.13-2.17-4.07-3.8-5.69a17.5 17.5 0 0 0-5.69-3.8c-2.13-0.87-4.41-1.32-6.71-1.31-2.3-0.01-4.58 0.44-6.71 1.31-2.13 0.88-4.06 2.17-5.69 3.8a17.4 17.4 0 0 0-3.8 5.69c-0.87 2.13-1.32 4.41-1.31 6.71v349.12c-0.01 2.3 0.44 4.58 1.31 6.71 0.88 2.13 2.17 4.07 3.8 5.69 1.63 1.63 3.56 2.92 5.69 3.8 2.13 0.87 4.41 1.32 6.71 1.31 2.3 0.01 4.58-0.44 6.71-1.31 2.13-0.88 4.06-2.17 5.69-3.8 1.63-1.62 2.92-3.56 3.8-5.69 0.87-2.13 1.32-4.41 1.31-6.71",style:{fill:"currentcolor"}}]},chapters:{viewBox:"0 0 512 512",paths:[{d:"M256 178.25c14.96-59.06 71.47-89.22 194.51-89.77 1.97-0.01 3.92 0.37 5.73 1.12 1.82 0.75 3.48 1.85 4.87 3.24s2.49 3.05 3.24 4.87c0.75 1.81 1.13 3.76 1.12 5.73v269.32a14.958 14.958 0 0 1-9.23 13.82c-1.82 0.75-3.77 1.14-5.73 1.14-119.7 0-165.94 24.14-194.51 59.85-28.4-35.53-74.81-59.85-194.5-59.85-9.24 0-14.97-7.53-14.97-16.76v-267.52c0-1.97 0.38-3.91 1.13-5.73 1.13-2.74 3.05-5.08 5.52-6.72 2.46-1.65 5.36-2.52 8.32-2.51 123.03 0.55 179.54 30.71 194.5 89.77",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"34",fill:"none"}},{d:"M256.3000000000002 165.89999999999964v282",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"34",fill:"none"}}]},"skip-15-forward":{viewBox:"0 0 512 512",paths:[{d:"M428.7999999999993 249.60000000000036c-3.95 0.01-7.74 1.58-10.53 4.37a14.95 14.95 0 0 0-4.37 10.53c0 87.1-70.8 157.9-157.9 157.9s-157.9-70.8-157.9-157.9c0-86.8 70.4-157.4 157.1-157.9l-27.1 26.8a13.3 13.3 0 0 0-2.94 4.35 13.37 13.37 0 0 0 0 10.3c0.68 1.63 1.68 3.11 2.94 4.35 2.61 2.5 6.08 3.9 9.7 3.9s7.09-1.4 9.7-3.9l51.9-51.2c1.26-1.24 2.26-2.72 2.94-4.35a13.37 13.37 0 0 0 0-10.3c-0.68-1.63-1.68-3.11-2.94-4.35l-51.9-51.2c-2.61-2.5-6.08-3.9-9.7-3.9s-7.09 1.4-9.7 3.9a13.3 13.3 0 0 0-2.94 4.35 13.37 13.37 0 0 0 0 10.3c0.68 1.63 1.68 3.11 2.94 4.35l27.2 26.9c-103.1 0.4-186.9 84.4-186.9 187.6 0 103.5 84.2 187.6 187.6 187.6s187.7-84.2 187.7-187.7c-0.01-3.94-1.59-7.71-4.38-10.49-2.8-2.77-6.58-4.32-10.52-4.31",style:{fill:"currentcolor"}},{d:"M195.20000000000073 252v69.9h25.5v-120.8h-21l-38.9 31 12.3 15.4 13.9-11.2c3.07-2.61 6.01-5.38 8.8-8.3l-0.4 12.6z",style:{fill:"currentcolor"}},{d:"M321.39999999999964 222.80000000000018v-21.6h-65.5l-4.5 61.6 10.2 5.5c2.82-0.82 5.7-1.45 8.6-1.9 3.2-0.58 6.45-0.88 9.7-0.9 16.1 0 24.2 6.1 24.2 18.3q0 19.2-23.4 19.2a73 73 0 0 1-31.6-7.9v22.1c8.3 4.4 19.1 6.5 32.6 6.5 15.5 0 27.4-3.6 35.7-10.9s12.5-17.7 12.5-31.2c0-11.4-3.5-20.4-10.4-26.9-6.9-6.6-16.2-9.8-27.9-9.8-4.2-0.08-8.39 0.32-12.5 1.2l-2.9 0.6 2.2-23.7h43z",style:{fill:"currentcolor"}}]},"skip-15-back":{viewBox:"0 0 512 512",paths:[{d:"M256.60000000000036 78.10000000000036l27-26.7c1.26-1.23 2.26-2.7 2.94-4.32a13.275 13.275 0 0 0 0-10.26c-0.68-1.62-1.68-3.09-2.94-4.32a13.76 13.76 0 0 0-19.2 0l-51.5 50.8c-1.26 1.23-2.26 2.7-2.94 4.32-0.68 1.63-1.03 3.37-1.03 5.13s0.35 3.5 1.03 5.13c0.68 1.62 1.68 3.09 2.94 4.32l51.5 50.8a13.76 13.76 0 0 0 19.2 0c1.26-1.23 2.26-2.7 2.94-4.32a13.275 13.275 0 0 0 0-10.26c-0.68-1.62-1.68-3.09-2.94-4.32l-26.9-26.6c86 0.4 155.9 70.5 155.9 156.6 0 86.4-70.3 156.7-156.7 156.7s-156.7-70.3-156.7-156.7c0-3.93-1.56-7.69-4.33-10.47a14.83 14.83 0 0 0-10.47-4.33c-3.93 0-7.69 1.56-10.47 4.33a14.83 14.83 0 0 0-4.33 10.47c0 102.7 83.5 186.2 186.2 186.2s186.2-83.5 186.2-186.2c0.2-102.3-83-185.6-185.4-186",style:{fill:"currentcolor"}},{d:"M187.5 236.30000000000018c1.6-1.3 4.6-4.1 8.8-8.3l-0.4 12.5-0.2 11.4v69.4h25.3v-119.9h-20.8l-38.6 30.7 12.2 15.2z",style:{fill:"currentcolor"}},{d:"M280.2999999999993 302.3000000000002c-5.51-0.03-10.98-0.77-16.3-2.2a65.6 65.6 0 0 1-15.1-5.6v21.9c8.2 4.3 19 6.5 32.3 6.5q23.1 0 35.4-10.8c8.3-7.2 12.4-17.5 12.4-30.9 0-11.3-3.4-20.2-10.3-26.7s-16.1-9.8-27.7-9.8c-4.16-0.05-8.31 0.32-12.4 1.1l-2.9 0.6 2.2-23.5h42.8v-21.5h-65l-4.5 61.1 10.1 5.4c2.78-0.83 5.62-1.43 8.5-1.8 3.17-0.57 6.38-0.87 9.6-0.9 16 0 24 6 24 18.1 0.1 12.7-7.6 19-23.1 19",style:{fill:"currentcolor"}}]},reset:{viewBox:"0 0 512 512",paths:[{d:"M114.39000000000033 169.4399999999996l18.89-21.97a171.2 171.2 0 0 1 56.63-39.34 171.25 171.25 0 0 1 67.55-13.81c94.79 0 171.69 76.9 171.69 171.69s-76.9 171.69-171.69 171.69c-35.51 0-70.14-11.01-99.14-31.5a171.84 171.84 0 0 1-62.77-82.95",style:{stroke:"currentcolor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"34",fill:"none"}},{d:"M57.159999999999854 124.21000000000004v98.88c0 1.88 0.37 3.74 1.09 5.47 0.72 1.74 1.77 3.32 3.1 4.64 1.33 1.33 2.91 2.39 4.65 3.1 1.73 0.72 3.59 1.09 5.47 1.09h98.88c2.83 0 5.6-0.83 7.95-2.4 2.36-1.58 4.19-3.81 5.28-6.43 1.08-2.61 1.36-5.49 0.81-8.26-0.55-2.78-1.92-5.33-3.92-7.33l-98.89-98.88c-2-2-4.55-3.37-7.33-3.92a14.36 14.36 0 0 0-8.27 0.81 14.26 14.26 0 0 0-6.42 5.27 14.3 14.3 0 0 0-2.4 7.96",style:{fill:"currentcolor"}}]},audio:{viewBox:"0 0 512 512",paths:[{d:"M153.5 190.20000000000027h-72.6c-1.1 0-2.2 0.21-3.2 0.63-1 0.43-1.9 1.03-2.7 1.79-0.8 0.77-1.4 1.69-1.8 2.7s-0.6 2.09-0.6 3.18v116.8c0 1.09 0.2 2.17 0.6 3.18s1 1.93 1.8 2.7c0.8 0.76 1.7 1.36 2.7 1.79 1 0.42 2.1 0.63 3.2 0.63h72.6c3.9-0.02 7.6 1.32 10.6 3.8l95.4 78.1c1.8 1.3 4 1.83 6.2 1.5 2.2-0.34 4.2-1.52 5.5-3.3 1.1-1.44 1.6-3.2 1.6-5v-283.9c0-1.09-0.2-2.17-0.6-3.18s-1-1.93-1.8-2.7c-0.8-0.76-1.7-1.36-2.7-1.79-1.3-0.55-2.8-0.74-4.2-0.57s-2.7 0.7-3.9 1.54l-95.4 78.1c-3 2.57-6.8 3.99-10.7 4",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"31.897",fill:"none"}},{d:"M356.10000000000036 323.7000000000003c10.7-20.63 16.4-43.47 16.7-66.7-0.1-23.26-5.8-46.15-16.7-66.7",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"31.897",fill:"none"}},{d:"M406.10000000000036 373.7000000000003c22.2-34.88 33.8-75.46 33.4-116.8 0.7-41.39-10.9-82.05-33.4-116.8",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"31.897",fill:"none"}}]},speed:{viewBox:"0 0 512 512",paths:[{d:"M312.90000000000146 231.2100000000005l-38.8 61.69c-1.6 2.2-3.6 4.14-5.8 5.75-2.6 1.9-5.6 3.25-8.8 3.95-3.2 0.72-6.4 0.82-9.6 0.29-6.4-1.08-12.2-4.67-16-9.99-1.9-2.63-3.2-5.61-3.9-8.77s-0.8-6.42-0.3-9.61 1.7-6.25 3.4-8.99 4-5.11 6.6-7l61.7-38.81a8.55 8.55 0 0 1 4.8-1.48c1.7 0 3.4 0.52 4.8 1.48 1.8 1.28 2.9 3.2 3.3 5.35 0.2 1.07 0.2 2.16-0.1 3.22-0.2 1.05-0.7 2.05-1.3 2.92",style:{fill:"currentcolor"}},{d:"M255.60000000000036 93.95000000000027c-101.1 0-183.1 81.88-183.1 182.95 0 44.76 16.3 87.99 46 121.51 0.9 0.98 1.7 1.97 2.6 2.87 3.7 4.02 8.9 6.39 14.4 6.61 5.4 0.21 10.8-1.75 14.8-5.46l1.2-1.23c25.4-27.63 60.8-44.03 98.3-45.6s74.1 11.82 101.7 37.23q4.35 4.065 8.4 8.37c3.7 4.02 8.8 6.41 14.3 6.66 5.4 0.25 10.8-1.68 14.8-5.35l1.2-1.23 2.7-2.87c67-75.64 60-191.41-15.7-258.44-33.5-29.7-76.8-46.07-121.6-46.02",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}},{d:"M249.5 151.7100000000005v15.67",style:{stroke:"currentcolor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"32",fill:"none"}},{d:"M390.5 276.99000000000024h-31.4",style:{stroke:"currentcolor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"32",fill:"none"}},{d:"M155.5 276.99000000000024h-31.3",style:{stroke:"currentcolor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"32",fill:"none"}},{d:"M181.60000000000036 203.07000000000016l-18.5-18.46",style:{stroke:"currentcolor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"32",fill:"none"}},{d:"M329.60000000000036 203.07000000000016l18.5-18.46",style:{stroke:"currentcolor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"32",fill:"none"}}]},episodes:{viewBox:"0 0 512 512",paths:[{d:"M499.60000000000036 161.79999999999973v-65.2c0.2-5.92-1.5-11.74-4.7-16.7-2.7-4.5-6.6-8.19-11.2-10.69-4.6-2.49-9.8-3.71-15.1-3.51q-53.7 0.15-107.4 0h-189.8q-3 0.075-6 0.6c-4.7 0.82-9.1 2.8-12.8 5.77-3.5 2.95-6.3 6.6-8.3 10.72-2 4.13-3 8.63-3.1 13.21v31.2h-31q-3 0.15-6 0.6c-4.7 0.82-9.1 2.8-12.8 5.77-5.1 4.08-8.8 9.76-10.3 16.13-0.7 2.5-1.1 5.1-1.1 7.7v30.9h-32.9q-3 0-6 0.6c-5.6 1.02-10.7 3.64-14.8 7.53-4.1 3.88-7 8.88-8.3 14.37-0.7 2.54-1.1 5.16-1.2 7.8v184.3c-0.1 5.55 1.4 11.02 4.2 15.82 2.8 4.79 6.8 8.75 11.7 11.43 4.6 2.46 9.8 3.65 15 3.45h0.1c36-0.1 72-0.1 108.1 0h143.3c15.2 0 30.4 0 45.6 0.1q3 0 6-0.6c4.7-0.82 9.1-2.8 12.8-5.77 3.7-2.96 6.7-6.78 8.6-11.13 0.7-1.63 1.2-3.3 1.7-5l0.1-0.4c0.6-2.43 0.9-4.91 1-7.4v-31c11 0 21.9 0 32.9 0.1q3 0 6-0.6c4.7-0.82 9.1-2.8 12.8-5.77 3.7-2.96 6.7-6.78 8.6-11.13 0.7-1.63 1.2-3.3 1.7-5l0.1-0.4c0.6-2.43 0.9-4.91 1-7.4v-31.3h31q3 0 6-0.6c4.7-0.82 9.1-2.8 12.8-5.77 3.7-2.96 6.7-6.78 8.6-11.13 0.7-1.63 1.2-3.3 1.7-5l0.1-0.4c0.6-2.43 0.9-4.91 1-7.4v-31.3z m-162.1 124.5V391.4000000000001c0.2 3.6 0.4 8-5 8.6h-270.4c-1 0.13-2 0.07-3-0.19-0.9-0.29-1.8-0.73-2.6-1.31-0.6-0.77-1.1-1.67-1.3-2.64-0.3-0.95-0.4-1.97-0.2-2.96l0.2-17.9v-144.2c0-3.7-0.4-8.4 5-9.1h270.5c1-0.15 2-0.09 3 0.17 0.9 0.26 1.8 0.71 2.6 1.33 0.6 0.77 1.1 1.67 1.3 2.64 0.3 0.95 0.4 1.97 0.2 2.96l-0.2 17.9v14z m63-61.2v105c0.1 3.6 0.3 8-5 8.6h-20.1v-119.6c0.1-8.02-2.9-15.76-8.5-21.53s-13.2-9.11-21.2-9.27h-1.2c-35.8 0.1-71.6 0.1-107.3 0h-118.9v-18.4c-0.1-4-0.4-8.4 5-9.1h270.4c1-0.15 2-0.09 3 0.17 0.9 0.26 1.8 0.71 2.6 1.33 0.6 0.77 1.1 1.67 1.3 2.64 0.3 0.95 0.4 1.97 0.2 2.96l-0.2 17.9v14z m61.2-61.5v105.1c0.1 3.6 0.4 8-5 8.6h-18.2v-119.4c0.1-8.03-2.9-15.77-8.5-21.56s-13.2-9.14-21.2-9.34h-1.3c-35.8 0.1-71.6 0.1-107.3 0h-120.8v-18.8c0-3.8-0.4-8.4 5-9.1h270.5c1-0.15 2-0.09 3 0.17 0.9 0.26 1.8 0.71 2.6 1.33 0.6 0.77 1.1 1.67 1.3 2.64 0.3 0.95 0.4 1.97 0.2 2.96l-0.2 17.9v14z",style:{fill:"currentcolor"}}]},cast:{viewBox:"0 0 512 512",paths:[{d:"M91.60000000000036 104c-26.3 0-43.5 24-43.5 48.1v51.5c5.3-0.4 10.6-0.7 16-0.7s10.7 0.2 16 0.7V152.0999999999999c0-11.3 7.4-16.1 11.5-16.1h328.9c4.2 0 11.5 4.8 11.5 16.1v207.7c0 11.3-7.4 16.1-11.5 16.1h-168.1c0.4 5.3 0.7 10.6 0.7 16s-0.2 10.7-0.7 16h168.1c26.3 0 43.5-24 43.5-48.1V152.0999999999999c0-24.2-17.3-48.1-43.5-48.1z",style:{fill:"currentcolor"}},{d:"M214.20000000000073 408c0.6-5.31 0.8-10.66 0.8-16 0-19.83-3.9-39.47-11.5-57.79s-18.7-34.97-32.72-48.99a150.989 150.989 0 0 0-106.78-44.22c-5.4 0-10.7 0.3-16 0.8v32.2c5.3-0.72 10.65-1.09 16-1.1 31.56 0 61.82 12.54 84.14 34.86a118.99 118.99 0 0 1 34.86 84.14c0 5.35-0.4 10.7-1.1 16z",style:{fill:"currentcolor"}},{d:"M158.70000000000073 408c0.89-5.29 1.32-10.64 1.3-16a96.04 96.04 0 0 0-28.13-67.87c-18-18-42.41-28.12-67.87-28.13-5.36-0.03-10.71 0.41-16 1.3v32.7c5.23-1.33 10.6-2 16-2a63.95 63.95 0 0 1 45.28 18.72 63.95 63.95 0 0 1 18.72 45.28c0 5.4-0.67 10.77-2 16z",style:{fill:"currentcolor"}},{d:"M101.80000000000109 408a40.5 40.5 0 0 0 3.2-16 41.03 41.03 0 0 0-12.02-28.98 41.03 41.03 0 0 0-28.98-12.02c-5.5-0.03-10.94 1.06-16 3.2v7.8c0.01 12.2 4.85 23.89 13.48 32.52a46.07 46.07 0 0 0 32.52 13.48z",style:{fill:"currentcolor"}}]},"cast-connected":{viewBox:"0 0 512 512",paths:[{d:"M91.60000000000036 104c-26.3 0-43.5 24-43.5 48.1v51.5c5.3-0.4 10.6-0.7 16-0.7s10.7 0.2 16 0.7V152.0999999999999c0-11.3 7.4-16.1 11.5-16.1h328.9c4.2 0 11.5 4.8 11.5 16.1v207.7c0 11.3-7.4 16.1-11.5 16.1h-168.1c0.4 5.3 0.7 10.6 0.7 16s-0.2 10.7-0.7 16h168.1c26.3 0 43.5-24 43.5-48.1V152.0999999999999c0-24.2-17.3-48.1-43.5-48.1z",style:{fill:"currentcolor"}},{d:"M214.20000000000073 408c0.6-5.31 0.8-10.66 0.8-16 0-19.83-3.9-39.47-11.5-57.79s-18.7-34.97-32.72-48.99a150.989 150.989 0 0 0-106.78-44.22c-5.4 0-10.7 0.3-16 0.8v32.2c5.3-0.72 10.65-1.09 16-1.1 31.56 0 61.82 12.54 84.14 34.86a118.99 118.99 0 0 1 34.86 84.14c0 5.35-0.4 10.7-1.1 16z",style:{fill:"currentcolor"}},{d:"M158.70000000000073 408c0.89-5.29 1.32-10.64 1.3-16a96.04 96.04 0 0 0-28.13-67.87c-18-18-42.41-28.12-67.87-28.13-5.36-0.03-10.71 0.41-16 1.3v32.7c5.23-1.33 10.6-2 16-2a63.95 63.95 0 0 1 45.28 18.72 63.95 63.95 0 0 1 18.72 45.28c0 5.4-0.67 10.77-2 16z",style:{fill:"currentcolor"}},{d:"M101.80000000000109 408a40.5 40.5 0 0 0 3.2-16 41.03 41.03 0 0 0-12.02-28.98 41.03 41.03 0 0 0-28.98-12.02c-5.5-0.03-10.94 1.06-16 3.2v7.8c0.01 12.2 4.85 23.89 13.48 32.52a46.07 46.07 0 0 0 32.52 13.48z",style:{fill:"currentcolor"}},{d:"M133 169c-1.71 0-3.4 0.33-4.98 0.98a12.9 12.9 0 0 0-4.22 2.82 12.9 12.9 0 0 0-2.82 4.22c-0.65 1.58-0.98 3.27-0.98 4.98v30.2c31.73 7.31 60.7 23.49 83.6 46.65s38.8 52.34 45.7 84.15h128.7c1.7 0 3.4-0.33 5-0.98s3-1.61 4.2-2.82c1.2-1.2 2.2-2.64 2.8-4.22 0.7-1.58 1-3.27 1-4.98v-148c0-1.71-0.3-3.4-1-4.98-0.6-1.58-1.6-3.01-2.8-4.22a12.5 12.5 0 0 0-4.2-2.82c-1.6-0.65-3.3-0.98-5-0.98z",style:{fill:"currentcolor"}}]},add:{viewBox:"0 0 512 512",paths:[{d:"M256 112v288",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"50",fill:"none"}},{d:"M400 256h-288",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"50",fill:"none"}}]},remove:{viewBox:"0 0 512 512",paths:[{d:"M400 256h-288",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"50",fill:"none"}}]},eye:{viewBox:"0 0 512 512",paths:[{d:"M256 320c14.8 0 29.2-5.13 40.6-14.52 11.5-9.4 19.3-22.47 22.2-36.99 2.9-14.53 0.7-29.61-6.3-42.67s-18.3-23.3-32-28.97a64.05 64.05 0 0 0-43.1-2.12c-14.1 4.29-26.4 13.37-34.6 25.69-8.2 12.31-11.9 27.1-10.5 41.84 1.5 14.74 8 28.52 18.5 38.99 5.9 5.95 12.9 10.66 20.7 13.88s16.1 4.87 24.5 4.87",style:{fill:"currentcolor"}},{d:"M490.8000000000011 238.5999999999999c-26.5-40.9-60.8-75.7-99.3-100.5-42.6-27.5-89.6-42.1-135.9-42.1-42.5 0-84.3 12.1-124.3 36.1-40.7 24.4-77.6 60.1-109.7 106.1a32.06 32.06 0 0 0-5.7 17.71c-0.1 6.34 1.7 12.56 5.1 17.89 26.4 41.3 60.4 76.1 98.3 100.7 42.7 27.6 88.5 41.6 136.3 41.6 46.7 0 93.8-14.4 136.2-41.7 38.5-24.8 72.7-59.7 99.1-100.9 3.3-5.23 5-11.29 5-17.46 0-6.18-1.8-12.23-5.1-17.44m-234.8 113.4c-14.2 0.02-28.2-3.12-41.1-9.18-12.8-6.07-24.2-14.9-33.2-25.88-9-10.97-15.5-23.81-18.9-37.59-3.5-13.77-3.8-28.15-1.1-42.08 2.8-13.93 8.6-27.08 17.1-38.49 8.4-11.4 19.3-20.79 31.9-27.49a95.6 95.6 0 0 1 40.5-11.21c14.2-0.69 28.4 1.77 41.5 7.22a97.3 97.3 0 0 1 43.1 35.4c9.6 14.46 15.2 31.25 16 48.6 0.8 17.36-3 34.61-11.2 49.93a96.24 96.24 0 0 1-35.3 37.08 95.94 95.94 0 0 1-49.3 13.69",style:{fill:"currentcolor"}}]},"eye-off":{viewBox:"0 0 512 512",paths:[{d:"M432 448c-2.1 0.01-4.2-0.4-6.1-1.2-2-0.79-3.7-1.98-5.2-3.5l-352-352c-2.9-3.03-4.4-7.04-4.4-11.2 0-2.07 0.4-4.12 1.2-6.03s2-3.63 3.5-5.07c3-2.91 6.9-4.59 11.1-4.7 2.1-0.05 4.1 0.32 6 1.07 2 0.76 3.7 1.89 5.2 3.33l352 352c2.2 2.23 3.8 5.07 4.4 8.17s0.3 6.31-0.9 9.23-3.3 5.42-5.9 7.2c-2.6 1.8-5.7 2.74-8.9 2.7",style:{fill:"currentcolor"}},{d:"M248 315.9000000000001l-51.8-51.8c-0.3-0.29-0.7-0.5-1.1-0.6-0.4-0.08-0.8-0.01-1.2 0.2-0.4 0.19-0.7 0.51-0.9 0.9-0.2 0.36-0.3 0.79-0.2 1.2 2.1 13.45 8.4 25.88 18 35.5s22.1 15.92 35.5 18c0.4 0.08 0.8 0.01 1.2-0.2 0.4-0.19 0.7-0.51 0.9-0.9 0.2-0.38 0.2-0.79 0.2-1.2-0.1-0.41-0.3-0.79-0.6-1.1",style:{fill:"currentcolor"}},{d:"M264 196.19999999999982l51.9 51.9c0.3 0.29 0.7 0.5 1.1 0.6 0.4 0.08 0.8 0.01 1.2-0.2 0.4-0.19 0.7-0.51 0.9-0.9 0.2-0.36 0.3-0.79 0.2-1.2a64.3 64.3 0 0 0-18-35.5c-9.6-9.62-22.1-15.93-35.5-18-0.4-0.08-0.8-0.01-1.2 0.2-0.4 0.19-0.7 0.51-0.9 0.9-0.2 0.36-0.3 0.79-0.2 1.2 0 0.19 0.1 0.38 0.1 0.55 0.1 0.16 0.3 0.31 0.4 0.45",style:{fill:"currentcolor"}},{d:"M491 273.4000000000001c3.3-5.19 5.1-11.24 5-17.4 0-6.17-1.8-12.2-5.1-17.4-26.5-40.9-60.8-75.7-99.3-100.5-42.6-27.5-89.6-42.1-136-42.1-24.4 0.01-48.7 3.99-71.8 11.8-0.6 0.23-1.2 0.61-1.7 1.1-0.5 0.48-0.8 1.12-0.9 1.8-0.2 0.66-0.2 1.34 0 2 0.1 0.66 0.5 1.25 1 1.7l47.2 47.2c0.5 0.52 1.1 0.87 1.8 1 0.7 0.2 1.3 0.2 2 0 16-3.92 32.8-3.64 48.6 0.8 15.9 4.44 30.4 12.9 42 24.56 11.7 11.65 20.2 26.12 24.6 42 4.4 15.87 4.7 32.63 0.8 48.64-0.2 0.65-0.2 1.35 0 2 0.2 0.67 0.5 1.29 1 1.8l67.9 68c0.7 0.7 1.7 1.13 2.7 1.2 1 0.06 2-0.26 2.8-0.9 26.3-22.18 49-48.24 67.4-77.3",style:{fill:"currentcolor"}},{d:"M256 352c-14.5 0.03-28.9-3.25-42-9.58-13-6.33-24.5-15.55-33.5-26.96-9-11.42-15.3-24.72-18.4-38.92s-2.9-28.92 0.5-43.04c0.2-0.65 0.2-1.35 0-2-0.2-0.68-0.5-1.3-1-1.8l-66.8-66.9c-0.7-0.69-1.7-1.12-2.7-1.2-1-0.06-2 0.26-2.8 0.9-24.4 20.8-47 46.03-67.7 75.7-3.6 5.2-5.6 11.36-5.7 17.7-0.1 6.33 1.7 12.55 5.1 17.9 26.4 41.3 60.4 76.1 98.3 100.7 42.7 27.6 88.5 41.6 136.3 41.6 24.7-0.09 49.1-4 72.6-11.6 0.7-0.21 1.2-0.59 1.7-1.1s0.8-1.13 1-1.8c0.2-0.65 0.2-1.35 0-2-0.2-0.68-0.5-1.3-1-1.8l-47.5-47.5c-0.5-0.49-1.1-0.84-1.8-1-0.7-0.2-1.3-0.2-2 0-7.4 1.8-15 2.7-22.6 2.7",style:{fill:"currentcolor"}}]},"local-import":{viewBox:"0 0 512 512",paths:[{d:"M83.60000000000036 202.5v-64.6a35.8 35.8 0 0 1 10.49-25.31 35.82 35.82 0 0 1 25.31-10.49h68.2a36.55 36.55 0 0 1 19.9 6l25 16.7a35.25 35.25 0 0 0 19.9 6h139.9a35.82 35.82 0 0 1 35.8 35.8v35.8",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}},{d:"M456.89999999999964 233.4l-14.6 148.4a35.85 35.85 0 0 1-10.49 25.309 35.82 35.82 0 0 1-25.31 10.491h-301a35.82 35.82 0 0 1-35.8-35.8l-14.6-148.4a28.755 28.755 0 0 1 26.3-30.9c0.8 0 1.5-0.2 2.3-0.2h344.6c7.61 0.03 14.9 3.08 20.26 8.48a28.74 28.74 0 0 1 8.34 20.32z",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}}]}},n=o.memo(o.forwardRef(((e,t)=>{const a=i[e.name];return a?o.createElement("svg",{ref:t,className:e.className,viewBox:a.viewBox},a.paths.map(((e,t)=>o.createElement("path",{key:t,d:e.d,style:e.style})))):null})))},65929:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"الأفلام","TYPE_series":"المسلسلات","TYPE_tv":"قنوات تلفاز","TYPE_channel":"القنوات","TYPE_other":"أخرى","TYPE_movie_PL":"أفلام","TYPE_series_PL":"مسلسلات","TYPE_tv_PL":"قنوات تلفاز","TYPE_channel_PL":"قنوات","TYPE_other_PL":"أخرى","TYPE_ALL":"الكل","TYPE":"نوع","CATALOG_com_linvo_cinemeta_top":"رائج","CATALOG_com_linvo_cinemeta_imdbRating":"مميز","CATALOG_com_linvo_cinemeta_year":"حديث","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"افلام عامة","VIDEO":"فيديو","BACK":"رجوع","MORE":"المزيد","DONE":"تم","COPY":"نسخ","SUCCESS":"نجح","ERROR":"خطاء","SETTINGS_CASTING_MODE_PICKER":"وضع البث","CASTING_MODE_HLSV2":"الافتراضي","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"لايوجد ترميز","Discover":"أكتشف","Board":"الرئيسية","Library":"المكتبة","My Library":"مكتبتي","Calendar":"التقويم","NOTIFICATION_ONLINE":"أنت الأن متصل بالأنترنيت","NOTIFICATION_OFFLINE":"أنت الأن غير متصل بالأنترنيت","INTERNET_CONNECTION":"جاري الأتصال بالشكبة","STORAGE_FULL_TITLE":"تحذير : مساحة التخزين ممتلئة !","STORAGE_FULL_TEXT":"لن يتمكن Stremio من حفظ الإعدادات أو التفضيلات أو معلومات تسجيل الدخول الخاصة بك. ضع في اعتبارك إعادة تشغيل Stremio أو إعادة تثبيته.","SEARCH":"البحث","SEARCH_NO_RESULTS":"لم يتم العثور على نتائح","SEARCH_EXPLANATION_CONTENT":"البحث عن الأفلام والمسلسلات وقنوات يوتيوب والتلفزيون","SEARCH_EXPLANATION_PEOPLE":"ابحث عن الممثلين والمخرجين والكتاب","SEARCH_PASTE_LINKS":"قم بلصق روابط HTTP و Magnet","SEARCH_OR_PASTE_LINK":"أبحث او ألصق رابط","SEARCH_SUGGESTIONS":"اقتراحات البحث","ADD_TO_LIB":"اضافة الى المكتبة","REMOVE_FROM_LIB":"ازالة من المكتبة","ADDED_TO_LIB":"تمت الاضافة الى المكتبة","REMOVED_FROM_LIB":"تمت الازالة من المكتبة","TRAILER":"الأعلان","WATCH_TRAILER":"مشاهدة الأعلان","WATCH_NOW":"مشاهدة الأن","SHOW":"عرض","SHOW_MOVIE":"شاهد الفيلم","WATCH_RANDOM":"مشاهدة عشوائية","IMDB_RATING":"تقييم IMDb","YEAR":"السنة","DIRECTOR":"المخرج","WRITER":"الكاتب","LEAD_ACTORS":"أبرز الممثلين","CAST":"طاقم العمل","CREW":"الفريق","SHOW_MORE_CAST":"عرض المزيد «","AIRED":"تم عرضه","SEASONS":"المواسم","GENRE":"تصنيف","GENRE_ALL":"جميع التصنيفات","CATALOG":"فهرس","SUMMARY":"ملخص","SHOW_MORE":"عرض المزيد","SIMILAR":"مشابه","UPCOMING":"قريبا","ENDED":"تم الانتهاء","DURATION":"مدة العرض","FEATURED":"متميز","METADATA":"البيانات الوصفية","CATEGORY":"الفئة","LINKS_GENRES":"التصنيف","LINKS_CAST":"الطاقم","LINKS_DIRECTORS":"المخرجون","SEARCH_VIDEOS":"البحث عن فيديوهات","SEARCH_PLACEHOLDER":"ابحث أو الصق رابط","ADDON":"أضافة","ADDONS":"أضافات","OFFICIAL":"رسمية","ADDONS_OFFICIAL":"إضافات Stremio الرسمية","ADDONS_POPULAR":"شائع في منطقتك","ADDON_FREE":"مجاني","ADDON_PEERED":"مشاهد","ADDON_SUBSCRIPTION":"أشتراك","ADDON_STREAM_GEORESTRICTED":"غير متاح في منطقتك","ADDON_STREAM_OFFLINECACHE":"ذاكرة التخزين المؤقت غير متصلة","ADDON_STREAM_LOCALFILE":"ملف محلي","SHARE_ADDON":"مشاركة الأضافة","AVAILABLE_STREAMS":"العروض \'الفيديوهات\' المتاحة","NO_STREAM":"لم يتم العثور على عروض او فيديوهات","ALL_ADDONS":"الكل","INSTALL_MORE_ADDONS":"لمزيد من العروض والفيديوهات ، يرجى تثبيت المزيد من الإضافات","STREAM_NOT_SUPPORTED":"العرض المحدد غير مدعوم على هذا النظام الأساسي.","ADDON_CATALOGUE":"عرض جميع الأضافات »","ADDON_CATALOGUE_MORE":"تثبيت أضافات","REPO_ADDED":"تمت إضافة المستودع","ADDON_REPO_EXIST_ERR":"هذه الأضافة موجودة بالفعل","ADDON_REPO_ERR":"حدث خطا اثناء اضافة المجموعة","ADDON_ADD_ERR":"حدث خطأ أثناء إضافة الاضافة","ERR_ADDON_PROTECTED":"لا يمكن إلغاء تثبيت الاضافة ، فهي محمية","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"حدث خطأ - ربما فشلت المصادقة","ERR_NOT_COLLECTION_URL":"رابط غير صالح","ERR_NOT_ADDON_URL":"ليس رابط لأضافة صالحة","ERR_DETECTFROMURL":"لم يتم العثور على أضافة / مجموعة في هذا الرابط","ADDON_DUPLICATE_WARNING":"تحذير : أضافة مكررة","ADDON_COLLECTION_SET_FAILED":"فشلت مزامنة الإضافات المثبتة إلى حسابك","SETTINGS_DATA_EXPORT":"تصدير بيانات المستخدم","ADDON_PULL_FAILED":"فشلت مزامنة الإضافات المثبتة إلى حسابك","REFRESH_ON_CLICK":" إضغط لإعادة تحميل","STILL_IN_THEATER":"متواجد في دور العرض","WATCH_IN_CINEMA":"شاهده في دار العرض القريبة منك","IN_THEATER":"حاليا في دور العرض","GET_TICKETS":"أحصل على تذاكر","UPCOMING_EPISODE":"الحلقة القادمة","UPCOMING_EPISODE_MESSAGE":"سيتم عرض هذه الحلقة في","MISSING_DATE_EPISODE":"تاريخ الحلقة غير متوفرة","MISSING_DATE_EPISODE_MESSAGE":"هذه الحلقة غالبا لم تعرض بعد","CHANNEL_NOT_SCRAPED":"لم يتم مراجعة هذه القناة بعد. <br> يرجى العودة بعد بضع دقائق.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"قم بإضافته إلى مكتبتك ليتم إعلامك بمجرد توفره.","GET_NOTIFIED_WHEN_AVAILABLE":"سيتم إخطارك بمجرد توفرها.","WARNING_STREAMING_SERVER":"تحذير: خادم البث المحلي غير موجود. البث من الملفات المحلية ، لن يكون YouTube و BitTorrent متاحين.","WARNING_STREAMING_SERVER_DISMISS":"تجاهل","WARNING_STREAMING_SERVER_LATER":"فيما بعد","DECODER_WARNING":"تحذير: قد لا يدعم جهازك هذا الفيديو. ضع في اعتبارك أن التشغيل قد يكون بطيئًا.","GENERIC_ERROR_MESSAGE":"حدث خطاء!","TRY_AGAIN":"حاول مره أخرى","CLEAR_DATA":"حذف البيانات","PLAYER_ERROR":"خطأ في المشغل","PLAYER_ERROR_LOOKSLIKE":"يبدو أنه","PLAYER_ORIENTATION":"اتجاه المشغل","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"مقفل","PLAYER_ORIENTATION_SENSOR_SHORT":"المستشعر","PLAYER_ORIENTATION_LANDSCAPE":"اتجاه المشغل مقفل في الوضع الأفقي","PLAYER_ORIENTATION_SENSOR":"توجيه المشغل تلقائيًا (مستشعر)","PLAYER_PLAYBACK_SPEED":"سرعة التشغيل","PLAYER_PLAYBACK_ERROR":"خطأ في التشغيل، يرجى المحاولة مرة أخرى","PLAYER_PLAYBACK_ERROR_UNKNOWN":"خطأ غير معروف","PLAYER_PLAYBACK_ERROR_DEFAULT":"آسف، لا يمكن تشغيل هذا الفيديو بإستخدام {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"لغات الترجمة","PLAYER_SUBTITLES_VARIANTS":"انواع الترجمة","PLAYER_SUBTITLES_SETTINGS":"إعدادات الترجمة","PLAYER_SUBTITLES_DISABLED":"الترجمة معطلة","PLAYER_SUBTITLES_VERTICAL_POSIITON":"الاتجاه العمودي","PLAYER_SUBTITLES_LOADED":"تم تفعيل الترجمة","PLAYER_SUBTITLES_LOADED_EMBEDDED":"تم تفعيل الترجمة المضمنة","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"تم تفعيل الترجمة المميزة","PLAYER_SUBTITLES_LOADED_ORIGIN":"الترجمة من {{origin}} مفعلة","PLAYER_PLAY":"تشغيل","PLAYER_PAUSE":"ايقاف","PLAYER_NEXT_VIDEO":"الفيديو التالي","PLAYER_MUTE":"كتم","PLAYER_UNMUTE":"إلغاء الكتم","PLAYER_OPEN_IN_EXTERNAL":"الفتح في مشغل خارجي","PLAYER_OPEN_IN_NPLAYER":"فتح في nPlayer","PLAYER_PLAY_IN":"تشغيل في {{device}}","PLAYER_LIVE":"مباشر","PLAYER_NEXT_VIDEO_TITLE":"الفيديو التالي","PLAYER_NEXT_VIDEO_TITLE_SHORT":"التالي","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"إغلاق","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"شاهد الان","PLAYER_COPY_STREAM_SUCCESS":"تم نسخ رابط البث ","PLAYER_COPY_STREAM_ERROR":"فشل في نسخ رابط البث","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"تم نسخ رابط التنزيل ","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"فشل نسخ رابط التنزيل","STREAMING_FROM":"يتم البث من","CASTING_TO":"ارسال البث ل","NETWORK_STATUS":"حالة الشبكة","STREAM_SPEED":"سرعة البث : ","STREAM_BUFFERED":"مخزن:","PEERS_INFO":"معلومات الأقران (Peers)","PEERS_ACTIVE":"فعال :","PEERS_CONNECTED":"متصل :","PEERS_WAITING":"في الأنتطار:","TRANSCODING_WARNING":"تحذير: تحويل ترميز الفيديو.","STREAM_LOADING":"جاري التحميل...","PLAYING_LOCAL":"يتم التشغيل من ملف محلي","PLAYING_CACHE":"يتم التشغيل من ملفات التخزين السابقة (Cache)","WRONG_SUBS":"ترجمة خاطئة ؟","ERR_SUBS_LOADING_TITLE":"حدث خطأ أثناء تحميل الترجمة","ERR_SUBS_LOADING":"فشل تحميل الترجمة: قد يكون هذا مشكلة في الملحق الذي تستخدمه أو في اتصال الشبكة","WARN_FOLLOWING_SUB_ADDONS_FAILED":"فشل في تحميل الترجمة من الإضافات التالية","ERR_CASTING_UPDATE_TITLE":"تعذر تحديث معلومات جهاز الإرسال: قد يكون خادم البث غير متصل بالإنترنت","CHOOSE_DEVICE":"اختر جهازًا للمشاهدة عليه","NO_CAST_DEVICES":"لا يوجد أجهزة عرض متاحة.","NO_SETTINGS":"لا يوجد إعدادات متاحة.","PHONE_TABLET":"هاتف / جهاز لوحي","SUBTITLES":"الترجمات","SUBTITLES_CHANGE":"قم بتغيير ترجمات ل ","SUBTITLES_CHANGE_NONE":"لا توجد ترجمات أخرى لهذه اللغة ، معذرة.","SUBTITLES_CHANGE_ACIVE":"الترجمات الحالية &#35;{{subtitlesDialog.activeIdx + 1}} فعالة. انقر \\"متابعة\\" لتفعيل الترجمات &#35;{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"بدلا من ذلك,","SUBTITLES_ADJUST_DELAY":"ضبط تأخير الترجمة:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"أو استخدم مفاتيح <span>G</span> / <span>H</span> أثناء التشغيل للضبط.","SUBTITLES_ADJUST_DELAY_TIP":"نصيحة: يمكنك استخدام مفاتيح <span>G</span> / <span>H</span> أثناء التشغيل للضبط.","SUBTITLES_DELAY":"تأخير الترجمة:","SUBTITLES_LOADING":"جارٍ تحميل الترجمات ...","SUBTITLES_UNAVAILABLE":"لا توجد ترجمات متاحة.","SUBTITLES_DISABLED":"معطل","EXTERNAL_PLAYER_DISABLED":"معطل","EXTERNAL_PLAYER_ALLOW_CHOOSING":"السماح بألاختيار","EXTERNAL_PLAYER_HINT":"تلميح: هناك إعداد للسماح بالفتح دائما مع مشغل خارجي","DONT_SHOW_AGAIN":"لا تظهر مرة أخرى","SERVICE_INSTALL":"تنزيل","AUDIO":"Audio","DEFAULT_LANGUAGE":"اللغة الإفتراضية","DEFAULT_SECONDARY_LANGUAGE":"اللغة الثانوية الافتراضية","SEASON":"موسم","EPISODE":"حلقة","EPISODE_ABBREVIATION":"ح","SPECIAL":"حلقات خاصة","SORT":"ترتيب","SORT_BY":"ترتيب حسب","FILTER":"تصفية","SORT_TRENDING":"الشائع","SORT_RECENT":"مؤخرا","SORT_ALPHABET":"من a الى z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"التقييم","SORT_WATCHED":"تمت المشاهدة","SORT_YEAR":"عام","SELECT_TYPE":"اختر صنف","SELECT_SORT":"حدد الترتيب","SELECT_CATALOG":"حدد الكتالوج","SELECT_GENRE":"اختر النوع","SORT_LASTWATCHED":"حسب آخر مشاهدة","SORT_NAME":"بالاسم","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"حسب مرات المشاهدة","SORT_NOTWATCHED":"لم تشاهده","New for You":"جديد من أجلك","New Episodes":"حلقات جديدة","New Videos":"فيديوهات جديدة","Recommendations":"المقترحة","LIBRARY_RESUME":"تابع","LIBRARY_PLAY":"تشغيل","LIBRARY_DETAILS":"التفاصيل","LIBRARY_RESUME_DISMISS":"انهاء","LIBRARY_CLEAR_PROGRESS":"مسح التقدم","LIBRARY_REMOVE":"حذف","LIBRARY_NOT_LOGGED_IN":"Library is only available for logged in users","CALENDAR_NOT_LOGGED_IN":"Calendar is only available for logged in users","NOT_LOGGED_IN_CLOUD":"Access your favorite movies and TV shows anytime, anywhere","NOT_LOGGED_IN_RECOMMENDATIONS":"Recommendations tailored to your viewing history","NOT_LOGGED_IN_NOTIFICATIONS":"Never miss an episode again","NOT_LOGGED_IN_CALENDAR":"Schedule your personal watching calendar","DISCOVER_FEATURED":"متميز","DISCOVER_TOP":"الأعلى","DISCOVER_OSCAR":"حاصلة على جائزة الأوسكار","DISCOVER_WARNING_TITLE":"عذرا !","DISCOVER_EMPTY_CATALOG":"هذه الاضافة لاتحتوي على محتوى","DISCOVER_ADULT_WARNING":"هذا المحتوى مخصص للبالغين عمرك اكبر من 18 ؟","DISCOVER_NOADDON_WARNING":"تحذير: لا يوجد ملحق Stremio نشط لهذا النوع. إظهار العناصر المحفوظة ، لن يتم تحديث أي شيء هنا.","DISCOVER_LOAD_ERR":"لم يتم تحميل المحتوى ، حدث خطأ.","DISCOVER_ADDON_UNINSTALLED":"لم يعد هذا المحتوى متاحًا ، ربما تكون قد قمت بإلغاء تثبيت الأضافة.","UNINSTALL_THIS_ADDON":"الغاء تثبيت الأضافة","ERR_ADDON_NOT_INSTALLED":"هذه الاضافه غير مثبته، هل تريد تثبيتها الان؟","DETAIL_RECEIVE_NOTIF_SERIES":"تلقي أشعار في حال وجود حلقات جديدة","DETAIL_RECEIVE_NOTIF_VIDEOS":"تلقي أشعار في حال وجود فيديوهات جديدة","SIDEBAR_SHOW_STREAMS":"إظهار العروض","RELAUNCH":"إعادة التشغيل الأن!","UPGRADE":"نسخة جديدة متاحة! قم بالترقية إلى أحدث إصدار من Stremio","RELOAD_UI":"إعادة تحميل الواجهة الأساسية","MANUAL_UPDATE_TITLE":"تحديث نسخة جديدة من Stremio","MANUAL_UPDATE_LINE1":".أنت تستخدم نسخه قديم من Stremio و هو غير موصى به ","MANUAL_UPDATE_LINE2":"يرجى تحديث البرنامج في اقرب وقت ممكن.","BUTTON_UPDATE_LATTER":"ليس الأن","BUTTON_UPDATE_NOW":"تحديث الأن","ANONYMOUS_USER":"مستخدم مجهول","DONT_HAVE_ACC":"ليس لديك حساب؟","HAVE_ACC":"هل لديك حساب؟","PASSWORD":"كلمة السر","PASSWORD_CONFIRM":"تأكيد كلمة السر","EMAIL":"البريد الألكتروني","FB_LOGIN":"متابعة بأستخدام حساب فيسبوك","FB_NOTHINGSHARED":"لن يتم مشاركة أي شي بدون موافقتك","FB_NOPOST":"لن نقوم بنشر أي شي بالنيابة عنك","OR":"أو","I_ACCEPT":"أنا أقبل","I_ACCEPT_BY_CLICKING":"بالنقر فوق الزر أعلاه ، أشهد بأنني أقبل ","TOS":"الأحكام والشروط","MUST_ACCEPT_TERMS":"يجب عليك قبول الشروط","PASSWORDS_NOMATCH":"كلمات السر غير متطابقة","SIGN_UP":"أنشاء حساب","SIGN_UP_EMAIL":"أنشاء حساب بأستخدام البريد الألكتروني","CLICK_TO_SIGN_UP":"أنقر هنا لأنشاء حساب","LOG_IN":"تسجيل الدخول","LOG_OUT":"تسجيل الخروج","EXIT_FULLSCREEN":"خروج من وضع ملء الشاشة","ENTER_FULLSCREEN":"تشغيل وضع ملء الشاشة","PLAY_URL_MAGNET_LINK":" تشغيل رابط ال URL/Magnet","HELP_FEEDBACK":"المساعدة و ملاحظة","TERMS_OF_SERVICE":"الأحكام والشروط","PRIVACY_POLICY":"سياسة الخصوصية","ABOUT_STREMIO":"عن Stremio","USER_PANEL":"لوحة التحكم","LOGIN_LABEL":"تسجيل الدخول","GUEST_LOGIN":"تسجيل الدخول كزائر","GUEST_LOGIN_NOTICE":"لا يوصى بتسجيل دخول كزائر. يسمح استخدام تسجيل الدخول المنتظم لـ Stremio بمزامنة مكتبتك ، وتلقي إعلامات للمسلسلات / القنوات المفضلة. هل انت متأكد انك تريد المتابعة؟","GUEST_LOGIN_NOTICE_2":"لا يوصى بتسجيل دخول كزائر. يسمح استخدام تسجيل الدخول المنتظم لـ Stremio بمزامنة مكتبتك ، وتلقي إعلامات للمسلسلات / القنوات المفضلة. هل انت متأكد انك تريد المتابعة؟","CLICK_HERE":"أنقر هنا","WRONG_PASSWORD":"بريد إلكتروني أو كلمة السر خاطئة. في حالة نسيان كلمة السر الخاصة بك ، ","SET_A_PASS":"وضع كلمة سر","RESET_PASSWORD":"أستعادة كلمة السر","FORGOT_PASSWORD":"نسيت كلمة السر ؟","EMAIL_USED_WITH_FB":"تم استخدام هذا البريد الإلكتروني مع تسجيل الدخول إلى Facebook.","INVALID_EMAIL":"رجاء قم بإدخال بريد الكتروني صحيح","INVALID_PASSWORD":"الرجاء إدخال كلمة السر الصحيحة","CONN_ERR":"خطأ في الاتصال - يرجى المحاولة مرة أخرى لاحقًا. إذا استمر ذلك ، فقم بتعطيل جدران الحماية / برنامج مكافحة الفيروسات (خاصة Bitdefender).","IMPORT_FROM_GUEST":"استيراد مكتبتك من حساب الزائر الخاص بك","RECEIVE_UPDATES_EMAIL":"تلقي تحديثات البريد الإلكتروني الخاص بك من Stremio","LOGIN_FAILED":"لم ينجح تسجيل الدخول","SIGNUP_FAILED":"لم ينجح أنشاء حساب","SEARCH_FAILED":"لم ينجح البحث","EMAIL_USED":"تم أستخدام هذا البريد الألكتروني مسبقا","WAITING_FB_LOGIN":"جاري تسجيل الدخول ب أستخدام فيسبوك ...","EXTERNAL_PLAYER_TITLE":"تشغيل باستخدام المشغل الخارجي","EXTERNAL_REMEMBER_PLAYER":"هل ترغب في تذكر خيارك","EXTERNAL_ALWAYS_PLAY":"نعم","EXTERNAL_ONLY_ONCE":"لا","BEST_FIT":"الأنسب","FIT_SCREEN":"تناسب الشاشة","FILL":"تعبئة","16:9":"16:9","4:3":"4:3","Original":"اصلي","INTRO_TASTE":"أخبرنا بما تحبه","INTRO_TASTE_LONG":"أخبرنا بما تود مشاهدته","INTRO_TASTE_PICK":"اختر {{interestsRemaining}} أهتمامات","INTRO_TASTE_PICK_MORE":"اختر {{interestsRemaining}} أهتمامات أخرى","INTRO_TASTE_HELP_US":"ساعدنا في معرفة المزيد عنك.","INTRO_TASTE_CHOOSE_THESE":"اختر بعضًا من هذه:","INTRO_TASTE_CHOOSE_MIN":"اختر 3 فئات على الأقل","INTRO_TASTE_CHOOSE_MIN_ERR":"عليك أن تختار 3 فئات على الأقل!","INTRO_TASTE_LIFESTYLE":"أسلوب الحياة","INTRO_TASTE_SPORTS":"الرياضة","INTRO_TASTE_FOOD_HEALTH":"الطعام و الصحة","INTRO_TASTE_BEAUTY_FASHION":"الجمال و الموضة","INTRO_TASTE_NEWS":"الأخبار","INTRO_TASTE_GAMING":"الألعاب","INTRO_TASTE_SCIENCE_EDU":"التعلم و العلوم","INTRO_TASTE_MUSIC":"الموسيقى","INTRO_TASTE_TRAVEL":"السفر","INTRO_TASTE_LATE_NIGHT":"برامج أخر الليل","INTRO_TASTE_REALITY":"الواقع","INTRO_TASTE_COMEDY":"الكوميديا","INTRO_TASTE_DIY":"كيف تصنعها بنفسك","INTRO_TASTE_TECH":"التقنية","INTRO_TASTE_CINEMA":"السينيما","ADDON_NOT_SUPPORTED":"الأضافة المحددة غير مدعومة على هذا النظام الأساسي.","ADDON_DISCLAIMER":"سيخضع استخدام أدوات الطرف الثالث دائمًا لمسؤوليتك والقانون الحاكم للولاية القضائية التي توجد بها.","ADDON_ACTIVATE":"تفعيل هذه الأضافة","ADDON_REPO_ADD":"رابط الأضافة","ADDON_ADD":"أضافة","INSTALL_ADDON":"تنزيل الأضافة","ADD_ADDON":"أضافة ملحق","ADD_ADDON_DESCRIPTION":"يمكنك إضافة ملحق عبر رابط خارجي ، والذي سيظهر ضمن الوظائف الإضافية المثبتة.","PASTE_ADDON_URL":"لصق عنوان الملحق","WHATS_NEW":"ما الجديد","BUTTON_CONTINUE":"متابعة","BUTTON_ACTIVATE":"تفعيل","BUTTON_ACTIVATED":"مفعلة","BUTTON_CANCEL":"ألغاء","BUTTON_SUBMIT":"تقديم","BUTTON_DISMISS_ALL":"أنهاء الجميع","BUTTON_VIEW_ALL":"عرض الكل","BUTTON_SEE_ALL":"المزيد..","BUTTON_COLOR_TRANSPARENT":"شفاف","OPEN_IN_BROWSER":"افتح في المتصفح","LIB_EMPTY":"مكتبتك تبدو فارغة. اكتشف مدى فائدتها :) ","HOW_START":"إليك كيف يمكنك البدء:","LIB_EMPTY_CAL":"يعرض التقويم الخاص بك المسلسلات في مكتبتك.","HOW_START_CAL":"إليك كيف يمكنك إضافة مسلسل:","LIB_EMPTY_BOARD":"يظهر المجلس الإخطارات و. التوصيات المتعلقة بمكتبتك.","HOW_START_BOARD_WAIT":"من فضلك ، أضف بعض المسلسلات أو القنوات إلى مكتبتك ، امنحنا بضع دقائق للمعالجة :)","HOW_START_BOARD":"إليك كيفية إضافة المسلسلات والأفلام إليها:","IMPORT_FB":"استيراد الأشياء التي تريدها من <span>Facebook</span>","IMPORT_TRAKT":"قم باستيراد مكتبة الوسائط الخاصة بك من <span>Trakt</span>","IMPORT_DISCOVER":"اعثر على أشياء شيقة من <span>الأكتشاف</span>","IMPORT_DISK":"قم باستيراد الأفلام أو العروض الموجودة لديك على <span> القرص المحلي </ span>","PLEASE_CREATE_ACC":"يرجى <u> إنشاء حساب </ u> لتمكين مزامنة المكتبة و لوحة التحكم.","IMPORT_DISCOVER_SIGNUP":"اشترك وابحث عن أشياء ممتعة من <span> الأكتشاف </span>","IMPORT_DISK_SIGNUP":"اشترك واستورد الأفلام أو العروض التي لديك على <span> القرص المحلي </ span>","LIB_EMPTY_CLOUD":"مكتبة التخزين السحابي","LIB_EMPTY_CLOUD_DESC":"تمت مزامنة مكتبة السحابة الشخصية على جميع الأجهزة","LIB_EMPTY_EARLY":"بداية الأطلاق","LIB_EMPTY_EARLY_DESC":"تلقي الأشعارات للحلقات الجديدة","LIB_EMPTY_PERSONAL":"شخصي","LIB_EMPTY_PERSONAL_DESC":"احصل على مقترحات شخصية","LIB_EMPTY_CALENDAR_DESC":"قم ب إنشاء تقويم شخصي للمشاهدة","LIB_EMPTY_ALL":"اشترك للحصول على كل ما يلي:","LIB_EMPTY_BEST":"قم بالتسجيل للحصول على أفضل ما في Stremio","LIB_EMPTY_OTHER":"قم بالتسجيل لتمكين التقويم والميزات الرائعة الأخرى","CALENDAR_ADDED":"تمت إضافة تقويم Stremio إلى تقويم سطح المكتب الافتراضي الخاص بك.","CALENDAR_ADDED_MSG":"إذا لم يفلح ذلك ، يرجى إضافة عنوان URL هذا إلى تطبيق التقويم يدويًا","TRAKT_EXPIRED":"انتهت صلاحية مصادقة Trakt ، يرجى الانتقال إلى الإعدادات وإعادة المصادقة","TRAKT_REQUIRES_LOGIN":"خطأ Trakt","TRAKT_REQUIRES_LOGIN_MSG":"تحتاج إلى تسجيل الدخول","TRAKT_IMPORT_WATCHED":"إستيراد","THEME":"موضوع","THEME_DEFAULT":"إفتراضي","THEME_ADAPTIVE":"متكيف","SETTINGS_LABEL":"الأعدادات","SETTINGS_NAV_GENERAL":"عام","SETTINGS_NAV_PLAYER":"المشغل","SETTINGS_NAV_STREAMING":"بث","SETTINGS_NAV_SHORTCUTS":"اختصارات","SETTINGS_SHORTCUT_RELOAD_APP":"إعادة تحميل التطبيق","SETTINGS_SHORTCUT_OPEN_SETTINGS":"فتح الاعدادات","SETTINGS_SHORTCUT_SWITCH_TABS":"تبديل التبويبات","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"الانتقال من خلال علامات التبويب إلى الأمام","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"الانتقال من خلال علامات التبويب إلى الخلف","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"تنقل بين القوائم","SETTINGS_SHORTCUT_GO_TO_SEARCH":"اذهب إلى البحث","SETTINGS_SHORTCUT_EXIT_BACK":"الخروج / العودة","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"تبديل قائمة سرعة التشغيل","SETTINGS_SHORTCUT_MENU_VIDEOS":"تبديل قائمة مقاطع الفيديو","SETTINGS_SHORTCUT_MENU_SUBTITLES":"تبديل قائمة الترجمة","SETTINGS_SHORTCUT_MENU_INFO":"تبديل قائمة المعلومات","SETTINGS_SHORTCUT_FULLSCREEN":"تفعيل وضع ملء الشاشة","SETTINGS_SHORTCUT_SHOW_CONTROLS":"عرض ادوات التحكم","SETTINGS_SHORTCUT_PLAY_PAUSE":"اتشغيل / ايقاف","SETTINGS_SHORTCUT_VOLUME_UP":"زيادة الصوت","SETTINGS_SHORTCUT_VOLUME_DOWN":"انقاص الصوت","SETTINGS_SHORTCUT_SEEK_NEXT":"ابحث عن التالي","SETTINGS_SHORTCUT_SEEK_PREV":"ابحث عن السابق","SETTINGS_SHORTCUT_SEEK_BACKWARD":"التحريك للخلف","SETTINGS_SHORTCUT_SEEK_FORWARD":"التحريك للامام","SETTINGS_SHORTCUT_PLAY_NEXT":"عرض التالي","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"تكبير خط الترجمة","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"تصغير خط الترجمة","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"زيادة مدة تأخير الترجمة","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"انقاص مدة تأخير الترجمة","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"تفعيل / تعطيل الشريط الجانبي","SETTINGS_SHORTCUT_OR":"بعد","SETTINGS_SHORTCUT_TO":"الى","SETTINGS_SHORTCUT_SPACE":"مساحة","SETTINGS_SHORTCUT_SHIFT":"شيفت","SETTINGS_SHORTCUT_ESC":"خروج","SETTINGS_TRAKT_AUTHENTICATE":"المصادقة","SETTINGS_FACEBOOK_IMPORT":"استيراد","SETTINGS_CALENDAR_SUBSCRIBE":"اشتراك","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"لغة الواجهة","SETTINGS_LAUNCH_STARTUP":"ابدأ عند بدء التشغيل","SETTINGS_VLC_DEFAULT":"تشغيل عن طريق VLC","SETTINGS_UI_LANGUAGE":"لغة واجهة المستخدم","SETTINGS_UI_ZOOM":"تكبير الواجهة","SETTINGS_FULLSCREEN_EXIT":"مفتاح Escape للخروج من وضع ملء الشاشة ","SETTINGS_GAMEPAD":"تفعيل دعم gamepad","SETTINGS_CLOSE_WINDOW":"أغلق التطبيق عند إغلاق النافذة","SETTINGS_SUBTITLES_LANGUAGE":"لغة الترجمة الافتراضية","SETTINGS_SUBTITLES_SIZE":"حجم خط الترجمة الافتراضي","SETTINGS_SUBTITLES_BACKGROUND":"خلفية الترجمة","SETTINGS_SUBTITLES_COLOR":"لون خط الترجمة","SETTINGS_SUBTITLES_COLOR_OUTLINE":"لون خط الترجمة الخارجي","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"لون خلفية الترجمة","SETTINGS_SEEK_KEY":"الاسهم لتقديم الوقت","SETTINGS_SEEK_KEY_SHIFT":"تتقدم مفاتيح الأسهم الوقت عندما يكون مفتاح Shift مضغوطًا","SETTINGS_REWIND_FAST_FORWARD_DURATION":"مدة التقديم او الإرجاع","SETTINGS_BINGE":"تشغيل تلقائي للحلقة القادمة","SETTINGS_NEXT_VIDEO":"عرض إشعار بداية الحلقة التالية","SETTINGS_NEXT_VIDEO_TRIGGER":"عرض إشعار الحلقة التالية لمده:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"مدة انبثاق الفيديو التالي","SETTINGS_PLAY_IN_BACKGROUND":"تشغيل في الخلفية","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"تشغيل في المشغل الخارجي","SETTINGS_RESIZE":"نافذة تغيير الحجم التلقائي قبل التشغيل","SETTINGS_OVERRIDE_SERVER":"تجاوز عنوان URL لخادم البث (متقدم)","SETTINGS_SERVER_URL":"عنوان رابط خادم البث: ","SETTINGS_SERVER_AVAILABLE":"خادم البث متاح.","SETTINGS_SERVER_UNAVAILABLE":"خادم البث غير متاح.","SETTINGS_SERVER_STATUS_ONLINE":"متصل","SETTINGS_SERVER_STATUS_ERROR":"خطأ","SETTINGS_SERVER_CONFIGURE_TITLE":"تكوين عنوان لخادم البث","SETTINGS_SERVER_CONFIGURE_INPUT":"أدخل عنوان لخادم البث","SETTINGS_SERVER_CACHE_SIZE":"حجم التخزين المؤقت","SETTINGS_SERVER_TORRENT_PROFILE":"ملف التورنت التعريفي","SETTINGS_HTTPS_ENDPOINT":"نقطة نهاية دفق HTTPS: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"استخدم دائمًا أحدث إصدار بيتا","SETTINGS_IMPORT_FB":"استيراد من فيسبوك","SETTINGS_IMPORT_DISK":"استيراد من القرص الصلب","SETTINGS_IMPORT_TRAKT":"استيراد من Trakt","SETTINGS_PAUSE_MINIMIZED":"وقف الفيديو عند تصغير النافذة","SETTINGS_HWDEC":"فك تسريع الأجهزة","SETTINGS_BACKGROUND":"تشغيل في الخلفية","SETTINGS_SUBSCRIBE_CALENDAR":"الأشتراك بالتقويم","SETTINGS_REQ_EXPORT":"طلب تصدير الداتا","SETTINGS_ACC_DELETE":"طلب حذف حسابك","SETTINGS_CHANGE_PASSWORD":"تغير كلمة السر","SETTINGS_TOS":"الشروط و الأحكام","SETTINGS_SUPPORT":"تواصل مع الدعم الفني","SETTING_LANGUAGE":"اللغة","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_LOGOUT":"تسجيل الخروج من Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"تسجيل الخروج من Trakt","SETTINGS_SCAN_FOR_REMOTE":"امسح رمز الاستجابة السريعة QR لفتح جهاز التحكم عن بعد","SETTINGS_DESKTOP_NOTIFICATIONS":"اشعارات سطح المكتب","SETTINGS_DATA_SAVER":"المحافظة على البيانات","SETTINGS_LANGUAGE_INTERFACE":"واجهة المستخدم","SETTINGS_LANGUAGE_SUBS":"الترجمة الافتراضية","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"اختيار مسار الصوت تلقائيا","SETTINGS_DEFAULT_AUDIO_TRACK":"مسار الصوت المبدئي","SETTINGS_SURROUND_SOUND":"صوت محيطي","SETTINGS_ACCOUNT":"الحساب","SETTINGS_PLATFORM":"المنصة","SETTINGS_VERSION":"النسخة","SETTINGS_ABOUT":"حول","SETTINGS_MPV_WINDOW":"بدء المشغل في صفحة جديدة (متقدم)","SETTINGS_PLAY_IN_EXTERNAL":"تشغيل الفيديو دائماً باستخدام مشغل خارجي","SETTINGS_STORAGE_BUTTON":"مسح التخزين المحلي","SETTINGS_STORAGE_MODAL_TITLE":"هل انت متأكد؟","SETTINGS_STORAGE_MODAL_MESSAGE":"هذا سيقوم بمسح التخزين المحلي وتسجيل خروجك.","SETTINGS_HWDEC_PICKER":"اختر إعداد فك تسريع الأجهزة","SETTINGS_HW_AUTOMATIC":"تلقائي","SETTINGS_HW_DISABLED":"غير مفغل","SETTINGS_HW_ACCELERATED":"تسريع فك التشفير","SETTINGS_HW_FULL":"تسريع كامل","SETTINGS_HW_LEGACY":"قديم","SETTINGS_DISABLED":"معطل","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Subtitles","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Controls","SETTINGS_SECTION_AUTO_PLAY":"Auto-Play","SETTINGS_SECTION_ADVANCED":"Advanced","SUBSPICKER_AUDIO":"الصوت","SUBSPICKER_SUBTITLES":"ملحق الترجمة","SUBSPICKER_BLACK_BACKGROUND":"استخدم لون اسود للخلفية","SUBSPICKER_VERTICAL_OFFSET":"المكان العمودي","SUBSPICKER_SIZE":"الحجم","SUBSPICKER_DELAY":"التاخير","SUBSPICKER_EMBEDDED_SUBS":"ترجمات مدمجة","MOBILE_PRIVACY_POLICY":"سياسة الخصوصية","MOBILE_CRASH_REPORTING":"تقرير الاخطاء","MOBILE_ZOOM_TO_FILL":"تكبير لتعبئة الشاشة","MOBILE_PASSTHROUGH":"إخراج الصوت الرقمي (العبور)","MOBILE_RUN_LOW_BATTERY":"تشغيل على بطارية منخفضة","MOBILE_RUN_FOREGROUND":"تشغيل كخدمة في الخلفية","MOBILE_PERFORMANCE":"الأداء والاستقرار","MOBILE_SERVER_ONLINE":"متصل","MOBILE_SERVER_OFFLINE":"غير متصل","MOBILE_QR_EXPIRES":"تنتهي صلاحية رمز الاستجابة السريعة في ","MOBILE_LOG_INTO":"قم بتسجيل الدخول إلى حساب Stremio الخاص بك ","MOBILE_SCAN_QR":"امسح رمز الاستجابة السريعة أعلاه أو انتقل إلى ","MOBILE_LINK_ACCOUNT":"ربط حساب","MOBILE_SPEEDPICKER_CANCEL":"إلغاء","MOBILE_SPEEDPICKER_LABEL":"اختيار سرعة التشغيل","MOBILE_EMPTY_LIBRARY":"المكتبة الخاصه بك فارغة","MOBILE_NO_ADDON_ACTIVE":"لا يوجد ملحق Stremio نشط لهذا النوع.","MOBILE_ORGANIZER_WARNING":"يوفر تطبيق Stremio Organizer وظائف محدودة. للحصول على قائمة التدفقات القابلة للتشغيل وتجربة Stremio الكاملة ، استخدم Stremio على سطح المكتب.","MOBILE_ADDON_LOADING":"قيد التحميل","MOBILE_ADDONS_LOADING":"الملحقات قيد التحميل","MOBILE_ADDON":"ملحق","MOBILE_CONFIGURE_ADDON":"تكوين الملحق الخاص بك","MOBILE_CONFIGURE_ADDON_LABEL":"تكوين الملحق","MOBILE_ORGANIZER_ADDONS_WARNING":"يوفر تطبيق Stremio Organizer مجموعة محدودة من الوظائف الإضافية. للحصول على تجربة Stremio الكاملة ، استخدم Stremio على سطح المكتب.","MOBILE_DISCONNECT":"إلغاء الاتصال","MOBILE_LOOKING_FOR_DEVICES":"البحث عن اجهزه...","MOBILE_CAST_TO":"بث الى","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Delete Account","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Account deletion is not instant due to legal obligations. After requesting deletion of your account you will have to use different email address/facebook profile to create a new Stremio account in the future.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirm Account Deletion","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Your account has been created using Facebook. To delete your account, please use our user portal at www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Please provide your password to confirm account deletion.","MOBILE_DELETE_ACCOUNT_BUTTON":"Delete Account","NAVIGATION_ON":"تشغيل","NAVIGATION_OFF":"ايقاف","MARKETING_AGREE":"أوافق على تلقي رسائل تسويقية من Stremio","QUIT":"خروج","CONNECTED":"متصل","AUTHENTICATE":"المصادقة","CACHING":"تخزين مؤقت","SETTINGS_CACHING_DRIVE":"محرك التخزين المؤقت","ENABLE_LOCAL_FILES_ADDON":"تمكين الملحق المحلي للملفات (يتطلب إعادة التشغيل)","LOCAL_ADDON_NOT_ENABLED":"لم يتم تمكين الملحق المحلي. انقر هنا للذهاب إلى الإعدادات وتمكينه","ENABLE_REMOTE_HTTPS_CONN":"قم بتمكين اتصالات HTTPS البعيدة","TORRENT_PROFILE":"ملف التورنت التعريفي","DATA_CACHING":"تخزين مؤقت البيانات","MAGNET_PARSING":"معالجة رابط تورنيت","January":"كانون الثاني (يناير)","February":"شباط (فبراير)","March":"آذار (مارس)","April":"نيسان (ابريل)","May":"أيار (مايو)","June":"حزيران (يونيو)","July":"تموز (يوليو)","August":"آب (أغسطس)","September":"أيلول (سبتمبر)","October":"تشرين الأول (أكتوبر)","November":"تشرين الثاني (نوفمبر)","December":"كانون الأول (ديسمبر)","Monday":"الأثنين","Tuesday":"الثلاثاء","Wednesday":"الأربعاء","Thursday":"الخميس","Friday":"الجمعة","Saturday":"السبت","Sunday":"الاحد","Action":"حركة","Comedy":"كوميديا","War":"حرب","Family":"عائلة","Animation":"انيمي","Adventure":"مغامرة","Fantasy":"خيال","Crime":"جريمة","Mystery":"غموض","Romance":"رومنسي","Drama":"دراما","Horror":"رعب","Thriller":"القصة المثيرة","Sci-Fi":"خيال علمي","Music":"موسيقى","Biography":"سيرة شخصية","Documentary":"وثائقي","Sport":"رياضة","Musical":"موسيقي","Western":"افلام الغرب الامريكي","Film-Noir":"ابيض واسود","News":"اخبار","History":"تاريخ","Game-Show":"عرض اللعبة","Reality-TV":"تلفاز واقعي","Talk-Show":"برنامج حواري","Film & Entertainment":"فيلم وترفيه","Gaming":"العاب","From TV":"من التلفاز","Lifestyle":"أسلوب الحياة","Science & Education":"علوم وتعلم","Cooking & Health":"الطبخ و الصحة","Beauty & Fashion":"الجمال و الموضة","Sports":"الرياضات","News & Politics":"سياسة واخبار","How-to & DIY":"كيف يمكنك عملها بنفسك","Tech":"تقنية","Automotive":"السيارات","Causes & Non-Profits":"الأسباب وغير الربحية","Movies":"افلام","Uk Live Tv":"تلفاز مباشر المملكة المتحدة","Fashion":"الموضة","Business News Radio":"راديو اخبار الاعمال","Business Tv":"تلفاز اعمال","Cars & Auto":"سيارات و محركات","Comedy Radio":"راديو كوميديا","Lifestyle Radio":"اسلوب حياة راديو","News Tv":"تلفاز اخباري","Food And Wine":"طعام ونبيذ","Latino Tv":"تلفاز لاتيني","Shopping Tv":"تلفاز تسوق","Religion":"دين","Kids":"أطفال","Body & Soul":"الجسد و الروح","Education":"تعليم","Indian Tv":"تلفاز هندي","Extreme Sports":"رياضات عنيفة","Middle Eastern Tv":"تلفاز شرق متوسط ","Celebrity Tv":"تلفاز مشاهير","Science Tv":"تلفاز علمي","Bikini babe":"فاتنة بيكيني","Outdoors":"خارج المنزل","German Tv":"تلفاز الماني","French Tv":"تلفاز فرنسي","Italian Tv":"تلفاز ايطالي","Gamer Tv":"تلفاز للالعاب","Travel":"السفر","Asian Tv":"تلفاز اسيوي","Entertainment":"متعة المشاهدة","News Radio":"راديو اخبار","Music Radio":"راديو موسيقى","Language Learning":"تعليم اللغات","Science Radio":"راديو علمي","Tech Radio":"راديو للتقنية","Science & Technology Vod":"علوم وتقنية فيديوهات حسب الطلب","new video":"فيديو جديد","new episode":"حلقة جديدة","new movie":"فيلم جديد","recommended":"مقترح","we recommend":"قترح لك","offer of the day":"عرض اليوم","news":"اخبار","music video":"فيديو موسيقي","CTX_SHOW_HOTKEYS":"اضهار المفاتيح الساخنة","CTX_DISMISS_NOTIF":"اخفاء الاشعار","CTX_DISMISS_ALL":"اخفاء الجميع","CTX_SHARE":"مشاركة","CTX_COPY_SHARE_LINK":"نسخ رابط المشاركة","CTX_COPY_MAGNET_LINK":"نسخ رابط magnet","CTX_COPY_STREAM_LINK":"نسخ رابط البث","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"تحميل هذا الفيديو","CTX_DOWNLOAD_SUBS":"تحميل الترجمات","CTX_VIEW_ON_YOUTUBE":"المشاهدة على YouTube","CTX_SHOW":"عرض","CTX_PLAY":"تشغيل","CTX_PLAY_IN":"تشغيل في","CTX_PLAY_ON":"تشغيل على","CTX_WATCH_ON":"مشاهدة على","CTX_WATCH":"مشاهدة","CTX_WATCHED":"تمت المشاهدة","CTX_WATCH_BEGINNING":"مشاهدة من البداية","CTX_WATCH_MOBILE":"مشاهدة على الجهاز المحمول","CTX_REWIND":"اعادة التشغيل من البداية","CTX_MARK_WATCHED":"تعليمه ك تمت مشاهدته","CTX_MARK_NON_WATCHED":"تعليمه غير مشاهد","CTX_MARK_UNWATCHED":"التعليم على أنه لم تتم مشاهدته","CTX_MARK_REST":"ضع علامة على أنها شاهدت","CTX_UNMARK_REST":"ضع علامة على أنها شاهدت","CTX_RECEIVE_NEW_NOTIF":"تلقى اشعارات جديد","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"حذف من التخزين المؤقت","CTX_REMOVE_CACHE_EP":"إزالة الحلقة من ذاكرة التخزين المؤقت","CTX_OPEN_CONTAINING":"افتح محتوى المجلد","CTX_REMOVE":"ازالة من المكتبة","CTX_AVAILABLE_OFFLINE":"متوفر بدون اتصال","CTX_PAUSED":"ايقاف","CTX_ALWAYS_ON_TOP":"دائما فوق التطبيقات الاخرى","CTX_FULLSCREEN":"شاشة كاملة","CTX_WRONG_SUBS":"ترجمة خاطئة ؟","CTX_REPORT_ISSUES":"تبليغ عن مشكلة","CTX_COPY":"نسخ","CTX_PASTE":"لصق","CTX_CLEAR":"مسح","CTX_CLEAR_RECENT_SEARCHES":"مسح اخر عمليات البحث","HELLO_THERE":"مرحبا بك","HOPE_YOU_ENJOY":"نأمل أن تستمتع بـ Stremio وهو أحد تطبيقاتك المفضلة بالفعل!","WHO_ARE_WE":"من نحن؟ نحن الفريق الذي يقف وراء ذلك - رجلان يعملان بجد كل يوم على مدار السنوات الثلاث الماضية لجعل هذا المنتج أفضل وأفضل.","SUPPORT_US":"إذا كنت تستمتع باستخدام Stremio ، إذا كان Stremio مفيدًا بالنسبة لك - انشر الخبر!","SPREAD_THE_WORD":"شارك مع أصدقائك الآن ، انشر الخبر حول Stremio","MORE_PEOPLE":"كلما زاد عدد الأشخاص الذين يستخدمون Stremio ، كان ذلك أفضل!","SEND_A_LINK":"أو إرسال رابط إلى موقعنا","TIP_LOCALFILES":"نصيحة: يمكنك سحب وإسقاط ملفات الفيديو المحلية في Stremio","ADDON_MY":"أضافاتي","ADDON_COMMUNITY":"إضافات المجتمع","ADDON_OFFICIAL":"أضافات رسمية","ADDON_REPOS":"مجموعة أضافات","ADDON_SEARCH":"الباحث عن أضافات","ADDON_INSTALL":"تثبيت","ADDON_CONFIGURE":"أعداد","ADDON_UNINSTALL":"ألغاء التثبيت","ADDON_UPGRADE":"ترقية","ADDON_INSTALLED":"مثبتة","ADDON_INSTALLED_MSG":"الاضافة مثبتة","ADDON_UPGRADED_MSG":"الاضافة تمت ترقيتها","ADDON_UNKNOWN":"غير معروف","ADDON_ERR":"حدث خطا اثناء تثبيت الأضافة","ADDON_DISCONNECTED":"غير متصل","ADDON_APP_MISSING":"التطبيق لهذا المصدر غير مثبت. هل تريد تثبيته الآن؟","ADDON_APP_INSTALL":"تثبيت الأن","ADDON_PAGE":"صفحة الأضافة","ADDON_TOP_CONTENT":"أفضل ما في الأضافة","ADDON_PROVIDES":"هذه الاضافة س تقدم لك :","ADDON_WATCH":"شاهد #{types} الان!","ADDON_WATCH_FREE":"شاهد #{types} مجانا الان !","ADDON_ADDON":"أضافة","ADDON_SUPPORTED_TYPES":"الانواع المدعومة","ADDON_SUPPORTED_CATALOGS":"الفهارس المدعومة","ADDON_PROVIDES_DISCOVER":"المزيد #{types} في الاكتشاف","ADDON_PROVIDES_STREAMS":"شاهد #{types}","ADDON_PROVIDES_STREAMS_FREE":"شاهد #{types} مجانا","ADDON_PROVIDES_SUBTITLES":"ترجمات ل #{types}","ADDON_CANTDETECT":"لم نتمكن من اكتشاف Stremio قيد التشغيل ، لذلك لم نتمكن من اكتشاف الوظائف الإضافية التي قمت بتثبيتها.","ERR_NO_META":"لم يتم العثور على معلومات ","ERR_GETTING_META":"حدث خطا اثناء الحصول على معلومات خاصة بهذا","ERR_CANT_PARSE_MAGNET":"غير ممكن معالجة رابط التورنيت","ERR_NO_MAGNET_INFOHASH":"معلومات غير صالحة من الرابط","ERR_NO_FILE_PATH":"تعذر إرسال الطلب بدون مسار للملف","ERR_NO_TORRENT":"لم يتم إرجاع أي تورنيت","ERR_NO_SUPPORTERD_FILES":"لم يتم العثور على ملفات مدعومة","ERR_OPENING_FILES":"تعذر فتح الملفات الخارجية","ERR_INVALID_LINK":"رابط غير صالح","ERR_REGISTERED_ONLY":"هذا الخيار متاح للمستخدمين المسجلين فقط.","ERR_CLIPBOARD":"تعذر التشغيل من الحافظة","ERR_CLIPBOARD_READ":"لايمكن قراءة الحافظة على هذه المنصة","ERR_CLIPBOARD_GENERIC":"لم يتم العثور على عنوان URL قابل للتشغيل في الحافظة. يرجى نسخ عنوان URL (على سبيل المثال ، رابط مغناطيسي) إلى مقطع فيديو.","BOARD_CONTINUE_WATCHING":"متابعة المشاهدة","BOARD_EXPLANATION_RECOMMENDATIONS":"أفلام منتقاة خصيصًا لك. <br /> هذا الفيلم هو نموذج توصية.","BOARD_EXPLANATION_EPISODES":"تأتي هنا حلقات جديدة من مسلسلاتك المفضلة. <br /> أضف المسلسلات التي تتابعها إلى مكتبتك.","BOARD_EXPLANATION_VIDEOS":"تأتي هنا حلقات جديدة من قنواتك المفضلة. <br /> أضف قنوات YouTube التي تتابعها إلى مكتبتك.","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE":"شارك في التطوير","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"Learn more","WEBSITE_COMPANY":"Company","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Need Help?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"شاهد على الفور","WEBSITE_SLOGAN_ALL":"كل محتوى الفيديو الذي تستمتع به في مكان واحد","WEBSITE_SLOGAN_NEW":"كل ما يمكنك مشاهدته","WEBSITE_SLOGAN_NEW_NEW":"Freedom to Stream","WEBSITE_WATCH_FROM":"مشاهدة من","WEBSITE_DOWNLOAD":"التحميل الان","WEBSITE_DOWNLOAD_FOR":"تحميل الان من ","WEBSITE_IS_DESKTOP":"Stremio هو تطبيق سطح مكتب ، افتح هذه الصفحة على جهاز الكمبيوتر الخاص بك وقم بتنزيله","WEBSITE_DESKTOP_DEMO_VID":"تجربة سطح المكتب","WEBSITE_PAGE_HOME":"الرئيسية","WEBSITE_PAGE_FEATURES":"المميزات","WEBSITE_PAGE_ADDONS":"الأضافات","WEBSITE_PAGE_TECH":"تقنية","WEBSITE_PAGE_CREATE_ADDON":"أنشاء أضافة","WEBSITE_PAGE_CONTACTS":"جهات الاتصال","WEBSITE_PAGE_BLOG":"المدونة","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"أفلام","WEBSITE_TYPE_series_PL":"مسلسلات","WEBSITE_TYPE_tv":"تلفاز مباشر","WEBSITE_TYPE_channel":"قنوات","WEBSITE_STREMIO_WHAT_IS":"Stremio هو تطبيق يساعدك على تنظيم مقاطع الفيديو المفضلة لديك والأفلام والمسلسلات التلفزيونية والقنوات التلفزيونية ومشاهدتها على الفور.","WEBSITE_FEATURES_WATCH":"شاهد على الفور بدقة عالية","WEBSITE_FEATURES_WATCH_DETAIL":"انقر لتشغيل الأفلام والبرامج التلفزيونية ومقاطع الفيديو والقنوات التلفزيونية المفضلة لديك.","WEBSITE_FEATURES_SUBS":"ترجمة تلقائية","WEBSITE_FEATURES_SUBS_DETAIL":"يختار Stremio تلقائيًا ترجمات متزامنة للغتك.","WEBSITE_FEATURES_SUBS_LABEL":"حركتك ،يارئيس.","WEBSITE_FEATURES_CAST":"تشغيل على التلفزيون والأجهزة المحمولة","WEBSITE_FEATURES_CAST_DETAIL":"البث إلى AppleTV و Chromecast والتلفزيون الذكي (DLNA / UPnP) والأجهزة المحمولة.","WEBSITE_LIB":"استمتع بمكتبة شخصية متزامنة على جميع أجهزتك","WEBSITE_LIB_COLLECT":"جمع من Stremio","WEBSITE_LIB_IMPORT":"استيراد من فيسبوك","WEBSITE_LIB_LOCAL":"اضافة من القرص الصلب","WEBSITE_BOARD":"لوحة التحكم - مكانك الوحيد للإشعارات والتوصيات","WEBSITE_BOARD_RECOMMEND":"برامج تلفاز مقترحة لك","WEBSITE_BOARD_TRENDING":"فيلم شائع","WEBSITE_BOARD_NEW":"فيديو جديد","WEBSITE_BOARD_EPISODE":"حلقة جديدة","WEBSITE_BOARD_1":"هل تبحث عن شيء ممتع لمشاهدته؟ احصل على توصيات بناء على ذوقك!","WEBSITE_BOARD_2":"احصل على إشعار عند عرض حلقة جديدة من برنامجك التلفزيوني المفضل أو قناة YouTube!","WEBSITE_BOARD_YOUTUBE":"مقاطع فيديو جديدة لقنوات يوتيوب","WEBSITE_BOARD_EPISODES":"حلقات جديدة من مسلسلات تتابعها","WEBSITE_ADDONS":"أضافات المحتوى","WEBSITE_TECH_DETAIL":"نحن نحب التكنولوجيا ، ونحب العلم المجنون! تستخدم Stremio تقنيات مفتوحة المصدر التالية:","WEBSITE_TECH_WCJS":"يسمح WebChimera.js لـ Stremio بتشغيل أي تنسيق فيديو بأداء جيد.","WEBSITE_TECH_WCJS_EXTRA":"نحن مساهمون أساسيون في المشروع","WEBSITE_TECH_ELECTRON":"توفر Electron منصة مبتكرة لبناء Stremio معها.","WEBSITE_TECH_ELECTRON_EXTRA":"نحن مساهمون في المشروع","WEBSITE_TECH_LINVODB":"تقنية قواعد البيانات التي تضمن تنظيم بياناتك وإتاحتها في أي مكان تقوم بتسجيل الدخول إليه.","WEBSITE_TECH_LINVODB_EXTRA":"التكنولوجيا الداخلية","WEBSITE_CREATE_ADDON":"انشئ اضافتك الخاصة","WEBSITE_CREATE_ADDON_DETAIL":"هل لديك خدمة تقدم محتوى فيديو؟ سنساعدك على الاستفادة من ميزات Stremio من خلال إنشاء الاضافة الخاصة بك.","WEBSITE_CREATE_ADDON_BENEFITS":"فوائد إنشاء أضافة لـ Stremio","WEBSITE_P2P_BEAUTY":"جمال البث من نظير إلى نظير","WEBSITE_P2P_1":"فيديو عالي الدقة / 4K موثوق وميسور التكلفة عند الطلب أو البث المباشر","WEBSITE_P2P_2":"توفر منصة التوزيع تجربة مستخدم رائعة","WEBSITE_P2P_3":"سنقوم بإنشاء اضافة تلبي احتياجاتك بالضبط","WEBSITE_P2P_CONTACT":"مهتم؟ مرحبًا بك في <a href=\'mailto:office@stremio.com\'> الاتصال بنا </a>.","WEBSITE_P2P_CONTACT_EXTRA":"سنكون سعداء لمساعدتك على دمج المحتوى الخاص بك مع Stremio!","WEBSITE_P2P":"من حين لآخر ، تأتي تقنية تغير اسم اللعبة. لقد استثمرنا الكثير من الوقت والجهد في بناء محرك دفق الفيديو من نظير إلى نظير (P2P) الذي يوفر أداءً رائعًا وتعدد الاستخدامات للتكيف مع أي حالة استخدام. \\n اتصل بنا للحصول على فيديو P2P ممكّن بواسطة DRM عند الطلب أو البث المباشر.","WEBSITE_THOUGHTS":"الأفكار التي نشاركها:","WEBSITE_SPREAD":"انشر الخبر حول Stremio:","WEBSITE_CONTACT":"اتصل بنا ، يسعدنا أن نسمع منك!","WEBSITE_OPENSOURCE":"لمشاريعنا مفتوحة المصدر ، انتقل إلى","WEBSITE_BITCOIN":"تبرع بعملة البيتكوين:","WEBSITE_FAQ":"أسئلة مكررة","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"أسئلة","WEBSITE_TOS":"تعليمات الاستخدام","WEBSITE_LEGAL":"قانوني","WEBSITE_PAGE_ABOUT":"حول","WEBSITE_PAGE_BECOME_PARTNER":"كن شريكا معنا","WEBSITE_ALL_YOU_CAN_WATCH":"حرية المشاهدة \\n كل ما تريد.","WEBSITE_FREEDOM_TO_STREAM":"الحرية للبث","WEBSITE_WHAT_IS_STREMIO":"ما هو Stremio ?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio هو مركز شامل لتجميع محتوى الفيديو. اكتشف ، نظم ، وشاهد الفيديو من جميع أنواع المصادر على أي جهاز تملكه.","WEBSITE_WHAT_IS_STREMIO_P2":"الأفلام والبرامج التلفزيونية والمسلسلات والتلفزيون المباشر أو قنوات الويب مثل YouTube و Twitch.tv - يمكنك العثور على كل هذا على Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio هو مركز وسائط حديث يمثل حلاً شاملاً لترفيه الفيديو الخاص بك. يمكنك اكتشاف محتوى الفيديو ومشاهدته وتنظيمه من الوظائف الإضافية سهلة التثبيت.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"الأفلام والبرامج التلفزيونية والتلفزيون المباشر أو قنوات الويب - ابحث عن كل هذا على Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"استمتع على جميع أجهزة الوسائط الخاصة بك","WEBSITE_DEVICES_COLLECT":"جمع من Stremio","WEBSITE_DEVICES_IMPORT_FB":"استيراد من فيسبوك","WEBSITE_DEVICES_LOCAL":"اضافة من القرص الصلب","WEBSITE_JOIN_THE_PARTY_NOW":"انضم إلى الحفلة الآن","WEBSITE_DEVICES_ALL":"سهل الاستخدام على جميع أجهزتك؛","WEBSITE_EXTENDABLE_CATALOG":"مجموعة كبيرة من الفيديوهات يمكنك توسعتها ايضا","WEBSITE_ORGANIZE_YOUR_MEDIA":"ميزات رائعة لتنظيم الوسائط الخاصة بك ؛","WEBSITE_AS_SEEN_ON":"كما شوهد على","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"معلومات عنا","WEBSITE_LINK_TECHNOLOGY":"التقنية","WEBSITE_LINK_APPS":"التطبيقات","WEBSITE_LINK_DOWNLOADS":"تنزيل","WEBSITE_MORE":"المزيد","WEBSITE_LINK_ADDONS":"الأضافات","WEBSITE_LINK_ADDON_SDK":"حزمة مساعدة لأنشاء أضافات","WEBSITE_LINK_CONTRIBUTE":"ساهم معنا","WEBSITE_LINK_COMMUNITY":"المجتمع","WEBSITE_LINK_BLOG":"المدونة","WEBSITE_MORE_MORE":"... و المزيد","WEBSITE_LINK_HELP":"مركز المساعدة","WEBSITE_LINK_CONTACTS":"استفسارات الأعمال","WEBSITE_LINK_TOS":"البنود و الشروط","WEBSITE_LINK_PRAVACY":"سياسة الخصوصية","WEBSITE_SUBSCRIBE":"اشتراك","WEBSITE_NEWSLETTER":"انضم إلى النشرة الإخبارية لدينا لأشياء مذهلة","WEBSITE_PLACEHOLDER_EMAIL":"بريدك الالكتروني","WEBSITE_COMMUNITY":"المجتمع","WEBSITE_LINK_PRAVACY_LEGAL":"الخصوصية والقانونية","WEBSITE_WHY":"لماذا نقوم بذلك","WEBSITE_WHY_P1":"في Stremio ، نأتي إلى العمل كل يوم لأننا نريد حل مشكلة مهمة لصناعة الفيديو عند الطلب. يتم نشر الكثير من المحتوى الجديد كل دقيقة بحيث يكاد يكون من المستحيل العثور على ما تريده.","WEBSITE_WHY_P2":"نحن نساعد الأشخاص على التنقل في هذا العالم الضخم من الترفيه بالفيديو واكتشاف محتوى جديد للاستمتاع به. تجمع تطبيقاتنا بين الأفلام والمسلسلات والبث التلفزيوني المباشر وقنوات الويب والمزيد. نحن ملتزمون بجعل من السهل جدًا على المستخدمين العثور على العناوين والمذيعين الذين يحبونهم.","WEBSITE_WHY_P3":"يمكنك استخدام خدمتنا على أي جهاز وفي أي وقت ، مما يجعل Stremio مركز الترفيه بالفيديو الوحيد الذي ستحتاج إليه على الإطلاق.","WEBSITE_TEAM":"الفريق","WEBSITE_TEAM_P":"فريق Stremio صغير ولكنه قوي: بين العشرة منا ، نقوم بالبرمجة بلغات X ، ونتشارك الخبرات في تطوير البرمجيات ، وتصميم UI و UX ، والتسويق والإعلان ، والأعمال التجارية والشركات الناشئة.","WEBSITE_FEATURES":"المميزات","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"اكتشف محتوى جديدًا بسهولة","WEBSITE_FEATURES_DISCOVER_P":"اكتشف بسهولة الأفلام والبرامج التلفزيونية والمسلسلات والقنوات الجديدة لمشاهدتها. تصفح حسب الفئة أو النوع أو التصنيف أو الحداثة أو ما إلى ذلك ، أو ببساطة اكتب اسمًا للبحث عنه. يجعل Stremio العثور على محتوى فيديو جديد بمثابة قطعة من الكعكة.","WEBSITE_FEATURES_ALL_CONTENT":"كل محتوى الفيديو الخاص بك على شاشة واحدة","WEBSITE_FEATURES_ALL_CONTENT_P1":"تعرف على الأفلام أو المسلسلات أو مقاطع الفيديو التي لم تنته واستمر في مشاهدتها ؛ الحصول على إشعارات بشأن الحلقات والإصدارات الجديدة ؛ وتصفح التوصيات التي ستحصل عليها بناءً على عادات المشاهدة لديك.","WEBSITE_FEATURES_LIBRARY":"تنظيم مكتبة الفيديو الخاصة بك","WEBSITE_FEATURES_LIBRARY_P1":"أضف أي عنوان إلى مكتبة Stremio الخاصة بك بنقرة واحدة وابحث عن طريقك حول المحتوى الخاص بك ، مرتبة بدقة حسب النوع أو الحداثة أو الترتيب الأبجدي.","WEBSITE_FEATURES_CALENDAR":"تتبع كل ما تشاهده","WEBSITE_FEATURES_CALENDAR_P1":"احصل على تصور تقويم لجميع الأفلام والمسلسلات التي تضيفها إلى مكتبتك. قم بتصدير تقويم Stremio الخاص بك وقم بمزامنته حتى تعرف دائمًا موعد حلقة جديدة أو عرض أول.","WEBSITE_FEATURES_BIG_SCREEN":"استمتع بمحتوى الفيديو الخاص بك على شاشة أكبر","WEBSITE_FEATURES_BIG_SCREEN_P1":"قم بإرسال كل ما تشاهده إلى جهاز آخر - سواء كان هاتفًا أو جهازًا لوحيًا أو تلفزيونًا بنقرة واحدة.","WEBSITE_FEATURES_SOURCES":"شاهد الفيديو من عدة مصادر مختلفة","WEBSITE_FEATURES_SOURCES_P":"قم بتثبيت الوظائف الإضافية الرسمية والمجتمعية للاستمتاع بمقاطع الفيديو التي يتم الحصول عليها من العديد من المزودين المختلفين - كل ذلك في تطبيق واحد أنيق وسهل الاستخدام.","WEBSITE_CREATE_AN_ADDON":"أنشاء أضافة","WEBSITE_FEATURES_SYNC":"قم بمزامنة مكتبتك عبر أجهزة مختلفة واستأنف التشغيل","WEBSITE_FEATURES_SYNC_P1":"قم بتسجيل الدخول بحسابك عبر جميع أجهزتك واستمتع بمكتبتك ووظائفك الإضافية والتشغيل والتقويم المتزامن.","WEBSITE_FEATURES_EXTENDABLE":"كتالوج الفيديو القابل للتوسيع من خلال الإضافات","WEBSITE_FEATURES_EXTENDABLE_P1":"يوفر كتالوج Stremio الملحق عددًا من الوظائف الإضافية لتثبيت ومشاهدة مجموعة متنوعة من محتوى الفيديو. يتضمن ذلك الأفلام والعروض والتلفزيون المباشر والرياضة والأخبار والبودكاست وقنوات الويب وألعاب الفيديو والمزيد.","WEBSITE_FEATURES_AUTO_SUBS":"ترجمة تلقائية","WEBSITE_FEATURES_AUTO_SUBS_P1":"من خلال إضافات الترجمة لدينا ، ستحصل تلقائيًا على خيارات محددة للغتك المفضلة.","WEBSITE_FEATURES_CHROMECAST":"الإرسال إلى Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"استمتع بمحتوى الفيديو الخاص بك على شاشة أكبر أو قم فقط بإرسال كل ما تشاهده إلى جهاز آخر.","WEBSITE_FEATURES_KEEP_TRACK":"تتبع البرامج التلفزيونية وقنوات الويب المفضلة لديك","WEBSITE_FEATURES_KEEP_TRACK_P1":"احصل على تصور للتقويم وإشعارات لحلقات جديدة من مسلسلاتك وقنوات الويب المفضلة لديك.","WEBSITE_FEATURES_POWER_USER":"ميزات المستخدم القوي","WEBSITE_FEATURES_POWER_USER_P1":"التشغيل على مشغل خارجي","WEBSITE_FEATURES_POWER_USER_P2":"التشغيل من رابط تورنيت","WEBSITE_FEATURES_POWER_USER_P3":"الاستيراد إلى مكتبتك من الإعجابات على Facebook أو القرص المحلي","WEBSITE_ADD_ONS":"الأضافات","WEBSITE_ADD_ONS_P1":"يتم الحصول على كل محتوى الفيديو الذي يوفره Stremio من خلال نظام إضافي - لم يتم تضمين أي محتوى أو مزود محتوى في التطبيق.","WEBSITE_ADD_ONS_P2":"هناك مجموعتان من الاضافات المتاحة: الاضافات الرسمية واضافات المجتمع.","WEBSITE_ADD_ONS_P3":"يتم تطوير الاضافات الرسمية واستضافتها بواسطة Stremio ، بينما يتم إنشاء الإضافات المجتمعية من قبل أعضاء مجتمعنا ، والذين يستضيفونها أيضًا.","WEBSITE_ADDONS_OFFICIAL":"الاضافات الرسمية","WEBSITE_ADDONS_WATCHUB":"قم ببث أفلامك ومسلسلاتك وعروضك المفضلة من مزودين مثل iTunes و Hulu و Amazon وغيرها من خدمات المملكة المتحدة / الولايات المتحدة.","WEBSITE_ADDONS_YOUTUBE":"شاهد قنوات YouTube المفضلة لديك بدون إعلانات واحصل على إشعارات بالتحميلات الجديدة من المساهمين الذين تتابعهم.","WEBSITE_ADDONS_FILMON":"شاهد البث التلفزيوني المباشر والأفلام والتلفزيون الاجتماعي مجانًا. 600 قناة تلفزيونية و 45000 فيلم مجاني ووثائقي وغير ذلك.","WEBSITE_ADDONS_OPENSUBTITLES":"ترجمات الأفلام والتلفزيون بلغات متعددة ، يتم تحميل آلاف الترجمات المترجمة كل يوم.","WEBSITE_ADDONS_COMMUNITY":"أضافات المجتمع","WEBSITE_ADDONS_FILMON_VOD":"شاهد الفيديو عند الطلب من Filmon.tv","WEBSITE_ADDONS_TWICH":"شاهد البث المباشر من Twitch.tv - منصة بث فيديو لصناعة الرياضة الإلكترونية.","WEBSITE_ADDONS_VODO":"مشاهدة الافلام المستقلة تماما مجانا.","WEBSITE_ADDONS_NETFLIX":"شاهد أفلام Netflix ومسلسلات الويب.","WEBSITE_ADDONS_CREATE":"أنشىء أضافة جديدة","WEBSITE_ADDONS_CREATE_P1":"إذا كنت ترغب في ذلك ، يمكنك تطوير الأضافة الخاصة بك. بهذه الطريقة ، يمكنك منح نفسك ومجتمعنا إمكانية الوصول إلى محتوى فيديو جديد والوصول إلى جمهور مستهدف جديد من ملايين المستخدمين حول العالم.","WEBSITE_ADDONS_START_CREATE":"للبدء ، قم بزيارة صفحة Stremio Addon SDK:","WEBSITE_DOWNLOADS":"التنزيلات","WEBSITE_DOWNLOADS_P1":"للحصول على الأداء الأمثل ، نوصي باستخدام أحدث إصدار متوفر من تطبيقات Stremio. ومع ذلك ، إذا كنت ترغب في استخدام إصدار أقدم لسبب ما ، فيمكنك تنزيله من هنا.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio لأجهزة الويندوز","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio لأجهزة ماك","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio لأجهزة لينوكس","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio لأجهزة الأندرويد","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio لأجهزة تلفاز الأندرويد","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio لأجهزة الأندرويد","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio لجهاز ستيم ديك","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio لأجهزة الأيفون (نسخة محدودة)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"منصة Stremio مفتوحة المصدر ويمكنك بسهولة إنشاء أضافات للمحتوى غير المصدر حاليًا.","WEBSITE_CONTRIBUTE_WHY":"لماذا يجب عليك إنشاء أضافة ؟","WEBSITE_CONTRIBUTE_WHY_P1":"الوصول إلى جمهور جديد لمحتوى الفيديو الخاص بك","WEBSITE_CONTRIBUTE_WHY_P2":"تنمو قاعدة مستخدمي Stremio بسرعة - خلال العام الأول من الإطلاق ، اكتسبت Stremio مليون مستخدم حول العالم ، وفي العام الثاني من وجود النظام الأساسي ارتفع هذا الرقم إلى 2.5 مليون.","WEBSITE_CONTRIBUTE_WHY_P3":"باستخدام الأضافة الخاصة بك ، يمكنك الوصول بسهولة إلى هذا الجمهور وتوزيع محتوى الفيديو الخاص بك عليهم.","WEBSITE_CONTRIBUTE_ALL":"شاهد أفلامك ومقاطع الفيديو والمسلسلات والقنوات المفضلة لديك في مكان واحد.","WEBSITE_CONTRIBUTE_ALL_P1":"هل أنت معجب بنوع معين من المحتوى غير متوفر على Stremio حتى الآن؟ قم بإنشاء أضافة له واستمتع بمشاهدة مقاطع الفيديو المفضلة لديك في واحدة من أكبر وأسهل مراكز الترفيه في السوق من حيث الاستخدام.","WEBSITE_CONTRIBUTE_ALL_P2":"علاوة على ذلك ، ستحصل على الامتنان اللانهائي لأعضاء مجتمع Stremio الآخرين المتشابهين في التفكير.","WEBSITE_CONTRIBUTE_MONETIZE":"استثمر الأضافة الخاصة بك واكسب المال بمساعدته","WEBSITE_CONTRIBUTE_MONETIZE_P1":"بمجرد تطوير أضافة جديدة لـ Stremio ، يمكنك بسهولة تحقيق الدخل منه من خلال عدد من الطرق المختلفة. إذا كنت تفكر في ذلك ، فلا تتردد في الاتصال بنا على","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":"- يسعدنا أن نتشاور معك وننصحك بخيارات تحقيق الدخل الإضافي.","WEBSITE_CONTRIBUTE_TRANSLATE":"كن مترجمًا متطوعًا","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"إذا كنت ترغب في الاستمتاع بتطبيقات Stremio بلغات مختلفة ، فيمكنك الانضمام إلى مجتمع المترجمين المتطوعين لدينا. يساعدوننا في إضافة إصدارات من Stremio بعدة لغات مختلفة.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"هل أنت متشوق للبدء؟","WEBSITE_TRANSALTE_STREMIO":"ترجمة Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"المجتمع الرسمي","WEBSITE_COMMUNITY_OFFICIALS_P1":"كن جزءًا من مجتمع Stremio المتنامي. تابعنا على وسائل التواصل الاجتماعي ولا تخجل من إلقاء التحية - فنحن نحب أن نسمع من معجبينا!","WEBSITE_COMMUNITY_UNOFFICIALS":"المجتمعات غير الرسمية","STREMIO_COMMUNITY_NL":"Stremio في هولندا","STREMIO_COMMUNITY_BRASIL":"Stremio في البرازيل","STREMIO_COMMUNITY_GERMANY":"Stremio في المانيا","STREMIO_COMMUNITY_BELGIUM":"Stremio في بلجيكا","STREMIO_COMMUNITY_FRANCE":"Stremio في فرنسا","STREMIO_COMMUNITY_PORTUGAL":"Stremio في البرتغال","STREMIO_COMMUNITY_ITALY":"Stremio في ايطاليا","STREMIO_COMMUNITY_UK":"Stremio الممكلة المتحدة","STREMIO_COMMUNITY_USA":"Stremio الولايات المتحدة الأمريكية","STREMIO_COMMUNITY_MEXICO":"Stremio في المكسيك","STREMIO_COMMUNITY_ADDONS":"Stremio أضافات","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"الشركاء والداعمون","WEBSITE_COMMUNITY_GOODIES":"الأشياء الجيدة Stremio","WEBSITE_COMMUNITY_WALLPAPERS":"خلفيات الشاشة","WEBSITE_COMMUNITY_ART":"معرض الفنون","WEBSITE_LINK_ART":"معرض الفنون","WEBSITE_CONTACT_US":"تواصل معنا","WEBSITE_CONTACT_US_P1":"إذا كان لديك أي أسئلة أو تعليقات أو اقتراحات ، فلا تتردد في الاتصال بنا من خلال نموذج الاتصال أدناه.","WEBSITE_CONTACT_US_P2":"ضع في اعتبارك أننا موجودون في بلغاريا ، لذا قد يكون هناك تأخير في معالجة استفسارك بسبب اختلافات المنطقة الزمنية.","WEBSITE_CONTACT_US_SUCCESS":"تم ارسال رسالتك. سنعود إليك في أقرب وقت ممكن.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"يرجى إدخال البريد الإلكتروني الصحيح!","WEBSITE_CONTACT_US_Q_RELATED_TO":"بماذا يتعلق سؤالك؟","WEBSITE_CONTACT_US_Q_OS":"ما هو نظام التشغيل الخاص بك؟","WEBSITE_CONTACT_US_PH_EMAIL":"بريدك الالكتروني","WEBSITE_CONTACT_US_PH_MESSAGE":"رسالتك","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"أرسال","WEBSITE_CONTACT_US_Q_1":"كيفية التثبيت ؟","WEBSITE_CONTACT_US_Q_2":"كيفية ألغاء التثبيت ؟","WEBSITE_CONTACT_US_Q_3":"(HTML) كيف تصنع اللازانيا؟","WEBSITE_CONTACT_US_Q_4":"أضافات","WEBSITE_CONTACT_US_OS_1":"ويندوز","WEBSITE_CONTACT_US_OS_2":"ماك","WEBSITE_CONTACT_US_OS_3":"لينوكس","WEBSITE_CONTACT_US_OS_4":"أندرويد","WEBSITE_CONTACT_US_OS_5":"أيفون","WEBSITE_TECHNOLOGY":"التقنية","WEBSITE_TECHNOLOGY_P1":"نحن نحب التكنولوجيا والعلم المجنون. </br> هنا ما يمدك بالطاقة Stremio (كلها مفتوحة المصدر).","WEBSITE_TECHNOLOGY_P_QT":"تطوير البرامج عبر الأنظمة الأساسية في أفضل حالاتها.","WEBSITE_TECHNOLOGY_P_MPV":"مشغل وسائط مجاني ومفتوح المصدر ومتعدد المنصات.","WEBSITE_TECHNOLOGY_P_RN":"يتيح لك React Native إنشاء تطبيقات جوال باستخدام JavaScript فقط.","WEBSITE_TECHNOLOGY_P_VLC":"إطار الوسائط المضمن في التطبيق للحصول على الوسائط المتعددة.","WEBSITE_TECHNOLOGY_P_REALM":"Realm هي منصة متنقلة وبديل لبيانات SQLite & Core.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js هي بيئة تشغيل JavaScript مفتوحة المصدر ومتعددة المنصات.","WEBSITE_TECHNOLOGY_P_RUST":"Rust هي لغة برمجة نظام متعددة النماذج تركز على السلامة ، وخاصة التزامن الآمن.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"المساهمة في المشروع","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"هناك طريقتان يمكنك من خلالهما المساهمة في Stremio ومساعدتنا على تحسين المنتج.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"يمكنك التبرع بمهاراتك اللغوية القيمة من خلال ترجمة المنصة ...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"أو","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... يمكنك توظيف مهاراتك في البرمجة لإنشاء إضافات مجتمعية.","WEBSITE_TRANSLATE_STREMIO":"ترجمة Stremio","WEBSITE_404_OH_NO":"عذرًا! الصفحة التي تبحث عنها ليست هنا ...","WEBSITE_GO_HOME":"الرئيسية","WEBSITE_LINK_OTHER_DOWNLOADS":"تنزيلات أخرى","WEBSITE_FAQ_ABR":"أسئلة متكررة","WEBSITE_SUPPORT":"الدعم","WEBSITE_DOWNLOAD_4_0_BETA":"قم بتنزيل Stremio 4 beta الآن","WEBSITE_GET_FOR_DESKTOP":"احصل عليه للكمبيوتر","WEBSITE_LINK_ADDON_COMPETITION":"منافسة الأضافات","WEBSITE_LINK_ART_CONTEST":"مسابقه الفنون","WEBSITE_MY_ACCOUNT":"حسابي الشخصي","WEBSITE_MAINPAGE_FAQ_001_H1":"ما هو Stremio ؟ ","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio هو مركز وسائط حديث يمنحك حرية مشاهدة كل ما تريد.","WEBSITE_MAINPAGE_FAQ_002_H1":"كيف يعمل؟","WEBSITE_MAINPAGE_FAQ_002_P1":"بمجرد تثبيت Stremio على جهازك وإنشاء حساب ، كل ما عليك فعله هو زيارة الكتالوج الإضافي وتثبيت أي أداة إضافية تريدها ، وأنت على ما يرام!","WEBSITE_MAINPAGE_FAQ_002_P2":"بعد ذلك ، يمكنك الانتقال إلى قسم الأكتشاف أو لوحة التحكم لبدء استكشاف المحتوى.","WEBSITE_MAINPAGE_FAQ_003_H1":"ماذا يمكنني أن أشاهد هنا؟","WEBSITE_MAINPAGE_FAQ_003_P1":"الكثير: الأفلام والبرامج التلفزيونية وقنوات الويب والرياضة والقنوات التلفزيونية والاستماع إلى البودكاست والمزيد. بفضل نظام الأضافات الخاص بنا ، يمكنك الوصول إلى مجموعة متنوعة من المحتويات.","WEBSITE_MAINPAGE_FAQ_004_H1":"هل Stremio مفتوح المصدر؟","WEBSITE_MAINPAGE_FAQ_004_P1":"يمكنك التحقق من بعض الروابط : ${1}برنامج سطح المكتب${2} و ${3}GitHub المنظمة${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"هل Stremio آمن؟","WEBSITE_MAINPAGE_FAQ_005_P1":"نعم: نظرًا لأنه برنامج مفتوح المصدر ، فإن الكود قابل للتدقيق بشكل عام ويمكنك مراجعته بنفسك.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"ماذا عن خصوصيتي؟","WEBSITE_MAINPAGE_FAQ_006_P1":"نحترم خصوصية المستخدمين ولا نجمع أي بيانات شخصية إلى جانب الحد الأدنى الأساسي لإنشاء حسابك ومزامنته.","WEBSITE_MAINPAGE_FAQ_006_P2":"يوجد أيضًا ${1} وضع الضيف ${2} عند التسجيل ، والذي لا يتطلب أي بيانات على الإطلاق: في هذا الوضع ، لا يتم إجراء مكالمات إلى الواجهة الخلفية لدينا. ومع ذلك ، فإنه يأتي على حساب الميزات المفيدة ، مثل القدرة على مزامنة مكتبتك عبر الأجهزة.","WEBSITE_MAINPAGE_FAQ_007_H1":"هل يمكنني ارسال البث إلى التلفزيون الخاص بي؟","WEBSITE_MAINPAGE_FAQ_007_P1":"نعم ، نحن ندعم Chromecast ويمكنك الإرسال من تطبيقات سطح المكتب والأجهزة المحمولة (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"كم عدد الإضافات التي يمتلكها Stremio؟","WEBSITE_MAINPAGE_FAQ_008_P1":"اعتبارًا من أواخر عام 2019 ، أكثر من 50 - لمزيد من المعلومات ، راجع كتالوج الملحقات الخاصة بنا.","WEBSITE_MAINPAGE_FAQ_009_H1":"هل يمكن تمديد Stremio بما يتجاوز ما هو موجود في الكتالوج الإضافي؟","WEBSITE_MAINPAGE_FAQ_009_P1":"نعم ، يجب عليك التحقق مما يلي: ${1} PimpMyStremio ${2} ، ${3} مجتمعات Reddit ${4} ، ${5} Stremio Downloader ${6} ، إلخ.","WEBSITE_MAINPAGE_FAQ_010_H1":"ما هي الأجهزة التي يدعمها Stremio؟","WEBSITE_MAINPAGE_FAQ_010_P1":"لدينا تطبيقات سطح مكتب لأنظمة Windows و Mac و Linux. بالنسبة للجوال ، ندعم Android و iOS ، على الرغم من أن ضع في اعتبارك أن وظائف iOS محدودة (لا تدعم معظم الوظائف الإضافية).","WEBSITE_MAINPAGE_FAQ_010_P2":"هناك العديد من الأجهزة التي تعمل بنظام Android والتي يمكنك تشغيل Stremio عليها ، مثل NVIDIA Shield و Amazon Fire Stick ، ​​لكننا لا ندعمها رسميًا.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"هل يمكنك إضافة محتوى معين إلى Stremio؟","WEBSITE_MAINPAGE_FAQ_011_P1":"عذرًا ، لا نقدم أي محتوى بأنفسنا ، ولكن كلما قمت بتثبيت المزيد من إضافات Stremio ، ستتمكن من العثور على المزيد من المحتوى.","WEBSITE_MAINPAGE_FAQ_012_H1":"هل يستطيع Stremio تشغيل روابط التورنيت ؟","WEBSITE_MAINPAGE_FAQ_012_P1":"نعم ، ويمكنه أيضًا تشغيل روابط HTTP العادية وملفات التورنت (السحب والإفلات).","WEBSITE_MAINPAGE_FAQ_013_H1":"هل يمكنني تنزيل مقطع فيديو ومشاهدته بلا إنترنت؟","WEBSITE_MAINPAGE_FAQ_013_P1":"تعد الميزة المتاحة في وضع عدم الاتصال ميزة قادمة ، ولكن إذا سمحت لـ Stremio بالتخزين المؤقت على جهازك (من لوحة الإعدادات) ، يمكنك مشاهدة مقاطع الفيديو لاحقًا دون اتصال.","WEBSITE_MAINPAGE_FAQ_014_H1":"لا شيء يعمل ، ساعدني!","WEBSITE_MAINPAGE_FAQ_014_P1":"هل أنت متأكد أنك قمت بتثبيت الوظائف الإضافية؟ إذا كانت الإجابة بنعم ، فراجع ${1} مركز المساعدة ${2} الخاص بنا.","WEBSITE_MAINPAGE_FAQ_015_H1":"كيف يحافظ Stremio على عمليات التطوير الخاصة به؟","WEBSITE_MAINPAGE_FAQ_015_P1":"نعرض إعلانات غير تدخلية من حين لآخر ، لكننا نفكر في الانتقال إلى نموذج التبرع.","WEBSITE_MAINPAGE_FAQ_015_P2":"لمزيد من الأسئلة ، انتقل إلى مركز المساعدة $ {1}${2}.","HELP_LEARN_MORE":"ساعدنا في معرفة المزيد عنك.","LIFESTYLE":"أسلوب الحياة","SPORTS":"الرياضة","FOOD_HEALTH":"الطعام والصحة","BEAUTY_FASHION":"جمال و موضة","NEWS":"أخبار","GAMING":"ألعاب","SCIENCE_EDUCATION":"علم و تعليم","MUSIC":"موسيقى","TRAVEL":"السفر","LATE_NIGHT":"أخر الليل","REALITY":"واقعي","COMEDY":"كوميديا","DIY":"كيف تفعلها بنفسك","TECH":"تقنية","CINEMA":"سينيما","CONTINUE":"متابعة","SLOW_LOADING":"تحميل بطيئ ؟","I_GIVE_UP":"أنا أستسلم","LEARN_MORE":"معرفة المزيد","POOR_SOURCE":"هذا المصدر غير متاح بشكل جيد أو أن اتصالك بالإنترنت ليس سريعًا بما يكفي","PICK_CATEGORIES_ERR":"عليك أن تختار 3 فئات على الأقل","ADJUST_TIMING":"ضبط التوقيت باستخدام","ADJUST_SIZE":"ضبط الحجم مع","SEARCH_ANYTHING":"يمكنك البحث عن أي شيء ...","ALL_CATEGORIES":"الجميع","SEARCH_CATEGORIES":"أفلام ومسلسلات ويوتيوب وتلفزيون","SEARCH_PERSONS":"الممثلين والمخرجين والكتاب","SEARCH_PROTOCOLS":"روابط HTTP و التورنيت","SEARCH_TYPES":"IMDB / TVDB روابط","WATCHED":"تمت المشاهدة","SHOW_LESS":"إظهار أقل","LAST_SEARCHES":"أخر عمليات البحث","CLEAR_HISTORY":"مسح السجل","CHOOSE_SOME":"اختر بعضًا من هذا:","NO_WEB_REMOTE":"تعذر تحميل Web Remote","STREMIO_OFFLINE":"Stremio غير متصل","STREMIO_EXPENSIVE_CONNECTION":"لقد اكتشفنا أنك تستخدم اتصال بيانات الجوال ، هل تريد المتابعة؟","USE_DATA":"استخدم البيانات","WARNING":"تحذير","MORE_INFO":"مزيد من المعلومات ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"جار التحميل ...","STREMIO_TV_BACK_TO_LANGUAGES":"رجوع إلى اللغات","STREMIO_TV_REMOTE":"ريموت","STREMIO_TV_GO_TO":"أذهب الى:","STREMIO_TV_OR_SCAN":"أو قم بمسح:","STREMIO_TV_ADDON_INSTRUCTIONS":"يرجى اتباع التعليمات لتثبيت الإضافات المفضلة لديك.","STREMIO_TV_LIVE_TV":"تلفاز مباشر","STREMIO_TV_RESUME_WATCHING":"تابع المشاهدة","STREMIO_TV_LOADING_BACKGROUND":"التحميل في الخلفية","STREMIO_TV_CHECKING_AUTHENTICATION":"التحقق من المصادقة","STREMIO_TV_LOADING_BOARD":"تحميل لوحة التحكم","STREMIO_TV_LOGIN_HEADER_LINE_1":"نريد لمستخدمينا الحصول على أفضل تجربة شخصية ممكنة مع برنامجنا.","STREMIO_TV_LOGIN_HEADER_LINE_2":"لهذا السبب نطلب منك التفضل بإنشاء و / أو تسجيل الدخول إلى حسابك.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"شكرا لتفهمك،","STREMIO_TV_LOGIN_FOOTER_LINE_2":"فريق Stremio","STREMIO_TV_REMOTE_INSTRUCTIONS":"من أجل استخدام Web Remote مع الهاتف الذكي / الجهاز اللوحي / سطح المكتب:","STREMIO_TV_WIFI_SETUP":"Wi-Fi ضبط","STREMIO_TV_WIFI_HEADER_LINE_1":"لم يكتشف Stremio Circle اتصالاً بالإنترنت.","STREMIO_TV_WIFI_DETAILS_1":"الاتصال بـ:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"استخدم كلمة المرور:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"افتح متصفح الويب بالرابط:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"تلقائي","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"باخر مرة تمت المشاهدة","STREMIO_TV_LIBRARY_SORT_NAME":"بالاسم","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"بعدد مرات المشاهدة","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"موسم ${1}","STREMIO_TV_STREAMS_LOADING":"حملت ${1} / ${2} الاضافات...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} االاضافة لازالت قيد التحميل...","STREMIO_TV_PLAYER_SETTINGS":"اعدادات المشغل","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"تاخير الترجمة","STREMIO_TV_PLAYER_AUDIO_DELAY":"تاخير الصوت","STREMIO_TV_PLAYER_VIDEO_SCALING":"مقياس الفيديو","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"مصدر بث غير مدعوم","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"فشل فتح الرابط الحارجي","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Not adjustable in audio passthrough mode","STREMIO_TV_PLAYER_PLAY_IN_EXO":"تشغيل بـ ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"تشغيل بـ libVLC مشغل","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Switching to libVLC player due to a playback error","STREMIO_TV_ADDONS_TITLE":"استعمل stremio على هاتفك او حاسوبك واعد تثبيت او اضبط الاضافات ثم اضغط على \\"اعادة المزامنة\\"","STREMIO_TV_ADDONS_SUBTITLE":"ملاحظة: تاكد من استعمال نفس حساب stremio","STREMIO_TV_ADDONS_SYNC_ADDONS":"مزامنة الاضافات","STREMIO_TV_ADDONS_SYNC_SUCCESS":"تمت مزامنة الاضافات بنجاح","STREMIO_TV_ADDONS_SYNC_FAILED":"فشل مزامنة الاضافات","STREMIO_TV_META_LINK_FAILED":"فشل فتح ارتباط التعريف","STREMIO_TV_CATALOG_LOADING":"لم يتم تحميل الفهرس بعد ...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"تم تحديث لغة الواجهة","STREMIO_TV_SETTINGS_THEME_UPDATED":"تم تحديث المظهر","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"المشغل الافتراضي","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"المشغل الخارجي","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"اللغة المفضلة","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"اللغة المفضلة الثانية","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"تشغيل عبر الانفاق","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"قد يكون هنالك مشاكل تشغيل محتملة على بعض الأجهزة","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"بعض انواع الفيديوهات قد لا تعمل","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"بدون تخزين مؤقت","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"تلقائي","STREMIO_TV_SETTINGS_PROFILE_SOFT":"ناعم","STREMIO_TV_SETTINGS_PROFILE_FAST":"سريع","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"سريع جدا","STREMIO_TV_SETTINGS_SERVER_URL":"رابط سيرفر المشاهدة","STREMIO_TV_SETTINGS_SERVER_VERSION":"اصدار السيرفر","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"مجهول","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio اصدار","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"تغير رابط السريفر","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"ادخل عنوان رابط السيرفر","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Show statistics while loading","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"لقراءت سايسة الخصوصية زر:","STREMIO_TV_SETTINGS_TOS_TEXT":"لقراءت الاحكام والشروط زر:","STREMIO_TV_NAV_SEARCH":"البحث","STREMIO_TV_NAV_HOME":"الرئيسية","STREMIO_TV_NAV_DISCOVER":"اكتشاف","STREMIO_TV_NAV_LIBRARY":"المكتبة","STREMIO_TV_NAV_MOVIES":"افلام","STREMIO_TV_NAV_SERIES":"مسلسلات","STREMIO_TV_NAV_CHANNELS":"قنوات","STREMIO_TV_NAV_TV":"قنوات تلفزيونية مباشرة","STREMIO_TV_NAV_SETTINGS":"الاعدادات","STREMIO_TV_NAV_ADDONS":"اضافات","STREMIO_TV_LOGIN_TITLE":"ربط الحساب","STREMIO_TV_LOGIN_EXPIRES_IN":"تنتهي الصلاحية في","STREMIO_TV_LOGIN_STEP_ONE":"امسح QR Code اعلاه او اذهب الى","STREMIO_TV_LOGIN_STEP_TWO":"تسجيل الدحول لحساب Stremio الخاص بك","STREMIO_TV_LOGIN_NEW_LINK":"طلب رابط جديد","STREMIO_TV_LOGIN_LINK_REFRESHED":"تم تحديث كود تسجيل الدحول","STREMIO_TV_SEARCH_PLACEHOLDER":"اكتب شيئا ما","STREMIO_TV_SEARCH_NO_ADDONS":"لم يتم طلب اي اضافة لهذا الفهرس!","STREMIO_TV_SEARCH_BUTTON":"بحث","STREMIO_TV_SEARCH_KEY_DEL":"حذف","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"مسح","STREMIO_TV_SEARCH_HISTORY_TITLE":"سجل البحث","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"يمكنك البحث عن عناوين, ممثلين, قنوات والمزيد ...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"مسح سجل البحث","STREMIO_TV_FILTERS_DESCRIPTION":"اختر احد الفلترات اسفله","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"قلترات","SETTINGS":"الاعدادات","ACCOUNT":"الحساب","LOGOUT":"تسجيل الخروج","THEMES":"مظاهر","PLAYBACK":"العرض","PLAYBACK_SPEED":"سرعة العرض","AUDIO_TRACKS":"مسار صوت","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"فديوهات","SERVER":"السيرفر","LINKS":"روابط","ABOUT":"حول","INTERFACE":"الواجهة","ANIMATIONS":"التاثيرات","STATUS":"الحالة","LANGUAGE":"اللغة","SIZE":"الحجم","DELAY":"التاخير","BOLD":"عريض","OPACITY":"Opacity","TEXT_COLOR":"لون الكتابة","OUTLINE_COLOR":"لون الخط الخارجي","BACKGROUND_COLOR":"لون الخلفية","BACKGROUND_BLUR":"ضبابية الخلفية","SEEK_TIME_DURATION":"مدة وقت التقديم","AUTO_PLAY":"التشعيل التلقائي للحلقة القادمة","PLAY_NOW":"شغل الان","MARK_AS_WATCHED":"تعليم كتمت مشاهدته","MARK_AS_UNWATCHED":"تعليم كلم تتم مشاهدته","REWIND_TO_BEGINNING":"اعادة من الاول","CONTINUE_WATCHING":"اكمل المشاهدة","ALL":"الكل","SECONDS":"ثواني","ON":"مفعل","OFF":"معطل","RELOAD":"اعادة تحميل","EDIT_URL":"تعديل الرابط","NONE":"لاشيء","EMBEDDED":"مضمن","REMOTE_SWITCH_DEVICES":"تبديل الأجهزة","REMOTE_VIDEOS":"فيديوهات","REMOTE_ADJUST_TIMING":"ضبط التوقيت","REMOTE_ADJUST_SIZE":"ضبط الحجم","REMOTE_COULD_NOT_BE_LOADED":"تعذر تحميل Web Remote","REMOTE_RETRY":"أعادة المحاولة","TORRENT_PROFILE_DEFAULT":"إفتراضي","TORRENT_PROFILE_SOFT":"معتدل","TORRENT_PROFILE_FAST":"سريع","TORRENT_PROFILE_ULTRA_FAST":"فائقة السرعة","FAQ_001_H1":"ما هو Stremio؟","FAQ_001_P1":"Stremio هو برنامج مركز وسائط مصمم للترفيه بالفيديو مع وضع سهولة الاستخدام في الاعتبار. يسمح لك Stremio بتنظيم شاهد مجموعتك الخاصة من الأفلام والمسلسلات والقنوات والبث التلفزيوني المباشر.","FAQ_001_P2":"يقوم Stremio بجمع المحتوى الذي يعرضه لك من القرص المحلي ونظام الوظائف الإضافية الخاص بنا.","FAQ_001_P3":"سيُعلمك أيضًا عند ظهور حلقات / مقاطع فيديو / أفلام جديدة تهتم بها ، ويقدم لك توصيات بشأن الأفلام.","FAQ_02_H1":"كيف يقارن Stremio بـ Kodi و Plex؟","FAQ_02_P1":"نحن مستوحون من هذين البرنامجين. لكن لدينا أهدافًا مختلفة - يستهدف Stremio بشكل خاص الفيديو الترفيهي ، ويسعى جاهداً ليصبح الحل السائد لذلك من خلال كونه سهل الاستخدام للغاية.","FAQ_02_P2":"لن يكون Stremio أبدًا قابلاً للتخصيص وغنيًا بالميزات مثل Kodi و Plex ، ولكنه أسهل كثيرًا في الاستخدام. فقط ${1} احصل عليه واطلع على ${2} :)","FAQ_03_H1":"كيف يقارن Stremio بـ Netflix؟","FAQ_03_P1":"مرة أخرى ، يعد Netflix أحد مصادر إلهامنا. نحن نسعى جاهدين لتحقيق تجربة مستخدم Netflix ، بالإضافة إلى الكثير من الأشياء الجيدة المضافة. ولكن الأهم من ذلك ، أننا نمنحك حرية إدارة مكتبتك الخاصة وإضافة مصادر محتوى جديدة باستخدام نظام الملحق الخاص بنا.","FAQ_03_P2":"هذا يجعل Stremio قابلًا للتمديد بشكل لا نهائي ، لذلك عندما تستخدم Stremio ، فأنت لا تقتصر أبدًا على المحتوى الذي تقرر Netflix ترخيصه. على سبيل المثال ، من خلال Stremio ، يمكنك مشاهدة محتوى من $ {1} Filmon.tv ${2} ، ${3} Twitch.tv ${4} ، ${5} YouTube ${6} ، ${7} Vodo ${8} وحتى ${9} Netflix ${10} نفسها!","FAQ_04_H1":"كيف يقارن Stremio بـ Flipboard؟","FAQ_04_P1":"لا نتلقى هذا السؤال كثيرًا ، إلا عند التحدث إلى أشخاص مبتدئين :)","FAQ_04_P2":"يعد Stremio عن طريق تصميم مجمع محتوى ، مما يجعله بشكل أساسي Flipboard للفيديو. هذا واضح جدًا في قسم Board الخاص بنا ، والذي يمنحك كتالوجات وإشعارات حلقة جديدة / فيديو جديد لما تتابعه ، تمامًا مثل Flipboard.","FAQ_05_H1":"كيف يقارن Stremio بـ Popcorn Time؟","FAQ_05_P1":"يتشابه كل من Stremio و Popcorn Time في واجهة المستخدم ، لأنه لا توجد طرق عديدة لعمل كتالوجات فيديو ترفيهية بشكل صحيح :)","FAQ_05_P2":"ولكن بينما يركز Popcorn Time على بث التورنت من مصادر محددة ، فإن Stremio غير مقيد وهو مجرد مجمع محتوى - فهو غير مقيد بمصدر محتوى معين.","FAQ_05_P3":"علاوة على ذلك ، نحن لا نقدم أي إضافات تورنت افتراضيًا ، لذلك لا يغطي Stremio حالة استخدام Popcorn Time بالوظائف الرسمية.","FAQ_05_P4":"الفرق الملحوظ الآخر هو أن Popcorn Time مفتوح المصدر بالكامل ، بينما Stremio ${1} مفتوح المصدر جزئيًا ${2}.","FAQ_06_H1":"هل ستضيف هذا الفيلم / المسلسل؟","FAQ_06_P1":"لا آسف :(","FAQ_06_P2":"كما هو مذكور في معظم الأسئلة الأخرى ، لا يوفر Stremio أي محتوى بمفرده - تتم إضافة كل شيء من خلال نظام الوظائف الإضافية. في حالة وجود طلب محتوى ، يمكنك استخدام الزر إبلاغ في المشغل ، والذي سيرسل بريدًا إلكترونيًا إلى مؤلف الوظيفة الإضافية التي تستخدمها حاليًا.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"هل ستقوم بإنشاء أضافة لـ X؟","FAQ_08_P1":"إنه ممكن تمامًا.","FAQ_08_P2":"إذا كانت لديك فكرة عن أضافة ، فأرسل لنا سطرًا على ${1}office@stremio.com ${2} ، ولكن يُرجى التأكد من أن فكرة الملحق لن تنتهك أي حقوق طبع ونشر أو شروط استخدام.","FAQ_08_P3":"في الوقت الحالي ، الأشياء التالية في خارطة الطريق هي الإضافات لـ FandangoNOW ، فيديو Filmon.tv عند الطلب و Crunchyroll.","FAQ_09_H1":"هل يستخدم Stremio برنامج BitTorrent؟","FAQ_09_P1":"نعم ، يدعم Stremio BitTorrent كبروتوكول دفق. يمكنك استخدام ذلك إما مع أضافة تورنت ، أو عن طريق سحب وإفلات ملف .torrent في Stremio ، أو عن طريق لصق رابط تورينت في شريط البحث.","FAQ_09_P2":"يرجى ملاحظة أن الملحق الرسمي الوحيد الذي يستخدم BitTorrent هو ${1} Vodo ${2} ، والذي يوفر محتوى مستقل ، وكلها مسموح بتوزيعها باستخدام BitTorrent.","FAQ_09_P3":"نحن لا ندعم استخدام أي أدوات إضافية لطرف ثالث والتي قد تتيح انتهاك حقوق النشر.","FAQ_10_H1":"ما الذي يمكنني مشاهدته في Stremio باستخدام الإضافات الرسمية؟","FAQ_10_P1":"بشكل افتراضي ، يمكنك مشاهدة محتوى Filmon.tv و YouTube و Vodo داخل Stremio نفسها ، باستخدام مشغلها المضمن. بالإضافة إلى ذلك ، لدينا ملحق لـ Twitch.tv وعدد قليل من البرامج الأخرى.","FAQ_10_P2":"يوفر هذا مجتمعة مجموعة مختارة من:","FAQ_10_L1":"قنوات تلفزيونية شهيرة ، تقدمها Filmon.tv - على سبيل المثال E4 و BBC و Bollyworld TV","FAQ_10_L2":"كل شيء من YouTube - على سبيل المثال BBC News و Top Gear و Vevo و PewDiePie","FAQ_10_L3":"الأفلام المستقلة مع Vodo","FAQ_10_L4":"يتم بث الألعاب عبر الإنترنت باستخدام Twitch.tv","FAQ_10_P3":"بالإضافة إلى ذلك ، هناك العديد من مصادر المحتوى المتوفرة مع Guidebox ووظائف Netflix الإضافية ، والتي <b> لا تعمل </ b> بالكامل داخل Stremio ، ولكنها ستعيد التوجيه إلى الخدمة المحددة. على سبيل المثال ، ستمنحك الوظيفة الإضافية Guidebox مجموعة مختارة من الأفلام التي يمكنك بثها في الولايات المتحدة مجانًا ، من خدمات مثل TubiTV و Crackle.","FAQ_11_H1":"لن يتم تثبيت Stremio ، فماذا أفعل؟","FAQ_11_P1":"إذا كنت تستخدم نظام التشغيل Windows ، فجرّب ${1} أداة التثبيت البديلة هذه ${2}.","FAQ_11_P2":"إذا كنت تستخدم نظام التشغيل Mac OS X ، فيرجى العلم أننا لا ندعم أي شيء أقدم من OS X Mavericks (10.9).","FAQ_11_P3":"إذا كنت تستخدم نظام Linux ، فاعلم أننا ندعم نظام Linux 64 بت (x64) فقط في الوقت الحالي.","FAQ_11_P4":"إذا كنت لا تزال غير قادر على حل مشكلتك ، فيرجى مراسلتنا على ${1} Facebook group ${2}.","FAQ_12_H1":"لماذا يشتكي برنامج مكافحة الفيروسات الخاص بي؟ هل Stremio آمن؟","FAQ_12_P1":"نؤكد لك أن Stremio هو ${1} 100٪ نظيف ${2}.","FAQ_12_P2":"يشكو برنامج مكافحة الفيروسات الخاص بك لأننا نقوم بتضمين إعلانات في أداة التثبيت الخاصة بنا ، والتي تتعرف عليها بعض برامج مكافحة الفيروسات على أنها أدوات إعلانية.","FAQ_12_P3":"إذا كنت لا تزال غير متأكد ، فيمكنك تجربة ${1} المثبت البديل ${2}.","FAQ_13_H1":"كيف يمكنني عمل أضافة جديدة ؟","FAQ_13_P1":"بالنسبة للمبتدئين ، نوصيك بالتحقق من وحدة نظام الإضافات ${1} الخاصة بنا ${2} على GitHub.","FAQ_13_P2":"بعد ذلك ، يمكنك اتباع البرنامج التعليمي ${1} Hello World ${2}.","FAQ_13_P3":"إذا لم تكن لديك أي مهارات برمجية ، فالرجاء نشر فكرتك على ${1} مجتمع Reddit ${2} والاتصال بنا لتقديم فكرة الملحق الخاص بك على ${3}office@stremio.com${4}.","FAQ_14_H1":"كيف يتم نشر الإضافات؟","FAQ_14_P1":"عندما تنشئ ملحقًا ومضيفًا ، وتضع حقل <b> نقطة نهاية </b> في البيان الخاص بك ، والذي يشير إلى عنوان ملحق يعمل ، فإن الوظيفة الإضافية ستنشر نفسها تلقائيًا في كتالوج ${1} Addon ${2} .","FAQ_14_P2":"يحدث هذا لأن جزء الخادم من وحدة stremio-addons يقوم تلقائيًا بإجراء مكالمة إلى واجهة برمجة التطبيقات الخاصة بنا للإعلان عن الملحق. عندما تتحقق واجهة برمجة التطبيقات الخاصة بنا من <b> نقطة النهاية </ b> كإضافة صالحة ، ستبدأ في الظهور في الكتالوج.","FAQ_15_H1":"هل يمكنني تشغيل Stremio في المتصفح الخاص بي؟","FAQ_15_P1":"ليس في الوقت الحالي ، لكن هذا قادم!","FAQ_15_P2":"إذا كنت مهتمًا برؤية ألفا ، فيمكنك رؤيته هنا: ${1} alpha4.strem.io ${2}. ضع في اعتبارك أن البث معطل في هذا الإصدار ألفا. نحن ندعم Chrome و Firefox و Opera و Edge.","FAQ_16_H1":"الإرسال إلى التلفزيون لا يعمل / لا تعمل الترجمة","FAQ_16_P1":"يستخدم Casting to TV تقنية DLNA وهي غير متسقة للغاية بين مختلف العلامات التجارية والموديلات. لهذا السبب ، ليس لدينا القدرة على اختباره في كل حالة ، لذا فهو بعيد عن الكمال. على الرغم من ذلك ، نحن نعمل على تحسينه باستمرار ولكن لا يمكننا منحك تقديرًا للوقت حول موعد بدء DLNA في العمل بشكل صحيح مع تلفزيونك.","FAQ_16_P2":"إذا كنت لا ترى التلفزيون الخاص بك في قائمة الإرسال ، فالرجاء محاولة تعطيل اتصال الشبكة وإعادة تمكينه (في Windows ، انقر بزر الماوس الأيمن فوق الشبكة واستخدم تمكين / تعطيل) ، وكذلك إعادة تشغيل جهاز التوجيه والتلفزيون والكمبيوتر .","FAQ_16_P3":"إذا كنت لا تزال تواجه مشكلات ، فيمكنك مساعدتنا عن طريق إرسال معلومات الطراز والعلامة التجارية التلفزيونية الخاصة بك على ${1}office@stremio.com${2}.","FAQ_16_P4":"في غضون ذلك ، نوصي باستخدام Chromecast ، الذي ندعمه جيدًا ، أو ببساطة قم بتوصيل التلفزيون بجهاز الكمبيوتر باستخدام كابل HDMI.","FAQ_17_H1":"يتجمد Stremio و / أو يتعطل ، ماذا يمكنني أن أفعل؟","FAQ_17_P1":"بادئ ذي بدء ، إذا كنت تستخدم Windows 7 مع برنامج مكافحة الفيروسات AVG: لدينا مشكلة في هذه المجموعة. المشكلة في AVG نفسه ، وليس هناك طريقة معقولة لحلها من جانبنا. لسوء الحظ ، لن تعمل الاستثناءات أو تعطيل برنامج مكافحة الفيروسات. الحل الوحيد هو استبدال AVG بشيء آخر.","FAQ_17_P2":"إذا لم تكن هذه هي المشكلة ، ولكنك لا تزال تستخدم Windows ، فيرجى التحديث إلى أحدث حزمة خدمة وتحديث / إعادة تثبيت برامج تشغيل GPU ، ثم حاول مرة أخرى.","FAQ_17_P3":"إذا لم يتم حل المشكلة بعد ، أو إذا كنت تستخدم نظام التشغيل Mac أو Linux ، فيرجى مراسلتنا للإبلاغ عن التفاصيل الدقيقة للمشكلة على ${1} مجموعة Facebook ${2}.","FAQ_18_H1":"كيف يمكنني عمل أضافة ؟","FAQ_18_P1":"بالنسبة للمبتدئين ، نوصيك بالتحقق من وحدة نظام الإضافات ${1} الخاصة بنا ${2} على GitHub.","FAQ_18_P2":"بعد ذلك ، يمكنك اتباع البرنامج التعليمي ${1} Hello World ${2}.","FAQ_18_P3":"إذا لم تكن لديك أي مهارات برمجية ، فالرجاء نشر فكرتك على ${1} مجتمع Reddit ${2} والاتصال بنا لتقديم فكرة الملحق الخاص بك على ${3}office@stremio.com${4}.","FAQ_19_H1":"لماذا يشغل Stremio مساحة على القرص؟","FAQ_19_P1":"يحتوي Stremio على <b> ذاكرة تخزين مؤقت محلية </ b> للاحتفاظ مؤقتًا بملفات الفيديو التي تقوم بدفقها.","FAQ_19_P2":"هذا له فائدتان: أولاً ، يسمح لـ Stremio بالتخزين المؤقت للفيديو مسبقًا لضمان تدفق أكثر سلاسة. ثانيًا ، يحتفظ بمقاطع الفيديو في ذاكرة التخزين المؤقت المحلية حتى تتمكن من متابعة مشاهدتها في وضع عدم الاتصال.","FAQ_19_P3":"يعتمد مقدار ما يحتفظ به Stremio على إعداد <b> ذاكرة التخزين المؤقت </ b> في لوحة الإعدادات. قد يحافظ Stremio على الكمية المحددة (على سبيل المثال 2 جيجا بايت) على القرص الخاص بك ، ما لم يكن الفيديو المتدفق حاليًا أكبر من ذلك ، وفي هذه الحالة يجب عليه تخصيص مساحة تخزين كافية للاحتفاظ به حتى تقوم بدفقه.","FAQ_20_H1":"أين هو مجلد ذاكرة التخزين المؤقت؟","FAQ_20_P1":"في Windows ، يكون stremio-cache في محرك الأقراص الذي اخترته في الإعدادات (مثال \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"على MacOS ، إنه \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"على Linux ، إنه \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"تلقيت خطأ لم يتم العثور على خادم البث ، فماذا أفعل؟","FAQ_21_P1":"إذا تلقيت هذا الخطأ ، فهذا يعني أحد الأشياء القليلة:","FAQ_21_P2":"1) أنت تحاول استخدام ملحق مدعوم من مصدر YouTube / BitTorrent ، من خلال إصدار الويب ${1} الخاص بنا ${2}. في هذه الحالة ، يجب عليك تثبيت إصدار سطح المكتب من $ {3} موقعنا $ {4}.","FAQ_21_P3":"2) هناك خطأ ما في تثبيت Stremio. في هذه الحالة ، حاول إعادة تثبيت أحدث إصدار لسطح المكتب من ${1} موقع الويب ${2}. إذا لم يساعدك ذلك ، فحاول تعطيل برامج مكافحة الفيروسات والجدران النارية وإعادة تشغيل الكمبيوتر والمحاولة مرة أخرى. إذا لم يفلح هذا أيضًا ، يرجى مراسلتنا على ${3} مجموعتنا على Facebook ${4}.","FAQ_22_H1":"لا يمكنني رؤية / استخدام معظم الوظائف الإضافية على iOS","FAQ_22_P1":"نظرًا للقيود الواردة في شروط وأحكام متجر تطبيقات Apple ، فقد قصرنا تطبيق iOS على مجموعة معينة من الوظائف الإضافية.","FAQ_22_P2":"لكن كن مطمئنًا - سيكون هناك المزيد من الوظائف الإضافية لنظام iOS في المستقبل ، وقد نضيف أيضًا تكاملًا يسمح لك باستخدام جميع إضافات Stremio بفضل توصيل تطبيق iOS بخادم Stremio Streaming Server."}')},97726:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Филм","TYPE_series":"Сериал","TYPE_tv":"TV канал","TYPE_channel":"Канал","TYPE_other":"Друго","TYPE_movie_PL":"Филми","TYPE_series_PL":"Сериали","TYPE_tv_PL":"TV канали","TYPE_channel_PL":"Канали","TYPE_other_PL":"Други","TYPE_ALL":"Всички","TYPE":"Тип","CATALOG_com_linvo_cinemeta_top":"Популярни","CATALOG_com_linvo_cinemeta_imdbRating":"Препоръчани","CATALOG_com_linvo_cinemeta_year":"Нови","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"Видео","BACK":"Назад","MORE":"Още","DONE":"Готово","COPY":"Копирай","SUCCESS":"Успех","ERROR":"Грешка","SETTINGS_CASTING_MODE_PICKER":"Режим на излъчване","CASTING_MODE_HLSV2":"По подразбиране","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Без транскодиране","Discover":"Открий","Board":"Табло","Library":"Библиотека","My Library":"Моята библиотека","Calendar":"Календар","NOTIFICATION_ONLINE":"Вече сте онлайн","NOTIFICATION_OFFLINE":"В момента сте офлайн","INTERNET_CONNECTION":"Интернет връзка","STORAGE_FULL_TITLE":"Внимание: Паметта е пълна!","STORAGE_FULL_TEXT":"Stremio няма да може да запази вашите настройки, предпочитания или информация за вход. Помислете за повторно стартиране или преинсталиране на Stremio.","SEARCH":"Търсене","SEARCH_NO_RESULTS":"Не са намерени резултати","SEARCH_EXPLANATION_CONTENT":"Търсете на филми, сериали, TV и YouTube канали","SEARCH_EXPLANATION_PEOPLE":"Търсене на актьори и режисьори","SEARCH_PASTE_LINKS":"Поставете HTTP или магнитна връзка","SEARCH_OR_PASTE_LINK":"Търсене или поставяне на връзка","SEARCH_SUGGESTIONS":"Предложения за търсене","ADD_TO_LIB":"Добави","REMOVE_FROM_LIB":"Премахни","ADDED_TO_LIB":"Добавено към библиотека","REMOVED_FROM_LIB":"Премахнато от библиотека","TRAILER":"Трейлър","WATCH_TRAILER":"Трейлър","WATCH_NOW":"Гледай","SHOW":"Покажи","SHOW_MOVIE":"Показване на филма","WATCH_RANDOM":"Произволно гледане","IMDB_RATING":"IMDb рейтинг","YEAR":"Година","DIRECTOR":"Режисьор","WRITER":"Автор","LEAD_ACTORS":"В главните роли","CAST":"Състав","CREW":"Екип","SHOW_MORE_CAST":"Показване на повече актьорски състав »","AIRED":"Излъчено","SEASONS":"Сезони","GENRE":"Жанр","GENRE_ALL":"Всичи жанрове","CATALOG":"Каталог","SUMMARY":"Описание","SHOW_MORE":"Показване на повече","SIMILAR":"Подобни","UPCOMING":"Очаквайте","ENDED":"Прекратено","DURATION":"Продължителност","FEATURED":"Предложено","METADATA":"Метаданни","CATEGORY":"Категория","LINKS_GENRES":"Жанрове","LINKS_CAST":"Актьорски състав","LINKS_DIRECTORS":"Режисьори","SEARCH_VIDEOS":"търси видеа","SEARCH_PLACEHOLDER":"търсене или поставяне на магнитна връзка","ADDON":"добавка","ADDONS":"Добавки","OFFICIAL":"официални","ADDONS_OFFICIAL":"Официални добавки","ADDONS_POPULAR":"Популярни в региона ви","ADDON_FREE":"безплатно","ADDON_PEERED":"преглеждано","ADDON_SUBSCRIPTION":"абонамент","ADDON_STREAM_GEORESTRICTED":"недостъпно във вашия регион","ADDON_STREAM_OFFLINECACHE":"Офлайн кеш","ADDON_STREAM_LOCALFILE":"Локален файл","SHARE_ADDON":"Споделяне на добавка","AVAILABLE_STREAMS":"Достъпни източници","NO_STREAM":"Няма достъпни източници","ALL_ADDONS":"Всички","INSTALL_MORE_ADDONS":"За повече източници, моля инсталирайте повече добавки","STREAM_NOT_SUPPORTED":"Избраният източник не е подържан на тази платформа.","ADDON_CATALOGUE":"Показване на всички добавки »","ADDON_CATALOGUE_MORE":"Още добавки »","REPO_ADDED":"Хранилището е добавено","ADDON_REPO_EXIST_ERR":"Това хранилище за добавки вече съществува","ADDON_REPO_ERR":"Грешка при добавяне на хранилището","ADDON_ADD_ERR":"Грешка при добавяне на добавката","ERR_ADDON_PROTECTED":"Защитена добавка","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Нещо се обърка - удостоверяването може да се е провалило","ERR_NOT_COLLECTION_URL":"Това не е url на колекция","ERR_NOT_ADDON_URL":"Това не е url на добавка","ERR_DETECTFROMURL":"Не може да се разпознае url","ADDON_DUPLICATE_WARNING":"Предупреждение: съществуваща добавка","ADDON_COLLECTION_SET_FAILED":"Колекцията на добавката е провалена","SETTINGS_DATA_EXPORT":"Експортиране на данни","ADDON_PULL_FAILED":"Извличането на добавката се провали","REFRESH_ON_CLICK":"Кликнете за повторение","STILL_IN_THEATER":"Филмът е все още по кината","WATCH_IN_CINEMA":"Гледайте по кината","IN_THEATER":"По кината","GET_TICKETS":"Купи билети","UPCOMING_EPISODE":"Предстоящ епизод","UPCOMING_EPISODE_MESSAGE":"Този епизод ще бъде излъчен","MISSING_DATE_EPISODE":"Липсваща дата на епизода","MISSING_DATE_EPISODE_MESSAGE":"Този епизод може да не е излъчен все още","CHANNEL_NOT_SCRAPED":"Нямаме информация за този канал все още.<br>Върнете се след няколко минути.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Добавете го в библиотеката, за да получите известие.","GET_NOTIFIED_WHEN_AVAILABLE":"Ще получите известие когато излезе.","WARNING_STREAMING_SERVER":"Предупреждение: локалният сървър за поточно предаване не е свързан. Не е възможно поточно предаване от YouTube и BitTorrent.","WARNING_STREAMING_SERVER_DISMISS":"Отхвърляне","WARNING_STREAMING_SERVER_LATER":"По-късно","DECODER_WARNING":"Внимание: Това видео може да не се поддържа от вашия хардуер. Имайте предвид, че плейбека може да е бавен.","GENERIC_ERROR_MESSAGE":"Нещо се обърка!","TRY_AGAIN":"Опитай отново","CLEAR_DATA":"Изчисти данни","PLAYER_ERROR":"Упс, грешка на плеъра","PLAYER_ERROR_LOOKSLIKE":"Изглежда като","PLAYER_ORIENTATION":"Ориентация на плеъра","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Заключен","PLAYER_ORIENTATION_SENSOR_SHORT":"Заключен","PLAYER_ORIENTATION_LANDSCAPE":"Ориентацията на екрана е заключена пейзажно","PLAYER_ORIENTATION_SENSOR":"Ориентацията на плеъра е автоматична (сензор)","PLAYER_PLAYBACK_SPEED":"Скорост на плейбека","PLAYER_PLAYBACK_ERROR":"Грешка при пускане, моля, опитайте отново","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Непозната грешка","PLAYER_PLAYBACK_ERROR_DEFAULT":"Съжаляваме, това видео не може да се пусне от {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Езици на субтитрите","PLAYER_SUBTITLES_VARIANTS":"Варианти на субтитрите","PLAYER_SUBTITLES_SETTINGS":"Настройки на субтитрите","PLAYER_SUBTITLES_DISABLED":"Субтитрите са изключени","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Вертикална позиция","PLAYER_SUBTITLES_LOADED":"Субтитрите са заредени","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Вградените субтитри са заредени","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Ексклузивните субтитри са заредени","PLAYER_SUBTITLES_LOADED_ORIGIN":"Субтитрите от {{origin}} са заредени","PLAYER_PLAY":"Пусни","PLAYER_PAUSE":"Пауза","PLAYER_NEXT_VIDEO":"Следващо видео","PLAYER_MUTE":"Без звук","PLAYER_UNMUTE":"Пускане на звука","PLAYER_OPEN_IN_EXTERNAL":"Отваряне във външен плеър","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Пускане на {{device}}","PLAYER_LIVE":"На живо","PLAYER_NEXT_VIDEO_TITLE":"Следва","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Отхвърляне","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Гледане сега","PLAYER_COPY_STREAM_SUCCESS":"Връзката за поточно предаване беше копирана във клипборда","PLAYER_COPY_STREAM_ERROR":"Неуспешно копиране на връзката за поточно предаване","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","STREAMING_FROM":"Поточно предаване от","CASTING_TO":"Предаване към","NETWORK_STATUS":"Състояние на мрежата","STREAM_SPEED":"Скорост:","STREAM_BUFFERED":"Буфер:","PEERS_INFO":"Пиъри","PEERS_ACTIVE":"Активни:","PEERS_CONNECTED":"Свързани:","PEERS_WAITING":"Чакащи:","TRANSCODING_WARNING":"Внимание: транскодиране на видеото.","STREAM_LOADING":"зареждане...","PLAYING_LOCAL":"Пусни от локален файл","PLAYING_CACHE":"Пусни от кеш","WRONG_SUBS":"Грешни субтитри?","ERR_SUBS_LOADING_TITLE":"Грешка при зареждане на субтитри","ERR_SUBS_LOADING":"Зареждането на субтитрите се провали: може да е проблем с добавката, която използвате, или с вашата мрежова връзка","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Следните добавки за субтитри са неуспешни","ERR_CASTING_UPDATE_TITLE":"Информацията на устройството за предаване не можа да се актуализира: сървъра за поточно предаване може да е онлайн","CHOOSE_DEVICE":"Изберете устройство","NO_CAST_DEVICES":"Няма налични устройства за предаване.","NO_SETTINGS":"Няма налични настройки.","PHONE_TABLET":"Телефон / Таблет","SUBTITLES":"Субтитри","SUBTITLES_CHANGE":"Сменяне на субтитрите на ","SUBTITLES_CHANGE_NONE":"Няма други субтитри за този език.","SUBTITLES_CHANGE_ACIVE":"В момента субтитри &#35;{{subtitlesDialog.activeIdx + 1}} са активирани. Кликнете \\"Продължи\\" за да активирате &#35;{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Алтернативно,","SUBTITLES_ADJUST_DELAY":"Настройте забавяне на субтитрите:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Или използвайте <span>G</span> / <span>H</span>, за да настроите субтитрите.","SUBTITLES_ADJUST_DELAY_TIP":"Съвет: може да ползвате <span>G</span> / <span>H</span>, за да настроите субтитрите.","SUBTITLES_DELAY":"Забавяне на субтитрите:","SUBTITLES_LOADING":"Зареждане на субтитри...","SUBTITLES_UNAVAILABLE":"Не са налични външен субтитри","SUBTITLES_DISABLED":"Изключено","EXTERNAL_PLAYER_DISABLED":"Изключено","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Позволяване на избирането","EXTERNAL_PLAYER_HINT":"Съвет: Има настройка, която да позволява винаги да се отваря с външен плейър","DONT_SHOW_AGAIN":"Да не се показва отново","SERVICE_INSTALL":"Инсталиране","AUDIO":"Аудио","DEFAULT_LANGUAGE":"Език по подразбиране","DEFAULT_SECONDARY_LANGUAGE":"Допълнителен език по подразбиране","SEASON":"Сезон","EPISODE":"Епизод","EPISODE_ABBREVIATION":"ЕП","SPECIAL":"Специално","SORT":"Сортиране","SORT_BY":"Сортиране по","FILTER":"Филтър","SORT_TRENDING":"Популярни","SORT_RECENT":"Последни","SORT_ALPHABET":"А-Я","SORT_ALPHABET_REVERSE":"Я-А","SORT_RATING":"Рейтинг","SORT_WATCHED":"Гледани","SORT_YEAR":"Година","SELECT_TYPE":"Избиране на тип","SELECT_SORT":"Избиране на сортиране","SELECT_CATALOG":"Избиране на каталог","SELECT_GENRE":"Избиране на жанр","SORT_LASTWATCHED":"Гледани последно","SORT_NAME":"По име","SORT_NAMEREVERSE":"я-а","SORT_TIMESWATCHED":"Гледани последно","SORT_NOTWATCHED":"не е гледано","New for You":"Ново за Вас","New Episodes":"Нови епизоди","New Videos":"Нови видеа","Recommendations":"Препоръчано","LIBRARY_RESUME":"Продължи","LIBRARY_PLAY":"Пусни","LIBRARY_DETAILS":"Детайли","LIBRARY_RESUME_DISMISS":"Отхвърляне","LIBRARY_CLEAR_PROGRESS":"Изчистване на напредъка","LIBRARY_REMOVE":"Премахване","LIBRARY_NOT_LOGGED_IN":"Библиотеката е достъпна само за вписани потребители","CALENDAR_NOT_LOGGED_IN":"Календарът е достъпен само за вписани потребители","NOT_LOGGED_IN_CLOUD":"Получете достъп до любимите си филми и ТВ програми по всяко време, навсякъде","NOT_LOGGED_IN_RECOMMENDATIONS":"Препоръки, съобразени с вашата история на гледане","NOT_LOGGED_IN_NOTIFICATIONS":"Никога не изпускайте отново епизод","NOT_LOGGED_IN_CALENDAR":"Планирайте личния си календар за гледане","DISCOVER_FEATURED":"Избрано","DISCOVER_TOP":"Топ","DISCOVER_OSCAR":"Носители на Оскар","DISCOVER_WARNING_TITLE":"Опа!","DISCOVER_EMPTY_CATALOG":"Тази добавка върна празно съдържание.","DISCOVER_ADULT_WARNING":"Това съдържание е достъпно само за възрастни. Имате ли навършени 18 години?","DISCOVER_NOADDON_WARNING":"Внимание: няма активна Stremio добавка за този тип съдържание. Тук виждате запазена информация, тя няма да се обнови.","DISCOVER_LOAD_ERR":"Съдържанието не може да се зареди. Възникна грешка.","DISCOVER_ADDON_UNINSTALLED":"Това съдържание вече не е достъпно. Може би добавката е премахната.","UNINSTALL_THIS_ADDON":"Деинсталирайте тази добавка","ERR_ADDON_NOT_INSTALLED":"Тази добавка не е инсталирана. Инсталиране?","DETAIL_RECEIVE_NOTIF_SERIES":"Получаване на известия за нови епизоди","DETAIL_RECEIVE_NOTIF_VIDEOS":"Получаване на известия за нови видеа","SIDEBAR_SHOW_STREAMS":"Показване на източниците","RELAUNCH":"Стартиране на новата версия!","UPGRADE":"Достъпна е нова версия","RELOAD_UI":"Презареждане на потребителският интерфейс","MANUAL_UPDATE_TITLE":"Обновете вашата версия на Stremio","MANUAL_UPDATE_LINE1":"Използвате стара версия на Stremio.","MANUAL_UPDATE_LINE2":"Моля обновете колкото се може по-скоро.","BUTTON_UPDATE_LATTER":"По-късно","BUTTON_UPDATE_NOW":"Обнови сега","ANONYMOUS_USER":"Анонимен потребител","DONT_HAVE_ACC":"Нямате акаунт?","HAVE_ACC":"Вече имате акаунт?","PASSWORD":"Парола","PASSWORD_CONFIRM":"Потвърждаване на паролата","EMAIL":"E-mail","FB_LOGIN":"Впишете се с Facebook","FB_NOTHINGSHARED":"Нищо не се споделя без ваше разрешение.","FB_NOPOST":"Ние няма да публикуваме нищо от ваше име","OR":"или","I_ACCEPT":"Прочетох и приемам","I_ACCEPT_BY_CLICKING":"Със натискането на бутона, се съгласявате, че приемате ","TOS":"Общите условия","MUST_ACCEPT_TERMS":"Вие трябва да се съгласите с условията","PASSWORDS_NOMATCH":"Паролите се различават","SIGN_UP":"Регистрирайте се","SIGN_UP_EMAIL":"Регистрирайте се с email","CLICK_TO_SIGN_UP":"Натиснете тук, за да се регистрирате.","LOG_IN":"Вход","LOG_OUT":"Отписване","EXIT_FULLSCREEN":"Излизане от цял екран","ENTER_FULLSCREEN":"Цял екран","PLAY_URL_MAGNET_LINK":"Пускане от URL/магнитна връзка","HELP_FEEDBACK":"Помощ и обратна връзка","TERMS_OF_SERVICE":"Условия за ползване","PRIVACY_POLICY":"Политика за поверителност","ABOUT_STREMIO":"За Stremio","USER_PANEL":"Потребителски панел","LOGIN_LABEL":"Вход","GUEST_LOGIN":"Вход като гост","GUEST_LOGIN_NOTICE":"Входът за гости не се препоръчва. Използването на редовно влизане позволява на Stremio да синхронизира библиотеката Ви, да получава известия за любими серии/канали. Сигурни ли сте, че искате да продължите?","GUEST_LOGIN_NOTICE_2":"Входът за гости не се препоръчва - няма да имате синхронизирани библиотеки и известия за табло, които са жизненоважни функции на Stremio. Сигурни ли сте, че искате да продължите?","CLICK_HERE":"Кликнете тук","WRONG_PASSWORD":"Грешна парола. В случай, че сте я забравили, ","SET_A_PASS":"Сложете ваша парола","RESET_PASSWORD":"Възстановяване на парола","FORGOT_PASSWORD":"Забравена парола?","EMAIL_USED_WITH_FB":"Този имейл е използван с Фейсбук логин.","INVALID_EMAIL":"Моля, въведете валиден email адрес","INVALID_PASSWORD":"Моля, въведете валидна парола","CONN_ERR":"Грешка при свързването - моля, опитайте отново по-късно.\\n\\nАко проблема продължава, изключете защитните стени/антивирусният софтуер (особено Bitdefender).","IMPORT_FROM_GUEST":"Импортиране на вашата Библиотека от входа за гости","RECEIVE_UPDATES_EMAIL":"Получавайте актуализации на вашият имейл от Stremio","LOGIN_FAILED":"Вписването се провали.","SIGNUP_FAILED":"Регистрацията се провали.","SEARCH_FAILED":"Търсенето се провали","EMAIL_USED":"Този имейл вече се използва.","WAITING_FB_LOGIN":"Вписване с Facebook...","EXTERNAL_PLAYER_TITLE":"Пускане във външен плеър","EXTERNAL_REMEMBER_PLAYER":"Искате ли да запомните вашият избор","EXTERNAL_ALWAYS_PLAY":"Да","EXTERNAL_ONLY_ONCE":"Не","BEST_FIT":"Най-добро побиране","FIT_SCREEN":"Побиране в екрана","FILL":"Запълване","16:9":"16:9","4:3":"4:3","Original":"Оригинал","INTRO_TASTE":"Кажете ни какво харесвате","INTRO_TASTE_LONG":"Кажете ни какво би Ви харесало да гледате","INTRO_TASTE_PICK":"Изберете {{interestsRemaining}} интереси","INTRO_TASTE_PICK_MORE":"Изберете {{interestsRemaining}} повече интереси","INTRO_TASTE_HELP_US":"Помогнете ни да научим повече за Вас.","INTRO_TASTE_CHOOSE_THESE":"Изберете някои от тези:","INTRO_TASTE_CHOOSE_MIN":"Изберете най-малко 3 категории","INTRO_TASTE_CHOOSE_MIN_ERR":"Трябва да изберете най-малко 3 категории!","INTRO_TASTE_LIFESTYLE":"Лайфстайл","INTRO_TASTE_SPORTS":"Спорт","INTRO_TASTE_FOOD_HEALTH":"Храна & Здраве","INTRO_TASTE_BEAUTY_FASHION":"Красота & Мода","INTRO_TASTE_NEWS":"Новини","INTRO_TASTE_GAMING":"Гейминг","INTRO_TASTE_SCIENCE_EDU":"Наука & Образование","INTRO_TASTE_MUSIC":"Музика","INTRO_TASTE_TRAVEL":"Пътуване","INTRO_TASTE_LATE_NIGHT":"Късно шоу","INTRO_TASTE_REALITY":"Реалити","INTRO_TASTE_COMEDY":"Комедия","INTRO_TASTE_DIY":"Направи сам","INTRO_TASTE_TECH":"Техника","INTRO_TASTE_CINEMA":"Кино","ADDON_NOT_SUPPORTED":"Избраната добавка не се поддържа на тази платформа.","ADDON_DISCLAIMER":"Използването на добавката от трети лица е ваша отговорност.","ADDON_ACTIVATE":"Активиране на тази добавка?","ADDON_REPO_ADD":"URL на хранилище за добавка","ADDON_ADD":"Добави добавка","INSTALL_ADDON":"Инсталирай добавка","ADD_ADDON":"Добавяне на добавка","ADD_ADDON_DESCRIPTION":"Вие можете да добавите добавка чрез външна връзка, която ще се появи под Инсталираните добавки.","PASTE_ADDON_URL":"Поставяне на URL на добавката","WHATS_NEW":"Какво ново?","BUTTON_CONTINUE":"Продължи","BUTTON_ACTIVATE":"Активирай","BUTTON_ACTIVATED":"Активирано","BUTTON_CANCEL":"Отказ","BUTTON_SUBMIT":"Изпращане","BUTTON_DISMISS_ALL":"Отхвърляне на всички","BUTTON_VIEW_ALL":"Разглеждане на всички","BUTTON_SEE_ALL":"Вижте всички","BUTTON_COLOR_TRANSPARENT":"Прозрачно","OPEN_IN_BROWSER":"Отваряне в браузър","LIB_EMPTY":"Библиотеката ви е празна. Открийте колко е полезна :) ","HOW_START":"Започнете така:","LIB_EMPTY_CAL":"Календарът показва епизоди от сериалите във вашата Библиотека.","HOW_START_CAL":"Ето как добавяте сериали:","LIB_EMPTY_BOARD":"Тук ще видите каталог от популярно съдържание, както и известия и препоръки, свързани с Библиотеката ви.","HOW_START_BOARD_WAIT":"Моля, добавете няколко канала/сериала и ни дайте няколко минути да съберем известия :)","HOW_START_BOARD":"Ето как добавяте филми и сериали в библиотеката:","IMPORT_FB":"Добавяне от <span>Facebook</span>","IMPORT_TRAKT":"Добавяне на вашата медийна библиотека от <span>Trakt</span>","IMPORT_DISCOVER":"Намерете интересни неща в <span>Откриване</span>","IMPORT_DISK":"Сканирайте за филми и сериали от вашия <span>локален диск</span>","PLEASE_CREATE_ACC":"Моля, <u>създайте акаунт</u>, за да използвате Библиотека и Табло.","IMPORT_DISCOVER_SIGNUP":"Регистрирайте се и намерете интересни неща в <span>Откриване</span>","IMPORT_DISK_SIGNUP":"Регистрирайте се и импортирате вашите филми или сериали от вашият <span>локален диск</span>","LIB_EMPTY_CLOUD":"Облачна библиотека","LIB_EMPTY_CLOUD_DESC":"Личната облачна библиотека, синхронизирана на всички устройства","LIB_EMPTY_EARLY":"Ранна птица","LIB_EMPTY_EARLY_DESC":"Получаване на известия за нови епизоди","LIB_EMPTY_PERSONAL":"Лична","LIB_EMPTY_PERSONAL_DESC":"Получавайте персонализирани препоръки","LIB_EMPTY_CALENDAR_DESC":"Планирайте личния си календар за гледане","LIB_EMPTY_ALL":"Регистрирайте се, за да получите всичко това:","LIB_EMPTY_BEST":"Регистрирайте се, за да получите най-доброто от Stremio","LIB_EMPTY_OTHER":"Регистрирайте се, за да включите Календар и други готини функции","CALENDAR_ADDED":"Календарът на Stremio беше добавен към настолния ви календар по подразбиране.","CALENDAR_ADDED_MSG":"Ако това не проработи, моля добавете този URL в вашият календар ръчно","TRAKT_EXPIRED":"Trakt удостоверяването е изтекло, моля, отидете в настройки и се удостоверете отново","TRAKT_REQUIRES_LOGIN":"Trakt грешка","TRAKT_REQUIRES_LOGIN_MSG":"Трябва да се впишете","TRAKT_IMPORT_WATCHED":"Внасяне","THEME":"Тема","THEME_DEFAULT":"Стандартна","THEME_ADAPTIVE":"Адаптивна","SETTINGS_LABEL":"Настройки","SETTINGS_NAV_GENERAL":"Общи","SETTINGS_NAV_PLAYER":"Плеър","SETTINGS_NAV_STREAMING":"Поточно предаване","SETTINGS_NAV_SHORTCUTS":"Преки пътища","SETTINGS_SHORTCUT_RELOAD_APP":"Презареждане на приложението","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Отваряне на Настройки","SETTINGS_SHORTCUT_SWITCH_TABS":"Сменяне на разделите","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Преминаване през разделите напред","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Преминаване през разделите назад","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Навигация между менютата","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Търсене","SETTINGS_SHORTCUT_EXIT_BACK":"Изход / Назад","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Меню за скорост на плейбека","SETTINGS_SHORTCUT_MENU_VIDEOS":"Меню Видеа","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Меню Субтитри","SETTINGS_SHORTCUT_MENU_INFO":"Меню Информация","SETTINGS_SHORTCUT_FULLSCREEN":"Цял екран","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Показване на контролите","SETTINGS_SHORTCUT_PLAY_PAUSE":"Пусни / Пауза","SETTINGS_SHORTCUT_VOLUME_UP":"Увеличаване на звука","SETTINGS_SHORTCUT_VOLUME_DOWN":"Намаляне на звука","SETTINGS_SHORTCUT_SEEK_NEXT":"Превъртане на следващ","SETTINGS_SHORTCUT_SEEK_PREV":"Превъртане на предишен","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Превъртане назад","SETTINGS_SHORTCUT_SEEK_FORWARD":"Превъртане напред","SETTINGS_SHORTCUT_PLAY_NEXT":"Пускане на следващ","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Увеличаване на размера на субтитрите","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Намаляване на размера на субтитрите","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Увеличаване на забавянето на субтитрите","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Намаляване на забавянето на субтитрите","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Странична лента","SETTINGS_SHORTCUT_OR":"или","SETTINGS_SHORTCUT_TO":"до","SETTINGS_SHORTCUT_SPACE":"Интервал","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Удостоверяване","SETTINGS_FACEBOOK_IMPORT":"Импортиране","SETTINGS_CALENDAR_SUBSCRIBE":"Абониране","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Език на интерфейса","SETTINGS_LAUNCH_STARTUP":"Зареждане при стартиране на компютъра","SETTINGS_VLC_DEFAULT":"Пускане във VLC","SETTINGS_UI_LANGUAGE":"Език на потребителският интерфейс","SETTINGS_UI_ZOOM":"Увеличаване на интерфейса","SETTINGS_FULLSCREEN_EXIT":"Бутона Esc изключва цял екран","SETTINGS_GAMEPAD":"Включване на подръжка за геймпад","SETTINGS_CLOSE_WINDOW":"Затваряне на приложението, когато прозореца е затворен","SETTINGS_SUBTITLES_LANGUAGE":"Език на субтитрите по подразбиране","SETTINGS_SUBTITLES_SIZE":"Размер на субтитрите по подразбиране","SETTINGS_SUBTITLES_BACKGROUND":"Фон на субтитрите","SETTINGS_SUBTITLES_COLOR":"Цвят на субтитрите","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Цвят на очертанията на субтитрите","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Цвят на фона на субтитрите","SETTINGS_SEEK_KEY":"Време за превъртане, когато превъртате със стрелките","SETTINGS_SEEK_KEY_SHIFT":"Време за превъртане, когато превъртате със стрелките и бутона Shift е задържан","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Времетраене на превъртането напред или назад","SETTINGS_BINGE":"Автом. пускане на следващият епизод","SETTINGS_NEXT_VIDEO":"Показване на известието, за да започнете следващия епизод","SETTINGS_NEXT_VIDEO_TRIGGER":"Показване на известието за следващ епизод за:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Продължителност на известието за следващо видео","SETTINGS_PLAY_IN_BACKGROUND":"Пусни на заден фон","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Пусни във външен плейър","SETTINGS_RESIZE":"Автоматично преоразмеряване на прозореца преди пускане","SETTINGS_OVERRIDE_SERVER":"Заобикаляне на URL на сървъра за поточно предаване (разширено)","SETTINGS_SERVER_URL":"URL на сървър за поточно предаване: ","SETTINGS_SERVER_AVAILABLE":"Сървъра за поточно предаване е достъпен.","SETTINGS_SERVER_UNAVAILABLE":"Сървъра за поточно предаване не е достъпен.","SETTINGS_SERVER_STATUS_ONLINE":"Онлайн","SETTINGS_SERVER_STATUS_ERROR":"Грешка","SETTINGS_SERVER_CONFIGURE_TITLE":"Конфигурирайте url на сървъра за поточно предаване","SETTINGS_SERVER_CONFIGURE_INPUT":"Въведете url на сървъра за поточно предаване","SETTINGS_SERVER_CACHE_SIZE":"Размер на кеша","SETTINGS_SERVER_TORRENT_PROFILE":"Торент профил","SETTINGS_HTTPS_ENDPOINT":"HTTPS за поточно предаване на крайната точка: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Ползване винаги на последната Beta","SETTINGS_IMPORT_FB":"Импортиране от Facebook","SETTINGS_IMPORT_DISK":"Импортиране от локален диск","SETTINGS_IMPORT_TRAKT":"Импортиране от Trakt","SETTINGS_PAUSE_MINIMIZED":"Пауза на плейбекa при минимализиране","SETTINGS_HWDEC":"Хардуерно ускорено декодиране","SETTINGS_BACKGROUND":"Пускане на заден фон","SETTINGS_SUBSCRIBE_CALENDAR":"Абонирайте се за календара","SETTINGS_REQ_EXPORT":"Заявка за експорт на данните","SETTINGS_ACC_DELETE":"Заявка за изтриване на акаунта","SETTINGS_CHANGE_PASSWORD":"Промяна на парола","SETTINGS_TOS":"Условия за ползване","SETTINGS_SUPPORT":"Поддръжка","SETTING_LANGUAGE":"Език","SETTINGS_TRAKT":"Trakt Записване&Препоръки","SETTINGS_TRAKT_LOGOUT":"Изход от Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Изход от Trakt","SETTINGS_SCAN_FOR_REMOTE":"Сканирайте QR кода, за да отворите дистанционното управление","SETTINGS_DESKTOP_NOTIFICATIONS":"Известия на работния плот","SETTINGS_DATA_SAVER":"Икономия на данни","SETTINGS_LANGUAGE_INTERFACE":"интерфейс","SETTINGS_LANGUAGE_SUBS":"Субтитри по подразбиране","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Автоматично избиране на аудио","SETTINGS_DEFAULT_AUDIO_TRACK":"Аудио по подразбиране","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"акаунт","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"версия","SETTINGS_ABOUT":"Относно","SETTINGS_MPV_WINDOW":"Стартиране на плеъра в отделен прозорец (разширено)","SETTINGS_PLAY_IN_EXTERNAL":"Старт. на видеото винаги в външен плеър","SETTINGS_STORAGE_BUTTON":"Изчистване на локалните данни","SETTINGS_STORAGE_MODAL_TITLE":"Сигурни ли сте?","SETTINGS_STORAGE_MODAL_MESSAGE":"Това ще изтрие локалните данни и ще ви отпише.","SETTINGS_HWDEC_PICKER":"Изберете настройката за декодиране, ускорена с хардуер","SETTINGS_HW_AUTOMATIC":"Автоматично","SETTINGS_HW_DISABLED":"Изключено","SETTINGS_HW_ACCELERATED":"Ускорение на декодирането","SETTINGS_HW_FULL":"Пълно ускорение","SETTINGS_HW_LEGACY":"Наследяване","SETTINGS_DISABLED":"Деактивирано","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Известие за мрежова връзка","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Отдалечен URL","SETTINGS_COPY_REMOTE_URL":"Копитай отдалечения URL","SETTINGS_REMOTE_URL_COPIED":"Отдалечения URL беше копиран в клипборда","SETTINGS_SECTION_SUBTITLES":"Субтитри","SETTINGS_SECTION_AUDIO":"Аудио","SETTINGS_SECTION_CONTROLS":"Контроли","SETTINGS_SECTION_AUTO_PLAY":"Автоматичен плейбек","SETTINGS_SECTION_ADVANCED":"Разширени","SUBSPICKER_AUDIO":"Аудио","SUBSPICKER_SUBTITLES":"Добавки за субтитри","SUBSPICKER_BLACK_BACKGROUND":"Използване на черен цвят за заден фон","SUBSPICKER_VERTICAL_OFFSET":"Вертикално отместване","SUBSPICKER_SIZE":"Размер","SUBSPICKER_DELAY":"Забавяне","SUBSPICKER_EMBEDDED_SUBS":"Вградени субтитри","MOBILE_PRIVACY_POLICY":"Политика за поверителност","MOBILE_CRASH_REPORTING":"Доклади за грешки","MOBILE_ZOOM_TO_FILL":"Мащабиране до пълен екран","MOBILE_PASSTHROUGH":"Цифров аудио изход (пропускане)","MOBILE_RUN_LOW_BATTERY":"Изпълнение при изтощена батерия","MOBILE_RUN_FOREGROUND":"Изпълнение като услуга на преден план","MOBILE_PERFORMANCE":"ПРОИЗВОДИТЕЛНОСТ и СТАБИЛНОСТ","MOBILE_SERVER_ONLINE":"Онлайн","MOBILE_SERVER_OFFLINE":"Офлайн","MOBILE_QR_EXPIRES":"QR кода ще изтече след ","MOBILE_LOG_INTO":"Вписване във вашият Stremio акаунта ","MOBILE_SCAN_QR":"Сканирайте QR кода по-горе или отидете на ","MOBILE_LINK_ACCOUNT":"Свързване на акаунта","MOBILE_SPEEDPICKER_CANCEL":"Отказ","MOBILE_SPEEDPICKER_LABEL":"Изберете скорост на плейбека","MOBILE_EMPTY_LIBRARY":"Вашата библиотека е празна","MOBILE_NO_ADDON_ACTIVE":"Няма активна Stremio добавка за този тип.","MOBILE_ORGANIZER_WARNING":"Приложението Stremio Organizer осигурява ограничена функционалност. За списък на възпроизвеждаемите източници и за пълно Stremio изживяване, използвайте Stremio за работен плот.","MOBILE_ADDON_LOADING":"все още се зарежда","MOBILE_ADDONS_LOADING":"добавките все още се зареждат","MOBILE_ADDON":"Добавка","MOBILE_CONFIGURE_ADDON":"Конфигуриране на вашата добавка","MOBILE_CONFIGURE_ADDON_LABEL":"Конфигуриране на добавка","MOBILE_ORGANIZER_ADDONS_WARNING":"Приложението Stremio Organizer осигурява ограничен избор на добавки. За пълно Stremio изживяване, използвайте Stremio за работен плот.","MOBILE_DISCONNECT":"Прекъсване на връзката","MOBILE_LOOKING_FOR_DEVICES":"Търсене на устройства...","MOBILE_CAST_TO":"Предаване на","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Изтриване на акаунт","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Изтриването на акаунта не е незабавно поради законови задължения. След като поискате изтриване на акаунта си, ще трябва да използвате различен имейл адрес/профил във Facebook, за да създадете нов акаунт в Stremio в бъдеще.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Потвърдете изтриването на акаунта","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Вашият акаунт е създаден с помощта на Facebook. За да изтриете акаунта си, моля, използвайте нашия потребителски портал на адрес www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Моля, предоставете паролата си, за да потвърдите изтриването на акаунта.","MOBILE_DELETE_ACCOUNT_BUTTON":"Изтриване на акаунт","NAVIGATION_ON":"Включено","NAVIGATION_OFF":"Изключено","MARKETING_AGREE":"Съгласен съм да получавам маркетингови комуникации от Stremio","QUIT":"Спиране","CONNECTED":"Свързано","AUTHENTICATE":"Оторизация","CACHING":"Кеширане","SETTINGS_CACHING_DRIVE":"Изберете диск за кеш","ENABLE_LOCAL_FILES_ADDON":"Активирайте добавката за локални файлове (изисква рестартиране)","LOCAL_ADDON_NOT_ENABLED":"Локалната добавка не е активирана. Клекнете тук за да отидете в настройките и да я активирате","ENABLE_REMOTE_HTTPS_CONN":"Включване на отдалечени HTTPS връзки","TORRENT_PROFILE":"Торент профил","DATA_CACHING":"Кеширане на данните","MAGNET_PARSING":"Анализиране на магнитна връзка","January":"Януари","February":"Февруари","March":"Март","April":"Април","May":"Май","June":"Юни","July":"Юли","August":"Август","September":"Септември","October":"Октомври","November":"Ноември","December":"Декември","Monday":"Понеделник","Tuesday":"Вторник","Wednesday":"Сряда","Thursday":"Четвъртък","Friday":"Петък","Saturday":"Събота","Sunday":"Неделя","Action":"Екшън","Comedy":"Комедия","War":"Военен","Family":"Семейни","Animation":"Анимация","Adventure":"Приключенски","Fantasy":"Фентъзи","Crime":"Криминални","Mystery":"Мистерия","Romance":"Романтични","Drama":"Драма","Horror":"Ужаси","Thriller":"Трилър","Sci-Fi":"Научна фантастика","Music":"Музикален","Biography":"Биографичен","Documentary":"Документален","Sport":"Спорт","Musical":"Мюзикъл","Western":"Уестърн","Film-Noir":"Филм ноар","News":"Новини","History":"Исторически","Game-Show":"Гейм-шоу","Reality-TV":"Риалити","Talk-Show":"Токшоу","Film & Entertainment":"Филм и забавление","Gaming":"Гейминг","From TV":"От телевизията","Lifestyle":"Лайфстайл","Science & Education":"Наука и Образование","Cooking & Health":"Готвене и Здраве","Beauty & Fashion":"Красота и Мода","Sports":"Спорт","News & Politics":"Новини и Политика","How-to & DIY":"Как да и Направи си сам","Tech":"Техника","Automotive":"Автомобил","Causes & Non-Profits":"Каузи и Нестопански цели","Movies":"Филми","Uk Live Tv":"ТВ на живо от Обединеното Кралство","Fashion":"Мода","Business News Radio":"Бизнес новини радио","Business Tv":"Бизнес телевизия","Cars & Auto":"Автомобили","Comedy Radio":"Комедийно радио","Lifestyle Radio":"Лайфстайл радио","News Tv":"Новинарска телевизия","Food And Wine":"Храна и Вино","Latino Tv":"Латино ТВ","Shopping Tv":"Шопинг ТВ","Religion":"Религия","Kids":"Деца","Body & Soul":"Душа и тяло","Education":"Образование","Indian Tv":"Индийска ТВ","Extreme Sports":"Екстремни спортове","Middle Eastern Tv":"ТВ от Близкият Изток","Celebrity Tv":"Телевизия за звезди","Science Tv":"Научна ТВ","Bikini babe":"Бикини бейби","Outdoors":"На открито","German Tv":"Немска ТВ","French Tv":"Френска ТВ","Italian Tv":"Италианска ТВ","Gamer Tv":"Гехмърска ТВ","Travel":"Пътуване","Asian Tv":"Азиатска ТВ","Entertainment":"Развлечение","News Radio":"Новинарско радио","Music Radio":"Музикално радио","Language Learning":"Изучаване на езици","Science Radio":"Научно радио","Tech Radio":"Радио за технологии","Science & Technology Vod":"Наука и Технологии VOD","new video":"ново видео","new episode":"нов епизод","new movie":"нов филм","recommended":"препоръчано","we recommend":"Ние препоръчваме","offer of the day":"оферта на деня","news":"новини","music video":"музикално видео","CTX_SHOW_HOTKEYS":"Показване на клавишни комбинации","CTX_DISMISS_NOTIF":"Премахни известия","CTX_DISMISS_ALL":"Премахни всички","CTX_SHARE":"Сподели","CTX_COPY_SHARE_LINK":"Копирай връзка за споделяне","CTX_COPY_MAGNET_LINK":"Копиране на магнитна връзка","CTX_COPY_STREAM_LINK":"Копиране на връзка за поточно предаване","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Изтегляне на това видео","CTX_DOWNLOAD_SUBS":"Изтегляне на субтитри","CTX_VIEW_ON_YOUTUBE":"Преглед в YouTube","CTX_SHOW":"Покажи","CTX_PLAY":"Гледай","CTX_PLAY_IN":"Гледай в","CTX_PLAY_ON":"Гледай на","CTX_WATCH_ON":"Гледай на","CTX_WATCH":"Гледай","CTX_WATCHED":"Гледано","CTX_WATCH_BEGINNING":"Гледай от началото","CTX_WATCH_MOBILE":"Гледай на мобилно устройство","CTX_REWIND":"Превърти до началото","CTX_MARK_WATCHED":"Маркирай като гледано","CTX_MARK_NON_WATCHED":"Маркирай като негледано","CTX_MARK_UNWATCHED":"Маркиране като негледано","CTX_MARK_REST":"Маркиране на останалите като гледани","CTX_UNMARK_REST":"Маркиране на останалите като негледани","CTX_RECEIVE_NEW_NOTIF":"Получавай нови известия","CTX_ENABLE_NEW_NOTIF":"Активирай известията","CTX_DISABLE_NEW_NOTIF":"Деактивирай известията","CTX_REMOVE_CACHE":"Премахни от кеша","CTX_REMOVE_CACHE_EP":"Премахни епизод от кеша","CTX_OPEN_CONTAINING":"Отвори папка","CTX_REMOVE":"Премахни от библиотеката","CTX_AVAILABLE_OFFLINE":"Достъпно офлайн","CTX_PAUSED":"Пауза","CTX_ALWAYS_ON_TOP":"Винаги отгоре","CTX_FULLSCREEN":"Цял екран","CTX_WRONG_SUBS":"Грешни субтитри?","CTX_REPORT_ISSUES":"Докладвай проблем","CTX_COPY":"Копирай","CTX_PASTE":"Постави","CTX_CLEAR":"Изчисти","CTX_CLEAR_RECENT_SEARCHES":"Изчисти последни търсения","HELLO_THERE":"Здравейте","HOPE_YOU_ENJOY":"Надяваме се, че харесвате Stremio и вече е едно от любимите Ви приложения!","WHO_ARE_WE":"Кои сме ние? Ние сме двама и работихме усилено всеки ден в последните 3 години, за да подобряваме този продукт.","SUPPORT_US":"Ако продуктът ни ви е полезен и ви прави щастливи, подкрепете ни!","SPREAD_THE_WORD":"Споделете с приятелите си, разгласете Stremio","MORE_PEOPLE":"Колкото повече хора ползват Stremio, толкова по-добро ще става!","SEND_A_LINK":"Или изпратете връзка към уебсайта","TIP_LOCALFILES":"Съвет: можете да плъзнете и пуснете локални видео файлове в Stremio","ADDON_MY":"Моите добавки","ADDON_COMMUNITY":"Неофициални добавки","ADDON_OFFICIAL":"Официални добавки","ADDON_REPOS":"Хранилища за добавки","ADDON_SEARCH":"Търсене на добавки","ADDON_INSTALL":"Инсталиране","ADDON_CONFIGURE":"Конфигуриране","ADDON_UNINSTALL":"Деинсталиране","ADDON_UPGRADE":"Актуализиране","ADDON_INSTALLED":"Инсталирано","ADDON_INSTALLED_MSG":"Добавката е инсталирана!","ADDON_UPGRADED_MSG":"Добавката е актуализирана!","ADDON_UNKNOWN":"Неизвестно","ADDON_ERR":"Грешка при инсталиране на добавката!","ADDON_DISCONNECTED":"Прекъснат","ADDON_APP_MISSING":"Приложението за този източник не е инсталирано. Искате ли да го инсталирате сега?","ADDON_APP_INSTALL":"Инсталиране сега","ADDON_PAGE":"Страница на добавката","ADDON_TOP_CONTENT":"Най-доброто от тази добавка","ADDON_PROVIDES":"предоставя","ADDON_WATCH":"Гледай #{types} сега!","ADDON_WATCH_FREE":"Гледай #{types} БЕЗПЛАТНО сега!","ADDON_ADDON":"Добавка","ADDON_SUPPORTED_TYPES":"Подържани типове","ADDON_SUPPORTED_CATALOGS":"Подържани каталози","ADDON_PROVIDES_DISCOVER":"Повече #{types} в Откриване","ADDON_PROVIDES_STREAMS":"Гледай #{types}","ADDON_PROVIDES_STREAMS_FREE":"Гледай #{types} БЕЗПЛАТНО","ADDON_PROVIDES_SUBTITLES":"Субтитри за #{types}","ADDON_CANTDETECT":"Не успяхме да засечем работещ Stremio, затова не можем да засечем кои добавки са инсталирани.","ERR_NO_META":"Не е намерена информация относно това ","ERR_GETTING_META":"Грешка при получаването на информация относно това.","ERR_CANT_PARSE_MAGNET":"Невъзможно е да се анализира този magnet","ERR_NO_MAGNET_INFOHASH":"Няма валиден info hash за този magnet","ERR_NO_FILE_PATH":"Не може да се изпрати заявка без път към файл","ERR_NO_TORRENT":"Няма отговор от торента","ERR_NO_SUPPORTERD_FILES":"Не са открити поддържани файлове","ERR_OPENING_FILES":"Не могат да се отворят външните файлове","ERR_INVALID_LINK":"Невалидна връзка","ERR_REGISTERED_ONLY":"Тази опция е налична само за регистрирани потребители.","ERR_CLIPBOARD":"Не може да се възпроизведе от клипборда","ERR_CLIPBOARD_READ":"Не може да се прочете клипборда на тази платформа","ERR_CLIPBOARD_GENERIC":"В клипборда не е намерен URL за възпроизвеждане. Моля, копирайте URL (напр. магнитна връзка) към видеото.","BOARD_CONTINUE_WATCHING":"Продължи да гледаш","BOARD_EXPLANATION_RECOMMENDATIONS":"Филми, подбрани специално за вас.<br />Този филм е примерна препоръка.","BOARD_EXPLANATION_EPISODES":"Нови епизоди от любимите Ви сериали идват тук.<br />Добавете сериали, които следвате към вашата библиотека.","BOARD_EXPLANATION_VIDEOS":"Нови епизоди от любимите Ви канали идват тук.<br />Добавете YouTube канали, които следвате към вашата библиотека.","WEBSITE_ENJOYED_BY":"Харесано от повече от 30 милиона потребители по целия свят","WEBSITE_STREAMING_ENHANCED":"Поточното предаване е подобрено","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio предлага сигурно, модерно и безпроблемно забавление. Със своя лесен за използване интерфейс и разнообразна библиотека със съдържание, включително 4K HDR поддръжка, потребителите могат да се насладят на любимите си филми и телевизионни предавания на всички свои устройства. И със своя ангажимент към сигурността, Stremio е най-добрият избор за безгрижно, висококачествено изживяване на поточното предаване.","WEBSITE_AVAILABLE_ON":"Достъпно на","WEBSITE_WATCH_AND_ENJOY":"Гледай и се наслаждавай.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio го прави лесно като детска игра","WEBSITE_ALL_FEATURES":"Всички функции","WEBSITE_EASY_TO_USE":"Лесен за използване","WEBSITE_EASY_TO_USE_DETAILS":"Stremio е проектиран да бъде удобен за потребителя и лесен за използване. Със своя чист и интуитивен интерфейс можете лесно да се ориентирате и да намерите съдържанието, което искате да гледате.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Безпроблемно между устройства","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Предлага се за широка гама от платформи (вкл. Windows, Mac, Linux, Android и други), Stremio ще следи напредъка Ви във всичките Ви устройства. Просто влезте и продължете да гледате, без да се налага да конфигурирате приложението отново на всяко ново устройство.","WEBSITE_ALL_DOWNLOADS":"Всички изтегляния","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"Подръжка на видео във висока резолюция","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"Интегриран видео плейър, поддържащ повечето видео формати, включително 4K HDR съдържание, Ви позволява да се наслаждавате на най-високото качество на разположение.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Разнообразна библиотека със съдържание","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio се интегрира с голям брой популярни видео източници, като Netflix, Amazon Prime Video, Hulu, YouTube и много други.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Създайтe безплатен акаунт","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Персонализирано изживяване при гледане","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio ви позволява да персонализирате външния вид и усещането на интерфейса, като промените темата, добавяте или премахвате добавки и други.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Многоезична поддръжка на субтитри","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"Вече можете да се насладите на цялото любимо съдържание на предпочитания от вас език, тъй като Stremio поддържа субтитри на всички езици.","WEBSITE_ALL_STREMIO_FEATURES":"Всички Stremio функции","WEBSITE_TRY_STREMIO_TITLE_P1":"Опитайте Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"На вашият телевизор сега","WEBSITE_YOU_CAN_NOW_WATCH":"Вече можете да гледате всички любими телевизионни предавания на вашите Android TV устройства. Приложението за телевизия Stremio ви позволява да се наслаждавате на филмова вечер с лекота.","WEBSITE_YOU_CAN_NOW_WATCH_2":"Вече можете да гледате всички любими телевизионни предавания на вашия Smart TV или Android TV. Приложенията на Stremio TV ви позволяват да се наслаждавате на филмова нощ с лекота.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio за Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Вероятно най-доброто и най-полезно приложение, което имате във вашето устройство. Това е едно от приложенията, които използвам ежедневно, особено на моя Android TV вече много години. Добре направено със силна общност, осигуряващо полезни функционалности. Много добре. Продължавай с добрата работа.","WEBSITE_REVIEWS":"отзиви","WEBSITE_GET_STREMIO_FOR_FREE":"Вземете Stremio Безплатно","WEBSITE_GET_STREMIO_NOW":"Вземете Stremio Сега","WEBSITE_STREMIO_FEATURES":"Stremio функции","WEBSITE_STREMIO_FEATURES_DETAILS":"Предавайте поточно като професионалист с усъвършенстваните функции на Stremio и се наслаждавайте на безпроблемен достъп до всичките си любими медии","WEBSITE_DISCOVER_MORE":"Открийте още.","WEBSITE_DISCOVER_MORE_DETAILS":"Никога не изчерпвайте нещата за гледане","WEBSITE_COMMUNITY_DRIVEN":"Задвижван от общността","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio има голяма и активна общност от потребители, които допринасят за развитието на софтуера чрез създаване и споделяне на добавки.","WEBSITE_GET_INVOLVED":"Включете се","WEBSITE_NEW_THEATER_EXPERIENCE":"Ново кино изживяване","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Новото специализирано телевизионно приложение Stremio ви позволява да се насладите на филмова вечер на вашите Android TV устройства.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Новите специализирани телевизионни приложения на Stremio ви позволяват да се наслаждавате на филмова вечер на вашите устройства за смарт телевизори или Android TV.","WEBSITE_FREE_AND_SECURE":"Безплатно и Сигурно","WEBSITE_STREAMING":"Поточно предаване","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio предлага несравнима сигурност и поверителност за потребителите. Със своята уникална характеристика на пускането на добавки дистанционно, Stremio осигурява по-безопасен начин за предаване на любимото ви съдържание в сравнение с други платформи. Вашата сигурност и поверителност са основни приоритети и платформата гарантира, че всички ваши данни са защитени.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Кажете сбогом на притесненията относно сигурността и личния живот и поздравете света на безкрайните забавления със Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Информацията е предоставена от","WEBSITE_CONTRIBUTE":"Допринесете","WEBSITE_CONTRIBUTE_DESC":"Допринесете за проекта и ни помогнете да направим Stremio още по-добър","WEBSITE_COMMUNITY_DESC":"Ние вярваме, че най-добрият начин да създадете наистина невероятно изживяване на поточното предаване е като включите нашата общност в процеса. Независимо дали сте програмист, художник или просто фен - можете да помогнете на Stremio да расте.","WEBSITE_COMMUNITY_DESC_2":"Затова се присъединете към нас днес и станете част от общността на Stremio и продължете да оформяте бъдещето на поточното предаване.","WEBSITE_WAYS_TO_GET_INVOLVED":"Начини да се включите","WEBSITE_IN_THE_STREMIO_COMMUNITY":"в общността на Stremio","WEBSITE_SHARE_YOUR_THOUGHTS":"Споделете вашите мисли","WEBSITE_REPORT_BUGS":"Докладвайте грешки","WEBSITE_SUGGEST_FEATURES":"препоръчайте функции","WEBSITE_AND_PROVIDE_FEEDBACK":"и предоставяйте отзиви в нашите канали за социални медии.","WEBSITE_BETA_TESTING_PROGRAM":"Програма за бета тестване","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Участвайте в нашата програма за бета тестване (ние изпращаме покани редовно) в общността на Stremio.","WEBSITE_JOIN_NOW":"Включи се сега!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Официални общности на Stremio","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Неофициални общности на Stremio","WEBSITE_BECOME":"Станете","WEBSITE_A_VOLUNTEER_TRANSLATOR":"доброволен преводач","WEBSITE_ARE_YOU_A_DEVELOPER":"Програмист ли сте?","WEBSITE_CONTRIBUTE_CODE":"Можете да допринесете с код за нашите проекти с отворен код. Имаме няколко проекта в GitHub, които търсят сътрудници. Ако се интересувате да помогнете, вижте ги:","WEBSITE_STREMIO_ON_GITHUB":"Stremio в GitHub","WEBSITE_CREATE_ADDON_DESC":"Създайте добавка за подобряване на функционалността на Stremio (имаме лесен за използване API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"Ние също така предоставяме възможност да се присъедините към нас като стажант програмист, за да можем да растем заедно.","WEBSITE_APPLY_AS_AN_INTERN":"Кандидатствай като стажант","WEBSITE_CALLING_ALL_ARTISTS":"Обръщаме се към всички артисти!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Покажете своята креативност и любов към Stremio, като качите вашето фен изкуство в нашата онлайн галерия. Независимо дали става въпрос за рисунка, картина или дигитален дизайн, ние искаме да видим вашия уникален поглед върху марката Stremio. Присъединете се към нашата общност от ентусиасти на изкуството и споделете работата си с други фенове на Stremio по целия свят.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Галерия","WEBSITE_INTERN_DESIGNER":"Станете част от нашия екип и поставете творчеството си на нови висоти с нашите вълнуващи възможности за стаж.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Проект за филми за публично достояние","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"Ние в Stremio се ангажираме да запазим историята на филма и телевизията, като идентифицираме обществено достояние и осиротели видеоклипове. Като работим заедно с нашата общност, можем да гарантираме, че тези класически произведения на изкуството са достъпни за всеки и защитени, за да могат да се наслаждават на бъдещите поколения.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Чувствайте се свободни да се свържете с нас, ако искате да се включите в този проект.","WEBSITE_JOIN_THE_PROJECT":"Включете се в проекта","WEBSITE_BE_PART_OF_OUR_MISSION":"Бъдете част от нашата мисия","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Интересувате ли се да се присъедините към екипа на Stremio? Ние предлагаме напълно отдалечена работа за страстни професионалисти. Вижте нашите отворени позиции.","WEBSITE_OPEN_POSITIONS":"ОТВОРЕНИ ПОЗИЦИИ","WEBSITE_DESCRIPTION":"ОПИСАНИЕ","WEBSITE_LEARN_MORE":"Научете повече","WEBSITE_COMPANY":"Компанията","WEBSITE_CONTACTS":"Контакти","WEBSITE_NEED_HELP":"Нуждате се от помощ?","WEBSITE_STREMIO_WEB_ON_IOS":"Ръководство за Stremio Web за iOS","WEBSITE_LINK_ART_V2":"Fanart Галерия","WEBSITE_PARTNERS":"Партньори","WEBSITE_SLOGAN_WATCH":"Гледайте незабавно","WEBSITE_SLOGAN_ALL":"Цялото видео съдържание, на което може да се насладите на едно място","WEBSITE_SLOGAN_NEW":"Всичко, което може да гледате","WEBSITE_SLOGAN_NEW_NEW":"Свободата да стрймваш","WEBSITE_WATCH_FROM":"Гледане от","WEBSITE_DOWNLOAD":"Изтегляне сега","WEBSITE_DOWNLOAD_FOR":"Изтегляне сега за","WEBSITE_IS_DESKTOP":"Stremio е приложение за компютър, отворете тази страница на вашия компютър и го изтеглете","WEBSITE_DESKTOP_DEMO_VID":"Desktop демо","WEBSITE_PAGE_HOME":"Начало","WEBSITE_PAGE_FEATURES":"Функции","WEBSITE_PAGE_ADDONS":"Добавки","WEBSITE_PAGE_TECH":"Технология","WEBSITE_PAGE_CREATE_ADDON":"Създаване на добавка","WEBSITE_PAGE_CONTACTS":"Контакти","WEBSITE_PAGE_BLOG":"Блог","WEBSITE_RESET_PASSWORD_MESSAGE":"Моля, въведете желаната нова парола по-долу.","WEBSITE_RESET_PASSWORD_WARNING":"Сигурни ли сте, че искате да нулирате паролата за ${1}?","WEBSITE_TYPE_movie":"Филми","WEBSITE_TYPE_series_PL":"Сериали","WEBSITE_TYPE_tv":"ТВ на живо","WEBSITE_TYPE_channel":"Канали","WEBSITE_STREMIO_WHAT_IS":"Stremio е приложение, което ви помага да организирате и незабавно да гледате любимите си видеоклипове, филми, ТВ сериали и ТВ канали..","WEBSITE_FEATURES_WATCH":"Гледайте без чакане в HD","WEBSITE_FEATURES_WATCH_DETAIL":"Кликнете и пуснете любимите си Филми, ТВ сериали, видеоклипове и ТВ канали.","WEBSITE_FEATURES_SUBS":"Автоматични субтитри","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio автоматично избира синхронизирани субтитри за вашия език.","WEBSITE_FEATURES_SUBS_LABEL":"Вие сте на ход, шефе.","WEBSITE_FEATURES_CAST":"Пусни на ТВ & мобилни устройства","WEBSITE_FEATURES_CAST_DETAIL":"Прехвърляй към AppleTV, Chromecast, Smart TV (DLNA/UPnP) и мобилни устройства.","WEBSITE_LIB":"Насладете се на личната си библиотека, синхронизирана на всички ваши устройства","WEBSITE_LIB_COLLECT":"Съберете от Stremio","WEBSITE_LIB_IMPORT":"Импортиране от Facebook","WEBSITE_LIB_LOCAL":"Добавяне от вашето локално устройство","WEBSITE_BOARD":"The Board - Вашето единствено място за известия и препоръки","WEBSITE_BOARD_RECOMMEND":"Препоръчани ТВ сериали","WEBSITE_BOARD_TRENDING":"Популярен филм","WEBSITE_BOARD_NEW":"Ново видео","WEBSITE_BOARD_EPISODE":"Нов епизод","WEBSITE_BOARD_1":"Търсите нещо интересно за гледане? Получете препоръки въз основа на вашия вкус!","WEBSITE_BOARD_2":"Получете уведомление, когато е излязъл нов епизод на любимото ви телевизионно предаване или YouTube канал!","WEBSITE_BOARD_YOUTUBE":"Нови видеоклипове на YouTube канали","WEBSITE_BOARD_EPISODES":"Нови епизоди от сериали, които следвате","WEBSITE_ADDONS":"Добавки за съдържание","WEBSITE_TECH_DETAIL":"Ние обичаме технологията, обичаме лудата наука!\\nStremio използва следните технологии с отворен код:","WEBSITE_TECH_WCJS":"WebChimera.js позволява на Stremio да пуска всеки видео формат с добра производителност.","WEBSITE_TECH_WCJS_EXTRA":"Ние сме основни сътрудници на проекта","WEBSITE_TECH_ELECTRON":"Electron осигурява иновативна платформа за изграждане на Stremio.","WEBSITE_TECH_ELECTRON_EXTRA":"Ние сме сътрудници на проекта","WEBSITE_TECH_LINVODB":"Технология на база данни, която гарантира, че вашите данни са организирани и достъпни навсякъде, където влезете.","WEBSITE_TECH_LINVODB_EXTRA":"Вътрешна технология","WEBSITE_CREATE_ADDON":"Създайте ваша добавка","WEBSITE_CREATE_ADDON_DETAIL":"Имате ли услуга, предоставяща видео съдържание? Ще ви помогнем да се възползвате от функциите на Stremio, като създадем ваша добавка.","WEBSITE_CREATE_ADDON_BENEFITS":"Ползи от създаването на добавка за Stremio","WEBSITE_P2P_BEAUTY":"Красотата на поточното предаване Peer-to-Peer","WEBSITE_P2P_1":"Надеждно и достъпно пълно HD / 4K видео при поискване или поточно предаване на живо","WEBSITE_P2P_2":"Платформа за разпространение, осигуряваща страхотно потребителско изживяване","WEBSITE_P2P_3":"Ще създадем добавка, отговаряща на вашите точни нужди","WEBSITE_P2P_CONTACT":"Заинтересовани ли сте? Добре дошли сте на <a href=\'mailto:office@stremio.com\'>където да ни пишете</a>.","WEBSITE_P2P_CONTACT_EXTRA":"Ще се радваме да ви помогнем да интегрирате съдържанието си със Stremio!","WEBSITE_P2P":"От време на време идва технология, която променя правилата на играта. Инвестирахме тонове време и усилия в изграждането на нашия двигател за видео поточно предаване (P2P), който осигурява страхотна производителност и гъвкавост за адаптиране с всеки случай на използване..\\nСвържете се с нас за P2P видео с активиран DRM или поточно предаване на живо.","WEBSITE_THOUGHTS":"Мисли, които споделяме:","WEBSITE_SPREAD":"Разпространете информацията за Stremio:","WEBSITE_CONTACT":"Ако обмисляте да се свържете с нас, не се двоумете","WEBSITE_OPENSOURCE":"За нашите проекти с отворен код, отидете на нашите","WEBSITE_BITCOIN":"Дарете Биткойн:","WEBSITE_FAQ":"Често Задавани Въпроси","WEBSITE_FAQ_SHORT":"ЧЗВ","WEBSITE_QUESTIONS":"Въпроси","WEBSITE_TOS":"Условия за ползване","WEBSITE_LEGAL":"Правни","WEBSITE_PAGE_ABOUT":"Относно","WEBSITE_PAGE_BECOME_PARTNER":"Станете наш партньор","WEBSITE_ALL_YOU_CAN_WATCH":"Свободата да гледаш\\nВсичко което искаш.","WEBSITE_FREEDOM_TO_STREAM":"Свободата да стриймваш","WEBSITE_WHAT_IS_STREMIO":"Какво е stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio е хъб за агрегиране на видео съдържание. Открийте, организирайте и гледайте видео от всякакви източници на всяко устройство, което притежавате.","WEBSITE_WHAT_IS_STREMIO_P2":"Филми, телевизионни предавания, сериали, телевизия на живо или уеб канали като YouTube и Twitch.tv - Можете да намерите всичко това на Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio е модерен медиен център, който е решение за вашето видео забавление. Откривайте, гледайте и организирайте видео съдържание от лесни за инсталиране добавки.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Филми, телевизионни предавания, телевизия на живо или уеб канали - намерете всичко това на Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Насладете се на всички ваши медийни устройства","WEBSITE_DEVICES_COLLECT":"Съберете от Stremio","WEBSITE_DEVICES_IMPORT_FB":"Импортиране от facebook","WEBSITE_DEVICES_LOCAL":"Добавяне от локално устройство","WEBSITE_JOIN_THE_PARTY_NOW":"Включете се в партито сега","WEBSITE_DEVICES_ALL":"Лесен за използване на всички ваши устройства;","WEBSITE_EXTENDABLE_CATALOG":"Безкрайно разширяващ се видео каталог;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Страхотни функции за организиране на вашите медии;","WEBSITE_AS_SEEN_ON":"Познато от","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"За нас","WEBSITE_LINK_TECHNOLOGY":"Технология","WEBSITE_LINK_APPS":"Приложения","WEBSITE_LINK_DOWNLOADS":"Изтегляне","WEBSITE_MORE":"Още","WEBSITE_LINK_ADDONS":"Добавки","WEBSITE_LINK_ADDON_SDK":"SDK за добавки","WEBSITE_LINK_CONTRIBUTE":"Допринасяне","WEBSITE_LINK_COMMUNITY":"Общност","WEBSITE_LINK_BLOG":"Блог","WEBSITE_MORE_MORE":"... и Още","WEBSITE_LINK_HELP":"Помощен център","WEBSITE_LINK_CONTACTS":"Контакти","WEBSITE_LINK_TOS":"Правила и Условия","WEBSITE_LINK_PRAVACY":"Политика за поверителност","WEBSITE_SUBSCRIBE":"Абониране","WEBSITE_NEWSLETTER":"Впишете се в нашият Нюзлетър за страхотни неща","WEBSITE_PLACEHOLDER_EMAIL":"Вашият Email","WEBSITE_COMMUNITY":"Общност","WEBSITE_LINK_PRAVACY_LEGAL":"Поверителност и разпоредби","WEBSITE_WHY":"Защо го правим","WEBSITE_WHY_P1":"В Stremio идваме на работа всеки ден, защото искаме да решим важен проблем за индустрията за видео при поискване. Има толкова много ново съдържание, публикувано всяка минута, че е практически невъзможно да намерите пътя си около него.","WEBSITE_WHY_P2":"Ние помагаме на хората да се ориентират в този огромен свят на видео забавления и да открият ново съдържание, на което да се насладят. Нашите приложения събират филми, сериали, телевизия на живо, уеб канали и други. Ние сме посветени да направим невероятно лесно за потребителите да намерят заглавия и телевизионни оператори, които обичат.","WEBSITE_WHY_P3":"Можете да използвате нашата услуга на всяко устройство и по всяко време, превръщайки Stremio единственият център за видео развлечения, който някога ще ви трябва.","WEBSITE_TEAM":"ОТБОР","WEBSITE_TEAM_P":"Екипът на Stremio е малък, но мощен: между десетте от нас кодираме на X езици и споделяме опит в разработването на софтуер, UI и UX дизайн, маркетинг и реклама и бизнес и стартиращи компании.","WEBSITE_FEATURES":"Функции","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Откривайте ново съдържание с лекота","WEBSITE_FEATURES_DISCOVER_P":"Лесно открийте нови филми, телевизионни предавания, сериали и канали за гледане. Прегледайте по категория, жанр, оценка, рецепта и т.н. или просто въведете име, за да намерите. Stremio прави намирането на ново видео съдържание лесно като детска игра.","WEBSITE_FEATURES_ALL_CONTENT":"Цялото ви видео съдържание на един екран","WEBSITE_FEATURES_ALL_CONTENT_P1":"Вижте какви филми, сериали или видеоклипове не сте завършили и продължете да ги гледате; Получавайте уведомления за нови епизоди и издания; и разгледайте препоръките, които ще получите въз основа на вашите навици за гледане.","WEBSITE_FEATURES_LIBRARY":"Организирайте вашата видео Библиотека","WEBSITE_FEATURES_LIBRARY_P1":"Добавете всяко заглавие към вашата библиотека в Stremio с едно щракване и намерете пътя си около съдържанието си, добре подредено по тип, дата или азбучна подредба.","WEBSITE_FEATURES_CALENDAR":"Следете всичко, което гледате","WEBSITE_FEATURES_CALENDAR_P1":"Получете визуализация на календара на всички филми и сериали, които добавяте към библиотеката си. Експортирайте вашия календар на Stremio и го синхронизирайте, така че винаги да знаете кога има нов епизод или премиера.","WEBSITE_FEATURES_BIG_SCREEN":"Насладете се на вашето видео съдържание на по-голям екран","WEBSITE_FEATURES_BIG_SCREEN_P1":"Прехвърлете каквото и да гледате на друго устройство - било то телефон, таблет или телевизор с едно щракване.","WEBSITE_FEATURES_SOURCES":"Гледайте видео от много различни източници","WEBSITE_FEATURES_SOURCES_P":"Инсталирайте официални и общностни добавки, за да се насладите на видео, получено от много различни доставчици - всичко това в едно елегантно, лесно за използване приложение.","WEBSITE_CREATE_AN_ADDON":"Създайте добавка","WEBSITE_FEATURES_SYNC":"Синхронизирайте библиотеката си на различни устройства и възобновете възпроизвеждането си","WEBSITE_FEATURES_SYNC_P1":"Влезте с акаунта си във всичките си устройства и се насладете на вашата библиотека, добавки, възпроизвеждане и синхронизиране в календара.","WEBSITE_FEATURES_EXTENDABLE":"Разширяващ се видео каталог от добавки","WEBSITE_FEATURES_EXTENDABLE_P1":"Каталогът с добавки на Stremio предоставя редица добавки за инсталиране и гледане на разнообразие от видео съдържание. Това включва филми, предавания, телевизия на живо, спорт, новини, подкасти, уеб канали, видео игри и други.","WEBSITE_FEATURES_AUTO_SUBS":"Автоматични субтитри","WEBSITE_FEATURES_AUTO_SUBS_P1":"С нашите добавки за субтитри получавате автоматично избрани опции за предпочитания от вас език.","WEBSITE_FEATURES_CHROMECAST":"Предаване към Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Насладете се на вашето видео съдържание на по-голям екран или просто хвърлете каквото и да гледате на друго устройство.","WEBSITE_FEATURES_KEEP_TRACK":"Следете любимите си телевизионни предавания и уеб канали","WEBSITE_FEATURES_KEEP_TRACK_P1":"Получете визуализация на календара и известия за нови епизоди от любимите си серии и уеб канали.","WEBSITE_FEATURES_POWER_USER":"Мощни потребителски функции","WEBSITE_FEATURES_POWER_USER_P1":"Пуснете на външен плеър","WEBSITE_FEATURES_POWER_USER_P2":"Пуснете от торент файл или магнитна връзка","WEBSITE_FEATURES_POWER_USER_P3":"Импортирайте във вашата библиотека от Facebook харесвания или локален диск","WEBSITE_ADD_ONS":"Добавки","WEBSITE_ADD_ONS_P1":"Цялото видеосъдържание, което Stremio предоставя, се доставя чрез допълнителна система - в приложението не е вградено съдържание или доставчик на съдържание.","WEBSITE_ADD_ONS_P2":"Налични са две групи добавки: официални и общностни добавки.","WEBSITE_ADD_ONS_P3":"Официалните са разработени и хоствани от Stremio, докато добавките на общността са създадени от нашите членове на общността, които също ги хостват.","WEBSITE_ADDONS_OFFICIAL":"Официални добавки","WEBSITE_ADDONS_WATCHUB":"Предавайте любимите си филми, сериали и предавания от доставчици като iTunes, Hulu, Amazon и други услуги за Обединеното кралство/САЩ.","WEBSITE_ADDONS_YOUTUBE":"Гледайте любимите си канали в YouTube без реклами и получавате известия за нови качвания от сътрудниците, които следвате.","WEBSITE_ADDONS_FILMON":"Гледайте телевизия на живо, филми и социална телевизия безплатно. 600 телевизионни канала, 45 000 безплатни филма, документални филми и др.","WEBSITE_ADDONS_OPENSUBTITLES":"Филмови и телевизионни субтитри на няколко езика, хиляди преведени субтитри, качени всеки ден.","WEBSITE_ADDONS_COMMUNITY":"Добавки от общността","WEBSITE_ADDONS_FILMON_VOD":"Гледайте видео при поискване от Filmon.tv","WEBSITE_ADDONS_TWICH":"Гледайте потоци на живо от twitch.tv - платформа за поточно предаване на видео за индустрията за електронни спортове.","WEBSITE_ADDONS_VODO":"Гледайте инди филми абсолютно безплатно.","WEBSITE_ADDONS_NETFLIX":"Гледайте филми и уеб сериали на Netflix.","WEBSITE_ADDONS_CREATE":"Създайте добавка","WEBSITE_ADDONS_CREATE_P1":"Ако желаете, можете да разработите своя собствена добавка. По този начин можете да дадете достъп до себе си и нашата общност до ново видео съдържание и да достигнете до нова, насочена аудитория от милиони потребители по целия свят.","WEBSITE_ADDONS_START_CREATE":"За да започнете, посетете страницата на Stremio Addon SDK:","WEBSITE_DOWNLOADS":"Изтегляния","WEBSITE_DOWNLOADS_P1":"За оптимална ефективност препоръчваме да използвате най-новата налична версия на приложенията на Stremio. Ако по някаква причина обаче бихте искали да използвате по-стара версия, можете да я изтеглите тук.","WEBSITE_DOWNLOADS_P1_SHORT":"За оптимална ефективност препоръчваме да използвате най-новата налична версия на приложенията на Stremio.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio за Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio за macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio за Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio за Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio за Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio за Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio за Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio за iOS","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio за Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio за LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio за Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio за Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio за Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio за Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Потърсете Stremio в магазина на 2019+ Samsung TV моделите","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Потърсете Stremio в магазина на 2020+ LG Телевизори","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Потърсете Stremio в магазина за приложения на вашето Xbox устройство","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Изтегляне на Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service е придружително приложение за Stremio Web. Препоръчваме да използвате най-новата налична версия на Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service за Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service за macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service за Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service за Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"Още опции за изтегляния","WEBSITE_DOWNLOAD_NEW":"Ново!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"Ние пуснахме Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"Ние пуснахме Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"Ние пуснахме Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"Ние пуснахме Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"Ние пуснахме Stremio for Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"Платформата Stremio е с отворен код и лесно можете да създадете добавка за съдържание, което в момента не е снабдено.","WEBSITE_CONTRIBUTE_WHY":"Защо трябва да създадете добавка?","WEBSITE_CONTRIBUTE_WHY_P1":"Достигнете до нова аудитория за вашето видео съдържание","WEBSITE_CONTRIBUTE_WHY_P2":"Потребителската база на Stremio нараства бързо - в рамките на първата година от старта, Stremio спечели 1 милион потребители по целия свят, а през втората година от съществуването на платформата този брой нарасна до 2,5 милиона.","WEBSITE_CONTRIBUTE_WHY_P3":"С вашата добавка можете лесно да достигнете до тази аудитория и да разпространите видеото си към тях.","WEBSITE_CONTRIBUTE_ALL":"Гледайте любимите си филми, видеоклипове, сериали и канали на едно едно място.","WEBSITE_CONTRIBUTE_ALL_P1":"Вие сте фен на определен тип съдържание, което все още не е достъпно в Stremio? Създайте добавка за него и се насладете на гледането на любимите си видеоклипове в един от най -големите и лесни за използване на развлекателни центрове на пазара.","WEBSITE_CONTRIBUTE_ALL_P2":"Освен това ще получите безкрайната благодарност на други съмишленици на общността на Stremio.","WEBSITE_CONTRIBUTE_MONETIZE":"Осигурете приходи от добавката си и печелете пари с нейната помощ","WEBSITE_CONTRIBUTE_MONETIZE_P1":"След като разработите нова добавка за Stremio, можете лесно да го осигурите монетизиране по няколко различни начини. Ако обмисляте това, не се колебайте да се свържете с нас на ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - ще се радваме да се консултираме и да ви посъветваме за възможностите за осигуряване на монетизация на добавката.","WEBSITE_CONTRIBUTE_TRANSLATE":"Станете доброволен преводач","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Ако искате да се насладите на приложенията на Stremio на различни езици, можете да се присъедините към нашата общност от доброволни преводачи. Те ни помагат да добавим версии на Stremio на много различни езици.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Имате ли желание да започнете?","WEBSITE_TRANSALTE_STREMIO":"Преведете Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Официални общности","WEBSITE_COMMUNITY_OFFICIALS_P1":"Станете част от нарастващата общност на Stremio. Следвайте ни в социалните медии и не се срамувайте да ни поздравите - обичаме да слушаме нашите фенове! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Неофициални общности","STREMIO_COMMUNITY_NL":"Stremio Нидерландия","STREMIO_COMMUNITY_BRASIL":"Stremio Бразилия","STREMIO_COMMUNITY_GERMANY":"Stremio Германия","STREMIO_COMMUNITY_BELGIUM":"Stremio Белгия","STREMIO_COMMUNITY_FRANCE":"Stremio Франция","STREMIO_COMMUNITY_PORTUGAL":"Stremio Португалия","STREMIO_COMMUNITY_ITALY":"Stremio Италия","STREMIO_COMMUNITY_UK":"Stremio Обединено Кралство","STREMIO_COMMUNITY_USA":"Stremio САЩ","STREMIO_COMMUNITY_MEXICO":"Stremio Мексико","STREMIO_COMMUNITY_ADDONS":"Stremio добавки","STREMIO_COMMUNITY_AWESOME":"Страхотен Stremio","WEBSITE_COMMUNITY_PARTNERS":"Партньори и привърженици","WEBSITE_COMMUNITY_GOODIES":"Stremio екстри","WEBSITE_COMMUNITY_WALLPAPERS":"Тапети","WEBSITE_COMMUNITY_ART":"Арт галерия на общността","WEBSITE_LINK_ART":"Арт галерия на общността","WEBSITE_CONTACT_US":"Свържете се с нас","WEBSITE_CONTACT_US_P1":"Ако имате някакви въпроси, коментари или предложения, не се колебайте да се свържете с нас чрез формата за контакт по-долу.","WEBSITE_CONTACT_US_P2":"Имайте предвид, че ние се намираме в България, така че може да има забавяне в адресирането на вашата заявка поради разликите в часовата зона.","WEBSITE_CONTACT_US_SUCCESS":"Вашето съобщение е изпратено. Ще се свържем с вас при първа възможност.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Моля, въведете валиден email!","WEBSITE_CONTACT_US_Q_RELATED_TO":"С какво е свързан вашият въпрос?","WEBSITE_CONTACT_US_Q_OS":"Каква е вашата операционна система?","WEBSITE_CONTACT_US_PH_EMAIL":"Вашият имейл","WEBSITE_CONTACT_US_PH_MESSAGE":"Съобщение","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"ИЗПРАЩАНЕ","WEBSITE_CONTACT_US_Q_1":"Как да инсталирам?","WEBSITE_CONTACT_US_Q_2":"Как да деинсталирам?","WEBSITE_CONTACT_US_Q_3":"(HTML) Как да направя лазаня?","WEBSITE_CONTACT_US_Q_4":"Добавки","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Технология","WEBSITE_TECHNOLOGY_P1":"Ние обичаме технологиите и лудата наука. </br> Ето какво задвижва Stremio (всичко е с отворен код).","WEBSITE_TECHNOLOGY_P_QT":"Разработка на междуплатформен софтуер в най-добрия случай.","WEBSITE_TECHNOLOGY_P_MPV":"Безплатен, отворен и кросплатформен медиен плейър.","WEBSITE_TECHNOLOGY_P_RN":"React Native ви позволява да изграждате мобилни приложения, използвайки само JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Медийна рамка, вградена в приложение, за да получи мултимедия.","WEBSITE_TECHNOLOGY_P_REALM":"Realm е мобилна платформа и заместител на Sqlite и Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js е отворен код, кросплатформена JavaScript среда за изпълнение.","WEBSITE_TECHNOLOGY_P_RUST":"Rust е многопарадигмен системен програмен език, фокусиран върху безопасността, особено безопасната едновременност.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Допринесете за проекта","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Има два начина, по които можете да допринесете за Stremio и да ни помогнете да направим продукта още по-добър.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Можете да дарите своите ценни езикови умения, като преведете платформата...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"или","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... Можете да използвате вашите умения за кодиране за създаване на добавки в общността. ","WEBSITE_TRANSLATE_STREMIO":"Преведете Stremio","WEBSITE_404_OH_NO":"Ъ-ъ! Страницата, която търсите, не е тук...","WEBSITE_GO_HOME":"Върни се на Началната страница","WEBSITE_LINK_OTHER_DOWNLOADS":"Други изтегляния","WEBSITE_FAQ_ABR":"ЧЗВ","WEBSITE_SUPPORT":"Подръжка","WEBSITE_DOWNLOAD_4_0_BETA":"Изтеглете сега Stremio 4 beta","WEBSITE_GET_FOR_DESKTOP":"Вземете сега за работен плот","WEBSITE_LINK_ADDON_COMPETITION":"Конкурс за добавки","WEBSITE_LINK_ART_CONTEST":"Конкурс за изкуство","WEBSITE_MY_ACCOUNT":"Моят акаунт","WEBSITE_MAINPAGE_FAQ_001_H1":"Какво е Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio е модерен медиен център, който ви дава свободата да гледате всичко, което искате.","WEBSITE_MAINPAGE_FAQ_002_H1":"Как работи?","WEBSITE_MAINPAGE_FAQ_002_P1":"След като инсталирате Stremio на устройството си и създадете акаунт, всичко, което трябва да направите, е да посетите каталога за добавки и да инсталирате всяка добавка, която искате, и сте готови да започнете!","WEBSITE_MAINPAGE_FAQ_002_P2":"След това можете да отидете в секциите Откриване или Табло, за да започнете да изследвате съдържание.","WEBSITE_MAINPAGE_FAQ_003_H1":"Какво мога да гледам тук?","WEBSITE_MAINPAGE_FAQ_003_P1":"Много: филми, телевизионни предавания, уеб канали, спорт, телевизионни канали, слушане на подкасти и други. Благодарение на нашата система за добавки, можете да получите достъп до разнообразие от съдържание.","WEBSITE_MAINPAGE_FAQ_004_H1":"Stremio с отворен код ли е?","WEBSITE_MAINPAGE_FAQ_004_P1":"Да, може да проверите следните връзки: ${1}Приложение за работен плот${2} and ${3}GitHub организация${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Stremio сигурен ли е?","WEBSITE_MAINPAGE_FAQ_005_P1":"Да: тъй като това е софтуер с отворен код, кодът е публично достъпен и можете да го прегледате сами.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"Какво ще кажете за моята поверителност?","WEBSITE_MAINPAGE_FAQ_006_P1":"Ние уважаваме поверителността на потребителите и не събираме лични данни, освен съществения минимум за създаване и синхронизиране на вашия акаунт.","WEBSITE_MAINPAGE_FAQ_006_P2":"Също така има и ${1}Вход за гост${2} при регистрация, което не изисква никакви данни: в този режим не се извършват заявки към нашия бекенд. Въпреки това, той идва за сметка на полезни функции, като например да можете да синхронизирате библиотеката си в устройства.","WEBSITE_MAINPAGE_FAQ_007_H1":"Може ли да прехвърлям съдържание към моят телевизор?","WEBSITE_MAINPAGE_FAQ_007_P1":"Да, ние поддържаме Chromecast и можете да прехвърлите съдържание както от настолни, така и от мобилни приложения (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"Колко добавки има Stremio?","WEBSITE_MAINPAGE_FAQ_008_P1":"Към края на 2019 г. над 50 - за повече информация вижте нашия каталог с добавки.","WEBSITE_MAINPAGE_FAQ_009_H1":"Може ли Stremio да бъде разширен отвъд това, което е в каталога за добавки?","WEBSITE_MAINPAGE_FAQ_009_P1":"Да, трябва да разгледате тези: ${1}PimpMyStremio${2}, ${3}Reddit общност${4}, ${5}Stremio Downloader${6}, и други.","WEBSITE_MAINPAGE_FAQ_010_H1":"Какви устройства поддържат Stremio?","WEBSITE_MAINPAGE_FAQ_010_P1":"Имаме настолни приложения за Windows, Mac и Linux. За мобилни устройства поддържаме Android и iOS, но имайте предвид, че iOS е с ограничена функционалност (не поддържа повечето добавки).","WEBSITE_MAINPAGE_FAQ_010_P2":"Има много устройства, базирани на Android, на които можете да стартирате Stremio, като Nvidia Shield и Amazon Fire Stick, но ние не ги поддържаме официално.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"Имаме настолни приложения за Windows, Mac и Linux. Имаме и специални приложения за Android Mobile и Android TV. За iOS и iPadOS предлагаме да използвате Stremio Web, въпреки че функционалността му е по-ограничена.","WEBSITE_MAINPAGE_FAQ_011_H1":"Можете ли да добавите определено съдържание към Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"За съжаление ние самите не предоставяме съдържание, но колкото повече Stremio добавки сте инсталирали, толкова повече съдържание ще можете да намерите.","WEBSITE_MAINPAGE_FAQ_012_H1":"Може ли Stremio да възпроизвежда магнитни връзки?","WEBSITE_MAINPAGE_FAQ_012_P1":"Да, и може също да възпроизвежда нормални HTTP връзки и торент файлове (плъзгане и пускане).","WEBSITE_MAINPAGE_FAQ_013_H1":"Мога ли да изтегля видео и да го гледам офлайн?","WEBSITE_MAINPAGE_FAQ_013_P1":"Изтеглянето офлайн е предстояща функция, но ако позволите на Stremio да кешира на вашето устройство (от панела за настройки), можете да гледате видеоклиповете по-късно без връзка.","WEBSITE_MAINPAGE_FAQ_014_H1":"Нищо не работи, помогнете ми!","WEBSITE_MAINPAGE_FAQ_014_P1":"Сигурни ли сте, че сте инсталирали добавки? Ако да, консултирайте се с нашият ${1}помощен център${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"Как Stremio поддържа своите операции за развитие?","WEBSITE_MAINPAGE_FAQ_015_P1":"Понякога пускаме ненатрапчиви реклами, но обмисляме да преминем към модел на дарение.","WEBSITE_MAINPAGE_FAQ_015_P2":"За повече отговори посетете нашият ${1}помощен център${2}.","HELP_LEARN_MORE":"Помогнете ни да научим повече за вас.","LIFESTYLE":"Лайфстайл","SPORTS":"Спорт","FOOD_HEALTH":"Храна и Здраве","BEAUTY_FASHION":"Красота и Мода","NEWS":"Новини","GAMING":"Гейминг","SCIENCE_EDUCATION":"Наука и Образование","MUSIC":"Музика","TRAVEL":"Пътуване","LATE_NIGHT":"Късно вечер","REALITY":"Реалити","COMEDY":"Комедия","DIY":"Направи си сам","TECH":"Технологии","CINEMA":"Кино","CONTINUE":"Продължение","SLOW_LOADING":"БАВНО ЗАРЕЖДАНЕ?","I_GIVE_UP":"ПРЕДАВАМ СЕ","LEARN_MORE":"Научете повече","POOR_SOURCE":"Този източник е слабо достъпен или вашата интернет връзка не е достатъчно бърза","PICK_CATEGORIES_ERR":"Трябва да изберете поне 3 категории","ADJUST_TIMING":"Настройване на времето с ","ADJUST_SIZE":"Настройване на размера с ","SEARCH_ANYTHING":"Може да търсите всичко...","ALL_CATEGORIES":"Всички","SEARCH_CATEGORIES":"Филми, Серии, YouTube и ТВ","SEARCH_PERSONS":"Актьори, режисьори и сценаристи","SEARCH_PROTOCOLS":"HTTP & магнитни връзки","SEARCH_TYPES":"IMDB / TVDB връзки","WATCHED":"Гледано","SHOW_LESS":"Показване на по-малко","LAST_SEARCHES":"Последни търсения","CLEAR_HISTORY":"Изчистване на историята","CHOOSE_SOME":"ИЗБЕРЕТЕ ЕДНО ОТ ТЕЗИ:","NO_WEB_REMOTE":"Уеб дистанционното не може да бъде заредено","STREMIO_OFFLINE":"Stremio е офлайн","STREMIO_EXPENSIVE_CONNECTION":"Открихме, че използвате мобилна връзка за данни, искате ли да продължите?","USE_DATA":"Използване на данни","WARNING":"Внимание","MORE_INFO":"Повече информация ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Зареждане ...","STREMIO_TV_BACK_TO_LANGUAGES":"Връщане към езиците","STREMIO_TV_REMOTE":"Дистанционно","STREMIO_TV_GO_TO":"Отидете на:","STREMIO_TV_OR_SCAN":"или сканирайте:","STREMIO_TV_ADDON_INSTRUCTIONS":"Моля, следвайте инструкциите, за да инсталирате предпочитаните ви добавки.","STREMIO_TV_LIVE_TV":"ТВ на живо","STREMIO_TV_RESUME_WATCHING":"Продължаване на гледането","STREMIO_TV_LOADING_BACKGROUND":"Зареждане на фон","STREMIO_TV_CHECKING_AUTHENTICATION":"Проверка на удостоверяването","STREMIO_TV_LOADING_BOARD":"Зареждане на Табло","STREMIO_TV_LOGIN_HEADER_LINE_1":"Искаме нашите потребители да имат най-доброто възможно персонализирано изживяване с нашия софтуер.","STREMIO_TV_LOGIN_HEADER_LINE_2":"Именно поради тази причина любезно ви молим да направите акаунт и/или да влезете във вашия акаунт.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Благодарим ви за разбирането,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Екипа на Stremio ","STREMIO_TV_REMOTE_INSTRUCTIONS":"За да използвате уеб дистанционното с вашия смартфон / таблет / десктоп:","STREMIO_TV_WIFI_SETUP":"Wi-Fi настройка","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle не засече активна връзка към интернет","STREMIO_TV_WIFI_DETAILS_1":"Свързване към:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Използвайте парола:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Отворете уеб браузър с връзката:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"По подразбиране","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"По последно гледани","STREMIO_TV_LIBRARY_SORT_NAME":"По име","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"По Име Низходящо","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"По брой гледания","STREMIO_TV_LIBRARY_SORT_WATCHED":"По Гледани","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"По Не Гледани","STREMIO_TV_DETAILS_SEASON_NUMBER":"Сезон ${1}","STREMIO_TV_STREAMS_LOADING":"Заредени ${1} / ${2} добавки...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} добавка/и все още зарежда/т...","STREMIO_TV_PLAYER_SETTINGS":"Настройки на плеъра","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Закъснение на субтитрите","STREMIO_TV_PLAYER_AUDIO_DELAY":"Закъснение на аудиото","STREMIO_TV_PLAYER_VIDEO_SCALING":"Видео мащабиране","STREMIO_TV_PLAYER_CHAPTERS":"Глави","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Пропускане ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Неподдържан източник на поток","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Неуспешно отваряне на външна връзка","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Не се регулира в режим на аудио преминаване","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Възпроизвеждане с ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Възпроизвеждане с libVLC плеър","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Преминаване към плейър libVLC поради грешка във възпроизвеждането","STREMIO_TV_ADDONS_TITLE":"Използвайте Stremio на вашия телефон или компютър, за да инсталирате или конфигурирате добавки и натиснете \\"Sync Addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Забележка: Уверете се, че използвате същия акаунт в Stremio","STREMIO_TV_ADDONS_SYNC_ADDONS":"Синхронизиране на добавки","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Добавките са сихнронизирани успешно","STREMIO_TV_ADDONS_SYNC_FAILED":"Грешка при синхронизиране на добавки","STREMIO_TV_META_LINK_FAILED":"Грешка при отваряне на meta връзката","STREMIO_TV_CATALOG_LOADING":"Каталога все още се зарежда...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Езика на интерфейса е актуализиран","STREMIO_TV_SETTINGS_THEME_UPDATED":"Темата е актуализирана","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Плеър по подразбиране","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Външен плеър","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Предпочитан език","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Втори предпочитан език","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Тунелен плейбек","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Възможни проблеми с плейбека на някои устройства","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Някои видео формати може да не работят","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Съвпадение на скоростта на кадрите","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Деактивирано","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Само честота на кадрите","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Честота на кадрите и разделителна способност","STREMIO_TV_SETTINGS_NO_CACHING":"Без кеширане","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"По подразбиране","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Меко","STREMIO_TV_SETTINGS_PROFILE_FAST":"Бързо","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ултра бързо","STREMIO_TV_SETTINGS_SERVER_URL":"URL на сървъра за поточно предване","STREMIO_TV_SETTINGS_SERVER_VERSION":"Версия на сървъра","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Непознато","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Версия на Stremio","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Редактиране на URL на сървъра","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Въведете URL адрес на сървър за поточно предаване","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Показване на статистики при зареждане","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"За да прочетете политиката за поверителност на Stremio, посетете:","STREMIO_TV_SETTINGS_TOS_TEXT":"За да прочетете Общите условия на Stremio, посетете:","STREMIO_TV_NAV_SEARCH":"Търсене","STREMIO_TV_NAV_HOME":"Начало","STREMIO_TV_NAV_DISCOVER":"Откриване","STREMIO_TV_NAV_LIBRARY":"Библиотека","STREMIO_TV_NAV_MOVIES":"Филми","STREMIO_TV_NAV_SERIES":"Сериали","STREMIO_TV_NAV_CHANNELS":"Канали","STREMIO_TV_NAV_TV":"ТВ на живо","STREMIO_TV_NAV_SETTINGS":"Настройки","STREMIO_TV_NAV_ADDONS":"Добавки","STREMIO_TV_LOGIN_TITLE":"Свързване на акаунт","STREMIO_TV_LOGIN_EXPIRES_IN":"Изтича на","STREMIO_TV_LOGIN_STEP_ONE":"Сканирайте QR кода по-горе или отидете на","STREMIO_TV_LOGIN_STEP_TWO":"Влезте във вашия акаунт в Stremio","STREMIO_TV_LOGIN_NEW_LINK":"Заявка за нова връзка","STREMIO_TV_LOGIN_LINK_REFRESHED":"Кодът за вход е актуализиран","STREMIO_TV_SEARCH_PLACEHOLDER":"Напишете нещо","STREMIO_TV_SEARCH_NO_ADDONS":"Не бяха поискани добавки за каталози!","STREMIO_TV_SEARCH_BUTTON":"Търсене","STREMIO_TV_SEARCH_KEY_DEL":"Изтриване","STREMIO_TV_SEARCH_KEY_SPACE":"Интервал","STREMIO_TV_SEARCH_KEY_CLEAR":"Изчистване","STREMIO_TV_SEARCH_HISTORY_TITLE":"История на търсенията","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Можете да търсите заглавия, актьори, канали и други...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Изчистване на историята на търсенията","STREMIO_TV_FILTERS_DESCRIPTION":"Изберете от един от филтрите по-долу","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Стрийминг сървърът няма връзка. Моля, вижте сървърните настройки.","FILTERS":"Филтри","SETTINGS":"Настройки","ACCOUNT":"Акаунт","LOGOUT":"Изход","THEMES":"Теми","PLAYBACK":"Плейбек","PLAYBACK_SPEED":"Скорост на плейбека","AUDIO_TRACKS":"Аудио пътеки","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Видеа","SERVER":"Сървър","LINKS":"Връзки","ABOUT":"Относно","INTERFACE":"Интерфейс","ANIMATIONS":"Анимации","STATUS":"Статус","LANGUAGE":"Език","SIZE":"Размер","DELAY":"Забавяне","BOLD":"Удебеляване","OPACITY":"Непрозрачност","TEXT_COLOR":"Цвят на текста","OUTLINE_COLOR":"Цвят на очертанията","BACKGROUND_COLOR":"Цвят на фона","BACKGROUND_BLUR":"Замъгляване на фона","SEEK_TIME_DURATION":"Продължителност на времето за търсене","AUTO_PLAY":"Авто-пускане на следващият епизод","PLAY_NOW":"Пусни сега","MARK_AS_WATCHED":"Маркиране като гледано","MARK_AS_UNWATCHED":"Маркиране като негледано","REWIND_TO_BEGINNING":"Преминаване към началото","CONTINUE_WATCHING":"Продължаване на гледането","ALL":"Всички","SECONDS":"секунди","ON":"ВКЛ","OFF":"ИЗКЛ","RELOAD":"Презареждане","EDIT_URL":"Редактиране на URL","NONE":"Нищо","EMBEDDED":"Вградени","REMOTE_SWITCH_DEVICES":"Смяна на устройствата","REMOTE_VIDEOS":"Видеа","REMOTE_ADJUST_TIMING":"Регулиране на времето","REMOTE_ADJUST_SIZE":"Регулиране на размера","REMOTE_COULD_NOT_BE_LOADED":"Уеб дистанционното не може да бъде заредено","REMOTE_RETRY":"Повторение","TORRENT_PROFILE_DEFAULT":"По подразбиране","TORRENT_PROFILE_SOFT":"Меко","TORRENT_PROFILE_FAST":"Бързо","TORRENT_PROFILE_ULTRA_FAST":"Ултра бързо","FAQ_001_H1":"Какво е Stremio?","FAQ_001_P1":"Stremio е софтуер за медиен център, предназначен за видео забавление с мисъл за лесна употреба. Stremio ви позволява да организирате &amp; гледайте собствената си колекция от филми, сериали, канали и телевизия на живо.","FAQ_001_P2":"Stremio събира съдържанието, което ви показва, от вашия локален диск и нашата система за добавки.","FAQ_001_P3":"Също така ще ви уведоми, когато излязат нови епизоди/видеоклипове/филми, които ви интересуват, и ще ви предостави препоръки за филми.","FAQ_02_H1":"Може ли Stremio да се сравнява с Kodi и Plex?","FAQ_02_P1":"Ние сме вдъхновени от тези два софтуера. Но ние имаме различни цели - Stremio е специално насочен към развлекателно видео и се стреми да стане основното решение за това, като е много лесен за използване.","FAQ_02_P2":"Stremio никога няма да бъде толкова персонализиран и богат на функции като Kodi и Plex, но е значително по-лесен за използване. Просто ${1} го вземете и ще се убедите ${2} :)","FAQ_03_H1":"Може ли Stremio да се сравнява с Netflix?","FAQ_03_P1":"Отново Netflix е едно от нашите вдъхновения. Стремим се да постигнем потребителското изживяване на Netflix, плюс много добавени екстри. Но най-важното е, че ви даваме свободата да управлявате собствената си библиотека и да добавяте нови източници на съдържание с нашата система за добавки.","FAQ_03_P2":"Това прави Stremio безкрайно разширяем, така че когато използвате Stremio, никога не сте ограничени до съдържанието, което Netflix решава да лицензира. Например чрез Stremio можете да гледате съдържание от ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} и дори от самият${9}Netflix${10}!","FAQ_04_H1":"Може ли Stremio да се сравнява с Flipboard?","FAQ_04_P1":"Ние не получаваме този въпрос толкова често, освен когато разговаряме със стартиращи хора :)","FAQ_04_P2":"Stremio по дизайн е агрегатор на съдържание, което по същество го прави Flipboard за видео. Това е много очевидно в нашата секция Табло, която ви дава каталози и известия за нови епизоди/нови видеоклипове за това, което следвате, точно като Flipboard.","FAQ_05_H1":"Може ли Stremio да се сравнява с Popcorn Time?","FAQ_05_P1":"Stremio и Popcorn Time са сходни в потребителския интерфейс, защото няма много начини да правите правилно каталози с видеоразвлечения :)","FAQ_05_P2":"Но докато Popcorn Time е фокусиран върху поточно предаване на торенти от конкретни източници, Stremio е неограничен и е просто агрегатор на съдържание - не е заключен в конкретен източник на съдържание.","FAQ_05_P3":"Освен това, ние не предоставяме добавки за торент по подразбиране, така че Stremio не покрива случая на използване на Popcorn Time с официална функционалност.","FAQ_05_P4":"Друга основна разлика е, че Popcorn Time е с напълно отворен код, докато Stremio е с ${1} частично отворен код${2}.","FAQ_06_H1":"Ще добавите ли този филм/серия?","FAQ_06_P1":"Не, съжеляваме :(","FAQ_06_P2":"Както се споменава в повечето други въпроси, Stremio не предоставя съдържание само по себе си - всичко се добавя чрез системата за добавки. В случай, че имате заявка за съдържание, можете да използвате бутона „Докладвай“ в плеъра, който ще изпрати имейл до автора на добавката, която използвате в момента.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Ще създадете ли добавка за X?","FAQ_08_P1":"Напълно е възможно.","FAQ_08_P2":"Ако имате идея за добавка, пишете ни на ${1}office@stremio.com${2}, но моля, уверете се, че вашата идея за добавка няма да наруши никакви авторски права или условия за използване.","FAQ_08_P3":"В момента следващите неща в нашата пътна карта са добавки за FandangoNOW, Filmon.tv видео при поискване и Crunchyroll.","FAQ_09_H1":"Използва ли Stremio BitTorrent?","FAQ_09_P1":"Да, Stremio поддържа BitTorrent като протокол за поточно предаване. Можете да го използвате или с добавка за торент, или като плъзнете и пуснете .torrent файл в Stremio, или като поставите магнитна връзка в лентата за търсене.","FAQ_09_P2":"Моля, обърнете внимание, че единствената официален добавка, използваща BitTorrent, е ${1}Vodo${2}, което осигурява съдържание на инди, всички разрешени да бъдат разпределени с BitTorrent.","FAQ_09_P3":"Ние не подкрепяме използването на никакви добавки на трети страни, които могат да позволят нарушаване на авторски права.","FAQ_10_H1":"Какво мога да гледам в Stremio с официалните добавки?","FAQ_10_P1":"По подразбиране можете да гледате Filmon.tv, YouTube и Vodo съдържание в рамките на самия Stremio, с вграден плейър. Освен това имаме добавка за Twitch.tv и няколко други.","FAQ_10_P2":"Тази комбинация осигурява избор на:","FAQ_10_L1":"Популярни ТВ канали, предоставени от Filmon.tv - например E4, BBC, Bollyworld TV","FAQ_10_L2":"Всичко от YouTube - например BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Индийски филми от Vodo","FAQ_10_L4":"Онлайн гейминг излъчвания с Twitch.tv","FAQ_10_P3":"Освен това има много източници на съдържание, предоставени с Guidebox и добавките на Netflix, които <b>не се</b> възпроизвеждат изцяло в Stremio, но ще ви пренасочат към дадената услуга. Например добавката Guidebox ще ви даде селекция от филми, които можете да предавате поточно безплатно в САЩ от услуги като TubiTV и Crackle.","FAQ_11_H1":"Stremio не се инсталира, какво да правя?","FAQ_11_P1":"Ако сте с Windows, пробвайте ${1}този алтернативен инсталатор${2}.","FAQ_11_P2":"Ако сте с Mac OS X, моля, бъдете наясно, че не поддържаме ОС преди OS X Mavericks (10.9).","FAQ_11_P3":"Ако сте с Linux, бъдете наясно, че в момента поддържаме само 64-битов (x64) Linux.","FAQ_11_P4":"Ако все още не можете да разрешите проблема си, моля, пишете ни в нашата ${1}Facebook група${2}.","FAQ_12_H1":"Защо моята анти-вирусна се оплаква? Stremio чист ли е?","FAQ_12_P1":"Бъдете сигурни, че Stremio е ${1}100% чист${2}.","FAQ_12_P2":"Вашият антивирус се оплаква, защото ние включваме реклама в нашия инсталатор, които някои антивирусни програми разпознават като ad-ware.","FAQ_12_P3":"Ако все още не сте сигурни, може да пробвате нашите ${1}алтернативни инсталатори{2}.","FAQ_13_H1":"Как мога да направя добавка?","FAQ_13_P1":"За начало препоръчваме ви да проверите нашият ${1}системен модул за добавки${2} в GitHub.","FAQ_13_P2":"След това може да последвате нашият ${1}Hello World съветник${2}.","FAQ_13_P3":"Ако нямате никакви умения за програмиране, моля, публикувайте идеята си в ${1}Reddit общността${2} и се свържете с нас с вашата идея за добавка на ${3}office@stremio.com${4}.","FAQ_14_H1":"Как се публикуват добавките?","FAQ_14_P1":"Когато създадете добавка и хост и поставите поле <b>endpoint</b> във вашия манифест, което сочи към работещ адрес на добавка, добавката автоматично ще се публикува в нашия ${1}Каталог с добавки${2}.","FAQ_14_P2":"Това се случва, защото сървърната част на модула stremio-addons автоматично се обажда към нашия API, за да обяви добавката. Когато нашият API потвърди вашата <b>endpoint</b> като валидна добавка, тя ще започне да се показва в каталога.","FAQ_15_H1":"Мога ли да пусна Stremio в браузъра си?","FAQ_15_P1":"В момента не, но това предстои!","FAQ_15_P2":"Ако сте любопитни да видите Alpha, можете да го видите тук: ${1}alpha4.strem.io${2}. Имайте предвид, че поточното предаване е деактивирано в тази alpha версия. Ние поддържаме Chrome, Firefox, Opera и Edge.","FAQ_16_H1":"Предаването към телевизор не работи / субтитрите не работят","FAQ_16_P1":"Предаването към телевизор използва технологията DLNA, която е много непоследователна между различните марки и модели телевизори. Поради тази причина нямаме възможност да го тестваме във всеки случай, така че далеч не е идеален. Въпреки това ние работим постоянно върху подобряването му, но не можем да ви дадем прогноза кога DLNA ще започне да работи правилно с вашия телевизор.","FAQ_16_P2":"Ако дори не виждате телевизора си в менюто за предаване, моля, опитайте да деактивирате мрежовата си връзка и да я активирате отново (в Windows щракнете с десния бутон върху Мрежа и използвайте Активиране/Деактивиране), както и рестартирайте рутера, телевизора и компютъра.","FAQ_16_P3":"Ако все още срещате проблеми, можете да ни помогнете, като изпратите информация за марката и модела на вашия телевизор на ${1}office@stremio.com${2}.","FAQ_16_P4":"Междувременно препоръчваме Chromecast, който поддържаме много добре, или просто да включите вашия телевизор към вашия компютър с HDMI кабел.","FAQ_17_H1":"Stremio замръзва и/или се срива, какво мога да направя?","FAQ_17_P1":"Първо, ако използвате Windows 7 с антивирусна програма AVG: имаме проблем с тази комбинация. Проблемът е в самия AVG и няма разумен начин да го разрешим от наша страна. За съжаление, изключенията или деактивирането на антивирусната програма няма да работят. Единственото решение е да замените AVG с нещо друго.","FAQ_17_P2":"Ако това не е проблемът, но все още използвате Windows, моля, актуализирайте до най-новия сервизен пакет и актуализирайте/преинсталирайте драйверите на видеокартата, след което опитайте отново.","FAQ_17_P3":"Ако проблемът ви все още не е решен или използвате Mac или Linux, моля, пишете ни, съобщавайки точните подробности за проблема в ${1}нашата Facebook група${2}.","FAQ_18_H1":"Как мога да направя добавка?","FAQ_18_P1":"За начало препоръчваме ви да проверите нашият ${1}системен модул за добавки${2} в GitHub.","FAQ_18_P2":"След това може да последвате нашият ${1}Hello World съветник${2}.","FAQ_18_P3":"Ако нямате никакви умения за програмиране, моля, публикувайте идеята си в ${1}Reddit общността${2} и се свържете с нас с вашата идея за добавка на ${3}office@stremio.com${4}.","FAQ_19_H1":"Защо Stremio заема дисково пространство?","FAQ_19_P1":"Stremio има <b>локален кеш</b> за временно запазване на видео файловете, които предавате поточно.","FAQ_19_P2":"Това има две предимства: първо, позволява на Stremio да буферира предварително видеото, за да осигури по-плавно поточно предаване. Второ, той запазва видеоклиповете в локалния кеш, така че можете да продължите да ги гледате офлайн.","FAQ_19_P3":"Колко запазва Stremio зависи от настройката <b>Кеш</b> в панела с настройки. Stremio може да поддържа зададеното количество (напр. 2 GB) на вашия диск, освен ако текущо поточно предаваното видео е по-голямо от това, в който случай трябва да разпредели достатъчно място за съхранение, за да го запази, докато не го предавате поточно.","FAQ_20_H1":"Къде е папката за кеша?","FAQ_20_P1":"В Windows, това е stremio-cache в устройството, което сте избрали в Настройки (например \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"В MacOS, това е \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"В Linux, това е \\"~/.stremio/stremio-cache\\" или \\"~/stremio-cache\\"","FAQ_21_H1":"Получих грешка \\"Сървърът за поточно предаване не е намерен\\", какво да правя?","FAQ_21_P1":"Ако получите тази грешка, това означава едно от малкото неща:","FAQ_21_P2":"1) Опитвате се да използвате добавка, поддържана от източник на YouTube/BitTorrent, чрез нашата ${1}уеб версия${2}. В този случай трябва да инсталирате нашата десктоп версия от ${3}нашата страница${4}.","FAQ_21_P3":"2) Нещо не е наред с вашата инсталация на Stremio. В този случай опитайте да инсталирате отново най-новата ни настолна версия от ${1}нашата страница${2}. Ако това не помогне, опитайте да деактивирате антивирусните програми и защитните стени, рестартирайте компютъра си и опитайте отново. Ако и това не работи, моля, пишете ни в ${3}нашата Facebook група${4}.","FAQ_22_H1":"Не виждам/не мога да използвам повечето добавки на iOS","FAQ_22_P1":"Поради ограниченията в правилата и условията на Apple App Store, ние ограничихме приложението за iOS само до определен набор от добавки.","FAQ_22_P2":"Но бъдете сигурни – в бъдеще ще има още добавки за iOS и може също да добавим интеграция, която ще ви позволи да използвате всички добавки на Stremio, благодарение на свързването на приложението за iOS към Stremio Streaming Server."}')},15170:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"মুভি","TYPE_series":"সিরিজ","TYPE_tv":"টিভি চ্যানেল","TYPE_channel":"চ্যানেল","TYPE_other":"অন্যান্য","TYPE_movie_PL":"মুভি","TYPE_series_PL":"সিরিজ","TYPE_tv_PL":"টিভি চ্যানেল","TYPE_channel_PL":"চ্যানেল","TYPE_other_PL":"অন্যান্য","TYPE_ALL":"সব","TYPE":"টাইপ","CATALOG_com_linvo_cinemeta_top":"জনপ্রিয়","CATALOG_com_linvo_cinemeta_imdbRating":"বৈশিষ্ট্যযুক্ত","CATALOG_com_linvo_cinemeta_year":"নতুন","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"পাব্লিক ডোমেইন মুভিসমূহ","VIDEO":"ভিডিও","BACK":"পেছনে","MORE":"আরো","DONE":"সম্পন্ন","COPY":"কপি","SUCCESS":"সফল","ERROR":"ত্রুটি","SETTINGS_CASTING_MODE_PICKER":"কাস্টিং মোড","CASTING_MODE_HLSV2":"ডিফল্ট","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"ট্রান্সকোডিং নেই","Discover":"আবিষ্কার করুন","Board":"বোর্ড","Library":"লাইব্রেরি","My Library":"আমার লাইব্রেরি","Calendar":"ক্যালেন্ডার","NOTIFICATION_ONLINE":"আপনি এখন অনলাইনে","NOTIFICATION_OFFLINE":"আপনি বর্তমানে অফলাইনে","INTERNET_CONNECTION":"নেটওয়ার্ক সংযোগ","STORAGE_FULL_TITLE":"সতর্কতা: স্টোরেজ পূর্ণ!","STORAGE_FULL_TEXT":"স্ট্রেমিও আপনার সেটিংস, পছন্দ বা লগইন তথ্য সংরক্ষণ করতে পারবে না। স্ট্রেমিও পুনরায় চালু করা বা পুনরায় ইনস্টল করার কথা বিবেচনা করুন।","SEARCH":"অনুসন্ধান","SEARCH_NO_RESULTS":"কোনো ফলাফল পাওয়া যায়নি","SEARCH_EXPLANATION_CONTENT":"চলচ্চিত্র, সিরিজ, ইউটিউব এবং টিভি চ্যানেল অনুসন্ধান করুন","SEARCH_EXPLANATION_PEOPLE":"অভিনেতা, পরিচালক এবং লেখকদের অনুসন্ধান করুন","SEARCH_PASTE_LINKS":"HTTP এবং ম্যাগনেট লিংক পেস্ট করুন","SEARCH_OR_PASTE_LINK":"অনুসন্ধান করুন বা লিংক পেস্ট করুন","SEARCH_SUGGESTIONS":"অনুসন্ধান পরামর্শ","ADD_TO_LIB":"লাইব্রেরিতে যোগ করুন","REMOVE_FROM_LIB":"লাইব্রেরি থেকে সরান","ADDED_TO_LIB":"লাইব্রেরিতে যোগ করা হয়েছে","REMOVED_FROM_LIB":"লাইব্রেরি থেকে সরানো হয়েছে","TRAILER":"ট্রেইলার","WATCH_TRAILER":"ট্রেইলার দেখুন","WATCH_NOW":"এখন দেখুন","SHOW":"দেখান","SHOW_MOVIE":"চলচ্চিত্র দেখান","WATCH_RANDOM":"এলোমেলোভাবে দেখুন","IMDB_RATING":"IMDb রেটিং","YEAR":"বছর","DIRECTOR":"পরিচালক","WRITER":"লেখক","LEAD_ACTORS":"প্রধান অভিনেতা","CAST":"অভিনেতা","CREW":"দল","SHOW_MORE_CAST":"আরো দেখান »","AIRED":"প্রচারিত","SEASONS":"সিজন","GENRE":"ধরন","GENRE_ALL":"সব ধরন","CATALOG":"ক্যাটালগ","SUMMARY":"সারসংক্ষেপ","SHOW_MORE":"আরো দেখান","SIMILAR":"অনুরূপ","UPCOMING":"আসন্ন","ENDED":"সমাপ্ত","DURATION":"সময়কাল","FEATURED":"বৈশিষ্ট্যযুক্ত","METADATA":"মেটাডেটা","CATEGORY":"বিভাগ","LINKS_GENRES":"ধরন","LINKS_CAST":"অভিনেতা","LINKS_DIRECTORS":"পরিচালক","SEARCH_VIDEOS":"ভিডিও অনুসন্ধান","SEARCH_PLACEHOLDER":"অনুসন্ধান করুন বা URL পেস্ট করুন","ADDON":"অ্যাড-অন","ADDONS":"অ্যাড-অনস","OFFICIAL":"অফিসিয়াল","ADDONS_OFFICIAL":"অফিসিয়াল স্ট্রেমিও অ্যাড-অনস","ADDONS_POPULAR":"আপনার এলাকায় জনপ্রিয়","ADDON_FREE":"বিনামূল্যে","ADDON_PEERED":"পিয়ার্ড","ADDON_SUBSCRIPTION":"সাবস্ক্রিপশন","ADDON_STREAM_GEORESTRICTED":"আপনার এলাকায় উপলব্ধ নয়","ADDON_STREAM_OFFLINECACHE":"অফলাইন ক্যাশে","ADDON_STREAM_LOCALFILE":"লোকাল ফাইল","SHARE_ADDON":"অ্যাড-অন শেয়ার করুন","AVAILABLE_STREAMS":"উপলব্ধ স্ট্রিমসমূহ","NO_STREAM":"কোনো স্ট্রিম পাওয়া যায়নি","ALL_ADDONS":"সমস্ত","INSTALL_MORE_ADDONS":"আরও স্ট্রিমের জন্য, অনুগ্রহ করে আরও অ্যাড-অন ইনস্টল করুন","STREAM_NOT_SUPPORTED":"নির্বাচিত স্ট্রিম এই প্ল্যাটফর্মে সমর্থিত নয়।","ADDON_CATALOGUE":"সমস্ত অ্যাড-অন দেখান »","ADDON_CATALOGUE_MORE":"অ্যাড-অন ইনস্টল করুন","REPO_ADDED":"রিপোজিটরি যোগ করা হয়েছে","ADDON_REPO_EXIST_ERR":"এই অ্যাড-অন সংগ্রহ ইতিমধ্যে বিদ্যমান","ADDON_REPO_ERR":"সংগ্রহ যোগ করার সময় ত্রুটি ঘটেছে","ADDON_ADD_ERR":"অ্যাড-অন যোগ করার সময় ত্রুটি ঘটেছে","ERR_ADDON_PROTECTED":"অ্যাড-অন আনইনস্টল করা যাবে না, এটি সুরক্ষিত","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"কিছু ভুল হয়েছে - প্রমাণীকরণ ব্যর্থ হতে পারে","ERR_NOT_COLLECTION_URL":"সংগ্রহের URL নয়","ERR_NOT_ADDON_URL":"বৈধ অ্যাড-অন URL নয়","ERR_DETECTFROMURL":"এই URL থেকে অ্যাড-অন/সংগ্রহ খুঁজে পাওয়া যাচ্ছে না","ADDON_DUPLICATE_WARNING":"সতর্কতা: ডুপ্লিকেট অ্যাড-অন","ADDON_COLLECTION_SET_FAILED":"আপনার অ্যাকাউন্টে ইনস্টল করা অ্যাড-অনগুলি সিঙ্ক করা ব্যর্থ হয়েছে","SETTINGS_DATA_EXPORT":"ব্যবহারকারীর ডেটা এক্সপোর্ট করুন","ADDON_PULL_FAILED":"আপনার অ্যাকাউন্ট থেকে ইনস্টল করা অ্যাড-অনগুলি সিঙ্ক করা ব্যর্থ হয়েছে","REFRESH_ON_CLICK":"পুনরায় চেষ্টা করতে ক্লিক করুন","STILL_IN_THEATER":"চলচ্চিত্র এখনও থিয়েটারে আছে","WATCH_IN_CINEMA":"আপনার স্থানীয় সিনেমা হলে দেখুন","IN_THEATER":"সিনেমা হলে","GET_TICKETS":"টিকিট সংগ্রহ করুন","UPCOMING_EPISODE":"আসন্ন এপিসোড","UPCOMING_EPISODE_MESSAGE":"এই এপিসোডটি প্রচারিত হবে","MISSING_DATE_EPISODE":"এপিসোডের তারিখ অনুপস্থিত","MISSING_DATE_EPISODE_MESSAGE":"এই এপিসোডটি এখনও প্রচারিত হয়নি","CHANNEL_NOT_SCRAPED":"এই চ্যানেলটি এখনও স্ক্র্যাপ করা হয়নি।<br>অনুগ্রহ করে কয়েক মিনিট পরে আবার আসুন।","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"একবার উপলব্ধ হলে বিজ্ঞপ্তি পেতে এটি আপনার লাইব্রেরিতে যোগ করুন।","GET_NOTIFIED_WHEN_AVAILABLE":"একবার উপলব্ধ হলে আপনি বিজ্ঞপ্তি পাবেন।","WARNING_STREAMING_SERVER":"সতর্কতা: স্থানীয় স্ট্রিমিং সার্ভার পাওয়া যায়নি। স্থানীয় ফাইল, ইউটিউব এবং বিটটরেন্ট থেকে স্ট্রিমিং উপলব্ধ হবে না।","WARNING_STREAMING_SERVER_DISMISS":"বাতিল করুন","WARNING_STREAMING_SERVER_LATER":"পরে","DECODER_WARNING":"সতর্কতা: এই ভিডিওটি আপনার হার্ডওয়্যার দ্বারা সমর্থিত নাও হতে পারে। মনে রাখবেন, প্লেব্যাক ধীর হতে পারে।","GENERIC_ERROR_MESSAGE":"কিছু ভুল হয়েছে!","TRY_AGAIN":"আবার চেষ্টা করুন","CLEAR_DATA":"ডেটা মুছে ফেলুন","PLAYER_ERROR":"উফ, প্লেয়ার ত্রুটি","PLAYER_ERROR_LOOKSLIKE":"মনে হচ্ছে","PLAYER_ORIENTATION":"প্লেয়ার অভিমুখীকরণ","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"লক করা","PLAYER_ORIENTATION_SENSOR_SHORT":"সেন্সর","PLAYER_ORIENTATION_LANDSCAPE":"প্লেয়ার অভিমুখীকরণ ল্যান্ডস্কেপে লক করা","PLAYER_ORIENTATION_SENSOR":"প্লেয়ার অভিমুখীকরণ স্বয়ংক্রিয় (সেন্সর)","PLAYER_PLAYBACK_SPEED":"প্লেব্যাক গতি","PLAYER_PLAYBACK_ERROR":"প্লেব্যাক ত্রুটি, অনুগ্রহ করে আবার চেষ্টা করুন","PLAYER_PLAYBACK_ERROR_UNKNOWN":"অজানা ত্রুটি","PLAYER_PLAYBACK_ERROR_DEFAULT":"দুঃখিত, এই ভিডিওটি {{productName}} দ্বারা চালানো যাবে না।","PLAYER_SUBTITLES_LANGUAGES":"সাবটাইটেল ভাষাসমূহ","PLAYER_SUBTITLES_VARIANTS":"সাবটাইটেল বৈকল্পিকগুলি","PLAYER_SUBTITLES_SETTINGS":"সাবটাইটেল সেটিংস","PLAYER_SUBTITLES_DISABLED":"সাবটাইটেল নিষ্ক্রিয় করা হয়েছে","PLAYER_SUBTITLES_VERTICAL_POSIITON":"উল্লম্ব অবস্থান","PLAYER_SUBTITLES_LOADED":"সাবটাইটেল লোড করা হয়েছে","PLAYER_SUBTITLES_LOADED_EMBEDDED":"এম্বেডেড সাবটাইটেল লোড করা হয়েছে","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"এক্সক্লুসিভ সাবটাইটেল লোড করা হয়েছে","PLAYER_SUBTITLES_LOADED_ORIGIN":"{{origin}} থেকে সাবটাইটেল লোড করা হয়েছে","PLAYER_PLAY":"চালান","PLAYER_PAUSE":"বিরতি","PLAYER_NEXT_VIDEO":"পরবর্তী ভিডিও","PLAYER_MUTE":"নিঃশব্দ করুন","PLAYER_UNMUTE":"শব্দ চালু করুন","PLAYER_OPEN_IN_EXTERNAL":"বাহ্যিক প্লেয়ারে খুলুন","PLAYER_OPEN_IN_NPLAYER":"nPlayer-এ খুলুন","PLAYER_PLAY_IN":"{{device}}-এ চালান","PLAYER_LIVE":"লাইভ","PLAYER_NEXT_VIDEO_TITLE":"পরবর্তীতে আসছে","PLAYER_NEXT_VIDEO_TITLE_SHORT":"পরবর্তীতে","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"বাতিল করুন","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"এখন দেখুন","PLAYER_COPY_STREAM_SUCCESS":"স্ট্রিম লিংক আপনার ক্লিপবোর্ডে কপি করা হয়েছে","PLAYER_COPY_STREAM_ERROR":"স্ট্রিম লিংক কপি করতে ব্যর্থ হয়েছে","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"ডাউনলোড লিংক আপনার ক্লিপবোর্ডে কপি করা হয়েছে","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"ডাউনলোড লিংক কপি করতে ব্যর্থ হয়েছে","STREAMING_FROM":"থেকে স্ট্রিমিং হচ্ছে","CASTING_TO":"কাস্ট করা হচ্ছে","NETWORK_STATUS":"নেটওয়ার্কের অবস্থা","STREAM_SPEED":"স্ট্রিমের গতি:","STREAM_BUFFERED":"বাফার করা হয়েছে:","PEERS_INFO":"পিয়ার তথ্য","PEERS_ACTIVE":"সক্রিয়:","PEERS_CONNECTED":"সংযুক্ত:","PEERS_WAITING":"অপেক্ষমান:","TRANSCODING_WARNING":"সতর্কতা: ভিডিও ট্রান্সকোডিং হচ্ছে।","STREAM_LOADING":"লোড হচ্ছে...","PLAYING_LOCAL":"স্থানীয় ফাইল থেকে চালানো হচ্ছে","PLAYING_CACHE":"ক্যাশে থেকে চালানো হচ্ছে","WRONG_SUBS":"ভুল সাবটাইটেল?","ERR_SUBS_LOADING_TITLE":"সাবটাইটেল লোড করতে ত্রুটি","ERR_SUBS_LOADING":"সাবটাইটেল লোড করতে ব্যর্থ হয়েছে: এটি আপনার ব্যবহৃত অ্যাড-অন বা আপনার নেটওয়ার্ক সংযোগের সমস্যা হতে পারে","WARN_FOLLOWING_SUB_ADDONS_FAILED":"নিম্নলিখিত সাবটাইটেল অ্যাড-অনগুলি ব্যর্থ হয়েছে","ERR_CASTING_UPDATE_TITLE":"কাস্টিং ডিভাইসের তথ্য আপডেট করা যায়নি: স্ট্রিমিং সার্ভার অফলাইন হতে পারে","CHOOSE_DEVICE":"দেখার জন্য একটি ডিভাইস বেছে নিন","NO_CAST_DEVICES":"কোনো কাস্টিং ডিভাইস উপলব্ধ নেই।","NO_SETTINGS":"কোনো সেটিংস উপলব্ধ নেই।","PHONE_TABLET":"ফোন / ট্যাবলেট","SUBTITLES":"সাবটাইটেল","SUBTITLES_CHANGE":"সাবটাইটেল পরিবর্তন করুন","SUBTITLES_CHANGE_NONE":"দুঃখিত, এই ভাষায় অন্য কোনো সাবটাইটেল নেই।","SUBTITLES_CHANGE_ACIVE":"বর্তমানে সাবটাইটেল #{{subtitlesDialog.activeIdx + 1}} সক্রিয় আছে। সাবটাইটেল #{{subtitlesDialog.pickedIdx + 1}} সক্রিয় করতে \'চালিয়ে যান\' ক্লিক করুন।","SUBTITLES_OR":"বিকল্পভাবে,","SUBTITLES_ADJUST_DELAY":"সাবটাইটেল বিলম্ব সামঞ্জস্য করুন:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"অথবা চালানোর সময় সামঞ্জস্য করতে <span>G</span> / <span>H</span> কী ব্যবহার করুন।","SUBTITLES_ADJUST_DELAY_TIP":"পরামর্শ: আপনি চালানোর সময় সামঞ্জস্য করতে <span>G</span> / <span>H</span> কী ব্যবহার করতে পারেন।","SUBTITLES_DELAY":"সাবটাইটেল বিলম্ব:","SUBTITLES_LOADING":"সাবটাইটেল লোড হচ্ছে...","SUBTITLES_UNAVAILABLE":"কোনো বাহ্যিক সাবটাইটেল উপলব্ধ নেই","SUBTITLES_DISABLED":"নিষ্ক্রিয়","EXTERNAL_PLAYER_DISABLED":"নিষ্ক্রিয়","EXTERNAL_PLAYER_ALLOW_CHOOSING":"বেছে নেওয়ার অনুমতি দিন","EXTERNAL_PLAYER_HINT":"ইঙ্গিত: সর্বদা বাহ্যিক প্লেয়ারে খোলার অনুমতি দেওয়ার জন্য একটি সেটিং রয়েছে","DONT_SHOW_AGAIN":"আবার দেখাবেন না","SERVICE_INSTALL":"ইনস্টল করুন","AUDIO":"অডিও","DEFAULT_LANGUAGE":"ডিফল্ট ভাষা","DEFAULT_SECONDARY_LANGUAGE":"ডিফল্ট দ্বিতীয় ভাষা","SEASON":"সিজন","EPISODE":"এপিসোড","EPISODE_ABBREVIATION":"ইপি","SPECIAL":"বিশেষ","SORT":"সাজান","SORT_BY":"সাজান","FILTER":"ফিল্টার","SORT_TRENDING":"ট্রেন্ডিং","SORT_RECENT":"সাম্প্রতিক","SORT_ALPHABET":"ক-খ","SORT_ALPHABET_REVERSE":"খ-ক","SORT_RATING":"রেটিং","SORT_WATCHED":"দেখা হয়েছে","SORT_YEAR":"বছর","SELECT_TYPE":"ধরন নির্বাচন করুন","SELECT_SORT":"সাজানোর ধরন নির্বাচন করুন","SELECT_CATALOG":"ক্যাটালগ নির্বাচন করুন","SELECT_GENRE":"ধরন নির্বাচন করুন","SORT_LASTWATCHED":"শেষ দেখা","SORT_NAME":"ক-খ","SORT_NAMEREVERSE":"খ-ক","SORT_TIMESWATCHED":"সবচেয়ে বেশি দেখা","SORT_NOTWATCHED":"দেখা হয়নি","New for You":"আপনার জন্য নতুন","New Episodes":"নতুন এপিসোড","New Videos":"নতুন ভিডিও","Recommendations":"সুপারিশকৃত","LIBRARY_RESUME":"পুনরায় শুরু করুন","LIBRARY_PLAY":"চালান","LIBRARY_DETAILS":"বিস্তারিত","LIBRARY_RESUME_DISMISS":"বাতিল করুন","LIBRARY_CLEAR_PROGRESS":"অগ্রগতি মুছে ফেলুন","LIBRARY_REMOVE":"সরান","LIBRARY_NOT_LOGGED_IN":"লাইব্রেরি শুধুমাত্র লগ ইন করা ব্যবহারকারীদের জন্য উপলব্ধ","CALENDAR_NOT_LOGGED_IN":"ক্যালেন্ডার শুধুমাত্র লগ ইন করা ব্যবহারকারীদের জন্য উপলব্ধ","NOT_LOGGED_IN_CLOUD":"আপনার প্রিয় সিনেমা এবং টিভি শোগুলি যেকোনো সময়, যেকোনো জায়গায় অ্যাক্সেস করুন","NOT_LOGGED_IN_RECOMMENDATIONS":"আপনার দেখার ইতিহাস অনুযায়ী সুপারিশ","NOT_LOGGED_IN_NOTIFICATIONS":"কখনও একটি এপিসোড মিস করবেন না","NOT_LOGGED_IN_CALENDAR":"আপনার ব্যক্তিগত দেখার ক্যালেন্ডার শিডিউল করুন","DISCOVER_FEATURED":"বৈশিষ্ট্যযুক্ত","DISCOVER_TOP":"শীর্ষ","DISCOVER_OSCAR":"অস্কার বিজয়ী","DISCOVER_WARNING_TITLE":"ওহ!","DISCOVER_EMPTY_CATALOG":"এই অ্যাডঅনটি খালি কনটেন্ট প্রদান করেছে।","DISCOVER_ADULT_WARNING":"কন্টেন্ট শুধুমাত্র প্রাপ্তবয়স্কদের জন্য দৃশ্যমান। আপনি কি ১৮+?","DISCOVER_NOADDON_WARNING":"সতর্কবার্তা: এই ধরণের জন্য কোনো Stremio অ্যাডঅন সক্রিয় নয়। সংরক্ষিত আইটেম দেখানো হচ্ছে, এখানে কিছু আপডেট হবে না।","DISCOVER_LOAD_ERR":"কন্টেন্ট লোড হয়নি, একটি ত্রুটি ঘটেছে।","DISCOVER_ADDON_UNINSTALLED":"এই কন্টেন্ট আর উপলব্ধ নেই, আপনি সম্ভবত অ্যাডঅন আনইনস্টল করেছেন।","UNINSTALL_THIS_ADDON":"এই অ্যাডঅন আনইনস্টল করুন","ERR_ADDON_NOT_INSTALLED":"এই অ্যাডঅনটি ইনস্টল করা নেই। এখনই ইনস্টল করবেন?","DETAIL_RECEIVE_NOTIF_SERIES":"নতুন এপিসোডের জন্য বিজ্ঞপ্তি পান","DETAIL_RECEIVE_NOTIF_VIDEOS":"নতুন ভিডিওর জন্য বিজ্ঞপ্তি পান","SIDEBAR_SHOW_STREAMS":"স্ট্রিমগুলি দেখান","RELAUNCH":"এখনই পুনরায় চালু করুন!","UPGRADE":"নতুন সংস্করণ উপলব্ধ! সর্বশেষ Stremio সংস্করণে আপগ্রেড করুন","RELOAD_UI":"ইউজার ইন্টারফেস পুনরায় লোড করুন","MANUAL_UPDATE_TITLE":"আপনার Stremio সংস্করণ আপডেট করুন","MANUAL_UPDATE_LINE1":"আপনি একটি পুরানো Stremio সংস্করণ চালাচ্ছেন যা অত্যন্ত অনির্দেশিত।","MANUAL_UPDATE_LINE2":"দয়া করে যত তাড়াতাড়ি সম্ভব আপডেট করুন।","BUTTON_UPDATE_LATTER":"এখন নয়","BUTTON_UPDATE_NOW":"আপডেট করুন","ANONYMOUS_USER":"অজ্ঞাত ব্যবহারকারী","DONT_HAVE_ACC":"আপনার কি একটি অ্যাকাউন্ট নেই?","HAVE_ACC":"আপনার কি একটি অ্যাকাউন্ট আছে?","PASSWORD":"পাসওয়ার্ড","PASSWORD_CONFIRM":"পাসওয়ার্ড নিশ্চিত করুন","EMAIL":"ই-মেইল","FB_LOGIN":"ফেসবুক দিয়ে চালিয়ে যান","FB_NOTHINGSHARED":"আপনার অনুমতি ছাড়া কিছুই শেয়ার করা হয় না","FB_NOPOST":"আমরা আপনার পক্ষে কিছু পোস্ট করব না","OR":"অথবা","I_ACCEPT":"আমি গ্রহণ করি","I_ACCEPT_BY_CLICKING":"উপরের বোতামে ক্লিক করে আমি স্বীকার করছি যে আমি গ্রহণ করছি ","TOS":"শর্তাবলী","MUST_ACCEPT_TERMS":"আপনাকে শর্তগুলি গ্রহণ করতে হবে","PASSWORDS_NOMATCH":"পাসওয়ার্ডগুলি মেলে না","SIGN_UP":"নিবন্ধন করুন","SIGN_UP_EMAIL":"ইমেইল দিয়ে নিবন্ধন করুন","CLICK_TO_SIGN_UP":"নিবন্ধনের জন্য এখানে ক্লিক করুন।","LOG_IN":"লগ ইন","LOG_OUT":"লগ আউট","EXIT_FULLSCREEN":"ফুলস্ক্রীন মোড থেকে বেরিয়ে যান","ENTER_FULLSCREEN":"ফুলস্ক্রীন মোডে যান","PLAY_URL_MAGNET_LINK":"URL/ম্যাগনেট লিংক চালান","HELP_FEEDBACK":"সহায়তা ও প্রতিক্রিয়া","TERMS_OF_SERVICE":"সেবার শর্তাবলী","PRIVACY_POLICY":"গোপনীয়তা নীতি","ABOUT_STREMIO":"Stremio সম্পর্কে","USER_PANEL":"ব্যবহারকারী প্যানেল","LOGIN_LABEL":"লগইন","GUEST_LOGIN":"অতিথি লগইন","GUEST_LOGIN_NOTICE":"অতিথি লগইন সুপারিশ করা হয় না। একটি নিয়মিত লগইন ব্যবহার করলে Stremio আপনার লাইব্রেরি সিঙ্ক করতে পারে, প্রিয় সিরিজ/চ্যানেলের বিজ্ঞপ্তি পেতে পারে। আপনি কি নিশ্চিত যে আপনি এগিয়ে যেতে চান?","GUEST_LOGIN_NOTICE_2":"অতিথি লগইন সুপারিশ করা হয় না - আপনার সিঙ্কড লাইব্রেরি এবং বোর্ড বিজ্ঞপ্তি থাকবে না, যা Stremio এর গুরুত্বপূর্ণ বৈশিষ্ট্য। আপনি কি নিশ্চিত যে আপনি এগিয়ে যেতে চান?","CLICK_HERE":"এখানে ক্লিক করুন","WRONG_PASSWORD":"ভুল ইমেল বা পাসওয়ার্ড। আপনি যদি আপনার পাসওয়ার্ড ভুলে থাকেন, ","SET_A_PASS":"একটি পাসওয়ার্ড সেট করুন","RESET_PASSWORD":"পাসওয়ার্ড পুনরায় সেট করুন","FORGOT_PASSWORD":"পাসওয়ার্ড ভুলে গেছেন?","EMAIL_USED_WITH_FB":"এই ইমেইলটি ফেসবুক লগইনের সাথে ব্যবহৃত হয়েছে।","INVALID_EMAIL":"অনুগ্রহ করে একটি বৈধ ইমেইল ঠিকানা প্রবেশ করুন","INVALID_PASSWORD":"অনুগ্রহ করে একটি বৈধ পাসওয়ার্ড প্রবেশ করুন","CONN_ERR":"সংযোগ ত্রুটি - দয়া করে পরে আবার চেষ্টা করুন।\\n\\nযদি এটি চলতে থাকে, ফায়ারওয়াল/অ্যান্টি-ভাইরাস সফটওয়্যার (বিশেষ করে Bitdefender) অক্ষম করুন।","IMPORT_FROM_GUEST":"আপনার অতিথি অ্যাকাউন্ট থেকে লাইব্রেরি আমদানি করুন","RECEIVE_UPDATES_EMAIL":"Stremio থেকে আপনার ইমেইলে আপডেটগুলি পান","LOGIN_FAILED":"লগইন ব্যর্থ হয়েছে।","SIGNUP_FAILED":"নিবন্ধন ব্যর্থ হয়েছে।","SEARCH_FAILED":"অনুসন্ধান ব্যর্থ হয়েছে","EMAIL_USED":"এই ইমেইলটি ইতিমধ্যে ব্যবহৃত হয়েছে।","WAITING_FB_LOGIN":"ফেসবুক দিয়ে লগইন হচ্ছে...","EXTERNAL_PLAYER_TITLE":"বাহ্যিক প্লেয়ারে চালান","EXTERNAL_REMEMBER_PLAYER":"আপনি কি আপনার পছন্দটি মনে রাখতে চান?","EXTERNAL_ALWAYS_PLAY":"হ্যাঁ","EXTERNAL_ONLY_ONCE":"না","BEST_FIT":"সেরা ফিট","FIT_SCREEN":"স্ক্রীনে ফিট","FILL":"ভরাট করুন","16:9":"16:9","4:3":"4:3","Original":"মূল","INTRO_TASTE":"আমাদের বলুন আপনি কী পছন্দ করেন","INTRO_TASTE_LONG":"আমাদের বলুন আপনি কী দেখতে চান","INTRO_TASTE_PICK":"{{interestsRemaining}} টি আগ্রহ বেছে নিন","INTRO_TASTE_PICK_MORE":"{{interestsRemaining}} টি আরও আগ্রহ বেছে নিন","INTRO_TASTE_HELP_US":"আমাদের আপনার সম্পর্কে আরও জানতে সাহায্য করুন।","INTRO_TASTE_CHOOSE_THESE":"এগুলির মধ্যে কিছু বেছে নিন:","INTRO_TASTE_CHOOSE_MIN":"অন্তত ৩টি বিভাগ বেছে নিন","INTRO_TASTE_CHOOSE_MIN_ERR":"আপনাকে অন্তত ৩টি বিভাগ বেছে নিতে হবে!","INTRO_TASTE_LIFESTYLE":"জীবনধারা","INTRO_TASTE_SPORTS":"খেলাধুলা","INTRO_TASTE_FOOD_HEALTH":"খাদ্য ও স্বাস্থ্য","INTRO_TASTE_BEAUTY_FASHION":"সৌন্দর্য ও ফ্যাশন","INTRO_TASTE_NEWS":"সংবাদ","INTRO_TASTE_GAMING":"গেমিং","INTRO_TASTE_SCIENCE_EDU":"বিজ্ঞান ও শিক্ষা","INTRO_TASTE_MUSIC":"সঙ্গীত","INTRO_TASTE_TRAVEL":"ভ্রমণ","INTRO_TASTE_LATE_NIGHT":"লেট নাইট শো","INTRO_TASTE_REALITY":"রিয়েলিটি","INTRO_TASTE_COMEDY":"কৌতুক","INTRO_TASTE_DIY":"কীভাবে DIY","INTRO_TASTE_TECH":"প্রযুক্তি","INTRO_TASTE_CINEMA":"সিনেমা","ADDON_NOT_SUPPORTED":"নির্বাচিত অ্যাডঅনটি এই প্ল্যাটফর্মে সমর্থিত নয়।","ADDON_DISCLAIMER":"তৃতীয় পক্ষের অ্যাডঅন ব্যবহার সর্বদা আপনার দায়িত্ব এবং আপনি যে অধিক্ষেত্রে আছেন তার শাসনকানুনের অধীনে হবে।","ADDON_ACTIVATE":"এই অ্যাডঅনটি সক্রিয় করবেন?","ADDON_REPO_ADD":"অ্যাডঅন সংগ্রহের URL","ADDON_ADD":"যোগ করুন","INSTALL_ADDON":"অ্যাডঅন ইনস্টল করুন","ADD_ADDON":"অ্যাডঅন যোগ করুন","ADD_ADDON_DESCRIPTION":"আপনি একটি বাহ্যিক লিঙ্কের মাধ্যমে একটি অ্যাডঅন যোগ করতে পারেন, যা ইনস্টল করা অ্যাডঅনগুলির অধীনে প্রদর্শিত হবে।","PASTE_ADDON_URL":"অ্যাডঅন URL পেস্ট করুন","WHATS_NEW":"নতুন কী","BUTTON_CONTINUE":"চালিয়ে যান","BUTTON_ACTIVATE":"সক্রিয় করুন","BUTTON_ACTIVATED":"সক্রিয় হয়েছে","BUTTON_CANCEL":"বাতিল করুন","BUTTON_SUBMIT":"জমা দিন","BUTTON_DISMISS_ALL":"সব বাদ দিন","BUTTON_VIEW_ALL":"সব দেখুন","BUTTON_SEE_ALL":"সব দেখুন","BUTTON_COLOR_TRANSPARENT":"স্বচ্ছ","OPEN_IN_BROWSER":"ব্রাউজারে খুলুন","LIB_EMPTY":"আপনার লাইব্রেরি খালি দেখাচ্ছে। এটি কতটা উপকারী তা খুঁজে বের করুন :)","HOW_START":"এভাবে আপনি শুরু করতে পারেন:","LIB_EMPTY_CAL":"আপনার ক্যালেন্ডার আপনার লাইব্রেরিতে থাকা সিরিজগুলি দেখায়।","HOW_START_CAL":"এভাবে আপনি সিরিজ যোগ করতে পারেন:","LIB_EMPTY_BOARD":"বোর্ড আপনার লাইব্রেরি সম্পর্কিত বিজ্ঞপ্তি ও সুপারিশগুলি দেখায়।","HOW_START_BOARD_WAIT":"অনুগ্রহ করে, আপনার লাইব্রেরিতে কয়েকটি সিরিজ বা চ্যানেল যোগ করুন এবং আমাদের প্রক্রিয়া করতে কয়েক মিনিট সময় দিন :)","HOW_START_BOARD":"এভাবে আপনি এতে সিরিজ এবং সিনেমা যোগ করতে পারেন:","IMPORT_FB":"<span>ফেসবুক</span> থেকে আপনার পছন্দের জিনিস আমদানি করুন","IMPORT_TRAKT":"<span>Trakt</span> থেকে আপনার মিডিয়া লাইব্রেরি আমদানি করুন","IMPORT_DISCOVER":"<span>ডিসকভার</span> থেকে আকর্ষণীয় জিনিসগুলি খুঁজে বের করুন","IMPORT_DISK":"আপনার <span>লোকাল ডিস্ক</span> এ থাকা সিনেমা বা শো আমদানি করুন","PLEASE_CREATE_ACC":"লাইব্রেরি সিঙ্ক এবং বোর্ড সক্ষম করতে দয়া করে <u>একটি অ্যাকাউন্ট তৈরি করুন</u>।","IMPORT_DISCOVER_SIGNUP":"নিবন্ধন করুন এবং <span>ডিসকভার</span> থেকে আকর্ষণীয় জিনিস খুঁজে বের করুন","IMPORT_DISK_SIGNUP":"নিবন্ধন করুন এবং আপনার <span>লোকাল ডিস্ক</span> এ থাকা সিনেমা বা শো আমদানি করুন","LIB_EMPTY_CLOUD":"ক্লাউড লাইব্রেরি","LIB_EMPTY_CLOUD_DESC":"ব্যক্তিগত ক্লাউড লাইব্রেরি সব ডিভাইসে সিঙ্ক করা থাকে","LIB_EMPTY_EARLY":"প্রথম ব্যবহারকারী","LIB_EMPTY_EARLY_DESC":"নতুন এপিসোডের জন্য বিজ্ঞপ্তি পান","LIB_EMPTY_PERSONAL":"ব্যক্তিগত","LIB_EMPTY_PERSONAL_DESC":"ব্যক্তিগত সুপারিশ পান","LIB_EMPTY_CALENDAR_DESC":"আপনার ব্যক্তিগত দেখার ক্যালেন্ডার শিডিউল করুন","LIB_EMPTY_ALL":"এইসব পেতে নিবন্ধন করুন:","LIB_EMPTY_BEST":"Stremio এর সর্বোত্তম সুবিধা পেতে নিবন্ধন করুন","LIB_EMPTY_OTHER":"ক্যালেন্ডার ও অন্যান্য চমৎকার বৈশিষ্ট্য সক্ষম করতে নিবন্ধন করুন","CALENDAR_ADDED":"Stremio ক্যালেন্ডার আপনার ডিফল্ট ডেস্কটপ ক্যালেন্ডারে যুক্ত করা হয়েছে।","CALENDAR_ADDED_MSG":"যদি এটি কাজ না করে, অনুগ্রহ করে এই URLটি আপনার ক্যালেন্ডার অ্যাপ্লিকেশনে ম্যানুয়ালি যুক্ত করুন।","TRAKT_EXPIRED":"Trakt প্রমাণীকরণ মেয়াদ শেষ হয়েছে, দয়া করে সেটিংসে যান এবং পুনরায় প্রমাণীকরণ করুন","TRAKT_REQUIRES_LOGIN":"Trakt ত্রুটি","TRAKT_REQUIRES_LOGIN_MSG":"আপনাকে লগইন করতে হবে","TRAKT_IMPORT_WATCHED":"আমদানি করুন","THEME":"থিম","THEME_DEFAULT":"ডিফল্ট","THEME_ADAPTIVE":"অ্যাডাপটিভ","SETTINGS_LABEL":"সেটিংস","SETTINGS_NAV_GENERAL":"সাধারণ","SETTINGS_NAV_PLAYER":"প্লেয়ার","SETTINGS_NAV_STREAMING":"স্ট্রিমিং","SETTINGS_NAV_SHORTCUTS":"শর্টকাট","SETTINGS_SHORTCUT_RELOAD_APP":"অ্যাপ পুনরায় লোড করুন","SETTINGS_SHORTCUT_OPEN_SETTINGS":"সেটিংস খুলুন","SETTINGS_SHORTCUT_SWITCH_TABS":"ট্যাব পরিবর্তন করুন","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"ট্যাবগুলি এগিয়ে ঘোরান","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"ট্যাবগুলি পিছনে ঘোরান","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"মেনুগুলির মধ্যে নেভিগেট করুন","SETTINGS_SHORTCUT_GO_TO_SEARCH":"সার্চে যান","SETTINGS_SHORTCUT_EXIT_BACK":"বের হন / পেছনে যান","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"প্লেব্যাক স্পিড মেনু চালু/বন্ধ করুন","SETTINGS_SHORTCUT_MENU_VIDEOS":"ভিডিও মেনু চালু/বন্ধ করুন","SETTINGS_SHORTCUT_MENU_SUBTITLES":"সাবটাইটেল মেনু চালু/বন্ধ করুন","SETTINGS_SHORTCUT_MENU_INFO":"তথ্য মেনু চালু/বন্ধ করুন","SETTINGS_SHORTCUT_FULLSCREEN":"ফুলস্ক্রিন চালু/বন্ধ করুন","SETTINGS_SHORTCUT_SHOW_CONTROLS":"কন্ট্রোলগুলি দেখান","SETTINGS_SHORTCUT_PLAY_PAUSE":"চালান / বিরতি দিন","SETTINGS_SHORTCUT_VOLUME_UP":"ভলিউম বাড়ান","SETTINGS_SHORTCUT_VOLUME_DOWN":"ভলিউম কমান","SETTINGS_SHORTCUT_SEEK_NEXT":"পরবর্তী দিকে যান","SETTINGS_SHORTCUT_SEEK_PREV":"আগের দিকে যান","SETTINGS_SHORTCUT_SEEK_BACKWARD":"পেছনের দিকে যান","SETTINGS_SHORTCUT_SEEK_FORWARD":"সামনের দিকে যান","SETTINGS_SHORTCUT_PLAY_NEXT":"পরবর্তীটি চালান","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"সাবটাইটেলের আকার বাড়ান","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"সাবটাইটেলের আকার কমান","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"সাবটাইটেলের দেরি বাড়ান","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"সাবটাইটেলের দেরি কমান","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"সাইডবার চালু/বন্ধ করুন","SETTINGS_SHORTCUT_OR":"অথবা","SETTINGS_SHORTCUT_TO":"থেকে","SETTINGS_SHORTCUT_SPACE":"স্পেস","SETTINGS_SHORTCUT_SHIFT":"শিফট","SETTINGS_SHORTCUT_ESC":"এস্কেপ","SETTINGS_TRAKT_AUTHENTICATE":"প্রমাণীকরণ করুন","SETTINGS_FACEBOOK_IMPORT":"আমদানি করুন","SETTINGS_CALENDAR_SUBSCRIBE":"সাবস্ক্রাইব করুন","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"ক্যালেন্ডার অ্যাপ খোলা হয়েছে। অনুগ্রহ করে ক্যালেন্ডারটিতে ম্যানুয়ালি সাবস্ক্রাইব করুন।","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"ক্যালেন্ডার ফাইল ডাউনলোড করা হয়েছে। অনুগ্রহ করে এটি আপনার ক্যালেন্ডার অ্যাপে আমদানি করুন।","SETTINGS_INTERFACE_LANGUAGE":"ইন্টারফেস ভাষা","SETTINGS_LAUNCH_STARTUP":"স্টার্টআপে চালু করুন","SETTINGS_VLC_DEFAULT":"VLC দিয়ে চালান","SETTINGS_UI_LANGUAGE":"UI ভাষা","SETTINGS_UI_ZOOM":"ইন্টারফেস জুম","SETTINGS_FULLSCREEN_EXIT":"Escape কী দিয়ে ফুলস্ক্রিন থেকে বের হন","SETTINGS_GAMEPAD":"গেমপ্যাড সমর্থন সক্রিয় করুন","SETTINGS_CLOSE_WINDOW":"উইন্ডো বন্ধ হলে অ্যাপ বন্ধ করুন","SETTINGS_SUBTITLES_LANGUAGE":"ডিফল্ট সাবটাইটেল ভাষা","SETTINGS_SUBTITLES_SIZE":"ডিফল্ট সাবটাইটেল আকার","SETTINGS_SUBTITLES_BACKGROUND":"সাবটাইটেল ব্যাকগ্রাউন্ড","SETTINGS_SUBTITLES_COLOR":"সাবটাইটেল রং","SETTINGS_SUBTITLES_COLOR_OUTLINE":"সাবটাইটেল আউটলাইন রং","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"সাবটাইটেল ব্যাকগ্রাউন্ড রং","SETTINGS_SEEK_KEY":"অ্যারো কী দিয়ে সময় পরিবর্তন করুন","SETTINGS_SEEK_KEY_SHIFT":"শিফট কী ধরে রাখলে অ্যারো কী দিয়ে সময় পরিবর্তন করুন","SETTINGS_REWIND_FAST_FORWARD_DURATION":"রিওয়াইন্ড এবং দ্রুত এগিয়ে যাওয়ার সময়কাল","SETTINGS_BINGE":"পরবর্তী এপিসোড স্বয়ংক্রিয়ভাবে চালান","SETTINGS_NEXT_VIDEO":"পরবর্তী এপিসোড শুরু করার বিজ্ঞপ্তি দেখান","SETTINGS_NEXT_VIDEO_TRIGGER":"পরবর্তী এপিসোডের বিজ্ঞপ্তি দেখান:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"পরবর্তী ভিডিও পপআপ সময়কাল","SETTINGS_PLAY_IN_BACKGROUND":"পটভূমিতে চালান","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"বাহ্যিক প্লেয়ারে চালান","SETTINGS_RESIZE":"চালানোর আগে উইন্ডো স্বয়ংক্রিয়ভাবে পুনরায় আকার দিন","SETTINGS_OVERRIDE_SERVER":"স্ট্রিমিং সার্ভারের URL ওভাররাইড করুন (উন্নত)","SETTINGS_SERVER_URL":"স্ট্রিমিং সার্ভারের URL:","SETTINGS_SERVER_AVAILABLE":"স্ট্রিমিং সার্ভার উপলব্ধ।","SETTINGS_SERVER_UNAVAILABLE":"স্ট্রিমিং সার্ভার উপলব্ধ নয়।","SETTINGS_SERVER_STATUS_ONLINE":"অনলাইন","SETTINGS_SERVER_STATUS_ERROR":"ত্রুটি","SETTINGS_SERVER_CONFIGURE_TITLE":"স্ট্রিমিং সার্ভারের URL কনফিগার করুন","SETTINGS_SERVER_CONFIGURE_INPUT":"একটি স্ট্রিমিং সার্ভারের URL প্রবেশ করান","SETTINGS_SERVER_CACHE_SIZE":"ক্যাশের আকার","SETTINGS_SERVER_TORRENT_PROFILE":"টরেন্ট প্রোফাইল","SETTINGS_HTTPS_ENDPOINT":"স্ট্রিমিং HTTPS এন্ডপয়েন্ট:","SETTINGS_TRANSCODE_PROFILE":"ট্রান্সকোড প্রোফাইল","SETTINGS_USE_BETA":"সবসময় সর্বশেষ বিটা ব্যবহার করুন","SETTINGS_IMPORT_FB":"ফেসবুক থেকে আমদানি করুন","SETTINGS_IMPORT_DISK":"লোকাল ডিস্ক থেকে আমদানি করুন","SETTINGS_IMPORT_TRAKT":"Trakt থেকে আমদানি করুন","SETTINGS_PAUSE_MINIMIZED":"মিনিমাইজ করা হলে প্লেব্যাক বিরতি দিন","SETTINGS_HWDEC":"হার্ডওয়্যার-অ্যাক্সিলারেটেড ডিকোডিং","SETTINGS_BACKGROUND":"পটভূমিতে প্লেব্যাক","SETTINGS_SUBSCRIBE_CALENDAR":"ক্যালেন্ডারে সাবস্ক্রাইব করুন","SETTINGS_REQ_EXPORT":"ডেটা রপ্তানির অনুরোধ করুন","SETTINGS_ACC_DELETE":"অ্যাকাউন্ট মুছে ফেলার অনুরোধ করুন","SETTINGS_CHANGE_PASSWORD":"পাসওয়ার্ড পরিবর্তন করুন","SETTINGS_TOS":"সেবার শর্তাবলী","SETTINGS_SUPPORT":"সমর্থন পরিষেবার সাথে যোগাযোগ করুন","SETTING_LANGUAGE":"ভাষা","SETTINGS_TRAKT":"Trakt স্ক্রব্লিং","SETTINGS_TRAKT_LOGOUT":"Trakt.tv থেকে লগআউট করুন","SETTINGS_TRAKT_LOGOUT_2":"Trakt থেকে লগ আউট করুন","SETTINGS_SCAN_FOR_REMOTE":"রিমোট খুলতে QR কোড স্ক্যান করুন","SETTINGS_DESKTOP_NOTIFICATIONS":"ডেস্কটপ বিজ্ঞপ্তি","SETTINGS_DATA_SAVER":"ডেটা সেভার","SETTINGS_LANGUAGE_INTERFACE":"ইন্টারফেস","SETTINGS_LANGUAGE_SUBS":"ডিফল্ট সাবটাইটেল","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"অডিও ট্র্যাক স্বয়ংক্রিয়ভাবে নির্বাচন করুন","SETTINGS_DEFAULT_AUDIO_TRACK":"ডিফল্ট অডিও ট্র্যাক","SETTINGS_SURROUND_SOUND":"সারাউন্ড সাউন্ড","SETTINGS_ACCOUNT":"অ্যাকাউন্ট","SETTINGS_PLATFORM":"প্ল্যাটফর্ম","SETTINGS_VERSION":"সংস্করণ","SETTINGS_ABOUT":"সম্পর্কে","SETTINGS_MPV_WINDOW":"প্লেয়ারকে একটি পৃথক উইন্ডোতে চালু করুন (উন্নত)","SETTINGS_PLAY_IN_EXTERNAL":"সর্বদা বাহ্যিক প্লেয়ারে ভিডিও শুরু করুন","SETTINGS_STORAGE_BUTTON":"লোকাল স্টোরেজ মুছুন","SETTINGS_STORAGE_MODAL_TITLE":"আপনি কি নিশ্চিত?","SETTINGS_STORAGE_MODAL_MESSAGE":"এটি লোকাল স্টোরেজ মুছে ফেলবে এবং আপনাকে লগ আউট করবে।","SETTINGS_HWDEC_PICKER":"হার্ডওয়্যার-ত্বরান্বিত ডিকোডিং সেটিং বেছে নিন","SETTINGS_HW_AUTOMATIC":"স্বয়ংক্রিয়","SETTINGS_HW_DISABLED":"নিষ্ক্রিয়","SETTINGS_HW_ACCELERATED":"ডিকোডিং ত্বরণ","SETTINGS_HW_FULL":"সম্পূর্ণ ত্বরণ","SETTINGS_HW_LEGACY":"লেগাসি","SETTINGS_DISABLED":"নিষ্ক্রিয়","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"নেটওয়ার্ক সংযোগ বিজ্ঞপ্তি","SETTINGS_REMOTE_URL":"দূরবর্তী URL","SETTINGS_COPY_REMOTE_URL":"দূরবর্তী URL কপি করুন","SETTINGS_REMOTE_URL_COPIED":"দূরবর্তী URL আপনার ক্লিপবোর্ডে কপি করা হয়েছে","SETTINGS_SECTION_SUBTITLES":"সাবটাইটেল","SETTINGS_SECTION_AUDIO":"অডিও","SETTINGS_SECTION_CONTROLS":"নিয়ন্ত্রণ","SETTINGS_SECTION_AUTO_PLAY":"অটো-প্লে","SETTINGS_SECTION_ADVANCED":"উন্নত","SUBSPICKER_AUDIO":"অডিও","SUBSPICKER_SUBTITLES":"অ্যাডঅন সাবটাইটেল","SUBSPICKER_BLACK_BACKGROUND":"কালো ব্যাকগ্রাউন্ড ব্যবহার করুন","SUBSPICKER_VERTICAL_OFFSET":"লম্বভাবে অফসেট","SUBSPICKER_SIZE":"আকার","SUBSPICKER_DELAY":"বিলম্ব","SUBSPICKER_EMBEDDED_SUBS":"এমবেডেড সাবটাইটেল","MOBILE_PRIVACY_POLICY":"গোপনীয়তা নীতি","MOBILE_CRASH_REPORTING":"ক্র্যাশ রিপোর্টিং","MOBILE_ZOOM_TO_FILL":"স্ক্রিন ভরাট করতে জুম করুন","MOBILE_PASSTHROUGH":"ডিজিটাল অডিও আউটপুট (পাসথ্রু)","MOBILE_RUN_LOW_BATTERY":"কম ব্যাটারিতে চালান","MOBILE_RUN_FOREGROUND":"ফোরগ্রাউন্ড সার্ভিস হিসেবে চালান","MOBILE_PERFORMANCE":"কর্মক্ষমতা ও স্থিতিশীলতা","MOBILE_SERVER_ONLINE":"অনলাইন","MOBILE_SERVER_OFFLINE":"অফলাইন","MOBILE_QR_EXPIRES":"QR কোড মেয়াদ শেষ হচ্ছে ","MOBILE_LOG_INTO":"আপনার স্ট্রেমিও অ্যাকাউন্টে লগ ইন করুন ","MOBILE_SCAN_QR":"উপরের QR কোড স্ক্যান করুন অথবা যান ","MOBILE_LINK_ACCOUNT":"অ্যাকাউন্ট লিংক করুন","MOBILE_SPEEDPICKER_CANCEL":"বাতিল","MOBILE_SPEEDPICKER_LABEL":"প্লেব্যাক স্পিড নির্বাচন করুন","MOBILE_EMPTY_LIBRARY":"আপনার লাইব্রেরি খালি","MOBILE_NO_ADDON_ACTIVE":"এই ধরনের জন্য কোনো স্ট্রেমিও অ্যাডঅন সক্রিয় নেই।","MOBILE_ORGANIZER_WARNING":"স্ট্রেমিও অর্গানাইজার অ্যাপ সীমিত কার্যকারিতা প্রদান করে। প্লে করার যোগ্য স্ট্রিমের তালিকা এবং সম্পূর্ণ স্ট্রেমিও অভিজ্ঞতার জন্য, ডেস্কটপে স্ট্রেমিও ব্যবহার করুন।","MOBILE_ADDON_LOADING":"এখনও লোড হচ্ছে","MOBILE_ADDONS_LOADING":"অ্যাডঅন এখনও লোড হচ্ছে","MOBILE_ADDON":"অ্যাডঅন","MOBILE_CONFIGURE_ADDON":"আপনার অ্যাডঅন কনফিগার করুন","MOBILE_CONFIGURE_ADDON_LABEL":"অ্যাডঅন কনফিগার করুন","MOBILE_ORGANIZER_ADDONS_WARNING":"স্ট্রেমিও অর্গানাইজার অ্যাপ সীমিত অ্যাডঅন নির্বাচন প্রদান করে। সম্পূর্ণ স্ট্রেমিও অভিজ্ঞতার জন্য, ডেস্কটপে স্ট্রেমিও ব্যবহার করুন।","MOBILE_DISCONNECT":"সংযোগ বিচ্ছিন্ন করুন","MOBILE_LOOKING_FOR_DEVICES":"ডিভাইস খোঁজা হচ্ছে...","MOBILE_CAST_TO":"কাস্ট করুন","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"অ্যাকাউন্ট মুছুন","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"আইনি বাধ্যবাধকতার কারণে অ্যাকাউন্ট মোছা তাৎক্ষণিক নয়। আপনার অ্যাকাউন্ট মোছার অনুরোধ করার পরে আপনাকে ভবিষ্যতে একটি নতুন স্ট্রেমিও অ্যাকাউন্ট তৈরি করতে ভিন্ন ইমেইল ঠিকানা/ফেসবুক প্রোফাইল ব্যবহার করতে হবে।","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"অ্যাকাউন্ট মোছা নিশ্চিত করুন","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"আপনার অ্যাকাউন্ট ফেসবুক ব্যবহার করে তৈরি করা হয়েছে। আপনার অ্যাকাউন্ট মুছতে, অনুগ্রহ করে www.stremio.com/login এ আমাদের ব্যবহারকারী পোর্টাল ব্যবহার করুন","MOBILE_DELETE_ACCOUNT_MESSAGE":"অ্যাকাউন্ট মোছা নিশ্চিত করতে অনুগ্রহ করে আপনার পাসওয়ার্ড প্রদান করুন।","MOBILE_DELETE_ACCOUNT_BUTTON":"অ্যাকাউন্ট মুছুন","NAVIGATION_ON":"চালু","NAVIGATION_OFF":"বন্ধ","MARKETING_AGREE":"আমি স্ট্রেমিও থেকে মার্কেটিং যোগাযোগ পেতে সম্মত","QUIT":"প্রস্থান","CONNECTED":"সংযুক্ত","AUTHENTICATE":"প্রমাণীকরণ","CACHING":"ক্যাশিং","SETTINGS_CACHING_DRIVE":"ক্যাশিং ড্রাইভ","ENABLE_LOCAL_FILES_ADDON":"লোকাল ফাইল অ্যাডঅন সক্রিয় করুন (পুনরারম্ভ প্রয়োজন)","LOCAL_ADDON_NOT_ENABLED":"লোকাল অ্যাডঅন সক্রিয় নয়। সেটিংসে যেতে এবং এটি সক্রিয় করতে এখানে ক্লিক করুন","ENABLE_REMOTE_HTTPS_CONN":"দূরবর্তী HTTPS সংযোগ সক্রিয় করুন","TORRENT_PROFILE":"টরেন্ট প্রোফাইল","DATA_CACHING":"ডেটা ক্যাশিং","MAGNET_PARSING":"একটি ম্যাগনেট লিঙ্ক পার্স করা হচ্ছে","January":"জানুয়ারি","February":"ফেব্রুয়ারি","March":"মার্চ","April":"এপ্রিল","May":"মে","June":"জুন","July":"জুলাই","August":"আগস্ট","September":"সেপ্টেম্বর","October":"অক্টোবর","November":"নভেম্বর","December":"ডিসেম্বর","Monday":"সোমবার","Tuesday":"মঙ্গলবার","Wednesday":"বুধবার","Thursday":"বৃহস্পতিবার","Friday":"শুক্রবার","Saturday":"শনিবার","Sunday":"রবিবার","Action":"অ্যাকশন","Comedy":"কমেডি","War":"যুদ্ধ","Family":"পারিবারিক","Animation":"অ্যানিমেশন","Adventure":"অ্যাডভেঞ্চার","Fantasy":"ফ্যান্টাসি","Crime":"অপরাধ","Mystery":"রহস্য","Romance":"রোমান্স","Drama":"নাটক","Horror":"ভয়ঙ্কর","Thriller":"থ্রিলার","Sci-Fi":"সায়েন্স ফিকশন","Music":"সঙ্গীত","Biography":"জীবনী","Documentary":"তথ্যচিত্র","Sport":"ক্রীড়া","Musical":"সাঙ্গীতিক","Western":"পশ্চিমী","Film-Noir":"ফিল্ম নোয়ার","News":"সংবাদ","History":"ইতিহাস","Game-Show":"গেম-শো","Reality-TV":"রিয়েলিটি-টিভি","Talk-Show":"টক-শো","Film & Entertainment":"চলচ্চিত্র ও বিনোদন","Gaming":"গেমিং","From TV":"টিভি থেকে","Lifestyle":"জীবনধারা","Science & Education":"বিজ্ঞান","Cooking & Health":"রান্না ও স্বাস্থ্য","Beauty & Fashion":"সৌন্দর্য ও ফ্যাশন","Sports":"খেলাধুলা","News & Politics":"সংবাদ ও রাজনীতি","How-to & DIY":"কিভাবে করবেন ও নিজে করুন","Tech":"প্রযুক্তি","Automotive":"যানবাহন","Causes & Non-Profits":"কারণ ও অলাভজনক সংস্থা","Movies":"চলচ্চিত্র","Uk Live Tv":"যুক্তরাজ্য লাইভ টিভি","Fashion":"ফ্যাশন","Business News Radio":"ব্যবসা সংবাদ রেডিও","Business Tv":"ব্যবসা টিভি","Cars & Auto":"গাড়ি ও অটোমোবাইল","Comedy Radio":"কমেডি রেডিও","Lifestyle Radio":"লাইফস্টাইল রেডিও","News Tv":"সংবাদ টিভি","Food And Wine":"খাবার ও মদ","Latino Tv":"ল্যাটিনো টিভি","Shopping Tv":"শপিং টিভি","Religion":"ধর্ম","Kids":"শিশু","Body & Soul":"দেহ ও আত্মা","Education":"শিক্ষা","Indian Tv":"ভারতীয় টিভি","Extreme Sports":"চরম ক্রীড়া","Middle Eastern Tv":"মধ্যপ্রাচ্যের টিভি","Celebrity Tv":"সেলিব্রিটি টিভি","Science Tv":"বিজ্ঞান টিভি","Bikini babe":"বিকিনি বেব","Outdoors":"বাইরে","German Tv":"জার্মান টিভি","French Tv":"ফরাসি টিভি","Italian Tv":"ইতালীয় টিভি","Gamer Tv":"গেমার টিভি","Travel":"ভ্রমণ","Asian Tv":"এশীয় টিভি","Entertainment":"বিনোদন","News Radio":"সংবাদ রেডিও","Music Radio":"সঙ্গীত রেডিও","Language Learning":"ভাষা শেখা","Science Radio":"বিজ্ঞান রেডিও","Tech Radio":"প্রযুক্তি রেডিও","Science & Technology Vod":"বিজ্ঞান ও প্রযুক্তি ভিওডি","new video":"নতুন ভিডিও","new episode":"নতুন পর্ব","new movie":"নতুন চলচ্চিত্র","recommended":"সুপারিশকৃত","we recommend":"আমরা সুপারিশ করি","offer of the day":"আজকের অফার","news":"সংবাদ","music video":"সঙ্গীত ভিডিও","CTX_SHOW_HOTKEYS":"হটকী দেখান","CTX_DISMISS_NOTIF":"বিজ্ঞপ্তি খারিজ করুন","CTX_DISMISS_ALL":"সব খারিজ করুন","CTX_SHARE":"শেয়ার করুন","CTX_COPY_SHARE_LINK":"শেয়ার লিঙ্ক কপি করুন","CTX_COPY_MAGNET_LINK":"ম্যাগনেট লিঙ্ক কপি করুন","CTX_COPY_STREAM_LINK":"স্ট্রিম লিঙ্ক কপি করুন","CTX_COPY_VIDEO_DOWNLOAD_LINK":"ভিডিও ডাউনলোড লিঙ্ক কপি করুন","CTX_DOWNLOAD_VIDEO":"এই ভিডিওটি ডাউনলোড করুন","CTX_DOWNLOAD_SUBS":"সাবটাইটেল ডাউনলোড করুন","CTX_VIEW_ON_YOUTUBE":"ইউটিউবে দেখুন","CTX_SHOW":"দেখান","CTX_PLAY":"চালান","CTX_PLAY_IN":"এতে চালান","CTX_PLAY_ON":"এতে চালান","CTX_WATCH_ON":"এতে দেখুন","CTX_WATCH":"দেখুন","CTX_WATCHED":"দেখা হয়েছে","CTX_WATCH_BEGINNING":"শুরু থেকে দেখুন","CTX_WATCH_MOBILE":"মোবাইল ডিভাইসে দেখুন","CTX_REWIND":"শুরুতে ফিরে যান","CTX_MARK_WATCHED":"দেখা হিসেবে চিহ্নিত করুন","CTX_MARK_NON_WATCHED":"না দেখা হিসেবে চিহ্নিত করুন","CTX_MARK_UNWATCHED":"না দেখা হিসেবে চিহ্নিত করুন","CTX_MARK_REST":"বাকিগুলো দেখা হিসেবে চিহ্নিত করুন","CTX_UNMARK_REST":"বাকিগুলো না দেখা হিসেবে চিহ্নিত করুন","CTX_RECEIVE_NEW_NOTIF":"নতুন বিজ্ঞপ্তি পান","CTX_ENABLE_NEW_NOTIF":"বিজ্ঞপ্তি চালু করুন","CTX_DISABLE_NEW_NOTIF":"বিজ্ঞপ্তি বন্ধ করুন","CTX_REMOVE_CACHE":"ক্যাশে থেকে সরান","CTX_REMOVE_CACHE_EP":"এপিসোড ক্যাশে থেকে সরান","CTX_OPEN_CONTAINING":"ধারণকারী ফোল্ডার খুলুন","CTX_REMOVE":"লাইব্রেরি থেকে সরান","CTX_AVAILABLE_OFFLINE":"অফলাইনে উপলব্ধ","CTX_PAUSED":"বিরতি","CTX_ALWAYS_ON_TOP":"সবসময় উপরে","CTX_FULLSCREEN":"পূর্ণ পর্দা","CTX_WRONG_SUBS":"ভুল সাবটাইটেল?","CTX_REPORT_ISSUES":"সমস্যা রিপোর্ট করুন","CTX_COPY":"কপি করুন","CTX_PASTE":"পেস্ট করুন","CTX_CLEAR":"মুছে ফেলুন","CTX_CLEAR_RECENT_SEARCHES":"সাম্প্রতিক অনুসন্ধান মুছে ফেলুন","HELLO_THERE":"হ্যালো","HOPE_YOU_ENJOY":"আমরা আশা করি আপনি স্ট্রেমিও উপভোগ করছেন এবং এটি ইতিমধ্যে আপনার পছন্দের অ্যাপগুলির মধ্যে একটি!","WHO_ARE_WE":"আমরা কারা? আমরা এর পিছনের দল - দুজন লোক যারা গত ৩ বছর ধরে প্রতিদিন কঠোর পরিশ্রম করে এই পণ্যটিকে আরও ভালো করে তুলছে।","SUPPORT_US":"যদি আপনি স্ট্রেমিও ব্যবহার করে আনন্দ পান, যদি স্ট্রেমিও আপনার কাছে মূল্যবান হয় - কথাটি ছড়িয়ে দিন!","SPREAD_THE_WORD":"এখনই আপনার বন্ধুদের সাথে শেয়ার করুন, স্ট্রেমিও সম্পর্কে কথা ছড়িয়ে দিন","MORE_PEOPLE":"যত বেশি লোক স্ট্রেমিও ব্যবহার করবে, এটি তত ভালো হবে!","SEND_A_LINK":"অথবা আমাদের ওয়েবসাইটের একটি লিঙ্ক পাঠান","TIP_LOCALFILES":"টিপ: আপনি স্থানীয় ভিডিও ফাইলগুলি স্ট্রেমিওতে টেনে এনে ছাড়তে পারেন","ADDON_MY":"আমার অ্যাডঅন","ADDON_COMMUNITY":"কমিউনিটি অ্যাডঅন","ADDON_OFFICIAL":"অফিসিয়াল অ্যাডঅন","ADDON_REPOS":"অ্যাডঅন সংগ্রহ","ADDON_SEARCH":"অ্যাডঅন খুঁজুন","ADDON_INSTALL":"ইনস্টল করুন","ADDON_CONFIGURE":"কনফিগার করুন","ADDON_UNINSTALL":"আনইনস্টল করুন","ADDON_UPGRADE":"আপগ্রেড করুন","ADDON_INSTALLED":"ইনস্টল করা হয়েছে","ADDON_INSTALLED_MSG":"অ্যাডঅন ইনস্টল করা হয়েছে!","ADDON_UPGRADED_MSG":"অ্যাডঅন আপগ্রেড করা হয়েছে!","ADDON_UNKNOWN":"অজানা","ADDON_ERR":"অ্যাডঅন ইনস্টল ত্রুটি!","ADDON_DISCONNECTED":"সংযোগ বিচ্ছিন্ন","ADDON_APP_MISSING":"এই উৎসের জন্য অ্যাপটি ইনস্টল করা নেই। আপনি কি এখন এটি ইনস্টল করতে চান?","ADDON_APP_INSTALL":"এখন ইনস্টল করুন","ADDON_PAGE":"অ্যাডঅন পৃষ্ঠা","ADDON_TOP_CONTENT":"এই অ্যাডঅন থেকে সেরা","ADDON_PROVIDES":"এই অ্যাডঅন আপনাকে দেবে:","ADDON_WATCH":"এখন #{types} দেখুন!","ADDON_WATCH_FREE":"এখন বিনামূল্যে #{types} দেখুন!","ADDON_ADDON":"অ্যাডঅন","ADDON_SUPPORTED_TYPES":"সমর্থিত প্রকার","ADDON_SUPPORTED_CATALOGS":"সমর্থিত ক্যাটালগ","ADDON_PROVIDES_DISCOVER":"আবিষ্কারে আরও #{types}","ADDON_PROVIDES_STREAMS":"#{types} দেখুন","ADDON_PROVIDES_STREAMS_FREE":"বিনামূল্যে #{types} দেখুন","ADDON_PROVIDES_SUBTITLES":"#{types} এর জন্য সাবটাইটেল","ADDON_CANTDETECT":"আমরা একটি চলমান স্ট্রেমিও সনাক্ত করতে পারিনি, তাই আমরা আপনার কোন অ্যাডঅন ইনস্টল করা আছে তা সনাক্ত করতে পারিনি।","ERR_NO_META":"এই সম্পর্কে কোন তথ্য পাওয়া যায়নি ","ERR_GETTING_META":"এই সম্পর্কে তথ্য সংগ্রহ করতে ত্রুটি।","ERR_CANT_PARSE_MAGNET":"ম্যাগনেট পার্স করতে অক্ষম","ERR_NO_MAGNET_INFOHASH":"ম্যাগনেটের জন্য কোন বৈধ তথ্য হ্যাশ নেই","ERR_NO_FILE_PATH":"ফাইলের পাথ ছাড়া অনুরোধ পাঠাতে অক্ষম","ERR_NO_TORRENT":"কোন টরেন্ট ফেরত আসেনি","ERR_NO_SUPPORTERD_FILES":"কোন সমর্থিত ফাইল পাওয়া যায়নি","ERR_OPENING_FILES":"বাহ্যিক ফাইল খুলতে পারেনি","ERR_INVALID_LINK":"অবৈধ লিঙ্ক","ERR_REGISTERED_ONLY":"এই অপশনটি শুধুমাত্র নিবন্ধিত ব্যবহারকারীদের জন্য উপলব্ধ।","ERR_CLIPBOARD":"ক্লিপবোর্ড থেকে চালাতে পারে না","ERR_CLIPBOARD_READ":"এই প্ল্যাটফর্মে ক্লিপবোর্ড পড়তে পারে না","ERR_CLIPBOARD_GENERIC":"No playable URL found in the clipboard. Please copy a URL (e.g. a magnet link) to a video.","BOARD_CONTINUE_WATCHING":"Continue watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Movies picked specially for you.<br />This movie is a sample recommendation.","BOARD_EXPLANATION_EPISODES":"New episodes of your favorite Series come here.<br />Add series you follow to your Library.","BOARD_EXPLANATION_VIDEOS":"New episodes of your favorite Channels come here.<br />Add YouTube channels you follow to your Library.","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE":"Contribute","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"Learn more","WEBSITE_COMPANY":"Company","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Need Help?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"Watch Instantly","WEBSITE_SLOGAN_ALL":"All the Video Content You Enjoy in One Place","WEBSITE_SLOGAN_NEW":"All You Can Watch","WEBSITE_SLOGAN_NEW_NEW":"Freedom to Stream","WEBSITE_WATCH_FROM":"Watch from","WEBSITE_DOWNLOAD":"Download Now","WEBSITE_DOWNLOAD_FOR":"Download Now For","WEBSITE_IS_DESKTOP":"Stremio is a desktop application, open this page on your PC and download it","WEBSITE_DESKTOP_DEMO_VID":"Desktop demo","WEBSITE_PAGE_HOME":"Home","WEBSITE_PAGE_FEATURES":"Features","WEBSITE_PAGE_ADDONS":"Addons","WEBSITE_PAGE_TECH":"Technology","WEBSITE_PAGE_CREATE_ADDON":"Create Addon","WEBSITE_PAGE_CONTACTS":"Contacts","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Movies","WEBSITE_TYPE_series_PL":"Series","WEBSITE_TYPE_tv":"Live TV","WEBSITE_TYPE_channel":"Channels","WEBSITE_STREMIO_WHAT_IS":"Stremio is an app that helps you organize and instantly watch your favorite videos, movies, TV series and TV channels.","WEBSITE_FEATURES_WATCH":"Watch Instantly in HD","WEBSITE_FEATURES_WATCH_DETAIL":"Click and play your favourite movies, TV Shows, videos and TV channels.","WEBSITE_FEATURES_SUBS":"Automatic Subtitles","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio automatically picks synced subtitles for your language.","WEBSITE_FEATURES_SUBS_LABEL":"Your move, chief.","WEBSITE_FEATURES_CAST":"Play on TV & mobile devices","WEBSITE_FEATURES_CAST_DETAIL":"Cast to AppleTV, Chromecast, Smart TV (DLNA/UPnP) and mobile devices.","WEBSITE_LIB":"Enjoy Your Personal Library Synced on All Your Devices","WEBSITE_LIB_COLLECT":"Collect from Stremio","WEBSITE_LIB_IMPORT":"Import from Facebook","WEBSITE_LIB_LOCAL":"Add from your local drive","WEBSITE_BOARD":"The Board - Your one-stop place for Notifications and Recommendations","WEBSITE_BOARD_RECOMMEND":"Recommended TV Show","WEBSITE_BOARD_TRENDING":"Trending Movie","WEBSITE_BOARD_NEW":"New Video","WEBSITE_BOARD_EPISODE":"New Episode","WEBSITE_BOARD_1":"Looking for something interesting to watch? Get recommendations based on your taste!","WEBSITE_BOARD_2":"Get notified when a new episode of your favourite TV show or YouTube channel is out!","WEBSITE_BOARD_YOUTUBE":"New videos of YouTube channels","WEBSITE_BOARD_EPISODES":"New episodes of series you follow","WEBSITE_ADDONS":"Content Addons","WEBSITE_TECH_DETAIL":"We love technology, we love mad science!\\nStremio is using the following open source technologies:","WEBSITE_TECH_WCJS":"WebChimera.js allows Stremio to play any video format with good performance.","WEBSITE_TECH_WCJS_EXTRA":"We are core project contributors","WEBSITE_TECH_ELECTRON":"Electron provides an innovative platform to build Stremio with.","WEBSITE_TECH_ELECTRON_EXTRA":"We are project contributors","WEBSITE_TECH_LINVODB":"A database technology that ensures your data is organized and available anywhere you login.","WEBSITE_TECH_LINVODB_EXTRA":"In-house technology","WEBSITE_CREATE_ADDON":"Create your addon","WEBSITE_CREATE_ADDON_DETAIL":"Do you have a service providing video content? We\'ll help you benefit from Stremio\'s features by creating your Addon.","WEBSITE_CREATE_ADDON_BENEFITS":"Benefits of Creating an Addon for Stremio","WEBSITE_P2P_BEAUTY":"The Beauty of Peer-to-Peer Streaming","WEBSITE_P2P_1":"Reliable and affordable full HD / 4K video on demand or live streaming","WEBSITE_P2P_2":"Distribution platform providing great user experience","WEBSITE_P2P_3":"We will create an addon meeting your exact needs","WEBSITE_P2P_CONTACT":"Interested? You are welcome to <a href=\'mailto:office@stremio.com\'>contact us</a>.","WEBSITE_P2P_CONTACT_EXTRA":"We will be happy to help you integrate your content with Stremio!","WEBSITE_P2P":"Once in a while, there comes a technology that changes the name of the game. We invested tons of time and effort in building our Peer-to-Peer (P2P) video streaming engine that provides great performance and versatility to adapt with any use case.\\nContact us for DRM-enabled P2P video on demand or live streaming.","WEBSITE_THOUGHTS":"Thoughts we share:","WEBSITE_SPREAD":"Spread the word about Stremio:","WEBSITE_CONTACT":"Contact us, we\'ll be happy to hear from you!","WEBSITE_OPENSOURCE":"For our open source projects, go to our","WEBSITE_BITCOIN":"Donate bitcoin:","WEBSITE_FAQ":"Frequently asked questions","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Questions","WEBSITE_TOS":"Terms of use","WEBSITE_LEGAL":"Legal","WEBSITE_PAGE_ABOUT":"About","WEBSITE_PAGE_BECOME_PARTNER":"Become a partner","WEBSITE_ALL_YOU_CAN_WATCH":"Freedom To Watch\\nEverything You Want.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"What is stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio is a one-stop hub for video content aggregation. Discover, organize and watch video from all kind of sources on any device that you own.","WEBSITE_WHAT_IS_STREMIO_P2":"Movies, TV shows, series, live television or web channels like YouTube and Twitch.tv - you can find all this on Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio is a modern media center that\'s a one-stop solution for your video entertainment. You discover, watch and organize video content from easy to install addons.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Movies, TV shows, live TV or web channels - find all this on Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Enjoy on all your Media devices","WEBSITE_DEVICES_COLLECT":"Collect from Stremio","WEBSITE_DEVICES_IMPORT_FB":"Import from facebook","WEBSITE_DEVICES_LOCAL":"Add from local drive","WEBSITE_JOIN_THE_PARTY_NOW":"Join the party now","WEBSITE_DEVICES_ALL":"Easy to use on all your devices;","WEBSITE_EXTENDABLE_CATALOG":"Infinitelly extendable video catalog;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Great features to organize your media;","WEBSITE_AS_SEEN_ON":"As seen on","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"About us","WEBSITE_LINK_TECHNOLOGY":"Technology","WEBSITE_LINK_APPS":"Apps","WEBSITE_LINK_DOWNLOADS":"Downloads","WEBSITE_MORE":"More","WEBSITE_LINK_ADDONS":"Addons","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Contribute","WEBSITE_LINK_COMMUNITY":"Community","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... & More","WEBSITE_LINK_HELP":"Help center","WEBSITE_LINK_CONTACTS":"Business inquiries","WEBSITE_LINK_TOS":"Terms & conditions","WEBSITE_LINK_PRAVACY":"Privacy policy","WEBSITE_SUBSCRIBE":"Subscribe","WEBSITE_NEWSLETTER":"Join Our Newsletter for amazing stuff","WEBSITE_PLACEHOLDER_EMAIL":"Your Email","WEBSITE_COMMUNITY":"Community","WEBSITE_LINK_PRAVACY_LEGAL":"Privacy & legal","WEBSITE_WHY":"Why we do it","WEBSITE_WHY_P1":"At Stremio, we come to work every day because we want to solve an important problem for the video-on-demand industry. There’s so much new content published every minute that it’s virtually impossible to find your way around it.","WEBSITE_WHY_P2":"We help people navigate that huge world of video entertainment and discover new content to enjoy. Our apps bring together movies, series, live TV, web channels, and more. We are dedicated to making it incredibly easy for users to find titles and broadcasters that they love.","WEBSITE_WHY_P3":"You can use our service on any device and at any time, making Stremio the only video entertainment hub you’ll ever need.","WEBSITE_TEAM":"TEAM","WEBSITE_TEAM_P":"The Stremio team is small but powerful: between the ten of us, we code in X languages, and share expertise in software development, UI and UX design, marketing and advertising, and business and startups.","WEBSITE_FEATURES":"Features","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Discover new content with ease","WEBSITE_FEATURES_DISCOVER_P":"Easily discover new movies, TV shows, series and channels to watch. Browse by category, genre, rating, recency, etc. or simply type a name to find. Stremio makes finding new video content a piece of cake.","WEBSITE_FEATURES_ALL_CONTENT":"All of your video content on one screen","WEBSITE_FEATURES_ALL_CONTENT_P1":"See what movies, series or videos you didn’t finish and continue watching them; get notified for new episodes and releases; and browse through the recommendations you will get based on your viewing habits.","WEBSITE_FEATURES_LIBRARY":"Organize your video library","WEBSITE_FEATURES_LIBRARY_P1":"Add any title to your Stremio library with a single click and find your way around your content, neatly arranged by type, recency, or alphabetical order.","WEBSITE_FEATURES_CALENDAR":"Keep track of everything you watch","WEBSITE_FEATURES_CALENDAR_P1":"Get a calendar visualization of all the movies and series you add to your library. Export your Stremio calendar and sync it so you always know when a new episode or a premier is due.","WEBSITE_FEATURES_BIG_SCREEN":"Enjoy your video content on a bigger screen","WEBSITE_FEATURES_BIG_SCREEN_P1":"Cast whatever you are watching to another device - be it a phone, tablet or a TV with a single click.","WEBSITE_FEATURES_SOURCES":"Watch video from many different sources","WEBSITE_FEATURES_SOURCES_P":"Install official and community addons to enjoy video sourced from many different providers - all in one sleek, easy to use app.","WEBSITE_CREATE_AN_ADDON":"Create an addon","WEBSITE_FEATURES_SYNC":"Sync your library across different devices and resume your playback","WEBSITE_FEATURES_SYNC_P1":"Login with your account across all your devices and enjoy your library, addons, playback and calendar synchronized.","WEBSITE_FEATURES_EXTENDABLE":"Extendable video catalog by addons","WEBSITE_FEATURES_EXTENDABLE_P1":"The Stremio addon catalog provides a number of addons to install and watch a variety of video content from. This includes movies, shows, live TV, sport, news, podcasts, web channels, video games and more.","WEBSITE_FEATURES_AUTO_SUBS":"Automatic subtitles","WEBSITE_FEATURES_AUTO_SUBS_P1":"With our subtitle addons you get automatically selected options for your preferred language.","WEBSITE_FEATURES_CHROMECAST":"Casting to Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Enjoy your video content on a bigger screen or just cast whatever you are watching to another device.","WEBSITE_FEATURES_KEEP_TRACK":"Keep track of your favorite TV shows and Web channels","WEBSITE_FEATURES_KEEP_TRACK_P1":"Get a calendar visualization and notifications for new episodes of your favorite series and web channels.","WEBSITE_FEATURES_POWER_USER":"Power user features","WEBSITE_FEATURES_POWER_USER_P1":"Play in external player","WEBSITE_FEATURES_POWER_USER_P2":"Play from a torrent file or magnet link","WEBSITE_FEATURES_POWER_USER_P3":"Import to your library from Facebook likes or local disk","WEBSITE_ADD_ONS":"Addons","WEBSITE_ADD_ONS_P1":"All of the video content Stremio provides get sourced through an addon system - no content or content provider has been built into the app.","WEBSITE_ADD_ONS_P2":"There are two groups of addons available: official and community addons.","WEBSITE_ADD_ONS_P3":"The official ones are developed and hosted by Stremio, whereas community addons are created by our community members, who also host them.","WEBSITE_ADDONS_OFFICIAL":"Official addons","WEBSITE_ADDONS_WATCHUB":"Stream your favourite movies, series and shows from providers like iTunes, Hulu, Amazon and other UK/US services.","WEBSITE_ADDONS_YOUTUBE":"Watch your favourite YouTube channels ad-free and get notifications for new uploads from the contributors you follow.","WEBSITE_ADDONS_FILMON":"Watch live TV, movies and social television for free. 600 TV channels, 45,000 free movies, documentaries and more.","WEBSITE_ADDONS_OPENSUBTITLES":"Movie and TV subtitles in multiple languages, thousands of translated subtitles uploaded every day.","WEBSITE_ADDONS_COMMUNITY":"Community addons","WEBSITE_ADDONS_FILMON_VOD":"Watch video on demand from Filmon.tv","WEBSITE_ADDONS_TWICH":"Watch live streams from Twitch.tv - a video streaming platform for the e-sports industry.","WEBSITE_ADDONS_VODO":"Watch indie movies absolutely free of charge.","WEBSITE_ADDONS_NETFLIX":"Watch Netflix movies and web series.","WEBSITE_ADDONS_CREATE":"Create an addon","WEBSITE_ADDONS_CREATE_P1":"If you wish, you can develop your own addon. This way, you can give yourself and our community access to new video content, and reach a new, targeted audience of millions of users around the world.","WEBSITE_ADDONS_START_CREATE":"To get started, visit the Stremio Addon SDK page:","WEBSITE_DOWNLOADS":"Downloads","WEBSITE_DOWNLOADS_P1":"For optimal performance, we recommend that you use the latest available version of the Stremio apps. If for some reason, however, you would like to use an older version, you can download it here.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio for Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio for macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio for Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio for Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio for iOS (limited version)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"The Stremio platform is open source and you can easily create an addon for content that is currently not sourced.","WEBSITE_CONTRIBUTE_WHY":"Why should you create an addon?","WEBSITE_CONTRIBUTE_WHY_P1":"Reach new audience for your video content","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio’s user base is growing rapidly - within the first year of the launch, Stremio had gained 1 million users around the world, and in the second year of the platform’s existence this number grew to 2.5 million.","WEBSITE_CONTRIBUTE_WHY_P3":"With your addon, you can easily reach this audience and distribute your video content to them.","WEBSITE_CONTRIBUTE_ALL":"Watch your favourite movies, videos, series and channels in one single place.","WEBSITE_CONTRIBUTE_ALL_P1":"You’re a fan of a particular type of content not available on Stremio yet? Create an addon for it and enjoy watching your favourite videos in one of the largest and easiest to use entertainment hubs on the market.","WEBSITE_CONTRIBUTE_ALL_P2":"On top of that, you’ll get the endless gratitude of other like-minded Stremio community members.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetize your addon and earn money with its help","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Once you develop a new addon for Stremio, you can easily monetize it through a number of different ways. If you are considering this, feel free to get in touch with us at ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - we would be happy to consult and advise you about addon monetization options.","WEBSITE_CONTRIBUTE_TRANSLATE":"Become a volunteer translator","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"If you want to enjoy the Stremio apps in different languages, you can join our community of volunteer translators. They help us add versions of the Stremio in many different languages.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Are you eager to get started?","WEBSITE_TRANSALTE_STREMIO":"Translate Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Official communities","WEBSITE_COMMUNITY_OFFICIALS_P1":"Become a part of the growing Stremio community. Follow us on social media and don’t be shy to say hello - we love hearing from our fans! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Unofficial communities","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partners and supporters","WEBSITE_COMMUNITY_GOODIES":"Stremio goodies","WEBSITE_COMMUNITY_WALLPAPERS":"Wallpapers","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"Contact us","WEBSITE_CONTACT_US_P1":"If you have any questions, comments or suggestions, feel free to get in touch with us through the contact form below.","WEBSITE_CONTACT_US_P2":"Keep in mind that we are located in Bulgaria so there may be a delay in addressing your query due to time zone differences.","WEBSITE_CONTACT_US_SUCCESS":"Your message has been sent. We will get back to you at our earliest convenience.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Please enter a valid email!","WEBSITE_CONTACT_US_Q_RELATED_TO":"What is your question related to?","WEBSITE_CONTACT_US_Q_OS":"What is your Operation System?","WEBSITE_CONTACT_US_PH_EMAIL":"Your E-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Message","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"SEND","WEBSITE_CONTACT_US_Q_1":"How to install?","WEBSITE_CONTACT_US_Q_2":"How to uninstall?","WEBSITE_CONTACT_US_Q_3":"(HTML) How to make lasagna?","WEBSITE_CONTACT_US_Q_4":"Addons","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Technology","WEBSITE_TECHNOLOGY_P1":"We love technology and mad science. </br> Here is what powers Stremio (it’s all open-source).","WEBSITE_TECHNOLOGY_P_QT":"Cross-platform software development at its best.","WEBSITE_TECHNOLOGY_P_MPV":"A free, open source, and cross-platform media player.","WEBSITE_TECHNOLOGY_P_RN":"React Native lets you build mobile apps using only JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework embedded into application to get multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm is a mobile platform and a replacement for SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js is an open-source, cross-platform, JavaScript runtime environment.","WEBSITE_TECHNOLOGY_P_RUST":"Rust is a multi-paradigm system programming language focused on safety, especially safe concurrency.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribute to the project","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"There are two ways you can contribute to Stremio and help us make the product even better.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"You can donate your valuable language skills by translating the platform...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"or","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... you can employ your coding skills for creating community addons. ","WEBSITE_TRANSLATE_STREMIO":"Translate Stremio","WEBSITE_404_OH_NO":"Uh-oh! The page you’re looking for is not here...","WEBSITE_GO_HOME":"Go home","WEBSITE_LINK_OTHER_DOWNLOADS":"Other downloads","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Support","WEBSITE_DOWNLOAD_4_0_BETA":"Download Stremio 4 beta Now","WEBSITE_GET_FOR_DESKTOP":"Get for desktop","WEBSITE_LINK_ADDON_COMPETITION":"Addon competition","WEBSITE_LINK_ART_CONTEST":"Art contest","WEBSITE_MY_ACCOUNT":"My account","WEBSITE_MAINPAGE_FAQ_001_H1":"What is Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio is a modern media center that gives you the freedom to watch everything you want.","WEBSITE_MAINPAGE_FAQ_002_H1":"How does it work?","WEBSITE_MAINPAGE_FAQ_002_P1":"Once you install Stremio on your device and create an account, all you have to do is to visit the addon catalog and install any addon you want, and you\'re good to go!","WEBSITE_MAINPAGE_FAQ_002_P2":"After that, you can go to the Discover or Board sections to start exploring content.","WEBSITE_MAINPAGE_FAQ_003_H1":"What can I watch here?","WEBSITE_MAINPAGE_FAQ_003_P1":"A lot: Movies, TV shows, Web channels, Sport, TV channels, listen to Podcasts and more. Thanks to our addon system, you can access a variety of content.","WEBSITE_MAINPAGE_FAQ_004_H1":"Is Stremio open-source?","WEBSITE_MAINPAGE_FAQ_004_P1":"Yes, you can check the following links: ${1}desktop app${2} and ${3}GitHub organization${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Is Stremio safe?","WEBSITE_MAINPAGE_FAQ_005_P1":"Yes: because it is open-source software, the code is publically auditable and you can review it yourself.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"How about my privacy?","WEBSITE_MAINPAGE_FAQ_006_P1":"We respect users\' privacy and do not collect any personal data besides the essential minimum to create and sync your account.","WEBSITE_MAINPAGE_FAQ_006_P2":"There is also a ${1}Guest mode${2} at signup, which requires no data whatsoever: in this mode, no calls are made to our backend. However, it comes at the expense of useful features, such as being able to sync your library across devices.","WEBSITE_MAINPAGE_FAQ_007_H1":"Can I cast to my TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Yes, we support Chromecast and you can cast both from desktop and mobile apps (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"How many addons does Stremio have?","WEBSITE_MAINPAGE_FAQ_008_P1":"As of late 2019, over 50 - for more information, check our addon catalog.","WEBSITE_MAINPAGE_FAQ_009_H1":"Can Stremio be extended beyond what\'s in the addon catalog?","WEBSITE_MAINPAGE_FAQ_009_P1":"Yes, you should check those: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"What devices does Stremio support?","WEBSITE_MAINPAGE_FAQ_010_P1":"We have desktop apps for Windows, Mac and Linux. For mobile, we support Android and iOS, although keep in mind that the iOS is limited in functionality (does not support most addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"There are many Android-based devices which you can run Stremio on, like NVIDIA Shield and Amazon Fire Stick, but we do not support them officially.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Can you add certain content to Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Sorry, we provide no content ourselves, but the more Stremio addons you have installed, the more content you will be able to find.","WEBSITE_MAINPAGE_FAQ_012_H1":"Can Stremio play magnet links?","WEBSITE_MAINPAGE_FAQ_012_P1":"Yes, and it can also play normal HTTP links and torrent files (drag and drop).","WEBSITE_MAINPAGE_FAQ_013_H1":"Can I download a video and watch offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Available offline is an upcoming feature, but if you allow Stremio to cache on your device (from the settings panel) you can watch the videos later without a connection.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nothing works, help me!","WEBSITE_MAINPAGE_FAQ_014_P1":"Are you sure you have installed addons? If yes, check with our ${1}help center${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"How does Stremio sustain it\'s development operations?","WEBSITE_MAINPAGE_FAQ_015_P1":"We run non-intrusive ads occasionally, but we\'re considering moving to a donation model.","WEBSITE_MAINPAGE_FAQ_015_P2":"For more questions, go to our ${1}help center${2}.","HELP_LEARN_MORE":"Help us learn more about you.","LIFESTYLE":"Lifestyle","SPORTS":"Sports","FOOD_HEALTH":"Food & health","BEAUTY_FASHION":"Beauty & Fashion","NEWS":"News","GAMING":"Gaming","SCIENCE_EDUCATION":"Science & education","MUSIC":"Music","TRAVEL":"Travel","LATE_NIGHT":"Late Night","REALITY":"Reality","COMEDY":"Comedy","DIY":"How to DIY","TECH":"Tech","CINEMA":"Cinema","CONTINUE":"Continue","SLOW_LOADING":"SLOW LOADING?","I_GIVE_UP":"I GIVE UP","LEARN_MORE":"Learn more","POOR_SOURCE":"This source is poorly available or your internet connection is not fast enough","PICK_CATEGORIES_ERR":"You have to pick at least 3 categories","ADJUST_TIMING":"Adjust timing with ","ADJUST_SIZE":"Adjust size with ","SEARCH_ANYTHING":"You Can Search Anything...","ALL_CATEGORIES":"All","SEARCH_CATEGORIES":"Movies, Series, YouTube & TV","SEARCH_PERSONS":"Actors, Directors & Writers","SEARCH_PROTOCOLS":"HTTP & Magnet Links","SEARCH_TYPES":"IMDB / TVDB links","WATCHED":"Watched","SHOW_LESS":"Show less","LAST_SEARCHES":"Last searches","CLEAR_HISTORY":"Clear history","CHOOSE_SOME":"CHOOSE SOME OF THIS:","NO_WEB_REMOTE":"Web Remote could not be loaded","STREMIO_OFFLINE":"Stremio is offline","STREMIO_EXPENSIVE_CONNECTION":"We\'ve detected that you are using a mobile data connection, do you want to continue?","USE_DATA":"Use data","WARNING":"Warning","MORE_INFO":"More Info ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Loading ...","STREMIO_TV_BACK_TO_LANGUAGES":"Back to languages","STREMIO_TV_REMOTE":"Remote","STREMIO_TV_GO_TO":"Go to:","STREMIO_TV_OR_SCAN":"or scan:","STREMIO_TV_ADDON_INSTRUCTIONS":"Please follow the instructions in order to install your preferred addons.","STREMIO_TV_LIVE_TV":"Live TV","STREMIO_TV_RESUME_WATCHING":"Resume Watching","STREMIO_TV_LOADING_BACKGROUND":"Loading Background","STREMIO_TV_CHECKING_AUTHENTICATION":"Checking Authentication","STREMIO_TV_LOADING_BOARD":"Loading Board","STREMIO_TV_LOGIN_HEADER_LINE_1":"We want our users to have the best possible personalized experience with our software.","STREMIO_TV_LOGIN_HEADER_LINE_2":"It is for this reason that we kindly ask you to make and/or login to your account.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Thank you for understanding,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"The Stremio Team","STREMIO_TV_REMOTE_INSTRUCTIONS":"In order to use the Web Remote with your Smartphone / Tablet / Desktop:","STREMIO_TV_WIFI_SETUP":"Wi-Fi Setup","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle did not detect a internet connection.","STREMIO_TV_WIFI_DETAILS_1":"Connect to:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Use password:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Open a web browser with the link:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Default","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"By Last Watched","STREMIO_TV_LIBRARY_SORT_NAME":"By Name","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"By Times Watched","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Season ${1}","STREMIO_TV_STREAMS_LOADING":"Loaded ${1} / ${2} addons...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} addon is still loading...","STREMIO_TV_PLAYER_SETTINGS":"Player settings","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Subtitles delay","STREMIO_TV_PLAYER_AUDIO_DELAY":"Audio delay","STREMIO_TV_PLAYER_VIDEO_SCALING":"Video scaling","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Unsupported stream source","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Failed opening external link","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Not adjustable in audio passthrough mode","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Play with ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Play with libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Switching to libVLC player due to a playback error","STREMIO_TV_ADDONS_TITLE":"Use Stremio on your Phone or PC to install or configure addons and press \\"Sync Addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Note: make sure you are using the same Stremio account","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sync Addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons successfully synchronized","STREMIO_TV_ADDONS_SYNC_FAILED":"Failed to synchronize addons","STREMIO_TV_META_LINK_FAILED":"Failed opening meta link","STREMIO_TV_CATALOG_LOADING":"Catalog still loading...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Interface language updated","STREMIO_TV_SETTINGS_THEME_UPDATED":"Theme updated","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Default Player","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"External Player","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferred Language","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Secondary Preferred Language","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possible playback issues on some devices","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Some video formats might not work","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"No caching","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Default","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Soft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Fast","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Fast","STREMIO_TV_SETTINGS_SERVER_URL":"Streaming server url","STREMIO_TV_SETTINGS_SERVER_VERSION":"Server version","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Unknown","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio version","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Edit server url","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Enter a streaming server url","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Show statistics while loading","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"To read Stremio\'s Privacy Policy, visit:","STREMIO_TV_SETTINGS_TOS_TEXT":"To read Stremio\'s Terms and Conditions, visit:","STREMIO_TV_NAV_SEARCH":"Search","STREMIO_TV_NAV_HOME":"Home","STREMIO_TV_NAV_DISCOVER":"Discover","STREMIO_TV_NAV_LIBRARY":"Library","STREMIO_TV_NAV_MOVIES":"Movies","STREMIO_TV_NAV_SERIES":"Series","STREMIO_TV_NAV_CHANNELS":"Channels","STREMIO_TV_NAV_TV":"Live TV","STREMIO_TV_NAV_SETTINGS":"Settings","STREMIO_TV_NAV_ADDONS":"Addons","STREMIO_TV_LOGIN_TITLE":"Link Account","STREMIO_TV_LOGIN_EXPIRES_IN":"Expires in","STREMIO_TV_LOGIN_STEP_ONE":"Scan QR Code above or go to","STREMIO_TV_LOGIN_STEP_TWO":"Log in to your Stremio account","STREMIO_TV_LOGIN_NEW_LINK":"Request a new link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Login code refreshed","STREMIO_TV_SEARCH_PLACEHOLDER":"Type something","STREMIO_TV_SEARCH_NO_ADDONS":"No addons were requested for catalogs!","STREMIO_TV_SEARCH_BUTTON":"Search","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Search History","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"You can search for Titles, Actors, Channels and more...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Clear Search History","STREMIO_TV_FILTERS_DESCRIPTION":"Choose from one of the filters below","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"Filters","SETTINGS":"Settings","ACCOUNT":"Account","LOGOUT":"Logout","THEMES":"Themes","PLAYBACK":"Playback","PLAYBACK_SPEED":"Playback Speed","AUDIO_TRACKS":"Audio Tracks","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Videos","SERVER":"Server","LINKS":"Links","ABOUT":"About","INTERFACE":"Interface","ANIMATIONS":"Animations","STATUS":"Status","LANGUAGE":"Language","SIZE":"Size","DELAY":"Delay","BOLD":"Bold","OPACITY":"Opacity","TEXT_COLOR":"Text Color","OUTLINE_COLOR":"Outline Color","BACKGROUND_COLOR":"Background Color","BACKGROUND_BLUR":"Background Blur","SEEK_TIME_DURATION":"Seek Time Duration","AUTO_PLAY":"Auto-Play Next Episode","PLAY_NOW":"Play Now","MARK_AS_WATCHED":"Mark as Watched","MARK_AS_UNWATCHED":"Mark as Unwatched","REWIND_TO_BEGINNING":"Rewind to Beginning","CONTINUE_WATCHING":"Continue Watching","ALL":"All","SECONDS":"seconds","ON":"ON","OFF":"OFF","RELOAD":"Reload","EDIT_URL":"Edit URL","NONE":"None","EMBEDDED":"Embedded","REMOTE_SWITCH_DEVICES":"Switch Devices","REMOTE_VIDEOS":"Videos","REMOTE_ADJUST_TIMING":"Adjust timing","REMOTE_ADJUST_SIZE":"Adjust size","REMOTE_COULD_NOT_BE_LOADED":"Web Remote could not be loaded","REMOTE_RETRY":"Retry","TORRENT_PROFILE_DEFAULT":"Default","TORRENT_PROFILE_SOFT":"Soft","TORRENT_PROFILE_FAST":"Fast","TORRENT_PROFILE_ULTRA_FAST":"Ultra Fast","FAQ_001_H1":"What is Stremio?","FAQ_001_P1":"Stremio is a media center software designed for video entertainment with ease of use in mind. Stremio allows you to organize &amp; watch your own collection of movies, series, channels and live TV.","FAQ_001_P2":"Stremio collect the content it shows you from your local disk and our addons system.","FAQ_001_P3":"It will also notify you when new episodes/videos/movies you\'re interested in come out, and provide movie recommendations for you.","FAQ_02_H1":"How does Stremio compare to Kodi and Plex?","FAQ_02_P1":"We are inspired by those two pieces of software. But we have different goals - Stremio is specifically targeted towards entertainment video, and strives to become the mainstream solution for that by being very easy to use.","FAQ_02_P2":"Stremio will never be as customizable and feature-rich as Kodi and Plex, but it is significantly easier to use. Just ${1} get it and see ${2} :)","FAQ_03_H1":"How does Stremio compare to Netflix?","FAQ_03_P1":"Again, Netflix is one of our inspirations. We strive to achieve the user experience of Netflix, plus a lot of added goodies. But most importantly, we\'re giving you the freedom to manage your own library and add new content sources with our addon system.","FAQ_03_P2":"That makes Stremio infinitely extendable, so when you use Stremio, you\'re never limited to the content Netflix decides to license. For example, through Stremio you can watch content from ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} and even ${9}Netflix${10} itself!","FAQ_04_H1":"How does Stremio compare to Flipboard?","FAQ_04_P1":"We don’t get that question that often, except when talking to start-up people :)","FAQ_04_P2":"Stremio is by design a content aggregator, which essentially makes it Flipboard for video. This is very apparent in our Board section, which gives you catalogues and new episode/new video notifications for what you follow, just like Flipboard.","FAQ_05_H1":"How does Stremio compare to Popcorn Time?","FAQ_05_P1":"Stremio and Popcorn Time are similar in user interface, because there aren’t many ways to do video entertainment catalogues right :)","FAQ_05_P2":"But while Popcorn Time is focused on streaming torrents from specific sources, Stremio is unrestricted and is merely a content aggregator - it’s not locked into a specific content source.","FAQ_05_P3":"Furthermore, we do not provide any torrent addons by default, so Stremio does not cover the Popcorn Time use-case with official functionality.","FAQ_05_P4":"Another notable difference is that Popcorn Time is completely open source, while Stremio is ${1} partially open source${2}.","FAQ_06_H1":"Will you add this movie/series?","FAQ_06_P1":"No, sorry :(","FAQ_06_P2":"As is mentioned in most of the other questions, Stremio does not provide any content by itself - everything is added through the addons system. In case you have a content request, you can use the “Report” button in the Player, which will send an email to the author of the addon you’re currently using.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Will you create addon for X?","FAQ_08_P1":"It\'s entirely possible.","FAQ_08_P2":"If you have an idea for an addon, drop us a line at ${1}office@stremio.com${2}, but please make sure your addon idea will not infringe on any copyrights or terms of use.","FAQ_08_P3":"At the moment, the next things on our roadmap are addons for FandangoNOW, Filmon.tv video on demand and Crunchyroll.","FAQ_09_H1":"Does Stremio use BitTorrent?","FAQ_09_P1":"Yes, Stremio supports BitTorrent as a streaming protocol. You can use that either with a torrent addon, or by drag-and-dropping a .torrent file into Stremio, or by pasting a magnet link into the Search Bar.","FAQ_09_P2":"Please note that the only official addon using BitTorrent is ${1}Vodo${2}, which provides indie content, all permitted to be distributed with BitTorrent.","FAQ_09_P3":"We do not support use of any third-party addons which may enable copyright infringement.","FAQ_10_H1":"What can I watch in Stremio with the official addons?","FAQ_10_P1":"By default, you can watch Filmon.tv, YouTube and Vodo content within Stremio itself, with it’s embedded player. Additionally, we have an addon for Twitch.tv and a few others.","FAQ_10_P2":"This combined provides a selection of:","FAQ_10_L1":"Popular TV channels, provided by Filmon.tv - for example E4, BBC, Bollyworld TV","FAQ_10_L2":"Everything from YouTube - for example BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indie movies with Vodo","FAQ_10_L4":"Online gaming broadcasts with Twitch.tv","FAQ_10_P3":"Additionally, there are many content sources provided with Guidebox and the Netflix addons, which <b>do not</b> play entirely inside Stremio, but would redirect to the given service. For example, the Guidebox addon would give you a selection of movies you can stream in the US for free, from services like TubiTV and Crackle.","FAQ_11_H1":"Stremio won\'t install, what should I do?","FAQ_11_P1":"If you\'re on Windows, try ${1}this alternative installer${2}.","FAQ_11_P2":"If you\'re on Mac OS X, please be aware that we don\'t support anything older than OS X Mavericks (10.9).","FAQ_11_P3":"If you\'re on Linux, be aware that we only support 64 bit (x64) Linux at the moment.","FAQ_11_P4":"If you still can\'t resolve your problem, please write us at our ${1}Facebook group${2}.","FAQ_12_H1":"Why does my anti-virus complain? Is Stremio safe?","FAQ_12_P1":"We assure you Stremio is ${1}100% clean${2}.","FAQ_12_P2":"Your antivirus is complaining because we include advertising in our installer, which some anti-virus programs recognize as ad-ware.","FAQ_12_P3":"If you\'re still unsure, you can try our ${1}alternative installer${2}.","FAQ_13_H1":"How can I make an addon?","FAQ_13_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_13_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_13_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_14_H1":"How are addons published?","FAQ_14_P1":"When you create an addon and host, and put a <b>endpoint</b> field in your manifest, which points to a working addon address, the addon will automatically publish itself to our ${1}Addon catalogue${2}.","FAQ_14_P2":"This happens because the server part of the stremio-addons module automatically makes a call to our API to announce the addon. When our API validates your <b>endpoint</b> as a valid addon, it will start showing in the catalogue.","FAQ_15_H1":"Can I run Stremio in my browser?","FAQ_15_P1":"Not at the moment, but this is coming!","FAQ_15_P2":"If you\'re curious to see an Alpha, you can see it here: ${1}alpha4.strem.io${2}. Keep in mind streaming is disabled on this alpha. We support Chrome, Firefox, Opera and Edge.","FAQ_16_H1":"Casting to TV doesn\'t work / subtitles don\'t work","FAQ_16_P1":"Casting to TV uses the DLNA technology which is very inconsistent between different TV brands and models. For that reason, we do not have the ability to test it in every case, so it\'s far from perfect. Despite this, we\'re working on improving it constantly but we cannot give you a time estimate on when DLNA will start working properly with your TV.","FAQ_16_P2":"If you don\'t even see your TV in the casting menu, please try disabling your network connection and re-enabling it (on Windows, right click the Network and use Enable/Disable), as well as restarting your router, TV and PC.","FAQ_16_P3":"If you are still encountering issues, you can help us by sending your TV brand and model information at ${1}office@stremio.com${2}.","FAQ_16_P4":"In the meantime, we recommend Chromecast, which we support very well, or simply plugging in your TV to your PC with an HDMI cable.","FAQ_17_H1":"Stremio freezes and/or crashes, what can I do?","FAQ_17_P1":"First of all, if you\'re using Windows 7 with AVG anti-virus: we have a problem with that combination. The problem is in AVG itself, and there\'s no reasonable way to resolve it on our end. Unfortunately, exceptions or disabling the anti-virus won\'t work. The only solution is to replace AVG with something else.","FAQ_17_P2":"If that\'s not the issue, but you\'re still using Windows, please update to the latest service pack and update/re-install your GPU drivers, then try again.","FAQ_17_P3":"If you\'re problem is still not resolved, or you\'re using a Mac or Linux, please write us reporting the exact details of the problem at ${1}our Facebook group${2}.","FAQ_18_H1":"How can I make an addon?","FAQ_18_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_18_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_18_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_19_H1":"Why is Stremio taking disk space?","FAQ_19_P1":"Stremio has a <b>local cache</b> to temporarily keep the video files you stream.","FAQ_19_P2":"This has two benefits: first, it allows Stremio to pre-buffer the video ahead so as to ensure smoother streaming. Second, it keeps the videos in the local cache so you can continue watching them offline.","FAQ_19_P3":"How much Stremio keeps depends on the <b>Cache</b> setting in the Settings panel. Stremio may keep up to the set amount (e.g. 2GB) on your disk, unless the currently streamed video is larger than that, in which case it has to allocate enough storage to keep it until you\'re streaming it.","FAQ_20_H1":"Where is the cache folder?","FAQ_20_P1":"On Windows, it\'s stremio-cache in the drive you picked in Settings (e.g. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"On MacOS, it\'s \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"On Linux, it\'s \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"I get \\"Streaming server is not found\\" error, what can I do?","FAQ_21_P1":"If you get this error, it means one of few things:","FAQ_21_P2":"1) You are trying to use an addon backed by YouTube/BitTorrent source, through our ${1}web version${2}. In this case, you should install our desktop version from ${3}our website${4}.","FAQ_21_P3":"2) Something is wrong with your Stremio installation. In this case, try re-installing our latest desktop version from ${1}the website${2}. If this does not help, try disabling anti-virus programs and firewalls, restarting your PC and trying again. If this does not work too, please write us at our ${3}our Facebook group${4}.","FAQ_22_H1":"I cannot see/use most addons on iOS","FAQ_22_P1":"Because of restrictions in the Apple App Store terms and conditions, we have restricted the iOS application only to a particular set of addons.","FAQ_22_P2":"But rest assured - there will be more addons for iOS in the future, and we may also add an integration that will allow you to use all Stremio addons thanks to connecting the iOS app to the Stremio Streaming Server."}')},98569:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Pel·lícula","TYPE_series":"Sèries","TYPE_tv":"Canal de TV","TYPE_channel":"Canal","TYPE_other":"Altres","TYPE_movie_PL":"Pel·lícules","TYPE_series_PL":"Sèries","TYPE_tv_PL":"Canals de TV","TYPE_channel_PL":"Canals","TYPE_other_PL":"Altres","TYPE_ALL":"Tot","TYPE":"Tipus","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Destacat","CATALOG_com_linvo_cinemeta_year":"Nou","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Pel·lícules de Domini Públic","VIDEO":"Vídeo","BACK":"Enrere","MORE":"Més","DONE":"Fet","COPY":"Copia","SUCCESS":"Èxit","ERROR":"Error","SETTINGS_CASTING_MODE_PICKER":"Mode d\'emissió","CASTING_MODE_HLSV2":"Per defecte","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Sense transcodificació","Discover":"Descobrir","Board":"Panell","Library":"Biblioteca","My Library":"La meva Biblioteca","Calendar":"Calendari","NOTIFICATION_ONLINE":"Ara esteu en línia","NOTIFICATION_OFFLINE":"Ara esteu fora de línia","INTERNET_CONNECTION":"Connexió de xarxa","STORAGE_FULL_TITLE":"Advertència: Emmagatzematge ple!","STORAGE_FULL_TEXT":"Stremio no podrà desar la configuració, les preferències ni la informació d\'inici de sessió. Penseu a reiniciar o tornar a instal·lar Stremio.","SEARCH":"cerca","SEARCH_NO_RESULTS":"No s\'han trobat resultats","SEARCH_EXPLANATION_CONTENT":"Cerca pel·lícules, sèries, canals de YouTube i TV","SEARCH_EXPLANATION_PEOPLE":"Cerca actors, directors i escriptors","SEARCH_PASTE_LINKS":"Enganxa enllaços HTTP i Magnètics","SEARCH_OR_PASTE_LINK":"Cerca o enganxa l\'enllaç","SEARCH_SUGGESTIONS":"Suggeriments de cerca","ADD_TO_LIB":"Afegir a la Biblioteca","REMOVE_FROM_LIB":"Elimina de la Biblioteca","ADDED_TO_LIB":"Afegit a la Biblioteca","REMOVED_FROM_LIB":"Eliminat de la Biblioteca","TRAILER":"Tràiler","WATCH_TRAILER":"Mirar el tràiler","WATCH_NOW":"Mirar ara","SHOW":"Mirar","SHOW_MOVIE":"Mirar Pel·lícula","WATCH_RANDOM":"Mirar aleatòriament","IMDB_RATING":"Qualificació IMDb","YEAR":"Any","DIRECTOR":"Director","WRITER":"Escriptor","LEAD_ACTORS":"Actors principals","CAST":"Elenc","CREW":"Equip tècnic","SHOW_MORE_CAST":"Mostra més »","AIRED":"Emès","SEASONS":"Temporades","GENRE":"Gènere","GENRE_ALL":"Tots els gèneres","CATALOG":"Catàleg","SUMMARY":"Resum","SHOW_MORE":"Mostra Més","SIMILAR":"Similar","UPCOMING":"Properament","ENDED":"Finalitzat","DURATION":"Duració","FEATURED":"Destacat","METADATA":"Metadades","CATEGORY":"categoria","LINKS_GENRES":"Gèneres","LINKS_CAST":"Elenc","LINKS_DIRECTORS":"Directors","SEARCH_VIDEOS":"cercar vídeos","SEARCH_PLACEHOLDER":"cercar o enganxar URL","ADDON":"complement","ADDONS":"Complements","OFFICIAL":"oficial","ADDONS_OFFICIAL":"Complements Stremio oficials","ADDONS_POPULAR":"Popular a la vostra regió","ADDON_FREE":"gratuït","ADDON_PEERED":"compartit","ADDON_SUBSCRIPTION":"subscripció","ADDON_STREAM_GEORESTRICTED":"no disponible a la vostra regió","ADDON_STREAM_OFFLINECACHE":"Memòria cau fora de línia","ADDON_STREAM_LOCALFILE":"Fitxer local","SHARE_ADDON":"Comparteix el complement","AVAILABLE_STREAMS":"Streams disponibles","NO_STREAM":"No s\'ha trobat cap stream","ALL_ADDONS":"Tot","INSTALL_MORE_ADDONS":"Per obtenir més streams, instal·leu més complements","STREAM_NOT_SUPPORTED":"El stream seleccionat no és compatible amb aquesta plataforma.","ADDON_CATALOGUE":"Mostra tots els complements »","ADDON_CATALOGUE_MORE":"Instal·la complements","REPO_ADDED":"Repositori afegit","ADDON_REPO_EXIST_ERR":"Aquesta col·lecció de complements ja existeix","ADDON_REPO_ERR":"S\'ha produït un error en afegir la col·lecció","ADDON_ADD_ERR":"S\'ha produït un error en afegir un complement","ERR_ADDON_PROTECTED":"No es pot desinstal·lar el complement, està protegit","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Hi ha hagut un problema - l\'autenticació pot haver fallat","ERR_NOT_COLLECTION_URL":"No és un URL de col·lecció","ERR_NOT_ADDON_URL":"No és un URL de complement vàlid","ERR_DETECTFROMURL":"No es pot trobar cap complement/col·lecció en aquest URL","ADDON_DUPLICATE_WARNING":"Advertència: complement duplicat","ADDON_COLLECTION_SET_FAILED":"Ha fallat la sincronització de complements instal·lats al vostre compte","SETTINGS_DATA_EXPORT":"Exporta dades d\'usuari","ADDON_PULL_FAILED":"Ha fallat la sincronització dels complements instal·lats del vostre compte","REFRESH_ON_CLICK":"Prem per reintentar","STILL_IN_THEATER":"Pel·lícula encara als cinemes","WATCH_IN_CINEMA":"Mireu-lo al vostre cinema local","IN_THEATER":"En el cinema","GET_TICKETS":"Obtenir entrades","UPCOMING_EPISODE":"Pròxim episodi","UPCOMING_EPISODE_MESSAGE":"Aquest episodi s’emetrà al","MISSING_DATE_EPISODE":"Falta la data de l\'episodi","MISSING_DATE_EPISODE_MESSAGE":"És possible que aquest episodi encara no s’hagi emès","CHANNEL_NOT_SCRAPED":"Aquest canal encara no s\'ha habilitat.<br>Si us plau, torneu d\'aquí a uns minuts.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Afegiu-lo a la vostra Biblioteca per rebre una notificació un cop estigui disponible.","GET_NOTIFIED_WHEN_AVAILABLE":"Rebràs una notificació un cop estigui disponible.","WARNING_STREAMING_SERVER":"Advertència: no s\'ha trobat el servidor d\'streaming local. L\'streaming des de fitxers locals, YouTube i BitTorrent no estarà disponible.","WARNING_STREAMING_SERVER_DISMISS":"Descartar","WARNING_STREAMING_SERVER_LATER":"Més tard","DECODER_WARNING":"Advertència: és possible que aquest vídeo no sigui compatible amb el vostre maquinari. Tingueu en compte que la reproducció pot ser lenta.","GENERIC_ERROR_MESSAGE":"Alguna cosa ha anat malament!","TRY_AGAIN":"Tornar-ho a provar","CLEAR_DATA":"Esborrar dades","PLAYER_ERROR":"Vaja, error del reproductor","PLAYER_ERROR_LOOKSLIKE":"Sembla que","PLAYER_ORIENTATION":"Orientació del reproductor","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Bloquejat","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensor","PLAYER_ORIENTATION_LANDSCAPE":"L\'orientació del reproductor bloquejada en horitzontal","PLAYER_ORIENTATION_SENSOR":"Orientació del reproductor automàtica (sensor)","PLAYER_PLAYBACK_SPEED":"Velocitat de reproducció","PLAYER_PLAYBACK_ERROR":"Error de reproducció, torneu-ho a provar","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Error desconegut","PLAYER_PLAYBACK_ERROR_DEFAULT":"Ho sentim, aquest vídeo no pot ser reproduït per {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Idiomes dels subtítols","PLAYER_SUBTITLES_VARIANTS":"Variants de subtítols","PLAYER_SUBTITLES_SETTINGS":"Configuració dels subtítols","PLAYER_SUBTITLES_DISABLED":"Subtítols desactivats","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Posició Vertical","PLAYER_SUBTITLES_LOADED":"Subtítols carregats","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Subtítols incrustats carregats","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Subtítols exclusius carregats","PLAYER_SUBTITLES_LOADED_ORIGIN":"Subtítols de {{origin}} carregats","PLAYER_PLAY":"Reprodueix","PLAYER_PAUSE":"Pausa","PLAYER_NEXT_VIDEO":"Següent Vídeo","PLAYER_MUTE":"Silenciar","PLAYER_UNMUTE":"Activar so","PLAYER_OPEN_IN_EXTERNAL":"Obre en un reproductor extern","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Reprodueix a {{device}}","PLAYER_LIVE":"En directe","PLAYER_NEXT_VIDEO_TITLE":"A continuació","PLAYER_NEXT_VIDEO_TITLE_SHORT":"A continuació","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Descartar","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Veure ara","PLAYER_COPY_STREAM_SUCCESS":"Enllaç de la reproducció copiat al porta-retalls","PLAYER_COPY_STREAM_ERROR":"No s\'ha pogut copiar l\'enllaç","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","STREAMING_FROM":"transmissió des de","CASTING_TO":"S\'està emetent a","NETWORK_STATUS":"Estat de la xarxa","STREAM_SPEED":"Velocitat del stream:","STREAM_BUFFERED":"Emmagatzemat:","PEERS_INFO":"Informació dels pars","PEERS_ACTIVE":"Actiu:","PEERS_CONNECTED":"Connectat:","PEERS_WAITING":"Esperant:","TRANSCODING_WARNING":"Advertència: transcodificant vídeo.","STREAM_LOADING":"carregant ...","PLAYING_LOCAL":"reproduint des del fitxer local","PLAYING_CACHE":"reproduint des de la memòria cau","WRONG_SUBS":"Subtítols incorrectes?","ERR_SUBS_LOADING_TITLE":"Error en carregar els subtítols","ERR_SUBS_LOADING":"Ha fallat la càrrega de subtítols: això podria ser un problema amb el complement que utilitzeu o amb la vostra connexió de xarxa","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Els següents complements de subtítols han fallat","ERR_CASTING_UPDATE_TITLE":"No s\'ha pogut actualitzar la informació del dispositiu d\'emissió: el servidor d\'streaming podria estar fora de línia","CHOOSE_DEVICE":"Trieu un dispositiu on mirar-lo","NO_CAST_DEVICES":"No hi ha dispositius d\'emissió disponibles.","NO_SETTINGS":"No hi ha cap configuració disponible.","PHONE_TABLET":"Telèfon / Tauleta","SUBTITLES":"Subtítols","SUBTITLES_CHANGE":"Canvia els subtítols per a ","SUBTITLES_CHANGE_NONE":"No hi ha cap altre subtítol en aquest idioma, ho sento.","SUBTITLES_CHANGE_ACIVE":"Actualment els subtítols &#35;{{subtitlesDialog.activeIdx + 1}} estan activats. Prem \\"Continua\\" per activar els subtítols &#35;{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Alternativament,","SUBTITLES_ADJUST_DELAY":"Ajustar el retard de subtítols:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"O usa les tecles <span>G</span> / <span>H</span> durant la reproducció per ajustar.","SUBTITLES_ADJUST_DELAY_TIP":"Nota: podeu utilitzar les tecles <span>G</span> / <span>H</span> durant la reproducció per ajustar.","SUBTITLES_DELAY":"Retard de subtítols:","SUBTITLES_LOADING":"Carregant els subtítols...","SUBTITLES_UNAVAILABLE":"No hi ha subtítols externs disponibles","SUBTITLES_DISABLED":"Desactivat","EXTERNAL_PLAYER_DISABLED":"Desactivat","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Permet Triar","EXTERNAL_PLAYER_HINT":"Pista: hi ha una configuració per permetre l\'obertura sempre amb un reproductor extern","DONT_SHOW_AGAIN":"No tornis a mostrar","SERVICE_INSTALL":"Instal·lar","AUDIO":"Àudio","DEFAULT_LANGUAGE":"Idioma per Defecte","DEFAULT_SECONDARY_LANGUAGE":"Idioma Secundari per Defecte","SEASON":"Temporada","EPISODE":"Episodi","EPISODE_ABBREVIATION":"EP","SPECIAL":"Especial","SORT":"ordenar","SORT_BY":"Ordenar per","FILTER":"filtrar","SORT_TRENDING":"tendències","SORT_RECENT":"recent","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"qualificació","SORT_WATCHED":"vist","SORT_YEAR":"any","SELECT_TYPE":"Selecciona el tipus","SELECT_SORT":"Selecciona ordre","SELECT_CATALOG":"Selecciona catàleg","SELECT_GENRE":"Selecciona gènere","SORT_LASTWATCHED":"Últim vist","SORT_NAME":"a-z","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"més vist","SORT_NOTWATCHED":"no vist","New for You":"Nou per a tu","New Episodes":"Nous episodis","New Videos":"Nous vídeos","Recommendations":"Recomanacions","LIBRARY_RESUME":"Reprendre","LIBRARY_PLAY":"Reprodueix","LIBRARY_DETAILS":"Detalls","LIBRARY_RESUME_DISMISS":"Descartar","LIBRARY_CLEAR_PROGRESS":"Esborrar progrés","LIBRARY_REMOVE":"Elimina","LIBRARY_NOT_LOGGED_IN":"La biblioteca només està disponible per als usuaris registrats","CALENDAR_NOT_LOGGED_IN":"El calendari només està disponible per als usuaris registrats","NOT_LOGGED_IN_CLOUD":"Accediu a les vostres pel·lícules i programes de televisió preferits en qualsevol moment i en qualsevol lloc","NOT_LOGGED_IN_RECOMMENDATIONS":"Recomanacions adaptades al vostre historial de visualitzacions","NOT_LOGGED_IN_NOTIFICATIONS":"No et perdis mai cap episodi","NOT_LOGGED_IN_CALENDAR":"Programeu el vostre calendari de visualització personal","DISCOVER_FEATURED":"Destacat","DISCOVER_TOP":"Top","DISCOVER_OSCAR":"Guanyadors d\'Oscar","DISCOVER_WARNING_TITLE":"Oops!","DISCOVER_EMPTY_CATALOG":"Aquest complement ha retornat un contingut buit.","DISCOVER_ADULT_WARNING":"El contingut només és visible per a adults. Teniu més de 18 anys?","DISCOVER_NOADDON_WARNING":"Avís: no hi ha cap complement Stremio actiu per a aquest tipus. Mostrant elements desats, res d\'aquí s\'actualitzarà.","DISCOVER_LOAD_ERR":"El contingut no s\'ha carregat, s\'ha produït un error.","DISCOVER_ADDON_UNINSTALLED":"Aquest contingut ja no està disponible, és possible que hàgiu desinstal·lat el complement.","UNINSTALL_THIS_ADDON":"Desinstal·la aquest complement","ERR_ADDON_NOT_INSTALLED":"Aquest complement no està instal·lat. Instal·lar-lo ara?","DETAIL_RECEIVE_NOTIF_SERIES":"Rep notificacions d\'episodis nous","DETAIL_RECEIVE_NOTIF_VIDEOS":"Rep notificacions de vídeos nous","SIDEBAR_SHOW_STREAMS":"Mostra streams","RELAUNCH":"Rellançar ara!","UPGRADE":"Hi ha disponible una nova versió. Actualitzeu a la darrera versió d\'Stremio","RELOAD_UI":"Recarregar la interfície d\'usuari","MANUAL_UPDATE_TITLE":"Actualitza la teva versió d\'Stremio","MANUAL_UPDATE_LINE1":"Esteu executant una versió obsoleta d\'Stremio, que és molt poc recomanable.","MANUAL_UPDATE_LINE2":"Actualitzeu el més aviat possible.","BUTTON_UPDATE_LATTER":"Ara no","BUTTON_UPDATE_NOW":"Actualitza","ANONYMOUS_USER":"Usuari anònim","DONT_HAVE_ACC":"No teniu cap compte?","HAVE_ACC":"Ja tens un compte?","PASSWORD":"Contrasenya","PASSWORD_CONFIRM":"Confirma la contrasenya","EMAIL":"Correu electrònic","FB_LOGIN":"Continueu amb Facebook","FB_NOTHINGSHARED":"No es comparteix res sense el vostre permís","FB_NOPOST":"No publicarem res en nom vostre","OR":"o","I_ACCEPT":"Accepto els","I_ACCEPT_BY_CLICKING":"En fer clic al botó superior, declaro que accepto els ","TOS":"Termes i condicions","MUST_ACCEPT_TERMS":"Heu d\'acceptar els termes","PASSWORDS_NOMATCH":"Les contrasenyes no coincideixen","SIGN_UP":"Registra\'t","SIGN_UP_EMAIL":"Registra\'t amb el correu electrònic","CLICK_TO_SIGN_UP":"Feu clic aquí per registrar-vos.","LOG_IN":"Iniciar Sessió","LOG_OUT":"Tancar sessió","EXIT_FULLSCREEN":"Surt del mode de pantalla completa","ENTER_FULLSCREEN":"Introduïu el mode de pantalla completa","PLAY_URL_MAGNET_LINK":"Reprodueix URL/Enllaç magnètic","HELP_FEEDBACK":"Ajuda i comentaris","TERMS_OF_SERVICE":"Termes del servei","PRIVACY_POLICY":"Política de Privacitat","ABOUT_STREMIO":"Quant a Stremio","USER_PANEL":"Tauler d\'usuaris","LOGIN_LABEL":"Inicia sessió","GUEST_LOGIN":"Inici de sessió de convidat","GUEST_LOGIN_NOTICE":"No es recomana l\'inici de sessió de convidat. Si feu servir un inici de sessió habitual, Stremio pot sincronitzar la Biblioteca i rebre notificacions de sèries o canals preferits. Esteu segur que voleu continuar?","GUEST_LOGIN_NOTICE_2":"No es recomana l\'inici de sessió com a convidat: no tindreu notificacions sincronitzades de la Biblioteca i del fòrum, que són funcions fonamentals d\'Stremio. Esteu segur que voleu continuar?","CLICK_HERE":"clica aquí","WRONG_PASSWORD":"Correu electrònic o contrasenya incorrectes. En cas que hagueu oblidat la vostra contrasenya, ","SET_A_PASS":"definiu una contrasenya","RESET_PASSWORD":"Restablir la contrasenya","FORGOT_PASSWORD":"Has oblidat la contrasenya?","EMAIL_USED_WITH_FB":"Aquest correu electrònic s\'ha utilitzat amb un inici de sessió de Facebook.","INVALID_EMAIL":"si us plau, introdueixi una adreça de correu electrònic vàlida","INVALID_PASSWORD":"Introduïu una contrasenya vàlida","CONN_ERR":"Error de connexió - torneu-ho a provar més tard.\\n\\nSi això persisteix, desactiveu els tallafocs/antivirus (especialment Bitdefender).","IMPORT_FROM_GUEST":"Importeu la Biblioteca des del vostre compte de convidat","RECEIVE_UPDATES_EMAIL":"Rebeu actualitzacions al vostre correu electrònic des d\'Stremio","LOGIN_FAILED":"Error a l\'iniciar sessió.","SIGNUP_FAILED":"Ha fallat el registre.","SEARCH_FAILED":"La cerca ha fallat","EMAIL_USED":"Aquest correu electrònic ja està en ús.","WAITING_FB_LOGIN":"Iniciant la sessió amb Facebook...","EXTERNAL_PLAYER_TITLE":"Reprodueix en un reproductor extern","EXTERNAL_REMEMBER_PLAYER":"Voleu recordar la vostra elecció?","EXTERNAL_ALWAYS_PLAY":"Sí","EXTERNAL_ONLY_ONCE":"No","BEST_FIT":"Millor encaix","FIT_SCREEN":"Encaixar la Pantalla","FILL":"Omplir","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"Explica\'ns què t\'agrada","INTRO_TASTE_LONG":"Explica\'ns què voleu veure","INTRO_TASTE_PICK":"Selecciona {{interestsRemaining}} interessos","INTRO_TASTE_PICK_MORE":"Selecciona {{interestsRemaining}} interessos més","INTRO_TASTE_HELP_US":"Ajudeu-nos a aprendre més informació sobre vosaltres.","INTRO_TASTE_CHOOSE_THESE":"Trieu alguns d\'aquests:","INTRO_TASTE_CHOOSE_MIN":"Trieu com a mínim 3 categories","INTRO_TASTE_CHOOSE_MIN_ERR":"Heu de triar almenys 3 categories.","INTRO_TASTE_LIFESTYLE":"Estil de vida","INTRO_TASTE_SPORTS":"Esports","INTRO_TASTE_FOOD_HEALTH":"Alimentació i Salut","INTRO_TASTE_BEAUTY_FASHION":"Bellesa i Moda","INTRO_TASTE_NEWS":"Notícies","INTRO_TASTE_GAMING":"Jocs","INTRO_TASTE_SCIENCE_EDU":"Ciència i Educació","INTRO_TASTE_MUSIC":"Música","INTRO_TASTE_TRAVEL":"Viatges","INTRO_TASTE_LATE_NIGHT":"Late Night Show","INTRO_TASTE_REALITY":"Reality","INTRO_TASTE_COMEDY":"Comèdia","INTRO_TASTE_DIY":"Fes-ho tu mateix (DIY)","INTRO_TASTE_TECH":"Tecnologia","INTRO_TASTE_CINEMA":"Cinema","ADDON_NOT_SUPPORTED":"Aquesta plataforma no admet el complement seleccionat.","ADDON_DISCLAIMER":"L\'ús de complements de tercers sempre estarà subjecte a la vostra responsabilitat i a la legislació vigent de la jurisdicció on esteu ubicat.","ADDON_ACTIVATE":"Activar aquest complement?","ADDON_REPO_ADD":"URL del repositori de complements","ADDON_ADD":"Afegir","INSTALL_ADDON":"Instal·la el complement","ADD_ADDON":"Afegir complement","ADD_ADDON_DESCRIPTION":"Podeu afegir un complement mitjançant un enllaç extern, que apareixerà a Complements instal·lats.","PASTE_ADDON_URL":"Enganxeu l\'URL del complement","WHATS_NEW":"Que hi ha de nou","BUTTON_CONTINUE":"Continua","BUTTON_ACTIVATE":"Activa","BUTTON_ACTIVATED":"Activat","BUTTON_CANCEL":"Cancel·lar","BUTTON_SUBMIT":"Envia","BUTTON_DISMISS_ALL":"Descartar-ho tot","BUTTON_VIEW_ALL":"veure-ho tot","BUTTON_SEE_ALL":"Veure Tot","BUTTON_COLOR_TRANSPARENT":"Transparent","OPEN_IN_BROWSER":"Obre al navegador","LIB_EMPTY":"La vostra Biblioteca sembla buida. Esbrineu lo útil que és :)","HOW_START":"Així és com podeu començar:","LIB_EMPTY_CAL":"El vostre calendari mostra sèries a la Biblioteca.","HOW_START_CAL":"Així és com podeu afegir sèries:","LIB_EMPTY_BOARD":"El Tauler mostra notificacions i recomanacions relacionades amb la vostra Biblioteca.","HOW_START_BOARD_WAIT":"Afegiu unes quantes sèries o canals a la vostra Biblioteca i doneu-nos uns minuts per processar :)","HOW_START_BOARD":"Així és com podeu afegir-hi sèries i pel·lícules:","IMPORT_FB":"Importeu les coses que us agradin de <span>Facebook</span>","IMPORT_TRAKT":"Importeu la vostra biblioteca multimèdia de <span>Trakt</span>","IMPORT_DISCOVER":"Troba coses interessants de <span>Descobrir</span>","IMPORT_DISK":"Importeu pel·lícules o sèries que tingueu al <span>disc local</span>","PLEASE_CREATE_ACC":"<u>Creeu un compte</u> per habilitar la sincronització de la Biblioteca i el Tauler.","IMPORT_DISCOVER_SIGNUP":"Registreu-vos i trobeu coses interessants a <span>Descobrir</span>","IMPORT_DISK_SIGNUP":"Inscriviu-vos i importeu pel·lícules o espectacles que tingueu al vostre <span>disc local</span>","LIB_EMPTY_CLOUD":"Biblioteca al núvol","LIB_EMPTY_CLOUD_DESC":"Biblioteca personal al núvol sincronitzada a tots els dispositius","LIB_EMPTY_EARLY":"Accés aviat","LIB_EMPTY_EARLY_DESC":"Rep notificacions d\'episodis nous","LIB_EMPTY_PERSONAL":"Personal","LIB_EMPTY_PERSONAL_DESC":"Obteniu recomanacions personalitzades","LIB_EMPTY_CALENDAR_DESC":"Programa el teu calendari de visualització personal","LIB_EMPTY_ALL":"Registreu-vos per obtenir tot això:","LIB_EMPTY_BEST":"Registreu-vos per obtenir el millor d\'Stremio","LIB_EMPTY_OTHER":"Registreu-vos per activar el calendari i altres funcions interessants","CALENDAR_ADDED":"El calendari d\'Stremio s\'ha afegit al calendari d\'escriptori predeterminat.","CALENDAR_ADDED_MSG":"Si això no funciona, afegiu aquest URL manualment a la vostra aplicació de calendari","TRAKT_EXPIRED":"L\'autenticació de Trakt ha caducat, aneu a Configuració i torneu a autenticar-la","TRAKT_REQUIRES_LOGIN":"Error de Trakt","TRAKT_REQUIRES_LOGIN_MSG":"Cal iniciar sessió","TRAKT_IMPORT_WATCHED":"Importa","THEME":"Tema","THEME_DEFAULT":"Per defecte","THEME_ADAPTIVE":"Adaptatiu","SETTINGS_LABEL":"Configuració","SETTINGS_NAV_GENERAL":"General","SETTINGS_NAV_PLAYER":"Reproductor","SETTINGS_NAV_STREAMING":"Streaming","SETTINGS_NAV_SHORTCUTS":"Dreceres","SETTINGS_SHORTCUT_RELOAD_APP":"Recarregar l\'aplicació","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Obrir Configuració","SETTINGS_SHORTCUT_SWITCH_TABS":"Canviar Pestanya","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Mou Entre Pestanyes Cap Endavant","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Mou Entre Pestanyes Cap Enrere","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navega entre menús","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Vés a Cerca","SETTINGS_SHORTCUT_EXIT_BACK":"Sortir / Tornar enrere","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Commuta el menú de velocitat de reproducció","SETTINGS_SHORTCUT_MENU_VIDEOS":"Commuta el menú de vídeos","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Commuta el menú de subtítols","SETTINGS_SHORTCUT_MENU_INFO":"Commuta el menú d\'informació","SETTINGS_SHORTCUT_FULLSCREEN":"Commuta la Pantalla Completa","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Mostra els Controls","SETTINGS_SHORTCUT_PLAY_PAUSE":"Reproduir / Pausa","SETTINGS_SHORTCUT_VOLUME_UP":"Pujar volum","SETTINGS_SHORTCUT_VOLUME_DOWN":"Baixar volum","SETTINGS_SHORTCUT_SEEK_NEXT":"Moure Endavant","SETTINGS_SHORTCUT_SEEK_PREV":"Moure Enrere","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Busca Enrere","SETTINGS_SHORTCUT_SEEK_FORWARD":"Busca Endavant","SETTINGS_SHORTCUT_PLAY_NEXT":"Reproduir Següent","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Augmentar Mida Subtítols","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Disminuir Mida Subtítols","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Augmentar Retard Subtítols","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Disminuir Retard Subtítols","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Commutar Barra Lateral","SETTINGS_SHORTCUT_OR":"o","SETTINGS_SHORTCUT_TO":"a","SETTINGS_SHORTCUT_SPACE":"Espai","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Autenticar","SETTINGS_FACEBOOK_IMPORT":"Importar","SETTINGS_CALENDAR_SUBSCRIBE":"Subscriure","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Llenguatge de la interfície","SETTINGS_LAUNCH_STARTUP":"Iniciar al arrancar l\'equip","SETTINGS_VLC_DEFAULT":"Reproduir amb VLC","SETTINGS_UI_LANGUAGE":"Idioma de la interfície","SETTINGS_UI_ZOOM":"Zoom de la interfície","SETTINGS_FULLSCREEN_EXIT":"Tecla per sortir de la pantalla completa","SETTINGS_GAMEPAD":"Activa la compatibilitat amb el gamepad","SETTINGS_CLOSE_WINDOW":"Tanca l\'aplicació quan la finestra estigui tancada","SETTINGS_SUBTITLES_LANGUAGE":"Idioma dels subtítols predeterminat","SETTINGS_SUBTITLES_SIZE":"Mida dels subtítols predeterminada","SETTINGS_SUBTITLES_BACKGROUND":"Fons dels subtítols","SETTINGS_SUBTITLES_COLOR":"Color dels subtítols","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Color de l\'esquema dels subtítols","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Color de fons dels subtítols","SETTINGS_SEEK_KEY":"Les tecles de fletxa et mouen en el temps","SETTINGS_SEEK_KEY_SHIFT":"Les tecles de fletxa et mouen en el temps quan es manté premuda la tecla Shift","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Durada del rebobinat i de l\'avançament ràpid","SETTINGS_BINGE":"Reprodueix automàticament el proper episodi","SETTINGS_NEXT_VIDEO":"Mostra la notificació per iniciar el proper episodi","SETTINGS_NEXT_VIDEO_TRIGGER":"Mostra la notificació del següent episodi per a:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Durada de la finestra emergent del següent vídeo","SETTINGS_PLAY_IN_BACKGROUND":"Reprodueix en segon pla","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Reprodueix en un reproductor extern","SETTINGS_RESIZE":"Canvia la mida de la finestra abans de reproduir","SETTINGS_OVERRIDE_SERVER":"Substitueix l\'URL del servidor de transmissió (avançat)","SETTINGS_SERVER_URL":"URL del servidor de transmissió: ","SETTINGS_SERVER_AVAILABLE":"El servidor de transmissió està disponible.","SETTINGS_SERVER_UNAVAILABLE":"El servidor de transmissió no està disponible.","SETTINGS_SERVER_STATUS_ONLINE":"En línia","SETTINGS_SERVER_STATUS_ERROR":"Error","SETTINGS_SERVER_CONFIGURE_TITLE":"Configura l\'URL del servidor de transmissió","SETTINGS_SERVER_CONFIGURE_INPUT":"Introdueix l\'URL d\'un servidor de transmissió","SETTINGS_SERVER_CACHE_SIZE":"Mida de la memòria cau","SETTINGS_SERVER_TORRENT_PROFILE":"Perfil de Torrent","SETTINGS_HTTPS_ENDPOINT":"Endpoint de transmissió HTTPS: ","SETTINGS_TRANSCODE_PROFILE":"Perfil de transcodificació","SETTINGS_USE_BETA":"Utilitzeu sempre l\'última versió Beta","SETTINGS_IMPORT_FB":"Importar de Facebook","SETTINGS_IMPORT_DISK":"Importar del disc local","SETTINGS_IMPORT_TRAKT":"Importar de Trakt","SETTINGS_PAUSE_MINIMIZED":"Pausar la reproducció quan es minimitzi","SETTINGS_HWDEC":"Descodificació accelerada per maquinari","SETTINGS_BACKGROUND":"Reproducció en segon pla","SETTINGS_SUBSCRIBE_CALENDAR":"Subscriu-te al calendari","SETTINGS_REQ_EXPORT":"Sol·licitar l\'exportació de dades","SETTINGS_ACC_DELETE":"Sol·licitar eliminació del compte","SETTINGS_CHANGE_PASSWORD":"Canvia la contrasenya","SETTINGS_TOS":"Termes del servei","SETTINGS_SUPPORT":"Contactar suport","SETTING_LANGUAGE":"Llenguatge","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_LOGOUT":"Tanca la sessió de Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Tanca la sessió de Trakt","SETTINGS_SCAN_FOR_REMOTE":"Escaneja el codi QR per obrir el comandament a distància","SETTINGS_DESKTOP_NOTIFICATIONS":"Notificacions d\'escriptori","SETTINGS_DATA_SAVER":"Estalviador de dades","SETTINGS_LANGUAGE_INTERFACE":"interfície","SETTINGS_LANGUAGE_SUBS":"subtítols per defecte","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Seleccionar Automàticament la Pista d\'Àudio","SETTINGS_DEFAULT_AUDIO_TRACK":"Pista d\'Àudio Predeterminada","SETTINGS_SURROUND_SOUND":"So envoltant","SETTINGS_ACCOUNT":"compte","SETTINGS_PLATFORM":"Plataforma","SETTINGS_VERSION":"versió","SETTINGS_ABOUT":"Sobre","SETTINGS_MPV_WINDOW":"Inicia el reproductor en una finestra separada (avançat)","SETTINGS_PLAY_IN_EXTERNAL":"Inicieu sempre el vídeo en un reproductor extern","SETTINGS_STORAGE_BUTTON":"Esborra l\'emmagatzematge local","SETTINGS_STORAGE_MODAL_TITLE":"Estàs segur ?","SETTINGS_STORAGE_MODAL_MESSAGE":"Això esborrarà l\'emmagatzematge local i tancarà la sessió.","SETTINGS_HWDEC_PICKER":"Trieu la configuració de descodificació accelerada per maquinari","SETTINGS_HW_AUTOMATIC":"Automàtic","SETTINGS_HW_DISABLED":"Desactivat","SETTINGS_HW_ACCELERATED":"Acceleració de descodificació","SETTINGS_HW_FULL":"Acceleració total","SETTINGS_HW_LEGACY":"Heretat","SETTINGS_DISABLED":"Inhabilitat","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Notificació de connexió a la xarxa","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"URL remot","SETTINGS_COPY_REMOTE_URL":"Copia l\'URL remot","SETTINGS_REMOTE_URL_COPIED":"L\'URL remot s\'ha copiat al porta-retalls","SETTINGS_SECTION_SUBTITLES":"Subtítols","SETTINGS_SECTION_AUDIO":"Àudio","SETTINGS_SECTION_CONTROLS":"Controls","SETTINGS_SECTION_AUTO_PLAY":"Reproducció automàtica","SETTINGS_SECTION_ADVANCED":"Avançat","SUBSPICKER_AUDIO":"Àudio","SUBSPICKER_SUBTITLES":"Subtítols dels complements","SUBSPICKER_BLACK_BACKGROUND":"Utilitzar negre com color de fons","SUBSPICKER_VERTICAL_OFFSET":"Desplaçament vertical","SUBSPICKER_SIZE":"Mida","SUBSPICKER_DELAY":"Retard","SUBSPICKER_EMBEDDED_SUBS":"Subtítols incrustats","MOBILE_PRIVACY_POLICY":"Política de privacitat","MOBILE_CRASH_REPORTING":"Informe de fallades","MOBILE_ZOOM_TO_FILL":"Ampliar per omplir la pantalla","MOBILE_PASSTHROUGH":"Sortida d\'àudio digital (passthrough)","MOBILE_RUN_LOW_BATTERY":"Executar amb bateria baixa","MOBILE_RUN_FOREGROUND":"Executar com a servei de primer pla","MOBILE_PERFORMANCE":"RENDIMENT I ESTABILITAT","MOBILE_SERVER_ONLINE":"En línia","MOBILE_SERVER_OFFLINE":"Fora de línia","MOBILE_QR_EXPIRES":"El codi QR caduca en ","MOBILE_LOG_INTO":"Iniciar sessió al compte Stremio ","MOBILE_SCAN_QR":"Escaneja el codi QR de dalt o ves a ","MOBILE_LINK_ACCOUNT":"Enllaçar el compte","MOBILE_SPEEDPICKER_CANCEL":"Cancel·lar","MOBILE_SPEEDPICKER_LABEL":"Seleccionar Velocitat de Reproducció","MOBILE_EMPTY_LIBRARY":"La teva biblioteca està buida","MOBILE_NO_ADDON_ACTIVE":"No hi ha cap complement Stremio actiu per a aquest tipus.","MOBILE_ORGANIZER_WARNING":"L\'aplicació Stremio Organizer ofereix una funcionalitat limitada. Per obtenir una llista de reproduccions i l\'experiència completa d\'Stremio, feu servir Stremio a l\'escriptori.","MOBILE_ADDON_LOADING":"encara està carregant","MOBILE_ADDONS_LOADING":"els complements encara estan carregant","MOBILE_ADDON":"Complement","MOBILE_CONFIGURE_ADDON":"Configura el teu complement","MOBILE_CONFIGURE_ADDON_LABEL":"Configurar Complement","MOBILE_ORGANIZER_ADDONS_WARNING":"L\'aplicació Stremio Organizer ofereix una selecció limitada de complements. Per gaudir de l\'experiència Stremio completa, utilitzeu Stremio a l\'escriptori.","MOBILE_DISCONNECT":"Desconnectar","MOBILE_LOOKING_FOR_DEVICES":"Buscant dispositius...","MOBILE_CAST_TO":"Emet a","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Esborrar compte","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"L\'eliminació del compte no és instantània a causa d\'obligacions legals. Després de sol·licitar l\'eliminació del vostre compte, haureu d\'utilitzar una adreça de correu electrònic/perfil de Facebook diferent per crear un nou compte d\'Stremio en el futur.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirmeu la supressió del compte","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"El vostre compte s\'ha creat mitjançant Facebook. Per suprimir el vostre compte, utilitzeu el nostre portal d\'usuaris a www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Proporcioneu la vostra contrasenya per confirmar la supressió del compte.","MOBILE_DELETE_ACCOUNT_BUTTON":"Esborrar compte","NAVIGATION_ON":"Encès","NAVIGATION_OFF":"Apagat","MARKETING_AGREE":"Accepto rebre comunicacions de màrqueting d\'Stremio","QUIT":"Sortir","CONNECTED":"Connectat","AUTHENTICATE":"Autenticar","CACHING":"Memòria cau","SETTINGS_CACHING_DRIVE":"Disc de memòria cau","ENABLE_LOCAL_FILES_ADDON":"Activa el complement de fitxers locals (requereix un reinici)","LOCAL_ADDON_NOT_ENABLED":"El complement local no està habilitat. Feu clic aquí per anar a la configuració i activar-lo","ENABLE_REMOTE_HTTPS_CONN":"Activeu les connexions HTTPS remotes","TORRENT_PROFILE":"Perfil del torrent","DATA_CACHING":"Memòria cau emmagatzemada","MAGNET_PARSING":"Analitzant un enllaç magnètic","January":"Gener","February":"Febrer","March":"Març","April":"Abril","May":"Maig","June":"Juny","July":"Juliol","August":"Agost","September":"Setembre","October":"Octubre","November":"Novembre","December":"Desembre","Monday":"Dilluns","Tuesday":"Dimarts","Wednesday":"Dimecres","Thursday":"Dijous","Friday":"Divendres","Saturday":"Dissabte","Sunday":"Diumenge","Action":"Acció","Comedy":"Comèdia","War":"Bèl·lic","Family":"Família","Animation":"Animació","Adventure":"Aventura","Fantasy":"Fantasia","Crime":"Crim","Mystery":"Misteri","Romance":"Romanç","Drama":"Drama","Horror":"Terror","Thriller":"Suspens","Sci-Fi":"Ciència-ficció","Music":"Musical","Biography":"Biogràfic","Documentary":"Documental","Sport":"Esports","Musical":"Musical","Western":"Western","Film-Noir":"Film-Noir","News":"Notícies","History":"Història","Game-Show":"Concursos","Reality-TV":"Reality shows","Talk-Show":"Entrevistes","Film & Entertainment":"Cinema i entreteniment","Gaming":"Videojocs","From TV":"De la TV","Lifestyle":"Estil de vida","Science & Education":"Ciència i educació","Cooking & Health":"Cuina i salut","Beauty & Fashion":"Bellesa i moda","Sports":"Esports","News & Politics":"Notícies i política","How-to & DIY":"Com fer-ho i DIY","Tech":"Tecnologia","Automotive":"Automoció","Causes & Non-Profits":"Causes i organitzacions sense ànim de lucre","Movies":"Pel·lícules","Uk Live Tv":"TV britànica en directe","Fashion":"Moda","Business News Radio":"Ràdio - Notícies de negocis","Business Tv":"TV negocis","Cars & Auto":"Automòbils","Comedy Radio":"Ràdio - Comèdia","Lifestyle Radio":"Ràdio - Estil de vida","News Tv":"TV notícies","Food And Wine":"Menjar i Vi","Latino Tv":"TV Llatina","Shopping Tv":"TV compres","Religion":"Religió","Kids":"Nens","Body & Soul":"Cos i ànima","Education":"Educació","Indian Tv":"TV índia","Extreme Sports":"Esports extrems","Middle Eastern Tv":"TV de l\'Orient Mitjà","Celebrity Tv":"TV famosos","Science Tv":"TV ciència","Bikini babe":"Bikini babe","Outdoors":"A l\'aire lliure","German Tv":"TV alemanya","French Tv":"Tv francesa","Italian Tv":"TV italiana","Gamer Tv":"TV videojocs","Travel":"Viatges","Asian Tv":"TV asiàtica","Entertainment":"Entreteniment","News Radio":"Ràdio - Notícies","Music Radio":"Ràdio - Música","Language Learning":"Aprenentatge d\'idiomes","Science Radio":"Ràdio - Ciències","Tech Radio":"Ràdio - Tecnologia","Science & Technology Vod":"Ciència i tecnologia sota demanda","new video":"nou vídeo","new episode":"nou episodi","new movie":"nova pel·lícula","recommended":"recomanat","we recommend":"recomanem","offer of the day":"oferta del dia","news":"notícies","music video":"vídeo musical","CTX_SHOW_HOTKEYS":"Show hotkeys","CTX_DISMISS_NOTIF":"Descarta les notificacions","CTX_DISMISS_ALL":"Descarta-ho tot","CTX_SHARE":"Comparteix","CTX_COPY_SHARE_LINK":"Copia l\'enllaç per compartir","CTX_COPY_MAGNET_LINK":"Copia enllaç magnètic","CTX_COPY_STREAM_LINK":"Copia enllaç de l\'stream","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Descarregar aquest vídeo","CTX_DOWNLOAD_SUBS":"Descarregar els subtítols","CTX_VIEW_ON_YOUTUBE":"Veure a YouTube","CTX_SHOW":"Mostra","CTX_PLAY":"Reproduir","CTX_PLAY_IN":"Reprodueix aquí","CTX_PLAY_ON":"Reprodueix a","CTX_WATCH_ON":"Veure a","CTX_WATCH":"Veure","CTX_WATCHED":"Vist","CTX_WATCH_BEGINNING":"Veure des del principi","CTX_WATCH_MOBILE":"Veure en un dispositiu mòbil","CTX_REWIND":"Rebobinar fins al començament","CTX_MARK_WATCHED":"Marca com a vist","CTX_MARK_NON_WATCHED":"Marca com a no vist","CTX_MARK_UNWATCHED":"Marca com sense mirar","CTX_MARK_REST":"Marca la resta com a vist","CTX_UNMARK_REST":"Marca la resta com a no vist","CTX_RECEIVE_NEW_NOTIF":"Rebre notificacions noves","CTX_ENABLE_NEW_NOTIF":"Activa les notificacions","CTX_DISABLE_NEW_NOTIF":"Desactiva les notificacions","CTX_REMOVE_CACHE":"Elimina de la memòria cau","CTX_REMOVE_CACHE_EP":"Elimina l\'episodi de la memòria cau","CTX_OPEN_CONTAINING":"Obre la carpeta que conté","CTX_REMOVE":"Elimina de la biblioteca","CTX_AVAILABLE_OFFLINE":"Disponible fora de línia","CTX_PAUSED":"En pausa","CTX_ALWAYS_ON_TOP":"Sempre a la part superior","CTX_FULLSCREEN":"Pantalla completa","CTX_WRONG_SUBS":"Subtítols incorrectes?","CTX_REPORT_ISSUES":"Informar del problema","CTX_COPY":"Copia","CTX_PASTE":"Enganxa","CTX_CLEAR":"Esborra","CTX_CLEAR_RECENT_SEARCHES":"Esborra les cerques recents","HELLO_THERE":"Hola","HOPE_YOU_ENJOY":"Esperem que gaudiu d\'Stremio i ja sigui una de les vostres aplicacions preferides.","WHO_ARE_WE":"Qui som? Som l\'equip que hi ha darrere: dos nois que treballen molt cada dia durant els darrers 3 anys per fer que aquest producte sigui cada vegada millor.","SUPPORT_US":"Si us agrada utilitzar Stremio, si Stremio és valuós per a vosaltres, correu la veu!","SPREAD_THE_WORD":"Comparteix amb els teus amics ara, difon la notícia sobre Stremio","MORE_PEOPLE":"Com més gent utilitzi Stremio, millor serà.","SEND_A_LINK":"O envieu un enllaç al nostre lloc web","TIP_LOCALFILES":"Consell: podeu arrossegar i deixar anar fitxers de vídeo locals a Stremio","ADDON_MY":"Els meus complements","ADDON_COMMUNITY":"Complements de la comunitat","ADDON_OFFICIAL":"Complements oficials","ADDON_REPOS":"Col·leccions de complements","ADDON_SEARCH":"Cerca de complements","ADDON_INSTALL":"Instal·la","ADDON_CONFIGURE":"Configura","ADDON_UNINSTALL":"Desinstal·la","ADDON_UPGRADE":"Actualitza","ADDON_INSTALLED":"Instal·lat","ADDON_INSTALLED_MSG":"Complement instal·lat!","ADDON_UPGRADED_MSG":"Complement actualitzat!","ADDON_UNKNOWN":"Desconegut","ADDON_ERR":"Error d\'instal·lació del complement!","ADDON_DISCONNECTED":"Desconnectat","ADDON_APP_MISSING":"l\'aplicació d\'aquesta font no està instal·lada. Voleu instal·lar-la ara?","ADDON_APP_INSTALL":"Instal·lar ara","ADDON_PAGE":"Pàgina del complement","ADDON_TOP_CONTENT":"El millor d\'aquest complement","ADDON_PROVIDES":"Aquest complement proporciona:","ADDON_WATCH":"Mireu #{types} ara!","ADDON_WATCH_FREE":"Mireu #{types} GRATIS ara!","ADDON_ADDON":"Complement","ADDON_SUPPORTED_TYPES":"Tipus compatibles","ADDON_SUPPORTED_CATALOGS":"Catàlegs compatibles","ADDON_PROVIDES_DISCOVER":"Més #{types} a Descobreix","ADDON_PROVIDES_STREAMS":"Mira #{types}","ADDON_PROVIDES_STREAMS_FREE":"Mireu #{types} GRATIS","ADDON_PROVIDES_SUBTITLES":"Subtítols per #{types}","ADDON_CANTDETECT":"No hem pogut detectar un Stremio en execució, de manera que no hem pogut detectar quins complements heu instal·lat.","ERR_NO_META":"No s\'ha trobat informació sobre això ","ERR_GETTING_META":"Error en recuperar informació sobre això.","ERR_CANT_PARSE_MAGNET":"No es pot analitzar l\'enllaç magnètic","ERR_NO_MAGNET_INFOHASH":"No hi ha cap hash d\'informació magnet vàlida","ERR_NO_FILE_PATH":"No es pot enviar la sol·licitud sense una ruta al fitxer","ERR_NO_TORRENT":"No s\'ha retornat cap torrent","ERR_NO_SUPPORTERD_FILES":"No s\'han trobat fitxers compatibles","ERR_OPENING_FILES":"No s\'han pogut obrir els fitxers externs","ERR_INVALID_LINK":"Enllaç invàlid","ERR_REGISTERED_ONLY":"Aquesta opció només està disponible per als usuaris registrats.","ERR_CLIPBOARD":"No es pot reproduir des del porta-retalls","ERR_CLIPBOARD_READ":"No es pot llegir el porta-retalls d\'aquesta plataforma","ERR_CLIPBOARD_GENERIC":"No s\'ha trobat cap URL reproduïble al porta-retalls. Copieu un URL (per exemple, un enllaç magnètic) a un vídeo.","BOARD_CONTINUE_WATCHING":"Continuar mirant","BOARD_EXPLANATION_RECOMMENDATIONS":"Pel·lícules seleccionades especialment per a vosaltres.<br />Aquesta pel·lícula és una recomanació d\'exemple.","BOARD_EXPLANATION_EPISODES":"Els nous episodis de les vostres Sèries preferides arriben aquí.<br />Afegiu sèries que seguiu a la Biblioteca.","BOARD_EXPLANATION_VIDEOS":"Els nous episodis dels vostres Canals preferits arriben aquí.<br />Afegiu a la Biblioteca els canals de YouTube que seguiu.","WEBSITE_ENJOYED_BY":"Gaudit per més de 30 milions d\'usuaris a tot el món.","WEBSITE_STREAMING_ENHANCED":"Transmissió millorada","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio ofereix una experiència d\'entreteniment segura, moderna i sense interrupcions. Amb la seva interfície fàcil d\'utilitzar i una àmplia biblioteca de continguts diversa, que inclou suport per a 4K HDR, els usuaris poden gaudir de les seves pel·lícules i sèries preferits a tots els seus dispositius. I amb el seu compromís amb la seguretat, Stremio és l\'opció definitiva per a una experiència de transmissió d\'alta qualitat sense preocupacions.","WEBSITE_AVAILABLE_ON":"Disponible a","WEBSITE_WATCH_AND_ENJOY":"Mira i gaudeix.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio és bufar i fer ampolles","WEBSITE_ALL_FEATURES":"Totes les funcionalitats","WEBSITE_EASY_TO_USE":"Fàcil d\'utilitzar","WEBSITE_EASY_TO_USE_DETAILS":"Stremio està dissenyat per ser fàcil d\'utilitzar i amigable. Amb la seva interfície neta i intuïtiva, pots navegar fàcilment i trobar el contingut que vols veure.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Sense problemes en tots els dispositius","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Disponible per a una àmplia gamma de plataformes (incloent Windows, Mac, Linux, Android i més), Stremio seguirà el teu progrés a través de tots els teus dispositius. Només has d\'iniciar la sessió i continuar veient sense haver de configurar l\'aplicació de nou a cada nou dispositiu.","WEBSITE_ALL_DOWNLOADS":"Totes les descàrregues","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"Suport de vídeo d\'alta definició","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"Un reproductor de vídeo integrat que suporta la majoria dels formats de vídeo, incloent contingut 4K HDR, et permet gaudir de la millor qualitat disponible.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Biblioteca de continguts variada","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio s\'integra amb moltes fonts de vídeo populars, com Netflix, Amazon Prime Video, Hulu, YouTube i moltes més.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Crea un Compte Gratuït","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Experiència de Visualització Personalitzada","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio et permet personalitzar l\'aparença i el comportament de la interfície canviant el tema, afegint o eliminant complements i més.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Suport de Subtítols Multilingües","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"Ara pots gaudir de tot el teu contingut preferit en el teu idioma preferit, ja que Stremio admet subtítols en tots els idiomes.","WEBSITE_ALL_STREMIO_FEATURES":"Totes les característiques d\'Stremio","WEBSITE_TRY_STREMIO_TITLE_P1":"Prova Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"Al Teu Televisor Ara Mateix","WEBSITE_YOU_CAN_NOW_WATCH":"Ara pots veure totes les teves sèries de televisió preferides als teus dispositius Android TV. L\'aplicació d\'Stremio per a TV et permet gaudir d\'una nit de pel·lícules amb facilitat.","WEBSITE_YOU_CAN_NOW_WATCH_2":"Ara pots veure totes les teves sèries de televisió preferides al teu Smart TV o Android TV. Les aplicacions de TV d\'Stremio et permeten gaudir d\'una nit de pel·lícules amb facilitat.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio per a Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probablement la millor i més útil aplicació que pots tenir al teu dispositiu. És una de les aplicacions que utilitzo a diari, especialment al meu Android TV, durant molts anys. Ben feta amb una comunitat forta que proporciona funcionalitats útils. Ben fet. Continueu amb la bona feina.","WEBSITE_REVIEWS":"resenyes","WEBSITE_GET_STREMIO_FOR_FREE":"Aconsegueix Stremio Gratuïtament","WEBSITE_GET_STREMIO_NOW":"Aconsegueix Stremio Ara","WEBSITE_STREMIO_FEATURES":"Característiques d\'Stremio","WEBSITE_STREMIO_FEATURES_DETAILS":"Reprodueix com un professional amb les funcions avançades d\'Stremio i gaudeix d\'un accés perfecte a tots els teus mitjans preferits","WEBSITE_DISCOVER_MORE":"Descobreix més.","WEBSITE_DISCOVER_MORE_DETAILS":"No et quedis mai sense coses per veure","WEBSITE_COMMUNITY_DRIVEN":"Impulsat per la comunitat","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio té una gran i activa comunitat d\'usuaris que contribueixen al desenvolupament del programari creant i compartint complements.","WEBSITE_GET_INVOLVED":"Impliqueu-vos","WEBSITE_NEW_THEATER_EXPERIENCE":"Nova Experiència de Cinema","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"La nova aplicació de TV dedicada d\'Stremio et permet gaudir d\'una nit de pel·lícules als teus dispositius Android TV.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Les noves aplicacions de TV dedicades d\'Stremio et permeten gaudir d\'una nit de pel·lícules als teus Smart TV o dispositius Android TV.","WEBSITE_FREE_AND_SECURE":"Gratuït i segur","WEBSITE_STREAMING":"Transmissió","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio ofereix una seguretat i privadesa inigualables per als usuaris. Amb la seva característica única d\'executar complements de forma remota, Stremio ofereix una manera més segura de reproduir el vostre contingut preferit en comparació amb altres plataformes. La vostra seguretat i privadesa són les principals prioritats, i la plataforma garanteix que totes les teves dades estiguin protegides.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Acomiadau-vos de les preocupacions per la seguretat i la privadesa i saludeu un món d\'entreteniment sense fi amb Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Informació proporcionada per","WEBSITE_CONTRIBUTE":"Contribueix","WEBSITE_CONTRIBUTE_DESC":"al projecte i ajuda\'ns a millorar encara més Stremio","WEBSITE_COMMUNITY_DESC":"Creiem que la millor manera de crear una experiència de transmissió realment sorprenent és implicar la nostra comunitat en el procés. Tant si sou un programador, un artista o només un fan, podeu ajudar a Stremio a créixer.","WEBSITE_COMMUNITY_DESC_2":"Així que uneix-te a nosaltres avui i forma part de la comunitat Stremio i segueix donant forma al futur de la reproducció en temps real.","WEBSITE_WAYS_TO_GET_INVOLVED":"Maneres d\'implicar-se","WEBSITE_IN_THE_STREMIO_COMMUNITY":"a la comunitat Stremio","WEBSITE_SHARE_YOUR_THOUGHTS":"Comparteix els teus pensaments","WEBSITE_REPORT_BUGS":"Informa d\'errors","WEBSITE_SUGGEST_FEATURES":"suggereix funcions","WEBSITE_AND_PROVIDE_FEEDBACK":"i proporcionar comentaris als nostres canals de xarxes socials.","WEBSITE_BETA_TESTING_PROGRAM":"Programa de proves Beta","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participa en el nostre programa de proves Beta (enviem invitacions regularment) a la comunitat d\'Stremio.","WEBSITE_JOIN_NOW":"Uniu-vos ara!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Comunitats Oficials d\'Stremio","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Comunitats No Oficials d\'Stremio","WEBSITE_BECOME":"Converteix-te","WEBSITE_A_VOLUNTEER_TRANSLATOR":"en un traductor voluntari","WEBSITE_ARE_YOU_A_DEVELOPER":"Ets desenvolupador?","WEBSITE_CONTRIBUTE_CODE":"Pots contribuir amb codi als nostres projectes d\'open source. Tenim diversos projectes a GitHub que busquen col·laboradors. Si estàs interessat en ajudar-nos, fes una ullada:","WEBSITE_STREMIO_ON_GITHUB":"Stremio a GitHub","WEBSITE_CREATE_ADDON_DESC":"Crea un complement per millorar la funcionalitat d\'Stremio (tenim una API fàcil d\'utilitzar):","WEBSITE_STREMIO_ADDON_SDK":"SDK de complementd d\'Stremio","WEBSITE_INTERN_DEVELOPER":"També oferim l\'oportunitat d\'unir-se a nosaltres com a desenvolupador en pràctiques perquè puguem créixer junts.","WEBSITE_APPLY_AS_AN_INTERN":"Sol·licita com a estudiant en pràctiques","WEBSITE_CALLING_ALL_ARTISTS":"Convoquem a tots els artistes!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Mostra la teva creativitat i amor per Stremio pujant la teva obra d\'art d\'aficionat a la nostra galeria en línia. Ja sigui un dibuix, una pintura o un disseny digital, volem veure la teva visió única de la marca Stremio. Uneix-te a la nostra comunitat d\'entusiastes de l\'art i comparteix la teva obra amb altres fans d\'Stremio d\'arreu del món.","WEBSITE_STREMIO_FANART_GALLERY":"Galeria d\'Art d\'aficionats d\'Stremio","WEBSITE_INTERN_DESIGNER":"Forma part del nostre equip i porta la teva creativitat a nous nivells amb les nostres emocionants oportunitats de pràctiques.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Projecte de Pel·lícules de Domini Públic","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"A Stremio, estem compromesos a preservar la història del cinema i la televisió mitjançant la identificació de vídeos orfes i de domini públic. Treballant conjuntament amb la nostra comunitat, podem garantir que aquestes obres d\'art clàssiques siguin accessibles per a tothom i protegides perquè les generacions futures en gaudeixin.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"No dubtis a contactar-nos si vols involucrar-te en aquest projecte.","WEBSITE_JOIN_THE_PROJECT":"Uneix-te al Projecte","WEBSITE_BE_PART_OF_OUR_MISSION":"Forma part de la nostra missió","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interessat a unir-te a l\'equip d\'Stremio? Oferim treball completament remot per a professionals apassionats. Consulta les nostres posicions obertes.","WEBSITE_OPEN_POSITIONS":"POSICIONS OBERTES","WEBSITE_DESCRIPTION":"DESCRIPCIÓ","WEBSITE_LEARN_MORE":"Més informació","WEBSITE_COMPANY":"Empresa","WEBSITE_CONTACTS":"Contactes","WEBSITE_NEED_HELP":"Necessites ajuda?","WEBSITE_STREMIO_WEB_ON_IOS":"Guia per a Stremio Web a iOS","WEBSITE_LINK_ART_V2":"Galeria d\'Art","WEBSITE_PARTNERS":"Socis","WEBSITE_SLOGAN_WATCH":"Veure instantàniament","WEBSITE_SLOGAN_ALL":"Tot el contingut de vídeo que gaudiu d\'un sol lloc","WEBSITE_SLOGAN_NEW":"Tot el que podeu veure","WEBSITE_SLOGAN_NEW_NEW":"Llibertat d\'emissió","WEBSITE_WATCH_FROM":"Veure des de","WEBSITE_DOWNLOAD":"Baixa-ho ara","WEBSITE_DOWNLOAD_FOR":"Baixeu-lo ara per","WEBSITE_IS_DESKTOP":"Stremio és una aplicació d\'escriptori, obriu aquesta pàgina al vostre PC i descarregueu-la","WEBSITE_DESKTOP_DEMO_VID":"Demostració d\'escriptori","WEBSITE_PAGE_HOME":"Inici","WEBSITE_PAGE_FEATURES":"Característiques","WEBSITE_PAGE_ADDONS":"Complements","WEBSITE_PAGE_TECH":"Tecnologia","WEBSITE_PAGE_CREATE_ADDON":"Crea un Complement","WEBSITE_PAGE_CONTACTS":"Contactes","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Si us plau, introdueix la nova contrasenya a continuació.","WEBSITE_RESET_PASSWORD_WARNING":"Esteu segur que voleu restablir la contrasenya de ${1}?","WEBSITE_TYPE_movie":"Pel·lícules","WEBSITE_TYPE_series_PL":"Sèries","WEBSITE_TYPE_tv":"TV en directe","WEBSITE_TYPE_channel":"Canals","WEBSITE_STREMIO_WHAT_IS":"Stremio és una aplicació que us ajuda a organitzar i veure a l\'instant els vostres vídeos, pel·lícules, sèries i canals de televisió preferits.","WEBSITE_FEATURES_WATCH":"Veure instantàniament en HD","WEBSITE_FEATURES_WATCH_DETAIL":"Feu clic i reproduïu els vostres pel·lícules, programes de televisió, vídeos i canals de TV preferits.","WEBSITE_FEATURES_SUBS":"Subtítols automàtics","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio selecciona automàticament els subtítols sincronitzats per al vostre idioma.","WEBSITE_FEATURES_SUBS_LABEL":"Tu mous, mestre.","WEBSITE_FEATURES_CAST":"Reprodueix a la TV i dispositius mòbils","WEBSITE_FEATURES_CAST_DETAIL":"Emet a AppleTV, Chromecast, Smart TV (DLNA/UPnP) i dispositius mòbils.","WEBSITE_LIB":"Gaudeix de la teva biblioteca personal sincronitzada en tots els teus dispositius","WEBSITE_LIB_COLLECT":"Recopila informació d\'Stremio","WEBSITE_LIB_IMPORT":"Importa de Facebook","WEBSITE_LIB_LOCAL":"Afegeix des del vostre disc local","WEBSITE_BOARD":"El tauler - El lloc principal per a Notificacions i Recomanacions","WEBSITE_BOARD_RECOMMEND":"Programa de televisió recomanat","WEBSITE_BOARD_TRENDING":"Tendències de pel·lícules","WEBSITE_BOARD_NEW":"Nou vídeo","WEBSITE_BOARD_EPISODE":"Nou episodi","WEBSITE_BOARD_1":"Busqueu alguna cosa interessant per veure? Obteniu recomanacions segons el vostre gust!","WEBSITE_BOARD_2":"Sigues notificat quan surti un nou episodi del vostre programa de televisió o canal de YouTube preferit.","WEBSITE_BOARD_YOUTUBE":"Nous vídeos de canals de YouTube","WEBSITE_BOARD_EPISODES":"Nous episodis de sèries que seguiu","WEBSITE_ADDONS":"Complements de contingut","WEBSITE_TECH_DETAIL":"Ens encanta la tecnologia, ens encanta la ciència boja!\\nStremio utilitza les següents tecnologies de codi obert:","WEBSITE_TECH_WCJS":"WebChimera.js permet a Stremio reproduir qualsevol format de vídeo amb un bon rendiment.","WEBSITE_TECH_WCJS_EXTRA":"Som col·laboradors principals del projecte","WEBSITE_TECH_ELECTRON":"Electron proporciona una plataforma innovadora per construir Stremio.","WEBSITE_TECH_ELECTRON_EXTRA":"Som col·laboradors del projecte","WEBSITE_TECH_LINVODB":"Una tecnologia de base de dades que garanteix que les vostres dades estiguin organitzades i disponibles a qualsevol lloc on us inicieu la sessió.","WEBSITE_TECH_LINVODB_EXTRA":"Tecnologia pròpia","WEBSITE_CREATE_ADDON":"Creeu el vostre complement","WEBSITE_CREATE_ADDON_DETAIL":"Teniu un servei que proporcioni contingut de vídeo? Us ajudarem a beneficiar-vos de les funcions d\'Stremio creant el vostre complement","WEBSITE_CREATE_ADDON_BENEFITS":"Avantatges de crear un complement per a Stremio","WEBSITE_P2P_BEAUTY":"La bellesa de la transmissió d\'igual a igual (P2P)","WEBSITE_P2P_1":"Vídeo HD / 4K fiable i assequible a petició o en directe","WEBSITE_P2P_2":"Plataforma de distribució que proporciona una gran experiència d\'usuari","WEBSITE_P2P_3":"Crearem un complement que compleixi les vostres necessitats exactes","WEBSITE_P2P_CONTACT":"T\'interessa? Et convidem a <a href=\'mailto:office@stremio.com\'>contactar-nos</a>.","WEBSITE_P2P_CONTACT_EXTRA":"Estarem encantats d\'ajudar-vos a integrar el vostre contingut amb Stremio!","WEBSITE_P2P":"De tant en tant, arriba una tecnologia que canvia el joc. Invertim tones de temps i esforç en la creació del nostre motor de transmissió de vídeo d\'igual a igual (P2P) que proporciona un gran rendiment i versatilitat a adapteu-vos amb qualsevol cas d\'ús.\\nContacteu amb nosaltres per obtenir vídeos P2P habilitats per a DRM a la carta o en directe.","WEBSITE_THOUGHTS":"Pensaments que compartim:","WEBSITE_SPREAD":"Difon la notícia sobre Stremio:","WEBSITE_CONTACT":"Poseu-vos en contacte amb nosaltres, estarem encantats de conèixer-vos!","WEBSITE_OPENSOURCE":"Per als nostres projectes de codi obert, aneu al nostre","WEBSITE_BITCOIN":"Feu una donació de bitcoins:","WEBSITE_FAQ":"Preguntes freqüents","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Preguntes","WEBSITE_TOS":"Condicions d\'ús","WEBSITE_LEGAL":"Legal","WEBSITE_PAGE_ABOUT":"Quant a","WEBSITE_PAGE_BECOME_PARTNER":"Feu-vos soci","WEBSITE_ALL_YOU_CAN_WATCH":"Llibertat de visualització\\nTot el que desitgeu.","WEBSITE_FREEDOM_TO_STREAM":"Llibertat d\'emissió","WEBSITE_WHAT_IS_STREMIO":"Què és Stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio és un centre únic per a l\'agregació de contingut de vídeo. Descobriu, organitzeu i mireu vídeos de tot tipus de fonts en qualsevol dispositiu que tingueu.","WEBSITE_WHAT_IS_STREMIO_P2":"Pel·lícules, programes de televisió, sèries, televisió en directe o canals web com YouTube i Twitch.tv - tot això ho podeu trobar a Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio és un modern centre multimèdia que és una solució única per al vostre entreteniment de vídeo. Descobriu, mireu i organitzeu contingut de vídeo des de complements fàcils d\'instal·lar.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Pel·lícules, programes de televisió, TV en directe o canals web: trobeu tot això a Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Gaudeix en tots els teus dispositius multimèdia","WEBSITE_DEVICES_COLLECT":"Recopila informació d\'Stremio","WEBSITE_DEVICES_IMPORT_FB":"Importa de Facebook","WEBSITE_DEVICES_LOCAL":"Afegeix des del disc local","WEBSITE_JOIN_THE_PARTY_NOW":"Uniu-vos a la festa ara","WEBSITE_DEVICES_ALL":"Fàcil d\'utilitzar en tots els vostres dispositius;","WEBSITE_EXTENDABLE_CATALOG":"Catàleg de vídeo extensible infinitament;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Funcions fantàstiques per organitzar el vostre contingut multimèdia;","WEBSITE_AS_SEEN_ON":"Com es veu a","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"Sobre nosaltres","WEBSITE_LINK_TECHNOLOGY":"Tecnologia","WEBSITE_LINK_APPS":"Aplicacions","WEBSITE_LINK_DOWNLOADS":"Descàrregues","WEBSITE_MORE":"Més","WEBSITE_LINK_ADDONS":"Complements","WEBSITE_LINK_ADDON_SDK":"SDK Complements","WEBSITE_LINK_CONTRIBUTE":"Contribuir","WEBSITE_LINK_COMMUNITY":"Comunitat","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... i més","WEBSITE_LINK_HELP":"Centre d\'ajuda","WEBSITE_LINK_CONTACTS":"Consultes empresarials","WEBSITE_LINK_TOS":"Termes i Condicions","WEBSITE_LINK_PRAVACY":"Política de privacitat","WEBSITE_SUBSCRIBE":"Subscriu-te","WEBSITE_NEWSLETTER":"Uniu-vos al nostre butlletí de coses increïbles","WEBSITE_PLACEHOLDER_EMAIL":"El teu correu electrònic","WEBSITE_COMMUNITY":"Comunitat","WEBSITE_LINK_PRAVACY_LEGAL":"Privadesa i legal","WEBSITE_WHY":"Per què ho fem?","WEBSITE_WHY_P1":"A Stremio, treballem cada dia perquè volem resoldre un problema important per a la indústria del vídeo a la carta. Hi ha tants continguts nous publicats cada minut que és pràcticament impossible trobar-hi el camí.","WEBSITE_WHY_P2":"Ajudem la gent a navegar per aquest enorme món d\'entreteniment en vídeo i a descobrir contingut nou per gaudir-ne. Les nostres aplicacions reuneixen pel·lícules, sèries, TV en directe, canals web i molt més. Ens dediquem a facilitar als usuaris la possibilitat de trobar títols i emissores que els encanten.","WEBSITE_WHY_P3":"Podeu utilitzar el nostre servei en qualsevol dispositiu i en qualsevol moment, cosa que converteix Stremio en l\'únic centre d\'entreteniment de vídeo que necessiteu.","WEBSITE_TEAM":"EQUIP","WEBSITE_TEAM_P":"L\'equip d\'Stremio és petit però potent: entre els deu programem en X idiomes i compartim experiència en desenvolupament de programari, disseny UI i UX, màrqueting i publicitat, i empreses i startups.","WEBSITE_FEATURES":"Característiques","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Descobriu contingut nou amb facilitat","WEBSITE_FEATURES_DISCOVER_P":"Descobriu fàcilment noves pel·lícules, programes de televisió, sèries i canals per veure. Navegueu per categoria, gènere, classificació, actualitat, etc. o simplement escriviu un nom per trobar-lo. Stremio fa que trobar contingut de vídeo nou sigui bufar i fer ampolles.","WEBSITE_FEATURES_ALL_CONTENT":"Tot el contingut de vídeo en una sola pantalla","WEBSITE_FEATURES_ALL_CONTENT_P1":"Vegeu quines pel·lícules, sèries o vídeos no heu acabat i continueu veient-les; rebre notificacions de nous episodis i llançaments; i navegueu per les recomanacions que obtindreu en funció dels vostres hàbits de visualització.","WEBSITE_FEATURES_LIBRARY":"Organitzeu la vostra videoteca","WEBSITE_FEATURES_LIBRARY_P1":"Afegiu qualsevol títol a la vostra biblioteca Stremio amb un sol clic i cerqueu el vostre contingut, ordenat per tipus, actualitat o ordre alfabètic.","WEBSITE_FEATURES_CALENDAR":"Feu un seguiment de tot el que mireu","WEBSITE_FEATURES_CALENDAR_P1":"Obteniu una visualització del calendari de totes les pel·lícules i sèries que afegiu a la biblioteca. Exporteu el calendari Stremio i sincronitzeu-lo perquè sempre sàpiga quan s\'ha de produir un episodi nou o una premier.","WEBSITE_FEATURES_BIG_SCREEN":"Gaudeix del teu contingut de vídeo en una pantalla més gran","WEBSITE_FEATURES_BIG_SCREEN_P1":"Emet qualsevol cosa que estigueu veient a un altre dispositiu, ja sigui un telèfon, una tauleta o un televisor amb un sol clic.","WEBSITE_FEATURES_SOURCES":"Mireu el vídeo de moltes fonts diferents","WEBSITE_FEATURES_SOURCES_P":"Instal·leu complements oficials i de la comunitat per gaudir de vídeos provinents de molts proveïdors diferents - tot en una aplicació elegant i fàcil d\'utilitzar.","WEBSITE_CREATE_AN_ADDON":"Creeu un complement","WEBSITE_FEATURES_SYNC":"Sincronitzeu la biblioteca entre diferents dispositius i repreneu la reproducció","WEBSITE_FEATURES_SYNC_P1":"Inicieu la sessió amb el vostre compte a tots els vostres dispositius i gaudiu de la vostra biblioteca, complements, reproducció i calendari sincronitzats.","WEBSITE_FEATURES_EXTENDABLE":"Catàleg de vídeo ampliable amb complements","WEBSITE_FEATURES_EXTENDABLE_P1":"El catàleg de complements Stremio proporciona diversos complements per instal·lar i veure una gran varietat de contingut de vídeo. Això inclou pel·lícules, programes, TV en directe, esports, notícies, podcasts, canals web, videojocs i molt més.","WEBSITE_FEATURES_AUTO_SUBS":"Subtítols automàtics","WEBSITE_FEATURES_AUTO_SUBS_P1":"Amb els nostres complements de subtítols obtindreu opcions seleccionades automàticament per al vostre idioma preferit.","WEBSITE_FEATURES_CHROMECAST":"Emetent a Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Gaudeix del contingut de vídeo en una pantalla més gran o simplement emet el que estiguis mirant a un altre dispositiu.","WEBSITE_FEATURES_KEEP_TRACK":"Feu un seguiment dels vostres programes de televisió i canals web preferits","WEBSITE_FEATURES_KEEP_TRACK_P1":"Obteniu una visualització del calendari i notificacions de capítols nous de les vostres sèries i canals web preferits.","WEBSITE_FEATURES_POWER_USER":"Funcions d\'usuari avançat","WEBSITE_FEATURES_POWER_USER_P1":"Reprodueix en un reproductor extern","WEBSITE_FEATURES_POWER_USER_P2":"Reprodueix des d\'un fitxer torrent o un enllaç magnètic","WEBSITE_FEATURES_POWER_USER_P3":"Importa a la teva biblioteca des de m\'agrada de Facebook o discs locals","WEBSITE_ADD_ONS":"Complements","WEBSITE_ADD_ONS_P1":"Tot el contingut de vídeo que proporciona Stremio s\'obté a través d\'un sistema de complements - no hi ha cap contingut ni proveïdor de contingut integrat a l\'aplicació.","WEBSITE_ADD_ONS_P2":"Hi ha dos grups de complements disponibles: complements oficials i de comunitat.","WEBSITE_ADD_ONS_P3":"Els oficials són desenvolupats i allotjats per Stremio, mentre que els complements de la comunitat els creen els membres de la comunitat, que també els allotgen.","WEBSITE_ADDONS_OFFICIAL":"Complements oficials","WEBSITE_ADDONS_WATCHUB":"Reprodueix les teves pel·lícules, sèries i programes preferits de proveïdors com iTunes, Hulu, Amazon i altres serveis del Regne Unit i dels Estats Units.","WEBSITE_ADDONS_YOUTUBE":"Mireu els vostres canals de YouTube preferits sense anuncis i obteniu notificacions de les contribucions que heu seguit sobre les càrregues noves.","WEBSITE_ADDONS_FILMON":"Mireu TV en directe, pel·lícules i televisió social de franc. 600 canals de televisió, 45.000 pel·lícules gratuïtes, documentals i molt més.","WEBSITE_ADDONS_OPENSUBTITLES":"Subtítols de pel·lícules i TV en diversos idiomes, milers de subtítols traduïts penjats cada dia.","WEBSITE_ADDONS_COMMUNITY":"Complements de la comunitat","WEBSITE_ADDONS_FILMON_VOD":"Mireu el vídeo a la carta de Filmon.tv","WEBSITE_ADDONS_TWICH":"Mireu en directe des de Twitch.tv - una plataforma de transmissió de vídeo per a la indústria dels esports electrònics.","WEBSITE_ADDONS_VODO":"Mireu pel·lícules independents de forma totalment gratuïta.","WEBSITE_ADDONS_NETFLIX":"Mireu pel·lícules i sèries web de Netflix.","WEBSITE_ADDONS_CREATE":"Creeu un complement","WEBSITE_ADDONS_CREATE_P1":"Si ho desitgeu, podeu desenvolupar el vostre propi complement. D\'aquesta manera, podeu oferir a vosaltres mateixos i a la nostra comunitat accés a contingut de vídeo nou i arribar a un públic nou i dirigit de milions d\'usuaris de tot el món.","WEBSITE_ADDONS_START_CREATE":"Per començar, visiteu la pàgina del SDK de Complements Stremio:","WEBSITE_DOWNLOADS":"Descàrregues","WEBSITE_DOWNLOADS_P1":"Per obtenir un rendiment òptim, us recomanem que utilitzeu la versió més recent disponible de les aplicacions Stremio. Tanmateix, si per algun motiu voleu utilitzar una versió anterior, la podeu descarregar aquí.","WEBSITE_DOWNLOADS_P1_SHORT":"Per obtenir un rendiment òptim, us recomanem que utilitzeu la versió més recent disponible de les aplicacions d\'Stremio.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio per a Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio per a macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio per a Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio per a Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio per a Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio per a Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio per a Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio per a iOS (versió limitada)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio per a televisors Samsung","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio per a televisors LG","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio per a Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio per a Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio per a Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio per al Navegador","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Cerca Stremio a l\'App Store dels models de televisors Samsung de 2019 i posteriors","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Cerca Stremio a l\'App Store dels models de televisors LG de 2020 i posteriors","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Cerca Stremio a l\'App Store del teu dispositiu Xbox","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Descarrega el Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service és una aplicació auxiliar per a Stremio Web. Us recomanem que utilitzeu la darrera versió disponible del Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service per Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service Per macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service per Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service per Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"Més Opcions De Descàrrega","WEBSITE_DOWNLOAD_NEW":"Nou!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"Hem publicat Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"Hem publicat Stremio per a televisors Samsung","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"Hem publicat Stremio per a televisors LG","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"Hem publicat Stremio per a Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"Hem publicat Stremio per a Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"La plataforma Stremio és de codi obert i podeu crear fàcilment un complement per al contingut que actualment no existeix.","WEBSITE_CONTRIBUTE_WHY":"Per què heu de crear un complement?","WEBSITE_CONTRIBUTE_WHY_P1":"Arribeu a un públic nou pel contingut del vostre vídeo","WEBSITE_CONTRIBUTE_WHY_P2":"La base d\'usuaris d\'Stremio creix ràpidament - el primer any del llançament, Stremio va guanyat un milió d\'usuaris a tot el món i, el segon any d\'existència de la plataforma, aquest nombre va créixer fins als 2,5 milions.","WEBSITE_CONTRIBUTE_WHY_P3":"Amb el vostre complement, podeu arribar fàcilment a aquest públic i distribuir-hi el vostre contingut de vídeo.","WEBSITE_CONTRIBUTE_ALL":"Mireu les vostres pel·lícules, vídeos, sèries i canals preferits en un sol lloc.","WEBSITE_CONTRIBUTE_ALL_P1":"Sou fans d\'un tipus de contingut concret que encara no està disponible a Stremio? Crea un complement i gaudeix veient els teus vídeos preferits en un dels centres d\'entreteniment més grans i fàcils d\'utilitzar del mercat.","WEBSITE_CONTRIBUTE_ALL_P2":"A més, obtindreu l\'agraïment interminable d\'altres membres de la comunitat Stremio amb idees semblants.","WEBSITE_CONTRIBUTE_MONETIZE":"Obteniu ingressos del vostre complement i guanyeu diners amb la seva ajuda","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Un cop hàgiu desenvolupat un nou complement per a Stremio, podeu obtenir ingressos fàcilment a través de diverses maneres. Si ho teniu en compte, no dubteu a posar-vos en contacte amb nosaltres a ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - estarem encantats de consultar-los i assessorar-vos sobre les opcions de monetització dels complements.","WEBSITE_CONTRIBUTE_TRANSLATE":"Feu-vos traductor voluntari","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Si voleu gaudir de les aplicacions Stremio en diferents idiomes, podeu unir-vos a la nostra comunitat de traductors voluntaris. Ens ajuden a afegir versions d\'Stremio en molts idiomes diferents.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Teniu moltes ganes de començar?","WEBSITE_TRANSALTE_STREMIO":"Tradueix Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Comunitats oficials","WEBSITE_COMMUNITY_OFFICIALS_P1":"Formeu part de la creixent comunitat Stremio. Seguiu-nos a les xarxes socials i no tingueu por de saludar - ens encanta escoltar els nostres fans! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Comunitats no oficials","STREMIO_COMMUNITY_NL":"Stremio Països Baixos","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Alemanya","STREMIO_COMMUNITY_BELGIUM":"Stremio Bèlgica","STREMIO_COMMUNITY_FRANCE":"Stremio França","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Itàlia","STREMIO_COMMUNITY_UK":"Stremio Regne Unit","STREMIO_COMMUNITY_USA":"Stremio EUA","STREMIO_COMMUNITY_MEXICO":"Stremio Mèxic","STREMIO_COMMUNITY_ADDONS":"Complements Stremio","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Socis i simpatitzants","WEBSITE_COMMUNITY_GOODIES":"Llaminadures Stremio","WEBSITE_COMMUNITY_WALLPAPERS":"Fons de pantalla","WEBSITE_COMMUNITY_ART":"Galeria d\'Art de la Comunitat","WEBSITE_LINK_ART":"Galeria d\'art de la comunitat","WEBSITE_CONTACT_US":"Contacteu-nos","WEBSITE_CONTACT_US_P1":"Si teniu cap pregunta, comentari o suggeriment, no dubteu a posar-vos en contacte amb nosaltres a través del formulari de contacte següent.","WEBSITE_CONTACT_US_P2":"Tingueu en compte que estem ubicats a Bulgària, de manera que pot haver-hi un retard en atendre la vostra consulta a causa de les diferències de zona horària.","WEBSITE_CONTACT_US_SUCCESS":"El teu missatge ha estat enviat. Ens posarem en contacte amb vostè el més aviat possible.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Introduïu un correu electrònic vàlid!","WEBSITE_CONTACT_US_Q_RELATED_TO":"Amb què està relacionada la vostra pregunta?","WEBSITE_CONTACT_US_Q_OS":"Quin és el vostre Sistema Operatiu?","WEBSITE_CONTACT_US_PH_EMAIL":"El teu correu electrònic","WEBSITE_CONTACT_US_PH_MESSAGE":"Missatge","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"ENVIAR","WEBSITE_CONTACT_US_Q_1":"Com instal·lar?","WEBSITE_CONTACT_US_Q_2":"Com es desinstal·la?","WEBSITE_CONTACT_US_Q_3":"(HTML) Com fer lasanya?","WEBSITE_CONTACT_US_Q_4":"Complements","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Tecnologia","WEBSITE_TECHNOLOGY_P1":"Ens encanta la tecnologia i la ciència boja. </br> Això és el que potencia Stremio (tot és de codi obert).","WEBSITE_TECHNOLOGY_P_QT":"Desenvolupament de programari multiplataforma al màxim.","WEBSITE_TECHNOLOGY_P_MPV":"Un reproductor multimèdia gratuït, de codi obert i multiplataforma.","WEBSITE_TECHNOLOGY_P_RN":"React Native us permet crear aplicacions per a mòbils només amb JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Framework multimèdia incrustat a l\'aplicació per obtenir multimèdia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm és una plataforma mòbil i un substitut de SQLite i Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js és un entorn de temps d\'execució de JavaScript de multiplataforma i de codi obert.","WEBSITE_TECHNOLOGY_P_RUST":"Rust és un llenguatge de programació de sistemes multi-paradigma centrat en la seguretat, sobretot la concurrència.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribuir al projecte","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Hi ha dues maneres de contribuir a Stremio i ajudar-nos a millorar el producte.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Podeu donar les vostres valuoses habilitats lingüístiques traduint la plataforma ...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"o bé","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... podeu emprar les vostres habilitats de codificació per crear complements de la comunitat. ","WEBSITE_TRANSLATE_STREMIO":"Tradueix Stremio","WEBSITE_404_OH_NO":"Uh-oh! La pàgina que cerqueu no és aquí...","WEBSITE_GO_HOME":"Anar a l\'inici","WEBSITE_LINK_OTHER_DOWNLOADS":"Altres descàrregues","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Suport","WEBSITE_DOWNLOAD_4_0_BETA":"Descarregueu Stremio 4 beta ara","WEBSITE_GET_FOR_DESKTOP":"Per a escriptori","WEBSITE_LINK_ADDON_COMPETITION":"Competició de complements","WEBSITE_LINK_ART_CONTEST":"Concurs d\'art","WEBSITE_MY_ACCOUNT":"El meu compte","WEBSITE_MAINPAGE_FAQ_001_H1":"Què és Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio és un modern centre de comunicació que us ofereix la llibertat de veure tot el que desitgeu.","WEBSITE_MAINPAGE_FAQ_002_H1":"Com funciona?","WEBSITE_MAINPAGE_FAQ_002_P1":"Un cop instal·leu Stremio al dispositiu i creeu un compte, tot el que heu de fer és visitar el catàleg de complements i instal·lar qualsevol que vulgueu, i llestos!","WEBSITE_MAINPAGE_FAQ_002_P2":"Després d\'això, podeu anar a les seccions Descobreix o Tauler per començar a explorar el contingut.","WEBSITE_MAINPAGE_FAQ_003_H1":"Què puc veure aquí?","WEBSITE_MAINPAGE_FAQ_003_P1":"Molt: pel·lícules, programes de televisió, canals web, esports, canals de TV, escoltar podcasts i molt més. Gràcies al nostre sistema de complements, podeu accedir a diversos continguts.","WEBSITE_MAINPAGE_FAQ_004_H1":"Stremio és de codi obert?","WEBSITE_MAINPAGE_FAQ_004_P1":"Sí, podeu consultar els enllaços següents: ${1}aplicació d\'escriptori${2} i ${3}organització GitHub${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"És segur Stremio?","WEBSITE_MAINPAGE_FAQ_005_P1":"Sí: com que és programari de codi obert, el codi es pot auditar públicament i el podeu revisar vosaltres mateixos.","WEBSITE_MAINPAGE_FAQ_005_P2":"El sistema de complements d\'Stremio també va ser creat tenint en compte la seguretat de l\'usuari. Els complements no executen cap codi localment, de manera que no suposen cap risc pel teu dispositiu.","WEBSITE_MAINPAGE_FAQ_006_H1":"I la meva privadesa?","WEBSITE_MAINPAGE_FAQ_006_P1":"Respectem la privadesa dels usuaris i no recopilem cap dada personal a més del mínim essencial per crear i sincronitzar el vostre compte.","WEBSITE_MAINPAGE_FAQ_006_P2":"També hi ha un ${1}mode de convidat${2} al registre, que no requereix cap mena de dades: en aquest mode, no es realitzen crides al nostre backend. No obstant, a costa de funcions útils com ara poder sincronitzar la biblioteca entre dispositius.","WEBSITE_MAINPAGE_FAQ_007_H1":"Puc emetre al meu televisor?","WEBSITE_MAINPAGE_FAQ_007_P1":"Sí, donem suport a Chromecast i podeu emetre-les des d\'aplicacions d\'escriptori i mòbils (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"Quants complements té Stremio?","WEBSITE_MAINPAGE_FAQ_008_P1":"A finals de 2019, més de 50 - per a més informació, consulteu el nostre catàleg de complements.","WEBSITE_MAINPAGE_FAQ_009_H1":"Es pot ampliar Stremio més enllà del que hi ha al catàleg de complements?","WEBSITE_MAINPAGE_FAQ_009_P1":"Sí, hauríeu de comprovar els següents: ${1}PimpMyStremio${2}, ${3}comunitats Reddit${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"Quins dispositius admeten Stremio?","WEBSITE_MAINPAGE_FAQ_010_P1":"Disposem d\'aplicacions d\'escriptori per a Windows, Mac i Linux. Per a mòbils, admetem Android i iOS, tot i que tingueu en compte que la funcionalitat d\'IOS és limitada (no admet la majoria dels complements).","WEBSITE_MAINPAGE_FAQ_010_P2":"Hi ha molts dispositius basats en Android en els quals podeu executar Stremio, com NVIDIA Shield i Amazon Fire Stick, però no els admetem oficialment.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"Tenim aplicacions d\'escriptori per a Windows, Mac i Linux. També tenim aplicacions dedicades per a dispositius mòbils Android i Android TV. Per a iOS i iPadOS, suggerim utilitzar Stremio Web, tot i que té una funcionalitat més limitada.","WEBSITE_MAINPAGE_FAQ_011_H1":"Podeu afegir un determinat contingut a Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Ho sentim, nosaltres mateixos no proporcionem contingut, però com més complements Stremio tingueu instal·lats, més contingut podreu trobar.","WEBSITE_MAINPAGE_FAQ_012_H1":"Pot Stremio reproduir enllaços magnètics?","WEBSITE_MAINPAGE_FAQ_012_P1":"Sí, i també pot reproduir enllaços HTTP normals i fitxers torrent (arrossegar i deixar anar)..","WEBSITE_MAINPAGE_FAQ_013_H1":"Puc descarregar un vídeo i mirar-lo fora de línia?","WEBSITE_MAINPAGE_FAQ_013_P1":"Disponible fora de línia és una característica pròxima, però si permeteu que Stremio emmagatzemi memòria cau al dispositiu (des del tauler de configuració) podreu veure els vídeos més endavant sense connexió.","WEBSITE_MAINPAGE_FAQ_014_H1":"Res funciona, ajuda\'m!","WEBSITE_MAINPAGE_FAQ_014_P1":"Esteu segur que teniu instal·lats complements? Si és així, consulteu el nostre ${1}centre d\'ajuda${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"Com manté Stremio les seves operacions de desenvolupament?","WEBSITE_MAINPAGE_FAQ_015_P1":"Publiquem anuncis no intrusius de tant en tant, però estem considerant passar a un model de donació.","WEBSITE_MAINPAGE_FAQ_015_P2":"Per obtenir més preguntes, aneu al nostre ${1}centre d\'ajuda${2}.","HELP_LEARN_MORE":"Ajudeu-nos a obtenir més informació sobre vosaltres.","LIFESTYLE":"Estil de vida","SPORTS":"Esports","FOOD_HEALTH":"Alimentació i salut","BEAUTY_FASHION":"Bellesa i moda","NEWS":"Notícies","GAMING":"Videojocs","SCIENCE_EDUCATION":"Ciència i educació","MUSIC":"Música","TRAVEL":"Viatges","LATE_NIGHT":"Late Night","REALITY":"Reality","COMEDY":"Comèdia","DIY":"Fes-ho tu mateix (DIY)","TECH":"Tecnologia","CINEMA":"Cinema","CONTINUE":"Continua","SLOW_LOADING":"CÀRREGA LENTA?","I_GIVE_UP":"EM RENDEIXO","LEARN_MORE":"Aprèn més","POOR_SOURCE":"Aquesta font té poca disponibilitat o la vostra connexió a Internet no és prou ràpida","PICK_CATEGORIES_ERR":"Heu de triar com a mínim 3 categories","ADJUST_TIMING":"Ajusteu el temps amb ","ADJUST_SIZE":"Ajusta la mida amb ","SEARCH_ANYTHING":"Podeu cercar qualsevol cosa...","ALL_CATEGORIES":"Tots","SEARCH_CATEGORIES":"Pel·lícules, Sèries, YouTube i TV","SEARCH_PERSONS":"Actors, directors i escriptors","SEARCH_PROTOCOLS":"Enllaços HTTP i magnètics","SEARCH_TYPES":"Enllaços IMDB / TVDB","WATCHED":"Vist","SHOW_LESS":"Mostrar menys","LAST_SEARCHES":"Darreres cerques","CLEAR_HISTORY":"Neteja l’historial","CHOOSE_SOME":"TRIA ALGUNS D\'AQUEST:","NO_WEB_REMOTE":"No s\'ha pogut carregar el comandament a distància web","STREMIO_OFFLINE":"Stremio està fora de línia","STREMIO_EXPENSIVE_CONNECTION":"Hem detectat que utilitzeu una connexió de dades mòbils, voleu continuar?","USE_DATA":"Utilitzeu dades","WARNING":"Avís","MORE_INFO":"Més informació ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Carregant ...","STREMIO_TV_BACK_TO_LANGUAGES":"Torna als idiomes","STREMIO_TV_REMOTE":"Remot","STREMIO_TV_GO_TO":"Anar a:","STREMIO_TV_OR_SCAN":"o escaneja:","STREMIO_TV_ADDON_INSTRUCTIONS":"Seguiu les instruccions per instal·lar els vostres complements preferits.","STREMIO_TV_LIVE_TV":"TV en directe","STREMIO_TV_RESUME_WATCHING":"Reprèn la visualització","STREMIO_TV_LOADING_BACKGROUND":"Carregant el fons","STREMIO_TV_CHECKING_AUTHENTICATION":"Comprovant l\'autenticació","STREMIO_TV_LOADING_BOARD":"Carregant el Tauler","STREMIO_TV_LOGIN_HEADER_LINE_1":"Volem que els nostres usuaris tinguin la millor experiència personalitzada possible amb el nostre programari.","STREMIO_TV_LOGIN_HEADER_LINE_2":"És per aquest motiu que us demanem que creeu i/o inicieu sessió al vostre compte.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Gràcies per la comprensió,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"L\'equip d\'Stremio","STREMIO_TV_REMOTE_INSTRUCTIONS":"Per utilitzar el comandament a distància web amb el vostre telèfon / tauleta / escriptori:","STREMIO_TV_WIFI_SETUP":"Configuració Wi-Fi","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle no ha detectat connexió a Internet.","STREMIO_TV_WIFI_DETAILS_1":"Connecta\'t amb:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Utilitzeu la contrasenya:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Obriu un navegador web amb l\'enllaç:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Per defecte","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"Per Última Visualització","STREMIO_TV_LIBRARY_SORT_NAME":"Per Nom","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"Per Nom Descendent","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"Per Vegades Vist","STREMIO_TV_LIBRARY_SORT_WATCHED":"Per Vistos","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"Per No Vistos","STREMIO_TV_DETAILS_SEASON_NUMBER":"Temporada ${1}","STREMIO_TV_STREAMS_LOADING":"Carregat ${1} / ${2} complements...","STREMIO_TV_STREAMS_STILL_LOADING":"Complement ${1} encara està carregant...","STREMIO_TV_PLAYER_SETTINGS":"Configuració del Reproductor","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Retard dels subtítols","STREMIO_TV_PLAYER_AUDIO_DELAY":"Retard d\'àudio","STREMIO_TV_PLAYER_VIDEO_SCALING":"Escalat de vídeo","STREMIO_TV_PLAYER_CHAPTERS":"Capítols","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Salta ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Font de reproducció no compatible","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"No s\'ha pogut obrir l\'enllaç extern","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"No es pot ajustar en el mode d\'àudio passthrough","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Reprodueix amb ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Reprodueix amb el reproductor libVLC","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Canviant al reproductor libVLC a causa d\'un error de reproducció","STREMIO_TV_ADDONS_TITLE":"Utilitzeu Stremio al vostre telèfon o PC per instal·lar o configurar complements i premeu \\"Sincronitza complements\\"","STREMIO_TV_ADDONS_SUBTITLE":"Nota: assegureu-vos que feu servir el mateix compte d\'Stremio","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sincronitza complements","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Els complements s\'han sincronitzat correctament","STREMIO_TV_ADDONS_SYNC_FAILED":"No s\'han pogut sincronitzar els complements","STREMIO_TV_META_LINK_FAILED":"No s\'ha pogut obrir el metaenllaç","STREMIO_TV_CATALOG_LOADING":"El catàleg encara s\'està carregant...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Idioma de la interfície actualitzat","STREMIO_TV_SETTINGS_THEME_UPDATED":"Tema actualitzat","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Reproductor per Defecte","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Reproductor Extern","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Idioma preferit","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Idioma secundari preferit","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Reproducció en túnel","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possibles problemes de reproducció en alguns dispositius","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"És possible que alguns formats de vídeo no funcionin","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Coincidir la velocitat de fotogrames","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Desactivat","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Només velocitat de fotogrames","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Velocitat de Fotogrames i Resolució","STREMIO_TV_SETTINGS_NO_CACHING":"Sense memòria cau","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Per defecte","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Suau","STREMIO_TV_SETTINGS_PROFILE_FAST":"Ràpid","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra-Ràpid","STREMIO_TV_SETTINGS_SERVER_URL":"URL del servidor de transmissió","STREMIO_TV_SETTINGS_SERVER_VERSION":"Versió del servidor","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Desconegut","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Versió d\'Stremio","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Edita l\'URL del servidor","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Introduïu l\'URL d\'un servidor de transmissió","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Mostra les estadístiques mentre es carrega","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"Per llegir la Política de Privadesa d\'Stremio, visiteu:","STREMIO_TV_SETTINGS_TOS_TEXT":"Per llegir els Termes i Condicions d\'Stremio, visiteu:","STREMIO_TV_NAV_SEARCH":"Cerca","STREMIO_TV_NAV_HOME":"Inici","STREMIO_TV_NAV_DISCOVER":"Descobreix","STREMIO_TV_NAV_LIBRARY":"Biblioteca","STREMIO_TV_NAV_MOVIES":"Pel·lícules","STREMIO_TV_NAV_SERIES":"Sèries","STREMIO_TV_NAV_CHANNELS":"Canals","STREMIO_TV_NAV_TV":"TV en directe","STREMIO_TV_NAV_SETTINGS":"Configuració","STREMIO_TV_NAV_ADDONS":"Complements","STREMIO_TV_LOGIN_TITLE":"Enllaça Compte","STREMIO_TV_LOGIN_EXPIRES_IN":"Caduca en","STREMIO_TV_LOGIN_STEP_ONE":"Escaneja el codi QR de dalt o ves a","STREMIO_TV_LOGIN_STEP_TWO":"Inicieu sessió al vostre compte Stremio","STREMIO_TV_LOGIN_NEW_LINK":"Demana un enllaç nou","STREMIO_TV_LOGIN_LINK_REFRESHED":"S\'ha actualitzat el codi d\'inici de sessió","STREMIO_TV_SEARCH_PLACEHOLDER":"Escriu alguna cosa","STREMIO_TV_SEARCH_NO_ADDONS":"No s\'han demanat complements per als catàlegs!","STREMIO_TV_SEARCH_BUTTON":"Cerca","STREMIO_TV_SEARCH_KEY_DEL":"Supr","STREMIO_TV_SEARCH_KEY_SPACE":"Espai","STREMIO_TV_SEARCH_KEY_CLEAR":"Retrocés","STREMIO_TV_SEARCH_HISTORY_TITLE":"Historial de cerques","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Pots cercar Títols, Actors, Canals i més...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Esborrar l\'historial de cerques","STREMIO_TV_FILTERS_DESCRIPTION":"Trieu un dels filtres següents","STREMIO_TV_STREAMING_SERVER_OFFLINE":"El servidor d\'emissió està fora de línia. Comproveu la configuració del servidor.","FILTERS":"Filtres","SETTINGS":"Configuració","ACCOUNT":"Compte","LOGOUT":"Tancar sessió","THEMES":"Temes","PLAYBACK":"Reproducció","PLAYBACK_SPEED":"Velocitat de reproducció","AUDIO_TRACKS":"Pistes d\'Àudio","UNKNOWN_TRACK_LANG":"Desconegut","VIDEOS":"Vídeos","SERVER":"Servidor","LINKS":"Enllaços","ABOUT":"Quant a","INTERFACE":"Interfície","ANIMATIONS":"Animacions","STATUS":"Estat","LANGUAGE":"Idioma","SIZE":"Mida","DELAY":"Retard","BOLD":"Negreta","OPACITY":"Opacitat","TEXT_COLOR":"Color del text","OUTLINE_COLOR":"Color del contorn","BACKGROUND_COLOR":"Color de fons","BACKGROUND_BLUR":"Desenfocament de fons","SEEK_TIME_DURATION":"Cerca la durada del temps","AUTO_PLAY":"Reprodueix automàticament el següent episodi","PLAY_NOW":"Reprodueix Ara","MARK_AS_WATCHED":"Marca com a Vist","MARK_AS_UNWATCHED":"Marca com a No vist","REWIND_TO_BEGINNING":"Rebobina al principi","CONTINUE_WATCHING":"Continuar Mirant","ALL":"Tot","SECONDS":"segons","ON":"ON","OFF":"OFF","RELOAD":"Recarrega","EDIT_URL":"Edita l\'URL","NONE":"Cap","EMBEDDED":"Incrustat","REMOTE_SWITCH_DEVICES":"Canviar dispositius","REMOTE_VIDEOS":"Vídeos","REMOTE_ADJUST_TIMING":"Ajusteu el temps","REMOTE_ADJUST_SIZE":"Ajusta la mida","REMOTE_COULD_NOT_BE_LOADED":"No s\'ha pogut carregar el comandament a distància web","REMOTE_RETRY":"Reintentar","TORRENT_PROFILE_DEFAULT":"Per defecte","TORRENT_PROFILE_SOFT":"Suau","TORRENT_PROFILE_FAST":"Ràpid","TORRENT_PROFILE_ULTRA_FAST":"Ultra-Ràpid","FAQ_001_H1":"Què és Stremio?","FAQ_001_P1":"Stremio és un centre multimèdia dissenyat per a l\'entreteniment en vídeo tenint en compte la facilitat d\'ús. Stremio us permet organitzar &amp; mirar la vostra pròpia col·lecció de pel·lícules, sèries, canals i TV en directe.","FAQ_001_P2":"Stremio recopila el contingut que us mostra del vostre disc local i del nostre sistema de complements.","FAQ_001_P3":"També us notificarà quan surten nous episodis/vídeos/pel·lícules que us interessin i us recomanarà pel·lícules.","FAQ_02_H1":"Com es compara Stremio amb Kodi i Plex?","FAQ_02_P1":"Ens inspiren aquests dos programes. Però tenim objectius diferents - Stremio s\'orienta específicament cap al entreteniment en vídeo i s\'esforça per convertir-se en la solució principal per ser molt fàcil d\'utilitzar.","FAQ_02_P2":"Stremio mai serà tan personalitzable i ric en funcions com Kodi i Plex, però és molt més fàcil d\'utilitzar. Només ${1} proveu-lo i veureu ${2} :)","FAQ_03_H1":"Com es compara Stremio amb Netflix?","FAQ_03_P1":"Una vegada més, Netflix és una de les nostres inspiracions. Ens esforcem per aconseguir l\'experiència d\'usuari de Netflix, a més d\'un munt de coses addicionals. Però el més important és que us oferim la llibertat de gestionar la vostra pròpia biblioteca i afegir noves fonts de contingut amb el nostre sistema de complements.","FAQ_03_P2":"Això fa que Stremio sigui infinitament extensible, de manera que quan feu servir Stremio mai no es limita al contingut que Netflix decideix llicenciar. Per exemple, mitjançant Stremio podeu veure contingut de ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} i fins i tot el mateix ${9}Netflix${10}!","FAQ_04_H1":"Com es compara Stremio amb Flipboard?","FAQ_04_P1":"Aquesta pregunta no ens arriba tan sovint, excepte quan parlem amb emprenedors :)","FAQ_04_P2":"Stremio és per disseny d\'un agregador de continguts, que bàsicament el converteix en Flipboard per a vídeo. Això és molt evident a la nostra secció de Tauler, que us proporciona catàlegs i notificacions de episodis/vídeos nous del que seguiu, igual que Flipboard.","FAQ_05_H1":"Com es compara Stremio amb Popcorn Time?","FAQ_05_P1":"Stremio i Popcorn Time són similars a la interfície d\'usuari, perquè no hi ha moltes maneres de fer els catàlegs d\'entreteniment de vídeo correctament :)","FAQ_05_P2":"Però, mentre que Popcorn Time se centra en la transmissió de torrents de fonts específiques, Stremio no té restriccions i és només un agregador de continguts - no està bloquejat en una font de contingut específica.","FAQ_05_P3":"A més, no proporcionem cap complement de torrent per defecte, de manera que Stremio no cobreix el cas d\'ús Popcorn Time amb la funcionalitat oficial.","FAQ_05_P4":"Una altra diferència notable és que Popcorn Time és completament de codi obert, mentre que Stremio és ${1} parcialment de codi obert${2}.","FAQ_06_H1":"Afegireu aquesta pel·lícula/sèrie?","FAQ_06_P1":"No, ho sento :(","FAQ_06_P2":"Com s\'esmenta a la majoria de les altres preguntes, Stremio no proporciona cap contingut per si mateix - tot s\'afegeix a través del sistema de complements. En cas que tingueu una sol·licitud de contingut, podeu fer servir el botó “Informa” del reproductor, que enviarà un correu electrònic a l\'autor del complement que esteu utilitzant actualment.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Creeu un complement per a X?","FAQ_08_P1":"És del tot possible.","FAQ_08_P2":"Si teniu una idea per a un complement, envieu-nos una línia a ${1}office@stremio.com${2}, però assegureu-vos que la vostra idea de complement no infringeixi cap copyright ni les condicions d\'ús.","FAQ_08_P3":"De moment, les següents coses del nostre full de ruta són complements per a FandangoNOW, el vídeo a la carta de Filmon.tv i Crunchyroll.","FAQ_09_H1":"Stremio utilitza BitTorrent?","FAQ_09_P1":"Sí, Stremio admet BitTorrent com a protocol de transmissió. Podeu fer-ho amb un complement de torrent, arrossegant i deixant anar un fitxer .torrent a Stremio o enganxant un enllaç magnètic a la barra de cerca.","FAQ_09_P2":"Tingueu en compte que l\'únic complement oficial que utilitza BitTorrent és ${1}Vodo${2}, que proporciona contingut independent, tot el que es pot distribuir amb BitTorrent.","FAQ_09_P3":"No admetem l\'ús de complements de tercers que puguin permetre la infracció dels drets d\'autor.","FAQ_10_H1":"Què puc veure a Stremio amb els complements oficials?","FAQ_10_P1":"Per defecte, podeu veure el contingut de Filmon.tv, YouTube i Vodo dins del mateix Stremio, amb el reproductor incrustat. A més, tenim un complement per a Twitch.tv i alguns altres.","FAQ_10_P2":"Aquesta combinació proporciona una selecció de:","FAQ_10_L1":"Canals de televisió populars, proporcionats per Filmon.tv - per exemple E4, BBC, Bollyworld TV","FAQ_10_L2":"Tot des de YouTube - per exemple BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Pel·lícules independents amb Vodo","FAQ_10_L4":"Emissions de jocs en línia amb Twitch.tv","FAQ_10_P3":"A més, hi ha moltes fonts de contingut que es proporcionen amb Guidebox i els complements Netflix, que <b>no</b> es reprodueixen completament dins Stremio, però que redirigiran al servei indicat. Per exemple, el complement Guidebox us proporcionarà una selecció de pel·lícules que podeu reproduir gratuïtament als Estats Units, des de serveis com TubiTV i Crackle.","FAQ_11_H1":"Stremio no s\'instal·la, què he de fer?","FAQ_11_P1":"Si utilitzeu Windows, proveu ${1}aquest instal·lador alternatiu${2}.","FAQ_11_P2":"Si utilitzeu Mac OS X, tingueu en compte que no admetem res més antic que OS X Mavericks (10.9).","FAQ_11_P3":"Si utilitzeu Linux, tingueu en compte que en aquest moment només admetem Linux de 64 bit (x64).","FAQ_11_P4":"Si encara no podeu resoldre el vostre problema, escriviu-nos al nostre ${1}grup de Facebook${2}.","FAQ_12_H1":"Per què es queixa del meu antivirus? És segur Stremio?","FAQ_12_P1":"Us assegurem que Stremio és ${1}100% net${2}.","FAQ_12_P2":"El vostre antivirus es queixa perquè incloem publicitat al nostre instal·lador, que alguns programes antivirus reconeixen com a ad-ware.","FAQ_12_P3":"Si encara no esteu segur, podeu provar el nostre ${1}instal·lador alternatiu${2}.","FAQ_13_H1":"Com puc fer un complement?","FAQ_13_P1":"Per començar, us recomanem que consulteu el nostre ${1}mòdul del sistema de complements${2} a GitHub.","FAQ_13_P2":"Després, podeu seguir el ${1}tutorial Hola Món${2}.","FAQ_13_P3":"Si no teniu cap habilitat de programació, publiqueu la vostra idea a ${1}la comunitat Reddit${2} i poseu-vos en contacte amb nosaltres amb la vostra idea de complement a ${3}office@stremio.com${4}.","FAQ_14_H1":"Com es publiquen els complements?","FAQ_14_P1":"Quan creeu un complement i un host, i col·loqueu un camp <b>endpoint</b> al manifest, que apunti a una adreça de complement funcional, el complement es publicarà automàticament al nostre ${1}catàleg de complements${2}.","FAQ_14_P2":"Això passa perquè la part del servidor del mòdul stremio-addons fa una crida automàticament a la nostra API per anunciar-lo. Quan la nostra API validi el vostre <b>endpoint</b> com a complement vàlid, començarà a aparèixer al catàleg.","FAQ_15_H1":"Puc executar Stremio al meu navegador?","FAQ_15_P1":"De moment no, però s\'acosta!","FAQ_15_P2":"Si teniu curiositat per veure un Alpha, el podeu veure aquí: ${1}alpha4.strem.io${2}. Recordeu que la transmissió està desactivada en aquest alfa. Admetem Chrome, Firefox, Opera i Edge.","FAQ_16_H1":"Emetre a la televisió no funciona / els subtítols no funcionen","FAQ_16_P1":"La transmissió a TV utilitza la tecnologia DLNA, que és molt inconsistent entre les diferents marques i models de televisors. Per aquest motiu, no tenim la capacitat de provar-ho en tots els casos, de manera que no és ni molt menys perfecte. Tot i això, estem treballant per millorar-lo constantment, però no podem proporcionar-vos una estimació de temps sobre quan DLNA començarà a funcionar correctament amb el vostre televisor.","FAQ_16_P2":"Si ni tan sols veieu el televisor al menú d\'emissió, proveu de desactivar la connexió de xarxa i tornar-la a activar (a Windows, feu clic amb el botó dret a la xarxa i utilitzeu Activa/Desactiva), així com reiniciar el router, el televisor i l\'ordinador.","FAQ_16_P3":"Si encara teniu problemes, podeu ajudar-nos enviant la informació de la vostra marca i model de televisió a ${1}office@stremio.com${2}.","FAQ_16_P4":"Mentrestant, recomanem Chromecast, que funciona molt bé, o simplement connecteu el televisor al PC amb un cable HDMI.","FAQ_17_H1":"Stremio es congela o es bloqueja, què puc fer?","FAQ_17_P1":"En primer lloc, si utilitzeu Windows 7 amb antivirus AVG: tenim aquesta problemàtica. El problema es troba en la pròpia AVG i no hi ha cap manera raonable de resoldre-ho per nosaltres mateixos. Malauradament, les excepcions o la desactivació de l\'antivirus no funcionaran. L\'única solució és substituir AVG per un altre.","FAQ_17_P2":"Si aquest no és el problema, però encara esteu utilitzant Windows, actualitzeu-lo a la versió més recent i actualitzeu/reinstal·leu els controladors de la GPU, llavors torneu-ho a provar.","FAQ_17_P3":"Si el problema encara no s\'ha resolt o si utilitzeu un Mac o Linux, escriviu-nos informant dels detalls exactes del problema al ${1}grup de Facebook${2}.","FAQ_18_H1":"Com puc fer un complement?","FAQ_18_P1":"Per començar, us recomanem que consulteu el nostre ${1}mòdul del sistema de complements${2} a GitHub.","FAQ_18_P2":"Després, podeu seguir el ${1}tutorial Hola Món${2}.","FAQ_18_P3":"Si no teniu cap habilitat de programació, publiqueu la vostra idea a ${1}la comunitat Reddit${2} i poseu-vos en contacte amb nosaltres amb la vostra idea de complement a ${3}office@stremio.com${4}.","FAQ_19_H1":"Per què Stremio ocupa espai al disc?","FAQ_19_P1":"Stremio té una <b>memòria cau local</b> per conservar temporalment els fitxers de vídeo que transmets.","FAQ_19_P2":"Això té dos avantatges: en primer lloc, permet a Stremio pre-emmagatzemar el vídeo per garantir una transmissió més fluida. En segon lloc, manté els vídeos a la memòria cau local perquè pugueu continuar veient-los fora de línia.","FAQ_19_P3":"La quantitat que guarda Stremio depèn del paràmetre <b>Memòria cau</b> del tauler de configuració. És possible que Stremio mantingui la quantitat establerta (ex: 2GB) al disc, tret que el vídeo que es reprodueixi actualment sigui més gran que aquest. En aquest cas ha d\'assignar prou emmagatzematge per conservar-lo mentre que l\'estiguis reproduint.","FAQ_20_H1":"On és la carpeta de memòria cau?","FAQ_20_P1":"A Windows, és stremio-cache a la unitat que heu seleccionat a Configuració (per exemple \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"A MacOS, és \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"A Linux, és \\"~/.stremio/stremio-cache\\" o \\"~/stremio-cache\\"","FAQ_21_H1":"Tinc l\'error \\"El servidor de transmissió no s\'ha trobat\\" què puc fer?","FAQ_21_P1":"Si obteniu aquest error, significa alguna d\'aquestes coses:","FAQ_21_P2":"1) Esteu provant d\'utilitzar un complement compatible amb la font de YouTube/BitTorrent a través de la nostra ${1}versió web${2}. En aquest cas, hauríeu d\'instal·lar la nostra versió d\'escriptori des del ${3}nostre lloc web${4}.","FAQ_21_P3":"2) Hi ha un problema amb la instal·lació d\'Stremio. En aquest cas, proveu de tornar a instal·lar la nostra versió d\'escriptori més recent des del ${1}lloc web${2}. Si això no ajuda, proveu de desactivar els programes antivirus i els tallafocs, reinicieu el PC i torneu-ho a provar. Si això també no funciona, escriviu-nos al nostre ${3}grup de Facebook${4}.","FAQ_22_H1":"No puc veure/utilitzar la majoria dels complements a iOS","FAQ_22_P1":"A causa de les restriccions dels termes i condicions de l\'App Store d\'Apple, hem restringit l\'aplicació iOS només a un conjunt concret de complements.","FAQ_22_P2":"Però tingueu la seguretat: hi haurà més complements per a iOS en el futur, i també podem afegir una integració que us permetrà utilitzar tots els complements Stremio gràcies a la connexió de l\'aplicació iOS al servidor de transmissió Stremio."}')},32840:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Film","TYPE_series":"Seriály","TYPE_tv":"Televizní kanál","TYPE_channel":"Kanál","TYPE_other":"Ostatní","TYPE_movie_PL":"Filmy","TYPE_series_PL":"Seriály","TYPE_tv_PL":"Televizní kanály","TYPE_channel_PL":"Kanály","TYPE_other_PL":"Ostatní","TYPE_ALL":"Všechny","TYPE":"Typ","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"Video","BACK":"Dozadu","MORE":"Více","DONE":"Hotovo","COPY":"Kopírovat","SUCCESS":"Success","ERROR":"Error","SETTINGS_CASTING_MODE_PICKER":"Mód vysílání","CASTING_MODE_HLSV2":"Výchozí","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Bez transkodování","Discover":"Objevit","Board":"Rozdání","Library":"Knihovna","My Library":"Moje knihovna","Calendar":"Kalendář","NOTIFICATION_ONLINE":"Nyní jste online","NOTIFICATION_OFFLINE":"V současné době jste offline","INTERNET_CONNECTION":"Připojení k síti","STORAGE_FULL_TITLE":"Varování: Úložiště je plné!","STORAGE_FULL_TEXT":"Stremio nebude moci uložit vaše nastavení, preference ani přihlašovací údaje. Zvažte opětovné spuštění nebo přeinstalování aplikace Stremio.","SEARCH":"hledat","SEARCH_NO_RESULTS":"Nebyly nalezeny žádné výsledky","SEARCH_EXPLANATION_CONTENT":"Vyhledávání filmů, seriálů, YouTube a televizních kanálů","SEARCH_EXPLANATION_PEOPLE":"Hledání herců, režisérů a scénáristů","SEARCH_PASTE_LINKS":"Vkládání odkazů HTTP a Magnet","SEARCH_OR_PASTE_LINK":"Vyhledat nebo vložit odkaz","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"Přidat do knihovny","REMOVE_FROM_LIB":"Odebrat z knihovny","ADDED_TO_LIB":"Přidáno do knihovny","REMOVED_FROM_LIB":"Odstraněno z knihovny","TRAILER":"Ukázka","WATCH_TRAILER":"Sledovat trailer","WATCH_NOW":"Sledujte nyní","SHOW":"Zobrazit","SHOW_MOVIE":"Zobrazit film","WATCH_RANDOM":"Sledovat náhodné","IMDB_RATING":"IMDb hodnocení","YEAR":"Rok","DIRECTOR":"Režie","WRITER":"Spisovatel/ka","LEAD_ACTORS":"Hlavní herci","CAST":"Herec","CREW":"Posádka","SHOW_MORE_CAST":"Zobrazit více »","AIRED":"Vysíláno na","SEASONS":"Série","GENRE":"Žánr","GENRE_ALL":"All genres","CATALOG":"Katalog","SUMMARY":"Shrnutí","SHOW_MORE":"Zobrazit více","SIMILAR":"Podobné stránky","UPCOMING":"Nadcházející","ENDED":"Skončilo","DURATION":"Délka","FEATURED":"Doporučené","METADATA":"Metadata","CATEGORY":"kategorie","LINKS_GENRES":"Žánr","LINKS_CAST":"Herci","LINKS_DIRECTORS":"Režiséři","SEARCH_VIDEOS":"vyhledávání videí","SEARCH_PLACEHOLDER":"vyhledat nebo vložit adresu URL","ADDON":"doplněk","ADDONS":"Doplňky","OFFICIAL":"oficiální","ADDONS_OFFICIAL":"Oficiální doplňky Stremio","ADDONS_POPULAR":"Oblíbené ve vaší oblasti","ADDON_FREE":"zdarma","ADDON_PEERED":"nahlédl na","ADDON_SUBSCRIPTION":"předplatné","ADDON_STREAM_GEORESTRICTED":"není ve vaší oblasti k dispozici","ADDON_STREAM_OFFLINECACHE":"Offline mezipaměť","ADDON_STREAM_LOCALFILE":"Místní soubor","SHARE_ADDON":"Sdílet doplněk","AVAILABLE_STREAMS":"Dostupné proudy","NO_STREAM":"Nebyly nalezeny žádné toky","ALL_ADDONS":"Všechny","INSTALL_MORE_ADDONS":"Chcete-li získat více streamů, nainstalujte si další doplňky","STREAM_NOT_SUPPORTED":"Vybraný stream není na této platformě podporován.","ADDON_CATALOGUE":"Zobrazit všechny doplňky \\"","ADDON_CATALOGUE_MORE":"Instalace doplňků","REPO_ADDED":"Přidáno úložiště","ADDON_REPO_EXIST_ERR":"Tato kolekce doplňků již existuje","ADDON_REPO_ERR":"Při přidávání kolekce došlo k chybě","ADDON_ADD_ERR":"Při přidávání doplňku došlo k chybě","ERR_ADDON_PROTECTED":"Nelze odinstalovat doplněk, je chráněn","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Něco se pokazilo - možná selhalo ověřování","ERR_NOT_COLLECTION_URL":"Nejedná se o adresu URL sbírky","ERR_NOT_ADDON_URL":"Není platná adresa URL doplňku","ERR_DETECTFROMURL":"Nelze najít doplněk/sbírku z této adresy URL","ADDON_DUPLICATE_WARNING":"Varování: duplicitní addon","ADDON_COLLECTION_SET_FAILED":"Synchronizace nainstalovaných doplňků s vaším účtem se nezdařila","SETTINGS_DATA_EXPORT":"Export uživatelských dat","ADDON_PULL_FAILED":"Synchronizace nainstalovaných doplňků z vašeho účtu se nezdařila","REFRESH_ON_CLICK":"Klikněte pro opakovaný pokus","STILL_IN_THEATER":"Film stále v kinech","WATCH_IN_CINEMA":"Podívejte se na něj v místním kině","IN_THEATER":"V kině","GET_TICKETS":"Získat vstupenky","UPCOMING_EPISODE":"Nadcházející epizoda","UPCOMING_EPISODE_MESSAGE":"Tato epizoda bude vysílána dne","MISSING_DATE_EPISODE":"Chybějící datum epizody","MISSING_DATE_EPISODE_MESSAGE":"Tato epizoda nejspíš ještě nebyla odvysílána","CHANNEL_NOT_SCRAPED":"Tento kanál ještě není prohledán.<br>Vraťte se prosím za několik minut.</br>","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Přidejte si ji do své knihovny, abyste byli informováni, jakmile bude k dispozici.","GET_NOTIFIED_WHEN_AVAILABLE":"Jakmile bude k dispozici, budete o tom informováni.","WARNING_STREAMING_SERVER":"Varování: místní streamovací server nebyl nalezen. Streamování z místních souborů, YouTube a BitTorrent nebude k dispozici.","WARNING_STREAMING_SERVER_DISMISS":"Skrýt","WARNING_STREAMING_SERVER_LATER":"Později","DECODER_WARNING":"Varování: toto video nemusí být podporováno vaším hardwarem. Mějte na paměti, že přehrávání může být pomalé.","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"Oops, chyba hráče","PLAYER_ERROR_LOOKSLIKE":"Vypadá to, že","PLAYER_ORIENTATION":"Orientace hráče","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Uzamčeno","PLAYER_ORIENTATION_SENSOR_SHORT":"Senzor","PLAYER_ORIENTATION_LANDSCAPE":"Orientace přehrávače uzamčená na šířku","PLAYER_ORIENTATION_SENSOR":"Automatická orientace hráče (senzor)","PLAYER_PLAYBACK_SPEED":"Rychlost přehrávání","PLAYER_PLAYBACK_ERROR":"Chyba přehrávání, zkuste to prosím znovu","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Neznámá chyba","PLAYER_PLAYBACK_ERROR_DEFAULT":"Je nám líto, ale toto video nelze přehrát pomocí {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Jazyky titulků","PLAYER_SUBTITLES_VARIANTS":"Varianty titulků","PLAYER_SUBTITLES_SETTINGS":"Nastavení titulků","PLAYER_SUBTITLES_DISABLED":"Titulky jsou vypnuty","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Vertikální pozice","PLAYER_SUBTITLES_LOADED":"Titulky načteny","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Vložené titulky načteny","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Exkluzivní titulky načteny","PLAYER_SUBTITLES_LOADED_ORIGIN":"Titulky z {{origin}} načteny","PLAYER_PLAY":"Přehrát","PLAYER_PAUSE":"Pozastavit","PLAYER_NEXT_VIDEO":"Další video","PLAYER_MUTE":"Ztluimt","PLAYER_UNMUTE":"Zrušit ztlumení","PLAYER_OPEN_IN_EXTERNAL":"Otevřít v externím přehrávači","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Přehrát na {{device}}","PLAYER_LIVE":"Živě","PLAYER_NEXT_VIDEO_TITLE":"Příště v pořadu","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Skrýt","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Sledovat nyní","PLAYER_COPY_STREAM_SUCCESS":"Odkaz na stream byl zkopírován do schránky","PLAYER_COPY_STREAM_ERROR":"Odkay na stream se nepodařilo zkopírovat","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","STREAMING_FROM":"streamování z","CASTING_TO":"Obsazení do","NETWORK_STATUS":"Stav sítě","STREAM_SPEED":"Rychlost proudu:","STREAM_BUFFERED":"Vyrovnávací paměť:","PEERS_INFO":"Informace o vrstevnících","PEERS_ACTIVE":"Používáno:","PEERS_CONNECTED":"Připojeno:","PEERS_WAITING":"Čekání:","TRANSCODING_WARNING":"Varování: překódování videa.","STREAM_LOADING":"načítám...","PLAYING_LOCAL":"přehrávání z místního souboru","PLAYING_CACHE":"přehrávání z mezipaměti","WRONG_SUBS":"Špatné titulky?","ERR_SUBS_LOADING_TITLE":"Chyba při načítání titulků","ERR_SUBS_LOADING":"Neúspěšné načítání titulků: může se jednat o problém s používaným doplňkem nebo se síťovým připojením","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Následující doplňky titulků selhaly","ERR_CASTING_UPDATE_TITLE":"Nelze aktualizovat informace o zařízení pro odlévání: streamovací server může být offline","CHOOSE_DEVICE":"Výběr zařízení, na kterém chcete sledovat","NO_CAST_DEVICES":"Žádné odlévací zařízení není k dispozici.","NO_SETTINGS":"Žádné nastavení není k dispozici.","PHONE_TABLET":"Telefon / tablet","SUBTITLES":"Titulky","SUBTITLES_CHANGE":"Změna titulků pro","SUBTITLES_CHANGE_NONE":"Pro tento jazyk nejsou k dispozici žádné další titulky, omlouváme se.","SUBTITLES_CHANGE_ACIVE":"Aktuálně jsou aktivovány titulky #{{subtitlesDialog.activeIdx + 1}}. Kliknutím na \\"Pokračovat\\" aktivujete titulky #{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Případně,","SUBTITLES_ADJUST_DELAY":"Nastavení zpoždění titulků:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Nebo můžete při přehrávání použít klávesy <span>G</span> / <span>H</span> pro nastavení.","SUBTITLES_ADJUST_DELAY_TIP":"TIP: při hraní můžete použít klávesy <span>G</span> / <span>H</span> pro nastavení.","SUBTITLES_DELAY":"Zpoždění titulků:","SUBTITLES_LOADING":"Načítání titulků...","SUBTITLES_UNAVAILABLE":"No external subtitles available","SUBTITLES_DISABLED":"Vypnuto","EXTERNAL_PLAYER_DISABLED":"Vypnuto","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Povolit výběr","EXTERNAL_PLAYER_HINT":"Tip: Existuje nastavení, které umožní vždy otevírat externí přehrávač","DONT_SHOW_AGAIN":"Znovu nezobrazovat","SERVICE_INSTALL":"Nainstalovat","AUDIO":"Audio","DEFAULT_LANGUAGE":"Výchozí jazyk","DEFAULT_SECONDARY_LANGUAGE":"Výchozí sekundární jazyk","SEASON":"Období","EPISODE":"Epizody","EPISODE_ABBREVIATION":"EP","SPECIAL":"Special","SORT":"řazení","SORT_BY":"Seřadit podle","FILTER":"filtr","SORT_TRENDING":"trendy","SORT_RECENT":"nedávné","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"hodnocení","SORT_WATCHED":"sledoval","SORT_YEAR":"rok","SELECT_TYPE":"Vyberte typ","SELECT_SORT":"Vyberte řazení","SELECT_CATALOG":"Vyberte katalog","SELECT_GENRE":"Vyberte žánr","SORT_LASTWATCHED":"Podle posledních","SORT_NAME":"Podle názvu","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"Podle počtu zhlédnutí","SORT_NOTWATCHED":"not watched","New for You":"Novinky pro vás","New Episodes":"Nové epizody","New Videos":"Nové články a videa","Recommendations":"Doporučení","LIBRARY_RESUME":"Pokračovat","LIBRARY_PLAY":"Přehrát","LIBRARY_DETAILS":"Detaily","LIBRARY_RESUME_DISMISS":"Skrýt","LIBRARY_CLEAR_PROGRESS":"Vymazat pokrok","LIBRARY_REMOVE":"Odebrat","LIBRARY_NOT_LOGGED_IN":"Knihovna je k dispozici pouze pro přihlášené uživatele","CALENDAR_NOT_LOGGED_IN":"Kalendář je k dispozici pouze pro přihlášené uživatele","NOT_LOGGED_IN_CLOUD":"Mějte přístup k svým oblíbeným filmům pořadům kdykoliv a kdekoli","NOT_LOGGED_IN_RECOMMENDATIONS":"Doporučení podle vaší historie sledování","NOT_LOGGED_IN_NOTIFICATIONS":"Nikdy nezmeškejte další díl","NOT_LOGGED_IN_CALENDAR":"Plánujte svůj osobní sledovací kalendář","DISCOVER_FEATURED":"Doporučené","DISCOVER_TOP":"Nahoře","DISCOVER_OSCAR":"Vítězové Oscara","DISCOVER_WARNING_TITLE":"Jejda!","DISCOVER_EMPTY_CATALOG":"Tento doplněk vrátil prázdný obsah.","DISCOVER_ADULT_WARNING":"Obsah je viditelný pouze pro dospělé. Jste starší 18 let?","DISCOVER_NOADDON_WARNING":"Varování: pro tento typ není aktivní žádný doplněk Stremio. Zobrazuje uložené položky, nic se zde neaktualizuje.","DISCOVER_LOAD_ERR":"Obsah se nenačetl, došlo k chybě.","DISCOVER_ADDON_UNINSTALLED":"Tento obsah již není k dispozici, možná jste doplněk odinstalovali.","UNINSTALL_THIS_ADDON":"Odinstalování tohoto doplňku","ERR_ADDON_NOT_INSTALLED":"Tento doplněk není nainstalován. Nainstalovat nyní?","DETAIL_RECEIVE_NOTIF_SERIES":"Přijímání oznámení o nových epizodách","DETAIL_RECEIVE_NOTIF_VIDEOS":"Přijímání upozornění na nová videa","SIDEBAR_SHOW_STREAMS":"Show Streams","RELAUNCH":"Opětovné spuštění nyní!","UPGRADE":"Nová verze je k dispozici! Upgrade na nejnovější verzi Stremio","RELOAD_UI":"Opětovné načtení uživatelského rozhraní","MANUAL_UPDATE_TITLE":"Aktualizace verze aplikace Stremio","MANUAL_UPDATE_LINE1":"Používáte zastaralou verzi aplikace Stremio, která se nedoporučuje.","MANUAL_UPDATE_LINE2":"Prosíme o co nejrychlejší aktualizaci.","BUTTON_UPDATE_LATTER":"Nyní ne","BUTTON_UPDATE_NOW":"Aktualizovat","ANONYMOUS_USER":"Anonymní uživatel","DONT_HAVE_ACC":"Nemáte účet?","HAVE_ACC":"Již máte účet?","PASSWORD":"Heslo","PASSWORD_CONFIRM":"Potvrďte heslo","EMAIL":"E-mail","FB_LOGIN":"Pokračovat na Facebooku","FB_NOTHINGSHARED":"Nic není sdíleno bez vašeho souhlasu","FB_NOPOST":"Vaším jménem nic nezveřejníme","OR":"nebo","I_ACCEPT":"Přijímám","I_ACCEPT_BY_CLICKING":"Kliknutím na výše uvedené tlačítko stvrzuji, že souhlasím s tím, že","TOS":"Obchodní podmínky","MUST_ACCEPT_TERMS":"Musíte přijmout podmínky","PASSWORDS_NOMATCH":"Heslo se neshodují","SIGN_UP":"Registrovat se","SIGN_UP_EMAIL":"Zaregistrujte se pomocí e-mailu","CLICK_TO_SIGN_UP":"Klikněte zde a zaregistrujte se.","LOG_IN":"Přihlásit","LOG_OUT":"Odhlásit se","EXIT_FULLSCREEN":"Ukončení celoobrazovkového režimu","ENTER_FULLSCREEN":"Vstup do celoobrazovkového režimu","PLAY_URL_MAGNET_LINK":"Přehrát adresu URL / odkaz na magnet","HELP_FEEDBACK":"Nápověda a zpětná vazba","TERMS_OF_SERVICE":"Podmínky služby","PRIVACY_POLICY":"Privacy Policy","ABOUT_STREMIO":"O Stremio","USER_PANEL":"Uživatelský panel","LOGIN_LABEL":"Login","GUEST_LOGIN":"Přihlášení hosta","GUEST_LOGIN_NOTICE":"Přihlášení hosta se nedoporučuje. Použití běžného přihlášení umožňuje službě Stremio synchronizovat vaši knihovnu a přijímat oznámení o oblíbených seriálech/kanálech. Jste si jisti, že chcete pokračovat?","GUEST_LOGIN_NOTICE_2":"Přihlášení hosta se nedoporučuje - nebudete mít synchronizované oznámení o knihovně a nástěnce, což jsou důležité funkce aplikace Stremio. Jste si jisti, že chcete pokračovat?","CLICK_HERE":"klikněte sem","WRONG_PASSWORD":"Špatný e-mail nebo heslo. V případě, že jste zapomněli heslo,","SET_A_PASS":"nastavit heslo","RESET_PASSWORD":"Obnovit heslo","FORGOT_PASSWORD":"Zapomenuté heslo?","EMAIL_USED_WITH_FB":"Tento e-mail byl použit s přihlášením na Facebook.","INVALID_EMAIL":"Zadejte prosím platnou emailovou adresu","INVALID_PASSWORD":"Zadejte prosím platné heslo","CONN_ERR":"Chyba připojení - zkuste to prosím později.\\n\\nPokud přetrvává, vypněte firewall/antivirový software (zejména Bitdefender).","IMPORT_FROM_GUEST":"Import knihovny z účtu hosta","RECEIVE_UPDATES_EMAIL":"Přijímání aktualizací do e-mailu od Stremio","LOGIN_FAILED":"Přihlášení se nezdařilo.","SIGNUP_FAILED":"Registrace se nezdařila.","SEARCH_FAILED":"Vyhledávání se nezdařilo","EMAIL_USED":"E-mail je už používán.","WAITING_FB_LOGIN":"Přihlášení pomocí Facebooku...","EXTERNAL_PLAYER_TITLE":"Přehrávání v externím přehrávači","EXTERNAL_REMEMBER_PLAYER":"Chcete si svou volbu zapamatovat","EXTERNAL_ALWAYS_PLAY":"Ano","EXTERNAL_ONLY_ONCE":"Ne","BEST_FIT":"Best Fit","FIT_SCREEN":"Fit Screen","FILL":"Vyplnit","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"Řekněte nám, co se vám líbí","INTRO_TASTE_LONG":"Řekněte nám, co byste chtěli sledovat","INTRO_TASTE_PICK":"Vyberte {{interestsRemaining}} zájmy","INTRO_TASTE_PICK_MORE":"Vyberte {{interestsRemaining}} dalších zájmů","INTRO_TASTE_HELP_US":"Pomozte nám dozvědět se o vás více.","INTRO_TASTE_CHOOSE_THESE":"Vyberte si některé z nich:","INTRO_TASTE_CHOOSE_MIN":"Vyberte alespoň 3 kategorie","INTRO_TASTE_CHOOSE_MIN_ERR":"Musíte vybrat alespoň 3 kategorie!","INTRO_TASTE_LIFESTYLE":"Životní styl","INTRO_TASTE_SPORTS":"Sporty","INTRO_TASTE_FOOD_HEALTH":"Potraviny a zdraví","INTRO_TASTE_BEAUTY_FASHION":"Krása a móda","INTRO_TASTE_NEWS":"Novinky","INTRO_TASTE_GAMING":"Hry","INTRO_TASTE_SCIENCE_EDU":"Věda a vzdělávání","INTRO_TASTE_MUSIC":"Hudba","INTRO_TASTE_TRAVEL":"Cestovní kancelář","INTRO_TASTE_LATE_NIGHT":"Pozdní noční show","INTRO_TASTE_REALITY":"Realita","INTRO_TASTE_COMEDY":"Komedie","INTRO_TASTE_DIY":"Jak na kutilství","INTRO_TASTE_TECH":"Tech","INTRO_TASTE_CINEMA":"Kino","ADDON_NOT_SUPPORTED":"Vybraný doplněk není na této platformě podporován.","ADDON_DISCLAIMER":"Používání doplňků třetích stran vždy podléhá vaší odpovědnosti a právním předpisům jurisdikce, ve které se nacházíte.","ADDON_ACTIVATE":"Aktivovat tento doplněk?","ADDON_REPO_ADD":"Adresa URL sbírky doplňků","ADDON_ADD":"Přidat","INSTALL_ADDON":"Install addon","ADD_ADDON":"Add addon","ADD_ADDON_DESCRIPTION":"You can add an addon via an external link, which will appear under Installed addons.","PASTE_ADDON_URL":"Paste addon URL","WHATS_NEW":"Co je nového","BUTTON_CONTINUE":"Pokračovat","BUTTON_ACTIVATE":"Aktivovat","BUTTON_ACTIVATED":"Aktivovaný","BUTTON_CANCEL":"Zrušit","BUTTON_SUBMIT":"Submit","BUTTON_DISMISS_ALL":"Odmítnout vše","BUTTON_VIEW_ALL":"zobrazit vše","BUTTON_SEE_ALL":"See All","BUTTON_COLOR_TRANSPARENT":"Transparent","OPEN_IN_BROWSER":"Open in browser","LIB_EMPTY":"Vaše knihovna vypadá prázdná. Zjistěte, jak je užitečná :)","HOW_START":"Zde je návod, jak začít:","LIB_EMPTY_CAL":"V kalendáři se zobrazují série ve vaší knihovně.","HOW_START_CAL":"Zde je návod, jak můžete přidávat série:","LIB_EMPTY_BOARD":"Tabule zobrazuje oznámení &amp; doporučení týkající se vaší knihovny.","HOW_START_BOARD_WAIT":"Prosím, přidejte do své knihovny několik seriálů nebo kanálů a dejte nám pár minut na zpracování :)","HOW_START_BOARD":"Zde je návod, jak do něj můžete přidat seriály &amp; filmy:","IMPORT_FB":"Import věcí, které se vám líbí, ze <span>služby Facebook</span>","IMPORT_TRAKT":"Import knihovny médií ze <span>služby Trakt</span>","IMPORT_DISCOVER":"Najděte zajímavé věci ze služby <span>Discover</span>","IMPORT_DISK":"Importovat filmy nebo pořady, které máte na <span>místním disku</span>","PLEASE_CREATE_ACC":" <u>Vytvořte si účet</u>, abyste mohli synchronizovat knihovnu a tabuli.","IMPORT_DISCOVER_SIGNUP":"Zaregistrujte se a najděte zajímavé věci z <span>Discover</span>","IMPORT_DISK_SIGNUP":"Zaregistrujte se a importujte filmy nebo pořady, které máte na <span>místním disku</span>","LIB_EMPTY_CLOUD":"Cloudová knihovna","LIB_EMPTY_CLOUD_DESC":"Osobní cloudová knihovna synchronizovaná na všech zařízeních","LIB_EMPTY_EARLY":"Brzy","LIB_EMPTY_EARLY_DESC":"Přijímání oznámení o nových epizodách","LIB_EMPTY_PERSONAL":"Osobní","LIB_EMPTY_PERSONAL_DESC":"Získejte osobní doporučení","LIB_EMPTY_CALENDAR_DESC":"Naplánujte si osobní kalendář sledování","LIB_EMPTY_ALL":"Zaregistrujte se a získejte je všechny:","LIB_EMPTY_BEST":"Zaregistrujte se a získejte to nejlepší ze Stremio","LIB_EMPTY_OTHER":"Zaregistrujte se a povolte Kalendář a další skvělé funkce","CALENDAR_ADDED":"Kalendář Stremio byl přidán do vašeho výchozího kalendáře na ploše.","CALENDAR_ADDED_MSG":"Pokud to nefunguje, přidejte tuto adresu URL do aplikace kalendáře ručně","TRAKT_EXPIRED":"Platnost ověření Traktu vypršela, přejděte prosím do Nastavení a znovu se ověřte","TRAKT_REQUIRES_LOGIN":"Chyba traktu","TRAKT_REQUIRES_LOGIN_MSG":"Musíte se přihlásit","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","SETTINGS_LABEL":"Nastavení","SETTINGS_NAV_GENERAL":"Obecné","SETTINGS_NAV_PLAYER":"Hráci","SETTINGS_NAV_STREAMING":"Streamování","SETTINGS_NAV_SHORTCUTS":"Zkratky","SETTINGS_SHORTCUT_RELOAD_APP":"Obnovit aplikaci","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Otevřít nastavení","SETTINGS_SHORTCUT_SWITCH_TABS":"Přepnout záložky","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Procházet záložky dopředu","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Procházet záložky dozadu","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigovat mezi nabídkami","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Přejít na vyhledávání","SETTINGS_SHORTCUT_EXIT_BACK":"Ukončit / Zpět","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Přepnout menu rychlosti přehrávání","SETTINGS_SHORTCUT_MENU_VIDEOS":"Přepnout menu videí","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Přepnout menu titulků","SETTINGS_SHORTCUT_MENU_INFO":"Přepnout menu informací","SETTINGS_SHORTCUT_FULLSCREEN":"Přepnout na celou obrazovku","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Zobrazit ovládací prvky","SETTINGS_SHORTCUT_PLAY_PAUSE":"Přehrát / Pozastavit","SETTINGS_SHORTCUT_VOLUME_UP":"Zvýšit hlasitost","SETTINGS_SHORTCUT_VOLUME_DOWN":"Snížit hlasitost","SETTINGS_SHORTCUT_SEEK_NEXT":"Hledat další","SETTINGS_SHORTCUT_SEEK_PREV":"Hledat předchozí","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Hledat dozadu","SETTINGS_SHORTCUT_SEEK_FORWARD":"Hledat vpřed","SETTINGS_SHORTCUT_PLAY_NEXT":"Přehrát další","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Zvětšit titulky","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Zmenšit titulky","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Zvýšit zpoždění titulků","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Snížit zpoždění titulků","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Přepnout postranní panel","SETTINGS_SHORTCUT_OR":"nebo","SETTINGS_SHORTCUT_TO":"na","SETTINGS_SHORTCUT_SPACE":"Mezerník","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Autentifikovat","SETTINGS_FACEBOOK_IMPORT":"Importovat","SETTINGS_CALENDAR_SUBSCRIBE":"Přihlásit se k odběru","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Jazyk uživatelského rozhraní","SETTINGS_LAUNCH_STARTUP":"Launch on start-up","SETTINGS_VLC_DEFAULT":"Play with VLC","SETTINGS_UI_LANGUAGE":"UI Language","SETTINGS_UI_ZOOM":"Přiblížení rozhraní","SETTINGS_FULLSCREEN_EXIT":"Klávesa Escape ukončí celou obrazovku","SETTINGS_GAMEPAD":"Povolení podpory gamepadu","SETTINGS_CLOSE_WINDOW":"Zavření aplikace při zavření okna","SETTINGS_SUBTITLES_LANGUAGE":"Výchozí jazyk titulků","SETTINGS_SUBTITLES_SIZE":"Výchozí velikost titulků","SETTINGS_SUBTITLES_BACKGROUND":"Pozadí titulků","SETTINGS_SUBTITLES_COLOR":"Barva titulků","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Barva obrysu titulků","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Barva pozadí titulků","SETTINGS_SEEK_KEY":"Klávesy se šipkami hledají čas","SETTINGS_SEEK_KEY_SHIFT":"Klávesy se šipkami hledají čas při podržení klávesy Shift","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Rewind & Fast-forward duration","SETTINGS_BINGE":"Automatické přehrávání další epizody","SETTINGS_NEXT_VIDEO":"Upozornění na spuštění další epizody","SETTINGS_NEXT_VIDEO_TRIGGER":"Zobrazit upozornění na další epizodu:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Next video popup duration","SETTINGS_PLAY_IN_BACKGROUND":"Play in background","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Spustit v externím přehrávači","SETTINGS_RESIZE":"Automatická změna velikosti okna před přehráváním","SETTINGS_OVERRIDE_SERVER":"Přepsání adresy URL streamovacího serveru (pro pokročilé)","SETTINGS_SERVER_URL":"Adresa URL streamovacího serveru","SETTINGS_SERVER_AVAILABLE":"Streamovací server je k dispozici.","SETTINGS_SERVER_UNAVAILABLE":"Streamovací server není k dispozici.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Error","SETTINGS_SERVER_CONFIGURE_TITLE":"Configure streaming server url","SETTINGS_SERVER_CONFIGURE_INPUT":"Enter a streaming server url","SETTINGS_SERVER_CACHE_SIZE":"Cache size","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent profile","SETTINGS_HTTPS_ENDPOINT":"Koncový bod HTTPS pro streamování","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Vždy používejte nejnovější betaverzi","SETTINGS_IMPORT_FB":"Import ze služby Facebook","SETTINGS_IMPORT_DISK":"Import z místního disku","SETTINGS_IMPORT_TRAKT":"Import ze služby Trakt","SETTINGS_PAUSE_MINIMIZED":"Pozastavení přehrávání při minimalizaci","SETTINGS_HWDEC":"Hardwarově akcelerované dekódování","SETTINGS_BACKGROUND":"Přehrávání na pozadí","SETTINGS_SUBSCRIBE_CALENDAR":"Přihlásit se k odběru kalendáře","SETTINGS_REQ_EXPORT":"Žádost o export dat","SETTINGS_ACC_DELETE":"Žádost o odstranění účtu","SETTINGS_CHANGE_PASSWORD":"Změnit heslo","SETTINGS_TOS":"Podmínky služby","SETTINGS_SUPPORT":"Kontaktovat podporu","SETTING_LANGUAGE":"Jazyk","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_LOGOUT":"Odhlášení z Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Odhlášení z Trakt","SETTINGS_SCAN_FOR_REMOTE":"Naskenujte QR kód pro otevření dálkového ovládání","SETTINGS_DESKTOP_NOTIFICATIONS":"Oznámení na ploše","SETTINGS_DATA_SAVER":"Spořič dat","SETTINGS_LANGUAGE_INTERFACE":"rozhraní","SETTINGS_LANGUAGE_SUBS":"výchozí titulky","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Autoselect Audio Track","SETTINGS_DEFAULT_AUDIO_TRACK":"Default Audio Track","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"účet","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"verze","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"Spuštění přehrávače v samostatném okně (pokročilé)","SETTINGS_PLAY_IN_EXTERNAL":"Vždy spustit video v externím přehrávači","SETTINGS_STORAGE_BUTTON":"Clear Local Storage","SETTINGS_STORAGE_MODAL_TITLE":"Are you sure ?","SETTINGS_STORAGE_MODAL_MESSAGE":"This will clear the local storage and log you out.","SETTINGS_HWDEC_PICKER":"Pick hardware-accelerated decoding setting","SETTINGS_HW_AUTOMATIC":"Automatic","SETTINGS_HW_DISABLED":"Disabled","SETTINGS_HW_ACCELERATED":"Decoding acceleration","SETTINGS_HW_FULL":"Full acceleration","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Subtitles","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Controls","SETTINGS_SECTION_AUTO_PLAY":"Auto-Play","SETTINGS_SECTION_ADVANCED":"Advanced","SUBSPICKER_AUDIO":"Audio","SUBSPICKER_SUBTITLES":"Addons Subtitles","SUBSPICKER_BLACK_BACKGROUND":"Use black background color","SUBSPICKER_VERTICAL_OFFSET":"Vertical Offset","SUBSPICKER_SIZE":"Size","SUBSPICKER_DELAY":"Delay","SUBSPICKER_EMBEDDED_SUBS":"Embedded Subtitles","MOBILE_PRIVACY_POLICY":"Privacy Policy","MOBILE_CRASH_REPORTING":"Crash Reporting","MOBILE_ZOOM_TO_FILL":"Zoom To Fill Screen","MOBILE_PASSTHROUGH":"Digital audio output (passthrough)","MOBILE_RUN_LOW_BATTERY":"Run on low battery","MOBILE_RUN_FOREGROUND":"Run as Foreground Service","MOBILE_PERFORMANCE":"PERFORMANCE & STABILITY","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"QR Code expires in ","MOBILE_LOG_INTO":"Log in to your Stremio account ","MOBILE_SCAN_QR":"Scan QR code above or go to ","MOBILE_LINK_ACCOUNT":"Link Account","MOBILE_SPEEDPICKER_CANCEL":"Cancel","MOBILE_SPEEDPICKER_LABEL":"Select Playback Speed","MOBILE_EMPTY_LIBRARY":"Your library is empty","MOBILE_NO_ADDON_ACTIVE":"No Stremio addon active for this type.","MOBILE_ORGANIZER_WARNING":"The Stremio Organizer app provides limited functionality. For a list of playable streams and the full Stremio experience, use Stremio on desktop.","MOBILE_ADDON_LOADING":"is still loading","MOBILE_ADDONS_LOADING":"addons are still loading","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Configure your addon","MOBILE_CONFIGURE_ADDON_LABEL":"Configure Addon","MOBILE_ORGANIZER_ADDONS_WARNING":"The Stremio Organizer app provides a limited selection of addons. For the full Stremio experience, use Stremio on desktop.","MOBILE_DISCONNECT":"Disconnect","MOBILE_LOOKING_FOR_DEVICES":"Looking for devices...","MOBILE_CAST_TO":"Cast to","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Delete Account","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Account deletion is not instant due to legal obligations. After requesting deletion of your account you will have to use different email address/facebook profile to create a new Stremio account in the future.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirm Account Deletion","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Your account has been created using Facebook. To delete your account, please use our user portal at www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Please provide your password to confirm account deletion.","MOBILE_DELETE_ACCOUNT_BUTTON":"Delete Account","NAVIGATION_ON":"On","NAVIGATION_OFF":"Off","MARKETING_AGREE":"I agree to receive marketing communications from Stremio","QUIT":"Odejít","CONNECTED":"Připojeno","AUTHENTICATE":"Ověřit","CACHING":"Mezipaměť","SETTINGS_CACHING_DRIVE":"Jednotka mezipaměti","ENABLE_LOCAL_FILES_ADDON":"Povolení doplňku pro místní soubory (vyžaduje restart)","LOCAL_ADDON_NOT_ENABLED":"Local addon is not enabled. Click here to go to the settings and enable it","ENABLE_REMOTE_HTTPS_CONN":"Povolení vzdálených připojení HTTPS","TORRENT_PROFILE":"Profil Torrent","DATA_CACHING":"Ukládání dat do mezipaměti","MAGNET_PARSING":"Rozbor odkazu magnetu","January":"Leden","February":"Únor","March":"Březen","April":"Duben","May":"Květen","June":"Červen","July":"Červenec","August":"Srpen","September":"Září","October":"Říjen","November":"Listopad","December":"Prosinec","Monday":"Pondělí","Tuesday":"Úterý","Wednesday":"Středa","Thursday":"Čtvrtek","Friday":"Pátek","Saturday":"Sobota","Sunday":"Neděle","Action":"Akce","Comedy":"Komedie","War":"Válka","Family":"Rodina","Animation":"Animace","Adventure":"Dobroudružná hra","Fantasy":"Fantasy","Crime":"Zločin","Mystery":"Záhada","Romance":"Romantické","Drama":"Drama","Horror":"Horory","Thriller":"Thriller","Sci-Fi":"Sci-fi","Music":"Hudba","Biography":"Životopis","Documentary":"Dokumentární film","Sport":"Sport","Musical":"Hudební","Western":"Západní","Film-Noir":"Film-noir","News":"Novinky","History":"Historie","Game-Show":"Game-Show","Reality-TV":"Reality-TV","Talk-Show":"Talk-Show","Film & Entertainment":"Film a zábava","Gaming":"Hry","From TV":"Z televize","Lifestyle":"Životní styl","Science & Education":"Věda a vzdělávání","Cooking & Health":"Vaření a zdraví","Beauty & Fashion":"Krása a móda","Sports":"Sporty","News & Politics":"Zprávy a politika","How-to & DIY":"Jak na to & Udělej si sám","Tech":"Tech","Automotive":"Automobilový průmysl","Causes & Non-Profits":"Kauzy a neziskové organizace","Movies":"Filmy","Uk Live Tv":"Spojené království Živá televize","Fashion":"Móda","Business News Radio":"Business News Radio","Business Tv":"Obchodní televize","Cars & Auto":"Automobily a auta","Comedy Radio":"Komediální rádio","Lifestyle Radio":"Rádio životního stylu","News Tv":"Zpravodajská televize","Food And Wine":"Jídlo a víno","Latino Tv":"Latinskoamerická televize","Shopping Tv":"Nákupní televize","Religion":"Náboženství","Kids":"Děti","Body & Soul":"Tělo a duše","Education":"Vzdělání","Indian Tv":"Indická televize","Extreme Sports":"Extrémní sporty","Middle Eastern Tv":"Blízkovýchodní televize","Celebrity Tv":"Celebrity Tv","Science Tv":"Vědecká televize","Bikini babe":"Kočka v bikinách","Outdoors":"Venku","German Tv":"Německá televize","French Tv":"Francouzská televize","Italian Tv":"Italská televize","Gamer Tv":"Gamer Tv","Travel":"Cestovní kancelář","Asian Tv":"Asijská televize","Entertainment":"Zábava","News Radio":"Zpravodajské rádio","Music Radio":"Hudební rádio","Language Learning":"Výuka jazyků","Science Radio":"Vědecké rádio","Tech Radio":"Tech Radio","Science & Technology Vod":"Věda a technika Vod","new video":"nové video","new episode":"nová epizoda","new movie":"nový film","recommended":"doporučené","we recommend":"doporučujeme","offer of the day":"nabídka dne","news":"novinky","music video":"hudební video","CTX_SHOW_HOTKEYS":"Show hotkeys","CTX_DISMISS_NOTIF":"Odmítnutí oznámení","CTX_DISMISS_ALL":"Odmítnout všechny","CTX_SHARE":"Sdílet","CTX_COPY_SHARE_LINK":"Kopírovat odkaz na sdílení","CTX_COPY_MAGNET_LINK":"Kopírovat odkaz na magnet","CTX_COPY_STREAM_LINK":"Kopírovat odkaz na stream","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Stáhněte si toto video","CTX_DOWNLOAD_SUBS":"Download subtitles","CTX_VIEW_ON_YOUTUBE":"View on YouTube","CTX_SHOW":"Zobrazit","CTX_PLAY":"Přehrát","CTX_PLAY_IN":"Přehrát v","CTX_PLAY_ON":"Přehrát na","CTX_WATCH_ON":"Sledujte na","CTX_WATCH":"Sledovat","CTX_WATCHED":"Sledováno","CTX_WATCH_BEGINNING":"Sledujte od začátku","CTX_WATCH_MOBILE":"Sledování na mobilním zařízení","CTX_REWIND":"Přetočení na začátek","CTX_MARK_WATCHED":"Označit jako sledované","CTX_MARK_NON_WATCHED":"Označit jako nesledované","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"Zbytek označte jako sledovaný","CTX_UNMARK_REST":"Zbytek označte jako nesledovaný","CTX_RECEIVE_NEW_NOTIF":"Přijímání nových oznámení","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"Odstranění z mezipaměti","CTX_REMOVE_CACHE_EP":"Odstranění epizody z mezipaměti","CTX_OPEN_CONTAINING":"Otevřít složku obsahující","CTX_REMOVE":"Odebrat z knihovny","CTX_AVAILABLE_OFFLINE":"Dostupné offline","CTX_PAUSED":"Pozastaveno","CTX_ALWAYS_ON_TOP":"Vždy na vrcholu","CTX_FULLSCREEN":"Celá obrazovka","CTX_WRONG_SUBS":"Špatné titulky?","CTX_REPORT_ISSUES":"Nahlásit problém","CTX_COPY":"Kopírovat","CTX_PASTE":"Vložit","CTX_CLEAR":"Vymazat","CTX_CLEAR_RECENT_SEARCHES":"Vymazat poslední vyhledávání","HELLO_THERE":"Dobrý den","HOPE_YOU_ENJOY":"Doufáme, že se vám Stremio bude líbit a že se stane jednou z vašich oblíbených aplikací!","WHO_ARE_WE":"Kdo jsme? Jsme tým, který za tím stojí - dva kluci, kteří už tři roky každý den tvrdě pracují na tom, aby byl tento produkt stále lepší a lepší.","SUPPORT_US":"Pokud se vám Stremio líbí, pokud je pro vás Stremio přínosné - šiřte tuto informaci dál!","SPREAD_THE_WORD":"Sdílejte se svými přáteli, rozšiřte informace o Stremiu","MORE_PEOPLE":"Čím více lidí bude Stremio používat, tím lepší bude!","SEND_A_LINK":"Nebo pošlete odkaz na naše webové stránky","TIP_LOCALFILES":"Tip: do aplikace Stremio můžete přetáhnout místní video soubory","ADDON_MY":"Moje doplňky","ADDON_COMMUNITY":"Doplňky komunity","ADDON_OFFICIAL":"Oficiální doplňky","ADDON_REPOS":"Sbírky doplňků","ADDON_SEARCH":"Vyhledávání doplňků","ADDON_INSTALL":"Instalovat","ADDON_CONFIGURE":"Konfigurovat","ADDON_UNINSTALL":"Odinstalovat","ADDON_UPGRADE":"Upgrade","ADDON_INSTALLED":"Nainstalováno","ADDON_INSTALLED_MSG":"Addon nainstalován!","ADDON_UPGRADED_MSG":"Addon upgradován!","ADDON_UNKNOWN":"Neznámý","ADDON_ERR":"Chyba při instalaci doplňku!","ADDON_DISCONNECTED":"Odpojeno","ADDON_APP_MISSING":"aplikace pro tento zdroj není nainstalována. Chcete ji nyní nainstalovat?","ADDON_APP_INSTALL":"Nainstalovat nyní","ADDON_PAGE":"Stránka doplňku","ADDON_TOP_CONTENT":"To nejlepší z tohoto doplňku","ADDON_PROVIDES":"Tento doplněk vám poskytne:","ADDON_WATCH":"Sledujte #{types} nyní!","ADDON_WATCH_FREE":"Sledujte #{types} nyní ZDARMA!","ADDON_ADDON":"Doplněk","ADDON_SUPPORTED_TYPES":"Podporované typy","ADDON_SUPPORTED_CATALOGS":"Podporované katalogy","ADDON_PROVIDES_DISCOVER":"Další #{types} v aplikaci Discover","ADDON_PROVIDES_STREAMS":"Sledujte #{types}","ADDON_PROVIDES_STREAMS_FREE":"Sledujte #{types} ZDARMA","ADDON_PROVIDES_SUBTITLES":"Titulky pro #{types}","ADDON_CANTDETECT":"Nepodařilo se nám zjistit spuštěné Stremio, takže jsme nemohli zjistit, jaké máte nainstalované doplňky.","ERR_NO_META":"O tomto nebyly nalezeny žádné informace","ERR_GETTING_META":"Chyba při načítání informací o tomto.","ERR_CANT_PARSE_MAGNET":"Nelze analyzovat magnet","ERR_NO_MAGNET_INFOHASH":"Žádný platný informační hash pro magnet","ERR_NO_FILE_PATH":"Nelze odeslat požadavek bez cesty k souboru","ERR_NO_TORRENT":"Žádný torrent se nevrátil","ERR_NO_SUPPORTERD_FILES":"Nebyly nalezeny žádné podporované soubory","ERR_OPENING_FILES":"Nelze otevřít externí soubory","ERR_INVALID_LINK":"Neplatný odkaz","ERR_REGISTERED_ONLY":"Tato možnost je k dispozici pouze pro registrované uživatele.","ERR_CLIPBOARD":"Nelze přehrávat ze schránky","ERR_CLIPBOARD_READ":"Na této platformě nelze číst schránku","ERR_CLIPBOARD_GENERIC":"Ve schránce nebyla nalezena žádná přehrávatelná adresa URL. Zkopírujte prosím adresu URL (např. odkaz na magnet) na video.","BOARD_CONTINUE_WATCHING":"Pokračovat ve sledování","BOARD_EXPLANATION_RECOMMENDATIONS":"Filmy vybrané speciálně pro vás.<br />Tento film je ukázkovým doporučením.","BOARD_EXPLANATION_EPISODES":"Zde se objevují nové epizody vašich oblíbených seriálů.<br />Přidejte si sledované seriály do své knihovny.","BOARD_EXPLANATION_VIDEOS":"Zde se objevují nové epizody vašich oblíbených kanálů.<br />Přidejte si sledované kanály YouTube do své knihovny.","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE":"Přispět","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"Learn more","WEBSITE_COMPANY":"Company","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Need Help?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"Sledujte okamžitě","WEBSITE_SLOGAN_ALL":"Veškerý videoobsah, který si užíváte, na jednom místě","WEBSITE_SLOGAN_NEW":"Vše, co můžete sledovat","WEBSITE_SLOGAN_NEW_NEW":"Freedom to Stream","WEBSITE_WATCH_FROM":"Sledujte od","WEBSITE_DOWNLOAD":"Stáhnout nyní","WEBSITE_DOWNLOAD_FOR":"Stáhnout nyní pro","WEBSITE_IS_DESKTOP":"Stremio je aplikace pro stolní počítače, otevřete tuto stránku v počítači a stáhněte si ji","WEBSITE_DESKTOP_DEMO_VID":"Demonstrační verze pro stolní počítače","WEBSITE_PAGE_HOME":"Domů","WEBSITE_PAGE_FEATURES":"Vlastnosti","WEBSITE_PAGE_ADDONS":"Doplňky","WEBSITE_PAGE_TECH":"Technologie","WEBSITE_PAGE_CREATE_ADDON":"Vytvořit doplněk","WEBSITE_PAGE_CONTACTS":"Kontakty","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Filmy","WEBSITE_TYPE_series_PL":"Seriály","WEBSITE_TYPE_tv":"Živý televizní přenos","WEBSITE_TYPE_channel":"Kanály","WEBSITE_STREMIO_WHAT_IS":"Stremio je aplikace, která vám pomůže uspořádat a okamžitě sledovat vaše oblíbená videa, filmy, seriály a televizní kanály.","WEBSITE_FEATURES_WATCH":"Sledujte okamžitě v HD","WEBSITE_FEATURES_WATCH_DETAIL":"Klikněte a přehrávejte své oblíbené filmy, televizní pořady, videa a televizní kanály.","WEBSITE_FEATURES_SUBS":"Automatické titulky","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio automaticky vybere synchronizované titulky pro váš jazyk.","WEBSITE_FEATURES_SUBS_LABEL":"Váš tah, šéfe.","WEBSITE_FEATURES_CAST":"Přehrávání na televizoru a mobilních zařízeních","WEBSITE_FEATURES_CAST_DETAIL":"Cast na AppleTV, Chromecast, Smart TV (DLNA/UPnP) a mobilní zařízení.","WEBSITE_LIB":"Užívejte si svou osobní knihovnu synchronizovanou na všech zařízeních","WEBSITE_LIB_COLLECT":"Sbírat od Stremio","WEBSITE_LIB_IMPORT":"Import ze služby Facebook","WEBSITE_LIB_LOCAL":"Přidání z místní jednotky","WEBSITE_BOARD":"Rada - Vaše jediné místo pro oznámení a doporučení","WEBSITE_BOARD_RECOMMEND":"Doporučený televizní pořad","WEBSITE_BOARD_TRENDING":"Trendy film","WEBSITE_BOARD_NEW":"Nové video","WEBSITE_BOARD_EPISODE":"Nová epizoda","WEBSITE_BOARD_1":"Hledáte něco zajímavého ke sledování? Získejte doporučení podle svého vkusu!","WEBSITE_BOARD_2":"Nechte se upozornit na nový díl svého oblíbeného televizního pořadu nebo kanálu YouTube!","WEBSITE_BOARD_YOUTUBE":"Nová videa kanálů YouTube","WEBSITE_BOARD_EPISODES":"Nové epizody seriálů, které sledujete","WEBSITE_ADDONS":"Doplňky obsahu","WEBSITE_TECH_DETAIL":"Milujeme technologie, milujeme šílenou vědu!\\nStremio používá následující open source technologie:","WEBSITE_TECH_WCJS":"WebChimera.js umožňuje službě Stremio přehrávat jakýkoli formát videa s dobrým výkonem.","WEBSITE_TECH_WCJS_EXTRA":"Jsme hlavními přispěvateli projektu","WEBSITE_TECH_ELECTRON":"Electron poskytuje inovativní platformu, na které lze vytvořit Stremio.","WEBSITE_TECH_ELECTRON_EXTRA":"Jsme přispěvatelé projektu","WEBSITE_TECH_LINVODB":"Databázová technologie, která zajišťuje, že vaše data jsou uspořádaná a dostupná kdekoli, kde se přihlásíte.","WEBSITE_TECH_LINVODB_EXTRA":"Vlastní technologie","WEBSITE_CREATE_ADDON":"Vytvoření doplňku","WEBSITE_CREATE_ADDON_DETAIL":"Máte službu poskytující videoobsah? Pomůžeme vám využít funkce Stremio vytvořením vašeho doplňku.","WEBSITE_CREATE_ADDON_BENEFITS":"Výhody vytvoření doplňku pro Stremio","WEBSITE_P2P_BEAUTY":"Krása peer-to-peer streamování","WEBSITE_P2P_1":"Spolehlivé a cenově dostupné video v rozlišení Full HD / 4K na vyžádání nebo živé vysílání","WEBSITE_P2P_2":"Distribuční platforma poskytující skvělý uživatelský zážitek","WEBSITE_P2P_3":"Vytvoříme doplněk, který bude přesně odpovídat vašim potřebám","WEBSITE_P2P_CONTACT":"Máte zájem? Můžete <a href=\'mailto:office@stremio.com\'>nás kontaktovat</a>.","WEBSITE_P2P_CONTACT_EXTRA":"Rádi vám pomůžeme s integrací vašeho obsahu do služby Stremio!","WEBSITE_P2P":"Jednou za čas se objeví technologie, která změní název hry. Investovali jsme spoustu času a úsilí do vytvoření našeho enginu pro streamování videa P2P (Peer-to-Peer), který poskytuje skvělý výkon a všestrannost, aby se přizpůsobil jakémukoli případu použití.\\nKontaktujte nás pro P2P video na vyžádání nebo živé streamování s podporou DRM.","WEBSITE_THOUGHTS":"Myšlenky, které sdílíme:","WEBSITE_SPREAD":"Šíření informací o Stremio:","WEBSITE_CONTACT":"Kontaktujte nás, budeme rádi, když se nám ozvete!","WEBSITE_OPENSOURCE":"Naše projekty s otevřeným zdrojovým kódem naleznete na adrese","WEBSITE_BITCOIN":"Darujte bitcoin:","WEBSITE_FAQ":"Nejčastější dotazy","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Otázky","WEBSITE_TOS":"Podmínky použití","WEBSITE_LEGAL":"Právo","WEBSITE_PAGE_ABOUT":"O nás","WEBSITE_PAGE_BECOME_PARTNER":"Staňte se partnerem","WEBSITE_ALL_YOU_CAN_WATCH":"Svoboda sledování\\nVše, co chcete.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"Co je stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio je komplexní centrum pro agregaci video obsahu. Objevujte, organizujte a sledujte videa ze všech zdrojů na jakémkoli zařízení, které vlastníte.","WEBSITE_WHAT_IS_STREMIO_P2":"Filmy, televizní pořady, seriály, živé televizní vysílání nebo webové kanály jako YouTube a Twitch.tv - to vše najdete na Stremiu.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio je moderní multimediální centrum, které představuje komplexní řešení pro vaši videozábavu. Objevujete, sledujete a organizujete videoobsah ze snadno instalovatelných doplňků.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Filmy, televizní pořady, živé vysílání nebo webové kanály - to vše najdete na Stremiu.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Užívejte si na všech svých multimediálních zařízeních","WEBSITE_DEVICES_COLLECT":"Sbírat od Stremio","WEBSITE_DEVICES_IMPORT_FB":"Import z facebooku","WEBSITE_DEVICES_LOCAL":"Přidání z místní jednotky","WEBSITE_JOIN_THE_PARTY_NOW":"Připojte se k večírku nyní","WEBSITE_DEVICES_ALL":"Snadné použití na všech zařízeních;","WEBSITE_EXTENDABLE_CATALOG":"Nekonečně rozšiřitelný katalog videa;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Skvělé funkce pro organizaci médií;","WEBSITE_AS_SEEN_ON":"Neviděno","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"O nás","WEBSITE_LINK_TECHNOLOGY":"Technologie","WEBSITE_LINK_APPS":"Aplikace","WEBSITE_LINK_DOWNLOADS":"Stahování","WEBSITE_MORE":"Více","WEBSITE_LINK_ADDONS":"Doplňky","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Přispět","WEBSITE_LINK_COMMUNITY":"Komunita","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"Dnes již máte procvičeno. Buď přidejte více karet, nebo začněte znovu zítra.","WEBSITE_LINK_HELP":"Centrum nápovědy","WEBSITE_LINK_CONTACTS":"Obchodní dotazy","WEBSITE_LINK_TOS":"Podmínky a pravidla","WEBSITE_LINK_PRAVACY":"Zásady ochrany osobních údajů","WEBSITE_SUBSCRIBE":"Odebírat","WEBSITE_NEWSLETTER":"Připojte se k našemu zpravodaji pro úžasné věci","WEBSITE_PLACEHOLDER_EMAIL":"Váš e-mail","WEBSITE_COMMUNITY":"Komunita","WEBSITE_LINK_PRAVACY_LEGAL":"Ochrana soukromí a právní předpisy","WEBSITE_WHY":"Proč to děláme","WEBSITE_WHY_P1":"Ve Stremio chodíme každý den do práce, protože chceme vyřešit důležitý problém pro odvětví videa na vyžádání. Každou minutu je zveřejněno tolik nového obsahu, že je prakticky nemožné se v něm zorientovat.","WEBSITE_WHY_P2":"Pomáháme lidem orientovat se v obrovském světě video zábavy a objevovat nový obsah. Naše aplikace sdružují filmy, seriály, živé televizní vysílání, webové kanály a další. Snažíme se uživatelům neuvěřitelně usnadnit vyhledávání oblíbených titulů a televizních stanic.","WEBSITE_WHY_P3":"Naši službu můžete používat na jakémkoli zařízení a kdykoli, takže Stremio je jediné centrum video zábavy, které kdy budete potřebovat.","WEBSITE_TEAM":"TEAM","WEBSITE_TEAM_P":"Tým Stremio je malý, ale výkonný: deset z nás programuje v X jazycích a sdílíme odborné znalosti v oblasti vývoje softwaru, designu uživatelského rozhraní a UX, marketingu a reklamy a podnikání a startupů.","WEBSITE_FEATURES":"Vlastnosti","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Snadné objevování nového obsahu","WEBSITE_FEATURES_DISCOVER_P":"Snadno objevujte nové filmy, televizní pořady, seriály a kanály ke sledování. Procházejte podle kategorie, žánru, hodnocení, oblíbenosti atd. nebo jednoduše zadejte název a vyhledejte. Se službou Stremio je vyhledávání nového videoobsahu hračka.","WEBSITE_FEATURES_ALL_CONTENT":"Veškerý video obsah na jedné obrazovce","WEBSITE_FEATURES_ALL_CONTENT_P1":"Podívejte se, které filmy, seriály nebo videa jste nedokoukali, a pokračujte v jejich sledování, nechte si posílat upozornění na nové epizody a novinky a procházejte doporučení, která dostanete na základě svých diváckých návyků.","WEBSITE_FEATURES_LIBRARY":"Uspořádejte svou knihovnu videí","WEBSITE_FEATURES_LIBRARY_P1":"Jedním kliknutím přidáte do knihovny Stremio libovolný titul a můžete se orientovat v obsahu, který je přehledně uspořádán podle typu, aktuálnosti nebo abecedního pořadí.","WEBSITE_FEATURES_CALENDAR":"Sledujte vše, co sledujete","WEBSITE_FEATURES_CALENDAR_P1":"Získejte vizualizaci všech filmů a seriálů, které přidáte do své knihovny, v kalendáři. Exportujte svůj kalendář Stremio a synchronizujte jej, abyste vždy věděli, kdy se má objevit nová epizoda nebo premiéra.","WEBSITE_FEATURES_BIG_SCREEN":"Vychutnejte si video obsah na větší obrazovce","WEBSITE_FEATURES_BIG_SCREEN_P1":"Jediným kliknutím můžete přehrát cokoli, co sledujete, do jiného zařízení - telefonu, tabletu nebo televizoru.","WEBSITE_FEATURES_SOURCES":"Sledování videí z mnoha různých zdrojů","WEBSITE_FEATURES_SOURCES_P":"Nainstalujte si oficiální a komunitní doplňky, abyste si mohli vychutnat videa od mnoha různých poskytovatelů - to vše v jedné elegantní a snadno použitelné aplikaci.","WEBSITE_CREATE_AN_ADDON":"Vytvoření doplňku","WEBSITE_FEATURES_SYNC":"Synchronizace knihovny mezi různými zařízeními a obnovení přehrávání","WEBSITE_FEATURES_SYNC_P1":"Přihlaste se pomocí svého účtu do všech zařízení a užívejte si synchronizovanou knihovnu, doplňky, přehrávání a kalendář.","WEBSITE_FEATURES_EXTENDABLE":"Rozšiřitelný katalog videí pomocí doplňků","WEBSITE_FEATURES_EXTENDABLE_P1":"Katalog doplňků Stremio nabízí řadu doplňků, které si můžete nainstalovat a sledovat z nich nejrůznější videoobsah. Patří sem filmy, seriály, živé televizní vysílání, sport, zprávy, podcasty, webové kanály, videohry a další.","WEBSITE_FEATURES_AUTO_SUBS":"Automatické titulky","WEBSITE_FEATURES_AUTO_SUBS_P1":"S našimi doplňky titulků získáte automaticky vybrané možnosti pro preferovaný jazyk.","WEBSITE_FEATURES_CHROMECAST":"Casting do Chromecastu","WEBSITE_FEATURES_CHROMECAST_P1":"Vychutnejte si videoobsah na větší obrazovce nebo jen přenášejte sledované video do jiného zařízení.","WEBSITE_FEATURES_KEEP_TRACK":"Sledování oblíbených televizních pořadů a webových kanálů","WEBSITE_FEATURES_KEEP_TRACK_P1":"Získejte vizualizaci kalendáře a upozornění na nové epizody oblíbených seriálů a webových kanálů.","WEBSITE_FEATURES_POWER_USER":"Funkce pro výkonné uživatele","WEBSITE_FEATURES_POWER_USER_P1":"Přehrávání v externím přehrávači","WEBSITE_FEATURES_POWER_USER_P2":"Přehrávání ze souboru torrent nebo odkazu magnet","WEBSITE_FEATURES_POWER_USER_P3":"Import do knihovny ze služby Facebook likes nebo z místního disku","WEBSITE_ADD_ONS":"Doplňky","WEBSITE_ADD_ONS_P1":"Veškerý videoobsah, který Stremio poskytuje, je získáván prostřednictvím systému doplňků - aplikace neobsahuje žádný obsah ani poskytovatele obsahu.","WEBSITE_ADD_ONS_P2":"K dispozici jsou dvě skupiny doplňků: oficiální a komunitní.","WEBSITE_ADD_ONS_P3":"Oficiální doplňky vyvíjí a hostuje Stremio, zatímco komunitní doplňky vytvářejí členové naší komunity, kteří je také hostují.","WEBSITE_ADDONS_OFFICIAL":"Oficiální doplňky","WEBSITE_ADDONS_WATCHUB":"Streamujte své oblíbené filmy, seriály a pořady od poskytovatelů, jako jsou iTunes, Hulu, Amazon a další britské/americké služby.","WEBSITE_ADDONS_YOUTUBE":"Sledujte své oblíbené kanály YouTube bez reklam a dostávejte upozornění na nové příspěvky od autorů, které sledujete.","WEBSITE_ADDONS_FILMON":"Sledujte živé televizní vysílání, filmy a sociální televizi zdarma. 600 televizních kanálů, 45 000 bezplatných filmů, dokumentů a další.","WEBSITE_ADDONS_OPENSUBTITLES":"Filmové a televizní titulky ve více jazycích, tisíce přeložených titulků nahraných každý den.","WEBSITE_ADDONS_COMMUNITY":"Doplňky komunity","WEBSITE_ADDONS_FILMON_VOD":"Sledujte video na vyžádání z Filmon.tv","WEBSITE_ADDONS_TWICH":"Sledujte živé přenosy z Twitch.tv - platformy pro streamování videa z e-sportů.","WEBSITE_ADDONS_VODO":"Sledujte nezávislé filmy zcela zdarma.","WEBSITE_ADDONS_NETFLIX":"Sledování filmů a webových seriálů Netflix.","WEBSITE_ADDONS_CREATE":"Vytvoření doplňku","WEBSITE_ADDONS_CREATE_P1":"Pokud chcete, můžete si vytvořit vlastní doplněk. Tímto způsobem můžete sobě i naší komunitě poskytnout přístup k novému videoobsahu a oslovit nové, cílené publikum milionů uživatelů po celém světě.","WEBSITE_ADDONS_START_CREATE":"Chcete-li začít, navštivte stránku Stremio Addon SDK:","WEBSITE_DOWNLOADS":"Stahování","WEBSITE_DOWNLOADS_P1":"Pro optimální výkon doporučujeme používat nejnovější dostupnou verzi aplikací Stremio. Pokud však z nějakého důvodu chcete používat starší verzi, můžete si ji stáhnout zde.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio pro Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio pro macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio pro Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio pro Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio pro iOS (omezená verze)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"Platforma Stremio má otevřený zdrojový kód a můžete snadno vytvořit doplněk pro obsah, který v současné době nemá zdrojový kód.","WEBSITE_CONTRIBUTE_WHY":"Proč byste si měli vytvořit doplněk?","WEBSITE_CONTRIBUTE_WHY_P1":"Oslovte nové publikum pro svůj video obsah","WEBSITE_CONTRIBUTE_WHY_P2":"Uživatelská základna Stremio rychle roste - během prvního roku od spuštění získalo Stremio 1 milion uživatelů po celém světě a ve druhém roce existence platformy se jejich počet zvýšil na 2,5 milionu.","WEBSITE_CONTRIBUTE_WHY_P3":"S vaším doplňkem můžete toto publikum snadno oslovit a distribuovat mu svůj videoobsah.","WEBSITE_CONTRIBUTE_ALL":"Sledujte své oblíbené filmy, videa, seriály a kanály na jednom místě.","WEBSITE_CONTRIBUTE_ALL_P1":"Jste fanouškem určitého typu obsahu, který zatím není na Stremiu k dispozici? Vytvořte si pro něj doplněk a užijte si sledování oblíbených videí v jednom z největších a nejsnadněji použitelných zábavních center na trhu.","WEBSITE_CONTRIBUTE_ALL_P2":"Kromě toho získáte nekonečnou vděčnost dalších podobně smýšlejících členů komunity Stremio.","WEBSITE_CONTRIBUTE_MONETIZE":"Zpeněžujte svůj doplněk a vydělávejte peníze s jeho pomocí","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Jakmile vyvinete nový doplněk pro Stremio, můžete jej snadno zpeněžit několika různými způsoby. Pokud o tom uvažujete, neváhejte nás kontaktovat na adrese","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - rádi s vámi zkonzultujeme možnosti zpeněžení doplňků a poradíme vám.","WEBSITE_CONTRIBUTE_TRANSLATE":"Staňte se dobrovolným překladatelem","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Pokud chcete využívat aplikace Stremio v různých jazycích, můžete se připojit k naší komunitě dobrovolných překladatelů. Ti nám pomáhají přidávat verze aplikace Stremio v mnoha různých jazycích.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Máte chuť začít?","WEBSITE_TRANSALTE_STREMIO":"Přeložit Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Oficiální komunity","WEBSITE_COMMUNITY_OFFICIALS_P1":"Staňte se součástí rostoucí komunity Stremio. Sledujte nás na sociálních sítích a nestyďte se nás pozdravit - rádi se ozýváme našim fanouškům!","WEBSITE_COMMUNITY_UNOFFICIALS":"Neoficiální komunity","STREMIO_COMMUNITY_NL":"Stremio Nizozemsko","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Německo","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgie","STREMIO_COMMUNITY_FRANCE":"Stremio Francie","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugalsko","STREMIO_COMMUNITY_ITALY":"Stremio Itálie","STREMIO_COMMUNITY_UK":"Stremio Česká republika","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexiko","STREMIO_COMMUNITY_ADDONS":"Doplňky Stremio","STREMIO_COMMUNITY_AWESOME":"Úžasné Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partneři a podporovatelé","WEBSITE_COMMUNITY_GOODIES":"Stremio dobroty","WEBSITE_COMMUNITY_WALLPAPERS":"Tapety na plochu","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"Kontaktujte nás","WEBSITE_CONTACT_US_P1":"Máte-li jakékoli dotazy, připomínky nebo návrhy, neváhejte nás kontaktovat prostřednictvím níže uvedeného kontaktního formuláře.","WEBSITE_CONTACT_US_P2":"Mějte na paměti, že se nacházíme v Bulharsku, takže může dojít ke zpoždění při řešení vašeho dotazu kvůli rozdílům v časových pásmech.","WEBSITE_CONTACT_US_SUCCESS":"Vaše zpráva byla odeslána. Ozveme se vám v nejbližším možném termínu.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Zadejte prosím platný e-mail!","WEBSITE_CONTACT_US_Q_RELATED_TO":"Čeho se vaše otázka týká?","WEBSITE_CONTACT_US_Q_OS":"Jaký je váš operační systém?","WEBSITE_CONTACT_US_PH_EMAIL":"Váš e-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Zpráva","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"ODESLAT","WEBSITE_CONTACT_US_Q_1":"Jak nainstalovat?","WEBSITE_CONTACT_US_Q_2":"Jak odinstalovat?","WEBSITE_CONTACT_US_Q_3":"(HTML) Jak připravit lasagne?","WEBSITE_CONTACT_US_Q_4":"Doplňky","WEBSITE_CONTACT_US_OS_1":"Umístěním databáze na síťovou jednotku je ve Windows zakázáno, aby se předešlo poškození dat. Mnemosyne bude nyní uzavřeno.","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Technologie","WEBSITE_TECHNOLOGY_P1":" <br>Milujeme technologie a bláznivou vědu.</br> Tady je to, co pohání Stremio (vše je open-source).","WEBSITE_TECHNOLOGY_P_QT":"Vývoj softwaru napříč platformami v té nejlepší podobě.","WEBSITE_TECHNOLOGY_P_MPV":"Bezplatný multiplatformní přehrávač médií s otevřeným zdrojovým kódem.","WEBSITE_TECHNOLOGY_P_RN":"React Native umožňuje vytvářet mobilní aplikace pouze pomocí JavaScriptu.","WEBSITE_TECHNOLOGY_P_VLC":"Mediální rámec vložený do aplikace pro získání multimédií.","WEBSITE_TECHNOLOGY_P_REALM":"Realm je mobilní platforma a náhrada SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js je open-source, multiplatformní běhové prostředí jazyka JavaScript.","WEBSITE_TECHNOLOGY_P_RUST":"Rust je multiparadigmatický systémový programovací jazyk zaměřený na bezpečnost, zejména na bezpečnou souběžnost.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Přispět k projektu","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Existují dva způsoby, jak můžete přispět na Stremio a pomoci nám produkt ještě vylepšit.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Své cenné jazykové znalosti můžete věnovat překladu platformy...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"nebo","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... můžete využít své programátorské dovednosti při vytváření komunitních doplňků","WEBSITE_TRANSLATE_STREMIO":"Přeložit Stremio","WEBSITE_404_OH_NO":"Uh-oh! Hledaná stránka se zde nenachází...","WEBSITE_GO_HOME":"Jít domů","WEBSITE_LINK_OTHER_DOWNLOADS":"Ostatní soubory ke stažení","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Podpora","WEBSITE_DOWNLOAD_4_0_BETA":"Stáhněte si Stremio 4 beta nyní","WEBSITE_GET_FOR_DESKTOP":"Získat pro stolní počítače","WEBSITE_LINK_ADDON_COMPETITION":"Soutěž o doplněk","WEBSITE_LINK_ART_CONTEST":"Výtvarná soutěž","WEBSITE_MY_ACCOUNT":"Můj účet","WEBSITE_MAINPAGE_FAQ_001_H1":"Co je Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio je moderní multimediální centrum, které vám dává svobodu sledovat vše, co chcete.","WEBSITE_MAINPAGE_FAQ_002_H1":"Jak to funguje?","WEBSITE_MAINPAGE_FAQ_002_P1":"Po instalaci aplikace Stremio do zařízení a vytvoření účtu stačí navštívit katalog doplňků, nainstalovat libovolný doplněk a můžete začít!","WEBSITE_MAINPAGE_FAQ_002_P2":"Poté můžete přejít do sekce Objevovat nebo Nástěnka a začít zkoumat obsah.","WEBSITE_MAINPAGE_FAQ_003_H1":"Co zde mohu sledovat?","WEBSITE_MAINPAGE_FAQ_003_P1":"Hodně: Filmy, televizní pořady, webové kanály, sport, televizní kanály, poslech podcastů a další. Díky našemu systému doplňků máte přístup k nejrůznějšímu obsahu.","WEBSITE_MAINPAGE_FAQ_004_H1":"Je Stremio open-source?","WEBSITE_MAINPAGE_FAQ_004_P1":"Ano, můžete se podívat na následující odkazy: ${1}desktopová aplikace${2} a ${3}Organizace GitHub${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Je Stremio bezpečné?","WEBSITE_MAINPAGE_FAQ_005_P1":"Ano: protože se jedná o software s otevřeným zdrojovým kódem, kód je veřejně kontrolovatelný a můžete si ho sami zkontrolovat.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"A co moje soukromí?","WEBSITE_MAINPAGE_FAQ_006_P1":"Respektujeme soukromí uživatelů a neshromažďujeme žádné osobní údaje kromě nezbytného minima pro vytvoření a synchronizaci vašeho účtu.","WEBSITE_MAINPAGE_FAQ_006_P2":"Při registraci je k dispozici také režim ${1}Guest${2}, který nevyžaduje žádná data: v tomto režimu se nevolá na náš backend. Je to však na úkor užitečných funkcí, jako je možnost synchronizovat knihovnu napříč zařízeními.","WEBSITE_MAINPAGE_FAQ_007_H1":"Mohu vysílat na televizoru?","WEBSITE_MAINPAGE_FAQ_007_P1":"Ano, podporujeme Chromecast a můžete vysílat jak z počítače, tak z mobilních aplikací (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"Kolik má Stremio doplňků?","WEBSITE_MAINPAGE_FAQ_008_P1":"Od konce roku 2019 je jich více než 50 - více informací najdete v našem katalogu doplňků.","WEBSITE_MAINPAGE_FAQ_009_H1":"Lze Stremio rozšířit nad rámec toho, co je v katalogu doplňků?","WEBSITE_MAINPAGE_FAQ_009_P1":"Ano, měli byste je zkontrolovat: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6}, atd.","WEBSITE_MAINPAGE_FAQ_010_H1":"Jaká zařízení Stremio podporuje?","WEBSITE_MAINPAGE_FAQ_010_P1":"Máme desktopové aplikace pro Windows, Mac a Linux. Pro mobilní zařízení podporujeme Android a iOS, i když mějte na paměti, že iOS má omezené funkce (nepodporuje většinu doplňků).","WEBSITE_MAINPAGE_FAQ_010_P2":"Existuje mnoho zařízení se systémem Android, na kterých můžete spustit Stremio, například NVIDIA Shield a Amazon Fire Stick, ale oficiálně je nepodporujeme.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Můžete do služby Stremio přidat určitý obsah?","WEBSITE_MAINPAGE_FAQ_011_P1":"Omlouváme se, ale sami neposkytujeme žádný obsah, ale čím více doplňků Stremio máte nainstalováno, tím více obsahu budete moci najít.","WEBSITE_MAINPAGE_FAQ_012_H1":"Umí Stremio přehrávat magnetické odkazy?","WEBSITE_MAINPAGE_FAQ_012_P1":"Ano, a umí také přehrávat běžné odkazy HTTP a soubory torrent (přetažením).","WEBSITE_MAINPAGE_FAQ_013_H1":"Mohu si video stáhnout a sledovat ho offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Funkce dostupná offline je připravovaná, ale pokud povolíte, aby Stremio ukládalo videa do mezipaměti ve vašem zařízení (na panelu nastavení), můžete je později sledovat bez připojení.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nic nefunguje, pomozte mi!","WEBSITE_MAINPAGE_FAQ_014_P1":"Jste si jisti, že máte nainstalované doplňky? Pokud ano, obraťte se na naše ${1}pomocné centrum${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"Jak Stremio udržuje své vývojové operace?","WEBSITE_MAINPAGE_FAQ_015_P1":"Občas spouštíme nevtíravé reklamy, ale zvažujeme přechod na model dárcovství.","WEBSITE_MAINPAGE_FAQ_015_P2":"Další dotazy naleznete v našem ${1}pomocném centru${2}.","HELP_LEARN_MORE":"Pomozte nám dozvědět se o vás více.","LIFESTYLE":"Životní styl","SPORTS":"Sporty","FOOD_HEALTH":"Potraviny a zdraví","BEAUTY_FASHION":"Krása a móda","NEWS":"Novinky","GAMING":"Hry","SCIENCE_EDUCATION":"Věda & vzdělávání","MUSIC":"Hudba","TRAVEL":"Cestovní kancelář","LATE_NIGHT":"Pozdní noc","REALITY":"Realita","COMEDY":"Komedie","DIY":"Jak na kutilství","TECH":"Tech","CINEMA":"Kino","CONTINUE":"Pokračovat","SLOW_LOADING":"POMALÉ NAČÍTÁNÍ?","I_GIVE_UP":"VZDÁVÁM SE","LEARN_MORE":"Zjistit více","POOR_SOURCE":"Tento zdroj je špatně dostupný nebo vaše internetové připojení není dostatečně rychlé","PICK_CATEGORIES_ERR":"Musíte vybrat alespoň 3 kategorie","ADJUST_TIMING":"Nastavte časování pomocí","ADJUST_SIZE":"Upravte velikost pomocí","SEARCH_ANYTHING":"Můžete vyhledávat cokoli...","ALL_CATEGORIES":"Vše","SEARCH_CATEGORIES":"Filmy, seriály, YouTube a TV","SEARCH_PERSONS":"Herci, režiséři a scénáristé","SEARCH_PROTOCOLS":"HTTP & Magnet Odkazy","SEARCH_TYPES":"Odkazy na IMDB / TVDB","WATCHED":"Sledováno","SHOW_LESS":"Zobrazit méně","LAST_SEARCHES":"Poslední vyhledávání","CLEAR_HISTORY":"Vymazat historii","CHOOSE_SOME":"VYBERTE SI NĚCO Z TOHO:","NO_WEB_REMOTE":"Web Remote nelze načíst","STREMIO_OFFLINE":"Stremio je offline","STREMIO_EXPENSIVE_CONNECTION":"Zjistili jsme, že používáte mobilní datové připojení, chcete pokračovat?","USE_DATA":"Použití dat","WARNING":"Varování","MORE_INFO":"Více informací ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Načítám...","STREMIO_TV_BACK_TO_LANGUAGES":"Zpět na jazyky","STREMIO_TV_REMOTE":"Vzdálený","STREMIO_TV_GO_TO":"Přejít na:","STREMIO_TV_OR_SCAN":"nebo skenování:","STREMIO_TV_ADDON_INSTRUCTIONS":"Při instalaci preferovaných doplňků postupujte podle pokynů.","STREMIO_TV_LIVE_TV":"Živý televizní přenos","STREMIO_TV_RESUME_WATCHING":"Sledování životopisu","STREMIO_TV_LOADING_BACKGROUND":"Načítání pozadí","STREMIO_TV_CHECKING_AUTHENTICATION":"Kontrola ověřování","STREMIO_TV_LOADING_BOARD":"Nakládací deska","STREMIO_TV_LOGIN_HEADER_LINE_1":"Chceme, aby naši uživatelé měli s naším softwarem co nejlepší personalizované zkušenosti.","STREMIO_TV_LOGIN_HEADER_LINE_2":"Z tohoto důvodu vás žádáme, abyste si vytvořili a/nebo se přihlásili ke svému účtu.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Děkujeme za pochopení,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Tým Stremio","STREMIO_TV_REMOTE_INSTRUCTIONS":"Chcete-li používat webový ovladač pomocí chytrého telefonu / tabletu / stolního počítače:","STREMIO_TV_WIFI_SETUP":"Nastavení Wi-Fi","STREMIO_TV_WIFI_HEADER_LINE_1":"Aplikace Stremio Circle nezjistila připojení k internetu.","STREMIO_TV_WIFI_DETAILS_1":"Připojte se k:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Použijte heslo:","STREMIO_TV_WIFI_DETAILS_4":"stremiokruh","STREMIO_TV_WIFI_DETAILS_5":"Otevřete webový prohlížeč s odkazem:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Default","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"Podle posledního zhlédnutí","STREMIO_TV_LIBRARY_SORT_NAME":"Podle názvu","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"Podle počtu zhlédnutí","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Série ${1}","STREMIO_TV_STREAMS_LOADING":"Načteno ${1} / ${2} doplňků...","STREMIO_TV_STREAMS_STILL_LOADING":"Stále se načítá ${1} doplněk...","STREMIO_TV_PLAYER_SETTINGS":"Nastavení přehrávače","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Zpoždění titulků","STREMIO_TV_PLAYER_AUDIO_DELAY":"Zpoždění zvuku","STREMIO_TV_PLAYER_VIDEO_SCALING":"Škálování videa","STREMIO_TV_PLAYER_CHAPTERS":"Kapitoly","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Přeskočit ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Nepodporovaný zdroj streamu","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Chyba při otevírání externího odkazu","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Nelze upravit v režimu audio průchodu","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Přehrát s ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Přehrát s libVLC","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Přepnutí na přehrávač libVLC kvůli chybě přehrávání","STREMIO_TV_ADDONS_TITLE":"Použijte Stremio na vašem telefonu nebo PC k instalaci nebo konfiguraci doplňků a stiskněte „Synchronizovat doplňky“","STREMIO_TV_ADDONS_SUBTITLE":"Poznámka: ujistěte se, že používáte stejný účet Stremio","STREMIO_TV_ADDONS_SYNC_ADDONS":"Synchronizovat doplňky","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Doplňky úspěšně synchronizovány","STREMIO_TV_ADDONS_SYNC_FAILED":"Synchronizace doplňků se nezdařila","STREMIO_TV_META_LINK_FAILED":"Chyba při otevírání meta odkazu","STREMIO_TV_CATALOG_LOADING":"Stále se načítá katalog...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Jazyk rozhraní aktualizován","STREMIO_TV_SETTINGS_THEME_UPDATED":"Téma aktualizováno","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Výchozí přehrávač","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Externí přehrávač","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferovaný jazyk","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Sekundární preferovaný jazyk","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunelované přehrávání","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Možné problémy s přehráváním na některých zařízeních","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Některé formáty videa nemusí fungovat","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Shoda obnovovací frekvence","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Vypnuto","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Pouze obnovovací frekvence","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Obnovovací frekvence a rozlišení","STREMIO_TV_SETTINGS_NO_CACHING":"Bez ukládání do mezipaměti","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Výchozí","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Měkký","STREMIO_TV_SETTINGS_PROFILE_FAST":"Rychlý","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra rychlý","STREMIO_TV_SETTINGS_SERVER_URL":"URL streamovacího serveru","STREMIO_TV_SETTINGS_SERVER_VERSION":"Verze serveru","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Neznámé","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Verze Stremio","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Upravit URL serveru","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Zadejte URL streamovacího serveru","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Zobrazovat statistiky během načítání","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"Chcete-li si přečíst Zásady ochrany osobních údajů Stremio, navštivte:","STREMIO_TV_SETTINGS_TOS_TEXT":"Chcete-li si přečíst Podmínky používání Stremio, navštivte:","STREMIO_TV_NAV_SEARCH":"Najít","STREMIO_TV_NAV_HOME":"Domů","STREMIO_TV_NAV_DISCOVER":"Objevovat","STREMIO_TV_NAV_LIBRARY":"Knihovna","STREMIO_TV_NAV_MOVIES":"Filmy","STREMIO_TV_NAV_SERIES":"Seriály","STREMIO_TV_NAV_CHANNELS":"Kanály","STREMIO_TV_NAV_TV":"TV","STREMIO_TV_NAV_SETTINGS":"Nastavení","STREMIO_TV_NAV_ADDONS":"Doplňky","STREMIO_TV_LOGIN_TITLE":"Propojit účet","STREMIO_TV_LOGIN_EXPIRES_IN":"Vyprší","STREMIO_TV_LOGIN_STEP_ONE":"Naskenujte QR kód nebo přejděte na","STREMIO_TV_LOGIN_STEP_TWO":"Přihlašte se do svého Stremio účtu","STREMIO_TV_LOGIN_NEW_LINK":"Vyžádat nový odkaz","STREMIO_TV_LOGIN_LINK_REFRESHED":"Přihlašovací kód byl obnoven","STREMIO_TV_SEARCH_PLACEHOLDER":"Napište něco","STREMIO_TV_SEARCH_NO_ADDONS":"Nebyly vyžádány žádné doplňky pro katalogy","STREMIO_TV_SEARCH_BUTTON":"Vyhledat","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Mezera","STREMIO_TV_SEARCH_KEY_CLEAR":"Vymazat","STREMIO_TV_SEARCH_HISTORY_TITLE":"Historie vyhledávání","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Můžete vyhledávat názvy, herce, kanály a další","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Vymazat historii vyhledávání","STREMIO_TV_FILTERS_DESCRIPTION":"Vyberte jeden z níže uvedených filtrů","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streamingový server je offline. Zkontrolujte nastavení serveru.","FILTERS":"Filtry","SETTINGS":"Nastavení","ACCOUNT":"Účet","LOGOUT":"Odhlásit se","THEMES":"Témata","PLAYBACK":"Přehrávání","PLAYBACK_SPEED":"Rychlost přehrávání","AUDIO_TRACKS":"Zvukové stopy","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Videa","SERVER":"Server","LINKS":"Odkazy","ABOUT":"O aplikaci","INTERFACE":"Rozhraní","ANIMATIONS":"Animace","STATUS":"Stav","LANGUAGE":"Jazyk","SIZE":"Velikost","DELAY":"Zpoždění","BOLD":"Tučné","OPACITY":"Opacity","TEXT_COLOR":"Barva textu","OUTLINE_COLOR":"Barva obrysu","BACKGROUND_COLOR":"Barva pozadí","BACKGROUND_BLUR":"Zaměření pozadí","SEEK_TIME_DURATION":"Doba přesunu","AUTO_PLAY":"Automatické přehrávání další epizody","PLAY_NOW":"Přehrát nyní","MARK_AS_WATCHED":"Označit jako zhlédnuté","MARK_AS_UNWATCHED":"Označit jako nezhlédnuté","REWIND_TO_BEGINNING":"Zpět na začátek","CONTINUE_WATCHING":"Pokračovat ve sledování","ALL":"Vše","SECONDS":"sekundy","ON":"ON","OFF":"OFF","RELOAD":"Znovu načíst","EDIT_URL":"Upravit URL","NONE":"Žádné","EMBEDDED":"Vložené","REMOTE_SWITCH_DEVICES":"Přepínací zařízení","REMOTE_VIDEOS":"Videa","REMOTE_ADJUST_TIMING":"Nastavení časování","REMOTE_ADJUST_SIZE":"Nastavení velikosti","REMOTE_COULD_NOT_BE_LOADED":"Web Remote nelze načíst","REMOTE_RETRY":"Zkusit znovu","TORRENT_PROFILE_DEFAULT":"Default","TORRENT_PROFILE_SOFT":"Soft","TORRENT_PROFILE_FAST":"Fast","TORRENT_PROFILE_ULTRA_FAST":"Ultra Fast","FAQ_001_H1":"Co je Stremio?","FAQ_001_P1":"Stremio je software mediálního centra navržený pro video zábavu s ohledem na snadné používání. Stremio vám umožňuje organizovat &amp; sledovat vlastní sbírku filmů, seriálů, kanálů a živého televizního vysílání.","FAQ_001_P2":"Stremio shromažďuje obsah, který vám zobrazuje, z vašeho místního disku a z našeho systému doplňků.","FAQ_001_P3":"Upozorní vás také na nové epizody/videa/filmy, které vás zajímají, a doporučí vám filmy.","FAQ_02_H1":"Jak si Stremio vede ve srovnání s Kodi a Plexem?","FAQ_02_P1":"Inspirovali jsme se těmito dvěma softwary. Máme však odlišné cíle - Stremio je zaměřeno speciálně na video pro zábavu a snaží se stát hlavním řešením pro tuto oblast, protože se velmi snadno používá.","FAQ_02_P2":"Stremio nikdy nebude tak přizpůsobitelné a funkčně bohaté jako Kodi a Plex, ale jeho používání je podstatně jednodušší. Stačí ${1} si ho pořídit a uvidíte ${2} :)","FAQ_03_H1":"Jak si Stremio vede ve srovnání s Netflixem?","FAQ_03_P1":"Jednou z našich inspirací je opět Netflix. Snažíme se dosáhnout uživatelského zážitku Netflixu a navíc přidat spoustu dalších vychytávek. Co je však nejdůležitější, dáváme vám svobodu spravovat vlastní knihovnu a přidávat nové zdroje obsahu pomocí našeho systému doplňků.","FAQ_03_P2":"Díky tomu je Stremio nekonečně rozšiřitelné, takže při používání Stremio nejste nikdy omezeni obsahem, který se Netflix rozhodne licencovat. Prostřednictvím služby Stremio můžete například sledovat obsah z ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} a dokonce i ${9}Netflix${10} samotný!","FAQ_04_H1":"Jak si Stremio vede ve srovnání s Flipboardem?","FAQ_04_P1":"Tuto otázku nedostáváme tak často, kromě rozhovorů se začínajícími podnikateli :)","FAQ_04_P2":"Stremio je svým založením agregátor obsahu, což z něj v podstatě dělá Flipboard pro video. To je velmi patrné v sekci Nástěnka, která vám stejně jako Flipboard nabízí katalogy a upozornění na nové epizody/nová videa, která sledujete.","FAQ_05_H1":"Jak si Stremio vede ve srovnání s Popcorn Time?","FAQ_05_P1":"Stremio a Popcorn Time jsou si podobné uživatelským rozhraním, protože není mnoho způsobů, jak udělat katalogy video zábavy správně :)","FAQ_05_P2":"Zatímco Popcorn Time se zaměřuje na streamování torrentů z konkrétních zdrojů, Stremio je bez omezení a je pouze agregátorem obsahu - není vázáno na konkrétní zdroj obsahu.","FAQ_05_P3":"Kromě toho ve výchozím nastavení neposkytujeme žádné doplňky torrentů, takže Stremio nepokrývá případ použití Popcorn Time oficiálními funkcemi.","FAQ_05_P4":"Dalším významným rozdílem je, že Popcorn Time je zcela open source, zatímco Stremio je ${1} částečně open source${2}.","FAQ_06_H1":"Přidáte tento film/seriál?","FAQ_06_P1":"Ne, je mi líto :(","FAQ_06_P2":"Jak je uvedeno ve většině ostatních otázek, Stremio samo o sobě neposkytuje žádný obsah - vše se přidává prostřednictvím systému doplňků. V případě, že máte požadavek na obsah, můžete použít tlačítko \\"Nahlásit\\" v přehrávači, které odešle e-mail autorovi doplňku, který právě používáte.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Vytvoříte doplněk pro X?","FAQ_08_P1":"Je to docela možné.","FAQ_08_P2":"Pokud máte nápad na doplněk, napište nám na ${1}office@stremio.com${2}, ale ujistěte se, že váš nápad na doplněk neporušuje autorská práva ani podmínky používání.","FAQ_08_P3":"V současné době jsou na našem plánu doplňky pro FandangoNOW, Filmon.tv video on demand a Crunchyroll.","FAQ_09_H1":"Používá Stremio BitTorrent?","FAQ_09_P1":"Ano, Stremio podporuje BitTorrent jako streamovací protokol. Ten můžete použít buď pomocí doplňku torrent, nebo přetažením souboru .torrent do aplikace Stremio, případně vložením odkazu na magnet do vyhledávacího panelu.","FAQ_09_P2":"Vezměte prosím na vědomí, že jediným oficiálním doplňkem využívajícím BitTorrent je ${1}Vodo${2}, který poskytuje nezávislý obsah povolený k distribuci pomocí BitTorrentu.","FAQ_09_P3":"Nepodporujeme používání doplňků třetích stran, které by mohly umožnit porušování autorských práv.","FAQ_10_H1":"Co mohu sledovat v aplikaci Stremio s oficiálními doplňky?","FAQ_10_P1":"Ve výchozím nastavení můžete sledovat obsah serverů Filmon.tv, YouTube a Vodo přímo v aplikaci Stremio pomocí vloženého přehrávače. Kromě toho máme doplněk pro Twitch.tv a několik dalších.","FAQ_10_P2":"Tato kombinace nabízí výběr:","FAQ_10_L1":"Oblíbené televizní kanály, které poskytuje Filmon.tv - například E4, BBC, Bollyworld TV","FAQ_10_L2":"Vše z YouTube - například BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Nezávislé filmy s Vodo","FAQ_10_L4":"Online vysílání her pomocí Twitch.tv","FAQ_10_P3":"Kromě toho existuje mnoho zdrojů obsahu poskytovaných pomocí služby Guidebox a doplňků Netflix, které se <b>nepřehrávají</b> zcela uvnitř služby Stremio, ale přesměrovávají se na danou službu. Například doplněk Guidebox by vám poskytl výběr filmů, které můžete v USA streamovat zdarma, ze služeb jako TubiTV a Crackle.","FAQ_11_H1":"Stremio se nechce nainstalovat, co mám dělat?","FAQ_11_P1":"Pokud používáte Windows, zkuste ${1}tento alternativní instalátor${2}.","FAQ_11_P2":"Pokud používáte systém Mac OS X, upozorňujeme, že nepodporujeme nic staršího než OS X Mavericks (10.9).","FAQ_11_P3":"Pokud používáte Linux, vězte, že v současné době podporujeme pouze 64bitový (x64) Linux.","FAQ_11_P4":"Pokud se vám stále nedaří vyřešit váš problém, napište nám na naši ${1}Facebookovou skupinu${2}.","FAQ_12_H1":"Proč si můj antivirový program stěžuje? Je Stremio bezpečné?","FAQ_12_P1":"Ujišťujeme vás, že Stremio je ${1}100% cčistý ${2}.","FAQ_12_P2":"Váš antivirový program si stěžuje, protože v našem instalačním programu je reklama, kterou některé antivirové programy rozpoznávají jako ad-ware.","FAQ_12_P3":"Pokud si stále nejste jisti, můžete vyzkoušet náš ${1}alternativní instalátor${2}.","FAQ_13_H1":"Jak mohu vytvořit doplněk?","FAQ_13_P1":"Pro začátek doporučujeme zkontrolovat náš systémový modul ${1}addons${2} na GitHubu.","FAQ_13_P2":"Poté můžete postupovat podle výukového programu ${1}Hello World${2}.","FAQ_13_P3":"Pokud nemáte žádné programátorské dovednosti, napište svůj nápad na ${1}komunitu Reddit${2} a kontaktujte nás s nápadem na doplněk na ${3}office@stremio.com${4}.","FAQ_14_H1":"Jak se publikují doplňky?","FAQ_14_P1":"Když vytvoříte doplněk a hostitele a do manifestu vložíte pole <b>koncového bodu</b>, které ukazuje na adresu funkčního doplňku, doplněk se automaticky zveřejní v našem katalogu ${1}Addon catalogue${2}.","FAQ_14_P2":"K tomu dochází proto, že serverová část modulu stremio-addons automaticky volá naše rozhraní API a oznamuje doplněk. Jakmile naše rozhraní API potvrdí váš <b>koncový bod</b> jako platný doplněk, začne se zobrazovat v katalogu.","FAQ_15_H1":"Mohu spustit Stremio v prohlížeči?","FAQ_15_P1":"Momentálně ne, ale už se to blíží!","FAQ_15_P2":"Pokud jste zvědaví na verzi Alpha, můžete si ji prohlédnout zde: ${1}alpha4.strem.io${2}. Mějte na paměti, že streamování je v této alfě vypnuté. Podporujeme prohlížeče Chrome, Firefox, Opera a Edge.","FAQ_16_H1":"Casting do TV nefunguje / titulky nefungují","FAQ_16_P1":"Odesílání do televizoru využívá technologii DLNA, která je u různých značek a modelů televizorů velmi nejednotná. Z tohoto důvodu nemáme možnost testovat ji ve všech případech, takže zdaleka není dokonalá. Přesto na jejím vylepšování neustále pracujeme, ale nemůžeme vám poskytnout časový odhad, kdy DLNA začne s vaším televizorem správně fungovat.","FAQ_16_P2":"Pokud se televizor nezobrazuje ani v nabídce obsazení, zkuste zakázat síťové připojení a znovu jej povolit (v systému Windows klikněte pravým tlačítkem myši na položku Síť a použijte příkaz Povolit/Zakázat) a restartujte směrovač, televizor a počítač.","FAQ_16_P3":"Pokud se stále potýkáte s problémy, můžete nám pomoci zasláním informací o značce a modelu televizoru na adresu ${1}office@stremio.com${2}.","FAQ_16_P4":"Do té doby doporučujeme Chromecast, který velmi dobře podporujeme, nebo jednoduše připojit televizor k počítači pomocí kabelu HDMI.","FAQ_17_H1":"Co mám dělat, když Stremio zamrzne a/nebo spadne?","FAQ_17_P1":"Pokud používáte systém Windows 7 s antivirovým programem AVG, máme s touto kombinací problém. Problém je v samotném AVG a na naší straně neexistuje žádný rozumný způsob, jak jej vyřešit. Výjimky ani vypnutí antiviru bohužel nepomohou. Jediným řešením je nahradit AVG něčím jiným.","FAQ_17_P2":"Pokud to není problém, ale stále používáte systém Windows, aktualizujte jej na nejnovější servisní balíček a aktualizujte/přeinstalujte ovladače grafického procesoru a pak to zkuste znovu.","FAQ_17_P3":"Pokud problém stále není vyřešen nebo používáte Mac či Linux, napište nám přesné informace o problému na ${1}naší skupinu na Facebooku${2}.","FAQ_18_H1":"Jak mohu vytvořit doplněk?","FAQ_18_P1":"Pro začátek doporučujeme zkontrolovat náš systémový modul ${1}addons${2} na GitHubu.","FAQ_18_P2":"Poté můžete postupovat podle výukového programu ${1}Hello World${2}.","FAQ_18_P3":"Pokud nemáte žádné programátorské dovednosti, napište svůj nápad na ${1}komunitu Reddit${2} a kontaktujte nás s nápadem na doplněk na ${3}office@stremio.com${4}.","FAQ_19_H1":"Proč Stremio zabírá místo na disku?","FAQ_19_P1":"Stremio má <b>místní mezipaměť pro</b> dočasné uchovávání streamovaných video souborů.","FAQ_19_P2":"To má dvě výhody: zaprvé umožňuje Stremio předem vyrovnat video do vyrovnávací paměti, aby bylo zajištěno plynulejší streamování. Zadruhé uchovává videa v místní mezipaměti, takže je můžete dále sledovat offline.","FAQ_19_P3":"Množství, které Stremio uchovává, závisí na nastavení <b>vyrovnávací paměti</b> na panelu Nastavení. Stremio může na vašem disku uchovávat až nastavené množství (např. 2 GB), pokud není aktuálně streamované video větší než toto množství, v takovém případě musí vyčlenit dostatek úložného prostoru, aby jej uchoval až do doby, kdy jej budete streamovat.","FAQ_20_H1":"Kde se nachází složka mezipaměti?","FAQ_20_P1":"V systému Windows je to stremio-cache v jednotce, kterou jste vybrali v Nastavení (např. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"V systému MacOS je to \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"V systému Linux je to \\"~/.stremio/stremio-cache\\" nebo \\"~/stremio-cache\\"","FAQ_21_H1":"Zobrazí se mi chyba \\"Streaming server nebyl nalezen\\", co mám dělat?","FAQ_21_P1":"Pokud se vám tato chyba zobrazí, znamená to jednu z několika možností:","FAQ_21_P2":"1) Snažíte se použít doplněk podporovaný zdrojem YouTube/BitTorrent prostřednictvím naší verze ${1}web${2}. V takovém případě byste si měli nainstalovat naši verzi pro stolní počítače z ${3}našich webových stránek${4}.","FAQ_21_P3":"2) Něco je špatně s vaší instalací Stremio. V takovém případě zkuste znovu nainstalovat naši nejnovější verzi pro stolní počítače z ${1}webové stránky${2}. Pokud to nepomůže, zkuste vypnout antivirové programy a brány firewall, restartovat počítač a zkusit to znovu. Pokud ani to nepomůže, napište nám do naší ${3}skupiny na Facebooku${4}.","FAQ_22_H1":"Většinu doplňků v systému iOS nevidím/používám","FAQ_22_P1":"Vzhledem k omezením v podmínkách obchodu Apple App Store jsme aplikaci pro iOS omezili pouze na určitou sadu doplňků.","FAQ_22_P2":"Ale buďte si jisti - v budoucnu se objeví další doplňky pro iOS a možná přidáme také integraci, která vám umožní používat všechny doplňky Stremio díky připojení aplikace iOS ke Stremio Streaming Serveru."}')},4806:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Film","TYPE_series":"Serie","TYPE_tv":"Kanal","TYPE_channel":"Kanal","TYPE_other":"Andet","TYPE_movie_PL":"Film","TYPE_series_PL":"Serier","TYPE_tv_PL":"TV","TYPE_channel_PL":"YouTube","TYPE_other_PL":"Andrer","TYPE_ALL":"All","TYPE":"Type","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"Video","BACK":"Tilbage","MORE":"Mere","DONE":"Færdig","COPY":"Copy","SUCCESS":"Success","ERROR":"Error","SETTINGS_CASTING_MODE_PICKER":"Casting mode","CASTING_MODE_HLSV2":"Default","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"No transcoding","Discover":"Opdag","Board":"Væg","Library":"Bibliotek","My Library":"Mit Bibliotek","Calendar":"Kalender","NOTIFICATION_ONLINE":"Du er nu online","NOTIFICATION_OFFLINE":"Du er nu offline","INTERNET_CONNECTION":"Netværk forbindelse","STORAGE_FULL_TITLE":"OBS: Ikke mere ledig plads","STORAGE_FULL_TEXT":"Stremio will not be able to save your settings, preferences or login information. Consider re-starting or re-installing Stremio.","SEARCH":"Søg efter","SEARCH_NO_RESULTS":"Ingen resultater fundet","SEARCH_EXPLANATION_CONTENT":"Søg efter film, serier, YouTube og TV kanaler","SEARCH_EXPLANATION_PEOPLE":"Søg efter skuespiller, direktører og forfatterer","SEARCH_PASTE_LINKS":"Paste HTTP and Magnet links","SEARCH_OR_PASTE_LINK":"Search or paste link","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"Tilføj til Bibliotek","REMOVE_FROM_LIB":"Fjern fra Bibliotek","ADDED_TO_LIB":"Tilføjet til Bibliotek","REMOVED_FROM_LIB":"Fjernet fra Bibliotek","TRAILER":"Trailer","WATCH_TRAILER":"Se Trailer","WATCH_NOW":"Afspil","SHOW":"Vis","SHOW_MOVIE":"Vis film","WATCH_RANDOM":"Se tilfældig","IMDB_RATING":"IMDb Bedømmelse","YEAR":"År","DIRECTOR":"Instruktør","WRITER":"Skrevet af","LEAD_ACTORS":"Hovedroller","CAST":"Medvirkende","CREW":"Filmhold","SHOW_MORE_CAST":"Se flere »","AIRED":"Sendt","SEASONS":"Sæsoner","GENRE":"Genre","GENRE_ALL":"All genres","CATALOG":"Katalog","SUMMARY":"Opsummering","SHOW_MORE":"Show More","SIMILAR":"Lignende","UPCOMING":"Kommende","ENDED":"Sluttet","DURATION":"Længde","FEATURED":"Featured","METADATA":"Metadata","CATEGORY":"Kategori","LINKS_GENRES":"Genres","LINKS_CAST":"Cast","LINKS_DIRECTORS":"Directors","SEARCH_VIDEOS":"Søg videoer","SEARCH_PLACEHOLDER":"Søg eller indsæt magnet link","ADDON":"Tilføjelse","ADDONS":"Tilføjelser","OFFICIAL":"Officielle","ADDONS_OFFICIAL":"Officielle Stremio tilføjelser","ADDONS_POPULAR":"Populære nær dig","ADDON_FREE":"Gratis","ADDON_PEERED":"peered","ADDON_SUBSCRIPTION":"Abonnement","ADDON_STREAM_GEORESTRICTED":"Ikke tilgængeligt i dit område","ADDON_STREAM_OFFLINECACHE":"Offline Cache","ADDON_STREAM_LOCALFILE":"Lokal Fil","SHARE_ADDON":"Del tilføjelse","AVAILABLE_STREAMS":"Tilgængelige Streams","NO_STREAM":"Ingen tilgængelige streams","ALL_ADDONS":"All","INSTALL_MORE_ADDONS":"For flere streams, vær venlig at installere flere tilføjelser","STREAM_NOT_SUPPORTED":"Den valgte stream er ikke understøttet på denne platform.","ADDON_CATALOGUE":"Vis alle tilføjelser »","ADDON_CATALOGUE_MORE":"Flere tilføjelser »","REPO_ADDED":"Repository added","ADDON_REPO_EXIST_ERR":"This addons repository already exist","ADDON_REPO_ERR":"Der opstod fejl under tilføjelse af repository","ADDON_ADD_ERR":"Der skete en fejl under tilføjelse af tilføjelsen","ERR_ADDON_PROTECTED":"Beskyttet tilføjelse","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Noget gik galt - authentificering slog måske fejl","ERR_NOT_COLLECTION_URL":"Not a collection url","ERR_NOT_ADDON_URL":"Not an addon url","ERR_DETECTFROMURL":"Cannot detect from url","ADDON_DUPLICATE_WARNING":"Warning: duplicated addon","ADDON_COLLECTION_SET_FAILED":"Addon collection set failed","SETTINGS_DATA_EXPORT":"Export data","ADDON_PULL_FAILED":"Addon pulling failed","REFRESH_ON_CLICK":"Click to retry","STILL_IN_THEATER":"Film stadig i biografen","WATCH_IN_CINEMA":"se den i din lokale biograf","IN_THEATER":"I biografen","GET_TICKETS":"Køb biletter","UPCOMING_EPISODE":"Upcoming episode","UPCOMING_EPISODE_MESSAGE":"This episode will be aired on","MISSING_DATE_EPISODE":"Missing episode date","MISSING_DATE_EPISODE_MESSAGE":"This episode might not have aired yet","CHANNEL_NOT_SCRAPED":"Denne kanal er ikke indekseret endnu.<br>Kom tilbage om et par minutter.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Tilføj til dit bibliotek og bliv notificeret når den er tilgængelig","GET_NOTIFIED_WHEN_AVAILABLE":"Du vil blive notificeret når den er tilgængelig","WARNING_STREAMING_SERVER":"Warning: local streaming server not found. Streaming from YouTube and BitTorrent will not be available.","WARNING_STREAMING_SERVER_DISMISS":"Dismiss","WARNING_STREAMING_SERVER_LATER":"Later","DECODER_WARNING":"Warning: this video may not be supported by your hardware. Keep in mind, playback may be slow.","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"Oops, Player Error","PLAYER_ERROR_LOOKSLIKE":"It looks like","PLAYER_ORIENTATION":"Player orientation","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Locked","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensor","PLAYER_ORIENTATION_LANDSCAPE":"Player orientation locked at landscape","PLAYER_ORIENTATION_SENSOR":"Player orientation automatic (sensor)","PLAYER_PLAYBACK_SPEED":"Playback Speed","PLAYER_PLAYBACK_ERROR":"Playback error, please try again","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Unknown error","PLAYER_PLAYBACK_ERROR_DEFAULT":"Sorry, this video cannot be played by {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Subtitles Languages","PLAYER_SUBTITLES_VARIANTS":"Subtitles Variants","PLAYER_SUBTITLES_SETTINGS":"Subtitles Settings","PLAYER_SUBTITLES_DISABLED":"Subtitles are disabled","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Vertical Position","PLAYER_SUBTITLES_LOADED":"Subtitles loaded","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Embedded subtitles loaded","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Exclusive subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Subtitles from {{origin}} loaded","PLAYER_PLAY":"Play","PLAYER_PAUSE":"Pause","PLAYER_NEXT_VIDEO":"Next Video","PLAYER_MUTE":"Mute","PLAYER_UNMUTE":"Unmute","PLAYER_OPEN_IN_EXTERNAL":"Open in external player","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Play in {{device}}","PLAYER_LIVE":"Live","PLAYER_NEXT_VIDEO_TITLE":"Coming up next on","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Dismiss","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Watch now","PLAYER_COPY_STREAM_SUCCESS":"Stream link was copied to your clipboard","PLAYER_COPY_STREAM_ERROR":"Failed to copy stream link","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","STREAMING_FROM":"streamer fra","CASTING_TO":"Afspiller på","NETWORK_STATUS":"Netværksstatus","STREAM_SPEED":"Hastighed:","STREAM_BUFFERED":"Downloadet:","PEERS_INFO":"Peers Information","PEERS_ACTIVE":"Aktive:","PEERS_CONNECTED":"Forbundet:","PEERS_WAITING":"Venter:","TRANSCODING_WARNING":"Warning: transcoding video.","STREAM_LOADING":"Henter..","PLAYING_LOCAL":"afspiller fra lokal fil","PLAYING_CACHE":"afspiller fra cache","WRONG_SUBS":"Forkert tekst?","ERR_SUBS_LOADING_TITLE":"Fejl under indlæsning af undertekster","ERR_SUBS_LOADING":"Kunne ikke indlæse undertekster: det kunne være et problem med tilføjelsen du bruger eller med din netværk forbindelse","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Følgende underteksts tilføjelse fejlede","ERR_CASTING_UPDATE_TITLE":"Kunne ikke opdatere casting enheds info: streaming serveren er måske offline","CHOOSE_DEVICE":"Vælg enhed at afspille på","NO_CAST_DEVICES":"Ingen casting enheder tilgængelige.","NO_SETTINGS":"Ingen instillinger tilgængelige.","PHONE_TABLET":"Telefon / Tablet","SUBTITLES":"Undertekster","SUBTITLES_CHANGE":"Ændre undertekster","SUBTITLES_CHANGE_NONE":"Der er ikke flere undertekster til dette sprog, desværre.","SUBTITLES_CHANGE_ACIVE":"Undertekst &#35;{{subtitlesDialog.activeIdx + 1}} er aktiveret. Klik \\"Forsæt\\" for at aktivere &#35;{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Alternativt,","SUBTITLES_ADJUST_DELAY":"Juster undertekst forsinkelse:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Eller brug <span>G</span> / <span>H</span> taster under afspilning for at justere.","SUBTITLES_ADJUST_DELAY_TIP":"TIP: du kan bruge <span>G</span> / <span>H</span> taster under afspilning for at justere.","SUBTITLES_DELAY":"Undertekst forsinkelse:","SUBTITLES_LOADING":"Indlæser undertekster...","SUBTITLES_UNAVAILABLE":"Ingen eksterne undertekster tilgængelige","SUBTITLES_DISABLED":"Slået fra","EXTERNAL_PLAYER_DISABLED":"Disabled","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Allow Choosing","EXTERNAL_PLAYER_HINT":"Hint: There is a setting to allow always opening with external player","DONT_SHOW_AGAIN":"Don\'t show again","SERVICE_INSTALL":"Install","AUDIO":"Lyd","DEFAULT_LANGUAGE":"Default Language","DEFAULT_SECONDARY_LANGUAGE":"Default Secondary Language","SEASON":"Sæson","EPISODE":"Episode","EPISODE_ABBREVIATION":"EP","SPECIAL":"Special","SORT":"sort","SORT_BY":"Sort by","FILTER":"filter","SORT_TRENDING":"tendens","SORT_RECENT":"seneste","SORT_ALPHABET":"alfabetisk","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"bedømmelser","SORT_WATCHED":"set","SORT_YEAR":"år","SELECT_TYPE":"Select type","SELECT_SORT":"Select sort","SELECT_CATALOG":"Select catalog","SELECT_GENRE":"Select genre","SORT_LASTWATCHED":"By last watched","SORT_NAME":"By name","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"By times watched","SORT_NOTWATCHED":"not watched","New for You":"Nyt til dig","New Episodes":"Nye episoder","New Videos":"Nye Videoer","Recommendations":"Anbefalinger","LIBRARY_RESUME":"Genoptag","LIBRARY_PLAY":"Play","LIBRARY_DETAILS":"Detaljer","LIBRARY_RESUME_DISMISS":"Afvis","LIBRARY_CLEAR_PROGRESS":"Clear Progress","LIBRARY_REMOVE":"Remove","LIBRARY_NOT_LOGGED_IN":"Library is only available for logged in users","CALENDAR_NOT_LOGGED_IN":"Calendar is only available for logged in users","NOT_LOGGED_IN_CLOUD":"Access your favorite movies and TV shows anytime, anywhere","NOT_LOGGED_IN_RECOMMENDATIONS":"Recommendations tailored to your viewing history","NOT_LOGGED_IN_NOTIFICATIONS":"Never miss an episode again","NOT_LOGGED_IN_CALENDAR":"Schedule your personal watching calendar","DISCOVER_FEATURED":"Indhold","DISCOVER_TOP":"Populære","DISCOVER_OSCAR":"Oscar Vindere","DISCOVER_WARNING_TITLE":"Ups!","DISCOVER_EMPTY_CATALOG":"Tilføjelsen returnerede tomt indhold.","DISCOVER_ADULT_WARNING":"Inholdet er kun synligt for voksne. Er du 18+?","DISCOVER_NOADDON_WARNING":"Advarsel: intet Stremio tilføjelse aktiveret for denne type. Viser gemte ting, intet vil blive opdateret.","DISCOVER_LOAD_ERR":"Indholdet kunne ikke indlæses, fejl opstået.","DISCOVER_ADDON_UNINSTALLED":"Indholdet er ikke længere tilgængeligt, måske har du afinstalleret tilføjelsen.","UNINSTALL_THIS_ADDON":"Afinstaler tilføjelsen","ERR_ADDON_NOT_INSTALLED":"Tilføjelsen er ikke instaleret. Instaler nu?","DETAIL_RECEIVE_NOTIF_SERIES":"Modtag notifikationer for nye episoder","DETAIL_RECEIVE_NOTIF_VIDEOS":"Modtag notificationer for nye videoer","SIDEBAR_SHOW_STREAMS":"Vis streams","RELAUNCH":"Genindlæs nu!","UPGRADE":"Opdater til seneste Stremio version","RELOAD_UI":"Genindlæs brugerflade","MANUAL_UPDATE_TITLE":"Opdater din Stremio version","MANUAL_UPDATE_LINE1":"Du kører en gammel version af Stremio hvilket ikke er anbefalet.","MANUAL_UPDATE_LINE2":"Opdater venligst så hurtigt som muligt.","BUTTON_UPDATE_LATTER":"Ikke nu","BUTTON_UPDATE_NOW":"Opdater","ANONYMOUS_USER":"Anonym bruger","DONT_HAVE_ACC":"Har du ikke en konto?","HAVE_ACC":"Har du allerede en konto?","PASSWORD":"Adgangskode","PASSWORD_CONFIRM":"Bekræft adgangskode","EMAIL":"E-mail","FB_LOGIN":"Login med Facebook","FB_NOTHINGSHARED":"Intet bliver delt uden din tilladelse","FB_NOPOST":"Vi slår aldrig noget op på dine vegne","OR":"eller","I_ACCEPT":"Jeg accepterer","I_ACCEPT_BY_CLICKING":"Ved at klikke overstående knap bekræfter jeg at jeg accepterer ","TOS":"Betingelser","MUST_ACCEPT_TERMS":"You must accept terms","PASSWORDS_NOMATCH":"Kodeord ikke korrekt","SIGN_UP":"Opret","SIGN_UP_EMAIL":"Tilmeld med email","CLICK_TO_SIGN_UP":"Klik her for at tilmelde dig.","LOG_IN":"Log ind","LOG_OUT":"Log ud","EXIT_FULLSCREEN":"Exit fullscreen mode","ENTER_FULLSCREEN":"Enter fullscreen mode","PLAY_URL_MAGNET_LINK":"Play URL/Magnet link","HELP_FEEDBACK":"Hjælp & Feedback","TERMS_OF_SERVICE":"Terms of Service","PRIVACY_POLICY":"Privacy Policy","ABOUT_STREMIO":"Om Stremio","USER_PANEL":"Bruger Panel","LOGIN_LABEL":"Login","GUEST_LOGIN":"Gæste log ind","GUEST_LOGIN_NOTICE":"Guest Login is not recommended. Using a regular login allows Stremio to sync your Library, receive notifications for favourite series/channels. Are you sure you want to proceed?","GUEST_LOGIN_NOTICE_2":"Guest Login is not recommended - you won\'t have synced Library and Board notifications, which are vital Stremio features. Are you sure you want to proceed?","CLICK_HERE":"Klik her","WRONG_PASSWORD":"Forkert kodeord. Har du glemt dit kodeord, ","SET_A_PASS":"Vælg kodeord","RESET_PASSWORD":"Reset kodeord","FORGOT_PASSWORD":"Glemt kodeord?","EMAIL_USED_WITH_FB":"Denne email er brugt til Facebook log ind.","INVALID_EMAIL":"Venligst intast en gyldig email addresse","INVALID_PASSWORD":"Venligst indtast et gyldigt kodeord","CONN_ERR":"Forbindelse fejl - Prøv igen senere.\\n\\nHvis fejl forsætter, deaktiver firewalls/anti-virus software (specielt Bitdefender).","IMPORT_FROM_GUEST":"Importer bibliotek fra din gæstekonto","RECEIVE_UPDATES_EMAIL":"Modtag opdateringer til din email fra Stremio","LOGIN_FAILED":"Login fejlede.","SIGNUP_FAILED":"Tilmelding fejlede.","SEARCH_FAILED":"Søgning fejlede","EMAIL_USED":"Denne email er allerede i brug.","WAITING_FB_LOGIN":"Logger ind med Facebook...","EXTERNAL_PLAYER_TITLE":"Afspil i extern afspiller","EXTERNAL_REMEMBER_PLAYER":"Husk valg?","EXTERNAL_ALWAYS_PLAY":"Ja","EXTERNAL_ONLY_ONCE":"Nej","BEST_FIT":"Best Fit","FIT_SCREEN":"Fit Screen","FILL":"Fill","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"Fortæl os hvad du godt kan lide","INTRO_TASTE_LONG":"Fortæl os om hvad du gerne vil se","INTRO_TASTE_PICK":"Vælg {{interestsRemaining}} interesser","INTRO_TASTE_PICK_MORE":"Vælg {{interestsRemaining}} flere interesser","INTRO_TASTE_HELP_US":"Hjælp os med at lære mere om dig.","INTRO_TASTE_CHOOSE_THESE":"Vælg nogle af disse:","INTRO_TASTE_CHOOSE_MIN":"Vælg mindst 3 kategorier","INTRO_TASTE_CHOOSE_MIN_ERR":"Du skal vælge mindst 3 kategorier!","INTRO_TASTE_LIFESTYLE":"Livsstil","INTRO_TASTE_SPORTS":"Sport","INTRO_TASTE_FOOD_HEALTH":"Mad & Sunhed","INTRO_TASTE_BEAUTY_FASHION":"Skønhed & Mode","INTRO_TASTE_NEWS":"Nyheder","INTRO_TASTE_GAMING":"Gaming","INTRO_TASTE_SCIENCE_EDU":"Videnskab & Uddannelse","INTRO_TASTE_MUSIC":"Musik","INTRO_TASTE_TRAVEL":"Rejse","INTRO_TASTE_LATE_NIGHT":"Late Night Show","INTRO_TASTE_REALITY":"Reality","INTRO_TASTE_COMEDY":"Komedie","INTRO_TASTE_DIY":"Gør det selv","INTRO_TASTE_TECH":"Tech","INTRO_TASTE_CINEMA":"Biograf","ADDON_NOT_SUPPORTED":"Den valgte tilføjelse er ikke understøttet på denne platform.","ADDON_DISCLAIMER":"Brug af tredjeparts tilføjelser vil altid være dit eget ansvar og love og regler kan være forskellige fra land til land.","ADDON_ACTIVATE":"Aktiver denne tilføjelse?","ADDON_REPO_ADD":"Addon repository url","ADDON_ADD":"Add","INSTALL_ADDON":"Install addon","ADD_ADDON":"Add addon","ADD_ADDON_DESCRIPTION":"You can add an addon via an external link, which will appear under Installed addons.","PASTE_ADDON_URL":"Paste addon URL","WHATS_NEW":"Hvad er nyt","BUTTON_CONTINUE":"Fortsæt","BUTTON_ACTIVATE":"Aktiver","BUTTON_ACTIVATED":"Activated","BUTTON_CANCEL":"Annuller","BUTTON_SUBMIT":"Submit","BUTTON_DISMISS_ALL":"Dismiss All","BUTTON_VIEW_ALL":"view all","BUTTON_SEE_ALL":"See All","BUTTON_COLOR_TRANSPARENT":"Transparent","OPEN_IN_BROWSER":"Open in browser","LIB_EMPTY":"Dit bibliotek er tomt. Find ud af hvor brugbart det er :) ","HOW_START":"Tilføj indhold til dit bibliotek","LIB_EMPTY_CAL":"Din kalender viser serier fra dit bibliotek.","HOW_START_CAL":"Tilføj indhold til dit bibliotek","LIB_EMPTY_BOARD":"Din væg viser notifikationer &amp; anbefalinger relateret til dit bibliotek.","HOW_START_BOARD_WAIT":"Tilføj indhold til dit bibliotek og vent et par minutter til indholdet er opdateret :)","HOW_START_BOARD":"Sådan tilføjer du indhold","IMPORT_FB":"Importer ting du kan lide fra <span>Facebook</span>","IMPORT_TRAKT":"Import your media library from <span>Trakt</span>","IMPORT_DISCOVER":"Find interessante ting fra <span>Opdag</span>","IMPORT_DISK":"Importer film og serier fra din <span>computer</span>","PLEASE_CREATE_ACC":"Venligst <u>opret en konto</u> for at aktivere Bibliotek &amp; Væg.","IMPORT_DISCOVER_SIGNUP":"Sign up and find interesting stuff from <span>Discover</span>","IMPORT_DISK_SIGNUP":"Sigm up and import movies or shows you have on your <span>local disk</span>","LIB_EMPTY_CLOUD":"Cloud library","LIB_EMPTY_CLOUD_DESC":"Personal cloud library synced on all devices","LIB_EMPTY_EARLY":"Early bird","LIB_EMPTY_EARLY_DESC":"Receive notifications for new episodes","LIB_EMPTY_PERSONAL":"Personal","LIB_EMPTY_PERSONAL_DESC":"Get personal recommendations","LIB_EMPTY_CALENDAR_DESC":"Schedule your personal watching calendar","LIB_EMPTY_ALL":"Sign up to get all of these:","LIB_EMPTY_BEST":"Sign up to get best of Stremio","LIB_EMPTY_OTHER":"Sign up to enable Calendar & other cool features","CALENDAR_ADDED":"The Stremio calendar has been added to your default desktop calendar.","CALENDAR_ADDED_MSG":"If this does not work, please add this URL to your calendar application manually","TRAKT_EXPIRED":"Trakt authentication expired, please go to Settings and re-authenticate","TRAKT_REQUIRES_LOGIN":"Trakt error","TRAKT_REQUIRES_LOGIN_MSG":"You need to login","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","SETTINGS_LABEL":"Settings","SETTINGS_NAV_GENERAL":"General","SETTINGS_NAV_PLAYER":"Player","SETTINGS_NAV_STREAMING":"Streaming","SETTINGS_NAV_SHORTCUTS":"Shortcuts","SETTINGS_SHORTCUT_RELOAD_APP":"Reload App","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Open Settings","SETTINGS_SHORTCUT_SWITCH_TABS":"Switch Tabs","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Cycle Through Tabs Forward","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Cycle Through Tabs Backward","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigate Between Menus","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Go to Search","SETTINGS_SHORTCUT_EXIT_BACK":"Exit / Go Back","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Toggle Playback Speed Menu","SETTINGS_SHORTCUT_MENU_VIDEOS":"Toggle Videos Menu","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Toggle Subtitles Menu","SETTINGS_SHORTCUT_MENU_INFO":"Toggle Info Menu","SETTINGS_SHORTCUT_FULLSCREEN":"Toggle Fullscreen","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Show Controls","SETTINGS_SHORTCUT_PLAY_PAUSE":"Play / Pause","SETTINGS_SHORTCUT_VOLUME_UP":"Volume Up","SETTINGS_SHORTCUT_VOLUME_DOWN":"Volume Down","SETTINGS_SHORTCUT_SEEK_NEXT":"Seek Next","SETTINGS_SHORTCUT_SEEK_PREV":"Seek Prev","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Seek Backward","SETTINGS_SHORTCUT_SEEK_FORWARD":"Seek Forward","SETTINGS_SHORTCUT_PLAY_NEXT":"Play Next","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Increase Subtitles Size","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Decrease Subtitles Size","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Increase Subtitles Delay","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Decrease Subtitles Delay","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Toggle Sidebar","SETTINGS_SHORTCUT_OR":"or","SETTINGS_SHORTCUT_TO":"to","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Authenticate","SETTINGS_FACEBOOK_IMPORT":"Import","SETTINGS_CALENDAR_SUBSCRIBE":"Subscribe","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Interface Language","SETTINGS_LAUNCH_STARTUP":"Kør ved opstart","SETTINGS_VLC_DEFAULT":"Play with VLC","SETTINGS_UI_LANGUAGE":"UI Language","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Escape key exit full screen","SETTINGS_GAMEPAD":"Enable gamepad support","SETTINGS_CLOSE_WINDOW":"Close app when window is closed","SETTINGS_SUBTITLES_LANGUAGE":"Default Subtitles Language","SETTINGS_SUBTITLES_SIZE":"Default Subtitles Size","SETTINGS_SUBTITLES_BACKGROUND":"Subtitles background","SETTINGS_SUBTITLES_COLOR":"Subtitles color","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Subtitles outline color","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Subtitles background color","SETTINGS_SEEK_KEY":"Arrow keys seek time","SETTINGS_SEEK_KEY_SHIFT":"Arrow keys seek time when Shift key is held","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Rewind & Fast-forward duration","SETTINGS_BINGE":"Auto-play next episode","SETTINGS_NEXT_VIDEO":"Show notification to start next episode","SETTINGS_NEXT_VIDEO_TRIGGER":"Show next episode notification for:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Next video popup duration","SETTINGS_PLAY_IN_BACKGROUND":"Play in background","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Play in external player","SETTINGS_RESIZE":"Auto-resize window before playing","SETTINGS_OVERRIDE_SERVER":"Override the streaming server URL (advanced)","SETTINGS_SERVER_URL":"Streaming server URL: ","SETTINGS_SERVER_AVAILABLE":"Streaming server is available.","SETTINGS_SERVER_UNAVAILABLE":"Streaming server is not available.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Error","SETTINGS_SERVER_CONFIGURE_TITLE":"Configure streaming server url","SETTINGS_SERVER_CONFIGURE_INPUT":"Enter a streaming server url","SETTINGS_SERVER_CACHE_SIZE":"Cache size","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent profile","SETTINGS_HTTPS_ENDPOINT":"Streaming HTTPS endpoint: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Always use latest Beta","SETTINGS_IMPORT_FB":"Importer fra Facebook","SETTINGS_IMPORT_DISK":"Importer fra computer","SETTINGS_IMPORT_TRAKT":"Import from Trakt","SETTINGS_PAUSE_MINIMIZED":"Pause playback when minimized","SETTINGS_HWDEC":"Hardware-accelerated decoding","SETTINGS_BACKGROUND":"Background playback","SETTINGS_SUBSCRIBE_CALENDAR":"Abonner på kalender","SETTINGS_REQ_EXPORT":"Request data export","SETTINGS_ACC_DELETE":"Request account deletion","SETTINGS_CHANGE_PASSWORD":"Ændre kodeord","SETTINGS_TOS":"Servicevilkår","SETTINGS_SUPPORT":"Kontakt support","SETTING_LANGUAGE":"Sprog","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_LOGOUT":"Log out of Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Log Out of Trakt","SETTINGS_SCAN_FOR_REMOTE":"Scan QR code to open remote","SETTINGS_DESKTOP_NOTIFICATIONS":"Desktop notifications","SETTINGS_DATA_SAVER":"Data saver","SETTINGS_LANGUAGE_INTERFACE":"interface","SETTINGS_LANGUAGE_SUBS":"default subtitles","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Autoselect Audio Track","SETTINGS_DEFAULT_AUDIO_TRACK":"Default Audio Track","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"account","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"version","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"Launch player in a separate window (advanced)","SETTINGS_PLAY_IN_EXTERNAL":"Always start video in external player","SETTINGS_STORAGE_BUTTON":"Clear Local Storage","SETTINGS_STORAGE_MODAL_TITLE":"Are you sure ?","SETTINGS_STORAGE_MODAL_MESSAGE":"This will clear the local storage and log you out.","SETTINGS_HWDEC_PICKER":"Pick hardware-accelerated decoding setting","SETTINGS_HW_AUTOMATIC":"Automatic","SETTINGS_HW_DISABLED":"Disabled","SETTINGS_HW_ACCELERATED":"Decoding acceleration","SETTINGS_HW_FULL":"Full acceleration","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Subtitles","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Controls","SETTINGS_SECTION_AUTO_PLAY":"Auto-Play","SETTINGS_SECTION_ADVANCED":"Advanced","SUBSPICKER_AUDIO":"Audio","SUBSPICKER_SUBTITLES":"Addons Subtitles","SUBSPICKER_BLACK_BACKGROUND":"Use black background color","SUBSPICKER_VERTICAL_OFFSET":"Vertical Offset","SUBSPICKER_SIZE":"Size","SUBSPICKER_DELAY":"Delay","SUBSPICKER_EMBEDDED_SUBS":"Embedded Subtitles","MOBILE_PRIVACY_POLICY":"Privacy Policy","MOBILE_CRASH_REPORTING":"Crash Reporting","MOBILE_ZOOM_TO_FILL":"Zoom To Fill Screen","MOBILE_PASSTHROUGH":"Digital audio output (passthrough)","MOBILE_RUN_LOW_BATTERY":"Run on low battery","MOBILE_RUN_FOREGROUND":"Run as Foreground Service","MOBILE_PERFORMANCE":"PERFORMANCE & STABILITY","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"QR Code expires in ","MOBILE_LOG_INTO":"Log in to your Stremio account ","MOBILE_SCAN_QR":"Scan QR code above or go to ","MOBILE_LINK_ACCOUNT":"Link Account","MOBILE_SPEEDPICKER_CANCEL":"Cancel","MOBILE_SPEEDPICKER_LABEL":"Select Playback Speed","MOBILE_EMPTY_LIBRARY":"Your library is empty","MOBILE_NO_ADDON_ACTIVE":"No Stremio addon active for this type.","MOBILE_ORGANIZER_WARNING":"The Stremio Organizer app provides limited functionality. For a list of playable streams and the full Stremio experience, use Stremio on desktop.","MOBILE_ADDON_LOADING":"is still loading","MOBILE_ADDONS_LOADING":"addons are still loading","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Configure your addon","MOBILE_CONFIGURE_ADDON_LABEL":"Configure Addon","MOBILE_ORGANIZER_ADDONS_WARNING":"The Stremio Organizer app provides a limited selection of addons. For the full Stremio experience, use Stremio on desktop.","MOBILE_DISCONNECT":"Disconnect","MOBILE_LOOKING_FOR_DEVICES":"Looking for devices...","MOBILE_CAST_TO":"Cast to","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Delete Account","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Account deletion is not instant due to legal obligations. After requesting deletion of your account you will have to use different email address/facebook profile to create a new Stremio account in the future.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirm Account Deletion","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Your account has been created using Facebook. To delete your account, please use our user portal at www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Please provide your password to confirm account deletion.","MOBILE_DELETE_ACCOUNT_BUTTON":"Delete Account","NAVIGATION_ON":"On","NAVIGATION_OFF":"Off","MARKETING_AGREE":"I agree to receive marketing communications from Stremio","QUIT":"Afslut","CONNECTED":"Connected","AUTHENTICATE":"Godkend","CACHING":"Caching","SETTINGS_CACHING_DRIVE":"Vælg caching drev","ENABLE_LOCAL_FILES_ADDON":"Enable the local files addon (requires restart)","LOCAL_ADDON_NOT_ENABLED":"Local addon is not enabled. Click here to go to the settings and enable it","ENABLE_REMOTE_HTTPS_CONN":"Enable remote HTTPS connections","TORRENT_PROFILE":"Torrent Profile","DATA_CACHING":"Data Caching","MAGNET_PARSING":"Parsing a magnet link","January":"Januar","February":"Februar","March":"Marts","April":"April","May":"Maj","June":"Juni","July":"Juli","August":"August","September":"September","October":"Oktober","November":"November","December":"December","Monday":"Mandag","Tuesday":"Tirsdag","Wednesday":"Onsdag","Thursday":"Torsdag","Friday":"Fredag","Saturday":"Lørdag","Sunday":"Søndag","Action":"Action","Comedy":"Komedie","War":"Krig","Family":"Familie","Animation":"Animation","Adventure":"Eventyr","Fantasy":"Fantasy","Crime":"Krimi","Mystery":"Mystik","Romance":"Romantik","Drama":"Drama","Horror":"Gyser","Thriller":"Spænding","Sci-Fi":"Sci-Fi","Music":"Musik","Biography":"Biografi","Documentary":"Dokumentar","Sport":"Sport","Musical":"Musical","Western":"Western","Film-Noir":"Film-Noir","News":"Nyheder","History":"Historie","Game-Show":"Gameshow","Reality-TV":"Reality TV","Talk-Show":"Talk-Show","Film & Entertainment":"Film & Underholdning","Gaming":"Gaming","From TV":"Fra TV","Lifestyle":"Livsstil","Science & Education":"Videnskab & Uddannelse","Cooking & Health":"Madlavning & Helbred","Beauty & Fashion":"Skønhed & Mode","Sports":"Sport","News & Politics":"Nyheder & Politik","How-to & DIY":"Gør det selv","Tech":"Teknologi","Automotive":"Biler","Causes & Non-Profits":"Sager & Non-profit","Movies":"Film","Uk Live Tv":"UK Direkte TV","Fashion":"Mode","Business News Radio":"Business Nyheds Radio","Business Tv":"Business TV","Cars & Auto":"Biler & Auto","Comedy Radio":"Komedie Radio","Lifestyle Radio":"Livsstils Radio","News Tv":"Nyheds TV","Food And Wine":"Mad & Vin","Latino Tv":"Latino TV","Shopping Tv":"Shopping TV","Religion":"Religion","Kids":"Børn","Body & Soul":"Krop & Sjæl","Education":"Uddannelse","Indian Tv":"Indisk TV","Extreme Sports":"Ekstremsport","Middle Eastern Tv":"TV fra Mellemøsten","Celebrity Tv":"Kendis TV","Science Tv":"Videnskabs TV","Bikini babe":"Bikini Piger","Outdoors":"udendørs","German Tv":"Tysk TV","French Tv":"Fransk TV","Italian Tv":"Italiensk TV","Gamer Tv":"Spil TV","Travel":"Rejse TV","Asian Tv":"Asiatisk TV","Entertainment":"Underholdning","News Radio":"Nyheds Radio","Music Radio":"Musik Radio","Language Learning":"Sprog & Læring","Science Radio":"Videnskabs Radio","Tech Radio":"Teknologi Radio","Science & Technology Vod":"Videnskab & Teknologi VOD","new video":"ny video","new episode":"ny episode","new movie":"ny film","recommended":"anbefalet","we recommend":"vi anbefaler","offer of the day":"offer of the day","news":"news","music video":"music video","CTX_SHOW_HOTKEYS":"Show hotkeys","CTX_DISMISS_NOTIF":"Afvis notifikationer","CTX_DISMISS_ALL":"Dismiss all","CTX_SHARE":"Del","CTX_COPY_SHARE_LINK":"Kopier dele link","CTX_COPY_MAGNET_LINK":"Copy magnet link","CTX_COPY_STREAM_LINK":"Copy stream link","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Download this video","CTX_DOWNLOAD_SUBS":"Download subtitles","CTX_VIEW_ON_YOUTUBE":"View on YouTube","CTX_SHOW":"Vis","CTX_PLAY":"Play","CTX_PLAY_IN":"Play in","CTX_PLAY_ON":"Play on","CTX_WATCH_ON":"Se på","CTX_WATCH":"Se","CTX_WATCHED":"Set","CTX_WATCH_BEGINNING":"Se fra begyndelsen","CTX_WATCH_MOBILE":"Se på en mobil enhed","CTX_REWIND":"Tilbage til begyndelsen","CTX_MARK_WATCHED":"Marker som set","CTX_MARK_NON_WATCHED":"Marker som ikke set","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"Mark rest as watched","CTX_UNMARK_REST":"Mark rest as non-watched","CTX_RECEIVE_NEW_NOTIF":"Modtag nye notifikationer","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"Fjern cache","CTX_REMOVE_CACHE_EP":"Fjern episode fra cache","CTX_OPEN_CONTAINING":"Åben mappe","CTX_REMOVE":"Fjern fra bibliotek","CTX_AVAILABLE_OFFLINE":"Tilgængelig Offline","CTX_PAUSED":"Pause","CTX_ALWAYS_ON_TOP":"Altid øverst","CTX_FULLSCREEN":"Fuldskærm","CTX_WRONG_SUBS":"Forkerte undetekster?","CTX_REPORT_ISSUES":"Rapporter problem","CTX_COPY":"Kopier","CTX_PASTE":"Indsæt","CTX_CLEAR":"Ryd","CTX_CLEAR_RECENT_SEARCHES":"Ryd seneste søgninger","HELLO_THERE":"Hej","HOPE_YOU_ENJOY":"Vi håber du nyder Stremio og at det er et af dine favorit programmer allerede!","WHO_ARE_WE":"Hvem er vi? Vi er holded bag - to gutter som har arbejdet hårdt de sidste 3 år, med et samlet mål - at gøre dette produkt bedre og bedre.","SUPPORT_US":"Hvis du kan lide Stremio, hvis Stremio er værdifuldt for dig - støt os!","SPREAD_THE_WORD":"Del med dine venner nu, spred ordet omkring Stremio","MORE_PEOPLE":"Nu flere folk der bruger Stremio, nu bedre vil det blive!","SEND_A_LINK":"Eller send et link til vores hjemmeside","TIP_LOCALFILES":"Tip: you can drag & drop local video files into Stremio","ADDON_MY":"My Addons","ADDON_COMMUNITY":"Community Addons","ADDON_OFFICIAL":"Official Addons","ADDON_REPOS":"Addon repositories","ADDON_SEARCH":"Search addons","ADDON_INSTALL":"Install","ADDON_CONFIGURE":"Configure","ADDON_UNINSTALL":"Uninstall","ADDON_UPGRADE":"Upgrade","ADDON_INSTALLED":"Installed","ADDON_INSTALLED_MSG":"Addon installed!","ADDON_UPGRADED_MSG":"Addon upgraded!","ADDON_UNKNOWN":"Unknown","ADDON_ERR":"Addon install error!","ADDON_DISCONNECTED":"Disconnected","ADDON_APP_MISSING":"the app for this source is not installed. Do you want to install it now?","ADDON_APP_INSTALL":"Install Now","ADDON_PAGE":"Addon Page","ADDON_TOP_CONTENT":"Best from this Addon","ADDON_PROVIDES":"provides","ADDON_WATCH":"Watch #{types} now!","ADDON_WATCH_FREE":"Watch #{types} for FREE now!","ADDON_ADDON":"Addon","ADDON_SUPPORTED_TYPES":"Supported types","ADDON_SUPPORTED_CATALOGS":"Supported catalogs","ADDON_PROVIDES_DISCOVER":"More #{types} in Discover","ADDON_PROVIDES_STREAMS":"Watch #{types}","ADDON_PROVIDES_STREAMS_FREE":"Watch #{types} for FREE","ADDON_PROVIDES_SUBTITLES":"Subtitles for #{types}","ADDON_CANTDETECT":"We couldn\'t detect a running Stremio, so we couldn\'t detect what addons you have installed.","ERR_NO_META":"No information found about this ","ERR_GETTING_META":"Error retrieving information about this.","ERR_CANT_PARSE_MAGNET":"Unable to parse magnet","ERR_NO_MAGNET_INFOHASH":"No valid info hash for magnet","ERR_NO_FILE_PATH":"Unable to send request without a path to file","ERR_NO_TORRENT":"No torrent returned","ERR_NO_SUPPORTERD_FILES":"No supported files found","ERR_OPENING_FILES":"Could not open external files","ERR_INVALID_LINK":"Invalid link","ERR_REGISTERED_ONLY":"This option is available for registred users only.","ERR_CLIPBOARD":"Can not play from clipboard","ERR_CLIPBOARD_READ":"Can not read the clipboard on this platform","ERR_CLIPBOARD_GENERIC":"No playable URL found in the clipboard. Please copy a URL (e.g. a magnet link) to a video.","BOARD_CONTINUE_WATCHING":"Continue watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Movies picked specially for you.<br />This movie is a sample recommendation.","BOARD_EXPLANATION_EPISODES":"New episodes of your favorite Series come here.<br />Add series you follow to your Library.","BOARD_EXPLANATION_VIDEOS":"New episodes of your favorite Channels come here.<br />Add YouTube channels you follow to your Library.","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE":"Contribute","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"Learn more","WEBSITE_COMPANY":"Company","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Need Help?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"Watch Instantly","WEBSITE_SLOGAN_ALL":"All the Video Content You Enjoy in One Place","WEBSITE_SLOGAN_NEW":"All You can Watch","WEBSITE_SLOGAN_NEW_NEW":"Freedom to Stream","WEBSITE_WATCH_FROM":"Watch from","WEBSITE_DOWNLOAD":"Download Now","WEBSITE_DOWNLOAD_FOR":"Download Now For","WEBSITE_IS_DESKTOP":"Stremio is a desktop application, open this page on your PC and download it","WEBSITE_DESKTOP_DEMO_VID":"Desktop demo","WEBSITE_PAGE_HOME":"Home","WEBSITE_PAGE_FEATURES":"Features","WEBSITE_PAGE_ADDONS":"Addons","WEBSITE_PAGE_TECH":"Technology","WEBSITE_PAGE_CREATE_ADDON":"Create Addon","WEBSITE_PAGE_CONTACTS":"Contacts","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Movies","WEBSITE_TYPE_series_PL":"Series","WEBSITE_TYPE_tv":"Live TV","WEBSITE_TYPE_channel":"Channels","WEBSITE_STREMIO_WHAT_IS":"Stremio is an app that helps you organize and instantly watch your favorite videos, movies, TV series and TV channels.","WEBSITE_FEATURES_WATCH":"Watch Instantly in HD","WEBSITE_FEATURES_WATCH_DETAIL":"Click and play your favourite movies, TV Shows, videos and TV channels.","WEBSITE_FEATURES_SUBS":"Automatic Subtitles","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio automatically picks synced subtitles for your language.","WEBSITE_FEATURES_SUBS_LABEL":"Your move, chief.","WEBSITE_FEATURES_CAST":"Play on TV & mobile devices","WEBSITE_FEATURES_CAST_DETAIL":"Cast to AppleTV, Chromecast, Smart TV (DLNA/UPnP) and mobile devices.","WEBSITE_LIB":"Enjoy Your Personal Library Synced on All Your Devices","WEBSITE_LIB_COLLECT":"Collect from Stremio","WEBSITE_LIB_IMPORT":"Import from Facebook","WEBSITE_LIB_LOCAL":"Add from your local drive","WEBSITE_BOARD":"The Board - Your one-stop place for Notifications and Recommendations","WEBSITE_BOARD_RECOMMEND":"Recommended TV Show","WEBSITE_BOARD_TRENDING":"Trending Movie","WEBSITE_BOARD_NEW":"New Video","WEBSITE_BOARD_EPISODE":"New Episode","WEBSITE_BOARD_1":"Looking for something interesting to watch? Get recommendations based on your taste!","WEBSITE_BOARD_2":"Get notified when a new episode of your favourite TV show or YouTube channel is out!","WEBSITE_BOARD_YOUTUBE":"New videos of YouTube channels","WEBSITE_BOARD_EPISODES":"New episodes of series you follow","WEBSITE_ADDONS":"Content Addons","WEBSITE_TECH_DETAIL":"We love technology, we love mad science!\\nStremio is using the following open source technologies:","WEBSITE_TECH_WCJS":"WebChimera.js allows Stremio to play any video format with good performance.","WEBSITE_TECH_WCJS_EXTRA":"We are core project contributors","WEBSITE_TECH_ELECTRON":"Electron provides an innovative platform to build Stremio with.","WEBSITE_TECH_ELECTRON_EXTRA":"We are project contributors","WEBSITE_TECH_LINVODB":"A database technology that ensures your data is organized and available anywhere you login.","WEBSITE_TECH_LINVODB_EXTRA":"In-house technology","WEBSITE_CREATE_ADDON":"Create your addon","WEBSITE_CREATE_ADDON_DETAIL":"Do you have a service providing video content? We\'ll help you benefit from Stremio\'s features by creating your Addon.","WEBSITE_CREATE_ADDON_BENEFITS":"Benefits of Creating an Addon for Stremio","WEBSITE_P2P_BEAUTY":"The Beauty of Peer-to-Peer Streaming","WEBSITE_P2P_1":"Reliable and affordable full HD / 4K video on demand or live streaming","WEBSITE_P2P_2":"Distribution platform providing great user experience","WEBSITE_P2P_3":"We will create an addon meeting your exact needs","WEBSITE_P2P_CONTACT":"Interested? You are welcome to <a href=\'mailto:office@stremio.com\'>contact us</a>.","WEBSITE_P2P_CONTACT_EXTRA":"We will be happy to help you integrate your content with Stremio!","WEBSITE_P2P":"Once in a while, there comes a technology that changes the name of the game. We invested tons of time and effort in building our Peer-to-Peer (P2P) video streaming engine that provides great performance and versatility to adapt with any use case.\\nContact us for DRM-enabled P2P video on demand or live streaming.","WEBSITE_THOUGHTS":"Thoughts we share:","WEBSITE_SPREAD":"Spread the word about Stremio:","WEBSITE_CONTACT":"If you are looking to contact us, go ahead at","WEBSITE_OPENSOURCE":"For our open source projects, go to our","WEBSITE_BITCOIN":"Donate bitcoin:","WEBSITE_FAQ":"Frequently asked questions","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Questions","WEBSITE_TOS":"Terms of use","WEBSITE_LEGAL":"Legal","WEBSITE_PAGE_ABOUT":"About","WEBSITE_PAGE_BECOME_PARTNER":"Become a partner","WEBSITE_ALL_YOU_CAN_WATCH":"Freedom To Watch\\nEverything You Want.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"What is stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio is a one-stop hub for video content aggregation. Discover, organize and watch video from all kind of sources on any device that you own.","WEBSITE_WHAT_IS_STREMIO_P2":"Movies, TV shows, series, live television or web channels like YouTube and Twitch.tv - you can find all this on Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio is a modern media center that\'s a one-stop solution for your video entertainment. You discover, watch and organize video content from easy to install addons.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Movies, TV shows, live TV or web channels - find all this on Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Enjoy on all your Media devices","WEBSITE_DEVICES_COLLECT":"Collect from Stremio","WEBSITE_DEVICES_IMPORT_FB":"Import from facebook","WEBSITE_DEVICES_LOCAL":"Add from local drive","WEBSITE_JOIN_THE_PARTY_NOW":"Join the party now","WEBSITE_DEVICES_ALL":"Easy to use on all your devices;","WEBSITE_EXTENDABLE_CATALOG":"Infinitelly extendable video catalog;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Great features to organize your media;","WEBSITE_AS_SEEN_ON":"As seen on","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"About us","WEBSITE_LINK_TECHNOLOGY":"Technology","WEBSITE_LINK_APPS":"Apps","WEBSITE_LINK_DOWNLOADS":"Downloads","WEBSITE_MORE":"More","WEBSITE_LINK_ADDONS":"Addons","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Contribute","WEBSITE_LINK_COMMUNITY":"Community","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... & More","WEBSITE_LINK_HELP":"Help center","WEBSITE_LINK_CONTACTS":"Contacts us","WEBSITE_LINK_TOS":"Terms & conditions","WEBSITE_LINK_PRAVACY":"Privacy policy","WEBSITE_SUBSCRIBE":"Sibscribe","WEBSITE_NEWSLETTER":"Join Our Newsletter for amazing stuff","WEBSITE_PLACEHOLDER_EMAIL":"Your Email","WEBSITE_COMMUNITY":"Community","WEBSITE_LINK_PRAVACY_LEGAL":"Privacy & legal","WEBSITE_WHY":"Why we do it","WEBSITE_WHY_P1":"At Stremio, we come to work every day because we want to solve an important problem for the video-on-demand industry. There’s so much new content published every minute that it’s virtually impossible to find your way around it.","WEBSITE_WHY_P2":"We help people navigate that huge world of video entertainment and discover new content to enjoy. Our apps bring together movies, series, live TV, web channels, and more. We are dedicated to making it incredibly easy for users to find titles and broadcasters that they love.","WEBSITE_WHY_P3":"You can use our service on any device and at any time, making Stremio the only video entertainment hub you’ll ever need.","WEBSITE_TEAM":"TEAM","WEBSITE_TEAM_P":"The Stremio team is small but powerful: between the ten of us, we code in X languages, and share expertise in software development, UI and UX design, marketing and advertising, and business and startups.","WEBSITE_FEATURES":"Features","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Discover new content with ease","WEBSITE_FEATURES_DISCOVER_P":"Easily discover new movies, TV shows, series and channels to watch. Browse by category, genre, rating, recency, etc. or simply type a name to find. Stremio makes finding new video content a piece of cake.","WEBSITE_FEATURES_ALL_CONTENT":"All of your video content on one screen","WEBSITE_FEATURES_ALL_CONTENT_P1":"See what movies, series or videos you didn’t finish and continue watching them; get notified for new episodes and releases; and browse through the recommendations you will get based on your viewing habits.","WEBSITE_FEATURES_LIBRARY":"Organize your video library","WEBSITE_FEATURES_LIBRARY_P1":"Add any title to your Stremio library with a single click and find your way around your content, neatly arranged by type, recency, or alphabetical order.","WEBSITE_FEATURES_CALENDAR":"Keep track of everything you watch","WEBSITE_FEATURES_CALENDAR_P1":"Get a calendar visualization of all the movies and series you add to your library. Export your Stremio calendar and sync it so you always know when a new episode or a premier is due.","WEBSITE_FEATURES_BIG_SCREEN":"Enjoy your video content on a bigger screen","WEBSITE_FEATURES_BIG_SCREEN_P1":"Cast whatever you are watching to another device - be it a phone, tablet or a TV with a single click.","WEBSITE_FEATURES_SOURCES":"Watch video from many different sources","WEBSITE_FEATURES_SOURCES_P":"Install official and community addons to enjoy video sourced from many different providers - all in one sleek, easy to use app.","WEBSITE_CREATE_AN_ADDON":"Create an addon","WEBSITE_FEATURES_SYNC":"Sync your library across different devices and resume your playback","WEBSITE_FEATURES_SYNC_P1":"Login with your account across all your devices and enjoy your library, addons, playback and calendar synchronized.","WEBSITE_FEATURES_EXTENDABLE":"Extendable video catalog by addons","WEBSITE_FEATURES_EXTENDABLE_P1":"The Stremio addon catalog provides a number of addons to install and watch a variety of video content from. This includes movies, shows, live TV, sport, news, podcasts, web channels, video games and more.","WEBSITE_FEATURES_AUTO_SUBS":"Automatic subtitles","WEBSITE_FEATURES_AUTO_SUBS_P1":"With our subtitle addons you get automatically selected options for your preferred language.","WEBSITE_FEATURES_CHROMECAST":"Casting to Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Enjoy your video content on a bigger screen or just cast whatever you are watching to another device.","WEBSITE_FEATURES_KEEP_TRACK":"Keep track of your favorite TV shows and Web channels","WEBSITE_FEATURES_KEEP_TRACK_P1":"Get a calendar visualization and notifications for new episodes of your favorite series and web channels.","WEBSITE_FEATURES_POWER_USER":"Power user features","WEBSITE_FEATURES_POWER_USER_P1":"Play in external player","WEBSITE_FEATURES_POWER_USER_P2":"Play from a torrent file or magnet link","WEBSITE_FEATURES_POWER_USER_P3":"Import to your library from Facebook likes or local disk","WEBSITE_ADD_ONS":"Addons","WEBSITE_ADD_ONS_P1":"All of the video content Stremio provides get sourced through an addon system - no content or content provider has been built into the app.","WEBSITE_ADD_ONS_P2":"There are two groups of addons available: official and community addons.","WEBSITE_ADD_ONS_P3":"The official ones are developed and hosted by Stremio, whereas community addons are created by our community members, who also host them.","WEBSITE_ADDONS_OFFICIAL":"Official addons","WEBSITE_ADDONS_WATCHUB":"Stream your favourite movies, series and shows from providers like iTunes, Hulu, Amazon and other UK/US services.","WEBSITE_ADDONS_YOUTUBE":"Watch your favourite YouTube channels ad-free and get notifications for new uploads from the contributors you follow.","WEBSITE_ADDONS_FILMON":"Watch live TV, movies and social television for free. 600 TV channels, 45,000 free movies, documentaries and more.","WEBSITE_ADDONS_OPENSUBTITLES":"Movie and TV subtitles in multiple languages, thousands of translated subtitles uploaded every day.","WEBSITE_ADDONS_COMMUNITY":"Community addons","WEBSITE_ADDONS_FILMON_VOD":"Watch video on demand from Filmon.tv","WEBSITE_ADDONS_TWICH":"Watch live streams from Twitch.tv - a video streaming platform for the e-sports industry.","WEBSITE_ADDONS_VODO":"Watch indie movies absolutely free of charge.","WEBSITE_ADDONS_NETFLIX":"Watch Netflix movies and web series.","WEBSITE_ADDONS_CREATE":"Create an addon","WEBSITE_ADDONS_CREATE_P1":"If you wish, you can develop your own addon. This way, you can give yourself and our community access to new video content, and reach a new, targeted audience of millions of users around the world.","WEBSITE_ADDONS_START_CREATE":"To get started, visit the Stremio Addon SDK page:","WEBSITE_DOWNLOADS":"Downloads","WEBSITE_DOWNLOADS_P1":"For optimal performance, we recommend that you use the latest available version of the Stremio apps. If for some reason, however, you would like to use an older version, you can download it here.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio for Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio for macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio for Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio for Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio for iOS","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"The Stremio platform is open source and you can easily create an addon for content that is currently not sourced.","WEBSITE_CONTRIBUTE_WHY":"Why should you create an addon?","WEBSITE_CONTRIBUTE_WHY_P1":"Reach new audience for your video content","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio’s user base is growing rapidly - within the first year of the launch, Stremio had gained 1 million users around the world, and in the second year of the platform’s existence this number grew to 2.5 million.","WEBSITE_CONTRIBUTE_WHY_P3":"With your addon, you can easily reach this audience and distribute your video content to them.","WEBSITE_CONTRIBUTE_ALL":"Watch your favourite movies, videos, series and channels in one single place.","WEBSITE_CONTRIBUTE_ALL_P1":"You’re a fan of a particular type of content not available on Stremio yet? Create an addon for it and enjoy watching your favourite videos in one of the largest and easiest to use entertainment hubs on the market.","WEBSITE_CONTRIBUTE_ALL_P2":"On top of that, you’ll get the endless gratitude of other like-minded Stremio community members.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetize your addon and earn money with its help","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Once you develop a new addon for Stremio, you can easily monetize it through a number of different ways. If you are considering this, feel free to get in touch with us at ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - we would be happy to consult and advise you about addon monetization options.","WEBSITE_CONTRIBUTE_TRANSLATE":"Become a volunteer translator","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"If you want to enjoy the Stremio apps in different languages, you can join our community of volunteer translators. They help us add versions of the Stremio in many different languages.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Are you eager to get started?","WEBSITE_TRANSALTE_STREMIO":"Translate Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Official communities","WEBSITE_COMMUNITY_OFFICIALS_P1":"Become a part of the growing Stremio community. Follow us on social media and don’t be shy to say hello - we love hearing from our fans! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Unofficial communities","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partners and supporters","WEBSITE_COMMUNITY_GOODIES":"Stremio goodies","WEBSITE_COMMUNITY_WALLPAPERS":"Wallpapers","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"Contact us","WEBSITE_CONTACT_US_P1":"If you have any questions, comments or suggestions, feel free to get in touch with us through the contact form below.","WEBSITE_CONTACT_US_P2":"Keep in mind that we are located in Bulgaria so there may be a delay in addressing your query due to time zone differences.","WEBSITE_CONTACT_US_SUCCESS":"Your message has been sent. We will get back to you at our earliest convenience.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Please enter a valid email!","WEBSITE_CONTACT_US_Q_RELATED_TO":"What is your question related to?","WEBSITE_CONTACT_US_Q_OS":"What is your Operation System?","WEBSITE_CONTACT_US_PH_EMAIL":"Your E-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Message","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"SEND","WEBSITE_CONTACT_US_Q_1":"How to install?","WEBSITE_CONTACT_US_Q_2":"How to uninstall?","WEBSITE_CONTACT_US_Q_3":"(HTML) How to make lasagna?","WEBSITE_CONTACT_US_Q_4":"Addons","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Technology","WEBSITE_TECHNOLOGY_P1":"We love technology and mad science. </br> Here is what powers Stremio (it’s all open-source).","WEBSITE_TECHNOLOGY_P_QT":"Cross-platform software development at its best.","WEBSITE_TECHNOLOGY_P_MPV":"A free, open source, and cross-platform media player.","WEBSITE_TECHNOLOGY_P_RN":"React Native lets you build mobile apps using only JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework embedded into application to get multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm is a mobile platform and a replacement for SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js is an open-source, cross-platform, JavaScript runtime environment.","WEBSITE_TECHNOLOGY_P_RUST":"Rust is a multi-paradigm system programming language focused on safety, especially safe concurrency.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribute to the project","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"There are two ways you can contribute to Stremio and help us make the product even better.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"You can donate your valuable language skills by translating the platform...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"or","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... you can employ your coding skills for creating community addons. ","WEBSITE_TRANSLATE_STREMIO":"Translate Stremio","WEBSITE_404_OH_NO":"Uh-oh! The page you’re looking for is not here...","WEBSITE_GO_HOME":"Go home","WEBSITE_LINK_OTHER_DOWNLOADS":"Other downloads","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Support","WEBSITE_DOWNLOAD_4_0_BETA":"Download Now Stremio 4 beta","WEBSITE_GET_FOR_DESKTOP":"Get for desktop","WEBSITE_LINK_ADDON_COMPETITION":"Addon competition","WEBSITE_LINK_ART_CONTEST":"Art contest","WEBSITE_MY_ACCOUNT":"My account","WEBSITE_MAINPAGE_FAQ_001_H1":"What is Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio is a modern media center that gives you the freedom to watch everything you want.","WEBSITE_MAINPAGE_FAQ_002_H1":"How does it work?","WEBSITE_MAINPAGE_FAQ_002_P1":"Once you install Stremio on your device and create an account, all you have to do is to visit the addon catalog and install any addon you want, and you\'re good to go!","WEBSITE_MAINPAGE_FAQ_002_P2":"After that, you can go to the Discover or Board sections to start exploring content.","WEBSITE_MAINPAGE_FAQ_003_H1":"What can I watch here?","WEBSITE_MAINPAGE_FAQ_003_P1":"A lot: Movies, TV shows, Web channels, Sport, TV channels, listen to Podcasts and more. Thanks to our addon system, you can accss a variety of content.","WEBSITE_MAINPAGE_FAQ_004_H1":"Is Stremio open-source?","WEBSITE_MAINPAGE_FAQ_004_P1":"Yes, you can check the following links: ${1}desktop app${2} and ${3}GitHub organization${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Is Stremio safe?","WEBSITE_MAINPAGE_FAQ_005_P1":"Yes: because it is open-source software, the code is publically auditable and you can review it yourself.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"How about my privacy?","WEBSITE_MAINPAGE_FAQ_006_P1":"We respect users\' privacy and do not collect any personal data besides the essential minimum to create and sync your account.","WEBSITE_MAINPAGE_FAQ_006_P2":"There is also a ${1}Guest mode${2} at signup, which requires no data whatsoever: in this mode, no calls are made to our backend. However, it comes at the expense of useful features, such as being able to sync your library across devices.","WEBSITE_MAINPAGE_FAQ_007_H1":"Can I cast to my TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Yes, we support Chromecast and you can cast both from desktop and mobile apps (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"How many addons does Stremio have?","WEBSITE_MAINPAGE_FAQ_008_P1":"As of late 2019, over 50 - for more information, check our addon catalog.","WEBSITE_MAINPAGE_FAQ_009_H1":"Can Stremio be extended beyond what\'s in the addon catalog?","WEBSITE_MAINPAGE_FAQ_009_P1":"Yes, you should check those: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"What devices does Stremio support?","WEBSITE_MAINPAGE_FAQ_010_P1":"We have desktop apps for Windows, Mac and Linux. For mobile, we support Android and iOS, although keep in mind that the iOS is limited in functionality (does not support most addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"There are many Android-based devices which you can run Stremio on, like NVIDIA Shield and Amazon Fire Stick, but we do not support them officially.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Can you add certain content to Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Sorry, we provide no content ourselves, but the more Stremio addons you have installed, the more content you will be able to find.","WEBSITE_MAINPAGE_FAQ_012_H1":"Can Stremio play magnet links?","WEBSITE_MAINPAGE_FAQ_012_P1":"Yes, and it can also play normal HTTP links and torrent files (drag and drop).","WEBSITE_MAINPAGE_FAQ_013_H1":"Can I download a video and watch offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Available offline is an upcoming feature, but if you allow Stremio to cache on your device (from the settings panel) you can watch the videos later without a connection.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nothing works, help me!","WEBSITE_MAINPAGE_FAQ_014_P1":"Are you sure you have installed addons? If yes, check with our ${1}help center${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"How does Stremio sustain it\'s development operations?","WEBSITE_MAINPAGE_FAQ_015_P1":"We run non-intrusive ads occassionally, but we\'re considering moving to a donation model.","WEBSITE_MAINPAGE_FAQ_015_P2":"For more questions, go to our ${1}help center${2}.","HELP_LEARN_MORE":"Help us learn more about you.","LIFESTYLE":"Lifestyle","SPORTS":"Sports","FOOD_HEALTH":"Food & health","BEAUTY_FASHION":"Beauty & Fashion","NEWS":"News","GAMING":"Gaming","SCIENCE_EDUCATION":"Science & education","MUSIC":"Music","TRAVEL":"Travel","LATE_NIGHT":"Late Night","REALITY":"Reality","COMEDY":"Comedy","DIY":"How to DIY","TECH":"Tech","CINEMA":"Cinema","CONTINUE":"Continue","SLOW_LOADING":"SLOW LOADING?","I_GIVE_UP":"I GIVE UP","LEARN_MORE":"Learn more","POOR_SOURCE":"This source is poorly available or your internet connection is not fast enough","PICK_CATEGORIES_ERR":"You have to pick at least 3 categories","ADJUST_TIMING":"Adjust timing with ","ADJUST_SIZE":"Adjust size with ","SEARCH_ANYTHING":"You Can Search Anything...","ALL_CATEGORIES":"All","SEARCH_CATEGORIES":"Movies, Series, YouTube & TV","SEARCH_PERSONS":"Actors, Directors & Writers","SEARCH_PROTOCOLS":"HTTP & Magnet Links","SEARCH_TYPES":"IMDB / TVDB links","WATCHED":"Watched","SHOW_LESS":"Show less","LAST_SEARCHES":"Last searches","CLEAR_HISTORY":"Clear history","CHOOSE_SOME":"CHOOSE SOME OF THIS:","NO_WEB_REMOTE":"Web Remote could not be loaded","STREMIO_OFFLINE":"Stremio is offline","STREMIO_EXPENSIVE_CONNECTION":"We\'ve detected that you are using a mobile data connection, do you want to continue?","USE_DATA":"Use data","WARNING":"Warning","MORE_INFO":"More Info ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Loading ...","STREMIO_TV_BACK_TO_LANGUAGES":"Back to languages","STREMIO_TV_REMOTE":"Remote","STREMIO_TV_GO_TO":"Go to:","STREMIO_TV_OR_SCAN":"or scan:","STREMIO_TV_ADDON_INSTRUCTIONS":"Please follow the instructions in order to install your preferred addons.","STREMIO_TV_LIVE_TV":"Live TV","STREMIO_TV_RESUME_WATCHING":"Resume Watching","STREMIO_TV_LOADING_BACKGROUND":"Loading Background","STREMIO_TV_CHECKING_AUTHENTICATION":"Checking Authentication","STREMIO_TV_LOADING_BOARD":"Loading Board","STREMIO_TV_LOGIN_HEADER_LINE_1":"We want our users to have the best possible personalized experience with our software.","STREMIO_TV_LOGIN_HEADER_LINE_2":"It is for this reason that we kindly ask you to make and/or login to your account.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Thank you for understanding,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"The Stremio Team","STREMIO_TV_REMOTE_INSTRUCTIONS":"In order to use the Web Remote with your Smartphone / Tablet / Desktop:","STREMIO_TV_WIFI_SETUP":"Wi-Fi Setup","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle did not detect a internet connection.","STREMIO_TV_WIFI_DETAILS_1":"Connect to:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Use password:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Open a web browser with the link:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Default","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"By Last Watched","STREMIO_TV_LIBRARY_SORT_NAME":"By Name","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"By Times Watched","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Season ${1}","STREMIO_TV_STREAMS_LOADING":"Loaded ${1} / ${2} addons...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} addon is still loading...","STREMIO_TV_PLAYER_SETTINGS":"Player settings","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Subtitles delay","STREMIO_TV_PLAYER_AUDIO_DELAY":"Audio delay","STREMIO_TV_PLAYER_VIDEO_SCALING":"Video scaling","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Unsupported stream source","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Failed opening external link","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Not adjustable in audio passthrough mode","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Play with ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Play with libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Switching to libVLC player due to a playback error","STREMIO_TV_ADDONS_TITLE":"Use Stremio on your Phone or PC to install or configure addons and press \\"Sync Addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Note: make sure you are using the same Stremio account","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sync Addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons successfully synchronized","STREMIO_TV_ADDONS_SYNC_FAILED":"Failed to synchronize addons","STREMIO_TV_META_LINK_FAILED":"Failed opening meta link","STREMIO_TV_CATALOG_LOADING":"Catalog still loading...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Interface language updated","STREMIO_TV_SETTINGS_THEME_UPDATED":"Theme updated","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Default Player","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"External Player","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferred Language","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Secondary Preferred Language","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possible playback issues on some devices","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Some video formats might not work","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"No caching","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Default","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Soft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Fast","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Fast","STREMIO_TV_SETTINGS_SERVER_URL":"Streaming server url","STREMIO_TV_SETTINGS_SERVER_VERSION":"Server version","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Unknown","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio version","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Edit server url","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Enter a streaming server url","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Show statistics while loading","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"To read Stremio\'s Privacy Policy, visit:","STREMIO_TV_SETTINGS_TOS_TEXT":"To read Stremio\'s Terms and Conditions, visit:","STREMIO_TV_NAV_SEARCH":"Search","STREMIO_TV_NAV_HOME":"Home","STREMIO_TV_NAV_DISCOVER":"Discover","STREMIO_TV_NAV_LIBRARY":"Library","STREMIO_TV_NAV_MOVIES":"Movies","STREMIO_TV_NAV_SERIES":"Series","STREMIO_TV_NAV_CHANNELS":"Channels","STREMIO_TV_NAV_TV":"Live TV","STREMIO_TV_NAV_SETTINGS":"Settings","STREMIO_TV_NAV_ADDONS":"Addons","STREMIO_TV_LOGIN_TITLE":"Link Account","STREMIO_TV_LOGIN_EXPIRES_IN":"Expires in","STREMIO_TV_LOGIN_STEP_ONE":"Scan QR Code above or go to","STREMIO_TV_LOGIN_STEP_TWO":"Log in to your Stremio account","STREMIO_TV_LOGIN_NEW_LINK":"Request a new link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Login code refreshed","STREMIO_TV_SEARCH_PLACEHOLDER":"Type something","STREMIO_TV_SEARCH_NO_ADDONS":"No addons were requested for catalogs!","STREMIO_TV_SEARCH_BUTTON":"Search","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Search History","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"You can search for Titles, Actors, Channels and more...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Clear Search History","STREMIO_TV_FILTERS_DESCRIPTION":"Choose from one of the filters below","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"Filters","SETTINGS":"Settings","ACCOUNT":"Account","LOGOUT":"Logout","THEMES":"Themes","PLAYBACK":"Playback","PLAYBACK_SPEED":"Playback Speed","AUDIO_TRACKS":"Audio Tracks","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Videos","SERVER":"Server","LINKS":"Links","ABOUT":"About","INTERFACE":"Interface","ANIMATIONS":"Animations","STATUS":"Status","LANGUAGE":"Language","SIZE":"Size","DELAY":"Delay","BOLD":"Bold","OPACITY":"Opacity","TEXT_COLOR":"Text Color","OUTLINE_COLOR":"Outline Color","BACKGROUND_COLOR":"Background Color","BACKGROUND_BLUR":"Background Blur","SEEK_TIME_DURATION":"Seek Time Duration","AUTO_PLAY":"Auto-Play Next Episode","PLAY_NOW":"Play Now","MARK_AS_WATCHED":"Mark as Watched","MARK_AS_UNWATCHED":"Mark as Unwatched","REWIND_TO_BEGINNING":"Rewind to Beginning","CONTINUE_WATCHING":"Continue Watching","ALL":"All","SECONDS":"seconds","ON":"ON","OFF":"OFF","RELOAD":"Reload","EDIT_URL":"Edit URL","NONE":"None","EMBEDDED":"Embedded","REMOTE_SWITCH_DEVICES":"Switch Devices","REMOTE_VIDEOS":"Videos","REMOTE_ADJUST_TIMING":"Adjust timing","REMOTE_ADJUST_SIZE":"Adjust size","REMOTE_COULD_NOT_BE_LOADED":"Web Remote could not be loaded","REMOTE_RETRY":"Retry","TORRENT_PROFILE_DEFAULT":"Default","TORRENT_PROFILE_SOFT":"Soft","TORRENT_PROFILE_FAST":"Fast","TORRENT_PROFILE_ULTRA_FAST":"Ultra Fast","FAQ_001_H1":"What is Stremio?","FAQ_001_P1":"Stremio is a media center software designed for video entertainment with ease of use in mind. Stremio allows you to organize &amp; watch your own collection of movies, series, channels and live TV.","FAQ_001_P2":"Stremio collect the content it shows you from your local disk and our addons system.","FAQ_001_P3":"It will also notify you when new episodes/videos/movies you\'re interested in come out, and provide movie recommendations for you.","FAQ_02_H1":"How does Stremio compare to Kodi and Plex?","FAQ_02_P1":"We are inspired by those two pieces of software. But we have different goals - Stremio is specifically targeted towards entertainment video, and strives to become the mainstream solution for that by being very easy to use.","FAQ_02_P2":"Stremio will never be as customizable and feature-rich as Kodi and Plex, but it is significantly easier to use. Just ${1} get it and see ${2} :)","FAQ_03_H1":"How does Stremio compare to Netflix?","FAQ_03_P1":"Again, Netflix is one of our inspirations. We strive to achieve the user experience of Netflix, plus a lot of added goodies. But most importantly, we\'re giving you the freedom to manage your own library and add new content sources with our addon system.","FAQ_03_P2":"That makes Stremio infinitely extendable, so when you use Stremio, you\'re never limited to the content Netflix decides to license. For example, through Stremio you can watch content from ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} and even ${9}Netflix${10} itself!","FAQ_04_H1":"How does Stremio compare to Flipboard?","FAQ_04_P1":"We don’t get that question that often, except when talking to start-up people :)","FAQ_04_P2":"Stremio is by design a content aggregator, which essentially makes it Flipboard for video. This is very apparent in our Board section, which gives you catalogues and new episode/new video notifications for what you follow, just like Flipboard.","FAQ_05_H1":"How does Stremio compare to Popcorn Time?","FAQ_05_P1":"Stremio and Popcorn Time are similar in user interface, because there aren’t many ways to do video entertainment catalogues right :)","FAQ_05_P2":"But while Popcorn Time is focused on streaming torrents from specific sources, Stremio is unrestricted and is merely a content aggregator - it’s not locked into a specific content source.","FAQ_05_P3":"Furthermore, we do not provide any torrent addons by default, so Stremio does not cover the Popcorn Time use-case with official functionality.","FAQ_05_P4":"Another notable difference is that Popcorn Time is completely open source, while Stremio is ${1} partially open source${2}.","FAQ_06_H1":"Will you add this movie/series?","FAQ_06_P1":"No, sorry :(","FAQ_06_P2":"As is mentioned in most of the other questions, Stremio does not provide any content by itself - everything is added through the addons system. In case you have a content request, you can use the “Report” button in the Player, which will send an email to the author of the addon you’re currently using.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Will you create addon for X?","FAQ_08_P1":"It\'s entirely possible.","FAQ_08_P2":"If you have an idea for an addon, drop us a line at ${1}office@stremio.com${2}, but please make sure your addon idea will not infringe on any copyrights or terms of use.","FAQ_08_P3":"At the moment, the next things on our roadmap are addons for FandangoNOW, Filmon.tv video on demand and Crunchyroll.","FAQ_09_H1":"Does Stremio use BitTorrent?","FAQ_09_P1":"Yes, Stremio supports BitTorrent as a streaming protocol. You can use that either with a torrent addon, or by drag-and-dropping a .torrent file into Stremio, or by pasting a magnet link into the Search Bar.","FAQ_09_P2":"Please note that the only official addon using BitTorrent is ${1}Vodo${2}, which provides indie content, all permitted to be distributed with BitTorrent.","FAQ_09_P3":"We do not support use of any third-party addons which may enable copyright infringement.","FAQ_10_H1":"What can I watch in Stremio with the official addons?","FAQ_10_P1":"By default, you can watch Filmon.tv, YouTube and Vodo content within Stremio itself, with it’s embedded player. Additionally, we have an addon for Twitch.tv and a few others.","FAQ_10_P2":"This combined provides a selection of:","FAQ_10_L1":"Popular TV channels, provided by Filmon.tv - for example E4, BBC, Bollyworld TV","FAQ_10_L2":"Everything from YouTube - for example BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indie movies with Vodo","FAQ_10_L4":"Online gaming broadcasts with Twitch.tv","FAQ_10_P3":"Additionally, there are many content sources provided with Guidebox and the Netflix addons, which <b>do not</b> play entirely inside Stremio, but would redirect to the given service. For example, the Guidebox addon would give you a selection of movies you can stream in the US for free, from services like TubiTV and Crackle.","FAQ_11_H1":"Stremio won\'t install, what should I do?","FAQ_11_P1":"If you\'re on Windows, try ${1}this alternative installer${2}.","FAQ_11_P2":"If you\'re on Mac OS X, please be aware that we don\'t support anything older than OS X Mavericks (10.9).","FAQ_11_P3":"If you\'re on Linux, be aware that we only support 64 bit (x64) Linux at the moment.","FAQ_11_P4":"If you still can\'t resolve your problem, please write us at our ${1}Facebook group${2}.","FAQ_12_H1":"Why does my anti-virus complain? Is Stremio safe?","FAQ_12_P1":"We assure you Stremio is ${1}100% clean${2}.","FAQ_12_P2":"Your antivirus is complaining because we include advertising in our installer, which some anti-virus programs recognize as ad-ware.","FAQ_12_P3":"If you\'re still unsure, you can try our ${1}alternative installer${2}.","FAQ_13_H1":"How can I make an addon?","FAQ_13_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_13_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_13_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_14_H1":"How are addons published?","FAQ_14_P1":"When you create an addon and host, and put a <b>endpoint</b> field in your manifest, which points to a working addon address, the addon will automatically publish itself to our ${1}Addon catalogue${2}.","FAQ_14_P2":"This happens because the server part of the stremio-addons module automatically makes a call to our API to announce the addon. When our API validates your <b>endpoint</b> as a valid addon, it will start showing in the catalogue.","FAQ_15_H1":"Can I run Stremio in my browser?","FAQ_15_P1":"Not at the moment, but this is coming!","FAQ_15_P2":"If you\'re curious to see an Alpha, you can see it here: ${1}alpha4.strem.io${2}. Keep in mind streaming is disabled on this alpha. We support Chrome, Firefox, Opera and Edge.","FAQ_16_H1":"Casting to TV doesn\'t work / subtitles don\'t work","FAQ_16_P1":"Casting to TV uses the DLNA technology which is very inconsistent between different TV brands and models. For that reason, we do not have the ability to test it in every case, so it\'s far from perfect. Despite this, we\'re working on improving it constantly but we cannot give you a time estimate on when DLNA will start working properly with your TV.","FAQ_16_P2":"If you don\'t even see your TV in the casting menu, please try disabling your network connection and re-enabling it (on Windows, right click the Network and use Enable/Disable), as well as restarting your router, TV and PC.","FAQ_16_P3":"If you are still encountering issues, you can help us by sending your TV brand and model information at ${1}office@stremio.com${2}.","FAQ_16_P4":"In the meantime, we recommend Chromecast, which we support very well, or simply plugging in your TV to your PC with an HDMI cable.","FAQ_17_H1":"Stremio freezes and/or crashes, what can I do?","FAQ_17_P1":"First of all, if you\'re using Windows 7 with AVG anti-virus: we have a problem with that combination. The problem is in AVG itself, and there\'s no reasonable way to resolve it on our end. Unfortunately, exceptions or disabling the anti-virus won\'t work. The only solution is to replace AVG with something else.","FAQ_17_P2":"If that\'s not the issue, but you\'re still using Windows, please update to the latest service pack and update/re-install your GPU drivers, then try again.","FAQ_17_P3":"If you\'re problem is still not resolved, or you\'re using a Mac or Linux, please write us reporting the exact details of the problem at ${1}our Facebook group${2}.","FAQ_18_H1":"How can I make an addon?","FAQ_18_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_18_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_18_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_19_H1":"Why is Stremio taking disk space?","FAQ_19_P1":"Stremio has a <b>local cache</b> to temporarily keep the video files you stream.","FAQ_19_P2":"This has two benefits: first, it allows Stremio to pre-buffer the video ahead so as to ensure smoother streaming. Second, it keeps the videos in the local cache so you can continue watching them offline.","FAQ_19_P3":"How much Stremio keeps depends on the <b>Cache</b> setting in the Settings panel. Stremio may keep up to the set amount (e.g. 2GB) on your disk, unless the currently streamed video is larger than that, in which case it has to allocate enough storage to keep it until you\'re streaming it.","FAQ_20_H1":"Where is the cache folder?","FAQ_20_P1":"On Windows, it\'s stremio-cache in the drive you picked in Settings (e.g. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"On MacOS, it\'s \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"On Linux, it\'s \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"I get \\"Streaming server is not found\\" error, what can I do?","FAQ_21_P1":"If you get this error, it means one of few things:","FAQ_21_P2":"1) You are trying to use an addon backed by YouTube/BitTorrent source, through our ${1}web version${2}. In this case, you should install our desktop version from ${3}our website${4}.","FAQ_21_P3":"2) Something is wrong with your Stremio installation. In this case, try re-installing our latest desktop version from ${1}the website${2}. If this does not help, try disabling anti-virus programs and firewalls, restarting your PC and trying again. If this does not work too, please write us at our ${3}our Facebook group${4}.","FAQ_22_H1":"I cannot see/use most addons on iOS","FAQ_22_P1":"Because of restrictions in the Apple App Store terms and conditions, we have restricted the iOS application only to a particular set of addons.","FAQ_22_P2":"But rest assured - there will be more addons for iOS in the future, and we may also add an integration that will allow you to use all Stremio addons thanks to connecting the iOS app to the Stremio Streaming Server."}')},51145:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Film","TYPE_series":"Serie","TYPE_tv":"Fernsehkanal","TYPE_channel":"Kanal","TYPE_other":"Andere","TYPE_movie_PL":"Filme","TYPE_series_PL":"Serien","TYPE_tv_PL":"Fernsehkanäle","TYPE_channel_PL":"Kanäle","TYPE_other_PL":"Andere","TYPE_ALL":"All","TYPE":"Type","CATALOG_com_linvo_cinemeta_top":"Beliebt","CATALOG_com_linvo_cinemeta_imdbRating":"Vorgestellt","CATALOG_com_linvo_cinemeta_year":"Neu","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Filme","VIDEO":"Video","BACK":"Zurück","MORE":"Mehr","DONE":"Erledigt","COPY":"Kopieren","SUCCESS":"Erfolg","ERROR":"Fehler","SETTINGS_CASTING_MODE_PICKER":"Casting Modus","CASTING_MODE_HLSV2":"Standard","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Kein Transcoding","Discover":"Entdecken","Board":"Tafel","Library":"Bibliothek","My Library":"Meine Bibliothek","Calendar":"Kalender","NOTIFICATION_ONLINE":"Sie sind jetzt online","NOTIFICATION_OFFLINE":"Sie sind gerade offline.","INTERNET_CONNECTION":"Netzwerkverbindung","STORAGE_FULL_TITLE":"Warnung: Speicher voll!","STORAGE_FULL_TEXT":"Stremio kann Ihre Einstellungen, Präferenzen oder Anmeldeinformationen nicht speichern. Erwägen Sie, Stremio neu zu starten oder zu installieren.","SEARCH":"Suche","SEARCH_NO_RESULTS":"Es wurden keine Ergebnisse gefunden","SEARCH_EXPLANATION_CONTENT":"Suche nach Filmen, Serien, YouTube- und Fernsehkanälen","SEARCH_EXPLANATION_PEOPLE":"Suche nach Schauspielern, Regisseuren und Autoren","SEARCH_PASTE_LINKS":"HTTP- und Magnet-Links einfügen","SEARCH_OR_PASTE_LINK":"Search or paste link","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"Zur Bibliothek hinzufügen","REMOVE_FROM_LIB":"Aus Bibliothek entfernen","ADDED_TO_LIB":"Zur Bibliothek hinzugefügt","REMOVED_FROM_LIB":"Aus der Bibliothek entfernt","TRAILER":"Filmvorschau","WATCH_TRAILER":"Filmvorschau ansehen","WATCH_NOW":"Jetzt ansehen","SHOW":"Anzeigen","SHOW_MOVIE":"Zeige Film","WATCH_RANDOM":"Zufälliges ansehen","IMDB_RATING":"IMDb-Bewertung","YEAR":"Jahr","DIRECTOR":"Regisseur","WRITER":"Autor","LEAD_ACTORS":"Hauptdarsteller","CAST":"Besetzung","CREW":"Crew","SHOW_MORE_CAST":"Mehr anzeigen »","AIRED":"Ausgestrahlt","SEASONS":"Staffeln","GENRE":"Genre","GENRE_ALL":"All Genres","CATALOG":"Katalog","SUMMARY":"Zusammenfassung","SHOW_MORE":"Zeige mehr","SIMILAR":"Ähnlich","UPCOMING":"Bevorstehend","ENDED":"Beendet","DURATION":"Dauer","FEATURED":"Vorgestellt","METADATA":"Metadaten","CATEGORY":"Kategorie","LINKS_GENRES":"Genres","LINKS_CAST":"Cast","LINKS_DIRECTORS":"Directors","SEARCH_VIDEOS":"Videos suchen","SEARCH_PLACEHOLDER":"Magnet-Link suchen oder einfügen","ADDON":"Addon","ADDONS":"Addons","OFFICIAL":"Offiziell","ADDONS_OFFICIAL":"Offizielle Stremio-Addons","ADDONS_POPULAR":"In Ihrer Gegend beliebt","ADDON_FREE":"frei","ADDON_PEERED":"peered","ADDON_SUBSCRIPTION":"Abonnement","ADDON_STREAM_GEORESTRICTED":"In Ihrer Gegend nicht verfügbar","ADDON_STREAM_OFFLINECACHE":"Offline-Zwischenspeicher","ADDON_STREAM_LOCALFILE":"Lokale Datei","SHARE_ADDON":"Addon teilen","AVAILABLE_STREAMS":"Verfügbare Streams","NO_STREAM":"Keine Streams verfügbar","ALL_ADDONS":"All","INSTALL_MORE_ADDONS":"Um mehr Streams bitte weitere Addons installieren","STREAM_NOT_SUPPORTED":"Ausgewählter Stream wird auf dieser Plattform nicht unterstützt.","ADDON_CATALOGUE":"Alle Addons anzeigen »","ADDON_CATALOGUE_MORE":"Mehr Addons »","REPO_ADDED":"Repositorium hinzugeügt","ADDON_REPO_EXIST_ERR":"Dieses Addons-Repositorium existiert bereits","ADDON_REPO_ERR":"Beim Hinzufügen des Repositoriums ist ein Fehler aufgetreten","ADDON_ADD_ERR":"Beim Hinzufügen des Addons ist ein Fehler aufgetreten","ERR_ADDON_PROTECTED":"Geschütztes Addon","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Etwas ist schief gelaufen - die Authentifizierung ist möglicherweise fehlgeschlagen","ERR_NOT_COLLECTION_URL":"Keine Sammlungs-URL","ERR_NOT_ADDON_URL":"Keine Addon-URL","ERR_DETECTFROMURL":"Kann nicht aus der URL erkannt werden","ADDON_DUPLICATE_WARNING":"Warnung: dupliziertes Addon","ADDON_COLLECTION_SET_FAILED":"Addon collection set failed","SETTINGS_DATA_EXPORT":"Daten exportieren","ADDON_PULL_FAILED":"Herunterladen des Addons fehlgeschlagen","REFRESH_ON_CLICK":"Hier klicken, um es erneut zu versuchen","STILL_IN_THEATER":"Film noch im Kino","WATCH_IN_CINEMA":"Sehen Sie ihn in Ihrem lokalen Kino an","IN_THEATER":"Im Kino","GET_TICKETS":"Karten besorgen","UPCOMING_EPISODE":"Bevorstehende Folge","UPCOMING_EPISODE_MESSAGE":"Diese Folge wird ausgestrahlt am","MISSING_DATE_EPISODE":"Für diese Folge gibt es noch kein Datum","MISSING_DATE_EPISODE_MESSAGE":"Diese Folge wurde möglicherweise noch nicht ausgestrahlt","CHANNEL_NOT_SCRAPED":"Dieser Kanal wurde noch nicht gescraped.<br>Bitte Versuche es in ein paar Minuten noch mal.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Fügen Sie es zu Ihrer Bibliothek hinzu, um benachrichtigt zu werden, sobald es verfügbar ist.","GET_NOTIFIED_WHEN_AVAILABLE":"Sie werden benachrichtigt, sobald es verfügbar ist.","WARNING_STREAMING_SERVER":"Warnung: lokaler Streaming-Server nicht gefunden. Streaming von lokalen Dateien, YouTube und BitTorrent wird nicht verfügbar sein.","WARNING_STREAMING_SERVER_DISMISS":"Schließen","WARNING_STREAMING_SERVER_LATER":"Später","DECODER_WARNING":"Warnung: Dieses Video wird von Ihrer Hardware möglicherweise nicht unterstützt. Denken Sie daran, dass die Wiedergabe langsam sein könnte.","GENERIC_ERROR_MESSAGE":"Etwas ist schiefgelaufen!","TRY_AGAIN":"Nochmal versuchen","CLEAR_DATA":"Daten löschen","PLAYER_ERROR":"Hoppla, Abspielerfehler","PLAYER_ERROR_LOOKSLIKE":"Es sieht aus wie","PLAYER_ORIENTATION":"Abspielerausrichtung","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Gesperrt","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensor","PLAYER_ORIENTATION_LANDSCAPE":"Abspielerausrichtung im Querformat fixiert","PLAYER_ORIENTATION_SENSOR":"Abspielerausrichtung automatisch (Sensor)","PLAYER_PLAYBACK_SPEED":"Wiedergabegeschwindigkeit","PLAYER_PLAYBACK_ERROR":"Wiedergabefehler, bitte versuchen Sie es erneut","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Unbekannter Fehler","PLAYER_PLAYBACK_ERROR_DEFAULT":"Entschuldigung, dieses Video kann nicht von {{productName}} abgespielt werden.","PLAYER_SUBTITLES_LANGUAGES":"Untertitel Sprachen","PLAYER_SUBTITLES_VARIANTS":"Untertitel Varianten","PLAYER_SUBTITLES_SETTINGS":"Untertitel Einstellungen","PLAYER_SUBTITLES_DISABLED":"Untertitel sind deaktiviert","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Vertikale Position","PLAYER_SUBTITLES_LOADED":"Untertitel geladen","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Eingebettete Untertitel geladen","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Exclusive subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Subtitles from {{origin}} loaded","PLAYER_PLAY":"Play","PLAYER_PAUSE":"Pause","PLAYER_NEXT_VIDEO":"Next Video","PLAYER_MUTE":"Mute","PLAYER_UNMUTE":"Unmute","PLAYER_OPEN_IN_EXTERNAL":"Open in external player","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Play in {{device}}","PLAYER_LIVE":"Live","PLAYER_NEXT_VIDEO_TITLE":"Als Nächstes im Programm","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Ablehnen","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Jetzt ansehen","PLAYER_COPY_STREAM_SUCCESS":"Stream link was copied to your clipboard","PLAYER_COPY_STREAM_ERROR":"Failed to copy stream link","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","STREAMING_FROM":"streamt von","CASTING_TO":"Casting nach","NETWORK_STATUS":"Netzwerkstatus","STREAM_SPEED":"Stream-Geschwindigkeit:","STREAM_BUFFERED":"Gepuffert:","PEERS_INFO":"Peers Information","PEERS_ACTIVE":"Aktiv:","PEERS_CONNECTED":"Verbunden:","PEERS_WAITING":"Warten:","TRANSCODING_WARNING":"Warnung: Video wird transkodiert.","STREAM_LOADING":"Ladevorgang...","PLAYING_LOCAL":"Wiedergabe aus lokaler Datei","PLAYING_CACHE":"Wiedergabe aus Zwischenspeicher","WRONG_SUBS":"Falsche Untertitel?","ERR_SUBS_LOADING_TITLE":"Fehler beim Laden der Untertitel","ERR_SUBS_LOADING":"Failed loading subtitles: this could be an issue with the addon you are using, or with your network connection","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Die folgenden Untertitel-Addons sind fehlgeschlagen","ERR_CASTING_UPDATE_TITLE":"Could not update casting device info: streaming server might be offline","CHOOSE_DEVICE":"Wählen Sie ein Gerät aus, auf dem Sie zuschauen möchten","NO_CAST_DEVICES":"Keine Casting-Geräte vorhanden.","NO_SETTINGS":"Keine Einstellungen verfügbar","PHONE_TABLET":"Telefon / Tablet","SUBTITLES":"Untertitel","SUBTITLES_CHANGE":"Untertitel ändern für ","SUBTITLES_CHANGE_NONE":"Es gibt keine anderen Untertitel für diese Sprache, Entschuldigung.","SUBTITLES_CHANGE_ACIVE":"Derzeit sind Untertitel &#35;{{subtitlesDialog.activeIdx + 1}} aktiviert. Klicken Sie auf \\"Fortsetzen\\", um Untertitel &#35;{{subtitlesDialog.pickedIdx + 1}}. zu aktivieren","SUBTITLES_OR":"Alternativ,","SUBTITLES_ADJUST_DELAY":"Untertitelverzögerung anpassen:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Oder verwenden Sie die Tasten <span>G</span> / <span>H</span> zum Anpassen während der Wiedergabe.","SUBTITLES_ADJUST_DELAY_TIP":"TIPP: Sie können die Tasten <span>G</span> / <span>H</span> zum Anpassen während der Wiedergabe verwenden.","SUBTITLES_DELAY":"Untertitelverzögerung:","SUBTITLES_LOADING":"Untertitel werden geladen...","SUBTITLES_UNAVAILABLE":"Keine externen Untertitel verfügbar","SUBTITLES_DISABLED":"Disabled","EXTERNAL_PLAYER_DISABLED":"Disabled","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Allow Choosing","EXTERNAL_PLAYER_HINT":"Hint: There is a setting to allow always opening with external player","DONT_SHOW_AGAIN":"Don\'t show again","SERVICE_INSTALL":"Install","AUDIO":"Audio","DEFAULT_LANGUAGE":"Standard-Sprache","DEFAULT_SECONDARY_LANGUAGE":"Standard-Sekundärsprache","SEASON":"Staffel","EPISODE":"Episode","EPISODE_ABBREVIATION":"EP","SPECIAL":"Special","SORT":"sortieren","SORT_BY":"Sortieren nach","FILTER":"filtern","SORT_TRENDING":"im Trend","SORT_RECENT":"kürzlich","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"Bewertung","SORT_WATCHED":"gesehen","SORT_YEAR":"Jahr","SELECT_TYPE":"Select type","SELECT_SORT":"Select sort","SELECT_CATALOG":"Select catalog","SELECT_GENRE":"Select genre","SORT_LASTWATCHED":"By last watched","SORT_NAME":"By name","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"By times watched","SORT_NOTWATCHED":"not watched","New for You":"Neu für Sie","New Episodes":"Neue Episoden","New Videos":"Neue Videos","Recommendations":"Empfehlungen","LIBRARY_RESUME":"Fortsetzen","LIBRARY_PLAY":"Play","LIBRARY_DETAILS":"Details","LIBRARY_RESUME_DISMISS":"Ablehnen","LIBRARY_CLEAR_PROGRESS":"Clear Progress","LIBRARY_REMOVE":"Remove","LIBRARY_NOT_LOGGED_IN":"Library is only available for logged in users","CALENDAR_NOT_LOGGED_IN":"Calendar is only available for logged in users","NOT_LOGGED_IN_CLOUD":"Access your favorite movies and TV shows anytime, anywhere","NOT_LOGGED_IN_RECOMMENDATIONS":"Recommendations tailored to your viewing history","NOT_LOGGED_IN_NOTIFICATIONS":"Never miss an episode again","NOT_LOGGED_IN_CALENDAR":"Schedule your personal watching calendar","DISCOVER_FEATURED":"Ausgewählt","DISCOVER_TOP":"Top","DISCOVER_OSCAR":"Oscar-Gewinner","DISCOVER_WARNING_TITLE":"Oops!","DISCOVER_EMPTY_CATALOG":"Dieses Addon liefert leeren Inhalt.","DISCOVER_ADULT_WARNING":"Diese Inhalte sind nur für Erwachsene sichtbar. Sind Sie über 18?","DISCOVER_NOADDON_WARNING":"Warnung: Für diesen Typ ist kein Stremio-Addon aktiv. Gespeicherte Elemente werden angezeigt, nichts wird hier aktualisiert.","DISCOVER_LOAD_ERR":"Diese Inhalte konnten nicht geladen werden, da ein Fehler vorlag.","DISCOVER_ADDON_UNINSTALLED":"Diese Inhalte sind nicht mehr verfügbar. Möglicherweise wurde das Addon deinstalliert.","UNINSTALL_THIS_ADDON":"Dieses Addon deinstallieren","ERR_ADDON_NOT_INSTALLED":"Dieses Addon ist nicht installiert. Jetzt installieren?","DETAIL_RECEIVE_NOTIF_SERIES":"Benachrichtigungen über neue Episoden erhalten","DETAIL_RECEIVE_NOTIF_VIDEOS":"Benachrichtigungen über neue Videos erhalten","SIDEBAR_SHOW_STREAMS":"Streams zeigen","RELAUNCH":"Jetzt neu starten!","UPGRADE":"Neue Version ist verfügbar! Aktualisieren Sie auf die neueste Stremio-Version","RELOAD_UI":"Reload the user interface","MANUAL_UPDATE_TITLE":"Aktualisieren Sie Ihre Stremio-Version","MANUAL_UPDATE_LINE1":"Sie nutzen eine veraltete Version von Stremio, was nicht empfohlen wird.","MANUAL_UPDATE_LINE2":"Bitte aktualisieren Sie schnellstmöglich.","BUTTON_UPDATE_LATTER":"Nicht jetzt","BUTTON_UPDATE_NOW":"Aktualisieren","ANONYMOUS_USER":"Anonymer Benutzer","DONT_HAVE_ACC":"Sie haben kein Konto?","HAVE_ACC":"Sie haben bereits ein Konto?","PASSWORD":"Passwort","PASSWORD_CONFIRM":"Passwort bestätigen","EMAIL":"E-Mail","FB_LOGIN":"Mit Facebook anmelden","FB_NOTHINGSHARED":"Ohne Ihre Berechtigung wird nichts geteilt","FB_NOPOST":"Wir werden nichts in Ihrem Namen posten","OR":"oder","I_ACCEPT":"Ich akzeptiere die","I_ACCEPT_BY_CLICKING":"Wenn Sie auf die obige Schaltfläche klicken, bestätigen Sie, dass Sie die ","TOS":"Geschäftsbedingungen annehmen","MUST_ACCEPT_TERMS":"Sie müssen die Bedingungen annehmen","PASSWORDS_NOMATCH":"Passwörter stimmen nicht überein","SIGN_UP":"Registrieren","SIGN_UP_EMAIL":"Mit E-Mail registrieren","CLICK_TO_SIGN_UP":"Klicken Sie hier, um sich zu registrieren.","LOG_IN":"Anmelden","LOG_OUT":"Abmelden","EXIT_FULLSCREEN":"Vollbildmodus verlassen","ENTER_FULLSCREEN":"Vollbildmodus aktivieren","PLAY_URL_MAGNET_LINK":"Play URL/Magnet link","HELP_FEEDBACK":"Hilfe und Feedback","TERMS_OF_SERVICE":"Geschäftsbedingungen","PRIVACY_POLICY":"Datenschutzbestimmungen","ABOUT_STREMIO":"Über Stremio","USER_PANEL":"Nutzerpanel","LOGIN_LABEL":"Login","GUEST_LOGIN":"Gast-Anmeldung","GUEST_LOGIN_NOTICE":"Gast-Anmeldung wird nicht empfohlen. Mit einer regelmäßigen Anmeldung kann Stremio Ihre Bibliothek synchronisieren und Sie können Benachrichtigungen für Ihre Lieblingserien/-kanäle erhalten. Sind Sie sicher, dass Sie fortfahren möchten?","GUEST_LOGIN_NOTICE_2":"Gast-Anmeldung wird nicht empfohlen - Sie werden keine Bibliotheks- und Tafelbenachrichtigungen synchronisiert haben, die wichtige Stremio-Funktionen sind. Sind Sie sicher, dass Sie fortfahren möchten?","CLICK_HERE":"Klicken Sie hier","WRONG_PASSWORD":"Falsche E-Mail-Adresse oder Passwort. Falls Sie Ihr Passwort vergessen haben, ","SET_A_PASS":"Passwort festlegen","RESET_PASSWORD":"Passwort zurücksetzen","FORGOT_PASSWORD":"Passwort vergessen?","EMAIL_USED_WITH_FB":"Diese E-Mail-Adresse wurde mit einer Facebook-Anmeldung verwendet.","INVALID_EMAIL":"Bitte geben Sie eine gültige E-Mail-Adresse ein","INVALID_PASSWORD":"Bitte geben Sie ein gültiges Passwort ein","CONN_ERR":"Verbindungsfehler - bitte versuchen Sie es später noch einmal.\\n\\nWenn dies weiterhin besteht, deaktivieren Sie Firewalls/Antivirus-Software (vor allem Bitdefender).","IMPORT_FROM_GUEST":"Bibliothek von Ihrem Gastkonto importieren","RECEIVE_UPDATES_EMAIL":"Aktualisierungen in Ihrer E-Mail von Stremio erhalten","LOGIN_FAILED":"Anmeldung fehlgeschlagen.","SIGNUP_FAILED":"Registrierung fehlgeschlagen.","SEARCH_FAILED":"Suche fehlgeschlagen","EMAIL_USED":"Diese E-Mail-Adresse wird bereits verwendet","WAITING_FB_LOGIN":"Anmeldung mit Facebook...","EXTERNAL_PLAYER_TITLE":"Wiedergabe im externen Player","EXTERNAL_REMEMBER_PLAYER":"Möchten Sie Ihre Auswahl in Erinnerung behalten?","EXTERNAL_ALWAYS_PLAY":"Ja","EXTERNAL_ONLY_ONCE":"Nein","BEST_FIT":"Best Fit","FIT_SCREEN":"in Bildschirm einpassen","FILL":"Fill","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"Erzählen Sie uns, was Sie mögen","INTRO_TASTE_LONG":"Erzählen Sie uns, was Sie gerne sehen möchten","INTRO_TASTE_PICK":"Wählen Sie {{interestsRemaining}} Interessen aus","INTRO_TASTE_PICK_MORE":"Wählen Sie {{interestsRemaining}} weitere Interessen aus","INTRO_TASTE_HELP_US":"Helfen Sie uns, mehr über Sie zu erfahren.","INTRO_TASTE_CHOOSE_THESE":"Wählen Sie einige davon:","INTRO_TASTE_CHOOSE_MIN":"Wählen Sie mindestens 3 Kategorien aus","INTRO_TASTE_CHOOSE_MIN_ERR":"Sie müssen mindestens 3 Kategorien auswählen!","INTRO_TASTE_LIFESTYLE":"Lebensstil","INTRO_TASTE_SPORTS":"Sport","INTRO_TASTE_FOOD_HEALTH":"Essen & Gesundheit","INTRO_TASTE_BEAUTY_FASHION":"Schönheit & Mode","INTRO_TASTE_NEWS":"News","INTRO_TASTE_GAMING":"Spielen","INTRO_TASTE_SCIENCE_EDU":"Wissenschaft & Bildung","INTRO_TASTE_MUSIC":"Musik","INTRO_TASTE_TRAVEL":"Reise","INTRO_TASTE_LATE_NIGHT":"Late Night Show","INTRO_TASTE_REALITY":"Reality","INTRO_TASTE_COMEDY":"Comedy","INTRO_TASTE_DIY":"How to DIY","INTRO_TASTE_TECH":"Tech","INTRO_TASTE_CINEMA":"Kino","ADDON_NOT_SUPPORTED":"Ausgewähltes Addon wird auf dieser Plattform nicht unterstützt.","ADDON_DISCLAIMER":"Die Verwendung von Drittanbieter-Addons unterliegt immer Ihrer Verantwortung und dem Recht der Gerichtsbarkeit, in der Sie sich befinden.","ADDON_ACTIVATE":"Dieses Addon aktivieren?","ADDON_REPO_ADD":"Addon-Repositoriums-URL","ADDON_ADD":"Add","INSTALL_ADDON":"Install addon","ADD_ADDON":"Add addon","ADD_ADDON_DESCRIPTION":"You can add an addon via an external link, which will appear under Installed addons.","PASTE_ADDON_URL":"Paste addon URL","WHATS_NEW":"Was gibt\'s Neues","BUTTON_CONTINUE":"Fortsetzen","BUTTON_ACTIVATE":"Aktivieren","BUTTON_ACTIVATED":"Aktiviert","BUTTON_CANCEL":"Abbrechen","BUTTON_SUBMIT":"Senden","BUTTON_DISMISS_ALL":"Alle ablehnen","BUTTON_VIEW_ALL":"Alle ansehen","BUTTON_SEE_ALL":"See All","BUTTON_COLOR_TRANSPARENT":"Transparent","OPEN_IN_BROWSER":"Open in browser","LIB_EMPTY":"Ihre Bibliothek sieht leer aus. Finden Sie heraus, wie nützlich sie ist :) ","HOW_START":"So können Sie anfangen:","LIB_EMPTY_CAL":"Ihr Kalender zeigt die Serien in Ihrer Bibliothek an.","HOW_START_CAL":"So können Sie Serien hinzufügen:","LIB_EMPTY_BOARD":"Tafel zeigt Benachrichtigungen &amp; Empfehlungen zu Ihrer Bibliothek an.","HOW_START_BOARD_WAIT":"Bitte fügen Sie ein paar Serien oder Kanäle zu Ihrer Bibliothek hinzu und geben uns ein paar Minuten zum Verarbeiten :)","HOW_START_BOARD":"So können Sie Serien &amp; Filme zu ihr hinzufügen:","IMPORT_FB":"Importieren Sie Dinge von <span>Facebook</span>, die Sie mögen","IMPORT_TRAKT":"Importieren Sie Ihre Medienbibliothek von <span>Trakt</span>","IMPORT_DISCOVER":"Finden Sie interessante Sachen von <span>Entdecken</span>","IMPORT_DISK":"Importieren Sie Filme oder Shows, die Sie auf Ihrer <span>lokalen Festplatte</span> haben","PLEASE_CREATE_ACC":"Bitte <u>erstellen Sie ein Konto</u>, um das Synchronisieren der Bibliothek &amp; Tafel zu ermöglichen.","IMPORT_DISCOVER_SIGNUP":"Registrieren Sie sich und finden Sie interessante Sachen von <span>Entdecken</span>","IMPORT_DISK_SIGNUP":"Registrieren Sie sich und importieren Sie Filme oder Shows, die Sie auf Ihrer <span>lokalen Festplatte</span> haben","LIB_EMPTY_CLOUD":"Cloud-Bibliothek","LIB_EMPTY_CLOUD_DESC":"Persönliche Cloud-Bibliothek auf allen Geräten synchronisiert","LIB_EMPTY_EARLY":"Früher Vogel","LIB_EMPTY_EARLY_DESC":"Erhalten Sie Benachrichtigungen für neue Episoden","LIB_EMPTY_PERSONAL":"Persönlich","LIB_EMPTY_PERSONAL_DESC":"Holen Sie sich persönliche Empfehlungen","LIB_EMPTY_CALENDAR_DESC":"Planen Sie Ihren persönlichen Anschau-Kalender","LIB_EMPTY_ALL":"Registrieren Sie sich, um all dies zu bekommen:","LIB_EMPTY_BEST":"Registrieren Sie sich, um das Beste von Stremio zu bekommen","LIB_EMPTY_OTHER":"Registrieren Sie sich, um Kalender & andere tolle Funktionen zu aktivieren","CALENDAR_ADDED":"Der Stremio-Kalender wurde zu Ihrem Standard-Desktop-Kalender hinzugefügt.","CALENDAR_ADDED_MSG":"Wenn dies nicht funktioniert, fügen Sie diese URL bitte manuell zu Ihrer Kalenderanwendung hinzu","TRAKT_EXPIRED":"Trakt authentication expired, please go to Settings and re-authenticate","TRAKT_REQUIRES_LOGIN":"Trakt-Fehler","TRAKT_REQUIRES_LOGIN_MSG":"Sie müssen sich anmelden","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","SETTINGS_LABEL":"Einstellungen","SETTINGS_NAV_GENERAL":"Algemein","SETTINGS_NAV_PLAYER":"Player","SETTINGS_NAV_STREAMING":"Streaming","SETTINGS_NAV_SHORTCUTS":"Verknüpfungen","SETTINGS_SHORTCUT_RELOAD_APP":"App neu laden","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Open Settings","SETTINGS_SHORTCUT_SWITCH_TABS":"Switch Tabs","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Cycle Through Tabs Forward","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Cycle Through Tabs Backward","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigate Between Menus","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Go to Search","SETTINGS_SHORTCUT_EXIT_BACK":"Exit / Go Back","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Toggle Playback Speed Menu","SETTINGS_SHORTCUT_MENU_VIDEOS":"Toggle Videos Menu","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Toggle Subtitles Menu","SETTINGS_SHORTCUT_MENU_INFO":"Toggle Info Menu","SETTINGS_SHORTCUT_FULLSCREEN":"Toggle Fullscreen","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Show Controls","SETTINGS_SHORTCUT_PLAY_PAUSE":"Play / Pause","SETTINGS_SHORTCUT_VOLUME_UP":"Lautstärke erhöhen","SETTINGS_SHORTCUT_VOLUME_DOWN":"Lautstärke verringern","SETTINGS_SHORTCUT_SEEK_NEXT":"Seek Next","SETTINGS_SHORTCUT_SEEK_PREV":"Seek Prev","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Seek Backward","SETTINGS_SHORTCUT_SEEK_FORWARD":"Seek Forward","SETTINGS_SHORTCUT_PLAY_NEXT":"Play Next","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Increase Subtitles Size","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Decrease Subtitles Size","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Increase Subtitles Delay","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Decrease Subtitles Delay","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Seitenleiste umschalten","SETTINGS_SHORTCUT_OR":"or","SETTINGS_SHORTCUT_TO":"to","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Authenticate","SETTINGS_FACEBOOK_IMPORT":"Import","SETTINGS_CALENDAR_SUBSCRIBE":"Subscribe","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Interface Language","SETTINGS_LAUNCH_STARTUP":"Beim Start ausführen","SETTINGS_VLC_DEFAULT":"Mit VLC wiedergeben","SETTINGS_UI_LANGUAGE":"Sprache des UI","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Esc-Taste beendet den Vollbildmodus","SETTINGS_GAMEPAD":"Gamepad-Unterstützung aktivieren","SETTINGS_CLOSE_WINDOW":"Anwendungen beenden, wenn das Fenster geschlossen wird","SETTINGS_SUBTITLES_LANGUAGE":"Standardauswahl für die Untertitelsprache","SETTINGS_SUBTITLES_SIZE":"Standardgröße der Untertitel","SETTINGS_SUBTITLES_BACKGROUND":"Hintergrund der Untertitel","SETTINGS_SUBTITLES_COLOR":"Farbe der Untertitel","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Umrandungsfarbe der Untertitel","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Hintergrundfarbe der Untertitel","SETTINGS_SEEK_KEY":"Arrow keys seek time","SETTINGS_SEEK_KEY_SHIFT":"Arrow keys seek time when Shift key is held","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Rewind & Fast-forward duration","SETTINGS_BINGE":"Nächste Episode automatisch wiedergeben","SETTINGS_NEXT_VIDEO":"Show notification to start next episode","SETTINGS_NEXT_VIDEO_TRIGGER":"Show next episode notification for:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Next video popup duration","SETTINGS_PLAY_IN_BACKGROUND":"Play in background","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Play in external player","SETTINGS_RESIZE":"Größe des Fensters vor der Wiedergabe automatisch ändern","SETTINGS_OVERRIDE_SERVER":"Override the streaming server URL (advanced)","SETTINGS_SERVER_URL":"Streaming server URL: ","SETTINGS_SERVER_AVAILABLE":"Streaming-Server ist verfügbar.","SETTINGS_SERVER_UNAVAILABLE":"Streaming-Server ist nichtverfügbar.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Error","SETTINGS_SERVER_CONFIGURE_TITLE":"Configure streaming server url","SETTINGS_SERVER_CONFIGURE_INPUT":"Enter a streaming server url","SETTINGS_SERVER_CACHE_SIZE":"Cache size","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent profile","SETTINGS_HTTPS_ENDPOINT":"Streaming HTTPS endpoint: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Immer neueste Beta verwenden","SETTINGS_IMPORT_FB":"Von Facebook importieren","SETTINGS_IMPORT_DISK":"Von lokaler Festplatte importieren","SETTINGS_IMPORT_TRAKT":"Von Trakt importieren","SETTINGS_PAUSE_MINIMIZED":"Wiedergabe pausieren, wenn die Anwendung minimiert wird","SETTINGS_HWDEC":"Hardwarebeschleunigte Dekodierung","SETTINGS_BACKGROUND":"Hintergrund-Wiedergabe","SETTINGS_SUBSCRIBE_CALENDAR":"Kalender abonnieren","SETTINGS_REQ_EXPORT":"Datenexport anfordern","SETTINGS_ACC_DELETE":"Kontolöschung anfordern","SETTINGS_CHANGE_PASSWORD":"Passwort ändern","SETTINGS_TOS":"Nutzungsbedingungen","SETTINGS_SUPPORT":"Kundendienst kontaktieren","SETTING_LANGUAGE":"Sprache","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_LOGOUT":"Von Trakt.tv abmelden","SETTINGS_TRAKT_LOGOUT_2":"Von Trakt abmelden","SETTINGS_SCAN_FOR_REMOTE":"QR-Code zum Öffnen der Fernbedienung scannen","SETTINGS_DESKTOP_NOTIFICATIONS":"Desktop-Benachrichtigungen","SETTINGS_DATA_SAVER":"Datenretter","SETTINGS_LANGUAGE_INTERFACE":"Oberfläche","SETTINGS_LANGUAGE_SUBS":"Standarduntertitel","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Autoselect Audio Track","SETTINGS_DEFAULT_AUDIO_TRACK":"Default Audio Track","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"Konto","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"Version","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"Abspieler in einem separaten Fenster starten (erweitert)","SETTINGS_PLAY_IN_EXTERNAL":"Video immer im externen Player starten","SETTINGS_STORAGE_BUTTON":"Lokalen Speicher leeren","SETTINGS_STORAGE_MODAL_TITLE":"Sind Sie sicher?","SETTINGS_STORAGE_MODAL_MESSAGE":"Dies wird den lokalen Speicher leeren und Sie auslogggen.","SETTINGS_HWDEC_PICKER":"Einstellung für hardwarebeschleunigte Dekodierung wählen","SETTINGS_HW_AUTOMATIC":"Automatik","SETTINGS_HW_DISABLED":"Deaktiviert","SETTINGS_HW_ACCELERATED":"Dekodier-Beschleunigung","SETTINGS_HW_FULL":"Vollständige Beschleunigung","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Deaktiviert","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Untertitel","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Steuerung","SETTINGS_SECTION_AUTO_PLAY":"Auto-Play","SETTINGS_SECTION_ADVANCED":"Advanced","SUBSPICKER_AUDIO":"Audio","SUBSPICKER_SUBTITLES":"Addons Subtitles","SUBSPICKER_BLACK_BACKGROUND":"Schwarze Hintergrundfarbe verwenden","SUBSPICKER_VERTICAL_OFFSET":"Vertical Offset","SUBSPICKER_SIZE":"Size","SUBSPICKER_DELAY":"Delay","SUBSPICKER_EMBEDDED_SUBS":"Eingebettete Untertitel","MOBILE_PRIVACY_POLICY":"Datenschutzbestimmungen","MOBILE_CRASH_REPORTING":"Absturzbericht","MOBILE_ZOOM_TO_FILL":"Zoom To Fill Screen","MOBILE_PASSTHROUGH":"Digital audio output (passthrough)","MOBILE_RUN_LOW_BATTERY":"Run on low battery","MOBILE_RUN_FOREGROUND":"Run as Foreground Service","MOBILE_PERFORMANCE":"PERFORMANCE & STABILITY","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"QR Code läuft ab in ","MOBILE_LOG_INTO":"Mit deinem Stremio Account anmelden ","MOBILE_SCAN_QR":"Den QR Code scannen oder gehe zu ","MOBILE_LINK_ACCOUNT":"Account verbinden","MOBILE_SPEEDPICKER_CANCEL":"Abbrechen","MOBILE_SPEEDPICKER_LABEL":"Wiedergabegeschwindigkeit wählen","MOBILE_EMPTY_LIBRARY":"Ihre Bibliothek ist leer","MOBILE_NO_ADDON_ACTIVE":"No Stremio addon active for this type.","MOBILE_ORGANIZER_WARNING":"The Stremio Organizer app provides limited functionality. For a list of playable streams and the full Stremio experience, use Stremio on desktop.","MOBILE_ADDON_LOADING":"lädt noch","MOBILE_ADDONS_LOADING":"Addons laden noch","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Konfiguriere dein Addon","MOBILE_CONFIGURE_ADDON_LABEL":"Addon konfigurieren","MOBILE_ORGANIZER_ADDONS_WARNING":"The Stremio Organizer app provides a limited selection of addons. For the full Stremio experience, use Stremio on desktop.","MOBILE_DISCONNECT":"Trennen","MOBILE_LOOKING_FOR_DEVICES":"Suche nach Geräten...","MOBILE_CAST_TO":"Cast an","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Delete Account","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Account deletion is not instant due to legal obligations. After requesting deletion of your account you will have to use different email address/facebook profile to create a new Stremio account in the future.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirm Account Deletion","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Your account has been created using Facebook. To delete your account, please use our user portal at www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Please provide your password to confirm account deletion.","MOBILE_DELETE_ACCOUNT_BUTTON":"Delete Account","NAVIGATION_ON":"An","NAVIGATION_OFF":"Aus","MARKETING_AGREE":"Ich bin damit einverstanden, von Stremio Marketingmitteilungen zu erhalten","QUIT":"Beenden","CONNECTED":"Verbunden","AUTHENTICATE":"Authentifizieren","CACHING":"Zwischenspeicherung","SETTINGS_CACHING_DRIVE":"Zwischenspeicherungslaufwerk","ENABLE_LOCAL_FILES_ADDON":"Enable the local files addon (requires restart)","LOCAL_ADDON_NOT_ENABLED":"Local addon is not enabled. Click here to go to the settings and enable it","ENABLE_REMOTE_HTTPS_CONN":"Enable remote HTTPS connections","TORRENT_PROFILE":"Torrent Profile","DATA_CACHING":"Datenzwischenspeicherung","MAGNET_PARSING":"Magnet-Link wird geparst","January":"Januar","February":"Februar","March":"März","April":"April","May":"Mai","June":"Juni","July":"Juli","August":"August","September":"September","October":"Oktober","November":"November","December":"Dezember","Monday":"Montag","Tuesday":"Dienstag","Wednesday":"Mittwoch","Thursday":"Donnerstag","Friday":"Freitag","Saturday":"Samstag","Sunday":"Sonntag","Action":"Action","Comedy":"Comedy","War":"Krieg","Family":"Familie","Animation":"Animation","Adventure":"Abenteuer","Fantasy":"Fantasy","Crime":"Krimi","Mystery":"Mystery","Romance":"Romantik","Drama":"Drama","Horror":"Horror","Thriller":"Thriller","Sci-Fi":"Sci-Fi","Music":"Musik","Biography":"Biografie","Documentary":"Dokumentation","Sport":"Sport","Musical":"Musical","Western":"Western","Film-Noir":"Film-Noir","News":"Nachrichten","History":"Geschichte","Game-Show":"Spielshow","Reality-TV":"Reality-TV","Talk-Show":"Talk-Show","Film & Entertainment":"Film & Unterhaltung","Gaming":"Gaming","From TV":"Vom Fernsehen","Lifestyle":"Lebensstil","Science & Education":"Wissenschaft & Bildung","Cooking & Health":"Kochen & Gesundheit","Beauty & Fashion":"Schönheit & Mode","Sports":"Sport","News & Politics":"News & Politik","How-to & DIY":"How-to & DIY","Tech":"Tech","Automotive":"Automobil","Causes & Non-Profits":"Causes & Non-Profits","Movies":"Filme","Uk Live Tv":"Uk Live Tv","Fashion":"Mode","Business News Radio":"Business News Radio","Business Tv":"Geschäftsfernsehen","Cars & Auto":"Auto","Comedy Radio":"Comedy Radio","Lifestyle Radio":"Lebensstilradio","News Tv":"News Tv","Food And Wine":"Essen und Wein","Latino Tv":"Latino Tv","Shopping Tv":"Verkaufsfernsehen","Religion":"Religion","Kids":"Kinder","Body & Soul":"Körper & Seele","Education":"Bildung","Indian Tv":"Indisches Tv","Extreme Sports":"Extremsport","Middle Eastern Tv":"Tv des Mittleren Ostens","Celebrity Tv":"Promifernsehen","Science Tv":"Wissenschaftsfernsehen","Bikini babe":"Bikinischönheit","Outdoors":"Outdoors","German Tv":"Deutsches Fernsehen","French Tv":"Französisches Fernsehen","Italian Tv":"Italienisches Fernsehen","Gamer Tv":"Spielerfernsehen","Travel":"Reise","Asian Tv":"Asiatisches Fernsehen","Entertainment":"Unterhaltung","News Radio":"Nachrichtenradio","Music Radio":"Musikradio","Language Learning":"Sprachen lernen","Science Radio":"Wissenschaftsradio","Tech Radio":"Tech Radio","Science & Technology Vod":"Abrufvideo Wissenschaft & Technologie","new video":"neues Video","new episode":"neue Episode","new movie":"neuer Film","recommended":"empfohlen","we recommend":"wir empfehlen","offer of the day":"Angebot des Tages","news":"Nachrichten","music video":"Musikvideo","CTX_SHOW_HOTKEYS":"Hotkeys anzeigen","CTX_DISMISS_NOTIF":"Benachrichtigungen ablehnen","CTX_DISMISS_ALL":"Alles ablehnen","CTX_SHARE":"Teilen","CTX_COPY_SHARE_LINK":"Freigabelink kopieren","CTX_COPY_MAGNET_LINK":"Magnet-Link kopieren","CTX_COPY_STREAM_LINK":"Stream-Link kopieren","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Dieses Video herunterladen","CTX_DOWNLOAD_SUBS":"Untertitel herunterladen","CTX_VIEW_ON_YOUTUBE":"Auf YouTube ansehen","CTX_SHOW":"Anzeigen","CTX_PLAY":"Wiedergabe","CTX_PLAY_IN":"Wiedergabe in","CTX_PLAY_ON":"Wiedergabe auf","CTX_WATCH_ON":"Angesehen am","CTX_WATCH":"Ansehen","CTX_WATCHED":"Angesehen","CTX_WATCH_BEGINNING":"Von Anfang an ansehen","CTX_WATCH_MOBILE":"Auf einem mobilen Gerät ansehen","CTX_REWIND":"Zurückspulen zum Anfang","CTX_MARK_WATCHED":"Als angesehen markieren","CTX_MARK_NON_WATCHED":"Als nicht angesehen markieren","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"Rest als angesehen markieren","CTX_UNMARK_REST":"Rest als nicht angesehen markieren","CTX_RECEIVE_NEW_NOTIF":"Neue Benachrichtigungen erhalten","CTX_ENABLE_NEW_NOTIF":"Benachrichtigungen aktivieren","CTX_DISABLE_NEW_NOTIF":"Benachrichtigungen deaktivieren","CTX_REMOVE_CACHE":"Aus Zwischenspeicher entfernen","CTX_REMOVE_CACHE_EP":"Episode aus Zwischenspeicher entfernen","CTX_OPEN_CONTAINING":"Enthaltenden Ordner öffnen","CTX_REMOVE":"Aus Bibliothek entfernen","CTX_AVAILABLE_OFFLINE":"Offline verfügbar","CTX_PAUSED":"Pausiert","CTX_ALWAYS_ON_TOP":"Immer oben","CTX_FULLSCREEN":"Vollbild","CTX_WRONG_SUBS":"Falsche Untertitel?","CTX_REPORT_ISSUES":"Problem melden","CTX_COPY":"Kopieren","CTX_PASTE":"Einfügen","CTX_CLEAR":"Löschen","CTX_CLEAR_RECENT_SEARCHES":"Kürzliche Suchanfragen löschen","HELLO_THERE":"Hallöchen","HOPE_YOU_ENJOY":"Wir hoffen, dass Sie Stremio genießen und es schon eine Ihrer Lieblings-Apps ist!","WHO_ARE_WE":"Wer sind wir? Wir sind das Team dahinter - zwei Jungs, die jeden Tag seit den letzten 3 Jahren hart arbeiten, um dieses Produkt besser und besser zu machen.","SUPPORT_US":"Wenn Sie Stremio gerne verwenden, wenn Stremio für Sie wertvoll ist - sagen Sie es weiter!","SPREAD_THE_WORD":"Teilen Sie es jetzt mit Ihren Freunden, erzählen Sie Stremio weiter","MORE_PEOPLE":"Je mehr Menschen Stremio benutzen, desto besser wird es!","SEND_A_LINK":"Oder senden Sie einen Link zu unserer Website","TIP_LOCALFILES":"Tipp: Sie können lokale Videodateien per Drag & Drop in Stremio verschieben","ADDON_MY":"Meine Addons","ADDON_COMMUNITY":"Community Addons","ADDON_OFFICIAL":"Offizielle Addons","ADDON_REPOS":"Addon-Repositorien","ADDON_SEARCH":"Addons suchen","ADDON_INSTALL":"Installieren","ADDON_CONFIGURE":"Konfigurieren","ADDON_UNINSTALL":"Deinstallieren","ADDON_UPGRADE":"Upgrade","ADDON_INSTALLED":"Installiert","ADDON_INSTALLED_MSG":"Addon installiert!","ADDON_UPGRADED_MSG":"Addon upgraded!","ADDON_UNKNOWN":"Unbekannt","ADDON_ERR":"Addon-Installationsfehler!","ADDON_DISCONNECTED":"Getrennt","ADDON_APP_MISSING":"die App für diese Quelle ist nicht installiert. Möchten Sie sie jetzt installieren?","ADDON_APP_INSTALL":"Jetzt installieren","ADDON_PAGE":"Addon-Seite","ADDON_TOP_CONTENT":"Bestes aus diesem Addon","ADDON_PROVIDES":"Dieses Addon gibt Ihnen:","ADDON_WATCH":"#{types} jetzt ansehen!","ADDON_WATCH_FREE":"#{types} jetzt KOSTENLOS ansehen!","ADDON_ADDON":"Addon","ADDON_SUPPORTED_TYPES":"Supported types","ADDON_SUPPORTED_CATALOGS":"Supported catalogs","ADDON_PROVIDES_DISCOVER":"Mehr #{types} in Entdecken","ADDON_PROVIDES_STREAMS":"#{types} ansehen","ADDON_PROVIDES_STREAMS_FREE":"#{types} KOSTENLOS ansehen","ADDON_PROVIDES_SUBTITLES":"Untertitel für #{types}","ADDON_CANTDETECT":"Wir konnten kein laufendes Stremio erkennen, deshalb konnten wir nicht erkennen, welche Addons Sie installiert haben.","ERR_NO_META":"Keine Informationen dazu gefunden ","ERR_GETTING_META":"Fehler beim Abrufen von Informationen darüber.","ERR_CANT_PARSE_MAGNET":"Kann Magnet nicht parsen","ERR_NO_MAGNET_INFOHASH":"Kein gültiger Info-Hash für Magnet","ERR_NO_FILE_PATH":"Kann keine Anfrage ohne Pfad zur Datei senden","ERR_NO_TORRENT":"Kein Torrent zurückgegeben","ERR_NO_SUPPORTERD_FILES":"Keine unterstützten Dateien gefunden","ERR_OPENING_FILES":"Externe Dateien konnten nicht geöffnet werden","ERR_INVALID_LINK":"Ungültiger Link","ERR_REGISTERED_ONLY":"Diese Option ist nur für registrierte Benutzer verfügbar.","ERR_CLIPBOARD":"Can not play from clipboard","ERR_CLIPBOARD_READ":"Can not read the clipboard on this platform","ERR_CLIPBOARD_GENERIC":"No playable URL found in the clipboard. Please copy a URL (e.g. a magnet link) to a video.","BOARD_CONTINUE_WATCHING":"Weiter ansehen","BOARD_EXPLANATION_RECOMMENDATIONS":"Filme, die speziell für Sie ausgewählt wurden.<br />Dieser Film ist eine Beispielempfehlung.","BOARD_EXPLANATION_EPISODES":"Neue Episoden Ihrer Lieblingsserie kommen hierher.<br />Fügen Sie Serien, denen Sie folgen, zu Ihrer Bibliothek hinzu.","BOARD_EXPLANATION_VIDEOS":"Neue Episoden Ihrer Lieblingskanäle kommen hierher.<br />Fügen Sie YouTube-Kanäle, denen Sie folgen, zu Ihrer Bibliothek hinzu.","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE":"Beitragen","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"Learn more","WEBSITE_COMPANY":"Company","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Hilfe Gefällig?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallerie","WEBSITE_PARTNERS":"Partner","WEBSITE_SLOGAN_WATCH":"Sofort ansehen","WEBSITE_SLOGAN_ALL":"Alle Videoinhalte, die Sie an einem Ort genießen","WEBSITE_SLOGAN_NEW":"Alles, was Sie sehen können","WEBSITE_SLOGAN_NEW_NEW":"Freedom to Stream","WEBSITE_WATCH_FROM":"Ansehen von","WEBSITE_DOWNLOAD":"Jetzt herunterladen","WEBSITE_DOWNLOAD_FOR":"Jetzt herunterladen für","WEBSITE_IS_DESKTOP":"Stremio ist eine Desktop-Anwendung, öffnen Sie diese Seite auf Ihrem PC und laden Sie sie herunter","WEBSITE_DESKTOP_DEMO_VID":"Desktop-Demo","WEBSITE_PAGE_HOME":"Home","WEBSITE_PAGE_FEATURES":"Funktionen","WEBSITE_PAGE_ADDONS":"Addons","WEBSITE_PAGE_TECH":"Technologie","WEBSITE_PAGE_CREATE_ADDON":"Addon erstellen","WEBSITE_PAGE_CONTACTS":"Kontakte","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Filme","WEBSITE_TYPE_series_PL":"Serien","WEBSITE_TYPE_tv":"Live-Fernsehen","WEBSITE_TYPE_channel":"Kanäle","WEBSITE_STREMIO_WHAT_IS":"Stremio ist eine App, die Ihnen hilft, Ihre Lieblingsvideos, Filme, Fernsehserien und Fernsehkanäle zu organisieren und sofort anzusehen.","WEBSITE_FEATURES_WATCH":"Sofort in HD ansehen","WEBSITE_FEATURES_WATCH_DETAIL":"Klicken und geben Sie Ihre Lieblingsfilme, Fernsehshows, Videos und Fernsehkanäle wieder.","WEBSITE_FEATURES_SUBS":"Automatische Untertitel","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio holt automatisch synchronisierte Untertitel für Ihre Sprache.","WEBSITE_FEATURES_SUBS_LABEL":"Sie sind dran, Chef.","WEBSITE_FEATURES_CAST":"Auf Fernseher & mobilen Geräten wiedergeben","WEBSITE_FEATURES_CAST_DETAIL":"An AppleTV, Chromecast, Smart TV (DLNA/UPnP) und mobile Geräte übertragen.","WEBSITE_LIB":"Genießen Sie Ihre persönliche synchronisierte Bibliothek auf all Ihren Geräten","WEBSITE_LIB_COLLECT":"Von Stremio sammeln","WEBSITE_LIB_IMPORT":"Von Facebook importieren","WEBSITE_LIB_LOCAL":"Von Ihrer lokaler Festplatte hinzufügen","WEBSITE_BOARD":"The Board - Your one-stop place for Notifications and Recommendations","WEBSITE_BOARD_RECOMMEND":"Empfohlene Fernsehshow","WEBSITE_BOARD_TRENDING":"Film im Trend","WEBSITE_BOARD_NEW":"Neues Video","WEBSITE_BOARD_EPISODE":"Neue Episode","WEBSITE_BOARD_1":"Suchen Sie etwas Interessantes zum Anschauen? Holen Sie sich Empfehlungen nach Ihrem Geschmack!","WEBSITE_BOARD_2":"Lassen Sie sich benachrichtigen, wenn eine neue Episode Ihrer Lieblingssendung oder Ihres Lieblingskanals auf YouTube veröffentlicht wurde!","WEBSITE_BOARD_YOUTUBE":"Neue Videos von YouTube-Kanälen","WEBSITE_BOARD_EPISODES":"Neue Episoden von Serien, denen Sie folgen","WEBSITE_ADDONS":"Inhalts-Addons","WEBSITE_TECH_DETAIL":"Wir lieben Technologie, wir lieben verrückte Wissenschaft!\\nStremio verwendet die folgenden Open-Source-Technologien:","WEBSITE_TECH_WCJS":"WebChimera.js erlaubt Stremio die Wiedergabe jedes Videoformats mit guter Leistung.","WEBSITE_TECH_WCJS_EXTRA":"Wir sind Kern-Projektbeitragende","WEBSITE_TECH_ELECTRON":"Electron bietet eine innovative Plattform, um Stremio damit zu bauen.","WEBSITE_TECH_ELECTRON_EXTRA":"Wir sind Projektbeitragende","WEBSITE_TECH_LINVODB":"Eine Datenbank-Technologie, die sicherstellt, dass Ihre Daten organisiert und überall verfügbar sind, wo Sie sich anmelden.","WEBSITE_TECH_LINVODB_EXTRA":"Hauseigene Technologie","WEBSITE_CREATE_ADDON":"Erstellen Sie Ihr Addon","WEBSITE_CREATE_ADDON_DETAIL":"Haben Sie einen Dienst, der Videoinhalte anbietet? Wir helfen Ihnen, von den Funktionen von Stremio zu profitieren, indem wir Ihr Addon erstellen.","WEBSITE_CREATE_ADDON_BENEFITS":"Vorteile vom Erstellen eines Addons für Stremio","WEBSITE_P2P_BEAUTY":"Die Schönheit von Peer-to-Peer-Streaming","WEBSITE_P2P_1":"Zuverlässige und erschwingliche Full HD / 4K Video on Demand oder Live-Streaming","WEBSITE_P2P_2":"Verteilungsplattform für großartige Benutzererfahrung","WEBSITE_P2P_3":"Wir erstellen ein Addon, das Ihre genauen Bedürfnisse erfüllt","WEBSITE_P2P_CONTACT":"Interessiert? Sie sind herzlich eingeladen, <a href=\'mailto:office@stremio.com\'>uns zu kontaktieren</a>.","WEBSITE_P2P_CONTACT_EXTRA":"Wir helfen Ihnen gerne bei der Integration Ihrer Inhalte mit Stremio!","WEBSITE_P2P":"Gelegentlich kommt eine Technologie, die den Namen des Spiels ändert. Wir haben viel Zeit und Mühe investiert, unsere Peer-to-Peer (P2P) Video-Streaming-Engine zu bauen, die eine hervorragende Leistung und Vielseitigkeit bietet, um sich jedem Anwendungsfall anzupassen.\\nKontaktieren Sie uns für DRM-fähiges P2P-Abrufvideo oder Live-Streaming.","WEBSITE_THOUGHTS":"Gedanken, die wir teilen:","WEBSITE_SPREAD":"Erzählen Sie über Stremio:","WEBSITE_CONTACT":"Kontaktieren Sie uns, wir freuen uns von Ihnen zu hören!","WEBSITE_OPENSOURCE":"Für unsere Open-Source-Projekte, gehen Sie zu unserem","WEBSITE_BITCOIN":"Bitcoin spenden:","WEBSITE_FAQ":"Häufig gestellte Fragen","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Fragen","WEBSITE_TOS":"Nutzungsbedingungen","WEBSITE_LEGAL":"Rechtlich","WEBSITE_PAGE_ABOUT":"Über","WEBSITE_PAGE_BECOME_PARTNER":"Werden Sie Partner","WEBSITE_ALL_YOU_CAN_WATCH":"Alles, was Sie ansehen können","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"Was ist Stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio is a one-stop hub for video content aggregation. Discover, organize and watch video from all kind of sources on any device that you own.","WEBSITE_WHAT_IS_STREMIO_P2":"Movies, TV shows, series, live television or web channels like YouTube and Twitch.tv - you can find all this on Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio is a modern media center that\'s a one-stop solution for your video entertainment. You discover, watch and organize video content from easy to install addons.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Movies, TV shows, live TV or web channels - find all this on Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Genießen Sie es auf all Ihren Mediengeräten.","WEBSITE_DEVICES_COLLECT":"Von Stremio abholen","WEBSITE_DEVICES_IMPORT_FB":"Von Facebook importieren","WEBSITE_DEVICES_LOCAL":"Von lokalem Laufwerk hinzufügen","WEBSITE_JOIN_THE_PARTY_NOW":"Join the party now","WEBSITE_DEVICES_ALL":"Easy to use on all your devices;","WEBSITE_EXTENDABLE_CATALOG":"Infinitelly extendable video catalog;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Great features to organize your media;","WEBSITE_AS_SEEN_ON":"Wie gesehen am","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"Über uns","WEBSITE_LINK_TECHNOLOGY":"Technologie","WEBSITE_LINK_APPS":"Apps","WEBSITE_LINK_DOWNLOADS":"Downloads","WEBSITE_MORE":"Mehr","WEBSITE_LINK_ADDONS":"Addons","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Beitragen","WEBSITE_LINK_COMMUNITY":"Community","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... & Mehr","WEBSITE_LINK_HELP":"Hilfezentrum","WEBSITE_LINK_CONTACTS":"Kontaktieren Sie uns","WEBSITE_LINK_TOS":"Geschäftsbedingungen","WEBSITE_LINK_PRAVACY":"Datenschutzerklärung","WEBSITE_SUBSCRIBE":"Abonnieren","WEBSITE_NEWSLETTER":"Join Our Newsletter for amazing stuff","WEBSITE_PLACEHOLDER_EMAIL":"Ihre E-Mail","WEBSITE_COMMUNITY":"Community","WEBSITE_LINK_PRAVACY_LEGAL":"Datenschutz & Rechtliches","WEBSITE_WHY":"Warum wir es tun","WEBSITE_WHY_P1":"At Stremio, we come to work every day because we want to solve an important problem for the video-on-demand industry. There’s so much new content published every minute that it’s virtually impossible to find your way around it.","WEBSITE_WHY_P2":"We help people navigate that huge world of video entertainment and discover new content to enjoy. Our apps bring together movies, series, live TV, web channels, and more. We are dedicated to making it incredibly easy for users to find titles and broadcasters that they love.","WEBSITE_WHY_P3":"You can use our service on any device and at any time, making Stremio the only video entertainment hub you’ll ever need.","WEBSITE_TEAM":"TEAM","WEBSITE_TEAM_P":"The Stremio team is small but powerful: between the ten of us, we code in X languages, and share expertise in software development, UI and UX design, marketing and advertising, and business and startups.","WEBSITE_FEATURES":"Merkmale","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Discover new content with ease","WEBSITE_FEATURES_DISCOVER_P":"Easily discover new movies, TV shows, series and channels to watch. Browse by category, genre, rating, recency, etc. or simply type a name to find. Stremio makes finding new video content a piece of cake.","WEBSITE_FEATURES_ALL_CONTENT":"All of your video content on one screen","WEBSITE_FEATURES_ALL_CONTENT_P1":"See what movies, series or videos you didn’t finish and continue watching them; get notified for new episodes and releases; and browse through the recommendations you will get based on your viewing habits.","WEBSITE_FEATURES_LIBRARY":"Organize your video library","WEBSITE_FEATURES_LIBRARY_P1":"Add any title to your Stremio library with a single click and find your way around your content, neatly arranged by type, recency, or alphabetical order.","WEBSITE_FEATURES_CALENDAR":"Keep track of everything you watch","WEBSITE_FEATURES_CALENDAR_P1":"Get a calendar visualization of all the movies and series you add to your library. Export your Stremio calendar and sync it so you always know when a new episode or a premier is due.","WEBSITE_FEATURES_BIG_SCREEN":"Enjoy your video content on a bigger screen","WEBSITE_FEATURES_BIG_SCREEN_P1":"Cast whatever you are watching to another device - be it a phone, tablet or a TV with a single click.","WEBSITE_FEATURES_SOURCES":"Watch video from many different sources","WEBSITE_FEATURES_SOURCES_P":"Install official and community addons to enjoy video sourced from many different providers - all in one sleek, easy to use app.","WEBSITE_CREATE_AN_ADDON":"Create an addon","WEBSITE_FEATURES_SYNC":"Sync your library across different devices and resume your playback","WEBSITE_FEATURES_SYNC_P1":"Login with your account across all your devices and enjoy your library, addons, playback and calendar synchronized.","WEBSITE_FEATURES_EXTENDABLE":"Extendable video catalog by addons","WEBSITE_FEATURES_EXTENDABLE_P1":"The Stremio addon catalog provides a number of addons to install and watch a variety of video content from. This includes movies, shows, live TV, sport, news, podcasts, web channels, video games and more.","WEBSITE_FEATURES_AUTO_SUBS":"Automatic subtitles","WEBSITE_FEATURES_AUTO_SUBS_P1":"With our subtitle addons you get automatically selected options for your preferred language.","WEBSITE_FEATURES_CHROMECAST":"Casting to Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Enjoy your video content on a bigger screen or just cast whatever you are watching to another device.","WEBSITE_FEATURES_KEEP_TRACK":"Keep track of your favorite TV shows and Web channels","WEBSITE_FEATURES_KEEP_TRACK_P1":"Get a calendar visualization and notifications for new episodes of your favorite series and web channels.","WEBSITE_FEATURES_POWER_USER":"Power user features","WEBSITE_FEATURES_POWER_USER_P1":"Play in external player","WEBSITE_FEATURES_POWER_USER_P2":"Play from a torrent file or magnet link","WEBSITE_FEATURES_POWER_USER_P3":"Import to your library from Facebook likes or local disk","WEBSITE_ADD_ONS":"Addons","WEBSITE_ADD_ONS_P1":"All of the video content Stremio provides get sourced through an addon system - no content or content provider has been built into the app.","WEBSITE_ADD_ONS_P2":"There are two groups of addons available: official and community addons.","WEBSITE_ADD_ONS_P3":"The official ones are developed and hosted by Stremio, whereas community addons are created by our community members, who also host them.","WEBSITE_ADDONS_OFFICIAL":"Official addons","WEBSITE_ADDONS_WATCHUB":"Stream your favourite movies, series and shows from providers like iTunes, Hulu, Amazon and other UK/US services.","WEBSITE_ADDONS_YOUTUBE":"Watch your favourite YouTube channels ad-free and get notifications for new uploads from the contributors you follow.","WEBSITE_ADDONS_FILMON":"Watch live TV, movies and social television for free. 600 TV channels, 45,000 free movies, documentaries and more.","WEBSITE_ADDONS_OPENSUBTITLES":"Movie and TV subtitles in multiple languages, thousands of translated subtitles uploaded every day.","WEBSITE_ADDONS_COMMUNITY":"Community addons","WEBSITE_ADDONS_FILMON_VOD":"Watch video on demand from Filmon.tv","WEBSITE_ADDONS_TWICH":"Watch live streams from Twitch.tv - a video streaming platform for the e-sports industry.","WEBSITE_ADDONS_VODO":"Watch indie movies absolutely free of charge.","WEBSITE_ADDONS_NETFLIX":"Watch Netflix movies and web series.","WEBSITE_ADDONS_CREATE":"Create an addon","WEBSITE_ADDONS_CREATE_P1":"If you wish, you can develop your own addon. This way, you can give yourself and our community access to new video content, and reach a new, targeted audience of millions of users around the world.","WEBSITE_ADDONS_START_CREATE":"To get started, visit the Stremio Addon SDK page:","WEBSITE_DOWNLOADS":"Downloads","WEBSITE_DOWNLOADS_P1":"For optimal performance, we recommend that you use the latest available version of the Stremio apps. If for some reason, however, you would like to use an older version, you can download it here.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio für Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio für macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio für Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio für Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio für Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio für Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio für Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio für iOS","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio für Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio für LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio für Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio für Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio für Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio für Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service für Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service für macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service für Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service für Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"Mehr Download Optionen","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"The Stremio platform is open source and you can easily create an addon for content that is currently not sourced.","WEBSITE_CONTRIBUTE_WHY":"Why should you create an addon?","WEBSITE_CONTRIBUTE_WHY_P1":"Reach new audience for your video content","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio’s user base is growing rapidly - within the first year of the launch, Stremio had gained 1 million users around the world, and in the second year of the platform’s existence this number grew to 2.5 million.","WEBSITE_CONTRIBUTE_WHY_P3":"With your addon, you can easily reach this audience and distribute your video content to them.","WEBSITE_CONTRIBUTE_ALL":"Watch your favourite movies, videos, series and channels in one single place.","WEBSITE_CONTRIBUTE_ALL_P1":"You’re a fan of a particular type of content not available on Stremio yet? Create an addon for it and enjoy watching your favourite videos in one of the largest and easiest to use entertainment hubs on the market.","WEBSITE_CONTRIBUTE_ALL_P2":"On top of that, you’ll get the endless gratitude of other like-minded Stremio community members.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetize your addon and earn money with its help","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Once you develop a new addon for Stremio, you can easily monetize it through a number of different ways. If you are considering this, feel free to get in touch with us at ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - we would be happy to consult and advise you about addon monetization options.","WEBSITE_CONTRIBUTE_TRANSLATE":"Become a volunteer translator","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"If you want to enjoy the Stremio apps in different languages, you can join our community of volunteer translators. They help us add versions of the Stremio in many different languages.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Are you eager to get started?","WEBSITE_TRANSALTE_STREMIO":"Stremio übersetzen","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Official communities","WEBSITE_COMMUNITY_OFFICIALS_P1":"Become a part of the growing Stremio community. Follow us on social media and don’t be shy to say hello - we love hearing from our fans! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Inoffiziell","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partners and supporters","WEBSITE_COMMUNITY_GOODIES":"Stremio goodies","WEBSITE_COMMUNITY_WALLPAPERS":"Wallpapers","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"Kontaktieren Sie uns","WEBSITE_CONTACT_US_P1":"If you have any questions, comments or suggestions, feel free to get in touch with us through the contact form below.","WEBSITE_CONTACT_US_P2":"Keep in mind that we are located in Bulgaria so there may be a delay in addressing your query due to time zone differences.","WEBSITE_CONTACT_US_SUCCESS":"Your message has been sent. We will get back to you at our earliest convenience.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Bitte geben Sie eine gültige E-Mail-Adresse ein!","WEBSITE_CONTACT_US_Q_RELATED_TO":"Worauf bezieht sich Ihre Frage?","WEBSITE_CONTACT_US_Q_OS":"Was ist Ihr Betriebssystem?","WEBSITE_CONTACT_US_PH_EMAIL":"Ihre E-Mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Nachricht","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"SENDEN","WEBSITE_CONTACT_US_Q_1":"How to install?","WEBSITE_CONTACT_US_Q_2":"How to uninstall?","WEBSITE_CONTACT_US_Q_3":"(HTML) How to make lasagna?","WEBSITE_CONTACT_US_Q_4":"Addons","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Technologie","WEBSITE_TECHNOLOGY_P1":"We love technology and mad science. </br> Here is what powers Stremio (it’s all open-source).","WEBSITE_TECHNOLOGY_P_QT":"Cross-platform software development at its best.","WEBSITE_TECHNOLOGY_P_MPV":"A free, open source, and cross-platform media player.","WEBSITE_TECHNOLOGY_P_RN":"React Native lets you build mobile apps using only JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework embedded into application to get multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm is a mobile platform and a replacement for SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js is an open-source, cross-platform, JavaScript runtime environment.","WEBSITE_TECHNOLOGY_P_RUST":"Rust is a multi-paradigm system programming language focused on safety, especially safe concurrency.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribute to the project","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"There are two ways you can contribute to Stremio and help us make the product even better.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"You can donate your valuable language skills by translating the platform...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"oder","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... you can employ your coding skills for creating community addons. ","WEBSITE_TRANSLATE_STREMIO":"Stremio übersetzen","WEBSITE_404_OH_NO":"Uh-oh! The page you’re looking for is not here...","WEBSITE_GO_HOME":"Go home","WEBSITE_LINK_OTHER_DOWNLOADS":"Other downloads","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Support","WEBSITE_DOWNLOAD_4_0_BETA":"Download Now Stremio 4 beta","WEBSITE_GET_FOR_DESKTOP":"Get for desktop","WEBSITE_LINK_ADDON_COMPETITION":"Addon competition","WEBSITE_LINK_ART_CONTEST":"Art contest","WEBSITE_MY_ACCOUNT":"My account","WEBSITE_MAINPAGE_FAQ_001_H1":"What is Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio is a modern media center that gives you the freedom to watch everything you want.","WEBSITE_MAINPAGE_FAQ_002_H1":"How does it work?","WEBSITE_MAINPAGE_FAQ_002_P1":"Once you install Stremio on your device and create an account, all you have to do is to visit the addon catalog and install any addon you want, and you\'re good to go!","WEBSITE_MAINPAGE_FAQ_002_P2":"After that, you can go to the Discover or Board sections to start exploring content.","WEBSITE_MAINPAGE_FAQ_003_H1":"What can I watch here?","WEBSITE_MAINPAGE_FAQ_003_P1":"A lot: Movies, TV shows, Web channels, Sport, TV channels, listen to Podcasts and more. Thanks to our addon system, you can accss a variety of content.","WEBSITE_MAINPAGE_FAQ_004_H1":"Is Stremio open-source?","WEBSITE_MAINPAGE_FAQ_004_P1":"Yes, you can check the following links: ${1}desktop app${2} and ${3}GitHub organization${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Is Stremio safe?","WEBSITE_MAINPAGE_FAQ_005_P1":"Yes: because it is open-source software, the code is publically auditable and you can review it yourself.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"How about my privacy?","WEBSITE_MAINPAGE_FAQ_006_P1":"We respect users\' privacy and do not collect any personal data besides the essential minimum to create and sync your account.","WEBSITE_MAINPAGE_FAQ_006_P2":"There is also a ${1}Guest mode${2} at signup, which requires no data whatsoever: in this mode, no calls are made to our backend. However, it comes at the expense of useful features, such as being able to sync your library across devices.","WEBSITE_MAINPAGE_FAQ_007_H1":"Can I cast to my TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Yes, we support Chromecast and you can cast both from desktop and mobile apps (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"How many addons does Stremio have?","WEBSITE_MAINPAGE_FAQ_008_P1":"As of late 2019, over 50 - for more information, check our addon catalog.","WEBSITE_MAINPAGE_FAQ_009_H1":"Can Stremio be extended beyond what\'s in the addon catalog?","WEBSITE_MAINPAGE_FAQ_009_P1":"Yes, you should check those: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"What devices does Stremio support?","WEBSITE_MAINPAGE_FAQ_010_P1":"We have desktop apps for Windows, Mac and Linux. For mobile, we support Android and iOS, although keep in mind that the iOS is limited in functionality (does not support most addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"There are many Android-based devices which you can run Stremio on, like NVIDIA Shield and Amazon Fire Stick, but we do not support them officially.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Can you add certain content to Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Sorry, we provide no content ourselves, but the more Stremio addons you have installed, the more content you will be able to find.","WEBSITE_MAINPAGE_FAQ_012_H1":"Can Stremio play magnet links?","WEBSITE_MAINPAGE_FAQ_012_P1":"Yes, and it can also play normal HTTP links and torrent files (drag and drop).","WEBSITE_MAINPAGE_FAQ_013_H1":"Can I download a video and watch offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Available offline is an upcoming feature, but if you allow Stremio to cache on your device (from the settings panel) you can watch the videos later without a connection.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nothing works, help me!","WEBSITE_MAINPAGE_FAQ_014_P1":"Are you sure you have installed addons? If yes, check with our ${1}help center${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"How does Stremio sustain it\'s development operations?","WEBSITE_MAINPAGE_FAQ_015_P1":"We run non-intrusive ads occassionally, but we\'re considering moving to a donation model.","WEBSITE_MAINPAGE_FAQ_015_P2":"For more questions, go to our ${1}help center${2}.","HELP_LEARN_MORE":"Helfen Sie uns, mehr über Sie zu erfahren.","LIFESTYLE":"Lebensstil","SPORTS":"Sport","FOOD_HEALTH":"Essen & Gesundheit","BEAUTY_FASHION":"Schönheit & Mode","NEWS":"Nachrichten","GAMING":"Spielen","SCIENCE_EDUCATION":"Wissenschaft & Bildung","MUSIC":"Musik","TRAVEL":"Reise","LATE_NIGHT":"Late Night","REALITY":"Reality","COMEDY":"Comedy","DIY":"How to DIY","TECH":"Tech","CINEMA":"Kino","CONTINUE":"Fortsetzen","SLOW_LOADING":"LANGSAMES LADEN?","I_GIVE_UP":"ICH GEBE AUF","LEARN_MORE":"Erfahren Sie mehr","POOR_SOURCE":"Diese Quelle ist schlecht verfügbar oder Ihre Internetverbindung ist nicht schnell genug","PICK_CATEGORIES_ERR":"Sie müssen mindestens 3 Kategorien auswählen","ADJUST_TIMING":"zeitliche Abstimmung anpassen mit ","ADJUST_SIZE":"Größe anpassen mit ","SEARCH_ANYTHING":"Sie können alles suchen...","ALL_CATEGORIES":"Alle","SEARCH_CATEGORIES":"Filme, Serien, YouTube & Fernsehen","SEARCH_PERSONS":"Schauspieler, Regisseure und Autoren","SEARCH_PROTOCOLS":"HTTP- & Magnet-Links","SEARCH_TYPES":"IMDB- / TVDB-Links","WATCHED":"Angesehen","SHOW_LESS":"Weniger anzeigen","LAST_SEARCHES":"Letzte Suchanfragen","CLEAR_HISTORY":"Clear history","CHOOSE_SOME":"WÄHLEN SIE VON DIESEN AUS:","NO_WEB_REMOTE":"Web-Fernbedienung konnte nicht geladen werden","STREMIO_OFFLINE":"Stremio ist offline","STREMIO_EXPENSIVE_CONNECTION":"Wir haben festgestellt, dass du eine mobile Datenverbindung verwendest. Möchtest du fortfahren?","USE_DATA":"Mobile Daten benutzen","WARNING":"Warnung","MORE_INFO":"Weitere Informationen ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Wird geladen ...","STREMIO_TV_BACK_TO_LANGUAGES":"Zurück zu den Sprachen","STREMIO_TV_REMOTE":"Fernbedienung","STREMIO_TV_GO_TO":"Gehe zu:","STREMIO_TV_OR_SCAN":"oder scanne:","STREMIO_TV_ADDON_INSTRUCTIONS":"Please follow the instructions in order to install your preferred addons.","STREMIO_TV_LIVE_TV":"Live TV","STREMIO_TV_RESUME_WATCHING":"Resume Watching","STREMIO_TV_LOADING_BACKGROUND":"Loading Background","STREMIO_TV_CHECKING_AUTHENTICATION":"Checking Authentication","STREMIO_TV_LOADING_BOARD":"Loading Board","STREMIO_TV_LOGIN_HEADER_LINE_1":"We want our users to have the best possible personalized experience with our software.","STREMIO_TV_LOGIN_HEADER_LINE_2":"It is for this reason that we kindly ask you to make and/or login to your account.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Thank you for understanding,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Das Stremio-Team","STREMIO_TV_REMOTE_INSTRUCTIONS":"In order to use the Web Remote with your Smartphone / Tablet / Desktop:","STREMIO_TV_WIFI_SETUP":"Wi-Fi-Einrichtung","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle did not detect a internet connection.","STREMIO_TV_WIFI_DETAILS_1":"Verbinden mit:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Passwort verwenden:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Web Browser öffnen mit dem Link:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Standard","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"Nach Zuletzt Geschaut","STREMIO_TV_LIBRARY_SORT_NAME":"Nach Name","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"Nach Name Absteigend","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"Nach Geschauter Zeit","STREMIO_TV_LIBRARY_SORT_WATCHED":"Nach Geschaut","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"Nach Nicht Geschaut","STREMIO_TV_DETAILS_SEASON_NUMBER":"Staffel ${1}","STREMIO_TV_STREAMS_LOADING":"${1} / ${2} Addons geladen...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} Addons laden noch...","STREMIO_TV_PLAYER_SETTINGS":"Player settings","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Subtitles delay","STREMIO_TV_PLAYER_AUDIO_DELAY":"Audio delay","STREMIO_TV_PLAYER_VIDEO_SCALING":"Video scaling","STREMIO_TV_PLAYER_CHAPTERS":"Kapitel","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Unsupported stream source","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Failed opening external link","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Not adjustable in audio passthrough mode","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Play with ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Play with libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Switching to libVLC player due to a playback error","STREMIO_TV_ADDONS_TITLE":"Use Stremio on your Phone or PC to install or configure addons and press \\"Sync Addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Note: make sure you are using the same Stremio account","STREMIO_TV_ADDONS_SYNC_ADDONS":"Addons Synchronisieren","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons successfully synchronized","STREMIO_TV_ADDONS_SYNC_FAILED":"Failed to synchronize addons","STREMIO_TV_META_LINK_FAILED":"Failed opening meta link","STREMIO_TV_CATALOG_LOADING":"Catalog still loading...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Interface language updated","STREMIO_TV_SETTINGS_THEME_UPDATED":"Theme updated","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Default Player","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"External Player","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferred Language","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Secondary Preferred Language","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possible playback issues on some devices","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Some video formats might not work","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"No caching","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Default","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Soft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Fast","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Fast","STREMIO_TV_SETTINGS_SERVER_URL":"Streaming server url","STREMIO_TV_SETTINGS_SERVER_VERSION":"Server version","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Unknown","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio version","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Edit server url","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Enter a streaming server url","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Show statistics while loading","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"To read Stremio\'s Privacy Policy, visit:","STREMIO_TV_SETTINGS_TOS_TEXT":"To read Stremio\'s Terms and Conditions, visit:","STREMIO_TV_NAV_SEARCH":"Search","STREMIO_TV_NAV_HOME":"Home","STREMIO_TV_NAV_DISCOVER":"Entdecken","STREMIO_TV_NAV_LIBRARY":"Library","STREMIO_TV_NAV_MOVIES":"Filme","STREMIO_TV_NAV_SERIES":"Serien","STREMIO_TV_NAV_CHANNELS":"Kanäle","STREMIO_TV_NAV_TV":"Live TV","STREMIO_TV_NAV_SETTINGS":"Einstellungen","STREMIO_TV_NAV_ADDONS":"Addons","STREMIO_TV_LOGIN_TITLE":"Link Account","STREMIO_TV_LOGIN_EXPIRES_IN":"Läuft ab in","STREMIO_TV_LOGIN_STEP_ONE":"Scanne den QR Code oder gehe zu","STREMIO_TV_LOGIN_STEP_TWO":"Log in to your Stremio account","STREMIO_TV_LOGIN_NEW_LINK":"Request a new link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Login code refreshed","STREMIO_TV_SEARCH_PLACEHOLDER":"Schreib etwas","STREMIO_TV_SEARCH_NO_ADDONS":"No addons were requested for catalogs!","STREMIO_TV_SEARCH_BUTTON":"Search","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Leer","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Search History","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"You can search for Titles, Actors, Channels and more...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Clear Search History","STREMIO_TV_FILTERS_DESCRIPTION":"Choose from one of the filters below","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"Filter","SETTINGS":"Einstellungen","ACCOUNT":"Account","LOGOUT":"Ausloggen","THEMES":"Themes","PLAYBACK":"Playback","PLAYBACK_SPEED":"Playback Speed","AUDIO_TRACKS":"Audio Spuren","UNKNOWN_TRACK_LANG":"Unbekannt","VIDEOS":"Videos","SERVER":"Server","LINKS":"Links","ABOUT":"Über","INTERFACE":"Interface","ANIMATIONS":"Animationen","STATUS":"Status","LANGUAGE":"Sprache","SIZE":"Größe","DELAY":"Delay","BOLD":"Bold","OPACITY":"Opacity","TEXT_COLOR":"Text Farbe","OUTLINE_COLOR":"Gliederungs Farbe","BACKGROUND_COLOR":"Background Color","BACKGROUND_BLUR":"Background Blur","SEEK_TIME_DURATION":"Seek Time Duration","AUTO_PLAY":"Automatisch nächste Episode abspielen","PLAY_NOW":"Jetzt abspielen","MARK_AS_WATCHED":"Als Angeschaut markieren","MARK_AS_UNWATCHED":"Als Nicht Angeschaut markieren","REWIND_TO_BEGINNING":"Rewind to Beginning","CONTINUE_WATCHING":"Continue Watching","ALL":"Alle","SECONDS":"Sekunden","ON":"AN","OFF":"AUS","RELOAD":"Neu laden","EDIT_URL":"URL bearbeiten","NONE":"Keine","EMBEDDED":"Embedded","REMOTE_SWITCH_DEVICES":"Geräte wechseln","REMOTE_VIDEOS":"Videos","REMOTE_ADJUST_TIMING":"Timing anpassen","REMOTE_ADJUST_SIZE":"Größe anpassen","REMOTE_COULD_NOT_BE_LOADED":"Web Remote konnte nicht geladen werden","REMOTE_RETRY":"Wiederholen","TORRENT_PROFILE_DEFAULT":"Standard","TORRENT_PROFILE_SOFT":"Soft","TORRENT_PROFILE_FAST":"Fast","TORRENT_PROFILE_ULTRA_FAST":"Ultra Fast","FAQ_001_H1":"Was ist Stremio?","FAQ_001_P1":"Stremio is a media center software designed for video entertainment with ease of use in mind. Stremio allows you to organize &amp; watch your own collection of movies, series, channels and live TV.","FAQ_001_P2":"Stremio collect the content it shows you from your local disk and our addons system.","FAQ_001_P3":"It will also notify you when new episodes/videos/movies you\'re interested in come out, and provide movie recommendations for you.","FAQ_02_H1":"How does Stremio compare to Kodi and Plex?","FAQ_02_P1":"We are inspired by those two pieces of software. But we have different goals - Stremio is specifically targeted towards entertainment video, and strives to become the mainstream solution for that by being very easy to use.","FAQ_02_P2":"Stremio will never be as customizable and feature-rich as Kodi and Plex, but it is significantly easier to use. Just ${1} get it and see ${2} :)","FAQ_03_H1":"How does Stremio compare to Netflix?","FAQ_03_P1":"Again, Netflix is one of our inspirations. We strive to achieve the user experience of Netflix, plus a lot of added goodies. But most importantly, we\'re giving you the freedom to manage your own library and add new content sources with our addon system.","FAQ_03_P2":"That makes Stremio infinitely extendable, so when you use Stremio, you\'re never limited to the content Netflix decides to license. For example, through Stremio you can watch content from ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} and even ${9}Netflix${10} itself!","FAQ_04_H1":"How does Stremio compare to Flipboard?","FAQ_04_P1":"We don’t get that question that often, except when talking to start-up people :)","FAQ_04_P2":"Stremio is by design a content aggregator, which essentially makes it Flipboard for video. This is very apparent in our Board section, which gives you catalogues and new episode/new video notifications for what you follow, just like Flipboard.","FAQ_05_H1":"How does Stremio compare to Popcorn Time?","FAQ_05_P1":"Stremio and Popcorn Time are similar in user interface, because there aren’t many ways to do video entertainment catalogues right :)","FAQ_05_P2":"But while Popcorn Time is focused on streaming torrents from specific sources, Stremio is unrestricted and is merely a content aggregator - it’s not locked into a specific content source.","FAQ_05_P3":"Furthermore, we do not provide any torrent addons by default, so Stremio does not cover the Popcorn Time use-case with official functionality.","FAQ_05_P4":"Another notable difference is that Popcorn Time is completely open source, while Stremio is ${1} partially open source${2}.","FAQ_06_H1":"Will you add this movie/series?","FAQ_06_P1":"No, sorry :(","FAQ_06_P2":"As is mentioned in most of the other questions, Stremio does not provide any content by itself - everything is added through the addons system. In case you have a content request, you can use the “Report” button in the Player, which will send an email to the author of the addon you’re currently using.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Will you create addon for X?","FAQ_08_P1":"It\'s entirely possible.","FAQ_08_P2":"If you have an idea for an addon, drop us a line at ${1}office@stremio.com${2}, but please make sure your addon idea will not infringe on any copyrights or terms of use.","FAQ_08_P3":"At the moment, the next things on our roadmap are addons for FandangoNOW, Filmon.tv video on demand and Crunchyroll.","FAQ_09_H1":"Does Stremio use BitTorrent?","FAQ_09_P1":"Yes, Stremio supports BitTorrent as a streaming protocol. You can use that either with a torrent addon, or by drag-and-dropping a .torrent file into Stremio, or by pasting a magnet link into the Search Bar.","FAQ_09_P2":"Please note that the only official addon using BitTorrent is ${1}Vodo${2}, which provides indie content, all permitted to be distributed with BitTorrent.","FAQ_09_P3":"We do not support use of any third-party addons which may enable copyright infringement.","FAQ_10_H1":"What can I watch in Stremio with the official addons?","FAQ_10_P1":"By default, you can watch Filmon.tv, YouTube and Vodo content within Stremio itself, with it’s embedded player. Additionally, we have an addon for Twitch.tv and a few others.","FAQ_10_P2":"This combined provides a selection of:","FAQ_10_L1":"Popular TV channels, provided by Filmon.tv - for example E4, BBC, Bollyworld TV","FAQ_10_L2":"Everything from YouTube - for example BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indie movies with Vodo","FAQ_10_L4":"Online gaming broadcasts with Twitch.tv","FAQ_10_P3":"Additionally, there are many content sources provided with Guidebox and the Netflix addons, which <b>do not</b> play entirely inside Stremio, but would redirect to the given service. For example, the Guidebox addon would give you a selection of movies you can stream in the US for free, from services like TubiTV and Crackle.","FAQ_11_H1":"Stremio won\'t install, what should I do?","FAQ_11_P1":"If you\'re on Windows, try ${1}this alternative installer${2}.","FAQ_11_P2":"If you\'re on Mac OS X, please be aware that we don\'t support anything older than OS X Mavericks (10.9).","FAQ_11_P3":"If you\'re on Linux, be aware that we only support 64 bit (x64) Linux at the moment.","FAQ_11_P4":"If you still can\'t resolve your problem, please write us at our ${1}Facebook group${2}.","FAQ_12_H1":"Why does my anti-virus complain? Is Stremio safe?","FAQ_12_P1":"We assure you Stremio is ${1}100% clean${2}.","FAQ_12_P2":"Your antivirus is complaining because we include advertising in our installer, which some anti-virus programs recognize as ad-ware.","FAQ_12_P3":"If you\'re still unsure, you can try our ${1}alternative installer${2}.","FAQ_13_H1":"How can I make an addon?","FAQ_13_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_13_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_13_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_14_H1":"How are addons published?","FAQ_14_P1":"When you create an addon and host, and put a <b>endpoint</b> field in your manifest, which points to a working addon address, the addon will automatically publish itself to our ${1}Addon catalogue${2}.","FAQ_14_P2":"This happens because the server part of the stremio-addons module automatically makes a call to our API to announce the addon. When our API validates your <b>endpoint</b> as a valid addon, it will start showing in the catalogue.","FAQ_15_H1":"Can I run Stremio in my browser?","FAQ_15_P1":"Not at the moment, but this is coming!","FAQ_15_P2":"If you\'re curious to see an Alpha, you can see it here: ${1}alpha4.strem.io${2}. Keep in mind streaming is disabled on this alpha. We support Chrome, Firefox, Opera and Edge.","FAQ_16_H1":"Casting to TV doesn\'t work / subtitles don\'t work","FAQ_16_P1":"Casting to TV uses the DLNA technology which is very inconsistent between different TV brands and models. For that reason, we do not have the ability to test it in every case, so it\'s far from perfect. Despite this, we\'re working on improving it constantly but we cannot give you a time estimate on when DLNA will start working properly with your TV.","FAQ_16_P2":"If you don\'t even see your TV in the casting menu, please try disabling your network connection and re-enabling it (on Windows, right click the Network and use Enable/Disable), as well as restarting your router, TV and PC.","FAQ_16_P3":"If you are still encountering issues, you can help us by sending your TV brand and model information at ${1}office@stremio.com${2}.","FAQ_16_P4":"In the meantime, we recommend Chromecast, which we support very well, or simply plugging in your TV to your PC with an HDMI cable.","FAQ_17_H1":"Stremio freezes and/or crashes, what can I do?","FAQ_17_P1":"First of all, if you\'re using Windows 7 with AVG anti-virus: we have a problem with that combination. The problem is in AVG itself, and there\'s no reasonable way to resolve it on our end. Unfortunately, exceptions or disabling the anti-virus won\'t work. The only solution is to replace AVG with something else.","FAQ_17_P2":"If that\'s not the issue, but you\'re still using Windows, please update to the latest service pack and update/re-install your GPU drivers, then try again.","FAQ_17_P3":"If you\'re problem is still not resolved, or you\'re using a Mac or Linux, please write us reporting the exact details of the problem at ${1}our Facebook group${2}.","FAQ_18_H1":"How can I make an addon?","FAQ_18_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_18_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_18_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_19_H1":"Why is Stremio taking disk space?","FAQ_19_P1":"Stremio has a <b>local cache</b> to temporarily keep the video files you stream.","FAQ_19_P2":"This has two benefits: first, it allows Stremio to pre-buffer the video ahead so as to ensure smoother streaming. Second, it keeps the videos in the local cache so you can continue watching them offline.","FAQ_19_P3":"How much Stremio keeps depends on the <b>Cache</b> setting in the Settings panel. Stremio may keep up to the set amount (e.g. 2GB) on your disk, unless the currently streamed video is larger than that, in which case it has to allocate enough storage to keep it until you\'re streaming it.","FAQ_20_H1":"Where is the cache folder?","FAQ_20_P1":"On Windows, it\'s stremio-cache in the drive you picked in Settings (e.g. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"On MacOS, it\'s \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"On Linux, it\'s \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"I get \\"Streaming server is not found\\" error, what can I do?","FAQ_21_P1":"If you get this error, it means one of few things:","FAQ_21_P2":"1) You are trying to use an addon backed by YouTube/BitTorrent source, through our ${1}web version${2}. In this case, you should install our desktop version from ${3}our website${4}.","FAQ_21_P3":"2) Something is wrong with your Stremio installation. In this case, try re-installing our latest desktop version from ${1}the website${2}. If this does not help, try disabling anti-virus programs and firewalls, restarting your PC and trying again. If this does not work too, please write us at our ${3}our Facebook group${4}.","FAQ_22_H1":"I cannot see/use most addons on iOS","FAQ_22_P1":"Because of restrictions in the Apple App Store terms and conditions, we have restricted the iOS application only to a particular set of addons.","FAQ_22_P2":"But rest assured - there will be more addons for iOS in the future, and we may also add an integration that will allow you to use all Stremio addons thanks to connecting the iOS app to the Stremio Streaming Server."}')},15158:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Ταινία","TYPE_series":"Σειρά","TYPE_tv":"Τηλ. κανάλι","TYPE_channel":"Κανάλι","TYPE_other":"Άλλο","TYPE_movie_PL":"Ταινίες","TYPE_series_PL":"Σειρές","TYPE_tv_PL":"Τηλ. κανάλια","TYPE_channel_PL":"Κανάλια","TYPE_other_PL":"Άλλα","TYPE_ALL":"Όλα","TYPE":"Τύπος","CATALOG_com_linvo_cinemeta_top":"Δημοφιλείς","CATALOG_com_linvo_cinemeta_imdbRating":"Επιλεγμένες","CATALOG_com_linvo_cinemeta_year":"Νέες","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Δημόσιες ταινίες","VIDEO":"Βίντεο","BACK":"Πίσω","MORE":"Περισσότερα","DONE":"Τέλος","COPY":"Αντιγραφή","SUCCESS":"Επιτυχία","ERROR":"Υπήρξε πρόβλημα","SETTINGS_CASTING_MODE_PICKER":"Τύπος αναπαραγωγής","CASTING_MODE_HLSV2":"Προεπιλογή","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Χωρίς διακωδικοποίηση","Discover":"Ανακάλυψη","Board":"Πίνακας","Library":"Βιβλιοθήκη","My Library":"Η βιβλιοθήκη μου","Calendar":"Ημερολόγιο","NOTIFICATION_ONLINE":"Είστε σε σύνδεση","NOTIFICATION_OFFLINE":"Είστε εκτός σύνδεσης","INTERNET_CONNECTION":"Σύνδεση δικτύου","STORAGE_FULL_TITLE":"Προειδοποίηση: Πλήρης αποθηκευτικός χώρος!","STORAGE_FULL_TEXT":"Το Stremio δεν θα μπορεί να αποθηκεύει τις ρυθμίσεις, τις προτιμήσεις ή τα στοιχεία σύνδεσής σας. Δοκιμάστε να κάνετε εκ νέου εκκίνηση ή εγκατάσταση του Stremio.","SEARCH":"Αναζήτηση","SEARCH_NO_RESULTS":"Δεν βρέθηκαν αποτελέσματα","SEARCH_EXPLANATION_CONTENT":"Αναζήτηση ταινιών, σειρών, καναλιών τηλεόρασης και YouTube","SEARCH_EXPLANATION_PEOPLE":"Αναζήτηση ηθοποιών, σκηνοθετών και σεναριογράφων","SEARCH_PASTE_LINKS":"Επικόλληση συνδέσμων HTTP και magnet","SEARCH_OR_PASTE_LINK":"Αναζητήστε ή επικολλήστε σύνδεσμο","SEARCH_SUGGESTIONS":"Προτάσεις αναζήτησης","ADD_TO_LIB":"Εισαγωγή στη βιβλιοθήκη","REMOVE_FROM_LIB":"Αφαίρεση από τη βιβλιοθήκη","ADDED_TO_LIB":"Προστέθηκε στη βιβλιοθήκη","REMOVED_FROM_LIB":"Αφαιρέθηκε από τη βιβλιοθήκη","TRAILER":"Τρέιλερ","WATCH_TRAILER":"Προβολή τρέιλερ","WATCH_NOW":"Προβολή τώρα","SHOW":"Εμφάνιση","SHOW_MOVIE":"Εμφάνιση ταινίας","WATCH_RANDOM":"Τυχαία προβολή","IMDB_RATING":"Στο IMDb","YEAR":"Έτος","DIRECTOR":"Σκηνοθεσία","WRITER":"Σενάριο","LEAD_ACTORS":"Πρωταγωνιστές","CAST":"Ηθοποιοί","CREW":"Συντελεστές","SHOW_MORE_CAST":"Περισσότερα »","AIRED":"Μετάδοση","SEASONS":"Κύκλοι","GENRE":"Είδος","GENRE_ALL":"Όλα τα είδη","CATALOG":"Κατάλογος","SUMMARY":"Περίληψη","SHOW_MORE":"Περισσότερα","SIMILAR":"Παρόμοια","UPCOMING":"Επερχόμενα","ENDED":"Τέλος","DURATION":"Διάρκεια","FEATURED":"Προτεινόμενα","METADATA":"Μεταδεδομένα","CATEGORY":"Κατηγορία","LINKS_GENRES":"Είδη","LINKS_CAST":"Καστ","LINKS_DIRECTORS":"Σκηνοθέτες","SEARCH_VIDEOS":"Αναζήτηση βίντεο","SEARCH_PLACEHOLDER":"Αναζήτηση ή επικόλληση URL","ADDON":"Πρόσθετο","ADDONS":"Πρόσθετα","OFFICIAL":"Επίσημο","ADDONS_OFFICIAL":"Επίσημα πρόσθετα του Stremio","ADDONS_POPULAR":"Δημοφιλή στην περιοχή σας","ADDON_FREE":"Δωρεάν","ADDON_PEERED":"Σε peers","ADDON_SUBSCRIPTION":"Συνδρομή","ADDON_STREAM_GEORESTRICTED":"Δεν διατίθεται στην περιοχή σας","ADDON_STREAM_OFFLINECACHE":"Προσωρινή μνήμη εκτός σύνδεσης","ADDON_STREAM_LOCALFILE":"Τοπικό αρχείο","SHARE_ADDON":"Κοινοποίηση προσθέτου","AVAILABLE_STREAMS":"Διαθέσιμες ροές","NO_STREAM":"Δεν βρέθηκαν ροές","ALL_ADDONS":"Όλα τα","INSTALL_MORE_ADDONS":"Για περισσότερες ροές, παρακαλώ εγκαταστήστε περισσότερα πρόσθετα","STREAM_NOT_SUPPORTED":"Η επιλεγμένη ροή δεν υποστηρίζεται σε αυτήν την πλατφόρμα.","ADDON_CATALOGUE":"Εμφάνιση όλων των προσθέτων »","ADDON_CATALOGUE_MORE":"Εγκατάσταση προσθέτων","REPO_ADDED":"Το αποθετήριο προστέθηκε","ADDON_REPO_EXIST_ERR":"Αυτή η συλλογή προσθέτων υπάρχει ήδη","ADDON_REPO_ERR":"Προέκυψε σφάλμα κατά την προσθήκη της συλλογής","ADDON_ADD_ERR":"Προέκυψε σφάλμα κατά την προσθήκη του προσθέτου","ERR_ADDON_PROTECTED":"Δεν είναι δυνατή η αφαίρεση του προσθέτου, είναι προστατευόμενο","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Κάτι πήγε στραβά - η ταυτοποίηση ενδέχεται να απέτυχε","ERR_NOT_COLLECTION_URL":"Δεν είναι URL συλλογής","ERR_NOT_ADDON_URL":"Δεν είναι έγκυρο URL προσθέτου","ERR_DETECTFROMURL":"Δεν είναι δυνατή η εύρεση του προσθέτου/συλλογής από αυτό το URL","ADDON_DUPLICATE_WARNING":"Προειδοποίηση: Διπλότυπο πρόσθετο","ADDON_COLLECTION_SET_FAILED":"Αποτυχία συγχρονισμού εγκατεστημένων προσθέτων στον λογαριασμό σας","SETTINGS_DATA_EXPORT":"Εξαγωγή δεδομένων χρήστη","ADDON_PULL_FAILED":"Αποτυχία συγχρονισμού εγκατεστημένων προσθέτων από τον λογαριασμό σας","REFRESH_ON_CLICK":"Κάντε κλικ για επανάληψη","STILL_IN_THEATER":"Ακόμη στις αίθουσες","WATCH_IN_CINEMA":"Δείτε το στον τοπικό σας κινηματογράφο","IN_THEATER":"Στις αίθουσες","GET_TICKETS":"Εισιτήρια","UPCOMING_EPISODE":"Επερχόμενο επεισόδιο","UPCOMING_EPISODE_MESSAGE":"Αυτό το επεισόδιο θα προβληθεί σε","MISSING_DATE_EPISODE":"Απουσία ημερομηνίας","MISSING_DATE_EPISODE_MESSAGE":"Αυτό το επεισόδιο ενδέχεται να μην έχει προβληθεί ακόμα","CHANNEL_NOT_SCRAPED":"Δεν έχει γίνει ακόμα συλλογή δεδομένων για αυτό το κανάλι.<br>Παρακαλώ επιστρέψτε σε λίγα λεπτά.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Προσθέστε το στη βιβλιοθήκη σας για να ειδοποιηθείτε μόλις γίνει διαθέσιμο.","GET_NOTIFIED_WHEN_AVAILABLE":"Θα ειδοποιηθείτε μόλις γίνει διαθέσιμο.","WARNING_STREAMING_SERVER":"Προειδοποίηση: Δεν βρέθηκε τοπική υπηρεσία ροής. Η ροή από τοπικά αρχεία, YouTube και BitTorrent δεν θα είναι διαθέσιμη.","WARNING_STREAMING_SERVER_DISMISS":"Απόρριψη","WARNING_STREAMING_SERVER_LATER":"Αργότερα","DECODER_WARNING":"Προειδοποίηση: Αυτό το βίντεο ενδέχεται να μην υποστηρίζεται από το υλικό σας. Λάβετε υπόψη ότι η αναπαραγωγή μπορεί να είναι αργή.","GENERIC_ERROR_MESSAGE":"Κάτι πήγε στραβά!","TRY_AGAIN":"Δοκιμάστε ξανά","CLEAR_DATA":"Εκκαθάριση δεδομένων","PLAYER_ERROR":"Ωχ, σφάλμα αναπαραγωγής","PLAYER_ERROR_LOOKSLIKE":"Φαίνεται ότι","PLAYER_ORIENTATION":"Προσανατολισμός αναπαραγωγής","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Κλειδωμένος","PLAYER_ORIENTATION_SENSOR_SHORT":"Αισθητήρας","PLAYER_ORIENTATION_LANDSCAPE":"Ο προσανατολισμός αναπαραγωγής κλείδωσε στην οριζόντια θέση","PLAYER_ORIENTATION_SENSOR":"Αυτόματος προσανατολισμός αναπαραγωγής (αισθητήρας)","PLAYER_PLAYBACK_SPEED":"Ταχύτητα αναπαραγωγής","PLAYER_PLAYBACK_ERROR":"Σφάλμα αναπαραγωγής, παρακαλώ δοκιμάστε ξανά","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Άγνωστο σφάλμα","PLAYER_PLAYBACK_ERROR_DEFAULT":"Δυστυχώς, αυτό το βίντεο δεν μπορεί να αναπαραχθεί από το {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Γλώσσα υποτίτλων","PLAYER_SUBTITLES_VARIANTS":"Παραλλαγές υποτίτλων","PLAYER_SUBTITLES_SETTINGS":"Ρυθμίσεις υποτίτλων","PLAYER_SUBTITLES_DISABLED":"Οι υπότιτλοι είναι απενεργοποιημένοι","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Ύψος υποτίτλων","PLAYER_SUBTITLES_LOADED":"Οι υπότιτλοι φορτώθηκαν","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Οι ενσωματωμένοι υπότιτλοι φορτώθηκαν","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Οι ειδικοί υπότιτλοι φορτώθηκαν","PLAYER_SUBTITLES_LOADED_ORIGIN":"Οι υπότιτλοι από το {{origin}} φορτώθηκαν","PLAYER_PLAY":"Αναπαραγωγή","PLAYER_PAUSE":"Παύση","PLAYER_NEXT_VIDEO":"Επόμενο βίντεο","PLAYER_MUTE":"Σίγαση","PLAYER_UNMUTE":"Κατάργηση σίγασης","PLAYER_OPEN_IN_EXTERNAL":"Άνοιγμα σε εξωτερικό πρόγραμμα αναπαραγωγής","PLAYER_OPEN_IN_NPLAYER":"Άνοιγμα στον nPlayer","PLAYER_PLAY_IN":"Αναπαραγωγή στο {{device}}","PLAYER_LIVE":"Ζωντανά","PLAYER_NEXT_VIDEO_TITLE":"Επόμενο βίντεο","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Ακολουθεί","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Απόρριψη","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Προβολή τώρα","PLAYER_COPY_STREAM_SUCCESS":"Ο σύνδεσμος ροής αντιγράφηκε στο πρόχειρο","PLAYER_COPY_STREAM_ERROR":"Σφάλμα αντιγραφής συνδέσμου ροής","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Ο σύνδεσμος λήψης αντιγράφηκε στο πρόχειρό σας","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Αποτυχία αντιγραφής συνδέσμου λήψης","STREAMING_FROM":"Ροή από","CASTING_TO":"Μετάδοση σε","NETWORK_STATUS":"Κατάσταση δικτύου","STREAM_SPEED":"Ταχύτητα ροής:","STREAM_BUFFERED":"Ενδιάμεση μνήμη:","PEERS_INFO":"Πληροφορίες peers","PEERS_ACTIVE":"Ενεργοί:","PEERS_CONNECTED":"Σε σύνδεση:","PEERS_WAITING":"Αναμονή:","TRANSCODING_WARNING":"Προειδοποίηση: Αλλαγή κωδικοποίησης βίντεο.","STREAM_LOADING":"Φόρτωση...","PLAYING_LOCAL":"Αναπαραγωγή από τοπικό αρχείο","PLAYING_CACHE":"Αναπαραγωγή από προσωρινή μνήμη","WRONG_SUBS":"Εσφαλμένοι υπότιτλοι;","ERR_SUBS_LOADING_TITLE":"Σφάλμα φόρτωσης υποτίτλων","ERR_SUBS_LOADING":"Αποτυχία φόρτωσης υποτίτλων: ενδέχεται να υπάρχει πρόβλημα με το πρόσθετό σας ή τη σύνδεση δικτύου σας","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Τα ακόλουθα πρόσθετα υποτίτλων απέτυχαν","ERR_CASTING_UPDATE_TITLE":"Δεν ήταν δυνατή η ενημέρωση των πληροφοριών της συσκευής μετάδοσης: ο διακομιστής ροής ενδέχεται να είναι εκτός σύνδεσης","CHOOSE_DEVICE":"Επιλέξτε συσκευή για παρακολούθηση","NO_CAST_DEVICES":"Δεν διατίθενται συσκευές μετάδοσης.","NO_SETTINGS":"Καμία διαθέσιμη ρύθμιση.","PHONE_TABLET":"Τηλέφωνο/Tablet","SUBTITLES":"Υπότιτλοι","SUBTITLES_CHANGE":"Αλλαγή υποτίτλων για ","SUBTITLES_CHANGE_NONE":"Δυστυχώς, δεν υπάρχουν άλλοι υπότιτλοι για αυτήν τη γλώσσα.","SUBTITLES_CHANGE_ACIVE":"Αυτήν τη στιγμή, είναι ενεργοί οι υπότιτλοι &#35;{{subtitlesDialog.activeIdx + 1}}. Κάντε κλικ στο «Συνέχεια» για να ενεργοποιήσετε τους υπότιτλους &#35;{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Εναλλακτικά,","SUBTITLES_ADJUST_DELAY":"Προσαρμογή καθυστέρησης υποτίτλων:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Ή χρησιμοποιήστε τα πλήκτρα <span>G</span> / <span>H</span> κατά την αναπαραγωγή.","SUBTITLES_ADJUST_DELAY_TIP":"ΣΥΜΒΟΥΛΗ: Μπορείτε να χρησιμοποιήσετε τα πλήκτρα <span>G</span> / <span>H</span> κατά την αναπαραγωγή.","SUBTITLES_DELAY":"Καθυστέρηση υποτίτλων:","SUBTITLES_LOADING":"Φόρτωση υποτίτλων...","SUBTITLES_UNAVAILABLE":"Δεν διατίθενται εξωτερικοί υπότιτλοι","SUBTITLES_DISABLED":"Ανενεργοί","EXTERNAL_PLAYER_DISABLED":"Απενεργοποιημένο","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Να επιτρέπεται η επιλογή","EXTERNAL_PLAYER_HINT":"Συμβουλή: Υπάρχει μια ρύθμιση που επιτρέπει πάντα το άνοιγμα με εξωτερική συσκευή αναπαραγωγής","DONT_SHOW_AGAIN":"Να μην ξαναεμφανιστεί","SERVICE_INSTALL":"Εγκατάσταση","AUDIO":"Ήχος","DEFAULT_LANGUAGE":"Προεπιλεγμένη γλώσσα","DEFAULT_SECONDARY_LANGUAGE":"Δευτερεύουσα προεπιλεγμένη γλώσσα","SEASON":"Κύκλος","EPISODE":"Επεισόδιο","EPISODE_ABBREVIATION":"ΕΠ","SPECIAL":"Σπέσιαλ","SORT":"Ταξινόμηση","SORT_BY":"Ταξινόμηση κατά","FILTER":"Φιλτράρισμα","SORT_TRENDING":"Τάσεις","SORT_RECENT":"Πρόσφατα","SORT_ALPHABET":"Α-Ω","SORT_ALPHABET_REVERSE":"Ω-Α","SORT_RATING":"Βαθμολογία","SORT_WATCHED":"Προβλήθηκαν","SORT_YEAR":"Έτος","SELECT_TYPE":"Επιλέξτε τύπο","SELECT_SORT":"Ταξινόμηση κατά","SELECT_CATALOG":"Επιλέξτε κατάλογο","SELECT_GENRE":"Επιλέξτε τύπο","SORT_LASTWATCHED":"Από τη τελευταία προβολή","SORT_NAME":"Από το όνομα","SORT_NAMEREVERSE":"Ω-Α","SORT_TIMESWATCHED":"Από τον αριθμό αναπαραγωγών","SORT_NOTWATCHED":"δεν έχει προβληθεί","New for You":"Νέα για εσάς","New Episodes":"Νέα επεισόδια","New Videos":"Νέα βίντεο","Recommendations":"Προτάσεις","LIBRARY_RESUME":"Συνέχιση","LIBRARY_PLAY":"Αναπαραγωγή","LIBRARY_DETAILS":"Λεπτομέρειες","LIBRARY_RESUME_DISMISS":"Απόρριψη","LIBRARY_CLEAR_PROGRESS":"Κατάργηση προόδου","LIBRARY_REMOVE":"Αφαίρεση","LIBRARY_NOT_LOGGED_IN":"Μόνο οι χρήστες που έχουν λογαριασμό στο Stremio έχουν πρόσβαση στη βιβλιοθήκη","CALENDAR_NOT_LOGGED_IN":"Μόνο οι χρήστες που έχουν λογαριασμό στο Stremio έχουν πρόσβαση στο ημερολόγιο","NOT_LOGGED_IN_CLOUD":"Δείτε τις αγαπημένες σας ταινίες και σειρές οπουδήποτε, οποιαδήποτε στιγμή.","NOT_LOGGED_IN_RECOMMENDATIONS":"Προτάσεις προσαρμοσμένες στο ιστορικό παρακολούθησής σας","NOT_LOGGED_IN_NOTIFICATIONS":"Μη χάσετε κανένα επεισόδιο","NOT_LOGGED_IN_CALENDAR":"Προσαρμόστε και προγραμματίστε το προσωπικό σας ημερολόγιο παρακολούθησης","DISCOVER_FEATURED":"Προτεινόμενα","DISCOVER_TOP":"Κορυφαία","DISCOVER_OSCAR":"Νικητές Όσκαρ","DISCOVER_WARNING_TITLE":"Ωχ!","DISCOVER_EMPTY_CATALOG":"Αυτό το πρόσθετο επέστρεψε κενό περιεχόμενο.","DISCOVER_ADULT_WARNING":"Το περιεχόμενο είναι ορατό μόνο για ενήλικες. Είστε 18+;","DISCOVER_NOADDON_WARNING":"Προειδοποίηση: Δεν υπάρχει ενεργό πρόσθετο στο Stremio για αυτόν τον τύπο. Εμφανίζονται αποθηκευμένα στοιχεία, δεν θα ενημερωθεί τίποτα εδώ.","DISCOVER_LOAD_ERR":"Το περιεχόμενο δεν φορτώθηκε, προέκυψε σφάλμα.","DISCOVER_ADDON_UNINSTALLED":"Αυτό το περιεχόμενο δεν είναι πλέον διαθέσιμο, ενδέχεται να έχετε αφαιρέσει το πρόσθετο.","UNINSTALL_THIS_ADDON":"Αφαίρεση προσθέτου","ERR_ADDON_NOT_INSTALLED":"Αυτό το πρόσθετο δεν έχει εγκατασταθεί. Να γίνει εγκατάσταση;","DETAIL_RECEIVE_NOTIF_SERIES":"Λήψη ειδοποιήσεων για νέα επεισόδια","DETAIL_RECEIVE_NOTIF_VIDEOS":"Λήψη ειδοποιήσεων για νέα βίντεο","SIDEBAR_SHOW_STREAMS":"Εμφάνιση ροών","RELAUNCH":"Κάντε επανεκκίνηση τώρα!","UPGRADE":"Υπάρχει νέα διαθέσιμη έκδοση! Αναβαθμίστε στην πιο πρόσφατη έκδοση του Stremio","RELOAD_UI":"Ανανεώστε το περιβάλλον χρήστη","MANUAL_UPDATE_TITLE":"Ενημερώστε την έκδοση του Stremio σας","MANUAL_UPDATE_LINE1":"Χρησιμοποιείτε μια παρωχημένη έκδοση του Stremio, κάτι που δεν προτείνεται.","MANUAL_UPDATE_LINE2":"Παρακαλώ κάντε ενημέρωση το συντομότερο δυνατόν.","BUTTON_UPDATE_LATTER":"Όχι τώρα","BUTTON_UPDATE_NOW":"Ενημέρωση τώρα","ANONYMOUS_USER":"Ανώνυμος χρήστης","DONT_HAVE_ACC":"Δεν έχετε λογαριασμό;","HAVE_ACC":"Έχετε ήδη λογαριασμό;","PASSWORD":"Κωδικός πρόσβασης","PASSWORD_CONFIRM":"Επιβεβαίωση κωδικού πρόσβασης","EMAIL":"Email","FB_LOGIN":"Συνέχεια με Facebook","FB_NOTHINGSHARED":"Δεν κοινοποιούμε τίποτα χωρίς την άδειά σας","FB_NOPOST":"Δεν θα δημοσιεύσουμε τίποτα εκ μέρους σας","OR":"ή","I_ACCEPT":"Αποδοχή","I_ACCEPT_BY_CLICKING":"Κάνοντας κλικ στο παραπάνω κουμπί, δηλώνω την αποδοχή ","TOS":"Όροι και Προϋποθέσεις","MUST_ACCEPT_TERMS":"Πρέπει να αποδεχθείτε τους όρους","PASSWORDS_NOMATCH":"Οι κωδικοί πρόσβασης δεν ταιριάζουν","SIGN_UP":"Εγγραφή","SIGN_UP_EMAIL":"Εγγραφή με email","CLICK_TO_SIGN_UP":"Κάντε κλικ εδώ για να εγγραφείτε.","LOG_IN":"Σύνδεση","LOG_OUT":"Αποσύνδεση","EXIT_FULLSCREEN":"Έξοδος από πλήρη οθόνη","ENTER_FULLSCREEN":"Είσοδος σε πλήρη οθόνη","PLAY_URL_MAGNET_LINK":"Αναπαραγωγή URL/συνδέσμου magnet","HELP_FEEDBACK":"Βοήθεια & σχόλια","TERMS_OF_SERVICE":"Όροι υπηρεσίας","PRIVACY_POLICY":"Πολιτική Απορρήτου","ABOUT_STREMIO":"Σχετικά με το Stremio","USER_PANEL":"Πίνακας χρήστη","LOGIN_LABEL":"Σύνδεση","GUEST_LOGIN":"Σύνδεση επισκέπτη","GUEST_LOGIN_NOTICE":"Δεν προτείνεται η σύνδεση επισκέπτη. Η κανονική σύνδεση επιτρέπει στο Stremio να συγχρονίζει τη βιβλιοθήκη σας και να σας στέλνει ειδοποιήσεις για αγαπημένες σειρές/κανάλια. Θέλετε σίγουρα να συνεχίσετε;","GUEST_LOGIN_NOTICE_2":"Δεν προτείνεται η σύνδεση επισκέπτη - δεν θα συγχρονίζεται η βιβλιοθήκη και οι ειδοποιήσεις πίνακα, που είναι βασικές λειτουργίες του Stremio. Θέλετε σίγουρα να συνεχίσετε;","CLICK_HERE":"Κάντε κλικ εδώ","WRONG_PASSWORD":"Εσφαλμένο email ή κωδικός πρόσβασης. Σε περίπτωση που έχετε ξεχάσει τον κωδικό πρόσβασής σας, ","SET_A_PASS":"Ορισμός κωδικού πρόσβασης","RESET_PASSWORD":"Επαναφορά κωδικού πρόσβασης","FORGOT_PASSWORD":"Ξεχάσατε τον κωδικό πρόσβασής σας;","EMAIL_USED_WITH_FB":"Αυτό το email χρησιμοποιήθηκε με σύνδεση Facebook.","INVALID_EMAIL":"Παρακαλώ εισαγάγετε μια έγκυρη διεύθυνση email","INVALID_PASSWORD":"Παρακαλώ εισαγάγετε έναν έγκυρο κωδικό πρόσβασης","CONN_ERR":"Σφάλμα σύνδεσης - παρακαλώ δοκιμάστε ξανά αργότερα.\\n\\nΑν επιμένει, απενεργοποιήστε το λογισμικό προστασίας από ιούς ή το τείχος προστασίας (ειδικά το Bitdefender).","IMPORT_FROM_GUEST":"Εισαγωγή βιβλιοθήκης από λογαριασμό επισκέπτη","RECEIVE_UPDATES_EMAIL":"Λήψη ενημερώσεων από το Stremio στο email σας","LOGIN_FAILED":"Αποτυχία σύνδεσης.","SIGNUP_FAILED":"Αποτυχία εγγραφής.","SEARCH_FAILED":"Αποτυχία αναζήτησης","EMAIL_USED":"Αυτό το email χρησιμοποιείται ήδη.","WAITING_FB_LOGIN":"Σύνδεση μέσω Facebook...","EXTERNAL_PLAYER_TITLE":"Αναπαραγωγή σε εξωτερικό πρόγραμμα","EXTERNAL_REMEMBER_PLAYER":"Θέλετε να αποθηκεύσετε την επιλογή σας;","EXTERNAL_ALWAYS_PLAY":"Ναι","EXTERNAL_ONLY_ONCE":"Όχι","BEST_FIT":"Βέλτιστη προσαρμογή","FIT_SCREEN":"Προσαρμογή στην οθόνη","FILL":"Γέμισμα","16:9":"16:9","4:3":"4:3","Original":"Αρχικό","INTRO_TASTE":"Πείτε μας τι σας αρέσει","INTRO_TASTE_LONG":"Πείτε μας τι θα θέλατε να δείτε","INTRO_TASTE_PICK":"Επιλέξτε {{interestsRemaining}} ενδιαφέροντα","INTRO_TASTE_PICK_MORE":"Επιλέξτε {{interestsRemaining}} κι άλλα ενδιαφέροντα","INTRO_TASTE_HELP_US":"Βοηθήστε μας να μάθουμε περισσότερα για εσάς.","INTRO_TASTE_CHOOSE_THESE":"Επιλέξτε κάποια από αυτά:","INTRO_TASTE_CHOOSE_MIN":"Επιλέξτε τουλάχιστον 3 κατηγορίες","INTRO_TASTE_CHOOSE_MIN_ERR":"Πρέπει να επιλέξετε τουλάχιστον 3 κατηγορίες!","INTRO_TASTE_LIFESTYLE":"Τρόπος ζωής","INTRO_TASTE_SPORTS":"Αθλήματα","INTRO_TASTE_FOOD_HEALTH":"Φαγητό & υγεία","INTRO_TASTE_BEAUTY_FASHION":"Ομορφιά & μόδα","INTRO_TASTE_NEWS":"Ειδήσεις","INTRO_TASTE_GAMING":"Παιχνίδια","INTRO_TASTE_SCIENCE_EDU":"Επιστήμη & εκπαίδευση","INTRO_TASTE_MUSIC":"Μουσική","INTRO_TASTE_TRAVEL":"Ταξίδια","INTRO_TASTE_LATE_NIGHT":"Βραδινό","INTRO_TASTE_REALITY":"Ριάλιτι","INTRO_TASTE_COMEDY":"Κωμωδία","INTRO_TASTE_DIY":"Κατασκευές","INTRO_TASTE_TECH":"Τεχνολογία","INTRO_TASTE_CINEMA":"Κινηματογράφος","ADDON_NOT_SUPPORTED":"Το επιλεγμένο πρόσθετο δεν υποστηρίζεται σε αυτήν την πλατφόρμα.","ADDON_DISCLAIMER":"Η χρήση τρίτων προσθέτων θα υπόκειται πάντα στη δική σας ευθύνη και την ισχύουσα νομοθεσία της χώρας σας.","ADDON_ACTIVATE":"Ενεργοποίηση προσθέτου;","ADDON_REPO_ADD":"URL συλλογής προσθέτων","ADDON_ADD":"Προσθήκη","INSTALL_ADDON":"Εγκατάσταση προσθέτου","ADD_ADDON":"Προσθέστε πρόσθετο","ADD_ADDON_DESCRIPTION":"Μπορείτε να προσθέσετε ένα πρόσθετο μέσω ενός εξωτερικού συνδέσμου, ο οποίος θα εμφανίζεται στην ενότητα Εγκατεστημένα πρόσθετα.","PASTE_ADDON_URL":"Επικόλληση URL προσθέτου","WHATS_NEW":"Τί νέο υπάρχει","BUTTON_CONTINUE":"Συνέχεια","BUTTON_ACTIVATE":"Ενεργοποίηση","BUTTON_ACTIVATED":"Ενεργό","BUTTON_CANCEL":"Ακύρωση","BUTTON_SUBMIT":"Υποβολή","BUTTON_DISMISS_ALL":"Απόρριψη όλων","BUTTON_VIEW_ALL":"Προβολή όλων","BUTTON_SEE_ALL":"Προβολή όλων","BUTTON_COLOR_TRANSPARENT":"Διαφάνεια","OPEN_IN_BROWSER":"Άνοιγμα σε πρόγραμμα περιήγησης","LIB_EMPTY":"Η βιβλιοθήκη σας είναι κενή. Ανακαλύψτε πόσο χρήσιμη είναι :)","HOW_START":"Δείτε από πού μπορείτε να ξεκινήσετε:","LIB_EMPTY_CAL":"Το ημερολόγιό σας εμφανίζει σειρές στη βιβλιοθήκη σας.","HOW_START_CAL":"Δείτε πώς μπορείτε να προσθέσετε σειρές:","LIB_EMPTY_BOARD":"Ο πίνακας εμφανίζει ειδοποιήσεις &amp; προτάσεις σχετικές με τη βιβλιοθήκη σας.","HOW_START_BOARD_WAIT":"Παρακαλούμε προσθέστε μερικές σειρές ή κανάλια στη βιβλιοθήκη σας και δώστε μας λίγα λεπτά για να τα επεξεργαστούμε :)","HOW_START_BOARD":"Δείτε πώς μπορείτε να προσθέσετε σειρές &amp; ταινίες:","IMPORT_FB":"Εισαγωγή αγαπημένων από το <span>Facebook</span>","IMPORT_TRAKT":"Εισαγωγή βιβλιοθήκης πολυμέσων από το <span>Trakt</span>","IMPORT_DISCOVER":"Εύρεση ενδιαφέροντος περιεχομένου από την <span>Ανακάλυψη</span>","IMPORT_DISK":"Εισαγωγή ταινιών ή εκπομπών από τον <span>τοπικό σας δίσκο</span>","PLEASE_CREATE_ACC":"Παρακαλώ <u>δημιουργήστε έναν λογαριασμό</u> για να ενεργοποιήσετε τον συγχρονισμό βιβλιοθήκης &amp; πίνακα.","IMPORT_DISCOVER_SIGNUP":"Εγγραφείτε και βρείτε ενδιαφέρον περιεχόμενο από την <span>Ανακάλυψη</span>","IMPORT_DISK_SIGNUP":"Εγγραφείτε και εισαγάγετε ταινίες ή εκπομπές από τον <span>τοπικό σας δίσκο</span>","LIB_EMPTY_CLOUD":"Συγχρονισμός","LIB_EMPTY_CLOUD_DESC":"Συγχρονισμός προσωπικής βιβλιοθήκης cloud σε κάθε συσκευή","LIB_EMPTY_EARLY":"Πρόωρη άφιξη","LIB_EMPTY_EARLY_DESC":"Λήψη ειδοποιήσεων για νέα επεισόδια","LIB_EMPTY_PERSONAL":"Εξατομίκευση","LIB_EMPTY_PERSONAL_DESC":"Λήψη εξατομικευμένων προτάσεων","LIB_EMPTY_CALENDAR_DESC":"Διαχειριστείτε το προσωπικό σας ημερολόγιο παρακολούθησης","LIB_EMPTY_ALL":"Εγγραφείτε για να έχετε όλα τα ακόλουθα:","LIB_EMPTY_BEST":"Εγγραφείτε για να αξιοποιήσετε το Stremio στο έπακρο","LIB_EMPTY_OTHER":"Εγγραφείτε για να ενεργοποιήσετε το Ημερολόγιο και άλλες λειτουργίες","CALENDAR_ADDED":"Το ημερολόγιο του Stremio έχει προστεθεί στο προεπιλεγμένο ημερολόγιο του υπολογιστή σας.","CALENDAR_ADDED_MSG":"Αν δεν λειτουργήσει αυτό, παρακαλώ προσθέστε χειροκίνητα αυτό το URL της εφαρμογής ημερολογίου σας","TRAKT_EXPIRED":"Η ταυτοποίηση στο Trakt έληξε, παρακαλώ μεταβείτε στις Ρυθμίσεις και κάντε ξανά έλεγχο ταυτότητας","TRAKT_REQUIRES_LOGIN":"Σφάλμα Trakt","TRAKT_REQUIRES_LOGIN_MSG":"Πρέπει να κάνετε σύνδεση","TRAKT_IMPORT_WATCHED":"Εισαγωγή","THEME":"Θέμα","THEME_DEFAULT":"Προκαθορισμένο","THEME_ADAPTIVE":"Προσαρμοστικός","SETTINGS_LABEL":"Ρυθμίσεις","SETTINGS_NAV_GENERAL":"Γενικά","SETTINGS_NAV_PLAYER":"Αναπαραγωγή","SETTINGS_NAV_STREAMING":"Ροή","SETTINGS_NAV_SHORTCUTS":"Συντομεύσεις","SETTINGS_SHORTCUT_RELOAD_APP":"Επαναφόρτωση εφαρμογής","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Άνοιγμα ρυθμίσεων","SETTINGS_SHORTCUT_SWITCH_TABS":"Αλλαγή σελίδας","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Εναλλαγή καρτελών προς τα εμπρός","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Εναλλαγή καρτελών προς τα πίσω","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Πλοήγηση ανάμεσα στα μενού","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Πηγαίνετε στην αναζήτηση","SETTINGS_SHORTCUT_EXIT_BACK":"Έξοδος / Πίσω","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Ταχύτητα αναπαραγωγής","SETTINGS_SHORTCUT_MENU_VIDEOS":"Μενού βίντεο","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Μενού ρυθμίσεων υποτίτλων","SETTINGS_SHORTCUT_MENU_INFO":"Μενού πληροφοριών","SETTINGS_SHORTCUT_FULLSCREEN":"Λειτουργία πλήρους οθόνης","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Εμφάνιση στοιχείων ελέγχου","SETTINGS_SHORTCUT_PLAY_PAUSE":"Αναπαραγωγή / Παύση","SETTINGS_SHORTCUT_VOLUME_UP":"Ανεβάστε την ένταση","SETTINGS_SHORTCUT_VOLUME_DOWN":"Χαμηλώστε την ένταση","SETTINGS_SHORTCUT_SEEK_NEXT":"Πηγαίνετε στο επόμενο επεισόδιο","SETTINGS_SHORTCUT_SEEK_PREV":"Πηγαίνετε στο προηγούμενο επεισόδιο","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Πηγαίνετε προς τα πίσω κατά 10 δευτερόλεπτα","SETTINGS_SHORTCUT_SEEK_FORWARD":"Παράκαμψη 10 δευτερολέπτων","SETTINGS_SHORTCUT_PLAY_NEXT":"Επόμενο","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Αυξήστε το μέγεθος των υποτίτλων","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Μειώστε το μέγεθος των υποτίτλων","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Αυξήστε την καθυστέρηση των υποτίτλων","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Μειώστε την καθυστέρηση των υποτίτλων","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Αλλαγή θέσης πλευρικής γραμμής","SETTINGS_SHORTCUT_OR":"ή","SETTINGS_SHORTCUT_TO":"μέχρι","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Πιστοποίηση","SETTINGS_FACEBOOK_IMPORT":"Εισαγωγή","SETTINGS_CALENDAR_SUBSCRIBE":"Εγγραφή","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Γλώσσα εφαρμογής","SETTINGS_LAUNCH_STARTUP":"Άνοιγμα κατά την εκκίνηση","SETTINGS_VLC_DEFAULT":"Αναπαραγωγή με VLC","SETTINGS_UI_LANGUAGE":"Γλώσσα εφαρμογής","SETTINGS_UI_ZOOM":"Ζουμ διεπαφής","SETTINGS_FULLSCREEN_EXIT":"Έξοδος από πλήρη οθόνη με το πλήκτρο Escape","SETTINGS_GAMEPAD":"Ενεργοποίηση υποστήριξης για gamepad","SETTINGS_CLOSE_WINDOW":"Κλείσιμο εφαρμογής όταν κλείνει το παράθυρο","SETTINGS_SUBTITLES_LANGUAGE":"Προεπιλεγμένη γλώσσα υποτίτλων","SETTINGS_SUBTITLES_SIZE":"Προεπιλεγμένο μέγεθος υποτίτλων","SETTINGS_SUBTITLES_BACKGROUND":"Φόντο υποτίτλων","SETTINGS_SUBTITLES_COLOR":"Χρώμα υποτίτλων","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Χρώμα περιγράμματος υποτίτλων","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Χρώμα φόντου υποτίτλων","SETTINGS_SEEK_KEY":"Χρονική μετατόπιση με πλήκτρα-βέλη","SETTINGS_SEEK_KEY_SHIFT":"Χρονική μετατόπιση με πλήκτρα-βέλη όταν είναι πατημένο το πλήκτρο Shift","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Χρονική διάρκεια παράκαμψης χρόνου βίντεο","SETTINGS_BINGE":"Αυτόματη αναπαραγωγή επόμενου επεισοδίου","SETTINGS_NEXT_VIDEO":"Εμφάνιση ειδοποίησης για έναρξη επόμενου επεισοδίου","SETTINGS_NEXT_VIDEO_TRIGGER":"Εμφάνιση ειδοποίησης επόμενου επεισοδίου για:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Διάρκεια αναδυόμενου παραθύρου για το επόμενο βίντεο","SETTINGS_PLAY_IN_BACKGROUND":"Αναπαραγωγή στο παρασκήνιο","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Αναπαραγωγή σε εξωτερική εφαρμογή","SETTINGS_RESIZE":"Αυτόματη προσαρμογή παραθύρου πριν από την αναπαραγωγή","SETTINGS_OVERRIDE_SERVER":"Παράκαμψη URL διακομιστή ροής (σύνθετο)","SETTINGS_SERVER_URL":"URL διακομιστή ροής:","SETTINGS_SERVER_AVAILABLE":"Ο διακομιστής ροής είναι διαθέσιμος.","SETTINGS_SERVER_UNAVAILABLE":"Ο διακομιστής ροής δεν είναι διαθέσιμος.","SETTINGS_SERVER_STATUS_ONLINE":"Σε σύνδεση","SETTINGS_SERVER_STATUS_ERROR":"Προέκυψε σφάλμα","SETTINGS_SERVER_CONFIGURE_TITLE":"Διαμορφώστε το URL του διακομιστή αναπαραγωγής","SETTINGS_SERVER_CONFIGURE_INPUT":"Εισαγωγή ενός URL διακομιστή αναπαραγωγής","SETTINGS_SERVER_CACHE_SIZE":"Μέγεθος επιτρεπόμενης μνήμης cache","SETTINGS_SERVER_TORRENT_PROFILE":"Προφίλ torrent","SETTINGS_HTTPS_ENDPOINT":"Ακροσημείο HTTPS ροής: ","SETTINGS_TRANSCODE_PROFILE":"Διακωδικοποίηση προφίλ","SETTINGS_USE_BETA":"Πάντα χρήση της πιο πρόσφατης έκδοσης beta","SETTINGS_IMPORT_FB":"Εισαγωγή από Facebook","SETTINGS_IMPORT_DISK":"Εισαγωγή από τοπικό δίσκο","SETTINGS_IMPORT_TRAKT":"Εισαγωγή από Trakt","SETTINGS_PAUSE_MINIMIZED":"Παύση αναπαραγωγής κατά την ελαχιστοποίηση","SETTINGS_HWDEC":"Αποκωδικοποίηση με επιτάχυνση υλικού","SETTINGS_BACKGROUND":"Αναπαραγωγή στο παρασκήνιο","SETTINGS_SUBSCRIBE_CALENDAR":"Εγγραφή σε ημερολόγιο","SETTINGS_REQ_EXPORT":"Αίτημα εξαγωγής δεδομένων","SETTINGS_ACC_DELETE":"Αίτημα διαγραφής λογαριασμού","SETTINGS_CHANGE_PASSWORD":"Αλλαγή κωδικού πρόσβασης","SETTINGS_TOS":"Όροι υπηρεσίας","SETTINGS_SUPPORT":"Επικοινωνία με την υποστήριξη","SETTING_LANGUAGE":"Γλώσσα","SETTINGS_TRAKT":"Αυτόματη παρακολούθηση Trakt","SETTINGS_TRAKT_LOGOUT":"Αποσύνδεση από Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Αποσύνδεση από Trakt","SETTINGS_SCAN_FOR_REMOTE":"Σαρώστε τον κωδικό QR για να ανοίξετε το τηλεχειριστήριο","SETTINGS_DESKTOP_NOTIFICATIONS":"Ειδοποιήσεις υπολογιστή","SETTINGS_DATA_SAVER":"Εξοικονόμηση δεδομένων","SETTINGS_LANGUAGE_INTERFACE":"Περιβάλλον χρήστη","SETTINGS_LANGUAGE_SUBS":"Προεπιλεγμένοι υπότιτλοι","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Αυτόματη επιλογή κομματιού ήχου","SETTINGS_DEFAULT_AUDIO_TRACK":"Προεπιλεγμένο κομμάτι ήχου","SETTINGS_SURROUND_SOUND":"Ήχος surround","SETTINGS_ACCOUNT":"Λογαριασμός","SETTINGS_PLATFORM":"Πλατφόρμα","SETTINGS_VERSION":"Έκδοση","SETTINGS_ABOUT":"Πληροφορίες","SETTINGS_MPV_WINDOW":"Εκκίνηση αναπαραγωγής σε ξεχωριστό παράθυρο (σύνθετο)","SETTINGS_PLAY_IN_EXTERNAL":"Πάντα εκκίνηση του βίντεο σε εξωτερικό πρόγραμμα","SETTINGS_STORAGE_BUTTON":"Απαλοιφή τοπικής αποθήκευσης","SETTINGS_STORAGE_MODAL_TITLE":"Σίγουρα;","SETTINGS_STORAGE_MODAL_MESSAGE":"Αυτό θα εκκαθαρίσει τον τοπικό χώρο αποθήκευσης και θα σας αποσυνδέσει.","SETTINGS_HWDEC_PICKER":"Επιλέξτε ρύθμιση αποκωδικοποίησης με επιτάχυνση υλικού","SETTINGS_HW_AUTOMATIC":"Αυτόματη","SETTINGS_HW_DISABLED":"Ανενεργή","SETTINGS_HW_ACCELERATED":"Επιτάχυνση αποκωδικοποίησης","SETTINGS_HW_FULL":"Πλήρης επιτάχυνση","SETTINGS_HW_LEGACY":"Παλαιού τύπου","SETTINGS_DISABLED":"Ανενεργό","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Ειδοποίηση για σύνδεση δικτύου","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Σύνδεσμος remote","SETTINGS_COPY_REMOTE_URL":"Αντιγραφή σνδέσμου remote","SETTINGS_REMOTE_URL_COPIED":"Ο σύνδεσμος remote αντιγράφηκε στο πρόχειρό σας","SETTINGS_SECTION_SUBTITLES":"Υπότιτλοι","SETTINGS_SECTION_AUDIO":"Ήχος","SETTINGS_SECTION_CONTROLS":"Χειρισμός","SETTINGS_SECTION_AUTO_PLAY":"Αυτόματη αναπαραγωγή","SETTINGS_SECTION_ADVANCED":"Για προχωρημένους","SUBSPICKER_AUDIO":"Ήχος","SUBSPICKER_SUBTITLES":"Πρόσθετα Υποτίτλων","SUBSPICKER_BLACK_BACKGROUND":"Χρήση μαύρου φόντου","SUBSPICKER_VERTICAL_OFFSET":"Απόσταση από το κάτω μέρος","SUBSPICKER_SIZE":"Μέγεθος","SUBSPICKER_DELAY":"Καθυστέρηση","SUBSPICKER_EMBEDDED_SUBS":"Ενσωματωμένοι Υπότιτλοι","MOBILE_PRIVACY_POLICY":"Πολιτική Απορρήτου","MOBILE_CRASH_REPORTING":"Αναφορά σφάλματος","MOBILE_ZOOM_TO_FILL":"Ζουμ για πλήρη οθόνη","MOBILE_PASSTHROUGH":"Ψηφιακή έξοδος ήχου (passthrough)","MOBILE_RUN_LOW_BATTERY":"Λειτουργία με χαμηλή μπαταρία","MOBILE_RUN_FOREGROUND":"Εκτέλεση ως υπηρεσία προσκηνίου","MOBILE_PERFORMANCE":"Απόδοση & Σταθερότητα","MOBILE_SERVER_ONLINE":"Σε σύνδεση","MOBILE_SERVER_OFFLINE":"Δεν υπάρχει σύνδεση","MOBILE_QR_EXPIRES":"Ο κωδικός QR λήγει σε","MOBILE_LOG_INTO":"Συνδεθείτε στον λογαριασμό σας","MOBILE_SCAN_QR":"Σκανάρετε το κωδικό QR η πηγαίνετε","MOBILE_LINK_ACCOUNT":"Σύνδεση λογαριασμού","MOBILE_SPEEDPICKER_CANCEL":"Ακύρωση","MOBILE_SPEEDPICKER_LABEL":"Ταχύτητα Αναπαραγωγής","MOBILE_EMPTY_LIBRARY":"Η βιβλιοθήκη σας είναι άδεια","MOBILE_NO_ADDON_ACTIVE":"Κανένα πρόσθετο δε μπορεί να εκτελέσει αυτή τη λειτουργία.","MOBILE_ORGANIZER_WARNING":"Η εφαρμογή Stremio Organizer παρέχει περιορισμένη λειτουργικότητα. Για μια λίστα με ροές με δυνατότητα αναπαραγωγής και την πλήρη εμπειρία του Stremio, χρησιμοποιήστε το Stremio στον υπολογιστή.","MOBILE_ADDON_LOADING":"Φορτώνει","MOBILE_ADDONS_LOADING":"Τα πρόσθετα φορτώνουν","MOBILE_ADDON":"Πρόσθετο","MOBILE_CONFIGURE_ADDON":"Διαμορφώστε το πρόσθετο","MOBILE_CONFIGURE_ADDON_LABEL":"Διαμορφώστε το πρόσθετο","MOBILE_ORGANIZER_ADDONS_WARNING":"Η εφαρμογή Stremio Organizer παρέχει περιορισμένα πρόσθετα. Για την πλήρη εμπειρία του Stremio, χρησιμοποιήστε το Stremio στον υπολογιστή.","MOBILE_DISCONNECT":"Αποσύνδεση","MOBILE_LOOKING_FOR_DEVICES":"Αναζήτηση συσκευών...","MOBILE_CAST_TO":"Μετάδοση σε","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Διαγραφή λογαριασμού","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Η διαγραφή λογαριασμού δεν είναι άμεση λόγω νομικών υποχρεώσεων. Αφού ζητήσετε τη διαγραφή του λογαριασμού σας, θα πρέπει να χρησιμοποιήσετε διαφορετική διεύθυνση email/προφίλ Facebook για να δημιουργήσετε έναν νέο λογαριασμό Stremio στο μέλλον.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Επιβεβαίωση διαγραφής λογαριασμού","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Ο λογαριασμός σας έχει δημιουργηθεί με λογαριασμό Facebook. Για να διαγράψετε τον λογαριασμό σας, πηγαίνετε στη διεύθυνση www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Εισάγετε τον κωδικό πρόσβασής σας για να επιβεβαιώσετε τη διαγραφή του λογαριασμού σας.","MOBILE_DELETE_ACCOUNT_BUTTON":"Διαγραφή λογαριασμού","NAVIGATION_ON":"Ανοιχτό","NAVIGATION_OFF":"Κλειστό","MARKETING_AGREE":"Συμφωνώ να λαμβάνω ενημερωτικά e-mail από το Stremio","QUIT":"Έξοδος","CONNECTED":"Σε σύνδεση","AUTHENTICATE":"Ταυτοποίηση","CACHING":"Προσωρινή αποθήκευση","SETTINGS_CACHING_DRIVE":"Δίσκος προσωρινής μνήμης","ENABLE_LOCAL_FILES_ADDON":"Ενεργοποίηση προσθέτου τοπικών αρχείων (απαιτεί επανεκκίνηση)","LOCAL_ADDON_NOT_ENABLED":"Το τοπικό πρόσθετο δεν είναι ενεργοποιημένο. Κάντε κλικ εδώ για να μεταβείτε στις ρυθμίσεις και να το ενεργοποιήσετε","ENABLE_REMOTE_HTTPS_CONN":"Ενεργοποίηση απομακρυσμένων συνδέσεων HTTPS","TORRENT_PROFILE":"Προφίλ torrent","DATA_CACHING":"Προσωρινή αποθήκευση δεδομένων","MAGNET_PARSING":"Ανάλυση συνδέσμου magnet","January":"Ιανουάριος","February":"Φεβρουάριος","March":"Μάρτιος","April":"Απρίλιος","May":"Μάιος","June":"Ιούνιος","July":"Ιούλιος","August":"Αύγουστος","September":"Σεπτέμβριος","October":"Οκτώβριος","November":"Νοέμβριος","December":"Δεκέμβριος","Monday":"Δευτέρα","Tuesday":"Τρίτη","Wednesday":"Τετάρτη","Thursday":"Πέμπτη","Friday":"Παρασκευή","Saturday":"Σάββατο","Sunday":"Κυριακή","Action":"Δράση","Comedy":"Κωμωδία","War":"Πόλεμος","Family":"Οικογενειακές","Animation":"Κινούμενα σχέδια","Adventure":"Περιπέτεια","Fantasy":"Φαντασία","Crime":"Έγκλημα","Mystery":"Μυστήριο","Romance":"Ρομαντικές","Drama":"Δράμα","Horror":"Τρόμος","Thriller":"Θρίλερ","Sci-Fi":"Επιστημονική φαντασία","Music":"Μουσική","Biography":"Βιογραφία","Documentary":"Ντοκιμαντέρ","Sport":"Αθλήματα","Musical":"Μιούζικαλ","Western":"Γουέστερν","Film-Noir":"Φιλμ νουάρ","News":"Ειδήσεις","History":"Ιστορία","Game-Show":"Τηλεπαιχνίδι","Reality-TV":"Ριάλιτι","Talk-Show":"Τοκ σόου","Film & Entertainment":"Σινεμά & ψυχαγωγία","Gaming":"Παιχνίδια","From TV":"Από την τηλεόραση","Lifestyle":"Τρόπος ζωής","Science & Education":"Επιστήμη & εκπαίδευση","Cooking & Health":"Μαγειρική & υγεία","Beauty & Fashion":"Ομορφιά & μόδα","Sports":"Αθλήματα","News & Politics":"Ειδήσεις & πολιτική","How-to & DIY":"Κατασκευές","Tech":"Τεχνολογία","Automotive":"Αυτοκίνηση","Causes & Non-Profits":"Φιλανθρωπία","Movies":"Ταινίες","Uk Live Tv":"Ηνωμένο Βασίλειο","Fashion":"Μόδα","Business News Radio":"Επιχειρήσεις - Ράδιο","Business Tv":"Επιχειρήσεις","Cars & Auto":"Αυτοκίνητα","Comedy Radio":"Κωμωδία - Ράδιο","Lifestyle Radio":"Τρόπος ζωής - Ράδιο","News Tv":"Ειδήσεις","Food And Wine":"Φαγητό & ποτά","Latino Tv":"Λατινική Αμερική","Shopping Tv":"Αγορές","Religion":"Θρησκεία","Kids":"Παιδικά","Body & Soul":"Σώμα & πνεύμα","Education":"Εκπαίδευση","Indian Tv":"Ινδία","Extreme Sports":"Εξτρίμ σπορ","Middle Eastern Tv":"Μέση Ανατολή","Celebrity Tv":"Διάσημοι","Science Tv":"Επιστήμη","Bikini babe":"Bikini babe","Outdoors":"Εξοχή","German Tv":"Γερμανία","French Tv":"Γαλλία","Italian Tv":"Ιταλία","Gamer Tv":"Παιχνίδια","Travel":"Ταξίδια","Asian Tv":"Ασία","Entertainment":"Ψυχαγωγία","News Radio":"Ειδήσεις - Ράδιο","Music Radio":"Μουσική - Ράδιο","Language Learning":"Εκμάθηση γλωσσών","Science Radio":"Επιστήμη - Ράδιο","Tech Radio":"Τεχνολογία - Ράδιο","Science & Technology Vod":"Επιστήμη & τεχνολογία","new video":"Νέο βίντεο","new episode":"Νέο επεισόδιο","new movie":"Νέα ταινία","recommended":"Προτάσεις","we recommend":"Προτείνουμε","offer of the day":"Προσφορά ημέρας","news":"Ειδήσεις","music video":"Μουσικό βίντεο","CTX_SHOW_HOTKEYS":"Εμφάνιση πλήκτρων συντομεύσεων","CTX_DISMISS_NOTIF":"Απόρριψη ειδοποιήσεων","CTX_DISMISS_ALL":"Απόρριψη όλων","CTX_SHARE":"Κοινοποίηση","CTX_COPY_SHARE_LINK":"Αντιγραφή συνδέσμου κοινής χρήσης","CTX_COPY_MAGNET_LINK":"Αντιγραφή συνδέσμου magnet","CTX_COPY_STREAM_LINK":"Αντιγραφή συνδέσμου ροής","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Λήψη βίντεο","CTX_DOWNLOAD_SUBS":"Λήψη υποτίτλων","CTX_VIEW_ON_YOUTUBE":"Προβολή στο YouTube","CTX_SHOW":"Εμφάνιση","CTX_PLAY":"Αναπαραγωγή","CTX_PLAY_IN":"Αναπαραγωγή σε","CTX_PLAY_ON":"Αναπαραγωγή σε","CTX_WATCH_ON":"Παρακολούθηση σε","CTX_WATCH":"Προβολή","CTX_WATCHED":"Προβλήθηκε","CTX_WATCH_BEGINNING":"Προβολή από την αρχή","CTX_WATCH_MOBILE":"Προβολή σε κινητή συσκευή","CTX_REWIND":"Επιστροφή στην αρχή","CTX_MARK_WATCHED":"Σήμανση ως προβεβλημένο","CTX_MARK_NON_WATCHED":"Σήμανση ως μη προβεβλημένο","CTX_MARK_UNWATCHED":"Σήμανση ως μη προβεβλημένο","CTX_MARK_REST":"Σήμανση υπολοίπων ως προβεβλημένων","CTX_UNMARK_REST":"Σήμανση υπολοίπων ως μη προβεβλημένων","CTX_RECEIVE_NEW_NOTIF":"Λήψη νέων ειδοποιήσεων","CTX_ENABLE_NEW_NOTIF":"Ενεργοποίηση ειδοποιήσεων","CTX_DISABLE_NEW_NOTIF":"Απενεργοποίηση ειδοποιήσεων","CTX_REMOVE_CACHE":"Αφαίρεση από προσωρινή μνήμη","CTX_REMOVE_CACHE_EP":"Αφαίρεση επεισοδίου από προσωρινή μνήμη","CTX_OPEN_CONTAINING":"Άνοιγμα φακέλου αποθήκευσης","CTX_REMOVE":"Αφαίρεση από βιβλιοθήκη","CTX_AVAILABLE_OFFLINE":"Διαθέσιμο εκτός σύνδεσης","CTX_PAUSED":"Σε παύση","CTX_ALWAYS_ON_TOP":"Πάντα στο προσκήνιο","CTX_FULLSCREEN":"Πλήρης οθόνη","CTX_WRONG_SUBS":"Εσφαλμένοι υπότιτλοι;","CTX_REPORT_ISSUES":"Αναφορά ζητήματος","CTX_COPY":"Αντιγραφή","CTX_PASTE":"Επικόλληση","CTX_CLEAR":"Απαλοιφή","CTX_CLEAR_RECENT_SEARCHES":"Απαλοιφή πρόσφατων αναζητήσεων","HELLO_THERE":"Γεια σας","HOPE_YOU_ENJOY":"Ελπίζουμε να απολαμβάνετε το Stremio και να έχει γίνει ήδη μία από τις αγαπημένες σας εφαρμογές!","WHO_ARE_WE":"Ποιοι είμαστε; Είμαστε η ομάδα που το αναπτύσσει - δύο τύποι που εργάζονται σκληρά κάθε μέρα για τα τελευταία 3 έτη, προκειμένου να κάνουν αυτό το προϊόν όλο και καλύτερο.","SUPPORT_US":"Αν απολαμβάνετε το Stremio, αν το Stremio είναι ανεκτίμητο για εσάς - μοιραστείτε το με όλους!","SPREAD_THE_WORD":"Μοιραστείτε το με τους φίλους σας, μιλήστε σε όλους για το Stremio","MORE_PEOPLE":"Όσο περισσότερα άτομα χρησιμοποιούν το Stremio, τόσο καλύτερο θα γίνεται!","SEND_A_LINK":"Ή στείλτε έναν σύνδεσμο για τον ιστότοπό μας","TIP_LOCALFILES":"Συμβουλή: Μπορείτε να σύρετε και να εναποθέσετε τοπικά αρχεία βίντεο στο Stremio","ADDON_MY":"Τα πρόσθετά μου","ADDON_COMMUNITY":"Πρόσθετα κοινότητας","ADDON_OFFICIAL":"Επίσημα πρόσθετα","ADDON_REPOS":"Συλλογές προσθέτων","ADDON_SEARCH":"Αναζήτηση προσθέτων","ADDON_INSTALL":"Εγκατάσταση","ADDON_CONFIGURE":"Ρύθμιση","ADDON_UNINSTALL":"Αφαίρεση","ADDON_UPGRADE":"Αναβάθμιση","ADDON_INSTALLED":"Εγκατεστημένο","ADDON_INSTALLED_MSG":"Το πρόσθετο εγκαταστάθηκε!","ADDON_UPGRADED_MSG":"Το πρόσθετο αναβαθμίστηκε!","ADDON_UNKNOWN":"Άγνωστο","ADDON_ERR":"Σφάλμα εγκατάστασης προσθέτου!","ADDON_DISCONNECTED":"Αποσυνδέθηκε","ADDON_APP_MISSING":"Η εφαρμογή για αυτήν την πηγή δεν έχει εγκατασταθεί. Θέλετε να την εγκαταστήσετε τώρα;","ADDON_APP_INSTALL":"Εγκατάσταση","ADDON_PAGE":"Σελίδα προσθέτου","ADDON_TOP_CONTENT":"Τα καλύτερα από αυτό το πρόσθετο","ADDON_PROVIDES":"Αυτό το πρόσθετο προσφέρει:","ADDON_WATCH":"Παρακολούθηση «#{types}»!","ADDON_WATCH_FREE":"Δωρεάν παρακολούθηση «#{types}»!","ADDON_ADDON":"Πρόσθετο","ADDON_SUPPORTED_TYPES":"Υποστηριζόμενοι τύποι","ADDON_SUPPORTED_CATALOGS":"Υποστηριζόμενοι κατάλογοι","ADDON_PROVIDES_DISCOVER":"Περισσότερα «#{types}» στην Ανακάλυψη","ADDON_PROVIDES_STREAMS":"Παρακολούθηση «#{types}»","ADDON_PROVIDES_STREAMS_FREE":"Δωρεάν παρακολούθηση «#{types}»","ADDON_PROVIDES_SUBTITLES":"Υπότιτλοι για «#{types}»","ADDON_CANTDETECT":"Δεν μπορέσαμε να εντοπίσουμε κάποια εκτέλεση του Stremio, επομένως δεν μπορέσαμε να προσδιορίσουμε τα εγκατεστημένα σας πρόσθετα.","ERR_NO_META":"Δεν βρέθηκε καμία πληροφορία σχετικά με αυτό ","ERR_GETTING_META":"Σφάλμα ανάκτηση σχετικών πληροφοριών.","ERR_CANT_PARSE_MAGNET":"Δεν ήταν δυνατή η ανάλυση του magnet","ERR_NO_MAGNET_INFOHASH":"Κανένα έγκυρο hash πληροφοριών για το magnet","ERR_NO_FILE_PATH":"Δεν είναι δυνατή η αποστολή αιτήματος χωρίς διαδρομή σε αρχείο","ERR_NO_TORRENT":"Δεν επιστράφηκε κανένα torrent","ERR_NO_SUPPORTERD_FILES":"Δεν βρέθηκαν υποστηριζόμενα αρχεία","ERR_OPENING_FILES":"Δεν ήταν δυνατό το άνοιγμα εξωτερικών αρχείων","ERR_INVALID_LINK":"Μη έγκυρος σύνδεσμος","ERR_REGISTERED_ONLY":"Αυτή η επιλογή είναι διαθέσιμη μόνο για εγγεγραμμένους χρήστες.","ERR_CLIPBOARD":"Δεν είναι δυνατή η αναπαραγωγή από το πρόχειρο","ERR_CLIPBOARD_READ":"Δεν είναι δυνατή η ανάγνωση από το πρόχειρο σε αυτήν την πλατφόρμα","ERR_CLIPBOARD_GENERIC":"Δεν βρέθηκε κατάλληλο URL στο πρόχειρο. Παρακαλώ αντιγράψτε ένα URL βίντεο (π.χ. σύνδεσμος magnet).","BOARD_CONTINUE_WATCHING":"Συνέχεια παρακολούθησης","BOARD_EXPLANATION_RECOMMENDATIONS":"Ταινίες ειδικά επιλεγμένες για εσάς.<br />Αυτή η ταινία αποτελεί δείγμα πρότασης.","BOARD_EXPLANATION_EPISODES":"Τα νέα επεισόδια των αγαπημένων σας σειρών έρχονται εδώ.<br />Προσθέστε στη βιβλιοθήκη σας τις σειρές που ακολουθείτε.","BOARD_EXPLANATION_VIDEOS":"Τα νέα επεισόδια των αγαπημένων σας καναλιών έρχονται εδώ.<br />Προσθέστε στη βιβλιοθήκη σας τα κανάλια που ακολουθείτε.","WEBSITE_ENJOYED_BY":"Το απολαμβάνουν περισσότεροι από 30 εκατομμύρια χρήστες σε όλο τον κόσμο","WEBSITE_STREAMING_ENHANCED":"Το streaming ανανεωμένο","WEBSITE_STREAMING_ENHANCED_DETAILS":"Το Stremio προσφέρει μια ασφαλή, σύγχρονη και απρόσκοπτη εμπειρία ψυχαγωγίας. Με την εύκολη στη χρήση διεπαφή και τη βιβλιοθήκη ποικίλου περιεχομένου, συμπεριλαμβανομένης της υποστήριξης 4K HDR, οι χρήστες μπορούν να απολαμβάνουν τις αγαπημένες τους ταινίες και τηλεοπτικές εκπομπές σε όλες τις συσκευές τους. Και με τη δέσμευσή του στην ασφάλεια, το Stremio είναι η απόλυτη επιλογή για μια άνετη, υψηλής ποιότητας εμπειρία streraming.","WEBSITE_AVAILABLE_ON":"Διαθέσιμο σε","WEBSITE_WATCH_AND_ENJOY":"Δείτε & Απολαύστε.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Το Stremio το κάνει παιχνιδάκι","WEBSITE_ALL_FEATURES":"Όλες οι λειτουργίες","WEBSITE_EASY_TO_USE":"Εύκολο στη χρήση","WEBSITE_EASY_TO_USE_DETAILS":"Το Stremio έχει σχεδιαστεί για να είναι φιλικό προς το χρήστη και εύκολο στη χρήση. Με την καθαρή και διαισθητική διεπαφή του μπορείτε εύκολα να πλοηγηθείτε και να βρείτε το περιεχόμενο που θέλετε να παρακολουθήσετε.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Απρόσκοπτο σε όλες τις συσκευές","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Διαθέσιμο για ένα ευρύ φάσμα πλατφορμών (συμπεριλαμβανομένων των Windows, Mac, Linux, Android και άλλες), το Stremio θα παρακολουθεί την πρόοδό σας σε όλες τις συσκευές σας. Απλώς συνδεθείτε και συνεχίστε την παρακολούθηση χωρίς να χρειάζεται να ρυθμίσετε ξανά την εφαρμογή σε κάθε νέα συσκευή.","WEBSITE_ALL_DOWNLOADS":"Όλες οι λήψεις","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"Υποστήριξη για βίντεο υψηλής ανάλυσης","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"Ένα ενσωματωμένο πρόγραμμα αναπαραγωγής βίντεο που υποστηρίζει τις περισσότερες μορφές βίντεο, συμπεριλαμβανομένου περιεχομένου 4K HDR, σας επιτρέπει να απολαύσετε την υψηλότερη διαθέσιμη ποιότητα.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Βιβλιοθήκη με ποικιλία περιεχομένου","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Το Stremio ενσωματώνεται με μεγάλο αριθμό δημοφιλών πηγών βίντεο, όπως το Netflix, το Amazon Prime Video, το Hulu, το YouTube και πολλά άλλα.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Δημιουργήστε έναν δωρεάν λογαριασμό.","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Προσαρμοσμένη εμπειρία προβολής","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Το Stremio σάς επιτρέπει να προσαρμόσετε την εμφάνιση και την αίσθηση της διεπαφής αλλάζοντας το θέμα, προσθέτοντας ή αφαιρώντας πρόσθετα και πολλά άλλα.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Υποστήριξη πολύγλωσσων υπότιτλων","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"Τώρα μπορείτε να απολαύσετε όλο το αγαπημένο περιεχόμενο στη γλώσσα που προτιμάτε, καθώς το Stremio υποστηρίζει υπότιτλους σε όλες τις γλώσσες.","WEBSITE_ALL_STREMIO_FEATURES":"Όλες οι λειτουργίες του Stremio","WEBSITE_TRY_STREMIO_TITLE_P1":"Δοκιμάστε το Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"Τώρα στη τηλεόρασή σας","WEBSITE_YOU_CAN_NOW_WATCH":"Μπορείτε πλέον να παρακολουθείτε όλες τις αγαπημένες τηλεοπτικές εκπομπές στις συσκευές σας με Android TV. Η εφαρμογή Stremio TV σάς επιτρέπει να απολαύσετε μια κινηματογραφική βραδιά με ευκολία.","WEBSITE_YOU_CAN_NOW_WATCH_2":"Τώρα μπορείτε να παρακολουθήσετε όλες τις αγαπημένες τηλεοπτικές εκπομπές στη Smart TV ή στην Android TV σας. Οι εφαρμογές Stremio TV σάς επιτρέπουν να απολαύσετε μια βραδιά ταινιών με ευκολία.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio για Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Ίσως η καλύτερη και πιο χρήσιμη εφαρμογή που μπορείτε να έχετε στη συσκευή σας. Είναι μια από τις εφαρμογές που χρησιμοποιώ σε καθημερινή βάση ειδικά στην Android TV μου εδώ και πολλά χρόνια. Καλοφτιαγμένο με μια ισχυρή κοινότητα που παρέχει χρήσιμες λειτουργίες. Μπράβο. Συνέχισε την καλή δουλειά.","WEBSITE_REVIEWS":"αξιολογήσεις","WEBSITE_GET_STREMIO_FOR_FREE":"Αποκτήστε το Stremio δωρεάν","WEBSITE_GET_STREMIO_NOW":"Αποκτήστε το Stremio τώρα","WEBSITE_STREMIO_FEATURES":"Λειτουργίες του Stremio","WEBSITE_STREMIO_FEATURES_DETAILS":"Κάντε stream σαν επαγγελματίας με τις προηγμένες δυνατότητες του Stremio και απολαύστε απρόσκοπτη πρόσβαση σε όλα τα αγαπημένα σας μέσα","WEBSITE_DISCOVER_MORE":"Εξερευνήστε περισσότερα.","WEBSITE_DISCOVER_MORE_DETAILS":"Μην ξεμείνετε ποτέ από πράγματα για να παρακολουθήσετε","WEBSITE_COMMUNITY_DRIVEN":"Με γνώμονα την κοινότητα","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Το Stremio έχει μια μεγάλη και ενεργή κοινότητα χρηστών που συμβάλλουν στην ανάπτυξη του λογισμικού δημιουργώντας και μοιράζοντας πρόσθετα.","WEBSITE_GET_INVOLVED":"Συμμετέχετε","WEBSITE_NEW_THEATER_EXPERIENCE":"Νέα εμεπιρία κηνιματογράφου","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Η νέα αποκλειστική εφαρμογή τηλεόρασης του Stremio σας επιτρέπει να απολαύσετε μια βραδιά ταινίας στις συσκευές Android TV.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Η νέα αποκλειστική εφαρμογή τηλεόρασης του Stremio σας επιτρέπει να απολαύσετε μια βραδιά ταινίας στις συσκευές Smart TV ή Android TV σας.","WEBSITE_FREE_AND_SECURE":"Δωρεάν & Ασφαλές","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Το Stremio προσφέρει απαράμιλλη ασφάλεια και απόρρητο στους χρήστες. Με τη μοναδική του δυνατότητα να εκτελείτε πρόσθετα από απόσταση, το Stremio παρέχει έναν ασφαλέστερο τρόπο για να μεταδώσετε το αγαπημένο σας περιεχόμενο σε σύγκριση με άλλες πλατφόρμες. Η ασφάλεια και το απόρρητό σας αποτελούν κορυφαίες προτεραιότητες και η πλατφόρμα διασφαλίζει ότι όλα τα δεδομένα σας προστατεύονται.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Πείτε αντίο στις ανησυχίες για την ασφάλεια και την ιδιωτικότητα και πείτε γεια σε έναν κόσμο ατελείωτης διασκέδασης με το Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Οι πληροφορίες παρέχονται από","WEBSITE_CONTRIBUTE":"Συνεισφέρετε","WEBSITE_CONTRIBUTE_DESC":"στο project & βοηθήστε μας να κάνουμε το Stremio ακόμα καλύτερο.","WEBSITE_COMMUNITY_DESC":"Πιστεύουμε ότι ο καλύτερος τρόπος για να δημιουργήσετε μια πραγματικά εκπληκτική εμπειρία ροής είναι να εμπλέξετε την κοινότητά μας στη διαδικασία. Είτε είστε προγραμματιστής, είτε καλλιτέχνης είτε απλώς θαυμαστής - θα μπορούσατε να βοηθήσετε το Stremio να αναπτυχθεί.","WEBSITE_COMMUNITY_DESC_2":"Ελάτε λοιπόν σήμερα και γίνετε μέλος της κοινότητας του Stremio και συνεχίστε να διαμορφώνετε το μέλλον του streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Τρόποι να συμμετέχετε","WEBSITE_IN_THE_STREMIO_COMMUNITY":"στη κοινότητα του Stremio","WEBSITE_SHARE_YOUR_THOUGHTS":"Μοιραστείτε τις σκέψεις σας","WEBSITE_REPORT_BUGS":"Αναφέρετε σφάλματα","WEBSITE_SUGGEST_FEATURES":"προτείνετε λειτουργίες","WEBSITE_AND_PROVIDE_FEEDBACK":"και παρέχετε σχόλια στα κανάλια μας στα μέσα κοινωνικής δικτύωσης.","WEBSITE_BETA_TESTING_PROGRAM":"Πρόγραμμα δοκιμών beta","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Λάβετε μέρος στο πρόγραμμα δοκιμών beta (αποστέλλουμε προσκλήσεις τακτικά) στην κοινότητα Stremio.","WEBSITE_JOIN_NOW":"Πάρε μέρος τώρα!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Επίσημες Κοινότητες Stremio","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Ανεπίσημες Κοινότητες Stremio","WEBSITE_BECOME":"Γίνετε","WEBSITE_A_VOLUNTEER_TRANSLATOR":"ένας εθελοντής μεταφραστής","WEBSITE_ARE_YOU_A_DEVELOPER":"Είστε προγραμματιστής;?","WEBSITE_CONTRIBUTE_CODE":"Θα μπορούσατε να συνεισφέρετε κώδικα στα έργα ανοιχτού κώδικα μας. Έχουμε πολλά έργα στο GitHub που αναζητούν συντελεστές. Εάν ενδιαφέρεστε να βοηθήσετε, ελέγξτε τα:","WEBSITE_STREMIO_ON_GITHUB":"Stremio στο GitHub","WEBSITE_CREATE_ADDON_DESC":"Δημιουργήστε ένα πρόσθετο για να βελτιώσετε τη λειτουργικότητα του Stremio (διαθέτουμε ένα εύχρηστο API):","WEBSITE_STREMIO_ADDON_SDK":"SDK για πρόσθετα Stremio","WEBSITE_INTERN_DEVELOPER":"Παρέχουμε επίσης την ευκαιρία να συμμετάσχετε ως ασκούμενος προγραμματιστής για να μπορέσουμε να αναπτυχθούμε μαζί.","WEBSITE_APPLY_AS_AN_INTERN":"Κάντε αίτηση ως ασκούμενος!","WEBSITE_CALLING_ALL_ARTISTS":"Καλούμε όλους τους καλλιτέχνες!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Δείξτε τη δημιουργικότητα και την αγάπη σας για το Stremio ανεβάζοντας τα fan art σας στην ηλεκτρονική μας συλλογή. Είτε πρόκειται για σχέδιο, ζωγραφική ή ψηφιακό σχέδιο, θέλουμε να δούμε τη μοναδική σας άποψη για τη μάρκα Stremio. Γίνετε μέλος της κοινότητας των λάτρεις της τέχνης και μοιραστείτε τη δουλειά σας με άλλους θαυμαστές του Stremio σε όλο τον κόσμο.","WEBSITE_STREMIO_FANART_GALLERY":"Συλλογή Stremio Fanart","WEBSITE_INTERN_DESIGNER":"Γίνετε μέλος της ομάδας μας και ανεβάστε τη δημιουργικότητά σας σε νέα ύψη με τις συναρπαστικές μας ευκαιρίες πρακτικής άσκησης.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Project δημόσιων ταινιών","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"Στο Stremio, δεσμευόμαστε να διατηρήσουμε την ιστορία του κινηματογράφου και της τηλεόρασης εντοπίζοντας δημόσια και ορφανά βίντεο. Δουλεύοντας μαζί με την κοινότητά μας, μπορούμε να διασφαλίσουμε ότι αυτά τα κλασικά έργα τέχνης είναι προσβάσιμα σε όλους και προστατεύονται για να τα απολαύσουν οι μελλοντικές γενιές.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Μη διστάσετε να επικοινωνήσετε μαζί μας εάν θέλετε να συμμετάσχετε σε αυτό το project.","WEBSITE_JOIN_THE_PROJECT":"Συμμετέχετε στο project","WEBSITE_BE_PART_OF_OUR_MISSION":"Γίνετε μέρος της αποστολής μας","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Ενδιαφέρεστε να ενταχθείτε στην ομάδα του Stremio; Προσφέρουμε πλήρως απομακρυσμένη εργασία για παθιασμένους επαγγελματίες. Δείτε τις ανοιχτές θέσεις μας.","WEBSITE_OPEN_POSITIONS":"ΕΛΕΥΘΕΡΕΣ ΘΕΣΕΙΣ","WEBSITE_DESCRIPTION":"ΠΕΡΙΓΡΑΦΗ","WEBSITE_LEARN_MORE":"Μάθετε περισσότερα","WEBSITE_COMPANY":"Εταιρία","WEBSITE_CONTACTS":"Επαφές","WEBSITE_NEED_HELP":"Χρειάζεστε βοήθεια;","WEBSITE_STREMIO_WEB_ON_IOS":"Οδηγός για το Stremio Web σε iOS","WEBSITE_LINK_ART_V2":"Fanart","WEBSITE_PARTNERS":"Συνεργάτες","WEBSITE_SLOGAN_WATCH":"Άμεση παρακολούθηση","WEBSITE_SLOGAN_ALL":"Όλο το περιεχόμενό σας, σε ένα μέρος","WEBSITE_SLOGAN_NEW":"Απεριόριστη παρακολούθηση","WEBSITE_SLOGAN_NEW_NEW":"Ελευθερία στο streaming","WEBSITE_WATCH_FROM":"Προβολή από","WEBSITE_DOWNLOAD":"Λήψη τώρα","WEBSITE_DOWNLOAD_FOR":"Λήψη τώρα για","WEBSITE_IS_DESKTOP":"Το Stremio είναι εφαρμογή για υπολογιστές, ανοίξτε αυτήν τη σελίδα στον υπολογιστή για να κάντε λήψη","WEBSITE_DESKTOP_DEMO_VID":"Επίδειξη σε υπολογιστή","WEBSITE_PAGE_HOME":"Αρχική","WEBSITE_PAGE_FEATURES":"Λειτουργίες","WEBSITE_PAGE_ADDONS":"Πρόσθετα","WEBSITE_PAGE_TECH":"Τεχνολογία","WEBSITE_PAGE_CREATE_ADDON":"Δημιουργία προσθέτου","WEBSITE_PAGE_CONTACTS":"Επαφές","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Εισαγάγετε τον επιθυμητό νέο κωδικό πρόσβασης παρακάτω.","WEBSITE_RESET_PASSWORD_WARNING":"Είστε βέβαιοι ότι θέλετε να επαναφέρετε τον κωδικό πρόσβασης για ${1};","WEBSITE_TYPE_movie":"Ταινίες","WEBSITE_TYPE_series_PL":"Σειρές","WEBSITE_TYPE_tv":"Ζωντανή τηλεόραση","WEBSITE_TYPE_channel":"Κανάλια","WEBSITE_STREMIO_WHAT_IS":"Το Stremio είναι μια εφαρμογή που σας βοηθά να οργανώσετε και να παρακολουθήσετε άμεσα τα αγαπημένα σας βίντεο, ταινίες, σειρές και τηλεοπτικά κανάλια.","WEBSITE_FEATURES_WATCH":"Άμεση παρακολούθηση σε HD","WEBSITE_FEATURES_WATCH_DETAIL":"Κάντε κλικ και δείτε τις αγαπημένες σας ταινίες, εκπομπές, βίντεο και κανάλια.","WEBSITE_FEATURES_SUBS":"Αυτόματοι υπότιτλοι","WEBSITE_FEATURES_SUBS_DETAIL":"Το Stremio επιλέγει αυτόματα συγχρονισμένους υπότιτλους στη γλώσσα σας.","WEBSITE_FEATURES_SUBS_LABEL":"Εσύ αποφασίζεις.","WEBSITE_FEATURES_CAST":"Αναπαραγωγή σε τηλεόραση & κινητές συσκευές","WEBSITE_FEATURES_CAST_DETAIL":"Μετάδοση σε Apple TV, Chromecast, Smart TV (DLNA/UPnP) και κινητές συσκευές.","WEBSITE_LIB":"Η προσωπική σας βιβλιοθήκη σε όλες τις συσκευές σας","WEBSITE_LIB_COLLECT":"Συλλογή από Stremio","WEBSITE_LIB_IMPORT":"Εισαγωγή από Facebook","WEBSITE_LIB_LOCAL":"Προσθήκη από τοπικό δίσκο","WEBSITE_BOARD":"Ο πίνακας - Ένα ενιαίο μέρος για ειδοποιήσεις και προτάσεις","WEBSITE_BOARD_RECOMMEND":"Προτεινόμενη εκπομπή","WEBSITE_BOARD_TRENDING":"Δημοφιλής ταινία","WEBSITE_BOARD_NEW":"Νέο βίντεο","WEBSITE_BOARD_EPISODE":"Νέο επεισόδιο","WEBSITE_BOARD_1":"Ψάχνετε να παρακολουθήσετε κάτι ενδιαφέρον; Λάβετε προτάσεις βάσει των προτιμήσεών σας!","WEBSITE_BOARD_2":"Ειδοποιηθείτε όταν κυκλοφορήσει ένα νέο επεισόδιο της αγαπημένης σας εκπομπής ή καναλιού YouTube!","WEBSITE_BOARD_YOUTUBE":"Νέα βίντεο καναλιών YouTube","WEBSITE_BOARD_EPISODES":"Νέα επεισόδια των σειρών που ακολουθείτε","WEBSITE_ADDONS":"Πρόσθετα περιεχομένου","WEBSITE_TECH_DETAIL":"Αγαπούμε την τεχνολογία και την επιστήμη!\\nΤο Stremio χρησιμοποιεί τις εξής τεχνολογίες ανοικτού κώδικα:","WEBSITE_TECH_WCJS":"Το WebChimera.js επιτρέπει στο Stremio την αναπαραγωγή οποιασδήποτε μορφής βίντεο με καλές επιδόσεις.","WEBSITE_TECH_WCJS_EXTRA":"Είμαστε οι βασικοί συντελεστές του έργου","WEBSITE_TECH_ELECTRON":"Το Electron αποτελεί μια καινοτόμα πλατφόρμα για την ανάπτυξη του Stremio.","WEBSITE_TECH_ELECTRON_EXTRA":"Είμαστε συντελεστές του έργου","WEBSITE_TECH_LINVODB":"Μια τεχνολογία βάσης δεδομένων που εξασφαλίζει ότι τα δεδομένα σας είναι οργανωμένα και διαθέσιμα απ\' όπου κάνετε σύνδεση.","WEBSITE_TECH_LINVODB_EXTRA":"Τεχνολογία από εμάς","WEBSITE_CREATE_ADDON":"Δημιουργήστε το πρόσθετό σας","WEBSITE_CREATE_ADDON_DETAIL":"Διαθέτετε κάποια υπηρεσία παροχής περιεχομένου βίντεο; Θα σας βοηθήσουμε να επωφεληθείτε από τις δυνατότητες του Stremio δημιουργώντας το πρόσθετό σας.","WEBSITE_CREATE_ADDON_BENEFITS":"Οφέλη της δημιουργίας ενός προσθέτου για το Stremio","WEBSITE_P2P_BEAUTY":"Η άνεση και ομορφιά της ροής peer-to-peer","WEBSITE_P2P_1":"Αξιόπιστη και προσιτή προβολή Full HD/4K βίντεο on demand ή σε ζωντανή ροή","WEBSITE_P2P_2":"Πλατφόρμα διανομής με εξαιρετική εμπειρία χρήσης","WEBSITE_P2P_3":"Θα δημιουργήσουμε ένα πρόσθετο που θα καλύπτει απόλυτα τις ανάγκες σας","WEBSITE_P2P_CONTACT":"Σας ενδιαφέρει; Μπορείτε πάντα να <a href=\'mailto:office@stremio.com\'>επικοινωνήσετε μαζί μας</a>.","WEBSITE_P2P_CONTACT_EXTRA":"Θα χαρούμε να σας βοηθήσουμε στην ενσωμάτωση του περιεχομένου σας στο Stremio!","WEBSITE_P2P":"Κατά καιρούς, εμφανίζεται μια τεχνολογία που αλλάζει το τοπίο. Επενδύσαμε πολύ χρόνο και προσπάθεια στην ανάπτυξη της δικής μας μηχανής ροής βίντεο Peer-to-Peer (P2P) που παρέχει εξαιρετικές επιδόσεις και ανταποκρίνεται σε κάθε είδους χρήση.\\nΕπικοινωνήστε μαζί μας για P2P βίντεο με DRM, on demand ή σε ζωντανή ροή.","WEBSITE_THOUGHTS":"Οι σκέψεις μας:","WEBSITE_SPREAD":"Μιλήστε σε άλλους για το Stremio:","WEBSITE_CONTACT":"Επικοινωνήστε μαζί μας, θα χαρούμε να σας ακούσουμε!","WEBSITE_OPENSOURCE":"Για τα έργα μας με ανοικτό κώδικα, μεταβείτε στο","WEBSITE_BITCOIN":"Δωρεά bitcoin:","WEBSITE_FAQ":"Συχνές ερωτήσεις","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Ερωτήσεις","WEBSITE_TOS":"Όροι χρήσης","WEBSITE_LEGAL":"Νομικά","WEBSITE_PAGE_ABOUT":"Πληροφορίες","WEBSITE_PAGE_BECOME_PARTNER":"Γίνετε συνεργάτης","WEBSITE_ALL_YOU_CAN_WATCH":"Δείτε ό,τι θέλετε, ελεύθερα.","WEBSITE_FREEDOM_TO_STREAM":"Ελευθερία στο streaming","WEBSITE_WHAT_IS_STREMIO":"Τι είναι το Stremio;","WEBSITE_WHAT_IS_STREMIO_P1":"Το Stremio αποτελεί ένα ενιαίο κέντρο για περιεχόμενο βίντεο. Ανακαλύψτε, οργανώστε και παρακολουθήστε βίντεο από όλα τα είδη πηγών σε οποιαδήποτε συσκευή σας.","WEBSITE_WHAT_IS_STREMIO_P2":"Ταινίες, εκπομπές, σειρές, ζωντανή τηλεόραση ή διαδικτυακά κανάλια, όπως το YouTube και το Twitch.tv - μπορείτε να τα βρείτε όλα στο Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Το Stremio είναι ένα σύγχρονο κέντρο πολυμέσων για όλο σας το ψυχαγωγικό περιεχόμενο βίντεο. Ανακαλύψτε, παρακολουθήστε και οργανώστε το περιεχόμενο βίντεο με εύχρηστα πρόσθετα.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Ταινίες, εκπομπές, ζωντανή τηλεόραση ή διαδικτυακά κανάλια - βρείτε τα όλα στο Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Απολαύστε σε όλες τις συσκευές πολυμέσων σας","WEBSITE_DEVICES_COLLECT":"Συλλογή από Stremio","WEBSITE_DEVICES_IMPORT_FB":"Εισαγωγή από Facebook","WEBSITE_DEVICES_LOCAL":"Προσθήκη από τοπικό δίσκο","WEBSITE_JOIN_THE_PARTY_NOW":"Ελάτε κι εσείς στο πάρτι","WEBSITE_DEVICES_ALL":"Εύκολο στη χρήση σε όλες σας τις συσκευές·","WEBSITE_EXTENDABLE_CATALOG":"Απεριόριστα επεκτάσιμος κατάλογος βίντεο·","WEBSITE_ORGANIZE_YOUR_MEDIA":"Εξαιρετικές δυνατότητες οργάνωσης πολυμέσων·","WEBSITE_AS_SEEN_ON":"Γνώμες από τον τύπο","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"Σχετικά με εμάς","WEBSITE_LINK_TECHNOLOGY":"Τεχνολογία","WEBSITE_LINK_APPS":"Εφαρμογές","WEBSITE_LINK_DOWNLOADS":"Λήψεις","WEBSITE_MORE":"Περισσότερα","WEBSITE_LINK_ADDONS":"Πρόσθετα","WEBSITE_LINK_ADDON_SDK":"SDK προσθέτων","WEBSITE_LINK_CONTRIBUTE":"Συνεισφορά","WEBSITE_LINK_COMMUNITY":"Κοινότητα","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... & ακόμα περισσότερα","WEBSITE_LINK_HELP":"Κέντρο βοήθειας","WEBSITE_LINK_CONTACTS":"Επαγγελματικές ερωτήσεις","WEBSITE_LINK_TOS":"Όροι & προϋποθέσεις","WEBSITE_LINK_PRAVACY":"Πολιτική απορρήτου","WEBSITE_SUBSCRIBE":"Συνδρομή","WEBSITE_NEWSLETTER":"Εγγραφείτε στο ενημερωτικό μας δελτίο για απίθανα πράγματα","WEBSITE_PLACEHOLDER_EMAIL":"Το email σας","WEBSITE_COMMUNITY":"Κοινότητα","WEBSITE_LINK_PRAVACY_LEGAL":"Απόρρητο & νομικά","WEBSITE_WHY":"Γιατί το κάνουμε","WEBSITE_WHY_P1":"Στο Stremio, εργαζόμαστε καθημερινά επειδή θέλουμε να επιλύσουμε ένα σημαντικό πρόβλημα της βιομηχανίας βίντεο on demand. Υπάρχει τόσο πολύ νέο περιεχόμενο που δημοσιεύεται κάθε λεπτό, που είναι σχεδόν αδύνατο να το διαχειριστείτε.","WEBSITE_WHY_P2":"Βοηθούμε τους ανθρώπους να πλοηγηθούν σε αυτόν τον τεράστιο κόσμο βίντεο ψυχαγωγίας και να ανακαλύψουν νέο περιεχόμενο. Οι εφαρμογές μας συνδυάζουν ταινίες, σειρές, ζωντανή τηλεόραση, διαδικτυακά κανάλια και πολλά άλλα. Έχουμε αφοσιωθεί στο να κάνουμε την εύρεση τίτλων εξαιρετική εύκολη για τους χρήστες μας.","WEBSITE_WHY_P3":"Μπορείτε να χρησιμοποιήσετε την υπηρεσία μας σε οποιαδήποτε συσκευή και ανά πάσα στιγμή, καθιστώντας το Stremio το μοναδικό κέντρο ψυχαγωγίας βίντεο που θα χρειαστείτε.","WEBSITE_TEAM":"Ομάδα","WEBSITE_TEAM_P":"Η ομάδα του Stremio είναι μικρή αλλά ισχυρή: τα δέκα μέλη της γράφουν κώδικα σε X γλώσσες και μοιράζονται εμπειρία στην ανάπτυξη λογισμικού, στον σχεδιασμό UI και UX, στο μάρκετινγκ και στη διαφήμιση, καθώς και στις επιχειρήσεις.","WEBSITE_FEATURES":"Λειτουργίες","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Εύκολη ανακάλυψη νέου περιεχομένου","WEBSITE_FEATURES_DISCOVER_P":"Ανακαλύψτε εύκολα νέες ταινίες, εκπομπές, σειρές και κανάλια. Περιηγηθείτε κατά κατηγορία, είδος, βαθμολογία, πρόσφατη προβολή κ.λπ. ή απλά πληκτρολογήστε ένα όνομα. Το Stremio κάνει πανεύκολη την εύρεση νέου περιεχομένου.","WEBSITE_FEATURES_ALL_CONTENT":"Όλο σας το περιεχόμενο σε μία οθόνη","WEBSITE_FEATURES_ALL_CONTENT_P1":"Δείτε ποιες ταινίες, σειρές ή βίντεο δεν τελειώσατε και συνεχίστε την παρακολούθηση τους· λάβετε ειδοποιήσεις για νέα επεισόδια και κυκλοφορίες· περιηγηθείτε στις προτάσεις που θα λάβετε βάσει των συνηθειών παρακολούθησής σας.","WEBSITE_FEATURES_LIBRARY":"Οργάνωση βιβλιοθήκης βίντεο","WEBSITE_FEATURES_LIBRARY_P1":"Προσθέστε οποιονδήποτε τίτλο στη βιβλιοθήκη του Stremio σας με ένα μόνο κλικ και πλοηγηθείτε στο περιεχόμενό σας, οργανωμένο κατά τύπο, πρόσφατη προβολή ή αλφαβητική σειρά.","WEBSITE_FEATURES_CALENDAR":"Εποπτεία όλων όσων παρακολουθείτε","WEBSITE_FEATURES_CALENDAR_P1":"Δείτε ένα ημερολόγιο με όλες τις ταινίες και σειρές που προσθέτετε στη βιβλιοθήκη σας. Εξαγάγετε και συγχρονίστε το ημερολόγιο σας, ώστε να γνωρίζετε πάντα πότε θα κυκλοφορήσει ένα νέο επεισόδιο ή μια νέα σειρά.","WEBSITE_FEATURES_BIG_SCREEN":"Απολαύστε το περιεχόμενό σας σε μεγαλύτερη οθόνη","WEBSITE_FEATURES_BIG_SCREEN_P1":"Μεταδώστε ό,τι παρακολουθείτε σε μια άλλη συσκευή - σε τηλέφωνο, tablet ή τηλεόραση TV με ένα μόνο κλικ.","WEBSITE_FEATURES_SOURCES":"Προβολή βίντεο από πολλές διαφορετικές πηγές","WEBSITE_FEATURES_SOURCES_P":"Εγκαταστήστε επίσημα πρόσθετα και πρόσθετα κοινότητας για να απολαμβάνετε βίντεο από πολλούς διαφορετικούς παρόχους - όλα σε μία κομψή, εύχρηστη εφαρμογή.","WEBSITE_CREATE_AN_ADDON":"Δημιουργία προσθέτου","WEBSITE_FEATURES_SYNC":"Συγχρονίστε τη βιβλιοθήκη σας σε πολλαπλές συσκευές και συνεχίστε την αναπαραγωγή","WEBSITE_FEATURES_SYNC_P1":"Συνδεθείτε με τον λογαριασμό σας σε όλες τις συσκευές σας και απολαύστε τον συγχρονισμό της βιβλιοθήκης, των προσθέτων, της αναπαραγωγής και του ημερολογίου σας.","WEBSITE_FEATURES_EXTENDABLE":"Επεκτάσιμος κατάλογος βίντεο με τα πρόσθετα","WEBSITE_FEATURES_EXTENDABLE_P1":"Ο κατάλογος προσθέτων του Stremio παρέχει πολυάριθμα πρόσθετα για την παρακολούθηση ποικίλου περιεχομένου βίντεο. Δείτε ταινίες, εκπομπές, ζωντανή τηλεόραση, αθλήματα, ειδήσεις, podcast, διαδικτυακά κανάλια, βιντεοπαιχνίδια και πολλά άλλα.","WEBSITE_FEATURES_AUTO_SUBS":"Αυτόματοι υπότιτλοι","WEBSITE_FEATURES_AUTO_SUBS_P1":"Με τα πρόσθετα υποτίτλων μας, καθορίζονται αυτόματα οι επιλογές για την προτιμώμενη γλώσσα σας.","WEBSITE_FEATURES_CHROMECAST":"Μετάδοση σε Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Απολαύστε το περιεχόμενό σας σε μια μεγαλύτερη οθόνη ή μεταδώστε ό,τι βλέπετε σε μια άλλη συσκευή.","WEBSITE_FEATURES_KEEP_TRACK":"Εποπτεία των αγαπημένων σειρών και καναλιών σας","WEBSITE_FEATURES_KEEP_TRACK_P1":"Δείτε ένα ημερολόγιο και λάβετε ειδοποιήσεις για νέα επεισόδια των αγαπημένων σας σειρών και καναλιών.","WEBSITE_FEATURES_POWER_USER":"Λειτουργίες για έμπειρους χρήστες","WEBSITE_FEATURES_POWER_USER_P1":"Αναπαραγωγή σε εξωτερικό πρόγραμμα","WEBSITE_FEATURES_POWER_USER_P2":"Αναπαραγωγή από αρχείο torrent ή σύνδεσμο magnet","WEBSITE_FEATURES_POWER_USER_P3":"Εισαγωγή στη βιβλιοθήκη από αγαπημένα στο Facebook ή τον τοπικό δίσκο","WEBSITE_ADD_ONS":"Πρόσθετα","WEBSITE_ADD_ONS_P1":"Όλο το περιεχόμενο που παρέχει το Stremio προέρχεται από ένα σύστημα προσθέτων - δεν ενσωματώνεται καθόλου περιεχόμενο και κανένας πάροχος στην εφαρμογή.","WEBSITE_ADD_ONS_P2":"Υπάρχουν δύο ομάδες διαθέσιμων προσθέτων: επίσημα πρόσθετα και πρόσθετα κοινότητας.","WEBSITE_ADD_ONS_P3":"Τα επίσημα αναπτύσσονται και φιλοξενούνται από το Stremio, ενώ τα πρόσθετα κοινότητας δημιουργούνται και φιλοξενούνται από τα μέλη της κοινότητάς μας.","WEBSITE_ADDONS_OFFICIAL":"Επίσημα πρόσθετα","WEBSITE_ADDONS_WATCHUB":"Δείτε τις αγαπημένες σας ταινίες, σειρές και εκπομπές από παρόχους, όπως το iTunes, το Hulu, το Amazon και άλλες υπηρεσίες των ΗΠΑ/ΗΒ.","WEBSITE_ADDONS_YOUTUBE":"Παρακολουθήστε τα αγαπημένα σας κανάλια YouTube χωρίς διαφημίσεις και λάβετε ειδοποιήσεις για νέες μεταφορτώσεις από τους δημιουργούς που ακολουθείτε.","WEBSITE_ADDONS_FILMON":"Παρακολουθήστε ζωντανή τηλεόραση, ταινίες και εκπομπές δωρεάν. 600 τηλεοπτικά κανάλια, 45.000 δωρεάν ταινίες, ντοκιμαντέρ και πολλά άλλα.","WEBSITE_ADDONS_OPENSUBTITLES":"Υπότιτλοι ταινιών και σειρών σε πολλαπλές γλώσσες, μεταφορτώνονται χιλιάδες μεταφρασμένοι υπότιτλοι καθημερινά.","WEBSITE_ADDONS_COMMUNITY":"Πρόσθετα κοινότητας","WEBSITE_ADDONS_FILMON_VOD":"Παρακολουθήστε βίντεο on demand από το Filmon.tv","WEBSITE_ADDONS_TWICH":"Παρακολουθήστε ζωντανές ροές από το Twitch.tv - μια πλατφόρμα ροής βίντεο για τη βιομηχανία των e-sports.","WEBSITE_ADDONS_VODO":"Παρακολουθήστε ανεξάρτητες ταινίες εντελώς δωρεάν.","WEBSITE_ADDONS_NETFLIX":"Παρακολουθήστε ταινίες και σειρές του Netflix.","WEBSITE_ADDONS_CREATE":"Δημιουργία προσθέτου","WEBSITE_ADDONS_CREATE_P1":"Εάν το επιθυμείτε, μπορείτε να αναπτύξετε το δικό σας πρόσθετο. Με αυτόν τον τρόπο, μπορείτε να παραχωρήσετε στον εαυτό σας και στην κοινότητά μας πρόσβαση σε νέο περιεχόμενο βίντεο και να προσεγγίσετε ένα νέο κοινό εκατομμυρίων χρηστών παγκοσμίως.","WEBSITE_ADDONS_START_CREATE":"Για να ξεκινήσετε, επισκεφθείτε τη σελίδα του SDK προσθέτων του Stremio:","WEBSITE_DOWNLOADS":"Λήψεις","WEBSITE_DOWNLOADS_P1":"Για βέλτιστες επιδόσεις, προτείνουμε τη χρήση της πιο πρόσφατης έκδοσης των εφαρμογών Stremio. Αν όμως, για κάποιο λόγο, θέλετε να χρησιμοποιήσετε μια παλαιότερη έκδοση, μπορείτε να τη βρείτε εδώ.","WEBSITE_DOWNLOADS_P1_SHORT":"Για βέλτιστη απόδοση, συνιστούμε να χρησιμοποιήσετε την πιο πρόσφατη διαθέσιμη έκδοση των εφαρμογών Stremio.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio για Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio για macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio για Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio για Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio για Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio για φορητή συσκευή Android","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio για το Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio για iOS (περιορισμένη έκδοση)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio για Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio για LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio για Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio για Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio για Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio για Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio για Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio για Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio για Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio για Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Αναζητήστε το Stremio στο App Store των μοντέλων τηλεοράσεων Samsung 2019+","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Αναζητήστε το Stremio στο App Store των μοντέλων τηλεοράσεων LG 2020+","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Αναζητήστε το Stremio στο App Store της συσκευής σας Xbox","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Οδηγός","WEBSITE_DOWNLOAD_SERVICE":"Λήψη του Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Το Stremio Service είναι μια συνοδευτική εφαρμογή για το Stremio Web. Συνιστούμε να χρησιμοποιήσετε την πιο πρόσφατη διαθέσιμη έκδοση του Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service για Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service για macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service για Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service για Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio για Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"Περισσότερες επιλογές λήψης","WEBSITE_DOWNLOAD_NEW":"Νέο!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"Κυκλοφορήσαμε το Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"Κυκλοφορήσαμε το Stremio για Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"Κυκλοφόρησε το Stremio για LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"Κυκλοφόρησε το Stremio για Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"Κυκλοφορήσαμε το Stremio για το Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"Η πλατφόρμα του Stremio είναι ανοικτού κώδικα και μπορείτε εύκολα να δημιουργήσετε ένα πρόσθετο για περιεχόμενο που δεν παρέχεται αυτήν τη στιγμή.","WEBSITE_CONTRIBUTE_WHY":"Γιατί να δημιουργήσετε ένα πρόσθετο;","WEBSITE_CONTRIBUTE_WHY_P1":"Βρείτε νέο κοινό για τα βίντεό σας","WEBSITE_CONTRIBUTE_WHY_P2":"Η βάση χρηστών του Stremio αυξάνεται ταχύτατα - μέσα στο πρώτο έτος κυκλοφορίας, το Stremio απέκτησε 1 εκατομμύριο χρήστες σε όλο τον κόσμο, ενώ το δεύτερο έτος της ύπαρξης της πλατφόρμας ο αριθμός αυτός έφτασε τα 2,5 εκατομμύρια.","WEBSITE_CONTRIBUTE_WHY_P3":"Με το πρόσθετό σας, μπορείτε εύκολα να προσεγγίσετε και να διανείμετε το περιεχόμενο σε αυτό το κοινό.","WEBSITE_CONTRIBUTE_ALL":"Παρακολουθήστε τις αγαπημένες σας ταινίες, σειρές, βίντεο και κανάλια σε ένα ενιαίο μέρος.","WEBSITE_CONTRIBUTE_ALL_P1":"Είστε λάτρης ενός συγκεκριμένου τύπου περιεχομένου που δεν διατίθεται ακόμα στο Stremio; Δημιουργήστε ένα πρόσθετο για αυτόν και απολαύστε τα αγαπημένα σας βίντεο σε ένα από τα μεγαλύτερα και πιο εύχρηστα κέντρα ψυχαγωγίας της αγοράς.","WEBSITE_CONTRIBUTE_ALL_P2":"Επιπλέον, θα έχετε την απεριόριστη ευγνωμοσύνη των υπόλοιπων μελών της κοινότητας του Stremio.","WEBSITE_CONTRIBUTE_MONETIZE":"Δημιουργήστε έσοδα με το πρόσθετό σας","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Μόλις αναπτύξετε ένα νέο πρόσθετο για το Stremio, μπορείτε εύκολα να δημιουργήσετε έσοδα μέσω πολλαπλών μεθόδων. Αν σκέφτεστε αυτήν την προοπτική, μπορείτε να επικοινωνήσετε μαζί μας στο ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - θα χαρούμε να ανταλλάξουμε συμβουλές μαζί σας σχετικά με τις επιλογές δημιουργίας εσόδων από τα πρόσθετα.","WEBSITE_CONTRIBUTE_TRANSLATE":"Γίνετε εθελοντής μεταφραστής","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Αν θέλετε να απολαύσετε τις εφαρμογές Stremio σε διαφορετικές γλώσσες, μπορείτε να συμμετάσχετε στην κοινότητα των εθελοντών μεταφραστών μας, οι οποίοι μας βοηθούν να προσθέσουμε εκδόσεις του Stremio σε πολλές διαφορετικές γλώσσες.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Θέλετε να ξεκινήσετε;","WEBSITE_TRANSALTE_STREMIO":"Μετάφραση του Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Επίσημες κοινότητες","WEBSITE_COMMUNITY_OFFICIALS_P1":"Γίνετε μέλος της αναπτυσσόμενης κοινότητας του Stremio. Ακολουθήστε μας στα κοινωνικά δίκτυα και μην ντραπείτε να πείτε ένα «γεια» - λατρεύουμε να γνωρίζουμε τους υποστηρικτές μας! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Ανεπίσημες κοινότητες","STREMIO_COMMUNITY_NL":"Stremio Ολλανδίας","STREMIO_COMMUNITY_BRASIL":"Stremio Βραζιλίας","STREMIO_COMMUNITY_GERMANY":"Stremio Γερμανίας","STREMIO_COMMUNITY_BELGIUM":"Stremio Βελγίου","STREMIO_COMMUNITY_FRANCE":"Stremio Γαλλίας","STREMIO_COMMUNITY_PORTUGAL":"Stremio Πορτογαλίας","STREMIO_COMMUNITY_ITALY":"Stremio Ιταλίας","STREMIO_COMMUNITY_UK":"Stremio ΗΒ","STREMIO_COMMUNITY_USA":"Stremio ΗΠΑ","STREMIO_COMMUNITY_MEXICO":"Stremio Μεξικού","STREMIO_COMMUNITY_ADDONS":"Πρόσθετα Stremio","STREMIO_COMMUNITY_AWESOME":"Το απίθανο Stremio","WEBSITE_COMMUNITY_PARTNERS":"Συνεργάτες και υποστηρικτές","WEBSITE_COMMUNITY_GOODIES":"Καλούδια Stremio","WEBSITE_COMMUNITY_WALLPAPERS":"Ταπετσαρίες","WEBSITE_COMMUNITY_ART":"Συλλογή κοινότητας","WEBSITE_LINK_ART":"Συλλογή κοινότητας","WEBSITE_CONTACT_US":"Επικοινωνία","WEBSITE_CONTACT_US_P1":"Αν έχετε τυχόν απορίες, σχόλια ή προτάσεις, μπορείτε να επικοινωνήσετε μαζί μας μέσω της παρακάτω φόρμας επικοινωνίας.","WEBSITE_CONTACT_US_P2":"Σημειώστε ότι εδρεύουμε στη Βουλγαρία, επομένως ενδέχεται να υπάρξει καθυστέρηση στην απάντησή σας λόγω διαφορών στις ζώνες ώρας.","WEBSITE_CONTACT_US_SUCCESS":"Το μήνυμά σας έχει αποσταλεί. Θα σας απαντήσουμε το συντομότερο δυνατόν.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Παρακαλούμε εισαγάγετε ένα έγκυρο email!","WEBSITE_CONTACT_US_Q_RELATED_TO":"Ποιο θέμα αφορά η ερώτησή σας;","WEBSITE_CONTACT_US_Q_OS":"Ποιο είναι το λειτουργικό σας σύστημα;","WEBSITE_CONTACT_US_PH_EMAIL":"Το email σας","WEBSITE_CONTACT_US_PH_MESSAGE":"Μήνυμα","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"Αποστολή","WEBSITE_CONTACT_US_Q_1":"Πώς κάνω εγκατάσταση;","WEBSITE_CONTACT_US_Q_2":"Πώς κάνω κατάργηση εγκατάστασης;","WEBSITE_CONTACT_US_Q_3":"(HTML) Πώς φτιάχνω λαζάνια;","WEBSITE_CONTACT_US_Q_4":"Πρόσθετα","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Τεχνολογία","WEBSITE_TECHNOLOGY_P1":"Αγαπάμε την τεχνολογία και την επιστήμη.</br> Δείτε τί κρύβεται πίσω από το Stremio (είναι όλα ανοικτού κώδικα).","WEBSITE_TECHNOLOGY_P_QT":"Η ανάπτυξη λογισμικού για πολλαπλές πλατφόρμες, στα καλύτερά της.","WEBSITE_TECHNOLOGY_P_MPV":"Ένα δωρεάν, ανοικτού κώδικα, πρόγραμμα αναπαραγωγής πολυμέσων για πολλαπλές πλατφόρμες.","WEBSITE_TECHNOLOGY_P_RN":"Το React Native σας επιτρέπει να αναπτύσσετε εφαρμογές για κινητές συσκευές, μόνο με τη χρήση JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Ενσωματωμένο πλαίσιο πολυμέσων στην εφαρμογή για τη λήψη πολυμέσων.","WEBSITE_TECHNOLOGY_P_REALM":"Το Realm είναι μια πλατφόρμα για κινητές συσκευές και αντικαθιστά τα SQLite και Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Το Node.js είναι ένα ανοικτού κώδικα περιβάλλον εκτέλεσης JavaScript για όλες τις πλατφόρμες.","WEBSITE_TECHNOLOGY_P_RUST":"Η Rust είναι μια γλώσσα πολλαπλών προγραμματιστικών παραδειγμάτων, η οποία εστιάζει στην ασφάλεια και ειδικά στον ασφαλή ταυτοχρονισμό.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Συνεισφορά στο έργο","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Υπάρχουν δύο τρόποι συνεισφοράς στο Stremio για την περαιτέρω βελτίωση του προϊόντος.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Μπορείτε να δωρίσετε τις πολύτιμες γλωσσικές ικανότητές σας μεταφράζοντας την πλατφόρμα...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"ή","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... μπορείτε να αξιοποιήσετε τις ικανότητές σας στον προγραμματισμό για τη δημιουργία προσθέτων κοινότητας. ","WEBSITE_TRANSLATE_STREMIO":"Μετάφραση του Stremio","WEBSITE_404_OH_NO":"Ωχ όχι! Η σελίδα που ψάχνετε δεν είναι εδώ...","WEBSITE_GO_HOME":"Αρχική","WEBSITE_LINK_OTHER_DOWNLOADS":"Άλλες λήψεις","WEBSITE_FAQ_ABR":"Συχνές ερωτήσεις","WEBSITE_SUPPORT":"Υποστήριξη","WEBSITE_DOWNLOAD_4_0_BETA":"Λήψη του Stremio 4 Beta","WEBSITE_GET_FOR_DESKTOP":"Λήψη για υπολογιστή","WEBSITE_LINK_ADDON_COMPETITION":"Διαγωνισμός προσθέτων","WEBSITE_LINK_ART_CONTEST":"Καλλιτεχνικός διαγωνισμός","WEBSITE_MY_ACCOUNT":"Ο λογαριασμός μου","WEBSITE_MAINPAGE_FAQ_001_H1":"Τι είναι το Stremio;","WEBSITE_MAINPAGE_FAQ_001_P1":"Το Stremio είναι ένα σύγχρονο κέντρο πολυμέσων που σάς επιτρέπει να παρακολουθήσετε τα πάντα.","WEBSITE_MAINPAGE_FAQ_002_H1":"Πώς λειτουργεί;","WEBSITE_MAINPAGE_FAQ_002_P1":"Μόλις εγκαταστήσετε το Stremio στη συσκευή σας και δημιουργήσετε έναν λογαριασμό, το μόνο που χρειάζεται να κάνετε είναι να επισκεφθείτε τον κατάλογο προσθέτων και να εγκαταστήσετε όποιο πρόσθετο επιθυμείτε. Αυτό ήταν!","WEBSITE_MAINPAGE_FAQ_002_P2":"Έπειτα, μπορείτε να μεταβείτε στις ενότητες «Ανακάλυψη» ή «Πίνακας» για να ξεκινήσετε την εξερεύνηση περιεχομένου.","WEBSITE_MAINPAGE_FAQ_003_H1":"Τι μπορώ να παρακολουθήσω εδώ;","WEBSITE_MAINPAGE_FAQ_003_P1":"Πολλά: Ταινίες, εκπομπές, διαδικτυακά κανάλια, αθλήματα, τηλεοπτικά κανάλια, podcasts και πολλά άλλα. Χάρη στο σύστημα προσθέτων μας, μπορείτε να προσπελάσετε μια ευρεία γκάμα περιεχομένου.","WEBSITE_MAINPAGE_FAQ_004_H1":"Είναι το Stremio λογισμικό ανοικτού κώδικα;","WEBSITE_MAINPAGE_FAQ_004_P1":"Ναι, μπορείτε να δείτε τους εξής συνδέσμους: ${1}εφαρμογή για υπολογιστές${2} και ${3}οργανισμός GitHub${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Είναι το Stremio ασφαλές;","WEBSITE_MAINPAGE_FAQ_005_P1":"Ναι. Επειδή είναι λογισμικό ανοικτού κώδικα, ο κώδικάς του είναι δημόσια διαθέσιμος και μπορείτε να τον ελέγξετε και εσείς.","WEBSITE_MAINPAGE_FAQ_005_P2":"Το σύστημα προσθέτων του Stremio δημιουργήθηκε επίσης με την ασφάλεια του χρήστη στο μυαλό. Τα πρόσθετα δεν εκτελούν κανέναν κώδικα τοπικά, οπότε δεν απειλούν τη συσκευή σας.","WEBSITE_MAINPAGE_FAQ_006_H1":"Τι γίνεται με το απόρρητό μου;","WEBSITE_MAINPAGE_FAQ_006_P1":"Σεβόμαστε το απόρρητο των χρηστών και δεν συλλέγουμε κανένα προσωπικό δεδομένο, εκτός από τα απολύτως απαραίτητα στοιχεία για τη δημιουργία και τον συγχρονισμό του λογαριασμού σας.","WEBSITE_MAINPAGE_FAQ_006_P2":"Υπάρχει επίσης η ${1}λειτουργία επισκέπτη${2} κατά την εγγραφή, η οποία δεν απαιτεί καθόλου δεδομένα: σε αυτήν τη λειτουργία, δεν γίνεται καμία κλήση στο παρασκηνιακό μας σύστημα. Ωστόσο, δεν περιέχει ορισμένες χρήσιμες λειτουργίες, όπως η δυνατότητα συγχρονισμού βιβλιοθήκης με άλλες συσκευές.","WEBSITE_MAINPAGE_FAQ_007_H1":"Μπορώ να κάνω μετάδοση στην τηλεόρασή μου;","WEBSITE_MAINPAGE_FAQ_007_P1":"Ναι, υποστηρίζουμε Chromecast και μπορείτε να κάνετε μετάδοση τόσο από τον υπολογιστή, όσο και από την κινητή σας συσκευή (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"Πόσα πρόσθετα διαθέτει το Stremio;","WEBSITE_MAINPAGE_FAQ_008_P1":"Από τα τέλη του 2019, πάνω από 50 - για περισσότερες πληροφορίες, δείτε τον κατάλογο των προσθέτων μας.","WEBSITE_MAINPAGE_FAQ_009_H1":"Μπορώ να επεκτείνω τον κατάλογο προσθέτων του Stremio;","WEBSITE_MAINPAGE_FAQ_009_P1":"Ναι, ανατρέξετε στα εξής: ${1}PimpMyStremio${2}, ${3}κοινότητες Reddit${4}, ${5}Stremio Downloader${6}, κ.λπ.","WEBSITE_MAINPAGE_FAQ_010_H1":"Ποιες συσκευές υποστηρίζει το Stremio;","WEBSITE_MAINPAGE_FAQ_010_P1":"Διαθέτουμε εφαρμογές για Windows, Mac και Linux. Για τις κινητές συσκευές, υποστηρίζουμε Android και iOS, ωστόσο λάβετε υπόψη ότι η έκδοση για iOS διαθέτει περιορισμένη λειτουργικότητα (δεν υποστηρίζει τα περισσότερα πρόσθετα).","WEBSITE_MAINPAGE_FAQ_010_P2":"Υπάρχουν πολλές συσκευές που βασίζονται στο Android και μπορούν να εκτελέσουν το Stremio, όπως το NVIDIA Shield και το Amazon Fire Stick, αλλά δεν τις υποστηρίζουμε επίσημα.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"Έχουμε εφαρμογές για υπολογιστές με Windows, Mac και Linux. Έχουμε επίσης εφαρμογές για κινητά Android και Android TV. Για iOS και iPadOS συνιστούμε τη χρήση του Stremio Web, αν και έχει περιορισμένη λειτουργικότητα.","WEBSITE_MAINPAGE_FAQ_011_H1":"Μπορείτε να προσθέσετε συγκεκριμένο περιεχόμενο στο Stremio;","WEBSITE_MAINPAGE_FAQ_011_P1":"Δυστυχώς, δεν παρέχουμε εμείς το περιεχόμενο, αλλά όσα περισσότερα πρόσθετε έχετε εγκαταστήσει στο Stremio, τόσο περισσότερο περιεχόμενο θα μπορέσετε να βρείτε.","WEBSITE_MAINPAGE_FAQ_012_H1":"Μπορεί το Stremio να κάνει αναπαραγωγή συνδέσμων magnet;","WEBSITE_MAINPAGE_FAQ_012_P1":"Ναι και μπορεί επίσης να κάνει αναπαραγωγή κανονικών συνδέσμων HTTP και αρχείων torrent (μεταφορά και εναπόθεση).","WEBSITE_MAINPAGE_FAQ_013_H1":"Μπορώ να κάνω λήψη ενός βίντεο για προβολή εκτός σύνδεσης;","WEBSITE_MAINPAGE_FAQ_013_P1":"Η διαθεσιμότητα εκτός σύνδεσης αποτελεί επερχόμενη λειτουργία, αλλά εάν επιτρέψετε στο Stremio την προσωρινή αποθήκευση στη συσκευή σας (από τον πίνακα ρυθμίσεων), μπορείτε να παρακολουθήσετε τα βίντεο αργότερα, χωρίς σύνδεση στο διαδίκτυο.","WEBSITE_MAINPAGE_FAQ_014_H1":"Δεν λειτουργεί τίποτα, βοήθεια!","WEBSITE_MAINPAGE_FAQ_014_P1":"Έχετε σίγουρα εγκαταστήσει πρόσθετα; Εάν ναι, δείτε το ${1}κέντρο βοήθειάς${2} μας.","WEBSITE_MAINPAGE_FAQ_015_H1":"Πώς υποστηρίζει το Stremio την ανάπτυξή του;","WEBSITE_MAINPAGE_FAQ_015_P1":"Προβάλλουμε μη παρεμβατικές διαφημίσεις περιστασιακά, αλλά εξετάζουμε το ενδεχόμενο να προχωρήσουμε σε ένα μοντέλο δωρεάς.","WEBSITE_MAINPAGE_FAQ_015_P2":"Για περισσότερες ερωτήσεις, μεταβείτε στο ${1}κέντρο βοήθειάς${2} μας.","HELP_LEARN_MORE":"Βοηθήστε μας να μάθουμε περισσότερα για εσάς.","LIFESTYLE":"Τρόπος ζωής","SPORTS":"Αθλήματα","FOOD_HEALTH":"Φαγητό & υγεία","BEAUTY_FASHION":"Ομορφιά & μόδα","NEWS":"Ειδήσεις","GAMING":"Παιχνίδια","SCIENCE_EDUCATION":"Επιστήμη & εκπαίδευση","MUSIC":"Μουσική","TRAVEL":"Ταξίδια","LATE_NIGHT":"Βραδινό","REALITY":"Ριάλιτι","COMEDY":"Κωμωδία","DIY":"Κατασκευές","TECH":"Τεχνολογία","CINEMA":"Κινηματογράφος","CONTINUE":"Συνέχεια","SLOW_LOADING":"Αργή Φόρτωση;","I_GIVE_UP":"Ακύρωση","LEARN_MORE":"Μάθετε περισσότερα","POOR_SOURCE":"Αυτή η πηγή δεν είναι επαρκώς διαθέσιμη ή η σύνδεση σας στο διαδίκτυο δεν είναι αρκετά γρήγορη","PICK_CATEGORIES_ERR":"Πρέπει να επιλέξετε τουλάχιστον 3 κατηγορίες","ADJUST_TIMING":"Προσαρμογή χρονισμού με","ADJUST_SIZE":"Προσαρμογή μεγέθους με","SEARCH_ANYTHING":"Μπορείτε να αναζητήσετε οτιδήποτε...","ALL_CATEGORIES":"Όλα","SEARCH_CATEGORIES":"Ταινίες, σειρές, YouTube & τηλεόραση","SEARCH_PERSONS":"Ηθοποιοί, σκηνοθέτες & σεναριογράφοι","SEARCH_PROTOCOLS":"Σύνδεσμοι HTTP & Magnet","SEARCH_TYPES":"Σύνδεσμοι IMDB/TVDB","WATCHED":"Προβλήθηκε","SHOW_LESS":"Λιγότερα","LAST_SEARCHES":"Πρόσφατες αναζητήσεις","CLEAR_HISTORY":"Απαλοιφή ιστορικού","CHOOSE_SOME":"ΕΠΙΛΕΞΤΕ ΚΑΠΟΙΑ ΑΠΟ ΑΥΤΑ:","NO_WEB_REMOTE":"Δεν ήταν δυνατή η φόρτωση του Web Remote","STREMIO_OFFLINE":"Το Stremio είναι εκτός σύνδεσης","STREMIO_EXPENSIVE_CONNECTION":"Εντοπίσαμε ότι χρησιμοποιείτε σύνδεση δεδομένων κινητής, θέλετε να συνεχίσετε;","USE_DATA":"Χρήση δεδομένων","WARNING":"Προειδοποίηση","MORE_INFO":"Περισσότερες πληροφορίες...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Φόρτωση...","STREMIO_TV_BACK_TO_LANGUAGES":"Πίσω στις γλώσσες","STREMIO_TV_REMOTE":"Τηλεχειριστήριο","STREMIO_TV_GO_TO":"Μεταβείτε στο:","STREMIO_TV_OR_SCAN":"ή σαρώστε το:","STREMIO_TV_ADDON_INSTRUCTIONS":"Παρακαλούμε ακολουθήστε τις οδηγίες για να εγκαταστήσετε τα προτιμώμενα πρόσθετά σας.","STREMIO_TV_LIVE_TV":"Ζωντανή TV","STREMIO_TV_RESUME_WATCHING":"Συνέχιση παρακολούθησης","STREMIO_TV_LOADING_BACKGROUND":"Φόρτωση παρασκηνίου","STREMIO_TV_CHECKING_AUTHENTICATION":"Έλεγχος ταυτοποίησης","STREMIO_TV_LOADING_BOARD":"Φόρτωση πίνακα","STREMIO_TV_LOGIN_HEADER_LINE_1":"Θέλουμε οι χρήστες μας να έχουν την καλύτερη δυνατή, εξατομικευμένη εμπειρία με το λογισμικό μας.","STREMIO_TV_LOGIN_HEADER_LINE_2":"Αυτός είναι ο λόγος που σας ζητούμε να δημιουργήσετε ή/και να συνδεθείτε στον λογαριασμό σας.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Σας ευχαριστούμε για την κατανόηση,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Η ομάδα του Stremio","STREMIO_TV_REMOTE_INSTRUCTIONS":"Για να χρησιμοποιήσετε το Web Remote με το smartphone/tablet/υπολογιστή σας:","STREMIO_TV_WIFI_SETUP":"Ρύθμιση Wi-Fi","STREMIO_TV_WIFI_HEADER_LINE_1":"Το Stremio Circle δεν εντόπισε σύνδεση στο διαδίκτυο.","STREMIO_TV_WIFI_DETAILS_1":"Συνδεθείτε στο:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Χρησιμοποιήστε τον κωδικό πρόσβασης:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Ανοίξτε ένα πρόγραμμα περιήγησης με τον σύνδεσμο:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Προεπιλεγμένο","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"Από την τελευταία παρακολούθηση","STREMIO_TV_LIBRARY_SORT_NAME":"Από το όνομα","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"Κατά Όνομα Φθίνουσα","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"Από τις φορές που παρακολουθήσατε","STREMIO_TV_LIBRARY_SORT_WATCHED":"Έχω Παρακολούθηση","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"Δεν Έχω Παρακολουθήσει","STREMIO_TV_DETAILS_SEASON_NUMBER":"Κύκλος ${1}","STREMIO_TV_STREAMS_LOADING":"Φορτωμένα ${1} / ${2} πρόσθετα...","STREMIO_TV_STREAMS_STILL_LOADING":"Το ${1} ακόμα φορτώνει ...","STREMIO_TV_PLAYER_SETTINGS":"Ρυθμίσεις προγράμματος αναπαραγωγής","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Καθυστέρηση υποτίτλων","STREMIO_TV_PLAYER_AUDIO_DELAY":"Καθυστέρηση ήχου","STREMIO_TV_PLAYER_VIDEO_SCALING":"Κλιμάκωση βίντεο","STREMIO_TV_PLAYER_CHAPTERS":"Κεφάλαια","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Παράλειψη ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Μη υποστηριζόμενη πηγή ροής","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Αποτυχία ανοίγματος εξωτερικού συνδέσμου","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Δεν ρυθμίζεται στη λειτουργία διέλευσης ήχου","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Αναπαραγωγή με τον ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Αναπαραγωγή με τον libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Αλλαγή στον libVLC player λόγω σφάλματος αναπαραγωγής","STREMIO_TV_ADDONS_TITLE":"Χρησιμοποιήστε το Stremio στο τηλέφωνο ή τον υπολογιστή σας για να εγκαταστήσετε ή να διαμορφώσετε πρόσθετα και πατήστε \\"Συγχρονισμός πρόσθετων\\"","STREMIO_TV_ADDONS_SUBTITLE":"Σημείωση: βεβαιωθείτε ότι χρησιμοποιείτε τον ίδιο λογαριασμό Stremio","STREMIO_TV_ADDONS_SYNC_ADDONS":"Συγχρονισμός πρόσθετων","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Επιτυχής συγχρονισμός πρόσθετων","STREMIO_TV_ADDONS_SYNC_FAILED":"Αποτυχία συγχρονισμού πρόσθετων","STREMIO_TV_META_LINK_FAILED":"Αποτυχία ανοίγματος μετα-συνδέσμου","STREMIO_TV_CATALOG_LOADING":"Ο κατάλογος φορτώνει...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Η γλώσσα της εφαρμογής ενημερώθηκε","STREMIO_TV_SETTINGS_THEME_UPDATED":"Το θέμα ενημερώθηκε","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Προεπιλεγμένη εφαρμογή αναπαραγωγής","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Εξωτερική εφαρμογή αναπαραγωγής","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Προτιμητέα γλώσσα","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Εναλλακτική Γλώσσα","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Πιθανά προβλήματα αναπαραγωγής σε ορισμένες συσκευές","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Ορισμένες μορφές βίντεο ενδέχεται να μην λειτουργούν","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Ταίριασμα ρυθμού καρέ","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Απενεργοποιημένο","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Μόνο ρυθμός καρέ","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Ρυθμός καρέ και ανάλυση εικόνας","STREMIO_TV_SETTINGS_NO_CACHING":"Χωρίς προσωρινή αποθήκευση","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Προεπιλεγμένη","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Ήπιο","STREMIO_TV_SETTINGS_PROFILE_FAST":"Γρήγορο","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Πολύ γρήγορο","STREMIO_TV_SETTINGS_SERVER_URL":"URL διακομιστή ροής","STREMIO_TV_SETTINGS_SERVER_VERSION":"Έκδοση διακομιστή","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Άγνωστη","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Έκδοση του Stremio","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Επεξεργασία διεύθυνσης URL διακομιστή","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Εισαγάγετε μια διεύθυνση url διακομιστή ροής","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Εμφάνιση στατιστικών κατά τη φόρτωση","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"Για να διαβάσετε την Πολιτική Απορρήτου του Stremio, επισκεφτείτε:","STREMIO_TV_SETTINGS_TOS_TEXT":"Για να διαβάσετε τους Όρους και τις Προϋποθέσεις του Stremio, επισκεφτείτε:","STREMIO_TV_NAV_SEARCH":"Αναζήτηση","STREMIO_TV_NAV_HOME":"Αρχική","STREMIO_TV_NAV_DISCOVER":"Περιήγηση","STREMIO_TV_NAV_LIBRARY":"Βιβλιοθήκη","STREMIO_TV_NAV_MOVIES":"Ταινίες","STREMIO_TV_NAV_SERIES":"Σειρές","STREMIO_TV_NAV_CHANNELS":"Κανάλια","STREMIO_TV_NAV_TV":"Ζωντανά","STREMIO_TV_NAV_SETTINGS":"Ρυθμίσεις","STREMIO_TV_NAV_ADDONS":"Πρόσθετα","STREMIO_TV_LOGIN_TITLE":"Σύνδεση λογαριασμού","STREMIO_TV_LOGIN_EXPIRES_IN":"Λήγει σε","STREMIO_TV_LOGIN_STEP_ONE":"Σαρώστε τον κωδικό QR παραπάνω ή μεταβείτε στο","STREMIO_TV_LOGIN_STEP_TWO":"Συνδεθείτε στον λογαριασμό σας στο Stremio","STREMIO_TV_LOGIN_NEW_LINK":"Νέος σύνδεσμος","STREMIO_TV_LOGIN_LINK_REFRESHED":"Ο κωδικός σύνδεσης ανανεώθηκε","STREMIO_TV_SEARCH_PLACEHOLDER":"Πληκτρολογήστε κάτι","STREMIO_TV_SEARCH_NO_ADDONS":"Δεν ζητήθηκαν πρόσθετα για καταλόγους!","STREMIO_TV_SEARCH_BUTTON":"Αναζήτηση","STREMIO_TV_SEARCH_KEY_DEL":"Διαγραφή όλων","STREMIO_TV_SEARCH_KEY_SPACE":"Κενό","STREMIO_TV_SEARCH_KEY_CLEAR":"Διαγραφή","STREMIO_TV_SEARCH_HISTORY_TITLE":"Ιστορικό αναζήτησης","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Μπορείτε να αναζητήσετε Τίτλους, Ηθοποιούς, Κανάλια και άλλα...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Διαγράψτε το ιστορικό αναζήτησης","STREMIO_TV_FILTERS_DESCRIPTION":"Επιλέξτε ένα από τα παρακάτω φίλτρα","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Ο διακομιστής ροής είναι εκτός σύνδεσης. Ελέγξτε τις Ρυθμίσεις διακομιστή.","FILTERS":"Φίλτρα","SETTINGS":"Ρυθμίσεις","ACCOUNT":"Λογαριασμός","LOGOUT":"Αποσύνδεση","THEMES":"Θέματα","PLAYBACK":"Αναπαραγωγή","PLAYBACK_SPEED":"Ταχύτητα Αναπαραγωγής","AUDIO_TRACKS":"Κομμάτια ήχου","UNKNOWN_TRACK_LANG":"Άγνωστο","VIDEOS":"Βίντεο","SERVER":"Διακομιστής","LINKS":"Σύνδεσμοι","ABOUT":"Πληροφορίες","INTERFACE":"Εμφάνιση","ANIMATIONS":"Οπτικά εφέ","STATUS":"Κατάσταση","LANGUAGE":"Γλώσσα","SIZE":"Μέγεθος","DELAY":"Καθυστέρηση","BOLD":"Έντονα γράμματα","OPACITY":"Αδιαφάνεια","TEXT_COLOR":"Χρώμα κειμένου","OUTLINE_COLOR":"Χρώμα περιγράμματος","BACKGROUND_COLOR":"Χρώμα φόντου","BACKGROUND_BLUR":"Θάμπωμα φόντου","SEEK_TIME_DURATION":"Διάρκεια χρόνου παράλειψης","AUTO_PLAY":"Αυτόματη αναπαραγωγή επόμενου επεισοδίου","PLAY_NOW":"Αναπαραγωγή τώρα","MARK_AS_WATCHED":"Επισήμανση ως προβεβλημένο","MARK_AS_UNWATCHED":"Επισήμανση ως μη προβεβλημένο","REWIND_TO_BEGINNING":"Προβολή από την αρχή","CONTINUE_WATCHING":"Συνεχίστε να βλέπετε","ALL":"Όλα","SECONDS":"Δευτερόλεπτα","ON":"Ανοιχτοί","OFF":"Κλειστοί","RELOAD":"Επανάληψη φόρτωσης","EDIT_URL":"Επεξεργασία συνδέσμου URL","NONE":"Κανένα","EMBEDDED":"Ενσωματωμένοι","REMOTE_SWITCH_DEVICES":"Εναλλαγή συσκευών","REMOTE_VIDEOS":"Βίντεο","REMOTE_ADJUST_TIMING":"Προσαρμογή χρονισμού","REMOTE_ADJUST_SIZE":"Προσαρμογή μεγέθους","REMOTE_COULD_NOT_BE_LOADED":"Δεν ήταν δυνατή η φόρτωση του Web Remote","REMOTE_RETRY":"Επανάληψη","TORRENT_PROFILE_DEFAULT":"Προεπιλεγμένο","TORRENT_PROFILE_SOFT":"Ήπιο","TORRENT_PROFILE_FAST":"Γρήγορο","TORRENT_PROFILE_ULTRA_FAST":"Πολύ γρήγορο","FAQ_001_H1":"Τι είναι το Stremio;","FAQ_001_P1":"Το Stremio είναι ένα λογισμικό κέντρου πολυμέσων που έχει σχεδιαστεί για εύκολη πρόσβαση σε ψυχαγωγικά βίντεο. Σας επιτρέπει να οργανώσετε και να παρακολουθείτε την προσωπική σας συλλογή ταινιών, σειρών, καναλιών και ζωντανής τηλεόρασης.","FAQ_001_P2":"Το Stremio συλλέγει το περιεχόμενο, που προβάλλει σε εσάς, από τον τοπικό σας δίσκο και το σύστημα προσθέτων μας.","FAQ_001_P3":"Θα σας ειδοποιήσει επίσης όταν κυκλοφορήσουν νέα επεισόδια/βίντεο/ταινίες που σας ενδιαφέρουν και θα σας προσφέρει προτάσεις ταινιών.","FAQ_02_H1":"Πόσο μοιάζει το Stremio με το Kodi και το Plex;","FAQ_02_P1":"Έχουμε εμπνευστεί από αυτά τα δύο λογισμικά. Όμως έχουν διαφορετικούς στόχους - το Stremio αφορά αποκλειστικά τα ψυχαγωγικά βίντεο και προσπαθεί να γίνει η πιο γνωστή και εύχρηστη λύση.","FAQ_02_P2":"Το Stremio δεν θα προσφέρει ποτέ τόσες λειτουργίες και δυνατότητες προσαρμογής, όσες το Kodi και το Plex, αλλά είναι σημαντικά πιο απλό στη χρήση. ${1} Δοκιμάστε το κι εσείς ${2} :)","FAQ_03_H1":"Πόσο μοιάζει το Stremio με το Netflix;","FAQ_03_P1":"Το Netflix αποτελεί μία από τις εμπνεύσεις μας. Προσπαθούμε να επιτύχουμε την εμπειρία χρήσης του Netflix, σε συνδυασμό με πολλά άλλα «καλούδια». Το πιο σημαντικό όμως είναι ότι σας παρέχουμε την ελευθερία να διαχειρίζεστε τη δική σας βιβλιοθήκη και να προσθέτετε νέες πηγές περιεχομένου με το σύστημα προσθέτων μας.","FAQ_03_P2":"Αυτό καθιστά το Stremio απεριόριστα επεκτάσιμο, ώστε να μην περιορίζεστε ποτέ στο περιεχόμενο που αποφασίζει να προσθέσει το Netflix. Για παράδειγμα, μέσω του Stremio μπορείτε να παρακολουθήσετε περιεχόμενο από το ${1} Filmon.tv ${2}, το ${3} Twitch.tv${4}, το ${5}YouTube${6}, το ${7}Vodo${8}, ακόμα και από το ίδιο το ${9}Netflix${10}!","FAQ_04_H1":"Πόσο μοιάζει το Stremio με το Flipboard;","FAQ_04_P1":"Δεν λαμβάνουμε τόσο συχνά αυτήν την ερώτηση, εκτός αν μιλάμε με άτομα από νεοφυείς εταιρείες :)","FAQ_04_P2":"Το Stremio είναι εκ σχεδιασμού μια εφαρμογή συγκέντρωσης περιεχομένου, αποτελώντας πρακτικά ένα Flipboard για βίντεο. Αυτό είναι ιδιαίτερα προφανές στην ενότητα «Πίνακας», η οποία παρέχει καταλόγους και ειδοποιήσεις νέων επεισοδίων/βίντεο για όσα ακολουθείτε, όπως και το Flipboard.","FAQ_05_H1":"Πόσο μοιάζει το Stremio με το Popcorn Time;","FAQ_05_P1":"Το Stremio και το Popcorn Time μοιάζουν όσον αφορά το περιβάλλον χρήστη, επειδή δεν υπάρχουν και τόσοι πολλοί τρόποι για τη σωστή υλοποίηση ψυχαγωγικών καταλόγων βίντεο :)","FAQ_05_P2":"Ωστόσο, το Popcorn Time εστιάζει στη ροή torrent από συγκεκριμένες πηγές, ενώ το Stremio κάνει απλά συγκέντρωση περιεχομένου - δεν περιορίζεται σε μια συγκεκριμένη πηγή περιεχομένου.","FAQ_05_P3":"Επιπλέον, δεν παρέχουμε κανένα πρόσθετο για torrent από προεπιλογή, επομένως το Stremio δεν καλύπτει τις δυνατότητες του Popcorn Time με την επίσημη λειτουργικότητά του.","FAQ_05_P4":"Μια ακόμα αξιοσημείωτη διαφορά είναι ότι ο κώδικας του Popcorn Time είναι πλήρως ανοικτός, ενώ ο κώδικας του Stremio είναι ${1}μερικώς ανοικτός{2}.","FAQ_06_H1":"Θα προσθέσετε αυτήν την ταινία/σειρά;","FAQ_06_P1":"Δυστυχώς, όχι :(","FAQ_06_P2":"Όπως αναφέρουμε και σε πολλές άλλες απαντήσεις, το Stremio δεν παρέχει από μόνο του περιεχόμενο - όλα προστίθενται μέσω του συστήματος προσθέτων. Σε περίπτωση που έχετε κάποιο αίτημα περιεχομένου, μπορείτε να χρησιμοποιήσετε το κουμπί «Αναφορά» στο πρόγραμμα αναπαραγωγής, το οποίο θα στείλει ένα email στον δημιουργό του προσθέτου που χρησιμοποιείτε τη δεδομένη στιγμή.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Θα δημιουργήσετε πρόσθετο για το X;","FAQ_08_P1":"Είναι πολύ πιθανό.","FAQ_08_P2":"Αν έχετε κάποια ιδέα για ένα πρόσθετο, στείλτε μας ένα email στο ${1}office@stremio.com${2}, αλλά παρακαλούμε βεβαιωθείτε ότι η ιδέα σας δεν θα παραβιάσει κανένα πνευματικό δικαίωμα ή όρο χρήσης.","FAQ_08_P3":"Αυτήν τη στιγμή, τα επόμενά μας σχέδια περιλαμβάνουν πρόσθετα για το FandangoNOW, το Filmon.tv και το Crunchyroll.","FAQ_09_H1":"Το Stremio χρησιμοποιεί το BitTorrent;","FAQ_09_P1":"Ναι, το Stremio υποστηρίζει το BitTorrent ως πρωτόκολλο ροής. Μπορείτε να το χρησιμοποιήσετε με ένα πρόσθετο για torrent, με εναπόθεση ενός αρχείου .torrent στο Stremio ή με επικόλληση ενός συνδέσμου magnet στη γραμμή αναζήτησης.","FAQ_09_P2":"Παρακαλούμε σημειώστε ότι το μόνο επίσημο πρόσθετο που χρησιμοποιεί BitTorrent είναι το ${1}Vodo${2}, που παρέχει ανεξάρτητο περιεχόμενο για το οποίο επιτρέπεται η διανομή με BitTorrent.","FAQ_09_P3":"Δεν υποστηρίζουμε τη χρήση τρίτων προσθέτων που ενδέχεται να οδηγήσουν σε καταπάτηση πνευματικών δικαιωμάτων.","FAQ_10_H1":"Τι μπορώ να παρακολουθήσω στο Stremio με τα επίσημα πρόσθετα;","FAQ_10_P1":"Από προεπιλογή, μπορείτε να παρακολουθήσετε περιεχόμενο από το Filmon.tv, το YouTube και το Vodo στο Stremio, με το ενσωματωμένο πρόγραμμα αναπαραγωγής. Επιπροσθέτως, διαθέτουμε ένα πρόσθετο για το Twitch.tv και κάποιους άλλους παρόχους.","FAQ_10_P2":"Με όλα τα παραπάνω, παρέχεται μια συλλογή από:","FAQ_10_L1":"Δημοφιλή τηλεοπτικά κανάλια από το Filmon.tv - για παράδειγμα, το E4, το BBC, το Bollyworld TV","FAQ_10_L2":"Όλο το YouTube - για παράδειγμα, το BBC News, το Top Gear, το Vevo, τον PewDiePie","FAQ_10_L3":"Ανεξάρτητες ταινίες με το Vodo","FAQ_10_L4":"Διαδικτυακές μεταδόσεις παιχνιδιών με το Twitch.tv","FAQ_10_P3":"Επιπλέον, υπάρχουν πολλές πηγές περιεχομένου που παρέχονται από τα πρόσθετα Guidebox και Netflix, τα οποία <b>δεν</b> κάνουν αναπαραγωγή εξ ολοκλήρου εντός του Stremio, αλλά ανακατεύθυνση στην αντίστοιχη υπηρεσία. Για παράδειγμα, το πρόσθετο Guidebox σάς προσφέρει μια συλλογή από ταινίες που μπορείτε να παρακολουθήσετε δωρεάν στις ΗΠΑ, από υπηρεσίες όπως το TubiTV και το Crackle.","FAQ_11_H1":"Το Stremio δεν εγκαθίσταται, τι να κάνω;","FAQ_11_P1":"Εάν χρησιμοποιείτε Windows, δοκιμάστε ${1}αυτό το εναλλακτικό πρόγραμμα εγκατάστασης${2}.","FAQ_11_P2":"Εάν χρησιμοποιείτε Mac OS X, σημειώστε ότι δεν υποστηρίζουμε καμία έκδοση πριν από το OS X Mavericks (10.9).","FAQ_11_P3":"Εάν χρησιμοποιείτε Linux, σημειώστε ότι υποστηρίζουμε μόνο εκδόσεις 64-bit (x64) του Linux αυτήν τη στιγμή.","FAQ_11_P4":"Αν δεν μπορείτε ακόμα να λύσετε το πρόβλημά σας, παρακαλούμε στείλτε μας μήνυμα στην {1}ομάδα μας στο Facebook${2}.","FAQ_12_H1":"Γιατί με προειδοποιεί το πρόγραμμα προστασίας από ιούς; Είναι ασφαλές το Stremio;","FAQ_12_P1":"Σας διαβεβαιώνουμε ότι το Stremio είναι ${1}100% «καθαρό»${2}.","FAQ_12_P2":"Το λογισμικό σας, σάς προειδοποιεί επειδή το πρόγραμμα εγκατάστασής μας περιλαμβάνει διαφημίσεις, οι οποίες θεωρούνται ως ad-ware από ορισμένα προγράμματα προστασίας από ιούς.","FAQ_12_P3":"Αν ακόμα έχετε αμφιβολίες, μπορείτε να δοκιμάσετε το ${1}εναλλακτικό πρόγραμμα εγκατάστασής${2} μας.","FAQ_13_H1":"Πώς μπορώ να δημιουργήσω ένα πρόσθετο;","FAQ_13_P1":"Για αρχή, προτείνουμε να δείτε τη ${1}μονάδα του συστήματος προσθέτων${2} μας στο GitHub.","FAQ_13_P2":"Έπειτα, μπορείτε να ακολουθήσετε τον ${1}εισαγωγικό οδηγό${2} μας.","FAQ_13_P3":"Αν δεν διαθέτετε γνώσεις προγραμματισμού, παρακαλούμε αναφέρετε την ιδέα σας στην ${1}κοινότητα του Reddit${2} και επικοινωνήστε μαζί μας σχετικά με την ιδέα σας στο ${3}office@stremio.com${4}.","FAQ_14_H1":"Πώς δημοσιεύονται τα πρόσθετα;","FAQ_14_P1":"Όταν δημιουργήσετε ένα πρόσθετο και έναν κεντρικό υπολογιστή και προσθέσετε ένα πεδίο <b>ακροσημείου (endpoint)</b> στο αρχείο manifest σας, το οποίο δείχνει σε μια λειτουργική διεύθυνση προσθέτου, το πρόσθετο θα δημοσιευτεί αυτόματα στον ${1}κατάλογο προσθέτων${2} μας.","FAQ_14_P2":"Αυτό συμβαίνει επειδή το τμήμα διακομιστή της μονάδας stremio-addons κάνει αυτόματα κλήση στο API μας, προκειμένου να ανακοινώσει το πρόσθετο. Όταν το API μας επαληθεύσει το <b>ακροσημείο (endpoint)</b> σας ως έγκυρο πρόσθετο, τότε θα αρχίσει να εμφανίζεται στον κατάλογο.","FAQ_15_H1":"Μπορώ να εκτελέσω το Stremio στο πρόγραμμα περιήγησής μου;","FAQ_15_P1":"Προς το παρόν, όχι. Αλλά έρχεται σύντομα!","FAQ_15_P2":"Αν έχετε περιέργεια να δείτε μια πρώιμη έκδοση, μπορείτε να τη βρείτε εδώ: ${1}alpha4.strem.io${2}. Σημειώστε ότι η ροή είναι απενεργοποιημένη σε αυτήν την έκδοση. Υποστηρίζουμε τα Chrome, Firefox, Opera και Edge.","FAQ_16_H1":"Η μετάδοση σε τηλεόραση δεν λειτουργεί / οι υπότιτλοι δεν λειτουργούν","FAQ_16_P1":"Η μετάδοση σε τηλεόραση χρησιμοποιεί την τεχνολογία DLNA που δεν είναι κοινή για όλες τις μάρκες και τα μοντέλα τηλεοράσεων. Για τον λόγο αυτό, δεν μπορούμε να τη δοκιμάσουμε σε όλες τις περιπτώσεις, επομένως δεν είναι σε καμία περίπτωση τέλεια. Εργαζόμαστε για τη συνεχή βελτίωση της λειτουργίας, αλλά δεν μπορούμε να προσδιορίσουμε πότε θα αρχίσει να λειτουργεί κανονικά το DLNA στην τηλεόρασή σας.","FAQ_16_P2":"Αν δεν βλέπετε καν την τηλεόρασή σας στο μενού μετάδοσης, παρακαλούμε δοκιμάστε να απενεργοποιήσετε και να ενεργοποιήσετε εκ νέου τη σύνδεση δικτύου σας (στα Windows, κάντε δεξί κλικ στο «Δίκτυο» και επιλέξτε «Ενεργοποίηση/Απενεργοποίηση»). Επίσης, επανεκκινήστε το router, την τηλεόραση και τον υπολογιστή σας.","FAQ_16_P3":"Αν εξακολουθείτε να αντιμετωπίζετε ζητήματα, μπορείτε να μας βοηθήσετε στέλνοντας τη μάρκα και το μοντέλο της τηλεόρασής σας στο ${1}office@stremio.com${2}.","FAQ_16_P4":"Εν τω μεταξύ, προτείνουμε το Chromecast, το οποίο υποστηρίζουμε πολύ καλά ή μπορείτε απλά να συνδέσετε την τηλεόρασή σας στον υπολογιστή σας με ένα καλώδιο HDMI.","FAQ_17_H1":"Το Stremio «παγώνει» ή/και καταρρέει, τί μπορώ να κάνω;","FAQ_17_P1":"Πρώτα απ\' όλα, εάν χρησιμοποιείτε Windows 7 με το πρόγραμμα προστασίας AVG: υπάρχει πρόβλημα με αυτόν τον συνδυασμό. Το πρόβλημα έγκειται στο ίδιο το AVG και δεν υπάρχει κάποιος τρόπος να το επιλύσουμε από την πλευρά μας. Δυστυχώς, οι εξαιρέσεις ή η απενεργοποίηση του λογισμικού ασφαλείας δεν θα λειτουργήσει. Η μόνη λύση είναι να αντικαταστήσετε το AVG με κάποιο άλλο πρόγραμμα.","FAQ_17_P2":"Αν δεν είναι αυτό το πρόβλημα, αλλά χρησιμοποιείτε Windows, παρακαλούμε ενημερώστε στο πιο πρόσφατο Service Pack και ενημερώστε/εγκαταστήστε εκ νέου τα προγράμματα οδήγησης της GPU και έπειτα, δοκιμάστε ξανά.","FAQ_17_P3":"Αν δεν έχει επιλυθεί ακόμα το πρόβλημά σας ή χρησιμοποιείτε Mac ή Linux, παρακαλούμε στείλτε μας μια αναφορά με ακριβείς λεπτομέρειες για το πρόβλημα στην ${1}ομάδα μας στο Facebook${2}.","FAQ_18_H1":"Πώς μπορώ να δημιουργήσω ένα πρόσθετο;","FAQ_18_P1":"Για αρχή, προτείνουμε να δείτε τη ${1}μονάδα του συστήματος προσθέτων${2} μας στο GitHub.","FAQ_18_P2":"Έπειτα, μπορείτε να ακολουθήσετε τον ${1}εισαγωγικό οδηγό${2} μας.","FAQ_18_P3":"Αν δεν διαθέτετε γνώσεις προγραμματισμού, παρακαλούμε αναφέρετε την ιδέα σας στην ${1}κοινότητα του Reddit${2} και επικοινωνήστε μαζί μας σχετικά με την ιδέα σας στο ${3}office@stremio.com${4}.","FAQ_19_H1":"Γιατί το Stremio καταλαμβάνει χώρο στον δίσκο;","FAQ_19_P1":"Το Stremio διαθέτει <b>τοπική προσωρινή μνήμη (cache)</b> για την προσωρινή διατήρηση των αρχείων βίντεο που παρακολουθείτε.","FAQ_19_P2":"Αυτή έχει δύο πλεονεκτήματα: πρώτον, επιτρέπει στο Stremio να προφορτώσει το βίντεο για πιο ομαλή ροή. Δεύτερον, διατηρεί τα βίντεο στην τοπική προσωρινή μνήμη, ώστε να μπορείτε να τα παρακολουθείτε εκτός σύνδεσης.","FAQ_19_P3":"Μπορείτε να προσαρμόσετε το μέγεθος των αρχείων που επιτρέπεται να αποθηκεύει το Stremio με τη ρύθμιση <b>Προσωρινή μνήμη</b> του πίνακα ρυθμίσεων. Το Stremio μπορεί να διατηρήσει έως και το καθορισμένο μέγεθος (π.χ. 2GB) στον δίσκο σας, εκτός αν το τρέχον βίντεο ροής είναι μεγαλύτερο, στην οποία περίπτωση θα πρέπει το Stremio να δεσμεύσει επαρκή χώρο ώστε να διατηρήσει το βίντεο μέχρι να ολοκληρώσετε τη ροή του.","FAQ_20_H1":"Πού βρίσκεται ο φάκελος προσωρινής μνήμης;","FAQ_20_P1":"Στα Windows, είναι ο φάκελος «stremio-cache» στον δίσκο που επιλέξατε από τις Ρυθμίσεις (π.χ. «E:\\\\stremio-cache»)","FAQ_20_P2":"Στο MacOS, είναι στη διαδρομή «~/Library/Application Support/Stremio/stremio-cache»","FAQ_20_P3":"Στο Linux, είναι στη διαδρομή «~/.stremio/stremio-cache» ή «~/stremio-cache»","FAQ_21_H1":"Λαμβάνω το σφάλμα «Δεν βρέθηκε διακομιστής ροής», τι μπορώ να κάνω;","FAQ_21_P1":"Αν λάβετε αυτό το σφάλμα, υπάρχουν δύο πιθανές εξηγήσεις:","FAQ_21_P2":"1) Προσπαθείτε να χρησιμοποιήσετε ένα πρόσθετο με πηγή YouTube/BitTorrent, μέσω της ${1}διαδικτυακής έκδοσης${2}. Σε αυτήν την περίπτωση, θα πρέπει να εγκαταστήσετε την εφαρμογή μας για υπολογιστές από τον ${3}ιστότοπό${4} μας.","FAQ_21_P3":"2) Κάτι δεν πάει καλά με την εγκατάσταση του Stremio σας. Σε αυτήν την περίπτωση, δοκιμάστε να εγκαταστήσετε εκ νέου την πιο πρόσφατη έκδοση για υπολογιστές από τον ${1}ιστότοπό${2} μας. Αν αυτό δεν βοηθήσει, δοκιμάστε να απενεργοποιήσετε τα προγράμματα προστασίας από ιούς και τα τείχη προστασίας, επανεκκινήστε τον υπολογιστή σας και προσπαθήστε ξανά. Αν δεν λειτουργήσει ούτε αυτό, παρακαλούμε στείλτε μας μήνυμα στην ${3}ομάδα μας στο Facebook${4}.","FAQ_22_H1":"Δεν μπορώ να δω/χρησιμοποιήσω τα περισσότερα πρόσθετα στο iOS","FAQ_22_P1":"Λόγω των περιορισμών στους όρους και τις προϋποθέσεις του Apple App Store, διατίθεται μόνο ένα συγκεκριμένο σύνολο προσθέτων για την εφαρμογή του iOS.","FAQ_22_P2":"Αλλά μην ανησυχείτε - θα διατεθούν περισσότερα πρόσθετα για το iOS στο μέλλον και ίσως προστεθεί η δυνατότητα χρήσης όλων των προσθέτων του Stremio, χάρη στη σύνδεση της εφαρμογής για iOS με τον διακομιστή ροής του Stremio."}')},83865:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Movie","TYPE_series":"Series","TYPE_tv":"TV channel","TYPE_channel":"Channel","TYPE_other":"Other","TYPE_movie_PL":"Movies","TYPE_series_PL":"Series","TYPE_tv_PL":"TV channels","TYPE_channel_PL":"Channels","TYPE_other_PL":"Others","TYPE_ALL":"All","TYPE":"Type","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"Video","BACK":"Back","MORE":"More","DONE":"Done","COPY":"Copy","SUCCESS":"Success","ERROR":"Error","SETTINGS_CASTING_MODE_PICKER":"Casting mode","CASTING_MODE_HLSV2":"Default","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"No transcoding","Discover":"Discover","Board":"Board","Library":"Library","My Library":"My Library","Calendar":"Calendar","NOTIFICATION_ONLINE":"You are now online","NOTIFICATION_OFFLINE":"You are currently offline","INTERNET_CONNECTION":"Network connection","STORAGE_FULL_TITLE":"Warning: Storage full!","STORAGE_FULL_TEXT":"Stremio will not be able to save your settings, preferences or login information. Consider re-starting or re-installing Stremio.","SEARCH":"search","SEARCH_NO_RESULTS":"No results were found","SEARCH_EXPLANATION_CONTENT":"Search for movies, series, YouTube and TV channels","SEARCH_EXPLANATION_PEOPLE":"Search for actors, directors and writers","SEARCH_PASTE_LINKS":"Paste HTTP and Magnet links","SEARCH_OR_PASTE_LINK":"Search or paste link","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"Add to Library","REMOVE_FROM_LIB":"Remove from Library","ADDED_TO_LIB":"Added to Library","REMOVED_FROM_LIB":"Removed from Library","TRAILER":"Trailer","WATCH_TRAILER":"Watch Trailer","WATCH_NOW":"Watch Now","SHOW":"Show","SHOW_MOVIE":"Show Movie","WATCH_RANDOM":"Watch Random","IMDB_RATING":"IMDb Rating","YEAR":"Year","DIRECTOR":"Director","WRITER":"Writer","LEAD_ACTORS":"Lead Actors","CAST":"Cast","CREW":"Crew","SHOW_MORE_CAST":"Show more »","AIRED":"Aired","SEASONS":"Seasons","GENRE":"Genre","GENRE_ALL":"All genres","CATALOG":"Catalog","SUMMARY":"Summary","SHOW_MORE":"Show More","SIMILAR":"Similar","UPCOMING":"Upcoming","ENDED":"Ended","DURATION":"Duration","FEATURED":"Featured","METADATA":"Metadata","CATEGORY":"category","LINKS_GENRES":"Genres","LINKS_CAST":"Cast","LINKS_DIRECTORS":"Directors","SEARCH_VIDEOS":"search videos","SEARCH_PLACEHOLDER":"search or paste URL","ADDON":"addon","ADDONS":"Addons","OFFICIAL":"official","ADDONS_OFFICIAL":"Official Stremio Addons","ADDONS_POPULAR":"Popular in your area","ADDON_FREE":"free","ADDON_PEERED":"peered","ADDON_SUBSCRIPTION":"subscription","ADDON_STREAM_GEORESTRICTED":"not available in your area","ADDON_STREAM_OFFLINECACHE":"Offline Cache","ADDON_STREAM_LOCALFILE":"Local File","SHARE_ADDON":"Share addon","AVAILABLE_STREAMS":"Available Streams","NO_STREAM":"No streams were found","ALL_ADDONS":"All","INSTALL_MORE_ADDONS":"For more streams, please install more addons","STREAM_NOT_SUPPORTED":"Selected stream is not supported on this platform.","ADDON_CATALOGUE":"Show all addons »","ADDON_CATALOGUE_MORE":"Install addons","REPO_ADDED":"Repository added","ADDON_REPO_EXIST_ERR":"This addons collection already exist","ADDON_REPO_ERR":"Error occurred while adding collection","ADDON_ADD_ERR":"Error occurred while adding addon","ERR_ADDON_PROTECTED":"Cannot uninstall addon, it is protected","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Something went wrong - authentication may have failed","ERR_NOT_COLLECTION_URL":"Not a collection URL","ERR_NOT_ADDON_URL":"Not a valid addon URL","ERR_DETECTFROMURL":"Cannot find addon/collection from this URL","ADDON_DUPLICATE_WARNING":"Warning: duplicated addon","ADDON_COLLECTION_SET_FAILED":"Syncing installed addons to your account failed","SETTINGS_DATA_EXPORT":"Export user data","ADDON_PULL_FAILED":"Syncing installed addons from your account failed","REFRESH_ON_CLICK":"Click to retry","STILL_IN_THEATER":"Movie still in theaters","WATCH_IN_CINEMA":"Watch it in your local cinema","IN_THEATER":"In cinema","GET_TICKETS":"Get tickets","UPCOMING_EPISODE":"Upcoming episode","UPCOMING_EPISODE_MESSAGE":"This episode will be aired on","MISSING_DATE_EPISODE":"Missing episode date","MISSING_DATE_EPISODE_MESSAGE":"This episode might not have aired yet","CHANNEL_NOT_SCRAPED":"This channel is not scraped yet.<br>Please come back in a few minutes.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Add it to your library to get notified once it is available.","GET_NOTIFIED_WHEN_AVAILABLE":"You will get notified once it is available.","WARNING_STREAMING_SERVER":"Warning: local streaming server not found. Streaming from local files, YouTube and BitTorrent will not be available.","WARNING_STREAMING_SERVER_DISMISS":"Dismiss","WARNING_STREAMING_SERVER_LATER":"Later","DECODER_WARNING":"Warning: this video may not be supported by your hardware. Keep in mind, playback may be slow.","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"Oops, Player Error","PLAYER_ERROR_LOOKSLIKE":"It looks like","PLAYER_ORIENTATION":"Player orientation","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Locked","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensor","PLAYER_ORIENTATION_LANDSCAPE":"Player orientation locked at landscape","PLAYER_ORIENTATION_SENSOR":"Player orientation automatic (sensor)","PLAYER_PLAYBACK_SPEED":"Playback Speed","PLAYER_PLAYBACK_ERROR":"Playback error, please try again","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Unknown error","PLAYER_PLAYBACK_ERROR_DEFAULT":"Sorry, this video cannot be played by {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Subtitles Languages","PLAYER_SUBTITLES_VARIANTS":"Subtitles Variants","PLAYER_SUBTITLES_SETTINGS":"Subtitles Settings","PLAYER_SUBTITLES_DISABLED":"Subtitles are disabled","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Vertical Position","PLAYER_SUBTITLES_LOADED":"Subtitles loaded","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Embedded subtitles loaded","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Exclusive subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Subtitles from {{origin}} loaded","PLAYER_PLAY":"Play","PLAYER_PAUSE":"Pause","PLAYER_NEXT_VIDEO":"Next Video","PLAYER_MUTE":"Mute","PLAYER_UNMUTE":"Unmute","PLAYER_OPEN_IN_EXTERNAL":"Open in external player","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Play in {{device}}","PLAYER_LIVE":"Live","PLAYER_NEXT_VIDEO_TITLE":"Coming up next on","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Dismiss","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Watch now","PLAYER_COPY_STREAM_SUCCESS":"Stream link was copied to your clipboard","PLAYER_COPY_STREAM_ERROR":"Failed to copy stream link","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","STREAMING_FROM":"streaming from","CASTING_TO":"Casting to","NETWORK_STATUS":"Network status","STREAM_SPEED":"Stream speed:","STREAM_BUFFERED":"Buffered:","PEERS_INFO":"Peers Information","PEERS_ACTIVE":"Active:","PEERS_CONNECTED":"Connected:","PEERS_WAITING":"Waiting:","TRANSCODING_WARNING":"Warning: transcoding video.","STREAM_LOADING":"loading...","PLAYING_LOCAL":"playing from local file","PLAYING_CACHE":"playing from cache","WRONG_SUBS":"Wrong subtitles?","ERR_SUBS_LOADING_TITLE":"Error loading subtitles","ERR_SUBS_LOADING":"Failed loading subtitles: this could be an issue with the addon you are using, or with your network connection","WARN_FOLLOWING_SUB_ADDONS_FAILED":"The following subtitle addons failed","ERR_CASTING_UPDATE_TITLE":"Could not update casting device info: streaming server might be offline","CHOOSE_DEVICE":"Choose a device to watch on","NO_CAST_DEVICES":"No casting devices available.","NO_SETTINGS":"No settings available.","PHONE_TABLET":"Phone / Tablet","SUBTITLES":"Subtitles","SUBTITLES_CHANGE":"Change subtitles for ","SUBTITLES_CHANGE_NONE":"There are no other subtitles for this language, sorry.","SUBTITLES_CHANGE_ACIVE":"Currently subtitles &#35;{{subtitlesDialog.activeIdx + 1}} are activated. Click \\"Continue\\" to activate subtitles &#35;{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Alternatively,","SUBTITLES_ADJUST_DELAY":"Adjust subtitle delay:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Or use <span>G</span> / <span>H</span> keys while playing to adjust.","SUBTITLES_ADJUST_DELAY_TIP":"TIP: you can use <span>G</span> / <span>H</span> keys while playing to adjust.","SUBTITLES_DELAY":"Subtitles delay:","SUBTITLES_LOADING":"Loading subtitles...","SUBTITLES_UNAVAILABLE":"No external subtitles available","SUBTITLES_DISABLED":"Disabled","EXTERNAL_PLAYER_DISABLED":"Disabled","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Allow Choosing","EXTERNAL_PLAYER_HINT":"Hint: There is a setting to allow always opening with external player","DONT_SHOW_AGAIN":"Don\'t show again","SERVICE_INSTALL":"Install","AUDIO":"Audio","DEFAULT_LANGUAGE":"Default Language","DEFAULT_SECONDARY_LANGUAGE":"Default Secondary Language","SEASON":"Season","EPISODE":"Episode","EPISODE_ABBREVIATION":"EP","SPECIAL":"Special","SORT":"sort","SORT_BY":"Sort by","FILTER":"filter","SORT_TRENDING":"trending","SORT_RECENT":"recent","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"rating","SORT_WATCHED":"watched","SORT_YEAR":"year","SELECT_TYPE":"Select type","SELECT_SORT":"Select sort","SELECT_CATALOG":"Select catalog","SELECT_GENRE":"Select genre","SORT_LASTWATCHED":"last watched","SORT_NAME":"a-z","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"most watched","SORT_NOTWATCHED":"not watched","New for You":"New for You","New Episodes":"New Episodes","New Videos":"New Videos","Recommendations":"Recommendations","LIBRARY_RESUME":"Resume","LIBRARY_PLAY":"Play","LIBRARY_DETAILS":"Details","LIBRARY_RESUME_DISMISS":"Dismiss","LIBRARY_CLEAR_PROGRESS":"Clear Progress","LIBRARY_REMOVE":"Remove","LIBRARY_NOT_LOGGED_IN":"Library is only available for logged in users","CALENDAR_NOT_LOGGED_IN":"Calendar is only available for logged in users","NOT_LOGGED_IN_CLOUD":"Access your favorite movies and TV shows anytime, anywhere","NOT_LOGGED_IN_RECOMMENDATIONS":"Recommendations tailored to your viewing history","NOT_LOGGED_IN_NOTIFICATIONS":"Never miss an episode again","NOT_LOGGED_IN_CALENDAR":"Schedule your personal watching calendar","DISCOVER_FEATURED":"Featured","DISCOVER_TOP":"Top","DISCOVER_OSCAR":"Oscar Winners","DISCOVER_WARNING_TITLE":"Oops!","DISCOVER_EMPTY_CATALOG":"This addon returned empty content.","DISCOVER_ADULT_WARNING":"The content is visible only for adults. Are you 18+?","DISCOVER_NOADDON_WARNING":"Warning: no Stremio addon active for this type. Showing saved items, nothing here will update.","DISCOVER_LOAD_ERR":"The content did not load, error occured.","DISCOVER_ADDON_UNINSTALLED":"This content is no longer available, you may have un-installed the addon.","UNINSTALL_THIS_ADDON":"Uninstall this addon","ERR_ADDON_NOT_INSTALLED":"This addon is not installed. Install now?","DETAIL_RECEIVE_NOTIF_SERIES":"Receive notifications for new episodes","DETAIL_RECEIVE_NOTIF_VIDEOS":"Receive notifications for new videos","SIDEBAR_SHOW_STREAMS":"Show Streams","RELAUNCH":"Re-launch now!","UPGRADE":"New version is available! Upgrade to the latest Stremio version","RELOAD_UI":"Reload the user interface","MANUAL_UPDATE_TITLE":"Update your Stremio version","MANUAL_UPDATE_LINE1":"You are running an outdated version of Stremio which is highly unrecommended.","MANUAL_UPDATE_LINE2":"Please update as soon as possible.","BUTTON_UPDATE_LATTER":"Not now","BUTTON_UPDATE_NOW":"Update","ANONYMOUS_USER":"Anonymous user","DONT_HAVE_ACC":"Don\'t have an account?","HAVE_ACC":"Already have an account?","PASSWORD":"Password","PASSWORD_CONFIRM":"Confirm password","EMAIL":"E-mail","FB_LOGIN":"Continue with Facebook","FB_NOTHINGSHARED":"Nothing is shared without your permission","FB_NOPOST":"We won’t post anything on your behalf","OR":"or","I_ACCEPT":"I accept the","I_ACCEPT_BY_CLICKING":"By clicking the above button I testify that I accept the ","TOS":"Terms and Conditions","MUST_ACCEPT_TERMS":"You must accept terms","PASSWORDS_NOMATCH":"Passwords don\'t match","SIGN_UP":"Sign up","SIGN_UP_EMAIL":"Sign up with email","CLICK_TO_SIGN_UP":"Click here to sign up.","LOG_IN":"Log in","LOG_OUT":"Log out","EXIT_FULLSCREEN":"Exit fullscreen mode","ENTER_FULLSCREEN":"Enter fullscreen mode","PLAY_URL_MAGNET_LINK":"Play URL/Magnet link","HELP_FEEDBACK":"Help & Feedback","TERMS_OF_SERVICE":"Terms of Service","PRIVACY_POLICY":"Privacy Policy","ABOUT_STREMIO":"About Stremio","USER_PANEL":"User Panel","LOGIN_LABEL":"Login","GUEST_LOGIN":"Guest login","GUEST_LOGIN_NOTICE":"Guest Login is not recommended. Using a regular login allows Stremio to sync your Library, receive notifications for favourite series/channels. Are you sure you want to proceed?","GUEST_LOGIN_NOTICE_2":"Guest Login is not recommended - you won\'t have synced Library and Board notifications, which are vital Stremio features. Are you sure you want to proceed?","CLICK_HERE":"click here","WRONG_PASSWORD":"Wrong email or password. In case you have forgotten your password, ","SET_A_PASS":"set a password","RESET_PASSWORD":"Reset password","FORGOT_PASSWORD":"Forgot password?","EMAIL_USED_WITH_FB":"This email was used with a Facebook login.","INVALID_EMAIL":"Please enter a valid email address","INVALID_PASSWORD":"Please enter a valid password","CONN_ERR":"Connection error - please try again later.\\n\\nIf this persists, disable firewalls/anti-virus software (especially Bitdefender).","IMPORT_FROM_GUEST":"Import Library from your guest account","RECEIVE_UPDATES_EMAIL":"Receive updates to your email from Stremio","LOGIN_FAILED":"Login failed.","SIGNUP_FAILED":"Signup failed.","SEARCH_FAILED":"Search failed","EMAIL_USED":"This email is already in use.","WAITING_FB_LOGIN":"Logging in with Facebook...","EXTERNAL_PLAYER_TITLE":"Play in external player","EXTERNAL_REMEMBER_PLAYER":"Do you want to remember your choice","EXTERNAL_ALWAYS_PLAY":"Yes","EXTERNAL_ONLY_ONCE":"No","BEST_FIT":"Best Fit","FIT_SCREEN":"Fit Screen","FILL":"Fill","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"Tell us about what you like","INTRO_TASTE_LONG":"Tell us about what you\'d like to watch","INTRO_TASTE_PICK":"Pick {{interestsRemaining}} interests","INTRO_TASTE_PICK_MORE":"Pick {{interestsRemaining}} more interests","INTRO_TASTE_HELP_US":"Help us learn more about you.","INTRO_TASTE_CHOOSE_THESE":"Choose some of these:","INTRO_TASTE_CHOOSE_MIN":"Choose at least 3 categories","INTRO_TASTE_CHOOSE_MIN_ERR":"You have to pick at least 3 categories!","INTRO_TASTE_LIFESTYLE":"Lifestyle","INTRO_TASTE_SPORTS":"Sports","INTRO_TASTE_FOOD_HEALTH":"Food & Health","INTRO_TASTE_BEAUTY_FASHION":"Beauty & Fashion","INTRO_TASTE_NEWS":"News","INTRO_TASTE_GAMING":"Gaming","INTRO_TASTE_SCIENCE_EDU":"Science & Education","INTRO_TASTE_MUSIC":"Music","INTRO_TASTE_TRAVEL":"Travel","INTRO_TASTE_LATE_NIGHT":"Late Night Show","INTRO_TASTE_REALITY":"Reality","INTRO_TASTE_COMEDY":"Comedy","INTRO_TASTE_DIY":"How to DIY","INTRO_TASTE_TECH":"Tech","INTRO_TASTE_CINEMA":"Cinema","ADDON_NOT_SUPPORTED":"Selected addon is not supported on this platform.","ADDON_DISCLAIMER":"Using third-party addons will always be subject to your responsibility and the governing law of the jurisdiction you are located.","ADDON_ACTIVATE":"Activate this addon?","ADDON_REPO_ADD":"Addon collection URL","ADDON_ADD":"Add","INSTALL_ADDON":"Install addon","ADD_ADDON":"Add addon","ADD_ADDON_DESCRIPTION":"You can add an addon via an external link, which will appear under Installed addons.","PASTE_ADDON_URL":"Paste addon URL","WHATS_NEW":"What\'s new","BUTTON_CONTINUE":"Continue","BUTTON_ACTIVATE":"Activate","BUTTON_ACTIVATED":"Activated","BUTTON_CANCEL":"Cancel","BUTTON_SUBMIT":"Submit","BUTTON_DISMISS_ALL":"Dismiss All","BUTTON_VIEW_ALL":"view all","BUTTON_SEE_ALL":"See All","BUTTON_COLOR_TRANSPARENT":"Transparent","OPEN_IN_BROWSER":"Open in browser","LIB_EMPTY":"Your library looks empty. Find out how useful it is :) ","HOW_START":"Here is how you can start:","LIB_EMPTY_CAL":"Your Calendar shows series in your Library.","HOW_START_CAL":"Here is how you can add series:","LIB_EMPTY_BOARD":"Board shows notifications &amp; recommendations related to your Library.","HOW_START_BOARD_WAIT":"Please, add a few series or channels to your Library give us a few minutes to process :)","HOW_START_BOARD":"Here is how you can add series &amp; movies to it:","IMPORT_FB":"Import things you like from <span>Facebook</span>","IMPORT_TRAKT":"Import your media library from <span>Trakt</span>","IMPORT_DISCOVER":"Find interesting stuff from <span>Discover</span>","IMPORT_DISK":"Import movies or shows you have on your <span>local disk</span>","PLEASE_CREATE_ACC":"Please <u>create an account</u> to enable Library sync &amp; Board.","IMPORT_DISCOVER_SIGNUP":"Sign up and find interesting stuff from <span>Discover</span>","IMPORT_DISK_SIGNUP":"Sign up and import movies or shows you have on your <span>local disk</span>","LIB_EMPTY_CLOUD":"Cloud library","LIB_EMPTY_CLOUD_DESC":"Personal cloud library synced on all devices","LIB_EMPTY_EARLY":"Early bird","LIB_EMPTY_EARLY_DESC":"Receive notifications for new episodes","LIB_EMPTY_PERSONAL":"Personal","LIB_EMPTY_PERSONAL_DESC":"Get personal recommendations","LIB_EMPTY_CALENDAR_DESC":"Schedule your personal watching calendar","LIB_EMPTY_ALL":"Sign up to get all of these:","LIB_EMPTY_BEST":"Sign up to get best of Stremio","LIB_EMPTY_OTHER":"Sign up to enable Calendar & other cool features","CALENDAR_ADDED":"The Stremio calendar has been added to your default desktop calendar.","CALENDAR_ADDED_MSG":"If this does not work, please add this URL to your calendar application manually","TRAKT_EXPIRED":"Trakt authentication expired, please go to Settings and re-authenticate","TRAKT_REQUIRES_LOGIN":"Trakt error","TRAKT_REQUIRES_LOGIN_MSG":"You need to login","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","SETTINGS_LABEL":"Settings","SETTINGS_NAV_GENERAL":"General","SETTINGS_NAV_PLAYER":"Player","SETTINGS_NAV_STREAMING":"Streaming","SETTINGS_NAV_SHORTCUTS":"Shortcuts","SETTINGS_SHORTCUT_RELOAD_APP":"Reload App","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Open Settings","SETTINGS_SHORTCUT_SWITCH_TABS":"Switch Tabs","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Cycle Through Tabs Forward","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Cycle Through Tabs Backward","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigate Between Menus","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Go to Search","SETTINGS_SHORTCUT_EXIT_BACK":"Exit / Go Back","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Toggle Playback Speed Menu","SETTINGS_SHORTCUT_MENU_VIDEOS":"Toggle Videos Menu","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Toggle Subtitles Menu","SETTINGS_SHORTCUT_MENU_INFO":"Toggle Info Menu","SETTINGS_SHORTCUT_FULLSCREEN":"Toggle Fullscreen","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Show Controls","SETTINGS_SHORTCUT_PLAY_PAUSE":"Play / Pause","SETTINGS_SHORTCUT_VOLUME_UP":"Volume Up","SETTINGS_SHORTCUT_VOLUME_DOWN":"Volume Down","SETTINGS_SHORTCUT_SEEK_NEXT":"Seek Next","SETTINGS_SHORTCUT_SEEK_PREV":"Seek Prev","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Seek Backward","SETTINGS_SHORTCUT_SEEK_FORWARD":"Seek Forward","SETTINGS_SHORTCUT_PLAY_NEXT":"Play Next","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Increase Subtitles Size","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Decrease Subtitles Size","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Increase Subtitles Delay","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Decrease Subtitles Delay","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Toggle Sidebar","SETTINGS_SHORTCUT_OR":"or","SETTINGS_SHORTCUT_TO":"to","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Authenticate","SETTINGS_FACEBOOK_IMPORT":"Import","SETTINGS_CALENDAR_SUBSCRIBE":"Subscribe","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Interface Language","SETTINGS_LAUNCH_STARTUP":"Launch on start-up","SETTINGS_VLC_DEFAULT":"Play with VLC","SETTINGS_UI_LANGUAGE":"UI Language","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Escape key exit full screen","SETTINGS_GAMEPAD":"Enable gamepad support","SETTINGS_CLOSE_WINDOW":"Close app when window is closed","SETTINGS_SUBTITLES_LANGUAGE":"Default Subtitles Language","SETTINGS_SUBTITLES_SIZE":"Default Subtitles Size","SETTINGS_SUBTITLES_BACKGROUND":"Subtitles background","SETTINGS_SUBTITLES_COLOR":"Subtitles color","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Subtitles outline color","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Subtitles background color","SETTINGS_SEEK_KEY":"Arrow keys seek time","SETTINGS_SEEK_KEY_SHIFT":"Arrow keys seek time when Shift key is held","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Rewind & Fast-forward duration","SETTINGS_BINGE":"Auto-play next episode","SETTINGS_NEXT_VIDEO":"Show notification to start next episode","SETTINGS_NEXT_VIDEO_TRIGGER":"Show next episode notification for:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Next video popup duration","SETTINGS_PLAY_IN_BACKGROUND":"Play in background","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Play in external player","SETTINGS_RESIZE":"Auto-resize window before playing","SETTINGS_OVERRIDE_SERVER":"Override the streaming server URL (advanced)","SETTINGS_SERVER_URL":"Streaming server URL: ","SETTINGS_SERVER_AVAILABLE":"Streaming server is available.","SETTINGS_SERVER_UNAVAILABLE":"Streaming server is not available.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Error","SETTINGS_SERVER_CONFIGURE_TITLE":"Configure streaming server url","SETTINGS_SERVER_CONFIGURE_INPUT":"Enter a streaming server url","SETTINGS_SERVER_CACHE_SIZE":"Cache size","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent profile","SETTINGS_HTTPS_ENDPOINT":"Streaming HTTPS endpoint: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Always use latest Beta","SETTINGS_IMPORT_FB":"Import from Facebook","SETTINGS_IMPORT_DISK":"Import from local disk","SETTINGS_IMPORT_TRAKT":"Import from Trakt","SETTINGS_PAUSE_MINIMIZED":"Pause playback when minimized","SETTINGS_HWDEC":"Hardware-accelerated decoding","SETTINGS_BACKGROUND":"Background playback","SETTINGS_SUBSCRIBE_CALENDAR":"Subscribe to calendar","SETTINGS_REQ_EXPORT":"Request data export","SETTINGS_ACC_DELETE":"Request account deletion","SETTINGS_CHANGE_PASSWORD":"Change password","SETTINGS_TOS":"Terms of service","SETTINGS_SUPPORT":"Contact support","SETTING_LANGUAGE":"Language","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_LOGOUT":"Log out of Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Log Out of Trakt","SETTINGS_SCAN_FOR_REMOTE":"Scan QR code to open remote","SETTINGS_DESKTOP_NOTIFICATIONS":"Desktop notifications","SETTINGS_DATA_SAVER":"Data saver","SETTINGS_LANGUAGE_INTERFACE":"interface","SETTINGS_LANGUAGE_SUBS":"default subtitles","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Autoselect Audio Track","SETTINGS_DEFAULT_AUDIO_TRACK":"Default Audio Track","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"account","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"Version","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"Launch player in a separate window (advanced)","SETTINGS_PLAY_IN_EXTERNAL":"Always start video in external player","SETTINGS_STORAGE_BUTTON":"Clear Local Storage","SETTINGS_STORAGE_MODAL_TITLE":"Are you sure ?","SETTINGS_STORAGE_MODAL_MESSAGE":"This will clear the local storage and log you out.","SETTINGS_HWDEC_PICKER":"Pick hardware-accelerated decoding setting","SETTINGS_HW_AUTOMATIC":"Automatic","SETTINGS_HW_DISABLED":"Disabled","SETTINGS_HW_ACCELERATED":"Decoding acceleration","SETTINGS_HW_FULL":"Full acceleration","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Subtitles","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Controls","SETTINGS_SECTION_AUTO_PLAY":"Auto-Play","SETTINGS_SECTION_ADVANCED":"Advanced","SUBSPICKER_AUDIO":"Audio","SUBSPICKER_SUBTITLES":"Addons Subtitles","SUBSPICKER_BLACK_BACKGROUND":"Use black background color","SUBSPICKER_VERTICAL_OFFSET":"Vertical Offset","SUBSPICKER_SIZE":"Size","SUBSPICKER_DELAY":"Delay","SUBSPICKER_EMBEDDED_SUBS":"Embedded Subtitles","MOBILE_PRIVACY_POLICY":"Privacy Policy","MOBILE_CRASH_REPORTING":"Crash Reporting","MOBILE_ZOOM_TO_FILL":"Zoom To Fill Screen","MOBILE_PASSTHROUGH":"Digital audio output (passthrough)","MOBILE_RUN_LOW_BATTERY":"Run on low battery","MOBILE_RUN_FOREGROUND":"Run as Foreground Service","MOBILE_PERFORMANCE":"PERFORMANCE & STABILITY","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"QR Code expires in ","MOBILE_LOG_INTO":"Log in to your Stremio account ","MOBILE_SCAN_QR":"Scan QR code above or go to ","MOBILE_LINK_ACCOUNT":"Link Account","MOBILE_SPEEDPICKER_CANCEL":"Cancel","MOBILE_SPEEDPICKER_LABEL":"Select Playback Speed","MOBILE_EMPTY_LIBRARY":"Your library is empty","MOBILE_NO_ADDON_ACTIVE":"No Stremio addon active for this type.","MOBILE_ORGANIZER_WARNING":"The Stremio Organizer app provides limited functionality. For a list of playable streams and the full Stremio experience, use Stremio on desktop.","MOBILE_ADDON_LOADING":"is still loading","MOBILE_ADDONS_LOADING":"addons are still loading","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Configure your addon","MOBILE_CONFIGURE_ADDON_LABEL":"Configure Addon","MOBILE_ORGANIZER_ADDONS_WARNING":"The Stremio Organizer app provides a limited selection of addons. For the full Stremio experience, use Stremio on desktop.","MOBILE_DISCONNECT":"Disconnect","MOBILE_LOOKING_FOR_DEVICES":"Looking for devices...","MOBILE_CAST_TO":"Cast to","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Delete Account","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Account deletion is not instant due to legal obligations. After requesting deletion of your account you will have to use different email address/facebook profile to create a new Stremio account in the future.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirm Account Deletion","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Your account has been created using Facebook. To delete your account, please use our user portal at www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Please provide your password to confirm account deletion.","MOBILE_DELETE_ACCOUNT_BUTTON":"Delete Account","NAVIGATION_ON":"On","NAVIGATION_OFF":"Off","MARKETING_AGREE":"I agree to receive marketing communications from Stremio","QUIT":"Quit","CONNECTED":"Connected","AUTHENTICATE":"Authenticate","CACHING":"Caching","SETTINGS_CACHING_DRIVE":"Caching drive","ENABLE_LOCAL_FILES_ADDON":"Enable the local files addon (requires restart)","LOCAL_ADDON_NOT_ENABLED":"Local addon is not enabled. Click here to go to the settings and enable it","ENABLE_REMOTE_HTTPS_CONN":"Enable remote HTTPS connections","TORRENT_PROFILE":"Torrent Profile","DATA_CACHING":"Data Caching","MAGNET_PARSING":"Parsing a magnet link","January":"January","February":"February","March":"March","April":"April","May":"May","June":"June","July":"July","August":"August","September":"September","October":"October","November":"November","December":"December","Monday":"Monday","Tuesday":"Tuesday","Wednesday":"Wednesday","Thursday":"Thursday","Friday":"Friday","Saturday":"Saturday","Sunday":"Sunday","Action":"Action","Comedy":"Comedy","War":"War","Family":"Family","Animation":"Animation","Adventure":"Adventure","Fantasy":"Fantasy","Crime":"Crime","Mystery":"Mystery","Romance":"Romance","Drama":"Drama","Horror":"Horror","Thriller":"Thriller","Sci-Fi":"Sci-Fi","Music":"Music","Biography":"Biography","Documentary":"Documentary","Sport":"Sport","Musical":"Musical","Western":"Western","Film-Noir":"Film-Noir","News":"News","History":"History","Game-Show":"Game-Show","Reality-TV":"Reality-TV","Talk-Show":"Talk-Show","Film & Entertainment":"Film & Entertainment","Gaming":"Gaming","From TV":"From TV","Lifestyle":"Lifestyle","Science & Education":"Science & Education","Cooking & Health":"Cooking & Health","Beauty & Fashion":"Beauty & Fashion","Sports":"Sports","News & Politics":"News & Politics","How-to & DIY":"How-to & DIY","Tech":"Tech","Automotive":"Automotive","Causes & Non-Profits":"Causes & Non-Profits","Movies":"Movies","Uk Live Tv":"Uk Live Tv","Fashion":"Fashion","Business News Radio":"Business News Radio","Business Tv":"Business Tv","Cars & Auto":"Cars & Auto","Comedy Radio":"Comedy Radio","Lifestyle Radio":"Lifestyle Radio","News Tv":"News Tv","Food And Wine":"Food And Wine","Latino Tv":"Latino Tv","Shopping Tv":"Shopping Tv","Religion":"Religion","Kids":"Kids","Body & Soul":"Body & Soul","Education":"Education","Indian Tv":"Indian Tv","Extreme Sports":"Extreme Sports","Middle Eastern Tv":"Middle Eastern Tv","Celebrity Tv":"Celebrity Tv","Science Tv":"Science Tv","Bikini babe":"Bikini babe","Outdoors":"Outdoors","German Tv":"German Tv","French Tv":"French Tv","Italian Tv":"Italian Tv","Gamer Tv":"Gamer Tv","Travel":"Travel","Asian Tv":"Asian Tv","Entertainment":"Entertainment","News Radio":"News Radio","Music Radio":"Music Radio","Language Learning":"Language Learning","Science Radio":"Science Radio","Tech Radio":"Tech Radio","Science & Technology Vod":"Science & Technology Vod","new video":"new video","new episode":"new episode","new movie":"new movie","recommended":"recommended","we recommend":"we recommend","offer of the day":"offer of the day","news":"news","music video":"music video","CTX_SHOW_HOTKEYS":"Show hotkeys","CTX_DISMISS_NOTIF":"Dismiss notifications","CTX_DISMISS_ALL":"Dismiss all","CTX_SHARE":"Share","CTX_COPY_SHARE_LINK":"Copy share link","CTX_COPY_MAGNET_LINK":"Copy magnet link","CTX_COPY_STREAM_LINK":"Copy stream link","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Download this video","CTX_DOWNLOAD_SUBS":"Download subtitles","CTX_VIEW_ON_YOUTUBE":"View on YouTube","CTX_SHOW":"Show","CTX_PLAY":"Play","CTX_PLAY_IN":"Play in","CTX_PLAY_ON":"Play on","CTX_WATCH_ON":"Watch on","CTX_WATCH":"Watch","CTX_WATCHED":"Watched","CTX_WATCH_BEGINNING":"Watch from the beginning","CTX_WATCH_MOBILE":"Watch on a mobile device","CTX_REWIND":"Rewind to beginning","CTX_MARK_WATCHED":"Mark as watched","CTX_MARK_NON_WATCHED":"Mark as non-watched","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"Mark rest as watched","CTX_UNMARK_REST":"Mark rest as non-watched","CTX_RECEIVE_NEW_NOTIF":"Receive new notifications","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"Remove from cache","CTX_REMOVE_CACHE_EP":"Remove episode from cache","CTX_OPEN_CONTAINING":"Open containing folder","CTX_REMOVE":"Remove from library","CTX_AVAILABLE_OFFLINE":"Available Offline","CTX_PAUSED":"Paused","CTX_ALWAYS_ON_TOP":"Always on top","CTX_FULLSCREEN":"Fullscreen","CTX_WRONG_SUBS":"Wrong subtitles?","CTX_REPORT_ISSUES":"Report issue","CTX_COPY":"Copy","CTX_PASTE":"Paste","CTX_CLEAR":"Clear","CTX_CLEAR_RECENT_SEARCHES":"Clear recent searches","HELLO_THERE":"Hello There","HOPE_YOU_ENJOY":"We hope you enjoy Stremio and it\'s one of your favourite apps already!","WHO_ARE_WE":"Who are we? We are the team behind it - two guys who work hard every day for the last 3 years to make this product better and better.","SUPPORT_US":"If you enjoy using Stremio, if Stremio is valuable for you - spread the word!","SPREAD_THE_WORD":"Share with your friends now, spread the word about Stremio","MORE_PEOPLE":"The more people use Stremio, the better it will get!","SEND_A_LINK":"Or send a link to our website","TIP_LOCALFILES":"Tip: you can drag & drop local video files into Stremio","ADDON_MY":"My Addons","ADDON_COMMUNITY":"Community Addons","ADDON_OFFICIAL":"Official Addons","ADDON_REPOS":"Addon collections","ADDON_SEARCH":"Search addons","ADDON_INSTALL":"Install","ADDON_CONFIGURE":"Configure","ADDON_UNINSTALL":"Uninstall","ADDON_UPGRADE":"Upgrade","ADDON_INSTALLED":"Installed","ADDON_INSTALLED_MSG":"Addon installed!","ADDON_UPGRADED_MSG":"Addon upgraded!","ADDON_UNKNOWN":"Unknown","ADDON_ERR":"Addon install error!","ADDON_DISCONNECTED":"Disconnected","ADDON_APP_MISSING":"the app for this source is not installed. Do you want to install it now?","ADDON_APP_INSTALL":"Install Now","ADDON_PAGE":"Addon Page","ADDON_TOP_CONTENT":"Best from this Addon","ADDON_PROVIDES":"This addon will give you:","ADDON_WATCH":"Watch #{types} now!","ADDON_WATCH_FREE":"Watch #{types} for FREE now!","ADDON_ADDON":"Addon","ADDON_SUPPORTED_TYPES":"Supported types","ADDON_SUPPORTED_CATALOGS":"Supported catalogs","ADDON_PROVIDES_DISCOVER":"More #{types} in Discover","ADDON_PROVIDES_STREAMS":"Watch #{types}","ADDON_PROVIDES_STREAMS_FREE":"Watch #{types} for FREE","ADDON_PROVIDES_SUBTITLES":"Subtitles for #{types}","ADDON_CANTDETECT":"We couldn\'t detect a running Stremio, so we couldn\'t detect what addons you have installed.","ERR_NO_META":"No information found about this ","ERR_GETTING_META":"Error retrieving information about this.","ERR_CANT_PARSE_MAGNET":"Unable to parse magnet","ERR_NO_MAGNET_INFOHASH":"No valid info hash for magnet","ERR_NO_FILE_PATH":"Unable to send request without a path to file","ERR_NO_TORRENT":"No torrent returned","ERR_NO_SUPPORTERD_FILES":"No supported files found","ERR_OPENING_FILES":"Could not open external files","ERR_INVALID_LINK":"Invalid link","ERR_REGISTERED_ONLY":"This option is available for registred users only.","ERR_CLIPBOARD":"Can not play from clipboard","ERR_CLIPBOARD_READ":"Can not read the clipboard on this platform","ERR_CLIPBOARD_GENERIC":"No playable URL found in the clipboard. Please copy a URL (e.g. a magnet link) to a video.","BOARD_CONTINUE_WATCHING":"Continue watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Movies picked specially for you.<br />This movie is a sample recommendation.","BOARD_EXPLANATION_EPISODES":"New episodes of your favorite Series come here.<br />Add series you follow to your Library.","BOARD_EXPLANATION_VIDEOS":"New episodes of your favorite Channels come here.<br />Add YouTube channels you follow to your Library.","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE":"Contribute","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"Learn more","WEBSITE_COMPANY":"Company","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Need Help?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"Watch Instantly","WEBSITE_SLOGAN_ALL":"All the Video Content You Enjoy in One Place","WEBSITE_SLOGAN_NEW":"All You Can Watch","WEBSITE_SLOGAN_NEW_NEW":"Freedom to Stream","WEBSITE_WATCH_FROM":"Watch from","WEBSITE_DOWNLOAD":"Download Now","WEBSITE_DOWNLOAD_FOR":"Download Now For","WEBSITE_IS_DESKTOP":"Stremio is a desktop application, open this page on your PC and download it","WEBSITE_DESKTOP_DEMO_VID":"Desktop demo","WEBSITE_PAGE_HOME":"Home","WEBSITE_PAGE_FEATURES":"Features","WEBSITE_PAGE_ADDONS":"Addons","WEBSITE_PAGE_TECH":"Technology","WEBSITE_PAGE_CREATE_ADDON":"Create Addon","WEBSITE_PAGE_CONTACTS":"Contacts","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Movies","WEBSITE_TYPE_series_PL":"Series","WEBSITE_TYPE_tv":"Live TV","WEBSITE_TYPE_channel":"Channels","WEBSITE_STREMIO_WHAT_IS":"Stremio is an app that helps you organize and instantly watch your favorite videos, movies, TV series and TV channels.","WEBSITE_FEATURES_WATCH":"Watch Instantly in HD","WEBSITE_FEATURES_WATCH_DETAIL":"Click and play your favourite movies, TV Shows, videos and TV channels.","WEBSITE_FEATURES_SUBS":"Automatic Subtitles","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio automatically picks synced subtitles for your language.","WEBSITE_FEATURES_SUBS_LABEL":"Your move, chief.","WEBSITE_FEATURES_CAST":"Play on TV & mobile devices","WEBSITE_FEATURES_CAST_DETAIL":"Cast to AppleTV, Chromecast, Smart TV (DLNA/UPnP) and mobile devices.","WEBSITE_LIB":"Enjoy Your Personal Library Synced on All Your Devices","WEBSITE_LIB_COLLECT":"Collect from Stremio","WEBSITE_LIB_IMPORT":"Import from Facebook","WEBSITE_LIB_LOCAL":"Add from your local drive","WEBSITE_BOARD":"The Board - Your one-stop place for Notifications and Recommendations","WEBSITE_BOARD_RECOMMEND":"Recommended TV Show","WEBSITE_BOARD_TRENDING":"Trending Movie","WEBSITE_BOARD_NEW":"New Video","WEBSITE_BOARD_EPISODE":"New Episode","WEBSITE_BOARD_1":"Looking for something interesting to watch? Get recommendations based on your taste!","WEBSITE_BOARD_2":"Get notified when a new episode of your favourite TV show or YouTube channel is out!","WEBSITE_BOARD_YOUTUBE":"New videos of YouTube channels","WEBSITE_BOARD_EPISODES":"New episodes of series you follow","WEBSITE_ADDONS":"Content Addons","WEBSITE_TECH_DETAIL":"We love technology, we love mad science!\\nStremio is using the following open source technologies:","WEBSITE_TECH_WCJS":"WebChimera.js allows Stremio to play any video format with good performance.","WEBSITE_TECH_WCJS_EXTRA":"We are core project contributors","WEBSITE_TECH_ELECTRON":"Electron provides an innovative platform to build Stremio with.","WEBSITE_TECH_ELECTRON_EXTRA":"We are project contributors","WEBSITE_TECH_LINVODB":"A database technology that ensures your data is organized and available anywhere you login.","WEBSITE_TECH_LINVODB_EXTRA":"In-house technology","WEBSITE_CREATE_ADDON":"Create your addon","WEBSITE_CREATE_ADDON_DETAIL":"Do you have a service providing video content? We\'ll help you benefit from Stremio\'s features by creating your Addon.","WEBSITE_CREATE_ADDON_BENEFITS":"Benefits of Creating an Addon for Stremio","WEBSITE_P2P_BEAUTY":"The Beauty of Peer-to-Peer Streaming","WEBSITE_P2P_1":"Reliable and affordable full HD / 4K video on demand or live streaming","WEBSITE_P2P_2":"Distribution platform providing great user experience","WEBSITE_P2P_3":"We will create an addon meeting your exact needs","WEBSITE_P2P_CONTACT":"Interested? You are welcome to <a href=\'mailto:office@stremio.com\'>contact us</a>.","WEBSITE_P2P_CONTACT_EXTRA":"We will be happy to help you integrate your content with Stremio!","WEBSITE_P2P":"Once in a while, there comes a technology that changes the name of the game. We invested tons of time and effort in building our Peer-to-Peer (P2P) video streaming engine that provides great performance and versatility to adapt with any use case.\\nContact us for DRM-enabled P2P video on demand or live streaming.","WEBSITE_THOUGHTS":"Thoughts we share:","WEBSITE_SPREAD":"Spread the word about Stremio:","WEBSITE_CONTACT":"Contact us, we\'ll be happy to hear from you!","WEBSITE_OPENSOURCE":"For our open source projects, go to our","WEBSITE_BITCOIN":"Donate bitcoin:","WEBSITE_FAQ":"Frequently asked questions","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Questions","WEBSITE_TOS":"Terms of use","WEBSITE_LEGAL":"Legal","WEBSITE_PAGE_ABOUT":"About","WEBSITE_PAGE_BECOME_PARTNER":"Become a partner","WEBSITE_ALL_YOU_CAN_WATCH":"Freedom To Watch\\nEverything You Want.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"What is stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio is a one-stop hub for video content aggregation. Discover, organize and watch video from all kind of sources on any device that you own.","WEBSITE_WHAT_IS_STREMIO_P2":"Movies, TV shows, series, live television or web channels like YouTube and Twitch.tv - you can find all this on Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio is a modern media center that\'s a one-stop solution for your video entertainment. You discover, watch and organize video content from easy to install addons.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Movies, TV shows, live TV or web channels - find all this on Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Enjoy on all your Media devices","WEBSITE_DEVICES_COLLECT":"Collect from Stremio","WEBSITE_DEVICES_IMPORT_FB":"Import from facebook","WEBSITE_DEVICES_LOCAL":"Add from local drive","WEBSITE_JOIN_THE_PARTY_NOW":"Join the party now","WEBSITE_DEVICES_ALL":"Easy to use on all your devices;","WEBSITE_EXTENDABLE_CATALOG":"Infinitelly extendable video catalog;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Great features to organize your media;","WEBSITE_AS_SEEN_ON":"As seen on","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"About us","WEBSITE_LINK_TECHNOLOGY":"Technology","WEBSITE_LINK_APPS":"Apps","WEBSITE_LINK_DOWNLOADS":"Downloads","WEBSITE_MORE":"More","WEBSITE_LINK_ADDONS":"Addons","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Contribute","WEBSITE_LINK_COMMUNITY":"Community","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... & More","WEBSITE_LINK_HELP":"Help center","WEBSITE_LINK_CONTACTS":"Business inquiries","WEBSITE_LINK_TOS":"Terms & conditions","WEBSITE_LINK_PRAVACY":"Privacy policy","WEBSITE_SUBSCRIBE":"Subscribe","WEBSITE_NEWSLETTER":"Join Our Newsletter for amazing stuff","WEBSITE_PLACEHOLDER_EMAIL":"Your Email","WEBSITE_COMMUNITY":"Community","WEBSITE_LINK_PRAVACY_LEGAL":"Privacy & legal","WEBSITE_WHY":"Why we do it","WEBSITE_WHY_P1":"At Stremio, we come to work every day because we want to solve an important problem for the video-on-demand industry. There’s so much new content published every minute that it’s virtually impossible to find your way around it.","WEBSITE_WHY_P2":"We help people navigate that huge world of video entertainment and discover new content to enjoy. Our apps bring together movies, series, live TV, web channels, and more. We are dedicated to making it incredibly easy for users to find titles and broadcasters that they love.","WEBSITE_WHY_P3":"You can use our service on any device and at any time, making Stremio the only video entertainment hub you’ll ever need.","WEBSITE_TEAM":"TEAM","WEBSITE_TEAM_P":"The Stremio team is small but powerful: between the ten of us, we code in X languages, and share expertise in software development, UI and UX design, marketing and advertising, and business and startups.","WEBSITE_FEATURES":"Features","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Discover new content with ease","WEBSITE_FEATURES_DISCOVER_P":"Easily discover new movies, TV shows, series and channels to watch. Browse by category, genre, rating, recency, etc. or simply type a name to find. Stremio makes finding new video content a piece of cake.","WEBSITE_FEATURES_ALL_CONTENT":"All of your video content on one screen","WEBSITE_FEATURES_ALL_CONTENT_P1":"See what movies, series or videos you didn’t finish and continue watching them; get notified for new episodes and releases; and browse through the recommendations you will get based on your viewing habits.","WEBSITE_FEATURES_LIBRARY":"Organize your video library","WEBSITE_FEATURES_LIBRARY_P1":"Add any title to your Stremio library with a single click and find your way around your content, neatly arranged by type, recency, or alphabetical order.","WEBSITE_FEATURES_CALENDAR":"Keep track of everything you watch","WEBSITE_FEATURES_CALENDAR_P1":"Get a calendar visualization of all the movies and series you add to your library. Export your Stremio calendar and sync it so you always know when a new episode or a premier is due.","WEBSITE_FEATURES_BIG_SCREEN":"Enjoy your video content on a bigger screen","WEBSITE_FEATURES_BIG_SCREEN_P1":"Cast whatever you are watching to another device - be it a phone, tablet or a TV with a single click.","WEBSITE_FEATURES_SOURCES":"Watch video from many different sources","WEBSITE_FEATURES_SOURCES_P":"Install official and community addons to enjoy video sourced from many different providers - all in one sleek, easy to use app.","WEBSITE_CREATE_AN_ADDON":"Create an addon","WEBSITE_FEATURES_SYNC":"Sync your library across different devices and resume your playback","WEBSITE_FEATURES_SYNC_P1":"Login with your account across all your devices and enjoy your library, addons, playback and calendar synchronized.","WEBSITE_FEATURES_EXTENDABLE":"Extendable video catalog by addons","WEBSITE_FEATURES_EXTENDABLE_P1":"The Stremio addon catalog provides a number of addons to install and watch a variety of video content from. This includes movies, shows, live TV, sport, news, podcasts, web channels, video games and more.","WEBSITE_FEATURES_AUTO_SUBS":"Automatic subtitles","WEBSITE_FEATURES_AUTO_SUBS_P1":"With our subtitle addons you get automatically selected options for your preferred language.","WEBSITE_FEATURES_CHROMECAST":"Casting to Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Enjoy your video content on a bigger screen or just cast whatever you are watching to another device.","WEBSITE_FEATURES_KEEP_TRACK":"Keep track of your favorite TV shows and Web channels","WEBSITE_FEATURES_KEEP_TRACK_P1":"Get a calendar visualization and notifications for new episodes of your favorite series and web channels.","WEBSITE_FEATURES_POWER_USER":"Power user features","WEBSITE_FEATURES_POWER_USER_P1":"Play in external player","WEBSITE_FEATURES_POWER_USER_P2":"Play from a torrent file or magnet link","WEBSITE_FEATURES_POWER_USER_P3":"Import to your library from Facebook likes or local disk","WEBSITE_ADD_ONS":"Addons","WEBSITE_ADD_ONS_P1":"All of the video content Stremio provides get sourced through an addon system - no content or content provider has been built into the app.","WEBSITE_ADD_ONS_P2":"There are two groups of addons available: official and community addons.","WEBSITE_ADD_ONS_P3":"The official ones are developed and hosted by Stremio, whereas community addons are created by our community members, who also host them.","WEBSITE_ADDONS_OFFICIAL":"Official addons","WEBSITE_ADDONS_WATCHUB":"Stream your favourite movies, series and shows from providers like iTunes, Hulu, Amazon and other UK/US services.","WEBSITE_ADDONS_YOUTUBE":"Watch your favourite YouTube channels ad-free and get notifications for new uploads from the contributors you follow.","WEBSITE_ADDONS_FILMON":"Watch live TV, movies and social television for free. 600 TV channels, 45,000 free movies, documentaries and more.","WEBSITE_ADDONS_OPENSUBTITLES":"Movie and TV subtitles in multiple languages, thousands of translated subtitles uploaded every day.","WEBSITE_ADDONS_COMMUNITY":"Community addons","WEBSITE_ADDONS_FILMON_VOD":"Watch video on demand from Filmon.tv","WEBSITE_ADDONS_TWICH":"Watch live streams from Twitch.tv - a video streaming platform for the e-sports industry.","WEBSITE_ADDONS_VODO":"Watch indie movies absolutely free of charge.","WEBSITE_ADDONS_NETFLIX":"Watch Netflix movies and web series.","WEBSITE_ADDONS_CREATE":"Create an addon","WEBSITE_ADDONS_CREATE_P1":"If you wish, you can develop your own addon. This way, you can give yourself and our community access to new video content, and reach a new, targeted audience of millions of users around the world.","WEBSITE_ADDONS_START_CREATE":"To get started, visit the Stremio Addon SDK page:","WEBSITE_DOWNLOADS":"Downloads","WEBSITE_DOWNLOADS_P1":"For optimal performance, we recommend that you use the latest available version of the Stremio apps. If for some reason, however, you would like to use an older version, you can download it here.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio for Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio for macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio for Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio for Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio for iOS (limited version)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"The Stremio platform is open source and you can easily create an addon for content that is currently not sourced.","WEBSITE_CONTRIBUTE_WHY":"Why should you create an addon?","WEBSITE_CONTRIBUTE_WHY_P1":"Reach new audience for your video content","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio’s user base is growing rapidly - within the first year of the launch, Stremio had gained 1 million users around the world, and in the second year of the platform’s existence this number grew to 2.5 million.","WEBSITE_CONTRIBUTE_WHY_P3":"With your addon, you can easily reach this audience and distribute your video content to them.","WEBSITE_CONTRIBUTE_ALL":"Watch your favourite movies, videos, series and channels in one single place.","WEBSITE_CONTRIBUTE_ALL_P1":"You’re a fan of a particular type of content not available on Stremio yet? Create an addon for it and enjoy watching your favourite videos in one of the largest and easiest to use entertainment hubs on the market.","WEBSITE_CONTRIBUTE_ALL_P2":"On top of that, you’ll get the endless gratitude of other like-minded Stremio community members.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetize your addon and earn money with its help","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Once you develop a new addon for Stremio, you can easily monetize it through a number of different ways. If you are considering this, feel free to get in touch with us at ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - we would be happy to consult and advise you about addon monetization options.","WEBSITE_CONTRIBUTE_TRANSLATE":"Become a volunteer translator","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"If you want to enjoy the Stremio apps in different languages, you can join our community of volunteer translators. They help us add versions of the Stremio in many different languages.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Are you eager to get started?","WEBSITE_TRANSALTE_STREMIO":"Translate Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Official communities","WEBSITE_COMMUNITY_OFFICIALS_P1":"Become a part of the growing Stremio community. Follow us on social media and don’t be shy to say hello - we love hearing from our fans! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Unofficial communities","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partners and supporters","WEBSITE_COMMUNITY_GOODIES":"Stremio goodies","WEBSITE_COMMUNITY_WALLPAPERS":"Wallpapers","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"Contact us","WEBSITE_CONTACT_US_P1":"If you have any questions, comments or suggestions, feel free to get in touch with us through the contact form below.","WEBSITE_CONTACT_US_P2":"Keep in mind that we are located in Bulgaria so there may be a delay in addressing your query due to time zone differences.","WEBSITE_CONTACT_US_SUCCESS":"Your message has been sent. We will get back to you at our earliest convenience.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Please enter a valid email!","WEBSITE_CONTACT_US_Q_RELATED_TO":"What is your question related to?","WEBSITE_CONTACT_US_Q_OS":"What is your Operation System?","WEBSITE_CONTACT_US_PH_EMAIL":"Your E-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Message","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"SEND","WEBSITE_CONTACT_US_Q_1":"How to install?","WEBSITE_CONTACT_US_Q_2":"How to uninstall?","WEBSITE_CONTACT_US_Q_3":"(HTML) How to make lasagna?","WEBSITE_CONTACT_US_Q_4":"Addons","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Technology","WEBSITE_TECHNOLOGY_P1":"We love technology and mad science. </br> Here is what powers Stremio (it’s all open-source).","WEBSITE_TECHNOLOGY_P_QT":"Cross-platform software development at its best.","WEBSITE_TECHNOLOGY_P_MPV":"A free, open source, and cross-platform media player.","WEBSITE_TECHNOLOGY_P_RN":"React Native lets you build mobile apps using only JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework embedded into application to get multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm is a mobile platform and a replacement for SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js is an open-source, cross-platform, JavaScript runtime environment.","WEBSITE_TECHNOLOGY_P_RUST":"Rust is a multi-paradigm system programming language focused on safety, especially safe concurrency.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribute to the project","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"There are two ways you can contribute to Stremio and help us make the product even better.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"You can donate your valuable language skills by translating the platform...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"or","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... you can employ your coding skills for creating community addons. ","WEBSITE_TRANSLATE_STREMIO":"Translate Stremio","WEBSITE_404_OH_NO":"Uh-oh! The page you’re looking for is not here...","WEBSITE_GO_HOME":"Go home","WEBSITE_LINK_OTHER_DOWNLOADS":"Other downloads","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Support","WEBSITE_DOWNLOAD_4_0_BETA":"Download Stremio 4 beta Now","WEBSITE_GET_FOR_DESKTOP":"Get for desktop","WEBSITE_LINK_ADDON_COMPETITION":"Addon competition","WEBSITE_LINK_ART_CONTEST":"Art contest","WEBSITE_MY_ACCOUNT":"My account","WEBSITE_MAINPAGE_FAQ_001_H1":"What is Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio is a modern media center that gives you the freedom to watch everything you want.","WEBSITE_MAINPAGE_FAQ_002_H1":"How does it work?","WEBSITE_MAINPAGE_FAQ_002_P1":"Once you install Stremio on your device and create an account, all you have to do is to visit the addon catalog and install any addon you want, and you\'re good to go!","WEBSITE_MAINPAGE_FAQ_002_P2":"After that, you can go to the Discover or Board sections to start exploring content.","WEBSITE_MAINPAGE_FAQ_003_H1":"What can I watch here?","WEBSITE_MAINPAGE_FAQ_003_P1":"A lot: Movies, TV shows, Web channels, Sport, TV channels, listen to Podcasts and more. Thanks to our addon system, you can access a variety of content.","WEBSITE_MAINPAGE_FAQ_004_H1":"Is Stremio open-source?","WEBSITE_MAINPAGE_FAQ_004_P1":"Yes, you can check the following links: ${1}desktop app${2} and ${3}GitHub organization${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Is Stremio safe?","WEBSITE_MAINPAGE_FAQ_005_P1":"Yes: because it is open-source software, the code is publically auditable and you can review it yourself.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"How about my privacy?","WEBSITE_MAINPAGE_FAQ_006_P1":"We respect users\' privacy and do not collect any personal data besides the essential minimum to create and sync your account.","WEBSITE_MAINPAGE_FAQ_006_P2":"There is also a ${1}Guest mode${2} at signup, which requires no data whatsoever: in this mode, no calls are made to our backend. However, it comes at the expense of useful features, such as being able to sync your library across devices.","WEBSITE_MAINPAGE_FAQ_007_H1":"Can I cast to my TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Yes, we support Chromecast and you can cast both from desktop and mobile apps (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"How many addons does Stremio have?","WEBSITE_MAINPAGE_FAQ_008_P1":"As of late 2019, over 50 - for more information, check our addon catalog.","WEBSITE_MAINPAGE_FAQ_009_H1":"Can Stremio be extended beyond what\'s in the addon catalog?","WEBSITE_MAINPAGE_FAQ_009_P1":"Yes, you should check those: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"What devices does Stremio support?","WEBSITE_MAINPAGE_FAQ_010_P1":"We have desktop apps for Windows, Mac and Linux. For mobile, we support Android and iOS, although keep in mind that the iOS is limited in functionality (does not support most addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"There are many Android-based devices which you can run Stremio on, like NVIDIA Shield and Amazon Fire Stick, but we do not support them officially.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Can you add certain content to Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Sorry, we provide no content ourselves, but the more Stremio addons you have installed, the more content you will be able to find.","WEBSITE_MAINPAGE_FAQ_012_H1":"Can Stremio play magnet links?","WEBSITE_MAINPAGE_FAQ_012_P1":"Yes, and it can also play normal HTTP links and torrent files (drag and drop).","WEBSITE_MAINPAGE_FAQ_013_H1":"Can I download a video and watch offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Available offline is an upcoming feature, but if you allow Stremio to cache on your device (from the settings panel) you can watch the videos later without a connection.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nothing works, help me!","WEBSITE_MAINPAGE_FAQ_014_P1":"Are you sure you have installed addons? If yes, check with our ${1}help center${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"How does Stremio sustain it\'s development operations?","WEBSITE_MAINPAGE_FAQ_015_P1":"We run non-intrusive ads occasionally, but we\'re considering moving to a donation model.","WEBSITE_MAINPAGE_FAQ_015_P2":"For more questions, go to our ${1}help center${2}.","HELP_LEARN_MORE":"Help us learn more about you.","LIFESTYLE":"Lifestyle","SPORTS":"Sports","FOOD_HEALTH":"Food & health","BEAUTY_FASHION":"Beauty & Fashion","NEWS":"News","GAMING":"Gaming","SCIENCE_EDUCATION":"Science & education","MUSIC":"Music","TRAVEL":"Travel","LATE_NIGHT":"Late Night","REALITY":"Reality","COMEDY":"Comedy","DIY":"How to DIY","TECH":"Tech","CINEMA":"Cinema","CONTINUE":"Continue","SLOW_LOADING":"SLOW LOADING?","I_GIVE_UP":"I GIVE UP","LEARN_MORE":"Learn more","POOR_SOURCE":"This source is poorly available or your internet connection is not fast enough","PICK_CATEGORIES_ERR":"You have to pick at least 3 categories","ADJUST_TIMING":"Adjust timing with ","ADJUST_SIZE":"Adjust size with ","SEARCH_ANYTHING":"You Can Search Anything...","ALL_CATEGORIES":"All","SEARCH_CATEGORIES":"Movies, Series, YouTube & TV","SEARCH_PERSONS":"Actors, Directors & Writers","SEARCH_PROTOCOLS":"HTTP & Magnet Links","SEARCH_TYPES":"IMDB / TVDB links","WATCHED":"Watched","SHOW_LESS":"Show less","LAST_SEARCHES":"Last searches","CLEAR_HISTORY":"Clear history","CHOOSE_SOME":"CHOOSE SOME OF THIS:","NO_WEB_REMOTE":"Web Remote could not be loaded","STREMIO_OFFLINE":"Stremio is offline","STREMIO_EXPENSIVE_CONNECTION":"We\'ve detected that you are using a mobile data connection, do you want to continue?","USE_DATA":"Use data","WARNING":"Warning","MORE_INFO":"More Info ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Loading ...","STREMIO_TV_BACK_TO_LANGUAGES":"Back to languages","STREMIO_TV_REMOTE":"Remote","STREMIO_TV_GO_TO":"Go to:","STREMIO_TV_OR_SCAN":"or scan:","STREMIO_TV_ADDON_INSTRUCTIONS":"Please follow the instructions in order to install your preferred addons.","STREMIO_TV_LIVE_TV":"Live TV","STREMIO_TV_RESUME_WATCHING":"Resume Watching","STREMIO_TV_LOADING_BACKGROUND":"Loading Background","STREMIO_TV_CHECKING_AUTHENTICATION":"Checking Authentication","STREMIO_TV_LOADING_BOARD":"Loading Board","STREMIO_TV_LOGIN_HEADER_LINE_1":"We want our users to have the best possible personalized experience with our software.","STREMIO_TV_LOGIN_HEADER_LINE_2":"It is for this reason that we kindly ask you to make and/or login to your account.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Thank you for understanding,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"The Stremio Team","STREMIO_TV_REMOTE_INSTRUCTIONS":"In order to use the Web Remote with your Smartphone / Tablet / Desktop:","STREMIO_TV_WIFI_SETUP":"Wi-Fi Setup","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle did not detect a internet connection.","STREMIO_TV_WIFI_DETAILS_1":"Connect to:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Use password:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Open a web browser with the link:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Default","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"By Last Watched","STREMIO_TV_LIBRARY_SORT_NAME":"By Name","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"By Times Watched","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Season ${1}","STREMIO_TV_STREAMS_LOADING":"Loaded ${1} / ${2} addons...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} addon is still loading...","STREMIO_TV_PLAYER_SETTINGS":"Player settings","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Subtitles delay","STREMIO_TV_PLAYER_AUDIO_DELAY":"Audio delay","STREMIO_TV_PLAYER_VIDEO_SCALING":"Video scaling","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Unsupported stream source","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Failed opening external link","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Not adjustable in audio passthrough mode","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Play with ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Play with libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Switching to libVLC player due to a playback error","STREMIO_TV_ADDONS_TITLE":"Use Stremio on your Phone or PC to install or configure addons and press \\"Sync Addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Note: make sure you are using the same Stremio account","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sync Addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons successfully synchronized","STREMIO_TV_ADDONS_SYNC_FAILED":"Failed to synchronize addons","STREMIO_TV_META_LINK_FAILED":"Failed opening meta link","STREMIO_TV_CATALOG_LOADING":"Catalog still loading...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Interface language updated","STREMIO_TV_SETTINGS_THEME_UPDATED":"Theme updated","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Default Player","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"External Player","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferred Language","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Secondary Preferred Language","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possible playback issues on some devices","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Some video formats might not work","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"No caching","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Default","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Soft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Fast","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Fast","STREMIO_TV_SETTINGS_SERVER_URL":"Streaming server url","STREMIO_TV_SETTINGS_SERVER_VERSION":"Server version","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Unknown","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio version","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Edit server url","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Enter a streaming server url","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Show statistics while loading","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"To read Stremio\'s Privacy Policy, visit:","STREMIO_TV_SETTINGS_TOS_TEXT":"To read Stremio\'s Terms and Conditions, visit:","STREMIO_TV_NAV_SEARCH":"Search","STREMIO_TV_NAV_HOME":"Home","STREMIO_TV_NAV_DISCOVER":"Discover","STREMIO_TV_NAV_LIBRARY":"Library","STREMIO_TV_NAV_MOVIES":"Movies","STREMIO_TV_NAV_SERIES":"Series","STREMIO_TV_NAV_CHANNELS":"Channels","STREMIO_TV_NAV_TV":"Live TV","STREMIO_TV_NAV_SETTINGS":"Settings","STREMIO_TV_NAV_ADDONS":"Addons","STREMIO_TV_LOGIN_TITLE":"Link Account","STREMIO_TV_LOGIN_EXPIRES_IN":"Expires in","STREMIO_TV_LOGIN_STEP_ONE":"Scan QR Code above or go to","STREMIO_TV_LOGIN_STEP_TWO":"Log in to your Stremio account","STREMIO_TV_LOGIN_NEW_LINK":"Request a new link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Login code refreshed","STREMIO_TV_SEARCH_PLACEHOLDER":"Type something","STREMIO_TV_SEARCH_NO_ADDONS":"No addons were requested for catalogs!","STREMIO_TV_SEARCH_BUTTON":"Search","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Search History","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"You can search for Titles, Actors, Channels and more...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Clear Search History","STREMIO_TV_FILTERS_DESCRIPTION":"Choose from one of the filters below","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"Filters","SETTINGS":"Settings","ACCOUNT":"Account","LOGOUT":"Logout","THEMES":"Themes","PLAYBACK":"Playback","PLAYBACK_SPEED":"Playback Speed","AUDIO_TRACKS":"Audio Tracks","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Videos","SERVER":"Server","LINKS":"Links","ABOUT":"About","INTERFACE":"Interface","ANIMATIONS":"Animations","STATUS":"Status","LANGUAGE":"Language","SIZE":"Size","DELAY":"Delay","BOLD":"Bold","OPACITY":"Opacity","TEXT_COLOR":"Text Color","OUTLINE_COLOR":"Outline Color","BACKGROUND_COLOR":"Background Color","BACKGROUND_BLUR":"Background Blur","SEEK_TIME_DURATION":"Seek Time Duration","AUTO_PLAY":"Auto-Play Next Episode","PLAY_NOW":"Play Now","MARK_AS_WATCHED":"Mark as Watched","MARK_AS_UNWATCHED":"Mark as Unwatched","REWIND_TO_BEGINNING":"Rewind to Beginning","CONTINUE_WATCHING":"Continue Watching","ALL":"All","SECONDS":"seconds","ON":"ON","OFF":"OFF","RELOAD":"Reload","EDIT_URL":"Edit URL","NONE":"None","EMBEDDED":"Embedded","REMOTE_SWITCH_DEVICES":"Switch Devices","REMOTE_VIDEOS":"Videos","REMOTE_ADJUST_TIMING":"Adjust timing","REMOTE_ADJUST_SIZE":"Adjust size","REMOTE_COULD_NOT_BE_LOADED":"Web Remote could not be loaded","REMOTE_RETRY":"Retry","TORRENT_PROFILE_DEFAULT":"Default","TORRENT_PROFILE_SOFT":"Soft","TORRENT_PROFILE_FAST":"Fast","TORRENT_PROFILE_ULTRA_FAST":"Ultra Fast","FAQ_001_H1":"What is Stremio?","FAQ_001_P1":"Stremio is a media center software designed for video entertainment with ease of use in mind. Stremio allows you to organize &amp; watch your own collection of movies, series, channels and live TV.","FAQ_001_P2":"Stremio collect the content it shows you from your local disk and our addons system.","FAQ_001_P3":"It will also notify you when new episodes/videos/movies you\'re interested in come out, and provide movie recommendations for you.","FAQ_02_H1":"How does Stremio compare to Kodi and Plex?","FAQ_02_P1":"We are inspired by those two pieces of software. But we have different goals - Stremio is specifically targeted towards entertainment video, and strives to become the mainstream solution for that by being very easy to use.","FAQ_02_P2":"Stremio will never be as customizable and feature-rich as Kodi and Plex, but it is significantly easier to use. Just ${1} get it and see ${2} :)","FAQ_03_H1":"How does Stremio compare to Netflix?","FAQ_03_P1":"Again, Netflix is one of our inspirations. We strive to achieve the user experience of Netflix, plus a lot of added goodies. But most importantly, we\'re giving you the freedom to manage your own library and add new content sources with our addon system.","FAQ_03_P2":"That makes Stremio infinitely extendable, so when you use Stremio, you\'re never limited to the content Netflix decides to license. For example, through Stremio you can watch content from ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} and even ${9}Netflix${10} itself!","FAQ_04_H1":"How does Stremio compare to Flipboard?","FAQ_04_P1":"We don’t get that question that often, except when talking to start-up people :)","FAQ_04_P2":"Stremio is by design a content aggregator, which essentially makes it Flipboard for video. This is very apparent in our Board section, which gives you catalogues and new episode/new video notifications for what you follow, just like Flipboard.","FAQ_05_H1":"How does Stremio compare to Popcorn Time?","FAQ_05_P1":"Stremio and Popcorn Time are similar in user interface, because there aren’t many ways to do video entertainment catalogues right :)","FAQ_05_P2":"But while Popcorn Time is focused on streaming torrents from specific sources, Stremio is unrestricted and is merely a content aggregator - it’s not locked into a specific content source.","FAQ_05_P3":"Furthermore, we do not provide any torrent addons by default, so Stremio does not cover the Popcorn Time use-case with official functionality.","FAQ_05_P4":"Another notable difference is that Popcorn Time is completely open source, while Stremio is ${1} partially open source${2}.","FAQ_06_H1":"Will you add this movie/series?","FAQ_06_P1":"No, sorry :(","FAQ_06_P2":"As is mentioned in most of the other questions, Stremio does not provide any content by itself - everything is added through the addons system. In case you have a content request, you can use the “Report” button in the Player, which will send an email to the author of the addon you’re currently using.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Will you create addon for X?","FAQ_08_P1":"It\'s entirely possible.","FAQ_08_P2":"If you have an idea for an addon, drop us a line at ${1}office@stremio.com${2}, but please make sure your addon idea will not infringe on any copyrights or terms of use.","FAQ_08_P3":"At the moment, the next things on our roadmap are addons for FandangoNOW, Filmon.tv video on demand and Crunchyroll.","FAQ_09_H1":"Does Stremio use BitTorrent?","FAQ_09_P1":"Yes, Stremio supports BitTorrent as a streaming protocol. You can use that either with a torrent addon, or by drag-and-dropping a .torrent file into Stremio, or by pasting a magnet link into the Search Bar.","FAQ_09_P2":"Please note that the only official addon using BitTorrent is ${1}Vodo${2}, which provides indie content, all permitted to be distributed with BitTorrent.","FAQ_09_P3":"We do not support use of any third-party addons which may enable copyright infringement.","FAQ_10_H1":"What can I watch in Stremio with the official addons?","FAQ_10_P1":"By default, you can watch Filmon.tv, YouTube and Vodo content within Stremio itself, with it’s embedded player. Additionally, we have an addon for Twitch.tv and a few others.","FAQ_10_P2":"This combined provides a selection of:","FAQ_10_L1":"Popular TV channels, provided by Filmon.tv - for example E4, BBC, Bollyworld TV","FAQ_10_L2":"Everything from YouTube - for example BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indie movies with Vodo","FAQ_10_L4":"Online gaming broadcasts with Twitch.tv","FAQ_10_P3":"Additionally, there are many content sources provided with Guidebox and the Netflix addons, which <b>do not</b> play entirely inside Stremio, but would redirect to the given service. For example, the Guidebox addon would give you a selection of movies you can stream in the US for free, from services like TubiTV and Crackle.","FAQ_11_H1":"Stremio won\'t install, what should I do?","FAQ_11_P1":"If you\'re on Windows, try ${1}this alternative installer${2}.","FAQ_11_P2":"If you\'re on Mac OS X, please be aware that we don\'t support anything older than OS X Mavericks (10.9).","FAQ_11_P3":"If you\'re on Linux, be aware that we only support 64 bit (x64) Linux at the moment.","FAQ_11_P4":"If you still can\'t resolve your problem, please write us at our ${1}Facebook group${2}.","FAQ_12_H1":"Why does my anti-virus complain? Is Stremio safe?","FAQ_12_P1":"We assure you Stremio is ${1}100% clean${2}.","FAQ_12_P2":"Your antivirus is complaining because we include advertising in our installer, which some anti-virus programs recognize as ad-ware.","FAQ_12_P3":"If you\'re still unsure, you can try our ${1}alternative installer${2}.","FAQ_13_H1":"How can I make an addon?","FAQ_13_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_13_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_13_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_14_H1":"How are addons published?","FAQ_14_P1":"When you create an addon and host, and put a <b>endpoint</b> field in your manifest, which points to a working addon address, the addon will automatically publish itself to our ${1}Addon catalogue${2}.","FAQ_14_P2":"This happens because the server part of the stremio-addons module automatically makes a call to our API to announce the addon. When our API validates your <b>endpoint</b> as a valid addon, it will start showing in the catalogue.","FAQ_15_H1":"Can I run Stremio in my browser?","FAQ_15_P1":"Not at the moment, but this is coming!","FAQ_15_P2":"If you\'re curious to see an Alpha, you can see it here: ${1}alpha4.strem.io${2}. Keep in mind streaming is disabled on this alpha. We support Chrome, Firefox, Opera and Edge.","FAQ_16_H1":"Casting to TV doesn\'t work / subtitles don\'t work","FAQ_16_P1":"Casting to TV uses the DLNA technology which is very inconsistent between different TV brands and models. For that reason, we do not have the ability to test it in every case, so it\'s far from perfect. Despite this, we\'re working on improving it constantly but we cannot give you a time estimate on when DLNA will start working properly with your TV.","FAQ_16_P2":"If you don\'t even see your TV in the casting menu, please try disabling your network connection and re-enabling it (on Windows, right click the Network and use Enable/Disable), as well as restarting your router, TV and PC.","FAQ_16_P3":"If you are still encountering issues, you can help us by sending your TV brand and model information at ${1}office@stremio.com${2}.","FAQ_16_P4":"In the meantime, we recommend Chromecast, which we support very well, or simply plugging in your TV to your PC with an HDMI cable.","FAQ_17_H1":"Stremio freezes and/or crashes, what can I do?","FAQ_17_P1":"First of all, if you\'re using Windows 7 with AVG anti-virus: we have a problem with that combination. The problem is in AVG itself, and there\'s no reasonable way to resolve it on our end. Unfortunately, exceptions or disabling the anti-virus won\'t work. The only solution is to replace AVG with something else.","FAQ_17_P2":"If that\'s not the issue, but you\'re still using Windows, please update to the latest service pack and update/re-install your GPU drivers, then try again.","FAQ_17_P3":"If you\'re problem is still not resolved, or you\'re using a Mac or Linux, please write us reporting the exact details of the problem at ${1}our Facebook group${2}.","FAQ_18_H1":"How can I make an addon?","FAQ_18_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_18_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_18_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_19_H1":"Why is Stremio taking disk space?","FAQ_19_P1":"Stremio has a <b>local cache</b> to temporarily keep the video files you stream.","FAQ_19_P2":"This has two benefits: first, it allows Stremio to pre-buffer the video ahead so as to ensure smoother streaming. Second, it keeps the videos in the local cache so you can continue watching them offline.","FAQ_19_P3":"How much Stremio keeps depends on the <b>Cache</b> setting in the Settings panel. Stremio may keep up to the set amount (e.g. 2GB) on your disk, unless the currently streamed video is larger than that, in which case it has to allocate enough storage to keep it until you\'re streaming it.","FAQ_20_H1":"Where is the cache folder?","FAQ_20_P1":"On Windows, it\'s stremio-cache in the drive you picked in Settings (e.g. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"On MacOS, it\'s \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"On Linux, it\'s \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"I get \\"Streaming server is not found\\" error, what can I do?","FAQ_21_P1":"If you get this error, it means one of few things:","FAQ_21_P2":"1) You are trying to use an addon backed by YouTube/BitTorrent source, through our ${1}web version${2}. In this case, you should install our desktop version from ${3}our website${4}.","FAQ_21_P3":"2) Something is wrong with your Stremio installation. In this case, try re-installing our latest desktop version from ${1}the website${2}. If this does not help, try disabling anti-virus programs and firewalls, restarting your PC and trying again. If this does not work too, please write us at our ${3}our Facebook group${4}.","FAQ_22_H1":"I cannot see/use most addons on iOS","FAQ_22_P1":"Because of restrictions in the Apple App Store terms and conditions, we have restricted the iOS application only to a particular set of addons.","FAQ_22_P2":"But rest assured - there will be more addons for iOS in the future, and we may also add an integration that will allow you to use all Stremio addons thanks to connecting the iOS app to the Stremio Streaming Server."}')},53989:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Filmo","TYPE_series":"Serio","TYPE_tv":"Televida Kanalo","TYPE_channel":"Kanalo","TYPE_other":"Alia","TYPE_movie_PL":"Filmoj","TYPE_series_PL":"Serioj","TYPE_tv_PL":"Televidaj kanaloj","TYPE_channel_PL":"Kanaloj","TYPE_other_PL":"Aliaj","TYPE_ALL":"All","TYPE":"Type","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"Video","BACK":"Malantaŭen","MORE":"Pli","DONE":"Farite","COPY":"Kopii","SUCCESS":"Success","ERROR":"Error","SETTINGS_CASTING_MODE_PICKER":"Casting mode","CASTING_MODE_HLSV2":"Default","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"No transcoding","Discover":"Esplori","Board":"Tabulo","Library":"Biblioteko","My Library":"Mia biblioteko","Calendar":"Kalendaro","NOTIFICATION_ONLINE":"Nun vi estas enreta","NOTIFICATION_OFFLINE":"Nune vi estas eksterreta","INTERNET_CONNECTION":"Reta Konekto","STORAGE_FULL_TITLE":"Atentu: Via datumstoro estas plena!","STORAGE_FULL_TEXT":"Stremio ne kapablos savi viajn agordojn, preferojn aŭ ensalut-informacion. Konsideru re-ŝalti aŭ re-instali Stremio-n.","SEARCH":"serĉi","SEARCH_NO_RESULTS":"Neniuj rezultoj trovitaj","SEARCH_EXPLANATION_CONTENT":"Serĉi filmojn, seriojn, Youtube kaj TV-kanalojn","SEARCH_EXPLANATION_PEOPLE":"Serĉi aktorojn, reĝisorojn kaj verkistojn","SEARCH_PASTE_LINKS":"Algui HTTP kaj Magnetajn ligilojn","SEARCH_OR_PASTE_LINK":"Serĉi aŭ alglui ligilon","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"Aldoni al Biblioteko","REMOVE_FROM_LIB":"Forigi el Biblioteko","ADDED_TO_LIB":"Aldonite al via Biblioteko","REMOVED_FROM_LIB":"Forigita el via Biblioteko","TRAILER":"Film-anonco (trailer)","WATCH_TRAILER":"Spekti Film-anoncon","WATCH_NOW":"Spekti Nun","SHOW":"Spekti","SHOW_MOVIE":"Montri Filmon","WATCH_RANDOM":"Spekti ion hazarze","IMDB_RATING":"IMDb Poentaro","YEAR":"Jaro","DIRECTOR":"Reĝisoro","WRITER":"Verkisto","LEAD_ACTORS":"Ĉefaj geaktoroj","CAST":"Rolularo","CREW":"Crew","SHOW_MORE_CAST":"Montri pli »","AIRED":"Aerumita","SEASONS":"Sezonoj","GENRE":"Ĝenro","GENRE_ALL":"All genres","CATALOG":"Katalogo","SUMMARY":"Resumo","SHOW_MORE":"Montri pli","SIMILAR":"Simila","UPCOMING":"Venonta","ENDED":"Finiĝita","DURATION":"Daŭro","FEATURED":"Elstara","METADATA":"Metadatoj","CATEGORY":"Kategorio","LINKS_GENRES":"Ĝenroj","LINKS_CAST":"Aktoroj","LINKS_DIRECTORS":"Reĝisoroj","SEARCH_VIDEOS":"serĉi videojn","SEARCH_PLACEHOLDER":"Serĉi aŭ algui ligilon","ADDON":"aldonaĵo","ADDONS":"Aldonaĵoj","OFFICIAL":"oficiala","ADDONS_OFFICIAL":"Oficialaj Stremio-aj Aldonaĵoj","ADDONS_POPULAR":"Populara ĉe via regiono","ADDON_FREE":"senpaga","ADDON_PEERED":"peered","ADDON_SUBSCRIPTION":"Abono","ADDON_STREAM_GEORESTRICTED":"Ne disponebla ĉe via regiono","ADDON_STREAM_OFFLINECACHE":"Eksterreta Kaŝmemoro","ADDON_STREAM_LOCALFILE":"loka dosiero","SHARE_ADDON":"Konigi Aldonaĵon","AVAILABLE_STREAMS":"Disponeblaj elsendfluoj","NO_STREAM":"Neniu elsendfluo estis trovita","ALL_ADDONS":"All","INSTALL_MORE_ADDONS":"Por trovi pli elsendfluojn, bonvolu instalu pli aldonaĵojn","STREAM_NOT_SUPPORTED":"La elektita elsendfluo ne estas suportata en ĉi plataformo.","ADDON_CATALOGUE":"Montri ĉiujn aldonaĵojn »","ADDON_CATALOGUE_MORE":"Instali aldonaĵojn","REPO_ADDED":"Deponejo aldonita","ADDON_REPO_EXIST_ERR":"Ĉi tiu aldonaĵa kolekto jam ekzistas","ADDON_REPO_ERR":"Eraro okazis dum aldonado de kolekto","ADDON_ADD_ERR":"Eraro okazis dum aldonado de aldonaĵo","ERR_ADDON_PROTECTED":"Oni ne povas malinstali la aldonaĵon, ĝi estas protektita","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Io misfunkciis - aŭtentikigo eble malsukcesis","ERR_NOT_COLLECTION_URL":"Ĉi tiu ne estas URL por kolekto ","ERR_NOT_ADDON_URL":"Ĉi tiu ne estas valida URL por aldonaĵo","ERR_DETECTFROMURL":"Oni ne povas trovi aldonaĵon/kolekton el ĉi tiu URL","ADDON_DUPLICATE_WARNING":"Atentu: duobligita aldonaĵo","ADDON_COLLECTION_SET_FAILED":"Sinkronigado de instalitaj aldonaĵoj al via konto malsukcesis","SETTINGS_DATA_EXPORT":"Eksportu uzantajn datumojn","ADDON_PULL_FAILED":"Sinkronigado de instalitaj aldonaĵoj el via konto malsukcesis","REFRESH_ON_CLICK":"Alklaku por reprovi","STILL_IN_THEATER":"Filmo ankoraŭ en kinejoj","WATCH_IN_CINEMA":"Spektu ĝin ĉe via loka kinejo","IN_THEATER":"Ĉe kinejo","GET_TICKETS":"Aĉeti boletojn","UPCOMING_EPISODE":"Venonta Epizodo","UPCOMING_EPISODE_MESSAGE":"Ĉi tiu epizodo estos elsendita","MISSING_DATE_EPISODE":"Dato de epizodo mankas","MISSING_DATE_EPISODE_MESSAGE":"Eble ĉi tiu epizodo ne elsendiĝis ankoraŭ","CHANNEL_NOT_SCRAPED":"Ĉi tiu kanalo ankoraŭ ne estis akirita.<br>Bonvolu reveni post kelkaj minutoj.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Aldonu ĝin al via biblioteko por ricevi sciigon kiam ĝi estos disponebla.","GET_NOTIFIED_WHEN_AVAILABLE":"Vi estos sciigita kiam ĝi estos disponebla.","WARNING_STREAMING_SERVER":"Atentu: loka elsendfluservilo ne estis trovita. Elsendfluado el lokaj dosieroj, Youtube kaj BitTorrent ne estos disponeblaj.","WARNING_STREAMING_SERVER_DISMISS":"Dismiss","WARNING_STREAMING_SERVER_LATER":"Later","DECODER_WARNING":"Atentu: ĉi tiu video eble ne estas subtenita de via aparataro (hardware). Sciu, ke la ludado povas esti malrapida.","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"Ho ve, ludila eraro!","PLAYER_ERROR_LOOKSLIKE":"Ŝajnas ke","PLAYER_ORIENTATION":"Orientiĝo de la ludilo","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Ŝlosita","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensilo","PLAYER_ORIENTATION_LANDSCAPE":"Orientiĝo de la ludilo ŝlosita kiel pejzaĝa reĝimo","PLAYER_ORIENTATION_SENSOR":"Aŭtomata orientiĝo de la ludilo (per sensilo)","PLAYER_PLAYBACK_SPEED":"Rapideco","PLAYER_PLAYBACK_ERROR":"Ludila eraro, bonvolu reprovi","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Nekonata eraro","PLAYER_PLAYBACK_ERROR_DEFAULT":"Pardonon! Ĉi tiu video ne povas esti ludita per {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Subtitles Languages","PLAYER_SUBTITLES_VARIANTS":"Subtitles Variants","PLAYER_SUBTITLES_SETTINGS":"Subtitles Settings","PLAYER_SUBTITLES_DISABLED":"Subtitles are disabled","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Vertical Position","PLAYER_SUBTITLES_LOADED":"Subtitles loaded","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Embedded subtitles loaded","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Exclusive subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Subtitles from {{origin}} loaded","PLAYER_PLAY":"Play","PLAYER_PAUSE":"Pause","PLAYER_NEXT_VIDEO":"Next Video","PLAYER_MUTE":"Mute","PLAYER_UNMUTE":"Unmute","PLAYER_OPEN_IN_EXTERNAL":"Open in external player","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Play in {{device}}","PLAYER_LIVE":"Live","PLAYER_NEXT_VIDEO_TITLE":"Sekvos","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Forĵeti","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Spekti nun","PLAYER_COPY_STREAM_SUCCESS":"Stream link was copied to your clipboard","PLAYER_COPY_STREAM_ERROR":"Failed to copy stream link","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","STREAMING_FROM":"elsendado el","CASTING_TO":"Elsendante al","NETWORK_STATUS":"Reta stato","STREAM_SPEED":"Elsendada rapideco:","STREAM_BUFFERED":"Buffered:","PEERS_INFO":"Peers Information","PEERS_ACTIVE":"Active:","PEERS_CONNECTED":"Connected:","PEERS_WAITING":"Atendante:","TRANSCODING_WARNING":"Atentu: transcoding video.","STREAM_LOADING":"ŝargante...","PLAYING_LOCAL":"ludante el loka dosiero","PLAYING_CACHE":"ludante el kaŝmemoro","WRONG_SUBS":"Ĉu malĝustaj subtekstoj?","ERR_SUBS_LOADING_TITLE":"Eraro dum ŝarĝo de subtekstoj","ERR_SUBS_LOADING":"Failed loading subtitles: this could be an issue with the addon you are using, or with your network connection","WARN_FOLLOWING_SUB_ADDONS_FAILED":"The following subtitle addons failed","ERR_CASTING_UPDATE_TITLE":"Could not update casting device info: streaming server might be offline","CHOOSE_DEVICE":"Elektu aparaton per kiun spekti","NO_CAST_DEVICES":"Ne disponeblas aparatoj por elsendi.","NO_SETTINGS":"Agordoj ne disponeblas.","PHONE_TABLET":"Phone / Tablet","SUBTITLES":"Subtekstoj","SUBTITLES_CHANGE":"Ŝangi subtekstoj por ","SUBTITLES_CHANGE_NONE":"Subtitloj por ĉi lingvo ne disponeblas, pardonon.","SUBTITLES_CHANGE_ACIVE":"Currently subtitles &#35;{{subtitlesDialog.activeIdx + 1}} are activated. Click \\"Continue\\" to activate subtitles &#35;{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Alternative,","SUBTITLES_ADJUST_DELAY":"Sinkronigi subtekstoj:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Aŭ uzu <span>G</span> / <span>H</span> klavojn dum ludado por sinkronigi.","SUBTITLES_ADJUST_DELAY_TIP":"KONSILO: vi povas uzi <span>G</span> / <span>H</span> klavojn dum ludado por sinkronigi.","SUBTITLES_DELAY":"Subtekstoj sinkronado:","SUBTITLES_LOADING":"Ŝarĝante subtekstoj...","SUBTITLES_UNAVAILABLE":"Eksteraj subtekstoj ne disponeblas","SUBTITLES_DISABLED":"Malebligita","EXTERNAL_PLAYER_DISABLED":"Disabled","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Allow Choosing","EXTERNAL_PLAYER_HINT":"Hint: There is a setting to allow always opening with external player","DONT_SHOW_AGAIN":"Don\'t show again","SERVICE_INSTALL":"Install","AUDIO":"Audio","DEFAULT_LANGUAGE":"Default Language","DEFAULT_SECONDARY_LANGUAGE":"Default Secondary Language","SEASON":"Sezono","EPISODE":"Episodo","EPISODE_ABBREVIATION":"EP","SPECIAL":"Special","SORT":"ordigi","SORT_BY":"Ordigi laŭ ","FILTER":"filtri","SORT_TRENDING":"tendenca","SORT_RECENT":"lastatempa","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"poentaro","SORT_WATCHED":"spektita","SORT_YEAR":"jaro","SELECT_TYPE":"Select type","SELECT_SORT":"Select sort","SELECT_CATALOG":"Select catalog","SELECT_GENRE":"Select genre","SORT_LASTWATCHED":"By last watched","SORT_NAME":"By name","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"By times watched","SORT_NOTWATCHED":"not watched","New for You":"Nova por vi","New Episodes":"Novaj Epizodoj","New Videos":"Novaj Videoj","Recommendations":"Rekomendoj","LIBRARY_RESUME":"Daŭrigi","LIBRARY_PLAY":"Play","LIBRARY_DETAILS":"Detaloj","LIBRARY_RESUME_DISMISS":"Forĵeti","LIBRARY_CLEAR_PROGRESS":"Clear Progress","LIBRARY_REMOVE":"Remove","LIBRARY_NOT_LOGGED_IN":"Library is only available for logged in users","CALENDAR_NOT_LOGGED_IN":"Calendar is only available for logged in users","NOT_LOGGED_IN_CLOUD":"Access your favorite movies and TV shows anytime, anywhere","NOT_LOGGED_IN_RECOMMENDATIONS":"Recommendations tailored to your viewing history","NOT_LOGGED_IN_NOTIFICATIONS":"Never miss an episode again","NOT_LOGGED_IN_CALENDAR":"Schedule your personal watching calendar","DISCOVER_FEATURED":"Featured","DISCOVER_TOP":"Top","DISCOVER_OSCAR":"Oskar-premiitoj","DISCOVER_WARNING_TITLE":"Ho ve!","DISCOVER_EMPTY_CATALOG":"Ĉi tiu aldonaĵo resendas malplenan enhavon.","DISCOVER_ADULT_WARNING":"La enhavo estas videbla nur por plenkreskuloj. Ĉu vi estas +18-aĝa?","DISCOVER_NOADDON_WARNING":"Atentu: no Stremio addon active for this type. Showing saved items, nothing here will update.","DISCOVER_LOAD_ERR":"La enhavo ne ŝargis, eraro okazis.","DISCOVER_ADDON_UNINSTALLED":"Ĉi tiu enhavo ne plu disponeblas, vi eble malinstalis la aldonaĵon.","UNINSTALL_THIS_ADDON":"Malinstali ĉi tiun aldonaĵon","ERR_ADDON_NOT_INSTALLED":"Ĉi tiu aldonaĵo ne estas instalita. Instali nun?","DETAIL_RECEIVE_NOTIF_SERIES":"Ricevi sciigoj de novaj epizodoj Receive notifications for new episodes","DETAIL_RECEIVE_NOTIF_VIDEOS":"Ricevi sciigoj de novaj videoj","SIDEBAR_SHOW_STREAMS":"Montri elsendojn","RELAUNCH":"Remalfermi nun!","UPGRADE":"Nova versio estas disponebla! Ĝisdatigu Stremio-n a la lasta versio!","RELOAD_UI":"Reŝargi la uzantan interfacon","MANUAL_UPDATE_TITLE":"Ĝisdatigu vian Stremio version","MANUAL_UPDATE_LINE1":"Vi estas uzante malĝisdatiga version de Stremio, kion tute ne estas rekomendita.","MANUAL_UPDATE_LINE2":"Bonvolu ĝisdatigi kiel eble plej baldaŭ.","BUTTON_UPDATE_LATTER":"Ne nun","BUTTON_UPDATE_NOW":"Ĝisdatigi","ANONYMOUS_USER":"Anonima uzanto","DONT_HAVE_ACC":"Ĉu vi ankoraŭ ne havas konton?","HAVE_ACC":"Ĉu vi jam havas konton?","PASSWORD":"Pasvorto","PASSWORD_CONFIRM":"Konfirmu pasvorton","EMAIL":"Retpoŝto","FB_LOGIN":"Daŭri per Facebook","FB_NOTHINGSHARED":"Nenio estas disdonita sen via permeso","FB_NOPOST":"Ni ne afiŝos nenion en via nomo","OR":"aŭ","I_ACCEPT":"Mi akceptas la","I_ACCEPT_BY_CLICKING":"Alklakante la supran butonon mi atestas, ke mi akceptas la ","TOS":"Uzkondiĉoj","MUST_ACCEPT_TERMS":"Vi devas akcepti la uzkondiĉojn","PASSWORDS_NOMATCH":"Pasvortoj ne koincidas","SIGN_UP":"Registriĝi","SIGN_UP_EMAIL":"Registriĝi per retpoŝto","CLICK_TO_SIGN_UP":"Klaku ĉi por ensaluti.","LOG_IN":"Ensaluti","LOG_OUT":"Elsaluti","EXIT_FULLSCREEN":"Malplenekranigi","ENTER_FULLSCREEN":"Plenekranigi","PLAY_URL_MAGNET_LINK":"Ludi URL/Magneta ligilon","HELP_FEEDBACK":"Helpo kaj sugestoj","TERMS_OF_SERVICE":"Serv-kondiĉoj","PRIVACY_POLICY":"Privacy Policy","ABOUT_STREMIO":"Pri Stremio","USER_PANEL":"Uzantaj agordoj","LOGIN_LABEL":"Login","GUEST_LOGIN":"Ensaluti kiel gasto","GUEST_LOGIN_NOTICE":"Gasta ensaluto ne estas rekomendita. Uzado de regula ensaluto permesas al Stremio sinkronigi vian Bibliotekon, ricevi sciigojn pri viaj plej ŝatataj serioj/kanaloj. Ĉu vi certas, ke vi volas daŭrigi?","GUEST_LOGIN_NOTICE_2":"Gasta ensaluto ne estas rekomendita - vi ne havos sinkronigitajn sciigojn de Biblioteko kaj Estraro, kiuj estas esencaj funkcioj de Stremio. Ĉu vi certas, ke vi volas daŭrigi?","CLICK_HERE":"klaku ĉi-tie","WRONG_PASSWORD":"Erara retpoŝtadreso aŭ pasvorto. Se vi forgesis vian pasvorton, ","SET_A_PASS":"defini pasvorton","RESET_PASSWORD":"Restarigi pasvorton","FORGOT_PASSWORD":"Ĉu vi forgesis vian pasvorton?","EMAIL_USED_WITH_FB":"Ĉi tiu retpoŝtadreso jam estis uzata kun Facebook-ensaluto.","INVALID_EMAIL":"Bonvolu entajpi validan retpoŝtadreson","INVALID_PASSWORD":"Bonvolu entajpi validan pasvorton","CONN_ERR":"Eraro de konekto - Bonvolu reprovi poste.\\n\\nSe ĉi tiu eraro daŭras, malŝaltu fajroŝirmilojn/kontraŭvirusajn programojn (precipe Bitdefender).","IMPORT_FROM_GUEST":"Importu Bibliotekon el via gasta konto","RECEIVE_UPDATES_EMAIL":"Ricevu ĝisdatigojn al via retpoŝto de Stremio","LOGIN_FAILED":"Ensaluto malsukcesis.","SIGNUP_FAILED":"Aliĝo malsukcesis.","SEARCH_FAILED":"Serĉo malsukcesis","EMAIL_USED":"Ĉi tiu retpoŝtadreso jam estas uzata.","WAITING_FB_LOGIN":"Ensaluto per Facebook...","EXTERNAL_PLAYER_TITLE":"Ludi per ekstera ludilo","EXTERNAL_REMEMBER_PLAYER":"Ĉu vi volas memori vian selekton","EXTERNAL_ALWAYS_PLAY":"Jes","EXTERNAL_ONLY_ONCE":"Ne","BEST_FIT":"Best Fit","FIT_SCREEN":"Fit Screen","FILL":"Fill","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"Diru al ni pri tio, kion vi ŝatas","INTRO_TASTE_LONG":"Diru al ni pri tio, kion vi ŝatus spekti","INTRO_TASTE_PICK":"Pick {{interestsRemaining}} interests","INTRO_TASTE_PICK_MORE":"Pick {{interestsRemaining}} more interests","INTRO_TASTE_HELP_US":"Helpu nin lerni pli pri vi.","INTRO_TASTE_CHOOSE_THESE":"Elektu kelkajn el ĉi tiuj:","INTRO_TASTE_CHOOSE_MIN":"Elektu almenaŭ 3 kategoriojn","INTRO_TASTE_CHOOSE_MIN_ERR":"Vi devas elekti almenaŭ 3 kategoriojn!","INTRO_TASTE_LIFESTYLE":"Lifestyle","INTRO_TASTE_SPORTS":"Sportoj","INTRO_TASTE_FOOD_HEALTH":"Food & Health","INTRO_TASTE_BEAUTY_FASHION":"Beauty & Fashion","INTRO_TASTE_NEWS":"Novaĵoj","INTRO_TASTE_GAMING":"Gaming","INTRO_TASTE_SCIENCE_EDU":"Scienco kaj Edukado","INTRO_TASTE_MUSIC":"Musiko","INTRO_TASTE_TRAVEL":"Travel","INTRO_TASTE_LATE_NIGHT":"Late Night Show","INTRO_TASTE_REALITY":"Reality","INTRO_TASTE_COMEDY":"Komedio","INTRO_TASTE_DIY":"How to DIY","INTRO_TASTE_TECH":"Tech","INTRO_TASTE_CINEMA":"Cinema","ADDON_NOT_SUPPORTED":"Selektita aldonaĵo ne estas subtenata por ĉi tiu platformo.","ADDON_DISCLAIMER":"Using third-party addons will always be subject to your responsibility and the governing law of the jurisdiction you are located.","ADDON_ACTIVATE":"Ĉu aktivigi ĉi tiun aldonaĵon?","ADDON_REPO_ADD":"Addon collection URL","ADDON_ADD":"Add","INSTALL_ADDON":"Install addon","ADD_ADDON":"Add addon","ADD_ADDON_DESCRIPTION":"You can add an addon via an external link, which will appear under Installed addons.","PASTE_ADDON_URL":"Paste addon URL","WHATS_NEW":"Kio estas nova?","BUTTON_CONTINUE":"Continue","BUTTON_ACTIVATE":"Activate","BUTTON_ACTIVATED":"Activated","BUTTON_CANCEL":"Cancel","BUTTON_SUBMIT":"Submit","BUTTON_DISMISS_ALL":"Forĵeti ĉion","BUTTON_VIEW_ALL":"vidi ĉiujn","BUTTON_SEE_ALL":"Vidi ĉiujn","BUTTON_COLOR_TRANSPARENT":"Transparent","OPEN_IN_BROWSER":"Open in browser","LIB_EMPTY":"Your library looks empty. Find out how useful it is :) ","HOW_START":"Here is how you can start:","LIB_EMPTY_CAL":"Your Calendar shows series in your Library.","HOW_START_CAL":"Here is how you can add series:","LIB_EMPTY_BOARD":"Board shows notifications &amp; recommendations related to your Library.","HOW_START_BOARD_WAIT":"Please, add a few series or channels to your Library give us a few minutes to process :)","HOW_START_BOARD":"Here is how you can add series &amp; movies to it:","IMPORT_FB":"Import things you like from <span>Facebook</span>","IMPORT_TRAKT":"Import your media library from <span>Trakt</span>","IMPORT_DISCOVER":"Find interesting stuff from <span>Discover</span>","IMPORT_DISK":"Importu filmojn aŭ spektaklojn kiujn vi havas ĉe via <span>loka disko</span>","PLEASE_CREATE_ACC":"Please <u>create an account</u> to enable Library sync &amp; Board.","IMPORT_DISCOVER_SIGNUP":"Sign up and find interesting stuff from <span>Discover</span>","IMPORT_DISK_SIGNUP":"Sign up and import movies or shows you have on your <span>local disk</span>","LIB_EMPTY_CLOUD":"Cloud library","LIB_EMPTY_CLOUD_DESC":"Personal cloud library synced on all devices","LIB_EMPTY_EARLY":"Early bird","LIB_EMPTY_EARLY_DESC":"Receive notifications for new episodes","LIB_EMPTY_PERSONAL":"Personal","LIB_EMPTY_PERSONAL_DESC":"Get personal recommendations","LIB_EMPTY_CALENDAR_DESC":"Schedule your personal watching calendar","LIB_EMPTY_ALL":"Sign up to get all of these:","LIB_EMPTY_BEST":"Sign up to get best of Stremio","LIB_EMPTY_OTHER":"Sign up to enable Calendar & other cool features","CALENDAR_ADDED":"The Stremio calendar has been added to your default desktop calendar.","CALENDAR_ADDED_MSG":"If this does not work, please add this URL to your calendar application manually","TRAKT_EXPIRED":"Trakt authentication expired, please go to Settings and re-authenticate","TRAKT_REQUIRES_LOGIN":"Trakt error","TRAKT_REQUIRES_LOGIN_MSG":"You need to login","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","SETTINGS_LABEL":"Agordoj","SETTINGS_NAV_GENERAL":"General","SETTINGS_NAV_PLAYER":"Ludilo","SETTINGS_NAV_STREAMING":"Streaming","SETTINGS_NAV_SHORTCUTS":"Shortcuts","SETTINGS_SHORTCUT_RELOAD_APP":"Reload App","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Open Settings","SETTINGS_SHORTCUT_SWITCH_TABS":"Switch Tabs","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Cycle Through Tabs Forward","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Cycle Through Tabs Backward","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigate Between Menus","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Go to Search","SETTINGS_SHORTCUT_EXIT_BACK":"Exit / Go Back","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Toggle Playback Speed Menu","SETTINGS_SHORTCUT_MENU_VIDEOS":"Toggle Videos Menu","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Toggle Subtitles Menu","SETTINGS_SHORTCUT_MENU_INFO":"Toggle Info Menu","SETTINGS_SHORTCUT_FULLSCREEN":"Toggle Fullscreen","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Show Controls","SETTINGS_SHORTCUT_PLAY_PAUSE":"Play / Pause","SETTINGS_SHORTCUT_VOLUME_UP":"Volume Up","SETTINGS_SHORTCUT_VOLUME_DOWN":"Volume Down","SETTINGS_SHORTCUT_SEEK_NEXT":"Seek Next","SETTINGS_SHORTCUT_SEEK_PREV":"Seek Prev","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Seek Backward","SETTINGS_SHORTCUT_SEEK_FORWARD":"Seek Forward","SETTINGS_SHORTCUT_PLAY_NEXT":"Play Next","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Increase Subtitles Size","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Decrease Subtitles Size","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Increase Subtitles Delay","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Decrease Subtitles Delay","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Toggle Sidebar","SETTINGS_SHORTCUT_OR":"or","SETTINGS_SHORTCUT_TO":"to","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Authenticate","SETTINGS_FACEBOOK_IMPORT":"Import","SETTINGS_CALENDAR_SUBSCRIBE":"Subscribe","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Interface Language","SETTINGS_LAUNCH_STARTUP":"Launch on start-up","SETTINGS_VLC_DEFAULT":"Malfermi per VLC","SETTINGS_UI_LANGUAGE":"Interfaca Lingvo","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Escape key exit full screen","SETTINGS_GAMEPAD":"Enable gamepad support","SETTINGS_CLOSE_WINDOW":"Close app when window is closed","SETTINGS_SUBTITLES_LANGUAGE":"Default Subtitles Language","SETTINGS_SUBTITLES_SIZE":"Default Subtitles Size","SETTINGS_SUBTITLES_BACKGROUND":"Subtitles background","SETTINGS_SUBTITLES_COLOR":"Subtitles color","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Subtitles outline color","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Subtitles background color","SETTINGS_SEEK_KEY":"Arrow keys seek time","SETTINGS_SEEK_KEY_SHIFT":"Arrow keys seek time when Shift key is held","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Rewind & Fast-forward duration","SETTINGS_BINGE":"Auto-play next episode","SETTINGS_NEXT_VIDEO":"Show notification to start next episode","SETTINGS_NEXT_VIDEO_TRIGGER":"Show next episode notification for:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Next video popup duration","SETTINGS_PLAY_IN_BACKGROUND":"Play in background","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Play in external player","SETTINGS_RESIZE":"Auto-resize window before playing","SETTINGS_OVERRIDE_SERVER":"Override the streaming server URL (advanced)","SETTINGS_SERVER_URL":"Streaming server URL: ","SETTINGS_SERVER_AVAILABLE":"Streaming server is available.","SETTINGS_SERVER_UNAVAILABLE":"Streaming server is not available.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Error","SETTINGS_SERVER_CONFIGURE_TITLE":"Configure streaming server url","SETTINGS_SERVER_CONFIGURE_INPUT":"Enter a streaming server url","SETTINGS_SERVER_CACHE_SIZE":"Cache size","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent profile","SETTINGS_HTTPS_ENDPOINT":"Streaming HTTPS endpoint: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Always use latest Beta","SETTINGS_IMPORT_FB":"Importi el Facebook","SETTINGS_IMPORT_DISK":"Importi el loka disko","SETTINGS_IMPORT_TRAKT":"Import from Trakt","SETTINGS_PAUSE_MINIMIZED":"Pause playback when minimized","SETTINGS_HWDEC":"Hardware-accelerated decoding","SETTINGS_BACKGROUND":"Background playback","SETTINGS_SUBSCRIBE_CALENDAR":"Subscribe to calendar","SETTINGS_REQ_EXPORT":"Request data export","SETTINGS_ACC_DELETE":"Peti forigon de konto","SETTINGS_CHANGE_PASSWORD":"Ŝangi pasvorton","SETTINGS_TOS":"Terms of service","SETTINGS_SUPPORT":"Kontaktu subtenon","SETTING_LANGUAGE":"Lingvo","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_LOGOUT":"Log out of Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Log Out of Trakt","SETTINGS_SCAN_FOR_REMOTE":"Scan QR code to open remote","SETTINGS_DESKTOP_NOTIFICATIONS":"Desktop notifications","SETTINGS_DATA_SAVER":"Data saver","SETTINGS_LANGUAGE_INTERFACE":"interface","SETTINGS_LANGUAGE_SUBS":"default subtitles","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Autoselect Audio Track","SETTINGS_DEFAULT_AUDIO_TRACK":"Default Audio Track","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"account","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"versio","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"Launch player in a separate window (advanced)","SETTINGS_PLAY_IN_EXTERNAL":"Always start video in external player","SETTINGS_STORAGE_BUTTON":"Clear Local Storage","SETTINGS_STORAGE_MODAL_TITLE":"Are you sure ?","SETTINGS_STORAGE_MODAL_MESSAGE":"This will clear the local storage and log you out.","SETTINGS_HWDEC_PICKER":"Pick hardware-accelerated decoding setting","SETTINGS_HW_AUTOMATIC":"Automatic","SETTINGS_HW_DISABLED":"Disabled","SETTINGS_HW_ACCELERATED":"Decoding acceleration","SETTINGS_HW_FULL":"Full acceleration","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Subtitles","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Controls","SETTINGS_SECTION_AUTO_PLAY":"Auto-Play","SETTINGS_SECTION_ADVANCED":"Advanced","SUBSPICKER_AUDIO":"Audio","SUBSPICKER_SUBTITLES":"Addons Subtitles","SUBSPICKER_BLACK_BACKGROUND":"Use black background color","SUBSPICKER_VERTICAL_OFFSET":"Vertical Offset","SUBSPICKER_SIZE":"Size","SUBSPICKER_DELAY":"Delay","SUBSPICKER_EMBEDDED_SUBS":"Embedded Subtitles","MOBILE_PRIVACY_POLICY":"Privacy Policy","MOBILE_CRASH_REPORTING":"Crash Reporting","MOBILE_ZOOM_TO_FILL":"Zoom To Fill Screen","MOBILE_PASSTHROUGH":"Digital audio output (passthrough)","MOBILE_RUN_LOW_BATTERY":"Run on low battery","MOBILE_RUN_FOREGROUND":"Run as Foreground Service","MOBILE_PERFORMANCE":"PERFORMANCE & STABILITY","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"QR Code expires in ","MOBILE_LOG_INTO":"Log in to your Stremio account ","MOBILE_SCAN_QR":"Scan QR code above or go to ","MOBILE_LINK_ACCOUNT":"Link Account","MOBILE_SPEEDPICKER_CANCEL":"Cancel","MOBILE_SPEEDPICKER_LABEL":"Select Playback Speed","MOBILE_EMPTY_LIBRARY":"Your library is empty","MOBILE_NO_ADDON_ACTIVE":"No Stremio addon active for this type.","MOBILE_ORGANIZER_WARNING":"The Stremio Organizer app provides limited functionality. For a list of playable streams and the full Stremio experience, use Stremio on desktop.","MOBILE_ADDON_LOADING":"is still loading","MOBILE_ADDONS_LOADING":"addons are still loading","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Configure your addon","MOBILE_CONFIGURE_ADDON_LABEL":"Configure Addon","MOBILE_ORGANIZER_ADDONS_WARNING":"The Stremio Organizer app provides a limited selection of addons. For the full Stremio experience, use Stremio on desktop.","MOBILE_DISCONNECT":"Disconnect","MOBILE_LOOKING_FOR_DEVICES":"Looking for devices...","MOBILE_CAST_TO":"Cast to","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Delete Account","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Account deletion is not instant due to legal obligations. After requesting deletion of your account you will have to use different email address/facebook profile to create a new Stremio account in the future.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirm Account Deletion","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Your account has been created using Facebook. To delete your account, please use our user portal at www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Please provide your password to confirm account deletion.","MOBILE_DELETE_ACCOUNT_BUTTON":"Delete Account","NAVIGATION_ON":"On","NAVIGATION_OFF":"Off","MARKETING_AGREE":"I agree to receive marketing communications from Stremio","QUIT":"Fini","CONNECTED":"Konektita","AUTHENTICATE":"Authenticate","CACHING":"Caching","SETTINGS_CACHING_DRIVE":"Caching drive","ENABLE_LOCAL_FILES_ADDON":"Enable the local files addon (requires restart)","LOCAL_ADDON_NOT_ENABLED":"Local addon is not enabled. Click here to go to the settings and enable it","ENABLE_REMOTE_HTTPS_CONN":"Enable remote HTTPS connections","TORRENT_PROFILE":"Torrent Profile","DATA_CACHING":"Data Caching","MAGNET_PARSING":"Parsing a magnet link","January":"Januaro","February":"Februaro","March":"Marto","April":"Aprilo","May":"Majo","June":"Junio","July":"Julio","August":"Aŭgusto","September":"Septembro","October":"Oktobro","November":"Novembro","December":"Decembro","Monday":"Lundo","Tuesday":"Mardo","Wednesday":"Merkredo","Thursday":"Ĵaŭdo","Friday":"Vendredo","Saturday":"Sabato","Sunday":"Dimanĉo","Action":"Agadfilmo","Comedy":"Komedio","War":"Milito","Family":"Familia","Animation":"Animacio","Adventure":"Aventuroj","Fantasy":"Fantasto","Crime":"Krimo","Mystery":"Mistero","Romance":"Romance","Drama":"Dramo","Horror":"Horora Filmo","Thriller":"Suspenso","Sci-Fi":"Sciencfikcio","Music":"Music","Biography":"Biografio","Documentary":"Dokumentario","Sport":"Sport","Musical":"Musical","Western":"Vesterno","Film-Noir":"Film-Noir","News":"News","History":"Historio","Game-Show":"Game-Show","Reality-TV":"Reality-TV","Talk-Show":"Talk-Show","Film & Entertainment":"Film & Entertainment","Gaming":"Gaming","From TV":"From TV","Lifestyle":"Vivstilo","Science & Education":"Scienco kaj Edukado","Cooking & Health":"Kuirado kaj Sano","Beauty & Fashion":"Beauty & Fashion","Sports":"Sportoj","News & Politics":"Novaĵoj kaj Politiko","How-to & DIY":"How-to & DIY","Tech":"Tech","Automotive":"Automotive","Causes & Non-Profits":"Causes & Non-Profits","Movies":"Movies","Uk Live Tv":"Uk Live Tv","Fashion":"Fashion","Business News Radio":"Business News Radio","Business Tv":"Business Tv","Cars & Auto":"Cars & Auto","Comedy Radio":"Comedy Radio","Lifestyle Radio":"Lifestyle Radio","News Tv":"News Tv","Food And Wine":"Food And Wine","Latino Tv":"Latino Tv","Shopping Tv":"Shopping Tv","Religion":"Religio","Kids":"Infana","Body & Soul":"Body & Soul","Education":"Edukado","Indian Tv":"Hinda Televido","Extreme Sports":"Extreme Sports","Middle Eastern Tv":"Middle Eastern Tv","Celebrity Tv":"Celebrity Tv","Science Tv":"Scienca Televido","Bikini babe":"Bikini babe","Outdoors":"Outdoors","German Tv":"German Tv","French Tv":"French Tv","Italian Tv":"Italian Tv","Gamer Tv":"Gamer Tv","Travel":"Travel","Asian Tv":"Asian Tv","Entertainment":"Entertainment","News Radio":"News Radio","Music Radio":"Music Radio","Language Learning":"Language Learning","Science Radio":"Science Radio","Tech Radio":"Tech Radio","Science & Technology Vod":"Science & Technology Vod","new video":"nova video","new episode":"nova epizodo","new movie":"nova filmo","recommended":"rekomendita","we recommend":"ni rekomendas","offer of the day":"offer of the day","news":"novaĵoj","music video":"muzikvideo","CTX_SHOW_HOTKEYS":"Montri Agklavoj","CTX_DISMISS_NOTIF":"Forĵeti sciigojn","CTX_DISMISS_ALL":"Forĵeti ĉion","CTX_SHARE":"Konigi","CTX_COPY_SHARE_LINK":"Kopii ligilon por kunhavigi","CTX_COPY_MAGNET_LINK":"Kopii magnetan ligilon","CTX_COPY_STREAM_LINK":"Kopii elsendfluan ligilon","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Elŝuti ĉi-tiun videon","CTX_DOWNLOAD_SUBS":"Elŝuti subtekstojn","CTX_VIEW_ON_YOUTUBE":"Spekti ĉe Youtube","CTX_SHOW":"Show","CTX_PLAY":"Play","CTX_PLAY_IN":"Play in","CTX_PLAY_ON":"Play on","CTX_WATCH_ON":"Spekti ĉe","CTX_WATCH":"Spekti","CTX_WATCHED":"Spektita","CTX_WATCH_BEGINNING":"Spekti ekde la komenco","CTX_WATCH_MOBILE":"Spekti per poŝtelefono","CTX_REWIND":"Rebobeni al komenco","CTX_MARK_WATCHED":"Marki kiel spektita","CTX_MARK_NON_WATCHED":"Marki kiel ne spektita","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"Marki la ceterajn kiel rigarditajn","CTX_UNMARK_REST":"Marki la ceterajn kiel ne-spektitajn","CTX_RECEIVE_NEW_NOTIF":"Ricevi novajn sciigojn","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"Forigi el kaŝmemoro","CTX_REMOVE_CACHE_EP":"Forigi epizodon el kaŝmemoro","CTX_OPEN_CONTAINING":"Malfermu enhavantan dosierujon","CTX_REMOVE":"Forigi de la biblioteko","CTX_AVAILABLE_OFFLINE":"Disponebla eksterrete","CTX_PAUSED":"Paŭzo","CTX_ALWAYS_ON_TOP":"Ĉiam supre ĉio","CTX_FULLSCREEN":"Plenekrane","CTX_WRONG_SUBS":"Malĝustaj subtekstoj?","CTX_REPORT_ISSUES":"Raporti problemon","CTX_COPY":"Kopii","CTX_PASTE":"Algui","CTX_CLEAR":"Viŝi","CTX_CLEAR_RECENT_SEARCHES":"Viŝi freŝajn serĉojn","HELLO_THERE":"Saluton!","HOPE_YOU_ENJOY":"Ni esperas, ke vi ĝuos Stremio-n kaj ke ĝi jam estas unu el viaj plej ŝatataj aplikaĵoj!","WHO_ARE_WE":"Kiuj ni estas? Ni estas la teamo malantaŭ ĝi - du uloj kiuj intense laboras ĉiutage dum la lastaj 3 jaroj por fari ĉi tiun produkton pli kaj pli bona.","SUPPORT_US":"Se vi ŝatas uzi Stremio, se Stremio estas valora por vi - diskonigu ĝin!","SPREAD_THE_WORD":"Kunhavigu ĝin kun viaj amikoj nun, diskonigu pri Stremio","MORE_PEOPLE":"Ju pli da homoj uzas Stremio-n, des pli bone ĝi fariĝos!","SEND_A_LINK":"Aŭ sendu ligilon al nia retejo","TIP_LOCALFILES":"Konsilo: vi povas ŝovi kaj demeti lokaj videaj dosierojn en Stremio-n","ADDON_MY":"Miaj Aldonaĵoj","ADDON_COMMUNITY":"Komunumaj aldonaĵoj","ADDON_OFFICIAL":"Oficialaj Aldonaĵoj","ADDON_REPOS":"Aldonaĵa kolekto","ADDON_SEARCH":"Serĉi Aldonaĵoj","ADDON_INSTALL":"Instali","ADDON_CONFIGURE":"Agordi","ADDON_UNINSTALL":"Malinstali","ADDON_UPGRADE":"Ĝisdatigi","ADDON_INSTALLED":"Instalita","ADDON_INSTALLED_MSG":"Aldonaĵo instalita!","ADDON_UPGRADED_MSG":"Aldonaĵo ĝisdatita!","ADDON_UNKNOWN":"Nekonata","ADDON_ERR":"Aldonaĵ-instalado eraro!","ADDON_DISCONNECTED":"Malkonektita","ADDON_APP_MISSING":"la aplikaĵo por ĉi tiu fonto ne estas instalita. Ĉu vi volas instali ĝin nun?","ADDON_APP_INSTALL":"Instali nun","ADDON_PAGE":"Paĝo de la aldonaĵo","ADDON_TOP_CONTENT":"La plej bona de ĉi tiu aldonaĵo","ADDON_PROVIDES":"Ĉi tiu aldonaĵo donos al vi:","ADDON_WATCH":"Spekti #{types} nun!","ADDON_WATCH_FREE":"Spekti #{types} SENPAGE nun!","ADDON_ADDON":"Aldonaĵo","ADDON_SUPPORTED_TYPES":"Subtenataj tipoj","ADDON_SUPPORTED_CATALOGS":"Subtenataj katalogoj","ADDON_PROVIDES_DISCOVER":"Pli da #{types} en Discover","ADDON_PROVIDES_STREAMS":"Spekti #{types}","ADDON_PROVIDES_STREAMS_FREE":"Spekti #{types} SENPAGE","ADDON_PROVIDES_SUBTITLES":"Subtekstoj al #{types}","ADDON_CANTDETECT":"We couldn\'t detect a running Stremio, so we couldn\'t detect what addons you have installed.","ERR_NO_META":"Neniu informo trovita pri tio ","ERR_GETTING_META":"Error retrieving information about this.","ERR_CANT_PARSE_MAGNET":"Unable to parse magnet","ERR_NO_MAGNET_INFOHASH":"No valid info hash for magnet","ERR_NO_FILE_PATH":"Unable to send request without a path to file","ERR_NO_TORRENT":"No torrent returned","ERR_NO_SUPPORTERD_FILES":"No supported files found","ERR_OPENING_FILES":"Could not open external files","ERR_INVALID_LINK":"Invalid link","ERR_REGISTERED_ONLY":"This option is available for registred users only.","ERR_CLIPBOARD":"Can not play from clipboard","ERR_CLIPBOARD_READ":"Can not read the clipboard on this platform","ERR_CLIPBOARD_GENERIC":"No playable URL found in the clipboard. Please copy a URL (e.g. a magnet link) to a video.","BOARD_CONTINUE_WATCHING":"Daŭre spekti","BOARD_EXPLANATION_RECOMMENDATIONS":"Filmoj elektitaj speciale por vi.<br />Ĉi tiu filmo estas ekzempla rekomendo.","BOARD_EXPLANATION_EPISODES":"New episodes of your favorite Series come here.<br />Add series you follow to your Library.","BOARD_EXPLANATION_VIDEOS":"New episodes of your favorite Channels come here.<br />Add YouTube channels you follow to your Library.","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE":"Kontribuu","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"Learn more","WEBSITE_COMPANY":"Company","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Need Help?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"Spektu tuj!","WEBSITE_SLOGAN_ALL":"La tuta video-enhavo, kiun vi ĝuas en unu loko","WEBSITE_SLOGAN_NEW":"Ĉio, kion vi povas spekti","WEBSITE_SLOGAN_NEW_NEW":"Freedom to Stream","WEBSITE_WATCH_FROM":"Spekti el","WEBSITE_DOWNLOAD":"Elŝuti nun!","WEBSITE_DOWNLOAD_FOR":"Elŝutu Nun Por","WEBSITE_IS_DESKTOP":"Stremio estas komputila aplikaĵo, malfermu ĉi tiun paĝon je via komputilo kaj elŝutu ĝin","WEBSITE_DESKTOP_DEMO_VID":"Desktop demo","WEBSITE_PAGE_HOME":"Hejmo","WEBSITE_PAGE_FEATURES":"Funkcioj","WEBSITE_PAGE_ADDONS":"Aldonaĵoj","WEBSITE_PAGE_TECH":"Teknologio","WEBSITE_PAGE_CREATE_ADDON":"Kreu aldonaĵon","WEBSITE_PAGE_CONTACTS":"Kontaktoj","WEBSITE_PAGE_BLOG":"Blogo","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Filmog","WEBSITE_TYPE_series_PL":"Filmoj","WEBSITE_TYPE_tv":"Viva televido","WEBSITE_TYPE_channel":"Kanaloj","WEBSITE_STREMIO_WHAT_IS":"Stremio estas aplikaĵo, kiu helpas vin organizi kaj tuj spekti viajn plej ŝatatajn videojn, filmojn, televidseriojn kaj televidkanalojn..","WEBSITE_FEATURES_WATCH":"Spektu tuj en HD","WEBSITE_FEATURES_WATCH_DETAIL":"Alklaku kaj ludu viajn plej ŝatatajn filmojn, televidajn programojn, filmetojn kaj televidajn kanalojn.","WEBSITE_FEATURES_SUBS":"Aŭtomataj Subtekstoj","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio automatically picks synced subtitles for your language.","WEBSITE_FEATURES_SUBS_LABEL":"Your move, chief.","WEBSITE_FEATURES_CAST":"Play on TV & mobile devices","WEBSITE_FEATURES_CAST_DETAIL":"Cast to AppleTV, Chromecast, Smart TV (DLNA/UPnP) and mobile devices.","WEBSITE_LIB":"Enjoy Your Personal Library Synced on All Your Devices","WEBSITE_LIB_COLLECT":"Collect from Stremio","WEBSITE_LIB_IMPORT":"Importi el Facebook","WEBSITE_LIB_LOCAL":"Aldonu el via loka disko","WEBSITE_BOARD":"The Board - Your one-stop place for Notifications and Recommendations","WEBSITE_BOARD_RECOMMEND":"Recommended TV Show","WEBSITE_BOARD_TRENDING":"Trending Movie","WEBSITE_BOARD_NEW":"New Video","WEBSITE_BOARD_EPISODE":"New Episode","WEBSITE_BOARD_1":"Looking for something interesting to watch? Get recommendations based on your taste!","WEBSITE_BOARD_2":"Get notified when a new episode of your favourite TV show or YouTube channel is out!","WEBSITE_BOARD_YOUTUBE":"New videos of YouTube channels","WEBSITE_BOARD_EPISODES":"New episodes of series you follow","WEBSITE_ADDONS":"Content Addons","WEBSITE_TECH_DETAIL":"Ni amas teknologion, ni amas frenezan sciencon!\\nStremio uzas la jenajn malfermitkodajn teknologiojn","WEBSITE_TECH_WCJS":"WebChimera.js allows Stremio to play any video format with good performance.","WEBSITE_TECH_WCJS_EXTRA":"We are core project contributors","WEBSITE_TECH_ELECTRON":"Electron provides an innovative platform to build Stremio with.","WEBSITE_TECH_ELECTRON_EXTRA":"We are project contributors","WEBSITE_TECH_LINVODB":"A database technology that ensures your data is organized and available anywhere you login.","WEBSITE_TECH_LINVODB_EXTRA":"In-house technology","WEBSITE_CREATE_ADDON":"Create your addon","WEBSITE_CREATE_ADDON_DETAIL":"Do you have a service providing video content? We\'ll help you benefit from Stremio\'s features by creating your Addon.","WEBSITE_CREATE_ADDON_BENEFITS":"Benefits of Creating an Addon for Stremio","WEBSITE_P2P_BEAUTY":"The Beauty of Peer-to-Peer Streaming","WEBSITE_P2P_1":"Reliable and affordable full HD / 4K video on demand or live streaming","WEBSITE_P2P_2":"Distribution platform providing great user experience","WEBSITE_P2P_3":"We will create an addon meeting your exact needs","WEBSITE_P2P_CONTACT":"Interested? You are welcome to <a href=\'mailto:office@stremio.com\'>contact us</a>.","WEBSITE_P2P_CONTACT_EXTRA":"We will be happy to help you integrate your content with Stremio!","WEBSITE_P2P":"Once in a while, there comes a technology that changes the name of the game. We invested tons of time and effort in building our Peer-to-Peer (P2P) video streaming engine that provides great performance and versatility to adapt with any use case.\\nContact us for DRM-enabled P2P video on demand or live streaming.","WEBSITE_THOUGHTS":"Thoughts we share:","WEBSITE_SPREAD":"Spread the word about Stremio:","WEBSITE_CONTACT":"Contact us, we\'ll be happy to hear from you!","WEBSITE_OPENSOURCE":"For our open source projects, go to our","WEBSITE_BITCOIN":"Donaci Bitcoin:","WEBSITE_FAQ":"Plej Oftaj Demandoj","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Demandoj","WEBSITE_TOS":"Uzkondiĉoj","WEBSITE_LEGAL":"Legal","WEBSITE_PAGE_ABOUT":"Pri","WEBSITE_PAGE_BECOME_PARTNER":"Iĝu partnero","WEBSITE_ALL_YOU_CAN_WATCH":"Libereco por Spekti\\nĈion Kion Vi Volas.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"Kio estas Stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio estas kompleta centro por videoenhava kolektado. Malkovru, organizu kaj spektu filmetojn el ĉiaj fontoj sur iu ajn aparato, kiun vi posedas.","WEBSITE_WHAT_IS_STREMIO_P2":"Movies, TV shows, series, live television or web channels like YouTube and Twitch.tv - you can find all this on Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio estas moderna aŭdvidaĵa centro, integrala solvo por via amuziĝo. Vi povas malkovri, spekti kaj organizi video-enhavon per facile instaleblaj aldonaĵoj.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Filmoj, televidaj programoj, viva televido aŭ retkanaloj - Stremio disponigas por vi ĉion ĉi.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Enjoy on all your Media devices","WEBSITE_DEVICES_COLLECT":"Collect from Stremio","WEBSITE_DEVICES_IMPORT_FB":"Importi el facebook","WEBSITE_DEVICES_LOCAL":"Add from local drive","WEBSITE_JOIN_THE_PARTY_NOW":"Aliĝu al la festo nun","WEBSITE_DEVICES_ALL":"Facile uzebla en ĉiuj viaj aparatoj;","WEBSITE_EXTENDABLE_CATALOG":"Senfine etendebla videokatalogo;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Mojosaj funkcioj por organizi viajn aŭdvidaĵojn;","WEBSITE_AS_SEEN_ON":"Kiel vi vidis ĝin en","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"Pri ni","WEBSITE_LINK_TECHNOLOGY":"Teknologio","WEBSITE_LINK_APPS":"Aplikaĵoj","WEBSITE_LINK_DOWNLOADS":"Elŝutoj","WEBSITE_MORE":"Pli","WEBSITE_LINK_ADDONS":"Aldonaĵoj","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Kontribuu","WEBSITE_LINK_COMMUNITY":"Komunumo","WEBSITE_LINK_BLOG":"Blogo","WEBSITE_MORE_MORE":"... kaj pli","WEBSITE_LINK_HELP":"Helpcentro","WEBSITE_LINK_CONTACTS":"Business inquiries","WEBSITE_LINK_TOS":"Terms & conditions","WEBSITE_LINK_PRAVACY":"Privatecaj politikoj","WEBSITE_SUBSCRIBE":"Aboni","WEBSITE_NEWSLETTER":"Join Our Newsletter for amazing stuff","WEBSITE_PLACEHOLDER_EMAIL":"Via Retpoŝto","WEBSITE_COMMUNITY":"Komunumo","WEBSITE_LINK_PRAVACY_LEGAL":"Privateco kaj legalaĵo","WEBSITE_WHY":"Kial ni faras kion ni faras","WEBSITE_WHY_P1":"At Stremio, we come to work every day because we want to solve an important problem for the video-on-demand industry. There’s so much new content published every minute that it’s virtually impossible to find your way around it.","WEBSITE_WHY_P2":"We help people navigate that huge world of video entertainment and discover new content to enjoy. Our apps bring together movies, series, live TV, web channels, and more. We are dedicated to making it incredibly easy for users to find titles and broadcasters that they love.","WEBSITE_WHY_P3":"You can use our service on any device and at any time, making Stremio the only video entertainment hub you’ll ever need.","WEBSITE_TEAM":"TEAMO","WEBSITE_TEAM_P":"The Stremio team is small but powerful: between the ten of us, we code in X languages, and share expertise in software development, UI and UX design, marketing and advertising, and business and startups.","WEBSITE_FEATURES":"Funkcioj","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Facile malkovru novan enhavon","WEBSITE_FEATURES_DISCOVER_P":"Facile esplori novaj filmoj, televidaj spektakloj, serioj kaj kanaloj por spekti. Serĉu laŭ kategorio, ĝenro, poentaro, lastatempeco, noveco, ktp. aŭ simple tajpu nomon por trovi. Stremio faciligas trovante novan videoenhavon tre facile.","WEBSITE_FEATURES_ALL_CONTENT":"Ĉiuj viaj videoenhavoj en unu ekrano","WEBSITE_FEATURES_ALL_CONTENT_P1":"See what movies, series or videos you didn’t finish and continue watching them; get notified for new episodes and releases; and browse through the recommendations you will get based on your viewing habits.","WEBSITE_FEATURES_LIBRARY":"Organizu vian videobibliotekon","WEBSITE_FEATURES_LIBRARY_P1":"Add any title to your Stremio library with a single click and find your way around your content, neatly arranged by type, recency, or alphabetical order.","WEBSITE_FEATURES_CALENDAR":"Keep track of everything you watch","WEBSITE_FEATURES_CALENDAR_P1":"Get a calendar visualization of all the movies and series you add to your library. Export your Stremio calendar and sync it so you always know when a new episode or a premier is due.","WEBSITE_FEATURES_BIG_SCREEN":"Ĝuu vian videon enhavon sur granda ekrano","WEBSITE_FEATURES_BIG_SCREEN_P1":"Cast whatever you are watching to another device - be it a phone, tablet or a TV with a single click.","WEBSITE_FEATURES_SOURCES":"Spektu videon el multaj diversaj fontoj","WEBSITE_FEATURES_SOURCES_P":"Install official and community addons to enjoy video sourced from many different providers - all in one sleek, easy to use app.","WEBSITE_CREATE_AN_ADDON":"Kreu aldonaĵon","WEBSITE_FEATURES_SYNC":"Sync your library across different devices and resume your playback","WEBSITE_FEATURES_SYNC_P1":"Login with your account across all your devices and enjoy your library, addons, playback and calendar synchronized.","WEBSITE_FEATURES_EXTENDABLE":"Extendable video catalog by addons","WEBSITE_FEATURES_EXTENDABLE_P1":"The Stremio addon catalog provides a number of addons to install and watch a variety of video content from. This includes movies, shows, live TV, sport, news, podcasts, web channels, video games and more.","WEBSITE_FEATURES_AUTO_SUBS":"Automatic subtitles","WEBSITE_FEATURES_AUTO_SUBS_P1":"With our subtitle addons you get automatically selected options for your preferred language.","WEBSITE_FEATURES_CHROMECAST":"Casting to Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Enjoy your video content on a bigger screen or just cast whatever you are watching to another device.","WEBSITE_FEATURES_KEEP_TRACK":"Keep track of your favorite TV shows and Web channels","WEBSITE_FEATURES_KEEP_TRACK_P1":"Get a calendar visualization and notifications for new episodes of your favorite series and web channels.","WEBSITE_FEATURES_POWER_USER":"Power user features","WEBSITE_FEATURES_POWER_USER_P1":"Play in external player","WEBSITE_FEATURES_POWER_USER_P2":"Play from a torrent file or magnet link","WEBSITE_FEATURES_POWER_USER_P3":"Import to your library from Facebook likes or local disk","WEBSITE_ADD_ONS":"Addons","WEBSITE_ADD_ONS_P1":"All of the video content Stremio provides get sourced through an addon system - no content or content provider has been built into the app.","WEBSITE_ADD_ONS_P2":"There are two groups of addons available: official and community addons.","WEBSITE_ADD_ONS_P3":"The official ones are developed and hosted by Stremio, whereas community addons are created by our community members, who also host them.","WEBSITE_ADDONS_OFFICIAL":"Official addons","WEBSITE_ADDONS_WATCHUB":"Stream your favourite movies, series and shows from providers like iTunes, Hulu, Amazon and other UK/US services.","WEBSITE_ADDONS_YOUTUBE":"Watch your favourite YouTube channels ad-free and get notifications for new uploads from the contributors you follow.","WEBSITE_ADDONS_FILMON":"Watch live TV, movies and social television for free. 600 TV channels, 45,000 free movies, documentaries and more.","WEBSITE_ADDONS_OPENSUBTITLES":"Movie and TV subtitles in multiple languages, thousands of translated subtitles uploaded every day.","WEBSITE_ADDONS_COMMUNITY":"Community addons","WEBSITE_ADDONS_FILMON_VOD":"Watch video on demand from Filmon.tv","WEBSITE_ADDONS_TWICH":"Watch live streams from Twitch.tv - a video streaming platform for the e-sports industry.","WEBSITE_ADDONS_VODO":"Watch indie movies absolutely free of charge.","WEBSITE_ADDONS_NETFLIX":"Spektu Netflix-aj filmoj kaj ret-serioj.","WEBSITE_ADDONS_CREATE":"Kreu aldonaĵon","WEBSITE_ADDONS_CREATE_P1":"If you wish, you can develop your own addon. This way, you can give yourself and our community access to new video content, and reach a new, targeted audience of millions of users around the world.","WEBSITE_ADDONS_START_CREATE":"To get started, visit the Stremio Addon SDK page:","WEBSITE_DOWNLOADS":"Elŝutoj","WEBSITE_DOWNLOADS_P1":"For optimal performance, we recommend that you use the latest available version of the Stremio apps. If for some reason, however, you would like to use an older version, you can download it here.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio for Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio for macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio for Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio for Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio for iOS (limited version)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"La platformo Stremio estas liberafontkoda kaj vi povas facile krei aldonaĵo por enhavo kiu ne estas indeksita ankoraŭ.","WEBSITE_CONTRIBUTE_WHY":"Kial vi devus krei aldonaĵon?","WEBSITE_CONTRIBUTE_WHY_P1":"Atingu nova spektantaro por via videoenhavo","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio’s user base is growing rapidly - within the first year of the launch, Stremio had gained 1 million users around the world, and in the second year of the platform’s existence this number grew to 2.5 million.","WEBSITE_CONTRIBUTE_WHY_P3":"With your addon, you can easily reach this audience and distribute your video content to them.","WEBSITE_CONTRIBUTE_ALL":"Watch your favourite movies, videos, series and channels in one single place.","WEBSITE_CONTRIBUTE_ALL_P1":"You’re a fan of a particular type of content not available on Stremio yet? Create an addon for it and enjoy watching your favourite videos in one of the largest and easiest to use entertainment hubs on the market.","WEBSITE_CONTRIBUTE_ALL_P2":"On top of that, you’ll get the endless gratitude of other like-minded Stremio community members.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetize your addon and earn money with its help","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Once you develop a new addon for Stremio, you can easily monetize it through a number of different ways. If you are considering this, feel free to get in touch with us at ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - we would be happy to consult and advise you about addon monetization options.","WEBSITE_CONTRIBUTE_TRANSLATE":"Iĝu volontula tradukisto","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"If you want to enjoy the Stremio apps in different languages, you can join our community of volunteer translators. They help us add versions of the Stremio in many different languages.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Ĉu vi avidas por komenci?","WEBSITE_TRANSALTE_STREMIO":"Traduku Stremio-n","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Official communities","WEBSITE_COMMUNITY_OFFICIALS_P1":"Become a part of the growing Stremio community. Follow us on social media and don’t be shy to say hello - we love hearing from our fans! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Unofficial communities","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partners and supporters","WEBSITE_COMMUNITY_GOODIES":"Stremio goodies","WEBSITE_COMMUNITY_WALLPAPERS":"Wallpapers","WEBSITE_COMMUNITY_ART":"Komunuma Artgalerio","WEBSITE_LINK_ART":"Komunuma artgalerio","WEBSITE_CONTACT_US":"Kontaktu nin","WEBSITE_CONTACT_US_P1":"If you have any questions, comments or suggestions, feel free to get in touch with us through the contact form below.","WEBSITE_CONTACT_US_P2":"Keep in mind that we are located in Bulgaria so there may be a delay in addressing your query due to time zone differences.","WEBSITE_CONTACT_US_SUCCESS":"Your message has been sent. We will get back to you at our earliest convenience.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Bonvolu entajpi vian retpoŝton!","WEBSITE_CONTACT_US_Q_RELATED_TO":"Pri kio temas via demando?","WEBSITE_CONTACT_US_Q_OS":"Kiu estas via Operaciumo?","WEBSITE_CONTACT_US_PH_EMAIL":"Via Retpoŝto","WEBSITE_CONTACT_US_PH_MESSAGE":"Mesaĝo","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"SENDI","WEBSITE_CONTACT_US_Q_1":"Kiel instali","WEBSITE_CONTACT_US_Q_2":"Kiel malinstali?","WEBSITE_CONTACT_US_Q_3":"(HTML) How to make lasagna?","WEBSITE_CONTACT_US_Q_4":"Aldonaĵoj","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Teknologio","WEBSITE_TECHNOLOGY_P1":"Ni amas teknologion kaj frenezan sciencon. </br> Jen kio ebligas Stremio-n (ĉio estas malfermitkoda).","WEBSITE_TECHNOLOGY_P_QT":"Cross-platform software development at its best.","WEBSITE_TECHNOLOGY_P_MPV":"Senpaga, malfermitfonta kaj plurplatforma plurmedia ludilo.","WEBSITE_TECHNOLOGY_P_RN":"React Native lets you build mobile apps using only JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework embedded into application to get multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm is a mobile platform and a replacement for SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js is an open-source, cross-platform, JavaScript runtime environment.","WEBSITE_TECHNOLOGY_P_RUST":"Rust is a multi-paradigm system programming language focused on safety, especially safe concurrency.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Kontribuu al la projekto","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Estas du manieroj per kiuj vi povas kontribui kun Stremio kaj helpi al ni plibonigi ĝin eĉ pli!.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Vi povas donaci viajn valorajn lingvokapablojn tradukante la platformon...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"aŭ","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... vi povas uzi viajn programadajn kapablojn por krei komunumajn aldonaĵojn. ","WEBSITE_TRANSLATE_STREMIO":"Traduku Stremio-n","WEBSITE_404_OH_NO":"Ho ve! La paĝo kiu vi serĉas ne estas ĉi tie...","WEBSITE_GO_HOME":"Iru hejmen","WEBSITE_LINK_OTHER_DOWNLOADS":"Aliaj elŝut-opcioj","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Subteni","WEBSITE_DOWNLOAD_4_0_BETA":"Elŝutu Stremio-n 4 beta nun!","WEBSITE_GET_FOR_DESKTOP":"Akiru ĝin por komputilo","WEBSITE_LINK_ADDON_COMPETITION":"Aldonaĵa konkurso","WEBSITE_LINK_ART_CONTEST":"Arta konkurso","WEBSITE_MY_ACCOUNT":"Mia konto","WEBSITE_MAINPAGE_FAQ_001_H1":"Kio estas Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio estas moderna plurmedia centro, kiu donas al vi la liberon spekti ĉion, kion vi volas.","WEBSITE_MAINPAGE_FAQ_002_H1":"Kiel ĝi funkcias?","WEBSITE_MAINPAGE_FAQ_002_P1":"Post kiam vi instalos Stremio sur via aparato kaj kreos konton, vi nur devas viziti la katalogon de aldonaĵoj kaj instali ajnan aldonaĵon, kiun vi volas, kaj vi estas bona por preta por ekkomenci!","WEBSITE_MAINPAGE_FAQ_002_P2":"Post tio, vi povas iri al la sekcioj Discover aŭ Board por komenci esplori enhavon.","WEBSITE_MAINPAGE_FAQ_003_H1":"Kion mi povas spekti ĉi tie?","WEBSITE_MAINPAGE_FAQ_003_P1":"Multaĵon: Filmoj, Televidaj Spektakloj, Retaj Kanaloj, Sporto, Televidaj kanaloj, aŭskulti Podkastojn kaj multe pli. Danke al nia aldonaĵa sistemo, vi povas akiri ĉiajn enhavojn.","WEBSITE_MAINPAGE_FAQ_004_H1":"Ĉu Stremio estas malfermitkoda?","WEBSITE_MAINPAGE_FAQ_004_P1":"Jes, vi povas viziti la jenajn ligilojn: ${1}desktop app${2} kaj ${3}GitHub organization${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Ĉu estas Stremio sekura?","WEBSITE_MAINPAGE_FAQ_005_P1":"Jes: ĉar ĝi estas libera programaro, la kodo estas publike alirebla kaj vi mem povas revizii ĝin.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"Kio pri mia privateco?","WEBSITE_MAINPAGE_FAQ_006_P1":"Ni respektas la privateco de la uzantoj, tial ni ne kolektas nenian personalan datumon, krom la minimunon esencialan por krei kaj sinkronigi vian konton.","WEBSITE_MAINPAGE_FAQ_006_P2":"Ankaŭ ekzistas ${1}Gasta reĝimo${2} ĉe la aliĝo, kiu postulas neniujn datumojn: en ĉi tiu reĝimo, neniuj vokoj estas faritaj al nia servilo. Tamen, ĝi forĵetas utilajn funkciojn, kiel sinkronigi vian bibliotekon inter aparatoj.","WEBSITE_MAINPAGE_FAQ_007_H1":"Ĉu mi povas elsendi al mia televidilo?","WEBSITE_MAINPAGE_FAQ_007_P1":"Jes, ni subtenas Chromecast-on kaj vi povas elsendi el kaj labortablaj kaj el poŝtelefonaj aplikaĵoj (Android)..","WEBSITE_MAINPAGE_FAQ_008_H1":"Kiom da aldonaĵoj Stremio havas?","WEBSITE_MAINPAGE_FAQ_008_P1":"Je 2019, pli ol 50 - por plia informo, vidu nian aldonaĵan katalogon.","WEBSITE_MAINPAGE_FAQ_009_H1":"Ĉu Stremio povas esti etendita preter kio estas en la aldonaĵa katalogo?","WEBSITE_MAINPAGE_FAQ_009_P1":"jes, vi povas rigardi la jenajn: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6}, ktp.","WEBSITE_MAINPAGE_FAQ_010_H1":"Kiujn aparatojn Stremio subtenas?","WEBSITE_MAINPAGE_FAQ_010_P1":"Ni havas labortablaj aplikaĵoj por Vindozo, Mac kaj Linukso. Por poŝtelefono, ni subtenas Android kaj iOS, kvankam konsciu, ke iOS estas limigita en funkcioj (ne subtenas la plejmultajn aldonaĵojn).","WEBSITE_MAINPAGE_FAQ_010_P2":"Estas multaj Android-bazitaj aparatoj sur kiuj vi povas ruli Stremio-n, kiel NVIDIA Shield kaj Amazon Fire Stick, sed ni ne oficiale subtenas ilin.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Ĉu vi povas aldoni certan enhavon al Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Pardonu, ni mem provizas neniun enhavon, sed ju pli da Stremio-aldonaĵoj vi instalos, des pli da enhavo vi povos trovi.","WEBSITE_MAINPAGE_FAQ_012_H1":"Ĉu Stremio povas ludi magnetligojn","WEBSITE_MAINPAGE_FAQ_012_P1":"Jes, kaj ĝi ankaŭ povas ludi normalajn HTTP-ligilojn kaj torentajn dosierojn (ŝovi kaj demeti).","WEBSITE_MAINPAGE_FAQ_013_H1":"Ĉu mi povas elŝuti videon kaj spekti ĝin eksterrete?","WEBSITE_MAINPAGE_FAQ_013_P1":"Eksterreta disponebleco estas venonta funkcio, sed se vi permesas al Stremio konservi kaŝmemoron en via aparato (ĉe la agorda panelo) vi povas spekti la videojn senkonekte.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nenio funkcias, helpu min!","WEBSITE_MAINPAGE_FAQ_014_P1":"Ĉu vi certas, ke vi instalis aldonaĵojn? Se jes, iru al nia ${1}helpcentro${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"Kiel Stremio subtenas ĝian programadon?","WEBSITE_MAINPAGE_FAQ_015_P1":"Ni prezentas netrudemajn reklamojn foje, sed ni pripensas translokiĝi al donacmodelo.","WEBSITE_MAINPAGE_FAQ_015_P2":"Se vi havas pliaj demandoj, iru al nia ${1}helpcentro${2}.","HELP_LEARN_MORE":"Help us learn more about you.","LIFESTYLE":"Lifestyle","SPORTS":"Sports","FOOD_HEALTH":"Food & health","BEAUTY_FASHION":"Beauty & Fashion","NEWS":"News","GAMING":"Gaming","SCIENCE_EDUCATION":"Science & education","MUSIC":"Music","TRAVEL":"Travel","LATE_NIGHT":"Late Night","REALITY":"Reality","COMEDY":"Comedy","DIY":"How to DIY","TECH":"Tech","CINEMA":"Cinema","CONTINUE":"Continue","SLOW_LOADING":"SLOW LOADING?","I_GIVE_UP":"I GIVE UP","LEARN_MORE":"Learn more","POOR_SOURCE":"This source is poorly available or your internet connection is not fast enough","PICK_CATEGORIES_ERR":"You have to pick at least 3 categories","ADJUST_TIMING":"Adjust timing with ","ADJUST_SIZE":"Adjust size with ","SEARCH_ANYTHING":"You Can Search Anything...","ALL_CATEGORIES":"All","SEARCH_CATEGORIES":"Movies, Series, YouTube & TV","SEARCH_PERSONS":"Actors, Directors & Writers","SEARCH_PROTOCOLS":"HTTP & Magnet Links","SEARCH_TYPES":"IMDB / TVDB links","WATCHED":"Watched","SHOW_LESS":"Montri malpli","LAST_SEARCHES":"Lastaj serĉoj","CLEAR_HISTORY":"Forigi serĉhistorion","CHOOSE_SOME":"CHOOSE SOME OF THIS:","NO_WEB_REMOTE":"Web Remote could not be loaded","STREMIO_OFFLINE":"Stremio is offline","STREMIO_EXPENSIVE_CONNECTION":"We\'ve detected that you are using a mobile data connection, do you want to continue?","USE_DATA":"Use data","WARNING":"Warning","MORE_INFO":"Pli da informo ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Loading ...","STREMIO_TV_BACK_TO_LANGUAGES":"Back to languages","STREMIO_TV_REMOTE":"Remote","STREMIO_TV_GO_TO":"Go to:","STREMIO_TV_OR_SCAN":"or scan:","STREMIO_TV_ADDON_INSTRUCTIONS":"Please follow the instructions in order to install your preferred addons.","STREMIO_TV_LIVE_TV":"Live TV","STREMIO_TV_RESUME_WATCHING":"Resume Watching","STREMIO_TV_LOADING_BACKGROUND":"Loading Background","STREMIO_TV_CHECKING_AUTHENTICATION":"Checking Authentication","STREMIO_TV_LOADING_BOARD":"Loading Board","STREMIO_TV_LOGIN_HEADER_LINE_1":"We want our users to have the best possible personalized experience with our software.","STREMIO_TV_LOGIN_HEADER_LINE_2":"It is for this reason that we kindly ask you to make and/or login to your account.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Thank you for understanding,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"The Stremio Team","STREMIO_TV_REMOTE_INSTRUCTIONS":"In order to use the Web Remote with your Smartphone / Tablet / Desktop:","STREMIO_TV_WIFI_SETUP":"Wi-Fi Setup","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle did not detect a internet connection.","STREMIO_TV_WIFI_DETAILS_1":"Connect to:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Use password:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Open a web browser with the link:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Default","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"By Last Watched","STREMIO_TV_LIBRARY_SORT_NAME":"By Name","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"By Times Watched","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Season ${1}","STREMIO_TV_STREAMS_LOADING":"Loaded ${1} / ${2} addons...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} addon is still loading...","STREMIO_TV_PLAYER_SETTINGS":"Player settings","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Subtitles delay","STREMIO_TV_PLAYER_AUDIO_DELAY":"Audio delay","STREMIO_TV_PLAYER_VIDEO_SCALING":"Video scaling","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Unsupported stream source","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Failed opening external link","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Not adjustable in audio passthrough mode","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Play with ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Play with libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Switching to libVLC player due to a playback error","STREMIO_TV_ADDONS_TITLE":"Use Stremio on your Phone or PC to install or configure addons and press \\"Sync Addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Note: make sure you are using the same Stremio account","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sync Addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons successfully synchronized","STREMIO_TV_ADDONS_SYNC_FAILED":"Failed to synchronize addons","STREMIO_TV_META_LINK_FAILED":"Failed opening meta link","STREMIO_TV_CATALOG_LOADING":"Catalog still loading...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Interface language updated","STREMIO_TV_SETTINGS_THEME_UPDATED":"Theme updated","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Default Player","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"External Player","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferred Language","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Secondary Preferred Language","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possible playback issues on some devices","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Some video formats might not work","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"No caching","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Default","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Soft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Fast","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Fast","STREMIO_TV_SETTINGS_SERVER_URL":"Streaming server url","STREMIO_TV_SETTINGS_SERVER_VERSION":"Server version","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Unknown","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio version","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Edit server url","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Enter a streaming server url","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Show statistics while loading","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"To read Stremio\'s Privacy Policy, visit:","STREMIO_TV_SETTINGS_TOS_TEXT":"To read Stremio\'s Terms and Conditions, visit:","STREMIO_TV_NAV_SEARCH":"Serĉi","STREMIO_TV_NAV_HOME":"Hejmo","STREMIO_TV_NAV_DISCOVER":"Esplori","STREMIO_TV_NAV_LIBRARY":"Biblioteko","STREMIO_TV_NAV_MOVIES":"Filmoj","STREMIO_TV_NAV_SERIES":"Serioj","STREMIO_TV_NAV_CHANNELS":"Kanaloj","STREMIO_TV_NAV_TV":"Live TV","STREMIO_TV_NAV_SETTINGS":"Agordoj","STREMIO_TV_NAV_ADDONS":"Aldonaĵoj","STREMIO_TV_LOGIN_TITLE":"Link Account","STREMIO_TV_LOGIN_EXPIRES_IN":"Expires in","STREMIO_TV_LOGIN_STEP_ONE":"Scan QR Code above or go to","STREMIO_TV_LOGIN_STEP_TWO":"Log in to your Stremio account","STREMIO_TV_LOGIN_NEW_LINK":"Request a new link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Login code refreshed","STREMIO_TV_SEARCH_PLACEHOLDER":"Type something","STREMIO_TV_SEARCH_NO_ADDONS":"No addons were requested for catalogs!","STREMIO_TV_SEARCH_BUTTON":"Search","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Search History","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"You can search for Titles, Actors, Channels and more...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Clear Search History","STREMIO_TV_FILTERS_DESCRIPTION":"Choose from one of the filters below","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"Filters","SETTINGS":"Settings","ACCOUNT":"Account","LOGOUT":"Logout","THEMES":"Themes","PLAYBACK":"Playback","PLAYBACK_SPEED":"Playback Speed","AUDIO_TRACKS":"Audio Tracks","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Videos","SERVER":"Server","LINKS":"Links","ABOUT":"About","INTERFACE":"Interface","ANIMATIONS":"Animations","STATUS":"Status","LANGUAGE":"Language","SIZE":"Size","DELAY":"Delay","BOLD":"Bold","OPACITY":"Opacity","TEXT_COLOR":"Text Color","OUTLINE_COLOR":"Outline Color","BACKGROUND_COLOR":"Background Color","BACKGROUND_BLUR":"Background Blur","SEEK_TIME_DURATION":"Seek Time Duration","AUTO_PLAY":"Auto-Play Next Episode","PLAY_NOW":"Play Now","MARK_AS_WATCHED":"Mark as Watched","MARK_AS_UNWATCHED":"Mark as Unwatched","REWIND_TO_BEGINNING":"Rewind to Beginning","CONTINUE_WATCHING":"Continue Watching","ALL":"All","SECONDS":"seconds","ON":"ON","OFF":"OFF","RELOAD":"Reload","EDIT_URL":"Edit URL","NONE":"None","EMBEDDED":"Embedded","REMOTE_SWITCH_DEVICES":"Switch Devices","REMOTE_VIDEOS":"Videos","REMOTE_ADJUST_TIMING":"Adjust timing","REMOTE_ADJUST_SIZE":"Adjust size","REMOTE_COULD_NOT_BE_LOADED":"Web Remote could not be loaded","REMOTE_RETRY":"Reprovi","TORRENT_PROFILE_DEFAULT":"Default","TORRENT_PROFILE_SOFT":"Soft","TORRENT_PROFILE_FAST":"Fast","TORRENT_PROFILE_ULTRA_FAST":"Ultra Fast","FAQ_001_H1":"Kio estas Stremio?","FAQ_001_P1":"Stremio is a media center software designed for video entertainment with ease of use in mind. Stremio allows you to organize &amp; watch your own collection of movies, series, channels and live TV.","FAQ_001_P2":"Stremio collect the content it shows you from your local disk and our addons system.","FAQ_001_P3":"It will also notify you when new episodes/videos/movies you\'re interested in come out, and provide movie recommendations for you.","FAQ_02_H1":"Kiel Stremio komparas al Kodi kaj al Plex?","FAQ_02_P1":"We are inspired by those two pieces of software. But we have different goals - Stremio is specifically targeted towards entertainment video, and strives to become the mainstream solution for that by being very easy to use.","FAQ_02_P2":"Stremio will never be as customizable and feature-rich as Kodi and Plex, but it is significantly easier to use. Just ${1} get it and see ${2} :)","FAQ_03_H1":"Kiel Stremio komparas al Netflix?","FAQ_03_P1":"Again, Netflix is one of our inspirations. We strive to achieve the user experience of Netflix, plus a lot of added goodies. But most importantly, we\'re giving you the freedom to manage your own library and add new content sources with our addon system.","FAQ_03_P2":"That makes Stremio infinitely extendable, so when you use Stremio, you\'re never limited to the content Netflix decides to license. For example, through Stremio you can watch content from ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} and even ${9}Netflix${10} itself!","FAQ_04_H1":"Kiel Stremio komparas al Flipboard?","FAQ_04_P1":"We don’t get that question that often, except when talking to start-up people :)","FAQ_04_P2":"Stremio is by design a content aggregator, which essentially makes it Flipboard for video. This is very apparent in our Board section, which gives you catalogues and new episode/new video notifications for what you follow, just like Flipboard.","FAQ_05_H1":"Kiel Stremio komparas al Popcorn Time?","FAQ_05_P1":"Stremio and Popcorn Time are similar in user interface, because there aren’t many ways to do video entertainment catalogues right :)","FAQ_05_P2":"But while Popcorn Time is focused on streaming torrents from specific sources, Stremio is unrestricted and is merely a content aggregator - it’s not locked into a specific content source.","FAQ_05_P3":"Furthermore, we do not provide any torrent addons by default, so Stremio does not cover the Popcorn Time use-case with official functionality.","FAQ_05_P4":"Another notable difference is that Popcorn Time is completely open source, while Stremio is ${1} partially open source${2}.","FAQ_06_H1":"Ĉu vi aldonos ĉi tiun filmon/serion?","FAQ_06_P1":"Ne, pardonon :(","FAQ_06_P2":"As is mentioned in most of the other questions, Stremio does not provide any content by itself - everything is added through the addons system. In case you have a content request, you can use the “Report” button in the Player, which will send an email to the author of the addon you’re currently using.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Will you create addon for X?","FAQ_08_P1":"It\'s entirely possible.","FAQ_08_P2":"If you have an idea for an addon, drop us a line at ${1}office@stremio.com${2}, but please make sure your addon idea will not infringe on any copyrights or terms of use.","FAQ_08_P3":"At the moment, the next things on our roadmap are addons for FandangoNOW, Filmon.tv video on demand and Crunchyroll.","FAQ_09_H1":"Does Stremio use BitTorrent?","FAQ_09_P1":"Yes, Stremio supports BitTorrent as a streaming protocol. You can use that either with a torrent addon, or by drag-and-dropping a .torrent file into Stremio, or by pasting a magnet link into the Search Bar.","FAQ_09_P2":"Please note that the only official addon using BitTorrent is ${1}Vodo${2}, which provides indie content, all permitted to be distributed with BitTorrent.","FAQ_09_P3":"We do not support use of any third-party addons which may enable copyright infringement.","FAQ_10_H1":"What can I watch in Stremio with the official addons?","FAQ_10_P1":"By default, you can watch Filmon.tv, YouTube and Vodo content within Stremio itself, with it’s embedded player. Additionally, we have an addon for Twitch.tv and a few others.","FAQ_10_P2":"This combined provides a selection of:","FAQ_10_L1":"Popular TV channels, provided by Filmon.tv - for example E4, BBC, Bollyworld TV","FAQ_10_L2":"Everything from YouTube - for example BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indie movies with Vodo","FAQ_10_L4":"Online gaming broadcasts with Twitch.tv","FAQ_10_P3":"Additionally, there are many content sources provided with Guidebox and the Netflix addons, which <b>do not</b> play entirely inside Stremio, but would redirect to the given service. For example, the Guidebox addon would give you a selection of movies you can stream in the US for free, from services like TubiTV and Crackle.","FAQ_11_H1":"Stremio won\'t install, what should I do?","FAQ_11_P1":"If you\'re on Windows, try ${1}this alternative installer${2}.","FAQ_11_P2":"If you\'re on Mac OS X, please be aware that we don\'t support anything older than OS X Mavericks (10.9).","FAQ_11_P3":"If you\'re on Linux, be aware that we only support 64 bit (x64) Linux at the moment.","FAQ_11_P4":"If you still can\'t resolve your problem, please write us at our ${1}Facebook group${2}.","FAQ_12_H1":"Why does my anti-virus complain? Is Stremio safe?","FAQ_12_P1":"We assure you Stremio is ${1}100% clean${2}.","FAQ_12_P2":"Your antivirus is complaining because we include advertising in our installer, which some anti-virus programs recognize as ad-ware.","FAQ_12_P3":"If you\'re still unsure, you can try our ${1}alternative installer${2}.","FAQ_13_H1":"Kiel mi povas krei aldonaĵon?","FAQ_13_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_13_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_13_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_14_H1":"How are addons published?","FAQ_14_P1":"When you create an addon and host, and put a <b>endpoint</b> field in your manifest, which points to a working addon address, the addon will automatically publish itself to our ${1}Addon catalogue${2}.","FAQ_14_P2":"This happens because the server part of the stremio-addons module automatically makes a call to our API to announce the addon. When our API validates your <b>endpoint</b> as a valid addon, it will start showing in the catalogue.","FAQ_15_H1":"Can I run Stremio in my browser?","FAQ_15_P1":"Not at the moment, but this is coming!","FAQ_15_P2":"If you\'re curious to see an Alpha, you can see it here: ${1}alpha4.strem.io${2}. Keep in mind streaming is disabled on this alpha. We support Chrome, Firefox, Opera and Edge.","FAQ_16_H1":"Casting to TV doesn\'t work / subtitles don\'t work","FAQ_16_P1":"Casting to TV uses the DLNA technology which is very inconsistent between different TV brands and models. For that reason, we do not have the ability to test it in every case, so it\'s far from perfect. Despite this, we\'re working on improving it constantly but we cannot give you a time estimate on when DLNA will start working properly with your TV.","FAQ_16_P2":"If you don\'t even see your TV in the casting menu, please try disabling your network connection and re-enabling it (on Windows, right click the Network and use Enable/Disable), as well as restarting your router, TV and PC.","FAQ_16_P3":"If you are still encountering issues, you can help us by sending your TV brand and model information at ${1}office@stremio.com${2}.","FAQ_16_P4":"In the meantime, we recommend Chromecast, which we support very well, or simply plugging in your TV to your PC with an HDMI cable.","FAQ_17_H1":"Stremio freezes and/or crashes, what can I do?","FAQ_17_P1":"First of all, if you\'re using Windows 7 with AVG anti-virus: we have a problem with that combination. The problem is in AVG itself, and there\'s no reasonable way to resolve it on our end. Unfortunately, exceptions or disabling the anti-virus won\'t work. The only solution is to replace AVG with something else.","FAQ_17_P2":"If that\'s not the issue, but you\'re still using Windows, please update to the latest service pack and update/re-install your GPU drivers, then try again.","FAQ_17_P3":"If you\'re problem is still not resolved, or you\'re using a Mac or Linux, please write us reporting the exact details of the problem at ${1}our Facebook group${2}.","FAQ_18_H1":"How can I make an addon?","FAQ_18_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_18_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_18_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_19_H1":"Why is Stremio taking disk space?","FAQ_19_P1":"Stremio has a <b>local cache</b> to temporarily keep the video files you stream.","FAQ_19_P2":"This has two benefits: first, it allows Stremio to pre-buffer the video ahead so as to ensure smoother streaming. Second, it keeps the videos in the local cache so you can continue watching them offline.","FAQ_19_P3":"How much Stremio keeps depends on the <b>Cache</b> setting in the Settings panel. Stremio may keep up to the set amount (e.g. 2GB) on your disk, unless the currently streamed video is larger than that, in which case it has to allocate enough storage to keep it until you\'re streaming it.","FAQ_20_H1":"Kie estas la kaŝmemora dosiero?","FAQ_20_P1":"On Windows, it\'s stremio-cache in the drive you picked in Settings (e.g. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"On MacOS, it\'s \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"On Linux, it\'s \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"I get \\"Streaming server is not found\\" error, what can I do?","FAQ_21_P1":"If you get this error, it means one of few things:","FAQ_21_P2":"1) You are trying to use an addon backed by YouTube/BitTorrent source, through our ${1}web version${2}. In this case, you should install our desktop version from ${3}our website${4}.","FAQ_21_P3":"2) Something is wrong with your Stremio installation. In this case, try re-installing our latest desktop version from ${1}the website${2}. If this does not help, try disabling anti-virus programs and firewalls, restarting your PC and trying again. If this does not work too, please write us at our ${3}our Facebook group${4}.","FAQ_22_H1":"I cannot see/use most addons on iOS","FAQ_22_P1":"Because of restrictions in the Apple App Store terms and conditions, we have restricted the iOS application only to a particular set of addons.","FAQ_22_P2":"But rest assured - there will be more addons for iOS in the future, and we may also add an integration that will allow you to use all Stremio addons thanks to connecting the iOS app to the Stremio Streaming Server."}')},99320:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Película","TYPE_series":"Series","TYPE_tv":"TV","TYPE_channel":"Youtube","TYPE_other":"Otros","TYPE_movie_PL":"Películas","TYPE_series_PL":"Series","TYPE_tv_PL":"Canales de TV","TYPE_channel_PL":"Canales","TYPE_other_PL":"Otros","TYPE_ALL":"Todo","TYPE":"Tipo","CATALOG_com_linvo_cinemeta_top":"Populares","CATALOG_com_linvo_cinemeta_imdbRating":"Destacadas","CATALOG_com_linvo_cinemeta_year":"Nuevas","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Películas de Dominio Público","VIDEO":"Video","BACK":"Atrás","MORE":"Más","DONE":"Listo","COPY":"Copiar","SUCCESS":"Éxito","ERROR":"Error","SETTINGS_CASTING_MODE_PICKER":"Modo de emisión","CASTING_MODE_HLSV2":"Por defecto","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Sin transcodificación","Discover":"Descubrir","Board":"Panel","Library":"Biblioteca","My Library":"Mi Biblioteca","Calendar":"Calendario","NOTIFICATION_ONLINE":"Actualmente estás en línea","NOTIFICATION_OFFLINE":"Actualmente no estás conectado","INTERNET_CONNECTION":"Conexión de red","STORAGE_FULL_TITLE":"Advertencia: ¡Almacenamiento lleno!","STORAGE_FULL_TEXT":"Stremio no podrá guardar su configuración, preferencias o información de inicio de sesión. Considere reiniciar o reinstalar Stremio.","SEARCH":"Buscar","SEARCH_NO_RESULTS":"No se encontraron resultados","SEARCH_EXPLANATION_CONTENT":"Buscar películas, series, Canales de Youtube y TV","SEARCH_EXPLANATION_PEOPLE":"Buscar por actores, directores y escritores","SEARCH_PASTE_LINKS":"Pegar un enlace HTTP o enlace magnético","SEARCH_OR_PASTE_LINK":"Buscar o pegar enlace","SEARCH_SUGGESTIONS":"Buscar sugerencias","ADD_TO_LIB":"Añadir a la biblioteca","REMOVE_FROM_LIB":"Eliminar de la biblioteca","ADDED_TO_LIB":"Añadido a la biblioteca","REMOVED_FROM_LIB":"Eliminado de la biblioteca","TRAILER":"Avance","WATCH_TRAILER":"Ver avance","WATCH_NOW":"Ver ahora","SHOW":"Ver","SHOW_MOVIE":"Mostrar película","WATCH_RANDOM":"Ver al azar","IMDB_RATING":"Calificación de IMDb","YEAR":"Año","DIRECTOR":"Director","WRITER":"Escritor","LEAD_ACTORS":"Actores principales","CAST":"Reparto","CREW":"Equipo técnico","SHOW_MORE_CAST":"Ver más »","AIRED":"Salió al aire:","SEASONS":"Temporadas","GENRE":"Género","GENRE_ALL":"Todos los géneros:","CATALOG":"Catálogo","SUMMARY":"Resumen","SHOW_MORE":"Ver más","SIMILAR":"Similar","UPCOMING":"Próximamente","ENDED":"Terminado","DURATION":"Duración","FEATURED":"Destacado","METADATA":"Metadatos","CATEGORY":"categoría","LINKS_GENRES":"Géneros","LINKS_CAST":"Reparto","LINKS_DIRECTORS":"Directores","SEARCH_VIDEOS":"buscar videos","SEARCH_PLACEHOLDER":"buscar o pegar URL","ADDON":"complemento","ADDONS":"Complementos","OFFICIAL":"oficial","ADDONS_OFFICIAL":"Complementos Oficiales","ADDONS_POPULAR":"Popular en tu región","ADDON_FREE":"gratis","ADDON_PEERED":"compartido","ADDON_SUBSCRIPTION":"suscripción","ADDON_STREAM_GEORESTRICTED":"no está disponible en su región","ADDON_STREAM_OFFLINECACHE":"Caché sin conexión","ADDON_STREAM_LOCALFILE":"Archivo Local","SHARE_ADDON":"Compartir complemento","AVAILABLE_STREAMS":"Transmisiones Disponibles","NO_STREAM":"No se encontraron transmisiones ","ALL_ADDONS":"Todos","INSTALL_MORE_ADDONS":"Para más transmisiones, por favor instale más complementos","STREAM_NOT_SUPPORTED":"La transmisión seleccionada no es soportada en esta plataforma.","ADDON_CATALOGUE":"Mostrar todos los complementos »","ADDON_CATALOGUE_MORE":"Instalar complementos","REPO_ADDED":"Repositorio agregado","ADDON_REPO_EXIST_ERR":"Este repositorio de complementos ya existe","ADDON_REPO_ERR":"Error ocurrido mientras agregaba repositorio","ADDON_ADD_ERR":"Error agregado mientras agregaba complemento","ERR_ADDON_PROTECTED":"No puedes desinstalar este complemento, esta protegido","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Algo ha salido mal - la autenticación pudo haber fallado","ERR_NOT_COLLECTION_URL":"No es una URL de colección","ERR_NOT_ADDON_URL":"No es una URL de complemento","ERR_DETECTFROMURL":"No se puede encontrar un complemento o coleccion desde esta URL","ADDON_DUPLICATE_WARNING":"Advertencia: complemento duplicado","ADDON_COLLECTION_SET_FAILED":"La sincronización de los complementos instalados en tu cuenta ha fallado","SETTINGS_DATA_EXPORT":"Exportar datos de usuario","ADDON_PULL_FAILED":"La sincronización de los complementos instalados desde tu cuenta ha fallado","REFRESH_ON_CLICK":"Hacer clic para intentarlo de nuevo","STILL_IN_THEATER":"Película aún en cines","WATCH_IN_CINEMA":"Véalo en su cine favorito","IN_THEATER":"En el cine","GET_TICKETS":"Conseguir entradas","UPCOMING_EPISODE":"Próximo episodio","UPCOMING_EPISODE_MESSAGE":"El próximo episodio se emitirá el","MISSING_DATE_EPISODE":"No existe la fecha de este episodio","MISSING_DATE_EPISODE_MESSAGE":"Es posible que este episodio no se haya emitido todavía","CHANNEL_NOT_SCRAPED":"Este canal aún no está habilitado.<br>Por favor, vuelve en unos minutos.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Añádelo a tu biblioteca para ser notificado una vez que esté disponible.","GET_NOTIFIED_WHEN_AVAILABLE":"Recibirá una notificación cuando esté disponible.","WARNING_STREAMING_SERVER":"Advertencia: Servidor de transmisión local no encontrado. La transmisión desde archivos locales, YouTube y BitTorrent no estará disponible.","WARNING_STREAMING_SERVER_DISMISS":"Descartar","WARNING_STREAMING_SERVER_LATER":"Después","DECODER_WARNING":"Advertencia: este video podría no ser soportado por su hardware. Tenga en cuenta que la reproducción podría ser lenta.","GENERIC_ERROR_MESSAGE":"¡Algo salió mal!","TRY_AGAIN":"Intentar nuevamente","CLEAR_DATA":"Limpiar datos","PLAYER_ERROR":"Ups!, ha ocurrido un error en el reproductor","PLAYER_ERROR_LOOKSLIKE":"Parece que","PLAYER_ORIENTATION":"Orientación del reproductor","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Bloqueada","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensor","PLAYER_ORIENTATION_LANDSCAPE":"Orientación del reproductor está bloqueada en modo horizontal","PLAYER_ORIENTATION_SENSOR":"Orientación del reproductor automática (sensor)","PLAYER_PLAYBACK_SPEED":"Velocidad de reproducción","PLAYER_PLAYBACK_ERROR":"Error de reproducción, por favor inténtalo de nuevo","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Error desconocido","PLAYER_PLAYBACK_ERROR_DEFAULT":"Lo sentimos, este video no puede ser reproducido por {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Idiomas de los subtítulos","PLAYER_SUBTITLES_VARIANTS":"Variantes de subtítulos","PLAYER_SUBTITLES_SETTINGS":"Configuración de subtítulos","PLAYER_SUBTITLES_DISABLED":"Los subtítulos están deshabilitados","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Posición vertical","PLAYER_SUBTITLES_LOADED":"Subtitulos cargados","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Subtitulos incrustados cargados","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Subtitulos exclusivos cargados","PLAYER_SUBTITLES_LOADED_ORIGIN":"Subtitulos desde {{origin}} cargados","PLAYER_PLAY":"Reproducir","PLAYER_PAUSE":"Pausa","PLAYER_NEXT_VIDEO":"Siguiente vídeo","PLAYER_MUTE":"Silenciar","PLAYER_UNMUTE":"Activar sonido","PLAYER_OPEN_IN_EXTERNAL":"Abrir en reproductor externo","PLAYER_OPEN_IN_NPLAYER":"Abrir en nPlayer","PLAYER_PLAY_IN":"Reproducir en {{device}}","PLAYER_LIVE":"En vivo","PLAYER_NEXT_VIDEO_TITLE":"A continuación en","PLAYER_NEXT_VIDEO_TITLE_SHORT":"A continuación","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Descartar","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Ver ahora","PLAYER_COPY_STREAM_SUCCESS":"El enlace de la transmisión se copió en tu portapapeles.","PLAYER_COPY_STREAM_ERROR":"No se pudo copiar el enlace de la transmisión","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"El enlace de descarga fue copiado a tu portapapeles","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Error al copiar enlace de descarga","STREAMING_FROM":"Transmitiendo desde","CASTING_TO":"Transmitiendo a","NETWORK_STATUS":"Estado de la red","STREAM_SPEED":"Velocidad de la transmisión:","STREAM_BUFFERED":"Almacenado:","PEERS_INFO":"Información de pares","PEERS_ACTIVE":"Activos:","PEERS_CONNECTED":"Conectados:","PEERS_WAITING":"Esperando:","TRANSCODING_WARNING":"Alerta: transcodificando video.","STREAM_LOADING":"cargando...","PLAYING_LOCAL":"reproduciendo desde archivo local","PLAYING_CACHE":"reproduciendo desde la memoria caché","WRONG_SUBS":"¿Subtítulos erróneos?","ERR_SUBS_LOADING_TITLE":"Error cargando subtítulos","ERR_SUBS_LOADING":"Error al cargar los subtítulos: esto podría ser un problema con el complemento que está utilizando o con su conexión de internet","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Los siguientes complementos de subtítulos fallaron","ERR_CASTING_UPDATE_TITLE":"No se pudo actualizar la información del dispositivo de transmisión: el servidor de transmisión puede estar fuera de línea","CHOOSE_DEVICE":"Elija un dispositivo para ver","NO_CAST_DEVICES":"No hay dispositivos de transmisión disponibles.","NO_SETTINGS":"No hay configuraciones disponibles.","PHONE_TABLET":"Móvil / Tablet","SUBTITLES":"Subtítulos","SUBTITLES_CHANGE":"Cambiar subtítulos por ","SUBTITLES_CHANGE_NONE":"Lo siento, no hay otros subtítulos para este idioma.","SUBTITLES_CHANGE_ACIVE":"Actualmente los subtítulos &#35;{{subtitlesDialog.activeIdx + 1}} están activados. Haga clic en \\"Continuar\\" para activar los subtítulos &#35;{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Alternativamente,","SUBTITLES_ADJUST_DELAY":"Ajuste de retraso de subtítulos:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"O utilice las teclas <span>G</span> / <span>H</span> durante la reproducción para ajustar.","SUBTITLES_ADJUST_DELAY_TIP":"Nota: Puede usar las teclas <span>G</span> / <span>H</span> durante la reproducción para ajustar.","SUBTITLES_DELAY":"Retraso de subtítulos:","SUBTITLES_LOADING":"Cargando subtítulos...","SUBTITLES_UNAVAILABLE":"No hay subtítulos externos disponibles","SUBTITLES_DISABLED":"Desactivado","EXTERNAL_PLAYER_DISABLED":"Desactivado","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Permitir elegir","EXTERNAL_PLAYER_HINT":"Consejo: Existe una configuración que permite abrír siempre con un reproductor externo","DONT_SHOW_AGAIN":"No mostrar de nuevo","SERVICE_INSTALL":"Instalar","AUDIO":"Audio","DEFAULT_LANGUAGE":"Idioma por defecto","DEFAULT_SECONDARY_LANGUAGE":"Idioma secundario por defecto","SEASON":"Temporada","EPISODE":"Episodio","EPISODE_ABBREVIATION":"EP","SPECIAL":"Especial","SORT":"ordenar","SORT_BY":"Ordenar por","FILTER":"filtrar","SORT_TRENDING":"tendencias","SORT_RECENT":"reciente","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"calificación","SORT_WATCHED":"visto","SORT_YEAR":"año","SELECT_TYPE":"Seleccionar tipo","SELECT_SORT":"Seleccionar orden","SELECT_CATALOG":"Seleccionar catálogo","SELECT_GENRE":"Seleccionar género","SORT_LASTWATCHED":"Por último visto","SORT_NAME":"Por nombre","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"Por veces vista","SORT_NOTWATCHED":"not watched","New for You":"Nuevo para ti","New Episodes":"Nuevos Episodios","New Videos":"Nuevos Videos","Recommendations":"Recomendaciones","LIBRARY_RESUME":"Reanudar","LIBRARY_PLAY":"Reproducir","LIBRARY_DETAILS":"Detalles","LIBRARY_RESUME_DISMISS":"Descartar","LIBRARY_CLEAR_PROGRESS":"Limpiar progreso","LIBRARY_REMOVE":"Eliminar","LIBRARY_NOT_LOGGED_IN":"La biblioteca sólo está disponible para usuarios conectados","CALENDAR_NOT_LOGGED_IN":"El calendario sólo está disponible para usuarios conectados","NOT_LOGGED_IN_CLOUD":"Acceda a sus películas y programas de televisión favoritos en cualquier momento y lugar","NOT_LOGGED_IN_RECOMMENDATIONS":"Recomendaciones personalizadas basadas en tu historial de visualización","NOT_LOGGED_IN_NOTIFICATIONS":"No vuelva a perderse un episodio","NOT_LOGGED_IN_CALENDAR":"Programe su calendario de visualización personal","DISCOVER_FEATURED":"Destacado","DISCOVER_TOP":"Top","DISCOVER_OSCAR":"Ganadores del Oscar","DISCOVER_WARNING_TITLE":"Oops!","DISCOVER_EMPTY_CATALOG":"Esta extensión no retornó contenido.","DISCOVER_ADULT_WARNING":"El contenido es visible solo para adultos. ¿Eres mayor de 18 años?","DISCOVER_NOADDON_WARNING":"Advertencia: no hay un complemento de Stremio activo para este tipo. Se muestran elementos guardados, nada aquí se actualizará","DISCOVER_LOAD_ERR":"El contentido no se cargó, ocurrió un error.","DISCOVER_ADDON_UNINSTALLED":"Este contenido ya no está disponible, es posible que hayas desinstalado el complemento.","UNINSTALL_THIS_ADDON":"Desinstalar este complemento","ERR_ADDON_NOT_INSTALLED":"Este complemento no está instalado. ¿Instalar ahora?","DETAIL_RECEIVE_NOTIF_SERIES":"Recibir notificaciones de nuevos episodios","DETAIL_RECEIVE_NOTIF_VIDEOS":"Recibir notificaciones de nuevos videos","SIDEBAR_SHOW_STREAMS":"Mostrar transmisiones","RELAUNCH":"¡Relanzar ahora!","UPGRADE":"¡Una nueva versión está disponible! Actualiza a la versión más reciente de Stremio","RELOAD_UI":"Recargar la interfaz de usuario","MANUAL_UPDATE_TITLE":"Actualice su versión de Stremio","MANUAL_UPDATE_LINE1":"Está ejecutando una versión desactualizada de Stremio lo cual no se recomienda.","MANUAL_UPDATE_LINE2":"Por favor, actualice lo antes posible.","BUTTON_UPDATE_LATTER":"Ahora no","BUTTON_UPDATE_NOW":"Actualizar","ANONYMOUS_USER":"Usuario anónimo","DONT_HAVE_ACC":"¿No tienes una cuenta?","HAVE_ACC":"¿Ya tiene una cuenta?","PASSWORD":"Contraseña","PASSWORD_CONFIRM":"Confirme su contraseña","EMAIL":"Correo electrónico","FB_LOGIN":"Continuar con Facebook","FB_NOTHINGSHARED":"Nada será compartido sin su permiso","FB_NOPOST":"No publicaremos nada en su nombre","OR":"o","I_ACCEPT":"Yo acepto los","I_ACCEPT_BY_CLICKING":"Al hacer clic en el botón de arriba testifico que acepto los ","TOS":"Términos y Condiciones","MUST_ACCEPT_TERMS":"Debes aceptar los términos","PASSWORDS_NOMATCH":"Las contraseñas no coinciden","SIGN_UP":"Regístrate","SIGN_UP_EMAIL":"Regístrese con un correo electrónico","CLICK_TO_SIGN_UP":"Clic aquí para registrarse.","LOG_IN":"Iniciar sesión","LOG_OUT":"Cerrar sesión","EXIT_FULLSCREEN":"Salir de modo pantalla completa","ENTER_FULLSCREEN":"Entrar en modo pantalla completa","PLAY_URL_MAGNET_LINK":"Reproducir URL/enlace magnético","HELP_FEEDBACK":"Ayuda y retroalimentación","TERMS_OF_SERVICE":"Términos del servicio","PRIVACY_POLICY":"Política de privacidad","ABOUT_STREMIO":"Sobre Stremio","USER_PANEL":"Panel de usuario","LOGIN_LABEL":"Acceder","GUEST_LOGIN":"Acceder como invitado","GUEST_LOGIN_NOTICE":"Acceder como invitado no es recomendable. Ingresar con tu cuenta le permite a Stremio sincronizar tu Biblioteca y recibir notificaciones para tus series/canales favoritos. ¿Estás seguro de que quieres continuar?","GUEST_LOGIN_NOTICE_2":"Acceder como invitado no es recomendable - no se sincronizaran las notificaciones de la Biblioteca y el Panel, que son carácterísticas vitales de Stremio. ¿Seguro que desea continuar?","CLICK_HERE":"clic aquí","WRONG_PASSWORD":"Correo electrónico y/o contraseña incorrectos. En caso de que haya olvidado su contraseña, ","SET_A_PASS":"establecer una contraseña","RESET_PASSWORD":"Restablecer contraseña","FORGOT_PASSWORD":"¿Olvidaste tu contraseña?","EMAIL_USED_WITH_FB":"Este correo electrónico ya fue utilizado con un inicio de sesión de Facebook.","INVALID_EMAIL":"Por favor, ingrese un correo electrónico válido","INVALID_PASSWORD":"Por favor, ingrese una contraseña válida","CONN_ERR":"Error de conexión - por favor, inténtelo de nuevo más tarde.\\n\\nSi esto persiste, desactivar programas cortafuegos / antivirus (especialmente Bitdefender).","IMPORT_FROM_GUEST":"Importar Biblioteca desde su cuenta de invitado","RECEIVE_UPDATES_EMAIL":"Recibe novedades de Stremio en tu correo electrónico","LOGIN_FAILED":"Error al iniciar sesión.","SIGNUP_FAILED":"Error al registrarse.","SEARCH_FAILED":"Error al buscar","EMAIL_USED":"Este correo electrónico ya está en uso.","WAITING_FB_LOGIN":"Iniciando sesión con Facebook...","EXTERNAL_PLAYER_TITLE":"Reproducir en reproductor externo","EXTERNAL_REMEMBER_PLAYER":"¿Quieres recordar tu elección?","EXTERNAL_ALWAYS_PLAY":"Si","EXTERNAL_ONLY_ONCE":"No","BEST_FIT":"Mejor Ajuste","FIT_SCREEN":"Ajustar a la pantalla","FILL":"Rellenar","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"Cuéntanos de tus gustos","INTRO_TASTE_LONG":"Cuéntanos que te gustaría ver","INTRO_TASTE_PICK":"Selecciona {{interestsRemaining}} intereses","INTRO_TASTE_PICK_MORE":"Selecciona {{interestsRemaining}} más intereses","INTRO_TASTE_HELP_US":"Ayúdanos a saber más de ti.","INTRO_TASTE_CHOOSE_THESE":"Escoge algunos de estos:","INTRO_TASTE_CHOOSE_MIN":"Escoge al menos 3 categorías","INTRO_TASTE_CHOOSE_MIN_ERR":"¡Tienes que seleccionar al menos 3 categorías!","INTRO_TASTE_LIFESTYLE":"Estilo de vida","INTRO_TASTE_SPORTS":"Deportes","INTRO_TASTE_FOOD_HEALTH":"Comida y Salud","INTRO_TASTE_BEAUTY_FASHION":"Belleza y Moda","INTRO_TASTE_NEWS":"Noticias","INTRO_TASTE_GAMING":"Juegos","INTRO_TASTE_SCIENCE_EDU":"Ciencia y Educación","INTRO_TASTE_MUSIC":"Música","INTRO_TASTE_TRAVEL":"Viajes","INTRO_TASTE_LATE_NIGHT":"Espectáculo nocturno","INTRO_TASTE_REALITY":"Reality","INTRO_TASTE_COMEDY":"Comedia","INTRO_TASTE_DIY":"Hazlo tú mismo","INTRO_TASTE_TECH":"Tecnología","INTRO_TASTE_CINEMA":"Cinema","ADDON_NOT_SUPPORTED":"El complemento seleccionado no es soportado en esta plataforma.","ADDON_DISCLAIMER":"El uso de complementos siempre estarán sujetos a su responsabilidad y la ley de gobierno de la jurisdicción en que te encuentres.","ADDON_ACTIVATE":"¿Activar este complemento?","ADDON_REPO_ADD":"URL del repositorio de complementos","ADDON_ADD":"Agregar","INSTALL_ADDON":"Instalar extensión","ADD_ADDON":"Agregar complemento","ADD_ADDON_DESCRIPTION":"Puedes agregar un complemento a través de un enlace externo, que aparecerá en complementos instalados.","PASTE_ADDON_URL":"Pegar enlace de complemento","WHATS_NEW":"Qué hay de nuevo","BUTTON_CONTINUE":"Continuar","BUTTON_ACTIVATE":"Activar","BUTTON_ACTIVATED":"Activado","BUTTON_CANCEL":"Cancelar","BUTTON_SUBMIT":"Enviar","BUTTON_DISMISS_ALL":"Descartar todo","BUTTON_VIEW_ALL":"ver todo","BUTTON_SEE_ALL":"Ver Todo","BUTTON_COLOR_TRANSPARENT":"Transparente","OPEN_IN_BROWSER":"Abrir en el navegador","LIB_EMPTY":"Su biblioteca se ve vacía. Averigüe lo útil que es :) ","HOW_START":"Así es cómo puedes empezar:","LIB_EMPTY_CAL":"Su calendario muestra series en su Biblioteca.","HOW_START_CAL":"Así es como se puede agregar series:","LIB_EMPTY_BOARD":"El Panel muestra notificaciones y recomendaciones relacionadas con su Biblioteca.","HOW_START_BOARD_WAIT":"Por favor, añada algunas series o canales a su Biblioteca y denos unos minutos para procesarlo :)","HOW_START_BOARD":"Así es como se puede agregar series y películas a la misma:","IMPORT_FB":"Importa cosas que te gustan desde <span>Facebook</span>","IMPORT_TRAKT":"Importa tu biblioteca multimedia de <span>Trakt</span>","IMPORT_DISCOVER":"Encontrar cosas interesantes de <span>Descubrir</span>","IMPORT_DISK":"Importar películas o series que tiene en su <span>disco local</span>","PLEASE_CREATE_ACC":"Por favor <u>crea una cuenta</u> para activar la sincronización de la Biblioteca y Panel.","IMPORT_DISCOVER_SIGNUP":"Regístrate y encuentra cosas interesantes en <span>Descubrir</span>","IMPORT_DISK_SIGNUP":"Regístrate e importa películas o series desde tu <span>disco local</span>","LIB_EMPTY_CLOUD":"Biblioteca en la nube","LIB_EMPTY_CLOUD_DESC":"Biblioteca en la nube personal y sincronizada con todos los dispositivos","LIB_EMPTY_EARLY":"Acceso temprano","LIB_EMPTY_EARLY_DESC":"Recibir notificaciones de nuevos episodios","LIB_EMPTY_PERSONAL":"Personal","LIB_EMPTY_PERSONAL_DESC":"Obtener recomendaciones personalizadas","LIB_EMPTY_CALENDAR_DESC":"Programe su calendario de visualización personal","LIB_EMPTY_ALL":"Regístrese para obtener todo esto:","LIB_EMPTY_BEST":"Regístrese para obtener lo mejor de Stremio","LIB_EMPTY_OTHER":"Regístrese para habilitar el Calendario y otras excelentes características","CALENDAR_ADDED":"El calendario de Stremio ha sido agregado a su calendario de escritorio por defecto.","CALENDAR_ADDED_MSG":"Si esto no funciona, por favor agregue esta URL manualmente a su aplicación de calendario","TRAKT_EXPIRED":"La autenticación de Trakt expiró, vaya a Configuración y vuelva a autenticar","TRAKT_REQUIRES_LOGIN":"Error de Trakt","TRAKT_REQUIRES_LOGIN_MSG":"Necesitas iniciar sesión","TRAKT_IMPORT_WATCHED":"Importar","THEME":"Tema","THEME_DEFAULT":"Por defecto","THEME_ADAPTIVE":"Adaptativo","SETTINGS_LABEL":"Configuración","SETTINGS_NAV_GENERAL":"General","SETTINGS_NAV_PLAYER":"Reproductor","SETTINGS_NAV_STREAMING":"Transmisión","SETTINGS_NAV_SHORTCUTS":"Atajos","SETTINGS_SHORTCUT_RELOAD_APP":"Recargar Aplicación","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Abrir Configuración","SETTINGS_SHORTCUT_SWITCH_TABS":"Cambiar Pestañas","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Desplazarse por las Pestañas hacia Adelante","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Desplazarse por las Pestañas hacia Atrás","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navegar entre Menús","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Ir a Buscar","SETTINGS_SHORTCUT_EXIT_BACK":"Salir / Regresar","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Alternar el menú de velocidad de reproducción","SETTINGS_SHORTCUT_MENU_VIDEOS":"Alternar menú de videos","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Alternar menú de subtítulos","SETTINGS_SHORTCUT_MENU_INFO":"Alternar menú de información","SETTINGS_SHORTCUT_FULLSCREEN":"Alternar Pantalla Completa","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Mostrar Controles","SETTINGS_SHORTCUT_PLAY_PAUSE":"Reproducir / Pausar","SETTINGS_SHORTCUT_VOLUME_UP":"Subir Volumen","SETTINGS_SHORTCUT_VOLUME_DOWN":"Bajar Volumen","SETTINGS_SHORTCUT_SEEK_NEXT":"Buscar Siguiente","SETTINGS_SHORTCUT_SEEK_PREV":"Buscar Previo","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Buscar hacia atrás","SETTINGS_SHORTCUT_SEEK_FORWARD":"Buscar hacia adelante","SETTINGS_SHORTCUT_PLAY_NEXT":"Reproducir Siguiente","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Aumentar Tamaño del Subtítulo","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Reducir Tamaño del Subtítulo","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Aumentar Retraso del Subtítulo","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Reducir Retraso del Subtítulo","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Alternar Menu Lateral","SETTINGS_SHORTCUT_OR":"o","SETTINGS_SHORTCUT_TO":"a","SETTINGS_SHORTCUT_SPACE":"Espacio","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Autenticar","SETTINGS_FACEBOOK_IMPORT":"Importar","SETTINGS_CALENDAR_SUBSCRIBE":"Suscribir","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Lenguaje de interfaz","SETTINGS_LAUNCH_STARTUP":"Abrir cuando arranque el equipo","SETTINGS_VLC_DEFAULT":"Reproducir con VLC","SETTINGS_UI_LANGUAGE":"Idioma de la interfaz de usuario","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Tecla de escape para salir del modo pantalla completa","SETTINGS_GAMEPAD":"Habilitar soporte para mando","SETTINGS_CLOSE_WINDOW":"Cerrar la aplicación cuando se cierra la ventana","SETTINGS_SUBTITLES_LANGUAGE":"Idioma de subtítulos predeterminado","SETTINGS_SUBTITLES_SIZE":"Tamaño de subtítulos predeterminado","SETTINGS_SUBTITLES_BACKGROUND":"Fondo de subtítulos","SETTINGS_SUBTITLES_COLOR":"Color de subtítulos","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Color del contorno de los subtítulos","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Color de fondo de los subtítulos","SETTINGS_SEEK_KEY":"Tiempo de búsqueda de las teclas de flecha","SETTINGS_SEEK_KEY_SHIFT":"Tiempo de búsqueda de las teclas de flecha cuando se mantiene la tecla Shift","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Duración de rebobinado y avance rápido","SETTINGS_BINGE":"Comenzar automáticamente el siguiente episodio","SETTINGS_NEXT_VIDEO":"Mostrar notificación para que comience el siguiente episodio","SETTINGS_NEXT_VIDEO_TRIGGER":"Mostrar la notificación de próximo episodio para:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Duración de la ventana emergente del siguiente video","SETTINGS_PLAY_IN_BACKGROUND":"Reproducir en segundo plano","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Reproducir en un reproductor externo","SETTINGS_RESIZE":"Ajustar ventana automáticamente antes de reproducir","SETTINGS_OVERRIDE_SERVER":"Anular la URL del servidor de transmisión (avanzado)","SETTINGS_SERVER_URL":"URL del servidor de transmisión ","SETTINGS_SERVER_AVAILABLE":"El servidor de transmisión está disponible.","SETTINGS_SERVER_UNAVAILABLE":"El servidor de transmisión no está disponible.","SETTINGS_SERVER_STATUS_ONLINE":"En linea","SETTINGS_SERVER_STATUS_ERROR":"Error","SETTINGS_SERVER_CONFIGURE_TITLE":"Configurar enlace del servidor de transmisión","SETTINGS_SERVER_CONFIGURE_INPUT":"Ingrese enlace del servidor de transmisión","SETTINGS_SERVER_CACHE_SIZE":"Tamaño de caché","SETTINGS_SERVER_TORRENT_PROFILE":"Perfil de torrent","SETTINGS_HTTPS_ENDPOINT":"Punto final HTTPS de transmisión: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Utilice siempre la última Beta","SETTINGS_IMPORT_FB":"Importar desde Facebook","SETTINGS_IMPORT_DISK":"Importar desde el disco local","SETTINGS_IMPORT_TRAKT":"Importar desde Trakt","SETTINGS_PAUSE_MINIMIZED":"Pausar la reproducción cuando se minimiza","SETTINGS_HWDEC":"Decodificación acelerada por hardware","SETTINGS_BACKGROUND":"Reproducción de fondo","SETTINGS_SUBSCRIBE_CALENDAR":"Suscribirse al calendario","SETTINGS_REQ_EXPORT":"Solicitar mis datos","SETTINGS_ACC_DELETE":"Eliminar mi cuenta","SETTINGS_CHANGE_PASSWORD":"Cambiar contraseña","SETTINGS_TOS":"Términos de servicio","SETTINGS_SUPPORT":"Soporte","SETTING_LANGUAGE":"Idioma","SETTINGS_TRAKT":"Seguimiento con Trakt","SETTINGS_TRAKT_LOGOUT":"Salir de Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Salir de Trakt","SETTINGS_SCAN_FOR_REMOTE":"Escanear código QR para abrir el control remoto","SETTINGS_DESKTOP_NOTIFICATIONS":"Notificaciones de escritorio","SETTINGS_DATA_SAVER":"Ahorrador de datos","SETTINGS_LANGUAGE_INTERFACE":"interfaz","SETTINGS_LANGUAGE_SUBS":"Subtítulos por defecto","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Autoseleccionar Pista de Audio","SETTINGS_DEFAULT_AUDIO_TRACK":"Pista de Audio por defecto","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"cuenta","SETTINGS_PLATFORM":"Plataforma","SETTINGS_VERSION":"versión","SETTINGS_ABOUT":"Acerca de","SETTINGS_MPV_WINDOW":"Abrir reproductor en una ventana separada (avanzado)","SETTINGS_PLAY_IN_EXTERNAL":"Iniciar siempre el video en un reproductor externo","SETTINGS_STORAGE_BUTTON":"Borrar almacenamiento local","SETTINGS_STORAGE_MODAL_TITLE":"¿Está seguro?","SETTINGS_STORAGE_MODAL_MESSAGE":"Esta opción borrará el almacenamiento local y terminará su sesión.","SETTINGS_HWDEC_PICKER":"Selecciona la configuración de decodificación acelerada por hardware","SETTINGS_HW_AUTOMATIC":"Automático","SETTINGS_HW_DISABLED":"Deshabilitada","SETTINGS_HW_ACCELERATED":"Decodificación Acelerada","SETTINGS_HW_FULL":"Aceleración Completa","SETTINGS_HW_LEGACY":"Legado","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"URL remota","SETTINGS_COPY_REMOTE_URL":"Copiar URL remota","SETTINGS_REMOTE_URL_COPIED":"La URL remota fue copiada a tu portapapeles","SETTINGS_SECTION_SUBTITLES":"Subtítulos","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Controles","SETTINGS_SECTION_AUTO_PLAY":"Reproducción automática","SETTINGS_SECTION_ADVANCED":"Avanzado","SUBSPICKER_AUDIO":"Audio","SUBSPICKER_SUBTITLES":"Subtítulos de complementos","SUBSPICKER_BLACK_BACKGROUND":"Usar color de fondo negro","SUBSPICKER_VERTICAL_OFFSET":"Desplazamiento Vertical","SUBSPICKER_SIZE":"Tamaño","SUBSPICKER_DELAY":"Retraso","SUBSPICKER_EMBEDDED_SUBS":"Subtítulos Embebidos","MOBILE_PRIVACY_POLICY":"Política de Privacidad","MOBILE_CRASH_REPORTING":"Reporte de Errores","MOBILE_ZOOM_TO_FILL":"Aumentar para Rellenar la Pantalla","MOBILE_PASSTHROUGH":"Salida de audio digital (passthrough)","MOBILE_RUN_LOW_BATTERY":"Ejecutar con batería baja","MOBILE_RUN_FOREGROUND":"Ejecutar en segundo plano","MOBILE_PERFORMANCE":"Rendimiento y Estabilidad","MOBILE_SERVER_ONLINE":"En Línea","MOBILE_SERVER_OFFLINE":"Desconectado","MOBILE_QR_EXPIRES":"El Código QR expira en ","MOBILE_LOG_INTO":"Iniciar sesión en tu cuenta de Stremio ","MOBILE_SCAN_QR":"Escanea el Código QR de arriba o visita ","MOBILE_LINK_ACCOUNT":"Asociar Cuenta","MOBILE_SPEEDPICKER_CANCEL":"Cancelar","MOBILE_SPEEDPICKER_LABEL":"Seleccionar Velocidad de Reproducción","MOBILE_EMPTY_LIBRARY":"Tu Biblioteca está vacía","MOBILE_NO_ADDON_ACTIVE":"No hay complemento de Stremio activo para este tipo.","MOBILE_ORGANIZER_WARNING":"La aplicación Stremio Organizer proporciona una funcionalidad limitada. Para obtener una lista de transmisiones reproducibles y la experiencia completa de Stremio, use Stremio en el escritorio.","MOBILE_ADDON_LOADING":"todavía está cargando","MOBILE_ADDONS_LOADING":"los complementos aún se están cargando","MOBILE_ADDON":"Complemento","MOBILE_CONFIGURE_ADDON":"Configura tu complemento","MOBILE_CONFIGURE_ADDON_LABEL":"Configurar Complemento","MOBILE_ORGANIZER_ADDONS_WARNING":"La aplicación Stremio Organizer ofrece una selección limitada de complementos. Para disfrutar de la experiencia completa de Stremio, use Stremio en el escritorio.","MOBILE_DISCONNECT":"Desconectar","MOBILE_LOOKING_FOR_DEVICES":"Buscando dispositivos...","MOBILE_CAST_TO":"Emitir a","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Eliminar cuenta","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"La eliminación de la cuenta no es instantánea debido a obligaciones legales. Después de solicitar la eliminación de su cuenta, tendrá que utilizar un correo electrónico/perfil de Facebook diferente para crear una nueva cuenta de Stremio","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirmar eliminación de la cuenta","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Su cuenta ha sido creada usando Facebook. Para eliminar su cuenta, utilice nuestro portal de usuario en www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Proporcione su contraseña para confirmar la eliminación de su cuenta.","MOBILE_DELETE_ACCOUNT_BUTTON":"Eliminar cuenta","NAVIGATION_ON":"Encendido","NAVIGATION_OFF":"Apagado","MARKETING_AGREE":"Acepto recibir comunicaciones de marketing de Stremio","QUIT":"Salir","CONNECTED":"Conectado","AUTHENTICATE":"Autenticar","CACHING":"Almacenamiento en caché","SETTINGS_CACHING_DRIVE":"Seleccione la unidad de almacenamiento en caché","ENABLE_LOCAL_FILES_ADDON":"Habilite el complemento de archivos locales (requiere reiniciar)","LOCAL_ADDON_NOT_ENABLED":"El complemento local no está habilitado. Haga clic aquí para ir a la configuración y habilitarlo","ENABLE_REMOTE_HTTPS_CONN":"Habilitar conexiones HTTPS remotas","TORRENT_PROFILE":"Perfil de Torrent","DATA_CACHING":"Caché almacenada","MAGNET_PARSING":"Analizando un enlace magnético","January":"Enero","February":"Febrero","March":"Marzo","April":"Abril","May":"Mayo","June":"Junio","July":"Julio","August":"Agosto","September":"Septiembre","October":"Octubre","November":"Noviembre","December":"Diciembre","Monday":"Lunes","Tuesday":"Martes","Wednesday":"Miércoles","Thursday":"Jueves","Friday":"Viernes","Saturday":"Sábado","Sunday":"Domingo","Action":"Acción","Comedy":"Comedia","War":"Guerra","Family":"Familia","Animation":"Animación","Adventure":"Aventura","Fantasy":"Fantasía","Crime":"Crimen","Mystery":"Misterio","Romance":"Romántico","Drama":"Drama","Horror":"Terror","Thriller":"Suspenso","Sci-Fi":"Ciencia ficción","Music":"Música","Biography":"Biografía","Documentary":"Documental","Sport":"Deporte","Musical":"Musical","Western":"Western","Film-Noir":"Film-Noir","News":"Noticias","History":"Historia","Game-Show":"Programa de juegos","Reality-TV":"Reality shows","Talk-Show":"Programa de entrevistas","Film & Entertainment":"Cine y Entretenimiento","Gaming":"Juegos","From TV":"De la televisión","Lifestyle":"Estilo de vida","Science & Education":"Ciencia y Educación","Cooking & Health":"Cocina y Salud","Beauty & Fashion":"Belleza y Moda","Sports":"Deportes","News & Politics":"Noticias y Política","How-to & DIY":"Cómo hacer y bricolaje","Tech":"Tecnología","Automotive":"Automotores","Causes & Non-Profits":"Causas y Fines de Lucro","Movies":"Películas","Uk Live Tv":"TV británica en vivo","Fashion":"Moda","Business News Radio":"Noticias de negocios - Radio","Business Tv":"Negocios TV","Cars & Auto":"Autos","Comedy Radio":"Comedia - Radio","Lifestyle Radio":"Estilo de vida - Radio","News Tv":"Noticias TV","Food And Wine":"Comida y Vino","Latino Tv":"Latino TV","Shopping Tv":"Compras TV","Religion":"Religión","Kids":"Niños","Body & Soul":"Cuerpo y Alma","Education":"Educación","Indian Tv":"India TV","Extreme Sports":"Deportes extremos","Middle Eastern Tv":"Medio oriente TV","Celebrity Tv":"Celebridades TV","Science Tv":"Ciencia TV","Bikini babe":"Bikini babe","Outdoors":"Al aire libre","German Tv":"TV alemana","French Tv":"TV francesa","Italian Tv":"TV italiana","Gamer Tv":"TV Videojuegos","Travel":"Viajes","Asian Tv":"TV asiática","Entertainment":"Entretenimiento","News Radio":"Noticias - Radio","Music Radio":"Música - Radio","Language Learning":"Aprendizaje de idiomas","Science Radio":"Ciencia - Radio","Tech Radio":"Tecnología - Radio","Science & Technology Vod":"Ciencia y Tecnología VBD","new video":"nuevo video","new episode":"nuevo episodio","new movie":"nueva película","recommended":"recomendado","we recommend":"recomendamos","offer of the day":"oferta del día","news":"noticias","music video":"vídeo musical","CTX_SHOW_HOTKEYS":"Mostrar teclas de acceso rápido","CTX_DISMISS_NOTIF":"Descartar notificaciones","CTX_DISMISS_ALL":"Descartar todo","CTX_SHARE":"Compartir","CTX_COPY_SHARE_LINK":"Copiar enlace para compartir","CTX_COPY_MAGNET_LINK":"Copiar enlace magnético","CTX_COPY_STREAM_LINK":"Copiar enlace de la transmisión","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copiar enlace de descarga del video","CTX_DOWNLOAD_VIDEO":"Descargar este vídeo","CTX_DOWNLOAD_SUBS":"Descargar subtítulos","CTX_VIEW_ON_YOUTUBE":"Ver en YouTube","CTX_SHOW":"Mostrar","CTX_PLAY":"Reproducir","CTX_PLAY_IN":"Reproducir aquí","CTX_PLAY_ON":"Reproducir en","CTX_WATCH_ON":"Ver en","CTX_WATCH":"Ver","CTX_WATCHED":"Visto","CTX_WATCH_BEGINNING":"Mirar desde el principio","CTX_WATCH_MOBILE":"Ver en un dispositivo móvil","CTX_REWIND":"Retroceder al comienzo","CTX_MARK_WATCHED":"Marcar como visto","CTX_MARK_NON_WATCHED":"Marcar como no visto","CTX_MARK_UNWATCHED":"Marcar como no visto","CTX_MARK_REST":"Marcar el resto como visto","CTX_UNMARK_REST":"Marcar el resto como no visto","CTX_RECEIVE_NEW_NOTIF":"Recibir notificaciones nuevas","CTX_ENABLE_NEW_NOTIF":"Habilitar notificaciones","CTX_DISABLE_NEW_NOTIF":"Deshabilitar notificaciones","CTX_REMOVE_CACHE":"Eliminar de caché","CTX_REMOVE_CACHE_EP":"Eliminar el episodio de la memoria caché","CTX_OPEN_CONTAINING":"Abrir carpeta contenedora","CTX_REMOVE":"Eliminar de la Biblioteca","CTX_AVAILABLE_OFFLINE":"Disponible sin conexión","CTX_PAUSED":"Pausado","CTX_ALWAYS_ON_TOP":"Siempre en la parte superior","CTX_FULLSCREEN":"Pantalla completa","CTX_WRONG_SUBS":"¿Subtítulos erróneos?","CTX_REPORT_ISSUES":"Reportar un problema","CTX_COPY":"Copiar","CTX_PASTE":"Pegar","CTX_CLEAR":"Limpiar","CTX_CLEAR_RECENT_SEARCHES":"Borrar búsquedas recientes","HELLO_THERE":"Hola","HOPE_YOU_ENJOY":"¡Esperamos que disfrute de Stremio y sea una de sus aplicaciones favoritas!","WHO_ARE_WE":"¿Quiénes somos? Somos el equipo detrás de ella <br>dos chicos que trabajan duro todos los días durante los últimos 3 años, con un único objetivo <br>para hacer este producto cada vez mejor.","SUPPORT_US":"Si disfrutas usando Stremio, si Stremio es valioso para ti - apóyanos!","SPREAD_THE_WORD":"Comparte con tus amigos ahora, corre la voz sobre Stremio","MORE_PEOPLE":"Cuantas más personas usen Stremio, mejor será","SEND_A_LINK":"O envía un enlace de nuestro sitio web","TIP_LOCALFILES":"Consejo: puede arrastrar y soltar archivos de vídeo locales en Stremio","ADDON_MY":"Mis complementos","ADDON_COMMUNITY":"Complementos de la comunidad","ADDON_OFFICIAL":"Complementos oficiales","ADDON_REPOS":"Repositorios de complementos","ADDON_SEARCH":"Buscar complementos","ADDON_INSTALL":"Instalar","ADDON_CONFIGURE":"Configurar","ADDON_UNINSTALL":"Desinstalar","ADDON_UPGRADE":"Actualizar","ADDON_INSTALLED":"Instalado","ADDON_INSTALLED_MSG":"¡Complemento instalado!","ADDON_UPGRADED_MSG":"¡Complemento actualizado!","ADDON_UNKNOWN":"Desconocido","ADDON_ERR":"¡Error instalando complemento!","ADDON_DISCONNECTED":"Desconectado","ADDON_APP_MISSING":"la aplicación para este recurso no está instalada. ¿Quieres instalarla ahora?","ADDON_APP_INSTALL":"Instalar ahora","ADDON_PAGE":"Página del complemento","ADDON_TOP_CONTENT":"Lo mejor de este complemento","ADDON_PROVIDES":"Este complemento le proporciona:","ADDON_WATCH":"¡Ver #{types} ahora!","ADDON_WATCH_FREE":"¡Ver #{types} de forma GRATUITA ahora!","ADDON_ADDON":"Complemento","ADDON_SUPPORTED_TYPES":"Tipos compatibles","ADDON_SUPPORTED_CATALOGS":"Catálogos compatibles","ADDON_PROVIDES_DISCOVER":"Más #{types} en Descubrir","ADDON_PROVIDES_STREAMS":"Ver #{types}","ADDON_PROVIDES_STREAMS_FREE":"Ver #{types} de forma GRATUITA","ADDON_PROVIDES_SUBTITLES":"Subtítulos #{types}","ADDON_CANTDETECT":"No hemos podido detectar un Stremio en ejecución, así que no pudimos detectar qué complementos tiene instalado.","ERR_NO_META":"No se encontró información sobre esto ","ERR_GETTING_META":"Error al recuperar información sobre esto.","ERR_CANT_PARSE_MAGNET":"Incapaz de analizar enlace magnético","ERR_NO_MAGNET_INFOHASH":"Código hash inválido para enlace magnético","ERR_NO_FILE_PATH":"Incapaz de enviar solicitud sin una ruta de archivo","ERR_NO_TORRENT":"No se devolvió torrent","ERR_NO_SUPPORTERD_FILES":"No se encontraron archivos compartibles","ERR_OPENING_FILES":"No se pudieron abrir los archivos externos","ERR_INVALID_LINK":"Enlace inválido","ERR_REGISTERED_ONLY":"Esta opción está disponible solo para usuarios registrados.","ERR_CLIPBOARD":"No se puede reproducir desde el portapapeles","ERR_CLIPBOARD_READ":"Desde esta plataforma no se puede acceder al portapapeles","ERR_CLIPBOARD_GENERIC":"No se ha encontrado ningún URL reproducible en el portapapeles. Por favor, copie una URL (por ejemplo un enlace magnético) que lleve a un vídeo.","BOARD_CONTINUE_WATCHING":"Continuar viendo","BOARD_EXPLANATION_RECOMMENDATIONS":"Películas elegidas especialmente para ti.<br />Esta película es una muestra de recomendación.","BOARD_EXPLANATION_EPISODES":"Los nuevos episodios de tus series favoritas están aquí<br />Agrega las series que sigues en tu Biblioteca.","BOARD_EXPLANATION_VIDEOS":"Los nuevos videos de tus canales favoritos están aquí.<br />Agrega los canales de YouTube que sigues a tu Biblioteca.","WEBSITE_ENJOYED_BY":"Disfrutado por más de 30 millones de usuarios en todo el mundo","WEBSITE_STREAMING_ENHANCED":"Transmisión mejorada","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio ofrece una experiencia de entretenimiento segura, moderna y fluida. Con su interfaz fácil de usar y su diversa biblioteca de contenido, incluida la compatibilidad con 4K HDR, los usuarios pueden disfrutar de sus películas y programas de TV favoritos en todos sus dispositivos. Y con su compromiso con la seguridad, Stremio es la mejor opción para un servicio de sin preocupaciones y experiencia de transmisión de calidad.","WEBSITE_AVAILABLE_ON":"Disponible en","WEBSITE_WATCH_AND_ENJOY":"Ver y Disfrutar.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio lo hace muy fácil","WEBSITE_ALL_FEATURES":"Todas las características","WEBSITE_EASY_TO_USE":"Facil de usar","WEBSITE_EASY_TO_USE_DETAILS":"Stremio está diseñado para ser amigable para el usuario y fácil de usar. Con su interfaz limpia e intuitiva podrás navegar y encontrar fácilmente el contenido que deseas ver.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Sin interrupciones en todos los dispositivos","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Disponible en una amplia variedad de plataformas (incluido Windows, Mac, Linux, Android y más), Stremio realizará un seguimiento de su progreso en todos sus dispositivos. Solo inicia sesión y continúa viendo sin tener que configurar la aplicación nuevamente en cada dispositivo nuevo.","WEBSITE_ALL_DOWNLOADS":"Todas las Descargas","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"Soporte de vídeo de alta definición","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"Un reproductor de video integrado que soporta la mayoría de los formatos de video, incluido el contenido 4K HDR, le permite disfrutar de la más alta calidad disponible.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Biblioteca de contenido diverso","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio se integra con una grán cantidad de repositorios de video populares, como Netflix, Amazon Prime Video, Hulu, YouTube y muchos más.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Crea una cuenta gratis","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Experiencia de visualización personalizada","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio le permite personalizar la apariencia de la interfaz cambiando el tema, agregando o eliminando complementos y más.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Soporte de subtitulos multilenguaje","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"Ahora puede disfrutar de todo su contenido favorito su idioma preferido, ya que Stremio soporta subtitulos en todos los idiomas.","WEBSITE_ALL_STREMIO_FEATURES":"Todas las características de Stremio","WEBSITE_TRY_STREMIO_TITLE_P1":"Prueba Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"En tu TV ahora","WEBSITE_YOU_CAN_NOW_WATCH":"Ahora puede ver todos sus programas de TV favoritos en su dispositivo Android TV","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. La aplicación de Stremio le permite disfrutar una noche de cine con facilidad.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio para Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probablemente la mejor y más útil aplicación para tener en tu dispositivo. Es una de las aplicaciones que uso a diario, especialmente en mi Android TV desde hace muchos años. Bien hecho con una comunidad sólida que proporciona funcionalidades útiles. Bien hecho. Sigan con el buen trabajo.","WEBSITE_REVIEWS":"opiniones","WEBSITE_GET_STREMIO_FOR_FREE":"Obtén Stremio gratis","WEBSITE_GET_STREMIO_NOW":"Obtén Stremio ahora","WEBSITE_STREMIO_FEATURES":"Características de Stremio","WEBSITE_STREMIO_FEATURES_DETAILS":"Transmite como un profesional con las funciones avanzadas de Stremio y disfruta de un acceso fluido en todos tus medios favoritos","WEBSITE_DISCOVER_MORE":"Descubrir más.","WEBSITE_DISCOVER_MORE_DETAILS":"Nunca te quedes sin cosas para ver","WEBSITE_COMMUNITY_DRIVEN":"Impulsado por la comunidad","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio tiene una comunidad grande y activa de usuarios que contribuyen al desarrollo del software creando y compartiendo complementos.","WEBSITE_GET_INVOLVED":"Participa","WEBSITE_NEW_THEATER_EXPERIENCE":"Nueva experiencia de cine","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"La nueva aplicación de Stremio dedicada a la TV le permite disfutar una noche de cine en sus dispositivos Android TV.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"La nueva aplicación de Stremio dedicada a la TV le permite disfrutar una noche de cine en su Smart TV o dispositivos Android TV.","WEBSITE_FREE_AND_SECURE":"Gratis y Seguro","WEBSITE_STREAMING":"Transmisión","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio ofrece seguridad y privacidad inigualables para los usuarios. Con su característica única de ejecutar complementos de forma remota, Stremio proporciona una forma segura de transmitir su contenido favorito en comparación con otras plataformas. Su seguridad y privacidad son las principales prioridades, y la plataforma garantiza que todos tus datos estén protegidos.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Diga adiós a las preocupaciones sobre la seguridad y la privacidad y di hola a un mundo de entretenimiento sin final con Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Información proporcionada por","WEBSITE_CONTRIBUTE":"Contribuye","WEBSITE_CONTRIBUTE_DESC":"al proyecto y ayudanos a hacer Stremio aún mejor","WEBSITE_COMMUNITY_DESC":"Creemos que la mejor manera de crear una experiencia de streaming realmente sorprendente es involucrar a nuestra comunidad en el proceso. Si eres programador, artista o simplemente un fan, podrías ayudar a Stremio a crecer.","WEBSITE_COMMUNITY_DESC_2":"Únase a nosotros hoy y forme parte de la comunidad Stremio y siga dando forma al futuro del streaming","WEBSITE_WAYS_TO_GET_INVOLVED":"Maneras de involucrarse","WEBSITE_IN_THE_STREMIO_COMMUNITY":"en la comunidad de Stremio","WEBSITE_SHARE_YOUR_THOUGHTS":"Comparte tus pensamientos","WEBSITE_REPORT_BUGS":"Informa errores","WEBSITE_SUGGEST_FEATURES":"sugerir características","WEBSITE_AND_PROVIDE_FEEDBACK":"y proporciona comentarios en nuestros canales de redes sociales.","WEBSITE_BETA_TESTING_PROGRAM":"Programa de pruebas","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participe en nuestro programa de prueba (enviamos invitaciones regularmente) en la comunidad Stremio.","WEBSITE_JOIN_NOW":"¡Únete ahora!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Comunidades oficiales de Stremio","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Comunidades no oficiales de Stremio","WEBSITE_BECOME":"Conviértase","WEBSITE_A_VOLUNTEER_TRANSLATOR":"en traductor voluntario","WEBSITE_ARE_YOU_A_DEVELOPER":"¿Eres desarrollador?","WEBSITE_CONTRIBUTE_CODE":"Podrías contribuir con código a nuestros proyectos de código abierto. Tenemos varios proyectos en GitHub que buscan colaboradores. Si estás interesado en ayudar, échales un vistazo:","WEBSITE_STREMIO_ON_GITHUB":"Stremio en GitHub","WEBSITE_CREATE_ADDON_DESC":"Cree un complemento para mejorar la funcionalidad de Stremio (tenemos una API fácil de usar):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"También ofrecemos la oportunidad de unirse a nosotros como desarrollador en prácticas para poder crecer juntos.","WEBSITE_APPLY_AS_AN_INTERN":"Aplicar como practicante","WEBSITE_CALLING_ALL_ARTISTS":"¡Llamando a todos los artistas!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Demuestra tu creatividad y amor por Stremio subiendo tu fan art a nuestra galería en línea. Ya sea un dibujo, una pintura o un diseño digital, queremos ver su visión única de la marca Stremio. Únase a nuestra comunidad de entusiastas del arte y comparta su trabajo con otros fanáticos de Stremio en todo el mundo.","WEBSITE_STREMIO_FANART_GALLERY":"Galería Fanart de Stremio","WEBSITE_INTERN_DESIGNER":"Forme parte de nuestro equipo y lleve su creatividad a nuevas alturas con nuestras emocionantes oportunidades de pasantías.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Proyecto de películas de dominio público","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"En Stremio estamos comprometidos a preservar la historia del cine y la televisión identificando vídeos de dominio público y huérfanos. Al trabajar junto con nuestra comunidad, podemos garantizar que estas obras de arte clásicas sean accesibles para todos y estén protegidas para que las disfruten las generaciones futuras.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"No dude en contactarnos si desea involucrarse en ese proyecto.","WEBSITE_JOIN_THE_PROJECT":"Únase al Proyecto","WEBSITE_BE_PART_OF_OUR_MISSION":"Se parte de nuestra misión","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"¿Interesado en unirse al equipo Stremio? Ofrecemos trabajo totalmente remoto para profesionales apasionados. Consulte nuestras posiciones abiertas.","WEBSITE_OPEN_POSITIONS":"POSICIONES ABIERTAS","WEBSITE_DESCRIPTION":"DESCRIPCIÓN","WEBSITE_LEARN_MORE":"Aprende más","WEBSITE_COMPANY":"Compañía","WEBSITE_CONTACTS":"Contactos","WEBSITE_NEED_HELP":"¿Necesitas ayuda?","WEBSITE_STREMIO_WEB_ON_IOS":"Guía para Stremio Web en iOS","WEBSITE_LINK_ART_V2":"Galería de Fanart","WEBSITE_PARTNERS":"Socios","WEBSITE_SLOGAN_WATCH":"Disfrute al instante","WEBSITE_SLOGAN_ALL":"de todo el contenido de vídeo en un solo lugar","WEBSITE_SLOGAN_NEW":"Todo lo que puedes ver","WEBSITE_SLOGAN_NEW_NEW":"Libertad para transmitir","WEBSITE_WATCH_FROM":"Ver desde","WEBSITE_DOWNLOAD":"Descargar ahora","WEBSITE_DOWNLOAD_FOR":"Descargar para","WEBSITE_IS_DESKTOP":"Stremio es una aplicación de escritorio, abrí esta página en tu ordenador y descárgalo","WEBSITE_DESKTOP_DEMO_VID":"Demostración","WEBSITE_PAGE_HOME":"Inicio","WEBSITE_PAGE_FEATURES":"Características","WEBSITE_PAGE_ADDONS":"Complementos","WEBSITE_PAGE_TECH":"Tecnología","WEBSITE_PAGE_CREATE_ADDON":"Crear Complemento","WEBSITE_PAGE_CONTACTS":"Contactos","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Por favor ingresa tu contraseña deseada a continuación.","WEBSITE_RESET_PASSWORD_WARNING":"¿Está seguro de que desea restablecer su contraseña por ${1}?","WEBSITE_TYPE_movie":"Películas","WEBSITE_TYPE_series_PL":"Series","WEBSITE_TYPE_tv":"TV en vivo","WEBSITE_TYPE_channel":"Canales de Youtube","WEBSITE_STREMIO_WHAT_IS":"Stremio es una aplicación que le ayuda a organizar y ver al instante sus canales de videos, películas, series de televisión y canales de televisión favoritos.","WEBSITE_FEATURES_WATCH":"Ver en HD al instante","WEBSITE_FEATURES_WATCH_DETAIL":"Haga clic y reproduzca sus películas favoritas, programas de televisión, videos y canales de televisión.","WEBSITE_FEATURES_SUBS":"Subtítulos automáticos","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio selecciona automáticamente los subtítulos sincronizados para su idioma.","WEBSITE_FEATURES_SUBS_LABEL":"Tu turno, jefe.","WEBSITE_FEATURES_CAST":"Reproducir en TV y dispositivos móviles","WEBSITE_FEATURES_CAST_DETAIL":"Emitir en AppleTV, Chromecast, Smart TV (DLNA/UPnP) y dispositivos móviles.","WEBSITE_LIB":"Disfrute de su biblioteca personal sincronizado en todos sus dispositivos","WEBSITE_LIB_COLLECT":"Recoger información de Stremio","WEBSITE_LIB_IMPORT":"Importar desde Facebook","WEBSITE_LIB_LOCAL":"Añadir de la unidad local","WEBSITE_BOARD":"El Panel - Su lugar único para recibir Notificaciones y Recomendaciones","WEBSITE_BOARD_RECOMMEND":"Programa de televisión recomendado","WEBSITE_BOARD_TRENDING":"Tendencias en Películas","WEBSITE_BOARD_NEW":"Nuevo video","WEBSITE_BOARD_EPISODE":"Nuevo episodio","WEBSITE_BOARD_1":"¿Buscando algo interesante que ver?\\n¡Obtén recomendaciones basadas en lo que te gusta!","WEBSITE_BOARD_2":"¡Sea notificado cuando un nuevo episodio de su programa favorito de televisión o canal de YouTube esté disponible!","WEBSITE_BOARD_YOUTUBE":"Nuevos videos de canales de YouTube","WEBSITE_BOARD_EPISODES":"Nuevos episodios de las series que sigues","WEBSITE_ADDONS":"Complemento de contenidos","WEBSITE_TECH_DETAIL":"¡Nos encanta la tecnología, nos gusta la ciencia loca!\\nStremio utiliza las siguientes tecnologías de código abierto:","WEBSITE_TECH_WCJS":"WebChimera.js permite a Stremio reproducir cualquier formato de vídeo con un buen rendimiento.","WEBSITE_TECH_WCJS_EXTRA":"Somos contribuidores fundamentales del proyecto","WEBSITE_TECH_ELECTRON":"Electron proporciona una plataforma innovadora para construir Stremio.","WEBSITE_TECH_ELECTRON_EXTRA":"Somos contribuidores del proyecto","WEBSITE_TECH_LINVODB":"Una tecnología de base de datos que asegura que sus datos se organicen y estén disponible en cualquier lugar que inicie sesión.","WEBSITE_TECH_LINVODB_EXTRA":"Tecnología interna","WEBSITE_CREATE_ADDON":"Creé su complemento","WEBSITE_CREATE_ADDON_DETAIL":"¿Tiene un servicio para proporcionar contenido de vídeo?\\nVamos a ayudarle a beneficiarse de las características de Stremio creando su Complemento.","WEBSITE_CREATE_ADDON_BENEFITS":"Beneficios de crear un Complemento para Stremio","WEBSITE_P2P_BEAUTY":"La belleza de la transmisión Par a Par (P2P)","WEBSITE_P2P_1":"Vídeo o transmisión en vivo fiable y asequible en Full HD / 4K","WEBSITE_P2P_2":"La plataforma de distribución proporciona una gran experiencia de usuario","WEBSITE_P2P_3":"Vamos a crear un complemento para la satisfacción de sus necesidades exactas","WEBSITE_P2P_CONTACT":"¿Interesado? Eres bienvenido, <a href=\'mailto:office@stremio.com\'>Contáctenos</a>.","WEBSITE_P2P_CONTACT_EXTRA":"¡Estaremos encantados de ayudarle a integrar su contenido con Stremio!","WEBSITE_P2P":"De vez en cuando, llega una tecnología que cambia el nombre del juego. Hemos invertido un montón de tiempo y esfuerzo en la construcción de nuestro motor de transmisión de Par A Par (P2P) de vídeo que proporciona un gran rendimiento y versatilidad para adaptarse a cualquier caso de uso.\\nContáctenos por DRM-enabled P2P video en demanda o transmisión en vivo.","WEBSITE_THOUGHTS":"Pensamientos que compartimos:","WEBSITE_SPREAD":"Difunde Stremio en tus redes sociales:","WEBSITE_CONTACT":"Contacta con nosotros, ¡Estamos deseando escucharte!","WEBSITE_OPENSOURCE":"Para nuestros proyectos de código abierto, visita nuestro","WEBSITE_BITCOIN":"Donar Bitcoin:","WEBSITE_FAQ":"Preguntas frecuentes","WEBSITE_FAQ_SHORT":"Preguntas frecuentes","WEBSITE_QUESTIONS":"Preguntas","WEBSITE_TOS":"Términos de Uso","WEBSITE_LEGAL":"Legal","WEBSITE_PAGE_ABOUT":"Acerca de","WEBSITE_PAGE_BECOME_PARTNER":"Vuélvete un socio","WEBSITE_ALL_YOU_CAN_WATCH":"Libertad para ver\\nTodo lo que quieras.","WEBSITE_FREEDOM_TO_STREAM":"Libertad para transmitir","WEBSITE_WHAT_IS_STREMIO":"¿Qué es Stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio es un centro unificado para agregación de contenido de vídeo. Descubre, organiza y ver videos de todo tipo de fuente en cualquier dispositivo que poseas.","WEBSITE_WHAT_IS_STREMIO_P2":"Películas, programas de televisión, series, televisión en vivo o canales web como YouTube y Twitch.tv: puedes encontrar todo esto en Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio es un media center moderno que le ofrece una solución integral de entretenimiento por vídeo. Puede descubrir, ver y organizar su contenido de vídeo desde complementos de fácil instalación.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Películas, programas de TV, TV en directo o canales web - Stremio pone todo esto a su disposición.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Disfruta en todos tus dispositivos","WEBSITE_DEVICES_COLLECT":"Recopilar desde Stremio","WEBSITE_DEVICES_IMPORT_FB":"Importar desde Facebook","WEBSITE_DEVICES_LOCAL":"Agregar desde el disco local","WEBSITE_JOIN_THE_PARTY_NOW":"Únete a la fiesta ahora","WEBSITE_DEVICES_ALL":"Fácil de usar en todos tus dispositivos;","WEBSITE_EXTENDABLE_CATALOG":"Catálogo de videos extensible infinitamente;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Excelentes funcionalidades para organizar tu multimedia;","WEBSITE_AS_SEEN_ON":"Como se ve en","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"Acerca de nosotros","WEBSITE_LINK_TECHNOLOGY":"Tecnología","WEBSITE_LINK_APPS":"Aplicaciones","WEBSITE_LINK_DOWNLOADS":"Descargas","WEBSITE_MORE":"Más","WEBSITE_LINK_ADDONS":"Complementos","WEBSITE_LINK_ADDON_SDK":"SDK para extensiones","WEBSITE_LINK_CONTRIBUTE":"Contribuye","WEBSITE_LINK_COMMUNITY":"Comunidad","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... & Más","WEBSITE_LINK_HELP":"Centro de ayuda","WEBSITE_LINK_CONTACTS":"Preguntas de negocios","WEBSITE_LINK_TOS":"Términos y condiciones","WEBSITE_LINK_PRAVACY":"Política de privacidad","WEBSITE_SUBSCRIBE":"Suscribir","WEBSITE_NEWSLETTER":"Únete a nuestro boletín de noticias para cosas increíbles","WEBSITE_PLACEHOLDER_EMAIL":"Su correo electrónico","WEBSITE_COMMUNITY":"Comunidad","WEBSITE_LINK_PRAVACY_LEGAL":"Privacidad y legal","WEBSITE_WHY":"¿Por qué hacemos esto?","WEBSITE_WHY_P1":"En Stremio, trabajamos cada día porque queremos solucionar un problema importante en la industria de vídeo bajo demanda. Hay tanto contenido nuevo publicado cada minuto que es virtualmente imposible de encontrar el camino a él.","WEBSITE_WHY_P2":"Ayudamos a las personas a navegar aquel enorme mundo del entretenimiento en vídeo y descubrir nuevo contenido para disfrutar. Nuestras aplicaciones traen juntas películas, series, televisión en vivo, canales web y más. Estamos dedicados a hacer esto increíblemente fácil para los usuarios buscar títulos y transmisiones que amarán.","WEBSITE_WHY_P3":"Puedes usar nuestro servicio en cualquier dispositivo y en cualquier momento, haciendo Stremio el único centro de entretenimiento de vídeo que necesitaras.","WEBSITE_TEAM":"EQUIPO","WEBSITE_TEAM_P":"El equipo Stremio es pequeño pero poderoso: entre diez de nosotros, programamos en X lenguajes y compartimos habilidades en desarrollo de software, diseño UI y UX, mercadeo y publicidad, y negocios y startups.","WEBSITE_FEATURES":"Características","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Descubre nuevo contenido con facilidad","WEBSITE_FEATURES_DISCOVER_P":"Descubre fácilmente nuevas películas, programas de televisión, series y canales para ver. Busca por categoría, género, calificación, año, etc. o simplemente escribe un nombre para buscar. Stremio hace fácil encontrar nuevo contenido de vídeo.","WEBSITE_FEATURES_ALL_CONTENT":"Todo tu contenido de vídeo en una pantalla","WEBSITE_FEATURES_ALL_CONTENT_P1":"Mira que películas, series o vídeos no has terminado y continua viéndolos; obtén notificaciones de nuevos episodios y estrenos; y navega a través de recomendaciones que obtendrás basadas en tus hábitos.","WEBSITE_FEATURES_LIBRARY":"Organiza tus videos","WEBSITE_FEATURES_LIBRARY_P1":"Agrega cualquier título a tu biblioteca de Stremio con un solo clic y encuentra tu camino a través de tu contenido, perfectamente ordenado por tipo, año u orden alfabético.","WEBSITE_FEATURES_CALENDAR":"Mantiene seguimiento de todo lo que ves","WEBSITE_FEATURES_CALENDAR_P1":"Obtén un calendario de todas las películas y series que agregas a tu biblioteca. Exporta tu calendario Stremio y sincroniza este para que siempre sepas cuando hay un nuevo episodio o un estreno.","WEBSITE_FEATURES_BIG_SCREEN":"Disfruta tu contenido de video en una pantalla grande","WEBSITE_FEATURES_BIG_SCREEN_P1":"Transmite lo que sea que estés viendo a otro dispositivo - sea este un teléfono, tableta o un T.V. con un solo clic.","WEBSITE_FEATURES_SOURCES":"Ve videos de diferentes fuentes","WEBSITE_FEATURES_SOURCES_P":"Instala complementos oficiales y de la comunidad para disfrutar las fuentes de vídeo desde diferentes proveedores - todo en una aplicación elegante y fácil de usar.","WEBSITE_CREATE_AN_ADDON":"Crear un complemento","WEBSITE_FEATURES_SYNC":"Sincroniza tu biblioteca entre distintos dispositivos y continua la reproducción","WEBSITE_FEATURES_SYNC_P1":"Haz login en tu cuenta en todos los dispositivos y podrás disfrutar de tener tu biblioteca, complementos, lista de reproducción y calendario.","WEBSITE_FEATURES_EXTENDABLE":"Catálogo de videos ampliable a través de complementos","WEBSITE_FEATURES_EXTENDABLE_P1":"El complemento de catálogo de Stremio provee de una serie de complementos instalables que permiten ver contenido a través de ellos. Ésto incluye películas, series, televisión en directo, deportes, noticias, podcasts, suscripciones webs, video juego, etc.","WEBSITE_FEATURES_AUTO_SUBS":"Subtítulos automáticos","WEBSITE_FEATURES_AUTO_SUBS_P1":"Con nuestros complementos de subtítulos puedes obtener automáticamente una variedad de opciones en tu idioma.","WEBSITE_FEATURES_CHROMECAST":"Emitiendo a Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Disfruta del video en una pantalla más grande o envía lo que estás viendo a otro dispositivo.","WEBSITE_FEATURES_KEEP_TRACK":"Haz el seguimiento de tus series o canales favoritos.","WEBSITE_FEATURES_KEEP_TRACK_P1":"Obtén un calendario con notificaciones cuando haya nuevos episodios de tu serie o canal favoritos.","WEBSITE_FEATURES_POWER_USER":"Características de usuario experto","WEBSITE_FEATURES_POWER_USER_P1":"Ver en un reproductor externo.","WEBSITE_FEATURES_POWER_USER_P2":"Reproducir desde un fichero torrent o un enlace magnet","WEBSITE_FEATURES_POWER_USER_P3":"Importa en tu librería a través de los Me gusta de Facebook o desde tu disco duro local","WEBSITE_ADD_ONS":"Complementos","WEBSITE_ADD_ONS_P1":"Todo el contenido de vídeo que Stremio provee es obtenido a través de un sistema de complementos - no se ha incorporado ningún contenido o proveedor de contenido dentro de la aplicación.","WEBSITE_ADD_ONS_P2":"Hay dos grupos de complementos disponibles: oficiales y de la comunidad.","WEBSITE_ADD_ONS_P3":"Los complementos oficiales son desarrollados y alojados por Stremio, mientras que los complementos de la comunidad son creados por nuestros miembros de la comunidad, quienes también los alojan.","WEBSITE_ADDONS_OFFICIAL":"Complementos oficiales","WEBSITE_ADDONS_WATCHUB":"Reproduce tus películas, series y programas favoritos desde proveedores como iTunes, Hulu, Amazon y otros servicios de Estados Unidos y Reino Unido.","WEBSITE_ADDONS_YOUTUBE":"Mira tus canales favoritos de Youtube libres de publicidad y obtén notificaciones de nuevos vídeos de los contribuidores que sigues.","WEBSITE_ADDONS_FILMON":"Mira canales en vivo, películas y televisión pública gratis. 600 canales de televisión, 45000 películas, documentales y más gratis.","WEBSITE_ADDONS_OPENSUBTITLES":"Subtítulos de películas y televisión en múltiples lenguajes, miles de subtítulos traducidos subidos todos los días.","WEBSITE_ADDONS_COMMUNITY":"Complementos de la comunidad","WEBSITE_ADDONS_FILMON_VOD":"Mira vídeos bajo demanda desde Filmon.tv","WEBSITE_ADDONS_TWICH":"Mira programas en vivo desde Twitch.tv - una plataforma de transmisión de vídeo para la industria de deportes electrónicos.","WEBSITE_ADDONS_VODO":"Ve películas independientes completamente gratis.","WEBSITE_ADDONS_NETFLIX":"Ve películas de Netflix y series web.","WEBSITE_ADDONS_CREATE":"Crear un complemento","WEBSITE_ADDONS_CREATE_P1":"Si lo deseas, puedes desarrollar tu propio complemento. De esta manera, puedes darte a ti y a la comunidad acceso a nuevo contenido de vídeo, y alcanzar una nueva audiencia de millones de usuarios alrededor del mundo.","WEBSITE_ADDONS_START_CREATE":"Para empezar, visita la página del SDK de complementos de Stremio:","WEBSITE_DOWNLOADS":"Descargas","WEBSITE_DOWNLOADS_P1":"Para un óptimo rendimiento, recomendamos que uses la última versión disponible de las aplicaciones de Stremio. Si por alguna razón, deseas usar una versión anterior, puedes descargarla aquí.","WEBSITE_DOWNLOADS_P1_SHORT":"Para un óptimo rendimiento, recomendamos que uses la última versión disponible de las aplicaciones de Stremio.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio para Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio para macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio para Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio para Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio para Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio para Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio para Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio para iOS (versión limitada)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio para Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio para LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio para Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio para Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio para Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio para Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio para Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio para Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio para Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio para Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Buscar Stremio en el App Store de modelos de TV Samsung 2019+","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Buscar Stremio en el App Store de modelos TV LG 2020+","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Buscar Stremio en el Play Store de Sony TV ejecutando Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Buscar Stremio en el Play Store de Philips TV ejecutando Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Buscar Stremio en el App Store de tu dispositivo Xbox","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guía para Stremio OS en RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Descargar Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service es una aplicación complementaria para Stremio Web. Recomendamos utilizar la última versión disponible de Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service para Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service para macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service para Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service para Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"Más opciones de descarga","WEBSITE_DOWNLOAD_NEW":"¡Nuevo!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"Lanzamos Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"Lanzamos Stremio para Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"Lanzamos Stremio para LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"Lanzamos Stremio para Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"Lanzamos Stremio para Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"La plataforma Stremio es código abierto y puedes crear fácilmente un complemento para contenido que actualmente no posee fuente.","WEBSITE_CONTRIBUTE_WHY":"¿Por qué deberías crear un complemento?","WEBSITE_CONTRIBUTE_WHY_P1":"Alcanzar nueva audiencia para tu contenido de vídeo","WEBSITE_CONTRIBUTE_WHY_P2":"La base de usuarios de Stremio crece rápidamente - desde el primer año de lanzamiento, Stremio ha ganado 1 millón de usuarios alrededor del mundo, y en el segundo año de la existencia de la plataforma este número ha crecido a 2.5 millones.","WEBSITE_CONTRIBUTE_WHY_P3":"Con tu complemento fácilmente alcanzarás esta audiencia y distribuirás tu contenido de vídeo a ellos.","WEBSITE_CONTRIBUTE_ALL":"Mira tus películas, series y canales favoritos en un solo lugar.","WEBSITE_CONTRIBUTE_ALL_P1":"¿Eres aficionado de un un tipo particular de contenido no disponible aún en Stremio? Crea un complemento para este y disfruta de ver tus vídeos favoritos en uno de los centros de entretenimiento más grandes y fáciles de usar en el mercado.","WEBSITE_CONTRIBUTE_ALL_P2":"Además de eso, obtendrás la infinita gratitud de otros miembros de la comunidad de Stremio afines.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetiza tu complemento y gana dinero con su ayuda","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Una vez desarrolles un nuevo complemento para Stremio, puedes fácilmente monetizar este a través de diferentes maneras. Si estás considerando esto, siéntete libre de entrar en contacto con nosotros a ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - estaremos felices de consultarte y asesorarte sobre las opciones de monetización de tu complemento.","WEBSITE_CONTRIBUTE_TRANSLATE":"Conviértete en un traductor voluntario","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Si deseas disfrutar de las aplicaciones de Stremio en diferentes lenguajes, puedes unirte a nuestra comunidad de traductores voluntarios. Ellos nos ayudan a agregar versiones de Stremio en diferentes lenguajes.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"¿Estás ansioso por comenzar?","WEBSITE_TRANSALTE_STREMIO":"Traduce Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Comunidades oficiales","WEBSITE_COMMUNITY_OFFICIALS_P1":"Sé parte de la creciente comunidad de Stremio. Síguenos en redes sociales y no seas tímido de decir hola - ¡nos encanta escuchar a nuestros fanáticos! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Comunidades no oficiales","STREMIO_COMMUNITY_NL":"Stremio Países Bajos","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Alemania","STREMIO_COMMUNITY_BELGIUM":"Stremio Bélgica","STREMIO_COMMUNITY_FRANCE":"Stremio Francia","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italia","STREMIO_COMMUNITY_UK":"Stremio Reino Unido","STREMIO_COMMUNITY_USA":"Stremio Estados Unidos","STREMIO_COMMUNITY_MEXICO":"Stremio México","STREMIO_COMMUNITY_ADDONS":"Complementos de Stremio","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Socios y colaboradores","WEBSITE_COMMUNITY_GOODIES":"Stremio Goodies","WEBSITE_COMMUNITY_WALLPAPERS":"Fondos de pantalla","WEBSITE_COMMUNITY_ART":"Galería de Arte de la Comunidad","WEBSITE_LINK_ART":"Galería de arte de la comunidad","WEBSITE_CONTACT_US":"Contacta con nosotros","WEBSITE_CONTACT_US_P1":"Si tienes alguna pregunta, comentario o sugerencia, siéntete libre de entrar en contacto con nosotros a través del formulario de contacto más abajo.","WEBSITE_CONTACT_US_P2":"Ten presente que nos ubicamos en Bulgaria, entonces habrá un retraso en la respuesta a su consulta debido a las diferencias de zona horaria.","WEBSITE_CONTACT_US_SUCCESS":"Tu mensaje ha sido enviado. Nos pondremos en contacto contigo lo antes posible.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"¡Por favor escribe un correo electrónico válido!","WEBSITE_CONTACT_US_Q_RELATED_TO":"¿Con qué se relaciona su pregunta?","WEBSITE_CONTACT_US_Q_OS":"¿Cuál es su sistema operativo?","WEBSITE_CONTACT_US_PH_EMAIL":"Su correo electrónico","WEBSITE_CONTACT_US_PH_MESSAGE":"Mensaje","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"ENVIAR","WEBSITE_CONTACT_US_Q_1":"¿Cómo instalar?","WEBSITE_CONTACT_US_Q_2":"¿Cómo desinstalar?","WEBSITE_CONTACT_US_Q_3":"¿(HTML) Cómo hacer lasaña?","WEBSITE_CONTACT_US_Q_4":"Complementos","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Tecnología","WEBSITE_TECHNOLOGY_P1":"Amamos la tecnología y la ciencia loca. </br> Aquí está lo que potencia a Stremio (todo es código abierto).","WEBSITE_TECHNOLOGY_P_QT":"Desarrollo de software multiplataforma en su mejor momento.","WEBSITE_TECHNOLOGY_P_MPV":"Un reproductor libre, de código abierto y multiplataforma.","WEBSITE_TECHNOLOGY_P_RN":"React Native te permite desarrollar aplicaciones móviles usando solo Javascript.","WEBSITE_TECHNOLOGY_P_VLC":"Framework multimedia embebido en la aplicación para obtener multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm es una plataforma móvil y un reemplazo para SQlite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js es un entorno de Javascript multi-plataforma y de código abierto.","WEBSITE_TECHNOLOGY_P_RUST":"Rust es un lenguaje de programación de sistemas multi-paradigma que se enfoca en la seguridad, y más concretamente en ejecución concurrente de manera segura.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribuye al proyecto","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Hay dos formas en las que puedes contribuir a Stremio y ayudarnos a hacer el producto aún mejor.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Puedes donar tus habilidades en lenguaje traduciendo la plataforma...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"o","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... puedes emplear tus habilidades de programación para la creación de extensiones de la comunidad. ","WEBSITE_TRANSLATE_STREMIO":"Traduce Stremio","WEBSITE_404_OH_NO":"¡Oh no! La página que estás buscando no está aquí...","WEBSITE_GO_HOME":"Ir al inicio","WEBSITE_LINK_OTHER_DOWNLOADS":"Otras descargas","WEBSITE_FAQ_ABR":"Preguntas frecuentes","WEBSITE_SUPPORT":"Soporte","WEBSITE_DOWNLOAD_4_0_BETA":"Descarga ahora Stremio 4 beta","WEBSITE_GET_FOR_DESKTOP":"Para escritorio","WEBSITE_LINK_ADDON_COMPETITION":"Competición de complementos","WEBSITE_LINK_ART_CONTEST":"Concurso de arte","WEBSITE_MY_ACCOUNT":"Mi cuenta","WEBSITE_MAINPAGE_FAQ_001_H1":"¿Qué es Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio es un \'media center\' moderno que te da la libertad de ver todo lo que quieras.","WEBSITE_MAINPAGE_FAQ_002_H1":"¿Cómo funciona?","WEBSITE_MAINPAGE_FAQ_002_P1":"Una vez que Stremio esté instalado en tu dispositivo y hayas creado una cuenta, todo lo que tienes que hacer es ver el catálogo de complementos para instalar el complemento que quieras y estarás listo para comenzar a explorar contenido.","WEBSITE_MAINPAGE_FAQ_002_P2":"A continuación, puede ir a las secciones Descubrir o Panel para comenzar a explorar contenido.","WEBSITE_MAINPAGE_FAQ_003_H1":"¿Qué puedo ver?","WEBSITE_MAINPAGE_FAQ_003_P1":"Muchas cosas: Películas, series, canales web, deporte, canales de televisión, podcasts, etc. Gracias a nuestro sistema de complementos puedes acceder a una gran variedad de contenidos.","WEBSITE_MAINPAGE_FAQ_004_H1":"¿Es Stremio software libre?","WEBSITE_MAINPAGE_FAQ_004_P1":"Sí, puedes consultar los siguientes enlaces: ${1}aplicación de escritorio${2} y ${3}GitHub organization${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"¿Es Stremio seguro?","WEBSITE_MAINPAGE_FAQ_005_P1":"Sí: al ser software libre, el código es auditable publicamente y puedes revisarlo tú mismo.","WEBSITE_MAINPAGE_FAQ_005_P2":"El sistema de complementos de Stremio también se creó teniendo en cuenta la seguridad del usuario. Los complementos no ejecutan ningún código localmente, por lo que no suponen ningún riesgo para su dispositivo.","WEBSITE_MAINPAGE_FAQ_006_H1":"¿Qué ocurre con mi privacidad?","WEBSITE_MAINPAGE_FAQ_006_P1":"Respetamos la privacidad de los usuarios y no guardamos ningún dato personal exceptuando lo mínimo necesario para poder crear y sincronizar tu cuenta.","WEBSITE_MAINPAGE_FAQ_006_P2":"Hay un ${1}modo invitado{2} al crear la cuenta, que no requiere ningún dato: en éste modo, no hay ninguna llamada a nuestros servidores. Sin embargo, ésto tiene el coste de no tener disponible algunas características útiles como sincronizar tu biblioteca entre distintos dispositivos.","WEBSITE_MAINPAGE_FAQ_007_H1":"¿Puedo enviar el contenido a mi TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Sí, damos soporte a Chromecast y puedes enviar contenido de video desde la aplicación de escritorio o aplicación móvil (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"¿Cuantos complementos tiene Stremio?","WEBSITE_MAINPAGE_FAQ_008_P1":"A finales de 2019, más de 50 - para más información, consulta nuestro catálogo de complementos.","WEBSITE_MAINPAGE_FAQ_009_H1":"¿Es posible ampliar Stremio más allá de lo que se ofrece en el catálogo de complementos?","WEBSITE_MAINPAGE_FAQ_009_P1":"Sí, deberías visitar: ${1}PimpMyStremio${2}, ${3}la comunidad en Reddit{4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"¿Qué dispositivos soporta Stremio?","WEBSITE_MAINPAGE_FAQ_010_P1":"Tenemos aplicaciones de escritorio para Windows, Mac y GNU/Linux. Para móviles o celulares, damos soporte a Android e iOS, aunque la funcionalidad en iOS es limitada (no soporta muchos complementos).","WEBSITE_MAINPAGE_FAQ_010_P2":"Hay muchos dispositivos basados en Android en los cuales puedes ejecutar Stremio, por ejemplo NVIDIA Shield y Amazon Fire Stick, aunque no damos soporte oficial.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"Disponemos de aplicaciones de escritorio para Windows, Mac y Linux. También contamos con aplicaciones dedicadas para Android Mobile y Android TV. Para iOS y iPadOS sugerimos utilizar Stremio Web, aunque tiene una funcionalidad más limitada.","WEBSITE_MAINPAGE_FAQ_011_H1":"¿Pueden añadir cierto contenido a Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Lo sentimos, nosotros no proveemos del contenido, sin embargo, cuantos más complementos tengas instalads, mayor será el contenido que tendrás disponible.","WEBSITE_MAINPAGE_FAQ_012_H1":"¿Puede Stremio reproducir enlaces magnet?","WEBSITE_MAINPAGE_FAQ_012_P1":"Sí, y también puede reproducir enlaces HTTP normales, así como ficheros torrent(mediante arrastrar y soltar).","WEBSITE_MAINPAGE_FAQ_013_H1":"¿Puedo descargar un video y verlo offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Tener el contenido offline es una característica en desarrollo que estará disponible más adelante, aunque si dejas que Stremio cachee el contenido en tu dispositivo (revisa el panel de administración) podrás ver el contenido posteriormente sin conexión.","WEBSITE_MAINPAGE_FAQ_014_H1":"¡No funciona nada, ayuda!","WEBSITE_MAINPAGE_FAQ_014_P1":"¿Estás seguro de que has instalado los complementos? Si la respuesta es sí, dirigete a nuestro ${1}centro de ayuda${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"¿Cómo mantiene Stremio los costes de desarrollo?","WEBSITE_MAINPAGE_FAQ_015_P1":"Ocasionalmente publicamos anuncios no intrusivos, pero estamos considerando pasar a un modelo de donación.","WEBSITE_MAINPAGE_FAQ_015_P2":"Si tienes más preguntas, visita nuestro ${1}centro de ayuda${2}.","HELP_LEARN_MORE":"Ayúdanos a saber más de ti.","LIFESTYLE":"Estilo de vida","SPORTS":"Deportes","FOOD_HEALTH":"Comida y Salud","BEAUTY_FASHION":"Belleza y Moda","NEWS":"Noticias","GAMING":"Juegos","SCIENCE_EDUCATION":"Ciencia y Educación","MUSIC":"Música","TRAVEL":"Viajes","LATE_NIGHT":"Programa nocturno","REALITY":"Reality","COMEDY":"Comedia","DIY":"Hazlo tú mismo","TECH":"Tecnología","CINEMA":"Cinema","CONTINUE":"Continuar","SLOW_LOADING":"¿CARGA LENTO?","I_GIVE_UP":"ME RINDO","LEARN_MORE":"Saber más","POOR_SOURCE":"Esta fuente posee poca disponibilidad o su conexión de internet no es suficientemente rápida","PICK_CATEGORIES_ERR":"Tienes que seleccionar al menos 3 categorías","ADJUST_TIMING":"Ajustar tiempo con ","ADJUST_SIZE":"Ajustar tamaño con ","SEARCH_ANYTHING":"Puedes buscar cualquier cosa...","ALL_CATEGORIES":"Todas","SEARCH_CATEGORIES":"Películas, Series, YouTube & TV","SEARCH_PERSONS":"Actores, Directores y Escritores","SEARCH_PROTOCOLS":"HTTP y enlaces magnéticos","SEARCH_TYPES":"Enlaces IMDB / TVDB","WATCHED":"Visto","SHOW_LESS":"Mostrar menos","LAST_SEARCHES":"Últimas búsquedas","CLEAR_HISTORY":"Borrar historial","CHOOSE_SOME":"ESCOGE ALGUNO DE ESTOS:","NO_WEB_REMOTE":"Web Remote no se pudo cargar","STREMIO_OFFLINE":"Stremio está desconectado","STREMIO_EXPENSIVE_CONNECTION":"Hemos detectado que estás utilizando una conexión de datos móviles, ¿quieres continuar?","USE_DATA":"Usar datos","WARNING":"Advertencia","MORE_INFO":"Más información ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Cargando ...","STREMIO_TV_BACK_TO_LANGUAGES":"Regresar a lenguajes","STREMIO_TV_REMOTE":"Remoto","STREMIO_TV_GO_TO":"Ir a:","STREMIO_TV_OR_SCAN":"o escanear:","STREMIO_TV_ADDON_INSTRUCTIONS":"Por favor, siga las instrucciones para instalar su complemento preferido.","STREMIO_TV_LIVE_TV":"TV en directo","STREMIO_TV_RESUME_WATCHING":"Continuar viendo","STREMIO_TV_LOADING_BACKGROUND":"Cargando fondo","STREMIO_TV_CHECKING_AUTHENTICATION":"Verificando Autenticación","STREMIO_TV_LOADING_BOARD":"Cargando Panel","STREMIO_TV_LOGIN_HEADER_LINE_1":"Nosotros queremos que nuestros usuarios tengan la mejor experiencia personalizada posible con nuestro software.","STREMIO_TV_LOGIN_HEADER_LINE_2":"Esta es la razón por la cual le pedimos cree una cuenta y/o ingrese a ella.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Gracias por su comprensión,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"El equipo Stremio","STREMIO_TV_REMOTE_INSTRUCTIONS":"Para usar el Control Web con su teléfono inteligente / tableta / escritorio:","STREMIO_TV_WIFI_SETUP":"Configuración Wi-Fi","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle no detecta una conexión a internet.","STREMIO_TV_WIFI_DETAILS_1":"Conectar a:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Contraseña a usar:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Abrir el navegador con el enlace:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Por Defecto","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"Por Último Visto","STREMIO_TV_LIBRARY_SORT_NAME":"Por Nombre","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"Por Nombre Descendente","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"Por Veces Visto","STREMIO_TV_LIBRARY_SORT_WATCHED":"Por Vistos","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"Por No Vistos","STREMIO_TV_DETAILS_SEASON_NUMBER":"Temporada ${1}","STREMIO_TV_STREAMS_LOADING":"Cargados ${1} / ${2} complementos...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} complemento continua cargando...","STREMIO_TV_PLAYER_SETTINGS":"Configuración del Reproductor","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Retraso de Subtítulos","STREMIO_TV_PLAYER_AUDIO_DELAY":"Retraso de audio","STREMIO_TV_PLAYER_VIDEO_SCALING":"Escalado de vídeo","STREMIO_TV_PLAYER_CHAPTERS":"Capítulos","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Saltar ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Fuente no soportada","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Fallo al abrir el enlace externo","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"No ajustable en modo passthrough de audio","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Reproducir con ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Reproducir con libVLC","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Cambiar al reproductor libVLC debido a un error de reproducción","STREMIO_TV_ADDONS_TITLE":"Utiliza Stremio en tu dispositivo móvil o PC para instalar o configurar complementos y pulsa \\"Sincronizar Complementos\\"","STREMIO_TV_ADDONS_SUBTITLE":"Nota: asegúrate de utilizar la misma cuenta de Stremio","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sincronizar Complementos","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Complementos sincronizados exitosamente","STREMIO_TV_ADDONS_SYNC_FAILED":"Fallo al sincronizar complementos","STREMIO_TV_META_LINK_FAILED":"Fallo al abrir meta enlace","STREMIO_TV_CATALOG_LOADING":"El catálogo sigue cargando...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Idioma de la interfaz actualizado","STREMIO_TV_SETTINGS_THEME_UPDATED":"Tema actualizado","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Reproductor predeterminado","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Reproductor externo","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Idioma Preferido","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Idioma Preferido Secundario","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Reproducción tunelizada","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Posibles errores de reproducción en algunos dispositivos","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Algunos formatos de video pueden no funcionar","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Sincronización de frecuencia de cuadros","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Desactivado","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Solo Frecuencia de Cuadros","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frecuencia de Cuadros y Resolución","STREMIO_TV_SETTINGS_NO_CACHING":"Sin caché","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Por Defecto","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Suave","STREMIO_TV_SETTINGS_PROFILE_FAST":"Rápido","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Rápido","STREMIO_TV_SETTINGS_SERVER_URL":"URL del servidor de streaming","STREMIO_TV_SETTINGS_SERVER_VERSION":"Versión del servidor","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Desconocido","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Versión de Stremio","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Editar URL del servidor","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Ingrese la URL del servidor de streaming","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Mostrar estadísticas durante la carga","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"Para leer la Política de Privacidad de Stremio, visite:","STREMIO_TV_SETTINGS_TOS_TEXT":"Para leer los Términos y Condiciones de Stremio, visite:","STREMIO_TV_NAV_SEARCH":"Buscar","STREMIO_TV_NAV_HOME":"Inicio","STREMIO_TV_NAV_DISCOVER":"Descubrir","STREMIO_TV_NAV_LIBRARY":"Biblioteca","STREMIO_TV_NAV_MOVIES":"Películas","STREMIO_TV_NAV_SERIES":"Series","STREMIO_TV_NAV_CHANNELS":"Canales","STREMIO_TV_NAV_TV":"TV en vivo","STREMIO_TV_NAV_SETTINGS":"Configuración","STREMIO_TV_NAV_ADDONS":"Complementos","STREMIO_TV_LOGIN_TITLE":"Asociar Cuenta","STREMIO_TV_LOGIN_EXPIRES_IN":"Expira en","STREMIO_TV_LOGIN_STEP_ONE":"Escanea el Código QR de arriba o visita","STREMIO_TV_LOGIN_STEP_TWO":"Inicia sesión a tu cuenta Stremio","STREMIO_TV_LOGIN_NEW_LINK":"Solicitar un nuevo enlace","STREMIO_TV_LOGIN_LINK_REFRESHED":"Código de login actualizado","STREMIO_TV_SEARCH_PLACEHOLDER":"Escribe algo","STREMIO_TV_SEARCH_NO_ADDONS":"¡No se solicitaron complementos para los catálogos!","STREMIO_TV_SEARCH_BUTTON":"Buscar","STREMIO_TV_SEARCH_KEY_DEL":"Borrar","STREMIO_TV_SEARCH_KEY_SPACE":"Espacio","STREMIO_TV_SEARCH_KEY_CLEAR":"Limpiar","STREMIO_TV_SEARCH_HISTORY_TITLE":"Historial de Búsqueda","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Puedes buscar por Título, Actores, Canales y más...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Vaciar el Historial de Búsqueda","STREMIO_TV_FILTERS_DESCRIPTION":"Elija uno de los filtros a continuación","STREMIO_TV_STREAMING_SERVER_OFFLINE":"El servidor de streaming está desconectado. Verifique la configuración del servidor.","FILTERS":"Filtros","SETTINGS":"Configuración","ACCOUNT":"Cuenta","LOGOUT":"Cerrar Sesión","THEMES":"Temas","PLAYBACK":"Reproducción","PLAYBACK_SPEED":"Velocidad de Reproducción","AUDIO_TRACKS":"Pistas de Audio","UNKNOWN_TRACK_LANG":"Desconocido","VIDEOS":"Videos","SERVER":"Servidor","LINKS":"Enlaces","ABOUT":"Acerca De","INTERFACE":"Interfaz","ANIMATIONS":"Animaciones","STATUS":"Estado","LANGUAGE":"Idioma","SIZE":"Tamaño","DELAY":"Retraso","BOLD":"Negrita","OPACITY":"Opacidad","TEXT_COLOR":"Color del Texto","OUTLINE_COLOR":"Color del Contorno","BACKGROUND_COLOR":"Color de Fondo","BACKGROUND_BLUR":"Desenfoque de Fondo","SEEK_TIME_DURATION":"Duración del Tiempo de Búsqueda","AUTO_PLAY":"Reproducir el Episodio Siguiente automáticamente","PLAY_NOW":"Reproducir Ahora","MARK_AS_WATCHED":"Marcar como Visto","MARK_AS_UNWATCHED":"Marcar como No Visto","REWIND_TO_BEGINNING":"Rebobinar al Principio","CONTINUE_WATCHING":"Seguir Viendo","ALL":"Todo","SECONDS":"segundos","ON":"ENCENDIDO","OFF":"APAGADO","RELOAD":"Recargar","EDIT_URL":"Editar URL","NONE":"Ninguno","EMBEDDED":"Embebido","REMOTE_SWITCH_DEVICES":"Cambiar dispositivos","REMOTE_VIDEOS":"Videos","REMOTE_ADJUST_TIMING":"Ajustar tiempo","REMOTE_ADJUST_SIZE":"Ajustar tamaño","REMOTE_COULD_NOT_BE_LOADED":"El Control Web podría no cargar","REMOTE_RETRY":"Volver a intentar","TORRENT_PROFILE_DEFAULT":"Por Defecto","TORRENT_PROFILE_SOFT":"Suave","TORRENT_PROFILE_FAST":"Rápido","TORRENT_PROFILE_ULTRA_FAST":"Ultra Rápido","FAQ_001_H1":"¿Qué es Stremio?","FAQ_001_P1":"Stremio es un software de centro multimedia diseñado para el entretenimiento de vídeo pensando en el fácil uso. Stremio te permite organizar y ver tu propia colección de películas, series, canales y programas en vivo.","FAQ_001_P2":"Stremio colecta el contenido que muestra desde tu disco local y nuestro sistema de complementos.","FAQ_001_P3":"Te notificará cuando nuevos episodios, películas y vídeos en los cuales estás interesado salgan y proveerá recomendaciones de películas para ti.","FAQ_02_H1":"¿Cómo se compara Stremio con Kodi y Plex?","FAQ_02_P1":"Estamos inspirados por estas dos piezas de software. Pero tenemos diferentes objetivos - Stremio es específicamente pensado en el entretenimiento de vídeo, y se esfuerza por convertirse en la solución principal para eso al ser muy fácil de usar.","FAQ_02_P2":"Stremio nunca será tan personalizable y rico en características como Kodi y Plex, pero es significativamente más fácil de usar. ${1} Obtén y mira ${2} :)","FAQ_03_H1":"¿Cómo se compara Stremio con Netflix?","FAQ_03_P1":"Nuevamente, Netflix es una de nuestras inspiraciones. Nos esforzamos por lograr la experiencia del usuario de Netflix, además de muchos extras adicionales. Pero más importante, te damos la libertad de manejar tu propia biblioteca y agregar nuevas fuentes de contenido con nuestro sistema de complementos.","FAQ_03_P2":"Esto hace a Stremio infinitamente extensible, entonces cuando usas Stremio, no estás limitado al contenido que Netflix decide licenciar. Por ejemplo, a través de Stremio puedes ver contenido desde ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} e incluso ¡${9}Netflix${10} mismo!","FAQ_04_H1":"¿Cómo se compara Stremio con Flipboard?","FAQ_04_P1":"No nos hacemos esa pregunta frecuentemente, excepto cuando hablamos con emprendedores :)","FAQ_04_P2":"Stremio es por diseño un recopilador de contenido, lo cual esencialmente lo hace un Flipboard para vídeo. Esto es muy evidente en nuestra sección de Panel, que te da un catálogo y notificaciones de nuevos episodios y vídeos que sigues, tal como Flipboard.","FAQ_05_H1":"¿Cómo se compara Stremio con Popcorn Time?","FAQ_05_P1":"Stremio y Popcorn Time son similares en la interfaz de usuario, porque no hay muchas formas de hacer catálogos de entretenimiento de vídeo correctamente :)","FAQ_05_P2":"Mientras que Popcorn Time es enfocado en transmitir torrents desde fuentes específicas, Stremio no es restrictivo y es meramente un recopilador de contenido - no se restringe a una fuente específica de contenido.","FAQ_05_P3":"Además, nosotros no proveemos ningún complemento torrent por defecto, así Stremio no cubre el caso de uso de Popcorn Time oficialmente.","FAQ_05_P4":"Otra diferencia notable es que Popcorn Time es completamente código abierto, mientras Stremio es ${1} parcialmente código abierto${2}.","FAQ_06_H1":"¿Agregarán esta película/serie?","FAQ_06_P1":"No, disculpa :(","FAQ_06_P2":"Como es mencionado en la mayoría de las otras preguntas, Stremio no provee contenido alguno por si mismo - todo es agregado a través de un sistema de complementos. En caso de quieras solicitar un contenido, puedes usar el botón “Reportar” en el reproductor, el cual enviará un correo al autor del complemento que estás usando actualmente.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"¿Crearan un complemento para X?","FAQ_08_P1":"Es completamente posible.","FAQ_08_P2":"Si tienes una idea para un complemento, escríbenos a ${1}office@stremio.com${2}, pero asegúrate de que tu idea complementaria no infrinja los derechos de autor ni los términos de uso.","FAQ_08_P3":"En el momento, la siguiente cosa en nuestro plan de trabajo son complementos para FandangoNOW, vídeo bajo demanda Filmon.tv y Crunchyroll.","FAQ_09_H1":"¿Usa Stremio BitTorrent?","FAQ_09_P1":"Si, Stremio soporta BitTorrent como un protocolo de transmisión. Puedes usar este con un complemento torrent, arrastrando y soltando un archivo .torrent en Stremio, o pegando un enlace magnético en la barra de búsqueda.","FAQ_09_P2":"Por favor note que el único complemento oficial usando BitTorrent es ${1}Vodo${2}, el cual provee contenido independiente, todos permitidos para ser distribuidos con BitTorrent.","FAQ_09_P3":"No soportamos el uso de cualquier complemento de terceros que pueda infringir derechos de autor.","FAQ_10_H1":"¿Qué puedo ver en Stremio con los complementos oficiales?","FAQ_10_P1":"Por defecto, puedes ver contenido de Filmon.tv, YouTube y Vodo en Stremio mismo, con su reproductor embebido. Adicionalmente, tenemos un complemento para Twitch.tv y otros tantos.","FAQ_10_P2":"Esto combinado provee una selección de:","FAQ_10_L1":"Canales de televisión populares, proveídos por Filmon.tv - por ejemplo E4, BBC, Bollyworld TV","FAQ_10_L2":"Todo desde YouTube - por ejemplo BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Películas independientes con Vodo","FAQ_10_L4":"Transmisiones de juegos en línea con Twitch.tv","FAQ_10_P3":"Adicionalmente, hay muchas fuentes de contenido provistas con los complementos de Guidebox y Netflix, los cuales <b>no</b> reproducirán completamente dentro de Stremio, pero podría redirigirte al service dado. For example, el complemento de Guidebox puede darte una selección de películas que puedes reproducir en Estados Unidos gratuitamente, desde servicios como TubiTV y Crackle.","FAQ_11_H1":"Stremio no instala, ¿Qué puedo hacer?","FAQ_11_P1":"Si estás en Windows, intenta ${1}este instalador alternativo${2}.","FAQ_11_P2":"Si estás en Mac OS X, ten presente que no soportamos versiones anteriores a OS X Mavericks (10.9).","FAQ_11_P3":"Si estás en Linux, ten presente que solo soportamos Linux de 64 bits (x64) en el momento.","FAQ_11_P4":"Si aún no puede resolver su problema, por favor escríbanos a nuestro ${1}grupo de Facebook${2}.","FAQ_12_H1":"¿Por qué mi antivirus reclama? ¿Es Stremio seguro?","FAQ_12_P1":"Aseguramos que Stremio ${1}100% libre de virus${2}.","FAQ_12_P2":"Su antivirus está reclamando porque nosotros incluimos publicidad en nuestro instalador, la cual es reconocida por algunos antivirus como software publicitario.","FAQ_12_P3":"Si aún estás inseguro, puedes probar nuestro ${1}instalador alternativo${2}.","FAQ_13_H1":"¿Cómo puedo crear un complemento?","FAQ_13_P1":"Para principiantes, recomendamos que revises nuestro ${1}módulo de sistema de complementos${2} en GitHub.","FAQ_13_P2":"Después, puedes seguir el ${1}tutorial: Hello World${2}.","FAQ_13_P3":"Si no tienes habilidades en programación, por favor publica tu idea en ${1}la comunidad Reddit${2} y contáctanos con tu idea de complemento a ${3}office@stremio.com${4}.","FAQ_14_H1":"¿Cómo se publican complementos?","FAQ_14_P1":"Cuando creas un complemento y lo alojas, y pones un campo <b>endpoint</b> en su manifiesto, que apunta a una dirección de complemento funcional, el complemento automáticamente se publicará por si mismo en nuestro ${1}catálogo de complementos${2}.","FAQ_14_P2":"Esto sucede porque la parte del servidor del módulo stremio-addons realiza automáticamente una llamada a nuestra API para anunciar el complemento. Cuando nuestra API valida su <b>endpoint</ b> como un complemento válido, comenzará a mostrarse en el catálogo.","FAQ_15_H1":"¿Puedo ejecutar Stremio en mi navegador?","FAQ_15_P1":"No en este momento, ¡pero vendrá pronto!","FAQ_15_P2":"Si tienes curiosidad de ver un alfa, puedes verlo aquí: ${1}alpha4.strem.io${2}. Ten en mente que la transmisión es deshabilitada en este alfa. Soportamos Chrome, Firefox, Opera y Edge.","FAQ_16_H1":"Transmitir al televisor no funciona / subtítulos no funcionas","FAQ_16_P1":"La transmisión al televisor usa tecnología DLNA, que es muy inconsistente entre diferentes marcas y modelos de televisor. Por esa razón, no tenemos la capacidad de probarlo en todos los casos, por lo que está lejos de ser perfecto. A pesar de esto, estamos trabajando para mejorarlo constantemente, pero no podemos darle una estimación de cuándo la tecnología DLNA comenzará a funcionar correctamente con su televisor.","FAQ_16_P2":"Si ni siquiera ve su televisor en el menú de transmisión, intente deshabilitar su conexión de red y volver a habilitarla (en Windows, haga clic derecho en la red y use Activar/Desactivar), y reinicie su enrutador, televisor y computador.","FAQ_16_P3":"Si aún presentas problemas, puedes ayudarnos enviándonos la información de marca y modelo de tu televisor a ${1}office@stremio.com${2}.","FAQ_16_P4":"En el momento, recomendamos Chromecast, el cual soportamos bastante bien, o simplemente conecta a tu televisor con un cable HDMI.","FAQ_17_H1":"Stremio se bloquea y/o cierra, ¿qué puedo hacer?","FAQ_17_P1":"Primero que todo, si estás usando Windows 7 con el antivirus AVG: tenemos un problema con esta combinación. El problema es en el mismo AVG y no hay forma razonable para resolver el problema para nuestro fin. Desafortunadamente, excepciones o deshabilitar el antivirus no funcionará. La única solución es reemplazar AVG con otro antivirus.","FAQ_17_P2":"Si esto no soluciona el problema, pero aún estás usando Windows, por favor actualiza al último <i>service pack</i> y actualiza/reinstala tus controladores de la GPU, luego intenta de nuevo.","FAQ_17_P3":"Si su problema aún no se resuelve, o estás usando un Mac o Linux, por favor escríbenos reportando los detalles exactos del problema a ${1}nuestro grupo de Facebook${2}.","FAQ_18_H1":"¿Cómo puedo crear un complemento?","FAQ_18_P1":"Para principiantes, recomendamos que revises nuestro ${1}módulo de sistema de complementos${2} en GitHub.","FAQ_18_P2":"Después, puedes seguir el ${1}tutorial: Hello World${2}.","FAQ_18_P3":"Si no tienes habilidades en programación, por favor publica tu idea en ${1}la comunidad Reddit${2} y contáctanos con tu idea de complemento a ${3}office@stremio.com${4}.","FAQ_19_H1":"¿Por qué Stremio ocupa espacio en disco?","FAQ_19_P1":"Stremio tiene una <b>cache local</b> para almacenar temporalmente los archivos de vídeo que ves.","FAQ_19_P2":"Esto tiene dos beneficios: primero, esto permite a Stremio precargar el vídeo y así asegurar una transmisión más fluida. Segundo, este guarda los vídeos en la cache local, así puedes continuar viéndolos sin conexión.","FAQ_19_P3":"La cantidad que almacena Stremio depende de la configuración de <b>Cache<b> en el panel de Configuración. Stremio puede ser configurado para almacenar una cantidad (ej. 2GB) en su disco local, a menos que el vídeo transmitido actualmente sea mayor que eso, en cuyo caso tendrá que ubicar suficiente almacenamiento para guardarlo hasta que lo retransmitas","FAQ_20_H1":"¿Donde está la carpeta de almacenamiento?","FAQ_20_P1":"En Windows, es stremio-cache en el disco que seleccionaste en Configuración (ej. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"En MacOS, es \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"En Linux, es \\"~/.stremio/stremio-cache\\" o \\"~/stremio-cache\\"","FAQ_21_H1":"Obtengo el error \\"Streaming server is not found\\", ¿qué puedo hacer?","FAQ_21_P1":"Si ves este error, quiere decir una de las siguientes cosas::","FAQ_21_P2":"1) Estás intentando usar un complemento que depende de fuentes de Youtube/BitTorrent, a través de nuestra ${1}versión web${2}. En este caso, deberías instalar nuestra versión de escritorio desde ${3}nuestro sitio web${4}.","FAQ_21_P3":"2) Algo está mal con tu instalación de Stremio. En este caso, intenta reinstalar nuestra última versión de escritorio desde ${1}el sitio web${2}. Si esto no ayuda, intenta deshabilitar los programas de antivirus y el cortafuegos, reinicia tu computador e intenta de nuevo. Si esto tampoco funciona, escríbenos por favor a ${3}nuestro grupo de facebook${4}.","FAQ_22_H1":"No puedo ver/usar la mayoría de complementos en iOS","FAQ_22_P1":"Debido a las restricciones de los términos y condiciones de Apple App Store, tenemos restringida la aplicación iOS solo a un conjunto particular de complementos.","FAQ_22_P2":"Pero puedes estar seguro - habrán más complementos para iOS en el futuro, y podríamos también agregar una integración que te permita usar todos los complementos de Stremio gracias a la conexión de la aplicación iOS con el servidor de transmisión de Stremio."}')},43236:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Filma","TYPE_series":"Telesaila","TYPE_tv":"Telebista katea","TYPE_channel":"Kanala","TYPE_other":"Beste batzuk","TYPE_movie_PL":"Filmak","TYPE_series_PL":"Telesaila","TYPE_tv_PL":"Telebista kateak","TYPE_channel_PL":"Kanalak","TYPE_other_PL":"Beste batzuk","TYPE_ALL":"All","TYPE":"Type","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"Bideoa","BACK":"Atzera","MORE":"Gehiago","DONE":"Eginda","COPY":"Kopiatu","SUCCESS":"Success","ERROR":"Error","SETTINGS_CASTING_MODE_PICKER":"Casting mode","CASTING_MODE_HLSV2":"Default","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"No transcoding","Discover":"Ezagutu","Board":"Arbela","Library":"Liburutegia","My Library":"Nire Liburutegia","Calendar":"Egutegia","NOTIFICATION_ONLINE":"Linean zaude orain","NOTIFICATION_OFFLINE":"Une honetan lineaz kanpo zaude","INTERNET_CONNECTION":"Sareko konexioa","STORAGE_FULL_TITLE":"Abisua: biltegiratzea beteta!","STORAGE_FULL_TEXT":"Stremio-k ezin izango ditu zure ezarpenak, lehentasunak edo saio-hasierako informazioa gorde. Baloratu Stremio berriro abiaraztea edo berriro instalatzea.","SEARCH":"bilatu","SEARCH_NO_RESULTS":"Ez da emaitzarik aurkitu","SEARCH_EXPLANATION_CONTENT":"Bilatu filmak, serieak, YouTube eta telebista kateak","SEARCH_EXPLANATION_PEOPLE":"Aktore, zuzendari eta idazleak bilatu","SEARCH_PASTE_LINKS":"Itsatsi HTTP eta Magnet estekak","SEARCH_OR_PASTE_LINK":"Search or paste link","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"Gehitu liburutegian","REMOVE_FROM_LIB":"Kendu liburutegitik","ADDED_TO_LIB":"Liburutegian gehitu da","REMOVED_FROM_LIB":"Liburutegitik kendu da","TRAILER":"Trailerra","WATCH_TRAILER":"Ikusi Trailerra","WATCH_NOW":"Ikusi orain","SHOW":"Ikuskizuna","SHOW_MOVIE":"Erakutsi filma","WATCH_RANDOM":"Ikusi ausaz","IMDB_RATING":"IMDb balorazioa","YEAR":"Urtea","DIRECTOR":"Zuzendaria","WRITER":"Idazlea","LEAD_ACTORS":"Aktore nagusiak","CAST":"Aktoreak","CREW":"Tripulazioa","SHOW_MORE_CAST":"Erakutsi gehiago »","AIRED":"Erretransmititua","SEASONS":"Denboraldiak","GENRE":"Generoa","GENRE_ALL":"All genres","CATALOG":"Katalogoa","SUMMARY":"Laburpena","SHOW_MORE":"Erakutsi gehiago","SIMILAR":"Antzekoak","UPCOMING":"Datozenak","ENDED":"Bukatuta","DURATION":"Iraupena","FEATURED":"Nabarmenduak","METADATA":"Metadatuak","CATEGORY":"kategoria","LINKS_GENRES":"Genres","LINKS_CAST":"Cast","LINKS_DIRECTORS":"Directors","SEARCH_VIDEOS":"bilatu bideoak","SEARCH_PLACEHOLDER":"bilatu edo itsatsi URLa","ADDON":"gehigarria","ADDONS":"Gehigarriak","OFFICIAL":"ofiziala","ADDONS_OFFICIAL":"Stremio gehigarri ofizialak","ADDONS_POPULAR":"Zure inguruan ezaguna","ADDON_FREE":"doan","ADDON_PEERED":"begiratu","ADDON_SUBSCRIPTION":"harpidetza","ADDON_STREAM_GEORESTRICTED":"ez dago erabilgarri zure eremuan","ADDON_STREAM_OFFLINECACHE":"Lineaz kanpoko cachea","ADDON_STREAM_LOCALFILE":"Tokiko fitxategia","SHARE_ADDON":"Partekatu gehigarria","AVAILABLE_STREAMS":"Eskuragarri dauden stream-ak","NO_STREAM":"Ez da stream-ik aurkitu","ALL_ADDONS":"All","INSTALL_MORE_ADDONS":"Stream gehiagorako, instalatu gehigarriak","STREAM_NOT_SUPPORTED":"Aukeratutako stream-a ez da onartzen plataforma honetan.","ADDON_CATALOGUE":"Erakutsi gehigarri guztiak »","ADDON_CATALOGUE_MORE":"Instalatu gehigarriak","REPO_ADDED":"Biltegia gehitu da","ADDON_REPO_EXIST_ERR":"Gehigarrien bilduma hau dagoeneko existitzen da","ADDON_REPO_ERR":"Errore bat gertatu da bilduma gehitzean","ADDON_ADD_ERR":"Errore bat gertatu da gehigarria gehitzean","ERR_ADDON_PROTECTED":"Ezin da gehigarria desinstalatu, babestuta dago","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Arazoren bat izan da. Baliteke autentifikazioak huts egitea","ERR_NOT_COLLECTION_URL":"Ez da bildumaren URLa","ERR_NOT_ADDON_URL":"Ez da baliozko gehigarri URLa","ERR_DETECTFROMURL":"Ezin da URL honetatik gehigarririk/bildumarik aurkitu","ADDON_DUPLICATE_WARNING":"Abisua: gehigarri bikoiztua","ADDON_COLLECTION_SET_FAILED":"Instalatutako gehigarriak zure kontuan sinkronizatzeak huts egin du","SETTINGS_DATA_EXPORT":"Esportatu erabiltzaileen datuak","ADDON_PULL_FAILED":"Instalatutako gehigarriak zure kontutik sinkronizatzeak huts egin du","REFRESH_ON_CLICK":"Egin klik berriro saiatzeko","STILL_IN_THEATER":"Filma oraindik zinema aretoetan","WATCH_IN_CINEMA":"Ikusi zure tokiko zineman","IN_THEATER":"Zineman","GET_TICKETS":"Sarrerak eskuratu","UPCOMING_EPISODE":"Hurrengo atala","UPCOMING_EPISODE_MESSAGE":"Atal hau emitituko da","MISSING_DATE_EPISODE":"Atalaren data falta da","MISSING_DATE_EPISODE_MESSAGE":"Baliteke atal hau oraindik ez emititzea","CHANNEL_NOT_SCRAPED":"Kanal hau ez dago oraindik zatituta.<br>Itzuli minutu batzuen buruan.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Gehitu liburutegian erabilgarri dagoenean jakinarazpenak jasotzeko.","GET_NOTIFIED_WHEN_AVAILABLE":"Erabilgarri dagoenean jakinaraziko zaizu.","WARNING_STREAMING_SERVER":"Abisua: ez da aurkitu streaming lokaleko zerbitzaria. Tokiko fitxategietatik, YouTube-tik eta BitTorrent-etik erreproduzitzea ez da erabilgarri egongo.","WARNING_STREAMING_SERVER_DISMISS":"Dismiss","WARNING_STREAMING_SERVER_LATER":"Later","DECODER_WARNING":"Oharra: baliteke bideo hau zure hardwareak ez onartzea. Gogoan izan, erreprodukzioa motela izan daitekela.","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"Erreproduktorearen akatsa","PLAYER_ERROR_LOOKSLIKE":"Badirudi","PLAYER_ORIENTATION":"Erreproduktorearen orientazioa","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Blokeatuta","PLAYER_ORIENTATION_SENSOR_SHORT":"Sentsorea","PLAYER_ORIENTATION_LANDSCAPE":"Erreproduktorearen orientazio etzana blokeatuta dago","PLAYER_ORIENTATION_SENSOR":"Erreproduktorearen orientazio automatikoa (sentsorea)","PLAYER_PLAYBACK_SPEED":"Erreprodukzio abiadura","PLAYER_PLAYBACK_ERROR":"Erreprodukzioaren errorea. Saiatu berriro","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Errore ezezaguna","PLAYER_PLAYBACK_ERROR_DEFAULT":"Barkatu, bideo hau ezin du {{productName}} erabiltzaileak erreproduzitu.","PLAYER_SUBTITLES_LANGUAGES":"Subtitles Languages","PLAYER_SUBTITLES_VARIANTS":"Subtitles Variants","PLAYER_SUBTITLES_SETTINGS":"Subtitles Settings","PLAYER_SUBTITLES_DISABLED":"Subtitles are disabled","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Vertical Position","PLAYER_SUBTITLES_LOADED":"Subtitles loaded","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Embedded subtitles loaded","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Exclusive subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Subtitles from {{origin}} loaded","PLAYER_PLAY":"Play","PLAYER_PAUSE":"Pause","PLAYER_NEXT_VIDEO":"Next Video","PLAYER_MUTE":"Mute","PLAYER_UNMUTE":"Unmute","PLAYER_OPEN_IN_EXTERNAL":"Open in external player","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Play in {{device}}","PLAYER_LIVE":"Zuzenean","PLAYER_NEXT_VIDEO_TITLE":"Bueltan dator","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Baztertu","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Ikusi orain","PLAYER_COPY_STREAM_SUCCESS":"Stream link was copied to your clipboard","PLAYER_COPY_STREAM_ERROR":"Failed to copy stream link","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","STREAMING_FROM":"streaming jatorria","CASTING_TO":"(e)ra igortzen","NETWORK_STATUS":"Sarearen egoera","STREAM_SPEED":"Stream-aren abiadura:","STREAM_BUFFERED":"Bufferrean:","PEERS_INFO":"Peer informazioa","PEERS_ACTIVE":"Aktibo:","PEERS_CONNECTED":"Konektatuta:","PEERS_WAITING":"Itxaroten:","TRANSCODING_WARNING":"Abisua: bideoa transkodetzen.","STREAM_LOADING":"kargatzen...","PLAYING_LOCAL":"fitxategi lokaletik erreproduzitzen","PLAYING_CACHE":"cachetik erreproduzitzen","WRONG_SUBS":"Azpititulu okerrak?","ERR_SUBS_LOADING_TITLE":"Errorea azpitituluak kargatzean","ERR_SUBS_LOADING":"Ezin izan dira azpitituluak kargatu: arazoa izan daiteke erabiltzen ari zaren gehigarrian edo sareko konexioan","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Azpitituluen gehigarri hauek huts egin dute","ERR_CASTING_UPDATE_TITLE":"Ezin izan da eguneratu gailuaren informazioa: streaming zerbitzaria konexiorik gabe egon liteke","CHOOSE_DEVICE":"Aukeratu ikusi nahi duzun gailua","NO_CAST_DEVICES":"Ez dago galdaketa gailurik erabilgarri.","NO_SETTINGS":"Ez dago ezarpenik erabilgarri.","PHONE_TABLET":"Telefonoa / Tableta","SUBTITLES":"Azpitituluak","SUBTITLES_CHANGE":"Aldatu azpitituluak","SUBTITLES_CHANGE_NONE":"Ez dago hizkuntza honen azpititulurik, barkatu.","SUBTITLES_CHANGE_ACIVE":"Une honetan &#35;{{subtitlesDialog.activeIdx + 1}} azpitituluak aktibatuta daude. Egin klik \\"Jarraitu\\" &#35;{{subtitlesDialog.pickedIdx + 1}} azpitituluak aktibatzeko.","SUBTITLES_OR":"Bestela,","SUBTITLES_ADJUST_DELAY":"Doitu azpidatzien atzerapena:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Edo erabili <span>G</span> / <span>H</span> teklak erreproduzitzerakoan doiketarako.","SUBTITLES_ADJUST_DELAY_TIP":"AHOLKUA: <span>G</span> / <span>H</span> teklak erabil ditzakezu erreproduzitzerakoan doiketarako.","SUBTITLES_DELAY":"Azpitituluen atzerapena:","SUBTITLES_LOADING":"Azpitituluak kargatzen ...","SUBTITLES_UNAVAILABLE":"Ez dago kanpoko azpititulurik erabilgarri","SUBTITLES_DISABLED":"Desgaituta","EXTERNAL_PLAYER_DISABLED":"Disabled","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Allow Choosing","EXTERNAL_PLAYER_HINT":"Hint: There is a setting to allow always opening with external player","DONT_SHOW_AGAIN":"Don\'t show again","SERVICE_INSTALL":"Install","AUDIO":"Audioa","DEFAULT_LANGUAGE":"Defektuzko hizkuntza","DEFAULT_SECONDARY_LANGUAGE":"Defektuzko Bigarren Hizkuntza","SEASON":"Denboraldia","EPISODE":"Atala","EPISODE_ABBREVIATION":"EP","SPECIAL":"Berezia","SORT":"ordenatu","SORT_BY":"Ordenatu","FILTER":"iragazkia","SORT_TRENDING":"joera","SORT_RECENT":"berriena","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"balorazioa","SORT_WATCHED":"ikusita","SORT_YEAR":"urtea","SELECT_TYPE":"Select type","SELECT_SORT":"Select sort","SELECT_CATALOG":"Select catalog","SELECT_GENRE":"Select genre","SORT_LASTWATCHED":"By last watched","SORT_NAME":"By name","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"By times watched","SORT_NOTWATCHED":"not watched","New for You":"Zuretzako berria","New Episodes":"Atal berriak","New Videos":"Bideo berriak","Recommendations":"Gomendioak","LIBRARY_RESUME":"Jarraitu","LIBRARY_PLAY":"Play","LIBRARY_DETAILS":"Xehetasunak","LIBRARY_RESUME_DISMISS":"Baztertu","LIBRARY_CLEAR_PROGRESS":"Clear Progress","LIBRARY_REMOVE":"Remove","LIBRARY_NOT_LOGGED_IN":"Library is only available for logged in users","CALENDAR_NOT_LOGGED_IN":"Calendar is only available for logged in users","NOT_LOGGED_IN_CLOUD":"Access your favorite movies and TV shows anytime, anywhere","NOT_LOGGED_IN_RECOMMENDATIONS":"Recommendations tailored to your viewing history","NOT_LOGGED_IN_NOTIFICATIONS":"Never miss an episode again","NOT_LOGGED_IN_CALENDAR":"Schedule your personal watching calendar","DISCOVER_FEATURED":"Nabarmenduak","DISCOVER_TOP":"Gora","DISCOVER_OSCAR":"Oscar saridunak","DISCOVER_WARNING_TITLE":"Glubs!","DISCOVER_EMPTY_CATALOG":"Gehigarri honek eduki hutsa itzuli du.","DISCOVER_ADULT_WARNING":"Edukia helduentzat soilik dago ikusgai. 18 urte baino gehiago al dituzu?","DISCOVER_NOADDON_WARNING":"Abisua: ez dago Stremio gehigarririk aktibo mota honetarako. Gordetako elementuak erakutsiz, hemen ez da ezer eguneratuko.","DISCOVER_LOAD_ERR":"Edukia ez da kargatu, errorea gertatu da.","DISCOVER_ADDON_UNINSTALLED":"Eduki hau jada ez dago erabilgarri, baliteke gehigarria instalatuta ez izatea.","UNINSTALL_THIS_ADDON":"Desinstalatu gehigarri hau","ERR_ADDON_NOT_INSTALLED":"Gehigarri hau ez dago instalatuta. Orain instalatu nahi duzu?","DETAIL_RECEIVE_NOTIF_SERIES":"Jaso atal berrien jakinarazpenak","DETAIL_RECEIVE_NOTIF_VIDEOS":"Jaso bideo berrien jakinarazpenak","SIDEBAR_SHOW_STREAMS":"Erakutsi stream-ak","RELAUNCH":"Berrabiarazi orain!","UPGRADE":"Bertsio berria eskuragarri dago! Bertsio berritu Stremio azken bertsiora","RELOAD_UI":"Erabiltzailearen interfazea berriro kargatu","MANUAL_UPDATE_TITLE":"Eguneratu Stremio bertsioa","MANUAL_UPDATE_LINE1":"Oso gomendagarria ez den Stremioren bertsio zaharkitu bat erabiltzen ari zara.","MANUAL_UPDATE_LINE2":"Mesedez, eguneratu lehenbailehen.","BUTTON_UPDATE_LATTER":"Orain ez","BUTTON_UPDATE_NOW":"Eguneratu","ANONYMOUS_USER":"Erabiltzaile anonimoa","DONT_HAVE_ACC":"Ez duzu konturik?","HAVE_ACC":"Baduzu kontua?","PASSWORD":"Pasahitza","PASSWORD_CONFIRM":"Pasahitza baieztatu","EMAIL":"Posta elektronikoa","FB_LOGIN":"Jarraitu Facebook-ekin","FB_NOTHINGSHARED":"Ez da ezer partekatzen zure baimenik gabe","FB_NOPOST":"Ez dugu ezer argitaratuko zure izenean","OR":"edo","I_ACCEPT":"Onartzen dut","I_ACCEPT_BY_CLICKING":"Goiko botoian klik eginda onartzen dudala deklaratzen dut","TOS":"Terminoak eta baldintzak","MUST_ACCEPT_TERMS":"Baldintzak onartu behar dituzu","PASSWORDS_NOMATCH":"Pasahitzak ez datoz bat","SIGN_UP":"Izena eman","SIGN_UP_EMAIL":"Eman izena posta elektronikoz","CLICK_TO_SIGN_UP":"Izena emateko egin klik hemen.","LOG_IN":"Saioa hasi","LOG_OUT":"Saioa amaitu","EXIT_FULLSCREEN":"Irten pantaila osoko modutik","ENTER_FULLSCREEN":"Sartu pantaila osoko moduan","PLAY_URL_MAGNET_LINK":"Erreproduzitu URL/Magnet esteka","HELP_FEEDBACK":"Laguntza eta oharrak","TERMS_OF_SERVICE":"Zerbitzu-baldintzak","PRIVACY_POLICY":"Privacy Policy","ABOUT_STREMIO":"Stremiori buruz","USER_PANEL":"Erabiltzaile panela","LOGIN_LABEL":"Login","GUEST_LOGIN":"Gonbidatuaren saioa hasi","GUEST_LOGIN_NOTICE":"Gonbidatuen saioa hastea ez da gomendagarria. Ohiko saio-hasiera erabiliz Stremio-k zure Liburutegia sinkronizatzeko eta telesail/kanal gogokoen jakinarazpenak jasotzeko aukera ematen du. Ziur zaude jarraitu nahi duzula?","GUEST_LOGIN_NOTICE_2":"Gonbidatuen saioa hastea ez da gomendagarria; ez dituzu Liburutegi eta Taularen jakinarazpenak sinkronizatuko eta ezinbesteko Stremio funtzioak dira. Ziur zaude jarraitu nahi duzula?","CLICK_HERE":"klikatu hemen","WRONG_PASSWORD":"Posta elektroniko edo pasahitz okerra. Pasahitza ahaztu baduzu,","SET_A_PASS":"ezarri pasahitza","RESET_PASSWORD":"Pasahitza berrezarri","FORGOT_PASSWORD":"Pasahitza ahaztu duzu?","EMAIL_USED_WITH_FB":"Mezu elektronikoa Facebookeko saio hasierarekin erabili da.","INVALID_EMAIL":"Mesedez, sar ezazu helbide elektroniko egokia","INVALID_PASSWORD":"Mesedez, sartu baliozko pasahitza","CONN_ERR":"Konexioaren errorea. Saiatu berriro geroago.\\n\\nHonek jarraitzen badu, desgaitu firewall/antibirusa (batez ere Bitdefender).","IMPORT_FROM_GUEST":"Inportatu liburutegia zure gonbidatu kontutik","RECEIVE_UPDATES_EMAIL":"Jaso zure posta elektronikoaren eguneratzeak Stremioren eskutik","LOGIN_FAILED":"Errorea saioa hastean.","SIGNUP_FAILED":"Ezin izan da erregistratu.","SEARCH_FAILED":"Bilaketak huts egin du","EMAIL_USED":"Mezu elektronikoa dagoeneko erabiltzen ari da.","WAITING_FB_LOGIN":"Facebook-ekin saioa hasten...","EXTERNAL_PLAYER_TITLE":"Erreproduzitu kanpoko erreproduzitzailean","EXTERNAL_REMEMBER_PLAYER":"Zure aukera gogoratu nahi al duzu?","EXTERNAL_ALWAYS_PLAY":"Bai","EXTERNAL_ONLY_ONCE":"Ez","BEST_FIT":"Best Fit","FIT_SCREEN":"Fit Screen","FILL":"Fill","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"Konta iezaguzu zer gustatzen zaizun","INTRO_TASTE_LONG":"Kontatu zer ikusi nahiko zenukeen","INTRO_TASTE_PICK":"Aukeratu {{interestRemaining}} interesak","INTRO_TASTE_PICK_MORE":"Aukeratu {{interestRemaining}} interes gehiago","INTRO_TASTE_HELP_US":"Lagundu iezaguzu zure inguruan gehiago jakiten.","INTRO_TASTE_CHOOSE_THESE":"Aukeratu hauetako batzuk:","INTRO_TASTE_CHOOSE_MIN":"Aukeratu gutxienez 3 kategoria","INTRO_TASTE_CHOOSE_MIN_ERR":"Gutxienez 3 kategoria aukeratu behar dituzu!","INTRO_TASTE_LIFESTYLE":"Bizimodua","INTRO_TASTE_SPORTS":"Kirolak","INTRO_TASTE_FOOD_HEALTH":"Elikadura eta Osasuna","INTRO_TASTE_BEAUTY_FASHION":"Edertasuna eta Moda","INTRO_TASTE_NEWS":"Albisteak","INTRO_TASTE_GAMING":"Jokoa","INTRO_TASTE_SCIENCE_EDU":"Zientzia eta Hezkuntza","INTRO_TASTE_MUSIC":"Musika","INTRO_TASTE_TRAVEL":"Bidaia","INTRO_TASTE_LATE_NIGHT":"Late Night Show","INTRO_TASTE_REALITY":"Errealitatea","INTRO_TASTE_COMEDY":"Komedia","INTRO_TASTE_DIY":"Nola egin zerorrek","INTRO_TASTE_TECH":"Teknologia","INTRO_TASTE_CINEMA":"Zinema","ADDON_NOT_SUPPORTED":"Aukeratutako gehigarria ez da plataforma honetan onartzen.","ADDON_DISCLAIMER":"Hirugarrenen gehigarriak erabiltzea beti egongo da zure erantzukizunaren eta kokatzen zaren jurisdikzioaren lege arauaren menpe.","ADDON_ACTIVATE":"Gehigarri hau aktibatu nahi duzu?","ADDON_REPO_ADD":"Gehigarrien bildumaren URLa","ADDON_ADD":"Gehitu","INSTALL_ADDON":"Install addon","ADD_ADDON":"Add addon","ADD_ADDON_DESCRIPTION":"You can add an addon via an external link, which will appear under Installed addons.","PASTE_ADDON_URL":"Paste addon URL","WHATS_NEW":"Berriak","BUTTON_CONTINUE":"Jarraitu","BUTTON_ACTIVATE":"Aktibatu","BUTTON_ACTIVATED":"Aktibatuta","BUTTON_CANCEL":"Utzi","BUTTON_SUBMIT":"Submit","BUTTON_DISMISS_ALL":"Baztertu guztiak","BUTTON_VIEW_ALL":"ikusi guztiak","BUTTON_SEE_ALL":"See All","BUTTON_COLOR_TRANSPARENT":"Transparent","OPEN_IN_BROWSER":"Open in browser","LIB_EMPTY":"Liburutegia hutsik dago. Deskubritu zeinen erabilgarria den :)","HOW_START":"Hona hemen nola hasi:","LIB_EMPTY_CAL":"Zure Egutegian liburutegiko telesailak agertzen dira.","HOW_START_CAL":"Hemen duzu telesailak nola gehitu:","LIB_EMPTY_BOARD":"Taulan jakinarazpenak agertzen dira &amp; zure Liburutegiari lotutako gomendioak.","HOW_START_BOARD_WAIT":"Mesedez, gehitu telesail edo kanal batzuk zure liburutegian, eman iezaguzu minutu batzuk prozesatzeko :)","HOW_START_BOARD":"Hona hemen nola gehi ditzakezu telesailak &amp; filmak:","IMPORT_FB":"Inportatu gustuko dituzun gauzak <span>Facebook</span>etik","IMPORT_TRAKT":"Inportatu mediateka <span>Trakt</span>etik","IMPORT_DISCOVER":"Bilatu <span>Ezagutu</span>-ko gauza interesgarriak","IMPORT_DISK":"Inportatu zure <span>disko lokalean</span> dituzun filmak edo saioak","PLEASE_CREATE_ACC":"Mesedez, <u>sortu kontua</u> Liburutegiaren sinkronizazioa eta &amp; Taula aktibatzeko.","IMPORT_DISCOVER_SIGNUP":"Erregistratu eta aurkitu gauza interesgarriak <span>Ezagutu</span> atalean","IMPORT_DISK_SIGNUP":"Erregistratu eta inportatu zure <span>disko lokalean</span> dituzun filmak edo saioak","LIB_EMPTY_CLOUD":"Hodei liburutegia","LIB_EMPTY_CLOUD_DESC":"Hodei liburutegi pertsonala gailu guztietan sinkronizatuta","LIB_EMPTY_EARLY":"Txori goiztiarra","LIB_EMPTY_EARLY_DESC":"Jaso atal berrien jakinarazpenak","LIB_EMPTY_PERSONAL":"Pertsonala","LIB_EMPTY_PERSONAL_DESC":"Jaso gomendio pertsonalak","LIB_EMPTY_CALENDAR_DESC":"Antolatu zure behaketa egutegi pertsonala","LIB_EMPTY_ALL":"Izena eman hauek guztiak lortzeko:","LIB_EMPTY_BEST":"Eman izena Stremioren onena lortzeko","LIB_EMPTY_OTHER":"Eman izena Egutegia eta beste funtzio interesgarri batzuk gaitzeko","CALENDAR_ADDED":"Stremio egutegia zure mahaigaineko egutegi lehenetsian gehitu da.","CALENDAR_ADDED_MSG":"Honek funtzionatzen ez badu, gehitu URL hau zure egutegiko aplikazioan eskuz","TRAKT_EXPIRED":"Trakt autentifikazioa iraungita dago, joan Ezarpenak atalera eta berriro autentifikatu","TRAKT_REQUIRES_LOGIN":"Trakt errorea","TRAKT_REQUIRES_LOGIN_MSG":"Saioa hasi behar duzu","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","SETTINGS_LABEL":"Ezarpenak","SETTINGS_NAV_GENERAL":"Orokorra","SETTINGS_NAV_PLAYER":"Erreproduktorea","SETTINGS_NAV_STREAMING":"Streaming","SETTINGS_NAV_SHORTCUTS":"Shortcuts","SETTINGS_SHORTCUT_RELOAD_APP":"Freskatu app-a","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Open Settings","SETTINGS_SHORTCUT_SWITCH_TABS":"Switch Tabs","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Cycle Through Tabs Forward","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Cycle Through Tabs Backward","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigate Between Menus","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Go to Search","SETTINGS_SHORTCUT_EXIT_BACK":"Irten / Atzera joan","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Toggle Playback Speed Menu","SETTINGS_SHORTCUT_MENU_VIDEOS":"Toggle Videos Menu","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Toggle Subtitles Menu","SETTINGS_SHORTCUT_MENU_INFO":"Toggle Info Menu","SETTINGS_SHORTCUT_FULLSCREEN":"Toggle Fullscreen","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Show Controls","SETTINGS_SHORTCUT_PLAY_PAUSE":"Play / Pause","SETTINGS_SHORTCUT_VOLUME_UP":"Igo bolumena","SETTINGS_SHORTCUT_VOLUME_DOWN":"Jaitsi bolumena","SETTINGS_SHORTCUT_SEEK_NEXT":"Eskatu hurrengoa","SETTINGS_SHORTCUT_SEEK_PREV":"Eskatu aurrekoa","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Seek Backward","SETTINGS_SHORTCUT_SEEK_FORWARD":"Seek Forward","SETTINGS_SHORTCUT_PLAY_NEXT":"Erreproduzitu hurrengoa","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Handitu azpitituluen tamaina","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Txikitu azpitituluen tamaina","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Handitu azpitituluen atzerapena","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Txikitu azpitituluen atzerapena","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Ireki/Itxi alboko barra","SETTINGS_SHORTCUT_OR":"or","SETTINGS_SHORTCUT_TO":"to","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Authenticate","SETTINGS_FACEBOOK_IMPORT":"Import","SETTINGS_CALENDAR_SUBSCRIBE":"Subscribe","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Interface Language","SETTINGS_LAUNCH_STARTUP":"Abiarazi piztean","SETTINGS_VLC_DEFAULT":"Erreproduzitu VLC-rekin","SETTINGS_UI_LANGUAGE":"UI hizkuntza","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Esc teklarekin irten pantaila osotik","SETTINGS_GAMEPAD":"Gaitu gamepad laguntza","SETTINGS_CLOSE_WINDOW":"Itxi aplikazioa leihoa itxita dagoenean","SETTINGS_SUBTITLES_LANGUAGE":"Azpitituluen hizkuntza lehenetsia","SETTINGS_SUBTITLES_SIZE":"Azpitituluen tamaina lehenetsia","SETTINGS_SUBTITLES_BACKGROUND":"Azpitituluen atzeko planoa","SETTINGS_SUBTITLES_COLOR":"Azpitituluen kolorea","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Azpitituluen eskema kolorea","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Azpitituluen atzeko kolorea","SETTINGS_SEEK_KEY":"Geziek denbora bilatzen dute","SETTINGS_SEEK_KEY_SHIFT":"Gezien teklek Shift tekla sakatuta dagoenean denbora bilatzen dute","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Rewind & Fast-forward duration","SETTINGS_BINGE":"Erreproduzitu automatikoki hurrengo atala","SETTINGS_NEXT_VIDEO":"Erakutsi jakinarazpena hurrengo atala hasteko","SETTINGS_NEXT_VIDEO_TRIGGER":"Erakutsi hurrengo atalaren jakinarazpena:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Next video popup duration","SETTINGS_PLAY_IN_BACKGROUND":"Play in background","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Play in external player","SETTINGS_RESIZE":"Aldatu automatikoki leihoa erreproduzitu aurretik","SETTINGS_OVERRIDE_SERVER":"Gainidatzi streaming zerbitzariaren URLa (aurreratua)","SETTINGS_SERVER_URL":"Streaming zerbitzariaren URLa:","SETTINGS_SERVER_AVAILABLE":"Streaming zerbitzaria eskuragarri dago.","SETTINGS_SERVER_UNAVAILABLE":"Streaming zerbitzaria ez dago erabilgarri.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Error","SETTINGS_SERVER_CONFIGURE_TITLE":"Configure streaming server url","SETTINGS_SERVER_CONFIGURE_INPUT":"Enter a streaming server url","SETTINGS_SERVER_CACHE_SIZE":"Cache size","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent profile","SETTINGS_HTTPS_ENDPOINT":"Streaming HTTPS amaiera:","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Erabili beti azken bertsioa","SETTINGS_IMPORT_FB":"Inportatu Facebooketik","SETTINGS_IMPORT_DISK":"Inportatu disko lokaletik","SETTINGS_IMPORT_TRAKT":"Inportatu Trakt-etik","SETTINGS_PAUSE_MINIMIZED":"Pausatu erreprodukzioa minimizatutakoan","SETTINGS_HWDEC":"Hardwarea azeleratutako deskodetzea","SETTINGS_BACKGROUND":"Atzeko planoaren erreprodukzioa","SETTINGS_SUBSCRIBE_CALENDAR":"Harpidetu egutegira","SETTINGS_REQ_EXPORT":"Eskatu datuak esportatzeko","SETTINGS_ACC_DELETE":"Eskatu kontua ezabatzeko","SETTINGS_CHANGE_PASSWORD":"Aldatu pasahitza","SETTINGS_TOS":"Zerbitzu-baldintzak","SETTINGS_SUPPORT":"Jarri harremanetan laguntza zerbitzuarekin","SETTING_LANGUAGE":"Hizkuntza","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_LOGOUT":"Amaitu saioa Trakt.tv-tik","SETTINGS_TRAKT_LOGOUT_2":"Amaitu saioa Trakt-tik","SETTINGS_SCAN_FOR_REMOTE":"Eskaneatu QR kodea urrunekoa irekitzeko","SETTINGS_DESKTOP_NOTIFICATIONS":"Mahaigaineko jakinarazpenak","SETTINGS_DATA_SAVER":"Datu aurrezlea","SETTINGS_LANGUAGE_INTERFACE":"interfazea","SETTINGS_LANGUAGE_SUBS":"azpititulu lehenetsiak","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Aukeratu automatikoki Audio pista","SETTINGS_DEFAULT_AUDIO_TRACK":"Audio pista lehenetsia","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"kontua","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"bertsioa","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"Abiarazi erreproduzitzailea beste leiho batean (aurreratua)","SETTINGS_PLAY_IN_EXTERNAL":"Hasi beti bideoa kanpoko erreproduzitzailean","SETTINGS_STORAGE_BUTTON":"Garbitu tokiko biltegiratzea","SETTINGS_STORAGE_MODAL_TITLE":"Ziur zaude ?","SETTINGS_STORAGE_MODAL_MESSAGE":"Honek tokiko biltegia garbitu eta saioa amaituko du.","SETTINGS_HWDEC_PICKER":"Pick hardware-accelerated decoding setting","SETTINGS_HW_AUTOMATIC":"Automatic","SETTINGS_HW_DISABLED":"Disabled","SETTINGS_HW_ACCELERATED":"Decoding acceleration","SETTINGS_HW_FULL":"Full acceleration","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Subtitles","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Controls","SETTINGS_SECTION_AUTO_PLAY":"Auto-Play","SETTINGS_SECTION_ADVANCED":"Advanced","SUBSPICKER_AUDIO":"Audio","SUBSPICKER_SUBTITLES":"Addons Subtitles","SUBSPICKER_BLACK_BACKGROUND":"Use black background color","SUBSPICKER_VERTICAL_OFFSET":"Vertical Offset","SUBSPICKER_SIZE":"Size","SUBSPICKER_DELAY":"Delay","SUBSPICKER_EMBEDDED_SUBS":"Embedded Subtitles","MOBILE_PRIVACY_POLICY":"Privacy Policy","MOBILE_CRASH_REPORTING":"Crash Reporting","MOBILE_ZOOM_TO_FILL":"Zoom To Fill Screen","MOBILE_PASSTHROUGH":"Digital audio output (passthrough)","MOBILE_RUN_LOW_BATTERY":"Run on low battery","MOBILE_RUN_FOREGROUND":"Run as Foreground Service","MOBILE_PERFORMANCE":"PERFORMANCE & STABILITY","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"QR Code expires in ","MOBILE_LOG_INTO":"Log in to your Stremio account ","MOBILE_SCAN_QR":"Scan QR code above or go to ","MOBILE_LINK_ACCOUNT":"Link Account","MOBILE_SPEEDPICKER_CANCEL":"Cancel","MOBILE_SPEEDPICKER_LABEL":"Select Playback Speed","MOBILE_EMPTY_LIBRARY":"Your library is empty","MOBILE_NO_ADDON_ACTIVE":"No Stremio addon active for this type.","MOBILE_ORGANIZER_WARNING":"The Stremio Organizer app provides limited functionality. For a list of playable streams and the full Stremio experience, use Stremio on desktop.","MOBILE_ADDON_LOADING":"is still loading","MOBILE_ADDONS_LOADING":"addons are still loading","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Configure your addon","MOBILE_CONFIGURE_ADDON_LABEL":"Configure Addon","MOBILE_ORGANIZER_ADDONS_WARNING":"The Stremio Organizer app provides a limited selection of addons. For the full Stremio experience, use Stremio on desktop.","MOBILE_DISCONNECT":"Disconnect","MOBILE_LOOKING_FOR_DEVICES":"Looking for devices...","MOBILE_CAST_TO":"Cast to","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Delete Account","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Account deletion is not instant due to legal obligations. After requesting deletion of your account you will have to use different email address/facebook profile to create a new Stremio account in the future.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirm Account Deletion","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Your account has been created using Facebook. To delete your account, please use our user portal at www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Please provide your password to confirm account deletion.","MOBILE_DELETE_ACCOUNT_BUTTON":"Delete Account","NAVIGATION_ON":"On","NAVIGATION_OFF":"Off","MARKETING_AGREE":"I agree to receive marketing communications from Stremio","QUIT":"Irten","CONNECTED":"Konektatuta","AUTHENTICATE":"Autentifikatu","CACHING":"Cachea","SETTINGS_CACHING_DRIVE":"Caching unitatea","ENABLE_LOCAL_FILES_ADDON":"Gaitu fitxategi lokalen gehigarria (berrabiarazi behar da)","LOCAL_ADDON_NOT_ENABLED":"Local addon is not enabled. Click here to go to the settings and enable it","ENABLE_REMOTE_HTTPS_CONN":"Gaitu urruneko HTTPS konexioak","TORRENT_PROFILE":"Torrent profila","DATA_CACHING":"Datuen cache-a","MAGNET_PARSING":"Magnet parseoa","January":"Urtarrila","February":"Otsaila","March":"Martxoa","April":"Apirila","May":"Maiatza","June":"Ekaina","July":"Uztaila","August":"Abuztua","September":"Iraila","October":"Urria","November":"Azaroa","December":"Abendua","Monday":"Astelehena","Tuesday":"Asteartea","Wednesday":"Asteazkena","Thursday":"Osteguna","Friday":"Ostirala","Saturday":"Larunbata","Sunday":"Igandea","Action":"Akzioa","Comedy":"Komedia","War":"Gerra","Family":"Familia","Animation":"Animazioa","Adventure":"Abentura","Fantasy":"Fantasia","Crime":"Delitua","Mystery":"Misterioa","Romance":"Erromantikoa","Drama":"Drama","Horror":"Beldurra","Thriller":"Thrillerra","Sci-Fi":"Zientzia-fikzioa","Music":"Musika","Biography":"Biografia","Documentary":"Dokumentala","Sport":"Kirola","Musical":"Musikala","Western":"Westerna","Film-Noir":"Film-Noir","News":"Albisteak","History":"Historia","Game-Show":"Joko-Ikuskizuna","Reality-TV":"Reality-TV","Talk-Show":"Talk-Show","Film & Entertainment":"Zinema eta aisialdia","Gaming":"Gaming","From TV":"Telebistatik","Lifestyle":"Bizimodua","Science & Education":"Zientzia eta Hezkuntza","Cooking & Health":"Sukaldaritza eta Osasuna","Beauty & Fashion":"Edertasuna eta Moda","Sports":"Kirolak","News & Politics":"Albisteak eta politika","How-to & DIY":"Nola egin eta DIY","Tech":"Teknologia","Automotive":"Automobilgintza","Causes & Non-Profits":"Kausak eta irabazi asmorik gabekoak","Movies":"Filmak","Uk Live Tv":"Uk Live Tv","Fashion":"Moda","Business News Radio":"Business News Radio","Business Tv":"Business Telebista","Cars & Auto":"Autoak","Comedy Radio":"Komedia Irratia","Lifestyle Radio":"Bizimodu Irratia","News Tv":"Albiste Telebista","Food And Wine":"Janaria eta ardoa","Latino Tv":"Latino Tv","Shopping Tv":"Erosketa Telebista","Religion":"Erlijioa","Kids":"Haurrak","Body & Soul":"Gorputza eta Arima","Education":"Hezkuntza","Indian Tv":"Indiako telebista","Extreme Sports":"Muturreko Kirolak","Middle Eastern Tv":"Ekialde Hurbileko Telebista","Celebrity Tv":"Celebrity telebista","Science Tv":"Zientzia telebista","Bikini babe":"Bikini babe","Outdoors":"Aire librean","German Tv":"Alemaniako telebista","French Tv":"Telebista frantsesa","Italian Tv":"Italiako telebista","Gamer Tv":"Gamer telebista","Travel":"Bidaia","Asian Tv":"Asiako telebista","Entertainment":"Aisialdia","News Radio":"Albiste Irratia","Music Radio":"Musika Irratia","Language Learning":"Hizkuntzen ikaskuntza","Science Radio":"Zientzia Irratia","Tech Radio":"Tech Radio","Science & Technology Vod":"Zientzia eta Teknologia Vod","new video":"bideo berria","new episode":"atal berria","new movie":"film berria","recommended":"gomendatua","we recommend":"gomendatzen dugu","offer of the day":"eguneko eskaintza","news":"berriak","music video":"bideoklipa","CTX_SHOW_HOTKEYS":"Show hotkeys","CTX_DISMISS_NOTIF":"Baztertu jakinarazpenak","CTX_DISMISS_ALL":"Baztertu guztiak","CTX_SHARE":"Partekatu","CTX_COPY_SHARE_LINK":"Kopiatu partekatzeko esteka","CTX_COPY_MAGNET_LINK":"Kopiatu magnet esteka","CTX_COPY_STREAM_LINK":"Kopiatu stream-aren esteka","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Deskargatu bideo hau","CTX_DOWNLOAD_SUBS":"Deskargatu azpitituluak","CTX_VIEW_ON_YOUTUBE":"Ikusi Youtuben","CTX_SHOW":"Ikuskizuna","CTX_PLAY":"Erreproduzitu","CTX_PLAY_IN":"Erreproduzitu","CTX_PLAY_ON":"Erreproduzitu","CTX_WATCH_ON":"Ikusi","CTX_WATCH":"Ikusi","CTX_WATCHED":"Ikusita","CTX_WATCH_BEGINNING":"Ikusi hasieratik","CTX_WATCH_MOBILE":"Ikusi gailu mugikorrean","CTX_REWIND":"Atzera hasierara","CTX_MARK_WATCHED":"Markatu ikusitako moduan","CTX_MARK_NON_WATCHED":"Markatu ez ikusi gisa","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"Markatu gainerakoa ikusi bezala","CTX_UNMARK_REST":"Markatu gainerakoak ez ikusi gisa","CTX_RECEIVE_NEW_NOTIF":"Jaso jakinarazpen berriak","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"Kendu cache-tik","CTX_REMOVE_CACHE_EP":"Kendu pasartea katxetik","CTX_OPEN_CONTAINING":"Ireki duen karpeta","CTX_REMOVE":"Kendu liburutegitik","CTX_AVAILABLE_OFFLINE":"Lineaz kanpo eskuragarri","CTX_PAUSED":"Pausatuta","CTX_ALWAYS_ON_TOP":"Beti gainean","CTX_FULLSCREEN":"Pantaila osoa","CTX_WRONG_SUBS":"Azpititulu okerrak?","CTX_REPORT_ISSUES":"Salatu alea","CTX_COPY":"Kopiatu","CTX_PASTE":"Itsatsi","CTX_CLEAR":"Garbi","CTX_CLEAR_RECENT_SEARCHES":"Garbitu azken bilaketak","HELLO_THERE":"Kaixo","HOPE_YOU_ENJOY":"Stremio gustatuko zaizula espero dugu eta laster zure aplikazio gogokoenetako bat izango da!","WHO_ARE_WE":"Nor gara gu? Atzean dagoen taldea gara. Azken 3 urteetan egunero gogor lan egiten duten bi mutil produktu hau gero eta hobea izan dadin.","SUPPORT_US":"Stremio erabiltzea gustatzen bazaizu, Stremio zuretzat baliotsua bada - zabaldu!","SPREAD_THE_WORD":"Partekatu orain zure lagunekin, zabaldu Stremioren berri","MORE_PEOPLE":"Zenbat eta jende gehiagok erabili Stremio, orduan eta hobeto lortuko du!","SEND_A_LINK":"Edo bidali esteka gure webgunera","TIP_LOCALFILES":"Aholkua: bideo fitxategi lokalak arrastatu eta askatu ditzakezu Stremiora","ADDON_MY":"Nire gehigarriak","ADDON_COMMUNITY":"Komunitateko gehigarriak","ADDON_OFFICIAL":"Addon ofizialak","ADDON_REPOS":"Gehigarrien bildumak","ADDON_SEARCH":"Bilatu gehigarriak","ADDON_INSTALL":"Instalatu","ADDON_CONFIGURE":"Konfiguratu","ADDON_UNINSTALL":"Desinstalatu","ADDON_UPGRADE":"Berritu","ADDON_INSTALLED":"Instalatuta","ADDON_INSTALLED_MSG":"Gehigarria instalatuta!","ADDON_UPGRADED_MSG":"Gehigarria bertsio-berritu da!","ADDON_UNKNOWN":"Ezezaguna","ADDON_ERR":"Gehigarri instalazio errorea!","ADDON_DISCONNECTED":"Deskonektatuta","ADDON_APP_MISSING":"iturri honen aplikazioa ez dago instalatuta. Orain instalatu nahi duzu?","ADDON_APP_INSTALL":"Instalatu orain","ADDON_PAGE":"Gehigarrien orria","ADDON_TOP_CONTENT":"Onena Addon honetatik","ADDON_PROVIDES":"Gehigarri honek emango dizu:","ADDON_WATCH":"Ikusi #{types} orain!","ADDON_WATCH_FREE":"Ikusi DOAKO #{types} orain!","ADDON_ADDON":"Gehitu","ADDON_SUPPORTED_TYPES":"Onartutako motak","ADDON_SUPPORTED_CATALOGS":"Onartutako katalogoak","ADDON_PROVIDES_DISCOVER":"#{types} gehiago Ezagutu-n","ADDON_PROVIDES_STREAMS":"Ikusi #{types}","ADDON_PROVIDES_STREAMS_FREE":"Ikusi DOAKO #{types}","ADDON_PROVIDES_SUBTITLES":"#{types}(r)en azpitituluak","ADDON_CANTDETECT":"Ezin izan dugu Stremio exekutatzen ari den detektatu, beraz, ezin dugu detektatu zer gehigarri instalatu dituzun.","ERR_NO_META":"Ez da honi buruzko informaziorik aurkitu","ERR_GETTING_META":"Errorea honi buruzko informazioa eskuratzean.","ERR_CANT_PARSE_MAGNET":"Ezin da magnet parseatu","ERR_NO_MAGNET_INFOHASH":"Ez da baliozko hash-a magnetentzat","ERR_NO_FILE_PATH":"Ezin da eskaera bidali artxiborako biderik gabe","ERR_NO_TORRENT":"Ez da torrentik itzuli","ERR_NO_SUPPORTERD_FILES":"Ez da onartutako fitxategirik aurkitu","ERR_OPENING_FILES":"Ezin izan dira kanpoko fitxategiak ireki","ERR_INVALID_LINK":"Esteka baliogabea","ERR_REGISTERED_ONLY":"Aukera hau erregistratutako erabiltzaileentzat bakarrik dago erabilgarri.","ERR_CLIPBOARD":"Ezin da arbeletik erreproduzitu","ERR_CLIPBOARD_READ":"Ezin da plataforma honetako arbela irakurri","ERR_CLIPBOARD_GENERIC":"Ez da arbelean erreproduzitzeko URLrik aurkitu. Kopiatu URL bat (adibidez, magnet esteka) bideo batera.","BOARD_CONTINUE_WATCHING":"Jarraitu ikusten","BOARD_EXPLANATION_RECOMMENDATIONS":"Zuretzat bereziki aukeratutako filmak. <br /> Film hau gomendio lagin bat da.","BOARD_EXPLANATION_EPISODES":"Zure telesail gogokoen atal berriak datoz hona. <br /> Gehitu jarraitzen dituzun serieak liburutegian.","BOARD_EXPLANATION_VIDEOS":"Zure kanal gogokoen atal berriak etorriko dira. <br /> Gehitu jarraitzen dituzun YouTube kanalak Liburutegian.","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE":"Lagundu","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"Learn more","WEBSITE_COMPANY":"Company","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Need Help?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"Ikusi berehala","WEBSITE_SLOGAN_ALL":"Leku bakarrean gozatzen duzun bideo eduki guztia","WEBSITE_SLOGAN_NEW":"Ikus dezakezun guztia","WEBSITE_SLOGAN_NEW_NEW":"Freedom to Stream","WEBSITE_WATCH_FROM":"Ikusi hemendik","WEBSITE_DOWNLOAD":"Deskargatu orain","WEBSITE_DOWNLOAD_FOR":"Deskargatu orain","WEBSITE_IS_DESKTOP":"Stremio mahaigaineko aplikazioa da, ireki orri hau zure ordenagailuan eta deskargatu","WEBSITE_DESKTOP_DEMO_VID":"Mahaigaineko demoa","WEBSITE_PAGE_HOME":"Hasiera","WEBSITE_PAGE_FEATURES":"Ezaugarriak","WEBSITE_PAGE_ADDONS":"Gehigarriak","WEBSITE_PAGE_TECH":"Teknologia","WEBSITE_PAGE_CREATE_ADDON":"Sortu gehigarria","WEBSITE_PAGE_CONTACTS":"Kontaktuak","WEBSITE_PAGE_BLOG":"Bloga","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Filmak","WEBSITE_TYPE_series_PL":"Telesaila","WEBSITE_TYPE_tv":"Zuzeneko telebista","WEBSITE_TYPE_channel":"Kanalak","WEBSITE_STREMIO_WHAT_IS":"Stremio zure gogoko bideoak, filmak, telesailak eta telebista kateak antolatzen eta berehala ikusten laguntzen duen aplikazioa da.","WEBSITE_FEATURES_WATCH":"Ikusi berehala HD formatuan","WEBSITE_FEATURES_WATCH_DETAIL":"Egin klik eta erreproduzitu gogoko dituzun filmak, telesailak, bideoak eta telebista kateak.","WEBSITE_FEATURES_SUBS":"Azpititulu automatikoak","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio-k zure hizkuntzarako azpitituluak automatikoki hautatzen ditu.","WEBSITE_FEATURES_SUBS_LABEL":"Zure mugimendua, buruzagi.","WEBSITE_FEATURES_CAST":"Erreproduzitu telebistan eta gailu mugikorretan","WEBSITE_FEATURES_CAST_DETAIL":"Igorri AppleTV, Chromecast, Smart TV (DLNA/UPnP) eta gailu mugikorretara.","WEBSITE_LIB":"Gozatu zure gailu guztietan sinkronizatutako liburutegi pertsonalarekin","WEBSITE_LIB_COLLECT":"Bildu Stremiotik","WEBSITE_LIB_IMPORT":"Inportatu Facebooketik","WEBSITE_LIB_LOCAL":"Gehitu zure disko lokaletik","WEBSITE_BOARD":"Taula - Jakinarazpen eta gomendioetarako lekua","WEBSITE_BOARD_RECOMMEND":"Gomendatutako telesaila","WEBSITE_BOARD_TRENDING":"Modako filma","WEBSITE_BOARD_NEW":"Bideo berria","WEBSITE_BOARD_EPISODE":"Atal berria","WEBSITE_BOARD_1":"Ikusteko zerbait interesgarria bilatzen al duzu? Jaso gomendioak zure gustuaren arabera!","WEBSITE_BOARD_2":"Jaso jakinarazpen zure gogoko telesaio edo YouTube kanaleko atal berri bat ateratzen denean!","WEBSITE_BOARD_YOUTUBE":"YouTube kanalen bideo berriak","WEBSITE_BOARD_EPISODES":"Jarraitzen dituzun telesailen atal berriak","WEBSITE_ADDONS":"Edukien gehigarriak","WEBSITE_TECH_DETAIL":"Teknologia maite dugu, zientzia eroa maite dugu!\\nStremio kode irekiko teknologia hauek erabiltzen ari da:","WEBSITE_TECH_WCJS":"WebChimera.js-k Stremio-k edozein bideo formatu erreproduzitzeko aukera ematen du errendimendu onarekin.","WEBSITE_TECH_WCJS_EXTRA":"Proiektuaren laguntzaileak gara","WEBSITE_TECH_ELECTRON":"Electronek Stremio eraikitzeko plataforma berritzailea eskaintzen du.","WEBSITE_TECH_ELECTRON_EXTRA":"Proiektuaren laguntzaileak gara","WEBSITE_TECH_LINVODB":"Zure datuak saioa hasten zaren edozein lekutan antolatuta eta eskuragarri daudela bermatzen duen datu basearen teknologia.","WEBSITE_TECH_LINVODB_EXTRA":"Barne teknologia","WEBSITE_CREATE_ADDON":"Sortu zure gehigarria","WEBSITE_CREATE_ADDON_DETAIL":"Ba al duzu bideo edukia eskaintzen duen zerbitzurik? Stremioren ezaugarriez baliatzen lagunduko dizugu zure gehigarria sortuz.","WEBSITE_CREATE_ADDON_BENEFITS":"Stremiorako gehigarria sortzearen abantailak","WEBSITE_P2P_BEAUTY":"Peer-to-Peer Streaming-en edertasuna","WEBSITE_P2P_1":"HD/4K bideo fidagarria eta merkea, eskariaren arabera edo zuzeneko erreprodukzioarekin","WEBSITE_P2P_2":"Erabiltzaileen esperientzia bikaina eskaintzen duen banaketa plataforma","WEBSITE_P2P_3":"Zure beharretara egokitzen den gehigarri bat sortuko dugu","WEBSITE_P2P_CONTACT":"Interesatuta? <a href=\'mailto:office@stremio.com\'>Jarri gurekin harremanetan</a>.","WEBSITE_P2P_CONTACT_EXTRA":"Pozik lagunduko dizugu zure edukia Stremio-rekin integratzen!","WEBSITE_P2P":"Noizean behin, jokoaren izena aldatzen duen teknologia bat dator. Denbora eta ahalegin ugari inbertitu dugu Peer-to-Peer (P2P) bideo bidezko erreprodukzio motorra eraikitzen, edozein erabilera kasutan egokitzeko errendimendu eta aldakortasun bikaina eskaintzen duena.\\nJarri gurekin harremanetan DRM gaitutako P2P bideoa eskatuta edo zuzenean igortzeko.","WEBSITE_THOUGHTS":"Partekatzen ditugun pentsamenduak:","WEBSITE_SPREAD":"Zabaldu Stremiori buruz:","WEBSITE_CONTACT":"Jar zaitez gurekin harremanetan, pozik jasoko dugu zure berri!","WEBSITE_OPENSOURCE":"Gure kode irekiko proiektuak ikusteko, joan gure webgunera","WEBSITE_BITCOIN":"Eman bitcoinak:","WEBSITE_FAQ":"Ohiko galderak","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Galderak","WEBSITE_TOS":"Erabilera baldintzak","WEBSITE_LEGAL":"Legezkoa","WEBSITE_PAGE_ABOUT":"Buruz","WEBSITE_PAGE_BECOME_PARTNER":"Egin bazkide","WEBSITE_ALL_YOU_CAN_WATCH":"Zuk nahi duzuna\\nIkusteko askatasuna.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"Zer da stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio bideoaren edukiak batzeko gune bakarra da. Ezagutu, antolatu eta ikusi bideoa zure iturri mota guztietako zure gailu guztietan.","WEBSITE_WHAT_IS_STREMIO_P2":"Filmak, telebista saioak, telesailak, zuzeneko telebistak edo YouTube eta Twitch.tv bezalako web kateak - hori guztia Stremion aurkituko duzu.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio multimedia zentro modernoa da, bideo entretenimendurako irtenbide bakarra eskaintzen duena. Bideo edukia instalatzeko erraza den gehigarrietatik deskubritu, ikusi eta antolatzen duzu.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Filmak, telesailak, zuzeneko telebista edo web kateak. Aurkitu hau guztia Stremion.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Gozatu zure multimedia gailu guztietan","WEBSITE_DEVICES_COLLECT":"Bildu Stremiotik","WEBSITE_DEVICES_IMPORT_FB":"Inportatu facebooketik","WEBSITE_DEVICES_LOCAL":"Gehitu tokiko unitatetik","WEBSITE_JOIN_THE_PARTY_NOW":"Sartu orain festara","WEBSITE_DEVICES_ALL":"Erraza zure gailu guztietan erabiltzeko;","WEBSITE_EXTENDABLE_CATALOG":"Bideo katalogo luzagarria infinituki;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Ezaugarri bikainak zure komunikabideak antolatzeko;","WEBSITE_AS_SEEN_ON":"Ikusitakoan","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"Guri buruz","WEBSITE_LINK_TECHNOLOGY":"Teknologia","WEBSITE_LINK_APPS":"Aplikazioak","WEBSITE_LINK_DOWNLOADS":"Deskargak","WEBSITE_MORE":"Gehiago","WEBSITE_LINK_ADDONS":"Gehigarriak","WEBSITE_LINK_ADDON_SDK":"Gehigarriaren SDK","WEBSITE_LINK_CONTRIBUTE":"Lagundu","WEBSITE_LINK_COMMUNITY":"Komunitatea","WEBSITE_LINK_BLOG":"Bloga","WEBSITE_MORE_MORE":"... eta gehiago","WEBSITE_LINK_HELP":"Laguntza zentroa","WEBSITE_LINK_CONTACTS":"Enpresa kontsultak","WEBSITE_LINK_TOS":"Baldintzak","WEBSITE_LINK_PRAVACY":"Pribatutasun politika","WEBSITE_SUBSCRIBE":"Harpidetu","WEBSITE_NEWSLETTER":"Sartu gure buletinera gauza harrigarrietarako","WEBSITE_PLACEHOLDER_EMAIL":"Zure emaila","WEBSITE_COMMUNITY":"Komunitatea","WEBSITE_LINK_PRAVACY_LEGAL":"Pribatutasuna eta legea","WEBSITE_WHY":"Zergatik egiten dugun","WEBSITE_WHY_P1":"Stremion, egunero lan egitera gatoz, bideo-eskaeraren industriaren arazo garrantzitsu bat konpondu nahi dugulako. Hainbeste eduki berri argitaratzen dira minuturo, ia ezinezkoa baita zure bidea aurkitzea.","WEBSITE_WHY_P2":"Jendeari bideo entretenimendu mundu erraldoi horretan nabigatzen eta gozatzeko eduki berriak aurkitzen laguntzen diogu. Gure aplikazioek filmak, serieak, zuzeneko telebista, web kateak eta beste biltzen dituzte. Erabiltzaileek gustuko dituzten izenburuak eta emisorak aurkitzea oso erraz bihurtzeaz arduratzen gara.","WEBSITE_WHY_P3":"Gure zerbitzua edozein gailutan eta noiznahi erabil dezakezu, Stremio inoiz beharko duzun bideo entretenimendu zentro bakarra bihurtuz.","WEBSITE_TEAM":"TALDEA","WEBSITE_TEAM_P":"Stremio taldea txikia baina indartsua da: gutako hamar artean X hizkuntzatan kodetzen dugu eta softwarearen garapenean, UI eta UX diseinuan, marketinean eta publizitatean eta negozioetan eta startupetan espezializazioa partekatzen dugu.","WEBSITE_FEATURES":"Ezaugarriak","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Ezagutu eduki berriak erraz","WEBSITE_FEATURES_DISCOVER_P":"Ikusi erraz ikusteko film, telesail, serie eta kanal berriak. Arakatu kategoriaren, generoaren, balorazioaren, berritasunen eta abarren arabera edo idatzi izen bat aurkitzeko. Stremio-k bideo-eduki berriak aurkitzea tarta bihurtzen du.","WEBSITE_FEATURES_ALL_CONTENT":"Zure bideoaren eduki guztia pantaila batean","WEBSITE_FEATURES_ALL_CONTENT_P1":"Ikusi zer film, serie edo bideo amaitu ez zenituen eta jarraitu ikusten; atal berri eta estreinaldien berri jaso; eta arakatu ikusmen ohituretan oinarrituta jasoko dituzun gomendioak.","WEBSITE_FEATURES_LIBRARY":"Antolatu zure bideoteka","WEBSITE_FEATURES_LIBRARY_P1":"Gehitu edozein titulu zure Stremio liburutegian klik bakarrarekin eta bilatu zure edukia, motaren, berritasunaren edo alfabetoaren arabera ordenatuta.","WEBSITE_FEATURES_CALENDAR":"Jarrai ezazu ikusten duzun guztiaren jarraipena","WEBSITE_FEATURES_CALENDAR_P1":"Lortu liburutegian gehitzen dituzun film eta serie guztien egutegia bistaratzea. Esportatu Stremio egutegia eta sinkronizatu, atal berri bat edo estreinaldi bat noiz iritsi behar den jakiteko.","WEBSITE_FEATURES_BIG_SCREEN":"Gozatu zure bideo edukia pantaila handiago batean","WEBSITE_FEATURES_BIG_SCREEN_P1":"Igorri ikusten ari zena beste gailu batera, izan telefono, tableta edo telebista klik bakarrarekin.","WEBSITE_FEATURES_SOURCES":"Ikusi bideoa iturri askotatik","WEBSITE_FEATURES_SOURCES_P":"Instalatu gehigarri ofizialak eta komunitarioak hornitzaile desberdinetatik ateratako bideoaz gozatzeko - aplikazio dotore eta erraz batean.","WEBSITE_CREATE_AN_ADDON":"Sortu gehigarri bat","WEBSITE_FEATURES_SYNC":"Sinkronizatu liburutegia gailu desberdinetan eta hasi berriro erreprodukzioa","WEBSITE_FEATURES_SYNC_P1":"Hasi saioa zure kontuarekin gailu guztietan eta gozatu liburutegia, gehigarriak, erreprodukzioa eta egutegia sinkronizatuta.","WEBSITE_FEATURES_EXTENDABLE":"Gehigarrien bideo katalogo luzagarria","WEBSITE_FEATURES_EXTENDABLE_P1":"Stremio gehigarrien katalogoak hainbat gehigarri eskaintzen ditu hainbat bideo eduki instalatu eta ikusteko. Filmak, saioak, zuzeneko telebista, kirola, albisteak, podcastak, web kateak, bideojokoak eta beste biltzen ditu.","WEBSITE_FEATURES_AUTO_SUBS":"Azpititulu automatikoak","WEBSITE_FEATURES_AUTO_SUBS_P1":"Gure azpitituluen gehigarriekin automatikoki hautatutako aukerak lortuko dituzu zure gustuko hizkuntzarako.","WEBSITE_FEATURES_CHROMECAST":"Chromecast-era igortzen","WEBSITE_FEATURES_CHROMECAST_P1":"Gozatu zure bideoaren edukia pantaila handiago batean edo ikusi zer ikusten ari zaren beste gailu batera.","WEBSITE_FEATURES_KEEP_TRACK":"Jarrai itzazu zure gogoko telebista saioak eta web kateak","WEBSITE_FEATURES_KEEP_TRACK_P1":"Lortu egutegia bistaratzea eta zure serie eta kanal gogokoen atal berrien jakinarazpenak.","WEBSITE_FEATURES_POWER_USER":"Erabiltzaile indartsuen ezaugarriak","WEBSITE_FEATURES_POWER_USER_P1":"Erreproduzitu kanpoko erreproduzitzailean","WEBSITE_FEATURES_POWER_USER_P2":"Erreproduzitu torrent fitxategi edo iman esteka batetik","WEBSITE_FEATURES_POWER_USER_P3":"Inportatu liburutegira Facebook atsegin dut edo disko lokaletik","WEBSITE_ADD_ONS":"Gehigarriak","WEBSITE_ADD_ONS_P1":"Stremio-k eskaintzen duen bideo guztia gehigarri sistema baten bidez lortzen da - aplikazioan ez da eduki edo eduki hornitzailerik sartu.","WEBSITE_ADD_ONS_P2":"Gehigarrien bi talde daude eskuragarri: gehigarri ofizialak eta komunitarioak.","WEBSITE_ADD_ONS_P3":"Ofizialak Stremio-k garatu eta ostatatzen ditu, eta komunitateko gehigarriak, aldiz, gure komunitateko kideek sortzen dituzte, hauek ere ostatatzen baitituzte.","WEBSITE_ADDONS_OFFICIAL":"Gehigarri ofizialak","WEBSITE_ADDONS_WATCHUB":"Erreproduzitu zure gogoko filmak, serieak eta ikuskizunak, hala nola iTunes, Hulu, Amazon eta Erresuma Batuko / AEBetako beste zerbitzu batzuen hornitzaileek.","WEBSITE_ADDONS_YOUTUBE":"Ikusi gogoko dituzun YouTube kanalak iragarkirik gabe eta jaso jarraitzen dituzun laguntzaileen kargatze berrien berri.","WEBSITE_ADDONS_FILMON":"Ikusi zuzenean telebista, filmak eta telebista sozialak doan. 600 telebista kate, doako 45.000 film, dokumental eta gehiago.","WEBSITE_ADDONS_OPENSUBTITLES":"Filma eta telebistako azpitituluak hizkuntza anitzetan, egunero kargatutako milaka azpitituluak.","WEBSITE_ADDONS_COMMUNITY":"Komunitateko gehigarriak","WEBSITE_ADDONS_FILMON_VOD":"Ikusi bideoa Filmon.tv-k eskatuta","WEBSITE_ADDONS_TWICH":"Ikusi zuzeneko erreprodukzioak Twitch.tv - kirol bideo elektronikoaren industriarako bideoa erreproduzitzeko plataforma.","WEBSITE_ADDONS_VODO":"Ikusi indie filmak guztiz doan.","WEBSITE_ADDONS_NETFLIX":"Ikusi Netflix filmak eta web serieak.","WEBSITE_ADDONS_CREATE":"Sortu gehigarri bat","WEBSITE_ADDONS_CREATE_P1":"Nahi izanez gero, zure gehigarria garatu dezakezu. Horrela, zure buruari eta gure komunitateari bideo eduki berrietarako sarbidea eman ahal izango diezu eta mundu osoko milioika erabiltzaileri zuzendutako ikusle berri batengana heldu.","WEBSITE_ADDONS_START_CREATE":"Hasteko, bisitatu Stremio Addon SDK orria:","WEBSITE_DOWNLOADS":"Deskargak","WEBSITE_DOWNLOADS_P1":"Errendimendu optimoa lortzeko, Stremio aplikazioen eskuragarri dagoen azken bertsioa erabiltzea gomendatzen dugu. Arrazoiren batengatik, ordea, bertsio zaharragoa erabili nahi baduzu, hemen deskarga dezakezu.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Windows-erako Stremio","WEBSITE_DOWNLOADS_FOR_MAC":"MacOS-erako Stremio","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio Linuxerako","WEBSITE_DOWNLOADS_FOR_ANDROID":"Androiderako Stremio","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"IOS Stremio (bertsio mugatua)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"Stremio plataforma kode irekia da eta gaur egun iturri gabeko edukirako gehigarri bat sor dezakezu.","WEBSITE_CONTRIBUTE_WHY":"Zergatik sortu behar zenuke gehigarri bat?","WEBSITE_CONTRIBUTE_WHY_P1":"Iritsi ikusle berrietara zure bideoaren edukira","WEBSITE_CONTRIBUTE_WHY_P2":"Stremioren erabiltzaile-oinarria bizkor hazten ari da - merkaturatu zen lehen urtean, Stremiok milioi bat erabiltzaile irabazi zituen mundu osoan, eta plataformaren existentziaren bigarren urtean kopuru hori 2,5 milioi izatera iritsi zen.","WEBSITE_CONTRIBUTE_WHY_P3":"Zure gehigarriarekin, ikusle honetara erraz irits zaitezke eta zure bideo edukia haiei banatu.","WEBSITE_CONTRIBUTE_ALL":"Ikusi gogoko dituzun filmak, bideoak, serieak eta kanalak leku bakarrean.","WEBSITE_CONTRIBUTE_ALL_P1":"Oraindik Stremion erabilgarri ez dagoen eduki mota jakin baten zalea zara? Sortu gehigarri bat eta disfrutatu zure bideo gogokoenak merkatuan dauden entretenimendu zentro handienetako eta erabilerrazenetako batean ikustean.","WEBSITE_CONTRIBUTE_ALL_P2":"Horretaz gain, gogo bereko beste Stremio komunitateko kideen esker on amaigabea lortuko duzu.","WEBSITE_CONTRIBUTE_MONETIZE":"Dirua irabazi zure gehigarria eta irabazi dirua bere laguntzarekin","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Stremiorako gehigarri berri bat garatu ondoren, modu desberdinetan irabazteko aukera dezakezu. Hori aztertzen ari bazara, jar zaitez gurekin harremanetan harremanetan","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":"- Gehigarriak dirua irabazteko aukerei buruz kontsultatu eta aholkuak emango dizkizugu.","WEBSITE_CONTRIBUTE_TRANSLATE":"Egin itzultzaile boluntario","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Stremio aplikazioak hizkuntza desberdinetan gozatu nahi badituzu, itzultzaile boluntarioen komunitatean sar zaitezke. Stremioren bertsioak hizkuntza desberdinetan gehitzen laguntzen digute.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Hasteko gogoz zaude?","WEBSITE_TRANSALTE_STREMIO":"Itzuli Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Komunitate ofizialak","WEBSITE_COMMUNITY_OFFICIALS_P1":"Bihur zaitez hazten ari den Stremio komunitatearen parte. Jarrai iezaguzu sare sozialetan eta ez izan lotsarik agurtzeko: maite dugu gure zaleengandik entzutea!","WEBSITE_COMMUNITY_UNOFFICIALS":"Komunitate ez ofizialak","STREMIO_COMMUNITY_NL":"Stremio Herbehereak","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Alemania","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgika","STREMIO_COMMUNITY_FRANCE":"Stremio Frantzia","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italia","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio AEB","STREMIO_COMMUNITY_MEXICO":"Stremio Mexiko","STREMIO_COMMUNITY_ADDONS":"Stremio gehigarriak","STREMIO_COMMUNITY_AWESOME":"Stremio zoragarria","WEBSITE_COMMUNITY_PARTNERS":"Bazkideak eta laguntzaileak","WEBSITE_COMMUNITY_GOODIES":"Stremio opariak","WEBSITE_COMMUNITY_WALLPAPERS":"Atzeko irudiak","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"Jarri gurekin harremanetan","WEBSITE_CONTACT_US_P1":"Galderarik, iruzkinik edo iradokizunik baduzu, jar zaitez gurekin harremanetan beheko harremanetarako formularioaren bidez.","WEBSITE_CONTACT_US_P2":"Gogoan izan Bulgarian gaudela, beraz, zure kontsultari erantzuteko denbora atzeratu daiteke ordu-zona desberdintasunengatik.","WEBSITE_CONTACT_US_SUCCESS":"Zure mezua bidali da. Guregana lehenbailehen itzuliko gara.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Mesedez, sartu baliozko mezu elektronikoa!","WEBSITE_CONTACT_US_Q_RELATED_TO":"Zein da zure galdera lotuta?","WEBSITE_CONTACT_US_Q_OS":"Zein da zure Eragiketa Sistema?","WEBSITE_CONTACT_US_PH_EMAIL":"Zure emaila","WEBSITE_CONTACT_US_PH_MESSAGE":"Mezua","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"BIDALI","WEBSITE_CONTACT_US_Q_1":"Nola instalatu?","WEBSITE_CONTACT_US_Q_2":"Nola desinstalatu?","WEBSITE_CONTACT_US_Q_3":"(HTML) Nola egin lasagna?","WEBSITE_CONTACT_US_Q_4":"Gehigarriak","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Teknologia","WEBSITE_TECHNOLOGY_P1":"Teknologia eta zientzia eroa maite ditugu. </br> Hona hemen zerk bultzatzen duen Stremio (kode irekikoa da guztia).","WEBSITE_TECHNOLOGY_P_QT":"Plataforma anitzeko softwarearen garapena onenean.","WEBSITE_TECHNOLOGY_P_MPV":"Doako, kode irekiko eta plataforma anitzeko multimedia erreproduzitzailea.","WEBSITE_TECHNOLOGY_P_RN":"React Native-k aplikazio mugikorrak JavaScript soilik erabiliz eraikitzeko aukera ematen du.","WEBSITE_TECHNOLOGY_P_VLC":"Multimedia esparrua aplikazioan txertatuta multimedia lortzeko.","WEBSITE_TECHNOLOGY_P_REALM":"Realm plataforma mugikorra da eta SQLite & Core Data-ren ordezkoa da.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js iturburu irekiko, plataforma anitzeko JavaScript exekuzio ingurunea da.","WEBSITE_TECHNOLOGY_P_RUST":"Herdoila paradigma anitzeko sistemaren programazio lengoaia da, segurtasunera bideratua, batez ere aldi bereko segurura.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Lagundu proiektuan","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Bi modu daude Stremioren ekarpenak egiteko eta produktua hobetzen lagun gaitzazun.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Zure hizkuntza trebetasun baliotsuak eman ditzakezu plataforma itzulita ...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"edo","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... zure kodeketa gaitasunak erabil ditzakezu komunitatearen gehigarriak sortzeko.","WEBSITE_TRANSLATE_STREMIO":"Itzuli Stremio","WEBSITE_404_OH_NO":"Ui ui ui! Bilatzen ari zaren orria ez dago hemen ...","WEBSITE_GO_HOME":"Hasierara","WEBSITE_LINK_OTHER_DOWNLOADS":"Beste deskarga batzuk","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Laguntza","WEBSITE_DOWNLOAD_4_0_BETA":"Deskargatu Stremio 4 beta orain","WEBSITE_GET_FOR_DESKTOP":"Lortu mahaigainerako","WEBSITE_LINK_ADDON_COMPETITION":"Addon lehiaketa","WEBSITE_LINK_ART_CONTEST":"Arte lehiaketa","WEBSITE_MY_ACCOUNT":"Nire kontua","WEBSITE_MAINPAGE_FAQ_001_H1":"Zer da Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio nahi duzun guztia ikusteko askatasuna ematen duen media zentro modernoa da.","WEBSITE_MAINPAGE_FAQ_002_H1":"Nola dabil?","WEBSITE_MAINPAGE_FAQ_002_P1":"Stremio gailuan instalatu eta kontu bat sortu ondoren, egin behar duzun guztia gehigarrien katalogoa bisitatzea eta nahi duzun gehigarria instalatzea da, eta listo!","WEBSITE_MAINPAGE_FAQ_002_P2":"Horren ondoren, Ezagutu edo Taula ataletara joan zaitezke edukia aztertzen hasteko.","WEBSITE_MAINPAGE_FAQ_003_H1":"Zer ikusi dezaket hemen?","WEBSITE_MAINPAGE_FAQ_003_P1":"Asko: filmak, telebista saioak, web kateak, kirola, telebista kateak, podcastak eta beste. Gure gehigarri sistemari esker, hainbat eduki sar dezakezu.","WEBSITE_MAINPAGE_FAQ_004_H1":"Stremio kode irekia al da?","WEBSITE_MAINPAGE_FAQ_004_P1":"Bai, lotura hauek ikus ditzakezu: ${1}mahaigaineko aplikazioa${2} eta ${3}GitHub erakundea${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Stremio segurua al da?","WEBSITE_MAINPAGE_FAQ_005_P1":"Bai: kode irekiko softwarea denez, kodea publikoki ikuskatzen da eta zuk zeuk berrikus dezakezu.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"Zer moduz nire pribatutasuna?","WEBSITE_MAINPAGE_FAQ_006_P1":"Erabiltzaileen pribatutasuna errespetatzen dugu eta ez dugu zure kontua sortzeko eta sinkronizatzeko ezinbesteko gutxieneko datu pertsonalik biltzen.","WEBSITE_MAINPAGE_FAQ_006_P2":"Erregistratzerakoan ${1}Gonbidatu modua${2} ere badago, inolako daturik behar ez duena: modu honetan, ez da deirik egiten gure backendera. Hala ere, funtzio erabilgarrien kaltetan dator, hala nola liburutegia gailuetan sinkronizatu ahal izatea.","WEBSITE_MAINPAGE_FAQ_007_H1":"Telebistara bota al dezaket?","WEBSITE_MAINPAGE_FAQ_007_P1":"Bai, Chromecast-a onartzen dugu eta mahaigaineko zein mugikorreko aplikazioetatik (Android) bota ditzakezu.","WEBSITE_MAINPAGE_FAQ_008_H1":"Zenbat gehigarri ditu Stremiok?","WEBSITE_MAINPAGE_FAQ_008_P1":"2019 amaieran, 50 urte baino gehiago. Informazio gehiagorako, begiratu gure gehigarrien katalogoa.","WEBSITE_MAINPAGE_FAQ_009_H1":"Stremio gehigarrien katalogoan dagoenaz haratago al daiteke?","WEBSITE_MAINPAGE_FAQ_009_P1":"Bai, hauek egiaztatu beharko zenituzke: ${1}PimpMyStremio${2}, ${3}Reddit komunitateak${4}, ${5}Stremio Downloader${6}, etab.","WEBSITE_MAINPAGE_FAQ_010_H1":"Zer gailu onartzen ditu Stremiok?","WEBSITE_MAINPAGE_FAQ_010_P1":"Windows, Mac eta Linuxerako mahaigaineko aplikazioak ditugu. Mugikorretarako, Android eta iOS onartzen ditugu, baina kontuan izan iOS funtzionalitate mugatua duela (ez ditu gehigarri gehien onartzen).","WEBSITE_MAINPAGE_FAQ_010_P2":"Android-en oinarritutako gailu ugari daude Stremio exekutatu ahal izateko, adibidez NVIDIA Shield eta Amazon Fire Stick, baina ez ditugu ofizialki onartzen.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Stremioren zenbait eduki gehi al ditzakezu?","WEBSITE_MAINPAGE_FAQ_011_P1":"Barkatu, guk ez dugu edukirik eskaintzen, baina zenbat eta Stremio gehigarri gehiago instalatu, orduan eta eduki gehiago aurkituko duzu.","WEBSITE_MAINPAGE_FAQ_012_H1":"Stremio-k magnet estekak erreproduzitu al ditzake?","WEBSITE_MAINPAGE_FAQ_012_P1":"Bai, eta HTTP esteka normalak eta torrent fitxategiak erreproduzi ditzake (arrastatu eta jaregin).","WEBSITE_MAINPAGE_FAQ_013_H1":"Bideo bat deskargatu eta konexiorik gabe ikusi al dezaket?","WEBSITE_MAINPAGE_FAQ_013_P1":"Lineaz kanpoko erabilgarritasuna laster datorren eginbidea da, baina Stremio gailuan gordetzeko baimena ematen baduzu (ezarpenen paneletik) bideoak geroago ikusi ahal izango dituzu konexiorik gabe.","WEBSITE_MAINPAGE_FAQ_014_H1":"Ezerk ez du funtzionatzen, lagundu iezadazu!","WEBSITE_MAINPAGE_FAQ_014_P1":"Ziur zaude gehigarriak instalatu dituzula? Bai bada, begiratu ${2} laguntza zentroarekin ${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"Nola eusten dio Stremiok bere garapen eragiketei?","WEBSITE_MAINPAGE_FAQ_015_P1":"Noizean behin iragarki ez-intrusiboak jartzen ditugu, baina dohaintza eredu batera pasatzea pentsatzen ari gara.","WEBSITE_MAINPAGE_FAQ_015_P2":"Galdera gehiagorako, joan ${1}laguntza-zentrora${2}.","HELP_LEARN_MORE":"Lagundu iezaguzu zure inguruan gehiago jakiten.","LIFESTYLE":"Bizimodua","SPORTS":"Kirolak","FOOD_HEALTH":"Elikadura eta osasuna","BEAUTY_FASHION":"Edertasuna eta Moda","NEWS":"Albisteak","GAMING":"Jokoa","SCIENCE_EDUCATION":"Zientzia eta hezkuntza","MUSIC":"Musika","TRAVEL":"Bidaia","LATE_NIGHT":"Late Night","REALITY":"Realitya","COMEDY":"Komedia","DIY":"Nola egin zerorrek","TECH":"Teknologia","CINEMA":"Zinema","CONTINUE":"Jarraitu","SLOW_LOADING":"KARGA MOTELA?","I_GIVE_UP":"AMORE EMATEN DUT","LEARN_MORE":"Gehiago ikasi","POOR_SOURCE":"Iturri hau ez dago erabilgarri edo zure Interneteko konexioa ez da behar bezain azkarra","PICK_CATEGORIES_ERR":"Gutxienez 3 kategoria aukeratu behar dituzu","ADJUST_TIMING":"Egokitu denborarekin","ADJUST_SIZE":"Doitu tamaina honekin","SEARCH_ANYTHING":"Edozer gauza bila dezakezu ...","ALL_CATEGORIES":"Guztiak","SEARCH_CATEGORIES":"Filmak, Telesailak, YouTube eta Telebista","SEARCH_PERSONS":"Aktoreak, Zuzendariak eta Idazleak","SEARCH_PROTOCOLS":"HTTP eta iman estekak","SEARCH_TYPES":"IMDB/TVDB estekak","WATCHED":"Ikusita","SHOW_LESS":"Erakutsi gutxiago","LAST_SEARCHES":"Azken bilaketak","CLEAR_HISTORY":"Garbitu historia","CHOOSE_SOME":"AUKERATU HEMENDIK BATZUK:","NO_WEB_REMOTE":"Urruneko Web-a ezin izan da kargatu","STREMIO_OFFLINE":"Stremio lineaz kanpo dago","STREMIO_EXPENSIVE_CONNECTION":"Mugikorreko datu konexioa erabiltzen ari zarela antzeman dugu, jarraitu nahi al duzu?","USE_DATA":"Erabili datuak","WARNING":"Abisua","MORE_INFO":"Informazio gehiago ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Kargatzen ...","STREMIO_TV_BACK_TO_LANGUAGES":"Itzuli hizkuntzetara","STREMIO_TV_REMOTE":"Urrunekoa","STREMIO_TV_GO_TO":"Joan:","STREMIO_TV_OR_SCAN":"edo eskaneatu:","STREMIO_TV_ADDON_INSTRUCTIONS":"Mesedez, jarraitu argibideak nahiago dituzun gehigarriak instalatzeko.","STREMIO_TV_LIVE_TV":"Zuzeneko telebista","STREMIO_TV_RESUME_WATCHING":"Berrekin Ikustea","STREMIO_TV_LOADING_BACKGROUND":"Aurrekariak kargatzen","STREMIO_TV_CHECKING_AUTHENTICATION":"Autentifikazioa egiaztatzen","STREMIO_TV_LOADING_BOARD":"Kargatzeko taula","STREMIO_TV_LOGIN_HEADER_LINE_1":"Gure erabiltzaileek ahalik eta esperientzia pertsonalizatu onena izan dezaten nahi dugu gure softwarearekin.","STREMIO_TV_LOGIN_HEADER_LINE_2":"Arrazoi horregatik eskatzen dizugu zure kontua egitea edota saioa hastea.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Eskerrik asko ulertzeagatik,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Stremio Taldea","STREMIO_TV_REMOTE_INSTRUCTIONS":"Urruneko Web-a zure Smartphone/Tablet/Mahaigainarekin erabiltzeko:","STREMIO_TV_WIFI_SETUP":"Wi-Fi konfigurazioa","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle-k ez du Interneteko konexiorik antzeman.","STREMIO_TV_WIFI_DETAILS_1":"Konektatu hona:","STREMIO_TV_WIFI_DETAILS_2":"estremio-zirkulua","STREMIO_TV_WIFI_DETAILS_3":"Erabili pasahitza:","STREMIO_TV_WIFI_DETAILS_4":"estremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Ireki web arakatzailea estekarekin:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Default","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"By Last Watched","STREMIO_TV_LIBRARY_SORT_NAME":"By Name","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"By Times Watched","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Season ${1}","STREMIO_TV_STREAMS_LOADING":"Loaded ${1} / ${2} addons...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} addon is still loading...","STREMIO_TV_PLAYER_SETTINGS":"Player settings","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Azpitituluen atzerapena","STREMIO_TV_PLAYER_AUDIO_DELAY":"Audio delay","STREMIO_TV_PLAYER_VIDEO_SCALING":"Video scaling","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Unsupported stream source","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Failed opening external link","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Not adjustable in audio passthrough mode","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Play with ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Play with libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Switching to libVLC player due to a playback error","STREMIO_TV_ADDONS_TITLE":"Use Stremio on your Phone or PC to install or configure addons and press \\"Sync Addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Note: make sure you are using the same Stremio account","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sync Addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons successfully synchronized","STREMIO_TV_ADDONS_SYNC_FAILED":"Failed to synchronize addons","STREMIO_TV_META_LINK_FAILED":"Failed opening meta link","STREMIO_TV_CATALOG_LOADING":"Catalog still loading...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Interface language updated","STREMIO_TV_SETTINGS_THEME_UPDATED":"Theme updated","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Default Player","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"External Player","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferred Language","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Secondary Preferred Language","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possible playback issues on some devices","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Some video formats might not work","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"No caching","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Default","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Soft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Fast","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Fast","STREMIO_TV_SETTINGS_SERVER_URL":"Streaming server url","STREMIO_TV_SETTINGS_SERVER_VERSION":"Server version","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Unknown","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio version","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Edit server url","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Enter a streaming server url","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Show statistics while loading","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"To read Stremio\'s Privacy Policy, visit:","STREMIO_TV_SETTINGS_TOS_TEXT":"To read Stremio\'s Terms and Conditions, visit:","STREMIO_TV_NAV_SEARCH":"Bilatu","STREMIO_TV_NAV_HOME":"Hasiera","STREMIO_TV_NAV_DISCOVER":"Deskubritu","STREMIO_TV_NAV_LIBRARY":"Liburutegia","STREMIO_TV_NAV_MOVIES":"Pelikulak","STREMIO_TV_NAV_SERIES":"Serieak","STREMIO_TV_NAV_CHANNELS":"Kanalak","STREMIO_TV_NAV_TV":"Zuzeneko Telebista","STREMIO_TV_NAV_SETTINGS":"Ezarpenak","STREMIO_TV_NAV_ADDONS":"Addon-ak","STREMIO_TV_LOGIN_TITLE":"Link Account","STREMIO_TV_LOGIN_EXPIRES_IN":"Expires in","STREMIO_TV_LOGIN_STEP_ONE":"Scan QR Code above or go to","STREMIO_TV_LOGIN_STEP_TWO":"Log in to your Stremio account","STREMIO_TV_LOGIN_NEW_LINK":"Request a new link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Login code refreshed","STREMIO_TV_SEARCH_PLACEHOLDER":"Idatzi zerbait","STREMIO_TV_SEARCH_NO_ADDONS":"No addons were requested for catalogs!","STREMIO_TV_SEARCH_BUTTON":"Bilatu","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Espazio","STREMIO_TV_SEARCH_KEY_CLEAR":"Garbitu","STREMIO_TV_SEARCH_HISTORY_TITLE":"Bilatu historialean","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Izenburu, aktore, kanal eta gehiagoren arabera bilatu dezakezu","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Garbitu bilaketa historiala","STREMIO_TV_FILTERS_DESCRIPTION":"Choose from one of the filters below","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"Iragazkiak","SETTINGS":"Ezarpenak","ACCOUNT":"Kontua","LOGOUT":"Irten","THEMES":"Theme-ak","PLAYBACK":"Playback","PLAYBACK_SPEED":"Playback Speed","AUDIO_TRACKS":"Audio Pistak","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Bideoak","SERVER":"Zerbitzaria","LINKS":"Estekak","ABOUT":"About","INTERFACE":"Interfazea","ANIMATIONS":"Animazioak","STATUS":"Egoera","LANGUAGE":"Hizkuntza","SIZE":"Tamaina","DELAY":"Atzerapena","BOLD":"Lodia","OPACITY":"Opacity","TEXT_COLOR":"Testuaren Kolorea","OUTLINE_COLOR":"Outline Kolorea","BACKGROUND_COLOR":"Atzealdeko Kolorea","BACKGROUND_BLUR":"Atzealde lausoa","SEEK_TIME_DURATION":"Seek Time Duration","AUTO_PLAY":"Auto-Play Next Episode","PLAY_NOW":"Erreproduzitu orain","MARK_AS_WATCHED":"Markatu ikusita","MARK_AS_UNWATCHED":"Markatu ikusi gabe","REWIND_TO_BEGINNING":"Itzuli hasierara","CONTINUE_WATCHING":"Jarraitu ikusten","ALL":"Guztia","SECONDS":"segundu","ON":"ON","OFF":"OFF","RELOAD":"Eguneratu","EDIT_URL":"Aldatu URLa","NONE":"None","EMBEDDED":"Embedded","REMOTE_SWITCH_DEVICES":"Aldatu gailuak","REMOTE_VIDEOS":"Bideoak","REMOTE_ADJUST_TIMING":"Egokitu denbora","REMOTE_ADJUST_SIZE":"Doitu neurria","REMOTE_COULD_NOT_BE_LOADED":"Web urrunekoa ezin izan da kargatu","REMOTE_RETRY":"Saiatu berriro","TORRENT_PROFILE_DEFAULT":"Defektuzkoa","TORRENT_PROFILE_SOFT":"Leuna","TORRENT_PROFILE_FAST":"Azkarra","TORRENT_PROFILE_ULTRA_FAST":"Ultra Azkarra","FAQ_001_H1":"Zer da Stremio?","FAQ_001_P1":"Stremio bideo entretenimendurako diseinatutako multimedia zentroen softwarea da, erabiltzeko erraztasunak kontuan hartuta. Stremio-k & amp; ikusi zure film, serie, kanal eta zuzeneko telebista bilduma.","FAQ_001_P2":"Stremio-k zure disko lokaletik eta gure gehigarri sistematik erakusten duen edukia bildu.","FAQ_001_P3":"Era berean, interesatzen zaizkizun atal/bideo/film berriak ateratzen direnean jakinaraziko zaizu eta filmen gomendioak emango dizkizu.","FAQ_02_H1":"Nola alderatzen da Stremio Kodi eta Plexekin?","FAQ_02_P1":"Bi softwareak inspiratzen gaitu. Baina helburu desberdinak ditugu - Stremio entretenimendu bideoetara bideratuta dago bereziki, eta horretarako oso konponbide nagusia bilakatzen ahalegintzen da erabiltzeko oso erraza izanik.","FAQ_02_P2":"Stremio ez da inoiz Kodi eta Plex bezain pertsonalizagarria eta aberatsa izango, baina errazagoa da erabiltzea. ${1}eskuratu eta ikusi${2} :)","FAQ_03_H1":"Nola alderatzen da Stremio Netflix-ekin?","FAQ_03_P1":"Berriro ere, Netflix da gure inspirazioetako bat. Netflix-en erabiltzailearen esperientzia lortzen ahalegintzen gara, eta gehitutako opari asko. Baina garrantzitsuena, zure liburutegia kudeatzeko eta eduki gehigarri berriak gehitzeko askatasuna ematen dizugu gure addon sistemarekin.","FAQ_03_P2":"Horrek Stremio ezin du luzatu, beraz, Stremio erabiltzen duzunean ez zara inoiz Netflix-ek lizentzia ematea erabakitzen duen edukira mugatzen. Adibidez, Stremioren bidez ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} edukia ikusi dezakezu. eta baita ${9}Netflix${10} bera ere!","FAQ_04_H1":"Nola alderatzen da Stremio Flipboard-ekin?","FAQ_04_P1":"Galdera hori ez dugu hain maiz jasotzen, hasierako jendearekin hitz egitean izan ezik :)","FAQ_04_P2":"Stremio edukien agregatzailea diseinatzean datza, eta horrek bideoetarako Flipboard bihurtzen du. Hori oso agerikoa da gure Batzordearen atalean, katalogoak eta atal berrien / bideo berrien jakinarazpenak eskaintzen dizkizu, Flipboard-ek bezala.","FAQ_05_H1":"Nola alderatzen da Stremio krispeten denborarekin?","FAQ_05_P1":"Stremio eta Popcorn Time erabiltzailearen interfazean antzekoak dira, bideo entretenimendu katalogoak ondo egiteko modu asko ez dagoelako :)","FAQ_05_P2":"Popcorn Time iturri zehatzetatik torrent-ekin erreproduzitzera bideratuta dagoen arren, Stremio mugarik gabe dago eta eduki-agregatzailea besterik ez da, ez dago eduki-iturri zehatz batean blokeatuta.","FAQ_05_P3":"Gainera, ez dugu torrent gehigarririk ematen lehenespenez, beraz, Stremiok ez du krispeten denboraren erabilera-kasua funtzionalitate ofizialarekin estaltzen.","FAQ_05_P4":"Beste desberdintasun aipagarri bat Popcorn Time erabat irekia dela da, Stremio ${1}partzialki irekita${2} dela.","FAQ_06_H1":"Gehituko al duzu film/telesail hau?","FAQ_06_P1":"Ez, barkatu :(","FAQ_06_P2":"Beste galdera gehienetan aipatzen den bezala, Stremiok ez du berez edukirik eskaintzen - dena gehigarrien sistemaren bidez gehitzen da. Eduki eskaera izanez gero, erreproduzitzailean dagoen \\"Salatu\\" botoia erabil dezakezu, mezu elektroniko bat bidaliko dio unean erabiltzen ari zaren gehigarriaren egileari.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"X-rako gehigarria sortuko al duzu?","FAQ_08_P1":"Erabat posible da.","FAQ_08_P2":"Gehigarri bat egiteko ideia baduzu, idatzi ${1}office@stremio.com${2} helbidera, baina ziurtatu gehigarrien ideiak ez dituela inolako copyright edo erabilera baldintzak urratuko.","FAQ_08_P3":"Momentuz, gure bide orriko hurrengo gauzak FandangoNOW, Filmon.tv bideoaren eskaera eta Crunchyroll-en gehigarriak dira.","FAQ_09_H1":"Stremiok BitTorrent erabiltzen al du?","FAQ_09_P1":"Bai, Stremiok BitTorrent onartzen du streaming protokolo gisa. Hori erabil dezakezu torrent gehigarri batekin edo .torrent fitxategi bat Stremiora arrastatuz eta jareginez edo Bilaketa barran iman esteka itsatsita.","FAQ_09_P2":"Kontuan izan BitTorrent erabiltzen duen gehigarri ofizial bakarra ${1} Vodo ${2} dela, indie edukia eskaintzen duena, guztia BitTorrent-ekin banatzeko baimendua.","FAQ_09_P3":"Ez dugu onartzen copyright-urraketa egin dezaketen hirugarrenen gehigarririk erabiltzea.","FAQ_10_H1":"Zer ikusi dezaket Stremion gehigarri ofizialekin?","FAQ_10_P1":"Berez, Filmon.tv, YouTube eta Vodo edukiak Stremio beraren barruan ikus ditzakezu, kapsulatutako erreproduzitzailearekin. Gainera, Twitch.tv-rako gehigarria dugu eta beste batzuk.","FAQ_10_P2":"Konbinatu honek aukera hauek eskaintzen ditu:","FAQ_10_L1":"Filmon.tv-k eskainitako telebista kate ezagunak - adibidez, E4, BBC, Bollyworld TV","FAQ_10_L2":"YouTube-tik dena - adibidez BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Film indiarrak Vodorekin","FAQ_10_L4":"Lineako jokoen emisioak Twitch.tv-rekin","FAQ_10_P3":"Gainera, gida-kutxa eta Netflix gehigarriekin hornitutako eduki iturri ugari daude, <b> ez </b> Stremio barruan guztiz erreproduzitzen direnak, baina emandako zerbitzura birbideratuko lirateke. Adibidez, Guidebox gehigarriak AEBetan doan erreproduzi ditzakezun filmen aukeraketa emango dizu TubiTV eta Crackle bezalako zerbitzuetatik.","FAQ_11_H1":"Stremiok ez du instalatuko, zer egin behar dut?","FAQ_11_P1":"Windows-en bazaude, probatu ${1} ${2} instalatzaile alternatibo hau.","FAQ_11_P2":"Mac OS X erabiltzen baduzu, kontuan izan ez dugula OS X Mavericks (10.9) baino zaharragoak onartzen.","FAQ_11_P3":"Linux erabiltzen baduzu, kontuan izan momentuz 64 bit (x64) Linux soilik onartzen ditugula.","FAQ_11_P4":"Oraindik arazoa konpondu ezin baduzu, idatzi iezaguzu ${1}Facebook taldean${2}.","FAQ_12_H1":"Zergatik kexatzen da nire birusaren kontrakoa? Stremio segurua al da?","FAQ_12_P1":"Stremio ${1}%100 garbi${2} dagoela ziurtatzen dizugu.","FAQ_12_P2":"Birusen aurkako arazoa kexatzen ari da publizitatea gure instalatzailean sartzen dugulako, birusen aurkako programa batzuek iragarki gisa aitortzen baitute.","FAQ_12_P3":"Oraindik ziur ez bazaude, ${1}instalatzaile alternatiboa${2} probatu dezakezu.","FAQ_13_H1":"Nola egin dezaket gehigarri bat?","FAQ_13_P1":"Hasiberrientzat, GitHub-en gure ${1}addons sistemaren modulua${2} begiratzea gomendatzen dugu.","FAQ_13_P2":"Ondoren, ${1}Hello World tutoriala${2} jarraitu dezakezu.","FAQ_13_P3":"Programaziorako trebetasunik ez baduzu, idatzi zure ideia ${1}Reddit komunitatean${2} eta jarri gurekin harremanetan zure addon ideiarekin ${3}office@stremio.com${4} helbidean.","FAQ_14_H1":"Nola argitaratzen dira gehigarriak?","FAQ_14_P1":"Gehigarri eta ostalari bat sortzen duzunean eta zure manifestuan <b> amaiera </b> eremua jartzen duzunean, funtzionatzen duen gehigarrien helbidea seinalatzen duena, gehigarriak automatikoki argitaratuko du gure ${1} gehigarrien katalogoan ${2} .","FAQ_14_P2":"Stremio-addons moduluko zerbitzariaren zatiak automatikoki dei egiten duelako gure APIra gehigarria iragartzeko. Gure APIak zure <b> amaierako puntua </b> baliozko gehigarri gisa balioztatzen duenean, katalogoan erakusten hasiko da.","FAQ_15_H1":"Exekutatu al dezaket Stremio nire arakatzailean?","FAQ_15_P1":"Momentuz ez, baina badator hau!","FAQ_15_P2":"Alpha bat ikusteko jakinmina baduzu, hemen ikus dezakezu: ${1} alpha4.strem.io ${2}. Gogoan izan streaming hau alfa honetan desgaituta dagoela. Chrome, Firefox, Opera eta Edge onartzen ditugu.","FAQ_16_H1":"Telebistara igortzeak ez du funtzionatzen / azpitituluak ez dira funtzionatzen","FAQ_16_P1":"Telebistara igotzeak telebista marka eta modelo desberdinen artean oso bat ez datorren DLNA teknologia erabiltzen du. Hori dela eta, kasu guztietan ez dugu probatzeko gaitasunik, beraz, oso urrun dago perfektua izatetik. Hala ere, etengabe hobetzeko lanean ari gara, baina ezin dugu DLNA zure telebistarekin ondo funtzionatzen noiz hasiko den kalkulatzeko denbora.","FAQ_16_P2":"Zure telebista casting menuan ikusten ez baduzu ere, saiatu sareko konexioa desgaitzen eta berriro gaitzen (Windows-en, egin klik eskuineko botoiarekin Sarea eta erabili Gaitu / Desgaitu), baita router, telebista eta ordenagailua berrabiarazi ere. .","FAQ_16_P3":"Oraindik arazoak topatzen badituzu, lagun diezagukezu telebistaren marka eta modeloaren informazioa ${1}office@stremio.com${2} helbidera bidalita.","FAQ_16_P4":"Bitartean, oso ondo onartzen dugun Chromecast gomendatzen dugu edo, besterik gabe, zure telebista ordenagailura HDMI kable batekin konektatzea.","FAQ_17_H1":"Stremio izoztu edota huts egiten du, zer egin dezaket?","FAQ_17_P1":"Lehenik eta behin, Windows 7 AVG antibirusarekin erabiltzen ari bazara: arazo bat dugu konbinazio horrekin. Arazoa AVG-n dago, eta ez dago arrazoizko modurik gure aldetik konpontzeko. Zoritxarrez, salbuespenak edo birusen aurkako desgaitzea ez dira funtzionatuko. Irtenbide bakarra AVG beste zerbaitengatik ordezkatzea da.","FAQ_17_P2":"Hori ez bada arazoa, baina Windows erabiltzen jarraitzen baduzu, eguneratu azken zerbitzu-paketera eta eguneratu/instalatu berriro GPU kontrolatzaileak, eta saiatu berriro.","FAQ_17_P3":"Arazoa oraindik konpontzen ez bada edo Mac edo Linux erabiltzen ari bazara, idatzi iezaguzu arazoaren xehetasun zehatzen berri ${1}gure Facebook taldeko${2} helbidean.","FAQ_18_H1":"Nola egin dezaket gehigarri bat?","FAQ_18_P1":"Hasiberrientzat, GitHub-en gure ${1}addons sistemaren modulua${2} begiratzea gomendatzen dugu.","FAQ_18_P2":"Ondoren, ${1} Hello World tutoretza ${2} jarraitu dezakezu.","FAQ_18_P3":"Programaziorako trebetasunik ez baduzu, idatzi zure ideia ${1}Reddit komunitatean${2} eta jarri gurekin harremanetan zure addon ideiarekin ${3}office@stremio.com${4} helbidean.","FAQ_19_H1":"Zergatik ari da Stremio diskoan lekua hartzen?","FAQ_19_P1":"Stremio-k <b> cache lokal </b> bat du igortzen dituzun bideo fitxategiak aldi baterako mantentzeko.","FAQ_19_P2":"Horrek bi abantaila ditu: lehenik, Stremiok bideoa aurrez bufferrean uzteko aukera ematen du, streaming zuzenagoa bermatzeko. Bigarrenik, bideoak cache lokalean gordetzen ditu, lineaz kanpo ikusten jarraitu ahal izateko.","FAQ_19_P3":"Stremio-k zenbat gordetzen duen ezarpenen paneleko <b> Cache </b> ezarpenaren araberakoa da. Stremio-k zure diskoan ezarritako zenbatekoa (adibidez, 2 GB) gorde dezake, unean erreproduzitutako bideoa hori baino handiagoa ez bada, kasu horretan, gordetzeko adina biltegiratze esleitu behar du erreproduzitu arte.","FAQ_20_H1":"Non dago cache karpeta?","FAQ_20_P1":"Windows-en, Stremio-cache da Ezarpenetan aukeratu duzun unitatean (adibidez, \\"E: \\\\ stremio-cache\\")","FAQ_20_P2":"MacOS-en \\"~ /Library/Application Support/Stremio/stremio-cache\\" da","FAQ_20_P3":"Linux-en \\"~/.stremio/stremio-cache\\" edo \\"~/stremio-cache\\" da.","FAQ_21_H1":"\\"Streaming zerbitzaria ez da aurkitu\\" errorea dut. Zer egin dezaket?","FAQ_21_P1":"Akats hau jasoz gero, gauza gutxietako bat esan nahi du:","FAQ_21_P2":"1) YouTube/BitTorrent iturriak babestutako gehigarri bat erabiltzen saiatzen ari zara, gure ${1}web bertsioaren${2} bidez. Kasu honetan, gure mahaigaineko bertsioa ${3}webgunetik${4} instalatu beharko zenuke.","FAQ_21_P3":"2) Zerbait ez dago gaizki zure Stremio instalazioarekin. Kasu honetan, saiatu berriro instalatzen mahaigaineko azken bertsioa ${1} ${2} webgunetik. Honek laguntzen ez badu, saiatu birusen aurkako programak eta suebakiak desgaitzen, ordenagailua berrabiarazi eta saiatu berriro. Honek ere funtzionatzen ez badu, idatzi iezaguzu ${3}gure Facebook taldean${4}.","FAQ_22_H1":"Ezin ditut iOSeko gehigarri gehienak ikusi/erabili","FAQ_22_P1":"Apple App Store-ren baldintzak eta mugak direla eta, iOS aplikazioa gehigarri jakin batzuetara soilik mugatu dugu.","FAQ_22_P2":"Baina lasai - etorkizunean iOS-erako gehigarri gehiago egongo dira, eta Stremio gehigarri guztiak erabiltzea ahalbidetuko duen integrazioa ere gehi dezakegu iOS aplikazioa Stremio Streaming Server-era konektatzeari esker."}')},32381:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"فیلم","TYPE_series":"سریال","TYPE_tv":"برنامه تلویزیونی","TYPE_channel":"کانال","TYPE_other":"سایر","TYPE_movie_PL":"فیلم ها","TYPE_series_PL":"سریال ها","TYPE_tv_PL":"برنامه های تلویزیونی","TYPE_channel_PL":"کانال ها","TYPE_other_PL":"سایر","TYPE_ALL":"همه","TYPE":"نوع","CATALOG_com_linvo_cinemeta_top":"پرطرفدار","CATALOG_com_linvo_cinemeta_imdbRating":"ویژه","CATALOG_com_linvo_cinemeta_year":"جدید","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"فیلم های دامنه عمومی","VIDEO":"ویدیو","BACK":"قبلی","MORE":"بیشتر","DONE":"اتمام","COPY":"کپی","SUCCESS":"موفقیت","ERROR":"خطا","SETTINGS_CASTING_MODE_PICKER":"حالت پخش","CASTING_MODE_HLSV2":"پیش فرض","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"بدون رمزگذاری","Discover":"مشاهده","Board":"بورد","Library":"کتابخانه","My Library":"کتابخانه من","Calendar":"تقویم","NOTIFICATION_ONLINE":"شما الان آنلاینید","NOTIFICATION_OFFLINE":"شما افلاینید","INTERNET_CONNECTION":"کانکشن شبکه","STORAGE_FULL_TITLE":"هشدار: فضای دیسک شما پر شده است!!!","STORAGE_FULL_TEXT":"استریمیو نمی تواند تنظیمات شما را ذخیره کند، شاید دوباره نصب کردن یا ری استارت کردن آن به حل این مشکل کمک کند.","SEARCH":"جستجو","SEARCH_NO_RESULTS":"نتیجه ای یافت نشد","SEARCH_EXPLANATION_CONTENT":"در لیست فیلم ، سریال ، یوتیوب یا کانال های تلویزیونی جستجو کنید","SEARCH_EXPLANATION_PEOPLE":"در لیست بازیگران ،‌نویسندگان یا کارگردان ها جستجو کنید","SEARCH_PASTE_LINKS":" HTTP یا Magnet links را در اینجا کپی کنید","SEARCH_OR_PASTE_LINK":"جستجو کنید یا لینک را وارد کنید","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"افزودن به کتابخانه","REMOVE_FROM_LIB":"حذف از کتابخانه","ADDED_TO_LIB":"به کتابخانه اضافه شد","REMOVED_FROM_LIB":"از کتابخانه حذف شد","TRAILER":"تریلر","WATCH_TRAILER":"مشاهده تریلر","WATCH_NOW":"تماشا کنید","SHOW":"نمایش","SHOW_MOVIE":"نمایش فیلم","WATCH_RANDOM":"تصادفی مشاهده کنید","IMDB_RATING":"IMDb رتبه","YEAR":"سال","DIRECTOR":"کارگردان","WRITER":"نویسنده","LEAD_ACTORS":"بازیگران اصلی","CAST":"سایر بازیگران","CREW":"خدمه","SHOW_MORE_CAST":"نمایش بیشتر »","AIRED":"پخش شده","SEASONS":"فصل ها","GENRE":"ژانر","GENRE_ALL":"تمام ژانرها","CATALOG":"کاتالوگ","SUMMARY":"خلاصه","SHOW_MORE":"نمایش بیشتر","SIMILAR":"مشابه","UPCOMING":"بزودی عرضه می شود","ENDED":"پایان یافته","DURATION":"طول","FEATURED":"ویژه شده","METADATA":"متا دیتا","CATEGORY":"دسته بندی","LINKS_GENRES":"ژانرها","LINKS_CAST":"بازیگران","LINKS_DIRECTORS":"کارگردان ها","SEARCH_VIDEOS":"جستجوی ویدیو","SEARCH_PLACEHOLDER":"جستجو کنید یا URL را وارد کنید","ADDON":"افزونه","ADDONS":"افزونه ها","OFFICIAL":"رسمی","ADDONS_OFFICIAL":"افزونه های رسمی استریمیو","ADDONS_POPULAR":"پرطرفدارها در کشور شما","ADDON_FREE":"رایگان","ADDON_PEERED":"جفت شده","ADDON_SUBSCRIPTION":"عضویت","ADDON_STREAM_GEORESTRICTED":"در کشور شما در دسترس نیست","ADDON_STREAM_OFFLINECACHE":"کش آفلاین","ADDON_STREAM_LOCALFILE":"فایل لوکال","SHARE_ADDON":"به اشتراک گذاری افزونه","AVAILABLE_STREAMS":"استریم های در دسترس","NO_STREAM":"استریمی یافت نشد.","ALL_ADDONS":"All","INSTALL_MORE_ADDONS":"برای استفاده از استریم های بیشتر ، می توانید آن ها را نصب کنید","STREAM_NOT_SUPPORTED":"این استریم انتخابی شما برای این پلتفورم قابل استفاده نیست","ADDON_CATALOGUE":"نمایش همه افزونه ها »","ADDON_CATALOGUE_MORE":"نصب افزونه ها","REPO_ADDED":"مخزن نصب شد","ADDON_REPO_EXIST_ERR":"این آلبوم از قبل موجود بود","ADDON_REPO_ERR":"در هنگام افزودن مخزن مشکلی بوجود آمد","ADDON_ADD_ERR":"در هنگام افزودن افزونه مشکلی بوجود آمد","ERR_ADDON_PROTECTED":"این افزونه محافظت شده و قابل حذف نیست","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"یوزر پسوورد اشتباه است، مشکلی بوجود امد","ERR_NOT_COLLECTION_URL":"آدرس مجموعه نیست","ERR_NOT_ADDON_URL":"آدرس افزونه اشتباه است","ERR_DETECTFROMURL":"از این آدرس چیزی پیدا نکردیم","ADDON_DUPLICATE_WARNING":"هشدار:افزونه تکراری است","ADDON_COLLECTION_SET_FAILED":"عملیات همگام سازی افزونه های نصب شده به پنل کاربری شما ، با شکست مواجه شد","SETTINGS_DATA_EXPORT":"استخراج اطلاعات کاربر","ADDON_PULL_FAILED":"عملیات همگام سازی افزونه های نصب شده ناموفق بود","REFRESH_ON_CLICK":"برای تلاش دوباره کلیک کنید","STILL_IN_THEATER":"فیلم فعلا فقط قابل نمایش در سالن تئاتر است","WATCH_IN_CINEMA":"در سینمای محله ی خودتان ببینید","IN_THEATER":"در سینما","GET_TICKETS":"بلیط بگیرید","UPCOMING_EPISODE":"اپیزود های آینده","UPCOMING_EPISODE_MESSAGE":"این ایپزود منتشر می شود در","MISSING_DATE_EPISODE":"تاریخی در دسترس نیست","MISSING_DATE_EPISODE_MESSAGE":"این اپیزود هنوز منتشر نشده","CHANNEL_NOT_SCRAPED":"اطلاعات این کانال هنوز دریافت نشده<br>لطفا چند دقیقه دیگر مراجعه کنید.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"به کتابخانه شما افزوده شد وقتی در دسترس شد به شما اطلاع رسانی می شود.","GET_NOTIFIED_WHEN_AVAILABLE":"زمانی که در دسترس شد به شما اطلاع رسانی می شود","WARNING_STREAMING_SERVER":"هشدار: استریم سرور یافت نشد، استریم قابل انجام نیست","WARNING_STREAMING_SERVER_DISMISS":"رد کردن","WARNING_STREAMING_SERVER_LATER":"بعدا","DECODER_WARNING":"هشدار: سخت افزار شما این ویدیو را پشتیبانی نمی کند، حواستان باشد که ممکن است این ویدیو برای شما با سرعت پایینتری پخش شود","GENERIC_ERROR_MESSAGE":"خطای رخ داده است!","TRY_AGAIN":"دوباره تلاش کنید","CLEAR_DATA":"پاک کردن داده ها","PLAYER_ERROR":"اوپس ، مشکلی در پخش کننده پیش آمده","PLAYER_ERROR_LOOKSLIKE":"انگار","PLAYER_ORIENTATION":"جهت نمایش","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"قفل شده","PLAYER_ORIENTATION_SENSOR_SHORT":"سنسور","PLAYER_ORIENTATION_LANDSCAPE":"نمایش بصورت عمودی قفل شده","PLAYER_ORIENTATION_SENSOR":"جهت نمایش پخش کننده بصورت اتوماتیک تنظیم می شود","PLAYER_PLAYBACK_SPEED":"سرعت پخش","PLAYER_PLAYBACK_ERROR":"پخش ویدیوبا مشکل مواجه شد ، دوباره سعی کنید","PLAYER_PLAYBACK_ERROR_UNKNOWN":"خطای نا شناخته","PLAYER_PLAYBACK_ERROR_DEFAULT":"این ویدیو نمی تواند در {{productName}} پخش شود.","PLAYER_SUBTITLES_LANGUAGES":"زبان های زیرنویس","PLAYER_SUBTITLES_VARIANTS":"انواع زیرنویس","PLAYER_SUBTITLES_SETTINGS":"تنظیمات زیرنویس","PLAYER_SUBTITLES_DISABLED":"زیرنویس غیرفعال است","PLAYER_SUBTITLES_VERTICAL_POSIITON":"موقعیت عمودی","PLAYER_SUBTITLES_LOADED":"زیرنویس بارگذاری شد.","PLAYER_SUBTITLES_LOADED_EMBEDDED":"زیرنویس چسبیده بارگذاری شد","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"زیرنویس انحصاری بارگذاری شد","PLAYER_SUBTITLES_LOADED_ORIGIN":"زیرنویس {{origin}} بارگذاری شد","PLAYER_PLAY":"پخش","PLAYER_PAUSE":"توقف","PLAYER_NEXT_VIDEO":"ویدئوی بعدی","PLAYER_MUTE":"بیصدا","PLAYER_UNMUTE":"باصدا","PLAYER_OPEN_IN_EXTERNAL":"بازکردن در پخش کننده خارجی","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"پخش در {{device}}","PLAYER_LIVE":"لایو","PLAYER_NEXT_VIDEO_TITLE":"می آید در","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"کنسل کردن","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"مشاهده کنید","PLAYER_COPY_STREAM_SUCCESS":"لینک استریم با موفقیت کپی شد","PLAYER_COPY_STREAM_ERROR":"خطایی در کپی کردن لینک استریم رخ داد","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","STREAMING_FROM":"استریم شده از","CASTING_TO":"کست شده از","NETWORK_STATUS":"وضعیت شبکه","STREAM_SPEED":"سرعت استریم:","STREAM_BUFFERED":"بافر شده:","PEERS_INFO":"Peers اطلاعات","PEERS_ACTIVE":"فعال:","PEERS_CONNECTED":"وصل شده:","PEERS_WAITING":"منظتر باشید:","TRANSCODING_WARNING":"هشدار: در حال ترانسکد کرد ویدیو","STREAM_LOADING":"کمی شکیبا باشید...","PLAYING_LOCAL":"در حال پخش از اوکال","PLAYING_CACHE":"در حال پخش از کش","WRONG_SUBS":"زیرنویس اشتباه است؟","ERR_SUBS_LOADING_TITLE":"خطا در دریافت زیرنویس","ERR_SUBS_LOADING":"خطایی در دریافت زیر نویس ها پیش آمده شاید بخاطر افزونه زیرنویس است یا حتی مشکل از اینترنت شماست","WARN_FOLLOWING_SUB_ADDONS_FAILED":"افزونه زیرنویس فوق مشکل دارد","ERR_CASTING_UPDATE_TITLE":"نمی توانیم اطلاعات دستگاه شما را بروزرسانی کنید ،سرور استریمینگ ممکن است مشکل داشته باشد","CHOOSE_DEVICE":"دستگاه را انتخاب کنید","NO_CAST_DEVICES":"دستگاهی پیدا نشد","NO_SETTINGS":"تنظیمات یافت نشد","PHONE_TABLET":"گوشی یا تبلت","SUBTITLES":"زیرنویس ها","SUBTITLES_CHANGE":"زیرنویس را انتخاب کنید برای","SUBTITLES_CHANGE_NONE":"هیچ زیرنویس دیگری پیدا نشد","SUBTITLES_CHANGE_ACIVE":"زیرنویس های موجود : &#35;{{subtitlesDialog.activeIdx + 1}} . بر روی دکمه \\"Continue\\" کلیک کنید تا زیرنویس را مشاهده کنید. &#35;{{subtitlesDialog.pickedIdx + 1}}","SUBTITLES_OR":"جایگزین,","SUBTITLES_ADJUST_DELAY":"تاخیر زیرنویس:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"یا کلید <span>G</span> / <span>H</span> را در هنگام پخش استفاده کنید","SUBTITLES_ADJUST_DELAY_TIP":"توجه: شما می توانید کلید <span>G</span> / <span>H</span> را هنگام پخش استفاده کنید.","SUBTITLES_DELAY":"تاخیر زیرنویس ها:","SUBTITLES_LOADING":"در حال دریافت زیرنویس ها","SUBTITLES_UNAVAILABLE":"هیچ زیرنویس خارجی ای در دسترس نیست","SUBTITLES_DISABLED":"غیرفعال شده","EXTERNAL_PLAYER_DISABLED":"غیرفعال","EXTERNAL_PLAYER_ALLOW_CHOOSING":"انتخاب کنید","EXTERNAL_PLAYER_HINT":"راهنما: در تنظیمات قسمتی وجود دارد که میتوانید همیشه پخش کننده خارجی را باز کنید.","DONT_SHOW_AGAIN":"دوباره نشان نده","SERVICE_INSTALL":"نصب","AUDIO":"صدا","DEFAULT_LANGUAGE":"زبان پیشفرض","DEFAULT_SECONDARY_LANGUAGE":"زبان پیشفرض دوم","SEASON":"فصل","EPISODE":"قسمت","EPISODE_ABBREVIATION":"قسمت","SPECIAL":"ویژه","SORT":"مرتب سازی","SORT_BY":"مرتب سازی بر","FILTER":"فیلتر","SORT_TRENDING":"ترند","SORT_RECENT":"آخرین","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"رتبه","SORT_WATCHED":"مشاهده شده","SORT_YEAR":"سال","SELECT_TYPE":"انتخاب نوع","SELECT_SORT":"انتخاب ترتیب","SELECT_CATALOG":"انتخاب کاتالوگ","SELECT_GENRE":"انتخاب ژانر","SORT_LASTWATCHED":"بر اساس آخرین مشاهده","SORT_NAME":"بر اساس نام","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"بر ساسا مدت زمان مشاهده","SORT_NOTWATCHED":"not watched","New for You":"جدیدترین ها برای شما","New Episodes":"اپیزودهای جدید","New Videos":"ویدیو های جدید","Recommendations":"پیشنهاد شده:","LIBRARY_RESUME":"از سرگیری","LIBRARY_PLAY":"پخش","LIBRARY_DETAILS":"اطلاعات بیشتر","LIBRARY_RESUME_DISMISS":"رد کردن","LIBRARY_CLEAR_PROGRESS":"پاک کردن پیشرفت","LIBRARY_REMOVE":"پاک کردن","LIBRARY_NOT_LOGGED_IN":"کتابخانه فقط برای کاربران لاگین شده در دسترس است","CALENDAR_NOT_LOGGED_IN":"تقویم فقط برای کاربران لاگین شده در دسترس است","NOT_LOGGED_IN_CLOUD":"بع فیلم مورد علاقه تون درهر زمان و مکانی دسترسی داشته باشید","NOT_LOGGED_IN_RECOMMENDATIONS":"پیشنهات برای اساس ویدئوهای مشاهده شده شما هستند","NOT_LOGGED_IN_NOTIFICATIONS":"هیچوقت قسمت جدید رو از دست نده","NOT_LOGGED_IN_CALENDAR":"زمان مشاهده را در تقویم خود وارد کنید","DISCOVER_FEATURED":"ویژه ها","DISCOVER_TOP":"برترین ها","DISCOVER_OSCAR":"برندگان اسکار","DISCOVER_WARNING_TITLE":"اوپس!","DISCOVER_EMPTY_CATALOG":"افزونه خالی است","DISCOVER_ADULT_WARNING":"مخصوص بزرگسالان است ، ایا سن شما بالاتر از ۱۸ است؟","DISCOVER_NOADDON_WARNING":" هشدار: هیچ افزونه ای برای این نوع فعال نمیباشد. نمایش موارد ذخیره شده، هیچ چیزی دخیره نخواهد شد.","DISCOVER_LOAD_ERR":"خطایی در بارگذاری محتوا رخ داد.","DISCOVER_ADDON_UNINSTALLED":"محتوا دیگر در دسترس نمیباشد، بهتره که افزونه را پاک کنید","UNINSTALL_THIS_ADDON":"حذف این اددان(افزونه)","ERR_ADDON_NOT_INSTALLED":"این افزونه نصب نشده است، نصب میکنید ؟","DETAIL_RECEIVE_NOTIF_SERIES":"برای قسمت های جدید نوتیفیکیشن دریافت کند","DETAIL_RECEIVE_NOTIF_VIDEOS":"برای ویدئو های جدید نوتیفیکیشن دریافت کنید","SIDEBAR_SHOW_STREAMS":"نمایش استریم","RELAUNCH":"بارگذاری دوباره!","UPGRADE":"نسخه جدید پیدا شد، به نسخه جدید ارتفا دهید","RELOAD_UI":"بارگذاری دوباره رابط کاربری","MANUAL_UPDATE_TITLE":"استریمو را بروزرسانی کند","MANUAL_UPDATE_LINE1":"شما در حال استفاده از نسخه قدیمی استریمو میباشید، که اصلا پیشنهاد به استفاده نمیشود.","MANUAL_UPDATE_LINE2":"لطفا ر اسرع وفت بروزرسانی کنید","BUTTON_UPDATE_LATTER":"الان نه","BUTTON_UPDATE_NOW":"بروزرسانی","ANONYMOUS_USER":"کاربر ناشناس","DONT_HAVE_ACC":"حساب کاربری نداری ؟","HAVE_ACC":"حساب کاربری دارید ؟","PASSWORD":"رمزعبور","PASSWORD_CONFIRM":"تایید رمزعبور","EMAIL":"ایمیل","FB_LOGIN":"ورود با فیسبوک","FB_NOTHINGSHARED":"هیچ چیزی بدون اجازه شما به اشتراک گذاشته نمیشود.","FB_NOPOST":"ما هیچ محتوای را ازجانب شما به اشتراک نمیگذاریم","OR":"یا","I_ACCEPT":"میپذریم که","I_ACCEPT_BY_CLICKING":"با فشردن دکه بالا من اعلام میکنم که میپذیرم ","TOS":"شرایط و قوانین","MUST_ACCEPT_TERMS":"شما باید قوانین را بپذیرید","PASSWORDS_NOMATCH":"رمز همخوانی ندارد","SIGN_UP":"ثبت نام","SIGN_UP_EMAIL":"ثبت نام با ایمیل","CLICK_TO_SIGN_UP":"برای ثبت نام اینجا کلیک نمایید.","LOG_IN":"ورود","LOG_OUT":"خروج","EXIT_FULLSCREEN":"خروج از مود تمام صفحه","ENTER_FULLSCREEN":"ورود به مود تمام صفحه","PLAY_URL_MAGNET_LINK":"پخش آدرس/لینک آهنربایی","HELP_FEEDBACK":"کمک و بازخود","TERMS_OF_SERVICE":"قوانین سرویس","PRIVACY_POLICY":"سیاست حفظ حریم خصوصی","ABOUT_STREMIO":"درباره استریمو","USER_PANEL":"پنل کاربر","LOGIN_LABEL":"ورود","GUEST_LOGIN":"ورود مهمان","GUEST_LOGIN_NOTICE":"ورود با کاربر مهمان پیشنهاد نمیشود. ورود با حساب کاربری این اجازه را به استریمو میدهم که کتابخانه هاتان را همگام سازی کند و شما را از آخرین محتوای مورد علاقه تون مطلع سازد. علاقه به ادامه دادن دارید ؟","GUEST_LOGIN_NOTICE_2":"کاربر مهمان پیشنهاد نمیشود - کتابخانه های شما همگام سازی نمیشوند و شما پیامی بابت محتوای مورد علاقتون دریافت نمیکنید که از ویژگی های اصلی استرمیو میباشد، آیا میخواهید ادامه دهید ؟","CLICK_HERE":"اینجا را کلیک کنید","WRONG_PASSWORD":"نام کاربری یا رمز اشتباه است، درصورت فراموشی رمز، ","SET_A_PASS":"تنظیم رمزعبور","RESET_PASSWORD":"بازیابی رمزعبور","FORGOT_PASSWORD":"رمزعبور را فراموش کردید?","EMAIL_USED_WITH_FB":"این ایمیل برای ورود با فیسبوک استفاده شده است","INVALID_EMAIL":"لطفا یک ایمیل معتبر وارد نمایید","INVALID_PASSWORD":"لطفا یک رمزعبور معتبر وارد نمایید","CONN_ERR":"\\n\\nاگر خطا پابرجا ماند لطفا فایروال یا آنتی ویروس خود را خاموش کنید. خطای ارتباط - لطفا دوباره تلاش کنید","IMPORT_FROM_GUEST":"وارد کردن کتابخانه ها از حاسب مهمان شما","RECEIVE_UPDATES_EMAIL":"از استریمو آخرین بروزرسانی ها را در ایمیلتان دریافت کنید","LOGIN_FAILED":"ورود ناموفق بود.","SIGNUP_FAILED":"عضویت ناموفق بود.","SEARCH_FAILED":"جستجو ناموفق بد","EMAIL_USED":"این ایمیل استفاده شده است.","WAITING_FB_LOGIN":"ورود توسط فیسبوک...","EXTERNAL_PLAYER_TITLE":"پخش در پخش کننده خارجی","EXTERNAL_REMEMBER_PLAYER":"آیا میخواهید انتخاب شما را به خاطر بسپارم","EXTERNAL_ALWAYS_PLAY":"بله","EXTERNAL_ONLY_ONCE":"خیر","BEST_FIT":"بهترین اندازه","FIT_SCREEN":"تمام صفحه","FILL":"Fill","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"به ما درمورد علاقه مندی هایتان بگویید","INTRO_TASTE_LONG":"به ما بگویید که علاقه به تماشای چه چیزی دارید","INTRO_TASTE_PICK":"انتخاب {{interestsRemaining}} علاقه مندی ها","INTRO_TASTE_PICK_MORE":"انتخاب {{interestsRemaining}} علاقه مندی های بیشتر","INTRO_TASTE_HELP_US":"به ما کمک کنید که بهتر علایق شما را بشناسیم ","INTRO_TASTE_CHOOSE_THESE":"بعضی از اینها را انتخاب کنید:","INTRO_TASTE_CHOOSE_MIN":"حداقل 3 دسته بندی انتخاب کنید","INTRO_TASTE_CHOOSE_MIN_ERR":"شما باید حدلقا سه دسته بندی انتخاب کنید","INTRO_TASTE_LIFESTYLE":"سبک زندگی","INTRO_TASTE_SPORTS":"ورزشی","INTRO_TASTE_FOOD_HEALTH":"تغذیه و سلامت","INTRO_TASTE_BEAUTY_FASHION":"فشن و زیبایی","INTRO_TASTE_NEWS":"اخبار","INTRO_TASTE_GAMING":"بازی","INTRO_TASTE_SCIENCE_EDU":"علم و آموزشی","INTRO_TASTE_MUSIC":"موزیک","INTRO_TASTE_TRAVEL":"سفر","INTRO_TASTE_LATE_NIGHT":"نمایش آخر شب","INTRO_TASTE_REALITY":"واقعگرایانه","INTRO_TASTE_COMEDY":"کمدی","INTRO_TASTE_DIY":"چگونه کاری را خودت انجام دهی DIY","INTRO_TASTE_TECH":"تکنولوژی","INTRO_TASTE_CINEMA":"سینما","ADDON_NOT_SUPPORTED":"افزونه انخاب شده در این بستر پشتیبانی نمیشود","ADDON_DISCLAIMER":"استفاده از افزونه های شخص ثالث همیشه مشمول مسئولیت شما و قانون حاکم بر حوزه قضایی شما خواهد بود.","ADDON_ACTIVATE":"فعالسازی این افزونه","ADDON_REPO_ADD":"آدرس مجموعه افزونه","ADDON_ADD":"افزودن","INSTALL_ADDON":"نصب افزونه","ADD_ADDON":"اضافه کردن افزونه","ADD_ADDON_DESCRIPTION":"می‌توانید افزونه‌ای را از طریق آدرس خارجی اضافه کنید که در قسمت افزونه‌های نصب‌شده ظاهر می‌شود.","PASTE_ADDON_URL":"آدرس اقزونه را وارد کنید","WHATS_NEW":"چی جدیده ؟","BUTTON_CONTINUE":"ادامه","BUTTON_ACTIVATE":"فعالسازی","BUTTON_ACTIVATED":"فعالسازی شد.","BUTTON_CANCEL":"انصراف","BUTTON_SUBMIT":"تایید","BUTTON_DISMISS_ALL":"رد کردن همه","BUTTON_VIEW_ALL":"مشاهده همه ","BUTTON_SEE_ALL":"دیدن همه","BUTTON_COLOR_TRANSPARENT":"شفاف","OPEN_IN_BROWSER":"باز کردن مرورگر","LIB_EMPTY":"کتابخانه شما خالی به نظر می رسد. ببینید چقدر مفید است :) ","HOW_START":"اینجا میتوانید شروع کنید:","LIB_EMPTY_CAL":"تقویم شما مجموعه‌هایی را در کتابخانه شما نشان می‌دهد.","HOW_START_CAL":"در اینجا نحوه اضافه کردن سریال آمده است:","LIB_EMPTY_BOARD":"تابلو اعلان ها را نشان می دهد و &amp; توصیه های مربوط به کتابخانه شما","HOW_START_BOARD_WAIT":"Please, add a few series or channels to your Library give us a few minutes to process :)","HOW_START_BOARD":"Here is how you can add series &amp; movies to it:","IMPORT_FB":"Import things you like from <span>Facebook</span>","IMPORT_TRAKT":"Import your media library from <span>Trakt</span>","IMPORT_DISCOVER":"Find interesting stuff from <span>Discover</span>","IMPORT_DISK":"Import movies or shows you have on your <span>local disk</span>","PLEASE_CREATE_ACC":"Please <u>create an account</u> to enable Library sync &amp; Board.","IMPORT_DISCOVER_SIGNUP":"Sign up and find interesting stuff from <span>Discover</span>","IMPORT_DISK_SIGNUP":"Sign up and import movies or shows you have on your <span>local disk</span>","LIB_EMPTY_CLOUD":"Cloud library","LIB_EMPTY_CLOUD_DESC":"Personal cloud library synced on all devices","LIB_EMPTY_EARLY":"Early bird","LIB_EMPTY_EARLY_DESC":"Receive notifications for new episodes","LIB_EMPTY_PERSONAL":"Personal","LIB_EMPTY_PERSONAL_DESC":"Get personal recommendations","LIB_EMPTY_CALENDAR_DESC":"Schedule your personal watching calendar","LIB_EMPTY_ALL":"Sign up to get all of these:","LIB_EMPTY_BEST":"Sign up to get best of Stremio","LIB_EMPTY_OTHER":"Sign up to enable Calendar & other cool features","CALENDAR_ADDED":"The Stremio calendar has been added to your default desktop calendar.","CALENDAR_ADDED_MSG":"If this does not work, please add this URL to your calendar application manually","TRAKT_EXPIRED":"Trakt authentication expired, please go to Settings and re-authenticate","TRAKT_REQUIRES_LOGIN":"Trakt error","TRAKT_REQUIRES_LOGIN_MSG":"شما باید وارد شوید.","TRAKT_IMPORT_WATCHED":"Import","THEME":"پوسته","THEME_DEFAULT":"پیشفرض","THEME_ADAPTIVE":"انطباقی","SETTINGS_LABEL":"تنظیمات","SETTINGS_NAV_GENERAL":"عمومی","SETTINGS_NAV_PLAYER":"پخش کننده","SETTINGS_NAV_STREAMING":"در حال استریم کردن","SETTINGS_NAV_SHORTCUTS":"میانبرها","SETTINGS_SHORTCUT_RELOAD_APP":"بارگذاری دوباره برنامه","SETTINGS_SHORTCUT_OPEN_SETTINGS":"بازکردن تنظیمات","SETTINGS_SHORTCUT_SWITCH_TABS":"عوض کردن برگه","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Cycle Through Tabs Forward","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Cycle Through Tabs Backward","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigate Between Menus","SETTINGS_SHORTCUT_GO_TO_SEARCH":"برو به جستجو","SETTINGS_SHORTCUT_EXIT_BACK":"خارج شوید / به عقب برگردید","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Toggle Playback Speed Menu","SETTINGS_SHORTCUT_MENU_VIDEOS":"Toggle Videos Menu","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Toggle Subtitles Menu","SETTINGS_SHORTCUT_MENU_INFO":"Toggle Info Menu","SETTINGS_SHORTCUT_FULLSCREEN":"Toggle Fullscreen","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Show Controls","SETTINGS_SHORTCUT_PLAY_PAUSE":"Play / Pause","SETTINGS_SHORTCUT_VOLUME_UP":"افزایش صدا","SETTINGS_SHORTCUT_VOLUME_DOWN":"کاهش صدا","SETTINGS_SHORTCUT_SEEK_NEXT":"Seek Next","SETTINGS_SHORTCUT_SEEK_PREV":"Seek Prev","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Seek Backward","SETTINGS_SHORTCUT_SEEK_FORWARD":"Seek Forward","SETTINGS_SHORTCUT_PLAY_NEXT":"Play Next","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"افزایش سایز زیرنویس","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"کاهش سایز زیرنویس","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"افزایش تاخیر زیرنویس","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"کاهش تاخیر زیرنویس","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"باز/بسته منو","SETTINGS_SHORTCUT_OR":"or","SETTINGS_SHORTCUT_TO":"to","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Authenticate","SETTINGS_FACEBOOK_IMPORT":"Import","SETTINGS_CALENDAR_SUBSCRIBE":"Subscribe","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Interface Language","SETTINGS_LAUNCH_STARTUP":"Launch on start-up","SETTINGS_VLC_DEFAULT":"Play with VLC","SETTINGS_UI_LANGUAGE":"زبان رابط کاربری","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Escape key exit full screen","SETTINGS_GAMEPAD":"Enable gamepad support","SETTINGS_CLOSE_WINDOW":"Close app when window is closed","SETTINGS_SUBTITLES_LANGUAGE":"زبان پیش فرض زیر نویس","SETTINGS_SUBTITLES_SIZE":"اندازه پیش فرض زیرنویس","SETTINGS_SUBTITLES_BACKGROUND":"رنگ پس زمینه زیرنویس","SETTINGS_SUBTITLES_COLOR":"رنگ زیرنویس","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Subtitles outline color","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Subtitles background color","SETTINGS_SEEK_KEY":"Arrow keys seek time","SETTINGS_SEEK_KEY_SHIFT":"Arrow keys seek time when Shift key is held","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Rewind & Fast-forward duration","SETTINGS_BINGE":"Auto-play next episode","SETTINGS_NEXT_VIDEO":"Show notification to start next episode","SETTINGS_NEXT_VIDEO_TRIGGER":"Show next episode notification for:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Next video popup duration","SETTINGS_PLAY_IN_BACKGROUND":"Play in background","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Play in external player","SETTINGS_RESIZE":"Auto-resize window before playing","SETTINGS_OVERRIDE_SERVER":"Override the streaming server URL (advanced)","SETTINGS_SERVER_URL":"Streaming server URL: ","SETTINGS_SERVER_AVAILABLE":"Streaming server is available.","SETTINGS_SERVER_UNAVAILABLE":"Streaming server is not available.","SETTINGS_SERVER_STATUS_ONLINE":"آنلاین","SETTINGS_SERVER_STATUS_ERROR":"خطا","SETTINGS_SERVER_CONFIGURE_TITLE":"Configure streaming server url","SETTINGS_SERVER_CONFIGURE_INPUT":"Enter a streaming server url","SETTINGS_SERVER_CACHE_SIZE":"سایز cache","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent profile","SETTINGS_HTTPS_ENDPOINT":"Streaming HTTPS endpoint: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Always use latest Beta","SETTINGS_IMPORT_FB":"Import from Facebook","SETTINGS_IMPORT_DISK":"Import from local disk","SETTINGS_IMPORT_TRAKT":"Import from Trakt","SETTINGS_PAUSE_MINIMIZED":"توقف پخش هنگام کوچک‌کردن صفحه","SETTINGS_HWDEC":"Hardware-accelerated decoding","SETTINGS_BACKGROUND":"پخش پس زمینه","SETTINGS_SUBSCRIBE_CALENDAR":"دنبال کردن تقویم","SETTINGS_REQ_EXPORT":"درخواست خروجی گرفتناز داده‌ها","SETTINGS_ACC_DELETE":"درخواست حذف اکانت","SETTINGS_CHANGE_PASSWORD":"تغییر رمز عبور","SETTINGS_TOS":"فوانین استفاده از سرویس","SETTINGS_SUPPORT":"تماس با پشتیبانی","SETTING_LANGUAGE":"زبان","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_LOGOUT":"Log out of Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Log Out of Trakt","SETTINGS_SCAN_FOR_REMOTE":"Scan QR code to open remote","SETTINGS_DESKTOP_NOTIFICATIONS":"اعلان‌های دسکتاپ","SETTINGS_DATA_SAVER":"صرفه‌جویی در داده","SETTINGS_LANGUAGE_INTERFACE":"رابط","SETTINGS_LANGUAGE_SUBS":"زیرنویس های پیشفرض","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Autoselect Audio Track","SETTINGS_DEFAULT_AUDIO_TRACK":"Default Audio Track","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"حساب کاربری","SETTINGS_PLATFORM":"بستر","SETTINGS_VERSION":"نسخه","SETTINGS_ABOUT":"درباره","SETTINGS_MPV_WINDOW":"اجرای پخش کننده در صفحه مجزا (پیشرفته)","SETTINGS_PLAY_IN_EXTERNAL":"همیشه ویدیو را در پخش‌کننده خارجی شروع کنید","SETTINGS_STORAGE_BUTTON":"پاک کردن حافظه پنهان","SETTINGS_STORAGE_MODAL_TITLE":"آیا مطمئن هستید؟","SETTINGS_STORAGE_MODAL_MESSAGE":"این کار باعث پاک شدن حافظه پنهان و خروج شما می‌شود.","SETTINGS_HWDEC_PICKER":"Pick hardware-accelerated decoding setting","SETTINGS_HW_AUTOMATIC":"خودکار","SETTINGS_HW_DISABLED":"غیرفعال","SETTINGS_HW_ACCELERATED":"Decoding acceleration","SETTINGS_HW_FULL":"Full acceleration","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"غیرفعال","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"آدرس ریموت","SETTINGS_COPY_REMOTE_URL":"کپی آدرس ریموت","SETTINGS_REMOTE_URL_COPIED":"آدرس ریموت کپی شد!","SETTINGS_SECTION_SUBTITLES":"زیرنویس ها","SETTINGS_SECTION_AUDIO":"صدا","SETTINGS_SECTION_CONTROLS":"کنترلرها","SETTINGS_SECTION_AUTO_PLAY":"پخش خودکار","SETTINGS_SECTION_ADVANCED":"پیشرفته","SUBSPICKER_AUDIO":"صدا","SUBSPICKER_SUBTITLES":"افزونه های زیرنویس","SUBSPICKER_BLACK_BACKGROUND":"استفاده از رنگ پس‌زمینه سیاه","SUBSPICKER_VERTICAL_OFFSET":"آفست عمودی","SUBSPICKER_SIZE":"اندازه","SUBSPICKER_DELAY":"تاخیر","SUBSPICKER_EMBEDDED_SUBS":"زیرنویس های داخلی","MOBILE_PRIVACY_POLICY":"Privacy Policy","MOBILE_CRASH_REPORTING":"Crash Reporting","MOBILE_ZOOM_TO_FILL":"Zoom To Fill Screen","MOBILE_PASSTHROUGH":"Digital audio output (passthrough)","MOBILE_RUN_LOW_BATTERY":"Run on low battery","MOBILE_RUN_FOREGROUND":"Run as Foreground Service","MOBILE_PERFORMANCE":"PERFORMANCE & STABILITY","MOBILE_SERVER_ONLINE":"آنلاین","MOBILE_SERVER_OFFLINE":"آفلاین","MOBILE_QR_EXPIRES":"QR Code expires in ","MOBILE_LOG_INTO":"Log in to your Stremio account ","MOBILE_SCAN_QR":"Scan QR code above or go to ","MOBILE_LINK_ACCOUNT":"اتصال اکانت","MOBILE_SPEEDPICKER_CANCEL":"انصراف","MOBILE_SPEEDPICKER_LABEL":"انتخای سرعت پخش","MOBILE_EMPTY_LIBRARY":"کتابخانه ی شما خالیست","MOBILE_NO_ADDON_ACTIVE":"No Stremio addon active for this type.","MOBILE_ORGANIZER_WARNING":"The Stremio Organizer app provides limited functionality. For a list of playable streams and the full Stremio experience, use Stremio on desktop.","MOBILE_ADDON_LOADING":"ایز لودینگ","MOBILE_ADDONS_LOADING":"افزونه ها در حال لود شدن هستند","MOBILE_ADDON":"افزونه","MOBILE_CONFIGURE_ADDON":"تنظیمات افزونه شما","MOBILE_CONFIGURE_ADDON_LABEL":"تنظیمات افزونه","MOBILE_ORGANIZER_ADDONS_WARNING":"The Stremio Organizer app provides a limited selection of addons. For the full Stremio experience, use Stremio on desktop.","MOBILE_DISCONNECT":"Disconnect","MOBILE_LOOKING_FOR_DEVICES":"Looking for devices...","MOBILE_CAST_TO":"Cast to","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"حذف اکانت","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"حذف حساب کاربری به دلیل تعهدات قانونی در لحظه انجام نمی‌شود. پس از درخواست حذف حساب کاربری خود، در آینده برای ایجاد یک حساب کاربری جدید در Stremio باید از آدرس ایمیل/پروفایل فیسبوک متفاوت استفاده کنید","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"تایید حذف اکانت","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"حساب کاربری شما با استفاده از فیسبوک ایجاد شده است. برای حذف حساب کاربری خود، لطفاً از پورتال کاربری ما در www.stremio.com/login استفاده کنید.","MOBILE_DELETE_ACCOUNT_MESSAGE":"برای تایید حذف اکانت لطفا رمز عبور خود را وارد کنید.","MOBILE_DELETE_ACCOUNT_BUTTON":"حذف اکانت","NAVIGATION_ON":"روشن","NAVIGATION_OFF":"خاموش","MARKETING_AGREE":"I agree to receive marketing communications from Stremio","QUIT":"Quit","CONNECTED":"متصل شده است","AUTHENTICATE":"احراز هویت","CACHING":"Caching","SETTINGS_CACHING_DRIVE":"Caching drive","ENABLE_LOCAL_FILES_ADDON":"Enable the local files addon (requires restart)","LOCAL_ADDON_NOT_ENABLED":"Local addon is not enabled. Click here to go to the settings and enable it","ENABLE_REMOTE_HTTPS_CONN":"Enable remote HTTPS connections","TORRENT_PROFILE":"Torrent Profile","DATA_CACHING":"Data Caching","MAGNET_PARSING":"Parsing a magnet link","January":"ژانویه","February":"فوریه","March":"مارچ","April":"آپریل","May":"می","June":"جون","July":"جولای","August":"آگوست","September":"سپتامبر","October":"اکتبر","November":"نوامبر","December":"دسامبر","Monday":"دوشنبه","Tuesday":"سه‌شنبه","Wednesday":"چهارشنبه","Thursday":"پنج‌شنبه","Friday":"جمعه","Saturday":"شنبه","Sunday":"یکشنبه","Action":"جنگی","Comedy":"کمدی","War":"جنگ","Family":"خانوادگی","Animation":"انیمیشن","Adventure":"ماجراجویی","Fantasy":"فانتزی","Crime":"جنایی","Mystery":"معمایی","Romance":"عاشقانه","Drama":"درام","Horror":"ترسناک","Thriller":"هیجان انگیز","Sci-Fi":"علمی تخیلی","Music":"موزیک","Biography":"بیوگرافی","Documentary":"مستند","Sport":"ورزشی","Musical":"موزیکال","Western":"وسترن","Film-Noir":"Film-Noir","News":"خبری","History":"تاریخی","Game-Show":"Game-Show","Reality-TV":"Reality-TV","Talk-Show":"Talk-Show","Film & Entertainment":"Film & Entertainment","Gaming":"Gaming","From TV":"From TV","Lifestyle":"سبک زندگی","Science & Education":"Science & Education","Cooking & Health":"Cooking & Health","Beauty & Fashion":"Beauty & Fashion","Sports":"Sports","News & Politics":"News & Politics","How-to & DIY":"How-to & DIY","Tech":"Tech","Automotive":"Automotive","Causes & Non-Profits":"Causes & Non-Profits","Movies":"Movies","Uk Live Tv":"Uk Live Tv","Fashion":"Fashion","Business News Radio":"Business News Radio","Business Tv":"Business Tv","Cars & Auto":"Cars & Auto","Comedy Radio":"Comedy Radio","Lifestyle Radio":"Lifestyle Radio","News Tv":"News Tv","Food And Wine":"Food And Wine","Latino Tv":"Latino Tv","Shopping Tv":"Shopping Tv","Religion":"مذهبی","Kids":"کودکانه","Body & Soul":"Body & Soul","Education":"Education","Indian Tv":"Indian Tv","Extreme Sports":"Extreme Sports","Middle Eastern Tv":"Middle Eastern Tv","Celebrity Tv":"Celebrity Tv","Science Tv":"Science Tv","Bikini babe":"Bikini babe","Outdoors":"Outdoors","German Tv":"German Tv","French Tv":"French Tv","Italian Tv":"Italian Tv","Gamer Tv":"Gamer Tv","Travel":"Travel","Asian Tv":"Asian Tv","Entertainment":"Entertainment","News Radio":"News Radio","Music Radio":"Music Radio","Language Learning":"Language Learning","Science Radio":"Science Radio","Tech Radio":"Tech Radio","Science & Technology Vod":"Science & Technology Vod","new video":"new video","new episode":"قسمت جدید","new movie":"فیلم جدید","recommended":"پیشنهادی","we recommend":"پیشنهاد ما","offer of the day":"پیشنهاد روز","news":"اخبار","music video":"موزیک ویدیو","CTX_SHOW_HOTKEYS":"Show hotkeys","CTX_DISMISS_NOTIF":"Dismiss notifications","CTX_DISMISS_ALL":"Dismiss all","CTX_SHARE":"اشتراک گزاری","CTX_COPY_SHARE_LINK":"کپی کردن لینک اشتراک گزاری","CTX_COPY_MAGNET_LINK":"Copy magnet link","CTX_COPY_STREAM_LINK":"Copy stream link","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Download this video","CTX_DOWNLOAD_SUBS":"Download subtitles","CTX_VIEW_ON_YOUTUBE":"View on YouTube","CTX_SHOW":"نمایش","CTX_PLAY":"پخش","CTX_PLAY_IN":"Play in","CTX_PLAY_ON":"Play on","CTX_WATCH_ON":"Watch on","CTX_WATCH":"Watch","CTX_WATCHED":"Watched","CTX_WATCH_BEGINNING":"Watch from the beginning","CTX_WATCH_MOBILE":"Watch on a mobile device","CTX_REWIND":"Rewind to beginning","CTX_MARK_WATCHED":"Mark as watched","CTX_MARK_NON_WATCHED":"Mark as non-watched","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"Mark rest as watched","CTX_UNMARK_REST":"Mark rest as non-watched","CTX_RECEIVE_NEW_NOTIF":"Receive new notifications","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"Remove from cache","CTX_REMOVE_CACHE_EP":"Remove episode from cache","CTX_OPEN_CONTAINING":"Open containing folder","CTX_REMOVE":"حذف از کتابخانه","CTX_AVAILABLE_OFFLINE":"Available Offline","CTX_PAUSED":"Paused","CTX_ALWAYS_ON_TOP":"Always on top","CTX_FULLSCREEN":"تمام صفحه","CTX_WRONG_SUBS":"Wrong subtitles?","CTX_REPORT_ISSUES":"Report issue","CTX_COPY":"کپی","CTX_PASTE":"بیست","CTX_CLEAR":"پاکسازی","CTX_CLEAR_RECENT_SEARCHES":"پاکسازی جستجو های اخیر","HELLO_THERE":"Hello There","HOPE_YOU_ENJOY":"We hope you enjoy Stremio and it\'s one of your favourite apps already!","WHO_ARE_WE":"Who are we? We are the team behind it - two guys who work hard every day for the last 3 years to make this product better and better.","SUPPORT_US":"If you enjoy using Stremio, if Stremio is valuable for you - spread the word!","SPREAD_THE_WORD":"Share with your friends now, spread the word about Stremio","MORE_PEOPLE":"The more people use Stremio, the better it will get!","SEND_A_LINK":"Or send a link to our website","TIP_LOCALFILES":"Tip: you can drag & drop local video files into Stremio","ADDON_MY":"افزونه های من","ADDON_COMMUNITY":"Community Addons","ADDON_OFFICIAL":"Official Addons","ADDON_REPOS":"Addon collections","ADDON_SEARCH":"جستجوی افزونه","ADDON_INSTALL":"نصب","ADDON_CONFIGURE":"Configure","ADDON_UNINSTALL":"حذف","ADDON_UPGRADE":"بروزرسانی","ADDON_INSTALLED":"نصب شده","ADDON_INSTALLED_MSG":"افزونه نصب شد!","ADDON_UPGRADED_MSG":"افزونه برزورسانی شد!","ADDON_UNKNOWN":"ناشناس","ADDON_ERR":"خطا در نصب افزونه!","ADDON_DISCONNECTED":"قطع شده","ADDON_APP_MISSING":"the app for this source is not installed. Do you want to install it now?","ADDON_APP_INSTALL":"اکنون نصب کن","ADDON_PAGE":"صفحه افزونه","ADDON_TOP_CONTENT":"Best from this Addon","ADDON_PROVIDES":"This addon will give you:","ADDON_WATCH":"Watch #{types} now!","ADDON_WATCH_FREE":"Watch #{types} for FREE now!","ADDON_ADDON":"افزونه","ADDON_SUPPORTED_TYPES":"Supported types","ADDON_SUPPORTED_CATALOGS":"Supported catalogs","ADDON_PROVIDES_DISCOVER":"More #{types} in Discover","ADDON_PROVIDES_STREAMS":"Watch #{types}","ADDON_PROVIDES_STREAMS_FREE":"Watch #{types} for FREE","ADDON_PROVIDES_SUBTITLES":"Subtitles for #{types}","ADDON_CANTDETECT":"We couldn\'t detect a running Stremio, so we couldn\'t detect what addons you have installed.","ERR_NO_META":"No information found about this ","ERR_GETTING_META":"Error retrieving information about this.","ERR_CANT_PARSE_MAGNET":"Unable to parse magnet","ERR_NO_MAGNET_INFOHASH":"No valid info hash for magnet","ERR_NO_FILE_PATH":"Unable to send request without a path to file","ERR_NO_TORRENT":"No torrent returned","ERR_NO_SUPPORTERD_FILES":"No supported files found","ERR_OPENING_FILES":"Could not open external files","ERR_INVALID_LINK":"لینک نامعتبر است","ERR_REGISTERED_ONLY":"This option is available for registred users only.","ERR_CLIPBOARD":"Can not play from clipboard","ERR_CLIPBOARD_READ":"Can not read the clipboard on this platform","ERR_CLIPBOARD_GENERIC":"No playable URL found in the clipboard. Please copy a URL (e.g. a magnet link) to a video.","BOARD_CONTINUE_WATCHING":"ادامه تماشا","BOARD_EXPLANATION_RECOMMENDATIONS":"Movies picked specially for you.<br />This movie is a sample recommendation.","BOARD_EXPLANATION_EPISODES":"New episodes of your favorite Series come here.<br />Add series you follow to your Library.","BOARD_EXPLANATION_VIDEOS":"New episodes of your favorite Channels come here.<br />Add YouTube channels you follow to your Library.","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE":"Contribute","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"Learn more","WEBSITE_COMPANY":"Company","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Need Help?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"Watch Instantly","WEBSITE_SLOGAN_ALL":"All the Video Content You Enjoy in One Place","WEBSITE_SLOGAN_NEW":"All You Can Watch","WEBSITE_SLOGAN_NEW_NEW":"Freedom to Stream","WEBSITE_WATCH_FROM":"Watch from","WEBSITE_DOWNLOAD":"Download Now","WEBSITE_DOWNLOAD_FOR":"Download Now For","WEBSITE_IS_DESKTOP":"Stremio is a desktop application, open this page on your PC and download it","WEBSITE_DESKTOP_DEMO_VID":"Desktop demo","WEBSITE_PAGE_HOME":"خانه","WEBSITE_PAGE_FEATURES":"امکانات","WEBSITE_PAGE_ADDONS":"افزونه ها","WEBSITE_PAGE_TECH":"تکنولوژی","WEBSITE_PAGE_CREATE_ADDON":"ساخت افزونه","WEBSITE_PAGE_CONTACTS":"مخاطبین","WEBSITE_PAGE_BLOG":"بلاگ","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"فیلم ها","WEBSITE_TYPE_series_PL":"سریال ها","WEBSITE_TYPE_tv":"تلویزیون زنده","WEBSITE_TYPE_channel":"کانال ها","WEBSITE_STREMIO_WHAT_IS":"Stremio is an app that helps you organize and instantly watch your favorite videos, movies, TV series and TV channels.","WEBSITE_FEATURES_WATCH":"Watch Instantly in HD","WEBSITE_FEATURES_WATCH_DETAIL":"Click and play your favourite movies, TV Shows, videos and TV channels.","WEBSITE_FEATURES_SUBS":"Automatic Subtitles","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio automatically picks synced subtitles for your language.","WEBSITE_FEATURES_SUBS_LABEL":"Your move, chief.","WEBSITE_FEATURES_CAST":"Play on TV & mobile devices","WEBSITE_FEATURES_CAST_DETAIL":"Cast to AppleTV, Chromecast, Smart TV (DLNA/UPnP) and mobile devices.","WEBSITE_LIB":"Enjoy Your Personal Library Synced on All Your Devices","WEBSITE_LIB_COLLECT":"Collect from Stremio","WEBSITE_LIB_IMPORT":"Import from Facebook","WEBSITE_LIB_LOCAL":"Add from your local drive","WEBSITE_BOARD":"The Board - Your one-stop place for Notifications and Recommendations","WEBSITE_BOARD_RECOMMEND":"Recommended TV Show","WEBSITE_BOARD_TRENDING":"Trending Movie","WEBSITE_BOARD_NEW":"ویدیو جدید","WEBSITE_BOARD_EPISODE":"قسمت جدید","WEBSITE_BOARD_1":"Looking for something interesting to watch? Get recommendations based on your taste!","WEBSITE_BOARD_2":"Get notified when a new episode of your favourite TV show or YouTube channel is out!","WEBSITE_BOARD_YOUTUBE":"New videos of YouTube channels","WEBSITE_BOARD_EPISODES":"New episodes of series you follow","WEBSITE_ADDONS":"افزونه های محتوا","WEBSITE_TECH_DETAIL":"We love technology, we love mad science!\\nStremio is using the following open source technologies:","WEBSITE_TECH_WCJS":"WebChimera.js allows Stremio to play any video format with good performance.","WEBSITE_TECH_WCJS_EXTRA":"We are core project contributors","WEBSITE_TECH_ELECTRON":"Electron provides an innovative platform to build Stremio with.","WEBSITE_TECH_ELECTRON_EXTRA":"We are project contributors","WEBSITE_TECH_LINVODB":"A database technology that ensures your data is organized and available anywhere you login.","WEBSITE_TECH_LINVODB_EXTRA":"In-house technology","WEBSITE_CREATE_ADDON":"افزونتو بساز","WEBSITE_CREATE_ADDON_DETAIL":"Do you have a service providing video content? We\'ll help you benefit from Stremio\'s features by creating your Addon.","WEBSITE_CREATE_ADDON_BENEFITS":"Benefits of Creating an Addon for Stremio","WEBSITE_P2P_BEAUTY":"The Beauty of Peer-to-Peer Streaming","WEBSITE_P2P_1":"Reliable and affordable full HD / 4K video on demand or live streaming","WEBSITE_P2P_2":"Distribution platform providing great user experience","WEBSITE_P2P_3":"We will create an addon meeting your exact needs","WEBSITE_P2P_CONTACT":"Interested? You are welcome to <a href=\'mailto:office@stremio.com\'>contact us</a>.","WEBSITE_P2P_CONTACT_EXTRA":"We will be happy to help you integrate your content with Stremio!","WEBSITE_P2P":"Once in a while, there comes a technology that changes the name of the game. We invested tons of time and effort in building our Peer-to-Peer (P2P) video streaming engine that provides great performance and versatility to adapt with any use case.\\nContact us for DRM-enabled P2P video on demand or live streaming.","WEBSITE_THOUGHTS":"Thoughts we share:","WEBSITE_SPREAD":"Spread the word about Stremio:","WEBSITE_CONTACT":"Contact us, we\'ll be happy to hear from you!","WEBSITE_OPENSOURCE":"For our open source projects, go to our","WEBSITE_BITCOIN":"حمایت با بیتکوین:","WEBSITE_FAQ":"سوالات متداول","WEBSITE_FAQ_SHORT":"سوالات متداول","WEBSITE_QUESTIONS":"سوالات","WEBSITE_TOS":"شرایط استفاده","WEBSITE_LEGAL":"مجاز","WEBSITE_PAGE_ABOUT":"درباره","WEBSITE_PAGE_BECOME_PARTNER":"Become a partner","WEBSITE_ALL_YOU_CAN_WATCH":"Freedom To Watch\\nEverything You Want.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"What is stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio is a one-stop hub for video content aggregation. Discover, organize and watch video from all kind of sources on any device that you own.","WEBSITE_WHAT_IS_STREMIO_P2":"Movies, TV shows, series, live television or web channels like YouTube and Twitch.tv - you can find all this on Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio is a modern media center that\'s a one-stop solution for your video entertainment. You discover, watch and organize video content from easy to install addons.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Movies, TV shows, live TV or web channels - find all this on Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Enjoy on all your Media devices","WEBSITE_DEVICES_COLLECT":"Collect from Stremio","WEBSITE_DEVICES_IMPORT_FB":"Import from facebook","WEBSITE_DEVICES_LOCAL":"Add from local drive","WEBSITE_JOIN_THE_PARTY_NOW":"Join the party now","WEBSITE_DEVICES_ALL":"Easy to use on all your devices;","WEBSITE_EXTENDABLE_CATALOG":"Infinitelly extendable video catalog;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Great features to organize your media;","WEBSITE_AS_SEEN_ON":"As seen on","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"درباره ما","WEBSITE_LINK_TECHNOLOGY":"تکنولوژی","WEBSITE_LINK_APPS":"برنامه ها","WEBSITE_LINK_DOWNLOADS":"دانلود ها","WEBSITE_MORE":"بیشتر","WEBSITE_LINK_ADDONS":"افزونه ها","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Contribute","WEBSITE_LINK_COMMUNITY":"انجمن","WEBSITE_LINK_BLOG":"بلاگ","WEBSITE_MORE_MORE":"... & بیشتر","WEBSITE_LINK_HELP":"مرکز راهنما","WEBSITE_LINK_CONTACTS":"Business inquiries","WEBSITE_LINK_TOS":"Terms & conditions","WEBSITE_LINK_PRAVACY":"Privacy policy","WEBSITE_SUBSCRIBE":"سابسکرایب","WEBSITE_NEWSLETTER":"Join Our Newsletter for amazing stuff","WEBSITE_PLACEHOLDER_EMAIL":"Your Email","WEBSITE_COMMUNITY":"Community","WEBSITE_LINK_PRAVACY_LEGAL":"Privacy & legal","WEBSITE_WHY":"Why we do it","WEBSITE_WHY_P1":"At Stremio, we come to work every day because we want to solve an important problem for the video-on-demand industry. There’s so much new content published every minute that it’s virtually impossible to find your way around it.","WEBSITE_WHY_P2":"We help people navigate that huge world of video entertainment and discover new content to enjoy. Our apps bring together movies, series, live TV, web channels, and more. We are dedicated to making it incredibly easy for users to find titles and broadcasters that they love.","WEBSITE_WHY_P3":"You can use our service on any device and at any time, making Stremio the only video entertainment hub you’ll ever need.","WEBSITE_TEAM":"TEAM","WEBSITE_TEAM_P":"The Stremio team is small but powerful: between the ten of us, we code in X languages, and share expertise in software development, UI and UX design, marketing and advertising, and business and startups.","WEBSITE_FEATURES":"امکانات","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Discover new content with ease","WEBSITE_FEATURES_DISCOVER_P":"Easily discover new movies, TV shows, series and channels to watch. Browse by category, genre, rating, recency, etc. or simply type a name to find. Stremio makes finding new video content a piece of cake.","WEBSITE_FEATURES_ALL_CONTENT":"All of your video content on one screen","WEBSITE_FEATURES_ALL_CONTENT_P1":"See what movies, series or videos you didn’t finish and continue watching them; get notified for new episodes and releases; and browse through the recommendations you will get based on your viewing habits.","WEBSITE_FEATURES_LIBRARY":"Organize your video library","WEBSITE_FEATURES_LIBRARY_P1":"Add any title to your Stremio library with a single click and find your way around your content, neatly arranged by type, recency, or alphabetical order.","WEBSITE_FEATURES_CALENDAR":"Keep track of everything you watch","WEBSITE_FEATURES_CALENDAR_P1":"Get a calendar visualization of all the movies and series you add to your library. Export your Stremio calendar and sync it so you always know when a new episode or a premier is due.","WEBSITE_FEATURES_BIG_SCREEN":"Enjoy your video content on a bigger screen","WEBSITE_FEATURES_BIG_SCREEN_P1":"Cast whatever you are watching to another device - be it a phone, tablet or a TV with a single click.","WEBSITE_FEATURES_SOURCES":"Watch video from many different sources","WEBSITE_FEATURES_SOURCES_P":"Install official and community addons to enjoy video sourced from many different providers - all in one sleek, easy to use app.","WEBSITE_CREATE_AN_ADDON":"Create an addon","WEBSITE_FEATURES_SYNC":"Sync your library across different devices and resume your playback","WEBSITE_FEATURES_SYNC_P1":"Login with your account across all your devices and enjoy your library, addons, playback and calendar synchronized.","WEBSITE_FEATURES_EXTENDABLE":"Extendable video catalog by addons","WEBSITE_FEATURES_EXTENDABLE_P1":"The Stremio addon catalog provides a number of addons to install and watch a variety of video content from. This includes movies, shows, live TV, sport, news, podcasts, web channels, video games and more.","WEBSITE_FEATURES_AUTO_SUBS":"Automatic subtitles","WEBSITE_FEATURES_AUTO_SUBS_P1":"With our subtitle addons you get automatically selected options for your preferred language.","WEBSITE_FEATURES_CHROMECAST":"Casting to Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Enjoy your video content on a bigger screen or just cast whatever you are watching to another device.","WEBSITE_FEATURES_KEEP_TRACK":"Keep track of your favorite TV shows and Web channels","WEBSITE_FEATURES_KEEP_TRACK_P1":"Get a calendar visualization and notifications for new episodes of your favorite series and web channels.","WEBSITE_FEATURES_POWER_USER":"Power user features","WEBSITE_FEATURES_POWER_USER_P1":"Play in external player","WEBSITE_FEATURES_POWER_USER_P2":"Play from a torrent file or magnet link","WEBSITE_FEATURES_POWER_USER_P3":"Import to your library from Facebook likes or local disk","WEBSITE_ADD_ONS":"افزونه ها","WEBSITE_ADD_ONS_P1":"All of the video content Stremio provides get sourced through an addon system - no content or content provider has been built into the app.","WEBSITE_ADD_ONS_P2":"There are two groups of addons available: official and community addons.","WEBSITE_ADD_ONS_P3":"The official ones are developed and hosted by Stremio, whereas community addons are created by our community members, who also host them.","WEBSITE_ADDONS_OFFICIAL":"Official addons","WEBSITE_ADDONS_WATCHUB":"Stream your favourite movies, series and shows from providers like iTunes, Hulu, Amazon and other UK/US services.","WEBSITE_ADDONS_YOUTUBE":"Watch your favourite YouTube channels ad-free and get notifications for new uploads from the contributors you follow.","WEBSITE_ADDONS_FILMON":"Watch live TV, movies and social television for free. 600 TV channels, 45,000 free movies, documentaries and more.","WEBSITE_ADDONS_OPENSUBTITLES":"Movie and TV subtitles in multiple languages, thousands of translated subtitles uploaded every day.","WEBSITE_ADDONS_COMMUNITY":"Community addons","WEBSITE_ADDONS_FILMON_VOD":"Watch video on demand from Filmon.tv","WEBSITE_ADDONS_TWICH":"Watch live streams from Twitch.tv - a video streaming platform for the e-sports industry.","WEBSITE_ADDONS_VODO":"Watch indie movies absolutely free of charge.","WEBSITE_ADDONS_NETFLIX":"Watch Netflix movies and web series.","WEBSITE_ADDONS_CREATE":"ی افزونه بساز","WEBSITE_ADDONS_CREATE_P1":"If you wish, you can develop your own addon. This way, you can give yourself and our community access to new video content, and reach a new, targeted audience of millions of users around the world.","WEBSITE_ADDONS_START_CREATE":"To get started, visit the Stremio Addon SDK page:","WEBSITE_DOWNLOADS":"دانلود ها","WEBSITE_DOWNLOADS_P1":"For optimal performance, we recommend that you use the latest available version of the Stremio apps. If for some reason, however, you would like to use an older version, you can download it here.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio برای ویندوز","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio for macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio برای لینوکس","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio برای اندروید","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio برای تلویزیون اندروید","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio for iOS (limited version)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"The Stremio platform is open source and you can easily create an addon for content that is currently not sourced.","WEBSITE_CONTRIBUTE_WHY":"Why should you create an addon?","WEBSITE_CONTRIBUTE_WHY_P1":"Reach new audience for your video content","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio’s user base is growing rapidly - within the first year of the launch, Stremio had gained 1 million users around the world, and in the second year of the platform’s existence this number grew to 2.5 million.","WEBSITE_CONTRIBUTE_WHY_P3":"With your addon, you can easily reach this audience and distribute your video content to them.","WEBSITE_CONTRIBUTE_ALL":"Watch your favourite movies, videos, series and channels in one single place.","WEBSITE_CONTRIBUTE_ALL_P1":"You’re a fan of a particular type of content not available on Stremio yet? Create an addon for it and enjoy watching your favourite videos in one of the largest and easiest to use entertainment hubs on the market.","WEBSITE_CONTRIBUTE_ALL_P2":"On top of that, you’ll get the endless gratitude of other like-minded Stremio community members.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetize your addon and earn money with its help","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Once you develop a new addon for Stremio, you can easily monetize it through a number of different ways. If you are considering this, feel free to get in touch with us at ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - we would be happy to consult and advise you about addon monetization options.","WEBSITE_CONTRIBUTE_TRANSLATE":"Become a volunteer translator","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"If you want to enjoy the Stremio apps in different languages, you can join our community of volunteer translators. They help us add versions of the Stremio in many different languages.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Are you eager to get started?","WEBSITE_TRANSALTE_STREMIO":"Translate Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Official communities","WEBSITE_COMMUNITY_OFFICIALS_P1":"Become a part of the growing Stremio community. Follow us on social media and don’t be shy to say hello - we love hearing from our fans! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Unofficial communities","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partners and supporters","WEBSITE_COMMUNITY_GOODIES":"Stremio goodies","WEBSITE_COMMUNITY_WALLPAPERS":"Wallpapers","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"تماس باما","WEBSITE_CONTACT_US_P1":"If you have any questions, comments or suggestions, feel free to get in touch with us through the contact form below.","WEBSITE_CONTACT_US_P2":"Keep in mind that we are located in Bulgaria so there may be a delay in addressing your query due to time zone differences.","WEBSITE_CONTACT_US_SUCCESS":"Your message has been sent. We will get back to you at our earliest convenience.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Please enter a valid email!","WEBSITE_CONTACT_US_Q_RELATED_TO":"What is your question related to?","WEBSITE_CONTACT_US_Q_OS":"What is your Operation System?","WEBSITE_CONTACT_US_PH_EMAIL":"ایمیل شما","WEBSITE_CONTACT_US_PH_MESSAGE":"پیغام","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"ارسال","WEBSITE_CONTACT_US_Q_1":"چطوری نصب کنیم?","WEBSITE_CONTACT_US_Q_2":"چطوری حذف کنیم?","WEBSITE_CONTACT_US_Q_3":"(HTML) How to make lasagna?","WEBSITE_CONTACT_US_Q_4":"افزونه ها","WEBSITE_CONTACT_US_OS_1":"ویندوز","WEBSITE_CONTACT_US_OS_2":"مک","WEBSITE_CONTACT_US_OS_3":"لینوکس","WEBSITE_CONTACT_US_OS_4":"اندروید","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"تکنولوژی","WEBSITE_TECHNOLOGY_P1":"We love technology and mad science. </br> Here is what powers Stremio (it’s all open-source).","WEBSITE_TECHNOLOGY_P_QT":"Cross-platform software development at its best.","WEBSITE_TECHNOLOGY_P_MPV":"A free, open source, and cross-platform media player.","WEBSITE_TECHNOLOGY_P_RN":"React Native lets you build mobile apps using only JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework embedded into application to get multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm is a mobile platform and a replacement for SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js is an open-source, cross-platform, JavaScript runtime environment.","WEBSITE_TECHNOLOGY_P_RUST":"Rust is a multi-paradigm system programming language focused on safety, especially safe concurrency.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribute to the project","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"There are two ways you can contribute to Stremio and help us make the product even better.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"You can donate your valuable language skills by translating the platform...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"or","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... you can employ your coding skills for creating community addons. ","WEBSITE_TRANSLATE_STREMIO":"Translate Stremio","WEBSITE_404_OH_NO":"Uh-oh! The page you’re looking for is not here...","WEBSITE_GO_HOME":"برو خانه","WEBSITE_LINK_OTHER_DOWNLOADS":"Other downloads","WEBSITE_FAQ_ABR":"سوالات متداول","WEBSITE_SUPPORT":"پشتیبانی","WEBSITE_DOWNLOAD_4_0_BETA":"Download Stremio 4 beta Now","WEBSITE_GET_FOR_DESKTOP":"دریافت برای دسکتاپ","WEBSITE_LINK_ADDON_COMPETITION":"Addon competition","WEBSITE_LINK_ART_CONTEST":"Art contest","WEBSITE_MY_ACCOUNT":"اکانت من","WEBSITE_MAINPAGE_FAQ_001_H1":"What is Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio is a modern media center that gives you the freedom to watch everything you want.","WEBSITE_MAINPAGE_FAQ_002_H1":"How does it work?","WEBSITE_MAINPAGE_FAQ_002_P1":"Once you install Stremio on your device and create an account, all you have to do is to visit the addon catalog and install any addon you want, and you\'re good to go!","WEBSITE_MAINPAGE_FAQ_002_P2":"After that, you can go to the Discover or Board sections to start exploring content.","WEBSITE_MAINPAGE_FAQ_003_H1":"What can I watch here?","WEBSITE_MAINPAGE_FAQ_003_P1":"A lot: Movies, TV shows, Web channels, Sport, TV channels, listen to Podcasts and more. Thanks to our addon system, you can access a variety of content.","WEBSITE_MAINPAGE_FAQ_004_H1":"Is Stremio open-source?","WEBSITE_MAINPAGE_FAQ_004_P1":"Yes, you can check the following links: ${1}desktop app${2} and ${3}GitHub organization${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Is Stremio safe?","WEBSITE_MAINPAGE_FAQ_005_P1":"Yes: because it is open-source software, the code is publically auditable and you can review it yourself.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"How about my privacy?","WEBSITE_MAINPAGE_FAQ_006_P1":"We respect users\' privacy and do not collect any personal data besides the essential minimum to create and sync your account.","WEBSITE_MAINPAGE_FAQ_006_P2":"There is also a ${1}Guest mode${2} at signup, which requires no data whatsoever: in this mode, no calls are made to our backend. However, it comes at the expense of useful features, such as being able to sync your library across devices.","WEBSITE_MAINPAGE_FAQ_007_H1":"Can I cast to my TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Yes, we support Chromecast and you can cast both from desktop and mobile apps (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"How many addons does Stremio have?","WEBSITE_MAINPAGE_FAQ_008_P1":"As of late 2019, over 50 - for more information, check our addon catalog.","WEBSITE_MAINPAGE_FAQ_009_H1":"Can Stremio be extended beyond what\'s in the addon catalog?","WEBSITE_MAINPAGE_FAQ_009_P1":"Yes, you should check those: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"What devices does Stremio support?","WEBSITE_MAINPAGE_FAQ_010_P1":"We have desktop apps for Windows, Mac and Linux. For mobile, we support Android and iOS, although keep in mind that the iOS is limited in functionality (does not support most addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"There are many Android-based devices which you can run Stremio on, like NVIDIA Shield and Amazon Fire Stick, but we do not support them officially.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Can you add certain content to Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Sorry, we provide no content ourselves, but the more Stremio addons you have installed, the more content you will be able to find.","WEBSITE_MAINPAGE_FAQ_012_H1":"Can Stremio play magnet links?","WEBSITE_MAINPAGE_FAQ_012_P1":"Yes, and it can also play normal HTTP links and torrent files (drag and drop).","WEBSITE_MAINPAGE_FAQ_013_H1":"Can I download a video and watch offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Available offline is an upcoming feature, but if you allow Stremio to cache on your device (from the settings panel) you can watch the videos later without a connection.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nothing works, help me!","WEBSITE_MAINPAGE_FAQ_014_P1":"Are you sure you have installed addons? If yes, check with our ${1}help center${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"How does Stremio sustain it\'s development operations?","WEBSITE_MAINPAGE_FAQ_015_P1":"We run non-intrusive ads occassionally, but we\'re considering moving to a donation model.","WEBSITE_MAINPAGE_FAQ_015_P2":"For more questions, go to our ${1}help center${2}.","HELP_LEARN_MORE":"Help us learn more about you.","LIFESTYLE":"سبک زندگی","SPORTS":"ورزش","FOOD_HEALTH":"سلامتی و غذا","BEAUTY_FASHION":"مد وزیبایی","NEWS":"اخبار","GAMING":"گیمینگ","SCIENCE_EDUCATION":"Science & education","MUSIC":"موزیک","TRAVEL":"سفر","LATE_NIGHT":"Late Night","REALITY":"Reality","COMEDY":"کمدی","DIY":"How to DIY","TECH":"تکنولوژی","CINEMA":"سینما","CONTINUE":"ادامه","SLOW_LOADING":"SLOW LOADING?","I_GIVE_UP":"I GIVE UP","LEARN_MORE":"Learn more","POOR_SOURCE":"This source is poorly available or your internet connection is not fast enough","PICK_CATEGORIES_ERR":"You have to pick at least 3 categories","ADJUST_TIMING":"Adjust timing with ","ADJUST_SIZE":"Adjust size with ","SEARCH_ANYTHING":"You Can Search Anything...","ALL_CATEGORIES":"همه","SEARCH_CATEGORIES":"Movies, Series, YouTube & TV","SEARCH_PERSONS":"Actors, Directors & Writers","SEARCH_PROTOCOLS":"HTTP & Magnet Links","SEARCH_TYPES":"IMDB / TVDB links","WATCHED":"مشاده شده","SHOW_LESS":"نمایش کمتر","LAST_SEARCHES":"Last searches","CLEAR_HISTORY":"Clear history","CHOOSE_SOME":"CHOOSE SOME OF THIS:","NO_WEB_REMOTE":"Web Remote could not be loaded","STREMIO_OFFLINE":"Stremio is offline","STREMIO_EXPENSIVE_CONNECTION":"We\'ve detected that you are using a mobile data connection, do you want to continue?","USE_DATA":"Use data","WARNING":"هشدار","MORE_INFO":"اطلاعات بیشتر ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"درحال بارگذاری ...","STREMIO_TV_BACK_TO_LANGUAGES":"Back to languages","STREMIO_TV_REMOTE":"Remote","STREMIO_TV_GO_TO":"برو به:","STREMIO_TV_OR_SCAN":"or scan:","STREMIO_TV_ADDON_INSTRUCTIONS":"Please follow the instructions in order to install your preferred addons.","STREMIO_TV_LIVE_TV":"Live TV","STREMIO_TV_RESUME_WATCHING":"Resume Watching","STREMIO_TV_LOADING_BACKGROUND":"Loading Background","STREMIO_TV_CHECKING_AUTHENTICATION":"Checking Authentication","STREMIO_TV_LOADING_BOARD":"Loading Board","STREMIO_TV_LOGIN_HEADER_LINE_1":"We want our users to have the best possible personalized experience with our software.","STREMIO_TV_LOGIN_HEADER_LINE_2":"It is for this reason that we kindly ask you to make and/or login to your account.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Thank you for understanding,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"The Stremio Team","STREMIO_TV_REMOTE_INSTRUCTIONS":"In order to use the Web Remote with your Smartphone / Tablet / Desktop:","STREMIO_TV_WIFI_SETUP":"Wi-Fi Setup","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle did not detect a internet connection.","STREMIO_TV_WIFI_DETAILS_1":"Connect to:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"استفاده از رمزعبور:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Open a web browser with the link:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Default","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"By Last Watched","STREMIO_TV_LIBRARY_SORT_NAME":"By Name","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"By Times Watched","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Season ${1}","STREMIO_TV_STREAMS_LOADING":"Loaded ${1} / ${2} addons...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} addon is still loading...","STREMIO_TV_PLAYER_SETTINGS":"Player settings","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Subtitles delay","STREMIO_TV_PLAYER_AUDIO_DELAY":"Audio delay","STREMIO_TV_PLAYER_VIDEO_SCALING":"Video scaling","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Unsupported stream source","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Failed opening external link","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Not adjustable in audio passthrough mode","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Play with ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Play with libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Switching to libVLC player due to a playback error","STREMIO_TV_ADDONS_TITLE":"Use Stremio on your Phone or PC to install or configure addons and press \\"Sync Addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Note: make sure you are using the same Stremio account","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sync Addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons successfully synchronized","STREMIO_TV_ADDONS_SYNC_FAILED":"Failed to synchronize addons","STREMIO_TV_META_LINK_FAILED":"Failed opening meta link","STREMIO_TV_CATALOG_LOADING":"Catalog still loading...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Interface language updated","STREMIO_TV_SETTINGS_THEME_UPDATED":"Theme updated","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Default Player","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"External Player","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferred Language","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Secondary Preferred Language","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possible playback issues on some devices","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Some video formats might not work","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"No caching","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Default","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Soft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Fast","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Fast","STREMIO_TV_SETTINGS_SERVER_URL":"Streaming server url","STREMIO_TV_SETTINGS_SERVER_VERSION":"Server version","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Unknown","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio version","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Edit server url","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Enter a streaming server url","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Show statistics while loading","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"To read Stremio\'s Privacy Policy, visit:","STREMIO_TV_SETTINGS_TOS_TEXT":"To read Stremio\'s Terms and Conditions, visit:","STREMIO_TV_NAV_SEARCH":"جستجو","STREMIO_TV_NAV_HOME":"خانه","STREMIO_TV_NAV_DISCOVER":"Discover","STREMIO_TV_NAV_LIBRARY":"کتابخانه","STREMIO_TV_NAV_MOVIES":"فیلم ها","STREMIO_TV_NAV_SERIES":"سریال ها","STREMIO_TV_NAV_CHANNELS":"کانال ها","STREMIO_TV_NAV_TV":"Live TV","STREMIO_TV_NAV_SETTINGS":"تنظیمات","STREMIO_TV_NAV_ADDONS":"افزونه ها","STREMIO_TV_LOGIN_TITLE":"Link Account","STREMIO_TV_LOGIN_EXPIRES_IN":"Expires in","STREMIO_TV_LOGIN_STEP_ONE":"Scan QR Code above or go to","STREMIO_TV_LOGIN_STEP_TWO":"Log in to your Stremio account","STREMIO_TV_LOGIN_NEW_LINK":"Request a new link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Login code refreshed","STREMIO_TV_SEARCH_PLACEHOLDER":"Type something","STREMIO_TV_SEARCH_NO_ADDONS":"No addons were requested for catalogs!","STREMIO_TV_SEARCH_BUTTON":"جستجو","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Search History","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"You can search for Titles, Actors, Channels and more...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Clear Search History","STREMIO_TV_FILTERS_DESCRIPTION":"Choose from one of the filters below","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"فیلترها","SETTINGS":"تنظیمات","ACCOUNT":"حساب","LOGOUT":"خروج","THEMES":"تم ها","PLAYBACK":"Playback","PLAYBACK_SPEED":"Playback Speed","AUDIO_TRACKS":"Audio Tracks","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"ویدیو ها","SERVER":"سرور","LINKS":"لینک ها","ABOUT":"درباره","INTERFACE":"رابط","ANIMATIONS":"انیمیشن ها","STATUS":"وضعیت","LANGUAGE":"زبان","SIZE":"سایز","DELAY":"تاخیر","BOLD":"Bold","OPACITY":"Opacity","TEXT_COLOR":"Text Color","OUTLINE_COLOR":"Outline Color","BACKGROUND_COLOR":"Background Color","BACKGROUND_BLUR":"Background Blur","SEEK_TIME_DURATION":"Seek Time Duration","AUTO_PLAY":"Auto-Play Next Episode","PLAY_NOW":"الان پخش کن","MARK_AS_WATCHED":"علامت گذاری به عنوان مشاهده شده","MARK_AS_UNWATCHED":"علامت گذاری به عنوان مشاهده نشده","REWIND_TO_BEGINNING":"برگرد به آغاز","CONTINUE_WATCHING":"دیدن را ادامه دهید","ALL":"تمام","SECONDS":"ثانیه ها","ON":"روشن","OFF":"خاموش","RELOAD":"بارگذاری","EDIT_URL":"تغییر آدرس","NONE":"هیچ","EMBEDDED":"Embedded","REMOTE_SWITCH_DEVICES":"تغییر دستگاه ها","REMOTE_VIDEOS":"ویدیو ها","REMOTE_ADJUST_TIMING":"Adjust timing","REMOTE_ADJUST_SIZE":"Adjust size","REMOTE_COULD_NOT_BE_LOADED":"Web Remote could not be loaded","REMOTE_RETRY":"تلاش مجدد","TORRENT_PROFILE_DEFAULT":"پیشفرض","TORRENT_PROFILE_SOFT":"ملایم","TORRENT_PROFILE_FAST":"سریع","TORRENT_PROFILE_ULTRA_FAST":"خیلی سریع","FAQ_001_H1":"What is Stremio?","FAQ_001_P1":"Stremio is a media center software designed for video entertainment with ease of use in mind. Stremio allows you to organize &amp; watch your own collection of movies, series, channels and live TV.","FAQ_001_P2":"Stremio collect the content it shows you from your local disk and our addons system.","FAQ_001_P3":"It will also notify you when new episodes/videos/movies you\'re interested in come out, and provide movie recommendations for you.","FAQ_02_H1":"How does Stremio compare to Kodi and Plex?","FAQ_02_P1":"We are inspired by those two pieces of software. But we have different goals - Stremio is specifically targeted towards entertainment video, and strives to become the mainstream solution for that by being very easy to use.","FAQ_02_P2":"Stremio will never be as customizable and feature-rich as Kodi and Plex, but it is significantly easier to use. Just ${1} get it and see ${2} :)","FAQ_03_H1":"How does Stremio compare to Netflix?","FAQ_03_P1":"Again, Netflix is one of our inspirations. We strive to achieve the user experience of Netflix, plus a lot of added goodies. But most importantly, we\'re giving you the freedom to manage your own library and add new content sources with our addon system.","FAQ_03_P2":"That makes Stremio infinitely extendable, so when you use Stremio, you\'re never limited to the content Netflix decides to license. For example, through Stremio you can watch content from ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} and even ${9}Netflix${10} itself!","FAQ_04_H1":"How does Stremio compare to Flipboard?","FAQ_04_P1":"We don’t get that question that often, except when talking to start-up people :)","FAQ_04_P2":"Stremio is by design a content aggregator, which essentially makes it Flipboard for video. This is very apparent in our Board section, which gives you catalogues and new episode/new video notifications for what you follow, just like Flipboard.","FAQ_05_H1":"How does Stremio compare to Popcorn Time?","FAQ_05_P1":"Stremio and Popcorn Time are similar in user interface, because there aren’t many ways to do video entertainment catalogues right :)","FAQ_05_P2":"But while Popcorn Time is focused on streaming torrents from specific sources, Stremio is unrestricted and is merely a content aggregator - it’s not locked into a specific content source.","FAQ_05_P3":"Furthermore, we do not provide any torrent addons by default, so Stremio does not cover the Popcorn Time use-case with official functionality.","FAQ_05_P4":"Another notable difference is that Popcorn Time is completely open source, while Stremio is ${1} partially open source${2}.","FAQ_06_H1":"Will you add this movie/series?","FAQ_06_P1":"No, sorry :(","FAQ_06_P2":"As is mentioned in most of the other questions, Stremio does not provide any content by itself - everything is added through the addons system. In case you have a content request, you can use the “Report” button in the Player, which will send an email to the author of the addon you’re currently using.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Will you create addon for X?","FAQ_08_P1":"It\'s entirely possible.","FAQ_08_P2":"If you have an idea for an addon, drop us a line at ${1}office@stremio.com${2}, but please make sure your addon idea will not infringe on any copyrights or terms of use.","FAQ_08_P3":"At the moment, the next things on our roadmap are addons for FandangoNOW, Filmon.tv video on demand and Crunchyroll.","FAQ_09_H1":"Does Stremio use BitTorrent?","FAQ_09_P1":"Yes, Stremio supports BitTorrent as a streaming protocol. You can use that either with a torrent addon, or by drag-and-dropping a .torrent file into Stremio, or by pasting a magnet link into the Search Bar.","FAQ_09_P2":"Please note that the only official addon using BitTorrent is ${1}Vodo${2}, which provides indie content, all permitted to be distributed with BitTorrent.","FAQ_09_P3":"We do not support use of any third-party addons which may enable copyright infringement.","FAQ_10_H1":"What can I watch in Stremio with the official addons?","FAQ_10_P1":"By default, you can watch Filmon.tv, YouTube and Vodo content within Stremio itself, with it’s embedded player. Additionally, we have an addon for Twitch.tv and a few others.","FAQ_10_P2":"This combined provides a selection of:","FAQ_10_L1":"Popular TV channels, provided by Filmon.tv - for example E4, BBC, Bollyworld TV","FAQ_10_L2":"Everything from YouTube - for example BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indie movies with Vodo","FAQ_10_L4":"Online gaming broadcasts with Twitch.tv","FAQ_10_P3":"Additionally, there are many content sources provided with Guidebox and the Netflix addons, which <b>do not</b> play entirely inside Stremio, but would redirect to the given service. For example, the Guidebox addon would give you a selection of movies you can stream in the US for free, from services like TubiTV and Crackle.","FAQ_11_H1":"Stremio won\'t install, what should I do?","FAQ_11_P1":"If you\'re on Windows, try ${1}this alternative installer${2}.","FAQ_11_P2":"If you\'re on Mac OS X, please be aware that we don\'t support anything older than OS X Mavericks (10.9).","FAQ_11_P3":"If you\'re on Linux, be aware that we only support 64 bit (x64) Linux at the moment.","FAQ_11_P4":"If you still can\'t resolve your problem, please write us at our ${1}Facebook group${2}.","FAQ_12_H1":"Why does my anti-virus complain? Is Stremio safe?","FAQ_12_P1":"We assure you Stremio is ${1}100% clean${2}.","FAQ_12_P2":"Your antivirus is complaining because we include advertising in our installer, which some anti-virus programs recognize as ad-ware.","FAQ_12_P3":"If you\'re still unsure, you can try our ${1}alternative installer${2}.","FAQ_13_H1":"How can I make an addon?","FAQ_13_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_13_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_13_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_14_H1":"How are addons published?","FAQ_14_P1":"When you create an addon and host, and put a <b>endpoint</b> field in your manifest, which points to a working addon address, the addon will automatically publish itself to our ${1}Addon catalogue${2}.","FAQ_14_P2":"This happens because the server part of the stremio-addons module automatically makes a call to our API to announce the addon. When our API validates your <b>endpoint</b> as a valid addon, it will start showing in the catalogue.","FAQ_15_H1":"Can I run Stremio in my browser?","FAQ_15_P1":"Not at the moment, but this is coming!","FAQ_15_P2":"If you\'re curious to see an Alpha, you can see it here: ${1}alpha4.strem.io${2}. Keep in mind streaming is disabled on this alpha. We support Chrome, Firefox, Opera and Edge.","FAQ_16_H1":"Casting to TV doesn\'t work / subtitles don\'t work","FAQ_16_P1":"Casting to TV uses the DLNA technology which is very inconsistent between different TV brands and models. For that reason, we do not have the ability to test it in every case, so it\'s far from perfect. Despite this, we\'re working on improving it constantly but we cannot give you a time estimate on when DLNA will start working properly with your TV.","FAQ_16_P2":"If you don\'t even see your TV in the casting menu, please try disabling your network connection and re-enabling it (on Windows, right click the Network and use Enable/Disable), as well as restarting your router, TV and PC.","FAQ_16_P3":"If you are still encountering issues, you can help us by sending your TV brand and model information at ${1}office@stremio.com${2}.","FAQ_16_P4":"In the meantime, we recommend Chromecast, which we support very well, or simply plugging in your TV to your PC with an HDMI cable.","FAQ_17_H1":"Stremio freezes and/or crashes, what can I do?","FAQ_17_P1":"First of all, if you\'re using Windows 7 with AVG anti-virus: we have a problem with that combination. The problem is in AVG itself, and there\'s no reasonable way to resolve it on our end. Unfortunately, exceptions or disabling the anti-virus won\'t work. The only solution is to replace AVG with something else.","FAQ_17_P2":"If that\'s not the issue, but you\'re still using Windows, please update to the latest service pack and update/re-install your GPU drivers, then try again.","FAQ_17_P3":"If you\'re problem is still not resolved, or you\'re using a Mac or Linux, please write us reporting the exact details of the problem at ${1}our Facebook group${2}.","FAQ_18_H1":"How can I make an addon?","FAQ_18_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_18_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_18_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_19_H1":"Why is Stremio taking disk space?","FAQ_19_P1":"Stremio has a <b>local cache</b> to temporarily keep the video files you stream.","FAQ_19_P2":"This has two benefits: first, it allows Stremio to pre-buffer the video ahead so as to ensure smoother streaming. Second, it keeps the videos in the local cache so you can continue watching them offline.","FAQ_19_P3":"How much Stremio keeps depends on the <b>Cache</b> setting in the Settings panel. Stremio may keep up to the set amount (e.g. 2GB) on your disk, unless the currently streamed video is larger than that, in which case it has to allocate enough storage to keep it until you\'re streaming it.","FAQ_20_H1":"Where is the cache folder?","FAQ_20_P1":"On Windows, it\'s stremio-cache in the drive you picked in Settings (e.g. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"On MacOS, it\'s \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"On Linux, it\'s \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"I get \\"Streaming server is not found\\" error, what can I do?","FAQ_21_P1":"If you get this error, it means one of few things:","FAQ_21_P2":"1) You are trying to use an addon backed by YouTube/BitTorrent source, through our ${1}web version${2}. In this case, you should install our desktop version from ${3}our website${4}.","FAQ_21_P3":"2) Something is wrong with your Stremio installation. In this case, try re-installing our latest desktop version from ${1}the website${2}. If this does not help, try disabling anti-virus programs and firewalls, restarting your PC and trying again. If this does not work too, please write us at our ${3}our Facebook group${4}.","FAQ_22_H1":"I cannot see/use most addons on iOS","FAQ_22_P1":"Because of restrictions in the Apple App Store terms and conditions, we have restricted the iOS application only to a particular set of addons.","FAQ_22_P2":"But rest assured - there will be more addons for iOS in the future, and we may also add an integration that will allow you to use all Stremio addons thanks to connecting the iOS app to the Stremio Streaming Server."}')},52613:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Elokuva","TYPE_series":"Sarja","TYPE_tv":"TV-kanava","TYPE_channel":"Kanava","TYPE_other":"Muu","TYPE_movie_PL":"Elokuvat","TYPE_series_PL":"Sarjat","TYPE_tv_PL":"TV-kanavat","TYPE_channel_PL":"Kanavat","TYPE_other_PL":"Muut","TYPE_ALL":"Kaikki","TYPE":"Tyyppi","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"Video","BACK":"Takaisin","MORE":"Lisää","DONE":"Valmis","COPY":"Kopioi","SUCCESS":"Onnistui","ERROR":"Virhe","SETTINGS_CASTING_MODE_PICKER":"Heijastustila","CASTING_MODE_HLSV2":"Oletus","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Ei muunnosta","Discover":"Tutustu","Board":"Lauta","Library":"Kirjasto","My Library":"Oma kirjasto","Calendar":"Kalenteri","NOTIFICATION_ONLINE":"Olet nyt verkossa","NOTIFICATION_OFFLINE":"Olet tällä hetkellä offline-tilassa","INTERNET_CONNECTION":"Verkkoyhteys","STORAGE_FULL_TITLE":"Varoitus: Tallennustila täynnä!","STORAGE_FULL_TEXT":"Stremio ei pysty tallentamaan asetuksiasi, mieltymyksiäsi tai kirjautumistietojasi. Harkitse Stremion uudelleenkäynnistämistä tai uudelleenasentamista.","SEARCH":"haku","SEARCH_NO_RESULTS":"Ei tuloksia","SEARCH_EXPLANATION_CONTENT":"Etsi elokuvia, sarjoja, YouTube- ja TV-kanavia","SEARCH_EXPLANATION_PEOPLE":"Etsi näyttelijöitä, ohjaajia ja käsikirjoittajia","SEARCH_PASTE_LINKS":"Liitä HTTP- ja Magnet-linkkejä","SEARCH_OR_PASTE_LINK":"Etsi tai liitä linkki","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"Lisää kirjastoon","REMOVE_FROM_LIB":"Poista kirjastosta","ADDED_TO_LIB":"Lisätty kirjastoon","REMOVED_FROM_LIB":"Poistettu kirjastosta","TRAILER":"Traileri","WATCH_TRAILER":"Katso traileri","WATCH_NOW":"Katso nyt","SHOW":"Näytä","SHOW_MOVIE":"Näytä elokuva","WATCH_RANDOM":"Katso satunnainen","IMDB_RATING":"IMDb-arvosana","YEAR":"Vuosi","DIRECTOR":"Ohjaaja","WRITER":"Käsikirjoittaja","LEAD_ACTORS":"Pääosissa","CAST":"Näyttelijät","CREW":"Työryhmä","SHOW_MORE_CAST":"Näytä lisää »","AIRED":"Esitetty","SEASONS":"Kaudet","GENRE":"Laji","GENRE_ALL":"Kaikki lajit","CATALOG":"Katalogi","SUMMARY":"Tiivistelmä","SHOW_MORE":"Näytä lisää","SIMILAR":"Samanlaisia","UPCOMING":"Tulossa","ENDED":"Päättyi","DURATION":"Kesto","FEATURED":"Esittelyssä","METADATA":"Metatiedot","CATEGORY":"kategoria","LINKS_GENRES":"Lajit","LINKS_CAST":"Näyttelijät","LINKS_DIRECTORS":"Ohjaajat","SEARCH_VIDEOS":"etsi videoita","SEARCH_PLACEHOLDER":"etsi tai liitä URL","ADDON":"lisäosa","ADDONS":"Lisäosat","OFFICIAL":"virallinen","ADDONS_OFFICIAL":"Viralliset Stremio-lisäosat","ADDONS_POPULAR":"Suosittuja alueellasi","ADDON_FREE":"ilmainen","ADDON_PEERED":"jaettu","ADDON_SUBSCRIPTION":"tilaus","ADDON_STREAM_GEORESTRICTED":"ei saatavilla alueellasi","ADDON_STREAM_OFFLINECACHE":"Offline-välimuisti","ADDON_STREAM_LOCALFILE":"Paikallinen tiedosto","SHARE_ADDON":"Jaa lisäosa","AVAILABLE_STREAMS":"Saatavilla olevat streamit","NO_STREAM":"Streamia ei löytynyt","ALL_ADDONS":"Kaikki","INSTALL_MORE_ADDONS":"Asenna lisää lisäosia saadaksesi lisää streamejä","STREAM_NOT_SUPPORTED":"Valittu stream ei ole tuettu tällä alustalla.","ADDON_CATALOGUE":"Näytä kaikki lisäosat »","ADDON_CATALOGUE_MORE":"Asenna lisäosia","REPO_ADDED":"Kokoelma lisätty","ADDON_REPO_EXIST_ERR":"Tämä lisäosakokoelma on jo olemassa","ADDON_REPO_ERR":"Virhe lisäosakokoelman lisäämisessä","ADDON_ADD_ERR":"Virhe lisäosan lisäämisessä","ERR_ADDON_PROTECTED":"Lisäosaa ei voi poistaa, se on suojattu","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Jotain meni pieleen - todennus epäonnistui","ERR_NOT_COLLECTION_URL":"Ei kokoelman URL-osoite","ERR_NOT_ADDON_URL":"Ei kelvollinen lisäosan URL-osoite","ERR_DETECTFROMURL":"Lisäosaa/kokoelmaa ei löydy tästä URL-osoitteesta","ADDON_DUPLICATE_WARNING":"Varoitus: duplikaattilisäosa","ADDON_COLLECTION_SET_FAILED":"Asennettujen lisäosien synkronointi tilillesi epäonnistui","SETTINGS_DATA_EXPORT":"Vie käyttäjätiedot","ADDON_PULL_FAILED":"Asennettujen lisäosien synkronointi tililtäsi epäonnistui","REFRESH_ON_CLICK":"Klikkaa yrittääksesi uudelleen","STILL_IN_THEATER":"Elokuva yhä teattereissa","WATCH_IN_CINEMA":"Katso se paikallisessa elokuvateatterissa","IN_THEATER":"Teatterissa","GET_TICKETS":"Osta liput","UPCOMING_EPISODE":"Tuleva jakso","UPCOMING_EPISODE_MESSAGE":"Tämä jakso esitetään","MISSING_DATE_EPISODE":"Puuttuva jakson päivämäärä","MISSING_DATE_EPISODE_MESSAGE":"Tämä jakso ei ehkä ole vielä esitetty","CHANNEL_NOT_SCRAPED":"Tätä kanavaa ei ole vielä haettu.<br>Palaa takaisin muutaman minuutin kuluttua.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Lisää se kirjastoosi, niin saat ilmoituksen, kun se on saatavilla.","GET_NOTIFIED_WHEN_AVAILABLE":"Saat ilmoituksen, kun se on saatavilla.","WARNING_STREAMING_SERVER":"Varoitus: paikallista stream-palvelinta ei löytynyt. Paikallisista tiedostoista, YouTube- ja BitTorrent-streamauksesta ei ole saatavilla.","WARNING_STREAMING_SERVER_DISMISS":"Hylkää","WARNING_STREAMING_SERVER_LATER":"Myöhemmin","DECODER_WARNING":"Varoitus: tämä video ei ehkä ole tuettu laitteistollasi. Huomioi, että toisto voi olla hidasta.","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"Oops, soitinvirhe","PLAYER_ERROR_LOOKSLIKE":"Näyttää siltä,","PLAYER_ORIENTATION":"Soittimen suuntaus","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Lukittu","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensori","PLAYER_ORIENTATION_LANDSCAPE":"Soittimen suuntaus lukittu vaakasuoraan","PLAYER_ORIENTATION_SENSOR":"Soittimen suuntaus automaattinen (sensori)","PLAYER_PLAYBACK_SPEED":"Toistonopeus","PLAYER_PLAYBACK_ERROR":"Toistovirhe, yritä uudelleen","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Tuntematon virhe","PLAYER_PLAYBACK_ERROR_DEFAULT":"Valitettavasti tätä videota ei voi toistaa {{productName}}:lla.","PLAYER_SUBTITLES_LANGUAGES":"Tekstityskielet","PLAYER_SUBTITLES_VARIANTS":"Tekstitysversiot","PLAYER_SUBTITLES_SETTINGS":"Tekstitysasetukset","PLAYER_SUBTITLES_DISABLED":"Tekstitykset pois päältä","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Pystysuuntainen sijainti","PLAYER_SUBTITLES_LOADED":"Tekstitykset ladattu","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Upotetut tekstitykset ladattu","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Yksinoikeudella olevat tekstitykset ladattu","PLAYER_SUBTITLES_LOADED_ORIGIN":"Tekstitykset lähteestä {{origin}} ladattu","PLAYER_PLAY":"Toista","PLAYER_PAUSE":"Tauko","PLAYER_NEXT_VIDEO":"Seuraava video","PLAYER_MUTE":"Mykistä","PLAYER_UNMUTE":"Poista mykistys","PLAYER_OPEN_IN_EXTERNAL":"Avaa ulkoisessa soittimessa","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Toista laitteessa {{device}}","PLAYER_LIVE":"Suora lähetys","PLAYER_NEXT_VIDEO_TITLE":"Seuraavaksi","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Hylkää","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Katso nyt","PLAYER_COPY_STREAM_SUCCESS":"Virtalinkki kopioitu leikepöydälle","PLAYER_COPY_STREAM_ERROR":"Virhe kopioitaessa virtalinkkiä","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","STREAMING_FROM":"suoratoistetaan","CASTING_TO":"Heijastetaan","NETWORK_STATUS":"Verkon tila","STREAM_SPEED":"Suoratoistonopeus:","STREAM_BUFFERED":"Puskuroitu:","PEERS_INFO":"Käyttäjätiedot","PEERS_ACTIVE":"Aktiiviset:","PEERS_CONNECTED":"Yhdistetyt:","PEERS_WAITING":"Odottavat:","TRANSCODING_WARNING":"Varoitus: videon transkoodaus.","STREAM_LOADING":"ladataan...","PLAYING_LOCAL":"toistetaan paikallisesta tiedostosta","PLAYING_CACHE":"toistetaan välimuistista","WRONG_SUBS":"Väärät tekstitykset?","ERR_SUBS_LOADING_TITLE":"Virhe ladattaessa tekstityksiä","ERR_SUBS_LOADING":"Tekstitysten lataaminen epäonnistui: tämä voi johtua käyttämästäsi lisäosasta tai verkkoyhteydestäsi","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Seuraavat tekstityslisäosat epäonnistuivat","ERR_CASTING_UPDATE_TITLE":"Ei voitu päivittää heijastuslaitteen tietoja: suoratoistopalvelin saattaa olla poissa käytöstä","CHOOSE_DEVICE":"Valitse laite, jolla katsot","NO_CAST_DEVICES":"Ei heijastuslaitteita saatavilla.","NO_SETTINGS":"Ei asetuksia saatavilla.","PHONE_TABLET":"Puhelin / Tabletti","SUBTITLES":"Tekstitykset","SUBTITLES_CHANGE":"Vaihda tekstityksiä kielelle ","SUBTITLES_CHANGE_NONE":"Tälle kielelle ei ole muita tekstityksiä, pahoittelut.","SUBTITLES_CHANGE_ACIVE":"Tällä hetkellä tekstitykset &#35;{{subtitlesDialog.activeIdx + 1}} ovat käytössä. Klikkaa \\"Jatka\\" aktivoidaksesi tekstitykset &#35;{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Tai vaihtoehtoisesti,","SUBTITLES_ADJUST_DELAY":"Säädä tekstitysten viivettä:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Tai käytä näppäimiä <span>G</span> / <span>H</span> säätääksesi viivettä toiston aikana.","SUBTITLES_ADJUST_DELAY_TIP":"Vinkki: voit käyttää näppäimiä <span>G</span> / <span>H</span> säätääksesi viivettä toiston aikana.","SUBTITLES_DELAY":"Tekstitysten viive:","SUBTITLES_LOADING":"Ladataan tekstityksiä...","SUBTITLES_UNAVAILABLE":"Ei saatavilla olevia ulkoisia tekstityksiä","SUBTITLES_DISABLED":"Poissa käytöstä","EXTERNAL_PLAYER_DISABLED":"Poissa käytöstä","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Salli valitseminen","EXTERNAL_PLAYER_HINT":"Vinkki: asetuksista voi sallia aina avaamisen ulkoisessa soittimessa","DONT_SHOW_AGAIN":"Älä näytä uudelleen","SERVICE_INSTALL":"Asenna","AUDIO":"Ääni","DEFAULT_LANGUAGE":"Oletuskieli","DEFAULT_SECONDARY_LANGUAGE":"Oletus toissijainen kieli","SEASON":"Kausi","EPISODE":"Jakso","EPISODE_ABBREVIATION":"Jk","SPECIAL":"Erikoisjakso","SORT":"lajittele","SORT_BY":"Lajittele","FILTER":"suodata","SORT_TRENDING":"trendaavat","SORT_RECENT":"uusimmat","SORT_ALPHABET":"a-ö","SORT_ALPHABET_REVERSE":"ö-a","SORT_RATING":"arvostelu","SORT_WATCHED":"katsotuimmat","SORT_YEAR":"vuosi","SELECT_TYPE":"Valitse tyyppi","SELECT_SORT":"Valitse lajittelu","SELECT_CATALOG":"Valitse katalogi","SELECT_GENRE":"Valitse genre","SORT_LASTWATCHED":"Viimeksi katsotun mukaan","SORT_NAME":"Nimen mukaan","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"Katselukertojen mukaan","SORT_NOTWATCHED":"not watched","New for You":"Uutta sinulle","New Episodes":"Uudet jaksot","New Videos":"Uudet videot","Recommendations":"Suositukset","LIBRARY_RESUME":"Jatka","LIBRARY_PLAY":"Toista","LIBRARY_DETAILS":"Tiedot","LIBRARY_RESUME_DISMISS":"Hylkää","LIBRARY_CLEAR_PROGRESS":"Tyhjennä edistyminen","LIBRARY_REMOVE":"Poista","LIBRARY_NOT_LOGGED_IN":"Kirjasto on käytettävissä vain kirjautuneille käyttäjille","CALENDAR_NOT_LOGGED_IN":"Kalenteri on käytettävissä vain kirjautuneille käyttäjille","NOT_LOGGED_IN_CLOUD":"Pääsy suosikkielokuviisi ja TV-ohjelmiisi milloin tahansa, missä tahansa","NOT_LOGGED_IN_RECOMMENDATIONS":"Suositukset katseluhistoriasi perusteella","NOT_LOGGED_IN_NOTIFICATIONS":"Älä missaa yhtään jaksoa","NOT_LOGGED_IN_CALENDAR":"Aikatauluta henkilökohtainen katselukalenterisi","DISCOVER_FEATURED":"Esittelyssä","DISCOVER_TOP":"Parhaat","DISCOVER_OSCAR":"Oscar-voittajat","DISCOVER_WARNING_TITLE":"Hups!","DISCOVER_EMPTY_CATALOG":"Tämä lisäosa palautti tyhjän sisällön.","DISCOVER_ADULT_WARNING":"Sisältö on näkyvissä vain aikuisille. Oletko yli 18-vuotias?","DISCOVER_NOADDON_WARNING":"Varoitus: tälle tyypille ei ole aktiivista Stremio-lisäosaa. Näytetään tallennetut kohteet, mikään täällä ei päivity.","DISCOVER_LOAD_ERR":"Sisältöä ei ladattu, virhe tapahtui.","DISCOVER_ADDON_UNINSTALLED":"Tämä sisältö ei ole enää saatavilla, olet ehkä poistanut lisäosan.","UNINSTALL_THIS_ADDON":"Poista tämä lisäosa","ERR_ADDON_NOT_INSTALLED":"Tätä lisäosaa ei ole asennettu. Asennetaanko nyt?","DETAIL_RECEIVE_NOTIF_SERIES":"Vastaanota ilmoituksia uusista jaksoista","DETAIL_RECEIVE_NOTIF_VIDEOS":"Vastaanota ilmoituksia uusista videoista","SIDEBAR_SHOW_STREAMS":"Näytä streamit","RELAUNCH":"Käynnistä uudelleen nyt!","UPGRADE":"Uusi versio on saatavilla! Päivitä uusimpaan Stremio-versioon","RELOAD_UI":"Lataa käyttöliittymä uudelleen","MANUAL_UPDATE_TITLE":"Päivitä Stremio-versiosi","MANUAL_UPDATE_LINE1":"Käytät vanhentunutta Stremio-versiota, mikä ei ole suositeltavaa.","MANUAL_UPDATE_LINE2":"Päivitä mahdollisimman pian.","BUTTON_UPDATE_LATTER":"Ei nyt","BUTTON_UPDATE_NOW":"Päivitä","ANONYMOUS_USER":"Anonyymi käyttäjä","DONT_HAVE_ACC":"Ei tiliä?","HAVE_ACC":"Onko sinulla jo tili?","PASSWORD":"Salasana","PASSWORD_CONFIRM":"Vahvista salasana","EMAIL":"Sähköposti","FB_LOGIN":"Jatka Facebookilla","FB_NOTHINGSHARED":"Mikään ei jaeta ilman lupaa","FB_NOPOST":"Emme julkaise mitään puolestasi","OR":"tai","I_ACCEPT":"Hyväksyn","I_ACCEPT_BY_CLICKING":"Klikkaamalla yllä olevaa painiketta vahvistan hyväksyväni ","TOS":"Käyttöehdot","MUST_ACCEPT_TERMS":"Sinun on hyväksyttävä ehdot","PASSWORDS_NOMATCH":"Salasanat eivät täsmää","SIGN_UP":"Rekisteröidy","SIGN_UP_EMAIL":"Rekisteröidy sähköpostilla","CLICK_TO_SIGN_UP":"Klikkaa tästä rekisteröityäksesi.","LOG_IN":"Kirjaudu sisään","LOG_OUT":"Kirjaudu ulos","EXIT_FULLSCREEN":"Poistu koko näytön tilasta","ENTER_FULLSCREEN":"Siirry koko näytön tilaan","PLAY_URL_MAGNET_LINK":"Toista URL-/magnet-linkki","HELP_FEEDBACK":"Apua ja palautetta","TERMS_OF_SERVICE":"Käyttöehdot","PRIVACY_POLICY":"Tietosuojakäytäntö","ABOUT_STREMIO":"Tietoa Stremiosta","USER_PANEL":"Käyttäjäpaneeli","LOGIN_LABEL":"Kirjaudu sisään","GUEST_LOGIN":"Vieraskirjautuminen","GUEST_LOGIN_NOTICE":"Vieraskirjautuminen ei ole suositeltavaa. Tavallisen kirjautumisen käyttäminen mahdollistaa Stremion kirjaston synkronoinnin, suosikkisarjojen/kanavien ilmoitusten vastaanottamisen. Oletko varma, että haluat jatkaa?","GUEST_LOGIN_NOTICE_2":"Vieraskirjautuminen ei ole suositeltavaa - sinulla ei ole synkronoitua kirjastoa ja lautailmoituksia, jotka ovat tärkeitä Stremio-ominaisuuksia. Oletko varma, että haluat jatkaa?","CLICK_HERE":"klikkaa tästä","WRONG_PASSWORD":"Väärä sähköposti tai salasana. Jos olet unohtanut salasanasi, ","SET_A_PASS":"aseta salasana","RESET_PASSWORD":"Nollaa salasana","FORGOT_PASSWORD":"Unohditko salasanasi?","EMAIL_USED_WITH_FB":"Tätä sähköpostia käytettiin Facebook-kirjautumisessa.","INVALID_EMAIL":"Anna kelvollinen sähköpostiosoite","INVALID_PASSWORD":"Anna kelvollinen salasana","CONN_ERR":"Yhteysvirhe - yritä myöhemmin uudelleen.Jos tämä jatkuu, poista palomuurit/antivirusohjelmat (erityisesti Bitdefender).","IMPORT_FROM_GUEST":"Tuo kirjasto vieraskäyttäjätililtäsi","RECEIVE_UPDATES_EMAIL":"Vastaanota päivityksiä sähköpostiisi Stremiolta","LOGIN_FAILED":"Kirjautuminen epäonnistui.","SIGNUP_FAILED":"Rekisteröityminen epäonnistui.","SEARCH_FAILED":"Haku epäonnistui","EMAIL_USED":"Tämä sähköposti on jo käytössä.","WAITING_FB_LOGIN":"Kirjaudutaan Facebookilla...","EXTERNAL_PLAYER_TITLE":"Toista ulkoisessa soittimessa","EXTERNAL_REMEMBER_PLAYER":"Haluatko muistaa valintasi","EXTERNAL_ALWAYS_PLAY":"Kyllä","EXTERNAL_ONLY_ONCE":"Ei","BEST_FIT":"Paras sovitus","FIT_SCREEN":"Sovita näyttöön","FILL":"Täytä","16:9":"16:9","4:3":"4:3","Original":"Alkuperäinen","INTRO_TASTE":"Kerro meille mistä pidät","INTRO_TASTE_LONG":"Kerro meille mitä haluaisit katsoa","INTRO_TASTE_PICK":"Valitse {{interestsRemaining}} kiinnostusta","INTRO_TASTE_PICK_MORE":"Valitse {{interestsRemaining}} kiinnostusta lisää","INTRO_TASTE_HELP_US":"Autathan meitä oppimaan lisää sinusta.","INTRO_TASTE_CHOOSE_THESE":"Valitse joitakin näistä:","INTRO_TASTE_CHOOSE_MIN":"Valitse vähintään 3 luokkaa","INTRO_TASTE_CHOOSE_MIN_ERR":"Sinun on valittava vähintään 3 luokkaa!","INTRO_TASTE_LIFESTYLE":"Elämäntyyli","INTRO_TASTE_SPORTS":"Urheilu","INTRO_TASTE_FOOD_HEALTH":"Ruoka ja terveys","INTRO_TASTE_BEAUTY_FASHION":"Kauneus ja muoti","INTRO_TASTE_NEWS":"Uutiset","INTRO_TASTE_GAMING":"Pelaaminen","INTRO_TASTE_SCIENCE_EDU":"Tiede ja koulutus","INTRO_TASTE_MUSIC":"Musiikki","INTRO_TASTE_TRAVEL":"Matkailu","INTRO_TASTE_LATE_NIGHT":"Myöhäisillan ohjelma","INTRO_TASTE_REALITY":"Reality","INTRO_TASTE_COMEDY":"Komedia","INTRO_TASTE_DIY":"Tee se itse","INTRO_TASTE_TECH":"Tekniikka","INTRO_TASTE_CINEMA":"Elokuvat","ADDON_NOT_SUPPORTED":"Valittu lisäosa ei ole tuettu tällä alustalla.","ADDON_DISCLAIMER":"Kolmannen osapuolen lisäosien käyttö on aina vastuullasi ja säännelty sen lain mukaan, jossa sijaitset.","ADDON_ACTIVATE":"Aktivoidaanko tämä lisäosa?","ADDON_REPO_ADD":"Lisäosakokoelman URL-osoite","ADDON_ADD":"Lisää","INSTALL_ADDON":"Install addon","ADD_ADDON":"Lisää lisäosa","ADD_ADDON_DESCRIPTION":"Voit lisätä lisäosan ulkoisen linkin kautta, joka näkyy Asennetut lisäosat -osiossa.","PASTE_ADDON_URL":"Liitä lisäosan URL-osoite","WHATS_NEW":"Mitä uutta","BUTTON_CONTINUE":"Jatka","BUTTON_ACTIVATE":"Aktivoi","BUTTON_ACTIVATED":"Aktivoitu","BUTTON_CANCEL":"Peruuta","BUTTON_SUBMIT":"Lähetä","BUTTON_DISMISS_ALL":"Hylkää kaikki","BUTTON_VIEW_ALL":"näytä kaikki","BUTTON_SEE_ALL":"Katso kaikki","BUTTON_COLOR_TRANSPARENT":"Läpinäkyvä","OPEN_IN_BROWSER":"Avaa selaimessa","LIB_EMPTY":"Kirjastosi näyttää tyhjältä. Selvitä kuinka hyödyllinen se on :)","HOW_START":"Tässä on miten voit aloittaa:","LIB_EMPTY_CAL":"Kalenterisi näyttää sarjoja kirjastossasi.","HOW_START_CAL":"Tässä on miten voit lisätä sarjoja:","LIB_EMPTY_BOARD":"Board näyttää ilmoituksia ja suosituksia kirjastoosi liittyen.","HOW_START_BOARD_WAIT":"Lisää muutama sarja tai kanava kirjastoosi ja anna meille muutama minuutti käsitellä :)","HOW_START_BOARD":"Tässä on miten voit lisätä sarjoja ja elokuvia siihen:","IMPORT_FB":"Tuo tykkäämäsi asiat <span>Facebookista</span>","IMPORT_TRAKT":"Tuo mediatietokantasi <span>Traktista</span>","IMPORT_DISCOVER":"Löydä mielenkiintoista sisältöä <span>Discoverista</span>","IMPORT_DISK":"Tuo elokuvat tai sarjat, joita sinulla on <span>paikallisella levyltäsi</span>","PLEASE_CREATE_ACC":"Luo <u>tunnus</u> mahdollistaaksesi kirjaston synkronoinnin ja Boardin.","IMPORT_DISCOVER_SIGNUP":"Rekisteröidy ja löydä mielenkiintoista sisältöä <span>Discoverista</span>","IMPORT_DISK_SIGNUP":"Rekisteröidy ja tuo elokuvat tai sarjat, joita sinulla on <span>paikallisella levyltäsi</span>","LIB_EMPTY_CLOUD":"Pilvikirjasto","LIB_EMPTY_CLOUD_DESC":"Henkilökohtainen pilvikirjasto synkronoitu kaikilla laitteilla","LIB_EMPTY_EARLY":"Aikainen lintu","LIB_EMPTY_EARLY_DESC":"Vastaanota ilmoituksia uusista jaksoista","LIB_EMPTY_PERSONAL":"Henkilökohtainen","LIB_EMPTY_PERSONAL_DESC":"Saat henkilökohtaisia suosituksia","LIB_EMPTY_CALENDAR_DESC":"Aikatauluta henkilökohtainen katselukalenterisi","LIB_EMPTY_ALL":"Rekisteröidy saadaksesi kaikki nämä:","LIB_EMPTY_BEST":"Rekisteröidy saadaksesi parhaat Stremio-ominaisuudet","LIB_EMPTY_OTHER":"Rekisteröidy mahdollistaaksesi kalenterin ja muita hienoja ominaisuuksia","CALENDAR_ADDED":"Stremio-kalenteri on lisätty oletuskalenteriisi.","CALENDAR_ADDED_MSG":"Jos tämä ei toimi, lisää tämä URL-kalenterisovellukseesi manuaalisesti.","TRAKT_EXPIRED":"Traktin todennus vanhentunut, mene Asetuksiin ja todenna uudelleen","TRAKT_REQUIRES_LOGIN":"Trakt-virhe","TRAKT_REQUIRES_LOGIN_MSG":"Sinun täytyy kirjautua sisään","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","SETTINGS_LABEL":"Asetukset","SETTINGS_NAV_GENERAL":"Yleiset","SETTINGS_NAV_PLAYER":"Soitin","SETTINGS_NAV_STREAMING":"Suoratoisto","SETTINGS_NAV_SHORTCUTS":"Pikanäppäimet","SETTINGS_SHORTCUT_RELOAD_APP":"Lataa sovellus uudelleen","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Avaa asetukset","SETTINGS_SHORTCUT_SWITCH_TABS":"Vaihda välilehtiä","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Selaa välilehtiä eteenpäin","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Selaa välilehtiä taaksepäin","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigoi valikoiden välillä","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Siirry hakuun","SETTINGS_SHORTCUT_EXIT_BACK":"Poistu / Palaa takaisin","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Vaihda toistonopeus-valikko","SETTINGS_SHORTCUT_MENU_VIDEOS":"Vaihda videovalikko","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Vaihda tekstitysvalikko","SETTINGS_SHORTCUT_MENU_INFO":"Vaihda infovalikko","SETTINGS_SHORTCUT_FULLSCREEN":"Vaihda koko näyttöön","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Näytä ohjaimet","SETTINGS_SHORTCUT_PLAY_PAUSE":"Toista / Tauko","SETTINGS_SHORTCUT_VOLUME_UP":"Äänenvoimakkuus ylös","SETTINGS_SHORTCUT_VOLUME_DOWN":"Äänenvoimakkuus alas","SETTINGS_SHORTCUT_SEEK_NEXT":"Etsi seuraava","SETTINGS_SHORTCUT_SEEK_PREV":"Etsi edellinen","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Etsi taaksepäin","SETTINGS_SHORTCUT_SEEK_FORWARD":"Etsi eteenpäin","SETTINGS_SHORTCUT_PLAY_NEXT":"Toista seuraava","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Kasvata tekstityksen kokoa","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Pienennä tekstityksen kokoa","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Kasvata tekstityksen viivettä","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Pienennä tekstityksen viivettä","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Vaihda sivupalkki","SETTINGS_SHORTCUT_OR":"tai","SETTINGS_SHORTCUT_TO":"näppäin","SETTINGS_SHORTCUT_SPACE":"Välilyönti","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Todenna","SETTINGS_FACEBOOK_IMPORT":"Tuo","SETTINGS_CALENDAR_SUBSCRIBE":"Tilaa","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Käyttöliittymän kieli","SETTINGS_LAUNCH_STARTUP":"Käynnistä käynnistyksen yhteydessä","SETTINGS_VLC_DEFAULT":"Toista VLC:llä","SETTINGS_UI_LANGUAGE":"Käyttöliittymän kieli","SETTINGS_UI_ZOOM":"Käyttöliittymän zoomaus","SETTINGS_FULLSCREEN_EXIT":"Poistu koko näytöstä Esc-näppäimellä","SETTINGS_GAMEPAD":"Ota käyttöön peliohjain","SETTINGS_CLOSE_WINDOW":"Sulje sovellus ikkunan sulkemisen yhteydessä","SETTINGS_SUBTITLES_LANGUAGE":"Oletuskieli tekstityksille","SETTINGS_SUBTITLES_SIZE":"Oletuskoko tekstityksille","SETTINGS_SUBTITLES_BACKGROUND":"Tekstitysten tausta","SETTINGS_SUBTITLES_COLOR":"Tekstitysten väri","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Tekstitysten reunaväri","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Tekstitysten taustaväri","SETTINGS_SEEK_KEY":"Nuolinäppäimet hakuun","SETTINGS_SEEK_KEY_SHIFT":"Nuolinäppäimet hakuun Shift-näppäintä painettaessa","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Kelaa taaksepäin ja eteenpäin -kesto","SETTINGS_BINGE":"Toista automaattisesti seuraava jakso","SETTINGS_NEXT_VIDEO":"Näytä ilmoitus seuraavan jakson aloittamisesta","SETTINGS_NEXT_VIDEO_TRIGGER":"Näytä seuraavan jakson ilmoitus:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Seuraavan videon ilmoituksen kesto","SETTINGS_PLAY_IN_BACKGROUND":"Toista taustalla","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Toista ulkoisessa soittimessa","SETTINGS_RESIZE":"Muuta ikkunan kokoa automaattisesti ennen toistoa","SETTINGS_OVERRIDE_SERVER":"Ohita suoratoistopalvelimen URL-osoite (edistynyt)","SETTINGS_SERVER_URL":"Suoratoistopalvelimen URL-osoite: ","SETTINGS_SERVER_AVAILABLE":"Suoratoistopalvelin on käytettävissä.","SETTINGS_SERVER_UNAVAILABLE":"Suoratoistopalvelin ei ole käytettävissä.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Virhe","SETTINGS_SERVER_CONFIGURE_TITLE":"Määritä suoratoistopalvelimen URL-osoite","SETTINGS_SERVER_CONFIGURE_INPUT":"Syötä suoratoistopalvelimen URL-osoite","SETTINGS_SERVER_CACHE_SIZE":"Välimuistin koko","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent-profiili","SETTINGS_HTTPS_ENDPOINT":"Suoratoiston HTTPS-päätepiste: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Käytä aina uusinta beta-versiota","SETTINGS_IMPORT_FB":"Tuo Facebookista","SETTINGS_IMPORT_DISK":"Tuo paikalliselta levyltä","SETTINGS_IMPORT_TRAKT":"Tuo Traktista","SETTINGS_PAUSE_MINIMIZED":"Tauko toistossa, kun sovellus on pienennetty","SETTINGS_HWDEC":"Laitteistokiihdytetty dekoodaus","SETTINGS_BACKGROUND":"Toista taustalla","SETTINGS_SUBSCRIBE_CALENDAR":"Tilaa kalenteri","SETTINGS_REQ_EXPORT":"Pyydä tietojen vientiä","SETTINGS_ACC_DELETE":"Pyydä tilin poistoa","SETTINGS_CHANGE_PASSWORD":"Vaihda salasana","SETTINGS_TOS":"Käyttöehdot","SETTINGS_SUPPORT":"Ota yhteyttä tukeen","SETTING_LANGUAGE":"Kieli","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_LOGOUT":"Kirjaudu ulos Trakt.tv:stä","SETTINGS_TRAKT_LOGOUT_2":"Kirjaudu ulos Traktista","SETTINGS_SCAN_FOR_REMOTE":"Skannaa QR-koodi avataksesi etäyhteyden","SETTINGS_DESKTOP_NOTIFICATIONS":"Työpöytäilmoitukset","SETTINGS_DATA_SAVER":"Datansäästötila","SETTINGS_LANGUAGE_INTERFACE":"käyttöliittymä","SETTINGS_LANGUAGE_SUBS":"oletuskieli tekstityksille","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Valitse oletusääniraita automaattisesti","SETTINGS_DEFAULT_AUDIO_TRACK":"Oletusääniraita","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"Tili","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"Versio","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"Käynnistä soitin erillisessä ikkunassa (edistynyt)","SETTINGS_PLAY_IN_EXTERNAL":"Aloita video aina ulkoisessa soittimessa","SETTINGS_STORAGE_BUTTON":"Tyhjennä paikallinen tallennustila","SETTINGS_STORAGE_MODAL_TITLE":"Oletko varma?","SETTINGS_STORAGE_MODAL_MESSAGE":"Tämä tyhjentää paikallisen tallennustilan ja kirjaa sinut ulos.","SETTINGS_HWDEC_PICKER":"Valitse laitteistokiihdytetyn dekoodauksen asetus","SETTINGS_HW_AUTOMATIC":"Automaattinen","SETTINGS_HW_DISABLED":"Poistettu käytöstä","SETTINGS_HW_ACCELERATED":"Dekoodauksen kiihdytys","SETTINGS_HW_FULL":"Täysi kiihdytys","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Tekstitykset","SETTINGS_SECTION_AUDIO":"Ääni","SETTINGS_SECTION_CONTROLS":"Ohjaimet","SETTINGS_SECTION_AUTO_PLAY":"Automaattinen toisto","SETTINGS_SECTION_ADVANCED":"Edistyneet","SUBSPICKER_AUDIO":"Ääni","SUBSPICKER_SUBTITLES":"Lisäosien tekstitykset","SUBSPICKER_BLACK_BACKGROUND":"Käytä mustaa taustaväriä","SUBSPICKER_VERTICAL_OFFSET":"Pystysuuntainen siirtymä","SUBSPICKER_SIZE":"Koko","SUBSPICKER_DELAY":"Viive","SUBSPICKER_EMBEDDED_SUBS":"Upotetut tekstitykset","MOBILE_PRIVACY_POLICY":"Tietosuojakäytäntö","MOBILE_CRASH_REPORTING":"Kaatumisraportointi","MOBILE_ZOOM_TO_FILL":"Zoomaa täyttämään näyttö","MOBILE_PASSTHROUGH":"Digitaalinen äänilähtö (passthrough)","MOBILE_RUN_LOW_BATTERY":"Toimi vähäisellä akulla","MOBILE_RUN_FOREGROUND":"Toimi etualalla","MOBILE_PERFORMANCE":"SUORITUSKYKY JA VAKAUS","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"QR-koodi vanhenee ","MOBILE_LOG_INTO":"Kirjaudu Stremio-tilillesi ","MOBILE_SCAN_QR":"Skannaa yllä oleva QR-koodi tai siirry osoitteeseen ","MOBILE_LINK_ACCOUNT":"Linkitä tili","MOBILE_SPEEDPICKER_CANCEL":"Peruuta","MOBILE_SPEEDPICKER_LABEL":"Valitse toistonopeus","MOBILE_EMPTY_LIBRARY":"Kirjastosi on tyhjä","MOBILE_NO_ADDON_ACTIVE":"Ei aktiivisia Stremio-lisäosia tälle tyypille.","MOBILE_ORGANIZER_WARNING":"Stremio Organizer -sovellus tarjoaa rajoitetun toiminnallisuuden. Käytä Stremioa työpöydällä saadaksesi luettelon toistettavista virtauksista ja täyden Stremio-kokemuksen.","MOBILE_ADDON_LOADING":"latautuu edelleen","MOBILE_ADDONS_LOADING":"lisäosat latautuvat edelleen","MOBILE_ADDON":"Lisäosa","MOBILE_CONFIGURE_ADDON":"Määritä lisäosa","MOBILE_CONFIGURE_ADDON_LABEL":"Määritä lisäosa","MOBILE_ORGANIZER_ADDONS_WARNING":"Stremio Organizer -sovellus tarjoaa vain rajoitetun valikoiman lisäosia. Käytä Stremioa työpöydällä saadaksesi täyden Stremio-kokemuksen.","MOBILE_DISCONNECT":"Katkaise yhteys","MOBILE_LOOKING_FOR_DEVICES":"Etsitään laitteita...","MOBILE_CAST_TO":"Heijasta","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Poista tili","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Tilin poisto ei ole välitön oikeudellisten velvoitteiden vuoksi. Tilin poistamisen jälkeen sinun on käytettävä eri sähköpostiosoitetta / Facebook-profiilia luodaksesi uuden Stremio-tilin tulevaisuudessa.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Vahvista tilin poisto","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Tilisi on luotu Facebookin kautta. Tilin poistamiseksi käytä käyttäjäportaalia osoitteessa www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Vahvista tilin poisto antamalla salasanasi.","MOBILE_DELETE_ACCOUNT_BUTTON":"Poista tili","NAVIGATION_ON":"Päällä","NAVIGATION_OFF":"Pois päältä","MARKETING_AGREE":"Hyväksyn Stremion markkinointiviestinnän","QUIT":"Lopeta","CONNECTED":"Yhdistetty","AUTHENTICATE":"Todennus","CACHING":"Välimuisti","SETTINGS_CACHING_DRIVE":"Välimuistin asema","ENABLE_LOCAL_FILES_ADDON":"Ota käyttöön paikallisten tiedostojen lisäosa (vaatii käynnistyksen uudelleen)","LOCAL_ADDON_NOT_ENABLED":"Paikallinen lisäosa ei ole käytössä. Napsauta tästä siirtyäksesi asetuksiin ja ota se käyttöön","ENABLE_REMOTE_HTTPS_CONN":"Ota käyttöön etä-HTTPS-yhteydet","TORRENT_PROFILE":"Torrent-profiili","DATA_CACHING":"Tietojen välimuisti","MAGNET_PARSING":"Magneettilinkin jäsentäminen","January":"Tammikuu","February":"Helmikuu","March":"Maaliskuu","April":"Huhtikuu","May":"Toukokuu","June":"Kesäkuu","July":"Heinäkuu","August":"Elokuu","September":"Syyskuu","October":"Lokakuu","November":"Marraskuu","December":"Joulukuu","Monday":"Maanantai","Tuesday":"Tiistai","Wednesday":"Keskiviikko","Thursday":"Torstai","Friday":"Perjantai","Saturday":"Lauantai","Sunday":"Sunnuntai","Action":"Toiminta","Comedy":"Komedia","War":"Sota","Family":"Perhe","Animation":"Animaatio","Adventure":"Seikkailu","Fantasy":"Fantasia","Crime":"Rikos","Mystery":"Mysteeri","Romance":"Romantiikka","Drama":"Draama","Horror":"Kauhu","Thriller":"Jännitys","Sci-Fi":"Tieteisfiktio","Music":"Musiikki","Biography":"Elämäkerta","Documentary":"Dokumentti","Sport":"Urheilu","Musical":"Musikaali","Western":"Lännenelokuva","Film-Noir":"Film Noir","News":"Uutiset","History":"Historia","Game-Show":"Kilpailuohjelma","Reality-TV":"Todellisuus-TV","Talk-Show":"Keskusteluohjelma","Film & Entertainment":"Elokuvat ja viihde","Gaming":"Pelaaminen","From TV":"TV:stä","Lifestyle":"Elämäntyyli","Science & Education":"Tiede ja koulutus","Cooking & Health":"Ruuanlaitto ja terveys","Beauty & Fashion":"Kauneus ja muoti","Sports":"Urheilu","News & Politics":"Uutiset ja politiikka","How-to & DIY":"Kuinka tehdä itse","Tech":"Tekniikka","Automotive":"Autot","Causes & Non-Profits":"Syyt ja voittoa tavoittelemattomat","Movies":"Elokuvat","Uk Live Tv":"Brittiläinen live-TV","Fashion":"Muoti","Business News Radio":"Liiketoimintauutiset radio","Business Tv":"Liiketoiminta-TV","Cars & Auto":"Autot","Comedy Radio":"Komedia radio","Lifestyle Radio":"Elämäntyyli radio","News Tv":"Uutiset TV","Food And Wine":"Ruoka ja viini","Latino Tv":"Latinalainen TV","Shopping Tv":"Ostos-TV","Religion":"Uskonto","Kids":"Lapset","Body & Soul":"Keho ja sielu","Education":"Koulutus","Indian Tv":"Intialainen TV","Extreme Sports":"Ekstreemilajit","Middle Eastern Tv":"Lähi-idän TV","Celebrity Tv":"Julkkis-TV","Science Tv":"Tiede-TV","Bikini babe":"Bikini kaunotar","Outdoors":"Ulkoilu","German Tv":"Saksalainen TV","French Tv":"Ranskalainen TV","Italian Tv":"Italialainen TV","Gamer Tv":"Pelaaja-TV","Travel":"Matkailu","Asian Tv":"Aasialainen TV","Entertainment":"Viihde","News Radio":"Uutisradio","Music Radio":"Musiikkiradio","Language Learning":"Kielten oppiminen","Science Radio":"Tiede radio","Tech Radio":"Tekniikka radio","Science & Technology Vod":"Tiede ja teknologia VOD","new video":"uusi video","new episode":"uusi jakso","new movie":"uusi elokuva","recommended":"suositeltu","we recommend":"suosittelemme","offer of the day":"päivän tarjous","news":"uutiset","music video":"musiikkivideo","CTX_SHOW_HOTKEYS":"Näytä pikanäppäimet","CTX_DISMISS_NOTIF":"Hylkää ilmoitukset","CTX_DISMISS_ALL":"Hylkää kaikki","CTX_SHARE":"Jaa","CTX_COPY_SHARE_LINK":"Kopioi jakolinkki","CTX_COPY_MAGNET_LINK":"Kopioi magnet-linkki","CTX_COPY_STREAM_LINK":"Kopioi stream-linkki","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Lataa tämä video","CTX_DOWNLOAD_SUBS":"Lataa tekstitykset","CTX_VIEW_ON_YOUTUBE":"Katso YouTubessa","CTX_SHOW":"Näytä","CTX_PLAY":"Toista","CTX_PLAY_IN":"Toista kohteessa","CTX_PLAY_ON":"Toista kohteessa","CTX_WATCH_ON":"Katso kohteessa","CTX_WATCH":"Katso","CTX_WATCHED":"Katsottu","CTX_WATCH_BEGINNING":"Katso alusta","CTX_WATCH_MOBILE":"Katso mobiililaitteella","CTX_REWIND":"Kelaa alkuun","CTX_MARK_WATCHED":"Merkitse katsotuksi","CTX_MARK_NON_WATCHED":"Merkitse ei-katsotuksi","CTX_MARK_UNWATCHED":"Merkitse katsomattomaksi","CTX_MARK_REST":"Merkitse loput katsotuksi","CTX_UNMARK_REST":"Merkitse loput ei-katsotuksi","CTX_RECEIVE_NEW_NOTIF":"Vastaanota uusia ilmoituksia","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"Poista välimuistista","CTX_REMOVE_CACHE_EP":"Poista jakso välimuistista","CTX_OPEN_CONTAINING":"Avaa sisältävä kansio","CTX_REMOVE":"Poista kirjastosta","CTX_AVAILABLE_OFFLINE":"Saatavilla offline-tilassa","CTX_PAUSED":"Tauolla","CTX_ALWAYS_ON_TOP":"Aina päällimmäisenä","CTX_FULLSCREEN":"Koko näyttö","CTX_WRONG_SUBS":"Väärät tekstitykset?","CTX_REPORT_ISSUES":"Ilmoita ongelmasta","CTX_COPY":"Kopioi","CTX_PASTE":"Liitä","CTX_CLEAR":"Tyhjennä","CTX_CLEAR_RECENT_SEARCHES":"Tyhjennä viimeisimmät haut","HELLO_THERE":"Hei siellä","HOPE_YOU_ENJOY":"Toivomme, että nautit Stremiosta ja se on jo yksi suosikki sovelluksistasi!","WHO_ARE_WE":"Kuka me olemme? Olemme sen takana oleva tiimi - kaksi kaveria, jotka ovat työskennelleet kovasti joka päivä viimeiset 3 vuotta tehdäkseen tästä tuotteesta paremman ja paremman.","SUPPORT_US":"Jos nautit Stremion käytöstä, jos Stremio on arvokas sinulle - levitä sanaa!","SPREAD_THE_WORD":"Jaa nyt ystäviesi kanssa, levitä sanaa Stremiosta","MORE_PEOPLE":"Mitä enemmän ihmisiä käyttää Stremiota, sitä paremmaksi se tulee!","SEND_A_LINK":"Tai lähetä linkki verkkosivustollemme","TIP_LOCALFILES":"Vinkki: voit raahata ja pudottaa paikallisia videotiedostoja Stremioon","ADDON_MY":"Omat lisäosat","ADDON_COMMUNITY":"Yhteisön lisäosat","ADDON_OFFICIAL":"Viralliset lisäosat","ADDON_REPOS":"Lisäosakokoelmat","ADDON_SEARCH":"Etsi lisäosia","ADDON_INSTALL":"Asenna","ADDON_CONFIGURE":"Määritä","ADDON_UNINSTALL":"Poista asennus","ADDON_UPGRADE":"Päivitä","ADDON_INSTALLED":"Asennettu","ADDON_INSTALLED_MSG":"Lisäosa asennettu!","ADDON_UPGRADED_MSG":"Lisäosa päivitetty!","ADDON_UNKNOWN":"Tuntematon","ADDON_ERR":"Lisäosan asennusvirhe!","ADDON_DISCONNECTED":"Yhteys katkaistu","ADDON_APP_MISSING":"tämän lähteen sovellusta ei ole asennettu. Haluatko asentaa sen nyt?","ADDON_APP_INSTALL":"Asenna nyt","ADDON_PAGE":"Lisäosan sivu","ADDON_TOP_CONTENT":"Parhaat tästä lisäosasta","ADDON_PROVIDES":"Tämä lisäosa antaa sinulle:","ADDON_WATCH":"Katso #{types} nyt!","ADDON_WATCH_FREE":"Katso #{types} ilmaiseksi nyt!","ADDON_ADDON":"Lisäosa","ADDON_SUPPORTED_TYPES":"Tuetut tyypit","ADDON_SUPPORTED_CATALOGS":"Tuetut katalogit","ADDON_PROVIDES_DISCOVER":"Lisää #{types} löytyy Discoverista","ADDON_PROVIDES_STREAMS":"Katso #{types}","ADDON_PROVIDES_STREAMS_FREE":"Katso #{types} ilmaiseksi","ADDON_PROVIDES_SUBTITLES":"#{types} tekstitykset","ADDON_CANTDETECT":"Emme voineet havaita käynnissä olevaa Stremiota, joten emme voineet havaita, mitä lisäosia sinulla on asennettuna.","ERR_NO_META":"Tietoja ei löytynyt tästä","ERR_GETTING_META":"Virhe tietojen noutamisessa","ERR_CANT_PARSE_MAGNET":"Magnetin jäsentäminen ei onnistu","ERR_NO_MAGNET_INFOHASH":"Ei kelvollista info-hashia magnetissa","ERR_NO_FILE_PATH":"Pyyntöä ei voi lähettää ilman tiedostopolkua","ERR_NO_TORRENT":"Ei palautettu torrentia","ERR_NO_SUPPORTERD_FILES":"Ei tuettuja tiedostoja löydetty","ERR_OPENING_FILES":"Ei voitu avata ulkoisia tiedostoja","ERR_INVALID_LINK":"Virheellinen linkki","ERR_REGISTERED_ONLY":"Tämä vaihtoehto on saatavilla vain rekisteröityneille käyttäjille.","ERR_CLIPBOARD":"Ei voi toistaa leikepöydältä","ERR_CLIPBOARD_READ":"Leikepöytää ei voi lukea tällä alustalla","ERR_CLIPBOARD_GENERIC":"Leikepöydältä ei löytynyt toistettavaa URL-osoitetta. Kopioi URL-osoite (esim. magnet-linkki) videolle.","BOARD_CONTINUE_WATCHING":"Jatka katsomista","BOARD_EXPLANATION_RECOMMENDATIONS":"Elokuvia valittu erityisesti sinulle.<br />Tämä elokuva on esimerkki suosituksesta.","BOARD_EXPLANATION_EPISODES":"Uudet jaksot suosikkisarjoistasi tulevat tänne.<br />Lisää seurattavat sarjat kirjastoosi.","BOARD_EXPLANATION_VIDEOS":"Uudet jaksot suosikkikanaviltasi tulevat tänne.<br />Lisää seurattavat YouTube-kanavat kirjastoosi.","WEBSITE_ENJOYED_BY":"Nauttii yli 30 miljoonaa käyttäjää ympäri maailmaa","WEBSITE_STREAMING_ENHANCED":"Suoratoisto parannettu","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio tarjoaa turvallisen, modernin ja saumattoman viihdekokemuksen. Helppokäyttöisen käyttöliittymän ja monipuolisen sisältökirjaston, mukaan lukien 4K HDR -tuki, ansiosta käyttäjät voivat nauttia suosikkielokuvistaan ja TV-ohjelmistaan kaikilla laitteillaan. Ja sitoutumalla turvallisuuteen Stremio on paras valinta huoleton, korkealaatuinen suoratoistokokemus.","WEBSITE_AVAILABLE_ON":"Saatavilla","WEBSITE_WATCH_AND_ENJOY":"Katso ja nauti.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio tekee siitä lasten leikkiä","WEBSITE_ALL_FEATURES":"Kaikki ominaisuudet","WEBSITE_EASY_TO_USE":"Helppo käyttää","WEBSITE_EASY_TO_USE_DETAILS":"Stremio on suunniteltu käyttäjäystävälliseksi ja helppokäyttöiseksi. Sen selkeän ja intuitiivisen käyttöliittymän avulla voit helposti navigoida ja löytää haluamasi sisällön katsottavaksi.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Saumaton laitteiden välillä","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Saatavilla laajalle valikoimalle alustoja (mukaan lukien Windows, Mac, Linux, Android ja paljon muuta), Stremio pitää kirjaa edistymisestäsi kaikilla laitteillasi. Kirjaudu vain sisään ja jatka katselua ilman, että sinun tarvitsee määrittää sovellusta uudelleen jokaiselle uudelle laitteelle.","WEBSITE_ALL_DOWNLOADS":"Kaikki lataukset","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"Korkean määritelmän videotuki","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"Integroitu videotoistin, joka tukee useimpia videoformaatteja, mukaan lukien 4K HDR -sisältö, antaa sinun nauttia korkeimmasta mahdollisesta laadusta.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Monipuolinen sisältökirjasto","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integroituu suureen määrään suosittuja videolähteitä, kuten Netflix, Amazon Prime Video, Hulu, YouTube ja monia muita.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Luo ilmainen tili","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Räätälöity katselukokemus","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio mahdollistaa käyttöliittymän ulkoasun ja tunteen mukauttamisen teeman vaihtamalla, lisäämällä tai poistamalla lisäosia ja paljon muuta.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Monikielinen tekstitystuki","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"Voit nyt nauttia kaikista suosikkisisällöistäsi haluamallasi kielellä, koska Stremio tukee tekstityksiä kaikilla kielillä.","WEBSITE_ALL_STREMIO_FEATURES":"Kaikki Stremio-ominaisuudet","WEBSITE_TRY_STREMIO_TITLE_P1":"Kokeile Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"TV:ssäsi nyt","WEBSITE_YOU_CAN_NOW_WATCH":"Voit nyt katsoa kaikkia suosikki TV-ohjelmiasi Android TV -laitteillasi. Stremio TV -sovellus antaa sinun nauttia elokuvailloista helposti.","WEBSITE_YOU_CAN_NOW_WATCH_2":"Voit nyt katsoa kaikkia suosikki TV-ohjelmiasi Smart TV:lläsi tai Android TV:lläsi. Stremio TV -sovellukset antavat sinun nauttia elokuvailloista helposti.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio Smart TV:lle","WEBSITE_PLAY_STORE_REVIEW":"Todennäköisesti paras ja hyödyllisin sovellus, joka sinulla voi olla laitteessasi. Se on yksi sovelluksista, joita käytän päivittäin, erityisesti Android TV:ssäni monien vuosien ajan. Hyvin tehty vahvan yhteisön tarjoamilla hyödyllisillä toiminnoilla. Hyvin tehty. Jatka hyvää työtä.","WEBSITE_REVIEWS":"arvostelut","WEBSITE_GET_STREMIO_FOR_FREE":"Hanki Stremio ilmaiseksi","WEBSITE_GET_STREMIO_NOW":"Hanki Stremio nyt","WEBSITE_STREMIO_FEATURES":"Stremio-ominaisuudet","WEBSITE_STREMIO_FEATURES_DETAILS":"Suoratoista kuin ammattilainen Stremio:n edistyksellisten ominaisuuksien avulla ja nauti saumattomasta pääsystä kaikkiin suosikkimediaasi","WEBSITE_DISCOVER_MORE":"Löydä lisää.","WEBSITE_DISCOVER_MORE_DETAILS":"Älä koskaan lopu katsottavasta","WEBSITE_COMMUNITY_DRIVEN":"Yhteisöllinen","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremiolla on suuri ja aktiivinen käyttäjäyhteisö, joka osallistuu ohjelmiston kehittämiseen luomalla ja jakamalla lisäosia.","WEBSITE_GET_INVOLVED":"Osallistu","WEBSITE_NEW_THEATER_EXPERIENCE":"Uusi teatterikokemus","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio:n uusi omistettu TV-sovellus antaa sinun nauttia elokuvailloista Android TV -laitteillasi.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio:n uudet omistetut TV-sovellukset antavat sinun nauttia elokuvailloista Smart TV:lläsi tai Android TV:lläsi.","WEBSITE_FREE_AND_SECURE":"Ilmainen ja turvallinen","WEBSITE_STREAMING":"Suoratoisto","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio tarjoaa vertaansa vailla olevan turvallisuuden ja yksityisyyden käyttäjille. Ainutlaatuisen etäkäyttölisäosan ansiosta Stremio tarjoaa turvallisemman tavan suoratoistaa suosikkisisältöä verrattuna muihin alustoihin. Turvallisuutesi ja yksityisyytesi ovat tärkeimmät prioriteetit, ja alusta varmistaa, että kaikki tietosi ovat suojattuja.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Sano hyvästit huolille turvallisuudesta ja yksityisyydestä ja sano hei loputtomalle viihdemaailmalle Stremio:n kanssa.","WEBSITE_INFORMATION_PROVIDED_BY":"Tiedot tarjoaa","WEBSITE_CONTRIBUTE":"Osallistu","WEBSITE_CONTRIBUTE_DESC":"projektiin ja auta meitä tekemään Stremio vielä paremmaksi","WEBSITE_COMMUNITY_DESC":"Uskomme, että paras tapa luoda todella uskomaton suoratoistokokemus on osallistaa yhteisömme prosessiin. Olitpa sitten ohjelmoija, taiteilija tai vain fani - voit auttaa Stremio:n kasvua.","WEBSITE_COMMUNITY_DESC_2":"Liity siis tänään ja tule osaksi Stremio-yhteisöä ja jatka suoratoiston tulevaisuuden muotoilua.","WEBSITE_WAYS_TO_GET_INVOLVED":"Tapoja osallistua","WEBSITE_IN_THE_STREMIO_COMMUNITY":"Stremio-yhteisössä","WEBSITE_SHARE_YOUR_THOUGHTS":"Jaa ajatuksesi","WEBSITE_REPORT_BUGS":"Ilmoita virheistä","WEBSITE_SUGGEST_FEATURES":"ehdota ominaisuuksia","WEBSITE_AND_PROVIDE_FEEDBACK":"ja anna palautetta sosiaalisen median kanavissamme.","WEBSITE_BETA_TESTING_PROGRAM":"Beta-testausohjelma","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Osallistu beta-testausohjelmaamme (lähetämme kutsuja säännöllisesti) Stremio-yhteisössä.","WEBSITE_JOIN_NOW":"Liity nyt!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Viralliset Stremio-yhteisöt","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Epäviralliset Stremio-yhteisöt","WEBSITE_BECOME":"Tule","WEBSITE_A_VOLUNTEER_TRANSLATOR":"vapaaehtoiseksi kääntäjäksi","WEBSITE_ARE_YOU_A_DEVELOPER":"Oletko kehittäjä?","WEBSITE_CONTRIBUTE_CODE":"Voit osallistua koodin kehittämiseen avoimen lähdekoodin projekteissamme. Meillä on useita projekteja GitHubissa, jotka etsivät avustajia. Jos olet kiinnostunut auttamaan, tarkista ne:","WEBSITE_STREMIO_ON_GITHUB":"Stremio GitHubissa","WEBSITE_CREATE_ADDON_DESC":"Luo lisäosa Stremio:n toiminnallisuuden parantamiseksi (meillä on helppokäyttöinen API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"Tarjoamme myös mahdollisuuden liittyä meihin harjoittelijakehittäjänä, jotta voimme kasvaa yhdessä.","WEBSITE_APPLY_AS_AN_INTERN":"Hae harjoittelijaksi","WEBSITE_CALLING_ALL_ARTISTS":"Kutsutaan kaikki taiteilijat!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Näytä luovuutesi ja rakkautesi Stremio:ta kohtaan lataamalla fanitaiteesi verkkogalleriaamme. Olipa kyseessä piirros, maalaus tai digitaalinen suunnittelu, haluamme nähdä ainutlaatuisen näkemyksesi Stremio-brändistä. Liity taideharrastajien yhteisöömme ja jaa työsi muiden Stremio-fanien kanssa ympäri maailmaa.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart -galleria","WEBSITE_INTERN_DESIGNER":"Tule osaksi tiimiämme ja vie luovuutesi uusiin korkeuksiin jännittävien harjoittelumahdollisuuksiemme avulla.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies -projekti","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"Stremio:ssa sitoudumme säilyttämään elokuva- ja televisiohistorian tunnistamalla julkisen alan ja orvoiksi jääneet videot. Yhteistyössä yhteisömme kanssa voimme varmistaa, että nämä klassiset taideteokset ovat kaikkien saatavilla ja suojattu tuleville sukupolville nautittavaksi.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Ota rohkeasti yhteyttä, jos haluat osallistua siihen projektiin.","WEBSITE_JOIN_THE_PROJECT":"Liity projektiin","WEBSITE_BE_PART_OF_OUR_MISSION":"Ole osa tehtäväämme","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Kiinnostunut liittymään Stremio-tiimiin? Tarjoamme täysin etätyön intohimoisille ammattilaisille. Tutustu avoimiin paikkoihimme.","WEBSITE_OPEN_POSITIONS":"AVOIMET PAIKAT","WEBSITE_DESCRIPTION":"KUVAUS","WEBSITE_LEARN_MORE":"Lue lisää","WEBSITE_COMPANY":"Yritys","WEBSITE_CONTACTS":"Yhteystiedot","WEBSITE_NEED_HELP":"Tarvitsetko apua?","WEBSITE_STREMIO_WEB_ON_IOS":"Opas Stremio Webille iOS:lla","WEBSITE_LINK_ART_V2":"Fanitaidegalleria","WEBSITE_PARTNERS":"Kumppanit","WEBSITE_SLOGAN_WATCH":"Katso heti","WEBSITE_SLOGAN_ALL":"Kaikki videosisältö, josta nautit, yhdessä paikassa","WEBSITE_SLOGAN_NEW":"Kaikki, mitä voit katsoa","WEBSITE_SLOGAN_NEW_NEW":"Vapaus suoratoistaa","WEBSITE_WATCH_FROM":"Katso alkaen","WEBSITE_DOWNLOAD":"Lataa nyt","WEBSITE_DOWNLOAD_FOR":"Lataa nyt","WEBSITE_IS_DESKTOP":"Stremio on työpöytäsovellus, avaa tämä sivu tietokoneellasi ja lataa se","WEBSITE_DESKTOP_DEMO_VID":"Työpöytädemo","WEBSITE_PAGE_HOME":"Koti","WEBSITE_PAGE_FEATURES":"Ominaisuudet","WEBSITE_PAGE_ADDONS":"Lisäosat","WEBSITE_PAGE_TECH":"Teknologia","WEBSITE_PAGE_CREATE_ADDON":"Luo lisäosa","WEBSITE_PAGE_CONTACTS":"Yhteystiedot","WEBSITE_PAGE_BLOG":"Blogi","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Elokuvat","WEBSITE_TYPE_series_PL":"Sarjat","WEBSITE_TYPE_tv":"Live TV","WEBSITE_TYPE_channel":"Kanavat","WEBSITE_STREMIO_WHAT_IS":"Stremio on sovellus, joka auttaa sinua järjestämään ja katsomaan suosikki videoitasi, elokuviasi, TV-sarjojasi ja TV-kanavia heti.","WEBSITE_FEATURES_WATCH":"Katso välittömästi HD-laadulla","WEBSITE_FEATURES_WATCH_DETAIL":"Klikkaa ja toista suosikki elokuvasi, TV-ohjelmasi, videot ja TV-kanavasi.","WEBSITE_FEATURES_SUBS":"Automaattiset tekstitykset","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio valitsee automaattisesti synkronoidut tekstitykset kielellesi.","WEBSITE_FEATURES_SUBS_LABEL":"Sinun vuorosi, pomo.","WEBSITE_FEATURES_CAST":"Toista TV:ssä ja mobiililaitteissa","WEBSITE_FEATURES_CAST_DETAIL":"Toista AppleTV:ssä, Chromecastissa, Smart TV:ssä (DLNA/UPnP) ja mobiililaitteissa.","WEBSITE_LIB":"Nauti henkilökohtaisesta kirjastostasi synkronoituna kaikilla laitteillasi","WEBSITE_LIB_COLLECT":"Kerää Stremiosta","WEBSITE_LIB_IMPORT":"Tuo Facebookista","WEBSITE_LIB_LOCAL":"Lisää paikalliselta asemalta","WEBSITE_BOARD":"Board - Yksi paikka ilmoituksille ja suosituksille","WEBSITE_BOARD_RECOMMEND":"Suositeltu TV-ohjelma","WEBSITE_BOARD_TRENDING":"Trendaava elokuva","WEBSITE_BOARD_NEW":"Uusi video","WEBSITE_BOARD_EPISODE":"Uusi jakso","WEBSITE_BOARD_1":"Etsitkö jotain mielenkiintoista katsottavaa? Saat suosituksia makusi mukaan!","WEBSITE_BOARD_2":"Saat ilmoituksen, kun uusi jakso suosikki TV-ohjelmastasi tai YouTube-kanavaltasi on ulkona!","WEBSITE_BOARD_YOUTUBE":"Uudet videot YouTube-kanavilta","WEBSITE_BOARD_EPISODES":"Uudet jaksot sarjoista, joita seuraat","WEBSITE_ADDONS":"Sisältölisäosat","WEBSITE_TECH_DETAIL":"Rakastamme teknologiaa, rakastamme hullua tiedettä!\\nStremio käyttää seuraavia avoimen lähdekoodin teknologioita:","WEBSITE_TECH_WCJS":"WebChimera.js mahdollistaa Stremion toistavan mitä tahansa videomuotoa hyvällä suorituskyvyllä.","WEBSITE_TECH_WCJS_EXTRA":"Olemme ydintiimin jäseniä","WEBSITE_TECH_ELECTRON":"Electron tarjoaa innovatiivisen alustan Stremion rakentamiseen.","WEBSITE_TECH_ELECTRON_EXTRA":"Olemme projektin jäseniä","WEBSITE_TECH_LINVODB":"Tietokantateknologia, joka varmistaa, että tietosi ovat järjestettyjä ja saatavilla missä tahansa kirjaudut sisään.","WEBSITE_TECH_LINVODB_EXTRA":"Sisäinen teknologia","WEBSITE_CREATE_ADDON":"Luo lisäosa","WEBSITE_CREATE_ADDON_DETAIL":"Onko sinulla palvelu, joka tarjoaa videosisältöä? Autamme sinua hyötymään Stremion ominaisuuksista luomalla lisäosan.","WEBSITE_CREATE_ADDON_BENEFITS":"Hyödyt Stremion lisäosan luomisesta","WEBSITE_P2P_BEAUTY":"Vertaisverkkoon perustuvan suoratoiston kauneus","WEBSITE_P2P_1":"Luotettava ja edullinen täysi HD / 4K video pyynnöstä tai suorana","WEBSITE_P2P_2":"Jakelualusta, joka tarjoaa erinomaisen käyttökokemuksen","WEBSITE_P2P_3":"Luomme lisäosan, joka vastaa tarkasti tarpeitasi","WEBSITE_P2P_CONTACT":"Kiinnostunut? Ota <a href=\'mailto:office@stremio.com\'>yhteyttä</a>.","WEBSITE_P2P_CONTACT_EXTRA":"Autamme mielellämme integroimaan sisältösi Stremioon!","WEBSITE_P2P":"Joskus tulee teknologia, joka muuttaa pelin nimen. Investoimme valtavasti aikaa ja vaivaa rakentaessamme vertaisverkkoon perustuvan (P2P) videon suoratoistomoottorimme, joka tarjoaa erinomaisen suorituskyvyn ja monipuolisuuden sopeutua mihin tahansa käyttötapaukseen.\\nOta yhteyttä DRM-yhteensopivaan P2P-videoon pyynnöstä tai suorana suoratoistoon.","WEBSITE_THOUGHTS":"Ajatuksia, joita jaamme:","WEBSITE_SPREAD":"Levitä sanaa Stremiosta:","WEBSITE_CONTACT":"Ota yhteyttä, olemme iloisia kuullessamme sinusta!","WEBSITE_OPENSOURCE":"Avointen lähdekoodiprojektien osalta siirry sivustollemme","WEBSITE_BITCOIN":"Lahjoita bitcoinilla:","WEBSITE_FAQ":"Usein kysytyt kysymykset","WEBSITE_FAQ_SHORT":"UKK","WEBSITE_QUESTIONS":"Kysymykset","WEBSITE_TOS":"Käyttöehdot","WEBSITE_LEGAL":"Lakiasiat","WEBSITE_PAGE_ABOUT":"Tietoja","WEBSITE_PAGE_BECOME_PARTNER":"Tule kumppaniksi","WEBSITE_ALL_YOU_CAN_WATCH":"Vapaus katsoa Kaikkea mitä haluat.","WEBSITE_FREEDOM_TO_STREAM":"Vapaus suoratoistaa","WEBSITE_WHAT_IS_STREMIO":"Mikä on Stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio on yhden pysähdyksen keskus videosisällön keräämiseen. Löydä, järjestä ja katso videoita kaikenlaisista lähteistä millä tahansa laitteella, joka sinulla on.","WEBSITE_WHAT_IS_STREMIO_P2":"Elokuvat, TV-ohjelmat, sarjat, live-televisio tai web-kanavat, kuten YouTube ja Twitch.tv - kaikki tämä löytyy Stremiosta.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio on moderni mediasoitin, joka on yhden pysähdyksen ratkaisu videoviihteellesi. Löydät, katsot ja järjestät videosisältöä helposti asennettavista lisäosista.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Elokuvat, TV-ohjelmat, live-TV tai web-kanavat - löydät kaiken tämän Stremiosta.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Nauti kaikilla laitteillasi","WEBSITE_DEVICES_COLLECT":"Kerää Stremiosta","WEBSITE_DEVICES_IMPORT_FB":"Tuo Facebookista","WEBSITE_DEVICES_LOCAL":"Lisää paikalliselta asemalta","WEBSITE_JOIN_THE_PARTY_NOW":"Liity juhlaan nyt","WEBSITE_DEVICES_ALL":"Helppo käyttää kaikilla laitteillasi;","WEBSITE_EXTENDABLE_CATALOG":"Loputtomasti laajennettavissa oleva videoluettelo;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Mahtavia ominaisuuksia videoidesi järjestämiseen;","WEBSITE_AS_SEEN_ON":"Kuten nähty","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"Tietoa meistä","WEBSITE_LINK_TECHNOLOGY":"Teknologia","WEBSITE_LINK_APPS":"Sovellukset","WEBSITE_LINK_DOWNLOADS":"Lataukset","WEBSITE_MORE":"Lisää","WEBSITE_LINK_ADDONS":"Lisäosat","WEBSITE_LINK_ADDON_SDK":"Lisäosan SDK","WEBSITE_LINK_CONTRIBUTE":"Osallistu","WEBSITE_LINK_COMMUNITY":"Yhteisö","WEBSITE_LINK_BLOG":"Blogi","WEBSITE_MORE_MORE":"... & Lisää","WEBSITE_LINK_HELP":"Ohjekeskus","WEBSITE_LINK_CONTACTS":"Liiketoimintakyselyt","WEBSITE_LINK_TOS":"Käyttöehdot","WEBSITE_LINK_PRAVACY":"Tietosuojakäytäntö","WEBSITE_SUBSCRIBE":"Tilaa","WEBSITE_NEWSLETTER":"Liity uutiskirjeemme tilaajaksi ja saat upeita juttuja","WEBSITE_PLACEHOLDER_EMAIL":"Sähköpostiosoitteesi","WEBSITE_COMMUNITY":"Yhteisö","WEBSITE_LINK_PRAVACY_LEGAL":"Tietosuoja ja oikeudelliset asiat","WEBSITE_WHY":"Miksi teemme tätä","WEBSITE_WHY_P1":"Stremio-tiimi tulee töihin joka päivä, koska haluamme ratkaista tärkeän ongelman videon suoratoistoteollisuudelle. Joka minuutti julkaistaan niin paljon uutta sisältöä, että sen läpikäyminen on käytännössä mahdotonta.","WEBSITE_WHY_P2":"Autamme ihmisiä navigoimaan tuon valtavan videoviihde-maailman läpi ja löytämään uutta sisältöä nautittavaksi. Sovelluksemme yhdistävät elokuvat, sarjat, suorat TV-lähetykset, verkkokanavat ja paljon muuta. Olemme omistautuneet tekemään käyttäjille uskomattoman helppoa löytää heidän rakastamansa nimikkeet ja lähettäjät.","WEBSITE_WHY_P3":"Voit käyttää palveluamme millä tahansa laitteella ja milloin tahansa, joten Stremio on ainoa videoviihdekeskus, jota koskaan tarvitset.","WEBSITE_TEAM":"TIIMI","WEBSITE_TEAM_P":"Stremio-tiimi on pieni mutta voimakas: meitä on kymmenen, ja koodaamme X kielellä. Jaamme asiantuntemusta ohjelmistokehityksestä, käyttöliittymä- ja käyttökokemussuunnittelusta, markkinoinnista ja mainonnasta sekä liiketoiminnasta ja startupeista.","WEBSITE_FEATURES":"Ominaisuudet","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Löydä uutta sisältöä helposti","WEBSITE_FEATURES_DISCOVER_P":"Löydä helposti uusia elokuvia, TV-ohjelmia, sarjoja ja kanavia katsottavaksi. Selaa kategoria-, genre-, arvostelu-, ajankohta- jne. -perusteella tai kirjoita nimi löytääksesi. Stremio tekee uuden videosisällön löytämisestä helppoa kuin kakkupalan syöminen.","WEBSITE_FEATURES_ALL_CONTENT":"Kaikki videosisältö yhdellä näytöllä","WEBSITE_FEATURES_ALL_CONTENT_P1":"Näe, mitä elokuvia, sarjoja tai videoita et ole vielä katsonut loppuun ja jatka niiden katsomista; saat ilmoituksen uusista jaksoista ja julkaisuista; ja selaa suosituksia, jotka saat katselutottumuksiesi perusteella.","WEBSITE_FEATURES_LIBRARY":"Järjestä videokirjastosi","WEBSITE_FEATURES_LIBRARY_P1":"Lisää mikä tahansa nimike Stremio-kirjastoosi yhdellä napsautuksella ja löydä tiensä sisältöösi, joka on järjestetty tyypin, ajankohdan tai aakkosjärjestyksen mukaan.","WEBSITE_FEATURES_CALENDAR":"Pidä kirjaa kaikesta, mitä katsot","WEBSITE_FEATURES_CALENDAR_P1":"Saat kalenterinäkymän kaikista elokuvista ja sarjoista, jotka lisäät kirjastoosi. Vie Stremio-kalenterisi ja synkronoi se, jotta tiedät aina, milloin uusi jakso tai ensi-ilta on tulossa.","WEBSITE_FEATURES_BIG_SCREEN":"Nauti videosisällöstä suuremmalla näytöllä","WEBSITE_FEATURES_BIG_SCREEN_P1":"Heijasta mitä tahansa katsot toiselle laitteelle - olipa se sitten puhelin, tabletti tai TV - yhdellä napsautuksella.","WEBSITE_FEATURES_SOURCES":"Katso videoita monista eri lähteistä","WEBSITE_FEATURES_SOURCES_P":"Asenna virallisia ja yhteisölisäosia nauttiaksesi videoista, jotka ovat peräisin monilta eri tarjoajilta - kaikki yhdessä tyylikkäässä ja helppokäyttöisessä sovelluksessa.","WEBSITE_CREATE_AN_ADDON":"Luo lisäosa","WEBSITE_FEATURES_SYNC":"Synkronoi kirjastosi eri laitteiden välillä ja jatka toistoa","WEBSITE_FEATURES_SYNC_P1":"Kirjaudu tilillesi kaikilla laitteillasi ja nauti kirjastostasi, lisäosistasi, toistostasi ja kalenteristasi synkronoituna.","WEBSITE_FEATURES_EXTENDABLE":"Laajennettava videoluettelo lisäosilla","WEBSITE_FEATURES_EXTENDABLE_P1":"Stremio-lisäosakatalogi tarjoaa useita lisäosia, joita voit asentaa ja katsella erilaisia videosisältöjä. Tämä sisältää elokuvia, ohjelmia, suoraa TV-lähetystä, urheilua, uutisia, podcasteja, verkkokanavia, videopelejä ja paljon muuta.","WEBSITE_FEATURES_AUTO_SUBS":"Automaattiset tekstitykset","WEBSITE_FEATURES_AUTO_SUBS_P1":"Tekstityslisäosiemme avulla saat automaattisesti valitut vaihtoehdot haluamallasi kielellä.","WEBSITE_FEATURES_CHROMECAST":"Heijastus Chromecastiin","WEBSITE_FEATURES_CHROMECAST_P1":"Nauti videosisällöstä suuremmalla näytöllä tai heijasta mitä tahansa katsot toiselle laitteelle.","WEBSITE_FEATURES_KEEP_TRACK":"Pidä kirjaa suosikki-TV-ohjelmistasi ja verkkokanavistasi","WEBSITE_FEATURES_KEEP_TRACK_P1":"Saat kalenterinäkymän ja ilmoitukset suosikkisarjojesi ja verkkokanaviesi uusista jaksoista.","WEBSITE_FEATURES_POWER_USER":"Tehokäyttäjän ominaisuudet","WEBSITE_FEATURES_POWER_USER_P1":"Toista ulkoisessa soittimessa","WEBSITE_FEATURES_POWER_USER_P2":"Toista torrent-tiedostosta tai magnet-linkistä","WEBSITE_FEATURES_POWER_USER_P3":"Tuo kirjastoosi Facebook-tykkäyksistä tai paikalliselta levyltä","WEBSITE_ADD_ONS":"Lisäosat","WEBSITE_ADD_ONS_P1":"Kaikki Stremion tarjoama videosisältö hankitaan lisäosajärjestelmän kautta - sovellukseen ei ole rakennettu sisältöä tai sisällöntarjoajaa.","WEBSITE_ADD_ONS_P2":"Saatavilla on kaksi lisäosaryhmää: viralliset ja yhteisölisäosat.","WEBSITE_ADD_ONS_P3":"Viralliset ovat Stremion kehittämiä ja isännöimiä, kun taas yhteisölisäosat on luonut yhteisömme jäsenet, jotka myös isännöivät niitä.","WEBSITE_ADDONS_OFFICIAL":"Viralliset lisäosat","WEBSITE_ADDONS_WATCHUB":"Suoratoista suosikkielokuvasi, -sarjasi ja -ohjelmasi iTunesilta, Hululta, Amazonilta ja muilta brittiläisiltä/amerikkalaisilta palveluilta.","WEBSITE_ADDONS_YOUTUBE":"Katso suosikki-YouTube-kanaviasi mainoksettomasti ja saat ilmoituksia uusista lähetyksistä seuraamiltaan tekijöiltä.","WEBSITE_ADDONS_FILMON":"Katso ilmaiseksi suoraa TV-lähetystä, elokuvia, dokumentteja ja paljon muuta. 600 TV-kanavaa, 45 000 ilmaista elokuvaa ja paljon muuta.","WEBSITE_ADDONS_OPENSUBTITLES":"Elokuvien ja TV-ohjelmien tekstitykset useilla kielillä, tuhansia käännettyjä tekstityksiä ladattu päivittäin.","WEBSITE_ADDONS_COMMUNITY":"Yhteisölisäosat","WEBSITE_ADDONS_FILMON_VOD":"Katso videoita pyynnöstä Filmon.tv:stä","WEBSITE_ADDONS_TWICH":"Katso suoratoistoja Twitch.tv:stä - videostreaming-alustasta e-urheilualalle.","WEBSITE_ADDONS_VODO":"Katso indie-elokuvia täysin ilmaiseksi.","WEBSITE_ADDONS_NETFLIX":"Katso Netflix-elokuvia ja -sarjoja.","WEBSITE_ADDONS_CREATE":"Luo lisäosa","WEBSITE_ADDONS_CREATE_P1":"Jos haluat, voit kehittää oman lisäosan. Tällä tavalla voit antaa itsellesi ja yhteisöllemme pääsyn uuteen videosisältöön ja tavoittaa uuden, kohdennetun yleisön miljoonien käyttäjien ympäri maailmaa.","WEBSITE_ADDONS_START_CREATE":"Aloittaaksesi, käy Stremio Addon SDK -sivulla:","WEBSITE_DOWNLOADS":"Lataukset","WEBSITE_DOWNLOADS_P1":"Optimaalisen suorituskyvyn saavuttamiseksi suosittelemme käyttämään Stremio-sovelluksen uusinta saatavilla olevaa versiota. Jos kuitenkin jostain syystä haluat käyttää vanhempaa versiota, voit ladata sen täältä.","WEBSITE_DOWNLOADS_P1_SHORT":"Optimaalisen suorituskyvyn saavuttamiseksi suosittelemme käyttämään Stremio-sovelluksen uusinta saatavilla olevaa versiota.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio Windowsille","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio macOS:lle","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio Linuxille","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio Androidille","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio Android TV:lle","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio Android-mobiililaitteille","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio Steam Deckille","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio iOS:lle (rajoitettu versio)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Lataa Stremio-palvelu","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio-palvelu on kumppanisovellus Stremio Webille. Suosittelemme käyttämään Stremio-palvelun uusinta saatavilla olevaa versiota.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio-palvelu Windowsille","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio-palvelu macOS:lle","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio-palvelu Linuxille","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio-palvelu Dockerille","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"Lisää latausvaihtoehtoja","WEBSITE_DOWNLOAD_NEW":"Uusi!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"Julkaisimme Stremio Webin","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"Stremio-alusta on avoimen lähdekoodin ja voit helposti luoda lisäosan sisällölle, jota ei tällä hetkellä ole saatavilla.","WEBSITE_CONTRIBUTE_WHY":"Miksi sinun pitäisi luoda lisäosa?","WEBSITE_CONTRIBUTE_WHY_P1":"Tavoita uusi yleisö videosisällöllesi","WEBSITE_CONTRIBUTE_WHY_P2":"Stremion käyttäjämäärä kasvaa nopeasti - ensimmäisen vuoden aikana julkaisun jälkeen Stremio oli saanut 1 miljoonaa käyttäjää ympäri maailmaa, ja toisena vuonna alustan olemassaolon tämä luku kasvoi 2,5 miljoonaan.","WEBSITE_CONTRIBUTE_WHY_P3":"Lisäosallasi voit helposti tavoittaa tämän yleisön ja jakaa videosisältösi heille.","WEBSITE_CONTRIBUTE_ALL":"Katso suosikkielokuvasi, -videosi, -sarjasi ja -kanavasi yhdessä paikassa.","WEBSITE_CONTRIBUTE_ALL_P1":"Oletko jonkin tietyn sisällön fani, jota ei ole vielä saatavilla Stremiossa? Luo lisäosa sille ja nauti suosikki-videoistasi yhdessä markkinoiden suurimmista ja helpoimmin käytettävistä viihdekeskuksista.","WEBSITE_CONTRIBUTE_ALL_P2":"Lisäksi saat loputtoman kiitollisuuden muilta samanmielisiltä Stremio-yhteisön jäseniltä.","WEBSITE_CONTRIBUTE_MONETIZE":"Ansaitse rahaa lisäosallasi","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Kun kehität uuden lisäosan Stremiolle, voit helposti ansaita rahaa monella eri tavalla. Jos harkitset tätä, ota yhteyttä meihin osoitteessa ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - olemme iloisia voidessamme konsultoida ja neuvoa sinua lisäosan ansaitsemisvaihtoehdoista.","WEBSITE_CONTRIBUTE_TRANSLATE":"Tule vapaaehtoiseksi kääntäjäksi","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Jos haluat nauttia Stremio-sovelluksista eri kielillä, voit liittyä vapaaehtoisten kääntäjien yhteisöömme. He auttavat meitä lisäämään Stremion versioita monilla eri kielillä.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Haluatko aloittaa?","WEBSITE_TRANSALTE_STREMIO":"Käännä Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Viralliset yhteisöt","WEBSITE_COMMUNITY_OFFICIALS_P1":"Tule osaksi kasvavaa Stremio-yhteisöä. Seuraa meitä sosiaalisessa mediassa ja älä ole ujo sanoa hei - rakastamme kuulla faneiltamme! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Epäviralliset yhteisöt","STREMIO_COMMUNITY_NL":"Stremio Alankomaat","STREMIO_COMMUNITY_BRASIL":"Stremio Brasilia","STREMIO_COMMUNITY_GERMANY":"Stremio Saksa","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgia","STREMIO_COMMUNITY_FRANCE":"Stremio Ranska","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugali","STREMIO_COMMUNITY_ITALY":"Stremio Italia","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Meksiko","STREMIO_COMMUNITY_ADDONS":"Stremio-lisäosat","STREMIO_COMMUNITY_AWESOME":"Mahtava Stremio","WEBSITE_COMMUNITY_PARTNERS":"Kumppanit ja tukijat","WEBSITE_COMMUNITY_GOODIES":"Stremio-hyödykkeet","WEBSITE_COMMUNITY_WALLPAPERS":"Taustakuvat","WEBSITE_COMMUNITY_ART":"Yhteisön taidegalleria","WEBSITE_LINK_ART":"Yhteisön taidegalleria","WEBSITE_CONTACT_US":"Ota yhteyttä","WEBSITE_CONTACT_US_P1":"Jos sinulla on kysyttävää, kommentteja tai ehdotuksia, ota meihin yhteyttä alla olevan yhteydenottolomakkeen kautta.","WEBSITE_CONTACT_US_P2":"Pidä mielessä, että sijaitsemme Bulgariassa, joten kyselyysi vastaaminen voi kestää aikavyöhyke-erojen vuoksi.","WEBSITE_CONTACT_US_SUCCESS":"Viestisi on lähetetty. Otamme sinuun yhteyttä mahdollisimman pian.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Syötä kelvollinen sähköpostiosoite!","WEBSITE_CONTACT_US_Q_RELATED_TO":"Mihin kysymyksesi liittyy?","WEBSITE_CONTACT_US_Q_OS":"Mikä on käyttöjärjestelmäsi?","WEBSITE_CONTACT_US_PH_EMAIL":"Sähköpostiosoitteesi","WEBSITE_CONTACT_US_PH_MESSAGE":"Viesti","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"LÄHETÄ","WEBSITE_CONTACT_US_Q_1":"Miten asennetaan?","WEBSITE_CONTACT_US_Q_2":"Miten poistetaan?","WEBSITE_CONTACT_US_Q_3":"(HTML) Miten tehdään lasagnea?","WEBSITE_CONTACT_US_Q_4":"Lisäosat","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Teknologia","WEBSITE_TECHNOLOGY_P1":"Rakastamme teknologiaa ja hullua tiedettä. </br> Tässä on mitä Stremio käyttää (kaikki on avoimen lähdekoodin).","WEBSITE_TECHNOLOGY_P_QT":"Ristiin alustan ohjelmistokehitys parhaimmillaan.","WEBSITE_TECHNOLOGY_P_MPV":"Ilmainen, avoimen lähdekoodin ja ristiin alustan mediasoitin.","WEBSITE_TECHNOLOGY_P_RN":"React Native mahdollistaa mobiilisovellusten rakentamisen vain JavaScriptillä.","WEBSITE_TECHNOLOGY_P_VLC":"Mediakehys, joka on upotettu sovellukseen multimediaa varten.","WEBSITE_TECHNOLOGY_P_REALM":"Realm on mobiilialusta ja korvaa SQLite:n ja Core Datan.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js on avoimen lähdekoodin, ristiin alustan JavaScript-suoritusympäristö.","WEBSITE_TECHNOLOGY_P_RUST":"Rust on moniparadigmainen järjestelmäohjelmointikieli, joka keskittyy turvallisuuteen, erityisesti turvalliseen samanaikaisuuteen.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Osallistu projektiin","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Voit osallistua Stremioon kahdella tavalla ja auttaa meitä tekemään tuotteesta vielä paremman.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Voit lahjoittaa arvokkaat kielitaitosi kääntämällä alustan...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"tai","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... voit käyttää koodaustaitojasi yhteisön lisäosien luomiseen.","WEBSITE_TRANSLATE_STREMIO":"Käännä Stremio","WEBSITE_404_OH_NO":"Voi ei! Etsimääsi sivua ei löydy...","WEBSITE_GO_HOME":"Mene kotiin","WEBSITE_LINK_OTHER_DOWNLOADS":"Muut lataukset","WEBSITE_FAQ_ABR":"UKK","WEBSITE_SUPPORT":"Tuki","WEBSITE_DOWNLOAD_4_0_BETA":"Lataa Stremio 4 beta nyt","WEBSITE_GET_FOR_DESKTOP":"Hanki työpöydälle","WEBSITE_LINK_ADDON_COMPETITION":"Lisäosakilpailu","WEBSITE_LINK_ART_CONTEST":"Taidekilpailu","WEBSITE_MY_ACCOUNT":"Oma tili","WEBSITE_MAINPAGE_FAQ_001_H1":"Mikä on Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio on moderni mediasoitin, joka antaa sinulle vapauden katsoa kaikkea mitä haluat.","WEBSITE_MAINPAGE_FAQ_002_H1":"Miten se toimii?","WEBSITE_MAINPAGE_FAQ_002_P1":"Kun olet asentanut Stremion laitteellesi ja luonut tilin, sinun tarvitsee vain käydä lisäosakatalogissa ja asentaa haluamasi lisäosa, ja olet valmis!","WEBSITE_MAINPAGE_FAQ_002_P2":"Sen jälkeen voit siirtyä Löydä tai Board -osioihin aloittaaksesi sisällön tutkimisen.","WEBSITE_MAINPAGE_FAQ_003_H1":"Mitä voin katsoa täällä?","WEBSITE_MAINPAGE_FAQ_003_P1":"Paljon: elokuvia, TV-ohjelmia, verkkokanavia, urheilua, TV-kanavia, podcasteja ja paljon muuta. Lisäosajärjestelmämme ansiosta voit käyttää monipuolista sisältöä.","WEBSITE_MAINPAGE_FAQ_004_H1":"Onko Stremio avoimen lähdekoodin ohjelmisto?","WEBSITE_MAINPAGE_FAQ_004_P1":"Kyllä, voit tarkistaa seuraavat linkit: ${1}työpöytäsovellus${2} ja ${3}GitHub-organisaatio${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Onko Stremio turvallinen?","WEBSITE_MAINPAGE_FAQ_005_P1":"Kyllä: koska se on avoimen lähdekoodin ohjelmisto, koodi on julkisesti tarkastettavissa ja voit tarkistaa sen itse.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremion lisäosajärjestelmä on myös luotu käyttäjän turvallisuus mielessä. Lisäosat eivät suorita mitään koodia paikallisesti, joten ne eivät aiheuta riskejä laitteellesi.","WEBSITE_MAINPAGE_FAQ_006_H1":"Entä yksityisyyteni?","WEBSITE_MAINPAGE_FAQ_006_P1":"Kunnioitamme käyttäjien yksityisyyttä emmekä kerää mitään henkilökohtaisia tietoja paitsi välttämättömimmät tiedot tilin luomiseen ja synkronointiin.","WEBSITE_MAINPAGE_FAQ_006_P2":"On myös ${1}Vieras-tila${2} rekisteröitymisen yhteydessä, joka ei vaadi mitään tietoja: tässä tilassa ei tehdä mitään kutsuja taustajärjestelmäämme. Se tulee kuitenkin kustannuksella hyödyllisiä ominaisuuksia, kuten kirjaston synkronointia laitteiden välillä.","WEBSITE_MAINPAGE_FAQ_007_H1":"Voinko heijastaa TV:hen?","WEBSITE_MAINPAGE_FAQ_007_P1":"Kyllä, tuemme Chromecastia ja voit heijastaa sekä työpöytä- että mobiilisovelluksista (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"Kuinka monta lisäosaa Stremiolla on?","WEBSITE_MAINPAGE_FAQ_008_P1":"Vuoden 2019 lopulla yli 50 - lisätietoja löytyy lisäosakatalogistamme.","WEBSITE_MAINPAGE_FAQ_009_H1":"Voiko Stremiota laajentaa lisäosakatalogin ulkopuolelle?","WEBSITE_MAINPAGE_FAQ_009_P1":"Kyllä, sinun pitäisi tarkistaa nämä: ${1}PimpMyStremio${2}, ${3}Reddit-yhteisöt${4}, ${5}Stremio Downloader${6}, jne.","WEBSITE_MAINPAGE_FAQ_010_H1":"Mitä laitteita Stremio tukee?","WEBSITE_MAINPAGE_FAQ_010_P1":"Meillä on työpöytäsovelluksia Windowsille, Macille ja Linuxille. Mobiililaitteille tuemme Androidia ja iOS:ia, vaikka iOS onkin rajoitettu toiminnallisuudessaan (ei tue suurinta osaa lisäosista).","WEBSITE_MAINPAGE_FAQ_010_P2":"On monia Android-pohjaisia laitteita, joilla voit käyttää Stremiota, kuten NVIDIA Shield ja Amazon Fire Stick, mutta emme tue niitä virallisesti.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"Meillä on työpöytäsovelluksia Windowsille, Macille ja Linuxille. Meillä on myös omistetut sovellukset Android Mobilelle ja Android TV:lle. iOS:lle ja iPadOS:lle suosittelemme käyttämään Stremio Webiä, vaikka se onkin rajoitetumpi toiminnallisuudessaan.","WEBSITE_MAINPAGE_FAQ_011_H1":"Voitko lisätä tiettyä sisältöä Stremioon?","WEBSITE_MAINPAGE_FAQ_011_P1":"Pahoittelut, emme tarjoa sisältöä itse, mutta mitä enemmän Stremio-lisäosia sinulla on asennettuna, sitä enemmän sisältöä löydät.","WEBSITE_MAINPAGE_FAQ_012_H1":"Voiko Stremio toistaa magnet-linkkejä?","WEBSITE_MAINPAGE_FAQ_012_P1":"Kyllä, ja se voi myös toistaa normaaleja HTTP-linkkejä ja torrent-tiedostoja (vedä ja pudota).","WEBSITE_MAINPAGE_FAQ_013_H1":"Voinko ladata videon ja katsoa sitä offline-tilassa?","WEBSITE_MAINPAGE_FAQ_013_P1":"Offline-tila on tulossa, mutta jos sallit Stremion välimuistin laitteellasi (asetuspaneelista), voit katsoa videoita myöhemmin ilman yhteyttä.","WEBSITE_MAINPAGE_FAQ_014_H1":"Mikään ei toimi, auta minua!","WEBSITE_MAINPAGE_FAQ_014_P1":"Oletko varma, että olet asentanut lisäosia? Jos kyllä, tarkista ${1}apukeskuksestamme${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"Kuinka Stremio ylläpitää kehitystoimintaansa?","WEBSITE_MAINPAGE_FAQ_015_P1":"Ajastamme ei-häiritseviä mainoksia satunnaisesti, mutta harkitsemme siirtymistä lahjoitusmalliin.","WEBSITE_MAINPAGE_FAQ_015_P2":"Lisää kysymyksiä varten siirry ${1}apukeskukseemme${2}.","HELP_LEARN_MORE":"Auttakaa meitä oppimaan lisää sinusta.","LIFESTYLE":"Elämäntyyli","SPORTS":"Urheilu","FOOD_HEALTH":"Ruoka ja terveys","BEAUTY_FASHION":"Kauneus ja muoti","NEWS":"Uutiset","GAMING":"Pelaaminen","SCIENCE_EDUCATION":"Tiede ja koulutus","MUSIC":"Musiikki","TRAVEL":"Matkailu","LATE_NIGHT":"Myöhäinen yö","REALITY":"Todellisuus","COMEDY":"Komedia","DIY":"Kuinka tehdä itse","TECH":"Tekniikka","CINEMA":"Elokuvat","CONTINUE":"Jatka","SLOW_LOADING":"HIDAS LATAUS?","I_GIVE_UP":"LUOVUTAN","LEARN_MORE":"Lue lisää","POOR_SOURCE":"Tämä lähde on huonosti saatavilla tai internet-yhteytesi ei ole tarpeeksi nopea","PICK_CATEGORIES_ERR":"Sinun on valittava vähintään 3 luokkaa","ADJUST_TIMING":"Säädä ajoitusta ","ADJUST_SIZE":"Säädä kokoa ","SEARCH_ANYTHING":"Voit etsiä mitä tahansa...","ALL_CATEGORIES":"Kaikki","SEARCH_CATEGORIES":"Elokuvat, sarjat, YouTube ja TV","SEARCH_PERSONS":"Näyttelijät, ohjaajat ja kirjoittajat","SEARCH_PROTOCOLS":"HTTP- ja magnet-linkit","SEARCH_TYPES":"IMDB / TVDB -linkit","WATCHED":"Katsottu","SHOW_LESS":"Näytä vähemmän","LAST_SEARCHES":"Viimeiset haut","CLEAR_HISTORY":"Tyhjennä historia","CHOOSE_SOME":"VALITSE JOITAIN TÄSTÄ:","NO_WEB_REMOTE":"Web Remote ei voitu ladata","STREMIO_OFFLINE":"Stremio on offline-tilassa","STREMIO_EXPENSIVE_CONNECTION":"Havaitsemme, että käytät matkapuhelinverkkoyhteyttä. Haluatko jatkaa?","USE_DATA":"Käytä dataa","WARNING":"Varoitus","MORE_INFO":"Lisätietoja ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Ladataan...","STREMIO_TV_BACK_TO_LANGUAGES":"Takaisin kielivalintoihin","STREMIO_TV_REMOTE":"Kaukosäädin","STREMIO_TV_GO_TO":"Siirry kohteeseen:","STREMIO_TV_OR_SCAN":"tai skannaa:","STREMIO_TV_ADDON_INSTRUCTIONS":"Seuraa ohjeita asentaaksesi haluamasi lisäosat.","STREMIO_TV_LIVE_TV":"Live TV","STREMIO_TV_RESUME_WATCHING":"Jatka katselua","STREMIO_TV_LOADING_BACKGROUND":"Ladataan taustaa","STREMIO_TV_CHECKING_AUTHENTICATION":"Tarkistetaan todennus","STREMIO_TV_LOADING_BOARD":"Ladataan hallintapaneelia","STREMIO_TV_LOGIN_HEADER_LINE_1":"Haluamme käyttäjiemme saavan parhaan mahdollisen henkilökohtaisen kokemuksen ohjelmistostamme.","STREMIO_TV_LOGIN_HEADER_LINE_2":"Siksi pyydämme ystävällisesti sinua tekemään tilin ja/tai kirjautumaan sisään.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Kiitos ymmärryksestäsi,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Stremio-tiimi","STREMIO_TV_REMOTE_INSTRUCTIONS":"Jotta voit käyttää Web Remotea älypuhelimellasi / tabletillasi / työpöydälläsi:","STREMIO_TV_WIFI_SETUP":"Wi-Fi-asetukset","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle ei havainnut internet-yhteyttä.","STREMIO_TV_WIFI_DETAILS_1":"Yhdistä:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Käytä salasanaa:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Avaa verkkoselain linkillä:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Oletus","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"Viimeksi katsotun mukaan","STREMIO_TV_LIBRARY_SORT_NAME":"Nimen mukaan","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"Katselukertojen mukaan","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Kausi ${1}","STREMIO_TV_STREAMS_LOADING":"Ladattu ${1} / ${2} lisäosaa...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} lisäosa latautuu edelleen...","STREMIO_TV_PLAYER_SETTINGS":"Soittimen asetukset","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Tekstitysten viive","STREMIO_TV_PLAYER_AUDIO_DELAY":"Äänen viive","STREMIO_TV_PLAYER_VIDEO_SCALING":"Videon skaalaus","STREMIO_TV_PLAYER_CHAPTERS":"Luvut","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Ohita ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Tämä lähteen lähetykset eivät ole tuettuja","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Epäonnistui avattaessa ulkoista linkkiä","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Ei säädettävissä äänen läpivientitilassa","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Toista ExoPlayerilla","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Toista libVLC-soittimella","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Siirrytään libVLC-soittimeen toistovirheen vuoksi","STREMIO_TV_ADDONS_TITLE":"Käytä Stremioa puhelimellasi tai tietokoneellasi asentaaksesi tai määrittääksesi lisäosia ja paina \\"Synkronoi lisäosat\\"","STREMIO_TV_ADDONS_SUBTITLE":"Huomaa: varmista, että käytät samaa Stremio-tiliä","STREMIO_TV_ADDONS_SYNC_ADDONS":"Synkronoi lisäosat","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Lisäosat synkronoitu onnistuneesti","STREMIO_TV_ADDONS_SYNC_FAILED":"Lisäosien synkronointi epäonnistui","STREMIO_TV_META_LINK_FAILED":"Epäonnistui avattaessa meta-linkkiä","STREMIO_TV_CATALOG_LOADING":"Luetteloa ladataan edelleen...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Käyttöliittymän kieli päivitetty","STREMIO_TV_SETTINGS_THEME_UPDATED":"Teema päivitetty","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Oletussoitin","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Ulkoiset soittimet","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Ensisijainen kieli","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Toissijainen kieli","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunneloitu toisto","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Mahdollisia toistovirheitä joillakin laitteilla","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Jotkin videomuodot eivät ehkä toimi","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Kuvataajuuden vastaavuus","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Poistettu käytöstä","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Vain kuvataajuus","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Kuvataajuus ja resoluutio","STREMIO_TV_SETTINGS_NO_CACHING":"Ei välimuistia","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Oletus","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Pehmeä","STREMIO_TV_SETTINGS_PROFILE_FAST":"Nopea","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Erittäin nopea","STREMIO_TV_SETTINGS_SERVER_URL":"Suoratoistopalvelimen URL-osoite","STREMIO_TV_SETTINGS_SERVER_VERSION":"Palvelimen versio","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Tuntematon","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio-versio","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Muokkaa palvelimen URL-osoitetta","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Syötä suoratoistopalvelimen URL-osoite","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Näytä tilastot latauksen aikana","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"Stremion tietosuojakäytännön lukemiseksi käy osoitteessa:","STREMIO_TV_SETTINGS_TOS_TEXT":"Stremion käyttöehtojen lukemiseksi käy osoitteessa:","STREMIO_TV_NAV_SEARCH":"Haku","STREMIO_TV_NAV_HOME":"Koti","STREMIO_TV_NAV_DISCOVER":"Löydä","STREMIO_TV_NAV_LIBRARY":"Kirjasto","STREMIO_TV_NAV_MOVIES":"Elokuvat","STREMIO_TV_NAV_SERIES":"Sarjat","STREMIO_TV_NAV_CHANNELS":"Kanavat","STREMIO_TV_NAV_TV":"Live TV","STREMIO_TV_NAV_SETTINGS":"Asetukset","STREMIO_TV_NAV_ADDONS":"Lisäosat","STREMIO_TV_LOGIN_TITLE":"Linkitä tili","STREMIO_TV_LOGIN_EXPIRES_IN":"Vanhenee","STREMIO_TV_LOGIN_STEP_ONE":"Skannaa yllä oleva QR-koodi tai siirry osoitteeseen","STREMIO_TV_LOGIN_STEP_TWO":"Kirjaudu sisään Stremio-tilillesi","STREMIO_TV_LOGIN_NEW_LINK":"Pyydä uutta linkkiä","STREMIO_TV_LOGIN_LINK_REFRESHED":"Kirjautumiskoodi päivitetty","STREMIO_TV_SEARCH_PLACEHOLDER":"Kirjoita jotain","STREMIO_TV_SEARCH_NO_ADDONS":"Ei lisäosia pyydetty katalogeille!","STREMIO_TV_SEARCH_BUTTON":"Hae","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Väli","STREMIO_TV_SEARCH_KEY_CLEAR":"Tyhjennä","STREMIO_TV_SEARCH_HISTORY_TITLE":"Hakuhistoria","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Voit hakea otsikoita, näyttelijöitä, kanavia ja paljon muuta...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Tyhjennä hakuhistoria","STREMIO_TV_FILTERS_DESCRIPTION":"Valitse yksi alla olevista suodattimista","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Suoratoistopalvelin ei ole käytössä. Tarkista palvelimen asetukset.","FILTERS":"Suodattimet","SETTINGS":"Asetukset","ACCOUNT":"Tili","LOGOUT":"Kirjaudu ulos","THEMES":"Teemat","PLAYBACK":"Toisto","PLAYBACK_SPEED":"Toistonopeus","AUDIO_TRACKS":"Ääniraidat","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Videot","SERVER":"Palvelin","LINKS":"Linkit","ABOUT":"Tietoja","INTERFACE":"Käyttöliittymä","ANIMATIONS":"Animaatiot","STATUS":"Tila","LANGUAGE":"Kieli","SIZE":"Koko","DELAY":"Viive","BOLD":"Lihavointi","OPACITY":"Opacity","TEXT_COLOR":"Tekstin väri","OUTLINE_COLOR":"Ääriviivan väri","BACKGROUND_COLOR":"Taustan väri","BACKGROUND_BLUR":"Taustan sumennus","SEEK_TIME_DURATION":"Etsi aikaa kesto","AUTO_PLAY":"Toista seuraava jakso automaattisesti","PLAY_NOW":"Toista nyt","MARK_AS_WATCHED":"Merkitse katsotuksi","MARK_AS_UNWATCHED":"Merkitse katsomattomaksi","REWIND_TO_BEGINNING":"Kelaa alkuun","CONTINUE_WATCHING":"Jatka katselua","ALL":"Kaikki","SECONDS":"sekuntia","ON":"PÄÄLLÄ","OFF":"POIS PÄÄLTÄ","RELOAD":"Lataa uudelleen","EDIT_URL":"Muokkaa URL-osoitetta","NONE":"Ei mitään","EMBEDDED":"Upotettu","REMOTE_SWITCH_DEVICES":"Vaihda laitetta","REMOTE_VIDEOS":"Videot","REMOTE_ADJUST_TIMING":"Säädä ajoitusta","REMOTE_ADJUST_SIZE":"Säädä kokoa","REMOTE_COULD_NOT_BE_LOADED":"Verkkokaukosäädin ei voitu ladata","REMOTE_RETRY":"Yritä uudelleen","TORRENT_PROFILE_DEFAULT":"Oletus","TORRENT_PROFILE_SOFT":"Hidas","TORRENT_PROFILE_FAST":"Nopea","TORRENT_PROFILE_ULTRA_FAST":"Erittäin nopea","FAQ_001_H1":"Mikä on Stremio?","FAQ_001_P1":"Stremio on mediasoitinohjelmisto, joka on suunniteltu videoviihdettä ajatellen. Stremio mahdollistaa oman elokuva-, sarja-, kanava- ja suoratoistokokoelman järjestämisen ja katsomisen.","FAQ_001_P2":"Stremio kerää näyttämänsä sisällön paikalliselta levyltäsi ja lisäosajärjestelmästämme.","FAQ_001_P3":"Se myös ilmoittaa sinulle, kun uusia jaksoja/videoita/elokuvia, joista olet kiinnostunut, tulee ulos, ja antaa sinulle elokuvasuosituksia.","FAQ_02_H1":"Miten Stremio vertautuu Kodiin ja Plexiin?","FAQ_02_P1":"Olemme saaneet inspiraatiota näistä kahdesta ohjelmistosta. Mutta meillä on erilaiset tavoitteet - Stremio on suunnattu erityisesti viihdevideoille ja pyrkii olemaan pääasiallinen ratkaisu tähän tarjoamalla erittäin helppokäyttöisen käyttöliittymän.","FAQ_02_P2":"Stremio ei koskaan tule olemaan yhtä muokattava ja ominaisuuksiltaan rikas kuin Kodi ja Plex, mutta se on merkittävästi helpompi käyttää. ${1} Hanki se ja katso ${2} :)","FAQ_03_H1":"Miten Stremio vertautuu Netflixiin?","FAQ_03_P1":"Netflix on jälleen yksi inspiraatioistamme. Pyrimme saavuttamaan Netflixin käyttökokemuksen, plus paljon lisäominaisuuksia. Mutta ennen kaikkea annamme sinulle vapauden hallita omaa kirjastoasi ja lisätä uusia sisältölähteitä lisäosajärjestelmämme avulla.","FAQ_03_P2":"Tämä tekee Stremiosta äärettömän laajennettavan, joten kun käytät Stremiota, et ole koskaan rajoitettu Netflixin lisensioimaan sisältöön. Esimerkiksi Stremion kautta voit katsoa sisältöä ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} ja jopa ${9}Netflix${10} itsestään!","FAQ_04_H1":"Miten Stremio vertautuu Flipboardiin?","FAQ_04_P1":"Emme saa sitä kysymystä kovin usein, paitsi kun puhumme aloittaville ihmisille :)","FAQ_04_P2":"Stremio on suunniteltu sisällön kerääjäksi, mikä tekee siitä käytännössä Flipboardin videolle. Tämä on erittäin ilmeistä Board-osiossamme, joka antaa sinulle katalogeja ja uusien jaksojen/uusien videoiden ilmoituksia siitä, mitä seuraat, aivan kuten Flipboard.","FAQ_05_H1":"Miten Stremio vertautuu Popcorn Timeen?","FAQ_05_P1":"Stremio ja Popcorn Time ovat samanlaisia käyttöliittymän suhteen, koska videoviihdekatalogeja ei ole monia tapoja tehdä oikein :)","FAQ_05_P2":"Mutta kun Popcorn Time keskittyy tiettyjen lähteiden torrentien suoratoistoon, Stremio on rajoittamaton ja on vain sisällön kerääjä - se ei ole lukittautunut tiettyyn sisältölähteeseen.","FAQ_05_P3":"Lisäksi emme tarjoa mitään torrent-lisäosia oletusarvoisesti, joten Stremio ei kata Popcorn Time -käyttötapaa virallisella toiminnallisuudella.","FAQ_05_P4":"Toinen huomattava ero on, että Popcorn Time on täysin avoimen lähdekoodin ohjelmisto, kun taas Stremio on ${1} osittain avoimen lähdekoodin${2}.","FAQ_06_H1":"Lisäättekö tämän elokuvan/sarjan?","FAQ_06_P1":"Ei, pahoittelut :(","FAQ_06_P2":"Kuten useimmissa muissa kysymyksissä mainitaan, Stremio ei tarjoa sisältöä itse - kaikki lisätään lisäosajärjestelmän kautta. Jos sinulla on sisältöpyyntö, voit käyttää “Report” -painiketta Soittimessa, joka lähettää sähköpostin käyttämäsi lisäosan tekijälle.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Luotteko lisäosan X:lle?","FAQ_08_P1":"Se on täysin mahdollista.","FAQ_08_P2":"Jos sinulla on idea lisäosalle, lähetä meille viesti osoitteeseen ${1}office@stremio.com${2}, mutta varmista, että lisäosa-ideasi ei loukkaa tekijänoikeuksia tai käyttöehtoja.","FAQ_08_P3":"Tällä hetkellä seuraavat asiat ovat tienhaarassamme: lisäosat FandangoNOW:lle, Filmon.tv videon tilaukselle ja Crunchyroll:lle.","FAQ_09_H1":"Käyttääkö Stremio BitTorrentia?","FAQ_09_P1":"Kyllä, Stremio tukee BitTorrentia suoratoistoprotokollana. Voit käyttää sitä joko torrent-lisäosan kanssa, raahaamalla ja pudottamalla .torrent-tiedoston Stremioon tai liittämällä magneettilinkin Haku-palkkiin.","FAQ_09_P2":"Huomaa, että ainoa virallinen BitTorrentia käyttävä lisäosa on ${1}Vodo${2}, joka tarjoaa indie-sisältöä, joka on kaikki sallittu jaettavaksi BitTorrentin kanssa.","FAQ_09_P3":"Emme tue kolmannen osapuolen lisäosien käyttöä, jotka saattavat mahdollistaa tekijänoikeusrikkomuksen.","FAQ_10_H1":"Mitä voin katsoa Stremiossa virallisilla lisäosilla?","FAQ_10_P1":"Oletusarvoisesti voit katsoa Filmon.tv:n, YouTuben ja Vodon sisältöä Stremiossa sen upotetulla soittimella. Lisäksi meillä on lisäosa Twitch.tv:lle ja muutamille muille.","FAQ_10_P2":"Tämä yhdistettynä tarjoaa valikoiman:","FAQ_10_L1":"Suosittuja TV-kanavia, jotka tarjoaa Filmon.tv - esimerkiksi E4, BBC, Bollyworld TV","FAQ_10_L2":"Kaikki YouTubesta - esimerkiksi BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indie-elokuvia Vodolla","FAQ_10_L4":"Online-pelilähetyksiä Twitch.tv:ltä","FAQ_10_P3":"Lisäksi on monia sisältölähteitä, jotka on tarjottu Guideboxin ja Netflix-lisäosien kanssa, jotka <b>eivät</b> soita kokonaan Stremiossa, vaan ohjaisivat annettuun palveluun. Esimerkiksi Guidebox-lisäosa antaisi sinulle valikoiman elokuvia, joita voit suoratoistaa Yhdysvalloissa ilmaiseksi palveluista, kuten TubiTV ja Crackle.","FAQ_11_H1":"Stremio ei asennu, mitä minun pitäisi tehdä?","FAQ_11_P1":"Jos käytät Windowsia, kokeile ${1}tätä vaihtoehtoista asennusohjelmaa${2}.","FAQ_11_P2":"Jos käytät Mac OS X:ää, huomaa, että emme tue mitään vanhempaa kuin OS X Mavericks (10.9).","FAQ_11_P3":"Jos käytät Linuxia, huomaa, että tuemme tällä hetkellä vain 64-bittistä (x64) Linuxia.","FAQ_11_P4":"Jos et vieläkään pysty ratkaisemaan ongelmaasi, kirjoita meille ${1}Facebook-ryhmässämme${2}.","FAQ_12_H1":"Miksi anti-virusohjelmani valittaa? Onko Stremio turvallinen?","FAQ_12_P1":"Vakuutamme sinulle, että Stremio on ${1}100% puhdas${2}.","FAQ_12_P2":"Anti-virusohjelmasi valittaa, koska sisällytämme mainoksia asennusohjelmaamme, jonka jotkut anti-virusohjelmat tunnistavat mainosohjelmaksi.","FAQ_12_P3":"Jos olet edelleen epävarma, voit kokeilla ${1}vaihtoehtoista asennusohjelmaamme${2}.","FAQ_13_H1":"Kuinka voin tehdä lisäosan?","FAQ_13_P1":"Aluksi suosittelemme tarkistamaan ${1}lisäosajärjestelmän moduulin${2} GitHubista.","FAQ_13_P2":"Sen jälkeen voit seurata ${1}Hello World -opetusohjelmaa${2}.","FAQ_13_P3":"Jos sinulla ei ole ohjelmointitaitoja, julkaise idea Reddit-yhteisössä ja ota yhteyttä meihin lisäosa-ideallasi osoitteessa ${1}office@stremio.com${2}.","FAQ_14_H1":"Kuinka lisäosat julkaistaan?","FAQ_14_P1":"Kun luot lisäosan ja isännöit sen, ja laitat <b>endpoint</b>-kentän manifestiisi, joka osoittaa toimivan lisäosan osoitteen, lisäosa julkaisee itsensä automaattisesti ${1}lisäosakatalogiimme${2}.","FAQ_14_P2":"Tämä tapahtuu, koska stremio-addons-moduulin palvelinosa tekee automaattisesti kutsun API:lle ilmoittaakseen lisäosasta. Kun API validoi <b>endpoint</b>-osoitteesi kelvolliseksi lisäosaksi, se alkaa näkyä katalogissa.","FAQ_15_H1":"Voinko käyttää Stremiota selaimessani?","FAQ_15_P1":"Ei tällä hetkellä, mutta tämä on tulossa!","FAQ_15_P2":"Jos olet utelias näkemään Alphan, voit nähdä sen täällä: ${1}alpha4.strem.io${2}. Huomaa, että suoratoisto on poistettu käytöstä tässä alfa-versiossa. Tuemme Chromea, Firefoxia, Operaa ja Edgeä.","FAQ_16_H1":"Heijastaminen TV:lle ei toimi / tekstitykset eivät toimi","FAQ_16_P1":"TV:lle heijastaminen käyttää DLNA-teknologiaa, joka on erittäin epäjohdonmukainen eri TV-merkkien ja -mallien välillä. Tämän vuoksi meillä ei ole mahdollisuutta testata sitä jokaisessa tapauksessa, joten se on kaukana täydellisestä. Siitä huolimatta työskentelemme sen parantamiseksi jatkuvasti, mutta emme voi antaa aikatauluarviota siitä, milloin DLNA alkaa toimia kunnolla TV:si kanssa.","FAQ_16_P2":"Jos et näe TV:täsi heijastusvalikossa, yritä poistaa verkkoyhteys käytöstä ja ottaa se uudelleen käyttöön (Windowsissa napsauta hiiren kakkospainikkeella Verkkoa ja käytä Käytä/Poista käytöstä), samoin kuin käynnistämällä reititin, TV ja tietokone uudelleen.","FAQ_16_P3":"Jos kohtaat edelleen ongelmia, voit auttaa meitä lähettämällä TV:si merkki- ja mallitiedot osoitteeseen ${1}office@stremio.com${2}.","FAQ_16_P4":"Sillä välin suosittelemme Chromecastia, jota tuemme erittäin hyvin, tai yksinkertaisesti liittämällä TV:si tietokoneeseesi HDMI-kaapelilla.","FAQ_17_H1":"Stremio jäätyy ja/tai kaatuu, mitä voin tehdä?","FAQ_17_P1":"Ensinnäkin, jos käytät Windows 7:ää AVG-antivirusohjelman kanssa: meillä on ongelma tämän yhdistelmän kanssa. Ongelma on AVG:ssä, eikä sitä ole järkevää ratkaista meidän puoleltamme. Valitettavasti poikkeukset tai anti-virusohjelman poistaminen käytöstä eivät toimi. Ainoa ratkaisu on korvata AVG jollain muulla.","FAQ_17_P2":"Jos tämä ei ole ongelma, mutta käytät edelleen Windowsia, päivitä uusimpaan palvelupakettiin ja päivitä/uudelleenasenna GPU-ohjaimet, ja yritä sitten uudelleen.","FAQ_17_P3":"Jos ongelmasi ei ole vielä ratkaistu tai käytät Macia tai Linuxia, kirjoita meille raportoiden ongelman tarkat tiedot ${1}Facebook-ryhmässämme${2}.","FAQ_18_H1":"Kuinka voin tehdä lisäosan?","FAQ_18_P1":"Aluksi suosittelemme tarkistamaan ${1}lisäosajärjestelmän moduulin${2} GitHubista.","FAQ_18_P2":"Sen jälkeen voit seurata ${1}Hello World -opetusohjelmaa${2}.","FAQ_18_P3":"Jos sinulla ei ole ohjelmointitaitoja, julkaise idea Reddit-yhteisössä ja ota yhteyttä meihin lisäosa-ideallasi osoitteessa ${1}office@stremio.com${2}.","FAQ_19_H1":"Miksi Stremio vie levytilaa?","FAQ_19_P1":"Stremiolla on <b>paikallinen välimuisti</b> videoiden tilapäiseen säilyttämiseen, joita suoratoistat.","FAQ_19_P2":"Tämä on kaksi etua: ensinnäkin se mahdollistaa Stremion esipuskuroinnin videon edessä, jotta varmistetaan sujuvampi suoratoisto. Toiseksi se pitää videot paikallisessa välimuistissa, jotta voit jatkaa niiden katselua offline-tilassa.","FAQ_19_P3":"Kuinka paljon Stremio pitää riippuu <b>välimuisti</b>-asetuksesta Asetukset-paneelissa. Stremio voi pitää jopa asetetun määrän (esim. 2 Gt) levyltäsi, ellei tällä hetkellä suoratoistettava video ole suurempi kuin se, jolloin sen on varattava tarpeeksi tallennustilaa, jotta voit suoratoistaa sen.","FAQ_20_H1":"Missä välimuistikansio on?","FAQ_20_P1":"Windowsissa se on stremio-cache asemassa, jonka valitsit Asetuksissa (esim. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"MacOS:ssa se on \\"~/Kirjasto/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"Linuxissa se on \\"~/.stremio/stremio-cache\\" tai \\"~/stremio-cache\\"","FAQ_21_H1":"Saan \\"Suoratoistopalvelinta ei löydy\\" -virheen, mitä voin tehdä?","FAQ_21_P1":"Jos saat tämän virheen, se tarkoittaa yhtä muutamaa asiaa:","FAQ_21_P2":"1) Yrität käyttää YouTube/BitTorrent-lähteellä varustettua lisäosaa, web-versiomme kautta. Tässä tapauksessa sinun pitäisi asentaa pöytäversiomme ${1}verkkosivustoltamme${2}.","FAQ_21_P3":"2) Jotain on vialla Stremio-asennuksessasi. Tässä tapauksessa kokeile uudelleenasentaa uusin pöytäversiomme ${1}verkkosivustoltamme${2}. Jos tämä ei auta, kokeile poistaa käytöstä anti-virusohjelmat ja palomuurit, käynnistä tietokone uudelleen ja yritä uudelleen. Jos tämäkään ei toimi, kirjoita meille Facebook-ryhmässämme.","FAQ_22_H1":"En voi nähdä/käyttää useimpia lisäosia iOS:lla","FAQ_22_P1":"Apple App Storen ehtojen rajoitusten vuoksi olemme rajoittaneet iOS-sovelluksen vain tiettyyn joukkoon lisäosia.","FAQ_22_P2":"Mutta ole varma - tulevaisuudessa on enemmän lisäosia iOS:lle, ja voimme myös lisätä integraation, joka mahdollistaa kaikkien Stremio-lisäosien käytön yhdistämällä iOS-sovelluksen Stremio Streaming Serveriin."}')},65829:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Film","TYPE_series":"Série","TYPE_tv":"Chaîne TV","TYPE_channel":"Chaîne","TYPE_other":"Autre","TYPE_movie_PL":"Film","TYPE_series_PL":"Séries","TYPE_tv_PL":"Chaînes TV","TYPE_channel_PL":"Chaînes","TYPE_other_PL":"Autres","TYPE_ALL":"Tous","TYPE":"Type","CATALOG_com_linvo_cinemeta_top":"Populaire","CATALOG_com_linvo_cinemeta_imdbRating":"À la une","CATALOG_com_linvo_cinemeta_year":"Nouveau","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Films du domaine public","VIDEO":"Vidéo","BACK":"Retour","MORE":"Plus","DONE":"Terminer","COPY":"Copier","SUCCESS":"Succès","ERROR":"Erreur","SETTINGS_CASTING_MODE_PICKER":"Mode de diffusion","CASTING_MODE_HLSV2":"Par défaut","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Pas de transcodage","Discover":"Découverte","Board":"Tableau","Library":"Bibliothèque","My Library":"Ma bibliothèque","Calendar":"Calendrier","NOTIFICATION_ONLINE":"Vous êtes maintenant connecté","NOTIFICATION_OFFLINE":"Vous êtes maintenant hors-ligne","INTERNET_CONNECTION":"Connexion internet","STORAGE_FULL_TITLE":"Attention : Espace de stockage plein !","STORAGE_FULL_TEXT":"Stremio sera incapable de sauvegarder vos réglages, préférences ou informations de connexion. N\'hésitez pas à relancer ou réinstaller Stremio.","SEARCH":"Recherche","SEARCH_NO_RESULTS":"Aucun résultat trouvé","SEARCH_EXPLANATION_CONTENT":"Recherchez des films, séries, chaines YouTube ou TV...","SEARCH_EXPLANATION_PEOPLE":"Recherchez des acteurs, directeurs et réalisateurs","SEARCH_PASTE_LINKS":"Collez une URL ou un lien magnet","SEARCH_OR_PASTE_LINK":"Rechercher ou coller un lien","SEARCH_SUGGESTIONS":"Suggestions de recherche","ADD_TO_LIB":"Ajouter à la bibliothèque","REMOVE_FROM_LIB":"Retirer de la bibliothèque","ADDED_TO_LIB":"Ajouté à la bibliothèque","REMOVED_FROM_LIB":"Retiré de la bibliothèque","TRAILER":"Bande-annonce","WATCH_TRAILER":"Regarder la bande-annonce","WATCH_NOW":"Regarder","SHOW":"Regarder","SHOW_MOVIE":"Afficher le film","WATCH_RANDOM":"Regarder aléatoirement","IMDB_RATING":"Note IMDb","YEAR":"Année","DIRECTOR":"Réalisateur","WRITER":"Scénariste","LEAD_ACTORS":"Acteurs principaux","CAST":"Casting","CREW":"Équipe","SHOW_MORE_CAST":"Afficher plus","AIRED":"Sortie","SEASONS":"Saisons","GENRE":"Genre","GENRE_ALL":"Tous les genres","CATALOG":"Catalogue","SUMMARY":"Résumé","SHOW_MORE":"Afficher plus","SIMILAR":"Similaire","UPCOMING":"À venir","ENDED":"Terminé","DURATION":"Durée","FEATURED":"À l\'affiche","METADATA":"Métadonnées","CATEGORY":"Catégorie","LINKS_GENRES":"Genres","LINKS_CAST":"Casting","LINKS_DIRECTORS":"Réalisateurs","SEARCH_VIDEOS":"Rechercher des vidéos","SEARCH_PLACEHOLDER":"Chercher ou coller un lien magnet","ADDON":"Addon","ADDONS":"Addons","OFFICIAL":"Officiels","ADDONS_OFFICIAL":"Addons Stremio officiels","ADDONS_POPULAR":"Populaire près de chez vous","ADDON_FREE":"Gratuit","ADDON_PEERED":"Peered","ADDON_SUBSCRIPTION":"Abonnement","ADDON_STREAM_GEORESTRICTED":"Non disponible chez vous","ADDON_STREAM_OFFLINECACHE":"Cache hors-ligne","ADDON_STREAM_LOCALFILE":"Fichier local","SHARE_ADDON":"Partager cet addon","AVAILABLE_STREAMS":"Flux disponibles","NO_STREAM":"Aucun flux n\'a été trouvé","ALL_ADDONS":"Tous","INSTALL_MORE_ADDONS":"Pour plus de flux, veuillez installer plus d\'addons","STREAM_NOT_SUPPORTED":"Le flux sélectionné n\'est pas supporté par la plateforme","ADDON_CATALOGUE":"Afficher tous les addons »","ADDON_CATALOGUE_MORE":"Installer des addons","REPO_ADDED":"Répertoire ajouté","ADDON_REPO_EXIST_ERR":"Cette collection d\'addons existe déjà","ADDON_REPO_ERR":"Une erreur s\'est produite lors de l\'ajout de la collection","ADDON_ADD_ERR":"Une erreur est survenue lors de l\'ajout du répertoire","ERR_ADDON_PROTECTED":"Extension protégé","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Quelque chose n\'a pas fonctionné - l\'authentification a peut-être échoué","ERR_NOT_COLLECTION_URL":"Ce n\'est pas une URL de collection","ERR_NOT_ADDON_URL":"Ce n\'est pas une URL d\'addon","ERR_DETECTFROMURL":"Impossible de trouver un addon/collection à partir de cette URL","ADDON_DUPLICATE_WARNING":"Attention : addon dupliqué","ADDON_COLLECTION_SET_FAILED":"La synchronisation des addons installés vers votre compte a échoué","SETTINGS_DATA_EXPORT":"Exporter mes données","ADDON_PULL_FAILED":"La synchronisation des addons installés depuis de votre compte a échoué","REFRESH_ON_CLICK":"Cliquez pour réessayer","STILL_IN_THEATER":"Le film est toujours en salle","WATCH_IN_CINEMA":"Regardez-le dans votre cinéma local","IN_THEATER":"Au cinéma","GET_TICKETS":"Acheter des places","UPCOMING_EPISODE":"Épisode à venir","UPCOMING_EPISODE_MESSAGE":"Cet épisode sera diffusé le","MISSING_DATE_EPISODE":"Date d\'épisode manquante","MISSING_DATE_EPISODE_MESSAGE":"Cet épisode n\'a peut-être pas encore été diffusé","CHANNEL_NOT_SCRAPED":"Cette chaîne n\'est pas disponible.<br>Revenez dans quelques minutes.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Ajoutez le à votre bibliothèque pour être notifié une fois sorti.","GET_NOTIFIED_WHEN_AVAILABLE":"Vous serez notifié une fois disponible.","WARNING_STREAMING_SERVER":"Attention, serveur de streaming local non trouvé. Le streaming depuis Youtube et BitTorrent ne sera pas disponible.","WARNING_STREAMING_SERVER_DISMISS":"Ignorer","WARNING_STREAMING_SERVER_LATER":"Plus tard","DECODER_WARNING":"Attention : cette vidéo peut ne pas être supportée par votre matériel. Gardez à l\'esprit que la lecture peut être lente.","GENERIC_ERROR_MESSAGE":"Il y a eu un problème !","TRY_AGAIN":"Réessayer","CLEAR_DATA":"Effacer les données","PLAYER_ERROR":"Oups, erreur du lecteur","PLAYER_ERROR_LOOKSLIKE":"On dirait que","PLAYER_ORIENTATION":"Orientation du lecteur","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Verrouillé","PLAYER_ORIENTATION_SENSOR_SHORT":"Capteur","PLAYER_ORIENTATION_LANDSCAPE":"Orientation du lecteur verrouillé en paysage","PLAYER_ORIENTATION_SENSOR":"Orientation automatique du lecteur (capteur)","PLAYER_PLAYBACK_SPEED":"Vitesse de lecture","PLAYER_PLAYBACK_ERROR":"Erreur de lecture, veuillez réessayer","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Erreur inconnue","PLAYER_PLAYBACK_ERROR_DEFAULT":"Désolé, cette vidéo ne peut pas être lue par {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Langues des sous-titres","PLAYER_SUBTITLES_VARIANTS":"Variantes des sous-titres","PLAYER_SUBTITLES_SETTINGS":"Réglages des sous-titres","PLAYER_SUBTITLES_DISABLED":"Sous-titres désactivés","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Position verticale","PLAYER_SUBTITLES_LOADED":"Sous-titres chargés","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Sous-titres intégrés chargés","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Sous-titres exclusifs chargés","PLAYER_SUBTITLES_LOADED_ORIGIN":"Sous-titres de {{origin}} chargés","PLAYER_PLAY":"Lecture","PLAYER_PAUSE":"Pause","PLAYER_NEXT_VIDEO":"Vidéo suivante","PLAYER_MUTE":"Sourdine","PLAYER_UNMUTE":"Rétablir le son","PLAYER_OPEN_IN_EXTERNAL":"Ouvrir dans un lecteur externe","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Jouer sur {{device}}","PLAYER_LIVE":"Live","PLAYER_NEXT_VIDEO_TITLE":"À venir dans","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Ignorer","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Regarder maintenant","PLAYER_COPY_STREAM_SUCCESS":"Le lien du flux a été copié dans votre presse-papiers","PLAYER_COPY_STREAM_ERROR":"Échec de la copie du lien de flux","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","STREAMING_FROM":"Diffusé à partir de","CASTING_TO":"Transmis à","NETWORK_STATUS":"Statut du réseau","STREAM_SPEED":"Vitesse du stream :","STREAM_BUFFERED":"Mis en cache :","PEERS_INFO":"Informations sur les pairs","PEERS_ACTIVE":"Actif :","PEERS_CONNECTED":"Connecté :","PEERS_WAITING":"En attente :","TRANSCODING_WARNING":"Attention: transcodage vidéo.","STREAM_LOADING":"Chargement...","PLAYING_LOCAL":"Lecture à partir d\'un fichier local","PLAYING_CACHE":"Lecture à partir du cache","WRONG_SUBS":"Mauvais sous-titres ?","ERR_SUBS_LOADING_TITLE":"Erreur de chargement des sous-titres","ERR_SUBS_LOADING":"Échec du chargement des sous-titres : il peut s\'agir d\'un problème avec l\'addon que vous utilisez, ou avec votre connexion réseau.","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Les addons de sous-titres suivants ont échoués","ERR_CASTING_UPDATE_TITLE":"Impossible de mettre à jour les informations sur le périphérique de diffusion : le serveur de streaming est peut-être hors ligne.","CHOOSE_DEVICE":"Choisissez un appareil sur lequel regarder","NO_CAST_DEVICES":"Aucun appareil de diffusion n\'est disponible.","NO_SETTINGS":"Aucun réglage disponible.","PHONE_TABLET":"Téléphone / Tablette","SUBTITLES":"Sous-titres","SUBTITLES_CHANGE":"Changer les sous-titres pour ","SUBTITLES_CHANGE_NONE":"Il n\'y a pas d\'autres sous-titres pour cette langue, désolé.","SUBTITLES_CHANGE_ACIVE":"Les sous-titres &#35;{{subtitlesDialog.activeIdx + 1}} sont actuellement activés. Cliquez sur \\"Continue\\" pour activer les sous-titres &#35;{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Sinon,","SUBTITLES_ADJUST_DELAY":"Ajuster le décalage des sous-titres :","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Utilisez les touches <span>G</span> / <span>H</span> pour les ajuster.","SUBTITLES_ADJUST_DELAY_TIP":"ASTUCE : vous pouvez utiliser les touches <span>G</span> / <span>H</span> pendant la lecture pour les régler.","SUBTITLES_DELAY":"Delai des sous-titres :","SUBTITLES_LOADING":"Chargement des sous-titres...","SUBTITLES_UNAVAILABLE":"Aucun sous-titre externe disponible","SUBTITLES_DISABLED":"Désactivés","EXTERNAL_PLAYER_DISABLED":"Désactivé","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Permettre le choix","EXTERNAL_PLAYER_HINT":"Conseil : il existe un paramètre permettant de toujours ouvrir avec un lecteur externe.","DONT_SHOW_AGAIN":"Ne plus montrer","SERVICE_INSTALL":"Installer","AUDIO":"Audio","DEFAULT_LANGUAGE":"Langue par défaut","DEFAULT_SECONDARY_LANGUAGE":"Langue secondaire par défaut","SEASON":"Saison","EPISODE":"Épisode","EPISODE_ABBREVIATION":"ÉP","SPECIAL":"Spécial","SORT":"Trier","SORT_BY":"Trier par","FILTER":"Filtrer","SORT_TRENDING":"Tendances","SORT_RECENT":"Récent","SORT_ALPHABET":"A-Z","SORT_ALPHABET_REVERSE":"Z-A","SORT_RATING":"Note","SORT_WATCHED":"regardés","SORT_YEAR":"Année","SELECT_TYPE":"Sélectionner le type","SELECT_SORT":"Sélectionner le filtre","SELECT_CATALOG":"Sélectionner le catalogue","SELECT_GENRE":"Sélectionner le genre","SORT_LASTWATCHED":"dernier regardés","SORT_NAME":"a-z","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"plus regardés","SORT_NOTWATCHED":"non regardés","New for You":"Nouveau pour vous","New Episodes":"Nouveaux épisodes","New Videos":"Nouvelles vidéos","Recommendations":"Recommandations","LIBRARY_RESUME":"Reprendre","LIBRARY_PLAY":"Lire","LIBRARY_DETAILS":"Détails","LIBRARY_RESUME_DISMISS":"Effacer","LIBRARY_CLEAR_PROGRESS":"Effacer l\'avancée de la lecture","LIBRARY_REMOVE":"Retirer","LIBRARY_NOT_LOGGED_IN":"La bibliothèque n\'est disponible que pour les utilisateurs connectés","CALENDAR_NOT_LOGGED_IN":"Le calendrier n\'est disponible que pour les utilisateurs connectés","NOT_LOGGED_IN_CLOUD":"Accédez à vos films et émissions de télévision préférés à tout moment et en tout lieu","NOT_LOGGED_IN_RECOMMENDATIONS":"Recommandations adaptées à votre historique de visionnage","NOT_LOGGED_IN_NOTIFICATIONS":"Ne manquez plus jamais un épisode","NOT_LOGGED_IN_CALENDAR":"Planifiez votre calendrier des sorties","DISCOVER_FEATURED":"Têtes d\'affiches","DISCOVER_TOP":"Top","DISCOVER_OSCAR":"Primés aux Oscars","DISCOVER_WARNING_TITLE":"Oups !","DISCOVER_EMPTY_CATALOG":"Cet addon a renvoyé un contenu vide.","DISCOVER_ADULT_WARNING":"Ce contenu n\'est visible que pour les adultes. Avez-vous plus de 18 ans ?","DISCOVER_NOADDON_WARNING":"Attention : aucune extension Stremio active pour ce type. Les fichiers sauvegardés seront montrés, rien ne sera mis à jour.","DISCOVER_LOAD_ERR":"Découvrir : n\'a pas réussi à charger le catalogue à partir de l\'addon","DISCOVER_ADDON_UNINSTALLED":"Ce contenu n\'est plus disponible, vous avez peut-être désinstallé l\'addon.","UNINSTALL_THIS_ADDON":"Désinstallez cet addon","ERR_ADDON_NOT_INSTALLED":"Cet addon n\'est pas installé. L\'installer maintenant ?","DETAIL_RECEIVE_NOTIF_SERIES":"Recevoir des notifications pour les nouveaux épisodes","DETAIL_RECEIVE_NOTIF_VIDEOS":"Recevoir des notifications pour les nouvelles vidéos","SIDEBAR_SHOW_STREAMS":"Afficher les flux","RELAUNCH":"Redémarrez maintenant!","UPGRADE":"Nouvelle version disponible ! Mise à jour vers la dernière version de Stremio","RELOAD_UI":"Rafraîchir l\'interface utilisateur","MANUAL_UPDATE_TITLE":"Mettez à jour votre version de Stremio","MANUAL_UPDATE_LINE1":"Vous utilisez une version obsolète de Stremio, ce qui est fortement déconseillé.","MANUAL_UPDATE_LINE2":"Veuillez mettre à jour dès que possible.","BUTTON_UPDATE_LATTER":"Pas maintenant.","BUTTON_UPDATE_NOW":"Mettre à jour","ANONYMOUS_USER":"Utilisateur anonyme","DONT_HAVE_ACC":"Vous n\'avez pas de compte ?","HAVE_ACC":"Vous avez déjà un compte ?","PASSWORD":"Mot de passe","PASSWORD_CONFIRM":"Confirmer le mot de passe","EMAIL":"E-mail","FB_LOGIN":"Continuer avec Facebook","FB_NOTHINGSHARED":"Rien ne sera partagé sans votre permission","FB_NOPOST":"Nous ne posterons rien en votre nom","OR":"ou","I_ACCEPT":"J\'accepte les","I_ACCEPT_BY_CLICKING":"En cliquant sur le bouton ci-dessus, je certifie que j\'accepte les ","TOS":"Conditions d\'utilisation","MUST_ACCEPT_TERMS":"Vous devez accepter les conditions","PASSWORDS_NOMATCH":"Les mots de passe ne correspondent pas","SIGN_UP":"Inscription","SIGN_UP_EMAIL":"S\'inscrire par email","CLICK_TO_SIGN_UP":"Cliquez ici pour vous inscrire.","LOG_IN":"Connexion","LOG_OUT":"Déconnexion","EXIT_FULLSCREEN":"Quitter le mode plein écran","ENTER_FULLSCREEN":"Entrer en mode plein écran","PLAY_URL_MAGNET_LINK":"Lire un URL/lien magnet","HELP_FEEDBACK":"Aide & commentaires","TERMS_OF_SERVICE":"Conditions d\'utilisation","PRIVACY_POLICY":"Politique de confidentialité","ABOUT_STREMIO":"À propos de Stremio","USER_PANEL":"Panneau utilisateur","LOGIN_LABEL":"Se connecter","GUEST_LOGIN":"Connexion invité","GUEST_LOGIN_NOTICE":"La connexion en tant qu\'invité n\'est pas recommandée. Se connecter de façon régulière permet à Stremio de synchroniser votre bibliothèque et de recevoir des notifications pour vos séries/chaines favorites. Êtes-vous sûr de vouloir continuer ?","GUEST_LOGIN_NOTICE_2":"La connexion en tant qu\'invité n\'est pas recommandée - vous n\'aurez pas de notifications synchronisées pour votre Bibliothèque ou Tableau, qui sont des fonctionnalités vitales de Stremio. Êtes-vous sûr de vouloir continuer ?","CLICK_HERE":"Cliquez ici","WRONG_PASSWORD":"Mauvais mot de passe. Si vous avez oublié votre mot de passe, ","SET_A_PASS":"Choisissez-en un","RESET_PASSWORD":"Réinitialiser le mot de passe","FORGOT_PASSWORD":"Mot de passe oublié ?","EMAIL_USED_WITH_FB":"Cet e-mail a été utilisé avec une connexion Facebook.","INVALID_EMAIL":"Veuillez entrer une adresse email valide","INVALID_PASSWORD":"Veuillez entrer un mot de passe valide","CONN_ERR":"Erreur de connexion - Réessayez plus tard.\\n\\nSi le problème persiste, désactivez le pare-feux/anti-virus (particulièrement Bitdefender).","IMPORT_FROM_GUEST":"Importer la bibliothèque à partir de votre compte invité","RECEIVE_UPDATES_EMAIL":"Recevoir des muses à jour par email de la part de Stremio","LOGIN_FAILED":"La connexion à échouée.","SIGNUP_FAILED":"L\'inscription a échoué.","SEARCH_FAILED":"Échec de la recherche","EMAIL_USED":"Cet email est déjà utilisé.","WAITING_FB_LOGIN":"Se connecter avec Facebook ....","EXTERNAL_PLAYER_TITLE":"Lire dans un lecteur externe","EXTERNAL_REMEMBER_PLAYER":"Voulez-vous vous souvenir de votre choix","EXTERNAL_ALWAYS_PLAY":"Oui","EXTERNAL_ONLY_ONCE":"Non","BEST_FIT":"Meilleur ajustement","FIT_SCREEN":"Ajuster à l\'écran","FILL":"Remplir","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"Dites-nous ce que vous aimez","INTRO_TASTE_LONG":"Dites-nous ce que vous aimeriez regarder","INTRO_TASTE_PICK":"Choisissez {{interestsRemaining}} centres d\'intérêt","INTRO_TASTE_PICK_MORE":"Choisissez encore {{interestsRemaining}} centres d\'intérêt","INTRO_TASTE_HELP_US":"Aidez-nous à mieux vous connaître.","INTRO_TASTE_CHOOSE_THESE":"Choisis-en quelques-unes :","INTRO_TASTE_CHOOSE_MIN":"Choisissez au moins 3 catégories","INTRO_TASTE_CHOOSE_MIN_ERR":"Vous devez choisir au moins 3 catégories !","INTRO_TASTE_LIFESTYLE":"Lifestyle","INTRO_TASTE_SPORTS":"Sports","INTRO_TASTE_FOOD_HEALTH":"Alimentation & santé","INTRO_TASTE_BEAUTY_FASHION":"Beauté & mode","INTRO_TASTE_NEWS":"News","INTRO_TASTE_GAMING":"Gaming","INTRO_TASTE_SCIENCE_EDU":"Science & éducation","INTRO_TASTE_MUSIC":"Musique","INTRO_TASTE_TRAVEL":"Voyages","INTRO_TASTE_LATE_NIGHT":"Late Night Show","INTRO_TASTE_REALITY":"Télé-réalité","INTRO_TASTE_COMEDY":"Comédie","INTRO_TASTE_DIY":"DIY","INTRO_TASTE_TECH":"Tech","INTRO_TASTE_CINEMA":"Cinéma","ADDON_NOT_SUPPORTED":"L\'addon sélectionné n\'est pas supporté sur cette plate-forme.","ADDON_DISCLAIMER":"Utiliser des extensions tierces sera toujours sujet à votre responsabilité ainsi qu\'aux lois et juridictions de votre lieu de résidence.","ADDON_ACTIVATE":"Activer cette extension ?","ADDON_REPO_ADD":"URL de la collection de l\'addon","ADDON_ADD":"Ajouter","INSTALL_ADDON":"Installer l\'addon","ADD_ADDON":"Ajouter un addon","ADD_ADDON_DESCRIPTION":"Vous pouvez ajouter un addon via un lien externe, qui apparaîtra dans la rubrique Addons installés.","PASTE_ADDON_URL":"Collez l\'URL de l\'addon","WHATS_NEW":"Nouveautés","BUTTON_CONTINUE":"Continuer","BUTTON_ACTIVATE":"Activer","BUTTON_ACTIVATED":"Activé","BUTTON_CANCEL":"Annuler","BUTTON_SUBMIT":"Valider","BUTTON_DISMISS_ALL":"Tout effacer","BUTTON_VIEW_ALL":"Voir tous","BUTTON_SEE_ALL":"Voir tous","BUTTON_COLOR_TRANSPARENT":"Transparent","OPEN_IN_BROWSER":"Ouvrir dans un navigateur","LIB_EMPTY":"Votre bibliothèque est vide. Découvrez à quel point c\'est utile :) ","HOW_START":"Voilà comment démarrer :","LIB_EMPTY_CAL":"Votre calendrier affiche les séries qui sont dans votre bibliothèque.","HOW_START_CAL":"Voici comment ajouter des séries :","LIB_EMPTY_BOARD":"Le tableau montre les notifications &amp; recommendations liées à votre Bibliothèque.","HOW_START_BOARD_WAIT":"S\'il vous plait, ajoutez quelques séries ou chaînes à votre Bibliothèque et laissez-nous quelques minutes pour procéder :)","HOW_START_BOARD":"Voici comment y ajouter des séries &amp; des films :","IMPORT_FB":"Importez des choses que vous aimez depuis <span>Facebook</span>","IMPORT_TRAKT":"Importez votre médiathèque depuis <span>Trakt</span>.","IMPORT_DISCOVER":"Trouver des choses intéressantes dans <span>Découverte</span>","IMPORT_DISK":"Importez des séries ou films que vous avez dans votre <span>disque dur</span>","PLEASE_CREATE_ACC":"S\'il vous plait <u>créez un compte</u> pour activer la Bibliothèque sync &amp; et le Tableau.","IMPORT_DISCOVER_SIGNUP":"Inscrivez-vous et trouvez des choses intéressantes à partir de <span>Discover</span>Découvrez","IMPORT_DISK_SIGNUP":"Inscrivez-vous et importez les films ou émissions que vous avez sur votre disque <span>Disque local</span>.","LIB_EMPTY_CLOUD":"Bibliothèque Cloud","LIB_EMPTY_CLOUD_DESC":"Bibliothèque cloud personnelle synchronisé sur tous les appareils","LIB_EMPTY_EARLY":"Early bird","LIB_EMPTY_EARLY_DESC":"Recevoir des notifications pour les nouveaux épisodes","LIB_EMPTY_PERSONAL":"Personnel","LIB_EMPTY_PERSONAL_DESC":"Obtenir des recommandations personnelles","LIB_EMPTY_CALENDAR_DESC":"Planifiez votre calendrier personnel de visionnage","LIB_EMPTY_ALL":"Inscrivez-vous pour obtenir tout cela :","LIB_EMPTY_BEST":"Inscrivez-vous pour profiter pleinement de Stremio","LIB_EMPTY_OTHER":"Inscrivez-vous pour activer l\'option Calendrier et d\'autres fonctions intéressantes","CALENDAR_ADDED":"Le calendrier Stremio a été ajouté à votre calendrier de bureau par défaut.","CALENDAR_ADDED_MSG":"Si cela ne fonctionne pas, veuillez ajouter manuellement cette URL à votre application de calendrier.","TRAKT_EXPIRED":"L\'authentification à Trakt a expiré, allez dans Paramètres et ré-authentifiez-vous.","TRAKT_REQUIRES_LOGIN":"Erreur de Trakt","TRAKT_REQUIRES_LOGIN_MSG":"Vous devez vous connecter","TRAKT_IMPORT_WATCHED":"Import","THEME":"Thème","THEME_DEFAULT":"Défaut","THEME_ADAPTIVE":"Adaptatif","SETTINGS_LABEL":"Réglages","SETTINGS_NAV_GENERAL":"Général","SETTINGS_NAV_PLAYER":"Lecteur vidéo","SETTINGS_NAV_STREAMING":"Streaming","SETTINGS_NAV_SHORTCUTS":"Raccourcis","SETTINGS_SHORTCUT_RELOAD_APP":"Rafraîchir l\'application","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Ouvrir les réglages","SETTINGS_SHORTCUT_SWITCH_TABS":"Changer d\'onglet","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Parcourir les onglets en avant","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Parcourir les onglets en arrière","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Naviguer entre les menus","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Aller à la recherche","SETTINGS_SHORTCUT_EXIT_BACK":"Quitter / Retour","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Afficher le menu de Vitesse de Lecture","SETTINGS_SHORTCUT_MENU_VIDEOS":"Afficher le menu Vidéos","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Basculer le menu des sous-titres","SETTINGS_SHORTCUT_MENU_INFO":"Basculer le menu d\'information","SETTINGS_SHORTCUT_FULLSCREEN":"Basculer en mode plein écran","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Afficher les contrôles","SETTINGS_SHORTCUT_PLAY_PAUSE":"Lecture / Pause","SETTINGS_SHORTCUT_VOLUME_UP":"Augmenter le volume","SETTINGS_SHORTCUT_VOLUME_DOWN":"Réduire le volume","SETTINGS_SHORTCUT_SEEK_NEXT":"Avancer la lecture","SETTINGS_SHORTCUT_SEEK_PREV":"Reculer la lecture","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Reculer dans la lecture","SETTINGS_SHORTCUT_SEEK_FORWARD":"Avancer dans la lecture","SETTINGS_SHORTCUT_PLAY_NEXT":"Lancer la vidéo suivante","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Augmenter la taille des sous-titres","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Réduire la taille des sous-titres","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Augmenter le délai des sous-titres","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Réduire le délai des sous-titres","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Afficher la barre latérale","SETTINGS_SHORTCUT_OR":"ou","SETTINGS_SHORTCUT_TO":"à","SETTINGS_SHORTCUT_SPACE":"Espace","SETTINGS_SHORTCUT_SHIFT":"Maj","SETTINGS_SHORTCUT_ESC":"Échap","SETTINGS_TRAKT_AUTHENTICATE":"Authentifier","SETTINGS_FACEBOOK_IMPORT":"Importer","SETTINGS_CALENDAR_SUBSCRIBE":"S\'abonner","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Langage de l\'interface","SETTINGS_LAUNCH_STARTUP":"Lancer au démarrage","SETTINGS_VLC_DEFAULT":"Lire avec VLC","SETTINGS_UI_LANGUAGE":"Langue de l\'interface","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Touche Echap pour quitter le plein écran","SETTINGS_GAMEPAD":"Activer le support de la manette de jeu","SETTINGS_CLOSE_WINDOW":"Fermer l\'application lorsque la fenêtre est fermée","SETTINGS_SUBTITLES_LANGUAGE":"Langue des sous-titres par défaut","SETTINGS_SUBTITLES_SIZE":"Taille par défaut des sous-titres","SETTINGS_SUBTITLES_BACKGROUND":"Arrière-plan des sous-titres","SETTINGS_SUBTITLES_COLOR":"Couleur des sous-titres","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Couleur du contour des sous-titres","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Couleur de l\'arrière-plan des sous-titres","SETTINGS_SEEK_KEY":"Touches directionnelles pour naviguer dans le temps","SETTINGS_SEEK_KEY_SHIFT":"Touches directionnelles pour naviguer dans le temps lorsque Maj est maintenue","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Durée du rembobinage et de l\'avance rapide","SETTINGS_BINGE":"Lire automatiquement le prochain épisode","SETTINGS_NEXT_VIDEO":"Afficher une notification pour commencer l\'épisode suivant","SETTINGS_NEXT_VIDEO_TRIGGER":"Afficher la notification du prochain épisode pendant :","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Durée de la popup pour la vidéo suivante","SETTINGS_PLAY_IN_BACKGROUND":"Lire en arrière-plan","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Lecture dans un lecteur externe","SETTINGS_RESIZE":"Redimensionnement automatique la fenêtre avant la lecture","SETTINGS_OVERRIDE_SERVER":"Remplacer l\'URL du serveur de streaming (avancé)","SETTINGS_SERVER_URL":"URL du serveur de streaming: ","SETTINGS_SERVER_AVAILABLE":"Le serveur de streaming est disponible.","SETTINGS_SERVER_UNAVAILABLE":"Le serveur de streaming n\'est pas disponible.","SETTINGS_SERVER_STATUS_ONLINE":"En ligne","SETTINGS_SERVER_STATUS_ERROR":"Erreur","SETTINGS_SERVER_CONFIGURE_TITLE":"Configurer l\'URL du serveur de streaming","SETTINGS_SERVER_CONFIGURE_INPUT":"Entrez l\'URL du serveur de streaming","SETTINGS_SERVER_CACHE_SIZE":"Taille du cache","SETTINGS_SERVER_TORRENT_PROFILE":"Profil de torrent","SETTINGS_HTTPS_ENDPOINT":"Point d\'accès au streaming HTTPS :","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Toujours utiliser les dernières version bêta","SETTINGS_IMPORT_FB":"Importer depuis Facebook","SETTINGS_IMPORT_DISK":"Importer depuis le disque dur","SETTINGS_IMPORT_TRAKT":"Importer depuis Trakt","SETTINGS_PAUSE_MINIMIZED":"Mettre en pause la lecture lorsque la fenêtre est réduite","SETTINGS_HWDEC":"Décodage accéléré par le matériel","SETTINGS_BACKGROUND":"Lecture en arrière-plan","SETTINGS_SUBSCRIBE_CALENDAR":"Inscrire au calendrier","SETTINGS_REQ_EXPORT":"Demande d\'exportation de données","SETTINGS_ACC_DELETE":"Demander la suppression du compte","SETTINGS_CHANGE_PASSWORD":"Changer de mot de passe","SETTINGS_TOS":"Conditions d\'utilisation","SETTINGS_SUPPORT":"Contacter le support","SETTING_LANGUAGE":"Langue","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_LOGOUT":"Déconnexion de Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Déconnexion de Trakt","SETTINGS_SCAN_FOR_REMOTE":"Scanner le code QR pour ouvrir la télécommande","SETTINGS_DESKTOP_NOTIFICATIONS":"Notifications de bureau","SETTINGS_DATA_SAVER":"Économiseur de données","SETTINGS_LANGUAGE_INTERFACE":"interface","SETTINGS_LANGUAGE_SUBS":"Sous-titres par défaut","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Sélection automatique de la piste audio","SETTINGS_DEFAULT_AUDIO_TRACK":"Piste audio par défaut","SETTINGS_SURROUND_SOUND":"Son surround","SETTINGS_ACCOUNT":"Compte","SETTINGS_PLATFORM":"Platforme","SETTINGS_VERSION":"Version","SETTINGS_ABOUT":"À propos","SETTINGS_MPV_WINDOW":"Lancer le lecteur dans une fenêtre séparée (avancé)","SETTINGS_PLAY_IN_EXTERNAL":"Toujours lancer la vidéo dans un lecteur externe","SETTINGS_STORAGE_BUTTON":"Effacer le stockage local","SETTINGS_STORAGE_MODAL_TITLE":"Êtes-vous sûr ?","SETTINGS_STORAGE_MODAL_MESSAGE":"Cela effacera le stockage local et vous déconnectera.","SETTINGS_HWDEC_PICKER":"Choisir un paramètre de décodage accéléré par le matériel","SETTINGS_HW_AUTOMATIC":"Automatique","SETTINGS_HW_DISABLED":"Désactivé","SETTINGS_HW_ACCELERATED":"Accélération du décodage","SETTINGS_HW_FULL":"Accélération complète","SETTINGS_HW_LEGACY":"Normal","SETTINGS_DISABLED":"Désactivé","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Autoriser la télémétrie","SETTINGS_REMOTE_URL":"URL distant","SETTINGS_COPY_REMOTE_URL":"Copier l\'URL distant","SETTINGS_REMOTE_URL_COPIED":"L\'URL distant à été copié dans votre presse-papiers","SETTINGS_SECTION_SUBTITLES":"Sous-titres","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Contrôles","SETTINGS_SECTION_AUTO_PLAY":"Lecture automatique","SETTINGS_SECTION_ADVANCED":"Avancé","SUBSPICKER_AUDIO":"Audio","SUBSPICKER_SUBTITLES":"Sous-titres addons","SUBSPICKER_BLACK_BACKGROUND":"Utiliser un fond de couleur noir","SUBSPICKER_VERTICAL_OFFSET":"Décalage vertical","SUBSPICKER_SIZE":"Taille","SUBSPICKER_DELAY":"Retard","SUBSPICKER_EMBEDDED_SUBS":"Sous-titres intégrés","MOBILE_PRIVACY_POLICY":"Politique de confidentialité","MOBILE_CRASH_REPORTING":"Rapport d\'incident","MOBILE_ZOOM_TO_FILL":"Agrandir pour remplir l\'écran","MOBILE_PASSTHROUGH":"Sortie audio numérique (passthrough)","MOBILE_RUN_LOW_BATTERY":"Fonctionne avec une batterie faible","MOBILE_RUN_FOREGROUND":"Exécuter en tant que service de premier plan","MOBILE_PERFORMANCE":"PERFORMANCES ET STABILITÉ","MOBILE_SERVER_ONLINE":"En ligne","MOBILE_SERVER_OFFLINE":"Hors ligne","MOBILE_QR_EXPIRES":"Le code QR expire dans ","MOBILE_LOG_INTO":"Connectez-vous à votre compte Stremio ","MOBILE_SCAN_QR":"Scannez le code QR ci-dessus ou rendez-vous sur ","MOBILE_LINK_ACCOUNT":"Lien du compte","MOBILE_SPEEDPICKER_CANCEL":"Annuler","MOBILE_SPEEDPICKER_LABEL":"Choisir la vitesse de lecture","MOBILE_EMPTY_LIBRARY":"Votre bibliothèque est vide","MOBILE_NO_ADDON_ACTIVE":"Aucun addon Stremio actif pour ce type.","MOBILE_ORGANIZER_WARNING":"L\'application Stremio Organizer offre des fonctionnalités limitées. Pour une liste des flux lisibles et l\'expérience complète de Stremio, utilisez Stremio sur ordinateur.","MOBILE_ADDON_LOADING":"Est toujours en cours de chargement","MOBILE_ADDONS_LOADING":"Les addons sont toujours en cours de chargement","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Configurez votre addon","MOBILE_CONFIGURE_ADDON_LABEL":"Configurer l\'addon","MOBILE_ORGANIZER_ADDONS_WARNING":"L\'application Stremio Organizer fournit une sélection limitée d\'addons. Pour profiter pleinement de l\'expérience Stremio, utilisez Stremio sur ordinateur.","MOBILE_DISCONNECT":"Déconnecter","MOBILE_LOOKING_FOR_DEVICES":"Recherche d\'appareils...","MOBILE_CAST_TO":"Diffuser sur","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Supprimer le compte","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"La suppression du compte n\'est pas instantanée en raison d\'obligations légales. Après avoir demandé la suppression de votre compte, vous devrez utiliser une autre adresse électronique/un autre profil Facebook pour créer un nouveau compte Stremio à l\'avenir.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirmer la suppression du compte","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Votre compte a été créé à l\'aide de Facebook. Pour supprimer votre compte, veuillez utiliser notre portail utilisateur à l\'adresse www.stremio.com/login.","MOBILE_DELETE_ACCOUNT_MESSAGE":"Veuillez indiquer votre mot de passe pour confirmer la suppression du compte.","MOBILE_DELETE_ACCOUNT_BUTTON":"Supprimer le compte","NAVIGATION_ON":"On","NAVIGATION_OFF":"Off","MARKETING_AGREE":"J\'accepte de recevoir des communications marketing de Stremio","QUIT":"Quitter","CONNECTED":"Connecté","AUTHENTICATE":"S\'authentifier","CACHING":"Mise en cache","SETTINGS_CACHING_DRIVE":"Emplacement du cache","ENABLE_LOCAL_FILES_ADDON":"Activer l\'addon pour les fichiers locaux (nécessite un redémarrage)","LOCAL_ADDON_NOT_ENABLED":"L\'addon local n\'est pas activé. Cliquez ici pour accéder aux paramètres et l\'activer","ENABLE_REMOTE_HTTPS_CONN":"Activer les connexions HTTPS à distance","TORRENT_PROFILE":"Profil du client Torrent","DATA_CACHING":"Mise en cache des données","MAGNET_PARSING":"Analyser un lien magnet","January":"Janvier","February":"Février","March":"Mars","April":"Avril","May":"Mai","June":"Juin","July":"Juillet","August":"Août","September":"Septembre","October":"Octobre","November":"Novembre","December":"Décembre","Monday":"Lundi","Tuesday":"Mardi","Wednesday":"Mercredi","Thursday":"Jeudi","Friday":"Vendredi","Saturday":"Samedi","Sunday":"Dimanche","Action":"Action","Comedy":"Comédie","War":"Guerre","Family":"Famille","Animation":"Animation","Adventure":"Aventure","Fantasy":"Fantaisie","Crime":"Crime","Mystery":"Mystère","Romance":"Romance","Drama":"Drame","Horror":"Horreur","Thriller":"Thriller","Sci-Fi":"Science-fiction","Music":"Musique","Biography":"Biographie","Documentary":"Documentaire","Sport":"Sport","Musical":"Musical","Western":"Western","Film-Noir":"Film-noir","News":"Actualité","History":"Histoire","Game-Show":"Jeu télévisé","Reality-TV":"Télé-réalité","Talk-Show":"Talk-show","Film & Entertainment":"Film & divertissement","Gaming":"Gaming","From TV":"Depuis la TV","Lifestyle":"Lifestyle","Science & Education":"Science & éducation","Cooking & Health":"Cuisine & santé","Beauty & Fashion":"Beauté & mode","Sports":"Sports","News & Politics":"Actualités & politique","How-to & DIY":"Tutoriels","Tech":"Tech","Automotive":"Auto-moto","Causes & Non-Profits":"Causes et organisations à but non lucratif","Movies":"Films","Uk Live Tv":"TV en direct du Royaume-Uni","Fashion":"Mode","Business News Radio":"Radio actualité Business","Business Tv":"Business TV","Cars & Auto":"Voiture & auto","Comedy Radio":"Radio Comédie","Lifestyle Radio":"Radio Lifestyle","News Tv":"Actualités TV","Food And Wine":"Nourriture et vin","Latino Tv":"TV Latino","Shopping Tv":"Télé-Shopping","Religion":"Religion","Kids":"Enfants","Body & Soul":"Corps & âme","Education":"Éducation","Indian Tv":"TV Indienne","Extreme Sports":"Sports extrêmes","Middle Eastern Tv":"TV Moyen Orient","Celebrity Tv":"TV Célébrité","Science Tv":"TV Science","Bikini babe":"Bikini","Outdoors":"Extérieur","German Tv":"TV Allemande","French Tv":"TV Française","Italian Tv":"TV Italienne","Gamer Tv":"TV Gamer","Travel":"Voyage","Asian Tv":"TV Asiatique","Entertainment":"Divertissement","News Radio":"Radio Actualité","Music Radio":"Radio Musique","Language Learning":"Apprentissage de Langues","Science Radio":"Radio Science","Tech Radio":"Radio Tech","Science & Technology Vod":"VOD Science & Technologie","new video":"Nouvelle vidéo","new episode":"Nouvel épisode","new movie":"Nouveau film","recommended":"Recommandé","we recommend":"Nous vous conseillons","offer of the day":"Offre du jour","news":"News","music video":"Clip","CTX_SHOW_HOTKEYS":"Afficher les raccourcis","CTX_DISMISS_NOTIF":"Ignorer les notifications","CTX_DISMISS_ALL":"Effacer tout","CTX_SHARE":"Partager","CTX_COPY_SHARE_LINK":"Copier le lien de partage","CTX_COPY_MAGNET_LINK":"Copier le lien magnet","CTX_COPY_STREAM_LINK":"Copier le lien du stream","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Télécharger cette vidéo","CTX_DOWNLOAD_SUBS":"Télécharger les sous-titres","CTX_VIEW_ON_YOUTUBE":"Regarder sur YouTube","CTX_SHOW":"Regarder","CTX_PLAY":"Lire","CTX_PLAY_IN":"Lire dans","CTX_PLAY_ON":"Lire sur","CTX_WATCH_ON":"Regarder sur","CTX_WATCH":"Regarder","CTX_WATCHED":"Regardé","CTX_WATCH_BEGINNING":"Regarder depuis le début","CTX_WATCH_MOBILE":"Regarder sur un appareil mobile","CTX_REWIND":"Redémarrer","CTX_MARK_WATCHED":"Marquer comme vu","CTX_MARK_NON_WATCHED":"Marquer comme non-vu","CTX_MARK_UNWATCHED":"Marquer comme non-vu","CTX_MARK_REST":"Marquer le reste comme vu","CTX_UNMARK_REST":"Marquer le reste comme vu","CTX_RECEIVE_NEW_NOTIF":"Recevoir les nouvelles notifications","CTX_ENABLE_NEW_NOTIF":"Activer les notifications","CTX_DISABLE_NEW_NOTIF":"Désactiver les notifications","CTX_REMOVE_CACHE":"Supprimer du cache","CTX_REMOVE_CACHE_EP":"Supprimer l\'épisode du cache","CTX_OPEN_CONTAINING":"Ouvrir le fichier cible","CTX_REMOVE":"Retirer de la bibliothèque","CTX_AVAILABLE_OFFLINE":"Disponible hors-ligne","CTX_PAUSED":"Mis en pause","CTX_ALWAYS_ON_TOP":"Toujours en haut","CTX_FULLSCREEN":"Plein écran","CTX_WRONG_SUBS":"Mauvais sous-titres ?","CTX_REPORT_ISSUES":"Rapporter un problème","CTX_COPY":"Copier","CTX_PASTE":"Coller","CTX_CLEAR":"Effacer","CTX_CLEAR_RECENT_SEARCHES":"Effacer les recherches récentes","HELLO_THERE":"Salut","HOPE_YOU_ENJOY":"Nous espérons que vous apprécierez Stremio et que c\'est déjà une de vos applications préférées !","WHO_ARE_WE":"Qui sommes-nous ? L\'équipe derrière ça, deux mecs travaillant très dur dans un seul but : rendre ce logiciel de mieux en mieux.","SUPPORT_US":"Si vous aimez Stremio - aidez-nous !","SPREAD_THE_WORD":"Parlez-en à vos amis, partagez l\'application","MORE_PEOPLE":"Plus de personnes utiliseront Stremio, mieux l\'application sera !","SEND_A_LINK":"ou envoyez un lien vers notre site !","TIP_LOCALFILES":"Astuce : vous pouvez glisser-déposer des fichiers vidéo locaux dans Stremio","ADDON_MY":"Mes addons","ADDON_COMMUNITY":"Addons communautaires","ADDON_OFFICIAL":"Addons officiels","ADDON_REPOS":"Dépôts d\'addons","ADDON_SEARCH":"Rechercher des addons","ADDON_INSTALL":"Installer","ADDON_CONFIGURE":"Configurer","ADDON_UNINSTALL":"Désinstaller","ADDON_UPGRADE":"Mettre à jour","ADDON_INSTALLED":"Installés","ADDON_INSTALLED_MSG":"Addon installé !","ADDON_UPGRADED_MSG":"Addon mis à jour !","ADDON_UNKNOWN":"Inconnu","ADDON_ERR":"Erreur d\'installation de l\'addon !","ADDON_DISCONNECTED":"Déconnecté","ADDON_APP_MISSING":"L\'application pour cette source n\'est pas installée. Voulez-vous l\'installer maintenant ?","ADDON_APP_INSTALL":"Installer maintenant","ADDON_PAGE":"Page des addons","ADDON_TOP_CONTENT":"Le meilleur de cet addon","ADDON_PROVIDES":"fournit","ADDON_WATCH":"Regardez des #{types} maintenant !","ADDON_WATCH_FREE":"Regardez des #{types} GRATUITEMENT maintenant !","ADDON_ADDON":"Addon","ADDON_SUPPORTED_TYPES":"Types pris en charge","ADDON_SUPPORTED_CATALOGS":"Catalogues pris en charge","ADDON_PROVIDES_DISCOVER":"Plus de #{types} dans Découverte","ADDON_PROVIDES_STREAMS":"Regarder #{types}","ADDON_PROVIDES_STREAMS_FREE":"Regarder #{types} GRATUITEMENT","ADDON_PROVIDES_SUBTITLES":"Sous-titres pour #{types}","ADDON_CANTDETECT":"Nous n\'avons pas pu détecter une instance Stremio en cours d\'exécution, nous ne pouvions donc pas détecter quels addons vous avez installés.","ERR_NO_META":"Aucune information trouvée à ce sujet ","ERR_GETTING_META":"Erreur lors de la récupération d\'informations à ce sujet.","ERR_CANT_PARSE_MAGNET":"Impossible d\'analyser le magnet","ERR_NO_MAGNET_INFOHASH":"Pas de hachage d\'info valide pour le magnet","ERR_NO_FILE_PATH":"Impossible d\'envoyer une requête sans chemin d\'accès au fichier","ERR_NO_TORRENT":"Aucun torrent retourné","ERR_NO_SUPPORTERD_FILES":"Aucun fichier supporté trouvé","ERR_OPENING_FILES":"Impossible d\'ouvrir les fichiers externes","ERR_INVALID_LINK":"Lien invalide","ERR_REGISTERED_ONLY":"Cette option n\'est disponible que pour les utilisateurs enregistrés seulement.","ERR_CLIPBOARD":"Impossible de lire à partir du presse-papiers","ERR_CLIPBOARD_READ":"Impossible de lire le presse-papiers sur cette plateforme","ERR_CLIPBOARD_GENERIC":"Aucune URL lisible trouvée dans le presse-papiers. Veuillez copier une URL (par exemple un lien magnet) vers une vidéo.","BOARD_CONTINUE_WATCHING":"Continuer de regarder","BOARD_EXPLANATION_RECOMMENDATIONS":"Films sélectionnés spécialement pour vous.<br />Ce film est un exemple de recommandation.","BOARD_EXPLANATION_EPISODES":"Les nouveaux épisodes de vos Séries préférées arrivent ici.<br />Ajouter les séries que vous suivez à votre bibliothèque.","BOARD_EXPLANATION_VIDEOS":"Les nouveaux épisodes de vos Chaînes préférées arrivent ici.<br />Ajouter les chaînes YouTube que vous suivez dans votre bibliothèque.","WEBSITE_ENJOYED_BY":"Apprécié par plus de 30 millions d\'utilisateurs dans le monde","WEBSITE_STREAMING_ENHANCED":"Streaming amélioré","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offre une expérience de divertissement sécurisée, moderne et transparente. Grâce à son interface conviviale et à sa bibliothèque de contenus variés, dont la prise en charge du 4K HDR, les utilisateurs peuvent profiter de leurs films et émissions de télévision préférés sur tous leurs appareils. Grâce à son engagement en matière de sécurité, Stremio est le meilleur choix pour une expérience de streaming de haute qualité en toute sérénité.","WEBSITE_AVAILABLE_ON":"Disponible sur","WEBSITE_WATCH_AND_ENJOY":"Regarder & profiter.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Avec Stremio, c\'est du gâteau","WEBSITE_ALL_FEATURES":"Toutes les fonctionnalités","WEBSITE_EASY_TO_USE":"Facile à utiliser","WEBSITE_EASY_TO_USE_DETAILS":"Stremio est conçu pour être convivial et facile à utiliser. Grâce à son interface claire et intuitive, vous pouvez facilement naviguer et trouver le contenu que vous souhaitez regarder.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Synchronisation transparente entre les appareils","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Disponible pour un large éventail de plateformes (Windows, Mac, Linux, Android, etc.), Stremio suit vos progrès sur tous vos appareils. Il vous suffit de vous connecter et de continuer à regarder sans avoir à configurer à nouveau l\'application sur chaque nouvel appareil.","WEBSITE_ALL_DOWNLOADS":"Tous les téléchargements","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"Supporte la vidéo HD","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"Un lecteur vidéo intégré prenant en charge la plupart des formats vidéo, y compris les contenus 4K HDR, vous permet de profiter de la meilleure qualité disponible.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Bibliothèque de contenu diversifié","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio intègre un grand nombre de sources vidéo populaires, telles que Netflix, Amazon Prime Video, Hulu, YouTube et bien d\'autres.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Créer un compte gratuit","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Expérience de visionnage sur mesure","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio vous permet de personnaliser l\'aspect et la convivialité de l\'interface en changeant le thème, en ajoutant ou en supprimant des addons, etc..","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Prise en charge des sous-titres multilingues","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"Vous pouvez désormais profiter de vos contenus préférés dans la langue de votre choix, car Stremio prend en charge les sous-titres dans toutes les langues.","WEBSITE_ALL_STREMIO_FEATURES":"Toutes les fonctionnalités de Stremio","WEBSITE_TRY_STREMIO_TITLE_P1":"Essayer Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"Sur votre TV maintenant","WEBSITE_YOU_CAN_NOW_WATCH":"Vous pouvez désormais regarder vos émissions de télévision préférées sur vos appareils TV Android. L\'application Stremio TV vous permet de profiter d\'une soirée cinéma en toute simplicité.","WEBSITE_YOU_CAN_NOW_WATCH_2":"Vous pouvez désormais regarder vos émissions de télévision préférées sur votre Smart TV ou Android TV. Les applications Stremio TV vous permettent de profiter d\'une soirée cinéma en toute simplicité.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio pour Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probablement la meilleure et la plus utile des applications à avoir dans son appareil. C\'est l\'une des applications que j\'utilise quotidiennement, en particulier sur mon Android TV depuis de nombreuses années maintenant. Bien faite avec une communauté forte qui fournit des fonctionnalités utiles. Bien joué. Continuez à faire du bon travail.","WEBSITE_REVIEWS":"Avis","WEBSITE_GET_STREMIO_FOR_FREE":"Obtenir Stremio gratuitement","WEBSITE_GET_STREMIO_NOW":"Obtenir Stremio maintenant","WEBSITE_STREMIO_FEATURES":"Fonctinnalités de Stremio","WEBSITE_STREMIO_FEATURES_DETAILS":"Visionnez comme un pro grâce aux fonctions avancées de Stremio et profitez d\'un accès transparent à tous vos médias préférés.","WEBSITE_DISCOVER_MORE":"Découvrez plus.","WEBSITE_DISCOVER_MORE_DETAILS":"Jamais à court de choses à regarder","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio dispose d\'une grande communauté active d\'utilisateurs qui contribuent au développement du logiciel en créant et en partageant des addons.","WEBSITE_GET_INVOLVED":"Participez","WEBSITE_NEW_THEATER_EXPERIENCE":"Nouvelle expérience de cinéma","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"La nouvelle application TV dédiée de Stremio vous permet de profiter d\'une soirée cinéma sur vos appareils Android TV.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Les nouvelles applications TV dédiées de Stremio vous permettent de profiter d\'une soirée cinéma sur votre Smart TV ou vos appareils Android TV.","WEBSITE_FREE_AND_SECURE":"Gratuit et sécurisé","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offre aux utilisateurs une sécurité et une confidentialité inégalées. Grâce à sa fonction unique d\'exécution à distance des modules complémentaires, Stremio offre un moyen plus sûr de diffuser vos contenus préférés que d\'autres plateformes. Votre sécurité et votre vie privée sont des priorités absolues, et la plateforme veille à ce que toutes vos données soient protégées.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Dites adieu aux inquiétudes concernant la sécurité et la vie privée et dites bonjour à un monde de divertissement sans fin avec Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Informations fournies par","WEBSITE_CONTRIBUTE":"Contribuer","WEBSITE_CONTRIBUTE_DESC":"au projet & aidez nous à améliorer Stremio","WEBSITE_COMMUNITY_DESC":"Nous pensons que la meilleure façon de créer une expérience de streaming vraiment étonnante est d\'impliquer notre communauté dans le processus. Que vous soyez un programmeur, un artiste ou simplement un fan, vous pouvez aider Stremio à se développer.","WEBSITE_COMMUNITY_DESC_2":"Rejoignez-nous dès aujourd\'hui, devenez membre de la communauté Stremio et continuez à façonner l\'avenir du streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Comment contribuer","WEBSITE_IN_THE_STREMIO_COMMUNITY":"dans la communauté Stremio","WEBSITE_SHARE_YOUR_THOUGHTS":"Partagez vos impressions","WEBSITE_REPORT_BUGS":"Rapporter un bug","WEBSITE_SUGGEST_FEATURES":"Suggérer une fonctionnalité","WEBSITE_AND_PROVIDE_FEEDBACK":"et donnez votre avis sur nos réseaux sociaux.","WEBSITE_BETA_TESTING_PROGRAM":"Programme de béta test","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participez à notre programme de test bêta (nous envoyons régulièrement des invitations) dans la communauté Stremio.","WEBSITE_JOIN_NOW":"Rejoignez maintenant !","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Communautés officielles de Stremio","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Communautés non officielles de Stremio","WEBSITE_BECOME":"Devenir","WEBSITE_A_VOLUNTEER_TRANSLATOR":"un traducteur volontaire","WEBSITE_ARE_YOU_A_DEVELOPER":"Êtes-vous un développeur ?","WEBSITE_CONTRIBUTE_CODE":"Vous pouvez contribuer au code de nos projets open source. Nous avons plusieurs projets sur GitHub qui recherchent des contributeurs. Si vous souhaitez nous aider, consultez-les :","WEBSITE_STREMIO_ON_GITHUB":"Stremio sur GitHub","WEBSITE_CREATE_ADDON_DESC":"Créer un addon pour améliorer les fonctionnalités de Stremio (nous avons une API facile à utiliser) :","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"Nous offrons également la possibilité de nous rejoindre en tant que développeur stagiaire afin que nous puissions grandir ensemble.","WEBSITE_APPLY_AS_AN_INTERN":"Postuler en tant que stagiaire","WEBSITE_CALLING_ALL_ARTISTS":"Appel à tous les artistes !","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Montrez votre créativité et votre amour pour Stremio en téléchargeant votre fan art dans notre galerie en ligne. Qu\'il s\'agisse d\'un dessin, d\'une peinture ou d\'une conception numérique, nous voulons voir votre vision unique de la marque Stremio. Rejoignez notre communauté de passionnés d\'art et partagez votre travail avec d\'autres fans de Stremio dans le monde entier.","WEBSITE_STREMIO_FANART_GALLERY":"Galerie de fanarts de Stremio","WEBSITE_INTERN_DESIGNER":"Intégrez notre équipe et donnez une nouvelle dimension à votre créativité grâce à nos offres de stage passionnantes.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Projet de films du domaine public","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"Chez Stremio, nous nous engageons à préserver l\'histoire du cinéma et de la télévision en identifiant les vidéos du domaine public et les vidéos orphelines. En collaborant avec notre communauté, nous pouvons faire en sorte que ces œuvres d\'art classiques soient accessibles à tous et protégées pour que les générations futures puissent en profiter.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"N\'hésitez pas à nous contacter si vous souhaitez participer à ce projet.","WEBSITE_JOIN_THE_PROJECT":"Rejoignez le projet","WEBSITE_BE_PART_OF_OUR_MISSION":"Participez à notre mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Intéressé pour rejoindre l\'équipe Stremio ? Toutes nos offres sont 100% remote pour professionnels passionés. Regardez nos offres d\'emploi.","WEBSITE_OPEN_POSITIONS":"POSTES OUVERTS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"En savoir plus","WEBSITE_COMPANY":"Entreprise","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Aide ?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide pour Stremio Web sur iOS","WEBSITE_LINK_ART_V2":"Gallerie de fanarts","WEBSITE_PARTNERS":"Partenaires","WEBSITE_SLOGAN_WATCH":"Regarder instantanément","WEBSITE_SLOGAN_ALL":"Toutes les vidéos que vous aimez au même endroit","WEBSITE_SLOGAN_NEW":"Tout ce que vous pouvez regarder","WEBSITE_SLOGAN_NEW_NEW":"Freedom to Stream","WEBSITE_WATCH_FROM":"Regarder depuis","WEBSITE_DOWNLOAD":"Télécharger maintenant","WEBSITE_DOWNLOAD_FOR":"Télécharger maintenant pour","WEBSITE_IS_DESKTOP":"Stremio est une application de bureau, ouvrez cette page sur votre PC et téléchargez la","WEBSITE_DESKTOP_DEMO_VID":"Démo","WEBSITE_PAGE_HOME":"Accueil","WEBSITE_PAGE_FEATURES":"Fonctionnalités","WEBSITE_PAGE_ADDONS":"Extensions","WEBSITE_PAGE_TECH":"Technologies","WEBSITE_PAGE_CREATE_ADDON":"Créer une extension","WEBSITE_PAGE_CONTACTS":"Contacts","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Veuillez saisir votre nouveau mot de passe ci-dessous.","WEBSITE_RESET_PASSWORD_WARNING":"Êtes-vous sûr de vouloir réinitialiser le mot de passe pour ${1} ?","WEBSITE_TYPE_movie":"Films","WEBSITE_TYPE_series_PL":"Séries","WEBSITE_TYPE_tv":"TV en live","WEBSITE_TYPE_channel":"Chaînes","WEBSITE_STREMIO_WHAT_IS":"Stremio set une application qui vous aide à organiser et à accéder instantanément à vos vidéos, films, séries TV et chaînes TV préférées","WEBSITE_FEATURES_WATCH":"Regarder immédiatement en HD","WEBSITE_FEATURES_WATCH_DETAIL":"Cliquer pour lancer vos vidéos, films, séries TV et chaînes TV préférées","WEBSITE_FEATURES_SUBS":"Sous-titres automatiques","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio choisit automatiquement les sous-titres pour votre langue.","WEBSITE_FEATURES_SUBS_LABEL":"À vous, chef","WEBSITE_FEATURES_CAST":"Lecture sur TV et appareils mobiles","WEBSITE_FEATURES_CAST_DETAIL":"Envoyer vers une AppleTV, Chromecast, Smart TV (DLNA/UPnP) ou un appareil mobile.","WEBSITE_LIB":"Profitez de votre bibliothèque personnelle, synchronisée sur tous vos appareils","WEBSITE_LIB_COLLECT":"Récupérer depuis Stremio","WEBSITE_LIB_IMPORT":"Importer depuis Facebook","WEBSITE_LIB_LOCAL":"Ajouter depuis votre disque","WEBSITE_BOARD":"Le tableau - Votre étape pour les notifications et recommandations","WEBSITE_BOARD_RECOMMEND":"Série TV recommandée","WEBSITE_BOARD_TRENDING":"Film tendance","WEBSITE_BOARD_NEW":"Nouvelle vidéo","WEBSITE_BOARD_EPISODE":"Nouvel épisode","WEBSITE_BOARD_1":"Envie de regarder quelque chose d\'intéressant ? Recevez des recommandations basées sur vos goûts !","WEBSITE_BOARD_2":"Soyez notifié dès qu\'un nouvel épisode de votre show TV ou chaîne youtube favorite sort !","WEBSITE_BOARD_YOUTUBE":"Nouvelles vidéos des chaînes YouTube","WEBSITE_BOARD_EPISODES":"Nouveaux épisodes des séries que vous suivez","WEBSITE_ADDONS":"Extensions de contenu","WEBSITE_TECH_DETAIL":"Nous aimons les nouvelles technologies et les expérimentations!\\nStremio utilise les technologies open source suivantes&nbsp;:","WEBSITE_TECH_WCJS":"WebChimera.js permet à Stremio de lire n\'importe quel format vidéo avec de bonnes performances.","WEBSITE_TECH_WCJS_EXTRA":"Nous sommes des contributeurs principaux du projet.","WEBSITE_TECH_ELECTRON":"Electron fournit une plateforme innovante sur laquelle bâtir Stremio.","WEBSITE_TECH_ELECTRON_EXTRA":"Nous contribuons au projet.","WEBSITE_TECH_LINVODB":"Une technologie de base de données qui assure une bonne organisation et une mise à disposition partout.","WEBSITE_TECH_LINVODB_EXTRA":"Technologie maison","WEBSITE_CREATE_ADDON":"Créez votre extension","WEBSITE_CREATE_ADDON_DETAIL":"Vous avez un service qui fournit des vidéos? Nous vous aiderons à bénéficier des fonctionnalités de Stremio en faisant votre propre extension.","WEBSITE_CREATE_ADDON_BENEFITS":"Avantages de créer une extension pour Stremio","WEBSITE_P2P_BEAUTY":"La beauté du Streaming En peer to peer","WEBSITE_P2P_1":"Vidéos full HD / 4K fiables et accessibles en VoD ou streaming","WEBSITE_P2P_2":"Plateforme de distribution avec une expérience utilisateur optimale","WEBSITE_P2P_3":"Nous vous crééerons une extension sur mesure","WEBSITE_P2P_CONTACT":"Interessé? Nous vous invitons à <a href=\'mailto:office@stremio.com\'>nous contacter</a>.","WEBSITE_P2P_CONTACT_EXTRA":"Nous serions heureux de vous aider à intégrer votre contenu à Stremio!","WEBSITE_P2P":"De temps en temps, une nouvelle technologie vient changer la donne. Nous avons investi énormément de temps et d\'efforts pour construire un moteur de streaming peer to perr (P2P) fournissant une bonne performance et polyvalence, s\'adaptant à tous les cas de figure.\\nContactez nous pour mettre en place des vidéos en P2P ou streaming avec DRM.","WEBSITE_THOUGHTS":"Des pensées à partager :","WEBSITE_SPREAD":"Passer le mot à propos de Stremio :","WEBSITE_CONTACT":"Si vous voulez nous contatez, utilisez ","WEBSITE_OPENSOURCE":"Pour nos projets open source, rendez-vous sur notre","WEBSITE_BITCOIN":"Faites nous une donation de Bitcoin :","WEBSITE_FAQ":"Questions fréquemment posées","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Questions","WEBSITE_TOS":"Conditions d\'utilisation","WEBSITE_LEGAL":"Juridique","WEBSITE_PAGE_ABOUT":"À propos","WEBSITE_PAGE_BECOME_PARTNER":"Devenez partenaire","WEBSITE_ALL_YOU_CAN_WATCH":"La Liberté de Regarder\\nTout ce que Vous Voulez.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"Qu\'est-ce que Stremio ?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio est un hub unique pour l\'agrégation de contenu vidéo. Découvrez, organisez et regardez des vidéos provenant de toutes sortes de sources sur n\'importe quel appareil que vous possédez.","WEBSITE_WHAT_IS_STREMIO_P2":"Films, émissions de télévision, séries, chaînes de télévision en direct ou chaînes web comme YouTube et Twitch.tv - vous trouverez tout cela sur Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio est un centre de médias moderne qui constitue une solution unique pour vos divertissements vidéo. Vous découvrez, regardez et organisez le contenu vidéo à partir d\'addons faciles à installer.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Films, émissions de télévision, télévision en direct ou chaînes web - trouvez tout cela sur Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Profitez sur tous vos appareils","WEBSITE_DEVICES_COLLECT":"Collecter depuis Stremio","WEBSITE_DEVICES_IMPORT_FB":"Importer depuis facebook","WEBSITE_DEVICES_LOCAL":"Ajouter depuis un disque local","WEBSITE_JOIN_THE_PARTY_NOW":"Rejoignez la fête dès maintenant","WEBSITE_DEVICES_ALL":"Facile à utiliser sur tous vos appareils;","WEBSITE_EXTENDABLE_CATALOG":"Catalogue vidéo extensible à l\'infini;","WEBSITE_ORGANIZE_YOUR_MEDIA":"De superbes fonctionnalités pour organiser vos médias;","WEBSITE_AS_SEEN_ON":"As été vu sur","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"A propos de nous","WEBSITE_LINK_TECHNOLOGY":"Technologie","WEBSITE_LINK_APPS":"Apps","WEBSITE_LINK_DOWNLOADS":"Téléchargement","WEBSITE_MORE":"Plus","WEBSITE_LINK_ADDONS":"Addons","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Contribuer","WEBSITE_LINK_COMMUNITY":"Communauté","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... & Plus","WEBSITE_LINK_HELP":"Centre d\'aide","WEBSITE_LINK_CONTACTS":"Contactez-nous","WEBSITE_LINK_TOS":"Conditions d\'utilisation","WEBSITE_LINK_PRAVACY":"Politique de confidentialité","WEBSITE_SUBSCRIBE":"Souscrire","WEBSITE_NEWSLETTER":"Rejoignez notre newsletter pour des nouvelles incroyables","WEBSITE_PLACEHOLDER_EMAIL":"Votre Email","WEBSITE_COMMUNITY":"Communauté","WEBSITE_LINK_PRAVACY_LEGAL":"Confidentialité et mentions légales","WEBSITE_WHY":"Pourquoi nous le faisons","WEBSITE_WHY_P1":"Chez Stremio, nous venons travailler tous les jours parce que nous voulons résoudre un problème important pour l\'industrie de la vidéo à la demande. Il y a tellement de nouveaux contenus publiés chaque minute qu\'il est pratiquement impossible de s\'y retrouver.","WEBSITE_WHY_P2":"Nous aidons les gens à naviguer dans cet immense monde de divertissement vidéo et à découvrir de nouveaux contenus pour en profiter. Nos applications regroupent des films, des séries, des émissions de TV en direct, des chaînes Web et plus encore. Nous nous engageons à faire en sorte qu\'il soit incroyablement facile pour les utilisateurs de trouver les titres et les diffuseurs qu\'ils aiment.","WEBSITE_WHY_P3":"Vous pouvez utiliser notre service sur n\'importe quel appareil et à tout moment, faisant de Stremio le seul centre de divertissement vidéo dont vous aurez jamais besoin.","WEBSITE_TEAM":"L\'ÉQUIPE","WEBSITE_TEAM_P":"L\'équipe de Stremio est petite mais puissante : à nous dix, nous codons en X langages et partageons notre expertise en développement logiciel, conception d\'interface utilisateur et d\'interface utilisateur, marketing et publicité, ainsi qu\'en business et startups.","WEBSITE_FEATURES":"Fonctionnalités","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Découvrez facilement de nouveaux contenus","WEBSITE_FEATURES_DISCOVER_P":"Découvrez facilement les nouveaux films, émissions de télévision, séries et chaînes à regarder. Parcourez par catégorie, genre, classement, récence, etc. ou tapez simplement un nom pour trouver. Stremio fait de la recherche d\'un nouveau contenu vidéo un jeu d\'enfant.","WEBSITE_FEATURES_ALL_CONTENT":"Tout votre contenu vidéo sur un seul écran","WEBSITE_FEATURES_ALL_CONTENT_P1":"Voyez quels films, séries ou vidéos vous n\'avez pas terminés et continuez à les regarder ; soyez averti des nouveaux épisodes et sorties ; et parcourez les recommandations que vous recevrez en fonction de vos habitudes de visionnage.","WEBSITE_FEATURES_LIBRARY":"Organisez votre vidéothèque","WEBSITE_FEATURES_LIBRARY_P1":"Ajoutez n\'importe quel titre à votre bibliothèque Stremio d\'un simple clic et trouvez votre chemin à travers votre contenu, classé par type, récence ou ordre alphabétique.","WEBSITE_FEATURES_CALENDAR":"Gardez une trace de tout ce que vous regardez","WEBSITE_FEATURES_CALENDAR_P1":"Obtenez une visualisation du calendrier de tous les films et séries que vous ajoutez à votre bibliothèque. Exportez votre calendrier Stremio et synchronisez-le afin de toujours savoir quand un nouvel épisode ou une première est prévu.","WEBSITE_FEATURES_BIG_SCREEN":"Profitez de votre contenu vidéo sur un écran plus grand","WEBSITE_FEATURES_BIG_SCREEN_P1":"Lancez tout ce que vous regardez sur un autre appareil, qu\'il s\'agisse d\'un téléphone, d\'une tablette ou d\'un téléviseur d\'un simple clic.","WEBSITE_FEATURES_SOURCES":"Regarder des vidéos provenant de nombreuses sources différentes","WEBSITE_FEATURES_SOURCES_P":"Installez des addons officiels et communautaires pour profiter de vidéos provenant de nombreux fournisseurs différents - le tout dans une seule application élégante et facile à utiliser.","WEBSITE_CREATE_AN_ADDON":"Créer un addon","WEBSITE_FEATURES_SYNC":"Synchronisez votre bibliothèque sur différents appareils et reprenez votre lecture","WEBSITE_FEATURES_SYNC_P1":"Connectez-vous avec votre compte sur tous vos appareils et profitez de la synchronisation de votre bibliothèque, de vos addons, de la lecture et de votre calendrier.","WEBSITE_FEATURES_EXTENDABLE":"Catalogue vidéo extensible via l\'ajout d\'addons","WEBSITE_FEATURES_EXTENDABLE_P1":"Le catalogue d\'addons de Stremio propose un certain nombre d\'addons à installer vous permetant de regarder une variété de contenus vidéo. Cela comprend des films, émissions, télévisions en direct, du sport, des actualités, podcasts, chaînes web, jeux vidéo et bien d\'autres encore.","WEBSITE_FEATURES_AUTO_SUBS":"Sous-titres automatiques","WEBSITE_FEATURES_AUTO_SUBS_P1":"Avec nos addons de sous-titres, vous obtenez automatiquement des options pour votre langue préférée.","WEBSITE_FEATURES_CHROMECAST":"Caster vers un Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Profitez de votre contenu vidéo sur un écran plus grand ou diffusez simplement ce que vous regardez sur un autre appareil.","WEBSITE_FEATURES_KEEP_TRACK":"Gardez une trace de vos émissions TV et de vos chaînes Web préférées","WEBSITE_FEATURES_KEEP_TRACK_P1":"Bénéficiez d\'un calendrier et de notifications pour les nouveaux épisodes de vos séries et chaînes web préférées.","WEBSITE_FEATURES_POWER_USER":"Fonctionnalités pour les utilisateurs avancés","WEBSITE_FEATURES_POWER_USER_P1":"Jouer dans un lecteur externe","WEBSITE_FEATURES_POWER_USER_P2":"Lecture à partir d\'un fichier torrent ou d\'un lien magnet","WEBSITE_FEATURES_POWER_USER_P3":"Importation dans votre bibliothèque à partir de favoris Facebook ou d\'un disque local","WEBSITE_ADD_ONS":"Addons","WEBSITE_ADD_ONS_P1":"Tout le contenu vidéo fourni par Stremio provient d\'un système d\'addon - aucun contenu ou fournisseur de contenu n\'a été intégré dans l\'application.","WEBSITE_ADD_ONS_P2":"Il y a deux groupes d\'addons disponibles : les addons officiels et les addons communautaires.","WEBSITE_ADD_ONS_P3":"Les officiels sont développés et hébergés par Stremio, tandis que les addons communautaires sont créés par les membres de notre communauté, qui les hébergent également.","WEBSITE_ADDONS_OFFICIAL":"Addons officiels","WEBSITE_ADDONS_WATCHUB":"Diffusez vos films, séries et émissions préférés de fournisseurs tels que iTunes, Hulu, Amazon et d\'autres services du Royaume-Uni et des États-Unis.","WEBSITE_ADDONS_YOUTUBE":"Regardez vos chaînes YouTube préférées sans publicité et recevez des notifications pour les nouveaux uploads des contributeurs que vous suivez.","WEBSITE_ADDONS_FILMON":"Regardez la télévision en direct, les films et la télévision gratuitement. 600 chaînes de télévision, 45 000 films, film gratuits, documentaires et plus encore","WEBSITE_ADDONS_OPENSUBTITLES":"Sous-titres de films et de télévision en plusieurs langues, des milliers de sous-titres traduits sont mis en ligne chaque jour.","WEBSITE_ADDONS_COMMUNITY":"Addons de la communauté","WEBSITE_ADDONS_FILMON_VOD":"Regarder la vidéo à la demande de Filmon.tv","WEBSITE_ADDONS_TWICH":"Regardez les flux en direct de Twitch.tv - une plateforme de streaming vidéo pour l\'industrie du e-sport","WEBSITE_ADDONS_VODO":"Regardez des films indépendants totalement gratuitement.","WEBSITE_ADDONS_NETFLIX":"Regardez des films et des séries Web de Netflix.","WEBSITE_ADDONS_CREATE":"Créer un addon","WEBSITE_ADDONS_CREATE_P1":"Si vous le souhaitez, vous pouvez développer votre propre addon. De cette façon, vous pouvez vous donner, ainsi qu\'à notre communauté, accès à un nouveau contenu vidéo et atteindre un nouveau public ciblé de millions d\'utilisateurs dans le monde entier.","WEBSITE_ADDONS_START_CREATE":"Pour commencer, visitez la page Stremio Addon SDK:","WEBSITE_DOWNLOADS":"Téléchargements","WEBSITE_DOWNLOADS_P1":"Pour des performances optimales, nous vous recommandons d\'utiliser la dernière version disponible des applications Stremio. Si, pour une raison quelconque, vous souhaitez utiliser une version plus ancienne, vous pouvez la télécharger ici.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio pour Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio pour macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio pour Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio pour Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio pour iOS (version limitée)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"La plateforme Stremio est open source et vous pouvez facilement créer un addon pour du contenu qui n\'est actuellement pas sourcé.","WEBSITE_CONTRIBUTE_WHY":"Pourquoi créer un addon ?","WEBSITE_CONTRIBUTE_WHY_P1":"Atteignez un nouveau public pour votre contenu vidéo","WEBSITE_CONTRIBUTE_WHY_P2":"La base d\'utilisateurs de Stremio s\'accroît rapidement - au cours de la première année du lancement, Stremio avait gagné 1 million d\'utilisateurs à travers le monde, et au cours de la deuxième année d\'existence de la plate-forme, ce nombre est passé à 2,5 millions.","WEBSITE_CONTRIBUTE_WHY_P3":"Avec votre addon, vous pouvez facilement atteindre cet audience et lui distribuer votre contenu vidéo.","WEBSITE_CONTRIBUTE_ALL":"Regardez vos films, vidéos, séries et chaînes préférés en un seul endroit.","WEBSITE_CONTRIBUTE_ALL_P1":"Vous êtes fan d\'un type particulier de contenu qui n\'est pas encore disponible sur Stremio ? Créez un addon et regardez vos vidéos préférées dans l\'un des hubs de divertissement les plus grands et les plus faciles à utiliser sur le marché.","WEBSITE_CONTRIBUTE_ALL_P2":"En plus de cela, vous obtiendrez la gratitude infinie d\'autres membres de la communauté Stremio partageant les mêmes idées.","WEBSITE_CONTRIBUTE_MONETIZE":"Monétisez votre addon et gagnez de l\'argent grâce à lui","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Une fois que vous avez développé un nouvel addon pour Stremio, vous pouvez facilement le monétiser de différentes manières. Si vous envisagez de le faire, n\'hésitez pas à nous contacter à l\'adresse suivante ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - nous nous ferons un plaisir de vous consulter et de vous conseiller sur les options de monétisation des addons.","WEBSITE_CONTRIBUTE_TRANSLATE":"Devenez traducteur bénévole","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Si vous souhaitez profiter des applications Stremio dans différentes langues, vous pouvez rejoindre notre communauté de traducteurs bénévoles. Ils nous aident à ajouter des versions de Stremio dans de nombreuses langues différentes.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Vous avez hâte de commencer ?","WEBSITE_TRANSALTE_STREMIO":"Traduire Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Communautés officielles","WEBSITE_COMMUNITY_OFFICIALS_P1":"Devenez membre de la communauté Stremio en pleine croissance. Suivez-nous sur les réseaux sociaux et n\'hésitez pas à nous dire bonjour - nous adorons avoir des nouvelles de nos fans ! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Communautés non officielles","STREMIO_COMMUNITY_NL":"Stremio Pays-Bas","STREMIO_COMMUNITY_BRASIL":"Stremio Brésil","STREMIO_COMMUNITY_GERMANY":"Stremio Allemagne","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgique","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italie","STREMIO_COMMUNITY_UK":"Stremio Royaume-Uni","STREMIO_COMMUNITY_USA":"Stremio Etats-Unis","STREMIO_COMMUNITY_MEXICO":"Stremio Mexique","STREMIO_COMMUNITY_ADDONS":"Addons Stremio","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partenaires et supporters","WEBSITE_COMMUNITY_GOODIES":"Goodies Stremio","WEBSITE_COMMUNITY_WALLPAPERS":"Fonds d\'écran","WEBSITE_COMMUNITY_ART":"Galerie d\'Art de la Communauté","WEBSITE_LINK_ART":"Galerie d\'Art de la Communauté","WEBSITE_CONTACT_US":"Contact us","WEBSITE_CONTACT_US_P1":"Si vous avez des questions, commentaires ou suggestions, n\'hésitez pas à nous contacter via le formulaire de contact ci-dessous.","WEBSITE_CONTACT_US_P2":"Gardez à l\'esprit que nous sommes situés en Bulgarie, il peut donc y avoir un retard dans le traitement de votre demande en raison de différences de fuseau horaire.","WEBSITE_CONTACT_US_SUCCESS":"Votre message a bien été envoyé. Nous vous répondrons dans les plus brefs délais.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Veuillez entrer un email valide !","WEBSITE_CONTACT_US_Q_RELATED_TO":"Sur quoi porte votre question ?","WEBSITE_CONTACT_US_Q_OS":"Quel est votre système d\'exploitation ?","WEBSITE_CONTACT_US_PH_EMAIL":"Votre E-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Message","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"ENVOYER","WEBSITE_CONTACT_US_Q_1":"Comment installer ?","WEBSITE_CONTACT_US_Q_2":"Comment désinstaller ?","WEBSITE_CONTACT_US_Q_3":"(HTML) Comment faire des lasagnes ?","WEBSITE_CONTACT_US_Q_4":"Addons","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Technologie","WEBSITE_TECHNOLOGY_P1":"Nous aimons la technologie et la science folle. </br> Voici ce qui fait fonctionner Stremio (tout est open-source).","WEBSITE_TECHNOLOGY_P_QT":"Le développement logiciel multiplateforme à son meilleur.","WEBSITE_TECHNOLOGY_P_MPV":"Un lecteur multimédia gratuit, open source et multiplateforme.","WEBSITE_TECHNOLOGY_P_RN":"React Native vous permet de créer des applications mobiles en utilisant uniquement JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework intégré à l\'application pour obtenir du multimédia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm est une plateforme mobile qui remplace SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js is an open-source, cross-platform, JavaScript runtime environment.","WEBSITE_TECHNOLOGY_P_RUST":"Rust is a multi-paradigm system programming language focused on safety, especially safe concurrency.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribuer au projet","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Il y a deux façons de contribuer à Stremio et de nous aider à rendre le produit encore mieux.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Vous pouvez faire don de vos précieuses compétences linguistiques en traduisant la plateforme ...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"ou","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... vous pouvez utiliser vos compétences en développement pour créer des addons communautaires. ","WEBSITE_TRANSLATE_STREMIO":"Traduire Stremio","WEBSITE_404_OH_NO":"Oh, oh ! La page que vous cherchez n\'est pas ici ...","WEBSITE_GO_HOME":"Retourner à l\'accueil","WEBSITE_LINK_OTHER_DOWNLOADS":"Autres téléchargements","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Support","WEBSITE_DOWNLOAD_4_0_BETA":"Télécharger Stremio 4 beta maintenant","WEBSITE_GET_FOR_DESKTOP":"Télécharger pour le bureau","WEBSITE_LINK_ADDON_COMPETITION":"Addon competition","WEBSITE_LINK_ART_CONTEST":"Art contest","WEBSITE_MY_ACCOUNT":"Mon compte","WEBSITE_MAINPAGE_FAQ_001_H1":"Qu\'est-ce que Stremio ?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio est un centre de médias moderne qui vous donne la liberté de regarder tout ce que vous voulez.","WEBSITE_MAINPAGE_FAQ_002_H1":"Comment cela fonctionne ?","WEBSITE_MAINPAGE_FAQ_002_P1":"Une fois que vous avez installé Stremio sur votre appareil et que vous avez créé un compte, il vous suffit de vous rendre dans le catalogue d\'addons et d\'installer tous les addons que vous voulez, et c\'est parti !","WEBSITE_MAINPAGE_FAQ_002_P2":"Ensuite, vous pouvez vous rendre dans les sections Découvrir ou Tableau pour commencer à explorer le contenu.","WEBSITE_MAINPAGE_FAQ_003_H1":"Que puis-je regarder ici ?","WEBSITE_MAINPAGE_FAQ_003_P1":"Beaucoup : Films, émissions de télévision, chaînes Internet, sport, chaînes de télévision, écouter de podcasts et bien d\'autres choses encore. Grâce à notre système d\'addons, vous pouvez accéder à une grande variété de contenus.","WEBSITE_MAINPAGE_FAQ_004_H1":"Stremio est-il open-source ?","WEBSITE_MAINPAGE_FAQ_004_P1":"Oui, vous pouvez consulter les liens suivants: ${1}application de bureau${2} et ${3}Organisation GitHub${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Stremio est-il sans danger ?","WEBSITE_MAINPAGE_FAQ_005_P1":"Oui: comme il s\'agit d\'un logiciel open-source, le code est publiquement contrôlable et vous pouvez l\'examiner vous-même.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"Qu\'en est-il de ma vie privée ?","WEBSITE_MAINPAGE_FAQ_006_P1":"Nous respectons la vie privée des utilisateurs et ne recueillons aucune donnée personnelle en dehors du minimum indispensable pour créer et synchroniser votre compte.","WEBSITE_MAINPAGE_FAQ_006_P2":"Il existe également un ${1}Mode invité${2} à l\'inscription, qui ne nécessite aucune donnée particulière : dans ce mode, aucune requète n\'est effectuée vers notre serveur. Toutefois, cela se fait au détriment de fonctions importantes, telles que la possibilité de synchroniser votre bibliothèque entre les appareils.","WEBSITE_MAINPAGE_FAQ_007_H1":"Puis-je caster sur ma TV ?","WEBSITE_MAINPAGE_FAQ_007_P1":"Oui, nous supportons Chromecast et vous pouvez caster à partir des applications bureau et mobiles (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"Combien d\'addons possède Stremio ?","WEBSITE_MAINPAGE_FAQ_008_P1":"Fin 2019, plus de 50 - pour plus d\'informations, consultez notre catalogue d\'addons.","WEBSITE_MAINPAGE_FAQ_009_H1":"Stremio peut-il être étendu au-delà de ce qui se trouve dans le catalogue de l\'addon ?","WEBSITE_MAINPAGE_FAQ_009_P1":"Oui, vous devriez faire un tour ici: ${1}PimpMyStremio${2}, ${3}Communautés Reddit${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"Quels sont les appareils pris en charge par Stremio ?","WEBSITE_MAINPAGE_FAQ_010_P1":"Nous avons des applications de bureau pour Windows, Mac et Linux. Pour les mobiles, nous prenons en charge Android et iOS, tout en gardant à l\'esprit que la version iOS est limitée dans ses fonctionnalités (elle ne prend pas en charge la plupart des addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"Il existe de nombreux appareils basés sur Android sur lesquels vous pouvez faire tourner Stremio, comme NVIDIA Shield et Amazon Fire Stick, mais nous ne les supportons pas officiellement.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Pouvez-vous ajouter certains contenus à Stremio ?","WEBSITE_MAINPAGE_FAQ_011_P1":"Désolé, nous ne fournissons pas de contenu nous-mêmes, mais plus vous avez installé d\'addons Stremio, plus vous serez en mesure de trouver du contenu.","WEBSITE_MAINPAGE_FAQ_012_H1":"Stremio peut-il jouer les liens magnet ?","WEBSITE_MAINPAGE_FAQ_012_P1":"Oui, et il peut également lire des liens HTTP normaux et des fichiers torrents (glisser-déposer).","WEBSITE_MAINPAGE_FAQ_013_H1":"Puis-je télécharger une vidéo et la regarder hors ligne ?","WEBSITE_MAINPAGE_FAQ_013_P1":"La disponibilité hors ligne est une fonctionnalité à venir, mais si vous autorisez Stremio à se mettre en cache sur votre appareil (à partir du panneau de configuration), vous pouvez regarder les vidéos plus tard sans connexion.","WEBSITE_MAINPAGE_FAQ_014_H1":"Rien ne marche, aidez-moi !","WEBSITE_MAINPAGE_FAQ_014_P1":"Êtes-vous sûr d\'avoir installé des addons ? Si oui, vérifiez auprès de notre ${1}centre d\'aide${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"Comment Stremio soutient-il ses opérations de développement ?","WEBSITE_MAINPAGE_FAQ_015_P1":"Nous diffusons occasionnellement des publicités non intrusives, mais nous envisageons de passer à un modèle de don.","WEBSITE_MAINPAGE_FAQ_015_P2":"Pour plus de questions, consultez notre ${1}centre d\'aide${2}.","HELP_LEARN_MORE":"Aidez-nous à mieux vous connaître.","LIFESTYLE":"Lifestyle","SPORTS":"Sports","FOOD_HEALTH":"Alimentation & santé","BEAUTY_FASHION":"Beauté & mode","NEWS":"News","GAMING":"Gaming","SCIENCE_EDUCATION":"Science & éducation","MUSIC":"Musique","TRAVEL":"Voyages","LATE_NIGHT":"Late Night","REALITY":"Télé-réalité","COMEDY":"Comédie","DIY":"DIY","TECH":"Tech","CINEMA":"Cinema","CONTINUE":"Continuer","SLOW_LOADING":"CHARGEMENT LENT ?","I_GIVE_UP":"J\'ABANDONNE","LEARN_MORE":"En savoir plus","POOR_SOURCE":"Cette source est difficilement accessible ou votre connexion Internet n\'est pas assez rapide.","PICK_CATEGORIES_ERR":"Vous devez choisir au moins 3 catégories","ADJUST_TIMING":"Ajuster le timing avec ","ADJUST_SIZE":"Ajuster la taille avec ","SEARCH_ANYTHING":"Vous pouvez tout rechercher ...","ALL_CATEGORIES":"Tous","SEARCH_CATEGORIES":"Films, Séries, YouTube & TV","SEARCH_PERSONS":"Acteurs, réalisateurs et scénaristes","SEARCH_PROTOCOLS":"HTTP & Liens Magnet","SEARCH_TYPES":"Liens IMDB / TVDB","WATCHED":"Regardé","SHOW_LESS":"Afficher moins","LAST_SEARCHES":"Dernières recherches","CLEAR_HISTORY":"Effacer l\'historique","CHOOSE_SOME":"CHOISISSEZ-EN CERTAINS :","NO_WEB_REMOTE":"La télécommande Web n\'a pas pu être chargée","STREMIO_OFFLINE":"Stremio est hors-ligne","STREMIO_EXPENSIVE_CONNECTION":"Une connexion réseau coûte cher","USE_DATA":"Utiliser les données","WARNING":"Attention","MORE_INFO":"Plus d\'infos ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Chargement ...","STREMIO_TV_BACK_TO_LANGUAGES":"Retour aux langues","STREMIO_TV_REMOTE":"Télécommande","STREMIO_TV_GO_TO":"Aller à:","STREMIO_TV_OR_SCAN":"ou scanner :","STREMIO_TV_ADDON_INSTRUCTIONS":"Veuillez suivre les instructions afin d\'installer vos addons préférés.","STREMIO_TV_LIVE_TV":"Télé en direct","STREMIO_TV_RESUME_WATCHING":"Reprendre le visionnage","STREMIO_TV_LOADING_BACKGROUND":"Chargement de l\'arrière-plan","STREMIO_TV_CHECKING_AUTHENTICATION":"Vérification de l\'authentification","STREMIO_TV_LOADING_BOARD":"Chargement du tableau","STREMIO_TV_LOGIN_HEADER_LINE_1":"Nous voulons que nos utilisateurs bénéficient de la meilleure expérience personnalisée possible avec notre logiciel.","STREMIO_TV_LOGIN_HEADER_LINE_2":"C\'est pour cette raison que nous vous demandons de bien vouloir créer et/ou vous connecter à votre compte.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Merci de votre compréhension,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"L\'équipe Stremio","STREMIO_TV_REMOTE_INSTRUCTIONS":"Pour utiliser la télécommande Web avec votre smartphone / tablette / ordinateur :","STREMIO_TV_WIFI_SETUP":"Configuration Wi-Fi","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle n\'a pas détecté de connexion Internet.","STREMIO_TV_WIFI_DETAILS_1":"Connectez-vous à :","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Utilisez le mot de passe :","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Ouvrez un navigateur Web avec le lien :","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Par défaut","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"Par dernier visionnage","STREMIO_TV_LIBRARY_SORT_NAME":"Par titre","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"Par le nombre de visionnages","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Saison ${1}","STREMIO_TV_STREAMS_LOADING":"${1} / ${2} addons chargés...","STREMIO_TV_STREAMS_STILL_LOADING":"L\'addon ${1} est toujours en chargement...","STREMIO_TV_PLAYER_SETTINGS":"Paramètres du lecteur","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Délai des sous-titres","STREMIO_TV_PLAYER_AUDIO_DELAY":"Délai de l\'audio","STREMIO_TV_PLAYER_VIDEO_SCALING":"Mise à l\'échelle de la vidéo","STREMIO_TV_PLAYER_CHAPTERS":"Chapitres","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Sauter ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Source de flux non prise en charge","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Échec de l\'ouverture d\'un lien externe","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Non réglable en mode audio passthrough","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Lecture avec ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Lecture avec libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Passage au lecteur libVLC en raison d\'une erreur de lecture","STREMIO_TV_ADDONS_TITLE":"Utilisez Stremio sur votre téléphone ou votre PC pour installer ou configurer les addons et appuyez sur \\"Synchroniser les addons\\".","STREMIO_TV_ADDONS_SUBTITLE":"Note : assurez-vous que vous utilisez le même compte Stremio.","STREMIO_TV_ADDONS_SYNC_ADDONS":"Synchroniser les addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Synchronisation des Addons réussie","STREMIO_TV_ADDONS_SYNC_FAILED":"Échec de la synchronisation des addons","STREMIO_TV_META_LINK_FAILED":"Échec de l\'ouverture du méta lien","STREMIO_TV_CATALOG_LOADING":"Catalogue en cours de chargement...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Mise à jour de la langue de l\'interface","STREMIO_TV_SETTINGS_THEME_UPDATED":"Thème mis à jour","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Lecteur par défaut","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Lecteur externe","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Langue préférée","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Langue secondaire préférée","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Problèmes de lecture possibles sur certains appareils","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Certains formats vidéo peuvent ne pas fonctionner","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Correspondance des fréquences d\'images","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Désactivé","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Taux de rafraîchissement uniquement","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Taux de rafraîchissement et résolution","STREMIO_TV_SETTINGS_NO_CACHING":"Pas de mise en cache","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Par défaut","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Calme","STREMIO_TV_SETTINGS_PROFILE_FAST":"Rapide","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Très rapide","STREMIO_TV_SETTINGS_SERVER_URL":"URL du serveur de streaming","STREMIO_TV_SETTINGS_SERVER_VERSION":"Version du serveur","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Inconnue","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Version de Stremio","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Modifier l\'URL du serveur","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Entrez l\'URL d\'un serveur de streaming","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Afficher les statistiques pendant le chargement","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"Pour consulter la politique de confidentialité de Stremio, visitez le site suivant :","STREMIO_TV_SETTINGS_TOS_TEXT":"Pour lire les conditions générales d\'utilisation de Stremio, rendez-vous sur le site suivant :","STREMIO_TV_NAV_SEARCH":"Recherche","STREMIO_TV_NAV_HOME":"Accueil","STREMIO_TV_NAV_DISCOVER":"Découvrir","STREMIO_TV_NAV_LIBRARY":"Bibliothèque","STREMIO_TV_NAV_MOVIES":"Films","STREMIO_TV_NAV_SERIES":"Series","STREMIO_TV_NAV_CHANNELS":"Chaînes","STREMIO_TV_NAV_TV":"TV en direct","STREMIO_TV_NAV_SETTINGS":"Réglages","STREMIO_TV_NAV_ADDONS":"Addons","STREMIO_TV_LOGIN_TITLE":"Lier un compte","STREMIO_TV_LOGIN_EXPIRES_IN":"Expire dans","STREMIO_TV_LOGIN_STEP_ONE":"Scannez le code QR ci-dessus ou rendez-vous sur","STREMIO_TV_LOGIN_STEP_TWO":"Connectez-vous à votre compte Stremio","STREMIO_TV_LOGIN_NEW_LINK":"Demander un nouveau lien","STREMIO_TV_LOGIN_LINK_REFRESHED":"Code de connexion actualisé","STREMIO_TV_SEARCH_PLACEHOLDER":"Entrez quelque chose","STREMIO_TV_SEARCH_NO_ADDONS":"Aucun addon n\'a été demandé pour les catalogues !","STREMIO_TV_SEARCH_BUTTON":"Rechercher","STREMIO_TV_SEARCH_KEY_DEL":"Suppr","STREMIO_TV_SEARCH_KEY_SPACE":"Espace","STREMIO_TV_SEARCH_KEY_CLEAR":"Effacer","STREMIO_TV_SEARCH_HISTORY_TITLE":"Historique de recherche","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Vous pouvez rechercher des titres, des acteurs, des chaînes et plus encore...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Effacer l\'historique de recherche","STREMIO_TV_FILTERS_DESCRIPTION":"Choisissez l\'un des filtres ci-dessous","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Le serveur de streaming est hors ligne. Vérifiez les paramètres du serveur.","FILTERS":"Filtres","SETTINGS":"Réglages","ACCOUNT":"Compte","LOGOUT":"Déconnexion","THEMES":"Thèmes","PLAYBACK":"Lecture","PLAYBACK_SPEED":"Vitesse de lecture","AUDIO_TRACKS":"Pistes audio","UNKNOWN_TRACK_LANG":"Inconnue","VIDEOS":"Vidéos","SERVER":"Serveur","LINKS":"Liens","ABOUT":"À propos","INTERFACE":"Interface","ANIMATIONS":"Animations","STATUS":"Statut","LANGUAGE":"Langue","SIZE":"Taille","DELAY":"Délai","BOLD":"Gras","OPACITY":"Opacité","TEXT_COLOR":"Couleur du texte","OUTLINE_COLOR":"Couleur du contour","BACKGROUND_COLOR":"Couleur de l\'arrière-plan","BACKGROUND_BLUR":"Flou d\'arrière-plan","SEEK_TIME_DURATION":"Durée de la navigation de la lecture","AUTO_PLAY":"Lecture automatique du prochain épisode","PLAY_NOW":"Regarder","MARK_AS_WATCHED":"Marquer comme regardé","MARK_AS_UNWATCHED":"Marquer comme non regardé","REWIND_TO_BEGINNING":"Revenir au début","CONTINUE_WATCHING":"Continuer de regarder","ALL":"Tous","SECONDS":"Secondes","ON":"ON","OFF":"OFF","RELOAD":"Actualiser","EDIT_URL":"Modifier l\'URL","NONE":"Aucun","EMBEDDED":"Embarqué","REMOTE_SWITCH_DEVICES":"Changer d\'appareil","REMOTE_VIDEOS":"Vidéos","REMOTE_ADJUST_TIMING":"Ajuster le chronométrage","REMOTE_ADJUST_SIZE":"Ajuster la taille","REMOTE_COULD_NOT_BE_LOADED":"La télécommande Web n\'a pas pu être chargée","REMOTE_RETRY":"Réessayer","TORRENT_PROFILE_DEFAULT":"Par défaut","TORRENT_PROFILE_SOFT":"Calme","TORRENT_PROFILE_FAST":"Rapide","TORRENT_PROFILE_ULTRA_FAST":"Très rapide","FAQ_001_H1":"Qu\'est-ce que le Stremio ?","FAQ_001_P1":"Stremio est un logiciel de centre multimédia conçu pour le divertissement vidéo avec une facilité d\'utilisation à l\'esprit. Stremio vous permet d\'organiser &amp; regardez votre propre collection de films, séries, chaînes et TV en direct.","FAQ_001_P2":"Stremio collecte le contenu qu\'il vous montre à partir de votre disque local et de notre système d\'addons.","FAQ_001_P3":"Il vous avertira également de la sortie de nouveaux épisodes/vidéos/films qui vous intéressent et vous fournira des recommandations de films.","FAQ_02_H1":"Comment Stremio se compare-t-il à Kodi et Plex ?","FAQ_02_P1":"Nous nous inspirons de ces deux logiciels. Mais nous avons des objectifs différents - Stremio est spécifiquement destiné à la vidéo de divertissement et s\'efforce de devenir la solution grand public pour cela en étant très facile à utiliser.","FAQ_02_P2":"Stremio ne sera jamais aussi personnalisable et riche en fonctionnalités que Kodi et Plex, mais il est nettement plus facile à utiliser. Juste ${1} l\'obtenir et voir ${2} :)","FAQ_03_H1":"Comment Stremio se compare-t-il à Netflix ?","FAQ_03_P1":"Encore une fois, Netflix est l\'une de nos inspirations. Nous nous efforçons d\'obtenir l\'expérience utilisateur de Netflix, ainsi que de nombreux avantages supplémentaires. Mais plus important encore, nous vous donnons la liberté de gérer votre propre bibliothèque et d\'ajouter de nouvelles sources de contenu avec notre système d\'extensions.","FAQ_03_P2":"Cela rend Stremio extensible à l\'infini, donc lorsque vous utilisez Stremio, vous n\'êtes jamais limité au contenu que Netflix décide d\'octroyer via une licence. Par exemple, via Stremio, vous pouvez regarder le contenu de ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo$ {8} et même ${9}Netflix${10}","FAQ_04_H1":"Comment Stremio se compare-t-il à Flipboard ?","FAQ_04_P1":"Nous ne recevons pas souvent cette question, sauf lorsque nous parlons à des start-up :)","FAQ_04_P2":"Stremio est par conception un agrégateur de contenu, ce qui en fait essentiellement Flipboard pour la vidéo. Cela est très évident dans notre section Tableau, qui vous donne des catalogues et des notifications de nouveaux épisodes/nouvelles vidéos en lien avec se que vous suivez, tout comme Flipboard.","FAQ_05_H1":"Comment Stremio se compare-t-il à Popcorn Time ?","FAQ_05_P1":"Stremio et Popcorn Time sont similaires dans l\'interface utilisateur, car il n\'y a pas beaucoup de façons de faire des catalogues de divertissement vidéo correctement :)","FAQ_05_P2":"Mais alors que Popcorn Time se concentre sur la diffusion de torrents à partir de sources spécifiques, Stremio est illimité et est simplement un agrégateur de contenu - il n\'est pas verrouillé dans une source de contenu spécifique.","FAQ_05_P3":"De plus, nous ne fournissons aucun addon torrent par défaut, donc Stremio ne couvre pas le cas d\'utilisation de Popcorn Time avec des fonctionnalités officielles.","FAQ_05_P4":"Une autre différence notable est que Popcorn Time est entièrement open source, tandis que Stremio est ${1} partiellement open source${2}.","FAQ_06_H1":"Allez-vous ajouter ce film/série ?","FAQ_06_P1":"Non désolé :(","FAQ_06_P2":"Comme mentionné dans la plupart des autres questions, Stremio ne fournit aucun contenu par lui-même - tout est ajouté via le système d\'addons. Si vous avez une demande de contenu, vous pouvez utiliser le bouton “Signaler” dans le lecteur, qui enverra un e-mail à l\'auteur de l\'addon que vous utilisez actuellement.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Allez-vous créer un addon pour X ?","FAQ_08_P1":"C\'est tout à fait possible.","FAQ_08_P2":"Si vous avez une idée pour un addon, écrivez-nous à ${1}office@stremio.com${2}, mais assurez-vous que votre idée d\'addon n\'enfreindra aucun droit d\'auteur ou condition d\'utilisation.","FAQ_08_P3":"Pour le moment, les prochaines choses sur notre feuille de route sont des addons pour FandangoNOW, la vidéo à la demande Filmon.tv et Crunchyroll.","FAQ_09_H1":"Est-ce que Stremio utilise BitTorrent ?","FAQ_09_P1":"Oui, Stremio prend en charge BitTorrent comme protocole de streaming. Vous pouvez l\'utiliser soit avec un addon torrent, soit en glissant-déposant un fichier .torrent dans Stremio, soit en collant un lien magnet dans la barre de recherche.","FAQ_09_P2":"Veuillez noter que le seul addon officiel utilisant BitTorrent est ${1}Vodo${2}, qui fournit du contenu indépendant, tous autorisés à être distribués avec BitTorrent.","FAQ_09_P3":"Nous ne prenons pas en charge l\'utilisation d\'addons tierces susceptibles de permettre une violation du droit d\'auteur.","FAQ_10_H1":"Que puis-je regarder dans Stremio avec les addons officielles ?","FAQ_10_P1":"Par défaut, vous pouvez regarder du contenu Filmon.tv, YouTube et Vodo dans Stremio lui-même, avec son lecteur intégré. De plus, nous avons un addon pour Twitch.tv et quelques autres.","FAQ_10_P2":"Cette combinaison offre une sélection de :","FAQ_10_L1":"Chaînes de télévision populaires, fournies par Filmon.tv - par exemple E4, BBC, Bollyworld TV","FAQ_10_L2":"Tout sur YouTube - par exemple BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Films indépendants avec Vodo","FAQ_10_L4":"Diffusions de jeux en ligne avec Twitch.tv","FAQ_10_P3":"De plus, il existe de nombreuses sources de contenu fournies avec Guidebox et les addons Netflix, qui <b>ne sont pas</b> lues entièrement dans Stremio, mais redirigeraient vers le service donné. Par exemple, l\'addon Guidebox vous donnerait une sélection de films que vous pouvez diffuser gratuitement aux États-Unis, à partir de services tels que TubiTV et Crackle.","FAQ_11_H1":"Stremio ne s\'installe pas, que dois-je faire ?","FAQ_11_P1":"Si vous utilisez Windows, essayez ${1}cet programme d\'installation alternatif${2}.","FAQ_11_P2":"Si vous utilisez Mac OS X, sachez que nous ne prenons en charge aucune version antérieure à OS X Mavericks (10.9).","FAQ_11_P3":"Si vous êtes sous Linux, sachez que nous ne prenons en charge que Linux 64 bits (x64) pour le moment.","FAQ_11_P4":"Si vous ne parvenez toujours pas à résoudre votre problème, veuillez nous écrire sur notre ${1}groupe Facebook${2}.","FAQ_12_H1":"Pourquoi mon antivirus se plaint-il ? Est-ce que Stremio est sûr ?","FAQ_12_P1":"Nous vous assurons que Stremio est $ à {1}100% sûr${2}.","FAQ_12_P2":"Votre antivirus se plaint parce que nous incluons de la publicité dans notre programme d\'installation, que certains programmes antivirus reconnaissent comme un logiciel publicitaire.","FAQ_12_P3":"Si vous n\'êtes toujours pas sûr, vous pouvez essayer notre ${1}programme d\'installation alternatif${2}.","FAQ_13_H1":"Comment créer un addon ?","FAQ_13_P1":"Pour commencer, nous vous recommandons de consulter notre ${1}module système d\'addons${2} sur GitHub.","FAQ_13_P2":"Ensuite, vous pouvez suivre le ${1}tutoriel Hello World${2}.","FAQ_13_P3":"Si vous n\'avez aucune compétence en programmation, veuillez publier votre idée sur ${1}la communauté Reddit${2} et contactez-nous avec votre idée d\'extension sur ${3}office@stremio.com${4}.","FAQ_14_H1":"Comment les addons sont-ils publiés ?","FAQ_14_P1":"Lorsque vous créez un addon et un hôte, et que vous placez un champ <b>endpoint</b> dans votre répertoire, qui pointe vers une adresse d\'addon fonctionnelle, l\'addon se publiera automatiquement dans notre ${1}catalogue d\'addons${2} .","FAQ_14_P2":"Cela se produit parce que la partie serveur du module stremio-addons fait automatiquement un appel à notre API pour annoncer l\'addon. Lorsque notre API validera votre <b>endpoint</b> comme un addon valide, il commencera à apparaître dans le catalogue.","FAQ_15_H1":"Puis-je exécuter Stremio dans mon navigateur ?","FAQ_15_P1":"Pas pour le moment, mais ça s\'en vient !","FAQ_15_P2":"Si vous êtes curieux de voir une version Alpha, vous pouvez le voir ici : ${1}alpha4.strem.io${2}. Gardez à l\'esprit que le streaming est désactivé sur cette version alpha. Nous prenons en charge Chrome, Firefox, Opera et Edge.","FAQ_16_H1":"La diffusion sur la télévision ne fonctionne pas/les sous-titres ne fonctionnent pas","FAQ_16_P1":"La diffusion sur téléviseur utilise la technologie DLNA qui varie entre les différentes marques et modèles de téléviseurs. Pour cette raison, nous n\'avons pas la capacité de la tester dans tous les cas, il est donc loin d\'être parfait. Malgré cela, nous travaillons constamment à son amélioration, mais nous ne pouvons pas vous donner une estimation du moment où DLNA commencera à fonctionner correctement sur votre téléviseur.","FAQ_16_P2":"Si vous ne voyez même pas votre téléviseur dans le menu de diffusion, essayez de désactiver votre connexion réseau et de la réactiver (sous Windows, cliquez avec le bouton droit sur le réseau et utilisez Activer/Désactiver), ainsi que de redémarrer votre routeur, votre téléviseur et votre PC..","FAQ_16_P3":"Si vous rencontrez toujours des problèmes, vous pouvez nous aider en envoyant des informations sur la marque et le modèle de votre téléviseur à l\'adresse ${1}office@stremio.com${2}.","FAQ_16_P4":"En attendant, nous vous recommandons Chromecast, que nous supportons très bien, ou simplement brancher votre téléviseur à votre PC avec un câble HDMI.","FAQ_17_H1":"Stremio se fige et/ou plante, que puis-je faire ?","FAQ_17_P1":"Tout d\'abord, si vous utilisez Windows 7 avec l\'antivirus AVG : nous avons un problème avec cette combinaison. Le problème est dans AVG lui-même, et il n\'y a aucun moyen raisonnable de le résoudre de notre côté. Malheureusement, les exceptions ou la désactivation de l\'antivirus ne fonctionneront pas. La seule solution est de remplacer AVG par autre chose.","FAQ_17_P2":"Si ce n\'est pas le problème, mais que vous utilisez toujours Windows, veuillez mettre à jour le dernier service pack et mettre à jour/réinstaller vos pilotes GPU, puis réessayer.","FAQ_17_P3":"Si votre problème n\'est toujours pas résolu, ou si vous utilisez un Mac ou Linux, veuillez nous écrire pour nous signaler les détails exacts du problème sur ${1}notre groupe Facebook${2}.","FAQ_18_H1":"Comment créer un addon ?","FAQ_18_P1":"Pour commencer, nous vous recommandons de consulter notre ${1}système de addons${2} sur GitHub.","FAQ_18_P2":"Ensuite, vous pouvez suivre le ${1}tutoriel Hello World${2}.","FAQ_18_P3":"Si vous n\'avez aucune compétence en programmation, veuillez publier votre idée sur ${1}la communauté Reddit${2} et contactez-nous avec votre idée d\'extension sur ${3}office@stremio.com${4}.","FAQ_19_H1":"Pourquoi Stremio prend-il de l\'espace disque ?","FAQ_19_P1":"Stremio dispose d\'un <b>cache local</b> pour conserver temporairement les fichiers vidéo que vous diffusez.","FAQ_19_P2":"Cela présente deux avantages : premièrement, cela permet à Stremio de pré-charger en mémoire tampon la vidéo à l\'avance afin d\'assurer un streaming plus fluide. Deuxièmement, il conserve les vidéos dans le cache local afin que vous puissiez continuer à les regarder hors ligne.","FAQ_19_P3":"La quantité conservée par Stremio dépend du paramètre <b>Cache</b> dans le panneau Paramètres. Stremio peut conserver jusqu\'à la quantité définie (par exemple 2 Go) sur votre disque, à moins que la vidéo actuellement diffusée ne soit plus grande que cela, auquel cas il doit allouer suffisamment de stockage pour la conserver jusqu\'à ce que vous la regardiez.","FAQ_20_H1":"Où est le dossier contenant les caches ?","FAQ_20_P1":"Sous Windows, c\'est stremio-cache dans le lecteur que vous avez choisi dans les paramètres (ex. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"Sur Mac c\'est \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"Sur Linux, c\'est \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"J\'obtiens l\'erreur \\"Le serveur de streaming est introuvable\\", que puis-je faire ?","FAQ_21_P1":"Si vous obtenez cette erreur, cela signifie l\'une des rares choses suivantes :","FAQ_21_P2":"1) Vous essayez d\'utiliser un module complémentaire soutenu par la source YouTube/BitTorrent, via notre ${1}version Web${2}. Dans ce cas, vous devez installer notre version de bureau à partir de ${3}notre site Web${4}.","FAQ_21_P3":"2) Quelque chose ne va pas avec votre installation Stremio. Dans ce cas, essayez de réinstaller notre dernière version de bureau à partir du ${1}site Web${2}. Si cela ne résout pas le problème, essayez de désactiver les programmes antivirus et les pare-feu, redémarrez votre PC et réessayez. Si cela ne fonctionne pas non plus, écrivez-nous à notre ${3}notre groupe Facebook${4}.","FAQ_22_H1":"Je ne peux pas voir/utiliser la plupart des addons sur iOS","FAQ_22_P1":"En raison de restrictions dans les termes et conditions de l\'App Store d\'Apple, nous avons limité l\'application iOS uniquement à un ensemble particulier d\'addons.","FAQ_22_P2":"Mais rassurez-vous - il y aura plus d\'addons pour iOS à l\'avenir, et nous pouvons également ajouter une intégration qui vous permettra d\'utiliser tous les addons Stremio grâce à la connexion de l\'application iOS au serveur de streaming Stremio."}')},61525:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"סרט","TYPE_series":"סדרה","TYPE_tv":"ערוץ טלויזיה","TYPE_channel":"ערוץ","TYPE_other":"אחר","TYPE_movie_PL":"סרטים","TYPE_series_PL":"סדרות","TYPE_tv_PL":"ערוצי טלויזיה","TYPE_channel_PL":"ערוצים","TYPE_other_PL":"אחרים","TYPE_ALL":"הכל","TYPE":"סוג","CATALOG_com_linvo_cinemeta_top":"פופולרי","CATALOG_com_linvo_cinemeta_imdbRating":"מומלצים","CATALOG_com_linvo_cinemeta_year":"חדש","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"סרטים פומביים","VIDEO":"וידאו","BACK":"חזור","MORE":"עוד","DONE":"סיום","COPY":"העתקה","SUCCESS":"הצלחה","ERROR":"שגיאה","SETTINGS_CASTING_MODE_PICKER":"מצב ליהוק","CASTING_MODE_HLSV2":"ברירת מחדל","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"לא מקודד","Discover":"גלה","Board":"לוח","Library":"ספרייה","My Library":"הספרייה שלי","Calendar":"לוח שנה","NOTIFICATION_ONLINE":"הנך כרגע מחובר","NOTIFICATION_OFFLINE":"הנך כרגע מנותק","INTERNET_CONNECTION":"חיבור רשת","STORAGE_FULL_TITLE":"אזהרה: כונן האחסון מלא!","STORAGE_FULL_TEXT":"Stremio לא תוכל לשמור את ההגדרות שלך, אפשרויות או פרטי ההתחברות. נא לשקול הסרה והתקנה מחדש של Stremio.","SEARCH":"חיפוש","SEARCH_NO_RESULTS":"לא נמצאו תוצאות","SEARCH_EXPLANATION_CONTENT":"YouTube-חפש סרטים, סדרות ועורצי טלויזיה ו","SEARCH_EXPLANATION_PEOPLE":"חפש שחקנים, בימאים ותסריטאים","SEARCH_PASTE_LINKS":"הדבקת קישורים ישירים ומגנט","SEARCH_OR_PASTE_LINK":"חפש או הדבק קישור","SEARCH_SUGGESTIONS":"המלצות חיפוש","ADD_TO_LIB":"הוסף לספרייה","REMOVE_FROM_LIB":"הסר מהספרייה","ADDED_TO_LIB":"נוסף לספרייה","REMOVED_FROM_LIB":"הוסר מהספרייה","TRAILER":"קדימון","WATCH_TRAILER":"צפייה בקדימון","WATCH_NOW":"צפה כעת","SHOW":"הצג","SHOW_MOVIE":"הצגת סרט","WATCH_RANDOM":"צפייה אקראית","IMDB_RATING":"דירוג IMDb","YEAR":"שנה","DIRECTOR":"במאי","WRITER":"כותב","LEAD_ACTORS":"שחקנים ראשיים","CAST":"משתתפים","CREW":"צוות","SHOW_MORE_CAST":"הצג יותר","AIRED":"תאריך שידור","SEASONS":"עונות","GENRE":"סוגה","GENRE_ALL":"כל הסגנונות","CATALOG":"קטלוג","SUMMARY":"תקציר","SHOW_MORE":"להציג יותר","SIMILAR":"דומה","UPCOMING":"בקרוב","ENDED":"הסתיים","DURATION":"אורך","FEATURED":"מומלצים","METADATA":"מידע","CATEGORY":"קטגוריה","LINKS_GENRES":"ז\'אנר","LINKS_CAST":"שחקנים","LINKS_DIRECTORS":"מפיקים","SEARCH_VIDEOS":"חפש וידאו","SEARCH_PLACEHOLDER":"חיפוש או שימוש בקישור מגנט","ADDON":"תוסף","ADDONS":"תוספים","OFFICIAL":"רשמי","ADDONS_OFFICIAL":"תוספי סטרימיו רשמיים","ADDONS_POPULAR":"פופולרי באזור שלך","ADDON_FREE":"חינם","ADDON_PEERED":"משותף","ADDON_SUBSCRIPTION":"הרשמה","ADDON_STREAM_GEORESTRICTED":"לא זמין באזורך","ADDON_STREAM_OFFLINECACHE":"מטמון לא מקוון","ADDON_STREAM_LOCALFILE":"קובץ מקומי","SHARE_ADDON":"שתף את ההרחבות","AVAILABLE_STREAMS":"מקורות זמינים","NO_STREAM":"לא נמצאו מקורות","ALL_ADDONS":"הכל","INSTALL_MORE_ADDONS":"לעוד אפשרויות הזרמה, אנא התקינו תוספים נוספים","STREAM_NOT_SUPPORTED":"ההזרמה שנבחרה אינה נתמכת בפלטפורמה זו.","ADDON_CATALOGUE":"כל התוספים »","ADDON_CATALOGUE_MORE":"עוד תוספים »","REPO_ADDED":"מקור נוסף","ADDON_REPO_EXIST_ERR":"מקור תוספים זה כבר קיים","ADDON_REPO_ERR":"ארעה שגיאה בזמן הוספת מקור","ADDON_ADD_ERR":"ארעה שגיאה זמן הוספת תוסף","ERR_ADDON_PROTECTED":"תוסף מוגן","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"משהו השתבש - התחברות נכשלה","ERR_NOT_COLLECTION_URL":"לא קישור לאוסף","ERR_NOT_ADDON_URL":"לא כתובת תוסף","ERR_DETECTFROMURL":"אין אפשרות לזהות בקישור","ADDON_DUPLICATE_WARNING":"אזהרה: כפילות תוסף","ADDON_COLLECTION_SET_FAILED":"אוסף תוספים נכשל","SETTINGS_DATA_EXPORT":"ייצוא מידע","ADDON_PULL_FAILED":"משיכת התוסף נכשל","REFRESH_ON_CLICK":"נא ללחוץ כאן כדי לנסות שוב","STILL_IN_THEATER":"הסרט עדיין בקולנוע","WATCH_IN_CINEMA":"צפה בו בקולנוע","IN_THEATER":"בקולנוע","GET_TICKETS":"קבל כרטיסים","UPCOMING_EPISODE":"הפרק הבא","UPCOMING_EPISODE_MESSAGE":"פרק זה ישודר בתאריך","MISSING_DATE_EPISODE":"תאריך הפרק חסר","MISSING_DATE_EPISODE_MESSAGE":"פרק זה כנראה טרם שודר","CHANNEL_NOT_SCRAPED":"ערוץ זה עדיין לא מוכן.<br>אנא חזור בעוד כמה דקות.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"הוסף לסיפריה וקבל התרעה מתי שיהיה מוכן.","GET_NOTIFIED_WHEN_AVAILABLE":"אתה תקבל התרעה שהוא יהיה מוכן.","WARNING_STREAMING_SERVER":"אזהרה: שרת שידור מקומי לא נמצא. שידור מ-YouTube ומ-BitTorrent אינו אפשרי.","WARNING_STREAMING_SERVER_DISMISS":"התעלמות","WARNING_STREAMING_SERVER_LATER":"מאוחר יותר","DECODER_WARNING":"אזהרה: וידאו זה אינו נתמך עם החומרה שיש ברשותך. שימו לב, ההפעלה עשויה להיות איטית.","GENERIC_ERROR_MESSAGE":"משהו רע קרה!","TRY_AGAIN":"נסה שוב","CLEAR_DATA":"נקה את המידע","PLAYER_ERROR":"אופס, שגיאת נגן","PLAYER_ERROR_LOOKSLIKE":"נראה כי","PLAYER_ORIENTATION":"כיוון הנגן","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"נעול","PLAYER_ORIENTATION_SENSOR_SHORT":"חיישן","PLAYER_ORIENTATION_LANDSCAPE":"כיוון הנגן נעול לתצוגה רחבה","PLAYER_ORIENTATION_SENSOR":"כיוון הנגן אוטומטי (חיישן)","PLAYER_PLAYBACK_SPEED":"מהירות ניגון","PLAYER_PLAYBACK_ERROR":"תקלה במהירות ניגון, נא לנסות שוב","PLAYER_PLAYBACK_ERROR_UNKNOWN":"שגיאה לא ידועה","PLAYER_PLAYBACK_ERROR_DEFAULT":"מצטערים, אין אפשרות לנגן וידאו {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"שפת כתוביות","PLAYER_SUBTITLES_VARIANTS":"אפשרויות כתביות","PLAYER_SUBTITLES_SETTINGS":"הגדרות כתוביות","PLAYER_SUBTITLES_DISABLED":"כתוביות מבוטלות","PLAYER_SUBTITLES_VERTICAL_POSIITON":"מיקום אנכי","PLAYER_SUBTITLES_LOADED":"כתוביות נטענו","PLAYER_SUBTITLES_LOADED_EMBEDDED":"כתוביות מוטבעות ניטענו","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"כתוביות אקסלוסיביות נטענו","PLAYER_SUBTITLES_LOADED_ORIGIN":"כתוביות מ-{{origin}} נטענו","PLAYER_PLAY":"ניגון","PLAYER_PAUSE":"הפסקה","PLAYER_NEXT_VIDEO":"הוידאו הבא","PLAYER_MUTE":"השתקה","PLAYER_UNMUTE":"ביטול השתקה","PLAYER_OPEN_IN_EXTERNAL":"פתח בנגן וידאו חיצוני","PLAYER_OPEN_IN_NPLAYER":"פתיחה בnPlayer","PLAYER_PLAY_IN":"נגן ב {{device}}","PLAYER_LIVE":"חי","PLAYER_NEXT_VIDEO_TITLE":"הוידאו הבא","PLAYER_NEXT_VIDEO_TITLE_SHORT":"בהמשך","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"הסתרה","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"צפייה כעת","PLAYER_COPY_STREAM_SUCCESS":"הלינק של ההזרמה הועתק למקלדת","PLAYER_COPY_STREAM_ERROR":"העתקת לינק ההזרמה נכשל","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"קישור ההורדה הועתק","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"נכשל בהעתקת קישור הורדה","STREAMING_FROM":"מזרים מ","CASTING_TO":"משדר ל","NETWORK_STATUS":"מצב הרשת","STREAM_SPEED":"מהירות זרימה:","STREAM_BUFFERED":"נאגר:","PEERS_INFO":"פרטי חיבורים","PEERS_ACTIVE":"פעילים:","PEERS_CONNECTED":"מחוברים:","PEERS_WAITING":"ממתינים:","TRANSCODING_WARNING":"אזהרה: מקודד וידאו.","STREAM_LOADING":"טוען...","PLAYING_LOCAL":"מנגן מקובץ מקומי","PLAYING_CACHE":"מנגן ממטמון","WRONG_SUBS":"כתוביות שגויות?","ERR_SUBS_LOADING_TITLE":"שגיאה בטעינת כתוביות","ERR_SUBS_LOADING":"טעינת כתוביות נכשלה: זאת יכולה להיות בעיה של תוסף, או חיבור לאינטרנט","WARN_FOLLOWING_SUB_ADDONS_FAILED":"תוספי הכתוביות הבאים כשלו","ERR_CASTING_UPDATE_TITLE":"לא ניתן לעדכן מידע של מכשיר המשודר: שרת שידור ככל הנראה כבוי","CHOOSE_DEVICE":"בחר מכשיר לצפות בו","NO_CAST_DEVICES":"אין מכירים להזרמה.","NO_SETTINGS":"אין הגדרות זמינות.","PHONE_TABLET":"סלולארי / טאבלט","SUBTITLES":"כתוביות","SUBTITLES_CHANGE":"שנה כתוביות עבור","SUBTITLES_CHANGE_NONE":"לא קיימים כתוביות אחרות לשפה זו, מתנצלים.","SUBTITLES_CHANGE_ACIVE":"כרגע כתוביות &#35;{{subtitlesDialog.activeIdx + 1}} מופעלות. לחץ \\"המשך\\" להפעלת הכתוביות &#35;{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"לחילופין,","SUBTITLES_ADJUST_DELAY":"שנה השהיית כתוביות:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"או להשתמש במקשים <span>G</span> / <span>H</span> בזמן ניגון לשינוי.","SUBTITLES_ADJUST_DELAY_TIP":"טיפ: באפשרותך להשתמש במקשים <span>G</span> / <span>H</span> בזמן ניגון לשינוי.","SUBTITLES_DELAY":"השהיית כתוביות:","SUBTITLES_LOADING":"טוען כתוביות...","SUBTITLES_UNAVAILABLE":"אין כתוביות חיצוניות זמינות","SUBTITLES_DISABLED":"מבוטל","EXTERNAL_PLAYER_DISABLED":"מבוטל","EXTERNAL_PLAYER_ALLOW_CHOOSING":"אפשר בחירה","EXTERNAL_PLAYER_HINT":"טיפ: יש הגדרה לאפשר פתיחה תמיד עם נגן חיצוני","DONT_SHOW_AGAIN":"אל תציג שוב","SERVICE_INSTALL":"התקנה","AUDIO":"אודיו","DEFAULT_LANGUAGE":"שפת ברירת מחדל","DEFAULT_SECONDARY_LANGUAGE":"שפה משנית כברירת מחדל","SEASON":"עונה","EPISODE":"פרק","EPISODE_ABBREVIATION":"EP","SPECIAL":"מיוחד","SORT":"מיון","SORT_BY":"מיון לפי","FILTER":"סינון","SORT_TRENDING":"פופולרי","SORT_RECENT":"חדש","SORT_ALPHABET":"א-ת","SORT_ALPHABET_REVERSE":"ת-א","SORT_RATING":"דירוג","SORT_WATCHED":"נצפה","SORT_YEAR":"שנה","SELECT_TYPE":"לפי סוג","SELECT_SORT":"מיון לפי","SELECT_CATALOG":"לפי קטלוג","SELECT_GENRE":"לפי ז\'אנר","SORT_LASTWATCHED":"לפי נראה לאחרונה","SORT_NAME":"לפי שם","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"לפי פעמים שנצפה","SORT_NOTWATCHED":"לא נצפה","New for You":"חדש בשבילך","New Episodes":"פרקים חדשים","New Videos":"סרטים חדשים","Recommendations":"המלצות","LIBRARY_RESUME":"המשך","LIBRARY_PLAY":"ניגון","LIBRARY_DETAILS":"פרטים","LIBRARY_RESUME_DISMISS":"הסר","LIBRARY_CLEAR_PROGRESS":"ניקוי תהליך","LIBRARY_REMOVE":"הסרה","LIBRARY_NOT_LOGGED_IN":"הספרייה מאופשרת רק למשתמשים מחוברים","CALENDAR_NOT_LOGGED_IN":"היומן מאופשר רק למשתמשים מחוברים","NOT_LOGGED_IN_CLOUD":"תיגש לסרטים ולסדרות שלך, בכל מקום, בכל זמן","NOT_LOGGED_IN_RECOMMENDATIONS":"המלצות בעקבות היסטוריית הצפיה שלך","NOT_LOGGED_IN_NOTIFICATIONS":"אל תפספס פרק עוד פעם","NOT_LOGGED_IN_CALENDAR":"תזמן את יומן הצפייה האישי שלך","DISCOVER_FEATURED":"מומלץ","DISCOVER_TOP":"מומלץ","DISCOVER_OSCAR":"זוכי אוסקר","DISCOVER_WARNING_TITLE":"אבוי!","DISCOVER_EMPTY_CATALOG":"תוסף זה החזיר תוכן ריק.","DISCOVER_ADULT_WARNING":"תוכן זה מיועד למבוגרים. האם גילך הוא 18 ומעלה?","DISCOVER_NOADDON_WARNING":"אזהרה: אין תוסף סטרימיו פעיל עבור סוג זה. מציג פריטים שמורים, כלום לא ישמר כאן.","DISCOVER_LOAD_ERR":"גילוי: טעינת קטלוג נכשלה","DISCOVER_ADDON_UNINSTALLED":"תוכן זה אינו זמין יותר, ייתכן שהתוסף הוסר.","UNINSTALL_THIS_ADDON":"הסרת תוסף זה","ERR_ADDON_NOT_INSTALLED":"תוסף זה אינו מותקן. האם להתקין אותו כעת?","DETAIL_RECEIVE_NOTIF_SERIES":"קבלת התראות עבור פרקים חדשים","DETAIL_RECEIVE_NOTIF_VIDEOS":"קבלת התראות עבור סרטים חדשים","SIDEBAR_SHOW_STREAMS":"הצגת זרימות","RELAUNCH":"הפעל מחדש כעת!","UPGRADE":"עדכן לגרסה האחרונה של סטרימיו","RELOAD_UI":"טעינה מחדש של ממשק המשתמש","MANUAL_UPDATE_TITLE":"עדכון גרסת Stremio","MANUAL_UPDATE_LINE1":"גרסה זו של Stremio אינה עדכנית והשימוש בה אינו מומלץ.","MANUAL_UPDATE_LINE2":"נא לעדכן בהקדם האפשרי.","BUTTON_UPDATE_LATTER":"לא כעת","BUTTON_UPDATE_NOW":"עדכון","ANONYMOUS_USER":"משתמש אנונימי","DONT_HAVE_ACC":"אין לך חשבון?","HAVE_ACC":"כבר יש לך חשבון?","PASSWORD":"סיסמה","PASSWORD_CONFIRM":"אישור סיסמה","EMAIL":"דואר אלקטרוני","FB_LOGIN":"התחבר באמצעות פייסבוק","FB_NOTHINGSHARED":"שום דבר לא ישותף ללא רשותך","FB_NOPOST":"לא נשלח על שמך שום דבר","OR":"או","I_ACCEPT":"אני מסכים","I_ACCEPT_BY_CLICKING":"על ידי לחיצה למעלה, אני מאשר את","TOS":"תנאי המשימוש","MUST_ACCEPT_TERMS":"חובה לאשר תנאי שימוש","PASSWORDS_NOMATCH":"סיסמאות לא תואמות","SIGN_UP":"הרשמה","SIGN_UP_EMAIL":"הרשמה עם כתובת מייל","CLICK_TO_SIGN_UP":"לחץ כאן להרשמה.","LOG_IN":"התחברות","LOG_OUT":"התנתקות","EXIT_FULLSCREEN":"יציאה ממצב מסך מלא","ENTER_FULLSCREEN":"כניסה למצב מסך מלא","PLAY_URL_MAGNET_LINK":"ניגון קישור URL/Magnet","HELP_FEEDBACK":"עזרה ומשוב","TERMS_OF_SERVICE":"תנאי שימוש","PRIVACY_POLICY":"מדיניות הפרטיות","ABOUT_STREMIO":"אודות Stremio","USER_PANEL":"לוח בקרת משתמש","LOGIN_LABEL":"התחברות","GUEST_LOGIN":"התחברות כאורח","GUEST_LOGIN_NOTICE":"התחברות כאורח אינה מומלצת. התחברות רגילה מאפשרת לStremio לסנכרן את הספריות שלך, לקבל התראות על סדרות ווידאו האהובים עליך. האם אתה בטוח שתרצה להמשיך?","GUEST_LOGIN_NOTICE_2":"התחברות כאורח אינה מומלצת - לא יסונכרנו התראות בספריה או הלוח שלך, שאלו תכונות של Stremio. האם אתה בטוח שברצונך להמשיך?","CLICK_HERE":"לחץ כאן","WRONG_PASSWORD":"סיסמה שגויה, במקרה ששכחת את הסיסמה,","SET_A_PASS":"קבע סיסמה","RESET_PASSWORD":"איפוס סיסמה","FORGOT_PASSWORD":"שכחת סיסמה?","EMAIL_USED_WITH_FB":"כתובת דואר אלקטרוני זה שומש בחיבור בעזרת פייסבוק.","INVALID_EMAIL":"נא לכתוב כתובת מייל תקינה","INVALID_PASSWORD":"נא לכתוב סיסמה תקינה","CONN_ERR":"בעיית התחברות - אנא נסו מאוחר יותר.\\n\\nאם הבעיה ממשיכה, נטרלו את חומת האש/אנטי וירוס שלכם (במיוחד Bitdefender).","IMPORT_FROM_GUEST":"ייבוא ספריה מחשבון האורח שלך","RECEIVE_UPDATES_EMAIL":"-קבל עדכונים לדואר האלקטרוני מStremio","LOGIN_FAILED":"התחברות כשלה.","SIGNUP_FAILED":"הרשמה כשלה.","SEARCH_FAILED":"חיפוש כשל","EMAIL_USED":"כתובת מייל זו כבר בשימוש.","WAITING_FB_LOGIN":"מתחבר עם פייסבוק...","EXTERNAL_PLAYER_TITLE":"שימוש בנגן חיצוני","EXTERNAL_REMEMBER_PLAYER":"האם לזכור בחירה זו","EXTERNAL_ALWAYS_PLAY":"כן","EXTERNAL_ONLY_ONCE":"לא","BEST_FIT":"התאמה טובה ביותר","FIT_SCREEN":"התאמה למסך","FILL":"מילוי","16:9":"16:9","4:3":"4:3","Original":"מקורי","INTRO_TASTE":"ספרו לנו מה אתם אוהבים","INTRO_TASTE_LONG":"תספרו לנו במה תרצו לצפות","INTRO_TASTE_PICK":"בחירת {{interestsRemaining}} נושאים","INTRO_TASTE_PICK_MORE":"בחירת {{interestsRemaining}} נושאים נוספים","INTRO_TASTE_HELP_US":"עזרו לנו ללמוד עליכם עוד.","INTRO_TASTE_CHOOSE_THESE":"בחירה מהרשימה:","INTRO_TASTE_CHOOSE_MIN":"נא לבחור לפחות 3 קטגוריות","INTRO_TASTE_CHOOSE_MIN_ERR":"חובה לבחור לפחות 3 קטגוריות!","INTRO_TASTE_LIFESTYLE":"סגנון חיים","INTRO_TASTE_SPORTS":"ספורט","INTRO_TASTE_FOOD_HEALTH":"אוכל ובריאות","INTRO_TASTE_BEAUTY_FASHION":"יופי ואופנה","INTRO_TASTE_NEWS":"חדשות","INTRO_TASTE_GAMING":"משחקים","INTRO_TASTE_SCIENCE_EDU":"מדעים וחינוך","INTRO_TASTE_MUSIC":"מוסיקה","INTRO_TASTE_TRAVEL":"טיולים","INTRO_TASTE_LATE_NIGHT":"תוכנית אירוח","INTRO_TASTE_REALITY":"ריאליטי","INTRO_TASTE_COMEDY":"קומדיה","INTRO_TASTE_DIY":"עשה זאת בעצמך","INTRO_TASTE_TECH":"טכנולוגיה","INTRO_TASTE_CINEMA":"קולנוע","ADDON_NOT_SUPPORTED":"התוסף הנבחר אינו תומך בפלטפורמה זו.","ADDON_DISCLAIMER":"שימוש בתוספים צד שלישי תמיד יהיו תחת אחריותך ותחת החוק הקיים באזור מגוריך.","ADDON_ACTIVATE":"הפעלת תוסף זה?","ADDON_REPO_ADD":"כתובת מקור התוסף","ADDON_ADD":"הוספה","INSTALL_ADDON":"התקן תוסף","ADD_ADDON":"הוספת תוסף","ADD_ADDON_DESCRIPTION":"ניתן להוסיף תוסף באמצעות קישור חיצוני, התוסף יופיע תחת התוספים המותקנים","PASTE_ADDON_URL":"קישור לתוסף","WHATS_NEW":"מה חדש","BUTTON_CONTINUE":"המשך","BUTTON_ACTIVATE":"הפעל","BUTTON_ACTIVATED":"מופעל","BUTTON_CANCEL":"ביטול","BUTTON_SUBMIT":"שליחה","BUTTON_DISMISS_ALL":"התעלם מהכל","BUTTON_VIEW_ALL":"הצגת הכל","BUTTON_SEE_ALL":"להציג הכל","BUTTON_COLOR_TRANSPARENT":"שקוף","OPEN_IN_BROWSER":"פתח בדפדפן","LIB_EMPTY":"הספרייה שלך נראית ריקה. גלו כמה זה שימושי :) ","HOW_START":"ככה תוכל להתחיל:","LIB_EMPTY_CAL":"לוח השנה מציג סדרות בספרייה שלך","HOW_START_CAL":"כך אתה יכול להוסיף סדרות:","LIB_EMPTY_BOARD":"הלוח מציג התראות והמלצות אשר קשורים לספרייה שלך.","HOW_START_BOARD_WAIT":"אנא הוסף סדרות וערוצים לספרייה שלך ותן לנו כמה דקות לארגן את הכל :)","HOW_START_BOARD":"ככה אתה יכול להוסיף סדרות וסרטים אליו:","IMPORT_FB":"יבא דברים שאתה אוהב מ<span>פייסבוק</span>","IMPORT_TRAKT":"ייבוא ספריה מאתר <span>Trakt</span>","IMPORT_DISCOVER":"מצא דברים מעניינים דרך טאב ה<span>גלה</span>","IMPORT_DISK":"יבא סרטים או סדרות אשר נמצאים ב<span>דיסק המקומי</span>","PLEASE_CREATE_ACC":"אנא <u>צור חשבון</u> כדי לאפשר סנכרון ספרייה ולוח.","IMPORT_DISCOVER_SIGNUP":"הירשמו ותמצאו דברים מעניינים <span>בגילוי</span>","IMPORT_DISK_SIGNUP":"הירשמו וייבאו סרטים וסדרות שיש ברשותכם <span>בכונן מקומי</span>","LIB_EMPTY_CLOUD":"ספריה בענן","LIB_EMPTY_CLOUD_DESC":"ענן אישי לסנכרון סיפריה עם כל המכשירים","LIB_EMPTY_EARLY":"לפני כולם","LIB_EMPTY_EARLY_DESC":"קבלת התראות על פרקים חדשים","LIB_EMPTY_PERSONAL":"אישי","LIB_EMPTY_PERSONAL_DESC":"קבלת המלצות אישיות","LIB_EMPTY_CALENDAR_DESC":"קביעת לוח שנה לצפיה האישית שלכם","LIB_EMPTY_ALL":"הירשמו כדי לקבל את כל זה:","LIB_EMPTY_BEST":"הירשמו בכדי לקבל את הטוב ביותר מStremio","LIB_EMPTY_OTHER":"הרשמה בכדי להפעיל לוח שנה לצפיה ועוד דברים מגניבים","CALENDAR_ADDED":"הלוח שנה של Stremio התווסף ללוח שנה של שולחן העבודה.","CALENDAR_ADDED_MSG":"אם זה לא עובד, אנא השתמש בקישור כדי להוסיף את לוח השנה בצורה ידנית","TRAKT_EXPIRED":"קישוריות עם Trakt פגה, אנא עבור להגדרות והתחבר שוב","TRAKT_REQUIRES_LOGIN":"Trakt שגיאה","TRAKT_REQUIRES_LOGIN_MSG":"חובה להתחבר","TRAKT_IMPORT_WATCHED":"ייבא","THEME":"נושא","THEME_DEFAULT":"ברירת מחדשל","THEME_ADAPTIVE":"אדפטיבי","SETTINGS_LABEL":"הגדרות","SETTINGS_NAV_GENERAL":"כללי","SETTINGS_NAV_PLAYER":"נגן","SETTINGS_NAV_STREAMING":"תזרימים","SETTINGS_NAV_SHORTCUTS":"קיצורי דרך","SETTINGS_SHORTCUT_RELOAD_APP":"הפעלת אפליקציה מחדש","SETTINGS_SHORTCUT_OPEN_SETTINGS":"פתיחת הגדרות","SETTINGS_SHORTCUT_SWITCH_TABS":"החלפת טאבים","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"מעבר מעגלי בטאבים קדימה","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"מעבר מעגלי בטאבים אחורה","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"ניווט בין תפריטים","SETTINGS_SHORTCUT_GO_TO_SEARCH":"מעבר לחיפוש","SETTINGS_SHORTCUT_EXIT_BACK":"יציאה / חזרה","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"פתיחת תפריט מהירות הניגון","SETTINGS_SHORTCUT_MENU_VIDEOS":"פתיחת תפריט וידאו","SETTINGS_SHORTCUT_MENU_SUBTITLES":"פתיחת תפריט כתוביות","SETTINGS_SHORTCUT_MENU_INFO":"פתיחת תפריט מידע","SETTINGS_SHORTCUT_FULLSCREEN":"מסך מלא","SETTINGS_SHORTCUT_SHOW_CONTROLS":"הצגת שליטה","SETTINGS_SHORTCUT_PLAY_PAUSE":"ניגון / עצירה","SETTINGS_SHORTCUT_VOLUME_UP":"הגברת שמע","SETTINGS_SHORTCUT_VOLUME_DOWN":"הנמכת שמע","SETTINGS_SHORTCUT_SEEK_NEXT":"קפיצה להבא","SETTINGS_SHORTCUT_SEEK_PREV":"קפיצה לקודם","SETTINGS_SHORTCUT_SEEK_BACKWARD":"קפיצה אחורה","SETTINGS_SHORTCUT_SEEK_FORWARD":"קפיצה קדימה","SETTINGS_SHORTCUT_PLAY_NEXT":"הפעלת הבא","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"הגדל את גודל הכתוביות","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"הקטן את גודל הכתוביות","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"הגדל את עיכוב הכתוביות","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"הקטנת השהיית כתוביות","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"פתיחת תפריט צד","SETTINGS_SHORTCUT_OR":"או","SETTINGS_SHORTCUT_TO":"אל","SETTINGS_SHORTCUT_SPACE":"רווח","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"התחברות","SETTINGS_FACEBOOK_IMPORT":"ייבוא","SETTINGS_CALENDAR_SUBSCRIBE":"הרשמה לעדכונים","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"שפת ממשק","SETTINGS_LAUNCH_STARTUP":"הפעל בעת הפעלת המחשב","SETTINGS_VLC_DEFAULT":"לנגן עם vlc","SETTINGS_UI_LANGUAGE":"שפת ממשק","SETTINGS_UI_ZOOM":"זום ממשק","SETTINGS_FULLSCREEN_EXIT":"יש ללחוץ על Escape כדי לצאת ממצב מסך מלא","SETTINGS_GAMEPAD":"הפעלת תמיכה בבקר משחק","SETTINGS_CLOSE_WINDOW":"סגירת היישום עם סגירת החלון","SETTINGS_SUBTITLES_LANGUAGE":"שפת כתוביות ברירת מחדל","SETTINGS_SUBTITLES_SIZE":"גודל כתוביות ברירת מחדל","SETTINGS_SUBTITLES_BACKGROUND":"צבע רקע עבור כתוביות","SETTINGS_SUBTITLES_COLOR":"צבע כתוביות","SETTINGS_SUBTITLES_COLOR_OUTLINE":"צבע מתאר עבור כתוביות","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"צבע רקע עבור כתוביות","SETTINGS_SEEK_KEY":"מקשי החצים כדי לנוע בזמן","SETTINGS_SEEK_KEY_SHIFT":"מקשי החצים כדי לנוע בזמן כאשר המקש Shift מוחזק","SETTINGS_REWIND_FAST_FORWARD_DURATION":"משך הרצה אחורה וקדימה","SETTINGS_BINGE":"לנגן אוטומטית את הפרק הבא","SETTINGS_NEXT_VIDEO":"הצגת הודעה לתחילת הפרק הבא","SETTINGS_NEXT_VIDEO_TRIGGER":"משך הצגת ההודעה על הפרק הבא:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"משך הסרטון הקופץ הבא","SETTINGS_PLAY_IN_BACKGROUND":"נגן ברקע","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"נגן בנגן חיצוני","SETTINGS_RESIZE":"שינוי גודל אוטומטי של החלון לפני תחילת ניגון","SETTINGS_OVERRIDE_SERVER":"עקוף את כתובת שרת ההזרמה (מתקדם)","SETTINGS_SERVER_URL":"כתובת שרת הזרמה: ","SETTINGS_SERVER_AVAILABLE":"שרת הזרמה זמין.","SETTINGS_SERVER_UNAVAILABLE":"שרת הזרמה אינו זמין.","SETTINGS_SERVER_STATUS_ONLINE":"מחובר","SETTINGS_SERVER_STATUS_ERROR":"שגיאה","SETTINGS_SERVER_CONFIGURE_TITLE":"הגדר את כתובת האתר של שרת ההזרמה","SETTINGS_SERVER_CONFIGURE_INPUT":"הזן כתובת אתר של שרת ההזרמה","SETTINGS_SERVER_CACHE_SIZE":"גודל המטמון","SETTINGS_SERVER_TORRENT_PROFILE":"פרופיל הטורנט","SETTINGS_HTTPS_ENDPOINT":"כתובת הזרמה ב־HTTPS: ","SETTINGS_TRANSCODE_PROFILE":"פרופיל לקידוד","SETTINGS_USE_BETA":"תמיד להשתמש ב Beta האחרונה","SETTINGS_IMPORT_FB":"ייבא מפייסבוק","SETTINGS_IMPORT_DISK":"ייבא מדיסק מקומי","SETTINGS_IMPORT_TRAKT":"ייבא מ-Trakt","SETTINGS_PAUSE_MINIMIZED":"השהיית ניגון כאשר החלון ממוזער","SETTINGS_HWDEC":"קידוד מואץ בחומרה","SETTINGS_BACKGROUND":"רקע נגן","SETTINGS_SUBSCRIBE_CALENDAR":"הרשמה ללוח שנה","SETTINGS_REQ_EXPORT":"בקשה לייצוא מידע","SETTINGS_ACC_DELETE":"בקשה להסרת חשבון","SETTINGS_CHANGE_PASSWORD":"שנה סיסמה","SETTINGS_TOS":"תנאי שימוש","SETTINGS_SUPPORT":"צור קשר עם התמיכה","SETTING_LANGUAGE":"שפה","SETTINGS_TRAKT":"Trakt שילוב","SETTINGS_TRAKT_LOGOUT":"התנתקות מ-Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"התנתקות מ-Trakt","SETTINGS_SCAN_FOR_REMOTE":"סריקת קוד QR לשימוש מרוחק","SETTINGS_DESKTOP_NOTIFICATIONS":"התראות שולחן עבודה","SETTINGS_DATA_SAVER":"חיסכון משאבים","SETTINGS_LANGUAGE_INTERFACE":"מראה","SETTINGS_LANGUAGE_SUBS":"כתוביות ברירת מחדל","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"בחירה אוטומטית בפס הקול","SETTINGS_DEFAULT_AUDIO_TRACK":"פס קול ברירת מחדל","SETTINGS_SURROUND_SOUND":"קול היקפי","SETTINGS_ACCOUNT":"חשבון","SETTINGS_PLATFORM":"פלטפורמה","SETTINGS_VERSION":"גרסה","SETTINGS_ABOUT":"אודות","SETTINGS_MPV_WINDOW":"הפעלת נגן בחלון חיצוני (מתקדם)","SETTINGS_PLAY_IN_EXTERNAL":"תמיד התחלת ניגון בנגן חיצוני","SETTINGS_STORAGE_BUTTON":"ניקוי מטמון מקומי","SETTINGS_STORAGE_MODAL_TITLE":"האם אתה בטוח?","SETTINGS_STORAGE_MODAL_MESSAGE":"זה ינקה את המטמון המקומי וינתק אותך.","SETTINGS_HWDEC_PICKER":"בחירת הגדרה לdecoding מואצת בחומרה","SETTINGS_HW_AUTOMATIC":"אוטומטי","SETTINGS_HW_DISABLED":"מבוטל","SETTINGS_HW_ACCELERATED":"האצת קידוד","SETTINGS_HW_FULL":"האצה מלאה","SETTINGS_HW_LEGACY":"מורשת","SETTINGS_DISABLED":"השבת","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"הודעת חיבור לרשת","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"URL חיצוני","SETTINGS_COPY_REMOTE_URL":"העתק URL חיצוני","SETTINGS_REMOTE_URL_COPIED":"URL חיצוני הועתק למקלדת","SETTINGS_SECTION_SUBTITLES":"כתוביות","SETTINGS_SECTION_AUDIO":"שמע","SETTINGS_SECTION_CONTROLS":"בקרה","SETTINGS_SECTION_AUTO_PLAY":"ניגון אוטומטי","SETTINGS_SECTION_ADVANCED":"מתקדם","SUBSPICKER_AUDIO":"אודיו","SUBSPICKER_SUBTITLES":"תוסף כתוביות","SUBSPICKER_BLACK_BACKGROUND":"שימוש ברקע שחור","SUBSPICKER_VERTICAL_OFFSET":"מיקום אנכי","SUBSPICKER_SIZE":"גודל","SUBSPICKER_DELAY":"עיכוב","SUBSPICKER_EMBEDDED_SUBS":"כתוביות מוטבעות","MOBILE_PRIVACY_POLICY":"מדיניות הפרטיות","MOBILE_CRASH_REPORTING":"דיווח קריסות","MOBILE_ZOOM_TO_FILL":"זום למילוי מסך","MOBILE_PASSTHROUGH":"יציאת אודיו דיגיטלי (passthrough)","MOBILE_RUN_LOW_BATTERY":"ניגון במצב סוללה חלשה","MOBILE_RUN_FOREGROUND":"ניגון כשירות","MOBILE_PERFORMANCE":"ביצעים & יציבות","MOBILE_SERVER_ONLINE":"מחובר","MOBILE_SERVER_OFFLINE":"מנותק","MOBILE_QR_EXPIRES":"QR Code פג בתוך ","MOBILE_LOG_INTO":"התחברות לחשבון Stremio שלך ","MOBILE_SCAN_QR":"סרקו את הQR code למעלה או עברו אל ","MOBILE_LINK_ACCOUNT":"קישור חשבון","MOBILE_SPEEDPICKER_CANCEL":"ביטול","MOBILE_SPEEDPICKER_LABEL":"בחירת מהירות נגינה","MOBILE_EMPTY_LIBRARY":"הספריה שלך ריקה","MOBILE_NO_ADDON_ACTIVE":"אין תוסף stremio פעיל עבור סוג זה.","MOBILE_ORGANIZER_WARNING":"The Stremio Organizer app provides limited functionality. For a list of playable streams and the full Stremio experience, use Stremio on desktop.","MOBILE_ADDON_LOADING":"עדיין טוען","MOBILE_ADDONS_LOADING":"תוספים עדיין בטעינה","MOBILE_ADDON":"תוסף","MOBILE_CONFIGURE_ADDON":"הגדרת התוסף שלך","MOBILE_CONFIGURE_ADDON_LABEL":"הגדרת תוסף","MOBILE_ORGANIZER_ADDONS_WARNING":"The Stremio Organizer app provides a limited selection of addons. For the full Stremio experience, use Stremio on desktop.","MOBILE_DISCONNECT":"התנתקות","MOBILE_LOOKING_FOR_DEVICES":"מחפש מכשירים...","MOBILE_CAST_TO":"ליהוק אל","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"הסרת חשבון","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Account deletion is not instant due to legal obligations. After requesting deletion of your account you will have to use different email address/facebook profile to create a new Stremio account in the future.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"אשר מחיקת חשבון","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Your account has been created using Facebook. To delete your account, please use our user portal at www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"בבקשה ספר את סיסמתך עבור מחיקת המשתמש","MOBILE_DELETE_ACCOUNT_BUTTON":"הסרת חשבון","NAVIGATION_ON":"פועל","NAVIGATION_OFF":"כבוי","MARKETING_AGREE":"אני מסכים לקבל תוכן מאת Stremio","QUIT":"יציאה","CONNECTED":"מחובר","AUTHENTICATE":"אימות","CACHING":"מטמון","SETTINGS_CACHING_DRIVE":"בחר כונן למטמון","ENABLE_LOCAL_FILES_ADDON":"הפעלת תוסף גישה לקבצים מקומיים (נדרשת הפעלה מחדש)","LOCAL_ADDON_NOT_ENABLED":"תוסף מקומי אינו מופעל. לחץ כאן כדי לעבור להגדרות ולאפשר זאת","ENABLE_REMOTE_HTTPS_CONN":"הפעלת חיבורי HTTPS מרוחקים","TORRENT_PROFILE":"פרופיל Torrent","DATA_CACHING":"מידע זמני","MAGNET_PARSING":"מנתח קישור מגנט","January":"ינואר","February":"פברואר","March":"מרץ","April":"אפריל","May":"מאי","June":"יוני","July":"יולי","August":"אוגוסט","September":"ספטמבר","October":"אוקטובר","November":"נובמבר","December":"דצמבר","Monday":"שני","Tuesday":"שלישי","Wednesday":"רביעי","Thursday":"חמישי","Friday":"שישי","Saturday":"שבת","Sunday":"ראשון","Action":"פעולה","Comedy":"קומדיה","War":"מלחמה","Family":"משפחה","Animation":"אנימציה","Adventure":"הרפתקה","Fantasy":"פנטזיה","Crime":"פשע","Mystery":"מיסתורי","Romance":"רומנטיקה","Drama":"דרמה","Horror":"אימה","Thriller":"מותחן","Sci-Fi":"מדע בדיוני","Music":"מוזיקה","Biography":"ביוגרפיה","Documentary":"תיעודי","Sport":"ספורט","Musical":"מוזיקלי","Western":"מערבונים","Film-Noir":"סרט-נואר","News":"חדשות","History":"היסטוריה","Game-Show":"שעשועונים","Reality-TV":"ריאלטי","Talk-Show":"טוק שואו","Film & Entertainment":"סרטים ובידור","Gaming":"גיימינג","From TV":"מהטלויזיה","Lifestyle":"לייף סטייל","Science & Education":"מדע וחינוך","Cooking & Health":"בישול ובריאות","Beauty & Fashion":"יופי ואופנה","Sports":"ספורט","News & Politics":"חדשות ופוליטיקה","How-to & DIY":"עשה זאת בעצמך","Tech":"טכנולוגיה","Automotive":"רכב","Causes & Non-Profits":"ללא מטרות רווח","Movies":"סרטים","Uk Live Tv":"טלויזיה לייב בריטית","Fashion":"אופנה","Business News Radio":"רדיו חדשות עסקים","Business Tv":"טלויזיה עסקית","Cars & Auto":"רכבים","Comedy Radio":"רדיו קומדיה","Lifestyle Radio":"רדיו לייף סטייל","News Tv":"טלויזית חדשות","Food And Wine":"אוכל ויין","Latino Tv":"טלויזיה לטינית","Shopping Tv":"טלויזיית קניות","Religion":"דת","Kids":"ילדים","Body & Soul":"גוף ונפש","Education":"חינוך","Indian Tv":"טלויזיה הודית","Extreme Sports":"ספורט אקסטרים","Middle Eastern Tv":"טלויזיה מזרח תיכונית","Celebrity Tv":"טלויזיית סלבריטי","Science Tv":"טלויזיית מדע","Bikini babe":"ביקיני","Outdoors":"באוויר הפתוח","German Tv":"טלויזיה גרמנית","French Tv":"טלויזיה צרפתית","Italian Tv":"טלויזיה איטלקית","Gamer Tv":"טלויזיית גיימרים","Travel":"טלויזיית טיולים","Asian Tv":"טלויזיה אסייתית","Entertainment":"בידור","News Radio":"רדיו חדשות","Music Radio":"רדיו מוזיקה","Language Learning":"לימוד שפות","Science Radio":"רדיו מדע","Tech Radio":"רדיו טכנולוגיה","Science & Technology Vod":"מדע וטכנולוגיה VOD","new video":"וידאו חדש","new episode":"פרק חדש","new movie":"סרט חדש","recommended":"מומלצים","we recommend":"אנו ממליצים","offer of the day":"הצעת היום","news":"חדשות","music video":"קליפ מוסיקה","CTX_SHOW_HOTKEYS":"הצג מקשי קיצור","CTX_DISMISS_NOTIF":"התעלמות מהתראות","CTX_DISMISS_ALL":"התעלמות מהכל","CTX_SHARE":"שתף","CTX_COPY_SHARE_LINK":"העתקה ושיתוף קישור","CTX_COPY_MAGNET_LINK":"העתקת קישור magnet","CTX_COPY_STREAM_LINK":"העתקת קישור הזרמה stream","CTX_COPY_VIDEO_DOWNLOAD_LINK":"העתקת קישור הורדה","CTX_DOWNLOAD_VIDEO":"הורדת וידאו זה","CTX_DOWNLOAD_SUBS":"הורדת כתוביות","CTX_VIEW_ON_YOUTUBE":"צפיה בYouTube","CTX_SHOW":"הצג","CTX_PLAY":"הפעלה","CTX_PLAY_IN":"הפעלה בתוך","CTX_PLAY_ON":"הפעלה על","CTX_WATCH_ON":"צפה ב","CTX_WATCH":"צפה","CTX_WATCHED":"נצפה","CTX_WATCH_BEGINNING":"צפה מההתחלה","CTX_WATCH_MOBILE":"צפה במכשיר נייד","CTX_REWIND":"אחורה להתחלה","CTX_MARK_WATCHED":"סמן כנצפה","CTX_MARK_NON_WATCHED":"סמן כלא נצפה","CTX_MARK_UNWATCHED":"סמן כלא נצפה","CTX_MARK_REST":"סימון כל הבאים כנצפו","CTX_UNMARK_REST":"סימון כל הבאים שלא נצפו","CTX_RECEIVE_NEW_NOTIF":"קבל התראות חדשות","CTX_ENABLE_NEW_NOTIF":"אפשר התראות","CTX_DISABLE_NEW_NOTIF":"השבת התראות","CTX_REMOVE_CACHE":"הסר ממטמון","CTX_REMOVE_CACHE_EP":"הסר פרק ממטמון","CTX_OPEN_CONTAINING":"פתח תיקייה מכילה","CTX_REMOVE":"הסר מהספריה","CTX_AVAILABLE_OFFLINE":"זמין במצב לא מקוון","CTX_PAUSED":"השהה","CTX_ALWAYS_ON_TOP":"תמיד למעלה","CTX_FULLSCREEN":"מסך מלא","CTX_WRONG_SUBS":"כתוביות שגויות?","CTX_REPORT_ISSUES":"דווח על בעיה","CTX_COPY":"העתק","CTX_PASTE":"הדבק","CTX_CLEAR":"נקה","CTX_CLEAR_RECENT_SEARCHES":"נקה חיפושים אחרונים","HELLO_THERE":"היי שם","HOPE_YOU_ENJOY":"אנו מקווים שאתם נהנים מהתוכנה Stremio ושהיא אחת המועדפות שלכם!","WHO_ARE_WE":"מי אנחנו? אנחנו צוות מאחורי זה - שני בחורים שעובדים קשה מאוד כבר 3 שנים, עם מטרה אחת - לשפר את המוצר עוד ועוד.","SUPPORT_US":"אם אתם נהנים מStremio, ו-Stremio בעל ערך עבורכם - תתמכו בנו!","SPREAD_THE_WORD":"תשתפו עם חברים שלכם, הפיצו את המילה על Stremio","MORE_PEOPLE":"אמרו לעוד אנשים להשתמש ב-Stremio, וכך נשתפר!","SEND_A_LINK":"או שליחת קישור אל האתר שלנו","TIP_LOCALFILES":"טיפ: אפשר לגרור ולשחרר מדיה מתיקיה אל תוך Stremio","ADDON_MY":"תוספים שלי","ADDON_COMMUNITY":"תוספים של הקהילה","ADDON_OFFICIAL":"תוספים רשמיים","ADDON_REPOS":"מקורות תוספים","ADDON_SEARCH":"חיפוש תוספים","ADDON_INSTALL":"התקן","ADDON_CONFIGURE":"הגדר","ADDON_UNINSTALL":"הסר התקנה","ADDON_UPGRADE":"שדרוג","ADDON_INSTALLED":"מותקן","ADDON_INSTALLED_MSG":"התוסף מותקן!","ADDON_UPGRADED_MSG":"התוסף משודרג!","ADDON_UNKNOWN":"לא ידוע","ADDON_ERR":"שגיאה בהתקנת תוסף!","ADDON_DISCONNECTED":"מנותק","ADDON_APP_MISSING":"אפליקציה למקור זה אינה מותקנת. להתקין אותה?","ADDON_APP_INSTALL":"התקן כעת","ADDON_PAGE":"עמוד תוסף","ADDON_TOP_CONTENT":"תוכן הכי טוב מתוסף זה","ADDON_PROVIDES":"ספקים","ADDON_WATCH":"צפיה ב-#{types} כעט!","ADDON_WATCH_FREE":"צפה עכשיו ב-#{types} בחינם כעט!","ADDON_ADDON":"תוסף","ADDON_SUPPORTED_TYPES":"סוג נתמך","ADDON_SUPPORTED_CATALOGS":"קטלוג נתמך","ADDON_PROVIDES_DISCOVER":"עוד #{types} בגילוי","ADDON_PROVIDES_STREAMS":"צפיה ב-#{types}","ADDON_PROVIDES_STREAMS_FREE":"צפיה ב-#{types} בחינם","ADDON_PROVIDES_SUBTITLES":"כתוביות עבור #{types}","ADDON_CANTDETECT":"Stremio לא נמצא עובד, אז לא הצלחנו למצוא את התוספים המותקים.","ERR_NO_META":"לא נמצא מידע על זה ","ERR_GETTING_META":"שגיאה בהבאת מידע עבור זה.","ERR_CANT_PARSE_MAGNET":"לא ניתן לנתח קישור מגנט","ERR_NO_MAGNET_INFOHASH":"אין מידע hash עבור מגנט","ERR_NO_FILE_PATH":"אין אפשרות לשלוח את הבקשה ללא קישור אל הקובץ","ERR_NO_TORRENT":"אין טורנט חוזר","ERR_NO_SUPPORTERD_FILES":"קבצים לא נתמכים נמצאו","ERR_OPENING_FILES":"אין אפשרות לפתוח קבצים חיצוניים","ERR_INVALID_LINK":"קישור לא תקין","ERR_REGISTERED_ONLY":"אפשרות זו פעילה רק לרשומים בלבד.","ERR_CLIPBOARD":"לא ניתן לנגן מלוח הגזירים","ERR_CLIPBOARD_READ":"לא ניתן לקרוא את לוח הגזירים בפלטפורמה זו","ERR_CLIPBOARD_GENERIC":"לא נמצא קישור שהועקת ניתן לצפיה. נא להעתיק קישור (למשל, קישור magnet) של וידאו.","BOARD_CONTINUE_WATCHING":"המשך לצפות","BOARD_EXPLANATION_RECOMMENDATIONS":"סרטים נבחרים במיוחד בשבילך.<br />הסרט הזה הוא דוגמא להמלצה.","BOARD_EXPLANATION_EPISODES":"פרקים חדשים של הסדרות האהובות עליך יופיעו כאן.<br />הוסף סדרות שאתה עוקב אחריהן לספריה שלך.","BOARD_EXPLANATION_VIDEOS":"פרקים חדשים של הערוצים האהובים עליך יופיעו כאן.<br />הוסף ערוצי YouTube שאתה עוקב אחריהן לספריה שלך.","WEBSITE_ENJOYED_BY":"אתר זה נהנה ושומש על ידיד יותר מ-30 מיליון משתמשים ברחבי העולם","WEBSITE_STREAMING_ENHANCED":"סטרימינג משופר","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"זמין ב","WEBSITE_WATCH_AND_ENJOY":"צפה ותהנה.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"stremio הופך אתזה לקלי קלות","WEBSITE_ALL_FEATURES":"כל התכונות","WEBSITE_EASY_TO_USE":"קל לשימוש","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"מעבר חלק בין מכשירים","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"כל ההורדות","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"תמיכה בוידאו HD(High-Definition)","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"יצירת חשבון בחינם","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"חווית צפיה מתואמת","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"כל התכונות של stremio","WEBSITE_TRY_STREMIO_TITLE_P1":"נסה את Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"בטלוויזיה שלך עכשיו","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio בשביל טלוויזיה חכמה","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"ביקורות","WEBSITE_GET_STREMIO_FOR_FREE":"קבל את Stremio בחינם","WEBSITE_GET_STREMIO_NOW":"קבל את stremio עכשיו","WEBSITE_STREMIO_FEATURES":"תכונות של Stremio","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"גלה עוד","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"חינם ומאובטח","WEBSITE_STREAMING":"סטרימינג","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE":"לתרום","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"בקהילת Stremio","WEBSITE_SHARE_YOUR_THOUGHTS":"שתף את מחשבותיך","WEBSITE_REPORT_BUGS":"דווח על באגים","WEBSITE_SUGGEST_FEATURES":"הצע תכונות נוספות","WEBSITE_AND_PROVIDE_FEEDBACK":"ותספקו משוב בערוצי המדיה החברתית שלנו.","WEBSITE_BETA_TESTING_PROGRAM":"תוכנית בדיקות בטא","WEBSITE_BETA_TESTING_PROGRAM_DESC":"השתתפו בתוכנית בדיקות הבטא שלנו (אנו שולחים הזמנות באופן קבוע) בקהילת Stremio.","WEBSITE_JOIN_NOW":"הירשם עכשיו!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"קהילות רשמיות של Stremio","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"קהילות לא רשמיות של Stremio","WEBSITE_BECOME":"להפוך","WEBSITE_A_VOLUNTEER_TRANSLATOR":"למתרגם מתנדב","WEBSITE_ARE_YOU_A_DEVELOPER":"האם אתה מפתח?","WEBSITE_CONTRIBUTE_CODE":"תוכל לתרום קוד לפרויקטים שלנו בקוד פתוח. יש לנו מספר פרויקטים ב-GitHub שמחפשים תורמים. אם אתה מעוניין לעזור, בדוק אותם:","WEBSITE_STREMIO_ON_GITHUB":"Stremio ב-GitHub","WEBSITE_CREATE_ADDON_DESC":"צור תוסף כדי לשפר את הפונקציונליות של Stremio (יש לנו API קל לשימוש):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"אנו גם מציעים הזדמנות להצטרף אלינו כמפתח מתמחה כדי שנוכל לצמוח יחד.","WEBSITE_APPLY_AS_AN_INTERN":"הגש מועמדות כמתמחה","WEBSITE_CALLING_ALL_ARTISTS":"קריאה לכל האמנים!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"הציגו את היצירתיות והאהבה שלכם ל-Stremio על ידי העלאת אמנות מעריצים לגלריה המקוונת שלנו. בין אם זה ציור, ציור או עיצוב דיגיטלי, אנחנו רוצים לראות את הפרשנות הייחודית שלכם למותג Stremio. הצטרפו לקהילת חובבי האמנות שלנו ושתפו את עבודתכם עם מעריצי Stremio ברחבי העולם.","WEBSITE_STREMIO_FANART_GALLERY":"גלריית אמנות מעריצים של Stremio","WEBSITE_INTERN_DESIGNER":"הפוך לחלק מהצוות שלנו וקח את היצירתיות שלך לגבהים חדשים עם הזדמנויות ההתמחות המרגשות שלנו.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"פרויקט סרטי נחלת הכלל","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"ב-Stremio, אנו מחויבים לשמר את ההיסטוריה של הקולנוע והטלוויזיה על ידי זיהוי סרטים בנחלת הכלל וסרטים יתומים. בעבודה משותפת עם הקהילה שלנו, אנו יכולים להבטיח שיצירות אמנות קלאסיות אלה יהיו נגישות לכולם ומוגנות עבור הדורות הבאים ליהנות מהן.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"צרו איתנו קשר אם תרצו להיות מעורבים בפרויקט.","WEBSITE_JOIN_THE_PROJECT":"הצטרף לפרויקט","WEBSITE_BE_PART_OF_OUR_MISSION":"היה חלק מהמשימה שלנו","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"מעוניין להצטרף לצוות Stremio? אנו מציעים עבודה מרחוק מלאה לאנשי מקצוע נלהבים. בדוק את המשרות הפתוחות שלנו.","WEBSITE_OPEN_POSITIONS":"משרות פתוחות","WEBSITE_DESCRIPTION":"תאור","WEBSITE_LEARN_MORE":"למד עוד","WEBSITE_COMPANY":"החברה","WEBSITE_CONTACTS":"צור קשר","WEBSITE_NEED_HELP":"צריך עזרה?","WEBSITE_STREMIO_WEB_ON_IOS":"מדריכים עבור Stremio Web על iOS","WEBSITE_LINK_ART_V2":"גלריית Fanart","WEBSITE_PARTNERS":"שותפים","WEBSITE_SLOGAN_WATCH":"צפיה מיידית","WEBSITE_SLOGAN_ALL":"כל תוכן הוידאו במקום אחד להנאה מלאה","WEBSITE_SLOGAN_NEW":"כל מה שאתה יכול לצפות","WEBSITE_SLOGAN_NEW_NEW":"חופש בהזרמת תוכן","WEBSITE_WATCH_FROM":"צפה מ","WEBSITE_DOWNLOAD":"הורד עכשיו","WEBSITE_DOWNLOAD_FOR":"כעט מוריד עבור","WEBSITE_IS_DESKTOP":"Stremio היא תוכנת שולחן עבודה, פתח עמוד זה להורדה אל המחשב האישי","WEBSITE_DESKTOP_DEMO_VID":"הדגמת שולחן עבודה","WEBSITE_PAGE_HOME":"בית","WEBSITE_PAGE_FEATURES":"תכונות","WEBSITE_PAGE_ADDONS":"הרחבות","WEBSITE_PAGE_TECH":"טכנולוגיה","WEBSITE_PAGE_CREATE_ADDON":"צור הרחבה","WEBSITE_PAGE_CONTACTS":"צור קשר","WEBSITE_PAGE_BLOG":"בלוג","WEBSITE_RESET_PASSWORD_MESSAGE":"נא לכתוב סיסמה חדשה.","WEBSITE_RESET_PASSWORD_WARNING":"הנכם בטוחים שתרצו לאפס את הסיסמה עבור ${1}?","WEBSITE_TYPE_movie":"סרטים","WEBSITE_TYPE_series_PL":"סדרות","WEBSITE_TYPE_tv":"שידורים חיים","WEBSITE_TYPE_channel":"ערוצים","WEBSITE_STREMIO_WHAT_IS":"Stremio היא אפליקציה שעוזרת לך לארגן ולצפות מייד בסרטונים, סרטים, סדרות טלוויזיה וערוצי טלוויזיה האהובים עליך.","WEBSITE_FEATURES_WATCH":"צפיה מיידית באיכות HD","WEBSITE_FEATURES_WATCH_DETAIL":"לחץ ונגן את הסרטונים, סרטים, סדרות טלוויזיה וערוצי טלוויזיה האהובים עליך.","WEBSITE_FEATURES_SUBS":"כתוביות אוטומטיות","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio בוחרת לבד את הכתוביות על בסיס שפה שנבחרה.","WEBSITE_FEATURES_SUBS_LABEL":"הצעד שלך, בוס.","WEBSITE_FEATURES_CAST":"נגינה בטלויזיה & מכשירים ניידים","WEBSITE_FEATURES_CAST_DETAIL":"שידור בAppleTV, Chromecast, טלויזיה חכמה (DLNA/UPnP) ומכשירים ניידים.","WEBSITE_LIB":"תהנה מהספריה הפרטית שלך מסונכרת לכל מכשירך.","WEBSITE_LIB_COLLECT":"איסוף מStremio","WEBSITE_LIB_IMPORT":"ייבוא מFacebook","WEBSITE_LIB_LOCAL":"הוספה מכונן מקומי","WEBSITE_BOARD":"הלוח - נקודת העצירה להודעות וההמלצות שלך","WEBSITE_BOARD_RECOMMEND":"סדרות מומלצות","WEBSITE_BOARD_TRENDING":"סרט חם","WEBSITE_BOARD_NEW":"וידאו חדש","WEBSITE_BOARD_EPISODE":"פרק חדש","WEBSITE_BOARD_1":"מחפש משהו מעניין לצפות? קבל המלצות על בסיס טמעך האישי!","WEBSITE_BOARD_2":"קבל הודעה כאשר פרק חדש של הסדרה או ערוץ YouTube יוצא!","WEBSITE_BOARD_YOUTUBE":"סרטונים חדשים של ערוצי YouTube","WEBSITE_BOARD_EPISODES":"פרקים חדשים של הסדרות שהינך עוקב אחריהן","WEBSITE_ADDONS":"תוספי תוכן","WEBSITE_TECH_DETAIL":"אנחנו אוהבים טכנולוגיה, אנחנו אוהבים מדע משוגע!\\nStremio משתמש בטכנולוגיות קוד פתוח הבאות:","WEBSITE_TECH_WCJS":"WebChimera.js-מאפשר ל-Stremio להפעיל כל פורמט וידאו עם ביצועים טובים.","WEBSITE_TECH_WCJS_EXTRA":"אנחנו תורמים מרכזיים לפרויקט","WEBSITE_TECH_ELECTRON":"Electron מספק פלטפורמה חדשנית לבניית Stremio.","WEBSITE_TECH_ELECTRON_EXTRA":"אנחנו תורמים לפרויקט","WEBSITE_TECH_LINVODB":"טכנולוגיית מסד נתונים המבטיחה שהנתונים שלך מאורגנים וזמינים בכל מקום שבו אתה מתחבר.","WEBSITE_TECH_LINVODB_EXTRA":"טכנולוגיה פנימית","WEBSITE_CREATE_ADDON":"צור את התוסף שלך","WEBSITE_CREATE_ADDON_DETAIL":"יש לך שירות המספק תוכן וידאו? נעזור לך להפיק תועלת מהתכונות של Stremio על ידי יצירת התוסף שלך.","WEBSITE_CREATE_ADDON_BENEFITS":"יתרונות של יצירת תוסף ל-Stremio","WEBSITE_P2P_BEAUTY":"היופי של הזרמת עמית-לעמית","WEBSITE_P2P_1":"וידאו באיכות HD מלאה / 4K אמין ובמחיר סביר לפי דרישה או בשידור חי","WEBSITE_P2P_2":"פלטפורמת הפצה המספקת חוויית משתמש מעולה","WEBSITE_P2P_3":"ניצור תוסף שיענה על הצרכים המדויקים שלך","WEBSITE_P2P_CONTACT":"מתעניינים? אתם מוזמנים <a href=\'mailto:office@stremio.com\'>ליצור איתנו קשר</a>.","WEBSITE_P2P_CONTACT_EXTRA":"נשמח לעזור לכם לשלב את התוכן שלכם בסטרמיו!","WEBSITE_P2P":"מדי פעם מגיעה טכנולוגיה שמשנה את כללי המשחק. השקענו המון זמן ומאמץ בבניית מנוע הזרמת הווידאו עמית-לעמית (P2P) שלנו, המספק ביצועים מעולים וורסטיליות להתאמה לכל מקרה שימוש.\\nצרו איתנו קשר עבור וידאו P2P מוגן DRM לפי דרישה או בשידור חי.","WEBSITE_THOUGHTS":"מחשבות שאנחנו משתפים:","WEBSITE_SPREAD":"הפיצו את הבשורה על סטרמיו:","WEBSITE_CONTACT":"אם אתם מעוניינים ליצור איתנו קשר, פנו אלינו ב","WEBSITE_OPENSOURCE":"לפרויקטים בקוד פתוח שלנו, בקרו ב","WEBSITE_BITCOIN":"תרומת ביטקוין:","WEBSITE_FAQ":"שאלות נפוצות","WEBSITE_FAQ_SHORT":"שו״ת","WEBSITE_QUESTIONS":"שאלות","WEBSITE_TOS":"תנאי שימוש","WEBSITE_LEGAL":"Legal","WEBSITE_PAGE_ABOUT":"עלינו","WEBSITE_PAGE_BECOME_PARTNER":"הפוך לשותף","WEBSITE_ALL_YOU_CAN_WATCH":"חופש לצפות\\nבכל מה שתרצה.","WEBSITE_FREEDOM_TO_STREAM":"חופש להזרים","WEBSITE_WHAT_IS_STREMIO":"מה זה Stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio הוא מרכז אחד לאיסוף תוכן וידאו. גלה, ארגן וצפה בוידאו ממגוון מקורות בכל מכשיר שברשותך.","WEBSITE_WHAT_IS_STREMIO_P2":"סרטים, תוכניות טלוויזיה, סדרות, טלוויזיה בשידור חי או ערוצי אינטרנט כמו YouTube ו-Twitch.tv - תוכל למצוא את כל אלה בStremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio הוא מרכז מדיה מודרני שמהווה פתרון כולל לבידור הוידאו שלך. אתה מגלה, צופה ומארגן תוכן וידאו מתוספים קלים להתקנה.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"סרטים, תוכניות טלוויזיה, טלוויזיה בשידור חי או ערוצי אינטרנט - מצא את כל אלה בStremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"תהנה בכל מכשירי המדיה שלך","WEBSITE_DEVICES_COLLECT":"איסוף מתוך Stremio","WEBSITE_DEVICES_IMPORT_FB":"ייבוא מפייסבוק","WEBSITE_DEVICES_LOCAL":"הוסף מכונן מקומי","WEBSITE_JOIN_THE_PARTY_NOW":"הצטרף למסיבה עכשיו","WEBSITE_DEVICES_ALL":"קל לשימוש בכל המכשירים שלך;","WEBSITE_EXTENDABLE_CATALOG":"קטלוג וידאו הניתן להרחבה אינסופית;","WEBSITE_ORGANIZE_YOUR_MEDIA":"תכונות נהדרות לארגון המדיה שלך;","WEBSITE_AS_SEEN_ON":"כמו שנצפה ב","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"עלינו","WEBSITE_LINK_TECHNOLOGY":"טכנולוגיה","WEBSITE_LINK_APPS":"אפליקציות","WEBSITE_LINK_DOWNLOADS":"הורדות","WEBSITE_MORE":"עוד","WEBSITE_LINK_ADDONS":"תוספים","WEBSITE_LINK_ADDON_SDK":"SDK תוספים","WEBSITE_LINK_CONTRIBUTE":"לתרום","WEBSITE_LINK_COMMUNITY":"קהילה","WEBSITE_LINK_BLOG":"בלוג","WEBSITE_MORE_MORE":"... & ועוד","WEBSITE_LINK_HELP":"מרכז עזרה","WEBSITE_LINK_CONTACTS":"יצירת קשר","WEBSITE_LINK_TOS":"תנאי שימוש","WEBSITE_LINK_PRAVACY":"פרטיות","WEBSITE_SUBSCRIBE":"הרשמה לעדכונים","WEBSITE_NEWSLETTER":"הצטרפו לעדכונים של דברים שווים","WEBSITE_PLACEHOLDER_EMAIL":"דואר אלקטרוני","WEBSITE_COMMUNITY":"קהילה","WEBSITE_LINK_PRAVACY_LEGAL":"פרטיות & חוקים","WEBSITE_WHY":"למה אנחנו עושים את זה","WEBSITE_WHY_P1":"בStremio, אנחנו מגיעים לעבודה כל יום כי אנחנו רוצים לפתור בעיה חשובה בתעשיית הווידאו לפי דרישה. יש כל כך הרבה תוכן חדש שמתפרסם בכל דקה שכמעט בלתי אפשרי למצוא את דרכך בתוכו.","WEBSITE_WHY_P2":"אנחנו עוזרים לאנשים לנווט בעולם העצום הזה של בידור וידאו ולגלות תוכן חדש ליהנות ממנו. האפליקציות שלנו מאגדות סרטים, סדרות, טלוויזיה בשידור חי, ערוצי אינטרנט ועוד. אנחנו מחויבים להפוך את זה לקל באופן מדהים למשתמשים למצוא כותרים ושדרנים שהם אוהבים.","WEBSITE_WHY_P3":"אתם יכולים להשתמש בשירות שלנו בכל מכשיר ובכל זמן, מה שהופך את Stremio למרכז הבידור הוידאו היחיד שתצטרכו אי פעם.","WEBSITE_TEAM":"צוות","WEBSITE_TEAM_P":"The Stremio team is small but powerful: between the ten of us, we code in X languages, and share expertise in software development, UI and UX design, marketing and advertising, and business and startups.","WEBSITE_FEATURES":"Features","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Discover new content with ease","WEBSITE_FEATURES_DISCOVER_P":"Easily discover new movies, TV shows, series and channels to watch. Browse by category, genre, rating, recency, etc. or simply type a name to find. Stremio makes finding new video content a piece of cake.","WEBSITE_FEATURES_ALL_CONTENT":"All of your video content on one screen","WEBSITE_FEATURES_ALL_CONTENT_P1":"See what movies, series or videos you didn’t finish and continue watching them; get notified for new episodes and releases; and browse through the recommendations you will get based on your viewing habits.","WEBSITE_FEATURES_LIBRARY":"ארגון ספריית הוידאו","WEBSITE_FEATURES_LIBRARY_P1":"Add any title to your Stremio library with a single click and find your way around your content, neatly arranged by type, recency, or alphabetical order.","WEBSITE_FEATURES_CALENDAR":"Keep track of everything you watch","WEBSITE_FEATURES_CALENDAR_P1":"Get a calendar visualization of all the movies and series you add to your library. Export your Stremio calendar and sync it so you always know when a new episode or a premier is due.","WEBSITE_FEATURES_BIG_SCREEN":"Enjoy your video content on a bigger screen","WEBSITE_FEATURES_BIG_SCREEN_P1":"Cast whatever you are watching to another device - be it a phone, tablet or a TV with a single click.","WEBSITE_FEATURES_SOURCES":"Watch video from many different sources","WEBSITE_FEATURES_SOURCES_P":"Install official and community addons to enjoy video sourced from many different providers - all in one sleek, easy to use app.","WEBSITE_CREATE_AN_ADDON":"יצירת תוסף","WEBSITE_FEATURES_SYNC":"Sync your library across different devices and resume your playback","WEBSITE_FEATURES_SYNC_P1":"Login with your account across all your devices and enjoy your library, addons, playback and calendar synchronized.","WEBSITE_FEATURES_EXTENDABLE":"Extendable video catalog by addons","WEBSITE_FEATURES_EXTENDABLE_P1":"The Stremio addon catalog provides a number of addons to install and watch a variety of video content from. This includes movies, shows, live TV, sport, news, podcasts, web channels, video games and more.","WEBSITE_FEATURES_AUTO_SUBS":"כתוביות אוטוצטיות","WEBSITE_FEATURES_AUTO_SUBS_P1":"With our subtitle addons you get automatically selected options for your preferred language.","WEBSITE_FEATURES_CHROMECAST":"שידור אל Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Enjoy your video content on a bigger screen or just cast whatever you are watching to another device.","WEBSITE_FEATURES_KEEP_TRACK":"Keep track of your favorite TV shows and Web channels","WEBSITE_FEATURES_KEEP_TRACK_P1":"Get a calendar visualization and notifications for new episodes of your favorite series and web channels.","WEBSITE_FEATURES_POWER_USER":"Power user features","WEBSITE_FEATURES_POWER_USER_P1":"ניגון בנגן חיצוני","WEBSITE_FEATURES_POWER_USER_P2":"Play from a torrent file or magnet link","WEBSITE_FEATURES_POWER_USER_P3":"Import to your library from Facebook likes or local disk","WEBSITE_ADD_ONS":"תוספים","WEBSITE_ADD_ONS_P1":"All of the video content Stremio provides get sourced through an addon system - no content or content provider has been built into the app.","WEBSITE_ADD_ONS_P2":"There are two groups of addons available: official and community addons.","WEBSITE_ADD_ONS_P3":"The official ones are developed and hosted by Stremio, whereas community addons are created by our community members, who also host them.","WEBSITE_ADDONS_OFFICIAL":"תוספים רשמיים","WEBSITE_ADDONS_WATCHUB":"Stream your favourite movies, series and shows from providers like iTunes, Hulu, Amazon and other UK/US services.","WEBSITE_ADDONS_YOUTUBE":"Watch your favourite YouTube channels ad-free and get notifications for new uploads from the contributors you follow.","WEBSITE_ADDONS_FILMON":"Watch live TV, movies and social television for free. 600 TV channels, 45,000 free movies, documentaries and more.","WEBSITE_ADDONS_OPENSUBTITLES":"Movie and TV subtitles in multiple languages, thousands of translated subtitles uploaded every day.","WEBSITE_ADDONS_COMMUNITY":"תוספי קהילה","WEBSITE_ADDONS_FILMON_VOD":"צפיה של VOD מאתר Filmon.tv","WEBSITE_ADDONS_TWICH":"צפיה בשידור חי מאתר Twitch.tv - a video streaming platform for the e-sports industry.","WEBSITE_ADDONS_VODO":"צפיה בסרטים הודים ללא עלות.","WEBSITE_ADDONS_NETFLIX":"צפיה בסרטים וסדרות של Netflix.","WEBSITE_ADDONS_CREATE":"יצירת תוסף","WEBSITE_ADDONS_CREATE_P1":"If you wish, you can develop your own addon. This way, you can give yourself and our community access to new video content, and reach a new, targeted audience of millions of users around the world.","WEBSITE_ADDONS_START_CREATE":"להתחלה, בקרו בעמוד Stremio Addon SDK:","WEBSITE_DOWNLOADS":"הורדות","WEBSITE_DOWNLOADS_P1":"For optimal performance, we recommend that you use the latest available version of the Stremio apps. If for some reason, however, you would like to use an older version, you can download it here.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio עבור Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio עבור macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio עבור Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio עבור Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio עבור Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio עבור Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio עבור Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio עבור iOS","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio עבור Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio עבור LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio עבור Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio עבור Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio עבור Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio עבור Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio עבור Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio עבור Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio עבור Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio עבור Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"מדריך עבור Stremio OS על RPI","WEBSITE_LINK_GUIDE":"מדריך","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service עבור Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service עבור macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service עבור Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service עבור Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio עבור Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"עוד אפשרויות הורדה","WEBSITE_DOWNLOAD_NEW":"חדש!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"The Stremio platform is open source and you can easily create an addon for content that is currently not sourced.","WEBSITE_CONTRIBUTE_WHY":"Why should you create an addon?","WEBSITE_CONTRIBUTE_WHY_P1":"Reach new audience for your video content","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio’s user base is growing rapidly - within the first year of the launch, Stremio had gained 1 million users around the world, and in the second year of the platform’s existence this number grew to 2.5 million.","WEBSITE_CONTRIBUTE_WHY_P3":"With your addon, you can easily reach this audience and distribute your video content to them.","WEBSITE_CONTRIBUTE_ALL":"Watch your favourite movies, videos, series and channels in one single place.","WEBSITE_CONTRIBUTE_ALL_P1":"You’re a fan of a particular type of content not available on Stremio yet? Create an addon for it and enjoy watching your favourite videos in one of the largest and easiest to use entertainment hubs on the market.","WEBSITE_CONTRIBUTE_ALL_P2":"On top of that, you’ll get the endless gratitude of other like-minded Stremio community members.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetize your addon and earn money with its help","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Once you develop a new addon for Stremio, you can easily monetize it through a number of different ways. If you are considering this, feel free to get in touch with us at ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - we would be happy to consult and advise you about addon monetization options.","WEBSITE_CONTRIBUTE_TRANSLATE":"Become a volunteer translator","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"If you want to enjoy the Stremio apps in different languages, you can join our community of volunteer translators. They help us add versions of the Stremio in many different languages.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Are you eager to get started?","WEBSITE_TRANSALTE_STREMIO":"תרגום Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"קהילות רשמיות","WEBSITE_COMMUNITY_OFFICIALS_P1":"Become a part of the growing Stremio community. Follow us on social media and don’t be shy to say hello - we love hearing from our fans! ","WEBSITE_COMMUNITY_UNOFFICIALS":"קהילות לא רשמיות","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio ברזיל","STREMIO_COMMUNITY_GERMANY":"Stremio גרמניה","STREMIO_COMMUNITY_BELGIUM":"Stremio בלגיה","STREMIO_COMMUNITY_FRANCE":"Stremio צרפת","STREMIO_COMMUNITY_PORTUGAL":"Stremio פורטוגל","STREMIO_COMMUNITY_ITALY":"Stremio איטלקית","STREMIO_COMMUNITY_UK":"Stremio אנגליה","STREMIO_COMMUNITY_USA":"Stremio ארה\'\'ב","STREMIO_COMMUNITY_MEXICO":"Stremio מקסיקו","STREMIO_COMMUNITY_ADDONS":"Stremio תוספים","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"שותפים ותומכים","WEBSITE_COMMUNITY_GOODIES":"הטבות Stremio","WEBSITE_COMMUNITY_WALLPAPERS":"רקעים","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"צור קשר","WEBSITE_CONTACT_US_P1":"If you have any questions, comments or suggestions, feel free to get in touch with us through the contact form below.","WEBSITE_CONTACT_US_P2":"Keep in mind that we are located in Bulgaria so there may be a delay in addressing your query due to time zone differences.","WEBSITE_CONTACT_US_SUCCESS":"Your message has been sent. We will get back to you at our earliest convenience.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"אנא הכנס אימייל תקני","WEBSITE_CONTACT_US_Q_RELATED_TO":"למה השאלה שלך שייכת?","WEBSITE_CONTACT_US_Q_OS":"מה המערכת הפעלה שלך?","WEBSITE_CONTACT_US_PH_EMAIL":"כתובת דואר האלקטרוני שלך","WEBSITE_CONTACT_US_PH_MESSAGE":"הודעה","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"שליחה","WEBSITE_CONTACT_US_Q_1":"איך להתקין?","WEBSITE_CONTACT_US_Q_2":"איך להסיר?","WEBSITE_CONTACT_US_Q_3":"(HTML) איך לעשות lasagna?","WEBSITE_CONTACT_US_Q_4":"תוספים","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"טכנולוגיה","WEBSITE_TECHNOLOGY_P1":"We love technology and mad science. </br> Here is what powers Stremio (it’s all open-source).","WEBSITE_TECHNOLOGY_P_QT":"Cross-platform software development at its best.","WEBSITE_TECHNOLOGY_P_MPV":"A free, open source, and cross-platform media player.","WEBSITE_TECHNOLOGY_P_RN":"React Native lets you build mobile apps using only JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework embedded into application to get multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm is a mobile platform and a replacement for SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js is an open-source, cross-platform, JavaScript runtime environment.","WEBSITE_TECHNOLOGY_P_RUST":"Rust is a multi-paradigm system programming language focused on safety, especially safe concurrency.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribute to the project","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"There are two ways you can contribute to Stremio and help us make the product even better.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"You can donate your valuable language skills by translating the platform...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"או","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... you can employ your coding skills for creating community addons. ","WEBSITE_TRANSLATE_STREMIO":"תרגום Stremio","WEBSITE_404_OH_NO":"אוי לא! העמוד שחיפשת לא נמצא כאן...","WEBSITE_GO_HOME":"מעבר לבית","WEBSITE_LINK_OTHER_DOWNLOADS":"הורדות אחרות","WEBSITE_FAQ_ABR":"שאלות ותשובות","WEBSITE_SUPPORT":"תמיכה","WEBSITE_DOWNLOAD_4_0_BETA":"הורדת Stremio 4 beta","WEBSITE_GET_FOR_DESKTOP":"הורדה לשולחן העבודה","WEBSITE_LINK_ADDON_COMPETITION":"תחרות התוספים","WEBSITE_LINK_ART_CONTEST":"Art contest","WEBSITE_MY_ACCOUNT":"חשבון שלי","WEBSITE_MAINPAGE_FAQ_001_H1":"What is Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio is a modern media center that gives you the freedom to watch everything you want.","WEBSITE_MAINPAGE_FAQ_002_H1":"How does it work?","WEBSITE_MAINPAGE_FAQ_002_P1":"Once you install Stremio on your device and create an account, all you have to do is to visit the addon catalog and install any addon you want, and you\'re good to go!","WEBSITE_MAINPAGE_FAQ_002_P2":"After that, you can go to the Discover or Board sections to start exploring content.","WEBSITE_MAINPAGE_FAQ_003_H1":"What can I watch here?","WEBSITE_MAINPAGE_FAQ_003_P1":"A lot: Movies, TV shows, Web channels, Sport, TV channels, listen to Podcasts and more. Thanks to our addon system, you can accss a variety of content.","WEBSITE_MAINPAGE_FAQ_004_H1":"Is Stremio open-source?","WEBSITE_MAINPAGE_FAQ_004_P1":"Yes, you can check the following links: ${1}desktop app${2} and ${3}GitHub organization${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Is Stremio safe?","WEBSITE_MAINPAGE_FAQ_005_P1":"Yes: because it is open-source software, the code is publically auditable and you can review it yourself.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"How about my privacy?","WEBSITE_MAINPAGE_FAQ_006_P1":"We respect users\' privacy and do not collect any personal data besides the essential minimum to create and sync your account.","WEBSITE_MAINPAGE_FAQ_006_P2":"There is also a ${1}Guest mode${2} at signup, which requires no data whatsoever: in this mode, no calls are made to our backend. However, it comes at the expense of useful features, such as being able to sync your library across devices.","WEBSITE_MAINPAGE_FAQ_007_H1":"Can I cast to my TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Yes, we support Chromecast and you can cast both from desktop and mobile apps (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"How many addons does Stremio have?","WEBSITE_MAINPAGE_FAQ_008_P1":"As of late 2019, over 50 - for more information, check our addon catalog.","WEBSITE_MAINPAGE_FAQ_009_H1":"Can Stremio be extended beyond what\'s in the addon catalog?","WEBSITE_MAINPAGE_FAQ_009_P1":"Yes, you should check those: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"What devices does Stremio support?","WEBSITE_MAINPAGE_FAQ_010_P1":"We have desktop apps for Windows, Mac and Linux. For mobile, we support Android and iOS, although keep in mind that the iOS is limited in functionality (does not support most addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"There are many Android-based devices which you can run Stremio on, like NVIDIA Shield and Amazon Fire Stick, but we do not support them officially.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Can you add certain content to Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Sorry, we provide no content ourselves, but the more Stremio addons you have installed, the more content you will be able to find.","WEBSITE_MAINPAGE_FAQ_012_H1":"Can Stremio play magnet links?","WEBSITE_MAINPAGE_FAQ_012_P1":"Yes, and it can also play normal HTTP links and torrent files (drag and drop).","WEBSITE_MAINPAGE_FAQ_013_H1":"Can I download a video and watch offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Available offline is an upcoming feature, but if you allow Stremio to cache on your device (from the settings panel) you can watch the videos later without a connection.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nothing works, help me!","WEBSITE_MAINPAGE_FAQ_014_P1":"Are you sure you have installed addons? If yes, check with our ${1}help center${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"How does Stremio sustain it\'s development operations?","WEBSITE_MAINPAGE_FAQ_015_P1":"We run non-intrusive ads occassionally, but we\'re considering moving to a donation model.","WEBSITE_MAINPAGE_FAQ_015_P2":"For more questions, go to our ${1}help center${2}.","HELP_LEARN_MORE":"עזרו לנו ללמוד עליכם יותר.","LIFESTYLE":"סגנון חיים","SPORTS":"ספורט","FOOD_HEALTH":"אוכל ובריאות","BEAUTY_FASHION":"יופי ואופנה","NEWS":"חדשות","GAMING":"גיימינג","SCIENCE_EDUCATION":"מדע וחינוך","MUSIC":"מוזיקה","TRAVEL":"טיולים","LATE_NIGHT":"תוכניות אירוח","REALITY":"ריאלטי","COMEDY":"קומדיה","DIY":"עשה זאת בעצמך","TECH":"טכנולוגיה","CINEMA":"קולנוע","CONTINUE":"המשך","SLOW_LOADING":"טעינה איטית?","I_GIVE_UP":"לוותר","LEARN_MORE":"מידע נוסף","POOR_SOURCE":"מקור זה בקושי זמין או שחיבור האינטרנט שלך איטי מאוד","PICK_CATEGORIES_ERR":"נא לבחור 3 קטגוריות מינימום","ADJUST_TIMING":"שינוי תזמון בעזרת ","ADJUST_SIZE":"שינוי גודל בעזרת","SEARCH_ANYTHING":"אפשר לחפש הכל...","ALL_CATEGORIES":"הכל","SEARCH_CATEGORIES":"סרטים, סדרות, Youtube & טלויזיה","SEARCH_PERSONS":"שחקנים, מפיקים & כותבים","SEARCH_PROTOCOLS":"קישורים ישירים או מגנט","SEARCH_TYPES":"IMDB / TVDB קישורים","WATCHED":"נצפה","SHOW_LESS":"הצג פחות","LAST_SEARCHES":"חיפושים אחרונים","CLEAR_HISTORY":"נקה היסטוריה","CHOOSE_SOME":"בחירה של משהו מכאן:","NO_WEB_REMOTE":"שימוש מרוחק לא ניתן לטעינה","STREMIO_OFFLINE":"Stremio מנותק","STREMIO_EXPENSIVE_CONNECTION":"חיבור לאינטרנט הוא יקר","USE_DATA":"השתמש בנתונים ניידים","WARNING":"אזהרה","MORE_INFO":"מידע נוסף ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"טוען ...","STREMIO_TV_BACK_TO_LANGUAGES":"חזרה לשפות","STREMIO_TV_REMOTE":"שלט","STREMIO_TV_GO_TO":"מעבר אל:","STREMIO_TV_OR_SCAN":"או סריקה:","STREMIO_TV_ADDON_INSTRUCTIONS":"נא לעקוב אחר ההוראות בכדי להתקין את התוספים המועדפים עליכם.","STREMIO_TV_LIVE_TV":"טלויזיה חיה","STREMIO_TV_RESUME_WATCHING":"המשך צפיה","STREMIO_TV_LOADING_BACKGROUND":"טוען ברקע","STREMIO_TV_CHECKING_AUTHENTICATION":"בודק פרטי התחברות","STREMIO_TV_LOADING_BOARD":"טוען לוח","STREMIO_TV_LOGIN_HEADER_LINE_1":"אנו רוצים שהמשתמשים שלנו יזכו לחוויה המותאמת אישית הטובה ביותר עם התוכנה שלנו.","STREMIO_TV_LOGIN_HEADER_LINE_2":"מסיבה זו אנו מבקשים מכם לבקש ו / או להתחבר לחשבונכם.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"תודה על ההבנה,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"צוות Stremio","STREMIO_TV_REMOTE_INSTRUCTIONS":"על מנת להשתמש מרחוק באמצעות טלפון חכם / טאבלט / מחשב:","STREMIO_TV_WIFI_SETUP":"התקנת Wi-Fi","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle לא הצליח לזהות חיבור אינטרנט.","STREMIO_TV_WIFI_DETAILS_1":"חיבור אל:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"שימוש בסיסמה:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"פתיחת דפדפן עם קישור:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"ברירת המחדל","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"לפי נצפה לאחרונה","STREMIO_TV_LIBRARY_SORT_NAME":"לפי שם","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"לפי שם - סדר יורד","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"לפי כמות הצפיות","STREMIO_TV_LIBRARY_SORT_WATCHED":"לפי נצפה","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"לפי לא נצפה","STREMIO_TV_DETAILS_SEASON_NUMBER":"${1} עונה","STREMIO_TV_STREAMS_LOADING":"נטענו {1}$ / {2}$ תוספים...","STREMIO_TV_STREAMS_STILL_LOADING":"תוסף {1}$ עדיין נטען","STREMIO_TV_PLAYER_SETTINGS":"הגדרות נגן","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"השהיית כתוביות","STREMIO_TV_PLAYER_AUDIO_DELAY":"השהיית אודיו","STREMIO_TV_PLAYER_VIDEO_SCALING":"קנה מידה של וידאו","STREMIO_TV_PLAYER_CHAPTERS":"פרקים","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"דילוג על ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"מקור השידור אינו נתמך","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"שגיאה בפתיחת קישור חיצוני","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"לא ניתן לשינוי במצב passthrough","STREMIO_TV_PLAYER_PLAY_IN_EXO":"נגן עם ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"נגן עם libVLC","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"מחליף לנגן libVLAC עקב שגיאה בשידור","STREMIO_TV_ADDONS_TITLE":"Use Stremio on your Phone or PC to install or configure addons and press \\"סינכרון תוספים\\"","STREMIO_TV_ADDONS_SUBTITLE":"הערה: ודא כי אתה משתמש באותו משתמש Stremio","STREMIO_TV_ADDONS_SYNC_ADDONS":"סינכרון תוספים","STREMIO_TV_ADDONS_SYNC_SUCCESS":"תוספים סונכרונו בהצחלה","STREMIO_TV_ADDONS_SYNC_FAILED":"שגיאה סינכרון התוספים","STREMIO_TV_META_LINK_FAILED":"פתיחת לינק meta נכשלה","STREMIO_TV_CATALOG_LOADING":"הקטלוג עדין נטען...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"שפת הממשק עודכנה","STREMIO_TV_SETTINGS_THEME_UPDATED":"ערכת הנושא עודכנה","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"נגן ברירת המחדל","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"נגן חיצוני","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"שפה מועדפת","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"שפה מועדפת משנית","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possible playback issues on some devices","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Some video formats might not work","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"ללא זיכרון מטמון","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"ברירת מחדל","STREMIO_TV_SETTINGS_PROFILE_SOFT":"עדין","STREMIO_TV_SETTINGS_PROFILE_FAST":"מהיר","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"מהיר במיוחד","STREMIO_TV_SETTINGS_SERVER_URL":"קישור לשרת צפייה","STREMIO_TV_SETTINGS_SERVER_VERSION":"גרסת שרת","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"לא ידוע","STREMIO_TV_SETTINGS_STREMIO_VERSION":"גרסת Stremio","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"עריכת קישור שרת","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"הזן כתובת אתר של שרת הזרמה(סטרימינג)","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"הצג סטיסטיקות בזמן הטעינה","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"לקריאת תנאי הפרטיות של Stremio, בקרו ב:","STREMIO_TV_SETTINGS_TOS_TEXT":"לקריאת תנאי השימוש של Stremio, בקרו ב:","STREMIO_TV_NAV_SEARCH":"חיפוש","STREMIO_TV_NAV_HOME":"דף הבית","STREMIO_TV_NAV_DISCOVER":"גלה","STREMIO_TV_NAV_LIBRARY":"ספרייה","STREMIO_TV_NAV_MOVIES":"סרטים","STREMIO_TV_NAV_SERIES":"סדרות","STREMIO_TV_NAV_CHANNELS":"ערוצים","STREMIO_TV_NAV_TV":"שידורים חיים","STREMIO_TV_NAV_SETTINGS":"הגדרות","STREMIO_TV_NAV_ADDONS":"תוספים","STREMIO_TV_LOGIN_TITLE":"חבר משתמש","STREMIO_TV_LOGIN_EXPIRES_IN":"פג תוקף ב-","STREMIO_TV_LOGIN_STEP_ONE":"סרקו את קוד ה-QR או גשו ל:","STREMIO_TV_LOGIN_STEP_TWO":"התחברות למשתמש Stremio","STREMIO_TV_LOGIN_NEW_LINK":"בקש קישור חדש","STREMIO_TV_LOGIN_LINK_REFRESHED":"קישור ההתחברות חודש","STREMIO_TV_SEARCH_PLACEHOLDER":"הקלד משהו","STREMIO_TV_SEARCH_NO_ADDONS":"לא התבקשו תוספים לקטלוגים!","STREMIO_TV_SEARCH_BUTTON":"חיפוש","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"רווח","STREMIO_TV_SEARCH_KEY_CLEAR":"נקה","STREMIO_TV_SEARCH_HISTORY_TITLE":"היסטוריית החיפושים","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"אפשר לחפש כותרים, שחקנים, ערוצים ועוד...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"נקה את היסטוריית החיפושים","STREMIO_TV_FILTERS_DESCRIPTION":"בחרו אחד מהפילטרים מטה","STREMIO_TV_STREAMING_SERVER_OFFLINE":"שרת הסטרימינג במצב לא מקוון, בדוק את הגדרות השרת.","FILTERS":"פילטרים","SETTINGS":"הגדרות","ACCOUNT":"משתמש","LOGOUT":"התנתק","THEMES":"ערכות נושא","PLAYBACK":"ניגון","PLAYBACK_SPEED":"מהירות ניגון","AUDIO_TRACKS":"רצועות שמע","UNKNOWN_TRACK_LANG":"לא ידוע","VIDEOS":"סרטונים","SERVER":"שרת","LINKS":"קישורים","ABOUT":"אודות","INTERFACE":"ממשק","ANIMATIONS":"אנימציות","STATUS":"סטטוס","LANGUAGE":"שפה","SIZE":"גודל","DELAY":"השהייה","BOLD":"Bold","OPACITY":"Opacity","TEXT_COLOR":"צבע טקסט","OUTLINE_COLOR":"צבע מתאר","BACKGROUND_COLOR":"צבע רקע","BACKGROUND_BLUR":"טשטוש רקע","SEEK_TIME_DURATION":"משך זמן חיפוש","AUTO_PLAY":"נגן אוטומטית את הפרק הבא","PLAY_NOW":"נגן עכשיו","MARK_AS_WATCHED":"סמן כנצפה","MARK_AS_UNWATCHED":"סמן כלא נצפה","REWIND_TO_BEGINNING":"חזור להתחלה","CONTINUE_WATCHING":"המשך צפייה","ALL":"הכל","SECONDS":"שניות","ON":"דלוק","OFF":"כבוי","RELOAD":"טעינה מחדש","EDIT_URL":"ערוך קישור","NONE":"כלום","EMBEDDED":"מוטבע","REMOTE_SWITCH_DEVICES":"שינוי מכשירים","REMOTE_VIDEOS":"וידאו","REMOTE_ADJUST_TIMING":"שינוי תזמון","REMOTE_ADJUST_SIZE":"שינוי גודל","REMOTE_COULD_NOT_BE_LOADED":"שליטה מרחוק לא אפשרית","REMOTE_RETRY":"לנסות שוב","TORRENT_PROFILE_DEFAULT":"ברירת המחדל","TORRENT_PROFILE_SOFT":"עדין","TORRENT_PROFILE_FAST":"מהיר","TORRENT_PROFILE_ULTRA_FAST":"מהיר במיוחד","FAQ_001_H1":"?Stremio מה זה","FAQ_001_P1":"Stremio is a media center software designed for video entertainment with ease of use in mind. Stremio allows you to organize &amp; watch your own collection of movies, series, channels and live TV.","FAQ_001_P2":"Stremio collect the content it shows you from your local disk and our addons system.","FAQ_001_P3":"It will also notify you when new episodes/videos/movies you\'re interested in come out, and provide movie recommendations for you.","FAQ_02_H1":"How does Stremio compare to Kodi and Plex?","FAQ_02_P1":"We are inspired by those two pieces of software. But we have different goals - Stremio is specifically targeted towards entertainment video, and strives to become the mainstream solution for that by being very easy to use.","FAQ_02_P2":"Stremio will never be as customizable and feature-rich as Kodi and Plex, but it is significantly easier to use. Just ${1} get it and see ${2} :)","FAQ_03_H1":"How does Stremio compare to Netflix?","FAQ_03_P1":"Again, Netflix is one of our inspirations. We strive to achieve the user experience of Netflix, plus a lot of added goodies. But most importantly, we\'re giving you the freedom to manage your own library and add new content sources with our addon system.","FAQ_03_P2":"That makes Stremio infinitely extendable, so when you use Stremio, you\'re never limited to the content Netflix decides to license. For example, through Stremio you can watch content from ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} and even ${9}Netflix${10} itself!","FAQ_04_H1":"How does Stremio compare to Flipboard?","FAQ_04_P1":"We don’t get that question that often, except when talking to start-up people :)","FAQ_04_P2":"Stremio is by design a content aggregator, which essentially makes it Flipboard for video. This is very apparent in our Board section, which gives you catalogues and new episode/new video notifications for what you follow, just like Flipboard.","FAQ_05_H1":"How does Stremio compare to Popcorn Time?","FAQ_05_P1":"Stremio and Popcorn Time are similar in user interface, because there aren’t many ways to do video entertainment catalogues right :)","FAQ_05_P2":"But while Popcorn Time is focused on streaming torrents from specific sources, Stremio is unrestricted and is merely a content aggregator - it’s not locked into a specific content source.","FAQ_05_P3":"Furthermore, we do not provide any torrent addons by default, so Stremio does not cover the Popcorn Time use-case with official functionality.","FAQ_05_P4":"Another notable difference is that Popcorn Time is completely open source, while Stremio is ${1} partially open source${2}.","FAQ_06_H1":"Will you add this movie/series?","FAQ_06_P1":"No, sorry :(","FAQ_06_P2":"As is mentioned in most of the other questions, Stremio does not provide any content by itself - everything is added through the addons system. In case you have a content request, you can use the “Report” button in the Player, which will send an email to the author of the addon you’re currently using.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Will you create addon for X?","FAQ_08_P1":"It\'s entirely possible.","FAQ_08_P2":"If you have an idea for an addon, drop us a line at ${1}office@stremio.com${2}, but please make sure your addon idea will not infringe on any copyrights or terms of use.","FAQ_08_P3":"At the moment, the next things on our roadmap are addons for FandangoNOW, Filmon.tv video on demand and Crunchyroll.","FAQ_09_H1":"Does Stremio use BitTorrent?","FAQ_09_P1":"Yes, Stremio supports BitTorrent as a streaming protocol. You can use that either with a torrent addon, or by drag-and-dropping a .torrent file into Stremio, or by pasting a magnet link into the Search Bar.","FAQ_09_P2":"Please note that the only official addon using BitTorrent is ${1}Vodo${2}, which provides indie content, all permitted to be distributed with BitTorrent.","FAQ_09_P3":"We do not support use of any third-party addons which may enable copyright infringement.","FAQ_10_H1":"What can I watch in Stremio with the official addons?","FAQ_10_P1":"By default, you can watch Filmon.tv, YouTube and Vodo content within Stremio itself, with it’s embedded player. Additionally, we have an addon for Twitch.tv and a few others.","FAQ_10_P2":"This combined provides a selection of:","FAQ_10_L1":"Popular TV channels, provided by Filmon.tv - for example E4, BBC, Bollyworld TV","FAQ_10_L2":"Everything from YouTube - for example BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indie movies with Vodo","FAQ_10_L4":"Online gaming broadcasts with Twitch.tv","FAQ_10_P3":"Additionally, there are many content sources provided with Guidebox and the Netflix addons, which <b>do not</b> play entirely inside Stremio, but would redirect to the given service. For example, the Guidebox addon would give you a selection of movies you can stream in the US for free, from services like TubiTV and Crackle.","FAQ_11_H1":"Stremio won\'t install, what should I do?","FAQ_11_P1":"If you\'re on Windows, try ${1}this alternative installer${2}.","FAQ_11_P2":"If you\'re on Mac OS X, please be aware that we don\'t support anything older than OS X Mavericks (10.9).","FAQ_11_P3":"If you\'re on Linux, be aware that we only support 64 bit (x64) Linux at the moment.","FAQ_11_P4":"If you still can\'t resolve your problem, please write us at our ${1}Facebook group${2}.","FAQ_12_H1":"Why does my anti-virus complain? Is Stremio safe?","FAQ_12_P1":"We assure you Stremio is ${1}100% clean${2}.","FAQ_12_P2":"Your antivirus is complaining because we include advertising in our installer, which some anti-virus programs recognize as ad-ware.","FAQ_12_P3":"If you\'re still unsure, you can try our ${1}alternative installer${2}.","FAQ_13_H1":"How can I make an addon?","FAQ_13_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_13_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_13_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_14_H1":"How are addons published?","FAQ_14_P1":"When you create an addon and host, and put a <b>endpoint</b> field in your manifest, which points to a working addon address, the addon will automatically publish itself to our ${1}Addon catalogue${2}.","FAQ_14_P2":"This happens because the server part of the stremio-addons module automatically makes a call to our API to announce the addon. When our API validates your <b>endpoint</b> as a valid addon, it will start showing in the catalogue.","FAQ_15_H1":"Can I run Stremio in my browser?","FAQ_15_P1":"Not at the moment, but this is coming!","FAQ_15_P2":"If you\'re curious to see an Alpha, you can see it here: ${1}alpha4.strem.io${2}. Keep in mind streaming is disabled on this alpha. We support Chrome, Firefox, Opera and Edge.","FAQ_16_H1":"Casting to TV doesn\'t work / subtitles don\'t work","FAQ_16_P1":"Casting to TV uses the DLNA technology which is very inconsistent between different TV brands and models. For that reason, we do not have the ability to test it in every case, so it\'s far from perfect. Despite this, we\'re working on improving it constantly but we cannot give you a time estimate on when DLNA will start working properly with your TV.","FAQ_16_P2":"If you don\'t even see your TV in the casting menu, please try disabling your network connection and re-enabling it (on Windows, right click the Network and use Enable/Disable), as well as restarting your router, TV and PC.","FAQ_16_P3":"If you are still encountering issues, you can help us by sending your TV brand and model information at ${1}office@stremio.com${2}.","FAQ_16_P4":"In the meantime, we recommend Chromecast, which we support very well, or simply plugging in your TV to your PC with an HDMI cable.","FAQ_17_H1":"Stremio freezes and/or crashes, what can I do?","FAQ_17_P1":"First of all, if you\'re using Windows 7 with AVG anti-virus: we have a problem with that combination. The problem is in AVG itself, and there\'s no reasonable way to resolve it on our end. Unfortunately, exceptions or disabling the anti-virus won\'t work. The only solution is to replace AVG with something else.","FAQ_17_P2":"If that\'s not the issue, but you\'re still using Windows, please update to the latest service pack and update/re-install your GPU drivers, then try again.","FAQ_17_P3":"If you\'re problem is still not resolved, or you\'re using a Mac or Linux, please write us reporting the exact details of the problem at ${1}our Facebook group${2}.","FAQ_18_H1":"How can I make an addon?","FAQ_18_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_18_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_18_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_19_H1":"Why is Stremio taking disk space?","FAQ_19_P1":"Stremio has a <b>local cache</b> to temporarily keep the video files you stream.","FAQ_19_P2":"This has two benefits: first, it allows Stremio to pre-buffer the video ahead so as to ensure smoother streaming. Second, it keeps the videos in the local cache so you can continue watching them offline.","FAQ_19_P3":"How much Stremio keeps depends on the <b>Cache</b> setting in the Settings panel. Stremio may keep up to the set amount (e.g. 2GB) on your disk, unless the currently streamed video is larger than that, in which case it has to allocate enough storage to keep it until you\'re streaming it.","FAQ_20_H1":"Where is the cache folder?","FAQ_20_P1":"On Windows, it\'s stremio-cache in the drive you picked in Settings (e.g. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"On MacOS, it\'s \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"On Linux, it\'s \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"I get \\"Streaming server is not found\\" error, what can I do?","FAQ_21_P1":"If you get this error, it means one of few things:","FAQ_21_P2":"1) You are trying to use an addon backed by YouTube/BitTorrent source, through our ${1}web version${2}. In this case, you should install our desktop version from ${3}our website${4}.","FAQ_21_P3":"2) Something is wrong with your Stremio installation. In this case, try re-installing our latest desktop version from ${1}the website${2}. If this does not help, try disabling anti-virus programs and firewalls, restarting your PC and trying again. If this does not work too, please write us at our ${3}our Facebook group${4}.","FAQ_22_H1":"I cannot see/use most addons on iOS","FAQ_22_P1":"Because of restrictions in the Apple App Store terms and conditions, we have restricted the iOS application only to a particular set of addons.","FAQ_22_P2":"But rest assured - there will be more addons for iOS in the future, and we may also add an integration that will allow you to use all Stremio addons thanks to connecting the iOS app to the Stremio Streaming Server."}')},14018:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"फ़िल्म","TYPE_series":"धारावाहिक","TYPE_tv":"टीवी चैनल","TYPE_channel":"चैनल","TYPE_other":"अन्य","TYPE_movie_PL":"फ़िल्म","TYPE_series_PL":"धारावाहिक","TYPE_tv_PL":"टी वी चैनल","TYPE_channel_PL":"चैनल","TYPE_other_PL":"अन्य","TYPE_ALL":"All","TYPE":"Type","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"वीडियो","BACK":"पीछे","MORE":"अधिक","DONE":"किया हुआ","COPY":"प्रतिलिपि","SUCCESS":"Success","ERROR":"Error","SETTINGS_CASTING_MODE_PICKER":"Casting mode","CASTING_MODE_HLSV2":"Default","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"No transcoding","Discover":"डिस्कवर","Board":"तख़्ता","Library":"पुस्तकालय","My Library":"मेरा पुस्तकालय","Calendar":"पंचांग","NOTIFICATION_ONLINE":"अब आप ऑनलाइन हैं","NOTIFICATION_OFFLINE":"आप वर्तमान में ऑफ़लाइन हैं","INTERNET_CONNECTION":"नेटवर्क कनेक्शन","STORAGE_FULL_TITLE":"चेतावनी: भंडारण पूर्ण!","STORAGE_FULL_TEXT":"Stremio आपकी सेटिंग्स वरीयताओं या लॉगिन जानकारी को सहेजने में सक्षम नहीं होगा। फिर से शुरू करने या फिर से स्थापित करने पर विचार करें।","SEARCH":"तलाशी","SEARCH_NO_RESULTS":"कोई परिणाम नहीं मिले थे","SEARCH_EXPLANATION_CONTENT":"फिल्में श्रृंखला यूट्यूब और टीवी चैनल खोजें","SEARCH_EXPLANATION_PEOPLE":"अभिनेता निदेशकों और लेखकों के लिए खोजें","SEARCH_PASTE_LINKS":"HTTP और चुंबक लिंक पेस्ट करें","SEARCH_OR_PASTE_LINK":"Search or paste link","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"पुस्तकालय में जोड़ें","REMOVE_FROM_LIB":"पुस्तकालय से निकालें","ADDED_TO_LIB":"पुस्तकालय में जोड़ा गया","REMOVED_FROM_LIB":"पुस्तकालय से हटा दिया गया","TRAILER":"ट्रेलर","WATCH_TRAILER":"ट्रेलर देखें","WATCH_NOW":"अब देखिए","SHOW":"प्रदर्शन","SHOW_MOVIE":"फिल्म दिखाओ","WATCH_RANDOM":"यादृच्छिक","IMDB_RATING":"आईएमडीबी रेटिंग","YEAR":"वर्ष","DIRECTOR":"निर्देशक","WRITER":"लेखक","LEAD_ACTORS":"मुख्य अभिनेता","CAST":"ढालना","CREW":"कर्मी दल","SHOW_MORE_CAST":"और दिखाओ","AIRED":"प्रसारित","SEASONS":"मौसम के","GENRE":"शैली","GENRE_ALL":"All genres","CATALOG":"सूची","SUMMARY":"सारांश","SHOW_MORE":"और दिखाओ","SIMILAR":"एक जैसा","UPCOMING":"आगामी","ENDED":"समाप्त","DURATION":"अवधि","FEATURED":"विशेष रुप से प्रदर्शित","METADATA":"मेटाडाटा","CATEGORY":"वर्ग","LINKS_GENRES":"Genres","LINKS_CAST":"Cast","LINKS_DIRECTORS":"Directors","SEARCH_VIDEOS":"वीडियो खोजें","SEARCH_PLACEHOLDER":"यूआरएल खोजें या पेस्ट करें","ADDON":"ऐड ऑन","ADDONS":"ऐड-ऑन","OFFICIAL":"अधिकारी","ADDONS_OFFICIAL":"आधिकारिक स्ट्रीमियो एडॉन्स","ADDONS_POPULAR":"आपके क्षेत्र में लोकप्रिय","ADDON_FREE":"नि: शुल्क","ADDON_PEERED":"झाँका","ADDON_SUBSCRIPTION":"अंशदान","ADDON_STREAM_GEORESTRICTED":"आपके क्षेत्र में उपलब्ध नहीं है","ADDON_STREAM_OFFLINECACHE":"ऑफ़लाइन कैश","ADDON_STREAM_LOCALFILE":"स्थानीय संचिका","SHARE_ADDON":"शेयर एडन","AVAILABLE_STREAMS":"उपलब्ध धाराएं","NO_STREAM":"कोई धारा नहीं मिली","ALL_ADDONS":"All","INSTALL_MORE_ADDONS":"अधिक धाराओं के लिए कृपया अधिक addons स्थापित करें","STREAM_NOT_SUPPORTED":"चयनित स्ट्रीम इस मंच पर समर्थित नहीं है।","ADDON_CATALOGUE":"सभी एडॉन्स दिखाएं »","ADDON_CATALOGUE_MORE":"Addons स्थापित करें","REPO_ADDED":"रिपोजिटरी ने कहा","ADDON_REPO_EXIST_ERR":"यह एडॉन्स संग्रह पहले से मौजूद है","ADDON_REPO_ERR":"संग्रह जोड़ने के दौरान त्रुटि हुई","ADDON_ADD_ERR":"Addon जोड़ने के दौरान त्रुटि हुई","ERR_ADDON_PROTECTED":"Addon को अनइंस्टॉल नहीं कर सकता यह संरक्षित है","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"कुछ गलत हो गया - प्रमाणीकरण विफल हो सकता है","ERR_NOT_COLLECTION_URL":"एक संग्रह यूआरएल नहीं","ERR_NOT_ADDON_URL":"एक वैध एडन यूआरएल नहीं","ERR_DETECTFROMURL":"इस यूआरएल से एडन / संग्रह नहीं मिल रहा है","ADDON_DUPLICATE_WARNING":"चेतावनी: डुप्लिकेट एडन","ADDON_COLLECTION_SET_FAILED":"अपने खाते में स्थापित एडॉन्स को सिंक करना विफल रहा","SETTINGS_DATA_EXPORT":"निर्यात उपयोगकर्ता डेटा","ADDON_PULL_FAILED":"अपने खाते से स्थापित एडॉन्स को सिंक करना विफल रहा","REFRESH_ON_CLICK":"पुनः प्रयास करने के लिए क्लिक करें","STILL_IN_THEATER":"फिल्म अभी भी सिनेमाघरों में","WATCH_IN_CINEMA":"इसे अपने स्थानीय सिनेमा में देखें","IN_THEATER":"सिनेमा में","GET_TICKETS":"टिकिट पाएं","UPCOMING_EPISODE":"आगामी एपिसोड","UPCOMING_EPISODE_MESSAGE":"इस प्रकरण पर प्रसारित किया जाएगा","MISSING_DATE_EPISODE":"गायब एपिसोड तिथि","MISSING_DATE_EPISODE_MESSAGE":"यह एपिसोड अभी तक प्रसारित नहीं हो सकता है","CHANNEL_NOT_SCRAPED":"यह चैनल अभी तक स्क्रैप नहीं है। <br> कृपया कुछ मिनटों में वापस आएं।","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"इसे उपलब्ध होने के बाद अधिसूचित होने के लिए इसे अपनी लाइब्रेरी में जोड़ें।","GET_NOTIFIED_WHEN_AVAILABLE":"एक बार उपलब्ध होने के बाद आपको सूचित किया जाएगा।","WARNING_STREAMING_SERVER":"चेतावनी: स्थानीय स्ट्रीमिंग सर्वर नहीं मिला। स्थानीय फाइलों से स्ट्रीमिंग यूट्यूब और बिटटोरेंट उपलब्ध नहीं होंगे।","WARNING_STREAMING_SERVER_DISMISS":"Dismiss","WARNING_STREAMING_SERVER_LATER":"Later","DECODER_WARNING":"चेतावनी: इस वीडियो को आपके हार्डवेयर द्वारा समर्थित नहीं किया जा सकता है। ध्यान रखें प्लेबैक धीमा हो सकता है।","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"ओह खिलाड़ी त्रुटि","PLAYER_ERROR_LOOKSLIKE":"ऐसा लग रहा है","PLAYER_ORIENTATION":"खिलाड़ी अभिविन्यास","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"बंद","PLAYER_ORIENTATION_SENSOR_SHORT":"सेंसर","PLAYER_ORIENTATION_LANDSCAPE":"प्लेयर ओरिएंटेशन लैंडस्केप पर लॉक किया गया","PLAYER_ORIENTATION_SENSOR":"प्लेयर अभिविन्यास स्वचालित (सेंसर)","PLAYER_PLAYBACK_SPEED":"प्लेबैक गति","PLAYER_PLAYBACK_ERROR":"प्लेबैक त्रुटि कृपया पुनः प्रयास करें","PLAYER_PLAYBACK_ERROR_UNKNOWN":"अज्ञात त्रुटि","PLAYER_PLAYBACK_ERROR_DEFAULT":"क्षमा करें इस वीडियो को {{PRODUCTNAME}} द्वारा नहीं खेला जा सकता है।","PLAYER_SUBTITLES_LANGUAGES":"Subtitles Languages","PLAYER_SUBTITLES_VARIANTS":"Subtitles Variants","PLAYER_SUBTITLES_SETTINGS":"Subtitles Settings","PLAYER_SUBTITLES_DISABLED":"Subtitles are disabled","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Vertical Position","PLAYER_SUBTITLES_LOADED":"Subtitles loaded","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Embedded subtitles loaded","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Exclusive subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Subtitles from {{origin}} loaded","PLAYER_PLAY":"Play","PLAYER_PAUSE":"Pause","PLAYER_NEXT_VIDEO":"Next Video","PLAYER_MUTE":"Mute","PLAYER_UNMUTE":"Unmute","PLAYER_OPEN_IN_EXTERNAL":"Open in external player","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Play in {{device}}","PLAYER_LIVE":"रहना","PLAYER_NEXT_VIDEO_TITLE":"आगे आ रहा है","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"खारिज","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"अब देखिए","PLAYER_COPY_STREAM_SUCCESS":"Stream link was copied to your clipboard","PLAYER_COPY_STREAM_ERROR":"Failed to copy stream link","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","STREAMING_FROM":"से स्ट्रीमिंग","CASTING_TO":"कास्टिंग करना","NETWORK_STATUS":"नेटवर्क की स्थिति","STREAM_SPEED":"धारा गति:","STREAM_BUFFERED":"Buffered:","PEERS_INFO":"सहकर्मी सूचना","PEERS_ACTIVE":"सक्रिय:","PEERS_CONNECTED":"जुड़े हुए:","PEERS_WAITING":"इंतज़ार कर रही:","TRANSCODING_WARNING":"चेतावनी: ट्रांसकोडिंग वीडियो।","STREAM_LOADING":"लोड हो रहा है...","PLAYING_LOCAL":"स्थानीय फ़ाइल से बजाना","PLAYING_CACHE":"कैश से बजाना","WRONG_SUBS":"गलत उपशीर्षक?","ERR_SUBS_LOADING_TITLE":"उपशीर्षक लोड करने में त्रुटि","ERR_SUBS_LOADING":"असफल उपशीर्षक लोड हो रहा है: यह आपके द्वारा उपयोग किए जा रहे एडन के साथ या आपके नेटवर्क कनेक्शन के साथ एक समस्या हो सकती है","WARN_FOLLOWING_SUB_ADDONS_FAILED":"निम्नलिखित उपशीर्षक Addons विफल","ERR_CASTING_UPDATE_TITLE":"कास्टिंग डिवाइस जानकारी अपडेट नहीं कर सका: स्ट्रीमिंग सर्वर ऑफ़लाइन हो सकता है","CHOOSE_DEVICE":"देखने के लिए एक उपकरण चुनें","NO_CAST_DEVICES":"कोई कास्टिंग डिवाइस उपलब्ध नहीं है।","NO_SETTINGS":"कोई सेटिंग उपलब्ध नहीं है।","PHONE_TABLET":"फोन / टैबलेट","SUBTITLES":"उपशीर्षक","SUBTITLES_CHANGE":"के लिए उपशीर्षक बदलें","SUBTITLES_CHANGE_NONE":"इस भाषा के लिए कोई अन्य उपशीर्षक खेद नहीं है।","SUBTITLES_CHANGE_ACIVE":"वर्तमान में उपशीर्षक & # 35; {{subtitlesdialog.ActiveDX + 1}} सक्रिय हैं। उपशीर्षक सक्रिय करने के लिए जारी रखें & # 35; {{subtitlesdialog.pickedIDX + 1}}।","SUBTITLES_OR":"वैकल्पिक","SUBTITLES_ADJUST_DELAY":"उपशीर्षक देरी समायोजित करें:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"या समायोजित करने के लिए खेलते समय <span> g </ span> / <span> h </ span> कुंजी का उपयोग करें।","SUBTITLES_ADJUST_DELAY_TIP":"युक्ति: आप समायोजित करने के दौरान <span> g </ span> / <span> h </ span> कुंजी का उपयोग कर सकते हैं।","SUBTITLES_DELAY":"उपशीर्षक देरी:","SUBTITLES_LOADING":"उपशीर्षक लोड हो रहा है ...","SUBTITLES_UNAVAILABLE":"कोई बाहरी उपशीर्षक उपलब्ध नहीं है","SUBTITLES_DISABLED":"विकलांग","EXTERNAL_PLAYER_DISABLED":"Disabled","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Allow Choosing","EXTERNAL_PLAYER_HINT":"Hint: There is a setting to allow always opening with external player","DONT_SHOW_AGAIN":"Don\'t show again","SERVICE_INSTALL":"Install","AUDIO":"Audio","DEFAULT_LANGUAGE":"Default Language","DEFAULT_SECONDARY_LANGUAGE":"Default Secondary Language","SEASON":"मौसम","EPISODE":"प्रकरण","EPISODE_ABBREVIATION":"EP","SPECIAL":"Special","SORT":"तरह","SORT_BY":"इसके अनुसार क्रमबद्ध करें","FILTER":"फिल्टर","SORT_TRENDING":"ट्रेंडिंग","SORT_RECENT":"हालिया","SORT_ALPHABET":"ए-जेड","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"रेटिंग","SORT_WATCHED":"देखा","SORT_YEAR":"वर्ष","SELECT_TYPE":"Select type","SELECT_SORT":"Select sort","SELECT_CATALOG":"Select catalog","SELECT_GENRE":"Select genre","SORT_LASTWATCHED":"By last watched","SORT_NAME":"By name","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"By times watched","SORT_NOTWATCHED":"not watched","New for You":"आपके लिए नया","New Episodes":"नए एपिसोड","New Videos":"नए वीडियो","Recommendations":"सिफारिशों","LIBRARY_RESUME":"फिर शुरू करना","LIBRARY_PLAY":"Play","LIBRARY_DETAILS":"विवरण","LIBRARY_RESUME_DISMISS":"खारिज","LIBRARY_CLEAR_PROGRESS":"Clear Progress","LIBRARY_REMOVE":"Remove","LIBRARY_NOT_LOGGED_IN":"Library is only available for logged in users","CALENDAR_NOT_LOGGED_IN":"Calendar is only available for logged in users","NOT_LOGGED_IN_CLOUD":"Access your favorite movies and TV shows anytime, anywhere","NOT_LOGGED_IN_RECOMMENDATIONS":"Recommendations tailored to your viewing history","NOT_LOGGED_IN_NOTIFICATIONS":"Never miss an episode again","NOT_LOGGED_IN_CALENDAR":"Schedule your personal watching calendar","DISCOVER_FEATURED":"विशेष रुप से प्रदर्शित","DISCOVER_TOP":"शीर्ष","DISCOVER_OSCAR":"ऑस्कर विजेता","DISCOVER_WARNING_TITLE":"उफ़!","DISCOVER_EMPTY_CATALOG":"यह एडन खाली सामग्री लौटा दी।","DISCOVER_ADULT_WARNING":"सामग्री केवल वयस्कों के लिए दिखाई दे रही है। क्या आप 18+ हैं?","DISCOVER_NOADDON_WARNING":"चेतावनी: इस प्रकार के लिए कोई स्ट्रैमियो एडन सक्रिय नहीं है। सहेजी गई वस्तुओं को यहां कुछ भी अपडेट नहीं किया जाएगा।","DISCOVER_LOAD_ERR":"सामग्री ने त्रुटि लोड नहीं की।","DISCOVER_ADDON_UNINSTALLED":"यह सामग्री अब उपलब्ध नहीं है कि आपने एडन को अन-इंस्टॉल किया हो सकता है।","UNINSTALL_THIS_ADDON":"इस एडन को अनइंस्टॉल करें","ERR_ADDON_NOT_INSTALLED":"यह एडन स्थापित नहीं है। अब स्थापित करें?","DETAIL_RECEIVE_NOTIF_SERIES":"नए एपिसोड के लिए सूचनाएं प्राप्त करें","DETAIL_RECEIVE_NOTIF_VIDEOS":"नए वीडियो के लिए सूचनाएं प्राप्त करें","SIDEBAR_SHOW_STREAMS":"स्ट्रीम दिखाएं","RELAUNCH":"अब पुनः प्रक्षेपण!","UPGRADE":"नया संस्करण उपलब्ध है! नवीनतम STREMIO संस्करण में अपग्रेड करें","RELOAD_UI":"उपयोगकर्ता इंटरफ़ेस को पुनः लोड करें","MANUAL_UPDATE_TITLE":"अपने STREMIO संस्करण को अपडेट करें","MANUAL_UPDATE_LINE1":"आप स्ट्रैमियो का पुराना संस्करण चला रहे हैं जो अत्यधिक अपरिचित है।","MANUAL_UPDATE_LINE2":"कृपया जल्द से जल्द अपडेट करें।","BUTTON_UPDATE_LATTER":"अभी नहीं","BUTTON_UPDATE_NOW":"अद्यतन","ANONYMOUS_USER":"अनाम उपयोगकर्ता","DONT_HAVE_ACC":"खाता नहीं है?","HAVE_ACC":"क्या आपके पास पहले से एक खाता मौजूद है?","PASSWORD":"कुंजिका","PASSWORD_CONFIRM":"पासवर्ड की पुष्टि कीजिये","EMAIL":"ईमेल","FB_LOGIN":"फेसबुक के साथ जारी रखें","FB_NOTHINGSHARED":"आपकी अनुमति के बिना कुछ भी साझा नहीं किया जाता है","FB_NOPOST":"हम आपकी ओर से कुछ भी पोस्ट नहीं करेंगे","OR":"या","I_ACCEPT":"मैं स्वीकारता हूँ","I_ACCEPT_BY_CLICKING":"उपरोक्त बटन पर क्लिक करके मैं प्रमाणित करता हूं कि मैं स्वीकार करता हूं","TOS":"नियम और शर्तें","MUST_ACCEPT_TERMS":"आपको शर्तों को स्वीकार करना होगा","PASSWORDS_NOMATCH":"पासवर्ड मेल नहीं खाते","SIGN_UP":"साइन अप करें","SIGN_UP_EMAIL":"ईमेल के लिए साइन इन करें","CLICK_TO_SIGN_UP":"साइन अप करने के लिए यहां क्लिक करें।","LOG_IN":"लॉग इन करें","LOG_OUT":"लॉग आउट","EXIT_FULLSCREEN":"पूर्णस्क्रीन मोड से बाहर निकलें","ENTER_FULLSCREEN":"पूर्णस्क्रीन मोड दर्ज करें","PLAY_URL_MAGNET_LINK":"यूआरएल / चुंबक लिंक खेलें","HELP_FEEDBACK":"सहायता और प्रतिक्रिया","TERMS_OF_SERVICE":"सेवा की शर्तें","PRIVACY_POLICY":"Privacy Policy","ABOUT_STREMIO":"STREMIO के बारे में","USER_PANEL":"उपयोगकर्ता पैनल","LOGIN_LABEL":"Login","GUEST_LOGIN":"मेहमान लॉगइन करें","GUEST_LOGIN_NOTICE":"अतिथि लॉगिन की अनुशंसा नहीं की जाती है। एक नियमित लॉगिन का उपयोग करने से आपकी लाइब्रेरी को सिंक करने के लिए STREMIO को पसंदीदा श्रृंखला / चैनलों के लिए अधिसूचनाएं प्राप्त होती हैं। क्या आप सुनिश्चित रूप से आगे बढ़ना चाहते हैं?","GUEST_LOGIN_NOTICE_2":"अतिथि लॉगिन की अनुशंसा नहीं की जाती है - आपके पास समन्वयित पुस्तकालय और बोर्ड अधिसूचनाएं नहीं होंगी जो महत्वपूर्ण स्ट्रमियो विशेषताएं हैं। क्या आप सुनिश्चित रूप से आगे बढ़ना चाहते हैं?","CLICK_HERE":"यहां क्लिक करें","WRONG_PASSWORD":"गलत ईमेल या पासवर्ड। मामले में आप अपना पासवर्ड भूल गए हैं","SET_A_PASS":"एक पासवर्ड सेट करें","RESET_PASSWORD":"पासवर्ड रीसेट","FORGOT_PASSWORD":"पासवर्ड भूल गए?","EMAIL_USED_WITH_FB":"इस ईमेल का उपयोग फेसबुक लॉगिन के साथ किया गया था।","INVALID_EMAIL":"कृपया एक वैध ई - मेल एड्रेस डालें","INVALID_PASSWORD":"कृपया एक वैध पासवर्ड दर्ज करें","CONN_ERR":"कनेक्शन त्रुटि - कृपया बाद में पुनः प्रयास करें। N NIf यह फायरवॉल / एंटी-वायरस सॉफ़्टवेयर (विशेष रूप से बिट डिडीफेंडर) को अक्षम करता है।","IMPORT_FROM_GUEST":"अपने अतिथि खाते से लाइब्रेरी आयात करें","RECEIVE_UPDATES_EMAIL":"STREMIO से अपने ईमेल पर अपडेट प्राप्त करें","LOGIN_FAILED":"लॉगिन विफल।","SIGNUP_FAILED":"साइन अप करने में विफल रहा।","SEARCH_FAILED":"खोज विफल","EMAIL_USED":"यह ईमेल पहले से प्रयोग में है।","WAITING_FB_LOGIN":"फेसबुक के साथ लॉग इन करना ...","EXTERNAL_PLAYER_TITLE":"बाहरी खिलाड़ी में खेलें","EXTERNAL_REMEMBER_PLAYER":"क्या आप अपनी पसंद को याद रखना चाहते हैं","EXTERNAL_ALWAYS_PLAY":"हां","EXTERNAL_ONLY_ONCE":"नहीं","BEST_FIT":"Best Fit","FIT_SCREEN":"Fit Screen","FILL":"Fill","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"हमें बताएं कि आपको क्या पसंद है","INTRO_TASTE_LONG":"हमें बताएं कि आप क्या देखना चाहते हैं","INTRO_TASTE_PICK":"{{HUSTERSREMAINAININININING}} हितों को चुनें","INTRO_TASTE_PICK_MORE":"{{REITAINSREMAINAINAING}} अधिक हितों को चुनें","INTRO_TASTE_HELP_US":"हमारे बारे में अधिक जानने में हमारी सहायता करें।","INTRO_TASTE_CHOOSE_THESE":"इनमें से कुछ चुनें:","INTRO_TASTE_CHOOSE_MIN":"कम से कम 3 श्रेणियां चुनें","INTRO_TASTE_CHOOSE_MIN_ERR":"आपको कम से कम 3 श्रेणियां चुननी होंगी!","INTRO_TASTE_LIFESTYLE":"बॉलीवुड","INTRO_TASTE_SPORTS":"खेल","INTRO_TASTE_FOOD_HEALTH":"भोजन और स्वास्थ्य","INTRO_TASTE_BEAUTY_FASHION":"सौंदर्य और फैशन","INTRO_TASTE_NEWS":"समाचार","INTRO_TASTE_GAMING":"जुआ","INTRO_TASTE_SCIENCE_EDU":"विज्ञान की शिक्षा","INTRO_TASTE_MUSIC":"संगीत","INTRO_TASTE_TRAVEL":"यात्रा","INTRO_TASTE_LATE_NIGHT":"देर रात शो","INTRO_TASTE_REALITY":"वास्तविकता","INTRO_TASTE_COMEDY":"कॉमेडी","INTRO_TASTE_DIY":"DIY कैसे करें","INTRO_TASTE_TECH":"तकनीक","INTRO_TASTE_CINEMA":"सिनेमा","ADDON_NOT_SUPPORTED":"चयनित एडन इस मंच पर समर्थित नहीं है।","ADDON_DISCLAIMER":"तीसरे पक्ष के एडॉन्स का उपयोग हमेशा आपकी जिम्मेदारी और आपके द्वारा स्थित क्षेत्राधिकार के शासकीय कानून के अधीन होंगे।","ADDON_ACTIVATE":"इस एडन को सक्रिय करें?","ADDON_REPO_ADD":"एडन संग्रह यूआरएल","ADDON_ADD":"जोड़ें","INSTALL_ADDON":"Install addon","ADD_ADDON":"Add addon","ADD_ADDON_DESCRIPTION":"You can add an addon via an external link, which will appear under Installed addons.","PASTE_ADDON_URL":"Paste addon URL","WHATS_NEW":"नया क्या है","BUTTON_CONTINUE":"जारी रखें","BUTTON_ACTIVATE":"सक्रिय","BUTTON_ACTIVATED":"सक्रिय","BUTTON_CANCEL":"रद्द करें","BUTTON_SUBMIT":"Submit","BUTTON_DISMISS_ALL":"सभी खारिज","BUTTON_VIEW_ALL":"सभी देखें","BUTTON_SEE_ALL":"See All","BUTTON_COLOR_TRANSPARENT":"Transparent","OPEN_IN_BROWSER":"Open in browser","LIB_EMPTY":"आपकी पुस्तकालय खाली दिखता है। पता लगाएं कि यह कितना उपयोगी है :)","HOW_START":"यहां बताया गया है कि आप कैसे शुरू कर सकते हैं:","LIB_EMPTY_CAL":"आपका कैलेंडर आपकी लाइब्रेरी में श्रृंखला दिखाता है।","HOW_START_CAL":"यहां बताया गया है कि आप श्रृंखला कैसे जोड़ सकते हैं:","LIB_EMPTY_BOARD":"बोर्ड नोटिफिकेशन दिखाता है & amp; आपकी पुस्तकालय से संबंधित सिफारिशें।","HOW_START_BOARD_WAIT":"कृपया अपनी लाइब्रेरी में कुछ श्रृंखला या चैनल जोड़ें संसाधित करने के लिए हमें कुछ मिनट दें :)","HOW_START_BOARD":"यहां बताया गया है कि आप श्रृंखला कैसे जोड़ सकते हैं & amp; इसके लिए फिल्में:","IMPORT_FB":"उन आयातित चीजें जिन्हें आप <span> फेसबुक </ span> से पसंद करते हैं","IMPORT_TRAKT":"<Span> trakt </ span> से अपनी मीडिया लाइब्रेरी आयात करें","IMPORT_DISCOVER":"<Span> डिस्कवर </ span> से दिलचस्प सामग्री खोजें","IMPORT_DISK":"अपने <span> स्थानीय डिस्क </ span> पर आपके पास फिल्में या शो आयात करें","PLEASE_CREATE_ACC":"लाइब्रेरी सिंक और एएमपी सक्षम करने के लिए कृपया <u> खाता बनाएं </ u>; तख़्ता।","IMPORT_DISCOVER_SIGNUP":"साइन अप करें और <span> डिस्कवर </ span> से दिलचस्प सामग्री खोजें","IMPORT_DISK_SIGNUP":"साइन अप करें और फिल्में आयात करें या आपके <Span> स्थानीय डिस्क </ span> पर दिखाएं","LIB_EMPTY_CLOUD":"बादल पुस्तकालय","LIB_EMPTY_CLOUD_DESC":"व्यक्तिगत क्लाउड लाइब्रेरी सभी उपकरणों पर समन्वयित","LIB_EMPTY_EARLY":"जल्दी उठ कर काम शुरू करने वाला व्यक्ति","LIB_EMPTY_EARLY_DESC":"नए एपिसोड के लिए सूचनाएं प्राप्त करें","LIB_EMPTY_PERSONAL":"निजी","LIB_EMPTY_PERSONAL_DESC":"व्यक्तिगत सिफारिशें प्राप्त करें","LIB_EMPTY_CALENDAR_DESC":"अपने व्यक्तिगत देखने के कैलेंडर को शेड्यूल करें","LIB_EMPTY_ALL":"इन सभी को पाने के लिए साइन अप करें:","LIB_EMPTY_BEST":"STREMIO का सर्वश्रेष्ठ पाने के लिए साइन अप करें","LIB_EMPTY_OTHER":"कैलेंडर और अन्य शानदार सुविधाओं को सक्षम करने के लिए साइन अप करें","CALENDAR_ADDED":"Stremio कैलेंडर को आपके डिफ़ॉल्ट डेस्कटॉप कैलेंडर में जोड़ा गया है।","CALENDAR_ADDED_MSG":"यदि यह काम नहीं करता है तो कृपया अपने कैलेंडर एप्लिकेशन को मैन्युअल रूप से इस यूआरएल को जोड़ें","TRAKT_EXPIRED":"ट्रैक्ट प्रमाणीकरण समाप्त हो गया कृपया सेटिंग्स पर जाएं और पुन: प्रमाणित करें","TRAKT_REQUIRES_LOGIN":"ट्रैक्ट त्रुटि","TRAKT_REQUIRES_LOGIN_MSG":"आपको लॉगिन करने की आवश्यकता है","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","SETTINGS_LABEL":"समायोजन","SETTINGS_NAV_GENERAL":"आम","SETTINGS_NAV_PLAYER":"खिलाड़ी","SETTINGS_NAV_STREAMING":"स्ट्रीमिंग","SETTINGS_NAV_SHORTCUTS":"शॉर्टकट","SETTINGS_SHORTCUT_RELOAD_APP":"रीलोड ऐप","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Open Settings","SETTINGS_SHORTCUT_SWITCH_TABS":"Switch Tabs","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Cycle Through Tabs Forward","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Cycle Through Tabs Backward","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigate Between Menus","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Go to Search","SETTINGS_SHORTCUT_EXIT_BACK":"बाहर निकलें / वापस जाएं","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Toggle Playback Speed Menu","SETTINGS_SHORTCUT_MENU_VIDEOS":"Toggle Videos Menu","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Toggle Subtitles Menu","SETTINGS_SHORTCUT_MENU_INFO":"Toggle Info Menu","SETTINGS_SHORTCUT_FULLSCREEN":"पूर्णस्क्रीन चालू करें","SETTINGS_SHORTCUT_SHOW_CONTROLS":"नियंत्रण दिखाएं","SETTINGS_SHORTCUT_PLAY_PAUSE":"चालू करे / रोके","SETTINGS_SHORTCUT_VOLUME_UP":"आवाज बढ़ाएं","SETTINGS_SHORTCUT_VOLUME_DOWN":"आवाज कम करे","SETTINGS_SHORTCUT_SEEK_NEXT":"Seek Next","SETTINGS_SHORTCUT_SEEK_PREV":"Seek Prev","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Seek Backward","SETTINGS_SHORTCUT_SEEK_FORWARD":"Seek Forward","SETTINGS_SHORTCUT_PLAY_NEXT":"Play Next","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"उपशीर्षक आकार बढ़ाएँ","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"उपशीर्षक आकार कम करे","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"उपशीर्षक विलंब बढ़ाएँ","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"उपशीर्षक विलंब कम करे","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Toggle Sidebar","SETTINGS_SHORTCUT_OR":"or","SETTINGS_SHORTCUT_TO":"to","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Authenticate","SETTINGS_FACEBOOK_IMPORT":"Import","SETTINGS_CALENDAR_SUBSCRIBE":"Subscribe","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Interface Language","SETTINGS_LAUNCH_STARTUP":"स्टार्टअप शुरू","SETTINGS_VLC_DEFAULT":"वीएलसी के साथ खेलें","SETTINGS_UI_LANGUAGE":"यूआई भाषा","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"कुंजी से बाहर निकलें पूर्ण स्क्रीन से बाहर निकलें","SETTINGS_GAMEPAD":"गेमपैड समर्थन सक्षम करें","SETTINGS_CLOSE_WINDOW":"विंडो बंद होने पर ऐप बंद करें","SETTINGS_SUBTITLES_LANGUAGE":"डिफ़ॉल्ट उपशीर्षक भाषा","SETTINGS_SUBTITLES_SIZE":"डिफ़ॉल्ट उपशीर्षक आकार","SETTINGS_SUBTITLES_BACKGROUND":"उपशीर्षक पृष्ठभूमि","SETTINGS_SUBTITLES_COLOR":"उपशीर्षक रंग","SETTINGS_SUBTITLES_COLOR_OUTLINE":"उपशीर्षक रूपरेखा रंग","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"उपशीर्षक पृष्ठभूमि रंग","SETTINGS_SEEK_KEY":"तीर कुंजियाँ समय तलाशें","SETTINGS_SEEK_KEY_SHIFT":"तीर कुंजी समय की तलाश करते हैं जब Shift कुंजी आयोजित की जाती है","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Rewind & Fast-forward duration","SETTINGS_BINGE":"ऑटो-प्ले अगला एपिसोड","SETTINGS_NEXT_VIDEO":"अगले एपिसोड शुरू करने के लिए अधिसूचना दिखाएं","SETTINGS_NEXT_VIDEO_TRIGGER":"इसके लिए अगला एपिसोड अधिसूचना दिखाएं:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Next video popup duration","SETTINGS_PLAY_IN_BACKGROUND":"Play in background","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Play in external player","SETTINGS_RESIZE":"खेलने से पहले स्वत: आकार बदलें","SETTINGS_OVERRIDE_SERVER":"स्ट्रीमिंग सर्वर URL (उन्नत) को ओवरराइड करें","SETTINGS_SERVER_URL":"स्ट्रीमिंग सर्वर यूआरएल:","SETTINGS_SERVER_AVAILABLE":"स्ट्रीमिंग सर्वर उपलब्ध है।","SETTINGS_SERVER_UNAVAILABLE":"स्ट्रीमिंग सर्वर उपलब्ध नहीं है।","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Error","SETTINGS_SERVER_CONFIGURE_TITLE":"Configure streaming server url","SETTINGS_SERVER_CONFIGURE_INPUT":"Enter a streaming server url","SETTINGS_SERVER_CACHE_SIZE":"Cache size","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent profile","SETTINGS_HTTPS_ENDPOINT":"स्ट्रीमिंग HTTPS एंडपॉइंट:","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"हमेशा नवीनतम बीटा का उपयोग करें","SETTINGS_IMPORT_FB":"फेसबुक से आयात करें","SETTINGS_IMPORT_DISK":"स्थानीय डिस्क से आयात करें","SETTINGS_IMPORT_TRAKT":"ट्रैक्ट से आयात","SETTINGS_PAUSE_MINIMIZED":"कम से कम प्लेबैक रोकें","SETTINGS_HWDEC":"हार्डवेयर-त्वरित डिकोडिंग","SETTINGS_BACKGROUND":"पृष्ठभूमि प्लेबैक","SETTINGS_SUBSCRIBE_CALENDAR":"कैलेंडर की सदस्यता लें","SETTINGS_REQ_EXPORT":"डेटा निर्यात का अनुरोध करें","SETTINGS_ACC_DELETE":"खाता हटाने का अनुरोध करें","SETTINGS_CHANGE_PASSWORD":"पासवर्ड बदलें","SETTINGS_TOS":"सेवा की शर्तें","SETTINGS_SUPPORT":"सहयोग टीम से संपर्क करें","SETTING_LANGUAGE":"भाषा","SETTINGS_TRAKT":"ट्रैक्ट स्क्रोबिंग","SETTINGS_TRAKT_LOGOUT":"Trakt.tv से लॉग आउट करें","SETTINGS_TRAKT_LOGOUT_2":"Trakt से लॉग आउट करें","SETTINGS_SCAN_FOR_REMOTE":"रिमोट खोलने के लिए क्यूआर कोड स्कैन करें","SETTINGS_DESKTOP_NOTIFICATIONS":"डेस्कटॉप अधिसूचनाएं","SETTINGS_DATA_SAVER":"आंकड़ा बचतकर्ता","SETTINGS_LANGUAGE_INTERFACE":"इंटरफेस","SETTINGS_LANGUAGE_SUBS":"डिफ़ॉल्ट उपशीर्षक","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"ऑटोसेल ऑडियो ट्रैक","SETTINGS_DEFAULT_AUDIO_TRACK":"डिफ़ॉल्ट ऑडियो ट्रैक","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"कारण","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"संस्करण","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"एक अलग विंडो में प्लेयर लॉन्च (उन्नत)","SETTINGS_PLAY_IN_EXTERNAL":"हमेशा बाहरी खिलाड़ी में वीडियो शुरू करें","SETTINGS_STORAGE_BUTTON":"स्थानीय भंडारण साफ़ करें","SETTINGS_STORAGE_MODAL_TITLE":"क्या आपको यकीन है ?","SETTINGS_STORAGE_MODAL_MESSAGE":"यह स्थानीय भंडारण को साफ़ करेगा और आपको लॉग आउट करेगा।","SETTINGS_HWDEC_PICKER":"Pick hardware-accelerated decoding setting","SETTINGS_HW_AUTOMATIC":"स्वचालित","SETTINGS_HW_DISABLED":"बंद","SETTINGS_HW_ACCELERATED":"Decoding acceleration","SETTINGS_HW_FULL":"Full acceleration","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Subtitles","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Controls","SETTINGS_SECTION_AUTO_PLAY":"Auto-Play","SETTINGS_SECTION_ADVANCED":"Advanced","SUBSPICKER_AUDIO":"ऑडियो","SUBSPICKER_SUBTITLES":"Addons Subtitles","SUBSPICKER_BLACK_BACKGROUND":"ब्लैक बैकग्राउंड कलर का इस्तेमाल करें","SUBSPICKER_VERTICAL_OFFSET":"Vertical Offset","SUBSPICKER_SIZE":"आकार","SUBSPICKER_DELAY":"विलंब","SUBSPICKER_EMBEDDED_SUBS":"Embedded Subtitles","MOBILE_PRIVACY_POLICY":"गोपनीयता नीति","MOBILE_CRASH_REPORTING":"क्रैश रिपोर्टिंग","MOBILE_ZOOM_TO_FILL":"स्क्रीन भरने के लिए ज़ूम करें","MOBILE_PASSTHROUGH":"Digital audio output (passthrough)","MOBILE_RUN_LOW_BATTERY":"कम बैटरी पर चलाएं","MOBILE_RUN_FOREGROUND":"अग्रभूमि सेवा के रूप में चलाएँ","MOBILE_PERFORMANCE":"PERFORMANCE & STABILITY","MOBILE_SERVER_ONLINE":"ऑनलाइन","MOBILE_SERVER_OFFLINE":"ऑफलाइन","MOBILE_QR_EXPIRES":"क्यूआर कोड की समय सीमा समाप्त होगि ","MOBILE_LOG_INTO":"Log in to your Stremio account ","MOBILE_SCAN_QR":"ऊपर क्यूआर कोड स्कैन करें या यहां जाएं ","MOBILE_LINK_ACCOUNT":"खाते लिंक करें","MOBILE_SPEEDPICKER_CANCEL":"रद्द करना","MOBILE_SPEEDPICKER_LABEL":"प्लेबैक स्पीड का चयन करें","MOBILE_EMPTY_LIBRARY":"आपकी लाइब्रेरी खाली है","MOBILE_NO_ADDON_ACTIVE":"No Stremio addon active for this type.","MOBILE_ORGANIZER_WARNING":"The Stremio Organizer app provides limited functionality. For a list of playable streams and the full Stremio experience, use Stremio on desktop.","MOBILE_ADDON_LOADING":"is still loading","MOBILE_ADDONS_LOADING":"addons are still loading","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Configure your addon","MOBILE_CONFIGURE_ADDON_LABEL":"Configure Addon","MOBILE_ORGANIZER_ADDONS_WARNING":"The Stremio Organizer app provides a limited selection of addons. For the full Stremio experience, use Stremio on desktop.","MOBILE_DISCONNECT":"Disconnect","MOBILE_LOOKING_FOR_DEVICES":"Looking for devices...","MOBILE_CAST_TO":"Cast to","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Delete Account","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Account deletion is not instant due to legal obligations. After requesting deletion of your account you will have to use different email address/facebook profile to create a new Stremio account in the future.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirm Account Deletion","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Your account has been created using Facebook. To delete your account, please use our user portal at www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Please provide your password to confirm account deletion.","MOBILE_DELETE_ACCOUNT_BUTTON":"Delete Account","NAVIGATION_ON":"On","NAVIGATION_OFF":"Off","MARKETING_AGREE":"मैं स्ट्रेमियो से मार्केटिंग संचार प्राप्त करने के लिए सहमत हूं","QUIT":"छोड़ना","CONNECTED":"जुड़े हुए","AUTHENTICATE":"प्रमाणित","CACHING":"कैशिंग","SETTINGS_CACHING_DRIVE":"कैशिंग ड्राइव","ENABLE_LOCAL_FILES_ADDON":"स्थानीय फ़ाइलें Addon सक्षम करें (पुनरारंभ की आवश्यकता है)","LOCAL_ADDON_NOT_ENABLED":"Local addon is not enabled. Click here to go to the settings and enable it","ENABLE_REMOTE_HTTPS_CONN":"रिमोट एचटीटीपीएस कनेक्शन सक्षम करें","TORRENT_PROFILE":"टोरेंट प्रोफाइल","DATA_CACHING":"डेटा कैशिंग","MAGNET_PARSING":"एक चुंबक लिंक पार्सिंग","January":"जनवरी","February":"फ़रवरी","March":"जुलूस","April":"अप्रैल","May":"मई","June":"जून","July":"जुलाई","August":"अगस्त","September":"सितंबर","October":"अक्टूबर","November":"नवंबर","December":"दिसंबर","Monday":"सोमवार","Tuesday":"मंगलवार","Wednesday":"बुधवार","Thursday":"गुरूवार","Friday":"शुक्रवार","Saturday":"शनिवार","Sunday":"रविवार","Action":"कार्य","Comedy":"कॉमेडी","War":"युद्ध","Family":"परिवार","Animation":"एनीमेशन","Adventure":"साहसिक","Fantasy":"कल्पना","Crime":"अपराध","Mystery":"रहस्य","Romance":"रोमांस","Drama":"नाटक","Horror":"डरावनी","Thriller":"थ्रिलर","Sci-Fi":"विज्ञान-कथा","Music":"संगीत","Biography":"जीवनी","Documentary":"दस्तावेज़ी","Sport":"खेल","Musical":"संगीत","Western":"वेस्टर्न","Film-Noir":"फिल्म नोयर","News":"समाचार","History":"इतिहास","Game-Show":"गेम शो","Reality-TV":"रियलिटी टीवी","Talk-Show":"टॉक शो","Film & Entertainment":"फिल्म और मनोरंजन","Gaming":"जुआ","From TV":"टीवी से","Lifestyle":"बॉलीवुड","Science & Education":"विज्ञान की शिक्षा","Cooking & Health":"खाना पकाने और स्वास्थ्य","Beauty & Fashion":"सौंदर्य और फैशन","Sports":"खेल","News & Politics":"समाचार और राजनीति","How-to & DIY":"कैसे और DIY","Tech":"तकनीक","Automotive":"मोटर वाहन","Causes & Non-Profits":"कारण और गैर लाभ","Movies":"चलचित्र","Uk Live Tv":"यूके लाइव टीवी","Fashion":"पहनावा","Business News Radio":"बिजनेस न्यूज रेडियो","Business Tv":"बिजनेस टीवी","Cars & Auto":"कारें और ऑटो","Comedy Radio":"कॉमेडी रेडियो","Lifestyle Radio":"लाइफस्टाइल रेडियो","News Tv":"समाचार टीवी","Food And Wine":"भोजन और शराब","Latino Tv":"लैटिनो टीवी","Shopping Tv":"शॉपिंग टीवी","Religion":"धर्म","Kids":"बच्चे","Body & Soul":"शरीर आत्मा","Education":"शिक्षा","Indian Tv":"भारतीय टीवी","Extreme Sports":"खतरनाक खेल","Middle Eastern Tv":"मध्य पूर्वी टीवी","Celebrity Tv":"सेलिब्रिटी टीवी","Science Tv":"विज्ञान टीवी","Bikini babe":"बिकिनी बेब","Outdoors":"सड़क पर","German Tv":"जर्मन टीवी","French Tv":"फ्रेंच टीवी","Italian Tv":"इतालवी टीवी","Gamer Tv":"गेमर टीवी","Travel":"यात्रा","Asian Tv":"एशियाई टीवी","Entertainment":"मनोरंजन","News Radio":"समाचार रेडियो","Music Radio":"संगीत रेडियो","Language Learning":"भाषा सीखना","Science Radio":"विज्ञान रेडियो","Tech Radio":"टेक रेडियो","Science & Technology Vod":"विज्ञान और प्रौद्योगिकी वोड","new video":"नया वीडियो","new episode":"नई कड़ी","new movie":"नई फिल्म","recommended":"अनुशंसित","we recommend":"हम अनुशंसा करते हैं","offer of the day":"दिन की पेशकश","news":"समाचार","music video":"वीडियो संगीत","CTX_SHOW_HOTKEYS":"हॉटकी दिखाएं","CTX_DISMISS_NOTIF":"सूचनाओं को खारिज करना","CTX_DISMISS_ALL":"सभी खारिज","CTX_SHARE":"साझा करना","CTX_COPY_SHARE_LINK":"शेयर लिंक कॉपी करें","CTX_COPY_MAGNET_LINK":"चुंबक लिंक कॉपी करें","CTX_COPY_STREAM_LINK":"स्ट्रीम लिंक कॉपी करें","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"इस वीडियो को डाउनलोड करें","CTX_DOWNLOAD_SUBS":"उपशीर्षक डाउनलोड करें","CTX_VIEW_ON_YOUTUBE":"यूट्यूब पर देखें","CTX_SHOW":"प्रदर्शन","CTX_PLAY":"खेल","CTX_PLAY_IN":"खेलना","CTX_PLAY_ON":"खेलो","CTX_WATCH_ON":"यहां देखें","CTX_WATCH":"घड़ी","CTX_WATCHED":"देखे","CTX_WATCH_BEGINNING":"शुरुआत से देखो","CTX_WATCH_MOBILE":"एक मोबाइल डिवाइस पर देखें","CTX_REWIND":"शुरुआत करने के लिए रिवाइंड","CTX_MARK_WATCHED":"देखा के रूप में चिह्नित","CTX_MARK_NON_WATCHED":"गैर-देखा के रूप में चिह्नित करें","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"जैसा कि देखा गया है","CTX_UNMARK_REST":"गैर-देखे गए के रूप में बाकी को चिह्नित करें","CTX_RECEIVE_NEW_NOTIF":"नई सूचनाएं प्राप्त करें","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"कैश से निकालें","CTX_REMOVE_CACHE_EP":"कैश से एपिसोड निकालें","CTX_OPEN_CONTAINING":"धारक फोल्डर खोलें","CTX_REMOVE":"पुस्तकालय से निकालें","CTX_AVAILABLE_OFFLINE":"उपलब्ध ऑफ़लाइन","CTX_PAUSED":"रोके गए","CTX_ALWAYS_ON_TOP":"हमेशा ऊपर","CTX_FULLSCREEN":"पूर्ण स्क्रीन","CTX_WRONG_SUBS":"गलत उपशीर्षक?","CTX_REPORT_ISSUES":"रिपोर्ट मुद्दा","CTX_COPY":"प्रतिलिपि","CTX_PASTE":"पेस्ट करें","CTX_CLEAR":"स्पष्ट","CTX_CLEAR_RECENT_SEARCHES":"हाल की खोजों को साफ़ करें","HELLO_THERE":"नमस्ते","HOPE_YOU_ENJOY":"हमें आशा है कि आप STREMIO का आनंद लेंगे और यह पहले से ही आपके पसंदीदा ऐप्स में से एक है!","WHO_ARE_WE":"हम कौन हैं? हम इसके पीछे टीम हैं - दो लोग जो इस उत्पाद को बेहतर और बेहतर बनाने के लिए पिछले 3 वर्षों से हर दिन कड़ी मेहनत करते हैं।","SUPPORT_US":"यदि आप STREMIO का उपयोग करने में आनंद लेते हैं यदि STREMIO आपके लिए मूल्यवान है - शब्द फैलाएं!","SPREAD_THE_WORD":"अपने दोस्तों के साथ साझा करें अब स्ट्रैमियो के बारे में शब्द फैलाएं","MORE_PEOPLE":"जितना अधिक लोग STREMIO का उपयोग करेंगे उतना ही बेहतर होगा!","SEND_A_LINK":"या हमारी वेबसाइट पर एक लिंक भेजें","TIP_LOCALFILES":"युक्ति: आप स्थानीय वीडियो फ़ाइलों को स्ट्रैमियो में खींच और छोड़ सकते हैं","ADDON_MY":"मेरे एडॉन्स","ADDON_COMMUNITY":"सामुदायिक एडॉन्स","ADDON_OFFICIAL":"सरकारी Addons","ADDON_REPOS":"एडन संग्रह","ADDON_SEARCH":"खोज एडॉन्स","ADDON_INSTALL":"इंस्टॉल","ADDON_CONFIGURE":"कॉन्फ़िगर","ADDON_UNINSTALL":"स्थापना रद्द करें","ADDON_UPGRADE":"अपग्रेड","ADDON_INSTALLED":"स्थापित","ADDON_INSTALLED_MSG":"Addon स्थापित!","ADDON_UPGRADED_MSG":"एडन अपग्रेड किया गया!","ADDON_UNKNOWN":"अनजान","ADDON_ERR":"Addon इंस्टॉल त्रुटि!","ADDON_DISCONNECTED":"डिस्कनेक्ट किया गया","ADDON_APP_MISSING":"इस स्रोत के लिए ऐप स्थापित नहीं है। क्या आप इसे अभी इंस्टॉल करना चाहते हैं?","ADDON_APP_INSTALL":"अब स्थापित करें","ADDON_PAGE":"एडन पेज","ADDON_TOP_CONTENT":"इस एडन से सर्वश्रेष्ठ","ADDON_PROVIDES":"यह एडन आपको देगा:","ADDON_WATCH":"देखो # {प्रकार} अब!","ADDON_WATCH_FREE":"अभी मुफ्त में # {प्रकार} देखें!","ADDON_ADDON":"ऐड ऑन","ADDON_SUPPORTED_TYPES":"समर्थित प्रकार","ADDON_SUPPORTED_CATALOGS":"समर्थित कैटलॉग","ADDON_PROVIDES_DISCOVER":"अधिक # {प्रकार} डिस्कवर में","ADDON_PROVIDES_STREAMS":"# {प्रकार} देखें","ADDON_PROVIDES_STREAMS_FREE":"मुफ्त में # {प्रकार} देखें","ADDON_PROVIDES_SUBTITLES":"# {प्रकार के लिए उपशीर्षक","ADDON_CANTDETECT":"हम एक रनिंग स्ट्रैमियो का पता नहीं लगा सके ताकि हम यह पता लगा सकें कि आपने कौन से एडॉन्स इंस्टॉल किए हैं।","ERR_NO_META":"इस बारे में कोई जानकारी नहीं मिली","ERR_GETTING_META":"इसके बारे में जानकारी पुनर्प्राप्त करने में त्रुटि।","ERR_CANT_PARSE_MAGNET":"चुंबक पार्स करने में असमर्थ","ERR_NO_MAGNET_INFOHASH":"चुंबक के लिए कोई वैध जानकारी हैश","ERR_NO_FILE_PATH":"फ़ाइल के लिए एक पथ के बिना अनुरोध भेजने में असमर्थ","ERR_NO_TORRENT":"कोई धार नहीं लौटा","ERR_NO_SUPPORTERD_FILES":"कोई समर्थित फाइल नहीं मिली","ERR_OPENING_FILES":"बाहरी फाइलें नहीं खोल सका","ERR_INVALID_LINK":"अमान्य लिंक","ERR_REGISTERED_ONLY":"यह विकल्प केवल पंजीकृत उपयोगकर्ताओं के लिए उपलब्ध है।","ERR_CLIPBOARD":"क्लिपबोर्ड से नहीं खेल सकते हैं","ERR_CLIPBOARD_READ":"इस मंच पर क्लिपबोर्ड नहीं पढ़ सकते हैं","ERR_CLIPBOARD_GENERIC":"क्लिपबोर्ड में पाया जाने वाला कोई भी यूआरएल नहीं मिला। कृपया एक वीडियो को एक यूआरएल (उदा। एक चुंबक लिंक) कॉपी करें।","BOARD_CONTINUE_WATCHING":"देखना जारी रखें","BOARD_EXPLANATION_RECOMMENDATIONS":"फिल्में आपके लिए विशेष रूप से चुने गए। <br /> यह फिल्म नमूना सिफारिश है।","BOARD_EXPLANATION_EPISODES":"आपकी पसंदीदा श्रृंखला के नए एपिसोड यहां आते हैं। <br /> श्रृंखला जोड़ें आप अपनी लाइब्रेरी में अनुसरण करते हैं।","BOARD_EXPLANATION_VIDEOS":"आपके पसंदीदा चैनलों के नए एपिसोड यहां आते हैं। <br /> YouTube चैनल जोड़ें जो आप अपनी लाइब्रेरी में अनुसरण करते हैं।","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE":"योगदान","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"Learn more","WEBSITE_COMPANY":"Company","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Need Help?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"तुरंत देखें","WEBSITE_SLOGAN_ALL":"एक ही स्थान पर आप सभी वीडियो सामग्री का आनंद लेते हैं","WEBSITE_SLOGAN_NEW":"आप सभी देख सकते हैं","WEBSITE_SLOGAN_NEW_NEW":"Freedom to Stream","WEBSITE_WATCH_FROM":"से देखना","WEBSITE_DOWNLOAD":"अब डाउनलोड करो","WEBSITE_DOWNLOAD_FOR":"अभी डाउनलोड करें","WEBSITE_IS_DESKTOP":"Stremio एक डेस्कटॉप एप्लिकेशन है इस पृष्ठ को अपने पीसी पर खोलें और इसे डाउनलोड करें","WEBSITE_DESKTOP_DEMO_VID":"डेस्कटॉप डेमो","WEBSITE_PAGE_HOME":"घर","WEBSITE_PAGE_FEATURES":"विशेषताएं","WEBSITE_PAGE_ADDONS":"ऐड-ऑन","WEBSITE_PAGE_TECH":"प्रौद्योगिकी","WEBSITE_PAGE_CREATE_ADDON":"Addon बनाएँ","WEBSITE_PAGE_CONTACTS":"संपर्क","WEBSITE_PAGE_BLOG":"ब्लॉग","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"चलचित्र","WEBSITE_TYPE_series_PL":"श्रृंखला","WEBSITE_TYPE_tv":"लाइव टीवी","WEBSITE_TYPE_channel":"चैनल","WEBSITE_STREMIO_WHAT_IS":"Stremio एक ऐप है जो आपको व्यवस्थित करने और तुरंत अपने पसंदीदा वीडियो फिल्में टीवी श्रृंखला और टीवी चैनल देखने में मदद करता है।","WEBSITE_FEATURES_WATCH":"तुरंत एचडी में देखें","WEBSITE_FEATURES_WATCH_DETAIL":"क्लिक करें और अपने पसंदीदा मूवीज़ टीवी शो वीडियो और टीवी चैनल दिखाता है।","WEBSITE_FEATURES_SUBS":"स्वचालित उपशीर्षक","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio स्वचालित रूप से आपकी भाषा के लिए समन्वयित उपशीर्षक चुनता है।","WEBSITE_FEATURES_SUBS_LABEL":"आपका कदम प्रमुख।","WEBSITE_FEATURES_CAST":"टीवी और मोबाइल उपकरणों पर खेलते हैं","WEBSITE_FEATURES_CAST_DETAIL":"Appletv Chromecast स्मार्ट टीवी (डीएलएनए / यूपीएनपी) और मोबाइल उपकरणों के लिए कास्ट करें।","WEBSITE_LIB":"अपने सभी उपकरणों पर सिंक की गई अपनी व्यक्तिगत पुस्तकालय का आनंद लें","WEBSITE_LIB_COLLECT":"STREMIO से लीजिए","WEBSITE_LIB_IMPORT":"फेसबुक से आयात करें","WEBSITE_LIB_LOCAL":"अपने स्थानीय ड्राइव से जोड़ें","WEBSITE_BOARD":"बोर्ड - अधिसूचनाओं और सिफारिशों के लिए आपका एक-स्टॉप प्लेस","WEBSITE_BOARD_RECOMMEND":"अनुशंसित टीवी शो","WEBSITE_BOARD_TRENDING":"ट्रेंडिंग फिल्म","WEBSITE_BOARD_NEW":"नया वीडियो","WEBSITE_BOARD_EPISODE":"नई कड़ी","WEBSITE_BOARD_1":"देखने के लिए कुछ दिलचस्प खोज रहे हैं? अपने स्वाद के आधार पर सिफारिशें प्राप्त करें!","WEBSITE_BOARD_2":"अधिसूचित हो जाएं जब आपके पसंदीदा टीवी शो या यूट्यूब चैनल का एक नया एपिसोड बाहर है!","WEBSITE_BOARD_YOUTUBE":"YouTube चैनलों के नए वीडियो","WEBSITE_BOARD_EPISODES":"श्रृंखला के नए एपिसोड आप अनुसरण करते हैं","WEBSITE_ADDONS":"सामग्री एडॉन्स","WEBSITE_TECH_DETAIL":"हम लव टेक्नोलॉजी हम पागल विज्ञान से प्यार करते हैं! NStremio निम्नलिखित ओपन सोर्स टेक्नोलॉजीज का उपयोग कर रहा है:","WEBSITE_TECH_WCJS":"WebChimera.js STREMIO को अच्छे प्रदर्शन के साथ किसी भी वीडियो प्रारूप को चलाने की अनुमति देता है।","WEBSITE_TECH_WCJS_EXTRA":"हम कोर प्रोजेक्ट योगदानकर्ता हैं","WEBSITE_TECH_ELECTRON":"इलेक्ट्रॉन के साथ स्ट्रैमियो बनाने के लिए एक अभिनव मंच प्रदान करता है।","WEBSITE_TECH_ELECTRON_EXTRA":"हम परियोजना योगदानकर्ता हैं","WEBSITE_TECH_LINVODB":"एक डेटाबेस तकनीक जो सुनिश्चित करती है कि आपका डेटा व्यवस्थित हो और कहीं भी आपके पास उपलब्ध हो।","WEBSITE_TECH_LINVODB_EXTRA":"इन-हाउस टेक्नोलॉजी","WEBSITE_CREATE_ADDON":"अपना Addon बनाएँ","WEBSITE_CREATE_ADDON_DETAIL":"क्या आपके पास वीडियो सामग्री प्रदान करने वाली सेवा है? हम आपको अपने एडन बनाकर STREMIO की सुविधाओं से लाभान्वित होने में मदद करेंगे।","WEBSITE_CREATE_ADDON_BENEFITS":"स्ट्रैमियो के लिए एक एडन बनाने के लाभ","WEBSITE_P2P_BEAUTY":"पीयर-टू-पीयर स्ट्रीमिंग की सुंदरता","WEBSITE_P2P_1":"मांग या लाइव स्ट्रीमिंग पर विश्वसनीय और किफायती पूर्ण एचडी / 4 के वीडियो","WEBSITE_P2P_2":"वितरण मंच महान उपयोगकर्ता अनुभव प्रदान करते हैं","WEBSITE_P2P_3":"हम आपकी सटीक जरूरतों को पूरा करने वाले एडन को बनाएंगे","WEBSITE_P2P_CONTACT":"इच्छुक? आपका स्वागत है <a href=\'mailto:office@stremio.com\'> हमसे संपर्क करें </a>।","WEBSITE_P2P_CONTACT_EXTRA":"हमें आपकी सामग्री को स्ट्रैमियो के साथ एकीकृत करने में मदद करने में प्रसन्नता होगी!","WEBSITE_P2P":"एक बार थोड़ी देर में ऐसी तकनीक आती है जो गेम का नाम बदलता है। हमने अपने पीयर-टू-पीयर (पी 2 पी) वीडियो स्ट्रीमिंग इंजन के निर्माण में बहुत समय और प्रयास का निवेश किया जो किसी भी उपयोग केस के साथ अनुकूलित करने के लिए महान प्रदर्शन और बहुमुखी प्रतिभा प्रदान करता है। N Drm-सक्षम पी 2 पी वीडियो के लिए मांग या लाइव स्ट्रीमिंग के लिए हमसे संपर्क करें।","WEBSITE_THOUGHTS":"विचार हम साझा करते हैं:","WEBSITE_SPREAD":"स्ट्रैमियो के बारे में शब्द फैलाएं:","WEBSITE_CONTACT":"हमसे संपर्क करें हम आपसे सुनकर खुश होंगे!","WEBSITE_OPENSOURCE":"हमारे ओपन सोर्स प्रोजेक्ट्स के लिए हमारे पास जाते हैं","WEBSITE_BITCOIN":"बिटकॉइन दान करें:","WEBSITE_FAQ":"अक्सर पूछे जाने वाले प्रश्नों","WEBSITE_FAQ_SHORT":"सामान्य प्रश्न","WEBSITE_QUESTIONS":"प्रशन","WEBSITE_TOS":"उपयोग की शर्तें","WEBSITE_LEGAL":"कानूनी","WEBSITE_PAGE_ABOUT":"के बारे में","WEBSITE_PAGE_BECOME_PARTNER":"भागीदार बनें","WEBSITE_ALL_YOU_CAN_WATCH":"आप चाहते हैं Neverything देखने की स्वतंत्रता।","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"स्ट्रैमियो क्या है?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio वीडियो सामग्री एकत्रीकरण के लिए एक-स्टॉप हब है। अपने आप को किसी भी डिवाइस पर सभी प्रकार के स्रोतों से वीडियो व्यवस्थित करें और देखें।","WEBSITE_WHAT_IS_STREMIO_P2":"मूवीज़ टीवी श्रृंखला लाइव टेलीविजन या वेब चैनल जैसे यूट्यूब और ट्विच.टीवी दिखाता है - आप इसे स्ट्रैमियो पर पा सकते हैं।","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio एक आधुनिक मीडिया केंद्र है जो आपके वीडियो मनोरंजन के लिए एक-स्टॉप समाधान है। आप एडॉन्स स्थापित करने के लिए आसान से वीडियो सामग्री को देखते हैं और व्यवस्थित करते हैं।","WEBSITE_WHAT_IS_STREMIO_P2_V2":"मूवीज़ टीवी लाइव टीवी या वेब चैनल दिखाता है - यह सब स्ट्रैमियो पर खोजें।","WEBSITE_ENJOI_ON_ALL_DEVICES":"अपने सभी मीडिया उपकरणों पर आनंद लें","WEBSITE_DEVICES_COLLECT":"STREMIO से लीजिए","WEBSITE_DEVICES_IMPORT_FB":"फेसबुक से आयात करें","WEBSITE_DEVICES_LOCAL":"स्थानीय ड्राइव से जोड़ें","WEBSITE_JOIN_THE_PARTY_NOW":"अब पार्टी में शामिल हों","WEBSITE_DEVICES_ALL":"अपने सभी उपकरणों पर उपयोग करने में आसान;","WEBSITE_EXTENDABLE_CATALOG":"Infinitelly विस्तारणीय वीडियो कैटलॉग;","WEBSITE_ORGANIZE_YOUR_MEDIA":"अपने मीडिया को व्यवस्थित करने के लिए महान सुविधाएं;","WEBSITE_AS_SEEN_ON":"जैसा देखा गया","WEBSITE_STREMIO":"स्ट्रमियो","WEBSITE_LINK_ABOUT_US":"हमारे बारे में","WEBSITE_LINK_TECHNOLOGY":"प्रौद्योगिकी","WEBSITE_LINK_APPS":"ऐप्स","WEBSITE_LINK_DOWNLOADS":"डाउनलोड","WEBSITE_MORE":"अधिक","WEBSITE_LINK_ADDONS":"ऐड-ऑन","WEBSITE_LINK_ADDON_SDK":"एडन एसडीके","WEBSITE_LINK_CONTRIBUTE":"योगदान","WEBSITE_LINK_COMMUNITY":"समुदाय","WEBSITE_LINK_BLOG":"ब्लॉग","WEBSITE_MORE_MORE":"... & अधिक","WEBSITE_LINK_HELP":"सहायता केंद्र","WEBSITE_LINK_CONTACTS":"व्यापार पूछताछ","WEBSITE_LINK_TOS":"नियम एवं शर्तें","WEBSITE_LINK_PRAVACY":"गोपनीयता नीति","WEBSITE_SUBSCRIBE":"सदस्यता लेने के","WEBSITE_NEWSLETTER":"अद्भुत सामान के लिए हमारे न्यूजलेटर में शामिल हों","WEBSITE_PLACEHOLDER_EMAIL":"आपका ईमेल","WEBSITE_COMMUNITY":"समुदाय","WEBSITE_LINK_PRAVACY_LEGAL":"गोपनीयता और कानूनी","WEBSITE_WHY":"हम क्यों करते हैं","WEBSITE_WHY_P1":"Stremio में हम हर दिन काम करने के लिए आते हैं क्योंकि हम वीडियो-ऑन-डिमांड उद्योग के लिए एक महत्वपूर्ण समस्या हल करना चाहते हैं। हर मिनट प्रकाशित इतनी नई सामग्री है कि इसके चारों ओर अपना रास्ता ढूंढना लगभग असंभव है।","WEBSITE_WHY_P2":"हम लोगों को वीडियो मनोरंजन की विशाल दुनिया को नेविगेट करने में मदद करते हैं और आनंद लेने के लिए नई सामग्री की खोज करते हैं। हमारे ऐप्स एक साथ फिल्म श्रृंखला लाइव टीवी वेब चैनल और अधिक लाते हैं। हम उपयोगकर्ताओं के लिए शीर्षक और ब्रॉडकास्टरों को ढूंढने के लिए इसे अविश्वसनीय रूप से आसान बनाने के लिए समर्पित हैं।","WEBSITE_WHY_P3":"आप किसी भी डिवाइस पर हमारी सेवा का उपयोग कर सकते हैं और किसी भी समय STREMIO बनाने के लिए एकमात्र वीडियो मनोरंजन हब बनाने के लिए आपको कभी भी आवश्यकता होगी।","WEBSITE_TEAM":"टीम","WEBSITE_TEAM_P":"Stremio टीम छोटा है लेकिन शक्तिशाली है: हम में से दस के बीच हम एक्स भाषाओं में कोड और सॉफ्टवेयर विकास यूआई और यूएक्स डिजाइन विपणन और विज्ञापन और व्यापार और स्टार्टअप में विशेषज्ञता साझा करते हैं।","WEBSITE_FEATURES":"विशेषताएं","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"आसानी से नई सामग्री की खोज करें","WEBSITE_FEATURES_DISCOVER_P":"आसानी से नई फिल्में टीवी शो श्रृंखला और चैनलों को देखने के लिए खोजें। श्रेणी शैली रेटिंग रिकेंसी आदि द्वारा ब्राउज़ करें या बस खोजने के लिए एक नाम टाइप करें। Stremio नई वीडियो सामग्री केक का एक टुकड़ा खोजने बनाता है।","WEBSITE_FEATURES_ALL_CONTENT":"एक स्क्रीन पर आपकी सभी वीडियो सामग्री","WEBSITE_FEATURES_ALL_CONTENT_P1":"देखें कि आप किन फिल्मों या वीडियो को समाप्त नहीं करते हैं और उन्हें देखना जारी रखते हैं; नए एपिसोड और रिलीज के लिए अधिसूचित हो जाएं; और उन सिफारिशों के माध्यम से ब्राउज़ करें जिन्हें आप अपनी देखने की आदतों के आधार पर प्राप्त करेंगे।","WEBSITE_FEATURES_LIBRARY":"अपनी वीडियो लाइब्रेरी व्यवस्थित करें","WEBSITE_FEATURES_LIBRARY_P1":"अपने STREMIO लाइब्रेरी में किसी भी क्लिक के साथ किसी भी शीर्षक को जोड़ें और अपनी सामग्री के चारों ओर अपनी सामग्री को अच्छी तरह से व्यवस्थित रूप से व्यवस्थित तरीके से व्यवस्थित करें।","WEBSITE_FEATURES_CALENDAR":"आप जो कुछ भी देखते हैं उसका ट्रैक रखें","WEBSITE_FEATURES_CALENDAR_P1":"अपनी लाइब्रेरी में आपके द्वारा जोड़े गए सभी फिल्मों और श्रृंखला का कैलेंडर विज़ुअलाइजेशन प्राप्त करें। अपने STREMIO कैलेंडर निर्यात करें और इसे सिंक करें ताकि आप हमेशा जान सकें कि एक नया एपिसोड या प्रीमियर कब देय है।","WEBSITE_FEATURES_BIG_SCREEN":"एक बड़ी स्क्रीन पर अपनी वीडियो सामग्री का आनंद लें","WEBSITE_FEATURES_BIG_SCREEN_P1":"जो भी आप किसी अन्य डिवाइस पर देख रहे हैं उसे कास्ट करें - चाहे वह एक फोन टैबलेट हो या एक क्लिक के साथ एक टीवी हो।","WEBSITE_FEATURES_SOURCES":"कई अलग-अलग स्रोतों से वीडियो देखें","WEBSITE_FEATURES_SOURCES_P":"कई अलग-अलग प्रदाताओं से प्राप्त वीडियो का आनंद लेने के लिए आधिकारिक और सामुदायिक एडॉन्स स्थापित करें - सभी एक चिकना उपयोग करने में आसान ऐप में।","WEBSITE_CREATE_AN_ADDON":"एक एडन बनाएँ","WEBSITE_FEATURES_SYNC":"अपनी लाइब्रेरी को विभिन्न उपकरणों में सिंक करें और अपने प्लेबैक को फिर से शुरू करें","WEBSITE_FEATURES_SYNC_P1":"अपने सभी डिवाइसों में अपने खाते से लॉगिन करें और अपने लाइब्रेरी एडॉन्स प्लेबैक और कैलेंडर सिंक्रनाइज़ का आनंद लें।","WEBSITE_FEATURES_EXTENDABLE":"एडॉन्स द्वारा विस्तारणीय वीडियो कैटलॉग","WEBSITE_FEATURES_EXTENDABLE_P1":"Stremio Addon कैटलॉग विभिन्न प्रकार की वीडियो सामग्री को स्थापित करने और देखने के लिए कई एडॉन्स प्रदान करता है। इसमें फिल्में लाइव टीवी स्पोर्ट न्यूज़ पॉडकास्ट वेब चैनल वीडियो गेम और अधिक दिखाती हैं।","WEBSITE_FEATURES_AUTO_SUBS":"स्वचालित उपशीर्षक","WEBSITE_FEATURES_AUTO_SUBS_P1":"हमारे उपशीर्षक एडॉन्स के साथ आप अपनी पसंदीदा भाषा के लिए स्वचालित रूप से चयनित विकल्प प्राप्त करते हैं।","WEBSITE_FEATURES_CHROMECAST":"क्रोमकास्ट के लिए कास्टिंग","WEBSITE_FEATURES_CHROMECAST_P1":"एक बड़ी स्क्रीन पर अपनी वीडियो सामग्री का आनंद लें या जो भी आप किसी अन्य डिवाइस पर देख रहे हैं उसे डालें।","WEBSITE_FEATURES_KEEP_TRACK":"अपने पसंदीदा टीवी शो और वेब चैनलों का ट्रैक रखें","WEBSITE_FEATURES_KEEP_TRACK_P1":"अपनी पसंदीदा श्रृंखला और वेब चैनलों के नए एपिसोड के लिए कैलेंडर विज़ुअलाइजेशन और नोटिफिकेशन प्राप्त करें।","WEBSITE_FEATURES_POWER_USER":"पावर उपयोगकर्ता सुविधाएँ","WEBSITE_FEATURES_POWER_USER_P1":"बाहरी खिलाड़ी में खेलें","WEBSITE_FEATURES_POWER_USER_P2":"एक टोरेंट फ़ाइल या चुंबक लिंक से खेलें","WEBSITE_FEATURES_POWER_USER_P3":"फेसबुक पसंद या स्थानीय डिस्क से अपनी लाइब्रेरी में आयात करें","WEBSITE_ADD_ONS":"ऐड-ऑन","WEBSITE_ADD_ONS_P1":"सभी वीडियो सामग्री Stremio एक एडन सिस्टम के माध्यम से सोर्स प्रदान की जाती है - ऐप में कोई सामग्री या सामग्री प्रदाता नहीं बनाया गया है।","WEBSITE_ADD_ONS_P2":"एडॉन्स के दो समूह उपलब्ध हैं: आधिकारिक और सामुदायिक एडॉन्स।","WEBSITE_ADD_ONS_P3":"आधिकारिक लोगों को Stremio द्वारा विकसित और होस्ट किया गया है जबकि सामुदायिक एडॉन्स हमारे समुदाय के सदस्यों द्वारा बनाए जाते हैं जो उन्हें भी होस्ट करते हैं।","WEBSITE_ADDONS_OFFICIAL":"सरकारी Addons","WEBSITE_ADDONS_WATCHUB":"अपनी पसंदीदा फिल्में श्रृंखला को स्ट्रीम करें और आईट्यून्स हूलू अमेज़ॅन और अन्य यूके / यूएस सेवाओं जैसे प्रदाताओं से दिखाएं।","WEBSITE_ADDONS_YOUTUBE":"अपने पसंदीदा यूट्यूब चैनलों को विज्ञापन मुक्त देखें और आपके द्वारा अनुसरण किए गए योगदानकर्ताओं से नए अपलोड के लिए अधिसूचनाएं प्राप्त करें।","WEBSITE_ADDONS_FILMON":"मुफ्त में लाइव टीवी फिल्में और सामाजिक टेलीविजन देखें। 600 टीवी चैनल 45000 मुफ्त फिल्में वृत्तचित्र और अधिक।","WEBSITE_ADDONS_OPENSUBTITLES":"मूवी और टीवी उपशीर्षक कई भाषाओं में हजारों अनुवादित उपशीर्षक हर दिन अपलोड किए गए।","WEBSITE_ADDONS_COMMUNITY":"सामुदायिक एडॉन्स","WEBSITE_ADDONS_FILMON_VOD":"फिल्मऑन.टीवी से मांग पर वीडियो देखें","WEBSITE_ADDONS_TWICH":"Twitch.tv से लाइव स्ट्रीम देखें - ई-स्पोर्ट्स उद्योग के लिए एक वीडियो स्ट्रीमिंग प्लेटफ़ॉर्म।","WEBSITE_ADDONS_VODO":"इंडी फिल्में पूरी तरह से नि: शुल्क देखें।","WEBSITE_ADDONS_NETFLIX":"नेटफ्लिक्स फिल्में और वेब श्रृंखला देखें।","WEBSITE_ADDONS_CREATE":"एक एडन बनाएँ","WEBSITE_ADDONS_CREATE_P1":"यदि आप चाहें तो आप अपना खुद का एडन विकसित कर सकते हैं। इस तरह आप अपने आप को और हमारी सामुदायिक पहुंच को नई वीडियो सामग्री तक पहुंचा सकते हैं और दुनिया भर के लाखों उपयोगकर्ताओं के एक नए लक्षित दर्शकों तक पहुंच सकते हैं।","WEBSITE_ADDONS_START_CREATE":"शुरू करने के लिए Stremio Addon SDK पृष्ठ पर जाएं:","WEBSITE_DOWNLOADS":"डाउनलोड","WEBSITE_DOWNLOADS_P1":"इष्टतम प्रदर्शन के लिए हम अनुशंसा करते हैं कि आप STREMIO ऐप्स के नवीनतम उपलब्ध संस्करण का उपयोग करें। यदि किसी कारण से आप पुराने संस्करण का उपयोग करना चाहते हैं तो आप इसे यहां डाउनलोड कर सकते हैं।","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"खिड़कियों के लिए STREMIO","WEBSITE_DOWNLOADS_FOR_MAC":"मैकोज़ के लिए स्ट्रेमियो","WEBSITE_DOWNLOADS_FOR_LINUX":"लिनक्स के लिए STREMIO","WEBSITE_DOWNLOADS_FOR_ANDROID":"एंड्रॉइड के लिए स्ट्रेमियो","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"आईओएस के लिए स्ट्रेमियो (सीमित संस्करण)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"Stremio प्लेटफ़ॉर्म ओपन सोर्स है और आप आसानी से उस सामग्री के लिए एक एडन बना सकते हैं जो वर्तमान में सोर्स नहीं है।","WEBSITE_CONTRIBUTE_WHY":"आपको एडन क्यों बनाना चाहिए?","WEBSITE_CONTRIBUTE_WHY_P1":"अपनी वीडियो सामग्री के लिए नए दर्शकों तक पहुंचें","WEBSITE_CONTRIBUTE_WHY_P2":"स्ट्रैमियो का उपयोगकर्ता आधार तेजी से बढ़ रहा है - लॉन्च स्ट्रैमियो के पहले वर्ष के भीतर दुनिया भर में 1 मिलियन उपयोगकर्ता प्राप्त हुए थे और प्लेटफॉर्म के अस्तित्व के दूसरे वर्ष में यह संख्या 2.5 मिलियन हो गई थी।","WEBSITE_CONTRIBUTE_WHY_P3":"अपने एडन के साथ आप आसानी से इस दर्शकों तक पहुंच सकते हैं और अपनी वीडियो सामग्री को वितरित कर सकते हैं।","WEBSITE_CONTRIBUTE_ALL":"एक ही स्थान पर अपनी पसंदीदा फिल्में वीडियो श्रृंखला और चैनल देखें।","WEBSITE_CONTRIBUTE_ALL_P1":"आप एक विशेष प्रकार की सामग्री के प्रशंसक हैं जो अभी तक स्ट्रैमियो पर उपलब्ध नहीं हैं? इसके लिए एक एडन बनाएं और अपने पसंदीदा वीडियो को बाजार पर मनोरंजन केंद्रों का उपयोग करने के लिए सबसे बड़े और आसान में से एक में देखने का आनंद लें।","WEBSITE_CONTRIBUTE_ALL_P2":"इसके शीर्ष पर आपको अन्य समान विचारधारा वाले स्ट्रैमियो समुदाय के सदस्यों का अंतहीन आभार मिलेगा।","WEBSITE_CONTRIBUTE_MONETIZE":"अपने एडन का मुद्रीकरण करें और अपनी मदद से पैसे कमाएं","WEBSITE_CONTRIBUTE_MONETIZE_P1":"एक बार जब आप STREMIO के लिए एक नया एडन विकसित कर लेंगे तो आप आसानी से इसे कई अलग-अलग तरीकों से मुद्रीकृत कर सकते हैं। यदि आप इस पर विचार कर रहे हैं कि इस पर संपर्क करने के लिए स्वतंत्र महसूस करें","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - हम एडन मुद्रीकरण विकल्पों के बारे में परामर्श करने और सलाह देने में प्रसन्न होंगे।","WEBSITE_CONTRIBUTE_TRANSLATE":"एक स्वयंसेवक अनुवादक बनें","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"यदि आप विभिन्न भाषाओं में स्ट्रैमियो ऐप्स का आनंद लेना चाहते हैं तो आप स्वयंसेवी अनुवादकों के हमारे समुदाय में शामिल हो सकते हैं। वे हमें कई अलग-अलग भाषाओं में stremio के संस्करण जोड़ने में मदद करते हैं।","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"क्या आप शुरू करने के लिए उत्सुक हैं?","WEBSITE_TRANSALTE_STREMIO":"STREMIO का अनुवाद करें","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"सरकारी समुदाय","WEBSITE_COMMUNITY_OFFICIALS_P1":"बढ़ते स्ट्रैमियो समुदाय का हिस्सा बनें। सोशल मीडिया पर हमें का पालन करें और नमस्ते कहने के लिए शर्मिंदा न हों - हम अपने प्रशंसकों से सुनवाई पसंद करते हैं!","WEBSITE_COMMUNITY_UNOFFICIALS":"अनौपचारिक समुदाय","STREMIO_COMMUNITY_NL":"स्ट्रीमियो नीदरलैंड्स","STREMIO_COMMUNITY_BRASIL":"स्ट्रीमियो ब्रासिल","STREMIO_COMMUNITY_GERMANY":"Stremio जर्मनी","STREMIO_COMMUNITY_BELGIUM":"स्ट्रमियो बेल्जियम","STREMIO_COMMUNITY_FRANCE":"स्ट्रमियो फ्रांस","STREMIO_COMMUNITY_PORTUGAL":"स्ट्रमियो पुर्तगाल","STREMIO_COMMUNITY_ITALY":"स्ट्रीमियो इटली","STREMIO_COMMUNITY_UK":"स्ट्रमियो ब्रिटेन","STREMIO_COMMUNITY_USA":"स्ट्रमियो यूएसए","STREMIO_COMMUNITY_MEXICO":"Stremio मेक्सिको","STREMIO_COMMUNITY_ADDONS":"स्ट्रमियो एडॉन्स","STREMIO_COMMUNITY_AWESOME":"भयानक STREMIO","WEBSITE_COMMUNITY_PARTNERS":"भागीदारों और समर्थक","WEBSITE_COMMUNITY_GOODIES":"Stremio उपहार","WEBSITE_COMMUNITY_WALLPAPERS":"वॉलपेपर","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"संपर्क करें","WEBSITE_CONTACT_US_P1":"यदि आपके कोई प्रश्न हैं तो टिप्पणियां या सुझाव नीचे दिए गए संपर्क फ़ॉर्म के माध्यम से हमारे संपर्क में आने के लिए स्वतंत्र महसूस करते हैं।","WEBSITE_CONTACT_US_P2":"ध्यान रखें कि हम बुल्गारिया में स्थित हैं इसलिए समय क्षेत्र के अंतर के कारण आपकी क्वेरी को संबोधित करने में देरी हो सकती है।","WEBSITE_CONTACT_US_SUCCESS":"आपका संदेश भेज दिया गया है। हम आपकी सबसे पुरानी सुविधा पर आपके पास वापस आ जाएंगे।","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"कृपया एक मान्य ईमेल पता प्रवेश करें!","WEBSITE_CONTACT_US_Q_RELATED_TO":"आपका प्रश्न किससे संबंधित है?","WEBSITE_CONTACT_US_Q_OS":"आपका ऑपरेशन सिस्टम क्या है?","WEBSITE_CONTACT_US_PH_EMAIL":"आपका ईमेल","WEBSITE_CONTACT_US_PH_MESSAGE":"संदेश","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"भेजना","WEBSITE_CONTACT_US_Q_1":"स्थापित करने के लिए कैसे?","WEBSITE_CONTACT_US_Q_2":"अनइंस्टॉल कैसे करें?","WEBSITE_CONTACT_US_Q_3":"(HTML) Lasagna कैसे बनाया जाए?","WEBSITE_CONTACT_US_Q_4":"ऐड-ऑन","WEBSITE_CONTACT_US_OS_1":"खिड़कियाँ","WEBSITE_CONTACT_US_OS_2":"मैक ओ एस","WEBSITE_CONTACT_US_OS_3":"लिनक्स","WEBSITE_CONTACT_US_OS_4":"एंड्रॉयड","WEBSITE_CONTACT_US_OS_5":"आईओएस","WEBSITE_TECHNOLOGY":"प्रौद्योगिकी","WEBSITE_TECHNOLOGY_P1":"हम प्रौद्योगिकी और पागल विज्ञान से प्यार करते हैं। </br> यहां शक्तियां क्या हैं (यह सब ओपन-सोर्स है)।","WEBSITE_TECHNOLOGY_P_QT":"क्रॉस-प्लेटफार्म सॉफ्टवेयर विकास सबसे अच्छा है।","WEBSITE_TECHNOLOGY_P_MPV":"एक मुक्त ओपन सोर्स और क्रॉस-प्लेटफार्म मीडिया प्लेयर।","WEBSITE_TECHNOLOGY_P_RN":"प्रतिक्रिया देशी आपको केवल जावास्क्रिप्ट का उपयोग करके मोबाइल ऐप्स बनाने देता है।","WEBSITE_TECHNOLOGY_P_VLC":"मल्टीमीडिया प्राप्त करने के लिए आवेदन में एम्बेडेड मीडिया फ्रेमवर्क।","WEBSITE_TECHNOLOGY_P_REALM":"दायरे एक मोबाइल मंच और SQLite और कोर डेटा के लिए एक प्रतिस्थापन है।","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js एक ओपन-सोर्स क्रॉस-प्लेटफार्म जावास्क्रिप्ट रनटाइम पर्यावरण है।","WEBSITE_TECHNOLOGY_P_RUST":"जंग एक बहु-प्रतिमान प्रणाली प्रोग्रामिंग भाषा है जो सुरक्षा पर विशेष रूप से सुरक्षित सहमति पर केंद्रित है।","WEBSITE_TECHNOLOGY_CONTRIBUTE":"परियोजना में योगदान","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"STREMIO में दो तरीके हैं और उत्पाद को बेहतर बनाने में हमारी सहायता करें।","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"आप मंच का अनुवाद करके अपने मूल्यवान भाषा कौशल दान कर सकते हैं ...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"या","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... आप समुदाय के एडॉन्स बनाने के लिए अपने कोडिंग कौशल को नियोजित कर सकते हैं।","WEBSITE_TRANSLATE_STREMIO":"STREMIO का अनुवाद करें","WEBSITE_404_OH_NO":"उह ओह! जिस पृष्ठ को आप ढूंढ रहे हैं वह यहां नहीं है ...","WEBSITE_GO_HOME":"घर जाओ","WEBSITE_LINK_OTHER_DOWNLOADS":"अन्य डाउनलोड","WEBSITE_FAQ_ABR":"सामान्य प्रश्न","WEBSITE_SUPPORT":"सहायता","WEBSITE_DOWNLOAD_4_0_BETA":"अब Stremio 4 बीटा डाउनलोड करें","WEBSITE_GET_FOR_DESKTOP":"डेस्कटॉप के लिए जाओ","WEBSITE_LINK_ADDON_COMPETITION":"एडन प्रतियोगिता","WEBSITE_LINK_ART_CONTEST":"कला प्रतियोगिता","WEBSITE_MY_ACCOUNT":"मेरा खाता","WEBSITE_MAINPAGE_FAQ_001_H1":"स्ट्रैमियो क्या है?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio एक आधुनिक मीडिया केंद्र है जो आपको जो कुछ भी आप चाहते हैं उसे देखने की स्वतंत्रता देता है।","WEBSITE_MAINPAGE_FAQ_002_H1":"यह कैसे काम करता है?","WEBSITE_MAINPAGE_FAQ_002_P1":"एक बार जब आप अपने डिवाइस पर STREMIO स्थापित कर लेंगे और एक खाता बनाएं जो आपको करना है, वह एडन कैटलॉग पर जाना है और इच्छित किसी भी एडन को स्थापित करना है और आप जाने के लिए अच्छे हैं!","WEBSITE_MAINPAGE_FAQ_002_P2":"इसके बाद आप सामग्री की खोज शुरू करने के लिए खोज या बोर्ड अनुभागों में जा सकते हैं।","WEBSITE_MAINPAGE_FAQ_003_H1":"मैं यहाँ क्या देख सकता हूँ?","WEBSITE_MAINPAGE_FAQ_003_P1":"ए लॉट: मूवीज़ टीवी शो वेब चैनल स्पोर्ट टीवी चैनल पॉडकास्ट और अधिक सुनते हैं। हमारे एडन सिस्टम के लिए धन्यवाद, आप विभिन्न प्रकार की सामग्री तक पहुंच सकते हैं।","WEBSITE_MAINPAGE_FAQ_004_H1":"क्या स्टेमियो ओपन-सोर्स है?","WEBSITE_MAINPAGE_FAQ_004_P1":"हां आप निम्न लिंक देख सकते हैं: $ {1} डेस्कटॉप ऐप $ {2} और $ {3} github संगठन $ {4}।","WEBSITE_MAINPAGE_FAQ_005_H1":"क्या स्ट्रैमियो सुरक्षित है?","WEBSITE_MAINPAGE_FAQ_005_P1":"हां: क्योंकि यह ओपन-सोर्स सॉफ़्टवेयर है कोड पब्लिक रूप से ऑडिटेबल है और आप इसे स्वयं की समीक्षा कर सकते हैं।","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"मेरी गोपनीयता के बारे में कैसे?","WEBSITE_MAINPAGE_FAQ_006_P1":"हम उपयोगकर्ताओं की गोपनीयता का सम्मान करते हैं और आपके खाते को बनाने और सिंक करने के लिए आवश्यक न्यूनतम के अलावा कोई व्यक्तिगत डेटा एकत्र नहीं करते हैं।","WEBSITE_MAINPAGE_FAQ_006_P2":"साइनअप पर $ {1} अतिथि मोड $ {2} भी है जिसके लिए कोई डेटा नहीं चाहिए: इस मोड में हमारे बैकएंड में कोई कॉल नहीं की जाती है। हालांकि यह उपयोगी सुविधाओं की कीमत पर आता है जैसे कि डिवाइस पर अपनी लाइब्रेरी को सिंक करने में सक्षम होना।","WEBSITE_MAINPAGE_FAQ_007_H1":"क्या मैं अपने टीवी को डाला जा सकता हूं?","WEBSITE_MAINPAGE_FAQ_007_P1":"हां हम क्रोमकास्ट का समर्थन करते हैं और आप डेस्कटॉप और मोबाइल ऐप्स (एंड्रॉइड) दोनों से डाले जा सकते हैं।","WEBSITE_MAINPAGE_FAQ_008_H1":"स्ट्रैमियो में कितने एडॉन्स हैं?","WEBSITE_MAINPAGE_FAQ_008_P1":"2019 से अधिक के अंत तक - अधिक जानकारी के लिए हमारे एडन कैटलॉग की जांच करें।","WEBSITE_MAINPAGE_FAQ_009_H1":"Addon कैटलॉग में क्या है परे stremio विस्तारित किया जा सकता है?","WEBSITE_MAINPAGE_FAQ_009_P1":"हां आपको उन लोगों की जांच करनी चाहिए: $ {1} pimpmystremio $ {2} $ {3} Reddit समुदाय $ {4} $ {5} STREMIO डाउनलोडर $ {6} आदि","WEBSITE_MAINPAGE_FAQ_010_H1":"Stremio किस डिवाइस का समर्थन करता है?","WEBSITE_MAINPAGE_FAQ_010_P1":"हमारे पास विंडोज मैक और लिनक्स के लिए डेस्कटॉप ऐप्स हैं। मोबाइल के लिए हम एंड्रॉइड और आईओएस का समर्थन करते हैं हालांकि ध्यान रखें कि आईओएस कार्यक्षमता में सीमित है (अधिकांश एडॉन्स का समर्थन नहीं करता है)।","WEBSITE_MAINPAGE_FAQ_010_P2":"ऐसे कई एंड्रॉइड-आधारित डिवाइस हैं जिन्हें आप एनवीआईडीआईए शील्ड और अमेज़ॅन फायर स्टिक की तरह स्ट्रैमियो चला सकते हैं लेकिन हम आधिकारिक तौर पर उनका समर्थन नहीं करते हैं।","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"क्या आप STREMIO में कुछ सामग्री जोड़ सकते हैं?","WEBSITE_MAINPAGE_FAQ_011_P1":"क्षमा करें, हम खुद को कोई सामग्री प्रदान नहीं करते हैं लेकिन अधिक स्ट्रैमियो एडॉन्स आपने अधिक सामग्री स्थापित की है जिसे आप ढूंढ पाएंगे।","WEBSITE_MAINPAGE_FAQ_012_H1":"क्या स्ट्रैमियो चुंबक लिंक चला सकते हैं?","WEBSITE_MAINPAGE_FAQ_012_P1":"हां और यह सामान्य HTTP लिंक और टोरेंट फ़ाइलों (ड्रैग और ड्रॉप) भी चला सकता है।","WEBSITE_MAINPAGE_FAQ_013_H1":"क्या मैं एक वीडियो डाउनलोड कर सकता हूं और ऑफ़लाइन देख सकता हूं?","WEBSITE_MAINPAGE_FAQ_013_P1":"उपलब्ध ऑफ़लाइन एक आगामी सुविधा है लेकिन यदि आप अपने डिवाइस (सेटिंग्स पैनल से) को कैश करने की अनुमति देते हैं तो आप बिना किसी कनेक्शन के वीडियो देख सकते हैं।","WEBSITE_MAINPAGE_FAQ_014_H1":"कुछ भी नहीं काम करता है मेरी मदद करो!","WEBSITE_MAINPAGE_FAQ_014_P1":"क्या आप वाकई स्थापित किए गए हैं? यदि हां हमारे $ {1} सहायता केंद्र $ {2} से जांचें।","WEBSITE_MAINPAGE_FAQ_015_H1":"Stremio यह विकास संचालन को कैसे बनाए रखता है?","WEBSITE_MAINPAGE_FAQ_015_P1":"हम कभी-कभी गैर-दखल देने वाले विज्ञापन चलाते हैं, लेकिन हम दान मॉडल पर जाने पर विचार कर रहे हैं।","WEBSITE_MAINPAGE_FAQ_015_P2":"अधिक प्रश्नों के लिए हमारे $ {1} सहायता केंद्र $ {2} पर जाएं।","HELP_LEARN_MORE":"हमारे बारे में अधिक जानने में हमारी सहायता करें।","LIFESTYLE":"बॉलीवुड","SPORTS":"खेल","FOOD_HEALTH":"भोजन और स्वास्थ्य","BEAUTY_FASHION":"सौंदर्य और फैशन","NEWS":"समाचार","GAMING":"जुआ","SCIENCE_EDUCATION":"विज्ञान की पढ़ाई","MUSIC":"संगीत","TRAVEL":"यात्रा","LATE_NIGHT":"देर रात","REALITY":"वास्तविकता","COMEDY":"कॉमेडी","DIY":"DIY कैसे करें","TECH":"तकनीक","CINEMA":"सिनेमा","CONTINUE":"जारी रखें","SLOW_LOADING":"धीमी लोडिंग?","I_GIVE_UP":"मैं हार मानता हूं","LEARN_MORE":"और अधिक जानें","POOR_SOURCE":"यह स्रोत खराब उपलब्ध है या आपका इंटरनेट कनेक्शन पर्याप्त तेज़ नहीं है","PICK_CATEGORIES_ERR":"आपको कम से कम 3 श्रेणियां चुननी होंगी","ADJUST_TIMING":"के साथ समय समायोजित करें","ADJUST_SIZE":"के साथ आकार समायोजित करें","SEARCH_ANYTHING":"आप कुछ भी खोज सकते हैं ...","ALL_CATEGORIES":"सभी","SEARCH_CATEGORIES":"सिनेमा श्रृंखला यूट्यूब और टीवी","SEARCH_PERSONS":"अभिनेता निदेशकों और लेखकों","SEARCH_PROTOCOLS":"HTTP और चुंबक लिंक","SEARCH_TYPES":"आईएमडीबी / टीवीडीबी लिंक","WATCHED":"देखे","SHOW_LESS":"कम दिखाएं","LAST_SEARCHES":"अंतिम खोज","CLEAR_HISTORY":"इतिहास मिटा दें","CHOOSE_SOME":"इनमें से कुछ चुनें:","NO_WEB_REMOTE":"वेब रिमोट लोड नहीं किया जा सका","STREMIO_OFFLINE":"Stremio ऑफ़लाइन है","STREMIO_EXPENSIVE_CONNECTION":"हमने पाया है कि आप मोबाइल डेटा कनेक्शन का उपयोग कर रहे हैं क्या आप जारी रखना चाहते हैं?","USE_DATA":"डेटा का उपयोग करें","WARNING":"चेतावनी","MORE_INFO":"और जानकारी ...","STREMIO_TV_STREMIO":"स्ट्रमियो","STREMIO_TV_LOADING":"लोड हो रहा है ...","STREMIO_TV_BACK_TO_LANGUAGES":"वापस भाषाओं में","STREMIO_TV_REMOTE":"दूरस्थ","STREMIO_TV_GO_TO":"के लिए जाओ:","STREMIO_TV_OR_SCAN":"या स्कैन:","STREMIO_TV_ADDON_INSTRUCTIONS":"कृपया अपने पसंदीदा एडॉन्स को स्थापित करने के लिए निर्देशों का पालन करें।","STREMIO_TV_LIVE_TV":"लाइव टीवी","STREMIO_TV_RESUME_WATCHING":"फिर से देखना","STREMIO_TV_LOADING_BACKGROUND":"लोड हो रहा है पृष्ठभूमि","STREMIO_TV_CHECKING_AUTHENTICATION":"प्रमाणीकरण की जाँच","STREMIO_TV_LOADING_BOARD":"लोड हो रहा हुकुम","STREMIO_TV_LOGIN_HEADER_LINE_1":"हम चाहते हैं कि हमारे उपयोगकर्ताओं को हमारे सॉफ़्टवेयर के साथ सर्वोत्तम संभव व्यक्तिगत अनुभव हो।","STREMIO_TV_LOGIN_HEADER_LINE_2":"यही कारण है कि हम आपको अपने खाते में बनाने और / या लॉगिन करने के लिए कहेंगे।","STREMIO_TV_LOGIN_FOOTER_LINE_1":"समझने के लिए धन्यवाद","STREMIO_TV_LOGIN_FOOTER_LINE_2":"STREMIO टीम","STREMIO_TV_REMOTE_INSTRUCTIONS":"अपने स्मार्टफोन / टैबलेट / डेस्कटॉप के साथ वेब रिमोट का उपयोग करने के लिए:","STREMIO_TV_WIFI_SETUP":"वाई-फाई सेटअप","STREMIO_TV_WIFI_HEADER_LINE_1":"स्ट्रमियो सर्कल ने इंटरनेट कनेक्शन का पता नहीं लगाया।","STREMIO_TV_WIFI_DETAILS_1":"जुड़े:","STREMIO_TV_WIFI_DETAILS_2":"स्ट्रमियो-सर्कल","STREMIO_TV_WIFI_DETAILS_3":"पासवर्ड का प्रयोग करें:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"लिंक के साथ एक वेब ब्राउज़र खोलें:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Default","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"By Last Watched","STREMIO_TV_LIBRARY_SORT_NAME":"By Name","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"By Times Watched","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Season ${1}","STREMIO_TV_STREAMS_LOADING":"Loaded ${1} / ${2} addons...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} addon is still loading...","STREMIO_TV_PLAYER_SETTINGS":"Player settings","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Subtitles delay","STREMIO_TV_PLAYER_AUDIO_DELAY":"Audio delay","STREMIO_TV_PLAYER_VIDEO_SCALING":"Video scaling","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Unsupported stream source","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Failed opening external link","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Not adjustable in audio passthrough mode","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Play with ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Play with libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Switching to libVLC player due to a playback error","STREMIO_TV_ADDONS_TITLE":"Use Stremio on your Phone or PC to install or configure addons and press \\"Sync Addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Note: make sure you are using the same Stremio account","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sync Addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons successfully synchronized","STREMIO_TV_ADDONS_SYNC_FAILED":"Failed to synchronize addons","STREMIO_TV_META_LINK_FAILED":"Failed opening meta link","STREMIO_TV_CATALOG_LOADING":"Catalog still loading...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Interface language updated","STREMIO_TV_SETTINGS_THEME_UPDATED":"Theme updated","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Default Player","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"External Player","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferred Language","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Secondary Preferred Language","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possible playback issues on some devices","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Some video formats might not work","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"No caching","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Default","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Soft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Fast","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Fast","STREMIO_TV_SETTINGS_SERVER_URL":"Streaming server url","STREMIO_TV_SETTINGS_SERVER_VERSION":"Server version","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Unknown","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio version","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Edit server url","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Enter a streaming server url","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Show statistics while loading","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"To read Stremio\'s Privacy Policy, visit:","STREMIO_TV_SETTINGS_TOS_TEXT":"To read Stremio\'s Terms and Conditions, visit:","STREMIO_TV_NAV_SEARCH":"खोज","STREMIO_TV_NAV_HOME":"Home","STREMIO_TV_NAV_DISCOVER":"Discover","STREMIO_TV_NAV_LIBRARY":"Library","STREMIO_TV_NAV_MOVIES":"Movies","STREMIO_TV_NAV_SERIES":"Series","STREMIO_TV_NAV_CHANNELS":"चैनल","STREMIO_TV_NAV_TV":"Live TV","STREMIO_TV_NAV_SETTINGS":"समायोजन","STREMIO_TV_NAV_ADDONS":"Addons","STREMIO_TV_LOGIN_TITLE":"खाते लिंक करें","STREMIO_TV_LOGIN_EXPIRES_IN":"Expires in","STREMIO_TV_LOGIN_STEP_ONE":"Scan QR Code above or go to","STREMIO_TV_LOGIN_STEP_TWO":"Log in to your Stremio account","STREMIO_TV_LOGIN_NEW_LINK":"Request a new link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Login code refreshed","STREMIO_TV_SEARCH_PLACEHOLDER":"Type something","STREMIO_TV_SEARCH_NO_ADDONS":"No addons were requested for catalogs!","STREMIO_TV_SEARCH_BUTTON":"खोज","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"साफ़","STREMIO_TV_SEARCH_HISTORY_TITLE":"खोज इतिहास","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"You can search for Titles, Actors, Channels and more...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"खोज इतिहास साफ़ करे","STREMIO_TV_FILTERS_DESCRIPTION":"नीचे दिए गए किसी एक फ़िल्टर में से चुनें","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"फिल्टर","SETTINGS":"समायोजन","ACCOUNT":"खाता","LOGOUT":"लॉग आउट","THEMES":"Themes","PLAYBACK":"प्लेबैक","PLAYBACK_SPEED":"प्लेबैक स्पीड","AUDIO_TRACKS":"ऑडियो ट्रैक","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"वीडियो","SERVER":"सर्वर","LINKS":"Links","ABOUT":"के बारे में","INTERFACE":"इंटरफेस","ANIMATIONS":"एनिमेशन","STATUS":"Status","LANGUAGE":"भाषा","SIZE":"आकार","DELAY":"देरी","BOLD":"बोल्ड","OPACITY":"Opacity","TEXT_COLOR":"लिखावट का रंग","OUTLINE_COLOR":"रूपरेखा रंग","BACKGROUND_COLOR":"पीछे का रंग","BACKGROUND_BLUR":"Background Blur","SEEK_TIME_DURATION":"समय अवधी देखे","AUTO_PLAY":"अगला एपिसोड अपने आप चालू करे","PLAY_NOW":"Play Now","MARK_AS_WATCHED":"देखे गए के रूप में चिह्नित करें","MARK_AS_UNWATCHED":"अनदेखे के रूप में चिह्नित करें","REWIND_TO_BEGINNING":"Rewind to Beginning","CONTINUE_WATCHING":"देखणा चालू रखे","ALL":"सारे","SECONDS":"सेकंद्स","ON":"चालू","OFF":"बंद","RELOAD":"Reload","EDIT_URL":"Edit URL","NONE":"None","EMBEDDED":"Embedded","REMOTE_SWITCH_DEVICES":"स्विच डिवाइस","REMOTE_VIDEOS":"वीडियो","REMOTE_ADJUST_TIMING":"समय समायोजित करें","REMOTE_ADJUST_SIZE":"आकार समायोजित करें","REMOTE_COULD_NOT_BE_LOADED":"वेब रिमोट लोड नहीं किया जा सका","REMOTE_RETRY":"पुन: प्रयास करें","TORRENT_PROFILE_DEFAULT":"डिफ़ॉल्ट","TORRENT_PROFILE_SOFT":"Soft","TORRENT_PROFILE_FAST":"Fast","TORRENT_PROFILE_ULTRA_FAST":"Ultra Fast","FAQ_001_H1":"स्ट्रैमियो क्या है?","FAQ_001_P1":"Stremio एक मीडिया सेंटर सॉफ्टवेयर है जो वीडियो मनोरंजन के लिए दिमाग में उपयोग के साथ डिज़ाइन किया गया है। STREMIO आपको व्यवस्थित करने की अनुमति देता है & amp; फिल्म श्रृंखला चैनल और लाइव टीवी का अपना संग्रह देखें।","FAQ_001_P2":"Stremio सामग्री को एकत्रित करें जो आपको अपनी स्थानीय डिस्क और हमारे एडॉन्स सिस्टम से दिखाता है।","FAQ_001_P3":"यह आपको यह भी सूचित करेगा कि नए एपिसोड / वीडियो / फिल्में जो आप में रुचि रखते हैं और आपके लिए मूवी सिफारिशें प्रदान करते हैं।","FAQ_02_H1":"STREMIO KODI और PLEX की तुलना कैसे करता है?","FAQ_02_P1":"हम सॉफ्टवेयर के उन दो टुकड़ों से प्रेरित हैं। लेकिन हमारे पास अलग-अलग लक्ष्य हैं - स्ट्रैमियो विशेष रूप से मनोरंजन वीडियो की ओर लक्षित है और इसका उपयोग करने में आसान होने के लिए मुख्यधारा के समाधान बनने का प्रयास करता है।","FAQ_02_P2":"स्ट्रैमियो कभी भी अनुकूलन योग्य और कोडी और प्लेक्स के रूप में समृद्ध नहीं होगा, लेकिन इसका उपयोग करना काफी आसान है। बस $ {1} इसे प्राप्त करें और $ {2} देखें :)","FAQ_03_H1":"Stremio नेटफ्लिक्स की तुलना कैसे करता है?","FAQ_03_P1":"फिर से नेटफ्लिक्स हमारी प्रेरणाओं में से एक है। हम नेटफ्लिक्स के उपयोगकर्ता अनुभव को बहुत से अतिरिक्त उपहारों को प्राप्त करने का प्रयास करते हैं। लेकिन सबसे महत्वपूर्ण बात यह है कि हम आपको अपनी लाइब्रेरी प्रबंधित करने और हमारे एडन सिस्टम के साथ नए सामग्री स्रोत जोड़ने की स्वतंत्रता दे रहे हैं।","FAQ_03_P2":"इससे स्ट्रैमियो असीमित रूप से विस्तार योग्य बनाता है, इसलिए जब आप स्ट्रैमियो का उपयोग करते हैं तो आप कभी भी सामग्री से सीमित नहीं होते हैं नेटफ्लिक्स लाइसेंस का फैसला करता है। उदाहरण के लिए स्ट्रैमियो के माध्यम से आप $ {1} filmon.tv $ {2} $ {3} twitch.tv $ {4} $ {5} youtube $ {6} $ {7} वोडो $ {8} और से सामग्री देख सकते हैं यहां तक ​​कि $ {9} netflix $ {10} ही!","FAQ_04_H1":"स्ट्रैमियो फ्लिपबोर्ड की तुलना कैसे करता है?","FAQ_04_P1":"हमें वह सवाल नहीं मिलता है जो अक्सर लोगों को स्टार्ट-अप करने के लिए छोड़कर को छोड़कर :)","FAQ_04_P2":"Stremio एक सामग्री एग्रीगेटर डिजाइन द्वारा है जो अनिवार्य रूप से इसे वीडियो के लिए फ्लिपबोर्ड बनाता है। यह हमारे बोर्ड सेक्शन में बहुत स्पष्ट है जो आपको फ्लिपबोर्ड की तरह अनुसरण करने के लिए कैटलॉग और नया एपिसोड / नई वीडियो अधिसूचना देता है।","FAQ_05_H1":"Stremio पॉपकॉर्न समय की तुलना कैसे करता है?","FAQ_05_P1":"Stremio और पॉपकॉर्न समय उपयोगकर्ता इंटरफ़ेस में समान हैं क्योंकि वीडियो मनोरंजन कैटलॉग सही करने के कई तरीके नहीं हैं :)","FAQ_05_P2":"लेकिन पॉपकॉर्न टाइम विशिष्ट स्रोतों से टॉरेंट स्ट्रीमिंग पर केंद्रित है Stremio अप्रतिबंधित है और केवल एक सामग्री एग्रीगेटर है - यह एक विशिष्ट सामग्री स्रोत में बंद नहीं है।","FAQ_05_P3":"इसके अलावा हम डिफ़ॉल्ट रूप से किसी भी टोरेंट एडॉन्स प्रदान नहीं करते हैं, इसलिए स्ट्रैमियो को आधिकारिक कार्यक्षमता के साथ पॉपकॉर्न टाइम उपयोग-केस को कवर नहीं किया जाता है।","FAQ_05_P4":"एक और उल्लेखनीय अंतर यह है कि पॉपकॉर्न टाइम पूरी तरह से खुला स्रोत है जबकि Stremio $ {1} आंशिक रूप से ओपन सोर्स $ {2} है।","FAQ_06_H1":"क्या आप इस फिल्म / श्रृंखला को जोड़ देंगे?","FAQ_06_P1":"कोई खेद नहीं :(","FAQ_06_P2":"जैसा कि अन्य प्रश्नों में उल्लेख किया गया है Stremio स्वयं से कोई सामग्री प्रदान नहीं करता है - सब कुछ एडॉन्स सिस्टम के माध्यम से जोड़ा जाता है। यदि आपके पास कोई सामग्री अनुरोध है तो आप उस खिलाड़ी में रिपोर्ट बटन का उपयोग कर सकते हैं जो वर्तमान में आपके द्वारा उपयोग किए जा रहे एडन के लेखक को एक ईमेल भेज देगा।","FAQ_07_H1":" ","FAQ_07_P1":" ","FAQ_07_P2":" ","FAQ_08_H1":"क्या आप एक्स के लिए एडन बनाएंगे?","FAQ_08_P1":"यह पूरी तरह से संभव है।","FAQ_08_P2":"यदि आपके पास Addon के लिए एक विचार है तो हमें $ {1} office@stremio.com पर एक लाइन छोड़ें, लेकिन कृपया सुनिश्चित करें कि आपका एडन विचार किसी भी कॉपीराइट या उपयोग की शर्तों का उल्लंघन नहीं करेगा।","FAQ_08_P3":"फिलहाल हमारे रोडमैप पर अगली चीजें मांग और क्रंचरोल पर fandangonow filmon.tv वीडियो के लिए Addons हैं।","FAQ_09_H1":"क्या Stremio बिटटोरेंट का उपयोग करता है?","FAQ_09_P1":"हां स्ट्रैमियो एक स्ट्रीमिंग प्रोटोकॉल के रूप में बिटटोरेंट का समर्थन करता है। आप या तो एक टोरेंट एडन के साथ या ड्रैग-एंड-ड्रॉप करके एक .torrent फ़ाइल को स्ट्रैमियो में या एक चुंबक लिंक को खोज बार में चिपकाने के साथ कर सकते हैं।","FAQ_09_P2":"कृपया ध्यान दें कि बिटटोरेंट का उपयोग कर एकमात्र आधिकारिक एडन $ {1} वोडो $ {2} है जो इंडी सामग्री प्रदान करता है सभी को बिटटोरेंट के साथ वितरित करने की अनुमति है।","FAQ_09_P3":"हम किसी तीसरे पक्ष के एडॉन्स के उपयोग का समर्थन नहीं करते हैं जो कॉपीराइट उल्लंघन को सक्षम कर सकता है।","FAQ_10_H1":"आधिकारिक एडॉन्स के साथ स्ट्रैमियो में मैं क्या देख सकता हूं?","FAQ_10_P1":"डिफ़ॉल्ट रूप से आप अपने एम्बेडेड प्लेयर के साथ स्ट्रैमियो के भीतर फिल्मऑन.टीवी यूट्यूब और वोडो सामग्री देख सकते हैं। इसके अतिरिक्त हमारे पास twitch.tv और कुछ अन्य लोगों के लिए एक एडन है।","FAQ_10_P2":"यह संयुक्त का चयन प्रदान करता है:","FAQ_10_L1":"Filmon.tv द्वारा प्रदान किए गए लोकप्रिय टीवी चैनल - उदाहरण के लिए ई 4 बीबीसी बॉलीवर्ल्ड टीवी","FAQ_10_L2":"यूट्यूब से सब कुछ - उदाहरण के लिए बीबीसी समाचार शीर्ष गियर vevo pewdiepie","FAQ_10_L3":"वोडो के साथ इंडी फिल्में","FAQ_10_L4":"Twitch.tv के साथ ऑनलाइन गेमिंग प्रसारण","FAQ_10_P3":"इसके अतिरिक्त गाइडबॉक्स और नेटफ्लिक्स एडॉन्स के साथ प्रदान किए गए कई सामग्री स्रोत हैं जो <b> नहीं करते हैं </ b> पूरी तरह से स्ट्रैमियो के अंदर खेलते हैं लेकिन दी गई सेवा में रीडायरेक्ट करेंगे। उदाहरण के लिए गाइडबॉक्स एडन आपको उन फिल्मों का चयन करेगा जो आप अमेरिका में Tubitv और क्रैकल जैसी सेवाओं से मुक्त करने के लिए स्ट्रीम कर सकते हैं।","FAQ_11_H1":"Stremio स्थापित नहीं होगा कि मुझे क्या करना चाहिए?","FAQ_11_P1":"यदि आप विंडोज़ पर $ {1} इस वैकल्पिक इंस्टॉलर $ {2} का प्रयास करें।","FAQ_11_P2":"यदि आप मैक ओएस एक्स पर हैं तो कृपया ध्यान रखें कि हम ओएस एक्स मैवरिक्स (10.9) से पुराने कुछ भी समर्थन नहीं करते हैं।","FAQ_11_P3":"यदि आप लिनक्स पर हैं तो ध्यान रखें कि हम इस समय केवल 64 बिट (x64) लिनक्स का समर्थन करते हैं।","FAQ_11_P4":"यदि आप अभी भी अपनी समस्या का समाधान नहीं कर सकते हैं तो कृपया हमें $ {1} फेसबुक ग्रुप $ {2} पर लिखें।","FAQ_12_H1":"मेरा एंटी-वायरस क्यों शिकायत करता है? क्या स्ट्रैमियो सुरक्षित है?","FAQ_12_P1":"हम आपको आश्वस्त करते हैं कि STREMIO $ {1} 100% क्लीन $ {2} है।","FAQ_12_P2":"आपका एंटीवायरस शिकायत कर रहा है क्योंकि हम अपने इंस्टॉलर में विज्ञापन शामिल करते हैं जो कुछ एंटी-वायरस प्रोग्राम विज्ञापन-बर्तन के रूप में पहचानते हैं।","FAQ_12_P3":"यदि आप अभी भी अनिश्चित हैं तो आप हमारे $ {1} वैकल्पिक इंस्टॉलर $ {2} को आजमा सकते हैं।","FAQ_13_H1":"मैं एडन कैसे बना सकता हूं?","FAQ_13_P1":"शुरुआत करने वालों के लिए हम आपको गिटहब पर $ {1} एडॉन्स सिस्टम मॉड्यूल $ {2} की जांच करते हैं।","FAQ_13_P2":"बाद में आप $ {1} हैलो वर्ल्ड ट्यूटोरियल $ {2} का अनुसरण कर सकते हैं।","FAQ_13_P3":"यदि आपके पास कोई प्रोग्रामिंग कौशल नहीं है तो कृपया $ {1} reddit समुदाय $ {2} पर अपना विचार पोस्ट करें और $ {3}office@stremio.com $ {4} पर अपने एडन आइडिया के साथ हमसे संपर्क करें।","FAQ_14_H1":"एडॉन्स कैसे प्रकाशित होते हैं?","FAQ_14_P1":"जब आप एक एडन और होस्ट बनाते हैं और अपने मैनिफेस्ट में <b> एंडपॉइंट </ b> फ़ील्ड बनाते हैं जो एक काम करने वाले एडन पते को इंगित करता है, एडन स्वचालित रूप से खुद को $ {1} एडन कैटलॉग $ {2} में प्रकाशित करेगा।","FAQ_14_P2":"ऐसा इसलिए होता है क्योंकि स्ट्रैमियो-एडॉन्स मॉड्यूल का सर्वर हिस्सा स्वचालित रूप से एडन की घोषणा करने के लिए हमारे एपीआई को कॉल करता है। जब हमारा एपीआई आपके <b> एंडपॉइंट </ b> को मान्य एडन के रूप में मान्य करता है तो यह कैटलॉग में दिखाना शुरू कर देगा।","FAQ_15_H1":"क्या मैं अपने ब्राउज़र में STREMIO चला सकता हूं?","FAQ_15_P1":"फिलहाल नहीं, लेकिन यह आ रहा है!","FAQ_15_P2":"यदि आप एक अल्फा देखने के लिए उत्सुक हैं तो आप इसे यहां देख सकते हैं: $ {1} alpha4.strem.io $ {2}। ध्यान रखें कि इस अल्फा पर स्ट्रीमिंग अक्षम है। हम क्रोम फ़ायरफ़ॉक्स ओपेरा और एज का समर्थन करते हैं।","FAQ_16_H1":"टीवी के लिए कास्टिंग काम / उपशीर्षक काम नहीं करता है","FAQ_16_P1":"टीवी में कास्टिंग डीएलएनए तकनीक का उपयोग करता है जो विभिन्न टीवी ब्रांडों और मॉडलों के बीच बहुत असंगत है। इसी कारण से हमारे पास हर मामले में इसका परीक्षण करने की क्षमता नहीं है, इसलिए यह सही से दूर है। इसके बावजूद हम इसे लगातार सुधारने पर काम कर रहे हैं लेकिन हम आपको एक समय का अनुमान नहीं दे सकते हैं जब डीएलएनए आपके टीवी के साथ ठीक से काम करना शुरू कर देगा।","FAQ_16_P2":"यदि आप कास्टिंग मेनू में अपना टीवी भी नहीं देखते हैं तो कृपया अपने नेटवर्क कनेक्शन को अक्षम करने और इसे फिर से सक्षम करने का प्रयास करें (विंडोज़ राइट पर नेटवर्क पर क्लिक करें और सक्षम / अक्षम करें) के साथ ही अपने राउटर टीवी और पीसी को पुनरारंभ करें।","FAQ_16_P3":"यदि आप अभी भी मुद्दों का सामना कर रहे हैं तो आप अपने टीवी ब्रांड और मॉडल जानकारी को ${1}office@stremio.com $ {2} पर भेजकर हमारी सहायता कर सकते हैं।","FAQ_16_P4":"इस बीच हम क्रोमकास्ट की सलाह देते हैं कि हम एक अच्छी तरह से समर्थन करते हैं या बस अपने टीवी में अपने पीसी में एक एचडीएमआई केबल के साथ प्लगिंग करते हैं।","FAQ_17_H1":"Stremio फ्रीज और / या दुर्घटनाओं मैं क्या कर सकता हूँ?","FAQ_17_P1":"सबसे पहले यदि आप एवीजी एंटी-वायरस के साथ विंडोज 7 का उपयोग कर रहे हैं: हमें उस संयोजन के साथ एक समस्या है। समस्या एवीजी में ही है और हमारे अंत में इसे हल करने का कोई उचित तरीका नहीं है। दुर्भाग्य से एंटी-वायरस को अपवाद या अक्षम करना काम नहीं करेगा। एकमात्र समाधान एवीजी को किसी और चीज के साथ बदलने के लिए है।","FAQ_17_P2":"यदि यह समस्या नहीं है लेकिन आप अभी भी विंडोज़ का उपयोग कर रहे हैं तो कृपया नवीनतम सर्विस पैक में अपडेट करें और अपने जीपीयू ड्राइवरों को अपडेट / इंस्टॉल करें फिर पुन: प्रयास करें।","FAQ_17_P3":"यदि आप समस्या को हल नहीं कर रहे हैं या आप मैक या लिनक्स का उपयोग कर रहे हैं तो कृपया हमें $ {1} हमारे फेसबुक ग्रुप $ {2} पर समस्या के सटीक विवरण की रिपोर्टिंग करें।","FAQ_18_H1":"मैं एडन कैसे बना सकता हूं?","FAQ_18_P1":"शुरुआत करने वालों के लिए हम आपको गिटहब पर $ {1} एडॉन्स सिस्टम मॉड्यूल $ {2} की जांच करते हैं।","FAQ_18_P2":"बाद में आप $ {1} हैलो वर्ल्ड ट्यूटोरियल $ {2} का अनुसरण कर सकते हैं।","FAQ_18_P3":"यदि आपके पास कोई प्रोग्रामिंग कौशल नहीं है तो कृपया $ {1} reddit समुदाय $ {2} पर अपना विचार पोस्ट करें और $ {3}office@stremio.com $ {4} पर अपने एडन आइडिया के साथ हमसे संपर्क करें।","FAQ_19_H1":"STREMIO डिस्क स्थान क्यों ले रहा है?","FAQ_19_P1":"स्ट्रीमियो में अस्थायी रूप से स्ट्रीम करने वाली वीडियो फ़ाइलों को रखने के लिए <b> स्थानीय कैश </ b> है।","FAQ_19_P2":"इसमें दो लाभ हैं: सबसे पहले यह STREMIO को आगे के वीडियो को पूर्व-बफर करने की अनुमति देता है ताकि चिकनी स्ट्रीमिंग सुनिश्चित हो सके। दूसरा यह वीडियो को स्थानीय कैश में रखता है ताकि आप उन्हें ऑफ़लाइन देखना जारी रख सकें।","FAQ_19_P3":"सेटिंग पैनल में <b> कैश </ b> सेटिंग पर कितना स्ट्रैमियो निर्भर करता है। स्ट्रैमियो आपकी डिस्क पर सेट राशि (उदा। 2 जीबी) तक रख सकता है जब तक कि वर्तमान में स्ट्रीम किए गए वीडियो उस मामले से बड़े न हों, जिस स्थिति में इसे तब तक रखने के लिए पर्याप्त भंडारण आवंटित करना होगा जब तक कि आप इसे स्ट्रीम कर रहे हों।","FAQ_20_H1":"कैश फ़ोल्डर कहां है?","FAQ_20_P1":"विंडोज़ पर यह सेटिंग्स में चुने गए ड्राइव में स्ट्रैमियो-कैश है (उदा। E: stremio-cache)","FAQ_20_P2":"मैकोज़ पर यह ~ / पुस्तकालय / आवेदन समर्थन / stremio / stremio-cache","FAQ_20_P3":"लिनक्स पर यह ~ / .stremio / stremio-cache या ~ / stremio-cache","FAQ_21_H1":"मुझे मिलता है स्ट्रीमिंग सर्वर त्रुटि नहीं मिली है मैं क्या कर सकता हूं?","FAQ_21_P1":"यदि आपको यह त्रुटि मिलती है तो इसका मतलब कुछ चीजों में से एक है:","FAQ_21_P2":"1) आप हमारे $ {1} वेब संस्करण $ {2} के माध्यम से यूट्यूब / बिटटोरेंट स्रोत द्वारा समर्थित एडन का उपयोग करने की कोशिश कर रहे हैं। इस मामले में आपको हमारे डेस्कटॉप संस्करण को $ {3} हमारी वेबसाइट $ {4} से इंस्टॉल करना चाहिए।","FAQ_21_P3":"2) आपके STREMIO स्थापना के साथ कुछ गलत है। इस मामले में $ {1} वेबसाइट $ {2} से हमारे नवीनतम डेस्कटॉप संस्करण को पुनः स्थापित करने का प्रयास करें। यदि यह आपके पीसी को पुनरारंभ करने और फिर से कोशिश करने वाले एंटी-वायरस प्रोग्राम और फ़ायरवॉल को अक्षम करने का प्रयास करने में मदद नहीं करता है। यदि यह काम नहीं करता है तो कृपया हमें हमारे $ {3} हमारे फेसबुक समूह $ {4} पर लिखें।","FAQ_22_H1":"मैं आईओएस पर अधिकांश एडॉन्स को नहीं देख सकता / उपयोग नहीं कर सकता","FAQ_22_P1":"ऐप्पल ऐप स्टोर के नियमों और शर्तों में प्रतिबंधों के कारण हमने केवल आईओएस आवेदन को केवल एडॉन्स के एक विशेष सेट पर प्रतिबंधित कर दिया है।","FAQ_22_P2":"लेकिन बाकी आश्वासन दिया गया है - भविष्य में आईओएस के लिए और अधिक एडॉन्स होंगे और हम एक एकीकरण भी जोड़ सकते हैं जो आपको आईओएस ऐप को स्ट्रैमियो स्ट्रीमिंग सर्वर से जोड़ने के लिए सभी स्ट्रैमियो एडॉन्स का उपयोग करने की अनुमति देगा।"}')},80487:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Filmovi","TYPE_series":"Serije","TYPE_tv":"TV","TYPE_channel":"Kanal","TYPE_other":"Ostalo","TYPE_movie_PL":"Filmovi","TYPE_series_PL":"Serije","TYPE_tv_PL":"TV","TYPE_channel_PL":"Kanal","TYPE_other_PL":"Ostalo","TYPE_ALL":"All","TYPE":"Type","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"Video","BACK":"Povratak","MORE":"Više","DONE":"Završeno","COPY":"Copy","SUCCESS":"Success","ERROR":"Error","SETTINGS_CASTING_MODE_PICKER":"Casting mode","CASTING_MODE_HLSV2":"Default","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"No transcoding","Discover":"Otkrij","Board":"Početna","Library":"Videoteka","My Library":"Moja videoteka","Calendar":"Kalendar","NOTIFICATION_ONLINE":"Sada ste povezani","NOTIFICATION_OFFLINE":"Niste povezani","INTERNET_CONNECTION":"Greška povezivanja","STORAGE_FULL_TITLE":"Upozorenje: memorija je popunjena!","STORAGE_FULL_TEXT":"Vaše postavke, preferencije ili podaci za prijavu neće biti spremljeni. Ponovno pokrenite ili ponovno instalirajte Stremio.","SEARCH":"Tražilica...","SEARCH_NO_RESULTS":"Nema pronađenih rezltata","SEARCH_EXPLANATION_CONTENT":"Pretraži filmove, serije, YouTube i TV kanale","SEARCH_EXPLANATION_PEOPLE":"Pretraži glumce, redatelje i producente","SEARCH_PASTE_LINKS":"Kopiraj poveznice","SEARCH_OR_PASTE_LINK":"Search or paste link","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"Dodaj u videoteku","REMOVE_FROM_LIB":"Ukloni iz videoteke","ADDED_TO_LIB":"Dodano u videoteku","REMOVED_FROM_LIB":"Uklonjeno iz videoteke","TRAILER":"Najava","WATCH_TRAILER":"Pogledaj najavu","WATCH_NOW":"Pokreni gledanje","SHOW":"Prikaži","SHOW_MOVIE":"Show Movie","WATCH_RANDOM":"Gledaj nasumično","IMDB_RATING":"IMDb Ocjena","YEAR":"Godina","DIRECTOR":"Redatelj","WRITER":"Producent","LEAD_ACTORS":"Glavni glumci","CAST":"Uloge","CREW":"Ekipa","SHOW_MORE_CAST":"Prikaži više »","AIRED":"Emitirano","SEASONS":"Sezone","GENRE":"Žanr","GENRE_ALL":"All genres","CATALOG":"Katalog","SUMMARY":"Sažetak","SHOW_MORE":"Prikaži još","SIMILAR":"Slično","UPCOMING":"Nadolazeće","ENDED":"Završeno","DURATION":"Trajanje","FEATURED":"Istaknuto","METADATA":"Metadata","CATEGORY":"kategorija","LINKS_GENRES":"Genres","LINKS_CAST":"Cast","LINKS_DIRECTORS":"Directors","SEARCH_VIDEOS":"pretraži videe","SEARCH_PLACEHOLDER":"traži sadržaj ili upiši magnet linkove","ADDON":"dodatak","ADDONS":"Dodaci","OFFICIAL":"službeni","ADDONS_OFFICIAL":"Službeni Stremio Dodaci","ADDONS_POPULAR":"Popularno na vašem području","ADDON_FREE":"besplatni dodaci","ADDON_PEERED":"peered","ADDON_SUBSCRIPTION":"pretplata","ADDON_STREAM_GEORESTRICTED":"nije dostupno na vašem području","ADDON_STREAM_OFFLINECACHE":"Cache nije povezan","ADDON_STREAM_LOCALFILE":"Lokalni dokument","SHARE_ADDON":"Dijeli Dodatak","AVAILABLE_STREAMS":"Dostupni prijenosi","NO_STREAM":"Nema dostupnih prijenosa","ALL_ADDONS":"All","INSTALL_MORE_ADDONS":"Za više prijenosa instalirajte još Dodataka","STREAM_NOT_SUPPORTED":"Odabrani prijenos nije podržan.","ADDON_CATALOGUE":"Prikaži sve dodatke »","ADDON_CATALOGUE_MORE":"Više dodataka »","REPO_ADDED":"Repozitorij je dodan","ADDON_REPO_EXIST_ERR":"Ovaj dodatak je već dodan","ADDON_REPO_ERR":"Greška prilikom dodavanja repozitorija","ADDON_ADD_ERR":"Greška prilikom dodavanja dodatka","ERR_ADDON_PROTECTED":"Dodatak je zaštićen","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Nešto je pošlo po krivu - autentifikacija možda nije uspjela","ERR_NOT_COLLECTION_URL":"Nije url kolekcije","ERR_NOT_ADDON_URL":"Nije url dodatka","ERR_DETECTFROMURL":"Nemoguće otkriti podatke iz url-a","ADDON_DUPLICATE_WARNING":"Upozorenje: duplicirani dodatak","ADDON_COLLECTION_SET_FAILED":"Addon collection set failed","SETTINGS_DATA_EXPORT":"Export data","ADDON_PULL_FAILED":"Dodavanje dodatka nije uspjelo","REFRESH_ON_CLICK":"Pritisni za ponovno učitavanje","STILL_IN_THEATER":"Film je i dalje u kinu","WATCH_IN_CINEMA":"Pogledaj ga u kinu","IN_THEATER":"U kinu","GET_TICKETS":"Nabavi karte","UPCOMING_EPISODE":"Nadolazeća epizoda","UPCOMING_EPISODE_MESSAGE":"Ova epizoda emitirati će se:","MISSING_DATE_EPISODE":"Nedostaje nadnevak epizode","MISSING_DATE_EPISODE_MESSAGE":"This episode might not have aired yet","CHANNEL_NOT_SCRAPED":"Ovaj kanal još nije spremljen.<br>Molimo vas pokušajte za nekoliko minuta.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Dodajte u svoju videoteku da budete obešteni kada bude dostupno.","GET_NOTIFIED_WHEN_AVAILABLE":"Biti ćete obavješteni kada bude dostupno.","WARNING_STREAMING_SERVER":"Upozorenje: lokalni server za prijenos nije pronađen. Prijenos sa YouTube-a i BitTorrent-a neće biti dostupan.","WARNING_STREAMING_SERVER_DISMISS":"Dismiss","WARNING_STREAMING_SERVER_LATER":"Later","DECODER_WARNING":"Upozorenje: ovaj video možda ne podržava vaš hardver. Imajte na umu da reprodukcija može biti spora.","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"Ups, greška playera","PLAYER_ERROR_LOOKSLIKE":"Izgleda kao","PLAYER_ORIENTATION":"Orijentacija playera","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Fiksno","PLAYER_ORIENTATION_SENSOR_SHORT":"Senzor","PLAYER_ORIENTATION_LANDSCAPE":"Orijentacija playera fiksirana je vodoravno","PLAYER_ORIENTATION_SENSOR":"Orijentacija playera je automatska (senzor)","PLAYER_PLAYBACK_SPEED":"Brzina prikazivanja","PLAYER_PLAYBACK_ERROR":"Playback error, please try again","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Unknown error","PLAYER_PLAYBACK_ERROR_DEFAULT":"Sorry, this video cannot be played by {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Subtitles Languages","PLAYER_SUBTITLES_VARIANTS":"Subtitles Variants","PLAYER_SUBTITLES_SETTINGS":"Subtitles Settings","PLAYER_SUBTITLES_DISABLED":"Subtitles are disabled","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Vertical Position","PLAYER_SUBTITLES_LOADED":"Subtitles loaded","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Embedded subtitles loaded","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Exclusive subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Subtitles from {{origin}} loaded","PLAYER_PLAY":"Play","PLAYER_PAUSE":"Pause","PLAYER_NEXT_VIDEO":"Next Video","PLAYER_MUTE":"Mute","PLAYER_UNMUTE":"Unmute","PLAYER_OPEN_IN_EXTERNAL":"Open in external player","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Play in {{device}}","PLAYER_LIVE":"Uživo","PLAYER_NEXT_VIDEO_TITLE":"U sljedećem nastavku","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Odbaci","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Gledaj odmah","PLAYER_COPY_STREAM_SUCCESS":"Stream link was copied to your clipboard","PLAYER_COPY_STREAM_ERROR":"Failed to copy stream link","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","STREAMING_FROM":"pokretanje iz","CASTING_TO":"Prikazivanje na","NETWORK_STATUS":"Mrežni status","STREAM_SPEED":"Brzina prikazivanja:","STREAM_BUFFERED":"Učitano:","PEERS_INFO":"Peer Informacije","PEERS_ACTIVE":"Aktivno:","PEERS_CONNECTED":"Spojeno:","PEERS_WAITING":"Na čekanju:","TRANSCODING_WARNING":"Upozorenje: pretvaranje videa.","STREAM_LOADING":"učitavanje...","PLAYING_LOCAL":"pokretanje iz lokalne datoteke","PLAYING_CACHE":"pokretanje iz privremenog skladišta","WRONG_SUBS":"Pogrešan prijevod?","ERR_SUBS_LOADING_TITLE":"Greška pri učitavanju podnapisa","ERR_SUBS_LOADING":"Greška pri učitavanju podnapisa: može biti do dodatka kojeg koristite, ili do internet povezanosti","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Sljedeći dodaci za podnapise ne rade","ERR_CASTING_UPDATE_TITLE":"Nemoguće ažurirati info o djeljenje ekrana: server možda nije spojen","CHOOSE_DEVICE":"Izaberi uređaj za gledanje","NO_CAST_DEVICES":"Nema dostupnih uređaja za odašiljanje.","NO_SETTINGS":"Nema dostupnih postavki.","PHONE_TABLET":"Mobitel / Tablet","SUBTITLES":"Podnapisi","SUBTITLES_CHANGE":"Promjeni podnapis za ","SUBTITLES_CHANGE_NONE":"Nažalost, nema drugih podnapisa za odabrani jezik","SUBTITLES_CHANGE_ACIVE":"Trenutno titl &#35;{{subtitlesDialog.activeIdx + 1}} je aktivan. Klikni \\"Nastavi\\" da aktiviraš podnapis &#35;{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Alterantivno,","SUBTITLES_ADJUST_DELAY":"Podešavanje kašnjenja podnapisa:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Ili koristi <span>G</span> / <span>H</span> gumb dok gledate da postavite podnapise.","SUBTITLES_ADJUST_DELAY_TIP":"Savjet: možete koristiti tipke <span>G</span> / <span>H</span> tijekom gledanja kako biste podesili kašnjenje podnapisa.","SUBTITLES_DELAY":"Kašnjenje podnapisa:","SUBTITLES_LOADING":"Učitavanje podnapisa...","SUBTITLES_UNAVAILABLE":"Nema dostupnih vanjskih podnapisa","SUBTITLES_DISABLED":"Isključeno","EXTERNAL_PLAYER_DISABLED":"Disabled","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Allow Choosing","EXTERNAL_PLAYER_HINT":"Hint: There is a setting to allow always opening with external player","DONT_SHOW_AGAIN":"Don\'t show again","SERVICE_INSTALL":"Install","AUDIO":"Audio","DEFAULT_LANGUAGE":"Default Language","DEFAULT_SECONDARY_LANGUAGE":"Default Secondary Language","SEASON":"Sezona","EPISODE":"Epizoda","EPISODE_ABBREVIATION":"EP","SPECIAL":"Special","SORT":"poredaj","SORT_BY":"Poredaj po","FILTER":"filtriraj","SORT_TRENDING":"popularno","SORT_RECENT":"nedavno","SORT_ALPHABET":"A-Ž","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"ocjena","SORT_WATCHED":"gledano","SORT_YEAR":"godina","SELECT_TYPE":"Select type","SELECT_SORT":"Select sort","SELECT_CATALOG":"Select catalog","SELECT_GENRE":"Select genre","SORT_LASTWATCHED":"By last watched","SORT_NAME":"By name","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"By times watched","SORT_NOTWATCHED":"not watched","New for You":"Novo za vas","New Episodes":"Nove epizode","New Videos":"Novi Videi","Recommendations":"Preporuke","LIBRARY_RESUME":"nastavi","LIBRARY_PLAY":"Play","LIBRARY_DETAILS":"Pojedinosti","LIBRARY_RESUME_DISMISS":"odbaci","LIBRARY_CLEAR_PROGRESS":"Clear Progress","LIBRARY_REMOVE":"Remove","LIBRARY_NOT_LOGGED_IN":"Library is only available for logged in users","CALENDAR_NOT_LOGGED_IN":"Calendar is only available for logged in users","NOT_LOGGED_IN_CLOUD":"Access your favorite movies and TV shows anytime, anywhere","NOT_LOGGED_IN_RECOMMENDATIONS":"Recommendations tailored to your viewing history","NOT_LOGGED_IN_NOTIFICATIONS":"Never miss an episode again","NOT_LOGGED_IN_CALENDAR":"Schedule your personal watching calendar","DISCOVER_FEATURED":"Istaktnut","DISCOVER_TOP":"Najbolji","DISCOVER_OSCAR":"Dobitnici Oskara","DISCOVER_WARNING_TITLE":"Ups!","DISCOVER_EMPTY_CATALOG":"Dodatak je vratio prazan sadržaj.","DISCOVER_ADULT_WARNING":"Ovaj sadržaj dostupan je samo odraslima. Imaš li 18+ godina?","DISCOVER_NOADDON_WARNING":"Upozorenje: nema aktivinog Stremio dodatka za ovaj tip. Prikazujemo spremljene stvari, ništa se neće promijeniti.","DISCOVER_LOAD_ERR":"Sadržaj nije pokrenut, greška.","DISCOVER_ADDON_UNINSTALLED":"Sadržaj više nije dostupan. Moguće da ste izbriali dodatak.","UNINSTALL_THIS_ADDON":"Ukloni dodatak","ERR_ADDON_NOT_INSTALLED":"Ovaj dodatak nije instaliran. Instalirati sada?","DETAIL_RECEIVE_NOTIF_SERIES":"Primaj obavijesti o novim epizodama","DETAIL_RECEIVE_NOTIF_VIDEOS":"Primaj obavijesti o novim videima","SIDEBAR_SHOW_STREAMS":"Prikaži prijenose","RELAUNCH":"Ponovo pokreni sada!","UPGRADE":"Nova verzija je dostupna! Nadogradi se na najnoviju inačicu Stremija","RELOAD_UI":"Ponovno učitaj korisničko sučelje","MANUAL_UPDATE_TITLE":"Update your Stremio version","MANUAL_UPDATE_LINE1":"Koristite zastarjelu verziju Stremija što nije preporučljivo.","MANUAL_UPDATE_LINE2":"Molimo, ažurirajte čim prije.","BUTTON_UPDATE_LATTER":"Ne sada","BUTTON_UPDATE_NOW":"Ažuriraj","ANONYMOUS_USER":"Anonimni korisnik","DONT_HAVE_ACC":"Nemate račun?","HAVE_ACC":"Već imate račun?","PASSWORD":"Lozinka","PASSWORD_CONFIRM":"Potvrdite lozinku","EMAIL":"E-mail","FB_LOGIN":"Prijavi se preko Facebook-a","FB_NOTHINGSHARED":"Ništa se ne dijeli bez vaše dozvole","FB_NOPOST":"Nećemo objavljivati ništa u vaše ime","OR":"ili","I_ACCEPT":"Prihvaćam","I_ACCEPT_BY_CLICKING":"Klikom na gornji gumb prihvaćam uvjete","TOS":"Uvjete i Odredbe","MUST_ACCEPT_TERMS":"Morate prihvatiti uvjete","PASSWORDS_NOMATCH":"Lozinke se ne podudaraju","SIGN_UP":"Registracija","SIGN_UP_EMAIL":"Prijavite se putem e-pošte","CLICK_TO_SIGN_UP":"Ovdje pritisnite za registraciju.","LOG_IN":"Prijavi se","LOG_OUT":"Odjavi se","EXIT_FULLSCREEN":"Izađi iz punog prikaza","ENTER_FULLSCREEN":"Uđi u puni prikaz","PLAY_URL_MAGNET_LINK":"Pokreni URL/Magnet poveznicu","HELP_FEEDBACK":"Podrška i povratna informacija","TERMS_OF_SERVICE":"Uvjeti korištenja usluge","PRIVACY_POLICY":"Privacy Policy","ABOUT_STREMIO":"O Stremiju","USER_PANEL":"Korisniča traka","LOGIN_LABEL":"Login","GUEST_LOGIN":"Prijavi se kao gost","GUEST_LOGIN_NOTICE":"Gostujuća prijava nije preporučljiva. Koristeći redovnu prijavu, Stremio omogućava sinkronizaciju svoje videoteke, primanje obavještenja o omiljenim serijama / kanalima. Jeste li sigurni da želite nastaviti?","GUEST_LOGIN_NOTICE_2":"Gostujuća prijava nije preporučljiva - nećete imati sinkronizaciju obavijesti Videoteke i Ploče, koje su od važnosti za Stremio. Jeste li sigurni da želite nastaviti?","CLICK_HERE":"klikni ovdje","WRONG_PASSWORD":"Pogrešna lozinka. U slučaju da ste zaboravili lozinku, ","SET_A_PASS":"postavite lozinku","RESET_PASSWORD":"Ponovno postavi lozinku","FORGOT_PASSWORD":"Zaboravili ste lozinku?","EMAIL_USED_WITH_FB":"Ovaj email je korišten sa Facebook prijavom.","INVALID_EMAIL":"Unesite ispravnu e-mail adresu","INVALID_PASSWORD":"Molimo Vas da unesete ispravnu lozinku","CONN_ERR":"Greška pri povezivanju - molimo Vas pokušate kasnije.\\n\\nAko se ovo nastavi, onemogućite vatrozid/antivirus (posebice Bitdefender).","IMPORT_FROM_GUEST":"Uvezi videoteku iz gostujućeg računa","RECEIVE_UPDATES_EMAIL":"Primajte novosti od kompanije Stremio na vaš e-mail","LOGIN_FAILED":"Neuspjela Prijava.","SIGNUP_FAILED":"Prijava nije uspjela.","SEARCH_FAILED":"Pretraga nije uspjela","EMAIL_USED":"Ovaj email već je u upotrebi.","WAITING_FB_LOGIN":"Prijavljivanje preko Facebook-a...","EXTERNAL_PLAYER_TITLE":"Pokreni u vanjskom pregledniku","EXTERNAL_REMEMBER_PLAYER":"Zapamti moj izbor","EXTERNAL_ALWAYS_PLAY":"Da","EXTERNAL_ONLY_ONCE":"Ne","BEST_FIT":"Najprikladniji prikaz","FIT_SCREEN":"Uklopi u prikaz","FILL":"Ispuni prikaz","16:9":"16:9","4:3":"4:3","Original":"Izvorni prikaz","INTRO_TASTE":"Recite nam što volite","INTRO_TASTE_LONG":"Recite nam što biste željeli gledati","INTRO_TASTE_PICK":"Izaberite {{interestsRemaining}} zanimljivo","INTRO_TASTE_PICK_MORE":"Izaberite još {{interestsRemaining}} zanimljivog","INTRO_TASTE_HELP_US":"Pomozite nam da naučimo o vama.","INTRO_TASTE_CHOOSE_THESE":"Izaberite neke od ovih:","INTRO_TASTE_CHOOSE_MIN":"Izaberite bar tri kategorije","INTRO_TASTE_CHOOSE_MIN_ERR":"Morate izabrati bar tri kategorije!","INTRO_TASTE_LIFESTYLE":"Životni stil","INTRO_TASTE_SPORTS":"Sportovi","INTRO_TASTE_FOOD_HEALTH":"Hrana i zdravlje","INTRO_TASTE_BEAUTY_FASHION":"Ljepota i moda","INTRO_TASTE_NEWS":"Vijesti","INTRO_TASTE_GAMING":"Igrice","INTRO_TASTE_SCIENCE_EDU":"Znanost i obrazovanje","INTRO_TASTE_MUSIC":"Glazba","INTRO_TASTE_TRAVEL":"Putovanje","INTRO_TASTE_LATE_NIGHT":"Noćni talk-show","INTRO_TASTE_REALITY":"Reality","INTRO_TASTE_COMEDY":"Komedija","INTRO_TASTE_DIY":"Uradi sam","INTRO_TASTE_TECH":"Tehnika","INTRO_TASTE_CINEMA":"Kinematografija","ADDON_NOT_SUPPORTED":"Izabrani dodatak nije podržan na ovoj platformi.","ADDON_DISCLAIMER":"Korištenje trećih dodataka uvijek će biti predmet osobne odgovornosti i zakonom zemlje u kojoj se nalazite.","ADDON_ACTIVATE":"Aktivirati ovaj dodatak?","ADDON_REPO_ADD":"Addon repository url","ADDON_ADD":"Dodaj","INSTALL_ADDON":"Install addon","ADD_ADDON":"Add addon","ADD_ADDON_DESCRIPTION":"Možete dodati dodatak putem vanjske veze, koji će se pojaviti pod Instaliranim dodacima.","PASTE_ADDON_URL":"Paste addon URL","WHATS_NEW":"Što je novo","BUTTON_CONTINUE":"Nastavi","BUTTON_ACTIVATE":"Aktiviraj","BUTTON_ACTIVATED":"Aktivirano","BUTTON_CANCEL":"Prekini","BUTTON_SUBMIT":"Submit","BUTTON_DISMISS_ALL":"Poništni sve","BUTTON_VIEW_ALL":"view all","BUTTON_SEE_ALL":"See All","BUTTON_COLOR_TRANSPARENT":"Transparent","OPEN_IN_BROWSER":"Open in browser","LIB_EMPTY":"Vaša Videoteka izgleda prazno. Saznajte koliko je zapravo korisna :) ","HOW_START":"Ovako možete početi:","LIB_EMPTY_CAL":"Tvoj Kalendar prikazuje serije iz tvoje Videoteke.","HOW_START_CAL":"Ovako možeš dodati serije:","LIB_EMPTY_BOARD":"Tabla prikazuje notifikacije &amp; preporuke slične tvojoj biblioteci.","HOW_START_BOARD_WAIT":"Molimo, dodajte par serija ili kanala u vašu videoteku i dozvolite nam par minuta da procesuiramo :)","HOW_START_BOARD":"Evo kako možete da dodate serije &amp; flmove na nju:","IMPORT_FB":"Uvoz stvari koje vam se sviđaju na <span>Facebook</span>","IMPORT_TRAKT":"Uvezi videoteku sa: <span>Trakt</span>","IMPORT_DISCOVER":"Nađi zanimljive stvari u <span>Otkrij</span>","IMPORT_DISK":"Uvoz filmova ili serija koje imate na vašem <span>lokalnom disku</span>","PLEASE_CREATE_ACC":"Molimo Vas <u>napravite račun</u> da omogućite sinkronizaciju Videoteke &amp; Table.","IMPORT_DISCOVER_SIGNUP":"Registrirajte se i otkrijte zanimljive stvari u <span>Otkrij</span>","IMPORT_DISK_SIGNUP":"Registrirajjte se i uvezite filmove i serije sa vašeg <span>lokalnog diska</span>","LIB_EMPTY_CLOUD":"Videoteka na oblaku","LIB_EMPTY_CLOUD_DESC":"Osobna videoteka ažuirana na svim uređajima","LIB_EMPTY_EARLY":"Early bird","LIB_EMPTY_EARLY_DESC":"Primaj obavijesti o novim epizodama","LIB_EMPTY_PERSONAL":"Osobno","LIB_EMPTY_PERSONAL_DESC":"Primaj personalizirane preporuke","LIB_EMPTY_CALENDAR_DESC":"Pripremi raspored za gledanje tvoje videoteke","LIB_EMPTY_ALL":"Prijavi se na neke od ovih:","LIB_EMPTY_BEST":"Prijavi se da dobiješ najbolje od Stremio-a","LIB_EMPTY_OTHER":"Prijavi se da dobiješ Kalendar & druge cool dodatke","CALENDAR_ADDED":"Stremio kalendar je dodan tvome kalendaru.","CALENDAR_ADDED_MSG":"If this does not work, please add this URL to your calendar application manually","TRAKT_EXPIRED":"Trakt autientifikacija nije valjana, molim vas u Postavkama autentificirajte","TRAKT_REQUIRES_LOGIN":"Trakt greška","TRAKT_REQUIRES_LOGIN_MSG":"Morate biti ulogirani","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","SETTINGS_LABEL":"Postavke","SETTINGS_NAV_GENERAL":"Općenito","SETTINGS_NAV_PLAYER":"Reproduktor","SETTINGS_NAV_STREAMING":"Prijenos","SETTINGS_NAV_SHORTCUTS":"Shortcuts","SETTINGS_SHORTCUT_RELOAD_APP":"Reload App","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Open Settings","SETTINGS_SHORTCUT_SWITCH_TABS":"Switch Tabs","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Cycle Through Tabs Forward","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Cycle Through Tabs Backward","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigate Between Menus","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Go to Search","SETTINGS_SHORTCUT_EXIT_BACK":"Exit / Go Back","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Toggle Playback Speed Menu","SETTINGS_SHORTCUT_MENU_VIDEOS":"Toggle Videos Menu","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Toggle Subtitles Menu","SETTINGS_SHORTCUT_MENU_INFO":"Toggle Info Menu","SETTINGS_SHORTCUT_FULLSCREEN":"Toggle Fullscreen","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Pokazi Kontrole","SETTINGS_SHORTCUT_PLAY_PAUSE":"Play / Pause","SETTINGS_SHORTCUT_VOLUME_UP":"pojacaj zvuk","SETTINGS_SHORTCUT_VOLUME_DOWN":"stisaj zvuk","SETTINGS_SHORTCUT_SEEK_NEXT":"Seek Next","SETTINGS_SHORTCUT_SEEK_PREV":"Seek Prev","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Povratak unatrag","SETTINGS_SHORTCUT_SEEK_FORWARD":"Seek Forward","SETTINGS_SHORTCUT_PLAY_NEXT":"Gledaj iducu epizodu","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"povecaj titlove","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Smanji velicinu titlova","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"povecaj delay titlova","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"smanji Delay titlova","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Toggle Sidebar","SETTINGS_SHORTCUT_OR":"or","SETTINGS_SHORTCUT_TO":"to","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Authenticate","SETTINGS_FACEBOOK_IMPORT":"Import","SETTINGS_CALENDAR_SUBSCRIBE":"Subscribe","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Interface Language","SETTINGS_LAUNCH_STARTUP":"Pokreni prilikom paljenja","SETTINGS_VLC_DEFAULT":"Pokreni preko VLC-a","SETTINGS_UI_LANGUAGE":"Jezik sučelja","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Izlazak iz punog prikaza tipkom Esc","SETTINGS_GAMEPAD":"Omogući korištenje kontrolera","SETTINGS_CLOSE_WINDOW":"Zatvori program prilikom zatvaranja prozora","SETTINGS_SUBTITLES_LANGUAGE":"Zadani jezik podnapisa","SETTINGS_SUBTITLES_SIZE":"Zadana veličina podnapisa","SETTINGS_SUBTITLES_BACKGROUND":"Pozadina podnapisa","SETTINGS_SUBTITLES_COLOR":"Boja podnapisa","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Boja obruba podnapisa","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Boja pozadine podnapisa","SETTINGS_SEEK_KEY":"Premotavanje sadržaja strelicama","SETTINGS_SEEK_KEY_SHIFT":"Premotavanja sadržaja streliacam dok je tipka Shift pritisnuta","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Rewind & Fast-forward duration","SETTINGS_BINGE":"Automatski pokreni sljedeću epizodu","SETTINGS_NEXT_VIDEO":"Prikazati obavijest za početak sljedeće epizode","SETTINGS_NEXT_VIDEO_TRIGGER":"Show next episode notification for:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Next video popup duration","SETTINGS_PLAY_IN_BACKGROUND":"gledaj u pozadini","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"gledaj u drugom playeru","SETTINGS_RESIZE":"Automatski promjeni veličinu prozora prije puštanja","SETTINGS_OVERRIDE_SERVER":"Override the streaming server URL (advanced)","SETTINGS_SERVER_URL":"Streaming server URL: ","SETTINGS_SERVER_AVAILABLE":"Streaming server je dostupan.","SETTINGS_SERVER_UNAVAILABLE":"Streaming server nije dostupan.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"pogreska","SETTINGS_SERVER_CONFIGURE_TITLE":"Configure streaming server url","SETTINGS_SERVER_CONFIGURE_INPUT":"Unesi streaming server url","SETTINGS_SERVER_CACHE_SIZE":"Cache size","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent profil","SETTINGS_HTTPS_ENDPOINT":"Streaming HTTPS endpoint: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Uvek koristi najnoviju BETA","SETTINGS_IMPORT_FB":"Uvezi sa Facebooka","SETTINGS_IMPORT_DISK":"Uvezi sa lokalnog diska","SETTINGS_IMPORT_TRAKT":"Uvezi sa Trakt-a","SETTINGS_PAUSE_MINIMIZED":"Pauziraj video kada je prozor minimized","SETTINGS_HWDEC":"Hardware-accelerated decoding","SETTINGS_BACKGROUND":"Pozadinsko pokretanje","SETTINGS_SUBSCRIBE_CALENDAR":"Pretplati se na Kalendar","SETTINGS_REQ_EXPORT":"Zatraži izvoz podataka","SETTINGS_ACC_DELETE":"Zatraži brisanje naloga","SETTINGS_CHANGE_PASSWORD":"Promjeni lozinku","SETTINGS_TOS":"Uslovi korištenja","SETTINGS_SUPPORT":"Kontaktiraj podršku","SETTING_LANGUAGE":"Jezik","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_LOGOUT":"Odjavi se sa Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Odjavi se sa Trakt","SETTINGS_SCAN_FOR_REMOTE":"Scan QR code to open remote","SETTINGS_DESKTOP_NOTIFICATIONS":"Desktop notifications","SETTINGS_DATA_SAVER":"Data saver","SETTINGS_LANGUAGE_INTERFACE":"interface","SETTINGS_LANGUAGE_SUBS":"podrazumevani titlovi","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Autoselect Audio Track","SETTINGS_DEFAULT_AUDIO_TRACK":"Default Audio Track","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"account","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"version","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"Pokreni u zasebnom prozoru (napredno)","SETTINGS_PLAY_IN_EXTERNAL":"Always start video in external player","SETTINGS_STORAGE_BUTTON":"Clear Local Storage","SETTINGS_STORAGE_MODAL_TITLE":"Dali si siguran ?","SETTINGS_STORAGE_MODAL_MESSAGE":"Ovo će izbrisati lokalno pohranjene podatke i odjaviti vas.","SETTINGS_HWDEC_PICKER":"Pick hardware-accelerated decoding setting","SETTINGS_HW_AUTOMATIC":"Automatski","SETTINGS_HW_DISABLED":"Iskljuceno","SETTINGS_HW_ACCELERATED":"Decoding acceleration","SETTINGS_HW_FULL":"Full acceleration","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Subtitles","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Controls","SETTINGS_SECTION_AUTO_PLAY":"Auto-Play","SETTINGS_SECTION_ADVANCED":"Advanced","SUBSPICKER_AUDIO":"Zvuk","SUBSPICKER_SUBTITLES":"Addons Subtitles","SUBSPICKER_BLACK_BACKGROUND":"Koristi crnu boju kao pozadinu","SUBSPICKER_VERTICAL_OFFSET":"Vertical Offset","SUBSPICKER_SIZE":"Velicina","SUBSPICKER_DELAY":"Delay","SUBSPICKER_EMBEDDED_SUBS":"Embedded Subtitles","MOBILE_PRIVACY_POLICY":"Privacy Policy","MOBILE_CRASH_REPORTING":"Crash Reporting","MOBILE_ZOOM_TO_FILL":"Zoom To Fill Screen","MOBILE_PASSTHROUGH":"Digital audio output (passthrough)","MOBILE_RUN_LOW_BATTERY":"Run on low battery","MOBILE_RUN_FOREGROUND":"Run as Foreground Service","MOBILE_PERFORMANCE":"PERFORMANCE & STABILITY","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"QR Code expires in ","MOBILE_LOG_INTO":"Log in to your Stremio account ","MOBILE_SCAN_QR":"Scan QR code above or go to ","MOBILE_LINK_ACCOUNT":"Link Account","MOBILE_SPEEDPICKER_CANCEL":"Otkazi","MOBILE_SPEEDPICKER_LABEL":"Select Playback Speed","MOBILE_EMPTY_LIBRARY":"Your library is empty","MOBILE_NO_ADDON_ACTIVE":"No Stremio addon active for this type.","MOBILE_ORGANIZER_WARNING":"The Stremio Organizer app provides limited functionality. For a list of playable streams and the full Stremio experience, use Stremio on desktop.","MOBILE_ADDON_LOADING":"ucitavanje","MOBILE_ADDONS_LOADING":"addons are still loading","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Configure your addon","MOBILE_CONFIGURE_ADDON_LABEL":"Configure Addon","MOBILE_ORGANIZER_ADDONS_WARNING":"The Stremio Organizer app provides a limited selection of addons. For the full Stremio experience, use Stremio on desktop.","MOBILE_DISCONNECT":"Disconnect","MOBILE_LOOKING_FOR_DEVICES":"Looking for devices...","MOBILE_CAST_TO":"Cast to","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Delete Account","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Account deletion is not instant due to legal obligations. After requesting deletion of your account you will have to use different email address/facebook profile to create a new Stremio account in the future.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirm Account Deletion","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Your account has been created using Facebook. To delete your account, please use our user portal at www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Please provide your password to confirm account deletion.","MOBILE_DELETE_ACCOUNT_BUTTON":"Izbrisi Racun","NAVIGATION_ON":"On","NAVIGATION_OFF":"Off","MARKETING_AGREE":"I agree to receive marketing communications from Stremio","QUIT":"Izađi","CONNECTED":"Povezan","AUTHENTICATE":"Prijavi se","CACHING":"Keširanje","SETTINGS_CACHING_DRIVE":"Izaberi disk za keširanje","ENABLE_LOCAL_FILES_ADDON":"Enable the local files addon (requires restart)","LOCAL_ADDON_NOT_ENABLED":"Local addon is not enabled. Click here to go to the settings and enable it","ENABLE_REMOTE_HTTPS_CONN":"Enable remote HTTPS connections","TORRENT_PROFILE":"Torrent Profile","DATA_CACHING":"Data Caching","MAGNET_PARSING":"Parsing a magnet link","January":"Siječanj","February":"Veljača","March":"Ožujak","April":"Travanj","May":"Svibanj","June":"Lipanj","July":"Srpanj","August":"Kolovoz","September":"Rujan","October":"Listopad","November":"Studeni","December":"Prosinac","Monday":"Ponedeljak","Tuesday":"Utorak","Wednesday":"Srijeda","Thursday":"Četvrtak","Friday":"Petak","Saturday":"Subota","Sunday":"Nedjelja","Action":"Akcija","Comedy":"Komedija","War":"Ratni","Family":"Obiteljski","Animation":"Animacija","Adventure":"Avanturistički","Fantasy":"Fantazija","Crime":"Kriminalistički","Mystery":"Misterija","Romance":"Ljubavni","Drama":"Drama","Horror":"Horor","Thriller":"Triler","Sci-Fi":"Znanstvena Fantastika","Music":"Glazba","Biography":"Biografija","Documentary":"Dokumentarni","Sport":"Sport","Musical":"Mujuzikl","Western":"Western","Film-Noir":"Film-Noir","News":"Novosti","History":"Povijesni","Game-Show":"Game-Show","Reality-TV":"Reality-TV","Talk-Show":"Talk-Show","Film & Entertainment":"Film & Zabava","Gaming":"Gaming","From TV":"Iz TV-a","Lifestyle":"Lifestyle","Science & Education":"Znanost & Edukacija","Cooking & Health":"Kuhanje & Zdravlje","Beauty & Fashion":"Ljepota & Moda","Sports":"Sport","News & Politics":"Vijesti & Politika","How-to & DIY":"DIY","Tech":"Tech","Automotive":"Automotive","Causes & Non-Profits":"Dobra dijela & Neprofitno","Movies":"Filmovi","Uk Live Tv":"UK Uživo Tv","Fashion":"Moda","Business News Radio":"Poslovni radio","Business Tv":"Poslovni tv","Cars & Auto":"Auto","Comedy Radio":"Komedija","Lifestyle Radio":"Lifestyle","News Tv":"Vijesti Tv","Food And Wine":"Hrana i vino","Latino Tv":"Latino Tv","Shopping Tv":"Shopping Tv","Religion":"Religija","Kids":"Djeca","Body & Soul":"Tijelo i duša","Education":"Edukacija","Indian Tv":"Indian Tv","Extreme Sports":"Extremni sportovi","Middle Eastern Tv":"Middle Eastern Tv","Celebrity Tv":"Celebrity Tv","Science Tv":"Znanstvena Tv","Bikini babe":"Bikini babe","Outdoors":"Outdoors","German Tv":"German Tv","French Tv":"French Tv","Italian Tv":"Italian Tv","Gamer Tv":"Gamer Tv","Travel":"Putovanja","Asian Tv":"Asian Tv","Entertainment":"Zabava","News Radio":"Vijesti Radio","Music Radio":"Glazbeni Radio","Language Learning":"Učenje jezika","Science Radio":"Znanstveni Radio","Tech Radio":"Tech Radio","Science & Technology Vod":"Science & Technology Vod","new video":"novi video","new episode":"nova epizoda","new movie":"novi film","recommended":"preporučeno","we recommend":"preporučujemo","offer of the day":"ponuda dana","news":"vijesti","music video":"spot","CTX_SHOW_HOTKEYS":"Show hotkeys","CTX_DISMISS_NOTIF":"Odbaci obavijesti","CTX_DISMISS_ALL":"Odustani","CTX_SHARE":"Podijeli","CTX_COPY_SHARE_LINK":"Kopiraj link za dijeljenje","CTX_COPY_MAGNET_LINK":"Copy magnet link","CTX_COPY_STREAM_LINK":"Copy stream link","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Download this video","CTX_DOWNLOAD_SUBS":"Download subtitles","CTX_VIEW_ON_YOUTUBE":"View on YouTube","CTX_SHOW":"Prikaži","CTX_PLAY":"Pokreni","CTX_PLAY_IN":"Pokreni u","CTX_PLAY_ON":"Pokreni na","CTX_WATCH_ON":"Gledaj na","CTX_WATCH":"Gledaj","CTX_WATCHED":"Pogledano","CTX_WATCH_BEGINNING":"Gledaj od početka","CTX_WATCH_MOBILE":"Gledaj na mobilnom uređaju","CTX_REWIND":"Premotaj na početak","CTX_MARK_WATCHED":"Označi kao pogledano","CTX_MARK_NON_WATCHED":"Označi kao nepogledano","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"Označi ostalo kao pogledano","CTX_UNMARK_REST":"Označi ostalo kao nepogledano","CTX_RECEIVE_NEW_NOTIF":"Primaj nove obavijesti","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"Obriši iz keša","CTX_REMOVE_CACHE_EP":"Ukloni epizodu iz keša","CTX_OPEN_CONTAINING":"Otvori mapu sadržaja","CTX_REMOVE":"Ukloni iz Videoteke","CTX_AVAILABLE_OFFLINE":"Dostupno izvanmrežno","CTX_PAUSED":"Pauzirano","CTX_ALWAYS_ON_TOP":"Uvijek na vrhu","CTX_FULLSCREEN":"Cijeli zaslon","CTX_WRONG_SUBS":"Pogrešan prijevod?","CTX_REPORT_ISSUES":"Prijavi problem","CTX_COPY":"Kopiraj","CTX_PASTE":"Naljepi","CTX_CLEAR":"Očisti","CTX_CLEAR_RECENT_SEARCHES":"Obriši skorašnje pretrage","HELLO_THERE":"Hej zdravo","HOPE_YOU_ENJOY":"Nadamo se da uživate uz Stremio i da je već jedna od vaših omiljenih aplikacija !","WHO_ARE_WE":"Tko smo mi? Mi smo tim iza njega - dva momka koja rade teško svaki dan već skoro 3 godine da bih napravili ovaj proizvod sve boljim i boljim.","SUPPORT_US":"Ako uživate koristeći Stremio, ako je Stremio vrijedan za vas - širite riječ !","SPREAD_THE_WORD":"Podijelite sa svojim prijateljima sada, širite riječi u vezi Stremio","MORE_PEOPLE":"Što više ljudi koristi Stremio, to će biti bolji !","SEND_A_LINK":"Ili pošaljite link ka našoj stranici","TIP_LOCALFILES":"Savjet: možeš prevući i ubaciti lokalne video datoteke u Stremio","ADDON_MY":"Moji Dodaci","ADDON_COMMUNITY":"Dodaci zajednice","ADDON_OFFICIAL":"Službeni dodaci","ADDON_REPOS":"Dodaci repozitoriji","ADDON_SEARCH":"Pretraži dodatke","ADDON_INSTALL":"Instaliraj","ADDON_CONFIGURE":"Promijeni","ADDON_UNINSTALL":"Deinstaliraj","ADDON_UPGRADE":"Nadogradi","ADDON_INSTALLED":"Instalirano","ADDON_INSTALLED_MSG":"Dodatak instaliran!","ADDON_UPGRADED_MSG":"Dodatak ažuriran!","ADDON_UNKNOWN":"Nepoznato","ADDON_ERR":"Greška pri instaliranju dodatka!","ADDON_DISCONNECTED":"Veza prekinuta","ADDON_APP_MISSING":"aplikacija za ovaj izvor nije instalirana. Želiš li sada instalirati?","ADDON_APP_INSTALL":"Instaliraj sada","ADDON_PAGE":"Stranica dodataka","ADDON_TOP_CONTENT":"Najbolje do ovog dodatka","ADDON_PROVIDES":"Ovaj dodatak će vam dati:","ADDON_WATCH":"Pogledaj #{types} sada!","ADDON_WATCH_FREE":"Pogledaj #{types} BESPLATNO sada !","ADDON_ADDON":"Dodatak","ADDON_SUPPORTED_TYPES":"Supported types","ADDON_SUPPORTED_CATALOGS":"Supported catalogs","ADDON_PROVIDES_DISCOVER":"Više #{types} u Otkrivanju","ADDON_PROVIDES_STREAMS":"Gledaj #{types}","ADDON_PROVIDES_STREAMS_FREE":"Gledaj #{types} BESPLATNO","ADDON_PROVIDES_SUBTITLES":"Prijevodi za #{types}","ADDON_CANTDETECT":"Nismo uspjeli pronaći i pokrenuti Stremio, tako da nismo uspjeli otkriti koje dodatke imate instaliarne.","ERR_NO_META":"Nisu pronađene informacije o ovome ","ERR_GETTING_META":"Greška pri preuzimanju podataka.","ERR_CANT_PARSE_MAGNET":"Nemoguće spojiti magnet","ERR_NO_MAGNET_INFOHASH":"Bez valjanog hash-a za magnet","ERR_NO_FILE_PATH":"Nije moguće poslati zahtjev bez lokacije datoteke","ERR_NO_TORRENT":"Nema torrent-a","ERR_NO_SUPPORTERD_FILES":"Nisu nađene podržane datoteke","ERR_OPENING_FILES":"Nije moguće otvoriti vanjske datoteke","ERR_INVALID_LINK":"Link nije valjan","ERR_REGISTERED_ONLY":"Ova mogućnost je dostupna samo registriranim korisnicima.","ERR_CLIPBOARD":"Can not play from clipboard","ERR_CLIPBOARD_READ":"Can not read the clipboard on this platform","ERR_CLIPBOARD_GENERIC":"No playable URL found in the clipboard. Please copy a URL (e.g. a magnet link) to a video.","BOARD_CONTINUE_WATCHING":"Nastavi gledanje","BOARD_EXPLANATION_RECOMMENDATIONS":"Filmovi izabrani isključivo za vas.<br />This movie is a sample recommendation.","BOARD_EXPLANATION_EPISODES":"New episodes of your favorite Series come here.<br />Add series you follow to your Library.","BOARD_EXPLANATION_VIDEOS":"New episodes of your favorite Channels come here.<br />Add YouTube channels you follow to your Library.","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE":"Contribute","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"Learn more","WEBSITE_COMPANY":"Company","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Need Help?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"Gledaj Odmah","WEBSITE_SLOGAN_ALL":"All the Video Content You Enjoy in One Place","WEBSITE_SLOGAN_NEW":"All You can Watch","WEBSITE_SLOGAN_NEW_NEW":"Freedom to Stream","WEBSITE_WATCH_FROM":"Watch from","WEBSITE_DOWNLOAD":"Skini sada","WEBSITE_DOWNLOAD_FOR":"Skini sada za","WEBSITE_IS_DESKTOP":"Stremio je desktop aplikacija, otvori ovu stranicu na svom PC i skini ga","WEBSITE_DESKTOP_DEMO_VID":"Desktop demo","WEBSITE_PAGE_HOME":"Glavna","WEBSITE_PAGE_FEATURES":"Karakteristike","WEBSITE_PAGE_ADDONS":"Dodaci","WEBSITE_PAGE_TECH":"Tehnologija","WEBSITE_PAGE_CREATE_ADDON":"Kreiraj dodatak","WEBSITE_PAGE_CONTACTS":"Kontakti","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Filmovi","WEBSITE_TYPE_series_PL":"Serije","WEBSITE_TYPE_tv":"Uživo TV","WEBSITE_TYPE_channel":"Kanali","WEBSITE_STREMIO_WHAT_IS":"Stremio je aplikacija koja vam pomaže da organizujete i odmah gledate vaše omiljene video, filmove, TV serije i TV kanale.","WEBSITE_FEATURES_WATCH":"Gledaj odmah u HD","WEBSITE_FEATURES_WATCH_DETAIL":"Kliknite i pokrenite svoje omiljene filmove, TV Emisije, video i TV kanale.","WEBSITE_FEATURES_SUBS":"Automatski Prevodi","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio automatski odabire sinkronizirane prijevode za vaš jezik.","WEBSITE_FEATURES_SUBS_LABEL":"Stremio automatski odabire sinkronizirane prijevode za vaš jezik.","WEBSITE_FEATURES_CAST":"Pokreni na TV & mobilnim uređajima","WEBSITE_FEATURES_CAST_DETAIL":"Emitiranje na AppleTV, Chromecast, Smart TV (DLNA/UPnP) i mobilne uređaje.","WEBSITE_LIB":"Uživajte u Svojoj osobnoj Videoteci sinkoniziranoj na Sve Vaše Uređaje","WEBSITE_LIB_COLLECT":"Prikupite sa Stremio","WEBSITE_LIB_IMPORT":"Uvezite sa Facebook-a","WEBSITE_LIB_LOCAL":"Dodajte sa vašeg lokalnog diska","WEBSITE_BOARD":"Ploča - Vaše one-stop mjesto za obavještenja i preporuke","WEBSITE_BOARD_RECOMMEND":"Preporučena TV Emisija","WEBSITE_BOARD_TRENDING":"Traženi Film","WEBSITE_BOARD_NEW":"Novi Video","WEBSITE_BOARD_EPISODE":"Nova Epizoda","WEBSITE_BOARD_1":"Tražite nešto interesantno da gledate? Dobijajte preporuke na osnovu vašeg ukusa!","WEBSITE_BOARD_2":"Primite obavještenja kada nova epizoda vaš omiljene TV emisije ili YouTube kanala izadje!","WEBSITE_BOARD_YOUTUBE":"Novi Videi na Youtube kanalima","WEBSITE_BOARD_EPISODES":"Nove epizode serije koje pratite","WEBSITE_ADDONS":"Dodaci za sadržaj","WEBSITE_TECH_DETAIL":"Volimo tehnologiju, volimo znanost!\\nStremio koristi sljedeći softver otvorenog koda:","WEBSITE_TECH_WCJS":"WebChimera.js omogućava gledanje u bilo kojem formatu sa dobrim performansama","WEBSITE_TECH_WCJS_EXTRA":"Mi smo glavni suradnici ","WEBSITE_TECH_ELECTRON":"Electron pruža inovativu platformu za Stremio.","WEBSITE_TECH_ELECTRON_EXTRA":"Mi smo suradnici projekta","WEBSITE_TECH_LINVODB":"Baza podataka koja omogućava da su podaci organizirani i svugdje spremni.","WEBSITE_TECH_LINVODB_EXTRA":"Kućna tehnologija","WEBSITE_CREATE_ADDON":"Kreiraj svoj dodatak","WEBSITE_CREATE_ADDON_DETAIL":"Do you have a service providing video content? We\'ll help you benefit from Stremio\'s features by creating your Addon.","WEBSITE_CREATE_ADDON_BENEFITS":"Benefits of Creating an Addon for Stremio","WEBSITE_P2P_BEAUTY":"The Beauty of Peer-to-Peer Streaming","WEBSITE_P2P_1":"Reliable and affordable full HD / 4K video on demand or live streaming","WEBSITE_P2P_2":"Distribution platform providing great user experience","WEBSITE_P2P_3":"We will create an addon meeting your exact needs","WEBSITE_P2P_CONTACT":"Zainteresirani? Dobrodošli ste da nas <a href=\'mailto:office@stremio.com\'>kontaktirate</a>.","WEBSITE_P2P_CONTACT_EXTRA":"We will be happy to help you integrate your content with Stremio!","WEBSITE_P2P":"Once in a while, there comes a technology that changes the name of the game. We invested tons of time and effort in building our Peer-to-Peer (P2P) video streaming engine that provides great performance and versatility to adapt with any use case.\\nContact us for DRM-enabled P2P video on demand or live streaming.","WEBSITE_THOUGHTS":"Mišljenja koja dijelimo:","WEBSITE_SPREAD":"Nek se čuje za Stremio:","WEBSITE_CONTACT":"Ako nas mislite kontaktirati, slobodno","WEBSITE_OPENSOURCE":"Za naš otvoreni kod idi na","WEBSITE_BITCOIN":"Doniraj bitcoin:","WEBSITE_FAQ":"Često postavljena pitanja","WEBSITE_FAQ_SHORT":"ČPP","WEBSITE_QUESTIONS":"Questions","WEBSITE_TOS":"Uslovi korištenja","WEBSITE_LEGAL":"Zakoni","WEBSITE_PAGE_ABOUT":"O nama","WEBSITE_PAGE_BECOME_PARTNER":"Postani partner","WEBSITE_ALL_YOU_CAN_WATCH":"Sloboda gledanja\\nsvega što želiš.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"Što je Stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio is a one-stop hub for video content aggregation. Discover, organize and watch video from all kind of sources on any device that you own.","WEBSITE_WHAT_IS_STREMIO_P2":"Movies, TV shows, series, live television or web channels like YouTube and Twitch.tv - you can find all this on Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio is a modern media center that\'s a one-stop solution for your video entertainment. You discover, watch and organize video content from easy to install addons.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Movies, TV shows, live TV or web channels - find all this on Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Enjoy on all your Media devices","WEBSITE_DEVICES_COLLECT":"Collect from Stremio","WEBSITE_DEVICES_IMPORT_FB":"Import from facebook","WEBSITE_DEVICES_LOCAL":"Add from local drive","WEBSITE_JOIN_THE_PARTY_NOW":"Join the party now","WEBSITE_DEVICES_ALL":"Easy to use on all your devices;","WEBSITE_EXTENDABLE_CATALOG":"Infinitelly extendable video catalog;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Great features to organize your media;","WEBSITE_AS_SEEN_ON":"As seen on","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"About us","WEBSITE_LINK_TECHNOLOGY":"Technology","WEBSITE_LINK_APPS":"Apps","WEBSITE_LINK_DOWNLOADS":"Downloads","WEBSITE_MORE":"More","WEBSITE_LINK_ADDONS":"Addons","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Contribute","WEBSITE_LINK_COMMUNITY":"Community","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... & More","WEBSITE_LINK_HELP":"Help center","WEBSITE_LINK_CONTACTS":"Contacts us","WEBSITE_LINK_TOS":"Terms & conditions","WEBSITE_LINK_PRAVACY":"Privacy policy","WEBSITE_SUBSCRIBE":"Sibscribe","WEBSITE_NEWSLETTER":"Join Our Newsletter for amazing stuff","WEBSITE_PLACEHOLDER_EMAIL":"Your Email","WEBSITE_COMMUNITY":"Community","WEBSITE_LINK_PRAVACY_LEGAL":"Privacy & legal","WEBSITE_WHY":"Why we do it","WEBSITE_WHY_P1":"At Stremio, we come to work every day because we want to solve an important problem for the video-on-demand industry. There’s so much new content published every minute that it’s virtually impossible to find your way around it.","WEBSITE_WHY_P2":"We help people navigate that huge world of video entertainment and discover new content to enjoy. Our apps bring together movies, series, live TV, web channels, and more. We are dedicated to making it incredibly easy for users to find titles and broadcasters that they love.","WEBSITE_WHY_P3":"You can use our service on any device and at any time, making Stremio the only video entertainment hub you’ll ever need.","WEBSITE_TEAM":"TEAM","WEBSITE_TEAM_P":"The Stremio team is small but powerful: between the ten of us, we code in X languages, and share expertise in software development, UI and UX design, marketing and advertising, and business and startups.","WEBSITE_FEATURES":"Features","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Discover new content with ease","WEBSITE_FEATURES_DISCOVER_P":"Easily discover new movies, TV shows, series and channels to watch. Browse by category, genre, rating, recency, etc. or simply type a name to find. Stremio makes finding new video content a piece of cake.","WEBSITE_FEATURES_ALL_CONTENT":"All of your video content on one screen","WEBSITE_FEATURES_ALL_CONTENT_P1":"See what movies, series or videos you didn’t finish and continue watching them; get notified for new episodes and releases; and browse through the recommendations you will get based on your viewing habits.","WEBSITE_FEATURES_LIBRARY":"Organize your video library","WEBSITE_FEATURES_LIBRARY_P1":"Add any title to your Stremio library with a single click and find your way around your content, neatly arranged by type, recency, or alphabetical order.","WEBSITE_FEATURES_CALENDAR":"Keep track of everything you watch","WEBSITE_FEATURES_CALENDAR_P1":"Get a calendar visualization of all the movies and series you add to your library. Export your Stremio calendar and sync it so you always know when a new episode or a premier is due.","WEBSITE_FEATURES_BIG_SCREEN":"Enjoy your video content on a bigger screen","WEBSITE_FEATURES_BIG_SCREEN_P1":"Cast whatever you are watching to another device - be it a phone, tablet or a TV with a single click.","WEBSITE_FEATURES_SOURCES":"Watch video from many different sources","WEBSITE_FEATURES_SOURCES_P":"Install official and community addons to enjoy video sourced from many different providers - all in one sleek, easy to use app.","WEBSITE_CREATE_AN_ADDON":"Create an addon","WEBSITE_FEATURES_SYNC":"Sync your library across different devices and resume your playback","WEBSITE_FEATURES_SYNC_P1":"Login with your account across all your devices and enjoy your library, addons, playback and calendar synchronized.","WEBSITE_FEATURES_EXTENDABLE":"Extendable video catalog by addons","WEBSITE_FEATURES_EXTENDABLE_P1":"The Stremio addon catalog provides a number of addons to install and watch a variety of video content from. This includes movies, shows, live TV, sport, news, podcasts, web channels, video games and more.","WEBSITE_FEATURES_AUTO_SUBS":"Automatic subtitles","WEBSITE_FEATURES_AUTO_SUBS_P1":"With our subtitle addons you get automatically selected options for your preferred language.","WEBSITE_FEATURES_CHROMECAST":"Casting to Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Enjoy your video content on a bigger screen or just cast whatever you are watching to another device.","WEBSITE_FEATURES_KEEP_TRACK":"Keep track of your favorite TV shows and Web channels","WEBSITE_FEATURES_KEEP_TRACK_P1":"Get a calendar visualization and notifications for new episodes of your favorite series and web channels.","WEBSITE_FEATURES_POWER_USER":"Power user features","WEBSITE_FEATURES_POWER_USER_P1":"Play in external player","WEBSITE_FEATURES_POWER_USER_P2":"Play from a torrent file or magnet link","WEBSITE_FEATURES_POWER_USER_P3":"Import to your library from Facebook likes or local disk","WEBSITE_ADD_ONS":"Addons","WEBSITE_ADD_ONS_P1":"All of the video content Stremio provides get sourced through an addon system - no content or content provider has been built into the app.","WEBSITE_ADD_ONS_P2":"There are two groups of addons available: official and community addons.","WEBSITE_ADD_ONS_P3":"The official ones are developed and hosted by Stremio, whereas community addons are created by our community members, who also host them.","WEBSITE_ADDONS_OFFICIAL":"Official addons","WEBSITE_ADDONS_WATCHUB":"Stream your favourite movies, series and shows from providers like iTunes, Hulu, Amazon and other UK/US services.","WEBSITE_ADDONS_YOUTUBE":"Watch your favourite YouTube channels ad-free and get notifications for new uploads from the contributors you follow.","WEBSITE_ADDONS_FILMON":"Watch live TV, movies and social television for free. 600 TV channels, 45,000 free movies, documentaries and more.","WEBSITE_ADDONS_OPENSUBTITLES":"Movie and TV subtitles in multiple languages, thousands of translated subtitles uploaded every day.","WEBSITE_ADDONS_COMMUNITY":"Community addons","WEBSITE_ADDONS_FILMON_VOD":"Watch video on demand from Filmon.tv","WEBSITE_ADDONS_TWICH":"Watch live streams from Twitch.tv - a video streaming platform for the e-sports industry.","WEBSITE_ADDONS_VODO":"Watch indie movies absolutely free of charge.","WEBSITE_ADDONS_NETFLIX":"Watch Netflix movies and web series.","WEBSITE_ADDONS_CREATE":"Create an addon","WEBSITE_ADDONS_CREATE_P1":"If you wish, you can develop your own addon. This way, you can give yourself and our community access to new video content, and reach a new, targeted audience of millions of users around the world.","WEBSITE_ADDONS_START_CREATE":"To get started, visit the Stremio Addon SDK page:","WEBSITE_DOWNLOADS":"Downloads","WEBSITE_DOWNLOADS_P1":"For optimal performance, we recommend that you use the latest available version of the Stremio apps. If for some reason, however, you would like to use an older version, you can download it here.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio for Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio for macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio for Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio for Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio for iOS","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"The Stremio platform is open source and you can easily create an addon for content that is currently not sourced.","WEBSITE_CONTRIBUTE_WHY":"Why should you create an addon?","WEBSITE_CONTRIBUTE_WHY_P1":"Reach new audience for your video content","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio’s user base is growing rapidly - within the first year of the launch, Stremio had gained 1 million users around the world, and in the second year of the platform’s existence this number grew to 2.5 million.","WEBSITE_CONTRIBUTE_WHY_P3":"With your addon, you can easily reach this audience and distribute your video content to them.","WEBSITE_CONTRIBUTE_ALL":"Watch your favourite movies, videos, series and channels in one single place.","WEBSITE_CONTRIBUTE_ALL_P1":"You’re a fan of a particular type of content not available on Stremio yet? Create an addon for it and enjoy watching your favourite videos in one of the largest and easiest to use entertainment hubs on the market.","WEBSITE_CONTRIBUTE_ALL_P2":"On top of that, you’ll get the endless gratitude of other like-minded Stremio community members.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetize your addon and earn money with its help","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Once you develop a new addon for Stremio, you can easily monetize it through a number of different ways. If you are considering this, feel free to get in touch with us at ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - we would be happy to consult and advise you about addon monetization options.","WEBSITE_CONTRIBUTE_TRANSLATE":"Become a volunteer translator","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"If you want to enjoy the Stremio apps in different languages, you can join our community of volunteer translators. They help us add versions of the Stremio in many different languages.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Are you eager to get started?","WEBSITE_TRANSALTE_STREMIO":"Translate Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Official communities","WEBSITE_COMMUNITY_OFFICIALS_P1":"Become a part of the growing Stremio community. Follow us on social media and don’t be shy to say hello - we love hearing from our fans! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Unofficial communities","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Stremio dodaci","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partneri i pomagači","WEBSITE_COMMUNITY_GOODIES":"Stremio dobri","WEBSITE_COMMUNITY_WALLPAPERS":"Wallpaperi","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"Contact us","WEBSITE_CONTACT_US_P1":"If you have any questions, comments or suggestions, feel free to get in touch with us through the contact form below.","WEBSITE_CONTACT_US_P2":"Keep in mind that we are located in Bulgaria so there may be a delay in addressing your query due to time zone differences.","WEBSITE_CONTACT_US_SUCCESS":"Your message has been sent. We will get back to you at our earliest convenience.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Please enter a valid email!","WEBSITE_CONTACT_US_Q_RELATED_TO":"What is your question related to?","WEBSITE_CONTACT_US_Q_OS":"What is your Operation System?","WEBSITE_CONTACT_US_PH_EMAIL":"Your E-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Message","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"SEND","WEBSITE_CONTACT_US_Q_1":"How to install?","WEBSITE_CONTACT_US_Q_2":"How to uninstall?","WEBSITE_CONTACT_US_Q_3":"(HTML) How to make lasagna?","WEBSITE_CONTACT_US_Q_4":"Addons","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Technology","WEBSITE_TECHNOLOGY_P1":"We love technology and mad science. </br> Here is what powers Stremio (it’s all open-source).","WEBSITE_TECHNOLOGY_P_QT":"Cross-platform software development at its best.","WEBSITE_TECHNOLOGY_P_MPV":"A free, open source, and cross-platform media player.","WEBSITE_TECHNOLOGY_P_RN":"React Native lets you build mobile apps using only JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework embedded into application to get multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm is a mobile platform and a replacement for SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js is an open-source, cross-platform, JavaScript runtime environment.","WEBSITE_TECHNOLOGY_P_RUST":"Rust is a multi-paradigm system programming language focused on safety, especially safe concurrency.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribute to the project","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"There are two ways you can contribute to Stremio and help us make the product even better.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"You can donate your valuable language skills by translating the platform...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"or","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... you can employ your coding skills for creating community addons. ","WEBSITE_TRANSLATE_STREMIO":"Translate Stremio","WEBSITE_404_OH_NO":"Uh-oh! The page you’re looking for is not here...","WEBSITE_GO_HOME":"Go home","WEBSITE_LINK_OTHER_DOWNLOADS":"Other downloads","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Support","WEBSITE_DOWNLOAD_4_0_BETA":"Download Now Stremio 4 beta","WEBSITE_GET_FOR_DESKTOP":"Get for desktop","WEBSITE_LINK_ADDON_COMPETITION":"Addon competition","WEBSITE_LINK_ART_CONTEST":"Art contest","WEBSITE_MY_ACCOUNT":"My account","WEBSITE_MAINPAGE_FAQ_001_H1":"What is Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio is a modern media center that gives you the freedom to watch everything you want.","WEBSITE_MAINPAGE_FAQ_002_H1":"How does it work?","WEBSITE_MAINPAGE_FAQ_002_P1":"Once you install Stremio on your device and create an account, all you have to do is to visit the addon catalog and install any addon you want, and you\'re good to go!","WEBSITE_MAINPAGE_FAQ_002_P2":"After that, you can go to the Discover or Board sections to start exploring content.","WEBSITE_MAINPAGE_FAQ_003_H1":"What can I watch here?","WEBSITE_MAINPAGE_FAQ_003_P1":"A lot: Movies, TV shows, Web channels, Sport, TV channels, listen to Podcasts and more. Thanks to our addon system, you can accss a variety of content.","WEBSITE_MAINPAGE_FAQ_004_H1":"Is Stremio open-source?","WEBSITE_MAINPAGE_FAQ_004_P1":"Yes, you can check the following links: ${1}desktop app${2} and ${3}GitHub organization${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Is Stremio safe?","WEBSITE_MAINPAGE_FAQ_005_P1":"Yes: because it is open-source software, the code is publically auditable and you can review it yourself.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"How about my privacy?","WEBSITE_MAINPAGE_FAQ_006_P1":"We respect users\' privacy and do not collect any personal data besides the essential minimum to create and sync your account.","WEBSITE_MAINPAGE_FAQ_006_P2":"There is also a ${1}Guest mode${2} at signup, which requires no data whatsoever: in this mode, no calls are made to our backend. However, it comes at the expense of useful features, such as being able to sync your library across devices.","WEBSITE_MAINPAGE_FAQ_007_H1":"Can I cast to my TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Yes, we support Chromecast and you can cast both from desktop and mobile apps (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"How many addons does Stremio have?","WEBSITE_MAINPAGE_FAQ_008_P1":"As of late 2019, over 50 - for more information, check our addon catalog.","WEBSITE_MAINPAGE_FAQ_009_H1":"Can Stremio be extended beyond what\'s in the addon catalog?","WEBSITE_MAINPAGE_FAQ_009_P1":"Yes, you should check those: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"What devices does Stremio support?","WEBSITE_MAINPAGE_FAQ_010_P1":"We have desktop apps for Windows, Mac and Linux. For mobile, we support Android and iOS, although keep in mind that the iOS is limited in functionality (does not support most addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"There are many Android-based devices which you can run Stremio on, like NVIDIA Shield and Amazon Fire Stick, but we do not support them officially.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Can you add certain content to Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Sorry, we provide no content ourselves, but the more Stremio addons you have installed, the more content you will be able to find.","WEBSITE_MAINPAGE_FAQ_012_H1":"Can Stremio play magnet links?","WEBSITE_MAINPAGE_FAQ_012_P1":"Yes, and it can also play normal HTTP links and torrent files (drag and drop).","WEBSITE_MAINPAGE_FAQ_013_H1":"Can I download a video and watch offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Available offline is an upcoming feature, but if you allow Stremio to cache on your device (from the settings panel) you can watch the videos later without a connection.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nothing works, help me!","WEBSITE_MAINPAGE_FAQ_014_P1":"Are you sure you have installed addons? If yes, check with our ${1}help center${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"How does Stremio sustain it\'s development operations?","WEBSITE_MAINPAGE_FAQ_015_P1":"We run non-intrusive ads occassionally, but we\'re considering moving to a donation model.","WEBSITE_MAINPAGE_FAQ_015_P2":"For more questions, go to our ${1}help center${2}.","HELP_LEARN_MORE":"Help us learn more about you.","LIFESTYLE":"Lifestyle","SPORTS":"Sport","FOOD_HEALTH":"Hrana i zdravlje","BEAUTY_FASHION":"Ljepota i moda","NEWS":"Vijesti","GAMING":"Gaming","SCIENCE_EDUCATION":"Znanost i edukacija","MUSIC":"Glazba","TRAVEL":"Putovanje","LATE_NIGHT":"Late Night","REALITY":"Reality","COMEDY":"Komedija","DIY":"DIY","TECH":"Tech","CINEMA":"Kinomatografija","CONTINUE":"Nastavi","SLOW_LOADING":"Loše učitavanje?","I_GIVE_UP":"PREDAJEm SE","LEARN_MORE":"Saznaj više","POOR_SOURCE":"Ovaj izvor je slabo dostupan ili je Vaša internet konekcija prespora","PICK_CATEGORIES_ERR":"Moraš odabrati najmanje 3 kategorije","ADJUST_TIMING":"Promijeni vrijeme sa ","ADJUST_SIZE":"Promijeni veličinu sa ","SEARCH_ANYTHING":"Pretražuj sve...","ALL_CATEGORIES":"Sve","SEARCH_CATEGORIES":"Filmove, Serije, YouTube & TV","SEARCH_PERSONS":"Glumce, Režisere i Scenografe","SEARCH_PROTOCOLS":"HTTP i Magnet Linkove","SEARCH_TYPES":"IMDB / TVDB linkove","WATCHED":"Pregledano","SHOW_LESS":"Prikaži manje","LAST_SEARCHES":"Posljednje pretrage","CLEAR_HISTORY":"Clear history","CHOOSE_SOME":"ODABERI NEŠTO OD OVOGA:","NO_WEB_REMOTE":"Daljinski upravljač nije moguče učitati","STREMIO_OFFLINE":"Stremio nije povezan","STREMIO_EXPENSIVE_CONNECTION":"Prijenos podataka je skup","USE_DATA":"Korištenje podataka","WARNING":"Upozorenje","MORE_INFO":"Više Informacija ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Učitavanje ...","STREMIO_TV_BACK_TO_LANGUAGES":"Nazad na jezike","STREMIO_TV_REMOTE":"Daljinski upravljač","STREMIO_TV_GO_TO":"Idi na:","STREMIO_TV_OR_SCAN":"ili skeniraj:","STREMIO_TV_ADDON_INSTRUCTIONS":"Molim slijedite upute za instaliranje dodataka.","STREMIO_TV_LIVE_TV":"TV uživo","STREMIO_TV_RESUME_WATCHING":"Nastavi Gledanje","STREMIO_TV_LOADING_BACKGROUND":"Pozadina učitavanja","STREMIO_TV_CHECKING_AUTHENTICATION":"Provjera autentifikacije","STREMIO_TV_LOADING_BOARD":"Ploča učitavanja","STREMIO_TV_LOGIN_HEADER_LINE_1":"Želimo da naši korisnici imaju najbolje moguće personalizirano iskustvo sa našim softverom.","STREMIO_TV_LOGIN_HEADER_LINE_2":"To je razlog zašto vas ljubazno molimo da se prijavite u svoj račun.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Hvala na razumjevanju,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Stremio Tim","STREMIO_TV_REMOTE_INSTRUCTIONS":"Da bi koristili Web daljinski upravljač sa Mobilnim uređajem / Tabletom / PC:","STREMIO_TV_WIFI_SETUP":"Wi-Fi Postavke","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio krug nije detektirao internet vezu.","STREMIO_TV_WIFI_DETAILS_1":"Povezi se sa:","STREMIO_TV_WIFI_DETAILS_2":"stremio-krug","STREMIO_TV_WIFI_DETAILS_3":"Koristi lozinku:","STREMIO_TV_WIFI_DETAILS_4":"stremiokrug","STREMIO_TV_WIFI_DETAILS_5":"Otvori internet preglednik sa:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Default","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"By Last Watched","STREMIO_TV_LIBRARY_SORT_NAME":"By Name","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"By Times Watched","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Season ${1}","STREMIO_TV_STREAMS_LOADING":"Loaded ${1} / ${2} addons...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} addon is still loading...","STREMIO_TV_PLAYER_SETTINGS":"Player settings","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Subtitles delay","STREMIO_TV_PLAYER_AUDIO_DELAY":"Audio delay","STREMIO_TV_PLAYER_VIDEO_SCALING":"Video scaling","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Unsupported stream source","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Failed opening external link","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Not adjustable in audio passthrough mode","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Play with ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Play with libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Switching to libVLC player due to a playback error","STREMIO_TV_ADDONS_TITLE":"Use Stremio on your Phone or PC to install or configure addons and press \\"Sync Addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Note: make sure you are using the same Stremio account","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sync Addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons successfully synchronized","STREMIO_TV_ADDONS_SYNC_FAILED":"Failed to synchronize addons","STREMIO_TV_META_LINK_FAILED":"Failed opening meta link","STREMIO_TV_CATALOG_LOADING":"Catalog still loading...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Interface language updated","STREMIO_TV_SETTINGS_THEME_UPDATED":"Theme updated","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Default Player","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"External Player","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferred Language","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Secondary Preferred Language","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possible playback issues on some devices","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Some video formats might not work","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"No caching","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Default","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Soft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Fast","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Fast","STREMIO_TV_SETTINGS_SERVER_URL":"Streaming server url","STREMIO_TV_SETTINGS_SERVER_VERSION":"Server version","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Unknown","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio version","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Edit server url","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Enter a streaming server url","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Show statistics while loading","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"To read Stremio\'s Privacy Policy, visit:","STREMIO_TV_SETTINGS_TOS_TEXT":"To read Stremio\'s Terms and Conditions, visit:","STREMIO_TV_NAV_SEARCH":"Search","STREMIO_TV_NAV_HOME":"Home","STREMIO_TV_NAV_DISCOVER":"Discover","STREMIO_TV_NAV_LIBRARY":"Library","STREMIO_TV_NAV_MOVIES":"Movies","STREMIO_TV_NAV_SERIES":"Series","STREMIO_TV_NAV_CHANNELS":"Channels","STREMIO_TV_NAV_TV":"Live TV","STREMIO_TV_NAV_SETTINGS":"Settings","STREMIO_TV_NAV_ADDONS":"Addons","STREMIO_TV_LOGIN_TITLE":"Link Account","STREMIO_TV_LOGIN_EXPIRES_IN":"Expires in","STREMIO_TV_LOGIN_STEP_ONE":"Scan QR Code above or go to","STREMIO_TV_LOGIN_STEP_TWO":"Log in to your Stremio account","STREMIO_TV_LOGIN_NEW_LINK":"Request a new link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Login code refreshed","STREMIO_TV_SEARCH_PLACEHOLDER":"Type something","STREMIO_TV_SEARCH_NO_ADDONS":"No addons were requested for catalogs!","STREMIO_TV_SEARCH_BUTTON":"Search","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Search History","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"You can search for Titles, Actors, Channels and more...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Clear Search History","STREMIO_TV_FILTERS_DESCRIPTION":"Choose from one of the filters below","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"Filters","SETTINGS":"Settings","ACCOUNT":"Account","LOGOUT":"Logout","THEMES":"Themes","PLAYBACK":"Playback","PLAYBACK_SPEED":"Playback Speed","AUDIO_TRACKS":"Audio Tracks","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Videos","SERVER":"Server","LINKS":"Links","ABOUT":"About","INTERFACE":"Interface","ANIMATIONS":"Animations","STATUS":"Status","LANGUAGE":"Language","SIZE":"Size","DELAY":"Delay","BOLD":"Bold","OPACITY":"Opacity","TEXT_COLOR":"Text Color","OUTLINE_COLOR":"Outline Color","BACKGROUND_COLOR":"Background Color","BACKGROUND_BLUR":"Background Blur","SEEK_TIME_DURATION":"Seek Time Duration","AUTO_PLAY":"Auto-Play Next Episode","PLAY_NOW":"Play Now","MARK_AS_WATCHED":"Mark as Watched","MARK_AS_UNWATCHED":"Mark as Unwatched","REWIND_TO_BEGINNING":"Rewind to Beginning","CONTINUE_WATCHING":"Continue Watching","ALL":"All","SECONDS":"seconds","ON":"ON","OFF":"OFF","RELOAD":"Reload","EDIT_URL":"Edit URL","NONE":"None","EMBEDDED":"Embedded","REMOTE_SWITCH_DEVICES":"Promijeni uređaj","REMOTE_VIDEOS":"Videi","REMOTE_ADJUST_TIMING":"Namjesti vrijeme","REMOTE_ADJUST_SIZE":"Namjesti veličinu","REMOTE_COULD_NOT_BE_LOADED":"Web daljinski upravljač nije moguće učitati","REMOTE_RETRY":"Pokušaj ponovo","TORRENT_PROFILE_DEFAULT":"Default","TORRENT_PROFILE_SOFT":"Soft","TORRENT_PROFILE_FAST":"Fast","TORRENT_PROFILE_ULTRA_FAST":"Ultra Fast","FAQ_001_H1":"What is Stremio?","FAQ_001_P1":"Stremio is a media center software designed for video entertainment with ease of use in mind. Stremio allows you to organize &amp; watch your own collection of movies, series, channels and live TV.","FAQ_001_P2":"Stremio collect the content it shows you from your local disk and our addons system.","FAQ_001_P3":"It will also notify you when new episodes/videos/movies you\'re interested in come out, and provide movie recommendations for you.","FAQ_02_H1":"How does Stremio compare to Kodi and Plex?","FAQ_02_P1":"We are inspired by those two pieces of software. But we have different goals - Stremio is specifically targeted towards entertainment video, and strives to become the mainstream solution for that by being very easy to use.","FAQ_02_P2":"Stremio will never be as customizable and feature-rich as Kodi and Plex, but it is significantly easier to use. Just ${1} get it and see ${2} :)","FAQ_03_H1":"How does Stremio compare to Netflix?","FAQ_03_P1":"Again, Netflix is one of our inspirations. We strive to achieve the user experience of Netflix, plus a lot of added goodies. But most importantly, we\'re giving you the freedom to manage your own library and add new content sources with our addon system.","FAQ_03_P2":"That makes Stremio infinitely extendable, so when you use Stremio, you\'re never limited to the content Netflix decides to license. For example, through Stremio you can watch content from ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} and even ${9}Netflix${10} itself!","FAQ_04_H1":"How does Stremio compare to Flipboard?","FAQ_04_P1":"We don’t get that question that often, except when talking to start-up people :)","FAQ_04_P2":"Stremio is by design a content aggregator, which essentially makes it Flipboard for video. This is very apparent in our Board section, which gives you catalogues and new episode/new video notifications for what you follow, just like Flipboard.","FAQ_05_H1":"How does Stremio compare to Popcorn Time?","FAQ_05_P1":"Stremio and Popcorn Time are similar in user interface, because there aren’t many ways to do video entertainment catalogues right :)","FAQ_05_P2":"But while Popcorn Time is focused on streaming torrents from specific sources, Stremio is unrestricted and is merely a content aggregator - it’s not locked into a specific content source.","FAQ_05_P3":"Furthermore, we do not provide any torrent addons by default, so Stremio does not cover the Popcorn Time use-case with official functionality.","FAQ_05_P4":"Another notable difference is that Popcorn Time is completely open source, while Stremio is ${1} partially open source${2}.","FAQ_06_H1":"Will you add this movie/series?","FAQ_06_P1":"No, sorry :(","FAQ_06_P2":"As is mentioned in most of the other questions, Stremio does not provide any content by itself - everything is added through the addons system. In case you have a content request, you can use the “Report” button in the Player, which will send an email to the author of the addon you’re currently using.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Will you create addon for X?","FAQ_08_P1":"It\'s entirely possible.","FAQ_08_P2":"If you have an idea for an addon, drop us a line at ${1}office@stremio.com${2}, but please make sure your addon idea will not infringe on any copyrights or terms of use.","FAQ_08_P3":"At the moment, the next things on our roadmap are addons for FandangoNOW, Filmon.tv video on demand and Crunchyroll.","FAQ_09_H1":"Does Stremio use BitTorrent?","FAQ_09_P1":"Yes, Stremio supports BitTorrent as a streaming protocol. You can use that either with a torrent addon, or by drag-and-dropping a .torrent file into Stremio, or by pasting a magnet link into the Search Bar.","FAQ_09_P2":"Please note that the only official addon using BitTorrent is ${1}Vodo${2}, which provides indie content, all permitted to be distributed with BitTorrent.","FAQ_09_P3":"We do not support use of any third-party addons which may enable copyright infringement.","FAQ_10_H1":"What can I watch in Stremio with the official addons?","FAQ_10_P1":"By default, you can watch Filmon.tv, YouTube and Vodo content within Stremio itself, with it’s embedded player. Additionally, we have an addon for Twitch.tv and a few others.","FAQ_10_P2":"This combined provides a selection of:","FAQ_10_L1":"Popular TV channels, provided by Filmon.tv - for example E4, BBC, Bollyworld TV","FAQ_10_L2":"Everything from YouTube - for example BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indie movies with Vodo","FAQ_10_L4":"Online gaming broadcasts with Twitch.tv","FAQ_10_P3":"Additionally, there are many content sources provided with Guidebox and the Netflix addons, which <b>do not</b> play entirely inside Stremio, but would redirect to the given service. For example, the Guidebox addon would give you a selection of movies you can stream in the US for free, from services like TubiTV and Crackle.","FAQ_11_H1":"Stremio won\'t install, what should I do?","FAQ_11_P1":"If you\'re on Windows, try ${1}this alternative installer${2}.","FAQ_11_P2":"If you\'re on Mac OS X, please be aware that we don\'t support anything older than OS X Mavericks (10.9).","FAQ_11_P3":"If you\'re on Linux, be aware that we only support 64 bit (x64) Linux at the moment.","FAQ_11_P4":"If you still can\'t resolve your problem, please write us at our ${1}Facebook group${2}.","FAQ_12_H1":"Why does my anti-virus complain? Is Stremio safe?","FAQ_12_P1":"We assure you Stremio is ${1}100% clean${2}.","FAQ_12_P2":"Your antivirus is complaining because we include advertising in our installer, which some anti-virus programs recognize as ad-ware.","FAQ_12_P3":"If you\'re still unsure, you can try our ${1}alternative installer${2}.","FAQ_13_H1":"How can I make an addon?","FAQ_13_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_13_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_13_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_14_H1":"How are addons published?","FAQ_14_P1":"When you create an addon and host, and put a <b>endpoint</b> field in your manifest, which points to a working addon address, the addon will automatically publish itself to our ${1}Addon catalogue${2}.","FAQ_14_P2":"This happens because the server part of the stremio-addons module automatically makes a call to our API to announce the addon. When our API validates your <b>endpoint</b> as a valid addon, it will start showing in the catalogue.","FAQ_15_H1":"Can I run Stremio in my browser?","FAQ_15_P1":"Not at the moment, but this is coming!","FAQ_15_P2":"If you\'re curious to see an Alpha, you can see it here: ${1}alpha4.strem.io${2}. Keep in mind streaming is disabled on this alpha. We support Chrome, Firefox, Opera and Edge.","FAQ_16_H1":"Casting to TV doesn\'t work / subtitles don\'t work","FAQ_16_P1":"Casting to TV uses the DLNA technology which is very inconsistent between different TV brands and models. For that reason, we do not have the ability to test it in every case, so it\'s far from perfect. Despite this, we\'re working on improving it constantly but we cannot give you a time estimate on when DLNA will start working properly with your TV.","FAQ_16_P2":"If you don\'t even see your TV in the casting menu, please try disabling your network connection and re-enabling it (on Windows, right click the Network and use Enable/Disable), as well as restarting your router, TV and PC.","FAQ_16_P3":"If you are still encountering issues, you can help us by sending your TV brand and model information at ${1}office@stremio.com${2}.","FAQ_16_P4":"In the meantime, we recommend Chromecast, which we support very well, or simply plugging in your TV to your PC with an HDMI cable.","FAQ_17_H1":"Stremio freezes and/or crashes, what can I do?","FAQ_17_P1":"First of all, if you\'re using Windows 7 with AVG anti-virus: we have a problem with that combination. The problem is in AVG itself, and there\'s no reasonable way to resolve it on our end. Unfortunately, exceptions or disabling the anti-virus won\'t work. The only solution is to replace AVG with something else.","FAQ_17_P2":"If that\'s not the issue, but you\'re still using Windows, please update to the latest service pack and update/re-install your GPU drivers, then try again.","FAQ_17_P3":"If you\'re problem is still not resolved, or you\'re using a Mac or Linux, please write us reporting the exact details of the problem at ${1}our Facebook group${2}.","FAQ_18_H1":"How can I make an addon?","FAQ_18_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_18_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_18_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_19_H1":"Why is Stremio taking disk space?","FAQ_19_P1":"Stremio has a <b>local cache</b> to temporarily keep the video files you stream.","FAQ_19_P2":"This has two benefits: first, it allows Stremio to pre-buffer the video ahead so as to ensure smoother streaming. Second, it keeps the videos in the local cache so you can continue watching them offline.","FAQ_19_P3":"How much Stremio keeps depends on the <b>Cache</b> setting in the Settings panel. Stremio may keep up to the set amount (e.g. 2GB) on your disk, unless the currently streamed video is larger than that, in which case it has to allocate enough storage to keep it until you\'re streaming it.","FAQ_20_H1":"Where is the cache folder?","FAQ_20_P1":"On Windows, it\'s stremio-cache in the drive you picked in Settings (e.g. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"On MacOS, it\'s \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"On Linux, it\'s \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"I get \\"Streaming server is not found\\" error, what can I do?","FAQ_21_P1":"If you get this error, it means one of few things:","FAQ_21_P2":"1) You are trying to use an addon backed by YouTube/BitTorrent source, through our ${1}web version${2}. In this case, you should install our desktop version from ${3}our website${4}.","FAQ_21_P3":"2) Something is wrong with your Stremio installation. In this case, try re-installing our latest desktop version from ${1}the website${2}. If this does not help, try disabling anti-virus programs and firewalls, restarting your PC and trying again. If this does not work too, please write us at our ${3}our Facebook group${4}.","FAQ_22_H1":"I cannot see/use most addons on iOS","FAQ_22_P1":"Because of restrictions in the Apple App Store terms and conditions, we have restricted the iOS application only to a particular set of addons.","FAQ_22_P2":"But rest assured - there will be more addons for iOS in the future, and we may also add an integration that will allow you to use all Stremio addons thanks to connecting the iOS app to the Stremio Streaming Server."}')},5657:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Film","TYPE_series":"Sorozat","TYPE_tv":"TV csatorna","TYPE_channel":"Csatorna","TYPE_other":"Egyéb","TYPE_movie_PL":"Filmek","TYPE_series_PL":"Sorozatok","TYPE_tv_PL":"TV csatornák","TYPE_channel_PL":"Csatornák","TYPE_other_PL":"Egyebek","TYPE_ALL":"Minden","TYPE":"Típus","CATALOG_com_linvo_cinemeta_top":"Népszerű","CATALOG_com_linvo_cinemeta_imdbRating":"Kiemelt","CATALOG_com_linvo_cinemeta_year":"Új","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Nyilvánosan Elérhető Filmek","VIDEO":"Videó","BACK":"Vissza","MORE":"Több","DONE":"Kész","COPY":"Másolás","SUCCESS":"Siker","ERROR":"Hiba","SETTINGS_CASTING_MODE_PICKER":"Vezeték nélküli kivetítés mód","CASTING_MODE_HLSV2":"Alapértelmezett","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Nincs átkódolás","Discover":"Felfedezés","Board":"Ajánlatok","Library":"Könyvtár","My Library":"Könyvtáram","Calendar":"Naptár","NOTIFICATION_ONLINE":"Jelenleg online vagy","NOTIFICATION_OFFLINE":"Jelenleg offline vagy","INTERNET_CONNECTION":"Hálózat csatlakoztatva","STORAGE_FULL_TITLE":"Figyelem: a tárhelye megtelt!","STORAGE_FULL_TEXT":"A Stremio nem tudja menteni az Ön beállításait, preferenciáit vagy bejelentkezési adatait. Próbálja meg újraindítani vagy újratelepíteni a Stremio-t.","SEARCH":"Keresés","SEARCH_NO_RESULTS":"Nincs találat","SEARCH_EXPLANATION_CONTENT":"Keressen filmeket, sorozatokat, YouTube- és TV-csatornákat","SEARCH_EXPLANATION_PEOPLE":"Színészek, rendezők és írók keresése","SEARCH_PASTE_LINKS":"Másoljon be HTTP vagy Mágnes linket","SEARCH_OR_PASTE_LINK":"Keressen vagy illesszen be linket","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"Hozzáadás a könyvtárhoz","REMOVE_FROM_LIB":"Eltávolítás a könyvtárból","ADDED_TO_LIB":"Hozzáadva a könyvtárhoz","REMOVED_FROM_LIB":"Eltávolítva a könyvtárból","TRAILER":"Előzetes","WATCH_TRAILER":"Előzetes megtekintése","WATCH_NOW":"Indítás","SHOW":"Tovább","SHOW_MOVIE":"Film megtekintése","WATCH_RANDOM":"Random tartalom megtekintése","IMDB_RATING":"IMDb értékelés","YEAR":"Év","DIRECTOR":"Rendező","WRITER":"Író","LEAD_ACTORS":"Főszereplők","CAST":"Szereposztás","CREW":"Stáb","SHOW_MORE_CAST":"Mutass többet »","AIRED":"Vetítve","SEASONS":"Évadok","GENRE":"Műfaj","GENRE_ALL":"Minden műfaj","CATALOG":"Katalógus","SUMMARY":"Tartalom","SHOW_MORE":"Mutass többet","SIMILAR":"Hasonló","UPCOMING":"Hamarosan érkező","ENDED":"Vége","DURATION":"Időtartam","FEATURED":"Kiemelt","METADATA":"Metaadat","CATEGORY":"kategória","LINKS_GENRES":"Műfajok","LINKS_CAST":"Szereplők","LINKS_DIRECTORS":"Rendezők","SEARCH_VIDEOS":"Videó keresése","SEARCH_PLACEHOLDER":"Keresés vagy URL bemásolása","ADDON":"bővítmény","ADDONS":"Bővítmények","OFFICIAL":"hivatalos","ADDONS_OFFICIAL":"Hivatalos Streamio Bővítmények","ADDONS_POPULAR":"Népszerű a környezetedben","ADDON_FREE":"ingyenes","ADDON_PEERED":"kukucskált","ADDON_SUBSCRIPTION":"előfizetés","ADDON_STREAM_GEORESTRICTED":"Nem erélhető a régiódban","ADDON_STREAM_OFFLINECACHE":"Offline gyorsítótár","ADDON_STREAM_LOCALFILE":"Helyi fájl","SHARE_ADDON":"Addon megosztása","AVAILABLE_STREAMS":"Elérhető streamek","NO_STREAM":"Nincs elérhető stream","ALL_ADDONS":"Minden","INSTALL_MORE_ADDONS":"További streamekért telepítsen további bővítményeket","STREAM_NOT_SUPPORTED":"A kiválasztott stream nem támogatott ezen a felületen.","ADDON_CATALOGUE":"Az összes bővítmény megjelenítése »","ADDON_CATALOGUE_MORE":"További bővítmények »","REPO_ADDED":"Adattár hozzáadva","ADDON_REPO_EXIST_ERR":"Ez a bővítmény tárház már létezik","ADDON_REPO_ERR":"Hiba történt a tár hozzáadása során","ADDON_ADD_ERR":"Hiba történt a bővítmény hozzáadása során","ERR_ADDON_PROTECTED":"Védett bővítmény, nem telepíthető","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Valami hiba történt - a hitelesítés hibára futhatott","ERR_NOT_COLLECTION_URL":"Nem gyűjtemény URL-je","ERR_NOT_ADDON_URL":"Hibás bővítmény URL","ERR_DETECTFROMURL":"Nem található gyűjtemény/bővítmény az URL-en.","ADDON_DUPLICATE_WARNING":"Figyelmeztetés: duplikált bővítmény","ADDON_COLLECTION_SET_FAILED":"A bővítmények szinkronizálása a fiókodba sikertelen volt.","SETTINGS_DATA_EXPORT":"Felhasználói adatok exportálása","ADDON_PULL_FAILED":"A bővítmények szinkronizálása a fiókodból sikertelen volt","REFRESH_ON_CLICK":"Kattintson az újrapróbálkozáshoz","STILL_IN_THEATER":"A filmet még moziban játsszák","WATCH_IN_CINEMA":"Elérhető a közeli moziban","IN_THEATER":"A moziban","GET_TICKETS":"Szerezz jegyet","UPCOMING_EPISODE":"Közelgő epizód","UPCOMING_EPISODE_MESSAGE":"Ez az epizód adásba kerül","MISSING_DATE_EPISODE":"Hiányzik az epizód dátuma","MISSING_DATE_EPISODE_MESSAGE":"Lehet, hogy ez az epizód még nem került adásba","CHANNEL_NOT_SCRAPED":"Ez a csatorna még nincs tárolva.<br>Kérem, térj vissza pár perc múlva.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Add hozzá a könyvtáradhoz és értesítünk, amikor elérhetővé válik.","GET_NOTIFIED_WHEN_AVAILABLE":"Értesítünk, amikor elérhetővé válik.","WARNING_STREAMING_SERVER":"Figyelmeztetés: a helyi streaming szerver nem található. Helyi fájlok, YouTube és BitTorrent streamelése nem elérhető.","WARNING_STREAMING_SERVER_DISMISS":"Elvetés","WARNING_STREAMING_SERVER_LATER":"Később","DECODER_WARNING":"Figyelmeztetés: előfordulhat, hogy ezt a videót az Ön hardvere nem támogatja. A lejátszás lassú lehet.","GENERIC_ERROR_MESSAGE":"Valamilyen hiba történt!","TRY_AGAIN":"Újrapróbálkozás","CLEAR_DATA":"Adatok törlése","PLAYER_ERROR":"Hoppá, lejátszási hiba","PLAYER_ERROR_LOOKSLIKE":"Úgy néz ki","PLAYER_ORIENTATION":"Lejátszó orientáció","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Zárt","PLAYER_ORIENTATION_SENSOR_SHORT":"Érzékelő","PLAYER_ORIENTATION_LANDSCAPE":"A lejátszó tájolása fekvő helyzetben rögzítve","PLAYER_ORIENTATION_SENSOR":"Automatikus lejátszó orientáció (érzékelő)","PLAYER_PLAYBACK_SPEED":"Lejátszási sebesség","PLAYER_PLAYBACK_ERROR":"Lejátszási hiba, próbáld újra","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Ismeretlen hiba","PLAYER_PLAYBACK_ERROR_DEFAULT":"Sajnáljuk, ezt a videót nem lehet lejátszani ezzel: {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Feliratok nyelvei","PLAYER_SUBTITLES_VARIANTS":"Feliratok változatai","PLAYER_SUBTITLES_SETTINGS":"Feliratok beállításai","PLAYER_SUBTITLES_DISABLED":"A feliratok le vannak tiltva","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Függőleges helyzet","PLAYER_SUBTITLES_LOADED":"Feliratok betöltve","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Beágyazott feliratok betöltve","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Exkluzív feliratok betöltve","PLAYER_SUBTITLES_LOADED_ORIGIN":"Feliratok betöltve innen: {{origin}}","PLAYER_PLAY":"Lejátszás","PLAYER_PAUSE":"Szünet","PLAYER_NEXT_VIDEO":"Következő Videó","PLAYER_MUTE":"Némítás","PLAYER_UNMUTE":"Némítás feloldása","PLAYER_OPEN_IN_EXTERNAL":"Megnyitás külső lejátszóban","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Lejátszás ezzel: {{device}}","PLAYER_LIVE":"Élő","PLAYER_NEXT_VIDEO_TITLE":"Következik","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Elvetés","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Nézd meg most","PLAYER_COPY_STREAM_SUCCESS":"Az stream linkje a vágólapra másolva","PLAYER_COPY_STREAM_ERROR":"Az stream linkjének másolása sikertelen","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","STREAMING_FROM":"lejtászás innen","CASTING_TO":"Kivetítve erre","NETWORK_STATUS":"Hálózati státusz","STREAM_SPEED":"Letöltés sebessége:","STREAM_BUFFERED":"Betöltve:","PEERS_INFO":"Kapcsolatok","PEERS_ACTIVE":"Aktív:","PEERS_CONNECTED":"Kapcsolódva:","PEERS_WAITING":"Várakoznak:","TRANSCODING_WARNING":"Figyelmeztetés: videó átkódolása.","STREAM_LOADING":"betöltés...","PLAYING_LOCAL":"lejátszás helyi fájlból","PLAYING_CACHE":"lejátszás gyorsítótárból","WRONG_SUBS":"Hibás felirat?","ERR_SUBS_LOADING_TITLE":"Hiba a feliratok betöltése közben","ERR_SUBS_LOADING":"Nem sikerült betölteni a feliratokat: a problémát az Ön által használt bővítmény vagy a hálózati kapcsolata okozhatja","WARN_FOLLOWING_SUB_ADDONS_FAILED":"A következő felirat-bővítmények hibára futottak","ERR_CASTING_UPDATE_TITLE":"Nem sikerült frissíteni az kivetítő eszköz adatait: lehet, hogy a streaming szerver offline állapotban van","CHOOSE_DEVICE":"Válassz egy készüléket a lejátszáshoz","NO_CAST_DEVICES":"Nincsenek kivetítésre alkalmas eszközök.","NO_SETTINGS":"Nincsenek elérhető beállítások.","PHONE_TABLET":"Telefon / Táblagép","SUBTITLES":"Feliratok","SUBTITLES_CHANGE":"Másik felirat választása a következő nyelvhez: ","SUBTITLES_CHANGE_NONE":"Sajnáljuk, nincs másik elérhető felirat ehhez a nyelvhez.","SUBTITLES_CHANGE_ACIVE":"Jelenleg a következő feliratok aktívak: &#35;{{subtitlesDialog.activeIdx + 1}}. Kattints a \\"Folytatás\\" gombra, hogy aktiváld a következő feliratokat: &#35;{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Alternatív megoldásként","SUBTITLES_ADJUST_DELAY":"Felirat késleltetésének beállítása:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Vagy használja <span>G</span> / <span>H</span> billentyűket lejátszás közben a beállításhoz.","SUBTITLES_ADJUST_DELAY_TIP":"TIPP: használhatod a <span>G</span> / <span>H</span> billentyűket lejátszás közben a beállításhoz.","SUBTITLES_DELAY":"Feliratok késleltetése:","SUBTITLES_LOADING":"Feliratok betöltése...","SUBTITLES_UNAVAILABLE":"Nem érhető el külső felirat","SUBTITLES_DISABLED":"Tiltva","EXTERNAL_PLAYER_DISABLED":"Tiltva","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Választás engedélyezése","EXTERNAL_PLAYER_HINT":"Tipp: Van egy beállítás, amely lehetővé teszi a mindig külső lejátszóval való megnyitást","DONT_SHOW_AGAIN":"Ne mutasd újra","SERVICE_INSTALL":"Telepítés","AUDIO":"Hang","DEFAULT_LANGUAGE":"Alapértelmezett nyelv","DEFAULT_SECONDARY_LANGUAGE":"Alapértelmezett másodlagos nyelv","SEASON":"Évad","EPISODE":"Epizód","EPISODE_ABBREVIATION":"EP","SPECIAL":"Különleges","SORT":"rendez","SORT_BY":"Rendezés","FILTER":"szűrő","SORT_TRENDING":"Nézettség","SORT_RECENT":"legújabbak","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"értékelés","SORT_WATCHED":"megtekintve","SORT_YEAR":"év","SELECT_TYPE":"Típust kiválasztása","SELECT_SORT":"Rendezés kiválasztása","SELECT_CATALOG":"Katalógust kiválasztása","SELECT_GENRE":"Műfaj kiválasztása","SORT_LASTWATCHED":"Utoljára megtekintve","SORT_NAME":"Név szerint","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"Nézett idők szerint","SORT_NOTWATCHED":"not watched","New for You":"Újdonságok Neked","New Episodes":"Új Epizódok","New Videos":"Új Videók","Recommendations":"Ajánlások","LIBRARY_RESUME":"Folytatás","LIBRARY_PLAY":"Lejátszás","LIBRARY_DETAILS":"Részletek","LIBRARY_RESUME_DISMISS":"Elvetés","LIBRARY_CLEAR_PROGRESS":"Eddigiek törlése","LIBRARY_REMOVE":"Eltávolítás","LIBRARY_NOT_LOGGED_IN":"A könyvtár csak bejelentkezett felhasználók számára érhető el","CALENDAR_NOT_LOGGED_IN":"A naptár csak bejelentkezett felhasználók számára érhető el","NOT_LOGGED_IN_CLOUD":"Bármikor, bárhol elérheti kedvenc filmjeit és TV-műsorait","NOT_LOGGED_IN_RECOMMENDATIONS":"A megtekintési előzményekhez szabott ajánlások","NOT_LOGGED_IN_NOTIFICATIONS":"Soha többé ne hagyj ki egy epizódot","NOT_LOGGED_IN_CALENDAR":"Ütemezze be személyes megtekintési naptárát","DISCOVER_FEATURED":"Kiemelt","DISCOVER_TOP":"Népszerűek","DISCOVER_OSCAR":"Oscar nyertesek","DISCOVER_WARNING_TITLE":"Hoppá!","DISCOVER_EMPTY_CATALOG":"Ez a bővítmény üres tartalmat adott vissza.","DISCOVER_ADULT_WARNING":"A tartalom csak felnőttek számára látható. Elmúltál 18 éves?","DISCOVER_NOADDON_WARNING":"Figyelmeztetés: nincs bekapcsolt Stremio bővítmény ehhez a típushoz. Elmentett adatokat mutatunk, semmi sem fog frissülni.","DISCOVER_LOAD_ERR":"A tartalom nem töltődött be, hiba történt.","DISCOVER_ADDON_UNINSTALLED":"Ez a tartalom már nem érhető el, előfordulhat, hogy eltávolítottad a bővítményt.","UNINSTALL_THIS_ADDON":"Távolítsa el ezt a bővítményt","ERR_ADDON_NOT_INSTALLED":"Ez a bővítmény nincs telepítve. ","DETAIL_RECEIVE_NOTIF_SERIES":"Kapj értesítéseket új epizódokról","DETAIL_RECEIVE_NOTIF_VIDEOS":"Kapj értesítéseket új videókról","SIDEBAR_SHOW_STREAMS":"Streamek megjelenítése","RELAUNCH":"Újraindítás most!","UPGRADE":"Új verzió érhető el! Frissíts a legújabb Stremio verzióra","RELOAD_UI":"Felhasználói felület újratöltése","MANUAL_UPDATE_TITLE":"Frissítsd a Stremio verzióját","MANUAL_UPDATE_LINE1":"Egy már nem támogatott verzióját futtatod a Stremionak, mely erősen nem ajánlott.","MANUAL_UPDATE_LINE2":"Kérjük minél hamarabb frissíts","BUTTON_UPDATE_LATTER":"Ne most","BUTTON_UPDATE_NOW":"Frissítés","ANONYMOUS_USER":"Névtelen felhasználó","DONT_HAVE_ACC":"Nincs fiókod?","HAVE_ACC":"Van már fiókod?","PASSWORD":"Jelszó","PASSWORD_CONFIRM":"Jelszó megerősítése","EMAIL":"Email","FB_LOGIN":"Bejelentkezés Facebookkal","FB_NOTHINGSHARED":"Semmit nem osztunk meg a beleegyezésed nélkül","FB_NOPOST":"Semmit sem fogunk a nevedben posztolni","OR":"vagy","I_ACCEPT":"Elfogadom a","I_ACCEPT_BY_CLICKING":"A fenti gombra kattintva tanúsítom, hogy elfogadom a ","TOS":"felhasználói feltételeket","MUST_ACCEPT_TERMS":"El kell fogadnod a feltételeket","PASSWORDS_NOMATCH":"Jelszó nem egyezik","SIGN_UP":"Regisztráció","SIGN_UP_EMAIL":"Regisztráció email-lel","CLICK_TO_SIGN_UP":"Kattints ide a regisztrációhoz.","LOG_IN":"Bejelentkezés","LOG_OUT":"Kijelentkezés","EXIT_FULLSCREEN":"Kilépés teljes képernyőből","ENTER_FULLSCREEN":"Teljes képernyős mód","PLAY_URL_MAGNET_LINK":"URL/Mágnes link lejátszása","HELP_FEEDBACK":"Segítség & Visszajelzés","TERMS_OF_SERVICE":"Általános Szerződési Feltételek","PRIVACY_POLICY":"Adatvédelmi irányelvek","ABOUT_STREMIO":"A Stremioról","USER_PANEL":"Felhasználói panel","LOGIN_LABEL":"Belépés","GUEST_LOGIN":"Vendég belépés","GUEST_LOGIN_NOTICE":"A Vendég bejelentkezés nem javasolt. A normál bejelentkezéssel a Stremio szinkronizálja a köyvtáradat és értesítéseket küldhet a kedvenc filmjeidről/sorozataidról. Biztosan folytatod?","GUEST_LOGIN_NOTICE_2":"A Vendég bejelentkezés nem ajánlott – nem lesznek szinkronizált könyvtári és tábla-értesítései, amelyek a Stremio létfontosságú funkciói. Biztosan folytatod?","CLICK_HERE":"Kattins ide","WRONG_PASSWORD":"Hibás email vagy jelszó. Amennyiben elfelejtetted a jelszavadat,","SET_A_PASS":"állíts be jelszót","RESET_PASSWORD":"Jelszó visszaállítása","FORGOT_PASSWORD":"Elfelejtett jelszó?","EMAIL_USED_WITH_FB":"Ez az email már hozzá van rendelve egy Facebookos regisztrációhoz.","INVALID_EMAIL":"Kérjük, adj meg egy valós email címet","INVALID_PASSWORD":"Kérjük, adj meg egy valid jelszót","CONN_ERR":"Csatlakozási hiba – próbálkozzon újra később.\\n\\n","IMPORT_FROM_GUEST":"Könyvtár importálása vendégfiókjából","RECEIVE_UPDATES_EMAIL":"Frissítéseket kaphat e-mailjére a Stremiótól","LOGIN_FAILED":"Bejelentkezés sikertelen.","SIGNUP_FAILED":"A regisztráció sikertelen.","SEARCH_FAILED":"A keresés sikertelen","EMAIL_USED":"Ez az email cím már foglalt.","WAITING_FB_LOGIN":"Bejelentkezés Facebookkal...","EXTERNAL_PLAYER_TITLE":"Lejátszás külső lejátszóban","EXTERNAL_REMEMBER_PLAYER":"Szeretnél emlékezni a választásodra","EXTERNAL_ALWAYS_PLAY":"Igen","EXTERNAL_ONLY_ONCE":"Nem","BEST_FIT":"Legjobban illeszkedő","FIT_SCREEN":"Képernyőhöz igazítás","FILL":"Kitöltés","16:9":"16:9","4:3":"4:3","Original":"Eredeti","INTRO_TASTE":"Mondd el nekünk, hogy mit szeretsz","INTRO_TASTE_LONG":"Mondd el nekünk, hogy mit szeretnél nézni","INTRO_TASTE_PICK":"Válassz {{interestsRemaining}} érdeklődési kört","INTRO_TASTE_PICK_MORE":"Válassz további {{interestsRemaining}} érdeklődési kört","INTRO_TASTE_HELP_US":"Segíts nekünk többet megtudni magadról!","INTRO_TASTE_CHOOSE_THESE":"Válasszon ezek közül néhányat:","INTRO_TASTE_CHOOSE_MIN":"Válasszon legalább 3 kategóriát","INTRO_TASTE_CHOOSE_MIN_ERR":"Legalább 3 kategóriát kell kiválasztanod!","INTRO_TASTE_LIFESTYLE":"Életmód","INTRO_TASTE_SPORTS":"Sport","INTRO_TASTE_FOOD_HEALTH":"Étel & Egészség","INTRO_TASTE_BEAUTY_FASHION":"Szépség & Divat","INTRO_TASTE_NEWS":"Hírek","INTRO_TASTE_GAMING":"Gaming","INTRO_TASTE_SCIENCE_EDU":"Tudomány & Oktatás","INTRO_TASTE_MUSIC":"Zene","INTRO_TASTE_TRAVEL":"Utazás","INTRO_TASTE_LATE_NIGHT":"Late Night Show","INTRO_TASTE_REALITY":"Valóság","INTRO_TASTE_COMEDY":"Komédia","INTRO_TASTE_DIY":"Hogyan barkácsoljunk","INTRO_TASTE_TECH":"Tech","INTRO_TASTE_CINEMA":"Mozi","ADDON_NOT_SUPPORTED":"A kiválasztott bővítmény nem támogatott ezen a felületen.","ADDON_DISCLAIMER":"Harmadik féltől származó bővítmények használata mindig a felhasználó felelőssége, a felhasználó tartózkodási területén életben lévő törvényeket tiszteletben tartva.","ADDON_ACTIVATE":"Bekapcsolod ezt a bővítményt?","ADDON_REPO_ADD":"Bővítmény gyűjtemény URL-je","ADDON_ADD":"Hozzáadás","INSTALL_ADDON":"Bővítmény telepítése","ADD_ADDON":"Bővítmény hozzáadása","ADD_ADDON_DESCRIPTION":"Külső hivatkozáson keresztül is hozzáadhat bővítményt, amely a Telepített bővítmények alatt jelenik meg.","PASTE_ADDON_URL":"Illessze be a bővítmény URL-címét","WHATS_NEW":"Újdonságok","BUTTON_CONTINUE":"Folytatás","BUTTON_ACTIVATE":"Aktiválás","BUTTON_ACTIVATED":"Aktív","BUTTON_CANCEL":"Mégse","BUTTON_SUBMIT":"Beküldés","BUTTON_DISMISS_ALL":"Mindet elutasít","BUTTON_VIEW_ALL":"összes megtekintése","BUTTON_SEE_ALL":"Összes megtekintése","BUTTON_COLOR_TRANSPARENT":"Átlátszó","OPEN_IN_BROWSER":"Megnyitás böngészőben","LIB_EMPTY":"A könyvtárad üres. ","HOW_START":"Használatához ennyit kell tenned:","LIB_EMPTY_CAL":"A naptárad a könyvtáradban található sorozatokat mutatja.","HOW_START_CAL":"Sorozatok hozzáadásához a következőket kell tenni:","LIB_EMPTY_BOARD":"Az ajánlatok fül értesítéseket","HOW_START_BOARD_WAIT":"kérd, addj pár sorozatot és csatornát a könyvtáradhoz, és mi pár perc alatt feldolgozzuk :)","HOW_START_BOARD":"Így adhatsz hozzá sorozatokat","IMPORT_FB":"Importálj általad kedvelt tartalmakat a <span>Facebookról</span>","IMPORT_TRAKT":"Importáld médiakönyvtárad a <span>Traktról</span>","IMPORT_DISCOVER":"Keress érdekes tartalmakat a <span>Felfedezés</span> fülről","IMPORT_DISK":"Importálj filmeket és sorozatokat a <span>helyi lemezedről</span>","PLEASE_CREATE_ACC":"Kérjük, <u>hozzon létre egy fiókot</u> a könyvtár szinkronizálásának engedélyezéséhez.","IMPORT_DISCOVER_SIGNUP":"Regisztráljon, és találjon érdekes dolgokat a <span>Felfedez</span> fülről","IMPORT_DISK_SIGNUP":"Regisztráljon, és importáljon filmeket vagy sorozatokat a <span>helyi lemezről</span>","LIB_EMPTY_CLOUD":"Felhőkönyvtár","LIB_EMPTY_CLOUD_DESC":"Személyes felhőkönyvtár minden eszközön szinkronizálva","LIB_EMPTY_EARLY":"Korai","LIB_EMPTY_EARLY_DESC":"Értesítéseket kaphat az új epizódokról","LIB_EMPTY_PERSONAL":"Személyes","LIB_EMPTY_PERSONAL_DESC":"Kapj személyes ajánlásokat","LIB_EMPTY_CALENDAR_DESC":"Ütemezze be személyes megtekintési naptárát","LIB_EMPTY_ALL":"Regisztráljon, hogy mindezt megkapja:","LIB_EMPTY_BEST":"Regisztráljon, hogy a legtöbbet hozhassa ki a Stremióból","LIB_EMPTY_OTHER":"Regisztrálj a naptár és további király funkciók engedélyezéséhez","CALENDAR_ADDED":"A Stremio naptár hozzáadásra került az alapértelmezett asztali naptárhoz.","CALENDAR_ADDED_MSG":"Ha ez nem működik, kérjük, kézzel adja hozzá ezt az URL-t a naptáralkalmazáshoz","TRAKT_EXPIRED":"A Trakt hitelesítés lejárt, lépjen a Beállításokba, és hitelesítse újra","TRAKT_REQUIRES_LOGIN":"Trakt hiba","TRAKT_REQUIRES_LOGIN_MSG":"Be kell jelentkezned","TRAKT_IMPORT_WATCHED":"Import","THEME":"Téma","THEME_DEFAULT":"Alapértelmezett","THEME_ADAPTIVE":"Adaptív","SETTINGS_LABEL":"Beállítások","SETTINGS_NAV_GENERAL":"Általános","SETTINGS_NAV_PLAYER":"Lejátszó","SETTINGS_NAV_STREAMING":"Streamelés","SETTINGS_NAV_SHORTCUTS":"Gyorsbillentyűk","SETTINGS_SHORTCUT_RELOAD_APP":"Alkalmazás újratöltése","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Beállítások megnyitása","SETTINGS_SHORTCUT_SWITCH_TABS":"Váltás a lapok között","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Lapozzon előre","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Lapozzon visszafelé a lapokon","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigálás a menük között","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Lépjen a Keresés elemre","SETTINGS_SHORTCUT_EXIT_BACK":"Kilépés / Visszalépés","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Lejátszási sebesség menü ki-/bekapcsolása","SETTINGS_SHORTCUT_MENU_VIDEOS":"Videó menü ki/bekapcsolása","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Feliratok menü ki-/bekapcsolása","SETTINGS_SHORTCUT_MENU_INFO":"Infó menü ki-/bekapcsolása","SETTINGS_SHORTCUT_FULLSCREEN":"Teljes képernyő ki-/bekapcsolása","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Vezérlők megjelenítése","SETTINGS_SHORTCUT_PLAY_PAUSE":"Lejátszás / Szünet","SETTINGS_SHORTCUT_VOLUME_UP":"Hangosítás","SETTINGS_SHORTCUT_VOLUME_DOWN":"Lehalkítás","SETTINGS_SHORTCUT_SEEK_NEXT":"Következőhöz tekerés","SETTINGS_SHORTCUT_SEEK_PREV":"Előzőhöz tekerés","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Visszafele tekerés","SETTINGS_SHORTCUT_SEEK_FORWARD":"Előre tekerés","SETTINGS_SHORTCUT_PLAY_NEXT":"Következő lejátszása","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Feliratok méretének növelése","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Feliratok méretének csökkentése","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Feliratok késleltetésének növelése","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Feliratok késleltetésének csökkentése","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Oldalsáv ki-/bekapcsolása","SETTINGS_SHORTCUT_OR":"vagy","SETTINGS_SHORTCUT_TO":"-","SETTINGS_SHORTCUT_SPACE":"Szóköz","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Hitelesítés","SETTINGS_FACEBOOK_IMPORT":"Importálás","SETTINGS_CALENDAR_SUBSCRIBE":"Feliratkozás","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Kezelőfelület nyelve","SETTINGS_LAUNCH_STARTUP":"Alkalmazás indítása bekapcsoláskor","SETTINGS_VLC_DEFAULT":"Lejátszás VLC-vel","SETTINGS_UI_LANGUAGE":"Felhasználói felület nyelv","SETTINGS_UI_ZOOM":"Kezelőfelület nagyítás","SETTINGS_FULLSCREEN_EXIT":"Kilépés a teljes képernyőről","SETTINGS_GAMEPAD":"Játékvezérlő támogatás engedélyezése","SETTINGS_CLOSE_WINDOW":"Zárja be az alkalmazást, ha az ablak be van zárva","SETTINGS_SUBTITLES_LANGUAGE":"Feliratok alapértelmezett nyelve","SETTINGS_SUBTITLES_SIZE":"Alapértelmezett feliratméret","SETTINGS_SUBTITLES_BACKGROUND":"Feliratok háttér","SETTINGS_SUBTITLES_COLOR":"Feliratok színe","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Feliratok körvonalának színe","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Feliratok háttérszíne","SETTINGS_SEEK_KEY":"A nyilakkal tekerésre használhatók","SETTINGS_SEEK_KEY_SHIFT":"A nyilakkal tekerni lehet, ha a Shift le van nyomva","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Előre- és visszatekerés hossza","SETTINGS_BINGE":"A következő epizód automatikus lejátszása","SETTINGS_NEXT_VIDEO":"Értesítés megjelenítése a következő epizód elindításához","SETTINGS_NEXT_VIDEO_TRIGGER":"Értesítés megjelenítése a következő epizódról:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Következő videó előugró ablak időtartama","SETTINGS_PLAY_IN_BACKGROUND":"Lejátszás a háttérben","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Lejátszás külső lejátszóban","SETTINGS_RESIZE":"Az ablak automatikus átméretezése lejátszás előtt","SETTINGS_OVERRIDE_SERVER":"A streaming szerver URL-jének felülírása (speciális)","SETTINGS_SERVER_URL":"Streaming szerver URL-je: ","SETTINGS_SERVER_AVAILABLE":"Streaming szerver elérhető.","SETTINGS_SERVER_UNAVAILABLE":"Streaming szerver nem érhető el.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Hiba","SETTINGS_SERVER_CONFIGURE_TITLE":"A streaming szerver URL-jének konfigurálása","SETTINGS_SERVER_CONFIGURE_INPUT":"Adja meg a streaming szerver URL-címét","SETTINGS_SERVER_CACHE_SIZE":"Gyorsítótár mérete","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent profil","SETTINGS_HTTPS_ENDPOINT":"Streaming HTTPS végpont: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Mindig használja a legújabb Bétát","SETTINGS_IMPORT_FB":"Importálás Facebookról","SETTINGS_IMPORT_DISK":"Importálás helyi lemezről","SETTINGS_IMPORT_TRAKT":"Importálás a Traktból","SETTINGS_PAUSE_MINIMIZED":"Lejátszás szüneteltetése lekicsinyítés során","SETTINGS_HWDEC":"Hardveresen gyorsított dekódolás","SETTINGS_BACKGROUND":"Lejátszás a háttérben","SETTINGS_SUBSCRIBE_CALENDAR":"Feliratkozás naptárra","SETTINGS_REQ_EXPORT":"Adatexportálás kérése","SETTINGS_ACC_DELETE":"Fiók törlésének kérése","SETTINGS_CHANGE_PASSWORD":"Jelszó megváltoztatása","SETTINGS_TOS":"Általános Szerződési Feltételek","SETTINGS_SUPPORT":"Kapcsolat felvétele","SETTING_LANGUAGE":"Nyelv","SETTINGS_TRAKT":"Megtekintési szokások megosztása a Trakt-tal","SETTINGS_TRAKT_LOGOUT":"Jelentkezzen ki a Trakt.tv-ből","SETTINGS_TRAKT_LOGOUT_2":"Jelentkezzen ki a Traktból","SETTINGS_SCAN_FOR_REMOTE":"A távirányító megnyitásához olvassa be a QR-kódot","SETTINGS_DESKTOP_NOTIFICATIONS":"Asztali értesítések","SETTINGS_DATA_SAVER":"Adatmegtakarítás","SETTINGS_LANGUAGE_INTERFACE":"felület","SETTINGS_LANGUAGE_SUBS":"alapértelmezett feliratok","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Automatikus hangsáv kiválasztása","SETTINGS_DEFAULT_AUDIO_TRACK":"Alapértelmezett hangsáv","SETTINGS_SURROUND_SOUND":"Térbeli hangzás","SETTINGS_ACCOUNT":"fiókot","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"Verzió","SETTINGS_ABOUT":"Rólunk","SETTINGS_MPV_WINDOW":"Indítsa el a lejátszót egy külön ablakban (speciális)","SETTINGS_PLAY_IN_EXTERNAL":"Mindig indítsa el a videót a külső lejátszóban","SETTINGS_STORAGE_BUTTON":"Helyi tárhely törlése","SETTINGS_STORAGE_MODAL_TITLE":"Biztos vagy ebben ?","SETTINGS_STORAGE_MODAL_MESSAGE":"Ezzel törli a helyi tárhelyet, és kijelentkezik.","SETTINGS_HWDEC_PICKER":"Válasszon hardveresen gyorsított dekódolási beállítást","SETTINGS_HW_AUTOMATIC":"Automatikus","SETTINGS_HW_DISABLED":"Tiltva","SETTINGS_HW_ACCELERATED":"Dekódolási gyorsítás","SETTINGS_HW_FULL":"Teljes gyorsítás","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Tiltva","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Távoli szerver URL-je","SETTINGS_COPY_REMOTE_URL":"Távoli szerver URL másolása","SETTINGS_REMOTE_URL_COPIED":"A távoli szerver URL-jét a vágólapodra másoltuk","SETTINGS_SECTION_SUBTITLES":"Feliratok","SETTINGS_SECTION_AUDIO":"Hang","SETTINGS_SECTION_CONTROLS":"Vezérlők","SETTINGS_SECTION_AUTO_PLAY":"Automatikus lejátszás","SETTINGS_SECTION_ADVANCED":"Fejlett","SUBSPICKER_AUDIO":"Hang","SUBSPICKER_SUBTITLES":"Bővítmények feliratai","SUBSPICKER_BLACK_BACKGROUND":"Használjon fekete háttérszínt","SUBSPICKER_VERTICAL_OFFSET":"Függőleges eltolás","SUBSPICKER_SIZE":"Méret","SUBSPICKER_DELAY":"Késleltetés","SUBSPICKER_EMBEDDED_SUBS":"Beágyazott feliratok","MOBILE_PRIVACY_POLICY":"Adatvédelmi irányelvek","MOBILE_CRASH_REPORTING":"Összeomlás jelentése","MOBILE_ZOOM_TO_FILL":"Nagyítás a képernyő kitöltéséhez","MOBILE_PASSTHROUGH":"Digitális audio kimenet (passthrough)","MOBILE_RUN_LOW_BATTERY":"Alacsony akkumulátoros működés","MOBILE_RUN_FOREGROUND":"Futtassa előtér-szolgáltatásként","MOBILE_PERFORMANCE":"TELJESÍTMÉNY & STABILITÁS","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"A QR-kód lejár ","MOBILE_LOG_INTO":"Jelentkezzen be Stremio-fiókjába ","MOBILE_SCAN_QR":"Olvassa be a fenti QR-kódot, vagy lépjen a következő helyre ","MOBILE_LINK_ACCOUNT":"Fiók összekapcsolása","MOBILE_SPEEDPICKER_CANCEL":"Mégse","MOBILE_SPEEDPICKER_LABEL":"Lejátszási sebesség kiválasztása","MOBILE_EMPTY_LIBRARY":"A könyvtára üres","MOBILE_NO_ADDON_ACTIVE":"Nincs aktív Stremio-bővítmény ehhez a típushoz.","MOBILE_ORGANIZER_WARNING":"A Stremio Organizer alkalmazás korlátozott funkcionalitást biztosít. Az elérhető streamek listájáért és a teljes Stremio élményért használd az asztali alkalmazást.","MOBILE_ADDON_LOADING":"még mindig töltődik","MOBILE_ADDONS_LOADING":"a bővítmények még mindig töltődnek","MOBILE_ADDON":"Hozzáad","MOBILE_CONFIGURE_ADDON":"Konfiguráld a bővítményt","MOBILE_CONFIGURE_ADDON_LABEL":"Bővítmény konfigurálása","MOBILE_ORGANIZER_ADDONS_WARNING":"A Stremio Organizer alkalmazás a bővítmények korlátozott választékát kínálja. A teljes Stremio élményért használd az asztali alkalmazást!","MOBILE_DISCONNECT":"Leválasztás","MOBILE_LOOKING_FOR_DEVICES":"Eszközök keresése...","MOBILE_CAST_TO":"Kivetítés ide","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Fiók törlése","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"A fiók törlése jogi kötelezettségek miatt nem azonnali. Miután kérte fiókja törlését, a jövőben új Stremio-fiók létrehozásához más e-mail címet/facebook-profilt kell használnia.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Erősítse meg a fiók törlését","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Fiókod a Facebook használatával jött létre. Ha törölni szeretné fiókját, kérjük, használja felhasználói portálunkat a www.stremio.com/login címen.","MOBILE_DELETE_ACCOUNT_MESSAGE":"Kérjük, adja meg jelszavát a fiók törlésének megerősítéséhez.","MOBILE_DELETE_ACCOUNT_BUTTON":"Fiók törlése","NAVIGATION_ON":"Be","NAVIGATION_OFF":"Ki","MARKETING_AGREE":"Hozzájárulok ahhoz, hogy marketingkommunikációt kapjak a Stremiótól","QUIT":"Kilépés","CONNECTED":"Csatlakoztatva","AUTHENTICATE":"Bejelentkezés","CACHING":"Gyorsítótárazás","SETTINGS_CACHING_DRIVE":"Gyorsítótár meghajtó","ENABLE_LOCAL_FILES_ADDON":"A helyi fájlok bővítmény engedélyezése (újraindítás szükséges)","LOCAL_ADDON_NOT_ENABLED":"A helyi bővítmény nincs engedélyezve. Kattints ide, hogy a beállításokban engedélyezd!","ENABLE_REMOTE_HTTPS_CONN":"Távoli HTTPS-kapcsolatok engedélyezése","TORRENT_PROFILE":"Torrent profil","DATA_CACHING":"Adatgyorsítótár","MAGNET_PARSING":"Mágnes link elemzése","January":"január","February":"február","March":"március","April":"április","May":"május","June":"június","July":"július","August":"augusztus","September":"szeptember","October":"október","November":"november","December":"december","Monday":"hétfő","Tuesday":"kedd","Wednesday":"szerda","Thursday":"csütörtök","Friday":"péntek","Saturday":"szombat","Sunday":"vasárnap","Action":"Akció","Comedy":"Vígjáték","War":"Háborús","Family":"Családi","Animation":"Animációs","Adventure":"Kaland","Fantasy":"Fantasztikus","Crime":"Krimi","Mystery":"Misztikus","Romance":"Romantikus","Drama":"Dráma","Horror":"Horror","Thriller":"Thriller","Sci-Fi":"Sci-fi","Music":"Zenei","Biography":"Életrajzi","Documentary":"Dokumentumfilm","Sport":"Sport","Musical":"Zenei","Western":"Vadnyugati","Film-Noir":"Noir","News":"Hírek","History":"Történelem","Game-Show":"Játék show","Reality-TV":"Valóság-show","Talk-Show":"Beszélgetős műsor","Film & Entertainment":"Film & Szórakozás","Gaming":"Játék","From TV":"TV-ből","Lifestyle":"Életstílus","Science & Education":"Tudomány és oktatás","Cooking & Health":"Főzés és egészség","Beauty & Fashion":"Szépségápolás és divat","Sports":"Sport","News & Politics":"Hírek és politika","How-to & DIY":"Útmutatók és barkácsolás","Tech":"Technológia","Automotive":"Autó","Causes & Non-Profits":"Ügyek és non-profit szervezetek","Movies":"Filmek","Uk Live Tv":"Egyesült Királyság Élő TV","Fashion":"Divat","Business News Radio":"Rádiós üzleti hírek","Business Tv":"Üzleti TV","Cars & Auto":"Autók","Comedy Radio":"Rádiós komédia","Lifestyle Radio":"Életstílus rádió","News Tv":"TV-s hírek","Food And Wine":"Étel és ital","Latino Tv":"Latin TV","Shopping Tv":"Vásárlós TV","Religion":"Vallás","Kids":"Gyerekek","Body & Soul":"Test és lélek","Education":"Oktatás","Indian Tv":"Indiai TV","Extreme Sports":"Extrém Sportok","Middle Eastern Tv":"Közel-Keleti TV","Celebrity Tv":"Celeb TV","Science Tv":"Tudományos TV","Bikini babe":"Bikinis csajok","Outdoors":"Szabadtéri","German Tv":"Német TV","French Tv":"Francia TV","Italian Tv":"Olasz TV","Gamer Tv":"Gamer TV","Travel":"Utazás","Asian Tv":"Ázsiai TV","Entertainment":"Szórakoztatás","News Radio":"Rádiós hírek","Music Radio":"Zenei rádió","Language Learning":"Nyelvtanulás","Science Radio":"Tudományos rádió","Tech Radio":"Technológiai rádió","Science & Technology Vod":"Tudomány és technológia Vod","new video":"új videó","new episode":"új epizód","new movie":"új film","recommended":"ajánlott","we recommend":"ajánljuk","offer of the day":"a nap ajánlata","news":"hírek","music video":"zene videó","CTX_SHOW_HOTKEYS":"Gyorsbillentyűk megjelenítése","CTX_DISMISS_NOTIF":"Értesítések elvetése","CTX_DISMISS_ALL":"Mindet elutasít","CTX_SHARE":"Megosztás","CTX_COPY_SHARE_LINK":"Megosztási link másolása","CTX_COPY_MAGNET_LINK":"Mágnes link másolása","CTX_COPY_STREAM_LINK":"Stream link másolása","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Töltse le ezt a videót","CTX_DOWNLOAD_SUBS":"Feliratok letöltése","CTX_VIEW_ON_YOUTUBE":"Megtekintés a YouTube-on","CTX_SHOW":"Mutat","CTX_PLAY":"Lejátszás","CTX_PLAY_IN":"Lejátszás ezzel:","CTX_PLAY_ON":"Lejátszás ezen:","CTX_WATCH_ON":"Megtekintés ezen:","CTX_WATCH":"Megtekintés","CTX_WATCHED":"Megtekintett","CTX_WATCH_BEGINNING":"Megtekintés az elejétől","CTX_WATCH_MOBILE":"Megtekintés mobileszközön","CTX_REWIND":"Visszatekerés az elejére","CTX_MARK_WATCHED":"Megjelölés nézettként","CTX_MARK_NON_WATCHED":"Megjelölés nem megtekintettként","CTX_MARK_UNWATCHED":"Megjelölés nem megtekintettként","CTX_MARK_REST":"Hátralevők megjelölése nézettként","CTX_UNMARK_REST":"Hátralevők megjelölése nem nézettként","CTX_RECEIVE_NEW_NOTIF":"Új értesítések fogadása","CTX_ENABLE_NEW_NOTIF":"Értesítések engedélyezése","CTX_DISABLE_NEW_NOTIF":"Értesítések kikapcsolása","CTX_REMOVE_CACHE":"Eltávolítás a gyorsítótárból","CTX_REMOVE_CACHE_EP":"Epizód eltávolítása a gyorsítótárból","CTX_OPEN_CONTAINING":"Nyissa meg a tartalmazó mappát","CTX_REMOVE":"Eltávolítás a könyvtárból","CTX_AVAILABLE_OFFLINE":"Offline elérhető","CTX_PAUSED":"Szüneteltetve","CTX_ALWAYS_ON_TOP":"Mindig legfelül","CTX_FULLSCREEN":"Teljes képernyő","CTX_WRONG_SUBS":"Rossz felirat?","CTX_REPORT_ISSUES":"Probléma bejelentése","CTX_COPY":"Másolás","CTX_PASTE":"Beillesztés","CTX_CLEAR":"Törlés","CTX_CLEAR_RECENT_SEARCHES":"Legutóbbi keresések törlése","HELLO_THERE":"Szia","HOPE_YOU_ENJOY":"Reméljük, hogy élvezed a Stremio használatát, és ez már az egyik kedvenc alkalmazásod!","WHO_ARE_WE":"Kik vagyunk mi? Mi vagyunk a mögötte álló csapat - két srác, akik az elmúlt 3 évben minden nap keményen dolgoznak, hogy egyre jobbá és jobbá tegyék ezt a terméket.","SUPPORT_US":"Ha szívesen használod a Stremio-t, ha a Stremio értékes számodra - terjeszd a hírét!","SPREAD_THE_WORD":"Oszd meg barátaiddal, terjeszd a Stremio hírét!","MORE_PEOPLE":"Minél többen használják a Stremiót, annál jobb lesz!","SEND_A_LINK":"Vagy küldd el a weboldalunkra vezető linket","TIP_LOCALFILES":"Tipp: behúzhatsz helyi videó fájlokat a Stremio-ba","ADDON_MY":"Saját bővítményeim","ADDON_COMMUNITY":"Közösségi bővítmények","ADDON_OFFICIAL":"Hivatalos bővítmények","ADDON_REPOS":"Bővítmény kollekciók","ADDON_SEARCH":"Bővítmények keresése","ADDON_INSTALL":"Telepítés","ADDON_CONFIGURE":"Konfigurálás","ADDON_UNINSTALL":"Eltávolítás","ADDON_UPGRADE":"Frissítés","ADDON_INSTALLED":"Telepítve","ADDON_INSTALLED_MSG":"Bővítmény telepítve!","ADDON_UPGRADED_MSG":"Bővítmény frissítve!","ADDON_UNKNOWN":"Ismeretlen","ADDON_ERR":"Bővítmény telepítési hiba!","ADDON_DISCONNECTED":"Szétkapcsolt","ADDON_APP_MISSING":"ehhez a forráshoz az alkalmazás nincs telepítve. Szeretnéd most telepíteni?","ADDON_APP_INSTALL":"Telepítés most","ADDON_PAGE":"Bővítmény oldala","ADDON_TOP_CONTENT":"A legjobbak ettől a bővítménytől","ADDON_PROVIDES":"Ez a bővítmény ezeket adja:","ADDON_WATCH":"Nézz #{types} most!","ADDON_WATCH_FREE":"Nézz #{types} INGYENESEN most!","ADDON_ADDON":"Hozzáad","ADDON_SUPPORTED_TYPES":"Támogatott típusok","ADDON_SUPPORTED_CATALOGS":"Támogatott katalógusok","ADDON_PROVIDES_DISCOVER":"Több #{types} a Felfedezés fülön","ADDON_PROVIDES_STREAMS":"Nézz #{types}","ADDON_PROVIDES_STREAMS_FREE":"Nézz #{types} INGYENESEN","ADDON_PROVIDES_SUBTITLES":"Feliratok a ehhez: #{types}","ADDON_CANTDETECT":"Nem tudtuk észlelni a futó Stremiót, így nem tudtuk észlelni, hogy milyen bővítményeket telepített.","ERR_NO_META":"Erről nem található információ ","ERR_GETTING_META":"Hiba történt az ezzel kapcsolatos információk lekérésekor.","ERR_CANT_PARSE_MAGNET":"Nem sikerült elemezni a mágnest","ERR_NO_MAGNET_INFOHASH":"Nincs érvényes információs hash a mágneshez","ERR_NO_FILE_PATH":"Nem lehet elküldeni a kérést a fájl elérési útja nélkül","ERR_NO_TORRENT":"Nem tért vissza a torrent","ERR_NO_SUPPORTERD_FILES":"Nem található támogatott fájl","ERR_OPENING_FILES":"Nem sikerült megnyitni a külső fájlokat","ERR_INVALID_LINK":"Érvénytelen link","ERR_REGISTERED_ONLY":"Ez a lehetőség csak regisztrált felhasználók számára elérhető.","ERR_CLIPBOARD":"Nem lehet lejátszani a vágólapról","ERR_CLIPBOARD_READ":"A vágólap nem olvasható ezen a platformon","ERR_CLIPBOARD_GENERIC":"Nem található lejátszható URL a vágólapon. Kérjük másolj ki egy videóhoz vezető URL-t (pl. mágnes linket).","BOARD_CONTINUE_WATCHING":"Megtekintés folytatása","BOARD_EXPLANATION_RECOMMENDATIONS":"Kifejezetten az Ön számára kiválasztott filmek.<br />Ez a film egy mintaajánlás.","BOARD_EXPLANATION_EPISODES":"Ide érkeznek kedvenc sorozatod új epizódjai.<br />Add hozzá a követett sorozatokat a könyvtáradhoz.","BOARD_EXPLANATION_VIDEOS":"Ide érkeznek kedvenc csatornáid új epizódjai.<br />Add hozzá a követett YouTube-csatornákat a könyvtáradhoz.","WEBSITE_ENJOYED_BY":"Világszerte több mint 30 millió felhasználó élvezi","WEBSITE_STREAMING_ENHANCED":"Továbbfejlesztett streamelés","WEBSITE_STREAMING_ENHANCED_DETAILS":"A Stremio biztonságos, modern és zökkenőmentes szórakozási élményt kínál. Könnyen használható felületének és változatos tartalomkönyvtárának köszönhetően - beleértve a 4K HDR támogatást is - a felhasználók minden eszközükön élvezhetik kedvenc filmjeiket és tévéműsoraikat. A biztonság iránti elkötelezettségével pedig a Stremio a tökéletes választás a gondtalan, kiváló minőségű streaming élményhez.","WEBSITE_AVAILABLE_ON":"Elérhető itt:","WEBSITE_WATCH_AND_ENJOY":"Nézd és élvezd!","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"A Stremio gyerekjátékká teszi a dolgot","WEBSITE_ALL_FEATURES":"Minden funkció","WEBSITE_EASY_TO_USE":"Könnyen kezelhető","WEBSITE_EASY_TO_USE_DETAILS":"A Stremio-t úgy tervezték, hogy felhasználóbarát és könnyen használható legyen. Tiszta és intuitív felületével könnyen navigálhatod és megtalálhatod a megnézni kívánt tartalmat.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Zökkenőmentes, egyszerre több eszközön ","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"A Stremio számos platformra (többek között Windows, Mac, Linux, Android és más) elérhető, és minden eszközön nyomon követi a haladásodat. Csak jelentkezz be, és folytasd a megtekintést anélkül, hogy minden egyes új eszközön újra be kellene állítanod az alkalmazást.","WEBSITE_ALL_DOWNLOADS":"Minden letöltés","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"Nagy felbontású videó támogatás","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"A legtöbb videóformátumot, köztük a 4K HDR tartalmat is támogató integrált videolejátszó lehetővé teszi, hogy élvezze az elérhető legjobb minőséget.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Változatos tartalomtár","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"A Stremio számos népszerű videóforrással integrálható, mint például a Netflix, az Amazon Prime Video, a Hulu, a YouTube és még sok más.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Fiók ingyenes létrehozása","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Személyre szabott megtekintési élmény","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"A Stremio lehetővé teszi a felület kinézetének testreszabását a téma megváltoztatásával, a bővítmények hozzáadásával vagy eltávolításával stb.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Többnyelvű felirat támogatás","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"Már az összes kedvenc tartalmadat élvezheted a kívánt nyelven, mivel a Stremio minden nyelven támogatja a feliratokat.","WEBSITE_ALL_STREMIO_FEATURES":"A Stremio összes funkciója","WEBSITE_TRY_STREMIO_TITLE_P1":"Próbáld ki a Stremio-t","WEBSITE_TRY_STREMIO_TITLE_P2":"Most a Te TV-den","WEBSITE_YOU_CAN_NOW_WATCH":"Most az összes kedvenc sorozatodat megnézheted az Android TV-eszközeiden. A Stremio TV alkalmazással könnyedén élvezheted a mozi estéket.","WEBSITE_YOU_CAN_NOW_WATCH_2":"Most az összes kedvenc sorozatodat megnézheted az okos TV-eszközeiden. A Stremio TV alkalmazással könnyedén élvezheted a mozi estéket.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio okos TV-hez","WEBSITE_PLAY_STORE_REVIEW":"Valószínűleg a legjobb és leghasznosabb alkalmazás, amit a készülékeden lehet. Ez az egyik olyan alkalmazás, amelyet napi szinten használok, különösen az Android TV-men már évek óta. Jól van elkészítve egy erős közösséggel, amely hasznos funkciókat biztosít. Nagyszerű munka. Csak így tovább!","WEBSITE_REVIEWS":"vélemények","WEBSITE_GET_STREMIO_FOR_FREE":"Szerezze be ingyen a Stremiót","WEBSITE_GET_STREMIO_NOW":"Szerezze be a Stremiót most","WEBSITE_STREMIO_FEATURES":"Stremio funkciók","WEBSITE_STREMIO_FEATURES_DETAILS":"A Stremio fejlett funkcióival profiként streamelhet, és zökkenőmentesen férhet hozzá kedvenc médiájához","WEBSITE_DISCOVER_MORE":"Tudj meg többet!","WEBSITE_DISCOVER_MORE_DETAILS":"Soha ne fogyj ki a néznivalóból!","WEBSITE_COMMUNITY_DRIVEN":"Közösségvezérelt","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"A Stremio nagy és aktív felhasználói közösséggel rendelkezik, akik bővítmények létrehozásával és megosztásával járulnak hozzá a szoftver fejlesztéséhez.","WEBSITE_GET_INVOLVED":"Vegyél részt benne","WEBSITE_NEW_THEATER_EXPERIENCE":"Új házimozi élmény","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"A Stremio új dedikált TV-alkalmazása lehetővé teszi, hogy élvezze a filmestet Android TV-eszközein.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"A Stremio új dedikált TV-alkalmazásai lehetővé teszik, hogy moziesteket élvezzen Smart TV-n vagy Android TV-eszközén.","WEBSITE_FREE_AND_SECURE":"Ingyenes és biztonságos","WEBSITE_STREAMING":"Streamelés","WEBSITE_FREE_AND_SECURE_DETAILS":"A Stremio páratlan biztonságot és adatvédelmet kínál a felhasználók számára. A Stremio egyedülálló funkciójával, amely lehetővé teszi az addonok távoli futtatását, más platformokhoz képest biztonságosabb módot biztosít kedvenc tartalmainak streamelésére. A Te és adataid biztonsága elsődleges fontosságú, és a platform biztosítja, hogy minden adatod védve legyen.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Mondj búcsút a biztonsággal és a adatvédelemmel kapcsolatos aggodalmaknak, és köszöntsd a végtelen szórakozás világát a Stremio segítségével.","WEBSITE_INFORMATION_PROVIDED_BY":"által biztosított információkat","WEBSITE_CONTRIBUTE":"Hozzájárul","WEBSITE_CONTRIBUTE_DESC":"a projekthez","WEBSITE_COMMUNITY_DESC":"Hiszünk abban, hogy a legjobb módja annak, hogy valóban lenyűgöző streamelési élményt teremtsünk, ha bevonjuk közösségünket a folyamatba. Lehetsz programozó, művész, vagy csak rajongó - tudsz segíteni a Stremio növekedésében.","WEBSITE_COMMUNITY_DESC_2":"Tehát csatlakozz hozzánk még ma, legyél tagja a Stremio közösségnek, és formáld a streamelés jövőjét.","WEBSITE_WAYS_TO_GET_INVOLVED":"A részvétel módjai","WEBSITE_IN_THE_STREMIO_COMMUNITY":"a Stremio közösségben","WEBSITE_SHARE_YOUR_THOUGHTS":"Oszd meg a gondolataidat","WEBSITE_REPORT_BUGS":"Hibák bejelentése","WEBSITE_SUGGEST_FEATURES":"javasolj funkciókat","WEBSITE_AND_PROVIDE_FEEDBACK":"és adj nekünk visszajelzést a közösségi média csatornáinkon.","WEBSITE_BETA_TESTING_PROGRAM":"Bétatesztelő program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Vegyél részt béta tesztelési programunkban (rendszeresen küldünk meghívókat) a Stremio közösségben.","WEBSITE_JOIN_NOW":"Csatlakozz most!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Hivatalos Stremio Közösségek","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Nem hivatalos Stremio Közösségek","WEBSITE_BECOME":"Légy","WEBSITE_A_VOLUNTEER_TRANSLATOR":"önkéntes fordító","WEBSITE_ARE_YOU_A_DEVELOPER":"Fejlesztő vagy?","WEBSITE_CONTRIBUTE_CODE":"Hozzájárulhatsz kóddal nyílt forráskódú projektjeinkhez. A GitHubon több olyan projektünk is van, amelyekhez segítőket keresünk. Ha szeretnél segíteni, nézd meg őket:","WEBSITE_STREMIO_ON_GITHUB":"Stremio a GitHubon","WEBSITE_CREATE_ADDON_DESC":"Hozz létre bővítményeket, a Stremio funkcióinak bővítésére (az API-unk könnyen használható):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"Lehetőséget biztosítunk arra is, hogy gyakornok fejlesztőként csatlakozz hozzánk, hogy együtt növekedhessünk.","WEBSITE_APPLY_AS_AN_INTERN":"Jelentkezzen gyakornoknak","WEBSITE_CALLING_ALL_ARTISTS":"Figyelem, művészek!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Mutasd meg kreativitásodat és a Stremio iránti szeretetedet azzal, hogy feltöltöd rajongói művedet az online galériánkba. Legyen szó rajzról, festményről vagy digitális dizájnról, szeretnénk látni a Stremio márka egyedi megjelenítését. Csatlakozz a művészetkedvelők közösségéhez, és oszd meg alkotásaidat a Stremio rajongóival világszerte.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Galéria","WEBSITE_INTERN_DESIGNER":"Légy csapatunk tagja, és emeld kreativitásodat új magasságokba izgalmas szakmai gyakorlati lehetőségeink segítségével.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Közkincsfilmek projekt","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"A Stremio elkötelezett a film- és tévétörténet megőrzése mellett a köztulajdonban lévő és elárvult videók azonosításával. A közösségünkkel együttműködve biztosíthatjuk, hogy ezek a klasszikus műalkotások mindenki számára hozzáférhetőek legyenek, és a jövő generációi számára is védetté váljanak.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Nyugodtan fordulj hozzánk, ha szeretnél részt venni a projektben.","WEBSITE_JOIN_THE_PROJECT":"Csatlakozz a Projekthez","WEBSITE_BE_PART_OF_OUR_MISSION":"Légy részese a küldetésünknek","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Szeretnél csatlakozni a Stremio csapatához? Teljes mértékben távmunkát kínálunk szenvedélyes szakemberek számára. Tekintsd meg nyitott pozícióinkat.","WEBSITE_OPEN_POSITIONS":"NYITOTT POZÍCIÓK","WEBSITE_DESCRIPTION":"LEÍRÁS","WEBSITE_LEARN_MORE":"Tudj meg többet","WEBSITE_COMPANY":"Vállalat","WEBSITE_CONTACTS":"Kapcsolatok","WEBSITE_NEED_HELP":"Kell segítség?","WEBSITE_STREMIO_WEB_ON_IOS":"Útmutató a Stremio Web használatához iOS rendszeren","WEBSITE_LINK_ART_V2":"Fanart Galéria","WEBSITE_PARTNERS":"Partnerek","WEBSITE_SLOGAN_WATCH":"Azonnali megtekintés","WEBSITE_SLOGAN_ALL":"Minden kedvenc videó tartalmad egy helyen","WEBSITE_SLOGAN_NEW":"Nézd, amennyit csak szeretnél","WEBSITE_SLOGAN_NEW_NEW":"A streamelés szabadsága","WEBSITE_WATCH_FROM":"Nézd meg","WEBSITE_DOWNLOAD":"Letöltés most","WEBSITE_DOWNLOAD_FOR":"Töltsd le most","WEBSITE_IS_DESKTOP":"A Stremio egy asztali alkalmazás, nyisd meg ezt az oldalt a számítógépeden, és töltsd le","WEBSITE_DESKTOP_DEMO_VID":"Asztali demó","WEBSITE_PAGE_HOME":"Kezdőlap","WEBSITE_PAGE_FEATURES":"Funkciók","WEBSITE_PAGE_ADDONS":"Bővítmények","WEBSITE_PAGE_TECH":"Technológia","WEBSITE_PAGE_CREATE_ADDON":"Bővítmény létrehozása","WEBSITE_PAGE_CONTACTS":"Kapcsolatok","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Kérjük, alább gépeld be a kívánt jelszót!","WEBSITE_RESET_PASSWORD_WARNING":"Biztosan vissza akarod állítani a jelszót a következő számára: ${1}?","WEBSITE_TYPE_movie":"Filmek","WEBSITE_TYPE_series_PL":"Sorozatok","WEBSITE_TYPE_tv":"Élő tv","WEBSITE_TYPE_channel":"Csatornák","WEBSITE_STREMIO_WHAT_IS":"A Stremio egy olyan alkalmazás, amely segít rendszerezni és azonnal megtekinteni kedvenc videóidat, filmjeidet, tévésorozataidat és TV-csatornáidat.","WEBSITE_FEATURES_WATCH":"Nézze meg azonnal HD minőségben","WEBSITE_FEATURES_WATCH_DETAIL":"Kattints és játszd le kedvenc filmjeidet, TV-műsoraidat, videóidat és TV-csatornáidat.","WEBSITE_FEATURES_SUBS":"Automatikus feliratok","WEBSITE_FEATURES_SUBS_DETAIL":"A Stremio automatikusan kiválasztja a szinkronizált feliratokat a te nyelvedhez.","WEBSITE_FEATURES_SUBS_LABEL":"Nálad a labda, főnök.","WEBSITE_FEATURES_CAST":"Játszd le TV-n és mobil eszközökön","WEBSITE_FEATURES_CAST_DETAIL":"Kivetítés AppleTV-re, Chromecastra, Smart TV-re (DLNA/UPnP) és mobileszközökre.","WEBSITE_LIB":"Élvezze az összes eszközén szinkronizált személyes könyvtárát","WEBSITE_LIB_COLLECT":"Gyűjtse a Stremióból","WEBSITE_LIB_IMPORT":"Importálás a Facebookról","WEBSITE_LIB_LOCAL":"Hozzáadás a helyi meghajtóról","WEBSITE_BOARD":"A tábla – Az értesítések és ajánlások egy helyen","WEBSITE_BOARD_RECOMMEND":"Ajánlott tévéműsor","WEBSITE_BOARD_TRENDING":"Felkapott film","WEBSITE_BOARD_NEW":"Új Videó","WEBSITE_BOARD_EPISODE":"Új epizód","WEBSITE_BOARD_1":"Valami érdekes néznivalót keresel? Kapj ajánlásokat az ízléseid alapján!","WEBSITE_BOARD_2":"Értesítést kaphatsz kedvenc tévéműsoraid vagy YouTube-csatornáid új epizódjairól!","WEBSITE_BOARD_YOUTUBE":"Új videók a YouTube csatornákról","WEBSITE_BOARD_EPISODES":"Az általad követett sorozatok új epizódjai","WEBSITE_ADDONS":"Tartalom-bővítmények","WEBSITE_TECH_DETAIL":"Szeretjük a technológiát, szeretjük az őrült tudományt! A Stremio a következő nyílforráskódú technológiákat használja:\\n","WEBSITE_TECH_WCJS":"A WebChimera.js lehetővé teszi a Stremio számára, hogy bármilyen videóformátumot jó teljesítménnyel játsszon le.","WEBSITE_TECH_WCJS_EXTRA":"A projekt fő közreműködői vagyunk","WEBSITE_TECH_ELECTRON":"Az Electron innovatív platformot biztosít a Stremio építéséhez.","WEBSITE_TECH_ELECTRON_EXTRA":"A projekt közreműködői vagyunk","WEBSITE_TECH_LINVODB":"Egy adatbázis-technológia, amely biztosítja, hogy adatai rendszerezve legyenek, és bárhol elérhetők legyenek, ahol bejelentkezik.","WEBSITE_TECH_LINVODB_EXTRA":"Házon belüli technológia","WEBSITE_CREATE_ADDON":"Hozz létre saját bővítményt","WEBSITE_CREATE_ADDON_DETAIL":"Van saját videó szolgáltatásod? Segítünk kihasználni a Stremio által nyújtott funkciókat azzal, hogy elkészítjük a bővítményedet.","WEBSITE_CREATE_ADDON_BENEFITS":"A Stremio bővítmény létrehozásának előnyei","WEBSITE_P2P_BEAUTY":"A peer-to-peer streaming szépsége","WEBSITE_P2P_1":"Megbízható és megfizethető Full HD / 4K videó igény szerint vagy élő közvetítés","WEBSITE_P2P_2":"Nagyszerű felhasználói élményt nyújtó terjesztési platform","WEBSITE_P2P_3":"Pontosan az Ön igényeinek megfelelő bővítményt készítünk","WEBSITE_P2P_CONTACT":"Érdekel? <a href=\'mailto:office@stremio.com\'>Lépjen kapcsolatba velünk</a>!","WEBSITE_P2P_CONTACT_EXTRA":"Szívesen segítünk a tartalma integrálásában a Stremio platformra!","WEBSITE_P2P":"Egyszer-egyszer jön egy technológia, amely teljesen felforgatja a játékszabályokat. Rengeteg időt és energiát fektettünk a Peer-to-Peer (P2P) videostreaming motorunk megalkotásába, amely nagyszerű teljesítményt és sokoldalúságot biztosít, hogy bármilyen felhasználási esethez alkalmazkodni tudjon.\\nForduljon hozzánk a DRM-képes P2P-videó igény szerinti vagy élő streaming szolgáltatásért.","WEBSITE_THOUGHTS":"Megosztjuk gondolatainkat:","WEBSITE_SPREAD":"Terjeszd a hírt a Stremióról:","WEBSITE_CONTACT":"Vedd fel velünk a kapcsolatot, örömmel várjuk megkeresésedet!","WEBSITE_OPENSOURCE":"Nyílt forráskódú projektjeinkért látogass el a ","WEBSITE_BITCOIN":"Adományozz bitcoint:","WEBSITE_FAQ":"Gyakran Ismételt Kérdések","WEBSITE_FAQ_SHORT":"GYIK","WEBSITE_QUESTIONS":"Kérdések","WEBSITE_TOS":"Használati feltételek","WEBSITE_LEGAL":"Jogi","WEBSITE_PAGE_ABOUT":"Rólunk","WEBSITE_PAGE_BECOME_PARTNER":"Légy partnerünk","WEBSITE_ALL_YOU_CAN_WATCH":"Szabadon nézheted.","WEBSITE_FREEDOM_TO_STREAM":"A streamelés szabadsága","WEBSITE_WHAT_IS_STREMIO":"Mi az a stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"A Stremio egy központ a videótartalmak összegyűjtéséhez. Fedezd fel, rendszerezd és nézz videókat mindenféle forrásból bármilyen eszközödön.","WEBSITE_WHAT_IS_STREMIO_P2":"Filmek, tévéműsorok, sorozatok, élő televíziós csatornák vagy internetes csatornák, például a YouTube és a Twitch.tv – mindezt megtalálod a Stremio-n.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"A Stremio egy modern médiaközpont a videós szórakoztatáshoz. Fedezz fel, nézz és rendszerezz videótartalmakat könnyen telepíthető bővítményekből!","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Filmek, tévéműsorok, élő tévéműsorok vagy webcsatornák – mindezt megtalálod a Stremio-n.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Élvezd az összes médiaeszközödön","WEBSITE_DEVICES_COLLECT":"Gyűjts a Stremióból","WEBSITE_DEVICES_IMPORT_FB":"Importálás a Facebookról","WEBSITE_DEVICES_LOCAL":"Hozzáadás a helyi meghajtóról","WEBSITE_JOIN_THE_PARTY_NOW":"Csatlakozz most a bulihoz","WEBSITE_DEVICES_ALL":"Könnyen használható minden eszközödön;","WEBSITE_EXTENDABLE_CATALOG":"Végtelenül bővíthető videokatalógus;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Nagyszerű funkciók a média rendszerezéséhez;","WEBSITE_AS_SEEN_ON":"Amint látható","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"Rólunk","WEBSITE_LINK_TECHNOLOGY":"Technológia","WEBSITE_LINK_APPS":"Alkalmazások elemre","WEBSITE_LINK_DOWNLOADS":"Letöltések","WEBSITE_MORE":"Több","WEBSITE_LINK_ADDONS":"Bővítmények","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Hozzájárulás","WEBSITE_LINK_COMMUNITY":"Közösség","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... és más","WEBSITE_LINK_HELP":"Segítség Központ","WEBSITE_LINK_CONTACTS":"Üzleti kapcsolatfelvétel","WEBSITE_LINK_TOS":"Feltételek és kikötések","WEBSITE_LINK_PRAVACY":"Adatvédelmi irányelvek","WEBSITE_SUBSCRIBE":"Iratkozz fel","WEBSITE_NEWSLETTER":"Csodálatos dolgokért iratkozz fel hírlevelünkre","WEBSITE_PLACEHOLDER_EMAIL":"Az email címed","WEBSITE_COMMUNITY":"Közösség","WEBSITE_LINK_PRAVACY_LEGAL":"Adatvédelem","WEBSITE_WHY":"Ezért csináljuk","WEBSITE_WHY_P1":"A Stremio-nál minden nap azért megyünk dolgozni, mert egy fontos problémát akarunk megoldani a lekérhető videók iparágában. Olyan sok új tartalom jelenik meg percenként, hogy szinte lehetetlen eligazodni benne.","WEBSITE_WHY_P2":"Segítünk az embereknek eligazodni a videós szórakoztatás hatalmas világában, és új tartalmakat felfedezni. Alkalmazásaink filmeket, sorozatokat, élő tévéműsorokat, webes csatornákat és még sok mást hoznak össze. Elkötelezettek vagyunk amellett, hogy a felhasználók számára hihetetlenül egyszerűvé tegyük a számukra kedves műsorok és szolgáltatók megtalálását.","WEBSITE_WHY_P3":"Szolgáltatásunkat bármilyen eszközön és bármikor használhatod, így a Stremio az egyetlen videó szórakoztató központ, amelyre valaha szükséged lesz.","WEBSITE_TEAM":"CSAPAT","WEBSITE_TEAM_P":"A Stremio csapata kicsi, de erős: tízen vagyunk, X nyelven kódolunk, és megosztjuk egymással tapasztalatainkat a szoftverfejlesztés, a felhasználói felület és a UX tervezés, a marketing és a reklámozás, valamint az üzleti élet és a startupok terén.","WEBSITE_FEATURES":"Funkciók","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Fedezz fel új tartalmat könnyedén","WEBSITE_FEATURES_DISCOVER_P":"Könnyedén felfedezhetsz új filmeket, tévéműsorokat, sorozatokat és csatornákat, amelyeket nézhetsz. Böngéssz kategória, műfaj, nézettség, ismertség stb. szerint, vagy egyszerűen csak írj be egy nevet a kereséshez. A Stremio segítségével az új videotartalmak megtalálása gyerekjáték.","WEBSITE_FEATURES_ALL_CONTENT":"Az összes videó tartalmad egy képernyőn","WEBSITE_FEATURES_ALL_CONTENT_P1":"Nézd meg, hogy milyen filmeket, sorozatokat vagy videókat nem fejeztél be, és folytasd a megtekintésüket; kapj értesítést az új epizódokról és megjelenésekről; és böngéssz a nézési szokásaid alapján kapott ajánlások között.","WEBSITE_FEATURES_LIBRARY":"Rendszerezd videókönyvtáradat","WEBSITE_FEATURES_LIBRARY_P1":"Adj hozzá bármilyen műsort a Stremio-könyvtáradhoz egyetlen kattintással, és navigálj a tartalmak között, szépen elrendezve típus, frissesség vagy ábécé sorrend szerint.","WEBSITE_FEATURES_CALENDAR":"Kövess nyomon mindent, amit nézel","WEBSITE_FEATURES_CALENDAR_P1":"Naptári megjelenítést kaphatsz a könyvtáradba felvett összes filmről és sorozatról. Exportáld ki a Stremio naptáradat, és szinkronizáld, hogy mindig tudd, mikor esedékes egy új epizód vagy premier.","WEBSITE_FEATURES_BIG_SCREEN":"Élvezd ki videotartalmaidat nagyobb képernyőn","WEBSITE_FEATURES_BIG_SCREEN_P1":"Egyetlen kattintással kivetítheted a tartalmaidat egy másik eszközre – legyen az telefon, táblagép vagy tévé.","WEBSITE_FEATURES_SOURCES":"Nézz videókat sok különböző forrásból","WEBSITE_FEATURES_SOURCES_P":"Telepíts hivatalos és közösségi bővítményeket, hogy több különböző szolgáltatótól származó videókat élvezhess – mindezt egyetlen elegáns, könnyen használható alkalmazásban.","WEBSITE_CREATE_AN_ADDON":"Hozz létre bővítményt","WEBSITE_FEATURES_SYNC":"Szinkronizáld könyvtáradat különböző eszközök között, és folytasd a lejátszást","WEBSITE_FEATURES_SYNC_P1":"Jelentkezz be fiókoddal minden eszközön, és élvezd a könyvtáradat, a bővítményeket, a lejátszást és a szinkronizált naptárat.","WEBSITE_FEATURES_EXTENDABLE":"Bővítményekkel bővíthető videó katalógus","WEBSITE_FEATURES_EXTENDABLE_P1":"A Stremio bővítménykatalógus számos bővítményt kínál telepítésre a különböző videótartalmak megtekintéséhez. Ezek közé tartoznak filmek, műsorok, élő TV, sport, hírek, podcastok, webcsatornák, videojátékok és még sok más.","WEBSITE_FEATURES_AUTO_SUBS":"Automatikus feliratozás","WEBSITE_FEATURES_AUTO_SUBS_P1":"Felirat-bővítményeinkkel automatikusan kiválasztott feliratokat kaphatsz a kiválasztott nyelvedhez.","WEBSITE_FEATURES_CHROMECAST":"Kivetítés Chromecastra","WEBSITE_FEATURES_CHROMECAST_P1":"Élvezd videotartalmaidat egy nagyobb képernyőn, vagy csak vetítsd ki a nézett tartalmat egy másik eszközre!","WEBSITE_FEATURES_KEEP_TRACK":"Kövesd nyomon kedvenc TV-műsoraidat és webcsatornáidat","WEBSITE_FEATURES_KEEP_TRACK_P1":"Naptári vizualizációt és értesítéseket kaphatsz kedvenc sorozataid és webcsatornáid új epizódjairól.","WEBSITE_FEATURES_POWER_USER":"Kiemelt felhasználói funkciók","WEBSITE_FEATURES_POWER_USER_P1":"Lejátszás külső lejátszóban","WEBSITE_FEATURES_POWER_USER_P2":"Lejátszás torrent fájlból vagy mágnes linkből","WEBSITE_FEATURES_POWER_USER_P3":"Importálás a könyvtáradba a Facebook kedveléseid alapján vagy a helyi lemezről","WEBSITE_ADD_ONS":"Bővítmények","WEBSITE_ADD_ONS_P1":"A Stremio által kínált összes videótartalom forrása egy bővítmény rendszeren keresztül történik – az alkalmazásban nincsenek beépített tartalmk vagy szolgáltatók.","WEBSITE_ADD_ONS_P2":"A bővítmények két csoportja érhető el: hivatalos és közösségi bővítmények.","WEBSITE_ADD_ONS_P3":"A hivatalos bővítményeket a Stremio fejleszti és üzemelteti, míg a közösségi bővítményeket a közösségünk tagjai hozzák létre, és ők is üzemeltetik azokat.","WEBSITE_ADDONS_OFFICIAL":"Hivatalos bővítmények","WEBSITE_ADDONS_WATCHUB":"Streameld kedvenc filmjeidet, sorozataidat és műsoraidat olyan szolgáltatóktól, mint az iTunes, a Hulu, az Amazon és más egyesült királyságbeli/amerikai szolgáltatások.","WEBSITE_ADDONS_YOUTUBE":"Nézd kedvenc YouTube-csatornáidat hirdetések nélkül, és kapj értesítést az új feltöltésekről a követett közreműködőktől.","WEBSITE_ADDONS_FILMON":"Nézz élő TV-t, filmeket és közösségi televíziót ingyenesen. 600 TV-csatorna, 45 000 ingyenes film, dokumentumfilm és még sok más.","WEBSITE_ADDONS_OPENSUBTITLES":"Film- és TV-feliratok több nyelven, naponta több ezer lefordított felirat kerül feltöltésre.","WEBSITE_ADDONS_COMMUNITY":"Közösségi bővítmények","WEBSITE_ADDONS_FILMON_VOD":"Nézz videókat a Filmon.tv-ről","WEBSITE_ADDONS_TWICH":"Nézz élő közvetítéseket a Twitch.tv-ről – az e-sport ipar videostreamelő platformjáról.","WEBSITE_ADDONS_VODO":"Nézz indie filmeket teljesen ingyen.","WEBSITE_ADDONS_NETFLIX":"Nézz Netflix filmeket és websorozatokat.","WEBSITE_ADDONS_CREATE":"Hozz létre egy bővítményt","WEBSITE_ADDONS_CREATE_P1":"Ha szeretnél, fejleszthetsz saját bővítményt. Így új videótartalmakhoz biztosíthatsz hozzáférést magadnak és közösségünknek, és világszerte több millió felhasználóból álló új, célzott közönséget érhetsz el.","WEBSITE_ADDONS_START_CREATE":"A kezdéshez keresd fel a Stremio Addon SDK oldalát:","WEBSITE_DOWNLOADS":"Letöltések","WEBSITE_DOWNLOADS_P1":"Az optimális teljesítmény érdekében javasoljuk, hogy a Stremio alkalmazások legújabb elérhető verzióját használd. Ha azonban valamilyen oknál fogva egy régebbi verziót szeretnél használni, akkor azt letöltheted innen.","WEBSITE_DOWNLOADS_P1_SHORT":"Az optimális teljesítmény érdekében javasoljuk, hogy a Stremio alkalmazások legújabb elérhető verzióját használd.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio Windows-on","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio macOS-en","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio Linux-on","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio Android-on","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio Android TV-n","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio Android mobilon","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio a Steam Deck-en","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio iOS-en","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio Samsung TV-n","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio LG TV-n","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio Oculus Quest-en","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio Xbox-on","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio Raspberry Pi-n","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio a böngészőben","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Keresd a Stremio alkalmazást a 2019 óta megjelent Samsung TV-ken.","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Keresd a Stremio alkalmazást a 2020 óta megjelent LG TV-ken.","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Keresd a Stremio alkalmazást az Xbox alkalmazásboltban.","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Stremio Service letöltése","WEBSITE_DOWNLOAD_SERVICE_P1":"A Stremio Service a Stremio Web társalkalmazása. A Stremio Service legfrissebb verziójának használatát ajánljuk.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service Windows-ra","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service macOS-re","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service Linux-ra","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service Docker-re","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"További letöltési lehetőségek","WEBSITE_DOWNLOAD_NEW":"Új!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"Megjelent a Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"Megjelent a Stremio Samsung TV-re","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"Megjelent a Stremio LG TV-re","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"Megjelent a Stremio Xbox-ra","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"Megjelent a Stremio Raspberry Pi-ra","WEBSITE_CONTRIBUTE_P1":"A Stremio platform nyílt forráskódú, és egyszerűen létrehozhatsz bővítményeket a jelenleg nem elérhető tartalomhoz.","WEBSITE_CONTRIBUTE_WHY":"Miért érdemes bővítményt létrehozni?","WEBSITE_CONTRIBUTE_WHY_P1":"Új közönséget érhetsz el a videó tartalmaidnak","WEBSITE_CONTRIBUTE_WHY_P2":"A Stremio felhasználói bázisa gyorsan növekszik - az indulás első évében a Stremio világszerte 1 millió felhasználót szerzett, és a platform fennállásának második évében ez a szám 2,5 millióra nőtt.","WEBSITE_CONTRIBUTE_WHY_P3":"Bővítményeddel könnyedén elérheted ezt a közönséget, és terjesztheted nekik videotartalmaidat.","WEBSITE_CONTRIBUTE_ALL":"Nézd meg kedvenc filmjeidet, videóidat, sorozataidat és csatornáidat egy helyen.","WEBSITE_CONTRIBUTE_ALL_P1":"Rajongsz egy bizonyos típusú tartalomért, amely még nem érhető el a Stremio-n? Hozz létre hozzá egy bővítményt, és élvezd kedvenc videóid megtekintését a piac egyik legnagyobb és legegyszerűbben használható szórakoztató központján.","WEBSITE_CONTRIBUTE_ALL_P2":"Ráadásul a Stremio közösség többi, hasonló gondolkodású tagjának végtelen hálájában részesülhetsz.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetizáld a bővítményedet és keress pénzt vele!","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Ha alkottál egy bővítményt a Stremio számára, azt többféle módon is könnyedén pénzzé teheted. Ha ezt fontolgatod, bátran vedd fel velünk a kapcsolatot a következő címen ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - szívesen konzultálunk és tanácsot adunk a bővítmény monetizálási lehetőségeiről.","WEBSITE_CONTRIBUTE_TRANSLATE":"Legyél önkéntes fordító","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Ha szeretnéd a Stremio-alkalmazásokat különböző nyelveken élvezni, csatlakozhatsz önkéntes fordítóink közösségéhez. Ők segítenek nekünk abban, hogy a Stremio számos különböző nyelven elérhető legyen.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Szívesen kezdesz már?","WEBSITE_TRANSALTE_STREMIO":"Stremio fordítása","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Hivatalos közösségek","WEBSITE_COMMUNITY_OFFICIALS_P1":"Légy része a Stremio növekvő közösségének. Kövess minket a közösségi médiában, és ne félj köszönni nekünk - szeretünk hallani a rajongóinkról! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Nem hivatalos közösségek","STREMIO_COMMUNITY_NL":"Stremio Hollandia","STREMIO_COMMUNITY_BRASIL":"Stremio Brazília","STREMIO_COMMUNITY_GERMANY":"Stremio Németország","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio Franciaország","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugália","STREMIO_COMMUNITY_ITALY":"Stremio Olaszország","STREMIO_COMMUNITY_UK":"Stremio Egyesült Királyság","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexikó","STREMIO_COMMUNITY_ADDONS":"Stremio bővítmények","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partnerek és támogatók","WEBSITE_COMMUNITY_GOODIES":"Stremio finomságok","WEBSITE_COMMUNITY_WALLPAPERS":"Háttérképek","WEBSITE_COMMUNITY_ART":"Közösségi Művészeti Galéria","WEBSITE_LINK_ART":"Közösségi művészeti galéria","WEBSITE_CONTACT_US":"Kapcsolat","WEBSITE_CONTACT_US_P1":"Ha bármilyen kérdésed, észrevételed vagy javaslatod van, fordulj hozzánk bizalommal az alábbi kapcsolatfelvételi űrlapon keresztül.","WEBSITE_CONTACT_US_P2":"Ne feledd, hogy Bulgáriában vagyunk, ezért előfordulhat, hogy az időzónák eltérései miatt az üzenet megválaszolása késni fog.","WEBSITE_CONTACT_US_SUCCESS":"Az üzenet sikeresen elküldve. Amint tudunk, válaszolunk neked.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Kérlek létező email címet adj meg!","WEBSITE_CONTACT_US_Q_RELATED_TO":"Mihez kapcsolódik a kérdésed?","WEBSITE_CONTACT_US_Q_OS":"Milyen operációs rendszert használsz?","WEBSITE_CONTACT_US_PH_EMAIL":"Az email címed","WEBSITE_CONTACT_US_PH_MESSAGE":"Üzenet","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"KÜLDÉS","WEBSITE_CONTACT_US_Q_1":"Hogyan kell telepíteni?","WEBSITE_CONTACT_US_Q_2":"Hogyan kell eltávolítani?","WEBSITE_CONTACT_US_Q_3":"(HTML) Hogyan készítsünk lasagnét?","WEBSITE_CONTACT_US_Q_4":"Bővítmények","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Technológia","WEBSITE_TECHNOLOGY_P1":"Szeretjük a technológiát és az őrült tudományt. </br> Ezek hajtják a Stremiot (mind nyílt forráskódú).","WEBSITE_TECHNOLOGY_P_QT":"Többplatformos szoftverfejlesztés a javából.","WEBSITE_TECHNOLOGY_P_MPV":"Ingyenes, nyílt forráskódú és többplatformos médialejátszó.","WEBSITE_TECHNOLOGY_P_RN":"A React Native segítségével mobilalkalmazásokat készíthet kizárólag JavaScript használatával.","WEBSITE_TECHNOLOGY_P_VLC":"Alkalmazásba ágyazott média keretrendszer a multimédiához.","WEBSITE_TECHNOLOGY_P_REALM":"A Realm egy mobil platform, és az SQLite helyettesítője.","WEBSITE_TECHNOLOGY_P_NODEJS":"A Node.js egy nyílt forráskódú, többplatformos JavaScript futtatási környezet.","WEBSITE_TECHNOLOGY_P_RUST":"A Rust egy többparadigmás rendszerprogramozási nyelv, amely a biztonságra, különösen a biztonságos párhuzamosságra összpontosít.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Járulj hozzá a projekthez","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Kétféleképpen járulhatsz hozzá a Stremióhoz, és segíthetsz a termék még jobbá tételében.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Értékes nyelvtudásoddal segítheted a platform fordítását...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"vagy","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... felhasználhatod kódolási készségeidet közösségi bővítmények létrehozásához. ","WEBSITE_TRANSLATE_STREMIO":"Stremio fordítása","WEBSITE_404_OH_NO":"Hoppá! A keresett oldal nem található...","WEBSITE_GO_HOME":"A kezdőlapra","WEBSITE_LINK_OTHER_DOWNLOADS":"Egyéb letöltések","WEBSITE_FAQ_ABR":"GYIK","WEBSITE_SUPPORT":"Támogatás","WEBSITE_DOWNLOAD_4_0_BETA":"Töltsd le most a Stremio 4 béta verzióját","WEBSITE_GET_FOR_DESKTOP":"Szerezd meg asztali számítógépre","WEBSITE_LINK_ADDON_COMPETITION":"Bővítmény verseny","WEBSITE_LINK_ART_CONTEST":"Művészeti verseny","WEBSITE_MY_ACCOUNT":"A fiókom","WEBSITE_MAINPAGE_FAQ_001_H1":"Mi az a Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"A Stremio egy modern médiaközpont, amellyel szabadon nézhetsz, amit csak akarsz.","WEBSITE_MAINPAGE_FAQ_002_H1":"Hogyan működik?","WEBSITE_MAINPAGE_FAQ_002_P1":"Miután telepítetted a Stremiot az eszközödre, és létrehoztad a fiókodat, mindössze annyit kell tenned, hogy felkeresed a bővítmény katalógust, és telepíted a kívánt bővítményt, és már mehet is!","WEBSITE_MAINPAGE_FAQ_002_P2":"Ezt követően a Felfedezés vagy a Tábla részre léphetsz a tartalom felfedezésének megkezdéséhez.","WEBSITE_MAINPAGE_FAQ_003_H1":"Mit nézhetek itt?","WEBSITE_MAINPAGE_FAQ_003_P1":"Sokat: filmek, tévéműsorok, webcsatornák, sport, TV-csatornák, podcastok hallgatása és még sok más. A bővítmény rendszerünknek köszönhetően rengeteg tartalmat elérhetsz.","WEBSITE_MAINPAGE_FAQ_004_H1":"A Stremio nyílt forráskódú?","WEBSITE_MAINPAGE_FAQ_004_P1":"Igen, megnézheted a következő linkeken: ${1}asztali alkalmazás${2} és ${3}GitHub org${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"A Stremio biztonságos?","WEBSITE_MAINPAGE_FAQ_005_P1":"Igen: mivel nyílt forráskódú szoftverről van szó, a kód nyilvánosan auditálható, és Te is ellenőrizheted.","WEBSITE_MAINPAGE_FAQ_005_P2":"A Stremio addon rendszerét is a felhasználó biztonságát szem előtt tartva hoztuk létre. A bővítmények nem futtatnak kódot helyileg, így nem okoznak biztonsági kockázatot az eszközökben.","WEBSITE_MAINPAGE_FAQ_006_H1":"Mi a helyzet az adatbiztonsággal?","WEBSITE_MAINPAGE_FAQ_006_P1":"Tiszteletben tartjuk a felhasználók adatait, és a fiók létrehozásához és szinkronizálásához szükséges minimumon kívül semmilyen személyes adatot nem gyűjtünk.","WEBSITE_MAINPAGE_FAQ_006_P2":"A regisztráció során ${1}Vendég mód${2} is elérhető, amelyhez nincs szükség semmilyen adatra: ebben a módban nem történik hívás a háttérrendszerünkbe. Azonban ezzel hasznos funkciókról maradsz le, mint a könyvtár szinkronizálása készülékek között.","WEBSITE_MAINPAGE_FAQ_007_H1":"Kivetíthetem a tévémre?","WEBSITE_MAINPAGE_FAQ_007_P1":"Igen, támogatjuk a Chromecastot, és kivetíthetsz asztali és mobilalkalmazásokból is (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"Hány bővítménye van a Stremiónak?","WEBSITE_MAINPAGE_FAQ_008_P1":"2019 végén több mint 50 – további információkért tekintsd meg bővítmény katalógusunkat.","WEBSITE_MAINPAGE_FAQ_009_H1":"Bővíthető-e a Stremio a böngésző katalógusban foglaltakon túl?","WEBSITE_MAINPAGE_FAQ_009_P1":"Igen, nézd meg ezeket: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6} stb.","WEBSITE_MAINPAGE_FAQ_010_H1":"Milyen eszközöket támogat a Stremio?","WEBSITE_MAINPAGE_FAQ_010_P1":"Vannak asztali alkalmazásaink Windowsra, Macre és Linuxra. ","WEBSITE_MAINPAGE_FAQ_010_P2":"Számos Android-alapú eszköz létezik, amelyeken a Stremio futtatható, például az NVIDIA Shield és az Amazon Fire Stick, de hivatalosan nem támogatjuk őket.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"Vannak asztali alkalmazásaink Windows, Mac és Linux operációs rendszerekhez. Dedikált alkalmazásaink vannak Android Mobile és Android TV platformokra is. iOS és iPadOS esetén a Stremio Web használatát javasoljuk, bár ez korlátozottabb funkcionalitású.","WEBSITE_MAINPAGE_FAQ_011_H1":"Hozzá tudnátok adni bizonyos tartalmakat a Stremióhoz?","WEBSITE_MAINPAGE_FAQ_011_P1":"Sajnáljuk, mi magunk nem biztosítunk tartalmat, de minél több Stremio bővítményt telepítesz, annál több tartalmat találsz.","WEBSITE_MAINPAGE_FAQ_012_H1":"A Stremio le tudja játszani a mágnes linkeket?","WEBSITE_MAINPAGE_FAQ_012_P1":"Igen, és normál HTTP hivatkozásokat és torrent fájlokat is le tud játszani (csak húzd be az alkalmazásba).","WEBSITE_MAINPAGE_FAQ_013_H1":"Letölthetek videót és megnézhetem offline módban?","WEBSITE_MAINPAGE_FAQ_013_P1":"Az offline elérhetőség egy hamarosan elérhető funkció, de ha engedélyezed a Stremio számára, hogy gyorsítótárat tároljon az eszközödön (a beállítások panelről), később kapcsolat nélkül is megnézheted a videókat.","WEBSITE_MAINPAGE_FAQ_014_H1":"Semmi sem működik, segíts!","WEBSITE_MAINPAGE_FAQ_014_P1":"Biztos, hogy telepítetted a bővítményeket? Ha igen, keresd fel a ${1}segítség központot${2}","WEBSITE_MAINPAGE_FAQ_015_H1":"Hogyan tartja fenn a Stremio fejlesztési tevékenységét?","WEBSITE_MAINPAGE_FAQ_015_P1":"Alkalmanként nem tolakodó hirdetéseket jelenítünk meg, de fontolgatjuk az adományozási modellre való átállást.","WEBSITE_MAINPAGE_FAQ_015_P2":"Ha további kérdéseid vannak, keresd fel ${1}súgónkat${2}.","HELP_LEARN_MORE":"Segíts nekünk többet megtudni magadról.","LIFESTYLE":"Életmód","SPORTS":"Sport","FOOD_HEALTH":"Étel és egészség","BEAUTY_FASHION":"Szépség és divat","NEWS":"Hírek","GAMING":"Gaming","SCIENCE_EDUCATION":"Tudomány és oktatás","MUSIC":"Zene","TRAVEL":"Utazás","LATE_NIGHT":"Késő esti műsorok","REALITY":"Valóság","COMEDY":"Vígjáték","DIY":"DIY (barkácsolás)","TECH":"Tech","CINEMA":"Mozi","CONTINUE":"Folytatás","SLOW_LOADING":"LASSÚ BETÖLTÉS?","I_GIVE_UP":"FELADOM","LEARN_MORE":"Tudj meg többet","POOR_SOURCE":"Ez a forrás rosszul elérhető, vagy az internetkapcsolat nem elég gyors","PICK_CATEGORIES_ERR":"Legalább 3 kategóriát kell kiválasztanod","ADJUST_TIMING":"Állítsd be az időzítést a ","ADJUST_SIZE":"Állítsd be a méretet ezzel","SEARCH_ANYTHING":"Bármire kereshetsz...","ALL_CATEGORIES":"Minden","SEARCH_CATEGORIES":"Filmek, Sorozatok, YouTube & TV","SEARCH_PERSONS":"Színészek, Rendezők & Írók","SEARCH_PROTOCOLS":"HTTP & Mágnes linkek","SEARCH_TYPES":"IMDB / TVDB Linkek","WATCHED":"Megnézett","SHOW_LESS":"Kevesebb","LAST_SEARCHES":"Keresési előzmények","CLEAR_HISTORY":"Előzmények törlése","CHOOSE_SOME":"VÁLASSZ EZEKBŐL:","NO_WEB_REMOTE":"A Web Remote nem tölthető be","STREMIO_OFFLINE":"A Stremio offline","STREMIO_EXPENSIVE_CONNECTION":"Azt észleltük, hogy mobil adatkapcsolatot használsz, folytatod?","USE_DATA":"Mobilkapcsolat használata","WARNING":"Figyelem","MORE_INFO":"Több információ ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Betöltés ...","STREMIO_TV_BACK_TO_LANGUAGES":"Vissza a nyelvekhez","STREMIO_TV_REMOTE":"Távirányító","STREMIO_TV_GO_TO":"Keresd fel ezt:","STREMIO_TV_OR_SCAN":"vagy szkenneld be ezt:","STREMIO_TV_ADDON_INSTRUCTIONS":"Kérjük, kövesd az utasításokat a kívánt bővítmények telepítéséhez.","STREMIO_TV_LIVE_TV":"Élő TV","STREMIO_TV_RESUME_WATCHING":"Megtekintés folytatása","STREMIO_TV_LOADING_BACKGROUND":"Háttér betöltése","STREMIO_TV_CHECKING_AUTHENTICATION":"Hitelesítés ellenőrzése","STREMIO_TV_LOADING_BOARD":"Tábla betöltése","STREMIO_TV_LOGIN_HEADER_LINE_1":"Azt akarjuk, hogy felhasználóink ​​a lehető legjobb személyre szabott élményben részesüljenek szoftverünkkel.","STREMIO_TV_LOGIN_HEADER_LINE_2":"Éppen ezért kérjük, hogy hozzon létre és/vagy jelentkezzen be fiókjába.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Köszönjük a megértésed,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"A Stremio csapata","STREMIO_TV_REMOTE_INSTRUCTIONS":"A webes távirányító használatához okostelefonjával/táblagépével/asztali számítógépével:","STREMIO_TV_WIFI_SETUP":"Wi-Fi beállítás","STREMIO_TV_WIFI_HEADER_LINE_1":"A Stremio Circle nem észlelt internetkapcsolatot.","STREMIO_TV_WIFI_DETAILS_1":"Kapcsolódás ehhez:","STREMIO_TV_WIFI_DETAILS_2":"stremio-kör","STREMIO_TV_WIFI_DETAILS_3":"Jelszó használata:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Nyisson meg egy webböngészőt a következő hivatkozással:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Alapértelmezett","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"Utolsó megtekintés szerint","STREMIO_TV_LIBRARY_SORT_NAME":"Név szerint","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"Megtekintések száma szerint","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"${1}. évad","STREMIO_TV_STREAMS_LOADING":"${1} / ${2} bővítmény betöltve...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} bővítmény még töltődik...","STREMIO_TV_PLAYER_SETTINGS":"A lejátszó beállításai","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Feliratok késleltetés","STREMIO_TV_PLAYER_AUDIO_DELAY":"Hang késleltetés","STREMIO_TV_PLAYER_VIDEO_SCALING":"Videó méretezése","STREMIO_TV_PLAYER_CHAPTERS":"Fejezetek","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"{1} kihagyása","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Nem támogatott stream-forrás","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Külső link megnyitása sikertelen","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"A hang passthrough módban nem állítható","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Lejátszás ExoPlayerrel","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Lejátszás libVLC lejátszóval","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Váltás libVLC lejátszóra lejátszási hiba miatt","STREMIO_TV_ADDONS_TITLE":"Használja a Stremio alkalmazást telefonján vagy számítógépén a bővítmények telepítéséhez vagy konfigurálásához, majd nyomja meg a \\"Bővítők szinkronizálása\\" gombot.","STREMIO_TV_ADDONS_SUBTITLE":"Megjegyzés: győződjön meg arról, hogy ugyanazt a Stremio-fiókot használja","STREMIO_TV_ADDONS_SYNC_ADDONS":"Bővítmények szinkronizálása","STREMIO_TV_ADDONS_SYNC_SUCCESS":"A bővítmények sikeresen szinkronizálva","STREMIO_TV_ADDONS_SYNC_FAILED":"Nem sikerült szinkronizálni a bővítményeket","STREMIO_TV_META_LINK_FAILED":"A meta link megnyitása sikertelen","STREMIO_TV_CATALOG_LOADING":"A katalógus töltődik...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"A felület nyelve frissítve","STREMIO_TV_SETTINGS_THEME_UPDATED":"Téma frissítve","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Alapértelmezett lejátszó","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Külső lejátszó","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferált nyelv","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Másodlagos preferált nyelv","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnel lejátszás","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Lehetséges lejátszási problémák egyes eszközökön","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Előfordulhat, hogy egyes videoformátumok nem működnek","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Képkockasebesség egyeztetés","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Tiltva","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Csak képkockasebesség","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Képkockasebesség és Felbontás","STREMIO_TV_SETTINGS_NO_CACHING":"Gyorsítótárazás kikapcsolása","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Alapértelmezett","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Puha","STREMIO_TV_SETTINGS_PROFILE_FAST":"Gyors","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra gyors","STREMIO_TV_SETTINGS_SERVER_URL":"Streaming szerver URL-je","STREMIO_TV_SETTINGS_SERVER_VERSION":"Szerver verzió","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Ismeretlen","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio verzió","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Szerver URL-jének módosítása","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Adja meg a streaming szerver URL-jét","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Statisztikák megjelenítése betöltés közben","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"A Stremio adatvédelmi szabályzatának elolvasásához látogasson el:","STREMIO_TV_SETTINGS_TOS_TEXT":"A Stremio Általános Szerződési Feltételeinek elolvasásához látogasson el a következő oldalra:","STREMIO_TV_NAV_SEARCH":"Keresés","STREMIO_TV_NAV_HOME":"Kezdőlap","STREMIO_TV_NAV_DISCOVER":"Felfedezés","STREMIO_TV_NAV_LIBRARY":"Könyvtár","STREMIO_TV_NAV_MOVIES":"Filmek","STREMIO_TV_NAV_SERIES":"Sorozatok","STREMIO_TV_NAV_CHANNELS":"Csatornák","STREMIO_TV_NAV_TV":"Élő TV","STREMIO_TV_NAV_SETTINGS":"Beállítások","STREMIO_TV_NAV_ADDONS":"Bővítmények","STREMIO_TV_LOGIN_TITLE":"Fiók összekapcsolása","STREMIO_TV_LOGIN_EXPIRES_IN":"Lejár ekkor: ","STREMIO_TV_LOGIN_STEP_ONE":"Olvasd be a fenti QR-kódot, vagy nyisd meg a következő címet:","STREMIO_TV_LOGIN_STEP_TWO":"Jelentkezz be Stremio-fiókodba","STREMIO_TV_LOGIN_NEW_LINK":"Új link kérése","STREMIO_TV_LOGIN_LINK_REFRESHED":"A bejelentkezési kód frissítve","STREMIO_TV_SEARCH_PLACEHOLDER":"Írj valamit","STREMIO_TV_SEARCH_NO_ADDONS":"A katalógusokhoz nem lettek bővítmények hívva!","STREMIO_TV_SEARCH_BUTTON":"Keresés","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Keresési előzmények","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Címekre, színészekre, csatornákra és egyebekre kereshetsz...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Keresési előzmények törlése","STREMIO_TV_FILTERS_DESCRIPTION":"Válassz az alábbi szűrők közül","STREMIO_TV_STREAMING_SERVER_OFFLINE":"A streaming szerver offline állapotban van. Ellenőrizd a szerver beállításokat!","FILTERS":"Szűrők","SETTINGS":"Beállítások","ACCOUNT":"Fiók","LOGOUT":"Kijelentkezés","THEMES":"Témák","PLAYBACK":"Lejátszás","PLAYBACK_SPEED":"Lejátszási sebesség","AUDIO_TRACKS":"Hangsávok","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Videók","SERVER":"Szerver","LINKS":"Linkek","ABOUT":"Rólunk","INTERFACE":"Felület","ANIMATIONS":"Animációk","STATUS":"Állapot","LANGUAGE":"Nyelv","SIZE":"Méret","DELAY":"Késleltetés","BOLD":"Félkövér","OPACITY":"Opacity","TEXT_COLOR":"Szöveg szín","OUTLINE_COLOR":"Körvonal színe","BACKGROUND_COLOR":"Háttérszín","BACKGROUND_BLUR":"Háttér elmosódása","SEEK_TIME_DURATION":"Tekerési idő hossza","AUTO_PLAY":"Következő epizód automatikus lejátszása","PLAY_NOW":"Lejátszás most","MARK_AS_WATCHED":"Megjelölés megnézettként","MARK_AS_UNWATCHED":"Megjelölés nem megnézettként","REWIND_TO_BEGINNING":"Vissza az elejére","CONTINUE_WATCHING":"Megtekintés folytatása","ALL":"Minden","SECONDS":"másodperc","ON":"BE","OFF":"KI","RELOAD":"Újratöltés","EDIT_URL":"URL szerkesztése","NONE":"Egyik sem","EMBEDDED":"Beágyazott","REMOTE_SWITCH_DEVICES":"Eszközök váltása","REMOTE_VIDEOS":"Videók","REMOTE_ADJUST_TIMING":"Időzítés beállítása","REMOTE_ADJUST_SIZE":"Méret beállítása","REMOTE_COULD_NOT_BE_LOADED":"A Web Távirányító nem tölthető be","REMOTE_RETRY":"Újrapróbálkozás","TORRENT_PROFILE_DEFAULT":"Alapértelmezett","TORRENT_PROFILE_SOFT":"Puha","TORRENT_PROFILE_FAST":"Gyors","TORRENT_PROFILE_ULTRA_FAST":"Ultra gyors","FAQ_001_H1":"Mi az a Stremio?","FAQ_001_P1":"A Stremio egy olyan médiaközpont-szoftver, amelyet videós szórakoztatásra terveztek, szem előtt tartva a könnyű kezelhetőséget. A Stremio lehetővé teszi a rendszerezést &amp; nézd a saját film-, sorozat-, csatorna- és élő TV-gyűjteményedet.","FAQ_001_P2":"A Stremio a megjelenített tartalmat a helyi lemezről és a bővítmény rendszerünkről gyűjti össze.","FAQ_001_P3":"Ezenkívül értesít Téged, ha új epizódok/videók/filmek jelennek meg, amelyek érdekelnek, és filmajánlásokat is kínál.","FAQ_02_H1":"Hogyan hasonlítható a Stremio a Kodihoz és a Plexhez?","FAQ_02_P1":"Ez a két szoftver inspirált minket. De a céljaink különböznek - a Stremio kifejezetten a szórakoztató videókat célozza meg, és arra törekszik, hogy nagyon könnyen kezelhető megoldása révén a mainstream megoldássá váljon.","FAQ_02_P2":"A Stremio soha nem lesz olyan testreszabható és funkciókban gazdag, mint a Kodi és a Plex, de lényegesen könnyebben használható. Egyszerűen ${1} töltsd le és próbáld ki ${2} :)","FAQ_03_H1":"Hogyan hasonlítható a Stremio a Netflixhez?","FAQ_03_P1":"Ismételten, a Netflix az egyik inspirációnk. Arra törekszünk, hogy elérjük a Netflix felhasználói élményét, plusz egy csomó hozzáadott finomsággal. De ami a legfontosabb, megadjuk a szabadságot, hogy saját könyvtáradat kezelhesd és új tartalomforrásokat adj hozzá a bővítményrendszerünkkel.","FAQ_03_P2":"Ez végtelenül bővíthetővé teszi a Stremio-t, így a használata soha nem korlátozódik a Netflix által licencelt tartalomra. A Stremio segítségével például a ${1} Filmon.tv ${2}, ${3}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} és még maga a ${9}Netflix${10} is elérhető!","FAQ_04_H1":"Hogyan hasonlítható a Stremio a Flipboardhoz?","FAQ_04_P1":"Ritkán kapjuk ezt a kérdést, kivéve ha startup-osokkal beszélgetünk :)","FAQ_04_P2":"A Stremio eleve egy tartalomaggregátor, így tulajdonképpen a Flipboard, a videók számára. Ez jól látható a Tábla szekciónkban, amely katalógusokat és új epizód/új videó értesítéseket ad az általad követett videókról, akárcsak a Flipboard.","FAQ_05_H1":"Hogyan hasonlítható a Stremio a Popcorn Time-hoz?","FAQ_05_P1":"A Stremio és a Popcorn Time felhasználói felületben hasonló, mert nem sok módja van a szórakoztató videókatalógusok helyes elkészítésének :)","FAQ_05_P2":"Azonban míg a Popcorn Time bizonyos forrásokból származó torrentek streamelésére összpontosít, a Stremio nem korlátolt, és csupán egy tartalomgyűjtő – nincs egy adott tartalomforráshoz kötve.","FAQ_05_P3":"Ezenkívül alapértelmezés szerint nem biztosítunk torrent-bővítményeket, így a Stremio nem fedi le a Popcorn Time használati esetét hivatalos funkcionalitással.","FAQ_05_P4":"Egy másik figyelemre méltó különbség, hogy a Popcorn Time teljesen nyílt forráskódú, míg a Stremio ${1} részben nyílt forráskódú${2}.","FAQ_06_H1":"Hozzá tudnátok ezt a filmet/sorozatot?","FAQ_06_P1":"Nem sajnáljuk :(","FAQ_06_P2":"Ahogy a legtöbb más kérdésben is említettük, a Stremio önmagában nem nyújt semmilyen tartalmat - mindent a bővítményrendszerrel adunk hozzá. Amennyiben tartalmi kérésed van, használhatod a \\"Report\\" gombot a lejátszóban, amely egy e-mailt küld az éppen használt bővítmény készítőjének.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Készítenétek bővítményt az X-hez?","FAQ_08_P1":"Ez teljes mértékben lehetséges.","FAQ_08_P2":"Ha van bővítmény ötleted, írj nekünk a ${1}office@stremio.com${2} címre, de ügyelj arra, hogy bővítményötleted ne sértse a szerzői jogokat vagy a használati feltételeket.","FAQ_08_P3":"Jelenleg az ütemtervünk következő részei a FandangoNOW, a Filmon.tv video on demand és a Crunchyroll bővítmények.","FAQ_09_H1":"A Stremio BitTorrentet használ?","FAQ_09_P1":"Igen, a Stremio támogatja a BitTorrentet mint streaming protokollt. Ezt vagy egy torrent bővítménnyel, vagy egy .torrent fájl Stremio-ba történő behúzásával, vagy egy mágneses link beillesztésével a keresősávba használhatod.","FAQ_09_P2":"Kérjük, vedd figyelembe, hogy az egyetlen BitTorrentet használó hivatalos bővítmény a ${1}Vodo${2}, amely független (indie) tartalmakat biztosít, amelyek mind a BitTorrenttel legálisan terjeszthetőek.","FAQ_09_P3":"Nem támogatjuk olyan harmadik féltől származó bővítmények használatát, amelyek lehetővé tehetik a szerzői jogok megsértését.","FAQ_10_H1":"Mit nézhetek meg a Stremióban a hivatalos bővítményekkel?","FAQ_10_P1":"Alapértelmezés szerint a Filmon.tv, a YouTube és a Vodo tartalmait magán a Stremio-n belül nézheted meg, annak beágyazott lejátszójával. ","FAQ_10_P2":"Ez a kombináció a következőket kínálja:","FAQ_10_L1":"A Filmon.tv által biztosított népszerű tévécsatornák – például E4, BBC, Bollyworld TV","FAQ_10_L2":"Minden a YouTube-ról – például BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Független (indie) filmek a Vodóval","FAQ_10_L4":"Online játékközvetítések a Twitch.tv-vel","FAQ_10_P3":"Ezenkívül számos olyan tartalomforrás van, amelyet a Guidebox és a Netflix bővítmények biztosítanak, amelyek <b>nem</b> játszanak le teljesen a Stremio-n belül, hanem átirányítanak az adott szolgáltatásra. A Guidebox addon például az USA-ban ingyenesen streamelhető filmekből ad válogatást, olyan szolgáltatásokból, mint a TubiTV és a Crackle.","FAQ_11_H1":"A Stremio nem települ, mit tegyek?","FAQ_11_P1":"Ha Windows-ot használsz, próbáld ki ${1}ezt az alternatív telepítőt${2}.","FAQ_11_P2":"Ha Mac OS X-et használsz, ne feledd, hogy az OS X Mavericks (10.9)-nél régebbi rendszereket nem támogatjuk.","FAQ_11_P3":"Ha Linuxot használsz, ne feledd, hogy jelenleg csak a 64 bites (x64) Linuxot támogatjuk.","FAQ_11_P4":"Ha továbbra sem tudod megoldani a problémát, kérjük, írj nekünk ${1}Facebook csoportunkba${2}.","FAQ_12_H1":"Miért panaszkodik a vírusirtóm? A Stremio biztonságos?","FAQ_12_P1":"Biztosíthatunk, hogy a Stremio ${1}100%-ban tiszta${2}.","FAQ_12_P2":"A vírusirtód azért panaszkodik, mert a telepítőnkben olyan hirdetéseket helyezünk el, amelyeket egyes vírusirtó programok reklámanyagként ismernek fel.","FAQ_12_P3":"Ha még mindig nem vagy biztos benne, próbáld ki az ${1}alternatív telepítőnket${2}.","FAQ_13_H1":"Hogyan készíthetek bővítményt?","FAQ_13_P1":"Kezdetnek javasoljuk, hogy tekintsd meg ${1}bővítmény rendszermodulunkat${2} a GitHubon.","FAQ_13_P2":"Ezt követően követheted a ${1}Hello World tutorial-t${2}.","FAQ_13_P3":"Ha nem rendelkezel programozási ismeretekkel, kérjük, tedd közzé ötletedet a ${1}a Reddit közösségben${2}, és vedd fel velünk a kapcsolatot a bővítmény ötletével a ${3}office@stremio.com${4} címen.","FAQ_14_H1":"Hogyan jelennek meg a bővítmények?","FAQ_14_P1":"Amikor létrehozol egy bővítményt és egy hosztot, és egy <b>endpoint</b> mezőt teszel a manifesztedbe, amely egy működő bővítmény címére mutat, az bővítmény automatikusan közzéteszi magát a ${1}Bővítmény katalógus${2}-ban.","FAQ_14_P2":"Ez azért történik, mert a stremio-addons modul szerver része automatikusan meghívja az API-t, hogy bejelentse a bővítményt. Amikor az API érvényesíti az <b>endpoint</b>-odat, az megjelenik a katalógusban.","FAQ_15_H1":"Futtathatom a Stremiót a böngészőmben?","FAQ_15_P1":"Jelenleg nem, de hamarosan érkezik!","FAQ_15_P2":"Ha kíváncsi vagy egy alfa verzióra, itt megtekintheted: ${1}alpha4.strem.io${2}. Ne feledd, hogy a streamelés nincs engedélyezve az alfa verzióban. Támogatjuk a Chrome, Firefox, Opera és Edge böngészőket.","FAQ_16_H1":"Nem működik a kivetítés a tévére / a feliratok nem működnek","FAQ_16_P1":"A tévére való kivetítés a DLNA technológiát használja, amely a különböző tévémárkák és modellek között nagyon eltérő. Emiatt nem áll módunkban minden esetben tesztelni, így messze nem tökéletes. Ennek ellenére folyamatosan dolgozunk a javításán, de nem tudunk becsült időt mondani arra vonatkozóan, hogy a DLNA mikor kezd el megfelelően működni a tévével.","FAQ_16_P2":"Ha nem látod a tévét a kivetítés menüben sem, próbáld meg letiltani a hálózati kapcsolatot, majd újra engedélyezni (Windowson a jobb gombbal kattints a hálózatra, és használd az Enable/Disable (Engedélyezés/Tiltás) lehetőséget), valamint indítsd újra a routert, a tévét és a számítógépet.","FAQ_16_P3":"Ha továbbra is problémákat tapasztalsz, segíthetsz nekünk, ha elküldöd tévéd márkájára és modelljére vonatkozó információkat a ${1}office@stremio.com${2} címre.","FAQ_16_P4":"Addig is javasoljuk a Chromecastot, amit nagyon jól támogatunk, vagy egyszerűen csak csatlakoztasd a tévét a számítógéphez HDMI-kábellel.","FAQ_17_H1":"A Stremio lefagy és/vagy összeomlik, mit tehetek?","FAQ_17_P1":"Először is, ha Windows 7-et használsz AVG vírusirtóval: van egy problémánk ezzel a kombinációval. A probléma magában az AVG-ben van, és nincs ésszerű megoldás a mi oldalunkon. Sajnos a kivételek vagy a vírusirtó letiltása nem fog működni. Az egyetlen megoldás az AVG lecserélése valami másra.","FAQ_17_P2":"Ha nem ez a probléma, de Windows-t használsz, frissítsd a legújabb szervizcsomagra és frissítsd/telepítsd újra a GPU-illesztőprogramokat, majd próbáld meg újra.","FAQ_17_P3":"Ha a probléma továbbra sem oldódott meg, vagy Mac-et vagy Linuxot használsz, kérjük, írd meg nekünk a probléma pontos részleteit ${1}Facebook-csoportunkban${2}.","FAQ_18_H1":"Hogyan készíthetek bővítményt?","FAQ_18_P1":"Kezdetnek javasoljuk, hogy tekintsd meg a ${1}bővítmény rendszermodulunkat${2} a GitHubon.","FAQ_18_P2":"Ezt követően követheted a ${1}Hello World oktatóprogramot${2}.","FAQ_18_P3":"Ha nem rendelkezel programozási ismeretekkel, kérjük, tedd közzé ötletedet a ${1}a Reddit közösségben${2}, és vedd fel velünk a kapcsolatot a bővítmény ötletével a ${3}office@stremio.com${4} címen.","FAQ_19_H1":"Miért foglal helyet a Stremio a lemezen?","FAQ_19_P1":"A Stremio rendelkezik egy <b>helyi gyorsítótárral</b> a streamelt videofájlok ideiglenes megtartásához.","FAQ_19_P2":"Ennek két előnye van: először is, lehetővé teszi a Stremio számára, hogy előre pufferelje a videót, így biztosítva a zökkenőmentesebb streaminget. Másodszor, a videókat a helyi gyorsítótárban tartja, így offline is nézheted őket.","FAQ_19_P3":"Az, hogy a Stremio mennyi adatot tart meg, a Beállítások panelen található <b>Gyorsítótár</b> beállítástól függ. A Stremio a beállított mennyiségig (pl. 2 GB) tárolhatja a lemezen, kivéve, ha az éppen streamelt videó ennél nagyobb, ebben az esetben elegendő tárhelyet kell elkülöníteni ahhoz, hogy a streamelés végéig tárolja.","FAQ_20_H1":"Hol van a gyorsítótár mappa?","FAQ_20_P1":"Windows rendszeren a stremio-cache a Beállításokban kiválasztott meghajtón található (pl. \\"E:\\\\stremio-cache\\").","FAQ_20_P2":"MacOS rendszeren ez a \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"Linuxon ez \\"~/.stremio/stremio-cache\\" vagy \\"~/stremio-cache\\"","FAQ_21_H1":"\\"A streaming szerver nem található\\" hibaüzenetet kapok, mit tehetek?","FAQ_21_P1":"Ha ezt a hibát kapod, az a több dolgot jelenthet:","FAQ_21_P2":"1) Egy YouTube/BitTorrent forrás által támogatott bővítményt próbálsz használni a ${1}web verzió${2} segítségével. Ebben az esetben telepítsd az asztali verziónkat a ${3}weboldalunkról${4}.","FAQ_21_P3":"2) Valami baj van a Stremio telepítésével. Ebben az esetben próbáld meg újra telepíteni a legújabb asztali verziónkat a ${1}a weboldalról${2}. Ha ez nem segít, próbáld meg kikapcsolni a vírusirtó programokat és a tűzfalat, indítsd újra a számítógépet, és próbáld meg újra. Ha ez sem működik, kérjük, írj nekünk a ${3}Facebook-csoportunkba${4}.","FAQ_22_H1":"Nem látom/nem tudom használni a legtöbb bővítményt az iOS rendszeren","FAQ_22_P1":"Az Apple App Store általános szerződési feltételeiben foglalt korlátozások miatt az iOS-alkalmazást csak a bővítmények egy adott készletére korlátoztuk.","FAQ_22_P2":"De nyugodt lehetsz - a jövőben több bővítményt fogunk készíteni iOS-re, és lehet, hogy egy olyan integrációt is hozzáadunk, amely lehetővé teszi az összes Stremio bővítmény használatát az iOS alkalmazás és a Stremio Streaming Server összekapcsolásának köszönhetően."}')},11472:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Film","TYPE_series":"Serial","TYPE_tv":"Saluran TV","TYPE_channel":"Saluran","TYPE_other":"Lainnya","TYPE_movie_PL":"Film","TYPE_series_PL":"Serial","TYPE_tv_PL":"Saluran TV","TYPE_channel_PL":"Saluran","TYPE_other_PL":"Lainnya","TYPE_ALL":"Semua","TYPE":"Jenis","CATALOG_com_linvo_cinemeta_top":"Populer","CATALOG_com_linvo_cinemeta_imdbRating":"Unggulan","CATALOG_com_linvo_cinemeta_year":"Baru","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Film Ranah Umum","VIDEO":"Video","BACK":"Kembali","MORE":"Lebih Banyak","DONE":"Selesai","COPY":"Salin","SUCCESS":"Berhasil","ERROR":"Galat","SETTINGS_CASTING_MODE_PICKER":"Mode transmisi","CASTING_MODE_HLSV2":"Bawaan","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Tanpa pengkodean ulang","Discover":"Temukan","Board":"Papan","Library":"Pustaka","My Library":"Pustakaku","Calendar":"Kalender","NOTIFICATION_ONLINE":"Anda sedang daring","NOTIFICATION_OFFLINE":"Anda sedang luring","INTERNET_CONNECTION":"Koneksi Jaringan","STORAGE_FULL_TITLE":"Peringatan: Penyimpanan penuh!","STORAGE_FULL_TEXT":"Stremio tidak akan dapat menyimpan pengaturan, preferensi, atau informasi login Anda. Pertimbangkan untuk memulai ulang atau memasang ulang Stremio.","SEARCH":"cari","SEARCH_NO_RESULTS":"Tidak ada hasil yang ditemukan","SEARCH_EXPLANATION_CONTENT":"Pencarian untuk film, serial, YouTube dan saluran TV","SEARCH_EXPLANATION_PEOPLE":"Pencarian untuk aktor, sutradara dan penulis","SEARCH_PASTE_LINKS":"Tempelkan HTTP dan tautan Magnet","SEARCH_OR_PASTE_LINK":"Cari atau tempelkan tautan","SEARCH_SUGGESTIONS":"Saran Pencarian","ADD_TO_LIB":"Tambah ke Pustaka","REMOVE_FROM_LIB":"Hapus dari Pustaka","ADDED_TO_LIB":"Ditambahkan ke Pustaka","REMOVED_FROM_LIB":"Dihapus dari Pustaka","TRAILER":"Cuplikan","WATCH_TRAILER":"Tonton cuplikan","WATCH_NOW":"Tonton sekarang","SHOW":"Tampilkan","SHOW_MOVIE":"Tampilkan film","WATCH_RANDOM":"Tonton acak","IMDB_RATING":"Peringkat IMDb","YEAR":"Tahun","DIRECTOR":"Sutradara","WRITER":"Penulis","LEAD_ACTORS":"Aktor utama","CAST":"Pemeran","CREW":"Kru","SHOW_MORE_CAST":"Tampilkan lebih banyak »","AIRED":"Ditayangkan","SEASONS":"Musim","GENRE":"Genre","GENRE_ALL":"Semua genre","CATALOG":"Katalog","SUMMARY":"Ringkasan","SHOW_MORE":"Tampilkan lebih banyak","SIMILAR":"Serupa","UPCOMING":"Mendatang","ENDED":"Berakhir","DURATION":"Durasi","FEATURED":"Unggulan","METADATA":"Metadata","CATEGORY":"Kategori","LINKS_GENRES":"Genre","LINKS_CAST":"Pemeran","LINKS_DIRECTORS":"Sutradara","SEARCH_VIDEOS":"pencarian video","SEARCH_PLACEHOLDER":"cari atau tempelkan URL","ADDON":"tambahan","ADDONS":"Tambahan","OFFICIAL":"Resmi","ADDONS_OFFICIAL":"Tambahan Resmi Stremio","ADDONS_POPULAR":"Populer di area Anda","ADDON_FREE":"gratis","ADDON_PEERED":"dipadan","ADDON_SUBSCRIPTION":"langganan","ADDON_STREAM_GEORESTRICTED":"tidak tersedia di area Anda","ADDON_STREAM_OFFLINECACHE":"Tembolok Luring","ADDON_STREAM_LOCALFILE":"Berkas lokal","SHARE_ADDON":"Berbagi Tambahan","AVAILABLE_STREAMS":"Siaran yang Tersedia","NO_STREAM":"Tidak Tersedia Siaran","ALL_ADDONS":"Semua","INSTALL_MORE_ADDONS":"Untuk lebih banyak siaran, pasang lebih banyak tambahan","STREAM_NOT_SUPPORTED":"Siaran yang dipilih tidak didukung di platform ini.","ADDON_CATALOGUE":"Tampilkan semua tambahan »","ADDON_CATALOGUE_MORE":"Pasang tambahan","REPO_ADDED":"Repositori ditambahkan","ADDON_REPO_EXIST_ERR":"Koleksi tambahan ini sudah ada","ADDON_REPO_ERR":"Terjadi kesalahan saat menambahkan koleksi","ADDON_ADD_ERR":"Terjadi kesalahan saat menambahkan tambahan","ERR_ADDON_PROTECTED":"Tidak dapat menghapus tambahan karena dilindungi","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Ada yang tidak beres - autentikasi mungkin gagal","ERR_NOT_COLLECTION_URL":"Bukan URL koleksi","ERR_NOT_ADDON_URL":"Bukan URL tambahan yang valid","ERR_DETECTFROMURL":"Tidak dapat menemukan tambahan/koleksi dari URL ini","ADDON_DUPLICATE_WARNING":"Peringatan: tambahan terduplikasi","ADDON_COLLECTION_SET_FAILED":"Sinkronisasi tambahan terpasang ke akun Anda gagal","SETTINGS_DATA_EXPORT":"Ekspor data pengguna","ADDON_PULL_FAILED":"Sinkronisasi tambahan terpasang dari akun Anda gagal","REFRESH_ON_CLICK":"Klik untuk mencoba lagi","STILL_IN_THEATER":"Film masih di bioskop","WATCH_IN_CINEMA":"Tonton di bioskop setempat Anda","IN_THEATER":"Di bioskop","GET_TICKETS":"Dapatkan tiket","UPCOMING_EPISODE":"Episode Mendatang","UPCOMING_EPISODE_MESSAGE":"Episode ini akan ditayangkan pada","MISSING_DATE_EPISODE":"Tanggal episode tidak ditemukan","MISSING_DATE_EPISODE_MESSAGE":"Episode mungkin belum tayang","CHANNEL_NOT_SCRAPED":"Saluran ini belum diambil.<br>Mohon kembali beberapa saat lagi.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Tambahkan ke pustaka anda agar dikabarkan jika tersedia.","GET_NOTIFIED_WHEN_AVAILABLE":"Anda akan dikabarkan jika tersedia.","WARNING_STREAMING_SERVER":"Peringatan: server siaran lokal tidak ditemukan. Siaran dari berkas lokal, Youtube dan BitTorent tidak akan tersedia.","WARNING_STREAMING_SERVER_DISMISS":"Hiraukan","WARNING_STREAMING_SERVER_LATER":"Nanti","DECODER_WARNING":"Peringatan: video ini mungkin tidak didukung perangkat anda. Pemutaran bisa lambat","GENERIC_ERROR_MESSAGE":"Ada yang salah!","TRY_AGAIN":"Coba lagi","CLEAR_DATA":"Bersihkan data","PLAYER_ERROR":"Oops, Galat Pemutar","PLAYER_ERROR_LOOKSLIKE":"Sepertinya","PLAYER_ORIENTATION":"Orientasi pemutar","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Terkunci","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensor","PLAYER_ORIENTATION_LANDSCAPE":"Orientasi pemutar terkunci pada lanskap","PLAYER_ORIENTATION_SENSOR":"Orientasi pemutar otomatis (sensor)","PLAYER_PLAYBACK_SPEED":"Kecepatan Pemutaran","PLAYER_PLAYBACK_ERROR":"Galat memutar, mohon coba lagi","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Galat tidak diketahui","PLAYER_PLAYBACK_ERROR_DEFAULT":"Maaf, video ini tidak bisa diputar dengan {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Bahasa Takarir","PLAYER_SUBTITLES_VARIANTS":"Varian Takarir","PLAYER_SUBTITLES_SETTINGS":"Pengaturan Takarir","PLAYER_SUBTITLES_DISABLED":"Takarir dimatikan","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Posisi Vertikal","PLAYER_SUBTITLES_LOADED":"Takarir dimuat","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Takarir tertanam dimuat","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Takarir eksklusif dimuat","PLAYER_SUBTITLES_LOADED_ORIGIN":"Takarir dari {{origin}} dimuat","PLAYER_PLAY":"Putar","PLAYER_PAUSE":"Jeda","PLAYER_NEXT_VIDEO":"Video Berikutnya","PLAYER_MUTE":"Bisukan","PLAYER_UNMUTE":"Bunyikan","PLAYER_OPEN_IN_EXTERNAL":"Buka di pemutar eksternal","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Putar di {{device}}","PLAYER_LIVE":"Langsung","PLAYER_NEXT_VIDEO_TITLE":"Selanjutnya di","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Hiraukan","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Tonton sekarang","PLAYER_COPY_STREAM_SUCCESS":"Tautan siaran telah disalin ke papan klip","PLAYER_COPY_STREAM_ERROR":"Gagal menyalin tautan siaran","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","STREAMING_FROM":"Siarkan dari","CASTING_TO":"Transimisi ke","NETWORK_STATUS":"Status jaringan","STREAM_SPEED":"Stream speed:","STREAM_BUFFERED":"Disangga:","PEERS_INFO":"Informasi rekan","PEERS_ACTIVE":"Aktif:","PEERS_CONNECTED":"Terhubung:","PEERS_WAITING":"Menunggu:","TRANSCODING_WARNING":"Peringatan: mengkode ulang video.","STREAM_LOADING":"memuat...","PLAYING_LOCAL":"memutar dari berkas lokal","PLAYING_CACHE":"memutar dari tembolok","WRONG_SUBS":"Takarir salah?","ERR_SUBS_LOADING_TITLE":"Gagal memuat takarir","ERR_SUBS_LOADING":"Gagal memuat takarir: mungkin ada masalah dengan tambahan yang Anda pakai, atau koneksi jaringan Anda","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Tambahan takarir berikut gagal","ERR_CASTING_UPDATE_TITLE":"Tidak dapat memperbarui info perangkat transmisi: server siaran mungkin luring","CHOOSE_DEVICE":"Pilih perangkat untuk menonton","NO_CAST_DEVICES":"Tidak ada perangkat transmisi tersedia.","NO_SETTINGS":"Tidak ada pengaturan tersedia.","PHONE_TABLET":"Ponsel / Tablet","SUBTITLES":"Takarir","SUBTITLES_CHANGE":"Ganti takarir untuk ","SUBTITLES_CHANGE_NONE":"Maaf, tidak ada takarir lain untuk bahasa ini.","SUBTITLES_CHANGE_ACIVE":"Saat ini takarir &#35;{{subtitlesDialog.activeIdx + 1}} aktif. Pilih \\"Lanjut\\" untuk mengaktifkan takarir &#35;{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Atau,","SUBTITLES_ADJUST_DELAY":"Atur penundaan takarir:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Atau gunakan tombol <span>G</span> / <span>H</span> ketika memutar untuk mengatur.","SUBTITLES_ADJUST_DELAY_TIP":"TIP: Anda dapat menggunakan tombol <span>G</span> / <span>H</span> ketika memutar untuk mengatur.","SUBTITLES_DELAY":"Penundaan takarir:","SUBTITLES_LOADING":"Memuat takarir...","SUBTITLES_UNAVAILABLE":"Tidak ada takarir eksternal tersedia","SUBTITLES_DISABLED":"Dimatikan","EXTERNAL_PLAYER_DISABLED":"Dimatikan","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Perbolehkan memilih","EXTERNAL_PLAYER_HINT":"Petunjuk: Ada pengaturan untuk memperbolehkan selalu membuka dengan pemutar eksternal","DONT_SHOW_AGAIN":"Jangan tampilkan lagi","SERVICE_INSTALL":"Pasang","AUDIO":"Audio","DEFAULT_LANGUAGE":"Bahasa Bawaan","DEFAULT_SECONDARY_LANGUAGE":"Bahasa Kedua Bawaan","SEASON":"Musim","EPISODE":"Episode","EPISODE_ABBREVIATION":"EP","SPECIAL":"Spesial","SORT":"urutkan","SORT_BY":"Urutkan berdasarkan","FILTER":"saring","SORT_TRENDING":"urutkan populer","SORT_RECENT":"terbaru","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"penilaian","SORT_WATCHED":"ditonton","SORT_YEAR":"tahun","SELECT_TYPE":"Pilih jenis","SELECT_SORT":"Pilih urutan","SELECT_CATALOG":"Pilih katalog","SELECT_GENRE":"Pilih genre","SORT_LASTWATCHED":"Ditonton terakhir","SORT_NAME":"Nama","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"Berapa kali ditonton","SORT_NOTWATCHED":"tidak ditonton","New for You":"Baru untuk Anda","New Episodes":"Episode Baru","New Videos":"Video Baru","Recommendations":"Rekomendasi","LIBRARY_RESUME":"Lanjutkan","LIBRARY_PLAY":"Putar","LIBRARY_DETAILS":"Rincian","LIBRARY_RESUME_DISMISS":"Hiraukan","LIBRARY_CLEAR_PROGRESS":"Mulai dari awal","LIBRARY_REMOVE":"Hapus","LIBRARY_NOT_LOGGED_IN":"Pustaka hanya tersedia untuk pengguna yang masuk","CALENDAR_NOT_LOGGED_IN":"Kalender hanya tersedia untuk pengguna yang masuk","NOT_LOGGED_IN_CLOUD":"Akses film dan siaran TV kesukaan Anda di mana saja, kapan saja","NOT_LOGGED_IN_RECOMMENDATIONS":"Rekomendasi sesuai riwayat tontonan Anda","NOT_LOGGED_IN_NOTIFICATIONS":"Jangan pernah ketinggalan episode lagi","NOT_LOGGED_IN_CALENDAR":"Jadwalkan kalender tonton pribadi Anda","DISCOVER_FEATURED":"Unggulan","DISCOVER_TOP":"Teratas","DISCOVER_OSCAR":"Pemenang Oscar","DISCOVER_WARNING_TITLE":"Ups!","DISCOVER_EMPTY_CATALOG":"Tambahan ini kosong.","DISCOVER_ADULT_WARNING":"Konten ini hanya untuk dewasa. Apakah Anda berusia 18+?","DISCOVER_NOADDON_WARNING":"Peringatan: tidak ada tambahan Stremio aktif untuk jenis ini. Hanya menampilkan yang tersimpan, tidak bisa memperbarui.","DISCOVER_LOAD_ERR":"Konten tidak termuat, galat terjadi.","DISCOVER_ADDON_UNINSTALLED":"Konten ini tidak lagi tersedia, Anda dapat menghapus tambahan.","UNINSTALL_THIS_ADDON":"Hapus tambahan ini","ERR_ADDON_NOT_INSTALLED":"Tambahan ini tidak terpasang. Pasang sekarang?","DETAIL_RECEIVE_NOTIF_SERIES":"Terima notifikasi untuk serial baru","DETAIL_RECEIVE_NOTIF_VIDEOS":"Terima notifikasi untuk video baru","SIDEBAR_SHOW_STREAMS":"Tampilkan siaran","RELAUNCH":"Buka ulang sekarang!","UPGRADE":"Versi baru tersedia! Tingkatkan ke versi Stremio terbaru","RELOAD_UI":"Muat ulang antarmuka","MANUAL_UPDATE_TITLE":"Tingkatkan versi Stremio Anda","MANUAL_UPDATE_LINE1":"Anda menjalankan versi usang Stremio yang sangat tidak disarankan.","MANUAL_UPDATE_LINE2":"Mohon perbarui secepatnya.","BUTTON_UPDATE_LATTER":"Tidak sekarang","BUTTON_UPDATE_NOW":"Perbarui","ANONYMOUS_USER":"Pengguna anonim","DONT_HAVE_ACC":"Tidak punya akun?","HAVE_ACC":"Sudah punya akun?","PASSWORD":"Sandi","PASSWORD_CONFIRM":"Konfirmasi sandi","EMAIL":"E-mail","FB_LOGIN":"Lanjutkan dengan Facebook","FB_NOTHINGSHARED":"Tidak ada yang dibagikan tanpa izin Anda","FB_NOPOST":"Kami tidak akan mengirimkan apapun atas nama Anda","OR":"atau","I_ACCEPT":"Saya terima","I_ACCEPT_BY_CLICKING":"Dengan mengklik tombol di atas saya bersaksi bahwa saya terima ","TOS":"Syarat dan Ketentuan","MUST_ACCEPT_TERMS":"Anda harus menerima syarat","PASSWORDS_NOMATCH":"Sandi tidak cocok","SIGN_UP":"Daftar","SIGN_UP_EMAIL":"Daftar dengan email","CLICK_TO_SIGN_UP":"Klik di sini untuk daftar.","LOG_IN":"Masuk","LOG_OUT":"Keluar","EXIT_FULLSCREEN":"Keluar dari mode layar penuh","ENTER_FULLSCREEN":"Masuk mode layar penuh","PLAY_URL_MAGNET_LINK":"Putar tautan URL/Magnet","HELP_FEEDBACK":"Bantuan & Masukan","TERMS_OF_SERVICE":"Ketentuan Layanan","PRIVACY_POLICY":"Kebijakan Privasi","ABOUT_STREMIO":"Tentang Stremio","USER_PANEL":"Panel Pengguna","LOGIN_LABEL":"Masuk","GUEST_LOGIN":"Masuk sebagai tamu","GUEST_LOGIN_NOTICE":"Masuk sebagai tamu tidak disarankan. Masuk biasa memperbolehkan Stremio untuk mensinkronkan Pustaka Anda, menerima notifikasi serial/saluran kesukaan Anda. Yakin ingin melanjutkan?","GUEST_LOGIN_NOTICE_2":"Masuk sebagai tamu tidak disarankan - Anda tidak akan menerima Pustaka tersinkron dan notifikasi Papan, yang merupakan fitur penting Stremio. Yakin ingin melanjutkan?","CLICK_HERE":"klik di sini","WRONG_PASSWORD":"Email atau sandi salah. Jika anda lupa sandi, ","SET_A_PASS":"setel sandi","RESET_PASSWORD":"Setel ulang sandi","FORGOT_PASSWORD":"Lupa sandi?","EMAIL_USED_WITH_FB":"Email ini digunakan dengan masuk lewat Facebook.","INVALID_EMAIL":"Mohon masukkan alamat email yang valid","INVALID_PASSWORD":"Mohon masukkan kata sandi yang valid","CONN_ERR":"Galat koneksi - mohon coba lagi nanti.\\n\\nJika masih berlanjut, matikan firewall/antivirus (terutama Bitdefender).","IMPORT_FROM_GUEST":"Impor Pustaka dari akun tamu Anda","RECEIVE_UPDATES_EMAIL":"Terima pembaruan dari Stremio di email Anda","LOGIN_FAILED":"Gagal masuk.","SIGNUP_FAILED":"Gagal daftar.","SEARCH_FAILED":"Gagal mencari","EMAIL_USED":"Email ini sudah digunakan.","WAITING_FB_LOGIN":"Masuk menggunakan Facebook...","EXTERNAL_PLAYER_TITLE":"Putar di pemutar eksternal","EXTERNAL_REMEMBER_PLAYER":"Apakah Anda ingin mengingat pilihan","EXTERNAL_ALWAYS_PLAY":"Ya","EXTERNAL_ONLY_ONCE":"Tidak","BEST_FIT":"Paling sesuai","FIT_SCREEN":"Paskan layar","FILL":"Isi","16:9":"16:9","4:3":"4:3","Original":"Asli","INTRO_TASTE":"Katakan apa yang Anda inginkan","INTRO_TASTE_LONG":"Katakan apa yang Anda ingin tonton","INTRO_TASTE_PICK":"Pilih {{interestsRemaining}} minat","INTRO_TASTE_PICK_MORE":"Pilih {{interestsRemaining}} minat lagi","INTRO_TASTE_HELP_US":"Bantu kami mengenal Anda lebih baik.","INTRO_TASTE_CHOOSE_THESE":"Pilih beberapa:","INTRO_TASTE_CHOOSE_MIN":"Pilih setidaknya 3 kategori","INTRO_TASTE_CHOOSE_MIN_ERR":"Anda harus memilih setidaknya 3 kategori!","INTRO_TASTE_LIFESTYLE":"Gaya hidup","INTRO_TASTE_SPORTS":"Olahraga","INTRO_TASTE_FOOD_HEALTH":"Kuliner & Kesehatan","INTRO_TASTE_BEAUTY_FASHION":"Kecantikan & Busana","INTRO_TASTE_NEWS":"Berita","INTRO_TASTE_GAMING":"Permainan","INTRO_TASTE_SCIENCE_EDU":"Sains & Pendidikan","INTRO_TASTE_MUSIC":"Musik","INTRO_TASTE_TRAVEL":"Wisata","INTRO_TASTE_LATE_NIGHT":"Acara Tengah Malam","INTRO_TASTE_REALITY":"Realitas","INTRO_TASTE_COMEDY":"Komedi","INTRO_TASTE_DIY":"Swakarya","INTRO_TASTE_TECH":"Teknologi","INTRO_TASTE_CINEMA":"Sinema","ADDON_NOT_SUPPORTED":"Tambahan terpilih tidak didukung platform ini.","ADDON_DISCLAIMER":"Menggunakan tambahan pihak ketiga akan selalu berada di bawah tanggung jawab Anda dan hukum yang berlaku di tempat Anda berada.","ADDON_ACTIVATE":"Aktifkan tambahan ini?","ADDON_REPO_ADD":"URL koleksi tambahan","ADDON_ADD":"Tambah","INSTALL_ADDON":"Pasang tambahan","ADD_ADDON":"Tambah tambahan","ADD_ADDON_DESCRIPTION":"Anda dapat menambah tambahan lewat tautan eksternal, yang akan terlihat di bawah Tambahan terpasang.","PASTE_ADDON_URL":"Tempel URL tambahan","WHATS_NEW":"Yang terbaru","BUTTON_CONTINUE":"Lanjutkan","BUTTON_ACTIVATE":"Aktifkan","BUTTON_ACTIVATED":"Aktif","BUTTON_CANCEL":"Batal","BUTTON_SUBMIT":"Kirim","BUTTON_DISMISS_ALL":"Hiraukan Semua","BUTTON_VIEW_ALL":"lihat semua","BUTTON_SEE_ALL":"Lihat Semua","BUTTON_COLOR_TRANSPARENT":"Transparan","OPEN_IN_BROWSER":"Buka di peramban","LIB_EMPTY":"Pustaka Anda sepertinya kosong. Apa gunanya :) ","HOW_START":"Begini cara Anda bisa memulai:","LIB_EMPTY_CAL":"Kalender Anda menampilkan serial dalam Pustaka.","HOW_START_CAL":"Begini cara Anda menambah serial:","LIB_EMPTY_BOARD":"Papan menampilkan notifikasi &amp; saran terkait Pustaka Anda.","HOW_START_BOARD_WAIT":"Please, add a few series or channels to your Library give us a few minutes to process :)","HOW_START_BOARD":"Begini cara Anda dapat menambah serial &amp; film:","IMPORT_FB":"Impor yang Anda sukai dari <span>Facebook</span>","IMPORT_TRAKT":"Impor pustaka media Anda dari <span>Trakt</span>","IMPORT_DISCOVER":"Temukan hal-hal menarik di <span>Temukan</span>","IMPORT_DISK":"Impor film dan acara yang Anda miliki di <span>diska lokal</span>","PLEASE_CREATE_ACC":"Mohon <u>buat akun</u> untuk mengaktifkan sinkronisasi Pustaka &amp; Papan.","IMPORT_DISCOVER_SIGNUP":"Daftar dan temukan hal menarik di <span>Temukan</span>","IMPORT_DISK_SIGNUP":"Daftar dan impor film dan acara yang Anda miliki di <span>diska lokal</span>","LIB_EMPTY_CLOUD":"Pustaka gemawan","LIB_EMPTY_CLOUD_DESC":"Pustaka gemawan pribadi disinkronkan ke semua perangkat","LIB_EMPTY_EARLY":"Bangun pagi","LIB_EMPTY_EARLY_DESC":"Terima notifikasi episode baru","LIB_EMPTY_PERSONAL":"Pribadi","LIB_EMPTY_PERSONAL_DESC":"Terima rekomendasi pribadi","LIB_EMPTY_CALENDAR_DESC":"Jadwalkan kalender tonton Anda","LIB_EMPTY_ALL":"Daftar untuk mendapatkan ini semua:","LIB_EMPTY_BEST":"Daftar untuk mendapat yang terbaik dari Stremio","LIB_EMPTY_OTHER":"Daftar untuk mengaktifkan Kalender & fitur keren lainnya","CALENDAR_ADDED":"Kalender Stremio calendar telah ditambahkan ke kalender bawaan Anda.","CALENDAR_ADDED_MSG":"Jika tidak berhasil, mohon tambahkan URL ini ke aplikasi kalender Anda secara manual","TRAKT_EXPIRED":"Autentikasi Trakt kadaluwarsa, mohon pergi ke Pengaturan dan autentikasi ulang","TRAKT_REQUIRES_LOGIN":"Galat Trakt","TRAKT_REQUIRES_LOGIN_MSG":"Anda harus masuk","TRAKT_IMPORT_WATCHED":"Impor","THEME":"Tema","THEME_DEFAULT":"Bawaan","THEME_ADAPTIVE":"Adaptif","SETTINGS_LABEL":"Pengaturan","SETTINGS_NAV_GENERAL":"Umum","SETTINGS_NAV_PLAYER":"Pemutar","SETTINGS_NAV_STREAMING":"Siaran","SETTINGS_NAV_SHORTCUTS":"Pintasan","SETTINGS_SHORTCUT_RELOAD_APP":"Muat Ulang Aplikasi","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Buka Pengaturan","SETTINGS_SHORTCUT_SWITCH_TABS":"Ganti Tab","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Gilirkan Tab ke Depan","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Gilirkan Tab ke Belakang","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigasi antar menu","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Pergi ke Pencarian","SETTINGS_SHORTCUT_EXIT_BACK":"Keluar / Kembali","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Alih Menu Kecepatan Pemutaran","SETTINGS_SHORTCUT_MENU_VIDEOS":"Alih Menu Video","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Alih Menu Takarir","SETTINGS_SHORTCUT_MENU_INFO":"Alih Menu Info","SETTINGS_SHORTCUT_FULLSCREEN":"Alih Layar Penuh","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Tampilkan Kontrol","SETTINGS_SHORTCUT_PLAY_PAUSE":"Putar / Jeda","SETTINGS_SHORTCUT_VOLUME_UP":"Volume Naik","SETTINGS_SHORTCUT_VOLUME_DOWN":"Volume Turun","SETTINGS_SHORTCUT_SEEK_NEXT":"Seek Next","SETTINGS_SHORTCUT_SEEK_PREV":"Seek Prev","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Seek Backward","SETTINGS_SHORTCUT_SEEK_FORWARD":"Seek Forward","SETTINGS_SHORTCUT_PLAY_NEXT":"Play Next","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Increase Subtitles Size","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Decrease Subtitles Size","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Increase Subtitles Delay","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Decrease Subtitles Delay","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Toggle Sidebar","SETTINGS_SHORTCUT_OR":"or","SETTINGS_SHORTCUT_TO":"to","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Authenticate","SETTINGS_FACEBOOK_IMPORT":"Import","SETTINGS_CALENDAR_SUBSCRIBE":"Subscribe","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Interface Language","SETTINGS_LAUNCH_STARTUP":"Launch on start-up","SETTINGS_VLC_DEFAULT":"Play with VLC","SETTINGS_UI_LANGUAGE":"UI Language","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Escape key exit full screen","SETTINGS_GAMEPAD":"Enable gamepad support","SETTINGS_CLOSE_WINDOW":"Close app when window is closed","SETTINGS_SUBTITLES_LANGUAGE":"Default Subtitles Language","SETTINGS_SUBTITLES_SIZE":"Default Subtitles Size","SETTINGS_SUBTITLES_BACKGROUND":"Subtitles background","SETTINGS_SUBTITLES_COLOR":"Subtitles color","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Subtitles outline color","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Subtitles background color","SETTINGS_SEEK_KEY":"Arrow keys seek time","SETTINGS_SEEK_KEY_SHIFT":"Arrow keys seek time when Shift key is held","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Rewind & Fast-forward duration","SETTINGS_BINGE":"Auto-play next episode","SETTINGS_NEXT_VIDEO":"Show notification to start next episode","SETTINGS_NEXT_VIDEO_TRIGGER":"Show next episode notification for:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Next video popup duration","SETTINGS_PLAY_IN_BACKGROUND":"Play in background","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Play in external player","SETTINGS_RESIZE":"Auto-resize window before playing","SETTINGS_OVERRIDE_SERVER":"Override the streaming server URL (advanced)","SETTINGS_SERVER_URL":"Streaming server URL: ","SETTINGS_SERVER_AVAILABLE":"Streaming server is available.","SETTINGS_SERVER_UNAVAILABLE":"Streaming server is not available.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Error","SETTINGS_SERVER_CONFIGURE_TITLE":"Configure streaming server url","SETTINGS_SERVER_CONFIGURE_INPUT":"Enter a streaming server url","SETTINGS_SERVER_CACHE_SIZE":"Cache size","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent profile","SETTINGS_HTTPS_ENDPOINT":"Streaming HTTPS endpoint: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Always use latest Beta","SETTINGS_IMPORT_FB":"Import from Facebook","SETTINGS_IMPORT_DISK":"Import from local disk","SETTINGS_IMPORT_TRAKT":"Import from Trakt","SETTINGS_PAUSE_MINIMIZED":"Pause playback when minimized","SETTINGS_HWDEC":"Hardware-accelerated decoding","SETTINGS_BACKGROUND":"Background playback","SETTINGS_SUBSCRIBE_CALENDAR":"Subscribe to calendar","SETTINGS_REQ_EXPORT":"Request data export","SETTINGS_ACC_DELETE":"Request account deletion","SETTINGS_CHANGE_PASSWORD":"Change password","SETTINGS_TOS":"Terms of service","SETTINGS_SUPPORT":"Contact support","SETTING_LANGUAGE":"Language","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_LOGOUT":"Log out of Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Log Out of Trakt","SETTINGS_SCAN_FOR_REMOTE":"Scan QR code to open remote","SETTINGS_DESKTOP_NOTIFICATIONS":"Desktop notifications","SETTINGS_DATA_SAVER":"Data saver","SETTINGS_LANGUAGE_INTERFACE":"interface","SETTINGS_LANGUAGE_SUBS":"default subtitles","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Autoselect Audio Track","SETTINGS_DEFAULT_AUDIO_TRACK":"Default Audio Track","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"account","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"version","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"Launch player in a separate window (advanced)","SETTINGS_PLAY_IN_EXTERNAL":"Always start video in external player","SETTINGS_STORAGE_BUTTON":"Clear Local Storage","SETTINGS_STORAGE_MODAL_TITLE":"Are you sure ?","SETTINGS_STORAGE_MODAL_MESSAGE":"This will clear the local storage and log you out.","SETTINGS_HWDEC_PICKER":"Pick hardware-accelerated decoding setting","SETTINGS_HW_AUTOMATIC":"Automatic","SETTINGS_HW_DISABLED":"Disabled","SETTINGS_HW_ACCELERATED":"Decoding acceleration","SETTINGS_HW_FULL":"Full acceleration","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Subtitles","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Controls","SETTINGS_SECTION_AUTO_PLAY":"Auto-Play","SETTINGS_SECTION_ADVANCED":"Advanced","SUBSPICKER_AUDIO":"Audio","SUBSPICKER_SUBTITLES":"Addons Subtitles","SUBSPICKER_BLACK_BACKGROUND":"Use black background color","SUBSPICKER_VERTICAL_OFFSET":"Vertical Offset","SUBSPICKER_SIZE":"Size","SUBSPICKER_DELAY":"Delay","SUBSPICKER_EMBEDDED_SUBS":"Embedded Subtitles","MOBILE_PRIVACY_POLICY":"Privacy Policy","MOBILE_CRASH_REPORTING":"Crash Reporting","MOBILE_ZOOM_TO_FILL":"Zoom To Fill Screen","MOBILE_PASSTHROUGH":"Digital audio output (passthrough)","MOBILE_RUN_LOW_BATTERY":"Run on low battery","MOBILE_RUN_FOREGROUND":"Run as Foreground Service","MOBILE_PERFORMANCE":"PERFORMANCE & STABILITY","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"QR Code expires in ","MOBILE_LOG_INTO":"Log in to your Stremio account ","MOBILE_SCAN_QR":"Scan QR code above or go to ","MOBILE_LINK_ACCOUNT":"Link Account","MOBILE_SPEEDPICKER_CANCEL":"Cancel","MOBILE_SPEEDPICKER_LABEL":"Select Playback Speed","MOBILE_EMPTY_LIBRARY":"Your library is empty","MOBILE_NO_ADDON_ACTIVE":"No Stremio addon active for this type.","MOBILE_ORGANIZER_WARNING":"The Stremio Organizer app provides limited functionality. For a list of playable streams and the full Stremio experience, use Stremio on desktop.","MOBILE_ADDON_LOADING":"is still loading","MOBILE_ADDONS_LOADING":"addons are still loading","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Configure your addon","MOBILE_CONFIGURE_ADDON_LABEL":"Configure Addon","MOBILE_ORGANIZER_ADDONS_WARNING":"The Stremio Organizer app provides a limited selection of addons. For the full Stremio experience, use Stremio on desktop.","MOBILE_DISCONNECT":"Disconnect","MOBILE_LOOKING_FOR_DEVICES":"Looking for devices...","MOBILE_CAST_TO":"Cast to","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Delete Account","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Account deletion is not instant due to legal obligations. After requesting deletion of your account you will have to use different email address/facebook profile to create a new Stremio account in the future.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirm Account Deletion","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Your account has been created using Facebook. To delete your account, please use our user portal at www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Please provide your password to confirm account deletion.","MOBILE_DELETE_ACCOUNT_BUTTON":"Delete Account","NAVIGATION_ON":"On","NAVIGATION_OFF":"Off","MARKETING_AGREE":"I agree to receive marketing communications from Stremio","QUIT":"Quit","CONNECTED":"Connected","AUTHENTICATE":"Authenticate","CACHING":"Caching","SETTINGS_CACHING_DRIVE":"Caching drive","ENABLE_LOCAL_FILES_ADDON":"Enable the local files addon (requires restart)","LOCAL_ADDON_NOT_ENABLED":"Local addon is not enabled. Click here to go to the settings and enable it","ENABLE_REMOTE_HTTPS_CONN":"Enable remote HTTPS connections","TORRENT_PROFILE":"Torrent Profile","DATA_CACHING":"Data Caching","MAGNET_PARSING":"Parsing a magnet link","January":"January","February":"February","March":"March","April":"April","May":"May","June":"June","July":"July","August":"August","September":"September","October":"October","November":"November","December":"December","Monday":"Monday","Tuesday":"Tuesday","Wednesday":"Wednesday","Thursday":"Thursday","Friday":"Friday","Saturday":"Saturday","Sunday":"Sunday","Action":"Action","Comedy":"Comedy","War":"War","Family":"Family","Animation":"Animation","Adventure":"Adventure","Fantasy":"Fantasy","Crime":"Crime","Mystery":"Mystery","Romance":"Romance","Drama":"Drama","Horror":"Horror","Thriller":"Thriller","Sci-Fi":"Sci-Fi","Music":"Music","Biography":"Biography","Documentary":"Documentary","Sport":"Sport","Musical":"Musical","Western":"Western","Film-Noir":"Film-Noir","News":"News","History":"History","Game-Show":"Game-Show","Reality-TV":"Reality-TV","Talk-Show":"Talk-Show","Film & Entertainment":"Film & Entertainment","Gaming":"Gaming","From TV":"From TV","Lifestyle":"Lifestyle","Science & Education":"Science & Education","Cooking & Health":"Cooking & Health","Beauty & Fashion":"Beauty & Fashion","Sports":"Sports","News & Politics":"News & Politics","How-to & DIY":"How-to & DIY","Tech":"Tech","Automotive":"Automotive","Causes & Non-Profits":"Causes & Non-Profits","Movies":"Movies","Uk Live Tv":"Uk Live Tv","Fashion":"Fashion","Business News Radio":"Business News Radio","Business Tv":"Business Tv","Cars & Auto":"Cars & Auto","Comedy Radio":"Comedy Radio","Lifestyle Radio":"Lifestyle Radio","News Tv":"News Tv","Food And Wine":"Food And Wine","Latino Tv":"Latino Tv","Shopping Tv":"Shopping Tv","Religion":"Religion","Kids":"Kids","Body & Soul":"Body & Soul","Education":"Education","Indian Tv":"Indian Tv","Extreme Sports":"Extreme Sports","Middle Eastern Tv":"Middle Eastern Tv","Celebrity Tv":"Celebrity Tv","Science Tv":"Science Tv","Bikini babe":"Bikini babe","Outdoors":"Outdoors","German Tv":"German Tv","French Tv":"French Tv","Italian Tv":"Italian Tv","Gamer Tv":"Gamer Tv","Travel":"Travel","Asian Tv":"Asian Tv","Entertainment":"Entertainment","News Radio":"News Radio","Music Radio":"Music Radio","Language Learning":"Language Learning","Science Radio":"Science Radio","Tech Radio":"Tech Radio","Science & Technology Vod":"Science & Technology Vod","new video":"new video","new episode":"new episode","new movie":"new movie","recommended":"recommended","we recommend":"we recommend","offer of the day":"offer of the day","news":"news","music video":"music video","CTX_SHOW_HOTKEYS":"Show hotkeys","CTX_DISMISS_NOTIF":"Dismiss notifications","CTX_DISMISS_ALL":"Dismiss all","CTX_SHARE":"Share","CTX_COPY_SHARE_LINK":"Copy share link","CTX_COPY_MAGNET_LINK":"Copy magnet link","CTX_COPY_STREAM_LINK":"Copy stream link","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Download this video","CTX_DOWNLOAD_SUBS":"Download subtitles","CTX_VIEW_ON_YOUTUBE":"View on YouTube","CTX_SHOW":"Show","CTX_PLAY":"Play","CTX_PLAY_IN":"Play in","CTX_PLAY_ON":"Play on","CTX_WATCH_ON":"Watch on","CTX_WATCH":"Watch","CTX_WATCHED":"Watched","CTX_WATCH_BEGINNING":"Watch from the beginning","CTX_WATCH_MOBILE":"Watch on a mobile device","CTX_REWIND":"Rewind to beginning","CTX_MARK_WATCHED":"Mark as watched","CTX_MARK_NON_WATCHED":"Mark as non-watched","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"Mark rest as watched","CTX_UNMARK_REST":"Mark rest as non-watched","CTX_RECEIVE_NEW_NOTIF":"Receive new notifications","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"Remove from cache","CTX_REMOVE_CACHE_EP":"Remove episode from cache","CTX_OPEN_CONTAINING":"Open containing folder","CTX_REMOVE":"Remove from library","CTX_AVAILABLE_OFFLINE":"Available Offline","CTX_PAUSED":"Paused","CTX_ALWAYS_ON_TOP":"Always on top","CTX_FULLSCREEN":"Fullscreen","CTX_WRONG_SUBS":"Wrong subtitles?","CTX_REPORT_ISSUES":"Report issue","CTX_COPY":"Copy","CTX_PASTE":"Paste","CTX_CLEAR":"Clear","CTX_CLEAR_RECENT_SEARCHES":"Clear recent searches","HELLO_THERE":"Hello There","HOPE_YOU_ENJOY":"We hope you enjoy Stremio and it\'s one of your favourite apps already!","WHO_ARE_WE":"Who are we? We are the team behind it - two guys who work hard every day for the last 3 years to make this product better and better.","SUPPORT_US":"If you enjoy using Stremio, if Stremio is valuable for you - spread the word!","SPREAD_THE_WORD":"Share with your friends now, spread the word about Stremio","MORE_PEOPLE":"The more people use Stremio, the better it will get!","SEND_A_LINK":"Or send a link to our website","TIP_LOCALFILES":"Tip: you can drag & drop local video files into Stremio","ADDON_MY":"My Addons","ADDON_COMMUNITY":"Community Addons","ADDON_OFFICIAL":"Official Addons","ADDON_REPOS":"Addon collections","ADDON_SEARCH":"Search addons","ADDON_INSTALL":"Install","ADDON_CONFIGURE":"Configure","ADDON_UNINSTALL":"Uninstall","ADDON_UPGRADE":"Upgrade","ADDON_INSTALLED":"Installed","ADDON_INSTALLED_MSG":"Addon installed!","ADDON_UPGRADED_MSG":"Addon upgraded!","ADDON_UNKNOWN":"Unknown","ADDON_ERR":"Addon install error!","ADDON_DISCONNECTED":"Disconnected","ADDON_APP_MISSING":"the app for this source is not installed. Do you want to install it now?","ADDON_APP_INSTALL":"Install Now","ADDON_PAGE":"Addon Page","ADDON_TOP_CONTENT":"Best from this Addon","ADDON_PROVIDES":"This addon will give you:","ADDON_WATCH":"Watch #{types} now!","ADDON_WATCH_FREE":"Watch #{types} for FREE now!","ADDON_ADDON":"Addon","ADDON_SUPPORTED_TYPES":"Supported types","ADDON_SUPPORTED_CATALOGS":"Supported catalogs","ADDON_PROVIDES_DISCOVER":"More #{types} in Discover","ADDON_PROVIDES_STREAMS":"Watch #{types}","ADDON_PROVIDES_STREAMS_FREE":"Watch #{types} for FREE","ADDON_PROVIDES_SUBTITLES":"Subtitles for #{types}","ADDON_CANTDETECT":"We couldn\'t detect a running Stremio, so we couldn\'t detect what addons you have installed.","ERR_NO_META":"No information found about this ","ERR_GETTING_META":"Error retrieving information about this.","ERR_CANT_PARSE_MAGNET":"Unable to parse magnet","ERR_NO_MAGNET_INFOHASH":"No valid info hash for magnet","ERR_NO_FILE_PATH":"Unable to send request without a path to file","ERR_NO_TORRENT":"No torrent returned","ERR_NO_SUPPORTERD_FILES":"No supported files found","ERR_OPENING_FILES":"Could not open external files","ERR_INVALID_LINK":"Invalid link","ERR_REGISTERED_ONLY":"This option is available for registred users only.","ERR_CLIPBOARD":"Can not play from clipboard","ERR_CLIPBOARD_READ":"Can not read the clipboard on this platform","ERR_CLIPBOARD_GENERIC":"No playable URL found in the clipboard. Please copy a URL (e.g. a magnet link) to a video.","BOARD_CONTINUE_WATCHING":"Continue watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Movies picked specially for you.<br />This movie is a sample recommendation.","BOARD_EXPLANATION_EPISODES":"New episodes of your favorite Series come here.<br />Add series you follow to your Library.","BOARD_EXPLANATION_VIDEOS":"New episodes of your favorite Channels come here.<br />Add YouTube channels you follow to your Library.","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE":"Contribute","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"Learn more","WEBSITE_COMPANY":"Company","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Need Help?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"Tonton Langsung","WEBSITE_SLOGAN_ALL":"Semua Konten Vidio yang Kamu Nikmati dalam Satu Tempat","WEBSITE_SLOGAN_NEW":"Semua Yang Kamu Tonton","WEBSITE_SLOGAN_NEW_NEW":"Freedom to Stream","WEBSITE_WATCH_FROM":"Tonton dari","WEBSITE_DOWNLOAD":"Unduh Sekarang","WEBSITE_DOWNLOAD_FOR":"Unduh Sekarang untuk","WEBSITE_IS_DESKTOP":"Stremio adalah aplikasi desktop, buka halaman ini dengan komputer kamu dan download","WEBSITE_DESKTOP_DEMO_VID":"Desmo Desktop","WEBSITE_PAGE_HOME":"Beranda","WEBSITE_PAGE_FEATURES":"Fitur","WEBSITE_PAGE_ADDONS":"Tambahan","WEBSITE_PAGE_TECH":"Teknologi","WEBSITE_PAGE_CREATE_ADDON":"Buat Tambahan","WEBSITE_PAGE_CONTACTS":"Kontak","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Film","WEBSITE_TYPE_series_PL":"Serial","WEBSITE_TYPE_tv":"TV Langsung","WEBSITE_TYPE_channel":"Saluran","WEBSITE_STREMIO_WHAT_IS":"Stremio adalah sebuah aplikasi yang membantu kamu mengatur and menonton vidio favorit, film, serial televisi dan saluran televisi kamu secara langsung","WEBSITE_FEATURES_WATCH":"Tonton HD secara langsung","WEBSITE_FEATURES_WATCH_DETAIL":"Klik dan mainkan film kesukaan, acara televisi, vidio dan saluran televisi kamu.","WEBSITE_FEATURES_SUBS":"Subjudul Otomatsi","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio secara otomatis memilih subjudul yang disinkronkan untuk bahasa kamu.","WEBSITE_FEATURES_SUBS_LABEL":"Langkahmu, Ketua.","WEBSITE_FEATURES_CAST":"Putar di Televisi & perangkat seluler","WEBSITE_FEATURES_CAST_DETAIL":"Cast to AppleTV, Chromecast, Smart TV (DLNA/UPnP) and mobile devices.","WEBSITE_LIB":"Nikmati pustaka pribadi kamu yang tersinkronisasi pada seluruh perangkat kamu","WEBSITE_LIB_COLLECT":"Kumpulkan dari Stremio","WEBSITE_LIB_IMPORT":"Impor dari Facebook","WEBSITE_LIB_LOCAL":"Tambahkan dari perangkat lokal kamu","WEBSITE_BOARD":"The Board - Your one-stop place for Notifications and Recommendations","WEBSITE_BOARD_RECOMMEND":"Rekomendasi siaran televisi","WEBSITE_BOARD_TRENDING":"Film yang sedang tren","WEBSITE_BOARD_NEW":"Vidio baru","WEBSITE_BOARD_EPISODE":"Episode baru","WEBSITE_BOARD_1":"Sedang mencari sesuatu yang menarik untuk ditonton? Dapatkan rekomendasi berdasarkan selera kamu!","WEBSITE_BOARD_2":"Dapatkan pemberitahuan ketika episode baru dari siaran favorit televisi kamu atau siaran Youtube telah keluar!","WEBSITE_BOARD_YOUTUBE":"Vidio baru dari siaran Youtube","WEBSITE_BOARD_EPISODES":"Episode baru dari serial yang kamu ikuti","WEBSITE_ADDONS":"Konten Tambahan","WEBSITE_TECH_DETAIL":"Kita cinta teknologi, kita cinta sekali dengan ilmu pengetahuan!\\nStremio menggunakan teknologi open source berikut :","WEBSITE_TECH_WCJS":"WebChimera.js mengizinkan Stremio untuk memutar format vidio apapun dengan performa yang baik.","WEBSITE_TECH_WCJS_EXTRA":"Kita adalah penyumbang proyek inti","WEBSITE_TECH_ELECTRON":"Electron menyediakan sebuah platform inovatif untuk membangung Stremio.","WEBSITE_TECH_ELECTRON_EXTRA":"Kita adalah penyumbang proyek","WEBSITE_TECH_LINVODB":"Sebuah teknologi basis data yang memastikan data kamu terorganisir dan tersedia dimanapun kamu masuk.","WEBSITE_TECH_LINVODB_EXTRA":"Teknolog Internal","WEBSITE_CREATE_ADDON":"Buat Addon kamu","WEBSITE_CREATE_ADDON_DETAIL":"Apakah kamu menyediakan sebuah jasa konten vidio? Kita akan membantu mendapatkan manfaat dari fitur dengan membuatkan Addon kamu.","WEBSITE_CREATE_ADDON_BENEFITS":"Manfaat dari membuat sebuah Addon untuk Stremio","WEBSITE_P2P_BEAUTY":"Keindahan straming Peer-To-Peer","WEBSITE_P2P_1":"Video full HD / 4K yang andal dan terjangkau sesuai permintaan atau streaming langsung","WEBSITE_P2P_2":"Platform distribusi memberikan pengalaman pengguna yang luar biasa","WEBSITE_P2P_3":"Kami akan membuat addon yang memenuhi kebutuhan Anda","WEBSITE_P2P_CONTACT":"Tertarik? Kamu dipersilahkan untuk <a href=\'mailto:office@stremio.com\'>menghubungi kami</a>.","WEBSITE_P2P_CONTACT_EXTRA":"Kami akan dengan senang hati membantu Anda mengintegrasikan konten Anda dengan Stremio!","WEBSITE_P2P":"Sesekali, muncullah teknologi yang mengubah nama game tersebut. Kami menginvestasikan banyak waktu dan upaya dalam membangun mesin streaming video Peer-to-Peer (P2P) kami yang memberikan kinerja hebat dan keserbagunaan untuk beradaptasi dengan kasus penggunaan apa pun.\\nHubungi kami untuk video P2P berkemampuan DRM sesuai permintaan atau streaming langsung.","WEBSITE_THOUGHTS":"Thoughts we share:","WEBSITE_SPREAD":"Spread the word about Stremio:","WEBSITE_CONTACT":"Contact us, we\'ll be happy to hear from you!","WEBSITE_OPENSOURCE":"For our open source projects, go to our","WEBSITE_BITCOIN":"Donate bitcoin:","WEBSITE_FAQ":"Frequently asked questions","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Questions","WEBSITE_TOS":"Terms of use","WEBSITE_LEGAL":"Legal","WEBSITE_PAGE_ABOUT":"About","WEBSITE_PAGE_BECOME_PARTNER":"Become a partner","WEBSITE_ALL_YOU_CAN_WATCH":"Freedom To Watch\\nEverything You Want.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"What is stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio is a one-stop hub for video content aggregation. Discover, organize and watch video from all kind of sources on any device that you own.","WEBSITE_WHAT_IS_STREMIO_P2":"Movies, TV shows, series, live television or web channels like YouTube and Twitch.tv - you can find all this on Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio is a modern media center that\'s a one-stop solution for your video entertainment. You discover, watch and organize video content from easy to install addons.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Movies, TV shows, live TV or web channels - find all this on Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Enjoy on all your Media devices","WEBSITE_DEVICES_COLLECT":"Collect from Stremio","WEBSITE_DEVICES_IMPORT_FB":"Import from facebook","WEBSITE_DEVICES_LOCAL":"Add from local drive","WEBSITE_JOIN_THE_PARTY_NOW":"Join the party now","WEBSITE_DEVICES_ALL":"Easy to use on all your devices;","WEBSITE_EXTENDABLE_CATALOG":"Infinitelly extendable video catalog;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Great features to organize your media;","WEBSITE_AS_SEEN_ON":"As seen on","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"About us","WEBSITE_LINK_TECHNOLOGY":"Technology","WEBSITE_LINK_APPS":"Apps","WEBSITE_LINK_DOWNLOADS":"Downloads","WEBSITE_MORE":"More","WEBSITE_LINK_ADDONS":"Addons","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Contribute","WEBSITE_LINK_COMMUNITY":"Community","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... & More","WEBSITE_LINK_HELP":"Help center","WEBSITE_LINK_CONTACTS":"Business inquiries","WEBSITE_LINK_TOS":"Terms & conditions","WEBSITE_LINK_PRAVACY":"Privacy policy","WEBSITE_SUBSCRIBE":"Subscribe","WEBSITE_NEWSLETTER":"Join Our Newsletter for amazing stuff","WEBSITE_PLACEHOLDER_EMAIL":"Your Email","WEBSITE_COMMUNITY":"Community","WEBSITE_LINK_PRAVACY_LEGAL":"Privacy & legal","WEBSITE_WHY":"Why we do it","WEBSITE_WHY_P1":"At Stremio, we come to work every day because we want to solve an important problem for the video-on-demand industry. There’s so much new content published every minute that it’s virtually impossible to find your way around it.","WEBSITE_WHY_P2":"We help people navigate that huge world of video entertainment and discover new content to enjoy. Our apps bring together movies, series, live TV, web channels, and more. We are dedicated to making it incredibly easy for users to find titles and broadcasters that they love.","WEBSITE_WHY_P3":"You can use our service on any device and at any time, making Stremio the only video entertainment hub you’ll ever need.","WEBSITE_TEAM":"TEAM","WEBSITE_TEAM_P":"The Stremio team is small but powerful: between the ten of us, we code in X languages, and share expertise in software development, UI and UX design, marketing and advertising, and business and startups.","WEBSITE_FEATURES":"Features","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Discover new content with ease","WEBSITE_FEATURES_DISCOVER_P":"Easily discover new movies, TV shows, series and channels to watch. Browse by category, genre, rating, recency, etc. or simply type a name to find. Stremio makes finding new video content a piece of cake.","WEBSITE_FEATURES_ALL_CONTENT":"All of your video content on one screen","WEBSITE_FEATURES_ALL_CONTENT_P1":"See what movies, series or videos you didn’t finish and continue watching them; get notified for new episodes and releases; and browse through the recommendations you will get based on your viewing habits.","WEBSITE_FEATURES_LIBRARY":"Organize your video library","WEBSITE_FEATURES_LIBRARY_P1":"Add any title to your Stremio library with a single click and find your way around your content, neatly arranged by type, recency, or alphabetical order.","WEBSITE_FEATURES_CALENDAR":"Keep track of everything you watch","WEBSITE_FEATURES_CALENDAR_P1":"Get a calendar visualization of all the movies and series you add to your library. Export your Stremio calendar and sync it so you always know when a new episode or a premier is due.","WEBSITE_FEATURES_BIG_SCREEN":"Enjoy your video content on a bigger screen","WEBSITE_FEATURES_BIG_SCREEN_P1":"Cast whatever you are watching to another device - be it a phone, tablet or a TV with a single click.","WEBSITE_FEATURES_SOURCES":"Watch video from many different sources","WEBSITE_FEATURES_SOURCES_P":"Install official and community addons to enjoy video sourced from many different providers - all in one sleek, easy to use app.","WEBSITE_CREATE_AN_ADDON":"Create an addon","WEBSITE_FEATURES_SYNC":"Sync your library across different devices and resume your playback","WEBSITE_FEATURES_SYNC_P1":"Login with your account across all your devices and enjoy your library, addons, playback and calendar synchronized.","WEBSITE_FEATURES_EXTENDABLE":"Extendable video catalog by addons","WEBSITE_FEATURES_EXTENDABLE_P1":"The Stremio addon catalog provides a number of addons to install and watch a variety of video content from. This includes movies, shows, live TV, sport, news, podcasts, web channels, video games and more.","WEBSITE_FEATURES_AUTO_SUBS":"Automatic subtitles","WEBSITE_FEATURES_AUTO_SUBS_P1":"With our subtitle addons you get automatically selected options for your preferred language.","WEBSITE_FEATURES_CHROMECAST":"Casting to Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Enjoy your video content on a bigger screen or just cast whatever you are watching to another device.","WEBSITE_FEATURES_KEEP_TRACK":"Keep track of your favorite TV shows and Web channels","WEBSITE_FEATURES_KEEP_TRACK_P1":"Get a calendar visualization and notifications for new episodes of your favorite series and web channels.","WEBSITE_FEATURES_POWER_USER":"Power user features","WEBSITE_FEATURES_POWER_USER_P1":"Play in external player","WEBSITE_FEATURES_POWER_USER_P2":"Play from a torrent file or magnet link","WEBSITE_FEATURES_POWER_USER_P3":"Import to your library from Facebook likes or local disk","WEBSITE_ADD_ONS":"Addons","WEBSITE_ADD_ONS_P1":"All of the video content Stremio provides get sourced through an addon system - no content or content provider has been built into the app.","WEBSITE_ADD_ONS_P2":"There are two groups of addons available: official and community addons.","WEBSITE_ADD_ONS_P3":"The official ones are developed and hosted by Stremio, whereas community addons are created by our community members, who also host them.","WEBSITE_ADDONS_OFFICIAL":"Official addons","WEBSITE_ADDONS_WATCHUB":"Stream your favourite movies, series and shows from providers like iTunes, Hulu, Amazon and other UK/US services.","WEBSITE_ADDONS_YOUTUBE":"Watch your favourite YouTube channels ad-free and get notifications for new uploads from the contributors you follow.","WEBSITE_ADDONS_FILMON":"Watch live TV, movies and social television for free. 600 TV channels, 45,000 free movies, documentaries and more.","WEBSITE_ADDONS_OPENSUBTITLES":"Movie and TV subtitles in multiple languages, thousands of translated subtitles uploaded every day.","WEBSITE_ADDONS_COMMUNITY":"Community addons","WEBSITE_ADDONS_FILMON_VOD":"Watch video on demand from Filmon.tv","WEBSITE_ADDONS_TWICH":"Watch live streams from Twitch.tv - a video streaming platform for the e-sports industry.","WEBSITE_ADDONS_VODO":"Watch indie movies absolutely free of charge.","WEBSITE_ADDONS_NETFLIX":"Watch Netflix movies and web series.","WEBSITE_ADDONS_CREATE":"Create an addon","WEBSITE_ADDONS_CREATE_P1":"If you wish, you can develop your own addon. This way, you can give yourself and our community access to new video content, and reach a new, targeted audience of millions of users around the world.","WEBSITE_ADDONS_START_CREATE":"To get started, visit the Stremio Addon SDK page:","WEBSITE_DOWNLOADS":"Downloads","WEBSITE_DOWNLOADS_P1":"For optimal performance, we recommend that you use the latest available version of the Stremio apps. If for some reason, however, you would like to use an older version, you can download it here.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio for Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio for macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio for Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio for Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio for iOS (limited version)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"The Stremio platform is open source and you can easily create an addon for content that is currently not sourced.","WEBSITE_CONTRIBUTE_WHY":"Why should you create an addon?","WEBSITE_CONTRIBUTE_WHY_P1":"Reach new audience for your video content","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio’s user base is growing rapidly - within the first year of the launch, Stremio had gained 1 million users around the world, and in the second year of the platform’s existence this number grew to 2.5 million.","WEBSITE_CONTRIBUTE_WHY_P3":"With your addon, you can easily reach this audience and distribute your video content to them.","WEBSITE_CONTRIBUTE_ALL":"Watch your favourite movies, videos, series and channels in one single place.","WEBSITE_CONTRIBUTE_ALL_P1":"You’re a fan of a particular type of content not available on Stremio yet? Create an addon for it and enjoy watching your favourite videos in one of the largest and easiest to use entertainment hubs on the market.","WEBSITE_CONTRIBUTE_ALL_P2":"On top of that, you’ll get the endless gratitude of other like-minded Stremio community members.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetize your addon and earn money with its help","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Once you develop a new addon for Stremio, you can easily monetize it through a number of different ways. If you are considering this, feel free to get in touch with us at ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - we would be happy to consult and advise you about addon monetization options.","WEBSITE_CONTRIBUTE_TRANSLATE":"Become a volunteer translator","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"If you want to enjoy the Stremio apps in different languages, you can join our community of volunteer translators. They help us add versions of the Stremio in many different languages.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Are you eager to get started?","WEBSITE_TRANSALTE_STREMIO":"Translate Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Official communities","WEBSITE_COMMUNITY_OFFICIALS_P1":"Become a part of the growing Stremio community. Follow us on social media and don’t be shy to say hello - we love hearing from our fans! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Unofficial communities","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partners and supporters","WEBSITE_COMMUNITY_GOODIES":"Stremio goodies","WEBSITE_COMMUNITY_WALLPAPERS":"Wallpapers","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"Contact us","WEBSITE_CONTACT_US_P1":"If you have any questions, comments or suggestions, feel free to get in touch with us through the contact form below.","WEBSITE_CONTACT_US_P2":"Keep in mind that we are located in Bulgaria so there may be a delay in addressing your query due to time zone differences.","WEBSITE_CONTACT_US_SUCCESS":"Your message has been sent. We will get back to you at our earliest convenience.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Please enter a valid email!","WEBSITE_CONTACT_US_Q_RELATED_TO":"What is your question related to?","WEBSITE_CONTACT_US_Q_OS":"What is your Operation System?","WEBSITE_CONTACT_US_PH_EMAIL":"Your E-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Message","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"SEND","WEBSITE_CONTACT_US_Q_1":"How to install?","WEBSITE_CONTACT_US_Q_2":"How to uninstall?","WEBSITE_CONTACT_US_Q_3":"(HTML) How to make lasagna?","WEBSITE_CONTACT_US_Q_4":"Addons","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Technology","WEBSITE_TECHNOLOGY_P1":"We love technology and mad science. </br> Here is what powers Stremio (it’s all open-source).","WEBSITE_TECHNOLOGY_P_QT":"Cross-platform software development at its best.","WEBSITE_TECHNOLOGY_P_MPV":"A free, open source, and cross-platform media player.","WEBSITE_TECHNOLOGY_P_RN":"React Native lets you build mobile apps using only JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework embedded into application to get multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm is a mobile platform and a replacement for SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js is an open-source, cross-platform, JavaScript runtime environment.","WEBSITE_TECHNOLOGY_P_RUST":"Rust is a multi-paradigm system programming language focused on safety, especially safe concurrency.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribute to the project","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"There are two ways you can contribute to Stremio and help us make the product even better.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"You can donate your valuable language skills by translating the platform...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"or","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... you can employ your coding skills for creating community addons. ","WEBSITE_TRANSLATE_STREMIO":"Translate Stremio","WEBSITE_404_OH_NO":"Oh, tidak! Halaman yang kamu cari tidak ada disini...","WEBSITE_GO_HOME":"Ke Beranda","WEBSITE_LINK_OTHER_DOWNLOADS":"Unduh lainnya","WEBSITE_FAQ_ABR":"Pertanyaan yang sering diajukan","WEBSITE_SUPPORT":"Bantuan","WEBSITE_DOWNLOAD_4_0_BETA":"Unduh Stremio 4 beta Sekarang","WEBSITE_GET_FOR_DESKTOP":"Dapatkan untuk Desktop","WEBSITE_LINK_ADDON_COMPETITION":"Kompetisi Addon","WEBSITE_LINK_ART_CONTEST":"Kontes Seni","WEBSITE_MY_ACCOUNT":"Akun Saya","WEBSITE_MAINPAGE_FAQ_001_H1":"Apa itu Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio adalah pusat media modern yang memberikan kamu kegemaran untuk menonton apapun yang kamu mau.","WEBSITE_MAINPAGE_FAQ_002_H1":"Bagaimana itu bekerja?","WEBSITE_MAINPAGE_FAQ_002_P1":"Setelah Anda menginstal Stremio di perangkat Anda dan membuat akun, yang harus Anda lakukan adalah mengunjungi katalog addon dan menginstal addon apa pun yang Anda inginkan, dan Anda siap melakukannya!","WEBSITE_MAINPAGE_FAQ_002_P2":"Setelah itu, Anda dapat pergi ke bagian Discover atau Board untuk mulai menjelajahi konten.","WEBSITE_MAINPAGE_FAQ_003_H1":"What can I watch here?","WEBSITE_MAINPAGE_FAQ_003_P1":"A lot: Movies, TV shows, Web channels, Sport, TV channels, listen to Podcasts and more. Thanks to our addon system, you can access a variety of content.","WEBSITE_MAINPAGE_FAQ_004_H1":"Is Stremio open-source?","WEBSITE_MAINPAGE_FAQ_004_P1":"Yes, you can check the following links: ${1}desktop app${2} and ${3}GitHub organization${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Is Stremio safe?","WEBSITE_MAINPAGE_FAQ_005_P1":"Yes: because it is open-source software, the code is publically auditable and you can review it yourself.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"How about my privacy?","WEBSITE_MAINPAGE_FAQ_006_P1":"We respect users\' privacy and do not collect any personal data besides the essential minimum to create and sync your account.","WEBSITE_MAINPAGE_FAQ_006_P2":"There is also a ${1}Guest mode${2} at signup, which requires no data whatsoever: in this mode, no calls are made to our backend. However, it comes at the expense of useful features, such as being able to sync your library across devices.","WEBSITE_MAINPAGE_FAQ_007_H1":"Can I cast to my TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Yes, we support Chromecast and you can cast both from desktop and mobile apps (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"How many addons does Stremio have?","WEBSITE_MAINPAGE_FAQ_008_P1":"As of late 2019, over 50 - for more information, check our addon catalog.","WEBSITE_MAINPAGE_FAQ_009_H1":"Can Stremio be extended beyond what\'s in the addon catalog?","WEBSITE_MAINPAGE_FAQ_009_P1":"Yes, you should check those: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"What devices does Stremio support?","WEBSITE_MAINPAGE_FAQ_010_P1":"We have desktop apps for Windows, Mac and Linux. For mobile, we support Android and iOS, although keep in mind that the iOS is limited in functionality (does not support most addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"There are many Android-based devices which you can run Stremio on, like NVIDIA Shield and Amazon Fire Stick, but we do not support them officially.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Can you add certain content to Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Sorry, we provide no content ourselves, but the more Stremio addons you have installed, the more content you will be able to find.","WEBSITE_MAINPAGE_FAQ_012_H1":"Can Stremio play magnet links?","WEBSITE_MAINPAGE_FAQ_012_P1":"Yes, and it can also play normal HTTP links and torrent files (drag and drop).","WEBSITE_MAINPAGE_FAQ_013_H1":"Can I download a video and watch offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Available offline is an upcoming feature, but if you allow Stremio to cache on your device (from the settings panel) you can watch the videos later without a connection.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nothing works, help me!","WEBSITE_MAINPAGE_FAQ_014_P1":"Are you sure you have installed addons? If yes, check with our ${1}help center${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"How does Stremio sustain it\'s development operations?","WEBSITE_MAINPAGE_FAQ_015_P1":"We run non-intrusive ads occassionally, but we\'re considering moving to a donation model.","WEBSITE_MAINPAGE_FAQ_015_P2":"For more questions, go to our ${1}help center${2}.","HELP_LEARN_MORE":"Help us learn more about you.","LIFESTYLE":"Lifestyle","SPORTS":"Sports","FOOD_HEALTH":"Food & health","BEAUTY_FASHION":"Beauty & Fashion","NEWS":"News","GAMING":"Gaming","SCIENCE_EDUCATION":"Science & education","MUSIC":"Music","TRAVEL":"Travel","LATE_NIGHT":"Late Night","REALITY":"Reality","COMEDY":"Comedy","DIY":"How to DIY","TECH":"Tech","CINEMA":"Cinema","CONTINUE":"Continue","SLOW_LOADING":"SLOW LOADING?","I_GIVE_UP":"I GIVE UP","LEARN_MORE":"Learn more","POOR_SOURCE":"This source is poorly available or your internet connection is not fast enough","PICK_CATEGORIES_ERR":"You have to pick at least 3 categories","ADJUST_TIMING":"Adjust timing with ","ADJUST_SIZE":"Adjust size with ","SEARCH_ANYTHING":"You Can Search Anything...","ALL_CATEGORIES":"All","SEARCH_CATEGORIES":"Movies, Series, YouTube & TV","SEARCH_PERSONS":"Actors, Directors & Writers","SEARCH_PROTOCOLS":"HTTP & Magnet Links","SEARCH_TYPES":"IMDB / TVDB links","WATCHED":"Watched","SHOW_LESS":"Show less","LAST_SEARCHES":"Last searches","CLEAR_HISTORY":"Clear history","CHOOSE_SOME":"CHOOSE SOME OF THIS:","NO_WEB_REMOTE":"Web Remote could not be loaded","STREMIO_OFFLINE":"Stremio is offline","STREMIO_EXPENSIVE_CONNECTION":"We\'ve detected that you are using a mobile data connection, do you want to continue?","USE_DATA":"Use data","WARNING":"Warning","MORE_INFO":"More Info ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Loading ...","STREMIO_TV_BACK_TO_LANGUAGES":"Back to languages","STREMIO_TV_REMOTE":"Remote","STREMIO_TV_GO_TO":"Go to:","STREMIO_TV_OR_SCAN":"or scan:","STREMIO_TV_ADDON_INSTRUCTIONS":"Please follow the instructions in order to install your preferred addons.","STREMIO_TV_LIVE_TV":"Live TV","STREMIO_TV_RESUME_WATCHING":"Resume Watching","STREMIO_TV_LOADING_BACKGROUND":"Loading Background","STREMIO_TV_CHECKING_AUTHENTICATION":"Checking Authentication","STREMIO_TV_LOADING_BOARD":"Loading Board","STREMIO_TV_LOGIN_HEADER_LINE_1":"We want our users to have the best possible personalized experience with our software.","STREMIO_TV_LOGIN_HEADER_LINE_2":"It is for this reason that we kindly ask you to make and/or login to your account.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Thank you for understanding,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"The Stremio Team","STREMIO_TV_REMOTE_INSTRUCTIONS":"In order to use the Web Remote with your Smartphone / Tablet / Desktop:","STREMIO_TV_WIFI_SETUP":"Wi-Fi Setup","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle did not detect a internet connection.","STREMIO_TV_WIFI_DETAILS_1":"Connect to:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Use password:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Open a web browser with the link:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Default","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"By Last Watched","STREMIO_TV_LIBRARY_SORT_NAME":"By Name","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"By Times Watched","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Season ${1}","STREMIO_TV_STREAMS_LOADING":"Loaded ${1} / ${2} addons...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} addon is still loading...","STREMIO_TV_PLAYER_SETTINGS":"Player settings","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Subtitles delay","STREMIO_TV_PLAYER_AUDIO_DELAY":"Audio delay","STREMIO_TV_PLAYER_VIDEO_SCALING":"Video scaling","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Unsupported stream source","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Failed opening external link","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Not adjustable in audio passthrough mode","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Play with ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Play with libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Switching to libVLC player due to a playback error","STREMIO_TV_ADDONS_TITLE":"Use Stremio on your Phone or PC to install or configure addons and press \\"Sync Addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Note: make sure you are using the same Stremio account","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sync Addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons successfully synchronized","STREMIO_TV_ADDONS_SYNC_FAILED":"Failed to synchronize addons","STREMIO_TV_META_LINK_FAILED":"Failed opening meta link","STREMIO_TV_CATALOG_LOADING":"Catalog still loading...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Interface language updated","STREMIO_TV_SETTINGS_THEME_UPDATED":"Theme updated","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Default Player","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"External Player","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferred Language","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Secondary Preferred Language","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possible playback issues on some devices","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Some video formats might not work","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"No caching","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Default","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Soft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Fast","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Fast","STREMIO_TV_SETTINGS_SERVER_URL":"Streaming server url","STREMIO_TV_SETTINGS_SERVER_VERSION":"Server version","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Unknown","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio version","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Edit server url","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Enter a streaming server url","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Show statistics while loading","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"To read Stremio\'s Privacy Policy, visit:","STREMIO_TV_SETTINGS_TOS_TEXT":"To read Stremio\'s Terms and Conditions, visit:","STREMIO_TV_NAV_SEARCH":"Search","STREMIO_TV_NAV_HOME":"Home","STREMIO_TV_NAV_DISCOVER":"Discover","STREMIO_TV_NAV_LIBRARY":"Library","STREMIO_TV_NAV_MOVIES":"Movies","STREMIO_TV_NAV_SERIES":"Series","STREMIO_TV_NAV_CHANNELS":"Channels","STREMIO_TV_NAV_TV":"Live TV","STREMIO_TV_NAV_SETTINGS":"Settings","STREMIO_TV_NAV_ADDONS":"Addons","STREMIO_TV_LOGIN_TITLE":"Link Account","STREMIO_TV_LOGIN_EXPIRES_IN":"Expires in","STREMIO_TV_LOGIN_STEP_ONE":"Scan QR Code above or go to","STREMIO_TV_LOGIN_STEP_TWO":"Log in to your Stremio account","STREMIO_TV_LOGIN_NEW_LINK":"Request a new link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Login code refreshed","STREMIO_TV_SEARCH_PLACEHOLDER":"Type something","STREMIO_TV_SEARCH_NO_ADDONS":"No addons were requested for catalogs!","STREMIO_TV_SEARCH_BUTTON":"Search","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Search History","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"You can search for Titles, Actors, Channels and more...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Clear Search History","STREMIO_TV_FILTERS_DESCRIPTION":"Choose from one of the filters below","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"Filters","SETTINGS":"Settings","ACCOUNT":"Account","LOGOUT":"Logout","THEMES":"Themes","PLAYBACK":"Playback","PLAYBACK_SPEED":"Playback Speed","AUDIO_TRACKS":"Audio Tracks","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Videos","SERVER":"Server","LINKS":"Links","ABOUT":"About","INTERFACE":"Interface","ANIMATIONS":"Animations","STATUS":"Status","LANGUAGE":"Language","SIZE":"Size","DELAY":"Delay","BOLD":"Bold","OPACITY":"Opacity","TEXT_COLOR":"Text Color","OUTLINE_COLOR":"Outline Color","BACKGROUND_COLOR":"Background Color","BACKGROUND_BLUR":"Background Blur","SEEK_TIME_DURATION":"Seek Time Duration","AUTO_PLAY":"Auto-Play Next Episode","PLAY_NOW":"Play Now","MARK_AS_WATCHED":"Mark as Watched","MARK_AS_UNWATCHED":"Mark as Unwatched","REWIND_TO_BEGINNING":"Rewind to Beginning","CONTINUE_WATCHING":"Continue Watching","ALL":"All","SECONDS":"seconds","ON":"ON","OFF":"OFF","RELOAD":"Reload","EDIT_URL":"Edit URL","NONE":"None","EMBEDDED":"Embedded","REMOTE_SWITCH_DEVICES":"Switch Devices","REMOTE_VIDEOS":"Videos","REMOTE_ADJUST_TIMING":"Adjust timing","REMOTE_ADJUST_SIZE":"Adjust size","REMOTE_COULD_NOT_BE_LOADED":"Web Remote could not be loaded","REMOTE_RETRY":"Retry","TORRENT_PROFILE_DEFAULT":"Default","TORRENT_PROFILE_SOFT":"Soft","TORRENT_PROFILE_FAST":"Fast","TORRENT_PROFILE_ULTRA_FAST":"Ultra Fast","FAQ_001_H1":"What is Stremio?","FAQ_001_P1":"Stremio is a media center software designed for video entertainment with ease of use in mind. Stremio allows you to organize &amp; watch your own collection of movies, series, channels and live TV.","FAQ_001_P2":"Stremio collect the content it shows you from your local disk and our addons system.","FAQ_001_P3":"It will also notify you when new episodes/videos/movies you\'re interested in come out, and provide movie recommendations for you.","FAQ_02_H1":"How does Stremio compare to Kodi and Plex?","FAQ_02_P1":"We are inspired by those two pieces of software. But we have different goals - Stremio is specifically targeted towards entertainment video, and strives to become the mainstream solution for that by being very easy to use.","FAQ_02_P2":"Stremio will never be as customizable and feature-rich as Kodi and Plex, but it is significantly easier to use. Just ${1} get it and see ${2} :)","FAQ_03_H1":"How does Stremio compare to Netflix?","FAQ_03_P1":"Again, Netflix is one of our inspirations. We strive to achieve the user experience of Netflix, plus a lot of added goodies. But most importantly, we\'re giving you the freedom to manage your own library and add new content sources with our addon system.","FAQ_03_P2":"That makes Stremio infinitely extendable, so when you use Stremio, you\'re never limited to the content Netflix decides to license. For example, through Stremio you can watch content from ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} and even ${9}Netflix${10} itself!","FAQ_04_H1":"How does Stremio compare to Flipboard?","FAQ_04_P1":"We don’t get that question that often, except when talking to start-up people :)","FAQ_04_P2":"Stremio is by design a content aggregator, which essentially makes it Flipboard for video. This is very apparent in our Board section, which gives you catalogues and new episode/new video notifications for what you follow, just like Flipboard.","FAQ_05_H1":"How does Stremio compare to Popcorn Time?","FAQ_05_P1":"Stremio and Popcorn Time are similar in user interface, because there aren’t many ways to do video entertainment catalogues right :)","FAQ_05_P2":"But while Popcorn Time is focused on streaming torrents from specific sources, Stremio is unrestricted and is merely a content aggregator - it’s not locked into a specific content source.","FAQ_05_P3":"Furthermore, we do not provide any torrent addons by default, so Stremio does not cover the Popcorn Time use-case with official functionality.","FAQ_05_P4":"Another notable difference is that Popcorn Time is completely open source, while Stremio is ${1} partially open source${2}.","FAQ_06_H1":"Will you add this movie/series?","FAQ_06_P1":"No, sorry :(","FAQ_06_P2":"As is mentioned in most of the other questions, Stremio does not provide any content by itself - everything is added through the addons system. In case you have a content request, you can use the “Report” button in the Player, which will send an email to the author of the addon you’re currently using.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Will you create addon for X?","FAQ_08_P1":"It\'s entirely possible.","FAQ_08_P2":"If you have an idea for an addon, drop us a line at ${1}office@stremio.com${2}, but please make sure your addon idea will not infringe on any copyrights or terms of use.","FAQ_08_P3":"At the moment, the next things on our roadmap are addons for FandangoNOW, Filmon.tv video on demand and Crunchyroll.","FAQ_09_H1":"Does Stremio use BitTorrent?","FAQ_09_P1":"Yes, Stremio supports BitTorrent as a streaming protocol. You can use that either with a torrent addon, or by drag-and-dropping a .torrent file into Stremio, or by pasting a magnet link into the Search Bar.","FAQ_09_P2":"Please note that the only official addon using BitTorrent is ${1}Vodo${2}, which provides indie content, all permitted to be distributed with BitTorrent.","FAQ_09_P3":"We do not support use of any third-party addons which may enable copyright infringement.","FAQ_10_H1":"What can I watch in Stremio with the official addons?","FAQ_10_P1":"By default, you can watch Filmon.tv, YouTube and Vodo content within Stremio itself, with it’s embedded player. Additionally, we have an addon for Twitch.tv and a few others.","FAQ_10_P2":"This combined provides a selection of:","FAQ_10_L1":"Popular TV channels, provided by Filmon.tv - for example E4, BBC, Bollyworld TV","FAQ_10_L2":"Everything from YouTube - for example BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indie movies with Vodo","FAQ_10_L4":"Online gaming broadcasts with Twitch.tv","FAQ_10_P3":"Additionally, there are many content sources provided with Guidebox and the Netflix addons, which <b>do not</b> play entirely inside Stremio, but would redirect to the given service. For example, the Guidebox addon would give you a selection of movies you can stream in the US for free, from services like TubiTV and Crackle.","FAQ_11_H1":"Stremio won\'t install, what should I do?","FAQ_11_P1":"If you\'re on Windows, try ${1}this alternative installer${2}.","FAQ_11_P2":"If you\'re on Mac OS X, please be aware that we don\'t support anything older than OS X Mavericks (10.9).","FAQ_11_P3":"If you\'re on Linux, be aware that we only support 64 bit (x64) Linux at the moment.","FAQ_11_P4":"If you still can\'t resolve your problem, please write us at our ${1}Facebook group${2}.","FAQ_12_H1":"Why does my anti-virus complain? Is Stremio safe?","FAQ_12_P1":"We assure you Stremio is ${1}100% clean${2}.","FAQ_12_P2":"Your antivirus is complaining because we include advertising in our installer, which some anti-virus programs recognize as ad-ware.","FAQ_12_P3":"If you\'re still unsure, you can try our ${1}alternative installer${2}.","FAQ_13_H1":"How can I make an addon?","FAQ_13_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_13_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_13_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_14_H1":"How are addons published?","FAQ_14_P1":"When you create an addon and host, and put a <b>endpoint</b> field in your manifest, which points to a working addon address, the addon will automatically publish itself to our ${1}Addon catalogue${2}.","FAQ_14_P2":"This happens because the server part of the stremio-addons module automatically makes a call to our API to announce the addon. When our API validates your <b>endpoint</b> as a valid addon, it will start showing in the catalogue.","FAQ_15_H1":"Can I run Stremio in my browser?","FAQ_15_P1":"Not at the moment, but this is coming!","FAQ_15_P2":"If you\'re curious to see an Alpha, you can see it here: ${1}alpha4.strem.io${2}. Keep in mind streaming is disabled on this alpha. We support Chrome, Firefox, Opera and Edge.","FAQ_16_H1":"Casting to TV doesn\'t work / subtitles don\'t work","FAQ_16_P1":"Casting to TV uses the DLNA technology which is very inconsistent between different TV brands and models. For that reason, we do not have the ability to test it in every case, so it\'s far from perfect. Despite this, we\'re working on improving it constantly but we cannot give you a time estimate on when DLNA will start working properly with your TV.","FAQ_16_P2":"If you don\'t even see your TV in the casting menu, please try disabling your network connection and re-enabling it (on Windows, right click the Network and use Enable/Disable), as well as restarting your router, TV and PC.","FAQ_16_P3":"If you are still encountering issues, you can help us by sending your TV brand and model information at ${1}office@stremio.com${2}.","FAQ_16_P4":"In the meantime, we recommend Chromecast, which we support very well, or simply plugging in your TV to your PC with an HDMI cable.","FAQ_17_H1":"Stremio freezes and/or crashes, what can I do?","FAQ_17_P1":"First of all, if you\'re using Windows 7 with AVG anti-virus: we have a problem with that combination. The problem is in AVG itself, and there\'s no reasonable way to resolve it on our end. Unfortunately, exceptions or disabling the anti-virus won\'t work. The only solution is to replace AVG with something else.","FAQ_17_P2":"If that\'s not the issue, but you\'re still using Windows, please update to the latest service pack and update/re-install your GPU drivers, then try again.","FAQ_17_P3":"If you\'re problem is still not resolved, or you\'re using a Mac or Linux, please write us reporting the exact details of the problem at ${1}our Facebook group${2}.","FAQ_18_H1":"How can I make an addon?","FAQ_18_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_18_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_18_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_19_H1":"Why is Stremio taking disk space?","FAQ_19_P1":"Stremio has a <b>local cache</b> to temporarily keep the video files you stream.","FAQ_19_P2":"This has two benefits: first, it allows Stremio to pre-buffer the video ahead so as to ensure smoother streaming. Second, it keeps the videos in the local cache so you can continue watching them offline.","FAQ_19_P3":"How much Stremio keeps depends on the <b>Cache</b> setting in the Settings panel. Stremio may keep up to the set amount (e.g. 2GB) on your disk, unless the currently streamed video is larger than that, in which case it has to allocate enough storage to keep it until you\'re streaming it.","FAQ_20_H1":"Where is the cache folder?","FAQ_20_P1":"On Windows, it\'s stremio-cache in the drive you picked in Settings (e.g. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"On MacOS, it\'s \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"On Linux, it\'s \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"I get \\"Streaming server is not found\\" error, what can I do?","FAQ_21_P1":"If you get this error, it means one of few things:","FAQ_21_P2":"1) You are trying to use an addon backed by YouTube/BitTorrent source, through our ${1}web version${2}. In this case, you should install our desktop version from ${3}our website${4}.","FAQ_21_P3":"2) Something is wrong with your Stremio installation. In this case, try re-installing our latest desktop version from ${1}the website${2}. If this does not help, try disabling anti-virus programs and firewalls, restarting your PC and trying again. If this does not work too, please write us at our ${3}our Facebook group${4}.","FAQ_22_H1":"I cannot see/use most addons on iOS","FAQ_22_P1":"Because of restrictions in the Apple App Store terms and conditions, we have restricted the iOS application only to a particular set of addons.","FAQ_22_P2":"But rest assured - there will be more addons for iOS in the future, and we may also add an integration that will allow you to use all Stremio addons thanks to connecting the iOS app to the Stremio Streaming Server."}')},42948:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Film","TYPE_series":"Serie","TYPE_tv":"Canali TV","TYPE_channel":"Canali","TYPE_other":"Altri","TYPE_movie_PL":"Film","TYPE_series_PL":"Serie","TYPE_tv_PL":"Canali TV","TYPE_channel_PL":"Canali","TYPE_other_PL":"Altri","TYPE_ALL":"Tutto","TYPE":"Tipo","CATALOG_com_linvo_cinemeta_top":"Popolari","CATALOG_com_linvo_cinemeta_imdbRating":"In evidenza","CATALOG_com_linvo_cinemeta_year":"Nuovi","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Film di pubblico dominio","VIDEO":"Video","BACK":"Indietro","MORE":"Di più","DONE":"Fatto","COPY":"Copia","SUCCESS":"Successo","ERROR":"Errore","SETTINGS_CASTING_MODE_PICKER":"Modalità Casting","CASTING_MODE_HLSV2":"Default","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Nessun transcoding","Discover":"Scopri","Board":"Bacheca","Library":"Libreria","My Library":"La mia Libreria","Calendar":"Calendario","NOTIFICATION_ONLINE":"Ora sei online","NOTIFICATION_OFFLINE":"Attualmente sei offline","INTERNET_CONNECTION":"Connessione di rete","STORAGE_FULL_TITLE":"Avviso: Memoria piena!","STORAGE_FULL_TEXT":"Stremio non sarà in grado di salvare le tue impostazioni, i preferiti e le informazioni di login. Prova a riavviare o reinstallare Stremio","SEARCH":"Cerca","SEARCH_NO_RESULTS":"Nessun risultato trovato","SEARCH_EXPLANATION_CONTENT":"Cerca film, serie, YouTube e canali TV","SEARCH_EXPLANATION_PEOPLE":"Cerca attori, registi e autori","SEARCH_PASTE_LINKS":"Incolla HTTP e Magnet link","SEARCH_OR_PASTE_LINK":"Cerca o incolla link","SEARCH_SUGGESTIONS":"Suggerimenti di ricerca","ADD_TO_LIB":"Aggiungi alla Libreria","REMOVE_FROM_LIB":"Rimuovi dalla Libreria","ADDED_TO_LIB":"Aggiunto alla Libreria","REMOVED_FROM_LIB":"Rimosso dalla Libreria","TRAILER":"Trailer","WATCH_TRAILER":"Guarda Trailer","WATCH_NOW":"Guarda ora","SHOW":"Mostra","SHOW_MOVIE":"Mostra film","WATCH_RANDOM":"Guarda casuale","IMDB_RATING":"Voto IMDb","YEAR":"Anno","DIRECTOR":"Regista","WRITER":"Autore","LEAD_ACTORS":"Attori principali","CAST":"Cast","CREW":"Troupe","SHOW_MORE_CAST":"Mostra di più »","AIRED":"Trasmesso","SEASONS":"Stagioni","GENRE":"Genere","GENRE_ALL":"Tutti i generi","CATALOG":"Catalogo","SUMMARY":"Trama","SHOW_MORE":"Mostra di più","SIMILAR":"Simile","UPCOMING":"Prossimamente","ENDED":"Terminato","DURATION":"Durata","FEATURED":"In primo piano","METADATA":"Metadata","CATEGORY":"Categoria","LINKS_GENRES":"Genere","LINKS_CAST":"Cast","LINKS_DIRECTORS":"Registi","SEARCH_VIDEOS":"cerca video","SEARCH_PLACEHOLDER":"cerca o incolla URL","ADDON":"addon","ADDONS":"Addons","OFFICIAL":"ufficiale","ADDONS_OFFICIAL":"Addon ufficiali di Stremio","ADDONS_POPULAR":"Popolari nella tua zona","ADDON_FREE":"gratuito","ADDON_PEERED":"accoppiato","ADDON_SUBSCRIPTION":"in abbonamento","ADDON_STREAM_GEORESTRICTED":"non disponibile nella tua zona","ADDON_STREAM_OFFLINECACHE":"Cache Offline","ADDON_STREAM_LOCALFILE":"File locale","SHARE_ADDON":"Condividi addon","AVAILABLE_STREAMS":"Stream disponibili","NO_STREAM":"Nessuno stream disponibile","ALL_ADDONS":"Tutti","INSTALL_MORE_ADDONS":"Per vedere più stream, puoi installare altri addon","STREAM_NOT_SUPPORTED":"Lo stream selezionato non è supportato su questa piattaforma.","ADDON_CATALOGUE":"Mostra tutti gli addon »","ADDON_CATALOGUE_MORE":"Installa addon","REPO_ADDED":"Repository aggiunta","ADDON_REPO_EXIST_ERR":"Queste collezioni di addons esistono già","ADDON_REPO_ERR":"Si è verificato un errore durante l\'aggiunta della repository","ADDON_ADD_ERR":"Si è verificato un errore durante l\'aggiunta dell\'addon","ERR_ADDON_PROTECTED":"Impossibile disinstallare l\'addon, è protetto","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Qualcosa è andato storto - l’autenticazione potrebbe essere fallita","ERR_NOT_COLLECTION_URL":"Non è un URL di una collezione","ERR_NOT_ADDON_URL":"Non è un URL di un addon","ERR_DETECTFROMURL":"Impossibile trovare addon/collezioni da questo URL","ADDON_DUPLICATE_WARNING":"Avviso: addon duplicato","ADDON_COLLECTION_SET_FAILED":"Sincronizzazione degli addon installati verso il tuo account fallita","SETTINGS_DATA_EXPORT":"Esporta dati utente","ADDON_PULL_FAILED":"Sincronizzazione degli addon installati dal tuo account fallita","REFRESH_ON_CLICK":"Clicca per riprovare","STILL_IN_THEATER":"Film ancora al cinema","WATCH_IN_CINEMA":"Guardalo in un cinema vicino a te","IN_THEATER":"Al cinema","GET_TICKETS":"Compra biglietti","UPCOMING_EPISODE":"Episodio in arrivo","UPCOMING_EPISODE_MESSAGE":"Questo episodio sarà trasmesso il","MISSING_DATE_EPISODE":"Data episodio mancante","MISSING_DATE_EPISODE_MESSAGE":"Questo episodio potrebbe non essere ancora stato trasmesso","CHANNEL_NOT_SCRAPED":"Questo canale non è ancora disponibile.<br>Torna tra qualche minuto.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Aggiungilo alla tua libreria per ricevere una notifica quando sarà disponibile.","GET_NOTIFIED_WHEN_AVAILABLE":"Riceverai una notifica quando sarà disponibile.","WARNING_STREAMING_SERVER":"Attenzione: server di streaming locale non trovato. Lo streaming da file locali, YouTube e BitTorrent non sarà disponibile.","WARNING_STREAMING_SERVER_DISMISS":"Chiudi","WARNING_STREAMING_SERVER_LATER":"Dopo","DECODER_WARNING":"Attenzione: questo video potrebbe non essere supportato dal tuo hardware. Ricorda, la riproduzione potrebbe essere lenta.","GENERIC_ERROR_MESSAGE":"Qualcosa è andato storto!","TRY_AGAIN":"Riprova","CLEAR_DATA":"Pulisci i dati","PLAYER_ERROR":"Oops, errore del Player","PLAYER_ERROR_LOOKSLIKE":"Sembra che","PLAYER_ORIENTATION":"Orientamento del player","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Bloccato","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensore","PLAYER_ORIENTATION_LANDSCAPE":"Orientamento del player bloccata in orizzontale","PLAYER_ORIENTATION_SENSOR":"Orientamento del player automatica (sensore)","PLAYER_PLAYBACK_SPEED":"Velocità di riproduzione","PLAYER_PLAYBACK_ERROR":"Errore di riproduzione, prova di nuovo","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Errore sconosciuto","PLAYER_PLAYBACK_ERROR_DEFAULT":"Ci dispiace, questo video non può essere riprodotto da {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Lingue sottotitoli","PLAYER_SUBTITLES_VARIANTS":"Versioni sottotitoli","PLAYER_SUBTITLES_SETTINGS":"Impostazioni sottotitoli","PLAYER_SUBTITLES_DISABLED":"Sottotitoli disattivati","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Posizione verticale","PLAYER_SUBTITLES_LOADED":"Sottotitoli caricati","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Sottotitoli integrati caricati","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Sottotitoli escusivi caricati","PLAYER_SUBTITLES_LOADED_ORIGIN":"Sottotitoli da {{origin}} caricati","PLAYER_PLAY":"Riproduci","PLAYER_PAUSE":"Pausa","PLAYER_NEXT_VIDEO":"Prossimo video","PLAYER_MUTE":"Muto","PLAYER_UNMUTE":"Non muto","PLAYER_OPEN_IN_EXTERNAL":"Apri in un player esterno","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"In riproduzione su {{device}}","PLAYER_LIVE":"Dal vivo","PLAYER_NEXT_VIDEO_TITLE":"Prossimo su","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Nascondi","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Guarda ora","PLAYER_COPY_STREAM_SUCCESS":"Il collegamento allo streaming è stato copiato negli appunti","PLAYER_COPY_STREAM_ERROR":"Impossibile copiare il collegamento dello streaming","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","STREAMING_FROM":"In streaming da","CASTING_TO":"Trasmesso su","NETWORK_STATUS":"Stato della rete","STREAM_SPEED":"Velocità dello stream:","STREAM_BUFFERED":"In buffer:","PEERS_INFO":"Informazioni sui peer","PEERS_ACTIVE":"Attivi:","PEERS_CONNECTED":"Connessi:","PEERS_WAITING":"In attesa:","TRANSCODING_WARNING":"Avvertimento: transcodifica video.","STREAM_LOADING":"in caricamento…","PLAYING_LOCAL":"riproduzione da file locale","PLAYING_CACHE":"riproduzione dalla cache","WRONG_SUBS":"Sottotitolo sbagliato?","ERR_SUBS_LOADING_TITLE":"Errore caricamento sottotitoli","ERR_SUBS_LOADING":"Caricamento sottotitoli fallito: potrebbe essere un problema dell\'addon che stai usando, oppure della connessione di rete","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Il seguente addon per sottotitoli non si è caricato","ERR_CASTING_UPDATE_TITLE":"Non è stato possibile aggiornare le info del dispositivo di riproduzione: il server di streaming potrebbe essere offline","CHOOSE_DEVICE":"Scegli un dispositivo su cui guardarlo","NO_CAST_DEVICES":"Nessun dispositivo per casting disponibile.","NO_SETTINGS":"Nessuna impostazione disponibile.","PHONE_TABLET":"Telefono/Tablet","SUBTITLES":"Sottotitoli","SUBTITLES_CHANGE":"Cambia i sottotitoli per ","SUBTITLES_CHANGE_NONE":"Non ci sono altri sottotitoli per questa lingua, ci dispiace","SUBTITLES_CHANGE_ACIVE":"In questo momento è attivo il sottotitolo &#35;{{subtitlesDialog.activeIdx + 1}}. Clicca \\"Continua\\" per attivare il sottotitolo &#35;{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"In alternativa,","SUBTITLES_ADJUST_DELAY":"Aggiusta ritardo sottotitoli:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Oppure usa i tasti <span>G</span> / <span>H</span> durante la riproduzione per regolare.","SUBTITLES_ADJUST_DELAY_TIP":"Suggerimento: puoi usare <span>G</span> / <span>H</span> durante la riproduzione per regolare.","SUBTITLES_DELAY":"Ritardo sottotitoli:","SUBTITLES_LOADING":"Caricamento sottotitoli...","SUBTITLES_UNAVAILABLE":"Nessun sottotitolo esterno disponibile","SUBTITLES_DISABLED":"Disabilitati","EXTERNAL_PLAYER_DISABLED":"Disabilitato","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Consenti scelta","EXTERNAL_PLAYER_HINT":"Suggerimento: esiste un\'impostazione per consentire sempre l\'apertura con un lettore esterno","DONT_SHOW_AGAIN":"Non mostrare più","SERVICE_INSTALL":"Installa","AUDIO":"Audio","DEFAULT_LANGUAGE":"Lingua Predefinita","DEFAULT_SECONDARY_LANGUAGE":"Lingua Secondaria Predefinita","SEASON":"Stagione","EPISODE":"Episodio","EPISODE_ABBREVIATION":"EP","SPECIAL":"Speciale","SORT":"ordina","SORT_BY":"Ordina per","FILTER":"filtro","SORT_TRENDING":"popolari","SORT_RECENT":"recenti","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"voto","SORT_WATCHED":"visto","SORT_YEAR":"anno","SELECT_TYPE":"Seleziona tipo","SELECT_SORT":"Seleziona ordinamento","SELECT_CATALOG":"Seleziona catalogo ","SELECT_GENRE":"Seleziona genere","SORT_LASTWATCHED":"Dall\'ultimo visto","SORT_NAME":"Per nome","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"Per tempo visto","SORT_NOTWATCHED":"not watched","New for You":"Nuovi per te","New Episodes":"Nuovi Episodi","New Videos":"Nuovi Video","Recommendations":"Consigliati","LIBRARY_RESUME":"Riprendi","LIBRARY_PLAY":"Play","LIBRARY_DETAILS":"Dettagli","LIBRARY_RESUME_DISMISS":"Scarta","LIBRARY_CLEAR_PROGRESS":"Azzera progresso","LIBRARY_REMOVE":"Rimuovi","LIBRARY_NOT_LOGGED_IN":"La libreria è disponibile solo per gli utenti loggati","CALENDAR_NOT_LOGGED_IN":"Il calendario è disponibile solo per gli utenti dell\'accesso","NOT_LOGGED_IN_CLOUD":"Accedi ai tuoi film e programmi TV preferiti sempre e ovunque","NOT_LOGGED_IN_RECOMMENDATIONS":"Raccomandazioni su misura per la cronologia di visualizzazione","NOT_LOGGED_IN_NOTIFICATIONS":"Non perdere mai più un episodio","NOT_LOGGED_IN_CALENDAR":"Pianifica il tuo calendario personale","DISCOVER_FEATURED":"In primo piano","DISCOVER_TOP":"Top","DISCOVER_OSCAR":"Vincitori dell\'Oscar","DISCOVER_WARNING_TITLE":"Oops!","DISCOVER_EMPTY_CATALOG":"Questo addon ha restituito un contenuto vuoto.","DISCOVER_ADULT_WARNING":"Questo contenuto è visibile solo agli adulti. Hai più di 18 anni?","DISCOVER_NOADDON_WARNING":"Attenzione: nessun addon di Stremio attivo per questo tipo. Questi sono gli elementi salvati, nulla verà aggiornato.","DISCOVER_LOAD_ERR":"Il contenuto non è stato caricato, riscontrato un errore.","DISCOVER_ADDON_UNINSTALLED":"Questo contenuto non è più disponibile, potresti aver disinstallato l\'addon.","UNINSTALL_THIS_ADDON":"Disinstalla questo addon","ERR_ADDON_NOT_INSTALLED":"Questo addon non è installato. Installarlo ora?","DETAIL_RECEIVE_NOTIF_SERIES":"Ricevi notifiche per i nuovi episodi","DETAIL_RECEIVE_NOTIF_VIDEOS":"Ricevi notifiche per i nuovi video","SIDEBAR_SHOW_STREAMS":"Mostra gli Stream","RELAUNCH":"Riavvia ora!","UPGRADE":"Nuova versione disponibile! Aggiorna all\'ultima versione di Stremio","RELOAD_UI":"Ricarica l’interfaccia utente","MANUAL_UPDATE_TITLE":"Aggiorna la tua versione di Stremio","MANUAL_UPDATE_LINE1":"Stai utilizzando una versione obsoleta di Stremio ed è altamente sconsigliato","MANUAL_UPDATE_LINE2":"Per piacere aggiorna Stremio il prima possibile.","BUTTON_UPDATE_LATTER":"Non ora","BUTTON_UPDATE_NOW":"Aggiorna","ANONYMOUS_USER":"Utente anonimo","DONT_HAVE_ACC":"Non hai un account?","HAVE_ACC":"Hai già un account?","PASSWORD":"Password","PASSWORD_CONFIRM":"Conferma password","EMAIL":"E-mail","FB_LOGIN":"Continua con Facebook","FB_NOTHINGSHARED":"Nulla è condiviso senza il tuo permesso","FB_NOPOST":"Non scriveremo nulla a tuo nome","OR":"o","I_ACCEPT":"Accetto ","I_ACCEPT_BY_CLICKING":"Premendo il pulsante sopra confermo di accettare","TOS":"Termini e condizioni","MUST_ACCEPT_TERMS":"Devi accettare le condizioni","PASSWORDS_NOMATCH":"La password non corrisponde","SIGN_UP":"Registrati","SIGN_UP_EMAIL":"Registrati con l’email","CLICK_TO_SIGN_UP":"Clicca qui per registrarti.","LOG_IN":"Entra","LOG_OUT":"Esci","EXIT_FULLSCREEN":"Esci dalla modalità fullscreen","ENTER_FULLSCREEN":"Entra in modalità fullscreen","PLAY_URL_MAGNET_LINK":"Riproduci URL/Magnet link","HELP_FEEDBACK":"Aiuto & Feedback","TERMS_OF_SERVICE":"Termini di Servizio","PRIVACY_POLICY":"Politica sulla riservatezza","ABOUT_STREMIO":"Info su Stremio","USER_PANEL":"Pannello utente","LOGIN_LABEL":"Accesso","GUEST_LOGIN":"Entra come ospite","GUEST_LOGIN_NOTICE":"Entrare come ospite non è consigliato. Entrando con un account regolare permetti a Stremio di sincronizzare la tua libreria, ricevere notifiche per le tue serie/canali preferiti. Sei sicuro di voler procedere?","GUEST_LOGIN_NOTICE_2":"Entrare come ospite non è consigliato - non avrai le notifiche di sincronizzazione dela Libreria e dela Bacheca, che sono funzioni vitali di Stremio. Sei sicuro di voler procedere?","CLICK_HERE":"clicca qui","WRONG_PASSWORD":"Email o password errata. Nel caso tu abbia dimenticato la password, ","SET_A_PASS":"imposta una password","RESET_PASSWORD":"Resetta password","FORGOT_PASSWORD":"Password dimenticata?","EMAIL_USED_WITH_FB":"Questa email è stata utilizzata con l\'accesso Facebook.","INVALID_EMAIL":"Per favore usa un indirizzo email valido","INVALID_PASSWORD":"Per favore inserisci una password valida","CONN_ERR":"Errore di connessione - riprova più darti per favore.\\n\\nSe persiste, disabilita il firewall/software anti-virus (sopratutto Bitdefender).","IMPORT_FROM_GUEST":"Importa la Libreria dal tuo account ospite","RECEIVE_UPDATES_EMAIL":"Ricevi novità di Stremio sulla tua email","LOGIN_FAILED":"Autenticazione fallita.","SIGNUP_FAILED":"Registrazione fallita.","SEARCH_FAILED":"Ricerca fallita","EMAIL_USED":"Questa email è già in uso.","WAITING_FB_LOGIN":"Accesso con Facebook…","EXTERNAL_PLAYER_TITLE":"Riproduci in un player esterno","EXTERNAL_REMEMBER_PLAYER":"Vuoi ricordare la tua scelta?","EXTERNAL_ALWAYS_PLAY":"Sì","EXTERNAL_ONLY_ONCE":"No","BEST_FIT":"Miglior adattamento","FIT_SCREEN":"Adatta allo schermo","FILL":"Riempi","16:9":"16:9","4:3":"4:3","Original":"Originale","INTRO_TASTE":"Facci sapere cosa ti piace","INTRO_TASTE_LONG":"Facci sapere cosa ti piace vedere","INTRO_TASTE_PICK":"Seleziona {{interestsRemaining}} interessi","INTRO_TASTE_PICK_MORE":"Seleziona {{interestsRemaining}} più interessi","INTRO_TASTE_HELP_US":"Aiutaci a conoscerti.","INTRO_TASTE_CHOOSE_THESE":"Scegli alcuni di questi:","INTRO_TASTE_CHOOSE_MIN":"Scegli almeno 3 categorie","INTRO_TASTE_CHOOSE_MIN_ERR":"Devi scegliere almeno 3 categorie!","INTRO_TASTE_LIFESTYLE":"Stile di vita","INTRO_TASTE_SPORTS":"Sport","INTRO_TASTE_FOOD_HEALTH":"Cibo & Salute","INTRO_TASTE_BEAUTY_FASHION":"Bellezza & Moda","INTRO_TASTE_NEWS":"Notizie","INTRO_TASTE_GAMING":"Videogiochi","INTRO_TASTE_SCIENCE_EDU":"Scienze & Educazione","INTRO_TASTE_MUSIC":"Musica","INTRO_TASTE_TRAVEL":"Viaggi","INTRO_TASTE_LATE_NIGHT":"Late Night Show","INTRO_TASTE_REALITY":"Reality","INTRO_TASTE_COMEDY":"Commedia","INTRO_TASTE_DIY":"Fai-da-te","INTRO_TASTE_TECH":"Tecnologia","INTRO_TASTE_CINEMA":"Cinema","ADDON_NOT_SUPPORTED":"L’addon selezionato non è supportato su questa piattaforma.","ADDON_DISCLAIMER":"Usare addon di terze parti sarà sempre soggetto alla tua responsabilità e alle leggi vigenti nella giurisdizione in cui ti trovi.","ADDON_ACTIVATE":"Attivare questo addon?","ADDON_REPO_ADD":"URL della collezione dell’addon","ADDON_ADD":"Aggiungi","INSTALL_ADDON":"Install addon","ADD_ADDON":"Aggiungi addon","ADD_ADDON_DESCRIPTION":"Puoi aggiungere un addon da link esterni, così che apparirà sotto Addon installati.","PASTE_ADDON_URL":"Incolla l\'URL dell\'addon","WHATS_NEW":"Cosa c’è di nuovo","BUTTON_CONTINUE":"Continua","BUTTON_ACTIVATE":"Attiva","BUTTON_ACTIVATED":"Attivato","BUTTON_CANCEL":"Annulla","BUTTON_SUBMIT":"Invia","BUTTON_DISMISS_ALL":"Rimuovi tutto","BUTTON_VIEW_ALL":"vedi tutti","BUTTON_SEE_ALL":"Vedi tutto","BUTTON_COLOR_TRANSPARENT":"Trasparente","OPEN_IN_BROWSER":"Apri nel browser","LIB_EMPTY":"La tua libreria sembra vuota. Scopri quanto è utile :) ","HOW_START":"Puoi cominciare così:","LIB_EMPTY_CAL":"Il tuo calendario mostra le serie nella tua Libreria.","HOW_START_CAL":"Puoi aggiungere delle serie così:","LIB_EMPTY_BOARD":"Bacheca mostra le notifiche e i consigli in merito alla tua Libreria.","HOW_START_BOARD_WAIT":"Per favore, aggiungi alcune serie o canali alla tua Libreria e dacci qualche minuto per elaborare il tutto :)","HOW_START_BOARD":"Puoi aggiungere serie e film così:","IMPORT_FB":"Importa quello che ti piace da <span>Facebook</span>","IMPORT_TRAKT":"Importa la tua libreria dei media da <span>Trakt</span>","IMPORT_DISCOVER":"Trova roba interessante su <span>Scopri</span>","IMPORT_DISK":"Importa film o spettacoli che hai sul tuo <span>disco locale</span>","PLEASE_CREATE_ACC":"Per favore <u>crea un account</u> per abilitare la sincronizzazione della Libreria &amp; Bacheca.","IMPORT_DISCOVER_SIGNUP":"Registrati e scopri cose interessanti da <span>Scopri</span>","IMPORT_DISK_SIGNUP":"Registrati e importa film o spettacoli che hai sul tuo <span>disco locale</span>","LIB_EMPTY_CLOUD":"Libreria cloud","LIB_EMPTY_CLOUD_DESC":"Libreria cloud personale sincronizzata su tutti i dispositivi","LIB_EMPTY_EARLY":"Primi arrivati","LIB_EMPTY_EARLY_DESC":"Ricevi notifiche per i nuovi episodi","LIB_EMPTY_PERSONAL":"Personale","LIB_EMPTY_PERSONAL_DESC":"Ottieni suggerimenti personalizzati","LIB_EMPTY_CALENDAR_DESC":"Organizza il tuo calendario personale","LIB_EMPTY_ALL":"Registrati per ottenere tutto questo:","LIB_EMPTY_BEST":"Registrati per ottenere il meglio di Stremio","LIB_EMPTY_OTHER":"Registrati per abilitare il Calendario & le altre fantastiche funzionalità","CALENDAR_ADDED":"Il calendario di Stremio è stato aggiunto al tuo calendario desktop di default.","CALENDAR_ADDED_MSG":"Se non funziona, per favore aggiungi manualmente questo URL alla tua applicazione calendario","TRAKT_EXPIRED":"Autenticazione a Trakt scaduta, per favore vai su Impostazioni per autenticarti di nuovo","TRAKT_REQUIRES_LOGIN":"Errore di Trakt","TRAKT_REQUIRES_LOGIN_MSG":"Devi fare login","TRAKT_IMPORT_WATCHED":"Importa","THEME":"Tema","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adattivo","SETTINGS_LABEL":"Impostazioni","SETTINGS_NAV_GENERAL":"Generale","SETTINGS_NAV_PLAYER":"Player","SETTINGS_NAV_STREAMING":"Streaming","SETTINGS_NAV_SHORTCUTS":"Scorciatoie","SETTINGS_SHORTCUT_RELOAD_APP":"Ricarica App","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Apri le Impostazioni","SETTINGS_SHORTCUT_SWITCH_TABS":"Mostra le schede","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Scorri le schede in avanti","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Scorri le schede all\'indietro","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Naviga tra i menu","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Vai a Cerca","SETTINGS_SHORTCUT_EXIT_BACK":"Esci / Torna indietro","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Attiva/disattiva il menu della velocità di riproduzione","SETTINGS_SHORTCUT_MENU_VIDEOS":"Attiva/disattiva il menu dei video","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Attiva/disattiva il menu dei sottotitoli","SETTINGS_SHORTCUT_MENU_INFO":"Attiva/disattiva il menu delle informazioni","SETTINGS_SHORTCUT_FULLSCREEN":"Attiva/disattiva Schermo Intero","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Mostra Controlli","SETTINGS_SHORTCUT_PLAY_PAUSE":"Riproduci / Pausa","SETTINGS_SHORTCUT_VOLUME_UP":"Alza Volume","SETTINGS_SHORTCUT_VOLUME_DOWN":"Abbassa Volume","SETTINGS_SHORTCUT_SEEK_NEXT":"Vai a Prossimo","SETTINGS_SHORTCUT_SEEK_PREV":"Vai a Precedente","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Scorri Indietro","SETTINGS_SHORTCUT_SEEK_FORWARD":"Scorri Avanti","SETTINGS_SHORTCUT_PLAY_NEXT":"Riproduci Prossimo","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Aumenta Dimensione Sottotitoli","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Riduci Dimensione Sottotitoli","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Aumenta Ritardo Sottotitoli","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Riduci Ritardo Sottotitoli","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Attiva/disattiva barra laterale","SETTINGS_SHORTCUT_OR":"o","SETTINGS_SHORTCUT_TO":"a","SETTINGS_SHORTCUT_SPACE":"Spazio","SETTINGS_SHORTCUT_SHIFT":"Maiusc","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Autenticati","SETTINGS_FACEBOOK_IMPORT":"Importa","SETTINGS_CALENDAR_SUBSCRIBE":"Iscriviti","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Lingua interfaccia","SETTINGS_LAUNCH_STARTUP":"Lancia all\'avvio","SETTINGS_VLC_DEFAULT":"Riproduci con VLC","SETTINGS_UI_LANGUAGE":"Lingua Interfaccia","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Tasto Esc esce da schermo intero","SETTINGS_GAMEPAD":"Abilita supporto controller","SETTINGS_CLOSE_WINDOW":"Chiudi app quando la finestra è chiusa","SETTINGS_SUBTITLES_LANGUAGE":"Lingua Sottotitoli Predefinita ","SETTINGS_SUBTITLES_SIZE":"Dimensione Sottotitoli Predefinita ","SETTINGS_SUBTITLES_BACKGROUND":"Sfondo sottotitoli","SETTINGS_SUBTITLES_COLOR":"Colore sottotitoli","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Colore contorno sottotitoli","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Colore sfondo sottotitoli","SETTINGS_SEEK_KEY":"I tasti freccia scorrono il tempo","SETTINGS_SEEK_KEY_SHIFT":"I tasti freccia scorrono il tempo quando il tasto Maiusc è premuto","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Durata del riavvolgimento e dell\'avanzamento rapido","SETTINGS_BINGE":"Riproduci automaticamente il prossimo episodio","SETTINGS_NEXT_VIDEO":"Mostra notifica per far partire il prossimo episodio","SETTINGS_NEXT_VIDEO_TRIGGER":"Mostra notifica prossimo episodio per:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Durata del popup Prossimo video","SETTINGS_PLAY_IN_BACKGROUND":"Riproduci in sottofondo","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Riproduci su un player esterno","SETTINGS_RESIZE":"Ridimensiona automaticamente la finestra prima di riprodurre","SETTINGS_OVERRIDE_SERVER":"Sovrascrivi l\'URL del server di streaming (avvanzato)","SETTINGS_SERVER_URL":"URL server di streaming: ","SETTINGS_SERVER_AVAILABLE":"Server di streaming disponibile.","SETTINGS_SERVER_UNAVAILABLE":"Server di streaming non disponibile.","SETTINGS_SERVER_STATUS_ONLINE":"In linea","SETTINGS_SERVER_STATUS_ERROR":"Errore","SETTINGS_SERVER_CONFIGURE_TITLE":"Configura l\'url del server di riproduzione","SETTINGS_SERVER_CONFIGURE_INPUT":"Inserisci l\'url del server di riproduzione","SETTINGS_SERVER_CACHE_SIZE":"Dimensione Cache","SETTINGS_SERVER_TORRENT_PROFILE":"Profilo Torrent","SETTINGS_HTTPS_ENDPOINT":"Endpoint HTTPS di riproduzione: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Usa sempre l\'ultima Beta","SETTINGS_IMPORT_FB":"Importa da Facebook","SETTINGS_IMPORT_DISK":"Importa dal disco locale","SETTINGS_IMPORT_TRAKT":"Importa da Trakt","SETTINGS_PAUSE_MINIMIZED":"Pausa la riproduzione quando minimizzato","SETTINGS_HWDEC":"Decodifica con accelerazione hardware","SETTINGS_BACKGROUND":"Riproduzione in sottofondo","SETTINGS_SUBSCRIBE_CALENDAR":"Iscriviti nel calendario","SETTINGS_REQ_EXPORT":"Richiedi estrazione dei dati","SETTINGS_ACC_DELETE":"Richiedi cancellazione account","SETTINGS_CHANGE_PASSWORD":"Cambia password","SETTINGS_TOS":"Termini di servizio","SETTINGS_SUPPORT":"Contatta il supporto","SETTING_LANGUAGE":"Lingua","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_LOGOUT":"Esci da Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Esci da Trakt","SETTINGS_SCAN_FOR_REMOTE":"Scannerizza il codice QR per aprire in remoto","SETTINGS_DESKTOP_NOTIFICATIONS":"Notifiche desktop","SETTINGS_DATA_SAVER":"Risparmio dati","SETTINGS_LANGUAGE_INTERFACE":"interfaccia","SETTINGS_LANGUAGE_SUBS":"sottotitoli predefiniti","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Autoseleziona Traccia Audio","SETTINGS_DEFAULT_AUDIO_TRACK":"Traccia Audio Predefinita","SETTINGS_SURROUND_SOUND":"Audio surround","SETTINGS_ACCOUNT":"account","SETTINGS_PLATFORM":"Piattaforma","SETTINGS_VERSION":"versione","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"Avvia il player in una finestra separata (avvanzato)","SETTINGS_PLAY_IN_EXTERNAL":"Apri sempre il video nel player esterno","SETTINGS_STORAGE_BUTTON":"Pulisci Memoria Locale","SETTINGS_STORAGE_MODAL_TITLE":"Sei sicuro ?","SETTINGS_STORAGE_MODAL_MESSAGE":"Questo pulirà la memoria locale e ti farà uscire dall\'account.","SETTINGS_HWDEC_PICKER":"Scegli impostazioni di decodifica con accelerazione hardware","SETTINGS_HW_AUTOMATIC":"Automatica","SETTINGS_HW_DISABLED":"Disabilitata","SETTINGS_HW_ACCELERATED":"Accelerazione di decodifica","SETTINGS_HW_FULL":"Accelerazione totale","SETTINGS_HW_LEGACY":"Eredità","SETTINGS_DISABLED":"Disabilitata","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Notifica di connessione di rete","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"URL remoto","SETTINGS_COPY_REMOTE_URL":"Copia URL remoto","SETTINGS_REMOTE_URL_COPIED":"L\'URL remoto è stato copiato negli appunti","SETTINGS_SECTION_SUBTITLES":"Sottotitoli","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Controlli","SETTINGS_SECTION_AUTO_PLAY":"Auto-Play","SETTINGS_SECTION_ADVANCED":"Avanzate","SUBSPICKER_AUDIO":"Audio","SUBSPICKER_SUBTITLES":"Addon Sottotitoli","SUBSPICKER_BLACK_BACKGROUND":"Usa colore di sfondo nero","SUBSPICKER_VERTICAL_OFFSET":"Offset Verticale","SUBSPICKER_SIZE":"Dimensione","SUBSPICKER_DELAY":"Ritardo","SUBSPICKER_EMBEDDED_SUBS":"Sottotitoli Integrati","MOBILE_PRIVACY_POLICY":"Privacy Policy","MOBILE_CRASH_REPORTING":"Segnalazione arresti","MOBILE_ZOOM_TO_FILL":"Fai Zoom per Riempire lo Schermo","MOBILE_PASSTHROUGH":"Uscita audio digitale (passante)","MOBILE_RUN_LOW_BATTERY":"Esegui a batteria scarica","MOBILE_RUN_FOREGROUND":"Esegui come servizio in primo piano","MOBILE_PERFORMANCE":"PRESTAZIONI & STABILITÀ","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"Il codice QR scade tra ","MOBILE_LOG_INTO":"Accedi al tuo account Stremio ","MOBILE_SCAN_QR":"Scansiona il codice QR sopra o vai a ","MOBILE_LINK_ACCOUNT":"Collega Account","MOBILE_SPEEDPICKER_CANCEL":"Cancella","MOBILE_SPEEDPICKER_LABEL":"Seleziona Velocità di Riproduzione","MOBILE_EMPTY_LIBRARY":"La tua Libreria è vuota","MOBILE_NO_ADDON_ACTIVE":"Nessun addon Stremio attivo per questo tipo.","MOBILE_ORGANIZER_WARNING":"L\'app Stremio Organizer offre funzionalità limitate. Per un elenco di stream disponibili e per un\'esperienza Stremio completa, utilizza Stremio sul desktop.","MOBILE_ADDON_LOADING":"sta ancora caricando","MOBILE_ADDONS_LOADING":"gli addons stanno ancora caricando","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Configura il tuo addon","MOBILE_CONFIGURE_ADDON_LABEL":"Configura Addon","MOBILE_ORGANIZER_ADDONS_WARNING":"L\'app Stremio Organizer fornisce una selezione limitata di addon. Per un\'esperienza Stremio completa, usa Stremio sul desktop.","MOBILE_DISCONNECT":"Disconnetti","MOBILE_LOOKING_FOR_DEVICES":"Ricerca dispositivi...","MOBILE_CAST_TO":"Trasmetti a","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Eliminare l\'account","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"La cancellazione del conto non è immediata a causa di obblighi legali.Dopo aver richiesto la cancellazione del tuo account dovrai utilizzare in futuro un diverso indirizzo e -mail/profilo Facebook per creare un nuovo account Stremio.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Conferma la cancellazione dell\'account","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Il tuo account è stato creato utilizzando Facebook.Per eliminare il tuo account, utilizzare il nostro portale utente all\'indirizzo www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Fornisci la tua password per confermare la cancellazione dell\'account.","MOBILE_DELETE_ACCOUNT_BUTTON":"Eliminare l\'account","NAVIGATION_ON":"Acceso","NAVIGATION_OFF":"Spento","MARKETING_AGREE":"Accetto di ricevere comunicazioni di marketing da Stremio","QUIT":"Chiudi","CONNECTED":"Connesso","AUTHENTICATE":"Autentica","CACHING":"Salvataggio cache","SETTINGS_CACHING_DRIVE":"Disco di cache","ENABLE_LOCAL_FILES_ADDON":"Abilita l\'addon dei file locali (richiede il riavvio)","LOCAL_ADDON_NOT_ENABLED":"L\'addon locale non è abilitato. Clicca qui per andare alle impostazioni e abilitarlo","ENABLE_REMOTE_HTTPS_CONN":"Abilita connessioni HTTPS remote","TORRENT_PROFILE":"Profilo Torrent","DATA_CACHING":"Salvataggio Dati Cache","MAGNET_PARSING":"Analisi del magnet link","January":"Gennaio","February":"Febbraio","March":"Marzo","April":"Aprile","May":"Maggio","June":"Giugno","July":"Luglio","August":"Agosto","September":"Settembre","October":"Ottobre","November":"Novembre","December":"Dicembre","Monday":"Lunedì","Tuesday":"Martedì","Wednesday":"Mercoledì","Thursday":"Giovedì","Friday":"Venerdì","Saturday":"Sabato","Sunday":"Domenica","Action":"Azione","Comedy":"Commedia","War":"Guerra","Family":"Famiglia","Animation":"Animazione","Adventure":"Avventura","Fantasy":"Fantasia","Crime":"Crimine","Mystery":"Mistero","Romance":"Romantico","Drama":"Dramma","Horror":"Horror","Thriller":"Thriller","Sci-Fi":"Fantascienza","Music":"Musica","Biography":"Biografia","Documentary":"Documentario","Sport":"Sport","Musical":"Musical","Western":"Western","Film-Noir":"Film-Noir","News":"Notizie","History":"Storia","Game-Show":"Gioco a Premi","Reality-TV":"Reality-TV","Talk-Show":"Talk Show","Film & Entertainment":"Film & Spettacolo","Gaming":"Giochi","From TV":"Dalla TV","Lifestyle":"Stile di vita","Science & Education":"Scienza & Educazione","Cooking & Health":"Cucina & Salute","Beauty & Fashion":"Bellezza & Moda","Sports":"Sport","News & Politics":"Notizie & Politica","How-to & DIY":"Fai-da-te","Tech":"Tecnologia","Automotive":"Automobilismo","Causes & Non-Profits":"Cause Umanitarie & Non-Profit","Movies":"Film","Uk Live Tv":"UK Live Tv","Fashion":"Moda","Business News Radio":"Radio Notizie Business","Business Tv":"Business Tv","Cars & Auto":"Auto & Motori","Comedy Radio":"Comicità Radio","Lifestyle Radio":"Lifestyle Radio","News Tv":"Notizie Tv","Food And Wine":"Cibo & Vino","Latino Tv":"Tv Latina","Shopping Tv":"Shopping Tv","Religion":"Religione","Kids":"Bambini","Body & Soul":"Corpo & Anima","Education":"Educativo","Indian Tv":"Tv Indiana","Extreme Sports":"Sport Estremi","Middle Eastern Tv":"Medio Oriente Tv","Celebrity Tv":"Celebrity Tv","Science Tv":"Scienza Tv","Bikini babe":"Bikini babe","Outdoors":"Aria Aperta","German Tv":"Tv Tedesca","French Tv":"Tv Francese","Italian Tv":"Tv Italiana","Gamer Tv":"Gamer Tv","Travel":"Viaggi","Asian Tv":"Tv Asiatica","Entertainment":"Spettacolo","News Radio":"Notizie Radio","Music Radio":"Musica Radio","Language Learning":"Imparare le Lingue","Science Radio":"Scienza Radio","Tech Radio":"Tech Radio","Science & Technology Vod":"Scienza & Tecnologia Vod","new video":"nuovo video","new episode":"nuovo episodio","new movie":"nuovo film","recommended":"consigliato","we recommend":"noi raccomandiamo","offer of the day":"offerta del giorno","news":"novità","music video":"video musicale","CTX_SHOW_HOTKEYS":"Mostra tasti di scelta rapida","CTX_DISMISS_NOTIF":"Chiudi notifica","CTX_DISMISS_ALL":"Chiudi tutto","CTX_SHARE":"Condividi","CTX_COPY_SHARE_LINK":"Copia link di condivisione","CTX_COPY_MAGNET_LINK":"Copia il magnet link","CTX_COPY_STREAM_LINK":"Copia il link dello stream","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Scaricare questo video","CTX_DOWNLOAD_SUBS":"Scarica i sottotitoli","CTX_VIEW_ON_YOUTUBE":"Visualizza su YouTube","CTX_SHOW":"Mostra","CTX_PLAY":"Riproduci","CTX_PLAY_IN":"Riproduci in","CTX_PLAY_ON":"Riproduci su","CTX_WATCH_ON":"Guarda su","CTX_WATCH":"Guarda","CTX_WATCHED":"Visto","CTX_WATCH_BEGINNING":"Guarda dall\'inizio","CTX_WATCH_MOBILE":"Guarda su un dispositivo mobile","CTX_REWIND":"Riprendi dall\'inizio","CTX_MARK_WATCHED":"Segna come già visto","CTX_MARK_NON_WATCHED":"Segna come non visto","CTX_MARK_UNWATCHED":"Contrassegna come non guardato","CTX_MARK_REST":"Segna fino a qui come visto","CTX_UNMARK_REST":"Segna fino a qui come non visto","CTX_RECEIVE_NEW_NOTIF":"Ricevi nuove notifiche","CTX_ENABLE_NEW_NOTIF":"Attivare le notifiche","CTX_DISABLE_NEW_NOTIF":"Disabilita le notifiche","CTX_REMOVE_CACHE":"Rimuovi dalla cache","CTX_REMOVE_CACHE_EP":"Rimuovi episodio dalla cache","CTX_OPEN_CONTAINING":"Apri cartella","CTX_REMOVE":"Rimuovi dalla libreria","CTX_AVAILABLE_OFFLINE":"Disponibile Offline","CTX_PAUSED":"In Pausa","CTX_ALWAYS_ON_TOP":"Sempre in cima","CTX_FULLSCREEN":"Schermo intero","CTX_WRONG_SUBS":"Sottotitolo sbagliato?","CTX_REPORT_ISSUES":"Segnala problema","CTX_COPY":"Copia","CTX_PASTE":"Incolla","CTX_CLEAR":"Cancella","CTX_CLEAR_RECENT_SEARCHES":"Cancella ricerche recenti","HELLO_THERE":"Hey ciao","HOPE_YOU_ENJOY":"Speriamo ti piaccia Stremio e che sia già una delle tue app preferite!","WHO_ARE_WE":"Chi siamo noi? Siamo il team che sta dietro - due ragazzi che hanno lavorato duramente ogni giorno negli ultimi 3 anni, con un unico obiettivo - rendere questo prodotto migliore sempre di più.","SUPPORT_US":"Se ti piace usare Stremio e pensi possa valere qualcosa - supportaci!","SPREAD_THE_WORD":"Condividi ora con i tuoi amici, spargi la voce su Stremio","MORE_PEOPLE":"Più persone usano Stremio, più migliorerà!","SEND_A_LINK":"Oppure invia un link al nostro sito web","TIP_LOCALFILES":"Suggerimento: puoi fare drag & drop dei video file locali in Stremio","ADDON_MY":"Miei Addon","ADDON_COMMUNITY":"Comunità Addon","ADDON_OFFICIAL":"Addon Ufficiali","ADDON_REPOS":"Collezioni Addon","ADDON_SEARCH":"Cerca addon","ADDON_INSTALL":"Installa","ADDON_CONFIGURE":"Configure","ADDON_UNINSTALL":"Disinstalla","ADDON_UPGRADE":"Aggiorna","ADDON_INSTALLED":"Installato","ADDON_INSTALLED_MSG":"Addon installato!","ADDON_UPGRADED_MSG":"Addon aggiornato!","ADDON_UNKNOWN":"Sconosciuto","ADDON_ERR":"Errore installazione Addon!","ADDON_DISCONNECTED":"Disconnesso","ADDON_APP_MISSING":"l\'app per questa fonte non è installata. Vuoi installarla ora?","ADDON_APP_INSTALL":"Installa Ora","ADDON_PAGE":"Pagina Addon","ADDON_TOP_CONTENT":"Il meglio di questo Addon","ADDON_PROVIDES":"Questo addon ti fornisce:","ADDON_WATCH":"Guarda #{types} ora!","ADDON_WATCH_FREE":"Guarda #{types} GRATIS ora!","ADDON_ADDON":"Addon","ADDON_SUPPORTED_TYPES":"Tipi supportati","ADDON_SUPPORTED_CATALOGS":"Cataloghi supportati","ADDON_PROVIDES_DISCOVER":"Di più #{types} in Scopri","ADDON_PROVIDES_STREAMS":"Guarda #{types}","ADDON_PROVIDES_STREAMS_FREE":"Guarda #{types} GRATIS","ADDON_PROVIDES_SUBTITLES":"Sottotitoli per #{types}","ADDON_CANTDETECT":"Non siamo riusciti ad individuare alcun Stremio in esecuzione, perciò non siamo stati in grado di scoprire quali addon sono installati.","ERR_NO_META":"Nessun informazione trovata riguardo a questo","ERR_GETTING_META":"Errore nel recupero informazioni riguardo a questo.","ERR_CANT_PARSE_MAGNET":"Impossibile analizzare magnet","ERR_NO_MAGNET_INFOHASH":"Informazioni hash non valide per il magnet","ERR_NO_FILE_PATH":"Impossibile inviare richiesta senza percorso al file","ERR_NO_TORRENT":"Nessun torrent ritornato","ERR_NO_SUPPORTERD_FILES":"Nessun file supportato trovato","ERR_OPENING_FILES":"Impossibile aprire file esterni","ERR_INVALID_LINK":"Link non valido","ERR_REGISTERED_ONLY":"Questa funzione è disponibile solo per utenti registrati.","ERR_CLIPBOARD":"Impossibile riprodurre dagli appunti","ERR_CLIPBOARD_READ":"Impossibile leggere gli appunti su questa piattaforma","ERR_CLIPBOARD_GENERIC":"Nessun URL riproducibile trovato negli appunti. Copia un URL (es. un magnet link) in un video.","BOARD_CONTINUE_WATCHING":"Continua a guardare","BOARD_EXPLANATION_RECOMMENDATIONS":"Film scelti solo per te.<br />Questo film è un esempio di suggerimento.","BOARD_EXPLANATION_EPISODES":"I nuovi episodi delle tue serie tv preferite arrivano qui.<br />Aggiungi serie tv che segui alla tua Libreria.","BOARD_EXPLANATION_VIDEOS":"I nuovi episodi dei tuo canali YouTube arrivano qui.<br />Aggiungi canali che segui alla tua Libreria.","WEBSITE_ENJOYED_BY":"Goduto da oltre 30 milioni di utenti in tutto il mondo","WEBSITE_STREAMING_ENHANCED":"Lo streaming migliorato","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offre un\'esperienza di intrattenimento sicura, moderna e senza soluzione di continuità.Con la sua interfaccia facile da usare e una biblioteca di contenuti diversificati, incluso il supporto HDR 4K, gli utenti possono godere dei loro film e programmi TV preferiti su tutti i loro dispositivi. E con il suo impegno per la sicurezza, Stremio è la scelta definitiva per un\'esperienza di streaming senza preoccupazioni e di alta qualità.","WEBSITE_AVAILABLE_ON":"Disponibile su","WEBSITE_WATCH_AND_ENJOY":"Guarda e divertiti.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio lo rende semplice","WEBSITE_ALL_FEATURES":"Tutte le caratteristiche","WEBSITE_EASY_TO_USE":"Facile da usare","WEBSITE_EASY_TO_USE_DETAILS":"Stremio è progettato per essere facile da usare e facile da usare.Con la sua interfaccia pulita e intuitiva puoi facilmente navigare e trovare il contenuto che desideri guardare.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Senza soluzione di continuità tra i dispositivi","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Disponibile per una vasta gamma di piattaforme (incl. Windows, Mac, Linux, Android e altro), Stremio terrà traccia dei tuoi progressi su tutti i tuoi dispositivi. Basta accedere e continuare a guardare senza dover configurare di nuovo l\'app su ogni nuovo dispositivo.","WEBSITE_ALL_DOWNLOADS":"Tutti i download","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"Supporto video ad alta definizione","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"Un lettore video integrato che supporta la maggior parte dei formati video, inclusi i contenuti HDR 4K, ti consente di goderti la massima qualità disponibile.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio si integra con un gran numero di fonti video popolari, come Netflix, Amazon Prime Video, Hulu, YouTube e molti altri.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Crea un account gratis","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Esperienza di visualizzazione su misura","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio ti consente di personalizzare l\'aspetto dell\'interfaccia cambiando il tema, aggiungendo o rimuovendo i componenti componenti e altro ancora.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Supporto sottotitoli multilingue","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"Ora puoi goderti tutti i contenuti preferiti nella tua lingua preferita poiché Stremio supporta i sottotitoli in tutte le lingue.","WEBSITE_ALL_STREMIO_FEATURES":"Tutte le funzionalità di Stremio","WEBSITE_TRY_STREMIO_TITLE_P1":"Prova Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"Sulla tua TV adesso","WEBSITE_YOU_CAN_NOW_WATCH":"Ora puoi guardare tutti i programmi TV preferiti sui tuoi dispositivi TV Android. L\'app Stremio TV ti consente di goderti una serata cinematografica con facilità.","WEBSITE_YOU_CAN_NOW_WATCH_2":"Ora puoi guardare tutti i programmi TV preferiti sulla tua Smart TV o Android TV. Le app di Stremio TV ti consentono di goderti facilmente una serata cinematografica.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio per Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probabilmente l\'app migliore e più utile da avere nel tuo dispositivo. È una delle app che uso quotidianamente soprattutto sulla mia TV Android da molti anni ormai. Ben reso con una forte comunità che fornisce funzionalità utili. Ben fatto. Continua così.","WEBSITE_REVIEWS":"recensioni","WEBSITE_GET_STREMIO_FOR_FREE":"Scarica Stremio gratuitamente","WEBSITE_GET_STREMIO_NOW":"Ottieni Stremio adesso","WEBSITE_STREMIO_FEATURES":"Caratteristiche Stremio","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream come un professionista con le funzionalità avanzate di Stremio e goditi l\'accesso senza soluzione di continuità a tutti i tuoi media preferiti","WEBSITE_DISCOVER_MORE":"Scopri di più.","WEBSITE_DISCOVER_MORE_DETAILS":"Non finire mai le cose da guardare","WEBSITE_COMMUNITY_DRIVEN":"Guidato dalla comunità","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio ha una grande e attiva comunità di utenti che contribuiscono allo sviluppo del software creando e condividendo i componenti aggiuntivi.","WEBSITE_GET_INVOLVED":"Mettersi in gioco","WEBSITE_NEW_THEATER_EXPERIENCE":"Nuova esperienza teatrale","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"La nuova app TV dedicata di Stremio ti consente di goderti una serata cinematografica sui tuoi dispositivi TV Android.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Le nuove app TV dedicate di Stremio ti consentono di goderti una serata cinematografica sulla tua smart TV o dispositivi TV Android.","WEBSITE_FREE_AND_SECURE":"Gratuito e sicuro","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offre sicurezza e privacy senza pari per gli utenti. Con la sua caratteristica unica di eseguire i componenti aggiuntivi in remoto, Stremio fornisce un modo più sicuro per trasmettere in streaming i tuoi contenuti preferiti rispetto ad altre piattaforme. La tua sicurezza e privacy sono priorità migliori e la piattaforma garantisce che tutti i tuoi dati siano protetti.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Dì addio alle preoccupazioni sulla sicurezza e sulla privacy e saluta un mondo di intrattenimento infinito con Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Informazioni fornite da","WEBSITE_CONTRIBUTE":"Contribuisci","WEBSITE_CONTRIBUTE_DESC":"al progetto e aiutaci a rendere Stremio ancora migliore","WEBSITE_COMMUNITY_DESC":"Crediamo che il modo migliore per creare un\'esperienza di streaming davvero sorprendente sia coinvolgere la nostra comunità nel processo. Che tu sia un programmatore, un artista o solo un fan, potresti aiutare Stremio a crescere.","WEBSITE_COMMUNITY_DESC_2":"Quindi unisciti a noi oggi e diventa parte della comunità di Stremio e continua a modellare il futuro dello streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Modi per essere coinvolti","WEBSITE_IN_THE_STREMIO_COMMUNITY":"nella comunità di Stremio","WEBSITE_SHARE_YOUR_THOUGHTS":"Condividi i tuoi pensieri","WEBSITE_REPORT_BUGS":"Segnala un errore","WEBSITE_SUGGEST_FEATURES":"suggerire caratteristiche","WEBSITE_AND_PROVIDE_FEEDBACK":"e fornire feedback sui nostri canali di social media.","WEBSITE_BETA_TESTING_PROGRAM":"Programma di Beta testing","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Partecipare al nostro programma di beta test (inviamo inviti regolarmente) nella comunità di Stremio.","WEBSITE_JOIN_NOW":"Iscriviti adesso!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Comunità Stremio ufficiali","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Comunità non ufficiali di Stremio","WEBSITE_BECOME":"Diventare","WEBSITE_A_VOLUNTEER_TRANSLATOR":"un traduttore volontario","WEBSITE_ARE_YOU_A_DEVELOPER":"Sei uno sviluppatore?","WEBSITE_CONTRIBUTE_CODE":"Potresti contribuire con il codice ai nostri progetti open source. Abbiamo diversi progetti su GitHub che cercano collaboratori. Se sei interessato ad aiutare, dai un\'occhiata:","WEBSITE_STREMIO_ON_GITHUB":"Stremio su GitHub","WEBSITE_CREATE_ADDON_DESC":"Crea un componente aggiuntivo per migliorare la funzionalità di Stremio (abbiamo un\'API di facile utilizzo):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"Offriamo anche l\'opportunità di unirci a noi come sviluppatore tirocinante in modo da poter crescere insieme.","WEBSITE_APPLY_AS_AN_INTERN":"Fare domanda come stagista","WEBSITE_CALLING_ALL_ARTISTS":"Chiamiamo tutti gli artisti!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Mostra la tua creatività e amore per Stremio caricando la tua fan art nella nostra galleria online. Che si tratti di un disegno, di pittura o di un design digitale, vogliamo vedere la tua interpretazione unica sul marchio Stremio. Unisciti alla nostra comunità di appassionati d\'arte e condividi il tuo lavoro con altri fan di Stremio in tutto il mondo.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Diventa parte del nostro team e porta la tua creatività a nuove vette con le nostre entusiasmanti opportunità di tirocinio.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Progetto di film di dominio pubblico","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"A Stremio, ci impegniamo a preservare la storia del cinema e della televisione identificando il dominio pubblico e i video orfani. Lavorando insieme alla nostra comunità, possiamo garantire che queste opere d\'arte classiche siano accessibili a tutti e protette per le generazioni future.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Sentiti libero di contattarci se desideri essere coinvolto in quel progetto.","WEBSITE_JOIN_THE_PROJECT":"Unisciti al progetto","WEBSITE_BE_PART_OF_OUR_MISSION":"Fai parte della nostra missione","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interessato a unirsi al team Stremio? Offriamo un lavoro completamente da remoto per professionisti appassionati. Dai un\'occhiata alle nostre posizioni aperte.","WEBSITE_OPEN_POSITIONS":"Posizioni aperte","WEBSITE_DESCRIPTION":"Descrizione","WEBSITE_LEARN_MORE":"Saperne di più","WEBSITE_COMPANY":"Azienda","WEBSITE_CONTACTS":"Contatti","WEBSITE_NEED_HELP":"Ho bisogno di aiuto?","WEBSITE_STREMIO_WEB_ON_IOS":"Guida per Stremio Web su iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partner","WEBSITE_SLOGAN_WATCH":"Guarda Subito","WEBSITE_SLOGAN_ALL":"Tutti i Contenuti Video Che Ami in un Unico Posto","WEBSITE_SLOGAN_NEW":"Tutto Quello Che Puoi Vedere","WEBSITE_SLOGAN_NEW_NEW":"Libertà di Streaming","WEBSITE_WATCH_FROM":"Guarda Da","WEBSITE_DOWNLOAD":"Scarica Ora","WEBSITE_DOWNLOAD_FOR":"Scarica Ora per","WEBSITE_IS_DESKTOP":"Stremio è un\'applicazione desktop, apri questa pagina sul tuo PC e scaricala","WEBSITE_DESKTOP_DEMO_VID":"Desktop demo","WEBSITE_PAGE_HOME":"Home","WEBSITE_PAGE_FEATURES":"Caratteristiche","WEBSITE_PAGE_ADDONS":"Addon","WEBSITE_PAGE_TECH":"Tecnologia","WEBSITE_PAGE_CREATE_ADDON":"Crea Addon","WEBSITE_PAGE_CONTACTS":"Contatti","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Inserisci la nuova password desiderata di seguito.","WEBSITE_RESET_PASSWORD_WARNING":"Sei sicuro di voler reimpostare la password per ${1}?","WEBSITE_TYPE_movie":"Film","WEBSITE_TYPE_series_PL":"Serie","WEBSITE_TYPE_tv":"Live TV","WEBSITE_TYPE_channel":"Canali","WEBSITE_STREMIO_WHAT_IS":"Stremio è un\'applicazione che ti aiuta ad organizzare e instantaneamente ti permette di guardare i tuoi video, film, serie TV e canali TV preferiti.","WEBSITE_FEATURES_WATCH":"Guarda subito in HD","WEBSITE_FEATURES_WATCH_DETAIL":"Clicca e guarda i tuoi film, serie TV, video e canali TV preferiti.","WEBSITE_FEATURES_SUBS":"Sottotitoli Automatici","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio sceglie automaticamente i sottotitoli sincronizzati per la tua lingua.","WEBSITE_FEATURES_SUBS_LABEL":"Spetta a te la mossa, capitano.","WEBSITE_FEATURES_CAST":"Riproduci sulla TV & dispositivi mobili","WEBSITE_FEATURES_CAST_DETAIL":"Trasmetti su AppleTV, Chromecast, Smart TV (DLNA/UPnP) e dispositivi mobili.","WEBSITE_LIB":"Goditi La Tua Libreria Personale Sincronizzata Su Tutti I Tuoi Dispositivi","WEBSITE_LIB_COLLECT":"Raccogli da Stremio","WEBSITE_LIB_IMPORT":"Importa da Facebook","WEBSITE_LIB_LOCAL":"Aggiungi dal tuo disco locale","WEBSITE_BOARD":"La Bacheca - Il Tuo Unico Posto per le Notifiche e i Suggerimenti","WEBSITE_BOARD_RECOMMEND":"Serie TV Suggerite","WEBSITE_BOARD_TRENDING":"Film del Momento","WEBSITE_BOARD_NEW":"Nuovi Video","WEBSITE_BOARD_EPISODE":"Nuovi Episodi","WEBSITE_BOARD_1":"Cerchi qualcosa di interessante da guardare? Ricevi suggerimenti basati sulle tue preferenze!","WEBSITE_BOARD_2":"Ricevi una notifica quando c\'è un nuovo episodio della tua serie TV preferita o canale YouTube!","WEBSITE_BOARD_YOUTUBE":"Nuovi video dai canali YouTube","WEBSITE_BOARD_EPISODES":"Nuovi episodi dalle serie che stai seguendo","WEBSITE_ADDONS":"Contenuti Addon","WEBSITE_TECH_DETAIL":"Amiamo la tecnologia, amiamo la scienza pazza!\\nStremio usa le seguenti tecnologie open source:","WEBSITE_TECH_WCJS":"WebChimera.js permette a Stremio di riprodurre ogni formato video con ottime prestazioni.","WEBSITE_TECH_WCJS_EXTRA":"Siamo i contributori del progetto principale","WEBSITE_TECH_ELECTRON":"Electron fornisce una piattaforma innovativa con la quale sviluppare Stremio.","WEBSITE_TECH_ELECTRON_EXTRA":"Siamo contributori del progetto","WEBSITE_TECH_LINVODB":"Un database che assicura che i tuoi dati siano organizzati e disponibili da ovunque accedi.","WEBSITE_TECH_LINVODB_EXTRA":"Tecnologia sviluppata in casa","WEBSITE_CREATE_ADDON":"Crea il tuo Addon","WEBSITE_CREATE_ADDON_DETAIL":"Hai un servizio che fornisce contenuti video? Ti aiuteremo a sfruttare le caratteristiche di Stremio creando il tuo Addon.","WEBSITE_CREATE_ADDON_BENEFITS":"Vantaggi nello sviluppare un Addon per Stremio","WEBSITE_P2P_BEAUTY":"La Bellezza dello Streming Peer-to-Peer","WEBSITE_P2P_1":"Video full HD / 4K on demand o dirette streaming Affidabili e Sostenibili","WEBSITE_P2P_2":"Piattaforma di distribuzione che offre una fantastica esperienza utente","WEBSITE_P2P_3":"Svilupperemo il tuo addon che va in contro alle tue esatte necessità","WEBSITE_P2P_CONTACT":"Interessato? Sei il benvenuto <a href=\'mailto:office@stremio.com\'>contattaci</a>.","WEBSITE_P2P_CONTACT_EXTRA":"Saremo felici di aiutarti ad integrare i tuoi contenuti con Stremio!","WEBSITE_P2P":"Una volta ogni tanto, arriva una tecnologia che cambia le regole del gioco. Abbiamo investito moltissimo tempo e impegno per costruire il nostro motore di streaming video Peer-to-Peer (P2P) che offre ottime prestazioni e versatilità nel addattarsi ad ogni caso d\'uso.\\nContattaci per i video con supporto DRM P2P on demand o dirette streaming.","WEBSITE_THOUGHTS":"I pensieri che condividiamo:","WEBSITE_SPREAD":"Passa parola riguardo a Stremio:","WEBSITE_CONTACT":"Contattaci, saremo felici di ascoltarti!","WEBSITE_OPENSOURCE":"Per i nostri progetti open source , vai al nostro","WEBSITE_BITCOIN":"Dona bitcoin:","WEBSITE_FAQ":"Domande Frequenti","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Domande","WEBSITE_TOS":"Condizioni d\'uso","WEBSITE_LEGAL":"Legale","WEBSITE_PAGE_ABOUT":"Riguardo","WEBSITE_PAGE_BECOME_PARTNER":"Diventa un partner","WEBSITE_ALL_YOU_CAN_WATCH":"Libertà di Guardare\\nTutto Quello che Vuoi.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"Cos\'è Stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio è un unico centro di raccolta per i contenuti video. Scopri, organizza e guarda video da qualsiasi fonte su ogni tuo dispositivo.","WEBSITE_WHAT_IS_STREMIO_P2":"Film, programmi TV, serie, dirette TV o canali web come YouTube e Twitch.tv: puoi trovare tutto questo su Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio è un media center moderno che rappresenta una soluzione completa per il tuo intrattenimento video. Scopri, guarda e organizza contenuti video con addon facili da installare.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Film, programmi TV, dirette TV o canali web - trovi tutto su Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Divertiti su tutti i tuoi dispositivi multimediali","WEBSITE_DEVICES_COLLECT":"Prendi da Stremio","WEBSITE_DEVICES_IMPORT_FB":"Importa da facebook","WEBSITE_DEVICES_LOCAL":"Aggiungi dal disco locale","WEBSITE_JOIN_THE_PARTY_NOW":"Unisciti alla festa ora","WEBSITE_DEVICES_ALL":"Facile da utilizzare su tutti i tuoi dispositivi;","WEBSITE_EXTENDABLE_CATALOG":"Catalogo video infinitamente espandibile;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Ottime funzionalità per organizzare i tuoi video;","WEBSITE_AS_SEEN_ON":"Come visto su","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"Su di Noi","WEBSITE_LINK_TECHNOLOGY":"Tecnologia","WEBSITE_LINK_APPS":"App","WEBSITE_LINK_DOWNLOADS":"Download","WEBSITE_MORE":"Di più","WEBSITE_LINK_ADDONS":"Addon","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Contribuisci","WEBSITE_LINK_COMMUNITY":"Comunità","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... & di più","WEBSITE_LINK_HELP":"Centro assistenza","WEBSITE_LINK_CONTACTS":"Contattaci","WEBSITE_LINK_TOS":"Termini & condizioni","WEBSITE_LINK_PRAVACY":"Politica sulla riservatezza","WEBSITE_SUBSCRIBE":"Iscriviti","WEBSITE_NEWSLETTER":"Unisciti alla nostra newsletter per cose fantastiche","WEBSITE_PLACEHOLDER_EMAIL":"La Tua Email","WEBSITE_COMMUNITY":"Comunità","WEBSITE_LINK_PRAVACY_LEGAL":"Privacy & legale","WEBSITE_WHY":"Perché lo facciamo","WEBSITE_WHY_P1":"Noi di Stremio, torniamo al lavoro ogni giorno perché vogliamo risolvere un importante problema dell\'industria dei video on-demand. Ci sono così tanti nuovi contenuti pubblicati ogni minuto che è praticamente impossibile orientarsi.","WEBSITE_WHY_P2":"Aiutiamo le persone a navigare nell\'enorme mondo dell\'intrattenimento video e scoprire nuovi contenuti con i quali divertirsi. Le nostre app riuniscono film, serie, dirette TV, canali web e altro ancora. Ci impegniamo a rendere molto facile per gli utenti trovare titoli ed emittenti che amano.","WEBSITE_WHY_P3":"Puoi usare il nostro servizio su qualsiasi dispositivo quando vuoi, rendendo Stremio il tuo unico centro di intrattenimento video di cui avrai mai bisogno.","WEBSITE_TEAM":"TEAM","WEBSITE_TEAM_P":"Il team di Stremio è piccolo, ma potente: tra i dieci di noi, programmiamo in X linguaggi e condividiamo competenze nello sviluppo di software, progettiamo UI e UX, marketing e pubblicità e business e startup.","WEBSITE_FEATURES":"Caratteristiche","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Scopri nuovi contenuti con facilità","WEBSITE_FEATURES_DISCOVER_P":"Scopri facilmente nuovi film, programmi TV, serie e canali da guardare. Sfoglia per categoria, genere, valutazione, attualità, ecc. oppure digita semplicemente un nome da trovare. Stremio rende la ricerca di nuovi contenuti video un gioco da ragazzi.","WEBSITE_FEATURES_ALL_CONTENT":"Tutti i tuoi contenuti video su un unico schermo","WEBSITE_FEATURES_ALL_CONTENT_P1":"Guarda quali film, serie o video non hai finito e continua a guardarli; ricevi notifiche per nuovi episodi e uscite; e sfoglia i consigli che otterrai in base alle tue abitudini di visualizzazione.","WEBSITE_FEATURES_LIBRARY":"Organizza la tua libreria video","WEBSITE_FEATURES_LIBRARY_P1":"Aggiungi qualsiasi titolo alla tua libreria Stremio con un solo clic e trova la tua strada tra i contenuti, ordinati per tipo, attualità o ordine alfabetico.","WEBSITE_FEATURES_CALENDAR":"Tieni traccia di tutto ciò che guardi","WEBSITE_FEATURES_CALENDAR_P1":"Ottieni una visualizzazione del calendario di tutti i film e le serie che aggiungi alla tua libreria. Esporta il tuo calendario Stremio e sincronizzalo in modo da sapere sempre quando è previsto un nuovo episodio o una prima visione.","WEBSITE_FEATURES_BIG_SCREEN":"Goditi i tuoi contenuti video su uno schermo più grande","WEBSITE_FEATURES_BIG_SCREEN_P1":"Trasmetti tutto ciò che stai guardando su un altro dispositivo, che si tratti di un telefono, tablet o TV con un solo clic.","WEBSITE_FEATURES_SOURCES":"Guarda video da fonti diverse","WEBSITE_FEATURES_SOURCES_P":"Installa addon ufficiali e della community per goderti video provenienti da provider diversi, il tutto in un\'unica app elegante e facile da usare.","WEBSITE_CREATE_AN_ADDON":"Crea un addon","WEBSITE_FEATURES_SYNC":"Sincronizza la tua libreria su diversi dispositivi e riprendi la tua riproduzione","WEBSITE_FEATURES_SYNC_P1":"Accedi con il tuo account su tutti i tuoi dispositivi e goditi la tua libreria, addon, riproduzioni e calendario sincronizzati.","WEBSITE_FEATURES_EXTENDABLE":"Estendi il catalogo video con gli addon","WEBSITE_FEATURES_EXTENDABLE_P1":"Il catalogo di addon di Stremio offre diversi addon da installare permettendoti di guardare una varietà di nuovi video. Include film, spettacoli, dirette TV, sport, notiziari, podcasts, canali web, videogiochi e molto altro.","WEBSITE_FEATURES_AUTO_SUBS":"Sottotitoli automatici","WEBSITE_FEATURES_AUTO_SUBS_P1":"Con i nostri addon dei sottotitoli hai automaticamente l\'opzione selezionata per la tua lingua preferita.","WEBSITE_FEATURES_CHROMECAST":"Trasmettendo verso Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Goditi i tuoi contenuti video su uno schermo più grande o semplicemente trasmetti quello che guardi su un dispositivo diverso.","WEBSITE_FEATURES_KEEP_TRACK":"Tieni traccia dei tuoi spettacoli TV e Canali Web preferiti","WEBSITE_FEATURES_KEEP_TRACK_P1":"Ottieni una visualizzazione a calendario e notifiche per i nuovi episodi delle tue serie e canali web preferiti.","WEBSITE_FEATURES_POWER_USER":"Funzionalità per utenti avanzati","WEBSITE_FEATURES_POWER_USER_P1":"Riproduci in un player esterno","WEBSITE_FEATURES_POWER_USER_P2":"Riproduci da un file torrent o link magnet","WEBSITE_FEATURES_POWER_USER_P3":"Importa nella tua libreria dagli interessi Facebook o dal disco locale","WEBSITE_ADD_ONS":"Addon","WEBSITE_ADD_ONS_P1":"Tutti i contenuti video di Stremio sono recuperati ad un sistema di addon - nessun contenuto o fornitore di contenuti è stato integrato nell\'app.","WEBSITE_ADD_ONS_P2":"Ci sono due gruppi di addon disponibili: quelli ufficiali o della comunità.","WEBSITE_ADD_ONS_P3":"Quelli ufficiali sono sviluppati e offerti da Stremio, mentre quelli della comunità sono creati dai membri della nostra community, che li offrono anche.","WEBSITE_ADDONS_OFFICIAL":"Addon ufficiali","WEBSITE_ADDONS_WATCHUB":"Guarda i tuoi film, serie e spettacoli preferiti da fornitori come iTunes, Hulu, Amazon e altri servizi.","WEBSITE_ADDONS_YOUTUBE":"Guarda i tuoi canali YouTube preferiti senza pubblicità e ricevi notifiche per le novità dei creators che segui.","WEBSITE_ADDONS_FILMON":"Guarda dirette TV, film e TV gratuitamente. 600 canali TV, 45,000 film gratis, documentari e tanto altro.","WEBSITE_ADDONS_OPENSUBTITLES":"Sottotitoli di film e TV in più lingue, migliaia di sottotitoli tradotti caricati ogni giorno.","WEBSITE_ADDONS_COMMUNITY":"Addon della comunità","WEBSITE_ADDONS_FILMON_VOD":"Guarda film quando vuoi da Filmon.tv","WEBSITE_ADDONS_TWICH":"Guarda dirette da Twitch.tv - una piattaforma di video streaming platform per il settore degli e-sports.","WEBSITE_ADDONS_VODO":"Guarda film indie senza pagare.","WEBSITE_ADDONS_NETFLIX":"Guarda film e serie Netflix.","WEBSITE_ADDONS_CREATE":"Crea un addon","WEBSITE_ADDONS_CREATE_P1":"Se lo desideri, puoi sviluppare il tuo addon. In questo modo, puoi dare a te e alla nostra comunità accesso a nuovi contenuti video, e raggiungere un nuovo pubblico mirato di milioni di utenti in giro per il mondo.","WEBSITE_ADDONS_START_CREATE":"Per iniziare, visita la pagina Stremio Addon SDK:","WEBSITE_DOWNLOADS":"Download","WEBSITE_DOWNLOADS_P1":"Per ottimizzare le performance, ti suggeriamo di usare l\'ultima versione disponibile dell\'applicazione Stremio. Se per qualche motivo, tuttavia, ti dovesse piacere usare una versione più vecchia, puoi scaricarla da qui.","WEBSITE_DOWNLOADS_P1_SHORT":"Per prestazioni ottimali, ti consigliamo di utilizzare l\'ultima versione disponibile delle app Stremio.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio per Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio per macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio per Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio per Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio per Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio per Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio per Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio per iOS","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio per Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio per LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio per Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio per Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio per Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio per Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Cerca Stremio nell\'App Store dei modelli Samsung TV 2019+","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Cerca Stremio nell\'App Store di modelli TV LG 2020+","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Cerca Stremio nell\'App Store del tuo dispositivo Xbox","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Scarica il servizio Stremio","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service è un\'app di accompagnamento per Stremio Web. Si consiglia di utilizzare l\'ultima versione disponibile del servizio Stremio.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service per Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service per macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service per Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service per Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"Altre opzioni di download","WEBSITE_DOWNLOAD_NEW":"Nuovo!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"Abbiamo rilasciato Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"Abbiamo pubblicato Stremio per Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"Abbiamo pubblicato Stremio per LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"Abbiamo rilasciato Stremio per Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"Abbiamo rilasciato Stremio per Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"La piattaforma Stremio è open source e puoi facilmente creare un addon per contenuti al momento non offerti.","WEBSITE_CONTRIBUTE_WHY":"Perchè dovresti creare un addon?","WEBSITE_CONTRIBUTE_WHY_P1":"Raggiungere un nuovo pubblico per i tuoi contenuti video","WEBSITE_CONTRIBUTE_WHY_P2":"La base utenti di Stremio sta crescendo rapidamente - durante il primo anno di lancio, Stremio ha raggiunto 1 milione di utenti in giro per il mondo, e nel secondo anno questo numero è cresciuto a 2.5 milioni.","WEBSITE_CONTRIBUTE_WHY_P3":"Con il tuo addon, puoi facilmente raggiungere questo pubblico e distribuire i tuoi contenuti video a loro.","WEBSITE_CONTRIBUTE_ALL":"Guarda i tuoi film, video, serie e canali preferiti in un unico posto.","WEBSITE_CONTRIBUTE_ALL_P1":"Sei appassionato di un particolare tipo di contenuto non ancora disponibile su Stremio? Creagli un addon e goditi i tuoi video preferiti in uno dei più grandi e facili centro di intrattenimento sul mercato.","WEBSITE_CONTRIBUTE_ALL_P2":"Sopratutto, riceverai l\'infinita gratitudine di altri membri della comunità di Stremio che la pensano allo stesso modo.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetizza il tuo addon e guadagna soldi","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Una volta sviluppato un nuovo addon di Stremio, puoi facilmente monitizzarlo in diversi modi. Se lo stai considerando, sentiti libero di contattarci a ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - saremmo lieti di consultarti e consigliarti sulle opzioni di monetizzazione degli addon.","WEBSITE_CONTRIBUTE_TRANSLATE":"Diventa un traduttore volontario","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Se vuoi goderti Stremio in diverse lingue, puoi unirti alla nostra comunità di traduttori volontari. Ci aiutano ad aggiungere versioni di Stremio in molte lingue diverse.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Sei impaziente di iniziare?","WEBSITE_TRANSALTE_STREMIO":"Traduci Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Comunità ufficiale","WEBSITE_COMMUNITY_OFFICIALS_P1":"Diventa parte della crescita della comunità di Stremio. Seguici sui social media e non vergognarti di salutarci - amiamo ascoltare i nostri fan! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Comunità non-ufficiale","STREMIO_COMMUNITY_NL":"Stremio Olanda","STREMIO_COMMUNITY_BRASIL":"Stremio Brasile","STREMIO_COMMUNITY_GERMANY":"Stremio Germania","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgio","STREMIO_COMMUNITY_FRANCE":"Stremio Francia","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portogallo","STREMIO_COMMUNITY_ITALY":"Stremio Italia","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Messico","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_AWESOME":"Stremio stupendo","WEBSITE_COMMUNITY_PARTNERS":"Partner e sostenitori","WEBSITE_COMMUNITY_GOODIES":"Stremio chicche","WEBSITE_COMMUNITY_WALLPAPERS":"Sfondi","WEBSITE_COMMUNITY_ART":"Comunità Galleria d\'arte","WEBSITE_LINK_ART":"comunità galleria d\'arte","WEBSITE_CONTACT_US":"Contattaci","WEBSITE_CONTACT_US_P1":"Se hai qualsiasi domanda, commento o suggerimento, sentiti libero di metterti in contatto con noi attraverso il modulo di contatto qui sotto.","WEBSITE_CONTACT_US_P2":"Tieni in mente che sia locati in Bulgaria quindi potrebbero esserci ritardi alle tue domande a causa del fuso orario.","WEBSITE_CONTACT_US_SUCCESS":"Il tuo messaggio è stato inviato. Ti risponderemo al più presto.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Per piacere inserisci una email valida!","WEBSITE_CONTACT_US_Q_RELATED_TO":"A cosa è collegata la tua domanda?","WEBSITE_CONTACT_US_Q_OS":"Qual\'è il tuo Sistema Operativo?","WEBSITE_CONTACT_US_PH_EMAIL":"La tua E-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Messaggio","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"INVIATO","WEBSITE_CONTACT_US_Q_1":"Come si installa?","WEBSITE_CONTACT_US_Q_2":"Come si disinstalla?","WEBSITE_CONTACT_US_Q_3":"(HTML) Come si fanno le lasagne?","WEBSITE_CONTACT_US_Q_4":"Addons","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Tecnologia","WEBSITE_TECHNOLOGY_P1":"Amiamo la tecnologia e la scienza folle. </br> Ecco ciò che fa girare Stremio (è tutto open-source).","WEBSITE_TECHNOLOGY_P_QT":"Sviluppo di software multi piattaforma al suo massimo splendore.","WEBSITE_TECHNOLOGY_P_MPV":"Un riproduttore multimediale gratuito, open source, e multi piattaforma.","WEBSITE_TECHNOLOGY_P_RN":"React Native ti permette di costruire applicazioni usando solo JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework è integrato nell\'applicazione per ottenere contenuti multimediali.","WEBSITE_TECHNOLOGY_P_REALM":"Realm è una piattaforma mobile e un sostituto di SQLite e Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js è un ambiente runtime per JavaScript, open-source e multi piattaforma.","WEBSITE_TECHNOLOGY_P_RUST":"Rust è un linguaggio di programmazione multi paradigma incentrato sulla sicurezza, specialmente sulla concorrenza sicura.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribuisci al progetto","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Ci sono due modi in cui puoi contribuire a Stremio e aiutarci a renderlo migliore.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Puoi donare le tue preziose competenze linguistiche traducendo la piattaforma...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"oppure","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... puoi sfruttare le tue capacità di scrittura del codice per creare addon per la comunità. ","WEBSITE_TRANSLATE_STREMIO":"Traduci Stremio","WEBSITE_404_OH_NO":"Uh-oh! La pagina che stavi cercando non si trova qui...","WEBSITE_GO_HOME":"Torna sulla home","WEBSITE_LINK_OTHER_DOWNLOADS":"Altri download","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Supporto","WEBSITE_DOWNLOAD_4_0_BETA":"Scarica Ora Stremio 4 beta","WEBSITE_GET_FOR_DESKTOP":"Ottieni per desktop","WEBSITE_LINK_ADDON_COMPETITION":"Competizione addon","WEBSITE_LINK_ART_CONTEST":"Concorso artistico","WEBSITE_MY_ACCOUNT":"Il mio account","WEBSITE_MAINPAGE_FAQ_001_H1":"Che cos\'è Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio è un moderno centro multimediale che ti offre la libertà di guardare quello che vuoi.","WEBSITE_MAINPAGE_FAQ_002_H1":"Come funziona?","WEBSITE_MAINPAGE_FAQ_002_P1":"Una volta installato Stremio sul tuo dispositivo e creato l\'account, tutto quello che devi fare è visitare il catalogo degli addon e installare quello che vuoi, e hai fatto!","WEBSITE_MAINPAGE_FAQ_002_P2":"Dopo, puoi visitare le sezioni Scopri e Bacheca per iniziare ad esplorare i contenuti.","WEBSITE_MAINPAGE_FAQ_003_H1":"Cosa posso vedere qui?","WEBSITE_MAINPAGE_FAQ_003_P1":"Tantissime cose: Film, spettacoli TV, Canali web, Sport, Canali TV, ascoltare Podcast e altro. Grazie al nostro sistema di addon, hai accesso a una varietà di contenuti.","WEBSITE_MAINPAGE_FAQ_004_H1":"Stremio è open-source?","WEBSITE_MAINPAGE_FAQ_004_P1":"Si, puoi controllare i seguenti link: ${1}applicazione desktop${2} e ${3}organizzazione GitHub${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Stremio è sicuro?","WEBSITE_MAINPAGE_FAQ_005_P1":"Si: perchè è un software open-source, il codice sorgente è di pubblica visione e puoi controllarlo personalmente.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"Per quanto riguarda la mia privacy?","WEBSITE_MAINPAGE_FAQ_006_P1":"Rispettiamo la privacy degli utenti e non conserviamo nessun dato personale ad eccezione del minimo indispensabile per creare e sincronizzare il tuo account.","WEBSITE_MAINPAGE_FAQ_006_P2":"C\'è anche un accesso in ${1}Modalità ospite${2}, che non richiedere nessun dato: così, nessuna chiamata sarà fatta alla nostra infrastruttura. Tuttavia, sacrifica alcune funzionalità utili, come la sincronizzazione della tua libreria tra i diversi dispositivi.","WEBSITE_MAINPAGE_FAQ_007_H1":"Posso trasmettere sulla mia TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Si, supportiamo Chromecast e puoi trasmettere sia l\'applicazione desktop sia mobile (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"Quanti addon ha Stremio?","WEBSITE_MAINPAGE_FAQ_008_P1":"Alla fine del 2019, più di 50 - per maggiori informazioni, controlla il nostro catalogo degli addon.","WEBSITE_MAINPAGE_FAQ_009_H1":"Stremio può essere esteso oltre ciò che è nel catalogo degli addon?","WEBSITE_MAINPAGE_FAQ_009_P1":"Si, potresti controllare questi: ${1}PimpMyStremio${2}, ${3}comunità Reddit${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"Che dispositivi supportano Stremio?","WEBSITE_MAINPAGE_FAQ_010_P1":"Abbiamo un\'applicazione desktop per Windows, Mac e Linux. Per mobile, supportiamo Android e iOS, tuttavia iOS ha funzionalità limitate (non supporta la maggior parte degli addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"Ci sono diversi dispositivi basati su Android che supportano Stremio, come NVIDIA Shield e Amazon Fire Stick, ma non li supportiamo ufficialmente.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Potete aggiungere dei contenuti su Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Scusaci, non offriamo noi stessi i contenuti, ma più addon Stremio installi, più contenuti potrai trovare.","WEBSITE_MAINPAGE_FAQ_012_H1":"Stremio può riprodurre link magnet?","WEBSITE_MAINPAGE_FAQ_012_P1":"Si, e può riprodurre normali link HTTP e file torrent (drag and drop).","WEBSITE_MAINPAGE_FAQ_013_H1":"Posso scaricare un video e vederlo offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"La funzionalità offline è una notività in arrivo, ma se permetti a Stremio di salvare sulla cache del tuo dispositivo (dalle impostazioni) puoi guardare i video più tardi senza bisogno di connessione.","WEBSITE_MAINPAGE_FAQ_014_H1":"Non funziona niente, aiutatemi!","WEBSITE_MAINPAGE_FAQ_014_P1":"Sei sicuro di aver installato gli addon? Se si, confrontati con il nostro ${1}centro assistenza${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"In che modo Stremio sostiene le sue operazioni di sviluppo?","WEBSITE_MAINPAGE_FAQ_015_P1":"Pubblichiamo occasionalmente annunci non intrusivi, ma stiamo valutando la possibilità di passare a un modello di donazione.","WEBSITE_MAINPAGE_FAQ_015_P2":"Per altre domande, vai al nostro ${1}centro assistenza${2}.","HELP_LEARN_MORE":"Aiutaci a conoscerti meglio.","LIFESTYLE":"Stile di vita","SPORTS":"Sport","FOOD_HEALTH":"Cibo & salute","BEAUTY_FASHION":"Moda & bellezza","NEWS":"Notizie","GAMING":"Giochi","SCIENCE_EDUCATION":"Scienze & istruzione","MUSIC":"Musica","TRAVEL":"Viaggi","LATE_NIGHT":"Late Night","REALITY":"Reality","COMEDY":"Commedie","DIY":"Fai-da-te","TECH":"Tecnologia","CINEMA":"Cinema","CONTINUE":"Continua","SLOW_LOADING":"CARICAMENTO LENTO?","I_GIVE_UP":"RINUNCIO","LEARN_MORE":"Per saperne di più","POOR_SOURCE":"Questa fonte è scarsamente disponibile o la tua connessione Internet non è abbastanza veloce","PICK_CATEGORIES_ERR":"Devi scegliere almeno 3 categorie","ADJUST_TIMING":"Regola il tempo con ","ADJUST_SIZE":"Regola le dimensioni con ","SEARCH_ANYTHING":"Puoi cercare qualsiasi cosa...","ALL_CATEGORIES":"Tutte","SEARCH_CATEGORIES":"Film, Serie, YouTube & TV","SEARCH_PERSONS":"Attori, Registi & Scrittori","SEARCH_PROTOCOLS":"Link HTTP & Magnet","SEARCH_TYPES":"Link IMDB / TVDB","WATCHED":"Guardati","SHOW_LESS":"Mostra meno","LAST_SEARCHES":"Ultime ricerche","CLEAR_HISTORY":"Pulisci cronologia","CHOOSE_SOME":"SCEGLI TRA QUESTI:","NO_WEB_REMOTE":"Impossibile caricare Telecomando Web","STREMIO_OFFLINE":"Stremio è offline","STREMIO_EXPENSIVE_CONNECTION":"Abbiamo notato che stai usando i dati mobile per connetterti, vuoi continuare?","USE_DATA":"Usa dati","WARNING":"Attenzione","MORE_INFO":"Più informazioni...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Caricamento...","STREMIO_TV_BACK_TO_LANGUAGES":"Torna alle lingue","STREMIO_TV_REMOTE":"Telecomando","STREMIO_TV_GO_TO":"Vai a:","STREMIO_TV_OR_SCAN":"o scansiona:","STREMIO_TV_ADDON_INSTRUCTIONS":"Per favore segui le istruzioni per installare i tuoi addon preferiti.","STREMIO_TV_LIVE_TV":"Diretta TV","STREMIO_TV_RESUME_WATCHING":"Riprendi a Guardare","STREMIO_TV_LOADING_BACKGROUND":"Caricamento Sfondo","STREMIO_TV_CHECKING_AUTHENTICATION":"Controllo Autenticazione","STREMIO_TV_LOADING_BOARD":"Caricamente Bacheca","STREMIO_TV_LOGIN_HEADER_LINE_1":"Vogliamo che i nostri utenti abbiano la migliore esperienza personalizzata possibile con il nostro software.","STREMIO_TV_LOGIN_HEADER_LINE_2":"È per questo motivo che ti chiediamo gentilmente di creare e/o accedere al tuo account.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Grazie per la comprensione,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Il Team Stremio","STREMIO_TV_REMOTE_INSTRUCTIONS":"Per utilizzare il Telecomando Web con il tuo Smartphone / Tablet / Computer:","STREMIO_TV_WIFI_SETUP":"Configurazione Wi-Fi","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle non ha rilevato una connessione Internet.","STREMIO_TV_WIFI_DETAILS_1":"Connetti a:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Usa password:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Apri un browser web con il link:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Default","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"Per ultimo visto","STREMIO_TV_LIBRARY_SORT_NAME":"Per nome","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"Per nome discendente","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"Per minuti visti","STREMIO_TV_LIBRARY_SORT_WATCHED":"Per visti","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"Per non visti","STREMIO_TV_DETAILS_SEASON_NUMBER":"Stagione ${1}","STREMIO_TV_STREAMS_LOADING":"Caricati gli addon ${1} / ${2}...","STREMIO_TV_STREAMS_STILL_LOADING":"L\'addon ${1} è in caricamento...","STREMIO_TV_PLAYER_SETTINGS":"Impostazione del player","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Ritardo sottotitoli","STREMIO_TV_PLAYER_AUDIO_DELAY":"Ritardo audio","STREMIO_TV_PLAYER_VIDEO_SCALING":"Adattamento video","STREMIO_TV_PLAYER_CHAPTERS":"Capitoli","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Salta ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Sorgente flusso non supportata","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Apertura link esterno fallita","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Non regolabile in modalità passthrough audio","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Riproduci con ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Riproduci con libVLC","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Passaggio a libVLC a causa di un errore di riproduzione","STREMIO_TV_ADDONS_TITLE":"Usa Stremio sul tuo Telefono o PC per installare o configurare addon e premi \\"Sincronizza Addon\\"","STREMIO_TV_ADDONS_SUBTITLE":"Nota: sii sicuro di utilizzare lo stesso profilo Stremio","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sincronizza Addon","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addon sincronizzati con successo","STREMIO_TV_ADDONS_SYNC_FAILED":"Sincronizzazione addon fallita","STREMIO_TV_META_LINK_FAILED":"Apertura meta link fallita","STREMIO_TV_CATALOG_LOADING":"Catalogo in caricamento...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Interfaccia lingua aggiornata","STREMIO_TV_SETTINGS_THEME_UPDATED":"Tema aggiornato","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Player di Default","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Player Esterno","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Lingua predefinita","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Lingua secondaria predefinita","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Riproduzione con tunnel","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possibili problemi di riproduzione su alcuni dispositivi","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Alcuni formati video possono non funzionare","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Corrispondenza del frame rate","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabilitata","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Solo frame rate","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame rate e risoluzione","STREMIO_TV_SETTINGS_NO_CACHING":"No caching","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Default","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Soft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Veloce","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Veloce","STREMIO_TV_SETTINGS_SERVER_URL":"Url streaming del server","STREMIO_TV_SETTINGS_SERVER_VERSION":"versione Server","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Sconosciuto","STREMIO_TV_SETTINGS_STREMIO_VERSION":"versione Stremio","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Modifica url del server","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Inserisci un url streaming del server","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Mostra statistiche durante il caricamento","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"Per leggere le Privacy Policy di Stremio, visita:","STREMIO_TV_SETTINGS_TOS_TEXT":"Per leggere i Termini e Condizioni di Stremio, visita:","STREMIO_TV_NAV_SEARCH":"Cerca","STREMIO_TV_NAV_HOME":"Home","STREMIO_TV_NAV_DISCOVER":"Scopri","STREMIO_TV_NAV_LIBRARY":"Libreria","STREMIO_TV_NAV_MOVIES":"Film","STREMIO_TV_NAV_SERIES":"Serie","STREMIO_TV_NAV_CHANNELS":"Canali","STREMIO_TV_NAV_TV":"Dirette TV","STREMIO_TV_NAV_SETTINGS":"Impostazioni","STREMIO_TV_NAV_ADDONS":"Addon","STREMIO_TV_LOGIN_TITLE":"Collega Account","STREMIO_TV_LOGIN_EXPIRES_IN":"Scade tra","STREMIO_TV_LOGIN_STEP_ONE":"Scansione il QR Code sotto oppure va a","STREMIO_TV_LOGIN_STEP_TWO":"Accedi al tuo account Stremio","STREMIO_TV_LOGIN_NEW_LINK":"Richiedi un nuovo collegamento","STREMIO_TV_LOGIN_LINK_REFRESHED":"Codice di accesso aggiornato","STREMIO_TV_SEARCH_PLACEHOLDER":"Scrivi qualcosa","STREMIO_TV_SEARCH_NO_ADDONS":"Non sono stati richiesti addon per i cataloghi!","STREMIO_TV_SEARCH_BUTTON":"Cerca","STREMIO_TV_SEARCH_KEY_DEL":"Canc","STREMIO_TV_SEARCH_KEY_SPACE":"Spazio","STREMIO_TV_SEARCH_KEY_CLEAR":"Pulisci","STREMIO_TV_SEARCH_HISTORY_TITLE":"Cerca nella Cronologia","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Puoi cercare per Titolo, Attori, Canali e altro...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Pulisci la Cronologia Cerca","STREMIO_TV_FILTERS_DESCRIPTION":"Scegli uno dei filtri qui sotto","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Il server streaming è offline. Controlla le impostazioni del server.","FILTERS":"Filtri","SETTINGS":"Impostazioni","ACCOUNT":"Profilo","LOGOUT":"Disconnetti","THEMES":"Temi","PLAYBACK":"Riproduzione","PLAYBACK_SPEED":"Velocità riproduzione","AUDIO_TRACKS":"Tracce audio","UNKNOWN_TRACK_LANG":"Sconosciuta","VIDEOS":"Video","SERVER":"Server","LINKS":"Collegamenti","ABOUT":"Riguardo","INTERFACE":"Interfaccia","ANIMATIONS":"Animazioni","STATUS":"Stato","LANGUAGE":"Lingua","SIZE":"Dimensione","DELAY":"Ritardo","BOLD":"Grassetto","OPACITY":"Opacità","TEXT_COLOR":"Colore Testo","OUTLINE_COLOR":"Colore Bordi","BACKGROUND_COLOR":"Colore Sfondo","BACKGROUND_BLUR":"Sfocatura Sfondo","SEEK_TIME_DURATION":"Durata Termpo Ricerca","AUTO_PLAY":"Auto-Play Prossimo Episodio","PLAY_NOW":"Riproduci Ora","MARK_AS_WATCHED":"Segna come Visto","MARK_AS_UNWATCHED":"Marca come Non-Visto","REWIND_TO_BEGINNING":"Ricomincia dall\'Inizio","CONTINUE_WATCHING":"Continua a guardare","ALL":"Tutto","SECONDS":"secondi","ON":"ACCESO","OFF":"SPENTO","RELOAD":"Ricarica","EDIT_URL":"Modifica URL","NONE":"Niente","EMBEDDED":"Integrato","REMOTE_SWITCH_DEVICES":"Cambia dispositivo","REMOTE_VIDEOS":"Video","REMOTE_ADJUST_TIMING":"Regola tempi","REMOTE_ADJUST_SIZE":"Regola dimensioni","REMOTE_COULD_NOT_BE_LOADED":"Non è stato possibile caricare Telecomando Web","REMOTE_RETRY":"Riprova","TORRENT_PROFILE_DEFAULT":"Default","TORRENT_PROFILE_SOFT":"Soft","TORRENT_PROFILE_FAST":"Veloce","TORRENT_PROFILE_ULTRA_FAST":"Ultra Veloce","FAQ_001_H1":"Cos\'è Stremio?","FAQ_001_P1":"Stremio è un software per media center progettato per l\'intrattenimento video pensando alla facilità d\'uso. Stremio ti consente di organizzare &amp; guardare la tua raccolta di film, serie, canali e dirette TV.","FAQ_001_P2":"Stremio raccoglie i contenuti che ti mostra dal tuo disco locale e dal nostro sistema di addon.","FAQ_001_P3":"Ti notifica anche quando un nuovo episodio/video/film/ che ti interessa è uscito, e ti suggerisce i film raccomandati per te.","FAQ_02_H1":"Come si confronta Stremio rispetto a Kodi e Plex?","FAQ_02_P1":"Noi abbiamo preso ispirazione da questi due software. Ma abbiamo obiettivi diversi - Stremio è specificamente mirato ai video di intrattenimento, e si impegna a diventare la soluzione principale essendo molto facile da usare.","FAQ_02_P2":"Stremio non sarà mai così personalizzabile e ricco di funzionalità come Kodi e Plex, ma è molto più facile da usare. Solo ${1} prendi e vedi ${2} :)","FAQ_03_H1":"Come si confronta Stremio rispetto a Netflix?","FAQ_03_P1":"Come prima, Netflix è una delle nostre ispirazioni. Ci sforziamo di ottenere l\'esperienza utente di Netflix, oltre a molte chicche aggiuntive. Ma soprattutto, ti stiamo dando la libertà di gestire la tua libreria e aggiungere nuove fonti di contenuto con il nostro sistema di addon.","FAQ_03_P2":"Ciò rende Stremio infinitamente estendibile, quindi quando usi Stremio, non sarai mai limitato come il contenuto che Netflix decide di concedere in licenza. Per esempio, da Stremio puoi vedere contenuti da ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} e anche ${9}Netflix${10} stesso!","FAQ_04_H1":"Come si confronta Stremio rispetto a Flipboard?","FAQ_04_P1":"Non riceviamo questa domanda così spesso, tranne quando parliamo con le persone di start-up :)","FAQ_04_P2":"Stremio è progettato come aggregatore di contenuti, che lo rende effettivamente un Flipboard per i video. Questo è molto evidente nella nostra sezione Bacheca, che ti mostra cataloghi e le notifiche di nuovi video/nuovi episodi per quello che segui, proprio come Flipboard.","FAQ_05_H1":"Come si confronta Stremio rispetto a Popcorn Time?","FAQ_05_P1":"Stremio e Popcorn Time hanno un\'interfaccia simile, perché non ci sono molti modi per fare bene i cataloghi di intrattenimento video :)","FAQ_05_P2":"Ma mentre Popcorn Time è incentrato sulla riproduzione torrent da specifiche sorgenti, Stremio non ha restrizioni ed è semplicemente un aggregatore di contenuti - non è bloccato in una specifica sorgente.","FAQ_05_P3":"Inoltre, non offriamo nessun addon di tipo torrent ufficiale, quindi Stremio non copre l\'esperienza d\'uso di Popcorn Time con funzionalità ufficiali.","FAQ_05_P4":"Un\'altra differenza è che Popcorn Time è completamente open source, mentre Stremio è ${1} parzialmente open source${2}.","FAQ_06_H1":"Aggiungerete questo film/serie TV?","FAQ_06_P1":"No, ci dispiace :(","FAQ_06_P2":"Come riportato nelle altre domande, Stremio non offre perfonalmente contenuti - tutto è aggiunto grazie al sistema di addon. Nel caso dovessi avere una richiesta per un contenuto, puoi usare il tasto “Report” nel Riproduttore, che manderà una email all\'autore dell\'addon che stai attualmente utilizzando.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Creerete addon per X?","FAQ_08_P1":"È assolutamente possibile.","FAQ_08_P2":"Se hai un\'idea per un addon, scrivi una riga a ${1}office@stremio.com${2}, ma assicurati che la tua idea per l\'addon non infranga nessun copyrights o condizione d\'uso.","FAQ_08_P3":"Al momento, le prossime integrazioni sulla nostra tabella di marcia sono addon per FandangoNOW, Filmon.tv video on demand e Crunchyroll.","FAQ_09_H1":"Stremio usa BitTorrent?","FAQ_09_P1":"Sì, Stremio supporta BitTorrent come protocollo di riproduzione. Puoi usarlo sia con un addon per torrent, oppure trascinando un file .torrent su Stremio, oppure incollando un magnet link nella barra di ricerca.","FAQ_09_P2":"Attenzione, da notare che l\'unico addon che usa BitTorrent è ${1}Vodo${2}, il quale fornisce contenuti indie, tutti autorizzati per essere distibuiti su BitTorrent.","FAQ_09_P3":"Noi non supportiamo l\'uso di un qualsiasi addon di terze parti che permetta l\'infrangimento del copyright.","FAQ_10_H1":"Cosa posso guardare su Stremio con gli addon ufficiali?","FAQ_10_P1":"Di default, puoi guardare contenuti di Filmon.tv, YouTube e Vodo. In aggiunta, abbiamo addon per Twitch.tv e pochi altri.","FAQ_10_P2":"Questa combinazione fornisce una selezione di:","FAQ_10_L1":"Canali TV popolari, offerti da Filmon.tv - per esempio E4, BBC, Bollyworld TV","FAQ_10_L2":"Qualsiasi cosa da YouTube - per esempio BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Film indie con Vodo","FAQ_10_L4":"Trasmissioni di Gaming Online con Twitch.tv","FAQ_10_P3":"In più, ci sono molte fonti di contenuto fornite con gli addon di Guidebox e Netflix, che <b>non</b> riproducono internamente a Stremio, ma potrebbero rimandarvi a un dato servizio. Per esempio, l\'addon di Guidebox potrebbe darvi una selezione di film che si possono guardare gratis negli USA, da servizi come TubiTV e Crackle.","FAQ_11_H1":"Stremio non si installa, cosa devo fare?","FAQ_11_P1":"Se usi Windows, prova ${1}queste alternative${2}.","FAQ_11_P2":"Se usi Mac OS X, sii consapevole che non supportiamo nessuna versione precedente a OS X Mavericks (10.9).","FAQ_11_P3":"Se usi Linux, sii consapevole che supportiamo solo Linux 64 bit (x64) per il momento.","FAQ_11_P4":"Se non riesci a risolvere il tuo problema, scrivici al nostro ${1} gruppo Facebook${2}.","FAQ_12_H1":"Perché scatta il mio antivirus? Stremio è sicuro?","FAQ_12_P1":"Assicuriamo che Stremio è ${1}sicuro al 100%${2}.","FAQ_12_P2":"Il tuo antivirus scatta perchè nel nostro programma è integrata la pubblicità, che viene riconosciuta da alcuni antivirus come pericolo.","FAQ_12_P3":"Se non sei ancora sicuro, puoi provare ad installare una ${1}di queste alternative${2}.","FAQ_13_H1":"Come posso creare il mio addon?","FAQ_13_P1":"Per i principianti, suggeriamo di controllare su GitHub il nostro ${1}modulo di sistemi di addon${2}.","FAQ_13_P2":"Dopo, potete seguire la guida ${1}Hello World${2}.","FAQ_13_P3":"Se non hai idea di come programmare, condividi la tua idea sulla ${1}comunità Reddit${2} e contattaci a ${3}office@stremio.com${4} con la tua idea di addon.","FAQ_14_H1":"Come sono pubblicati gli addon?","FAQ_14_P1":"Quando crei un addon e lo offri, ed inserisci un campo <b>endpoint</b> nel tuo manifesto, che punta ad un indirizzo di un addon funzionante, l\'addon sarà automaticamente pubblicato sul nostro ${1}Catalogo Addon${2}.","FAQ_14_P2":"Questo succede perchè la parte server del modulo stremio-addons chiama automaticamente la nostra API per notificare l\'addon. Quando la nostra API valida il tuo <b>endpoint</b> come addon valido, inizierà ad essere mostrato nel catalogo.","FAQ_15_H1":"Posso lanciare Stremio nel mio browser?","FAQ_15_P1":"Non ancora per il momento, ma arriverà!","FAQ_15_P2":"Se sei curioso di vedere una versione Alpha, puoi vederla qui: ${1}alpha4.strem.io${2}. Ricordati che lo streaming è disabilitato su questa versione. Suportiamo Chrome, Firefox, Opera e Edge.","FAQ_16_H1":"La trasmissione su TV non funziona / i sottotitoli non funzionano","FAQ_16_P1":"La trasmissione su TV usa la tecnologia DLNA che è molto inconsistente tra i diversi marchi e modelli di TV. Per questo motivo, non possiamo testare ogni caso, quindi è lontana dalla perfezione. Nonostante ciò, stiamo lavorando per migliorarla costantemente ma non possiamo darti una stima di quando DLNA inizierà a funzionare correttamente con la tua TV.","FAQ_16_P2":"Se non vedi nemmeno la tua TV nel menu della Trasmissione, prova a disattivare la connessione di rete e riattivarla (su Windows, click destro su Rete e usa Abilita/Disabilita), oltre a riavviare il router, la TV e il PC.","FAQ_16_P3":"Se stai riscontrando ancora problemi, puoi aiutarci inviandoci le informazioni sulla marca e sul modello del televisore all\'indirizzo ${1}office@stremio.com${2}.","FAQ_16_P4":"Nel frattempo, ti consigliamo Chromecast, che supportiamo molto bene, o semplicemente collegando la TV al PC con un cavo HDMI.","FAQ_17_H1":"Stremio si blocca e/o crasha, cosa posso fare?","FAQ_17_P1":"Prima di tutto, se utilizzi Windows 7 con l\'antivirus AVG: abbiamo un problema con quella combinazione. Il problema è in AVG stesso e non esiste un modo ragionevole per risolverlo da parte nostra. Sfortunatamente, le eccezioni o la disattivazione dell\'antivirus non funzioneranno. L\'unica soluzione è sostituire AVG con qualcos\'altro.","FAQ_17_P2":"Se non è questo il problema, ma stai ancora utilizzando Windows, esegui l\'aggiornamento all\'ultimo service pack e aggiorna/reinstalla i driver della GPU, quindi riprova.","FAQ_17_P3":"Se il tuo problema non è ancora risolto, o stai usando un Mac o Linux, scrivici segnalando i dettagli esatti del problema sul ${1}nostro gruppo Facebook${2}.","FAQ_18_H1":"Come posso creare il mio addon?","FAQ_18_P1":"Per i principianti, suggeriamo di controllare su GitHub il nostro ${1}modulo di sistemi di addon${2}.","FAQ_18_P2":"Dopo, potete seguire la guida ${1}Hello World${2}.","FAQ_18_P3":"Se non hai idea di come programmare, condividi la tua idea sulla ${1}comunità Reddit${2} e contattaci a ${3}office@stremio.com${4} con la tua idea di addon.","FAQ_19_H1":"Perchè Stremio occupa spazio sul disco?","FAQ_19_P1":"Stremio ha una <b>cache locale</b> per conservare temporaneamente i file video della tua riproduzione.","FAQ_19_P2":"Questo ha due benefici: primo, permette a Stremio di anticipare il caricamento del video in modo da garantire una riproduzione più fluida. Secondo, mantiene i video nella cache locale in modo da poter continuare a guardarli offline.","FAQ_19_P3":"Quanta memoria prende Stremio dipende dalle impostazioni di <b>Cache</b> impostate nel pannello Impostazioni. Stremio può mantenere la quantità impostata (ad es. 2 GB) sul tuo disco, a meno che il video attualmente in streaming non sia più grande, in qual caso deve allocare spazio di archiviazione sufficiente per conservarlo fino a quando non lo riproduci in streaming.","FAQ_20_H1":"Dov\'è la cartella di cache?","FAQ_20_P1":"Su Windows, è stremio-cache nell\'unità che hai scelto in Impostazioni (es. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"Su MacOS, è \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"Su Linux, è \\"~/.stremio/stremio-cache\\" oppure \\"~/stremio-cache\\"","FAQ_21_H1":"Ricevo l\'errore \\"Server di riproduzione non trovato\\", cosa posso fare?","FAQ_21_P1":"Se ricevi questo errore, significa una delle poche cose:","FAQ_21_P2":"1) Stai tentando di utilizzare un addon supportato dalla sorgente YouTube/BitTorrent, dalla nostra ${1}versione web${2}. In questo caso, devi installare la nostra versione desktop dal ${3}nostro sito web${4}.","FAQ_21_P3":"2) C\'è qualcosa che non va con l\'installazione di Stremio. In questo caso, prova a reinstallare la nostra ultima versione desktop dal ${1}sito web${2}. Se non aiuta, prova a disabilitare l\'antivirus e firewall, riavviando il tuo PC e provando di nuovo. Se anche questo non aiuta, scrivici sul ${3}nostro gruppo Facebook${4}.","FAQ_22_H1":"Non posso vedere/usare parecchi addon su iOS","FAQ_22_P1":"A causa delle restrizioni nei termini e condizioni dell\'Apple App Store, abbiamo delle restrizioni sull\'applicazione per iOS solo per un particolare gruppo di addon.","FAQ_22_P2":"Ma stai tranquillo - ci saranno molti altri addon per iOS in futuro, e potremmo anche aggiungere un\'integrazione che ti consentirà di utilizzare tutti gli addon di Stremio grazie alla connessione dell\'app iOS allo Stremio Streaming Server."}')},4774:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"映画","TYPE_series":"シリーズ","TYPE_tv":"テレビチャンネル","TYPE_channel":"チャンネル","TYPE_other":"その他","TYPE_movie_PL":"映画","TYPE_series_PL":"シリーズ","TYPE_tv_PL":"テレビチャンネル","TYPE_channel_PL":"チャンネル","TYPE_other_PL":"その他","TYPE_ALL":"すべて","TYPE":"タイプ","CATALOG_com_linvo_cinemeta_top":"人気","CATALOG_com_linvo_cinemeta_imdbRating":"注目","CATALOG_com_linvo_cinemeta_year":"新着","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"パブリックドメイン映画","VIDEO":"ビデオ","BACK":"戻る","MORE":"もっと見る","DONE":"完了","COPY":"コピー","SUCCESS":"成功","ERROR":"エラー","SETTINGS_CASTING_MODE_PICKER":"キャスティングモード","CASTING_MODE_HLSV2":"デフォルト","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"トランスコーディングなし","Discover":"探す","Board":"ボード","Library":"ライブラリ","My Library":"マイライブラリ","Calendar":"カレンダー","NOTIFICATION_ONLINE":"オンラインです","NOTIFICATION_OFFLINE":"現在オフラインです","INTERNET_CONNECTION":"ネットワーク接続","STORAGE_FULL_TITLE":"警告:ストレージがいっぱいです!","STORAGE_FULL_TEXT":"Stremioは設定、プリファレンス、ログイン情報を保存できません。Stremioの再起動または再インストールを検討してください。","SEARCH":"検索","SEARCH_NO_RESULTS":"結果が見つかりませんでした","SEARCH_EXPLANATION_CONTENT":"映画、シリーズ、YouTube、テレビチャンネルを検索","SEARCH_EXPLANATION_PEOPLE":"俳優、監督、脚本家を検索","SEARCH_PASTE_LINKS":"HTTPとMagnetのリンクを貼り付け","SEARCH_OR_PASTE_LINK":"検索またはリンクを貼り付け","SEARCH_SUGGESTIONS":"検索候補","ADD_TO_LIB":"ライブラリに追加","REMOVE_FROM_LIB":"ライブラリから削除","ADDED_TO_LIB":"ライブラリに追加されました","REMOVED_FROM_LIB":"ライブラリから削除されました","TRAILER":"予告編","WATCH_TRAILER":"予告編を見る","WATCH_NOW":"今すぐ見る","SHOW":"表示","SHOW_MOVIE":"映画を表示","WATCH_RANDOM":"ランダムに視聴","IMDB_RATING":"IMDb評価","YEAR":"年","DIRECTOR":"監督","WRITER":"脚本家","LEAD_ACTORS":"主演俳優","CAST":"キャスト","CREW":"クルー","SHOW_MORE_CAST":"もっと見る »","AIRED":"放送","SEASONS":"シーズン","GENRE":"ジャンル","GENRE_ALL":"すべてのジャンル","CATALOG":"カタログ","SUMMARY":"概要","SHOW_MORE":"もっと見る","SIMILAR":"類似","UPCOMING":"今後の予定","ENDED":"終了","DURATION":"期間","FEATURED":"注目","METADATA":"メタデータ","CATEGORY":"カテゴリ","LINKS_GENRES":"ジャンル","LINKS_CAST":"キャスト","LINKS_DIRECTORS":"監督","SEARCH_VIDEOS":"動画を検索","SEARCH_PLACEHOLDER":"検索またはURLを貼り付け","ADDON":"アドオン","ADDONS":"アドオン","OFFICIAL":"公式","ADDONS_OFFICIAL":"公式のStremioアドオン","ADDONS_POPULAR":"あなたの地域で人気","ADDON_FREE":"無料","ADDON_PEERED":"peered","ADDON_SUBSCRIPTION":"サブスクリプション","ADDON_STREAM_GEORESTRICTED":"お住まいの地域では利用できません","ADDON_STREAM_OFFLINECACHE":"オフラインキャッシュ","ADDON_STREAM_LOCALFILE":"ローカルファイル","SHARE_ADDON":"アドオンを共有","AVAILABLE_STREAMS":"利用可能なストリーム","NO_STREAM":"ストリームが見つかりませんでした","ALL_ADDONS":"すべて","INSTALL_MORE_ADDONS":"より多くのストリームを利用するために、より多くのアドオンをインストールしてください","STREAM_NOT_SUPPORTED":"選択したストリームはこのプラットフォームではサポートされていません。","ADDON_CATALOGUE":"すべてのアドオンを表示 »","ADDON_CATALOGUE_MORE":"アドオンをインストール","REPO_ADDED":"リポジトリが追加されました","ADDON_REPO_EXIST_ERR":"このアドオンのコレクションはすでに存在します","ADDON_REPO_ERR":"コレクションの追加中にエラーが発生しました","ADDON_ADD_ERR":"アドオンの追加中にエラーが発生しました","ERR_ADDON_PROTECTED":"アドオンをアンインストールできません、これは保護されています","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"何か問題が発生しました - 認証が失敗した可能性があります","ERR_NOT_COLLECTION_URL":"コレクションのURLではありません","ERR_NOT_ADDON_URL":"有効なアドオンのURLではありません","ERR_DETECTFROMURL":"このURLからアドオン/コレクションを見つけることができません","ADDON_DUPLICATE_WARNING":"警告: 重複したアドオンです","ADDON_COLLECTION_SET_FAILED":"インストールしたアドオンをあなたのアカウントに同期することができませんでした","SETTINGS_DATA_EXPORT":"ユーザーデータをエクスポート","ADDON_PULL_FAILED":"あなたのアカウントからインストールしたアドオンを同期することができませんでした","REFRESH_ON_CLICK":"クリックして再試行","STILL_IN_THEATER":"映画はまだ劇場で上映中です","WATCH_IN_CINEMA":"あなたの地元の映画館で観る","IN_THEATER":"劇場で","GET_TICKETS":"チケットを取る","UPCOMING_EPISODE":"今後のエピソード","UPCOMING_EPISODE_MESSAGE":"このエピソードは次の日に放送されます","MISSING_DATE_EPISODE":"エピソードの日付がありません","MISSING_DATE_EPISODE_MESSAGE":"このエピソードはまだ放送されていない可能性があります","CHANNEL_NOT_SCRAPED":"このチャンネルはまだスクレイプされていません。<br>数分後にもう一度お越しください。","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"利用可能になったら通知を受けるために、ライブラリに追加してください。","GET_NOTIFIED_WHEN_AVAILABLE":"利用可能になったら通知を受け取ります。","WARNING_STREAMING_SERVER":"警告: ローカルストリーミングサーバーが見つかりません。ローカルファイル、YouTube、BitTorrentからのストリーミングは利用できません。","WARNING_STREAMING_SERVER_DISMISS":"閉じる","WARNING_STREAMING_SERVER_LATER":"後で","DECODER_WARNING":"警告: この動画はお使いのハードウェアではサポートされていない可能性があります。再生が遅くなる可能性がありますのでご注意ください。","GENERIC_ERROR_MESSAGE":"何か問題が発生しました!","TRY_AGAIN":"再試行","CLEAR_DATA":"データをクリア","PLAYER_ERROR":"プレーヤーエラーです","PLAYER_ERROR_LOOKSLIKE":"どうやら","PLAYER_ORIENTATION":"プレーヤーの向き","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"ロック","PLAYER_ORIENTATION_SENSOR_SHORT":"センサー","PLAYER_ORIENTATION_LANDSCAPE":"プレーヤーの向きは横向きにロックされています","PLAYER_ORIENTATION_SENSOR":"プレーヤーの向きは自動です(センサー)","PLAYER_PLAYBACK_SPEED":"再生速度","PLAYER_PLAYBACK_ERROR":"再生エラー、もう一度試してください","PLAYER_PLAYBACK_ERROR_UNKNOWN":"不明なエラー","PLAYER_PLAYBACK_ERROR_DEFAULT":"申し訳ありませんが、この動画は{{productName}}で再生できません。","PLAYER_SUBTITLES_LANGUAGES":"字幕の言語","PLAYER_SUBTITLES_VARIANTS":"字幕の種類","PLAYER_SUBTITLES_SETTINGS":"字幕の設定","PLAYER_SUBTITLES_DISABLED":"字幕は無効化されています","PLAYER_SUBTITLES_VERTICAL_POSIITON":"垂直位置","PLAYER_SUBTITLES_LOADED":"字幕が読み込まれました","PLAYER_SUBTITLES_LOADED_EMBEDDED":"埋め込まれた字幕が読み込まれました","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"独占的な字幕が読み込まれました","PLAYER_SUBTITLES_LOADED_ORIGIN":"{{origin}}からの字幕が読み込まれました","PLAYER_PLAY":"再生","PLAYER_PAUSE":"一時停止","PLAYER_NEXT_VIDEO":"次の動画","PLAYER_MUTE":"ミュート","PLAYER_UNMUTE":"ミュート解除","PLAYER_OPEN_IN_EXTERNAL":"外部プレーヤーで開く","PLAYER_OPEN_IN_NPLAYER":"nPlayerで開く","PLAYER_PLAY_IN":"{{device}}で再生","PLAYER_LIVE":"ライブ","PLAYER_NEXT_VIDEO_TITLE":"次に放送予定の","PLAYER_NEXT_VIDEO_TITLE_SHORT":"次へ","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"閉じる","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"今すぐ見る","PLAYER_COPY_STREAM_SUCCESS":"ストリームのリンクがクリップボードにコピーされました","PLAYER_COPY_STREAM_ERROR":"ストリームのリンクのコピーに失敗しました","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"ダウンロードリンクがクリップボードにコピーされました","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"ダウンロードリンクのコピーに失敗しました","STREAMING_FROM":"ストリーミング元","CASTING_TO":"キャスト先","NETWORK_STATUS":"ネットワーク状態","STREAM_SPEED":"ストリーム速度:","STREAM_BUFFERED":"バッファ済み:","PEERS_INFO":"ピア情報","PEERS_ACTIVE":"アクティブ:","PEERS_CONNECTED":"接続済み:","PEERS_WAITING":"待機中:","TRANSCODING_WARNING":"警告: 動画を転送しています。","STREAM_LOADING":"読み込み中...","PLAYING_LOCAL":"ローカルファイルから再生中","PLAYING_CACHE":"キャッシュから再生中","WRONG_SUBS":"字幕が間違っていますか?","ERR_SUBS_LOADING_TITLE":"字幕の読み込みエラー","ERR_SUBS_LOADING":"字幕の読み込みに失敗しました: 使用中のアドオン、またはネットワーク接続に問題がある可能性があります","WARN_FOLLOWING_SUB_ADDONS_FAILED":"次の字幕アドオンが失敗しました","ERR_CASTING_UPDATE_TITLE":"キャストデバイス情報を更新できませんでした: ストリーミングサーバーがオフラインである可能性があります","CHOOSE_DEVICE":"視聴するデバイスを選択","NO_CAST_DEVICES":"利用可能なキャスティングデバイスがありません。","NO_SETTINGS":"利用可能な設定がありません。","PHONE_TABLET":"電話 / タブレット","SUBTITLES":"字幕","SUBTITLES_CHANGE":"字幕を変更 ","SUBTITLES_CHANGE_NONE":"申し訳ありませんが、この言語の他の字幕はありません。","SUBTITLES_CHANGE_ACIVE":"現在、字幕&#35;{{subtitlesDialog.activeIdx + 1}}が有効化されています。\\"続行\\"をクリックして字幕&#35;{{subtitlesDialog.pickedIdx + 1}}を有効化します。","SUBTITLES_OR":"または、","SUBTITLES_ADJUST_DELAY":"字幕の遅延を調整:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"再生中に<span>G</span> / <span>H</span>キーを使用して調整することもできます。","SUBTITLES_ADJUST_DELAY_TIP":"TIP: 再生中に<span>G</span> / <span>H</span>キーを使用して調整できます。","SUBTITLES_DELAY":"字幕の遅延:","SUBTITLES_LOADING":"字幕を読み込んでいます...","SUBTITLES_UNAVAILABLE":"利用可能な外部字幕はありません","SUBTITLES_DISABLED":"無効化","EXTERNAL_PLAYER_DISABLED":"無効化","EXTERNAL_PLAYER_ALLOW_CHOOSING":"選択を許可","EXTERNAL_PLAYER_HINT":"ヒント: 常に外部プレーヤーで開く設定があります","DONT_SHOW_AGAIN":"再度表示しない","SERVICE_INSTALL":"インストール","AUDIO":"オーディオ","DEFAULT_LANGUAGE":"デフォルトの言語","DEFAULT_SECONDARY_LANGUAGE":"デフォルトの第二言語","SEASON":"シーズン","EPISODE":"エピソード","EPISODE_ABBREVIATION":"エピソード","SPECIAL":"スペシャル","SORT":"並び替え","SORT_BY":"並び順","FILTER":"フィルター","SORT_TRENDING":"トレンド","SORT_RECENT":"最新","SORT_ALPHABET":"アルファベット順","SORT_ALPHABET_REVERSE":"アルファベット逆順","SORT_RATING":"評価","SORT_WATCHED":"視聴済み","SORT_YEAR":"年","SELECT_TYPE":"タイプを選択","SELECT_SORT":"並び替えを選択","SELECT_CATALOG":"カタログを選択","SELECT_GENRE":"ジャンルを選択","SORT_LASTWATCHED":"最後に視聴した順","SORT_NAME":"アルファベット順","SORT_NAMEREVERSE":"アルファベット逆順(z-a)","SORT_TIMESWATCHED":"視聴回数が多い順","SORT_NOTWATCHED":"視聴していません","New for You":"あなたのための新着","New Episodes":"新着エピソード","New Videos":"新着ビデオ","Recommendations":"おすすめ","LIBRARY_RESUME":"再開","LIBRARY_PLAY":"再生","LIBRARY_DETAILS":"詳細","LIBRARY_RESUME_DISMISS":"閉じる","LIBRARY_CLEAR_PROGRESS":"進行状況をクリア","LIBRARY_REMOVE":"削除","LIBRARY_NOT_LOGGED_IN":"ライブラリはログインしたユーザーのみ利用可能です","CALENDAR_NOT_LOGGED_IN":"カレンダーはログインしたユーザーのみ利用可能です","NOT_LOGGED_IN_CLOUD":"いつでもどこでもお気に入りの映画やテレビ番組にアクセスできます","NOT_LOGGED_IN_RECOMMENDATIONS":"視聴履歴に基づいたおすすめ","NOT_LOGGED_IN_NOTIFICATIONS":"二度とエピソードを見逃すことはありません","NOT_LOGGED_IN_CALENDAR":"視聴カレンダーをスケジュールしましょう","DISCOVER_FEATURED":"注目","DISCOVER_TOP":"トップ","DISCOVER_OSCAR":"オスカー受賞","DISCOVER_WARNING_TITLE":"おっと!","DISCOVER_EMPTY_CATALOG":"このアドオンは空のコンテンツを返しました。","DISCOVER_ADULT_WARNING":"このコンテンツは18歳以上のみが閲覧可能です。あなたは18歳以上ですか?","DISCOVER_NOADDON_WARNING":"警告: このタイプに対して有効なStremioアドオンがありません。保存されたアイテムを表示しますが、ここでは何も更新されません。","DISCOVER_LOAD_ERR":"コンテンツがロードされませんでした、エラーが発生しました。","DISCOVER_ADDON_UNINSTALLED":"このコンテンツはもう利用できません、アドオンをアンインストールした可能性があります。","UNINSTALL_THIS_ADDON":"このアドオンをアンインストール","ERR_ADDON_NOT_INSTALLED":"このアドオンはインストールされていません。今すぐインストールしますか?","DETAIL_RECEIVE_NOTIF_SERIES":"新エピソードの通知を受け取る","DETAIL_RECEIVE_NOTIF_VIDEOS":"新ビデオの通知を受け取る","SIDEBAR_SHOW_STREAMS":"ストリームを表示","RELAUNCH":"今すぐ再起動!","UPGRADE":"新バージョンが利用可能です!最新のStremioバージョンにアップグレード","RELOAD_UI":"ユーザーインターフェースをリロード","MANUAL_UPDATE_TITLE":"Stremioバージョンを更新","MANUAL_UPDATE_LINE1":"あなたは古いバージョンのStremioを使用していますが、これは非常にお勧めできません。","MANUAL_UPDATE_LINE2":"できるだけ早く更新してください。","BUTTON_UPDATE_LATTER":"今はしない","BUTTON_UPDATE_NOW":"更新","ANONYMOUS_USER":"匿名ユーザー","DONT_HAVE_ACC":"アカウントをお持ちでないですか?","HAVE_ACC":"すでにアカウントをお持ちですか?","PASSWORD":"パスワード","PASSWORD_CONFIRM":"パスワードの確認","EMAIL":"Eメール","FB_LOGIN":"Facebookで続行","FB_NOTHINGSHARED":"あなたの許可なしに何も共有されません","FB_NOPOST":"私たちはあなたに代わって何も投稿しません","OR":"または","I_ACCEPT":"私は以下を受け入れます","I_ACCEPT_BY_CLICKING":"上記のボタンをクリックすることで、私は以下を受け入れることを証明します ","TOS":"利用規約","MUST_ACCEPT_TERMS":"利用規約を受け入れる必要があります","PASSWORDS_NOMATCH":"パスワードが一致しません","SIGN_UP":"サインアップ","SIGN_UP_EMAIL":"メールでサインアップ","CLICK_TO_SIGN_UP":"ここをクリックしてサインアップします。","LOG_IN":"ログイン","LOG_OUT":"ログアウト","EXIT_FULLSCREEN":"全画面モードを終了","ENTER_FULLSCREEN":"全画面モードに入る","PLAY_URL_MAGNET_LINK":"URL/マグネットリンクを再生","HELP_FEEDBACK":"ヘルプ&フィードバック","TERMS_OF_SERVICE":"利用規約","PRIVACY_POLICY":"プライバシーポリシー","ABOUT_STREMIO":"Stremioについて","USER_PANEL":"ユーザーパネル","LOGIN_LABEL":"ログイン","GUEST_LOGIN":"ゲストログイン","GUEST_LOGIN_NOTICE":"ゲストログインはお勧めできません。通常のログインを使用すると、Stremioがあなたのライブラリを同期し、お気に入りのシリーズ/チャンネルの通知を受け取ることができます。本当に進行しますか?","GUEST_LOGIN_NOTICE_2":"ゲストログインはお勧めできません - 同期されたライブラリとボード通知がなく、これらはStremioの重要な機能です。本当に進行しますか?","CLICK_HERE":"ここをクリック","WRONG_PASSWORD":"メールアドレスまたはパスワードが間違っています。パスワードを忘れた場合は、","SET_A_PASS":"パスワードを設定","RESET_PASSWORD":"パスワードをリセット","FORGOT_PASSWORD":"パスワードをお忘れですか?","EMAIL_USED_WITH_FB":"このメールアドレスはFacebookログインで使用されました。","INVALID_EMAIL":"有効なメールアドレスを入力してください","INVALID_PASSWORD":"有効なパスワードを入力してください","CONN_ERR":"接続エラー - 後でもう一度お試しください。\\n\\nこの問題が解決しない場合は、ファイアウォール/ウイルス対策ソフト(特にBitdefender)を無効にしてください。","IMPORT_FROM_GUEST":"ゲストアカウントからライブラリをインポート","RECEIVE_UPDATES_EMAIL":"Stremioからの更新をメールで受け取る","LOGIN_FAILED":"ログインに失敗しました。","SIGNUP_FAILED":"サインアップに失敗しました。","SEARCH_FAILED":"検索に失敗しました","EMAIL_USED":"このメールアドレスはすでに使用されています。","WAITING_FB_LOGIN":"Facebookでログイン中...","EXTERNAL_PLAYER_TITLE":"外部プレーヤーで再生","EXTERNAL_REMEMBER_PLAYER":"あなたの選択を記憶しますか","EXTERNAL_ALWAYS_PLAY":"はい","EXTERNAL_ONLY_ONCE":"いいえ","BEST_FIT":"最適フィット","FIT_SCREEN":"画面に合わせる","FILL":"塗りつぶす","16:9":"16:9","4:3":"4:3","Original":"オリジナル","INTRO_TASTE":"あなたの好みについて教えてください","INTRO_TASTE_LONG":"あなたが見たいものについて教えてください","INTRO_TASTE_PICK":"{{interestsRemaining}}つの興味を選んでください","INTRO_TASTE_PICK_MORE":"さらに{{interestsRemaining}}つの興味を選んでください","INTRO_TASTE_HELP_US":"あなたについてもっと学びましょう。","INTRO_TASTE_CHOOSE_THESE":"これらの中から選んでください: ","INTRO_TASTE_CHOOSE_MIN":"少なくとも3つのカテゴリーを選んでください","INTRO_TASTE_CHOOSE_MIN_ERR":"少なくとも3つのカテゴリーを選ばなければなりません!","INTRO_TASTE_LIFESTYLE":"ライフスタイル","INTRO_TASTE_SPORTS":"スポーツ","INTRO_TASTE_FOOD_HEALTH":"食事&健康","INTRO_TASTE_BEAUTY_FASHION":"美容&ファッション","INTRO_TASTE_NEWS":"ニュース","INTRO_TASTE_GAMING":"ゲーム","INTRO_TASTE_SCIENCE_EDU":"科学&教育","INTRO_TASTE_MUSIC":"音楽","INTRO_TASTE_TRAVEL":"旅行","INTRO_TASTE_LATE_NIGHT":"深夜のショー","INTRO_TASTE_REALITY":"リアリティ","INTRO_TASTE_COMEDY":"コメディ","INTRO_TASTE_DIY":"DIYの方法","INTRO_TASTE_TECH":"テクノロジー","INTRO_TASTE_CINEMA":"映画","ADDON_NOT_SUPPORTED":"選択したアドオンはこのプラットフォームではサポートされていません。","ADDON_DISCLAIMER":"サードパーティのアドオンを使用することは、常にあなたの責任と、あなたが所在する管轄区域の法律に従うことになります。","ADDON_ACTIVATE":"このアドオンを有効にしますか?","ADDON_REPO_ADD":"アドオンコレクションのURL","ADDON_ADD":"追加","INSTALL_ADDON":"アドオンをインストール","ADD_ADDON":"アドオンを追加","ADD_ADDON_DESCRIPTION":"外部リンクからアドオンを追加することができます。それはインストール済みのアドオンの下に表示されます。","PASTE_ADDON_URL":"アドオンのURLを貼り付け","WHATS_NEW":"新着情報","BUTTON_CONTINUE":"続ける","BUTTON_ACTIVATE":"有効化","BUTTON_ACTIVATED":"有効化済み","BUTTON_CANCEL":"キャンセル","BUTTON_SUBMIT":"送信","BUTTON_DISMISS_ALL":"すべて閉じる","BUTTON_VIEW_ALL":"すべて表示","BUTTON_SEE_ALL":"すべて見る","BUTTON_COLOR_TRANSPARENT":"透明","OPEN_IN_BROWSER":"ブラウザで開く","LIB_EMPTY":"あなたのライブラリは空っぽのようです。その有用性を見つけてみてください :)","HOW_START":"ここから始める方法: ","LIB_EMPTY_CAL":"あなたのカレンダーはライブラリのシリーズを表示します。","HOW_START_CAL":"シリーズを追加する方法: ","LIB_EMPTY_BOARD":"ボードは、あなたのライブラリに関連する通知と推奨事項を表示します。","HOW_START_BOARD_WAIT":"ライブラリにいくつかのシリーズやチャンネルを追加して、私たちが処理するのに数分お待ちください :)","HOW_START_BOARD":"シリーズと映画を追加する方法:","IMPORT_FB":"<span>Facebook</span>から好きなものをインポート","IMPORT_TRAKT":"<span>Trakt</span>からあなたのメディアライブラリをインポート","IMPORT_DISCOVER":"<span>Discover</span>から面白いものを見つける","IMPORT_DISK":"あなたの<span>ローカルディスク</span>にある映画や番組をインポート","PLEASE_CREATE_ACC":"ライブラリの同期とボードを有効にするために<u>アカウントを作成</u>してください。","IMPORT_DISCOVER_SIGNUP":"サインアップして<span>Discover</span>から面白いものを見つける","IMPORT_DISK_SIGNUP":"サインアップして、あなたの<span>ローカルディスク</span>にある映画や番組をインポートしましょう","LIB_EMPTY_CLOUD":"クラウドライブラリ","LIB_EMPTY_CLOUD_DESC":"すべてのデバイスで同期された個人のクラウドライブラリ","LIB_EMPTY_EARLY":"さっそく見てみましょう","LIB_EMPTY_EARLY_DESC":"新エピソードの通知を受け取る","LIB_EMPTY_PERSONAL":"パーソナル","LIB_EMPTY_PERSONAL_DESC":"パーソナルな推奨事項を取得","LIB_EMPTY_CALENDAR_DESC":"個人の視聴カレンダーをスケジュール","LIB_EMPTY_ALL":"これらのすべてを取得するにはサインアップしてください:","LIB_EMPTY_BEST":"Stremioを最大限に活用するためにサインアップしましょう","LIB_EMPTY_OTHER":"カレンダーと他のクールな機能を有効にするためにサインアップしましょう","CALENDAR_ADDED":"Stremioのカレンダーがあなたのデフォルトのデスクトップカレンダーに追加されました。","CALENDAR_ADDED_MSG":"これが機能しない場合は、手動でこのURLをカレンダーアプリケーションに追加してください","TRAKT_EXPIRED":"Traktの認証が期限切れです、設定に移動して再認証してください","TRAKT_REQUIRES_LOGIN":"Traktエラー","TRAKT_REQUIRES_LOGIN_MSG":"ログインが必要です","TRAKT_IMPORT_WATCHED":"インポート","THEME":"テーマ","THEME_DEFAULT":"デフォルト","THEME_ADAPTIVE":"自動","SETTINGS_LABEL":"設定","SETTINGS_NAV_GENERAL":"一般","SETTINGS_NAV_PLAYER":"プレーヤー","SETTINGS_NAV_STREAMING":"ストリーミング","SETTINGS_NAV_SHORTCUTS":"ショートカット","SETTINGS_SHORTCUT_RELOAD_APP":"アプリを再読み込み","SETTINGS_SHORTCUT_OPEN_SETTINGS":"設定を開く","SETTINGS_SHORTCUT_SWITCH_TABS":"タブを切り替える","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"タブを順に切り替える","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"タブを逆順に切り替える","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"メニュー間を移動する","SETTINGS_SHORTCUT_GO_TO_SEARCH":"検索に移動する","SETTINGS_SHORTCUT_EXIT_BACK":"終了 / 戻る","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"再生速度メニューを切り替える","SETTINGS_SHORTCUT_MENU_VIDEOS":"ビデオメニューを切り替える","SETTINGS_SHORTCUT_MENU_SUBTITLES":"字幕メニューを切り替える","SETTINGS_SHORTCUT_MENU_INFO":"情報メニューを切り替える","SETTINGS_SHORTCUT_FULLSCREEN":"全画面表示を切り替える","SETTINGS_SHORTCUT_SHOW_CONTROLS":"コントロールを表示","SETTINGS_SHORTCUT_PLAY_PAUSE":"再生 / 一時停止","SETTINGS_SHORTCUT_VOLUME_UP":"音量を上げる","SETTINGS_SHORTCUT_VOLUME_DOWN":"音量を下げる","SETTINGS_SHORTCUT_SEEK_NEXT":"次を探す","SETTINGS_SHORTCUT_SEEK_PREV":"前を探す","SETTINGS_SHORTCUT_SEEK_BACKWARD":"後方に探す","SETTINGS_SHORTCUT_SEEK_FORWARD":"前方に探す","SETTINGS_SHORTCUT_PLAY_NEXT":"次を再生する","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"字幕サイズを大きくする","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"字幕サイズを小さくする","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"字幕の遅延を増やす","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"字幕の遅延を減らす","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"サイドバーを切り替える","SETTINGS_SHORTCUT_OR":"または","SETTINGS_SHORTCUT_TO":"へ","SETTINGS_SHORTCUT_SPACE":"スペース","SETTINGS_SHORTCUT_SHIFT":"シフト","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"認証","SETTINGS_FACEBOOK_IMPORT":"インポート","SETTINGS_CALENDAR_SUBSCRIBE":"購読する","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"カレンダーアプリが開かれました。手動でカレンダーを登録してください。","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"カレンダーファイルがダウンロードされました。カレンダーアプリにインポートしてください。","SETTINGS_INTERFACE_LANGUAGE":"インターフェースの言語","SETTINGS_LAUNCH_STARTUP":"起動時に起動する","SETTINGS_VLC_DEFAULT":"VLCで再生する","SETTINGS_UI_LANGUAGE":"UIの言語","SETTINGS_UI_ZOOM":"インターフェースのズーム","SETTINGS_FULLSCREEN_EXIT":"エスケープキーで全画面表示を終了する","SETTINGS_GAMEPAD":"ゲームパッドのサポートを有効化","SETTINGS_CLOSE_WINDOW":"ウィンドウを閉じるときにアプリを閉じる","SETTINGS_SUBTITLES_LANGUAGE":"デフォルトの字幕言語","SETTINGS_SUBTITLES_SIZE":"デフォルトの字幕サイズ","SETTINGS_SUBTITLES_BACKGROUND":"字幕の背景","SETTINGS_SUBTITLES_COLOR":"字幕の色","SETTINGS_SUBTITLES_COLOR_OUTLINE":"字幕のアウトラインの色","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"字幕の背景色","SETTINGS_SEEK_KEY":"矢印キーで探す時間","SETTINGS_SEEK_KEY_SHIFT":"シフトキーを押しながら矢印キーで探す時間","SETTINGS_REWIND_FAST_FORWARD_DURATION":"巻き戻しと早送りの時間","SETTINGS_BINGE":"次のエピソードを自動再生する","SETTINGS_NEXT_VIDEO":"次のエピソードを開始する通知を表示する","SETTINGS_NEXT_VIDEO_TRIGGER":"次のエピソードの通知を表示する:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"次のビデオのポップアップの時間","SETTINGS_PLAY_IN_BACKGROUND":"バックグラウンドで再生する","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"外部プレーヤーで再生する","SETTINGS_RESIZE":"再生前にウィンドウのサイズを自動調整する","SETTINGS_OVERRIDE_SERVER":"ストリーミングサーバーのURLを上書き(上級者向け)","SETTINGS_SERVER_URL":"ストリーミングサーバーのURL: ","SETTINGS_SERVER_AVAILABLE":"ストリーミングサーバーは利用可能です。","SETTINGS_SERVER_UNAVAILABLE":"ストリーミングサーバーは利用できません。","SETTINGS_SERVER_STATUS_ONLINE":"オンライン","SETTINGS_SERVER_STATUS_ERROR":"エラー","SETTINGS_SERVER_CONFIGURE_TITLE":"ストリーミングサーバーのURLを設定","SETTINGS_SERVER_CONFIGURE_INPUT":"ストリーミングサーバーのURLを入力","SETTINGS_SERVER_CACHE_SIZE":"キャッシュサイズ","SETTINGS_SERVER_TORRENT_PROFILE":"トレントプロファイル","SETTINGS_HTTPS_ENDPOINT":"ストリーミングHTTPSエンドポイント: ","SETTINGS_TRANSCODE_PROFILE":"トランスコードプロファイル","SETTINGS_USE_BETA":"常に最新のベータ版を使用","SETTINGS_IMPORT_FB":"Facebookからインポート","SETTINGS_IMPORT_DISK":"ローカルディスクからインポート","SETTINGS_IMPORT_TRAKT":"Traktからインポート","SETTINGS_PAUSE_MINIMIZED":"最小化したときに再生を一時停止","SETTINGS_HWDEC":"ハードウェアアクセラレーションデコード","SETTINGS_BACKGROUND":"バックグラウンド再生","SETTINGS_SUBSCRIBE_CALENDAR":"カレンダーに登録","SETTINGS_REQ_EXPORT":"データのエクスポートを要求","SETTINGS_ACC_DELETE":"アカウントの削除を要求","SETTINGS_CHANGE_PASSWORD":"パスワードを変更","SETTINGS_TOS":"利用規約","SETTINGS_SUPPORT":"サポートに連絡","SETTING_LANGUAGE":"言語","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_LOGOUT":"Trakt.tvからログアウト","SETTINGS_TRAKT_LOGOUT_2":"Traktからログアウト","SETTINGS_SCAN_FOR_REMOTE":"QRコードをスキャンしてリモートで開く","SETTINGS_DESKTOP_NOTIFICATIONS":"デスクトップ通知","SETTINGS_DATA_SAVER":"データ節約","SETTINGS_LANGUAGE_INTERFACE":"インターフェース","SETTINGS_LANGUAGE_SUBS":"デフォルトの字幕","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"オーディオトラックを自動選択する","SETTINGS_DEFAULT_AUDIO_TRACK":"デフォルトのオーディオトラック","SETTINGS_SURROUND_SOUND":"サラウンドサウンド","SETTINGS_ACCOUNT":"アカウント","SETTINGS_PLATFORM":"プラットフォーム","SETTINGS_VERSION":"バージョン","SETTINGS_ABOUT":"情報","SETTINGS_MPV_WINDOW":"プレーヤーを別のウィンドウで起動する(高度)","SETTINGS_PLAY_IN_EXTERNAL":"常に外部プレーヤーでビデオを開始する","SETTINGS_STORAGE_BUTTON":"ローカルストレージをクリアする","SETTINGS_STORAGE_MODAL_TITLE":"本当によろしいですか?","SETTINGS_STORAGE_MODAL_MESSAGE":"これにより、ローカルストレージがクリアされ、ログアウトされます。","SETTINGS_HWDEC_PICKER":"ハードウェアアクセラレーションデコード設定を選択する","SETTINGS_HW_AUTOMATIC":"自動","SETTINGS_HW_DISABLED":"無効","SETTINGS_HW_ACCELERATED":"デコード加速","SETTINGS_HW_FULL":"全加速","SETTINGS_HW_LEGACY":"従来","SETTINGS_DISABLED":"無効","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"ネットワーク接続の通知","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"リモートURL","SETTINGS_COPY_REMOTE_URL":"リモートURLをコピー","SETTINGS_REMOTE_URL_COPIED":"リモートURLがクリップボードにコピーされました","SETTINGS_SECTION_SUBTITLES":"字幕","SETTINGS_SECTION_AUDIO":"オーディオ","SETTINGS_SECTION_CONTROLS":"コントロール","SETTINGS_SECTION_AUTO_PLAY":"自動再生","SETTINGS_SECTION_ADVANCED":"高度","SUBSPICKER_AUDIO":"オーディオ","SUBSPICKER_SUBTITLES":"アドオン字幕","SUBSPICKER_BLACK_BACKGROUND":"黒の背景色を使用","SUBSPICKER_VERTICAL_OFFSET":"垂直オフセット","SUBSPICKER_SIZE":"サイズ","SUBSPICKER_DELAY":"遅延","SUBSPICKER_EMBEDDED_SUBS":"埋め込み字幕","MOBILE_PRIVACY_POLICY":"プライバシーポリシー","MOBILE_CRASH_REPORTING":"クラッシュレポート","MOBILE_ZOOM_TO_FILL":"画面に合わせてズーム","MOBILE_PASSTHROUGH":"デジタルオーディオ出力(パススルー)","MOBILE_RUN_LOW_BATTERY":"バッテリー残量が少ない時に実行","MOBILE_RUN_FOREGROUND":"フォアグラウンドサービスとして実行","MOBILE_PERFORMANCE":"パフォーマンスと安定性","MOBILE_SERVER_ONLINE":"オンライン","MOBILE_SERVER_OFFLINE":"オフライン","MOBILE_QR_EXPIRES":"QRコードの有効期限は ","MOBILE_LOG_INTO":"Stremioアカウントにログイン","MOBILE_SCAN_QR":"上記のQRコードをスキャンするか、 ","MOBILE_LINK_ACCOUNT":"アカウントをリンクする","MOBILE_SPEEDPICKER_CANCEL":"キャンセル","MOBILE_SPEEDPICKER_LABEL":"再生速度を選択する","MOBILE_EMPTY_LIBRARY":"ライブラリは空です","MOBILE_NO_ADDON_ACTIVE":"このタイプのStremioアドオンはアクティブではありません。","MOBILE_ORGANIZER_WARNING":"Stremio Organizerアプリは機能が限定されています。再生可能なストリームのリストと完全なStremio体験については、デスクトップのStremioを使用してください。","MOBILE_ADDON_LOADING":"はまだ読み込み中です","MOBILE_ADDONS_LOADING":"アドオンはまだ読み込み中です","MOBILE_ADDON":"アドオン","MOBILE_CONFIGURE_ADDON":"アドオンを設定する","MOBILE_CONFIGURE_ADDON_LABEL":"アドオンを設定する","MOBILE_ORGANIZER_ADDONS_WARNING":"Stremio Organizerアプリは限定的なアドオンの選択を提供します。完全なStremio体験については、デスクトップのStremioを使用してください。","MOBILE_DISCONNECT":"切断する","MOBILE_LOOKING_FOR_DEVICES":"デバイスを探しています...","MOBILE_CAST_TO":"にキャストする","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"アカウントを削除する","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"法的義務により、アカウントの削除は即時ではありません。アカウントの削除を要求した後、将来新しいStremioアカウントを作成するためには、異なるメールアドレス/ Facebookプロファイルを使用する必要があります。","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"アカウントの削除を確認","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"あなたのアカウントはFacebookを使用して作成されました。アカウントを削除するには、www.stremio.com/loginのユーザーポータルをご利用ください。","MOBILE_DELETE_ACCOUNT_MESSAGE":"アカウントの削除を確認するためにパスワードを入力してください。","MOBILE_DELETE_ACCOUNT_BUTTON":"アカウントを削除する","NAVIGATION_ON":"オン","NAVIGATION_OFF":"オフ","MARKETING_AGREE":"Stremioからのマーケティングコミュニケーションを受け取ることに同意します","QUIT":"終了","CONNECTED":"接続済み","AUTHENTICATE":"認証","CACHING":"キャッシング","SETTINGS_CACHING_DRIVE":"キャッシュドライブ","ENABLE_LOCAL_FILES_ADDON":"ローカルファイルアドオンを有効にする(再起動が必要)","LOCAL_ADDON_NOT_ENABLED":"ローカルアドオンが有効になっていません。ここをクリックして設定に移動し、有効にしてください","ENABLE_REMOTE_HTTPS_CONN":"リモートHTTPS接続を有効化","TORRENT_PROFILE":"Torrentプロファイル","DATA_CACHING":"データキャッシュ","MAGNET_PARSING":"マグネットリンクの解析","January":"1月","February":"2月","March":"3月","April":"4月","May":"5月","June":"6月","July":"7月","August":"8月","September":"9月","October":"10月","November":"11月","December":"12月","Monday":"月曜日","Tuesday":"火曜日","Wednesday":"水曜日","Thursday":"木曜日","Friday":"金曜日","Saturday":"土曜日","Sunday":"日曜日","Action":"アクション","Comedy":"コメディ","War":"戦争","Family":"家族","Animation":"アニメーション","Adventure":"冒険","Fantasy":"ファンタジー","Crime":"犯罪","Mystery":"ミステリー","Romance":"ロマンス","Drama":"ドラマ","Horror":"ホラー","Thriller":"スリラー","Sci-Fi":"SF","Music":"音楽","Biography":"伝記","Documentary":"ドキュメンタリー","Sport":"スポーツ","Musical":"ミュージカル","Western":"西部劇","Film-Noir":"フィルム・ノワール","News":"ニュース","History":"歴史","Game-Show":"ゲームショー","Reality-TV":"リアリティTV","Talk-Show":"トークショー","Film & Entertainment":"映画&エンターテイメント","Gaming":"ゲーム","From TV":"テレビから","Lifestyle":"ライフスタイル","Science & Education":"科学&教育","Cooking & Health":"料理&健康","Beauty & Fashion":"美容&ファッション","Sports":"スポーツ","News & Politics":"ニュース&政治","How-to & DIY":"ハウツー&DIY","Tech":"テクノロジー","Automotive":"自動車","Causes & Non-Profits":"原因&非営利","Movies":"映画","Uk Live Tv":"イギリスのライブテレビ","Fashion":"ファッション","Business News Radio":"ビジネスニュースラジオ","Business Tv":"ビジネステレビ","Cars & Auto":"車&自動車","Comedy Radio":"コメディラジオ","Lifestyle Radio":"ライフスタイルラジオ","News Tv":"ニューステレビ","Food And Wine":"食べ物とワイン","Latino Tv":"ラティーノテレビ","Shopping Tv":"ショッピングテレビ","Religion":"宗教","Kids":"子供","Body & Soul":"ボディ&ソウル","Education":"教育","Indian Tv":"インドのテレビ","Extreme Sports":"エクストリームスポーツ","Middle Eastern Tv":"中東のテレビ","Celebrity Tv":"セレブリティテレビ","Science Tv":"科学テレビ","Bikini babe":"ビキニの女性","Outdoors":"アウトドア","German Tv":"ドイツのテレビ","French Tv":"フランスのテレビ","Italian Tv":"イタリアのテレビ","Gamer Tv":"ゲーマーテレビ","Travel":"旅行","Asian Tv":"アジアのテレビ","Entertainment":"エンターテイメント","News Radio":"ニュースラジオ","Music Radio":"音楽ラジオ","Language Learning":"言語学習","Science Radio":"科学ラジオ","Tech Radio":"テクノロジーラジオ","Science & Technology Vod":"科学と技術のビデオオンデマンド","new video":"新しい動画","new episode":"新しいエピソード","new movie":"新しい映画","recommended":"おすすめ","we recommend":"私たちはおすすめします","offer of the day":"本日のオファー","news":"ニュース","music video":"音楽ビデオ","CTX_SHOW_HOTKEYS":"ホットキーを表示","CTX_DISMISS_NOTIF":"通知を消去","CTX_DISMISS_ALL":"すべて消す","CTX_SHARE":"共有","CTX_COPY_SHARE_LINK":"共有リンクをコピー","CTX_COPY_MAGNET_LINK":"マグネットリンクをコピー","CTX_COPY_STREAM_LINK":"ストリームリンクをコピー","CTX_COPY_VIDEO_DOWNLOAD_LINK":"動画のダウンロードリンクをコピー","CTX_DOWNLOAD_VIDEO":"このビデオをダウンロード","CTX_DOWNLOAD_SUBS":"字幕をダウンロード","CTX_VIEW_ON_YOUTUBE":"YouTubeで見る","CTX_SHOW":"表示","CTX_PLAY":"再生","CTX_PLAY_IN":"で再生","CTX_PLAY_ON":"で再生","CTX_WATCH_ON":"で視聴","CTX_WATCH":"視聴","CTX_WATCHED":"視聴済み","CTX_WATCH_BEGINNING":"最初から視聴","CTX_WATCH_MOBILE":"モバイルデバイスで視聴","CTX_REWIND":"最初に巻き戻す","CTX_MARK_WATCHED":"視聴済みにする","CTX_MARK_NON_WATCHED":"未視聴にする","CTX_MARK_UNWATCHED":"未視聴にする","CTX_MARK_REST":"残りを視聴済みにする","CTX_UNMARK_REST":"残りを未視聴にする","CTX_RECEIVE_NEW_NOTIF":"新しい通知を受け取る","CTX_ENABLE_NEW_NOTIF":"通知を有効にする","CTX_DISABLE_NEW_NOTIF":"通知を無効にする","CTX_REMOVE_CACHE":"キャッシュから削除","CTX_REMOVE_CACHE_EP":"エピソードをキャッシュから削除","CTX_OPEN_CONTAINING":"含むフォルダを開く","CTX_REMOVE":"ライブラリから削除","CTX_AVAILABLE_OFFLINE":"オフラインで利用可能","CTX_PAUSED":"一時停止","CTX_ALWAYS_ON_TOP":"常に最前面","CTX_FULLSCREEN":"全画面","CTX_WRONG_SUBS":"字幕が間違っていますか?","CTX_REPORT_ISSUES":"問題を報告","CTX_COPY":"コピー","CTX_PASTE":"貼り付け","CTX_CLEAR":"クリア","CTX_CLEAR_RECENT_SEARCHES":"最近の検索をクリア","HELLO_THERE":"こんにちは","HOPE_YOU_ENJOY":"Stremioを楽しんでいただけて、すでにお気に入りのアプリの一つになっていることを願っています!","WHO_ARE_WE":"私たちは誰でしょうか?私たちはそれを背後に持つチームです - 過去3年間、毎日一生懸命働いて、この製品をより良くするために。","SUPPORT_US":"Stremioを楽しんでいるなら、Stremioがあなたにとって価値があるなら - 広めてください!","SPREAD_THE_WORD":"今すぐ友達と共有し、Stremioについて広めてください","MORE_PEOPLE":"Stremioを使う人が増えれば増えるほど、それはより良くなります!","SEND_A_LINK":"または、私たちのウェブサイトへのリンクを送信します","TIP_LOCALFILES":"ヒント: ローカルのビデオファイルをStremioにドラッグ&ドロップできます","ADDON_MY":"自分のアドオン","ADDON_COMMUNITY":"コミュニティアドオン","ADDON_OFFICIAL":"公式アドオン","ADDON_REPOS":"アドオンコレクション","ADDON_SEARCH":"アドオンを検索","ADDON_INSTALL":"インストール","ADDON_CONFIGURE":"設定","ADDON_UNINSTALL":"アンインストール","ADDON_UPGRADE":"更新","ADDON_INSTALLED":"インストール済み","ADDON_INSTALLED_MSG":"アドオンがインストールされました!","ADDON_UPGRADED_MSG":"アドオンが更新されました!","ADDON_UNKNOWN":"不明","ADDON_ERR":"アドオンのインストールエラー!","ADDON_DISCONNECTED":"切断されました","ADDON_APP_MISSING":"このソースのアプリがインストールされていません。今すぐインストールしますか?","ADDON_APP_INSTALL":"今すぐインストール","ADDON_PAGE":"アドオンページ","ADDON_TOP_CONTENT":"このアドオンからのベスト","ADDON_PROVIDES":"このアドオンはあなたに以下を提供します:","ADDON_WATCH":"#{types}を今すぐ視聴!","ADDON_WATCH_FREE":"#{types}を今すぐ無料で視聴!","ADDON_ADDON":"アドオン","ADDON_SUPPORTED_TYPES":"サポートされているタイプ","ADDON_SUPPORTED_CATALOGS":"サポートされているカタログ","ADDON_PROVIDES_DISCOVER":"Discoverでさらに#{types}を探す","ADDON_PROVIDES_STREAMS":"#{types}を視聴","ADDON_PROVIDES_STREAMS_FREE":"#{types}を無料で視聴","ADDON_PROVIDES_SUBTITLES":"#{types}の字幕","ADDON_CANTDETECT":"Stremioが実行中であることを検出できなかったため、インストールされているアドオンを検出できませんでした。","ERR_NO_META":"この情報が見つかりません ","ERR_GETTING_META":"この情報の取得中にエラーが発生しました。","ERR_CANT_PARSE_MAGNET":"マグネットを解析できません","ERR_NO_MAGNET_INFOHASH":"マグネットの有効な情報ハッシュがありません","ERR_NO_FILE_PATH":"ファイルへのパスがないため、リクエストを送信できません","ERR_NO_TORRENT":"トレントが返されません","ERR_NO_SUPPORTERD_FILES":"サポートされているファイルが見つかりません","ERR_OPENING_FILES":"外部ファイルを開くことができません","ERR_INVALID_LINK":"無効なリンク","ERR_REGISTERED_ONLY":"このオプションは登録ユーザーのみ利用可能です。","ERR_CLIPBOARD":"クリップボードから再生できません","ERR_CLIPBOARD_READ":"このプラットフォームではクリップボードを読み取ることができません","ERR_CLIPBOARD_GENERIC":"クリップボードに再生可能なURLが見つかりません。ビデオへのURL(例えば、マグネットリンク)をコピーしてください。","BOARD_CONTINUE_WATCHING":"視聴を続ける","BOARD_EXPLANATION_RECOMMENDATIONS":"あなたのために特別に選ばれた映画。<br />この映画はサンプルの推奨です。","BOARD_EXPLANATION_EPISODES":"お気に入りのシリーズの新エピソードはここに来ます。<br />ライブラリにフォローしているシリーズを追加してください。","BOARD_EXPLANATION_VIDEOS":"お気に入りのチャンネルの新エピソードはここに来ます。<br />ライブラリにフォローしているYouTubeチャンネルを追加してください。","WEBSITE_ENJOYED_BY":"世界中の3000万人以上のユーザーに楽しまれています","WEBSITE_STREAMING_ENHANCED":"ストリーミングが強化されました","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremioは安全でモダンでシームレスなエンターテイメント体験を提供します。使いやすいインターフェースと多様なコンテンツライブラリ、4K HDRサポートを含む、ユーザーはお気に入りの映画やテレビ番組をすべてのデバイスで楽しむことができます。そして、セキュリティへのコミットメントにより、Stremioは安心して高品質なストリーミング体験を選ぶための究極の選択肢です。","WEBSITE_AVAILABLE_ON":"利用可能なプラットフォーム","WEBSITE_WATCH_AND_ENJOY":"視聴して楽しむ。","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremioはそれを簡単にします","WEBSITE_ALL_FEATURES":"すべての機能","WEBSITE_EASY_TO_USE":"使いやすい","WEBSITE_EASY_TO_USE_DETAILS":"Stremioはユーザーフレンドリーで使いやすいように設計されています。クリーンで直感的なインターフェースで、簡単にナビゲートして視聴したいコンテンツを見つけることができます。","WEBSITE_SEAMLESS_ACROSS_DEVICES":"デバイス間でシームレス","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"幅広いプラットフォーム(Windows、Mac、Linux、Androidなどを含む)で利用可能なStremioは、すべてのデバイスの進行状況を追跡します。新しいデバイスごとにアプリを再設定することなく、ログインして視聴を続けることができます。","WEBSITE_ALL_DOWNLOADS":"すべてのダウンロード","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"高解像度動画をサポート","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"ほとんどのビデオフォーマットをサポートする統合ビデオプレーヤーは、4K HDRコンテンツを含む、最高品質のビデオを楽しむことができます。","WEBSITE_DIVERSE_CONTENT_LIBRARY":"多様なコンテンツライブラリ","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremioは、Netflix、Amazon Prime Video、Hulu、YouTubeなど、多数の人気ビデオソースと統合しています。","WEBSITE_CREATE_A_FREE_ACCOUNT":"無料アカウントを作成","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"視聴体験のカスタマイズ","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremioでは、テーマの変更、アドオンの追加や削除などにより、インターフェースの見た目と感じをカスタマイズできます。","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"多言語字幕サポート","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"Stremioはすべての言語の字幕をサポートしているため、お気に入りのコンテンツを選択した言語で楽しむことができます。","WEBSITE_ALL_STREMIO_FEATURES":"Stremioのすべての機能","WEBSITE_TRY_STREMIO_TITLE_P1":"Stremioを試す","WEBSITE_TRY_STREMIO_TITLE_P2":"今すぐあなたのテレビで","WEBSITE_YOU_CAN_NOW_WATCH":"Android TVデバイスでお気に入りのテレビ番組をすぐに視聴できます。Stremio TVアプリを使えば、映画の夜を簡単に楽しむことができます。","WEBSITE_YOU_CAN_NOW_WATCH_2":"Smart TVまたはAndroid TVでお気に入りのテレビ番組をすぐに視聴できます。Stremio TVアプリを使えば、映画の夜を簡単に楽しむことができます。","WEBSITE_STREMIO_FOR_SMART_TV":"Smart TV用Stremio","WEBSITE_PLAY_STORE_REVIEW":"おそらく、デバイスに持っておく最も便利で有用なアプリの一つです。これは、私が特にAndroid TVで何年もの間毎日使用しているアプリの一つです。強力なコミュニティが有用な機能を提供するよく作られたアプリです。よくやった。良い仕事を続けてください。","WEBSITE_REVIEWS":"レビュー","WEBSITE_GET_STREMIO_FOR_FREE":"無料でStremioを入手","WEBSITE_GET_STREMIO_NOW":"今すぐStremioを入手","WEBSITE_STREMIO_FEATURES":"Stremioの機能","WEBSITE_STREMIO_FEATURES_DETAILS":"Stremioの高度な機能を使ってプロのようにストリームし、お気に入りのメディアへのシームレスなアクセスを楽しむ","WEBSITE_DISCOVER_MORE":"もっと発見する。","WEBSITE_DISCOVER_MORE_DETAILS":"観るものが尽きることはありません","WEBSITE_COMMUNITY_DRIVEN":"コミュニティ主導","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremioには、アドオンの作成や共有によりソフトウェアの開発に貢献する大規模で活動的なユーザーコミュニティがあります。","WEBSITE_GET_INVOLVED":"参加する","WEBSITE_NEW_THEATER_EXPERIENCE":"新しい劇場体験","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremioの新しい専用TVアプリを使えば、Android TVデバイスで映画の夜を楽しむことができます。","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremioの新しい専用TVアプリを使えば、Smart TVまたはAndroid TVデバイスで映画の夜を楽しむことができます。","WEBSITE_FREE_AND_SECURE":"無料&安全","WEBSITE_STREAMING":"ストリーミング","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremioはユーザーに比類のないセキュリティとプライバシーを提供します。アドオンをリモートで実行するという独自の機能により、Stremioは他のプラットフォームと比較してお気に入りのコンテンツをストリームするより安全な方法を提供します。あなたのセキュリティとプライバシーは最優先事項であり、プラットフォームはすべてのデータが保護されていることを保証します。","WEBSITE_FREE_AND_SECURE_DETAILS_2":"セキュリティとプライバシーに関する心配をさようならして、Stremioで終わりのないエンターテイメントの世界をこんにちはしましょう。","WEBSITE_INFORMATION_PROVIDED_BY":"情報提供者","WEBSITE_CONTRIBUTE":"貢献","WEBSITE_CONTRIBUTE_DESC":"プロジェクトに貢献して、Stremioをさらに良くするのを手伝ってください","WEBSITE_COMMUNITY_DESC":"本当に素晴らしいストリーミング体験を作り出す最善の方法は、コミュニティをプロセスに巻き込むことだと私たちは信じています。プログラマーであろうとアーティストであろうとただのファンであろうと、あなたはStremioの成長を助けることができます。","WEBSITE_COMMUNITY_DESC_2":"だから今日私たちに参加し、Stremioコミュニティの一部になり、ストリーミングの未来を形成し続けましょう。","WEBSITE_WAYS_TO_GET_INVOLVED":"参加する方法","WEBSITE_IN_THE_STREMIO_COMMUNITY":"Stremioコミュニティ内で","WEBSITE_SHARE_YOUR_THOUGHTS":"あなたの考えを共有する","WEBSITE_REPORT_BUGS":"バグを報告する","WEBSITE_SUGGEST_FEATURES":"機能を提案する","WEBSITE_AND_PROVIDE_FEEDBACK":"そして、私たちのソーシャルメディアチャンネルでフィードバックを提供する。","WEBSITE_BETA_TESTING_PROGRAM":"ベータテストプログラム","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Stremioコミュニティで私たちのベータテストプログラムに参加する(定期的に招待を送っています)。","WEBSITE_JOIN_NOW":"今すぐ参加!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"公式Stremioコミュニティ","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"非公式Stremioコミュニティ","WEBSITE_BECOME":"なる","WEBSITE_A_VOLUNTEER_TRANSLATOR":"ボランティアの翻訳者","WEBSITE_ARE_YOU_A_DEVELOPER":"あなたは開発者ですか?","WEBSITE_CONTRIBUTE_CODE":"私たちのオープンソースプロジェクトにコードを寄稿することができます。私たちはGitHub上にいくつかのプロジェクトを持っており、それらは寄稿者を探しています。手伝いに興味がある場合は、それらをチェックしてみてください:","WEBSITE_STREMIO_ON_GITHUB":"GitHub上のStremio","WEBSITE_CREATE_ADDON_DESC":"Stremioの機能を強化するアドオンを作成(私たちは使いやすいAPIを持っています): ","WEBSITE_STREMIO_ADDON_SDK":"StremioアドオンSDK","WEBSITE_INTERN_DEVELOPER":"私たちはまた、インターン開発者として私たちに参加する機会を提供していますので、一緒に成長することができます。","WEBSITE_APPLY_AS_AN_INTERN":"インターンとして申し込む","WEBSITE_CALLING_ALL_ARTISTS":"全てのアーティストに呼びかけます!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"あなたのファンアートを私たちのオンラインギャラリーにアップロードして、Stremioへのあなたの創造性と愛を披露してください。それが絵、絵画、またはデジタルデザインであろうと、私たちはあなたがStremioブランドに対して持つユニークな見方を見たいと思っています。私たちのアート愛好家のコミュニティに参加し、あなたの作品を世界中のStremioファンと共有してください。","WEBSITE_STREMIO_FANART_GALLERY":"Stremioファンアートギャラリー","WEBSITE_INTERN_DESIGNER":"私たちのチームの一部になり、エキサイティングなインターンシップの機会であなたの創造性を新たな高みに引き上げてください。","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"パブリックドメイン映画プロジェクト","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"Stremioでは、パブリックドメインと孤児ビデオを特定することにより、映画とテレビの歴史を保存することに専念しています。コミュニティと協力して、これらの古典的な芸術作品がすべての人々にアクセス可能であり、未来の世代が楽しむために保護されていることを確認することができます。","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"そのプロジェクトに関与したいと思うなら、お気軽にお問い合わせください。","WEBSITE_JOIN_THE_PROJECT":"プロジェクトに参加する","WEBSITE_BE_PART_OF_OUR_MISSION":"私たちの使命の一部になる","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Stremioチームに参加することに興味がありますか?私たちは、情熱的なプロフェッショナルのための完全なリモートワークを提供します。私たちのオープンポジションをチェックしてみてください。","WEBSITE_OPEN_POSITIONS":"募集中のポジション","WEBSITE_DESCRIPTION":"説明","WEBSITE_LEARN_MORE":"もっと詳しく","WEBSITE_COMPANY":"会社","WEBSITE_CONTACTS":"連絡先","WEBSITE_NEED_HELP":"お困りですか?","WEBSITE_STREMIO_WEB_ON_IOS":"iOS上のStremio Webのガイド","WEBSITE_LINK_ART_V2":"ファンアートギャラリー","WEBSITE_PARTNERS":"パートナー","WEBSITE_SLOGAN_WATCH":"すぐに視聴","WEBSITE_SLOGAN_ALL":"あなたが楽しむすべてのビデオコンテンツが一つの場所に","WEBSITE_SLOGAN_NEW":"あなたが観ることができるすべて","WEBSITE_SLOGAN_NEW_NEW":"ストリームの自由","WEBSITE_WATCH_FROM":"から視聴","WEBSITE_DOWNLOAD":"今すぐダウンロード","WEBSITE_DOWNLOAD_FOR":"今すぐダウンロード","WEBSITE_IS_DESKTOP":"Stremioはデスクトップアプリケーションで、このページをPCで開いてダウンロードしてください","WEBSITE_DESKTOP_DEMO_VID":"デスクトップデモ","WEBSITE_PAGE_HOME":"ホーム","WEBSITE_PAGE_FEATURES":"機能","WEBSITE_PAGE_ADDONS":"アドオン","WEBSITE_PAGE_TECH":"テクノロジー","WEBSITE_PAGE_CREATE_ADDON":"アドオンを作成","WEBSITE_PAGE_CONTACTS":"連絡先","WEBSITE_PAGE_BLOG":"ブログ","WEBSITE_RESET_PASSWORD_MESSAGE":"新しいパスワードを以下に入力してください。","WEBSITE_RESET_PASSWORD_WARNING":"${1}のパスワードをリセットしてもよろしいですか?","WEBSITE_TYPE_movie":"映画","WEBSITE_TYPE_series_PL":"シリーズ","WEBSITE_TYPE_tv":"ライブTV","WEBSITE_TYPE_channel":"チャンネル","WEBSITE_STREMIO_WHAT_IS":"Stremioは、お気に入りのビデオ、映画、テレビシリーズ、テレビチャンネルを整理し、すぐに視聴するのに役立つアプリです。","WEBSITE_FEATURES_WATCH":"HDで即時視聴","WEBSITE_FEATURES_WATCH_DETAIL":"お気に入りの映画、テレビ番組、ビデオ、テレビチャンネルをクリックして再生します。","WEBSITE_FEATURES_SUBS":"自動字幕","WEBSITE_FEATURES_SUBS_DETAIL":"Stremioは自動的にあなたの言語に合わせた字幕を選択します。","WEBSITE_FEATURES_SUBS_LABEL":"あなたの番です、チーフ。","WEBSITE_FEATURES_CAST":"TV&モバイルデバイスで再生","WEBSITE_FEATURES_CAST_DETAIL":"AppleTV、Chromecast、Smart TV(DLNA/UPnP)およびモバイルデバイスにキャストします。","WEBSITE_LIB":"すべてのデバイスで同期された個人のライブラリを楽しむ","WEBSITE_LIB_COLLECT":"Stremioから収集","WEBSITE_LIB_IMPORT":"Facebookからインポート","WEBSITE_LIB_LOCAL":"ローカルドライブから追加","WEBSITE_BOARD":"ボード - 通知と推奨のためのワンストップの場所","WEBSITE_BOARD_RECOMMEND":"推奨されるテレビ番組","WEBSITE_BOARD_TRENDING":"トレンドの映画","WEBSITE_BOARD_NEW":"新しいビデオ","WEBSITE_BOARD_EPISODE":"新しいエピソード","WEBSITE_BOARD_1":"何か面白いものを観るためのものを探していますか?あなたの好みに基づいて推奨を得ます!","WEBSITE_BOARD_2":"お気に入りのテレビ番組やYouTubeチャンネルの新しいエピソードが出たときに通知を受け取ります!","WEBSITE_BOARD_YOUTUBE":"YouTubeチャンネルの新しい動画","WEBSITE_BOARD_EPISODES":"フォローしているシリーズの新エピソード","WEBSITE_ADDONS":"コンテンツアドオン","WEBSITE_TECH_DETAIL":"私たちはテクノロジーが大好き、マッドサイエンスが大好き!\\nStremioは以下のオープンソース技術を使用しています:","WEBSITE_TECH_WCJS":"WebChimera.jsは、Stremioがあらゆるビデオ形式を高性能で再生できるようにします。","WEBSITE_TECH_WCJS_EXTRA":"私たちはコアプロジェクトの貢献者です","WEBSITE_TECH_ELECTRON":"Electronは、Stremioを構築するための革新的なプラットフォームを提供します。","WEBSITE_TECH_ELECTRON_EXTRA":"私たちはプロジェクトの貢献者です","WEBSITE_TECH_LINVODB":"あなたのデータが整理され、どこでもログインできるようにするデータベース技術。","WEBSITE_TECH_LINVODB_EXTRA":"自社技術","WEBSITE_CREATE_ADDON":"あなたのアドオンを作成する","WEBSITE_CREATE_ADDON_DETAIL":"ビデオコンテンツを提供するサービスを持っていますか? Stremioの機能を活用して、あなたのアドオンを作成するのをお手伝いします。","WEBSITE_CREATE_ADDON_BENEFITS":"Stremioのアドオンを作成する利点","WEBSITE_P2P_BEAUTY":"ピアツーピアストリーミングの美しさ","WEBSITE_P2P_1":"信頼性と手頃な価格のフルHD / 4Kビデオオンデマンドまたはライブストリーミング","WEBSITE_P2P_2":"優れたユーザーエクスペリエンスを提供する配信プラットフォーム","WEBSITE_P2P_3":"あなたのニーズに合ったアドオンを作成します","WEBSITE_P2P_CONTACT":"興味がありますか? <a href=\'mailto:office@stremio.com\'>お問い合わせ</a>していただければ幸いです。","WEBSITE_P2P_CONTACT_EXTRA":"Stremioとあなたのコンテンツを統合するのをお手伝いします!","WEBSITE_P2P":"時々、ゲームの名前を変える技術が登場します。私たちは、あらゆるユースケースに適応する素晴らしいパフォーマンスと多様性を提供するピアツーピア(P2P)ビデオストリーミングエンジンの構築に多くの時間と労力を投資しました。\\nDRM対応のP2Pビデオオンデマンドまたはライブストリーミングについてお問い合わせください。","WEBSITE_THOUGHTS":"私たちが共有する考え:","WEBSITE_SPREAD":"Stremioについて広める:","WEBSITE_CONTACT":"お問い合わせください、あなたからの声をお待ちしています!","WEBSITE_OPENSOURCE":"私たちのオープンソースプロジェクトについては、こちらをご覧ください","WEBSITE_BITCOIN":"ビットコインを寄付する:","WEBSITE_FAQ":"よくある質問","WEBSITE_FAQ_SHORT":"FAQ(よくある質問)","WEBSITE_QUESTIONS":"質問","WEBSITE_TOS":"利用規約","WEBSITE_LEGAL":"法的","WEBSITE_PAGE_ABOUT":"紹介","WEBSITE_PAGE_BECOME_PARTNER":"パートナーになる","WEBSITE_ALL_YOU_CAN_WATCH":"見たいものは何でも\\n自由に見る。","WEBSITE_FREEDOM_TO_STREAM":"ストリームの自由","WEBSITE_WHAT_IS_STREMIO":"Stremioとは何ですか?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremioは、ビデオコンテンツの集約のためのワンストップハブです。あらゆる種類のソースからビデオを発見、整理、視聴できます。","WEBSITE_WHAT_IS_STREMIO_P2":"映画、テレビ番組、シリーズ、ライブテレビ、またはYouTubeやTwitch.tvのようなウェブチャンネル - これらすべてがStremioで見つけることができます。","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremioは、ビデオエンターテイメントのためのワンストップソリューションである現代のメディアセンターです。簡単にインストールできるアドオンからビデオコンテンツを発見、視聴、整理できます。","WEBSITE_WHAT_IS_STREMIO_P2_V2":"映画、テレビ番組、ライブテレビ、ウェブチャンネル - これらすべてがStremioで見つけることができます。","WEBSITE_ENJOI_ON_ALL_DEVICES":"すべてのメディアデバイスで楽しむ","WEBSITE_DEVICES_COLLECT":"Stremioから収集","WEBSITE_DEVICES_IMPORT_FB":"Facebookからインポート","WEBSITE_DEVICES_LOCAL":"ローカルドライブから追加","WEBSITE_JOIN_THE_PARTY_NOW":"今すぐパーティーに参加","WEBSITE_DEVICES_ALL":"すべてのデバイスで使いやすい;","WEBSITE_EXTENDABLE_CATALOG":"無限に拡張可能なビデオカタログ;","WEBSITE_ORGANIZE_YOUR_MEDIA":"メディアを整理する素晴らしい機能;","WEBSITE_AS_SEEN_ON":"以下で紹介されました:","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"私たちについて","WEBSITE_LINK_TECHNOLOGY":"技術","WEBSITE_LINK_APPS":"アプリ","WEBSITE_LINK_DOWNLOADS":"ダウンロード","WEBSITE_MORE":"もっと","WEBSITE_LINK_ADDONS":"アドオン","WEBSITE_LINK_ADDON_SDK":"アドオン SDK","WEBSITE_LINK_CONTRIBUTE":"貢献する","WEBSITE_LINK_COMMUNITY":"コミュニティ","WEBSITE_LINK_BLOG":"ブログ","WEBSITE_MORE_MORE":"... その他","WEBSITE_LINK_HELP":"ヘルプセンター","WEBSITE_LINK_CONTACTS":"ビジネスお問い合わせ","WEBSITE_LINK_TOS":"利用規約","WEBSITE_LINK_PRAVACY":"プライバシーポリシー","WEBSITE_SUBSCRIBE":"購読する","WEBSITE_NEWSLETTER":"素晴らしい情報を提供するニュースレターに参加する","WEBSITE_PLACEHOLDER_EMAIL":"あなたのメール","WEBSITE_COMMUNITY":"コミュニティ","WEBSITE_LINK_PRAVACY_LEGAL":"プライバシーと法的","WEBSITE_WHY":"なぜ私たちはそれをするのか","WEBSITE_WHY_P1":"Stremioでは、毎日仕事に来て、ビデオオンデマンド業界の重要な問題を解決したいと思っています。毎分新しいコンテンツが公開されているため、それを見つけるのはほとんど不可能です。","WEBSITE_WHY_P2":"私たちは、人々がビデオエンターテイメントの大きな世界をナビゲートし、新しいコンテンツを楽しむことを助けます。私たちのアプリは映画、シリーズ、ライブTV、ウェブチャンネルなどを一緒に持ってきます。私たちは、ユーザーが好きなタイトルや放送局を見つけるのを非常に簡単にすることに専念しています。","WEBSITE_WHY_P3":"私たちのサービスは、どのデバイスでも、いつでも利用できるため、Stremioは唯一のビデオエンターテイメントハブになります。","WEBSITE_TEAM":"チーム","WEBSITE_TEAM_P":"Stremioのチームは小さくてパワフルです:私たち10人の間で、X言語でコードを書き、ソフトウェア開発、UIとUXデザイン、マーケティングと広告、ビジネスとスタートアップの専門知識を共有します。","WEBSITE_FEATURES":"特徴","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"新しいコンテンツを簡単に発見","WEBSITE_FEATURES_DISCOVER_P":"新しい映画、テレビ番組、シリーズ、チャンネルを簡単に見つけて視聴します。カテゴリ、ジャンル、評価、最近のものなどでブラウズするか、名前を入力して探します。Stremioは新しいビデオコンテンツを見つけるのが簡単です。","WEBSITE_FEATURES_ALL_CONTENT":"すべてのビデオコンテンツを一つの画面で","WEBSITE_FEATURES_ALL_CONTENT_P1":"未完の映画、シリーズ、ビデオを確認し、視聴を続けます。新エピソードやリリースの通知を受け取り、視聴習慣に基づいた推奨をブラウズします。","WEBSITE_FEATURES_LIBRARY":"ビデオライブラリを整理する","WEBSITE_FEATURES_LIBRARY_P1":"任意のタイトルを一回のクリックでStremioライブラリに追加し、タイプ、最近のもの、またはアルファベット順に整然と並べられたコンテンツを見つけます。","WEBSITE_FEATURES_CALENDAR":"視聴するすべてを追跡する","WEBSITE_FEATURES_CALENDAR_P1":"ライブラリに追加したすべての映画とシリーズのカレンダー表示を取得します。Stremioカレンダーをエクスポートして同期し、新エピソードやプレミアがいつ予定されているかを常に把握します。","WEBSITE_FEATURES_BIG_SCREEN":"大画面でビデオコンテンツを楽しむ","WEBSITE_FEATURES_BIG_SCREEN_P1":"視聴中のものを他のデバイス(電話、タブレット、TVなど)にキャストします。","WEBSITE_FEATURES_SOURCES":"さまざまなソースからビデオを視聴する","WEBSITE_FEATURES_SOURCES_P":"公式およびコミュニティのアドオンをインストールして、さまざまなプロバイダからのビデオを楽しむことができます。これらはすべて、洗練された使いやすいアプリで利用できます。","WEBSITE_CREATE_AN_ADDON":"アドオンを作成する","WEBSITE_FEATURES_SYNC":"ライブラリを異なるデバイス間で同期し、再生を再開する","WEBSITE_FEATURES_SYNC_P1":"すべてのデバイスでアカウントにログインし、ライブラリ、アドオン、再生、カレンダーを同期して楽しみます。","WEBSITE_FEATURES_EXTENDABLE":"アドオンによる拡張可能なビデオカタログ","WEBSITE_FEATURES_EXTENDABLE_P1":"Stremioのアドオンカタログは、インストールしてさまざまなビデオコンテンツを視聴するための多数のアドオンを提供します。これには、映画、番組、ライブTV、スポーツ、ニュース、ポッドキャスト、ウェブチャンネル、ビデオゲームなどが含まれます。","WEBSITE_FEATURES_AUTO_SUBS":"自動字幕","WEBSITE_FEATURES_AUTO_SUBS_P1":"字幕アドオンを使用すると、選択した言語のオプションが自動的に選択されます。","WEBSITE_FEATURES_CHROMECAST":"Chromecastへのキャスト","WEBSITE_FEATURES_CHROMECAST_P1":"ビデオコンテンツを大画面で楽しむか、視聴中のものを他のデバイスにキャストします。","WEBSITE_FEATURES_KEEP_TRACK":"お気に入りのテレビ番組とウェブチャンネルを追跡する","WEBSITE_FEATURES_KEEP_TRACK_P1":"お気に入りのシリーズとウェブチャンネルの新エピソードのカレンダー表示と通知を取得します。","WEBSITE_FEATURES_POWER_USER":"パワーユーザー機能","WEBSITE_FEATURES_POWER_USER_P1":"外部プレーヤーで再生","WEBSITE_FEATURES_POWER_USER_P2":"トレントファイルまたはマグネットリンクから再生","WEBSITE_FEATURES_POWER_USER_P3":"Facebookの「いいね」やローカルディスクからライブラリにインポート","WEBSITE_ADD_ONS":"アドオン","WEBSITE_ADD_ONS_P1":"Stremioが提供するすべてのビデオコンテンツは、アドオンシステムを通じて供給されます。コンテンツやコンテンツプロバイダはアプリに組み込まれていません。","WEBSITE_ADD_ONS_P2":"利用可能なアドオンは2つのグループに分かれています:公式とコミュニティのアドオン。","WEBSITE_ADD_ONS_P3":"公式のものはStremioが開発・ホスティングし、コミュニティのアドオンはコミュニティのメンバーが作成・ホスティングします。","WEBSITE_ADDONS_OFFICIAL":"公式アドオン","WEBSITE_ADDONS_WATCHUB":"iTunes、Hulu、Amazonなどのプロバイダからお気に入りの映画、シリーズ、番組をストリームします。","WEBSITE_ADDONS_YOUTUBE":"お気に入りのYouTubeチャンネルを広告なしで視聴し、フォローしている投稿者の新しいアップロードの通知を受け取ります。","WEBSITE_ADDONS_FILMON":"無料でライブTV、映画、ソーシャルテレビを視聴。600のTVチャンネル、45,000の無料映画、ドキュメンタリーなど。","WEBSITE_ADDONS_OPENSUBTITLES":"映画やテレビの字幕を複数の言語で、毎日何千もの翻訳字幕がアップロードされます。","WEBSITE_ADDONS_COMMUNITY":"コミュニティアドオン","WEBSITE_ADDONS_FILMON_VOD":"Filmon.tvからビデオオンデマンドを視聴","WEBSITE_ADDONS_TWICH":"Twitch.tvからライブストリームを視聴 - eスポーツ業界向けのビデオストリーミングプラットフォーム。","WEBSITE_ADDONS_VODO":"インディー映画を完全に無料で視聴。","WEBSITE_ADDONS_NETFLIX":"Netflixの映画とウェブシリーズを視聴。","WEBSITE_ADDONS_CREATE":"アドオンを作成する","WEBSITE_ADDONS_CREATE_P1":"ご希望であれば、自分自身のアドオンを開発することができます。これにより、自分自身とコミュニティに新しいビデオコンテンツへのアクセスを提供し、世界中の何百万人もの新しいターゲットオーディエンスに到達することができます。","WEBSITE_ADDONS_START_CREATE":"始めるには、Stremio Addon SDKページを訪れてください:","WEBSITE_DOWNLOADS":"ダウンロード","WEBSITE_DOWNLOADS_P1":"最適なパフォーマンスを得るために、Stremioアプリの最新の利用可能なバージョンを使用することをお勧めします。ただし、何らかの理由で古いバージョンを使用したい場合は、ここからダウンロードできます。","WEBSITE_DOWNLOADS_P1_SHORT":"最適なパフォーマンスを得るために、Stremioアプリの最新の利用可能なバージョンを使用することをお勧めします。","WEBSITE_DOWNLOADS_FOR_WIN":"Windows用Stremio","WEBSITE_DOWNLOADS_FOR_MAC":"macOS用Stremio","WEBSITE_DOWNLOADS_FOR_LINUX":"Linux用Stremio","WEBSITE_DOWNLOADS_FOR_ANDROID":"Android用Stremio","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Android TV用Stremio","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Android Mobile用Stremio","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Steam Deck用Stremio","WEBSITE_DOWNLOADS_FOR_IOS":"iOS用Stremio(限定版)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Samsung TV用Stremio","WEBSITE_DOWNLOADS_FOR_LG_TV":"LG TV用Stremio","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Sony TV用Stremio(Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Philips TV用Stremio(Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Oculus Quest用Stremio","WEBSITE_DOWNLOADS_FOR_META_QUEST":"メタクエスト用のStremio","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Vision Pro用のStremio","WEBSITE_DOWNLOADS_FOR_XBOX":"Xbox用Stremio","WEBSITE_DOWNLOADS_FOR_RPI":"Raspberry Pi用Stremio","WEBSITE_DOWNLOADS_FOR_BROWSER":"ブラウザ用Stremio","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"2019年以降のSamsung TVモデルのApp StoreでStremioを検索","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"2020年以降のLG TVモデルのApp StoreでStremioを検索","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Androidを実行しているSony TVでPlayストアアプリでStremioを検索","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Androidを実行しているPhilips TVでPlayストアアプリでStremioを検索","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"XboxデバイスのApp StoreでStremioを検索","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"RPIのStremio OS用ガイド","WEBSITE_LINK_GUIDE":"ガイド","WEBSITE_DOWNLOAD_SERVICE":"Stremio Serviceをダウンロード","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio ServiceはStremio Webのコンパニオンアプリです。Stremio Serviceの最新の利用可能なバージョンを使用することをお勧めします。","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Windows用Stremio Service","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"macOS用Stremio Service","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Linux用Stremio Service","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Docker用Stremio Service","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Docker用Stremio","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"その他のダウンロードオプション","WEBSITE_DOWNLOAD_NEW":"新着!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"Stremio Webをリリースしました","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"Samsung TV用Stremioをリリースしました","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"LG TV用Stremioをリリースしました","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"Xbox用Stremioをリリースしました","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"Raspberry Pi用Stremioをリリースしました","WEBSITE_CONTRIBUTE_P1":"Stremioプラットフォームはオープンソースで、現在供給されていないコンテンツのためのアドオンを簡単に作成することができます。","WEBSITE_CONTRIBUTE_WHY":"なぜアドオンを作成するべきなのか?","WEBSITE_CONTRIBUTE_WHY_P1":"ビデオコンテンツの新しい視聴者を獲得する","WEBSITE_CONTRIBUTE_WHY_P2":"Stremioのユーザーベースは急速に成長しています - ローンチから1年以内に、Stremioは世界中で100万人のユーザーを獲得し、プラットフォームが存在する2年目にはこの数は250万人に増えました。","WEBSITE_CONTRIBUTE_WHY_P3":"あなたのアドオンを使えば、この視聴者に簡単に到達し、ビデオコンテンツを配信することができます。","WEBSITE_CONTRIBUTE_ALL":"お気に入りの映画、ビデオ、シリーズ、チャンネルを一つの場所で視聴します。","WEBSITE_CONTRIBUTE_ALL_P1":"まだStremioで利用できない特定のタイプのコンテンツのファンですか?それのためのアドオンを作成し、市場で最大かつ最も使いやすいエンターテイメントハブの一つでお気に入りのビデオを視聴しましょう。","WEBSITE_CONTRIBUTE_ALL_P2":"その上で、同じように考えるStremioコミュニティのメンバーから終わりのない感謝を得ることができます。","WEBSITE_CONTRIBUTE_MONETIZE":"あなたのアドオンを収益化し、その助けを借りてお金を稼ぎましょう","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Stremioの新しいアドオンを開発すると、さまざまな方法で簡単に収益化することができます。これを検討している場合は、お気軽にお問い合わせください:","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - アドオンの収益化オプションについての相談やアドバイスを喜んで行います。","WEBSITE_CONTRIBUTE_TRANSLATE":"ボランティアの翻訳者になる","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Stremioのアプリをさまざまな言語で楽しみたい場合は、ボランティアの翻訳者のコミュニティに参加できます。彼らは私たちがStremioを多くの異なる言語に追加するのを助けてくれます。","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"始めるのが待ちきれませんか?","WEBSITE_TRANSALTE_STREMIO":"Stremioを翻訳する","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"公式コミュニティ","WEBSITE_COMMUNITY_OFFICIALS_P1":"成長するStremioコミュニティの一部になりましょう。ソーシャルメディアで私たちをフォローし、こんにちはと言うのをためらわないでください - 私たちはファンからの声を聞くのが大好きです!","WEBSITE_COMMUNITY_UNOFFICIALS":"非公式コミュニティ","STREMIO_COMMUNITY_NL":"Stremioオランダ","STREMIO_COMMUNITY_BRASIL":"Stremioブラジル","STREMIO_COMMUNITY_GERMANY":"Stremioドイツ","STREMIO_COMMUNITY_BELGIUM":"Stremioベルギー","STREMIO_COMMUNITY_FRANCE":"Stremioフランス","STREMIO_COMMUNITY_PORTUGAL":"Stremioポルトガル","STREMIO_COMMUNITY_ITALY":"Stremioイタリア","STREMIO_COMMUNITY_UK":"Stremio英国","STREMIO_COMMUNITY_USA":"Stremioアメリカ","STREMIO_COMMUNITY_MEXICO":"Stremioメキシコ","STREMIO_COMMUNITY_ADDONS":"Stremioアドオン","STREMIO_COMMUNITY_AWESOME":"素晴らしいStremio","WEBSITE_COMMUNITY_PARTNERS":"パートナーとサポーター","WEBSITE_COMMUNITY_GOODIES":"Stremioのグッズ","WEBSITE_COMMUNITY_WALLPAPERS":"壁紙","WEBSITE_COMMUNITY_ART":"コミュニティアートギャラリー","WEBSITE_LINK_ART":"コミュニティアートギャラリー","WEBSITE_CONTACT_US":"お問い合わせ","WEBSITE_CONTACT_US_P1":"ご質問、コメント、提案がありましたら、以下のお問い合わせフォームからお気軽にお問い合わせください。","WEBSITE_CONTACT_US_P2":"私たちはブルガリアに位置しているため、タイムゾーンの違いにより、お問い合わせの対応に遅れが生じることがあります。","WEBSITE_CONTACT_US_SUCCESS":"あなたのメッセージは送信されました。できるだけ早くご連絡いたします。","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"有効なメールアドレスを入力してください!","WEBSITE_CONTACT_US_Q_RELATED_TO":"あなたの質問は何に関連していますか?","WEBSITE_CONTACT_US_Q_OS":"あなたのオペレーティングシステムは何ですか?","WEBSITE_CONTACT_US_PH_EMAIL":"あなたのEメール","WEBSITE_CONTACT_US_PH_MESSAGE":"メッセージ","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"送信","WEBSITE_CONTACT_US_Q_1":"インストール方法は?","WEBSITE_CONTACT_US_Q_2":"アンインストール方法は?","WEBSITE_CONTACT_US_Q_3":"(HTML) ラザニアの作り方は?","WEBSITE_CONTACT_US_Q_4":"アドオン","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"テクノロジー","WEBSITE_TECHNOLOGY_P1":"私たちはテクノロジーと狂気の科学が大好きです。 </br> これがStremioを動かしているものです(すべてオープンソースです)。","WEBSITE_TECHNOLOGY_P_QT":"最高のクロスプラットフォームソフトウェア開発。","WEBSITE_TECHNOLOGY_P_MPV":"無料の、オープンソースの、クロスプラットフォームのメディアプレーヤー。","WEBSITE_TECHNOLOGY_P_RN":"React Nativeを使用すると、JavaScriptだけでモバイルアプリを作成できます。","WEBSITE_TECHNOLOGY_P_VLC":"アプリケーションに埋め込まれたメディアフレームワークでマルチメディアを取得します。","WEBSITE_TECHNOLOGY_P_REALM":"Realmはモバイルプラットフォームであり、SQLiteとCore Dataの代替品です。","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.jsはオープンソースのクロスプラットフォームJavaScriptランタイム環境です。","WEBSITE_TECHNOLOGY_P_RUST":"Rustは、安全性、特に安全な並行性に焦点を当てたマルチパラダイムのシステムプログラミング言語です。","WEBSITE_TECHNOLOGY_CONTRIBUTE":"プロジェクトに貢献する","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Stremioに貢献して、製品をさらに良くする方法は2つあります。","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"プラットフォームの翻訳により、貴重な言語スキルを寄付することができます...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"または","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... コミュニティアドオンの作成にコーディングスキルを活用することができます。","WEBSITE_TRANSLATE_STREMIO":"Stremioを翻訳する","WEBSITE_404_OH_NO":"おっと!探しているページはここにはありません...","WEBSITE_GO_HOME":"ホームに戻る","WEBSITE_LINK_OTHER_DOWNLOADS":"その他のダウンロード","WEBSITE_FAQ_ABR":"よくある質問","WEBSITE_SUPPORT":"サポート","WEBSITE_DOWNLOAD_4_0_BETA":"今すぐStremio 4ベータ版をダウンロード","WEBSITE_GET_FOR_DESKTOP":"デスクトップ用に取得","WEBSITE_LINK_ADDON_COMPETITION":"アドオンコンペティション","WEBSITE_LINK_ART_CONTEST":"アートコンテスト","WEBSITE_MY_ACCOUNT":"マイアカウント","WEBSITE_MAINPAGE_FAQ_001_H1":"Stremioとは何ですか?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremioは、あなたが何でも見たいと思う自由を与えてくれる現代的なメディアセンターです。","WEBSITE_MAINPAGE_FAQ_002_H1":"それはどのように動作しますか?","WEBSITE_MAINPAGE_FAQ_002_P1":"Stremioをデバイスにインストールし、アカウントを作成すると、あなたがしなければならないのは、アドオンカタログを訪れて任意のアドオンをインストールすることだけで、準備完了です!","WEBSITE_MAINPAGE_FAQ_002_P2":"その後、DiscoverセクションやBoardセクションに移動してコンテンツの探索を開始できます。","WEBSITE_MAINPAGE_FAQ_003_H1":"ここで何を見ることができますか?","WEBSITE_MAINPAGE_FAQ_003_P1":"たくさん:映画、テレビ番組、ウェブチャンネル、スポーツ、テレビチャンネル、ポッドキャストを聴くなど。私たちのアドオンシステムのおかげで、さまざまなコンテンツにアクセスできます。","WEBSITE_MAINPAGE_FAQ_004_H1":"Stremioはオープンソースですか?","WEBSITE_MAINPAGE_FAQ_004_P1":"はい、次のリンクをご覧ください:${1}デスクトップアプリ${2} および ${3}GitHubの組織${4}。","WEBSITE_MAINPAGE_FAQ_005_H1":"Stremioは安全ですか?","WEBSITE_MAINPAGE_FAQ_005_P1":"はい:オープンソースソフトウェアであるため、コードは公開されており、自分でレビューすることができます。","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremioのアドオンシステムも、ユーザーのセキュリティを考慮して作成されました。アドオンはローカルでコードを実行しないため、デバイスにリスクをもたらすことはありません。","WEBSITE_MAINPAGE_FAQ_006_H1":"プライバシーはどうですか?","WEBSITE_MAINPAGE_FAQ_006_P1":"私たちはユーザーのプライバシーを尊重し、アカウントの作成と同期に必要な最小限の個人データしか収集しません。","WEBSITE_MAINPAGE_FAQ_006_P2":"また、サインアップ時に${1}ゲストモード${2}があり、これにはデータが一切必要ありません:このモードでは、バックエンドに対する呼び出しが行われません。ただし、デバイス間でライブラリを同期するなどの便利な機能が利用できなくなります。","WEBSITE_MAINPAGE_FAQ_007_H1":"私のテレビにキャストすることはできますか?","WEBSITE_MAINPAGE_FAQ_007_P1":"はい、Chromecastをサポートしており、デスクトップアプリとモバイルアプリ(Android)の両方からキャストすることができます。","WEBSITE_MAINPAGE_FAQ_008_H1":"Stremioにはいくつのアドオンがありますか?","WEBSITE_MAINPAGE_FAQ_008_P1":"2019年末現在、50以上あります - 詳細はアドオンカタログをご覧ください。","WEBSITE_MAINPAGE_FAQ_009_H1":"Stremioはアドオンカタログの範囲を超えて拡張できますか?","WEBSITE_MAINPAGE_FAQ_009_P1":"はい、次のものをチェックしてみてください:${1}PimpMyStremio${2}、${3}Redditのコミュニティ${4}、${5}Stremio Downloader${6}など。","WEBSITE_MAINPAGE_FAQ_010_H1":"Stremioはどのデバイスをサポートしていますか?","WEBSITE_MAINPAGE_FAQ_010_P1":"Windows、Mac、Linux用のデスクトップアプリがあります。モバイルでは、AndroidとiOSをサポートしていますが、iOSは機能が限定されていることに注意してください(ほとんどのアドオンをサポートしていません)。","WEBSITE_MAINPAGE_FAQ_010_P2":"NVIDIA ShieldやAmazon Fire Stickなど、Stremioを実行できるAndroidベースのデバイスがたくさんありますが、公式にはサポートしていません。","WEBSITE_MAINPAGE_FAQ_010_P1_2":"Windows、Mac、Linux用のデスクトップアプリがあります。また、Android MobileとAndroid TV専用のアプリもあります。iOSとiPadOSでは、Stremio Webの使用をおすすめしますが、機能は限定されています。","WEBSITE_MAINPAGE_FAQ_011_H1":"特定のコンテンツをStremioに追加できますか?","WEBSITE_MAINPAGE_FAQ_011_P1":"申し訳ありませんが、私たちは自身でコンテンツを提供していませんが、Stremioにインストールしたアドオンが多ければ多いほど、見つけることができるコンテンツが増えます。","WEBSITE_MAINPAGE_FAQ_012_H1":"Stremioはマグネットリンクを再生できますか?","WEBSITE_MAINPAGE_FAQ_012_P1":"はい、通常のHTTPリンクとトレントファイル(ドラッグアンドドロップ)も再生できます。","WEBSITE_MAINPAGE_FAQ_013_H1":"ビデオをダウンロードしてオフラインで視聴することはできますか?","WEBSITE_MAINPAGE_FAQ_013_P1":"オフライン利用可能は今後の機能ですが、設定パネルからStremioにデバイス上にキャッシュを許可すると、後で接続なしでビデオを視聴することができます。","WEBSITE_MAINPAGE_FAQ_014_H1":"何も動作しない、助けて!","WEBSITE_MAINPAGE_FAQ_014_P1":"アドオンをインストールしたことは確認しましたか?もしインストールしたなら、私たちの${1}ヘルプセンター${2}をチェックしてみてください。","WEBSITE_MAINPAGE_FAQ_015_H1":"Stremioは開発業務をどのように維持していますか?","WEBSITE_MAINPAGE_FAQ_015_P1":"私たちは時折、邪魔にならない広告を表示しますが、寄付モデルへの移行を検討しています。","WEBSITE_MAINPAGE_FAQ_015_P2":"他の質問については、私たちの${1}ヘルプセンター${2}にアクセスしてください。","HELP_LEARN_MORE":"私たちがあなたについてもっと学ぶのを助けてください。","LIFESTYLE":"ライフスタイル","SPORTS":"スポーツ","FOOD_HEALTH":"食品&健康","BEAUTY_FASHION":"美容&ファッション","NEWS":"ニュース","GAMING":"ゲーム","SCIENCE_EDUCATION":"科学&教育","MUSIC":"音楽","TRAVEL":"旅行","LATE_NIGHT":"深夜","REALITY":"リアリティ","COMEDY":"コメディ","DIY":"DIYの方法","TECH":"テクノロジー","CINEMA":"シネマ","CONTINUE":"続ける","SLOW_LOADING":"読み込みが遅い?","I_GIVE_UP":"あきらめる","LEARN_MORE":"もっと詳しく","POOR_SOURCE":"このソースはあまり利用できないか、あなたのインターネット接続が十分に速くありません","PICK_CATEGORIES_ERR":"少なくとも3つのカテゴリを選択する必要があります","ADJUST_TIMING":"タイミングを調整する ","ADJUST_SIZE":"サイズを調整する ","SEARCH_ANYTHING":"何でも検索できます...","ALL_CATEGORIES":"すべて","SEARCH_CATEGORIES":"映画、シリーズ、YouTube&TV","SEARCH_PERSONS":"俳優、監督、脚本家","SEARCH_PROTOCOLS":"HTTP&マグネットリンク","SEARCH_TYPES":"IMDB / TVDBリンク","WATCHED":"視聴済み","SHOW_LESS":"少なく表示","LAST_SEARCHES":"最後の検索","CLEAR_HISTORY":"履歴をクリア","CHOOSE_SOME":"これらの中から選んでください:","NO_WEB_REMOTE":"Webリモートを読み込むことができませんでした","STREMIO_OFFLINE":"Stremioはオフラインです","STREMIO_EXPENSIVE_CONNECTION":"モバイルデータ接続を使用していることを検出しました、続行しますか?","USE_DATA":"データを使用する","WARNING":"警告","MORE_INFO":"詳細情報...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"読み込み中...","STREMIO_TV_BACK_TO_LANGUAGES":"言語に戻る","STREMIO_TV_REMOTE":"リモート","STREMIO_TV_GO_TO":"移動する:","STREMIO_TV_OR_SCAN":"またはスキャン:","STREMIO_TV_ADDON_INSTRUCTIONS":"好みのアドオンをインストールするための指示に従ってください。","STREMIO_TV_LIVE_TV":"ライブTV","STREMIO_TV_RESUME_WATCHING":"視聴を再開","STREMIO_TV_LOADING_BACKGROUND":"背景を読み込み中","STREMIO_TV_CHECKING_AUTHENTICATION":"認証を確認中","STREMIO_TV_LOADING_BOARD":"ボードを読み込み中","STREMIO_TV_LOGIN_HEADER_LINE_1":"私たちは、ユーザーが私たちのソフトウェアで最高のパーソナライズされた体験を得られるようにしたいと考えています。","STREMIO_TV_LOGIN_HEADER_LINE_2":"そのため、アカウントを作成またはログインしていただくようお願い申し上げます。","STREMIO_TV_LOGIN_FOOTER_LINE_1":"ご理解いただきありがとうございます、","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Stremioチーム","STREMIO_TV_REMOTE_INSTRUCTIONS":"スマートフォン/タブレット/デスクトップでWebリモートを使用するためには:","STREMIO_TV_WIFI_SETUP":"Wi-Fi設定","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circleはインターネット接続を検出できませんでした。","STREMIO_TV_WIFI_DETAILS_1":"接続先:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"パスワードを使用する:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"リンク付きのウェブブラウザを開く:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"デフォルト","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"最後に視聴した順","STREMIO_TV_LIBRARY_SORT_NAME":"名前順","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"名前順(降順)","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"視聴回数順","STREMIO_TV_LIBRARY_SORT_WATCHED":"視聴した順","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"視聴していない順","STREMIO_TV_DETAILS_SEASON_NUMBER":"シーズン ${1}","STREMIO_TV_STREAMS_LOADING":"${1} / ${2} のアドオンを読み込みました...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} のアドオンはまだ読み込み中...","STREMIO_TV_PLAYER_SETTINGS":"プレーヤー設定","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"字幕の遅延","STREMIO_TV_PLAYER_AUDIO_DELAY":"オーディオの遅延","STREMIO_TV_PLAYER_VIDEO_SCALING":"ビデオのスケーリング","STREMIO_TV_PLAYER_CHAPTERS":"チャプター","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"${1} をスキップ","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"サポートされていないストリームソース","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"外部リンクの開封に失敗しました","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"オーディオパススルーモードでは調整できません","STREMIO_TV_PLAYER_PLAY_IN_EXO":"ExoPlayerで再生","STREMIO_TV_PLAYER_PLAY_IN_VLC":"libVLCプレーヤーで再生","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"再生エラーのためlibVLCプレーヤーに切り替え","STREMIO_TV_ADDONS_TITLE":"あなたの電話やPCのStremioでアドオンをインストールまたは設定し、「アドオンを同期」を押してください","STREMIO_TV_ADDONS_SUBTITLE":"注意:同じStremioアカウントを使用していることを確認してください","STREMIO_TV_ADDONS_SYNC_ADDONS":"アドオンを同期","STREMIO_TV_ADDONS_SYNC_SUCCESS":"アドオンの同期に成功しました","STREMIO_TV_ADDONS_SYNC_FAILED":"アドオンの同期に失敗しました","STREMIO_TV_META_LINK_FAILED":"メタリンクの開封に失敗しました","STREMIO_TV_CATALOG_LOADING":"カタログをまだ読み込み中...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"インターフェース言語が更新されました","STREMIO_TV_SETTINGS_THEME_UPDATED":"テーマが更新されました","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"デフォルトのプレーヤー","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"外部プレーヤー","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"優先言語","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"2番目の優先言語","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"トンネル再生","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"一部のデバイスで再生問題が発生する可能性があります","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"一部のビデオ形式は動作しないかもしれません","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"フレームレートの一致","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"無効","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"フレームレートのみ","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"フレームレートと解像度","STREMIO_TV_SETTINGS_NO_CACHING":"キャッシュなし","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"デフォルト","STREMIO_TV_SETTINGS_PROFILE_SOFT":"ソフト","STREMIO_TV_SETTINGS_PROFILE_FAST":"高速","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"超高速","STREMIO_TV_SETTINGS_SERVER_URL":"ストリーミングサーバーのURL","STREMIO_TV_SETTINGS_SERVER_VERSION":"サーバーバージョン","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"不明","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremioバージョン","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"サーバーURLの編集","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"ストリーミングサーバーのURLを入力","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"ロード中に統計を表示","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"Stremioのプライバシーポリシーを読むには、訪問:","STREMIO_TV_SETTINGS_TOS_TEXT":"Stremioの利用規約を読むには、訪問:","STREMIO_TV_NAV_SEARCH":"検索","STREMIO_TV_NAV_HOME":"ホーム","STREMIO_TV_NAV_DISCOVER":"発見","STREMIO_TV_NAV_LIBRARY":"ライブラリ","STREMIO_TV_NAV_MOVIES":"映画","STREMIO_TV_NAV_SERIES":"シリーズ","STREMIO_TV_NAV_CHANNELS":"チャンネル","STREMIO_TV_NAV_TV":"ライブTV","STREMIO_TV_NAV_SETTINGS":"設定","STREMIO_TV_NAV_ADDONS":"アドオン","STREMIO_TV_LOGIN_TITLE":"アカウントのリンク","STREMIO_TV_LOGIN_EXPIRES_IN":"有効期限","STREMIO_TV_LOGIN_STEP_ONE":"上のQRコードをスキャンするか、次のURLにアクセス","STREMIO_TV_LOGIN_STEP_TWO":"Stremioアカウントにログイン","STREMIO_TV_LOGIN_NEW_LINK":"新しいリンクをリクエスト","STREMIO_TV_LOGIN_LINK_REFRESHED":"ログインコードが更新されました","STREMIO_TV_SEARCH_PLACEHOLDER":"何か入力してください","STREMIO_TV_SEARCH_NO_ADDONS":"カタログのためのアドオンが要求されませんでした!","STREMIO_TV_SEARCH_BUTTON":"検索","STREMIO_TV_SEARCH_KEY_DEL":"削除","STREMIO_TV_SEARCH_KEY_SPACE":"スペース","STREMIO_TV_SEARCH_KEY_CLEAR":"クリア","STREMIO_TV_SEARCH_HISTORY_TITLE":"検索履歴","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"タイトル、俳優、チャンネルなどを検索できます...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"検索履歴をクリア","STREMIO_TV_FILTERS_DESCRIPTION":"以下のフィルターから選択してください","STREMIO_TV_STREAMING_SERVER_OFFLINE":"ストリーミングサーバーがオフラインです。サーバー設定を確認してください。","FILTERS":"フィルター","SETTINGS":"設定","ACCOUNT":"アカウント","LOGOUT":"ログアウト","THEMES":"テーマ","PLAYBACK":"再生","PLAYBACK_SPEED":"再生速度","AUDIO_TRACKS":"オーディオトラック","UNKNOWN_TRACK_LANG":"不明","VIDEOS":"ビデオ","SERVER":"サーバー","LINKS":"リンク","ABOUT":"紹介","INTERFACE":"インターフェース","ANIMATIONS":"アニメーション","STATUS":"ステータス","LANGUAGE":"言語","SIZE":"サイズ","DELAY":"遅延","BOLD":"太字","OPACITY":"透明度","TEXT_COLOR":"テキストの色","OUTLINE_COLOR":"アウトラインの色","BACKGROUND_COLOR":"背景色","BACKGROUND_BLUR":"背景のぼかし","SEEK_TIME_DURATION":"シーク時間の長さ","AUTO_PLAY":"次のエピソードを自動再生","PLAY_NOW":"今すぐ再生","MARK_AS_WATCHED":"視聴済みとしてマーク","MARK_AS_UNWATCHED":"未視聴としてマーク","REWIND_TO_BEGINNING":"最初から巻き戻す","CONTINUE_WATCHING":"視聴を続ける","ALL":"すべて","SECONDS":"秒","ON":"オン","OFF":"オフ","RELOAD":"リロード","EDIT_URL":"URLを編集","NONE":"なし","EMBEDDED":"埋め込み","REMOTE_SWITCH_DEVICES":"デバイスを切り替え","REMOTE_VIDEOS":"ビデオ","REMOTE_ADJUST_TIMING":"タイミングを調整","REMOTE_ADJUST_SIZE":"サイズを調整","REMOTE_COULD_NOT_BE_LOADED":"Webリモートを読み込めませんでした","REMOTE_RETRY":"再試行","TORRENT_PROFILE_DEFAULT":"デフォルト","TORRENT_PROFILE_SOFT":"ソフト","TORRENT_PROFILE_FAST":"高速","TORRENT_PROFILE_ULTRA_FAST":"超高速","FAQ_001_H1":"Stremioとは何ですか?","FAQ_001_P1":"Stremioは、ビデオエンターテイメントを使いやすくするために設計されたメディアセンターソフトウェアです。Stremioを使用すると、映画、シリーズ、チャンネル、ライブTVのコレクションを整理して視聴することができます。","FAQ_001_P2":"Stremioは、表示するコンテンツをあなたのローカルディスクとアドオンシステムから収集します。","FAQ_001_P3":"また、新しいエピソード/ビデオ/映画が出たときに通知を送り、映画の推薦を提供します。","FAQ_02_H1":"StremioはKodiとPlexとどう違いますか?","FAQ_02_P1":"私たちはそれらのソフトウェアに触発されました。しかし、私たちは異なる目標を持っています - Stremioはエンターテイメントビデオに特化しており、非常に使いやすいことで主流の解決策になることを目指しています。","FAQ_02_P2":"StremioはKodiやPlexほどカスタマイズ可能で機能豊富ではありませんが、使いやすさでは大幅に優れています。ただ${1}取得して見て${2} :)","FAQ_03_H1":"StremioはNetflixとどう違いますか?","FAQ_03_P1":"再び、Netflixは私たちのインスピレーションの一つです。私たちはNetflixのユーザーエクスペリエンスを達成することを目指しており、さらに多くの付加価値を提供しています。しかし、最も重要なのは、私たちがあなたに自分のライブラリを管理し、アドオンシステムで新しいコンテンツソースを追加する自由を与えていることです。","FAQ_03_P2":"それにより、Stremioは無限に拡張可能になり、Stremioを使用するときにはNetflixがライセンスを決定するコンテンツに制限されることはありません。例えば、Stremioを通じて、${1}Filmon.tv${2}、${3}Twitch.tv${4}、${5}YouTube${6}、${7}Vodo${8}、さらには${9}Netflix${10}自体のコンテンツを視聴することができます!","FAQ_04_H1":"StremioはFlipboardとどう違いますか?","FAQ_04_P1":"私たちはその質問をあまり受けません、スタートアップの人々と話しているときを除いて:)","FAQ_04_P2":"Stremioは、設計上、コンテンツの集約者であり、それは基本的にビデオ用のFlipboardとなります。これは、私たちのボードセクションで非常に明らかで、あなたがフォローしているものに対してカタログと新しいエピソード/新しいビデオの通知を提供します、まさにFlipboardのように。","FAQ_05_H1":"StremioはPopcorn Timeとどう違いますか?","FAQ_05_P1":"StremioとPopcorn Timeは、ユーザーインターフェースが似ています。なぜなら、ビデオエンターテイメントのカタログを正しく行う方法はそれほど多くないからです :)","FAQ_05_P2":"しかし、Popcorn Timeが特定のソースからのトレントのストリーミングに焦点を当てているのに対し、Stremioは制限がなく、単なるコンテンツの集約者であり、特定のコンテンツソースにロックされていません。","FAQ_05_P3":"さらに、私たちはデフォルトでトレントアドオンを提供していないため、Stremioは公式の機能でPopcorn Timeのユースケースをカバーしていません。","FAQ_05_P4":"もう一つの注目すべき違いは、Popcorn Timeが完全にオープンソースであるのに対し、Stremioは${1}部分的にオープンソース${2}であることです。","FAQ_06_H1":"この映画/シリーズを追加しますか?","FAQ_06_P1":"いいえ、ごめんなさい :(","FAQ_06_P2":"他のほとんどの質問で言及されているように、Stremioは自体は何もコンテンツを提供していません - すべてはアドオンシステムを通じて追加されます。コンテンツのリクエストがある場合は、プレーヤーの「報告」ボタンを使用して、現在使用しているアドオンの作者にメールを送ることができます。","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Xのためのアドオンを作成しますか?","FAQ_08_P1":"それは十分に可能です。","FAQ_08_P2":"アドオンのアイデアがある場合は、${1}office@stremio.com${2}までご連絡ください。ただし、あなたのアドオンのアイデアが著作権や利用規約を侵害しないことを確認してください。","FAQ_08_P3":"現時点では、私たちのロードマップ上の次のものは、FandangoNOW、Filmon.tvのビデオ・オン・デマンド、Crunchyrollのアドオンです。","FAQ_09_H1":"StremioはBitTorrentを使用しますか?","FAQ_09_P1":"はい、StremioはストリーミングプロトコルとしてBitTorrentをサポートしています。それは、トレントアドオンを使用するか、.torrentファイルをStremioにドラッグアンドドロップするか、またはマグネットリンクを検索バーに貼り付けることで使用できます。","FAQ_09_P2":"唯一の公式アドオンでBitTorrentを使用しているのは${1}Vodo${2}で、すべてのインディーコンテンツがBitTorrentで配布されることを許可されていることに注意してください。","FAQ_09_P3":"私たちは、著作権侵害を可能にする可能性のある第三者のアドオンの使用をサポートしていません。","FAQ_10_H1":"公式のアドオンでStremioで何を見ることができますか?","FAQ_10_P1":"デフォルトでは、Stremio自体の埋め込みプレーヤーでFilmon.tv、YouTube、Vodoのコンテンツを視聴することができます。さらに、Twitch.tvやその他いくつかのアドオンがあります。","FAQ_10_P2":"これらを組み合わせると、以下の選択肢が提供されます:","FAQ_10_L1":"Filmon.tvが提供する人気のテレビチャンネル、例えばE4、BBC、Bollyworld TV","FAQ_10_L2":"YouTubeからのすべてのもの - 例えばBBC News、Top Gear、Vevo、PewDiePie","FAQ_10_L3":"Vodoのインディームービー","FAQ_10_L4":"Twitch.tvのオンラインゲーム放送","FAQ_10_P3":"さらに、GuideboxとNetflixのアドオンで提供される多くのコンテンツソースがありますが、それらは<b>完全に</b>Stremio内で再生されるわけではなく、指定されたサービスにリダイレクトされます。例えば、Guideboxのアドオンは、TubiTVやCrackleなどのサービスから無料でストリームできる映画の選択肢を提供します。","FAQ_11_H1":"Stremioがインストールできない場合、どうすればいいですか?","FAQ_11_P1":"Windowsを使用している場合は、${1}この代替インストーラ${2}を試してみてください。","FAQ_11_P2":"Mac OS Xを使用している場合は、OS X Mavericks(10.9)より古いものはサポートしていないことにご注意ください。","FAQ_11_P3":"Linuxを使用している場合は、現時点では64ビット(x64)Linuxのみをサポートしていることに注意してください。","FAQ_11_P4":"それでも問題が解決しない場合は、${1}Facebookグループ${2}で私たちに書いてください。","FAQ_12_H1":"なぜ私のアンチウイルスが文句を言うのですか? Stremioは安全ですか?","FAQ_12_P1":"私たちはStremioが${1}100%クリーン${2}であることを保証します。","FAQ_12_P2":"あなたのアンチウイルスが文句を言っているのは、私たちがインストーラに広告を含めているからで、一部のアンチウイルスプログラムはそれをアドウェアと認識します。","FAQ_12_P3":"まだ不安な場合は、${1}代替インストーラ${2}を試してみてください。","FAQ_13_H1":"どのようにしてアドオンを作成できますか?","FAQ_13_P1":"初めての方は、GitHubの${1}アドオンシステムモジュール${2}をチェックすることをお勧めします。","FAQ_13_P2":"その後、${1}Hello Worldチュートリアル${2}に従って進めることができます。","FAQ_13_P3":"プログラミングのスキルがない場合は、あなたのアイデアを${1}Redditコミュニティ${2}に投稿し、アドオンのアイデアを${3}office@stremio.com${4}で私たちに連絡してください。","FAQ_14_H1":"アドオンはどのように公開されますか?","FAQ_14_P1":"アドオンを作成してホストし、マニフェストに<b>エンドポイント</b>フィールドを設定し、それが動作するアドオンアドレスを指すと、アドオンは自動的に私たちの${1}アドオンカタログ${2}に自身を公開します。","FAQ_14_P2":"これは、stremio-addonsモジュールのサーバーパートが自動的にAPIにアドオンを発表するための呼び出しを行うためです。APIがあなたの<b>エンドポイント</b>を有効なアドオンとして検証すると、カタログに表示され始めます。","FAQ_15_H1":"私はブラウザでStremioを実行できますか?","FAQ_15_P1":"現時点ではできませんが、これから実現する予定です!","FAQ_15_P2":"アルファ版を見てみたい場合は、こちらで見ることができます:${1}alpha4.strem.io${2}。ただし、このアルファ版ではストリーミングは無効になっています。Chrome、Firefox、Opera、Edgeをサポートしています。","FAQ_16_H1":"テレビへのキャスティングが機能しない / 字幕が機能しない","FAQ_16_P1":"テレビへのキャスティングはDLNA技術を使用しており、これはテレビのブランドやモデルによって非常に一貫性がありません。そのため、すべてのケースでテストする能力はありませんので、完全ではありません。それにもかかわらず、私たちは常に改善に努めていますが、DLNAがあなたのテレビで正常に動作するようになる時期を見積もることはできません。","FAQ_16_P2":"キャスティングメニューでテレビが表示されない場合は、ネットワーク接続を無効にして再度有効にする(Windowsでは、ネットワークを右クリックして有効/無効を選択)、ルーター、テレビ、PCを再起動するなどを試してみてください。","FAQ_16_P3":"それでも問題が解決しない場合は、テレビのブランドとモデル情報を${1}office@stremio.com${2}まで送信して私たちを助けていただけます。","FAQ_16_P4":"その間、私たちはChromecastを推奨します。これは私たちが非常によくサポートしています。または、単純にテレビをHDMIケーブルでPCに接続することもできます。","FAQ_17_H1":"Stremioがフリーズしたりクラッシュしたりする場合、何をすればいいですか?","FAQ_17_P1":"まず最初に、Windows 7とAVGアンチウイルスを使用している場合:その組み合わせに問題があります。問題はAVG自体にあり、私たちの側でそれを解決する合理的な方法はありません。残念ながら、例外を設定したりアンチウイルスを無効にしたりしても効果はありません。唯一の解決策は、AVGを他のものに置き換えることです。","FAQ_17_P2":"それが問題でない場合でも、まだWindowsを使用している場合は、最新のサービスパックに更新し、GPUドライバーを更新/再インストールしてから再試行してください。","FAQ_17_P3":"問題がまだ解決しない場合、またはMacまたはLinuxを使用している場合は、問題の詳細を報告して${1}Facebookグループ${2}に書いてください。","FAQ_18_H1":"どのようにしてアドオンを作成できますか?","FAQ_18_P1":"初めての方は、GitHubの${1}アドオンシステムモジュール${2}をチェックすることをお勧めします。","FAQ_18_P2":"その後、${1}Hello Worldチュートリアル${2}に従って進めることができます。","FAQ_18_P3":"プログラミングのスキルがない場合は、あなたのアイデアを${1}Redditコミュニティ${2}に投稿し、アドオンのアイデアを${3}office@stremio.com${4}で私たちに連絡してください。","FAQ_19_H1":"なぜStremioがディスクスペースを取るのですか?","FAQ_19_P1":"Stremioには<b>ローカルキャッシュ</b>があり、ストリームしたビデオファイルを一時的に保持します。","FAQ_19_P2":"これには2つの利点があります:まず、Stremioがビデオを事前にバッファリングして、ストリーミングをスムーズにすることができます。また、ビデオをローカルキャッシュに保持して、オフラインで視聴を続けることができます。","FAQ_19_P3":"Stremioがどれだけ保持するかは、設定パネルの<b>キャッシュ</b>設定によります。Stremioは、ディスク上に設定された量(例えば2GB)まで保持することができます。ただし、現在ストリーミングしているビデオがそれより大きい場合は、ストリーミングしている間それを保持するために十分なストレージを確保する必要があります。","FAQ_20_H1":"キャッシュフォルダはどこにありますか?","FAQ_20_P1":"Windowsでは、設定で選択したドライブのstremio-cache(例:\\"E:\\\\stremio-cache\\")にあります","FAQ_20_P2":"MacOSでは、\\"~/Library/Application Support/Stremio/stremio-cache\\"にあります","FAQ_20_P3":"Linuxでは、\\"~/.stremio/stremio-cache\\"または\\"~/stremio-cache\\"にあります","FAQ_21_H1":"\\"ストリーミングサーバーが見つかりません\\"というエラーが出る場合、何をすればいいですか?","FAQ_21_P1":"このエラーが出る場合、いくつかのことを意味します:","FAQ_21_P2":"1) YouTube/BitTorrentソースをバックアップに使用したアドオンを、私たちの${1}ウェブ版${2}を通じて使用しようとしています。この場合、${3}私たちのウェブサイト${4}からデスクトップ版をインストールする必要があります。","FAQ_21_P3":"2) Stremioのインストールに何か問題があります。この場合、${1}ウェブサイト${2}から最新のデスクトップバージョンを再インストールしてみてください。それでも解決しない場合は、アンチウイルスプログラムとファイアウォールを無効にし、PCを再起動して再試行してみてください。それでもうまくいかない場合は、${3}私たちのFacebookグループ${4}に書き込んでください。","FAQ_22_H1":"iOSでほとんどのアドオンを見る/使用することができません","FAQ_22_P1":"Apple App Storeの利用規約の制限のため、iOSアプリケーションは特定のアドオンセットのみに制限しています。","FAQ_22_P2":"しかし、ご安心ください - 将来的にはiOS用のアドオンが増え、iOSアプリをStremioストリーミングサーバーに接続することで、すべてのStremioアドオンを使用できるようになるかもしれません。"}')},96358:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"영화","TYPE_series":"시리즈","TYPE_tv":"TV 채널","TYPE_channel":"채널","TYPE_other":"기타","TYPE_movie_PL":"영화","TYPE_series_PL":"시리즈","TYPE_tv_PL":"TV 채널","TYPE_channel_PL":"채널","TYPE_other_PL":"기타","TYPE_ALL":"All","TYPE":"Type","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"비디오","BACK":"뒤로","MORE":"더","DONE":"완료","COPY":"복사","SUCCESS":"Success","ERROR":"Error","SETTINGS_CASTING_MODE_PICKER":"Casting mode","CASTING_MODE_HLSV2":"Default","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"No transcoding","Discover":"발견","Board":"게시판","Library":"라이브러리","My Library":"내 라이브러리","Calendar":"캘린더","NOTIFICATION_ONLINE":"현재 온라인 상태입니다.","NOTIFICATION_OFFLINE":"현재 오프라인 상태입니다.","INTERNET_CONNECTION":"네트워크 연결","STORAGE_FULL_TITLE":"경고: 저장용량이 가득 찼습니다.!","STORAGE_FULL_TEXT":"Stremio는 설정, 기본 설정 또는 로그인 정보를 저장할 수 없습니다. Stremio를 다시 시작하거나 다시 설치하는 것이 좋습니다.","SEARCH":"검색","SEARCH_NO_RESULTS":"검색 결과가 없습니다.","SEARCH_EXPLANATION_CONTENT":"영화, 시리즈, YouTube 및 TV 채널 검색","SEARCH_EXPLANATION_PEOPLE":"배우, 감독, 작가 검색","SEARCH_PASTE_LINKS":"HTTP 및 마그넷 링크 붙여넣기","SEARCH_OR_PASTE_LINK":"Search or paste link","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"라이브러리에 추가","REMOVE_FROM_LIB":"라이브러리에서 삭제","ADDED_TO_LIB":"라이브러리에 추가됨","REMOVED_FROM_LIB":"라이브러리에서 삭제됨","TRAILER":"예고편","WATCH_TRAILER":"예고편 보기","WATCH_NOW":"바로 보기","SHOW":"찾아보다","SHOW_MOVIE":"영화 보기","WATCH_RANDOM":"무작위 시청","IMDB_RATING":"IMDB 등급","YEAR":"연도","DIRECTOR":"감독","WRITER":"작가","LEAD_ACTORS":"주연","CAST":"캐스트","CREW":"Crew","SHOW_MORE_CAST":"더 보기 »","AIRED":"Aired","SEASONS":"Seasons","GENRE":"Genre","GENRE_ALL":"All genres","CATALOG":"카탈로그","SUMMARY":"요약","SHOW_MORE":"더 보기","SIMILAR":"비슷한","UPCOMING":"예정","ENDED":"종료","DURATION":"지속 시간","FEATURED":"추천","METADATA":"메타데이터","CATEGORY":"카테고리","LINKS_GENRES":"Genres","LINKS_CAST":"Cast","LINKS_DIRECTORS":"Directors","SEARCH_VIDEOS":"동영상 검색","SEARCH_PLACEHOLDER":"URL 검색 또는 붙여넣기","ADDON":"애드온","ADDONS":"애드온","OFFICIAL":"공식","ADDONS_OFFICIAL":"공식 스트레미오 애드온","ADDONS_POPULAR":"해당 지역에서 인기 있는","ADDON_FREE":"무료","ADDON_PEERED":"피어링","ADDON_SUBSCRIPTION":"구독","ADDON_STREAM_GEORESTRICTED":"귀하의 지역에서는 사용할 수 없습니다.","ADDON_STREAM_OFFLINECACHE":"오프라인 캐시","ADDON_STREAM_LOCALFILE":"로컬 파일","SHARE_ADDON":"애드온 공유","AVAILABLE_STREAMS":"사용 가능한 스트림","NO_STREAM":"스트림을 찾을 수 없습니다.","ALL_ADDONS":"All","INSTALL_MORE_ADDONS":"더 많은 스트림을 보려면 더 많은 애드온을 설치하십시오.","STREAM_NOT_SUPPORTED":"선택한 스트림은 이 플랫폼에서 지원되지 않습니다.","ADDON_CATALOGUE":"모든 애드온 표시 »","ADDON_CATALOGUE_MORE":"애드온 설치","REPO_ADDED":"리포지토리 추가됨","ADDON_REPO_EXIST_ERR":"이 애드온 모음이 이미 존재합니다.","ADDON_REPO_ERR":"컬렉션을 추가하는 동안 오류가 발생했습니다.","ADDON_ADD_ERR":"애드온을 추가하는 동안 오류가 발생했습니다.","ERR_ADDON_PROTECTED":"애드온을 제거할 수 없습니다. 보호되어 있습니다.","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"문제가 발생했습니다. 인증에 실패했을 수 있습니다.","ERR_NOT_COLLECTION_URL":"컬렉션 URL이 아닙니다.","ERR_NOT_ADDON_URL":"유효한 애드온 URL이 아닙니다.","ERR_DETECTFROMURL":"이 URL에서 애드온/수집을 찾을 수 없습니다.","ADDON_DUPLICATE_WARNING":"경고: 중복 애드온","ADDON_COLLECTION_SET_FAILED":"설치된 애드온을 계정에 동기화하지 못했습니다.","SETTINGS_DATA_EXPORT":"사용자 데이터 내보내기","ADDON_PULL_FAILED":"계정에서 설치된 애드온을 동기화하지 못했습니다.","REFRESH_ON_CLICK":"재시도하려면 클릭하십시오.","STILL_IN_THEATER":"영화가 상영중입니다.","WATCH_IN_CINEMA":"지역 영화관에서 감상하세요.","IN_THEATER":"영화관에서","GET_TICKETS":"티켓 받기","UPCOMING_EPISODE":"다음 에피소드","UPCOMING_EPISODE_MESSAGE":"이 에피소드는 다음에서 방송됩니다.","MISSING_DATE_EPISODE":"에피소드 날짜 누락","MISSING_DATE_EPISODE_MESSAGE":"이번 에피소드는 아직 방송되지 않았을 수 있습니다.","CHANNEL_NOT_SCRAPED":"이 채널은 아직 스크랩되지 않았습니다.<br>몇 분 후에 다시 오세요.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"라이브러리에 추가하여 사용 가능한 경우 알림을 받습니다.","GET_NOTIFIED_WHEN_AVAILABLE":"사용 가능한 경우 알림이 발송됩니다.","WARNING_STREAMING_SERVER":"경고: 로컬 스트리밍 서버를 찾을 수 없습니다. 로컬 파일, 유튜브, 비트토렌트의 스트리밍을 사용할 수 없습니다","WARNING_STREAMING_SERVER_DISMISS":"Dismiss","WARNING_STREAMING_SERVER_LATER":"Later","DECODER_WARNING":"경고: 이 비디오는 하드웨어에서 지원되지 않을 수 있습니다. 재생이 느릴 수 있습니다.","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"앗, 플레이어 오류","PLAYER_ERROR_LOOKSLIKE":"그런 것 처럼 보인다.","PLAYER_ORIENTATION":"Player orientation","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"잠금","PLAYER_ORIENTATION_SENSOR_SHORT":"센서","PLAYER_ORIENTATION_LANDSCAPE":"플레이어 오리엔테이션이 가로로 잠겨 있습니다.","PLAYER_ORIENTATION_SENSOR":"플레이어의 방향 자동(sensor)","PLAYER_PLAYBACK_SPEED":"재생속도","PLAYER_PLAYBACK_ERROR":"재생 오류입니다. 다시 시도하십시오.","PLAYER_PLAYBACK_ERROR_UNKNOWN":"알 수 없는 오류","PLAYER_PLAYBACK_ERROR_DEFAULT":"죄송합니다. 이 비디오는 {{productName}}에서 재생할 수 없습니다.","PLAYER_SUBTITLES_LANGUAGES":"Subtitles Languages","PLAYER_SUBTITLES_VARIANTS":"Subtitles Variants","PLAYER_SUBTITLES_SETTINGS":"Subtitles Settings","PLAYER_SUBTITLES_DISABLED":"Subtitles are disabled","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Vertical Position","PLAYER_SUBTITLES_LOADED":"Subtitles loaded","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Embedded subtitles loaded","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Exclusive subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Subtitles from {{origin}} loaded","PLAYER_PLAY":"Play","PLAYER_PAUSE":"Pause","PLAYER_NEXT_VIDEO":"Next Video","PLAYER_MUTE":"Mute","PLAYER_UNMUTE":"Unmute","PLAYER_OPEN_IN_EXTERNAL":"Open in external player","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Play in {{device}}","PLAYER_LIVE":"라이브","PLAYER_NEXT_VIDEO_TITLE":"다음 영상","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Dismiss","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"지금 바로 시청하세요.","PLAYER_COPY_STREAM_SUCCESS":"Stream link was copied to your clipboard","PLAYER_COPY_STREAM_ERROR":"Failed to copy stream link","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","STREAMING_FROM":"스트리밍 시작","CASTING_TO":"캐스팅 대상","NETWORK_STATUS":"네트워크 상태","STREAM_SPEED":"스트림 속도:","STREAM_BUFFERED":"버퍼:","PEERS_INFO":"피어 정보","PEERS_ACTIVE":"Active:","PEERS_CONNECTED":"연결상태:","PEERS_WAITING":"대기:","TRANSCODING_WARNING":"경고: 비디오 트랜스코딩.","STREAM_LOADING":"로딩중...","PLAYING_LOCAL":"로컬 파일에서 재생","PLAYING_CACHE":"캐시에서 재생","WRONG_SUBS":"자막이 틀렸나요?","ERR_SUBS_LOADING_TITLE":"자막 로드 오류","ERR_SUBS_LOADING":"자막을 로드하지 못했습니다.사용 중인 애드온 또는 네트워크 연결 문제일 수 있습니다.","WARN_FOLLOWING_SUB_ADDONS_FAILED":"다음 자막 추가가 실패했습니다.","ERR_CASTING_UPDATE_TITLE":"캐스팅 디바이스 정보를 갱신할 수 없습니다.스트리밍 서버가 오프라인 상태일 수 있습니다.","CHOOSE_DEVICE":"시청할 디바이스 선택","NO_CAST_DEVICES":"사용 가능한 캐스팅 장치가 없습니다.","NO_SETTINGS":"사용 가능한 설정이 없습니다.","PHONE_TABLET":"폰 / 태블릿","SUBTITLES":"Subtitles","SUBTITLES_CHANGE":"자막 변경 ","SUBTITLES_CHANGE_NONE":"이 언어에는 다른 자막이 없습니다. 죄송합니다.","SUBTITLES_CHANGE_ACIVE":"현재 자막 &#35;{subtitlesDialog.activeIdx + 1}이 활성화되어 있습니다. \\"계속\\"을 클릭하여 자막 &#35;{subtitlesDialog.pickedIdx + 1}}을 활성화합니다.","SUBTITLES_OR":"대체,","SUBTITLES_ADJUST_DELAY":"자막 지연 조정:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"또는 방송시 <span>G</span>/<span>H</span>키를 사용해 조정할 수 있습니다..","SUBTITLES_ADJUST_DELAY_TIP":"힌트: 당신은 방송시 <span>G</span>/<span>H</span>키를 사용하여 조정할 수 있습니다..","SUBTITLES_DELAY":"Subtitles delay:","SUBTITLES_LOADING":"자막 로드중...","SUBTITLES_UNAVAILABLE":"외부 자막은 사용할 수 없습니다.","SUBTITLES_DISABLED":"비활성","EXTERNAL_PLAYER_DISABLED":"Disabled","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Allow Choosing","EXTERNAL_PLAYER_HINT":"Hint: There is a setting to allow always opening with external player","DONT_SHOW_AGAIN":"Don\'t show again","SERVICE_INSTALL":"Install","AUDIO":"Audio","DEFAULT_LANGUAGE":"Default Language","DEFAULT_SECONDARY_LANGUAGE":"Default Secondary Language","SEASON":"Season","EPISODE":"에피소드","EPISODE_ABBREVIATION":"EP","SPECIAL":"스페셜","SORT":"정렬","SORT_BY":"순서대로 정렬","FILTER":"필터","SORT_TRENDING":"트렌딩","SORT_RECENT":"최근","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"등급","SORT_WATCHED":"시청함","SORT_YEAR":"년","SELECT_TYPE":"Select type","SELECT_SORT":"Select sort","SELECT_CATALOG":"Select catalog","SELECT_GENRE":"Select genre","SORT_LASTWATCHED":"By last watched","SORT_NAME":"By name","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"By times watched","SORT_NOTWATCHED":"not watched","New for You":"New for You","New Episodes":"새로운 에피소드","New Videos":"새로운 영상","Recommendations":"권장사항","LIBRARY_RESUME":"재개","LIBRARY_PLAY":"Play","LIBRARY_DETAILS":"상시","LIBRARY_RESUME_DISMISS":"Dismiss","LIBRARY_CLEAR_PROGRESS":"Clear Progress","LIBRARY_REMOVE":"Remove","LIBRARY_NOT_LOGGED_IN":"Library is only available for logged in users","CALENDAR_NOT_LOGGED_IN":"Calendar is only available for logged in users","NOT_LOGGED_IN_CLOUD":"Access your favorite movies and TV shows anytime, anywhere","NOT_LOGGED_IN_RECOMMENDATIONS":"Recommendations tailored to your viewing history","NOT_LOGGED_IN_NOTIFICATIONS":"Never miss an episode again","NOT_LOGGED_IN_CALENDAR":"Schedule your personal watching calendar","DISCOVER_FEATURED":"Featured","DISCOVER_TOP":"Top","DISCOVER_OSCAR":"오스카 수상자","DISCOVER_WARNING_TITLE":"앗!","DISCOVER_EMPTY_CATALOG":"이 애드온은 빈 콘텐츠를 반환했습니다.","DISCOVER_ADULT_WARNING":"콘텐츠는 성인만 볼 수 있습니다. 18세 이상입니까?","DISCOVER_NOADDON_WARNING":"경고: 이 유형에 대해 활성화된 Stremio 추가 기능이 없습니다. 저장된 아이템을 표시해도 갱신되는 것은 없습니다.","DISCOVER_LOAD_ERR":"콘텐츠가 로드되지 않고 오류가 발생했습니다.","DISCOVER_ADDON_UNINSTALLED":"이 콘텐츠는 더 이상 사용할 수 없습니다.Addon을 제거했을 수 있습니다.","UNINSTALL_THIS_ADDON":"이 애드온을 제거합니다","ERR_ADDON_NOT_INSTALLED":"이 애드온은 설치되어 있지 않습니다. 지금 설치하시겠습니까?","DETAIL_RECEIVE_NOTIF_SERIES":"새로운 에피소드에 대한 알림 수신","DETAIL_RECEIVE_NOTIF_VIDEOS":"새로운 영상에 대한 알림 수신","SIDEBAR_SHOW_STREAMS":"스트림 표시","RELAUNCH":"지금 바로 재기동!","UPGRADE":"새로운 버전이 출시되었습니다! 최신 Stremio 버전으로 업그레이드","RELOAD_UI":"사용자 인터페이스 새로고침","MANUAL_UPDATE_TITLE":"Stremio 버전 업데이트","MANUAL_UPDATE_LINE1":"추천되지 않는 오래된 버전의 Stremio를 실행하고 있습니다.","MANUAL_UPDATE_LINE2":"최대한 빨리 갱신해 주세요.","BUTTON_UPDATE_LATTER":"지금은 안됩니다.","BUTTON_UPDATE_NOW":"업데이트","ANONYMOUS_USER":"익명 사용자","DONT_HAVE_ACC":"계정이 없으신가요?","HAVE_ACC":"이미 계정을 가지고 계십니까?","PASSWORD":"비밀번호","PASSWORD_CONFIRM":"비밀번호 확인","EMAIL":"이메일","FB_LOGIN":"페이스북으로 가입","FB_NOTHINGSHARED":"사용자의 허가 없이 공유되는 것은 없습니다.","FB_NOPOST":"고객님을 대신하여 아무것도 게시하지 않습니다.","OR":"또는","I_ACCEPT":"동의합니다.","I_ACCEPT_BY_CLICKING":"위 버튼을 클릭함으로써 에 동의함을 증명합니다. ","TOS":"약관 및 조건","MUST_ACCEPT_TERMS":"약관에 동의해야 합니다","PASSWORDS_NOMATCH":"비밀번호가 일치하지 않습니다","SIGN_UP":"가입","SIGN_UP_EMAIL":"이메일로 가입","CLICK_TO_SIGN_UP":"가입하려면 여기를 클릭하십시오.","LOG_IN":"로그인","LOG_OUT":"로그아웃","EXIT_FULLSCREEN":"전체 화면 모드를 종료합니다.","ENTER_FULLSCREEN":"전체 화면 모드 전환","PLAY_URL_MAGNET_LINK":"URL/마그넷 링크 재생","HELP_FEEDBACK":"도움말 & 피드백","TERMS_OF_SERVICE":"서비스 약관","PRIVACY_POLICY":"개인정보보호 정책","ABOUT_STREMIO":"Stremio에 대하여","USER_PANEL":"사용자 패널","LOGIN_LABEL":"로그인","GUEST_LOGIN":"게스트 로그인","GUEST_LOGIN_NOTICE":"게스트 로그인은 권장되지 않습니다. 일반 로그인을 사용하면 Stremio가 라이브러리를 동기화하고 즐겨찾는 시리즈/채널에 대한 알림을 받을 수 있습니다. 계속 진행하시겠습니까?","GUEST_LOGIN_NOTICE_2":"게스트 로그인은 권장되지 않습니다.라이브러리와 보드 알림은 동기화되지 않습니다.이것은 Stremio의 중요한 기능입니다. 계속 진행하시겠습니까?","CLICK_HERE":"여기를 클릭","WRONG_PASSWORD":"이메일 또는 비밀번호가 잘못되었습니다. 비밀번호를 잊어버린 경우, ","SET_A_PASS":"비밀번호 설정","RESET_PASSWORD":"비밀번호 초기화","FORGOT_PASSWORD":"비밀번호를 잊어버렸습니까?","EMAIL_USED_WITH_FB":"이 이메일은 Facebook 로그인과 함께 사용되었습니다.","INVALID_EMAIL":"유효한 이메일 주소를 입력하십시오.","INVALID_PASSWORD":"유효한 비밀번호를 입력해주세요.","CONN_ERR":"연결 오류 - 나중에 다시 시도하십시오.\\n\\n이 문제가 해결되지 않으면 방화벽/바이러스 대책 소프트웨어(특히 Bitdefender)를 비활성화합니다.","IMPORT_FROM_GUEST":"게스트 계정에서 라이브러리 가져오기","RECEIVE_UPDATES_EMAIL":"Stremio에서 이메일 업데이트 수신","LOGIN_FAILED":"로그인에 실패했습니다.","SIGNUP_FAILED":"가입에 실패했습니다.","SEARCH_FAILED":"검색 실패","EMAIL_USED":"이 이메일은 이미 사용 중입니다.","WAITING_FB_LOGIN":"Facebook으로 로그인 중...","EXTERNAL_PLAYER_TITLE":"외부 플레이어에서 재생","EXTERNAL_REMEMBER_PLAYER":"선택한 내용을 기억하시겠습니까?","EXTERNAL_ALWAYS_PLAY":"네","EXTERNAL_ONLY_ONCE":"아니오","BEST_FIT":"최적화","FIT_SCREEN":"화면 최적화","FILL":"채우기","16:9":"16:9","4:3":"4:3","Original":"원본","INTRO_TASTE":"좋아하는 걸 이야기해 주세요.","INTRO_TASTE_LONG":"보고 싶은 걸 말해주세요.","INTRO_TASTE_PICK":"{{interestsRemaining}} 관삼분야를 선택해주세요.","INTRO_TASTE_PICK_MORE":"{{interestsRemaining}}개 이상의 관심사를 선택해주세요.","INTRO_TASTE_HELP_US":"Help us learn more about you.","INTRO_TASTE_CHOOSE_THESE":"다음 중 몇 가지를 선택하세요:","INTRO_TASTE_CHOOSE_MIN":"3개 이상의 카테고리를 선택하십시오.","INTRO_TASTE_CHOOSE_MIN_ERR":"최소 3가지 카테고리를 선생해야 합니다!","INTRO_TASTE_LIFESTYLE":"라이프스타일","INTRO_TASTE_SPORTS":"스포츠","INTRO_TASTE_FOOD_HEALTH":"음식 & 건강","INTRO_TASTE_BEAUTY_FASHION":"뷰티 & 패션","INTRO_TASTE_NEWS":"뉴스","INTRO_TASTE_GAMING":"게이밍","INTRO_TASTE_SCIENCE_EDU":"과학 & 교육","INTRO_TASTE_MUSIC":"음악","INTRO_TASTE_TRAVEL":"여행","INTRO_TASTE_LATE_NIGHT":"심야방송","INTRO_TASTE_REALITY":"리얼리티","INTRO_TASTE_COMEDY":"코미디","INTRO_TASTE_DIY":"DIY","INTRO_TASTE_TECH":"테크","INTRO_TASTE_CINEMA":"시네마","ADDON_NOT_SUPPORTED":"선택한 애드온은 이 플랫폼에서 지원되지 않습니다.","ADDON_DISCLAIMER":"서드파티 애드온을 사용하는 것은 항상 사용자의 책임과 소재지의 관할구역 준거법의 적용을 받습니다.","ADDON_ACTIVATE":"이 애드온을 활성화하시겠습니까?","ADDON_REPO_ADD":"애드온 컬렉션 URL","ADDON_ADD":"추가","INSTALL_ADDON":"Install addon","ADD_ADDON":"Add addon","ADD_ADDON_DESCRIPTION":"You can add an addon via an external link, which will appear under Installed addons.","PASTE_ADDON_URL":"Paste addon URL","WHATS_NEW":"새로운 것","BUTTON_CONTINUE":"계속","BUTTON_ACTIVATE":"활성화","BUTTON_ACTIVATED":"활성화된","BUTTON_CANCEL":"취소","BUTTON_SUBMIT":"제출","BUTTON_DISMISS_ALL":"모두 제거","BUTTON_VIEW_ALL":"모두 표시","BUTTON_SEE_ALL":"See All","BUTTON_COLOR_TRANSPARENT":"Transparent","OPEN_IN_BROWSER":"Open in browser","LIB_EMPTY":"라이브러리가 비어 있는 것 같습니다. 얼마나 유용한지 확인하세요:) ","HOW_START":"시작 방법은 다음과 같습니다:","LIB_EMPTY_CAL":"캘린더에 라이브러리의 시리즈가 표시됩니다.","HOW_START_CAL":"시리즈를 추가하는 방법은 다음과 같습니다:","LIB_EMPTY_BOARD":"게시판에 라이브러리와 관련된 알림 및 권장 사항이 표시됩니다","HOW_START_BOARD_WAIT":"라이브러리에 몇 개의 시리즈 또는 채널을 추가해 주세요. :)","HOW_START_BOARD":"시리즈 및 영화를 추가하는 방법은 다음과 같습니다:","IMPORT_FB":"<span>Facebook</span>에서 좋아하는 것을 가져오기","IMPORT_TRAKT":"<span>Trakt</span>에서 미디어 라이브러리 가져오기","IMPORT_DISCOVER":"<span>Discover</span>에서 흥미로운 항목 찾기","IMPORT_DISK":"<span>로컬 디스크</span>에 있는 영화 또는 프로그램 가져오기","PLEASE_CREATE_ACC":"라이브러리 동기화 및 게시판을 활성화하려면 <u>계정을 만드세요.</u>","IMPORT_DISCOVER_SIGNUP":"가입하고 <span>Discover</span>에서 흥미로운 정보를 찾아보세요.","IMPORT_DISK_SIGNUP":"가입하고 <span>로컬 디스크</span>에 있는 영화 또는 프로그램 가져오기","LIB_EMPTY_CLOUD":"클라우드 라이브러리","LIB_EMPTY_CLOUD_DESC":"모든 장치에서 동기화된 개인 클라우드 라이브러리","LIB_EMPTY_EARLY":"얼리버드","LIB_EMPTY_EARLY_DESC":"새로운 에피소드 알림 수신","LIB_EMPTY_PERSONAL":"개인","LIB_EMPTY_PERSONAL_DESC":"개인 추천 받기","LIB_EMPTY_CALENDAR_DESC":"개인 시청 일정 예약","LIB_EMPTY_ALL":"이것들을 모두 얻으려면 가입하세요:","LIB_EMPTY_BEST":"Stremio를 최대한 활용하려면 가입하십시오.","LIB_EMPTY_OTHER":"캘린더 및 기타 멋진 기능을 활성화하려면 가입하십시오.","CALENDAR_ADDED":"Stremio 캘린더가 기본 데스크톱 캘린더에 추가되었습니다.","CALENDAR_ADDED_MSG":"이 URL을 캘린더 어플리케이션에 수동으로 추가해 주세요.","TRAKT_EXPIRED":"Trakt 인증이 만료되었습니다. 설정으로 이동하여 재인증하십시오.","TRAKT_REQUIRES_LOGIN":"Trakt 오류","TRAKT_REQUIRES_LOGIN_MSG":"로그인이 필요합니다.","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","SETTINGS_LABEL":"설정","SETTINGS_NAV_GENERAL":"일반","SETTINGS_NAV_PLAYER":"플레이어","SETTINGS_NAV_STREAMING":"스트리밍","SETTINGS_NAV_SHORTCUTS":"숏컷","SETTINGS_SHORTCUT_RELOAD_APP":"앱 새로고침","SETTINGS_SHORTCUT_OPEN_SETTINGS":"설정 열기","SETTINGS_SHORTCUT_SWITCH_TABS":"탭 전환","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"앞으로 탭 순환","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"뒤로 탭 순환","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigate Between Menus","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Go to Search","SETTINGS_SHORTCUT_EXIT_BACK":"나가기 / 뒤로가기","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Toggle Playback Speed Menu","SETTINGS_SHORTCUT_MENU_VIDEOS":"Toggle Videos Menu","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Toggle Subtitles Menu","SETTINGS_SHORTCUT_MENU_INFO":"Toggle Info Menu","SETTINGS_SHORTCUT_FULLSCREEN":"전체 화면 전환","SETTINGS_SHORTCUT_SHOW_CONTROLS":"컨트롤 표시","SETTINGS_SHORTCUT_PLAY_PAUSE":"재생 / 일시정지","SETTINGS_SHORTCUT_VOLUME_UP":"불륨 크게","SETTINGS_SHORTCUT_VOLUME_DOWN":"볼륨 작게","SETTINGS_SHORTCUT_SEEK_NEXT":"다음 검색","SETTINGS_SHORTCUT_SEEK_PREV":"이전 검색","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Seek Backward","SETTINGS_SHORTCUT_SEEK_FORWARD":"Seek Forward","SETTINGS_SHORTCUT_PLAY_NEXT":"다음 재생","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"자막 크기 늘리기","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"자막 크기 줄이기","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"자막 딜레이 증가","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"자막 딜레이 감소","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"사이드바 전환","SETTINGS_SHORTCUT_OR":"or","SETTINGS_SHORTCUT_TO":"to","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Authenticate","SETTINGS_FACEBOOK_IMPORT":"Import","SETTINGS_CALENDAR_SUBSCRIBE":"Subscribe","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Interface Language","SETTINGS_LAUNCH_STARTUP":"시작 시 실행","SETTINGS_VLC_DEFAULT":"VLC로 재생","SETTINGS_UI_LANGUAGE":"UI 언어","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Escape 키 전체 화면 종료","SETTINGS_GAMEPAD":"게임패드 지원 활성화","SETTINGS_CLOSE_WINDOW":"창이 닫힐 때 앱 닫기","SETTINGS_SUBTITLES_LANGUAGE":"기본 자막 언어","SETTINGS_SUBTITLES_SIZE":"기본 자막 크기","SETTINGS_SUBTITLES_BACKGROUND":"자막 배경","SETTINGS_SUBTITLES_COLOR":"자막 색상","SETTINGS_SUBTITLES_COLOR_OUTLINE":"자막 윤곽선 색상","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"자막 배경색","SETTINGS_SEEK_KEY":"화살표 키 탐색 시간","SETTINGS_SEEK_KEY_SHIFT":"Shift 키를 누른 상태에서 화살표 키로 시간을 조작할 수 있습니다.","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Rewind & Fast-forward duration","SETTINGS_BINGE":"다음 에피소드 자동 재생","SETTINGS_NEXT_VIDEO":"다음 에피소드 시작 알림 표시","SETTINGS_NEXT_VIDEO_TRIGGER":"다음 에피소드 알림 표시:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Next video popup duration","SETTINGS_PLAY_IN_BACKGROUND":"Play in background","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Play in external player","SETTINGS_RESIZE":"재생하기 전에 창 크기 자동 조정","SETTINGS_OVERRIDE_SERVER":"스트리밍 서버의 URL을 덮어씁니다(고급)","SETTINGS_SERVER_URL":"스트리밍 서버 URL: ","SETTINGS_SERVER_AVAILABLE":"스트리밍 서버를 사용할 수 있습니다.","SETTINGS_SERVER_UNAVAILABLE":"스트리밍 서버를 사용할 수 없습니다.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Error","SETTINGS_SERVER_CONFIGURE_TITLE":"Configure streaming server url","SETTINGS_SERVER_CONFIGURE_INPUT":"Enter a streaming server url","SETTINGS_SERVER_CACHE_SIZE":"Cache size","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent profile","SETTINGS_HTTPS_ENDPOINT":"스트리밍 HTTPS 엔드포인트: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"항상 최신 베타버전 사용","SETTINGS_IMPORT_FB":"Facebook에서 Import","SETTINGS_IMPORT_DISK":"로컬 디스크에서 Import","SETTINGS_IMPORT_TRAKT":"Trakt에서 Import","SETTINGS_PAUSE_MINIMIZED":"최소화 시 재생 일시정지","SETTINGS_HWDEC":"하드웨어 가속 디코딩","SETTINGS_BACKGROUND":"백그라운드 재생","SETTINGS_SUBSCRIBE_CALENDAR":"일정표 구독","SETTINGS_REQ_EXPORT":"데이터 내보내기 요청","SETTINGS_ACC_DELETE":"계정 삭제 요청","SETTINGS_CHANGE_PASSWORD":"비밀번호 변경","SETTINGS_TOS":"서비스 약관","SETTINGS_SUPPORT":"지원 문의","SETTING_LANGUAGE":"언어","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_LOGOUT":"Trakt.tv에서 로그아웃","SETTINGS_TRAKT_LOGOUT_2":"Trakt에서 로그아웃","SETTINGS_SCAN_FOR_REMOTE":"QR코드를 스캔하여 리모트로 엽니다.","SETTINGS_DESKTOP_NOTIFICATIONS":"데스크탑 알림","SETTINGS_DATA_SAVER":"데이터 세이버","SETTINGS_LANGUAGE_INTERFACE":"인터페이스","SETTINGS_LANGUAGE_SUBS":"기본 자막","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"오디오 트랙 자동 선택","SETTINGS_DEFAULT_AUDIO_TRACK":"기본 오디오 트랙","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"계정","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"버전","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"다른 창에서 플레이어를 기동합니다(상세설정)","SETTINGS_PLAY_IN_EXTERNAL":"항상 외부 플레이어에서 비디오를 시작합니다","SETTINGS_STORAGE_BUTTON":"로컬 스토리지 비우기","SETTINGS_STORAGE_MODAL_TITLE":"확실합니까?","SETTINGS_STORAGE_MODAL_MESSAGE":"로컬 스토리지를 비우고 로그아웃합니다.","SETTINGS_HWDEC_PICKER":"하드웨어 가속 디코딩 설정 선택","SETTINGS_HW_AUTOMATIC":"자동","SETTINGS_HW_DISABLED":"비활성","SETTINGS_HW_ACCELERATED":"디코딩 가속 중","SETTINGS_HW_FULL":"전체 가속","SETTINGS_HW_LEGACY":"레거시","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Subtitles","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Controls","SETTINGS_SECTION_AUTO_PLAY":"Auto-Play","SETTINGS_SECTION_ADVANCED":"Advanced","SUBSPICKER_AUDIO":"오디오","SUBSPICKER_SUBTITLES":"애드온 자막","SUBSPICKER_BLACK_BACKGROUND":"검정색 배경 사용","SUBSPICKER_VERTICAL_OFFSET":"수직 오프셋","SUBSPICKER_SIZE":"크기","SUBSPICKER_DELAY":"딜레이","SUBSPICKER_EMBEDDED_SUBS":"내장된 자막","MOBILE_PRIVACY_POLICY":"개인정보보호 정책","MOBILE_CRASH_REPORTING":"크래시 리포트","MOBILE_ZOOM_TO_FILL":"화면을 채우려면 확대","MOBILE_PASSTHROUGH":"디지털 오디오 출력(패스스루)","MOBILE_RUN_LOW_BATTERY":"배터리 부족 시 실행","MOBILE_RUN_FOREGROUND":"Foreground Service로 실행","MOBILE_PERFORMANCE":"퍼포먼스 & 안정성","MOBILE_SERVER_ONLINE":"온라인","MOBILE_SERVER_OFFLINE":"오프라인","MOBILE_QR_EXPIRES":"만료된 QR 코드","MOBILE_LOG_INTO":"Stremio 계정에 로그인합니다.","MOBILE_SCAN_QR":"위의 QR코드를 스캔하거나 이동","MOBILE_LINK_ACCOUNT":"링크 계정","MOBILE_SPEEDPICKER_CANCEL":"취소","MOBILE_SPEEDPICKER_LABEL":"재생속도 선택","MOBILE_EMPTY_LIBRARY":"라이브러리가 비어 있습니다.","MOBILE_NO_ADDON_ACTIVE":"이 유형에 대해 활성화된 Stremio 애드온이 없습니다.","MOBILE_ORGANIZER_WARNING":"Stremio Organizer 앱은 제한된 기능을 제공합니다. 재생 가능한 스트림 목록과 Stremio의 모든 경험을 보려면 데스크톱에서 Stremio를 사용하십시오.","MOBILE_ADDON_LOADING":"아직 로드 중","MOBILE_ADDONS_LOADING":"애드온은 아직 로드 중입니다.","MOBILE_ADDON":"애드온","MOBILE_CONFIGURE_ADDON":"애드온 설정","MOBILE_CONFIGURE_ADDON_LABEL":"애드온 구성","MOBILE_ORGANIZER_ADDONS_WARNING":"Stremio Organizer 앱은 제한된 애드온을 제공합니다. Stremio를 최대한 활용하려면 데스크톱에서 Stremio를 사용하십시오.","MOBILE_DISCONNECT":"Disconnect","MOBILE_LOOKING_FOR_DEVICES":"디바이스 검색 중...","MOBILE_CAST_TO":"Cast to","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Delete Account","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Account deletion is not instant due to legal obligations. After requesting deletion of your account you will have to use different email address/facebook profile to create a new Stremio account in the future.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirm Account Deletion","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Your account has been created using Facebook. To delete your account, please use our user portal at www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Please provide your password to confirm account deletion.","MOBILE_DELETE_ACCOUNT_BUTTON":"Delete Account","NAVIGATION_ON":"On","NAVIGATION_OFF":"Off","MARKETING_AGREE":"Stremio로부터의 마케팅 정보 수신에 동의합니다.","QUIT":"Quit","CONNECTED":"접속완료","AUTHENTICATE":"인증","CACHING":"캐싱","SETTINGS_CACHING_DRIVE":"드라이브 캐시 중","ENABLE_LOCAL_FILES_ADDON":"로컬 파일 추가 기능을 활성화합니다. (재기동 필요)","LOCAL_ADDON_NOT_ENABLED":"로컬 애드온이 활성화되지 않았습니다. 여기를 클릭하여 설정으로 이동하여 활성화하십시오.","ENABLE_REMOTE_HTTPS_CONN":"리모트 HTTPS 접속 활성화","TORRENT_PROFILE":"Torrent 설정","DATA_CACHING":"데이터 캐싱","MAGNET_PARSING":"마그넷 링크 파싱 중","January":"1월","February":"2월","March":"3월","April":"4월","May":"5월","June":"6월","July":"7월","August":"8월","September":"9월","October":"10월","November":"11월","December":"12월","Monday":"월요일","Tuesday":"화요일","Wednesday":"수요일","Thursday":"목요일","Friday":"금요일","Saturday":"토요일","Sunday":"일요일","Action":"액션","Comedy":"코미디","War":"전쟁","Family":"가족","Animation":"애니메이션","Adventure":"어드벤처","Fantasy":"판타지","Crime":"범죄","Mystery":"미스터리","Romance":"로맨스","Drama":"드라마","Horror":"공포","Thriller":"스릴러","Sci-Fi":"SF","Music":"음악","Biography":"전기","Documentary":"다큐멘터리","Sport":"스포츠","Musical":"뮤지컬","Western":"서부","Film-Noir":"흑인","News":"뉴스","History":"역사","Game-Show":"게임쇼","Reality-TV":"리얼리티","Talk-Show":"토크쇼","Film & Entertainment":"영화 & 엔터테이먼트","Gaming":"게이밍","From TV":"TV프로","Lifestyle":"라이프사이클","Science & Education":"과학 & 교율","Cooking & Health":"요리 & 건강","Beauty & Fashion":"뷰티 & 패션","Sports":"스포츠","News & Politics":"뉴스 & 정치","How-to & DIY":"사용법 & DIY","Tech":"테크","Automotive":"자동차","Causes & Non-Profits":"사업 & 공익","Movies":"영화","Uk Live Tv":"영국 생방송 TV","Fashion":"패션","Business News Radio":"비지니스 뉴스 라디오","Business Tv":"비지니스 TV","Cars & Auto":"자동차 & 자동화","Comedy Radio":"코미디 라디오","Lifestyle Radio":"라이프스타일 라디오","News Tv":"뉴스TV","Food And Wine":"음식 및 와인","Latino Tv":"라틴어 TV","Shopping Tv":"쇼핑 TV","Religion":"종교","Kids":"어린이","Body & Soul":"몸 & 영혼","Education":"교육","Indian Tv":"인도 TV","Extreme Sports":"익스트림 스포츠","Middle Eastern Tv":"중동 TV","Celebrity Tv":"연예인 TV","Science Tv":"사이언스 TV","Bikini babe":"비키니 베이비","Outdoors":"아웃도어","German Tv":"독일 TV","French Tv":"프랑스어 TV","Italian Tv":"이탈리아 TV","Gamer Tv":"게이머 TV","Travel":"여행","Asian Tv":"아시아 TV","Entertainment":"엔터테인먼트","News Radio":"뉴스 라디오","Music Radio":"음악 라디오","Language Learning":"언어학습","Science Radio":"과학 라디오","Tech Radio":"테크 라디오","Science & Technology Vod":"과학 & 기술 VOD","new video":"뉴스 영상","new episode":"새로운 에피소그","new movie":"신작 영화","recommended":"권장","we recommend":"권장합니다.","offer of the day":"오늘의 할인","news":"뉴스","music video":"뮤직비디오","CTX_SHOW_HOTKEYS":"단축키 표시","CTX_DISMISS_NOTIF":"알림 해제","CTX_DISMISS_ALL":"모두 해제","CTX_SHARE":"공유","CTX_COPY_SHARE_LINK":"공유링크 복사","CTX_COPY_MAGNET_LINK":"마그넷링크 복사","CTX_COPY_STREAM_LINK":"스트림링크 복사","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"영상 다운로드","CTX_DOWNLOAD_SUBS":"자막 다운로드","CTX_VIEW_ON_YOUTUBE":"YouTube에서 보기","CTX_SHOW":"보기","CTX_PLAY":"방송","CTX_PLAY_IN":"방송생","CTX_PLAY_ON":"방송중","CTX_WATCH_ON":"시청중","CTX_WATCH":"시청","CTX_WATCHED":"시청완료","CTX_WATCH_BEGINNING":"처음부터 시청하기","CTX_WATCH_MOBILE":"모바일로 시청하기","CTX_REWIND":"처음으로 다시 감기","CTX_MARK_WATCHED":"시청중 표시","CTX_MARK_NON_WATCHED":"시청안함 표시","CTX_MARK_UNWATCHED":"미시청 표시","CTX_MARK_REST":"나머지는 시청한 것으로 표시","CTX_UNMARK_REST":"나머지는 미시청으로 표시","CTX_RECEIVE_NEW_NOTIF":"새로운 알림 수신","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"캐시에서 삭제","CTX_REMOVE_CACHE_EP":"캐시에서 에피소드 삭제","CTX_OPEN_CONTAINING":"소속 폴더 열기","CTX_REMOVE":"라이브러리에서 삭제","CTX_AVAILABLE_OFFLINE":"오프라인에서 사용 가능","CTX_PAUSED":"일시정지","CTX_ALWAYS_ON_TOP":"항상 위에 표시","CTX_FULLSCREEN":"전체 화면","CTX_WRONG_SUBS":"잘못된 자막?","CTX_REPORT_ISSUES":"문제 보고","CTX_COPY":"복사","CTX_PASTE":"붙여넣기","CTX_CLEAR":"지우기","CTX_CLEAR_RECENT_SEARCHES":"최근 검색 지우기","HELLO_THERE":"안녕하세요.","HOPE_YOU_ENJOY":"Stremio를 즐겨주셨으면 좋겠어요, 이미 마음에 드는 앱 중 하나예요!","WHO_ARE_WE":"우리는 누구일까요? 델이 그 배후에 있는 팀입니다.지난 3년간 매일 이 제품을 더 좋게 만들기 위해 열심히 일했던 두 남자입니다.","SUPPORT_US":"Stremio를 즐겨 사용한다면 Stremio가 귀중하다면 널리 알리세요!","SPREAD_THE_WORD":"지금 바로 친구들과 공유하고 Stremio에 대한 소문을 퍼뜨리세요.","MORE_PEOPLE":"Stremio를 많이 사용할수록 더 좋아집니다!","SEND_A_LINK":"또는 당사 웹 사이트로 링크를 보내십시오.","TIP_LOCALFILES":"팁: 로컬 비디오 파일을 Stremio에 드래그 앤 드롭할 수 있습니다","ADDON_MY":"내 애드온","ADDON_COMMUNITY":"커뮤니티 애드온","ADDON_OFFICIAL":"공식 애드온","ADDON_REPOS":"애드온 컬렉션","ADDON_SEARCH":"검색 애드온","ADDON_INSTALL":"설치","ADDON_CONFIGURE":"설정","ADDON_UNINSTALL":"언인스톨","ADDON_UPGRADE":"업그레이드","ADDON_INSTALLED":"설치 완료","ADDON_INSTALLED_MSG":"애드온이 설치되었습니다!","ADDON_UPGRADED_MSG":"애드온이 업그레이드되었습니다!","ADDON_UNKNOWN":"알 수 없음","ADDON_ERR":"애드온 설치 오류!","ADDON_DISCONNECTED":"연결 끊김","ADDON_APP_MISSING":"이 소스의 앱이 설치되지 않았습니다. 지금 설치하시겠습니까?","ADDON_APP_INSTALL":"지금 바로 설치","ADDON_PAGE":"애드온 페이지","ADDON_TOP_CONTENT":"애드온 중에 최고","ADDON_PROVIDES":"이 애드온은 다음을 제공합니다:","ADDON_WATCH":"지금 #{types}를 보세요!","ADDON_WATCH_FREE":"지금 #{types}를 무료로 시청하세요!","ADDON_ADDON":"애드온","ADDON_SUPPORTED_TYPES":"지원 유형","ADDON_SUPPORTED_CATALOGS":"지원 카테고리","ADDON_PROVIDES_DISCOVER":"발견 중인 더 많은 #{types}","ADDON_PROVIDES_STREAMS":"시청 #{types}","ADDON_PROVIDES_STREAMS_FREE":"#{types} 무료 시청","ADDON_PROVIDES_SUBTITLES":"#{types}의 부제목","ADDON_CANTDETECT":"실행 중인 Stremio를 검출할 수 없었기 때문에 설치한 애드온을 검출할 수 없었습니다.","ERR_NO_META":"이것에 대한 정보를 찾을 수 없습니다.","ERR_GETTING_META":"이것에 대한 정보를 가져오는 중 오류가 발생했습니다.","ERR_CANT_PARSE_MAGNET":"마그넷을 해석할 수 없습니다.","ERR_NO_MAGNET_INFOHASH":"마그넷에 유효한 정보 해시가 없습니다.","ERR_NO_FILE_PATH":"파일 경로가 없으면 요청을 전송할 수 없습니다.","ERR_NO_TORRENT":"반환된 토렌트가 없습니다.","ERR_NO_SUPPORTERD_FILES":"지원되는 파일을 찾을 수 없습니다.","ERR_OPENING_FILES":"외부 파일을 열 수 없습니다.","ERR_INVALID_LINK":"유효하지 않은 링크","ERR_REGISTERED_ONLY":"이 옵션은 등록된 사용자만 사용할 수 있습니다.","ERR_CLIPBOARD":"클립보드에서 재생할 수 없습니다.","ERR_CLIPBOARD_READ":"이 플랫폼에서 클립보드를 읽을 수 없습니다.","ERR_CLIPBOARD_GENERIC":"클립보드에 재생 가능한 URL이 없습니다. URL(마그넷 링크 등)을 비디오에 복사하십시오.","BOARD_CONTINUE_WATCHING":"이어 보기","BOARD_EXPLANATION_RECOMMENDATIONS":"특별히 선택한 영화입니다.<br /> 이 동영상은 권장 샘플입니다.","BOARD_EXPLANATION_EPISODES":"좋아하는 시리즈의 새로운 에피소드가 여기에 표시됩니다.<br /> 팔로우한 시리즈를 라이브러리에 추가합니다.","BOARD_EXPLANATION_VIDEOS":"좋아하는 채널의 새로운 에피소드가 여기에 표시됩니다.<br /> 라이브러리에 팔로우할 유튜브 채널을 추가합니다.","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE":"기여","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"Learn more","WEBSITE_COMPANY":"Company","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Need Help?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"바로 보기","WEBSITE_SLOGAN_ALL":"모든 비디오 콘텐츠를 한 곳에서 즐길 수 있습니다.","WEBSITE_SLOGAN_NEW":"모두 시청 가능","WEBSITE_SLOGAN_NEW_NEW":"자유로운 스트림","WEBSITE_WATCH_FROM":"시청 위치","WEBSITE_DOWNLOAD":"지금 바로 다운로드","WEBSITE_DOWNLOAD_FOR":"지금 바로 다운로드 대상","WEBSITE_IS_DESKTOP":"Stremio는 데스크톱 응용 프로그램입니다. PC에서 이 페이지를 열고 다운로드하십시오.","WEBSITE_DESKTOP_DEMO_VID":"데스크탑 데모","WEBSITE_PAGE_HOME":"홈","WEBSITE_PAGE_FEATURES":"기능","WEBSITE_PAGE_ADDONS":"애드온","WEBSITE_PAGE_TECH":"테크놀로지","WEBSITE_PAGE_CREATE_ADDON":"애드온 생성","WEBSITE_PAGE_CONTACTS":"연락처","WEBSITE_PAGE_BLOG":"블로그","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"영화","WEBSITE_TYPE_series_PL":"시리즈","WEBSITE_TYPE_tv":"라이브 TV","WEBSITE_TYPE_channel":"채널","WEBSITE_STREMIO_WHAT_IS":"Stremio는 마음에 드는 비디오, 영화, TV 시리즈, TV 채널을 정리하고 바로 볼 수 있는 앱입니다.","WEBSITE_FEATURES_WATCH":"즉시 HD로 보기","WEBSITE_FEATURES_WATCH_DETAIL":"즐겨찾는 영화, TV 프로그램, 비디오 및 TV 채널을 클릭하여 재생합니다.","WEBSITE_FEATURES_SUBS":"자동 자막","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio는 자동으로 해당 언어의 동기화된 자막을 선택합니다.","WEBSITE_FEATURES_SUBS_LABEL":"당신 차례입니다.","WEBSITE_FEATURES_CAST":"TV 및 모바일 디바이스에서 재생","WEBSITE_FEATURES_CAST_DETAIL":"AppleTV, Chromecast, 스마트 TV(DLNA/UPnP) 및 모바일 장치로 전송합니다.","WEBSITE_LIB":"모든 디바이스에서 동기화된 퍼스널 라이브러리를 즐기세요.","WEBSITE_LIB_COLLECT":"Stremio에서 수집","WEBSITE_LIB_IMPORT":"Facebook에서 Import","WEBSITE_LIB_LOCAL":"로컬 드라이브에서 추가","WEBSITE_BOARD":"게시판 - 알림 및 권장 사항을 위한 원스톱 장소","WEBSITE_BOARD_RECOMMEND":"권장 TV 프로그램","WEBSITE_BOARD_TRENDING":"트렌딩 무비","WEBSITE_BOARD_NEW":"새로운 영상","WEBSITE_BOARD_EPISODE":"새로운 에피소드","WEBSITE_BOARD_1":"재미있는 볼거리를 찾고 계십니까? 취향에 맞는 추천을 받아보세요!","WEBSITE_BOARD_2":"좋아하는 TV 프로그램이나 YouTube 채널의 새로운 에피소드가 나오면 알려드립니다!","WEBSITE_BOARD_YOUTUBE":"유튜브 채널 신규 영상","WEBSITE_BOARD_EPISODES":"당신이 팔로우하는 시리즈의 새로운 에피소드","WEBSITE_ADDONS":"콘텐츠 애드온","WEBSITE_TECH_DETAIL":"우리는 테크놀로지와 미친 과학을 사랑합니다!\\nStremio는 다음 오픈소스 기술을 사용하고 있습니다.:","WEBSITE_TECH_WCJS":"WebChimera.js를 사용하면 Stremio는 어떤 비디오 형식에서도 뛰어난 퍼포먼스로 재생할 수 있습니다.","WEBSITE_TECH_WCJS_EXTRA":"우리는 프로젝트의 핵심 기여자입니다.","WEBSITE_TECH_ELECTRON":"Electron은 Stremio를 구축할 수 있는 혁신적인 플랫폼을 제공합니다.","WEBSITE_TECH_ELECTRON_EXTRA":"우리는 프로젝트 기여자입니다.","WEBSITE_TECH_LINVODB":"데이터를 정리하여 로그인 시 어디서나 이용할 수 있는 데이터베이스 테크놀로지입니다.","WEBSITE_TECH_LINVODB_EXTRA":"내부기술","WEBSITE_CREATE_ADDON":"애드온 작성","WEBSITE_CREATE_ADDON_DETAIL":"비디오 콘텐츠를 제공하는 서비스가 있습니까? Addon을 작성함으로써 Stremio의 기능을 활용할 수 있도록 지원합니다.","WEBSITE_CREATE_ADDON_BENEFITS":"Stremio용 애드온 작성의 이점","WEBSITE_P2P_BEAUTY":"Peer-to-Peer 스트리밍의 묘미","WEBSITE_P2P_1":"안정적이고 저렴한 Full HD/4K 주문형 비디오 또는 라이브 스트리밍","WEBSITE_P2P_2":"좋은 사용자 경험을 제공하는 배포 플랫폼","WEBSITE_P2P_3":"필요에 맞는 확장 프로그램을 만들겠습니다.","WEBSITE_P2P_CONTACT":"관심이 있습니까? <a href=\'mailto:office@stremio.com\'>문의</a>를 환영합니다.","WEBSITE_P2P_CONTACT_EXTRA":"Stremio와 콘텐츠를 통합하는 데 도움을 드리고 싶습니다!","WEBSITE_P2P":"가끔은 게임의 규칙을 바꾸는 기술이 등장합니다. 우리는 뛰어난 성능과 용도에 맞게 맞춤화할 수 있는 다용도\\nDRM 지원 P2P 주문형 비디오 또는 라이브 스트리밍에 대해 문의하십시오.","WEBSITE_THOUGHTS":"우리가 공유하는 생각:","WEBSITE_SPREAD":"Stremio에 대해 널리 알리세요:","WEBSITE_CONTACT":"연락주세요. 연락주시면 감사하겠습니다!","WEBSITE_OPENSOURCE":"오픈소스 프로젝트에 대해서는 다음 사이트를 참조하십시오.","WEBSITE_BITCOIN":"비트코인 기부:","WEBSITE_FAQ":"자주 묻는 질문","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"질문","WEBSITE_TOS":"이용약관","WEBSITE_LEGAL":"법률","WEBSITE_PAGE_ABOUT":"정보","WEBSITE_PAGE_BECOME_PARTNER":"파트너가 되어주세요.","WEBSITE_ALL_YOU_CAN_WATCH":"원하는 모든 것을 자유롭게\\n시청할 수 있습니다.","WEBSITE_FREEDOM_TO_STREAM":"스트리밍의 자유","WEBSITE_WHAT_IS_STREMIO":"Stremio란?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio는 비디오 콘텐츠 집계를 위한 원스톱 허브입니다. 소유한 모든 장치에서 모든 종류의 소스에서 비디오를 검출, 정리, 시청할 수 있습니다.","WEBSITE_WHAT_IS_STREMIO_P2":"영화, TV 프로그램, 시리즈, 라이브 텔레비전 또는 YouTube나 Twitch.tv 등의 웹 채널 - 이 모든 것을 Stremio에서 찾을 수 있습니다.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio는 비디오 엔터테인먼트를 위한 원스톱 솔루션입니다. 설치가 용이한 애드온에서 비디오 콘텐츠를 검출, 시청 및 정리할 수 있습니다.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"영화, TV 프로그램, 라이브 TV 또는 웹 채널 - 이 모든 것을 Stremio에서 찾을 수 있습니다.","WEBSITE_ENJOI_ON_ALL_DEVICES":"모든 미디어 디바이스에서 즐기세요.","WEBSITE_DEVICES_COLLECT":"Stremio에서 수집","WEBSITE_DEVICES_IMPORT_FB":"페이스북에서 Import","WEBSITE_DEVICES_LOCAL":"로컬 드라이브에서 추가","WEBSITE_JOIN_THE_PARTY_NOW":"지금 바로 파티에 참여하십시오.","WEBSITE_DEVICES_ALL":"모든 기기에서 사용하기 쉽습니다.","WEBSITE_EXTENDABLE_CATALOG":"무한히 확장 가능한 비디오 카탈로그","WEBSITE_ORGANIZE_YOUR_MEDIA":"미디어 정리를 위한 뛰어난 기능","WEBSITE_AS_SEEN_ON":"에 표시된 대로","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"당사에 대하여","WEBSITE_LINK_TECHNOLOGY":"테크놀로지","WEBSITE_LINK_APPS":"앱","WEBSITE_LINK_DOWNLOADS":"다운로드","WEBSITE_MORE":"상세","WEBSITE_LINK_ADDONS":"애드온","WEBSITE_LINK_ADDON_SDK":"애드온 SDK","WEBSITE_LINK_CONTRIBUTE":"기여자","WEBSITE_LINK_COMMUNITY":"커뮤니티","WEBSITE_LINK_BLOG":"블로그","WEBSITE_MORE_MORE":"... & 상세","WEBSITE_LINK_HELP":"헬프센터","WEBSITE_LINK_CONTACTS":"비즈니스 문의","WEBSITE_LINK_TOS":"이용약관","WEBSITE_LINK_PRAVACY":"개인정보보호 정책","WEBSITE_SUBSCRIBE":"구독","WEBSITE_NEWSLETTER":"놀라운 소식을 위해 뉴스레터에 가입하세요.","WEBSITE_PLACEHOLDER_EMAIL":"당신의 이메일","WEBSITE_COMMUNITY":"커뮤니티","WEBSITE_LINK_PRAVACY_LEGAL":"개인정보보호 & 범률","WEBSITE_WHY":"우리가 하는 이유","WEBSITE_WHY_P1":"Stremio에서는 비디오 온 디맨드 업계의 중요한 문제를 해결하기 위해 매일 출근하고 있습니다. 매분 새로운 컨텐츠가 너무 많이 공개되고 있기 때문에, 그것을 회피하는 방법을 찾는 것은 사실상 불가능합니다.","WEBSITE_WHY_P2":"우리는 사람들이 비디오 엔터테인먼트의 거대한 세계를 탐색하고 즐길 수 있는 새로운 콘텐츠를 찾도록 돕습니다. 우리 앱은 영화, 시리즈, 라이브 TV, 웹 채널 등을 함께 제공합니다. 사용자가 좋아하는 타이틀과 방송사를 매우 쉽게 찾을 수 있도록 최선을 다하고 있습니다.","WEBSITE_WHY_P3":"언제 어디서나 모든 장치에서 당사 서비스를 사용할 수 있으므로 Stremio는 당신이 필요로 하는 유일한 비디오 엔터테인먼트 허브가 됩니다.","WEBSITE_TEAM":"팀","WEBSITE_TEAM_P":"Stremio 팀은 작지만 강력합니다.저희 10명 사이에 X개 언어로 코딩하고 소프트웨어 개발, UI 및 UX 설계, 마케팅 및 광고, 비즈니스 및 스타트업 관련 전문 지식을 공유합니다.","WEBSITE_FEATURES":"기능","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"새로운 콘텐츠를 쉽게 발견할 수 있습니다.","WEBSITE_FEATURES_DISCOVER_P":"새로운 영화, TV 프로그램, 시리즈 및 채널을 쉽게 찾을 수 있습니다. 카테고리, 장르, 등급, 추천서 등을 참조하거나 검색할 이름을 입력합니다. Stremio는 새로운 비디오 콘텐츠를 찾는 것을 쉽게 할 수 있습니다.","WEBSITE_FEATURES_ALL_CONTENT":"모든 비디오 콘텐츠를 한 화면에 표시","WEBSITE_FEATURES_ALL_CONTENT_P1":"완료하지 않은 영화, 시리즈 또는 비디오를 보고 계속 시청합니다.새로운 에피소드 및 개봉에 대해 알림을 받고 시청 습관에 따라 권장사항을 참조하십시오.","WEBSITE_FEATURES_LIBRARY":"비디오 라이브러리 정리","WEBSITE_FEATURES_LIBRARY_P1":"클릭 한 번으로 Stremio 라이브러리에 제목을 추가하고 콘텐츠를 유형, 레퍼런스 또는 알파벳 순서로 깔끔하게 정렬하여 찾을 수 있습니다.","WEBSITE_FEATURES_CALENDAR":"시청하는 모든 것을 추적합니다.","WEBSITE_FEATURES_CALENDAR_P1":"라이브러리에 추가하는 모든 영화 및 시리즈의 캘린더 시각화를 가져옵니다. Stremio 캘린더를 내보내고 동기화하면 새로운 에피소드 또는 프리미어 예정일이 언제인지 항상 알 수 있습니다.","WEBSITE_FEATURES_BIG_SCREEN":"비디오 콘텐츠를 더 큰 화면으로 즐기세요.","WEBSITE_FEATURES_BIG_SCREEN_P1":"클릭 한 번으로 스마트폰, 태블릿, TV 등 시청하고 있는 것을 다른 디바이스에 캐스트 할 수 있습니다.","WEBSITE_FEATURES_SOURCES":"다양한 소스에서 비디오를 시청합니다.","WEBSITE_FEATURES_SOURCES_P":"공식 애드온과 커뮤니티 애드온을 설치하여 다양한 프로바이더가 제공하는 비디오를 모두 스타일리시하고 사용하기 쉬운 하나의 앱으로 즐길 수 있습니다.","WEBSITE_CREATE_AN_ADDON":"애드온 개발","WEBSITE_FEATURES_SYNC":"다른 디바이스 간에 라이브러리를 동기화하고 재생을 재개합니다.","WEBSITE_FEATURES_SYNC_P1":"모든 디바이스에서 계정으로 로그인하여 라이브러리, 애드온, 재생 및 캘린더를 동기화하여 즐기십시오.","WEBSITE_FEATURES_EXTENDABLE":"애드온별로 확장 가능한 비디오 카탈로그","WEBSITE_FEATURES_EXTENDABLE_P1":"Stremio 애드온 카탈로그는 다양한 비디오 콘텐츠를 설치하고 시청할 수 있는 많은 애드온을 제공합니다. 여기에는 영화, 프로그램, 라이브 TV, 스포츠, 뉴스, 팟캐스트, 웹 채널, 비디오 게임 등이 포함됩니다.","WEBSITE_FEATURES_AUTO_SUBS":"자동 자막","WEBSITE_FEATURES_AUTO_SUBS_P1":"자막 애드온을 사용하면 원하는 언어에 대한 옵션이 자동으로 선택됩니다.","WEBSITE_FEATURES_CHROMECAST":"크롬캐스트에 캐스팅","WEBSITE_FEATURES_CHROMECAST_P1":"비디오 콘텐츠를 더 큰 화면으로 즐기거나 보고 있는 콘텐츠를 다른 기기에 캐스트하세요.","WEBSITE_FEATURES_KEEP_TRACK":"즐겨보는 TV 프로그램 및 웹 채널 추적","WEBSITE_FEATURES_KEEP_TRACK_P1":"즐겨찾는 시리즈와 웹 채널의 새로운 에피소드에 대한 캘린더 시각화와 알림을 받을 수 있습니다.","WEBSITE_FEATURES_POWER_USER":"파워 유저의 기능","WEBSITE_FEATURES_POWER_USER_P1":"외장 플레이어에서 재생","WEBSITE_FEATURES_POWER_USER_P2":"토렌트 파일 또는 마그넷 링크에서 재생","WEBSITE_FEATURES_POWER_USER_P3":"Facebook like 또는 로컬 디스크에서 라이브러리로 Import","WEBSITE_ADD_ONS":"애드온","WEBSITE_ADD_ONS_P1":"Stremio가 제공하는 모든 비디오 콘텐츠는 애드온 시스템을 통해 제공됩니다.콘텐츠 또는 콘텐츠 공급자는 앱에 포함되어 있지 않습니다.","WEBSITE_ADD_ONS_P2":"사용 가능한 애드온 그룹은 공식 애드온과 커뮤니티 애드온 두 가지가 있습니다.","WEBSITE_ADD_ONS_P3":"공식적인 것은 Stremio가 개발하고 호스트하는 반면 커뮤니티 애드온은 커뮤니티 멤버에 의해 개발되며 커뮤니티 애드온도 공유합니다.","WEBSITE_ADDONS_OFFICIAL":"공식 애드온","WEBSITE_ADDONS_WATCHUB":"iTunes, Hulu, Amazon 및 기타 영국/미국 서비스 프로바이더에서 좋아하는 영화, 시리즈, 쇼를 스트리밍하십시오.","WEBSITE_ADDONS_YOUTUBE":"좋아하는 YouTube 채널을 무료로 시청하고 팔로우하는 투고자로부터 새로운 업로드에 대한 알림을 받으십시오.","WEBSITE_ADDONS_FILMON":"라이브 TV, 영화, 소셜 TV를 무료로 시청하세요. 600개의 TV 채널, 45,000개의 무료 영화, 다큐멘터리 등","WEBSITE_ADDONS_OPENSUBTITLES":"다국어 영화 및 TV 자막, 매일 수천 개의 번역 자막 업로드","WEBSITE_ADDONS_COMMUNITY":"커뮤니티 애드온","WEBSITE_ADDONS_FILMON_VOD":"Filmon.tv에서 온디맨드 비디오 보기","WEBSITE_ADDONS_TWICH":"e스포츠 업계용 비디오 스트리밍 플랫폼인 Twitch.tv에서 라이브 스트림을 시청하십시오.","WEBSITE_ADDONS_VODO":"완전 무료로 인디 영화를 감상하세요.","WEBSITE_ADDONS_NETFLIX":"Netflix 영화 및 웹 시리즈를 시청합니다.","WEBSITE_ADDONS_CREATE":"애드온 개발","WEBSITE_ADDONS_CREATE_P1":"원하시면, 독자적인 애드온을 개발할 수 있습니다. 이를 통해 귀사와 당사의 커뮤니티에서 새로운 비디오 콘텐츠에 접근할 수 있으며, 전 세계 수백만 명의 사용자의 잠재고객에게 다가갈 수 있습니다.","WEBSITE_ADDONS_START_CREATE":"시작하려면 Stremio Addon SDK 페이지를 방문하십시오.","WEBSITE_DOWNLOADS":"다운로드","WEBSITE_DOWNLOADS_P1":"최적의 성능을 위해 최신 버전의 Stremio 앱을 사용하는 것이 좋습니다. 다만, 어떠한 이유로 구버전을 사용하고 싶은 경우는, 여기서 다운로드할 수 있습니다.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Windows용 Stremio","WEBSITE_DOWNLOADS_FOR_MAC":"MacOS용 Stremio","WEBSITE_DOWNLOADS_FOR_LINUX":"Linux용 Stremio","WEBSITE_DOWNLOADS_FOR_ANDROID":"Android용 Stremio","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Android TV용 Stremio","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Android Mobile용 Stremio","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Steam Deck용 Stremio","WEBSITE_DOWNLOADS_FOR_IOS":"iOS용 Stremio (limited version)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"Stremio 플랫폼은 오픈 소스이며 현재 소싱되지 않은 콘텐츠에 대한 애드온을 쉽게 만들 수 있습니다.","WEBSITE_CONTRIBUTE_WHY":"애드온을 작성해야 하는 이유?","WEBSITE_CONTRIBUTE_WHY_P1":"비디오 콘텐츠 신규 사용자 확보","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio의 유저 베이스는 급속히 성장하고 있습니다. Stremio는 출시 1년 만에 전 세계에서 100만 명의 유저를 확보했고, 플랫폼 설립 2년째에는 250만 명으로 증가했습니다.","WEBSITE_CONTRIBUTE_WHY_P3":"애드온으로 시청자에게 쉽게 접근하여 동영상 콘텐츠를 배포할 수 있습니다.","WEBSITE_CONTRIBUTE_ALL":"좋아하는 영화, 비디오, 시리즈, 채널을 한 곳에서 감상할 수 있습니다.","WEBSITE_CONTRIBUTE_ALL_P1":"Stremio에서 아직 이용할 수 없는 특정 유형의 콘텐츠 팬입니까? 애드온을 만들고 가장 크고 사용하기 쉬운 엔터테인먼트 허브 중 하나에서 마음에 드는 비디오를 즐겨보세요.","WEBSITE_CONTRIBUTE_ALL_P2":"게다가, 같은 생각을 가진 다른 Stremio 커뮤니티 멤버들의 무한한 감사를 받을 수 있습니다.","WEBSITE_CONTRIBUTE_MONETIZE":"애드온을 수익을 창출하고, 그 도움을 받아 수익을 올리세요.","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Stremio용 새로운 애드온을 개발하면 다양한 방법으로 쉽게 수익화할 수 있습니다. 만약 이 점을 고려하신다면, 부담없이 문의해 주십시오.","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - 애드온 머니타이제이션 옵션에 대해 기꺼이 상담 및 조언을 드리겠습니다.","WEBSITE_CONTRIBUTE_TRANSLATE":"자원봉사 번역가가 되십시오.","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"다른 언어로 된 Stremio 앱을 즐기고 싶으시면 저희 자원봉사 번역자 커뮤니티에 참여하실 수 있습니다. Stremio 버전을 여러 언어로 추가할 수 있습니다.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"시작하시겠습니까?","WEBSITE_TRANSALTE_STREMIO":"Stremio 번역","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"공식 커뮤니티","WEBSITE_COMMUNITY_OFFICIALS_P1":"성장하는 Stremio 커뮤니티의 일원이 되십시오. 소셜 미디어 팔로우 해 주세요.부끄러워하지 말고 인사하세요. 팬분들의 의견을 듣는 게 너무 좋아요! ","WEBSITE_COMMUNITY_UNOFFICIALS":"비공식 커뮤니티","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partners and supporters","WEBSITE_COMMUNITY_GOODIES":"Stremio goodies","WEBSITE_COMMUNITY_WALLPAPERS":"Wallpapers","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"문의","WEBSITE_CONTACT_US_P1":"질문, 코멘트, 제안사항이 있으시면 아래 연락처 폼으로 연락주시기 바랍니다.","WEBSITE_CONTACT_US_P2":"당사는 불가리아에 있으므로 시간대 차이로 인해 문의처리가 지연될 수 있습니다.","WEBSITE_CONTACT_US_SUCCESS":"메시지가 발송되었습니다. 가능한 한 빠른 시일 내에 연락드리겠습니다.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"유효한 이메일을 입력하세요!","WEBSITE_CONTACT_US_Q_RELATED_TO":"질문은 무엇에 관한 것입니까?","WEBSITE_CONTACT_US_Q_OS":"운영체제는 무엇입니까?","WEBSITE_CONTACT_US_PH_EMAIL":"단신의 E-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"메시지","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"전송","WEBSITE_CONTACT_US_Q_1":"어떻게 설치 하나요?","WEBSITE_CONTACT_US_Q_2":"어떻게 삭제 하나요?","WEBSITE_CONTACT_US_Q_3":"(HTML) 라자냐는 어떻게 만드나요?","WEBSITE_CONTACT_US_Q_4":"Addons","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"테크놀로지","WEBSITE_TECHNOLOGY_P1":"우리는 테크놀로지와 광기어린 과학을 사랑합니다. </br> 다음은 Stremio(모두 오픈소스)를 지원하는 기능입니다.","WEBSITE_TECHNOLOGY_P_QT":"크로스 플랫폼 소프트웨어 개발은 최고입니다.","WEBSITE_TECHNOLOGY_P_MPV":"프리 오픈 소스 크로스 플랫폼 미디어 플레이어입니다.","WEBSITE_TECHNOLOGY_P_RN":"React Native를 사용하면 JavaScript만을 사용하여 모바일 앱을 구축할 수 있습니다.","WEBSITE_TECHNOLOGY_P_VLC":"멀티미디어를 얻기 위해 응용 프로그램에 내장된 미디어 프레임워크입니다.","WEBSITE_TECHNOLOGY_P_REALM":"Realm은 모바일 플랫폼이며 SQLite & Core Data를 대체하는 것입니다.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js는 오픈소스 크로스 플랫폼 자바스크립트 런타임 환경입니다.","WEBSITE_TECHNOLOGY_P_RUST":"RUST는 안전성, 특히 안전한 동시성에 초점을 맞춘 다중 패러다임 시스템 프로그래밍 언어입니다.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"프로젝트에 기여","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Stremio에 기여하는 방법과 제품 개선을 지원하는 방법에는 두 가지가 있습니다.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"플랫폼을 번역하여 소중한 언어 능력을 기부할 수 있습니다...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"또는","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... 커뮤니티 애드온을 작성하기 위해 당신의 프로그래밍 노하우를 사용할 수 있습니다. ","WEBSITE_TRANSLATE_STREMIO":"Stremio 번역","WEBSITE_404_OH_NO":"오오오오! 찾으시는 페이지는 여기에 없습니다...","WEBSITE_GO_HOME":"홈으로 이동","WEBSITE_LINK_OTHER_DOWNLOADS":"기타 다운로드","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"지원","WEBSITE_DOWNLOAD_4_0_BETA":"Stremio 4 베타판 지금 바로 다운로드","WEBSITE_GET_FOR_DESKTOP":"데스크탑용","WEBSITE_LINK_ADDON_COMPETITION":"애드온 경쟁","WEBSITE_LINK_ART_CONTEST":"아트 콘테스트","WEBSITE_MY_ACCOUNT":"내 계정","WEBSITE_MAINPAGE_FAQ_001_H1":"Stremio란?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio는 원하는 모든 것을 자유롭게 볼 수 있는 현대적인 미디어 센터입니다.","WEBSITE_MAINPAGE_FAQ_002_H1":"어떻게 동작합니까?","WEBSITE_MAINPAGE_FAQ_002_P1":"단말기에 Stremio를 설치하고 계정을 만들면 애드온 카탈로그에 접속하여 원하는 애드온을 설치하면 됩니다.","WEBSITE_MAINPAGE_FAQ_002_P2":"그 후 [Discover]섹션 또는 [Board]섹션으로 이동하여 콘텐츠 탐색을 시작할 수 있습니다.","WEBSITE_MAINPAGE_FAQ_003_H1":"여기서 볼 수 있는 건?","WEBSITE_MAINPAGE_FAQ_003_P1":"많은 것: 영화, TV 프로그램, 웹 채널, 스포츠, TV 채널, 팟캐스트 듣기 등. 델의 애드온 시스템 덕분에 다양한 콘텐츠에 접속할 수 있습니다.","WEBSITE_MAINPAGE_FAQ_004_H1":"Stremio는 오픈 소스입니까?","WEBSITE_MAINPAGE_FAQ_004_P1":"예, ${1}데스크탑 app${2} 및 ${3}GitHub organization${4} 링크를 확인할 수 있습니다.","WEBSITE_MAINPAGE_FAQ_005_H1":"Stremio는 안전합니까?","WEBSITE_MAINPAGE_FAQ_005_P1":"네, 오픈 소스 소프트웨어이므로 코드는 공개적으로 보는것이 가능하며 사용자가 직접 검토할 수 있습니다.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"프라이버시는 어떻습니까?","WEBSITE_MAINPAGE_FAQ_006_P1":"저희는 사용자의 프라이버시를 존중하며 계정을 만들고 동기화하기 위해 필수적인 최소값 이외에는 개인정보를 수집하지 않습니다.","WEBSITE_MAINPAGE_FAQ_006_P2":"등록 시 ${1}게스트 모드${2}도 있습니다.이 모드에서는 백엔드에 콜이 발신되지 않습니다. 단, 디바이스 간에 라이브러리를 동기화할 수 있는 등 유용한 기능을 희생합니다.","WEBSITE_MAINPAGE_FAQ_007_H1":"TV에 캐스팅할 수 있습니까?","WEBSITE_MAINPAGE_FAQ_007_P1":"네, Chromecast를 지원하며 데스크톱 및 모바일 앱(Android)에서 모두 캐스팅할 수 있습니다.","WEBSITE_MAINPAGE_FAQ_008_H1":"Stremio에는 몇 개의 애드온이 있습니까?","WEBSITE_MAINPAGE_FAQ_008_P1":"2019년 말 현재 50세 이상 - 자세한 내용은 Addon 카탈로그를 참조하십시오.","WEBSITE_MAINPAGE_FAQ_009_H1":"Stremio를 애드온 카탈로그보다 더 확장할 수 있습니까?","WEBSITE_MAINPAGE_FAQ_009_P1":"예, ${1}PimpMyStremio${2}, ${3}Reddit 커뮤니티${4}, ${5}Stremio Downloader${6} 등을 확인하십시오.","WEBSITE_MAINPAGE_FAQ_010_H1":"Stremio가 지원하는 디바이스는 무엇입니까?","WEBSITE_MAINPAGE_FAQ_010_P1":"Windows, Mac 및 Linux용 데스크톱 애플리케이션이 있습니다. 모바일의 경우 Android 및 iOS를 지원하지만 iOS는 기능이 제한되어 있습니다(대부분의 애드온을 지원하지 않음).","WEBSITE_MAINPAGE_FAQ_010_P2":"NVIDIA Shield나 Amazon Fire Stick 등 Stremio를 실행할 수 있는 Android 기반 디바이스는 많이 있지만 공식적으로 지원하지 않습니다.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Stremio에 특정 콘텐츠를 추가할 수 있습니까?","WEBSITE_MAINPAGE_FAQ_011_P1":"본사에서 제공하는 콘텐츠는 없습니다만, Stremio 애드온이 많을수록 더 많은 콘텐츠를 찾을 수 있습니다.","WEBSITE_MAINPAGE_FAQ_012_H1":"Stremio는 마그넷 링크를 재생할 수 있습니까?","WEBSITE_MAINPAGE_FAQ_012_P1":"네, 일반 HTTP 링크 및 토렌트 파일(드래그 앤 드롭)도 재생할 수 있습니다.","WEBSITE_MAINPAGE_FAQ_013_H1":"비디오를 다운로드하여 오프라인으로 시청할 수 있습니까?","WEBSITE_MAINPAGE_FAQ_013_P1":"오프라인에서 사용할 수 있는 기능이 곧 출시될 예정이지만 Stremio를 (설정 패널에서) 디바이스에 캐시하도록 허용하면 나중에 연결 없이 비디오를 볼 수 있습니다.","WEBSITE_MAINPAGE_FAQ_014_H1":"아무것도 작동하지 않습니다.도와주세요!","WEBSITE_MAINPAGE_FAQ_014_P1":"애드온을 설치하시겠습니까? 확인하신 경우 ${1}헬프센터${2}에 문의해 주십시오.","WEBSITE_MAINPAGE_FAQ_015_H1":"Stremio는 어떻게 개발 작업을 유지합니까?","WEBSITE_MAINPAGE_FAQ_015_P1":"간헐적으로 방해가 되지 않는 광고를 실행하지만 기부 모델로 전환하는 것을 고려하고 있습니다.","WEBSITE_MAINPAGE_FAQ_015_P2":"자세한 내용은 ${1}헬프센터 ${2}를 참조하십시오.","HELP_LEARN_MORE":"고객에 대해 자세히 알아보겠습니다.","LIFESTYLE":"라이프스타일","SPORTS":"스포츠","FOOD_HEALTH":"식품 & 건강","BEAUTY_FASHION":"뷰티 & 패션","NEWS":"뉴스","GAMING":"게이밍","SCIENCE_EDUCATION":"과학 & 교육","MUSIC":"음악","TRAVEL":"여행","LATE_NIGHT":"심야방송","REALITY":"리얼리티","COMEDY":"코미디","DIY":"DIY","TECH":"테크","CINEMA":"시네마","CONTINUE":"계속","SLOW_LOADING":"로딩이 느립니까?","I_GIVE_UP":"포기한다.","LEARN_MORE":"더 알아보기","POOR_SOURCE":"이 소스를 제대로 사용할 수 없거나 인터넷 연결이 충분히 빠르지 않습니다.","PICK_CATEGORIES_ERR":"최소 3개의 카테고리를 선택해야 합니다.","ADJUST_TIMING":" 타이밍 조정 ","ADJUST_SIZE":" 사이즈 조정 ","SEARCH_ANYTHING":"무엇이든 검색할 수 있습니다...","ALL_CATEGORIES":"전체","SEARCH_CATEGORIES":"영화, 시리즈, YouTube & TV","SEARCH_PERSONS":"배우, 감독 & 작가","SEARCH_PROTOCOLS":"HTTP & 마그넷 링크","SEARCH_TYPES":"IMDB / TVDB 링크","WATCHED":"시청완료.","SHOW_LESS":"감추기","LAST_SEARCHES":"마지막 검색","CLEAR_HISTORY":"이력 지우기","CHOOSE_SOME":"이 중 일부를 선택하세요.:","NO_WEB_REMOTE":"Web Remote를 로드할 수 없습니다.","STREMIO_OFFLINE":"Stremio는 오프라인","STREMIO_EXPENSIVE_CONNECTION":"모바일 데이터 연결을 사용하고 있습니다.계속하시겠습니까?","USE_DATA":"데이터 사용","WARNING":"경고","MORE_INFO":"상세정보...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"로딩중 ...","STREMIO_TV_BACK_TO_LANGUAGES":"언어로 돌아가기","STREMIO_TV_REMOTE":"리모트","STREMIO_TV_GO_TO":"이동:","STREMIO_TV_OR_SCAN":"또는 스캔:","STREMIO_TV_ADDON_INSTRUCTIONS":"필요한 애드온을 설치하려면 지시에 따르십시오.","STREMIO_TV_LIVE_TV":"라이브 TV","STREMIO_TV_RESUME_WATCHING":"시청 재개","STREMIO_TV_LOADING_BACKGROUND":"배경 로딩 중","STREMIO_TV_CHECKING_AUTHENTICATION":"인증 확인 중","STREMIO_TV_LOADING_BOARD":"로딩 게시판","STREMIO_TV_LOGIN_HEADER_LINE_1":"우리는 사용자가 우리 소프트웨어를 사용하여 가능한 한 최고의 개인화된 경험을 하기를 바랍니다.","STREMIO_TV_LOGIN_HEADER_LINE_2":"이를 위해 계정 가입 및 로그인을 부탁드립니다.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"이해해해 주셔서 감사합니다.","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Stremio 팀","STREMIO_TV_REMOTE_INSTRUCTIONS":"스마트폰/태블릿/데스크탑에서 웹 리모트를 사용하려면:","STREMIO_TV_WIFI_SETUP":"Wi-Fi 셋업","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle이 인터넷 연결을 검출하지 못했습니다.","STREMIO_TV_WIFI_DETAILS_1":"접속 위치:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"비밀번호 사용:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"링크를 사용하여 웹 브라우저를 엽니다.:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"기본값","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"최근 시청","STREMIO_TV_LIBRARY_SORT_NAME":"이름","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"시청 시간별","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"시즌 ${1}","STREMIO_TV_STREAMS_LOADING":"${1} / ${2} 애드온 로딩중...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} 애드론 계속 로딩중...","STREMIO_TV_PLAYER_SETTINGS":"플레이어 설정","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"자막 지연","STREMIO_TV_PLAYER_AUDIO_DELAY":"오디오 지연","STREMIO_TV_PLAYER_VIDEO_SCALING":"비디오 스케일링","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"지원되지 않는 스트림 소스","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"외부 링크 열기 실패","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Not adjustable in audio passthrough mode","STREMIO_TV_PLAYER_PLAY_IN_EXO":"ExoPlayer로 재생","STREMIO_TV_PLAYER_PLAY_IN_VLC":"libVLC player로 재생","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"재생 오류로 인하여 libVLC player로 전환 중","STREMIO_TV_ADDONS_TITLE":"전화기 또는 PC에서 Stremio를 사용하여 애드온을 설치 또는 설정하고 \\"애드온 동기화\\"를 누르십시오.","STREMIO_TV_ADDONS_SUBTITLE":"주의: 동일한 Stremio 계정을 사용하고 있는지 확인하십시오.","STREMIO_TV_ADDONS_SYNC_ADDONS":"애드온 동기화","STREMIO_TV_ADDONS_SYNC_SUCCESS":"애드온이 정상적으로 동기화되었습니다.","STREMIO_TV_ADDONS_SYNC_FAILED":"애드온 동기화에 실패했습니다.","STREMIO_TV_META_LINK_FAILED":"메타 링크를 열지 못했습니다.","STREMIO_TV_CATALOG_LOADING":"카탈로그가 아직 로딩 중...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"인터페이스 언어 갱신","STREMIO_TV_SETTINGS_THEME_UPDATED":"테마 갱신","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Default Player","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"External Player","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"선호 언어","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"2차 선호 언어","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"터널링 재생","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"일부 디바이스에서 재생 문제가 발생할 수 있습니다.","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"일부 비디오 형식이 작동하지 않을 수 있습니다.","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"캐싱 없음","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"기본값","STREMIO_TV_SETTINGS_PROFILE_SOFT":"저속","STREMIO_TV_SETTINGS_PROFILE_FAST":"고속","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"초고속","STREMIO_TV_SETTINGS_SERVER_URL":"스트리밍 서버 URL","STREMIO_TV_SETTINGS_SERVER_VERSION":"서버 버전","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"알 수 없음","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio 버전","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"서버 URL 수정","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"스트리밍 서버의 URL을 입력하십시오","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Show statistics while loading","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"Stremio의 개인정보보호 정책을 읽으려면 다음 사이트를 방문하십시오.:","STREMIO_TV_SETTINGS_TOS_TEXT":"Stremio 계약조건을 읽으려면 다음 사이트를 방문하십시오.:","STREMIO_TV_NAV_SEARCH":"검색","STREMIO_TV_NAV_HOME":"홈","STREMIO_TV_NAV_DISCOVER":"발견","STREMIO_TV_NAV_LIBRARY":"라이브러리","STREMIO_TV_NAV_MOVIES":"영화","STREMIO_TV_NAV_SERIES":"시리즈","STREMIO_TV_NAV_CHANNELS":"채널","STREMIO_TV_NAV_TV":"라이브 TV","STREMIO_TV_NAV_SETTINGS":"설정","STREMIO_TV_NAV_ADDONS":"애드온","STREMIO_TV_LOGIN_TITLE":"계정 링크","STREMIO_TV_LOGIN_EXPIRES_IN":"Expires in","STREMIO_TV_LOGIN_STEP_ONE":"위의 QR코드를 스캔하거나 다음으로 이동합니다.","STREMIO_TV_LOGIN_STEP_TWO":"Stremio 계정에 로그인합니다.","STREMIO_TV_LOGIN_NEW_LINK":"새로운 링크 요청","STREMIO_TV_LOGIN_LINK_REFRESHED":"로그인 코드 새로 고침","STREMIO_TV_SEARCH_PLACEHOLDER":"입력하세요.","STREMIO_TV_SEARCH_NO_ADDONS":"카탈로그 추가 요청 없음!","STREMIO_TV_SEARCH_BUTTON":"검색","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"공간","STREMIO_TV_SEARCH_KEY_CLEAR":"지우기","STREMIO_TV_SEARCH_HISTORY_TITLE":"이력 검색","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"타이틀, 배우, 채널 등을 검색할 수 있습니다.","STREMIO_TV_SEARCH_HISTORY_CLEAR":"검색 이력 지우기","STREMIO_TV_FILTERS_DESCRIPTION":"아래 필터 중 하나를 선택하십시오.","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"필터","SETTINGS":"설정","ACCOUNT":"계정","LOGOUT":"로그아웃","THEMES":"테마","PLAYBACK":"재생","PLAYBACK_SPEED":"재생속도","AUDIO_TRACKS":"오디오 트랙","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"영상","SERVER":"서버","LINKS":"링크","ABOUT":"소개","INTERFACE":"인터페이스","ANIMATIONS":"애니메이션","STATUS":"상태","LANGUAGE":"언어","SIZE":"크기","DELAY":"지연","BOLD":"굵기","OPACITY":"Opacity","TEXT_COLOR":"문자 색상","OUTLINE_COLOR":"외각선 색상","BACKGROUND_COLOR":"배경색","BACKGROUND_BLUR":"배경 흐리게","SEEK_TIME_DURATION":"탐색 시간 찾기","AUTO_PLAY":"다음 에피소드 자동 재생","PLAY_NOW":"지금 바로 재생","MARK_AS_WATCHED":"시청으로 표시","MARK_AS_UNWATCHED":"미시청으로 표시","REWIND_TO_BEGINNING":"처음으로 되감기","CONTINUE_WATCHING":"계속 시청","ALL":"전체","SECONDS":"초","ON":"ON","OFF":"OFF","RELOAD":"Reload","EDIT_URL":"URL 편집","NONE":"없음","EMBEDDED":"임베디드","REMOTE_SWITCH_DEVICES":"스위치 디바이스","REMOTE_VIDEOS":"영상","REMOTE_ADJUST_TIMING":"타이밍 조정","REMOTE_ADJUST_SIZE":"크기 조정","REMOTE_COULD_NOT_BE_LOADED":"Web Remote를 로드할 수 없습니다.","REMOTE_RETRY":"재시도","TORRENT_PROFILE_DEFAULT":"기본값","TORRENT_PROFILE_SOFT":"저속","TORRENT_PROFILE_FAST":"고속","TORRENT_PROFILE_ULTRA_FAST":"초고속","FAQ_001_H1":"Stremio란?","FAQ_001_P1":"Stremio는 사용하기 쉬운 비디오 엔터테인먼트용으로 설계된 미디어 센터 소프트웨어입니다. Stremio를 사용하면 자신만의 영화, 시리즈, 채널 및 라이브 TV 컬렉션을 구성하고 시청할 수 있습니다.","FAQ_001_P2":"Stremio는 로컬 디스크와 당사의 애드온 시스템에서 표시되는 콘텐츠를 수집합니다.","FAQ_001_P3":"관심 있는 새로운 에피소드, 동영상, 영화가 나오면 알려주고 추천 영화도 알려준다.","FAQ_02_H1":"Stremio는 Kodi나 플렉스와 비교했을 때 어떻습니까?","FAQ_02_P1":"저희는 그 2개의 소프트웨어로부터 영감을 얻고 있습니다. 그러나 우리는 다른 목표를 가지고 있습니다.Stremio는 특히 엔터테인먼트 비디오를 타깃으로 하고 있으며, 매우 사용하기 쉽기 때문에 이를 위한 주류 솔루션이 되기 위해 노력하고 있습니다.","FAQ_02_P2":"Stremio는 Kodi 및 Plex만큼 커스터마이즈 및 기능이 풍부하지는 않지만, 훨씬 사용하기 쉽습니다. ${1}만 구입하시면 ${2}를 확인하실 수 있습니다. :)","FAQ_03_H1":"Stremio와 Netflix를 비교했을 때 어떻습니까?","FAQ_03_P1":"마찬가지로 넷플릭스도 우리의 영감 중 하나입니다. Netflix의 유저 익스피리언스를 실현하기 위해 노력하고 있습니다.또, 많은 부가 기능을 갖추고 있습니다. 그러나 가장 중요한 것은 애드온 시스템을 사용하여 라이브러리를 자유롭게 관리하고 새로운 콘텐츠 소스를 추가할 수 있다는 점입니다.","FAQ_03_P2":"Stremio를 무한히 확장할 수 있으므로 Stremio를 사용할 때 Netflix가 라이선스하기로 결정한 콘텐츠에 제한되지 않습니다. 예를 들어 Stremio를 통해 ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} 및 ${9}Netflix${10} 자체에서 콘텐츠를 시청할 수 있습니다!","FAQ_04_H1":"Stremio와 Flipboard를 비교했을 때 어떻습니까?","FAQ_04_P1":"우리는 새로운 사람들과 이야기할 때를 제외하고는 그런 질문을 자주 받지 않습니다. :)","FAQ_04_P2":"Stremio는 기본적으로 비디오용 Flipboard가 되는 콘텐츠 애그리게이터입니다. 이는 Flipboard와 마찬가지로 카탈로그와 새로운 에피소드/새로운 비디오 알림을 제공하는 게시판 섹션에서 매우 잘 드러납니다.","FAQ_05_H1":"Stremio와 Popcorn Time은 어떻게 비교됩니까?","FAQ_05_P1":"Stremio와 Popcon Time은 비디오 엔터테인먼트 카탈로그를 올바르게 만드는 방법이 많지 않기 때문에 사용자 인터페이스에서 유사합니다. :)","FAQ_05_P2":"단, Popcon Time은 특정 소스로부터의 스트리밍 토렌트에 초점을 맞추고 있지만 Stremio는 제한되지 않고 콘텐츠 애그리게이터일 뿐 특정 콘텐츠 소스에 얽매이지 않습니다.","FAQ_05_P3":"또한 기본적으로는 Torrent Addon은 제공되지 않으므로 Stremio는 Popcorn Time의 사용 사례를 공식 기능으로 다루지 않습니다.","FAQ_05_P4":"또 다른 중요한 차이점은 Popcorn Time은 완전히 오픈 소스인데 반해 Stremio는 부분적으로 오픈 소스 ${1}입니다.","FAQ_06_H1":"영화/시리즈를 추가하시겠습니까?","FAQ_06_P1":"아니요, 죄송합니다 :( ","FAQ_06_P2":"다른 대부분의 질문에서 언급했듯이 Stremio는 콘텐츠 자체를 제공하지 않습니다.모든 것은 애드온 시스템을 통해 추가됩니다. 콘텐츠 요청이 있는 경우 플레이어의 “리포트” 버튼을 사용하면 현재 사용 중인 애드온의 작성자에게 이메일을 보낼 수 있습니다.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"X용 애드온을 작성하시겠습니까?","FAQ_08_P1":"완전히 가능합니다.","FAQ_08_P2":"애드온에 대한 아이디어가 있으시면 ${1}office@stremio.com${2}로 적어주세요.단, 귀하의 애드온 아이디어가 저작권이나 이용약관을 침해하지 않도록 해 주세요.","FAQ_08_P3":"현재로서는 FandangoNOW, Filmon.tv 비디오 온 디맨드, Crunchyroll의 애드온입니다.","FAQ_09_H1":"Stremio는 BitTorrent를 사용합니까?","FAQ_09_P1":"네, Stremio는 스트리밍 프로토콜로 BitTorrent를 지원합니다. Torrent Addon을 사용하거나 Stremio에 .torrent 파일을 드래그 앤 드롭하거나 검색 바에 자석 링크를 붙여 사용할 수 있습니다.","FAQ_09_P2":"BitTorrent를 사용하는 공식 애드온은 ${1}Vodo${2}뿐이며, 모두 BitTorrent와 함께 배포할 수 있습니다.","FAQ_09_P3":"저작권 침해를 일으킬 수 있는 서드파티 애드온의 사용은 지원하지 않습니다.","FAQ_10_H1":"Stremio에서 공식 애드온과 함께 볼 수 있는 것은?","FAQ_10_P1":"기본적으로는 Stremio 자체 내에서 내장 플레이어를 사용하여 Filmon.tv, YouTube 및 Vodo 콘텐츠를 시청할 수 있습니다. 또, Twitch.tv 및 그 외의 몇개의 애드온도 준비되어 있습니다.","FAQ_10_P2":"이 조합은 다음을 제공합니다.:","FAQ_10_L1":"Filmon.tv에서 제공하는 인기 TV 채널 - E4, BBC, Bollyworld TV 등","FAQ_10_L2":"YouTube의 모든 것 - 예를 들어 BBC 뉴스, 탑 기어, Vevo, Pew DiePie","FAQ_10_L3":"Vodo와 함께 하는 독립 영화","FAQ_10_L4":"Twitch.tv에서 온라인 게임 방송","FAQ_10_P3":"Guidebox나 Netflix 애드온에는 많은 컨텐츠 소스가 준비되어 있습니다. 이러한 소스는 Stremio 내에서 재생되는 것은 아니지만, 지정된 서비스로 리다이렉트 됩니다. 예를 들어, Guidebox 애드온은 TubiTV나 Crackle과 같은 서비스에서 무료로 스트리밍할 수 있는 영화를 제공합니다.","FAQ_11_H1":"Stremio가 설치되지 않습니다. 어떻게 해야 합니까?","FAQ_11_P1":"Windows를 사용하는 경우 ${1}설치 프로그램${2}을(를) 사용해 보십시오.","FAQ_11_P2":"Mac OS X를 사용하는 경우 OS X Mavericks(10.9)보다 오래된 버전은 지원하지 않습니다.","FAQ_11_P3":"Linux를 사용하시는 경우 현재 64비트(x64) Linux만 지원합니다.","FAQ_11_P4":"계속 문제를 해결할 수 없는 경우 ${1}Facebook group${2}로 문의해 주십시오.","FAQ_12_H1":"백신프로그램이 바리러스 보고를 하는 이유는 무엇입니까? Stremio는 안전한가요?","FAQ_12_P1":"Stremio는 ${1}100% clean${2}임을 보증합니다.","FAQ_12_P2":"인스톨러에 애드웨어가 포함되어 있기 때문에 백신프로그램이 애드웨어로 인식되고 있습니다.","FAQ_12_P3":"아직 확실하지 않은 경우 ${1}대체 설치${2}을(를) 사용해 보십시오.","FAQ_13_H1":"애드온 제작 방법?","FAQ_13_P1":"먼저 GitHub에서 ${1}addons system module${2}를 체크할 것을 권장합니다.","FAQ_13_P2":"이후 ${1}Hello World tutorial${2}를 따르십시오.","FAQ_13_P3":"프로그래밍 스킬이 없는 경우 ${1}Reddit 커뮤니티${2}에 아이디어를 게시하고 ${3}office@stremio.com${4}에 애드온 아이디어를 문의해 주십시오.","FAQ_14_H1":"애드온은 어떻게 공개됩니까?","FAQ_14_P1":"애드온과 호스트를 만들고 매니페스트에 <b>endpoint</b>필드를 삽입하면 동작 중인 애드온 주소를 가리키면 애드온은 자동으로 ${1}애드온 카탈로그${2}에 퍼블리시됩니다.","FAQ_14_P2":"이는 stremio-addons 모듈의 서버 부분이 자동으로 API에 호출하여 애드온을 방송하기 때문입니다. API가 <b>endpoint</b>를 유효한 애드온으로 검증하면 카탈로그에 표시됩니다.","FAQ_15_H1":"브라우저에서 Stremio를 실행할 수 있습니까?","FAQ_15_P1":"현재로서는 안 되지만 곧 나올겁니다!","FAQ_15_P2":"알파가 궁금하신 경우 ${1}alpha4.strem.io${2}.을 참조하십시오. 이 알파에서는 스트리밍이 비활성화되어 있습니다. Chrome, Firefox, Opera 및 Edge를 지원합니다.","FAQ_16_H1":"TV로 전송이 작동하지 않습니다./자막이 작동하지 않습니다.","FAQ_16_P1":"TV로의 캐스팅은 다른 TV 브랜드와 모델 간에 매우 일관성이 없는 DLNA 기술을 사용합니다. 그렇기 때문에 모든 경우에 테스트할 수 있는 것은 아니기 때문에 완벽과는 거리가 멀다. 그럼에도 불구하고 지속적으로 개선 작업을 진행 중이지만 DLNA가 언제 TV에서 정상적으로 작동할지 예상할 수 없습니다.","FAQ_16_P2":"캐스팅 메뉴에 TV가 표시되지 않는 경우 네트워크 연결을 비활성화했다가 다시 활성화하십시오(Windows에서는 네트워크를 오른쪽 클릭하여 활성화/비활성화를 사용함). 라우터, TV 및 PC를 재시작하십시오","FAQ_16_P3":"아직 문제가 해결되지 않은 경우 TV 브랜드 및 모델 정보를 ${1}office@stremio.com${2}로 보내주십시오.","FAQ_16_P4":"그동안은 Chromecast를 매우 잘 지원하거나 단순히 HDMI 케이블로 TV를 PC에 연결하는 것을 권장합니다.","FAQ_17_H1":"Stremio freeze 및/또는 크래시, 어떻게 해야 하나요?","FAQ_17_P1":"우선, AVG 안티바이러스를 탑재한 Windows 7 을 사용하고 있는 경우는, 그 조합에 문제가 있습니다. 이 문제는 AVG 자체에 있으며, 우리 측에서는 해결할 수 있는 합리적인 방법이 없습니다. 유감스럽게도 예외나 안티바이러스를 비활성화하지 않습니다. 유일한 해결책은 AVG를 다른 것으로 교체하는 것입니다.","FAQ_17_P2":"그것이 문제가 아니지만 Windows를 사용하고 있다면 최신 서비스 팩으로 업데이트하여 GPU 드라이버를 업데이트/재설치한 후 다시 시도하십시오.","FAQ_17_P3":"문제가 해결되지 않았거나 Mac 또는 Linux를 사용 중인 경우, 문제의 정확한 세부사항을 ${1}Facebook group${2}로 보고해 주십시오.","FAQ_18_H1":"애드온은 어떻게 만들수 있나요?","FAQ_18_P1":"먼저 GitHub에서 ${1}addons system module${2}를 체크할 것을 권장합니다.","FAQ_18_P2":"이후 ${1}Hello World tutorial${2}를 따르십시오.","FAQ_18_P3":"프로그래밍 스킬이 없는 경우 ${1}Reddit 커뮤니티${2}에 아이디어를 게시하고 ${3}office@stremio.com${4}에 애드온 아이디어를 문의해 주십시오.","FAQ_19_H1":"Stremio가 디스크 공간을 사용하는 이유는 무엇입니까?","FAQ_19_P1":"Stremio에는 스트리밍하는 비디오 파일을 일시적으로 유지하는 <b>로컬캐시</b>가 있습니다.","FAQ_19_P2":"이것에는 두 가지 이점이 있습니다.첫째, Stremio는 비디오를 프리 버퍼링하여 스트리밍을 원활하게 할 수 있습니다. 둘째, 비디오를 로컬캐시에 보관하기 때문에 오프라인에서 계속 시청할 수 있습니다.","FAQ_19_P3":"Stremio의 유지량은 설정 패널의 <b>캐시</b> 설정에 따라 달라집니다. Stremio는 현재 스트리밍되고 있는 비디오의 용량이 이보다 클 경우 스트리밍할 때까지 충분한 스토리지를 할당해야 하는 경우를 제외하고 디스크에 설정된 용량(2GB 등)까지 유지할 수 있습니다.","FAQ_20_H1":"캐시 폴더는 어디에 있습니까?","FAQ_20_P1":"Windows에서는 설정에서 선택한 드라이브의 stremio 캐시 (예. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"MacOS에서는 \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"Linux에서는 \\"~/.stremio/stremio-cache\\" 또는 \\"~/stremio-cache\\"","FAQ_21_H1":"\\"Streaming server is not found\\" 오류가 표시되는데 어떻게 해야 합니까?","FAQ_21_P1":"이 오류가 발생하면 다음 중 하나를 의미합니다: ","FAQ_21_P2":"1) ${1}web version${2}에서 YouTube/BitTorrent 소스로 지원되는 애드온을 사용하려고 합니다. 이 경우 ${3} 당사 웹 사이트 ${4}에서 데스크톱 버전을 설치해야 합니다.","FAQ_21_P3":"2) Stremio 설치에 문제가 있습니다. 이 경우 웹 사이트 ${2}에서 최신 데스크톱 버전을 다시 설치하십시오. 그래도 문제가 해결되지 않으면 안티바이러스 프로그램 및 방화벽을 비활성화하고 PC를 재시작한 후 다시 시도하십시오. 이 방법으로도 문제가 해결되지 않을 경우 ${3} 당사 Facebook group${4}로 문의해 주십시오","FAQ_22_H1":"iOS에서 대부분의 애드온을 표시/사용할 수 없습니다.","FAQ_22_P1":"Apple App Store 약관의 제약으로 인해 iOS 어플리케이션은 특정 애드온 세트로만 제한되었습니다.","FAQ_22_P2":"하지만 안심하세요.향후 iOS용 애드온이 더 늘어날 것입니다.또한 iOS 앱을 Stremio Streaming Server에 연결함으로써 모든 Stremio 애드온을 사용할 수 있는 통합을 추가할 수도 있습니다."}')},49163:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Филм","TYPE_series":"Серија","TYPE_tv":"TV канал","TYPE_channel":"YouTube канал","TYPE_other":"Останато","TYPE_movie_PL":"Филмови","TYPE_series_PL":"Серии","TYPE_tv_PL":"TV канали","TYPE_channel_PL":"YouTube канали","TYPE_other_PL":"Останато","TYPE_ALL":"Сите","TYPE":"Врста","CATALOG_com_linvo_cinemeta_top":"Популарни","CATALOG_com_linvo_cinemeta_imdbRating":"Избрани","CATALOG_com_linvo_cinemeta_year":"Нови","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Филмови од јавен домен","VIDEO":"Видео","BACK":"Назад","MORE":"Повеќе","DONE":"Готово","COPY":"Копирај","SUCCESS":"Успешно","ERROR":"Грешка","SETTINGS_CASTING_MODE_PICKER":"Режим на емитување","CASTING_MODE_HLSV2":"Стандардно","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Нема транскодирање","Discover":"Откријте","Board":"Табла","Library":"Kолекција","My Library":"Мојата колекција","Calendar":"Календар","NOTIFICATION_ONLINE":"Сега сте онлајн","NOTIFICATION_OFFLINE":"Моментално сте офлајн","INTERNET_CONNECTION":"Мрежна конекција","STORAGE_FULL_TITLE":"Предупредување: Складирањето е полно!","STORAGE_FULL_TEXT":"Stremio нема да може да ги зачува вашите поставки, префернции или информации за најавување. Размислете за рестартирање или повторно инсталирање на Stremio.","SEARCH":"бараj","SEARCH_NO_RESULTS":"Не беа пронајдени резултати","SEARCH_EXPLANATION_CONTENT":"Пребарајте филмови, серии, YouTube и ТВ канали","SEARCH_EXPLANATION_PEOPLE":"Барајте актери, режисери и писатели","SEARCH_PASTE_LINKS":"Залепете HTTP и Magnet врски","SEARCH_OR_PASTE_LINK":"Пребарајте или залепете врска","SEARCH_SUGGESTIONS":"Пребарајте предлози","ADD_TO_LIB":"Додај во колекција","REMOVE_FROM_LIB":"Отстрани од колекција","ADDED_TO_LIB":"Додадено во колекција","REMOVED_FROM_LIB":"Отстрането од колекцијата","TRAILER":"Треjлер","WATCH_TRAILER":"Треjлер","WATCH_NOW":"Гледај","SHOW":"Покажи","SHOW_MOVIE":"Прикажи филм","WATCH_RANDOM":"Гледај по случаен избор","IMDB_RATING":"IMDb рејтинг","YEAR":"Година","DIRECTOR":"Режија","WRITER":"Автор","LEAD_ACTORS":"Во Главните улоги","CAST":"Глумат/Емитувај","CREW":"Екипа","SHOW_MORE_CAST":"Прикажи повеќе »","AIRED":"емитувано","SEASONS":"Сезони","GENRE":"Жанр","GENRE_ALL":"Сите жанрови","CATALOG":"Каталог","SUMMARY":"Опис","SHOW_MORE":"Прикажи повеќе","SIMILAR":"Слични","UPCOMING":"Наскоро","ENDED":"Прекинат","DURATION":"Времетраење","FEATURED":"Избрана","METADATA":"Метадата","CATEGORY":"категорија","LINKS_GENRES":"Жанрови","LINKS_CAST":"Улоги","LINKS_DIRECTORS":"Режисерите","SEARCH_VIDEOS":"пребарување видеа","SEARCH_PLACEHOLDER":"пребарување или залепете магнетна врска","ADDON":"додаток","ADDONS":"Додатоци","OFFICIAL":"официјални","ADDONS_OFFICIAL":"Официјални додатоци","ADDONS_POPULAR":"Популарни во регионот","ADDON_FREE":"бесплатно","ADDON_PEERED":"peered","ADDON_SUBSCRIPTION":"subscription","ADDON_STREAM_GEORESTRICTED":"не е достапно во вашата област","ADDON_STREAM_OFFLINECACHE":"Офлајн кеш","ADDON_STREAM_LOCALFILE":"Локална датотека","SHARE_ADDON":"Споделете додаток","AVAILABLE_STREAMS":"Достапни извори","NO_STREAM":"Нема достапни извори","ALL_ADDONS":"Сите","INSTALL_MORE_ADDONS":"За повеќе преноси, инсталирајте повеќе додатоци","STREAM_NOT_SUPPORTED":"Избраниот пренос не е поддржан на оваа платформа.","ADDON_CATALOGUE":"Прикажи ги сите додатоци »","ADDON_CATALOGUE_MORE":"Повеќе додатоци »","REPO_ADDED":"Додадено е складиште","ADDON_REPO_EXIST_ERR":"Ова складиште за додатоци веќе постои","ADDON_REPO_ERR":"Се појави грешка при додавањето складиште","ADDON_ADD_ERR":"Настана грешка при додавањето додаток","ERR_ADDON_PROTECTED":"Заштитен додаток","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Нешто тргна наопаку - автентикацијата можеби не успеа","ERR_NOT_COLLECTION_URL":"Не е URL-адреса за колекција","ERR_NOT_ADDON_URL":"Не е URL-адреса за додаток","ERR_DETECTFROMURL":"Не може да се открие од URL-то","ADDON_DUPLICATE_WARNING":"Предупредување: дупликат додаток","ADDON_COLLECTION_SET_FAILED":"Сетот за собирање додатоци не успеа","SETTINGS_DATA_EXPORT":"Извезете податоци","ADDON_PULL_FAILED":"Повлекувањето на додатокот не успеа","REFRESH_ON_CLICK":"Кликнете за да се обидете повторно","STILL_IN_THEATER":"Филмот е сеуште во кината","WATCH_IN_CINEMA":"Гледајте го во вашето локално кино","IN_THEATER":"Во кино","GET_TICKETS":"Земете билети","UPCOMING_EPISODE":"Претстојна епизода","UPCOMING_EPISODE_MESSAGE":"Оваа епизода ќе се емитува на","MISSING_DATE_EPISODE":"Недостасува датумот на епизодата","MISSING_DATE_EPISODE_MESSAGE":"Оваа епизода можеби сè уште не е емитувана","CHANNEL_NOT_SCRAPED":"Сеуште немаме информации за овој канал. <br > Вратете се по неколку минути.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Додадете го во колекцијата за да примите известување.","GET_NOTIFIED_WHEN_AVAILABLE":"Ќе примите известување кога ќе излезе.","WARNING_STREAMING_SERVER":"Предупредување: локалниот сервер за стриминг не е пронајден. Преносот од YouTube и BitTorrent нема да биде достапен.","WARNING_STREAMING_SERVER_DISMISS":"Отфрли","WARNING_STREAMING_SERVER_LATER":"Подоцна","DECODER_WARNING":"Предупредување: ова видео можеби не е поддржано од вашиот хардвер. Имајте на ум, репродукцијата може да биде бавна.","GENERIC_ERROR_MESSAGE":"Нешто тргна наопаку!","TRY_AGAIN":"Обиди се повторно","CLEAR_DATA":"Исчисти податоци","PLAYER_ERROR":"Упс, Грешка на плеерот","PLAYER_ERROR_LOOKSLIKE":"Изгледа како","PLAYER_ORIENTATION":"Ориентација на плеерот","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Заклучен","PLAYER_ORIENTATION_SENSOR_SHORT":"Сензор","PLAYER_ORIENTATION_LANDSCAPE":"Ориентацијата на плеерот е заклучена на пејзаж","PLAYER_ORIENTATION_SENSOR":"Автоматска ориентација на плеерот (сензор)","PLAYER_PLAYBACK_SPEED":"Брзина на репродукција","PLAYER_PLAYBACK_ERROR":"Грешка при репродукција, обидете се повторно","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Непозната грешка","PLAYER_PLAYBACK_ERROR_DEFAULT":"За жал, ова видео не може да се репродуцира од {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Јазици на преводи","PLAYER_SUBTITLES_VARIANTS":"Варијанти на преводи","PLAYER_SUBTITLES_SETTINGS":"Поставки за преводи","PLAYER_SUBTITLES_DISABLED":"Преводите се оневозможени","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Вертикална положба","PLAYER_SUBTITLES_LOADED":"Subtitles loaded","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Вградените преводи се вчитани","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Вчитани се ексклузивни преводи","PLAYER_SUBTITLES_LOADED_ORIGIN":"Преводите од {{origin}} се вчитани","PLAYER_PLAY":"Пушти","PLAYER_PAUSE":"Пауза","PLAYER_NEXT_VIDEO":"Следно видео","PLAYER_MUTE":"Исклучи звук","PLAYER_UNMUTE":"Вклучи звук","PLAYER_OPEN_IN_EXTERNAL":"Отворете во надворешен плеер","PLAYER_OPEN_IN_NPLAYER":"Отворете во nPlayer","PLAYER_PLAY_IN":"Пушти во {{device}}","PLAYER_LIVE":"Во живо","PLAYER_NEXT_VIDEO_TITLE":"Доаѓа следно на","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Следно на","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Отфрли","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Гледајте сега","PLAYER_COPY_STREAM_SUCCESS":"Вашата врска за стримот е копирана","PLAYER_COPY_STREAM_ERROR":"Не успеа да се копира врската за стримот","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Врската за преземање е копирана на вашата таблата со исечоци","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Не успеа да се копира врската за преземање","STREAMING_FROM":"Стриминг од","CASTING_TO":"Репродукција на","NETWORK_STATUS":"Мрежа","STREAM_SPEED":"Брзина:","STREAM_BUFFERED":"Буфер:","PEERS_INFO":"Корисници","PEERS_ACTIVE":"Активни:","PEERS_CONNECTED":"Поврзани:","PEERS_WAITING":"Чекаат:","TRANSCODING_WARNING":"Предупредување: транскодирање на видеото.","STREAM_LOADING":"Се вчитува...","PLAYING_LOCAL":"репродукција од локална датотека","PLAYING_CACHE":"репродукција од кеш","WRONG_SUBS":"Грешни преводи?","ERR_SUBS_LOADING_TITLE":"Грешка при вчитување на преводи","ERR_SUBS_LOADING":"Неуспешно вчитување преводи: ова може да биде проблем со додатокот што го користите или со вашата мрежна врска","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Следниве додатоци за превод не се вчитаа","ERR_CASTING_UPDATE_TITLE":"Не може да се ажурираат информациите за уредот за емитување: серверот за пренос може да е офлајн","CHOOSE_DEVICE":"Изберете уред за гледање","NO_CAST_DEVICES":"Нема достапни уреди за емитување.","NO_SETTINGS":"Нема достапни поставки.","PHONE_TABLET":"Телефон / таблет","SUBTITLES":"Преводи","SUBTITLES_CHANGE":"Смени превод на","SUBTITLES_CHANGE_NONE":"Нема други преводи за тој јазик.","SUBTITLES_CHANGE_ACIVE":"Во моментов преводи &#35;{{subtitlesDialog.activeIdx + 1}} се активирани. Кликнете \\"Продолжи\\" за да ги активирате преводите &#35;{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Алтернативно,","SUBTITLES_ADJUST_DELAY":"Приспособете го доцнењето на титловите:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Или користете ги копчињата <span>G</span> / <span>H</span> додека репродуцирате за да се приспособите.","SUBTITLES_ADJUST_DELAY_TIP":"СОВЕТ: можете да ги користите копчињата <span>G</span> / <span>H</span> додека репродуцирате за прилагодување.","SUBTITLES_DELAY":"Одложување на преводи:","SUBTITLES_LOADING":"Се вчитуваат преводи...","SUBTITLES_UNAVAILABLE":"Нема достапни надворешни преводи","SUBTITLES_DISABLED":"Оневозможено","EXTERNAL_PLAYER_DISABLED":"Оневозможено","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Дозволи избор","EXTERNAL_PLAYER_HINT":"Совет: Има поставка што дозволува секогаш отворање со надворешен плеер","DONT_SHOW_AGAIN":"Не прикажувај повторно","SERVICE_INSTALL":"Инсталирајте","AUDIO":"Аудио","DEFAULT_LANGUAGE":"Стандарден јазик","DEFAULT_SECONDARY_LANGUAGE":"Стандарден секундарен јазик","SEASON":"Сезона","EPISODE":"Епизода","EPISODE_ABBREVIATION":"ЕП","SPECIAL":"Специјални","SORT":"подреди","SORT_BY":"Сортирај по","FILTER":"филтер","SORT_TRENDING":"популарни","SORT_RECENT":"последни","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"рејтинг","SORT_WATCHED":"видени","SORT_YEAR":"година","SELECT_TYPE":"Изберете тип","SELECT_SORT":"Изберете подредување","SELECT_CATALOG":"Изберете каталог","SELECT_GENRE":"Изберете жанр","SORT_LASTWATCHED":"По последно гледано","SORT_NAME":"По име","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"По гледани пати","SORT_NOTWATCHED":"не гледано","New for You":"Ново за вас","New Episodes":"Нови епизоди","New Videos":"Нови видеа","Recommendations":"Препораки","LIBRARY_RESUME":"продолжи","LIBRARY_PLAY":"Пушти","LIBRARY_DETAILS":"Детали","LIBRARY_RESUME_DISMISS":"отфрли","LIBRARY_CLEAR_PROGRESS":"Исчисти напредок","LIBRARY_REMOVE":"Отстрани","LIBRARY_NOT_LOGGED_IN":"Колекцијата е достапна само за најавените корисници","CALENDAR_NOT_LOGGED_IN":"Календарот е достапен само за најавените корисници","NOT_LOGGED_IN_CLOUD":"Пристапете до вашите омилени филмови и ТВ серии во секое време и каде било","NOT_LOGGED_IN_RECOMMENDATIONS":"Препораки прилагодени на вашата историја на гледање","NOT_LOGGED_IN_NOTIFICATIONS":"Никогаш повеќе не пропуштајте епизода","NOT_LOGGED_IN_CALENDAR":"Закажете го вашиот личен календар за гледање","DISCOVER_FEATURED":"Избрани","DISCOVER_TOP":"Топ","DISCOVER_OSCAR":"Добитници на Оскар","DISCOVER_WARNING_TITLE":"Упс!","DISCOVER_EMPTY_CATALOG":"Овој додаток врати празна содржина.","DISCOVER_ADULT_WARNING":"Содржината е видлива само за возрасни. Дали си 18+?","DISCOVER_NOADDON_WARNING":"Внимание: нема активен Stremio addon за овој тип содржина. Овде гледате зачувана информациjа, таа нема да се обновува.","DISCOVER_LOAD_ERR":"Содржината не се вчита, се појави грешка.","DISCOVER_ADDON_UNINSTALLED":"Оваа содржина повеќе не е достапна, можеби сте го деинсталирале додатокот.","UNINSTALL_THIS_ADDON":"Деинсталирајте го овој додаток","ERR_ADDON_NOT_INSTALLED":"Овој додаток не е инсталиран. Инсталирате сега?","DETAIL_RECEIVE_NOTIF_SERIES":"Добивајте известувања за нови епизоди","DETAIL_RECEIVE_NOTIF_VIDEOS":"Добивајте известувања за нови видеа","SIDEBAR_SHOW_STREAMS":"Прикажи стримови","RELAUNCH":"Лансирај ја новата верзија!","UPGRADE":"Достапна е нова верзија","RELOAD_UI":"Повторно вчитајте го корисничкиот интерфејс","MANUAL_UPDATE_TITLE":"Ажурирајте ја вашата верзија на Stremio","MANUAL_UPDATE_LINE1":"Користите застарена верзија на Stremio која е крајно непрепорачлива.","MANUAL_UPDATE_LINE2":"Ве молиме ажурирајте што е можно поскоро.","BUTTON_UPDATE_LATTER":"Не сега","BUTTON_UPDATE_NOW":"Ажурирање","ANONYMOUS_USER":"Анонимен корисник","DONT_HAVE_ACC":"Немате сметка?","HAVE_ACC":"Веќе имате профил?","PASSWORD":"Лозинка","PASSWORD_CONFIRM":"Потврди ја лозинката","EMAIL":"Е-пошта","FB_LOGIN":"Најави се со Фејсбук","FB_NOTHINGSHARED":"Ништо не се споделува без ваша дозвола","FB_NOPOST":"Нема да објавиме ништо во ваше име","OR":"или","I_ACCEPT":"Ги прочитав и ги прифаќам","I_ACCEPT_BY_CLICKING":"Со кликнување на горното копче сведочам дека го прифаќам ","TOS":"Општите услови","MUST_ACCEPT_TERMS":"Мора да ги прифатите условите","PASSWORDS_NOMATCH":"Лозинките не се совпаѓаат","SIGN_UP":"Регистрирај се","SIGN_UP_EMAIL":"Пријавете се со е-пошта","CLICK_TO_SIGN_UP":"Кликнете овде за да се регистрирате.","LOG_IN":"Влез","LOG_OUT":"Излез","EXIT_FULLSCREEN":"Излезете од режимот на цел екран","ENTER_FULLSCREEN":"Влезете во режим на цел екран","PLAY_URL_MAGNET_LINK":"Пушти со URL/магнет врска","HELP_FEEDBACK":"Помош и повратни информации","TERMS_OF_SERVICE":"Условите за користење","PRIVACY_POLICY":"Политика за приватност","ABOUT_STREMIO":"За Stremio","USER_PANEL":"Кориснички панел","LOGIN_LABEL":"Логирај се","GUEST_LOGIN":"Најава за гости","GUEST_LOGIN_NOTICE":"Не се препорачува најавување како гостин. Користењето на нормално најавување му овозможува на Stremio да ја синхронизира вашата колекција, да прима известувања за омилените серии/канали. Дали сте сигурни дека сакате да продолжите?","GUEST_LOGIN_NOTICE_2":"Најавата за гостин не се препорачува - нема да имате синхронизирани известувања за колекција и табла, кои се витални функции на Stremio. Дали сте сигурни дека сакате да продолжите?","CLICK_HERE":"кликнете овде","WRONG_PASSWORD":"Погрешна е-пошта или лозинка. Во случај да сте ја заборавиле лозинката,","SET_A_PASS":"ставете ваша лозинка","RESET_PASSWORD":"Ресетирање на лозинка","FORGOT_PASSWORD":"Ја заборави лозинката?","EMAIL_USED_WITH_FB":"Оваа е-маил адреса е употребувана во Фејсбук најава.","INVALID_EMAIL":"Ве молиме внесете валидна е-маил адреса","INVALID_PASSWORD":"Ве молиме внесете валидна лозинка","CONN_ERR":"Грешка во врската - обидете се повторно подоцна.\\n\\nАко ова продолжи, оневозможете firewalls/антивирусен софтвер (особено Bitdefender).","IMPORT_FROM_GUEST":"Увезете колекција од вашата гостинска сметка","RECEIVE_UPDATES_EMAIL":"Добивајте ажурирања на вашата е-пошта од Stremio","LOGIN_FAILED":"Најавата не успеа.","SIGNUP_FAILED":"Регистрацијата не успеа.","SEARCH_FAILED":"Пребарувањето не успеа","EMAIL_USED":"Оваа е-маил адреса веќе се користи.","WAITING_FB_LOGIN":"Најавување со Фејсбук...","EXTERNAL_PLAYER_TITLE":"Играјте во надворешен плеер","EXTERNAL_REMEMBER_PLAYER":"Дали сакате да го запомниме вашиот избор","EXTERNAL_ALWAYS_PLAY":"Да","EXTERNAL_ONLY_ONCE":"Не","BEST_FIT":"Најдобро одговара","FIT_SCREEN":"Одговара на екранот","FILL":"Пополнете","16:9":"16:9","4:3":"4:3","Original":"Оригинален","INTRO_TASTE":"Кажете ни што ви се допаѓа","INTRO_TASTE_LONG":"Кажете ни што би сакале да гледате","INTRO_TASTE_PICK":"Изберете {{interestsRemaining}} интереси","INTRO_TASTE_PICK_MORE":"Изберете {{interestsRemaining}} повеќе интереси","INTRO_TASTE_HELP_US":"Помогнете ни да дознаеме повеќе за вас.","INTRO_TASTE_CHOOSE_THESE":"Изберете некои од овие:","INTRO_TASTE_CHOOSE_MIN":"Изберете најмалку 3 категории","INTRO_TASTE_CHOOSE_MIN_ERR":"Треба да изберете најмалку 3 категории!","INTRO_TASTE_LIFESTYLE":"Начин на живот","INTRO_TASTE_SPORTS":"Спорт","INTRO_TASTE_FOOD_HEALTH":"Храна и здравје","INTRO_TASTE_BEAUTY_FASHION":"Убавина и мода","INTRO_TASTE_NEWS":"Вести","INTRO_TASTE_GAMING":"Гејминг","INTRO_TASTE_SCIENCE_EDU":"Наука и образование","INTRO_TASTE_MUSIC":"Музика","INTRO_TASTE_TRAVEL":"Патувања","INTRO_TASTE_LATE_NIGHT":"Доцна ноќна емисија","INTRO_TASTE_REALITY":"Реалност","INTRO_TASTE_COMEDY":"Комедија","INTRO_TASTE_DIY":"Како да направите сам","INTRO_TASTE_TECH":"Технологија","INTRO_TASTE_CINEMA":"Кино","ADDON_NOT_SUPPORTED":"Избраниот додаток не е поддржан на оваа платформа.","ADDON_DISCLAIMER":"Употребата на додатоци од трети лица е на ваша одговорност.","ADDON_ACTIVATE":"Активирај овој додаток?","ADDON_REPO_ADD":"URL-адреса од додатоците","ADDON_ADD":"Додадете","INSTALL_ADDON":"Инсталирајте додаток","ADD_ADDON":"Додадете додаток","ADD_ADDON_DESCRIPTION":"Можете да додадете додаток преку надворешна врска, која ќе се појави под Инсталирани додатоци.","PASTE_ADDON_URL":"Залепете URL-адреса за додаток","WHATS_NEW":"Што е ново?","BUTTON_CONTINUE":"Продолжи","BUTTON_ACTIVATE":"Активирај","BUTTON_ACTIVATED":"Активиран","BUTTON_CANCEL":"Откажи","BUTTON_SUBMIT":"Поднесете","BUTTON_DISMISS_ALL":"Отфрли ги сите","BUTTON_VIEW_ALL":"види се","BUTTON_SEE_ALL":"види се","BUTTON_COLOR_TRANSPARENT":"Транспарентен","OPEN_IN_BROWSER":"Отвори во прелистувачот","LIB_EMPTY":"Колекцијата ви е празна. Откријте колку е корисна :)","HOW_START":"Започнете така:","LIB_EMPTY_CAL":"Календарот покажува епизоди од сериите во вашата колекција.","HOW_START_CAL":"Еве како да додадете серии:","LIB_EMPTY_BOARD":"Тука ќе видите известувања и препораки свързани со вашата колекцијата.","HOW_START_BOARD_WAIT":"Ве молиме додадете неколку серии / канали во вашата Колекција и дајте ни неколку минути за обработка :)","HOW_START_BOARD":"Еве како да додадете филмови и серии во колекцијата:","IMPORT_FB":"Додавање од <span> Facebook </ span>","IMPORT_TRAKT":"Увезете ја вашата медиумска колекција од <span>Trakt</span>","IMPORT_DISCOVER":"Најди интересни работи во <span>Откријте</ span>","IMPORT_DISK":"Скенирајте за филмови и серии од вашиот <span>локален диск</ span>","PLEASE_CREATE_ACC":"Ве молиме <u>направете сметка</u> за да овозможите синхронизација на колекцијата &amp;.","IMPORT_DISCOVER_SIGNUP":"Регистрирај се и најди интересни работи во <span>Откријте</span>","IMPORT_DISK_SIGNUP":"Регистрирај се и вметни филмови и серии од вашиот <span>локален диск</span>","LIB_EMPTY_CLOUD":"Cloud колекција","LIB_EMPTY_CLOUD_DESC":"Лична колекција на Cloud синхронизирана на сите уреди","LIB_EMPTY_EARLY":"Рана птица","LIB_EMPTY_EARLY_DESC":"Добивајте известувања за нови епизоди","LIB_EMPTY_PERSONAL":"Лично","LIB_EMPTY_PERSONAL_DESC":"Добијте лични препораки","LIB_EMPTY_CALENDAR_DESC":"Закажете го вашиот личен календар за гледање","LIB_EMPTY_ALL":"Регистрирајте се за да ги добиете сите овие:","LIB_EMPTY_BEST":"Регистрирајте се за да го добиете најдоброто од Stremio","LIB_EMPTY_OTHER":"Регистрирајте се за да овозможите Календар и други интересни функции","CALENDAR_ADDED":"Календарот Stremio е додаден во вашиот стандарден десктоп календар.","CALENDAR_ADDED_MSG":"Ако ова не функционира, додајте ја оваа URL адреса на вашата апликација за календар рачно","TRAKT_EXPIRED":"Автентикацијата на Trakt истече, ве молиме одете во Поставки и повторно проверете","TRAKT_REQUIRES_LOGIN":"Грешка во Тракт","TRAKT_REQUIRES_LOGIN_MSG":"Треба да се најавите","TRAKT_IMPORT_WATCHED":"Увоз","THEME":"Тема","THEME_DEFAULT":"Стандардно","THEME_ADAPTIVE":"Адаптивни","SETTINGS_LABEL":"Поставки","SETTINGS_NAV_GENERAL":"Општо","SETTINGS_NAV_PLAYER":"Плеер","SETTINGS_NAV_STREAMING":"Стриминг","SETTINGS_NAV_SHORTCUTS":"Кратенки","SETTINGS_SHORTCUT_RELOAD_APP":"Повторно вчитај ја апликацијата","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Отворете Поставки","SETTINGS_SHORTCUT_SWITCH_TABS":"Префрли Картички","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Сврти низ Картички нанапред","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Сврти низ Картички наназад","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Одете помеѓу менијата","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Одете во Пребарување","SETTINGS_SHORTCUT_EXIT_BACK":"Излезете / Вратете се назад","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Вклучи мени за брзина на репродукција","SETTINGS_SHORTCUT_MENU_VIDEOS":"Вклучи мени за видеа","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Вклучи мени за преводи","SETTINGS_SHORTCUT_MENU_INFO":"Вклучи мени за информации","SETTINGS_SHORTCUT_FULLSCREEN":"Вклучување цел екран","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Прикажи контроли","SETTINGS_SHORTCUT_PLAY_PAUSE":"Пушти / Пауза","SETTINGS_SHORTCUT_VOLUME_UP":"Зголемете ја јачината на звукот","SETTINGS_SHORTCUT_VOLUME_DOWN":"Намалување на јачината на звукот","SETTINGS_SHORTCUT_SEEK_NEXT":"Барај следно","SETTINGS_SHORTCUT_SEEK_PREV":"Барај претходно","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Барај назад","SETTINGS_SHORTCUT_SEEK_FORWARD":"Барај напред","SETTINGS_SHORTCUT_PLAY_NEXT":"Пушти следно","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Зголеми големина на превод","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Намали големина на превод","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Зголеми доцнење на превод","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Намали доцнење на превод","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Вклучи странична лента","SETTINGS_SHORTCUT_OR":"или","SETTINGS_SHORTCUT_TO":"до","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Провери автентичност","SETTINGS_FACEBOOK_IMPORT":"Увоз","SETTINGS_CALENDAR_SUBSCRIBE":"Претплатете се","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Апликацијата Календар беше отворена. Ве молиме рачно да се претплатите на календарот.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Датотеката со календарот е преземена. Увезете го во вашата апликација за календар.","SETTINGS_INTERFACE_LANGUAGE":"Јазик на интерфејс","SETTINGS_LAUNCH_STARTUP":"Вклучи при стартување","SETTINGS_VLC_DEFAULT":"Пушти со VLC","SETTINGS_UI_LANGUAGE":"Јазик на UI","SETTINGS_UI_ZOOM":"Зумирање на интерфејсот","SETTINGS_FULLSCREEN_EXIT":"Escape key за излез од цел екран","SETTINGS_GAMEPAD":"Овозможете поддршка за gamepad","SETTINGS_CLOSE_WINDOW":"Затворете ја апликацијата кога прозорецот е затворен","SETTINGS_SUBTITLES_LANGUAGE":"Стандарден јазик на превод","SETTINGS_SUBTITLES_SIZE":"Стандардна големина на превод","SETTINGS_SUBTITLES_BACKGROUND":"Позадина на превод","SETTINGS_SUBTITLES_COLOR":"Боја на превод","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Боја на рамка за превод","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Боја на позадина за превод","SETTINGS_SEEK_KEY":"Копчињата со стрелки бараат време","SETTINGS_SEEK_KEY_SHIFT":"Копчињата со стрелки бараат време кога го држите копчето Shift","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Времетраење на брзо премотување назад и напред","SETTINGS_BINGE":"Автоматско пуштање на следната епизода","SETTINGS_NEXT_VIDEO":"Прикажи известување за да започне следната епизода","SETTINGS_NEXT_VIDEO_TRIGGER":"Прикажи известување за следната епизода за:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Времетраењето на скокачкиот прозорец за следното видео","SETTINGS_PLAY_IN_BACKGROUND":"Пушти во позадина","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Пушти во надворешен плеер","SETTINGS_RESIZE":"Автоматско менување на големината на прозорецот пред пуштање","SETTINGS_OVERRIDE_SERVER":"Префрли URL-адреса на серверот за стриминг (напредно)","SETTINGS_SERVER_URL":"URL на серверот за стриминг: ","SETTINGS_SERVER_AVAILABLE":"Достапен е серверот за стриминг.","SETTINGS_SERVER_UNAVAILABLE":"Серверот за стриминг не е достапен.","SETTINGS_SERVER_STATUS_ONLINE":"Онлајн","SETTINGS_SERVER_STATUS_ERROR":"Грешка","SETTINGS_SERVER_CONFIGURE_TITLE":"Конфигурирај URL-адреса на серверот за стриминг","SETTINGS_SERVER_CONFIGURE_INPUT":"Внеси URL-адреса на серверот за стриминг","SETTINGS_SERVER_CACHE_SIZE":"Големина на кешот","SETTINGS_SERVER_TORRENT_PROFILE":"Торент профил","SETTINGS_HTTPS_ENDPOINT":"Стриминг HTTPS крајна точка: ","SETTINGS_TRANSCODE_PROFILE":"Профил на транскод","SETTINGS_USE_BETA":"Секогаш користете ја најновата бета верзија","SETTINGS_IMPORT_FB":"Увези од Фејсбук","SETTINGS_IMPORT_DISK":"Увези од локалниот диск","SETTINGS_IMPORT_TRAKT":"Увези од Тракт","SETTINGS_PAUSE_MINIMIZED":"Паузирај ја репродукцијата кога е минимизирана","SETTINGS_HWDEC":"Хардверски забрзано декодирање","SETTINGS_BACKGROUND":"Репродукција во позадина","SETTINGS_SUBSCRIBE_CALENDAR":"Претплати се на календарот","SETTINGS_REQ_EXPORT":"Побарај извоз на податоци","SETTINGS_ACC_DELETE":"Побарај бришење на сметка","SETTINGS_CHANGE_PASSWORD":"Промена на лозинка","SETTINGS_TOS":"Услови на употреба","SETTINGS_SUPPORT":"Поддршка","SETTING_LANGUAGE":"Јазик","SETTINGS_TRAKT":"Trakt Скробирање","SETTINGS_TRAKT_LOGOUT":"Одјави се од Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Одјави се од Trakt","SETTINGS_SCAN_FOR_REMOTE":"Скенирај QR-код да го отвориш далечинскиот управувач","SETTINGS_DESKTOP_NOTIFICATIONS":"Декстоп известувања","SETTINGS_DATA_SAVER":"Заштеди податоци","SETTINGS_LANGUAGE_INTERFACE":"интерфејс","SETTINGS_LANGUAGE_SUBS":"стандарден превод","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Автоматско избирање на аудио трака","SETTINGS_DEFAULT_AUDIO_TRACK":"Стандардна аудио трака","SETTINGS_SURROUND_SOUND":"Простран звук","SETTINGS_ACCOUNT":"сметка","SETTINGS_PLATFORM":"Платформа","SETTINGS_VERSION":"верзија","SETTINGS_ABOUT":"За нас","SETTINGS_MPV_WINDOW":"Стартувајте плеер во посебен прозорец (напредно)","SETTINGS_PLAY_IN_EXTERNAL":"Секогаш пуштај го видеото со надворешен плеер","SETTINGS_STORAGE_BUTTON":"Исчистете ја локалната меморија","SETTINGS_STORAGE_MODAL_TITLE":"Дали си сигурен ?","SETTINGS_STORAGE_MODAL_MESSAGE":"Ова ќе го исчисти локалното складирање и ќе ве одјави.","SETTINGS_HWDEC_PICKER":"Изберете поставка за декодирање забрзано со хардвер","SETTINGS_HW_AUTOMATIC":"Автоматски","SETTINGS_HW_DISABLED":"Оневозможено","SETTINGS_HW_ACCELERATED":"Забрзување на декодирање","SETTINGS_HW_FULL":"Целосно забрзување","SETTINGS_HW_LEGACY":"Наследство","SETTINGS_DISABLED":"Оневозможено","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Известување за мрежна врска","SETTINGS_REMOTE_URL":"URL на далечина","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_COPY_REMOTE_URL":"Копирај далечински URL","SETTINGS_REMOTE_URL_COPIED":"URL од далечина е копирана на вашата таблата со исечоци","SETTINGS_SECTION_SUBTITLES":"Преводи","SETTINGS_SECTION_AUDIO":"Аудио","SETTINGS_SECTION_CONTROLS":"Контроли","SETTINGS_SECTION_AUTO_PLAY":"Автоматско-Пуштање","SETTINGS_SECTION_ADVANCED":"Напредно","SUBSPICKER_AUDIO":"Аудио","SUBSPICKER_SUBTITLES":"Додатоци за Преводи","SUBSPICKER_BLACK_BACKGROUND":"Користете црна боја на позадина","SUBSPICKER_VERTICAL_OFFSET":"Вертикално поместување","SUBSPICKER_SIZE":"Големина","SUBSPICKER_DELAY":"Одложување","SUBSPICKER_EMBEDDED_SUBS":"Вградени преводи","MOBILE_PRIVACY_POLICY":"Политика за приватност","MOBILE_CRASH_REPORTING":"Пријавување на краш","MOBILE_ZOOM_TO_FILL":"Зумирајте за да го пополните екранот","MOBILE_PASSTHROUGH":"Дигитален аудио излез (премин)","MOBILE_RUN_LOW_BATTERY":"Работи на ниска батерија","MOBILE_RUN_FOREGROUND":"Стартувај како услуга во преден план","MOBILE_PERFORMANCE":"ПЕРФОРМАНСИ И СТАБИЛНОСТ","MOBILE_SERVER_ONLINE":"Онлајн","MOBILE_SERVER_OFFLINE":"Офлајн","MOBILE_QR_EXPIRES":"QR-кодот истекува за ","MOBILE_LOG_INTO":"Најавете се на вашата сметка на Stremio ","MOBILE_SCAN_QR":"Скенирајте го QR-кодот погоре или одете на ","MOBILE_LINK_ACCOUNT":"Поврзете ја сметката","MOBILE_SPEEDPICKER_CANCEL":"Откажи","MOBILE_SPEEDPICKER_LABEL":"Изберете брзина на репродукција","MOBILE_EMPTY_LIBRARY":"Вашата колекција е празна","MOBILE_NO_ADDON_ACTIVE":"Нема активен додаток Stremio за овој тип.","MOBILE_ORGANIZER_WARNING":"Апликацијата Stremio Organizer обезбедува ограничена функционалност. За цел список на стримови што може да се репродуцираат и целосното Stremio искуство, користете Stremio на работната површина.","MOBILE_ADDON_LOADING":"сè уште се вчитува","MOBILE_ADDONS_LOADING":"додатоците сè уште се вчитуваат","MOBILE_ADDON":"Додаток","MOBILE_CONFIGURE_ADDON":"Конфигурирајте го вашиот додаток","MOBILE_CONFIGURE_ADDON_LABEL":"Конфигурирајте го додатокот","MOBILE_ORGANIZER_ADDONS_WARNING":"Апликацијата Stremio Organizer обезбедува ограничен избор на додатоци. За целосно искуство со Stremio, користете го Stremio за десктоп","MOBILE_DISCONNECT":"Исклучете се","MOBILE_LOOKING_FOR_DEVICES":"Во потрага по уреди...","MOBILE_CAST_TO":"Емитувај на","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Избриши сметка","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Бришењето на сметката не веднаш поради законски обврски. Откако ќе побарате бришење на вашата сметка, ќе мора да користите различна адреса за е-пошта/Фејсбук профил за да креирате нова сметка на Stremio во иднина.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Потврдете го бришењето на сметката","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Вашата сметка е креирана преку Facebook. За да ја избришете вашата сметка, ве молиме користете го нашиот кориснички портал на www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Ве молиме внесете ја вашата лозинка за да го потврдите бришењето на сметката.","MOBILE_DELETE_ACCOUNT_BUTTON":"Избриши сметкаe Account","NAVIGATION_ON":"Вклучено","NAVIGATION_OFF":"Исклучено","MARKETING_AGREE":"Се согласувам да добивам маркетинг комуникации од Stremio","QUIT":"Откажете се","CONNECTED":"Поврзан","AUTHENTICATE":"Овластување","CACHING":"Кешира","SETTINGS_CACHING_DRIVE":"Изберете диск за кеш","ENABLE_LOCAL_FILES_ADDON":"Овозможете го додатокот за локални датотеки (потребно е рестартирање)","LOCAL_ADDON_NOT_ENABLED":"Локалниот додаток не е овозможен. Кликнете овде за да отидете до поставките и да го овозможите","ENABLE_REMOTE_HTTPS_CONN":"Овозможете далечински HTTPS врски","TORRENT_PROFILE":"Торент профил","DATA_CACHING":"Кеширање на податоци","MAGNET_PARSING":"Парсирање на магнетна врска","January":"Jануари","February":"Февруари","March":"Март","April":"Април","May":"Мај","June":"Јуни","July":"Јули","August":"Август","September":"Септември","October":"Октомври","November":"Ноември","December":"Декември","Monday":"Понеделник","Tuesday":"Вторник","Wednesday":"Среда","Thursday":"Четврток","Friday":"Петок","Saturday":"Сабота","Sunday":"Недела","Action":"Акција","Comedy":"Комедија","War":"Воени","Family":"Семејни","Animation":"Анимација","Adventure":"Авантура","Fantasy":"Фантазија","Crime":"Криминал","Mystery":"Мистерија","Romance":"Романса","Drama":"Драма","Horror":"Хорор","Thriller":"Трилер","Sci-Fi":"Научна фантастика","Music":"Музика","Biography":"Биографија","Documentary":"Документарец","Sport":"Спорт","Musical":"Музички","Western":"Западен","Film-Noir":"Филм-Ноар","News":"Вести","History":"Историја","Game-Show":"Гејм-Шоу","Reality-TV":"Реалити-ТВ","Talk-Show":"Ток-шоу","Film & Entertainment":"Филм и забава","Gaming":"Гејминг","From TV":"Од ТВ","Lifestyle":"Начин на живот","Science & Education":"Наука и образование","Cooking & Health":"Готвење и здравје","Beauty & Fashion":"Убавина и мода","Sports":"Спортови","News & Politics":"Вести и политика","How-to & DIY":"Како да и направи сам","Tech":"Технологија","Automotive":"Автомобилство","Causes & Non-Profits":"Причини и непрофит","Movies":"Филмови","Uk Live Tv":"ВБ ТВ во живо","Fashion":"Мода","Business News Radio":"Бизнис вести радио","Business Tv":"Бизнис ТВ","Cars & Auto":"Автомобили","Comedy Radio":"Комедија радио","Lifestyle Radio":"Радио за животниот стил","News Tv":"Вести ТВ","Food And Wine":"Храна и вино","Latino Tv":"Латино ТВ","Shopping Tv":"Шопинг ТВ","Religion":"Религија","Kids":"Деца","Body & Soul":"Тело и душа","Education":"Образование","Indian Tv":"Индиска телевизија","Extreme Sports":"Екстремни спортови","Middle Eastern Tv":"Блискоисточна телевизија","Celebrity Tv":"Познати личности ТВ","Science Tv":"Наука ТВ","Bikini babe":"Бикини девојки","Outdoors":"Аутдорс","German Tv":"Германска ТВ","French Tv":"Француска ТВ","Italian Tv":"Италијанска ТВ","Gamer Tv":"Гејмерска ТВ","Travel":"Патувања","Asian Tv":"Азиска ТВ","Entertainment":"Забава","News Radio":"Радио вести","Music Radio":"Музичко радио","Language Learning":"Учење јазик","Science Radio":"Научно радио","Tech Radio":"Технолошко радио","Science & Technology Vod":"Наука и технологија Vod","new video":"ново видео","new episode":"нова епизода","new movie":"нов филм","recommended":"препорачано","we recommend":"ние препорачуваме","offer of the day":"предлог на денот","news":"новости","music video":"музичко видео","CTX_SHOW_HOTKEYS":"Прикажи жешки копчиња","CTX_DISMISS_NOTIF":"Отфрли ги известувањата","CTX_DISMISS_ALL":"Отфрли ги сите","CTX_SHARE":"Сподели","CTX_COPY_SHARE_LINK":"Копирај ја врската за споделување","CTX_COPY_MAGNET_LINK":"Копирај магнет линк","CTX_COPY_STREAM_LINK":"Копирај ја врската за пренос","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Копирај ја врската за преземање видео","CTX_DOWNLOAD_VIDEO":"Преземете го ова видео","CTX_DOWNLOAD_SUBS":"Преземете преводи","CTX_VIEW_ON_YOUTUBE":"Погледнете на YouTube","CTX_SHOW":"Прикажи","CTX_PLAY":"Пушти","CTX_PLAY_IN":"Пушти во","CTX_PLAY_ON":"Пушти на","CTX_WATCH_ON":"Гледај на","CTX_WATCH":"Гледај","CTX_WATCHED":"Гледано","CTX_WATCH_BEGINNING":"Гледајте од почеток","CTX_WATCH_MOBILE":"Гледајте на мобилен уред","CTX_REWIND":"Премотајте назад кон почеток","CTX_MARK_WATCHED":"Означи како гледано","CTX_MARK_NON_WATCHED":"Означи како негледано","CTX_MARK_UNWATCHED":"Означи како невидено","CTX_MARK_REST":"Означи останато како гледано","CTX_UNMARK_REST":"Означи останато како негледано","CTX_RECEIVE_NEW_NOTIF":"Примајте нови известувања","CTX_ENABLE_NEW_NOTIF":"Овозможи известувања","CTX_DISABLE_NEW_NOTIF":"Оневозможи известувања","CTX_REMOVE_CACHE":"Отстрани од кешот","CTX_REMOVE_CACHE_EP":"Отстранете ја епизодата од кешот","CTX_OPEN_CONTAINING":"Отворете ја папката што содржи","CTX_REMOVE":"Отстрани од колекција","CTX_AVAILABLE_OFFLINE":"Достапно офлајн","CTX_PAUSED":"Паузирано","CTX_ALWAYS_ON_TOP":"Секогаш на врвот","CTX_FULLSCREEN":"Цел екран","CTX_WRONG_SUBS":"Погрешен превод?","CTX_REPORT_ISSUES":"Пријави проблем","CTX_COPY":"Копирај","CTX_PASTE":"Залепи","CTX_CLEAR":"Исчисти","CTX_CLEAR_RECENT_SEARCHES":"Исчисти ги неодамнешните пребарувања","HELLO_THERE":"Здраво","HOPE_YOU_ENJOY":"Се надеваме дека уживате во Stremio и веќе е една од вашите омилени апликации!","WHO_ARE_WE":"Кои сме ние? Ние сме тимот зад него - двајца момци кои работат напорно секој ден во последните 3 години, со една единствена цел - да го направат овој производ подобар и подобар.","SUPPORT_US":"Ако уживате во користењето на Stremio, ако Stremio е вредно за вас - поддржете нè!","SPREAD_THE_WORD":"Споделете со вашите пријатели сега, раширете ги информациите за Stremio","MORE_PEOPLE":"Колку повеќе луѓе користат Stremio, толку подобро ќе биде!","SEND_A_LINK":"Или испратете линк до нашата веб-страница","TIP_LOCALFILES":"Совет: можете да влечете и испуштате локални видео датотеки во Stremio","ADDON_MY":"Мои додатоци","ADDON_COMMUNITY":"Додатоци на заедницата","ADDON_OFFICIAL":"Официјални додатоци","ADDON_REPOS":"Складишта за додатоци","ADDON_SEARCH":"Пребарајте додатоци","ADDON_INSTALL":"Инсталирај","ADDON_CONFIGURE":"Конфигурирај","ADDON_UNINSTALL":"Деинсталирај","ADDON_UPGRADE":"Надградба","ADDON_INSTALLED":"Инсталиран","ADDON_INSTALLED_MSG":"Додаток е инсталиран!","ADDON_UPGRADED_MSG":"Додатокот е надграден!","ADDON_UNKNOWN":"Непознат","ADDON_ERR":"Грешка во инсталирањето на додатокот!","ADDON_DISCONNECTED":"Исклучено","ADDON_APP_MISSING":"апликацијата за овој извор не е инсталирана. Дали сакате да го инсталирате сега?","ADDON_APP_INSTALL":"Инсталирај сега","ADDON_PAGE":"Страница за додатоци","ADDON_TOP_CONTENT":"Најдобро од овој додаток","ADDON_PROVIDES":"обезбедува","ADDON_WATCH":"Гледај #{types} сега!","ADDON_WATCH_FREE":"Гледај #{types} БЕСПЛАТНО сега!","ADDON_ADDON":"Додаток","ADDON_SUPPORTED_TYPES":"Поддржани типови","ADDON_SUPPORTED_CATALOGS":"Поддржани каталози","ADDON_PROVIDES_DISCOVER":"Повеќе #{types} во Откријте","ADDON_PROVIDES_STREAMS":"Гледај #{types}","ADDON_PROVIDES_STREAMS_FREE":"Гледај #{types} БЕСПЛАТНО","ADDON_PROVIDES_SUBTITLES":"Преводи за #{types}","ADDON_CANTDETECT":"Не можевме да откриеме дали Stremio работи, така што не можевме да откриеме какви додатоци сте инсталирале.","ERR_NO_META":"Не се најдени информации за ова ","ERR_GETTING_META":"Грешка при преземањето информации за ова.","ERR_CANT_PARSE_MAGNET":"Не може да се анализира магнетот","ERR_NO_MAGNET_INFOHASH":"Нема валиден хаш за информации за магнет","ERR_NO_FILE_PATH":"Не може да се испрати барање без патека до датотеката","ERR_NO_TORRENT":"Нема одговор од торентот","ERR_NO_SUPPORTERD_FILES":"Не се пронајдени поддржани датотеки","ERR_OPENING_FILES":"Не може да се отворат надворешни датотеки","ERR_INVALID_LINK":"Неважечка врска","ERR_REGISTERED_ONLY":"Оваа опција е достапна само за регистрирани корисници.","ERR_CLIPBOARD":"Не може да се пушти од копираното","ERR_CLIPBOARD_READ":"Не можам да го прочитам копираното на оваа платформа","ERR_CLIPBOARD_GENERIC":"Не е пронајдена URL-адреса за пуштање со копирано. Ве молиме копирајте URL-адреса (на пр. врска со магнет) на видео.","BOARD_CONTINUE_WATCHING":"Продолжи со гледање","BOARD_EXPLANATION_RECOMMENDATIONS":"Филмови избрани специјално за вас.<br />Овој филм е примерок од препорака.","BOARD_EXPLANATION_EPISODES":"Новите епизоди од вашите омилени серии доаѓаат овде.<br />Додајте серии што ги следите во вашата колекција.","BOARD_EXPLANATION_VIDEOS":"Новите епизоди од вашите омилени канали доаѓаат овде.<br />Додајте ги каналите на YouTube што ги следите во вашата колекција.","WEBSITE_ENJOYED_BY":"Уживаат повеќе од 30 милиони корисници ширум светот","WEBSITE_STREAMING_ENHANCED":"Подобрен Стриминг","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio нуди безбедно, модерно и беспрекорно забавно искуство. Со неговиот лесен за користење интерфејс и разновидна колекција со содржини, вклучувајќи поддршка за 4K HDR, корисниците можат да уживаат во своите омилени филмови и ТВ серии на сите нивни уреди. И со својата посветеност на безбедноста, Stremio е врвниот избор за безгрижно, висококвалитетно искуство со стриминг.","WEBSITE_AVAILABLE_ON":"Достапно на","WEBSITE_WATCH_AND_ENJOY":"Гледајте и уживајте.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio го прави лесно како детска игра","WEBSITE_ALL_FEATURES":"Сите карактеристики","WEBSITE_EASY_TO_USE":"Лесен за користење","WEBSITE_EASY_TO_USE_DETAILS":"Stremio е дизајниран да биде лесен за користење и лесен за употреба. Со неговиот чист и интуитивен интерфејс можете лесно да се движите и да ја пронајдете содржината што сакате да ја гледате.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Беспрекорно низ различни уреди","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Достапен за широк спектар на платформи (вклучувајќи Windows, Mac, Linux, Android и повеќе), Stremio ќе го следи вашиот напредок на сите ваши уреди. Само најавете се и продолжете да гледате без да треба повторно да ја конфигурирате апликацијата на секој нов уред.","WEBSITE_ALL_DOWNLOADS":"Сите преземања","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"Поддршка за видео со висока дефиниција","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"Интегрираниот видео плеер кој ги поддржува повеќето формати на видео, вклучително и 4K HDR содржина, ви овозможува да уживате во највисокиот достапен квалитет.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Колекција со разновидна содржина","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio се интегрира со голем број популарни видео извори, како што се Netflix, Amazon Prime Video, Hulu, YouTube и многу други.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Направете бесплатно сметка","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Прилагодено искуство на гледање","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio ви овозможува да го прилагодите изгледот и чувството на интерфејсот со менување на темата, додавање или отстранување додатоци и многу повеќе.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Поддршка за повеќејазичен превод (титл)","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"Сега можете да уживате во сите омилени содржини на вашиот јазик бидејќи Stremio поддржува преводи на сите јазици.","WEBSITE_ALL_STREMIO_FEATURES":"Сите карактеристики на Stremio","WEBSITE_TRY_STREMIO_TITLE_P1":"Пробајте го Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"На вашиот ТВ сега","WEBSITE_YOU_CAN_NOW_WATCH":"Сега можете да ги гледате сите омилени ТВ серии на вашите уреди со Android TV. Апликацијата Stremio TV ви овозможува лесно да уживате во филмската вечер.","WEBSITE_YOU_CAN_NOW_WATCH_2":"Сега можете да ги гледате сите омилени ТВ серии на вашиот Smart TV или Android TV. Апликациите Stremio TV ви овозможуваат лесно да уживате во филмска вечер.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio за паметен телевизор","WEBSITE_PLAY_STORE_REVIEW":"Веројатно најдобрата и најкорисната апликација што ја имате во вашиот уред. Тоа е една од апликациите што ги користам секојдневно, особено на мојот Android TV веќе многу години. Добро направен со силна заедница која обезбедува корисни функционалности. Добро сторено. Продолжи со добрата работа.","WEBSITE_REVIEWS":"Рецензии","WEBSITE_GET_STREMIO_FOR_FREE":"Набави го Stremio бесплатно","WEBSITE_GET_STREMIO_NOW":"Набави Stremio веднаш","WEBSITE_STREMIO_FEATURES":"Карактеристики на Stremio","WEBSITE_STREMIO_FEATURES_DETAILS":"Стримувајте како професионалец со напредните функции на Stremio и уживајте во беспрекорен пристап до сите ваши омилени медиуми","WEBSITE_DISCOVER_MORE":"Откријте повеќе.","WEBSITE_DISCOVER_MORE_DETAILS":"Никогаш не останувајте без работи за гледање","WEBSITE_COMMUNITY_DRIVEN":"Управувано од заедницата","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio има голема и активна заедница на корисници кои придонесуваат за развој на софтверот преку креирање и споделување додатоци.","WEBSITE_GET_INVOLVED":"Вклучете се","WEBSITE_NEW_THEATER_EXPERIENCE":"Ново театарско искуство","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Новата посветена ТВ-апликација на Stremio ви овозможува да уживате во филмска вечер на вашите уреди со Android TV.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Новите посветени ТВ-апликации на Stremio ви дозволуваат да уживате во филмска вечер на вашиот паметен ТВ или уреди со Android TV.","WEBSITE_FREE_AND_SECURE":"Бесплатно и безбедно","WEBSITE_STREAMING":"Стриминг","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio нуди неспоредлива безбедност и приватност за корисниците. Со својата уникатна карактеристика за далечинско извршување на додатоци, Stremio обезбедува побезбеден начин за проследување на вашата омилена содржина во споредба со другите платформи. Вашата безбедност и приватност се врвни приоритети, а платформата гарантира дека сите ваши податоци се заштитени.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Кажете им збогум на грижите за безбедноста и приватноста и поздравете се во светот на бескрајна забава со Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Информациите обезбедени од","WEBSITE_CONTRIBUTE":"Придонесете","WEBSITE_CONTRIBUTE_DESC":"на проектот и помогнете ни да го направиме Stremio уште подобар","WEBSITE_COMMUNITY_DESC":"Ние веруваме дека најдобриот начин да се создаде навистина неверојатно искуство со стриминг е со вклучување на нашата заедница во процесот. Без разлика дали сте програмер, уметник или само обожавател - можете да му помогнете на Stremio да расте.","WEBSITE_COMMUNITY_DESC_2":"Затоа, придружете ни се денес и станете дел од заедницата Stremio и продолжете да ја обликувате иднината на стриминг.","WEBSITE_WAYS_TO_GET_INVOLVED":"Начини да се вклучите","WEBSITE_IN_THE_STREMIO_COMMUNITY":"во заедницата Stremio","WEBSITE_SHARE_YOUR_THOUGHTS":"Споделете ги вашите размислувања","WEBSITE_REPORT_BUGS":"Пријавете грешки","WEBSITE_SUGGEST_FEATURES":"предложи идеи","WEBSITE_AND_PROVIDE_FEEDBACK":"и да дадете повратни информации за нашите канали на социјалните мрежи.","WEBSITE_BETA_TESTING_PROGRAM":"Програма за бета тестирање","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Учествувајте во нашата програма за бета тестирање (редовно испраќаме покани) во заедницата Stremio.","WEBSITE_JOIN_NOW":"Придружи се сега!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Официјални заедници на Stremio","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Неофицијални заедници на Stremio","WEBSITE_BECOME":"Стани","WEBSITE_A_VOLUNTEER_TRANSLATOR":"волонтер преведувач","WEBSITE_ARE_YOU_A_DEVELOPER":"Дали сте програмер?","WEBSITE_CONTRIBUTE_CODE":"Може да придонесете код за нашите проекти со отворен код. Имаме неколку проекти на GitHub кои бараат соработници. Ако сте заинтересирани да помогнете, проверете ги:","WEBSITE_STREMIO_ON_GITHUB":"Stremio на GitHub","WEBSITE_CREATE_ADDON_DESC":"Создадете додаток за подобрување на функционалноста на Stremio (имаме API што е лесен за употреба):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Додадок SDK","WEBSITE_INTERN_DEVELOPER":"Ние, исто така, даваме можност да ни се придружиме како развивач на практикант за да можеме да растеме заедно.","WEBSITE_APPLY_AS_AN_INTERN":"Пријавете се како практикант","WEBSITE_CALLING_ALL_ARTISTS":"Ги повикуваме сите уметници!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Покажете ја вашата креативност и љубов кон Stremio со прикачување на вашата фан уметност во нашата онлајн галерија. Без разлика дали се работи за цртеж, сликање или дигитален дизајн, сакаме да го видиме вашиот уникатен став за брендот Stremio. Придружете се на нашата заедница на уметнички ентузијасти и споделете ја вашата работа со колегите обожаватели на Stremio ширум светот.","WEBSITE_STREMIO_FANART_GALLERY":"Галерија Stremio Фанарт","WEBSITE_INTERN_DESIGNER":"Станете дел од нашиот тим и однесете ја вашата креативност до нови височини со нашите возбудливи можности за стажирање.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Проект за филмови од јавен домен","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"Во Stremio, ние сме посветени на зачувување на историјата на филмот и телевизијата преку идентификување на видеа од јавен домен и без родители. Работејќи заедно со нашата заедница, можеме да обезбедиме овие класични уметнички дела да бидат достапни за секого и заштитени за уживање во идните генерации.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Слободно контактирајте не доколку сакате да се вклучите во тој проект.","WEBSITE_JOIN_THE_PROJECT":"Приклучи се на проектот","WEBSITE_BE_PART_OF_OUR_MISSION":"Бидете дел од нашата мисија","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Дали сте заинтересирани да се приклучите на тимот на Стремио? Нудиме целосно далечинска работа за страсни професионалци. Проверете ги нашите отворени позиции.","WEBSITE_OPEN_POSITIONS":"ОТВОРЕНИ ПОЗИЦИИ","WEBSITE_DESCRIPTION":"ОПИС","WEBSITE_LEARN_MORE":"Научи повеќе","WEBSITE_COMPANY":"Компанијата","WEBSITE_CONTACTS":"Контакти","WEBSITE_NEED_HELP":"Треба помош?","WEBSITE_STREMIO_WEB_ON_IOS":"Водич за Stremio Web на iOS","WEBSITE_LINK_ART_V2":"Галерија Фанарт","WEBSITE_PARTNERS":"Партнери","WEBSITE_SLOGAN_WATCH":"Гледајте веднаш","WEBSITE_SLOGAN_ALL":"Сите видео содржини во кои уживате на едно место","WEBSITE_SLOGAN_NEW":"Сè што можете да гледате","WEBSITE_SLOGAN_NEW_NEW":"Слобода за стрим","WEBSITE_WATCH_FROM":"Гледајте од","WEBSITE_DOWNLOAD":"Преземете сега","WEBSITE_DOWNLOAD_FOR":"Преземете сега за","WEBSITE_IS_DESKTOP":"Stremio е десктоп апликација, отворете ја оваа страница на вашиот компјутер и преземете ја","WEBSITE_DESKTOP_DEMO_VID":"Desktop demo","WEBSITE_PAGE_HOME":"Почетна","WEBSITE_PAGE_FEATURES":"Карактеристики","WEBSITE_PAGE_ADDONS":"Додатоци","WEBSITE_PAGE_TECH":"Технологија","WEBSITE_PAGE_CREATE_ADDON":"Креирај додаток","WEBSITE_PAGE_CONTACTS":"Контакти","WEBSITE_PAGE_BLOG":"Блог","WEBSITE_RESET_PASSWORD_MESSAGE":"Ве молиме внесете ја посакуваната нова лозинка подолу.","WEBSITE_RESET_PASSWORD_WARNING":"Дали сте сигурни дека сакате да ја ресетирате лозинката за ${1}?","WEBSITE_TYPE_movie":"Филмови","WEBSITE_TYPE_series_PL":"Серии","WEBSITE_TYPE_tv":"ТВ во живо","WEBSITE_TYPE_channel":"Канали","WEBSITE_STREMIO_WHAT_IS":"Stremio е апликација која ви помага да ги организирате и веднаш да ги гледате вашите омилени видеа, филмови, ТВ серии и ТВ канали.","WEBSITE_FEATURES_WATCH":"Гледајте веднаш во HD","WEBSITE_FEATURES_WATCH_DETAIL":"Кликнете и гледајте ги вашите омилени филмови, ТВ серии, видеа и ТВ канали.","WEBSITE_FEATURES_SUBS":"Автоматски преводи","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio автоматски избира синхронизирани преводи за вашиот јазик.","WEBSITE_FEATURES_SUBS_LABEL":"Твој избор, шефе.","WEBSITE_FEATURES_CAST":"Гледај на ТВ и мобилни уреди","WEBSITE_FEATURES_CAST_DETAIL":"Емитувај на AppleTV, Chromecast, Smart TV (DLNA/UPnP) и мобилни уреди.","WEBSITE_LIB":"Уживајте во вашата лична колекција синхронизирана на сите ваши уреди","WEBSITE_LIB_COLLECT":"Собери од Stremio","WEBSITE_LIB_IMPORT":"Увоз од Facebook","WEBSITE_LIB_LOCAL":"Додајте од вашиот локален диск","WEBSITE_BOARD":"Табла - Вашето едно место за известувања и препораки","WEBSITE_BOARD_RECOMMEND":"Препорачана ТВ емисија","WEBSITE_BOARD_TRENDING":"Филмови во тренд","WEBSITE_BOARD_NEW":"Ново Видео","WEBSITE_BOARD_EPISODE":"Нова Епизода","WEBSITE_BOARD_1":"Барате нешто интересно за гледање? Добијте препораки засновани на вашиот вкус!","WEBSITE_BOARD_2":"Добијте известување кога ќе излезе нова епизода од вашето омилено ТВ шоу или канал на YouTube!","WEBSITE_BOARD_YOUTUBE":"Нови видеа на канали на YouTube","WEBSITE_BOARD_EPISODES":"Нови епизоди од сериите што ги следите","WEBSITE_ADDONS":"Додатоци за содржина","WEBSITE_TECH_DETAIL":"Ја сакаме технологијата, ја сакаме лудата наука!\\nStremio ги користи следниве технологии со отворен код:","WEBSITE_TECH_WCJS":"WebChimera.js овозможува Stremio да репродуцира кој било формат на видео со добри перформанси.","WEBSITE_TECH_WCJS_EXTRA":"Ние сме основни соработници на проектот","WEBSITE_TECH_ELECTRON":"Electron обезбедува иновативна платформа за изградба на Stremio.","WEBSITE_TECH_ELECTRON_EXTRA":"Ние сме соработници на проектот","WEBSITE_TECH_LINVODB":"Технологија на база на податоци која гарантира дека вашите податоци се организирани и достапни каде и да се најавувате.","WEBSITE_TECH_LINVODB_EXTRA":"Внатрешна технологија","WEBSITE_CREATE_ADDON":"Направете го вашиот додаток","WEBSITE_CREATE_ADDON_DETAIL":"Дали имате услуга која обезбедува видео содржина? Ќе ви помогнеме да имате корист од функциите на Stremio со создавање на вашиот Додаток.","WEBSITE_CREATE_ADDON_BENEFITS":"Придобивки од создавање Додаток за Stremio","WEBSITE_P2P_BEAUTY":"Убавината на Peer-to-Peer стриминг","WEBSITE_P2P_1":"Сигурно и достапно видео со full HD / 4K на барање или пренос во живо","WEBSITE_P2P_2":"Платформа за дистрибуција обезбедува одлично корисничко искуство","WEBSITE_P2P_3":"Ние ќе создадеме додаток кој ги исполнува вашите точни потреби","WEBSITE_P2P_CONTACT":"Заинтересирани? Добредојдени сте да не <a href=\'mailto:office@stremio.com\'>контактирате</a>.","WEBSITE_P2P_CONTACT_EXTRA":"Со задоволство ќе ви помогнеме да ја интегрирате вашата содржина со Stremio!","WEBSITE_P2P":"Одвреме-навреме доаѓа технологија која го менува името на играта. Вложивме тони време и напор во изградбата на нашиот мотор за видео стриминг Peer-to-Peer (P2P) кој обезбедува одлични перформанси и разноврсност за прилагодување со секој случај на употреба.\\nКонтактирајте не за P2P-видео на барање со овозможено DRM или пренос во живо.","WEBSITE_THOUGHTS":"Мислите што ги споделуваме:","WEBSITE_SPREAD":"Раширете го зборот за Stremio:","WEBSITE_CONTACT":"Ако сакате да контактирате со нас, продолжи на","WEBSITE_OPENSOURCE":"За нашите проекти со отворен код, одете кај","WEBSITE_BITCOIN":"Донирајте биткоин:","WEBSITE_FAQ":"Најчесто поставувани прашања","WEBSITE_FAQ_SHORT":"НПП","WEBSITE_QUESTIONS":"Прашања","WEBSITE_TOS":"Услови за користење","WEBSITE_LEGAL":"Правност","WEBSITE_PAGE_ABOUT":"За","WEBSITE_PAGE_BECOME_PARTNER":"Станете партнер","WEBSITE_ALL_YOU_CAN_WATCH":"Слобода за гледање\\nСè што сакате.","WEBSITE_FREEDOM_TO_STREAM":"Слобода за стримување","WEBSITE_WHAT_IS_STREMIO":"Што е stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio е центар за собирање видео содржини. Откријте, организирајте и гледајте видео од сите видови извори на кој било уред што го поседувате.","WEBSITE_WHAT_IS_STREMIO_P2":"Филмови, ТВ емисии, серии, телевизија во живо или веб-канали како YouTube и Twitch.tv - сето ова можете да го најдете на Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio е модерен медиумски центар кој е решение на едно место за вашата видео забава. Откривате, гледате и организирате видео содржини од лесни за инсталирање додатоци.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Филмови, ТВ емисии, ТВ во живо или веб-канали - најдете сето ова на Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Уживајте на сите ваши уреди","WEBSITE_DEVICES_COLLECT":"Собери од Stremio","WEBSITE_DEVICES_IMPORT_FB":"Увези од Фејсбук","WEBSITE_DEVICES_LOCAL":"Додај од локалниот диск","WEBSITE_JOIN_THE_PARTY_NOW":"Придружи се на забавата сега","WEBSITE_DEVICES_ALL":"Лесен за користење на сите ваши уреди;","WEBSITE_EXTENDABLE_CATALOG":"Бесконечно проширување на видео каталог;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Одлични функции за организирање на вашите медиуми;","WEBSITE_AS_SEEN_ON":"Како што се гледа на","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"За нас","WEBSITE_LINK_TECHNOLOGY":"Технологија","WEBSITE_LINK_APPS":"Апликации","WEBSITE_LINK_DOWNLOADS":"Преземања","WEBSITE_MORE":"Повеќе","WEBSITE_LINK_ADDONS":"Додатоци","WEBSITE_LINK_ADDON_SDK":"Додаток SDK","WEBSITE_LINK_CONTRIBUTE":"Придонесете","WEBSITE_LINK_COMMUNITY":"Заедница","WEBSITE_LINK_BLOG":"Блог","WEBSITE_MORE_MORE":"... & Повеќе","WEBSITE_LINK_HELP":"Центар за помош","WEBSITE_LINK_CONTACTS":"Контактирајте со нас","WEBSITE_LINK_TOS":"Услови и правила","WEBSITE_LINK_PRAVACY":"Политика за приватност","WEBSITE_SUBSCRIBE":"Претплати се","WEBSITE_NEWSLETTER":"Придружете се на нашиот билтен за неверојатни работи","WEBSITE_PLACEHOLDER_EMAIL":"Твојата електронска пошта","WEBSITE_COMMUNITY":"Заедница","WEBSITE_LINK_PRAVACY_LEGAL":"Приватност и правност","WEBSITE_WHY":"Зошто го правиме тоа","WEBSITE_WHY_P1":"Во Stremio доаѓаме на работа секој ден бидејќи сакаме да решиме важен проблем за индустријата за видео на барање. Има толку многу нови содржини што се објавуваат секоја минута што е практично невозможно да се најде патот околу неа.","WEBSITE_WHY_P2":"Им помагаме на луѓето да се движат низ тој огромен свет на видео забава и да откријат нови содржини за уживање. Нашите апликации обединуваат филмови, серии, ТВ во живо, веб-канали и многу повеќе. Посветени сме на тоа да им олесниме на корисниците да најдат наслови и радиодифузери што ги сакаат.","WEBSITE_WHY_P3":"Може да ја користите нашата услуга на кој било уред и во секое време, со што Stremio ќе стане единствениот центар за видео забава што некогаш ќе ви треба.","WEBSITE_TEAM":"ТИМ","WEBSITE_TEAM_P":"Тимот на Stremio е мал, но моќен: меѓу нас десетмина, кодираме на X јазици и споделуваме експертиза за развој на софтвер, UI и UX дизајн, маркетинг и рекламирање и бизнис и стартап.","WEBSITE_FEATURES":"Карактеристики","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Откријте нови содржини со леснотија","WEBSITE_FEATURES_DISCOVER_P":"Лесно откривајте нови филмови, ТВ емисии, серии и канали за гледање. Прелистувајте по категорија, жанр, рејтинг, неодамнешност итн. или едноставно напишете име за наоѓање. Stremio го прави пронаоѓањето на нова видео содржина како детска игра.","WEBSITE_FEATURES_ALL_CONTENT":"Сите ваши видео содржини на еден екран","WEBSITE_FEATURES_ALL_CONTENT_P1":"Погледнете кои филмови, серии или видеа не сте ги завршиле и продолжете да ги гледате; добивајте известување за нови епизоди и изданија; и прелистајте ги препораките што ќе ги добиете врз основа на вашите навики за гледање.","WEBSITE_FEATURES_LIBRARY":"Организирајте ја вашата видео колекција","WEBSITE_FEATURES_LIBRARY_P1":"Додајте каков било наслов во вашата колекција Stremio со еден клик и пронајдете го вашиот пат околу вашата содржина, уредно подредени по тип, најновост или азбучен редослед.","WEBSITE_FEATURES_CALENDAR":"Следете се што гледате","WEBSITE_FEATURES_CALENDAR_P1":"Добијте визуелизација на календарот на сите филмови и серии што ги додавате во вашата колекција. Извезете го вашиот Stremio календар и синхронизирајте го за секогаш да знаете кога треба да се појави нова епизода или премиера.","WEBSITE_FEATURES_BIG_SCREEN":"Уживајте во вашата видео содржина на поголем екран","WEBSITE_FEATURES_BIG_SCREEN_P1":"Префрлете се што гледате на друг уред - било да е тоа телефон, таблет или телевизор со еден клик.","WEBSITE_FEATURES_SOURCES":"Гледајте видео од многу различни извори","WEBSITE_FEATURES_SOURCES_P":"Инсталирајте официјални додатоци и додатоци од заедницата за да уживате во видеото добиено од многу различни провајдери - сето тоа во една елегантна, лесна за употреба апликација.","WEBSITE_CREATE_AN_ADDON":"Направете додаток","WEBSITE_FEATURES_SYNC":"Синхронизирајте ја вашата колекција на различни уреди и продолжете со гледање","WEBSITE_FEATURES_SYNC_P1":"Најавете се со вашата сметка на сите ваши уреди и уживајте во колекцијата, додатоците, репродукцијата и календарот синхронизирани.","WEBSITE_FEATURES_EXTENDABLE":"Проширен видео каталог со додатоци","WEBSITE_FEATURES_EXTENDABLE_P1":"Каталогот со додатоци Stremio обезбедува голем број додатоци за инсталирање и гледање разновидна видео содржина. Ова вклучува филмови, емисии, ТВ во живо, спорт, вести, подкасти, веб-канали, видео игри и многу повеќе.","WEBSITE_FEATURES_AUTO_SUBS":"Автоматски преводи","WEBSITE_FEATURES_AUTO_SUBS_P1":"Со нашите додатоци за титл добивате автоматски избрани опции за вашиот претпочитан јазик.","WEBSITE_FEATURES_CHROMECAST":"Емитувај на Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Уживајте во вашата видео содржина на поголем екран или едноставно продолжете да го гледате на друг уред.","WEBSITE_FEATURES_KEEP_TRACK":"Следете ги вашите омилени ТВ емисии и веб-канали","WEBSITE_FEATURES_KEEP_TRACK_P1":"Добијте визуелизација на календарот и известувања за новите епизоди од вашите омилени серии и веб-канали.","WEBSITE_FEATURES_POWER_USER":"Моќни кориснички карактеристики","WEBSITE_FEATURES_POWER_USER_P1":"Пушти во надворешен плеер","WEBSITE_FEATURES_POWER_USER_P2":"Пушти од торент датотека или врска со магнет","WEBSITE_FEATURES_POWER_USER_P3":"Увезете во вашата колекција од лајкови на Фејсбук или локален диск","WEBSITE_ADD_ONS":"Додатоци","WEBSITE_ADD_ONS_P1":"Сите видео содржини што ги обезбедува Stremio се добиваат преку систем за додатоци - во апликацијата не е вградена содржина или давател на содржина.","WEBSITE_ADD_ONS_P2":"Достапни се две групи на додатоци: официјални и неофицијални(заедницата) додатоци.","WEBSITE_ADD_ONS_P3":"Официјалните се развиени и хостирани од Stremio, додека додатоците на заедницата се креирани од членовите на нашата заедница, кои исто така ги хостираат.","WEBSITE_ADDONS_OFFICIAL":"Официјални додатоци","WEBSITE_ADDONS_WATCHUB":"Пренесувајте ги вашите омилени филмови, серии и емисии од провајдери како iTunes, Hulu, Amazon и други услуги во ОК/САД.","WEBSITE_ADDONS_YOUTUBE":"Гледајте ги омилените канали на YouTube без реклами и добивајте известувања за нови прикачувања од соработниците што ги следите.","WEBSITE_ADDONS_FILMON":"Гледајте телевизија во живо, филмови и социјална телевизија бесплатно. 600 ТВ канали, 45.000 бесплатни филмови, документарни филмови и повеќе.","WEBSITE_ADDONS_OPENSUBTITLES":"Преводи за филмови и ТВ на повеќе јазици, илјадници преведени преводи кои се поставуваат секој ден.","WEBSITE_ADDONS_COMMUNITY":"Додатоци на заедницата","WEBSITE_ADDONS_FILMON_VOD":"Гледајте видео на барање од Filmon.tv","WEBSITE_ADDONS_TWICH":"Гледајте преноси во живо од Twitch.tv - платформа за видео стриминг за индустријата за е-спорт.","WEBSITE_ADDONS_VODO":"Гледајте инди филмови апсолутно бесплатно.","WEBSITE_ADDONS_NETFLIX":"Гледајте филмови и веб серии на Нетфликс.","WEBSITE_ADDONS_CREATE":"Направете додаток","WEBSITE_ADDONS_CREATE_P1":"Доколку сакате, можете да развиете свој додаток. На овој начин, можете да си дадете себеси и нашата заедница пристап до нови видео содржини и да допрете до нова целна публика од милиони корисници ширум светот.","WEBSITE_ADDONS_START_CREATE":"За да започнете, посетете ја страницата Stremio Addon SDK:","WEBSITE_DOWNLOADS":"Преземања","WEBSITE_DOWNLOADS_P1":"За оптимални перформанси, ви препорачуваме да ја користите најновата достапна верзија на апликациите Stremio. Меѓутоа, ако поради некоја причина сакате да користите постара верзија, можете да ја преземете овде.","WEBSITE_DOWNLOADS_P1_SHORT":"За оптимални перформанси, ви препорачуваме да ја користите најновата достапна верзија на апликациите Stremio.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio за Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio за macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio за Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio за Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio за Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio за Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio за Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio за iOS","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio за Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio за LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio за Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio за Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio за Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio за Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio за Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio за Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio за Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio за Прелистувач","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Пребарајте го Stremio во App Store на моделите на Samsung TV од 2019+ година","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Пребарајте го Stremio во App Store на моделите на LG TV од 2020+","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Пребарајте Stremio во апликацијата Play Store на Sony TV со Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Пребарајте Stremio во апликацијата Play Store на Philips TV со Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Пребарајте го Stremio во App Store на вашиот уред Xbox","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Водич за Stremio OS на RPI","WEBSITE_LINK_GUIDE":"Водич","WEBSITE_DOWNLOAD_SERVICE":"Преземете ја Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service е придружна апликација за Stremio Web. Препорачуваме да ја користите најновата достапна верзија на Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service за Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service за macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service за Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service за Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio за Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"Повеќе опции за преземање","WEBSITE_DOWNLOAD_NEW":"Ново!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"Го објавивме Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"Го објавивме Stremio за Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"Го објавивме Stremio за LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"Го објавивме Stremio за Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"Го објавивме Stremio за Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"Платформата Stremio е со отворен код и лесно можете да креирате додаток за содржина што моментално не е изворна.","WEBSITE_CONTRIBUTE_WHY":"Зошто треба да креирате додаток?","WEBSITE_CONTRIBUTE_WHY_P1":"Допрете нова публика за вашата видео содржина","WEBSITE_CONTRIBUTE_WHY_P2":"Корисничката база на Stremio рапидно расте - во првата година од лансирањето, Stremio доби 1 милион корисници ширум светот, а во втората година од постоењето на платформата оваа бројка порасна на 2,5 милиони.","WEBSITE_CONTRIBUTE_WHY_P3":"Со вашиот додаток, можете лесно да допрете до оваа публика и да им ја дистрибуирате вашата видео содржина.","WEBSITE_CONTRIBUTE_ALL":"Гледајте ги омилените филмови, видеа, серии и канали на едно место.","WEBSITE_CONTRIBUTE_ALL_P1":"Дали сте обожаватели на одреден тип на содржина што сè уште не е достапна на Stremio? Направете додаток за него и уживајте во гледањето на вашите омилени видеа во еден од најголемите и најлесните забавни центри на пазарот.","WEBSITE_CONTRIBUTE_ALL_P2":"Згора на тоа, ќе ја добиете бескрајната благодарност од другите членови на заедницата Stremio истомисленици.","WEBSITE_CONTRIBUTE_MONETIZE":"Монетизирајте го вашиот додаток и заработете пари со негова помош","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Откако ќе развиете нов додаток за Stremio, можете лесно да го монетизирате на повеќе различни начини. Ако размислувате за ова, слободно стапете во контакт со нас на","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - со задоволство би ве консултирале и ве советуваме за опциите за монетизација на додатоците.","WEBSITE_CONTRIBUTE_TRANSLATE":"Станете волонтер преведувач","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Ако сакате да уживате во апликациите Stremio на различни јазици, можете да се придружите на нашата заедница на доброволни преведувачи. Тие ни помагаат да додадеме верзии на Stremio на многу различни јазици.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Дали сте желни да започнете?","WEBSITE_TRANSALTE_STREMIO":"Преведи го Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Официјални заедници","WEBSITE_COMMUNITY_OFFICIALS_P1":"Станете дел од растечката заедница Stremio. Следете не на социјалните мрежи и не се срамете да се поздравите - сакаме да слушаме од нашите обожаватели!","WEBSITE_COMMUNITY_UNOFFICIALS":"Неофицијални заедници","STREMIO_COMMUNITY_NL":"Stremio Холандија","STREMIO_COMMUNITY_BRASIL":"Stremio Бразил","STREMIO_COMMUNITY_GERMANY":"Stremio Германија","STREMIO_COMMUNITY_BELGIUM":"Stremio Белгија","STREMIO_COMMUNITY_FRANCE":"Stremio Франција","STREMIO_COMMUNITY_PORTUGAL":"Stremio Португалија","STREMIO_COMMUNITY_ITALY":"Stremio Италија","STREMIO_COMMUNITY_UK":"Stremio ОК","STREMIO_COMMUNITY_USA":"Stremio САД","STREMIO_COMMUNITY_MEXICO":"Stremio Максико","STREMIO_COMMUNITY_ADDONS":"Stremio Додатоци","STREMIO_COMMUNITY_AWESOME":"Прекрасен Stremio","WEBSITE_COMMUNITY_PARTNERS":"Партнери и поддржувачи","WEBSITE_COMMUNITY_GOODIES":"Stremio добра","WEBSITE_COMMUNITY_WALLPAPERS":"Позадини","WEBSITE_COMMUNITY_ART":"Заедница Art Gallery","WEBSITE_LINK_ART":"Заедница art gallery","WEBSITE_CONTACT_US":"Контактирајте не","WEBSITE_CONTACT_US_P1":"Ако имате какви било прашања, коментари или предлози, слободно стапете во контакт со нас преку контакт формата подолу.","WEBSITE_CONTACT_US_P2":"Имајте на ум дека сме лоцирани во Бугарија, така што може да има одложување во решавањето на вашето барање поради разлики во временската зона.","WEBSITE_CONTACT_US_SUCCESS":"Твојата порака е пратена. Ќе ви одговориме што е можно поскоро.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Ве молиме внесете валидна е-пошта!","WEBSITE_CONTACT_US_Q_RELATED_TO":"Со што е поврзано твоето прашање?","WEBSITE_CONTACT_US_Q_OS":"Кој е вашиот оперативен систем?","WEBSITE_CONTACT_US_PH_EMAIL":"Твојата Е-Пошта","WEBSITE_CONTACT_US_PH_MESSAGE":"Порака","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"ИСПРАТИ","WEBSITE_CONTACT_US_Q_1":"Како да инсталирам?","WEBSITE_CONTACT_US_Q_2":"Како да се деинсталирам?","WEBSITE_CONTACT_US_Q_3":"(HTML) Како да направите лазања?","WEBSITE_CONTACT_US_Q_4":"Додатоци","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Технологија","WEBSITE_TECHNOLOGY_P1":"Ја сакаме технологијата и лудата наука. </br> Еве што го напојува Stremio (сето тоа е со отворен код).","WEBSITE_TECHNOLOGY_P_QT":"Развој на софтвер меѓу платформи во најдобар случај.","WEBSITE_TECHNOLOGY_P_MPV":"Бесплатен медиа плеер со отворен код и меѓуплатформски.","WEBSITE_TECHNOLOGY_P_RN":"React Native ви овозможува да креирате мобилни апликации користејќи само JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework вградена во апликацијата за добивање мултимедија.","WEBSITE_TECHNOLOGY_P_REALM":"Realm е мобилна платформа и замена за SQLite и Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js е опкружување со отворен код, меѓу-платформа, JavaScript за извршување.","WEBSITE_TECHNOLOGY_P_RUST":"Rust е програмски јазик со повеќе парадигма, фокусиран на безбедноста, особено на безбедното истовремено.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Придонесете во проектот","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Постојат два начини на кои можете да придонесете за Stremio и да ни помогнете да го направиме производот уште подобар.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Можете да ги донирате вашите вредни јазични вештини со преведување на платформата...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"или","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... можете да ги искористите вашите вештини за кодирање за создавање додатоци во заедницата. ","WEBSITE_TRANSLATE_STREMIO":"Преведи го Stremio","WEBSITE_404_OH_NO":"Уф! Страницата што ја барате не е тука...","WEBSITE_GO_HOME":"Оди на почетна","WEBSITE_LINK_OTHER_DOWNLOADS":"Други преземања","WEBSITE_FAQ_ABR":"НПП","WEBSITE_SUPPORT":"Поддршка","WEBSITE_DOWNLOAD_4_0_BETA":"Преземете сега Stremio 4 бета","WEBSITE_GET_FOR_DESKTOP":"Превземи за декстоп","WEBSITE_LINK_ADDON_COMPETITION":"Натпревар за додатоци","WEBSITE_LINK_ART_CONTEST":"Уметнички натпревар","WEBSITE_MY_ACCOUNT":"Мојта сметка","WEBSITE_MAINPAGE_FAQ_001_H1":"Што е Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio е модерен медија центар кој ви дава слобода да гледате сè што сакате.","WEBSITE_MAINPAGE_FAQ_002_H1":"Како работи?","WEBSITE_MAINPAGE_FAQ_002_P1":"Откако ќе го инсталирате Stremio на вашиот уред и ќе создадете сметка, сè што треба да направите е да го посетите каталогот на додатоци и да инсталирате кој било додаток што го сакате, и вие сте подготвени за гледање!","WEBSITE_MAINPAGE_FAQ_002_P2":"После тоа, можете да отидете во секциите Откријте или Табла за да започнете со истражување на содржината.","WEBSITE_MAINPAGE_FAQ_003_H1":"Што можам да гледам овде?","WEBSITE_MAINPAGE_FAQ_003_P1":"Многу: Филмови, ТВ емисии, веб-канали, спорт, ТВ канали, слушање поткасти и многу повеќе. Благодарение на нашиот систем за додатоци, можете да пристапите до разновидна содржина.","WEBSITE_MAINPAGE_FAQ_004_H1":"Дали Stremio е со отворен код?","WEBSITE_MAINPAGE_FAQ_004_P1":"Да, можете да ги проверите следните врски: ${1}десктоп апликација${2} и ${3}GitHub организација${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Дали Stremio е безбеден?","WEBSITE_MAINPAGE_FAQ_005_P1":"Да: бидејќи е софтвер со отворен код, кодот може јавно да се ревидира и можете сами да го прегледате.","WEBSITE_MAINPAGE_FAQ_005_P2":"Системот за додатоци на Stremio исто така беше создаден имајќи ја предвид безбедноста на корисникот. Додатоците не користат никаков код локално, така што тие не претставуваат ризици за вашиот уред.","WEBSITE_MAINPAGE_FAQ_006_H1":"Што е со мојата приватност?","WEBSITE_MAINPAGE_FAQ_006_P1":"Ја почитуваме приватноста на корисниците и не собираме никакви лични податоци освен суштинскиот минимум за креирање и синхронизирање на вашата сметка.","WEBSITE_MAINPAGE_FAQ_006_P2":"Постои и ${1}Режим за гостин${2} при регистрација, за кој не се потребни никакви податоци: во овој режим, не ни се испраќаат податоци. Сепак, тоа доаѓа на сметка на корисни функции, како што е можноста да ја синхронизирате вашата колекција низ уредите.","WEBSITE_MAINPAGE_FAQ_007_H1":"Може ли да емитувам на мојот телевизор?","WEBSITE_MAINPAGE_FAQ_007_P1":"Да, ние поддржуваме Chromecast и може да емитувате и од десктоп и од мобилни апликации (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"Колку додатоци има Stremio?","WEBSITE_MAINPAGE_FAQ_008_P1":"Од крајот на 2019 година, над 50 - за повеќе информации, проверете го нашиот каталог на додатоци.","WEBSITE_MAINPAGE_FAQ_009_H1":"Може ли Stremio да се прошири надвор од она што е во каталогот на додатоци?","WEBSITE_MAINPAGE_FAQ_009_P1":"Да, треба да ги проверите: ${1}PimpMyStremio${2}, ${3}Reddit заедници${4}, ${5}Stremio Downloader${6} итн.","WEBSITE_MAINPAGE_FAQ_010_H1":"Кои уреди поддржува Stremio?","WEBSITE_MAINPAGE_FAQ_010_P1":"Имаме десктоп апликации за Windows, Mac и Linux. За мобилни, ние поддржуваме Android и iOS, иако имајте на ум дека iOS е ограничен во функционалноста (не поддржува повеќето додатоци).","WEBSITE_MAINPAGE_FAQ_010_P2":"Има многу уреди базирани на Android на кои можете да го стартувате Stremio, како NVIDIA Shield и Amazon Fire Stick, но ние не ги поддржуваме официјално.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"маме десктоп апликации за Windows, Mac и Linux. Имаме и посветени апликации за Android Mobile и Android TV. За iOS и iPadOS предлагаме користење на Stremio Web, иако е поограничена во функционалноста.","WEBSITE_MAINPAGE_FAQ_011_H1":"Можете ли да додадете одредена содржина во Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"За жал, ние самите не обезбедуваме содржина, но колку повеќе Stremio додатоци имате инсталирано, толку повеќе содржини ќе можете да најдете.","WEBSITE_MAINPAGE_FAQ_012_H1":"Дали Stremio може да репродуцира магнетни врски?","WEBSITE_MAINPAGE_FAQ_012_P1":"Да, и исто така може да репродуцира нормални HTTP-врски и торент-датотеки (повлечи и пушти).","WEBSITE_MAINPAGE_FAQ_013_H1":"Може ли да преземам видео и да гледам офлајн?","WEBSITE_MAINPAGE_FAQ_013_P1":"Достапно офлајн е претстојна функција, но ако дозволите Stremio да кешира на вашиот уред (од панелот за поставки), можете да ги гледате видеата подоцна без интернет.","WEBSITE_MAINPAGE_FAQ_014_H1":"Ништо не функционира, помогни ми!","WEBSITE_MAINPAGE_FAQ_014_P1":"Дали сте сигурни дека имате инсталирано додатоци? Ако одговорот е да, проверете кај нашиот ${1}центар за помош${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"Како Stremio ги одржува своите развојни операции?","WEBSITE_MAINPAGE_FAQ_015_P1":"Повремено прикажуваме ненаметливи реклами, но размислуваме да преминеме на модел на донација.","WEBSITE_MAINPAGE_FAQ_015_P2":"За повеќе прашања, одете во нашиот ${1}центар за помош${2}.","HELP_LEARN_MORE":"Помогнете ни да дознаеме повеќе за вас.","LIFESTYLE":"Начин на живот","SPORTS":"Спорт","FOOD_HEALTH":"Храна и здравје","BEAUTY_FASHION":"Убавина и мода","NEWS":"Вести","GAMING":"Гејминг","SCIENCE_EDUCATION":"Наука и образование","MUSIC":"Музика","TRAVEL":"Патување","LATE_NIGHT":"Доцна ноќ","REALITY":"Реалност","COMEDY":"Комедија","DIY":"Како да направите сам","TECH":"Технологија","CINEMA":"Кино","CONTINUE":"Продолжи","SLOW_LOADING":"БАВНО СЕ ВЧИТУВА?","I_GIVE_UP":"СЕ ПРЕДАВАМ","LEARN_MORE":"Научи повеќе","POOR_SOURCE":"Овој извор е слабо достапен или вашата интернет-врска не е доволно брза","PICK_CATEGORIES_ERR":"Треба да изберете најмалку 3 категории","ADJUST_TIMING":"Прилагодете го времето со ","ADJUST_SIZE":"Прилагодете ја големината со ","SEARCH_ANYTHING":"Можете да пребарувате сè...","ALL_CATEGORIES":"Сите","SEARCH_CATEGORIES":"Филмови, Серии, YouTube и ТВ","SEARCH_PERSONS":"Актери, Режисери и Писатели","SEARCH_PROTOCOLS":"HTTP & Magnet Links","SEARCH_TYPES":"Врски на IMDB / TVDB","WATCHED":"Гледано","SHOW_LESS":"Покажете помалку","LAST_SEARCHES":"Последни пребарувања","CLEAR_HISTORY":"Исчисти историја","CHOOSE_SOME":"ИЗБЕРЕТЕ НЕКОИ ОД ОВА:","NO_WEB_REMOTE":"Веб далечинскиот управувач не може да се вчита","STREMIO_OFFLINE":"Stremio е офлајн","STREMIO_EXPENSIVE_CONNECTION":"Откривме дека користите конекција за мобилни податоци, дали сакате да продолжите?","USE_DATA":"Користете податоци","WARNING":"Предупредување","MORE_INFO":"Повеќе информации...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"се вчитува ...","STREMIO_TV_BACK_TO_LANGUAGES":"Назад кон јазиците","STREMIO_TV_REMOTE":"Далечински управувач","STREMIO_TV_GO_TO":"Оди до:","STREMIO_TV_OR_SCAN":"или скенирајте:","STREMIO_TV_ADDON_INSTRUCTIONS":"Ве молиме следете ги упатствата за да ги инсталирате вашите претпочитани додатоци.","STREMIO_TV_LIVE_TV":"ТВ во живо","STREMIO_TV_RESUME_WATCHING":"Продолжи со гледање","STREMIO_TV_LOADING_BACKGROUND":"Вчитување на позадината","STREMIO_TV_CHECKING_AUTHENTICATION":"Проверка на автентикација","STREMIO_TV_LOADING_BOARD":"Табла за вчитување","STREMIO_TV_LOGIN_HEADER_LINE_1":"Сакаме нашите корисници да имаат најдобро можно персонализирано искуство со нашиот софтвер.","STREMIO_TV_LOGIN_HEADER_LINE_2":"Токму поради оваа причина, ве молиме да направите и/или да се најавите на вашата сметка.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Ви благодариме на разбирањето,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Тимот на Stremio","STREMIO_TV_REMOTE_INSTRUCTIONS":"За да го користите веб-далечинскиот управувач со вашиот паметен телефон / таблет / десктоп:","STREMIO_TV_WIFI_SETUP":"Поставување Wi-Fi","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle не откри интернет конекција.","STREMIO_TV_WIFI_DETAILS_1":"Поврзете се со:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Користете лозинка:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Отворете веб-прелистувач со врската:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Стандардно","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"По последно гледано","STREMIO_TV_LIBRARY_SORT_NAME":"По име","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"По име опаѓачки","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"По временско гледање","STREMIO_TV_LIBRARY_SORT_WATCHED":"По Гледано","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"По Негледано","STREMIO_TV_DETAILS_SEASON_NUMBER":"Сезона ${1}","STREMIO_TV_STREAMS_LOADING":"Вчитано ${1} / ${2} додатоци...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} додатокот сè уште се вчитува...","STREMIO_TV_PLAYER_SETTINGS":"Поставки на плеерот","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Доцнење на преводи","STREMIO_TV_PLAYER_AUDIO_DELAY":"Аудио доцнење","STREMIO_TV_PLAYER_VIDEO_SCALING":"Видео скалирање","STREMIO_TV_PLAYER_CHAPTERS":"Поглавја","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Прескокни ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Неподдржан извор на пренос","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Неуспешно отворање на надворешна врска","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Не може да се прилагоди во режимот на аудио премин","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Пушти со ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Пушти со libVLC плеер","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Префрлување на libVLC плеер поради грешка при репродукција","STREMIO_TV_ADDONS_TITLE":"Користете Stremio на вашиот телефон или компјутер за да инсталирате или конфигурирате додатоци и притиснете \\"Синхронизирајте додатоци\\"","STREMIO_TV_ADDONS_SUBTITLE":"Забелешка: проверете дали ја користите истата сметка на Stremio","STREMIO_TV_ADDONS_SYNC_ADDONS":"Синхронизирајте додатоци","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Додатоците се успешно синхронизирани","STREMIO_TV_ADDONS_SYNC_FAILED":"Не успеа да се синхронизираат додатоците","STREMIO_TV_META_LINK_FAILED":"Неуспешно отворање на мета-врската","STREMIO_TV_CATALOG_LOADING":"Каталогот сè уште се вчитува...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Јазикот на интерфејсот е ажуриран","STREMIO_TV_SETTINGS_THEME_UPDATED":"Темата е ажурирана","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Стандарден плеер","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Надворешен плеер","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Префериран јазик","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Секундарен префериран јазик","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Можни проблеми со репродукцијата на некои уреди","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Некои видео формати може да не работат","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Оневозможено","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"Нема кеширање","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Стандардно","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Меко","STREMIO_TV_SETTINGS_PROFILE_FAST":"Брзо","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ултра брзо","STREMIO_TV_SETTINGS_SERVER_URL":"УРЛ на серверот за стриминг","STREMIO_TV_SETTINGS_SERVER_VERSION":"Сервер верзија","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Непознато","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio верзија","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Уреди URL на серверот","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Внесете URL-адреса на серверот за стриминг","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Прикажи статистика додека се вчитува","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"За да ја прочитате Политиката за приватност на Stremio, посетете:","STREMIO_TV_SETTINGS_TOS_TEXT":"За да ги прочитате одредбите и условите на Stremio, посетете:","STREMIO_TV_NAV_SEARCH":"Пребарување","STREMIO_TV_NAV_HOME":"Почетна","STREMIO_TV_NAV_DISCOVER":"Откријте","STREMIO_TV_NAV_LIBRARY":"Колекција","STREMIO_TV_NAV_MOVIES":"Филмови","STREMIO_TV_NAV_SERIES":"Серии","STREMIO_TV_NAV_CHANNELS":"Канали","STREMIO_TV_NAV_TV":"ТВ во живо","STREMIO_TV_NAV_SETTINGS":"Поставки","STREMIO_TV_NAV_ADDONS":"Додадоци","STREMIO_TV_LOGIN_TITLE":"Поврзете ја сметката","STREMIO_TV_LOGIN_EXPIRES_IN":"Истекува за","STREMIO_TV_LOGIN_STEP_ONE":"Скенирајте го QR-кодот погоре или одете на","STREMIO_TV_LOGIN_STEP_TWO":"Најавете се на вашата сметка на Stremio","STREMIO_TV_LOGIN_NEW_LINK":"Побарајте нова врска","STREMIO_TV_LOGIN_LINK_REFRESHED":"Кодот за најавување е освежен","STREMIO_TV_SEARCH_PLACEHOLDER":"Напишете нешто","STREMIO_TV_SEARCH_NO_ADDONS":"Не беа побарани додатоци за каталози!","STREMIO_TV_SEARCH_BUTTON":"Пребарување","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Историја на пребарување","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Можете да пребарувате за наслови, актери, канали и повеќе...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Исчистете ја историјата на пребарување","STREMIO_TV_FILTERS_DESCRIPTION":"Изберете од еден од филтрите подолу","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Серверот за стриминг е офлајн. Проверете ги поставките на серверот.","FILTERS":"Филтри","SETTINGS":"Поставувања","ACCOUNT":"Сметка","LOGOUT":"Одјавување","THEMES":"Теми","PLAYBACK":"Репродукција","PLAYBACK_SPEED":"Брзина на репродукција","AUDIO_TRACKS":"Аудио Траки","UNKNOWN_TRACK_LANG":"Непознат","VIDEOS":"Видеа","SERVER":"Сервер","LINKS":"Врски","ABOUT":"За","INTERFACE":"Интерфејс","ANIMATIONS":"Анимации","STATUS":"Статус","LANGUAGE":"Јазик","SIZE":"Големина","DELAY":"Одложување","BOLD":"Задебелен","OPACITY":"Проѕирност","TEXT_COLOR":"Боја на текстот","OUTLINE_COLOR":"Боја на рамка","BACKGROUND_COLOR":"Боја на позадина","BACKGROUND_BLUR":"Заматување на позадината","SEEK_TIME_DURATION":"Времетраење на пребарувањето","AUTO_PLAY":"Автоматски пушти следна епизода","PLAY_NOW":"Пушти сега","MARK_AS_WATCHED":"Означи како гледано","MARK_AS_UNWATCHED":"Означи како негледано","REWIND_TO_BEGINNING":"Премотајте назад кон почеток","CONTINUE_WATCHING":"Продолжи со гледање","ALL":"Сите","SECONDS":"секунди","ON":"Вклучено","OFF":"Исклучено","RELOAD":"Вчитај повторно","EDIT_URL":"Уреди URL","NONE":"Никој","EMBEDDED":"Вградени","REMOTE_SWITCH_DEVICES":"Префрли уреди","REMOTE_VIDEOS":"Видеа","REMOTE_ADJUST_TIMING":"Прилагодете го времето","REMOTE_ADJUST_SIZE":"Прилагодете ја големината","REMOTE_COULD_NOT_BE_LOADED":"Веб далечинскиот управувач не може да се вчита","REMOTE_RETRY":"Обидете се повторно","TORRENT_PROFILE_DEFAULT":"Стандардно","TORRENT_PROFILE_SOFT":"Меко","TORRENT_PROFILE_FAST":"Брзо","TORRENT_PROFILE_ULTRA_FAST":"Ултра брзо","FAQ_001_H1":"Што е Stremio?","FAQ_001_P1":"Stremio е медија центар софтвер дизајниран за видео со лесен за користење. Stremio ви овозможува да организирате &amp; гледајте вашата сопствена колекција на филмови, серии, канали и ТВ во живо.","FAQ_001_P2":"Stremio ја собира содржината што ви ја прикажува од вашиот локален диск и нашиот систем за додатоци.","FAQ_001_P3":"Исто така, ќе ве извести кога ќе излезат нови епизоди/видеа/филмови за кои сте заинтересирани и ќе ви обезбеди препораки за филмови.","FAQ_02_H1":"Како Stremio се споредува со Kodi и Plex?","FAQ_02_P1":"Ние сме инспирирани од тие два софтвери. Но, ние имаме различни цели - Stremio е специфично насочен кон забавно видео и се стреми да стане главното решение за тоа со тоа што е многу лесен за употреба.","FAQ_02_P2":"Stremio никогаш нема да биде приспособлив и богат со карактеристики како Kodi и Plex, но значително е полесен за користење. Само ${1} земете го и видете ${2} :)","FAQ_03_H1":"Како Stremio се споредува со Netflix?","FAQ_03_P1":"Повторно, Netflix е една од нашите инспирации. Се стремиме да го постигнеме корисничкото искуство на Netflix, плус многу додадени добрите. Но, што е најважно, ви даваме слобода да управувате со сопствената колекција и да додавате нови извори на содржина со нашиот систем за додатоци.","FAQ_03_P2":"Тоа го прави Stremio бескрајно продолжен, па кога користите Stremio, никогаш не сте ограничени на содржината што Netflix одлучи да ја лиценцира. На пример, преку Stremio можете да гледате содржини од ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo$ {8} па дури и самиот ${9}Netflix${10}!","FAQ_04_H1":"Како Stremio се споредува со Flipboard?","FAQ_04_P1":"Тоа прашање не го добиваме толку често, освен кога разговараме со почетници :)","FAQ_04_P2":"Stremio по дизајн е агрегатор на содржина, што во суштина го прави Flipboard за видео. Ова е многу видливо во нашиот дел од Одборот, кој ви дава каталози и известувања за нови епизоди/нови видео за она што го следите, исто како Flipboard.","FAQ_05_H1":"Како Stremio се споредува со Popcorn Time?","FAQ_05_P1":"Stremio и Popcorn Time се слични во корисничкиот интерфејс, бидејќи нема многу начини како правилно да се прават каталози за видео забава :)","FAQ_05_P2":"Но, додека Popcorn Time е фокусиран на стриминг торенти од одредени извори, Stremio е неограничен и е само агрегатор на содржина - не е заклучен во одреден извор на содржина.","FAQ_05_P3":"Понатаму, стандардно не обезбедуваме никакви додатоци за торент, така што Stremio не го покрива случајот на употреба Popcorn Time со официјална функционалност.","FAQ_05_P4":"Друга забележлива разлика е што Popcorn Time е целосно со отворен код, додека Stremio е ${1} делумно отворен извор${2}.","FAQ_06_H1":"Дали ќе го додадете овој филм/серијал?","FAQ_06_P1":"Не, извини :(","FAQ_06_P2":"Како што е споменато во повеќето други прашања, Stremio не обезбедува никаква содржина сам по себе - сè се додава преку системот за додатоци. Во случај да имате барање за содржина, можете да го користите копчето „Пријави“ во Плеерот, кое ќе испрати е-пошта до авторот на додатокот што моментално го користите.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Дали ќе креирате додаток за X?","FAQ_08_P1":"Тоа е сосема можно.","FAQ_08_P2":"Ако имате идеја за додаток, пишете ни на ${1}office@stremio.com${2}, но проверете дали вашата идеја за додаток нема да ги наруши авторските права или условите за користење.","FAQ_08_P3":"Во моментов, следните работи на нашиот патоказ се додатоци за FandangoNOW, Filmon.tv видео на барање и Crunchyroll.","FAQ_09_H1":"Дали Stremio користи BitTorrent?","FAQ_09_P1":"Да, Stremio поддржува BitTorrent како протокол за стриминг. Можете да го користите или со додаток за torrent, или со влечење и пуштање датотека .torrent во Stremio или со залепување магнетна врска во лентата за пребарување.","FAQ_09_P2":"Имајте предвид дека единствениот официјален додаток кој користи BitTorrent е ${1}Vodo${2}, кој обезбедува инди содржина, а сето тоа е дозволено да се дистрибуира со BitTorrent.","FAQ_09_P3":"Не поддржуваме употреба на додатоци од трета страна што може да овозможат прекршување на авторските права.","FAQ_10_H1":"Што можам да гледам во Stremio со официјалните додатоци?","FAQ_10_P1":"Стандардно, можете да гледате содржини на Filmon.tv, YouTube и Vodo во самиот Stremio, со неговиот вграден плеер. Дополнително, имаме додаток за Twitch.tv и неколку други.","FAQ_10_P2":"Оваа комбинација обезбедува избор на:","FAQ_10_L1":"Популарни ТВ канали, обезбедени од Filmon.tv - на пример E4, BBC, Bollyworld TV","FAQ_10_L2":"Сè од YouTube - на пример BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Инди филмови со Vodo","FAQ_10_L4":"Емитување на онлајн игри со Twitch.tv","FAQ_10_P3":"Дополнително, има многу извори на содржина обезбедени со Guidebox и додатоците на Netflix, кои <b>не</b> се репродуцираат целосно во Stremio, туку би се пренасочиле на дадената услуга. На пример, додатокот Guidebox ќе ви даде избор на филмови што можете да ги проследувате во САД бесплатно, од услуги како TubiTV и Crackle.","FAQ_11_H1":"Stremio нема да се инсталира, што да правам?","FAQ_11_P1":"Ако сте на Windows, обидете се со ${1}овој алтернативен инсталатер${2}.","FAQ_11_P2":"Ако сте на Mac OS X, ве молиме имајте предвид дека не поддржуваме ништо постаро од OS X Mavericks (10.9).","FAQ_11_P3":"Ако сте на Linux, имајте предвид дека ние во моментов поддржуваме само 64 битен (x64) Linux.","FAQ_11_P4":"Ако сè уште не можете да го решите вашиот проблем, пишете ни во нашата ${1}група на Facebook${2}.","FAQ_12_H1":"Зошто се жали мојот антивирус? Дали Stremio е безбеден?","FAQ_12_P1":"Ве уверуваме дека Stremio е ${1}100% чист${2}.","FAQ_12_P2":"Вашиот антивирус се жали затоа што вклучуваме рекламирање во нашиот инсталатер, кој некои антивирусни програми го препознаваат како рекламна програма.","FAQ_12_P3":"Ако сè уште не сте сигурни, можете да го испробате нашиот ${1}алтернативен инсталатер${2}.","FAQ_13_H1":"Како можам да направам додаток?","FAQ_13_P1":"За почеток, ви препорачуваме да го проверите нашиот ${1}системски модул за додатоци${2} на GitHub.","FAQ_13_P2":"Потоа, можете да го следите упатството за ${1}Hello World${2}.","FAQ_13_P3":"Ако немате никакви програмски вештини, ве молиме објавете ја вашата идеја на ${1}заедницата на Reddit${2} и контактирајте не со вашата идеја за додаток на ${3}office@stremio.com${4}.","FAQ_14_H1":"Како се објавуваат додатоците?","FAQ_14_P1":"Кога креирате додаток и хост и ставате поле <b>endpoint</b> во вашиот манифест, што укажува на работна адреса за додаток, додатокот автоматски ќе се објави во нашиот ${1}Addon каталог${2} .","FAQ_14_P2":"Ова се случува затоа што серверот дел од модулот stremio-addons автоматски се јавува до нашиот API за да го објави додатокот. Кога нашиот API ќе ја потврди вашата <b>крајна точка</b> како валиден додаток, тој ќе почне да се прикажува во каталогот.","FAQ_15_H1":"Може ли да го стартувам Stremio во мојот прелистувач?","FAQ_15_P1":"Не во моментов, но ова доаѓа!","FAQ_15_P2":"Ако сте љубопитни да видите Alpha, можете да ја видите овде: ${1}alpha4.strem.io${2}. Имајте на ум, преносот е оневозможен на оваа алфа. Ние поддржуваме Chrome, Firefox, Opera и Edge.","FAQ_16_H1":"Емитувањето на ТВ не функционира / преводите не функционираат","FAQ_16_P1":"Емитувањето на ТВ ја користи технологијата DLNA која е многу неконзистентна помеѓу различни брендови и модели на ТВ. Поради таа причина, немаме можност да го тестираме во секој случај, па затоа е далеку од совршен. И покрај тоа, ние работиме постојано да го подобруваме, но не можеме да ви дадеме временска проценка кога DLNA ќе почне да работи правилно со вашиот телевизор.","FAQ_16_P2":"Ако дури и не го гледате вашиот телевизор во менито за емитување, обидете се да ја оневозможите мрежната врска и повторно да ја овозможите (на Windows, кликнете со десното копче на мрежата и користете Овозможи/Оневозможи), како и рестартирање на рутерот, ТВ и компјутерот .","FAQ_16_P3":"Ако сè уште се соочувате со проблеми, можете да ни помогнете со испраќање информации за брендот и моделот на вашиот телевизор на ${1}office@stremio.com${2}.","FAQ_16_P4":"Во меѓувреме, го препорачуваме Chromecast, кој го поддржуваме многу добро, или едноставно да го вклучите вашиот телевизор на вашиот компјутер со HDMI кабел.","FAQ_17_H1":"Stremio замрзнува и/или паѓа, што можам да направам?","FAQ_17_P1":"Прво, ако користите Windows 7 со AVG антивирус: имаме проблем со таа комбинација. Проблемот е во самиот AVG и не постои разумен начин да се реши од наша страна. За жал, исклучоците или оневозможувањето на антивирусот нема да работи. Единственото решение е да го замените AVG со нешто друго.","FAQ_17_P2":"Ако тоа не е проблемот, но сè уште користите Windows, ажурирајте го на најновиот сервисен пакет и ажурирајте ги/повторно инсталирајте ги драјверите за графичкиот процесор, а потоа обидете се повторно.","FAQ_17_P3":"Ако проблемот сè уште не е решен или користите Mac или Linux, пишете ни да ги пријавиме точните детали за проблемот во ${1}нашата група на Facebook${2}.","FAQ_18_H1":"Како можам да направам додаток?","FAQ_18_P1":"За почеток, ви препорачуваме да го проверите нашиот ${1}системски модул за додатоци${2} на GitHub.","FAQ_18_P2":"Потоа, можете да го следите упатството за ${1}Hello World${2}.","FAQ_18_P3":"Ако немате никакви програмски вештини, ве молиме објавете ја вашата идеја на ${1}заедницата на Reddit${2} и контактирајте не со вашата идеја за додаток на ${3}office@stremio.com${4}.","FAQ_19_H1":"Зошто Stremio зафаќа простор на дискот?","FAQ_19_P1":"Stremio има <b>локален кеш</b> за привремено да ги задржи видео-датотеките што ги пренесувате.","FAQ_19_P2":"Ова има две предности: прво, му овозможува на Stremio однапред да го тампонира видеото што следи за да обезбеди понепречено проследување. Второ, ги чува видеата во локалната кеш за да можете да продолжите да ги гледате офлајн.","FAQ_19_P3":"Колку ќе задржи Stremio зависи од поставката <b>Кеш</b> во панелот Поставки. Stremio може да се задржи до поставената количина (на пр. 2 GB) на вашиот диск, освен ако моментално емитуваното видео е поголемо од тоа, во тој случај треба да одвои доволно простор за да го задржи додека не го пренесувате.","FAQ_20_H1":"Каде е папката кеш?","FAQ_20_P1":"На Windows, тоа е stremio-cache во уредот што го избравте во Поставки (пример. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"На MacOS, е \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"На Linux, е \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"Добивам грешка \\"Серверот за стриминг не е пронајден\\", што можам да направам?","FAQ_21_P1":"Ако ја добиете оваа грешка, тоа значи една од неколкуте работи:","FAQ_21_P2":"1) Се обидувате да користите додаток поддржан од извор на YouTube/BitTorrent, преку нашата ${1}веб верзија${2}. Во овој случај, треба да ја инсталирате нашата десктоп верзија од ${3}нашата веб-локација${4}.","FAQ_21_P3":"2) Нешто не е во ред со вашата инсталација Stremio. Во овој случај, обидете се повторно да ја инсталирате нашата најнова верзија за десктоп од ${1}веб-страницата${2}. Ако ова не помогне, обидете се да ги оневозможите антивирусните програми и заштитните ѕидови, рестартирајте го компјутерот и обидете се повторно. Ако и ова не функционира, пишете ни во нашата ${3}нашата група на Facebook${4}.","FAQ_22_H1":"Не можам да ги видам/користам повеќето додатоци на iOS","FAQ_22_P1":"Поради ограничувањата во одредбите и условите на Apple App Store, ја ограничивме апликацијата за iOS само на одреден сет на додатоци.","FAQ_22_P2":"Но, бидете сигурни - ќе има повеќе додатоци за iOS во иднина, а може да додадеме и интеграција што ќе ви овозможи да ги користите сите додатоци на Stremio благодарение на поврзувањето на апликацијата за iOS со серверот за стриминг Stremio."}')},56735:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Wayang","TYPE_series":"Siri","TYPE_tv":"Saluran TV","TYPE_channel":"Saluran","TYPE_other":"Other","TYPE_movie_PL":"Wayang","TYPE_series_PL":"Siri","TYPE_tv_PL":"Saluran TV","TYPE_channel_PL":"Saluran","TYPE_other_PL":"Others","TYPE_ALL":"All","TYPE":"Type","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"Video","BACK":"Kembali","MORE":"More","DONE":"Done","COPY":"Copy","SUCCESS":"Success","ERROR":"Error","SETTINGS_CASTING_MODE_PICKER":"Casting mode","CASTING_MODE_HLSV2":"Default","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"No transcoding","Discover":"Teroka","Board":"Papan","Library":"Pustaka","My Library":"My Library","Calendar":"Takwim","NOTIFICATION_ONLINE":"You are now online","NOTIFICATION_OFFLINE":"You are currently offline","INTERNET_CONNECTION":"Network connection","STORAGE_FULL_TITLE":"Warning: Storage full!","STORAGE_FULL_TEXT":"Stremio will not be able to save your settings, preferences or login information. Consider re-starting or re-installing Stremio.","SEARCH":"cari","SEARCH_NO_RESULTS":"No results were found","SEARCH_EXPLANATION_CONTENT":"Search for movies, series, YouTube and TV channels","SEARCH_EXPLANATION_PEOPLE":"Search for actors, directors and writers","SEARCH_PASTE_LINKS":"Paste HTTP and Magnet links","SEARCH_OR_PASTE_LINK":"Search or paste link","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"Tambah dalam Pustaka","REMOVE_FROM_LIB":"Keluarkan dari Pustaka","ADDED_TO_LIB":"Added to Library","REMOVED_FROM_LIB":"Removed from Library","TRAILER":"Trailer","WATCH_TRAILER":"Watch Trailer","WATCH_NOW":"Tonton Sekarang","SHOW":"Tayang","SHOW_MOVIE":"Show Movie","WATCH_RANDOM":"Watch Random","IMDB_RATING":"IMDb","YEAR":"Tahun","DIRECTOR":"Pengarah","WRITER":"Penulis","LEAD_ACTORS":"Teraju Utama","CAST":"Pelakon","CREW":"Crew","SHOW_MORE_CAST":"Show more »","AIRED":"Ke Udara","SEASONS":"Musim","GENRE":"Genre","GENRE_ALL":"All genres","CATALOG":"Catalog","SUMMARY":"Ringkasan","SHOW_MORE":"Show More","SIMILAR":"Yang Serupa","UPCOMING":"Akan Datang","ENDED":"Tamat","DURATION":"Tempoh","FEATURED":"Featured","METADATA":"Metadata","CATEGORY":"category","LINKS_GENRES":"Genres","LINKS_CAST":"Cast","LINKS_DIRECTORS":"Directors","SEARCH_VIDEOS":"cari video","SEARCH_PLACEHOLDER":"search or paste magnet link","ADDON":"addon","ADDONS":"Addons","OFFICIAL":"rasmi","ADDONS_OFFICIAL":"Addons Stremio Rasmi","ADDONS_POPULAR":"Mahsyur di kawasan anda","ADDON_FREE":"Percuma","ADDON_PEERED":"peered","ADDON_SUBSCRIPTION":"langganan","ADDON_STREAM_GEORESTRICTED":"tiada dalam kawasan anda","ADDON_STREAM_OFFLINECACHE":"Offline Cache","ADDON_STREAM_LOCALFILE":"Local File","SHARE_ADDON":"Share addon","AVAILABLE_STREAMS":"Streams yang sedia ada","NO_STREAM":"Tiada streams buat masa ini","ALL_ADDONS":"All","INSTALL_MORE_ADDONS":"For more streams, please install more addons","STREAM_NOT_SUPPORTED":"Selected stream is not supported on this platform.","ADDON_CATALOGUE":"Tunjukkan semua addons »","ADDON_CATALOGUE_MORE":"More addons »","REPO_ADDED":"Repository added","ADDON_REPO_EXIST_ERR":"This addons repository already exist","ADDON_REPO_ERR":"Error occurred while adding repository","ADDON_ADD_ERR":"Error occurred while adding addon","ERR_ADDON_PROTECTED":"Protected addon","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Something went wrong - authentication may have failed","ERR_NOT_COLLECTION_URL":"Not a collection url","ERR_NOT_ADDON_URL":"Not an addon url","ERR_DETECTFROMURL":"Cannot detect from url","ADDON_DUPLICATE_WARNING":"Warning: duplicated addon","ADDON_COLLECTION_SET_FAILED":"Addon collection set failed","SETTINGS_DATA_EXPORT":"Export data","ADDON_PULL_FAILED":"Addon pulling failed","REFRESH_ON_CLICK":"Click to retry","STILL_IN_THEATER":"Tayangan masih dalam teater","WATCH_IN_CINEMA":"Tonton di wayang berdekatan anda","IN_THEATER":"Dalam tayangan","GET_TICKETS":"Dapatkan Tiket","UPCOMING_EPISODE":"Upcoming episode","UPCOMING_EPISODE_MESSAGE":"This episode will be aired on","MISSING_DATE_EPISODE":"Missing episode date","MISSING_DATE_EPISODE_MESSAGE":"This episode might not have aired yet","CHANNEL_NOT_SCRAPED":"This channel is not scraped yet.<br>Please come back in a few minutes.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Add it to your library to get notified once it is available.","GET_NOTIFIED_WHEN_AVAILABLE":"You will get notified once it is available.","WARNING_STREAMING_SERVER":"Warning: local streaming server not found. Streaming from YouTube and BitTorrent will not be available.","WARNING_STREAMING_SERVER_DISMISS":"Dismiss","WARNING_STREAMING_SERVER_LATER":"Later","DECODER_WARNING":"Warning: this video may not be supported by your hardware. Keep in mind, playback may be slow.","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"Alamak, ralat pemain","PLAYER_ERROR_LOOKSLIKE":"Nampaknya seperti","PLAYER_ORIENTATION":"Player orientation","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Locked","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensor","PLAYER_ORIENTATION_LANDSCAPE":"Player orientation locked at landscape","PLAYER_ORIENTATION_SENSOR":"Player orientation automatic (sensor)","PLAYER_PLAYBACK_SPEED":"Playback Speed","PLAYER_PLAYBACK_ERROR":"Playback error, please try again","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Unknown error","PLAYER_PLAYBACK_ERROR_DEFAULT":"Sorry, this video cannot be played by {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Subtitles Languages","PLAYER_SUBTITLES_VARIANTS":"Subtitles Variants","PLAYER_SUBTITLES_SETTINGS":"Subtitles Settings","PLAYER_SUBTITLES_DISABLED":"Subtitles are disabled","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Vertical Position","PLAYER_SUBTITLES_LOADED":"Subtitles loaded","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Embedded subtitles loaded","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Exclusive subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Subtitles from {{origin}} loaded","PLAYER_PLAY":"Play","PLAYER_PAUSE":"Pause","PLAYER_NEXT_VIDEO":"Next Video","PLAYER_MUTE":"Mute","PLAYER_UNMUTE":"Unmute","PLAYER_OPEN_IN_EXTERNAL":"Open in external player","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Play in {{device}}","PLAYER_LIVE":"Live","PLAYER_NEXT_VIDEO_TITLE":"Coming up next on","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Dismiss","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Watch now","PLAYER_COPY_STREAM_SUCCESS":"Stream link was copied to your clipboard","PLAYER_COPY_STREAM_ERROR":"Failed to copy stream link","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","STREAMING_FROM":"streaming dari","CASTING_TO":"Tayangkan ke","NETWORK_STATUS":"Status capaian","STREAM_SPEED":"Kelajuan stream:","STREAM_BUFFERED":"Buffered:","PEERS_INFO":"Maklumat peers","PEERS_ACTIVE":"Aktif:","PEERS_CONNECTED":"Sambungan:","PEERS_WAITING":"Menunggu:","TRANSCODING_WARNING":"Amaran: video transkoding.","STREAM_LOADING":"Memuatkan...","PLAYING_LOCAL":"main dari fail tempatan","PLAYING_CACHE":"playing from cache","WRONG_SUBS":"Wrong subtitles?","ERR_SUBS_LOADING_TITLE":"Error loading subtitles","ERR_SUBS_LOADING":"Failed loading subtitles: this could be an issue with the addon you are using, or with your network connection","WARN_FOLLOWING_SUB_ADDONS_FAILED":"The following subtitle addons failed","ERR_CASTING_UPDATE_TITLE":"Could not update casting device info: streaming server might be offline","CHOOSE_DEVICE":"Pilih peranti untuk tayang","NO_CAST_DEVICES":"No casting devices available.","NO_SETTINGS":"No settings available.","PHONE_TABLET":"Bimbit / Tablet","SUBTITLES":"Subtitles","SUBTITLES_CHANGE":"Tukar sari kata untuk ","SUBTITLES_CHANGE_NONE":"There are no other subtitles for this language, sorry.","SUBTITLES_CHANGE_ACIVE":"Currently subtitles &#35;{{subtitlesDialog.activeIdx + 1}} are activated. Click \\"Continue\\" to activate subtitles &#35;{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Alternatively,","SUBTITLES_ADJUST_DELAY":"Adjust subtitle delay:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Or use <span>G</span> / <span>H</span> keys while playing to adjust.","SUBTITLES_ADJUST_DELAY_TIP":"TIP: you can use <span>G</span> / <span>H</span> keys while playing to adjust.","SUBTITLES_DELAY":"Sari kata lewat:","SUBTITLES_LOADING":"Loading subtitles...","SUBTITLES_UNAVAILABLE":"No external subtitles available","SUBTITLES_DISABLED":"Disabled","EXTERNAL_PLAYER_DISABLED":"Disabled","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Allow Choosing","EXTERNAL_PLAYER_HINT":"Hint: There is a setting to allow always opening with external player","DONT_SHOW_AGAIN":"Don\'t show again","SERVICE_INSTALL":"Install","AUDIO":"Audio","DEFAULT_LANGUAGE":"Default Language","DEFAULT_SECONDARY_LANGUAGE":"Default Secondary Language","SEASON":"Musim","EPISODE":"Episod","EPISODE_ABBREVIATION":"EP","SPECIAL":"Special","SORT":"sort","SORT_BY":"Sort by","FILTER":"filter","SORT_TRENDING":"trending","SORT_RECENT":"baru","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"rating","SORT_WATCHED":"ditonton","SORT_YEAR":"year","SELECT_TYPE":"Select type","SELECT_SORT":"Select sort","SELECT_CATALOG":"Select catalog","SELECT_GENRE":"Select genre","SORT_LASTWATCHED":"By last watched","SORT_NAME":"By name","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"By times watched","SORT_NOTWATCHED":"not watched","New for You":"New for You","New Episodes":"New Episodes","New Videos":"New Videos","Recommendations":"Recommendations","LIBRARY_RESUME":"sambung","LIBRARY_PLAY":"Play","LIBRARY_DETAILS":"Details","LIBRARY_RESUME_DISMISS":"dismiss","LIBRARY_CLEAR_PROGRESS":"Clear Progress","LIBRARY_REMOVE":"Remove","LIBRARY_NOT_LOGGED_IN":"Library is only available for logged in users","CALENDAR_NOT_LOGGED_IN":"Calendar is only available for logged in users","NOT_LOGGED_IN_CLOUD":"Access your favorite movies and TV shows anytime, anywhere","NOT_LOGGED_IN_RECOMMENDATIONS":"Recommendations tailored to your viewing history","NOT_LOGGED_IN_NOTIFICATIONS":"Never miss an episode again","NOT_LOGGED_IN_CALENDAR":"Schedule your personal watching calendar","DISCOVER_FEATURED":"Featured","DISCOVER_TOP":"Mahsyur","DISCOVER_OSCAR":"Pemenang Oscar","DISCOVER_WARNING_TITLE":"Oops!","DISCOVER_EMPTY_CATALOG":"This addon returned empty content.","DISCOVER_ADULT_WARNING":"The content is visible only for adults. Are you 18+?","DISCOVER_NOADDON_WARNING":"Warning: no Stremio addon active for this type. Showing saved items, nothing here will update.","DISCOVER_LOAD_ERR":"The content did not load, error occured.","DISCOVER_ADDON_UNINSTALLED":"This content is no longer available, you may have un-installed the addon.","UNINSTALL_THIS_ADDON":"Uninstall this addon","ERR_ADDON_NOT_INSTALLED":"This addon is not installed. Install now?","DETAIL_RECEIVE_NOTIF_SERIES":"Receive notifications for new episodes","DETAIL_RECEIVE_NOTIF_VIDEOS":"Receive notifications for new videos","SIDEBAR_SHOW_STREAMS":"Show Streams","RELAUNCH":"Re-launch now!","UPGRADE":"New version is available! Upgrade to the latest Stremio version","RELOAD_UI":"Reload the user interface","MANUAL_UPDATE_TITLE":"Update your Stremio version","MANUAL_UPDATE_LINE1":"You are running an outdated version of Stremio which is highly unrecommended.","MANUAL_UPDATE_LINE2":"Please update as soon as possible.","BUTTON_UPDATE_LATTER":"Not now","BUTTON_UPDATE_NOW":"Update","ANONYMOUS_USER":"Anonymous user","DONT_HAVE_ACC":"Don\'t have an account?","HAVE_ACC":"Already have an account?","PASSWORD":"Password","PASSWORD_CONFIRM":"Confirm password","EMAIL":"E-mail","FB_LOGIN":"Masuk guna Facebook","FB_NOTHINGSHARED":"Nothing is shared without your permission","FB_NOPOST":"We won’t post anything on your behalf","OR":"atau","I_ACCEPT":"Saya akur","I_ACCEPT_BY_CLICKING":"By clicking the above button I testify that I accept the ","TOS":"Terma dan Syarat","MUST_ACCEPT_TERMS":"You must accept terms","PASSWORDS_NOMATCH":"Kata laluan tak sama","SIGN_UP":"Daftar","SIGN_UP_EMAIL":"Sign up with email","CLICK_TO_SIGN_UP":"Click here to sign up.","LOG_IN":"Masuk","LOG_OUT":"Keluar","EXIT_FULLSCREEN":"Exit fullscreen mode","ENTER_FULLSCREEN":"Enter fullscreen mode","PLAY_URL_MAGNET_LINK":"Play URL/Magnet link","HELP_FEEDBACK":"Help & Feedback","TERMS_OF_SERVICE":"Terms of Service","PRIVACY_POLICY":"Privacy Policy","ABOUT_STREMIO":"About Stremio","USER_PANEL":"User Panel","LOGIN_LABEL":"Login","GUEST_LOGIN":"Guest login","GUEST_LOGIN_NOTICE":"Guest Login is not recommended. Using a regular login allows Stremio to sync your Library, receive notifications for favourite series/channels. Are you sure you want to proceed?","GUEST_LOGIN_NOTICE_2":"Guest Login is not recommended - you won\'t have synced Library and Board notifications, which are vital Stremio features. Are you sure you want to proceed?","CLICK_HERE":"click here","WRONG_PASSWORD":"Katalaluan salah. Sekiranya terlupa, ","SET_A_PASS":"tetapkan satu kata laluan","RESET_PASSWORD":"Reset password","FORGOT_PASSWORD":"Forgot password?","EMAIL_USED_WITH_FB":"Emel ini telah diguna This email was used with a Facebook login.","INVALID_EMAIL":"Please enter a valid email address","INVALID_PASSWORD":"Please enter a valid password","CONN_ERR":"Connection error - please try again later.\\n\\nIf this persists, disable firewalls/anti-virus software (especially Bitdefender).","IMPORT_FROM_GUEST":"Import Library from your guest account","RECEIVE_UPDATES_EMAIL":"Receive updates to your email from Stremio","LOGIN_FAILED":"Login failed.","SIGNUP_FAILED":"Signup failed.","SEARCH_FAILED":"Search failed","EMAIL_USED":"This email is already in use.","WAITING_FB_LOGIN":"Logging in with Facebook...","EXTERNAL_PLAYER_TITLE":"Play in external player","EXTERNAL_REMEMBER_PLAYER":"Do you want to remember your choice","EXTERNAL_ALWAYS_PLAY":"Yes","EXTERNAL_ONLY_ONCE":"No","BEST_FIT":"Best Fit","FIT_SCREEN":"Fit Screen","FILL":"Fill","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"Tell us about what you like","INTRO_TASTE_LONG":"Tell us about what you\'d like to watch","INTRO_TASTE_PICK":"Pick {{interestsRemaining}} interests","INTRO_TASTE_PICK_MORE":"Pick {{interestsRemaining}} more interests","INTRO_TASTE_HELP_US":"Help us learn more about you.","INTRO_TASTE_CHOOSE_THESE":"Choose some of these:","INTRO_TASTE_CHOOSE_MIN":"Choose at least 3 categories","INTRO_TASTE_CHOOSE_MIN_ERR":"You have to pick at least 3 categories!","INTRO_TASTE_LIFESTYLE":"Lifestyle","INTRO_TASTE_SPORTS":"Sports","INTRO_TASTE_FOOD_HEALTH":"Food & Health","INTRO_TASTE_BEAUTY_FASHION":"Beauty & Fashion","INTRO_TASTE_NEWS":"News","INTRO_TASTE_GAMING":"Gaming","INTRO_TASTE_SCIENCE_EDU":"Science & Education","INTRO_TASTE_MUSIC":"Music","INTRO_TASTE_TRAVEL":"Travel","INTRO_TASTE_LATE_NIGHT":"Late Night Show","INTRO_TASTE_REALITY":"Reality","INTRO_TASTE_COMEDY":"Comedy","INTRO_TASTE_DIY":"How to DIY","INTRO_TASTE_TECH":"Tech","INTRO_TASTE_CINEMA":"Cinema","ADDON_NOT_SUPPORTED":"Selected addon is not supported on this platform.","ADDON_DISCLAIMER":"Using third-party addons will always be subject to your responsibility and the governing law of the jurisdiction you are located.","ADDON_ACTIVATE":"Aktifkan tambahan ini?","ADDON_REPO_ADD":"Addon repository url","ADDON_ADD":"Add","INSTALL_ADDON":"Install addon","ADD_ADDON":"Add addon","ADD_ADDON_DESCRIPTION":"You can add an addon via an external link, which will appear under Installed addons.","PASTE_ADDON_URL":"Paste addon URL","WHATS_NEW":"Apa yang terbaru","BUTTON_CONTINUE":"Teruskan","BUTTON_ACTIVATE":"Aktifkan","BUTTON_ACTIVATED":"Aktif","BUTTON_CANCEL":"Batal","BUTTON_SUBMIT":"Submit","BUTTON_DISMISS_ALL":"Dismiss All","BUTTON_VIEW_ALL":"view all","BUTTON_SEE_ALL":"See All","BUTTON_COLOR_TRANSPARENT":"Transparent","OPEN_IN_BROWSER":"Open in browser","LIB_EMPTY":"Your library looks empty. Find out how useful it is :) ","HOW_START":"Cara bagaimana untuk mula:","LIB_EMPTY_CAL":"Your Calendar shows series in your Library.","HOW_START_CAL":"Here is how you can add series:","LIB_EMPTY_BOARD":"Board shows notifications &amp; recommendations related to your Library.","HOW_START_BOARD_WAIT":"Please, add a few series or channels to your Library give us a few minutes to process :)","HOW_START_BOARD":"Here is how you can add series &amp; movies to it:","IMPORT_FB":"Import things you like from <span>Facebook</span>","IMPORT_TRAKT":"Import your media library from <span>Trakt</span>","IMPORT_DISCOVER":"Find interesting stuff from <span>Discover</span>","IMPORT_DISK":"Import movies or shows you have on your <span>local disk</span>","PLEASE_CREATE_ACC":"Please <u>create an account</u> to enable Library sync &amp; Board.","IMPORT_DISCOVER_SIGNUP":"Sign up and find interesting stuff from <span>Discover</span>","IMPORT_DISK_SIGNUP":"Sigm up and import movies or shows you have on your <span>local disk</span>","LIB_EMPTY_CLOUD":"Cloud library","LIB_EMPTY_CLOUD_DESC":"Personal cloud library synced on all devices","LIB_EMPTY_EARLY":"Early bird","LIB_EMPTY_EARLY_DESC":"Receive notifications for new episodes","LIB_EMPTY_PERSONAL":"Personal","LIB_EMPTY_PERSONAL_DESC":"Get personal recommendations","LIB_EMPTY_CALENDAR_DESC":"Schedule your personal watching calendar","LIB_EMPTY_ALL":"Sign up to get all of these:","LIB_EMPTY_BEST":"Sign up to get best of Stremio","LIB_EMPTY_OTHER":"Sign up to enable Calendar & other cool features","CALENDAR_ADDED":"The Stremio calendar has been added to your default desktop calendar.","CALENDAR_ADDED_MSG":"If this does not work, please add this URL to your calendar application manually","TRAKT_EXPIRED":"Trakt authentication expired, please go to Settings and re-authenticate","TRAKT_REQUIRES_LOGIN":"Trakt error","TRAKT_REQUIRES_LOGIN_MSG":"You need to login","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","SETTINGS_LABEL":"Settings","SETTINGS_NAV_GENERAL":"General","SETTINGS_NAV_PLAYER":"Player","SETTINGS_NAV_STREAMING":"Streaming","SETTINGS_NAV_SHORTCUTS":"Shortcuts","SETTINGS_SHORTCUT_RELOAD_APP":"Reload App","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Open Settings","SETTINGS_SHORTCUT_SWITCH_TABS":"Switch Tabs","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Cycle Through Tabs Forward","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Cycle Through Tabs Backward","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigate Between Menus","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Go to Search","SETTINGS_SHORTCUT_EXIT_BACK":"Exit / Go Back","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Toggle Playback Speed Menu","SETTINGS_SHORTCUT_MENU_VIDEOS":"Toggle Videos Menu","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Toggle Subtitles Menu","SETTINGS_SHORTCUT_MENU_INFO":"Toggle Info Menu","SETTINGS_SHORTCUT_FULLSCREEN":"Toggle Fullscreen","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Show Controls","SETTINGS_SHORTCUT_PLAY_PAUSE":"Play / Pause","SETTINGS_SHORTCUT_VOLUME_UP":"Volume Up","SETTINGS_SHORTCUT_VOLUME_DOWN":"Volume Down","SETTINGS_SHORTCUT_SEEK_NEXT":"Seek Next","SETTINGS_SHORTCUT_SEEK_PREV":"Seek Prev","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Seek Backward","SETTINGS_SHORTCUT_SEEK_FORWARD":"Seek Forward","SETTINGS_SHORTCUT_PLAY_NEXT":"Play Next","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Increase Subtitles Size","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Decrease Subtitles Size","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Increase Subtitles Delay","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Decrease Subtitles Delay","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Toggle Sidebar","SETTINGS_SHORTCUT_OR":"or","SETTINGS_SHORTCUT_TO":"to","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Authenticate","SETTINGS_FACEBOOK_IMPORT":"Import","SETTINGS_CALENDAR_SUBSCRIBE":"Subscribe","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Interface Language","SETTINGS_LAUNCH_STARTUP":"Lancarkan bila mula","SETTINGS_VLC_DEFAULT":"Main guna VLC","SETTINGS_UI_LANGUAGE":"UI Language","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Escape key exit full screen","SETTINGS_GAMEPAD":"Enable gamepad support","SETTINGS_CLOSE_WINDOW":"Close app when window is closed","SETTINGS_SUBTITLES_LANGUAGE":"Default Subtitles Language","SETTINGS_SUBTITLES_SIZE":"Default Subtitles Size","SETTINGS_SUBTITLES_BACKGROUND":"Subtitles background","SETTINGS_SUBTITLES_COLOR":"Subtitles color","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Subtitles outline color","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Subtitles background color","SETTINGS_SEEK_KEY":"Arrow keys seek time","SETTINGS_SEEK_KEY_SHIFT":"Arrow keys seek time when Shift key is held","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Rewind & Fast-forward duration","SETTINGS_BINGE":"Terus main episod seterusnya","SETTINGS_NEXT_VIDEO":"Show notification to start next episode","SETTINGS_NEXT_VIDEO_TRIGGER":"Show next episode notification for:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Next video popup duration","SETTINGS_PLAY_IN_BACKGROUND":"Play in background","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Play in external player","SETTINGS_RESIZE":"Auto-resize window before playing","SETTINGS_OVERRIDE_SERVER":"Override the streaming server URL (advanced)","SETTINGS_SERVER_URL":"Streaming server URL: ","SETTINGS_SERVER_AVAILABLE":"Streaming server is available.","SETTINGS_SERVER_UNAVAILABLE":"Streaming server is not available.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Error","SETTINGS_SERVER_CONFIGURE_TITLE":"Configure streaming server url","SETTINGS_SERVER_CONFIGURE_INPUT":"Enter a streaming server url","SETTINGS_SERVER_CACHE_SIZE":"Cache size","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent profile","SETTINGS_HTTPS_ENDPOINT":"Streaming HTTPS endpoint: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Always use latest Beta","SETTINGS_IMPORT_FB":"Import dari Facebook","SETTINGS_IMPORT_DISK":"Import dari local disk","SETTINGS_IMPORT_TRAKT":"Import from Trakt","SETTINGS_PAUSE_MINIMIZED":"Pause playback when minimized","SETTINGS_HWDEC":"Hardware-accelerated decoding","SETTINGS_BACKGROUND":"Background playback","SETTINGS_SUBSCRIBE_CALENDAR":"Masukkan ke kalendar","SETTINGS_REQ_EXPORT":"Request data export","SETTINGS_ACC_DELETE":"Request account deletion","SETTINGS_CHANGE_PASSWORD":"Tukar katalaluan","SETTINGS_TOS":"Terms of service","SETTINGS_SUPPORT":"Contact support","SETTING_LANGUAGE":"Bahasa","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_LOGOUT":"Log out of Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Log Out of Trakt","SETTINGS_SCAN_FOR_REMOTE":"Scan QR code to open remote","SETTINGS_DESKTOP_NOTIFICATIONS":"Desktop notifications","SETTINGS_DATA_SAVER":"Data saver","SETTINGS_LANGUAGE_INTERFACE":"interface","SETTINGS_LANGUAGE_SUBS":"default subtitles","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Autoselect Audio Track","SETTINGS_DEFAULT_AUDIO_TRACK":"Default Audio Track","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"account","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"version","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"Launch player in a separate window (advanced)","SETTINGS_PLAY_IN_EXTERNAL":"Always start video in external player","SETTINGS_STORAGE_BUTTON":"Clear Local Storage","SETTINGS_STORAGE_MODAL_TITLE":"Are you sure ?","SETTINGS_STORAGE_MODAL_MESSAGE":"This will clear the local storage and log you out.","SETTINGS_HWDEC_PICKER":"Pick hardware-accelerated decoding setting","SETTINGS_HW_AUTOMATIC":"Automatic","SETTINGS_HW_DISABLED":"Disabled","SETTINGS_HW_ACCELERATED":"Decoding acceleration","SETTINGS_HW_FULL":"Full acceleration","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Subtitles","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Controls","SETTINGS_SECTION_AUTO_PLAY":"Auto-Play","SETTINGS_SECTION_ADVANCED":"Advanced","SUBSPICKER_AUDIO":"Audio","SUBSPICKER_SUBTITLES":"Addons Subtitles","SUBSPICKER_BLACK_BACKGROUND":"Use black background color","SUBSPICKER_VERTICAL_OFFSET":"Vertical Offset","SUBSPICKER_SIZE":"Size","SUBSPICKER_DELAY":"Delay","SUBSPICKER_EMBEDDED_SUBS":"Embedded Subtitles","MOBILE_PRIVACY_POLICY":"Privacy Policy","MOBILE_CRASH_REPORTING":"Crash Reporting","MOBILE_ZOOM_TO_FILL":"Zoom To Fill Screen","MOBILE_PASSTHROUGH":"Digital audio output (passthrough)","MOBILE_RUN_LOW_BATTERY":"Run on low battery","MOBILE_RUN_FOREGROUND":"Run as Foreground Service","MOBILE_PERFORMANCE":"PERFORMANCE & STABILITY","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"QR Code expires in ","MOBILE_LOG_INTO":"Log in to your Stremio account ","MOBILE_SCAN_QR":"Scan QR code above or go to ","MOBILE_LINK_ACCOUNT":"Link Account","MOBILE_SPEEDPICKER_CANCEL":"Cancel","MOBILE_SPEEDPICKER_LABEL":"Select Playback Speed","MOBILE_EMPTY_LIBRARY":"Your library is empty","MOBILE_NO_ADDON_ACTIVE":"No Stremio addon active for this type.","MOBILE_ORGANIZER_WARNING":"The Stremio Organizer app provides limited functionality. For a list of playable streams and the full Stremio experience, use Stremio on desktop.","MOBILE_ADDON_LOADING":"is still loading","MOBILE_ADDONS_LOADING":"addons are still loading","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Configure your addon","MOBILE_CONFIGURE_ADDON_LABEL":"Configure Addon","MOBILE_ORGANIZER_ADDONS_WARNING":"The Stremio Organizer app provides a limited selection of addons. For the full Stremio experience, use Stremio on desktop.","MOBILE_DISCONNECT":"Disconnect","MOBILE_LOOKING_FOR_DEVICES":"Looking for devices...","MOBILE_CAST_TO":"Cast to","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Delete Account","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Account deletion is not instant due to legal obligations. After requesting deletion of your account you will have to use different email address/facebook profile to create a new Stremio account in the future.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirm Account Deletion","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Your account has been created using Facebook. To delete your account, please use our user portal at www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Please provide your password to confirm account deletion.","MOBILE_DELETE_ACCOUNT_BUTTON":"Delete Account","NAVIGATION_ON":"On","NAVIGATION_OFF":"Off","MARKETING_AGREE":"I agree to receive marketing communications from Stremio","QUIT":"Keluar","CONNECTED":"Connected","AUTHENTICATE":"Pengesahan","CACHING":"Caching","SETTINGS_CACHING_DRIVE":"Select caching drive","ENABLE_LOCAL_FILES_ADDON":"Enable the local files addon (requires restart)","LOCAL_ADDON_NOT_ENABLED":"Local addon is not enabled. Click here to go to the settings and enable it","ENABLE_REMOTE_HTTPS_CONN":"Enable remote HTTPS connections","TORRENT_PROFILE":"Torrent Profile","DATA_CACHING":"Data Caching","MAGNET_PARSING":"Parsing a magnet link","January":"Januari","February":"Februari","March":"Mac","April":"April","May":"Mei","June":"Jun","July":"Julai","August":"Ogos","September":"September","October":"Oktober","November":"November","December":"Disember","Monday":"Isnin","Tuesday":"Selasa","Wednesday":"Rabu","Thursday":"Khamis","Friday":"Jumaat","Saturday":"Sabtu","Sunday":"Ahad","Action":"Aksi","Comedy":"Komedi","War":"Perang","Family":"Kekeluargaan","Animation":"Animasi","Adventure":"Pengembaraan","Fantasy":"Khayalan","Crime":"Jenayah","Mystery":"Misteri","Romance":"Percintaan","Drama":"Drama","Horror":"Seram","Thriller":"Seram Sejuk","Sci-Fi":"Sains","Music":"Musik","Biography":"Biografi","Documentary":"Dokumentari","Sport":"Sukan","Musical":"Muzikal","Western":"Barat","Film-Noir":"Film-Noir","News":"Berita","History":"Sejarah","Game-Show":"Game-Show","Reality-TV":"Reality-TV","Talk-Show":"Talk-Show","Film & Entertainment":"Film & Entertainment","Gaming":"Permainan","From TV":"Dari TV","Lifestyle":"Gaya Hidup","Science & Education":"Sains & Pendidikan","Cooking & Health":"Masakan & Kesihatan","Beauty & Fashion":"Kecantikan & Fesyen","Sports":"Olah raga","News & Politics":"News & Politics","How-to & DIY":"How-to & DIY","Tech":"Tech","Automotive":"Automotive","Causes & Non-Profits":"Causes & Non-Profits","Movies":"Movies","Uk Live Tv":"Uk Live Tv","Fashion":"Fashion","Business News Radio":"Radio Akhbar Perniagaan","Business Tv":"Tv Niaga","Cars & Auto":"Kereta & Kenderaan","Comedy Radio":"Radio Jenaka","Lifestyle Radio":"Lifestyle Radio","News Tv":"News Tv","Food And Wine":"Food And Wine","Latino Tv":"Latino Tv","Shopping Tv":"Shopping Tv","Religion":"Religion","Kids":"Kids","Body & Soul":"Jasmani & Jiwa","Education":"Pendidikan","Indian Tv":"Tv India","Extreme Sports":"Sukan Lasak","Middle Eastern Tv":"Middle Eastern Tv","Celebrity Tv":"Tv Selebriti","Science Tv":"Tv Sains","Bikini babe":"Awek Bikini","Outdoors":"Outdoors","German Tv":"TV German","French Tv":"TV Perancis","Italian Tv":"Tv Itali","Gamer Tv":"Gamer Tv","Travel":"Travel","Asian Tv":"Asian Tv","Entertainment":"Entertainment","News Radio":"Radio Akhbar","Music Radio":"Radio Muzik","Language Learning":"Belajar Bahasa","Science Radio":"Radio Sains","Tech Radio":"Radio Tek","Science & Technology Vod":"Vod Sains & Teknologi","new video":"new video","new episode":"new episode","new movie":"new movie","recommended":"recommended","we recommend":"we recommend","offer of the day":"offer of the day","news":"berita","music video":"video muzik","CTX_SHOW_HOTKEYS":"Show hotkeys","CTX_DISMISS_NOTIF":"Dismiss notifications","CTX_DISMISS_ALL":"Dismiss all","CTX_SHARE":"Share","CTX_COPY_SHARE_LINK":"Copy share link","CTX_COPY_MAGNET_LINK":"Copy magnet link","CTX_COPY_STREAM_LINK":"Copy stream link","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Download this video","CTX_DOWNLOAD_SUBS":"Download subtitles","CTX_VIEW_ON_YOUTUBE":"View on YouTube","CTX_SHOW":"Tayang","CTX_PLAY":"Play","CTX_PLAY_IN":"Play in","CTX_PLAY_ON":"Play on","CTX_WATCH_ON":"Watch on","CTX_WATCH":"Watch","CTX_WATCHED":"Watched","CTX_WATCH_BEGINNING":"Watch from the beginning","CTX_WATCH_MOBILE":"Watch on a mobile device","CTX_REWIND":"Rewind to beginning","CTX_MARK_WATCHED":"Mark as watched","CTX_MARK_NON_WATCHED":"Mark as non-watched","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"Mark rest as watched","CTX_UNMARK_REST":"Mark rest as non-watched","CTX_RECEIVE_NEW_NOTIF":"Receive new notifications","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"Remove from cache","CTX_REMOVE_CACHE_EP":"Remove episode from cache","CTX_OPEN_CONTAINING":"Open containing folder","CTX_REMOVE":"Remove from library","CTX_AVAILABLE_OFFLINE":"Available Offline","CTX_PAUSED":"Paused","CTX_ALWAYS_ON_TOP":"Always on top","CTX_FULLSCREEN":"Skrin Penuh","CTX_WRONG_SUBS":"Sari kata salah?","CTX_REPORT_ISSUES":"Report issue","CTX_COPY":"Salin","CTX_PASTE":"Paste","CTX_CLEAR":"Padam","CTX_CLEAR_RECENT_SEARCHES":"Clear recent searches","HELLO_THERE":"Damai Sana","HOPE_YOU_ENJOY":"Kami harap anda terhibur dengan Stremio dan menjadi salah satu apps kegemaran anda","WHO_ARE_WE":"Who are we? We are the team behind it - two guys who work hard every day for the last 3 years to make this product better and better.","SUPPORT_US":"If you enjoy using Stremio, if Stremio is valuable for you - spread the word!","SPREAD_THE_WORD":"Share with your friends now, spread the word about Stremio","MORE_PEOPLE":"The more people use Stremio, the better it will get!","SEND_A_LINK":"Or send a link to our website","TIP_LOCALFILES":"Tip: you can drag & drop local video files into Stremio","ADDON_MY":"My Addons","ADDON_COMMUNITY":"Community Addons","ADDON_OFFICIAL":"Official Addons","ADDON_REPOS":"Addon repositories","ADDON_SEARCH":"Search addons","ADDON_INSTALL":"Install","ADDON_CONFIGURE":"Configure","ADDON_UNINSTALL":"Uninstall","ADDON_UPGRADE":"Upgrade","ADDON_INSTALLED":"Installed","ADDON_INSTALLED_MSG":"Addon installed!","ADDON_UPGRADED_MSG":"Addon upgraded!","ADDON_UNKNOWN":"Unknown","ADDON_ERR":"Addon install error!","ADDON_DISCONNECTED":"Disconnected","ADDON_APP_MISSING":"the app for this source is not installed. Do you want to install it now?","ADDON_APP_INSTALL":"Install Now","ADDON_PAGE":"Addon Page","ADDON_TOP_CONTENT":"Best from this Addon","ADDON_PROVIDES":"This addon will give you:","ADDON_WATCH":"Watch #{types} now!","ADDON_WATCH_FREE":"Watch #{types} for FREE now!","ADDON_ADDON":"Addon","ADDON_SUPPORTED_TYPES":"Supported types","ADDON_SUPPORTED_CATALOGS":"Supported catalogs","ADDON_PROVIDES_DISCOVER":"More #{types} in Discover","ADDON_PROVIDES_STREAMS":"Watch #{types}","ADDON_PROVIDES_STREAMS_FREE":"Watch #{types} for FREE","ADDON_PROVIDES_SUBTITLES":"Subtitles for #{types}","ADDON_CANTDETECT":"We couldn\'t detect a running Stremio, so we couldn\'t detect what addons you have installed.","ERR_NO_META":"No information found about this ","ERR_GETTING_META":"Error retrieving information about this.","ERR_CANT_PARSE_MAGNET":"Unable to parse magnet","ERR_NO_MAGNET_INFOHASH":"No valid info hash for magnet","ERR_NO_FILE_PATH":"Unable to send request without a path to file","ERR_NO_TORRENT":"No torrent returned","ERR_NO_SUPPORTERD_FILES":"No supported files found","ERR_OPENING_FILES":"Could not open external files","ERR_INVALID_LINK":"Invalid link","ERR_REGISTERED_ONLY":"This option is available for registred users only.","ERR_CLIPBOARD":"Can not play from clipboard","ERR_CLIPBOARD_READ":"Can not read the clipboard on this platform","ERR_CLIPBOARD_GENERIC":"No playable URL found in the clipboard. Please copy a URL (e.g. a magnet link) to a video.","BOARD_CONTINUE_WATCHING":"Continue watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Movies picked specially for you.<br />This movie is a sample recommendation.","BOARD_EXPLANATION_EPISODES":"New episodes of your favorite Series come here.<br />Add series you follow to your Library.","BOARD_EXPLANATION_VIDEOS":"New episodes of your favorite Channels come here.<br />Add YouTube channels you follow to your Library.","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE":"Contribute","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"Learn more","WEBSITE_COMPANY":"Company","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Need Help?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"Watch Instantly","WEBSITE_SLOGAN_ALL":"All the Video Content You Enjoy in One Place","WEBSITE_SLOGAN_NEW":"All You can Watch","WEBSITE_SLOGAN_NEW_NEW":"Freedom to Stream","WEBSITE_WATCH_FROM":"Watch from","WEBSITE_DOWNLOAD":"Muat Turun Sekarang","WEBSITE_DOWNLOAD_FOR":"Download Now For","WEBSITE_IS_DESKTOP":"Stremio is a desktop application, open this page on your PC and download it","WEBSITE_DESKTOP_DEMO_VID":"Desktop demo","WEBSITE_PAGE_HOME":"Home","WEBSITE_PAGE_FEATURES":"Features","WEBSITE_PAGE_ADDONS":"Addons","WEBSITE_PAGE_TECH":"Teknologi","WEBSITE_PAGE_CREATE_ADDON":"Create Addon","WEBSITE_PAGE_CONTACTS":"Contacts","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Movies","WEBSITE_TYPE_series_PL":"Series","WEBSITE_TYPE_tv":"Live TV","WEBSITE_TYPE_channel":"Saluran","WEBSITE_STREMIO_WHAT_IS":"Stremio is an app that helps you organize and instantly watch your favorite videos, movies, TV series and TV channels.","WEBSITE_FEATURES_WATCH":"Watch Instantly in HD","WEBSITE_FEATURES_WATCH_DETAIL":"Click and play your favourite movies, TV Shows, videos and TV channels.","WEBSITE_FEATURES_SUBS":"Automatic Subtitles","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio automatically picks synced subtitles for your language.","WEBSITE_FEATURES_SUBS_LABEL":"Your move, chief.","WEBSITE_FEATURES_CAST":"Play on TV & mobile devices","WEBSITE_FEATURES_CAST_DETAIL":"Cast to AppleTV, Chromecast, Smart TV (DLNA/UPnP) and mobile devices.","WEBSITE_LIB":"Enjoy Your Personal Library Synced on All Your Devices","WEBSITE_LIB_COLLECT":"Collect from Stremio","WEBSITE_LIB_IMPORT":"Import from Facebook","WEBSITE_LIB_LOCAL":"Add from your local drive","WEBSITE_BOARD":"The Board - Your one-stop place for Notifications and Recommendations","WEBSITE_BOARD_RECOMMEND":"Rancangan TV yang disarankan","WEBSITE_BOARD_TRENDING":"Trending Movie","WEBSITE_BOARD_NEW":"Video Baharu","WEBSITE_BOARD_EPISODE":"Episod Baharu","WEBSITE_BOARD_1":"Looking for something interesting to watch? Get recommendations based on your taste!","WEBSITE_BOARD_2":"Get notified when a new episode of your favourite TV show or YouTube channel is out!","WEBSITE_BOARD_YOUTUBE":"New videos of YouTube channels","WEBSITE_BOARD_EPISODES":"New episodes of series you follow","WEBSITE_ADDONS":"Content Addons","WEBSITE_TECH_DETAIL":"We love technology, we love mad science!\\nStremio is using the following open source technologies:","WEBSITE_TECH_WCJS":"WebChimera.js allows Stremio to play any video format with good performance.","WEBSITE_TECH_WCJS_EXTRA":"We are core project contributors","WEBSITE_TECH_ELECTRON":"Electron provides an innovative platform to build Stremio with.","WEBSITE_TECH_ELECTRON_EXTRA":"We are project contributors","WEBSITE_TECH_LINVODB":"A database technology that ensures your data is organized and available anywhere you login.","WEBSITE_TECH_LINVODB_EXTRA":"In-house technology","WEBSITE_CREATE_ADDON":"Create your addon","WEBSITE_CREATE_ADDON_DETAIL":"Do you have a service providing video content? We\'ll help you benefit from Stremio\'s features by creating your Addon.","WEBSITE_CREATE_ADDON_BENEFITS":"Benefits of Creating an Addon for Stremio","WEBSITE_P2P_BEAUTY":"The Beauty of Peer-to-Peer Streaming","WEBSITE_P2P_1":"Reliable and affordable full HD / 4K video on demand or live streaming","WEBSITE_P2P_2":"Distribution platform providing great user experience","WEBSITE_P2P_3":"We will create an addon meeting your exact needs","WEBSITE_P2P_CONTACT":"Interested? You are welcome to <a href=\'mailto:office@stremio.com\'>contact us</a>.","WEBSITE_P2P_CONTACT_EXTRA":"We will be happy to help you integrate your content with Stremio!","WEBSITE_P2P":"Once in a while, there comes a technology that changes the name of the game. We invested tons of time and effort in building our Peer-to-Peer (P2P) video streaming engine that provides great performance and versatility to adapt with any use case.\\nContact us for DRM-enabled P2P video on demand or live streaming.","WEBSITE_THOUGHTS":"Thoughts we share:","WEBSITE_SPREAD":"Spread the word about Stremio:","WEBSITE_CONTACT":"If you are looking to contact us, go ahead at","WEBSITE_OPENSOURCE":"For our open source projects, go to our","WEBSITE_BITCOIN":"Donate bitcoin:","WEBSITE_FAQ":"Frequently asked questions","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Questions","WEBSITE_TOS":"Terms of use","WEBSITE_LEGAL":"Legal","WEBSITE_PAGE_ABOUT":"About","WEBSITE_PAGE_BECOME_PARTNER":"Become a partner","WEBSITE_ALL_YOU_CAN_WATCH":"Freedom To Watch\\nEverything You Want.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"What is stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio is a one-stop hub for video content aggregation. Discover, organize and watch video from all kind of sources on any device that you own.","WEBSITE_WHAT_IS_STREMIO_P2":"Movies, TV shows, series, live television or web channels like YouTube and Twitch.tv - you can find all this on Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio is a modern media center that\'s a one-stop solution for your video entertainment. You discover, watch and organize video content from easy to install addons.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Movies, TV shows, live TV or web channels - find all this on Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Enjoy on all your Media devices","WEBSITE_DEVICES_COLLECT":"Collect from Stremio","WEBSITE_DEVICES_IMPORT_FB":"Import from facebook","WEBSITE_DEVICES_LOCAL":"Add from local drive","WEBSITE_JOIN_THE_PARTY_NOW":"Join the party now","WEBSITE_DEVICES_ALL":"Easy to use on all your devices;","WEBSITE_EXTENDABLE_CATALOG":"Infinitelly extendable video catalog;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Great features to organize your media;","WEBSITE_AS_SEEN_ON":"As seen on","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"About us","WEBSITE_LINK_TECHNOLOGY":"Technology","WEBSITE_LINK_APPS":"Apps","WEBSITE_LINK_DOWNLOADS":"Downloads","WEBSITE_MORE":"More","WEBSITE_LINK_ADDONS":"Addons","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Contribute","WEBSITE_LINK_COMMUNITY":"Community","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... & More","WEBSITE_LINK_HELP":"Help center","WEBSITE_LINK_CONTACTS":"Contacts us","WEBSITE_LINK_TOS":"Terms & conditions","WEBSITE_LINK_PRAVACY":"Privacy policy","WEBSITE_SUBSCRIBE":"Sibscribe","WEBSITE_NEWSLETTER":"Join Our Newsletter for amazing stuff","WEBSITE_PLACEHOLDER_EMAIL":"Your Email","WEBSITE_COMMUNITY":"Community","WEBSITE_LINK_PRAVACY_LEGAL":"Privacy & legal","WEBSITE_WHY":"Why we do it","WEBSITE_WHY_P1":"At Stremio, we come to work every day because we want to solve an important problem for the video-on-demand industry. There’s so much new content published every minute that it’s virtually impossible to find your way around it.","WEBSITE_WHY_P2":"We help people navigate that huge world of video entertainment and discover new content to enjoy. Our apps bring together movies, series, live TV, web channels, and more. We are dedicated to making it incredibly easy for users to find titles and broadcasters that they love.","WEBSITE_WHY_P3":"You can use our service on any device and at any time, making Stremio the only video entertainment hub you’ll ever need.","WEBSITE_TEAM":"TEAM","WEBSITE_TEAM_P":"The Stremio team is small but powerful: between the ten of us, we code in X languages, and share expertise in software development, UI and UX design, marketing and advertising, and business and startups.","WEBSITE_FEATURES":"Features","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Discover new content with ease","WEBSITE_FEATURES_DISCOVER_P":"Easily discover new movies, TV shows, series and channels to watch. Browse by category, genre, rating, recency, etc. or simply type a name to find. Stremio makes finding new video content a piece of cake.","WEBSITE_FEATURES_ALL_CONTENT":"All of your video content on one screen","WEBSITE_FEATURES_ALL_CONTENT_P1":"See what movies, series or videos you didn’t finish and continue watching them; get notified for new episodes and releases; and browse through the recommendations you will get based on your viewing habits.","WEBSITE_FEATURES_LIBRARY":"Organize your video library","WEBSITE_FEATURES_LIBRARY_P1":"Add any title to your Stremio library with a single click and find your way around your content, neatly arranged by type, recency, or alphabetical order.","WEBSITE_FEATURES_CALENDAR":"Keep track of everything you watch","WEBSITE_FEATURES_CALENDAR_P1":"Get a calendar visualization of all the movies and series you add to your library. Export your Stremio calendar and sync it so you always know when a new episode or a premier is due.","WEBSITE_FEATURES_BIG_SCREEN":"Enjoy your video content on a bigger screen","WEBSITE_FEATURES_BIG_SCREEN_P1":"Cast whatever you are watching to another device - be it a phone, tablet or a TV with a single click.","WEBSITE_FEATURES_SOURCES":"Watch video from many different sources","WEBSITE_FEATURES_SOURCES_P":"Install official and community addons to enjoy video sourced from many different providers - all in one sleek, easy to use app.","WEBSITE_CREATE_AN_ADDON":"Create an addon","WEBSITE_FEATURES_SYNC":"Sync your library across different devices and resume your playback","WEBSITE_FEATURES_SYNC_P1":"Login with your account across all your devices and enjoy your library, addons, playback and calendar synchronized.","WEBSITE_FEATURES_EXTENDABLE":"Extendable video catalog by addons","WEBSITE_FEATURES_EXTENDABLE_P1":"The Stremio addon catalog provides a number of addons to install and watch a variety of video content from. This includes movies, shows, live TV, sport, news, podcasts, web channels, video games and more.","WEBSITE_FEATURES_AUTO_SUBS":"Automatic subtitles","WEBSITE_FEATURES_AUTO_SUBS_P1":"With our subtitle addons you get automatically selected options for your preferred language.","WEBSITE_FEATURES_CHROMECAST":"Casting to Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Enjoy your video content on a bigger screen or just cast whatever you are watching to another device.","WEBSITE_FEATURES_KEEP_TRACK":"Keep track of your favorite TV shows and Web channels","WEBSITE_FEATURES_KEEP_TRACK_P1":"Get a calendar visualization and notifications for new episodes of your favorite series and web channels.","WEBSITE_FEATURES_POWER_USER":"Power user features","WEBSITE_FEATURES_POWER_USER_P1":"Play in external player","WEBSITE_FEATURES_POWER_USER_P2":"Play from a torrent file or magnet link","WEBSITE_FEATURES_POWER_USER_P3":"Import to your library from Facebook likes or local disk","WEBSITE_ADD_ONS":"Addons","WEBSITE_ADD_ONS_P1":"All of the video content Stremio provides get sourced through an addon system - no content or content provider has been built into the app.","WEBSITE_ADD_ONS_P2":"There are two groups of addons available: official and community addons.","WEBSITE_ADD_ONS_P3":"The official ones are developed and hosted by Stremio, whereas community addons are created by our community members, who also host them.","WEBSITE_ADDONS_OFFICIAL":"Official addons","WEBSITE_ADDONS_WATCHUB":"Stream your favourite movies, series and shows from providers like iTunes, Hulu, Amazon and other UK/US services.","WEBSITE_ADDONS_YOUTUBE":"Watch your favourite YouTube channels ad-free and get notifications for new uploads from the contributors you follow.","WEBSITE_ADDONS_FILMON":"Watch live TV, movies and social television for free. 600 TV channels, 45,000 free movies, documentaries and more.","WEBSITE_ADDONS_OPENSUBTITLES":"Movie and TV subtitles in multiple languages, thousands of translated subtitles uploaded every day.","WEBSITE_ADDONS_COMMUNITY":"Community addons","WEBSITE_ADDONS_FILMON_VOD":"Watch video on demand from Filmon.tv","WEBSITE_ADDONS_TWICH":"Watch live streams from Twitch.tv - a video streaming platform for the e-sports industry.","WEBSITE_ADDONS_VODO":"Watch indie movies absolutely free of charge.","WEBSITE_ADDONS_NETFLIX":"Watch Netflix movies and web series.","WEBSITE_ADDONS_CREATE":"Create an addon","WEBSITE_ADDONS_CREATE_P1":"If you wish, you can develop your own addon. This way, you can give yourself and our community access to new video content, and reach a new, targeted audience of millions of users around the world.","WEBSITE_ADDONS_START_CREATE":"To get started, visit the Stremio Addon SDK page:","WEBSITE_DOWNLOADS":"Downloads","WEBSITE_DOWNLOADS_P1":"For optimal performance, we recommend that you use the latest available version of the Stremio apps. If for some reason, however, you would like to use an older version, you can download it here.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio for Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio for macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio for Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio for Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio for iOS","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"The Stremio platform is open source and you can easily create an addon for content that is currently not sourced.","WEBSITE_CONTRIBUTE_WHY":"Why should you create an addon?","WEBSITE_CONTRIBUTE_WHY_P1":"Reach new audience for your video content","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio’s user base is growing rapidly - within the first year of the launch, Stremio had gained 1 million users around the world, and in the second year of the platform’s existence this number grew to 2.5 million.","WEBSITE_CONTRIBUTE_WHY_P3":"With your addon, you can easily reach this audience and distribute your video content to them.","WEBSITE_CONTRIBUTE_ALL":"Watch your favourite movies, videos, series and channels in one single place.","WEBSITE_CONTRIBUTE_ALL_P1":"You’re a fan of a particular type of content not available on Stremio yet? Create an addon for it and enjoy watching your favourite videos in one of the largest and easiest to use entertainment hubs on the market.","WEBSITE_CONTRIBUTE_ALL_P2":"On top of that, you’ll get the endless gratitude of other like-minded Stremio community members.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetize your addon and earn money with its help","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Once you develop a new addon for Stremio, you can easily monetize it through a number of different ways. If you are considering this, feel free to get in touch with us at ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - we would be happy to consult and advise you about addon monetization options.","WEBSITE_CONTRIBUTE_TRANSLATE":"Become a volunteer translator","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"If you want to enjoy the Stremio apps in different languages, you can join our community of volunteer translators. They help us add versions of the Stremio in many different languages.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Are you eager to get started?","WEBSITE_TRANSALTE_STREMIO":"Translate Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Official communities","WEBSITE_COMMUNITY_OFFICIALS_P1":"Become a part of the growing Stremio community. Follow us on social media and don’t be shy to say hello - we love hearing from our fans! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Unofficial communities","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partners and supporters","WEBSITE_COMMUNITY_GOODIES":"Stremio goodies","WEBSITE_COMMUNITY_WALLPAPERS":"Wallpapers","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"Contact us","WEBSITE_CONTACT_US_P1":"If you have any questions, comments or suggestions, feel free to get in touch with us through the contact form below.","WEBSITE_CONTACT_US_P2":"Keep in mind that we are located in Bulgaria so there may be a delay in addressing your query due to time zone differences.","WEBSITE_CONTACT_US_SUCCESS":"Your message has been sent. We will get back to you at our earliest convenience.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Please enter a valid email!","WEBSITE_CONTACT_US_Q_RELATED_TO":"What is your question related to?","WEBSITE_CONTACT_US_Q_OS":"What is your Operation System?","WEBSITE_CONTACT_US_PH_EMAIL":"Your E-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Message","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"SEND","WEBSITE_CONTACT_US_Q_1":"How to install?","WEBSITE_CONTACT_US_Q_2":"How to uninstall?","WEBSITE_CONTACT_US_Q_3":"(HTML) How to make lasagna?","WEBSITE_CONTACT_US_Q_4":"Addons","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Technology","WEBSITE_TECHNOLOGY_P1":"We love technology and mad science. </br> Here is what powers Stremio (it’s all open-source).","WEBSITE_TECHNOLOGY_P_QT":"Cross-platform software development at its best.","WEBSITE_TECHNOLOGY_P_MPV":"A free, open source, and cross-platform media player.","WEBSITE_TECHNOLOGY_P_RN":"React Native lets you build mobile apps using only JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework embedded into application to get multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm is a mobile platform and a replacement for SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js is an open-source, cross-platform, JavaScript runtime environment.","WEBSITE_TECHNOLOGY_P_RUST":"Rust is a multi-paradigm system programming language focused on safety, especially safe concurrency.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribute to the project","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"There are two ways you can contribute to Stremio and help us make the product even better.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"You can donate your valuable language skills by translating the platform...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"or","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... you can employ your coding skills for creating community addons. ","WEBSITE_TRANSLATE_STREMIO":"Translate Stremio","WEBSITE_404_OH_NO":"Uh-oh! The page you’re looking for is not here...","WEBSITE_GO_HOME":"Go home","WEBSITE_LINK_OTHER_DOWNLOADS":"Other downloads","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Support","WEBSITE_DOWNLOAD_4_0_BETA":"Download Now Stremio 4 beta","WEBSITE_GET_FOR_DESKTOP":"Get for desktop","WEBSITE_LINK_ADDON_COMPETITION":"Addon competition","WEBSITE_LINK_ART_CONTEST":"Art contest","WEBSITE_MY_ACCOUNT":"My account","WEBSITE_MAINPAGE_FAQ_001_H1":"What is Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio is a modern media center that gives you the freedom to watch everything you want.","WEBSITE_MAINPAGE_FAQ_002_H1":"How does it work?","WEBSITE_MAINPAGE_FAQ_002_P1":"Once you install Stremio on your device and create an account, all you have to do is to visit the addon catalog and install any addon you want, and you\'re good to go!","WEBSITE_MAINPAGE_FAQ_002_P2":"After that, you can go to the Discover or Board sections to start exploring content.","WEBSITE_MAINPAGE_FAQ_003_H1":"What can I watch here?","WEBSITE_MAINPAGE_FAQ_003_P1":"A lot: Movies, TV shows, Web channels, Sport, TV channels, listen to Podcasts and more. Thanks to our addon system, you can accss a variety of content.","WEBSITE_MAINPAGE_FAQ_004_H1":"Is Stremio open-source?","WEBSITE_MAINPAGE_FAQ_004_P1":"Yes, you can check the following links: ${1}desktop app${2} and ${3}GitHub organization${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Is Stremio safe?","WEBSITE_MAINPAGE_FAQ_005_P1":"Yes: because it is open-source software, the code is publically auditable and you can review it yourself.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"How about my privacy?","WEBSITE_MAINPAGE_FAQ_006_P1":"We respect users\' privacy and do not collect any personal data besides the essential minimum to create and sync your account.","WEBSITE_MAINPAGE_FAQ_006_P2":"There is also a ${1}Guest mode${2} at signup, which requires no data whatsoever: in this mode, no calls are made to our backend. However, it comes at the expense of useful features, such as being able to sync your library across devices.","WEBSITE_MAINPAGE_FAQ_007_H1":"Can I cast to my TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Yes, we support Chromecast and you can cast both from desktop and mobile apps (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"How many addons does Stremio have?","WEBSITE_MAINPAGE_FAQ_008_P1":"As of late 2019, over 50 - for more information, check our addon catalog.","WEBSITE_MAINPAGE_FAQ_009_H1":"Can Stremio be extended beyond what\'s in the addon catalog?","WEBSITE_MAINPAGE_FAQ_009_P1":"Yes, you should check those: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"What devices does Stremio support?","WEBSITE_MAINPAGE_FAQ_010_P1":"We have desktop apps for Windows, Mac and Linux. For mobile, we support Android and iOS, although keep in mind that the iOS is limited in functionality (does not support most addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"There are many Android-based devices which you can run Stremio on, like NVIDIA Shield and Amazon Fire Stick, but we do not support them officially.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Can you add certain content to Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Sorry, we provide no content ourselves, but the more Stremio addons you have installed, the more content you will be able to find.","WEBSITE_MAINPAGE_FAQ_012_H1":"Can Stremio play magnet links?","WEBSITE_MAINPAGE_FAQ_012_P1":"Yes, and it can also play normal HTTP links and torrent files (drag and drop).","WEBSITE_MAINPAGE_FAQ_013_H1":"Can I download a video and watch offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Available offline is an upcoming feature, but if you allow Stremio to cache on your device (from the settings panel) you can watch the videos later without a connection.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nothing works, help me!","WEBSITE_MAINPAGE_FAQ_014_P1":"Are you sure you have installed addons? If yes, check with our ${1}help center${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"How does Stremio sustain it\'s development operations?","WEBSITE_MAINPAGE_FAQ_015_P1":"We run non-intrusive ads occassionally, but we\'re considering moving to a donation model.","WEBSITE_MAINPAGE_FAQ_015_P2":"For more questions, go to our ${1}help center${2}.","HELP_LEARN_MORE":"Help us learn more about you.","LIFESTYLE":"Lifestyle","SPORTS":"Sports","FOOD_HEALTH":"Food & health","BEAUTY_FASHION":"Beauty & Fashion","NEWS":"News","GAMING":"Gaming","SCIENCE_EDUCATION":"Science & education","MUSIC":"Music","TRAVEL":"Travel","LATE_NIGHT":"Late Night","REALITY":"Reality","COMEDY":"Comedy","DIY":"How to DIY","TECH":"Tech","CINEMA":"Cinema","CONTINUE":"Continue","SLOW_LOADING":"SLOW LOADING?","I_GIVE_UP":"I GIVE UP","LEARN_MORE":"Learn more","POOR_SOURCE":"This source is poorly available or your internet connection is not fast enough","PICK_CATEGORIES_ERR":"You have to pick at least 3 categories","ADJUST_TIMING":"Adjust timing with ","ADJUST_SIZE":"Adjust size with ","SEARCH_ANYTHING":"You Can Search Anything...","ALL_CATEGORIES":"All","SEARCH_CATEGORIES":"Movies, Series, YouTube & TV","SEARCH_PERSONS":"Actors, Directors & Writers","SEARCH_PROTOCOLS":"HTTP & Magnet Links","SEARCH_TYPES":"IMDB / TVDB links","WATCHED":"Watched","SHOW_LESS":"Show less","LAST_SEARCHES":"Last searches","CLEAR_HISTORY":"Clear history","CHOOSE_SOME":"CHOOSE SOME OF THIS:","NO_WEB_REMOTE":"Web Remote could not be loaded","STREMIO_OFFLINE":"Stremio is offline","STREMIO_EXPENSIVE_CONNECTION":"We\'ve detected that you are using a mobile data connection, do you want to continue?","USE_DATA":"Use data","WARNING":"Warning","MORE_INFO":"More Info ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Loading ...","STREMIO_TV_BACK_TO_LANGUAGES":"Back to languages","STREMIO_TV_REMOTE":"Remote","STREMIO_TV_GO_TO":"Go to:","STREMIO_TV_OR_SCAN":"or scan:","STREMIO_TV_ADDON_INSTRUCTIONS":"Please follow the instructions in order to install your preferred addons.","STREMIO_TV_LIVE_TV":"Live TV","STREMIO_TV_RESUME_WATCHING":"Resume Watching","STREMIO_TV_LOADING_BACKGROUND":"Loading Background","STREMIO_TV_CHECKING_AUTHENTICATION":"Checking Authentication","STREMIO_TV_LOADING_BOARD":"Loading Board","STREMIO_TV_LOGIN_HEADER_LINE_1":"We want our users to have the best possible personalized experience with our software.","STREMIO_TV_LOGIN_HEADER_LINE_2":"It is for this reason that we kindly ask you to make and/or login to your account.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Thank you for understanding,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"The Stremio Team","STREMIO_TV_REMOTE_INSTRUCTIONS":"In order to use the Web Remote with your Smartphone / Tablet / Desktop:","STREMIO_TV_WIFI_SETUP":"Wi-Fi Setup","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle did not detect a internet connection.","STREMIO_TV_WIFI_DETAILS_1":"Connect to:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Use password:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Open a web browser with the link:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Default","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"By Last Watched","STREMIO_TV_LIBRARY_SORT_NAME":"By Name","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"By Times Watched","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Season ${1}","STREMIO_TV_STREAMS_LOADING":"Loaded ${1} / ${2} addons...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} addon is still loading...","STREMIO_TV_PLAYER_SETTINGS":"Player settings","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Subtitles delay","STREMIO_TV_PLAYER_AUDIO_DELAY":"Audio delay","STREMIO_TV_PLAYER_VIDEO_SCALING":"Video scaling","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Unsupported stream source","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Failed opening external link","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Not adjustable in audio passthrough mode","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Play with ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Play with libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Switching to libVLC player due to a playback error","STREMIO_TV_ADDONS_TITLE":"Use Stremio on your Phone or PC to install or configure addons and press \\"Sync Addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Note: make sure you are using the same Stremio account","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sync Addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons successfully synchronized","STREMIO_TV_ADDONS_SYNC_FAILED":"Failed to synchronize addons","STREMIO_TV_META_LINK_FAILED":"Failed opening meta link","STREMIO_TV_CATALOG_LOADING":"Catalog still loading...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Interface language updated","STREMIO_TV_SETTINGS_THEME_UPDATED":"Theme updated","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Default Player","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"External Player","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferred Language","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Secondary Preferred Language","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possible playback issues on some devices","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Some video formats might not work","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"No caching","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Default","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Soft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Fast","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Fast","STREMIO_TV_SETTINGS_SERVER_URL":"Streaming server url","STREMIO_TV_SETTINGS_SERVER_VERSION":"Server version","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Unknown","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio version","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Edit server url","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Enter a streaming server url","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Show statistics while loading","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"To read Stremio\'s Privacy Policy, visit:","STREMIO_TV_SETTINGS_TOS_TEXT":"To read Stremio\'s Terms and Conditions, visit:","STREMIO_TV_NAV_SEARCH":"Search","STREMIO_TV_NAV_HOME":"Home","STREMIO_TV_NAV_DISCOVER":"Discover","STREMIO_TV_NAV_LIBRARY":"Library","STREMIO_TV_NAV_MOVIES":"Movies","STREMIO_TV_NAV_SERIES":"Series","STREMIO_TV_NAV_CHANNELS":"Channels","STREMIO_TV_NAV_TV":"Live TV","STREMIO_TV_NAV_SETTINGS":"Settings","STREMIO_TV_NAV_ADDONS":"Addons","STREMIO_TV_LOGIN_TITLE":"Link Account","STREMIO_TV_LOGIN_EXPIRES_IN":"Expires in","STREMIO_TV_LOGIN_STEP_ONE":"Scan QR Code above or go to","STREMIO_TV_LOGIN_STEP_TWO":"Log in to your Stremio account","STREMIO_TV_LOGIN_NEW_LINK":"Request a new link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Login code refreshed","STREMIO_TV_SEARCH_PLACEHOLDER":"Type something","STREMIO_TV_SEARCH_NO_ADDONS":"No addons were requested for catalogs!","STREMIO_TV_SEARCH_BUTTON":"Search","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Search History","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"You can search for Titles, Actors, Channels and more...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Clear Search History","STREMIO_TV_FILTERS_DESCRIPTION":"Choose from one of the filters below","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"Filters","SETTINGS":"Settings","ACCOUNT":"Account","LOGOUT":"Logout","THEMES":"Themes","PLAYBACK":"Playback","PLAYBACK_SPEED":"Playback Speed","AUDIO_TRACKS":"Audio Tracks","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Videos","SERVER":"Server","LINKS":"Links","ABOUT":"About","INTERFACE":"Interface","ANIMATIONS":"Animations","STATUS":"Status","LANGUAGE":"Language","SIZE":"Size","DELAY":"Delay","BOLD":"Bold","OPACITY":"Opacity","TEXT_COLOR":"Text Color","OUTLINE_COLOR":"Outline Color","BACKGROUND_COLOR":"Background Color","BACKGROUND_BLUR":"Background Blur","SEEK_TIME_DURATION":"Seek Time Duration","AUTO_PLAY":"Auto-Play Next Episode","PLAY_NOW":"Play Now","MARK_AS_WATCHED":"Mark as Watched","MARK_AS_UNWATCHED":"Mark as Unwatched","REWIND_TO_BEGINNING":"Rewind to Beginning","CONTINUE_WATCHING":"Continue Watching","ALL":"All","SECONDS":"seconds","ON":"ON","OFF":"OFF","RELOAD":"Reload","EDIT_URL":"Edit URL","NONE":"None","EMBEDDED":"Embedded","REMOTE_SWITCH_DEVICES":"Switch Devices","REMOTE_VIDEOS":"Videos","REMOTE_ADJUST_TIMING":"Adjust timing","REMOTE_ADJUST_SIZE":"Adjust size","REMOTE_COULD_NOT_BE_LOADED":"Web Remote could not be loaded","REMOTE_RETRY":"Retry","TORRENT_PROFILE_DEFAULT":"Default","TORRENT_PROFILE_SOFT":"Soft","TORRENT_PROFILE_FAST":"Fast","TORRENT_PROFILE_ULTRA_FAST":"Ultra Fast","FAQ_001_H1":"What is Stremio?","FAQ_001_P1":"Stremio is a media center software designed for video entertainment with ease of use in mind. Stremio allows you to organize &amp; watch your own collection of movies, series, channels and live TV.","FAQ_001_P2":"Stremio collect the content it shows you from your local disk and our addons system.","FAQ_001_P3":"It will also notify you when new episodes/videos/movies you\'re interested in come out, and provide movie recommendations for you.","FAQ_02_H1":"How does Stremio compare to Kodi and Plex?","FAQ_02_P1":"We are inspired by those two pieces of software. But we have different goals - Stremio is specifically targeted towards entertainment video, and strives to become the mainstream solution for that by being very easy to use.","FAQ_02_P2":"Stremio will never be as customizable and feature-rich as Kodi and Plex, but it is significantly easier to use. Just ${1} get it and see ${2} :)","FAQ_03_H1":"How does Stremio compare to Netflix?","FAQ_03_P1":"Again, Netflix is one of our inspirations. We strive to achieve the user experience of Netflix, plus a lot of added goodies. But most importantly, we\'re giving you the freedom to manage your own library and add new content sources with our addon system.","FAQ_03_P2":"That makes Stremio infinitely extendable, so when you use Stremio, you\'re never limited to the content Netflix decides to license. For example, through Stremio you can watch content from ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} and even ${9}Netflix${10} itself!","FAQ_04_H1":"How does Stremio compare to Flipboard?","FAQ_04_P1":"We don’t get that question that often, except when talking to start-up people :)","FAQ_04_P2":"Stremio is by design a content aggregator, which essentially makes it Flipboard for video. This is very apparent in our Board section, which gives you catalogues and new episode/new video notifications for what you follow, just like Flipboard.","FAQ_05_H1":"How does Stremio compare to Popcorn Time?","FAQ_05_P1":"Stremio and Popcorn Time are similar in user interface, because there aren’t many ways to do video entertainment catalogues right :)","FAQ_05_P2":"But while Popcorn Time is focused on streaming torrents from specific sources, Stremio is unrestricted and is merely a content aggregator - it’s not locked into a specific content source.","FAQ_05_P3":"Furthermore, we do not provide any torrent addons by default, so Stremio does not cover the Popcorn Time use-case with official functionality.","FAQ_05_P4":"Another notable difference is that Popcorn Time is completely open source, while Stremio is ${1} partially open source${2}.","FAQ_06_H1":"Will you add this movie/series?","FAQ_06_P1":"No, sorry :(","FAQ_06_P2":"As is mentioned in most of the other questions, Stremio does not provide any content by itself - everything is added through the addons system. In case you have a content request, you can use the “Report” button in the Player, which will send an email to the author of the addon you’re currently using.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Will you create addon for X?","FAQ_08_P1":"It\'s entirely possible.","FAQ_08_P2":"If you have an idea for an addon, drop us a line at ${1}office@stremio.com${2}, but please make sure your addon idea will not infringe on any copyrights or terms of use.","FAQ_08_P3":"At the moment, the next things on our roadmap are addons for FandangoNOW, Filmon.tv video on demand and Crunchyroll.","FAQ_09_H1":"Does Stremio use BitTorrent?","FAQ_09_P1":"Yes, Stremio supports BitTorrent as a streaming protocol. You can use that either with a torrent addon, or by drag-and-dropping a .torrent file into Stremio, or by pasting a magnet link into the Search Bar.","FAQ_09_P2":"Please note that the only official addon using BitTorrent is ${1}Vodo${2}, which provides indie content, all permitted to be distributed with BitTorrent.","FAQ_09_P3":"We do not support use of any third-party addons which may enable copyright infringement.","FAQ_10_H1":"What can I watch in Stremio with the official addons?","FAQ_10_P1":"By default, you can watch Filmon.tv, YouTube and Vodo content within Stremio itself, with it’s embedded player. Additionally, we have an addon for Twitch.tv and a few others.","FAQ_10_P2":"This combined provides a selection of:","FAQ_10_L1":"Popular TV channels, provided by Filmon.tv - for example E4, BBC, Bollyworld TV","FAQ_10_L2":"Everything from YouTube - for example BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indie movies with Vodo","FAQ_10_L4":"Online gaming broadcasts with Twitch.tv","FAQ_10_P3":"Additionally, there are many content sources provided with Guidebox and the Netflix addons, which <b>do not</b> play entirely inside Stremio, but would redirect to the given service. For example, the Guidebox addon would give you a selection of movies you can stream in the US for free, from services like TubiTV and Crackle.","FAQ_11_H1":"Stremio won\'t install, what should I do?","FAQ_11_P1":"If you\'re on Windows, try ${1}this alternative installer${2}.","FAQ_11_P2":"If you\'re on Mac OS X, please be aware that we don\'t support anything older than OS X Mavericks (10.9).","FAQ_11_P3":"If you\'re on Linux, be aware that we only support 64 bit (x64) Linux at the moment.","FAQ_11_P4":"If you still can\'t resolve your problem, please write us at our ${1}Facebook group${2}.","FAQ_12_H1":"Why does my anti-virus complain? Is Stremio safe?","FAQ_12_P1":"We assure you Stremio is ${1}100% clean${2}.","FAQ_12_P2":"Your antivirus is complaining because we include advertising in our installer, which some anti-virus programs recognize as ad-ware.","FAQ_12_P3":"If you\'re still unsure, you can try our ${1}alternative installer${2}.","FAQ_13_H1":"How can I make an addon?","FAQ_13_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_13_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_13_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_14_H1":"How are addons published?","FAQ_14_P1":"When you create an addon and host, and put a <b>endpoint</b> field in your manifest, which points to a working addon address, the addon will automatically publish itself to our ${1}Addon catalogue${2}.","FAQ_14_P2":"This happens because the server part of the stremio-addons module automatically makes a call to our API to announce the addon. When our API validates your <b>endpoint</b> as a valid addon, it will start showing in the catalogue.","FAQ_15_H1":"Can I run Stremio in my browser?","FAQ_15_P1":"Not at the moment, but this is coming!","FAQ_15_P2":"If you\'re curious to see an Alpha, you can see it here: ${1}alpha4.strem.io${2}. Keep in mind streaming is disabled on this alpha. We support Chrome, Firefox, Opera and Edge.","FAQ_16_H1":"Casting to TV doesn\'t work / subtitles don\'t work","FAQ_16_P1":"Casting to TV uses the DLNA technology which is very inconsistent between different TV brands and models. For that reason, we do not have the ability to test it in every case, so it\'s far from perfect. Despite this, we\'re working on improving it constantly but we cannot give you a time estimate on when DLNA will start working properly with your TV.","FAQ_16_P2":"If you don\'t even see your TV in the casting menu, please try disabling your network connection and re-enabling it (on Windows, right click the Network and use Enable/Disable), as well as restarting your router, TV and PC.","FAQ_16_P3":"If you are still encountering issues, you can help us by sending your TV brand and model information at ${1}office@stremio.com${2}.","FAQ_16_P4":"In the meantime, we recommend Chromecast, which we support very well, or simply plugging in your TV to your PC with an HDMI cable.","FAQ_17_H1":"Stremio freezes and/or crashes, what can I do?","FAQ_17_P1":"First of all, if you\'re using Windows 7 with AVG anti-virus: we have a problem with that combination. The problem is in AVG itself, and there\'s no reasonable way to resolve it on our end. Unfortunately, exceptions or disabling the anti-virus won\'t work. The only solution is to replace AVG with something else.","FAQ_17_P2":"If that\'s not the issue, but you\'re still using Windows, please update to the latest service pack and update/re-install your GPU drivers, then try again.","FAQ_17_P3":"If you\'re problem is still not resolved, or you\'re using a Mac or Linux, please write us reporting the exact details of the problem at ${1}our Facebook group${2}.","FAQ_18_H1":"How can I make an addon?","FAQ_18_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_18_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_18_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_19_H1":"Why is Stremio taking disk space?","FAQ_19_P1":"Stremio has a <b>local cache</b> to temporarily keep the video files you stream.","FAQ_19_P2":"This has two benefits: first, it allows Stremio to pre-buffer the video ahead so as to ensure smoother streaming. Second, it keeps the videos in the local cache so you can continue watching them offline.","FAQ_19_P3":"How much Stremio keeps depends on the <b>Cache</b> setting in the Settings panel. Stremio may keep up to the set amount (e.g. 2GB) on your disk, unless the currently streamed video is larger than that, in which case it has to allocate enough storage to keep it until you\'re streaming it.","FAQ_20_H1":"Where is the cache folder?","FAQ_20_P1":"On Windows, it\'s stremio-cache in the drive you picked in Settings (e.g. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"On MacOS, it\'s \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"On Linux, it\'s \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"I get \\"Streaming server is not found\\" error, what can I do?","FAQ_21_P1":"If you get this error, it means one of few things:","FAQ_21_P2":"1) You are trying to use an addon backed by YouTube/BitTorrent source, through our ${1}web version${2}. In this case, you should install our desktop version from ${3}our website${4}.","FAQ_21_P3":"2) Something is wrong with your Stremio installation. In this case, try re-installing our latest desktop version from ${1}the website${2}. If this does not help, try disabling anti-virus programs and firewalls, restarting your PC and trying again. If this does not work too, please write us at our ${3}our Facebook group${4}.","FAQ_22_H1":"I cannot see/use most addons on iOS","FAQ_22_P1":"Because of restrictions in the Apple App Store terms and conditions, we have restricted the iOS application only to a particular set of addons.","FAQ_22_P2":"But rest assured - there will be more addons for iOS in the future, and we may also add an integration that will allow you to use all Stremio addons thanks to connecting the iOS app to the Stremio Streaming Server."}')},83778:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Film","TYPE_series":"Serie","TYPE_tv":"TV kanal","TYPE_channel":"Kanal","TYPE_other":"Other","TYPE_movie_PL":"Filmer","TYPE_series_PL":"Serier","TYPE_tv_PL":"TV kanaler","TYPE_channel_PL":"Kanaler","TYPE_other_PL":"Others","TYPE_ALL":"All","TYPE":"Type","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"Video","BACK":"Tilbake","MORE":"More","DONE":"Done","COPY":"Copy","SUCCESS":"Success","ERROR":"Error","SETTINGS_CASTING_MODE_PICKER":"Casting mode","CASTING_MODE_HLSV2":"Default","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"No transcoding","Discover":"Oppdag","Board":"Board","Library":"Bibliotek","My Library":"My Library","Calendar":"Kalender","NOTIFICATION_ONLINE":"You are now online","NOTIFICATION_OFFLINE":"You are currently offline","INTERNET_CONNECTION":"Network connection","STORAGE_FULL_TITLE":"Warning: Storage full!","STORAGE_FULL_TEXT":"Stremio will not be able to save your settings, preferences or login information. Consider re-starting or re-installing Stremio.","SEARCH":"Søk blant","SEARCH_NO_RESULTS":"Ingen resultater","SEARCH_EXPLANATION_CONTENT":"Søk etter filmer, serier, YouTubevideoer and TV-kanaler","SEARCH_EXPLANATION_PEOPLE":"Søk etter skuespillere, regissører and manusforfattere","SEARCH_PASTE_LINKS":"Lim inn HTTP og magnetlinker","SEARCH_OR_PASTE_LINK":"Search or paste link","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"Legg til i bibliotek","REMOVE_FROM_LIB":"Fjern fra bibliotek","ADDED_TO_LIB":"Added to Library","REMOVED_FROM_LIB":"Removed from Library","TRAILER":"Trailer","WATCH_TRAILER":"Se Trailer","WATCH_NOW":"Se Nå","SHOW":"Vis","SHOW_MOVIE":"Show Movie","WATCH_RANDOM":"Se tilfeldig","IMDB_RATING":"IMDb Rangering","YEAR":"År","DIRECTOR":"Regissør","WRITER":"Forfatter","LEAD_ACTORS":"Hovedskuespillere","CAST":"Skuespillere","CREW":"Crew","SHOW_MORE_CAST":"Vis mer »","AIRED":"Utgitt","SEASONS":"Sesonger","GENRE":"Sjanger","GENRE_ALL":"All genres","CATALOG":"Catalog","SUMMARY":"Sammendrag","SHOW_MORE":"Show More","SIMILAR":"Lignende","UPCOMING":"Kommer","ENDED":"Endte","DURATION":"Lengde","FEATURED":"Utvalgt","METADATA":"Metadata","CATEGORY":"category","LINKS_GENRES":"Genres","LINKS_CAST":"Cast","LINKS_DIRECTORS":"Directors","SEARCH_VIDEOS":"søk i videoer","SEARCH_PLACEHOLDER":"search or paste magnet link","ADDON":"Utvidelse","ADDONS":"Utvidelser","OFFICIAL":"Offisielle","ADDONS_OFFICIAL":"Offisielle Stremio Utvidelser","ADDONS_POPULAR":"Populært i ditt område","ADDON_FREE":"Gratis","ADDON_PEERED":"peered","ADDON_SUBSCRIPTION":"Abonnering","ADDON_STREAM_GEORESTRICTED":"ikke tilgjengelig i ditt område","ADDON_STREAM_OFFLINECACHE":"Offline Cache","ADDON_STREAM_LOCALFILE":"Lokal fil","SHARE_ADDON":"Share addon","AVAILABLE_STREAMS":"Tilgjengelige Strømmninger","NO_STREAM":"Ingen strømmninger tilgjengelige","ALL_ADDONS":"All","INSTALL_MORE_ADDONS":"For more streams, please install more addons","STREAM_NOT_SUPPORTED":"Selected stream is not supported on this platform.","ADDON_CATALOGUE":"Vis alle utvidelser »","ADDON_CATALOGUE_MORE":"Fler utvidelser »","REPO_ADDED":"Repository added","ADDON_REPO_EXIST_ERR":"This addons repository already exist","ADDON_REPO_ERR":"Error occurred while adding repository","ADDON_ADD_ERR":"Error occurred while adding addon","ERR_ADDON_PROTECTED":"Protected addon","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Something went wrong - authentication may have failed","ERR_NOT_COLLECTION_URL":"Not a collection url","ERR_NOT_ADDON_URL":"Not an addon url","ERR_DETECTFROMURL":"Cannot detect from url","ADDON_DUPLICATE_WARNING":"Warning: duplicated addon","ADDON_COLLECTION_SET_FAILED":"Addon collection set failed","SETTINGS_DATA_EXPORT":"Export data","ADDON_PULL_FAILED":"Addon pulling failed","REFRESH_ON_CLICK":"Click to retry","STILL_IN_THEATER":"Filmen er fortsatt på kino","WATCH_IN_CINEMA":"se den på din lokale kino","IN_THEATER":"På Kino","GET_TICKETS":"Få Biletter","UPCOMING_EPISODE":"Upcoming episode","UPCOMING_EPISODE_MESSAGE":"This episode will be aired on","MISSING_DATE_EPISODE":"Missing episode date","MISSING_DATE_EPISODE_MESSAGE":"This episode might not have aired yet","CHANNEL_NOT_SCRAPED":"Denne kanalen er ikke ferdig enda.<br>Vennligst kom tilbake om noen få minutter.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Legg den til i ditt bibliotek for å bli varslet når den blir tilgjengelig.","GET_NOTIFIED_WHEN_AVAILABLE":"Du vil bli varslet med en gang den er tilgjengelig.","WARNING_STREAMING_SERVER":"Advarsel: lokal strømmeserver ble ikke funnet. Det vil ikke være tilgjengelig å strømme fra YouTube og BitTorrent.","WARNING_STREAMING_SERVER_DISMISS":"Dismiss","WARNING_STREAMING_SERVER_LATER":"Later","DECODER_WARNING":"Warning: this video may not be supported by your hardware. Keep in mind, playback may be slow.","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"Oops, spiller feil","PLAYER_ERROR_LOOKSLIKE":"Det ser ut som","PLAYER_ORIENTATION":"Player orientation","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Locked","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensor","PLAYER_ORIENTATION_LANDSCAPE":"Player orientation locked at landscape","PLAYER_ORIENTATION_SENSOR":"Player orientation automatic (sensor)","PLAYER_PLAYBACK_SPEED":"Playback Speed","PLAYER_PLAYBACK_ERROR":"Playback error, please try again","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Unknown error","PLAYER_PLAYBACK_ERROR_DEFAULT":"Sorry, this video cannot be played by {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Subtitles Languages","PLAYER_SUBTITLES_VARIANTS":"Subtitles Variants","PLAYER_SUBTITLES_SETTINGS":"Subtitles Settings","PLAYER_SUBTITLES_DISABLED":"Subtitles are disabled","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Vertical Position","PLAYER_SUBTITLES_LOADED":"Subtitles loaded","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Embedded subtitles loaded","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Exclusive subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Subtitles from {{origin}} loaded","PLAYER_PLAY":"Play","PLAYER_PAUSE":"Pause","PLAYER_NEXT_VIDEO":"Next Video","PLAYER_MUTE":"Mute","PLAYER_UNMUTE":"Unmute","PLAYER_OPEN_IN_EXTERNAL":"Open in external player","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Play in {{device}}","PLAYER_LIVE":"Live","PLAYER_NEXT_VIDEO_TITLE":"Coming up next on","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Dismiss","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Watch now","PLAYER_COPY_STREAM_SUCCESS":"Stream link was copied to your clipboard","PLAYER_COPY_STREAM_ERROR":"Failed to copy stream link","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","STREAMING_FROM":"Strømmer fra","CASTING_TO":"Caster til","NETWORK_STATUS":"Nettverksstatus","STREAM_SPEED":"Fart på strømmen:","STREAM_BUFFERED":"Buffret:","PEERS_INFO":"Informasjon om peers","PEERS_ACTIVE":"Aktive:","PEERS_CONNECTED":"Tilkoblede:","PEERS_WAITING":"Venter:","TRANSCODING_WARNING":"Advarsel: transkoder videoen.","STREAM_LOADING":"Laster...","PLAYING_LOCAL":"Spiller fra lokal fil","PLAYING_CACHE":"Spiller fra cache","WRONG_SUBS":"Feil undertekster?","ERR_SUBS_LOADING_TITLE":"Error loading subtitles","ERR_SUBS_LOADING":"Failed loading subtitles: this could be an issue with the addon you are using, or with your network connection","WARN_FOLLOWING_SUB_ADDONS_FAILED":"The following subtitle addons failed","ERR_CASTING_UPDATE_TITLE":"Could not update casting device info: streaming server might be offline","CHOOSE_DEVICE":"Velg en enhet å strømme fra","NO_CAST_DEVICES":"No casting devices available.","NO_SETTINGS":"No settings available.","PHONE_TABLET":"Telefon / Nettbrett","SUBTITLES":"Subtitles","SUBTITLES_CHANGE":"Endre undertekster for ","SUBTITLES_CHANGE_NONE":"Det er ingen andre undertekster for dette språket, beklager.","SUBTITLES_CHANGE_ACIVE":"Undertekst &#35;{{subtitlesDialog.activeIdx + 1}} er aktivert. Klikk \\"Fortsett\\" for å aktivere undertekster &#35;{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Alternativt,","SUBTITLES_ADJUST_DELAY":"Still inn undertekstsforsinkelse:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Eller bruk <span>G</span> / <span>H</span> tastene når du ser for å justere.","SUBTITLES_ADJUST_DELAY_TIP":"TIPS: du kan bruke <span>G</span> / <span>H</span> tastene når du ser for å justere.","SUBTITLES_DELAY":"Undertekstsforsinkelse:","SUBTITLES_LOADING":"Loading subtitles...","SUBTITLES_UNAVAILABLE":"No external subtitles available","SUBTITLES_DISABLED":"Disabled","EXTERNAL_PLAYER_DISABLED":"Disabled","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Allow Choosing","EXTERNAL_PLAYER_HINT":"Hint: There is a setting to allow always opening with external player","DONT_SHOW_AGAIN":"Don\'t show again","SERVICE_INSTALL":"Install","AUDIO":"Audio","DEFAULT_LANGUAGE":"Default Language","DEFAULT_SECONDARY_LANGUAGE":"Default Secondary Language","SEASON":"Sesong","EPISODE":"Episode","EPISODE_ABBREVIATION":"EP","SPECIAL":"Special","SORT":"sort","SORT_BY":"Sort by","FILTER":"filter","SORT_TRENDING":"trender","SORT_RECENT":"nylig","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"rangering","SORT_WATCHED":"sett","SORT_YEAR":"år","SELECT_TYPE":"Select type","SELECT_SORT":"Select sort","SELECT_CATALOG":"Select catalog","SELECT_GENRE":"Select genre","SORT_LASTWATCHED":"By last watched","SORT_NAME":"By name","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"By times watched","SORT_NOTWATCHED":"not watched","New for You":"New for You","New Episodes":"New Episodes","New Videos":"New Videos","Recommendations":"Recommendations","LIBRARY_RESUME":"gjenoppta","LIBRARY_PLAY":"Play","LIBRARY_DETAILS":"Details","LIBRARY_RESUME_DISMISS":"avvis","LIBRARY_CLEAR_PROGRESS":"Clear Progress","LIBRARY_REMOVE":"Remove","LIBRARY_NOT_LOGGED_IN":"Library is only available for logged in users","CALENDAR_NOT_LOGGED_IN":"Calendar is only available for logged in users","NOT_LOGGED_IN_CLOUD":"Access your favorite movies and TV shows anytime, anywhere","NOT_LOGGED_IN_RECOMMENDATIONS":"Recommendations tailored to your viewing history","NOT_LOGGED_IN_NOTIFICATIONS":"Never miss an episode again","NOT_LOGGED_IN_CALENDAR":"Schedule your personal watching calendar","DISCOVER_FEATURED":"Utvalgt","DISCOVER_TOP":"Topp","DISCOVER_OSCAR":"Oscar vinnere","DISCOVER_WARNING_TITLE":"Oops!","DISCOVER_EMPTY_CATALOG":"This addon returned empty content.","DISCOVER_ADULT_WARNING":"The content is visible only for adults. Are you 18+?","DISCOVER_NOADDON_WARNING":"Advarsel: ingen Stremio utvidelse aktiv for denne typen. Viser lagrede elementer, ingenting vil oppdatere.","DISCOVER_LOAD_ERR":"The content did not load, error occured.","DISCOVER_ADDON_UNINSTALLED":"This content is no longer available, you may have un-installed the addon.","UNINSTALL_THIS_ADDON":"Uninstall this addon","ERR_ADDON_NOT_INSTALLED":"This addon is not installed. Install now?","DETAIL_RECEIVE_NOTIF_SERIES":"Receive notifications for new episodes","DETAIL_RECEIVE_NOTIF_VIDEOS":"Receive notifications for new videos","SIDEBAR_SHOW_STREAMS":"Show Streams","RELAUNCH":"Start på nytt nå!","UPGRADE":"Oppdater til den nyeste Stremio versjonen","RELOAD_UI":"Reload the user interface","MANUAL_UPDATE_TITLE":"Update your Stremio version","MANUAL_UPDATE_LINE1":"You are running an outdated version of Stremio which is highly unrecommended.","MANUAL_UPDATE_LINE2":"Please update as soon as possible.","BUTTON_UPDATE_LATTER":"Not now","BUTTON_UPDATE_NOW":"Update","ANONYMOUS_USER":"Anonymous user","DONT_HAVE_ACC":"Har du ikke en bruker?","HAVE_ACC":"Already have an account?","PASSWORD":"Passord","PASSWORD_CONFIRM":"Confirm password","EMAIL":"E-post","FB_LOGIN":"Logg inn med Facebook","FB_NOTHINGSHARED":"Ingenting vil bli delt uten din tillatelse :)","FB_NOPOST":"We won’t post anything on your behalf","OR":"eller","I_ACCEPT":"Jeg godtar ","I_ACCEPT_BY_CLICKING":"By clicking the above button I testify that I accept the ","TOS":"Vilkårene og betingelsene","MUST_ACCEPT_TERMS":"You must accept terms","PASSWORDS_NOMATCH":"Passordene er ikke like","SIGN_UP":"Registrer","SIGN_UP_EMAIL":"Sign up with email","CLICK_TO_SIGN_UP":"Click here to sign up.","LOG_IN":"Logg inn","LOG_OUT":"Logg ut","EXIT_FULLSCREEN":"Exit fullscreen mode","ENTER_FULLSCREEN":"Enter fullscreen mode","PLAY_URL_MAGNET_LINK":"Play URL/Magnet link","HELP_FEEDBACK":"Help & Feedback","TERMS_OF_SERVICE":"Terms of Service","PRIVACY_POLICY":"Privacy Policy","ABOUT_STREMIO":"About Stremio","USER_PANEL":"User Panel","LOGIN_LABEL":"Login","GUEST_LOGIN":"Logg inn som gjest","GUEST_LOGIN_NOTICE":"Gjesteinnlogging er ikke anbefalt. Å bruke en vanlig inlogging gjør det lettere for Stremio å synkronisere biblioteket ditt og å motta varsler for dine favoritt serier/kanaler. Er su sikker på at du vil fortsette?","GUEST_LOGIN_NOTICE_2":"Gjesteinnlogging er ikke anbefalt - du vil ikke ha tilgang til et synkronisert bibliotek eller board, som er which are viktige Stremio funksjoner. ER du sikker på at du vil fortsette?","CLICK_HERE":"Klikk her","WRONG_PASSWORD":"Feil passord. I tilfelle du har glemt passordet, ","SET_A_PASS":"lag et passord","RESET_PASSWORD":"Reset password","FORGOT_PASSWORD":"Glemt passord?","EMAIL_USED_WITH_FB":"Denne eposten er i bruk av en Facebook innlogging.","INVALID_EMAIL":"Please enter a valid email address","INVALID_PASSWORD":"Please enter a valid password","CONN_ERR":"Tilkoblingsfeil - venligst prøv igjen senere.\\n\\nHvis feilen fortsetter, deaktiver brannmuren/anti-virus program (spesielt Bitdefender).","IMPORT_FROM_GUEST":"Importer bibliotek fra en gjestebruker","RECEIVE_UPDATES_EMAIL":"Motta oppdateringer fra Stremio på epost","LOGIN_FAILED":"Innlogging feilet.","SIGNUP_FAILED":"Signup failed.","SEARCH_FAILED":"Search failed","EMAIL_USED":"This email is already in use.","WAITING_FB_LOGIN":"Logging in with Facebook...","EXTERNAL_PLAYER_TITLE":"Play in external player","EXTERNAL_REMEMBER_PLAYER":"Do you want to remember your choice","EXTERNAL_ALWAYS_PLAY":"Yes","EXTERNAL_ONLY_ONCE":"No","BEST_FIT":"Best Fit","FIT_SCREEN":"Fit Screen","FILL":"Fill","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"Tell us about what you like","INTRO_TASTE_LONG":"Tell us about what you\'d like to watch","INTRO_TASTE_PICK":"Pick {{interestsRemaining}} interests","INTRO_TASTE_PICK_MORE":"Pick {{interestsRemaining}} more interests","INTRO_TASTE_HELP_US":"Help us learn more about you.","INTRO_TASTE_CHOOSE_THESE":"Choose some of these:","INTRO_TASTE_CHOOSE_MIN":"Choose at least 3 categories","INTRO_TASTE_CHOOSE_MIN_ERR":"You have to pick at least 3 categories!","INTRO_TASTE_LIFESTYLE":"Lifestyle","INTRO_TASTE_SPORTS":"Sports","INTRO_TASTE_FOOD_HEALTH":"Food & Health","INTRO_TASTE_BEAUTY_FASHION":"Beauty & Fashion","INTRO_TASTE_NEWS":"News","INTRO_TASTE_GAMING":"Gaming","INTRO_TASTE_SCIENCE_EDU":"Science & Education","INTRO_TASTE_MUSIC":"Music","INTRO_TASTE_TRAVEL":"Travel","INTRO_TASTE_LATE_NIGHT":"Late Night Show","INTRO_TASTE_REALITY":"Reality","INTRO_TASTE_COMEDY":"Comedy","INTRO_TASTE_DIY":"How to DIY","INTRO_TASTE_TECH":"Tech","INTRO_TASTE_CINEMA":"Cinema","ADDON_NOT_SUPPORTED":"Selected addon is not supported on this platform.","ADDON_DISCLAIMER":"Bruk av tredjeparts-utvidelser vil alltid være ditt ansvar med hennsyn til den gjeldene loven der du befinner deg.","ADDON_ACTIVATE":"Aktivere denne utvidelsen?","ADDON_REPO_ADD":"Addon repository url","ADDON_ADD":"Add","INSTALL_ADDON":"Install addon","ADD_ADDON":"Add addon","ADD_ADDON_DESCRIPTION":"You can add an addon via an external link, which will appear under Installed addons.","PASTE_ADDON_URL":"Paste addon URL","WHATS_NEW":"Hva er nytt?","BUTTON_CONTINUE":"Fortsett","BUTTON_ACTIVATE":"Aktiver","BUTTON_ACTIVATED":"Aktivert","BUTTON_CANCEL":"Avbryt","BUTTON_SUBMIT":"Submit","BUTTON_DISMISS_ALL":"Dismiss All","BUTTON_VIEW_ALL":"view all","BUTTON_SEE_ALL":"See All","BUTTON_COLOR_TRANSPARENT":"Transparent","OPEN_IN_BROWSER":"Open in browser","LIB_EMPTY":"Biblioteket ditt ser tomt ut. Finn ut hvor nyttig det er :) ","HOW_START":"Kom i gang:","LIB_EMPTY_CAL":"Kalenderen din viser serier i biblioteket ditt.","HOW_START_CAL":"Her er hvordan du kan legge til serier:","LIB_EMPTY_BOARD":"Board viser varsler &amp; anbefalinger relatert til biblioteket ditt.","HOW_START_BOARD_WAIT":"Legg til noen serier eller kanaler i biblioteket ditt og gi oss noen minutter til å behandle de :)","HOW_START_BOARD":"Her er hvordan du kan legge til serier &amp; filmer til det:","IMPORT_FB":"Importer ting du liker fra <span>Facebook</span>","IMPORT_TRAKT":"Importer mediebiblioteket ditt fra <span>Trakt</span>","IMPORT_DISCOVER":"Finn interessante ting fra <span>Oppdag</span>","IMPORT_DISK":"Importer filmer eller serier fra din <span>lokale Harddisk</span>","PLEASE_CREATE_ACC":"Venligst <u>opprett en bruker</u> for å aktivere biblioteksynkronisering &amp; Board.","IMPORT_DISCOVER_SIGNUP":"Registrer deg og finn interessante ting i <span>Discover</span>","IMPORT_DISK_SIGNUP":"Registrer deg for å importere filmer eller serier du har på din <span>lokale disk</span>","LIB_EMPTY_CLOUD":"Cloud library","LIB_EMPTY_CLOUD_DESC":"Personal cloud library synced on all devices","LIB_EMPTY_EARLY":"Early bird","LIB_EMPTY_EARLY_DESC":"Receive notifications for new episodes","LIB_EMPTY_PERSONAL":"Personal","LIB_EMPTY_PERSONAL_DESC":"Get personal recommendations","LIB_EMPTY_CALENDAR_DESC":"Schedule your personal watching calendar","LIB_EMPTY_ALL":"Sign up to get all of these:","LIB_EMPTY_BEST":"Sign up to get best of Stremio","LIB_EMPTY_OTHER":"Sign up to enable Calendar & other cool features","CALENDAR_ADDED":"The Stremio calendar has been added to your default desktop calendar.","CALENDAR_ADDED_MSG":"If this does not work, please add this URL to your calendar application manually","TRAKT_EXPIRED":"Trakt authentication expired, please go to Settings and re-authenticate","TRAKT_REQUIRES_LOGIN":"Trakt error","TRAKT_REQUIRES_LOGIN_MSG":"You need to login","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","SETTINGS_LABEL":"Settings","SETTINGS_NAV_GENERAL":"General","SETTINGS_NAV_PLAYER":"Player","SETTINGS_NAV_STREAMING":"Streaming","SETTINGS_NAV_SHORTCUTS":"Shortcuts","SETTINGS_SHORTCUT_RELOAD_APP":"Reload App","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Open Settings","SETTINGS_SHORTCUT_SWITCH_TABS":"Switch Tabs","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Cycle Through Tabs Forward","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Cycle Through Tabs Backward","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigate Between Menus","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Go to Search","SETTINGS_SHORTCUT_EXIT_BACK":"Exit / Go Back","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Toggle Playback Speed Menu","SETTINGS_SHORTCUT_MENU_VIDEOS":"Toggle Videos Menu","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Toggle Subtitles Menu","SETTINGS_SHORTCUT_MENU_INFO":"Toggle Info Menu","SETTINGS_SHORTCUT_FULLSCREEN":"Toggle Fullscreen","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Show Controls","SETTINGS_SHORTCUT_PLAY_PAUSE":"Play / Pause","SETTINGS_SHORTCUT_VOLUME_UP":"Volume Up","SETTINGS_SHORTCUT_VOLUME_DOWN":"Volume Down","SETTINGS_SHORTCUT_SEEK_NEXT":"Seek Next","SETTINGS_SHORTCUT_SEEK_PREV":"Seek Prev","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Seek Backward","SETTINGS_SHORTCUT_SEEK_FORWARD":"Seek Forward","SETTINGS_SHORTCUT_PLAY_NEXT":"Play Next","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Increase Subtitles Size","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Decrease Subtitles Size","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Increase Subtitles Delay","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Decrease Subtitles Delay","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Toggle Sidebar","SETTINGS_SHORTCUT_OR":"or","SETTINGS_SHORTCUT_TO":"to","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Authenticate","SETTINGS_FACEBOOK_IMPORT":"Import","SETTINGS_CALENDAR_SUBSCRIBE":"Subscribe","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Interface Language","SETTINGS_LAUNCH_STARTUP":"Kjør ved oppstart","SETTINGS_VLC_DEFAULT":"Spill med VLC","SETTINGS_UI_LANGUAGE":"UI Language","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Escape key exit full screen","SETTINGS_GAMEPAD":"Enable gamepad support","SETTINGS_CLOSE_WINDOW":"Close app when window is closed","SETTINGS_SUBTITLES_LANGUAGE":"Default Subtitles Language","SETTINGS_SUBTITLES_SIZE":"Default Subtitles Size","SETTINGS_SUBTITLES_BACKGROUND":"Subtitles background","SETTINGS_SUBTITLES_COLOR":"Subtitles color","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Subtitles outline color","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Subtitles background color","SETTINGS_SEEK_KEY":"Arrow keys seek time","SETTINGS_SEEK_KEY_SHIFT":"Arrow keys seek time when Shift key is held","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Rewind & Fast-forward duration","SETTINGS_BINGE":"Spill av neste episode automatisk","SETTINGS_NEXT_VIDEO":"Show notification to start next episode","SETTINGS_NEXT_VIDEO_TRIGGER":"Show next episode notification for:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Next video popup duration","SETTINGS_PLAY_IN_BACKGROUND":"Play in background","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Play in external player","SETTINGS_RESIZE":"Endre vindusstørrelse automatisk før avspilling","SETTINGS_OVERRIDE_SERVER":"Override the streaming server URL (advanced)","SETTINGS_SERVER_URL":"Streaming server URL: ","SETTINGS_SERVER_AVAILABLE":"Streaming server is available.","SETTINGS_SERVER_UNAVAILABLE":"Streaming server is not available.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Error","SETTINGS_SERVER_CONFIGURE_TITLE":"Configure streaming server url","SETTINGS_SERVER_CONFIGURE_INPUT":"Enter a streaming server url","SETTINGS_SERVER_CACHE_SIZE":"Cache size","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent profile","SETTINGS_HTTPS_ENDPOINT":"Streaming HTTPS endpoint: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Bruk alltid den nyeste betaversjonen","SETTINGS_IMPORT_FB":"Importer fra Facebook","SETTINGS_IMPORT_DISK":"Importer fra lokal disk","SETTINGS_IMPORT_TRAKT":"Import from Trakt","SETTINGS_PAUSE_MINIMIZED":"Pause playback when minimized","SETTINGS_HWDEC":"Hardware-accelerated decoding","SETTINGS_BACKGROUND":"Background playback","SETTINGS_SUBSCRIBE_CALENDAR":"Abonner på en kalender","SETTINGS_REQ_EXPORT":"Request data export","SETTINGS_ACC_DELETE":"Request account deletion","SETTINGS_CHANGE_PASSWORD":"Endre passord","SETTINGS_TOS":"Vilkår for tjenesten","SETTINGS_SUPPORT":"Kontakt support","SETTING_LANGUAGE":"Språk","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_LOGOUT":"Logg ut av Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Logg ut av Trakt","SETTINGS_SCAN_FOR_REMOTE":"Scan QR koden for å åpne eksternt","SETTINGS_DESKTOP_NOTIFICATIONS":"Desktop notifications","SETTINGS_DATA_SAVER":"Data saver","SETTINGS_LANGUAGE_INTERFACE":"interface","SETTINGS_LANGUAGE_SUBS":"default subtitles","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Autoselect Audio Track","SETTINGS_DEFAULT_AUDIO_TRACK":"Default Audio Track","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"account","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"version","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"Launch player in a separate window (advanced)","SETTINGS_PLAY_IN_EXTERNAL":"Always start video in external player","SETTINGS_STORAGE_BUTTON":"Clear Local Storage","SETTINGS_STORAGE_MODAL_TITLE":"Are you sure ?","SETTINGS_STORAGE_MODAL_MESSAGE":"This will clear the local storage and log you out.","SETTINGS_HWDEC_PICKER":"Pick hardware-accelerated decoding setting","SETTINGS_HW_AUTOMATIC":"Automatic","SETTINGS_HW_DISABLED":"Disabled","SETTINGS_HW_ACCELERATED":"Decoding acceleration","SETTINGS_HW_FULL":"Full acceleration","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Subtitles","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Controls","SETTINGS_SECTION_AUTO_PLAY":"Auto-Play","SETTINGS_SECTION_ADVANCED":"Advanced","SUBSPICKER_AUDIO":"Audio","SUBSPICKER_SUBTITLES":"Addons Subtitles","SUBSPICKER_BLACK_BACKGROUND":"Use black background color","SUBSPICKER_VERTICAL_OFFSET":"Vertical Offset","SUBSPICKER_SIZE":"Size","SUBSPICKER_DELAY":"Delay","SUBSPICKER_EMBEDDED_SUBS":"Embedded Subtitles","MOBILE_PRIVACY_POLICY":"Privacy Policy","MOBILE_CRASH_REPORTING":"Crash Reporting","MOBILE_ZOOM_TO_FILL":"Zoom To Fill Screen","MOBILE_PASSTHROUGH":"Digital audio output (passthrough)","MOBILE_RUN_LOW_BATTERY":"Run on low battery","MOBILE_RUN_FOREGROUND":"Run as Foreground Service","MOBILE_PERFORMANCE":"PERFORMANCE & STABILITY","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"QR Code expires in ","MOBILE_LOG_INTO":"Log in to your Stremio account ","MOBILE_SCAN_QR":"Scan QR code above or go to ","MOBILE_LINK_ACCOUNT":"Link Account","MOBILE_SPEEDPICKER_CANCEL":"Cancel","MOBILE_SPEEDPICKER_LABEL":"Select Playback Speed","MOBILE_EMPTY_LIBRARY":"Your library is empty","MOBILE_NO_ADDON_ACTIVE":"No Stremio addon active for this type.","MOBILE_ORGANIZER_WARNING":"The Stremio Organizer app provides limited functionality. For a list of playable streams and the full Stremio experience, use Stremio on desktop.","MOBILE_ADDON_LOADING":"is still loading","MOBILE_ADDONS_LOADING":"addons are still loading","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Configure your addon","MOBILE_CONFIGURE_ADDON_LABEL":"Configure Addon","MOBILE_ORGANIZER_ADDONS_WARNING":"The Stremio Organizer app provides a limited selection of addons. For the full Stremio experience, use Stremio on desktop.","MOBILE_DISCONNECT":"Disconnect","MOBILE_LOOKING_FOR_DEVICES":"Looking for devices...","MOBILE_CAST_TO":"Cast to","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Delete Account","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Account deletion is not instant due to legal obligations. After requesting deletion of your account you will have to use different email address/facebook profile to create a new Stremio account in the future.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirm Account Deletion","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Your account has been created using Facebook. To delete your account, please use our user portal at www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Please provide your password to confirm account deletion.","MOBILE_DELETE_ACCOUNT_BUTTON":"Delete Account","NAVIGATION_ON":"On","NAVIGATION_OFF":"Off","MARKETING_AGREE":"I agree to receive marketing communications from Stremio","QUIT":"Avslutt","CONNECTED":"Connected","AUTHENTICATE":"Verifiser","CACHING":"Bufrer","SETTINGS_CACHING_DRIVE":"Velg bufrings enhet","ENABLE_LOCAL_FILES_ADDON":"Enable the local files addon (requires restart)","LOCAL_ADDON_NOT_ENABLED":"Local addon is not enabled. Click here to go to the settings and enable it","ENABLE_REMOTE_HTTPS_CONN":"Enable remote HTTPS connections","TORRENT_PROFILE":"Torrent Profile","DATA_CACHING":"Data Caching","MAGNET_PARSING":"Parsing a magnet link","January":"Januar","February":"Februar","March":"Mars","April":"April","May":"Mai","June":"Juni","July":"Juli","August":"August","September":"September","October":"Oktober","November":"November","December":"Desember","Monday":"Mandag","Tuesday":"Tirsdag","Wednesday":"Onsdag","Thursday":"Torsdag","Friday":"Fredag","Saturday":"Lørdag","Sunday":"Søndag","Action":"Action","Comedy":"Komedie","War":"Krig","Family":"Familie","Animation":"Animasjon","Adventure":"Eventyr","Fantasy":"Fantasy","Crime":"Krim","Mystery":"Mysterier","Romance":"Romantikk","Drama":"Drama","Horror":"Grøsser","Thriller":"Spenning","Sci-Fi":"Sci-Fi","Music":"Musikk","Biography":"Biografi","Documentary":"Dokumentar","Sport":"Sport","Musical":"Musikal","Western":"Western","Film-Noir":"Film-Noir","News":"Nyheter","History":"Historie","Game-Show":"Gameshow","Reality-TV":"Reality-TV","Talk-Show":"Talk-Show","Film & Entertainment":"Film & Underholdning","Gaming":"Gaming","From TV":"Fra TV","Lifestyle":"Livsstil","Science & Education":"Vitenskap & Utdanning","Cooking & Health":"Matlaging & Helse","Beauty & Fashion":"Skjønnhet & Mote","Sports":"Sport","News & Politics":"Nyheter & Politikk","How-to & DIY":"Gjør det selv","Tech":"Teknologi","Automotive":"Bilbransjen","Causes & Non-Profits":"Saker & ideelle organisasjoner","Movies":"Filmer","Uk Live Tv":"UK Direkte TV","Fashion":"Mote","Business News Radio":"Business Nyhetsradio","Business Tv":"Business TV","Cars & Auto":"Biler og Auto","Comedy Radio":"Komedieradio","Lifestyle Radio":"Livsstilsradio","News Tv":"Nyhets TV","Food And Wine":"Mat og Vin","Latino Tv":"Latino TV","Shopping Tv":"Shopping TV","Religion":"Religion","Kids":"Barn","Body & Soul":"Kropp og Sjel","Education":"Utdanning","Indian Tv":"Indisk TV","Extreme Sports":"Ekstremsport","Middle Eastern Tv":"TV fra Midtøsten","Celebrity Tv":"Kjendis TV","Science Tv":"Vitenskaps TV","Bikini babe":"Bikini babe","Outdoors":"Utendørs","German Tv":"Tysk TV","French Tv":"Fransk TV","Italian Tv":"Italiensk TV","Gamer Tv":"Spill TV","Travel":"ReiseTV","Asian Tv":"Asiatisk TV","Entertainment":"Underholdning","News Radio":"Nyhetsradio","Music Radio":"Musikkradio","Language Learning":"Språklæring","Science Radio":"Vitenskapsradio","Tech Radio":"Teknologiradio","Science & Technology Vod":"Vitenskap -og Teknologi VOD","new video":"ny video","new episode":"ny episode","new movie":"ny film","recommended":"anbefalt","we recommend":"vi anbefaler","offer of the day":"dagstilbud","news":"nyheter","music video":"musikkvideo","CTX_SHOW_HOTKEYS":"Show hotkeys","CTX_DISMISS_NOTIF":"Forkast varsler","CTX_DISMISS_ALL":"Dismiss all","CTX_SHARE":"Del","CTX_COPY_SHARE_LINK":"Kopier link for deling","CTX_COPY_MAGNET_LINK":"Copy magnet link","CTX_COPY_STREAM_LINK":"Copy stream link","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Download this video","CTX_DOWNLOAD_SUBS":"Download subtitles","CTX_VIEW_ON_YOUTUBE":"View on YouTube","CTX_SHOW":"Vis","CTX_PLAY":"Play","CTX_PLAY_IN":"Play in","CTX_PLAY_ON":"Play on","CTX_WATCH_ON":"Se på","CTX_WATCH":"Se","CTX_WATCHED":"Sett","CTX_WATCH_BEGINNING":"Se fra starten","CTX_WATCH_MOBILE":"Se på en mobil enhet","CTX_REWIND":"Spol til start","CTX_MARK_WATCHED":"Merk som sett","CTX_MARK_NON_WATCHED":"Merk som ikke sett","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"Mark rest as watched","CTX_UNMARK_REST":"Mark rest as non-watched","CTX_RECEIVE_NEW_NOTIF":"Få nye varsler","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"Fjern fra bruffren","CTX_REMOVE_CACHE_EP":"Fjern episode fra buffren","CTX_OPEN_CONTAINING":"Åpne mappen som inneholder filen","CTX_REMOVE":"Fjern fra bilbiotek","CTX_AVAILABLE_OFFLINE":"Tilgjengelig Offline","CTX_PAUSED":"Pauset","CTX_ALWAYS_ON_TOP":"Alltid på toppen","CTX_FULLSCREEN":"Fullskjem","CTX_WRONG_SUBS":"Feil undertekster?","CTX_REPORT_ISSUES":"Rapporter en feil","CTX_COPY":"Kopier","CTX_PASTE":"Lim inn","CTX_CLEAR":"Tøm","CTX_CLEAR_RECENT_SEARCHES":"Tøm nylige søk","HELLO_THERE":"Hei!","HOPE_YOU_ENJOY":"Vi håper du liker Stremio og at det er en av dine favoritt apper allerede!","WHO_ARE_WE":"Hvem er vi? Vi er teamet bak appen - to gutter som har jobbet hardt med appen hver dag i de siste 3 årene, med kun ett mål - å gjøre dette produkte bedre og bedre.","SUPPORT_US":"Hvis du liker Stremio, hvis Stremio er verdifull for deg - støtt oss!","SPREAD_THE_WORD":"Del med vennene dine og spred ordet om Stremio","MORE_PEOPLE":"Jo fler som bruker Stremio, jo bedre blir det!","SEND_A_LINK":"Eller send en link til websiden vår","TIP_LOCALFILES":"Tips: du kan dra og slippe lokale videoer inn i Stremio","ADDON_MY":"Mine utvidelser","ADDON_COMMUNITY":"Samfunnets utvidelser","ADDON_OFFICIAL":"Offisielle utvidelser","ADDON_REPOS":"Addon repositories","ADDON_SEARCH":"Søk etter utvidelser","ADDON_INSTALL":"Installer","ADDON_CONFIGURE":"Configure","ADDON_UNINSTALL":"Avinstaller","ADDON_UPGRADE":"Upgrade","ADDON_INSTALLED":"Installert","ADDON_INSTALLED_MSG":"Addon installed!","ADDON_UPGRADED_MSG":"Addon upgraded!","ADDON_UNKNOWN":"Unknown","ADDON_ERR":"Addon install error!","ADDON_DISCONNECTED":"Disconnected","ADDON_APP_MISSING":"the app for this source is not installed. Do you want to install it now?","ADDON_APP_INSTALL":"Install Now","ADDON_PAGE":"Side for utvidelser","ADDON_TOP_CONTENT":"Det beste fra denne utvidelsen","ADDON_PROVIDES":"git","ADDON_WATCH":"Se #{types} nå!","ADDON_WATCH_FREE":"Se #{types} GRATIS nå!","ADDON_ADDON":"Utvidelse","ADDON_SUPPORTED_TYPES":"Supported types","ADDON_SUPPORTED_CATALOGS":"Supported catalogs","ADDON_PROVIDES_DISCOVER":"Mer #{types} i oppdag","ADDON_PROVIDES_STREAMS":"Se #{types}","ADDON_PROVIDES_STREAMS_FREE":"Se #{types} GRATIS","ADDON_PROVIDES_SUBTITLES":"Undertekster for #{types}","ADDON_CANTDETECT":"Vi kunne ikke oppdage en kjørende Stremio, så vi kunne ikke oppdage hvilke utvidelser du har installert.","ERR_NO_META":"No information found about this ","ERR_GETTING_META":"Error retrieving information about this.","ERR_CANT_PARSE_MAGNET":"Unable to parse magnet","ERR_NO_MAGNET_INFOHASH":"No valid info hash for magnet","ERR_NO_FILE_PATH":"Unable to send request without a path to file","ERR_NO_TORRENT":"No torrent returned","ERR_NO_SUPPORTERD_FILES":"No supported files found","ERR_OPENING_FILES":"Could not open external files","ERR_INVALID_LINK":"Invalid link","ERR_REGISTERED_ONLY":"This option is available for registred users only.","ERR_CLIPBOARD":"Can not play from clipboard","ERR_CLIPBOARD_READ":"Can not read the clipboard on this platform","ERR_CLIPBOARD_GENERIC":"No playable URL found in the clipboard. Please copy a URL (e.g. a magnet link) to a video.","BOARD_CONTINUE_WATCHING":"Fortsett å se","BOARD_EXPLANATION_RECOMMENDATIONS":"Filmer valgt spesielt for degg. <br />Denne filmen er en eksempel rekommandasjon","BOARD_EXPLANATION_EPISODES":"Nye episoder av favorittseriene dine kommer her.<br />Legg til serier du følger med på i biblioteket ditt.","BOARD_EXPLANATION_VIDEOS":"Nye episoder av dine favorittkanaler kommer her.<br />Legg til YouTubekanaler du følger med på i biblioteket ditt.","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE":"Contribute","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"Learn more","WEBSITE_COMPANY":"Company","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Need Help?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"Se med en gang","WEBSITE_SLOGAN_ALL":"Alt videoinnholdet du liker på ett sted","WEBSITE_SLOGAN_NEW":"All You can Watch","WEBSITE_SLOGAN_NEW_NEW":"Freedom to Stream","WEBSITE_WATCH_FROM":"Watch from","WEBSITE_DOWNLOAD":"Last ned nå","WEBSITE_DOWNLOAD_FOR":"Last Ned For","WEBSITE_IS_DESKTOP":"Stremio er et skrivebordsprogram, åpne denne siden på PCen din og last ned nå!","WEBSITE_DESKTOP_DEMO_VID":"Skriveborddemo","WEBSITE_PAGE_HOME":"Hjem","WEBSITE_PAGE_FEATURES":"Funkjsoner","WEBSITE_PAGE_ADDONS":"Utvidelser","WEBSITE_PAGE_TECH":"Teknologi","WEBSITE_PAGE_CREATE_ADDON":"Lag utvidelse","WEBSITE_PAGE_CONTACTS":"Kontakter","WEBSITE_PAGE_BLOG":"Blogg","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Filmer","WEBSITE_TYPE_series_PL":"Serier","WEBSITE_TYPE_tv":"Live TV","WEBSITE_TYPE_channel":"Kanaler","WEBSITE_STREMIO_WHAT_IS":"Stremio er en app som hjelper deg å organisere og umiddelbart se dine favoritt videoer, filmer, TV-serier og TV-kanaler.","WEBSITE_FEATURES_WATCH":"Se øyeblikkelig i HD","WEBSITE_FEATURES_WATCH_DETAIL":"Klikk og spill dine favoritt filmer, TV-programmer, videoer og TV-kanaler.","WEBSITE_FEATURES_SUBS":"Automatiske undertekster","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio velger automatisk synkroniserte undertekster for språket ditt.","WEBSITE_FEATURES_SUBS_LABEL":"Din tur, sjef.","WEBSITE_FEATURES_CAST":"Spill på TV og mobile enheter","WEBSITE_FEATURES_CAST_DETAIL":"Cast til AppleTV, Chromecast, Smart TV (DLNA/UPnP) and mobile enheter.","WEBSITE_LIB":"Nyt ditt personlige bibliotek synkronisert på alle enhetene dine","WEBSITE_LIB_COLLECT":"Samle fra Stremio","WEBSITE_LIB_IMPORT":"Importer fra Facebook","WEBSITE_LIB_LOCAL":"Legg til fra din lokale harddisk","WEBSITE_BOARD":"Board - Ditt one-stop sted for varsler og anbefalinger","WEBSITE_BOARD_RECOMMEND":"Anbefalt TV Show","WEBSITE_BOARD_TRENDING":"Populær film","WEBSITE_BOARD_NEW":"Ny video","WEBSITE_BOARD_EPISODE":"Ny episode","WEBSITE_BOARD_1":"Leter du etter noe interessant å se på? Få anbefalinger basert på din smak!","WEBSITE_BOARD_2":"Bli varslet når en ny episode av ditt favoritt TV-program eller YouTube-kanal er ute!","WEBSITE_BOARD_YOUTUBE":"Nye episoder av YouTubekanaler","WEBSITE_BOARD_EPISODES":"Nye episoder av serier di følger.","WEBSITE_ADDONS":"Innholdsudvidelser","WEBSITE_TECH_DETAIL":"Vi elsker teknologi, vi elsker gal vitenskap!\\nStremio bruker følgende åpen kildekode-teknologier:","WEBSITE_TECH_WCJS":"WebChimera.js tillater Stremio å spille alle videoformater med god ytelse.","WEBSITE_TECH_WCJS_EXTRA":"Vi er kjerneprodukt bidragsytere","WEBSITE_TECH_ELECTRON":"Electron gir en innovativ plattform å bygge Stremio med.","WEBSITE_TECH_ELECTRON_EXTRA":"Vi er prosjekt bidragsytere","WEBSITE_TECH_LINVODB":"En databaseteknologi som sikrer dataene er organisert og tilgjengelig hvor som helst du har logger inn.","WEBSITE_TECH_LINVODB_EXTRA":"In-house teknologi","WEBSITE_CREATE_ADDON":"Lag din utvidelse","WEBSITE_CREATE_ADDON_DETAIL":"Har du en tjeneste som gir videoinnhold? Vi hjelper deg å dra nytte av Stremio funksjoner ved å lage utbidelsen din","WEBSITE_CREATE_ADDON_BENEFITS":"Fordeler med å lage en utvidelse for Stremio","WEBSITE_P2P_BEAUTY":"Skjønnheten av Peer-To-Peer strømming","WEBSITE_P2P_1":"Pålitelig og rimelig full HD / 4K video on demand eller direktestrømming","WEBSITE_P2P_2":"Distribusjonsplattform som gir god brukeropplevelse","WEBSITE_P2P_3":"Vi vil lage en utvidelse tilfredstiller dine behov","WEBSITE_P2P_CONTACT":"Interessert? Du er velkommen til å <a href=\'mailto:office@stremio.com\'>kontakte oss</a>.","WEBSITE_P2P_CONTACT_EXTRA":"Vi vil gjerne hjelpe deg med å integrere innholdet ditt med Stremio!","WEBSITE_P2P":"En gang i blant, kommer det en teknologi som endrer spillereglene. Vi har investert tonnevis med tid og krefter på å bygge vår Peer-to-Peer (P2P) video streaming motor som gir god ytelse og allsidighet til å tilpasse enhver bruk.\\nKontakt oss for DRM-aktivert P2P video on demand eller live streaming.","WEBSITE_THOUGHTS":"Tanker vi deler:","WEBSITE_SPREAD":"Spre ordet om Stremio:","WEBSITE_CONTACT":"Hvis du ønsker å kontakte oss, kjør på","WEBSITE_OPENSOURCE":"For våre åpene kildekode-prosjekter, gå til vår","WEBSITE_BITCOIN":"Doner med bitcoin:","WEBSITE_FAQ":"Ofte stilte spørsmål","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Questions","WEBSITE_TOS":"Vilkår for bruk","WEBSITE_LEGAL":"Juridisk","WEBSITE_PAGE_ABOUT":"About","WEBSITE_PAGE_BECOME_PARTNER":"Become a partner","WEBSITE_ALL_YOU_CAN_WATCH":"Freedom To Watch\\nEverything You Want.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"What is stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio is a one-stop hub for video content aggregation. Discover, organize and watch video from all kind of sources on any device that you own.","WEBSITE_WHAT_IS_STREMIO_P2":"Movies, TV shows, series, live television or web channels like YouTube and Twitch.tv - you can find all this on Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio is a modern media center that\'s a one-stop solution for your video entertainment. You discover, watch and organize video content from easy to install addons.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Movies, TV shows, live TV or web channels - find all this on Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Enjoy on all your Media devices","WEBSITE_DEVICES_COLLECT":"Collect from Stremio","WEBSITE_DEVICES_IMPORT_FB":"Import from facebook","WEBSITE_DEVICES_LOCAL":"Add from local drive","WEBSITE_JOIN_THE_PARTY_NOW":"Join the party now","WEBSITE_DEVICES_ALL":"Easy to use on all your devices;","WEBSITE_EXTENDABLE_CATALOG":"Infinitelly extendable video catalog;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Great features to organize your media;","WEBSITE_AS_SEEN_ON":"As seen on","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"About us","WEBSITE_LINK_TECHNOLOGY":"Technology","WEBSITE_LINK_APPS":"Apps","WEBSITE_LINK_DOWNLOADS":"Downloads","WEBSITE_MORE":"More","WEBSITE_LINK_ADDONS":"Addons","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Contribute","WEBSITE_LINK_COMMUNITY":"Community","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... & More","WEBSITE_LINK_HELP":"Help center","WEBSITE_LINK_CONTACTS":"Contacts us","WEBSITE_LINK_TOS":"Terms & conditions","WEBSITE_LINK_PRAVACY":"Privacy policy","WEBSITE_SUBSCRIBE":"Sibscribe","WEBSITE_NEWSLETTER":"Join Our Newsletter for amazing stuff","WEBSITE_PLACEHOLDER_EMAIL":"Your Email","WEBSITE_COMMUNITY":"Community","WEBSITE_LINK_PRAVACY_LEGAL":"Privacy & legal","WEBSITE_WHY":"Why we do it","WEBSITE_WHY_P1":"At Stremio, we come to work every day because we want to solve an important problem for the video-on-demand industry. There’s so much new content published every minute that it’s virtually impossible to find your way around it.","WEBSITE_WHY_P2":"We help people navigate that huge world of video entertainment and discover new content to enjoy. Our apps bring together movies, series, live TV, web channels, and more. We are dedicated to making it incredibly easy for users to find titles and broadcasters that they love.","WEBSITE_WHY_P3":"You can use our service on any device and at any time, making Stremio the only video entertainment hub you’ll ever need.","WEBSITE_TEAM":"TEAM","WEBSITE_TEAM_P":"The Stremio team is small but powerful: between the ten of us, we code in X languages, and share expertise in software development, UI and UX design, marketing and advertising, and business and startups.","WEBSITE_FEATURES":"Features","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Discover new content with ease","WEBSITE_FEATURES_DISCOVER_P":"Easily discover new movies, TV shows, series and channels to watch. Browse by category, genre, rating, recency, etc. or simply type a name to find. Stremio makes finding new video content a piece of cake.","WEBSITE_FEATURES_ALL_CONTENT":"All of your video content on one screen","WEBSITE_FEATURES_ALL_CONTENT_P1":"See what movies, series or videos you didn’t finish and continue watching them; get notified for new episodes and releases; and browse through the recommendations you will get based on your viewing habits.","WEBSITE_FEATURES_LIBRARY":"Organize your video library","WEBSITE_FEATURES_LIBRARY_P1":"Add any title to your Stremio library with a single click and find your way around your content, neatly arranged by type, recency, or alphabetical order.","WEBSITE_FEATURES_CALENDAR":"Keep track of everything you watch","WEBSITE_FEATURES_CALENDAR_P1":"Get a calendar visualization of all the movies and series you add to your library. Export your Stremio calendar and sync it so you always know when a new episode or a premier is due.","WEBSITE_FEATURES_BIG_SCREEN":"Enjoy your video content on a bigger screen","WEBSITE_FEATURES_BIG_SCREEN_P1":"Cast whatever you are watching to another device - be it a phone, tablet or a TV with a single click.","WEBSITE_FEATURES_SOURCES":"Watch video from many different sources","WEBSITE_FEATURES_SOURCES_P":"Install official and community addons to enjoy video sourced from many different providers - all in one sleek, easy to use app.","WEBSITE_CREATE_AN_ADDON":"Create an addon","WEBSITE_FEATURES_SYNC":"Sync your library across different devices and resume your playback","WEBSITE_FEATURES_SYNC_P1":"Login with your account across all your devices and enjoy your library, addons, playback and calendar synchronized.","WEBSITE_FEATURES_EXTENDABLE":"Extendable video catalog by addons","WEBSITE_FEATURES_EXTENDABLE_P1":"The Stremio addon catalog provides a number of addons to install and watch a variety of video content from. This includes movies, shows, live TV, sport, news, podcasts, web channels, video games and more.","WEBSITE_FEATURES_AUTO_SUBS":"Automatic subtitles","WEBSITE_FEATURES_AUTO_SUBS_P1":"With our subtitle addons you get automatically selected options for your preferred language.","WEBSITE_FEATURES_CHROMECAST":"Casting to Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Enjoy your video content on a bigger screen or just cast whatever you are watching to another device.","WEBSITE_FEATURES_KEEP_TRACK":"Keep track of your favorite TV shows and Web channels","WEBSITE_FEATURES_KEEP_TRACK_P1":"Get a calendar visualization and notifications for new episodes of your favorite series and web channels.","WEBSITE_FEATURES_POWER_USER":"Power user features","WEBSITE_FEATURES_POWER_USER_P1":"Play in external player","WEBSITE_FEATURES_POWER_USER_P2":"Play from a torrent file or magnet link","WEBSITE_FEATURES_POWER_USER_P3":"Import to your library from Facebook likes or local disk","WEBSITE_ADD_ONS":"Addons","WEBSITE_ADD_ONS_P1":"All of the video content Stremio provides get sourced through an addon system - no content or content provider has been built into the app.","WEBSITE_ADD_ONS_P2":"There are two groups of addons available: official and community addons.","WEBSITE_ADD_ONS_P3":"The official ones are developed and hosted by Stremio, whereas community addons are created by our community members, who also host them.","WEBSITE_ADDONS_OFFICIAL":"Official addons","WEBSITE_ADDONS_WATCHUB":"Stream your favourite movies, series and shows from providers like iTunes, Hulu, Amazon and other UK/US services.","WEBSITE_ADDONS_YOUTUBE":"Watch your favourite YouTube channels ad-free and get notifications for new uploads from the contributors you follow.","WEBSITE_ADDONS_FILMON":"Watch live TV, movies and social television for free. 600 TV channels, 45,000 free movies, documentaries and more.","WEBSITE_ADDONS_OPENSUBTITLES":"Movie and TV subtitles in multiple languages, thousands of translated subtitles uploaded every day.","WEBSITE_ADDONS_COMMUNITY":"Community addons","WEBSITE_ADDONS_FILMON_VOD":"Watch video on demand from Filmon.tv","WEBSITE_ADDONS_TWICH":"Watch live streams from Twitch.tv - a video streaming platform for the e-sports industry.","WEBSITE_ADDONS_VODO":"Watch indie movies absolutely free of charge.","WEBSITE_ADDONS_NETFLIX":"Watch Netflix movies and web series.","WEBSITE_ADDONS_CREATE":"Create an addon","WEBSITE_ADDONS_CREATE_P1":"If you wish, you can develop your own addon. This way, you can give yourself and our community access to new video content, and reach a new, targeted audience of millions of users around the world.","WEBSITE_ADDONS_START_CREATE":"To get started, visit the Stremio Addon SDK page:","WEBSITE_DOWNLOADS":"Downloads","WEBSITE_DOWNLOADS_P1":"For optimal performance, we recommend that you use the latest available version of the Stremio apps. If for some reason, however, you would like to use an older version, you can download it here.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio for Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio for macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio for Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio for Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio for iOS","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"The Stremio platform is open source and you can easily create an addon for content that is currently not sourced.","WEBSITE_CONTRIBUTE_WHY":"Why should you create an addon?","WEBSITE_CONTRIBUTE_WHY_P1":"Reach new audience for your video content","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio’s user base is growing rapidly - within the first year of the launch, Stremio had gained 1 million users around the world, and in the second year of the platform’s existence this number grew to 2.5 million.","WEBSITE_CONTRIBUTE_WHY_P3":"With your addon, you can easily reach this audience and distribute your video content to them.","WEBSITE_CONTRIBUTE_ALL":"Watch your favourite movies, videos, series and channels in one single place.","WEBSITE_CONTRIBUTE_ALL_P1":"You’re a fan of a particular type of content not available on Stremio yet? Create an addon for it and enjoy watching your favourite videos in one of the largest and easiest to use entertainment hubs on the market.","WEBSITE_CONTRIBUTE_ALL_P2":"On top of that, you’ll get the endless gratitude of other like-minded Stremio community members.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetize your addon and earn money with its help","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Once you develop a new addon for Stremio, you can easily monetize it through a number of different ways. If you are considering this, feel free to get in touch with us at ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - we would be happy to consult and advise you about addon monetization options.","WEBSITE_CONTRIBUTE_TRANSLATE":"Become a volunteer translator","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"If you want to enjoy the Stremio apps in different languages, you can join our community of volunteer translators. They help us add versions of the Stremio in many different languages.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Are you eager to get started?","WEBSITE_TRANSALTE_STREMIO":"Translate Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Official communities","WEBSITE_COMMUNITY_OFFICIALS_P1":"Become a part of the growing Stremio community. Follow us on social media and don’t be shy to say hello - we love hearing from our fans! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Unofficial communities","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partners and supporters","WEBSITE_COMMUNITY_GOODIES":"Stremio goodies","WEBSITE_COMMUNITY_WALLPAPERS":"Wallpapers","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"Contact us","WEBSITE_CONTACT_US_P1":"If you have any questions, comments or suggestions, feel free to get in touch with us through the contact form below.","WEBSITE_CONTACT_US_P2":"Keep in mind that we are located in Bulgaria so there may be a delay in addressing your query due to time zone differences.","WEBSITE_CONTACT_US_SUCCESS":"Your message has been sent. We will get back to you at our earliest convenience.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Please enter a valid email!","WEBSITE_CONTACT_US_Q_RELATED_TO":"What is your question related to?","WEBSITE_CONTACT_US_Q_OS":"What is your Operation System?","WEBSITE_CONTACT_US_PH_EMAIL":"Your E-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Message","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"SEND","WEBSITE_CONTACT_US_Q_1":"How to install?","WEBSITE_CONTACT_US_Q_2":"How to uninstall?","WEBSITE_CONTACT_US_Q_3":"(HTML) How to make lasagna?","WEBSITE_CONTACT_US_Q_4":"Addons","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Technology","WEBSITE_TECHNOLOGY_P1":"We love technology and mad science. </br> Here is what powers Stremio (it’s all open-source).","WEBSITE_TECHNOLOGY_P_QT":"Cross-platform software development at its best.","WEBSITE_TECHNOLOGY_P_MPV":"A free, open source, and cross-platform media player.","WEBSITE_TECHNOLOGY_P_RN":"React Native lets you build mobile apps using only JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework embedded into application to get multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm is a mobile platform and a replacement for SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js is an open-source, cross-platform, JavaScript runtime environment.","WEBSITE_TECHNOLOGY_P_RUST":"Rust is a multi-paradigm system programming language focused on safety, especially safe concurrency.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribute to the project","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"There are two ways you can contribute to Stremio and help us make the product even better.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"You can donate your valuable language skills by translating the platform...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"or","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... you can employ your coding skills for creating community addons. ","WEBSITE_TRANSLATE_STREMIO":"Translate Stremio","WEBSITE_404_OH_NO":"Uh-oh! The page you’re looking for is not here...","WEBSITE_GO_HOME":"Go home","WEBSITE_LINK_OTHER_DOWNLOADS":"Other downloads","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Support","WEBSITE_DOWNLOAD_4_0_BETA":"Download Now Stremio 4 beta","WEBSITE_GET_FOR_DESKTOP":"Get for desktop","WEBSITE_LINK_ADDON_COMPETITION":"Addon competition","WEBSITE_LINK_ART_CONTEST":"Art contest","WEBSITE_MY_ACCOUNT":"My account","WEBSITE_MAINPAGE_FAQ_001_H1":"What is Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio is a modern media center that gives you the freedom to watch everything you want.","WEBSITE_MAINPAGE_FAQ_002_H1":"How does it work?","WEBSITE_MAINPAGE_FAQ_002_P1":"Once you install Stremio on your device and create an account, all you have to do is to visit the addon catalog and install any addon you want, and you\'re good to go!","WEBSITE_MAINPAGE_FAQ_002_P2":"After that, you can go to the Discover or Board sections to start exploring content.","WEBSITE_MAINPAGE_FAQ_003_H1":"What can I watch here?","WEBSITE_MAINPAGE_FAQ_003_P1":"A lot: Movies, TV shows, Web channels, Sport, TV channels, listen to Podcasts and more. Thanks to our addon system, you can accss a variety of content.","WEBSITE_MAINPAGE_FAQ_004_H1":"Is Stremio open-source?","WEBSITE_MAINPAGE_FAQ_004_P1":"Yes, you can check the following links: ${1}desktop app${2} and ${3}GitHub organization${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Is Stremio safe?","WEBSITE_MAINPAGE_FAQ_005_P1":"Yes: because it is open-source software, the code is publically auditable and you can review it yourself.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"How about my privacy?","WEBSITE_MAINPAGE_FAQ_006_P1":"We respect users\' privacy and do not collect any personal data besides the essential minimum to create and sync your account.","WEBSITE_MAINPAGE_FAQ_006_P2":"There is also a ${1}Guest mode${2} at signup, which requires no data whatsoever: in this mode, no calls are made to our backend. However, it comes at the expense of useful features, such as being able to sync your library across devices.","WEBSITE_MAINPAGE_FAQ_007_H1":"Can I cast to my TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Yes, we support Chromecast and you can cast both from desktop and mobile apps (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"How many addons does Stremio have?","WEBSITE_MAINPAGE_FAQ_008_P1":"As of late 2019, over 50 - for more information, check our addon catalog.","WEBSITE_MAINPAGE_FAQ_009_H1":"Can Stremio be extended beyond what\'s in the addon catalog?","WEBSITE_MAINPAGE_FAQ_009_P1":"Yes, you should check those: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"What devices does Stremio support?","WEBSITE_MAINPAGE_FAQ_010_P1":"We have desktop apps for Windows, Mac and Linux. For mobile, we support Android and iOS, although keep in mind that the iOS is limited in functionality (does not support most addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"There are many Android-based devices which you can run Stremio on, like NVIDIA Shield and Amazon Fire Stick, but we do not support them officially.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Can you add certain content to Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Sorry, we provide no content ourselves, but the more Stremio addons you have installed, the more content you will be able to find.","WEBSITE_MAINPAGE_FAQ_012_H1":"Can Stremio play magnet links?","WEBSITE_MAINPAGE_FAQ_012_P1":"Yes, and it can also play normal HTTP links and torrent files (drag and drop).","WEBSITE_MAINPAGE_FAQ_013_H1":"Can I download a video and watch offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Available offline is an upcoming feature, but if you allow Stremio to cache on your device (from the settings panel) you can watch the videos later without a connection.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nothing works, help me!","WEBSITE_MAINPAGE_FAQ_014_P1":"Are you sure you have installed addons? If yes, check with our ${1}help center${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"How does Stremio sustain it\'s development operations?","WEBSITE_MAINPAGE_FAQ_015_P1":"We run non-intrusive ads occassionally, but we\'re considering moving to a donation model.","WEBSITE_MAINPAGE_FAQ_015_P2":"For more questions, go to our ${1}help center${2}.","HELP_LEARN_MORE":"Help us learn more about you.","LIFESTYLE":"Lifestyle","SPORTS":"Sports","FOOD_HEALTH":"Food & health","BEAUTY_FASHION":"Beauty & Fashion","NEWS":"News","GAMING":"Gaming","SCIENCE_EDUCATION":"Science & education","MUSIC":"Music","TRAVEL":"Travel","LATE_NIGHT":"Late Night","REALITY":"Reality","COMEDY":"Comedy","DIY":"How to DIY","TECH":"Tech","CINEMA":"Cinema","CONTINUE":"Continue","SLOW_LOADING":"SLOW LOADING?","I_GIVE_UP":"I GIVE UP","LEARN_MORE":"Learn more","POOR_SOURCE":"This source is poorly available or your internet connection is not fast enough","PICK_CATEGORIES_ERR":"You have to pick at least 3 categories","ADJUST_TIMING":"Adjust timing with ","ADJUST_SIZE":"Adjust size with ","SEARCH_ANYTHING":"You Can Search Anything...","ALL_CATEGORIES":"All","SEARCH_CATEGORIES":"Movies, Series, YouTube & TV","SEARCH_PERSONS":"Actors, Directors & Writers","SEARCH_PROTOCOLS":"HTTP & Magnet Links","SEARCH_TYPES":"IMDB / TVDB links","WATCHED":"Watched","SHOW_LESS":"Show less","LAST_SEARCHES":"Last searches","CLEAR_HISTORY":"Clear history","CHOOSE_SOME":"CHOOSE SOME OF THIS:","NO_WEB_REMOTE":"Web Remote could not be loaded","STREMIO_OFFLINE":"Stremio is offline","STREMIO_EXPENSIVE_CONNECTION":"We\'ve detected that you are using a mobile data connection, do you want to continue?","USE_DATA":"Use data","WARNING":"Warning","MORE_INFO":"More Info ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Loading ...","STREMIO_TV_BACK_TO_LANGUAGES":"Back to languages","STREMIO_TV_REMOTE":"Remote","STREMIO_TV_GO_TO":"Go to:","STREMIO_TV_OR_SCAN":"or scan:","STREMIO_TV_ADDON_INSTRUCTIONS":"Please follow the instructions in order to install your preferred addons.","STREMIO_TV_LIVE_TV":"Live TV","STREMIO_TV_RESUME_WATCHING":"Resume Watching","STREMIO_TV_LOADING_BACKGROUND":"Loading Background","STREMIO_TV_CHECKING_AUTHENTICATION":"Checking Authentication","STREMIO_TV_LOADING_BOARD":"Loading Board","STREMIO_TV_LOGIN_HEADER_LINE_1":"We want our users to have the best possible personalized experience with our software.","STREMIO_TV_LOGIN_HEADER_LINE_2":"It is for this reason that we kindly ask you to make and/or login to your account.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Thank you for understanding,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"The Stremio Team","STREMIO_TV_REMOTE_INSTRUCTIONS":"In order to use the Web Remote with your Smartphone / Tablet / Desktop:","STREMIO_TV_WIFI_SETUP":"Wi-Fi Setup","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle did not detect a internet connection.","STREMIO_TV_WIFI_DETAILS_1":"Connect to:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Use password:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Open a web browser with the link:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Default","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"By Last Watched","STREMIO_TV_LIBRARY_SORT_NAME":"By Name","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"By Times Watched","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Season ${1}","STREMIO_TV_STREAMS_LOADING":"Loaded ${1} / ${2} addons...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} addon is still loading...","STREMIO_TV_PLAYER_SETTINGS":"Player settings","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Subtitles delay","STREMIO_TV_PLAYER_AUDIO_DELAY":"Audio delay","STREMIO_TV_PLAYER_VIDEO_SCALING":"Video scaling","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Unsupported stream source","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Failed opening external link","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Not adjustable in audio passthrough mode","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Play with ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Play with libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Switching to libVLC player due to a playback error","STREMIO_TV_ADDONS_TITLE":"Use Stremio on your Phone or PC to install or configure addons and press \\"Sync Addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Note: make sure you are using the same Stremio account","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sync Addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons successfully synchronized","STREMIO_TV_ADDONS_SYNC_FAILED":"Failed to synchronize addons","STREMIO_TV_META_LINK_FAILED":"Failed opening meta link","STREMIO_TV_CATALOG_LOADING":"Catalog still loading...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Interface language updated","STREMIO_TV_SETTINGS_THEME_UPDATED":"Theme updated","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Default Player","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"External Player","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferred Language","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Secondary Preferred Language","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possible playback issues on some devices","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Some video formats might not work","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"No caching","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Default","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Soft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Fast","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Fast","STREMIO_TV_SETTINGS_SERVER_URL":"Streaming server url","STREMIO_TV_SETTINGS_SERVER_VERSION":"Server version","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Unknown","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio version","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Edit server url","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Enter a streaming server url","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Show statistics while loading","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"To read Stremio\'s Privacy Policy, visit:","STREMIO_TV_SETTINGS_TOS_TEXT":"To read Stremio\'s Terms and Conditions, visit:","STREMIO_TV_NAV_SEARCH":"Search","STREMIO_TV_NAV_HOME":"Home","STREMIO_TV_NAV_DISCOVER":"Discover","STREMIO_TV_NAV_LIBRARY":"Library","STREMIO_TV_NAV_MOVIES":"Movies","STREMIO_TV_NAV_SERIES":"Series","STREMIO_TV_NAV_CHANNELS":"Channels","STREMIO_TV_NAV_TV":"Live TV","STREMIO_TV_NAV_SETTINGS":"Settings","STREMIO_TV_NAV_ADDONS":"Addons","STREMIO_TV_LOGIN_TITLE":"Link Account","STREMIO_TV_LOGIN_EXPIRES_IN":"Expires in","STREMIO_TV_LOGIN_STEP_ONE":"Scan QR Code above or go to","STREMIO_TV_LOGIN_STEP_TWO":"Log in to your Stremio account","STREMIO_TV_LOGIN_NEW_LINK":"Request a new link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Login code refreshed","STREMIO_TV_SEARCH_PLACEHOLDER":"Type something","STREMIO_TV_SEARCH_NO_ADDONS":"No addons were requested for catalogs!","STREMIO_TV_SEARCH_BUTTON":"Search","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Search History","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"You can search for Titles, Actors, Channels and more...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Clear Search History","STREMIO_TV_FILTERS_DESCRIPTION":"Choose from one of the filters below","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"Filters","SETTINGS":"Settings","ACCOUNT":"Account","LOGOUT":"Logout","THEMES":"Themes","PLAYBACK":"Playback","PLAYBACK_SPEED":"Playback Speed","AUDIO_TRACKS":"Audio Tracks","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Videos","SERVER":"Server","LINKS":"Links","ABOUT":"About","INTERFACE":"Interface","ANIMATIONS":"Animations","STATUS":"Status","LANGUAGE":"Language","SIZE":"Size","DELAY":"Delay","BOLD":"Bold","OPACITY":"Opacity","TEXT_COLOR":"Text Color","OUTLINE_COLOR":"Outline Color","BACKGROUND_COLOR":"Background Color","BACKGROUND_BLUR":"Background Blur","SEEK_TIME_DURATION":"Seek Time Duration","AUTO_PLAY":"Auto-Play Next Episode","PLAY_NOW":"Play Now","MARK_AS_WATCHED":"Mark as Watched","MARK_AS_UNWATCHED":"Mark as Unwatched","REWIND_TO_BEGINNING":"Rewind to Beginning","CONTINUE_WATCHING":"Continue Watching","ALL":"All","SECONDS":"seconds","ON":"ON","OFF":"OFF","RELOAD":"Reload","EDIT_URL":"Edit URL","NONE":"None","EMBEDDED":"Embedded","REMOTE_SWITCH_DEVICES":"Switch Devices","REMOTE_VIDEOS":"Videos","REMOTE_ADJUST_TIMING":"Adjust timing","REMOTE_ADJUST_SIZE":"Adjust size","REMOTE_COULD_NOT_BE_LOADED":"Web Remote could not be loaded","REMOTE_RETRY":"Retry","TORRENT_PROFILE_DEFAULT":"Default","TORRENT_PROFILE_SOFT":"Soft","TORRENT_PROFILE_FAST":"Fast","TORRENT_PROFILE_ULTRA_FAST":"Ultra Fast","FAQ_001_H1":"What is Stremio?","FAQ_001_P1":"Stremio is a media center software designed for video entertainment with ease of use in mind. Stremio allows you to organize &amp; watch your own collection of movies, series, channels and live TV.","FAQ_001_P2":"Stremio collect the content it shows you from your local disk and our addons system.","FAQ_001_P3":"It will also notify you when new episodes/videos/movies you\'re interested in come out, and provide movie recommendations for you.","FAQ_02_H1":"How does Stremio compare to Kodi and Plex?","FAQ_02_P1":"We are inspired by those two pieces of software. But we have different goals - Stremio is specifically targeted towards entertainment video, and strives to become the mainstream solution for that by being very easy to use.","FAQ_02_P2":"Stremio will never be as customizable and feature-rich as Kodi and Plex, but it is significantly easier to use. Just ${1} get it and see ${2} :)","FAQ_03_H1":"How does Stremio compare to Netflix?","FAQ_03_P1":"Again, Netflix is one of our inspirations. We strive to achieve the user experience of Netflix, plus a lot of added goodies. But most importantly, we\'re giving you the freedom to manage your own library and add new content sources with our addon system.","FAQ_03_P2":"That makes Stremio infinitely extendable, so when you use Stremio, you\'re never limited to the content Netflix decides to license. For example, through Stremio you can watch content from ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} and even ${9}Netflix${10} itself!","FAQ_04_H1":"How does Stremio compare to Flipboard?","FAQ_04_P1":"We don’t get that question that often, except when talking to start-up people :)","FAQ_04_P2":"Stremio is by design a content aggregator, which essentially makes it Flipboard for video. This is very apparent in our Board section, which gives you catalogues and new episode/new video notifications for what you follow, just like Flipboard.","FAQ_05_H1":"How does Stremio compare to Popcorn Time?","FAQ_05_P1":"Stremio and Popcorn Time are similar in user interface, because there aren’t many ways to do video entertainment catalogues right :)","FAQ_05_P2":"But while Popcorn Time is focused on streaming torrents from specific sources, Stremio is unrestricted and is merely a content aggregator - it’s not locked into a specific content source.","FAQ_05_P3":"Furthermore, we do not provide any torrent addons by default, so Stremio does not cover the Popcorn Time use-case with official functionality.","FAQ_05_P4":"Another notable difference is that Popcorn Time is completely open source, while Stremio is ${1} partially open source${2}.","FAQ_06_H1":"Will you add this movie/series?","FAQ_06_P1":"No, sorry :(","FAQ_06_P2":"As is mentioned in most of the other questions, Stremio does not provide any content by itself - everything is added through the addons system. In case you have a content request, you can use the “Report” button in the Player, which will send an email to the author of the addon you’re currently using.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Will you create addon for X?","FAQ_08_P1":"It\'s entirely possible.","FAQ_08_P2":"If you have an idea for an addon, drop us a line at ${1}office@stremio.com${2}, but please make sure your addon idea will not infringe on any copyrights or terms of use.","FAQ_08_P3":"At the moment, the next things on our roadmap are addons for FandangoNOW, Filmon.tv video on demand and Crunchyroll.","FAQ_09_H1":"Does Stremio use BitTorrent?","FAQ_09_P1":"Yes, Stremio supports BitTorrent as a streaming protocol. You can use that either with a torrent addon, or by drag-and-dropping a .torrent file into Stremio, or by pasting a magnet link into the Search Bar.","FAQ_09_P2":"Please note that the only official addon using BitTorrent is ${1}Vodo${2}, which provides indie content, all permitted to be distributed with BitTorrent.","FAQ_09_P3":"We do not support use of any third-party addons which may enable copyright infringement.","FAQ_10_H1":"What can I watch in Stremio with the official addons?","FAQ_10_P1":"By default, you can watch Filmon.tv, YouTube and Vodo content within Stremio itself, with it’s embedded player. Additionally, we have an addon for Twitch.tv and a few others.","FAQ_10_P2":"This combined provides a selection of:","FAQ_10_L1":"Popular TV channels, provided by Filmon.tv - for example E4, BBC, Bollyworld TV","FAQ_10_L2":"Everything from YouTube - for example BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indie movies with Vodo","FAQ_10_L4":"Online gaming broadcasts with Twitch.tv","FAQ_10_P3":"Additionally, there are many content sources provided with Guidebox and the Netflix addons, which <b>do not</b> play entirely inside Stremio, but would redirect to the given service. For example, the Guidebox addon would give you a selection of movies you can stream in the US for free, from services like TubiTV and Crackle.","FAQ_11_H1":"Stremio won\'t install, what should I do?","FAQ_11_P1":"If you\'re on Windows, try ${1}this alternative installer${2}.","FAQ_11_P2":"If you\'re on Mac OS X, please be aware that we don\'t support anything older than OS X Mavericks (10.9).","FAQ_11_P3":"If you\'re on Linux, be aware that we only support 64 bit (x64) Linux at the moment.","FAQ_11_P4":"If you still can\'t resolve your problem, please write us at our ${1}Facebook group${2}.","FAQ_12_H1":"Why does my anti-virus complain? Is Stremio safe?","FAQ_12_P1":"We assure you Stremio is ${1}100% clean${2}.","FAQ_12_P2":"Your antivirus is complaining because we include advertising in our installer, which some anti-virus programs recognize as ad-ware.","FAQ_12_P3":"If you\'re still unsure, you can try our ${1}alternative installer${2}.","FAQ_13_H1":"How can I make an addon?","FAQ_13_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_13_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_13_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_14_H1":"How are addons published?","FAQ_14_P1":"When you create an addon and host, and put a <b>endpoint</b> field in your manifest, which points to a working addon address, the addon will automatically publish itself to our ${1}Addon catalogue${2}.","FAQ_14_P2":"This happens because the server part of the stremio-addons module automatically makes a call to our API to announce the addon. When our API validates your <b>endpoint</b> as a valid addon, it will start showing in the catalogue.","FAQ_15_H1":"Can I run Stremio in my browser?","FAQ_15_P1":"Not at the moment, but this is coming!","FAQ_15_P2":"If you\'re curious to see an Alpha, you can see it here: ${1}alpha4.strem.io${2}. Keep in mind streaming is disabled on this alpha. We support Chrome, Firefox, Opera and Edge.","FAQ_16_H1":"Casting to TV doesn\'t work / subtitles don\'t work","FAQ_16_P1":"Casting to TV uses the DLNA technology which is very inconsistent between different TV brands and models. For that reason, we do not have the ability to test it in every case, so it\'s far from perfect. Despite this, we\'re working on improving it constantly but we cannot give you a time estimate on when DLNA will start working properly with your TV.","FAQ_16_P2":"If you don\'t even see your TV in the casting menu, please try disabling your network connection and re-enabling it (on Windows, right click the Network and use Enable/Disable), as well as restarting your router, TV and PC.","FAQ_16_P3":"If you are still encountering issues, you can help us by sending your TV brand and model information at ${1}office@stremio.com${2}.","FAQ_16_P4":"In the meantime, we recommend Chromecast, which we support very well, or simply plugging in your TV to your PC with an HDMI cable.","FAQ_17_H1":"Stremio freezes and/or crashes, what can I do?","FAQ_17_P1":"First of all, if you\'re using Windows 7 with AVG anti-virus: we have a problem with that combination. The problem is in AVG itself, and there\'s no reasonable way to resolve it on our end. Unfortunately, exceptions or disabling the anti-virus won\'t work. The only solution is to replace AVG with something else.","FAQ_17_P2":"If that\'s not the issue, but you\'re still using Windows, please update to the latest service pack and update/re-install your GPU drivers, then try again.","FAQ_17_P3":"If you\'re problem is still not resolved, or you\'re using a Mac or Linux, please write us reporting the exact details of the problem at ${1}our Facebook group${2}.","FAQ_18_H1":"How can I make an addon?","FAQ_18_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_18_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_18_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_19_H1":"Why is Stremio taking disk space?","FAQ_19_P1":"Stremio has a <b>local cache</b> to temporarily keep the video files you stream.","FAQ_19_P2":"This has two benefits: first, it allows Stremio to pre-buffer the video ahead so as to ensure smoother streaming. Second, it keeps the videos in the local cache so you can continue watching them offline.","FAQ_19_P3":"How much Stremio keeps depends on the <b>Cache</b> setting in the Settings panel. Stremio may keep up to the set amount (e.g. 2GB) on your disk, unless the currently streamed video is larger than that, in which case it has to allocate enough storage to keep it until you\'re streaming it.","FAQ_20_H1":"Where is the cache folder?","FAQ_20_P1":"On Windows, it\'s stremio-cache in the drive you picked in Settings (e.g. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"On MacOS, it\'s \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"On Linux, it\'s \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"I get \\"Streaming server is not found\\" error, what can I do?","FAQ_21_P1":"If you get this error, it means one of few things:","FAQ_21_P2":"1) You are trying to use an addon backed by YouTube/BitTorrent source, through our ${1}web version${2}. In this case, you should install our desktop version from ${3}our website${4}.","FAQ_21_P3":"2) Something is wrong with your Stremio installation. In this case, try re-installing our latest desktop version from ${1}the website${2}. If this does not help, try disabling anti-virus programs and firewalls, restarting your PC and trying again. If this does not work too, please write us at our ${3}our Facebook group${4}.","FAQ_22_H1":"I cannot see/use most addons on iOS","FAQ_22_P1":"Because of restrictions in the Apple App Store terms and conditions, we have restricted the iOS application only to a particular set of addons.","FAQ_22_P2":"But rest assured - there will be more addons for iOS in the future, and we may also add an integration that will allow you to use all Stremio addons thanks to connecting the iOS app to the Stremio Streaming Server."}')},68978:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"चलचित्र","TYPE_series":"श्रृङ्खला","TYPE_tv":"टिभी च्यानल","TYPE_channel":"च्यानल","TYPE_other":"अन्य","TYPE_movie_PL":"चलचित्रहरू","TYPE_series_PL":"श्रृङ्खला","TYPE_tv_PL":"टिभी च्यानलहरू","TYPE_channel_PL":"च्यानलहरू","TYPE_other_PL":"अन्य","TYPE_ALL":"सबै","TYPE":"प्रकार","CATALOG_com_linvo_cinemeta_top":"लोकप्रिय","CATALOG_com_linvo_cinemeta_imdbRating":"विशेष","CATALOG_com_linvo_cinemeta_year":"नयाँ","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"सार्वजनिक डोमेन चलचित्रहरू","VIDEO":"भिडियो","BACK":"फिर्ता","MORE":"थप","DONE":"सकियो","COPY":"प्रतिलिपि","SUCCESS":"सफल","ERROR":"त्रुटि","SETTINGS_CASTING_MODE_PICKER":"कास्टिङ मोड","CASTING_MODE_HLSV2":"पूर्वनिर्धारित","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"कुनै ट्रान्सकोडिङ छैन","Discover":"डिस्कवर","Board":"बोर्ड","Library":"लाइब्रेरीमा","My Library":"मेरो लाइब्रेरीमा","Calendar":"पात्रो","NOTIFICATION_ONLINE":"तपाई अहिले अनलाइन हुनुहुन्छ","NOTIFICATION_OFFLINE":"तपाई हाल अफलाइन हुनुहुन्छ","INTERNET_CONNECTION":"नेटवर्क जडान","STORAGE_FULL_TITLE":"चेतावनी: भण्डारण भरियो!","STORAGE_FULL_TEXT":"Stremio ले तपाइँको सेटिङ, प्राथमिकता वा लगइन जानकारी बचत गर्न सक्षम हुनेछैन। Stremio पुन: सुरु गर्ने वा पुन: स्थापना गर्ने बारे विचार गर्नुहोस्।","SEARCH":"खोज","SEARCH_NO_RESULTS":"कुनै परिणाम फेला परेन","SEARCH_EXPLANATION_CONTENT":"चलचित्र, शृङ्खला, युट्युब र टिभी च्यानलहरू खोज्नुहोस्","SEARCH_EXPLANATION_PEOPLE":"अभिनेता, निर्देशक र लेखकहरूको खोजी गर्नुहोस्","SEARCH_PASTE_LINKS":"HTTP र म्याग्नेट लिङ्कहरू टाँस्नुहोस्","SEARCH_OR_PASTE_LINK":"लिंक खोज्नुहोस् वा टाँस्नुहोस्","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"लाइब्रेरीमा थप्नुहोस्","REMOVE_FROM_LIB":"लाइब्रेरीबाट हटाउनुहोस्","ADDED_TO_LIB":"लाइब्रेरीमा थपियो","REMOVED_FROM_LIB":"लाइब्रेरीबाट हटाइयो","TRAILER":"ट्रेलर","WATCH_TRAILER":"ट्रेलर हेर्नुहोस्","WATCH_NOW":"अहिले हेर्नुहोस्","SHOW":"देखाउनुहोस्","SHOW_MOVIE":"चलचित्र देखाउनुहोस्","WATCH_RANDOM":"जथाभावी हेर्नुहोस्","IMDB_RATING":"IMDb रेटिंग","YEAR":"वर्ष","DIRECTOR":"निर्देशक","WRITER":"लेखक","LEAD_ACTORS":"मुख्य कलाकार","CAST":"कलाकारहरू","CREW":"क्रू","SHOW_MORE_CAST":"थप देखाउनुहोस् »","AIRED":"प्रसारित","SEASONS":"सिजनहरू","GENRE":"विधा","GENRE_ALL":"सबै विधाहरू","CATALOG":"क्याटलग","SUMMARY":"सारांश","SHOW_MORE":"थप देखाउनुहोस्","SIMILAR":"समान","UPCOMING":"आगामी","ENDED":"समाप्त","DURATION":"अवधि","FEATURED":"विशेष","METADATA":"मेटाडेटा","CATEGORY":"वर्ग","LINKS_GENRES":"विधाहरू","LINKS_CAST":"कलाकार","LINKS_DIRECTORS":"निर्देशकहरू","SEARCH_VIDEOS":"भिडियोहरू खोज्नुहोस्","SEARCH_PLACEHOLDER":"लिंक खोज्नुहोस् वा टाँस्नुहोस्","ADDON":"एडोन","ADDONS":"एडोनहरू","OFFICIAL":"आधिकारिक","ADDONS_OFFICIAL":"आधिकारिक Stremio एडोनहरू","ADDONS_POPULAR":"तपाईंको क्षेत्रमा लोकप्रिय","ADDON_FREE":"नि:शुल्क","ADDON_PEERED":"पियर गरिएको","ADDON_SUBSCRIPTION":"सदस्यता","ADDON_STREAM_GEORESTRICTED":"तपाईंको क्षेत्रमा उपलब्ध छैन","ADDON_STREAM_OFFLINECACHE":"अफलाइन क्यास","ADDON_STREAM_LOCALFILE":"स्थानीय फाइल","SHARE_ADDON":"शेयर एडोन","AVAILABLE_STREAMS":"उपलब्ध स्ट्रिमहरू","NO_STREAM":"कुनै स्ट्रिमहरू फेला परेन","ALL_ADDONS":"सबै","INSTALL_MORE_ADDONS":"थप स्ट्रिमहरूको लागि, कृपया थप एडोनहरू इन्स्टल गर्नुहोस्","STREAM_NOT_SUPPORTED":"चयन गरिएको स्ट्रिम यो प्लेटफर्ममा समर्थित छैन","ADDON_CATALOGUE":"सबै एडोनहरू देखाउनुहोस् »","ADDON_CATALOGUE_MORE":"एडोनहरू इन्स्टल गर्नुहोस्","REPO_ADDED":"रेपोजिटोरी थपियो","ADDON_REPO_EXIST_ERR":"यस एडोन संग्रह पहिले नै अवस्थित छ","ADDON_REPO_ERR":"Error occurred while adding collection","ADDON_ADD_ERR":"Error occurred while adding addon","ERR_ADDON_PROTECTED":"Cannot uninstall addon, it is protected","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Something went wrong - authentication may have failed","ERR_NOT_COLLECTION_URL":"Not a collection URL","ERR_NOT_ADDON_URL":"Not a valid addon URL","ERR_DETECTFROMURL":"Cannot find addon/collection from this URL","ADDON_DUPLICATE_WARNING":"Warning: duplicated addon","ADDON_COLLECTION_SET_FAILED":"Syncing installed addons to your account failed","SETTINGS_DATA_EXPORT":"Export user data","ADDON_PULL_FAILED":"Syncing installed addons from your account failed","REFRESH_ON_CLICK":"Click to retry","STILL_IN_THEATER":"Movie still in theaters","WATCH_IN_CINEMA":"Watch it in your local cinema","IN_THEATER":"In cinema","GET_TICKETS":"Get tickets","UPCOMING_EPISODE":"Upcoming episode","UPCOMING_EPISODE_MESSAGE":"This episode will be aired on","MISSING_DATE_EPISODE":"Missing episode date","MISSING_DATE_EPISODE_MESSAGE":"This episode might not have aired yet","CHANNEL_NOT_SCRAPED":"This channel is not scraped yet.<br>Please come back in a few minutes.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Add it to your library to get notified once it is available.","GET_NOTIFIED_WHEN_AVAILABLE":"You will get notified once it is available.","WARNING_STREAMING_SERVER":"Warning: local streaming server not found. Streaming from local files, YouTube and BitTorrent will not be available.","WARNING_STREAMING_SERVER_DISMISS":"Dismiss","WARNING_STREAMING_SERVER_LATER":"Later","DECODER_WARNING":"Warning: this video may not be supported by your hardware. Keep in mind, playback may be slow.","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"Oops, Player Error","PLAYER_ERROR_LOOKSLIKE":"It looks like","PLAYER_ORIENTATION":"Player orientation","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Locked","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensor","PLAYER_ORIENTATION_LANDSCAPE":"Player orientation locked at landscape","PLAYER_ORIENTATION_SENSOR":"Player orientation automatic (sensor)","PLAYER_PLAYBACK_SPEED":"Playback Speed","PLAYER_PLAYBACK_ERROR":"Playback error, please try again","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Unknown error","PLAYER_PLAYBACK_ERROR_DEFAULT":"Sorry, this video cannot be played by {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Subtitles Languages","PLAYER_SUBTITLES_VARIANTS":"Subtitles Variants","PLAYER_SUBTITLES_SETTINGS":"Subtitles Settings","PLAYER_SUBTITLES_DISABLED":"Subtitles are disabled","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Vertical Position","PLAYER_SUBTITLES_LOADED":"Subtitles loaded","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Embedded subtitles loaded","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Exclusive subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Subtitles from {{origin}} loaded","PLAYER_PLAY":"Play","PLAYER_PAUSE":"Pause","PLAYER_NEXT_VIDEO":"Next Video","PLAYER_MUTE":"Mute","PLAYER_UNMUTE":"Unmute","PLAYER_OPEN_IN_EXTERNAL":"Open in external player","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Play in {{device}}","PLAYER_LIVE":"Live","PLAYER_NEXT_VIDEO_TITLE":"Coming up next on","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Dismiss","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Watch now","PLAYER_COPY_STREAM_SUCCESS":"Stream link was copied to your clipboard","PLAYER_COPY_STREAM_ERROR":"Failed to copy stream link","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","STREAMING_FROM":"streaming from","CASTING_TO":"Casting to","NETWORK_STATUS":"Network status","STREAM_SPEED":"Stream speed:","STREAM_BUFFERED":"Buffered:","PEERS_INFO":"Peers Information","PEERS_ACTIVE":"Active:","PEERS_CONNECTED":"Connected:","PEERS_WAITING":"Waiting:","TRANSCODING_WARNING":"Warning: transcoding video.","STREAM_LOADING":"loading...","PLAYING_LOCAL":"playing from local file","PLAYING_CACHE":"playing from cache","WRONG_SUBS":"Wrong subtitles?","ERR_SUBS_LOADING_TITLE":"Error loading subtitles","ERR_SUBS_LOADING":"Failed loading subtitles: this could be an issue with the addon you are using, or with your network connection","WARN_FOLLOWING_SUB_ADDONS_FAILED":"The following subtitle addons failed","ERR_CASTING_UPDATE_TITLE":"Could not update casting device info: streaming server might be offline","CHOOSE_DEVICE":"Choose a device to watch on","NO_CAST_DEVICES":"No casting devices available.","NO_SETTINGS":"No settings available.","PHONE_TABLET":"Phone / Tablet","SUBTITLES":"Subtitles","SUBTITLES_CHANGE":"Change subtitles for ","SUBTITLES_CHANGE_NONE":"There are no other subtitles for this language, sorry.","SUBTITLES_CHANGE_ACIVE":"Currently subtitles &#35;{{subtitlesDialog.activeIdx + 1}} are activated. Click \\"Continue\\" to activate subtitles &#35;{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Alternatively,","SUBTITLES_ADJUST_DELAY":"Adjust subtitle delay:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Or use <span>G</span> / <span>H</span> keys while playing to adjust.","SUBTITLES_ADJUST_DELAY_TIP":"TIP: you can use <span>G</span> / <span>H</span> keys while playing to adjust.","SUBTITLES_DELAY":"Subtitles delay:","SUBTITLES_LOADING":"Loading subtitles...","SUBTITLES_UNAVAILABLE":"No external subtitles available","SUBTITLES_DISABLED":"Disabled","EXTERNAL_PLAYER_DISABLED":"Disabled","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Allow Choosing","EXTERNAL_PLAYER_HINT":"Hint: There is a setting to allow always opening with external player","DONT_SHOW_AGAIN":"Don\'t show again","SERVICE_INSTALL":"Install","AUDIO":"Audio","DEFAULT_LANGUAGE":"Default Language","DEFAULT_SECONDARY_LANGUAGE":"Default Secondary Language","SEASON":"Season","EPISODE":"Episode","EPISODE_ABBREVIATION":"EP","SPECIAL":"Special","SORT":"sort","SORT_BY":"Sort by","FILTER":"filter","SORT_TRENDING":"trending","SORT_RECENT":"recent","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"rating","SORT_WATCHED":"watched","SORT_YEAR":"year","SELECT_TYPE":"Select type","SELECT_SORT":"Select sort","SELECT_CATALOG":"Select catalog","SELECT_GENRE":"Select genre","SORT_LASTWATCHED":"By last watched","SORT_NAME":"By name","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"By times watched","SORT_NOTWATCHED":"not watched","New for You":"New for You","New Episodes":"New Episodes","New Videos":"New Videos","Recommendations":"Recommendations","LIBRARY_RESUME":"Resume","LIBRARY_PLAY":"Play","LIBRARY_DETAILS":"Details","LIBRARY_RESUME_DISMISS":"Dismiss","LIBRARY_CLEAR_PROGRESS":"Clear Progress","LIBRARY_REMOVE":"Remove","LIBRARY_NOT_LOGGED_IN":"Library is only available for logged in users","CALENDAR_NOT_LOGGED_IN":"Calendar is only available for logged in users","NOT_LOGGED_IN_CLOUD":"Access your favorite movies and TV shows anytime, anywhere","NOT_LOGGED_IN_RECOMMENDATIONS":"Recommendations tailored to your viewing history","NOT_LOGGED_IN_NOTIFICATIONS":"Never miss an episode again","NOT_LOGGED_IN_CALENDAR":"Schedule your personal watching calendar","DISCOVER_FEATURED":"Featured","DISCOVER_TOP":"Top","DISCOVER_OSCAR":"Oscar Winners","DISCOVER_WARNING_TITLE":"Oops!","DISCOVER_EMPTY_CATALOG":"This addon returned empty content.","DISCOVER_ADULT_WARNING":"The content is visible only for adults. Are you 18+?","DISCOVER_NOADDON_WARNING":"Warning: no Stremio addon active for this type. Showing saved items, nothing here will update.","DISCOVER_LOAD_ERR":"The content did not load, error occured.","DISCOVER_ADDON_UNINSTALLED":"This content is no longer available, you may have un-installed the addon.","UNINSTALL_THIS_ADDON":"Uninstall this addon","ERR_ADDON_NOT_INSTALLED":"This addon is not installed. Install now?","DETAIL_RECEIVE_NOTIF_SERIES":"Receive notifications for new episodes","DETAIL_RECEIVE_NOTIF_VIDEOS":"Receive notifications for new videos","SIDEBAR_SHOW_STREAMS":"Show Streams","RELAUNCH":"Re-launch now!","UPGRADE":"New version is available! Upgrade to the latest Stremio version","RELOAD_UI":"Reload the user interface","MANUAL_UPDATE_TITLE":"Update your Stremio version","MANUAL_UPDATE_LINE1":"You are running an outdated version of Stremio which is highly unrecommended.","MANUAL_UPDATE_LINE2":"Please update as soon as possible.","BUTTON_UPDATE_LATTER":"Not now","BUTTON_UPDATE_NOW":"Update","ANONYMOUS_USER":"Anonymous user","DONT_HAVE_ACC":"Don\'t have an account?","HAVE_ACC":"Already have an account?","PASSWORD":"Password","PASSWORD_CONFIRM":"Confirm password","EMAIL":"E-mail","FB_LOGIN":"Continue with Facebook","FB_NOTHINGSHARED":"Nothing is shared without your permission","FB_NOPOST":"We won’t post anything on your behalf","OR":"or","I_ACCEPT":"I accept the","I_ACCEPT_BY_CLICKING":"By clicking the above button I testify that I accept the ","TOS":"Terms and Conditions","MUST_ACCEPT_TERMS":"You must accept terms","PASSWORDS_NOMATCH":"Passwords don\'t match","SIGN_UP":"Sign up","SIGN_UP_EMAIL":"Sign up with email","CLICK_TO_SIGN_UP":"Click here to sign up.","LOG_IN":"Log in","LOG_OUT":"Log out","EXIT_FULLSCREEN":"Exit fullscreen mode","ENTER_FULLSCREEN":"Enter fullscreen mode","PLAY_URL_MAGNET_LINK":"Play URL/Magnet link","HELP_FEEDBACK":"Help & Feedback","TERMS_OF_SERVICE":"Terms of Service","PRIVACY_POLICY":"Privacy Policy","ABOUT_STREMIO":"About Stremio","USER_PANEL":"User Panel","LOGIN_LABEL":"Login","GUEST_LOGIN":"Guest login","GUEST_LOGIN_NOTICE":"Guest Login is not recommended. Using a regular login allows Stremio to sync your Library, receive notifications for favourite series/channels. Are you sure you want to proceed?","GUEST_LOGIN_NOTICE_2":"Guest Login is not recommended - you won\'t have synced Library and Board notifications, which are vital Stremio features. Are you sure you want to proceed?","CLICK_HERE":"click here","WRONG_PASSWORD":"Wrong email or password. In case you have forgotten your password, ","SET_A_PASS":"set a password","RESET_PASSWORD":"Reset password","FORGOT_PASSWORD":"Forgot password?","EMAIL_USED_WITH_FB":"This email was used with a Facebook login.","INVALID_EMAIL":"Please enter a valid email address","INVALID_PASSWORD":"Please enter a valid password","CONN_ERR":"Connection error - please try again later.\\n\\nIf this persists, disable firewalls/anti-virus software (especially Bitdefender).","IMPORT_FROM_GUEST":"Import Library from your guest account","RECEIVE_UPDATES_EMAIL":"Receive updates to your email from Stremio","LOGIN_FAILED":"Login failed.","SIGNUP_FAILED":"Signup failed.","SEARCH_FAILED":"Search failed","EMAIL_USED":"This email is already in use.","WAITING_FB_LOGIN":"Logging in with Facebook...","EXTERNAL_PLAYER_TITLE":"Play in external player","EXTERNAL_REMEMBER_PLAYER":"Do you want to remember your choice","EXTERNAL_ALWAYS_PLAY":"Yes","EXTERNAL_ONLY_ONCE":"No","BEST_FIT":"Best Fit","FIT_SCREEN":"Fit Screen","FILL":"Fill","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"Tell us about what you like","INTRO_TASTE_LONG":"Tell us about what you\'d like to watch","INTRO_TASTE_PICK":"Pick {{interestsRemaining}} interests","INTRO_TASTE_PICK_MORE":"Pick {{interestsRemaining}} more interests","INTRO_TASTE_HELP_US":"Help us learn more about you.","INTRO_TASTE_CHOOSE_THESE":"Choose some of these:","INTRO_TASTE_CHOOSE_MIN":"Choose at least 3 categories","INTRO_TASTE_CHOOSE_MIN_ERR":"You have to pick at least 3 categories!","INTRO_TASTE_LIFESTYLE":"Lifestyle","INTRO_TASTE_SPORTS":"Sports","INTRO_TASTE_FOOD_HEALTH":"Food & Health","INTRO_TASTE_BEAUTY_FASHION":"Beauty & Fashion","INTRO_TASTE_NEWS":"News","INTRO_TASTE_GAMING":"Gaming","INTRO_TASTE_SCIENCE_EDU":"Science & Education","INTRO_TASTE_MUSIC":"Music","INTRO_TASTE_TRAVEL":"Travel","INTRO_TASTE_LATE_NIGHT":"Late Night Show","INTRO_TASTE_REALITY":"Reality","INTRO_TASTE_COMEDY":"Comedy","INTRO_TASTE_DIY":"How to DIY","INTRO_TASTE_TECH":"Tech","INTRO_TASTE_CINEMA":"Cinema","ADDON_NOT_SUPPORTED":"Selected addon is not supported on this platform.","ADDON_DISCLAIMER":"Using third-party addons will always be subject to your responsibility and the governing law of the jurisdiction you are located.","ADDON_ACTIVATE":"Activate this addon?","ADDON_REPO_ADD":"Addon collection URL","ADDON_ADD":"Add","INSTALL_ADDON":"Install addon","ADD_ADDON":"Add addon","ADD_ADDON_DESCRIPTION":"You can add an addon via an external link, which will appear under Installed addons.","PASTE_ADDON_URL":"Paste addon URL","WHATS_NEW":"What\'s new","BUTTON_CONTINUE":"Continue","BUTTON_ACTIVATE":"Activate","BUTTON_ACTIVATED":"Activated","BUTTON_CANCEL":"Cancel","BUTTON_SUBMIT":"Submit","BUTTON_DISMISS_ALL":"Dismiss All","BUTTON_VIEW_ALL":"view all","BUTTON_SEE_ALL":"See All","BUTTON_COLOR_TRANSPARENT":"Transparent","OPEN_IN_BROWSER":"Open in browser","LIB_EMPTY":"Your library looks empty. Find out how useful it is :) ","HOW_START":"Here is how you can start:","LIB_EMPTY_CAL":"Your Calendar shows series in your Library.","HOW_START_CAL":"Here is how you can add series:","LIB_EMPTY_BOARD":"Board shows notifications &amp; recommendations related to your Library.","HOW_START_BOARD_WAIT":"Please, add a few series or channels to your Library give us a few minutes to process :)","HOW_START_BOARD":"Here is how you can add series &amp; movies to it:","IMPORT_FB":"Import things you like from <span>Facebook</span>","IMPORT_TRAKT":"Import your media library from <span>Trakt</span>","IMPORT_DISCOVER":"Find interesting stuff from <span>Discover</span>","IMPORT_DISK":"Import movies or shows you have on your <span>local disk</span>","PLEASE_CREATE_ACC":"Please <u>create an account</u> to enable Library sync &amp; Board.","IMPORT_DISCOVER_SIGNUP":"Sign up and find interesting stuff from <span>Discover</span>","IMPORT_DISK_SIGNUP":"Sign up and import movies or shows you have on your <span>local disk</span>","LIB_EMPTY_CLOUD":"Cloud library","LIB_EMPTY_CLOUD_DESC":"Personal cloud library synced on all devices","LIB_EMPTY_EARLY":"Early bird","LIB_EMPTY_EARLY_DESC":"Receive notifications for new episodes","LIB_EMPTY_PERSONAL":"Personal","LIB_EMPTY_PERSONAL_DESC":"Get personal recommendations","LIB_EMPTY_CALENDAR_DESC":"Schedule your personal watching calendar","LIB_EMPTY_ALL":"Sign up to get all of these:","LIB_EMPTY_BEST":"Sign up to get best of Stremio","LIB_EMPTY_OTHER":"Sign up to enable Calendar & other cool features","CALENDAR_ADDED":"The Stremio calendar has been added to your default desktop calendar.","CALENDAR_ADDED_MSG":"If this does not work, please add this URL to your calendar application manually","TRAKT_EXPIRED":"Trakt authentication expired, please go to Settings and re-authenticate","TRAKT_REQUIRES_LOGIN":"Trakt error","TRAKT_REQUIRES_LOGIN_MSG":"You need to login","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","SETTINGS_LABEL":"Settings","SETTINGS_NAV_GENERAL":"General","SETTINGS_NAV_PLAYER":"Player","SETTINGS_NAV_STREAMING":"Streaming","SETTINGS_NAV_SHORTCUTS":"Shortcuts","SETTINGS_SHORTCUT_RELOAD_APP":"Reload App","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Open Settings","SETTINGS_SHORTCUT_SWITCH_TABS":"Switch Tabs","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Cycle Through Tabs Forward","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Cycle Through Tabs Backward","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigate Between Menus","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Go to Search","SETTINGS_SHORTCUT_EXIT_BACK":"Exit / Go Back","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Toggle Playback Speed Menu","SETTINGS_SHORTCUT_MENU_VIDEOS":"Toggle Videos Menu","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Toggle Subtitles Menu","SETTINGS_SHORTCUT_MENU_INFO":"Toggle Info Menu","SETTINGS_SHORTCUT_FULLSCREEN":"Toggle Fullscreen","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Show Controls","SETTINGS_SHORTCUT_PLAY_PAUSE":"Play / Pause","SETTINGS_SHORTCUT_VOLUME_UP":"Volume Up","SETTINGS_SHORTCUT_VOLUME_DOWN":"Volume Down","SETTINGS_SHORTCUT_SEEK_NEXT":"Seek Next","SETTINGS_SHORTCUT_SEEK_PREV":"Seek Prev","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Seek Backward","SETTINGS_SHORTCUT_SEEK_FORWARD":"Seek Forward","SETTINGS_SHORTCUT_PLAY_NEXT":"Play Next","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Increase Subtitles Size","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Decrease Subtitles Size","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Increase Subtitles Delay","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Decrease Subtitles Delay","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Toggle Sidebar","SETTINGS_SHORTCUT_OR":"or","SETTINGS_SHORTCUT_TO":"to","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Authenticate","SETTINGS_FACEBOOK_IMPORT":"Import","SETTINGS_CALENDAR_SUBSCRIBE":"Subscribe","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Interface Language","SETTINGS_LAUNCH_STARTUP":"Launch on start-up","SETTINGS_VLC_DEFAULT":"Play with VLC","SETTINGS_UI_LANGUAGE":"UI Language","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Escape key exit full screen","SETTINGS_GAMEPAD":"Enable gamepad support","SETTINGS_CLOSE_WINDOW":"Close app when window is closed","SETTINGS_SUBTITLES_LANGUAGE":"Default Subtitles Language","SETTINGS_SUBTITLES_SIZE":"Default Subtitles Size","SETTINGS_SUBTITLES_BACKGROUND":"Subtitles background","SETTINGS_SUBTITLES_COLOR":"Subtitles color","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Subtitles outline color","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Subtitles background color","SETTINGS_SEEK_KEY":"Arrow keys seek time","SETTINGS_SEEK_KEY_SHIFT":"Arrow keys seek time when Shift key is held","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Rewind & Fast-forward duration","SETTINGS_BINGE":"Auto-play next episode","SETTINGS_NEXT_VIDEO":"Show notification to start next episode","SETTINGS_NEXT_VIDEO_TRIGGER":"Show next episode notification for:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Next video popup duration","SETTINGS_PLAY_IN_BACKGROUND":"Play in background","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Play in external player","SETTINGS_RESIZE":"Auto-resize window before playing","SETTINGS_OVERRIDE_SERVER":"Override the streaming server URL (advanced)","SETTINGS_SERVER_URL":"Streaming server URL: ","SETTINGS_SERVER_AVAILABLE":"Streaming server is available.","SETTINGS_SERVER_UNAVAILABLE":"Streaming server is not available.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Error","SETTINGS_SERVER_CONFIGURE_TITLE":"Configure streaming server url","SETTINGS_SERVER_CONFIGURE_INPUT":"Enter a streaming server url","SETTINGS_SERVER_CACHE_SIZE":"Cache size","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent profile","SETTINGS_HTTPS_ENDPOINT":"Streaming HTTPS endpoint: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Always use latest Beta","SETTINGS_IMPORT_FB":"Import from Facebook","SETTINGS_IMPORT_DISK":"Import from local disk","SETTINGS_IMPORT_TRAKT":"Import from Trakt","SETTINGS_PAUSE_MINIMIZED":"Pause playback when minimized","SETTINGS_HWDEC":"Hardware-accelerated decoding","SETTINGS_BACKGROUND":"Background playback","SETTINGS_SUBSCRIBE_CALENDAR":"Subscribe to calendar","SETTINGS_REQ_EXPORT":"Request data export","SETTINGS_ACC_DELETE":"Request account deletion","SETTINGS_CHANGE_PASSWORD":"Change password","SETTINGS_TOS":"Terms of service","SETTINGS_SUPPORT":"Contact support","SETTING_LANGUAGE":"Language","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_LOGOUT":"Log out of Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Log Out of Trakt","SETTINGS_SCAN_FOR_REMOTE":"Scan QR code to open remote","SETTINGS_DESKTOP_NOTIFICATIONS":"Desktop notifications","SETTINGS_DATA_SAVER":"Data saver","SETTINGS_LANGUAGE_INTERFACE":"interface","SETTINGS_LANGUAGE_SUBS":"default subtitles","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Autoselect Audio Track","SETTINGS_DEFAULT_AUDIO_TRACK":"Default Audio Track","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"account","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"Version","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"Launch player in a separate window (advanced)","SETTINGS_PLAY_IN_EXTERNAL":"Always start video in external player","SETTINGS_STORAGE_BUTTON":"Clear Local Storage","SETTINGS_STORAGE_MODAL_TITLE":"Are you sure ?","SETTINGS_STORAGE_MODAL_MESSAGE":"This will clear the local storage and log you out.","SETTINGS_HWDEC_PICKER":"Pick hardware-accelerated decoding setting","SETTINGS_HW_AUTOMATIC":"Automatic","SETTINGS_HW_DISABLED":"Disabled","SETTINGS_HW_ACCELERATED":"Decoding acceleration","SETTINGS_HW_FULL":"Full acceleration","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Subtitles","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Controls","SETTINGS_SECTION_AUTO_PLAY":"Auto-Play","SETTINGS_SECTION_ADVANCED":"Advanced","SUBSPICKER_AUDIO":"Audio","SUBSPICKER_SUBTITLES":"Addons Subtitles","SUBSPICKER_BLACK_BACKGROUND":"Use black background color","SUBSPICKER_VERTICAL_OFFSET":"Vertical Offset","SUBSPICKER_SIZE":"Size","SUBSPICKER_DELAY":"Delay","SUBSPICKER_EMBEDDED_SUBS":"Embedded Subtitles","MOBILE_PRIVACY_POLICY":"Privacy Policy","MOBILE_CRASH_REPORTING":"Crash Reporting","MOBILE_ZOOM_TO_FILL":"Zoom To Fill Screen","MOBILE_PASSTHROUGH":"Digital audio output (passthrough)","MOBILE_RUN_LOW_BATTERY":"Run on low battery","MOBILE_RUN_FOREGROUND":"Run as Foreground Service","MOBILE_PERFORMANCE":"PERFORMANCE & STABILITY","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"QR Code expires in ","MOBILE_LOG_INTO":"Log in to your Stremio account ","MOBILE_SCAN_QR":"Scan QR code above or go to ","MOBILE_LINK_ACCOUNT":"Link Account","MOBILE_SPEEDPICKER_CANCEL":"Cancel","MOBILE_SPEEDPICKER_LABEL":"Select Playback Speed","MOBILE_EMPTY_LIBRARY":"Your library is empty","MOBILE_NO_ADDON_ACTIVE":"No Stremio addon active for this type.","MOBILE_ORGANIZER_WARNING":"The Stremio Organizer app provides limited functionality. For a list of playable streams and the full Stremio experience, use Stremio on desktop.","MOBILE_ADDON_LOADING":"is still loading","MOBILE_ADDONS_LOADING":"addons are still loading","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Configure your addon","MOBILE_CONFIGURE_ADDON_LABEL":"Configure Addon","MOBILE_ORGANIZER_ADDONS_WARNING":"The Stremio Organizer app provides a limited selection of addons. For the full Stremio experience, use Stremio on desktop.","MOBILE_DISCONNECT":"Disconnect","MOBILE_LOOKING_FOR_DEVICES":"Looking for devices...","MOBILE_CAST_TO":"Cast to","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Delete Account","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Account deletion is not instant due to legal obligations. After requesting deletion of your account you will have to use different email address/facebook profile to create a new Stremio account in the future.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirm Account Deletion","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Your account has been created using Facebook. To delete your account, please use our user portal at www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Please provide your password to confirm account deletion.","MOBILE_DELETE_ACCOUNT_BUTTON":"Delete Account","NAVIGATION_ON":"On","NAVIGATION_OFF":"Off","MARKETING_AGREE":"I agree to receive marketing communications from Stremio","QUIT":"Quit","CONNECTED":"Connected","AUTHENTICATE":"Authenticate","CACHING":"Caching","SETTINGS_CACHING_DRIVE":"Caching drive","ENABLE_LOCAL_FILES_ADDON":"Enable the local files addon (requires restart)","LOCAL_ADDON_NOT_ENABLED":"Local addon is not enabled. Click here to go to the settings and enable it","ENABLE_REMOTE_HTTPS_CONN":"Enable remote HTTPS connections","TORRENT_PROFILE":"Torrent Profile","DATA_CACHING":"Data Caching","MAGNET_PARSING":"Parsing a magnet link","January":"January","February":"February","March":"March","April":"April","May":"May","June":"June","July":"July","August":"August","September":"September","October":"October","November":"November","December":"December","Monday":"Monday","Tuesday":"Tuesday","Wednesday":"Wednesday","Thursday":"Thursday","Friday":"Friday","Saturday":"Saturday","Sunday":"Sunday","Action":"Action","Comedy":"Comedy","War":"War","Family":"Family","Animation":"Animation","Adventure":"Adventure","Fantasy":"Fantasy","Crime":"Crime","Mystery":"Mystery","Romance":"Romance","Drama":"Drama","Horror":"Horror","Thriller":"Thriller","Sci-Fi":"Sci-Fi","Music":"Music","Biography":"Biography","Documentary":"Documentary","Sport":"Sport","Musical":"Musical","Western":"Western","Film-Noir":"Film-Noir","News":"News","History":"History","Game-Show":"Game-Show","Reality-TV":"Reality-TV","Talk-Show":"Talk-Show","Film & Entertainment":"Film & Entertainment","Gaming":"Gaming","From TV":"From TV","Lifestyle":"Lifestyle","Science & Education":"Science & Education","Cooking & Health":"Cooking & Health","Beauty & Fashion":"Beauty & Fashion","Sports":"Sports","News & Politics":"News & Politics","How-to & DIY":"How-to & DIY","Tech":"Tech","Automotive":"Automotive","Causes & Non-Profits":"Causes & Non-Profits","Movies":"Movies","Uk Live Tv":"Uk Live Tv","Fashion":"Fashion","Business News Radio":"Business News Radio","Business Tv":"Business Tv","Cars & Auto":"Cars & Auto","Comedy Radio":"Comedy Radio","Lifestyle Radio":"Lifestyle Radio","News Tv":"News Tv","Food And Wine":"Food And Wine","Latino Tv":"Latino Tv","Shopping Tv":"Shopping Tv","Religion":"Religion","Kids":"Kids","Body & Soul":"Body & Soul","Education":"Education","Indian Tv":"Indian Tv","Extreme Sports":"Extreme Sports","Middle Eastern Tv":"Middle Eastern Tv","Celebrity Tv":"Celebrity Tv","Science Tv":"Science Tv","Bikini babe":"Bikini babe","Outdoors":"Outdoors","German Tv":"German Tv","French Tv":"French Tv","Italian Tv":"Italian Tv","Gamer Tv":"Gamer Tv","Travel":"Travel","Asian Tv":"Asian Tv","Entertainment":"Entertainment","News Radio":"News Radio","Music Radio":"Music Radio","Language Learning":"Language Learning","Science Radio":"Science Radio","Tech Radio":"Tech Radio","Science & Technology Vod":"Science & Technology Vod","new video":"new video","new episode":"new episode","new movie":"new movie","recommended":"recommended","we recommend":"we recommend","offer of the day":"offer of the day","news":"news","music video":"music video","CTX_SHOW_HOTKEYS":"Show hotkeys","CTX_DISMISS_NOTIF":"Dismiss notifications","CTX_DISMISS_ALL":"Dismiss all","CTX_SHARE":"Share","CTX_COPY_SHARE_LINK":"Copy share link","CTX_COPY_MAGNET_LINK":"Copy magnet link","CTX_COPY_STREAM_LINK":"Copy stream link","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Download this video","CTX_DOWNLOAD_SUBS":"Download subtitles","CTX_VIEW_ON_YOUTUBE":"View on YouTube","CTX_SHOW":"Show","CTX_PLAY":"Play","CTX_PLAY_IN":"Play in","CTX_PLAY_ON":"Play on","CTX_WATCH_ON":"Watch on","CTX_WATCH":"Watch","CTX_WATCHED":"Watched","CTX_WATCH_BEGINNING":"Watch from the beginning","CTX_WATCH_MOBILE":"Watch on a mobile device","CTX_REWIND":"Rewind to beginning","CTX_MARK_WATCHED":"Mark as watched","CTX_MARK_NON_WATCHED":"Mark as non-watched","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"Mark rest as watched","CTX_UNMARK_REST":"Mark rest as non-watched","CTX_RECEIVE_NEW_NOTIF":"Receive new notifications","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"Remove from cache","CTX_REMOVE_CACHE_EP":"Remove episode from cache","CTX_OPEN_CONTAINING":"Open containing folder","CTX_REMOVE":"Remove from library","CTX_AVAILABLE_OFFLINE":"Available Offline","CTX_PAUSED":"Paused","CTX_ALWAYS_ON_TOP":"Always on top","CTX_FULLSCREEN":"Fullscreen","CTX_WRONG_SUBS":"Wrong subtitles?","CTX_REPORT_ISSUES":"Report issue","CTX_COPY":"Copy","CTX_PASTE":"Paste","CTX_CLEAR":"Clear","CTX_CLEAR_RECENT_SEARCHES":"Clear recent searches","HELLO_THERE":"Hello There","HOPE_YOU_ENJOY":"We hope you enjoy Stremio and it\'s one of your favourite apps already!","WHO_ARE_WE":"Who are we? We are the team behind it - two guys who work hard every day for the last 3 years to make this product better and better.","SUPPORT_US":"If you enjoy using Stremio, if Stremio is valuable for you - spread the word!","SPREAD_THE_WORD":"Share with your friends now, spread the word about Stremio","MORE_PEOPLE":"The more people use Stremio, the better it will get!","SEND_A_LINK":"Or send a link to our website","TIP_LOCALFILES":"Tip: you can drag & drop local video files into Stremio","ADDON_MY":"My Addons","ADDON_COMMUNITY":"Community Addons","ADDON_OFFICIAL":"Official Addons","ADDON_REPOS":"Addon collections","ADDON_SEARCH":"Search addons","ADDON_INSTALL":"Install","ADDON_CONFIGURE":"Configure","ADDON_UNINSTALL":"Uninstall","ADDON_UPGRADE":"Upgrade","ADDON_INSTALLED":"Installed","ADDON_INSTALLED_MSG":"Addon installed!","ADDON_UPGRADED_MSG":"Addon upgraded!","ADDON_UNKNOWN":"Unknown","ADDON_ERR":"Addon install error!","ADDON_DISCONNECTED":"Disconnected","ADDON_APP_MISSING":"the app for this source is not installed. Do you want to install it now?","ADDON_APP_INSTALL":"Install Now","ADDON_PAGE":"Addon Page","ADDON_TOP_CONTENT":"Best from this Addon","ADDON_PROVIDES":"This addon will give you:","ADDON_WATCH":"Watch #{types} now!","ADDON_WATCH_FREE":"Watch #{types} for FREE now!","ADDON_ADDON":"Addon","ADDON_SUPPORTED_TYPES":"Supported types","ADDON_SUPPORTED_CATALOGS":"Supported catalogs","ADDON_PROVIDES_DISCOVER":"More #{types} in Discover","ADDON_PROVIDES_STREAMS":"Watch #{types}","ADDON_PROVIDES_STREAMS_FREE":"Watch #{types} for FREE","ADDON_PROVIDES_SUBTITLES":"Subtitles for #{types}","ADDON_CANTDETECT":"We couldn\'t detect a running Stremio, so we couldn\'t detect what addons you have installed.","ERR_NO_META":"No information found about this ","ERR_GETTING_META":"Error retrieving information about this.","ERR_CANT_PARSE_MAGNET":"Unable to parse magnet","ERR_NO_MAGNET_INFOHASH":"No valid info hash for magnet","ERR_NO_FILE_PATH":"Unable to send request without a path to file","ERR_NO_TORRENT":"No torrent returned","ERR_NO_SUPPORTERD_FILES":"No supported files found","ERR_OPENING_FILES":"Could not open external files","ERR_INVALID_LINK":"Invalid link","ERR_REGISTERED_ONLY":"This option is available for registred users only.","ERR_CLIPBOARD":"Can not play from clipboard","ERR_CLIPBOARD_READ":"Can not read the clipboard on this platform","ERR_CLIPBOARD_GENERIC":"No playable URL found in the clipboard. Please copy a URL (e.g. a magnet link) to a video.","BOARD_CONTINUE_WATCHING":"Continue watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Movies picked specially for you.<br />This movie is a sample recommendation.","BOARD_EXPLANATION_EPISODES":"New episodes of your favorite Series come here.<br />Add series you follow to your Library.","BOARD_EXPLANATION_VIDEOS":"New episodes of your favorite Channels come here.<br />Add YouTube channels you follow to your Library.","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE":"Contribute","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"Learn more","WEBSITE_COMPANY":"Company","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Need Help?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"Watch Instantly","WEBSITE_SLOGAN_ALL":"All the Video Content You Enjoy in One Place","WEBSITE_SLOGAN_NEW":"All You Can Watch","WEBSITE_SLOGAN_NEW_NEW":"Freedom to Stream","WEBSITE_WATCH_FROM":"Watch from","WEBSITE_DOWNLOAD":"Download Now","WEBSITE_DOWNLOAD_FOR":"Download Now For","WEBSITE_IS_DESKTOP":"Stremio is a desktop application, open this page on your PC and download it","WEBSITE_DESKTOP_DEMO_VID":"Desktop demo","WEBSITE_PAGE_HOME":"Home","WEBSITE_PAGE_FEATURES":"Features","WEBSITE_PAGE_ADDONS":"Addons","WEBSITE_PAGE_TECH":"Technology","WEBSITE_PAGE_CREATE_ADDON":"Create Addon","WEBSITE_PAGE_CONTACTS":"Contacts","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Movies","WEBSITE_TYPE_series_PL":"Series","WEBSITE_TYPE_tv":"Live TV","WEBSITE_TYPE_channel":"Channels","WEBSITE_STREMIO_WHAT_IS":"Stremio is an app that helps you organize and instantly watch your favorite videos, movies, TV series and TV channels.","WEBSITE_FEATURES_WATCH":"Watch Instantly in HD","WEBSITE_FEATURES_WATCH_DETAIL":"Click and play your favourite movies, TV Shows, videos and TV channels.","WEBSITE_FEATURES_SUBS":"Automatic Subtitles","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio automatically picks synced subtitles for your language.","WEBSITE_FEATURES_SUBS_LABEL":"Your move, chief.","WEBSITE_FEATURES_CAST":"Play on TV & mobile devices","WEBSITE_FEATURES_CAST_DETAIL":"Cast to AppleTV, Chromecast, Smart TV (DLNA/UPnP) and mobile devices.","WEBSITE_LIB":"Enjoy Your Personal Library Synced on All Your Devices","WEBSITE_LIB_COLLECT":"Collect from Stremio","WEBSITE_LIB_IMPORT":"Import from Facebook","WEBSITE_LIB_LOCAL":"Add from your local drive","WEBSITE_BOARD":"The Board - Your one-stop place for Notifications and Recommendations","WEBSITE_BOARD_RECOMMEND":"Recommended TV Show","WEBSITE_BOARD_TRENDING":"Trending Movie","WEBSITE_BOARD_NEW":"New Video","WEBSITE_BOARD_EPISODE":"New Episode","WEBSITE_BOARD_1":"Looking for something interesting to watch? Get recommendations based on your taste!","WEBSITE_BOARD_2":"Get notified when a new episode of your favourite TV show or YouTube channel is out!","WEBSITE_BOARD_YOUTUBE":"New videos of YouTube channels","WEBSITE_BOARD_EPISODES":"New episodes of series you follow","WEBSITE_ADDONS":"Content Addons","WEBSITE_TECH_DETAIL":"We love technology, we love mad science!\\nStremio is using the following open source technologies:","WEBSITE_TECH_WCJS":"WebChimera.js allows Stremio to play any video format with good performance.","WEBSITE_TECH_WCJS_EXTRA":"We are core project contributors","WEBSITE_TECH_ELECTRON":"Electron provides an innovative platform to build Stremio with.","WEBSITE_TECH_ELECTRON_EXTRA":"We are project contributors","WEBSITE_TECH_LINVODB":"A database technology that ensures your data is organized and available anywhere you login.","WEBSITE_TECH_LINVODB_EXTRA":"In-house technology","WEBSITE_CREATE_ADDON":"Create your addon","WEBSITE_CREATE_ADDON_DETAIL":"Do you have a service providing video content? We\'ll help you benefit from Stremio\'s features by creating your Addon.","WEBSITE_CREATE_ADDON_BENEFITS":"Benefits of Creating an Addon for Stremio","WEBSITE_P2P_BEAUTY":"The Beauty of Peer-to-Peer Streaming","WEBSITE_P2P_1":"Reliable and affordable full HD / 4K video on demand or live streaming","WEBSITE_P2P_2":"Distribution platform providing great user experience","WEBSITE_P2P_3":"We will create an addon meeting your exact needs","WEBSITE_P2P_CONTACT":"Interested? You are welcome to <a href=\'mailto:office@stremio.com\'>contact us</a>.","WEBSITE_P2P_CONTACT_EXTRA":"We will be happy to help you integrate your content with Stremio!","WEBSITE_P2P":"Once in a while, there comes a technology that changes the name of the game. We invested tons of time and effort in building our Peer-to-Peer (P2P) video streaming engine that provides great performance and versatility to adapt with any use case.\\nContact us for DRM-enabled P2P video on demand or live streaming.","WEBSITE_THOUGHTS":"Thoughts we share:","WEBSITE_SPREAD":"Spread the word about Stremio:","WEBSITE_CONTACT":"Contact us, we\'ll be happy to hear from you!","WEBSITE_OPENSOURCE":"For our open source projects, go to our","WEBSITE_BITCOIN":"Donate bitcoin:","WEBSITE_FAQ":"Frequently asked questions","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Questions","WEBSITE_TOS":"Terms of use","WEBSITE_LEGAL":"Legal","WEBSITE_PAGE_ABOUT":"About","WEBSITE_PAGE_BECOME_PARTNER":"Become a partner","WEBSITE_ALL_YOU_CAN_WATCH":"Freedom To Watch\\nEverything You Want.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"What is stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio is a one-stop hub for video content aggregation. Discover, organize and watch video from all kind of sources on any device that you own.","WEBSITE_WHAT_IS_STREMIO_P2":"Movies, TV shows, series, live television or web channels like YouTube and Twitch.tv - you can find all this on Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio is a modern media center that\'s a one-stop solution for your video entertainment. You discover, watch and organize video content from easy to install addons.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Movies, TV shows, live TV or web channels - find all this on Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Enjoy on all your Media devices","WEBSITE_DEVICES_COLLECT":"Collect from Stremio","WEBSITE_DEVICES_IMPORT_FB":"Import from facebook","WEBSITE_DEVICES_LOCAL":"Add from local drive","WEBSITE_JOIN_THE_PARTY_NOW":"Join the party now","WEBSITE_DEVICES_ALL":"Easy to use on all your devices;","WEBSITE_EXTENDABLE_CATALOG":"Infinitelly extendable video catalog;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Great features to organize your media;","WEBSITE_AS_SEEN_ON":"As seen on","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"About us","WEBSITE_LINK_TECHNOLOGY":"Technology","WEBSITE_LINK_APPS":"Apps","WEBSITE_LINK_DOWNLOADS":"Downloads","WEBSITE_MORE":"More","WEBSITE_LINK_ADDONS":"Addons","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Contribute","WEBSITE_LINK_COMMUNITY":"Community","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... & More","WEBSITE_LINK_HELP":"Help center","WEBSITE_LINK_CONTACTS":"Business inquiries","WEBSITE_LINK_TOS":"Terms & conditions","WEBSITE_LINK_PRAVACY":"Privacy policy","WEBSITE_SUBSCRIBE":"Subscribe","WEBSITE_NEWSLETTER":"Join Our Newsletter for amazing stuff","WEBSITE_PLACEHOLDER_EMAIL":"Your Email","WEBSITE_COMMUNITY":"Community","WEBSITE_LINK_PRAVACY_LEGAL":"Privacy & legal","WEBSITE_WHY":"Why we do it","WEBSITE_WHY_P1":"At Stremio, we come to work every day because we want to solve an important problem for the video-on-demand industry. There’s so much new content published every minute that it’s virtually impossible to find your way around it.","WEBSITE_WHY_P2":"We help people navigate that huge world of video entertainment and discover new content to enjoy. Our apps bring together movies, series, live TV, web channels, and more. We are dedicated to making it incredibly easy for users to find titles and broadcasters that they love.","WEBSITE_WHY_P3":"You can use our service on any device and at any time, making Stremio the only video entertainment hub you’ll ever need.","WEBSITE_TEAM":"TEAM","WEBSITE_TEAM_P":"The Stremio team is small but powerful: between the ten of us, we code in X languages, and share expertise in software development, UI and UX design, marketing and advertising, and business and startups.","WEBSITE_FEATURES":"Features","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Discover new content with ease","WEBSITE_FEATURES_DISCOVER_P":"Easily discover new movies, TV shows, series and channels to watch. Browse by category, genre, rating, recency, etc. or simply type a name to find. Stremio makes finding new video content a piece of cake.","WEBSITE_FEATURES_ALL_CONTENT":"All of your video content on one screen","WEBSITE_FEATURES_ALL_CONTENT_P1":"See what movies, series or videos you didn’t finish and continue watching them; get notified for new episodes and releases; and browse through the recommendations you will get based on your viewing habits.","WEBSITE_FEATURES_LIBRARY":"Organize your video library","WEBSITE_FEATURES_LIBRARY_P1":"Add any title to your Stremio library with a single click and find your way around your content, neatly arranged by type, recency, or alphabetical order.","WEBSITE_FEATURES_CALENDAR":"Keep track of everything you watch","WEBSITE_FEATURES_CALENDAR_P1":"Get a calendar visualization of all the movies and series you add to your library. Export your Stremio calendar and sync it so you always know when a new episode or a premier is due.","WEBSITE_FEATURES_BIG_SCREEN":"Enjoy your video content on a bigger screen","WEBSITE_FEATURES_BIG_SCREEN_P1":"Cast whatever you are watching to another device - be it a phone, tablet or a TV with a single click.","WEBSITE_FEATURES_SOURCES":"Watch video from many different sources","WEBSITE_FEATURES_SOURCES_P":"Install official and community addons to enjoy video sourced from many different providers - all in one sleek, easy to use app.","WEBSITE_CREATE_AN_ADDON":"Create an addon","WEBSITE_FEATURES_SYNC":"Sync your library across different devices and resume your playback","WEBSITE_FEATURES_SYNC_P1":"Login with your account across all your devices and enjoy your library, addons, playback and calendar synchronized.","WEBSITE_FEATURES_EXTENDABLE":"Extendable video catalog by addons","WEBSITE_FEATURES_EXTENDABLE_P1":"The Stremio addon catalog provides a number of addons to install and watch a variety of video content from. This includes movies, shows, live TV, sport, news, podcasts, web channels, video games and more.","WEBSITE_FEATURES_AUTO_SUBS":"Automatic subtitles","WEBSITE_FEATURES_AUTO_SUBS_P1":"With our subtitle addons you get automatically selected options for your preferred language.","WEBSITE_FEATURES_CHROMECAST":"Casting to Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Enjoy your video content on a bigger screen or just cast whatever you are watching to another device.","WEBSITE_FEATURES_KEEP_TRACK":"Keep track of your favorite TV shows and Web channels","WEBSITE_FEATURES_KEEP_TRACK_P1":"Get a calendar visualization and notifications for new episodes of your favorite series and web channels.","WEBSITE_FEATURES_POWER_USER":"Power user features","WEBSITE_FEATURES_POWER_USER_P1":"Play in external player","WEBSITE_FEATURES_POWER_USER_P2":"Play from a torrent file or magnet link","WEBSITE_FEATURES_POWER_USER_P3":"Import to your library from Facebook likes or local disk","WEBSITE_ADD_ONS":"Addons","WEBSITE_ADD_ONS_P1":"All of the video content Stremio provides get sourced through an addon system - no content or content provider has been built into the app.","WEBSITE_ADD_ONS_P2":"There are two groups of addons available: official and community addons.","WEBSITE_ADD_ONS_P3":"The official ones are developed and hosted by Stremio, whereas community addons are created by our community members, who also host them.","WEBSITE_ADDONS_OFFICIAL":"Official addons","WEBSITE_ADDONS_WATCHUB":"Stream your favourite movies, series and shows from providers like iTunes, Hulu, Amazon and other UK/US services.","WEBSITE_ADDONS_YOUTUBE":"Watch your favourite YouTube channels ad-free and get notifications for new uploads from the contributors you follow.","WEBSITE_ADDONS_FILMON":"Watch live TV, movies and social television for free. 600 TV channels, 45,000 free movies, documentaries and more.","WEBSITE_ADDONS_OPENSUBTITLES":"Movie and TV subtitles in multiple languages, thousands of translated subtitles uploaded every day.","WEBSITE_ADDONS_COMMUNITY":"Community addons","WEBSITE_ADDONS_FILMON_VOD":"Watch video on demand from Filmon.tv","WEBSITE_ADDONS_TWICH":"Watch live streams from Twitch.tv - a video streaming platform for the e-sports industry.","WEBSITE_ADDONS_VODO":"Watch indie movies absolutely free of charge.","WEBSITE_ADDONS_NETFLIX":"Watch Netflix movies and web series.","WEBSITE_ADDONS_CREATE":"Create an addon","WEBSITE_ADDONS_CREATE_P1":"If you wish, you can develop your own addon. This way, you can give yourself and our community access to new video content, and reach a new, targeted audience of millions of users around the world.","WEBSITE_ADDONS_START_CREATE":"To get started, visit the Stremio Addon SDK page:","WEBSITE_DOWNLOADS":"Downloads","WEBSITE_DOWNLOADS_P1":"For optimal performance, we recommend that you use the latest available version of the Stremio apps. If for some reason, however, you would like to use an older version, you can download it here.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio for Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio for macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio for Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio for Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio for iOS (limited version)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"The Stremio platform is open source and you can easily create an addon for content that is currently not sourced.","WEBSITE_CONTRIBUTE_WHY":"Why should you create an addon?","WEBSITE_CONTRIBUTE_WHY_P1":"Reach new audience for your video content","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio’s user base is growing rapidly - within the first year of the launch, Stremio had gained 1 million users around the world, and in the second year of the platform’s existence this number grew to 2.5 million.","WEBSITE_CONTRIBUTE_WHY_P3":"With your addon, you can easily reach this audience and distribute your video content to them.","WEBSITE_CONTRIBUTE_ALL":"Watch your favourite movies, videos, series and channels in one single place.","WEBSITE_CONTRIBUTE_ALL_P1":"You’re a fan of a particular type of content not available on Stremio yet? Create an addon for it and enjoy watching your favourite videos in one of the largest and easiest to use entertainment hubs on the market.","WEBSITE_CONTRIBUTE_ALL_P2":"On top of that, you’ll get the endless gratitude of other like-minded Stremio community members.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetize your addon and earn money with its help","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Once you develop a new addon for Stremio, you can easily monetize it through a number of different ways. If you are considering this, feel free to get in touch with us at ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - we would be happy to consult and advise you about addon monetization options.","WEBSITE_CONTRIBUTE_TRANSLATE":"Become a volunteer translator","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"If you want to enjoy the Stremio apps in different languages, you can join our community of volunteer translators. They help us add versions of the Stremio in many different languages.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Are you eager to get started?","WEBSITE_TRANSALTE_STREMIO":"Translate Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Official communities","WEBSITE_COMMUNITY_OFFICIALS_P1":"Become a part of the growing Stremio community. Follow us on social media and don’t be shy to say hello - we love hearing from our fans! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Unofficial communities","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partners and supporters","WEBSITE_COMMUNITY_GOODIES":"Stremio goodies","WEBSITE_COMMUNITY_WALLPAPERS":"Wallpapers","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"Contact us","WEBSITE_CONTACT_US_P1":"If you have any questions, comments or suggestions, feel free to get in touch with us through the contact form below.","WEBSITE_CONTACT_US_P2":"Keep in mind that we are located in Bulgaria so there may be a delay in addressing your query due to time zone differences.","WEBSITE_CONTACT_US_SUCCESS":"Your message has been sent. We will get back to you at our earliest convenience.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Please enter a valid email!","WEBSITE_CONTACT_US_Q_RELATED_TO":"What is your question related to?","WEBSITE_CONTACT_US_Q_OS":"What is your Operation System?","WEBSITE_CONTACT_US_PH_EMAIL":"Your E-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Message","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"SEND","WEBSITE_CONTACT_US_Q_1":"How to install?","WEBSITE_CONTACT_US_Q_2":"How to uninstall?","WEBSITE_CONTACT_US_Q_3":"(HTML) How to make lasagna?","WEBSITE_CONTACT_US_Q_4":"Addons","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Technology","WEBSITE_TECHNOLOGY_P1":"We love technology and mad science. </br> Here is what powers Stremio (it’s all open-source).","WEBSITE_TECHNOLOGY_P_QT":"Cross-platform software development at its best.","WEBSITE_TECHNOLOGY_P_MPV":"A free, open source, and cross-platform media player.","WEBSITE_TECHNOLOGY_P_RN":"React Native lets you build mobile apps using only JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework embedded into application to get multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm is a mobile platform and a replacement for SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js is an open-source, cross-platform, JavaScript runtime environment.","WEBSITE_TECHNOLOGY_P_RUST":"Rust is a multi-paradigm system programming language focused on safety, especially safe concurrency.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribute to the project","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"There are two ways you can contribute to Stremio and help us make the product even better.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"You can donate your valuable language skills by translating the platform...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"or","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... you can employ your coding skills for creating community addons. ","WEBSITE_TRANSLATE_STREMIO":"Translate Stremio","WEBSITE_404_OH_NO":"Uh-oh! The page you’re looking for is not here...","WEBSITE_GO_HOME":"Go home","WEBSITE_LINK_OTHER_DOWNLOADS":"Other downloads","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Support","WEBSITE_DOWNLOAD_4_0_BETA":"Download Stremio 4 beta Now","WEBSITE_GET_FOR_DESKTOP":"Get for desktop","WEBSITE_LINK_ADDON_COMPETITION":"Addon competition","WEBSITE_LINK_ART_CONTEST":"Art contest","WEBSITE_MY_ACCOUNT":"My account","WEBSITE_MAINPAGE_FAQ_001_H1":"What is Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio is a modern media center that gives you the freedom to watch everything you want.","WEBSITE_MAINPAGE_FAQ_002_H1":"How does it work?","WEBSITE_MAINPAGE_FAQ_002_P1":"Once you install Stremio on your device and create an account, all you have to do is to visit the addon catalog and install any addon you want, and you\'re good to go!","WEBSITE_MAINPAGE_FAQ_002_P2":"After that, you can go to the Discover or Board sections to start exploring content.","WEBSITE_MAINPAGE_FAQ_003_H1":"What can I watch here?","WEBSITE_MAINPAGE_FAQ_003_P1":"A lot: Movies, TV shows, Web channels, Sport, TV channels, listen to Podcasts and more. Thanks to our addon system, you can access a variety of content.","WEBSITE_MAINPAGE_FAQ_004_H1":"Is Stremio open-source?","WEBSITE_MAINPAGE_FAQ_004_P1":"Yes, you can check the following links: ${1}desktop app${2} and ${3}GitHub organization${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Is Stremio safe?","WEBSITE_MAINPAGE_FAQ_005_P1":"Yes: because it is open-source software, the code is publically auditable and you can review it yourself.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"How about my privacy?","WEBSITE_MAINPAGE_FAQ_006_P1":"We respect users\' privacy and do not collect any personal data besides the essential minimum to create and sync your account.","WEBSITE_MAINPAGE_FAQ_006_P2":"There is also a ${1}Guest mode${2} at signup, which requires no data whatsoever: in this mode, no calls are made to our backend. However, it comes at the expense of useful features, such as being able to sync your library across devices.","WEBSITE_MAINPAGE_FAQ_007_H1":"Can I cast to my TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Yes, we support Chromecast and you can cast both from desktop and mobile apps (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"How many addons does Stremio have?","WEBSITE_MAINPAGE_FAQ_008_P1":"As of late 2019, over 50 - for more information, check our addon catalog.","WEBSITE_MAINPAGE_FAQ_009_H1":"Can Stremio be extended beyond what\'s in the addon catalog?","WEBSITE_MAINPAGE_FAQ_009_P1":"Yes, you should check those: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"What devices does Stremio support?","WEBSITE_MAINPAGE_FAQ_010_P1":"We have desktop apps for Windows, Mac and Linux. For mobile, we support Android and iOS, although keep in mind that the iOS is limited in functionality (does not support most addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"There are many Android-based devices which you can run Stremio on, like NVIDIA Shield and Amazon Fire Stick, but we do not support them officially.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Can you add certain content to Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Sorry, we provide no content ourselves, but the more Stremio addons you have installed, the more content you will be able to find.","WEBSITE_MAINPAGE_FAQ_012_H1":"Can Stremio play magnet links?","WEBSITE_MAINPAGE_FAQ_012_P1":"Yes, and it can also play normal HTTP links and torrent files (drag and drop).","WEBSITE_MAINPAGE_FAQ_013_H1":"Can I download a video and watch offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Available offline is an upcoming feature, but if you allow Stremio to cache on your device (from the settings panel) you can watch the videos later without a connection.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nothing works, help me!","WEBSITE_MAINPAGE_FAQ_014_P1":"Are you sure you have installed addons? If yes, check with our ${1}help center${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"How does Stremio sustain it\'s development operations?","WEBSITE_MAINPAGE_FAQ_015_P1":"We run non-intrusive ads occassionally, but we\'re considering moving to a donation model.","WEBSITE_MAINPAGE_FAQ_015_P2":"For more questions, go to our ${1}help center${2}.","HELP_LEARN_MORE":"Help us learn more about you.","LIFESTYLE":"Lifestyle","SPORTS":"Sports","FOOD_HEALTH":"Food & health","BEAUTY_FASHION":"Beauty & Fashion","NEWS":"News","GAMING":"Gaming","SCIENCE_EDUCATION":"Science & education","MUSIC":"Music","TRAVEL":"Travel","LATE_NIGHT":"Late Night","REALITY":"Reality","COMEDY":"Comedy","DIY":"How to DIY","TECH":"Tech","CINEMA":"Cinema","CONTINUE":"Continue","SLOW_LOADING":"SLOW LOADING?","I_GIVE_UP":"I GIVE UP","LEARN_MORE":"Learn more","POOR_SOURCE":"This source is poorly available or your internet connection is not fast enough","PICK_CATEGORIES_ERR":"You have to pick at least 3 categories","ADJUST_TIMING":"Adjust timing with ","ADJUST_SIZE":"Adjust size with ","SEARCH_ANYTHING":"You Can Search Anything...","ALL_CATEGORIES":"All","SEARCH_CATEGORIES":"Movies, Series, YouTube & TV","SEARCH_PERSONS":"Actors, Directors & Writers","SEARCH_PROTOCOLS":"HTTP & Magnet Links","SEARCH_TYPES":"IMDB / TVDB links","WATCHED":"Watched","SHOW_LESS":"Show less","LAST_SEARCHES":"Last searches","CLEAR_HISTORY":"Clear history","CHOOSE_SOME":"CHOOSE SOME OF THIS:","NO_WEB_REMOTE":"Web Remote could not be loaded","STREMIO_OFFLINE":"Stremio is offline","STREMIO_EXPENSIVE_CONNECTION":"We\'ve detected that you are using a mobile data connection, do you want to continue?","USE_DATA":"Use data","WARNING":"Warning","MORE_INFO":"More Info ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Loading ...","STREMIO_TV_BACK_TO_LANGUAGES":"Back to languages","STREMIO_TV_REMOTE":"Remote","STREMIO_TV_GO_TO":"Go to:","STREMIO_TV_OR_SCAN":"or scan:","STREMIO_TV_ADDON_INSTRUCTIONS":"Please follow the instructions in order to install your preferred addons.","STREMIO_TV_LIVE_TV":"Live TV","STREMIO_TV_RESUME_WATCHING":"Resume Watching","STREMIO_TV_LOADING_BACKGROUND":"Loading Background","STREMIO_TV_CHECKING_AUTHENTICATION":"Checking Authentication","STREMIO_TV_LOADING_BOARD":"Loading Board","STREMIO_TV_LOGIN_HEADER_LINE_1":"We want our users to have the best possible personalized experience with our software.","STREMIO_TV_LOGIN_HEADER_LINE_2":"It is for this reason that we kindly ask you to make and/or login to your account.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Thank you for understanding,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"The Stremio Team","STREMIO_TV_REMOTE_INSTRUCTIONS":"In order to use the Web Remote with your Smartphone / Tablet / Desktop:","STREMIO_TV_WIFI_SETUP":"Wi-Fi Setup","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle did not detect a internet connection.","STREMIO_TV_WIFI_DETAILS_1":"Connect to:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Use password:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Open a web browser with the link:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Default","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"By Last Watched","STREMIO_TV_LIBRARY_SORT_NAME":"By Name","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"By Times Watched","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Season ${1}","STREMIO_TV_STREAMS_LOADING":"Loaded ${1} / ${2} addons...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} addon is still loading...","STREMIO_TV_PLAYER_SETTINGS":"Player settings","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Subtitles delay","STREMIO_TV_PLAYER_AUDIO_DELAY":"Audio delay","STREMIO_TV_PLAYER_VIDEO_SCALING":"Video scaling","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Unsupported stream source","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Failed opening external link","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Not adjustable in audio passthrough mode","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Play with ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Play with libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Switching to libVLC player due to a playback error","STREMIO_TV_ADDONS_TITLE":"Use Stremio on your Phone or PC to install or configure addons and press \\"Sync Addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Note: make sure you are using the same Stremio account","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sync Addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons successfully synchronized","STREMIO_TV_ADDONS_SYNC_FAILED":"Failed to synchronize addons","STREMIO_TV_META_LINK_FAILED":"Failed opening meta link","STREMIO_TV_CATALOG_LOADING":"Catalog still loading...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Interface language updated","STREMIO_TV_SETTINGS_THEME_UPDATED":"Theme updated","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Default Player","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"External Player","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferred Language","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Secondary Preferred Language","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possible playback issues on some devices","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Some video formats might not work","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"No caching","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Default","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Soft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Fast","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Fast","STREMIO_TV_SETTINGS_SERVER_URL":"Streaming server url","STREMIO_TV_SETTINGS_SERVER_VERSION":"Server version","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Unknown","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio version","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Edit server url","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Enter a streaming server url","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Show statistics while loading","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"To read Stremio\'s Privacy Policy, visit:","STREMIO_TV_SETTINGS_TOS_TEXT":"To read Stremio\'s Terms and Conditions, visit:","STREMIO_TV_NAV_SEARCH":"Search","STREMIO_TV_NAV_HOME":"Home","STREMIO_TV_NAV_DISCOVER":"Discover","STREMIO_TV_NAV_LIBRARY":"Library","STREMIO_TV_NAV_MOVIES":"Movies","STREMIO_TV_NAV_SERIES":"Series","STREMIO_TV_NAV_CHANNELS":"Channels","STREMIO_TV_NAV_TV":"Live TV","STREMIO_TV_NAV_SETTINGS":"Settings","STREMIO_TV_NAV_ADDONS":"Addons","STREMIO_TV_LOGIN_TITLE":"Link Account","STREMIO_TV_LOGIN_EXPIRES_IN":"Expires in","STREMIO_TV_LOGIN_STEP_ONE":"Scan QR Code above or go to","STREMIO_TV_LOGIN_STEP_TWO":"Log in to your Stremio account","STREMIO_TV_LOGIN_NEW_LINK":"Request a new link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Login code refreshed","STREMIO_TV_SEARCH_PLACEHOLDER":"Type something","STREMIO_TV_SEARCH_NO_ADDONS":"No addons were requested for catalogs!","STREMIO_TV_SEARCH_BUTTON":"Search","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Search History","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"You can search for Titles, Actors, Channels and more...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Clear Search History","STREMIO_TV_FILTERS_DESCRIPTION":"Choose from one of the filters below","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"Filters","SETTINGS":"Settings","ACCOUNT":"Account","LOGOUT":"Logout","THEMES":"Themes","PLAYBACK":"Playback","PLAYBACK_SPEED":"Playback Speed","AUDIO_TRACKS":"Audio Tracks","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Videos","SERVER":"Server","LINKS":"Links","ABOUT":"About","INTERFACE":"Interface","ANIMATIONS":"Animations","STATUS":"Status","LANGUAGE":"Language","SIZE":"Size","DELAY":"Delay","BOLD":"Bold","OPACITY":"Opacity","TEXT_COLOR":"Text Color","OUTLINE_COLOR":"Outline Color","BACKGROUND_COLOR":"Background Color","BACKGROUND_BLUR":"Background Blur","SEEK_TIME_DURATION":"Seek Time Duration","AUTO_PLAY":"Auto-Play Next Episode","PLAY_NOW":"Play Now","MARK_AS_WATCHED":"Mark as Watched","MARK_AS_UNWATCHED":"Mark as Unwatched","REWIND_TO_BEGINNING":"Rewind to Beginning","CONTINUE_WATCHING":"Continue Watching","ALL":"All","SECONDS":"seconds","ON":"ON","OFF":"OFF","RELOAD":"Reload","EDIT_URL":"Edit URL","NONE":"None","EMBEDDED":"Embedded","REMOTE_SWITCH_DEVICES":"Switch Devices","REMOTE_VIDEOS":"Videos","REMOTE_ADJUST_TIMING":"Adjust timing","REMOTE_ADJUST_SIZE":"Adjust size","REMOTE_COULD_NOT_BE_LOADED":"Web Remote could not be loaded","REMOTE_RETRY":"Retry","TORRENT_PROFILE_DEFAULT":"Default","TORRENT_PROFILE_SOFT":"Soft","TORRENT_PROFILE_FAST":"Fast","TORRENT_PROFILE_ULTRA_FAST":"Ultra Fast","FAQ_001_H1":"What is Stremio?","FAQ_001_P1":"Stremio is a media center software designed for video entertainment with ease of use in mind. Stremio allows you to organize &amp; watch your own collection of movies, series, channels and live TV.","FAQ_001_P2":"Stremio collect the content it shows you from your local disk and our addons system.","FAQ_001_P3":"It will also notify you when new episodes/videos/movies you\'re interested in come out, and provide movie recommendations for you.","FAQ_02_H1":"How does Stremio compare to Kodi and Plex?","FAQ_02_P1":"We are inspired by those two pieces of software. But we have different goals - Stremio is specifically targeted towards entertainment video, and strives to become the mainstream solution for that by being very easy to use.","FAQ_02_P2":"Stremio will never be as customizable and feature-rich as Kodi and Plex, but it is significantly easier to use. Just ${1} get it and see ${2} :)","FAQ_03_H1":"How does Stremio compare to Netflix?","FAQ_03_P1":"Again, Netflix is one of our inspirations. We strive to achieve the user experience of Netflix, plus a lot of added goodies. But most importantly, we\'re giving you the freedom to manage your own library and add new content sources with our addon system.","FAQ_03_P2":"That makes Stremio infinitely extendable, so when you use Stremio, you\'re never limited to the content Netflix decides to license. For example, through Stremio you can watch content from ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} and even ${9}Netflix${10} itself!","FAQ_04_H1":"How does Stremio compare to Flipboard?","FAQ_04_P1":"We don’t get that question that often, except when talking to start-up people :)","FAQ_04_P2":"Stremio is by design a content aggregator, which essentially makes it Flipboard for video. This is very apparent in our Board section, which gives you catalogues and new episode/new video notifications for what you follow, just like Flipboard.","FAQ_05_H1":"How does Stremio compare to Popcorn Time?","FAQ_05_P1":"Stremio and Popcorn Time are similar in user interface, because there aren’t many ways to do video entertainment catalogues right :)","FAQ_05_P2":"But while Popcorn Time is focused on streaming torrents from specific sources, Stremio is unrestricted and is merely a content aggregator - it’s not locked into a specific content source.","FAQ_05_P3":"Furthermore, we do not provide any torrent addons by default, so Stremio does not cover the Popcorn Time use-case with official functionality.","FAQ_05_P4":"Another notable difference is that Popcorn Time is completely open source, while Stremio is ${1} partially open source${2}.","FAQ_06_H1":"Will you add this movie/series?","FAQ_06_P1":"No, sorry :(","FAQ_06_P2":"As is mentioned in most of the other questions, Stremio does not provide any content by itself - everything is added through the addons system. In case you have a content request, you can use the “Report” button in the Player, which will send an email to the author of the addon you’re currently using.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Will you create addon for X?","FAQ_08_P1":"It\'s entirely possible.","FAQ_08_P2":"If you have an idea for an addon, drop us a line at ${1}office@stremio.com${2}, but please make sure your addon idea will not infringe on any copyrights or terms of use.","FAQ_08_P3":"At the moment, the next things on our roadmap are addons for FandangoNOW, Filmon.tv video on demand and Crunchyroll.","FAQ_09_H1":"Does Stremio use BitTorrent?","FAQ_09_P1":"Yes, Stremio supports BitTorrent as a streaming protocol. You can use that either with a torrent addon, or by drag-and-dropping a .torrent file into Stremio, or by pasting a magnet link into the Search Bar.","FAQ_09_P2":"Please note that the only official addon using BitTorrent is ${1}Vodo${2}, which provides indie content, all permitted to be distributed with BitTorrent.","FAQ_09_P3":"We do not support use of any third-party addons which may enable copyright infringement.","FAQ_10_H1":"What can I watch in Stremio with the official addons?","FAQ_10_P1":"By default, you can watch Filmon.tv, YouTube and Vodo content within Stremio itself, with it’s embedded player. Additionally, we have an addon for Twitch.tv and a few others.","FAQ_10_P2":"This combined provides a selection of:","FAQ_10_L1":"Popular TV channels, provided by Filmon.tv - for example E4, BBC, Bollyworld TV","FAQ_10_L2":"Everything from YouTube - for example BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indie movies with Vodo","FAQ_10_L4":"Online gaming broadcasts with Twitch.tv","FAQ_10_P3":"Additionally, there are many content sources provided with Guidebox and the Netflix addons, which <b>do not</b> play entirely inside Stremio, but would redirect to the given service. For example, the Guidebox addon would give you a selection of movies you can stream in the US for free, from services like TubiTV and Crackle.","FAQ_11_H1":"Stremio won\'t install, what should I do?","FAQ_11_P1":"If you\'re on Windows, try ${1}this alternative installer${2}.","FAQ_11_P2":"If you\'re on Mac OS X, please be aware that we don\'t support anything older than OS X Mavericks (10.9).","FAQ_11_P3":"If you\'re on Linux, be aware that we only support 64 bit (x64) Linux at the moment.","FAQ_11_P4":"If you still can\'t resolve your problem, please write us at our ${1}Facebook group${2}.","FAQ_12_H1":"Why does my anti-virus complain? Is Stremio safe?","FAQ_12_P1":"We assure you Stremio is ${1}100% clean${2}.","FAQ_12_P2":"Your antivirus is complaining because we include advertising in our installer, which some anti-virus programs recognize as ad-ware.","FAQ_12_P3":"If you\'re still unsure, you can try our ${1}alternative installer${2}.","FAQ_13_H1":"How can I make an addon?","FAQ_13_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_13_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_13_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_14_H1":"How are addons published?","FAQ_14_P1":"When you create an addon and host, and put a <b>endpoint</b> field in your manifest, which points to a working addon address, the addon will automatically publish itself to our ${1}Addon catalogue${2}.","FAQ_14_P2":"This happens because the server part of the stremio-addons module automatically makes a call to our API to announce the addon. When our API validates your <b>endpoint</b> as a valid addon, it will start showing in the catalogue.","FAQ_15_H1":"Can I run Stremio in my browser?","FAQ_15_P1":"Not at the moment, but this is coming!","FAQ_15_P2":"If you\'re curious to see an Alpha, you can see it here: ${1}alpha4.strem.io${2}. Keep in mind streaming is disabled on this alpha. We support Chrome, Firefox, Opera and Edge.","FAQ_16_H1":"Casting to TV doesn\'t work / subtitles don\'t work","FAQ_16_P1":"Casting to TV uses the DLNA technology which is very inconsistent between different TV brands and models. For that reason, we do not have the ability to test it in every case, so it\'s far from perfect. Despite this, we\'re working on improving it constantly but we cannot give you a time estimate on when DLNA will start working properly with your TV.","FAQ_16_P2":"If you don\'t even see your TV in the casting menu, please try disabling your network connection and re-enabling it (on Windows, right click the Network and use Enable/Disable), as well as restarting your router, TV and PC.","FAQ_16_P3":"If you are still encountering issues, you can help us by sending your TV brand and model information at ${1}office@stremio.com${2}.","FAQ_16_P4":"In the meantime, we recommend Chromecast, which we support very well, or simply plugging in your TV to your PC with an HDMI cable.","FAQ_17_H1":"Stremio freezes and/or crashes, what can I do?","FAQ_17_P1":"First of all, if you\'re using Windows 7 with AVG anti-virus: we have a problem with that combination. The problem is in AVG itself, and there\'s no reasonable way to resolve it on our end. Unfortunately, exceptions or disabling the anti-virus won\'t work. The only solution is to replace AVG with something else.","FAQ_17_P2":"If that\'s not the issue, but you\'re still using Windows, please update to the latest service pack and update/re-install your GPU drivers, then try again.","FAQ_17_P3":"If you\'re problem is still not resolved, or you\'re using a Mac or Linux, please write us reporting the exact details of the problem at ${1}our Facebook group${2}.","FAQ_18_H1":"How can I make an addon?","FAQ_18_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_18_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_18_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_19_H1":"Why is Stremio taking disk space?","FAQ_19_P1":"Stremio has a <b>local cache</b> to temporarily keep the video files you stream.","FAQ_19_P2":"This has two benefits: first, it allows Stremio to pre-buffer the video ahead so as to ensure smoother streaming. Second, it keeps the videos in the local cache so you can continue watching them offline.","FAQ_19_P3":"How much Stremio keeps depends on the <b>Cache</b> setting in the Settings panel. Stremio may keep up to the set amount (e.g. 2GB) on your disk, unless the currently streamed video is larger than that, in which case it has to allocate enough storage to keep it until you\'re streaming it.","FAQ_20_H1":"Where is the cache folder?","FAQ_20_P1":"On Windows, it\'s stremio-cache in the drive you picked in Settings (e.g. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"On MacOS, it\'s \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"On Linux, it\'s \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"I get \\"Streaming server is not found\\" error, what can I do?","FAQ_21_P1":"If you get this error, it means one of few things:","FAQ_21_P2":"1) You are trying to use an addon backed by YouTube/BitTorrent source, through our ${1}web version${2}. In this case, you should install our desktop version from ${3}our website${4}.","FAQ_21_P3":"2) Something is wrong with your Stremio installation. In this case, try re-installing our latest desktop version from ${1}the website${2}. If this does not help, try disabling anti-virus programs and firewalls, restarting your PC and trying again. If this does not work too, please write us at our ${3}our Facebook group${4}.","FAQ_22_H1":"I cannot see/use most addons on iOS","FAQ_22_P1":"Because of restrictions in the Apple App Store terms and conditions, we have restricted the iOS application only to a particular set of addons.","FAQ_22_P2":"But rest assured - there will be more addons for iOS in the future, and we may also add an integration that will allow you to use all Stremio addons thanks to connecting the iOS app to the Stremio Streaming Server."}')},68472:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Film","TYPE_series":"Series","TYPE_tv":"TV-kanalen","TYPE_channel":"Kanaal","TYPE_other":"Andere","TYPE_movie_PL":"Films","TYPE_series_PL":"Series","TYPE_tv_PL":"TV-kanalen","TYPE_channel_PL":"YouTube","TYPE_other_PL":"Andere","TYPE_ALL":"All","TYPE":"Type","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"Video","BACK":"Terug","MORE":"Meer","DONE":"Klaar","COPY":"Kopieer","SUCCESS":"Success","ERROR":"Fout","SETTINGS_CASTING_MODE_PICKER":"Casting modus","CASTING_MODE_HLSV2":"Standaard","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Geen transcodering","Discover":"Ontdekken","Board":"Dashboard","Library":"Bibliotheek","My Library":"Mijn Bibliotheek","Calendar":"Agenda","NOTIFICATION_ONLINE":"Je bent nu online","NOTIFICATION_OFFLINE":"Je bent nu offline","INTERNET_CONNECTION":"Netwerkverbinding","STORAGE_FULL_TITLE":"Waarschuwing: geheugen is vol!","STORAGE_FULL_TEXT":"Stremio kan uw instellingen, voorkeuren of inloggegevens niet opslaan. Probeer Stremio te herstarten of opnieuw te installeren.","SEARCH":"Zoek","SEARCH_NO_RESULTS":"Er zijn geen resultaten gevonden","SEARCH_EXPLANATION_CONTENT":"Zoek naar films, series, Youtube and TV series","SEARCH_EXPLANATION_PEOPLE":"Zoek naar acteurs, filmregisseurs en schrijvers","SEARCH_PASTE_LINKS":"Plak hier HTTP en Magnet links","SEARCH_OR_PASTE_LINK":"Zoek of plak link","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"Toevoegen aan bibliotheek","REMOVE_FROM_LIB":"Verwijderen uit bibliotheek","ADDED_TO_LIB":"Toegevoegd aan bibliotheek","REMOVED_FROM_LIB":"Verwijderd van uw bibliotheek","TRAILER":"Trailer","WATCH_TRAILER":"Trailer bekijken","WATCH_NOW":"Nu kijken","SHOW":"Toon","SHOW_MOVIE":"Toon Film","WATCH_RANDOM":"Kijk willekeurig","IMDB_RATING":"IMDb beoordeling","YEAR":"Jaar","DIRECTOR":"Regisseur","WRITER":"Schrijver","LEAD_ACTORS":"Hoofdrolspelers","CAST":"Rolverdeling","CREW":"Crew","SHOW_MORE_CAST":"Laat meer zien »","AIRED":"Uitgezonden","SEASONS":"Seizoenen","GENRE":"Genre","GENRE_ALL":"All genres","CATALOG":"Catalogus","SUMMARY":"Samenvatting","SHOW_MORE":"Toon Meer","SIMILAR":"Vergelijkbaar","UPCOMING":"Opkomend","ENDED":"Afgelopen","DURATION":"Tijdsduur","FEATURED":"Uitgelicht","METADATA":"Metadata","CATEGORY":"Categorie","LINKS_GENRES":"Genres","LINKS_CAST":"Cast","LINKS_DIRECTORS":"Directors","SEARCH_VIDEOS":"Zoek video\'s","SEARCH_PLACEHOLDER":"zoek of plak magnet link","ADDON":"Addon","ADDONS":"Addons","OFFICIAL":"Officieel","ADDONS_OFFICIAL":"Officiële Stremio addon","ADDONS_POPULAR":"Populair in uw regio","ADDON_FREE":"Gratis","ADDON_PEERED":"peered","ADDON_SUBSCRIPTION":"Abonnement","ADDON_STREAM_GEORESTRICTED":"Niet beschikbaar in uw regio","ADDON_STREAM_OFFLINECACHE":"Offline Cache","ADDON_STREAM_LOCALFILE":"Lokaal Bestand","SHARE_ADDON":"Deel addon","AVAILABLE_STREAMS":"Beschikbare streams","NO_STREAM":"Geen streams beschikbaar","ALL_ADDONS":"All","INSTALL_MORE_ADDONS":"Voor meer streams, installeer meer addons","STREAM_NOT_SUPPORTED":"Geselecteerde stream is niet ondersteund op dit platform.","ADDON_CATALOGUE":"Toon alle addons »","ADDON_CATALOGUE_MORE":"Meer addons »","REPO_ADDED":"Repository toegevoegd","ADDON_REPO_EXIST_ERR":"Deze addons repository bestaat al","ADDON_REPO_ERR":"Foutmelding opgetreden tijdens het toevoegen van de repository","ADDON_ADD_ERR":"Foutmelding opgetreden tijdens het toevoegen van de addon","ERR_ADDON_PROTECTED":"Beschermde addon","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Er ging iets fout - authenticatie is mislukt","ERR_NOT_COLLECTION_URL":"Geen collectie URL","ERR_NOT_ADDON_URL":"Geen addon URL","ERR_DETECTFROMURL":"Niets beschikbaar in de URL","ADDON_DUPLICATE_WARNING":"Waarschuwing: gedupliceerde addon","ADDON_COLLECTION_SET_FAILED":"Addon collectie set mislukt","SETTINGS_DATA_EXPORT":"Exporteer data","ADDON_PULL_FAILED":"Addon ophalen mislukt","REFRESH_ON_CLICK":"Klik om het opnieuw te proberen.","STILL_IN_THEATER":"Film nog in de bioscoop","WATCH_IN_CINEMA":"Bekijk de film in een bioscoop in uw buurt","IN_THEATER":"In de bioscoop","GET_TICKETS":"Tickets bemachtigen","UPCOMING_EPISODE":"Aankomende aflevering","UPCOMING_EPISODE_MESSAGE":"Deze aflevering zal worden uitgezonden op","MISSING_DATE_EPISODE":"Ontbrekende afleveringsdatum","MISSING_DATE_EPISODE_MESSAGE":"Deze aflevering is mogelijk nog niet uitgezonden","CHANNEL_NOT_SCRAPED":"Dit kanaal is nog niet geschraapt.<br>Gelieve terug te komen in een paar minuten.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Voeg deze toe aan uw bibliotheek om een melding te krijgen zodra deze beschikbaar is.","GET_NOTIFIED_WHEN_AVAILABLE":"U krijgt een melding zodra deze beschikbaar is.","WARNING_STREAMING_SERVER":"Waarschuwing: lokale streaming server niet gevonden. Streamen van Youtube en BitTorrent is niet mogelijk","WARNING_STREAMING_SERVER_DISMISS":"Sluiten","WARNING_STREAMING_SERVER_LATER":"Later","DECODER_WARNING":"Waarschuwing: de video is mogelijk niet ondersteund door uw hardware. De video zal mogelijks niet correct worden afgespeeld.","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"Woeps, Videospeler fout","PLAYER_ERROR_LOOKSLIKE":"Het lijkt erop","PLAYER_ORIENTATION":"Videospeler oriëntatie","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Vergrendeld","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensor","PLAYER_ORIENTATION_LANDSCAPE":"Videospeler vergrendeld op horizontale weergave","PLAYER_ORIENTATION_SENSOR":"Automatische orientatieweergave videospeler (sensor)","PLAYER_PLAYBACK_SPEED":"Afspeelsnelheid","PLAYER_PLAYBACK_ERROR":"Afspeelfout, probeer het opnieuw","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Onbekende fout","PLAYER_PLAYBACK_ERROR_DEFAULT":"Sorry, deze video kan niet worden afgespeeld door {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Ondertiteling Talen","PLAYER_SUBTITLES_VARIANTS":"Ondertitel varianten","PLAYER_SUBTITLES_SETTINGS":"Subtitles Settings","PLAYER_SUBTITLES_DISABLED":"Ondertitelingen zijn uitgeschakeld","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Verticale positie","PLAYER_SUBTITLES_LOADED":"Ondertitelingen geladen","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Ingebouwde ondertitelingen geladen","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Exclusieve ondertitelingen geladen","PLAYER_SUBTITLES_LOADED_ORIGIN":"Ondertitelingen van {{origin}} geladen","PLAYER_PLAY":"Afspelen","PLAYER_PAUSE":"Pauzeren","PLAYER_NEXT_VIDEO":"Volgende video","PLAYER_MUTE":"Dempen","PLAYER_UNMUTE":"Dempen uitschakelen","PLAYER_OPEN_IN_EXTERNAL":"Openen in externe speler","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Afspelen op {{device}}","PLAYER_LIVE":"Live","PLAYER_NEXT_VIDEO_TITLE":"Komt binnenkort op","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Afwijzen","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Nu kijken","PLAYER_COPY_STREAM_SUCCESS":"De streamlink is gekopieerd naar je klembord","PLAYER_COPY_STREAM_ERROR":"Kopiëren van streamlink is mislukt","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","STREAMING_FROM":"Streamen van","CASTING_TO":"Casten naar","NETWORK_STATUS":"Netwerkstatus","STREAM_SPEED":"Snelheid:","STREAM_BUFFERED":"Gebufferd:","PEERS_INFO":"Peers informatie","PEERS_ACTIVE":"Actief:","PEERS_CONNECTED":"Verbonden:","PEERS_WAITING":"Wachten:","TRANSCODING_WARNING":"Waarschuwing: transcoderen van video.","STREAM_LOADING":"Laden...","PLAYING_LOCAL":"spelen van een lokaal bestand","PLAYING_CACHE":"spelen uit cache","WRONG_SUBS":"Verkeerde ondertiteling?","ERR_SUBS_LOADING_TITLE":"Fout tijdens laden ondertiteling","ERR_SUBS_LOADING":"Ondertiteling laden mislukt: Dit kan liggen aan de gebruikte addon, of uw internetverbinding","WARN_FOLLOWING_SUB_ADDONS_FAILED":"The following subtitle addons failed","ERR_CASTING_UPDATE_TITLE":"Kon streamingsapparaat info niet vernieuwen: streaming server is mogelijks offline","CHOOSE_DEVICE":"Kies een apparaat om op te kijken","NO_CAST_DEVICES":"Geen cast-apparaten beschikbaar.","NO_SETTINGS":"Geen instellingen beschikbaar.","PHONE_TABLET":"Mobiel/Tablet","SUBTITLES":"Ondertiteling","SUBTITLES_CHANGE":"Verander ondertiteling voor","SUBTITLES_CHANGE_NONE":"Voor deze taal zijn geen andere vertalingen beschikbaar, sorry.","SUBTITLES_CHANGE_ACIVE":"Momenteel is ondertiteling &#35;{{subtitlesDialog.activeIdx + 1}} actief. Klik op \\"Verder\\" om ondertiteling &#35;{{subtitlesDialog.pickedIdx + 1}} te gebruiken.","SUBTITLES_OR":"Als alternatief,","SUBTITLES_ADJUST_DELAY":"Ondertitelingsvertraging aanpassen:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Of gebruik de <span>G</span> / <span>H</span> toetsen om de ondertitels tijdens het afspelen aan te passen.","SUBTITLES_ADJUST_DELAY_TIP":"TIP: je kan de toetsen <span>G</span> / <span>H</span> gebruiken tijdens het afspelen om aan te passen.","SUBTITLES_DELAY":"Ondertitelvertraging:","SUBTITLES_LOADING":"Ondertiteling laden...","SUBTITLES_UNAVAILABLE":"Geen externe ondertitels beschikbaar","SUBTITLES_DISABLED":"Uitgeschakeld","EXTERNAL_PLAYER_DISABLED":"Uitgeschakeld","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Kiezen toestaan","EXTERNAL_PLAYER_HINT":"Tip: Er is een instelling om altijd met de externe speler te openen","DONT_SHOW_AGAIN":"Niet meer tonen","SERVICE_INSTALL":"Installeren","AUDIO":"Audio","DEFAULT_LANGUAGE":"Standaardtaal","DEFAULT_SECONDARY_LANGUAGE":"Standaard secundaire taal","SEASON":"Seizoen","EPISODE":"Aflevering","EPISODE_ABBREVIATION":"EP","SPECIAL":"Special","SORT":"Sorteer","SORT_BY":"Sorteren op","FILTER":"filter","SORT_TRENDING":"trending","SORT_RECENT":"recent","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"beoordeling","SORT_WATCHED":"gezien","SORT_YEAR":"jaar","SELECT_TYPE":"Selecteer type","SELECT_SORT":"Selecteer sortering","SELECT_CATALOG":"Selecteer catalogus","SELECT_GENRE":"Selecteer genre","SORT_LASTWATCHED":"Op basis van laatst bekeken","SORT_NAME":"Op basis van naam","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"Op basis van aantal keren bekeken","SORT_NOTWATCHED":"not watched","New for You":"Nieuw voor jou","New Episodes":"Nieuwe afleveringen","New Videos":"Nieuwe video\'s","Recommendations":"Aanbevelingen","LIBRARY_RESUME":"hervat","LIBRARY_PLAY":"Speel","LIBRARY_DETAILS":"Details","LIBRARY_RESUME_DISMISS":"negeer","LIBRARY_CLEAR_PROGRESS":"Verwijder voortgang","LIBRARY_REMOVE":"Verwijderen","LIBRARY_NOT_LOGGED_IN":"Bibliotheek is alleen beschikbaar voor ingelogde gebruikers","CALENDAR_NOT_LOGGED_IN":"Kalender is alleen beschikbaar voor ingelogde gebruikers","NOT_LOGGED_IN_CLOUD":"Toegang tot je favoriete films en tv-shows, waar en wanneer je maar wilt","NOT_LOGGED_IN_RECOMMENDATIONS":"Aanbevelingen op maat van jouw kijkgeschiedenis","NOT_LOGGED_IN_NOTIFICATIONS":"Mis nooit meer een aflevering","NOT_LOGGED_IN_CALENDAR":"Plan je persoonlijke kalender","DISCOVER_FEATURED":"Uitgelicht","DISCOVER_TOP":"Populair","DISCOVER_OSCAR":"Oscars","DISCOVER_WARNING_TITLE":"Oops!","DISCOVER_EMPTY_CATALOG":"Deze addon stuurde niks terug.","DISCOVER_ADULT_WARNING":"Deze inhoud is enkel toegankelijk voor volwassenen. Ben je 18+?","DISCOVER_NOADDON_WARNING":"Waarschuwing: geen Stremio addon actief voor dit type. Opgeslagen items worden weergegeven, hier komen geen updates.","DISCOVER_LOAD_ERR":"De inhoud werd niet geladen, er deed zich een fout voor.","DISCOVER_ADDON_UNINSTALLED":"Deze inhoud is niet meer beschikbaar, Het is mogelijk dat de addon is gedeïnstalleerd.","UNINSTALL_THIS_ADDON":"Deinstalleer deze addon","ERR_ADDON_NOT_INSTALLED":"Deze add-on is niet geïnstalleerd. Nu installeren?","DETAIL_RECEIVE_NOTIF_SERIES":"Ontvang notificaties bij nieuwe afleveringen","DETAIL_RECEIVE_NOTIF_VIDEOS":"Ontvang notificaties bij nieuwe video\'s","SIDEBAR_SHOW_STREAMS":"Toon Streams","RELAUNCH":"Herstart Stremio","UPGRADE":"Update naar de laatste Stremio versie","RELOAD_UI":"Gebruikersinterface herladen","MANUAL_UPDATE_TITLE":"Update je Stremio-versie","MANUAL_UPDATE_LINE1":"Je gebruikt een verouderde versie van Stremio, wat sterk wordt afgeraden.","MANUAL_UPDATE_LINE2":"Gelieve zo snel mogelijk te updaten.","BUTTON_UPDATE_LATTER":"Later","BUTTON_UPDATE_NOW":"Updaten","ANONYMOUS_USER":"Anonieme gebruiker","DONT_HAVE_ACC":"Heeft u nog geen account?","HAVE_ACC":"Heeft u al een account?","PASSWORD":"Wachtwoord","PASSWORD_CONFIRM":"Bevestig wachtwoord","EMAIL":"E-mail","FB_LOGIN":"Inloggen met Facebook","FB_NOTHINGSHARED":"Niks wordt gedeeld zonder uw toestemming","FB_NOPOST":"Niks wordt gepost zonder uw toestemming","OR":"of","I_ACCEPT":"Ik accepteer de","I_ACCEPT_BY_CLICKING":"Door te klikken op de bovenstaande knop ga ik akkoord met de","TOS":"Algemene Voorwaarden","MUST_ACCEPT_TERMS":"U moet akkoord gaan met de voorwaarden","PASSWORDS_NOMATCH":"Wachtwoorden komen niet overeen","SIGN_UP":"Inschrijven","SIGN_UP_EMAIL":"Aanmelden met e-mail","CLICK_TO_SIGN_UP":"Klikt hier om aan te melden.","LOG_IN":"Inloggen","LOG_OUT":"Uitloggen","EXIT_FULLSCREEN":"Volledig scherm afsluiten","ENTER_FULLSCREEN":"Volledig scherm inschakelen","PLAY_URL_MAGNET_LINK":"Speel URL/Magneetlink af","HELP_FEEDBACK":"Help en feedback","TERMS_OF_SERVICE":"Gebruiksvoorwaarden","PRIVACY_POLICY":"Privacybeleid","ABOUT_STREMIO":"Over Stremio","USER_PANEL":"Gebruikerspaneel","LOGIN_LABEL":"Inloggen","GUEST_LOGIN":"Gast-login","GUEST_LOGIN_NOTICE":"Gast-login is niet aangewezen. Een vaste login gebruiken zorgt ervoor dat Stremio je bibliotheek kan synchroniseren en je notificaties krijgt over je favoriete series/kanalen. Ben je zeker dat je wilt doorgaan?","GUEST_LOGIN_NOTICE_2":"Gast-login is niet aangewezen - je zal geen gesynchroniseerd bibliotheek hebben of dashboard notificaties krijgen, beiden belangrijke Stremio functies. Ben je zeker dat je wilt doorgaan?","CLICK_HERE":"Klik hier","WRONG_PASSWORD":"Verkeerd wachtwoord. In het geval dat u uw wachtwoord vergeten, ","SET_A_PASS":"Stel een wachtwoord in","RESET_PASSWORD":"Veranderd wachtwoord","FORGOT_PASSWORD":"Wachtwoord vergeten?","EMAIL_USED_WITH_FB":"Deze e-mail is al gebruikt met een Facebook login.","INVALID_EMAIL":"Voer een geldig e-mailadres in","INVALID_PASSWORD":"Voer een geldig wachtwoord in","CONN_ERR":"Connectiefout - probeer het later opnieuw.\\n\\nAls dit probleem zich aanhoudt, schakel dan uw firewall en/of anti-virus software uit (vooral Bitdefender).","IMPORT_FROM_GUEST":"Importeer bibliotheek van uw gast account","RECEIVE_UPDATES_EMAIL":"Ontvang updates via e-mail van Stremio","LOGIN_FAILED":"Login mislukt.","SIGNUP_FAILED":"Aanmelden mislukt.","SEARCH_FAILED":"Zoekopdracht mislukt","EMAIL_USED":"Dit e-mail is al in gebruik.","WAITING_FB_LOGIN":"Inloggen met Facebook...","EXTERNAL_PLAYER_TITLE":"In extern speler afspelen","EXTERNAL_REMEMBER_PLAYER":"Wilt u uw keuze onthouden?","EXTERNAL_ALWAYS_PLAY":"Ja","EXTERNAL_ONLY_ONCE":"Nee","BEST_FIT":"Beste pasvorm","FIT_SCREEN":"Scherm passen","FILL":"Fill","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"Geef uw voorkeuren aan","INTRO_TASTE_LONG":"Vertel ons wat je wilt bekijken","INTRO_TASTE_PICK":"Kies {{interestsRemaining}} interesses","INTRO_TASTE_PICK_MORE":"Kies {{interestsRemaining}} meer interesses","INTRO_TASTE_HELP_US":"Help ons je beter te leren kennen.","INTRO_TASTE_CHOOSE_THESE":"Kies enkel van deze:","INTRO_TASTE_CHOOSE_MIN":"Kies minimum 3 categorieën","INTRO_TASTE_CHOOSE_MIN_ERR":"Je moet minimum 3 categorieën kiezen!","INTRO_TASTE_LIFESTYLE":"Lifestyle","INTRO_TASTE_SPORTS":"Sport","INTRO_TASTE_FOOD_HEALTH":"Eten & Gezondheid","INTRO_TASTE_BEAUTY_FASHION":"Schoonheid & Mode","INTRO_TASTE_NEWS":"Nieuws","INTRO_TASTE_GAMING":"Gaming","INTRO_TASTE_SCIENCE_EDU":"Wetenschap & Onderwijs","INTRO_TASTE_MUSIC":"Muziek","INTRO_TASTE_TRAVEL":"Reizen","INTRO_TASTE_LATE_NIGHT":"Late Night Show","INTRO_TASTE_REALITY":"Reality","INTRO_TASTE_COMEDY":"Komedie","INTRO_TASTE_DIY":"How to DIY","INTRO_TASTE_TECH":"Tech","INTRO_TASTE_CINEMA":"Cinema","ADDON_NOT_SUPPORTED":"De geselecteerde addon is niet ondersteund op dit platform.","ADDON_DISCLAIMER":"Het gebruiken van addons van derden is altijd onderworpen aan uw eigen verantwoordelijkheid en het recht van de regio waar u zich bevindt.","ADDON_ACTIVATE":"Deze addon activeren?","ADDON_REPO_ADD":"Addon repository url","ADDON_ADD":"Toevoegen","INSTALL_ADDON":"Install addon","ADD_ADDON":"Add-on toevoegen","ADD_ADDON_DESCRIPTION":"U kunt een add-on toevoegen via een externe link, die zal verschijnen onder Geïnstalleerde add-ons.","PASTE_ADDON_URL":"Add-on-URL plakken","WHATS_NEW":"Wat is er nieuw?","BUTTON_CONTINUE":"Doorgaan","BUTTON_ACTIVATE":"Activeer","BUTTON_ACTIVATED":"Geactiveerd","BUTTON_CANCEL":"Annuleer","BUTTON_SUBMIT":"Verstuur","BUTTON_DISMISS_ALL":"Negeer alles","BUTTON_VIEW_ALL":"Bekijk alles","BUTTON_SEE_ALL":"Alles zien","BUTTON_COLOR_TRANSPARENT":"Transparant","OPEN_IN_BROWSER":"Open in browser","LIB_EMPTY":"Uw bibliotheek ziet er leeg uit. Ontdek hoe nuttig het is :) ","HOW_START":"Hier is hoe je kunt beginnen:","LIB_EMPTY_CAL":"De agenda toont series in je bibliotheek.","HOW_START_CAL":"Hier is hoe je series kan toevoegen:","LIB_EMPTY_BOARD":"Het dashboard toont notificaties &amp; aanbevelingen gebaseerd op uw bibliotheek.","HOW_START_BOARD_WAIT":"Voeg een paar series of kanalen toe aan uw bibliotheek en geef ons een paar minuten verwerktijd :)","HOW_START_BOARD":"Zo voeg je series &amp; films toe:","IMPORT_FB":"Importeer dingen die je leuk vind van <span>Facebook</span>","IMPORT_TRAKT":"Importeer je media bibliotheek van <span>Trakt</span>","IMPORT_DISCOVER":"<span>Ontdek</span> interessante dingen","IMPORT_DISK":"Importeer films of series vanaf je <span>lokale schijf</span>","PLEASE_CREATE_ACC":"<u>Registreer een account</u> om van de bibliotheek &amp; het dashboard gebruik te maken.","IMPORT_DISCOVER_SIGNUP":"Registreer en vind interessante dingen van <span>Ontdekken</span>","IMPORT_DISK_SIGNUP":"Registreer en importeer films en series van je <span>lokale schijf</span>","LIB_EMPTY_CLOUD":"Cloud bibliotheek","LIB_EMPTY_CLOUD_DESC":"Persoonlijke cloud bibliotheek gesynchroniseerd op alle toestellen","LIB_EMPTY_EARLY":"Vroege vogel","LIB_EMPTY_EARLY_DESC":"Ontvang notificaties bij nieuwe afleveringen","LIB_EMPTY_PERSONAL":"Persoonlijk","LIB_EMPTY_PERSONAL_DESC":"Ontvang persoonlijke aanbevelingen","LIB_EMPTY_CALENDAR_DESC":"Plan uw persoonlijke kijkkalender","LIB_EMPTY_ALL":"Sign up to get all of these:","LIB_EMPTY_BEST":"Registreer om deze allemaal te ontvangen","LIB_EMPTY_OTHER":"Registreer om Agenda en andere coole functies in te schakelen","CALENDAR_ADDED":"De Stremio-kalender is toegevoegd aan uw standaard desktopkalender.","CALENDAR_ADDED_MSG":"Indien dit niet werkt, voeg deze URL dan handmatig toe aan uw agendatoepassing","TRAKT_EXPIRED":"Trakt-authenticatie is verlopen, ga naar Instellingen en verifieer opnieuw","TRAKT_REQUIRES_LOGIN":"Trakt foutmelding","TRAKT_REQUIRES_LOGIN_MSG":"U moet inloggen","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","SETTINGS_LABEL":"Instellingen","SETTINGS_NAV_GENERAL":"Algemeen","SETTINGS_NAV_PLAYER":"Speler","SETTINGS_NAV_STREAMING":"Streaming","SETTINGS_NAV_SHORTCUTS":"Snelkoppelingen","SETTINGS_SHORTCUT_RELOAD_APP":"Applicatie herladen","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Instellingen openen","SETTINGS_SHORTCUT_SWITCH_TABS":"Tabbladen wisselen","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Tabbladen vooruit doorlopen","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Tabbladen achteruit doorlopen","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Menu\'s navigeren","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Ga naar zoeken","SETTINGS_SHORTCUT_EXIT_BACK":"Afsluiten / Teruggaan","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Snelheid afspelen menu omschakelen","SETTINGS_SHORTCUT_MENU_VIDEOS":"Video\'s menu omschakelen","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Ondertitels menu omschakelen","SETTINGS_SHORTCUT_MENU_INFO":"Info menu omschakelen","SETTINGS_SHORTCUT_FULLSCREEN":"Volledig scherm omschakelen","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Bediening weergeven","SETTINGS_SHORTCUT_PLAY_PAUSE":"Afspelen / pauzeren","SETTINGS_SHORTCUT_VOLUME_UP":"Volume omhoog","SETTINGS_SHORTCUT_VOLUME_DOWN":"Volume omlaag","SETTINGS_SHORTCUT_SEEK_NEXT":"Volgende zoeken","SETTINGS_SHORTCUT_SEEK_PREV":"Vorige zoeken","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Terug zoeken","SETTINGS_SHORTCUT_SEEK_FORWARD":"Vooruit zoeken","SETTINGS_SHORTCUT_PLAY_NEXT":"Volgende afspelen","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Ondertitel grootte vergroten","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Ondertitel grootte verkleinen","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Ondertitel vertraging vergroten","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Ondertitel vertraging verkleinen","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Zijbalk omschakelen","SETTINGS_SHORTCUT_OR":"of","SETTINGS_SHORTCUT_TO":"naar","SETTINGS_SHORTCUT_SPACE":"Spatie","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Authenticeren","SETTINGS_FACEBOOK_IMPORT":"Importeren","SETTINGS_CALENDAR_SUBSCRIBE":"Abonneren","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Interface-taal","SETTINGS_LAUNCH_STARTUP":"Opstarten openen","SETTINGS_VLC_DEFAULT":"Met VLC afspelen","SETTINGS_UI_LANGUAGE":"UI-taal","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Escape-toets om volledig scherm te verlaten","SETTINGS_GAMEPAD":"Gamepadondersteuning inschakelen","SETTINGS_CLOSE_WINDOW":"Applicatie sluiten als venster wordt gesloten","SETTINGS_SUBTITLES_LANGUAGE":"Standaard ondertiteltaal","SETTINGS_SUBTITLES_SIZE":"Standaard ondertitelgrootte","SETTINGS_SUBTITLES_BACKGROUND":"Ondertitelachtergrond","SETTINGS_SUBTITLES_COLOR":"Ondertitelkleur","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Ondertitelomlijning kleur","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Ondertitelachtergrondkleur","SETTINGS_SEEK_KEY":"Pijltjestoetsen zoektijd","SETTINGS_SEEK_KEY_SHIFT":"Pijltjestoetsen zoektijd wanneer Shift-toets is ingedrukt","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Terugspoel- en vooruitspoelduur","SETTINGS_BINGE":"Automatisch de volgende aflevering afspelen","SETTINGS_NEXT_VIDEO":"Geef een melding om de volgende aflevering te starten","SETTINGS_NEXT_VIDEO_TRIGGER":"Geef een melding voor de volgende aflevering voor:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Duur van de pop-up met de volgende video","SETTINGS_PLAY_IN_BACKGROUND":"Afspelen op de achtergrond","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Afspelen in externe speler","SETTINGS_RESIZE":"Vensterformaat automatisch aanpassen bij afspelen","SETTINGS_OVERRIDE_SERVER":"streaming server-URL overschrijven (geavanceerd)","SETTINGS_SERVER_URL":"streaming server-URL: ","SETTINGS_SERVER_AVAILABLE":"streaming server is beschikbaar.","SETTINGS_SERVER_UNAVAILABLE":"streaming server is niet beschikbaar.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Fout","SETTINGS_SERVER_CONFIGURE_TITLE":"Configureer streaming server-URL","SETTINGS_SERVER_CONFIGURE_INPUT":"Voer een streaming server-URL in","SETTINGS_SERVER_CACHE_SIZE":"Cachegrootte","SETTINGS_SERVER_TORRENT_PROFILE":"Torrentprofiel","SETTINGS_HTTPS_ENDPOINT":"Streaming HTTPS-eindpunt: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Gebruik altijd de laatste Beta","SETTINGS_IMPORT_FB":"Importeren van Facebook","SETTINGS_IMPORT_DISK":"Importeren van lokale schijf","SETTINGS_IMPORT_TRAKT":"Importeren van Trakt","SETTINGS_PAUSE_MINIMIZED":"Pauzeer afspelen bij minimaliseren","SETTINGS_HWDEC":"Door hardware versnelde decodering","SETTINGS_BACKGROUND":"Achtergrondweergave","SETTINGS_SUBSCRIBE_CALENDAR":"Abonneer op agenda","SETTINGS_REQ_EXPORT":"Vraag gegevens export aan","SETTINGS_ACC_DELETE":"Verzoek om account te verwijderen","SETTINGS_CHANGE_PASSWORD":"Wachtwoord veranderen","SETTINGS_TOS":"Algemene voorwaarden","SETTINGS_SUPPORT":"Contact opnemen met ondersteuning","SETTING_LANGUAGE":"Taal","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_LOGOUT":"Uitloggen van Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Uitloggen van Trakt","SETTINGS_SCAN_FOR_REMOTE":"QR code scannen om afstandsbediening te openen","SETTINGS_DESKTOP_NOTIFICATIONS":"Desktop notificaties","SETTINGS_DATA_SAVER":"Gegevensbesparing","SETTINGS_LANGUAGE_INTERFACE":"interface","SETTINGS_LANGUAGE_SUBS":"standaard ondertiteling","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Automatische selectie audiotrack inschakelen","SETTINGS_DEFAULT_AUDIO_TRACK":"Standaard audiotrack","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"account","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"versie","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"Start videospeler in apart scherm (geavanceerd)","SETTINGS_PLAY_IN_EXTERNAL":"Video altijd in externe speler starten","SETTINGS_STORAGE_BUTTON":"Lokale opslag wissen","SETTINGS_STORAGE_MODAL_TITLE":"Weet je het zeker?","SETTINGS_STORAGE_MODAL_MESSAGE":"Dit zal de lokale opslag wissen en je uitloggen.","SETTINGS_HWDEC_PICKER":"Hardwareversnelling voor decodering kiezen","SETTINGS_HW_AUTOMATIC":"Automatisch","SETTINGS_HW_DISABLED":"Uitgeschakeld","SETTINGS_HW_ACCELERATED":"Decodering versnellen","SETTINGS_HW_FULL":"Volledige versnelling","SETTINGS_HW_LEGACY":"Erfenis","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Ondertitels","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Bediening","SETTINGS_SECTION_AUTO_PLAY":"Automatisch afspelen","SETTINGS_SECTION_ADVANCED":"Geavanceerd","SUBSPICKER_AUDIO":"Audio","SUBSPICKER_SUBTITLES":"Add-on ondertitels","SUBSPICKER_BLACK_BACKGROUND":"Gebruik een zwarte achtergrondkleur","SUBSPICKER_VERTICAL_OFFSET":"Verticale offset","SUBSPICKER_SIZE":"Grootte","SUBSPICKER_DELAY":"Vertraging","SUBSPICKER_EMBEDDED_SUBS":"Ingesloten ondertitels","MOBILE_PRIVACY_POLICY":"Privacybeleid","MOBILE_CRASH_REPORTING":"Crashrapportage","MOBILE_ZOOM_TO_FILL":"Zoomen om het scherm te vullen","MOBILE_PASSTHROUGH":"Digitale audio-uitvoer (doorvoer)","MOBILE_RUN_LOW_BATTERY":"Uitvoeren op een laag batterijniveau","MOBILE_RUN_FOREGROUND":"Uitvoeren als voorgrondservice","MOBILE_PERFORMANCE":"PRESTATIES & STABILITEIT","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"QR-code verloopt in ","MOBILE_LOG_INTO":"Log in op je Stremio-account ","MOBILE_SCAN_QR":"Scan de QR-code hierboven of ga naar ","MOBILE_LINK_ACCOUNT":"Account koppelen","MOBILE_SPEEDPICKER_CANCEL":"Annuleren","MOBILE_SPEEDPICKER_LABEL":"Selecteer afspeelsnelheid","MOBILE_EMPTY_LIBRARY":"Je bibliotheek is leeg","MOBILE_NO_ADDON_ACTIVE":"Er is geen actieve Stremio-addon voor dit type.","MOBILE_ORGANIZER_WARNING":"De Stremio Organizer-app biedt beperkte functionaliteit. Voor een lijst met afspeelbare streams en de volledige Stremio-ervaring, gebruik je Stremio op desktop.","MOBILE_ADDON_LOADING":"laadt nog","MOBILE_ADDONS_LOADING":"addons laden nog","MOBILE_ADDON":"Add-on","MOBILE_CONFIGURE_ADDON":"Configureer je add-on","MOBILE_CONFIGURE_ADDON_LABEL":"Configureer add-on","MOBILE_ORGANIZER_ADDONS_WARNING":"De Stremio Organizer-app biedt een beperkte selectie van add-ons. Voor de volledige Stremio-ervaring, gebruik je Stremio op desktop.","MOBILE_DISCONNECT":"Verbinding verbreken","MOBILE_LOOKING_FOR_DEVICES":"Zoeken naar apparaten...","MOBILE_CAST_TO":"Casten naar","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Account verwijderen","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Account verwijderen is niet direct mogelijk vanwege wettelijke verplichtingen. Nadat je hebt verzocht om je account te verwijderen, moet je een andere e-mailadres/Facebook-profiel gebruiken om in de toekomst een nieuwe Stremio-account aan te maken.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Account verwijderen bevestigen","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Uw account is gemaakt met behulp van Facebook. Om je account te verwijderen kan je gebruik maken van ons gebruikersportaal op www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Voer je wachtwoord in om de account verwijderen te bevestigen.","MOBILE_DELETE_ACCOUNT_BUTTON":"Account verwijderen","NAVIGATION_ON":"Aan","NAVIGATION_OFF":"Uit","MARKETING_AGREE":"Ik ga akkoord met het ontvangen van marketingcommunicatie van Stremio","QUIT":"Afsluiten","CONNECTED":"Verbonden","AUTHENTICATE":"Authenticeren","CACHING":"Caching","SETTINGS_CACHING_DRIVE":"Selecteer schijf voor caching","ENABLE_LOCAL_FILES_ADDON":"Schakel de lokale bestanden-add-on in (vereist herstart)","LOCAL_ADDON_NOT_ENABLED":"De lokale add-on is niet ingeschakeld. Klik hier om naar de instellingen te gaan en deze in te schakelen","ENABLE_REMOTE_HTTPS_CONN":"Schakel externe HTTPS-verbindingen in","TORRENT_PROFILE":"Torrent-profiel","DATA_CACHING":"Data Caching","MAGNET_PARSING":"Magnetlink verwerken","January":"januari","February":"februari","March":"maart","April":"april","May":"mei","June":"juni","July":"juli","August":"augustus","September":"september","October":"oktober","November":"november","December":"december","Monday":"maandag","Tuesday":"dinsdag","Wednesday":"woensdag","Thursday":"donderdag","Friday":"vrijdag","Saturday":"zaterdag","Sunday":"zondag","Action":"Actie","Comedy":"Komedie","War":"Oorlog","Family":"Familie","Animation":"Animatie","Adventure":"Avontuur","Fantasy":"Fantasie","Crime":"Misdaad","Mystery":"Mysterie","Romance":"Romantiek","Drama":"Drama","Horror":"Horror","Thriller":"Thriller","Sci-Fi":"Sci-Fi","Music":"Muziek","Biography":"Biografie","Documentary":"Documentaire","Sport":"Sport","Musical":"Musical","Western":"Western","Film-Noir":"Film-noir","News":"Nieuws","History":"Geschiedenis","Game-Show":"Spelprogramma","Reality-TV":"Reality-TV","Talk-Show":"Talkshow","Film & Entertainment":"Film & Entertainment","Gaming":"Gaming","From TV":"Van TV","Lifestyle":"Lifestyle","Science & Education":"Wetenschap & Onderwijs","Cooking & Health":"Koken & Gezondheid","Beauty & Fashion":"Schoonheid & Mode","Sports":"Sport","News & Politics":"Nieuws & Politiek","How-to & DIY":"How-to & Klussen","Tech":"Technologie","Automotive":"Automotive","Causes & Non-Profits":"Goede doelen & Non-Profits","Movies":"Films","Uk Live Tv":"UK Live TV","Fashion":"Mode","Business News Radio":"Business News Radio","Business Tv":"Business","Cars & Auto":"Auto\'s","Comedy Radio":"Comedy Radio","Lifestyle Radio":"Lifestyle Radio","News Tv":"Nieuws","Food And Wine":"Eten & Wijn","Latino Tv":"Latino TV","Shopping Tv":"Shopping","Religion":"Godsdienst","Kids":"Kinderen","Body & Soul":"Lichaam & ziel","Education":"Onderwijs","Indian Tv":"Indische TV","Extreme Sports":"Extreme sporten","Middle Eastern Tv":"Midden-Oosten","Celebrity Tv":"Celebrity","Science Tv":"Wetenschap","Bikini babe":"Bikini babe","Outdoors":"Buitenleven","German Tv":"Duitse TV","French Tv":"Franse TV","Italian Tv":"Italiaanse TV","Gamer Tv":"Game","Travel":"Reizen","Asian Tv":"Aziatische TV","Entertainment":"Entertainment","News Radio":"Nieuws Radio","Music Radio":"Muziek Radio","Language Learning":"Taal leren","Science Radio":"Wetenschap Radio","Tech Radio":"Technologie Radio","Science & Technology Vod":"Wetenschap & Technologie Vod","new video":"nieuwe video","new episode":"nieuwe aflevering","new movie":"nieuwe film","recommended":"aanbevolen","we recommend":"onze aanbeveling","offer of the day":"aanbieding van de dag","news":"nieuws","music video":"muziekvideo","CTX_SHOW_HOTKEYS":"Toon snelkoppelingen","CTX_DISMISS_NOTIF":"Notificaties wissen","CTX_DISMISS_ALL":"Verwijder alles","CTX_SHARE":"Delen","CTX_COPY_SHARE_LINK":"Kopieer deelbare link","CTX_COPY_MAGNET_LINK":"Magneet-link kopiëren","CTX_COPY_STREAM_LINK":"Streamlink kopiëren","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Deze video downloaden","CTX_DOWNLOAD_SUBS":"Ondertitelingen downloaden","CTX_VIEW_ON_YOUTUBE":"Bekijk op YouTube","CTX_SHOW":"Kijken","CTX_PLAY":"Speel","CTX_PLAY_IN":"Speel in","CTX_PLAY_ON":"Speel op","CTX_WATCH_ON":"Kijk op","CTX_WATCH":"Kijken","CTX_WATCHED":"Gezien","CTX_WATCH_BEGINNING":"Vanaf het begin kijken","CTX_WATCH_MOBILE":"Op een mobiel apparaat kijken","CTX_REWIND":"Spoel terug naar begin","CTX_MARK_WATCHED":"Markeren als gezien","CTX_MARK_NON_WATCHED":"Markeren als niet gezien","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"Markeer de rest als gezien","CTX_UNMARK_REST":"Markeer de rest als niet gezien","CTX_RECEIVE_NEW_NOTIF":"Nieuwe notificaties ontvangen","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"Van cache verwijderen","CTX_REMOVE_CACHE_EP":"Aflevering uit cache verwijderen","CTX_OPEN_CONTAINING":"Bijhorende map openen","CTX_REMOVE":"Verwijderen van bibliotheek","CTX_AVAILABLE_OFFLINE":"Offline beschikbaar","CTX_PAUSED":"Gepauzeerd","CTX_ALWAYS_ON_TOP":"Altijd op voorgrond","CTX_FULLSCREEN":"Volledig scherm","CTX_WRONG_SUBS":"Verkeerde ondertiteling?","CTX_REPORT_ISSUES":"Fout rapporteren","CTX_COPY":"Kopiëren","CTX_PASTE":"Plakken","CTX_CLEAR":"Legen","CTX_CLEAR_RECENT_SEARCHES":"Recente zoekopdrachten verwijderen","HELLO_THERE":"Hallo daar","HOPE_YOU_ENJOY":"Wij hopen dat je Stremio leuk vindt en het al één van je favoriete programma\'s is!","WHO_ARE_WE":"Wie zijn wij? Wij zijn het team achter Stremio - twee jongens die de laatste 3 jaar erg hard hebben gewerkt, met één doel voor ogen - dit product beter en beter maken.","SUPPORT_US":"Als je Stremio met plezier gebruikt en/of het waardevol voor je is - steun ons!","SPREAD_THE_WORD":"Vertel je vrienden en de wereld over Stremio","MORE_PEOPLE":"Hoe meer mensen Stremio gebruiken, hoe beter het wordt!","SEND_A_LINK":"Of stuur een link naar onze website","TIP_LOCALFILES":"Tip: je kan lokale videobestanden in Stremio slepen om af te spelen","ADDON_MY":"Mijn Addons","ADDON_COMMUNITY":"Community Addons","ADDON_OFFICIAL":"Officiële Addons","ADDON_REPOS":"Addon repositories","ADDON_SEARCH":"Zoek addons","ADDON_INSTALL":"Installeer","ADDON_CONFIGURE":"Configureer","ADDON_UNINSTALL":"Deinstalleren","ADDON_UPGRADE":"Upgraden","ADDON_INSTALLED":"Geïnstalleerd","ADDON_INSTALLED_MSG":"Addon geïnstalleerd!","ADDON_UPGRADED_MSG":"Addon ge-upgrade!","ADDON_UNKNOWN":"Onbekend","ADDON_ERR":"Addon installatie fout!","ADDON_DISCONNECTED":"Verbinding verbroken","ADDON_APP_MISSING":"De app voor deze bron is niet geïnstalleerd. Wil je deze nu installeren?","ADDON_APP_INSTALL":"Installeer Nu","ADDON_PAGE":"Addon Pagina","ADDON_TOP_CONTENT":"Beste van deze Addon","ADDON_PROVIDES":"bied aan","ADDON_WATCH":"Kijk #{types} nu!","ADDON_WATCH_FREE":"Kijk #{types} nu GRATIS!","ADDON_ADDON":"Addon","ADDON_SUPPORTED_TYPES":"Supported types","ADDON_SUPPORTED_CATALOGS":"Supported catalogs","ADDON_PROVIDES_DISCOVER":"Meer #{types} in Ontdekken","ADDON_PROVIDES_STREAMS":"Kijk #{types}","ADDON_PROVIDES_STREAMS_FREE":"Kijk #{types} GRATIS","ADDON_PROVIDES_SUBTITLES":"Ondertiteling voor #{types}","ADDON_CANTDETECT":"We konden geen lopende instantie van Stremio detecteren, hierdoor konden we niet detecteren welke addons er zijn geïnstalleerd.","ERR_NO_META":"Geen informatie over dit ","ERR_GETTING_META":"Fout tijdens het verkrijgen van informatie.","ERR_CANT_PARSE_MAGNET":"Kan magnet link niet verwerken","ERR_NO_MAGNET_INFOHASH":"Geen geldige infohash voor deze magnet link","ERR_NO_FILE_PATH":"Niet mogelijk een verzoek te versturen zonder Unable to send request zonder pad naar bestand","ERR_NO_TORRENT":"Geen torrent gevonden","ERR_NO_SUPPORTERD_FILES":"Geen ondersteunde bestanden gevonden","ERR_OPENING_FILES":"Kon externe bestanden niet openen","ERR_INVALID_LINK":"Ongeldige link","ERR_REGISTERED_ONLY":"Deze optie is alleen beschikbaar voor geregistreerde gebruikers.","ERR_CLIPBOARD":"Kan niet afspelen vanaf het klembord","ERR_CLIPBOARD_READ":"Kan het klembord op dit platform niet lezen","ERR_CLIPBOARD_GENERIC":"Er is geen afspeelbare URL gevonden in het klembord. Kopieer een URL (bijvoorbeeld een magnetlink) naar een video.","BOARD_CONTINUE_WATCHING":"Doorgaan met kijken","BOARD_EXPLANATION_RECOMMENDATIONS":"Films speciaal voor jou gekozen.<br />Deze film is een voorbeeld aanbeveling.","BOARD_EXPLANATION_EPISODES":"Nieuwe afleveringen van uw favoriete series komen hier.<br />Voeg series die je volgt toe aan je bibliotheek.","BOARD_EXPLANATION_VIDEOS":"Nieuwe afleveringen van uw favoriete kanalen komen hier.<br />Voeg Youtube Kanalen die je volgt toe aan je bibliotheek","WEBSITE_ENJOYED_BY":"Geniet net als meer dan 30 miljoen gebruikers over de hele wereld","WEBSITE_STREAMING_ENHANCED":"Streaming verbeterd","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio biedt een veilige, moderne en naadloze entertainmentervaring. Met zijn gebruiksvriendelijke interface en diverse contentbibliotheek, inclusief 4K HDR-ondersteuning, kunnen gebruikers hun favoriete films en tv-shows bekijken op al hun apparaten. En met zijn commitment aan veiligheid is Stremio de ultieme keuze voor een zorgeloze, hoogwaardige streaming ervaring.","WEBSITE_AVAILABLE_ON":"Beschikbaar op","WEBSITE_WATCH_AND_ENJOY":"Kijk & geniet.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio maakt het een fluitje van een cent","WEBSITE_ALL_FEATURES":"Alle functies","WEBSITE_EASY_TO_USE":"Gemakkelijk te gebruiken","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is ontworpen om gebruiksvriendelijk en gemakkelijk te gebruiken te zijn. Met zijn schone en intuïtieve interface kunt u gemakkelijk navigeren en het content vinden dat u wilt bekijken.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Naadloos over apparaten","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Beschikbaar voor een breed scala aan platforms (inclusief Windows, Mac, Linux, Android en meer), Stremio houdt bij uw voortgang op al uw apparaten. Meld u gewoon aan en ga verder met kijken zonder de app opnieuw te hoeven configureren op elk nieuw apparaat.","WEBSITE_ALL_DOWNLOADS":"Alle downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"Ondersteuning voor high-definition video","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"Een geïntegreerde videospeler die de meeste videoformaten ondersteunt, waaronder 4K HDR-content, zodat u kunt genieten van de hoogste kwaliteit die beschikbaar is.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Gevarieerde contentbibliotheek","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integreert met een groot aantal populaire videobronnen, zoals Netflix, Amazon Prime Video, Hulu, YouTube en nog veel meer.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Maak een gratis account aan","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Aangepaste kijkervaring","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio stelt u in staat de look en feel van de interface aan te passen door het thema te wijzigen, add-ons toe te voegen of te verwijderen, en meer.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Ondersteuning voor meertalige ondertitels","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"U kunt nu al uw favoriete content bekijken in uw voorkeurstaal, aangezien Stremio ondertitels in alle talen ondersteunt.","WEBSITE_ALL_STREMIO_FEATURES":"Alle Stremio-functies","WEBSITE_TRY_STREMIO_TITLE_P1":"Probeer Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"Nu op je tv","WEBSITE_YOU_CAN_NOW_WATCH":"Je kunt nu al je favoriete tv-programma\'s bekijken op je Android TV-apparaten. De Stremio TV-app laat je met gemak een filmavond genieten.","WEBSITE_YOU_CAN_NOW_WATCH_2":"Je kunt nu al je favoriete tv-programma\'s bekijken op je Smart TV of Android TV. De Stremio TV-apps laten je met gemak een filmavond genieten.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio voor Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Waarschijnlijk de beste en meest handige app die je op je apparaat kunt hebben. Het is een van de apps die ik dagelijks gebruik, vooral op mijn Android TV, al vele jaren. Goed gemaakt met een sterke community die nuttige functionaliteiten biedt. Goed gedaan. Blijf het goede werk doen.","WEBSITE_REVIEWS":"recensies","WEBSITE_GET_STREMIO_FOR_FREE":"Download Stremio gratis","WEBSITE_GET_STREMIO_NOW":"Download Stremio nu","WEBSITE_STREMIO_FEATURES":"Stremio-functies","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream als een pro met de geavanceerde functies van Stremio en geniet van naadloze toegang tot al je favoriete media","WEBSITE_DISCOVER_MORE":"Ontdek meer.","WEBSITE_DISCOVER_MORE_DETAILS":"Nooit meer zonder dingen om te kijken","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio heeft een grote en actieve community van gebruikers die bijdragen aan de ontwikkeling van de software door add-ons te maken en te delen.","WEBSITE_GET_INVOLVED":"Doe mee","WEBSITE_NEW_THEATER_EXPERIENCE":"Nieuwe bioscoopervaring","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s nieuwe speciale tv-app laat je genieten van een filmavond op je Android TV-apparaten.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s nieuwe speciale tv-apps laten je genieten van een filmavond op je Smart TV of Android TV-apparaten.","WEBSITE_FREE_AND_SECURE":"Gratis & veilig","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio biedt ongeëvenaarde beveiliging en privacy voor gebruikers. Met zijn unieke functie om add-ons op afstand te runnen, biedt Stremio een veiligere manier om je favoriete content te streamen dan andere platforms. Je beveiliging en privacy zijn topprioriteiten, en het platform zorgt ervoor dat al je gegevens worden beschermd.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Vaarwel zeggen tegen zorgen over beveiliging en privacy en hallo zeggen tegen een wereld van eindeloze entertainment met Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Informatie verstrekt door","WEBSITE_CONTRIBUTE":"Draag bij","WEBSITE_CONTRIBUTE_DESC":"aan het project & help ons Stremio nog beter te maken","WEBSITE_COMMUNITY_DESC":"Wij geloven dat de beste manier om een ​​echt geweldige streamingervaring te creëren is door onze community erbij te betrekken. Of je nu een programmeur, een artiest of gewoon een fan bent, je kunt Stremio helpen groeien.","WEBSITE_COMMUNITY_DESC_2":"Dus doe vandaag nog mee en word lid van de Stremio-community en blijf de toekomst van streaming vormgeven.","WEBSITE_WAYS_TO_GET_INVOLVED":"Manieren om betrokken te raken","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in de Stremio-community","WEBSITE_SHARE_YOUR_THOUGHTS":"Deel je mening","WEBSITE_REPORT_BUGS":"Rapporteer bugs","WEBSITE_SUGGEST_FEATURES":"suggereer functies","WEBSITE_AND_PROVIDE_FEEDBACK":"en geef feedback op onze sociale mediakanalen.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testprogramma","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Neem deel aan ons bètatestprogramma (we sturen regelmatig uitnodigingen) in de Stremio-community.","WEBSITE_JOIN_NOW":"Meld je nu aan!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Officiële Stremio-gemeenschappen","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Onofficiële Stremio-gemeenschappen","WEBSITE_BECOME":"Word","WEBSITE_A_VOLUNTEER_TRANSLATOR":"een vrijwillige vertaler","WEBSITE_ARE_YOU_A_DEVELOPER":"Ben jij een ontwikkelaar?","WEBSITE_CONTRIBUTE_CODE":"Je kunt code bijdragen aan onze open source-projecten. We hebben verschillende projecten op GitHub die op zoek zijn naar bijdragers. Als je wilt helpen, bekijk ze dan:","WEBSITE_STREMIO_ON_GITHUB":"Stremio op GitHub","WEBSITE_CREATE_ADDON_DESC":"Maak een add-on om de functionaliteit van Stremio te verbeteren (we hebben een eenvoudig te gebruiken API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We bieden ook de mogelijkheid om bij ons te komen als intern ontwikkelaar zodat we samen kunnen groeien.","WEBSITE_APPLY_AS_AN_INTERN":"Solliciteer als stagiair","WEBSITE_CALLING_ALL_ARTISTS":"Oproep aan alle kunstenaars!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Laat je creativiteit en liefde voor Stremio zien door je fan art te uploaden naar onze online galerij. Of het nu een tekening, schilderij of digitaal ontwerp is, we willen je unieke kijk op het Stremio-merk zien. Sluit je aan bij onze gemeenschap van kunstliefhebbers en deel je werk met Stremio-fans over de hele wereld.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Word lid van ons team en neem je creativiteit naar nieuwe hoogten met onze spannende stagemogelijkheden.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"Stremio is toegewijd aan het behoud van de film- en televisiegeschiedenis door het identificeren van openbare domein- en weesvideo\'s. Door samen te werken met onze community, kunnen we ervoor zorgen dat deze klassieke kunstwerken voor iedereen toegankelijk zijn en voor toekomstige generaties worden beschermd.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Neem gerust contact met ons op als je wilt deelnemen aan dat project.","WEBSITE_JOIN_THE_PROJECT":"Doe mee aan het project","WEBSITE_BE_PART_OF_OUR_MISSION":"Word deel van onze missie","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Geïnteresseerd om lid te worden van het Stremio-team? We bieden volledig remote werk voor gepassioneerde professionals. Bekijk onze openstaande vacatures.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"BESCHRIJVING","WEBSITE_LEARN_MORE":"Meer informatie","WEBSITE_COMPANY":"Bedrijf","WEBSITE_CONTACTS":"Contacten","WEBSITE_NEED_HELP":"Hulp nodig?","WEBSITE_STREMIO_WEB_ON_IOS":"Handleiding voor Stremio Web op iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"Kijk direct","WEBSITE_SLOGAN_ALL":"Alle videocontent die je leuk vindt op één plek","WEBSITE_SLOGAN_NEW":"Alles wat je kunt kijken","WEBSITE_SLOGAN_NEW_NEW":"Vrijheid om te streamen","WEBSITE_WATCH_FROM":"Kijk van","WEBSITE_DOWNLOAD":"Download nu","WEBSITE_DOWNLOAD_FOR":"Download nu voor","WEBSITE_IS_DESKTOP":"Stremio is een desktop applicatie, open deze pagina op uw PC om Stremio te downloaden","WEBSITE_DESKTOP_DEMO_VID":"Desktop demo","WEBSITE_PAGE_HOME":"Home","WEBSITE_PAGE_FEATURES":"Functies","WEBSITE_PAGE_ADDONS":"Addons","WEBSITE_PAGE_TECH":"Technologie","WEBSITE_PAGE_CREATE_ADDON":"Maak een Addon","WEBSITE_PAGE_CONTACTS":"Contacten","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Films","WEBSITE_TYPE_series_PL":"Serie\'s","WEBSITE_TYPE_tv":"Live TV","WEBSITE_TYPE_channel":"Kanalen","WEBSITE_STREMIO_WHAT_IS":"Stremio is een app dat je helpt met het organizeren en onmiddellijk bekijken van je favoriete videos, films, TV series en TV-kanalen.","WEBSITE_FEATURES_WATCH":"Kijk direct in HD","WEBSITE_FEATURES_WATCH_DETAIL":"Klik en bekijk je favoriete films, TV Shows, videos en TV-kanalen.","WEBSITE_FEATURES_SUBS":"Automatische Ondertiteling","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio kiest automatisch gesynchroniseerde ondertiteling voor jouw taal.","WEBSITE_FEATURES_SUBS_LABEL":"Jouw zet, baas.","WEBSITE_FEATURES_CAST":"Speel op TV en mobiele apparaten","WEBSITE_FEATURES_CAST_DETAIL":"Cast naar AppleTV, Chromecast, Smart TV (DLNA/UPnP) en mobiele apparaten.","WEBSITE_LIB":"Geniet van je persoonlijke bibliotheek gesynchroniseerd naar al je apparaten","WEBSITE_LIB_COLLECT":"Collecteer van Stremio","WEBSITE_LIB_IMPORT":"Importeer van Facebook","WEBSITE_LIB_LOCAL":"Voeg toe van je lokale schijf","WEBSITE_BOARD":"Het dashboard- Je one-stop plaats voor Notificaties en Aanbevelingen","WEBSITE_BOARD_RECOMMEND":"Aanbevolen TV Show","WEBSITE_BOARD_TRENDING":"Trending Film","WEBSITE_BOARD_NEW":"Nieuwe Video","WEBSITE_BOARD_EPISODE":"Nieuwe Aflevering","WEBSITE_BOARD_1":"Zoek je iets interessants? Krijg aanbevelingen gebaseerd op jouw smaak!","WEBSITE_BOARD_2":"krijg een notificatie wanneer een nieuwe aflevering van je favoriete TV show of Youtube kanaal uit is!","WEBSITE_BOARD_YOUTUBE":"Nieuwe video\'s van YouTube kanalen","WEBSITE_BOARD_EPISODES":"Nieuwe afleveringen van series die je volgd","WEBSITE_ADDONS":"Content Addons","WEBSITE_TECH_DETAIL":"We houden van technologie, we houden van wetenschap!\\nStremio gebruikt de volgende open-source technologieën:","WEBSITE_TECH_WCJS":"WebChimera.js laat Stremio toe om alle videoformaten af te spelen.","WEBSITE_TECH_WCJS_EXTRA":"We dragen bij aan het kernproject","WEBSITE_TECH_ELECTRON":"Electron zorgt voor de innovatieve basis waarop Stremio gebouwd is.","WEBSITE_TECH_ELECTRON_EXTRA":"We dragen bij aan het project","WEBSITE_TECH_LINVODB":"Een database technologie dat je data organiseert en beschikbaar maakt waar en wanneer je ook inlogt.","WEBSITE_TECH_LINVODB_EXTRA":"In-house technologie","WEBSITE_CREATE_ADDON":"Maak je eigen addon","WEBSITE_CREATE_ADDON_DETAIL":"Heb jij een videoservice? We helpen je graag voordeel te halen uit Stremio door een Addon voor je te maken.","WEBSITE_CREATE_ADDON_BENEFITS":"Voordelen aan het maken van een Addon voor Stremio","WEBSITE_P2P_BEAUTY":"De schoonheid van Peer-to-Peer streaming","WEBSITE_P2P_1":"Betrouwbare en betaalbare full HD / 4K-video op aanvraag of live streaming","WEBSITE_P2P_2":"Distributieplatform met een geweldige gebruikerservaring","WEBSITE_P2P_3":"We maken een addon naar jouw noden en wensen","WEBSITE_P2P_CONTACT":"Geïnteresseerd? <a href=\'mailto:office@stremio.com\'>Contacteer ons</a> zeker.","WEBSITE_P2P_CONTACT_EXTRA":"We helpen je graag om je content te integreren in Stremio!","WEBSITE_P2P":"Af en toe komt er een technologie die de naam van het spel verandert. We hebben veel tijd en moeite geïnvesteerd in het bouwen van onze Peer-to-Peer (P2P) videostreamingmotor die geweldige prestaties en veelzijdigheid biedt voor elke toepassing. \\nNeem contact met ons op voor DRM-compatibele P2P-video op aanvraag of live streaming.","WEBSITE_THOUGHTS":"Gedachten die we willen delen:","WEBSITE_SPREAD":"Vertel iedereen over Stremio:","WEBSITE_CONTACT":"Wil je ons contacteren, doe gerust via","WEBSITE_OPENSOURCE":"Ga voor onze open source-projecten naar onze","WEBSITE_BITCOIN":"Doneer bitcoin:","WEBSITE_FAQ":"Veel Gestelde vragen","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Vragen","WEBSITE_TOS":"Gebruiksvoorwaarden","WEBSITE_LEGAL":"Wettelijk","WEBSITE_PAGE_ABOUT":"Over","WEBSITE_PAGE_BECOME_PARTNER":"Word een partner","WEBSITE_ALL_YOU_CAN_WATCH":"Vrijheid om te kijken \\nNaar alles wat je wilt.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"Wat is stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio is een one-stop-hub voor het verzamelen van video-inhoud. Ontdek, organiseer en bekijk video van allerlei soorten bronnen op elk apparaat dat u bezit.","WEBSITE_WHAT_IS_STREMIO_P2":"Films, TV Shows, series, live TV of webkanalen zoals YouTube en Twitch.tv - je kunt dit allemaal vinden op Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio is een modern mediacentrum dat een alles-in-een-oplossing is voor uw video-entertainment. U ontdekt, bekijkt en organiseert videocontent via eenvoudig te installeren addons..","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Films, TV Shows, live TV of webkanalen - je vindt het allemaal op Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Geniet op al uw media-apparaten","WEBSITE_DEVICES_COLLECT":"Verzamel van Stremio","WEBSITE_DEVICES_IMPORT_FB":"Importeer van Facebook","WEBSITE_DEVICES_LOCAL":"Toevoegen van lokale schijf","WEBSITE_JOIN_THE_PARTY_NOW":"Join the party now","WEBSITE_DEVICES_ALL":"Easy to use on all your devices;","WEBSITE_EXTENDABLE_CATALOG":"Infinitelly extendable video catalog;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Great features to organize your media;","WEBSITE_AS_SEEN_ON":"Zoals gezien op","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"Over ons","WEBSITE_LINK_TECHNOLOGY":"Technology","WEBSITE_LINK_APPS":"Apps","WEBSITE_LINK_DOWNLOADS":"Download\'s","WEBSITE_MORE":"Meer","WEBSITE_LINK_ADDONS":"Addons","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Contribute","WEBSITE_LINK_COMMUNITY":"Community","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... & More","WEBSITE_LINK_HELP":"Help center","WEBSITE_LINK_CONTACTS":"Contacts us","WEBSITE_LINK_TOS":"Terms & conditions","WEBSITE_LINK_PRAVACY":"Privacy policy","WEBSITE_SUBSCRIBE":"Sibscribe","WEBSITE_NEWSLETTER":"Join Our Newsletter for amazing stuff","WEBSITE_PLACEHOLDER_EMAIL":"Your E-mail","WEBSITE_COMMUNITY":"Community","WEBSITE_LINK_PRAVACY_LEGAL":"Privacy & legal","WEBSITE_WHY":"Why we do it","WEBSITE_WHY_P1":"At Stremio, we come to work every day because we want to solve an important problem for the video-on-demand industry. There’s so much new content published every minute that it’s virtually impossible to find your way around it.","WEBSITE_WHY_P2":"We help people navigate that huge world of video entertainment and discover new content to enjoy. Our apps bring together movies, series, live TV, web channels, and more. We are dedicated to making it incredibly easy for users to find titles and broadcasters that they love.","WEBSITE_WHY_P3":"You can use our service on any device and at any time, making Stremio the only video entertainment hub you’ll ever need.","WEBSITE_TEAM":"TEAM","WEBSITE_TEAM_P":"The Stremio team is small but powerful: between the ten of us, we code in X languages, and share expertise in software development, UI and UX design, marketing and advertising, and business and startups.","WEBSITE_FEATURES":"Features","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Discover new content with ease","WEBSITE_FEATURES_DISCOVER_P":"Easily discover new movies, TV shows, series and channels to watch. Browse by category, genre, rating, recency, etc. or simply type a name to find. Stremio makes finding new video content a piece of cake.","WEBSITE_FEATURES_ALL_CONTENT":"All of your video content on one screen","WEBSITE_FEATURES_ALL_CONTENT_P1":"See what movies, series or videos you didn’t finish and continue watching them; get notified for new episodes and releases; and browse through the recommendations you will get based on your viewing habits.","WEBSITE_FEATURES_LIBRARY":"Organize your video library","WEBSITE_FEATURES_LIBRARY_P1":"Add any title to your Stremio library with a single click and find your way around your content, neatly arranged by type, recency, or alphabetical order.","WEBSITE_FEATURES_CALENDAR":"Keep track of everything you watch","WEBSITE_FEATURES_CALENDAR_P1":"Get a calendar visualization of all the movies and series you add to your library. Export your Stremio calendar and sync it so you always know when a new episode or a premier is due.","WEBSITE_FEATURES_BIG_SCREEN":"Enjoy your video content on a bigger screen","WEBSITE_FEATURES_BIG_SCREEN_P1":"Cast whatever you are watching to another device - be it a phone, tablet or a TV with a single click.","WEBSITE_FEATURES_SOURCES":"Watch video from many different sources","WEBSITE_FEATURES_SOURCES_P":"Install official and community addons to enjoy video sourced from many different providers - all in one sleek, easy to use app.","WEBSITE_CREATE_AN_ADDON":"Create an addon","WEBSITE_FEATURES_SYNC":"Sync your library across different devices and resume your playback","WEBSITE_FEATURES_SYNC_P1":"Login with your account across all your devices and enjoy your library, addons, playback and calendar synchronized.","WEBSITE_FEATURES_EXTENDABLE":"Extendable video catalog by addons","WEBSITE_FEATURES_EXTENDABLE_P1":"The Stremio addon catalog provides a number of addons to install and watch a variety of video content from. This includes movies, shows, live TV, sport, news, podcasts, web channels, video games and more.","WEBSITE_FEATURES_AUTO_SUBS":"Automatic subtitles","WEBSITE_FEATURES_AUTO_SUBS_P1":"With our subtitle addons you get automatically selected options for your preferred language.","WEBSITE_FEATURES_CHROMECAST":"Casting to Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Enjoy your video content on a bigger screen or just cast whatever you are watching to another device.","WEBSITE_FEATURES_KEEP_TRACK":"Keep track of your favorite TV shows and Web channels","WEBSITE_FEATURES_KEEP_TRACK_P1":"Get a calendar visualization and notifications for new episodes of your favorite series and web channels.","WEBSITE_FEATURES_POWER_USER":"Power user features","WEBSITE_FEATURES_POWER_USER_P1":"Play in external player","WEBSITE_FEATURES_POWER_USER_P2":"Play from a torrent file or magnet link","WEBSITE_FEATURES_POWER_USER_P3":"Import to your library from Facebook likes or local disk","WEBSITE_ADD_ONS":"Addons","WEBSITE_ADD_ONS_P1":"All of the video content Stremio provides get sourced through an addon system - no content or content provider has been built into the app.","WEBSITE_ADD_ONS_P2":"There are two groups of addons available: official and community addons.","WEBSITE_ADD_ONS_P3":"The official ones are developed and hosted by Stremio, whereas community addons are created by our community members, who also host them.","WEBSITE_ADDONS_OFFICIAL":"Official addons","WEBSITE_ADDONS_WATCHUB":"Stream your favourite movies, series and shows from providers like iTunes, Hulu, Amazon and other UK/US services.","WEBSITE_ADDONS_YOUTUBE":"Watch your favourite YouTube channels ad-free and get notifications for new uploads from the contributors you follow.","WEBSITE_ADDONS_FILMON":"Watch live TV, movies and social television for free. 600 TV channels, 45,000 free movies, documentaries and more.","WEBSITE_ADDONS_OPENSUBTITLES":"Movie and TV subtitles in multiple languages, thousands of translated subtitles uploaded every day.","WEBSITE_ADDONS_COMMUNITY":"Community addons","WEBSITE_ADDONS_FILMON_VOD":"Watch video on demand from Filmon.tv","WEBSITE_ADDONS_TWICH":"Watch live streams from Twitch.tv - a video streaming platform for the e-sports industry.","WEBSITE_ADDONS_VODO":"Watch indie movies absolutely free of charge.","WEBSITE_ADDONS_NETFLIX":"Watch Netflix movies and web series.","WEBSITE_ADDONS_CREATE":"Create an addon","WEBSITE_ADDONS_CREATE_P1":"If you wish, you can develop your own addon. This way, you can give yourself and our community access to new video content, and reach a new, targeted audience of millions of users around the world.","WEBSITE_ADDONS_START_CREATE":"To get started, visit the Stremio Addon SDK page:","WEBSITE_DOWNLOADS":"Downloads","WEBSITE_DOWNLOADS_P1":"For optimal performance, we recommend that you use the latest available version of the Stremio apps. If for some reason, however, you would like to use an older version, you can download it here.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio for Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio for macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio for Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio for Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio for iOS","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"The Stremio platform is open source and you can easily create an addon for content that is currently not sourced.","WEBSITE_CONTRIBUTE_WHY":"Why should you create an addon?","WEBSITE_CONTRIBUTE_WHY_P1":"Reach new audience for your video content","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio’s user base is growing rapidly - within the first year of the launch, Stremio had gained 1 million users around the world, and in the second year of the platform’s existence this number grew to 2.5 million.","WEBSITE_CONTRIBUTE_WHY_P3":"With your addon, you can easily reach this audience and distribute your video content to them.","WEBSITE_CONTRIBUTE_ALL":"Watch your favourite movies, videos, series and channels in one single place.","WEBSITE_CONTRIBUTE_ALL_P1":"You’re a fan of a particular type of content not available on Stremio yet? Create an addon for it and enjoy watching your favourite videos in one of the largest and easiest to use entertainment hubs on the market.","WEBSITE_CONTRIBUTE_ALL_P2":"On top of that, you’ll get the endless gratitude of other like-minded Stremio community members.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetize your addon and earn money with its help","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Once you develop a new addon for Stremio, you can easily monetize it through a number of different ways. If you are considering this, feel free to get in touch with us at ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - we would be happy to consult and advise you about addon monetization options.","WEBSITE_CONTRIBUTE_TRANSLATE":"Become a volunteer translator","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"If you want to enjoy the Stremio apps in different languages, you can join our community of volunteer translators. They help us add versions of the Stremio in many different languages.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Are you eager to get started?","WEBSITE_TRANSALTE_STREMIO":"Translate Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Official communities","WEBSITE_COMMUNITY_OFFICIALS_P1":"Become a part of the growing Stremio community. Follow us on social media and don’t be shy to say hello - we love hearing from our fans! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Unofficial communities","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partners and supporters","WEBSITE_COMMUNITY_GOODIES":"Stremio goodies","WEBSITE_COMMUNITY_WALLPAPERS":"Wallpapers","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"Contact us","WEBSITE_CONTACT_US_P1":"If you have any questions, comments or suggestions, feel free to get in touch with us through the contact form below.","WEBSITE_CONTACT_US_P2":"Keep in mind that we are located in Bulgaria so there may be a delay in addressing your query due to time zone differences.","WEBSITE_CONTACT_US_SUCCESS":"Your message has been sent. We will get back to you at our earliest convenience.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Please enter a valid e-mail!","WEBSITE_CONTACT_US_Q_RELATED_TO":"What is your question related to?","WEBSITE_CONTACT_US_Q_OS":"What is your Operation System?","WEBSITE_CONTACT_US_PH_EMAIL":"Your E-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Message","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"SEND","WEBSITE_CONTACT_US_Q_1":"How to install?","WEBSITE_CONTACT_US_Q_2":"How to uninstall?","WEBSITE_CONTACT_US_Q_3":"(HTML) How to make lasagna?","WEBSITE_CONTACT_US_Q_4":"Addons","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Technology","WEBSITE_TECHNOLOGY_P1":"We love technology and mad science. </br> Here is what powers Stremio (it’s all open-source).","WEBSITE_TECHNOLOGY_P_QT":"Cross-platform software development at its best.","WEBSITE_TECHNOLOGY_P_MPV":"A free, open source, and cross-platform media player.","WEBSITE_TECHNOLOGY_P_RN":"React Native lets you build mobile apps using only JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework embedded into application to get multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm is a mobile platform and a replacement for SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js is an open-source, cross-platform, JavaScript runtime environment.","WEBSITE_TECHNOLOGY_P_RUST":"Rust is a multi-paradigm system programming language focused on safety, especially safe concurrency.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribute to the project","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"There are two ways you can contribute to Stremio and help us make the product even better.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"You can donate your valuable language skills by translating the platform...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"or","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... you can employ your coding skills for creating community addons. ","WEBSITE_TRANSLATE_STREMIO":"Translate Stremio","WEBSITE_404_OH_NO":"Uh-oh! The page you’re looking for is not here...","WEBSITE_GO_HOME":"Go home","WEBSITE_LINK_OTHER_DOWNLOADS":"Other downloads","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Support","WEBSITE_DOWNLOAD_4_0_BETA":"Download Now Stremio 4 beta","WEBSITE_GET_FOR_DESKTOP":"Get for desktop","WEBSITE_LINK_ADDON_COMPETITION":"Addon competition","WEBSITE_LINK_ART_CONTEST":"Art contest","WEBSITE_MY_ACCOUNT":"My account","WEBSITE_MAINPAGE_FAQ_001_H1":"What is Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio is a modern media center that gives you the freedom to watch everything you want.","WEBSITE_MAINPAGE_FAQ_002_H1":"How does it work?","WEBSITE_MAINPAGE_FAQ_002_P1":"Once you install Stremio on your device and create an account, all you have to do is to visit the addon catalog and install any addon you want, and you\'re good to go!","WEBSITE_MAINPAGE_FAQ_002_P2":"After that, you can go to the Discover or Board sections to start exploring content.","WEBSITE_MAINPAGE_FAQ_003_H1":"What can I watch here?","WEBSITE_MAINPAGE_FAQ_003_P1":"A lot: Movies, TV shows, Web channels, Sport, TV channels, listen to Podcasts and more. Thanks to our addon system, you can access a variety of content.","WEBSITE_MAINPAGE_FAQ_004_H1":"Is Stremio open-source?","WEBSITE_MAINPAGE_FAQ_004_P1":"Yes, you can check the following links: ${1}desktop app${2} and ${3}GitHub organization${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Is Stremio safe?","WEBSITE_MAINPAGE_FAQ_005_P1":"Yes: because it is open-source software, the code is publically auditable and you can review it yourself.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"How about my privacy?","WEBSITE_MAINPAGE_FAQ_006_P1":"We respect users\' privacy and do not collect any personal data besides the essential minimum to create and sync your account.","WEBSITE_MAINPAGE_FAQ_006_P2":"There is also a ${1}Guest mode${2} at signup, which requires no data whatsoever: in this mode, no calls are made to our backend. However, it comes at the expense of useful features, such as being able to sync your library across devices.","WEBSITE_MAINPAGE_FAQ_007_H1":"Can I cast to my TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Yes, we support Chromecast and you can cast both from desktop and mobile apps (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"How many addons does Stremio have?","WEBSITE_MAINPAGE_FAQ_008_P1":"As of late 2019, over 50 - for more information, check our addon catalog.","WEBSITE_MAINPAGE_FAQ_009_H1":"Can Stremio be extended beyond what\'s in the addon catalog?","WEBSITE_MAINPAGE_FAQ_009_P1":"Yes, you should check those: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"What devices does Stremio support?","WEBSITE_MAINPAGE_FAQ_010_P1":"We have desktop apps for Windows, Mac and Linux. For mobile, we support Android and iOS, although keep in mind that the iOS is limited in functionality (does not support most addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"There are many Android-based devices which you can run Stremio on, like NVIDIA Shield and Amazon Fire Stick, but we do not support them officially.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Can you add certain content to Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Sorry, we provide no content ourselves, but the more Stremio addons you have installed, the more content you will be able to find.","WEBSITE_MAINPAGE_FAQ_012_H1":"Can Stremio play magnet links?","WEBSITE_MAINPAGE_FAQ_012_P1":"Yes, and it can also play normal HTTP links and torrent files (drag and drop).","WEBSITE_MAINPAGE_FAQ_013_H1":"Can I download a video and watch offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Available offline is an upcoming feature, but if you allow Stremio to cache on your device (from the settings panel) you can watch the videos later without a connection.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nothing works, help me!","WEBSITE_MAINPAGE_FAQ_014_P1":"Are you sure you have installed addons? If yes, check with our ${1}help center${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"How does Stremio sustain it\'s development operations?","WEBSITE_MAINPAGE_FAQ_015_P1":"We run non-intrusive ads occassionally, but we\'re considering moving to a donation model.","WEBSITE_MAINPAGE_FAQ_015_P2":"For more questions, go to our ${1}help center${2}.","HELP_LEARN_MORE":"Help us learn more about you.","LIFESTYLE":"Lifestyle","SPORTS":"Sports","FOOD_HEALTH":"Food & health","BEAUTY_FASHION":"Beauty & Fashion","NEWS":"News","GAMING":"Gaming","SCIENCE_EDUCATION":"Science & education","MUSIC":"Music","TRAVEL":"Travel","LATE_NIGHT":"Late Night","REALITY":"Reality","COMEDY":"Comedy","DIY":"How to DIY","TECH":"Tech","CINEMA":"Cinema","CONTINUE":"Doorgaan","SLOW_LOADING":"TRAAG AAN HET LADEN?","I_GIVE_UP":"IK GEEF OP","LEARN_MORE":"Meer info","POOR_SOURCE":"Deze bron is slecht beschikbaar of je internetverbinding is niet snel genoeg","PICK_CATEGORIES_ERR":"Je moet minimaal 3 categorieën kiezen","ADJUST_TIMING":"Pas de timing aan met ","ADJUST_SIZE":"Pas de grootte aan met ","SEARCH_ANYTHING":"Je kan dit alles zoeken...","ALL_CATEGORIES":"Alles","SEARCH_CATEGORIES":"Films, Series, YouTube & TV","SEARCH_PERSONS":"Acteurs, Regisseurs & Schrijvers","SEARCH_PROTOCOLS":"HTTP & Magnet Links","SEARCH_TYPES":"IMDb / TVDB links","WATCHED":"Gezien","SHOW_LESS":"Toon minder","LAST_SEARCHES":"Laatste zoekopdrachten","CLEAR_HISTORY":"Clear history","CHOOSE_SOME":"CHOOSE SOME OF THIS:","NO_WEB_REMOTE":"Web Afstandsbediening kon niet worden geladen","STREMIO_OFFLINE":"Stremio is offline","STREMIO_EXPENSIVE_CONNECTION":"We\'ve detected that you are using a mobile data connection, do you want to continue?","USE_DATA":"Gebruik data","WARNING":"Waarschuwing","MORE_INFO":"Meer Info ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Laden ...","STREMIO_TV_BACK_TO_LANGUAGES":"Terug naar talen","STREMIO_TV_REMOTE":"Afstandsbediening","STREMIO_TV_GO_TO":"Ga naar:","STREMIO_TV_OR_SCAN":"of scannen:","STREMIO_TV_ADDON_INSTRUCTIONS":"Volg de instructies om je addon keuze te installeren.","STREMIO_TV_LIVE_TV":"Live TV","STREMIO_TV_RESUME_WATCHING":"Verder kijken","STREMIO_TV_LOADING_BACKGROUND":"Achtergrond laden","STREMIO_TV_CHECKING_AUTHENTICATION":"Authenticeren","STREMIO_TV_LOADING_BOARD":"Dashboard laden","STREMIO_TV_LOGIN_HEADER_LINE_1":"We want our users to have the best possible personalized experience with our software.","STREMIO_TV_LOGIN_HEADER_LINE_2":"It is for this reason that we kindly ask you to make and/or login to your account.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Thank you for understanding,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"The Stremio team","STREMIO_TV_REMOTE_INSTRUCTIONS":"om de Web Afstandsbediening met je smartphone / tablet / desktop te gebruiken:","STREMIO_TV_WIFI_SETUP":"Wifi Setup","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio-circle did not detect a internet connection.","STREMIO_TV_WIFI_DETAILS_1":"Connecteer met:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Use password:","STREMIO_TV_WIFI_DETAILS_4":"stremio-circle","STREMIO_TV_WIFI_DETAILS_5":"Open een webbrowser met de link:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Default","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"By Last Watched","STREMIO_TV_LIBRARY_SORT_NAME":"By Name","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"By Times Watched","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Season ${1}","STREMIO_TV_STREAMS_LOADING":"Loaded ${1} / ${2} addons...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} addon is still loading...","STREMIO_TV_PLAYER_SETTINGS":"Player settings","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Subtitles delay","STREMIO_TV_PLAYER_AUDIO_DELAY":"Audio delay","STREMIO_TV_PLAYER_VIDEO_SCALING":"Video scaling","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Unsupported stream source","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Failed opening external link","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Not adjustable in audio passthrough mode","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Play with ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Play with libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Switching to libVLC player due to a playback error","STREMIO_TV_ADDONS_TITLE":"Use Stremio on your Phone or PC to install or configure addons and press \\"Sync Addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Note: make sure you are using the same Stremio account","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sync Addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons successfully synchronized","STREMIO_TV_ADDONS_SYNC_FAILED":"Failed to synchronize addons","STREMIO_TV_META_LINK_FAILED":"Failed opening meta link","STREMIO_TV_CATALOG_LOADING":"Catalog still loading...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Interface language updated","STREMIO_TV_SETTINGS_THEME_UPDATED":"Theme updated","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Default Player","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Externe speler","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferred Language","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Secondary Preferred Language","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possible playback issues on some devices","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Some video formats might not work","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"No caching","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Default","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Soft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Fast","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Fast","STREMIO_TV_SETTINGS_SERVER_URL":"Streaming server url","STREMIO_TV_SETTINGS_SERVER_VERSION":"Server version","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Unknown","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio version","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Edit server url","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Enter a streaming server url","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Show statistics while loading","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"To read Stremio\'s Privacy Policy, visit:","STREMIO_TV_SETTINGS_TOS_TEXT":"To read Stremio\'s Terms and Conditions, visit:","STREMIO_TV_NAV_SEARCH":"Search","STREMIO_TV_NAV_HOME":"Home","STREMIO_TV_NAV_DISCOVER":"Discover","STREMIO_TV_NAV_LIBRARY":"Library","STREMIO_TV_NAV_MOVIES":"Movies","STREMIO_TV_NAV_SERIES":"Series","STREMIO_TV_NAV_CHANNELS":"Channels","STREMIO_TV_NAV_TV":"Live TV","STREMIO_TV_NAV_SETTINGS":"Settings","STREMIO_TV_NAV_ADDONS":"Addons","STREMIO_TV_LOGIN_TITLE":"Link Account","STREMIO_TV_LOGIN_EXPIRES_IN":"Expires in","STREMIO_TV_LOGIN_STEP_ONE":"Scan QR Code above or go to","STREMIO_TV_LOGIN_STEP_TWO":"Log in to your Stremio account","STREMIO_TV_LOGIN_NEW_LINK":"Request a new link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Login code refreshed","STREMIO_TV_SEARCH_PLACEHOLDER":"Type something","STREMIO_TV_SEARCH_NO_ADDONS":"No addons were requested for catalogs!","STREMIO_TV_SEARCH_BUTTON":"Search","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Search History","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"You can search for Titles, Actors, Channels and more...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Clear Search History","STREMIO_TV_FILTERS_DESCRIPTION":"Choose from one of the filters below","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"Filters","SETTINGS":"Instellingen","ACCOUNT":"Account","LOGOUT":"Uitloggen","THEMES":"Thema\'s","PLAYBACK":"Afspelen","PLAYBACK_SPEED":"Afspeelsnelheid","AUDIO_TRACKS":"Audiosporen","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Video\'s","SERVER":"Server","LINKS":"Links","ABOUT":"Over","INTERFACE":"Interface","ANIMATIONS":"Animaties","STATUS":"Status","LANGUAGE":"Taal","SIZE":"Grootte","DELAY":"Vertraging","BOLD":"Vet","OPACITY":"Opacity","TEXT_COLOR":"Tekstkleur","OUTLINE_COLOR":"Omlijningskleur","BACKGROUND_COLOR":"Achtergrondkleur","BACKGROUND_BLUR":"Achtergrondonscherpte","SEEK_TIME_DURATION":"Zoektijdduur","AUTO_PLAY":"Automatisch volgende aflevering afspelen","PLAY_NOW":"Nu afspelen","MARK_AS_WATCHED":"Markeren als bekeken","MARK_AS_UNWATCHED":"Markeren als niet bekeken","REWIND_TO_BEGINNING":"Terugspoelen naar het begin","CONTINUE_WATCHING":"Verder kijken","ALL":"Alle","SECONDS":"seconden","ON":"AAN","OFF":"UIT","RELOAD":"Herladen","EDIT_URL":"URL bewerken","NONE":"Geen","EMBEDDED":"Ingesloten","REMOTE_SWITCH_DEVICES":"Verander apparaat","REMOTE_VIDEOS":"Videos","REMOTE_ADJUST_TIMING":"Timing aanpassen","REMOTE_ADJUST_SIZE":"Grootte aanpassen","REMOTE_COULD_NOT_BE_LOADED":"Web Afstandsbediening kon niet worden geladen","REMOTE_RETRY":"Opnieuw proberen","TORRENT_PROFILE_DEFAULT":"Default","TORRENT_PROFILE_SOFT":"Soft","TORRENT_PROFILE_FAST":"Fast","TORRENT_PROFILE_ULTRA_FAST":"Ultra Fast","FAQ_001_H1":"Wat is Stremio?","FAQ_001_P1":"Stremio is a media center software designed for video entertainment with ease of use in mind. Stremio allows you to organize &amp; watch your own collection of movies, series, channels and live TV.","FAQ_001_P2":"Stremio collect the content it shows you from your local disk and our addons system.","FAQ_001_P3":"It will also notify you when new episodes/videos/movies you\'re interested in come out, and provide movie recommendations for you.","FAQ_02_H1":"How does Stremio compare to Kodi and Plex?","FAQ_02_P1":"We are inspired by those two pieces of software. But we have different goals - Stremio is specifically targeted towards entertainment video, and strives to become the mainstream solution for that by being very easy to use.","FAQ_02_P2":"Stremio will never be as customizable and feature-rich as Kodi and Plex, but it is significantly easier to use. Just ${1} get it and see ${2} :)","FAQ_03_H1":"How does Stremio compare to Netflix?","FAQ_03_P1":"Again, Netflix is one of our inspirations. We strive to achieve the user experience of Netflix, plus a lot of added goodies. But most importantly, we\'re giving you the freedom to manage your own library and add new content sources with our addon system.","FAQ_03_P2":"That makes Stremio infinitely extendable, so when you use Stremio, you\'re never limited to the content Netflix decides to license. For example, through Stremio you can watch content from ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} and even ${9}Netflix${10} itself!","FAQ_04_H1":"How does Stremio compare to Flipboard?","FAQ_04_P1":"We don’t get that question that often, except when talking to start-up people :)","FAQ_04_P2":"Stremio is by design a content aggregator, which essentially makes it Flipboard for video. This is very apparent in our Board section, which gives you catalogues and new episode/new video notifications for what you follow, just like Flipboard.","FAQ_05_H1":"How does Stremio compare to Popcorn Time?","FAQ_05_P1":"Stremio and Popcorn Time are similar in user interface, because there aren’t many ways to do video entertainment catalogues right :)","FAQ_05_P2":"But while Popcorn Time is focused on streaming torrents from specific sources, Stremio is unrestricted and is merely a content aggregator - it’s not locked into a specific content source.","FAQ_05_P3":"Furthermore, we do not provide any torrent addons by default, so Stremio does not cover the Popcorn Time use-case with official functionality.","FAQ_05_P4":"Another notable difference is that Popcorn Time is completely open source, while Stremio is ${1} partially open source${2}.","FAQ_06_H1":"Will you add this movie/series?","FAQ_06_P1":"No, sorry :(","FAQ_06_P2":"As is mentioned in most of the other questions, Stremio does not provide any content by itself - everything is added through the addons system. In case you have a content request, you can use the “Report” button in the Player, which will send an e-mail to the author of the addon you’re currently using.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Ga je een addon maken voor X?","FAQ_08_P1":"Dat is mogelijk.","FAQ_08_P2":"If you have an idea for an addon, drop us a line at ${1}office@stremio.com${2}, but please make sure your addon idea will not infringe on any copyrights or terms of use.","FAQ_08_P3":"At the moment, the next things on our roadmap are addons for FandangoNOW, Filmon.tv video on demand and Crunchyroll.","FAQ_09_H1":"Gebruikt Stremio het BitTorrent protocol?","FAQ_09_P1":"Yes, Stremio supports BitTorrent as a streaming protocol. You can use that either with a torrent addon, or by drag-and-dropping a .torrent file into Stremio, or by pasting a magnet link into the Search Bar.","FAQ_09_P2":"Please note that the only official addon using BitTorrent is ${1}Vodo${2}, which provides indie content, all permitted to be distributed with BitTorrent.","FAQ_09_P3":"We do not support use of any third-party addons which may enable copyright infringement.","FAQ_10_H1":"What can I watch in Stremio with the official addons?","FAQ_10_P1":"By default, you can watch Filmon.tv, YouTube and Vodo content within Stremio itself, with it’s embedded player. Additionally, we have an addon for Twitch.tv and a few others.","FAQ_10_P2":"This combined provides a selection of:","FAQ_10_L1":"Popular TV channels, provided by Filmon.tv - for example E4, BBC, Bollyworld TV","FAQ_10_L2":"Everything from YouTube - for example BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indie films met Vodo","FAQ_10_L4":"Online gaming broadcasts with Twitch.tv","FAQ_10_P3":"Additionally, there are many content sources provided with Guidebox and the Netflix addons, which <b>do not</b> play entirely inside Stremio, but would redirect to the given service. For example, the Guidebox addon would give you a selection of movies you can stream in the US for free, from services like TubiTV and Crackle.","FAQ_11_H1":"Stremio won\'t install, what should I do?","FAQ_11_P1":"If you\'re on Windows, try ${1}this alternative installer${2}.","FAQ_11_P2":"If you\'re on Mac OS X, please be aware that we don\'t support anything older than OS X Mavericks (10.9).","FAQ_11_P3":"If you\'re on Linux, be aware that we only support 64 bit (x64) Linux at the moment.","FAQ_11_P4":"If you still can\'t resolve your problem, please write us at our ${1}Facebook group${2}.","FAQ_12_H1":"Why does my anti-virus complain? Is Stremio safe?","FAQ_12_P1":"We assure you Stremio is ${1}100% clean${2}.","FAQ_12_P2":"Your antivirus is complaining because we include advertising in our installer, which some anti-virus programs recognize as ad-ware.","FAQ_12_P3":"If you\'re still unsure, you can try our ${1}alternative installer${2}.","FAQ_13_H1":"Hoe kan ik een addon maken?","FAQ_13_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_13_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_13_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_14_H1":"How are addons published?","FAQ_14_P1":"When you create an addon and host, and put a <b>endpoint</b> field in your manifest, which points to a working addon address, the addon will automatically publish itself to our ${1}Addon catalogue${2}.","FAQ_14_P2":"This happens because the server part of the stremio-addons module automatically makes a call to our API to announce the addon. When our API validates your <b>endpoint</b> as a valid addon, it will start showing in the catalogue.","FAQ_15_H1":"Can I run Stremio in my browser?","FAQ_15_P1":"Not at the moment, but this is coming!","FAQ_15_P2":"If you\'re curious to see an Alpha, you can see it here: ${1}alpha4.strem.io${2}. Keep in mind streaming is disabled on this alpha. We support Chrome, Firefox, Opera and Edge.","FAQ_16_H1":"Casting to TV doesn\'t work / subtitles don\'t work","FAQ_16_P1":"Casting to TV uses the DLNA technology which is very inconsistent between different TV brands and models. For that reason, we do not have the ability to test it in every case, so it\'s far from perfect. Despite this, we\'re working on improving it constantly but we cannot give you a time estimate on when DLNA will start working properly with your TV.","FAQ_16_P2":"If you don\'t even see your TV in the casting menu, please try disabling your network connection and re-enabling it (on Windows, right click the Network and use Enable/Disable), as well as restarting your router, TV and PC.","FAQ_16_P3":"If you are still encountering issues, you can help us by sending your TV brand and model information at ${1}office@stremio.com${2}.","FAQ_16_P4":"In the meantime, we recommend Chromecast, which we support very well, or simply plugging in your TV to your PC with an HDMI cable.","FAQ_17_H1":"Stremio freezes and/or crashes, what can I do?","FAQ_17_P1":"First of all, if you\'re using Windows 7 with AVG anti-virus: we have a problem with that combination. The problem is in AVG itself, and there\'s no reasonable way to resolve it on our end. Unfortunately, exceptions or disabling the anti-virus won\'t work. The only solution is to replace AVG with something else.","FAQ_17_P2":"If that\'s not the issue, but you\'re still using Windows, please update to the latest service pack and update/re-install your GPU drivers, then try again.","FAQ_17_P3":"If you\'re problem is still not resolved, or you\'re using a Mac or Linux, please write us reporting the exact details of the problem at ${1}our Facebook group${2}.","FAQ_18_H1":"How can I make an addon?","FAQ_18_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_18_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_18_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_19_H1":"Why is Stremio taking disk space?","FAQ_19_P1":"Stremio has a <b>local cache</b> to temporarily keep the video files you stream.","FAQ_19_P2":"This has two benefits: first, it allows Stremio to pre-buffer the video ahead so as to ensure smoother streaming. Second, it keeps the videos in the local cache so you can continue watching them offline.","FAQ_19_P3":"How much Stremio keeps depends on the <b>Cache</b> setting in the Settings panel. Stremio may keep up to the set amount (e.g. 2GB) on your disk, unless the currently streamed video is larger than that, in which case it has to allocate enough storage to keep it until you\'re streaming it.","FAQ_20_H1":"Where is the cache folder?","FAQ_20_P1":"On Windows, it\'s stremio-cache in the drive you picked in Settings (e.g. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"On MacOS, it\'s \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"On Linux, it\'s \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"I get \\"Streaming server is not found\\" error, what can I do?","FAQ_21_P1":"If you get this error, it means one of few things:","FAQ_21_P2":"1) You are trying to use an addon backed by YouTube/BitTorrent source, through our ${1}web version${2}. In this case, you should install our desktop version from ${3}our website${4}.","FAQ_21_P3":"2) Something is wrong with your Stremio installation. In this case, try re-installing our latest desktop version from ${1}the website${2}. If this does not help, try disabling anti-virus programs and firewalls, restarting your PC and trying again. If this does not work too, please write us at our ${3}our Facebook group${4}.","FAQ_22_H1":"I cannot see/use most addons on iOS","FAQ_22_P1":"Because of restrictions in the Apple App Store terms and conditions, we have restricted the iOS application only to a particular set of addons.","FAQ_22_P2":"But rest assured - there will be more addons for iOS in the future, and we may also add an integration that will allow you to use all Stremio addons thanks to connecting the iOS app to the Stremio Streaming Server."}')},88159:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Film","TYPE_series":"Serie","TYPE_tv":"TV kanal","TYPE_channel":"Kanal","TYPE_other":"Other","TYPE_movie_PL":"Filmar","TYPE_series_PL":"Seriar","TYPE_tv_PL":"TV kanalar","TYPE_channel_PL":"Kanalar","TYPE_other_PL":"Others","TYPE_ALL":"All","TYPE":"Type","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"Video","BACK":"Tilbake","MORE":"More","DONE":"Done","COPY":"Copy","SUCCESS":"Success","ERROR":"Error","SETTINGS_CASTING_MODE_PICKER":"Casting mode","CASTING_MODE_HLSV2":"Default","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"No transcoding","Discover":"Oppdag","Board":"Board","Library":"Bibliotek","My Library":"My Library","Calendar":"Kalender","NOTIFICATION_ONLINE":"You are now online","NOTIFICATION_OFFLINE":"You are currently offline","INTERNET_CONNECTION":"Network connection","STORAGE_FULL_TITLE":"Warning: Storage full!","STORAGE_FULL_TEXT":"Stremio will not be able to save your settings, preferences or login information. Consider re-starting or re-installing Stremio.","SEARCH":"Søk mellom","SEARCH_NO_RESULTS":"No results were found","SEARCH_EXPLANATION_CONTENT":"Search for movies, series, YouTube and TV channels","SEARCH_EXPLANATION_PEOPLE":"Search for actors, directors and writers","SEARCH_PASTE_LINKS":"Paste HTTP and Magnet links","SEARCH_OR_PASTE_LINK":"Search or paste link","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"Legg til i bibliotek","REMOVE_FROM_LIB":"Fjern frå bibliotek","ADDED_TO_LIB":"Added to Library","REMOVED_FROM_LIB":"Removed from Library","TRAILER":"Trailer","WATCH_TRAILER":"Sjå Trailer","WATCH_NOW":"Sjå No","SHOW":"Vis","SHOW_MOVIE":"Show Movie","WATCH_RANDOM":"Watch Random","IMDB_RATING":"IMDb Rangering","YEAR":"År","DIRECTOR":"Regissør","WRITER":"Forfattar","LEAD_ACTORS":"Hovudskodespelarar","CAST":"Skodespelarar","CREW":"Crew","SHOW_MORE_CAST":"Show more »","AIRED":"Utgjeven","SEASONS":"Sesongar","GENRE":"Sjanger","GENRE_ALL":"All genres","CATALOG":"Catalog","SUMMARY":"Samandrag","SHOW_MORE":"Show More","SIMILAR":"Liknade","UPCOMING":"Kjem","ENDED":"Enda","DURATION":"Lengd","FEATURED":"Featured","METADATA":"Metadata","CATEGORY":"category","LINKS_GENRES":"Genres","LINKS_CAST":"Cast","LINKS_DIRECTORS":"Directors","SEARCH_VIDEOS":"search videos","SEARCH_PLACEHOLDER":"search or paste magnet link","ADDON":"Utviding","ADDONS":"Utvidinger","OFFICIAL":"Offisielle","ADDONS_OFFICIAL":"Offisielle Stremio Utvidinger","ADDONS_POPULAR":"Populært i området ditt","ADDON_FREE":"Gratis","ADDON_PEERED":"peered","ADDON_SUBSCRIPTION":"Abonnering","ADDON_STREAM_GEORESTRICTED":"not available in your area","ADDON_STREAM_OFFLINECACHE":"Offline Cache","ADDON_STREAM_LOCALFILE":"Local File","SHARE_ADDON":"Share addon","AVAILABLE_STREAMS":"Tilgjengelege Streams","NO_STREAM":"Ingen streams tilgjengelege","ALL_ADDONS":"All","INSTALL_MORE_ADDONS":"For more streams, please install more addons","STREAM_NOT_SUPPORTED":"Selected stream is not supported on this platform.","ADDON_CATALOGUE":"Show all addons »","ADDON_CATALOGUE_MORE":"More addons »","REPO_ADDED":"Repository added","ADDON_REPO_EXIST_ERR":"This addons repository already exist","ADDON_REPO_ERR":"Error occurred while adding repository","ADDON_ADD_ERR":"Error occurred while adding addon","ERR_ADDON_PROTECTED":"Protected addon","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Something went wrong - authentication may have failed","ERR_NOT_COLLECTION_URL":"Not a collection url","ERR_NOT_ADDON_URL":"Not an addon url","ERR_DETECTFROMURL":"Cannot detect from url","ADDON_DUPLICATE_WARNING":"Warning: duplicated addon","ADDON_COLLECTION_SET_FAILED":"Addon collection set failed","SETTINGS_DATA_EXPORT":"Export data","ADDON_PULL_FAILED":"Addon pulling failed","REFRESH_ON_CLICK":"Click to retry","STILL_IN_THEATER":"Filmen er framleis på kino","WATCH_IN_CINEMA":"sjå han på din lokale kino","IN_THEATER":"In cinema","GET_TICKETS":"Get tickets","UPCOMING_EPISODE":"Upcoming episode","UPCOMING_EPISODE_MESSAGE":"This episode will be aired on","MISSING_DATE_EPISODE":"Missing episode date","MISSING_DATE_EPISODE_MESSAGE":"This episode might not have aired yet","CHANNEL_NOT_SCRAPED":"Denne kanalen er ikkje ferdig enda.<br>Ver vennleg og kom tilbake om nokon få minutt.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Legg han til i ditt bibliotek for å bli varsla når han blir tilgjengeleg.","GET_NOTIFIED_WHEN_AVAILABLE":"Du vil bli varsla med ein gong han er tilgjengeleg.","WARNING_STREAMING_SERVER":"Warning: local streaming server not found. Streaming from YouTube and BitTorrent will not be available.","WARNING_STREAMING_SERVER_DISMISS":"Dismiss","WARNING_STREAMING_SERVER_LATER":"Later","DECODER_WARNING":"Warning: this video may not be supported by your hardware. Keep in mind, playback may be slow.","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"Oops, Player Error","PLAYER_ERROR_LOOKSLIKE":"It looks like","PLAYER_ORIENTATION":"Player orientation","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Locked","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensor","PLAYER_ORIENTATION_LANDSCAPE":"Player orientation locked at landscape","PLAYER_ORIENTATION_SENSOR":"Player orientation automatic (sensor)","PLAYER_PLAYBACK_SPEED":"Playback Speed","PLAYER_PLAYBACK_ERROR":"Playback error, please try again","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Unknown error","PLAYER_PLAYBACK_ERROR_DEFAULT":"Sorry, this video cannot be played by {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Subtitles Languages","PLAYER_SUBTITLES_VARIANTS":"Subtitles Variants","PLAYER_SUBTITLES_SETTINGS":"Subtitles Settings","PLAYER_SUBTITLES_DISABLED":"Subtitles are disabled","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Vertical Position","PLAYER_SUBTITLES_LOADED":"Subtitles loaded","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Embedded subtitles loaded","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Exclusive subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Subtitles from {{origin}} loaded","PLAYER_PLAY":"Play","PLAYER_PAUSE":"Pause","PLAYER_NEXT_VIDEO":"Next Video","PLAYER_MUTE":"Mute","PLAYER_UNMUTE":"Unmute","PLAYER_OPEN_IN_EXTERNAL":"Open in external player","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Play in {{device}}","PLAYER_LIVE":"Live","PLAYER_NEXT_VIDEO_TITLE":"Coming up next on","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Dismiss","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Watch now","PLAYER_COPY_STREAM_SUCCESS":"Stream link was copied to your clipboard","PLAYER_COPY_STREAM_ERROR":"Failed to copy stream link","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","STREAMING_FROM":"Streamer frå","CASTING_TO":"Caster til","NETWORK_STATUS":"Nettverks status","STREAM_SPEED":"Fart på streamen:","STREAM_BUFFERED":"Buffret:","PEERS_INFO":"Informasjon om peers","PEERS_ACTIVE":"Aktive:","PEERS_CONNECTED":"Tilkoblet:","PEERS_WAITING":"Ventar:","TRANSCODING_WARNING":"Warning: transcoding video.","STREAM_LOADING":"Lastar...","PLAYING_LOCAL":"Spelar frå lokal fil","PLAYING_CACHE":"Spelar frå cache","WRONG_SUBS":"Feil undertekstar?","ERR_SUBS_LOADING_TITLE":"Error loading subtitles","ERR_SUBS_LOADING":"Failed loading subtitles: this could be an issue with the addon you are using, or with your network connection","WARN_FOLLOWING_SUB_ADDONS_FAILED":"The following subtitle addons failed","ERR_CASTING_UPDATE_TITLE":"Could not update casting device info: streaming server might be offline","CHOOSE_DEVICE":"Vel ein eining å streame frå","NO_CAST_DEVICES":"No casting devices available.","NO_SETTINGS":"No settings available.","PHONE_TABLET":"Telefon / Nettbrett","SUBTITLES":"Subtitles","SUBTITLES_CHANGE":"Endre undertekstar for ","SUBTITLES_CHANGE_NONE":"Det fins ingen andre undertekstar for dette språket, beklagar.","SUBTITLES_CHANGE_ACIVE":"Currently subtitles &#35;{{subtitlesDialog.activeIdx + 1}} are activated. Click \\"Continue\\" to activate subtitles &#35;{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Alteratively,","SUBTITLES_ADJUST_DELAY":"Adjust subtitle delay:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Or use <span>G</span> / <span>H</span> keys while playing to adjust.","SUBTITLES_ADJUST_DELAY_TIP":"TIP: you can use <span>G</span> / <span>H</span> keys while playing to adjust.","SUBTITLES_DELAY":"Subtitles delay:","SUBTITLES_LOADING":"Loading subtitles...","SUBTITLES_UNAVAILABLE":"No external subtitles available","SUBTITLES_DISABLED":"Disabled","EXTERNAL_PLAYER_DISABLED":"Disabled","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Allow Choosing","EXTERNAL_PLAYER_HINT":"Hint: There is a setting to allow always opening with external player","DONT_SHOW_AGAIN":"Don\'t show again","SERVICE_INSTALL":"Install","AUDIO":"Audio","DEFAULT_LANGUAGE":"Default Language","DEFAULT_SECONDARY_LANGUAGE":"Default Secondary Language","SEASON":"Sesong","EPISODE":"Episode","EPISODE_ABBREVIATION":"EP","SPECIAL":"Special","SORT":"sort","SORT_BY":"Sort by","FILTER":"filter","SORT_TRENDING":"trending","SORT_RECENT":"nyleg","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"rangering","SORT_WATCHED":"sett","SORT_YEAR":"år","SELECT_TYPE":"Select type","SELECT_SORT":"Select sort","SELECT_CATALOG":"Select catalog","SELECT_GENRE":"Select genre","SORT_LASTWATCHED":"By last watched","SORT_NAME":"By name","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"By times watched","SORT_NOTWATCHED":"not watched","New for You":"New for You","New Episodes":"New Episodes","New Videos":"New Videos","Recommendations":"Recommendations","LIBRARY_RESUME":"resume","LIBRARY_PLAY":"Play","LIBRARY_DETAILS":"Details","LIBRARY_RESUME_DISMISS":"dismiss","LIBRARY_CLEAR_PROGRESS":"Clear Progress","LIBRARY_REMOVE":"Remove","LIBRARY_NOT_LOGGED_IN":"Library is only available for logged in users","CALENDAR_NOT_LOGGED_IN":"Calendar is only available for logged in users","NOT_LOGGED_IN_CLOUD":"Access your favorite movies and TV shows anytime, anywhere","NOT_LOGGED_IN_RECOMMENDATIONS":"Recommendations tailored to your viewing history","NOT_LOGGED_IN_NOTIFICATIONS":"Never miss an episode again","NOT_LOGGED_IN_CALENDAR":"Schedule your personal watching calendar","DISCOVER_FEATURED":"Utvald","DISCOVER_TOP":"Topp","DISCOVER_OSCAR":"Oscar vinnarar","DISCOVER_WARNING_TITLE":"Oops!","DISCOVER_EMPTY_CATALOG":"This addon returned empty content.","DISCOVER_ADULT_WARNING":"The content is visible only for adults. Are you 18+?","DISCOVER_NOADDON_WARNING":"Åtvaring: ingen Stremio utviding aktiv for denne typen. Visar lagra element, ingenting vil oppdatere.","DISCOVER_LOAD_ERR":"The content did not load, error occured.","DISCOVER_ADDON_UNINSTALLED":"This content is no longer available, you may have un-installed the addon.","UNINSTALL_THIS_ADDON":"Uninstall this addon","ERR_ADDON_NOT_INSTALLED":"This addon is not installed. Install now?","DETAIL_RECEIVE_NOTIF_SERIES":"Receive notifications for new episodes","DETAIL_RECEIVE_NOTIF_VIDEOS":"Receive notifications for new videos","SIDEBAR_SHOW_STREAMS":"Show Streams","RELAUNCH":"Start på nytt no!","UPGRADE":"Oppdater til den nyaste Stremio versjonen","RELOAD_UI":"Reload the user interface","MANUAL_UPDATE_TITLE":"Update your Stremio version","MANUAL_UPDATE_LINE1":"You are running an outdated version of Stremio which is highly unrecommended.","MANUAL_UPDATE_LINE2":"Please update as soon as possible.","BUTTON_UPDATE_LATTER":"Not now","BUTTON_UPDATE_NOW":"Update","ANONYMOUS_USER":"Anonymous user","DONT_HAVE_ACC":"Don\'t have an account?","HAVE_ACC":"Already have an account?","PASSWORD":"Password","PASSWORD_CONFIRM":"Confirm password","EMAIL":"E-mail","FB_LOGIN":"Logg på med Facebook","FB_NOTHINGSHARED":"Nothing is shared without your permission","FB_NOPOST":"We won’t post anything on your behalf","OR":"eller","I_ACCEPT":"Eg godtek ","I_ACCEPT_BY_CLICKING":"By clicking the above button I testify that I accept the ","TOS":"Vilkåra og føresetnadene","MUST_ACCEPT_TERMS":"You must accept terms","PASSWORDS_NOMATCH":"Passorda er ikkje like","SIGN_UP":"Registrer","SIGN_UP_EMAIL":"Sign up with email","CLICK_TO_SIGN_UP":"Click here to sign up.","LOG_IN":"Logg på","LOG_OUT":"Logg ut","EXIT_FULLSCREEN":"Exit fullscreen mode","ENTER_FULLSCREEN":"Enter fullscreen mode","PLAY_URL_MAGNET_LINK":"Play URL/Magnet link","HELP_FEEDBACK":"Help & Feedback","TERMS_OF_SERVICE":"Terms of Service","PRIVACY_POLICY":"Privacy Policy","ABOUT_STREMIO":"About Stremio","USER_PANEL":"User Panel","LOGIN_LABEL":"Login","GUEST_LOGIN":"Gjestepålogging","GUEST_LOGIN_NOTICE":"Guest Login is not recommended. Using a regular login allows Stremio to sync your Library, receive notifications for favourite series/channels. Are you sure you want to proceed?","GUEST_LOGIN_NOTICE_2":"Guest Login is not recommended - you won\'t have synced Library and Board notifications, which are vital Stremio features. Are you sure you want to proceed?","CLICK_HERE":"Klikk her","WRONG_PASSWORD":"Feil passord. I tilfelle du har gløymd passordet, ","SET_A_PASS":"lag eit passord","RESET_PASSWORD":"Reset password","FORGOT_PASSWORD":"Forgot password?","EMAIL_USED_WITH_FB":"Denne eposten er i bruk av ein Facebook pålogging.","INVALID_EMAIL":"Please enter a valid email address","INVALID_PASSWORD":"Please enter a valid password","CONN_ERR":"Connection error - please try again later.\\n\\nIf this persists, disable firewalls/anti-virus software (especially Bitdefender).","IMPORT_FROM_GUEST":"Import Library from your guest account","RECEIVE_UPDATES_EMAIL":"Receive updates to your email from Stremio","LOGIN_FAILED":"Login failed.","SIGNUP_FAILED":"Signup failed.","SEARCH_FAILED":"Search failed","EMAIL_USED":"This email is already in use.","WAITING_FB_LOGIN":"Logging in with Facebook...","EXTERNAL_PLAYER_TITLE":"Play in external player","EXTERNAL_REMEMBER_PLAYER":"Do you want to remember your choice","EXTERNAL_ALWAYS_PLAY":"Yes","EXTERNAL_ONLY_ONCE":"No","BEST_FIT":"Best Fit","FIT_SCREEN":"Fit Screen","FILL":"Fill","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"Tell us about what you like","INTRO_TASTE_LONG":"Tell us about what you\'d like to watch","INTRO_TASTE_PICK":"Pick {{interestsRemaining}} interests","INTRO_TASTE_PICK_MORE":"Pick {{interestsRemaining}} more interests","INTRO_TASTE_HELP_US":"Help us learn more about you.","INTRO_TASTE_CHOOSE_THESE":"Choose some of these:","INTRO_TASTE_CHOOSE_MIN":"Choose at least 3 categories","INTRO_TASTE_CHOOSE_MIN_ERR":"You have to pick at least 3 categories!","INTRO_TASTE_LIFESTYLE":"Lifestyle","INTRO_TASTE_SPORTS":"Sports","INTRO_TASTE_FOOD_HEALTH":"Food & Health","INTRO_TASTE_BEAUTY_FASHION":"Beauty & Fashion","INTRO_TASTE_NEWS":"News","INTRO_TASTE_GAMING":"Gaming","INTRO_TASTE_SCIENCE_EDU":"Science & Education","INTRO_TASTE_MUSIC":"Music","INTRO_TASTE_TRAVEL":"Travel","INTRO_TASTE_LATE_NIGHT":"Late Night Show","INTRO_TASTE_REALITY":"Reality","INTRO_TASTE_COMEDY":"Comedy","INTRO_TASTE_DIY":"How to DIY","INTRO_TASTE_TECH":"Tech","INTRO_TASTE_CINEMA":"Cinema","ADDON_NOT_SUPPORTED":"Selected addon is not supported on this platform.","ADDON_DISCLAIMER":"Bruk av tredjeparts-utvidinger vil alltid vere ditt eige ansvar med omsyn til den gjeldane lova der du oppheld deg.","ADDON_ACTIVATE":"Aktivere denne utvidingen?","ADDON_REPO_ADD":"Addon repository url","ADDON_ADD":"Add","INSTALL_ADDON":"Install addon","ADD_ADDON":"Add addon","ADD_ADDON_DESCRIPTION":"You can add an addon via an external link, which will appear under Installed addons.","PASTE_ADDON_URL":"Paste addon URL","WHATS_NEW":"Kva er nytt?","BUTTON_CONTINUE":"Hald fram","BUTTON_ACTIVATE":"Aktiver","BUTTON_ACTIVATED":"Activated","BUTTON_CANCEL":"Avbryt","BUTTON_SUBMIT":"Submit","BUTTON_DISMISS_ALL":"Dismiss All","BUTTON_VIEW_ALL":"view all","BUTTON_SEE_ALL":"See All","BUTTON_COLOR_TRANSPARENT":"Transparent","OPEN_IN_BROWSER":"Open in browser","LIB_EMPTY":"Biblioteket ditt ser tomt ut. Finn ut kvar nyttig det er :) ","HOW_START":"Kom i gang:","LIB_EMPTY_CAL":"Kalenderen din visar seriar i biblioteket ditt.","HOW_START_CAL":"Her er korleis du kan leggje til seriar:","LIB_EMPTY_BOARD":"Board viser varslar &amp; anbefalingar relatert til biblioteket ditt.","HOW_START_BOARD_WAIT":"Legg til nokon seriar eller kanalar i biblioteket ditt og gi oss nokon minutt til å behandle dei :)","HOW_START_BOARD":"Her er korleis du kan leggje til seriar &amp; filmar til det:","IMPORT_FB":"Importer ting du likar frå <span>Facebook</span>","IMPORT_TRAKT":"Import your media library from <span>Trakt</span>","IMPORT_DISCOVER":"Finn interessante ting frå <span>Oppdag</span>","IMPORT_DISK":"Importer filmar eller seriar frå din <span>lokale Harddisk</span>","PLEASE_CREATE_ACC":"Please <u>create an account</u> to enable Library sync &amp; Board.","IMPORT_DISCOVER_SIGNUP":"Sign up and find interesting stuff from <span>Discover</span>","IMPORT_DISK_SIGNUP":"Sigm up and import movies or shows you have on your <span>local disk</span>","LIB_EMPTY_CLOUD":"Cloud library","LIB_EMPTY_CLOUD_DESC":"Personal cloud library synced on all devices","LIB_EMPTY_EARLY":"Early bird","LIB_EMPTY_EARLY_DESC":"Receive notifications for new episodes","LIB_EMPTY_PERSONAL":"Personal","LIB_EMPTY_PERSONAL_DESC":"Get personal recommendations","LIB_EMPTY_CALENDAR_DESC":"Schedule your personal watching calendar","LIB_EMPTY_ALL":"Sign up to get all of these:","LIB_EMPTY_BEST":"Sign up to get best of Stremio","LIB_EMPTY_OTHER":"Sign up to enable Calendar & other cool features","CALENDAR_ADDED":"The Stremio calendar has been added to your default desktop calendar.","CALENDAR_ADDED_MSG":"If this does not work, please add this URL to your calendar application manually","TRAKT_EXPIRED":"Trakt authentication expired, please go to Settings and re-authenticate","TRAKT_REQUIRES_LOGIN":"Trakt error","TRAKT_REQUIRES_LOGIN_MSG":"You need to login","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","SETTINGS_LABEL":"Settings","SETTINGS_NAV_GENERAL":"General","SETTINGS_NAV_PLAYER":"Player","SETTINGS_NAV_STREAMING":"Streaming","SETTINGS_NAV_SHORTCUTS":"Shortcuts","SETTINGS_SHORTCUT_RELOAD_APP":"Reload App","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Open Settings","SETTINGS_SHORTCUT_SWITCH_TABS":"Switch Tabs","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Cycle Through Tabs Forward","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Cycle Through Tabs Backward","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigate Between Menus","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Go to Search","SETTINGS_SHORTCUT_EXIT_BACK":"Exit / Go Back","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Toggle Playback Speed Menu","SETTINGS_SHORTCUT_MENU_VIDEOS":"Toggle Videos Menu","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Toggle Subtitles Menu","SETTINGS_SHORTCUT_MENU_INFO":"Toggle Info Menu","SETTINGS_SHORTCUT_FULLSCREEN":"Toggle Fullscreen","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Show Controls","SETTINGS_SHORTCUT_PLAY_PAUSE":"Play / Pause","SETTINGS_SHORTCUT_VOLUME_UP":"Volume Up","SETTINGS_SHORTCUT_VOLUME_DOWN":"Volume Down","SETTINGS_SHORTCUT_SEEK_NEXT":"Seek Next","SETTINGS_SHORTCUT_SEEK_PREV":"Seek Prev","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Seek Backward","SETTINGS_SHORTCUT_SEEK_FORWARD":"Seek Forward","SETTINGS_SHORTCUT_PLAY_NEXT":"Play Next","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Increase Subtitles Size","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Decrease Subtitles Size","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Increase Subtitles Delay","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Decrease Subtitles Delay","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Toggle Sidebar","SETTINGS_SHORTCUT_OR":"or","SETTINGS_SHORTCUT_TO":"to","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Authenticate","SETTINGS_FACEBOOK_IMPORT":"Import","SETTINGS_CALENDAR_SUBSCRIBE":"Subscribe","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Interface Language","SETTINGS_LAUNCH_STARTUP":"Køyr ved oppstart","SETTINGS_VLC_DEFAULT":"Play with VLC","SETTINGS_UI_LANGUAGE":"UI Language","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Escape key exit full screen","SETTINGS_GAMEPAD":"Enable gamepad support","SETTINGS_CLOSE_WINDOW":"Close app when window is closed","SETTINGS_SUBTITLES_LANGUAGE":"Default Subtitles Language","SETTINGS_SUBTITLES_SIZE":"Default Subtitles Size","SETTINGS_SUBTITLES_BACKGROUND":"Subtitles background","SETTINGS_SUBTITLES_COLOR":"Subtitles color","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Subtitles outline color","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Subtitles background color","SETTINGS_SEEK_KEY":"Arrow keys seek time","SETTINGS_SEEK_KEY_SHIFT":"Arrow keys seek time when Shift key is held","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Rewind & Fast-forward duration","SETTINGS_BINGE":"Auto-play next episode","SETTINGS_NEXT_VIDEO":"Show notification to start next episode","SETTINGS_NEXT_VIDEO_TRIGGER":"Show next episode notification for:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Next video popup duration","SETTINGS_PLAY_IN_BACKGROUND":"Play in background","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Play in external player","SETTINGS_RESIZE":"Auto-resize window before playing","SETTINGS_OVERRIDE_SERVER":"Override the streaming server URL (advanced)","SETTINGS_SERVER_URL":"Streaming server URL: ","SETTINGS_SERVER_AVAILABLE":"Streaming server is available.","SETTINGS_SERVER_UNAVAILABLE":"Streaming server is not available.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Error","SETTINGS_SERVER_CONFIGURE_TITLE":"Configure streaming server url","SETTINGS_SERVER_CONFIGURE_INPUT":"Enter a streaming server url","SETTINGS_SERVER_CACHE_SIZE":"Cache size","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent profile","SETTINGS_HTTPS_ENDPOINT":"Streaming HTTPS endpoint: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Always use latest Beta","SETTINGS_IMPORT_FB":"Importer frå Facebook","SETTINGS_IMPORT_DISK":"Importer frå lokal disk","SETTINGS_IMPORT_TRAKT":"Import from Trakt","SETTINGS_PAUSE_MINIMIZED":"Pause playback when minimized","SETTINGS_HWDEC":"Hardware-accelerated decoding","SETTINGS_BACKGROUND":"Background playback","SETTINGS_SUBSCRIBE_CALENDAR":"Abonner på ein kalender","SETTINGS_REQ_EXPORT":"Request data export","SETTINGS_ACC_DELETE":"Request account deletion","SETTINGS_CHANGE_PASSWORD":"Endre passord","SETTINGS_TOS":"Vilkåra for tjenesta","SETTINGS_SUPPORT":"Kontakt support","SETTING_LANGUAGE":"Språk","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_LOGOUT":"Log out of Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Log Out of Trakt","SETTINGS_SCAN_FOR_REMOTE":"Scan QR code to open remote","SETTINGS_DESKTOP_NOTIFICATIONS":"Desktop notifications","SETTINGS_DATA_SAVER":"Data saver","SETTINGS_LANGUAGE_INTERFACE":"interface","SETTINGS_LANGUAGE_SUBS":"default subtitles","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Autoselect Audio Track","SETTINGS_DEFAULT_AUDIO_TRACK":"Default Audio Track","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"account","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"version","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"Launch player in a separate window (advanced)","SETTINGS_PLAY_IN_EXTERNAL":"Always start video in external player","SETTINGS_STORAGE_BUTTON":"Clear Local Storage","SETTINGS_STORAGE_MODAL_TITLE":"Are you sure ?","SETTINGS_STORAGE_MODAL_MESSAGE":"This will clear the local storage and log you out.","SETTINGS_HWDEC_PICKER":"Pick hardware-accelerated decoding setting","SETTINGS_HW_AUTOMATIC":"Automatic","SETTINGS_HW_DISABLED":"Disabled","SETTINGS_HW_ACCELERATED":"Decoding acceleration","SETTINGS_HW_FULL":"Full acceleration","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Subtitles","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Controls","SETTINGS_SECTION_AUTO_PLAY":"Auto-Play","SETTINGS_SECTION_ADVANCED":"Advanced","SUBSPICKER_AUDIO":"Audio","SUBSPICKER_SUBTITLES":"Addons Subtitles","SUBSPICKER_BLACK_BACKGROUND":"Use black background color","SUBSPICKER_VERTICAL_OFFSET":"Vertical Offset","SUBSPICKER_SIZE":"Size","SUBSPICKER_DELAY":"Delay","SUBSPICKER_EMBEDDED_SUBS":"Embedded Subtitles","MOBILE_PRIVACY_POLICY":"Privacy Policy","MOBILE_CRASH_REPORTING":"Crash Reporting","MOBILE_ZOOM_TO_FILL":"Zoom To Fill Screen","MOBILE_PASSTHROUGH":"Digital audio output (passthrough)","MOBILE_RUN_LOW_BATTERY":"Run on low battery","MOBILE_RUN_FOREGROUND":"Run as Foreground Service","MOBILE_PERFORMANCE":"PERFORMANCE & STABILITY","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"QR Code expires in ","MOBILE_LOG_INTO":"Log in to your Stremio account ","MOBILE_SCAN_QR":"Scan QR code above or go to ","MOBILE_LINK_ACCOUNT":"Link Account","MOBILE_SPEEDPICKER_CANCEL":"Cancel","MOBILE_SPEEDPICKER_LABEL":"Select Playback Speed","MOBILE_EMPTY_LIBRARY":"Your library is empty","MOBILE_NO_ADDON_ACTIVE":"No Stremio addon active for this type.","MOBILE_ORGANIZER_WARNING":"The Stremio Organizer app provides limited functionality. For a list of playable streams and the full Stremio experience, use Stremio on desktop.","MOBILE_ADDON_LOADING":"is still loading","MOBILE_ADDONS_LOADING":"addons are still loading","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Configure your addon","MOBILE_CONFIGURE_ADDON_LABEL":"Configure Addon","MOBILE_ORGANIZER_ADDONS_WARNING":"The Stremio Organizer app provides a limited selection of addons. For the full Stremio experience, use Stremio on desktop.","MOBILE_DISCONNECT":"Disconnect","MOBILE_LOOKING_FOR_DEVICES":"Looking for devices...","MOBILE_CAST_TO":"Cast to","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Delete Account","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Account deletion is not instant due to legal obligations. After requesting deletion of your account you will have to use different email address/facebook profile to create a new Stremio account in the future.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirm Account Deletion","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Your account has been created using Facebook. To delete your account, please use our user portal at www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Please provide your password to confirm account deletion.","MOBILE_DELETE_ACCOUNT_BUTTON":"Delete Account","NAVIGATION_ON":"On","NAVIGATION_OFF":"Off","MARKETING_AGREE":"I agree to receive marketing communications from Stremio","QUIT":"Avslutt","CONNECTED":"Connected","AUTHENTICATE":"Verifiser","CACHING":"Caching","SETTINGS_CACHING_DRIVE":"Velj caching eining","ENABLE_LOCAL_FILES_ADDON":"Enable the local files addon (requires restart)","LOCAL_ADDON_NOT_ENABLED":"Local addon is not enabled. Click here to go to the settings and enable it","ENABLE_REMOTE_HTTPS_CONN":"Enable remote HTTPS connections","TORRENT_PROFILE":"Torrent Profile","DATA_CACHING":"Data Caching","MAGNET_PARSING":"Parsing a magnet link","January":"Januar","February":"Februar","March":"Mars","April":"April","May":"Mai","June":"Juni","July":"Juli","August":"August","September":"September","October":"Oktober","November":"November","December":"Desember","Monday":"Måndag","Tuesday":"Tysdag","Wednesday":"Onsdag","Thursday":"Torsdag","Friday":"Fredag","Saturday":"Laurdag","Sunday":"Søndag","Action":"Action","Comedy":"Komedie","War":"Krig","Family":"Familie","Animation":"Animasjon","Adventure":"Eventyr","Fantasy":"Fantasy","Crime":"Krim","Mystery":"Mysterium","Romance":"Romantikk","Drama":"Drama","Horror":"Grysjar","Thriller":"Spenning","Sci-Fi":"Sci-Fi","Music":"Musikk","Biography":"Biografi","Documentary":"Dokumentar","Sport":"Sport","Musical":"Musikal","Western":"Western","Film-Noir":"Film-Noir","News":"Nyheiter","History":"Historie","Game-Show":"Gameshow","Reality-TV":"Reality-TV","Talk-Show":"Talk-Show","Film & Entertainment":"Film & Underhalding","Gaming":"Gaming","From TV":"Frå TV","Lifestyle":"Livsstil","Science & Education":"Vitskap & Utdanning","Cooking & Health":"Matlaging & Helse","Beauty & Fashion":"Venleik & Mote","Sports":"Sport","News & Politics":"Nyheiter & Politikk","How-to & DIY":"Gjør det sjølv","Tech":"Teknologi","Automotive":"Bilbransjen","Causes & Non-Profits":"Saker & ideelle organisasjonar","Movies":"Filmar","Uk Live Tv":"UK Direkte TV","Fashion":"Mote","Business News Radio":"Business Nyheitsradio","Business Tv":"BusinessTV","Cars & Auto":"Bilar og Auto","Comedy Radio":"Komedieradio","Lifestyle Radio":"Livsstilsradio","News Tv":"NyheitsTV","Food And Wine":"Mat og Vin","Latino Tv":"Latino TV","Shopping Tv":"ShoppingTV","Religion":"Religion","Kids":"Barn","Body & Soul":"Kropp og Sjel","Education":"Utdanning","Indian Tv":"Indisk TV","Extreme Sports":"Ekstremsport","Middle Eastern Tv":"TV frå Midtøsten","Celebrity Tv":"KjendisTV","Science Tv":"VitskapsTV","Bikini babe":"Bikini babe","Outdoors":"Utandørs","German Tv":"Tysk TV","French Tv":"Fransk TV","Italian Tv":"Italiensk TV","Gamer Tv":"SpelTV","Travel":"ReiseTV","Asian Tv":"Asiatisk TV","Entertainment":"Underhalding","News Radio":"Nyheitsradio","Music Radio":"Musikkradio","Language Learning":"Språklæring","Science Radio":"Vitskapsradio","Tech Radio":"Teknologiradio","Science & Technology Vod":"Vitskap -og Teknologi VOD","new video":"new video","new episode":"new episode","new movie":"new movie","recommended":"recommended","we recommend":"we recommend","offer of the day":"offer of the day","news":"news","music video":"music video","CTX_SHOW_HOTKEYS":"Show hotkeys","CTX_DISMISS_NOTIF":"Dismiss notifications","CTX_DISMISS_ALL":"Dismiss all","CTX_SHARE":"Share","CTX_COPY_SHARE_LINK":"Copy share link","CTX_COPY_MAGNET_LINK":"Copy magnet link","CTX_COPY_STREAM_LINK":"Copy stream link","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Download this video","CTX_DOWNLOAD_SUBS":"Download subtitles","CTX_VIEW_ON_YOUTUBE":"View on YouTube","CTX_SHOW":"Show","CTX_PLAY":"Play","CTX_PLAY_IN":"Play in","CTX_PLAY_ON":"Play on","CTX_WATCH_ON":"Watch on","CTX_WATCH":"Watch","CTX_WATCHED":"Watched","CTX_WATCH_BEGINNING":"Watch from the beginning","CTX_WATCH_MOBILE":"Watch on a mobile device","CTX_REWIND":"Rewind to beginning","CTX_MARK_WATCHED":"Mark as watched","CTX_MARK_NON_WATCHED":"Mark as non-watched","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"Mark rest as watched","CTX_UNMARK_REST":"Mark rest as non-watched","CTX_RECEIVE_NEW_NOTIF":"Receive new notifications","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"Remove from cache","CTX_REMOVE_CACHE_EP":"Remove episode from cache","CTX_OPEN_CONTAINING":"Open containing folder","CTX_REMOVE":"Remove from library","CTX_AVAILABLE_OFFLINE":"Available Offline","CTX_PAUSED":"Paused","CTX_ALWAYS_ON_TOP":"Always on top","CTX_FULLSCREEN":"Fullscreen","CTX_WRONG_SUBS":"Wrong subtitles?","CTX_REPORT_ISSUES":"Report issue","CTX_COPY":"Copy","CTX_PASTE":"Paste","CTX_CLEAR":"Clear","CTX_CLEAR_RECENT_SEARCHES":"Clear recent searches","HELLO_THERE":"Hello There","HOPE_YOU_ENJOY":"We hope you enjoy Stremio and it\'s one of your favourite apps already!","WHO_ARE_WE":"Who are we? We are the team behind it - two guys who work hard every day for the last 3 years, with a single goal - to make this product better and better.","SUPPORT_US":"If you enjoy using Stremio, if Stremio is valuable for you - support us!","SPREAD_THE_WORD":"Share with your friends now, spread the word about Stremio","MORE_PEOPLE":"The more people use Stremio, the better it will get!","SEND_A_LINK":"Or send a link to our website","TIP_LOCALFILES":"Tip: you can drag & drop local video files into Stremio","ADDON_MY":"My Addons","ADDON_COMMUNITY":"Community Addons","ADDON_OFFICIAL":"Official Addons","ADDON_REPOS":"Addon repositories","ADDON_SEARCH":"Search addons","ADDON_INSTALL":"Install","ADDON_CONFIGURE":"Configure","ADDON_UNINSTALL":"Uninstall","ADDON_UPGRADE":"Upgrade","ADDON_INSTALLED":"Installed","ADDON_INSTALLED_MSG":"Addon installed!","ADDON_UPGRADED_MSG":"Addon upgraded!","ADDON_UNKNOWN":"Unknown","ADDON_ERR":"Addon install error!","ADDON_DISCONNECTED":"Disconnected","ADDON_APP_MISSING":"the app for this source is not installed. Do you want to install it now?","ADDON_APP_INSTALL":"Install Now","ADDON_PAGE":"Addon Page","ADDON_TOP_CONTENT":"Best from this Addon","ADDON_PROVIDES":"provides","ADDON_WATCH":"Watch #{types} now!","ADDON_WATCH_FREE":"Watch #{types} for FREE now!","ADDON_ADDON":"Addon","ADDON_SUPPORTED_TYPES":"Supported types","ADDON_SUPPORTED_CATALOGS":"Supported catalogs","ADDON_PROVIDES_DISCOVER":"More #{types} in Discover","ADDON_PROVIDES_STREAMS":"Watch #{types}","ADDON_PROVIDES_STREAMS_FREE":"Watch #{types} for FREE","ADDON_PROVIDES_SUBTITLES":"Subtitles for #{types}","ADDON_CANTDETECT":"We couldn\'t detect a running Stremio, so we couldn\'t detect what addons you have installed.","ERR_NO_META":"No information found about this ","ERR_GETTING_META":"Error retrieving information about this.","ERR_CANT_PARSE_MAGNET":"Unable to parse magnet","ERR_NO_MAGNET_INFOHASH":"No valid info hash for magnet","ERR_NO_FILE_PATH":"Unable to send request without a path to file","ERR_NO_TORRENT":"No torrent returned","ERR_NO_SUPPORTERD_FILES":"No supported files found","ERR_OPENING_FILES":"Could not open external files","ERR_INVALID_LINK":"Invalid link","ERR_REGISTERED_ONLY":"This option is available for registred users only.","ERR_CLIPBOARD":"Can not play from clipboard","ERR_CLIPBOARD_READ":"Can not read the clipboard on this platform","ERR_CLIPBOARD_GENERIC":"No playable URL found in the clipboard. Please copy a URL (e.g. a magnet link) to a video.","BOARD_CONTINUE_WATCHING":"Continue watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Movies picked specially for you.<br />This movie is a sample recommendation.","BOARD_EXPLANATION_EPISODES":"New episodes of your favorite Series come here.<br />Add series you follow to your Library.","BOARD_EXPLANATION_VIDEOS":"New episodes of your favorite Channels come here.<br />Add YouTube channels you follow to your Library.","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE":"Contribute","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"Learn more","WEBSITE_COMPANY":"Company","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Need Help?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"Watch Instantly","WEBSITE_SLOGAN_ALL":"All the Video Content You Enjoy in One Place","WEBSITE_SLOGAN_NEW":"All You can Watch","WEBSITE_SLOGAN_NEW_NEW":"Freedom to Stream","WEBSITE_WATCH_FROM":"Watch from","WEBSITE_DOWNLOAD":"Download Now","WEBSITE_DOWNLOAD_FOR":"Download Now For","WEBSITE_IS_DESKTOP":"Stremio is a desktop application, open this page on your PC and download it","WEBSITE_DESKTOP_DEMO_VID":"Desktop demo","WEBSITE_PAGE_HOME":"Home","WEBSITE_PAGE_FEATURES":"Features","WEBSITE_PAGE_ADDONS":"Addons","WEBSITE_PAGE_TECH":"Technology","WEBSITE_PAGE_CREATE_ADDON":"Create Addon","WEBSITE_PAGE_CONTACTS":"Contacts","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Movies","WEBSITE_TYPE_series_PL":"Series","WEBSITE_TYPE_tv":"Live TV","WEBSITE_TYPE_channel":"Channels","WEBSITE_STREMIO_WHAT_IS":"Stremio is an app that helps you organize and instantly watch your favorite videos, movies, TV series and TV channels.","WEBSITE_FEATURES_WATCH":"Watch Instantly in HD","WEBSITE_FEATURES_WATCH_DETAIL":"Click and play your favourite movies, TV Shows, videos and TV channels.","WEBSITE_FEATURES_SUBS":"Automatic Subtitles","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio automatically picks synced subtitles for your language.","WEBSITE_FEATURES_SUBS_LABEL":"Your move, chief.","WEBSITE_FEATURES_CAST":"Play on TV & mobile devices","WEBSITE_FEATURES_CAST_DETAIL":"Cast to AppleTV, Chromecast, Smart TV (DLNA/UPnP) and mobile devices.","WEBSITE_LIB":"Enjoy Your Personal Library Synced on All Your Devices","WEBSITE_LIB_COLLECT":"Collect from Stremio","WEBSITE_LIB_IMPORT":"Import from Facebook","WEBSITE_LIB_LOCAL":"Add from your local drive","WEBSITE_BOARD":"The Board - Your one-stop place for Notifications and Recommendations","WEBSITE_BOARD_RECOMMEND":"Recommended TV Show","WEBSITE_BOARD_TRENDING":"Trending Movie","WEBSITE_BOARD_NEW":"New Video","WEBSITE_BOARD_EPISODE":"New Episode","WEBSITE_BOARD_1":"Looking for something interesting to watch? Get recommendations based on your taste!","WEBSITE_BOARD_2":"Get notified when a new episode of your favourite TV show or YouTube channel is out!","WEBSITE_BOARD_YOUTUBE":"New videos of YouTube channels","WEBSITE_BOARD_EPISODES":"New episodes of series you follow","WEBSITE_ADDONS":"Content Addons","WEBSITE_TECH_DETAIL":"We love technology, we love mad science!\\nStremio is using the following open source technologies:","WEBSITE_TECH_WCJS":"WebChimera.js allows Stremio to play any video format with good performance.","WEBSITE_TECH_WCJS_EXTRA":"We are core project contributors","WEBSITE_TECH_ELECTRON":"Electron provides an innovative platform to build Stremio with.","WEBSITE_TECH_ELECTRON_EXTRA":"We are project contributors","WEBSITE_TECH_LINVODB":"A database technology that ensures your data is organized and available anywhere you login.","WEBSITE_TECH_LINVODB_EXTRA":"In-house technology","WEBSITE_CREATE_ADDON":"Create your addon","WEBSITE_CREATE_ADDON_DETAIL":"Do you have a service providing video content? We\'ll help you benefit from Stremio\'s features by creating your Addon.","WEBSITE_CREATE_ADDON_BENEFITS":"Benefits of Creating an Addon for Stremio","WEBSITE_P2P_BEAUTY":"The Beauty of Peer-to-Peer Streaming","WEBSITE_P2P_1":"Reliable and affordable full HD / 4K video on demand or live streaming","WEBSITE_P2P_2":"Distribution platform providing great user experience","WEBSITE_P2P_3":"We will create an addon meeting your exact needs","WEBSITE_P2P_CONTACT":"Interested? You are welcome to <a href=\'mailto:office@stremio.com\'>contact us</a>.","WEBSITE_P2P_CONTACT_EXTRA":"We will be happy to help you integrate your content with Stremio!","WEBSITE_P2P":"Once in a while, there comes a technology that changes the name of the game. We invested tons of time and effort in building our Peer-to-Peer (P2P) video streaming engine that provides great performance and versatility to adapt with any use case.\\nContact us for DRM-enabled P2P video on demand or live streaming.","WEBSITE_THOUGHTS":"Thoughts we share:","WEBSITE_SPREAD":"Spread the word about Stremio:","WEBSITE_CONTACT":"If you are looking to contact us, go ahead at","WEBSITE_OPENSOURCE":"For our open source projects, go to our","WEBSITE_BITCOIN":"Donate bitcoin:","WEBSITE_FAQ":"Frequently asked questions","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Questions","WEBSITE_TOS":"Terms of use","WEBSITE_LEGAL":"Legal","WEBSITE_PAGE_ABOUT":"About","WEBSITE_PAGE_BECOME_PARTNER":"Become a partner","WEBSITE_ALL_YOU_CAN_WATCH":"Freedom To Watch\\nEverything You Want.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"What is stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio is a one-stop hub for video content aggregation. Discover, organize and watch video from all kind of sources on any device that you own.","WEBSITE_WHAT_IS_STREMIO_P2":"Movies, TV shows, series, live television or web channels like YouTube and Twitch.tv - you can find all this on Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio is a modern media center that\'s a one-stop solution for your video entertainment. You discover, watch and organize video content from easy to install addons.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Movies, TV shows, live TV or web channels - find all this on Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Enjoy on all your Media devices","WEBSITE_DEVICES_COLLECT":"Collect from Stremio","WEBSITE_DEVICES_IMPORT_FB":"Import from facebook","WEBSITE_DEVICES_LOCAL":"Add from local drive","WEBSITE_JOIN_THE_PARTY_NOW":"Join the party now","WEBSITE_DEVICES_ALL":"Easy to use on all your devices;","WEBSITE_EXTENDABLE_CATALOG":"Infinitelly extendable video catalog;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Great features to organize your media;","WEBSITE_AS_SEEN_ON":"As seen on","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"About us","WEBSITE_LINK_TECHNOLOGY":"Technology","WEBSITE_LINK_APPS":"Apps","WEBSITE_LINK_DOWNLOADS":"Downloads","WEBSITE_MORE":"More","WEBSITE_LINK_ADDONS":"Addons","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Contribute","WEBSITE_LINK_COMMUNITY":"Community","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... & More","WEBSITE_LINK_HELP":"Help center","WEBSITE_LINK_CONTACTS":"Contacts us","WEBSITE_LINK_TOS":"Terms & conditions","WEBSITE_LINK_PRAVACY":"Privacy policy","WEBSITE_SUBSCRIBE":"Sibscribe","WEBSITE_NEWSLETTER":"Join Our Newsletter for amazing stuff","WEBSITE_PLACEHOLDER_EMAIL":"Your Email","WEBSITE_COMMUNITY":"Community","WEBSITE_LINK_PRAVACY_LEGAL":"Privacy & legal","WEBSITE_WHY":"Why we do it","WEBSITE_WHY_P1":"At Stremio, we come to work every day because we want to solve an important problem for the video-on-demand industry. There’s so much new content published every minute that it’s virtually impossible to find your way around it.","WEBSITE_WHY_P2":"We help people navigate that huge world of video entertainment and discover new content to enjoy. Our apps bring together movies, series, live TV, web channels, and more. We are dedicated to making it incredibly easy for users to find titles and broadcasters that they love.","WEBSITE_WHY_P3":"You can use our service on any device and at any time, making Stremio the only video entertainment hub you’ll ever need.","WEBSITE_TEAM":"TEAM","WEBSITE_TEAM_P":"The Stremio team is small but powerful: between the ten of us, we code in X languages, and share expertise in software development, UI and UX design, marketing and advertising, and business and startups.","WEBSITE_FEATURES":"Features","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Discover new content with ease","WEBSITE_FEATURES_DISCOVER_P":"Easily discover new movies, TV shows, series and channels to watch. Browse by category, genre, rating, recency, etc. or simply type a name to find. Stremio makes finding new video content a piece of cake.","WEBSITE_FEATURES_ALL_CONTENT":"All of your video content on one screen","WEBSITE_FEATURES_ALL_CONTENT_P1":"See what movies, series or videos you didn’t finish and continue watching them; get notified for new episodes and releases; and browse through the recommendations you will get based on your viewing habits.","WEBSITE_FEATURES_LIBRARY":"Organize your video library","WEBSITE_FEATURES_LIBRARY_P1":"Add any title to your Stremio library with a single click and find your way around your content, neatly arranged by type, recency, or alphabetical order.","WEBSITE_FEATURES_CALENDAR":"Keep track of everything you watch","WEBSITE_FEATURES_CALENDAR_P1":"Get a calendar visualization of all the movies and series you add to your library. Export your Stremio calendar and sync it so you always know when a new episode or a premier is due.","WEBSITE_FEATURES_BIG_SCREEN":"Enjoy your video content on a bigger screen","WEBSITE_FEATURES_BIG_SCREEN_P1":"Cast whatever you are watching to another device - be it a phone, tablet or a TV with a single click.","WEBSITE_FEATURES_SOURCES":"Watch video from many different sources","WEBSITE_FEATURES_SOURCES_P":"Install official and community addons to enjoy video sourced from many different providers - all in one sleek, easy to use app.","WEBSITE_CREATE_AN_ADDON":"Create an addon","WEBSITE_FEATURES_SYNC":"Sync your library across different devices and resume your playback","WEBSITE_FEATURES_SYNC_P1":"Login with your account across all your devices and enjoy your library, addons, playback and calendar synchronized.","WEBSITE_FEATURES_EXTENDABLE":"Extendable video catalog by addons","WEBSITE_FEATURES_EXTENDABLE_P1":"The Stremio addon catalog provides a number of addons to install and watch a variety of video content from. This includes movies, shows, live TV, sport, news, podcasts, web channels, video games and more.","WEBSITE_FEATURES_AUTO_SUBS":"Automatic subtitles","WEBSITE_FEATURES_AUTO_SUBS_P1":"With our subtitle addons you get automatically selected options for your preferred language.","WEBSITE_FEATURES_CHROMECAST":"Casting to Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Enjoy your video content on a bigger screen or just cast whatever you are watching to another device.","WEBSITE_FEATURES_KEEP_TRACK":"Keep track of your favorite TV shows and Web channels","WEBSITE_FEATURES_KEEP_TRACK_P1":"Get a calendar visualization and notifications for new episodes of your favorite series and web channels.","WEBSITE_FEATURES_POWER_USER":"Power user features","WEBSITE_FEATURES_POWER_USER_P1":"Play in external player","WEBSITE_FEATURES_POWER_USER_P2":"Play from a torrent file or magnet link","WEBSITE_FEATURES_POWER_USER_P3":"Import to your library from Facebook likes or local disk","WEBSITE_ADD_ONS":"Addons","WEBSITE_ADD_ONS_P1":"All of the video content Stremio provides get sourced through an addon system - no content or content provider has been built into the app.","WEBSITE_ADD_ONS_P2":"There are two groups of addons available: official and community addons.","WEBSITE_ADD_ONS_P3":"The official ones are developed and hosted by Stremio, whereas community addons are created by our community members, who also host them.","WEBSITE_ADDONS_OFFICIAL":"Official addons","WEBSITE_ADDONS_WATCHUB":"Stream your favourite movies, series and shows from providers like iTunes, Hulu, Amazon and other UK/US services.","WEBSITE_ADDONS_YOUTUBE":"Watch your favourite YouTube channels ad-free and get notifications for new uploads from the contributors you follow.","WEBSITE_ADDONS_FILMON":"Watch live TV, movies and social television for free. 600 TV channels, 45,000 free movies, documentaries and more.","WEBSITE_ADDONS_OPENSUBTITLES":"Movie and TV subtitles in multiple languages, thousands of translated subtitles uploaded every day.","WEBSITE_ADDONS_COMMUNITY":"Community addons","WEBSITE_ADDONS_FILMON_VOD":"Watch video on demand from Filmon.tv","WEBSITE_ADDONS_TWICH":"Watch live streams from Twitch.tv - a video streaming platform for the e-sports industry.","WEBSITE_ADDONS_VODO":"Watch indie movies absolutely free of charge.","WEBSITE_ADDONS_NETFLIX":"Watch Netflix movies and web series.","WEBSITE_ADDONS_CREATE":"Create an addon","WEBSITE_ADDONS_CREATE_P1":"If you wish, you can develop your own addon. This way, you can give yourself and our community access to new video content, and reach a new, targeted audience of millions of users around the world.","WEBSITE_ADDONS_START_CREATE":"To get started, visit the Stremio Addon SDK page:","WEBSITE_DOWNLOADS":"Downloads","WEBSITE_DOWNLOADS_P1":"For optimal performance, we recommend that you use the latest available version of the Stremio apps. If for some reason, however, you would like to use an older version, you can download it here.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio for Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio for macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio for Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio for Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio for iOS","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"The Stremio platform is open source and you can easily create an addon for content that is currently not sourced.","WEBSITE_CONTRIBUTE_WHY":"Why should you create an addon?","WEBSITE_CONTRIBUTE_WHY_P1":"Reach new audience for your video content","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio’s user base is growing rapidly - within the first year of the launch, Stremio had gained 1 million users around the world, and in the second year of the platform’s existence this number grew to 2.5 million.","WEBSITE_CONTRIBUTE_WHY_P3":"With your addon, you can easily reach this audience and distribute your video content to them.","WEBSITE_CONTRIBUTE_ALL":"Watch your favourite movies, videos, series and channels in one single place.","WEBSITE_CONTRIBUTE_ALL_P1":"You’re a fan of a particular type of content not available on Stremio yet? Create an addon for it and enjoy watching your favourite videos in one of the largest and easiest to use entertainment hubs on the market.","WEBSITE_CONTRIBUTE_ALL_P2":"On top of that, you’ll get the endless gratitude of other like-minded Stremio community members.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetize your addon and earn money with its help","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Once you develop a new addon for Stremio, you can easily monetize it through a number of different ways. If you are considering this, feel free to get in touch with us at ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - we would be happy to consult and advise you about addon monetization options.","WEBSITE_CONTRIBUTE_TRANSLATE":"Become a volunteer translator","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"If you want to enjoy the Stremio apps in different languages, you can join our community of volunteer translators. They help us add versions of the Stremio in many different languages.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Are you eager to get started?","WEBSITE_TRANSALTE_STREMIO":"Translate Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Official communities","WEBSITE_COMMUNITY_OFFICIALS_P1":"Become a part of the growing Stremio community. Follow us on social media and don’t be shy to say hello - we love hearing from our fans! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Unofficial communities","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partners and supporters","WEBSITE_COMMUNITY_GOODIES":"Stremio goodies","WEBSITE_COMMUNITY_WALLPAPERS":"Wallpapers","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"Contact us","WEBSITE_CONTACT_US_P1":"If you have any questions, comments or suggestions, feel free to get in touch with us through the contact form below.","WEBSITE_CONTACT_US_P2":"Keep in mind that we are located in Bulgaria so there may be a delay in addressing your query due to time zone differences.","WEBSITE_CONTACT_US_SUCCESS":"Your message has been sent. We will get back to you at our earliest convenience.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Please enter a valid email!","WEBSITE_CONTACT_US_Q_RELATED_TO":"What is your question related to?","WEBSITE_CONTACT_US_Q_OS":"What is your Operation System?","WEBSITE_CONTACT_US_PH_EMAIL":"Your E-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Message","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"SEND","WEBSITE_CONTACT_US_Q_1":"How to install?","WEBSITE_CONTACT_US_Q_2":"How to uninstall?","WEBSITE_CONTACT_US_Q_3":"(HTML) How to make lasagna?","WEBSITE_CONTACT_US_Q_4":"Addons","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Technology","WEBSITE_TECHNOLOGY_P1":"We love technology and mad science. </br> Here is what powers Stremio (it’s all open-source).","WEBSITE_TECHNOLOGY_P_QT":"Cross-platform software development at its best.","WEBSITE_TECHNOLOGY_P_MPV":"A free, open source, and cross-platform media player.","WEBSITE_TECHNOLOGY_P_RN":"React Native lets you build mobile apps using only JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework embedded into application to get multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm is a mobile platform and a replacement for SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js is an open-source, cross-platform, JavaScript runtime environment.","WEBSITE_TECHNOLOGY_P_RUST":"Rust is a multi-paradigm system programming language focused on safety, especially safe concurrency.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribute to the project","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"There are two ways you can contribute to Stremio and help us make the product even better.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"You can donate your valuable language skills by translating the platform...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"or","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... you can employ your coding skills for creating community addons. ","WEBSITE_TRANSLATE_STREMIO":"Translate Stremio","WEBSITE_404_OH_NO":"Uh-oh! The page you’re looking for is not here...","WEBSITE_GO_HOME":"Go home","WEBSITE_LINK_OTHER_DOWNLOADS":"Other downloads","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Support","WEBSITE_DOWNLOAD_4_0_BETA":"Download Now Stremio 4 beta","WEBSITE_GET_FOR_DESKTOP":"Get for desktop","WEBSITE_LINK_ADDON_COMPETITION":"Addon competition","WEBSITE_LINK_ART_CONTEST":"Art contest","WEBSITE_MY_ACCOUNT":"My account","WEBSITE_MAINPAGE_FAQ_001_H1":"What is Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio is a modern media center that gives you the freedom to watch everything you want.","WEBSITE_MAINPAGE_FAQ_002_H1":"How does it work?","WEBSITE_MAINPAGE_FAQ_002_P1":"Once you install Stremio on your device and create an account, all you have to do is to visit the addon catalog and install any addon you want, and you\'re good to go!","WEBSITE_MAINPAGE_FAQ_002_P2":"After that, you can go to the Discover or Board sections to start exploring content.","WEBSITE_MAINPAGE_FAQ_003_H1":"What can I watch here?","WEBSITE_MAINPAGE_FAQ_003_P1":"A lot: Movies, TV shows, Web channels, Sport, TV channels, listen to Podcasts and more. Thanks to our addon system, you can accss a variety of content.","WEBSITE_MAINPAGE_FAQ_004_H1":"Is Stremio open-source?","WEBSITE_MAINPAGE_FAQ_004_P1":"Yes, you can check the following links: ${1}desktop app${2} and ${3}GitHub organization${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Is Stremio safe?","WEBSITE_MAINPAGE_FAQ_005_P1":"Yes: because it is open-source software, the code is publically auditable and you can review it yourself.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"How about my privacy?","WEBSITE_MAINPAGE_FAQ_006_P1":"We respect users\' privacy and do not collect any personal data besides the essential minimum to create and sync your account.","WEBSITE_MAINPAGE_FAQ_006_P2":"There is also a ${1}Guest mode${2} at signup, which requires no data whatsoever: in this mode, no calls are made to our backend. However, it comes at the expense of useful features, such as being able to sync your library across devices.","WEBSITE_MAINPAGE_FAQ_007_H1":"Can I cast to my TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Yes, we support Chromecast and you can cast both from desktop and mobile apps (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"How many addons does Stremio have?","WEBSITE_MAINPAGE_FAQ_008_P1":"As of late 2019, over 50 - for more information, check our addon catalog.","WEBSITE_MAINPAGE_FAQ_009_H1":"Can Stremio be extended beyond what\'s in the addon catalog?","WEBSITE_MAINPAGE_FAQ_009_P1":"Yes, you should check those: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"What devices does Stremio support?","WEBSITE_MAINPAGE_FAQ_010_P1":"We have desktop apps for Windows, Mac and Linux. For mobile, we support Android and iOS, although keep in mind that the iOS is limited in functionality (does not support most addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"There are many Android-based devices which you can run Stremio on, like NVIDIA Shield and Amazon Fire Stick, but we do not support them officially.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Can you add certain content to Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Sorry, we provide no content ourselves, but the more Stremio addons you have installed, the more content you will be able to find.","WEBSITE_MAINPAGE_FAQ_012_H1":"Can Stremio play magnet links?","WEBSITE_MAINPAGE_FAQ_012_P1":"Yes, and it can also play normal HTTP links and torrent files (drag and drop).","WEBSITE_MAINPAGE_FAQ_013_H1":"Can I download a video and watch offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Available offline is an upcoming feature, but if you allow Stremio to cache on your device (from the settings panel) you can watch the videos later without a connection.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nothing works, help me!","WEBSITE_MAINPAGE_FAQ_014_P1":"Are you sure you have installed addons? If yes, check with our ${1}help center${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"How does Stremio sustain it\'s development operations?","WEBSITE_MAINPAGE_FAQ_015_P1":"We run non-intrusive ads occassionally, but we\'re considering moving to a donation model.","WEBSITE_MAINPAGE_FAQ_015_P2":"For more questions, go to our ${1}help center${2}.","HELP_LEARN_MORE":"Help us learn more about you.","LIFESTYLE":"Lifestyle","SPORTS":"Sports","FOOD_HEALTH":"Food & health","BEAUTY_FASHION":"Beauty & Fashion","NEWS":"News","GAMING":"Gaming","SCIENCE_EDUCATION":"Science & education","MUSIC":"Music","TRAVEL":"Travel","LATE_NIGHT":"Late Night","REALITY":"Reality","COMEDY":"Comedy","DIY":"How to DIY","TECH":"Tech","CINEMA":"Cinema","CONTINUE":"Continue","SLOW_LOADING":"SLOW LOADING?","I_GIVE_UP":"I GIVE UP","LEARN_MORE":"Learn more","POOR_SOURCE":"This source is poorly available or your internet connection is not fast enough","PICK_CATEGORIES_ERR":"You have to pick at least 3 categories","ADJUST_TIMING":"Adjust timing with ","ADJUST_SIZE":"Adjust size with ","SEARCH_ANYTHING":"You Can Search Anything...","ALL_CATEGORIES":"All","SEARCH_CATEGORIES":"Movies, Series, YouTube & TV","SEARCH_PERSONS":"Actors, Directors & Writers","SEARCH_PROTOCOLS":"HTTP & Magnet Links","SEARCH_TYPES":"IMDB / TVDB links","WATCHED":"Watched","SHOW_LESS":"Show less","LAST_SEARCHES":"Last searches","CLEAR_HISTORY":"Clear history","CHOOSE_SOME":"CHOOSE SOME OF THIS:","NO_WEB_REMOTE":"Web Remote could not be loaded","STREMIO_OFFLINE":"Stremio is offline","STREMIO_EXPENSIVE_CONNECTION":"We\'ve detected that you are using a mobile data connection, do you want to continue?","USE_DATA":"Use data","WARNING":"Warning","MORE_INFO":"More Info ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Loading ...","STREMIO_TV_BACK_TO_LANGUAGES":"Back to languages","STREMIO_TV_REMOTE":"Remote","STREMIO_TV_GO_TO":"Go to:","STREMIO_TV_OR_SCAN":"or scan:","STREMIO_TV_ADDON_INSTRUCTIONS":"Please follow the instructions in order to install your preferred addons.","STREMIO_TV_LIVE_TV":"Live TV","STREMIO_TV_RESUME_WATCHING":"Resume Watching","STREMIO_TV_LOADING_BACKGROUND":"Loading Background","STREMIO_TV_CHECKING_AUTHENTICATION":"Checking Authentication","STREMIO_TV_LOADING_BOARD":"Loading Board","STREMIO_TV_LOGIN_HEADER_LINE_1":"We want our users to have the best possible personalized experience with our software.","STREMIO_TV_LOGIN_HEADER_LINE_2":"It is for this reason that we kindly ask you to make and/or login to your account.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Thank you for understanding,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"The Stremio Team","STREMIO_TV_REMOTE_INSTRUCTIONS":"In order to use the Web Remote with your Smartphone / Tablet / Desktop:","STREMIO_TV_WIFI_SETUP":"Wi-Fi Setup","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle did not detect a internet connection.","STREMIO_TV_WIFI_DETAILS_1":"Connect to:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Use password:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Open a web browser with the link:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Default","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"By Last Watched","STREMIO_TV_LIBRARY_SORT_NAME":"By Name","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"By Times Watched","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Season ${1}","STREMIO_TV_STREAMS_LOADING":"Loaded ${1} / ${2} addons...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} addon is still loading...","STREMIO_TV_PLAYER_SETTINGS":"Player settings","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Subtitles delay","STREMIO_TV_PLAYER_AUDIO_DELAY":"Audio delay","STREMIO_TV_PLAYER_VIDEO_SCALING":"Video scaling","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Unsupported stream source","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Failed opening external link","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Not adjustable in audio passthrough mode","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Play with ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Play with libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Switching to libVLC player due to a playback error","STREMIO_TV_ADDONS_TITLE":"Use Stremio on your Phone or PC to install or configure addons and press \\"Sync Addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Note: make sure you are using the same Stremio account","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sync Addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons successfully synchronized","STREMIO_TV_ADDONS_SYNC_FAILED":"Failed to synchronize addons","STREMIO_TV_META_LINK_FAILED":"Failed opening meta link","STREMIO_TV_CATALOG_LOADING":"Catalog still loading...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Interface language updated","STREMIO_TV_SETTINGS_THEME_UPDATED":"Theme updated","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Default Player","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"External Player","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferred Language","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Secondary Preferred Language","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possible playback issues on some devices","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Some video formats might not work","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"No caching","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Default","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Soft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Fast","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Fast","STREMIO_TV_SETTINGS_SERVER_URL":"Streaming server url","STREMIO_TV_SETTINGS_SERVER_VERSION":"Server version","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Unknown","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio version","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Edit server url","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Enter a streaming server url","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Show statistics while loading","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"To read Stremio\'s Privacy Policy, visit:","STREMIO_TV_SETTINGS_TOS_TEXT":"To read Stremio\'s Terms and Conditions, visit:","STREMIO_TV_NAV_SEARCH":"Search","STREMIO_TV_NAV_HOME":"Home","STREMIO_TV_NAV_DISCOVER":"Discover","STREMIO_TV_NAV_LIBRARY":"Library","STREMIO_TV_NAV_MOVIES":"Movies","STREMIO_TV_NAV_SERIES":"Series","STREMIO_TV_NAV_CHANNELS":"Channels","STREMIO_TV_NAV_TV":"Live TV","STREMIO_TV_NAV_SETTINGS":"Settings","STREMIO_TV_NAV_ADDONS":"Addons","STREMIO_TV_LOGIN_TITLE":"Link Account","STREMIO_TV_LOGIN_EXPIRES_IN":"Expires in","STREMIO_TV_LOGIN_STEP_ONE":"Scan QR Code above or go to","STREMIO_TV_LOGIN_STEP_TWO":"Log in to your Stremio account","STREMIO_TV_LOGIN_NEW_LINK":"Request a new link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Login code refreshed","STREMIO_TV_SEARCH_PLACEHOLDER":"Type something","STREMIO_TV_SEARCH_NO_ADDONS":"No addons were requested for catalogs!","STREMIO_TV_SEARCH_BUTTON":"Search","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Search History","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"You can search for Titles, Actors, Channels and more...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Clear Search History","STREMIO_TV_FILTERS_DESCRIPTION":"Choose from one of the filters below","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"Filters","SETTINGS":"Settings","ACCOUNT":"Account","LOGOUT":"Logout","THEMES":"Themes","PLAYBACK":"Playback","PLAYBACK_SPEED":"Playback Speed","AUDIO_TRACKS":"Audio Tracks","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Videos","SERVER":"Server","LINKS":"Links","ABOUT":"About","INTERFACE":"Interface","ANIMATIONS":"Animations","STATUS":"Status","LANGUAGE":"Language","SIZE":"Size","DELAY":"Delay","BOLD":"Bold","OPACITY":"Opacity","TEXT_COLOR":"Text Color","OUTLINE_COLOR":"Outline Color","BACKGROUND_COLOR":"Background Color","BACKGROUND_BLUR":"Background Blur","SEEK_TIME_DURATION":"Seek Time Duration","AUTO_PLAY":"Auto-Play Next Episode","PLAY_NOW":"Play Now","MARK_AS_WATCHED":"Mark as Watched","MARK_AS_UNWATCHED":"Mark as Unwatched","REWIND_TO_BEGINNING":"Rewind to Beginning","CONTINUE_WATCHING":"Continue Watching","ALL":"All","SECONDS":"seconds","ON":"ON","OFF":"OFF","RELOAD":"Reload","EDIT_URL":"Edit URL","NONE":"None","EMBEDDED":"Embedded","REMOTE_SWITCH_DEVICES":"Switch Devices","REMOTE_VIDEOS":"Videos","REMOTE_ADJUST_TIMING":"Adjust timing","REMOTE_ADJUST_SIZE":"Adjust size","REMOTE_COULD_NOT_BE_LOADED":"Web Remote could not be loaded","REMOTE_RETRY":"Retry","TORRENT_PROFILE_DEFAULT":"Default","TORRENT_PROFILE_SOFT":"Soft","TORRENT_PROFILE_FAST":"Fast","TORRENT_PROFILE_ULTRA_FAST":"Ultra Fast","FAQ_001_H1":"What is Stremio?","FAQ_001_P1":"Stremio is a media center software designed for video entertainment with ease of use in mind. Stremio allows you to organize &amp; watch your own collection of movies, series, channels and live TV.","FAQ_001_P2":"Stremio collect the content it shows you from your local disk and our addons system.","FAQ_001_P3":"It will also notify you when new episodes/videos/movies you\'re interested in come out, and provide movie recommendations for you.","FAQ_02_H1":"How does Stremio compare to Kodi and Plex?","FAQ_02_P1":"We are inspired by those two pieces of software. But we have different goals - Stremio is specifically targeted towards entertainment video, and strives to become the mainstream solution for that by being very easy to use.","FAQ_02_P2":"Stremio will never be as customizable and feature-rich as Kodi and Plex, but it is significantly easier to use. Just ${1} get it and see ${2} :)","FAQ_03_H1":"How does Stremio compare to Netflix?","FAQ_03_P1":"Again, Netflix is one of our inspirations. We strive to achieve the user experience of Netflix, plus a lot of added goodies. But most importantly, we\'re giving you the freedom to manage your own library and add new content sources with our addon system.","FAQ_03_P2":"That makes Stremio infinitely extendable, so when you use Stremio, you\'re never limited to the content Netflix decides to license. For example, through Stremio you can watch content from ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} and even ${9}Netflix${10} itself!","FAQ_04_H1":"How does Stremio compare to Flipboard?","FAQ_04_P1":"We don’t get that question that often, except when talking to start-up people :)","FAQ_04_P2":"Stremio is by design a content aggregator, which essentially makes it Flipboard for video. This is very apparent in our Board section, which gives you catalogues and new episode/new video notifications for what you follow, just like Flipboard.","FAQ_05_H1":"How does Stremio compare to Popcorn Time?","FAQ_05_P1":"Stremio and Popcorn Time are similar in user interface, because there aren’t many ways to do video entertainment catalogues right :)","FAQ_05_P2":"But while Popcorn Time is focused on streaming torrents from specific sources, Stremio is unrestricted and is merely a content aggregator - it’s not locked into a specific content source.","FAQ_05_P3":"Furthermore, we do not provide any torrent addons by default, so Stremio does not cover the Popcorn Time use-case with official functionality.","FAQ_05_P4":"Another notable difference is that Popcorn Time is completely open source, while Stremio is ${1} partially open source${2}.","FAQ_06_H1":"Will you add this movie/series?","FAQ_06_P1":"No, sorry :(","FAQ_06_P2":"As is mentioned in most of the other questions, Stremio does not provide any content by itself - everything is added through the addons system. In case you have a content request, you can use the “Report” button in the Player, which will send an email to the author of the addon you’re currently using.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Will you create addon for X?","FAQ_08_P1":"It\'s entirely possible.","FAQ_08_P2":"If you have an idea for an addon, drop us a line at ${1}office@stremio.com${2}, but please make sure your addon idea will not infringe on any copyrights or terms of use.","FAQ_08_P3":"At the moment, the next things on our roadmap are addons for FandangoNOW, Filmon.tv video on demand and Crunchyroll.","FAQ_09_H1":"Does Stremio use BitTorrent?","FAQ_09_P1":"Yes, Stremio supports BitTorrent as a streaming protocol. You can use that either with a torrent addon, or by drag-and-dropping a .torrent file into Stremio, or by pasting a magnet link into the Search Bar.","FAQ_09_P2":"Please note that the only official addon using BitTorrent is ${1}Vodo${2}, which provides indie content, all permitted to be distributed with BitTorrent.","FAQ_09_P3":"We do not support use of any third-party addons which may enable copyright infringement.","FAQ_10_H1":"What can I watch in Stremio with the official addons?","FAQ_10_P1":"By default, you can watch Filmon.tv, YouTube and Vodo content within Stremio itself, with it’s embedded player. Additionally, we have an addon for Twitch.tv and a few others.","FAQ_10_P2":"This combined provides a selection of:","FAQ_10_L1":"Popular TV channels, provided by Filmon.tv - for example E4, BBC, Bollyworld TV","FAQ_10_L2":"Everything from YouTube - for example BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indie movies with Vodo","FAQ_10_L4":"Online gaming broadcasts with Twitch.tv","FAQ_10_P3":"Additionally, there are many content sources provided with Guidebox and the Netflix addons, which <b>do not</b> play entirely inside Stremio, but would redirect to the given service. For example, the Guidebox addon would give you a selection of movies you can stream in the US for free, from services like TubiTV and Crackle.","FAQ_11_H1":"Stremio won\'t install, what should I do?","FAQ_11_P1":"If you\'re on Windows, try ${1}this alternative installer${2}.","FAQ_11_P2":"If you\'re on Mac OS X, please be aware that we don\'t support anything older than OS X Mavericks (10.9).","FAQ_11_P3":"If you\'re on Linux, be aware that we only support 64 bit (x64) Linux at the moment.","FAQ_11_P4":"If you still can\'t resolve your problem, please write us at our ${1}Facebook group${2}.","FAQ_12_H1":"Why does my anti-virus complain? Is Stremio safe?","FAQ_12_P1":"We assure you Stremio is ${1}100% clean${2}.","FAQ_12_P2":"Your antivirus is complaining because we include advertising in our installer, which some anti-virus programs recognize as ad-ware.","FAQ_12_P3":"If you\'re still unsure, you can try our ${1}alternative installer${2}.","FAQ_13_H1":"How can I make an addon?","FAQ_13_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_13_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_13_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_14_H1":"How are addons published?","FAQ_14_P1":"When you create an addon and host, and put a <b>endpoint</b> field in your manifest, which points to a working addon address, the addon will automatically publish itself to our ${1}Addon catalogue${2}.","FAQ_14_P2":"This happens because the server part of the stremio-addons module automatically makes a call to our API to announce the addon. When our API validates your <b>endpoint</b> as a valid addon, it will start showing in the catalogue.","FAQ_15_H1":"Can I run Stremio in my browser?","FAQ_15_P1":"Not at the moment, but this is coming!","FAQ_15_P2":"If you\'re curious to see an Alpha, you can see it here: ${1}alpha4.strem.io${2}. Keep in mind streaming is disabled on this alpha. We support Chrome, Firefox, Opera and Edge.","FAQ_16_H1":"Casting to TV doesn\'t work / subtitles don\'t work","FAQ_16_P1":"Casting to TV uses the DLNA technology which is very inconsistent between different TV brands and models. For that reason, we do not have the ability to test it in every case, so it\'s far from perfect. Despite this, we\'re working on improving it constantly but we cannot give you a time estimate on when DLNA will start working properly with your TV.","FAQ_16_P2":"If you don\'t even see your TV in the casting menu, please try disabling your network connection and re-enabling it (on Windows, right click the Network and use Enable/Disable), as well as restarting your router, TV and PC.","FAQ_16_P3":"If you are still encountering issues, you can help us by sending your TV brand and model information at ${1}office@stremio.com${2}.","FAQ_16_P4":"In the meantime, we recommend Chromecast, which we support very well, or simply plugging in your TV to your PC with an HDMI cable.","FAQ_17_H1":"Stremio freezes and/or crashes, what can I do?","FAQ_17_P1":"First of all, if you\'re using Windows 7 with AVG anti-virus: we have a problem with that combination. The problem is in AVG itself, and there\'s no reasonable way to resolve it on our end. Unfortunately, exceptions or disabling the anti-virus won\'t work. The only solution is to replace AVG with something else.","FAQ_17_P2":"If that\'s not the issue, but you\'re still using Windows, please update to the latest service pack and update/re-install your GPU drivers, then try again.","FAQ_17_P3":"If you\'re problem is still not resolved, or you\'re using a Mac or Linux, please write us reporting the exact details of the problem at ${1}our Facebook group${2}.","FAQ_18_H1":"How can I make an addon?","FAQ_18_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_18_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_18_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_19_H1":"Why is Stremio taking disk space?","FAQ_19_P1":"Stremio has a <b>local cache</b> to temporarily keep the video files you stream.","FAQ_19_P2":"This has two benefits: first, it allows Stremio to pre-buffer the video ahead so as to ensure smoother streaming. Second, it keeps the videos in the local cache so you can continue watching them offline.","FAQ_19_P3":"How much Stremio keeps depends on the <b>Cache</b> setting in the Settings panel. Stremio may keep up to the set amount (e.g. 2GB) on your disk, unless the currently streamed video is larger than that, in which case it has to allocate enough storage to keep it until you\'re streaming it.","FAQ_20_H1":"Where is the cache folder?","FAQ_20_P1":"On Windows, it\'s stremio-cache in the drive you picked in Settings (e.g. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"On MacOS, it\'s \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"On Linux, it\'s \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"I get \\"Streaming server is not found\\" error, what can I do?","FAQ_21_P1":"If you get this error, it means one of few things:","FAQ_21_P2":"1) You are trying to use an addon backed by YouTube/BitTorrent source, through our ${1}web version${2}. In this case, you should install our desktop version from ${3}our website${4}.","FAQ_21_P3":"2) Something is wrong with your Stremio installation. In this case, try re-installing our latest desktop version from ${1}the website${2}. If this does not help, try disabling anti-virus programs and firewalls, restarting your PC and trying again. If this does not work too, please write us at our ${3}our Facebook group${4}.","FAQ_22_H1":"I cannot see/use most addons on iOS","FAQ_22_P1":"Because of restrictions in the Apple App Store terms and conditions, we have restricted the iOS application only to a particular set of addons.","FAQ_22_P2":"But rest assured - there will be more addons for iOS in the future, and we may also add an integration that will allow you to use all Stremio addons thanks to connecting the iOS app to the Stremio Streaming Server."}')},75517:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Film","TYPE_series":"Serial","TYPE_tv":"Program telewizyjny","TYPE_channel":"Kanał","TYPE_other":"Inne","TYPE_movie_PL":"Filmy","TYPE_series_PL":"Seriale","TYPE_tv_PL":"Programy telewizyjne","TYPE_channel_PL":"Kanały","TYPE_other_PL":"Inne","TYPE_ALL":"Wszystko","TYPE":"Typ","CATALOG_com_linvo_cinemeta_top":"Popularne","CATALOG_com_linvo_cinemeta_imdbRating":"Wyróżnione","CATALOG_com_linvo_cinemeta_year":"Nowe","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Filmy z domeny publicznej","VIDEO":"Wideo","BACK":"Wstecz","MORE":"Więcej","DONE":"Gotowe","COPY":"Kopiuj","SUCCESS":"Sukces","ERROR":"Błąd","SETTINGS_CASTING_MODE_PICKER":"Tryb transmisji","CASTING_MODE_HLSV2":"Domyślny","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Bez transkodowania","Discover":"Odkrywaj","Board":"Tablica","Library":"Biblioteka","My Library":"Moja biblioteka","Calendar":"Kalendarz","NOTIFICATION_ONLINE":"Jesteś teraz online","NOTIFICATION_OFFLINE":"Jesteś offline","INTERNET_CONNECTION":"Połączenie internetowe","STORAGE_FULL_TITLE":"Uwaga: pamięć pełna!","STORAGE_FULL_TEXT":"Stremio nie jest w stanie zapisać twoich ustawień lub danych logowania. Spróbuj ponownie uruchomić lub ponownie zainstalować Stremio.","SEARCH":"szukaj","SEARCH_NO_RESULTS":"Nie znaleziono żadnych wyników","SEARCH_EXPLANATION_CONTENT":"Szukaj filmów, seriali, filmów YouTube i kanałów telewizyjnych","SEARCH_EXPLANATION_PEOPLE":"Szukaj aktorów, reżyserów i scenarzystów","SEARCH_PASTE_LINKS":"Wklej adres HTTP lub link Magnet","SEARCH_OR_PASTE_LINK":"Wyszukaj lub wklej link","SEARCH_SUGGESTIONS":"Sugestie wyszukiwania","ADD_TO_LIB":"Dodaj do biblioteki","REMOVE_FROM_LIB":"Usuń z biblioteki","ADDED_TO_LIB":"Dodano do biblioteki","REMOVED_FROM_LIB":"Usunięto z biblioteki","TRAILER":"Zwiastun","WATCH_TRAILER":"Zobacz zwiastun","WATCH_NOW":"Oglądaj","SHOW":"Pokaż","SHOW_MOVIE":"Pokaż film","WATCH_RANDOM":"Obejrzyj losowy","IMDB_RATING":"Ocena IMDb","YEAR":"Rok","DIRECTOR":"Reżyser","WRITER":"Scenarzysta","LEAD_ACTORS":"Główni aktorzy","CAST":"Obsada","CREW":"Ekipa","SHOW_MORE_CAST":"Pokaż więcej »","AIRED":"Wyemitowany","SEASONS":"Sezony","GENRE":"Gatunek","GENRE_ALL":"Wszystkie gatunki","CATALOG":"Katalog","SUMMARY":"Podsumowanie","SHOW_MORE":"Pokaż więcej","SIMILAR":"Podobne","UPCOMING":"Nadchodzące","ENDED":"Zakończony","DURATION":"Czas trwania","FEATURED":"Wyróżnione","METADATA":"Metadane","CATEGORY":"kategoria","LINKS_GENRES":"Gatunki","LINKS_CAST":"Obsada","LINKS_DIRECTORS":"Reżyserzy","SEARCH_VIDEOS":"Szukaj filmów","SEARCH_PLACEHOLDER":"Szukaj lub wklej URL","ADDON":"dodatek","ADDONS":"Dodatki","OFFICIAL":"oficjalny","ADDONS_OFFICIAL":"Oficjalne dodatki Stremio","ADDONS_POPULAR":"Popularne w twojej okolicy","ADDON_FREE":"darmowe","ADDON_PEERED":"peered","ADDON_SUBSCRIPTION":"subskrypcja","ADDON_STREAM_GEORESTRICTED":"niedostępne w twoim regionie","ADDON_STREAM_OFFLINECACHE":"Pamięć podręczna offline","ADDON_STREAM_LOCALFILE":"Lokalny plik","SHARE_ADDON":"Udostępnij dodatek","AVAILABLE_STREAMS":"Dostępne źródła","NO_STREAM":"Nie ma dostępnych źródeł","ALL_ADDONS":"Wszystko","INSTALL_MORE_ADDONS":"Dla większej ilości źródeł zainstaluj więcej dodatków","STREAM_NOT_SUPPORTED":"Wybrane źródło nie jest dostępne na tej platformie","ADDON_CATALOGUE":"Pokaż wszystkie dodatki »","ADDON_CATALOGUE_MORE":"Więcej dodatków »","REPO_ADDED":"Repozytorium dodane","ADDON_REPO_EXIST_ERR":"Repozytorium już istnieje","ADDON_REPO_ERR":"Wystąpił błąd podczas dodawania kolekcji","ADDON_ADD_ERR":"Wystąpił błąd podczas dodawania dodatku","ERR_ADDON_PROTECTED":"Nie można odinstalować dodatku, ponieważ jest chroniony","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Coś poszło nie tak - uwierzytelnianie mogło się nie powieść","ERR_NOT_COLLECTION_URL":"To nie jest URL kolekcji","ERR_NOT_ADDON_URL":"Nieprawidłowy URL dodatku","ERR_DETECTFROMURL":"Nie odnaleziono dodatku/kolekcji pod tym URL","ADDON_DUPLICATE_WARNING":"Uwaga: powielony dodatek","ADDON_COLLECTION_SET_FAILED":"Synchronizacja zainstalowanych dodatków do twojego konta nie powiodła się","SETTINGS_DATA_EXPORT":"Wyeksportuj dane użytkownika","ADDON_PULL_FAILED":"Synchronizacja zainstalowanych dodatków z twojego konta nie powiodła się","REFRESH_ON_CLICK":"Kliknij, aby spróbować ponownie","STILL_IN_THEATER":"Film obecnie w kinach","WATCH_IN_CINEMA":"Obejrzyj film w kinie","IN_THEATER":"W kinach","GET_TICKETS":"Kup bilety","UPCOMING_EPISODE":"Nadchodzący odcinek","UPCOMING_EPISODE_MESSAGE":"Ten odcinek zostanie nadany","MISSING_DATE_EPISODE":"Brak daty odcinka","MISSING_DATE_EPISODE_MESSAGE":"Ten odcinek mógł nie zostać jeszcze wyemitowany","CHANNEL_NOT_SCRAPED":"Ten kanał jeszcze nie został przeszukany.<br>Zajrzyj z powrotem za kilka minut.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Dodaj do swojej biblioteki, aby zostać powiadomionym kiedy będzie dostępny.","GET_NOTIFIED_WHEN_AVAILABLE":"Zostaniesz powiadomiony kiedy będzie dostępny.","WARNING_STREAMING_SERVER":"Uwaga: lokalny serwer streamingowy nie został znaleziony. Streamowanie lokalnych plików, YouTube i BitTorrent nie będą dostępne.","WARNING_STREAMING_SERVER_DISMISS":"Odrzuć","WARNING_STREAMING_SERVER_LATER":"Potem","DECODER_WARNING":"Uwaga: ten film może nie być wspierany przez twój sprzęt. Miej na uwadze, że odtwarzanie może być wolne.","GENERIC_ERROR_MESSAGE":"Coś poszło nie tak","TRY_AGAIN":"Spróbuj ponownie","CLEAR_DATA":"Wyczyść dane","PLAYER_ERROR":"Ups, błąd odtwarzacza","PLAYER_ERROR_LOOKSLIKE":"Wygląda na to, że","PLAYER_ORIENTATION":"Orientacja odtwarzacza","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Zablokowana","PLAYER_ORIENTATION_SENSOR_SHORT":"Auto","PLAYER_ORIENTATION_LANDSCAPE":"Orientacja odtwarzacza zablokowana w poziomie","PLAYER_ORIENTATION_SENSOR":"Orientacja odtwarzacza automatyczna (czujnik)","PLAYER_PLAYBACK_SPEED":"Prędkość odtwarzania","PLAYER_PLAYBACK_ERROR":"Błąd odtwarzania, spróbuj ponownie","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Nieznany błąd","PLAYER_PLAYBACK_ERROR_DEFAULT":"Przepraszamy, ten film nie może być odtworzony przez {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Język napisów","PLAYER_SUBTITLES_VARIANTS":"Rodzaje napisów","PLAYER_SUBTITLES_SETTINGS":"Ustawienia napisów","PLAYER_SUBTITLES_DISABLED":"Napisy są wyłączone","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Pozycja pionowa","PLAYER_SUBTITLES_LOADED":"Napisy wczytane","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Wczytano wbudowane napisy","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Wczytano ekskluzywne napisy","PLAYER_SUBTITLES_LOADED_ORIGIN":"Napisy z {{origin}} załadowane","PLAYER_PLAY":"Odtwarzaj","PLAYER_PAUSE":"Zatrzymaj","PLAYER_NEXT_VIDEO":"Następne Wideo","PLAYER_MUTE":"Wycisz","PLAYER_UNMUTE":"Wyłącz wyciszenie","PLAYER_OPEN_IN_EXTERNAL":"Otwórz w zewnętrznym odtwarzaczu","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Puść na {{device}}","PLAYER_LIVE":"Na żywo","PLAYER_NEXT_VIDEO_TITLE":"Następnie w programie","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Następnie na","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Odrzuć","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Oglądaj teraz","PLAYER_COPY_STREAM_SUCCESS":"Link do streamu został skopiowany do schowka","PLAYER_COPY_STREAM_ERROR":"Nie udało się skopiować linku do streamu","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","STREAMING_FROM":"streamuje z","CASTING_TO":"Transmisja do","NETWORK_STATUS":"Status połączenia","STREAM_SPEED":"Prędkość streamu:","STREAM_BUFFERED":"Zbuforowane:","PEERS_INFO":"Informacje o peerach","PEERS_ACTIVE":"Aktywnych:","PEERS_CONNECTED":"Połączonych:","PEERS_WAITING":"Oczekujących:","TRANSCODING_WARNING":"Uwaga: transkodowanie filmu.","STREAM_LOADING":"ładowanie...","PLAYING_LOCAL":"odtwarzanie lokalnego pliku","PLAYING_CACHE":"odtwarzanie z pamięci podręcznej","WRONG_SUBS":"Złe napisy?","ERR_SUBS_LOADING_TITLE":"Wystąpił błąd podczas ładowania napisów","ERR_SUBS_LOADING":"Nie udało się załadować napisów: to może być problem z dodatkiem, którego używasz, lub z twoim połączeniem sieciowym","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Następujące dodatki do napisów nie załadowały się poprawnie","ERR_CASTING_UPDATE_TITLE":"Nie udało się zaktualizować informacji o urządzeniu zdalnym: serwer streamingowy może być niedostępny","CHOOSE_DEVICE":"Wybierz urządzenie, na którym chcesz oglądać","NO_CAST_DEVICES":"Brak urządzeń do transmisji.","NO_SETTINGS":"Brak dostępnych ustawień.","PHONE_TABLET":"Telefon / Tablet","SUBTITLES":"Napisy","SUBTITLES_CHANGE":"Zmień napisy na ","SUBTITLES_CHANGE_NONE":"Nie ma innych napisów dla tego języka, przepraszamy","SUBTITLES_CHANGE_ACIVE":"Obecnie napisy &#35;{{subtitlesDialog.activeIdx + 1}} są aktywne. Kliknij \\"Kontynuuj\\", aby aktywować napisy &#35;{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Alternatywnie,","SUBTITLES_ADJUST_DELAY":"Dopasuj opóźnienie napisów:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"lub użyj przycisków <span>G</span> / <span>H</span> podczas odtwarzania, aby dopasować.","SUBTITLES_ADJUST_DELAY_TIP":"PORADA: możesz używać przycisków <span>G</span> / <span>H</span> podczas odtwarzania, aby dopasować.","SUBTITLES_DELAY":"Opóźnienie napisów:","SUBTITLES_LOADING":"Ładowanie napisów...","SUBTITLES_UNAVAILABLE":"Brak dostępnych zewnętrznych napisów","SUBTITLES_DISABLED":"Wyłączone","EXTERNAL_PLAYER_DISABLED":"Wyłączone","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Zezwalaj na wybór","EXTERNAL_PLAYER_HINT":"Wskazówka: Istnieje ustawienie pozwalające na otwieranie zawsze za pomocą zewnętrznego odtwarzacza","DONT_SHOW_AGAIN":"Nie pokazuj ponownie","SERVICE_INSTALL":"Zainstaluj","AUDIO":"Dźwięk","DEFAULT_LANGUAGE":"Domyślny język","DEFAULT_SECONDARY_LANGUAGE":"Domyślny drugorzędny język","SEASON":"Sezon","EPISODE":"Odcinek","EPISODE_ABBREVIATION":"ODC","SPECIAL":"Bonusowe","SORT":"sortuj","SORT_BY":"Sortuj według","FILTER":"filtruj","SORT_TRENDING":"na czasie","SORT_RECENT":"najnowsze","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"oceny","SORT_WATCHED":"obejrzane","SORT_YEAR":"rok","SELECT_TYPE":"Wybierz typ","SELECT_SORT":"Wybierz sortowanie","SELECT_CATALOG":"Wybierz katalog","SELECT_GENRE":"Wybierz gatunek","SORT_LASTWATCHED":"ostatnio oglądane","SORT_NAME":"a-z","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"ilość obejrzeń","SORT_NOTWATCHED":"nie obejrzane","New for You":"Nowe dla ciebie","New Episodes":"Nowe odcinki","New Videos":"Nowe filmy","Recommendations":"Polecane","LIBRARY_RESUME":"Wznów","LIBRARY_PLAY":"Odtwarzaj","LIBRARY_DETAILS":"Szczegóły","LIBRARY_RESUME_DISMISS":"Odrzuć","LIBRARY_CLEAR_PROGRESS":"Wyczyść postęp","LIBRARY_REMOVE":"Usuń","LIBRARY_NOT_LOGGED_IN":"Biblioteka jest dostępna tylko dla zalogowanych użytkowników","CALENDAR_NOT_LOGGED_IN":"Kalendarz jest dostępny tylko dla zalogowanych użytkowników","NOT_LOGGED_IN_CLOUD":"Dostęp do ulubionych filmów i seriali w dowolnym miejscu i czasie","NOT_LOGGED_IN_RECOMMENDATIONS":"Rekomendacje dostosowane do historii oglądania","NOT_LOGGED_IN_NOTIFICATIONS":"Nigdy więcej nie przegap żadnego odcinka","NOT_LOGGED_IN_CALENDAR":"Zaplanuj swój osobisty kalendarz oglądania","DISCOVER_FEATURED":"Wyróżnione","DISCOVER_TOP":"Top","DISCOVER_OSCAR":"Zwycięzcy Oscara","DISCOVER_WARNING_TITLE":"Ups!","DISCOVER_EMPTY_CATALOG":"Ten dodatek nie zwrócił zawartości.","DISCOVER_ADULT_WARNING":"Ta treść jest widoczna tylko dla dorosłych. Czy jesteś 18+?","DISCOVER_NOADDON_WARNING":"Uwaga: żaden dodatek Stremio nie jest aktywny dla tego typu. Pokazywanie zapisanych elementów, nic tutaj nie będzie aktualizowane","DISCOVER_LOAD_ERR":"Zawartość nie została załadowana, wystąpił błąd","DISCOVER_ADDON_UNINSTALLED":"Ta zawartość nie jest już dostępna, być może odinstalowano ten dodatek.","UNINSTALL_THIS_ADDON":"Odinstaluj ten dodatek","ERR_ADDON_NOT_INSTALLED":"Ten dodatek nie jest zainstalowany. Zainstalować teraz?","DETAIL_RECEIVE_NOTIF_SERIES":"Otrzymuj powiadomienia o nowych odcinkach","DETAIL_RECEIVE_NOTIF_VIDEOS":"Otrzymuj powiadomienia o nowych filmach","SIDEBAR_SHOW_STREAMS":"Pokaż źródła","RELAUNCH":"Uruchom ponownie teraz!","UPGRADE":"Nowa wersja jest dostępna! Zaktualizuj do najnowszej wersji Stremio","RELOAD_UI":"Przeładuj interfejs użytkownika","MANUAL_UPDATE_TITLE":"Zaktualizuj twoją wersję Stremio","MANUAL_UPDATE_LINE1":"Używasz przestarzałej wersji Stremio, co jest mocno niezalecane.","MANUAL_UPDATE_LINE2":"Proszę zaktualizować tak szybko, jak to możliwe.","BUTTON_UPDATE_LATTER":"Nie teraz","BUTTON_UPDATE_NOW":"Aktualizuj","ANONYMOUS_USER":"Anonimowy użytkownik","DONT_HAVE_ACC":"Nie masz konta?","HAVE_ACC":"Masz już konto?","PASSWORD":"Hasło","PASSWORD_CONFIRM":"Potwierdź hasło","EMAIL":"E-mail","FB_LOGIN":"Zaloguj się z Facebook","FB_NOTHINGSHARED":"Nic nie jest udostępniane bez twojego zezwolenia","FB_NOPOST":"Nic nie upublikujemy w twoim imieniu","OR":"lub","I_ACCEPT":"Akceptuję","I_ACCEPT_BY_CLICKING":"Poprzez kliknięcie powyższego przycisku świadczę, że akceptuję ","TOS":"Warunki Umowy","MUST_ACCEPT_TERMS":"Musisz zaakceptować regulamin","PASSWORDS_NOMATCH":"Podane hasła nie są takie same","SIGN_UP":"Zarejestruj się","SIGN_UP_EMAIL":"Zarejestruj się za pomocą email","CLICK_TO_SIGN_UP":"Kliknij tutaj, aby się zarejestrować.","LOG_IN":"Zaloguj się","LOG_OUT":"Wyloguj się","EXIT_FULLSCREEN":"Wyjdź z trybu pełnoekranowego","ENTER_FULLSCREEN":"Wejdź w tryb pełnoekranowy","PLAY_URL_MAGNET_LINK":"Odtwórz URL/link Magnet","HELP_FEEDBACK":"Pomoc i Opinie","TERMS_OF_SERVICE":"Warunki świadczenia usług","PRIVACY_POLICY":"Polityka Prywatności","ABOUT_STREMIO":"O Stremio","USER_PANEL":"Panel użytkownika","LOGIN_LABEL":"Zaloguj się","GUEST_LOGIN":"Zaloguj się jako gość","GUEST_LOGIN_NOTICE":"Logowanie się jako gość nie jest zalecane. Używanie typowego logowania pozwala Stremio synchronizować twoją Bibliotekę oraz ustawiać powiadomienia o twoich ulubionych serialach/kanałach. Na pewno chcesz kontynuować?","GUEST_LOGIN_NOTICE_2":"Logowanie się jako gość nie jest zalecane - nie będziesz miał możliwości synchronizacji Biblioteki i powiadomień na Tablicy, a to ważne funkcje Stremio. Na pewno chcesz kontynuować?","CLICK_HERE":"kliknij tutaj","WRONG_PASSWORD":"Zły email lub hasło. Jeżeli zapomniałeś swojego hasła, ","SET_A_PASS":"ustaw hasło","RESET_PASSWORD":"Zresetuj hasło","FORGOT_PASSWORD":"Zapomniałeś hasła?","EMAIL_USED_WITH_FB":"Ten email jest używany do logowania poprzez Facebook.","INVALID_EMAIL":"Wprowadź poprawny adres email","INVALID_PASSWORD":"Wprowadź poprawne hasło","CONN_ERR":"Błąd połączenia - proszę spróbować ponownie później.\\n\\nJeśli problem wciąż występuje, wyłącz zapory sieciowe/oprogramowanie antywirusowe (szczególnie Bitdefender).","IMPORT_FROM_GUEST":"Importuj Bibliotekę z twojego konta gościa","RECEIVE_UPDATES_EMAIL":"Otrzymuj aktualizacje na swój email od Stremio","LOGIN_FAILED":"Logowanie nieudane.","SIGNUP_FAILED":"Rejestracja nieudana.","SEARCH_FAILED":"Wyszukiwanie nieudane","EMAIL_USED":"Ten email jest już w użyciu.","WAITING_FB_LOGIN":"Logowanie za pomocą Facebook...","EXTERNAL_PLAYER_TITLE":"Odtwórz w zewnętrznym odtwarzaczu","EXTERNAL_REMEMBER_PLAYER":"Czy chcesz zapamiętać swój wybór?","EXTERNAL_ALWAYS_PLAY":"Tak","EXTERNAL_ONLY_ONCE":"Nie","BEST_FIT":"Najlepsze dopasowanie","FIT_SCREEN":"Dopasuj do ekraniu","FILL":"Wypełnij","16:9":"16:9","4:3":"4:3","Original":"Oryginalne","INTRO_TASTE":"Powiedz nam co lubisz","INTRO_TASTE_LONG":"Powiedz nam co zechcialbyś obejrzeć","INTRO_TASTE_PICK":"Wybierz {{interestsRemaining}} zainteresowania","INTRO_TASTE_PICK_MORE":"Wybierz {{interestsRemaining}} więcej zainteresowań","INTRO_TASTE_HELP_US":"Pomóż nam dowiedzieć się więcej o Tobie.","INTRO_TASTE_CHOOSE_THESE":"Wybierz kilka z tych:","INTRO_TASTE_CHOOSE_MIN":"Wybierz przynajmniej 3 kategorie","INTRO_TASTE_CHOOSE_MIN_ERR":"Musisz wybrać przynajmniej 3 kategorie!","INTRO_TASTE_LIFESTYLE":"Lifestyle","INTRO_TASTE_SPORTS":"Sport","INTRO_TASTE_FOOD_HEALTH":"Jedzenie i zdrowie","INTRO_TASTE_BEAUTY_FASHION":"Uroda i moda","INTRO_TASTE_NEWS":"Wiadomości","INTRO_TASTE_GAMING":"Gaming","INTRO_TASTE_SCIENCE_EDU":"Nauka i edukacja","INTRO_TASTE_MUSIC":"Muzyka","INTRO_TASTE_TRAVEL":"Podróże","INTRO_TASTE_LATE_NIGHT":"Late Night Show","INTRO_TASTE_REALITY":"Reality","INTRO_TASTE_COMEDY":"Komedia","INTRO_TASTE_DIY":"Poradniki DIY","INTRO_TASTE_TECH":"Technologia","INTRO_TASTE_CINEMA":"Kino","ADDON_NOT_SUPPORTED":"Wybrany dodatek nie jest wspierany na tej platformie.","ADDON_DISCLAIMER":"Korzystanie z dodatków stron trzecich zawsze podlega odpowiedzialności użytkownika i prawu obowiązującemu w jurysdykcji, w której się znajduje.","ADDON_ACTIVATE":"Aktywować ten dodatek?","ADDON_REPO_ADD":"Adres URL repozytorium dodatków","ADDON_ADD":"Dodaj","INSTALL_ADDON":"Zainstaluj dodatek","ADD_ADDON":"Dodaj dodatek","ADD_ADDON_DESCRIPTION":"Dodatek można dodać za pomocą zewnętrznego linku, który pojawi się w sekcji Zainstalowane dodatki.","PASTE_ADDON_URL":"Wklej adres URL dodatku","WHATS_NEW":"Co nowego?","BUTTON_CONTINUE":"Kontynuuj","BUTTON_ACTIVATE":"Aktywuj","BUTTON_ACTIVATED":"Aktywowany","BUTTON_CANCEL":"Anuluj","BUTTON_SUBMIT":"Wyślij","BUTTON_DISMISS_ALL":"Odrzuć wszystko","BUTTON_VIEW_ALL":"Zobacz wszystko","BUTTON_SEE_ALL":"Zobacz wszytko","BUTTON_COLOR_TRANSPARENT":"Przezroczysty","OPEN_IN_BROWSER":"Otwórz w przeglądarce","LIB_EMPTY":"Twoja biblioteka wygląda na pustą. Dowiedz się jak bardzo jest ona przydatna :) ","HOW_START":"Oto jak zacząć:","LIB_EMPTY_CAL":"Twój Kalendarz pokazuje seriale w twojej bibliotece.","HOW_START_CAL":"Tak możesz dodawać seriale:","LIB_EMPTY_BOARD":"Tablica wyświetla powiadomienia &amp; rekomendacje związane z Twoją biblioteką.","HOW_START_BOARD_WAIT":"Dodaj kilka seriali lub filmów to swojej Biblioteki i daj nam trochę czasu na przetworzenie :)","HOW_START_BOARD":"Tak możesz dodawać seriale &amp; filmy:","IMPORT_FB":"Importuj rzeczy, które lubisz z <span>Facebook</span>","IMPORT_TRAKT":"Importuj swoją biblitekę filmów z <span>Trakt</span>","IMPORT_DISCOVER":"Znajdź interesujące rzeczy w <span>Odkrywaj</span>","IMPORT_DISK":"Importuj filmy lub seriale, które posiadasz na swoim <span>lokalnym dysku</span>","PLEASE_CREATE_ACC":"<u>Załóż konto</u>, aby uzyskać dostęp do synchronizacji Biblioteki &amp; Tablicy.","IMPORT_DISCOVER_SIGNUP":"Załóż konto i znajdź interesujące rzeczy w <span>Odkrywaj</span>","IMPORT_DISK_SIGNUP":"Załóż konto i importuj filmy lub seriale, które posiadasz na swoim <span>lokalnym dysku</span>","LIB_EMPTY_CLOUD":"Biblioteka w chmurze","LIB_EMPTY_CLOUD_DESC":"Osobista biblioteka w chmurze zsynchronizowana na wszystkich urządzeniach","LIB_EMPTY_EARLY":"Ranny ptaszek","LIB_EMPTY_EARLY_DESC":"Otrzymuj powiadomienia o nowych odcinkach","LIB_EMPTY_PERSONAL":"Osobiste","LIB_EMPTY_PERSONAL_DESC":"Otrzymuj osobiste rekomendacje","LIB_EMPTY_CALENDAR_DESC":"Zaplanuj swój osobisty kalendarz oglądania","LIB_EMPTY_ALL":"Zarejestruj się, aby uzyskać dostęp do wszystkich tych funkcji:","LIB_EMPTY_BEST":"Zarejestruj się, aby pozyskać najlepsze ze Stremio","LIB_EMPTY_OTHER":"Zarejestruj się, aby włączyć Kalendarz i inne fajne funkcje","CALENDAR_ADDED":"Kalendarz Stremio został dodany do twojego domyślnego systemowego kalendarza.","CALENDAR_ADDED_MSG":"Jeżeli to nie działa, dodaj ten URL do twojego kalendarza manualnie","TRAKT_EXPIRED":"Uwierzytelnianie Trakt wygasło, przejdź do Ustawień i uwierzytelnij ponownie.","TRAKT_REQUIRES_LOGIN":"Błąd Trakt","TRAKT_REQUIRES_LOGIN_MSG":"Musisz się zalogować","TRAKT_IMPORT_WATCHED":"Importuj","THEME":"Motyw","THEME_DEFAULT":"Domyślny","THEME_ADAPTIVE":"Adaptacyjny","SETTINGS_LABEL":"Ustawienia","SETTINGS_NAV_GENERAL":"Ogólne","SETTINGS_NAV_PLAYER":"Odtwarzacz","SETTINGS_NAV_STREAMING":"Odtwarzanie","SETTINGS_NAV_SHORTCUTS":"Skróty","SETTINGS_SHORTCUT_RELOAD_APP":"Przeładuj aplikację","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Otwórz ustawienia","SETTINGS_SHORTCUT_SWITCH_TABS":"Zmień karty","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Przechodzenie między kartami do przodu","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Przechodzenie między kartami do tyłu","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Nawigacja między menu","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Przejdź do wyszukiwania","SETTINGS_SHORTCUT_EXIT_BACK":"Wyjdź / Cofnij","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Otwórz menu prędkości odtwarzania","SETTINGS_SHORTCUT_MENU_VIDEOS":"Otwórz menu wideo","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Otwórz ustawienia napisów","SETTINGS_SHORTCUT_MENU_INFO":"Otwórz menu z Info","SETTINGS_SHORTCUT_FULLSCREEN":"Włącz tryb pełnoekranowy","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Pokaż skróty","SETTINGS_SHORTCUT_PLAY_PAUSE":"Odtwarzaj / Zatrzymaj","SETTINGS_SHORTCUT_VOLUME_UP":"Podgłośnij","SETTINGS_SHORTCUT_VOLUME_DOWN":"Ścisz","SETTINGS_SHORTCUT_SEEK_NEXT":"Przewiń wstecz","SETTINGS_SHORTCUT_SEEK_PREV":"Przewiń do przodu","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Przewiń wstecz","SETTINGS_SHORTCUT_SEEK_FORWARD":"Przewiń do przodu","SETTINGS_SHORTCUT_PLAY_NEXT":"Odtwórz następny odcinek","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Zwiększ rozmiar napisów","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Zmniejsz rozmiar napisów","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Zwiększ opóźnienie napisów","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Zmniejsz opóźnienie napisów","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Włącz pasek boczny","SETTINGS_SHORTCUT_OR":"albo","SETTINGS_SHORTCUT_TO":"do","SETTINGS_SHORTCUT_SPACE":"Spacja","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Uwierzytelnij","SETTINGS_FACEBOOK_IMPORT":"Importuj","SETTINGS_CALENDAR_SUBSCRIBE":"Subskrybuj","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Język interfejsu","SETTINGS_LAUNCH_STARTUP":"Uruchom przy starcie systemu","SETTINGS_VLC_DEFAULT":"Odtwórz w VLC","SETTINGS_UI_LANGUAGE":"Język interfejsu","SETTINGS_UI_ZOOM":"Powiększenie interfejsu","SETTINGS_FULLSCREEN_EXIT":"Klawisz Escape powoduje wyjście z trybu pełnoekranowego","SETTINGS_GAMEPAD":"Włącz obsługę gamepada","SETTINGS_CLOSE_WINDOW":"Zamyknij aplikację wraz z zamknięciem okna","SETTINGS_SUBTITLES_LANGUAGE":"Domyślny język napisów","SETTINGS_SUBTITLES_SIZE":"Domyślny rozmiar napisów","SETTINGS_SUBTITLES_BACKGROUND":"Tło napisów","SETTINGS_SUBTITLES_COLOR":"Kolor napisów","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Kolor konturu napisów","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Kolor tła napisów","SETTINGS_SEEK_KEY":"Dzługość przewijania za pomocą strzałek","SETTINGS_SEEK_KEY_SHIFT":"Dzługość przewijania za pomocą strzałek, gdy przytrzymany jest klawisz Shift","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Długość przewijania do tyłu i do przodu","SETTINGS_BINGE":"Automatycznie odtwórz następny odcinek","SETTINGS_NEXT_VIDEO":"Wyświetl powiadomienie o rozpoczęciu następnego odcinka","SETTINGS_NEXT_VIDEO_TRIGGER":"Pokaż powiadomienia o następnym odcinku dla:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Czas trwania powiadomienia o następnym odcinku","SETTINGS_PLAY_IN_BACKGROUND":"Odtwarzanie w tle","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Odtwórz w zewnętrznym odtwarzaczu","SETTINGS_RESIZE":"Automatycznie zmień rozmiar okna przed rozpoczęciem odtwarzania","SETTINGS_OVERRIDE_SERVER":"Nadpisz adres URL serwera streamingowego (zaawansowane)","SETTINGS_SERVER_URL":"Adres URL serwera streamingowego: ","SETTINGS_SERVER_AVAILABLE":"Serwer streamingowy jest dostępny.","SETTINGS_SERVER_UNAVAILABLE":"Serwer streamingowy jest niedostępny.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Błąd","SETTINGS_SERVER_CONFIGURE_TITLE":"Konfiguracja adresu URL serwera streamingowego","SETTINGS_SERVER_CONFIGURE_INPUT":"Wprowadź adres URL serwera streamingowego","SETTINGS_SERVER_CACHE_SIZE":"Rozmiar pamięci podręcznej","SETTINGS_SERVER_TORRENT_PROFILE":"Profil torrent","SETTINGS_HTTPS_ENDPOINT":"Streamingowy punkt końcowy HTTPS: ","SETTINGS_TRANSCODE_PROFILE":"Profil transkodowania","SETTINGS_USE_BETA":"Użyj wersji Beta programu","SETTINGS_IMPORT_FB":"Importuj z Facebook","SETTINGS_IMPORT_DISK":"Importuj z lokalnego dysku","SETTINGS_IMPORT_TRAKT":"Importuj z Trakt","SETTINGS_PAUSE_MINIMIZED":"Wstrzymaj odtwarzanie po zminimalizowaniu okna","SETTINGS_HWDEC":"Dekodowanie z akceleracją sprzętową","SETTINGS_BACKGROUND":"Odtwarzanie w tle","SETTINGS_SUBSCRIBE_CALENDAR":"Subskrybuj kalendarz","SETTINGS_REQ_EXPORT":"Zażądaj exportu danych","SETTINGS_ACC_DELETE":"Zażądaj usunięcia konta","SETTINGS_CHANGE_PASSWORD":"Zmień hasło","SETTINGS_TOS":"Warunki korzystania z usługi","SETTINGS_SUPPORT":"Skontaktuj się ze wsparciem","SETTING_LANGUAGE":"Język","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_LOGOUT":"Wyloguj z Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Wyloguj z Trakt","SETTINGS_SCAN_FOR_REMOTE":"Zeskanuj kod QR, aby otworzyć pilot sieciowy","SETTINGS_DESKTOP_NOTIFICATIONS":"Powiadomienia na pulpicie","SETTINGS_DATA_SAVER":"Oszczędzanie energii","SETTINGS_LANGUAGE_INTERFACE":"interfejs","SETTINGS_LANGUAGE_SUBS":"domyślne napisy","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Automatyczny wybór ścieżki dźwiękowej","SETTINGS_DEFAULT_AUDIO_TRACK":"Domyślna ścieżka dźwiękowa","SETTINGS_SURROUND_SOUND":"Dźwięk surround","SETTINGS_ACCOUNT":"konto","SETTINGS_PLATFORM":"Platforma","SETTINGS_VERSION":"Wersja","SETTINGS_ABOUT":"O aplikacji","SETTINGS_MPV_WINDOW":"Uruchamiaj odtwarzacz w osobnym oknie (zaawansowane)","SETTINGS_PLAY_IN_EXTERNAL":"Zawsze uruchamiaj wideo w zewnętrznym odtwarzaczu","SETTINGS_STORAGE_BUTTON":"Wyczyść pamięć lokalną","SETTINGS_STORAGE_MODAL_TITLE":"Jesteś pewny?","SETTINGS_STORAGE_MODAL_MESSAGE":"Spowoduje to wyczyszczenie lokalnej pamięci i wylogowanie użytkownika.","SETTINGS_HWDEC_PICKER":"Wybierz ustawienie dekodowania z akceleracją sprzętową","SETTINGS_HW_AUTOMATIC":"Automatyczna","SETTINGS_HW_DISABLED":"Wyłączona","SETTINGS_HW_ACCELERATED":"Akceleracja dekodowania","SETTINGS_HW_FULL":"Pełna akceleracja","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Wyłączone","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Powiadomienie o połączeniu sieciowym","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Adres URL pilota sieciowego","SETTINGS_COPY_REMOTE_URL":"Skopiuj adres URL pilota sieciowego","SETTINGS_REMOTE_URL_COPIED":"Adres URL pilota sieciowego został skopiowany do schowka","SETTINGS_SECTION_SUBTITLES":"Napisy","SETTINGS_SECTION_AUDIO":"Dźwięk","SETTINGS_SECTION_CONTROLS":"Sterowanie","SETTINGS_SECTION_AUTO_PLAY":"Automatyczne odtwarzanie","SETTINGS_SECTION_ADVANCED":"Zaawansowane","SUBSPICKER_AUDIO":"Audio","SUBSPICKER_SUBTITLES":"Napisy z dodatków","SUBSPICKER_BLACK_BACKGROUND":"Użyj czarnego tła","SUBSPICKER_VERTICAL_OFFSET":"Przesunięcie pionowe","SUBSPICKER_SIZE":"Rozmiar","SUBSPICKER_DELAY":"Opóźnienie","SUBSPICKER_EMBEDDED_SUBS":"Wbudowane napisy","MOBILE_PRIVACY_POLICY":"Polityka prywatności","MOBILE_CRASH_REPORTING":"Zgłaszanie błędów","MOBILE_ZOOM_TO_FILL":"Powiększ, aby wypełnić ekran","MOBILE_PASSTHROUGH":"Cyfrowe wyjście audio (passthrough)","MOBILE_RUN_LOW_BATTERY":"Praca na niskim poziomie baterii","MOBILE_RUN_FOREGROUND":"Uruchom jako usługę pierwszoplanową","MOBILE_PERFORMANCE":"WYDAJNOŚĆ I STABILNOŚĆ","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"Kod QR wygasa w ","MOBILE_LOG_INTO":"Zaloguj się do swojego konta Stremio ","MOBILE_SCAN_QR":"Zeskanuj kod QR powyżej lub przejdź do ","MOBILE_LINK_ACCOUNT":"Powiąż konto","MOBILE_SPEEDPICKER_CANCEL":"Anuluj","MOBILE_SPEEDPICKER_LABEL":"Wybór prędkości odtwarzania","MOBILE_EMPTY_LIBRARY":"Twoja biblioteka jest pusta","MOBILE_NO_ADDON_ACTIVE":"Żaden dodatek Stremio nie jest aktywny dla tego typu.","MOBILE_ORGANIZER_WARNING":"Aplikacja Stremio Organizer zapewnia ograniczoną funkcjonalność. Aby uzyskać listę źródeł i pełną funkcjonalność Stremio, użyj Stremio na komputerze.","MOBILE_ADDON_LOADING":"wciąż się ładuje","MOBILE_ADDONS_LOADING":"dodatki wciąż się ładują","MOBILE_ADDON":"Dodatek","MOBILE_CONFIGURE_ADDON":"Konfiguracja dodatku","MOBILE_CONFIGURE_ADDON_LABEL":"Skonfiguruj dodatek","MOBILE_ORGANIZER_ADDONS_WARNING":"Aplikacja Stremio Organizer zapewnia ograniczony wybór dodatków. Aby w pełni cieszyć się Stremio, użyj Stremio na komputerze.","MOBILE_DISCONNECT":"Rozłączenie","MOBILE_LOOKING_FOR_DEVICES":"Poszukiwanie urządzeń...","MOBILE_CAST_TO":"Streamuj do","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Usuń konto","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Usunięcie konta nie jest natychmiastowe ze względu na zobowiązania prawne. Po złożeniu wniosku o usunięcie konta będziesz musiał użyć innego adresu e-mail/profilu Facebook, aby utworzyć nowe konto Stremio w przyszłości.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Potwierdź usunięcie konta","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Twoje konto zostało utworzone za pomocą Facebooka. Aby usunąć konto, skorzystaj z naszego portalu użytkownika pod adresem www.stremio.com/login.","MOBILE_DELETE_ACCOUNT_MESSAGE":"Podaj hasło, aby potwierdzić usunięcie konta.","MOBILE_DELETE_ACCOUNT_BUTTON":"Usuń konto","NAVIGATION_ON":"Włącz","NAVIGATION_OFF":"Wyłącz","MARKETING_AGREE":"Wyrażam zgodę na otrzymywanie informacji marketingowych od Stremio","QUIT":"Zamknij","CONNECTED":"Połączono","AUTHENTICATE":"Uwierzytelnianie","CACHING":"Buforowanie","SETTINGS_CACHING_DRIVE":"Dysk buforujący","ENABLE_LOCAL_FILES_ADDON":"Włącz dodatek plików lokalnych (wymaga restartu)","LOCAL_ADDON_NOT_ENABLED":"Dodatek plików lokalnych nie jest włączony. Kliknij tutaj, aby przejść do ustawień i go włączyć.","ENABLE_REMOTE_HTTPS_CONN":"Włącz zdalne połączenia HTTPS","TORRENT_PROFILE":"Profil torrent","DATA_CACHING":"Buforowanie danych","MAGNET_PARSING":"Analizowanie linku Magnet","January":"Styczeń","February":"Luty","March":"Marzec","April":"Kwiecień","May":"Maj","June":"Czerwiec","July":"Lipiec","August":"Sierpień","September":"Wrzesień","October":"Październik","November":"Listopad","December":"Grudzień","Monday":"Poniedziałek","Tuesday":"Wtorek","Wednesday":"Środa","Thursday":"Czwartek","Friday":"Piątek","Saturday":"Sobota","Sunday":"Niedziela","Action":"Akcja","Comedy":"Komedia","War":"Wojna","Family":"Rodzina","Animation":"Animacja","Adventure":"Przygoda","Fantasy":"Fantasy","Crime":"Kryminał","Mystery":"Tajemnica","Romance":"Romans","Drama":"Dramat","Horror":"Horror","Thriller":"Thriller","Sci-Fi":"Sci-Fi","Music":"Muzyka","Biography":"Biografia","Documentary":"Dokument","Sport":"Sport","Musical":"Musical","Western":"Western","Film-Noir":"Film-Noir","News":"Wiadomości","History":"Historia","Game-Show":"Teleturnieje","Reality-TV":"Reality-TV","Talk-Show":"Talk-Show","Film & Entertainment":"Film i Rozrywka","Gaming":"Gaming","From TV":"Z TV","Lifestyle":"Lifestyle","Science & Education":"Nauka i Edukacja","Cooking & Health":"Gotowanie i Zdrowie","Beauty & Fashion":"Moda i Uroda","Sports":"Sporty","News & Politics":"Wiadomości i Polityka","How-to & DIY":"Poradniki i DIY","Tech":"Technologia","Automotive":"Motoryzacja","Causes & Non-Profits":"Szczytne cele i Non-Profit","Movies":"Filmy","Uk Live Tv":"Uk Live Tv","Fashion":"Moda","Business News Radio":"Radio wiadomości biznesowych","Business Tv":"Biznesowe Tv","Cars & Auto":"Samochody i auta","Comedy Radio":"Radio komediowe","Lifestyle Radio":"Radio lifestyle","News Tv":"Wiadomości Tv","Food And Wine":"Jedzenie i Wino","Latino Tv":"Latynoska Tv","Shopping Tv":"Zakupy Tv","Religion":"Religia","Kids":"Dzieci","Body & Soul":"Ciało i Dusza","Education":"Edukacja","Indian Tv":"Indyjska Tv","Extreme Sports":"Sporty ekstremalne","Middle Eastern Tv":"Bliski wschód Tv","Celebrity Tv":"Celebryckie Tv","Science Tv":"Naukowe Tv","Bikini babe":"Bikini babe","Outdoors":"Na zewnątrz","German Tv":"Niemieckie Tv","French Tv":"Francuskie Tv","Italian Tv":"Włoskie Tv","Gamer Tv":"Tv dla gracza","Travel":"Podróżowanie","Asian Tv":"Azjatyckie Tv","Entertainment":"Rozrywka","News Radio":"Radio Informacyjne","Music Radio":"Radio Muzyczne","Language Learning":"Nauka języków","Science Radio":"Radio Naukowe","Tech Radio":"Radio Technologiczne","Science & Technology Vod":"Nauka i technologia Vod","new video":"nowe wideo","new episode":"nowy odcinek","new movie":"nowy film","recommended":"polecane","we recommend":"polecamy","offer of the day":"oferta dnia","news":"wiadomości","music video":"teledysk","CTX_SHOW_HOTKEYS":"Pokaż skróty","CTX_DISMISS_NOTIF":"Odrzuć powiadomienie","CTX_DISMISS_ALL":"Odrzuć wszystkie","CTX_SHARE":"Udostępnij","CTX_COPY_SHARE_LINK":"Kopiuj link do udostępnienia.","CTX_COPY_MAGNET_LINK":"Kopiuj link Magnet","CTX_COPY_STREAM_LINK":"Kopiuj link do streamu","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Pobierz film","CTX_DOWNLOAD_SUBS":"Pobierz napisy","CTX_VIEW_ON_YOUTUBE":"Zobacz na Youtube","CTX_SHOW":"Pokaż","CTX_PLAY":"Odtwórz","CTX_PLAY_IN":"Odtwórz w","CTX_PLAY_ON":"Odtwórz na","CTX_WATCH_ON":"Oglądaj na","CTX_WATCH":"Oglądaj","CTX_WATCHED":"Obejrzane","CTX_WATCH_BEGINNING":"Odtwórz od początku","CTX_WATCH_MOBILE":"Odtwórz na urządzeniu mobilnym","CTX_REWIND":"Przewiń do początku","CTX_MARK_WATCHED":"Oznacz jako obejrzane","CTX_MARK_NON_WATCHED":"Oznacz jako nieobejrzane","CTX_MARK_UNWATCHED":"Oznacz jako nieoglądane","CTX_MARK_REST":"Oznacz resztę jako obejrzane","CTX_UNMARK_REST":"Oznacz resztę jako nieobejrzane","CTX_RECEIVE_NEW_NOTIF":"Otrzymuj nowe powiadomienia","CTX_ENABLE_NEW_NOTIF":"Włącz powiadomienia","CTX_DISABLE_NEW_NOTIF":"Wyłącz powiadomienia","CTX_REMOVE_CACHE":"Wyczyść pamięć podręczną","CTX_REMOVE_CACHE_EP":"Usuń odcinek z pamięci podręcznej","CTX_OPEN_CONTAINING":"Otwórz folder zawierający","CTX_REMOVE":"Usuń z Biblioteki","CTX_AVAILABLE_OFFLINE":"Dostępne offline","CTX_PAUSED":"Zatrzymane","CTX_ALWAYS_ON_TOP":"Zawsze na wierzchu","CTX_FULLSCREEN":"Tryb pełnoekranowy","CTX_WRONG_SUBS":"Złe napisy?","CTX_REPORT_ISSUES":"Wyślij raport o błędzie","CTX_COPY":"Kopiuj","CTX_PASTE":"Wklej","CTX_CLEAR":"Wyczyść","CTX_CLEAR_RECENT_SEARCHES":"Wyczyść ostatnie wyszukiwania","HELLO_THERE":"Witaj","HOPE_YOU_ENJOY":"Mamy nadzieję, że Stremio przypadło Ci do gustu i jest już jedną z Twoich ulubionych aplikacji!","WHO_ARE_WE":"Kim jesteśmy? Jesteśmy zespołem, który za tym stoi - dwoma facetami, którzy od trzech lat ciężko pracują każdego dnia, aby uczynić ten produkt coraz lepszym.","SUPPORT_US":"Jeśli lubisz korzystać ze Stremio, jeśli Stremio jest dla Ciebie wartościowe - roznieś wieści!","SPREAD_THE_WORD":"Podziel się teraz ze znajomymi, roznieś wieści o Stremio","MORE_PEOPLE":"Im więcej osób będzie korzystać ze Stremio, tym będzie ono lepsze!","SEND_A_LINK":"Lub wyślij link do naszej strony internetowej","TIP_LOCALFILES":"Wskazówka: możesz przeciągać i upuszczać lokalne pliki wideo do Stremio","ADDON_MY":"Moje dodatki","ADDON_COMMUNITY":"Dodatki społeczności","ADDON_OFFICIAL":"Oficjalne dodatki","ADDON_REPOS":"Repozytoria dodatków","ADDON_SEARCH":"Wyszukaj dodatki","ADDON_INSTALL":"Zainstaluj","ADDON_CONFIGURE":"Konfiguruj","ADDON_UNINSTALL":"Odinstaluj","ADDON_UPGRADE":"Zaktualizuj","ADDON_INSTALLED":"Zainstalowano","ADDON_INSTALLED_MSG":"Dodatek zainstalowany!","ADDON_UPGRADED_MSG":"Dodatek zaktualizowany!","ADDON_UNKNOWN":"Nieznany","ADDON_ERR":"Wystąpił błąd przy instalacji dodatku","ADDON_DISCONNECTED":"Odłączono","ADDON_APP_MISSING":"aplikacja dla tego źródła nie jest zainstalowana. Czy chcesz ją teraz zainstalować?","ADDON_APP_INSTALL":"Zainstaluj","ADDON_PAGE":"Strona dodatku","ADDON_TOP_CONTENT":"Najlepsze z tego dodatku","ADDON_PROVIDES":"Ten dodatek zapewnia:","ADDON_WATCH":"Oglądaj #{types} teraz!","ADDON_WATCH_FREE":"Oglądaj #{types} teraz za darmo!","ADDON_ADDON":"Dodatki","ADDON_SUPPORTED_TYPES":"Obsługiwane typy","ADDON_SUPPORTED_CATALOGS":"Obsługiwane katalogi","ADDON_PROVIDES_DISCOVER":"Więcej #{types} w Odkryj","ADDON_PROVIDES_STREAMS":"Oglądaj #{types}","ADDON_PROVIDES_STREAMS_FREE":"Oglądaj #{types} za DARMO","ADDON_PROVIDES_SUBTITLES":"Napisy dla #{types}","ADDON_CANTDETECT":"Nie mogliśmy wykryć uruchomionego Stremio, więc nie mogliśmy wykryć zainstalowanych dodatków.","ERR_NO_META":"Nie znaleziono informacji na ten temat","ERR_GETTING_META":"Błąd pobierania informacji na ten temat.","ERR_CANT_PARSE_MAGNET":"Nie można przeanalizować Magnetu","ERR_NO_MAGNET_INFOHASH":"Nieprawidłowy info hash dla Magnetu","ERR_NO_FILE_PATH":"Nie można wysłać żądania bez ścieżki do pliku","ERR_NO_TORRENT":"Żaden torrent nie został zwrócony","ERR_NO_SUPPORTERD_FILES":"Nie znaleziono obsługiwanych plików","ERR_OPENING_FILES":"Nie można otworzyć plików zewnętrznych","ERR_INVALID_LINK":"Nieprawidłowy link","ERR_REGISTERED_ONLY":"Ta opcja jest dostępna tylko dla zarejestrowanych użytkowników.","ERR_CLIPBOARD":"Nie można odtwarzać ze schowka","ERR_CLIPBOARD_READ":"Nie można odczytać schowka na tej platformie","ERR_CLIPBOARD_GENERIC":"W schowku nie znaleziono odtwarzalnego adresu URL. Skopiuj adres URL (np. link Magnet) do filmu.","BOARD_CONTINUE_WATCHING":"Kontynuuj oglądanie","BOARD_EXPLANATION_RECOMMENDATIONS":"Filmy wybrane specjalnie dla Ciebie.<br />Ten film jest przykładową rekomendacją.","BOARD_EXPLANATION_EPISODES":"Tutaj pojawiają się nowe odcinki Twoich ulubionych seriali.<br />Dodaj seriale które oglądasz do swojej biblioteki.","BOARD_EXPLANATION_VIDEOS":"Tutaj pojawiają się nowe filmy Twoich ulubionych kanałów.<br />Dodaj kanały YouTube które obserwujesz do swojej biblioteki.","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE":"Contribute","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"Learn more","WEBSITE_COMPANY":"Company","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Need Help?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"Oglądaj natychmiast","WEBSITE_SLOGAN_ALL":"Wszystkie materiały wideo w jednym miejscu","WEBSITE_SLOGAN_NEW":"Wszystko, co możesz oglądać","WEBSITE_SLOGAN_NEW_NEW":"Wolność streamowania","WEBSITE_WATCH_FROM":"Oglądaj od","WEBSITE_DOWNLOAD":"Pobierz teraz","WEBSITE_DOWNLOAD_FOR":"Pobierz teraz dla","WEBSITE_IS_DESKTOP":"SStremio to aplikacja komputerowa, otwórz tę stronę na komputerze i pobierz ją","WEBSITE_DESKTOP_DEMO_VID":"Wersja demonstracyjna pulpitu","WEBSITE_PAGE_HOME":"Strona główna","WEBSITE_PAGE_FEATURES":"Cechy","WEBSITE_PAGE_ADDONS":"Dodatki","WEBSITE_PAGE_TECH":"Technologia","WEBSITE_PAGE_CREATE_ADDON":"Stwórz dodatek","WEBSITE_PAGE_CONTACTS":"Kontakty","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Filmy","WEBSITE_TYPE_series_PL":"Seriale","WEBSITE_TYPE_tv":"Live TV","WEBSITE_TYPE_channel":"Kanały","WEBSITE_STREMIO_WHAT_IS":"Stremio to aplikacja, która pomaga organizować i błyskawicznie oglądać ulubione filmy, seriale i kanały telewizyjne.","WEBSITE_FEATURES_WATCH":"Oglądaj natychmiast w HD ","WEBSITE_FEATURES_WATCH_DETAIL":"Click and play your favourite movies, TV Shows, videos and TV channels.","WEBSITE_FEATURES_SUBS":"Automatic Subtitles","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio automatically picks synced subtitles for your language.","WEBSITE_FEATURES_SUBS_LABEL":"Your move, chief.","WEBSITE_FEATURES_CAST":"Play on TV & mobile devices","WEBSITE_FEATURES_CAST_DETAIL":"Cast to AppleTV, Chromecast, Smart TV (DLNA/UPnP) and mobile devices.","WEBSITE_LIB":"Enjoy Your Personal Library Synced on All Your Devices","WEBSITE_LIB_COLLECT":"Collect from Stremio","WEBSITE_LIB_IMPORT":"Import from Facebook","WEBSITE_LIB_LOCAL":"Add from your local drive","WEBSITE_BOARD":"The Board - Your one-stop place for Notifications and Recommendations","WEBSITE_BOARD_RECOMMEND":"Recommended TV Show","WEBSITE_BOARD_TRENDING":"Trending Movie","WEBSITE_BOARD_NEW":"New Video","WEBSITE_BOARD_EPISODE":"New Episode","WEBSITE_BOARD_1":"Looking for something interesting to watch? Get recommendations based on your taste!","WEBSITE_BOARD_2":"Get notified when a new episode of your favourite TV show or YouTube channel is out!","WEBSITE_BOARD_YOUTUBE":"New videos of YouTube channels","WEBSITE_BOARD_EPISODES":"New episodes of series you follow","WEBSITE_ADDONS":"Content Addons","WEBSITE_TECH_DETAIL":"We love technology, we love mad science!\\nStremio is using the following open source technologies:","WEBSITE_TECH_WCJS":"WebChimera.js allows Stremio to play any video format with good performance.","WEBSITE_TECH_WCJS_EXTRA":"We are core project contributors","WEBSITE_TECH_ELECTRON":"Electron provides an innovative platform to build Stremio with.","WEBSITE_TECH_ELECTRON_EXTRA":"We are project contributors","WEBSITE_TECH_LINVODB":"A database technology that ensures your data is organized and available anywhere you login.","WEBSITE_TECH_LINVODB_EXTRA":"In-house technology","WEBSITE_CREATE_ADDON":"Create your addon","WEBSITE_CREATE_ADDON_DETAIL":"Do you have a service providing video content? We\'ll help you benefit from Stremio\'s features by creating your Addon.","WEBSITE_CREATE_ADDON_BENEFITS":"Benefits of Creating an Addon for Stremio","WEBSITE_P2P_BEAUTY":"The Beauty of Peer-to-Peer Streaming","WEBSITE_P2P_1":"Reliable and affordable full HD / 4K video on demand or live streaming","WEBSITE_P2P_2":"Distribution platform providing great user experience","WEBSITE_P2P_3":"We will create an addon meeting your exact needs","WEBSITE_P2P_CONTACT":"Interested? You are welcome to <a href=\'mailto:office@stremio.com\'>contact us</a>.","WEBSITE_P2P_CONTACT_EXTRA":"We will be happy to help you integrate your content with Stremio!","WEBSITE_P2P":"Once in a while, there comes a technology that changes the name of the game. We invested tons of time and effort in building our Peer-to-Peer (P2P) video streaming engine that provides great performance and versatility to adapt with any use case.\\nContact us for DRM-enabled P2P video on demand or live streaming.","WEBSITE_THOUGHTS":"Thoughts we share:","WEBSITE_SPREAD":"Spread the word about Stremio:","WEBSITE_CONTACT":"Contact us, we\'ll be happy to hear from you!","WEBSITE_OPENSOURCE":"For our open source projects, go to our","WEBSITE_BITCOIN":"Donate bitcoin:","WEBSITE_FAQ":"Często zadawane pytania","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Pytania","WEBSITE_TOS":"Terms of use","WEBSITE_LEGAL":"Legal","WEBSITE_PAGE_ABOUT":"O","WEBSITE_PAGE_BECOME_PARTNER":"Become a partner","WEBSITE_ALL_YOU_CAN_WATCH":"Freedom To Watch\\nEverything You Want.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"What is stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio is a one-stop hub for video content aggregation. Discover, organize and watch video from all kind of sources on any device that you own.","WEBSITE_WHAT_IS_STREMIO_P2":"Movies, TV shows, series, live television or web channels like YouTube and Twitch.tv - you can find all this on Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio is a modern media center that\'s a one-stop solution for your video entertainment. You discover, watch and organize video content from easy to install addons.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Movies, TV shows, live TV or web channels - find all this on Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Enjoy on all your Media devices","WEBSITE_DEVICES_COLLECT":"Collect from Stremio","WEBSITE_DEVICES_IMPORT_FB":"Import from facebook","WEBSITE_DEVICES_LOCAL":"Add from local drive","WEBSITE_JOIN_THE_PARTY_NOW":"Join the party now","WEBSITE_DEVICES_ALL":"Easy to use on all your devices;","WEBSITE_EXTENDABLE_CATALOG":"Infinitelly extendable video catalog;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Great features to organize your media;","WEBSITE_AS_SEEN_ON":"As seen on","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"O Nas","WEBSITE_LINK_TECHNOLOGY":"Technology","WEBSITE_LINK_APPS":"Apps","WEBSITE_LINK_DOWNLOADS":"Downloads","WEBSITE_MORE":"Więcej","WEBSITE_LINK_ADDONS":"Dodatki","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Contribute","WEBSITE_LINK_COMMUNITY":"Społeczność","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... & More","WEBSITE_LINK_HELP":"Help center","WEBSITE_LINK_CONTACTS":"Business inquiries","WEBSITE_LINK_TOS":"Terms & conditions","WEBSITE_LINK_PRAVACY":"Polityka prywatności","WEBSITE_SUBSCRIBE":"Subscribe","WEBSITE_NEWSLETTER":"Join Our Newsletter for amazing stuff","WEBSITE_PLACEHOLDER_EMAIL":"Twój email","WEBSITE_COMMUNITY":"Community","WEBSITE_LINK_PRAVACY_LEGAL":"Privacy & legal","WEBSITE_WHY":"Why we do it","WEBSITE_WHY_P1":"At Stremio, we come to work every day because we want to solve an important problem for the video-on-demand industry. There’s so much new content published every minute that it’s virtually impossible to find your way around it.","WEBSITE_WHY_P2":"We help people navigate that huge world of video entertainment and discover new content to enjoy. Our apps bring together movies, series, live TV, web channels, and more. We are dedicated to making it incredibly easy for users to find titles and broadcasters that they love.","WEBSITE_WHY_P3":"You can use our service on any device and at any time, making Stremio the only video entertainment hub you’ll ever need.","WEBSITE_TEAM":"Zespół","WEBSITE_TEAM_P":"The Stremio team is small but powerful: between the ten of us, we code in X languages, and share expertise in software development, UI and UX design, marketing and advertising, and business and startups.","WEBSITE_FEATURES":"Funkcjonalność","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Discover new content with ease","WEBSITE_FEATURES_DISCOVER_P":"Easily discover new movies, TV shows, series and channels to watch. Browse by category, genre, rating, recency, etc. or simply type a name to find. Stremio makes finding new video content a piece of cake.","WEBSITE_FEATURES_ALL_CONTENT":"All of your video content on one screen","WEBSITE_FEATURES_ALL_CONTENT_P1":"See what movies, series or videos you didn’t finish and continue watching them; get notified for new episodes and releases; and browse through the recommendations you will get based on your viewing habits.","WEBSITE_FEATURES_LIBRARY":"Organize your video library","WEBSITE_FEATURES_LIBRARY_P1":"Add any title to your Stremio library with a single click and find your way around your content, neatly arranged by type, recency, or alphabetical order.","WEBSITE_FEATURES_CALENDAR":"Keep track of everything you watch","WEBSITE_FEATURES_CALENDAR_P1":"Get a calendar visualization of all the movies and series you add to your library. Export your Stremio calendar and sync it so you always know when a new episode or a premier is due.","WEBSITE_FEATURES_BIG_SCREEN":"Enjoy your video content on a bigger screen","WEBSITE_FEATURES_BIG_SCREEN_P1":"Cast whatever you are watching to another device - be it a phone, tablet or a TV with a single click.","WEBSITE_FEATURES_SOURCES":"Watch video from many different sources","WEBSITE_FEATURES_SOURCES_P":"Install official and community addons to enjoy video sourced from many different providers - all in one sleek, easy to use app.","WEBSITE_CREATE_AN_ADDON":"Create an addon","WEBSITE_FEATURES_SYNC":"Sync your library across different devices and resume your playback","WEBSITE_FEATURES_SYNC_P1":"Login with your account across all your devices and enjoy your library, addons, playback and calendar synchronized.","WEBSITE_FEATURES_EXTENDABLE":"Extendable video catalog by addons","WEBSITE_FEATURES_EXTENDABLE_P1":"The Stremio addon catalog provides a number of addons to install and watch a variety of video content from. This includes movies, shows, live TV, sport, news, podcasts, web channels, video games and more.","WEBSITE_FEATURES_AUTO_SUBS":"Automatic subtitles","WEBSITE_FEATURES_AUTO_SUBS_P1":"With our subtitle addons you get automatically selected options for your preferred language.","WEBSITE_FEATURES_CHROMECAST":"Casting to Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Enjoy your video content on a bigger screen or just cast whatever you are watching to another device.","WEBSITE_FEATURES_KEEP_TRACK":"Keep track of your favorite TV shows and Web channels","WEBSITE_FEATURES_KEEP_TRACK_P1":"Get a calendar visualization and notifications for new episodes of your favorite series and web channels.","WEBSITE_FEATURES_POWER_USER":"Power user features","WEBSITE_FEATURES_POWER_USER_P1":"Play in external player","WEBSITE_FEATURES_POWER_USER_P2":"Play from a torrent file or magnet link","WEBSITE_FEATURES_POWER_USER_P3":"Import to your library from Facebook likes or local disk","WEBSITE_ADD_ONS":"Dodatki","WEBSITE_ADD_ONS_P1":"All of the video content Stremio provides get sourced through an addon system - no content or content provider has been built into the app.","WEBSITE_ADD_ONS_P2":"There are two groups of addons available: official and community addons.","WEBSITE_ADD_ONS_P3":"The official ones are developed and hosted by Stremio, whereas community addons are created by our community members, who also host them.","WEBSITE_ADDONS_OFFICIAL":"Official addons","WEBSITE_ADDONS_WATCHUB":"Stream your favourite movies, series and shows from providers like iTunes, Hulu, Amazon and other UK/US services.","WEBSITE_ADDONS_YOUTUBE":"Watch your favourite YouTube channels ad-free and get notifications for new uploads from the contributors you follow.","WEBSITE_ADDONS_FILMON":"Watch live TV, movies and social television for free. 600 TV channels, 45,000 free movies, documentaries and more.","WEBSITE_ADDONS_OPENSUBTITLES":"Movie and TV subtitles in multiple languages, thousands of translated subtitles uploaded every day.","WEBSITE_ADDONS_COMMUNITY":"Community addons","WEBSITE_ADDONS_FILMON_VOD":"Watch video on demand from Filmon.tv","WEBSITE_ADDONS_TWICH":"Watch live streams from Twitch.tv - a video streaming platform for the e-sports industry.","WEBSITE_ADDONS_VODO":"Watch indie movies absolutely free of charge.","WEBSITE_ADDONS_NETFLIX":"Watch Netflix movies and web series.","WEBSITE_ADDONS_CREATE":"Stwórz dodatek","WEBSITE_ADDONS_CREATE_P1":"If you wish, you can develop your own addon. This way, you can give yourself and our community access to new video content, and reach a new, targeted audience of millions of users around the world.","WEBSITE_ADDONS_START_CREATE":"To get started, visit the Stremio Addon SDK page:","WEBSITE_DOWNLOADS":"Downloads","WEBSITE_DOWNLOADS_P1":"For optimal performance, we recommend that you use the latest available version of the Stremio apps. If for some reason, however, you would like to use an older version, you can download it here.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio for Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio for macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio for Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio for Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio for iOS","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"The Stremio platform is open source and you can easily create an addon for content that is currently not sourced.","WEBSITE_CONTRIBUTE_WHY":"Why should you create an addon?","WEBSITE_CONTRIBUTE_WHY_P1":"Reach new audience for your video content","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio’s user base is growing rapidly - within the first year of the launch, Stremio had gained 1 million users around the world, and in the second year of the platform’s existence this number grew to 2.5 million.","WEBSITE_CONTRIBUTE_WHY_P3":"With your addon, you can easily reach this audience and distribute your video content to them.","WEBSITE_CONTRIBUTE_ALL":"Watch your favourite movies, videos, series and channels in one single place.","WEBSITE_CONTRIBUTE_ALL_P1":"You’re a fan of a particular type of content not available on Stremio yet? Create an addon for it and enjoy watching your favourite videos in one of the largest and easiest to use entertainment hubs on the market.","WEBSITE_CONTRIBUTE_ALL_P2":"On top of that, you’ll get the endless gratitude of other like-minded Stremio community members.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetize your addon and earn money with its help","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Once you develop a new addon for Stremio, you can easily monetize it through a number of different ways. If you are considering this, feel free to get in touch with us at ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - we would be happy to consult and advise you about addon monetization options.","WEBSITE_CONTRIBUTE_TRANSLATE":"Become a volunteer translator","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"If you want to enjoy the Stremio apps in different languages, you can join our community of volunteer translators. They help us add versions of the Stremio in many different languages.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Are you eager to get started?","WEBSITE_TRANSALTE_STREMIO":"Translate Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Official communities","WEBSITE_COMMUNITY_OFFICIALS_P1":"Become a part of the growing Stremio community. Follow us on social media and don’t be shy to say hello - we love hearing from our fans! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Unofficial communities","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Dodatki Stremio","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partners and supporters","WEBSITE_COMMUNITY_GOODIES":"Stremio goodies","WEBSITE_COMMUNITY_WALLPAPERS":"Tapety","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"Kontakt","WEBSITE_CONTACT_US_P1":"If you have any questions, comments or suggestions, feel free to get in touch with us through the contact form below.","WEBSITE_CONTACT_US_P2":"Keep in mind that we are located in Bulgaria so there may be a delay in addressing your query due to time zone differences.","WEBSITE_CONTACT_US_SUCCESS":"Your message has been sent. We will get back to you at our earliest convenience.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Please enter a valid email!","WEBSITE_CONTACT_US_Q_RELATED_TO":"What is your question related to?","WEBSITE_CONTACT_US_Q_OS":"What is your Operation System?","WEBSITE_CONTACT_US_PH_EMAIL":"Twój e-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Wiadomość","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"Wyślij","WEBSITE_CONTACT_US_Q_1":"How to install?","WEBSITE_CONTACT_US_Q_2":"How to uninstall?","WEBSITE_CONTACT_US_Q_3":"(HTML) How to make lasagna?","WEBSITE_CONTACT_US_Q_4":"Dodatki","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Technology","WEBSITE_TECHNOLOGY_P1":"We love technology and mad science. </br> Here is what powers Stremio (it’s all open-source).","WEBSITE_TECHNOLOGY_P_QT":"Cross-platform software development at its best.","WEBSITE_TECHNOLOGY_P_MPV":"A free, open source, and cross-platform media player.","WEBSITE_TECHNOLOGY_P_RN":"React Native lets you build mobile apps using only JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework embedded into application to get multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm is a mobile platform and a replacement for SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js is an open-source, cross-platform, JavaScript runtime environment.","WEBSITE_TECHNOLOGY_P_RUST":"Rust is a multi-paradigm system programming language focused on safety, especially safe concurrency.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribute to the project","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"There are two ways you can contribute to Stremio and help us make the product even better.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"You can donate your valuable language skills by translating the platform...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"or","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... you can employ your coding skills for creating community addons. ","WEBSITE_TRANSLATE_STREMIO":"Translate Stremio","WEBSITE_404_OH_NO":"Uh-oh! The page you’re looking for is not here...","WEBSITE_GO_HOME":"Go home","WEBSITE_LINK_OTHER_DOWNLOADS":"Other downloads","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Support","WEBSITE_DOWNLOAD_4_0_BETA":"Download Now Stremio 4 beta","WEBSITE_GET_FOR_DESKTOP":"Get for desktop","WEBSITE_LINK_ADDON_COMPETITION":"Addon competition","WEBSITE_LINK_ART_CONTEST":"Art contest","WEBSITE_MY_ACCOUNT":"My account","WEBSITE_MAINPAGE_FAQ_001_H1":"What is Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio is a modern media center that gives you the freedom to watch everything you want.","WEBSITE_MAINPAGE_FAQ_002_H1":"How does it work?","WEBSITE_MAINPAGE_FAQ_002_P1":"Once you install Stremio on your device and create an account, all you have to do is to visit the addon catalog and install any addon you want, and you\'re good to go!","WEBSITE_MAINPAGE_FAQ_002_P2":"After that, you can go to the Discover or Board sections to start exploring content.","WEBSITE_MAINPAGE_FAQ_003_H1":"What can I watch here?","WEBSITE_MAINPAGE_FAQ_003_P1":"A lot: Movies, TV shows, Web channels, Sport, TV channels, listen to Podcasts and more. Thanks to our addon system, you can accss a variety of content.","WEBSITE_MAINPAGE_FAQ_004_H1":"Is Stremio open-source?","WEBSITE_MAINPAGE_FAQ_004_P1":"Yes, you can check the following links: ${1}desktop app${2} and ${3}GitHub organization${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Is Stremio safe?","WEBSITE_MAINPAGE_FAQ_005_P1":"Yes: because it is open-source software, the code is publically auditable and you can review it yourself.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"How about my privacy?","WEBSITE_MAINPAGE_FAQ_006_P1":"We respect users\' privacy and do not collect any personal data besides the essential minimum to create and sync your account.","WEBSITE_MAINPAGE_FAQ_006_P2":"There is also a ${1}Guest mode${2} at signup, which requires no data whatsoever: in this mode, no calls are made to our backend. However, it comes at the expense of useful features, such as being able to sync your library across devices.","WEBSITE_MAINPAGE_FAQ_007_H1":"Can I cast to my TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Yes, we support Chromecast and you can cast both from desktop and mobile apps (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"How many addons does Stremio have?","WEBSITE_MAINPAGE_FAQ_008_P1":"As of late 2019, over 50 - for more information, check our addon catalog.","WEBSITE_MAINPAGE_FAQ_009_H1":"Can Stremio be extended beyond what\'s in the addon catalog?","WEBSITE_MAINPAGE_FAQ_009_P1":"Yes, you should check those: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"What devices does Stremio support?","WEBSITE_MAINPAGE_FAQ_010_P1":"We have desktop apps for Windows, Mac and Linux. For mobile, we support Android and iOS, although keep in mind that the iOS is limited in functionality (does not support most addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"There are many Android-based devices which you can run Stremio on, like NVIDIA Shield and Amazon Fire Stick, but we do not support them officially.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Can you add certain content to Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Sorry, we provide no content ourselves, but the more Stremio addons you have installed, the more content you will be able to find.","WEBSITE_MAINPAGE_FAQ_012_H1":"Can Stremio play magnet links?","WEBSITE_MAINPAGE_FAQ_012_P1":"Yes, and it can also play normal HTTP links and torrent files (drag and drop).","WEBSITE_MAINPAGE_FAQ_013_H1":"Can I download a video and watch offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Available offline is an upcoming feature, but if you allow Stremio to cache on your device (from the settings panel) you can watch the videos later without a connection.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nothing works, help me!","WEBSITE_MAINPAGE_FAQ_014_P1":"Are you sure you have installed addons? If yes, check with our ${1}help center${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"How does Stremio sustain it\'s development operations?","WEBSITE_MAINPAGE_FAQ_015_P1":"We run non-intrusive ads occassionally, but we\'re considering moving to a donation model.","WEBSITE_MAINPAGE_FAQ_015_P2":"For more questions, go to our ${1}help center${2}.","HELP_LEARN_MORE":"Pomóż nam dowiedzieć się więcej o Tobie..","LIFESTYLE":"Lifestyle","SPORTS":"Sporty","FOOD_HEALTH":"Jedzenie i zdrowie","BEAUTY_FASHION":"Moda i uroda","NEWS":"Wiadomości","GAMING":"Gaming","SCIENCE_EDUCATION":"Nauka i edukacja","MUSIC":"Muzyka","TRAVEL":"Podróż","LATE_NIGHT":"Late Night","REALITY":"Reality","COMEDY":"Komedia","DIY":"Poradniki DIY","TECH":"Technologia","CINEMA":"Kino","CONTINUE":"Kontynuuj","SLOW_LOADING":"POWOLNE ŁADOWANIE?","I_GIVE_UP":"PODDAJĘ SIĘ","LEARN_MORE":"Dowiedz się więcej","POOR_SOURCE":"To źródło jest słabo dostępne, albo twoje połączenie z internetem nie jest wystarczająco szybkie","PICK_CATEGORIES_ERR":"Musisz wybrać przynajmniej 3 kategorie","ADJUST_TIMING":"Dostosuj synchronizację z ","ADJUST_SIZE":"Dostosuj rozmiar z ","SEARCH_ANYTHING":"Możesz wyszukać cokolwiek...","ALL_CATEGORIES":"Wszystkie","SEARCH_CATEGORIES":"Filmy, seriale, YouTube i TV","SEARCH_PERSONS":"Aktorzy, reżyserzy i scenarzyści","SEARCH_PROTOCOLS":"Adresy HTTP i linki Magnet","SEARCH_TYPES":"Linki IMDB / TVDB","WATCHED":"Obejrzane","SHOW_LESS":"Pokaż mniej","LAST_SEARCHES":"Ostatnie wyszukiwania","CLEAR_HISTORY":"Wyczyść historię","CHOOSE_SOME":"WYBIERZ COŚ Z TEGO::","NO_WEB_REMOTE":"Nie można było załadować pilota sieciowego","STREMIO_OFFLINE":"Stremio jest offline","STREMIO_EXPENSIVE_CONNECTION":"Wykryliśmy, że twoje połączenie korzysta z danych komórkowych, czy chcesz kontynuować?","USE_DATA":"Użyj danych","WARNING":"Uwaga","MORE_INFO":"Więcej informacji...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Ładowanie...","STREMIO_TV_BACK_TO_LANGUAGES":"Wróć do języków","STREMIO_TV_REMOTE":"Pilot sieciowy","STREMIO_TV_GO_TO":"Przejdź do:","STREMIO_TV_OR_SCAN":"lub zeskanuj:","STREMIO_TV_ADDON_INSTRUCTIONS":"Podążaj zgodnie z instrukcjami w aby zainstalować preferowane dodatki.","STREMIO_TV_LIVE_TV":"Telewizja na żywo","STREMIO_TV_RESUME_WATCHING":"Wznów oglądanie","STREMIO_TV_LOADING_BACKGROUND":"Ładowanie tła","STREMIO_TV_CHECKING_AUTHENTICATION":"Sprawdzanie uwierzytelnienia","STREMIO_TV_LOADING_BOARD":"Ładowanie tablicy","STREMIO_TV_LOGIN_HEADER_LINE_1":"Chcemy, aby nasi użytkownicy mieli najlepsze możliwe doświadczenie z naszym oprogramowaniem.","STREMIO_TV_LOGIN_HEADER_LINE_2":"Z tego powodu uprzejmie prosimy o utworzenie i/lub zalogowanie się na swoje konto.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Dziękujemy za zrozumienie,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Zespół Stremio","STREMIO_TV_REMOTE_INSTRUCTIONS":"Aby skorzystać z pilota sieciowego na twoim Smartfonie / Tablecie / Komputerze:","STREMIO_TV_WIFI_SETUP":"Ustawienia Wi-Fi","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle nie wykrył połączenia internetowego.","STREMIO_TV_WIFI_DETAILS_1":"Połącz z:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Użyj hasła:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Otwórz przeglądarkę internetową z linkiem:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Domyślny","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"Po ostatnio oglądanych","STREMIO_TV_LIBRARY_SORT_NAME":"Po nazwie","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"Po nazwie malejąco","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"Po ilości obejrzeń","STREMIO_TV_LIBRARY_SORT_WATCHED":"Po obejrzanych","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"Po nie obejrzanych","STREMIO_TV_DETAILS_SEASON_NUMBER":"Sezon ${1}","STREMIO_TV_STREAMS_LOADING":"Załadowano ${1} z ${2} dodatków...","STREMIO_TV_STREAMS_STILL_LOADING":"Dodatek ${1} jeszcze się ładuje...","STREMIO_TV_PLAYER_SETTINGS":"Ustawienia odtwarzacza","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Opóźnienie napisów","STREMIO_TV_PLAYER_AUDIO_DELAY":"Opóźnienie dźwięku","STREMIO_TV_PLAYER_VIDEO_SCALING":"Skalowanie wideo","STREMIO_TV_PLAYER_CHAPTERS":"Rozdziały","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Pomiń ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Nieobsługiwane źródło streamu","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Nie udało się otworzyć linku zewnętrznego","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Brak możliwości regulacji w trybie audio passthrough","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Odtwórz za pomocą ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Odtwórz za pomocą libVLC","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Przełączanie na odtwarzacz libVLC z powodu błędu odtwarzania","STREMIO_TV_ADDONS_TITLE":"Użyj Stremio na telefonie lub komputerze, aby zainstalować lub skonfigurować dodatki a następnie naciśnij \\"Synchronizuj dodatki\\"","STREMIO_TV_ADDONS_SUBTITLE":"Notka: upewnij się, że używasz tego samego konta Stremio na obu urządzeniach","STREMIO_TV_ADDONS_SYNC_ADDONS":"Zsynchronizuj dodatki","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Pomyślnie zsynchronizowano dodatki","STREMIO_TV_ADDONS_SYNC_FAILED":"Nie udało się zsynchronizować dodatków.","STREMIO_TV_META_LINK_FAILED":"Nie udało się otworzyć linku meta.","STREMIO_TV_CATALOG_LOADING":"Katalog wciąż się ładuje...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Zaktualizowano język interfejsu","STREMIO_TV_SETTINGS_THEME_UPDATED":"Zaktualizowano motyw","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Domyślny odtwarzacz","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Zewnętrzny odtwarzacz","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferowany język","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Drugorzędny preferowany język","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Odtwarzanie tunelowe","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Możliwe problemy z odtwarzaniem na niektórych urządzeniach","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Niektóre formaty wideo mogą nie działać","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Dopasowanie liczby klatek na sekundę","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Wyłączony","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Tylko liczba klatek na sekundę","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Liczba klatek na sekundę i rozdzielczość","STREMIO_TV_SETTINGS_NO_CACHING":"Bez pamięci podręcznej","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Domyślny","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Miękki","STREMIO_TV_SETTINGS_PROFILE_FAST":"Szybki","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra szybki","STREMIO_TV_SETTINGS_SERVER_URL":"URL serwera streamingowego","STREMIO_TV_SETTINGS_SERVER_VERSION":"Wersja Serwera","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Nieznany","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Wersja Stremio","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Edytuj URL serwera","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Wprowadź adres URL serwera streamingowego","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Wyświetlaj statystyki podczas ładowania","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"Aby zapoznać się z Polityką Prywatności Stremio, odwiedź stronę:","STREMIO_TV_SETTINGS_TOS_TEXT":"Aby zapoznać się z Regulaminem Stremio, odwiedź stronę:","STREMIO_TV_NAV_SEARCH":"Wyszukaj","STREMIO_TV_NAV_HOME":"Strona Główna","STREMIO_TV_NAV_DISCOVER":"Odkryj","STREMIO_TV_NAV_LIBRARY":"Biblioteka","STREMIO_TV_NAV_MOVIES":"Filmy","STREMIO_TV_NAV_SERIES":"Seriale","STREMIO_TV_NAV_CHANNELS":"Kanały","STREMIO_TV_NAV_TV":"Telewizja","STREMIO_TV_NAV_SETTINGS":"Ustawienia","STREMIO_TV_NAV_ADDONS":"Dodatki","STREMIO_TV_LOGIN_TITLE":"Powiązanie konta","STREMIO_TV_LOGIN_EXPIRES_IN":"Wygasa za","STREMIO_TV_LOGIN_STEP_ONE":"Zeskanuj kod QR powyżej lub przejdź do","STREMIO_TV_LOGIN_STEP_TWO":"Zaloguj się do swojego konta Stremio","STREMIO_TV_LOGIN_NEW_LINK":"Wygeneruj nowy link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Kod logowania odświerzony","STREMIO_TV_SEARCH_PLACEHOLDER":"Wpisz cokolwiek","STREMIO_TV_SEARCH_NO_ADDONS":"Nie zażądano żadnych dodatków do katalogów!","STREMIO_TV_SEARCH_BUTTON":"Szukaj","STREMIO_TV_SEARCH_KEY_DEL":"Usuń","STREMIO_TV_SEARCH_KEY_SPACE":"Spacja","STREMIO_TV_SEARCH_KEY_CLEAR":"Wyczyść","STREMIO_TV_SEARCH_HISTORY_TITLE":"Historia wyszukiwania","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Możesz wyszukać tytuł, aktora, kanał i więcej...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Wyczyść historię wyszukiwania","STREMIO_TV_FILTERS_DESCRIPTION":"Wybierz jeden z poniższych filtrów","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Serwer streamingowy jest offline. Sprawdź ustawienia serwera.","FILTERS":"Filtry","SETTINGS":"Ustawienia","ACCOUNT":"Konto","LOGOUT":"Wyloguj","THEMES":"Motywy","PLAYBACK":"Odtwarzanie","PLAYBACK_SPEED":"Prędkość odtwarzania","AUDIO_TRACKS":"Ścieżki dźwiękowe","UNKNOWN_TRACK_LANG":"Nieznany","VIDEOS":"Filmy","SERVER":"Serwer","LINKS":"Linki","ABOUT":"O","INTERFACE":"Interfejs","ANIMATIONS":"Animacje","STATUS":"Status","LANGUAGE":"Język","SIZE":"Rozmiar","DELAY":"Opóźnienie","BOLD":"Pogrubienie","OPACITY":"Przezroczystość","TEXT_COLOR":"Kolor tekstu","OUTLINE_COLOR":"Kolor konturu","BACKGROUND_COLOR":"Kolor tła","BACKGROUND_BLUR":"Rozmycie tła","SEEK_TIME_DURATION":"Długość przewijania","AUTO_PLAY":"Automatycznie uruchom następny odcinek","PLAY_NOW":"Odtwórz","MARK_AS_WATCHED":"Oznacz jako obejrzane","MARK_AS_UNWATCHED":"Oznacz jako nieobejrzane","REWIND_TO_BEGINNING":"Od początku","CONTINUE_WATCHING":"Kontynuuj oglądanie","ALL":"Wszystko","SECONDS":"sekundy","ON":"Wł.","OFF":"Wył.","RELOAD":"Przeładuj","EDIT_URL":"Edytuj URL","NONE":"Brak","EMBEDDED":"Wbudowany","REMOTE_SWITCH_DEVICES":"Zmień urządzenie","REMOTE_VIDEOS":"Filmy","REMOTE_ADJUST_TIMING":"Dostosuj synchronizację","REMOTE_ADJUST_SIZE":"Dopasuj rozmiar","REMOTE_COULD_NOT_BE_LOADED":"Nie można załadować pilota sieciowego ","REMOTE_RETRY":"Spróbuj ponownie","TORRENT_PROFILE_DEFAULT":"Domyślny","TORRENT_PROFILE_SOFT":"Miękki","TORRENT_PROFILE_FAST":"Szybki","TORRENT_PROFILE_ULTRA_FAST":"Ultra szybki","FAQ_001_H1":"Czym jest Stremio?","FAQ_001_P1":"Stremio to oprogramowanie media center przeznaczone do rozrywki wideo z myślą o łatwości użytkowania. Stremio pozwala organizować &amp; oglądać własną kolekcję filmów, seriali, kanałów i telewizji na żywo.","FAQ_001_P2":"Stremio zbiera wyświetlane treści z dysku lokalnego i naszego systemu dodatków.","FAQ_001_P3":"Powiadomi Cię również, gdy pojawią się nowe odcinki / filmy / filmy, którymi jesteś zainteresowany, i przedstawi Ci rekomendacje filmowe","FAQ_02_H1":"Jak Stremio wypada w porównaniu z Kodi i Plex?","FAQ_02_P1":"Inspirujemy się tymi dwoma oprogramowaniami. Ale mamy inne cele - Stremio jest specjalnie ukierunkowane na rozrywkowe wideo i dąży do tego, aby stać się głównym rozwiązaniem w tym zakresie, będąc bardzo łatwym w użyciu.","FAQ_02_P2":"Stremio nigdy nie będzie tak konfigurowalne i bogate w funkcje jak Kodi i Plex, ale jest znacznie łatwiejsze w użyciu. Po prostu ${1} pobierz i zobacz ${2} :)","FAQ_03_H1":"Jak Stremio wypada w porównaniu do Netflix?","FAQ_03_P1":"Ponownie, Netflix jest jedną z naszych inspiracji. Staramy się osiągnąć doświadczenie użytkownika Netflix, plus wiele dodatkowych korzyści. Ale co najważniejsze, dajemy ci swobodę zarządzania własną biblioteką i dodawania nowych źródeł treści za pomocą naszego systemu dodatków.","FAQ_03_P2":"To sprawia, że Stremio można rozszerzać w nieskończoność, więc kiedy korzystasz ze Stremio, nigdy nie jesteś ograniczony do treści, które Netflix zdecyduje się licencjonować. Na przykład, za pośrednictwem Stremio można oglądać treści z ${1} Filmon.tv${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8}, a nawet samego ${9}Netflix${10}!","FAQ_04_H1":"Jak Stremio wypada w porównaniu do Flipboard?","FAQ_04_P1":"Nie otrzymujemy tego pytania zbyt często, z wyjątkiem rozmów z osobami rozpoczynającymi działalność :)","FAQ_04_P2":"Stremio jest z założenia agregatorem treści, co zasadniczo czyni go Flipboardem dla wideo. Jest to bardzo widoczne w naszej sekcji Board, która zapewnia katalogi i powiadomienia o nowych odcinkach / nowych filmach dla tego, co obserwujesz, podobnie jak Flipboard.","FAQ_05_H1":"Jak Stremio wypada w porównaniu do Popcorn Time?","FAQ_05_P1":"Stremio i Popcorn Time są podobne pod względem interfejsu użytkownika, ponieważ nie ma wielu sposobów na prawidłowe katalogowanie rozrywki wideo :)","FAQ_05_P2":"Ale podczas gdy Popcorn Time koncentruje się na strumieniowaniu torrentów z określonych źródeł, Stremio jest nieograniczony i jest jedynie agregatorem treści - nie jest zablokowany na określonym źródle treści.","FAQ_05_P3":"Co więcej, domyślnie nie zapewniamy żadnych dodatków torrentowych, więc Stremio nie obejmuje przypadku użycia Popcorn Time z oficjalną funkcjonalnością.","FAQ_05_P4":"Kolejną znaczącą różnicą jest to, że Popcorn Time jest całkowicie open source, podczas gdy Stremio jest ${1} częściowo open source${2}.","FAQ_06_H1":"Czy dodasz ten film/serial?","FAQ_06_P1":"Nie, przykro nam :(","FAQ_06_P2":"Jak wspomniano w większości innych pytań, Stremio nie dostarcza żadnych treści samodzielnie - wszystko jest dodawane za pośrednictwem systemu dodatków. Jeśli masz prośbę o zawartość, możesz użyć przycisku Zgłoś w odtwarzaczu, który wyśle wiadomość e-mail do autora dodatku, którego aktualnie używasz.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Czy stworzysz dodatek dla X?","FAQ_08_P1":"Jest to całkowicie możliwe.","FAQ_08_P2":"Jeśli masz pomysł na dodatek, napisz do nas na adres ${1}office@stremio.com${2}, ale upewnij się, że twój pomysł na dodatek nie naruszy żadnych praw autorskich ani warunków użytkowania.","FAQ_08_P3":"W chwili obecnej kolejnymi rzeczami na naszej mapie drogowej są dodatki dla FandangoNOW, Filmon.tv wideo na żądanie i Crunchyroll.","FAQ_09_H1":"Czy Stremio korzysta z BitTorrenta?","FAQ_09_P1":"Tak, Stremio obsługuje BitTorrent jako protokół strumieniowania. Można tego użyć za pomocą dodatku torrent lub przeciągając i upuszczając plik .torrent do Stremio lub wklejając link magnetyczny do paska wyszukiwania.","FAQ_09_P2":"Należy pamiętać, że jedynym oficjalnym dodatkiem korzystającym z BitTorrent jest ${1}Vodo${2}, który zapewnia zawartość niezależną, dozwoloną do dystrybucji za pomocą BitTorrent.","FAQ_09_P3":"Nie wspieramy korzystania z żadnych dodatków innych firm, które mogą umożliwiać naruszanie praw autorskich.","FAQ_10_H1":"Co mogę oglądać w Stremio za pomocą oficjalnych dodatków?","FAQ_10_P1":"Domyślnie można oglądać treści Filmon.tv, YouTube i Vodo w samym Stremio, za pomocą wbudowanego odtwarzacza. Dodatkowo mamy dodatek dla Twitch.tv i kilku innych.","FAQ_10_P2":"To połączenie zapewnia wybór:","FAQ_10_L1":"Popularne kanały telewizyjne, dostarczane przez Filmon.tv - na przykład E4, BBC, Bollyworld TV","FAQ_10_L2":"Wszystko z YouTube - na przykład BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indie movies with Vodo","FAQ_10_L4":"Online gaming broadcasts with Twitch.tv","FAQ_10_P3":"Additionally, there are many content sources provided with Guidebox and the Netflix addons, which <b>do not</b> play entirely inside Stremio, but would redirect to the given service. For example, the Guidebox addon would give you a selection of movies you can stream in the US for free, from services like TubiTV and Crackle.","FAQ_11_H1":"Stremio nie instaluje się, co powinienem zrobić?","FAQ_11_P1":"Jeśli korzystasz z systemu Windows, wypróbuj ${1}ten alternatywny instalator${2}","FAQ_11_P2":"Jeśli korzystasz z systemu Mac OS X, pamiętaj, że nie obsługujemy niczego starszego niż OS X Mavericks (10.9).","FAQ_11_P3":"Jeśli korzystasz z systemu Linux, pamiętaj, że obecnie obsługujemy tylko 64-bitowy (x64) system Linux.","FAQ_11_P4":"Jeśli nadal nie możesz rozwiązać swojego problemu, napisz do nas na naszej grupie ${1}Facebook${2}.","FAQ_12_H1":"Dlaczego mój antywirus narzeka? Czy Stremio jest bezpieczne?","FAQ_12_P1":"Zapewniamy, że Stremio jest ${1}100% czyste${2}.","FAQ_12_P2":"Twój program antywirusowy narzeka, ponieważ dołączamy reklamy do naszego instalatora, które niektóre programy antywirusowe rozpoznają jako ad-ware.","FAQ_12_P3":"Jeśli nadal nie masz pewności, możesz wypróbować nasz ${1}alternatywny instalator ${2}","FAQ_13_H1":"Jak mogę stworzyć dodatek?","FAQ_13_P1":"Na początek zalecamy sprawdzenie naszego modułu systemowego ${1}addons${2} na GitHub.","FAQ_13_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_13_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_14_H1":"How are addons published?","FAQ_14_P1":"When you create an addon and host, and put a <b>endpoint</b> field in your manifest, which points to a working addon address, the addon will automatically publish itself to our ${1}Addon catalogue${2}.","FAQ_14_P2":"This happens because the server part of the stremio-addons module automatically makes a call to our API to announce the addon. When our API validates your <b>endpoint</b> as a valid addon, it will start showing in the catalogue.","FAQ_15_H1":"Can I run Stremio in my browser?","FAQ_15_P1":"Not at the moment, but this is coming!","FAQ_15_P2":"If you\'re curious to see an Alpha, you can see it here: ${1}alpha4.strem.io${2}. Należy pamiętać, że streaming jest wyłączony w tej wersji alfa. Obsługujemy przeglądarki Chrome, Firefox, Opera i Edge.","FAQ_16_H1":"Casting to TV doesn\'t work / subtitles don\'t work","FAQ_16_P1":"Casting to TV uses the DLNA technology which is very inconsistent between different TV brands and models. For that reason, we do not have the ability to test it in every case, so it\'s far from perfect. Despite this, we\'re working on improving it constantly but we cannot give you a time estimate on when DLNA will start working properly with your TV.","FAQ_16_P2":"If you don\'t even see your TV in the casting menu, please try disabling your network connection and re-enabling it (on Windows, right click the Network and use Enable/Disable), as well as restarting your router, TV and PC.","FAQ_16_P3":"If you are still encountering issues, you can help us by sending your TV brand and model information at ${1}office@stremio.com${2}.","FAQ_16_P4":"In the meantime, we recommend Chromecast, which we support very well, or simply plugging in your TV to your PC with an HDMI cable.","FAQ_17_H1":"Stremio freezes and/or crashes, what can I do?","FAQ_17_P1":"First of all, if you\'re using Windows 7 with AVG anti-virus: we have a problem with that combination. The problem is in AVG itself, and there\'s no reasonable way to resolve it on our end. Unfortunately, exceptions or disabling the anti-virus won\'t work. The only solution is to replace AVG with something else.","FAQ_17_P2":"If that\'s not the issue, but you\'re still using Windows, please update to the latest service pack and update/re-install your GPU drivers, then try again.","FAQ_17_P3":"If you\'re problem is still not resolved, or you\'re using a Mac or Linux, please write us reporting the exact details of the problem at ${1}our Facebook group${2}.","FAQ_18_H1":"How can I make an addon?","FAQ_18_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_18_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_18_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_19_H1":"Why is Stremio taking disk space?","FAQ_19_P1":"Stremio has a <b>local cache</b> to temporarily keep the video files you stream.","FAQ_19_P2":"This has two benefits: first, it allows Stremio to pre-buffer the video ahead so as to ensure smoother streaming. Second, it keeps the videos in the local cache so you can continue watching them offline.","FAQ_19_P3":"How much Stremio keeps depends on the <b>Cache</b> setting in the Settings panel. Stremio may keep up to the set amount (e.g. 2GB) on your disk, unless the currently streamed video is larger than that, in which case it has to allocate enough storage to keep it until you\'re streaming it.","FAQ_20_H1":"Where is the cache folder?","FAQ_20_P1":"On Windows, it\'s stremio-cache in the drive you picked in Settings (e.g. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"On MacOS, it\'s \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"On Linux, it\'s \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"I get \\"Streaming server is not found\\" error, what can I do?","FAQ_21_P1":"If you get this error, it means one of few things:","FAQ_21_P2":"1) You are trying to use an addon backed by YouTube/BitTorrent source, through our ${1}web version${2}. In this case, you should install our desktop version from ${3}our website${4}.","FAQ_21_P3":"2) Something is wrong with your Stremio installation. In this case, try re-installing our latest desktop version from ${1}the website${2}. If this does not help, try disabling anti-virus programs and firewalls, restarting your PC and trying again. If this does not work too, please write us at our ${3}our Facebook group${4}.","FAQ_22_H1":"I cannot see/use most addons on iOS","FAQ_22_P1":"Because of restrictions in the Apple App Store terms and conditions, we have restricted the iOS application only to a particular set of addons.","FAQ_22_P2":"But rest assured - there will be more addons for iOS in the future, and we may also add an integration that will allow you to use all Stremio addons thanks to connecting the iOS app to the Stremio Streaming Server."}')},2012:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Filme","TYPE_series":"Série","TYPE_tv":"Canal de TV","TYPE_channel":"Canal","TYPE_other":"Outros","TYPE_movie_PL":"Filmes","TYPE_series_PL":"Séries","TYPE_tv_PL":"Canais de TV","TYPE_channel_PL":"Canais","TYPE_other_PL":"Outros","TYPE_ALL":"Todos","TYPE":"Tipo","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Em destaque","CATALOG_com_linvo_cinemeta_year":"Novidades","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Filmes de domínio público","VIDEO":"Vídeo","BACK":"Voltar","MORE":"Mais","DONE":"Concluído","COPY":"Copiar","SUCCESS":"Sucesso","ERROR":"Erro","SETTINGS_CASTING_MODE_PICKER":"Modo de transmissão","CASTING_MODE_HLSV2":"Padrão","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Sem transcodificação","Discover":"Descubra","Board":"Painel","Library":"Biblioteca","My Library":"Minha Biblioteca","Calendar":"Calendário","NOTIFICATION_ONLINE":"Você está online","NOTIFICATION_OFFLINE":"Você está offline","INTERNET_CONNECTION":"Conexão de rede","STORAGE_FULL_TITLE":"Aviso: Disco cheio!","STORAGE_FULL_TEXT":"Stremio não será capaz de salvar suas configurações, preferências ou informações de login. Considere reiniciar ou reinstalar o Stremio.","SEARCH":"Buscar","SEARCH_NO_RESULTS":"Nenhum resultado encontrado","SEARCH_EXPLANATION_CONTENT":"Procure por filmes, séries, canais do YouTube e da TV","SEARCH_EXPLANATION_PEOPLE":"Procure por atores, diretores e escritores","SEARCH_PASTE_LINKS":"Cole links HTTP ou Magnéticos","SEARCH_OR_PASTE_LINK":"Buscar ou colar link","SEARCH_SUGGESTIONS":"Buscar sugestões","ADD_TO_LIB":"Adicionar à Biblioteca","REMOVE_FROM_LIB":"Remover da Biblioteca","ADDED_TO_LIB":"Adicionado à Biblioteca","REMOVED_FROM_LIB":"Removido da Biblioteca","TRAILER":"Trailer","WATCH_TRAILER":"Assistir ao Trailer","WATCH_NOW":"Assistir Agora","SHOW":"Mostrar","SHOW_MOVIE":"Exibir filme","WATCH_RANDOM":"Assistir Aleatoriamente","IMDB_RATING":"Avaliação IMDB","YEAR":"Ano","DIRECTOR":"Diretor","WRITER":"Escritor","LEAD_ACTORS":"Atores Principais","CAST":"Elenco","CREW":"Equipe técnica","SHOW_MORE_CAST":"Mostrar mais »","AIRED":"Foi ao ar em","SEASONS":"Temporadas","GENRE":"Gêneros","GENRE_ALL":"Todos os gêneros","CATALOG":"Catálogo","SUMMARY":"Resumo","SHOW_MORE":"Mostrar mais","SIMILAR":"Parecidos","UPCOMING":"Próximos","ENDED":"Finalizados","DURATION":"Duração","FEATURED":"Destaque","METADATA":"Dados de Descrição","CATEGORY":"Categoria","LINKS_GENRES":"Gêneros","LINKS_CAST":"Elenco","LINKS_DIRECTORS":"Diretores","SEARCH_VIDEOS":"Pesquisar vídeos","SEARCH_PLACEHOLDER":"Buscar ou colar links","ADDON":"Addon","ADDONS":"Addons","OFFICIAL":"Oficial","ADDONS_OFFICIAL":"Addons Oficiais do Stremio","ADDONS_POPULAR":"Populares na sua região","ADDON_FREE":"Gratuito","ADDON_PEERED":"pareado","ADDON_SUBSCRIPTION":"assinatura","ADDON_STREAM_GEORESTRICTED":"indisponível na sua área","ADDON_STREAM_OFFLINECACHE":"Cache Offline","ADDON_STREAM_LOCALFILE":"Arquivo Local","SHARE_ADDON":"Compartilhar Addon","AVAILABLE_STREAMS":"Transmissões Disponíveis","NO_STREAM":"Nenhuma transmissão encontrada","ALL_ADDONS":"Todos","INSTALL_MORE_ADDONS":"Para mais transmissões, por favor instale mais Addons","STREAM_NOT_SUPPORTED":"A transmissão selecionada não é suportada nesta plataforma.","ADDON_CATALOGUE":"Mostrar todas os Addons »","ADDON_CATALOGUE_MORE":"Instalar Addons","REPO_ADDED":"Repositório adicionado","ADDON_REPO_EXIST_ERR":"Este repositório de Addons já existe","ADDON_REPO_ERR":"Ocorreu um erro ao adicionar o repositório","ADDON_ADD_ERR":"Ocorreu um erro ao adicionar o Addon","ERR_ADDON_PROTECTED":"Não é possível desinstalar o Addon, ele está protegido","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Algo deu errado - a autenticação pode ter falhado","ERR_NOT_COLLECTION_URL":"Não é uma URL de coleção","ERR_NOT_ADDON_URL":"Não é uma URL de Addon válida","ERR_DETECTFROMURL":"Não foi possível encontrar um Addon/coleção para essa URL","ADDON_DUPLICATE_WARNING":"Aviso: Addon duplicado","ADDON_COLLECTION_SET_FAILED":"Falha ao sincronizar seus Addons instalados com sua conta","SETTINGS_DATA_EXPORT":"Exportar dados","ADDON_PULL_FAILED":"Falha ao sincronizar Addons instalados de sua conta","REFRESH_ON_CLICK":"Clique para tentar novamente","STILL_IN_THEATER":"Filme ainda em exibição","WATCH_IN_CINEMA":"Assista no cinema mais próximo","IN_THEATER":"No cinema","GET_TICKETS":"Obter ingressos","UPCOMING_EPISODE":"Próximo episódio","UPCOMING_EPISODE_MESSAGE":"Esse episódio irá ao ar em","MISSING_DATE_EPISODE":"Sem data do episódio","MISSING_DATE_EPISODE_MESSAGE":"Esse episódio pode não ter ido ao ar ainda","CHANNEL_NOT_SCRAPED":"Este canal ainda não foi extraído.<br>Por favor, retorne em alguns minutos.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Adicione à sua biblioteca para receber notificações quando estiver disponível.","GET_NOTIFIED_WHEN_AVAILABLE":"Você será notificado quando estiver disponível.","WARNING_STREAMING_SERVER":"Atenção: servidor local de transmissão não encontrado. Transmissões de arquivos locais, YouTube e BitTorrent não estarão disponíveis.","WARNING_STREAMING_SERVER_DISMISS":"Dispensar","WARNING_STREAMING_SERVER_LATER":"Mais tarde","DECODER_WARNING":"Aviso: este vídeo pode não ser suportado pelo seu hardware. Tenha em mente que a reprodução pode ser lenta.","GENERIC_ERROR_MESSAGE":"Alguma coisa deu errado!","TRY_AGAIN":"Tente novamente","CLEAR_DATA":"Limpar dados","PLAYER_ERROR":"Ops, ocorreu um erro no reprodutor de mídia","PLAYER_ERROR_LOOKSLIKE":"Parece que","PLAYER_ORIENTATION":"Orientação do reprodutor de mídia","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Travado","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensor","PLAYER_ORIENTATION_LANDSCAPE":"Reprodutor de mídia travado para o modo paisagem","PLAYER_ORIENTATION_SENSOR":"Reprodutor de mídia automático (sensor)","PLAYER_PLAYBACK_SPEED":"Velocidade de reprodução","PLAYER_PLAYBACK_ERROR":"Erro de reprodução, tente novamente","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Erro desconhecido","PLAYER_PLAYBACK_ERROR_DEFAULT":"Desculpe, esse vídeo não poder ser reproduzido por {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Idiomas das Legendas","PLAYER_SUBTITLES_VARIANTS":"Variantes das Legendas","PLAYER_SUBTITLES_SETTINGS":"Configurações das Legendas","PLAYER_SUBTITLES_DISABLED":"Legendas desativadas","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Posição vertical","PLAYER_SUBTITLES_LOADED":"Legendas carregadas","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Legendas incorporadas carregadas","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Legendas exclusivas carregadas","PLAYER_SUBTITLES_LOADED_ORIGIN":"Legendas de {{origin}} carregadas","PLAYER_PLAY":"Reproduzir","PLAYER_PAUSE":"Pausar","PLAYER_NEXT_VIDEO":"Próximo Vídeo","PLAYER_MUTE":"Mudo","PLAYER_UNMUTE":"Som","PLAYER_OPEN_IN_EXTERNAL":"Abrir em reprodutor externo","PLAYER_OPEN_IN_NPLAYER":"Abrir pelo nPlayer","PLAYER_PLAY_IN":"Reproduzir em {{device}}","PLAYER_LIVE":"Ao vivo","PLAYER_NEXT_VIDEO_TITLE":"A seguir","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Próximo","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Dispensar","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Assistir agora","PLAYER_COPY_STREAM_SUCCESS":"Link do stream copiado para a área de transferência","PLAYER_COPY_STREAM_ERROR":"Falha ao copiar o link do stream","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Link de download copiado para a área de transferência","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Falha ao copiar o link de download","STREAMING_FROM":"Transmitindo de","CASTING_TO":"Transmitindo para","NETWORK_STATUS":"Estado da rede","STREAM_SPEED":"Velocidade da transmissão:","STREAM_BUFFERED":"Carregado:","PEERS_INFO":"Informações dos Pares","PEERS_ACTIVE":"Ativo:","PEERS_CONNECTED":"Conectado:","PEERS_WAITING":"Aguardando:","TRANSCODING_WARNING":"Atenção: transcodificando vídeo.","STREAM_LOADING":"Carregando...","PLAYING_LOCAL":"Reproduzir de um arquivo local","PLAYING_CACHE":"Reproduzir a partir do cache","WRONG_SUBS":"Legendas erradas?","ERR_SUBS_LOADING_TITLE":"Erro ao carregar a legenda","ERR_SUBS_LOADING":"Falha ao carregar as legendas: Isso pode ser um problema com seu Addon ou sua conexão de rede","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Os seguintes Addons de legenda falharam","ERR_CASTING_UPDATE_TITLE":"Não foi possível atualizar as informações do dispositivo de transmissão: o servidor de transmissão pode estar offline","CHOOSE_DEVICE":"Escolha um dispositivo para assistir","NO_CAST_DEVICES":"Sem dispositivos de transmissão disponíveis.","NO_SETTINGS":"Configurações não disponíveis.","PHONE_TABLET":"Smartphone / Tablet","SUBTITLES":"Legendas","SUBTITLES_CHANGE":"Modificar legendas para ","SUBTITLES_CHANGE_NONE":"Não há outra legenda para este idioma, desculpe.","SUBTITLES_CHANGE_ACIVE":"A legenda &#35;{{subtitlesDialog.activeIdx + 1}} está ativada. Clique \\"Continuar\\" para ativar a legenda &#35;{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Alternativamente,","SUBTITLES_ADJUST_DELAY":"Ajustar atraso da legenda:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Ou use as teclas <span>G</span> / <span>H</span> durante a reprodução para ajustar.","SUBTITLES_ADJUST_DELAY_TIP":"DICA: Você pode usar as teclas <span>G</span> / <span>H</span> durante a reprodução para ajustar.","SUBTITLES_DELAY":"Atraso das legendas:","SUBTITLES_LOADING":"Carregando legendas...","SUBTITLES_UNAVAILABLE":"Legendas externas não disponíveis","SUBTITLES_DISABLED":"Desativado","EXTERNAL_PLAYER_DISABLED":"Desativado","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Permitir Escolha","EXTERNAL_PLAYER_HINT":"Dica: Existe uma configuração para permitir sempre abrir com reprodutor externo","DONT_SHOW_AGAIN":"Não mostrar novamente","SERVICE_INSTALL":"Instalar","AUDIO":"Áudio","DEFAULT_LANGUAGE":"Idioma Padrão","DEFAULT_SECONDARY_LANGUAGE":"Idioma Padrão Secundário","SEASON":"Temporada","EPISODE":"Episódio","EPISODE_ABBREVIATION":"EP","SPECIAL":"Especial","SORT":"ordenar","SORT_BY":"Ordenar por","FILTER":"Filtrar","SORT_TRENDING":"Em alta","SORT_RECENT":"Recente","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"Classificação","SORT_WATCHED":"Assistido","SORT_YEAR":"Ano","SELECT_TYPE":"Selecionar tipo","SELECT_SORT":"Selecionar ordenação","SELECT_CATALOG":"Selecionar catálogo","SELECT_GENRE":"Selecionar gênero","SORT_LASTWATCHED":"Por último assistido","SORT_NAME":"Por nome","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"Por vezes assistido","SORT_NOTWATCHED":"Por não assistido","New for You":"Novo para Você","New Episodes":"Novos Episódios","New Videos":"Novos Vídeos","Recommendations":"Recomendações","LIBRARY_RESUME":"Retomar","LIBRARY_PLAY":"Reproduzir","LIBRARY_DETAILS":"Detalhes","LIBRARY_RESUME_DISMISS":"Dispensar","LIBRARY_CLEAR_PROGRESS":"Limpar Progresso","LIBRARY_REMOVE":"Remover","LIBRARY_NOT_LOGGED_IN":"A biblioteca está disponível apenas para usuários logados","CALENDAR_NOT_LOGGED_IN":"O calendário está disponível apenas para usuários logados","NOT_LOGGED_IN_CLOUD":"Acesse seus filmes e programas de TV favoritos a qualquer hora, em qualquer lugar","NOT_LOGGED_IN_RECOMMENDATIONS":"Recomendações personalizadas com base no seu histórico de visualização","NOT_LOGGED_IN_NOTIFICATIONS":"Nunca perca um episódio novamente","NOT_LOGGED_IN_CALENDAR":"Agende seu calendário pessoal de visualização","DISCOVER_FEATURED":"Destaque","DISCOVER_TOP":"Top","DISCOVER_OSCAR":"Vencedores do Oscar","DISCOVER_WARNING_TITLE":"Ops!","DISCOVER_EMPTY_CATALOG":"Este Addon não possui conteúdo.","DISCOVER_ADULT_WARNING":"Este conteúdo está disponível apenas para maiores de idade. Você tem mais de 18 anos?","DISCOVER_NOADDON_WARNING":"Atenção: nenhum Addon do Stremio ativa para este tipo. Mostrando itens salvos, nada aqui será atualizado.","DISCOVER_LOAD_ERR":"O conteúdo não foi carregado, ocorreu um erro.","DISCOVER_ADDON_UNINSTALLED":"Este conteúdo não está mais disponível, você deve ter desinstalado o Addon.","UNINSTALL_THIS_ADDON":"Remover este Addon","ERR_ADDON_NOT_INSTALLED":"Este Addon não está instalado. Instalar agora?","DETAIL_RECEIVE_NOTIF_SERIES":"Receber notificações de novos episódios","DETAIL_RECEIVE_NOTIF_VIDEOS":"Receber notificações de novos vídeos","SIDEBAR_SHOW_STREAMS":"Exibir Streams","RELAUNCH":"Reinicie agora!","UPGRADE":"Nova versão disponível! Atualize para a versão mais recente do Stremio","RELOAD_UI":"Recarregar a interface do usuário","MANUAL_UPDATE_TITLE":"Atualize sua versão do Stremio","MANUAL_UPDATE_LINE1":"Você está executando uma versão desatualizada do Stremio, o que é altamente não recomendado.","MANUAL_UPDATE_LINE2":"Por favor, atualize o mais rápido possível.","BUTTON_UPDATE_LATTER":"Agora não","BUTTON_UPDATE_NOW":"Atualizar","ANONYMOUS_USER":"Usuário anônimo","DONT_HAVE_ACC":"Não possui uma conta?","HAVE_ACC":"Já possui uma conta?","PASSWORD":"Senha","PASSWORD_CONFIRM":"Confirmar senha","EMAIL":"E-mail","FB_LOGIN":"Conectar-se via Facebook","FB_NOTHINGSHARED":"Nada é compartilhado sem sua permissão","FB_NOPOST":"Não iremos postar nada em seu nome","OR":"ou","I_ACCEPT":"Eu aceito os","I_ACCEPT_BY_CLICKING":"Ao clicar no botão acima, comprovo que aceito o ","TOS":"Termos e Condições","MUST_ACCEPT_TERMS":"Você deve aceitar os termos","PASSWORDS_NOMATCH":"As senhas não coincidem","SIGN_UP":"Cadastrar","SIGN_UP_EMAIL":"Registre-se com email","CLICK_TO_SIGN_UP":"Clique aqui para se registrar","LOG_IN":"Conectar","LOG_OUT":"Desconectar","EXIT_FULLSCREEN":"Sair do modo de tela cheia","ENTER_FULLSCREEN":"Entrar em modo de tela cheia","PLAY_URL_MAGNET_LINK":"Reproduzir URL/Link Magnético","HELP_FEEDBACK":"Ajuda & Feedback","TERMS_OF_SERVICE":"Termos de serviço","PRIVACY_POLICY":"Política de Privacidade","ABOUT_STREMIO":"Sobre o Stremio","USER_PANEL":"Painel de Usuário","LOGIN_LABEL":"Login","GUEST_LOGIN":"Entrar como convidado","GUEST_LOGIN_NOTICE":"Entrar como convidado não é recomendado. Usar um conta padrão permite que o Stremio sincronize sua Biblioteca, receba notificações de séries/canais favoritos. Você tem certeza que deseja prosseguir?","GUEST_LOGIN_NOTICE_2":"Entrar como convidado não é recomendado - você não terá uma Biblioteca sincronizada e um Painel de notificações, que são características vitais do Stremio. Você tem certeza que deseja prosseguir?","CLICK_HERE":"clique aqui","WRONG_PASSWORD":"E-mail ou senha errada. Caso tenha esquecido sua senha, ","SET_A_PASS":"Defina uma senha","RESET_PASSWORD":"Redefinir a senha","FORGOT_PASSWORD":"Esqueceu a senha?","EMAIL_USED_WITH_FB":"Este e-mail foi utilizado com uma conta do Facebook.","INVALID_EMAIL":"Por favor, informe um e-mail válido","INVALID_PASSWORD":"Por favor, informe a senha correta","CONN_ERR":"Erro de conexão - por favor, tente novamente mais tarde.\\n\\nSe isso persistir, desabilite firewalls/antivírus (principalmente o Bitdefender).","IMPORT_FROM_GUEST":"Importar biblioteca da sua conta de convidado","RECEIVE_UPDATES_EMAIL":"Receber atualizações do Stremio no seu e-mail","LOGIN_FAILED":"Login falhou.","SIGNUP_FAILED":"Cadastro falhou.","SEARCH_FAILED":"Busca falhou","EMAIL_USED":"Este e-mail já está em uso.","WAITING_FB_LOGIN":"Entrando com a conta do Facebook...","EXTERNAL_PLAYER_TITLE":"Abrir com um reprodutor de vídeo externo","EXTERNAL_REMEMBER_PLAYER":"Você quer lembrar da sua escolha?","EXTERNAL_ALWAYS_PLAY":"Sim","EXTERNAL_ONLY_ONCE":"Não","BEST_FIT":"Melhor ajuste","FIT_SCREEN":"Tela de ajuste","FILL":"Preencher","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"Conte-nos do que gosta","INTRO_TASTE_LONG":"Conte-nos o que gostaria de assistir","INTRO_TASTE_PICK":"Escolha {{interestsRemaining}} interesses","INTRO_TASTE_PICK_MORE":"Escolha {{interestsRemaining}} mais interesses","INTRO_TASTE_HELP_US":"Ajude-nos a saber mais sobre você.","INTRO_TASTE_CHOOSE_THESE":"Escolha alguns destes:","INTRO_TASTE_CHOOSE_MIN":"Escolha ao menos 3 categorias","INTRO_TASTE_CHOOSE_MIN_ERR":"Você precisa escolher ao menos 3 categorias!","INTRO_TASTE_LIFESTYLE":"Estilo de vida","INTRO_TASTE_SPORTS":"Esporte","INTRO_TASTE_FOOD_HEALTH":"Gastronomia e Saúde","INTRO_TASTE_BEAUTY_FASHION":"Moda e Beleza","INTRO_TASTE_NEWS":"Notícias","INTRO_TASTE_GAMING":"Jogos","INTRO_TASTE_SCIENCE_EDU":"Ciência e Educação","INTRO_TASTE_MUSIC":"Música","INTRO_TASTE_TRAVEL":"Viagens","INTRO_TASTE_LATE_NIGHT":"Programas noturnos","INTRO_TASTE_REALITY":"Realidade","INTRO_TASTE_COMEDY":"Comédia","INTRO_TASTE_DIY":"Faça você mesmo","INTRO_TASTE_TECH":"Tecnologia","INTRO_TASTE_CINEMA":"Cinema","ADDON_NOT_SUPPORTED":"O Addon selecionado não é suportado nesta plataforma.","ADDON_DISCLAIMER":"Usando um Addon de terceiros você estará se auto responsabilizando de acordo com as leis do governo de sua região.","ADDON_ACTIVATE":"Deseja ativar este Addon?","ADDON_REPO_ADD":"Endereço do repositório do Addon","ADDON_ADD":"Adicionar","INSTALL_ADDON":"Install addon","ADD_ADDON":"Adicionar addon","ADD_ADDON_DESCRIPTION":"Você pode adicionar um addon via um link externo, que aparecerá em Addons instalados.","PASTE_ADDON_URL":"Cole a URL do addon","WHATS_NEW":"O que há de novo","BUTTON_CONTINUE":"Continuar","BUTTON_ACTIVATE":"Ativar","BUTTON_ACTIVATED":"Ativado","BUTTON_CANCEL":"Cancelar","BUTTON_SUBMIT":"Enviar","BUTTON_DISMISS_ALL":"Dispensar tudo","BUTTON_VIEW_ALL":"ver tudo","BUTTON_SEE_ALL":"Ver Tudo","BUTTON_COLOR_TRANSPARENT":"Transparente","OPEN_IN_BROWSER":"Abrir no navegador","LIB_EMPTY":"Sua biblioteca parece vazia. Descubra como ela é útil :) ","HOW_START":"Aqui está como você pode começar:","LIB_EMPTY_CAL":"Seu calendário mostra as séries na sua Biblioteca.","HOW_START_CAL":"Aqui está como você pode adicionar séries:","LIB_EMPTY_BOARD":"O Painel mostra notificações &amp; recomendações relacionadas à sua Biblioteca.","HOW_START_BOARD_WAIT":"Por favor, adicione algumas séries ou canais à sua Biblioteca e nos dê um momento para processá-las :)","HOW_START_BOARD":"Aqui está como você pode adicionar séries &amp; filmes nele:","IMPORT_FB":"Importe coisas que você gosta do <span>Facebook</span>","IMPORT_TRAKT":"Importe sua biblioteca de mídia do <span>Trakt</span>","IMPORT_DISCOVER":"Encontre coisas interessantes no <span>Descubra</span>","IMPORT_DISK":"Importe filmes ou shows que você tem no seu <span>disco local</span>","PLEASE_CREATE_ACC":"Por favor, <u>crie uma conta</u> para ativar a sincronização de Biblioteca &amp; Painel.","IMPORT_DISCOVER_SIGNUP":"Registre-se e encontre coisas interessantes no <span>Descubra</span>","IMPORT_DISK_SIGNUP":"Cadastre-se e importe filmes ou shows que você tem em seu <span>disco local</span>","LIB_EMPTY_CLOUD":"Biblioteca na nuvem","LIB_EMPTY_CLOUD_DESC":"Biblioteca pessoal na nuvem sincronizada em todos os dispositivos","LIB_EMPTY_EARLY":"Madrugador","LIB_EMPTY_EARLY_DESC":"Receber notificações de novos episódios","LIB_EMPTY_PERSONAL":"Pessoal","LIB_EMPTY_PERSONAL_DESC":"Receber recomendações pessoais","LIB_EMPTY_CALENDAR_DESC":"Agende no seu calendário pessoal para assistir","LIB_EMPTY_ALL":"Registre-se para obter tudo isto:","LIB_EMPTY_BEST":"Cadastre-se para ter o melhor do Stremio","LIB_EMPTY_OTHER":"Registre-se para habilitar o calendário e outras funções fantásticas","CALENDAR_ADDED":"O calendário Stremio foi adicionado ao seu calendário padrão.","CALENDAR_ADDED_MSG":"Se isso não funcionar, por favor, adicione este endereço no seu calendário manualmente","TRAKT_EXPIRED":"A autenticação do Trakt expirou, vá até as Configurações e autentique novamente.","TRAKT_REQUIRES_LOGIN":"Erro no serviço Trakt","TRAKT_REQUIRES_LOGIN_MSG":"Você precisa fazer login","TRAKT_IMPORT_WATCHED":"Importar","THEME":"Tema","THEME_DEFAULT":"Padrão","THEME_ADAPTIVE":"Adaptativo","SETTINGS_LABEL":"Configurações","SETTINGS_NAV_GENERAL":"Geral","SETTINGS_NAV_PLAYER":"Player","SETTINGS_NAV_STREAMING":"Streaming","SETTINGS_NAV_SHORTCUTS":"Atalhos","SETTINGS_SHORTCUT_RELOAD_APP":"Recarregar Aplicativo","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Abrir Configurações","SETTINGS_SHORTCUT_SWITCH_TABS":"Alternar Guias","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Percorrer as guias para a frente","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Percorrer abas para trás","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navegar Entre Menus","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Ir para a Busca","SETTINGS_SHORTCUT_EXIT_BACK":"Sair / Voltar","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Alternar Menu de Velocidade de Reprodução","SETTINGS_SHORTCUT_MENU_VIDEOS":"Alternar Menu de Vídeos","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Alternar Menu de Legendas","SETTINGS_SHORTCUT_MENU_INFO":"Alternar Menu de Informações","SETTINGS_SHORTCUT_FULLSCREEN":"Alternar para o modo tela cheia","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Mostrar controles","SETTINGS_SHORTCUT_PLAY_PAUSE":"Reproduzir / Pausar","SETTINGS_SHORTCUT_VOLUME_UP":"Aumentar o volume","SETTINGS_SHORTCUT_VOLUME_DOWN":"Abaixar o volume","SETTINGS_SHORTCUT_SEEK_NEXT":"Procurar próximo","SETTINGS_SHORTCUT_SEEK_PREV":"Procurar anterior","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Retroceder","SETTINGS_SHORTCUT_SEEK_FORWARD":"Avançar","SETTINGS_SHORTCUT_PLAY_NEXT":"Reproduzir próximo","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Aumentar o tamanho das legendas","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Diminuir o tamanho das legendas","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Aumentar o atraso das legendas","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Diminuir o atraso das legendas","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Alternar barra lateral","SETTINGS_SHORTCUT_OR":"ou","SETTINGS_SHORTCUT_TO":"para","SETTINGS_SHORTCUT_SPACE":"Espaço","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Autenticar","SETTINGS_FACEBOOK_IMPORT":"Importar","SETTINGS_CALENDAR_SUBSCRIBE":"Inscrever-se","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Idioma da Interface","SETTINGS_LAUNCH_STARTUP":"Iniciar com o sistema","SETTINGS_VLC_DEFAULT":"Reproduzir no VLC","SETTINGS_UI_LANGUAGE":"Idioma da interface","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Aperte ESC para sair da tela cheia","SETTINGS_GAMEPAD":"Ativar suporte a gamepad","SETTINGS_CLOSE_WINDOW":"Fechar aplicativo quando a janela for fechada","SETTINGS_SUBTITLES_LANGUAGE":"Idioma padrão de legendas","SETTINGS_SUBTITLES_SIZE":"Tamanho padrão de legendas","SETTINGS_SUBTITLES_BACKGROUND":"Fundo das legendas","SETTINGS_SUBTITLES_COLOR":"Cor das legendas","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Cor de contorno das legendas","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Cor de fundo das legendas","SETTINGS_SEEK_KEY":"As teclas de seta procuram o tempo","SETTINGS_SEEK_KEY_SHIFT":"As teclas de seta procuram o tempo quando a tecla Shift é pressionada","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Duração de Retrocesso e Avanço rápido","SETTINGS_BINGE":"Reproduzir automaticamente o próximo episódio","SETTINGS_NEXT_VIDEO":"Mostrar notificação para iniciar o próximo episódio.","SETTINGS_NEXT_VIDEO_TRIGGER":"Mostrar uma notificação ao iniciar o próximo episódio para:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Duração da notificação do próximo vídeo","SETTINGS_PLAY_IN_BACKGROUND":"Reproduzir em segundo plano","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Reproduzir em player externo","SETTINGS_RESIZE":"Redimensionar automaticamente a janela antes de reproduzir","SETTINGS_OVERRIDE_SERVER":"Substituir a URL do servidor de streaming (avançado)","SETTINGS_SERVER_URL":"URL do servidor de Streaming: ","SETTINGS_SERVER_AVAILABLE":"O servidor de Streaming está disponível.","SETTINGS_SERVER_UNAVAILABLE":"O servidor de Streaming não está disponível.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Erro","SETTINGS_SERVER_CONFIGURE_TITLE":"Configurar URL do servidor de streaming","SETTINGS_SERVER_CONFIGURE_INPUT":"Insira a URL do servidor de streaming","SETTINGS_SERVER_CACHE_SIZE":"Tamanho do cache","SETTINGS_SERVER_TORRENT_PROFILE":"Perfil de torrent","SETTINGS_HTTPS_ENDPOINT":"Endpoint HTTPS de streaming: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Sempre usar a versão Beta mais recente","SETTINGS_IMPORT_FB":"Importar do Facebook","SETTINGS_IMPORT_DISK":"Importar do disco local","SETTINGS_IMPORT_TRAKT":"Importar do Trakt","SETTINGS_PAUSE_MINIMIZED":"Pausar reprodução quando minimizado","SETTINGS_HWDEC":"Decodificação acelerada por Hardware","SETTINGS_BACKGROUND":"Reprodução em segundo plano","SETTINGS_SUBSCRIBE_CALENDAR":"Inscrever-se no calendário","SETTINGS_REQ_EXPORT":"Exportar dados","SETTINGS_ACC_DELETE":"Solicitar exclusão de conta","SETTINGS_CHANGE_PASSWORD":"Alterar a senha","SETTINGS_TOS":"Termos de serviço","SETTINGS_SUPPORT":"Contate o suporte","SETTING_LANGUAGE":"Idioma","SETTINGS_TRAKT":"Recomendações do Trakt","SETTINGS_TRAKT_LOGOUT":"Sair do Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Sair do Trakt","SETTINGS_SCAN_FOR_REMOTE":"Escaneie o código QR para abrir remotamente","SETTINGS_DESKTOP_NOTIFICATIONS":"Notificações da área de trabalho","SETTINGS_DATA_SAVER":"Economizador de Dados","SETTINGS_LANGUAGE_INTERFACE":"Interface","SETTINGS_LANGUAGE_SUBS":"Legenda padrão","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Seleção automática de trilha de áudio","SETTINGS_DEFAULT_AUDIO_TRACK":"Trilha de áudio padrão","SETTINGS_SURROUND_SOUND":"Som surround","SETTINGS_ACCOUNT":"Conta","SETTINGS_PLATFORM":"Plataforma","SETTINGS_VERSION":"Versão","SETTINGS_ABOUT":"Sobre","SETTINGS_MPV_WINDOW":"Executar em uma janela separada (avançado)","SETTINGS_PLAY_IN_EXTERNAL":"Sempre iniciar vídeo em player externo","SETTINGS_STORAGE_BUTTON":"Limpar armazenamento local","SETTINGS_STORAGE_MODAL_TITLE":"Você tem certeza?","SETTINGS_STORAGE_MODAL_MESSAGE":"Isso limpará o armazenamento local e terminará a sua sessão.","SETTINGS_HWDEC_PICKER":"Escolha a configuração de decodificação acelerada por hardware","SETTINGS_HW_AUTOMATIC":"Automático","SETTINGS_HW_DISABLED":"Desativado","SETTINGS_HW_ACCELERATED":"Aceleração de decodificação","SETTINGS_HW_FULL":"Aceleração total","SETTINGS_HW_LEGACY":"Legado","SETTINGS_DISABLED":"Desativado","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Notificação de conexão de rede","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"URL remoto","SETTINGS_COPY_REMOTE_URL":"Copiar URL remoto","SETTINGS_REMOTE_URL_COPIED":"URL remoto copiado para a sua área de transferência","SETTINGS_SECTION_SUBTITLES":"Legendas","SETTINGS_SECTION_AUDIO":"Áudio","SETTINGS_SECTION_CONTROLS":"Controles","SETTINGS_SECTION_AUTO_PLAY":"Reprodução automática","SETTINGS_SECTION_ADVANCED":"Avançado","SUBSPICKER_AUDIO":"Áudio","SUBSPICKER_SUBTITLES":"Addons de Legendas","SUBSPICKER_BLACK_BACKGROUND":"Usar cor de fundo preta","SUBSPICKER_VERTICAL_OFFSET":"Deslocamento Vertical","SUBSPICKER_SIZE":"Tamanho","SUBSPICKER_DELAY":"Atraso","SUBSPICKER_EMBEDDED_SUBS":"Legendas Embutidas","MOBILE_PRIVACY_POLICY":"Política de Privacidade","MOBILE_CRASH_REPORTING":"Relatório de falhas","MOBILE_ZOOM_TO_FILL":"Zoom para preencher a tela","MOBILE_PASSTHROUGH":"Saída de áudio digital (passthrough)","MOBILE_RUN_LOW_BATTERY":"Executar com bateria fraca","MOBILE_RUN_FOREGROUND":"Executar como serviço em primeiro plano","MOBILE_PERFORMANCE":"DESEMPENHO E ESTABILIDADE","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"QR Code expira em ","MOBILE_LOG_INTO":"Faça login na sua conta Stremio ","MOBILE_SCAN_QR":"Escaneie o código QR acima ou acesse ","MOBILE_LINK_ACCOUNT":"Vincular conta","MOBILE_SPEEDPICKER_CANCEL":"Cancelar","MOBILE_SPEEDPICKER_LABEL":"Selecione a velocidade de reprodução","MOBILE_EMPTY_LIBRARY":"Sua biblioteca está vazia","MOBILE_NO_ADDON_ACTIVE":"Nenhum Addon Stremio ativo para este tipo.","MOBILE_ORGANIZER_WARNING":"O aplicativo Stremio Organizer oferece funcionalidade limitada. Para obter uma lista de streams reproduzíveis e a experiência completa do Stremio, use o Stremio no desktop.","MOBILE_ADDON_LOADING":"ainda está carregando","MOBILE_ADDONS_LOADING":"os Addons ainda estão carregando","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Configure seu Addon","MOBILE_CONFIGURE_ADDON_LABEL":"Configurar Addon","MOBILE_ORGANIZER_ADDONS_WARNING":"O aplicativo Stremio Organizer oferece funcionalidade limitada. Para obter uma lista de streams reproduzíveis e a experiência completa do Stremio, use o Stremio no desktop.","MOBILE_DISCONNECT":"Desconectar","MOBILE_LOOKING_FOR_DEVICES":"Procurando dispositivos...","MOBILE_CAST_TO":"Transmitir para","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Deletar Conta","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"A exclusão da conta não é instantânea devido a obrigações legais. Após solicitar a exclusão da sua conta, você terá que usar um endereço de e-mail/perfil do Facebook diferente para criar uma nova conta Stremio no futuro.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirmar Exclusão da Conta","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Sua conta foi criada usando o Facebook. Para excluir sua conta, use nosso portal de usuário em www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Por favor, forneça sua senha para confirmar a exclusão da conta.","MOBILE_DELETE_ACCOUNT_BUTTON":"Deletar Conta","NAVIGATION_ON":"Ligado","NAVIGATION_OFF":"Desligado","MARKETING_AGREE":"Concordo em receber comunicações de marketing do Stremio","QUIT":"Sair","CONNECTED":"Conectado","AUTHENTICATE":"Autenticar","CACHING":"Em Cache","SETTINGS_CACHING_DRIVE":"Selecione o drive para cache","ENABLE_LOCAL_FILES_ADDON":"Habilite o Addon de arquivos locais (requer reinicialização)","LOCAL_ADDON_NOT_ENABLED":"O Addon local não está ativado. Clique aqui para ir para as configurações e habilitá-lo","ENABLE_REMOTE_HTTPS_CONN":"Habilitar conexões HTTPS remotas","TORRENT_PROFILE":"Perfil de Torrent","DATA_CACHING":"Dados em cache","MAGNET_PARSING":"Analisando o link magnético","January":"Janeiro","February":"Fevereiro","March":"Março","April":"Abril","May":"Maio","June":"Junho","July":"Julho","August":"Agosto","September":"Setembro","October":"Outubro","November":"Novembro","December":"Dezembro","Monday":"Segunda","Tuesday":"Terça","Wednesday":"Quarta","Thursday":"Quinta","Friday":"Sexta","Saturday":"Sábado","Sunday":"Domingo","Action":"Ação","Comedy":"Comédia","War":"Guerra","Family":"Família","Animation":"Animação","Adventure":"Aventura","Fantasy":"Fantasia","Crime":"Policial","Mystery":"Mistério","Romance":"Romance","Drama":"Drama","Horror":"Terror","Thriller":"Suspense","Sci-Fi":"Ficção Científica","Music":"Música","Biography":"Biografia","Documentary":"Documentário","Sport":"Esporte","Musical":"Musical","Western":"Faroeste","Film-Noir":"Film-Noir","News":"Notícias","History":"História","Game-Show":"Show de Jogos","Reality-TV":"Show Real","Talk-Show":"Programa de Entrevista","Film & Entertainment":"Filmes e Entretenimento","Gaming":"Jogos","From TV":"Da TV","Lifestyle":"Estilo de Vida","Science & Education":"Ciência e Educação","Cooking & Health":"Culinária e Saúde","Beauty & Fashion":"Beleza e Moda","Sports":"Esportes","News & Politics":"Notícias e Política","How-to & DIY":"Faça Você Mesmo","Tech":"Tecnologia","Automotive":"Automotivo","Causes & Non-Profits":"Causas Humanitárias","Movies":"Filmes","Uk Live Tv":"TV Inglesa","Fashion":"Moda","Business News Radio":"Rádio de Negócios","Business Tv":"Negócios","Cars & Auto":"Carros","Comedy Radio":"Rádio de Comédia","Lifestyle Radio":"Rádio de Estilo de Vida","News Tv":"Noticiário","Food And Wine":"Comes e Bebes","Latino Tv":"TV Latina","Shopping Tv":"Compras","Religion":"Religião","Kids":"Infantil","Body & Soul":"Corpo e Alma","Education":"Educação","Indian Tv":"TV Indiana","Extreme Sports":"Esportes Extremos","Middle Eastern Tv":"TV do Oriente Médio","Celebrity Tv":"Celebridades","Science Tv":"Ciência","Bikini babe":"Biquíni","Outdoors":"Externas","German Tv":"TV Alemã","French Tv":"TV Francesa","Italian Tv":"TV Italiana","Gamer Tv":"TV Gamer","Travel":"Viagens","Asian Tv":"TV Asiática","Entertainment":"Entretenimento","News Radio":"Rádio de Notícias","Music Radio":"Rádio de Música","Language Learning":"Aprendendo Idiomas","Science Radio":"Rádio de Ciência","Tech Radio":"Rádio de Tecnologia","Science & Technology Vod":"Ciência e Tecnologia Video Sob Demanda","new video":"Novo video","new episode":"Novo episódio","new movie":"Filme novo","recommended":"Recomendado","we recommend":"Nós recomendamos","offer of the day":"Oferta do dia","news":"Notícias","music video":"video de música","CTX_SHOW_HOTKEYS":"Mostrar teclas de atalho","CTX_DISMISS_NOTIF":"Dispensar notificações","CTX_DISMISS_ALL":"Dispensar tudo","CTX_SHARE":"Compartilhar","CTX_COPY_SHARE_LINK":"Copiar link compartilhado","CTX_COPY_MAGNET_LINK":"Copiar link magnético","CTX_COPY_STREAM_LINK":"Copiar link da stream","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copiar link de download do vídeo","CTX_DOWNLOAD_VIDEO":"Baixar esse vídeo","CTX_DOWNLOAD_SUBS":"Baixar Legendas","CTX_VIEW_ON_YOUTUBE":"Visualizar no YouTube","CTX_SHOW":"Mostrar","CTX_PLAY":"Reproduzir","CTX_PLAY_IN":"Reproduzir em","CTX_PLAY_ON":"Reproduzir em","CTX_WATCH_ON":"Assistir em","CTX_WATCH":"Assistir","CTX_WATCHED":"Assistido","CTX_WATCH_BEGINNING":"Assistir do inicio","CTX_WATCH_MOBILE":"Assistir em um aparelho móvel","CTX_REWIND":"Voltar para o início","CTX_MARK_WATCHED":"Marcar como assistido","CTX_MARK_NON_WATCHED":"Marcar como não assistido","CTX_MARK_UNWATCHED":"Marcar como não assistido","CTX_MARK_REST":"Marcar o resto como assistido","CTX_UNMARK_REST":"Marcar o resto como não assistido","CTX_RECEIVE_NEW_NOTIF":"Receber novas notificações","CTX_ENABLE_NEW_NOTIF":"Ativar notificações","CTX_DISABLE_NEW_NOTIF":"Desativar notificações","CTX_REMOVE_CACHE":"Remover do cache","CTX_REMOVE_CACHE_EP":"Remover episodio do cache","CTX_OPEN_CONTAINING":"Abrir pasta do arquivo","CTX_REMOVE":"Remover da biblioteca","CTX_AVAILABLE_OFFLINE":"Disponível Offline","CTX_PAUSED":"Pausado","CTX_ALWAYS_ON_TOP":"Manter em cima","CTX_FULLSCREEN":"Tela cheia","CTX_WRONG_SUBS":"Legendas incorretas?","CTX_REPORT_ISSUES":"Reportar um problema","CTX_COPY":"Copiar","CTX_PASTE":"Colar","CTX_CLEAR":"Limpar","CTX_CLEAR_RECENT_SEARCHES":"Limpar buscas recentes","HELLO_THERE":"Olá","HOPE_YOU_ENJOY":"Esperamos que aprecie o Stremio, que já é um dos seus aplicativos favoritos!","WHO_ARE_WE":"Quem somos? Somos a equipe por trás disso tudo. Dois caras que trabalham duro todos os dias nos últimos 3 anos, com o único objetivo de deixar este produto cada vez melhor","SUPPORT_US":"Se você gosta de usar o Stremio, se ele está sendo útil pra você, divulgue!","SPREAD_THE_WORD":"Compartilhe com seus amigos agora, divulgue o Stremio","MORE_PEOPLE":"Quanto mais pessoas usarem o Stremio, melhor ele vai ficar!","SEND_A_LINK":"Ou envie um link para nosso site","TIP_LOCALFILES":"Dica: você pode arrastar e soltar arquivos de vídeo diretamente no Stremio","ADDON_MY":"Meus Addons","ADDON_COMMUNITY":"Addons da comunidade","ADDON_OFFICIAL":"Addons oficiais","ADDON_REPOS":"Repositórios de Addons","ADDON_SEARCH":"Buscar Addons","ADDON_INSTALL":"Instalar","ADDON_CONFIGURE":"Configurar","ADDON_UNINSTALL":"Desinstalar","ADDON_UPGRADE":"Atualizar","ADDON_INSTALLED":"Instalado","ADDON_INSTALLED_MSG":"Addon instalado!","ADDON_UPGRADED_MSG":"Addon atualizado!","ADDON_UNKNOWN":"Desconhecido","ADDON_ERR":"Erro ao instalar o Addon!","ADDON_DISCONNECTED":"Desconectado","ADDON_APP_MISSING":"o aplicativo que suporta esta fonte não está instalado. Deseja instalar agora?","ADDON_APP_INSTALL":"Instalar agora","ADDON_PAGE":"Página de Addons","ADDON_TOP_CONTENT":"Melhor conteúdo deste Addon","ADDON_PROVIDES":"Este Addon lhe dará:","ADDON_WATCH":"Assista a #{types} agora!","ADDON_WATCH_FREE":"Assista a #{types} de GRAÇA agora!","ADDON_ADDON":"Addon","ADDON_SUPPORTED_TYPES":"Tipos suportados","ADDON_SUPPORTED_CATALOGS":"Catálogos suportados","ADDON_PROVIDES_DISCOVER":"Mais #{types} em Descubra","ADDON_PROVIDES_STREAMS":"Assista a #{types}","ADDON_PROVIDES_STREAMS_FREE":"Assista a #{types} de GRAÇA","ADDON_PROVIDES_SUBTITLES":"Legendas para #{types}","ADDON_CANTDETECT":"Nós não pudemos detectar se o Stremio está sendo executado, então não pudemos detectar quais Addons você tem instalado.","ERR_NO_META":"Nenhuma informação encontrada sobre isso ","ERR_GETTING_META":"Erro ao obter informação sobre isto.","ERR_CANT_PARSE_MAGNET":"Não foi possível analisar o link magnético","ERR_NO_MAGNET_INFOHASH":"Informação inválida no hash do link magnético","ERR_NO_FILE_PATH":"Impossível enviar uma requisição sem um caminho para o arquivo","ERR_NO_TORRENT":"Nenhum torrent retornado","ERR_NO_SUPPORTERD_FILES":"Nenhum arquivo suportado encontrado","ERR_OPENING_FILES":"Não foi possível abrir arquivos externos","ERR_INVALID_LINK":"Link inválido","ERR_REGISTERED_ONLY":"Esta opção está disponível apenas para usuários registrados.","ERR_CLIPBOARD":"Não é possível reproduzir da área de transferência","ERR_CLIPBOARD_READ":"Não é possível ler a área de transferência nesta plataforma","ERR_CLIPBOARD_GENERIC":"Nenhuma URL reproduzível encontrada na Área de Transferência. Por favor, copie uma URL (ex.: link magnético) para um vídeo.","BOARD_CONTINUE_WATCHING":"Continue assistindo","BOARD_EXPLANATION_RECOMMENDATIONS":"Filmes escolhidos especialmente para você.<br />Este filme é uma recomendação de amostra.","BOARD_EXPLANATION_EPISODES":"Novos episódios de suas séries favoritas.<br />Adicione séries que você segue na sua Biblioteca.","BOARD_EXPLANATION_VIDEOS":"Novos episódios dos seus canais favoritos.<br />Adicione canais do YouTube que você segue na sua Biblioteca.","WEBSITE_ENJOYED_BY":"Apreciado por mais de 30 milhões de usuários em todo o mundo","WEBSITE_STREAMING_ENHANCED":"Streaming Aprimorado","WEBSITE_STREAMING_ENHANCED_DETAILS":"O Stremio oferece uma experiência de entretenimento segura, moderna e perfeita. Com sua interface fácil de usar e biblioteca de conteúdo diversificada, incluindo suporte a 4K HDR, os usuários podem desfrutar de seus filmes e programas de TV favoritos em todos os seus dispositivos. E com seu compromisso com a segurança, o Stremio é a escolha definitiva para uma experiência de streaming de alta qualidade e sem preocupações.","WEBSITE_AVAILABLE_ON":"Disponível em","WEBSITE_WATCH_AND_ENJOY":"Assista e Aproveite.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio torna tudo fácil","WEBSITE_ALL_FEATURES":"Todos os recursos","WEBSITE_EASY_TO_USE":"Fácil de usar","WEBSITE_EASY_TO_USE_DETAILS":"O Stremio foi projetado para ser fácil de usar e amigável. Com sua interface limpa e intuitiva, você pode navegar facilmente e encontrar o conteúdo que deseja assistir.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Perfeito em Todos os Dispositivos","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Disponível para uma ampla variedade de plataformas (incluindo Windows, Mac, Linux, Android e muito mais), o Stremio manterá o controle do seu progresso em todos os seus dispositivos. Basta fazer login e continuar assistindo sem precisar configurar o aplicativo novamente em cada novo dispositivo.","WEBSITE_ALL_DOWNLOADS":"Todos os Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"Suporte a Vídeo de Alta definição","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"Um player de vídeo integrado que suporta a maioria dos formatos de vídeo, incluindo conteúdo 4K HDR, permite que você desfrute da melhor qualidade disponível.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Biblioteca de Conteúdo Diversificada","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"O Stremio se integra a uma grande quantidade de fontes de vídeo populares, como Netflix, Amazon Prime Video, Hulu, YouTube e muitos outros.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Crie uma Conta Gratuita","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Experiência de Visualização Personalizada","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"O Stremio permite que você personalize a aparência e a sensação da interface alterando o tema, adicionando ou removendo complementos e muito mais.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Suporte a Legendas Multilíngues","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"Agora você pode desfrutar de todo o conteúdo favorito em seu idioma preferido, pois o Stremio suporta legendas em todos os idiomas.","WEBSITE_ALL_STREMIO_FEATURES":"Todos os recursos do Stremio","WEBSITE_TRY_STREMIO_TITLE_P1":"Experimente o Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"Na sua TV Agora","WEBSITE_YOU_CAN_NOW_WATCH":"Agora você pode assistir a todos os seus programas de TV favoritos em seus dispositivos Android TV. O aplicativo de TV Stremio permite que você aproveite uma noite de cinema com facilidade.","WEBSITE_YOU_CAN_NOW_WATCH_2":"Agora você pode assistir a todos os seus programas de TV favoritos em sua Smart TV ou Android TV. Os aplicativos de TV Stremio permitem que você aproveite uma noite de cinema com facilidade.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio para Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Provavelmente o melhor e mais útil aplicativo para ter em seu dispositivo. É um dos aplicativos que uso diariamente, especialmente na minha Android TV, há muitos anos. Bem feito, com uma comunidade forte fornecendo funcionalidades úteis. Bem feito. Continuem com o bom trabalho.","WEBSITE_REVIEWS":"avaliações","WEBSITE_GET_STREMIO_FOR_FREE":"Obtenha o Stremio Gratuitamente","WEBSITE_GET_STREMIO_NOW":"Obtenha o Stremio Agora","WEBSITE_STREMIO_FEATURES":"Recursos do Stremio","WEBSITE_STREMIO_FEATURES_DETAILS":"Transmita como um profissional com os recursos avançados do Stremio e desfrute de acesso perfeito a todos os seus meios favoritos","WEBSITE_DISCOVER_MORE":"Descubra mais.","WEBSITE_DISCOVER_MORE_DETAILS":"Nunca fique sem coisas para assistir","WEBSITE_COMMUNITY_DRIVEN":"Impulsionado pela comunidade","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"O Stremio tem uma comunidade grande e ativa de usuários que contribuem para o desenvolvimento do software criando e compartilhando complementos.","WEBSITE_GET_INVOLVED":"Envolver-se","WEBSITE_NEW_THEATER_EXPERIENCE":"Nova experiência de cinema","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"O novo aplicativo de TV dedicado do Stremio permite que você aproveite uma noite de cinema em seus dispositivos Android TV.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Os novos aplicativos de TV dedicados do Stremio permitem que você aproveite uma noite de cinema em suas Smart TVs ou dispositivos Android TV.","WEBSITE_FREE_AND_SECURE":"Grátis & Seguro","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"O Stremio oferece segurança e privacidade incomparáveis para os usuários. Com sua característica única de executar complementos remotamente, o Stremio fornece uma maneira mais segura de transmitir seu conteúdo favorito em comparação com outras plataformas. Sua segurança e privacidade são as principais prioridades, e a plataforma garante que todos os seus dados estejam protegidos.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Diga adeus às preocupações com segurança e privacidade e diga olá a um mundo de entretenimento sem fim com o Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Informações fornecidas por","WEBSITE_CONTRIBUTE":"Contribuir","WEBSITE_CONTRIBUTE_DESC":"para o projeto e nos ajude a tornar o Stremio ainda melhor","WEBSITE_COMMUNITY_DESC":"Acreditamos que a melhor maneira de criar uma experiência de streaming verdadeiramente incrível é envolver nossa comunidade no processo. Se você é um programador, um artista ou apenas um fã, pode ajudar o Stremio a crescer.","WEBSITE_COMMUNITY_DESC_2":"Então junte-se a nós hoje e faça parte da comunidade Stremio e continue moldando o futuro do streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Formas de se envolver","WEBSITE_IN_THE_STREMIO_COMMUNITY":"na comunidade Stremio","WEBSITE_SHARE_YOUR_THOUGHTS":"Compartilhe seus pensamentos","WEBSITE_REPORT_BUGS":"Relatar bugs","WEBSITE_SUGGEST_FEATURES":"sugerir funcionalidades","WEBSITE_AND_PROVIDE_FEEDBACK":"e fornecer feedback em nossos canais de mídia social.","WEBSITE_BETA_TESTING_PROGRAM":"Programa de Testes Beta","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participe do nosso programa de testes beta (enviamos convites regularmente) na comunidade Stremio.","WEBSITE_JOIN_NOW":"Junte-se agora!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Comunidades Oficiais do Stremio","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Comunidades Não-Oficiais do Stremio","WEBSITE_BECOME":"Torne-se","WEBSITE_A_VOLUNTEER_TRANSLATOR":"um tradutor voluntário","WEBSITE_ARE_YOU_A_DEVELOPER":"Você é um desenvolvedor?","WEBSITE_CONTRIBUTE_CODE":"Você pode contribuir com código para nossos projetos de código aberto. Temos vários projetos no GitHub que estão procurando contribuidores. Se você estiver interessado em ajudar, confira:","WEBSITE_STREMIO_ON_GITHUB":"Stremio no GitHub","WEBSITE_CREATE_ADDON_DESC":"Crie um addon para aprimorar a funcionalidade do Stremio (temos uma API fácil de usar):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"Também oferecemos a oportunidade de se juntar a nós como um desenvolvedor estagiário para que possamos crescer juntos.","WEBSITE_APPLY_AS_AN_INTERN":"Candidate-se como Estagiário","WEBSITE_CALLING_ALL_ARTISTS":"Chamando Todos os Artistas!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Mostre sua criatividade e amor pelo Stremio enviando sua arte de fã para nossa galeria online. Seja um desenho, pintura ou design digital, queremos ver sua visão única da marca Stremio. Junte-se à nossa comunidade de entusiastas da arte e compartilhe seu trabalho com outros fãs do Stremio ao redor do mundo.","WEBSITE_STREMIO_FANART_GALLERY":"Galeria de Fanart do Stremio","WEBSITE_INTERN_DESIGNER":"Faça parte da nossa equipe e leve sua criatividade a novos patamares com nossas emocionantes oportunidades de estágio.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Projeto de Filmes de Domínio Público","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"No Stremio, estamos comprometidos em preservar a história do cinema e da televisão identificando vídeos de domínio público e órfãos. Trabalhando juntos com nossa comunidade, podemos garantir que essas obras de arte clássicas sejam acessíveis a todos e protegidas para as gerações futuras desfrutarem.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Sinta-se à vontade para entrar em contato conosco se quiser se envolver nesse projeto.","WEBSITE_JOIN_THE_PROJECT":"Junte-se ao Projeto","WEBSITE_BE_PART_OF_OUR_MISSION":"Faça parte da nossa missão","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interessado em se juntar à equipe Stremio? Oferecemos trabalho totalmente remoto para profissionais apaixonados. Confira nossas vagas abertas.","WEBSITE_OPEN_POSITIONS":"VAGAS ABERTAS","WEBSITE_DESCRIPTION":"DESCRIÇÃO","WEBSITE_LEARN_MORE":"Saiba mais","WEBSITE_COMPANY":"Empresa","WEBSITE_CONTACTS":"Contatos","WEBSITE_NEED_HELP":"Precisa de Ajuda?","WEBSITE_STREMIO_WEB_ON_IOS":"Guia para Stremio Web no iOS","WEBSITE_LINK_ART_V2":"Galeria de Fanart","WEBSITE_PARTNERS":"Parceiros","WEBSITE_SLOGAN_WATCH":"Assista instantaneamente","WEBSITE_SLOGAN_ALL":"Todo conteúdo em vídeo que você adora em um único lugar","WEBSITE_SLOGAN_NEW":"Tudo o que você pode assistir","WEBSITE_SLOGAN_NEW_NEW":"Liberdade para o Stream","WEBSITE_WATCH_FROM":"Assista a partir de","WEBSITE_DOWNLOAD":"Baixe agora","WEBSITE_DOWNLOAD_FOR":"Baixe agora para","WEBSITE_IS_DESKTOP":"Stremio é um aplicativo para desktop, abra esta página em seu computador e baixe","WEBSITE_DESKTOP_DEMO_VID":"Demonstração","WEBSITE_PAGE_HOME":"Início","WEBSITE_PAGE_FEATURES":"Funcionalidades","WEBSITE_PAGE_ADDONS":"Addons","WEBSITE_PAGE_TECH":"Tecnologia","WEBSITE_PAGE_CREATE_ADDON":"Criar Addon","WEBSITE_PAGE_CONTACTS":"Contato","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Por favor, insira sua nova senha desejada abaixo.","WEBSITE_RESET_PASSWORD_WARNING":"Você tem certeza de que deseja redefinir a senha para ${1}?","WEBSITE_TYPE_movie":"Filmes","WEBSITE_TYPE_series_PL":"Séries","WEBSITE_TYPE_tv":"TV Ao vivo","WEBSITE_TYPE_channel":"Canais","WEBSITE_STREMIO_WHAT_IS":"Stremio é um aplicativo que ajuda você a organizar e assistir instantaneamente seus vídeos, filmes, séries de TV e canais de TV favoritos.","WEBSITE_FEATURES_WATCH":"Assista instantaneamente em HD","WEBSITE_FEATURES_WATCH_DETAIL":"Clique e assista seus filmes favoritos, Séries, vídeos e canais de TV.","WEBSITE_FEATURES_SUBS":"Legendas automáticas","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio automaticamente seleciona legendas sincronizadas para o seu idioma.","WEBSITE_FEATURES_SUBS_LABEL":"Chefe, é a sua vez.","WEBSITE_FEATURES_CAST":"Exiba na TV & Celulares","WEBSITE_FEATURES_CAST_DETAIL":"Transmita para AppleTV, Chromecast, Smart TV (DLNA/UPnP) e dispositivos móveis.","WEBSITE_LIB":"Aprecie Sua Biblioteca Pessoal Sincronizada em Todos Seus Dispositivos","WEBSITE_LIB_COLLECT":"Recuperar da Stremio","WEBSITE_LIB_IMPORT":"Importe do Facebook","WEBSITE_LIB_LOCAL":"Adicione do seu dispositivo local","WEBSITE_BOARD":"Painel - Um lugar para Notificações e Recomendações","WEBSITE_BOARD_RECOMMEND":"Shows de TV Recomendados","WEBSITE_BOARD_TRENDING":"Filme em Alta","WEBSITE_BOARD_NEW":"Novo Vídeo","WEBSITE_BOARD_EPISODE":"Novo Episódio","WEBSITE_BOARD_1":"Procurando alguma coisa interessante para assistir? Obtenha recomendações baseadas no seu perfil!","WEBSITE_BOARD_2":"Seja avisado quando um novo episódio da sua série favorita ou canal do YouTube sair!","WEBSITE_BOARD_YOUTUBE":"Novos vídeos de canais do YouTube","WEBSITE_BOARD_EPISODES":"Novos episódios de séries que você segue","WEBSITE_ADDONS":"Addons de Conteúdo","WEBSITE_TECH_DETAIL":"Nós amamos tecnologias, nós amamos ciência disruptiva!\\nA Stremio usa as seguintes tecnologias Open Source:","WEBSITE_TECH_WCJS":"WebChimera.js permite que o Stremio reproduza qualquer formato de vídeo com uma ótima qualidade.","WEBSITE_TECH_WCJS_EXTRA":"Nós somos os mantenedores do projeto","WEBSITE_TECH_ELECTRON":"Electron provê uma plataforma inovadora no qual o Stremio é construído.","WEBSITE_TECH_ELECTRON_EXTRA":"Nós somos os contribuidores do projeto","WEBSITE_TECH_LINVODB":"Uma tecnologia de Banco de Dados que garante que seus dados estarão organizados e disponíveis em qualquer lugar que você se conectar.","WEBSITE_TECH_LINVODB_EXTRA":"Tecnologia interna","WEBSITE_CREATE_ADDON":"Crie seu Addon","WEBSITE_CREATE_ADDON_DETAIL":"Você possui um serviço fornecendo conteúdo em vídeo? Nós vamos ajudar você a se beneficiar dos recursos do Stremio criando seu Addon.","WEBSITE_CREATE_ADDON_BENEFITS":"Benefícios de criar um Addon para o Stremio","WEBSITE_P2P_BEAUTY":"A Beleza do streaming ponto-a-ponto","WEBSITE_P2P_1":"Vídeos em Full HD / 4K sob demanda ou transmissões ao vivo confiáveis e acessíveis","WEBSITE_P2P_2":"Plataforma de distribuição providenciando uma ótima experiência ao usuário","WEBSITE_P2P_3":"Nós criaremos um Addon reunindo exatamente o que você precisa","WEBSITE_P2P_CONTACT":"Interessado? Sinta-se a vontade para <a href=\'mailto:office@stremio.com\'>entrar em contato conosco</a>.","WEBSITE_P2P_CONTACT_EXTRA":"Será um prazer ajudar você a integrar seu conteúdo ao Stremio!","WEBSITE_P2P":"De vez em quando, aparece uma tecnologia que muda o jogo. Nós investimos muito tempo e esforço na construção do nosso mecanismo de transmissão de vídeo Peer-To-Peer (P2P) que fornece uma ótima performance e versatilidade para se adaptar a qualquer tipo de uso.\\nEntre em contato conosco para vídeos P2P sob demanda com gerenciamento de direitos autorais (DRM) habilitado ou transmissão ao vivo.","WEBSITE_THOUGHTS":"Pensamentos que compartilhamos:","WEBSITE_SPREAD":"Espalhe a palavra sobre o Stremio:","WEBSITE_CONTACT":"Contate-nos, teremos prazer em ouvi-lo.","WEBSITE_OPENSOURCE":"Veja nossos projetos Open Source em nosso ","WEBSITE_BITCOIN":"Doe Bitcoin:","WEBSITE_FAQ":"Perguntas frequentes","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Perguntas","WEBSITE_TOS":"Termos de uso","WEBSITE_LEGAL":"Legal","WEBSITE_PAGE_ABOUT":"Sobre","WEBSITE_PAGE_BECOME_PARTNER":"Seja um parceiro","WEBSITE_ALL_YOU_CAN_WATCH":"Liberdade Para Assistir\\nTudo Que Você Deseja.","WEBSITE_FREEDOM_TO_STREAM":"Liberdade para o Stream","WEBSITE_WHAT_IS_STREMIO":"O que é Stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"O Stremio é uma plataforma para agregação de conteúdo de vídeo. Descubra, organize e assista vídeos de todos os tipos de fontes em qualquer dispositivo que você possui.","WEBSITE_WHAT_IS_STREMIO_P2":"Filmes, séries, programas de TV, TV ao vivo ou canais da web como YouTube e Twitch.tv - você pode encontrar tudo isso no Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio é uma central de mídia moderna, uma solução integrada para todo seu entretenimento em vídeo. Você descobre, assiste e organiza conteúdo de vídeo a partir de Addons fáceis de instalar.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Filmes, shows de TV, TV ao vivo ou canais da web - encontre tudo isso no Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Desfrute em todos os seus dispositivos de mídia ","WEBSITE_DEVICES_COLLECT":"Recupere a partir do Stremio","WEBSITE_DEVICES_IMPORT_FB":"Importe a partir do Facebook","WEBSITE_DEVICES_LOCAL":"Adicione a partir de unidade local","WEBSITE_JOIN_THE_PARTY_NOW":"Junte-se à festa agora","WEBSITE_DEVICES_ALL":"Fácil de usar em todos os seus dispositivos;","WEBSITE_EXTENDABLE_CATALOG":"Catálogo de vídeo infinitamente extensível;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Ótimas funcionalidades para organizar sua mídia;","WEBSITE_AS_SEEN_ON":"Como visto em","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"Sobre nós","WEBSITE_LINK_TECHNOLOGY":"Tecnologia","WEBSITE_LINK_APPS":"Aplicativos","WEBSITE_LINK_DOWNLOADS":"Baixe","WEBSITE_MORE":"Mais","WEBSITE_LINK_ADDONS":"Addons","WEBSITE_LINK_ADDON_SDK":"Kit de Desenvolvimento","WEBSITE_LINK_CONTRIBUTE":"Contribuir","WEBSITE_LINK_COMMUNITY":"Comunidade","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... & Mais","WEBSITE_LINK_HELP":"Central de Ajuda","WEBSITE_LINK_CONTACTS":"Inquérito de Negócios","WEBSITE_LINK_TOS":"Termos e Condições","WEBSITE_LINK_PRAVACY":"Politica de Privacidade","WEBSITE_SUBSCRIBE":"Inscreva-se","WEBSITE_NEWSLETTER":"Inscreva-se na nossa newsletter para receber as novidades","WEBSITE_PLACEHOLDER_EMAIL":"Seu email","WEBSITE_COMMUNITY":"Comunidade","WEBSITE_LINK_PRAVACY_LEGAL":"Privacidade e Legal","WEBSITE_WHY":"Por que nós fazemos isso","WEBSITE_WHY_P1":"No Stremio, nós chegamos a trabalhar todos os dias porque queremos resolver um problema importante para o setor de vídeo sob demanda. Há tanto conteúdo novo publicado a cada minuto que é virtualmente impossível encontrar o caminho menos árduo.","WEBSITE_WHY_P2":"Ajudamos as pessoas a navegar neste mundo imenso de entretenimento de vídeo e a descobrir novos conteúdos para apreciar. Nossos aplicativos trazem consigo filmes, séries, TV ao vivo, canais da web e muito mais. Estamos focados em facilitar que nossos usuários possam encontrar facilmente títulos e canais que eles adoram. ","WEBSITE_WHY_P3":"Você pode usar nosso serviço em qualquer dispositivo e a qualquer hora, tornando o Stremio a única plataforma agregadora de entretenimento de vídeo que você precisará.","WEBSITE_TEAM":"Equipe","WEBSITE_TEAM_P":"A equipe do Stremio é pequena, mas poderosa: entre nós dez, codificamos em várias linguagens e compartilhamos experiência em desenvolvimento de software, design UI e UX, marketing e publicidade, e negócios e startups.","WEBSITE_FEATURES":"Recursos","WEBSITE_FEATURES_P1":"-","WEBSITE_FEATURES_DISCOVER":"Descubra novos conteúdos com facilidade","WEBSITE_FEATURES_DISCOVER_P":"Descubra facilmente novos filmes, séries, programas de TV e canais para assistir. Navegue por categoria, gênero, classificação, novidade, etc. ou simplesmente digite um nome para encontrar. Stremio faz achar conteúdo de vídeos ser uma moleza.","WEBSITE_FEATURES_ALL_CONTENT":"Todo seu conteúdo de vídeo em uma tela","WEBSITE_FEATURES_ALL_CONTENT_P1":"Veja quais filmes, séries ou vídeos você não terminou e continue assistindo. Seja notificado sobre novos episódios e lançamentos e navegue pelas recomendações que você obterá com base em seus hábitos de visualização","WEBSITE_FEATURES_LIBRARY":"Organize sua biblioteca de vídeos","WEBSITE_FEATURES_LIBRARY_P1":"Adicione qualquer título à sua biblioteca do Stremio com um único clique e encontre seu conteúdo, organizado por tipo, novidade ou ordem alfabética","WEBSITE_FEATURES_CALENDAR":"Acompanhe tudo o que você assiste","WEBSITE_FEATURES_CALENDAR_P1":"Visualize o calendário de todos os filmes e séries que você adiciona à sua biblioteca, e também saiba quando haverá um novo episódio ou uma estreia.","WEBSITE_FEATURES_BIG_SCREEN":"Aproveite o seu conteúdo de vídeo em uma tela maior ","WEBSITE_FEATURES_BIG_SCREEN_P1":"Projete o que você estiver assistindo para outro dispositivo - use o smartphone, tablet ou TV com um único clique","WEBSITE_FEATURES_SOURCES":"Assista o vídeo de várias fontes diferentes.","WEBSITE_FEATURES_SOURCES_P":"Instale os Addons oficiais e comunitárias para aproveitar o vídeo fornecido por vários fornecedores diferentes - tudo em um aplicativo elegante e fácil de usar.","WEBSITE_CREATE_AN_ADDON":"Crie um Addon.","WEBSITE_FEATURES_SYNC":"Sincronize sua biblioteca entre diferentes dispositivos e continue a reprodução","WEBSITE_FEATURES_SYNC_P1":"Entre com sua conta em todos os seus dispositivos e aproveite sua biblioteca, Addons, reprodução e calendário sincronizados.","WEBSITE_FEATURES_EXTENDABLE":"Catálogo de vídeo extensível por Addons","WEBSITE_FEATURES_EXTENDABLE_P1":"O catálogo de Addons do Stremio fornece vários Addons para instalar e assistir a uma variedade de conteúdos de vídeo. Isso inclui filmes, programas, TV ao vivo, esportes, notícias, podcasts, canais da web, videogames e muito mais.","WEBSITE_FEATURES_AUTO_SUBS":"Legendas automáticas","WEBSITE_FEATURES_AUTO_SUBS_P1":"Com nossos Addons para legenda, você obtém automaticamente as opções selecionadas para o seu idioma preferido.","WEBSITE_FEATURES_CHROMECAST":"Transmitir para Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Desfrute do conteúdo do vídeo em uma tela maior ou apenas transmita o que estiver assistindo para outro dispositivo.","WEBSITE_FEATURES_KEEP_TRACK":"Acompanhe seus programas de TV e canais da Web favoritos ","WEBSITE_FEATURES_KEEP_TRACK_P1":"Obtenha uma visualização do calendário e notificações para novos episódios de suas séries e canais da web favoritos.","WEBSITE_FEATURES_POWER_USER":"Recursos avançados para usuários","WEBSITE_FEATURES_POWER_USER_P1":"Reproduzir em um reprodutor externo","WEBSITE_FEATURES_POWER_USER_P2":"Reproduzir de um arquivo torrent ou link magnético","WEBSITE_FEATURES_POWER_USER_P3":"Importe para sua biblioteca do Facebook likes ou disco local","WEBSITE_ADD_ONS":"Addons","WEBSITE_ADD_ONS_P1":"Todo o conteúdo de vídeo que o Stremio proporciona é proveniente de um sistema de Addons - nenhum fornecedor de conteúdo ou conteúdo foi incorporado no aplicativo.","WEBSITE_ADD_ONS_P2":"Existem dois grupos de Addons disponíveis: oficial e comunitária.","WEBSITE_ADD_ONS_P3":"As oficiais são desenvolvidas e hospedadas pela Stremio, enquanto os Addons comunitárias são criadas pelos membros de nossa comunidade, que também os hospedam.","WEBSITE_ADDONS_OFFICIAL":"Addons oficiais","WEBSITE_ADDONS_WATCHUB":"Transmite seus filmes, séries e shows favoritos de provedores como iTunes, Hulu, Amazon e outros serviços do Reino Unido / EUA.","WEBSITE_ADDONS_YOUTUBE":"Assista seus canais favoritos do YouTube livre de anúncios e receba notificações de novos vídeos dos canais que você segue.","WEBSITE_ADDONS_FILMON":"Assista TV ao vivo, filmes e canais interativos gratuitamente. 600 canais de TV, 45.000 filmes gratuitos, documentários e muito mais.","WEBSITE_ADDONS_OPENSUBTITLES":"Legendas de filmes e TV em vários idiomas. Milhares de legendas traduzidas e carregadas todos os dias.","WEBSITE_ADDONS_COMMUNITY":"Addons da comunidade","WEBSITE_ADDONS_FILMON_VOD":"Assista a vídeos sob demanda do Filmon.tv","WEBSITE_ADDONS_TWICH":"Assista transmissões ao vivo do Twitch.tv - a plataforma de streaming de vídeo para a indústria de e-sports.","WEBSITE_ADDONS_VODO":"Assista filmes independentes totalmente grátis.","WEBSITE_ADDONS_NETFLIX":"Assista filmes e séries da Netflix.","WEBSITE_ADDONS_CREATE":"Crie um Addon.","WEBSITE_ADDONS_CREATE_P1":"Se desejar, você pode desenvolver sua próprio Addon. Desta forma, você pode proporcionar a você e a nossa comunidade acesso a novos conteúdos de vídeo, e alcançar um novo público-alvo de milhões de usuários em todo o mundo.","WEBSITE_ADDONS_START_CREATE":"Para iniciar, visite a página do Kit de Desenvolvimento de Addons da Stremio:","WEBSITE_DOWNLOADS":"Baixar","WEBSITE_DOWNLOADS_P1":"Para um desempenho ideal, recomendamos que você use a versão mais recente disponível das aplicações Stremio. Se por algum motivo, no entanto, você prefira usar uma versão mais antiga, você pode baixá-la aqui.","WEBSITE_DOWNLOADS_P1_SHORT":"Para um desempenho ideal, recomendamos que você use a versão mais recente disponível dos aplicativos Stremio.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio para Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio para MacOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio para Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio para Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio para Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio para Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio para Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio para iOS (versão limitada)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio para Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio para LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio para Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio para Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio para Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio para o Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio para Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio para Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio para o navegador","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Procure o Stremio na App Store dos modelos de TV Samsung 2019+","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Procure o Stremio na App Store dos modelos de TV LG 2020+","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Procure por Stremio no aplicativo Play Store na TV Sony com Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Procure por Stremio no aplicativo Play Store na Philips TV com Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Procure o Stremio na App Store do teu dispositivo Xbox","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guia para Stremio OS no RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Baixar o Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service é um aplicativo complementar para o Stremio Web. Recomendamos o uso da versão mais recente disponível do Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service para Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service para macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service para Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service para Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio para Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"Mais opções de download","WEBSITE_DOWNLOAD_NEW":"Novo!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"Lançamos o Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"Lançamos o Stremio para a Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"Lançamos o Stremio para a LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"Lançamos o Stremio para Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"Lançamos o Stremio para Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"A plataforma Stremio é de código aberto e você pode criar facilmente um Addon para o conteúdo que atualmente não é fornecido.","WEBSITE_CONTRIBUTE_WHY":"Por que você deve criar um Addon?","WEBSITE_CONTRIBUTE_WHY_P1":"Alcance novo público para o conteúdo do seu vídeo","WEBSITE_CONTRIBUTE_WHY_P2":"A base de usuários do Stremio está crescendo rapidamente - no primeiro ano de lançamento, o Stremio ganhou 1 milhão de usuários em todo o mundo e, no segundo ano de existência da plataforma, esse número cresceu para 2,5 milhões.","WEBSITE_CONTRIBUTE_WHY_P3":"Com a seu Addon, você pode alcançar facilmente esta audiência e distribuir o seu conteúdo em vídeo para eles.","WEBSITE_CONTRIBUTE_ALL":"Assista seus filmes, séries, vídeos e canais favoritos em um único lugar.","WEBSITE_CONTRIBUTE_ALL_P1":"Você é fã de um tipo de conteúdo que ainda não está disponível no Stremio? Crie um Addon para isso, e aprecie assistir seus vídeos favoritos em um dos maiores e mais fáceis de se usar hub de entretenimento do mercado.","WEBSITE_CONTRIBUTE_ALL_P2":"Além disso, você obterá a infinita gratidão de outros membros da comunidade Stremio com ideias semelhantes","WEBSITE_CONTRIBUTE_MONETIZE":"Monetize seu Addon e ganhe dinheiro com a ajuda dela","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Uma vez que você desenvolve um novo Addon para o Stremio, você pode facilmente monetizá-lo através de várias maneiras diferentes. Se você está considerando isso, sinta-se à vontade para entrar em contato conosco no ","WEBSITE_CONTRIBUTE_MONETIZE_E":"Addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - nós ficaríamos felizes em lhe instruir e aconselhá-lo sobre as opções de monetização de seu Addon.","WEBSITE_CONTRIBUTE_TRANSLATE":"Torne-se um tradutor voluntário","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Se você deseja aproveitar as aplicações do Stremio em diferentes idiomas, você pode se juntar à nossa comunidade de tradutores voluntários. Eles nos ajudam a adicionar versões do Stremio em vários idiomas diferentes.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Você está ansioso para começar?","WEBSITE_TRANSALTE_STREMIO":"Traduza o Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Comunidades oficiais","WEBSITE_COMMUNITY_OFFICIALS_P1":"Torne-se parte da crescente comunidade Stremio. Siga-nos nas redes sociais e não se sinta intimidado em nos dizer um \\"Olá\\" - amamos saber de nossos fãs!","WEBSITE_COMMUNITY_UNOFFICIALS":"Comunidades não oficiais","STREMIO_COMMUNITY_NL":"Stremio Nova Zelândia","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Alemanha","STREMIO_COMMUNITY_BELGIUM":"Stremio Bélgica","STREMIO_COMMUNITY_FRANCE":"Stremio França","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Itália","STREMIO_COMMUNITY_UK":"Stremio Reino Unido","STREMIO_COMMUNITY_USA":"Stremio EUA","STREMIO_COMMUNITY_MEXICO":"Stremio México","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_AWESOME":"O melhor do Stremio","WEBSITE_COMMUNITY_PARTNERS":"Apoiadores e parceiros","WEBSITE_COMMUNITY_GOODIES":"Brindes Stremio","WEBSITE_COMMUNITY_WALLPAPERS":"Papéis de Parede","WEBSITE_COMMUNITY_ART":"Galeria de Arte Comunitária","WEBSITE_LINK_ART":"Galeria de arte comunitária","WEBSITE_CONTACT_US":"Fale conosco","WEBSITE_CONTACT_US_P1":"Caso tenha dúvidas, comentários ou sugestões, sinta-se à vontade para entrar em contato conosco através do formulário abaixo.","WEBSITE_CONTACT_US_P2":"Lembre-se de que estamos localizados na Bulgária, por isso, pode haver uma demora no atendimento da sua consulta devido às diferenças de fuso horário.","WEBSITE_CONTACT_US_SUCCESS":"Sua mensagem foi enviada. Nós entraremos em contato com você o mais breve possível.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Por favor, digite um e-mail válido!","WEBSITE_CONTACT_US_Q_RELATED_TO":"Com o que sua pergunta está relacionada?","WEBSITE_CONTACT_US_Q_OS":"Qual o seu sistema operacional?","WEBSITE_CONTACT_US_PH_EMAIL":"Seu email","WEBSITE_CONTACT_US_PH_MESSAGE":"Mensagem","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"ENVIAR","WEBSITE_CONTACT_US_Q_1":"Como instalar?","WEBSITE_CONTACT_US_Q_2":"Como desinstalar?","WEBSITE_CONTACT_US_Q_3":"(HTML) Como fazer lasanha?","WEBSITE_CONTACT_US_Q_4":"Addons","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"MacOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Tecnologia","WEBSITE_TECHNOLOGY_P1":"Nós amamos tecnologia e ciência maluca. </ br> Aqui estão os poderes do Stremio (tudo em código aberto).","WEBSITE_TECHNOLOGY_P_QT":"Desenvolvimento de software multiplataforma em seu melhor.","WEBSITE_TECHNOLOGY_P_MPV":"Um reprodutor de mídia gratuito, de código aberto e multiplataforma.","WEBSITE_TECHNOLOGY_P_RN":"O React Native permite que você crie aplicativos mobile usando apenas JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Framework de mídia embutido no aplicativo para recursos multimídia","WEBSITE_TECHNOLOGY_P_REALM":"Realm é uma plataforma mobile e um substituto para SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js é um ambiente em tempo de execução multiplataforma e de código aberto para JavaScript.","WEBSITE_TECHNOLOGY_P_RUST":"Rust é uma linguagem de programação multi-paradigma focada em segurança, especialmente concorrência segura.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribua com o projeto","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Há duas maneiras que você pode contribuir com o Stremio e nos ajudar a tornar o produto ainda melhor.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Você pode doar suas valiosas habilidades linguísticas para traduzir a plataforma...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"ou","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"...você pode usar suas habilidades de codificação para criar Addons comunitárias.","WEBSITE_TRANSLATE_STREMIO":"Traduza o Stremio","WEBSITE_404_OH_NO":"Ops! A página que você está procurando não está aqui...","WEBSITE_GO_HOME":"Principal","WEBSITE_LINK_OTHER_DOWNLOADS":"Outros downloads","WEBSITE_FAQ_ABR":"Dúvidas Frequentes","WEBSITE_SUPPORT":"Ajuda","WEBSITE_DOWNLOAD_4_0_BETA":"Baixe agora o Stremio 4 beta","WEBSITE_GET_FOR_DESKTOP":"Baixe para seu PC","WEBSITE_LINK_ADDON_COMPETITION":"Competição de Addon","WEBSITE_LINK_ART_CONTEST":"Concurso de arte","WEBSITE_MY_ACCOUNT":"Minha conta","WEBSITE_MAINPAGE_FAQ_001_H1":"O que é Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"O Stremio é um moderno centro de mídia que oferece a liberdade de assistir tudo o que você deseja.","WEBSITE_MAINPAGE_FAQ_002_H1":"Como funciona?","WEBSITE_MAINPAGE_FAQ_002_P1":"Depois de instalar o Stremio no seu dispositivo e criar uma conta, tudo o que você precisa fazer é visitar o catálogo de Addons e instalar qualquer Addon que desejar, e pronto!","WEBSITE_MAINPAGE_FAQ_002_P2":"Depois disso, você pode ir para as seções Descubra ou Painel para começar a explorar o conteúdo.","WEBSITE_MAINPAGE_FAQ_003_H1":"O que posso assistir aqui?","WEBSITE_MAINPAGE_FAQ_003_P1":"Diversos filmes, programas de TV, canais da Web, esportes, canais de TV, ouvir podcasts e muito mais. Graças ao nosso sistema de Addons, você pode acessar uma variedade de conteúdos.","WEBSITE_MAINPAGE_FAQ_004_H1":"Stremio é de código aberto?","WEBSITE_MAINPAGE_FAQ_004_P1":"Sim, você pode verificar os seguintes links: ${1}aplicativo de desktop${2} e ${3}organização GitHub${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Stremio é seguro?","WEBSITE_MAINPAGE_FAQ_005_P1":"Sim. Por ser um software de código aberto, o código é auditável publicamente e você pode revisá-lo.","WEBSITE_MAINPAGE_FAQ_005_P2":"O sistema de Addon do Stremio também foi criado com a segurança do usuário em mente. Os Addon não executam nenhum código localmente, portanto, não representam riscos para o seu dispositivo","WEBSITE_MAINPAGE_FAQ_006_H1":"E a minha privacidade?","WEBSITE_MAINPAGE_FAQ_006_P1":"Respeitamos a privacidade dos usuários e não coletamos dados pessoais além do mínimo essencial para criar e sincronizar sua conta.","WEBSITE_MAINPAGE_FAQ_006_P2":"Há também um ${1}modo visitante ${2}na inscrição, que não requer dados: neste modo, nenhuma chamada é feita para o nossos servidores. No entanto, isso ocorre à custa de recursos úteis, como sincronizar sua biblioteca entre dispositivos.","WEBSITE_MAINPAGE_FAQ_007_H1":"Posso transmitir para minha TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Sim, suportamos o Chromecast e você pode transmitir a partir de aplicativos para computador e dispositivos móveis (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"Quantos Addons o Stremio possui?","WEBSITE_MAINPAGE_FAQ_008_P1":"No final de 2019, acima de 50 - para obter mais informações, consulte nosso catálogo de Addons.","WEBSITE_MAINPAGE_FAQ_009_H1":"O Stremio pode ser estendido além do que está no catálogo de Addons?","WEBSITE_MAINPAGE_FAQ_009_P1":"Sim, você deve checar estes: ${1}PimpMyStremio${2}, ${3}Comunidades Reddit${4}, ${5}Downloader Stremio${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"Quais dispositivos o Stremio suporta?","WEBSITE_MAINPAGE_FAQ_010_P1":"Temos aplicativos de desktop para Windows, Mac e Linux. Para dispositivos móveis, suportamos Android e iOS, embora tenha em mente que a funcionalidade do iOS é limitada (não é compatível com a maioria das Addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"Existem muitos dispositivos baseados no Android nos quais você pode executar o Stremio, como NVIDIA Shield e Amazon Fire Stick, mas não os suportamos oficialmente.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"Temos aplicativos de desktop para Windows, Mac e Linux. Também temos aplicativos dedicados para dispositivos móveis Android e Android TV. Para iOS e iPadOS, sugerimos usar o Stremio Web, embora ele seja mais limitado em funcionalidade.","WEBSITE_MAINPAGE_FAQ_011_H1":"Você pode adicionar determinado conteúdo ao Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Desculpe, mas nós não fornecemos conteúdo, porém quanto mais Addons do Stremio você instalar, mais conteúdo você poderá encontrar.","WEBSITE_MAINPAGE_FAQ_012_H1":"O Stremio pode reproduzir links magnéticos?","WEBSITE_MAINPAGE_FAQ_012_P1":"Sim, e também pode reproduzir links HTTP normais e arquivos torrent (arrastar e soltar).","WEBSITE_MAINPAGE_FAQ_013_H1":"Posso baixar um vídeo e assistir offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"O modo offline estará disponível futuramente, porém se você permitir que o Stremio faça cache no dispositivo (no painel de configurações), poderá assistir aos vídeos mais tarde, sem conexão.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nada funciona, me ajude!","WEBSITE_MAINPAGE_FAQ_014_P1":"Tem certeza de que instalou Addons? Se sim, verifique nossa ${1}central de ajuda${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"Como o Stremio sustenta suas operações de desenvolvimento?","WEBSITE_MAINPAGE_FAQ_015_P1":"Ocasionalmente, exibimos anúncios não intrusivos, mas estamos pensando em mudar para um modelo de doação.","WEBSITE_MAINPAGE_FAQ_015_P2":"Para mais dúvidas, visite nossa ${1}central de ajuda${2}.","HELP_LEARN_MORE":"Ajude-nos a aprender mais sobre você.","LIFESTYLE":"Estilo de vida","SPORTS":"Esportes","FOOD_HEALTH":"Gastronomia e Saúde","BEAUTY_FASHION":"Moda e Beleza","NEWS":"Notícias","GAMING":"Jogos","SCIENCE_EDUCATION":"Ciência e Educação","MUSIC":"Música","TRAVEL":"Viagens","LATE_NIGHT":"Tarde da Noite","REALITY":"Realidade","COMEDY":"Comédia","DIY":"Faça você mesmo","TECH":"Tecnologia","CINEMA":"Cinema","CONTINUE":"Continuar","SLOW_LOADING":"CARREGAMENTO LENTO?","I_GIVE_UP":"EU DESISTO","LEARN_MORE":"Saiba mais","POOR_SOURCE":"Esta fonte possui baixa disponibilidade ou a sua conexão à internet não é suficientemente rápida","PICK_CATEGORIES_ERR":"Você precisa escolher ao menos 3 categorias","ADJUST_TIMING":"Ajustar tempo com ","ADJUST_SIZE":"Ajustar tamanho com ","SEARCH_ANYTHING":"Você Pode Pesquisar Qualquer Coisa...","ALL_CATEGORIES":"Todas","SEARCH_CATEGORIES":"Filmes, Séries, YouTube & TV","SEARCH_PERSONS":"Atores, Diretores & Escritores","SEARCH_PROTOCOLS":"HTTP & Links Magnéticos","SEARCH_TYPES":"links IMDB / TVDB","WATCHED":"Visto","SHOW_LESS":"Mostrar menos","LAST_SEARCHES":"Últimas pesquisas","CLEAR_HISTORY":"Limpar histórico","CHOOSE_SOME":"ESCOLHA ALGUNS DESTES:","NO_WEB_REMOTE":"O Web Remote não pôde ser carregado","STREMIO_OFFLINE":"Stremio está offline","STREMIO_EXPENSIVE_CONNECTION":"A conexão de rede é custosa","USE_DATA":"Dados Móveis","WARNING":"Aviso","MORE_INFO":"Mais Informações ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Carregando ...","STREMIO_TV_BACK_TO_LANGUAGES":"Voltar para idiomas","STREMIO_TV_REMOTE":"Remoto","STREMIO_TV_GO_TO":"Ir Para:","STREMIO_TV_OR_SCAN":"ou buscar:","STREMIO_TV_ADDON_INSTRUCTIONS":"Por favor, siga as instruções a fim de instalar suas Addons favoritas.","STREMIO_TV_LIVE_TV":"TV Ao vivo","STREMIO_TV_RESUME_WATCHING":"Continuar assistindo","STREMIO_TV_LOADING_BACKGROUND":"Carregando Plano de Fundo","STREMIO_TV_CHECKING_AUTHENTICATION":"Checando Autenticação","STREMIO_TV_LOADING_BOARD":"Carregando Painel","STREMIO_TV_LOGIN_HEADER_LINE_1":"Queremos que nossos usuários tenham a melhor experiência personalizada possível com nosso programa.","STREMIO_TV_LOGIN_HEADER_LINE_2":"É por esta razão que nos gentilmente pedimos que faça e/ou logue em sua conta.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Obrigado por entender,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Equipe Stremio","STREMIO_TV_REMOTE_INSTRUCTIONS":"A fim de usar o Web Remote com seu Smartphone / Tablet / PC:","STREMIO_TV_WIFI_SETUP":"Configurar Wi-Fi","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle não detectou conexão com a internet.","STREMIO_TV_WIFI_DETAILS_1":"Conectar com:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Usar senha:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Abra o navegador com o link:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Padrão","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"Por Último Assistido","STREMIO_TV_LIBRARY_SORT_NAME":"Por Nome","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"Por Nome em ordem decrescente","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"Por Vezes Assistido","STREMIO_TV_LIBRARY_SORT_WATCHED":"Por assistidos","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"Por não assistidos","STREMIO_TV_DETAILS_SEASON_NUMBER":"Temporada ${1}","STREMIO_TV_STREAMS_LOADING":"Carregando ${1} / ${2} Addons...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} o Addon ainda esta carregando...","STREMIO_TV_PLAYER_SETTINGS":"Configurações do player","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Atraso das legendas","STREMIO_TV_PLAYER_AUDIO_DELAY":"Atraso de áudio","STREMIO_TV_PLAYER_VIDEO_SCALING":"Dimensionamento de vídeo","STREMIO_TV_PLAYER_CHAPTERS":"Capítulos","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Pular ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Fonte de stream não suportada","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Falha ao abrir link externo","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Não ajustável no modo de passagem de áudio","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Tocar com ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Tocar com player libVLC","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Mudando para o player libVLC devido a um erro de reprodução","STREMIO_TV_ADDONS_TITLE":"Use o Stremio em seu telefone ou PC para instalar ou configurar Addons e pressione \\"Sincronizar Addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Nota: verifique se você está usando a mesma conta Stremio","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sincronizar Addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons sincronizados com sucesso","STREMIO_TV_ADDONS_SYNC_FAILED":"Falha ao sincronizar Addons","STREMIO_TV_META_LINK_FAILED":"Falha ao abrir o meta link","STREMIO_TV_CATALOG_LOADING":"Catálogo ainda carregando...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Idioma da interface atualizado","STREMIO_TV_SETTINGS_THEME_UPDATED":"Tema atualizado","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Player Padrão","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Player Externo","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Idioma Preferido","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Idioma Secundário Preferido","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Reprodução em túnel","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possíveis problemas de reprodução em alguns dispositivos","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Alguns formatos de vídeo podem não funcionar","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Correspondência de taxa de quadros","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Desativado","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Apenas Taxa de Quadros","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Taxa de Quadros e Resolução","STREMIO_TV_SETTINGS_NO_CACHING":"Sem cache","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Padrão","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Suave","STREMIO_TV_SETTINGS_PROFILE_FAST":"Rápido","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Rápido","STREMIO_TV_SETTINGS_SERVER_URL":"URL do servidor de streaming","STREMIO_TV_SETTINGS_SERVER_VERSION":"Versão do servidor","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Desconhecido","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Versão do Stremio","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Editar URL do servidor","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Insira um URL de servidor de streaming","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Mostrar estatísticas durante o carregamento","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"Para ler a Política de Privacidade do Stremio, visite:","STREMIO_TV_SETTINGS_TOS_TEXT":"Para ler os Termos e Condições do Stremio, visite:","STREMIO_TV_NAV_SEARCH":"Procurar","STREMIO_TV_NAV_HOME":"Início","STREMIO_TV_NAV_DISCOVER":"Descobrir","STREMIO_TV_NAV_LIBRARY":"Biblioteca","STREMIO_TV_NAV_MOVIES":"Filmes","STREMIO_TV_NAV_SERIES":"Series","STREMIO_TV_NAV_CHANNELS":"Canais","STREMIO_TV_NAV_TV":"TV ao vivo","STREMIO_TV_NAV_SETTINGS":"Configurações","STREMIO_TV_NAV_ADDONS":"Addons","STREMIO_TV_LOGIN_TITLE":"Vincular Contas","STREMIO_TV_LOGIN_EXPIRES_IN":"Expira em","STREMIO_TV_LOGIN_STEP_ONE":"Escaneie o QR Code acima ou acesse","STREMIO_TV_LOGIN_STEP_TWO":"Faça login na sua conta Stremio","STREMIO_TV_LOGIN_NEW_LINK":"Solicitar um novo link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Código de login atualizado","STREMIO_TV_SEARCH_PLACEHOLDER":"Digite algo","STREMIO_TV_SEARCH_NO_ADDONS":"Nenhum Addon foi solicitado para catálogos!","STREMIO_TV_SEARCH_BUTTON":"Procurar","STREMIO_TV_SEARCH_KEY_DEL":"Deletar","STREMIO_TV_SEARCH_KEY_SPACE":"Espaço","STREMIO_TV_SEARCH_KEY_CLEAR":"Limpar","STREMIO_TV_SEARCH_HISTORY_TITLE":"Histórico de pesquisa","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Você pode pesquisar por Títulos, Atores, Canais e muito mais...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Limpar histórico de pesquisa","STREMIO_TV_FILTERS_DESCRIPTION":"Escolha um dos filtros abaixo","STREMIO_TV_STREAMING_SERVER_OFFLINE":"O Servidor de Streaming está offline. Verifique as Configurações do Servidor.","FILTERS":"Filtros","SETTINGS":"Configurações","ACCOUNT":"Conta","LOGOUT":"Sair","THEMES":"Temas","PLAYBACK":"Reprodução","PLAYBACK_SPEED":"Velocidade de reprodução","AUDIO_TRACKS":"Faixas de áudio","UNKNOWN_TRACK_LANG":"Desconhecido","VIDEOS":"Vídeos","SERVER":"Servidor","LINKS":"Links","ABOUT":"Sobre","INTERFACE":"Interface","ANIMATIONS":"Animações","STATUS":"Status","LANGUAGE":"Idioma","SIZE":"Tamanho","DELAY":"Atraso","BOLD":"Negrito","OPACITY":"Opacidade","TEXT_COLOR":"Cor do texto","OUTLINE_COLOR":"Cor do contorno","BACKGROUND_COLOR":"Cor de fundo","BACKGROUND_BLUR":"Desfoque de fundo","SEEK_TIME_DURATION":"Duração do tempo de busca","AUTO_PLAY":"Reproduzir automaticamente o próximo episódio","PLAY_NOW":"Reproduzir agora","MARK_AS_WATCHED":"Marcar como assistido","MARK_AS_UNWATCHED":"Marcar como não assistido","REWIND_TO_BEGINNING":"Retornar ao início","CONTINUE_WATCHING":"Continuar assistindo","ALL":"Tudo","SECONDS":"segundos","ON":"ON","OFF":"OFF","RELOAD":"Recarregar","EDIT_URL":"Editar URL","NONE":"Nenhum","EMBEDDED":"Embutido","REMOTE_SWITCH_DEVICES":"Trocar aparelhos","REMOTE_VIDEOS":"Vídeos","REMOTE_ADJUST_TIMING":"Ajustar o tempo","REMOTE_ADJUST_SIZE":"Ajustar o tamanho","REMOTE_COULD_NOT_BE_LOADED":"Web Remote não pôde ser carregado","REMOTE_RETRY":"Tentar novamente","TORRENT_PROFILE_DEFAULT":"Padrão","TORRENT_PROFILE_SOFT":"Suave","TORRENT_PROFILE_FAST":"Rápido","TORRENT_PROFILE_ULTRA_FAST":"Ultra Rápido","FAQ_001_H1":"O que é Stremio?","FAQ_001_P1":"Stremio é um programa de mídia centralizada desenhada para video entretenimento com facilidade de uso em mente. Stremio permite a você organizar &amp; assistir sua própria coleção de vídeos, séries, canais e Tvs ao Vivo.","FAQ_001_P2":"Stremio cataloga o conteúdo e apresenta pra você de seu disco local e de nosso sistema de Addons.","FAQ_001_P3":"Também irá notificá-lo quando novos episódios/vídeos/filmes que você estiver interessado sair, e mostrará recomendações de filmes para você.","FAQ_02_H1":"Como Stremio se compara ao Kodi e Plex?","FAQ_02_P1":"Nós nos inspiramos nos dois programas, mas temos diferentes objetivos - Stremio é especificamente voltado para vídeo entretenimento. Batalhamos para sermos a solução padrão para isso, tendo em foco a facilidade de uso.","FAQ_02_P2":"Stremio nunca será tão customizável e com ricos recursos como Kodi e Plex, mas sendo significativamente mais fácil de usar. Simplesmente ${1} pegue isso e veja ${2} :)","FAQ_03_H1":"Como Stremio se compara ao Netflix?","FAQ_03_P1":"Novamente, Netflix é uma de nossas inspirações. Trabalharemos arduamente para atingir a experiência de uso proporcionada pelo Netflix, e mais um porção de melhorias. No entanto, o mais importante, nós estamos dando a você a liberdade de gerenciar sua própria biblioteca e adicionar novas fontes de conteúdos com o nosso sistema de Addons.","FAQ_03_P2":"Isso faz do Stremio infinitamente extensível, e então quando você usá-lo, você nunca ficará limitado ao conteúdo que o Netflix decida licenciar. Por exemplo, através do Stremio você pode assistir conteúdo de ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} e mesmo ${9}Netflix${10}!","FAQ_04_H1":"Como Stremio se compara ao Flipboard?","FAQ_04_P1":"Raramente recebemos esta questão, exceto quando falamos com pessoas iniciantes :)","FAQ_04_P2":"Stremio é desenhado como um agregador de conteúdo, ao qual essencialmente Flipboard o faz para vídeo. Isso é muito parecido em nosso painel, ao qual da a você catálogos e notificações de novos episódios/novos vídeos que você segue, tal qual Flipboard.","FAQ_05_H1":"Como Stremio se compara ao Popcorn Time?","FAQ_05_P1":"Stremio e Popcorn Time são similares em interface de uso, porque não há muitas maneiras de fazer catálogo de vídeo entretenimento, certo? :)","FAQ_05_P2":"Mas enquanto o Popcorn Time tem o foco em entrega de torrents de fontes específicas, Stremio não possui restrição e é meramente um agregador de conteúdo - não é travado em uma fonte de conteúdo específica.","FAQ_05_P3":"Além disso, nós não provemos nenhum Addon para torrent por padrão, então Stremio não cobre o caso de uso do Popcorn Time na sua funcionalidade oficial.","FAQ_05_P4":"Uma outra diferença notável é que o Popcorn Time é completamente de código aberto, enquanto Stremio é ${1} parcialmente de código aberto ${2}.","FAQ_06_H1":"Vocês que adicionam estes filmes/séries?","FAQ_06_P1":"Não, desculpe :(","FAQ_06_P2":"Como já mencionamos em muitas outras questões, Stremio não provê nenhum conteúdo por si próprio - tudo é adicionado diretamente pelo sistema de Addons. Caso queira solicitar algum conteúdo, você pode usar o botão “Reporte” no reprodutor, ao qual irá enviar um email para o autor do Addon ao qual está usando.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Vocês criarão Addons para X?","FAQ_08_P1":"Isso é inteiramente possível.","FAQ_08_P2":"Se você tem uma ideia para um Addon, escreva para ${1}office@stremio.com${2}, mas por favor, tenha certeza de que a ideia desse Addon não irá infringir nenhum direito de propriedade intelectual ou termos de uso.","FAQ_08_P3":"No momento, os próximos movimentos em nosso projeto são Addons para FandangoNOW, vídeo sob demanda no Filmon.tv e Crunchyroll.","FAQ_09_H1":"Stremio usa BitTorrent?","FAQ_09_P1":"Sim. Stremio suporta BitTorrent como um protocolo streaming. Você pode usá-lo com a Addon torrent ou por arrastar e soltar um arquivo .torrent dentro do Stremio, ou mesmo colando um link magnético dentro do campo de busca.","FAQ_09_P2":"Por favor, note que único Addon oficial que usa BitTorrent é ${1}Vodo${2}, ao qual provê produção independente, todos permitidos para serem distribuídos com BitTorrent.","FAQ_09_P3":"Nós não suportamos o uso de qualquer Addon de terceiro ao qual pode viabilizar o infringimento de leis de direitos.","FAQ_10_H1":"O que posso assistir no Stremio com as Addons oficiais?","FAQ_10_P1":"Por padrão, você pode assistir conteúdo do Filmon.tv, YouTube e Vodo dentro do Stremio com o reprodutor interno. Adicionalmente nós temos um Addon para Twitch.tv e alguns outros.","FAQ_10_P2":"Este combinado provê uma seleção de:","FAQ_10_L1":"Canais de TV populares, provido por Filmon.tv - por exemplo E4, BBC, Bollyworld TV","FAQ_10_L2":"Tudo do YouTube - por exemplo BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Filmes independentes com Vodo","FAQ_10_L4":"Transmissão de jogos online com Twitch.tv","FAQ_10_P3":"Adicionalmente, há muitas fontes de conteúdo providas com Guidebox e Addons Netflix, ao qual <b>não</b> reproduzem inteiramente dentro do Stremio, mas pode redirecionar para o dado serviço. Por exemplo, o Addon Guidebox lhe dá uma seleção de filmes que você pode obter conteúdo streaming dentro dos Estados Unidos de graça de serviços como TubiTV e Crackle.","FAQ_11_H1":"Stremio não instala, o que devo fazer?","FAQ_11_P1":"Se você usa Windows, tente ${1}este instalador alternativo${2}.","FAQ_11_P2":"Pra quem usa Mac OS X, por favor esteja ciente que nós não suportamos versões inferiores a OS X Mavericks (10.9).","FAQ_11_P3":"Caso esteja usando Linux, fique avisado que nós damos suporte apenas para a versão 64 bits (x64) no momento.","FAQ_11_P4":"Se não ainda não conseguiu resolver seu problema, por favor nos mande uma mensagem no ${1}Grupo do Facebook${2}.","FAQ_12_H1":"Por que meu antivírus reclama? O Stremio é seguro?","FAQ_12_P1":"Nós lhe asseguramos que o Stremio é ${1}100% limpo${2}.","FAQ_12_P2":"Seu antivírus está reclamando porque nós incluímos propaganda em nosso instalador, e isso faz com que o Stremio seja classificado como um ad-ware.","FAQ_12_P3":"Se você não está seguro, você pode usar nosso ${1}instalador alternativo${2}.","FAQ_13_H1":"Como posso fazer um Addon?","FAQ_13_P1":"Para iniciantes, recomendados que leiam nosso ${1}módulo de sistema de Addon${2} no GitHub.","FAQ_13_P2":"Todavia, você pode seguir o ${1}Tutorial Olá Mundo${2}.","FAQ_13_P3":"Se você não tem nenhum conhecimento em programação, por favor poste sua ideia na ${1}comunidade Reddit${2} e nos contate com sua ideia de Addon no ${3}office@stremio.com${4}.","FAQ_14_H1":"Como as Addons são publicadas?","FAQ_14_P1":"Quando você cria um Addon e hospeda e coloca um campo <b>endpoint</b> no seu manifest, ao qual aponta para endereço de Addon ativo, o Addon irá automaticamente se auto-publicar em nosso ${1}Catálogo de Addons${2}.","FAQ_14_P2":"Isso acontece porque parte do servidor do módulo de Addon do Stremio automaticamente faz uma chamada para nossa API para publicar o Addon. Quando nossa API valida seu <b>endpoint</b> como um Addon válida, isso irá constar no catálogo.","FAQ_15_H1":"Eu posso executar o Stremio no navegador?","FAQ_15_P1":"No momento não, mas em breve !","FAQ_15_P2":"Se você está curioso para ver uma versão Alpha, você pode acessar aqui: ${1}alpha4.strem.io${2}. Tenha em mente que o streaming está desabilitado. Damos suporte para Chrome, Firefox, Opera e Edge.","FAQ_16_H1":"Transmissão para a TV não funciona / legendas não funcionam","FAQ_16_P1":"Transmissão para a TV usa a tecnologia DLNA que é muito inconsistente entre modelos de fabricantes diferentes. Por esta razão, nós não temos a habilidade de testar em cada caso, então estamos longe da perfeição. Estamos trabalhando em melhorar constantemente, mas nós não podemos lhe dar uma estimativa de tempo de quando a tecnologia DLNA funcionará corretamente em sua TV.","FAQ_16_P2":"Se você ainda não vê sua TV no menu de transmissão, por favor tente desabilitar sua conexão de rede e habilite novamente (no Windows, click com botão direito em Rede e click em Habilitar/Desabilitar), também reinicie seu roteador, TV e PC.","FAQ_16_P3":"Se você ainda está encontrando problemas, você pode nos ajudar enviando as informação de seu modelo de TV e fabricante para ${1}office@stremio.com${2}.","FAQ_16_P4":"Em quanto isso nós recomendamos o Chromecast, ao qual suportamos muito bem, ou simplesmente plugando sua TV no seu PC com um cabo HDMI.","FAQ_17_H1":"Stremio congela ou trava, o que posso fazer?","FAQ_17_P1":"Primeiro de tudo, se você está usando Windows 7 com o antivírus AVG: nós temos problema com essa combinação. O problema é o próprio AVG, e não há uma solução definitiva para corrigirmos isso. Infelizmente, exceções ou desabilitar o antivírus não funciona. A única maneira é trocar seu antivírus.","FAQ_17_P2":"Se isso não é o problema, mas você ainda usa Windows, por favor atualize seu o sistema incluindo os drivers da GPU, e tente novamente.","FAQ_17_P3":"Se o seu problema continua sem solução, ou utiliza Mac ou Linux, por favor nos escreva reportando em detalhes o problema em ${1}nosso grupo no Facebook${2}.","FAQ_18_H1":"Como posso fazer um Addon?","FAQ_18_P1":"Para iniciantes nós recomendamos que veja nosso ${1}módulo de sistema de Addon${2} no GitHub.","FAQ_18_P2":"No entanto, você pode seguir pelo nosso ${1}tutorial Olá Mundo!${2}.","FAQ_18_P3":"Se você não tem nenhuma habilidade em programação, por favor, poste sua ideia na ${1}comunidade do Reddit${2} e nos contate com sua ideia de Addon em ${3}office@stremio.com${4}.","FAQ_19_H1":"Por que o Stremio está ocupando espaço em disco?","FAQ_19_P1":"Stremio tem um <b>cache local</b> para temporariamente deixar os arquivos de vídeo descarregados.","FAQ_19_P2":"Isso tem dois benefícios: primeiro, permite ao Stremio pré carregar o vídeo para garantir uma transmissão suave. Segundo, isso deixa os vídeos no cache local para que você possa continuar assistindo off-line.","FAQ_19_P3":"Quanto o Stremio depende da configuração do <b>Cache</b> no painel de Configurações. Stremio pode manter uma quantidade (por exemplo, 2GB) no seu disco, a menos que o vídeo descarregado seja maior do que isso, caso em que deve haver espaço suficiente para mantê-lo enquanto o descarrega.","FAQ_20_H1":"Onde está a pasta do cache?","FAQ_20_P1":"No Windows, o cache do Stremio fica no drive ao qual você selecionou nas configurações (exemplo \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"No MacOS, fica localizado em \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"No Linux, fica localizado em \\"~/.stremio/stremio-cache\\" ou \\"~/stremio-cache\\"","FAQ_21_H1":"Eu recebi a mensagem de erro \\"Servidor de streming não encontrado\\", o que posso fazer?","FAQ_21_P1":"Se você recebeu esta mensagem, isso implica em uma das possibilidades:","FAQ_21_P2":"1) Você está tentando usar um Addon suportada pelo código do YouTube/BitTorrent, através de nossa ${1}versão web${2}. Nesse caso, você deve instalar nossa versão para desktop de ${3}nosso website${4}.","FAQ_21_P3":"2) Há algo de errado com a instalação do Stremio. Neste caso, tente reinstalar nossa versão mais recente ${1}do website${2}. Se isso não ajudar, tente desabilitar os programas de antivírus e firewall, reinicie seu PC e tente novamente. Se isso não funcionar, por favor nos contate pelo ${3}nosso grupo do Facebook${4}.","FAQ_22_H1":"Eu não posso ver/usar a maioria das Addons no iOS","FAQ_22_P1":"Devido as restrições nos termos e condições da loja da Apple, nós temos restringido somente aplicativos iOS de um grupo particular de Addons.","FAQ_22_P2":"Mas esteja avisado - haverão mais Addons para iOS no futuro, e nós poderemos também adicionar uma integração que permitirá o uso de todas Addons do Stremio graças a conexão do aplicativo iOS com o servidor de Streaming do Stremio."}')},65857:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Filme","TYPE_series":"Série","TYPE_tv":"Canal de TV","TYPE_channel":"Canal","TYPE_other":"Outro","TYPE_movie_PL":"Filmes","TYPE_series_PL":"Séries","TYPE_tv_PL":"TV","TYPE_channel_PL":"YouTube","TYPE_other_PL":"Outros","TYPE_ALL":"Tudo","TYPE":"Tipo","CATALOG_com_linvo_cinemeta_top":"Populares","CATALOG_com_linvo_cinemeta_imdbRating":"Em destaque","CATALOG_com_linvo_cinemeta_year":"Novidades","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Filmes de domínio público","VIDEO":"Vídeos","BACK":"Voltar","MORE":"Mais","DONE":"Concluído","COPY":"Copiar","SUCCESS":"Com sucesso","ERROR":"Erro","SETTINGS_CASTING_MODE_PICKER":"Modo de casting","CASTING_MODE_HLSV2":"Predefinido","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Sem transcodificação","Discover":"Explorar","Board":"Painel","Library":"Biblioteca","My Library":"A minha biblioteca","Calendar":"Calendário","NOTIFICATION_ONLINE":"Estás online","NOTIFICATION_OFFLINE":"Estás offline","INTERNET_CONNECTION":"Ligação à Internet","STORAGE_FULL_TITLE":"Aviso: Armazenamento cheio!","STORAGE_FULL_TEXT":"Não será possível guardar as definições ou informações de conta. Considera fechar o Stremio e voltar a abrir, caso este erro persista, poderás ter de reinstalar o Stremio.","SEARCH":"Pesquisar","SEARCH_NO_RESULTS":"Não foram encontrados resultados","SEARCH_EXPLANATION_CONTENT":"Pesquisa por filmes, séries, canais YouTube e de TV","SEARCH_EXPLANATION_PEOPLE":"Pesquisa por atores, realizadores e argumentistas","SEARCH_PASTE_LINKS":"Colar links HTTP e Magnet","SEARCH_OR_PASTE_LINK":"Pesquisa ou cola o link","SEARCH_SUGGESTIONS":"Sugestões de pesquisa","ADD_TO_LIB":"Adicionar à biblioteca","REMOVE_FROM_LIB":"Remover da biblioteca","ADDED_TO_LIB":"Adicionado à biblioteca","REMOVED_FROM_LIB":"Removido da biblioteca","TRAILER":"Trailer","WATCH_TRAILER":"Ver trailer","WATCH_NOW":"Ver agora","SHOW":"Mostrar","SHOW_MOVIE":"Mostrar filme","WATCH_RANDOM":"Ver aleatório","IMDB_RATING":"Classificação IMDb","YEAR":"Ano","DIRECTOR":"Realizador","WRITER":"Argumentista","LEAD_ACTORS":"Elenco principal","CAST":"Elenco","CREW":"Equipa técnica","SHOW_MORE_CAST":"Mostrar mais »","AIRED":"Transmissão original","SEASONS":"Temporadas","GENRE":"Género","GENRE_ALL":"Todos os géneros","CATALOG":"Catálogo","SUMMARY":"Sinopse","SHOW_MORE":"Mostrar mais","SIMILAR":"Semelhante","UPCOMING":"Próximos","ENDED":"Finalizados","DURATION":"Duração","FEATURED":"Destaque","METADATA":"Metadados","CATEGORY":"categoria","LINKS_GENRES":"Géneros","LINKS_CAST":"Elenco","LINKS_DIRECTORS":"Realizadores","SEARCH_VIDEOS":"pesquisar vídeos","SEARCH_PLACEHOLDER":"pesquisar ou colar link","ADDON":"Addon","ADDONS":"Addons","OFFICIAL":"oficial","ADDONS_OFFICIAL":"Addons oficiais do Stremio","ADDONS_POPULAR":"Populares na tua área","ADDON_FREE":"gratuito","ADDON_PEERED":"partilhado","ADDON_SUBSCRIPTION":"subscrição","ADDON_STREAM_GEORESTRICTED":"indisponível no teu país","ADDON_STREAM_OFFLINECACHE":"Cache offline","ADDON_STREAM_LOCALFILE":"Ficheiro local","SHARE_ADDON":"Partilhar addon","AVAILABLE_STREAMS":"Streams disponíveis","NO_STREAM":"Nenhuma stream disponível","ALL_ADDONS":"Tudo","INSTALL_MORE_ADDONS":"Para mais streams, por favor, instala mais addons","STREAM_NOT_SUPPORTED":"A stream escolhida não é suportada nesta plataforma.","ADDON_CATALOGUE":"Mostrar todos os addons »","ADDON_CATALOGUE_MORE":"Instalar addons »","REPO_ADDED":"Repositório adicionado","ADDON_REPO_EXIST_ERR":"Esta coleção de addons já existe","ADDON_REPO_ERR":"Ocorreu um erro ao adicionar a coleção","ADDON_ADD_ERR":"Ocorreu um erro ao adicionar o addon","ERR_ADDON_PROTECTED":"Não é possível desinstalar o addon, é protegido","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Ocorreu um erro - a autenticação falhou.","ERR_NOT_COLLECTION_URL":"Não é um link de coleção","ERR_NOT_ADDON_URL":"Não é um link de addon válido","ERR_DETECTFROMURL":"Não foi possível detetar o addon pelo link","ADDON_DUPLICATE_WARNING":"Aviso: addon duplicado","ADDON_COLLECTION_SET_FAILED":"A sincronização dos addons instalados para a tua conta falhou","SETTINGS_DATA_EXPORT":"Exportar dados","ADDON_PULL_FAILED":"A sincronização dos addons instalados a partir da tua conta falhou","REFRESH_ON_CLICK":"Clica para tentar novamente","STILL_IN_THEATER":"Filme ainda nos cinemas","WATCH_IN_CINEMA":"Vê-o no cinema mais perto de ti","IN_THEATER":"Nos cinemas","GET_TICKETS":"Obter bilhetes","UPCOMING_EPISODE":"Próximo episódio","UPCOMING_EPISODE_MESSAGE":"Este episódio estará disponível brevemente","MISSING_DATE_EPISODE":"Data do episódio em falta","MISSING_DATE_EPISODE_MESSAGE":"Este episódio ainda não foi transmitido","CHANNEL_NOT_SCRAPED":"Este canal não está disponível.<br>Volta a tentar dentro de minutos.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Adiciona à biblioteca para receberes notificações quando estiver disponível.","GET_NOTIFIED_WHEN_AVAILABLE":"Serás notificado quando estiver disponível.","WARNING_STREAMING_SERVER":"Atenção: o servidor de transmissão local não foi encontrado. A transmissão através do YouTube e BitTorrent não estará disponível.","WARNING_STREAMING_SERVER_DISMISS":"Dispensar","WARNING_STREAMING_SERVER_LATER":"Mais tarde","DECODER_WARNING":"Atenção: provavelmente este vídeo não é compatível com o teu hardware. Tem em conta de que a reprodução poderá ser lenta.","GENERIC_ERROR_MESSAGE":"Alguma coisa correu mal!","TRY_AGAIN":"Tentar novamente","CLEAR_DATA":"Limpar dados","PLAYER_ERROR":"Ups, ocorreu um erro na reprodução","PLAYER_ERROR_LOOKSLIKE":"Isto parece ser","PLAYER_ORIENTATION":"Orientação da reprodução","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Bloqueado","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensor","PLAYER_ORIENTATION_LANDSCAPE":"Reprodução bloqueada no modo paisagem","PLAYER_ORIENTATION_SENSOR":"Reprodução automática (sensor)","PLAYER_PLAYBACK_SPEED":"Velocidade de reprodução","PLAYER_PLAYBACK_ERROR":"Erro de reprodução, tente novamente","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Erro desconhecido","PLAYER_PLAYBACK_ERROR_DEFAULT":"Pedimos desculpa, este vídeo não pode ser transmitido por {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Idioma das legendas","PLAYER_SUBTITLES_VARIANTS":"Variantes das legendas","PLAYER_SUBTITLES_SETTINGS":"Definições das legendas","PLAYER_SUBTITLES_DISABLED":"As legendas estão desativadas","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Posição vertical","PLAYER_SUBTITLES_LOADED":"Legendas carregadas","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Legendas incorporadas carregadas","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Legendas exclusivas carregadas","PLAYER_SUBTITLES_LOADED_ORIGIN":"Legendas de {{origin}} carregadas","PLAYER_PLAY":"Reproduzir","PLAYER_PAUSE":"Colocar em pausa","PLAYER_NEXT_VIDEO":"Próximo vídeo","PLAYER_MUTE":"Silenciar","PLAYER_UNMUTE":"Ativar som","PLAYER_OPEN_IN_EXTERNAL":"Abrir num leitor externo","PLAYER_OPEN_IN_NPLAYER":"Abrir no nPlayer","PLAYER_PLAY_IN":"Reproduzir no {{device}}","PLAYER_LIVE":"Direto","PLAYER_NEXT_VIDEO_TITLE":"Próximo","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Próximo","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Fechar","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Ver agora","PLAYER_COPY_STREAM_SUCCESS":"O link da stream foi copiado para a tua área de transferência","PLAYER_COPY_STREAM_ERROR":"Falha ao copiar o link da stream","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"O link de transferência foi copiado para a tua área de transferência","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Falha ao copiar o link de transferência","STREAMING_FROM":"A transmitir de","CASTING_TO":"A transmitir para","NETWORK_STATUS":"Estado da rede","STREAM_SPEED":"Velocidade de receção:","STREAM_BUFFERED":"Carregado:","PEERS_INFO":"Informação dos pares","PEERS_ACTIVE":"Ativo:","PEERS_CONNECTED":"Ligado:","PEERS_WAITING":"À espera:","TRANSCODING_WARNING":"Atenção: a transcodificar vídeo.","STREAM_LOADING":"a carregar...","PLAYING_LOCAL":"a reproduzir a partir de um ficheiro local","PLAYING_CACHE":"a reproduzir a partir da cache","WRONG_SUBS":"Legendas incorretas","ERR_SUBS_LOADING_TITLE":"Erro ao carregar as legendas","ERR_SUBS_LOADING":"Não foi possível carregar as legendas, poderá haver um erro no addon que estás a utilizar ou com a tua ligação à Internet","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Não foi possível carregar as seguintes legendas","ERR_CASTING_UPDATE_TITLE":"Não foi possível atualizar as informações do dispositivo de transmissão: o servidor de transmissão pode estar offline","CHOOSE_DEVICE":"Escolhe um dispositivo para transmitir","NO_CAST_DEVICES":"Sem dispositivos de transmissão disponíveis.","NO_SETTINGS":"Não há definições disponíveis.","PHONE_TABLET":"Telemóvel / Tablet","SUBTITLES":"Legendas","SUBTITLES_CHANGE":"Alterar legendas para ","SUBTITLES_CHANGE_NONE":"Desculpa, mas não existe mais legendas para este idioma","SUBTITLES_CHANGE_ACIVE":"As legendas &#35;{{subtitlesDialog.activeIdx + 1}} estão ativas. Clica em \\"Continuar\\" para ativar as legendas &#35;{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Alternativamente,","SUBTITLES_ADJUST_DELAY":"Ajusta o atraso das legendas:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Ou utiliza as teclas <span>G</span> / <span>H</span> para ajustar os tempos.","SUBTITLES_ADJUST_DELAY_TIP":"Dica: Podes utilizar as teclas <span>G</span> / <span>H</span> durante a reprodução para ajustar.","SUBTITLES_DELAY":"Atraso de legendas:","SUBTITLES_LOADING":"A carregar as legendas...","SUBTITLES_UNAVAILABLE":"Não há legendas externas disponíveis","SUBTITLES_DISABLED":"Desativado","EXTERNAL_PLAYER_DISABLED":"Desativado","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Permitir a escolha","EXTERNAL_PLAYER_HINT":"Dica: Existe uma definição que permite abrir sempre com um leitor externo","DONT_SHOW_AGAIN":"Não mostrar novamente","SERVICE_INSTALL":"Instalar","AUDIO":"Áudio","DEFAULT_LANGUAGE":"Idioma predefinido","DEFAULT_SECONDARY_LANGUAGE":"Idioma secundário predefinido","SEASON":"Temporada","EPISODE":"Episódio","EPISODE_ABBREVIATION":"EP","SPECIAL":"Especiais","SORT":"Ordenar","SORT_BY":"Ordenar por","FILTER":"Filtro","SORT_TRENDING":"Tendências","SORT_RECENT":"Recentes","SORT_ALPHABET":"A-Z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"Classificação","SORT_WATCHED":"Vistos","SORT_YEAR":"Ano","SELECT_TYPE":"Selecionar tipo","SELECT_SORT":"Selecionar ordem","SELECT_CATALOG":"Selecionar catálogo","SELECT_GENRE":"Selecionar género","SORT_LASTWATCHED":"Últimos vistos","SORT_NAME":"Ordem alfabética","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"Número de vezes que foi visto","SORT_NOTWATCHED":"não visto","New for You":"Novo para ti","New Episodes":"Novos episódios","New Videos":"Novos vídeos","Recommendations":"Recomendações","LIBRARY_RESUME":"Retomar","LIBRARY_PLAY":"Reproduzir","LIBRARY_DETAILS":"Detalhes","LIBRARY_RESUME_DISMISS":"Fechar","LIBRARY_CLEAR_PROGRESS":"Limpar progresso","LIBRARY_REMOVE":"Remover","LIBRARY_NOT_LOGGED_IN":"A biblioteca apenas está disponível para utilizadores com a sessão iniciada","CALENDAR_NOT_LOGGED_IN":"O calendário apenas está disponível para utilizadores com a sessão iniciada","NOT_LOGGED_IN_CLOUD":"Acede aos teus filmes e séries favoritas a qualquer altura, em qualquer lugar","NOT_LOGGED_IN_RECOMMENDATIONS":"Recomendações adaptadas ao teu histórico de visualizações","NOT_LOGGED_IN_NOTIFICATIONS":"Nunca percas um episódio outra vez","NOT_LOGGED_IN_CALENDAR":"Programa o teu calendário de visualizações pessoal","DISCOVER_FEATURED":"Em destaque","DISCOVER_TOP":"Populares","DISCOVER_OSCAR":"Vencedores de Óscares","DISCOVER_WARNING_TITLE":"Ups!","DISCOVER_EMPTY_CATALOG":"Este addon não possui conteúdo.","DISCOVER_ADULT_WARNING":"Este conteúdo é apenas para adultos. Tens mais de 18 anos?","DISCOVER_NOADDON_WARNING":"Atenção: nenhum addon do Stremio ativo para este tipo. Ao exibir ficheiros guardados, nada será atualizado.","DISCOVER_LOAD_ERR":"Ocorreu um erro e não foi possível carregar o conteúdo.","DISCOVER_ADDON_UNINSTALLED":"Este conteúdo já não está disponível, poderás ter de reinstalar o addon.","UNINSTALL_THIS_ADDON":"Desinstalar este addon","ERR_ADDON_NOT_INSTALLED":"Este addon não está instalado. Instalar agora?","DETAIL_RECEIVE_NOTIF_SERIES":"Receber notificações de novos episódios.","DETAIL_RECEIVE_NOTIF_VIDEOS":"Receber notificações de novos vídeos.","SIDEBAR_SHOW_STREAMS":"Mostrar streams","RELAUNCH":"Reiniciar agora!","UPGRADE":"Está disponível uma nova versão! Atualiza para a versão mais recente do Stremio","RELOAD_UI":"Recarregar interface","MANUAL_UPDATE_TITLE":"Atualiza para uma versão do Stremio mais recente.","MANUAL_UPDATE_LINE1":"Estás a utilizar uma versão do Stremio que se encontra desatualizada, é recomendável que atualizes para a versão mais recente.","MANUAL_UPDATE_LINE2":"Atualiza assim que for possível.","BUTTON_UPDATE_LATTER":"Agora não","BUTTON_UPDATE_NOW":"Atualizar","ANONYMOUS_USER":"Utilizador anónimo","DONT_HAVE_ACC":"Não tens uma conta?","HAVE_ACC":"Já tens conta?","PASSWORD":"Palavra-passe","PASSWORD_CONFIRM":"Confirmar palavra-passe","EMAIL":"E-mail","FB_LOGIN":"Iniciar sessão com o Facebook","FB_NOTHINGSHARED":"Nada é partilhado sem a tua permissão","FB_NOPOST":"Não publicaremos nada na tua cronologia","OR":"ou","I_ACCEPT":"Aceito os","I_ACCEPT_BY_CLICKING":"Ao clicar no botão acima certifico-me de que aceito os ","TOS":"Termos e condições","MUST_ACCEPT_TERMS":"Deves aceitar os Termos e condições","PASSWORDS_NOMATCH":"As palavras-passe não coincidem","SIGN_UP":"Registar","SIGN_UP_EMAIL":"Regista-te com um e-mail","CLICK_TO_SIGN_UP":"Clica aqui para te registares.","LOG_IN":"Iniciar sessão","LOG_OUT":"Terminar sessão","EXIT_FULLSCREEN":"Sair do modo de ecrã inteiro","ENTER_FULLSCREEN":"Abrir em modo de ecrã inteiro","PLAY_URL_MAGNET_LINK":"Abrir URL/Magnet link","HELP_FEEDBACK":"Ajuda e feedback","TERMS_OF_SERVICE":"Termos de utilização","PRIVACY_POLICY":"Política de privacidade","ABOUT_STREMIO":"Sobre o Stremio","USER_PANEL":"Painel do utilizador","LOGIN_LABEL":"Iniciar sessão","GUEST_LOGIN":"Iniciar sessão como convidado","GUEST_LOGIN_NOTICE":"Não recomendamos que inicies sessão como convidado. Regista-te para que o Stremio sincronize a tua biblioteca e te mostre notificações das tuas séries/canais. Tens a certeza de que queres continuar?","GUEST_LOGIN_NOTICE_2":"Não recomendamos que inicies sessão como convidado - não vais ter acesso à tua biblioteca nem às notificações do painel, sendo estas funcionalidades vitais do Stremio. Tens a certeza de que queres continuar?","CLICK_HERE":"Clica aqui","WRONG_PASSWORD":"Palavra-passe incorreta. Caso te tenhas esquecido da tua palavra-passe, ","SET_A_PASS":"Introduz uma nova palavra-passe","RESET_PASSWORD":"Redefinir palavra-passe","FORGOT_PASSWORD":"Esqueceste-te da tua palavra-passe?","EMAIL_USED_WITH_FB":"Este e-mail foi utilizado com uma sessão do Facebook.","INVALID_EMAIL":"Introduzir um e-mail válido","INVALID_PASSWORD":"Introduzir uma palavra-passe válida","CONN_ERR":"Erro de ligação - Por favor, tenta novamente mais tarde.\\n\\nSe o problema persistir, desativa ou configura a tua firewall e/ou o teu anti-vírus (principalmente o Bitdefender).","IMPORT_FROM_GUEST":"Importar biblioteca a partir da conta de convidado","RECEIVE_UPDATES_EMAIL":"Receber notificações do Stremio por e-mail","LOGIN_FAILED":"O início de sessão falhou.","SIGNUP_FAILED":"O registo falhou.","SEARCH_FAILED":"A pesquisa falhou","EMAIL_USED":"Este e-mail já está a ser utilizado.","WAITING_FB_LOGIN":"Iniciar sessão com o Facebook...","EXTERNAL_PLAYER_TITLE":"Abrir com um leitor de vídeo externo","EXTERNAL_REMEMBER_PLAYER":"Relembrar a tua escolha?","EXTERNAL_ALWAYS_PLAY":"Sim","EXTERNAL_ONLY_ONCE":"Não","BEST_FIT":"Melhor ajuste","FIT_SCREEN":"Ajustar ao ecrã","FILL":"Ajustar","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"Diz-nos do que gostas","INTRO_TASTE_LONG":"Conta-nos sobre o que gostas de ver","INTRO_TASTE_PICK":"Seleciona {{interestsRemaining}} dos teus interesses","INTRO_TASTE_PICK_MORE":"Seleciona mais {{interestsRemaining}} dos teus interesses","INTRO_TASTE_HELP_US":"Ajuda-nos a saber mais sobre ti.","INTRO_TASTE_CHOOSE_THESE":"Escolhe alguns destes:","INTRO_TASTE_CHOOSE_MIN":"Escolhe pelo menos 3 categorias","INTRO_TASTE_CHOOSE_MIN_ERR":"Tens de escolher pelo menos 3 categorias!","INTRO_TASTE_LIFESTYLE":"Estilo de vida","INTRO_TASTE_SPORTS":"Desporto","INTRO_TASTE_FOOD_HEALTH":"Gastronomia e saúde","INTRO_TASTE_BEAUTY_FASHION":"Moda e beleza","INTRO_TASTE_NEWS":"Notícias","INTRO_TASTE_GAMING":"Videojogos","INTRO_TASTE_SCIENCE_EDU":"Ciência e educação","INTRO_TASTE_MUSIC":"Música","INTRO_TASTE_TRAVEL":"Viagens","INTRO_TASTE_LATE_NIGHT":"Late night show","INTRO_TASTE_REALITY":"Reality show","INTRO_TASTE_COMEDY":"Comédia","INTRO_TASTE_DIY":"Faz tu mesmo","INTRO_TASTE_TECH":"Tecnologia","INTRO_TASTE_CINEMA":"Cinema","ADDON_NOT_SUPPORTED":"O addon selecionado não é suportado nesta plataforma.","ADDON_DISCLAIMER":"Ao utilizares um addon de terceiros estarás sujeito à tua responsabilidade e às leis do governo onde estás localizado.","ADDON_ACTIVATE":"Ativar este addon?","ADDON_REPO_ADD":"URL do repositório do addon","ADDON_ADD":"Adicionar","INSTALL_ADDON":"Instalar addon","ADD_ADDON":"Adicionar addon","ADD_ADDON_DESCRIPTION":"Podes adicionar um addon através de um link externo, que aparecerá nos Addons instalados.","PASTE_ADDON_URL":"Colar URL do addon","WHATS_NEW":"Novidades","BUTTON_CONTINUE":"Continuar","BUTTON_ACTIVATE":"Ativar","BUTTON_ACTIVATED":"Ativo","BUTTON_CANCEL":"Cancelar","BUTTON_SUBMIT":"Submeter","BUTTON_DISMISS_ALL":"Fechar tudo","BUTTON_VIEW_ALL":"Ver tudo","BUTTON_SEE_ALL":"Ver tudo","BUTTON_COLOR_TRANSPARENT":"Transparente","OPEN_IN_BROWSER":"Abrir no navegador","LIB_EMPTY":"A tua biblioteca está vazia. Descobre o quão útil pode ser :) ","HOW_START":"Aqui está como podes começar:","LIB_EMPTY_CAL":"O teu calendário mostra as séries da biblioteca.","HOW_START_CAL":"Aqui está como podes adicionar uma série:","LIB_EMPTY_BOARD":"O painel mostra notificações e recomendações relacionadas com a tua biblioteca.","HOW_START_BOARD_WAIT":"Por favor, adiciona algumas séries ou canais à tua biblioteca e dá-nos uns instantes para as processar :)","HOW_START_BOARD":"Aqui está como podes adicionar séries e filmes:","IMPORT_FB":"Importar coisas de que gostas do <span>Facebook</span>","IMPORT_TRAKT":"Importar a tua biblioteca do <span>Trakt</span>","IMPORT_DISCOVER":"Encontra coisas interessantes em <span>Explorar</span>","IMPORT_DISK":"Importar filmes ou séries que\\ntenhas no <span>disco local</span>","PLEASE_CREATE_ACC":"Por favor, <u>cria uma conta</u> para ativar a sincronização da biblioteca e do painel.","IMPORT_DISCOVER_SIGNUP":"Regista-te e encontra coisas interessantes em <span>Explorar</span>","IMPORT_DISK_SIGNUP":"Regista-te e importa filmes ou programas que tenhas no <span>disco local</span>","LIB_EMPTY_CLOUD":"Biblioteca na nuvem","LIB_EMPTY_CLOUD_DESC":"A biblioteca pessoal na nuvem sincroniza todos os teus dispositivos","LIB_EMPTY_EARLY":"Chegaste demasiado cedo","LIB_EMPTY_EARLY_DESC":"Receber notificações quando existirem episódios disponíveis","LIB_EMPTY_PERSONAL":"Privado","LIB_EMPTY_PERSONAL_DESC":"Receber recomendações pessoais","LIB_EMPTY_CALENDAR_DESC":"Agenda no teu calendário pessoal de visualização","LIB_EMPTY_ALL":"Inicia sessão para obteres tudo isto:","LIB_EMPTY_BEST":"Inicia sessão para obteres o melhor do Stremio","LIB_EMPTY_OTHER":"Inicia sessão para ativares o calendário e outras funcionalidades incríveis","CALENDAR_ADDED":"O calendário do Stremio foi adicionado ao calendário do teu computador.","CALENDAR_ADDED_MSG":"Se isto não funcionar, adiciona manualmente este link ao calendário","TRAKT_EXPIRED":"A autenticação do Trakt expirou. Acede às Definições e volta a autenticar-te","TRAKT_REQUIRES_LOGIN":"Erro do Trakt","TRAKT_REQUIRES_LOGIN_MSG":"Precisas de iniciar sessão","TRAKT_IMPORT_WATCHED":"Importar","THEME":"Tema","THEME_DEFAULT":"Predefinido","THEME_ADAPTIVE":"Adaptativo","SETTINGS_LABEL":"Definições","SETTINGS_NAV_GENERAL":"Geral","SETTINGS_NAV_PLAYER":"Leitor","SETTINGS_NAV_STREAMING":"Streaming","SETTINGS_NAV_SHORTCUTS":"Atalhos","SETTINGS_SHORTCUT_RELOAD_APP":"Recarregar app","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Abrir definições","SETTINGS_SHORTCUT_SWITCH_TABS":"Alternar separadores","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Avançar no ciclo de separadores","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Voltar atrás no ciclo de separadores","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navega entre menus","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Ir para a pesquisa","SETTINGS_SHORTCUT_EXIT_BACK":"Sair / Voltar atrás","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Alternar menu de velocidade de reprodução","SETTINGS_SHORTCUT_MENU_VIDEOS":"Alternar menu de vídeos","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Alternar menu das legendas","SETTINGS_SHORTCUT_MENU_INFO":"Alternar menu das informações","SETTINGS_SHORTCUT_FULLSCREEN":"Entrar / Sair do modo de ecrã inteiro","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Mostrar controlos","SETTINGS_SHORTCUT_PLAY_PAUSE":"Reproduzir / Colocar em pausa","SETTINGS_SHORTCUT_VOLUME_UP":"Aumentar o volume","SETTINGS_SHORTCUT_VOLUME_DOWN":"Diminuir o volume","SETTINGS_SHORTCUT_SEEK_NEXT":"Avançar na reprodução","SETTINGS_SHORTCUT_SEEK_PREV":"Recuar na reprodução","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Retroceder","SETTINGS_SHORTCUT_SEEK_FORWARD":"Avançar","SETTINGS_SHORTCUT_PLAY_NEXT":"Reproduzir próximo","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Aumentar o tamanho das legendas","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Diminuir o tamanho das legendas","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Aumentar o atraso das legendas","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Diminuir o atraso das legendas","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Mostrar / Ocultar barra lateral","SETTINGS_SHORTCUT_OR":"ou","SETTINGS_SHORTCUT_TO":"para","SETTINGS_SHORTCUT_SPACE":"Espaço","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Autenticar-me","SETTINGS_FACEBOOK_IMPORT":"Importar","SETTINGS_CALENDAR_SUBSCRIBE":"Subscrever","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"A aplicação de calendário foi aberta. Por favor, subscreve o calendário manualmente.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"O ficheiro do calendário foi transferido. Por favor, importa-o para a tua aplicação de calendário.","SETTINGS_INTERFACE_LANGUAGE":"Idioma da interface","SETTINGS_LAUNCH_STARTUP":"Iniciar com o sistema","SETTINGS_VLC_DEFAULT":"Reproduzir com o VLC","SETTINGS_UI_LANGUAGE":"Idioma","SETTINGS_UI_ZOOM":"Zoom da interface","SETTINGS_FULLSCREEN_EXIT":"Clica em ESC para sair do ecrã inteiro","SETTINGS_GAMEPAD":"Ativar o suporte do comando de jogos (Gamepad)","SETTINGS_CLOSE_WINDOW":"Fechar o Stremio quando fechar a janela","SETTINGS_SUBTITLES_LANGUAGE":"Idioma predefinido das legendas","SETTINGS_SUBTITLES_SIZE":"Tamanho predefinido das legendas","SETTINGS_SUBTITLES_BACKGROUND":"Fundo das legendas","SETTINGS_SUBTITLES_COLOR":"Cor das legendas","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Cor de contorno das legendas","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Cor de fundo das legendas","SETTINGS_SEEK_KEY":"As teclas de seta avançam / retrocedem no tempo","SETTINGS_SEEK_KEY_SHIFT":"As teclas de seta avançam / retrocedem no tempo quando a tecla Shift é pressionada","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Duração do retrocesso e do avanço rápido","SETTINGS_BINGE":"Reproduzir o próximo episódio automaticamente","SETTINGS_NEXT_VIDEO":"Mostrar uma notificação ao iniciar o próximo episódio.","SETTINGS_NEXT_VIDEO_TRIGGER":"Mostrar uma notificação ao iniciar o próximo episódio para:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Duração do pop-up do próximo vídeo","SETTINGS_PLAY_IN_BACKGROUND":"Reproduzir em plano de fundo","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Reproduzir num leitor externo","SETTINGS_RESIZE":"Redimensionar automaticamente a janela antes de reproduzir","SETTINGS_OVERRIDE_SERVER":"Substituir o URL do servidor de streaming (avançado)","SETTINGS_SERVER_URL":"URL do servidor de streaming: ","SETTINGS_SERVER_AVAILABLE":"O servidor de streaming está disponível.","SETTINGS_SERVER_UNAVAILABLE":"O servidor de streaming não está disponível.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Erro","SETTINGS_SERVER_CONFIGURE_TITLE":"Configurar o URL do servidor de streaming","SETTINGS_SERVER_CONFIGURE_INPUT":"Introduz um URL de servidor de streaming","SETTINGS_SERVER_CACHE_SIZE":"Tamanho da cache","SETTINGS_SERVER_TORRENT_PROFILE":"Perfil do torrent","SETTINGS_HTTPS_ENDPOINT":"Endpoint de streaming HTTPS: ","SETTINGS_TRANSCODE_PROFILE":"Perfil de transcodificação","SETTINGS_USE_BETA":"Utilizar sempre a última versão Beta","SETTINGS_IMPORT_FB":"Importar do Facebook","SETTINGS_IMPORT_DISK":"Importar do disco local","SETTINGS_IMPORT_TRAKT":"Importar do Trakt","SETTINGS_PAUSE_MINIMIZED":"Colocar a reprodução em pausa quando minimizado","SETTINGS_HWDEC":"Transcodificação acelerada por hardware","SETTINGS_BACKGROUND":"Reprodução em segundo plano","SETTINGS_SUBSCRIBE_CALENDAR":"Subscrever calendário","SETTINGS_REQ_EXPORT":"Exportar dados","SETTINGS_ACC_DELETE":"Pedir a eliminação da conta","SETTINGS_CHANGE_PASSWORD":"Alterar palavra-passe","SETTINGS_TOS":"Termos de utilização","SETTINGS_SUPPORT":"Contactar o suporte","SETTING_LANGUAGE":"Idioma","SETTINGS_TRAKT":"Recomendações do Trakt","SETTINGS_TRAKT_LOGOUT":"Terminar sessão do Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Terminar sessão do Trakt","SETTINGS_SCAN_FOR_REMOTE":"Lê o código QR para abrir remotamente","SETTINGS_DESKTOP_NOTIFICATIONS":"Notificações no computador","SETTINGS_DATA_SAVER":"Economizador de dados","SETTINGS_LANGUAGE_INTERFACE":"interface","SETTINGS_LANGUAGE_SUBS":"Legendas predefinidas","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Selecionar automaticamente o ficheiro de áudio","SETTINGS_DEFAULT_AUDIO_TRACK":"Ficheiro de áudio predefinido","SETTINGS_SURROUND_SOUND":"Som surround","SETTINGS_ACCOUNT":"Conta","SETTINGS_PLATFORM":"Plataforma","SETTINGS_VERSION":"versão","SETTINGS_ABOUT":"Acerca de","SETTINGS_MPV_WINDOW":"Abrir leitor numa janela em separado (avançado)","SETTINGS_PLAY_IN_EXTERNAL":"Abrir sempre num leitor externo","SETTINGS_STORAGE_BUTTON":"Limpar armanezamento local","SETTINGS_STORAGE_MODAL_TITLE":"Tens a certeza?","SETTINGS_STORAGE_MODAL_MESSAGE":"Esta ação fará com que o armazenamento seja limpo e termine a tua sessão.","SETTINGS_HWDEC_PICKER":"Escolhe a configuração de decodificação acelerada por hardware","SETTINGS_HW_AUTOMATIC":"Automático","SETTINGS_HW_DISABLED":"Desativado","SETTINGS_HW_ACCELERATED":"Aceleração de decodificação","SETTINGS_HW_FULL":"Aceleração total","SETTINGS_HW_LEGACY":"Legado","SETTINGS_DISABLED":"Desativado","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Notificação de ligação à Internet","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"URL remoto","SETTINGS_COPY_REMOTE_URL":"Copiar URL remoto","SETTINGS_REMOTE_URL_COPIED":"URL remoto copiado para a tua área de transferência","SETTINGS_SECTION_SUBTITLES":"Legendas","SETTINGS_SECTION_AUDIO":"Áudio","SETTINGS_SECTION_CONTROLS":"Controlos","SETTINGS_SECTION_AUTO_PLAY":"Reprodução automática","SETTINGS_SECTION_ADVANCED":"Avançadas","SUBSPICKER_AUDIO":"Áudio","SUBSPICKER_SUBTITLES":"Legendas de addons","SUBSPICKER_BLACK_BACKGROUND":"Utilizar cor de fundo preta","SUBSPICKER_VERTICAL_OFFSET":"Compensação vertical","SUBSPICKER_SIZE":"Tamanho","SUBSPICKER_DELAY":"Atraso","SUBSPICKER_EMBEDDED_SUBS":"Legendas incorporadas","MOBILE_PRIVACY_POLICY":"Política de privacidade","MOBILE_CRASH_REPORTING":"Relatório de avarias","MOBILE_ZOOM_TO_FILL":"Zoom para preencher o ecrã","MOBILE_PASSTHROUGH":"Saída de áudio digital (passthrough)","MOBILE_RUN_LOW_BATTERY":"Executar com a bateria fraca","MOBILE_RUN_FOREGROUND":"Executar como serviço de primeiro plano","MOBILE_PERFORMANCE":"DESEMPENHO E ESTABILIDADE","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"O código QR expira em ","MOBILE_LOG_INTO":"Inicia sessão na tua conta Stremio ","MOBILE_SCAN_QR":"Lê o código QR acima ou vai a ","MOBILE_LINK_ACCOUNT":"Ligar conta","MOBILE_SPEEDPICKER_CANCEL":"Cancelar","MOBILE_SPEEDPICKER_LABEL":"Selecionar velocidade de reprodução","MOBILE_EMPTY_LIBRARY":"A tua biblioteca está vazia","MOBILE_NO_ADDON_ACTIVE":"Nenhum addon do Stremio ativo para este tipo.","MOBILE_ORGANIZER_WARNING":"A app Stremio Organizer dá-te apenas acesso a funcionalidades limitadas. Para uma lista de streams reproduzíveis e para teres a experiência Stremio completa, utiliza o Stremio no desktop.","MOBILE_ADDON_LOADING":"ainda está a carregar","MOBILE_ADDONS_LOADING":"os addons ainda estão a carregar","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Configura o teu addon","MOBILE_CONFIGURE_ADDON_LABEL":"Configurar addon","MOBILE_ORGANIZER_ADDONS_WARNING":"A app Stremio Organizer dá-te apenas acesso a uma seleção limitada de addons. Para teres a experiência Stremio completa, utiliza o Stremio no computador.","MOBILE_DISCONNECT":"Desligar","MOBILE_LOOKING_FOR_DEVICES":"À procura de dispositivos...","MOBILE_CAST_TO":"Transmitir para","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Eliminar conta","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"A eliminação da conta não é imediata devido a obrigações legais. Depois de pedires a eliminação da tua conta, terás de utilizar um endereço de e-mail/perfil do Facebook diferente para criares uma nova conta do Stremio no futuro.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirmar a eliminação da conta","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"A tua conta foi criada através do Facebook. Para eliminares a tua conta, utiliza o nosso portal do utilizador em www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Por favor, introduz a tua palavra-passe para confirmar a eliminação da conta.","MOBILE_DELETE_ACCOUNT_BUTTON":"Eliminar conta","NAVIGATION_ON":"Ligado","NAVIGATION_OFF":"Desligado","MARKETING_AGREE":"Concordo em receber comunicações de marketing do Stremio","QUIT":"Sair","CONNECTED":"Ligado","AUTHENTICATE":"Autenticar-me","CACHING":"Caching","SETTINGS_CACHING_DRIVE":"Seleciona a unidade para cache","ENABLE_LOCAL_FILES_ADDON":"Ativa o addon de ficheiros locais (requer reinicialização)","LOCAL_ADDON_NOT_ENABLED":"O addon local não está ativado. Clica aqui para ires às definições e ativá-lo","ENABLE_REMOTE_HTTPS_CONN":"Ativar conexões HTTPS remotas","TORRENT_PROFILE":"Perfis de torrents","DATA_CACHING":"Caching de dados","MAGNET_PARSING":"A analisar o magnet link","January":"janeiro","February":"fevereiro","March":"março","April":"abril","May":"maio","June":"junho","July":"julho","August":"agosto","September":"setembro","October":"outubro","November":"novembro","December":"dezembro","Monday":"segunda-feira","Tuesday":"terça-feira","Wednesday":"quarta-feira","Thursday":"quinta-feira","Friday":"sexta-feira","Saturday":"sábado","Sunday":"domingo","Action":"Ação","Comedy":"Comédia","War":"Guerra","Family":"Família","Animation":"Animação","Adventure":"Aventura","Fantasy":"Fantasia","Crime":"Crime","Mystery":"Mistério","Romance":"Romance","Drama":"Drama","Horror":"Terror","Thriller":"Thriller","Sci-Fi":"Ficção científica","Music":"Música","Biography":"Biografia","Documentary":"Documentário","Sport":"Desporto","Musical":"Musical","Western":"Western","Film-Noir":"Film-noir","News":"Notícias","History":"História","Game-Show":"Concursos","Reality-TV":"Reality show","Talk-Show":"Talk-show","Film & Entertainment":"Filmes e entretenimento","Gaming":"Videojogos","From TV":"Da TV","Lifestyle":"Estilo de vida","Science & Education":"Ciência e Educação","Cooking & Health":"Culinária e Saúde","Beauty & Fashion":"Beleza e Moda","Sports":"Desporto","News & Politics":"Notícias e política","How-to & DIY":"Faz por ti mesmo","Tech":"Tecnologia","Automotive":"Automobilismo","Causes & Non-Profits":"Causas e ações sem fins lucrativos","Movies":"Filmes","Uk Live Tv":"Reino Unido","Fashion":"Moda","Business News Radio":"Negócios (Rádio)","Business Tv":"Negócios","Cars & Auto":"Automobilismo","Comedy Radio":"Comédia (Rádio)","Lifestyle Radio":"Estilo de vida (Rádio)","News Tv":"Notícias","Food And Wine":"Gastronomia e vinicultura","Latino Tv":"Latino","Shopping Tv":"Compras","Religion":"Religião","Kids":"Infantil","Body & Soul":"Corpo e alma","Education":"Educação","Indian Tv":"Índia","Extreme Sports":"Desportos radicais","Middle Eastern Tv":"Médio Oriente","Celebrity Tv":"Celebridades","Science Tv":"Ciência","Bikini babe":"Biquíni","Outdoors":"Ar livre","German Tv":"Alemanha","French Tv":"França","Italian Tv":"Itália","Gamer Tv":"Videojogos","Travel":"Viagens","Asian Tv":"Ásia","Entertainment":"Entretenimento","News Radio":"Notícias (Rádio)","Music Radio":"Música (Rádio)","Language Learning":"Aprender idiomas","Science Radio":"Ciência (Rádio)","Tech Radio":"Tecnologia (Rádio)","Science & Technology Vod":"Ciências e Tecnologias (VOD)","new video":"novo vídeo","new episode":"novo episódio","new movie":"novo filme","recommended":"recomendado","we recommend":"recomendamos","offer of the day":"oferta do dia","news":"notícias","music video":"Videoclipe","CTX_SHOW_HOTKEYS":"Mostrar teclas de acesso rápido","CTX_DISMISS_NOTIF":"Descartar notificação","CTX_DISMISS_ALL":"Descartar todas","CTX_SHARE":"Partilhar","CTX_COPY_SHARE_LINK":"Copiar link de partilha","CTX_COPY_MAGNET_LINK":"Copiar o magnet link","CTX_COPY_STREAM_LINK":"Copiar link de transmissão","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copiar o link de transferência do vídeo","CTX_DOWNLOAD_VIDEO":"Transferir este vídeo","CTX_DOWNLOAD_SUBS":"Transferir as legendas","CTX_VIEW_ON_YOUTUBE":"Ver no YouTube","CTX_SHOW":"Mostrar","CTX_PLAY":"Reproduzir","CTX_PLAY_IN":"Reproduzir no","CTX_PLAY_ON":"Reproduzir no","CTX_WATCH_ON":"Ver em","CTX_WATCH":"Ver","CTX_WATCHED":"Visto","CTX_WATCH_BEGINNING":"Ver do início","CTX_WATCH_MOBILE":"Ver num dispositivo móvel","CTX_REWIND":"Retroceder para o início","CTX_MARK_WATCHED":"Marcar como visto","CTX_MARK_NON_WATCHED":"Marcar como não visto","CTX_MARK_UNWATCHED":"Marcar como não visto","CTX_MARK_REST":"Marcar o resto como visto.","CTX_UNMARK_REST":"Marcar o resto como não visto.","CTX_RECEIVE_NEW_NOTIF":"Receber novas notificações","CTX_ENABLE_NEW_NOTIF":"Ativar notificações","CTX_DISABLE_NEW_NOTIF":"Desativar notificações","CTX_REMOVE_CACHE":"Remover da cache","CTX_REMOVE_CACHE_EP":"Remover episódio da cache","CTX_OPEN_CONTAINING":"Abrir pasta com o conteúdo","CTX_REMOVE":"Remover da biblioteca","CTX_AVAILABLE_OFFLINE":"Disponível offline","CTX_PAUSED":"Em pausa","CTX_ALWAYS_ON_TOP":"Sempre visível","CTX_FULLSCREEN":"Ecrã inteiro","CTX_WRONG_SUBS":"Legendas incorretas?","CTX_REPORT_ISSUES":"Reportar problema","CTX_COPY":"Copiar","CTX_PASTE":"Colar","CTX_CLEAR":"Limpar","CTX_CLEAR_RECENT_SEARCHES":"Limpar pesquisas recentes","HELLO_THERE":"Olá!","HOPE_YOU_ENJOY":"Esperamos que gostes do Stremio e que seja uma das tuas aplicações favoritas!","WHO_ARE_WE":"Quem somos? Somos a equipa por detrás do projeto - dois rapazes que trabalham arduamente todos os dias durante os últimos 3 anos para melhorar cada vez mais este produto.","SUPPORT_US":"Se gostas de utilizar o Stremio e se o mesmo é importante para ti - divulga-o!","SPREAD_THE_WORD":"Partilha com os teus amigos, divulga-o","MORE_PEOPLE":"Quanto mais pessoas utilizarem o Stremio, melhor se tornará!","SEND_A_LINK":"Ou envia um link para o nosso site","TIP_LOCALFILES":"Dica: podes arrastar e largar os teus vídeos no Stremio","ADDON_MY":"Os meus addons","ADDON_COMMUNITY":"Addons da comunidade","ADDON_OFFICIAL":"Addons oficiais","ADDON_REPOS":"Repositórios de addons","ADDON_SEARCH":"Pesquisar addons","ADDON_INSTALL":"Instalar","ADDON_CONFIGURE":"Configurar","ADDON_UNINSTALL":"Desinstalar","ADDON_UPGRADE":"Atualizar","ADDON_INSTALLED":"Instalados","ADDON_INSTALLED_MSG":"Addon instalado!","ADDON_UPGRADED_MSG":"Addon atualizado!","ADDON_UNKNOWN":"Desconhecido","ADDON_ERR":"Erro ao instalar o addon!","ADDON_DISCONNECTED":"Desconectado","ADDON_APP_MISSING":"a aplicação que suporta este tipo de letra não está instalada. Desejas instalá-la agora?","ADDON_APP_INSTALL":"Instalar agora","ADDON_PAGE":"Página do addon","ADDON_TOP_CONTENT":"O melhor deste addon","ADDON_PROVIDES":"Este addon dar-te-á:","ADDON_WATCH":"Ver #{types} agora!","ADDON_WATCH_FREE":"Ver #{types} GRATUITAMENTE agora!","ADDON_ADDON":"Addon","ADDON_SUPPORTED_TYPES":"Tipos suportados","ADDON_SUPPORTED_CATALOGS":"Catálogos suportados","ADDON_PROVIDES_DISCOVER":"Mais #{types} em Explorar","ADDON_PROVIDES_STREAMS":"Ver #{types}","ADDON_PROVIDES_STREAMS_FREE":"Ver #{types} GRATUITAMENTE","ADDON_PROVIDES_SUBTITLES":"Legendas para #{types}","ADDON_CANTDETECT":"Não foi possível encontrar o Stremio em execução, assim sendo, não é possível determinar os addons que tens instalados.","ERR_NO_META":"Não encontrámos nenhuma informação sobre isto.","ERR_GETTING_META":"Erro ao obter informação sobre isto.","ERR_CANT_PARSE_MAGNET":"Impossível analisar o magnet link","ERR_NO_MAGNET_INFOHASH":"Sem informação válida para este magnet link","ERR_NO_FILE_PATH":"Impossível enviar o pedido sem um caminho para o ficheiro","ERR_NO_TORRENT":"Nenhum torrent recebido","ERR_NO_SUPPORTERD_FILES":"Nenhum ficheiro suportado encontrado","ERR_OPENING_FILES":"Não foi possível abrir ficheiros externos.","ERR_INVALID_LINK":"Link inválido","ERR_REGISTERED_ONLY":"Esta opção está apenas disponível para utilizadores com sessão iniciada.","ERR_CLIPBOARD":"Não é possível reproduzir da área de transferência","ERR_CLIPBOARD_READ":"Não é possível ler a área de transferência nesta plataforma","ERR_CLIPBOARD_GENERIC":"Nenhum URL reproduzível encontrado na área de transferência. Por favor, copia um URL (ex.: magnet link) para um vídeo.","BOARD_CONTINUE_WATCHING":"Continuar a ver","BOARD_EXPLANATION_RECOMMENDATIONS":"Os filmes escolhidos especialmente para ti.<br />Este filme é uma amostra de recomendação.","BOARD_EXPLANATION_EPISODES":"Os novos episódios das tuas séries favoritas aparecem aqui.<br />Adiciona as séries que segues à tua biblioteca.","BOARD_EXPLANATION_VIDEOS":"Os novos episódios dos teus canais favoritos aparecem aqui.<br />Adiciona os canais do YouTube que segues à tua biblioteca.","WEBSITE_ENJOYED_BY":"Desfrutado por mais de 30 milhões de utilizadores em todo o mundo","WEBSITE_STREAMING_ENHANCED":"Streaming melhorado","WEBSITE_STREAMING_ENHANCED_DETAILS":"O Stremio oferece uma experiência de entretenimento segura, moderna e perfeita. Com a sua interface fácil de utilizar e uma biblioteca de conteúdos diversificada, incluindo suporte para 4K HDR, os utilizadores podem desfrutar dos seus filmes e séries favoritas em todos os seus dispositivos. E com o seu compromisso com a segurança, o Stremio é a melhor escolha para uma experiência de transmissão de alta qualidade e sem preocupações.","WEBSITE_AVAILABLE_ON":"Disponível para","WEBSITE_WATCH_AND_ENJOY":"Vê e desfruta.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"O Stremio torna tudo muito fácil","WEBSITE_ALL_FEATURES":"Todas as funcionalidades","WEBSITE_EASY_TO_USE":"Fácil de utilizar","WEBSITE_EASY_TO_USE_DETAILS":"O Stremio foi concebido para ser intuitivo e fácil de utilizar. Com a sua interface limpa e intuitiva, podes navegar facilmente e encontrar o conteúdo que queres ver.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Sem descontinuidades entre dispositivos","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Disponível para uma vasta gama de plataformas (incluindo Windows, Mac, Linux, Android e outras), o Stremio acompanha o teu progresso em todos os teus dispositivos. Basta iniciares sessão e continuares a ver sem teres de configurar novamente a aplicação em cada novo dispositivo.","WEBSITE_ALL_DOWNLOADS":"Todas as transferências","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"Suporte para vídeo de alta definição","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"Um leitor de vídeo integrado que suporta a maioria dos formatos de vídeo, incluindo conteúdo 4K HDR, permite-te desfrutar da melhor qualidade disponível.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Biblioteca de conteúdos diversificados","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"O Stremio integra-se com um grande número de fontes de vídeo populares, como Netflix, Amazon Prime Video, Hulu, YouTube e muitas outras.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Cria uma conta gratuita","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Experiência de visualização personalizada","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"O Stremio permite-te personalizar o aspeto da interface, alterando o tema, adicionando ou removendo addons e muito mais.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Suporte para legendas em vários idiomas","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"Agora podes desfrutar de todos os teus conteúdos favoritos no teu idioma preferido, uma vez que o Stremio suporta legendas em todos os idiomas.","WEBSITE_ALL_STREMIO_FEATURES":"Todas as funcionalidades do Stremio","WEBSITE_TRY_STREMIO_TITLE_P1":"Experimenta o Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"Na tua TV agora","WEBSITE_YOU_CAN_NOW_WATCH":"Agora podes ver todas as tuas séries favoritas nos teus dispositivos Android TV. A aplicação Stremio TV permite-te desfrutar de uma noite de cinema com facilidade.","WEBSITE_YOU_CAN_NOW_WATCH_2":"Agora podes ver todas as tuas séries favoritas na tua Smart TV ou Android TV. As aplicações Stremio TV permitem-te desfrutar de uma noite de cinema com facilidade.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio para Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Provavelmente a melhor e mais útil aplicação para teres no teu dispositivo. É uma das aplicações que utilizo diariamente, especialmente na minha Android TV, há já muitos anos. Bem feita, com uma comunidade forte a fornecer funcionalidades úteis. Muito bem feito. Mantém o bom trabalho.","WEBSITE_REVIEWS":"críticas","WEBSITE_GET_STREMIO_FOR_FREE":"Obtém o Stremio gratuitamente","WEBSITE_GET_STREMIO_NOW":"Obter o Stremio agora","WEBSITE_STREMIO_FEATURES":"Funcionalidades do Stremio","WEBSITE_STREMIO_FEATURES_DETAILS":"Vê streaming como um profissional com as funcionalidades avançadas do Stremio e desfruta de um acesso sem falhas a todos os teus conteúdos multimédia favoritos","WEBSITE_DISCOVER_MORE":"Descobre mais.","WEBSITE_DISCOVER_MORE_DETAILS":"Nunca te faltam coisas para ver","WEBSITE_COMMUNITY_DRIVEN":"Orientado pela comunidade","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"O Stremio tem uma comunidade grande e ativa de utilizadores que contribuem para o desenvolvimento do software através da criação e partilha de addons.","WEBSITE_GET_INVOLVED":"Faz parte","WEBSITE_NEW_THEATER_EXPERIENCE":"Nova experiência cinematográfica","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"A nova aplicação de TV dedicada do Stremio permite-te desfrutar de uma noite de cinema nos teus dispositivos Android TV.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"As novas aplicações de TV dedicadas do Stremio permitem-te desfrutar de uma noite de cinema na tua Smart TV ou em dispositivos Android TV.","WEBSITE_FREE_AND_SECURE":"Grátis e seguro","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"O Stremio oferece segurança e privacidade inigualáveis aos utilizadores. Com a sua funcionalidade única de executar addons remotamente, o Stremio proporciona uma forma mais segura de transmitir os teus conteúdos favoritos em comparação com outras plataformas. A tua segurança e privacidade são as principais prioridades, e a plataforma garante que todos os teus dados estão protegidos.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Diz adeus às preocupações com a segurança e a privacidade e diz olá a um mundo de entretenimento sem fim com o Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Informações fornecidas por","WEBSITE_CONTRIBUTE":"Colaborar","WEBSITE_CONTRIBUTE_DESC":"para o projeto e ajuda-nos a tornar o Stremio ainda melhor","WEBSITE_COMMUNITY_DESC":"Acreditamos que a melhor maneira de criar uma experiência de streaming verdadeiramente fantástica é envolver a nossa comunidade no processo. Quer sejas um programador, um artista ou apenas um fã - podes ajudar o Stremio a crescer.","WEBSITE_COMMUNITY_DESC_2":"Então, junta-te a nós hoje, faz parte da comunidade do Stremio e continua a moldar o futuro do streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Maneiras de participar","WEBSITE_IN_THE_STREMIO_COMMUNITY":"na comunidade do Stremio","WEBSITE_SHARE_YOUR_THOUGHTS":"Partilha os teus pensamentos","WEBSITE_REPORT_BUGS":"Comunica erros","WEBSITE_SUGGEST_FEATURES":"sugere funcionalidades","WEBSITE_AND_PROVIDE_FEEDBACK":"e dá o teu feedback nas nossas redes sociais.","WEBSITE_BETA_TESTING_PROGRAM":"Programa de testes beta","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participa no nosso programa de testes beta (enviamos convites regularmente) na comunidade do Stremio.","WEBSITE_JOIN_NOW":"Junta-te agora!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Comunidades oficiais do Stremio","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Comunidades não oficiais do Stremio","WEBSITE_BECOME":"Torna-te","WEBSITE_A_VOLUNTEER_TRANSLATOR":"um tradutor voluntário","WEBSITE_ARE_YOU_A_DEVELOPER":"És um programador?","WEBSITE_CONTRIBUTE_CODE":"Podes contribuir com código para os nossos projetos de código aberto. Temos vários projetos no GitHub que estão à procura de colaboradores. Se estiveres interessado em ajudar, consulta-os:","WEBSITE_STREMIO_ON_GITHUB":"Stremio no GitHub","WEBSITE_CREATE_ADDON_DESC":"Cria um addon para melhorar as funcionalidades do Stremio (temos uma API fácil de utilizar):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"Também te damos a oportunidade de te juntares a nós como programador estagiário para que possamos crescer juntos.","WEBSITE_APPLY_AS_AN_INTERN":"Candidata-te como estagiário","WEBSITE_CALLING_ALL_ARTISTS":"Convite a todos os artistas!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Mostra a tua criatividade e o teu amor pelo Stremio carregando a tua arte de fã na nossa galeria online. Quer se trate de um desenho, pintura ou design digital, queremos ver a tua visão única da marca Stremio. Junta-te à nossa comunidade de entusiastas da arte e partilha o teu trabalho com outros fãs do Stremio em todo o mundo.","WEBSITE_STREMIO_FANART_GALLERY":"Galeria de Fanart do Stremio","WEBSITE_INTERN_DESIGNER":"Faz parte da nossa equipa e leva a tua criatividade a novos patamares com as nossas excitantes oportunidades de estágio.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Projeto de filmes de domínio público","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"No Stremio, estamos empenhados em preservar a história do cinema e da televisão, identificando vídeos de domínio público e órfãos. Ao trabalharmos em conjunto com a nossa comunidade, podemos garantir que estas obras de arte clássicas estão acessíveis a todos e protegidas para serem desfrutadas pelas gerações futuras.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Não hesites em contactar-nos se quiseres participar nesse projeto.","WEBSITE_JOIN_THE_PROJECT":"Junta-te ao projeto","WEBSITE_BE_PART_OF_OUR_MISSION":"Faz parte da nossa missão","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Estás interessado em fazer parte da equipa do Stremio? Oferecemos trabalho totalmente remoto para profissionais apaixonados. Consulta as nossas vagas em aberto.","WEBSITE_OPEN_POSITIONS":"VAGAS EM ABERTO","WEBSITE_DESCRIPTION":"DESCRIÇÃO","WEBSITE_LEARN_MORE":"Saber mais","WEBSITE_COMPANY":"Empresa","WEBSITE_CONTACTS":"Contactos","WEBSITE_NEED_HELP":"Precisas de ajuda?","WEBSITE_STREMIO_WEB_ON_IOS":"Guia para o Stremio Web no iOS","WEBSITE_LINK_ART_V2":"Galeria de Fanart","WEBSITE_PARTNERS":"Parceiros","WEBSITE_SLOGAN_WATCH":"Vê instantaneamente","WEBSITE_SLOGAN_ALL":"Todo o conteúdo de vídeo de que gostas num só lugar","WEBSITE_SLOGAN_NEW":"Tudo o que podes ver","WEBSITE_SLOGAN_NEW_NEW":"Liberdade para fazeres streaming","WEBSITE_WATCH_FROM":"Ver a partir de","WEBSITE_DOWNLOAD":"Transferir","WEBSITE_DOWNLOAD_FOR":"Transferir para","WEBSITE_IS_DESKTOP":"O Stremio é uma aplicação desktop, abre esta página no teu computador e transfere-a","WEBSITE_DESKTOP_DEMO_VID":"Demonstração de ambiente de trabalho","WEBSITE_PAGE_HOME":"Início","WEBSITE_PAGE_FEATURES":"Funcionalidades","WEBSITE_PAGE_ADDONS":"Addons","WEBSITE_PAGE_TECH":"Tecnologia","WEBSITE_PAGE_CREATE_ADDON":"Criar addon","WEBSITE_PAGE_CONTACTS":"Contactos","WEBSITE_PAGE_BLOG":"Blogue","WEBSITE_RESET_PASSWORD_MESSAGE":"Por favor, introduz a nova palavra-passe desejada abaixo.","WEBSITE_RESET_PASSWORD_WARNING":"Tens a certeza de que queres redefinir a palavra-passe de ${1}?","WEBSITE_TYPE_movie":"Filmes","WEBSITE_TYPE_series_PL":"Séries","WEBSITE_TYPE_tv":"TV em direto","WEBSITE_TYPE_channel":"Canais","WEBSITE_STREMIO_WHAT_IS":"O Stremio é uma aplicação que te ajuda a organizar e ver instantaneamente os teus vídeos, filmes, séries e canais favoritos.","WEBSITE_FEATURES_WATCH":"Vê instantaneamente em HD","WEBSITE_FEATURES_WATCH_DETAIL":"Clica e reproduz o teu conteúdo preferido, filmes, séries, vídeos e canais.","WEBSITE_FEATURES_SUBS":"Legendas automáticas","WEBSITE_FEATURES_SUBS_DETAIL":"O Stremio seleciona automaticamente as legendas sincronizadas para o teu idioma.","WEBSITE_FEATURES_SUBS_LABEL":"Agora é contigo, chefe.","WEBSITE_FEATURES_CAST":"Reproduz na TV e dispositivos móveis","WEBSITE_FEATURES_CAST_DETAIL":"Liga à Apple TV, Chromecast, Smart TV (DLNA/UPnP) e dispositivos móveis.","WEBSITE_LIB":"Desfruta da tua biblioteca pessoal sincronizada em todos os teus dispositivos","WEBSITE_LIB_COLLECT":"Recolher através do Stremio","WEBSITE_LIB_IMPORT":"Importar do Facebook","WEBSITE_LIB_LOCAL":"Adicionar a partir do teu disco local","WEBSITE_BOARD":"O painel - O teu sítio para notificações e recomendações","WEBSITE_BOARD_RECOMMEND":"Série recomendada","WEBSITE_BOARD_TRENDING":"Filme em destaque","WEBSITE_BOARD_NEW":"Novo vídeo","WEBSITE_BOARD_EPISODE":"Novo episódio","WEBSITE_BOARD_1":"Procuras algo interessante para ver? Recebe recomendações baseadas nos teus gostos!","WEBSITE_BOARD_2":"Recebe uma notificação quando um novo episódio da tua série preferida ou de um canal do YouTube é lançado!","WEBSITE_BOARD_YOUTUBE":"Novos vídeos de canais do YouTube","WEBSITE_BOARD_EPISODES":"Novos episódios das séries que segues","WEBSITE_ADDONS":"Conteúdo do addon","WEBSITE_TECH_DETAIL":"Adoramos tecnologia e ciência maluca!\\nO Stremio utiliza as seguintes tecnologias de código aberto:","WEBSITE_TECH_WCJS":"O WebChimera.js permite que o Stremio reproduza qualquer formato de vídeo com boa performance.","WEBSITE_TECH_WCJS_EXTRA":"Somos os colaboradores principais do projeto","WEBSITE_TECH_ELECTRON":"O Electron oferece uma plataforma inovadora para construir o Stremio.","WEBSITE_TECH_ELECTRON_EXTRA":"Somos colaboradores do projeto","WEBSITE_TECH_LINVODB":"Uma tecnologia de base de dados que garante que os teus dados estão organizados e disponíveis em qualquer lugar.","WEBSITE_TECH_LINVODB_EXTRA":"Tecnologia interna","WEBSITE_CREATE_ADDON":"Cria o teu addon","WEBSITE_CREATE_ADDON_DETAIL":"Tens um serviço que fornece conteúdo de vídeo? Vamos ajudar-te a beneficiar das funcionalidades do Stremio ao criar o teu addon.","WEBSITE_CREATE_ADDON_BENEFITS":"Benefícios da criação de um addon para o Stremio","WEBSITE_P2P_BEAUTY":"A beleza do Streaming Ponto-a-Ponto","WEBSITE_P2P_1":"Vídeo full HD / 4K on demand ou streaming fiável e acessível","WEBSITE_P2P_2":"Plataforma de distribuição que proporciona uma grande experiência ao utilizador","WEBSITE_P2P_3":"Criaremos um addon que corresponde exatamente às tuas necessidades","WEBSITE_P2P_CONTACT":"Interessado? Convidamos-te a <a href=\'mailto:office@stremio.com\'>nos contactares</a>.","WEBSITE_P2P_CONTACT_EXTRA":"Ficaríamos felizes por te ajudar a integrar o teu contéudo com o Stremio!","WEBSITE_P2P":"De um momento para o outro, surge uma tecnologia que muda o sistema. Investimos muito tempo e esforço para construir o nosso motor de streaming de vídeo ponto-a-ponto que fornece grande performance e versatilidade para se adaptar a qualquer caso de utilização.\\nContacta-nos para gestão de direitos digitais de vídeo P2P on demand ou streaming.","WEBSITE_THOUGHTS":"Pensamentos que partilhamos:","WEBSITE_SPREAD":"Divulga o Stremio:","WEBSITE_CONTACT":"Contacta-nos, adoraríamos saber o que tens a dizer!","WEBSITE_OPENSOURCE":"Para os nosso projetos de código aberto, visita o nosso","WEBSITE_BITCOIN":"Doar Bitcoin:","WEBSITE_FAQ":"Perguntas frequentes","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Perguntas","WEBSITE_TOS":"Termos de utilização","WEBSITE_LEGAL":"Jurídico","WEBSITE_PAGE_ABOUT":"Acerca de","WEBSITE_PAGE_BECOME_PARTNER":"Torna-te um parceiro","WEBSITE_ALL_YOU_CAN_WATCH":"Liberdade para veres\\nTudo o que precisas.","WEBSITE_FREEDOM_TO_STREAM":"Liberdade para fazeres streaming","WEBSITE_WHAT_IS_STREMIO":"O que é o Stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"O Stremio é uma plataforma única para agregação de conteúdo de vídeo. Descobre, organiza e vê vídeos de todos os tipos de fontes em qualquer dispositivo que tenhas.","WEBSITE_WHAT_IS_STREMIO_P2":"Filmes, séries, programas de TV, TV em direto ou canais da web como YouTube e Twitch.tv - podes encontrar tudo isto no Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"O Stremio é uma central de multimédia moderna, uma solução integrada para todo o teu entretenimento em vídeo. Descobre, vê e organiza todo o conteúdo de vídeo a partir de addons fáceis de instalar.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Filmes, programas de TV, TV em direto ou canais da web - encontra tudo isto no Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Desfruta em todos os teus dispositivos multimédia","WEBSITE_DEVICES_COLLECT":"Recolhe através do Stremio","WEBSITE_DEVICES_IMPORT_FB":"Importar do Facebook","WEBSITE_DEVICES_LOCAL":"Adicionar a partir do teu disco local","WEBSITE_JOIN_THE_PARTY_NOW":"Junta-te à festa agora","WEBSITE_DEVICES_ALL":"Fácil de utilizar em qualquer dispositivo;","WEBSITE_EXTENDABLE_CATALOG":"Catálogo de vídeo infinitamente extensível;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Ótimas funcionalidades para organizares o teu conteúdo multimédia;","WEBSITE_AS_SEEN_ON":"Visto(a) em","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"Quem somos","WEBSITE_LINK_TECHNOLOGY":"Tecnologia","WEBSITE_LINK_APPS":"Aplicações","WEBSITE_LINK_DOWNLOADS":"Transferências","WEBSITE_MORE":"Mais","WEBSITE_LINK_ADDONS":"Addons","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Contribuir","WEBSITE_LINK_COMMUNITY":"Comunidade","WEBSITE_LINK_BLOG":"Blogue","WEBSITE_MORE_MORE":"... e mais","WEBSITE_LINK_HELP":"Centro de ajuda","WEBSITE_LINK_CONTACTS":"Contacta-nos","WEBSITE_LINK_TOS":"Termos e condições","WEBSITE_LINK_PRAVACY":"Política de privacidade","WEBSITE_SUBSCRIBE":"Subscrever","WEBSITE_NEWSLETTER":"Subreve a nossa newsletter para receberes as novidades","WEBSITE_PLACEHOLDER_EMAIL":"O teu e-mail","WEBSITE_COMMUNITY":"Comunidade","WEBSITE_LINK_PRAVACY_LEGAL":"Privacidade e jurídico","WEBSITE_WHY":"Porque o fazemos","WEBSITE_WHY_P1":"No Stremio, chegamos a trabalhar todos os dias quando queremos resolver um problema importante para o setor de vídeo on demand. Há tanto conteúdo novo publicado a cada minuto, que é virtualmente impossível encontrar o caminho menos árduo.","WEBSITE_WHY_P2":"Ajudamos as pessoas a navegar neste mundo imenso de entretenimento de vídeo e a descobrir novos conteúdos para apreciar. As nossas aplicações trazem consigo filmes, séries, TV em direto, canais da web e muito mais. Estamos focados em facilitar para que os nossos utilizadores possam encontrar facilmente os títulos e os canais que adoram.","WEBSITE_WHY_P3":"Podes utilizar o nosso serviço em qualquer dispositivo e a qualquer hora tornando o Stremio a única plataforma agregadora de entretenimento de vídeo de que precisarás.","WEBSITE_TEAM":"Equipa","WEBSITE_TEAM_P":"A equipa do Stremio é pequena, mas poderosa: entre nós dez, programamos em várias linguagens e partilhamos experiência em desenvolvimento de software, design da IU e UX, marketing e publicidade, negócios e startups.","WEBSITE_FEATURES":"Funcionalidades","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Descobre facilmente novos conteúdos","WEBSITE_FEATURES_DISCOVER_P":"Descobre facilmente novos filmes, séries, programas de TV e canais para ver. Navega por categoria, género, classificação, novidade, etc. ou escreve simplesmente um nome para encontrar. O Stremio encontrará facilmente todo o conteúdo de vídeo.","WEBSITE_FEATURES_ALL_CONTENT":"Todo o teu conteúdo de vídeo num ecrâ","WEBSITE_FEATURES_ALL_CONTENT_P1":"Vê que filmes, séries ou vídeos não terminaste e continua a vê-los(as). Sê notificado sobre novos episódios e lançamentos e navega pelas recomendações que obterás com base nos teus hábitos de visualização","WEBSITE_FEATURES_LIBRARY":"Organiza a tua biblioteca de vídeos","WEBSITE_FEATURES_LIBRARY_P1":"Adiciona qualquer título à tua biblioteca do Stremio com um único clique e encontra o teu conteúdo organizado por tipo, recência ou ordem alfabética","WEBSITE_FEATURES_CALENDAR":"Acompanha tudo o que viste","WEBSITE_FEATURES_CALENDAR_P1":"Vê o calendário de todos os filmes e séries que adicionaste à tua biblioteca e sabe também quando haverá um novo episódio ou estreia.","WEBSITE_FEATURES_BIG_SCREEN":"Aproveita o teu conteúdo de vídeo num ecrã maior ","WEBSITE_FEATURES_BIG_SCREEN_P1":"Reproduz o que estiveres a ver noutro dispositivo - utiliza o smartphone, tablet ou TV com um único clique","WEBSITE_FEATURES_SOURCES":"Vê o vídeo de várias fontes diferentes.","WEBSITE_FEATURES_SOURCES_P":"Instala os addons oficiais e da comunidade para aproveitares o vídeo fornecido por vários fornecedores diferentes - tudo numa aplicação elegante e fácil de utilizar.","WEBSITE_CREATE_AN_ADDON":"Cria um addon.","WEBSITE_FEATURES_SYNC":"Sincroniza a tua biblioteca entre diferentes dispositivos e continua a reprodução","WEBSITE_FEATURES_SYNC_P1":"Entra com a tua conta em todos os teus dispositivos e aproveita a tua biblioteca, addons, reprodução e calendário sincronizados.","WEBSITE_FEATURES_EXTENDABLE":"Catálogo de vídeo extensível por addons","WEBSITE_FEATURES_EXTENDABLE_P1":"O catálogo de addons do Stremio fornece vários complementos para instalares e veres uma variedade imensa de conteúdos de vídeo. Isto inclui filmes, programas, TV em direto, desportos, notícias, podcasts, canais da web, jogos e muito mais.","WEBSITE_FEATURES_AUTO_SUBS":"Legendas automáticas","WEBSITE_FEATURES_AUTO_SUBS_P1":"Com os nossos addons de legendas obtens automaticamente as opções selecionadas para o teu idioma preferido.","WEBSITE_FEATURES_CHROMECAST":"Transmitir para Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Desfruta do conteúdo de vídeo num ecrã maior ou transmite apenas o que estiveres a ver para outro dispositivo.","WEBSITE_FEATURES_KEEP_TRACK":"Acompanha os teus programas de TV e canais da Web favoritos ","WEBSITE_FEATURES_KEEP_TRACK_P1":"Obtém uma visualização do calendário e notificações para novos episódios das tuas séries e canais da web favoritos.","WEBSITE_FEATURES_POWER_USER":"Funcionalidades avançadas para os utilizadores","WEBSITE_FEATURES_POWER_USER_P1":"Reproduz num leitor externo","WEBSITE_FEATURES_POWER_USER_P2":"Reproduz a partir de um ficheiro torrent ou magnet link","WEBSITE_FEATURES_POWER_USER_P3":"Importa para a tua biblioteca a partir dos gostos do Facebook ou disco local","WEBSITE_ADD_ONS":"Addons","WEBSITE_ADD_ONS_P1":"Todo o conteúdo de vídeo que o Stremio proporciona é proveniente de um sistema de addons - nenhum fornecedor de conteúdo ou conteúdo foi incorporado na aplicação.","WEBSITE_ADD_ONS_P2":"Existem dois grupos de addons disponíveis: oficiais e da comunidade.","WEBSITE_ADD_ONS_P3":"Os oficiais são desenvolvidas e hospedadas pelo Stremio enquanto que os addons da comunidade são criados por membros da nossa comunidade que também os hospedam.","WEBSITE_ADDONS_OFFICIAL":"Addons oficiais","WEBSITE_ADDONS_WATCHUB":"Transmite os teus filmes, séries e programas favoritos de serviços como iTunes, Hulu, Amazon e outros serviços do Reino Unido / EUA.","WEBSITE_ADDONS_YOUTUBE":"Vê os teus canais favoritos do YouTube livre de anúncios e recebe notificações de novos vídeos dos canais que segues.","WEBSITE_ADDONS_FILMON":"Vê TV em direto, filmes e canais interativos gratuitamente. 600 canais de TV, 45.000 filmes gratuitos, documentários e muito mais.","WEBSITE_ADDONS_OPENSUBTITLES":"Legendas de filmes e TV em vários idiomas. Milhares de legendas traduzidas e carregadas todos os dias.","WEBSITE_ADDONS_COMMUNITY":"Addons da comunidade","WEBSITE_ADDONS_FILMON_VOD":"Vê vídeos on demand do Filmon.tv","WEBSITE_ADDONS_TWICH":"Vê transmissões em direto da Twitch.tv - a plataforma de streaming de vídeo para a indústria de eSports.","WEBSITE_ADDONS_VODO":"Vê filmes independentes de forma totalmente gratuita.","WEBSITE_ADDONS_NETFLIX":"Vê filmes e séries da Netflix.","WEBSITE_ADDONS_CREATE":"Cria um addon.","WEBSITE_ADDONS_CREATE_P1":"Se desejares, podes desenvolver o teu próprio addon. Desta forma, podes proporcionar a ti mesmo e à nossa comunidade o acesso a novos conteúdos de vídeo e alcançar um novo público-alvo de milhões de utilizadores em todo o mundo.","WEBSITE_ADDONS_START_CREATE":"Para começares, visita a página do Kit de Desenvolvimento de Addons do Stremio:","WEBSITE_DOWNLOADS":"Transferências","WEBSITE_DOWNLOADS_P1":"Para um melhor desempenho, recomendamos que utilizes a versão mais recente disponível das aplicações Stremio. No entanto, se por algum motivo preferires utilizar uma versão mais antiga, podes descarregá-la aqui.","WEBSITE_DOWNLOADS_P1_SHORT":"Para um melhor desempenho, recomendamos que utilizes a última versão disponível das aplicações Stremio.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio para Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio para macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio para Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio para Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio para Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio para telemóveis Android","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio para Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio para iOS (versão limitada)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio para Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio para LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio para Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio para Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio para Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio para Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio para Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio para Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio para Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio para o navegador","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Procura o Stremio na App Store dos modelos de TV Samsung 2019+","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Procura o Stremio na App Store dos modelos de TV LG 2020+","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Procura o Stremio na Play Store na Sony TV com Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Procura o Stremio na Play Store na Philips TV com Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Procura o Stremio na App Store do teu dispositivo Xbox","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guia para o Stremio OS na RPI","WEBSITE_LINK_GUIDE":"Guia","WEBSITE_DOWNLOAD_SERVICE":"Descarregar o Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"O Stremio Service é uma aplicação que acompanha o Stremio Web. Recomendamos a utilização da versão mais recente disponível do Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service para Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service para macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service para Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service para Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio para Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"Mais opções de transferência","WEBSITE_DOWNLOAD_NEW":"Novidade!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"Lançámos o Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"Lançámos o Stremio para a Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"Lançámos o Stremio para a LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"Lançámos o Stremio para Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"A plataforma Stremio é de código aberto e podes criar facilmente um addon para o conteúdo que não é atualmente fornecido.","WEBSITE_CONTRIBUTE_WHY":"Porque deves criar um?","WEBSITE_CONTRIBUTE_WHY_P1":"Alcança um novo público para o conteúdo do teu vídeo","WEBSITE_CONTRIBUTE_WHY_P2":"A base de utilizadores do Stremio está a crescer rapidamente - no primeiro ano de lançamento o Stremio ganhou 1 milhão de utilizadores em todo o mundo e no segundo ano de existência da plataforma, este número cresceu para 2,5 milhões.","WEBSITE_CONTRIBUTE_WHY_P3":"Com o teu addon podes facilmente alcançar esta audiência e distribuir o teu conteúdo de vídeo para todos os utilizadores.","WEBSITE_CONTRIBUTE_ALL":"Vê os teus filmes, séries, vídeos e canais favoritos num único lugar.","WEBSITE_CONTRIBUTE_ALL_P1":"És fã de um tipo de conteúdo que ainda não está disponível no Stremio? Cria um addon para isso e desfruta ao ver os teus vídeos favoritos numa das maiores e mais fáceis plataformas de entretenimento e de se utilizar do mercado.","WEBSITE_CONTRIBUTE_ALL_P2":"Além disso, obterás a infinita gratidão de outros membros da comunidade Stremio com ideias semelhantes","WEBSITE_CONTRIBUTE_MONETIZE":"Monetiza o teu addon e ganha dinheiro com ele","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Uma vez que desenvolvas um novo addon para o Stremio, podes facilmente monetizá-lo de várias maneiras diferentes. Se estás a considerá-lo, sente-te à vontade para entrar em contacto connosco através do ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - ficaríamos felizes por te orientar e aconselhar neste processo sobre as opções de monetização do teu addon.","WEBSITE_CONTRIBUTE_TRANSLATE":"Torna-te num tradutor voluntário","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Se desejas aproveitar as aplicações do Stremio em diferentes idiomas, podes juntar-te à nossa comunidade de tradutores voluntários. Eles ajudam-nos a adicionar versões do Stremio nos diferentes idiomas.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Estás ansioso para começar?","WEBSITE_TRANSALTE_STREMIO":"Traduzir o Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Comunidades oficiais","WEBSITE_COMMUNITY_OFFICIALS_P1":"Faz parte da crescente comunidade do Stremio. Segue-nos nas redes sociais e não te sintas intimidado por nos dizeres um \\"Olá\\" - gostamos de conhecer os nossos fãs!","WEBSITE_COMMUNITY_UNOFFICIALS":"Comunidades não-oficiais","STREMIO_COMMUNITY_NL":"Stremio Países Baixos","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Alemanha","STREMIO_COMMUNITY_BELGIUM":"Stremio Bélgica","STREMIO_COMMUNITY_FRANCE":"Stremio França","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Itália","STREMIO_COMMUNITY_UK":"Stremio Reino Unido","STREMIO_COMMUNITY_USA":"Stremio EUA","STREMIO_COMMUNITY_MEXICO":"Stremio México","STREMIO_COMMUNITY_ADDONS":"Addons do Stremio","STREMIO_COMMUNITY_AWESOME":"O melhor do Stremio","WEBSITE_COMMUNITY_PARTNERS":"Parceiros e apoiantes","WEBSITE_COMMUNITY_GOODIES":"Guloseimas do Stremio","WEBSITE_COMMUNITY_WALLPAPERS":"Papéis de parede","WEBSITE_COMMUNITY_ART":"Galeria de Artes da Comunidade","WEBSITE_LINK_ART":"Galeria de Artes da Comunidade","WEBSITE_CONTACT_US":"Contacta-nos","WEBSITE_CONTACT_US_P1":"Caso tenhas dúvidas, comentários ou sugestões, sente-te à vontade para entrares em contacto connosco através do formulário em baixo.","WEBSITE_CONTACT_US_P2":"Lembra-te de que estamos localizados na Bulgária, por isso, pode haver alguma demora no atendimento do teu contacto devido às diferenças de fuso horário.","WEBSITE_CONTACT_US_SUCCESS":"A tua mensagem foi enviada. Entraremos em contacto contigo o mais breve possível.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Por favor, escreve um e-mail válido!","WEBSITE_CONTACT_US_Q_RELATED_TO":"Com que assunto está relacionada a tua pergunta?","WEBSITE_CONTACT_US_Q_OS":"Qual é o teu sistema operativo?","WEBSITE_CONTACT_US_PH_EMAIL":"O teu e-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Mensagem","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"ENVIAR","WEBSITE_CONTACT_US_Q_1":"Como instalar?","WEBSITE_CONTACT_US_Q_2":"Como desinstalar?","WEBSITE_CONTACT_US_Q_3":"(HTML) Como fazer lasanha?","WEBSITE_CONTACT_US_Q_4":"Addons","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"MacOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Tecnologia","WEBSITE_TECHNOLOGY_P1":"Adoramos tecnologia e ciência maluca. </ br> Aqui estão os poderes do Stremio (tudo em código aberto).","WEBSITE_TECHNOLOGY_P_QT":"Desenvolvimento de software multiplataforma no seu melhor.","WEBSITE_TECHNOLOGY_P_MPV":"Um leitor de multimédia gratuito, de código aberto e multiplataforma.","WEBSITE_TECHNOLOGY_P_RN":"O React Native permite que cries aplicações móveis utilizando apenas JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Framework multimédia incorporado na aplicação para obter multimédia.","WEBSITE_TECHNOLOGY_P_REALM":"A Realm é uma plataforma móvel e um substituto para o SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"O Node.js é um ambiente em tempo de execução multiplataforma e de código aberto para JavaScript.","WEBSITE_TECHNOLOGY_P_RUST":"O Rust é uma linguagem de programação multi-paradigma focada em segurança, especialmente em concorrência segura.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribuir para o projeto.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Há duas maneiras para poderes contribuir com o Stremio e ajudar-nos a tornar o produto ainda melhor.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Podes doar as tuas valiosas habilidades linguísticas para ajudar a traduzir a plataforma...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"ou","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"...podes utilizar as tuas habilidades de programação para criar addons da comunidade.","WEBSITE_TRANSLATE_STREMIO":"Traduzir o Stremio","WEBSITE_404_OH_NO":"Ups! A página que procuras não está aqui...","WEBSITE_GO_HOME":"Voltar ao início","WEBSITE_LINK_OTHER_DOWNLOADS":"Outras transferências","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Suporte","WEBSITE_DOWNLOAD_4_0_BETA":"Transferir o Stremio 4 beta agora","WEBSITE_GET_FOR_DESKTOP":"Transferir para o computador","WEBSITE_LINK_ADDON_COMPETITION":"Competições de addons","WEBSITE_LINK_ART_CONTEST":"Concurso de artes","WEBSITE_MY_ACCOUNT":"A minha conta","WEBSITE_MAINPAGE_FAQ_001_H1":"O que é o Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"O Stremio é um moderno centro de multimédia, que oferece a liberdade para veres tudo o que desejas.","WEBSITE_MAINPAGE_FAQ_002_H1":"Como funciona?","WEBSITE_MAINPAGE_FAQ_002_P1":"Depois de instalares o Stremio no teu dispositivo e criar uma conta tudo o que precisas de fazer é visitar o catálogo de addons e instalar qualquer complemento que desejares, e pronto!","WEBSITE_MAINPAGE_FAQ_002_P2":"Depois disso, podes ir às secções Explorar ou Painel para começar a explorar o conteúdo.","WEBSITE_MAINPAGE_FAQ_003_H1":"O que posso ver aqui?","WEBSITE_MAINPAGE_FAQ_003_P1":"Diversos filmes, programas de TV, canais da Web, desportos, canais de TV, ouvir podcasts e muito mais. Graças ao nosso sistema de addons podes aceder a uma variedade de conteúdos.","WEBSITE_MAINPAGE_FAQ_004_H1":"O Stremio é de código aberto?","WEBSITE_MAINPAGE_FAQ_004_P1":"Sim, podes verificar os seguintes links: ${1}aplicação desktop${2} e ${3}organização GitHub${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"O Stremio é seguro?","WEBSITE_MAINPAGE_FAQ_005_P1":"Sim. Por ser um software de código aberto o código é auditável publicamente e, podes revê-lo.","WEBSITE_MAINPAGE_FAQ_005_P2":"O sistema de addons do Stremio foi também criado a pensar na segurança do utilizador. Os addons não executam qualquer código localmente, pelo que não representam qualquer risco para o teu dispositivo.","WEBSITE_MAINPAGE_FAQ_006_H1":"E a minha privacidade?","WEBSITE_MAINPAGE_FAQ_006_P1":"Respeitamos a privacidade dos utilizadores e não coletamos dados pessoais além do mínimo essencial para criar e sincronizar a tua conta.","WEBSITE_MAINPAGE_FAQ_006_P2":"Há também um ${1}modo convidado ${2}no registo que não requer dados: deste modo, nenhuma chamada é feita aos nossos servidores. No entanto, isto ocorre à custa de funcionalidades úteis, como sincronizar a tua biblioteca entre dispositivos.","WEBSITE_MAINPAGE_FAQ_007_H1":"Posso transmitir para a minha TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Sim, suportamos o Chromecast e podes transmitir através de aplicações para o computador e dispositivos móveis (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"Quantos addons tem o Stremio?","WEBSITE_MAINPAGE_FAQ_008_P1":"No final de 2019, acima de 50 - para obteres mais informações, consulta o nosso catálogo de addons.","WEBSITE_MAINPAGE_FAQ_009_H1":"O Stremio pode ser expandido além do que se encontra no catálogo de addons?","WEBSITE_MAINPAGE_FAQ_009_P1":"Sim, deves verificar estes: ${1}PimpMyStremio${2}, ${3}Comunidades Reddit${4}, ${5}Downloader Stremio${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"Que dispositivos são suportados pelo Stremio?","WEBSITE_MAINPAGE_FAQ_010_P1":"Temos aplicações desktop para Windows, Mac e Linux. Para dispositivos móveis, suportamos Android e iOS, embora tem em conta que as funcionalidades do iOS são limitadas (não é compatível com a maioria dos addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"Existem muitos dispositivos com base no Android aos quais podes executar o Stremio, como NVIDIA Shield e Amazon Fire Stick, mas não os suportamos oficialmente.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"Temos aplicações para computadores Windows, Mac e Linux. Também temos aplicações dedicadas para Android Mobile e Android TV. Para iOS e iPadOS, sugerimos que utilizes o Stremio Web, embora as suas funcionalidades sejam mais limitadas.","WEBSITE_MAINPAGE_FAQ_011_H1":"Podem adicionar determinados conteúdos ao Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Desculpa, mas não fornecemos conteúdo. Porém, quanto mais addons do Stremio instalares mais conteúdo poderás encontrar.","WEBSITE_MAINPAGE_FAQ_012_H1":"O Stremio pode reproduzir magnet links?","WEBSITE_MAINPAGE_FAQ_012_P1":"Sim, e também pode reproduzir links HTTP normais e de ficheiros torrent (arrastar e soltar).","WEBSITE_MAINPAGE_FAQ_013_H1":"Posso descarregar um vídeo e vê-lo offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"O modo offline estará disponível futuramente, porém, se permitires que o Stremio faça cache no dispositivo (no painel de definições), poderás ver os teus vídeos mais tarde, mesmo sem ligação à Internet.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nada funciona, ajudem-me!","WEBSITE_MAINPAGE_FAQ_014_P1":"Tens a certeza de que instalaste addons? Se sim, verifica a nossa ${1}central de ajuda${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"Como o Stremio sustenta as suas operações de desenvolvimento?","WEBSITE_MAINPAGE_FAQ_015_P1":"Ocasionalmente, exibimos anúncios não intrusivos, mas estamos a pensar em mudar para um modelo de doação.","WEBSITE_MAINPAGE_FAQ_015_P2":"Para mais dúvidas, visita a nossa ${1}central de ajuda${2}.","HELP_LEARN_MORE":"Ajuda-nos a aprender algo mais sobre ti.","LIFESTYLE":"Estilo de vida","SPORTS":"Desporto","FOOD_HEALTH":"Comida e bem-estar","BEAUTY_FASHION":"Beleza e moda","NEWS":"Notícias","GAMING":"Jogos","SCIENCE_EDUCATION":"Ciência e educação","MUSIC":"Música","TRAVEL":"Viagens","LATE_NIGHT":"Late night show","REALITY":"Reality show","COMEDY":"Comédia","DIY":"Faz tu mesmo","TECH":"Tecnologia","CINEMA":"Cinema","CONTINUE":"Continuar","SLOW_LOADING":"LENTO A CARREGAR?","I_GIVE_UP":"DESISTO","LEARN_MORE":"Aprender mais","POOR_SOURCE":"Esta fonte possui fraca disponibilidade ou a tua ligação à Internet não é suficientemente rápida","PICK_CATEGORIES_ERR":"Tens de escolher pelo menos 3 categorias","ADJUST_TIMING":"Ajustar tempos com ","ADJUST_SIZE":"Ajustar tamanho com ","SEARCH_ANYTHING":"Podes pesquisar qualquer coisa...","ALL_CATEGORIES":"Tudo","SEARCH_CATEGORIES":"Filmes, Séries, YouTube e TV","SEARCH_PERSONS":"Atores, Realizadores e Argumentistas","SEARCH_PROTOCOLS":"Links HTTP e Magnet","SEARCH_TYPES":"Links IMDb / TheTVDB","WATCHED":"Visto","SHOW_LESS":"Mostrar menos","LAST_SEARCHES":"Pesquisas recentes","CLEAR_HISTORY":"Limpar histórico","CHOOSE_SOME":"ESCOLHE ALGUNS DESTES:","NO_WEB_REMOTE":"Não foi possível carregar o Web Remote","STREMIO_OFFLINE":"O Stremio está offline","STREMIO_EXPENSIVE_CONNECTION":"Detetámos que estás a utilizar uma ligação por dados móveis. Queres continuar?","USE_DATA":"Utilizar dados","WARNING":"Aviso","MORE_INFO":"Mais informações ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"A carregar ...","STREMIO_TV_BACK_TO_LANGUAGES":"Voltar para os idiomas","STREMIO_TV_REMOTE":"Comando","STREMIO_TV_GO_TO":"Ir para:","STREMIO_TV_OR_SCAN":"ou pesquisar:","STREMIO_TV_ADDON_INSTRUCTIONS":"Por favor, segue as instruções com o intuito de instalares os teus addons favoritos.","STREMIO_TV_LIVE_TV":"TV em direto","STREMIO_TV_RESUME_WATCHING":"Continuar a ver","STREMIO_TV_LOADING_BACKGROUND":"A carregar o plano de fundo","STREMIO_TV_CHECKING_AUTHENTICATION":"A verificar a autenticação","STREMIO_TV_LOADING_BOARD":"A carregar o painel","STREMIO_TV_LOGIN_HEADER_LINE_1":"Queremos que os nossos utilizadores tenham a melhor experiência personalizada possível com o nosso programa.","STREMIO_TV_LOGIN_HEADER_LINE_2":"É por esta razão que pedimos gentilmente que inicies sessão na tua conta.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Obrigado por entenderes,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Equipa Stremio","STREMIO_TV_REMOTE_INSTRUCTIONS":"Com o intuito de utilizares o trabalho Remoto com o teu Smartphone / Tablet / PC:","STREMIO_TV_WIFI_SETUP":"Configurar o Wi-Fi","STREMIO_TV_WIFI_HEADER_LINE_1":"O Stremio Circle não detetou ligação à Internet.","STREMIO_TV_WIFI_DETAILS_1":"Ligar a:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Utilizar palavra-passe:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Abrir o navegador com o link:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Predefinido","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"Últimos vistos","STREMIO_TV_LIBRARY_SORT_NAME":"Ordem alfabética","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"Por nome descendente","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"Número de vezes que foi visto","STREMIO_TV_LIBRARY_SORT_WATCHED":"Mais vistos","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"Menos vistos","STREMIO_TV_DETAILS_SEASON_NUMBER":"Temporada ${1}","STREMIO_TV_STREAMS_LOADING":"${1} / ${2} addons carregados...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} o addon está ainda a carregar...","STREMIO_TV_PLAYER_SETTINGS":"Definições de reprodução","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Atraso das legendas","STREMIO_TV_PLAYER_AUDIO_DELAY":"Atraso do áudio","STREMIO_TV_PLAYER_VIDEO_SCALING":"Escala do vídeo","STREMIO_TV_PLAYER_CHAPTERS":"Capítulos","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Saltar ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Fonte de streams não suportada","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Falha ao abrir o link externo","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Não ajustável no modo de passagem de áudio","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Reproduzir com o ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Reproduzir com o libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"A mudar para o libVLC player devido a um erro de reprodução","STREMIO_TV_ADDONS_TITLE":"Utiliza o Stremio no teu telemóvel ou PC para instalares ou configurares addons e pressiona em \\"Sincronizar addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Nota: certifica-te de que estás a utilizar a mesma conta do Stremio","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sincronizar addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons sincronizados com sucesso","STREMIO_TV_ADDONS_SYNC_FAILED":"Falha ao sincronizar addons","STREMIO_TV_META_LINK_FAILED":"Falha ao abrir o link meta","STREMIO_TV_CATALOG_LOADING":"O catálogo ainda está a carregar...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Idioma da interface atualizado","STREMIO_TV_SETTINGS_THEME_UPDATED":"Tema atualizado","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Leitor predefinido","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Leitor externo","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Idioma preferido","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Idioma secundário preferido","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Reprodução no modo tunnelled","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possíveis problemas de reprodução nalguns dispositivos","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Alguns formatos de vídeo podem não funcionar","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Correspondência da velocidade de fotogramas","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Desativado","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Apenas velocidade de fotogramas","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Velocidade de fotogramas e resolução","STREMIO_TV_SETTINGS_NO_CACHING":"Sem caching","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Predefinido","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Suave","STREMIO_TV_SETTINGS_PROFILE_FAST":"Rápido","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra rápido","STREMIO_TV_SETTINGS_SERVER_URL":"URL do servidor de streaming","STREMIO_TV_SETTINGS_SERVER_VERSION":"Versão do servidor","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Desconhecido","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Versão do Stremio","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Editar URL do servidor","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Introduz um URL do servidor de streaming","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Mostrar estatísticas enquanto carrega","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"Para leres a Política de privacidade do Stremio, vai a:","STREMIO_TV_SETTINGS_TOS_TEXT":"Para leres os Termos e condições do Stremio, vai a:","STREMIO_TV_NAV_SEARCH":"Pesquisar","STREMIO_TV_NAV_HOME":"Início","STREMIO_TV_NAV_DISCOVER":"Explorar","STREMIO_TV_NAV_LIBRARY":"Biblioteca","STREMIO_TV_NAV_MOVIES":"Filmes","STREMIO_TV_NAV_SERIES":"Séries","STREMIO_TV_NAV_CHANNELS":"Canais","STREMIO_TV_NAV_TV":"TV em direto","STREMIO_TV_NAV_SETTINGS":"Definições","STREMIO_TV_NAV_ADDONS":"Addons","STREMIO_TV_LOGIN_TITLE":"Associar conta","STREMIO_TV_LOGIN_EXPIRES_IN":"Expira em","STREMIO_TV_LOGIN_STEP_ONE":"Lê o código QR acima ou vai para","STREMIO_TV_LOGIN_STEP_TWO":"Inicia sessão na tua conta do Stremio","STREMIO_TV_LOGIN_NEW_LINK":"Pedir um novo link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Código de início de sessão atualizado","STREMIO_TV_SEARCH_PLACEHOLDER":"Escreve alguma coisa","STREMIO_TV_SEARCH_NO_ADDONS":"Não foram pedidos addons para catálogos!","STREMIO_TV_SEARCH_BUTTON":"Pesquisar","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Limpar","STREMIO_TV_SEARCH_HISTORY_TITLE":"Histórico de pesquisas","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Podes pesquisar por títulos, atores, canais e mais...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Limpar histórico de pesquisas","STREMIO_TV_FILTERS_DESCRIPTION":"Escolhe um dos filtros abaixo","STREMIO_TV_STREAMING_SERVER_OFFLINE":"O servidor de streaming está offline. Verifica as definições do servidor.","FILTERS":"Filtros","SETTINGS":"Definições","ACCOUNT":"Conta","LOGOUT":"Terminar sessão","THEMES":"Temas","PLAYBACK":"Reprodução","PLAYBACK_SPEED":"Velocidade de reprodução","AUDIO_TRACKS":"Faixas áudio","UNKNOWN_TRACK_LANG":"Desconhecido","VIDEOS":"Vídeos","SERVER":"Servidor","LINKS":"Links","ABOUT":"Acerca de","INTERFACE":"Interface","ANIMATIONS":"Animações","STATUS":"Estado","LANGUAGE":"Idioma","SIZE":"Tamanho","DELAY":"Atraso","BOLD":"Em negrito","OPACITY":"Opacidade","TEXT_COLOR":"Cor do texto","OUTLINE_COLOR":"Cor do contorno","BACKGROUND_COLOR":"Cor do fundo","BACKGROUND_BLUR":"Desfocagem do fundo","SEEK_TIME_DURATION":"Duração do tempo para avançar / recuar","AUTO_PLAY":"Reproduzir o próximo episódio automaticamente","PLAY_NOW":"Reproduzir agora","MARK_AS_WATCHED":"Marcar como visto","MARK_AS_UNWATCHED":"Marcar como não visto","REWIND_TO_BEGINNING":"Ver do início","CONTINUE_WATCHING":"Continuar a ver","ALL":"Tudo","SECONDS":"segundos","ON":"LIGADO","OFF":"DESLIGADO","RELOAD":"Recarregar","EDIT_URL":"Editar URL","NONE":"Nenhum","EMBEDDED":"Incorporadas","REMOTE_SWITCH_DEVICES":"Trocar dispositivos","REMOTE_VIDEOS":"Vídeos","REMOTE_ADJUST_TIMING":"Ajustar o tempo","REMOTE_ADJUST_SIZE":"Ajustar o tamanho","REMOTE_COULD_NOT_BE_LOADED":"Não foi possível carregar o Web Remote","REMOTE_RETRY":"Tentar novamente","TORRENT_PROFILE_DEFAULT":"Predefinido","TORRENT_PROFILE_SOFT":"Suave","TORRENT_PROFILE_FAST":"Rápido","TORRENT_PROFILE_ULTRA_FAST":"Ultra rápido","FAQ_001_H1":"O que é o stremio?","FAQ_001_P1":"O Stremio é um programa de multimédia centralizado desenhado para video entretenimento com a facilidade de utilização em mente. O Stremio permite-te organizares e veres a tua própria coleção de vídeos, séries, canais e TV em direto.","FAQ_001_P2":"O Stremio cataloga o teu conteúdo, seja através do teu disco local seja através do nosso sistema de addons.","FAQ_001_P3":"Também te notificaremos quando novos episódios/vídeos/filmes em que tenhas interesse sairem para o ar e mostrar-te-á recomendações de filmes.","FAQ_02_H1":"Como o Stremio se compara ao Kodi e Plex?","FAQ_02_P1":"Inspirámo-nos nos dois programas mas temos diferentes objetivos - o Stremio é especificamente voltado para o entretenimento de vídeo. Batalhámos para sermos a solução predefinida nesse sentido, tendo em foco a facilidade de utilização.","FAQ_02_P2":"Stremio nunca será tão customizável e nunca terá tantos recursos como Kodi e Plex. Mas será significativamente mais fácil de utilizar. Simplesmente ${1} obtém-no e comprova ${2} :)","FAQ_03_H1":"Como o Stremio se compara à Netflix?","FAQ_03_P1":"Novamente, a Netflix é uma das nossas inspirações. Trabalharemos arduamente para atingir a experiência de utilização proporcionada pela Netflix e mais uma quantidade de melhorias. No entanto, o mais importante é dar-vos a liberdade de organizarem a vossa própria biblioteca e adicionar novas fontes de conteúdos com o nosso sistema de addons.","FAQ_03_P2":"Isso faz do Stremio infinitamente extensível e assim que o utilizares nunca ficarás limitado ao conteúdo que a Netflix decida licenciar. Por exemplo, através do Stremio podes ver o conteúdo de ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} e mesmo da ${9}Netflix${10}!","FAQ_04_H1":"Como o Stremio se compara ao Flipboard?","FAQ_04_P1":"Raramente recebemos esta questão, excepto quando falamos com pessoas iniciantes :)","FAQ_04_P2":"O Stremio é desenhado como um agregador de conteúdo tal e qual o Flipboard o faz para vídeo. Isto é muito parecido no nosso painel, painel este que te mostrará catálogos e notificações de novos episódios/novos vídeos que sigas, tal e qual o Flipboard.","FAQ_05_H1":"Como o Stremio se compara ao Popcorn Time?","FAQ_05_P1":"O Stremio e o Popcorn Time são semelhantes na interface de utilização porque não há muitas formas de fazer catálogo de vídeo entretenimento, certo? :)","FAQ_05_P2":"Mas enquanto o Popcorn Time tem o foco numa entrega de torrents que provêm de fontes específicas, o Stremio não possui restrições e é meramente um agregador de conteúdo - não está bloqueado a uma fonte de conteúdo específica.","FAQ_05_P3":"Além disso, não fornecemos quaisquer addons de torrent por defeito, pelo que o Stremio não cobre o caso de utilização do Popcorn Time com funcionalidade oficial.","FAQ_05_P4":"Uma outra diferença notável é que o Popcorn Time é completamente de código aberto enquanto o Stremio é ${1} parcialmente de código aberto ${2}.","FAQ_06_H1":"Vocês é que adicionam estes filmes/séries?","FAQ_06_P1":"Não, desculpa :(","FAQ_06_P2":"Como já mencionámos noutras questões, o Stremio não partilha nenhum conteúdo por si próprio - tudo é adicionado diretamente pelo sistema de addons. Caso queiras pedir algum conteúdo, pode utilizar o botão “Reportar” no leitor e assim enviar um e-mail para o autor do addons com que te encontras a utilizar.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Criarão addons para X?","FAQ_08_P1":"É inteiramente possível.","FAQ_08_P2":"Se tens alguma ideia para um addon, escreve para ${1}office@stremio.com${2}, mas por favor, assegura-te de que a ideia desse addon não infringirá nenhum direito de propriedade intelectual nem os Termos de utilização.","FAQ_08_P3":"De momento, os próximos movimentos no nosso projeto são addons para FandangoNOW, vídeo on demand no Filmon.tv e no Crunchyroll.","FAQ_09_H1":"O Stremio utiliza o BitTorrent?","FAQ_09_P1":"Sim. O Stremio suporta o BitTorrent como um protocolo streaming. Podes utilizá-lo com o addon torrent ou por arrastar e soltar um ficheiro .torrent dentro do Stremio ou até mesmo colando um magnet link dentro do campo de pesquisa.","FAQ_09_P2":"Por favor, nota que o único addon oficial que utiliza o BitTorrent é o ${1}Vodo${2}, ao qual fornece produção independente, todos com permissão para serem distribuídos com o BitTorrent.","FAQ_09_P3":"Não suportamos a utilização de qualquer addon de terceiros que possa viabilizar o infringimento de leis de direitos.","FAQ_10_H1":"O que posso ver no Stremio com os addons oficiais?","FAQ_10_P1":"Por predefinição, podes ver conteúdos do Filmon.tv, YouTube e Vodo no próprio Stremio, com o seu leitor incorporado. Além disso, temos um addon para o Twitch.tv e alguns outros.","FAQ_10_P2":"Esta combinação fornece uma seleção de:","FAQ_10_L1":"Canais de TV populares, fornecido por Filmon.tv - por exemplo E4, BBC, Bollyworld TV","FAQ_10_L2":"Tudo do YouTube - por exemplo BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Filmes indepententes com Vodo","FAQ_10_L4":"Transmissões de jogos online com a Twitch.tv","FAQ_10_P3":"Adicionalmente, há muitas fontes de conteúdo fornecidas com Guidebox e addons Netflix, ao qual <b>não</b> reproduzem inteiramente dentro do Stremio, mas pode redirecionar para o dado serviço. Por exemplo, o addon Guidebox dá-te uma seleção de filmes que podes fazer stream gratuitamente dentro dos Estados Unidos através de serviços como o TubiTV e o Crackle.","FAQ_11_H1":"O Stremio não instala, o que devo fazer?","FAQ_11_P1":"Se utilizas Windows, tenta ${1}este instalador alternativo${2}.","FAQ_11_P2":"Se utilizas Mac OS X, por favor, tem em conta que não suportamos versões inferiores ao OS X Mavericks (10.9).","FAQ_11_P3":"Caso estejas a utilizar Linux, tem em conta que neste momento apenas damos suporte para a versão de 64 bits (x64).","FAQ_11_P4":"Se não ainda não conseguiste resolver o teu problema, por favor, envia-nos uma mensagem no ${1}Grupo do Facebook${2}.","FAQ_12_H1":"Porque é que o meu antivírus está a notificar-me? O Stremio é seguro?","FAQ_12_P1":"Asseguramos-te de que o Stremio é ${1}100% limpo${2}.","FAQ_12_P2":"O teu antivírus está a notificar-te, porque incluimos publicidade no nosso instalador e isso faz com que o Stremio seja classificado como um adware.","FAQ_12_P3":"Se não estás seguro, podes utilizar o nosso ${1}instalador alternativo${2}.","FAQ_13_H1":"Como posso fazer um addon?","FAQ_13_P1":"Para iniciantes, recomendados que leiam o nosso ${1}módulo de sistema de addons${2} no GitHub.","FAQ_13_P2":"Todavia, podes seguir o ${1}Tutorial do Olá Mundo${2}.","FAQ_13_P3":"Se não tens nenhum conhecimento em programação, por favor, publica a tua ideia na ${1}comunidade Reddit${2} e partilha-a com ${3}office@stremio.com${4}.","FAQ_14_H1":"Como os addons são publicados?","FAQ_14_P1":"Quando crias um addon e um hospedor, colocas um campo <b>endpoint</b> no teu manifesto, ao qual aponta para um endereço de addon ativo. O addon ficará automaticamente publicado no nosso ${1}Catálogo de addons{2}.","FAQ_14_P2":"Esta situação acontece porque parte do servidor do módulo de addons do Stremio, que faz automaticamente uma chamada para a nossa API para publicar o addon. Quando a nossa API o valida <b>endpoint</b> como um addon válido, ficará disponível no nosso catálogo.","FAQ_15_H1":"Posso executar o Stremio no navegador?","FAQ_15_P1":"De momento não, mas em breve!","FAQ_15_P2":"Se estás curioso para ver uma versão Alpha, podes aceder aqui: ${1}alpha4.strem.io${2}. Tem em conta que o streaming está inativo. Damos suporte para Chrome, Firefox, Opera e Edge.","FAQ_16_H1":"A transmissão para a TV não funciona / legendas não funcionam","FAQ_16_P1":"A transmissão para a TV utiliza a tecnologia DLNA que é muito inconsistente entre modelos de fabricantes diferentes. Por esta razão, nós não temos a habilidade de testar cada caso então estamos longe da perfeição. Continuamos a trabalhar no sentido de melhorar cada vez mais a aplicação mas não podemos dar uma estimativa de tempo de quando a tecnologia DLNA funcionará corretamente na tua TV.","FAQ_16_P2":"Se ainda não vês a tua TV no menu de transmissão, por favor, tenta desativar a tua conexão de rede e ativa-a novamente (no Windows, clica com o botão direito em Rede e clica em Ativar/Desativar), reinicia também o teu rooter, TV e PC.","FAQ_16_P3":"Se estás ainda a encontrar problemas, podes ajudar-nos ao enviares a informação do teu modelo de TV e fabricante para ${1}office@stremio.com${2}.","FAQ_16_P4":"Entretanto, recomendamos o Chromecast, ao qual suportamos muito bem ou até simplesmente conectando a tua TV ao teu PC com um cabo HDMI.","FAQ_17_H1":"O Stremio bloqueia/falha, o que posso fazer?","FAQ_17_P1":"Primeiro de tudo, se estás a utilizar o Windows 7 com o antivírus AVG: temos problemas com essa combinação. O problema é o próprio AVG e não há uma solução definitiva para corrigirmos isso. Infelizmente, exceções ou desativar o antivírus não funciona. A única forma é trocares o teu antivírus.","FAQ_17_P2":"Se isso não é o problema, mas usa Windows, por favor atualize seu o sistema, incluíndo os drivers da GPU e tente novamente.","FAQ_17_P3":"Se o teu problema continua sem solução ou utilizas Mac ou Linux, por favor escreve-nos reportando em detalhe o problema no ${1}nosso grupo do Facebook${2}.","FAQ_18_H1":"Como posso fazer um addon?","FAQ_18_P1":"Para iniciantes recomendamos que vejas o nosso ${1}módulo de sistema de addons{2} no GitHub.","FAQ_18_P2":"No entanto, podes guiar-te pelo nosso ${1}tutorial do Olá Mundo!${2}.","FAQ_18_P3":"Se não tens nenhuma habilidade em programação, por favor, publica a tua ideia na ${1}comunidade do Reddit${2} e contacta-nos com a tua ideia de addon para ${3}office@stremio.com${4}.","FAQ_19_H1":"Porque é que o Stremio está a ocupar espaço em disco?","FAQ_19_P1":"O Stremio tem um <b>cache local</b> para temporariamente deixar os ficheiros de vídeo descarregados.","FAQ_19_P2":"Esta situação tem dois benefícios: primeiro, permite ao Stremio pré-carregar o vídeo para garantir uma transmissão suave. Segundo, isto deixa os vídeos na cache local para que possas continuar a ver offline.","FAQ_19_P3":"Quanto depende o Stremio da configuração do <b>Cache</b> no painel das Definições. O Stremio pode manter uma quantidade (exemplo 2GB) no teu disco, a menos que o video descarregado seja maior que isso e nesse caso pode necessitar de mais espaço para mantê-lo enquanto o descarrega.","FAQ_20_H1":"Onde está a pasta da cache?","FAQ_20_P1":"No Windows, a cache do Stremio fica no caminho que selecionaste nas definições (exemplo \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"No MacOS, fica em \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"No Linux, fica em \\"~/.stremio/stremio-cache\\" ou \\"~/stremio-cache\\"","FAQ_21_H1":"Recebi a mensagem de erro \\"Servidor de streming não encontrado\\", o que posso fazer?","FAQ_21_P1":"Se recebeste esta mensagem implica uma das possibilidades:","FAQ_21_P2":"1) Estás a tentar utilizar um addon suportado pelo código do YouTube/BitTorrent através da nossa ${1}versão web${2}. Nesse caso, deves instalar a nossa versão para desktop através do ${3}nosso site${4}.","FAQ_21_P3":"2) Há algo de errado com a instalação do Stremio. Neste caso, tenta reinstalar a nossa versão mais recente através ${1}do site${2}. Se isto não ajudar, tenta desativar os programas de antivírus e firewal, reinicia o teu PC e tenta novamente. Se isto não funcionar, por favor, entra em contacto pelo ${3}nosso grupo do Facebook${4}.","FAQ_22_H1":"Eu não posso ver/utilizar a maioria dos addons no iOS","FAQ_22_P1":"Devido a restrições dos Termos e condições da loja da Apple, temos restringido apenas a aplicação iOS de um grupo particular de addons.","FAQ_22_P2":"Mas fica atento - existirão mais addons para iOS no futuro e poderemos também adicionar uma integração que permitirá a utilização de todos os addons do Stremio graças à conexão da aplicação iOS com o servidor de Streaming do Stremio."}')},29894:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Film","TYPE_series":"Serial","TYPE_tv":"Canal TV","TYPE_channel":"Canal","TYPE_other":"Altele","TYPE_movie_PL":"Filme","TYPE_series_PL":"Seriale","TYPE_tv_PL":"Canale TV","TYPE_channel_PL":"Canale","TYPE_other_PL":"Altele","TYPE_ALL":"Toate","TYPE":"Type","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"Video","BACK":"Înapoi","MORE":"Mai mult","DONE":"Gata","COPY":"Copiere","SUCCESS":"Succes","ERROR":"Eroare","SETTINGS_CASTING_MODE_PICKER":"Mod de redare pe dispozitiv extern","CASTING_MODE_HLSV2":"Implicit","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Fără transcodare","Discover":"Descoperă","Board":"Tablou","Library":"Bibliotecă","My Library":"Biblioteca Mea","Calendar":"Calendar","NOTIFICATION_ONLINE":"Ești online acum","NOTIFICATION_OFFLINE":"Ești în modul offline","INTERNET_CONNECTION":"Conexiune la rețea","STORAGE_FULL_TITLE":"Atenție: Spațiul de stocare este plin!","STORAGE_FULL_TEXT":"Stremio nu va putea să-ți salveze setările, preferințele sau informațiile de autentificare. Poți să consideri repornirea sau reinstalarea Stremio.","SEARCH":"căutare","SEARCH_NO_RESULTS":"Nu au fost găsite rezultate","SEARCH_EXPLANATION_CONTENT":"Caută filme, seriale, clipuri YouTube și canale TV","SEARCH_EXPLANATION_PEOPLE":"Caută actori, regizori și scenariști","SEARCH_PASTE_LINKS":"Lipește linkuri HTTP și Magnet","SEARCH_OR_PASTE_LINK":"Caută sau lipește linkul","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"Adaugă în Bibliotecă","REMOVE_FROM_LIB":"Șterge din Bibliotecă","ADDED_TO_LIB":"Adăugat în Bibliotecă","REMOVED_FROM_LIB":"Șters din Bibliotecă","TRAILER":"Trailer","WATCH_TRAILER":"Vizualizează Trailerul","WATCH_NOW":"Vizionează Acum","SHOW":"Arată","SHOW_MOVIE":"Arată Filmul","WATCH_RANDOM":"Vizionează Aleatoriu","IMDB_RATING":"Rating IMDb","YEAR":"An","DIRECTOR":"Regizor","WRITER":"Scenarist","LEAD_ACTORS":"Actorii Principali","CAST":"Distribuție","CREW":"Echipă","SHOW_MORE_CAST":"Arată mai mult »","AIRED":"A fost difuzat","SEASONS":"Sezoane","GENRE":"Gen","GENRE_ALL":"All genres","CATALOG":"Catalog","SUMMARY":"Rezumat","SHOW_MORE":"Arată Mai Mult","SIMILAR":"Asemănător","UPCOMING":"Viitoare","ENDED":"S-a încheiat","DURATION":"Durată","FEATURED":"Recomandat","METADATA":"Metadate","CATEGORY":"categorie","LINKS_GENRES":"Genuri","LINKS_CAST":"Distribuție","LINKS_DIRECTORS":"Regizori","SEARCH_VIDEOS":"caută videoclipuri","SEARCH_PLACEHOLDER":"caută sau lipește URL-ul","ADDON":"extensie","ADDONS":"Extensii","OFFICIAL":"oficial","ADDONS_OFFICIAL":"Extensii Oficiale Stremio","ADDONS_POPULAR":"Populare în zona ta","ADDON_FREE":"gratuit","ADDON_PEERED":"partajat","ADDON_SUBSCRIPTION":"abonament","ADDON_STREAM_GEORESTRICTED":"indisponibil în zona ta","ADDON_STREAM_OFFLINECACHE":"Cache Offline","ADDON_STREAM_LOCALFILE":"Fișier Local","SHARE_ADDON":"Distribuie extensia","AVAILABLE_STREAMS":"Stream-uri disponibile","NO_STREAM":"Nu au fost găsite stream-uri","ALL_ADDONS":"Toate","INSTALL_MORE_ADDONS":"Pentru mai multe stream-uri, instalează mai multe extensii","STREAM_NOT_SUPPORTED":"Stream-ul selectat nu este suportat pe această platformă.","ADDON_CATALOGUE":"Arată toate extensiile »","ADDON_CATALOGUE_MORE":"Instalează extensii","REPO_ADDED":"Repozitoriu adăugat","ADDON_REPO_EXIST_ERR":"Această colecție de extensii există deja","ADDON_REPO_ERR":"A apărut o eroare la adăugarea colecției","ADDON_ADD_ERR":"A apărut o eroare la adăugarea extensiei","ERR_ADDON_PROTECTED":"Nu poți dezinstala această extensie, este protejată","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Ceva a mers greșit - autentificarea se poate să fi eșuat","ERR_NOT_COLLECTION_URL":"Nu este un URL de colecție","ERR_NOT_ADDON_URL":"Nu este un URL valid de extensie","ERR_DETECTFROMURL":"Nu se poate găsi extensia/colecția din acest URL","ADDON_DUPLICATE_WARNING":"Atenție: extensie duplicată","ADDON_COLLECTION_SET_FAILED":"Sincronizarea extensiilor instalate cu contul tău a eșuat","SETTINGS_DATA_EXPORT":"Exportă datele utilizatorului","ADDON_PULL_FAILED":"Sincronizarea extensiilor instalate din contul tău a eșuat","REFRESH_ON_CLICK":"Click pentru a reîncerca","STILL_IN_THEATER":"Film încă în cinematografe","WATCH_IN_CINEMA":"Vizionează-l în cinematograful local","IN_THEATER":"În cinematograf","GET_TICKETS":"Obține bilete","UPCOMING_EPISODE":"Episod viitor","UPCOMING_EPISODE_MESSAGE":"Acest episod va fi difuzat în data de","MISSING_DATE_EPISODE":"Data episodului lipsește","MISSING_DATE_EPISODE_MESSAGE":"Acest episod poate încă să nu fi fost difuzat","CHANNEL_NOT_SCRAPED":"Acest canal nu a fost încă explorat.<br>Vă rugăm să reveniți în câteva minute.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Adaugă-l în biblioteca ta pentru a fi notificat când devine disponibil.","GET_NOTIFIED_WHEN_AVAILABLE":"Veți fi notificat(ă) când devine disponibil.","WARNING_STREAMING_SERVER":"Atenție: serverul local de streaming nu a fost găsit. Redarea din fișiere locale, YouTube și BitTorrent nu va fi disponibilă.","WARNING_STREAMING_SERVER_DISMISS":"Ignoră","WARNING_STREAMING_SERVER_LATER":"Mai târziu","DECODER_WARNING":"Atenție: acest video s-ar putea să nu fie suportat de hardware-ul tău. Ține minte, redarea ar putea fi lentă.","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"Ops, eroare la player","PLAYER_ERROR_LOOKSLIKE":"Se pare că","PLAYER_ORIENTATION":"Orientare player","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Blocat","PLAYER_ORIENTATION_SENSOR_SHORT":"Senzor","PLAYER_ORIENTATION_LANDSCAPE":"Orientare player blocată la peisaj","PLAYER_ORIENTATION_SENSOR":"Orientare player automată (senzor)","PLAYER_PLAYBACK_SPEED":"Viteză redare","PLAYER_PLAYBACK_ERROR":"Eroare de redare, te rugăm să reîncerci","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Eroare necunoscută","PLAYER_PLAYBACK_ERROR_DEFAULT":"Scuze, acest video nu poate fi redat de {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Limbi subtitrări","PLAYER_SUBTITLES_VARIANTS":"Variante subtitrări","PLAYER_SUBTITLES_SETTINGS":"Setări subtitrări","PLAYER_SUBTITLES_DISABLED":"Subtitrările sunt dezactivate","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Poziție verticală","PLAYER_SUBTITLES_LOADED":"Subtitrări încărcate","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Subtitrări încorporate încărcate","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Subtitrări exclusive încărcate","PLAYER_SUBTITLES_LOADED_ORIGIN":"Subtitrări de la {{origin}} încărcate","PLAYER_PLAY":"Redare","PLAYER_PAUSE":"Pauză","PLAYER_NEXT_VIDEO":"Următorul videoclip","PLAYER_MUTE":"Dezactivare sunet","PLAYER_UNMUTE":"Activare sunet","PLAYER_OPEN_IN_EXTERNAL":"Deschide în player extern","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Redă în {{device}}","PLAYER_LIVE":"În direct","PLAYER_NEXT_VIDEO_TITLE":"Următorul pe","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Ignoră","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Urmărește acum","PLAYER_COPY_STREAM_SUCCESS":"Linkul de stream a fost copiat în clipboard","PLAYER_COPY_STREAM_ERROR":"Nu s-a putut copia linkul de stream","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","STREAMING_FROM":"streaming de la","CASTING_TO":"Redarea pe","NETWORK_STATUS":"Stare rețea","STREAM_SPEED":"Viteză stream:","STREAM_BUFFERED":"Bufferizat:","PEERS_INFO":"Informații despre parteneri","PEERS_ACTIVE":"Activi:","PEERS_CONNECTED":"Conectați:","PEERS_WAITING":"În așteptare:","TRANSCODING_WARNING":"Atenție: video-ul este transcodat.","STREAM_LOADING":"se încarcă...","PLAYING_LOCAL":"se redă din fișier local","PLAYING_CACHE":"se redă din cache","WRONG_SUBS":"Subtitrări greșite?","ERR_SUBS_LOADING_TITLE":"Eroare la încărcarea subtitrărilor","ERR_SUBS_LOADING":"Eroare la încărcarea subtitrărilor: aceasta poate fi o problemă cu extensia pe care o folosiți sau cu conexiunea la rețea","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Următoarele extensii de subtitrări au eșuat","ERR_CASTING_UPDATE_TITLE":"Nu s-a putut actualiza informațiile despre dispozitivul de redare: serverul de streaming poate fi offline","CHOOSE_DEVICE":"Alege un dispozitiv pentru a urmări","NO_CAST_DEVICES":"Nu sunt dispozitive de redare disponibile.","NO_SETTINGS":"Nu sunt setări disponibile.","PHONE_TABLET":"Telefon / Tabletă","SUBTITLES":"Subtitrări","SUBTITLES_CHANGE":"Schimbă subtitrările pentru ","SUBTITLES_CHANGE_NONE":"Nu există alte subtitrări pentru această limbă, ne pare rău.","SUBTITLES_CHANGE_ACIVE":"În prezent subtitrarea &#35;{{subtitlesDialog.activeIdx + 1}} este activată. Dă clic pe „Continuă” pentru a activa subtitrarea &#35;{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Sau, în mod alternativ,","SUBTITLES_ADJUST_DELAY":"Ajustează întârzierea subtitrărilor:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Sau folosește tastele <span>G</span> / <span>H</span> în timpul redării pentru a ajusta.","SUBTITLES_ADJUST_DELAY_TIP":"SFAT: poți folosi tastele <span>G</span> / <span>H</span> în timpul redării pentru a ajusta.","SUBTITLES_DELAY":"Întârziere subtitrări:","SUBTITLES_LOADING":"Se încarcă subtitrările...","SUBTITLES_UNAVAILABLE":"Nu sunt disponibile subtitrări externe","SUBTITLES_DISABLED":"Dezactivate","EXTERNAL_PLAYER_DISABLED":"Dezactivat","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Permite selectarea","EXTERNAL_PLAYER_HINT":"Sugestie: există o setare pentru a permite deschiderea întotdeauna cu playerul extern","DONT_SHOW_AGAIN":"Nu mai arăta","SERVICE_INSTALL":"Instalează","AUDIO":"Audio","DEFAULT_LANGUAGE":"Limbă implicită","DEFAULT_SECONDARY_LANGUAGE":"A doua limbă implicită","SEASON":"Sezon","EPISODE":"Episod","EPISODE_ABBREVIATION":"EP","SPECIAL":"Special","SORT":"sortează","SORT_BY":"Sortează după","FILTER":"filtrează","SORT_TRENDING":"trending","SORT_RECENT":"recent","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"evaluare","SORT_WATCHED":"văzute","SORT_YEAR":"an","SELECT_TYPE":"Selectează tipul","SELECT_SORT":"Selectează sortarea","SELECT_CATALOG":"Selectează catalogul","SELECT_GENRE":"Selectează genul","SORT_LASTWATCHED":"După ultima vizionare","SORT_NAME":"După nume","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"După numărul de vizionări","SORT_NOTWATCHED":"not watched","New for You":"Nou pentru tine","New Episodes":"Episoade noi","New Videos":"Clipuri noi","Recommendations":"Recomandări","LIBRARY_RESUME":"Continuă","LIBRARY_PLAY":"Redă","LIBRARY_DETAILS":"Detalii","LIBRARY_RESUME_DISMISS":"Ignoră","LIBRARY_CLEAR_PROGRESS":"Șterge progresul","LIBRARY_REMOVE":"Elimină","LIBRARY_NOT_LOGGED_IN":"Biblioteca este disponibilă doar pentru utilizatorii autentificați","CALENDAR_NOT_LOGGED_IN":"Calendarul este disponibil doar pentru utilizatorii autentificați","NOT_LOGGED_IN_CLOUD":"Accesează filmele și serialele tale favorite în orice moment și oriunde","NOT_LOGGED_IN_RECOMMENDATIONS":"Recomandări adaptate istoricului tău de vizionare","NOT_LOGGED_IN_NOTIFICATIONS":"Nu pierde niciodată un episod nou","NOT_LOGGED_IN_CALENDAR":"Stabilește-ți propriul calendar personal de vizionare","DISCOVER_FEATURED":"Recomandate","DISCOVER_TOP":"Top","DISCOVER_OSCAR":"Câștigători ai premiului Oscar","DISCOVER_WARNING_TITLE":"Oops!","DISCOVER_EMPTY_CATALOG":"Această extensie a returnat conținut gol.","DISCOVER_ADULT_WARNING":"Conținutul este vizibil doar pentru adulți. Ai peste 18 ani?","DISCOVER_NOADDON_WARNING":"Atenție: nicio extensie Stremio activă pentru acest tip. Se afișează elemente salvate, nimic nu se va actualiza aici.","DISCOVER_LOAD_ERR":"Conținutul nu s-a încărcat, a apărut o eroare.","DISCOVER_ADDON_UNINSTALLED":"Acest conținut nu mai este disponibil, este posibil să fi dezinstalat extensia.","UNINSTALL_THIS_ADDON":"Dezinstalează această extensie","ERR_ADDON_NOT_INSTALLED":"Această extensie nu este instalată. Să o instalezi acum?","DETAIL_RECEIVE_NOTIF_SERIES":"Primi notificări pentru episoade noi","DETAIL_RECEIVE_NOTIF_VIDEOS":"Primi notificări pentru videoclipuri noi","SIDEBAR_SHOW_STREAMS":"Afișează fluxurile","RELAUNCH":"Reporniți acum!","UPGRADE":"Este disponibilă o nouă versiune! Actualizați la cea mai recentă versiune Stremio","RELOAD_UI":"Reîncărcați interfața de utilizator","MANUAL_UPDATE_TITLE":"Actualizați versiunea Stremio","MANUAL_UPDATE_LINE1":"Rulați o versiune învechită a Stremio, ceea ce nu este deloc recomandat.","MANUAL_UPDATE_LINE2":"Vă rugăm să actualizați cât mai curând posibil.","BUTTON_UPDATE_LATTER":"Nu acum","BUTTON_UPDATE_NOW":"Actualizați","ANONYMOUS_USER":"Utilizator anonim","DONT_HAVE_ACC":"Nu aveți un cont?","HAVE_ACC":"Aveți deja un cont?","PASSWORD":"Parolă","PASSWORD_CONFIRM":"Confirmați parola","EMAIL":"E-mail","FB_LOGIN":"Continuați cu Facebook","FB_NOTHINGSHARED":"Nu se distribuie nimic fără permisiunea dvs.","FB_NOPOST":"Nu vom posta nimic în numele dvs.","OR":"sau","I_ACCEPT":"Accept ","I_ACCEPT_BY_CLICKING":"Prin apăsarea butonului de mai sus, declar că accept ","TOS":"Termenii și condițiile","MUST_ACCEPT_TERMS":"Trebuie să acceptați termenii","PASSWORDS_NOMATCH":"Parolele nu se potrivesc","SIGN_UP":"Înregistrare","SIGN_UP_EMAIL":"Înregistrare cu e-mailul","CLICK_TO_SIGN_UP":"Apăsați aici pentru a vă înregistra.","LOG_IN":"Autentificare","LOG_OUT":"Deconectare","EXIT_FULLSCREEN":"Ieșiți din modul ecran complet","ENTER_FULLSCREEN":"Intrați în modul ecran complet","PLAY_URL_MAGNET_LINK":"Redați URL-ul/Linkul Magnet","HELP_FEEDBACK":"Ajutor și Feedback","TERMS_OF_SERVICE":"Termeni și Condiții","PRIVACY_POLICY":"Politica de Confidențialitate","ABOUT_STREMIO":"Despre Stremio","USER_PANEL":"Panou de Utilizator","LOGIN_LABEL":"Autentificare","GUEST_LOGIN":"Autentificare pentru oaspeți","GUEST_LOGIN_NOTICE":"Autentificarea pentru oaspeți nu este recomandată. Folosind o autentificare regulată, Stremio poate sincroniza Biblioteca dvs., poate primi notificări pentru serii/canale favorite. Sunteți sigur că doriți să continuați?","GUEST_LOGIN_NOTICE_2":"Autentificarea pentru oaspeți nu este recomandată - nu veți avea Biblioteca sincronizată și notificările din Panoul de noutăți, care sunt caracteristici vitale ale Stremio. Sunteți sigur că doriți să continuați?","CLICK_HERE":"apăsați aici","WRONG_PASSWORD":"E-mail sau parolă incorectă. În cazul în care ați uitat parola, ","SET_A_PASS":"setați o parolă","RESET_PASSWORD":"Resetați parola","FORGOT_PASSWORD":"Ați uitat parola?","EMAIL_USED_WITH_FB":"Acest e-mail a fost folosit pentru autentificarea cu Facebook.","INVALID_EMAIL":"Vă rugăm să introduceți o adresă de e-mail validă","INVALID_PASSWORD":"Vă rugăm să introduceți o parolă validă","CONN_ERR":"Eroare de conexiune - vă rugăm să încercați din nou mai târziu.\\n\\nDacă problema persistă, dezactivați firewall-urile/programul antivirus (în special Bitdefender).","IMPORT_FROM_GUEST":"Importați Biblioteca din contul de oaspeți","RECEIVE_UPDATES_EMAIL":"Primirea actualizărilor prin e-mail de la Stremio","LOGIN_FAILED":"Autentificare eșuată.","SIGNUP_FAILED":"Înregistrare eșuată.","SEARCH_FAILED":"Căutarea a eșuat","EMAIL_USED":"Acest e-mail este deja în uz.","WAITING_FB_LOGIN":"Se autentifică cu Facebook...","EXTERNAL_PLAYER_TITLE":"Redați în playerul extern","EXTERNAL_REMEMBER_PLAYER":"Doriți să vă amintiți alegerea dvs.?","EXTERNAL_ALWAYS_PLAY":"Da","EXTERNAL_ONLY_ONCE":"Nu","BEST_FIT":"Potrivire perfectă","FIT_SCREEN":"Potrivire ecran","FILL":"Umplere","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"Spuneți-ne despre ce vă place","INTRO_TASTE_LONG":"Spuneți-ne despre ce ați dori să urmăriți","INTRO_TASTE_PICK":"Alegeți {{interestsRemaining}} interese","INTRO_TASTE_PICK_MORE":"Alegeți încă {{interestsRemaining}} interese","INTRO_TASTE_HELP_US":"Ajutați-ne să vă cunoaștem mai bine.","INTRO_TASTE_CHOOSE_THESE":"Alegeți din acestea:","INTRO_TASTE_CHOOSE_MIN":"Alegeți cel puțin 3 categorii","INTRO_TASTE_CHOOSE_MIN_ERR":"Trebuie să alegeți cel puțin 3 categorii!","INTRO_TASTE_LIFESTYLE":"Stil de viață","INTRO_TASTE_SPORTS":"Sporturi","INTRO_TASTE_FOOD_HEALTH":"Mâncare și Sănătate","INTRO_TASTE_BEAUTY_FASHION":"Frumusețe și Modă","INTRO_TASTE_NEWS":"Știri","INTRO_TASTE_GAMING":"Jocuri video","INTRO_TASTE_SCIENCE_EDU":"Știință și Educație","INTRO_TASTE_MUSIC":"Muzică","INTRO_TASTE_TRAVEL":"Călătorii","INTRO_TASTE_LATE_NIGHT":"Emisiuni târzii","INTRO_TASTE_REALITY":"Realitate","INTRO_TASTE_COMEDY":"Comedie","INTRO_TASTE_DIY":"Fă-ți singur","INTRO_TASTE_TECH":"Tehnologie","INTRO_TASTE_CINEMA":"Cinematografie","ADDON_NOT_SUPPORTED":"Addon-ul selectat nu este suportat pe această platformă.","ADDON_DISCLAIMER":"Utilizarea addon-urilor de la terți va fi întotdeauna sub responsabilitatea dvs. și sub supunerea legii din jurisdicția în care vă aflați.","ADDON_ACTIVATE":"Doriți să activați acest addon?","ADDON_REPO_ADD":"URL colecție addon-uri","ADDON_ADD":"Adăugare","INSTALL_ADDON":"Install addon","ADD_ADDON":"Adăugați addon","ADD_ADDON_DESCRIPTION":"Puteți adăuga un addon prin intermediul unui link extern, care va apărea sub addon-urile instalate.","PASTE_ADDON_URL":"Lipiți URL-ul addon-ului","WHATS_NEW":"Ce este nou","BUTTON_CONTINUE":"Continuare","BUTTON_ACTIVATE":"Activează","BUTTON_ACTIVATED":"Activat","BUTTON_CANCEL":"Anulare","BUTTON_SUBMIT":"Trimite","BUTTON_DISMISS_ALL":"Respingeți tot","BUTTON_VIEW_ALL":"vezi toate","BUTTON_SEE_ALL":"Vezi toate","BUTTON_COLOR_TRANSPARENT":"Transparent","OPEN_IN_BROWSER":"Deschideți în browser","LIB_EMPTY":"Biblioteca dvs. pare goală. Aflați cât de utilă poate fi :) ","HOW_START":"Iată cum puteți începe:","LIB_EMPTY_CAL":"Calendarul dvs. afișează serii din Biblioteca dvs.","HOW_START_CAL":"Iată cum puteți adăuga serii:","LIB_EMPTY_BOARD":"Bordul afișează notificări și recomandări legate de Biblioteca dvs.","HOW_START_BOARD_WAIT":"Vă rugăm să adăugați câteva serii sau canale la Biblioteca dvs. și acordați-ne câteva minute pentru procesare :)","HOW_START_BOARD":"Iată cum puteți adăuga serii și filme:","IMPORT_FB":"Importați lucrurile pe care le iubiți de pe <span>Facebook</span>","IMPORT_TRAKT":"Importați biblioteca media de pe <span>Trakt</span>","IMPORT_DISCOVER":"Găsiți lucruri interesante de pe <span>Discover</span>","IMPORT_DISK":"Importați filme sau serii pe care le aveți pe <span>discul local</span>","PLEASE_CREATE_ACC":"Vă rugăm să <u>creați un cont</u> pentru a activa sincronizarea Bibliotecii și Bordul.","IMPORT_DISCOVER_SIGNUP":"Înregistrați-vă și găsiți lucruri interesante de pe <span>Discover</span>","IMPORT_DISK_SIGNUP":"Înregistrați-vă și importați filme sau serii pe care le aveți pe <span>discul local</span>","LIB_EMPTY_CLOUD":"Bibliotecă cloud","LIB_EMPTY_CLOUD_DESC":"Bibliotecă personală în cloud sincronizată pe toate dispozitivele","LIB_EMPTY_EARLY":"Primii pași","LIB_EMPTY_EARLY_DESC":"Primirea notificărilor pentru episoade noi","LIB_EMPTY_PERSONAL":"Personal","LIB_EMPTY_PERSONAL_DESC":"Obțineți recomandări personale","LIB_EMPTY_CALENDAR_DESC":"Planificați-vă calendarul personal de vizionare","LIB_EMPTY_ALL":"Înregistrați-vă pentru a obține toate acestea:","LIB_EMPTY_BEST":"Înregistrați-vă pentru a obține cel mai bun din Stremio","LIB_EMPTY_OTHER":"Înregistrați-vă pentru a activa Calendarul și alte caracteristici interesante","CALENDAR_ADDED":"Calendarul Stremio a fost adăugat la calendarul implicit al desktopului.","CALENDAR_ADDED_MSG":"Dacă acest lucru nu funcționează, vă rugăm să adăugați manual acest URL la aplicația dvs. de calendar","TRAKT_EXPIRED":"Autentificarea Trakt a expirat, vă rugăm să mergeți la Setări și să vă autentificați din nou","TRAKT_REQUIRES_LOGIN":"Eroare Trakt","TRAKT_REQUIRES_LOGIN_MSG":"Trebuie să vă autentificați","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","SETTINGS_LABEL":"Setări","SETTINGS_NAV_GENERAL":"Generale","SETTINGS_NAV_PLAYER":"Player","SETTINGS_NAV_STREAMING":"Streaming","SETTINGS_NAV_SHORTCUTS":"Comenzi rapide","SETTINGS_SHORTCUT_RELOAD_APP":"Reîncarcă aplicația","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Deschideți Setările","SETTINGS_SHORTCUT_SWITCH_TABS":"Comutați între file","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Ciclați prin file înainte","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Ciclați prin file înapoi","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigați între meniuri","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Accesați căutarea","SETTINGS_SHORTCUT_EXIT_BACK":"Ieșiți / Reveniți înapoi","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Comutați meniul de viteză de redare","SETTINGS_SHORTCUT_MENU_VIDEOS":"Comutați meniul de videoclipuri","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Comutați meniul de subtitrări","SETTINGS_SHORTCUT_MENU_INFO":"Comutați meniul de informații","SETTINGS_SHORTCUT_FULLSCREEN":"Comutați la modul ecran complet","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Afișați controalele","SETTINGS_SHORTCUT_PLAY_PAUSE":"Redați / Pauză","SETTINGS_SHORTCUT_VOLUME_UP":"Creșteți volumul","SETTINGS_SHORTCUT_VOLUME_DOWN":"Scădeați volumul","SETTINGS_SHORTCUT_SEEK_NEXT":"Salt la următorul","SETTINGS_SHORTCUT_SEEK_PREV":"Salt la anteriorul","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Salt înapoi","SETTINGS_SHORTCUT_SEEK_FORWARD":"Salt înainte","SETTINGS_SHORTCUT_PLAY_NEXT":"Redați următorul","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Măriți dimensiunea subtitrărilor","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Micsorați dimensiunea subtitrărilor","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Creșteți întârzierea subtitrărilor","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Scădeați întârzierea subtitrărilor","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Comutați bara laterală","SETTINGS_SHORTCUT_OR":"sau","SETTINGS_SHORTCUT_TO":"la","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Autentificare","SETTINGS_FACEBOOK_IMPORT":"Importați","SETTINGS_CALENDAR_SUBSCRIBE":"Abonați-vă","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Limbă interfață","SETTINGS_LAUNCH_STARTUP":"Lansați la pornire","SETTINGS_VLC_DEFAULT":"Redați cu VLC","SETTINGS_UI_LANGUAGE":"Limbă UI","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Tasta Esc iese din modul ecran complet","SETTINGS_GAMEPAD":"Activați suportul pentru gamepad","SETTINGS_CLOSE_WINDOW":"Închideți aplicația la închiderea ferestrei","SETTINGS_SUBTITLES_LANGUAGE":"Limbă implicită pentru subtitrări","SETTINGS_SUBTITLES_SIZE":"Dimensiune implicită a subtitrărilor","SETTINGS_SUBTITLES_BACKGROUND":"Fundal subtitrări","SETTINGS_SUBTITLES_COLOR":"Culoare subtitrări","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Culoare contur subtitrări","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Culoare fundal subtitrări","SETTINGS_SEEK_KEY":"Taste sărire timp","SETTINGS_SEEK_KEY_SHIFT":"Taste sărire timp când tasta Shift este apăsată","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Durata de derulare rapidă înainte/înapoi","SETTINGS_BINGE":"Redare automată episod următor","SETTINGS_NEXT_VIDEO":"Afișare notificare pentru a începe următorul episod","SETTINGS_NEXT_VIDEO_TRIGGER":"Afișați notificarea pentru următorul episod pentru:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Durata afișării notificării pentru episodul următor","SETTINGS_PLAY_IN_BACKGROUND":"Redați în fundal","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Redați în playerul extern","SETTINGS_RESIZE":"Redimensionare automată a ferestrei înainte de redare","SETTINGS_OVERRIDE_SERVER":"Anulați URL-ul serverului de streaming (avansat)","SETTINGS_SERVER_URL":"URL server de streaming: ","SETTINGS_SERVER_AVAILABLE":"Serverul de streaming este disponibil.","SETTINGS_SERVER_UNAVAILABLE":"Serverul de streaming nu este disponibil.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Eroare","SETTINGS_SERVER_CONFIGURE_TITLE":"Configurați URL-ul serverului de streaming","SETTINGS_SERVER_CONFIGURE_INPUT":"Introduceți un URL pentru serverul de streaming","SETTINGS_SERVER_CACHE_SIZE":"Dimensiune cache","SETTINGS_SERVER_TORRENT_PROFILE":"Profil torrent","SETTINGS_HTTPS_ENDPOINT":"Endpoint HTTPS pentru streaming: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Utilizați întotdeauna cea mai recentă versiune Beta","SETTINGS_IMPORT_FB":"Importați din Facebook","SETTINGS_IMPORT_DISK":"Importați din discul local","SETTINGS_IMPORT_TRAKT":"Importați din Trakt","SETTINGS_PAUSE_MINIMIZED":"Pauzați redarea când este minimizată","SETTINGS_HWDEC":"Decodificare accelerată de hardware","SETTINGS_BACKGROUND":"Redare în fundal","SETTINGS_SUBSCRIBE_CALENDAR":"Abonați-vă la calendar","SETTINGS_REQ_EXPORT":"Solicitați exportul datelor","SETTINGS_ACC_DELETE":"Solicitați ștergerea contului","SETTINGS_CHANGE_PASSWORD":"Schimbați parola","SETTINGS_TOS":"Termeni și condiții","SETTINGS_SUPPORT":"Contactați suportul tehnic","SETTING_LANGUAGE":"Limbă","SETTINGS_TRAKT":"Scrobbling Trakt","SETTINGS_TRAKT_LOGOUT":"Deautentificare din Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Deautentificare din Trakt","SETTINGS_SCAN_FOR_REMOTE":"Scanați codul QR pentru a deschide comanda la distanță","SETTINGS_DESKTOP_NOTIFICATIONS":"Notificări de desktop","SETTINGS_DATA_SAVER":"Economizor de date","SETTINGS_LANGUAGE_INTERFACE":"interfață","SETTINGS_LANGUAGE_SUBS":"subtitrări implicite","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Selectați automat Pista audio","SETTINGS_DEFAULT_AUDIO_TRACK":"Pista audio implicită","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"cont","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"versiune","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"Lansați playerul într-o fereastră separată (avansat)","SETTINGS_PLAY_IN_EXTERNAL":"Începeți întotdeauna video în playerul extern","SETTINGS_STORAGE_BUTTON":"Ștergeți stocarea locală","SETTINGS_STORAGE_MODAL_TITLE":"Sunteți sigur?","SETTINGS_STORAGE_MODAL_MESSAGE":"Aceasta va șterge stocarea locală și vă va deconecta.","SETTINGS_HWDEC_PICKER":"Selectați setarea de decodificare accelerată de hardware","SETTINGS_HW_AUTOMATIC":"Automată","SETTINGS_HW_DISABLED":"Dezactivată","SETTINGS_HW_ACCELERATED":"Accelerare decodificare","SETTINGS_HW_FULL":"Accelerare completă","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Subtitrări","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Comenzi","SETTINGS_SECTION_AUTO_PLAY":"Redare automată","SETTINGS_SECTION_ADVANCED":"Avansate","SUBSPICKER_AUDIO":"Audio","SUBSPICKER_SUBTITLES":"Subtitrări extensii","SUBSPICKER_BLACK_BACKGROUND":"Utilizați culoarea de fundal neagră","SUBSPICKER_VERTICAL_OFFSET":"Deplasare verticală","SUBSPICKER_SIZE":"Dimensiune","SUBSPICKER_DELAY":"Întârziere","SUBSPICKER_EMBEDDED_SUBS":"Subtitrări incorporate","MOBILE_PRIVACY_POLICY":"Politica de confidențialitate","MOBILE_CRASH_REPORTING":"Raportarea incidentelor","MOBILE_ZOOM_TO_FILL":"Mărire pentru a umple ecranul","MOBILE_PASSTHROUGH":"Ieșire audio digitală (passthrough)","MOBILE_RUN_LOW_BATTERY":"Rulează cu bateria descărcată","MOBILE_RUN_FOREGROUND":"Rulează ca serviciu în prim-plan","MOBILE_PERFORMANCE":"PERFORMANȚĂ ȘI STABILITATE","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"Codul QR expiră în ","MOBILE_LOG_INTO":"Conectați-vă la contul Stremio ","MOBILE_SCAN_QR":"Scanați codul QR de mai sus sau accesați ","MOBILE_LINK_ACCOUNT":"Conectați-vă la cont","MOBILE_SPEEDPICKER_CANCEL":"Anulați","MOBILE_SPEEDPICKER_LABEL":"Selectați viteza de redare","MOBILE_EMPTY_LIBRARY":"Biblioteca dvs. este goală","MOBILE_NO_ADDON_ACTIVE":"Nici o extensie Stremio activă pentru acest tip.","MOBILE_ORGANIZER_WARNING":"Aplicația Stremio Organizer oferă funcționalitate limitată. Pentru o listă de fluxuri redabile și experiența completă Stremio, utilizați Stremio pe desktop.","MOBILE_ADDON_LOADING":"se încarcă încă","MOBILE_ADDONS_LOADING":"extensii se încarcă încă","MOBILE_ADDON":"Extensie","MOBILE_CONFIGURE_ADDON":"Configurați extensia dvs.","MOBILE_CONFIGURE_ADDON_LABEL":"Configurați extensia","MOBILE_ORGANIZER_ADDONS_WARNING":"Aplicația Stremio Organizer oferă o selecție limitată de extensii. Pentru experiența Stremio completă, utilizați Stremio pe desktop.","MOBILE_DISCONNECT":"Deconectați","MOBILE_LOOKING_FOR_DEVICES":"Căutare dispozitive...","MOBILE_CAST_TO":"Transmiteți la","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Ștergere cont","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Ștergerea contului nu este instantanee din motive legale. După solicitarea ștergerii contului, va trebui să utilizați o altă adresă de e-mail/profil Facebook pentru a crea un nou cont Stremio în viitor.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirmați ștergerea contului","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Contul dvs. a fost creat utilizând Facebook. Pentru a șterge contul dvs., vă rugăm să utilizați portalul nostru pentru utilizatori la www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Vă rugăm să introduceți parola pentru a confirma ștergerea contului.","MOBILE_DELETE_ACCOUNT_BUTTON":"Ștergere cont","NAVIGATION_ON":"Pornit","NAVIGATION_OFF":"Oprit","MARKETING_AGREE":"Sunt de acord să primesc comunicări de marketing de la Stremio","QUIT":"Ieșire","CONNECTED":"Conectat","AUTHENTICATE":"Autentificare","CACHING":"Se realizează cache","SETTINGS_CACHING_DRIVE":"Unitate pentru cache","ENABLE_LOCAL_FILES_ADDON":"Activați extensia pentru fișiere locale (necesită repornire)","LOCAL_ADDON_NOT_ENABLED":"Extensia locală nu este activată. Faceți clic aici pentru a merge la setări și a o activa","ENABLE_REMOTE_HTTPS_CONN":"Activați conexiunile HTTPS la distanță","TORRENT_PROFILE":"Profil torrent","DATA_CACHING":"Cache de date","MAGNET_PARSING":"Se parsează un link magnet","January":"Ianuarie","February":"Februarie","March":"Martie","April":"Aprilie","May":"Mai","June":"Iunie","July":"Iulie","August":"August","September":"Septembrie","October":"Octombrie","November":"Noiembrie","December":"Decembrie","Monday":"Luni","Tuesday":"Marți","Wednesday":"Miercuri","Thursday":"Joi","Friday":"Vineri","Saturday":"Sâmbătă","Sunday":"Duminică","Action":"Acțiune","Comedy":"Comedie","War":"Război","Family":"Familie","Animation":"Animație","Adventure":"Aventură","Fantasy":"Fantezie","Crime":"Crimă","Mystery":"Mister","Romance":"Romantic","Drama":"Dramă","Horror":"Horror","Thriller":"Thriller","Sci-Fi":"Științifico-Fantastic","Music":"Muzică","Biography":"Biografie","Documentary":"Documentar","Sport":"Sport","Musical":"Muzical","Western":"Vestern","Film-Noir":"Film Noir","News":"Știri","History":"Istorie","Game-Show":"Concurs TV","Reality-TV":"Reality TV","Talk-Show":"Talk Show","Film & Entertainment":"Film și Divertisment","Gaming":"Gaming","From TV":"De la TV","Lifestyle":"Stil de viață","Science & Education":"Știință și Educație","Cooking & Health":"Gătit și Sănătate","Beauty & Fashion":"Frumusețe și Modă","Sports":"Sporturi","News & Politics":"Știri și Politică","How-to & DIY":"Cum să și Bricolaj","Tech":"Tehnologie","Automotive":"Auto","Causes & Non-Profits":"Cauze și Organizații Non-Profit","Movies":"Filme","Uk Live Tv":"TV live din Marea Britanie","Fashion":"Modă","Business News Radio":"Radio Știri de Afaceri","Business Tv":"TV de Afaceri","Cars & Auto":"Mașini și Auto","Comedy Radio":"Radio de Comedie","Lifestyle Radio":"Radio de Stil de Viață","News Tv":"TV de Știri","Food And Wine":"Mâncare și Vin","Latino Tv":"TV Latino","Shopping Tv":"TV de Shopping","Religion":"Religie","Kids":"Copii","Body & Soul":"Corp și Suflet","Education":"Educație","Indian Tv":"TV Indian","Extreme Sports":"Sporturi Extreme","Middle Eastern Tv":"TV din Orientul Mijlociu","Celebrity Tv":"TV cu Celebrități","Science Tv":"TV Științifică","Bikini babe":"Bikini babe","Outdoors":"Activități în aer liber","German Tv":"TV German","French Tv":"TV Francez","Italian Tv":"TV Italian","Gamer Tv":"TV pentru Gameri","Travel":"Călătorii","Asian Tv":"TV Asiatic","Entertainment":"Divertisment","News Radio":"Radio de Știri","Music Radio":"Radio de Muzică","Language Learning":"Învățarea Limbilor","Science Radio":"Radio Științific","Tech Radio":"Radio Tehnologic","Science & Technology Vod":"VOD Știință și Tehnologie","new video":"video nou","new episode":"episod nou","new movie":"film nou","recommended":"recomandat","we recommend":"recomandăm","offer of the day":"ofertă a zilei","news":"știri","music video":"videoclip muzical","CTX_SHOW_HOTKEYS":"Afișați tastele rapide","CTX_DISMISS_NOTIF":"Respinsți notificările","CTX_DISMISS_ALL":"Respinsți toate","CTX_SHARE":"Partajați","CTX_COPY_SHARE_LINK":"Copiați linkul de partajare","CTX_COPY_MAGNET_LINK":"Copiați linkul magnet","CTX_COPY_STREAM_LINK":"Copiați linkul pentru flux","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Descărcați acest video","CTX_DOWNLOAD_SUBS":"Descărcați subtitrările","CTX_VIEW_ON_YOUTUBE":"Vizualizați pe YouTube","CTX_SHOW":"Afișați","CTX_PLAY":"Redați","CTX_PLAY_IN":"Redați în","CTX_PLAY_ON":"Redați pe","CTX_WATCH_ON":"Vizualizați pe","CTX_WATCH":"Vizualizați","CTX_WATCHED":"Vizualizat","CTX_WATCH_BEGINNING":"Vizualizați de la început","CTX_WATCH_MOBILE":"Vizualizați pe un dispozitiv mobil","CTX_REWIND":"Derulați la început","CTX_MARK_WATCHED":"Marcați ca vizualizat","CTX_MARK_NON_WATCHED":"Marcați ca necitit","CTX_MARK_UNWATCHED":"Marcați ca nevizualizat","CTX_MARK_REST":"Marcați restul ca vizualizat","CTX_UNMARK_REST":"Marcați restul ca necitit","CTX_RECEIVE_NEW_NOTIF":"Primiți notificări noi","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"Eliminați din cache","CTX_REMOVE_CACHE_EP":"Eliminați episodul din cache","CTX_OPEN_CONTAINING":"Deschideți folderul care conține","CTX_REMOVE":"Eliminați din bibliotecă","CTX_AVAILABLE_OFFLINE":"Disponibil offline","CTX_PAUSED":"Pus pe pauză","CTX_ALWAYS_ON_TOP":"Mereu deasupra","CTX_FULLSCREEN":"Pe tot ecranul","CTX_WRONG_SUBS":"Subtitrări greșite?","CTX_REPORT_ISSUES":"Raportați o problemă","CTX_COPY":"Copiați","CTX_PASTE":"Lipiti","CTX_CLEAR":"Goliți","CTX_CLEAR_RECENT_SEARCHES":"Goliți căutările recente","HELLO_THERE":"Bună!","HOPE_YOU_ENJOY":"Sperăm că vă bucurați de Stremio și că a devenit deja una dintre aplicațiile dvs. preferate!","WHO_ARE_WE":"Cine suntem? Suntem echipa din spatele acestui produs - doi oameni care lucrează din greu în fiecare zi de ultimii 3 ani pentru a face acest produs din ce în ce mai bun.","SUPPORT_US":"Dacă vă place să utilizați Stremio și dacă Stremio este valoros pentru dvs. - distribuiți vestea!","SPREAD_THE_WORD":"Partajați acum cu prietenii dvs., distribuiți vestea despre Stremio","MORE_PEOPLE":"Cu cât mai mulți oameni folosesc Stremio, cu atât mai bine va deveni!","SEND_A_LINK":"Sau trimiteți un link către site-ul nostru","TIP_LOCALFILES":"Sfat: puteți trage și plasa fișiere video locale în Stremio","ADDON_MY":"Extensiile mele","ADDON_COMMUNITY":"Extensii Comunitare","ADDON_OFFICIAL":"Extensii Oficiale","ADDON_REPOS":"Colectii de Extensii","ADDON_SEARCH":"Căutați extensii","ADDON_INSTALL":"Instalați","ADDON_CONFIGURE":"Configurați","ADDON_UNINSTALL":"Dezinstalați","ADDON_UPGRADE":"Actualizați","ADDON_INSTALLED":"Instalat","ADDON_INSTALLED_MSG":"Extensie instalată!","ADDON_UPGRADED_MSG":"Extensie actualizată!","ADDON_UNKNOWN":"Necunoscut","ADDON_ERR":"Eroare la instalarea extensiei!","ADDON_DISCONNECTED":"Deconectat","ADDON_APP_MISSING":"Aplicația pentru această sursă nu este instalată. Doriți să o instalați acum?","ADDON_APP_INSTALL":"Instalați acum","ADDON_PAGE":"Pagina extensiei","ADDON_TOP_CONTENT":"Cel mai bun din această extensie","ADDON_PROVIDES":"Această extensie vă va oferi:","ADDON_WATCH":"Vizionați #{types} acum!","ADDON_WATCH_FREE":"Vizionați #{types} GRATUIT acum!","ADDON_ADDON":"Extensie","ADDON_SUPPORTED_TYPES":"Tipuri acceptate","ADDON_SUPPORTED_CATALOGS":"Cataloge acceptate","ADDON_PROVIDES_DISCOVER":"Mai multe #{types} în Descoperă","ADDON_PROVIDES_STREAMS":"Vizionați #{types}","ADDON_PROVIDES_STREAMS_FREE":"Vizionați #{types} GRATUIT","ADDON_PROVIDES_SUBTITLES":"Subtitrări pentru #{types}","ADDON_CANTDETECT":"Nu am putut detecta o instanță de Stremio în funcție, deci nu am putut detecta ce extensii aveți instalate.","ERR_NO_META":"Nu s-au găsit informații despre aceasta ","ERR_GETTING_META":"Eroare la preluarea informațiilor despre aceasta.","ERR_CANT_PARSE_MAGNET":"Imposibil de analizat magnetul","ERR_NO_MAGNET_INFOHASH":"Nu există un hash de informații valid pentru magnet","ERR_NO_FILE_PATH":"Nu se poate trimite cererea fără un drum către fișier","ERR_NO_TORRENT":"Niciun torrent returnat","ERR_NO_SUPPORTERD_FILES":"Nu s-au găsit fișiere suportate","ERR_OPENING_FILES":"Nu s-au putut deschide fișiere externe","ERR_INVALID_LINK":"Legătură invalidă","ERR_REGISTERED_ONLY":"Această opțiune este disponibilă doar pentru utilizatorii înregistrați.","ERR_CLIPBOARD":"Nu se poate reda din clipboard","ERR_CLIPBOARD_READ":"Nu se poate citi clipboardul pe această platformă","ERR_CLIPBOARD_GENERIC":"Nu s-a găsit nicio adresă URL redabilă în clipboard. Vă rugăm să copiați o adresă URL (de exemplu, o legătură magnet) către un videoclip.","BOARD_CONTINUE_WATCHING":"Continuați vizionarea","BOARD_EXPLANATION_RECOMMENDATIONS":"Filme alese special pentru dumneavoastră.<br />Acest film este o recomandare de exemplu.","BOARD_EXPLANATION_EPISODES":"Episoade noi din seria dumneavoastră preferată apar aici.<br />Adăugați serialele pe care le urmăriți în Biblioteca dumneavoastră.","BOARD_EXPLANATION_VIDEOS":"Episoade noi din canalele dumneavoastră preferate apar aici.<br />Adăugați canalele YouTube pe care le urmăriți în Biblioteca dumneavoastră.","WEBSITE_ENJOYED_BY":"Apreciat de peste 30 de milioane de utilizatori din întreaga lume","WEBSITE_STREAMING_ENHANCED":"Îmbunătățit pentru streaming","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio oferă o experiență de divertisment sigură, modernă și lipsită de întreruperi. Cu interfața sa ușor de utilizat și biblioteca sa diversificată de conținut, inclusiv suport pentru 4K HDR, utilizatorii pot să se bucure de filmele și emisiunile lor TV preferate pe toate dispozitivele lor. Și cu angajamentul său față de securitate, Stremio este alegerea ultimă pentru o experiență de streaming de înaltă calitate fără griji.","WEBSITE_AVAILABLE_ON":"Disponibil pe","WEBSITE_WATCH_AND_ENJOY":"Vizionați și bucurați-vă.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio face lucrurile ușoare ca un tort","WEBSITE_ALL_FEATURES":"Toate funcțiile","WEBSITE_EASY_TO_USE":"Ușor de utilizat","WEBSITE_EASY_TO_USE_DETAILS":"Stremio este conceput să fie prietenos cu utilizatorul și ușor de utilizat. Cu interfața sa curată și intuitivă, puteți naviga cu ușurință și găsi conținutul pe care doriți să-l vizionați.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Interfață uniformă pe toate dispozitivele","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Disponibil pentru o gamă largă de platforme (inclusiv Windows, Mac, Linux, Android și altele), Stremio va ține evidența progresului dumneavoastră pe toate dispozitivele dumneavoastră. Doar autentificați-vă și continuați să vizionați fără a fi necesar să configurați aplicația din nou pe fiecare dispozitiv nou.","WEBSITE_ALL_DOWNLOADS":"Toate descărcările","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"Suport pentru video de înaltă definiție","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"Un player video integrat care suportă cele mai multe formate video, inclusiv conținutul 4K HDR, vă permite să vă bucurați de cea mai înaltă calitate disponibilă.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Bibliotecă variată de conținut","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio se integrează cu un număr mare de surse video populare, cum ar fi Netflix, Amazon Prime Video, Hulu, YouTube și multe altele.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Creați un cont gratuit","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Experiență de vizualizare personalizată","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio vă permite să personalizați aspectul și simțul interfeței prin schimbarea temei, adăugarea sau eliminarea de addons și multe altele.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Suport pentru subtitrări multilingve","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"Puteți acum să vă bucurați de tot conținutul preferat în limba dorită, deoarece Stremio suportă subtitrări în toate limbile.","WEBSITE_ALL_STREMIO_FEATURES":"Toate funcțiile Stremio","WEBSITE_TRY_STREMIO_TITLE_P1":"Încercați Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"pe televizorul dumneavoastră acum","WEBSITE_YOU_CAN_NOW_WATCH":"Acum puteți viziona toate emisiunile TV preferate pe dispozitivele Android TV. Aplicația Stremio TV vă permite să vă bucurați de o seară de film cu ușurință.","WEBSITE_YOU_CAN_NOW_WATCH_2":"Acum puteți viziona toate emisiunile TV preferate pe Smart TV-ul sau dispozitivele Android TV. Aplicațiile Stremio TV vă permit să vă bucurați de o seară de film cu ușurință.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio pentru Smart TV-uri","WEBSITE_PLAY_STORE_REVIEW":"Probabil cea mai bună și utilă aplicație de avut pe dispozitivul dumneavoastră. Este una dintre aplicațiile pe care le folosesc în fiecare zi, în special pe Android TV-ul meu de mulți ani. Bine făcută, cu o comunitate puternică care furnizează funcționalități utile. Felicitări. Continuați cu treaba bună.","WEBSITE_REVIEWS":"recenzii","WEBSITE_GET_STREMIO_FOR_FREE":"Obțineți Stremio gratuit","WEBSITE_GET_STREMIO_NOW":"Obțineți Stremio acum","WEBSITE_STREMIO_FEATURES":"Funcționalități Stremio","WEBSITE_STREMIO_FEATURES_DETAILS":"Transmiteți ca un profesionist cu funcționalitățile avansate ale lui Stremio și bucurați-vă de accesul fără întreruperi la toate conținuturile dumneavoastră preferate","WEBSITE_DISCOVER_MORE":"Descoperiți mai mult.","WEBSITE_DISCOVER_MORE_DETAILS":"Nu rămâneți niciodată fără lucruri de vizionat","WEBSITE_COMMUNITY_DRIVEN":"Comunitate condusă de utilizatori","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio are o comunitate mare și activă de utilizatori care contribuie la dezvoltarea software-ului prin crearea și partajarea de addon-uri.","WEBSITE_GET_INVOLVED":"Implicați-vă","WEBSITE_NEW_THEATER_EXPERIENCE":"Experiență nouă de teatru","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Noua aplicație TV dedicată Stremio vă permite să vă bucurați de o seară de film pe dispozitivele Android TV.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Noile aplicații TV dedicate Stremio vă permit să vă bucurați de o seară de film pe Smart TV-ul sau dispozitivele Android TV.","WEBSITE_FREE_AND_SECURE":"Gratuit și sigur","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio oferă securitate și confidențialitate de neegalat pentru utilizatori. Cu caracteristica sa unică de a rula addon-uri de la distanță, Stremio oferă o modalitate mai sigură de a reda conținutul preferat în comparație cu alte platforme. Securitatea și confidențialitatea dumneavoastră sunt priorități absolute, iar platforma se asigură că toate datele dumneavoastră sunt protejate.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Să spuneți adio îngrijorărilor legate de securitate și confidențialitate și să salutați o lume a divertismentului fără sfârșit cu Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Informații furnizate de","WEBSITE_CONTRIBUTE":"Contribuie","WEBSITE_CONTRIBUTE_DESC":"la proiect și ajutați-ne să facem Stremio și mai bun","WEBSITE_COMMUNITY_DESC":"Credem că cel mai bun mod de a crea o experiență de streaming cu adevărat uimitoare este prin implicarea comunității noastre în proces. Fie că sunteți un programator, un artist sau doar un fan - puteți ajuta la dezvoltarea lui Stremio.","WEBSITE_COMMUNITY_DESC_2":"Așadar, alăturați-vă nouă astăzi și deveniți parte a comunității Stremio și continuați să modelați viitorul streamingului.","WEBSITE_WAYS_TO_GET_INVOLVED":"Modalități de a vă implica","WEBSITE_IN_THE_STREMIO_COMMUNITY":"în comunitatea Stremio","WEBSITE_SHARE_YOUR_THOUGHTS":"Împărtășiți-vă gândurile","WEBSITE_REPORT_BUGS":"Raportați erori","WEBSITE_SUGGEST_FEATURES":"sugerați funcționalități","WEBSITE_AND_PROVIDE_FEEDBACK":"și furnizați feedback pe canalele noastre de socializare.","WEBSITE_BETA_TESTING_PROGRAM":"Program de testare beta","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participați la programul nostru de testare beta (trimitem invitații regulat) în comunitatea Stremio.","WEBSITE_JOIN_NOW":"Alăturați-vă acum!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Comunități oficiale Stremio","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Comunități neoficiale Stremio","WEBSITE_BECOME":"Deveniți","WEBSITE_A_VOLUNTEER_TRANSLATOR":"un traducător voluntar","WEBSITE_ARE_YOU_A_DEVELOPER":"Sunteți un dezvoltator?","WEBSITE_CONTRIBUTE_CODE":"Puteți contribui cu cod la proiectele noastre open source. Avem mai multe proiecte pe GitHub care caută contribuitori. Dacă sunteți interesat să ajutați, verificați-le:","WEBSITE_STREMIO_ON_GITHUB":"Stremio pe GitHub","WEBSITE_CREATE_ADDON_DESC":"Creați un addon pentru a îmbunătăți funcționalitatea Stremio (avem o interfață API ușor de utilizat):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"Vă oferim, de asemenea, oportunitatea de a ne însoți ca dezvoltator intern, astfel încât să putem crește împreună.","WEBSITE_APPLY_AS_AN_INTERN":"Aplicați ca stagiar","WEBSITE_CALLING_ALL_ARTISTS":"Suntem în căutarea tuturor artiștilor!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Arătați creativitatea și dragostea dumneavoastră pentru Stremio prin încărcarea lucrărilor dumneavoastră de artă fan în galeria noastră online. Fie că este vorba de desene, picturi sau design digital, vrem să vedem interpretarea dumneavoastră unică asupra brandului Stremio. Alăturați-vă comunității noastre de entuziaști ai artei și împărtășiți-vă lucrările cu fani Stremio din întreaga lume.","WEBSITE_STREMIO_FANART_GALLERY":"Galerie de artă fan Stremio","WEBSITE_INTERN_DESIGNER":"Deveniți parte a echipei noastre și duceți-vă creativitatea la noi culmi cu oportunitățile noastre palpitante de stagiu.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Proiectul de filme din domeniul public","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"La Stremio, suntem dedicați să păstrăm istoria filmului și televiziunii prin identificarea videoclipurilor din domeniul public și ale celor orfane. Lucrând împreună cu comunitatea noastră, putem asigura că aceste opere de artă clasice sunt accesibile tuturor și protejate pentru ca generațiile viitoare să se bucure de ele.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Nu ezitați să ne contactați dacă doriți să vă implicați în acel proiect.","WEBSITE_JOIN_THE_PROJECT":"Alăturați-vă proiectului","WEBSITE_BE_PART_OF_OUR_MISSION":"Fii parte din misiunea noastră","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Sunteți interesat să vă alăturați echipei Stremio? Oferim muncă complet la distanță pentru profesioniștii pasionați. Vizitați pozițiile noastre deschise.","WEBSITE_OPEN_POSITIONS":"POZIȚII DESCHISE","WEBSITE_DESCRIPTION":"DESCRIERE","WEBSITE_LEARN_MORE":"Aflați mai multe","WEBSITE_COMPANY":"Companie","WEBSITE_CONTACTS":"Contacte","WEBSITE_NEED_HELP":"Aveți nevoie de ajutor?","WEBSITE_STREMIO_WEB_ON_IOS":"Ghid pentru Stremio Web pe iOS","WEBSITE_LINK_ART_V2":"Galerie de artă","WEBSITE_PARTNERS":"Parteneri","WEBSITE_SLOGAN_WATCH":"Vizionați instantaneu","WEBSITE_SLOGAN_ALL":"Toate conținuturile video pe care le iubiți într-un singur loc","WEBSITE_SLOGAN_NEW":"Tot ce puteți viziona","WEBSITE_SLOGAN_NEW_NEW":"Libertatea de a transmite","WEBSITE_WATCH_FROM":"Vizionați de la","WEBSITE_DOWNLOAD":"Descărcați acum","WEBSITE_DOWNLOAD_FOR":"Descărcați acum pentru","WEBSITE_IS_DESKTOP":"Stremio este o aplicație desktop, deschideți această pagină pe PC-ul dumneavoastră și descărcați-o","WEBSITE_DESKTOP_DEMO_VID":"Demonstrație desktop","WEBSITE_PAGE_HOME":"Acasă","WEBSITE_PAGE_FEATURES":"Funcționalități","WEBSITE_PAGE_ADDONS":"Addon-uri","WEBSITE_PAGE_TECH":"Tehnologie","WEBSITE_PAGE_CREATE_ADDON":"Creați un Addon","WEBSITE_PAGE_CONTACTS":"Contacte","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Filme","WEBSITE_TYPE_series_PL":"Seriale","WEBSITE_TYPE_tv":"TV în direct","WEBSITE_TYPE_channel":"Canale","WEBSITE_STREMIO_WHAT_IS":"Stremio este o aplicație care vă ajută să vă organizați și să vizionați instantaneu videoclipurile, filmele, serialele TV și canalele TV preferate.","WEBSITE_FEATURES_WATCH":"Vizionați instantaneu în HD","WEBSITE_FEATURES_WATCH_DETAIL":"Dați clic și redați filmele, emisiunile TV, videoclipurile și canalele TV preferate.","WEBSITE_FEATURES_SUBS":"Subtitrări automate","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio alege automat subtitrări sincronizate pentru limba dumneavoastră.","WEBSITE_FEATURES_SUBS_LABEL":"Mișcarea ta, șefule.","WEBSITE_FEATURES_CAST":"Redați pe TV și dispozitive mobile","WEBSITE_FEATURES_CAST_DETAIL":"Redați pe AppleTV, Chromecast, Smart TV (DLNA/UPnP) și dispozitive mobile.","WEBSITE_LIB":"Bucurați-vă de biblioteca dumneavoastră personală","WEBSITE_LIB_COLLECT":"Colectează din Stremio","WEBSITE_LIB_IMPORT":"Importă din Facebook","WEBSITE_LIB_LOCAL":"Adaugă de pe unitatea dvs. locală","WEBSITE_BOARD":"The Board - Locul tău unic pentru notificări și recomandări","WEBSITE_BOARD_RECOMMEND":"Serial TV recomandat","WEBSITE_BOARD_TRENDING":"Film în tendințe","WEBSITE_BOARD_NEW":"Video nou","WEBSITE_BOARD_EPISODE":"Episod nou","WEBSITE_BOARD_1":"Căutați ceva interesant de vizionat? Obțineți recomandări bazate pe gusturile dvs.!","WEBSITE_BOARD_2":"Primiți notificări atunci când apare un nou episod al serialului TV preferat sau al canalului YouTube pe care-l urmăriți!","WEBSITE_BOARD_YOUTUBE":"Video-uri noi de pe canale YouTube","WEBSITE_BOARD_EPISODES":"Episoade noi ale serialelor pe care le urmăriți","WEBSITE_ADDONS":"Addon-uri de conținut","WEBSITE_TECH_DETAIL":"Iubim tehnologia, iubim știința nebună!\\nStremio folosește următoarele tehnologii open source:","WEBSITE_TECH_WCJS":"WebChimera.js permite Stremio să redea orice format video cu performanță bună.","WEBSITE_TECH_WCJS_EXTRA":"Contribuitori la proiectul de bază","WEBSITE_TECH_ELECTRON":"Electron oferă o platformă inovatoare pentru construirea Stremio.","WEBSITE_TECH_ELECTRON_EXTRA":"Contribuitori la proiect","WEBSITE_TECH_LINVODB":"O tehnologie de bază de date care asigură organizarea datelor dvs. disponibile oriunde vă autentificați.","WEBSITE_TECH_LINVODB_EXTRA":"Tehnologie internă","WEBSITE_CREATE_ADDON":"Creați-vă addon-ul","WEBSITE_CREATE_ADDON_DETAIL":"Aveți un serviciu care furnizează conținut video? Vă vom ajuta să beneficiați de caracteristicile Stremio prin crearea propriului addon.","WEBSITE_CREATE_ADDON_BENEFITS":"Beneficiile creării unui addon pentru Stremio","WEBSITE_P2P_BEAUTY":"Frumusețea streaming-ului Peer-to-Peer","WEBSITE_P2P_1":"Streaming-ul fiabil și accesibil Full HD / 4K la cerere sau streaming live","WEBSITE_P2P_2":"Platforma de distribuție oferind o experiență excelentă pentru utilizatori","WEBSITE_P2P_3":"Vom crea un addon care să corespundă exact nevoilor dvs.","WEBSITE_P2P_CONTACT":"Interesați? Sunteți binevenit să ne <a href=\'mailto:office@stremio.com\'>contactați</a>.","WEBSITE_P2P_CONTACT_EXTRA":"Vom fi bucuroși să vă ajutăm să integrați conținutul dvs. cu Stremio!","WEBSITE_P2P":"Din când în când, apare o tehnologie care schimbă regulile jocului. Am investit mult timp și efort în construirea motorului nostru de streaming video Peer-to-Peer (P2P), care oferă performanțe excelente și versatilitate pentru a se adapta la orice caz de utilizare. Contactați-ne pentru streaming video P2P cu DRM activat la cerere sau în timp real.","WEBSITE_THOUGHTS":"Gândurile pe care le împărtășim:","WEBSITE_SPREAD":"Răspândiți vestea despre Stremio:","WEBSITE_CONTACT":"Contactați-ne, ne bucurăm să auzim de la dvs.!","WEBSITE_OPENSOURCE":"Pentru proiectele noastre open source, accesați","WEBSITE_BITCOIN":"Donați Bitcoin:","WEBSITE_FAQ":"Întrebări frecvente","WEBSITE_FAQ_SHORT":"Întrebări frecvente","WEBSITE_QUESTIONS":"Întrebări","WEBSITE_TOS":"Termeni și condiții","WEBSITE_LEGAL":"Informații legale","WEBSITE_PAGE_ABOUT":"Despre","WEBSITE_PAGE_BECOME_PARTNER":"Deveniți partener","WEBSITE_ALL_YOU_CAN_WATCH":"Libertatea de a viziona\\nTot ce vrei.","WEBSITE_FREEDOM_TO_STREAM":"Libertatea de a transmite","WEBSITE_WHAT_IS_STREMIO":"Ce este Stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio este un punct unic pentru agregarea conținutului video. Descoperiți, organizați și vizionați conținut video din toate tipurile de surse pe orice dispozitiv pe care îl dețineți.","WEBSITE_WHAT_IS_STREMIO_P2":"Filme, seriale TV, serii, televiziune live sau canale web precum YouTube și Twitch.tv - puteți găsi toate acestea pe Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio este un centru media modern care este o soluție unică pentru divertismentul video. Descoperiți, vizionați și organizați conținut video din addon-uri ușor de instalat.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Filme, seriale TV, televiziune live sau canale web - găsiți toate acestea pe Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Bucurați-vă pe toate dispozitivele dvs. media","WEBSITE_DEVICES_COLLECT":"Colectează din Stremio","WEBSITE_DEVICES_IMPORT_FB":"Importă din Facebook","WEBSITE_DEVICES_LOCAL":"Adaugă de pe unitatea dvs. locală","WEBSITE_JOIN_THE_PARTY_NOW":"Alăturați-vă petrecerii acum","WEBSITE_DEVICES_ALL":"Ușor de utilizat pe toate dispozitivele dvs.;","WEBSITE_EXTENDABLE_CATALOG":"Catalog de video extensibil în mod infinit;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Funcționalități excelente pentru organizarea conținutului dvs. media;","WEBSITE_AS_SEEN_ON":"Așa cum se vede pe","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"Despre noi","WEBSITE_LINK_TECHNOLOGY":"Tehnologie","WEBSITE_LINK_APPS":"Aplicații","WEBSITE_LINK_DOWNLOADS":"Descărcări","WEBSITE_MORE":"Mai mult","WEBSITE_LINK_ADDONS":"Addon-uri","WEBSITE_LINK_ADDON_SDK":"SDK pentru addon-uri","WEBSITE_LINK_CONTRIBUTE":"Contribuie","WEBSITE_LINK_COMMUNITY":"Comunitate","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... Și mai multe","WEBSITE_LINK_HELP":"Centrul de ajutor","WEBSITE_LINK_CONTACTS":"Cerințe de afaceri","WEBSITE_LINK_TOS":"Termeni și condiții","WEBSITE_LINK_PRAVACY":"Politica de confidențialitate","WEBSITE_SUBSCRIBE":"Abonează-te","WEBSITE_NEWSLETTER":"Alătură-te newsletter-ului nostru pentru lucruri uimitoare","WEBSITE_PLACEHOLDER_EMAIL":"Adresa ta de email","WEBSITE_COMMUNITY":"Comunitate","WEBSITE_LINK_PRAVACY_LEGAL":"Confidențialitate și legale","WEBSITE_WHY":"De ce facem asta","WEBSITE_WHY_P1":"La Stremio, venim la serviciu în fiecare zi deoarece vrem să rezolvăm o problemă importantă pentru industria de video la cerere. Există atât de mult conținut nou publicat în fiecare minut, încât este practic imposibil să vă descurcați în el.","WEBSITE_WHY_P2":"Ajutăm oamenii să navigheze în acea lume imensă a divertismentului video și să descopere conținut nou de bucurat. Aplicațiile noastre aduc împreună filme, seriale, televiziune live, canale web și multe altele. Suntem dedicați să facem extrem de ușor pentru utilizatori să găsească titluri și emițători pe care îi iubesc.","WEBSITE_WHY_P3":"Puteți utiliza serviciul nostru pe orice dispozitiv și în orice moment, făcând din Stremio singurul hub de divertisment video de care veți avea vreodată nevoie.","WEBSITE_TEAM":"ECHIPA","WEBSITE_TEAM_P":"Echipa Stremio este mică, dar puternică: dintre cei zece dintre noi, codăm în X limbaje și împărtășim experiență în dezvoltarea software-ului, designul UI și UX, marketingul și publicitatea, afacerile și startup-urile.","WEBSITE_FEATURES":"Caracteristici","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Descoperiți conținut nou cu ușurință","WEBSITE_FEATURES_DISCOVER_P":"Descoperiți cu ușurință filme, seriale TV, serii și canale noi de vizionat. Răsfoiți după categorie, gen, rating, recentitate, etc. sau pur și simplu tastați un nume pentru a găsi. Stremio face găsirea de conținut video nou un lucru ușor.","WEBSITE_FEATURES_ALL_CONTENT":"Tot conținutul dvs. video pe un singur ecran","WEBSITE_FEATURES_ALL_CONTENT_P1":"Vedeți ce filme, serii sau videoclipuri nu ați terminat și continuați să le vizionați; primiți notificări pentru noi episoade și lansări; și răsfoiți recomandările pe care le veți primi pe baza obiceiurilor dvs. de vizionare.","WEBSITE_FEATURES_LIBRARY":"Organizați-vă biblioteca video","WEBSITE_FEATURES_LIBRARY_P1":"Adăugați orice titlu la biblioteca Stremio cu un singur clic și găsiți-vă drumul în jurul conținutului dvs., aranjat în mod ordonat după tip, recentitate sau ordine alfabetică.","WEBSITE_FEATURES_CALENDAR":"Urmăriți tot ce vizionați","WEBSITE_FEATURES_CALENDAR_P1":"Obțineți o vizualizare calendaristică a tuturor filmelor și serialelor pe care le adăugați în biblioteca dvs. Stremio. Exportați calendarul Stremio și sincronizați-l pentru a ști întotdeauna când apare un nou episod sau o premieră.","WEBSITE_FEATURES_BIG_SCREEN":"Bucurați-vă de conținutul video pe un ecran mai mare","WEBSITE_FEATURES_BIG_SCREEN_P1":"Redați ceea ce vizionați pe un dispozitiv mai mare - fie că este vorba de un telefon, tabletă sau TV - cu un singur clic.","WEBSITE_FEATURES_SOURCES":"Vizionați video din multe surse diferite","WEBSITE_FEATURES_SOURCES_P":"Instalați addon-uri oficiale și din comunitate pentru a vă bucura de video furnizat din multe surse diferite - toate într-o aplicație elegantă și ușor de utilizat.","WEBSITE_CREATE_AN_ADDON":"Creați un addon","WEBSITE_FEATURES_SYNC":"Sincronizați-vă biblioteca pe diferite dispozitive și continuați redarea","WEBSITE_FEATURES_SYNC_P1":"Conectați-vă cu contul dvs. pe toate dispozitivele și bucurați-vă de biblioteca, addon-urile, redarea și calendarul sincronizate.","WEBSITE_FEATURES_EXTENDABLE":"Catalog de video extensibil prin addon-uri","WEBSITE_FEATURES_EXTENDABLE_P1":"Catalogul de addon-uri Stremio oferă o serie de addon-uri de instalat și vizionat o varietate de conținut video. Acesta include filme, emisiuni, televiziune live, sport, știri, podcast-uri, canale web, jocuri video și altele.","WEBSITE_FEATURES_AUTO_SUBS":"Subtitrări automate","WEBSITE_FEATURES_AUTO_SUBS_P1":"Cu addon-urile noastre pentru subtitrări, veți primi opțiuni selectate automat pentru limba dvs. preferată.","WEBSITE_FEATURES_CHROMECAST":"Redare pe Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Bucurați-vă de conținutul video pe un ecran mai mare sau redați ceea ce vizionați pe un alt dispozitiv.","WEBSITE_FEATURES_KEEP_TRACK":"Urmăriți serialele TV și canalele Web favorite","WEBSITE_FEATURES_KEEP_TRACK_P1":"Obțineți o vizualizare calendaristică și notificări pentru episoadele noi ale serialului dvs. preferat și ale canalelor web.","WEBSITE_FEATURES_POWER_USER":"Funcționalități pentru utilizatori avansați","WEBSITE_FEATURES_POWER_USER_P1":"Redați într-un player extern","WEBSITE_FEATURES_POWER_USER_P2":"Redați dintr-un fișier torrent sau un link magnet","WEBSITE_FEATURES_POWER_USER_P3":"Importați în biblioteca dvs. din aprecierile de pe Facebook sau de pe discul local","WEBSITE_ADD_ONS":"Addon-uri","WEBSITE_ADD_ONS_P1":"Tot conținutul video furnizat de Stremio este obținut prin intermediul unui sistem de addon-uri - niciun conținut sau furnizor de conținut nu a fost încorporat în aplicație.","WEBSITE_ADD_ONS_P2":"Există două grupuri de addon-uri disponibile: addon-uri oficiale și addon-uri din comunitate.","WEBSITE_ADD_ONS_P3":"Cele oficiale sunt dezvoltate și găzduite de Stremio, în timp ce addon-urile din comunitate sunt create de membrii comunității noastre, care le găzduiesc, de asemenea.","WEBSITE_ADDONS_OFFICIAL":"Addon-uri oficiale","WEBSITE_ADDONS_WATCHUB":"Vizionați filmele, serialele și emisiunile preferate de la furnizori precum iTunes, Hulu, Amazon și alte servicii din Marea Britanie/SUA.","WEBSITE_ADDONS_YOUTUBE":"Vizionați canalele preferate de YouTube fără reclame și primiți notificări pentru noile încărcări de la contribuitorii pe care îi urmăriți.","WEBSITE_ADDONS_FILMON":"Uitați-vă la televiziunea live, filmele și televiziunea socială gratuit. 600 de canale TV, 45.000 de filme gratuite, documentare și multe altele.","WEBSITE_ADDONS_OPENSUBTITLES":"Subtitrări pentru filme și TV în mai multe limbi, mii de subtitrări traduse încărcate în fiecare zi.","WEBSITE_ADDONS_COMMUNITY":"Addon-uri din comunitate","WEBSITE_ADDONS_FILMON_VOD":"Vizionați video la cerere de la Filmon.tv","WEBSITE_ADDONS_TWICH":"Uitați-vă la fluxuri live de pe Twitch.tv - o platformă de streaming video pentru industria de e-sports.","WEBSITE_ADDONS_VODO":"Vizionați filme independente complet gratuit.","WEBSITE_ADDONS_NETFLIX":"Vizionați filmele și serialele web de pe Netflix.","WEBSITE_ADDONS_CREATE":"Creați un addon","WEBSITE_ADDONS_CREATE_P1":"Dacă doriți, puteți dezvolta propriul addon. În acest fel, puteți oferi dvs. și comunității noastre acces la conținut video nou și puteți ajunge la o nouă audiență țintită din milioane de utilizatori din întreaga lume.","WEBSITE_ADDONS_START_CREATE":"Pentru a începe, vizitați pagina SDK pentru addon-uri Stremio:","WEBSITE_DOWNLOADS":"Descărcări","WEBSITE_DOWNLOADS_P1":"Pentru performanță optimă, vă recomandăm să utilizați cea mai recentă versiune disponibilă a aplicațiilor Stremio. Dacă dintr-un motiv oarecare doriți să utilizați o versiune mai veche, o puteți descărca aici.","WEBSITE_DOWNLOADS_P1_SHORT":"Pentru performanță optimă, vă recomandăm să utilizați cea mai recentă versiune disponibilă a aplicațiilor Stremio.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio pentru Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio pentru macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio pentru Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio pentru Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio pentru Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio pentru dispozitive mobile Android","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio pentru Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio pentru iOS (versiune limitată)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Descărcați Serviciul Stremio","WEBSITE_DOWNLOAD_SERVICE_P1":"Serviciul Stremio este o aplicație companion pentru Stremio Web. Vă recomandăm să utilizați cea mai recentă versiune disponibilă a Serviciului Stremio.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Serviciul Stremio pentru Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Serviciul Stremio pentru macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Serviciul Stremio pentru Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Serviciul Stremio pentru Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"Mai multe opțiuni de descărcare","WEBSITE_DOWNLOAD_NEW":"Nou!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"Am lansat Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"Platforma Stremio este open source și puteți crea ușor un addon pentru conținut care nu este încă obținut.","WEBSITE_CONTRIBUTE_WHY":"De ce ar trebui să creați un addon?","WEBSITE_CONTRIBUTE_WHY_P1":"Atingeți o nouă audiență pentru conținutul dvs. video","WEBSITE_CONTRIBUTE_WHY_P2":"Baza de utilizatori a Stremio crește rapid - în primul an de la lansare, Stremio a obținut 1 milion de utilizatori din întreaga lume, iar în al doilea an de existență a platformei, acest număr a crescut la 2,5 milioane.","WEBSITE_CONTRIBUTE_WHY_P3":"Cu addon-ul dvs., puteți atinge ușor această audiență și distribui conținutul video către ei.","WEBSITE_CONTRIBUTE_ALL":"Uitați-vă la filmele, videoclipurile, serialele și canalele preferate într-un singur loc.","WEBSITE_CONTRIBUTE_ALL_P1":"Sunteți fanul unui anumit tip de conținut care nu este încă disponibil în Stremio? Creați un addon pentru el și bucurați-vă să vă uitați la videoclipurile preferate într-unul dintre cele mai mari și mai ușor de utilizat centre de divertisment de pe piață.","WEBSITE_CONTRIBUTE_ALL_P2":"În plus, veți primi recunoștința nesfârșită a altor membri ai comunității Stremio cu gândire asemănătoare.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetizați-vă addon-ul și câștigați bani cu ajutorul acestuia","WEBSITE_CONTRIBUTE_MONETIZE_P1":"După ce dezvoltați un addon nou pentru Stremio, îl puteți monetiza ușor prin mai multe modalități diferite. Dacă luați în considerare aceasta, nu ezitați să ne contactați la adresa ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - vom fi bucuroși să vă consultăm și să vă sfătuim cu privire la opțiunile de monetizare ale addon-ului.","WEBSITE_CONTRIBUTE_TRANSLATE":"Deveniți traducător voluntar","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Dacă doriți să utilizați aplicațiile Stremio în diferite limbi, vă puteți alătura comunității noastre de traducători voluntari. Aceștia ne ajută să adăugăm versiuni ale Stremio în multe limbi diferite.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Sunteți nerăbdător să începeți?","WEBSITE_TRANSALTE_STREMIO":"Traduceți Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Comunități oficiale","WEBSITE_COMMUNITY_OFFICIALS_P1":"Faceți parte din creșterea comunității Stremio. Urmați-ne pe rețelele sociale și nu ezitați să ne salutați - ne place să auzim de la fanii noștri!","WEBSITE_COMMUNITY_UNOFFICIALS":"Comunități neoficiale","STREMIO_COMMUNITY_NL":"Stremio Olanda","STREMIO_COMMUNITY_BRASIL":"Stremio Brazilia","STREMIO_COMMUNITY_GERMANY":"Stremio Germania","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgia","STREMIO_COMMUNITY_FRANCE":"Stremio Franța","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugalia","STREMIO_COMMUNITY_ITALY":"Stremio Italia","STREMIO_COMMUNITY_UK":"Stremio Marea Britanie","STREMIO_COMMUNITY_USA":"Stremio SUA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexic","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_AWESOME":"Stremio Minunat","WEBSITE_COMMUNITY_PARTNERS":"Parteneri și susținători","WEBSITE_COMMUNITY_GOODIES":"Lucruri Stremio","WEBSITE_COMMUNITY_WALLPAPERS":"Wallpapere","WEBSITE_COMMUNITY_ART":"Galerie de Artă a Comunității","WEBSITE_LINK_ART":"Galeria de artă a comunității","WEBSITE_CONTACT_US":"Contactați-ne","WEBSITE_CONTACT_US_P1":"Dacă aveți întrebări, comentarii sau sugestii, nu ezitați să ne contactați prin formularul de contact de mai jos.","WEBSITE_CONTACT_US_P2":"Rețineți că ne aflăm în Bulgaria, deci poate exista o întârziere în rezolvarea cererii dvs. din cauza diferențelor de fus orar.","WEBSITE_CONTACT_US_SUCCESS":"Mesajul dvs. a fost trimis. Vă vom contacta în cel mai scurt timp posibil.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Vă rugăm să introduceți o adresă de e-mail validă!","WEBSITE_CONTACT_US_Q_RELATED_TO":"La ce este legată întrebarea dvs.?","WEBSITE_CONTACT_US_Q_OS":"Care este sistemul dvs. de operare?","WEBSITE_CONTACT_US_PH_EMAIL":"Adresa dvs. de e-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Mesaj","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"TRIMITE","WEBSITE_CONTACT_US_Q_1":"Cum să instalez?","WEBSITE_CONTACT_US_Q_2":"Cum să dezinstalez?","WEBSITE_CONTACT_US_Q_3":"(HTML) Cum să fac lasagna?","WEBSITE_CONTACT_US_Q_4":"Addon-uri","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Tehnologie","WEBSITE_TECHNOLOGY_P1":"Iubim tehnologia și științele nebune. </br> Iată ce propulsează Stremio (totul este open source).","WEBSITE_TECHNOLOGY_P_QT":"Dezvoltarea software pe mai multe platforme în cea mai bună variantă.","WEBSITE_TECHNOLOGY_P_MPV":"Un player media gratuit, open source și pe mai multe platforme.","WEBSITE_TECHNOLOGY_P_RN":"React Native vă permite să construiți aplicații mobile utilizând doar JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Cadru multimedia încorporat în aplicație pentru a obține multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm este o platformă mobilă și înlocuiește SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js este un mediu de execuție open-source, pe mai multe platforme, pentru JavaScript.","WEBSITE_TECHNOLOGY_P_RUST":"Rust este un limbaj de programare pentru sisteme multi-paradigmă, concentrat pe siguranță, în special pe concurență sigură.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribuiți la proiect","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Există două moduri prin care puteți contribui la Stremio și ne puteți ajuta să facem produsul chiar mai bun.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Puteți dona abilitățile dvs. valoroase de limbă prin traducerea platformei...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"sau","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... puteți utiliza abilitățile dvs. de programare pentru a crea addon-uri din comunitate.","WEBSITE_TRANSLATE_STREMIO":"Traduceți Stremio","WEBSITE_404_OH_NO":"Ups! Pagina pe care o căutați nu se află aici...","WEBSITE_GO_HOME":"Mergi la pagina de start","WEBSITE_LINK_OTHER_DOWNLOADS":"Alte descărcări","WEBSITE_FAQ_ABR":"Întrebări frecvente","WEBSITE_SUPPORT":"Suport","WEBSITE_DOWNLOAD_4_0_BETA":"Descărcați acum Stremio 4 beta","WEBSITE_GET_FOR_DESKTOP":"Obțineți pentru desktop","WEBSITE_LINK_ADDON_COMPETITION":"Competiție de addon-uri","WEBSITE_LINK_ART_CONTEST":"Concurs de artă","WEBSITE_MY_ACCOUNT":"Contul meu","WEBSITE_MAINPAGE_FAQ_001_H1":"Ce este Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio este un centru de media modern care vă oferă libertatea de a viziona tot ceea ce doriți.","WEBSITE_MAINPAGE_FAQ_002_H1":"Cum funcționează?","WEBSITE_MAINPAGE_FAQ_002_P1":"Odată ce instalați Stremio pe dispozitivul dvs. și creați un cont, tot ce trebuie să faceți este să vizitați catalogul de addon-uri și să instalați orice addon doriți, și sunteți gata!","WEBSITE_MAINPAGE_FAQ_002_P2":"După aceasta, puteți merge la secțiunile Descoperă sau Tabloul pentru a începe să explorați conținutul.","WEBSITE_MAINPAGE_FAQ_003_H1":"Ce pot viziona aici?","WEBSITE_MAINPAGE_FAQ_003_P1":"Multe lucruri: Filme, Seriale TV, Canale web, Sport, Canale TV, ascultați Podcast-uri și multe altele. Datorită sistemului nostru de addon-uri, puteți accesa o varietate de conținut.","WEBSITE_MAINPAGE_FAQ_004_H1":"Este Stremio open-source?","WEBSITE_MAINPAGE_FAQ_004_P1":"Da, puteți verifica următoarele linkuri: ${1}aplicația pentru desktop${2} și ${3}organizația GitHub${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Este Stremio sigur?","WEBSITE_MAINPAGE_FAQ_005_P1":"Da: deoarece este un software open-source, codul este auditabil public și îl puteți revizui singur.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"Ce se întâmplă cu intimitatea mea?","WEBSITE_MAINPAGE_FAQ_006_P1":"Respectăm intimitatea utilizatorilor și nu colectăm nicio dată personală în afara minimului esențial pentru a vă crea și sincroniza contul.","WEBSITE_MAINPAGE_FAQ_006_P2":"Există și un ${1}mod oaspeți${2} la înregistrare, care nu necesită deloc date: în acest mod, nu se fac apeluri către serverul nostru. Cu toate acestea, acest lucru vine cu pierderea unor funcții utile, cum ar fi sincronizarea bibliotecii dvs. pe mai multe dispozitive.","WEBSITE_MAINPAGE_FAQ_007_H1":"Pot să transmit pe televizorul meu?","WEBSITE_MAINPAGE_FAQ_007_P1":"Da, suportăm Chromecast și puteți transmite atât de pe aplicațiile de desktop, cât și de pe cele mobile (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"Câte addon-uri are Stremio?","WEBSITE_MAINPAGE_FAQ_008_P1":"La sfârșitul anului 2019, peste 50 - pentru mai multe informații, verificați catalogul nostru de addon-uri.","WEBSITE_MAINPAGE_FAQ_009_H1":"Poate fi Stremio extins dincolo de ceea ce este în catalogul de addon-uri?","WEBSITE_MAINPAGE_FAQ_009_P1":"Da, ar trebui să verificați acestea: ${1}PimpMyStremio${2}, ${3}comunitățile de pe Reddit${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"Ce dispozitive suportă Stremio?","WEBSITE_MAINPAGE_FAQ_010_P1":"Avem aplicații pentru desktop pentru Windows, Mac și Linux. Pentru dispozitivele mobile, susținem Android și iOS, deși trebuie să țineți cont că iOS este limitat în funcționalitate (nu suportă majoritatea addon-urilor).","WEBSITE_MAINPAGE_FAQ_010_P2":"Există multe dispozitive bazate pe Android pe care puteți rula Stremio, cum ar fi NVIDIA Shield și Amazon Fire Stick, dar nu le susținem oficial.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Puteți adăuga anumit conținut pe Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Ne pare rău, nu furnizăm conținut în sine, dar cu cât aveți mai multe addon-uri Stremio instalate, cu atât mai mult conținut veți putea găsi.","WEBSITE_MAINPAGE_FAQ_012_H1":"Poate Stremio să redea link-uri magnet?","WEBSITE_MAINPAGE_FAQ_012_P1":"Da, și poate reda și link-uri HTTP normale și fișiere torrent (prin tragere și plasare).","WEBSITE_MAINPAGE_FAQ_013_H1":"Pot descărca un videoclip și să-l vizionez offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Funcția de vizionare offline este în curs de dezvoltare, dar dacă permiteți Stremio să facă cache pe dispozitivul dvs. (din panoul de setări), puteți viziona ulterior videoclipurile fără o conexiune.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nimic nu funcționează, ajutați-mă!","WEBSITE_MAINPAGE_FAQ_014_P1":"Sunteți sigur că ați instalat addon-uri? Dacă da, verificați cu ${1}centrul nostru de ajutor${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"Cum susține Stremio operațiunile de dezvoltare?","WEBSITE_MAINPAGE_FAQ_015_P1":"Rulează anunțuri non-intruzive ocazional, dar luăm în considerare trecerea la un model de donație.","WEBSITE_MAINPAGE_FAQ_015_P2":"Pentru mai multe întrebări, mergeți la ${1}centrul nostru de ajutor${2}.","HELP_LEARN_MORE":"Ajutați-ne să aflăm mai multe despre dvs.","LIFESTYLE":"Stil de viață","SPORTS":"Sport","FOOD_HEALTH":"Mâncare și sănătate","BEAUTY_FASHION":"Frumusețe și Modă","NEWS":"Știri","GAMING":"Jocuri video","SCIENCE_EDUCATION":"Știință și educație","MUSIC":"Muzică","TRAVEL":"Călătorii","LATE_NIGHT":"Târziu noaptea","REALITY":"Realitate","COMEDY":"Comedie","DIY":"Cum să faci singur","TECH":"Tehnologie","CINEMA":"Cinematograf","CONTINUE":"Continuare","SLOW_LOADING":"ÎNCĂRCARE GREOAIE?","I_GIVE_UP":"RENUNȚ","LEARN_MORE":"Aflați mai multe","POOR_SOURCE":"Această sursă este slab disponibilă sau conexiunea dvs. la internet nu este suficient de rapidă","PICK_CATEGORIES_ERR":"Trebuie să alegeți cel puțin 3 categorii","ADJUST_TIMING":"Ajustați timpul cu ","ADJUST_SIZE":"Ajustați dimensiunea cu ","SEARCH_ANYTHING":"Puteți căuta orice...","ALL_CATEGORIES":"Toate","SEARCH_CATEGORIES":"Filme, Seriale, YouTube și TV","SEARCH_PERSONS":"Actorii, Regizorii și Scenariștii","SEARCH_PROTOCOLS":"Link-uri HTTP și Magnet","SEARCH_TYPES":"Link-uri IMDB / TVDB","WATCHED":"Văzut","SHOW_LESS":"Afișează mai puțin","LAST_SEARCHES":"Căutări recente","CLEAR_HISTORY":"Șterge istoricul","CHOOSE_SOME":"ALEGEȚI CEVA DIN ASTA:","NO_WEB_REMOTE":"Web Remote nu a putut fi încărcat","STREMIO_OFFLINE":"Stremio este offline","STREMIO_EXPENSIVE_CONNECTION":"Am detectat că utilizați o conexiune de date mobile, doriți să continuați?","USE_DATA":"Utilizați datele","WARNING":"Avertisment","MORE_INFO":"Mai multe informații ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Se încarcă...","STREMIO_TV_BACK_TO_LANGUAGES":"Înapoi la limbi","STREMIO_TV_REMOTE":"Telecomandă","STREMIO_TV_GO_TO":"Mergi la:","STREMIO_TV_OR_SCAN":"sau scanează:","STREMIO_TV_ADDON_INSTRUCTIONS":"Vă rugăm să urmați instrucțiunile pentru a instala addon-urile preferate.","STREMIO_TV_LIVE_TV":"TV în direct","STREMIO_TV_RESUME_WATCHING":"Continuă vizionarea","STREMIO_TV_LOADING_BACKGROUND":"Se încarcă fundalul","STREMIO_TV_CHECKING_AUTHENTICATION":"Se verifică autentificarea","STREMIO_TV_LOADING_BOARD":"Se încarcă Tabloul","STREMIO_TV_LOGIN_HEADER_LINE_1":"Dorim ca utilizatorii noștri să aibă cea mai bună experiență personalizată cu software-ul nostru.","STREMIO_TV_LOGIN_HEADER_LINE_2":"De aceea vă rugăm să creați și/sau să vă autentificați în contul dvs.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Vă mulțumim pentru înțelegere,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Echipa Stremio","STREMIO_TV_REMOTE_INSTRUCTIONS":"Pentru a utiliza Telecomanda Web cu telefonul dvs. inteligent / tabletă / desktop:","STREMIO_TV_WIFI_SETUP":"Configurare Wi-Fi","STREMIO_TV_WIFI_HEADER_LINE_1":"Cercul Stremio nu a detectat o conexiune la internet.","STREMIO_TV_WIFI_DETAILS_1":"Conectați-vă la:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Utilizați parola:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Deschideți un browser web cu linkul:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Implicit","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"După Ultima vizionare","STREMIO_TV_LIBRARY_SORT_NAME":"După Nume","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"După Numărul de vizionări","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Sezonul ${1}","STREMIO_TV_STREAMS_LOADING":"Addon-uri încărcate ${1} / ${2}...","STREMIO_TV_STREAMS_STILL_LOADING":"Addon-ul ${1} încă se încarcă...","STREMIO_TV_PLAYER_SETTINGS":"Setări player","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Întârziere subtitrări","STREMIO_TV_PLAYER_AUDIO_DELAY":"Întârziere audio","STREMIO_TV_PLAYER_VIDEO_SCALING":"Ajustare scalare video","STREMIO_TV_PLAYER_CHAPTERS":"Capitole","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Treci peste ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Sursă de stream nesuportată","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Nu s-a putut deschide linkul extern","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Nu este reglabil în modul de trecere audio","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Redă cu ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Redă cu playerul libVLC","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Comutare la playerul libVLC din cauza unei erori de redare","STREMIO_TV_ADDONS_TITLE":"Folosiți Stremio pe telefonul sau PC-ul dvs. pentru a instala sau configura addon-uri și apăsați „Sincronizează addon-urile”","STREMIO_TV_ADDONS_SUBTITLE":"Notă: asigurați-vă că utilizați același cont Stremio","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sincronizează addon-urile","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addon-urile au fost sincronizate cu succes","STREMIO_TV_ADDONS_SYNC_FAILED":"Sincronizarea addon-urilor a eșuat","STREMIO_TV_META_LINK_FAILED":"Nu s-a putut deschide linkul meta","STREMIO_TV_CATALOG_LOADING":"Catalogul încă se încarcă...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Limba interfeței actualizată","STREMIO_TV_SETTINGS_THEME_UPDATED":"Tema actualizată","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Player implicit","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Player extern","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Limbă preferată","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"A doua limbă preferată","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Redare tunelată","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Posibile probleme de redare pe anumite dispozitive","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Anumite formate video s-ar putea să nu funcționeze","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Potrivirea ratelor de cadre","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Dezactivat","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Numai rata de cadre","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Rata de cadre și rezoluția","STREMIO_TV_SETTINGS_NO_CACHING":"Fără memorare cache","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Implicit","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Soft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Rapid","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra rapid","STREMIO_TV_SETTINGS_SERVER_URL":"URL server de streaming","STREMIO_TV_SETTINGS_SERVER_VERSION":"Versiune server","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Necunoscut","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Versiune Stremio","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Editare URL server","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Introduceți un URL de server de streaming","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Afișare statistici în timpul încărcării","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"Pentru a citi Politica de Confidențialitate Stremio, accesați:","STREMIO_TV_SETTINGS_TOS_TEXT":"Pentru a citi Termenii și Condițiile Stremio, accesați:","STREMIO_TV_NAV_SEARCH":"Căutare","STREMIO_TV_NAV_HOME":"Acasă","STREMIO_TV_NAV_DISCOVER":"Descoperă","STREMIO_TV_NAV_LIBRARY":"Bibliotecă","STREMIO_TV_NAV_MOVIES":"Filme","STREMIO_TV_NAV_SERIES":"Seriale","STREMIO_TV_NAV_CHANNELS":"Canale","STREMIO_TV_NAV_TV":"TV în direct","STREMIO_TV_NAV_SETTINGS":"Setări","STREMIO_TV_NAV_ADDONS":"Addon-uri","STREMIO_TV_LOGIN_TITLE":"Conectare Cont","STREMIO_TV_LOGIN_EXPIRES_IN":"Expiră în","STREMIO_TV_LOGIN_STEP_ONE":"Scanați codul QR de mai sus sau mergeți la","STREMIO_TV_LOGIN_STEP_TWO":"Autentificați-vă în contul Stremio","STREMIO_TV_LOGIN_NEW_LINK":"Solicitați un nou link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Codul de conectare a fost actualizat","STREMIO_TV_SEARCH_PLACEHOLDER":"Tastați ceva","STREMIO_TV_SEARCH_NO_ADDONS":"Nu au fost solicitate addon-uri pentru cataloage!","STREMIO_TV_SEARCH_BUTTON":"Căutare","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Istoric căutare","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Puteți căuta titluri, actori, canale și multe altele...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Șterge istoric căutare","STREMIO_TV_FILTERS_DESCRIPTION":"Alegeți din unul dintre filtrele de mai jos","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Serverul de streaming este offline. Verificați setările serverului.","FILTERS":"Filtre","SETTINGS":"Setări","ACCOUNT":"Cont","LOGOUT":"Deconectare","THEMES":"Teme","PLAYBACK":"Redare","PLAYBACK_SPEED":"Viteză redare","AUDIO_TRACKS":"Piste audio","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Videoclipuri","SERVER":"Server","LINKS":"Linkuri","ABOUT":"Despre","INTERFACE":"Interfață","ANIMATIONS":"Animații","STATUS":"Stare","LANGUAGE":"Limbă","SIZE":"Mărime","DELAY":"Întârziere","BOLD":"Aldin","OPACITY":"Opacity","TEXT_COLOR":"Culoarea textului","OUTLINE_COLOR":"Culoarea conturului","BACKGROUND_COLOR":"Culoarea fundalului","BACKGROUND_BLUR":"Estompare fundal","SEEK_TIME_DURATION":"Durată căutare timp","AUTO_PLAY":"Redă automat următorul episod","PLAY_NOW":"Redă acum","MARK_AS_WATCHED":"Marchează ca vizionat","MARK_AS_UNWATCHED":"Marchează ca nevizionat","REWIND_TO_BEGINNING":"Derulează la început","CONTINUE_WATCHING":"Continuă vizionarea","ALL":"Toate","SECONDS":"secunde","ON":"Activat","OFF":"Dezactivat","RELOAD":"Reîncărcare","EDIT_URL":"Editează URL-ul","NONE":"Niciunul","EMBEDDED":"Încorporat","REMOTE_SWITCH_DEVICES":"Comutare dispozitive","REMOTE_VIDEOS":"Videoclipuri","REMOTE_ADJUST_TIMING":"Ajustare sincronizare","REMOTE_ADJUST_SIZE":"Ajustare mărime","REMOTE_COULD_NOT_BE_LOADED":"Telecomanda Web nu a putut fi încărcată","REMOTE_RETRY":"Reîncercare","TORRENT_PROFILE_DEFAULT":"Implicit","TORRENT_PROFILE_SOFT":"Soft","TORRENT_PROFILE_FAST":"Rapid","TORRENT_PROFILE_ULTRA_FAST":"Ultra rapid","FAQ_001_H1":"Ce este Stremio?","FAQ_001_P1":"Stremio este un software pentru centru media proiectat pentru divertisment video cu ușurință în utilizare în minte. Stremio vă permite să vă organizați și să vizionați propria colecție de filme, seriale, canale și TV în direct.","FAQ_001_P2":"Stremio colectează conținutul pe care vi-l arată de pe discul local și prin sistemul nostru de addon-uri.","FAQ_001_P3":"De asemenea, vă va notifica atunci când apar episoade/videoclipuri/filme noi pe care le urmăriți și vă va oferi recomandări de filme.","FAQ_02_H1":"Cum se compară Stremio cu Kodi și Plex?","FAQ_02_P1":"Suntem inspirați de cele două programe. Dar avem obiective diferite - Stremio este orientat în mod specific către divertisment video și încearcă să devină soluția principală pentru asta prin ușurința sa de utilizare.","FAQ_02_P2":"Stremio nu va fi niciodată la fel de personalizabil și bogat în funcții ca Kodi și Plex, dar este semnificativ mai ușor de utilizat. Doar ${1}încercați-l și vedeți${2} :)","FAQ_03_H1":"Cum se compară Stremio cu Netflix?","FAQ_03_P1":"Iarăși, Netflix este una dintre inspirațiile noastre. Ne străduim să obținem experiența utilizatorului de la Netflix, plus multe adăugiri. Dar cel mai important, vă oferim libertatea de a vă gestiona propria bibliotecă și de a adăuga surse noi de conținut cu ajutorul sistemului nostru de addon-uri.","FAQ_03_P2":"Acest lucru face ca Stremio să fie infinit extensibil, astfel că atunci când utilizați Stremio, nu sunteți limitat la conținutul pe care Netflix decide să îl licențieze. De exemplu, prin intermediul Stremio puteți viziona conținut de pe ${1}Filmon.tv${2}, ${3}Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} și chiar ${9}Netflix${10} în sine!","FAQ_04_H1":"Cum se compară Stremio cu Flipboard?","FAQ_04_P1":"Această întrebare nu este foarte obișnuită, cu excepția cazului în care discutăm cu oameni din start-up-uri :)","FAQ_04_P2":"Stremio este în mod intenționat un agregator de conținut, ceea ce îl face practic Flipboard pentru video. Acest lucru este foarte vizibil în secțiunea noastră Tablou, care vă oferă cataloage și notificări pentru episoade noi/videoclipuri noi pentru ceea ce urmăriți, exact ca Flipboard.","FAQ_05_H1":"Cum se compară Stremio cu Popcorn Time?","FAQ_05_P1":"Stremio și Popcorn Time sunt similare ca interfață de utilizator, pentru că nu există multe modalități de a realiza corect cataloage de divertisment video :)","FAQ_05_P2":"Dar în timp ce Popcorn Time se concentrează pe redarea de torrente din surse specifice, Stremio nu are restricții și este doar un agregator de conținut - nu este blocat într-o sursă specifică de conținut.","FAQ_05_P3":"În plus, noi nu oferim niciun addon pentru torrente în mod implicit, deci Stremio nu acoperă cazul de utilizare Popcorn Time cu funcționalitate oficială.","FAQ_05_P4":"O altă diferență semnificativă este că Popcorn Time este complet open source, în timp ce Stremio este ${1}parțial open source${2}.","FAQ_06_H1":"Veți adăuga acest film/serial?","FAQ_06_P1":"Nu, ne pare rău :(","FAQ_06_P2":"După cum este menționat și în majoritatea celorlalte întrebări, Stremio nu furnizează niciun conținut în sine - totul este adăugat prin intermediul sistemului nostru de addon-uri. În cazul în care aveți o cerere de conținut, puteți folosi butonul „Raportați” din Player, care va trimite un e-mail autorului addon-ului pe care îl utilizați în prezent.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Vei crea un addon pentru X?","FAQ_08_P1":"Este cu desăvârșire posibil.","FAQ_08_P2":"Dacă aveți o idee pentru un addon, lăsați-ne un mesaj la ${1}office@stremio.com${2}, dar vă rugăm să vă asigurați că ideea dvs. de addon nu va încălca drepturile de autor sau termenii de utilizare.","FAQ_08_P3":"În prezent, următoarele lucruri de pe agenda noastră sunt addon-uri pentru FandangoNOW, video la cerere Filmon.tv și Crunchyroll.","FAQ_09_H1":"Folosește Stremio BitTorrent?","FAQ_09_P1":"Da, Stremio suportă BitTorrent ca protocol de streaming. Puteți folosi asta fie cu un addon pentru torrente, fie prin trascinarea și fixarea unui fișier .torrent în Stremio, fie prin lipirea unui magnet link în Bara de căutare.","FAQ_09_P2":"Vă rugăm să rețineți că singurul addon oficial care folosește BitTorrent este ${1}Vodo${2}, care oferă conținut indie, permis în întregime pentru distribuție cu BitTorrent.","FAQ_09_P3":"Noi nu susținem utilizarea addon-urilor terților care ar putea permite încălcarea drepturilor de autor.","FAQ_10_H1":"Ce pot viziona în Stremio cu addon-urile oficiale?","FAQ_10_P1":"În mod implicit, puteți viziona conținut de pe Filmon.tv, YouTube și Vodo în Stremio însuși, cu ajutorul player-ului său încorporat. În plus, avem un addon pentru Twitch.tv și câteva altele.","FAQ_10_P2":"Acest lucru oferă o selecție de:","FAQ_10_L1":"Canale TV populare, oferite de Filmon.tv - de exemplu E4, BBC, Bollyworld TV","FAQ_10_L2":"Totul de pe YouTube - de exemplu BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Filme indie cu Vodo","FAQ_10_L4":"Transmisiuni de jocuri online cu Twitch.tv","FAQ_10_P3":"În plus, există multe surse de conținut furnizate cu addon-urile Guidebox și Netflix, care <b>nu</b> se joacă în întregime în Stremio, ci vă redirecționează către serviciul dat. De exemplu, addon-ul Guidebox vă oferă o selecție de filme pe care le puteți viziona gratuit în SUA, din servicii precum TubiTV și Crackle.","FAQ_11_H1":"Stremio nu se instalează, ce ar trebui să fac?","FAQ_11_P1":"Dacă sunteți pe Windows, încercați ${1}acest instalator alternativ${2}.","FAQ_11_P2":"Dacă sunteți pe Mac OS X, vă rugăm să știți că nu susținem nimic mai vechi decât OS X Mavericks (10.9).","FAQ_11_P3":"Dacă sunteți pe Linux, rețineți că susținem doar Linux pe 64 de biți (x64) în acest moment.","FAQ_11_P4":"Dacă în continuare nu puteți rezolva problema, vă rugăm să ne scrieți la ${1}grupul nostru de Facebook${2}.","FAQ_12_H1":"De ce antivirusul meu se plânge? Este Stremio sigur?","FAQ_12_P1":"Vă asigurăm că Stremio este ${1}100% curat${2}.","FAQ_12_P2":"Antivirusul dvs. se plânge pentru că includem publicitate în installer-ul nostru, pe care unii programe antivirus îl recunosc ca ad-ware.","FAQ_12_P3":"Dacă nu sunteți sigur, puteți încerca ${1}instalatorul alternativ${2} al nostru.","FAQ_13_H1":"Cum pot crea un addon?","FAQ_13_P1":"În primul rând, vă recomandăm să verificați ${1}modulul nostru de sistem pentru addon-uri${2} pe GitHub.","FAQ_13_P2":"Apoi, puteți urma ${1}tutorialul Salut, lume!${2}.","FAQ_13_P3":"Dacă nu aveți abilități de programare, vă rugăm să postați ideea dvs. de addon pe ${1}comunitatea noastră de Reddit${2} și să ne contactați cu ideea dvs. de addon la ${3}office@stremio.com${4}.","FAQ_14_H1":"Cum se publică addon-urile?","FAQ_14_P1":"Când creați un addon și îl găzduiți și introduceți un câmp <b>endpoint</b> în manifestul dvs., care indică către o adresă de addon funcțională, addon-ul se va publica automat în ${1}catalogul de addon-uri${2}.","FAQ_14_P2":"Acest lucru se întâmplă pentru că partea de server a modulului stremio-addons face automat o solicitare către API-ul nostru pentru a anunța addon-ul. Când API-ul nostru validează <b>endpoint</b>-ul dvs. ca fiind un addon valid, acesta va începe să apară în catalog.","FAQ_15_H1":"Pot să rulez Stremio în browser-ul meu?","FAQ_15_P1":"Nu în acest moment, dar asta vine în curând!","FAQ_15_P2":"Dacă sunteți curios să vedeți o versiune Alpha, o puteți găsi aici: ${1}alpha4.strem.io${2}. Rețineți că streamingul este dezactivat în această versiune Alpha. Noi susținem Chrome, Firefox, Opera și Edge.","FAQ_16_H1":"Casting-ul pe TV nu funcționează / subtitrările nu funcționează","FAQ_16_P1":"Casting-ul pe TV folosește tehnologia DLNA, care este foarte inconsistentă între diferite mărci și modele de televizoare. Din acest motiv, nu avem capacitatea de a o testa în fiecare caz, deci este departe de a fi perfectă. Cu toate acestea, lucrăm constant la îmbunătățirea ei, dar nu vă putem da o estimare a momentului în care DLNA va începe să funcționeze corect cu televizorul dvs.","FAQ_16_P2":"Dacă nici măcar nu vedeți televizorul dvs. în meniul de casting, vă rugăm să încercați să dezactivați și să reactivați conexiunea dvs. la rețea (pe Windows, faceți clic dreapta pe Rețea și utilizați Opțiunea Dezactivează/Activează), precum și repornirea routerului, a televizorului și a PC-ului.","FAQ_16_P3":"Dacă întâmpinați în continuare probleme, ne puteți ajuta trimițând informații despre marcă și modelul televizorului la ${1}office@stremio.com${2}.","FAQ_16_P4":"Între timp, vă recomandăm Chromecast, pe care îl susținem foarte bine, sau pur și simplu să conectați televizorul la PC cu un cablu HDMI.","FAQ_17_H1":"Stremio se blochează și/sau se închide brusc, ce pot face?","FAQ_17_P1":"În primul rând, dacă utilizați Windows 7 cu AVG anti-virus: avem o problemă cu această combinație. Problema este în AVG în sine și nu există o modalitate rezonabilă de a o rezolva din partea noastră. Din păcate, excepțiile sau dezactivarea antivirusului nu vor funcționa. Singura soluție este să înlocuiți AVG cu altceva.","FAQ_17_P2":"Dacă nu este aceasta problema, dar utilizați în continuare Windows, vă rugăm să actualizați la cea mai recentă versiune de service pack și să actualizați/reinstalați driverele GPU, apoi să încercați din nou.","FAQ_17_P3":"Dacă problema dvs. nu este încă rezolvată sau utilizați un Mac sau Linux, vă rugăm să ne scrieți raportând detaliile exacte ale problemei la ${1}grupul nostru de Facebook${2}.","FAQ_18_H1":"Cum pot crea un addon?","FAQ_18_P1":"Pentru început, vă recomandăm să verificați ${1}modulul nostru de sistem pentru addon-uri${2} pe GitHub.","FAQ_18_P2":"Apoi, puteți urma ${1}tutorialul Salut, lume!${2}.","FAQ_18_P3":"Dacă nu aveți abilități de programare, vă rugăm să postați ideea dvs. de addon pe ${1}comunitatea noastră de Reddit${2} și să ne contactați cu ideea dvs. de addon la ${3}office@stremio.com${4}.","FAQ_19_H1":"De ce ocupă Stremio spațiu pe disc?","FAQ_19_P1":"Stremio are o <b>cache locală</b> pentru a păstra temporar fișierele video pe care le redați, pentru a le putea reda din nou fără a le descărca din nou. De exemplu, dacă redați un episod de serial, acesta va fi descărcat pe discul local pentru a vă oferi o experiență mai bună de vizionare, fără întreruperi sau tamponări.","FAQ_19_P2":"În plus, add-on-urile oficiale pot cere să descarce conținut temporar pentru a-l reda. Acestea pot include subtitrări, imagini de previzualizare și alte resurse. Toate acestea contribuie la ocuparea spațiului pe disc de către Stremio.","FAQ_19_P3":"Pentru a gestiona spațiul ocupat de Stremio, puteți curăța cache-ul din setările Stremio. Acest lucru va șterge toate fișierele temporare descărcate de Stremio, dar va trebui să le redescărcați dacă doriți să le vizionați din nou.","FAQ_20_H1":"Unde se află folderul de cache?","FAQ_20_P1":"Pe Windows, este stremio-cache în unitatea pe care ați selectat-o în Setări (de exemplu, \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"Pe MacOS, este \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"Pe Linux, este \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"Primeșc eroarea \\"Streaming server is not found\\", ce pot să fac?","FAQ_21_P1":"Dacă primiți această eroare, înseamnă că există câteva posibilități:","FAQ_21_P2":"1) Încercați să utilizați un addon susținut de sursa YouTube/BitTorrent prin ${1}versiunea noastră web${2}. În acest caz, ar trebui să instalați versiunea noastră de desktop de pe ${3}site-ul nostru${4}.","FAQ_21_P3":"2) Există o problemă cu instalarea Stremio pe calculatorul dvs. În acest caz, încercați să reinstalați ultima versiune de desktop de pe ${1}site-ul nostru${2}. Dacă acest lucru nu ajută, încercați să dezactivați programele antivirus și firewallele, să reporniți PC-ul și să încercați din nou. Dacă acest lucru nu funcționează nici în acest caz, vă rugăm să ne scrieți la ${3}grupul nostru de Facebook${4}.","FAQ_22_H1":"Nu pot vedea/utiliza majoritatea addon-urilor pe iOS","FAQ_22_P1":"Din cauza restricțiilor din termenii și condițiile App Store de la Apple, am restricționat aplicația iOS doar la un set particular de addon-uri.","FAQ_22_P2":"Dar stați liniștit - vor fi mai multe addon-uri pentru iOS în viitor, iar noi am putea adăuga o integrare care vă va permite să utilizați toate addon-urile Stremio datorită conectării aplicației iOS la Stremio Streaming Server."}')},6687:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Кино","TYPE_series":"Сериал","TYPE_tv":"ТВ-канал","TYPE_channel":"Канал","TYPE_other":"Прочее","TYPE_movie_PL":"Кино","TYPE_series_PL":"Сериалы","TYPE_tv_PL":"ТВ-каналы","TYPE_channel_PL":"Каналы","TYPE_other_PL":"Прочее","TYPE_ALL":"Все","TYPE":"Type","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"Видео","BACK":"Назад","MORE":"Ещё","DONE":"Готово","COPY":"Копировать","SUCCESS":"Готово","ERROR":"Ошибка","SETTINGS_CASTING_MODE_PICKER":"Casting mode","CASTING_MODE_HLSV2":"По умолчанию","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Нет транкодирования","Discover":"Открытия","Board":"Доска","Library":"Библиотека","My Library":"Моя библиотека","Calendar":"Календарь","NOTIFICATION_ONLINE":"Вы в сети","NOTIFICATION_OFFLINE":"Вы вне сети","INTERNET_CONNECTION":"Сетевое подключение","STORAGE_FULL_TITLE":"Внимание: хранилище заполнено!","STORAGE_FULL_TEXT":"Stremio не может сохранить ваши настройки, предпочтения или данные для входа. Попробуйте перезапустить или переустановить Stremio.","SEARCH":"поиск","SEARCH_NO_RESULTS":"Ничего не найдено","SEARCH_EXPLANATION_CONTENT":"Поиск фильмов, сериалов, YouTube и ТВ-каналов","SEARCH_EXPLANATION_PEOPLE":"Поиск актёров, режиссёров и авторов","SEARCH_PASTE_LINKS":"Вставьте HTTP и Magnet-ссылки","SEARCH_OR_PASTE_LINK":"Search or paste link","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"Добавить в библиотеку","REMOVE_FROM_LIB":"Удалить из библиотеки","ADDED_TO_LIB":"Добавлено в библиотеку","REMOVED_FROM_LIB":"Удалено из библиотеки","TRAILER":"Трейлер","WATCH_TRAILER":"Смотреть трейлер","WATCH_NOW":"Смотреть","SHOW":"Показать","SHOW_MOVIE":"Показать фильм","WATCH_RANDOM":"Смотреть в случайном порядке","IMDB_RATING":"Рейтинг IMDb","YEAR":"Год","DIRECTOR":"Режиссёр","WRITER":"Писатель","LEAD_ACTORS":"Основные актёры","CAST":"Актёры","CREW":"Команда","SHOW_MORE_CAST":"Показать больше »","AIRED":"Выпуск","SEASONS":"Сезоны","GENRE":"Жанр","GENRE_ALL":"All genres","CATALOG":"Каталог","SUMMARY":"Описание","SHOW_MORE":"Показать больше","SIMILAR":"Похожее","UPCOMING":"Скоро","ENDED":"Закончилось","DURATION":"Продолжительность","FEATURED":"Представлено","METADATA":"Метаданные","CATEGORY":"категория","LINKS_GENRES":"Жанры","LINKS_CAST":"Актёры","LINKS_DIRECTORS":"Режиссёры","SEARCH_VIDEOS":"поиск видео","SEARCH_PLACEHOLDER":"поиск или вставка магнитной ссылки","ADDON":"Дополнение","ADDONS":"Дополнения","OFFICIAL":"Официальный","ADDONS_OFFICIAL":"Официальные дополнения Stremio","ADDONS_POPULAR":"Популярно в вашем районе","ADDON_FREE":"Бесплатно","ADDON_PEERED":"Попробовать","ADDON_SUBSCRIPTION":"Подписка","ADDON_STREAM_GEORESTRICTED":"Недоступно в вашем регионе","ADDON_STREAM_OFFLINECACHE":"Офлайн-кэш","ADDON_STREAM_LOCALFILE":"Локальный файл","SHARE_ADDON":"Поделиться дополнением","AVAILABLE_STREAMS":"Доступные стримы","NO_STREAM":"Нет стримов","ALL_ADDONS":"Все","INSTALL_MORE_ADDONS":"Для большего количества стримов установите больше дополнений","STREAM_NOT_SUPPORTED":"Выбранные стримы не поддерживаются на этой платформе.","ADDON_CATALOGUE":"Показать все дополнения »","ADDON_CATALOGUE_MORE":"Больше дополнений »","REPO_ADDED":"Репозиторий добавлен","ADDON_REPO_EXIST_ERR":"Этот репозиторий дополнений уже существует","ADDON_REPO_ERR":"Ошибка при добавлении репозитория","ADDON_ADD_ERR":"Ошибка при добавлении дополнения","ERR_ADDON_PROTECTED":"Защищенное дополнение","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Что-то пошло не так — возможно, аутентификация не удалась","ERR_NOT_COLLECTION_URL":"Не URL-адрес коллекции","ERR_NOT_ADDON_URL":"Не URL-адрес дополнения","ERR_DETECTFROMURL":"Не удается обнаружить по URL-адресу","ADDON_DUPLICATE_WARNING":"Внимание: дублирующееся дополнение","ADDON_COLLECTION_SET_FAILED":"Не удалось установить коллекцию дополнений","SETTINGS_DATA_EXPORT":"Экпорт данных","ADDON_PULL_FAILED":"Синхронизация установленных дополнений из вашей учетной записи не удалась","REFRESH_ON_CLICK":"Нажмите, чтобы повторить","STILL_IN_THEATER":"Фильм все еще показывают в кинотеатрах","WATCH_IN_CINEMA":"Смотрите его в местном кинотеатре","IN_THEATER":"В кино","GET_TICKETS":"Купить билеты","UPCOMING_EPISODE":"Предстоящий эпизод","UPCOMING_EPISODE_MESSAGE":"Этот эпизод выйдет в эфир","MISSING_DATE_EPISODE":"Дата отсутсвует","MISSING_DATE_EPISODE_MESSAGE":"Возможно, этот эпизод еще не выпущен","CHANNEL_NOT_SCRAPED":"Этот канал ещё не просканирован.<br>Пожалуйста, вернитесь через несколько минут.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Добавьте в библиотеку, чтобы получить уведомление, как только станет доступно.","GET_NOTIFIED_WHEN_AVAILABLE":"Вы получите уведомление, как только станет доступно.","WARNING_STREAMING_SERVER":"Внимание: локальный стриминговый сервер не найден. Стриминг из локальных файлов, YouTube и BitTorrent будет недоступен.","WARNING_STREAMING_SERVER_DISMISS":"Отклонить","WARNING_STREAMING_SERVER_LATER":"Позже","DECODER_WARNING":"Внимание: это видео может не поддерживаться вашим оборудованием. Имейте в виду, что воспроизведение может быть замедленным.","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"Упс, ошибка воспроизведения","PLAYER_ERROR_LOOKSLIKE":"Выглядит как","PLAYER_ORIENTATION":"Ориентация плеера","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Заблокировано","PLAYER_ORIENTATION_SENSOR_SHORT":"По датчику наклона","PLAYER_ORIENTATION_LANDSCAPE":"Ориентация плеера заблокирована в альбомной ориентации","PLAYER_ORIENTATION_SENSOR":"Автоматическая ориентация плеера (датчик)","PLAYER_PLAYBACK_SPEED":"Скорость воспроизведения","PLAYER_PLAYBACK_ERROR":"Ошибка воспроизведения, пожалуйста, попробуйте снова","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Неизвестная ошибка","PLAYER_PLAYBACK_ERROR_DEFAULT":"Извините, это видео не может быть воспроизведено {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Языки субтитров","PLAYER_SUBTITLES_VARIANTS":"Варианты субтитров","PLAYER_SUBTITLES_SETTINGS":"Настройки субтитров","PLAYER_SUBTITLES_DISABLED":"Субтитры отключены","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Вертикальное положения","PLAYER_SUBTITLES_LOADED":"Subtitles loaded","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Embedded subtitles loaded","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Exclusive subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Subtitles from {{origin}} loaded","PLAYER_PLAY":"Play","PLAYER_PAUSE":"Pause","PLAYER_NEXT_VIDEO":"Следующее видео","PLAYER_MUTE":"Mute","PLAYER_UNMUTE":"Unmute","PLAYER_OPEN_IN_EXTERNAL":"Open in external player","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Play in {{device}}","PLAYER_LIVE":"Live","PLAYER_NEXT_VIDEO_TITLE":"Смотрите далее","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Отклонить","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Смотреть","PLAYER_COPY_STREAM_SUCCESS":"Stream link was copied to your clipboard","PLAYER_COPY_STREAM_ERROR":"Не удалось скопировать ссылку трансляции","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","STREAMING_FROM":"Стрим от","CASTING_TO":"Стим для","NETWORK_STATUS":"Состояние сети","STREAM_SPEED":"Скорость:","STREAM_BUFFERED":"Загружено:","PEERS_INFO":"Информация о пирах","PEERS_ACTIVE":"Активны:","PEERS_CONNECTED":"Подключены:","PEERS_WAITING":"Ждут:","TRANSCODING_WARNING":"Внимание: перекодирование видео.","STREAM_LOADING":"Загрузка...","PLAYING_LOCAL":"Из локального файла","PLAYING_CACHE":"Из кэша","WRONG_SUBS":"Некорректные субтитры?","ERR_SUBS_LOADING_TITLE":"Ошибка загрузки субтитров","ERR_SUBS_LOADING":"Не удалось загрузить субтитры: это может быть связано с используемым вами дополнением или с сетевым подключением","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Не удалось выполнить следующие дополнения субтитров","ERR_CASTING_UPDATE_TITLE":"Не удалось обновить информацию об устройстве трансляции: стриминг-сервер, возможно, отключен","CHOOSE_DEVICE":"Выберите устройство для просмотра","NO_CAST_DEVICES":"Нет доступных устройств.","NO_SETTINGS":"Настройки недоступны.","PHONE_TABLET":"Телефон/планшет","SUBTITLES":"Субтитры","SUBTITLES_CHANGE":"Изменить субтитры для ","SUBTITLES_CHANGE_NONE":"К сожалению, нет других субтитров для этого языка","SUBTITLES_CHANGE_ACIVE":"Сейчас выбраны субтитры &#35;{{subtitlesDialog.activeIdx + 1}}. Нажмите \\"Продолжить\\", чтобы выбрать субтитры &#35;{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Как вариант,","SUBTITLES_ADJUST_DELAY":"Настроить задержку субтитров:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Или использовать клавиши <span>G</span>/<span>H</span> во время вопроизведения для настройки.","SUBTITLES_ADJUST_DELAY_TIP":"Совет: вы можете использовать клавиши <span>G</span>/<span>H</span> во время вопроизведения для настройки.","SUBTITLES_DELAY":"Задержка субтитров:","SUBTITLES_LOADING":"Загрузка субтитров...","SUBTITLES_UNAVAILABLE":"Нет доступных внешних субтитров","SUBTITLES_DISABLED":"Отключено","EXTERNAL_PLAYER_DISABLED":"Отключено","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Разрешить выбор","EXTERNAL_PLAYER_HINT":"Hint: There is a setting to allow always opening with external player","DONT_SHOW_AGAIN":"Не показывать снова","SERVICE_INSTALL":"Установить","AUDIO":"Аудио","DEFAULT_LANGUAGE":"Язык по умолчанию","DEFAULT_SECONDARY_LANGUAGE":"Дополнительный язык по умолчанию","SEASON":"Сезон","EPISODE":"Эпизод","EPISODE_ABBREVIATION":"EP","SPECIAL":"Особый","SORT":"Сортировать","SORT_BY":"Сортировать по","FILTER":"Фильтровать","SORT_TRENDING":"Лидеры","SORT_RECENT":"Недавние","SORT_ALPHABET":"А-я","SORT_ALPHABET_REVERSE":"я-а","SORT_RATING":"Рейтинг","SORT_WATCHED":"Просмотрено","SORT_YEAR":"Год","SELECT_TYPE":"Select type","SELECT_SORT":"Select sort","SELECT_CATALOG":"Select catalog","SELECT_GENRE":"Select genre","SORT_LASTWATCHED":"По последнему просмотру","SORT_NAME":"По названию","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"По количеству просмотров","SORT_NOTWATCHED":"not watched","New for You":"Новые для вас","New Episodes":"Новые эпизоды","New Videos":"Новые видео","Recommendations":"Рекомендации","LIBRARY_RESUME":"Продолжить","LIBRARY_PLAY":"Play","LIBRARY_DETAILS":"Подробности","LIBRARY_RESUME_DISMISS":"Сбросить","LIBRARY_CLEAR_PROGRESS":"Очистить прогресс","LIBRARY_REMOVE":"Удалить","LIBRARY_NOT_LOGGED_IN":"Library is only available for logged in users","CALENDAR_NOT_LOGGED_IN":"Calendar is only available for logged in users","NOT_LOGGED_IN_CLOUD":"Access your favorite movies and TV shows anytime, anywhere","NOT_LOGGED_IN_RECOMMENDATIONS":"Recommendations tailored to your viewing history","NOT_LOGGED_IN_NOTIFICATIONS":"Никогда больше не пропустите ни одной серии","NOT_LOGGED_IN_CALENDAR":"Запланируйте ваш личный календарь просмотра","DISCOVER_FEATURED":"Рекомендуемые","DISCOVER_TOP":"Топ","DISCOVER_OSCAR":"Победители Оскара","DISCOVER_WARNING_TITLE":"Ой!","DISCOVER_EMPTY_CATALOG":"Это дополнение вернуло пустой контент.","DISCOVER_ADULT_WARNING":"Контент доступен только взрослым. Вам 18+?","DISCOVER_NOADDON_WARNING":"Внимание: не было найдено активного дополнения для этого типа. Показаны только сохранённые элементы, обновления не могут быть выполнены.","DISCOVER_LOAD_ERR":"Контент не загрузился, произошла ошибка.","DISCOVER_ADDON_UNINSTALLED":"Этот контент больше не доступен, возможно, вы удалили дополнение.","UNINSTALL_THIS_ADDON":"Удалить дополнение","ERR_ADDON_NOT_INSTALLED":"Это дополнение не установлено. Установить?","DETAIL_RECEIVE_NOTIF_SERIES":"Получать уведомления о новых эпизодах","DETAIL_RECEIVE_NOTIF_VIDEOS":"Получать уведомления о новых видео","SIDEBAR_SHOW_STREAMS":"Показать стримы","RELAUNCH":"Перезапустить!","UPGRADE":"Доступная новая версия! Обновите Stremio до последней версии","RELOAD_UI":"Перезагрузить пользовательский интерфейс","MANUAL_UPDATE_TITLE":"Обновите версию Stremio","MANUAL_UPDATE_LINE1":"Вы используете устаревшую версию Stremio, которая крайне не рекомендуется.","MANUAL_UPDATE_LINE2":"Пожалуйста, обновите как только получится.","BUTTON_UPDATE_LATTER":"Не сейчас","BUTTON_UPDATE_NOW":"Обновить","ANONYMOUS_USER":"Анонимный пользователь","DONT_HAVE_ACC":"Нет аккаунта?","HAVE_ACC":"Уже есть аккаунт?","PASSWORD":"Пароль","PASSWORD_CONFIRM":"Подтвердить пароль","EMAIL":"Эл. почта","FB_LOGIN":"Войти с Facebook","FB_NOTHINGSHARED":"Мы не будем ничем делиться без вашего согласия","FB_NOPOST":"Мы не будем ничего публиковать без вашего согласия","OR":"или","I_ACCEPT":"Я принимаю","I_ACCEPT_BY_CLICKING":"Нажимая кнопку выше, я подтверждаю, что принимаю ","TOS":"Условия и положения","MUST_ACCEPT_TERMS":"Вы должны принять условия","PASSWORDS_NOMATCH":"Пароли не совпадают","SIGN_UP":"Регистрация","SIGN_UP_EMAIL":"Зарегистроваться с эл. почтой","CLICK_TO_SIGN_UP":"Нажмите здесь, чтобы зарегистрироваться.","LOG_IN":"Войти","LOG_OUT":"Выйти","EXIT_FULLSCREEN":"Выйти из полноэкранного режима","ENTER_FULLSCREEN":"Войти в полноэкранный режим","PLAY_URL_MAGNET_LINK":"Play URL/Magnet link","HELP_FEEDBACK":"Помощь и обратная связь","TERMS_OF_SERVICE":"Условия обслуживания","PRIVACY_POLICY":"Политика конфиденциальности","ABOUT_STREMIO":"О Stremio","USER_PANEL":"Панель пользователя","LOGIN_LABEL":"Войти","GUEST_LOGIN":"Войти как гость","GUEST_LOGIN_NOTICE":"Гостевой вход не рекомендуется. Использование обычного входа позволяет Stremio синхронизировать вашу библиотеку, получать уведомления о любимых сериалах/каналах. Вы уверены, что хотите продолжить?","GUEST_LOGIN_NOTICE_2":"Гостевой вход не рекомендуется. У вас не будет синхронизированной библиотеки и доски уведомлений, которые являются очень важными функциями Stremio. Вы уверены, что хотите продолжить?","CLICK_HERE":"нажмите здесь","WRONG_PASSWORD":"Неправильный пароль. Если вы забыли свой пароль, ","SET_A_PASS":"установить пароль","RESET_PASSWORD":"Сброс пароля","FORGOT_PASSWORD":"Забыли пароль?","EMAIL_USED_WITH_FB":"Эта эл. почта была использована с логином Facebook.","INVALID_EMAIL":"Пожалуйста, введите действительный адрес эл. почты","INVALID_PASSWORD":"Пожалуйста, введите действительный пароль","CONN_ERR":"Ошибка подключения. Повторите попытку позже.\\n\\nЕсли проблема не устранится, отключите брандмауэры/антивирусное ПО (особенно Bitdefender).","IMPORT_FROM_GUEST":"Импорт библиотеки из гостевой учетной записи","RECEIVE_UPDATES_EMAIL":"Получайте обновления от Stremio на свою эл. почту","LOGIN_FAILED":"Ошибка входа.","SIGNUP_FAILED":"Регистрация не удалась.","SEARCH_FAILED":"Поиск не удался","EMAIL_USED":"Эта эл. почта уже используется.","WAITING_FB_LOGIN":"Вход через Facebook...","EXTERNAL_PLAYER_TITLE":"Воспроизвести во внешнем плеере","EXTERNAL_REMEMBER_PLAYER":"Хотите запомнить свой выбор","EXTERNAL_ALWAYS_PLAY":"Да","EXTERNAL_ONLY_ONCE":"Нет","BEST_FIT":"Наиболее подходящее","FIT_SCREEN":"По размеру экрана","FILL":"Заполнить","16:9":"16:9","4:3":"4:3","Original":"Оригинал","INTRO_TASTE":"Расскажите, что вам нравится","INTRO_TASTE_LONG":"Расскажите нам о том, что вы хотели бы посмотреть","INTRO_TASTE_PICK":"Выберите {{interestsRemaining}} интересов","INTRO_TASTE_PICK_MORE":"Выберите больше интересов {{interestsRemaining}}","INTRO_TASTE_HELP_US":"Помогите нам лучше узнать вас.","INTRO_TASTE_CHOOSE_THESE":"Выберите некоторые из них:","INTRO_TASTE_CHOOSE_MIN":"Выберите не менее 3 категорий","INTRO_TASTE_CHOOSE_MIN_ERR":"Вы должны выбрать минимум 3 категории!","INTRO_TASTE_LIFESTYLE":"Образ жизни","INTRO_TASTE_SPORTS":"Спорт","INTRO_TASTE_FOOD_HEALTH":"Еда и здоровье","INTRO_TASTE_BEAUTY_FASHION":"Красота и мода","INTRO_TASTE_NEWS":"Новости","INTRO_TASTE_GAMING":"Игры","INTRO_TASTE_SCIENCE_EDU":"Наука и образование","INTRO_TASTE_MUSIC":"Музыка","INTRO_TASTE_TRAVEL":"Путешествия","INTRO_TASTE_LATE_NIGHT":"Ночное шоу","INTRO_TASTE_REALITY":"Реалити","INTRO_TASTE_COMEDY":"Комедия","INTRO_TASTE_DIY":"Сделать своими руками","INTRO_TASTE_TECH":"Технологии","INTRO_TASTE_CINEMA":"Кино","ADDON_NOT_SUPPORTED":"Выбранное дополнение не поддерживается на этой платформе.","ADDON_DISCLAIMER":"Использование посторонних дополнений всегда будет предметом вашей личной ответственности и попадает под регулирующее законодательство той юрисдикции в которой вы находитесь.","ADDON_ACTIVATE":"активировать это дополнение?","ADDON_REPO_ADD":"URL-адрес репозитория дополнения","ADDON_ADD":"Добавить","INSTALL_ADDON":"Install addon","ADD_ADDON":"Добавить дополнение","ADD_ADDON_DESCRIPTION":"You can add an addon via an external link, which will appear under Installed addons.","PASTE_ADDON_URL":"Вставьте URL-адрес дополнения","WHATS_NEW":"Что нового","BUTTON_CONTINUE":"Продолжить","BUTTON_ACTIVATE":"Активировать","BUTTON_ACTIVATED":"Активировано","BUTTON_CANCEL":"Отмена","BUTTON_SUBMIT":"Отправить","BUTTON_DISMISS_ALL":"Отклонить все","BUTTON_VIEW_ALL":"Посмотреть все","BUTTON_SEE_ALL":"Смотреть все","BUTTON_COLOR_TRANSPARENT":"Прозрачн.","OPEN_IN_BROWSER":"Open in browser","LIB_EMPTY":"Ваша библиотека пуста. Узнайте, насколько она полезна :)","HOW_START":"Как начать:","LIB_EMPTY_CAL":"Ваш календарь показывает сериалы в библиотеке.","HOW_START_CAL":"Как вы можете добавить сериал:","LIB_EMPTY_BOARD":"Таблица показывает уведомления и рекомендации, относящиеся к вашей библиотеке.","HOW_START_BOARD_WAIT":"Пожалуйста, добавьте несколько серий или каналов к вашей библиотеке и дайте нам несколько минут для обработки :)","HOW_START_BOARD":"Вот как вы можете добавить сериалы и фильмы:","IMPORT_FB":"Импорт понравившегося материала из <span>Facebook</span>","IMPORT_TRAKT":"Импорт медиатеки из <span>Trakt</span>","IMPORT_DISCOVER":"Найти интересный материал в <span>Открытиях</span>","IMPORT_DISK":"Импорт видео из <span>локального диска</span>","PLEASE_CREATE_ACC":"Пожалуйста, <u>создайте аккаунт</u>, чтобы включить синхронизацию библиотеки и доски.","IMPORT_DISCOVER_SIGNUP":"Зарегистрируйтесь и находите интересные материалы в <span>Открытиях</span>","IMPORT_DISK_SIGNUP":"Зарегистрируйтесь и импортируйте фильмы или шоу из вашего <span>локального диска</span>","LIB_EMPTY_CLOUD":"Облачная бибилиотека","LIB_EMPTY_CLOUD_DESC":"Личная облачная библиотека синхронизируется на всех устройствах","LIB_EMPTY_EARLY":"Ранняя птичка","LIB_EMPTY_EARLY_DESC":"Получайте уведомления о новых эпизодах","LIB_EMPTY_PERSONAL":"Личное","LIB_EMPTY_PERSONAL_DESC":"Получите личные рекомендации","LIB_EMPTY_CALENDAR_DESC":"Запланируйте свой личный календарь просмотра","LIB_EMPTY_ALL":"Зарегистрируйтесь, чтобы получить всё это:","LIB_EMPTY_BEST":"Зарегистрируйтесь, чтобы получить всё лучшее от Stremio","LIB_EMPTY_OTHER":"Зарегистрируйтесь, чтобы включить календарь и другие крутые функции","CALENDAR_ADDED":"Календарь Stremio был добавлен в ваш настольный календарь по умолчанию.","CALENDAR_ADDED_MSG":"Если не сработало, добавьте этот URL-адрес в приложение календаря вручную","TRAKT_EXPIRED":"Срок действия аутентификации Trakt истек, перейдите в настройки и повторите аутентификацию.","TRAKT_REQUIRES_LOGIN":"Ошибка Trakt","TRAKT_REQUIRES_LOGIN_MSG":"Необходимо войти","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","SETTINGS_LABEL":"Настройки","SETTINGS_NAV_GENERAL":"Общее","SETTINGS_NAV_PLAYER":"Плеер","SETTINGS_NAV_STREAMING":"Стриминг","SETTINGS_NAV_SHORTCUTS":"Ярлыки","SETTINGS_SHORTCUT_RELOAD_APP":"Перезагрузить приложение","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Открыть настройки","SETTINGS_SHORTCUT_SWITCH_TABS":"Переключить вкладки","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Перелистывать вкладки вперёд","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Перелистывать вкладки назад","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigate Between Menus","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Go to Search","SETTINGS_SHORTCUT_EXIT_BACK":"Выйти/Вернуться","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Toggle Playback Speed Menu","SETTINGS_SHORTCUT_MENU_VIDEOS":"Toggle Videos Menu","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Toggle Subtitles Menu","SETTINGS_SHORTCUT_MENU_INFO":"Toggle Info Menu","SETTINGS_SHORTCUT_FULLSCREEN":"Переключить полноэкранный режим","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Показать элементы управления","SETTINGS_SHORTCUT_PLAY_PAUSE":"Воспроизведение/Пауза","SETTINGS_SHORTCUT_VOLUME_UP":"Громче","SETTINGS_SHORTCUT_VOLUME_DOWN":"Тише","SETTINGS_SHORTCUT_SEEK_NEXT":"Seek Next","SETTINGS_SHORTCUT_SEEK_PREV":"Seek Prev","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Seek Backward","SETTINGS_SHORTCUT_SEEK_FORWARD":"Seek Forward","SETTINGS_SHORTCUT_PLAY_NEXT":"Play Next","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Увеличить размер субтитров","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Уменьшить размер субтитров","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"величить задержку субтитров","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Уменьшить задержку субтитров","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Переключить боковую панель","SETTINGS_SHORTCUT_OR":"или","SETTINGS_SHORTCUT_TO":"в","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Аутентификация","SETTINGS_FACEBOOK_IMPORT":"Импорт","SETTINGS_CALENDAR_SUBSCRIBE":"Подписка","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Язык интерфейса","SETTINGS_LAUNCH_STARTUP":"Запуск при старте","SETTINGS_VLC_DEFAULT":"Воспроизвести в VLC","SETTINGS_UI_LANGUAGE":"Язык интерфейса","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Выход из полноэкранного режима клавишей Escape","SETTINGS_GAMEPAD":"Включить поддержку геймпада","SETTINGS_CLOSE_WINDOW":"Закрывать приложение, когда окно закрыто","SETTINGS_SUBTITLES_LANGUAGE":"Язык субтитров по умолчанию","SETTINGS_SUBTITLES_SIZE":"Размер субтитров по умолчанию","SETTINGS_SUBTITLES_BACKGROUND":"Фон субтитров","SETTINGS_SUBTITLES_COLOR":"Цвет субтитров","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Цвет контура субтитров","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Цвет фона субтитров","SETTINGS_SEEK_KEY":"Arrow keys seek time","SETTINGS_SEEK_KEY_SHIFT":"Arrow keys seek time when Shift key is held","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Rewind & Fast-forward duration","SETTINGS_BINGE":"Автовоспроизведение следующего эпизода","SETTINGS_NEXT_VIDEO":"Показывать уведомление перед началом следующего эпизода","SETTINGS_NEXT_VIDEO_TRIGGER":"Показывать уведомление о следующем эпизоде для:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Next video popup duration","SETTINGS_PLAY_IN_BACKGROUND":"Воспроизвести в фоновом режиме","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Воспроизвести во внешнем плеере","SETTINGS_RESIZE":"Автоизменение размера окна перед вопроизведением","SETTINGS_OVERRIDE_SERVER":"Переопределить URL-адрес сервера стриминга (дополнительно)","SETTINGS_SERVER_URL":"URL-адрес стримингового сервера: ","SETTINGS_SERVER_AVAILABLE":"Стриминговый сервер доступен.","SETTINGS_SERVER_UNAVAILABLE":"Стриминговый сервер недоступен.","SETTINGS_SERVER_STATUS_ONLINE":"Онлайн","SETTINGS_SERVER_STATUS_ERROR":"Ошибка","SETTINGS_SERVER_CONFIGURE_TITLE":"Configure streaming server url","SETTINGS_SERVER_CONFIGURE_INPUT":"Enter a streaming server url","SETTINGS_SERVER_CACHE_SIZE":"Размер кэша","SETTINGS_SERVER_TORRENT_PROFILE":"Профиль торрента","SETTINGS_HTTPS_ENDPOINT":"Конечная точка HTTPS-стриминга: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Всегда использовать последнюю бета-версию","SETTINGS_IMPORT_FB":"Импорт из Facebook","SETTINGS_IMPORT_DISK":"Импорт из локального диска","SETTINGS_IMPORT_TRAKT":"Импорт из Trakt","SETTINGS_PAUSE_MINIMIZED":"Приостановить воспроизведение при сворачивании","SETTINGS_HWDEC":"Декодирование с аппаратным ускорением","SETTINGS_BACKGROUND":"Фоновое воспроизведение","SETTINGS_SUBSCRIBE_CALENDAR":"Подписаться на календарь","SETTINGS_REQ_EXPORT":"Запросить экспорт данных","SETTINGS_ACC_DELETE":"Запросить удаление аккаунта","SETTINGS_CHANGE_PASSWORD":"Изменить пароль","SETTINGS_TOS":"Условия использования","SETTINGS_SUPPORT":"Связаться с поддержкой","SETTING_LANGUAGE":"Язык","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_LOGOUT":"Выйти из Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Выйти из Trakt","SETTINGS_SCAN_FOR_REMOTE":"Отсканируйте QR-код, чтобы открыть удалённо","SETTINGS_DESKTOP_NOTIFICATIONS":"Уведомления на рабочем столе","SETTINGS_DATA_SAVER":"Экономия трафика","SETTINGS_LANGUAGE_INTERFACE":"интерфейс","SETTINGS_LANGUAGE_SUBS":"субтитры по умолчанию","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Автовыбор аудиодорожки","SETTINGS_DEFAULT_AUDIO_TRACK":"Аудиодорожка по умолчанию","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"аккаунт","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"версия","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"Запускать плеер в отдельном окне (дополнительно)","SETTINGS_PLAY_IN_EXTERNAL":"Всегда запускать видео во внешнем плеере","SETTINGS_STORAGE_BUTTON":"Очистить локальное хранилище","SETTINGS_STORAGE_MODAL_TITLE":"Вы уверены?","SETTINGS_STORAGE_MODAL_MESSAGE":"Это очистит локальное хранилище и вы выйдете из приложения.","SETTINGS_HWDEC_PICKER":"Выберите настройку декодирования с аппаратным ускорением","SETTINGS_HW_AUTOMATIC":"Автоматически","SETTINGS_HW_DISABLED":"Отключено","SETTINGS_HW_ACCELERATED":"Ускорение декодирования","SETTINGS_HW_FULL":"Полное ускорение","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Subtitles","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Controls","SETTINGS_SECTION_AUTO_PLAY":"Auto-Play","SETTINGS_SECTION_ADVANCED":"Advanced","SUBSPICKER_AUDIO":"Аудио","SUBSPICKER_SUBTITLES":"Addons Subtitles","SUBSPICKER_BLACK_BACKGROUND":"Использовать чёрный цвет фона","SUBSPICKER_VERTICAL_OFFSET":"Вертикальное смещение","SUBSPICKER_SIZE":"Размер","SUBSPICKER_DELAY":"Задержка","SUBSPICKER_EMBEDDED_SUBS":"Встроенные субтитры","MOBILE_PRIVACY_POLICY":"Политика конфиденциальности","MOBILE_CRASH_REPORTING":"Сообщение о сбоях","MOBILE_ZOOM_TO_FILL":"Zoom To Fill Screen","MOBILE_PASSTHROUGH":"Digital audio output (passthrough)","MOBILE_RUN_LOW_BATTERY":"Run on low battery","MOBILE_RUN_FOREGROUND":"Run as Foreground Service","MOBILE_PERFORMANCE":"ПРОИЗВОДИТЕЛЬНОСТЬ И СТАБИЛЬНОСТЬ","MOBILE_SERVER_ONLINE":"Онлайн","MOBILE_SERVER_OFFLINE":"Офлайн","MOBILE_QR_EXPIRES":"Действие QR-кода истекает через ","MOBILE_LOG_INTO":"Войдите в ваш аккаунт Stremio ","MOBILE_SCAN_QR":"Отсканируйте QR-код выше или перейдите на ","MOBILE_LINK_ACCOUNT":"Link Account","MOBILE_SPEEDPICKER_CANCEL":"Отмена","MOBILE_SPEEDPICKER_LABEL":"Выберите скорость воспроизведения","MOBILE_EMPTY_LIBRARY":"Ваша библиотека пуста","MOBILE_NO_ADDON_ACTIVE":"Дополнение Stremio не активно для этого типа.","MOBILE_ORGANIZER_WARNING":"The Stremio Organizer app provides limited functionality. For a list of playable streams and the full Stremio experience, use Stremio on desktop.","MOBILE_ADDON_LOADING":"ещё загружается","MOBILE_ADDONS_LOADING":"дополнения ещё загружаются","MOBILE_ADDON":"Дополнение","MOBILE_CONFIGURE_ADDON":"Настройте ваше дополнение","MOBILE_CONFIGURE_ADDON_LABEL":"Настроить дополнение","MOBILE_ORGANIZER_ADDONS_WARNING":"The Stremio Organizer app provides a limited selection of addons. For the full Stremio experience, use Stremio on desktop.","MOBILE_DISCONNECT":"Отключить","MOBILE_LOOKING_FOR_DEVICES":"Поиск устройства...","MOBILE_CAST_TO":"Cast to","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Delete Account","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Account deletion is not instant due to legal obligations. After requesting deletion of your account you will have to use different email address/facebook profile to create a new Stremio account in the future.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirm Account Deletion","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Your account has been created using Facebook. To delete your account, please use our user portal at www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Please provide your password to confirm account deletion.","MOBILE_DELETE_ACCOUNT_BUTTON":"Удалить аккаунт","NAVIGATION_ON":"Вкл.","NAVIGATION_OFF":"Выкл.","MARKETING_AGREE":"Я согласен получать маркетинговые сообщения от Stremio","QUIT":"Выход!","CONNECTED":"Подключено","AUTHENTICATE":"Проверять подлинность","CACHING":"Кэширование","SETTINGS_CACHING_DRIVE":"Выберите диск кэширования","ENABLE_LOCAL_FILES_ADDON":"Enable the local files addon (requires restart)","LOCAL_ADDON_NOT_ENABLED":"Local addon is not enabled. Click here to go to the settings and enable it","ENABLE_REMOTE_HTTPS_CONN":"Включить удалённые HTTPS-соединения","TORRENT_PROFILE":"Торрент-профиль","DATA_CACHING":"Кэширование данных","MAGNET_PARSING":"Парсинг магнет-ссылки","January":"Января","February":"Февраль","March":"Март","April":"Апрель","May":"Май","June":"Июнь","July":"Июль","August":"Август","September":"Сентябрь","October":"Октября","November":"Ноября","December":"Декабрь","Monday":"Понедельник","Tuesday":"Вторник","Wednesday":"Среда","Thursday":"Четверг","Friday":"Пятница","Saturday":"Суббота","Sunday":"Воскресенье","Action":"Боевик","Comedy":"Комедия","War":"Война","Family":"Семья","Animation":"Анимация","Adventure":"Приключения","Fantasy":"Фантазия","Crime":"Криминал","Mystery":"Таинственность","Romance":"Романтика","Drama":"Драма","Horror":"Ужасы","Thriller":"Триллеры","Sci-Fi":"Научная фантастика","Music":"Музыка","Biography":"Биография","Documentary":"Документальный","Sport":"Спорт","Musical":"Музыкальный","Western":"Вестерн","Film-Noir":"Нуар","News":"Новости","History":"История","Game-Show":"Игровое шоу","Reality-TV":"Реалити шоу","Talk-Show":"Ток-шоу","Film & Entertainment":"Кино и развлечения","Gaming":"Игры","From TV":"Из ТВ","Lifestyle":"Стиль жизни","Science & Education":"Наука и образование","Cooking & Health":"Готовка и здоровье","Beauty & Fashion":"Красота и мода","Sports":"Спорт","News & Politics":"Новости и политика","How-to & DIY":"Сделай сам","Tech":"Технологии","Automotive":"Автомобильный","Causes & Non-Profits":"Коммерческое и некоммерческое","Movies":"Кино","Uk Live Tv":"Прямой эфир в Великобритании","Fashion":"Мода","Business News Radio":"Радио о бизнес-новостях","Business Tv":"Бизнес ТВ","Cars & Auto":"Автомобили и авто","Comedy Radio":"Комедийное радио","Lifestyle Radio":"Радио об образе жизни","News Tv":"Новости ТВ","Food And Wine":"Еда и вино","Latino Tv":"Латинское ТВ","Shopping Tv":"Покупки ТВ","Religion":"Религия","Kids":"Дети","Body & Soul":"Тело и душа","Education":"Образование","Indian Tv":"Индийское ТВ","Extreme Sports":"Экстремальный спорт","Middle Eastern Tv":"Ближневосточное ТВ","Celebrity Tv":"Знаменитость ТВ","Science Tv":"Наука ТВ","Bikini babe":"Попки в бикини","Outdoors":"На открытом воздухе","German Tv":"Немецкое ТВ","French Tv":"Французское ТВ","Italian Tv":"Итальянское ТВ","Gamer Tv":"Геймерское ТВ","Travel":"Путешествия","Asian Tv":"Азиатское ТВ","Entertainment":"Развлечения","News Radio":"Новостное радио","Music Radio":"Музыкальное радио","Language Learning":"Изучение языков","Science Radio":"Научное радио","Tech Radio":"Техническое радио","Science & Technology Vod":"Наука и технологии VoD","new video":"новое видео","new episode":"новый эпизод","new movie":"новый фильм","recommended":"рекомендуемое","we recommend":"мы рекомендуем","offer of the day":"предложение дня","news":"новости","music video":"мызкальное видео","CTX_SHOW_HOTKEYS":"Показать горячие клавиши","CTX_DISMISS_NOTIF":"Игнорировать уведомления","CTX_DISMISS_ALL":"Отклонить все","CTX_SHARE":"Поделиться","CTX_COPY_SHARE_LINK":"Скопировать ссылку","CTX_COPY_MAGNET_LINK":"Скопировать магнитную ссылку","CTX_COPY_STREAM_LINK":"Скопировать ссылку на стрим","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Скачать видео","CTX_DOWNLOAD_SUBS":"Скачать субтитры","CTX_VIEW_ON_YOUTUBE":"Смотреть на YouTube","CTX_SHOW":"Показать","CTX_PLAY":"Вопроизвести","CTX_PLAY_IN":"Воспроизвести в","CTX_PLAY_ON":"Воспроизвести на","CTX_WATCH_ON":"Смотреть на","CTX_WATCH":"Смотреть","CTX_WATCHED":"Просмотрено","CTX_WATCH_BEGINNING":"Смотреть с начала","CTX_WATCH_MOBILE":"Смотреть на мобильном устройсте","CTX_REWIND":"Перемотать на начало","CTX_MARK_WATCHED":"Отметить как просмотренное","CTX_MARK_NON_WATCHED":"Отметить как непросмотренное","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"Отметить остальное как просмотренное","CTX_UNMARK_REST":"Отметить остальное как непросмотренное","CTX_RECEIVE_NEW_NOTIF":"Получать новые уведомления","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"Удалить из кэша","CTX_REMOVE_CACHE_EP":"Удалить эпизод из кэша","CTX_OPEN_CONTAINING":"Открыть папку с файлом","CTX_REMOVE":"Удалить из библиотеки","CTX_AVAILABLE_OFFLINE":"Доступно без интернета","CTX_PAUSED":"Остановлено","CTX_ALWAYS_ON_TOP":"Закреплено","CTX_FULLSCREEN":"Полный экран","CTX_WRONG_SUBS":"Некорректные субтитры","CTX_REPORT_ISSUES":"Сообщить о проблеме","CTX_COPY":"Копировать","CTX_PASTE":"Вставить","CTX_CLEAR":"Очистить","CTX_CLEAR_RECENT_SEARCHES":"Очистить историю поисковых запросов","HELLO_THERE":"Привет","HOPE_YOU_ENJOY":"Надеемся, что вам нравится Stremio и это одно из ваших любимых приложений!","WHO_ARE_WE":"Кто мы? Мы — команда, стоящая за этим, — два парня, которые усердно работают каждый день в течение последних 3 лет с одной целью — делать этот продукт всё лучше и лучше.","SUPPORT_US":"Если вам нравится Stremio, если Stremio ценен для вас — расскажите об этом!","SPREAD_THE_WORD":"Поделитесь с друзьями прямо сейчас, расскажите о Streamio","MORE_PEOPLE":"Чем больше людей пользуются Streamio, тем лучше он становится","SEND_A_LINK":"Или отправьте ссылку на наш сайт","TIP_LOCALFILES":"Совет: вы можете перетаскивать локальные видеофайлы в Stremio.","ADDON_MY":"Мои дополнения","ADDON_COMMUNITY":"Дополнения от сообщества","ADDON_OFFICIAL":"Официальные дополнения","ADDON_REPOS":"Репозитории дополнений","ADDON_SEARCH":"Искать плагины","ADDON_INSTALL":"Установить","ADDON_CONFIGURE":"Настроить","ADDON_UNINSTALL":"Удалить","ADDON_UPGRADE":"Обновить","ADDON_INSTALLED":"Установлено","ADDON_INSTALLED_MSG":"Дополнение установлено!","ADDON_UPGRADED_MSG":"Дополнение обновлено!","ADDON_UNKNOWN":"Неизвестно","ADDON_ERR":"Ошибка установки дополнения!","ADDON_DISCONNECTED":"Отключено","ADDON_APP_MISSING":"приложение для этого источника не установлено. Вы хотите установить его сейчас?","ADDON_APP_INSTALL":"Установить","ADDON_PAGE":"Страница дополнения","ADDON_TOP_CONTENT":"Best from this Addon","ADDON_PROVIDES":"provides","ADDON_WATCH":"Watch #{types} now!","ADDON_WATCH_FREE":"Watch #{types} for FREE now!","ADDON_ADDON":"Дополнение","ADDON_SUPPORTED_TYPES":"Supported types","ADDON_SUPPORTED_CATALOGS":"Supported catalogs","ADDON_PROVIDES_DISCOVER":"More #{types} in Discover","ADDON_PROVIDES_STREAMS":"Watch #{types}","ADDON_PROVIDES_STREAMS_FREE":"Watch #{types} for FREE","ADDON_PROVIDES_SUBTITLES":"Subtitles for #{types}","ADDON_CANTDETECT":"We couldn\'t detect a running Stremio, so we couldn\'t detect what addons you have installed.","ERR_NO_META":"No information found about this ","ERR_GETTING_META":"Error retrieving information about this.","ERR_CANT_PARSE_MAGNET":"Unable to parse magnet","ERR_NO_MAGNET_INFOHASH":"No valid info hash for magnet","ERR_NO_FILE_PATH":"Unable to send request without a path to file","ERR_NO_TORRENT":"No torrent returned","ERR_NO_SUPPORTERD_FILES":"No supported files found","ERR_OPENING_FILES":"Could not open external files","ERR_INVALID_LINK":"Invalid link","ERR_REGISTERED_ONLY":"This option is available for registred users only.","ERR_CLIPBOARD":"Can not play from clipboard","ERR_CLIPBOARD_READ":"Can not read the clipboard on this platform","ERR_CLIPBOARD_GENERIC":"No playable URL found in the clipboard. Please copy a URL (e.g. a magnet link) to a video.","BOARD_CONTINUE_WATCHING":"Continue watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Movies picked specially for you.<br />This movie is a sample recommendation.","BOARD_EXPLANATION_EPISODES":"New episodes of your favorite Series come here.<br />Add series you follow to your Library.","BOARD_EXPLANATION_VIDEOS":"New episodes of your favorite Channels come here.<br />Add YouTube channels you follow to your Library.","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE":"Contribute","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"ОПИСАНИЕ","WEBSITE_LEARN_MORE":"Узнать больше","WEBSITE_COMPANY":"Компания","WEBSITE_CONTACTS":"Контакты","WEBSITE_NEED_HELP":"Need Help?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Партнёры","WEBSITE_SLOGAN_WATCH":"Смотреть немедленно","WEBSITE_SLOGAN_ALL":"All the Video Content You Enjoy in One Place","WEBSITE_SLOGAN_NEW":"Всё, что вы можете посмотреть","WEBSITE_SLOGAN_NEW_NEW":"Freedom to Stream","WEBSITE_WATCH_FROM":"Watch from","WEBSITE_DOWNLOAD":"Скачать сейчас","WEBSITE_DOWNLOAD_FOR":"Скачать сейчас для","WEBSITE_IS_DESKTOP":"Stremio — это настольное приложение, откройте эту страницу на своем ПК и скачайте его","WEBSITE_DESKTOP_DEMO_VID":"Демо","WEBSITE_PAGE_HOME":"Главная","WEBSITE_PAGE_FEATURES":"Возможности","WEBSITE_PAGE_ADDONS":"Дополнения","WEBSITE_PAGE_TECH":"Технологии","WEBSITE_PAGE_CREATE_ADDON":"Создать дополнение","WEBSITE_PAGE_CONTACTS":"Контакты","WEBSITE_PAGE_BLOG":"Блог","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Фильмы","WEBSITE_TYPE_series_PL":"Сериалы","WEBSITE_TYPE_tv":"В эфире","WEBSITE_TYPE_channel":"Каналы","WEBSITE_STREMIO_WHAT_IS":"Stremio is an app that helps you organize and instantly watch your favorite videos, movies, TV series and TV channels.","WEBSITE_FEATURES_WATCH":"Watch Instantly in HD","WEBSITE_FEATURES_WATCH_DETAIL":"Нажмите и смотрите свои любимые фильмы, ТВ-шоу, видео и телеканалы.","WEBSITE_FEATURES_SUBS":"Автоматические субтитры","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio автоматически выбирает синхронизированные субтитры для вашего языка.","WEBSITE_FEATURES_SUBS_LABEL":"Your move, chief.","WEBSITE_FEATURES_CAST":"Play on TV & mobile devices","WEBSITE_FEATURES_CAST_DETAIL":"Cast to AppleTV, Chromecast, Smart TV (DLNA/UPnP) and mobile devices.","WEBSITE_LIB":"Enjoy Your Personal Library Synced on All Your Devices","WEBSITE_LIB_COLLECT":"Collect from Stremio","WEBSITE_LIB_IMPORT":"Импорт из Facebook","WEBSITE_LIB_LOCAL":"Добавить с локального диска","WEBSITE_BOARD":"Доска — ваше универсальное место для уведомлений и рекомендаций","WEBSITE_BOARD_RECOMMEND":"Рекомендуемое телешоу","WEBSITE_BOARD_TRENDING":"Популярный фильм","WEBSITE_BOARD_NEW":"Новое видео","WEBSITE_BOARD_EPISODE":"Новый эпизод","WEBSITE_BOARD_1":"Looking for something interesting to watch? Get recommendations based on your taste!","WEBSITE_BOARD_2":"Get notified when a new episode of your favourite TV show or YouTube channel is out!","WEBSITE_BOARD_YOUTUBE":"Новые видео из каналов YouTube","WEBSITE_BOARD_EPISODES":"Новые серии из сериалов, за которыми вы следите","WEBSITE_ADDONS":"Content Addons","WEBSITE_TECH_DETAIL":"We love technology, we love mad science!\\nStremio is using the following open source technologies:","WEBSITE_TECH_WCJS":"WebChimera.js allows Stremio to play any video format with good performance.","WEBSITE_TECH_WCJS_EXTRA":"Мы основные участники проекта","WEBSITE_TECH_ELECTRON":"Electron предоставляет инновационную платформу для создания Stremio.","WEBSITE_TECH_ELECTRON_EXTRA":"Мы участники проекта","WEBSITE_TECH_LINVODB":"Технология базы данных, гарантирующая что ваши данные организованы и доступны везде, где вы входите в приложение.","WEBSITE_TECH_LINVODB_EXTRA":"Собственная технология","WEBSITE_CREATE_ADDON":"Создайте свое дополнение","WEBSITE_CREATE_ADDON_DETAIL":"Do you have a service providing video content? We\'ll help you benefit from Stremio\'s features by creating your Addon.","WEBSITE_CREATE_ADDON_BENEFITS":"Benefits of Creating an Addon for Stremio","WEBSITE_P2P_BEAUTY":"The Beauty of Peer-to-Peer Streaming","WEBSITE_P2P_1":"Reliable and affordable full HD / 4K video on demand or live streaming","WEBSITE_P2P_2":"Distribution platform providing great user experience","WEBSITE_P2P_3":"We will create an addon meeting your exact needs","WEBSITE_P2P_CONTACT":"Заинтересованы? Вы можете <a href=\'mailto:office@stremio.com\'>связаться с нами</a>.","WEBSITE_P2P_CONTACT_EXTRA":"We will be happy to help you integrate your content with Stremio!","WEBSITE_P2P":"Once in a while, there comes a technology that changes the name of the game. We invested tons of time and effort in building our Peer-to-Peer (P2P) video streaming engine that provides great performance and versatility to adapt with any use case.\\nContact us for DRM-enabled P2P video on demand or live streaming.","WEBSITE_THOUGHTS":"Thoughts we share:","WEBSITE_SPREAD":"Расскажите о Stremio:","WEBSITE_CONTACT":"Если вы хотите связаться с нами, перейдите по адресу","WEBSITE_OPENSOURCE":"Чтобы посмотреть наши проекты с открытым кодом, перейдите на","WEBSITE_BITCOIN":"Пожертвовать Bitcoin:","WEBSITE_FAQ":"Часто задаваемые вопросы","WEBSITE_FAQ_SHORT":"ЧЗВ","WEBSITE_QUESTIONS":"Вопросы","WEBSITE_TOS":"Условия использования","WEBSITE_LEGAL":"Юридическое","WEBSITE_PAGE_ABOUT":"О проекте","WEBSITE_PAGE_BECOME_PARTNER":"Стать партнером","WEBSITE_ALL_YOU_CAN_WATCH":"Freedom To Watch\\nEverything You Want.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"Что такое Stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio — это универсальный центр видеоконтента. Находите, упорядочивайте и просматривайте видео из любых источников на любом устройстве, которое у вас есть.","WEBSITE_WHAT_IS_STREMIO_P2":"Фильмы, ТВ-шоу, сериалы, прямое телевидение или веб-каналы, такие как YouTube и Twitch.tv — все это вы можете найти на Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio is a modern media center that\'s a one-stop solution for your video entertainment. You discover, watch and organize video content from easy to install addons.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Фильмы, ТВ-передачи, прямые телепередачи или веб-каналы — все это можно найти на Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Наслаждайтесь этим на любых мультимедийных устройствах","WEBSITE_DEVICES_COLLECT":"Collect from Stremio","WEBSITE_DEVICES_IMPORT_FB":"Импорт из Facebook","WEBSITE_DEVICES_LOCAL":"Добавить с локального диска","WEBSITE_JOIN_THE_PARTY_NOW":"Присоединяйтесь к тусовке","WEBSITE_DEVICES_ALL":"Легко использовать на всех ваших устройствах;","WEBSITE_EXTENDABLE_CATALOG":"Infinitelly extendable video catalog;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Great features to organize your media;","WEBSITE_AS_SEEN_ON":"As seen on","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"О нас","WEBSITE_LINK_TECHNOLOGY":"Технологии","WEBSITE_LINK_APPS":"Приложения","WEBSITE_LINK_DOWNLOADS":"Скачать","WEBSITE_MORE":"Больше","WEBSITE_LINK_ADDONS":"Дополнения","WEBSITE_LINK_ADDON_SDK":"SDK дополнения","WEBSITE_LINK_CONTRIBUTE":"Участвовать","WEBSITE_LINK_COMMUNITY":"Сообщество","WEBSITE_LINK_BLOG":"Блог","WEBSITE_MORE_MORE":"...и ещё","WEBSITE_LINK_HELP":"Центр помощи","WEBSITE_LINK_CONTACTS":"Контакты","WEBSITE_LINK_TOS":"Условия и положения","WEBSITE_LINK_PRAVACY":"Политика конфиденциальности","WEBSITE_SUBSCRIBE":"Подписаться","WEBSITE_NEWSLETTER":"Подпишитесь на нашу рассылку и получайте удивительные вещи","WEBSITE_PLACEHOLDER_EMAIL":"Ваша эл. почта","WEBSITE_COMMUNITY":"Сообщество","WEBSITE_LINK_PRAVACY_LEGAL":"Privacy & legal","WEBSITE_WHY":"Зачем нам это","WEBSITE_WHY_P1":"At Stremio, we come to work every day because we want to solve an important problem for the video-on-demand industry. There’s so much new content published every minute that it’s virtually impossible to find your way around it.","WEBSITE_WHY_P2":"We help people navigate that huge world of video entertainment and discover new content to enjoy. Our apps bring together movies, series, live TV, web channels, and more. We are dedicated to making it incredibly easy for users to find titles and broadcasters that they love.","WEBSITE_WHY_P3":"You can use our service on any device and at any time, making Stremio the only video entertainment hub you’ll ever need.","WEBSITE_TEAM":"TEAM","WEBSITE_TEAM_P":"The Stremio team is small but powerful: between the ten of us, we code in X languages, and share expertise in software development, UI and UX design, marketing and advertising, and business and startups.","WEBSITE_FEATURES":"Features","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Discover new content with ease","WEBSITE_FEATURES_DISCOVER_P":"Easily discover new movies, TV shows, series and channels to watch. Browse by category, genre, rating, recency, etc. or simply type a name to find. Stremio makes finding new video content a piece of cake.","WEBSITE_FEATURES_ALL_CONTENT":"All of your video content on one screen","WEBSITE_FEATURES_ALL_CONTENT_P1":"See what movies, series or videos you didn’t finish and continue watching them; get notified for new episodes and releases; and browse through the recommendations you will get based on your viewing habits.","WEBSITE_FEATURES_LIBRARY":"Organize your video library","WEBSITE_FEATURES_LIBRARY_P1":"Add any title to your Stremio library with a single click and find your way around your content, neatly arranged by type, recency, or alphabetical order.","WEBSITE_FEATURES_CALENDAR":"Keep track of everything you watch","WEBSITE_FEATURES_CALENDAR_P1":"Get a calendar visualization of all the movies and series you add to your library. Export your Stremio calendar and sync it so you always know when a new episode or a premier is due.","WEBSITE_FEATURES_BIG_SCREEN":"Enjoy your video content on a bigger screen","WEBSITE_FEATURES_BIG_SCREEN_P1":"Cast whatever you are watching to another device - be it a phone, tablet or a TV with a single click.","WEBSITE_FEATURES_SOURCES":"Watch video from many different sources","WEBSITE_FEATURES_SOURCES_P":"Install official and community addons to enjoy video sourced from many different providers - all in one sleek, easy to use app.","WEBSITE_CREATE_AN_ADDON":"Create an addon","WEBSITE_FEATURES_SYNC":"Sync your library across different devices and resume your playback","WEBSITE_FEATURES_SYNC_P1":"Login with your account across all your devices and enjoy your library, addons, playback and calendar synchronized.","WEBSITE_FEATURES_EXTENDABLE":"Extendable video catalog by addons","WEBSITE_FEATURES_EXTENDABLE_P1":"The Stremio addon catalog provides a number of addons to install and watch a variety of video content from. This includes movies, shows, live TV, sport, news, podcasts, web channels, video games and more.","WEBSITE_FEATURES_AUTO_SUBS":"Automatic subtitles","WEBSITE_FEATURES_AUTO_SUBS_P1":"With our subtitle addons you get automatically selected options for your preferred language.","WEBSITE_FEATURES_CHROMECAST":"Casting to Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Enjoy your video content on a bigger screen or just cast whatever you are watching to another device.","WEBSITE_FEATURES_KEEP_TRACK":"Keep track of your favorite TV shows and Web channels","WEBSITE_FEATURES_KEEP_TRACK_P1":"Get a calendar visualization and notifications for new episodes of your favorite series and web channels.","WEBSITE_FEATURES_POWER_USER":"Power user features","WEBSITE_FEATURES_POWER_USER_P1":"Play in external player","WEBSITE_FEATURES_POWER_USER_P2":"Play from a torrent file or magnet link","WEBSITE_FEATURES_POWER_USER_P3":"Import to your library from Facebook likes or local disk","WEBSITE_ADD_ONS":"Addons","WEBSITE_ADD_ONS_P1":"All of the video content Stremio provides get sourced through an addon system - no content or content provider has been built into the app.","WEBSITE_ADD_ONS_P2":"There are two groups of addons available: official and community addons.","WEBSITE_ADD_ONS_P3":"The official ones are developed and hosted by Stremio, whereas community addons are created by our community members, who also host them.","WEBSITE_ADDONS_OFFICIAL":"Official addons","WEBSITE_ADDONS_WATCHUB":"Stream your favourite movies, series and shows from providers like iTunes, Hulu, Amazon and other UK/US services.","WEBSITE_ADDONS_YOUTUBE":"Watch your favourite YouTube channels ad-free and get notifications for new uploads from the contributors you follow.","WEBSITE_ADDONS_FILMON":"Watch live TV, movies and social television for free. 600 TV channels, 45,000 free movies, documentaries and more.","WEBSITE_ADDONS_OPENSUBTITLES":"Movie and TV subtitles in multiple languages, thousands of translated subtitles uploaded every day.","WEBSITE_ADDONS_COMMUNITY":"Community addons","WEBSITE_ADDONS_FILMON_VOD":"Watch video on demand from Filmon.tv","WEBSITE_ADDONS_TWICH":"Watch live streams from Twitch.tv - a video streaming platform for the e-sports industry.","WEBSITE_ADDONS_VODO":"Watch indie movies absolutely free of charge.","WEBSITE_ADDONS_NETFLIX":"Watch Netflix movies and web series.","WEBSITE_ADDONS_CREATE":"Create an addon","WEBSITE_ADDONS_CREATE_P1":"If you wish, you can develop your own addon. This way, you can give yourself and our community access to new video content, and reach a new, targeted audience of millions of users around the world.","WEBSITE_ADDONS_START_CREATE":"To get started, visit the Stremio Addon SDK page:","WEBSITE_DOWNLOADS":"Downloads","WEBSITE_DOWNLOADS_P1":"For optimal performance, we recommend that you use the latest available version of the Stremio apps. If for some reason, however, you would like to use an older version, you can download it here.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio for Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio for macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio for Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio for Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio for iOS","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"The Stremio platform is open source and you can easily create an addon for content that is currently not sourced.","WEBSITE_CONTRIBUTE_WHY":"Why should you create an addon?","WEBSITE_CONTRIBUTE_WHY_P1":"Reach new audience for your video content","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio’s user base is growing rapidly - within the first year of the launch, Stremio had gained 1 million users around the world, and in the second year of the platform’s existence this number grew to 2.5 million.","WEBSITE_CONTRIBUTE_WHY_P3":"With your addon, you can easily reach this audience and distribute your video content to them.","WEBSITE_CONTRIBUTE_ALL":"Watch your favourite movies, videos, series and channels in one single place.","WEBSITE_CONTRIBUTE_ALL_P1":"You’re a fan of a particular type of content not available on Stremio yet? Create an addon for it and enjoy watching your favourite videos in one of the largest and easiest to use entertainment hubs on the market.","WEBSITE_CONTRIBUTE_ALL_P2":"On top of that, you’ll get the endless gratitude of other like-minded Stremio community members.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetize your addon and earn money with its help","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Once you develop a new addon for Stremio, you can easily monetize it through a number of different ways. If you are considering this, feel free to get in touch with us at ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - we would be happy to consult and advise you about addon monetization options.","WEBSITE_CONTRIBUTE_TRANSLATE":"Become a volunteer translator","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"If you want to enjoy the Stremio apps in different languages, you can join our community of volunteer translators. They help us add versions of the Stremio in many different languages.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Are you eager to get started?","WEBSITE_TRANSALTE_STREMIO":"Translate Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Official communities","WEBSITE_COMMUNITY_OFFICIALS_P1":"Become a part of the growing Stremio community. Follow us on social media and don’t be shy to say hello - we love hearing from our fans! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Unofficial communities","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partners and supporters","WEBSITE_COMMUNITY_GOODIES":"Stremio goodies","WEBSITE_COMMUNITY_WALLPAPERS":"Wallpapers","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"Contact us","WEBSITE_CONTACT_US_P1":"If you have any questions, comments or suggestions, feel free to get in touch with us through the contact form below.","WEBSITE_CONTACT_US_P2":"Keep in mind that we are located in Bulgaria so there may be a delay in addressing your query due to time zone differences.","WEBSITE_CONTACT_US_SUCCESS":"Your message has been sent. We will get back to you at our earliest convenience.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Please enter a valid email!","WEBSITE_CONTACT_US_Q_RELATED_TO":"What is your question related to?","WEBSITE_CONTACT_US_Q_OS":"What is your Operation System?","WEBSITE_CONTACT_US_PH_EMAIL":"Your E-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Message","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"SEND","WEBSITE_CONTACT_US_Q_1":"How to install?","WEBSITE_CONTACT_US_Q_2":"How to uninstall?","WEBSITE_CONTACT_US_Q_3":"(HTML) How to make lasagna?","WEBSITE_CONTACT_US_Q_4":"Addons","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Technology","WEBSITE_TECHNOLOGY_P1":"We love technology and mad science. </br> Here is what powers Stremio (it’s all open-source).","WEBSITE_TECHNOLOGY_P_QT":"Cross-platform software development at its best.","WEBSITE_TECHNOLOGY_P_MPV":"A free, open source, and cross-platform media player.","WEBSITE_TECHNOLOGY_P_RN":"React Native lets you build mobile apps using only JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework embedded into application to get multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm is a mobile platform and a replacement for SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js is an open-source, cross-platform, JavaScript runtime environment.","WEBSITE_TECHNOLOGY_P_RUST":"Rust is a multi-paradigm system programming language focused on safety, especially safe concurrency.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribute to the project","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"There are two ways you can contribute to Stremio and help us make the product even better.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"You can donate your valuable language skills by translating the platform...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"or","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... you can employ your coding skills for creating community addons. ","WEBSITE_TRANSLATE_STREMIO":"Translate Stremio","WEBSITE_404_OH_NO":"Uh-oh! The page you’re looking for is not here...","WEBSITE_GO_HOME":"Go home","WEBSITE_LINK_OTHER_DOWNLOADS":"Other downloads","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Support","WEBSITE_DOWNLOAD_4_0_BETA":"Download Now Stremio 4 beta","WEBSITE_GET_FOR_DESKTOP":"Get for desktop","WEBSITE_LINK_ADDON_COMPETITION":"Addon competition","WEBSITE_LINK_ART_CONTEST":"Art contest","WEBSITE_MY_ACCOUNT":"My account","WEBSITE_MAINPAGE_FAQ_001_H1":"What is Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio is a modern media center that gives you the freedom to watch everything you want.","WEBSITE_MAINPAGE_FAQ_002_H1":"How does it work?","WEBSITE_MAINPAGE_FAQ_002_P1":"Once you install Stremio on your device and create an account, all you have to do is to visit the addon catalog and install any addon you want, and you\'re good to go!","WEBSITE_MAINPAGE_FAQ_002_P2":"After that, you can go to the Discover or Board sections to start exploring content.","WEBSITE_MAINPAGE_FAQ_003_H1":"What can I watch here?","WEBSITE_MAINPAGE_FAQ_003_P1":"A lot: Movies, TV shows, Web channels, Sport, TV channels, listen to Podcasts and more. Thanks to our addon system, you can accss a variety of content.","WEBSITE_MAINPAGE_FAQ_004_H1":"Is Stremio open-source?","WEBSITE_MAINPAGE_FAQ_004_P1":"Yes, you can check the following links: ${1}desktop app${2} and ${3}GitHub organization${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Is Stremio safe?","WEBSITE_MAINPAGE_FAQ_005_P1":"Yes: because it is open-source software, the code is publically auditable and you can review it yourself.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"How about my privacy?","WEBSITE_MAINPAGE_FAQ_006_P1":"We respect users\' privacy and do not collect any personal data besides the essential minimum to create and sync your account.","WEBSITE_MAINPAGE_FAQ_006_P2":"There is also a ${1}Guest mode${2} at signup, which requires no data whatsoever: in this mode, no calls are made to our backend. However, it comes at the expense of useful features, such as being able to sync your library across devices.","WEBSITE_MAINPAGE_FAQ_007_H1":"Can I cast to my TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Yes, we support Chromecast and you can cast both from desktop and mobile apps (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"How many addons does Stremio have?","WEBSITE_MAINPAGE_FAQ_008_P1":"As of late 2019, over 50 - for more information, check our addon catalog.","WEBSITE_MAINPAGE_FAQ_009_H1":"Can Stremio be extended beyond what\'s in the addon catalog?","WEBSITE_MAINPAGE_FAQ_009_P1":"Yes, you should check those: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"What devices does Stremio support?","WEBSITE_MAINPAGE_FAQ_010_P1":"We have desktop apps for Windows, Mac and Linux. For mobile, we support Android and iOS, although keep in mind that the iOS is limited in functionality (does not support most addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"There are many Android-based devices which you can run Stremio on, like NVIDIA Shield and Amazon Fire Stick, but we do not support them officially.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Can you add certain content to Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Sorry, we provide no content ourselves, but the more Stremio addons you have installed, the more content you will be able to find.","WEBSITE_MAINPAGE_FAQ_012_H1":"Can Stremio play magnet links?","WEBSITE_MAINPAGE_FAQ_012_P1":"Yes, and it can also play normal HTTP links and torrent files (drag and drop).","WEBSITE_MAINPAGE_FAQ_013_H1":"Can I download a video and watch offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Available offline is an upcoming feature, but if you allow Stremio to cache on your device (from the settings panel) you can watch the videos later without a connection.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nothing works, help me!","WEBSITE_MAINPAGE_FAQ_014_P1":"Are you sure you have installed addons? If yes, check with our ${1}help center${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"How does Stremio sustain it\'s development operations?","WEBSITE_MAINPAGE_FAQ_015_P1":"We run non-intrusive ads occassionally, but we\'re considering moving to a donation model.","WEBSITE_MAINPAGE_FAQ_015_P2":"For more questions, go to our ${1}help center${2}.","HELP_LEARN_MORE":"Help us learn more about you.","LIFESTYLE":"Lifestyle","SPORTS":"Sports","FOOD_HEALTH":"Food & health","BEAUTY_FASHION":"Beauty & Fashion","NEWS":"News","GAMING":"Gaming","SCIENCE_EDUCATION":"Science & education","MUSIC":"Music","TRAVEL":"Travel","LATE_NIGHT":"Late Night","REALITY":"Reality","COMEDY":"Comedy","DIY":"How to DIY","TECH":"Tech","CINEMA":"Cinema","CONTINUE":"Continue","SLOW_LOADING":"SLOW LOADING?","I_GIVE_UP":"I GIVE UP","LEARN_MORE":"Learn more","POOR_SOURCE":"This source is poorly available or your internet connection is not fast enough","PICK_CATEGORIES_ERR":"You have to pick at least 3 categories","ADJUST_TIMING":"Adjust timing with ","ADJUST_SIZE":"Adjust size with ","SEARCH_ANYTHING":"You Can Search Anything...","ALL_CATEGORIES":"All","SEARCH_CATEGORIES":"Movies, Series, YouTube & TV","SEARCH_PERSONS":"Actors, Directors & Writers","SEARCH_PROTOCOLS":"HTTP & Magnet Links","SEARCH_TYPES":"IMDB / TVDB links","WATCHED":"Watched","SHOW_LESS":"Show less","LAST_SEARCHES":"Last searches","CLEAR_HISTORY":"Clear history","CHOOSE_SOME":"CHOOSE SOME OF THIS:","NO_WEB_REMOTE":"Web Remote could not be loaded","STREMIO_OFFLINE":"Stremio is offline","STREMIO_EXPENSIVE_CONNECTION":"We\'ve detected that you are using a mobile data connection, do you want to continue?","USE_DATA":"Use data","WARNING":"Warning","MORE_INFO":"More Info ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Loading ...","STREMIO_TV_BACK_TO_LANGUAGES":"Back to languages","STREMIO_TV_REMOTE":"Remote","STREMIO_TV_GO_TO":"Go to:","STREMIO_TV_OR_SCAN":"or scan:","STREMIO_TV_ADDON_INSTRUCTIONS":"Please follow the instructions in order to install your preferred addons.","STREMIO_TV_LIVE_TV":"Live TV","STREMIO_TV_RESUME_WATCHING":"Resume Watching","STREMIO_TV_LOADING_BACKGROUND":"Loading Background","STREMIO_TV_CHECKING_AUTHENTICATION":"Checking Authentication","STREMIO_TV_LOADING_BOARD":"Loading Board","STREMIO_TV_LOGIN_HEADER_LINE_1":"We want our users to have the best possible personalized experience with our software.","STREMIO_TV_LOGIN_HEADER_LINE_2":"It is for this reason that we kindly ask you to make and/or login to your account.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Thank you for understanding,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"The Stremio Team","STREMIO_TV_REMOTE_INSTRUCTIONS":"In order to use the Web Remote with your Smartphone / Tablet / Desktop:","STREMIO_TV_WIFI_SETUP":"Wi-Fi Setup","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle did not detect a internet connection.","STREMIO_TV_WIFI_DETAILS_1":"Connect to:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Use password:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Open a web browser with the link:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Default","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"By Last Watched","STREMIO_TV_LIBRARY_SORT_NAME":"By Name","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"By Times Watched","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Season ${1}","STREMIO_TV_STREAMS_LOADING":"Loaded ${1} / ${2} addons...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} addon is still loading...","STREMIO_TV_PLAYER_SETTINGS":"Player settings","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Subtitles delay","STREMIO_TV_PLAYER_AUDIO_DELAY":"Audio delay","STREMIO_TV_PLAYER_VIDEO_SCALING":"Video scaling","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Unsupported stream source","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Failed opening external link","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Not adjustable in audio passthrough mode","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Play with ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Play with libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Switching to libVLC player due to a playback error","STREMIO_TV_ADDONS_TITLE":"Use Stremio on your Phone or PC to install or configure addons and press \\"Sync Addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Note: make sure you are using the same Stremio account","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sync Addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons successfully synchronized","STREMIO_TV_ADDONS_SYNC_FAILED":"Failed to synchronize addons","STREMIO_TV_META_LINK_FAILED":"Failed opening meta link","STREMIO_TV_CATALOG_LOADING":"Catalog still loading...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Interface language updated","STREMIO_TV_SETTINGS_THEME_UPDATED":"Theme updated","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Default Player","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"External Player","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferred Language","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Secondary Preferred Language","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possible playback issues on some devices","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Some video formats might not work","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"No caching","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Default","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Soft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Fast","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Fast","STREMIO_TV_SETTINGS_SERVER_URL":"Streaming server url","STREMIO_TV_SETTINGS_SERVER_VERSION":"Server version","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Unknown","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio version","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Edit server url","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Enter a streaming server url","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Show statistics while loading","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"To read Stremio\'s Privacy Policy, visit:","STREMIO_TV_SETTINGS_TOS_TEXT":"To read Stremio\'s Terms and Conditions, visit:","STREMIO_TV_NAV_SEARCH":"Search","STREMIO_TV_NAV_HOME":"Home","STREMIO_TV_NAV_DISCOVER":"Discover","STREMIO_TV_NAV_LIBRARY":"Library","STREMIO_TV_NAV_MOVIES":"Movies","STREMIO_TV_NAV_SERIES":"Series","STREMIO_TV_NAV_CHANNELS":"Channels","STREMIO_TV_NAV_TV":"Live TV","STREMIO_TV_NAV_SETTINGS":"Settings","STREMIO_TV_NAV_ADDONS":"Addons","STREMIO_TV_LOGIN_TITLE":"Link Account","STREMIO_TV_LOGIN_EXPIRES_IN":"Expires in","STREMIO_TV_LOGIN_STEP_ONE":"Scan QR Code above or go to","STREMIO_TV_LOGIN_STEP_TWO":"Log in to your Stremio account","STREMIO_TV_LOGIN_NEW_LINK":"Request a new link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Login code refreshed","STREMIO_TV_SEARCH_PLACEHOLDER":"Type something","STREMIO_TV_SEARCH_NO_ADDONS":"No addons were requested for catalogs!","STREMIO_TV_SEARCH_BUTTON":"Search","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Search History","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"You can search for Titles, Actors, Channels and more...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Clear Search History","STREMIO_TV_FILTERS_DESCRIPTION":"Choose from one of the filters below","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"Filters","SETTINGS":"Settings","ACCOUNT":"Account","LOGOUT":"Logout","THEMES":"Themes","PLAYBACK":"Playback","PLAYBACK_SPEED":"Playback Speed","AUDIO_TRACKS":"Audio Tracks","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Videos","SERVER":"Server","LINKS":"Links","ABOUT":"About","INTERFACE":"Interface","ANIMATIONS":"Animations","STATUS":"Status","LANGUAGE":"Language","SIZE":"Size","DELAY":"Delay","BOLD":"Bold","OPACITY":"Opacity","TEXT_COLOR":"Text Color","OUTLINE_COLOR":"Outline Color","BACKGROUND_COLOR":"Background Color","BACKGROUND_BLUR":"Background Blur","SEEK_TIME_DURATION":"Seek Time Duration","AUTO_PLAY":"Auto-Play Next Episode","PLAY_NOW":"Play Now","MARK_AS_WATCHED":"Mark as Watched","MARK_AS_UNWATCHED":"Mark as Unwatched","REWIND_TO_BEGINNING":"Rewind to Beginning","CONTINUE_WATCHING":"Continue Watching","ALL":"All","SECONDS":"seconds","ON":"ON","OFF":"OFF","RELOAD":"Reload","EDIT_URL":"Edit URL","NONE":"None","EMBEDDED":"Embedded","REMOTE_SWITCH_DEVICES":"Switch Devices","REMOTE_VIDEOS":"Videos","REMOTE_ADJUST_TIMING":"Adjust timing","REMOTE_ADJUST_SIZE":"Adjust size","REMOTE_COULD_NOT_BE_LOADED":"Web Remote could not be loaded","REMOTE_RETRY":"Retry","TORRENT_PROFILE_DEFAULT":"Default","TORRENT_PROFILE_SOFT":"Soft","TORRENT_PROFILE_FAST":"Fast","TORRENT_PROFILE_ULTRA_FAST":"Ultra Fast","FAQ_001_H1":"What is Stremio?","FAQ_001_P1":"Stremio is a media center software designed for video entertainment with ease of use in mind. Stremio allows you to organize &amp; watch your own collection of movies, series, channels and live TV.","FAQ_001_P2":"Stremio collect the content it shows you from your local disk and our addons system.","FAQ_001_P3":"It will also notify you when new episodes/videos/movies you\'re interested in come out, and provide movie recommendations for you.","FAQ_02_H1":"How does Stremio compare to Kodi and Plex?","FAQ_02_P1":"We are inspired by those two pieces of software. But we have different goals - Stremio is specifically targeted towards entertainment video, and strives to become the mainstream solution for that by being very easy to use.","FAQ_02_P2":"Stremio will never be as customizable and feature-rich as Kodi and Plex, but it is significantly easier to use. Just ${1} get it and see ${2} :)","FAQ_03_H1":"How does Stremio compare to Netflix?","FAQ_03_P1":"Again, Netflix is one of our inspirations. We strive to achieve the user experience of Netflix, plus a lot of added goodies. But most importantly, we\'re giving you the freedom to manage your own library and add new content sources with our addon system.","FAQ_03_P2":"That makes Stremio infinitely extendable, so when you use Stremio, you\'re never limited to the content Netflix decides to license. For example, through Stremio you can watch content from ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} and even ${9}Netflix${10} itself!","FAQ_04_H1":"How does Stremio compare to Flipboard?","FAQ_04_P1":"We don’t get that question that often, except when talking to start-up people :)","FAQ_04_P2":"Stremio is by design a content aggregator, which essentially makes it Flipboard for video. This is very apparent in our Board section, which gives you catalogues and new episode/new video notifications for what you follow, just like Flipboard.","FAQ_05_H1":"How does Stremio compare to Popcorn Time?","FAQ_05_P1":"Stremio and Popcorn Time are similar in user interface, because there aren’t many ways to do video entertainment catalogues right :)","FAQ_05_P2":"But while Popcorn Time is focused on streaming torrents from specific sources, Stremio is unrestricted and is merely a content aggregator - it’s not locked into a specific content source.","FAQ_05_P3":"Furthermore, we do not provide any torrent addons by default, so Stremio does not cover the Popcorn Time use-case with official functionality.","FAQ_05_P4":"Another notable difference is that Popcorn Time is completely open source, while Stremio is ${1} partially open source${2}.","FAQ_06_H1":"Will you add this movie/series?","FAQ_06_P1":"No, sorry :(","FAQ_06_P2":"As is mentioned in most of the other questions, Stremio does not provide any content by itself - everything is added through the addons system. In case you have a content request, you can use the “Report” button in the Player, which will send an email to the author of the addon you’re currently using.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Will you create addon for X?","FAQ_08_P1":"It\'s entirely possible.","FAQ_08_P2":"If you have an idea for an addon, drop us a line at ${1}office@stremio.com${2}, but please make sure your addon idea will not infringe on any copyrights or terms of use.","FAQ_08_P3":"At the moment, the next things on our roadmap are addons for FandangoNOW, Filmon.tv video on demand and Crunchyroll.","FAQ_09_H1":"Does Stremio use BitTorrent?","FAQ_09_P1":"Yes, Stremio supports BitTorrent as a streaming protocol. You can use that either with a torrent addon, or by drag-and-dropping a .torrent file into Stremio, or by pasting a magnet link into the Search Bar.","FAQ_09_P2":"Please note that the only official addon using BitTorrent is ${1}Vodo${2}, which provides indie content, all permitted to be distributed with BitTorrent.","FAQ_09_P3":"We do not support use of any third-party addons which may enable copyright infringement.","FAQ_10_H1":"What can I watch in Stremio with the official addons?","FAQ_10_P1":"By default, you can watch Filmon.tv, YouTube and Vodo content within Stremio itself, with it’s embedded player. Additionally, we have an addon for Twitch.tv and a few others.","FAQ_10_P2":"This combined provides a selection of:","FAQ_10_L1":"Popular TV channels, provided by Filmon.tv - for example E4, BBC, Bollyworld TV","FAQ_10_L2":"Everything from YouTube - for example BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indie movies with Vodo","FAQ_10_L4":"Online gaming broadcasts with Twitch.tv","FAQ_10_P3":"Additionally, there are many content sources provided with Guidebox and the Netflix addons, which <b>do not</b> play entirely inside Stremio, but would redirect to the given service. For example, the Guidebox addon would give you a selection of movies you can stream in the US for free, from services like TubiTV and Crackle.","FAQ_11_H1":"Stremio won\'t install, what should I do?","FAQ_11_P1":"If you\'re on Windows, try ${1}this alternative installer${2}.","FAQ_11_P2":"If you\'re on Mac OS X, please be aware that we don\'t support anything older than OS X Mavericks (10.9).","FAQ_11_P3":"If you\'re on Linux, be aware that we only support 64 bit (x64) Linux at the moment.","FAQ_11_P4":"If you still can\'t resolve your problem, please write us at our ${1}Facebook group${2}.","FAQ_12_H1":"Why does my anti-virus complain? Is Stremio safe?","FAQ_12_P1":"We assure you Stremio is ${1}100% clean${2}.","FAQ_12_P2":"Your antivirus is complaining because we include advertising in our installer, which some anti-virus programs recognize as ad-ware.","FAQ_12_P3":"If you\'re still unsure, you can try our ${1}alternative installer${2}.","FAQ_13_H1":"How can I make an addon?","FAQ_13_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_13_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_13_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_14_H1":"How are addons published?","FAQ_14_P1":"When you create an addon and host, and put a <b>endpoint</b> field in your manifest, which points to a working addon address, the addon will automatically publish itself to our ${1}Addon catalogue${2}.","FAQ_14_P2":"This happens because the server part of the stremio-addons module automatically makes a call to our API to announce the addon. When our API validates your <b>endpoint</b> as a valid addon, it will start showing in the catalogue.","FAQ_15_H1":"Can I run Stremio in my browser?","FAQ_15_P1":"Not at the moment, but this is coming!","FAQ_15_P2":"If you\'re curious to see an Alpha, you can see it here: ${1}alpha4.strem.io${2}. Keep in mind streaming is disabled on this alpha. We support Chrome, Firefox, Opera and Edge.","FAQ_16_H1":"Casting to TV doesn\'t work / subtitles don\'t work","FAQ_16_P1":"Casting to TV uses the DLNA technology which is very inconsistent between different TV brands and models. For that reason, we do not have the ability to test it in every case, so it\'s far from perfect. Despite this, we\'re working on improving it constantly but we cannot give you a time estimate on when DLNA will start working properly with your TV.","FAQ_16_P2":"If you don\'t even see your TV in the casting menu, please try disabling your network connection and re-enabling it (on Windows, right click the Network and use Enable/Disable), as well as restarting your router, TV and PC.","FAQ_16_P3":"If you are still encountering issues, you can help us by sending your TV brand and model information at ${1}office@stremio.com${2}.","FAQ_16_P4":"In the meantime, we recommend Chromecast, which we support very well, or simply plugging in your TV to your PC with an HDMI cable.","FAQ_17_H1":"Stremio freezes and/or crashes, what can I do?","FAQ_17_P1":"First of all, if you\'re using Windows 7 with AVG anti-virus: we have a problem with that combination. The problem is in AVG itself, and there\'s no reasonable way to resolve it on our end. Unfortunately, exceptions or disabling the anti-virus won\'t work. The only solution is to replace AVG with something else.","FAQ_17_P2":"If that\'s not the issue, but you\'re still using Windows, please update to the latest service pack and update/re-install your GPU drivers, then try again.","FAQ_17_P3":"If you\'re problem is still not resolved, or you\'re using a Mac or Linux, please write us reporting the exact details of the problem at ${1}our Facebook group${2}.","FAQ_18_H1":"How can I make an addon?","FAQ_18_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_18_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_18_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_19_H1":"Why is Stremio taking disk space?","FAQ_19_P1":"Stremio has a <b>local cache</b> to temporarily keep the video files you stream.","FAQ_19_P2":"This has two benefits: first, it allows Stremio to pre-buffer the video ahead so as to ensure smoother streaming. Second, it keeps the videos in the local cache so you can continue watching them offline.","FAQ_19_P3":"How much Stremio keeps depends on the <b>Cache</b> setting in the Settings panel. Stremio may keep up to the set amount (e.g. 2GB) on your disk, unless the currently streamed video is larger than that, in which case it has to allocate enough storage to keep it until you\'re streaming it.","FAQ_20_H1":"Where is the cache folder?","FAQ_20_P1":"On Windows, it\'s stremio-cache in the drive you picked in Settings (e.g. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"On MacOS, it\'s \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"On Linux, it\'s \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"I get \\"Streaming server is not found\\" error, what can I do?","FAQ_21_P1":"If you get this error, it means one of few things:","FAQ_21_P2":"1) You are trying to use an addon backed by YouTube/BitTorrent source, through our ${1}web version${2}. In this case, you should install our desktop version from ${3}our website${4}.","FAQ_21_P3":"2) Something is wrong with your Stremio installation. In this case, try re-installing our latest desktop version from ${1}the website${2}. If this does not help, try disabling anti-virus programs and firewalls, restarting your PC and trying again. If this does not work too, please write us at our ${3}our Facebook group${4}.","FAQ_22_H1":"I cannot see/use most addons on iOS","FAQ_22_P1":"Because of restrictions in the Apple App Store terms and conditions, we have restricted the iOS application only to a particular set of addons.","FAQ_22_P2":"But rest assured - there will be more addons for iOS in the future, and we may also add an integration that will allow you to use all Stremio addons thanks to connecting the iOS app to the Stremio Streaming Server."}')},96650:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Filmi","TYPE_series":"Serije","TYPE_tv":"TV kanali","TYPE_channel":"Kanali","TYPE_other":"Ostalo","TYPE_movie_PL":"Filmi","TYPE_series_PL":"Serije","TYPE_tv_PL":"TV kanali","TYPE_channel_PL":"Kanali","TYPE_other_PL":"Ostalo","TYPE_ALL":"All","TYPE":"Type","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"Video","BACK":"Nazaj","MORE":"Več","DONE":"Done","COPY":"Kopiraj","SUCCESS":"Success","ERROR":"Error","SETTINGS_CASTING_MODE_PICKER":"Casting mode","CASTING_MODE_HLSV2":"Default","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"No transcoding","Discover":"Razišči","Board":"Plošča","Library":"Knjižnica","My Library":"Moja Knjižnica","Calendar":"Koledar","NOTIFICATION_ONLINE":"Sedaj si povezan","NOTIFICATION_OFFLINE":"Si trenutno nepovezan","INTERNET_CONNECTION":"Mrežna povezava","STORAGE_FULL_TITLE":"Opozorilo: Prostor je poln!","STORAGE_FULL_TEXT":"Stremio will not be able to save your settings, preferences or login information. Consider re-starting or re-installing Stremio.","SEARCH":"iskanje","SEARCH_NO_RESULTS":"Ni rezultatov iskanja","SEARCH_EXPLANATION_CONTENT":"Išči filme, serije, YouTube in TV kanale","SEARCH_EXPLANATION_PEOPLE":"Išči igralce, režiserje in avtorje","SEARCH_PASTE_LINKS":"Kopiraj HTTP in Magnet linke","SEARCH_OR_PASTE_LINK":"Search or paste link","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"Dodaj v knjižnico","REMOVE_FROM_LIB":"Odstrani iz knjižnice","ADDED_TO_LIB":"Added to Library","REMOVED_FROM_LIB":"Removed from Library","TRAILER":"Napovednik","WATCH_TRAILER":"Predvajaj Napovednik","WATCH_NOW":"Glej sedaj","SHOW":"Show","SHOW_MOVIE":"Show Movie","WATCH_RANDOM":"Watch Random","IMDB_RATING":"IMDb Rating","YEAR":"Leto","DIRECTOR":"Režiser","WRITER":"Avtor","LEAD_ACTORS":"Glavni igralci","CAST":"Postava","CREW":"Crew","SHOW_MORE_CAST":"Show more »","AIRED":"Objavljeno","SEASONS":"Sezone","GENRE":"Žanr","GENRE_ALL":"All genres","CATALOG":"Catalog","SUMMARY":"Povzetek","SHOW_MORE":"Show More","SIMILAR":"Podobno","UPCOMING":"Prihajajoče","ENDED":"Končano","DURATION":"Trajanje","FEATURED":"Featured","METADATA":"Metadata","CATEGORY":"category","LINKS_GENRES":"Genres","LINKS_CAST":"Cast","LINKS_DIRECTORS":"Directors","SEARCH_VIDEOS":"išči video","SEARCH_PLACEHOLDER":"search or paste URL","ADDON":"dodatek","ADDONS":"Dodatki","OFFICIAL":"Glavni","ADDONS_OFFICIAL":"Glavni Stremio Dodatki","ADDONS_POPULAR":"Popularno v vašem področju","ADDON_FREE":"prosto","ADDON_PEERED":"peered","ADDON_SUBSCRIPTION":"naročnina","ADDON_STREAM_GEORESTRICTED":"ni dostopno v vašem področju","ADDON_STREAM_OFFLINECACHE":"Offline Cache","ADDON_STREAM_LOCALFILE":"Local File","SHARE_ADDON":"Share addon","AVAILABLE_STREAMS":"Dostopni Stream-i","NO_STREAM":"Ni dostopnih stream-ov","ALL_ADDONS":"All","INSTALL_MORE_ADDONS":"For more streams, please install more addons","STREAM_NOT_SUPPORTED":"Selected stream is not supported on this platform.","ADDON_CATALOGUE":"Prikaži vse dodatke &raquo;","ADDON_CATALOGUE_MORE":"Več dodatkov &raquo;","REPO_ADDED":"Repository added","ADDON_REPO_EXIST_ERR":"This addons collection already exist","ADDON_REPO_ERR":"Error occurred while adding collection","ADDON_ADD_ERR":"Error occurred while adding addon","ERR_ADDON_PROTECTED":"Cannot uninstall addon, it is protected","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Something went wrong - authentication may have failed","ERR_NOT_COLLECTION_URL":"Not a collection URL","ERR_NOT_ADDON_URL":"Not a valid addon URL","ERR_DETECTFROMURL":"Cannot find addon/collection from this URL","ADDON_DUPLICATE_WARNING":"Warning: duplicated addon","ADDON_COLLECTION_SET_FAILED":"Syncing installed addons to your account failed","SETTINGS_DATA_EXPORT":"Export user data","ADDON_PULL_FAILED":"Syncing installed addons from your account failed","REFRESH_ON_CLICK":"Click to retry","STILL_IN_THEATER":"Movie still in theaters","WATCH_IN_CINEMA":"Watch it in your local cinema","IN_THEATER":"In cinema","GET_TICKETS":"Get tickets","UPCOMING_EPISODE":"Upcoming episode","UPCOMING_EPISODE_MESSAGE":"This episode will be aired on","MISSING_DATE_EPISODE":"Missing episode date","MISSING_DATE_EPISODE_MESSAGE":"This episode might not have aired yet","CHANNEL_NOT_SCRAPED":"This channel is not scraped yet.<br>Please come back in a few minutes.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Add it to your library to get notified once it is available.","GET_NOTIFIED_WHEN_AVAILABLE":"You will get notified once it is available.","WARNING_STREAMING_SERVER":"Warning: local streaming server not found. Streaming from local files, YouTube and BitTorrent will not be available.","WARNING_STREAMING_SERVER_DISMISS":"Dismiss","WARNING_STREAMING_SERVER_LATER":"Later","DECODER_WARNING":"Warning: this video may not be supported by your hardware. Keep in mind, playback may be slow.","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"Oops, Player Error","PLAYER_ERROR_LOOKSLIKE":"It looks like","PLAYER_ORIENTATION":"Player orientation","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Locked","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensor","PLAYER_ORIENTATION_LANDSCAPE":"Player orientation locked at landscape","PLAYER_ORIENTATION_SENSOR":"Player orientation automatic (sensor)","PLAYER_PLAYBACK_SPEED":"Playback Speed","PLAYER_PLAYBACK_ERROR":"Playback error, please try again","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Unknown error","PLAYER_PLAYBACK_ERROR_DEFAULT":"Sorry, this video cannot be played by {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Subtitles Languages","PLAYER_SUBTITLES_VARIANTS":"Subtitles Variants","PLAYER_SUBTITLES_SETTINGS":"Subtitles Settings","PLAYER_SUBTITLES_DISABLED":"Subtitles are disabled","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Vertical Position","PLAYER_SUBTITLES_LOADED":"Subtitles loaded","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Embedded subtitles loaded","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Exclusive subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Subtitles from {{origin}} loaded","PLAYER_PLAY":"Play","PLAYER_PAUSE":"Pause","PLAYER_NEXT_VIDEO":"Next Video","PLAYER_MUTE":"Mute","PLAYER_UNMUTE":"Unmute","PLAYER_OPEN_IN_EXTERNAL":"Open in external player","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Play in {{device}}","PLAYER_LIVE":"Live","PLAYER_NEXT_VIDEO_TITLE":"Coming up next on","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Dismiss","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Watch now","PLAYER_COPY_STREAM_SUCCESS":"Stream link was copied to your clipboard","PLAYER_COPY_STREAM_ERROR":"Failed to copy stream link","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","STREAMING_FROM":"streaming from","CASTING_TO":"Casting to","NETWORK_STATUS":"Network status","STREAM_SPEED":"Stream speed:","STREAM_BUFFERED":"Buffered:","PEERS_INFO":"Peers Information","PEERS_ACTIVE":"Active:","PEERS_CONNECTED":"Connected:","PEERS_WAITING":"Waiting:","TRANSCODING_WARNING":"Warning: transcoding video.","STREAM_LOADING":"loading...","PLAYING_LOCAL":"playing from local file","PLAYING_CACHE":"playing from cache","WRONG_SUBS":"Wrong subtitles?","ERR_SUBS_LOADING_TITLE":"Error loading subtitles","ERR_SUBS_LOADING":"Failed loading subtitles: this could be an issue with the addon you are using, or with your network connection","WARN_FOLLOWING_SUB_ADDONS_FAILED":"The following subtitle addons failed","ERR_CASTING_UPDATE_TITLE":"Could not update casting device info: streaming server might be offline","CHOOSE_DEVICE":"Choose a device to watch on","NO_CAST_DEVICES":"No casting devices available.","NO_SETTINGS":"No settings available.","PHONE_TABLET":"Telefon / Tablica","SUBTITLES":"Podnapisi","SUBTITLES_CHANGE":"Change subtitles for ","SUBTITLES_CHANGE_NONE":"There are no other subtitles for this language, sorry.","SUBTITLES_CHANGE_ACIVE":"Currently subtitles &#35;{{subtitlesDialog.activeIdx + 1}} are activated. Click \\"Continue\\" to activate subtitles &#35;{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Alternatively,","SUBTITLES_ADJUST_DELAY":"Adjust subtitle delay:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Or use <span>G</span> / <span>H</span> keys while playing to adjust.","SUBTITLES_ADJUST_DELAY_TIP":"TIP: you can use <span>G</span> / <span>H</span> keys while playing to adjust.","SUBTITLES_DELAY":"Subtitles delay:","SUBTITLES_LOADING":"Loading subtitles...","SUBTITLES_UNAVAILABLE":"No external subtitles available","SUBTITLES_DISABLED":"Onemogočeno","EXTERNAL_PLAYER_DISABLED":"Disabled","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Allow Choosing","EXTERNAL_PLAYER_HINT":"Hint: There is a setting to allow always opening with external player","DONT_SHOW_AGAIN":"Don\'t show again","SERVICE_INSTALL":"Install","AUDIO":"Audio","DEFAULT_LANGUAGE":"Default Language","DEFAULT_SECONDARY_LANGUAGE":"Default Secondary Language","SEASON":"Sezone","EPISODE":"Nanizanke","EPISODE_ABBREVIATION":"EP","SPECIAL":"Special","SORT":"sort","SORT_BY":"Sort by","FILTER":"filter","SORT_TRENDING":"trending","SORT_RECENT":"recent","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"rating","SORT_WATCHED":"watched","SORT_YEAR":"year","SELECT_TYPE":"Select type","SELECT_SORT":"Select sort","SELECT_CATALOG":"Select catalog","SELECT_GENRE":"Select genre","SORT_LASTWATCHED":"By last watched","SORT_NAME":"By name","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"By times watched","SORT_NOTWATCHED":"not watched","New for You":"Novo Za Vas","New Episodes":"Nove Nanizanke","New Videos":"New Videos","Recommendations":"Priporočila","LIBRARY_RESUME":"Nadaljuj","LIBRARY_PLAY":"Play","LIBRARY_DETAILS":"Podrobnosti","LIBRARY_RESUME_DISMISS":"Opusti","LIBRARY_CLEAR_PROGRESS":"Clear Progress","LIBRARY_REMOVE":"Remove","LIBRARY_NOT_LOGGED_IN":"Library is only available for logged in users","CALENDAR_NOT_LOGGED_IN":"Calendar is only available for logged in users","NOT_LOGGED_IN_CLOUD":"Access your favorite movies and TV shows anytime, anywhere","NOT_LOGGED_IN_RECOMMENDATIONS":"Recommendations tailored to your viewing history","NOT_LOGGED_IN_NOTIFICATIONS":"Never miss an episode again","NOT_LOGGED_IN_CALENDAR":"Schedule your personal watching calendar","DISCOVER_FEATURED":"Featured","DISCOVER_TOP":"Top","DISCOVER_OSCAR":"Oscar Winners","DISCOVER_WARNING_TITLE":"Oops!","DISCOVER_EMPTY_CATALOG":"This addon returned empty content.","DISCOVER_ADULT_WARNING":"The content is visible only for adults. Are you 18+?","DISCOVER_NOADDON_WARNING":"Warning: no Stremio addon active for this type. Showing saved items, nothing here will update.","DISCOVER_LOAD_ERR":"The content did not load, error occured.","DISCOVER_ADDON_UNINSTALLED":"This content is no longer available, you may have un-installed the addon.","UNINSTALL_THIS_ADDON":"Uninstall this addon","ERR_ADDON_NOT_INSTALLED":"This addon is not installed. Install now?","DETAIL_RECEIVE_NOTIF_SERIES":"Receive notifications for new episodes","DETAIL_RECEIVE_NOTIF_VIDEOS":"Receive notifications for new videos","SIDEBAR_SHOW_STREAMS":"Show Streams","RELAUNCH":"Re-launch now!","UPGRADE":"New version is available! Upgrade to the latest Stremio version","RELOAD_UI":"Reload the user interface","MANUAL_UPDATE_TITLE":"Update your Stremio version","MANUAL_UPDATE_LINE1":"You are running an outdated version of Stremio which is highly unrecommended.","MANUAL_UPDATE_LINE2":"Please update as soon as possible.","BUTTON_UPDATE_LATTER":"Not now","BUTTON_UPDATE_NOW":"Update","ANONYMOUS_USER":"Anonimni uporabnik","DONT_HAVE_ACC":"Nimate še računa?","HAVE_ACC":"Že imate račun?","PASSWORD":"Geslo","PASSWORD_CONFIRM":"Potrdi geslo","EMAIL":"E-mail","FB_LOGIN":"Nadaljuj z Facebook","FB_NOTHINGSHARED":"Nothing is shared without your permission","FB_NOPOST":"We won’t post anything on your behalf","OR":"or","I_ACCEPT":"Se strinjam z","I_ACCEPT_BY_CLICKING":"By clicking the above button I testify that I accept the ","TOS":"Terms and Conditions","MUST_ACCEPT_TERMS":"You must accept terms","PASSWORDS_NOMATCH":"Geslo se ne ujema","SIGN_UP":"Registracija","SIGN_UP_EMAIL":"Registracija z email naslovom","CLICK_TO_SIGN_UP":"Click here to sign up.","LOG_IN":"Prijava","LOG_OUT":"Odjava","EXIT_FULLSCREEN":"Exit fullscreen mode","ENTER_FULLSCREEN":"Enter fullscreen mode","PLAY_URL_MAGNET_LINK":"Play URL/Magnet link","HELP_FEEDBACK":"Help & Feedback","TERMS_OF_SERVICE":"Terms of Service","PRIVACY_POLICY":"Privacy Policy","ABOUT_STREMIO":"O Stremio","USER_PANEL":"User Panel","LOGIN_LABEL":"Login","GUEST_LOGIN":"Guest login","GUEST_LOGIN_NOTICE":"Guest Login is not recommended. Using a regular login allows Stremio to sync your Library, receive notifications for favourite series/channels. Are you sure you want to proceed?","GUEST_LOGIN_NOTICE_2":"Guest Login is not recommended - you won\'t have synced Library and Board notifications, which are vital Stremio features. Are you sure you want to proceed?","CLICK_HERE":"click here","WRONG_PASSWORD":"Wrong email or password. In case you have forgotten your password, ","SET_A_PASS":"set a password","RESET_PASSWORD":"Reset password","FORGOT_PASSWORD":"Forgot password?","EMAIL_USED_WITH_FB":"This email was used with a Facebook login.","INVALID_EMAIL":"Please enter a valid email address","INVALID_PASSWORD":"Please enter a valid password","CONN_ERR":"Connection error - please try again later.\\n\\nIf this persists, disable firewalls/anti-virus software (especially Bitdefender).","IMPORT_FROM_GUEST":"Import Library from your guest account","RECEIVE_UPDATES_EMAIL":"Receive updates to your email from Stremio","LOGIN_FAILED":"Login failed.","SIGNUP_FAILED":"Signup failed.","SEARCH_FAILED":"Search failed","EMAIL_USED":"This email is already in use.","WAITING_FB_LOGIN":"Logging in with Facebook...","EXTERNAL_PLAYER_TITLE":"Play in external player","EXTERNAL_REMEMBER_PLAYER":"Do you want to remember your choice","EXTERNAL_ALWAYS_PLAY":"Yes","EXTERNAL_ONLY_ONCE":"No","BEST_FIT":"Best Fit","FIT_SCREEN":"Fit Screen","FILL":"Fill","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"Tell us about what you like","INTRO_TASTE_LONG":"Tell us about what you\'d like to watch","INTRO_TASTE_PICK":"Pick {{interestsRemaining}} interests","INTRO_TASTE_PICK_MORE":"Pick {{interestsRemaining}} more interests","INTRO_TASTE_HELP_US":"Help us learn more about you.","INTRO_TASTE_CHOOSE_THESE":"Choose some of these:","INTRO_TASTE_CHOOSE_MIN":"Choose at least 3 categories","INTRO_TASTE_CHOOSE_MIN_ERR":"You have to pick at least 3 categories!","INTRO_TASTE_LIFESTYLE":"Lifestyle","INTRO_TASTE_SPORTS":"Sports","INTRO_TASTE_FOOD_HEALTH":"Food & Health","INTRO_TASTE_BEAUTY_FASHION":"Beauty & Fashion","INTRO_TASTE_NEWS":"News","INTRO_TASTE_GAMING":"Gaming","INTRO_TASTE_SCIENCE_EDU":"Science & Education","INTRO_TASTE_MUSIC":"Music","INTRO_TASTE_TRAVEL":"Travel","INTRO_TASTE_LATE_NIGHT":"Late Night Show","INTRO_TASTE_REALITY":"Reality","INTRO_TASTE_COMEDY":"Comedy","INTRO_TASTE_DIY":"How to DIY","INTRO_TASTE_TECH":"Tech","INTRO_TASTE_CINEMA":"Cinema","ADDON_NOT_SUPPORTED":"Selected addon is not supported on this platform.","ADDON_DISCLAIMER":"Using third-party addons will always be subject to your responsibility and the governing law of the jurisdiction you are located.","ADDON_ACTIVATE":"Activate this addon?","ADDON_REPO_ADD":"Addon collection URL","ADDON_ADD":"Add","INSTALL_ADDON":"Install addon","ADD_ADDON":"Add addon","ADD_ADDON_DESCRIPTION":"You can add an addon via an external link, which will appear under Installed addons.","PASTE_ADDON_URL":"Paste addon URL","WHATS_NEW":"Kaj je novega","BUTTON_CONTINUE":"Nadaljuj","BUTTON_ACTIVATE":"Aktiviraj","BUTTON_ACTIVATED":"Aktivirano","BUTTON_CANCEL":"Prekliči","BUTTON_SUBMIT":"Submit","BUTTON_DISMISS_ALL":"Opusti vse","BUTTON_VIEW_ALL":"pregled vseh","BUTTON_SEE_ALL":"See All","BUTTON_COLOR_TRANSPARENT":"Transparent","OPEN_IN_BROWSER":"Open in browser","LIB_EMPTY":"Your library looks empty. Find out how useful it is :) ","HOW_START":"Here is how you can start:","LIB_EMPTY_CAL":"Your Calendar shows series in your Library.","HOW_START_CAL":"Here is how you can add series:","LIB_EMPTY_BOARD":"Board shows notifications &amp; recommendations related to your Library.","HOW_START_BOARD_WAIT":"Please, add a few series or channels to your Library give us a few minutes to process :)","HOW_START_BOARD":"Here is how you can add series &amp; movies to it:","IMPORT_FB":"Import things you like from <span>Facebook</span>","IMPORT_TRAKT":"Import your media library from <span>Trakt</span>","IMPORT_DISCOVER":"Find interesting stuff from <span>Discover</span>","IMPORT_DISK":"Import movies or shows you have on your <span>local disk</span>","PLEASE_CREATE_ACC":"Please <u>create an account</u> to enable Library sync &amp; Board.","IMPORT_DISCOVER_SIGNUP":"Sign up and find interesting stuff from <span>Discover</span>","IMPORT_DISK_SIGNUP":"Sign up and import movies or shows you have on your <span>local disk</span>","LIB_EMPTY_CLOUD":"Cloud library","LIB_EMPTY_CLOUD_DESC":"Personal cloud library synced on all devices","LIB_EMPTY_EARLY":"Early bird","LIB_EMPTY_EARLY_DESC":"Receive notifications for new episodes","LIB_EMPTY_PERSONAL":"Personal","LIB_EMPTY_PERSONAL_DESC":"Get personal recommendations","LIB_EMPTY_CALENDAR_DESC":"Schedule your personal watching calendar","LIB_EMPTY_ALL":"Sign up to get all of these:","LIB_EMPTY_BEST":"Sign up to get best of Stremio","LIB_EMPTY_OTHER":"Sign up to enable Calendar & other cool features","CALENDAR_ADDED":"The Stremio calendar has been added to your default desktop calendar.","CALENDAR_ADDED_MSG":"If this does not work, please add this URL to your calendar application manually","TRAKT_EXPIRED":"Trakt authentication expired, please go to Settings and re-authenticate","TRAKT_REQUIRES_LOGIN":"Trakt error","TRAKT_REQUIRES_LOGIN_MSG":"You need to login","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","SETTINGS_LABEL":"Nastavitve","SETTINGS_NAV_GENERAL":"Osnovno","SETTINGS_NAV_PLAYER":"Predvajalnik","SETTINGS_NAV_STREAMING":"Streaming","SETTINGS_NAV_SHORTCUTS":"Shortcuts","SETTINGS_SHORTCUT_RELOAD_APP":"Reload App","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Open Settings","SETTINGS_SHORTCUT_SWITCH_TABS":"Switch Tabs","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Cycle Through Tabs Forward","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Cycle Through Tabs Backward","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigate Between Menus","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Go to Search","SETTINGS_SHORTCUT_EXIT_BACK":"Exit / Go Back","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Toggle Playback Speed Menu","SETTINGS_SHORTCUT_MENU_VIDEOS":"Toggle Videos Menu","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Toggle Subtitles Menu","SETTINGS_SHORTCUT_MENU_INFO":"Toggle Info Menu","SETTINGS_SHORTCUT_FULLSCREEN":"Toggle Fullscreen","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Show Controls","SETTINGS_SHORTCUT_PLAY_PAUSE":"Play / Pause","SETTINGS_SHORTCUT_VOLUME_UP":"Volume Up","SETTINGS_SHORTCUT_VOLUME_DOWN":"Volume Down","SETTINGS_SHORTCUT_SEEK_NEXT":"Seek Next","SETTINGS_SHORTCUT_SEEK_PREV":"Seek Prev","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Seek Backward","SETTINGS_SHORTCUT_SEEK_FORWARD":"Seek Forward","SETTINGS_SHORTCUT_PLAY_NEXT":"Play Next","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Increase Subtitles Size","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Decrease Subtitles Size","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Increase Subtitles Delay","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Decrease Subtitles Delay","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Toggle Sidebar","SETTINGS_SHORTCUT_OR":"or","SETTINGS_SHORTCUT_TO":"to","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Authenticate","SETTINGS_FACEBOOK_IMPORT":"Import","SETTINGS_CALENDAR_SUBSCRIBE":"Subscribe","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Interface Language","SETTINGS_LAUNCH_STARTUP":"Zaženi ob zagon","SETTINGS_VLC_DEFAULT":"Predvajaj z VLC","SETTINGS_UI_LANGUAGE":"UI Jezik","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Escape key exit full screen","SETTINGS_GAMEPAD":"Enable gamepad support","SETTINGS_CLOSE_WINDOW":"Close app when window is closed","SETTINGS_SUBTITLES_LANGUAGE":"Default Subtitles Language","SETTINGS_SUBTITLES_SIZE":"Default Subtitles Size","SETTINGS_SUBTITLES_BACKGROUND":"Subtitles background","SETTINGS_SUBTITLES_COLOR":"Subtitles color","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Subtitles outline color","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Subtitles background color","SETTINGS_SEEK_KEY":"Arrow keys seek time","SETTINGS_SEEK_KEY_SHIFT":"Arrow keys seek time when Shift key is held","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Rewind & Fast-forward duration","SETTINGS_BINGE":"Auto-play next episode","SETTINGS_NEXT_VIDEO":"Show notification to start next episode","SETTINGS_NEXT_VIDEO_TRIGGER":"Show next episode notification for:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Next video popup duration","SETTINGS_PLAY_IN_BACKGROUND":"Play in background","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Play in external player","SETTINGS_RESIZE":"Auto-resize window before playing","SETTINGS_OVERRIDE_SERVER":"Override the streaming server URL (advanced)","SETTINGS_SERVER_URL":"Streaming server URL: ","SETTINGS_SERVER_AVAILABLE":"Streaming server is available.","SETTINGS_SERVER_UNAVAILABLE":"Streaming server is not available.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Error","SETTINGS_SERVER_CONFIGURE_TITLE":"Configure streaming server url","SETTINGS_SERVER_CONFIGURE_INPUT":"Enter a streaming server url","SETTINGS_SERVER_CACHE_SIZE":"Cache size","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent profile","SETTINGS_HTTPS_ENDPOINT":"Streaming HTTPS endpoint: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Always use latest Beta","SETTINGS_IMPORT_FB":"Import from Facebook","SETTINGS_IMPORT_DISK":"Import from local disk","SETTINGS_IMPORT_TRAKT":"Import from Trakt","SETTINGS_PAUSE_MINIMIZED":"Pause playback when minimized","SETTINGS_HWDEC":"Hardware-accelerated decoding","SETTINGS_BACKGROUND":"Background playback","SETTINGS_SUBSCRIBE_CALENDAR":"Subscribe to calendar","SETTINGS_REQ_EXPORT":"Request data export","SETTINGS_ACC_DELETE":"Request account deletion","SETTINGS_CHANGE_PASSWORD":"Change password","SETTINGS_TOS":"Terms of service","SETTINGS_SUPPORT":"Contact support","SETTING_LANGUAGE":"Jezik","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_LOGOUT":"Log out of Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Log Out of Trakt","SETTINGS_SCAN_FOR_REMOTE":"Scan QR code to open remote","SETTINGS_DESKTOP_NOTIFICATIONS":"Desktop notifications","SETTINGS_DATA_SAVER":"Data saver","SETTINGS_LANGUAGE_INTERFACE":"interface","SETTINGS_LANGUAGE_SUBS":"default subtitles","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Autoselect Audio Track","SETTINGS_DEFAULT_AUDIO_TRACK":"Default Audio Track","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"account","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"version","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"Launch player in a separate window (advanced)","SETTINGS_PLAY_IN_EXTERNAL":"Always start video in external player","SETTINGS_STORAGE_BUTTON":"Clear Local Storage","SETTINGS_STORAGE_MODAL_TITLE":"Are you sure ?","SETTINGS_STORAGE_MODAL_MESSAGE":"This will clear the local storage and log you out.","SETTINGS_HWDEC_PICKER":"Pick hardware-accelerated decoding setting","SETTINGS_HW_AUTOMATIC":"Automatic","SETTINGS_HW_DISABLED":"Disabled","SETTINGS_HW_ACCELERATED":"Decoding acceleration","SETTINGS_HW_FULL":"Full acceleration","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Subtitles","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Controls","SETTINGS_SECTION_AUTO_PLAY":"Auto-Play","SETTINGS_SECTION_ADVANCED":"Advanced","SUBSPICKER_AUDIO":"Audio","SUBSPICKER_SUBTITLES":"Addons Subtitles","SUBSPICKER_BLACK_BACKGROUND":"Use black background color","SUBSPICKER_VERTICAL_OFFSET":"Vertical Offset","SUBSPICKER_SIZE":"Size","SUBSPICKER_DELAY":"Delay","SUBSPICKER_EMBEDDED_SUBS":"Embedded Subtitles","MOBILE_PRIVACY_POLICY":"Privacy Policy","MOBILE_CRASH_REPORTING":"Crash Reporting","MOBILE_ZOOM_TO_FILL":"Zoom To Fill Screen","MOBILE_PASSTHROUGH":"Digital audio output (passthrough)","MOBILE_RUN_LOW_BATTERY":"Run on low battery","MOBILE_RUN_FOREGROUND":"Run as Foreground Service","MOBILE_PERFORMANCE":"PERFORMANCE & STABILITY","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"QR Code expires in ","MOBILE_LOG_INTO":"Log in to your Stremio account ","MOBILE_SCAN_QR":"Scan QR code above or go to ","MOBILE_LINK_ACCOUNT":"Link Account","MOBILE_SPEEDPICKER_CANCEL":"Cancel","MOBILE_SPEEDPICKER_LABEL":"Select Playback Speed","MOBILE_EMPTY_LIBRARY":"Your library is empty","MOBILE_NO_ADDON_ACTIVE":"No Stremio addon active for this type.","MOBILE_ORGANIZER_WARNING":"The Stremio Organizer app provides limited functionality. For a list of playable streams and the full Stremio experience, use Stremio on desktop.","MOBILE_ADDON_LOADING":"is still loading","MOBILE_ADDONS_LOADING":"addons are still loading","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Configure your addon","MOBILE_CONFIGURE_ADDON_LABEL":"Configure Addon","MOBILE_ORGANIZER_ADDONS_WARNING":"The Stremio Organizer app provides a limited selection of addons. For the full Stremio experience, use Stremio on desktop.","MOBILE_DISCONNECT":"Disconnect","MOBILE_LOOKING_FOR_DEVICES":"Looking for devices...","MOBILE_CAST_TO":"Cast to","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Delete Account","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Account deletion is not instant due to legal obligations. After requesting deletion of your account you will have to use different email address/facebook profile to create a new Stremio account in the future.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirm Account Deletion","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Your account has been created using Facebook. To delete your account, please use our user portal at www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Please provide your password to confirm account deletion.","MOBILE_DELETE_ACCOUNT_BUTTON":"Delete Account","NAVIGATION_ON":"On","NAVIGATION_OFF":"Off","MARKETING_AGREE":"I agree to receive marketing communications from Stremio","QUIT":"Quit","CONNECTED":"Connected","AUTHENTICATE":"Authenticate","CACHING":"Caching","SETTINGS_CACHING_DRIVE":"Caching drive","ENABLE_LOCAL_FILES_ADDON":"Enable the local files addon (requires restart)","LOCAL_ADDON_NOT_ENABLED":"Local addon is not enabled. Click here to go to the settings and enable it","ENABLE_REMOTE_HTTPS_CONN":"Enable remote HTTPS connections","TORRENT_PROFILE":"Torrent Profile","DATA_CACHING":"Data Caching","MAGNET_PARSING":"Parsing a magnet link","January":"Januar","February":"Februar","March":"Marec","April":"April","May":"Maj","June":"Junij","July":"Julij","August":"Avgust","September":"September","October":"Oktober","November":"November","December":"December","Monday":"Ponedeljek","Tuesday":"Torek","Wednesday":"Sreda","Thursday":"Četrtek","Friday":"Petek","Saturday":"Sobota","Sunday":"Nedelja","Action":"Akcije","Comedy":"Komedije","War":"Vojni","Family":"Družinski","Animation":"Animirani","Adventure":"Pustolovski","Fantasy":"Fantazijski","Crime":"Kriminalni","Mystery":"Mistični","Romance":"Romantični","Drama":"Drame","Horror":"Grozljivke","Thriller":"Trilerji","Sci-Fi":"Sci-Fi","Music":"Glazbeni","Biography":"Biografski","Documentary":"Dokumentarni","Sport":"Športni","Musical":"Mjuzikli","Western":"Western","Film-Noir":"Film-Noir","News":"News","History":"History","Game-Show":"Game-Show","Reality-TV":"Reality-TV","Talk-Show":"Talk-Show","Film & Entertainment":"Film & Entertainment","Gaming":"Gaming","From TV":"From TV","Lifestyle":"Lifestyle","Science & Education":"Science & Education","Cooking & Health":"Cooking & Health","Beauty & Fashion":"Beauty & Fashion","Sports":"Sports","News & Politics":"News & Politics","How-to & DIY":"How-to & DIY","Tech":"Tech","Automotive":"Automotive","Causes & Non-Profits":"Causes & Non-Profits","Movies":"Movies","Uk Live Tv":"Uk Live Tv","Fashion":"Fashion","Business News Radio":"Business News Radio","Business Tv":"Business Tv","Cars & Auto":"Cars & Auto","Comedy Radio":"Comedy Radio","Lifestyle Radio":"Lifestyle Radio","News Tv":"News Tv","Food And Wine":"Food And Wine","Latino Tv":"Latino Tv","Shopping Tv":"Shopping Tv","Religion":"Religion","Kids":"Kids","Body & Soul":"Body & Soul","Education":"Education","Indian Tv":"Indian Tv","Extreme Sports":"Extreme Sports","Middle Eastern Tv":"Middle Eastern Tv","Celebrity Tv":"Celebrity Tv","Science Tv":"Science Tv","Bikini babe":"Bikini babe","Outdoors":"Outdoors","German Tv":"German Tv","French Tv":"French Tv","Italian Tv":"Italian Tv","Gamer Tv":"Gamer Tv","Travel":"Travel","Asian Tv":"Asian Tv","Entertainment":"Entertainment","News Radio":"News Radio","Music Radio":"Music Radio","Language Learning":"Language Learning","Science Radio":"Science Radio","Tech Radio":"Tech Radio","Science & Technology Vod":"Science & Technology Vod","new video":"new video","new episode":"new episode","new movie":"new movie","recommended":"recommended","we recommend":"we recommend","offer of the day":"offer of the day","news":"news","music video":"music video","CTX_SHOW_HOTKEYS":"Show hotkeys","CTX_DISMISS_NOTIF":"Dismiss notifications","CTX_DISMISS_ALL":"Dismiss all","CTX_SHARE":"Share","CTX_COPY_SHARE_LINK":"Copy share link","CTX_COPY_MAGNET_LINK":"Copy magnet link","CTX_COPY_STREAM_LINK":"Copy stream link","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Download this video","CTX_DOWNLOAD_SUBS":"Download subtitles","CTX_VIEW_ON_YOUTUBE":"View on YouTube","CTX_SHOW":"Show","CTX_PLAY":"Play","CTX_PLAY_IN":"Play in","CTX_PLAY_ON":"Play on","CTX_WATCH_ON":"Watch on","CTX_WATCH":"Watch","CTX_WATCHED":"Watched","CTX_WATCH_BEGINNING":"Watch from the beginning","CTX_WATCH_MOBILE":"Watch on a mobile device","CTX_REWIND":"Rewind to beginning","CTX_MARK_WATCHED":"Mark as watched","CTX_MARK_NON_WATCHED":"Mark as non-watched","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"Mark rest as watched","CTX_UNMARK_REST":"Mark rest as non-watched","CTX_RECEIVE_NEW_NOTIF":"Receive new notifications","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"Remove from cache","CTX_REMOVE_CACHE_EP":"Remove episode from cache","CTX_OPEN_CONTAINING":"Open containing folder","CTX_REMOVE":"Remove from library","CTX_AVAILABLE_OFFLINE":"Available Offline","CTX_PAUSED":"Paused","CTX_ALWAYS_ON_TOP":"Always on top","CTX_FULLSCREEN":"Fullscreen","CTX_WRONG_SUBS":"Wrong subtitles?","CTX_REPORT_ISSUES":"Report issue","CTX_COPY":"Copy","CTX_PASTE":"Paste","CTX_CLEAR":"Clear","CTX_CLEAR_RECENT_SEARCHES":"Clear recent searches","HELLO_THERE":"Hello There","HOPE_YOU_ENJOY":"We hope you enjoy Stremio and it\'s one of your favourite apps already!","WHO_ARE_WE":"Who are we? We are the team behind it - two guys who work hard every day for the last 3 years to make this product better and better.","SUPPORT_US":"If you enjoy using Stremio, if Stremio is valuable for you - spread the word!","SPREAD_THE_WORD":"Share with your friends now, spread the word about Stremio","MORE_PEOPLE":"The more people use Stremio, the better it will get!","SEND_A_LINK":"Or send a link to our website","TIP_LOCALFILES":"Tip: you can drag & drop local video files into Stremio","ADDON_MY":"My Add-ons","ADDON_COMMUNITY":"Community Add-ons","ADDON_OFFICIAL":"Official Add-ons","ADDON_REPOS":"Addon collections","ADDON_SEARCH":"Search add-ons","ADDON_INSTALL":"Naloži","ADDON_CONFIGURE":"Configure","ADDON_UNINSTALL":"Odstrani","ADDON_UPGRADE":"Upgrade","ADDON_INSTALLED":"Naloženo","ADDON_INSTALLED_MSG":"Addon installed!","ADDON_UPGRADED_MSG":"Addon upgraded!","ADDON_UNKNOWN":"Unknown","ADDON_ERR":"Addon install error!","ADDON_DISCONNECTED":"Disconnected","ADDON_APP_MISSING":"the app for this source is not installed. Do you want to install it now?","ADDON_APP_INSTALL":"Install Now","ADDON_PAGE":"Addon Page","ADDON_TOP_CONTENT":"Best from this Addon","ADDON_PROVIDES":"This addon will give you:","ADDON_WATCH":"Watch #{types} now!","ADDON_WATCH_FREE":"Watch #{types} for FREE now!","ADDON_ADDON":"Addon","ADDON_SUPPORTED_TYPES":"Supported types","ADDON_SUPPORTED_CATALOGS":"Supported catalogs","ADDON_PROVIDES_DISCOVER":"More #{types} in Discover","ADDON_PROVIDES_STREAMS":"Watch #{types}","ADDON_PROVIDES_STREAMS_FREE":"Watch #{types} for FREE","ADDON_PROVIDES_SUBTITLES":"Subtitles for #{types}","ADDON_CANTDETECT":"We couldn\'t detect a running Stremio, so we couldn\'t detect what addons you have installed.","ERR_NO_META":"No information found about this ","ERR_GETTING_META":"Error retrieving information about this.","ERR_CANT_PARSE_MAGNET":"Unable to parse magnet","ERR_NO_MAGNET_INFOHASH":"No valid info hash for magnet","ERR_NO_FILE_PATH":"Unable to send request without a path to file","ERR_NO_TORRENT":"No torrent returned","ERR_NO_SUPPORTERD_FILES":"No supported files found","ERR_OPENING_FILES":"Could not open external files","ERR_INVALID_LINK":"Invalid link","ERR_REGISTERED_ONLY":"This option is available for registred users only.","ERR_CLIPBOARD":"Can not play from clipboard","ERR_CLIPBOARD_READ":"Can not read the clipboard on this platform","ERR_CLIPBOARD_GENERIC":"No playable URL found in the clipboard. Please copy a URL (e.g. a magnet link) to a video.","BOARD_CONTINUE_WATCHING":"Continue watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Movies picked specially for you.<br />This movie is a sample recommendation.","BOARD_EXPLANATION_EPISODES":"New episodes of your favorite Series come here.<br />Add series you follow to your Library.","BOARD_EXPLANATION_VIDEOS":"New episodes of your favorite Channels come here.<br />Add YouTube channels you follow to your Library.","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE":"Contribute","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"Learn more","WEBSITE_COMPANY":"Company","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Need Help?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"Watch Instantly","WEBSITE_SLOGAN_ALL":"All the Video Content You Enjoy in One Place","WEBSITE_SLOGAN_NEW":"All You Can Watch","WEBSITE_SLOGAN_NEW_NEW":"Freedom to Stream","WEBSITE_WATCH_FROM":"Watch from","WEBSITE_DOWNLOAD":"Download Now","WEBSITE_DOWNLOAD_FOR":"Download Now For","WEBSITE_IS_DESKTOP":"Stremio is a desktop application, open this page on your PC and download it","WEBSITE_DESKTOP_DEMO_VID":"Desktop demo","WEBSITE_PAGE_HOME":"Home","WEBSITE_PAGE_FEATURES":"Features","WEBSITE_PAGE_ADDONS":"Addons","WEBSITE_PAGE_TECH":"Technology","WEBSITE_PAGE_CREATE_ADDON":"Create Addon","WEBSITE_PAGE_CONTACTS":"Contacts","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Movies","WEBSITE_TYPE_series_PL":"Series","WEBSITE_TYPE_tv":"Live TV","WEBSITE_TYPE_channel":"Channels","WEBSITE_STREMIO_WHAT_IS":"Stremio is an app that helps you organize and instantly watch your favorite videos, movies, TV series and TV channels.","WEBSITE_FEATURES_WATCH":"Watch Instantly in HD","WEBSITE_FEATURES_WATCH_DETAIL":"Click and play your favourite movies, TV Shows, videos and TV channels.","WEBSITE_FEATURES_SUBS":"Automatic Subtitles","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio automatically picks synced subtitles for your language.","WEBSITE_FEATURES_SUBS_LABEL":"Your move, chief.","WEBSITE_FEATURES_CAST":"Play on TV & mobile devices","WEBSITE_FEATURES_CAST_DETAIL":"Cast to AppleTV, Chromecast, Smart TV (DLNA/UPnP) and mobile devices.","WEBSITE_LIB":"Enjoy Your Personal Library Synced on All Your Devices","WEBSITE_LIB_COLLECT":"Collect from Stremio","WEBSITE_LIB_IMPORT":"Import from Facebook","WEBSITE_LIB_LOCAL":"Add from your local drive","WEBSITE_BOARD":"The Board - Your one-stop place for Notifications and Recommendations","WEBSITE_BOARD_RECOMMEND":"Recommended TV Show","WEBSITE_BOARD_TRENDING":"Trending Movie","WEBSITE_BOARD_NEW":"New Video","WEBSITE_BOARD_EPISODE":"New Episode","WEBSITE_BOARD_1":"Looking for something interesting to watch? Get recommendations based on your taste!","WEBSITE_BOARD_2":"Get notified when a new episode of your favourite TV show or YouTube channel is out!","WEBSITE_BOARD_YOUTUBE":"New videos of YouTube channels","WEBSITE_BOARD_EPISODES":"New episodes of series you follow","WEBSITE_ADDONS":"Content Addons","WEBSITE_TECH_DETAIL":"We love technology, we love mad science!\\nStremio is using the following open source technologies:","WEBSITE_TECH_WCJS":"WebChimera.js allows Stremio to play any video format with good performance.","WEBSITE_TECH_WCJS_EXTRA":"We are core project contributors","WEBSITE_TECH_ELECTRON":"Electron provides an innovative platform to build Stremio with.","WEBSITE_TECH_ELECTRON_EXTRA":"We are project contributors","WEBSITE_TECH_LINVODB":"A database technology that ensures your data is organized and available anywhere you login.","WEBSITE_TECH_LINVODB_EXTRA":"In-house technology","WEBSITE_CREATE_ADDON":"Create your addon","WEBSITE_CREATE_ADDON_DETAIL":"Do you have a service providing video content? We\'ll help you benefit from Stremio\'s features by creating your Addon.","WEBSITE_CREATE_ADDON_BENEFITS":"Benefits of Creating an Addon for Stremio","WEBSITE_P2P_BEAUTY":"The Beauty of Peer-to-Peer Streaming","WEBSITE_P2P_1":"Reliable and affordable full HD / 4K video on demand or live streaming","WEBSITE_P2P_2":"Distribution platform providing great user experience","WEBSITE_P2P_3":"We will create an addon meeting your exact needs","WEBSITE_P2P_CONTACT":"Interested? You are welcome to <a href=\'mailto:office@stremio.com\'>contact us</a>.","WEBSITE_P2P_CONTACT_EXTRA":"We will be happy to help you integrate your content with Stremio!","WEBSITE_P2P":"Once in a while, there comes a technology that changes the name of the game. We invested tons of time and effort in building our Peer-to-Peer (P2P) video streaming engine that provides great performance and versatility to adapt with any use case.\\nContact us for DRM-enabled P2P video on demand or live streaming.","WEBSITE_THOUGHTS":"Thoughts we share:","WEBSITE_SPREAD":"Spread the word about Stremio:","WEBSITE_CONTACT":"Contact us, we\'ll be happy to hear from you!","WEBSITE_OPENSOURCE":"For our open source projects, go to our","WEBSITE_BITCOIN":"Donate bitcoin:","WEBSITE_FAQ":"Frequently asked questions","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Questions","WEBSITE_TOS":"Terms of use","WEBSITE_LEGAL":"Legal","WEBSITE_PAGE_ABOUT":"About","WEBSITE_PAGE_BECOME_PARTNER":"Become a partner","WEBSITE_ALL_YOU_CAN_WATCH":"Freedom To Watch\\nEverything You Want.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"What is stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio is a one-stop hub for video content aggregation. Discover, organize and watch video from all kind of sources on any device that you own.","WEBSITE_WHAT_IS_STREMIO_P2":"Movies, TV shows, series, live television or web channels like YouTube and Twitch.tv - you can find all this on Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio is a modern media center that\'s a one-stop solution for your video entertainment. You discover, watch and organize video content from easy to install addons.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Movies, TV shows, live TV or web channels - find all this on Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Enjoy on all your Media devices","WEBSITE_DEVICES_COLLECT":"Collect from Stremio","WEBSITE_DEVICES_IMPORT_FB":"Import from facebook","WEBSITE_DEVICES_LOCAL":"Add from local drive","WEBSITE_JOIN_THE_PARTY_NOW":"Join the party now","WEBSITE_DEVICES_ALL":"Easy to use on all your devices;","WEBSITE_EXTENDABLE_CATALOG":"Infinitelly extendable video catalog;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Great features to organize your media;","WEBSITE_AS_SEEN_ON":"As seen on","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"About us","WEBSITE_LINK_TECHNOLOGY":"Technology","WEBSITE_LINK_APPS":"Apps","WEBSITE_LINK_DOWNLOADS":"Downloads","WEBSITE_MORE":"More","WEBSITE_LINK_ADDONS":"Addons","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Contribute","WEBSITE_LINK_COMMUNITY":"Community","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... & More","WEBSITE_LINK_HELP":"Help center","WEBSITE_LINK_CONTACTS":"Business inquiries","WEBSITE_LINK_TOS":"Terms & conditions","WEBSITE_LINK_PRAVACY":"Privacy policy","WEBSITE_SUBSCRIBE":"Subscribe","WEBSITE_NEWSLETTER":"Join Our Newsletter for amazing stuff","WEBSITE_PLACEHOLDER_EMAIL":"Your Email","WEBSITE_COMMUNITY":"Community","WEBSITE_LINK_PRAVACY_LEGAL":"Privacy & legal","WEBSITE_WHY":"Why we do it","WEBSITE_WHY_P1":"At Stremio, we come to work every day because we want to solve an important problem for the video-on-demand industry. There’s so much new content published every minute that it’s virtually impossible to find your way around it.","WEBSITE_WHY_P2":"We help people navigate that huge world of video entertainment and discover new content to enjoy. Our apps bring together movies, series, live TV, web channels, and more. We are dedicated to making it incredibly easy for users to find titles and broadcasters that they love.","WEBSITE_WHY_P3":"You can use our service on any device and at any time, making Stremio the only video entertainment hub you’ll ever need.","WEBSITE_TEAM":"TEAM","WEBSITE_TEAM_P":"The Stremio team is small but powerful: between the ten of us, we code in X languages, and share expertise in software development, UI and UX design, marketing and advertising, and business and startups.","WEBSITE_FEATURES":"Features","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Discover new content with ease","WEBSITE_FEATURES_DISCOVER_P":"Easily discover new movies, TV shows, series and channels to watch. Browse by category, genre, rating, recency, etc. or simply type a name to find. Stremio makes finding new video content a piece of cake.","WEBSITE_FEATURES_ALL_CONTENT":"All of your video content on one screen","WEBSITE_FEATURES_ALL_CONTENT_P1":"See what movies, series or videos you didn’t finish and continue watching them; get notified for new episodes and releases; and browse through the recommendations you will get based on your viewing habits.","WEBSITE_FEATURES_LIBRARY":"Organize your video library","WEBSITE_FEATURES_LIBRARY_P1":"Add any title to your Stremio library with a single click and find your way around your content, neatly arranged by type, recency, or alphabetical order.","WEBSITE_FEATURES_CALENDAR":"Keep track of everything you watch","WEBSITE_FEATURES_CALENDAR_P1":"Get a calendar visualization of all the movies and series you add to your library. Export your Stremio calendar and sync it so you always know when a new episode or a premier is due.","WEBSITE_FEATURES_BIG_SCREEN":"Enjoy your video content on a bigger screen","WEBSITE_FEATURES_BIG_SCREEN_P1":"Cast whatever you are watching to another device - be it a phone, tablet or a TV with a single click.","WEBSITE_FEATURES_SOURCES":"Watch video from many different sources","WEBSITE_FEATURES_SOURCES_P":"Install official and community addons to enjoy video sourced from many different providers - all in one sleek, easy to use app.","WEBSITE_CREATE_AN_ADDON":"Create an addon","WEBSITE_FEATURES_SYNC":"Sync your library across different devices and resume your playback","WEBSITE_FEATURES_SYNC_P1":"Login with your account across all your devices and enjoy your library, addons, playback and calendar synchronized.","WEBSITE_FEATURES_EXTENDABLE":"Extendable video catalog by addons","WEBSITE_FEATURES_EXTENDABLE_P1":"The Stremio addon catalog provides a number of addons to install and watch a variety of video content from. This includes movies, shows, live TV, sport, news, podcasts, web channels, video games and more.","WEBSITE_FEATURES_AUTO_SUBS":"Automatic subtitles","WEBSITE_FEATURES_AUTO_SUBS_P1":"With our subtitle addons you get automatically selected options for your preferred language.","WEBSITE_FEATURES_CHROMECAST":"Casting to Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Enjoy your video content on a bigger screen or just cast whatever you are watching to another device.","WEBSITE_FEATURES_KEEP_TRACK":"Keep track of your favorite TV shows and Web channels","WEBSITE_FEATURES_KEEP_TRACK_P1":"Get a calendar visualization and notifications for new episodes of your favorite series and web channels.","WEBSITE_FEATURES_POWER_USER":"Power user features","WEBSITE_FEATURES_POWER_USER_P1":"Play in external player","WEBSITE_FEATURES_POWER_USER_P2":"Play from a torrent file or magnet link","WEBSITE_FEATURES_POWER_USER_P3":"Import to your library from Facebook likes or local disk","WEBSITE_ADD_ONS":"Addons","WEBSITE_ADD_ONS_P1":"All of the video content Stremio provides get sourced through an addon system - no content or content provider has been built into the app.","WEBSITE_ADD_ONS_P2":"There are two groups of addons available: official and community addons.","WEBSITE_ADD_ONS_P3":"The official ones are developed and hosted by Stremio, whereas community addons are created by our community members, who also host them.","WEBSITE_ADDONS_OFFICIAL":"Official addons","WEBSITE_ADDONS_WATCHUB":"Stream your favourite movies, series and shows from providers like iTunes, Hulu, Amazon and other UK/US services.","WEBSITE_ADDONS_YOUTUBE":"Watch your favourite YouTube channels ad-free and get notifications for new uploads from the contributors you follow.","WEBSITE_ADDONS_FILMON":"Watch live TV, movies and social television for free. 600 TV channels, 45,000 free movies, documentaries and more.","WEBSITE_ADDONS_OPENSUBTITLES":"Movie and TV subtitles in multiple languages, thousands of translated subtitles uploaded every day.","WEBSITE_ADDONS_COMMUNITY":"Community addons","WEBSITE_ADDONS_FILMON_VOD":"Watch video on demand from Filmon.tv","WEBSITE_ADDONS_TWICH":"Watch live streams from Twitch.tv - a video streaming platform for the e-sports industry.","WEBSITE_ADDONS_VODO":"Watch indie movies absolutely free of charge.","WEBSITE_ADDONS_NETFLIX":"Watch Netflix movies and web series.","WEBSITE_ADDONS_CREATE":"Create an addon","WEBSITE_ADDONS_CREATE_P1":"If you wish, you can develop your own addon. This way, you can give yourself and our community access to new video content, and reach a new, targeted audience of millions of users around the world.","WEBSITE_ADDONS_START_CREATE":"To get started, visit the Stremio Addon SDK page:","WEBSITE_DOWNLOADS":"Downloads","WEBSITE_DOWNLOADS_P1":"For optimal performance, we recommend that you use the latest available version of the Stremio apps. If for some reason, however, you would like to use an older version, you can download it here.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio for Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio for macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio for Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio for Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio for iOS (limited version)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"The Stremio platform is open source and you can easily create an addon for content that is currently not sourced.","WEBSITE_CONTRIBUTE_WHY":"Why should you create an addon?","WEBSITE_CONTRIBUTE_WHY_P1":"Reach new audience for your video content","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio’s user base is growing rapidly - within the first year of the launch, Stremio had gained 1 million users around the world, and in the second year of the platform’s existence this number grew to 2.5 million.","WEBSITE_CONTRIBUTE_WHY_P3":"With your addon, you can easily reach this audience and distribute your video content to them.","WEBSITE_CONTRIBUTE_ALL":"Watch your favourite movies, videos, series and channels in one single place.","WEBSITE_CONTRIBUTE_ALL_P1":"You’re a fan of a particular type of content not available on Stremio yet? Create an addon for it and enjoy watching your favourite videos in one of the largest and easiest to use entertainment hubs on the market.","WEBSITE_CONTRIBUTE_ALL_P2":"On top of that, you’ll get the endless gratitude of other like-minded Stremio community members.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetize your addon and earn money with its help","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Once you develop a new addon for Stremio, you can easily monetize it through a number of different ways. If you are considering this, feel free to get in touch with us at ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - we would be happy to consult and advise you about addon monetization options.","WEBSITE_CONTRIBUTE_TRANSLATE":"Become a volunteer translator","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"If you want to enjoy the Stremio apps in different languages, you can join our community of volunteer translators. They help us add versions of the Stremio in many different languages.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Are you eager to get started?","WEBSITE_TRANSALTE_STREMIO":"Translate Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Official communities","WEBSITE_COMMUNITY_OFFICIALS_P1":"Become a part of the growing Stremio community. Follow us on social media and don’t be shy to say hello - we love hearing from our fans! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Unofficial communities","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partners and supporters","WEBSITE_COMMUNITY_GOODIES":"Stremio goodies","WEBSITE_COMMUNITY_WALLPAPERS":"Wallpapers","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"Contact us","WEBSITE_CONTACT_US_P1":"If you have any questions, comments or suggestions, feel free to get in touch with us through the contact form below.","WEBSITE_CONTACT_US_P2":"Keep in mind that we are located in Bulgaria so there may be a delay in addressing your query due to time zone differences.","WEBSITE_CONTACT_US_SUCCESS":"Your message has been sent. We will get back to you at our earliest convenience.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Please enter a valid email!","WEBSITE_CONTACT_US_Q_RELATED_TO":"What is your question related to?","WEBSITE_CONTACT_US_Q_OS":"What is your Operation System?","WEBSITE_CONTACT_US_PH_EMAIL":"Your E-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Message","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"SEND","WEBSITE_CONTACT_US_Q_1":"How to install?","WEBSITE_CONTACT_US_Q_2":"How to uninstall?","WEBSITE_CONTACT_US_Q_3":"(HTML) How to make lasagna?","WEBSITE_CONTACT_US_Q_4":"Addons","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Technology","WEBSITE_TECHNOLOGY_P1":"We love technology and mad science. </br> Here is what powers Stremio (it’s all open-source).","WEBSITE_TECHNOLOGY_P_QT":"Cross-platform software development at its best.","WEBSITE_TECHNOLOGY_P_MPV":"A free, open source, and cross-platform media player.","WEBSITE_TECHNOLOGY_P_RN":"React Native lets you build mobile apps using only JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework embedded into application to get multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm is a mobile platform and a replacement for SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js is an open-source, cross-platform, JavaScript runtime environment.","WEBSITE_TECHNOLOGY_P_RUST":"Rust is a multi-paradigm system programming language focused on safety, especially safe concurrency.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribute to the project","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"There are two ways you can contribute to Stremio and help us make the product even better.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"You can donate your valuable language skills by translating the platform...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"or","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... you can employ your coding skills for creating community addons. ","WEBSITE_TRANSLATE_STREMIO":"Translate Stremio","WEBSITE_404_OH_NO":"Uh-oh! The page you’re looking for is not here...","WEBSITE_GO_HOME":"Go home","WEBSITE_LINK_OTHER_DOWNLOADS":"Other downloads","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Support","WEBSITE_DOWNLOAD_4_0_BETA":"Download Stremio 4 beta Now","WEBSITE_GET_FOR_DESKTOP":"Get for desktop","WEBSITE_LINK_ADDON_COMPETITION":"Addon competition","WEBSITE_LINK_ART_CONTEST":"Art contest","WEBSITE_MY_ACCOUNT":"My account","WEBSITE_MAINPAGE_FAQ_001_H1":"What is Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio is a modern media center that gives you the freedom to watch everything you want.","WEBSITE_MAINPAGE_FAQ_002_H1":"How does it work?","WEBSITE_MAINPAGE_FAQ_002_P1":"Once you install Stremio on your device and create an account, all you have to do is to visit the addon catalog and install any addon you want, and you\'re good to go!","WEBSITE_MAINPAGE_FAQ_002_P2":"After that, you can go to the Discover or Board sections to start exploring content.","WEBSITE_MAINPAGE_FAQ_003_H1":"What can I watch here?","WEBSITE_MAINPAGE_FAQ_003_P1":"A lot: Movies, TV shows, Web channels, Sport, TV channels, listen to Podcasts and more. Thanks to our addon system, you can access a variety of content.","WEBSITE_MAINPAGE_FAQ_004_H1":"Is Stremio open-source?","WEBSITE_MAINPAGE_FAQ_004_P1":"Yes, you can check the following links: ${1}desktop app${2} and ${3}GitHub organization${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Is Stremio safe?","WEBSITE_MAINPAGE_FAQ_005_P1":"Yes: because it is open-source software, the code is publically auditable and you can review it yourself.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"How about my privacy?","WEBSITE_MAINPAGE_FAQ_006_P1":"We respect users\' privacy and do not collect any personal data besides the essential minimum to create and sync your account.","WEBSITE_MAINPAGE_FAQ_006_P2":"There is also a ${1}Guest mode${2} at signup, which requires no data whatsoever: in this mode, no calls are made to our backend. However, it comes at the expense of useful features, such as being able to sync your library across devices.","WEBSITE_MAINPAGE_FAQ_007_H1":"Can I cast to my TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Yes, we support Chromecast and you can cast both from desktop and mobile apps (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"How many addons does Stremio have?","WEBSITE_MAINPAGE_FAQ_008_P1":"As of late 2019, over 50 - for more information, check our addon catalog.","WEBSITE_MAINPAGE_FAQ_009_H1":"Can Stremio be extended beyond what\'s in the addon catalog?","WEBSITE_MAINPAGE_FAQ_009_P1":"Yes, you should check those: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"What devices does Stremio support?","WEBSITE_MAINPAGE_FAQ_010_P1":"We have desktop apps for Windows, Mac and Linux. For mobile, we support Android and iOS, although keep in mind that the iOS is limited in functionality (does not support most addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"There are many Android-based devices which you can run Stremio on, like NVIDIA Shield and Amazon Fire Stick, but we do not support them officially.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Can you add certain content to Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Sorry, we provide no content ourselves, but the more Stremio addons you have installed, the more content you will be able to find.","WEBSITE_MAINPAGE_FAQ_012_H1":"Can Stremio play magnet links?","WEBSITE_MAINPAGE_FAQ_012_P1":"Yes, and it can also play normal HTTP links and torrent files (drag and drop).","WEBSITE_MAINPAGE_FAQ_013_H1":"Can I download a video and watch offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Available offline is an upcoming feature, but if you allow Stremio to cache on your device (from the settings panel) you can watch the videos later without a connection.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nothing works, help me!","WEBSITE_MAINPAGE_FAQ_014_P1":"Are you sure you have installed addons? If yes, check with our ${1}help center${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"How does Stremio sustain it\'s development operations?","WEBSITE_MAINPAGE_FAQ_015_P1":"We run non-intrusive ads occassionally, but we\'re considering moving to a donation model.","WEBSITE_MAINPAGE_FAQ_015_P2":"For more questions, go to our ${1}help center${2}.","HELP_LEARN_MORE":"Help us learn more about you.","LIFESTYLE":"Lifestyle","SPORTS":"Sports","FOOD_HEALTH":"Food & health","BEAUTY_FASHION":"Beauty & Fashion","NEWS":"News","GAMING":"Gaming","SCIENCE_EDUCATION":"Science & education","MUSIC":"Music","TRAVEL":"Travel","LATE_NIGHT":"Late Night","REALITY":"Reality","COMEDY":"Comedy","DIY":"How to DIY","TECH":"Tech","CINEMA":"Cinema","CONTINUE":"Continue","SLOW_LOADING":"SLOW LOADING?","I_GIVE_UP":"I GIVE UP","LEARN_MORE":"Learn more","POOR_SOURCE":"This source is poorly available or your internet connection is not fast enough","PICK_CATEGORIES_ERR":"You have to pick at least 3 categories","ADJUST_TIMING":"Adjust timing with ","ADJUST_SIZE":"Adjust size with ","SEARCH_ANYTHING":"You Can Search Anything...","ALL_CATEGORIES":"All","SEARCH_CATEGORIES":"Movies, Series, YouTube & TV","SEARCH_PERSONS":"Actors, Directors & Writers","SEARCH_PROTOCOLS":"HTTP & Magnet Links","SEARCH_TYPES":"IMDB / TVDB links","WATCHED":"Watched","SHOW_LESS":"Show less","LAST_SEARCHES":"Last searches","CLEAR_HISTORY":"Clear history","CHOOSE_SOME":"CHOOSE SOME OF THIS:","NO_WEB_REMOTE":"Web Remote could not be loaded","STREMIO_OFFLINE":"Stremio is offline","STREMIO_EXPENSIVE_CONNECTION":"We\'ve detected that you are using a mobile data connection, do you want to continue?","USE_DATA":"Use data","WARNING":"Warning","MORE_INFO":"More Info ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Loading ...","STREMIO_TV_BACK_TO_LANGUAGES":"Back to languages","STREMIO_TV_REMOTE":"Remote","STREMIO_TV_GO_TO":"Go to:","STREMIO_TV_OR_SCAN":"or scan:","STREMIO_TV_ADDON_INSTRUCTIONS":"Please follow the instructions in order to install your preferred addons.","STREMIO_TV_LIVE_TV":"Live TV","STREMIO_TV_RESUME_WATCHING":"Resume Watching","STREMIO_TV_LOADING_BACKGROUND":"Loading Background","STREMIO_TV_CHECKING_AUTHENTICATION":"Checking Authentication","STREMIO_TV_LOADING_BOARD":"Loading Board","STREMIO_TV_LOGIN_HEADER_LINE_1":"We want our users to have the best possible personalized experience with our software.","STREMIO_TV_LOGIN_HEADER_LINE_2":"It is for this reason that we kindly ask you to make and/or login to your account.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Thank you for understanding,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"The Stremio Team","STREMIO_TV_REMOTE_INSTRUCTIONS":"In order to use the Web Remote with your Smartphone / Tablet / Desktop:","STREMIO_TV_WIFI_SETUP":"Wi-Fi Setup","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle did not detect a internet connection.","STREMIO_TV_WIFI_DETAILS_1":"Connect to:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Use password:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Open a web browser with the link:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Default","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"By Last Watched","STREMIO_TV_LIBRARY_SORT_NAME":"By Name","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"By Times Watched","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Season ${1}","STREMIO_TV_STREAMS_LOADING":"Loaded ${1} / ${2} addons...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} addon is still loading...","STREMIO_TV_PLAYER_SETTINGS":"Player settings","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Subtitles delay","STREMIO_TV_PLAYER_AUDIO_DELAY":"Audio delay","STREMIO_TV_PLAYER_VIDEO_SCALING":"Video scaling","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Unsupported stream source","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Failed opening external link","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Not adjustable in audio passthrough mode","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Play with ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Play with libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Switching to libVLC player due to a playback error","STREMIO_TV_ADDONS_TITLE":"Use Stremio on your Phone or PC to install or configure addons and press \\"Sync Addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Note: make sure you are using the same Stremio account","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sync Addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons successfully synchronized","STREMIO_TV_ADDONS_SYNC_FAILED":"Failed to synchronize addons","STREMIO_TV_META_LINK_FAILED":"Failed opening meta link","STREMIO_TV_CATALOG_LOADING":"Catalog still loading...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Interface language updated","STREMIO_TV_SETTINGS_THEME_UPDATED":"Theme updated","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Default Player","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"External Player","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferred Language","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Secondary Preferred Language","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possible playback issues on some devices","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Some video formats might not work","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"No caching","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Default","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Soft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Fast","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Fast","STREMIO_TV_SETTINGS_SERVER_URL":"Streaming server url","STREMIO_TV_SETTINGS_SERVER_VERSION":"Server version","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Unknown","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio version","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Edit server url","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Enter a streaming server url","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Show statistics while loading","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"To read Stremio\'s Privacy Policy, visit:","STREMIO_TV_SETTINGS_TOS_TEXT":"To read Stremio\'s Terms and Conditions, visit:","STREMIO_TV_NAV_SEARCH":"Search","STREMIO_TV_NAV_HOME":"Home","STREMIO_TV_NAV_DISCOVER":"Discover","STREMIO_TV_NAV_LIBRARY":"Library","STREMIO_TV_NAV_MOVIES":"Movies","STREMIO_TV_NAV_SERIES":"Series","STREMIO_TV_NAV_CHANNELS":"Channels","STREMIO_TV_NAV_TV":"Live TV","STREMIO_TV_NAV_SETTINGS":"Settings","STREMIO_TV_NAV_ADDONS":"Addons","STREMIO_TV_LOGIN_TITLE":"Link Account","STREMIO_TV_LOGIN_EXPIRES_IN":"Expires in","STREMIO_TV_LOGIN_STEP_ONE":"Scan QR Code above or go to","STREMIO_TV_LOGIN_STEP_TWO":"Log in to your Stremio account","STREMIO_TV_LOGIN_NEW_LINK":"Request a new link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Login code refreshed","STREMIO_TV_SEARCH_PLACEHOLDER":"Type something","STREMIO_TV_SEARCH_NO_ADDONS":"No addons were requested for catalogs!","STREMIO_TV_SEARCH_BUTTON":"Search","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Search History","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"You can search for Titles, Actors, Channels and more...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Clear Search History","STREMIO_TV_FILTERS_DESCRIPTION":"Choose from one of the filters below","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"Filters","SETTINGS":"Settings","ACCOUNT":"Account","LOGOUT":"Logout","THEMES":"Themes","PLAYBACK":"Playback","PLAYBACK_SPEED":"Playback Speed","AUDIO_TRACKS":"Audio Tracks","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Videos","SERVER":"Server","LINKS":"Links","ABOUT":"About","INTERFACE":"Interface","ANIMATIONS":"Animations","STATUS":"Status","LANGUAGE":"Language","SIZE":"Size","DELAY":"Delay","BOLD":"Bold","OPACITY":"Opacity","TEXT_COLOR":"Text Color","OUTLINE_COLOR":"Outline Color","BACKGROUND_COLOR":"Background Color","BACKGROUND_BLUR":"Background Blur","SEEK_TIME_DURATION":"Seek Time Duration","AUTO_PLAY":"Auto-Play Next Episode","PLAY_NOW":"Play Now","MARK_AS_WATCHED":"Mark as Watched","MARK_AS_UNWATCHED":"Mark as Unwatched","REWIND_TO_BEGINNING":"Rewind to Beginning","CONTINUE_WATCHING":"Continue Watching","ALL":"All","SECONDS":"seconds","ON":"ON","OFF":"OFF","RELOAD":"Reload","EDIT_URL":"Edit URL","NONE":"None","EMBEDDED":"Embedded","REMOTE_SWITCH_DEVICES":"Switch Devices","REMOTE_VIDEOS":"Videos","REMOTE_ADJUST_TIMING":"Adjust timing","REMOTE_ADJUST_SIZE":"Adjust size","REMOTE_COULD_NOT_BE_LOADED":"Web Remote could not be loaded","REMOTE_RETRY":"Retry","TORRENT_PROFILE_DEFAULT":"Default","TORRENT_PROFILE_SOFT":"Soft","TORRENT_PROFILE_FAST":"Fast","TORRENT_PROFILE_ULTRA_FAST":"Ultra Fast","FAQ_001_H1":"What is Stremio?","FAQ_001_P1":"Stremio is a media center software designed for video entertainment with ease of use in mind. Stremio allows you to organize &amp; watch your own collection of movies, series, channels and live TV.","FAQ_001_P2":"Stremio collect the content it shows you from your local disk and our addons system.","FAQ_001_P3":"It will also notify you when new episodes/videos/movies you\'re interested in come out, and provide movie recommendations for you.","FAQ_02_H1":"How does Stremio compare to Kodi and Plex?","FAQ_02_P1":"We are inspired by those two pieces of software. But we have different goals - Stremio is specifically targeted towards entertainment video, and strives to become the mainstream solution for that by being very easy to use.","FAQ_02_P2":"Stremio will never be as customizable and feature-rich as Kodi and Plex, but it is significantly easier to use. Just ${1} get it and see ${2} :)","FAQ_03_H1":"How does Stremio compare to Netflix?","FAQ_03_P1":"Again, Netflix is one of our inspirations. We strive to achieve the user experience of Netflix, plus a lot of added goodies. But most importantly, we\'re giving you the freedom to manage your own library and add new content sources with our addon system.","FAQ_03_P2":"That makes Stremio infinitely extendable, so when you use Stremio, you\'re never limited to the content Netflix decides to license. For example, through Stremio you can watch content from ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} and even ${9}Netflix${10} itself!","FAQ_04_H1":"How does Stremio compare to Flipboard?","FAQ_04_P1":"We don’t get that question that often, except when talking to start-up people :)","FAQ_04_P2":"Stremio is by design a content aggregator, which essentially makes it Flipboard for video. This is very apparent in our Board section, which gives you catalogues and new episode/new video notifications for what you follow, just like Flipboard.","FAQ_05_H1":"How does Stremio compare to Popcorn Time?","FAQ_05_P1":"Stremio and Popcorn Time are similar in user interface, because there aren’t many ways to do video entertainment catalogues right :)","FAQ_05_P2":"But while Popcorn Time is focused on streaming torrents from specific sources, Stremio is unrestricted and is merely a content aggregator - it’s not locked into a specific content source.","FAQ_05_P3":"Furthermore, we do not provide any torrent addons by default, so Stremio does not cover the Popcorn Time use-case with official functionality.","FAQ_05_P4":"Another notable difference is that Popcorn Time is completely open source, while Stremio is ${1} partially open source${2}.","FAQ_06_H1":"Will you add this movie/series?","FAQ_06_P1":"No, sorry :(","FAQ_06_P2":"As is mentioned in most of the other questions, Stremio does not provide any content by itself - everything is added through the addons system. In case you have a content request, you can use the “Report” button in the Player, which will send an email to the author of the addon you’re currently using.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Will you create addon for X?","FAQ_08_P1":"It\'s entirely possible.","FAQ_08_P2":"If you have an idea for an addon, drop us a line at ${1}office@stremio.com${2}, but please make sure your addon idea will not infringe on any copyrights or terms of use.","FAQ_08_P3":"At the moment, the next things on our roadmap are addons for FandangoNOW, Filmon.tv video on demand and Crunchyroll.","FAQ_09_H1":"Does Stremio use BitTorrent?","FAQ_09_P1":"Yes, Stremio supports BitTorrent as a streaming protocol. You can use that either with a torrent addon, or by drag-and-dropping a .torrent file into Stremio, or by pasting a magnet link into the Search Bar.","FAQ_09_P2":"Please note that the only official addon using BitTorrent is ${1}Vodo${2}, which provides indie content, all permitted to be distributed with BitTorrent.","FAQ_09_P3":"We do not support use of any third-party addons which may enable copyright infringement.","FAQ_10_H1":"What can I watch in Stremio with the official addons?","FAQ_10_P1":"By default, you can watch Filmon.tv, YouTube and Vodo content within Stremio itself, with it’s embedded player. Additionally, we have an addon for Twitch.tv and a few others.","FAQ_10_P2":"This combined provides a selection of:","FAQ_10_L1":"Popular TV channels, provided by Filmon.tv - for example E4, BBC, Bollyworld TV","FAQ_10_L2":"Everything from YouTube - for example BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indie movies with Vodo","FAQ_10_L4":"Online gaming broadcasts with Twitch.tv","FAQ_10_P3":"Additionally, there are many content sources provided with Guidebox and the Netflix addons, which <b>do not</b> play entirely inside Stremio, but would redirect to the given service. For example, the Guidebox addon would give you a selection of movies you can stream in the US for free, from services like TubiTV and Crackle.","FAQ_11_H1":"Stremio won\'t install, what should I do?","FAQ_11_P1":"If you\'re on Windows, try ${1}this alternative installer${2}.","FAQ_11_P2":"If you\'re on Mac OS X, please be aware that we don\'t support anything older than OS X Mavericks (10.9).","FAQ_11_P3":"If you\'re on Linux, be aware that we only support 64 bit (x64) Linux at the moment.","FAQ_11_P4":"If you still can\'t resolve your problem, please write us at our ${1}Facebook group${2}.","FAQ_12_H1":"Why does my anti-virus complain? Is Stremio safe?","FAQ_12_P1":"We assure you Stremio is ${1}100% clean${2}.","FAQ_12_P2":"Your antivirus is complaining because we include advertising in our installer, which some anti-virus programs recognize as ad-ware.","FAQ_12_P3":"If you\'re still unsure, you can try our ${1}alternative installer${2}.","FAQ_13_H1":"How can I make an addon?","FAQ_13_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_13_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_13_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_14_H1":"How are addons published?","FAQ_14_P1":"When you create an addon and host, and put a <b>endpoint</b> field in your manifest, which points to a working addon address, the addon will automatically publish itself to our ${1}Addon catalogue${2}.","FAQ_14_P2":"This happens because the server part of the stremio-addons module automatically makes a call to our API to announce the addon. When our API validates your <b>endpoint</b> as a valid addon, it will start showing in the catalogue.","FAQ_15_H1":"Can I run Stremio in my browser?","FAQ_15_P1":"Not at the moment, but this is coming!","FAQ_15_P2":"If you\'re curious to see an Alpha, you can see it here: ${1}alpha4.strem.io${2}. Keep in mind streaming is disabled on this alpha. We support Chrome, Firefox, Opera and Edge.","FAQ_16_H1":"Casting to TV doesn\'t work / subtitles don\'t work","FAQ_16_P1":"Casting to TV uses the DLNA technology which is very inconsistent between different TV brands and models. For that reason, we do not have the ability to test it in every case, so it\'s far from perfect. Despite this, we\'re working on improving it constantly but we cannot give you a time estimate on when DLNA will start working properly with your TV.","FAQ_16_P2":"If you don\'t even see your TV in the casting menu, please try disabling your network connection and re-enabling it (on Windows, right click the Network and use Enable/Disable), as well as restarting your router, TV and PC.","FAQ_16_P3":"If you are still encountering issues, you can help us by sending your TV brand and model information at ${1}office@stremio.com${2}.","FAQ_16_P4":"In the meantime, we recommend Chromecast, which we support very well, or simply plugging in your TV to your PC with an HDMI cable.","FAQ_17_H1":"Stremio freezes and/or crashes, what can I do?","FAQ_17_P1":"First of all, if you\'re using Windows 7 with AVG anti-virus: we have a problem with that combination. The problem is in AVG itself, and there\'s no reasonable way to resolve it on our end. Unfortunately, exceptions or disabling the anti-virus won\'t work. The only solution is to replace AVG with something else.","FAQ_17_P2":"If that\'s not the issue, but you\'re still using Windows, please update to the latest service pack and update/re-install your GPU drivers, then try again.","FAQ_17_P3":"If you\'re problem is still not resolved, or you\'re using a Mac or Linux, please write us reporting the exact details of the problem at ${1}our Facebook group${2}.","FAQ_18_H1":"How can I make an addon?","FAQ_18_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_18_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_18_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_19_H1":"Why is Stremio taking disk space?","FAQ_19_P1":"Stremio has a <b>local cache</b> to temporarily keep the video files you stream.","FAQ_19_P2":"This has two benefits: first, it allows Stremio to pre-buffer the video ahead so as to ensure smoother streaming. Second, it keeps the videos in the local cache so you can continue watching them offline.","FAQ_19_P3":"How much Stremio keeps depends on the <b>Cache</b> setting in the Settings panel. Stremio may keep up to the set amount (e.g. 2GB) on your disk, unless the currently streamed video is larger than that, in which case it has to allocate enough storage to keep it until you\'re streaming it.","FAQ_20_H1":"Where is the cache folder?","FAQ_20_P1":"On Windows, it\'s stremio-cache in the drive you picked in Settings (e.g. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"On MacOS, it\'s \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"On Linux, it\'s \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"I get \\"Streaming server is not found\\" error, what can I do?","FAQ_21_P1":"If you get this error, it means one of few things:","FAQ_21_P2":"1) You are trying to use an addon backed by YouTube/BitTorrent source, through our ${1}web version${2}. In this case, you should install our desktop version from ${3}our website${4}.","FAQ_21_P3":"2) Something is wrong with your Stremio installation. In this case, try re-installing our latest desktop version from ${1}the website${2}. If this does not help, try disabling anti-virus programs and firewalls, restarting your PC and trying again. If this does not work too, please write us at our ${3}our Facebook group${4}.","FAQ_22_H1":"I cannot see/use most addons on iOS","FAQ_22_P1":"Because of restrictions in the Apple App Store terms and conditions, we have restricted the iOS application only to a particular set of addons.","FAQ_22_P2":"But rest assured - there will be more addons for iOS in the future, and we may also add an integration that will allow you to use all Stremio addons thanks to connecting the iOS app to the Stremio Streaming Server."}')},52963:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Филм","TYPE_series":"Серија","TYPE_tv":"ТВ канал","TYPE_channel":"Канал","TYPE_other":"Остало","TYPE_movie_PL":"Филмови","TYPE_series_PL":"Серије","TYPE_tv_PL":"ТВ канали","TYPE_channel_PL":"Канали","TYPE_other_PL":"Остало","TYPE_ALL":"Све","TYPE":"Врста","CATALOG_com_linvo_cinemeta_top":"Популарно","CATALOG_com_linvo_cinemeta_imdbRating":"Истакнуто","CATALOG_com_linvo_cinemeta_year":"Ново","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Филмови у јавном власништву","VIDEO":"Видео снимак","BACK":"Назад","MORE":"Више","DONE":"Готово","COPY":"Копирај","SUCCESS":"Успешно","ERROR":"Грешка","SETTINGS_CASTING_MODE_PICKER":"Режим пребацивања","CASTING_MODE_HLSV2":"Подразумевано","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Нема транскодирања","Discover":"Откриј","Board":"Табла","Library":"Збирка","My Library":"Моја збирка","Calendar":"Календар","NOTIFICATION_ONLINE":"Сада сте онлајн","NOTIFICATION_OFFLINE":"Тренутно сте офлајн","INTERNET_CONNECTION":"Мрежна веза","STORAGE_FULL_TITLE":"Упозорење: Меморија је пуна!","STORAGE_FULL_TEXT":"Stremio неће моћи да сачува ваша подешавања, преференце или информације за пријаву. Размислите о рестартовању или поновној инсталацији апликације Stremio.","SEARCH":"претрага","SEARCH_NO_RESULTS":"Нису пронађени резултати","SEARCH_EXPLANATION_CONTENT":"Претражите филмове, серије, YouTube и ТВ канале ","SEARCH_EXPLANATION_PEOPLE":"Претражите глумце, режисере и писце","SEARCH_PASTE_LINKS":"Налепите HTTP и магнет линкове","SEARCH_OR_PASTE_LINK":"Претражите или налепите линк","SEARCH_SUGGESTIONS":"Предлози за претрагу","ADD_TO_LIB":"Додај у збирку","REMOVE_FROM_LIB":"Уклони из збирке","ADDED_TO_LIB":"Додато у збирку","REMOVED_FROM_LIB":"Уклоњено из збирке","TRAILER":"Трејлер","WATCH_TRAILER":"Погледај трејлер","WATCH_NOW":"Погледај сада","SHOW":"Прикажи","SHOW_MOVIE":"Прикажи филм","WATCH_RANDOM":"Погледај насумично","IMDB_RATING":"IMDb оцена","YEAR":"Година","DIRECTOR":"Режисер","WRITER":"Писац","LEAD_ACTORS":"Главни глумци","CAST":"Глумци","CREW":"Екипа","SHOW_MORE_CAST":"Прикажи више »","AIRED":"Емитовано ","SEASONS":"Сезоне","GENRE":"Жанр","GENRE_ALL":"Сви жанрови","CATALOG":"Каталог","SUMMARY":"Резиме","SHOW_MORE":"Прикажи више","SIMILAR":"Слично","UPCOMING":"Предстојеће","ENDED":"Завршено","DURATION":"Трајање","FEATURED":"Истакнуто","METADATA":"Метаподаци","CATEGORY":"категорија","LINKS_GENRES":"Жанрови","LINKS_CAST":"Глумци","LINKS_DIRECTORS":"Режисери","SEARCH_VIDEOS":"претражите видео снимке","SEARCH_PLACEHOLDER":"претражите или налепите URL","ADDON":"додатак","ADDONS":"Додаци","OFFICIAL":"званично","ADDONS_OFFICIAL":"Званични Stremio додаци","ADDONS_POPULAR":"Популарно у вашој области","ADDON_FREE":"бесплатно","ADDON_PEERED":"peer-овано","ADDON_SUBSCRIPTION":"претплата","ADDON_STREAM_GEORESTRICTED":"није доступно у вашој области","ADDON_STREAM_OFFLINECACHE":"Офлајн кеш","ADDON_STREAM_LOCALFILE":"Локални фајл","SHARE_ADDON":"Дели додатак","AVAILABLE_STREAMS":"Доступни стримови","NO_STREAM":"Нису пронађени стримови","ALL_ADDONS":"Све","INSTALL_MORE_ADDONS":"За више стримова, инсталирајте још додатака","STREAM_NOT_SUPPORTED":"Изабрани стрим није подржан на овој платформи.","ADDON_CATALOGUE":"Прикажи све додатке »","ADDON_CATALOGUE_MORE":"Инсталирај додатке","REPO_ADDED":"Репозиторијум је додат","ADDON_REPO_EXIST_ERR":"Ова колекција додатака већ постоји","ADDON_REPO_ERR":"Дошло је до грешке приликом додавања колекције","ADDON_ADD_ERR":"Дошло је до грешке приликом додавања додатка","ERR_ADDON_PROTECTED":"Није могуће деинсталирати додатак, заштићен је","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Дошло је до грешке – аутентификација можда није успела","ERR_NOT_COLLECTION_URL":"Није URL колекције","ERR_NOT_ADDON_URL":"Није важећи URL додатка","ERR_DETECTFROMURL":"Није могуће пронаћи додатак/колекцију са овог URL-а ","ADDON_DUPLICATE_WARNING":"Упозорење: дуплирани додатак","ADDON_COLLECTION_SET_FAILED":"Синхронизација инсталираних додатака са вашим налогом није успела","SETTINGS_DATA_EXPORT":"Извези корисничке податке","ADDON_PULL_FAILED":"Синхронизација инсталираних додатака са вашег налога није успела","REFRESH_ON_CLICK":"Кликните да бисте покушали поново","STILL_IN_THEATER":"Филм се још увек приказује у биоскопима","WATCH_IN_CINEMA":"Гледајте у свом локалном биоскопу","IN_THEATER":"У биоскопу","GET_TICKETS":"Набавите карте","UPCOMING_EPISODE":"Предстојећа епизода","UPCOMING_EPISODE_MESSAGE":"Ова епизода ће бити емитована","MISSING_DATE_EPISODE":"Недостаје датум епизоде","MISSING_DATE_EPISODE_MESSAGE":"Ова епизода можда још није емитована ","CHANNEL_NOT_SCRAPED":"Овај канал још није преписан.<br> Вратите се за неколико минута.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Додајте га у своју збирку да бисте добили обавештење када буде доступан.","GET_NOTIFIED_WHEN_AVAILABLE":"Бићете обавештени када буде доступан.","WARNING_STREAMING_SERVER":"Упозорење: локални сервер за стримовање није пронађен. Стримовање из локалних фајлова, YouTube-а и BitTorrent-а неће бити доступно.","WARNING_STREAMING_SERVER_DISMISS":"Одбаци","WARNING_STREAMING_SERVER_LATER":"Касније","DECODER_WARNING":"Упозорење: овај видео снимак можда не подржава ваш хардвер. Имајте на уму да репродукција може бити спора.","GENERIC_ERROR_MESSAGE":"Дошло је до грешке!","TRY_AGAIN":"Покушај поново","CLEAR_DATA":"Очисти податке","PLAYER_ERROR":"Упс, грешка плејера","PLAYER_ERROR_LOOKSLIKE":"Изгледа да","PLAYER_ORIENTATION":"Оријентација плејера","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Закључано","PLAYER_ORIENTATION_SENSOR_SHORT":"Сензор","PLAYER_ORIENTATION_LANDSCAPE":"Оријентација плејера закључана у водоравном положају","PLAYER_ORIENTATION_SENSOR":"Аутоматска оријентација плејера (сензор)","PLAYER_PLAYBACK_SPEED":"Брзина репродукције","PLAYER_PLAYBACK_ERROR":"Грешка при репродукцији, покушајте поново","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Непозната грешка","PLAYER_PLAYBACK_ERROR_DEFAULT":"Жао нам је, {{productName}} не може да пусти овај видео снимак.","PLAYER_SUBTITLES_LANGUAGES":"Титлови језика","PLAYER_SUBTITLES_VARIANTS":"Варијанте титлова","PLAYER_SUBTITLES_SETTINGS":"Подешавања титлова","PLAYER_SUBTITLES_DISABLED":"Титлови су онемогућени","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Усправни положај","PLAYER_SUBTITLES_LOADED":"Титлови су учитани","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Уграђени титлови су учитани","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Ексклузивни титлови су учитани","PLAYER_SUBTITLES_LOADED_ORIGIN":"Учитани су титлови из {{origin}}","PLAYER_PLAY":"Пусти","PLAYER_PAUSE":"Паузирај","PLAYER_NEXT_VIDEO":"Следећи видео снимак","PLAYER_MUTE":"Искључи звук","PLAYER_UNMUTE":"Укључи звук","PLAYER_OPEN_IN_EXTERNAL":"Отвори у спољном плејеру","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Пусти на {{device}}","PLAYER_LIVE":"Уживо","PLAYER_NEXT_VIDEO_TITLE":"Следеће долази","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Одбаци","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Гледај сада","PLAYER_COPY_STREAM_SUCCESS":"Линк стрима је копиран у привремену меморију","PLAYER_COPY_STREAM_ERROR":"Копирање линка стрима није успело","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","STREAMING_FROM":"стримовање из","CASTING_TO":"Пребацивање на","NETWORK_STATUS":"Статус мреже","STREAM_SPEED":"Брзина стрима:","STREAM_BUFFERED":"Баферовано:","PEERS_INFO":"Информације о peer-у","PEERS_ACTIVE":"Активно:","PEERS_CONNECTED":"Повезано:","PEERS_WAITING":"Чекање:","TRANSCODING_WARNING":"Упозорење: транскодирање видео снимка.","STREAM_LOADING":"учитавање...","PLAYING_LOCAL":"пуштање из локалног фајла","PLAYING_CACHE":"пуштање из кеша","WRONG_SUBS":"Погрешни титлови?","ERR_SUBS_LOADING_TITLE":"Грешка при учитавању титлова","ERR_SUBS_LOADING":"Учитавање титлова није успело: ово може бити проблем са додатком који користите или са вашом мрежном везом","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Следећи додаци титлова нису успели","ERR_CASTING_UPDATE_TITLE":"Није могуће ажурирати информације о уређају за пребацивање: сервер за стримовање је можда офлајн","CHOOSE_DEVICE":"Избор уређаја за гледање","NO_CAST_DEVICES":"Нема доступних уређаја за пребацивање.","NO_SETTINGS":"Нема доступних подешавања.","PHONE_TABLET":"Телефон / Таблет","SUBTITLES":"Титлови","SUBTITLES_CHANGE":"Промените титлове за ","SUBTITLES_CHANGE_NONE":"Нема других титлова за овај језик, извините.","SUBTITLES_CHANGE_ACIVE":"Тренутно су титлови #{{subtitlesDialog.activeIdx + 1}} активирани. Кликните на „Настави” да бисте активирали титлове #{{subtitlesDialog.pickedIdx + 1}}. ","SUBTITLES_OR":"Алтернативно,","SUBTITLES_ADJUST_DELAY":"Подесите кашњење титлова:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Или користите тастере <span>G</span> / <span>H</span> током пуштања да бисте прилагодили.","SUBTITLES_ADJUST_DELAY_TIP":"САВЕТ: можете да користите тастере <span>G</span> / <span>H</span> током пуштања да бисте подесили.","SUBTITLES_DELAY":"Кашњење титлова:","SUBTITLES_LOADING":"Учитавање титлова...","SUBTITLES_UNAVAILABLE":"Нема доступних спољних титлова","SUBTITLES_DISABLED":"Онемогућено","EXTERNAL_PLAYER_DISABLED":"Онемогућено","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Дозволи бирање","EXTERNAL_PLAYER_HINT":"Савет: Постоји подешавање којим можете дозволити стално отварање са спољним плејером","DONT_SHOW_AGAIN":"Не приказуј поново","SERVICE_INSTALL":"Инсталирај","AUDIO":"Аудио","DEFAULT_LANGUAGE":"Подразумевани језик","DEFAULT_SECONDARY_LANGUAGE":"Подразумевани други језик","SEASON":"Сезона","EPISODE":"Епизода","EPISODE_ABBREVIATION":"ЕП","SPECIAL":"Специјал","SORT":"сортирање","SORT_BY":"Сортирати по","FILTER":"филтер","SORT_TRENDING":"у тренду","SORT_RECENT":"недавно","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"оцена","SORT_WATCHED":"одгледано","SORT_YEAR":"година","SELECT_TYPE":"Избор врсте","SELECT_SORT":"Избор сортирања","SELECT_CATALOG":"Избор каталога","SELECT_GENRE":"Избор жанра","SORT_LASTWATCHED":"По последњем гледању","SORT_NAME":"По имену","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"По броју гледања","SORT_NOTWATCHED":"неодгледано","New for You":"Ново за вас","New Episodes":"Нове епизоде","New Videos":"Нови видео снимци","Recommendations":"Препоруке","LIBRARY_RESUME":"Настави","LIBRARY_PLAY":"Пусти","LIBRARY_DETAILS":"Детаљи","LIBRARY_RESUME_DISMISS":"Одбаци","LIBRARY_CLEAR_PROGRESS":"Очисти напредак","LIBRARY_REMOVE":"Уклони","LIBRARY_NOT_LOGGED_IN":"Збирка је доступна само пријављеним корисницима","CALENDAR_NOT_LOGGED_IN":"Календар је доступан само пријављеним корисницима","NOT_LOGGED_IN_CLOUD":"Приступите својим омиљеним филмовима и серијама било када, било где","NOT_LOGGED_IN_RECOMMENDATIONS":"Препоруке прилагођене вашој историји гледања","NOT_LOGGED_IN_NOTIFICATIONS":"Никада више не пропустите ниједну епизоду","NOT_LOGGED_IN_CALENDAR":"Закажите свој лични календар гледања","DISCOVER_FEATURED":"Истакнуто","DISCOVER_TOP":"Топ","DISCOVER_OSCAR":"Добитници Оскара","DISCOVER_WARNING_TITLE":"Упс!","DISCOVER_EMPTY_CATALOG":"Овај додатак је вратио празан садржај.","DISCOVER_ADULT_WARNING":"Садржај је видљив само одраслима. Имате ли 18 година?","DISCOVER_NOADDON_WARNING":"Упозорење: није активан Stremio додатак за ову врсту. Приказују се сачуване ставке, ништа се овде неће ажурирати.","DISCOVER_LOAD_ERR":"Садржај се није учитао, дошло је до грешке.","DISCOVER_ADDON_UNINSTALLED":"Овај садржај више није доступан, можда сте деинсталирали додатак.","UNINSTALL_THIS_ADDON":"Деинсталирај овај додатак ","ERR_ADDON_NOT_INSTALLED":"Овај додатак није инсталиран. Инсталирати сада?","DETAIL_RECEIVE_NOTIF_SERIES":"Примање обавештења о новим епизодама","DETAIL_RECEIVE_NOTIF_VIDEOS":"Примање обавештења о новим видео снимцима","SIDEBAR_SHOW_STREAMS":"Прикажи стримове","RELAUNCH":"Поново покренути сада!","UPGRADE":"Нова верзија је доступна! Надоградите на најновију верзију апликације Stremio","RELOAD_UI":"Поново учитати кориснички интерфејс","MANUAL_UPDATE_TITLE":"Ажурирај своју Stremio верзију","MANUAL_UPDATE_LINE1":"Користите застарелу Stremio верзију, која је веома непрепоручљива.","MANUAL_UPDATE_LINE2":"Ажурирајте што је пре могуће.","BUTTON_UPDATE_LATTER":"Не сада","BUTTON_UPDATE_NOW":"Ажурирај","ANONYMOUS_USER":"Анонимни корисник","DONT_HAVE_ACC":"Немате налог?","HAVE_ACC":"Већ имате налог?","PASSWORD":"Лозинка","PASSWORD_CONFIRM":"Потврдите лозинку","EMAIL":"Имејл","FB_LOGIN":"Настави са Facebook-ом","FB_NOTHINGSHARED":"Ништа се не дели без ваше дозволе","FB_NOPOST":"Нећемо постављати ништа у ваше име","OR":"или","I_ACCEPT":"Прихватам","I_ACCEPT_BY_CLICKING":"Кликом на горње дугме сведочим да прихватам ","TOS":"Услови и одредбе","MUST_ACCEPT_TERMS":"Морате прихватити услове","PASSWORDS_NOMATCH":"Лозинке се не подударају","SIGN_UP":"Региструј се","SIGN_UP_EMAIL":"Региструј се путем имејла","CLICK_TO_SIGN_UP":"Кликните овде да се бисте се регистровали.","LOG_IN":"Пријави се","LOG_OUT":"Одјави се","EXIT_FULLSCREEN":"Изађи из режима целог екрана","ENTER_FULLSCREEN":"Уђи у режим целог екрана","PLAY_URL_MAGNET_LINK":"Пусти URL/магнет линк","HELP_FEEDBACK":"Помоћ и повратне информације","TERMS_OF_SERVICE":"Услови коришћења","PRIVACY_POLICY":"Политика приватности","ABOUT_STREMIO":"О нама","USER_PANEL":"Кориснички панел","LOGIN_LABEL":"Пријави се","GUEST_LOGIN":"Пријави се као гост","GUEST_LOGIN_NOTICE":"Пријављивање као гост није препоручено. Коришћење регуларног пријављивања омогућава апликацији Stremio да синхронизује вашу збирку, прима обавештења за омиљене серије/канале. Желите ли заиста да наставите?","GUEST_LOGIN_NOTICE_2":"Пријављивање као гост није препоручено - нећете имати синхронизована обавештења збирке и табле, што су виталне функције апликације Stremio. Желите ли заиста да наставите?","CLICK_HERE":"кликни овде","WRONG_PASSWORD":"Погрешан имејл или лозинка. У случају да сте заборавили лозинку, ","SET_A_PASS":"поставите лозинку","RESET_PASSWORD":"Ресетуј лозинку","FORGOT_PASSWORD":"Заборавили сте лозинку?","EMAIL_USED_WITH_FB":"Овај имејл је коришћен са Facebook пријавом.","INVALID_EMAIL":"Унесите исправну имејл-адресу","INVALID_PASSWORD":"Унесите исправну лозинку","CONN_ERR":"Мрежна грешка - покушајте поново касније.\\n\\nАко се ово настави, онемогућите заштитне зидове/антивирусни софтвер (нарочито Bitdefender). ","IMPORT_FROM_GUEST":"Увоз збирки са налога за госте","RECEIVE_UPDATES_EMAIL":"Примање ажурирања на свом имејлу од апликације Stremio","LOGIN_FAILED":"Пријава није успела.","SIGNUP_FAILED":"Регистрација није успела.","SEARCH_FAILED":"Претрага није успела.","EMAIL_USED":"Овај имејл је већ у употреби.","WAITING_FB_LOGIN":"Пријављивање са Facebook-ом...","EXTERNAL_PLAYER_TITLE":"Пуштање у спољном плејеру","EXTERNAL_REMEMBER_PLAYER":"Желите ли да запамтите свој избор?","EXTERNAL_ALWAYS_PLAY":"Да","EXTERNAL_ONLY_ONCE":"Не","BEST_FIT":"Најбоље уклапање","FIT_SCREEN":"Уклопљен екран","FILL":"Попуњено","16:9":"16:9","4:3":"4:3","Original":"Оригинално","INTRO_TASTE":"Реците нам шта волите","INTRO_TASTE_LONG":"Реците нам шта бисте желели да гледате","INTRO_TASTE_PICK":"Изаберите {{interestsRemaining}} интересовања ","INTRO_TASTE_PICK_MORE":"Изаберите још {{interestsRemaining}} интересовања","INTRO_TASTE_HELP_US":"Помозите нам да сазнамо више о вама.","INTRO_TASTE_CHOOSE_THESE":"Изаберите неке од ових:","INTRO_TASTE_CHOOSE_MIN":"Изаберите најмање 3 категорије","INTRO_TASTE_CHOOSE_MIN_ERR":"Морате изабрати најмање 3 категорије!","INTRO_TASTE_LIFESTYLE":"Животни стил","INTRO_TASTE_SPORTS":"Спортови","INTRO_TASTE_FOOD_HEALTH":"Храна и здравље","INTRO_TASTE_BEAUTY_FASHION":"Лепота и мода","INTRO_TASTE_NEWS":"Вести","INTRO_TASTE_GAMING":"Видео игре","INTRO_TASTE_SCIENCE_EDU":"Наука и образовање","INTRO_TASTE_MUSIC":"Музика","INTRO_TASTE_TRAVEL":"Путовања","INTRO_TASTE_LATE_NIGHT":"Касноноћна емисија","INTRO_TASTE_REALITY":"Ријалити","INTRO_TASTE_COMEDY":"Комедија","INTRO_TASTE_DIY":"Уради сам","INTRO_TASTE_TECH":"Технологија","INTRO_TASTE_CINEMA":"Биоскоп","ADDON_NOT_SUPPORTED":"Изабрани додатак није подржан на овој платформи.","ADDON_DISCLAIMER":"Коришћење додатака трећих страна увек ће бити предмет ваше одговорности и важећег закона јурисдикције у којој се налазите.","ADDON_ACTIVATE":"Активирати овај додатак?","ADDON_REPO_ADD":"URL колекције додатка","ADDON_ADD":"Додај","INSTALL_ADDON":"Инсталирај додатак","ADD_ADDON":"Додај додатак","ADD_ADDON_DESCRIPTION":"Додатак можете додати преко спољног линка, који ће се појавити под „Инсталирани додаци”.","PASTE_ADDON_URL":"Налепите URL додатка","WHATS_NEW":"Шта је ново","BUTTON_CONTINUE":"Настави","BUTTON_ACTIVATE":"Aктивирај","BUTTON_ACTIVATED":"Aктивирано","BUTTON_CANCEL":"Откажи","BUTTON_SUBMIT":"Пошаљи","BUTTON_DISMISS_ALL":"Одбаци све","BUTTON_VIEW_ALL":"Погледај све","BUTTON_SEE_ALL":"Види све","BUTTON_COLOR_TRANSPARENT":"Прозирно","OPEN_IN_BROWSER":"Отвори у прегледачу","LIB_EMPTY":"Ваша збирка изгледа празно. Сазнајте колико је она корисна :) ","HOW_START":"Ево како можете да почнете:","LIB_EMPTY_CAL":"Ваш календар приказује серије у вашој збирци.","HOW_START_CAL":"Ево како можете да додате серије:","LIB_EMPTY_BOARD":"Табла приказује обавештења и препоруке у вези са вашом збирком.","HOW_START_BOARD_WAIT":"Додајте неколико серија или канала у своју збирку и дајте нам неколико минута да обрадимо :)","HOW_START_BOARD":"Ево како можете да додате серије и филмове:","IMPORT_FB":"Увезите ствари које волите са <span>Facebook-а</span>","IMPORT_TRAKT":"Увезите своју медијску збирку са <span>Trakt-а</span>","IMPORT_DISCOVER":"Пронађите занимљиве ствари у одељку <span>Откриј</span>","IMPORT_DISK":"Увезите филмове или серије које имате на <span>локалном диску</span>","PLEASE_CREATE_ACC":"<u>Направите налог</u> да бисте омогућили синхронизацију збирке и табле.","IMPORT_DISCOVER_SIGNUP":"Региструјте се и пронађите занимљиве ствари у одељку <span>Откриј</span> ","IMPORT_DISK_SIGNUP":"Региструјте се и увезите филмове или серије које имате на <span>локалном диску</span> ","LIB_EMPTY_CLOUD":"Клауд збирка","LIB_EMPTY_CLOUD_DESC":"Лична клауд збирка је синхронизована на свим уређајима","LIB_EMPTY_EARLY":"Раноранилац","LIB_EMPTY_EARLY_DESC":"Примајте обавештења о новим епизодама ","LIB_EMPTY_PERSONAL":"Лично","LIB_EMPTY_PERSONAL_DESC":"Добијајте личне препоруке","LIB_EMPTY_CALENDAR_DESC":"Закажите свој лични календар гледања","LIB_EMPTY_ALL":"Региструјте се да бисте добили све ово:","LIB_EMPTY_BEST":"Региструјте се да бисте најбоље искористили Stremio","LIB_EMPTY_OTHER":"Региструјте се да бисте омогућили календар и друге сјајне функције","CALENDAR_ADDED":"Stremio календар је додат вашем подразумеваном календару на десктопу.","CALENDAR_ADDED_MSG":"Ако ово не функционише, додајте овај URL ручно у апликацију календара","TRAKT_EXPIRED":"Trakt аутентификација је истекла, идите у подешавања и поново се аутентификујте","TRAKT_REQUIRES_LOGIN":"Trakt грешка","TRAKT_REQUIRES_LOGIN_MSG":"Морате се пријавити","TRAKT_IMPORT_WATCHED":"Увоз","THEME":"Тема","THEME_DEFAULT":"Подразумевана","THEME_ADAPTIVE":"Адаптивна","SETTINGS_LABEL":"Подешавања","SETTINGS_NAV_GENERAL":"Опште","SETTINGS_NAV_PLAYER":"Плејер","SETTINGS_NAV_STREAMING":"Стримовање","SETTINGS_NAV_SHORTCUTS":"Пречице","SETTINGS_SHORTCUT_RELOAD_APP":"Поновно учитавање апликације","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Отварање подешавања","SETTINGS_SHORTCUT_SWITCH_TABS":"Промена картица","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Прелазак кроз картице унапред","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Прелазак кроз картице уназад","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Кретање између менија","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Одлазак на претрагу","SETTINGS_SHORTCUT_EXIT_BACK":"Излаз / Одлазак назад","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Укључивање менија за брзину репродукције","SETTINGS_SHORTCUT_MENU_VIDEOS":"Укључивање менија за видео снимке","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Укључивање менија за титлове","SETTINGS_SHORTCUT_MENU_INFO":"Укључивање менија за информације","SETTINGS_SHORTCUT_FULLSCREEN":"Укључивање целог екрана","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Приказ контрола","SETTINGS_SHORTCUT_PLAY_PAUSE":"Пуштање / Паузирање","SETTINGS_SHORTCUT_VOLUME_UP":"Појачавање јачине звука","SETTINGS_SHORTCUT_VOLUME_DOWN":"Смањивање јачине звука","SETTINGS_SHORTCUT_SEEK_NEXT":"Тражење следећег","SETTINGS_SHORTCUT_SEEK_PREV":"Тражење претходног","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Тражење уназад","SETTINGS_SHORTCUT_SEEK_FORWARD":"Тражење унапред","SETTINGS_SHORTCUT_PLAY_NEXT":"Пуштање следећег","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Повећавање величине титлова","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Смањивање величине титлова","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Повећавање кашњења титлова","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Смањивање кашњења титлова","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Укључивање бочне траке","SETTINGS_SHORTCUT_OR":"или","SETTINGS_SHORTCUT_TO":"до","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Аутентификуј","SETTINGS_FACEBOOK_IMPORT":"Увоз","SETTINGS_CALENDAR_SUBSCRIBE":"Претплати се","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Језик интерфејса","SETTINGS_LAUNCH_STARTUP":"Покрени на почетку","SETTINGS_VLC_DEFAULT":"Пусти помоћу VLC-а ","SETTINGS_UI_LANGUAGE":"Језик корисничког интерфејса","SETTINGS_UI_ZOOM":"Зумирање интерфејса","SETTINGS_FULLSCREEN_EXIT":"Тастер Escape за излаз из целог екрана","SETTINGS_GAMEPAD":"Омогући подршку за гејмпед","SETTINGS_CLOSE_WINDOW":"Затвори апликацију када је прозор затворен","SETTINGS_SUBTITLES_LANGUAGE":"Подразумевани језик титлова","SETTINGS_SUBTITLES_SIZE":"Подразумевана величина титлова","SETTINGS_SUBTITLES_BACKGROUND":"Позадина титлова","SETTINGS_SUBTITLES_COLOR":"Боја титлова","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Боја оквира титлова","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Боја позадине титлова","SETTINGS_SEEK_KEY":"Тастери са стрелицама траже време","SETTINGS_SEEK_KEY_SHIFT":"Тастери са стрелицама траже време када се држи тастер Shift","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Трајање брзог премотавања уназад и унапред","SETTINGS_BINGE":"Аутоматски пусти следећу епизоду","SETTINGS_NEXT_VIDEO":"Прикажи обавештење за почетак следеће епизоде","SETTINGS_NEXT_VIDEO_TRIGGER":"Прикажи обавештење о следећој епизоди за:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Трајање искачућег прозора за следећи видео снимак","SETTINGS_PLAY_IN_BACKGROUND":"Пусти у позадини","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Пусти у спољном плејеру","SETTINGS_RESIZE":"Аутоматска промена величине прозора пре пуштања","SETTINGS_OVERRIDE_SERVER":"Замена URL-а сервера за стримовање (напредно)","SETTINGS_SERVER_URL":"URL сервера за стримовање: ","SETTINGS_SERVER_AVAILABLE":"Сервер за стримовање је доступан.","SETTINGS_SERVER_UNAVAILABLE":"Сервер за стримовање није доступан.","SETTINGS_SERVER_STATUS_ONLINE":"Онлајн","SETTINGS_SERVER_STATUS_ERROR":"Грешка","SETTINGS_SERVER_CONFIGURE_TITLE":"Конфигурација URL-а сервера за стримовање","SETTINGS_SERVER_CONFIGURE_INPUT":"Унесите URL сервера за стримовање ","SETTINGS_SERVER_CACHE_SIZE":"Величина кеша","SETTINGS_SERVER_TORRENT_PROFILE":"Торент профил","SETTINGS_HTTPS_ENDPOINT":"Стримовање HTTPS крајње тачке: ","SETTINGS_TRANSCODE_PROFILE":"Транскод профила","SETTINGS_USE_BETA":"Увек користи најновију бета верзију","SETTINGS_IMPORT_FB":"Увоз са Facebook-а","SETTINGS_IMPORT_DISK":"Увоз са локалног диска","SETTINGS_IMPORT_TRAKT":"Увоз са Trakt-а","SETTINGS_PAUSE_MINIMIZED":"Паузирај репродукцију када је минимизирано","SETTINGS_HWDEC":"Хардверски убрзано декодирање","SETTINGS_BACKGROUND":"Позадинска репродукција","SETTINGS_SUBSCRIBE_CALENDAR":"Претплати се на календар","SETTINGS_REQ_EXPORT":"Затражи извоз података","SETTINGS_ACC_DELETE":"Затражи брисање налога","SETTINGS_CHANGE_PASSWORD":"Промени лозинку","SETTINGS_TOS":"Услови коришћења","SETTINGS_SUPPORT":"Контактирај подршку","SETTING_LANGUAGE":"Језик","SETTINGS_TRAKT":"Trakt скробовање","SETTINGS_TRAKT_LOGOUT":"Одјави се са Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Одјави се са Trakt-а","SETTINGS_SCAN_FOR_REMOTE":"Скенирај QR кôд за даљинско отварање","SETTINGS_DESKTOP_NOTIFICATIONS":"Обавештења десктопа","SETTINGS_DATA_SAVER":"Уштеда података","SETTINGS_LANGUAGE_INTERFACE":"интерфејс","SETTINGS_LANGUAGE_SUBS":"подразумевани титлови","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Аутоматски избор аудио снимка","SETTINGS_DEFAULT_AUDIO_TRACK":"Подразумевани аудио снимак","SETTINGS_SURROUND_SOUND":"Просторни звук","SETTINGS_ACCOUNT":"налог","SETTINGS_PLATFORM":"Платформа","SETTINGS_VERSION":"верзија","SETTINGS_ABOUT":"О апликацији","SETTINGS_MPV_WINDOW":"Покретање плејера у посебном прозору (напредно)","SETTINGS_PLAY_IN_EXTERNAL":"Увек покрени видео снимак у спољном плејеру","SETTINGS_STORAGE_BUTTON":"Очисти локалну меморију","SETTINGS_STORAGE_MODAL_TITLE":"Да ли сте сигурни?","SETTINGS_STORAGE_MODAL_MESSAGE":"Ово ће очистити локалну меморију и одјавити вас.","SETTINGS_HWDEC_PICKER":"Избор подешавања за хардверски убрзано декодирање","SETTINGS_HW_AUTOMATIC":"Аутоматски","SETTINGS_HW_DISABLED":"Онемогућено","SETTINGS_HW_ACCELERATED":"Убрзање декодирања","SETTINGS_HW_FULL":"Потпуно убрзање","SETTINGS_HW_LEGACY":"Застарело","SETTINGS_DISABLED":"Онемогућено","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Обавештење о мрежној вези","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Удаљени URL","SETTINGS_COPY_REMOTE_URL":"Копирај удаљени URL","SETTINGS_REMOTE_URL_COPIED":"Удаљени URL је копиран у привремену меморију","SETTINGS_SECTION_SUBTITLES":"Титлови","SETTINGS_SECTION_AUDIO":"Аудио снимак","SETTINGS_SECTION_CONTROLS":"Контроле","SETTINGS_SECTION_AUTO_PLAY":"Аутоматско пуштање","SETTINGS_SECTION_ADVANCED":"Напредно","SUBSPICKER_AUDIO":"Аудио снимак","SUBSPICKER_SUBTITLES":"Титлови додатака","SUBSPICKER_BLACK_BACKGROUND":"Користи црну боју позадине","SUBSPICKER_VERTICAL_OFFSET":"Вертикални помак (офсет)","SUBSPICKER_SIZE":"Величина","SUBSPICKER_DELAY":"Кашњење","SUBSPICKER_EMBEDDED_SUBS":"Уграђени титлови","MOBILE_PRIVACY_POLICY":"Политика приватности","MOBILE_CRASH_REPORTING":"Извештавање о отказивању","MOBILE_ZOOM_TO_FILL":"Зумирај да попуниш екран","MOBILE_PASSTHROUGH":"Дигитални излаз аудио снимка (пролазни)","MOBILE_RUN_LOW_BATTERY":"Покрени на празној батерији","MOBILE_RUN_FOREGROUND":"Покрени као услугу у првом плану","MOBILE_PERFORMANCE":"ПЕРФОРМАНСЕ И СТАБИЛНОСТ","MOBILE_SERVER_ONLINE":"Онлајн","MOBILE_SERVER_OFFLINE":"Офлајн","MOBILE_QR_EXPIRES":"QR кôд истиче за ","MOBILE_LOG_INTO":"Пријавите се на свој Stremio налог ","MOBILE_SCAN_QR":"Скенирајте QR кôд изнад или идите на ","MOBILE_LINK_ACCOUNT":"Повежите налог","MOBILE_SPEEDPICKER_CANCEL":"Откажи","MOBILE_SPEEDPICKER_LABEL":"Изаберите брзину репродукције","MOBILE_EMPTY_LIBRARY":"Ваша збирка је празна","MOBILE_NO_ADDON_ACTIVE":"Ниједан Stremio додатак није активан за ову врсту.","MOBILE_ORGANIZER_WARNING":"Апликација Stremio Organizer пружа ограничену функционалност. За листу стримова за репродукцију и потпуно Stremio искуство, користите Stremio на десктоп рачунару.","MOBILE_ADDON_LOADING":"још увек се учитава","MOBILE_ADDONS_LOADING":"додаци се још увек учитавају","MOBILE_ADDON":"Додатак","MOBILE_CONFIGURE_ADDON":"Конфигуришите свој додатак","MOBILE_CONFIGURE_ADDON_LABEL":"Конфигуриши додатак","MOBILE_ORGANIZER_ADDONS_WARNING":"Апликација Stremio Organizer пружа ограничен избор додатака. За потпуно Stremio искуство, користите Stremio на десктоп рачунару.","MOBILE_DISCONNECT":"Прекини везу","MOBILE_LOOKING_FOR_DEVICES":"Тражење уређаја...","MOBILE_CAST_TO":"Пребацујте на","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Избриши налог","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Брисање налога се неће извршити одмах због законских обавеза. Након што затражите брисање вашег налога, мораћете да користите другу имејл-адресу/Facebook профил да бисте у будућности креирали нови Stremio налог.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Потврди брисање налога","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Ваш налог је креиран помоћу Facebook-а. Да бисте избрисали свој налог, користите наш кориснички портал на www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Унесите своју лозинку да бисте потврдили брисање налога.","MOBILE_DELETE_ACCOUNT_BUTTON":"Избриши налог","NAVIGATION_ON":"Укључено","NAVIGATION_OFF":"Искључено","MARKETING_AGREE":"Слажем се да примам маркетиншке поруке од апликације Stremio","QUIT":"Напусти","CONNECTED":"Повезано","AUTHENTICATE":"Аутентификуј","CACHING":"Кеширање","SETTINGS_CACHING_DRIVE":"Диск за кеширање","ENABLE_LOCAL_FILES_ADDON":"Омогућите додатак за локалне фајлове (захтева поновно покретање)","LOCAL_ADDON_NOT_ENABLED":"Локални додатак није омогућен. Кликните овде да бисте отишли у подешавања и омогућили га.","ENABLE_REMOTE_HTTPS_CONN":"Омогућите удаљене HTTPS везе","TORRENT_PROFILE":"Торент профил","DATA_CACHING":"Кеширање података","MAGNET_PARSING":"Рашчлањивање магнет линка","January":"Јануар","February":"Фебруар","March":"Март","April":"Април","May":"Мај","June":"Јун","July":"Јул","August":"Август","September":"Септембар","October":"Октобар","November":"Новембар","December":"Децембар","Monday":"Понедељак","Tuesday":"Уторак","Wednesday":"Среда","Thursday":"Четвртак","Friday":"Петак","Saturday":"Субота","Sunday":"Недеља","Action":"Акциони","Comedy":"Комедија","War":"Ратни","Family":"Породични","Animation":"Анимирани","Adventure":"Авантуристички","Fantasy":"Фантастични","Crime":"Криминалистички","Mystery":"Мистерија","Romance":"Љубавни","Drama":"Драма","Horror":"Хорор","Thriller":"Трилер","Sci-Fi":"Научно-фантастични","Music":"Музика","Biography":"Биографски","Documentary":"Документарни","Sport":"Спортски","Musical":"Мјузикл","Western":"Вестерн","Film-Noir":"Филм ноар (црни филм)","News":"Вести","History":"Историјски","Game-Show":"Телевизијска игра","Reality-TV":"Ријалити-ТВ","Talk-Show":"Ток-шоу (спонтани разговор)","Film & Entertainment":"Филм и забава","Gaming":"Видео игре","From TV":"Са ТВ-а","Lifestyle":"Животни стил","Science & Education":"Наука и образовање","Cooking & Health":"Кување и здравље","Beauty & Fashion":"Лепота и мода","Sports":"Спортови","News & Politics":"Вести и политика","How-to & DIY":"Како да и уради сам","Tech":"Технологија","Automotive":"Аутомобилски","Causes & Non-Profits":"Узроци и непрофитне организације","Movies":"Филмови","Uk Live Tv":"УК ТВ уживо ","Fashion":"Мода","Business News Radio":"Радио са бизнис вестима","Business Tv":"Бизнис ТВ ","Cars & Auto":"Аутомобили","Comedy Radio":"Радио комедија ","Lifestyle Radio":"Радио животног стила","News Tv":"Вести ТВ","Food And Wine":"Храна и вино","Latino Tv":"Латино ТВ","Shopping Tv":"Шопинг ТВ","Religion":"Религија","Kids":"Деца","Body & Soul":"Тело и душа","Education":"Образовање","Indian Tv":"Индијска ТВ","Extreme Sports":"Екстремни спортови","Middle Eastern Tv":"Блискоисточна ТВ ","Celebrity Tv":"ТВ познате личности","Science Tv":"Научна ТВ","Bikini babe":"Бикини душа","Outdoors":"На отвореном простору","German Tv":"Немачка ТВ","French Tv":"Француска ТВ","Italian Tv":"Италијанска ТВ","Gamer Tv":"Гејмерска ТВ","Travel":"Путовања","Asian Tv":"Азијска ТВ","Entertainment":"Забава","News Radio":"Радио са вестима","Music Radio":"Музички радио","Language Learning":"Учење језика","Science Radio":"Научни радио","Tech Radio":"Технолошки радио","Science & Technology Vod":"Научни и технолошки VOD","new video":"нови видео снимак","new episode":"нова епизода","new movie":"нови филм","recommended":"препоручено","we recommend":"препоручујемо","offer of the day":"понуда дана","news":"вести","music video":"музички видео снимак","CTX_SHOW_HOTKEYS":"Прикажи пречице","CTX_DISMISS_NOTIF":"Одбаци обавештења","CTX_DISMISS_ALL":"Одбаци све","CTX_SHARE":"Дели","CTX_COPY_SHARE_LINK":"Копирај линк за дељење","CTX_COPY_MAGNET_LINK":"Копирај магнет линк","CTX_COPY_STREAM_LINK":"Копирај линк стрима","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Преузми овај видео снимак","CTX_DOWNLOAD_SUBS":"Преузми титлове","CTX_VIEW_ON_YOUTUBE":"Погледај на YouTube-у","CTX_SHOW":"Прикажи","CTX_PLAY":"Пусти","CTX_PLAY_IN":"Пусти у","CTX_PLAY_ON":"Пусти на","CTX_WATCH_ON":"Гледај на","CTX_WATCH":"Гледај","CTX_WATCHED":"Одгледано","CTX_WATCH_BEGINNING":"Гледај од почетка","CTX_WATCH_MOBILE":"Гледај на мобилном телефону","CTX_REWIND":"Премотај на почетак","CTX_MARK_WATCHED":"Означи као одгледано","CTX_MARK_NON_WATCHED":"Означи као неодгледано","CTX_MARK_UNWATCHED":"Означи као неодгледано","CTX_MARK_REST":"Означи остало као одгледано","CTX_UNMARK_REST":"Означи остало као неодгледано","CTX_RECEIVE_NEW_NOTIF":"Примај нова обавештења","CTX_ENABLE_NEW_NOTIF":"Омогући обавештења","CTX_DISABLE_NEW_NOTIF":"Онемогући обавештења","CTX_REMOVE_CACHE":"Уклони из кеша","CTX_REMOVE_CACHE_EP":"Уклони епизоду из кеша","CTX_OPEN_CONTAINING":"Отвори садржећи фолдер","CTX_REMOVE":"Уклони из збирке","CTX_AVAILABLE_OFFLINE":"Доступно офлајн","CTX_PAUSED":"Паузирано","CTX_ALWAYS_ON_TOP":"Увек на врху","CTX_FULLSCREEN":"Цео екран","CTX_WRONG_SUBS":"Погрешни титлови?","CTX_REPORT_ISSUES":"Пријавa проблема","CTX_COPY":"Копирај","CTX_PASTE":"Налепи","CTX_CLEAR":"Очисти","CTX_CLEAR_RECENT_SEARCHES":"Очисти недавне претраге","HELLO_THERE":"Здраво","HOPE_YOU_ENJOY":"Надамо се да уживате у апликацији Stremio и да је то већ једна од ваших омиљених апликација!","WHO_ARE_WE":"Ко смо? Ми смо тим који стоји иза овога - два момка који напорно раде сваки дан последње 3 године да би овај производ учинили што бољим.","SUPPORT_US":"Ако уживате у коришћењу апликације Stremio, ако је Stremio драгоцен за вас - делите са осталима!","SPREAD_THE_WORD":"Делите са пријатељима сада, причајте о апликацији Stremio","MORE_PEOPLE":"Што више људи користи Stremio, он ће бити бољи!","SEND_A_LINK":"Или пошаљите линк ка нашем веб-сајту","TIP_LOCALFILES":"Савет: можете да превучете и отпустите локалне фајлове видео снимака у Stremio","ADDON_MY":"Моји додаци","ADDON_COMMUNITY":"Додаци заједнице","ADDON_OFFICIAL":"Званични додаци","ADDON_REPOS":"Колекције додатака","ADDON_SEARCH":"Претрага додатака","ADDON_INSTALL":"Инсталирај","ADDON_CONFIGURE":"Конфигуриши","ADDON_UNINSTALL":"Деинсталирај","ADDON_UPGRADE":"Надогради","ADDON_INSTALLED":"Инсталирано","ADDON_INSTALLED_MSG":"Додатак је инсталиран!","ADDON_UPGRADED_MSG":"Додатак је надограђен!","ADDON_UNKNOWN":"Непознато","ADDON_ERR":"Грешка приликом инсталације додатка","ADDON_DISCONNECTED":"Прекинута веза","ADDON_APP_MISSING":"апликација за овај извор није инсталирана. Желите ли да је инсталирате сада?","ADDON_APP_INSTALL":"Инсталирај сада","ADDON_PAGE":"Страница додатка","ADDON_TOP_CONTENT":"Најбоље од овог додатка","ADDON_PROVIDES":"Овај додатак ће вам дати:","ADDON_WATCH":"Гледај #{types} сада!","ADDON_WATCH_FREE":"Гледај #{types} бесплатно сада!","ADDON_ADDON":"Додатак","ADDON_SUPPORTED_TYPES":"Подржане врсте","ADDON_SUPPORTED_CATALOGS":"Подржани каталози","ADDON_PROVIDES_DISCOVER":"Више #{types} на страници Откриј","ADDON_PROVIDES_STREAMS":"Гледајте #{types}","ADDON_PROVIDES_STREAMS_FREE":"Гледајте #{types} бесплатно","ADDON_PROVIDES_SUBTITLES":"Титлови за #{types}","ADDON_CANTDETECT":"Нисмо могли да откријемо покренути Stremio, тако да нисмо могли да откријемо које додатке сте инсталирали.","ERR_NO_META":"Нису пронађене информације о овоме ","ERR_GETTING_META":"Грешка приликом преузимања информација о овоме.","ERR_CANT_PARSE_MAGNET":"Није могуће рашчланити магнет","ERR_NO_MAGNET_INFOHASH":"Нема важеће хеш информације за магнет","ERR_NO_FILE_PATH":"Није могуће послати захтев без путање до фајла","ERR_NO_TORRENT":"Није враћен торент","ERR_NO_SUPPORTERD_FILES":"Нису пронађени подржани фајлови","ERR_OPENING_FILES":"Није могуће отворити спољне фајлове","ERR_INVALID_LINK":"Неважећи линк","ERR_REGISTERED_ONLY":"Ова опција је доступна само за регистроване кориснике.","ERR_CLIPBOARD":"Није могуће пустити из привремене меморије","ERR_CLIPBOARD_READ":"Није могуће прочитати привремену меморију на овој платформи","ERR_CLIPBOARD_GENERIC":"У привременој меморији није пронађен URL који се може репродуковати. Копирајте URL (нпр. магнет линк) видео снимка. ","BOARD_CONTINUE_WATCHING":"Наставите да гледате","BOARD_EXPLANATION_RECOMMENDATIONS":"Филмови изабрани специјално за вас.<br /> Овај филм је пример препоруке.","BOARD_EXPLANATION_EPISODES":"Нове епизоде ваше омиљене серије стижу овде.<br /> Додајте серије које пратите у своју збирку.","BOARD_EXPLANATION_VIDEOS":"Нове епизоде ваших омиљених канала долазе овде.<br /> Додајте YouTube канале које пратите у своју збирку.","WEBSITE_ENJOYED_BY":"Ужива више од 30 милиона корисника широм света","WEBSITE_STREAMING_ENHANCED":"Побољшано стримовање","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio нуди безбедно, модерно и беспрекорно искуство забаве. Са интерфејсом који је једноставан за коришћење и разноликом збирком садржаја, укључујући подршку за 4K HDR, корисници могу да уживају у омиљеним филмовима и серијама на свим својим уређајима. Са својом посвећеношћу безбедности, Stremio је врхунски избор за безбрижно, висококвалитетно искуство стримовања.","WEBSITE_AVAILABLE_ON":"Доступно на","WEBSITE_WATCH_AND_ENJOY":"Гледајте и уживајте.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio је прост као пасуљ","WEBSITE_ALL_FEATURES":"Све карактеристике","WEBSITE_EASY_TO_USE":"Лако за коришћење","WEBSITE_EASY_TO_USE_DETAILS":"Stremio је дизајниран да буде лак за употребу и једноставан за коришћење. Са чистим и интуитивним интерфејсом можете лако да се крећете и пронађете садржај који желите да гледате.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Беспрекорно на различитим уређајима","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Доступан за широк спектар платформи (укључујући Windows, Mac, Linux, Android итд.), Stremio ће пратити ваш напредак на свим вашим уређајима. Само се пријавите и наставите да гледате без потребе да поново конфигуришете апликацију на сваком новом уређају.","WEBSITE_ALL_DOWNLOADS":"Сва преузимања","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"Подршка за видео снимке високе дефиниције","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"Интегрисани плејер видео снимака који подржава већину видео формата, укључујући 4K HDR садржај, омогућава вам да уживате у највишем доступном квалитету.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Збирка разноврсног садржаја","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio се интегрише са великим бројем популарних извора видео снимака, као што су Netflix, Amazon Prime Video, Hulu, YouTube и многи други.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Направи бесплатан налог","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Прилагођено искуство гледања","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio вам омогућава да прилагодите изглед и осећај интерфејса променом теме, додавањем или уклањањем додатака и још много тога.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Подршка за вишејезичне титлове","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"Сада можете уживати у свим омиљеним садржајима на жељеном језику, јер Stremio подржава титлове на свим језицима.","WEBSITE_ALL_STREMIO_FEATURES":"Све карактеристике апликације Stremio","WEBSITE_TRY_STREMIO_TITLE_P1":"Пробајте Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"на свом ТВ-у сада","WEBSITE_YOU_CAN_NOW_WATCH":"Сада можете да гледате све омиљене серије на својим Android ТВ уређајима. Stremio ТВ апликација вам омогућава да са лакоћом уживате у филмској вечери.","WEBSITE_YOU_CAN_NOW_WATCH_2":"Сада можете да гледате све омиљене ТВ емисије на свом паметном ТВ-у или Android ТВ-у. Stremio ТВ апликације вам омогућава да са лакоћом уживате у филмској вечери.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio за паметан ТВ","WEBSITE_PLAY_STORE_REVIEW":"Вероватно најбоља и најкориснија апликација коју можете имати на свом уређају. Ово је једна од апликација које користим свакодневно, посебно на свом Android ТВ-у већ дуги низ година. Добро направљено, са јаком заједницом, која пружа корисне функције. Одлично! Наставите са добрим радом.","WEBSITE_REVIEWS":"рецензије","WEBSITE_GET_STREMIO_FOR_FREE":"Набави Stremio бесплатно","WEBSITE_GET_STREMIO_NOW":"Набави Stremio сада","WEBSITE_STREMIO_FEATURES":"Карактеристике апликације Stremio","WEBSITE_STREMIO_FEATURES_DETAILS":"Стримујте као професионалац са Stremio напредним функцијама и уживајте у беспрекорном приступу свим вашим омиљеним медијима","WEBSITE_DISCOVER_MORE":"Откријте више.","WEBSITE_DISCOVER_MORE_DETAILS":"Никада не понестане ствари за гледање ","WEBSITE_COMMUNITY_DRIVEN":"Заједницом вођен","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio има велику и активну заједницу корисника који доприносе развоју софтвера креирањем и дељењем додатака.","WEBSITE_GET_INVOLVED":"Прикључите се","WEBSITE_NEW_THEATER_EXPERIENCE":"Ново биоскопско искуство","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Нова наменска Stremio ТВ апликација омогућава вам да уживате у филмској вечери на вашим Android ТВ уређајима.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Нове наменске Stremio ТВ апликације омогућавају вам да уживате у филмској вечери на паметном ТВ-у или Android ТВ уређајима.","WEBSITE_FREE_AND_SECURE":"Бесплатно и безбедно","WEBSITE_STREAMING":"Стримовање","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio нуди неупоредиву сигурност и приватност за кориснике. Са својом јединственом карактеристиком даљинског покретања додатака, Stremio пружа сигурнији начин за стримовање вашег омиљеног садржаја у поређењу са другим платформама. Ваша безбедност и приватност су наши главни приоритети и ова платформа обезбеђује да сви ваши подаци буду заштићени.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Реците збогом бригама о безбедности и приватности и поздравите свет бескрајне забаве уз Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Информације обезбедио","WEBSITE_CONTRIBUTE":"Допринесите","WEBSITE_CONTRIBUTE_DESC":"пројекту и помозите нам да Stremio учинимо још бољим","WEBSITE_COMMUNITY_DESC":"Верујемо да је најбољи начин да се створи заиста невероватно искуство стримовања укључивањем наше заједнице у процес. Било да сте програмер, уметник или само фан - могли бисте да помогнете како би Stremio напредовао.","WEBSITE_COMMUNITY_DESC_2":"Зато нам се придружите данас и постаните део Stremio заједнице и наставите да обликујете будућност стримовања.","WEBSITE_WAYS_TO_GET_INVOLVED":"Начини да се прикључите","WEBSITE_IN_THE_STREMIO_COMMUNITY":"у Stremio заједницу","WEBSITE_SHARE_YOUR_THOUGHTS":"Поделите своје мисли","WEBSITE_REPORT_BUGS":"Пријавите проблеме","WEBSITE_SUGGEST_FEATURES":"предложите функције","WEBSITE_AND_PROVIDE_FEEDBACK":"и пружите повратне информације на нашим друштвеним мрежама.","WEBSITE_BETA_TESTING_PROGRAM":"Програм за бета тестирање","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Учествујте у нашем програму бета тестирања (редовно шаљемо позиве) у Stremio заједници.","WEBSITE_JOIN_NOW":"Придружите се сада!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Званичне Stremio заједнице","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Незваничне Stremio заједнице","WEBSITE_BECOME":"Постаните","WEBSITE_A_VOLUNTEER_TRANSLATOR":"преводилац волонтер","WEBSITE_ARE_YOU_A_DEVELOPER":"Да ли сте програмер?","WEBSITE_CONTRIBUTE_CODE":"Можете да допринесете коду нашим пројектима отвореног кода. Имамо неколико пројеката на GitHub-у који траже сараднике. Ако сте заинтересовани да помогнете, погледајте их:","WEBSITE_STREMIO_ON_GITHUB":"Stremio на GitHub-у","WEBSITE_CREATE_ADDON_DESC":"Направите додатак да побољшате Sttemio функционалност (имамо API који је једноставан за коришћење):","WEBSITE_STREMIO_ADDON_SDK":"Stremio SDK додатак","WEBSITE_INTERN_DEVELOPER":"Такође, пружамо прилику да нам се придружите као програмер стажиста како бисмо могли да растемо заједно.","WEBSITE_APPLY_AS_AN_INTERN":"Пријави се као стажиста","WEBSITE_CALLING_ALL_ARTISTS":"Позивамо све уметнике!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Покажите своју креативност и љубав према апликацији Stremio тако што ћете поставити своје фан-aрт у нашу онлајн галеријy. Било да је у питању цртеж, слика или дигитални дизајн, желимо да видимо ваше јединствено виђење Stremio бренда. Придружите се нашој заједници уметничких ентузијаста и поделите свој рад са колегама Stremio фановима широм света.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio фан-арт галерија","WEBSITE_INTERN_DESIGNER":"Постаните део нашег тима и подигните своју креативност на нове висине уз наше узбудљиве прилике за стажирање.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"У фирми Stremio посвећени смо очувању историје филма и телевизије тако што ћемо идентификовати видео снимке у јавном домену и заостале видео снимке. Радећи заједно са нашом заједницом, можемо осигурати да ова класична уметничка дела буду доступна свима и заштићена за будуће генерације.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Слободно нас контактирајте ако желите да се укључите у тај пројекат.","WEBSITE_JOIN_THE_PROJECT":"Придружи се пројекту","WEBSITE_BE_PART_OF_OUR_MISSION":"Будите део наше мисије","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Заинтересовани сте да се придружите Stremio тиму? Нудимо потпуно даљински рад за страствене професионалце. Погледајте наше отворене позиције.","WEBSITE_OPEN_POSITIONS":"ОТВОРЕНЕ ПОЗИЦИЈЕ","WEBSITE_DESCRIPTION":"ОПИС","WEBSITE_LEARN_MORE":"Сазнај више","WEBSITE_COMPANY":"Компанија","WEBSITE_CONTACTS":"Контакти","WEBSITE_NEED_HELP":"Потребна помоћ?","WEBSITE_STREMIO_WEB_ON_IOS":"Водич за Stremio Web на iOS-у ","WEBSITE_LINK_ART_V2":"Фан-арт галерија","WEBSITE_PARTNERS":"Партнери","WEBSITE_SLOGAN_WATCH":"Гледајте одмах","WEBSITE_SLOGAN_ALL":"Сав видео садржај у коме уживате на једном месту","WEBSITE_SLOGAN_NEW":"Све што можете да гледате","WEBSITE_SLOGAN_NEW_NEW":"Слобода стримовања","WEBSITE_WATCH_FROM":"Гледај из","WEBSITE_DOWNLOAD":"Преузми сада","WEBSITE_DOWNLOAD_FOR":"Преузми сада за","WEBSITE_IS_DESKTOP":"Stremio је апликација за десктоп рачунаре, отворите ову страницу на свом рачунару и преузмите је","WEBSITE_DESKTOP_DEMO_VID":"Десктоп демо","WEBSITE_PAGE_HOME":"Почетна","WEBSITE_PAGE_FEATURES":"Карактеристике","WEBSITE_PAGE_ADDONS":"Додаци","WEBSITE_PAGE_TECH":"Технологија","WEBSITE_PAGE_CREATE_ADDON":"Направи додатак","WEBSITE_PAGE_CONTACTS":"Контакти","WEBSITE_PAGE_BLOG":"Блог","WEBSITE_RESET_PASSWORD_MESSAGE":"Унесите нову жељену лозинку испод.","WEBSITE_RESET_PASSWORD_WARNING":"Желите ли заиста да ресетујете лозинку за ${1}?","WEBSITE_TYPE_movie":"Филмови","WEBSITE_TYPE_series_PL":"Серије","WEBSITE_TYPE_tv":"ТВ уживо","WEBSITE_TYPE_channel":"Канали","WEBSITE_STREMIO_WHAT_IS":"Stremio је апликација која вам помаже да организујете и тренутно гледате своје омиљене видео снимке, филмове, ТВ серије и ТВ канале.","WEBSITE_FEATURES_WATCH":"Гледај одмах у HD-у","WEBSITE_FEATURES_WATCH_DETAIL":"Кликните и пустите своје омиљене филмове, серије, видео снимке и ТВ канале.","WEBSITE_FEATURES_SUBS":"Аутоматски титлови","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio аутоматски бира синхронизоване титлове за ваш језик.","WEBSITE_FEATURES_SUBS_LABEL":"Ваш филм, шефе.","WEBSITE_FEATURES_CAST":"Пуштање на ТВ-у и мобилним уређајима","WEBSITE_FEATURES_CAST_DETAIL":"Пребаците на AppleTV, Chromecast, паметан ТВ (DLNA/UPnP) и мобилне уређаје.","WEBSITE_LIB":"Уживајте у својој личној збирци синхронизованој на свим вашим уређајима","WEBSITE_LIB_COLLECT":"Прикупите од апликације Stremio","WEBSITE_LIB_IMPORT":"Увоз са Facebook-а","WEBSITE_LIB_LOCAL":"Додај са свог локалног диска","WEBSITE_BOARD":"Табла - ваше одредиште за обавештења и препоруке на једном месту","WEBSITE_BOARD_RECOMMEND":"Препоручена серија","WEBSITE_BOARD_TRENDING":"Филм у тренду","WEBSITE_BOARD_NEW":"Нови видео снимак","WEBSITE_BOARD_EPISODE":"Нова епизода","WEBSITE_BOARD_1":"Тражите нешто занимљиво за гледање? Добијте препоруке на основу вашег укуса!","WEBSITE_BOARD_2":"Добијте обавештење када изађе нова епизода ваше омиљене серије или YouTube канала!","WEBSITE_BOARD_YOUTUBE":"Нови видео снимци YouTube канала","WEBSITE_BOARD_EPISODES":"Нове епизоде серија које пратите","WEBSITE_ADDONS":"Додаци за садржај","WEBSITE_TECH_DETAIL":"Волимо технологију, волимо луду науку!\\nStremio користи следеће технологије отвореног кода:","WEBSITE_TECH_WCJS":"WebChimera.js омогућава апликацији Stremio да пушта било који формат видео снимка са добрим перформансама.","WEBSITE_TECH_WCJS_EXTRA":"Ми смо главни сарадници пројекта","WEBSITE_TECH_ELECTRON":"Electron пружа иновативну платформу за изградњу апликације Stremio.","WEBSITE_TECH_ELECTRON_EXTRA":"Ми смо сарадници пројекта","WEBSITE_TECH_LINVODB":"Технологија базе података која осигурава да су ваши подаци организовани и доступни где год да се пријавите.","WEBSITE_TECH_LINVODB_EXTRA":"Унутрашња технологија","WEBSITE_CREATE_ADDON":"Направи свој додатак","WEBSITE_CREATE_ADDON_DETAIL":"Да ли имате услугу која пружа видео садржај? Помоћи ћемо вам да искористите Stremio функције тако што ћемо направити ваш додатак.","WEBSITE_CREATE_ADDON_BENEFITS":"Предности прављења додатка за Stremio","WEBSITE_P2P_BEAUTY":"Лепота peer-to-peer (P2P) стримовања","WEBSITE_P2P_1":"Поуздан и приступачан full HD / 4K видео снимак на захтев (VOD) или уживо","WEBSITE_P2P_2":"Дистрибутивна платформа пружа одлично корисничко искуство","WEBSITE_P2P_3":"Направићемо додатак који одговара вашим потребама","WEBSITE_P2P_CONTACT":"Заинтересовани? Слободно нас <a href=\'mailto:office@stremio.com\'>контактирајте</a>.","WEBSITE_P2P_CONTACT_EXTRA":"Биће нам драго да вам помогнемо да интегришете свој садржај из апликације Stremio!","WEBSITE_P2P":"С времена на време, долази технологија која мења назив игре. Уложили смо много времена и труда у прављење нашег peer-to-peer (P2P) механизма за стримовање видео снимака, који пружа одличне перформансе и свестраност за прилагођавање сваком случају употребе.\\nКонтактирајте нас за peer-to-peer (P2P) видео снимак на захтев (VOD) са омогућеним DRM или стримовање уживо.","WEBSITE_THOUGHTS":"Мисли које делимо:","WEBSITE_SPREAD":"Причајте људима о апликацији Stremio:","WEBSITE_CONTACT":"Контактирајте нас, биће нам драго да вас саслушамо!","WEBSITE_OPENSOURCE":"За наше пројекте отвореног кода идите на наш","WEBSITE_BITCOIN":"Донирање биткојна:","WEBSITE_FAQ":"Често постављана питања","WEBSITE_FAQ_SHORT":"ЧПП","WEBSITE_QUESTIONS":"Питања","WEBSITE_TOS":"Услови коришћења","WEBSITE_LEGAL":"Правна питања","WEBSITE_PAGE_ABOUT":"О нама","WEBSITE_PAGE_BECOME_PARTNER":"Постаните партнер","WEBSITE_ALL_YOU_CAN_WATCH":"Слобода гледања\\nсвега што желите.","WEBSITE_FREEDOM_TO_STREAM":"Слобода стримовања","WEBSITE_WHAT_IS_STREMIO":"Шта је Stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio је центар за прикупљање видео садржаја на једном месту. Откријте, организујте и гледајте видео снимке са свих врста извора на било ком уређају који поседујете.","WEBSITE_WHAT_IS_STREMIO_P2":"Филмови, ТВ емисије, серије, телевизија уживо или веб-канали као што су YouTube и Twitch.tv - све ово можете пронаћи у апликацији Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio је модеран медијски центар који је решење на једном месту за вашу видео забаву. Откривате, гледате и организујете видео садржај из додатака који се лако инсталирају.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Филмови, ТВ емисије, ТВ уживо или веб-канали - све ово пронађите у апликацији Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Уживајте на свим својим медијским уређајима","WEBSITE_DEVICES_COLLECT":"Прикупи од апликације Stremio","WEBSITE_DEVICES_IMPORT_FB":"Увоз са Facebook-а","WEBSITE_DEVICES_LOCAL":"Додај са локалног диска","WEBSITE_JOIN_THE_PARTY_NOW":"Придружите се забави сада","WEBSITE_DEVICES_ALL":"Лако за коришћење на сваком вашем уређају;","WEBSITE_EXTENDABLE_CATALOG":"Бесконачно прошириви каталог видео снимака;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Одличне функције за организовање ваших медија;","WEBSITE_AS_SEEN_ON":"Као што се види на","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"О нама","WEBSITE_LINK_TECHNOLOGY":"Технологија","WEBSITE_LINK_APPS":"Апликације","WEBSITE_LINK_DOWNLOADS":"Преузимања","WEBSITE_MORE":"Више","WEBSITE_LINK_ADDONS":"Додаци","WEBSITE_LINK_ADDON_SDK":"SDK додатак","WEBSITE_LINK_CONTRIBUTE":"Допринос","WEBSITE_LINK_COMMUNITY":"Заједница","WEBSITE_LINK_BLOG":"Блог","WEBSITE_MORE_MORE":"... и више","WEBSITE_LINK_HELP":"Центар за помоћ","WEBSITE_LINK_CONTACTS":"Бизнис упити","WEBSITE_LINK_TOS":"Услови и одредбе","WEBSITE_LINK_PRAVACY":"Политика приватности","WEBSITE_SUBSCRIBE":"Претплатите се","WEBSITE_NEWSLETTER":"Придружите се нашем билтену за невероватне ствари","WEBSITE_PLACEHOLDER_EMAIL":"Ваш имејл","WEBSITE_COMMUNITY":"Заједница","WEBSITE_LINK_PRAVACY_LEGAL":"Приватност и правна питања","WEBSITE_WHY":"Зашто то радимо","WEBSITE_WHY_P1":"Ми свакодневно долазимо на посао јер желимо да решимо важан проблем за индустрију видео снимака на захтев (VOD). Сваког минута се објављује толико новог садржаја да је готово немогуће снаћи се у њему.","WEBSITE_WHY_P2":"Помажемо људима да се крећу тим огромним светом видео забаве и откривају нове садржаје у којима могу уживати. Наше апликације обједињују филмове, серије, ТВ уживо, веб-канале и још много тога. Посвећени смо томе да корисницима учинимо невероватно лаким проналажење наслова и емитера које воле.","WEBSITE_WHY_P3":"Можете да користите нашу услугу на било ком уређају и у било које време, што Stremio чини јединим видео-забавним чвориштем које ће вам икада бити потребно.","WEBSITE_TEAM":"ТИМ","WEBSITE_TEAM_P":"Stremio тим је мали, али моћан: између нас десеторо, кодирамо на X језика и делимо стручност у развоју софтвера, дизајну корисничког интерфејса и корисничког искуства, маркетингу и рекламирању, пословању и стартаповима.","WEBSITE_FEATURES":"Карактеристике","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Откријте нови садржај са лакоћом","WEBSITE_FEATURES_DISCOVER_P":"Лако откривајте нове филмове, ТВ емисије, серије и канале за гледање. Претражујте по категорији, жанру, оцени, недавној употреби итд. или једноставно унесите име да бисте пронашли. Stremio чини проналажење новог видео садржаја лаким.","WEBSITE_FEATURES_ALL_CONTENT":"Сав ваш видео садржај на једном екрану","WEBSITE_FEATURES_ALL_CONTENT_P1":"Погледајте које филмове, серије или видео снимке нисте завршили и наставите да их гледате; добијајте обавештења о новим епизодама и издањима; прегледајте препоруке које ћете добити на основу ваших навика гледања.","WEBSITE_FEATURES_LIBRARY":"Организујте своју збирку видео снимака","WEBSITE_FEATURES_LIBRARY_P1":"Додајте било који наслов у своју Stremio збирку једним кликом и пронађите свој садржај, уредно поређан по врсти, недавној употреби или абецедном реду.","WEBSITE_FEATURES_CALENDAR":"Праћење свега што гледате","WEBSITE_FEATURES_CALENDAR_P1":"Добијте календарску визуелизацију свих филмова и серија које додате у своју збирку. Извезите свој Stremio календар и синхронизујте га тако да увек знате када излази нова епизода или премијера.","WEBSITE_FEATURES_BIG_SCREEN":"Уживајте у видео садржају на већем екрану","WEBSITE_FEATURES_BIG_SCREEN_P1":"Пребацујте све што гледате на други уређај - било да је то телефон, таблет или ТВ, једним кликом.","WEBSITE_FEATURES_SOURCES":"Гледајте видео снимке из много различитих извора","WEBSITE_FEATURES_SOURCES_P":"Инсталирајте званичне додатке и додатке заједнице да бисте уживали у видео снимцима који потичу од многих различитих пружаоца – све у једној елегантној апликацији која је једноставна за коришћење.","WEBSITE_CREATE_AN_ADDON":"Направи додатак","WEBSITE_FEATURES_SYNC":"Синхронизујте своју збирку на различитим уређајима и наставите са репродукцијом","WEBSITE_FEATURES_SYNC_P1":"Пријавите се са својим налогом на свим својим уређајима и уживајте у синхронизованој збирци, додацима, репродукцији и календару.","WEBSITE_FEATURES_EXTENDABLE":"Прошириви каталог видео снимака користећи додатке","WEBSITE_FEATURES_EXTENDABLE_P1":"Stremio каталог додатака пружа бројне додатке за инсталирање и гледање разних видео садржаја. Ово укључује филмове, емисије, ТВ уживо, спорт, вести, подцасте, веб-канале, видео игре и још много тога.","WEBSITE_FEATURES_AUTO_SUBS":"Аутоматски титлови","WEBSITE_FEATURES_AUTO_SUBS_P1":"Са нашим додацима за титлове добијате аутоматски одабране опције за жељени језик.","WEBSITE_FEATURES_CHROMECAST":"Пребацивање на Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Уживајте у видео садржају на већем екрану или једноставно пребаците све што гледате на други уређај.","WEBSITE_FEATURES_KEEP_TRACK":"Пратите своје омиљене ТВ емисије и веб-канале","WEBSITE_FEATURES_KEEP_TRACK_P1":"Добијте календарску визуализацију и обавештења за нове епизоде ваших омиљених серија и веб-канала.","WEBSITE_FEATURES_POWER_USER":"Функције моћног корисника","WEBSITE_FEATURES_POWER_USER_P1":"Пусти у спољном плејеру","WEBSITE_FEATURES_POWER_USER_P2":"Пусти са торент фајла или магнет линка","WEBSITE_FEATURES_POWER_USER_P3":"Увези у своју збирку са Facebook лајкова или локалног диска","WEBSITE_ADD_ONS":"Додаци","WEBSITE_ADD_ONS_P1":"Сав видео садржај који Stremio пружа добија се преко система додатака - никакав садржај или пружалац садржаја није уграђен у апликацију.","WEBSITE_ADD_ONS_P2":"Доступне су две групе додатака: званични додаци и додаци заједнице.","WEBSITE_ADD_ONS_P3":"Званичне развија и хостује Stremio, док додатке заједнице праве чланови наше заједнице, који их и хостују.","WEBSITE_ADDONS_OFFICIAL":"Званични додаци","WEBSITE_ADDONS_WATCHUB":"Стримујте своје омиљене филмове, серије и емисије од провајдера као што су iTunes, Hulu, Amazon и друге УК/САД услуге.","WEBSITE_ADDONS_YOUTUBE":"Гледајте своје омиљене YouTube канале без реклама и добијајте обавештења о новим отпремањима од сарадника које пратите.","WEBSITE_ADDONS_FILMON":"Гледајте ТВ уживо, филмове и друштвену телевизију бесплатно. 600 ТВ канала, 45.000 бесплатних филмова, документараца и још много тога.","WEBSITE_ADDONS_OPENSUBTITLES":"Филмски и ТВ титлови на више језика, хиљаде преведених титлова који се отпремају сваког дана.","WEBSITE_ADDONS_COMMUNITY":"Додаци заједнице","WEBSITE_ADDONS_FILMON_VOD":"Гледајте видео снимке на захтев (VOD) са Filmon.tv","WEBSITE_ADDONS_TWICH":"Гледајте преносе уживо са Twitch.tv - платформе за стримовање видео снимака за индустрију е-спорта.","WEBSITE_ADDONS_VODO":"Гледајте независне (инди) филмове потпуно бесплатно.","WEBSITE_ADDONS_NETFLIX":"Гледајте Netflix филмове и веб-серије.","WEBSITE_ADDONS_CREATE":"Направи додатак","WEBSITE_ADDONS_CREATE_P1":"Ако желите, можете развити сопствени додатак. На овај начин можете себи и нашој заједници омогућити приступ новом видео садржају и досегнути нову циљану публику од милиона корисника широм света.","WEBSITE_ADDONS_START_CREATE":"Да бисте започели, посетите страницу Stremio SDK додатак:","WEBSITE_DOWNLOADS":"Преузимања","WEBSITE_DOWNLOADS_P1":"За оптималне перформансе, препоручујемо вам да користите најновију доступну верзију апликације Stremio. Међутим, ако из неког разлога желите да користите старију верзију, можете је преузети овде.","WEBSITE_DOWNLOADS_P1_SHORT":"За оптималне перформансе, препоручујемо вам да користите најновију доступну верзију апликације Stremio.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio за Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio за macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio за Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio за Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio за Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio за Android мобилни","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio за Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio за iOS (ограничена верзија)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio за LG ТВ","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio за Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio за Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio за Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio за прегледач","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Потражите Stremio у продавници апликација 2019+ Samsung ТВ модела","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Потражите Stremio у продавници апликација 2020+ LG ТВ модела","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Потражите Stremio у продавници апликација вашег Xbox уређаја","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Преузмите Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service је пратећа апликација за Stremio Web. Препоручујемо да користите најновију доступну верзију апликације Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service за Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service за macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service за Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service за Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"Више опција за преузимање","WEBSITE_DOWNLOAD_NEW":"Ново!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"Објавили смо Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"Објавили смо Stremio за Samsung ТВ","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"Објавили смо Stremio за LG ТВ","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"Објавили смо Stremio за Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"Објавили смо Stremio за Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"Платформа Stremio је отвореног кода и лако можете направити додатак за садржај који тренутно није доступан.","WEBSITE_CONTRIBUTE_WHY":"Зашто би требало направити додатак?","WEBSITE_CONTRIBUTE_WHY_P1":"Досегните нову публику за свој видео садржај","WEBSITE_CONTRIBUTE_WHY_P2":"База корисника апликације Stremio брзо расте – прве године од покретања, Stremio је стекао 1 милион корисника широм света, а у другој години постојања платформе овај број је порастао на 2.5 милиона.","WEBSITE_CONTRIBUTE_WHY_P3":"Помоћу свог додатка можете лако доћи до ове публике и дистрибуирати јој свој видео садржај.","WEBSITE_CONTRIBUTE_ALL":"Гледајте своје омиљене филмове, видео снимке, серије и канале на једном месту.","WEBSITE_CONTRIBUTE_ALL_P1":"Да ли сте фан одређене врсте садржаја који још увек није доступан на платформи Stremio? Направите додатак за њега и уживајте у гледању омиљених видео снимака у једном од највећих и најједноставнијих центара за забаву на тржишту.","WEBSITE_CONTRIBUTE_ALL_P2":"Поврх тога, добићете бескрајну захвалност других истомишљеника, чланова Stremio заједнице.","WEBSITE_CONTRIBUTE_MONETIZE":"Уновчите свој додатак и зарадите новац уз његову помоћ","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Када развијете нови додатак за Stremio, можете га лако уновчити на више различитих начина. Ако размишљате о томе, слободно нас контактирајте путем ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - радо ћемо се консултовати и посаветовати вас о опцијама монетизације додатака.","WEBSITE_CONTRIBUTE_TRANSLATE":"Постаните преводилац волонтер","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Ако желите да уживате у Stremio апликацијама на различитим језицима, можете се придружити нашој заједници добровољних преводилаца. Они нам помажу да додамо верзије апликације Stremio на много различитих језика.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Да ли сте вољни да почнете?","WEBSITE_TRANSALTE_STREMIO":"Преведи Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Званичне заједнице","WEBSITE_COMMUNITY_OFFICIALS_P1":"Постаните део растуће Stremio заједнице. Пратите нас на друштвеним мрежама и немојте се стидети да кажете здраво - волимо да чујемо наше фанове! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Незваничне заједнице","STREMIO_COMMUNITY_NL":"Stremio Холандија","STREMIO_COMMUNITY_BRASIL":"Stremio Бразил","STREMIO_COMMUNITY_GERMANY":"Stremio Немачка","STREMIO_COMMUNITY_BELGIUM":"Stremio Белгија","STREMIO_COMMUNITY_FRANCE":"Stremio Француска","STREMIO_COMMUNITY_PORTUGAL":"Stremio Португал","STREMIO_COMMUNITY_ITALY":"Stremio Италија","STREMIO_COMMUNITY_UK":"Stremio УК","STREMIO_COMMUNITY_USA":"Stremio САД","STREMIO_COMMUNITY_MEXICO":"Stremio Мексико","STREMIO_COMMUNITY_ADDONS":"Stremio додаци","STREMIO_COMMUNITY_AWESOME":"Сјајан Stremio","WEBSITE_COMMUNITY_PARTNERS":"Партнери и подршка","WEBSITE_COMMUNITY_GOODIES":"Stremio посластице","WEBSITE_COMMUNITY_WALLPAPERS":"Позадине","WEBSITE_COMMUNITY_ART":"Уметничка галерија заједнице","WEBSITE_LINK_ART":"Уметничка галерија заједнице","WEBSITE_CONTACT_US":"Контактирајте нас","WEBSITE_CONTACT_US_P1":"Ако имате било каквих питања, коментара или сугестија, слободно нас контактирајте путем контакт форме испод.","WEBSITE_CONTACT_US_P2":"Имајте на уму да се налазимо у Бугарској, тако да може доћи до кашњења у адресирању вашег упита због разлика у временским зонама.","WEBSITE_CONTACT_US_SUCCESS":"Ваша порука је послата. Јавићемо вам се што је пре могуће.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Унесите исправан имејл!","WEBSITE_CONTACT_US_Q_RELATED_TO":"На шта се односи ваше питање?","WEBSITE_CONTACT_US_Q_OS":"Који је ваш оперативни систем?","WEBSITE_CONTACT_US_PH_EMAIL":"Ваш имејл","WEBSITE_CONTACT_US_PH_MESSAGE":"Порука","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"ПОШАЉИ","WEBSITE_CONTACT_US_Q_1":"Како инсталирати?","WEBSITE_CONTACT_US_Q_2":"Како деинсталирати?","WEBSITE_CONTACT_US_Q_3":"(HTML) Како направити лазање?","WEBSITE_CONTACT_US_Q_4":"Додаци","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Технологија","WEBSITE_TECHNOLOGY_P1":"Волимо технологију и луду науку. </br> Ево шта покреће Stremio (све је отвореног кода).","WEBSITE_TECHNOLOGY_P_QT":"Развој софтвера на више платформи у свом најбољем издању.","WEBSITE_TECHNOLOGY_P_MPV":"Бесплатан медијски плејер отвореног кода и више платформи.","WEBSITE_TECHNOLOGY_P_RN":"React Native вам омогућава да правите мобилне апликације користећи само JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Медијски оквир уграђен у апликацију за набављање мултимедије.","WEBSITE_TECHNOLOGY_P_REALM":"Realm је мобилна платформа и замена за SQLite и Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js је отвореног кода, доступан на више платформи, JavaScript runtime окружење.","WEBSITE_TECHNOLOGY_P_RUST":"Rust је вишепарадигмски системски програмски језик фокусиран на безбедност, посебно безбедну истовременост.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Допринесите овом пројекту","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Постоје два начина на која можете допринети платформи Stremio и помоћи нам да учинимо производ још бољим.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Своје вредне језичке вештине можете донирати превођењем платформе...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"или","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... можете искористити своје вештине кодирања за прављење додатака у заједници. ","WEBSITE_TRANSLATE_STREMIO":"Преведи Stremio","WEBSITE_404_OH_NO":"Ух-ох! Страница коју тражите није овде...","WEBSITE_GO_HOME":"Иди на почетну","WEBSITE_LINK_OTHER_DOWNLOADS":"Остала преузимања","WEBSITE_FAQ_ABR":"ЧПП","WEBSITE_SUPPORT":"Подршка","WEBSITE_DOWNLOAD_4_0_BETA":"Преузмите Stremio 4 бета верзију сада","WEBSITE_GET_FOR_DESKTOP":"Набави за десктоп","WEBSITE_LINK_ADDON_COMPETITION":"Такмичење додатака","WEBSITE_LINK_ART_CONTEST":"Ликовни конкурс","WEBSITE_MY_ACCOUNT":"Мој налог","WEBSITE_MAINPAGE_FAQ_001_H1":"Шта је Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio је модеран медијски центар који вам даје слободу да гледате све што желите.","WEBSITE_MAINPAGE_FAQ_002_H1":"Како то функционише?","WEBSITE_MAINPAGE_FAQ_002_P1":"Када инсталирате Stremio на свој уређај и направите налог, све што треба да урадите је да посетите каталог додатака и инсталирате било који додатак који желите и спремни сте за рад!","WEBSITE_MAINPAGE_FAQ_002_P2":"Након тога, можете да одете у одељке „Откриј” или „Табла” да бисте почели да истражујете садржај.","WEBSITE_MAINPAGE_FAQ_003_H1":"Шта могу да гледам овде?","WEBSITE_MAINPAGE_FAQ_003_P1":"Много тога: филмове, серије, веб-канале, спортове, ТВ канале, слушање подкаста и још много. Захваљујући нашем систему додатака, можете приступити разним садржајима.","WEBSITE_MAINPAGE_FAQ_004_H1":"Да ли је Stremio отвореног кода?","WEBSITE_MAINPAGE_FAQ_004_P1":"Да, можете да проверите следеће линкове: ${1}десктоп апликација${2} и ${3}GitHub организација${4}. ","WEBSITE_MAINPAGE_FAQ_005_H1":"Да ли је Stremio безбедан?","WEBSITE_MAINPAGE_FAQ_005_P1":"Да, пошто је софтвер отвореног кода, кôд се може јавно испитати и можете га сами прегледати.","WEBSITE_MAINPAGE_FAQ_005_P2":"Систем додатака платформе Stremio је креиран имајући на уму безбедност корисника. Додаци не покрећу никакав кôд локално, тако да не представљају ризик за ваш уређај.","WEBSITE_MAINPAGE_FAQ_006_H1":"Шта је са мојом приватношћу?","WEBSITE_MAINPAGE_FAQ_006_P1":"Поштујемо приватност корисника и не прикупљамо никакве личне податке осим основног минимума за прављење и синхронизацију вашег налога.","WEBSITE_MAINPAGE_FAQ_006_P2":"Такође, постоји и ${1}режим пријаве као гост${2} приликом регистрације, који не захтева никакве податке: у овом режиму се не упућују позиви нашем позадинском систему. Међутим, то долази на рачун корисних функција, као што је могућност синхронизације ваше збирке на различитим уређајима.","WEBSITE_MAINPAGE_FAQ_007_H1":"Могу ли да пребацујем на свој ТВ?","WEBSITE_MAINPAGE_FAQ_007_P1":"Да, подржавамо Chromecast и можете да пребацујете и са десктоп и мобилних апликација (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"Колико додатака има Stremio?","WEBSITE_MAINPAGE_FAQ_008_P1":"До краја 2019, преко 50 - за више информација погледајте наш каталог додатака.","WEBSITE_MAINPAGE_FAQ_009_H1":"Може ли се Stremio проширити изван онога што је у каталогу додатака?","WEBSITE_MAINPAGE_FAQ_009_P1":"Да, требало би да проверите ове: ${1}PimpMyStremio${2}, ${3}Reddit заједнице${4}, ${5}Stremio програм за преузимање${6} итд.","WEBSITE_MAINPAGE_FAQ_010_H1":"Које уређаје подржава Stremio?","WEBSITE_MAINPAGE_FAQ_010_P1":"Имамо десктоп апликације за Windows, Mac и Linux. За мобилне уређаје подржавамо Android и iOS, али имајте на уму да је iOS ограничен у функционалности (не подржава већину додатака).","WEBSITE_MAINPAGE_FAQ_010_P2":"Постоји много уређаја заснованих на Android-у на којима можете покренути Stremio, као што су NVIDIA Shield и Amazon Fire Stick, али их званично не подржавамо.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"Имамо десктоп апликације за Windows, Mac и Linux. Такође, имамо наменске апликације за Android мобилни и Android ТВ. За iOS и iPadOS предлажемо коришћење Stremio Web-а, иако је више ограничен у функционалностима.","WEBSITE_MAINPAGE_FAQ_011_H1":"Можете ли да додате одређени садржај у Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Жао нам је, ми сами не пружамо никакав садржај, али што више Stremio додатака инсталирате, више садржаја ћете моћи да пронађете.","WEBSITE_MAINPAGE_FAQ_012_H1":"Може ли Stremio да репродукује магнет линкове?","WEBSITE_MAINPAGE_FAQ_012_P1":"Да, и такође може да репродукује нормалне HTTP линкове и торент фајлове (превуците и испустите).","WEBSITE_MAINPAGE_FAQ_013_H1":"Могу ли да преузмем видео снимак и гледам га офлајн?","WEBSITE_MAINPAGE_FAQ_013_P1":"Доступност офлајн је надолазећа функција, али ако дозволите апликацији Stremio да се кешира на вашем уређају (са панела подешавања), можете гледати видео снимке касније без мрежне везе.","WEBSITE_MAINPAGE_FAQ_014_H1":"Ништа не ради, помозите ми!","WEBSITE_MAINPAGE_FAQ_014_P1":"Да ли сте сигурни да сте инсталирали додатке? Ако јесте, проверите наш ${1}центар за помоћ${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"Како Stremio одржава своје развојне операције?","WEBSITE_MAINPAGE_FAQ_015_P1":"Повремено приказујемо ненаметљиве рекламе, али разматрамо прелазак на модел донације.","WEBSITE_MAINPAGE_FAQ_015_P2":"За више питања, идите у наш ${1}центар за помоћ${2}.","HELP_LEARN_MORE":"Помозите нам да сазнамо више о вама.","LIFESTYLE":"Животни стил","SPORTS":"Спортови","FOOD_HEALTH":"Храна и здравље","BEAUTY_FASHION":"Лепота и мода","NEWS":"Вести","GAMING":"Видео игре","SCIENCE_EDUCATION":"Наука и образовање","MUSIC":"Музика","TRAVEL":"Путовања","LATE_NIGHT":"Касна ноћ","REALITY":"Ријалити","COMEDY":"Комедија","DIY":"Уради сам","TECH":"Технологија","CINEMA":"Биоскоп","CONTINUE":"Настави","SLOW_LOADING":"СПОРО УЧИТАВАЊЕ?","I_GIVE_UP":"ОДУСТАЈЕМ","LEARN_MORE":"Сазнај више","POOR_SOURCE":"Овај извор је слабо доступан или ваша интернет веза није довољно брза","PICK_CATEGORIES_ERR":"Морате изабрати најмање 3 категорије","ADJUST_TIMING":"Подешавање тајминга помоћу ","ADJUST_SIZE":"Подешавање величине помоћу ","SEARCH_ANYTHING":"Можете претраживати било шта...","ALL_CATEGORIES":"Све","SEARCH_CATEGORIES":"Филмови, серије, YouTube и ТВ","SEARCH_PERSONS":"Глумци, режисери и писци","SEARCH_PROTOCOLS":"HTTP и магнет линкови","SEARCH_TYPES":"IMDB / TVDB линкови","WATCHED":"Одгледано","SHOW_LESS":"Прикажи мање","LAST_SEARCHES":"Последње претраге","CLEAR_HISTORY":"Очисти историју","CHOOSE_SOME":"ИЗАБЕРИТЕ НЕШТО ОД ОВОГА:","NO_WEB_REMOTE":"Удаљени веб није могао да се учита","STREMIO_OFFLINE":"Stremio је офлајн","STREMIO_EXPENSIVE_CONNECTION":"Открили смо да користите мобилне податке, желите ли да наставите?","USE_DATA":"Користи податке","WARNING":"Упозорење","MORE_INFO":"Више информација ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Учитавање ...","STREMIO_TV_BACK_TO_LANGUAGES":"Назад на језике","STREMIO_TV_REMOTE":"Удаљено","STREMIO_TV_GO_TO":"Идите на:","STREMIO_TV_OR_SCAN":"или скенирајте:","STREMIO_TV_ADDON_INSTRUCTIONS":"Пратите упутства да бисте инсталирали жељене додатке.","STREMIO_TV_LIVE_TV":"ТВ уживо","STREMIO_TV_RESUME_WATCHING":"Наставите да гледате","STREMIO_TV_LOADING_BACKGROUND":"Учитавање позадине","STREMIO_TV_CHECKING_AUTHENTICATION":"Провера аутентичности","STREMIO_TV_LOADING_BOARD":"Учитавање табле","STREMIO_TV_LOGIN_HEADER_LINE_1":"Желимо да наши корисници имају најбоље могуће персонализовано искуство са нашим софтвером.","STREMIO_TV_LOGIN_HEADER_LINE_2":"Из тог разлога вас љубазно молимо да направите и/или се пријавите на свој налог.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Хвала на разумевању,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Stremio тим","STREMIO_TV_REMOTE_INSTRUCTIONS":"Да бисте користили веб даљински са својим паметним телефоном / таблетом / десктопом:","STREMIO_TV_WIFI_SETUP":"Подешавање Wi-Fi мреже","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle није открио интернет везу.","STREMIO_TV_WIFI_DETAILS_1":"Повежите се на:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Користите лозинку:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Отворите веб-прегледач са линком:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Подразумевано","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"По последњем гледању","STREMIO_TV_LIBRARY_SORT_NAME":"По називу","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"По називу опадајуће","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"По броју гледања","STREMIO_TV_LIBRARY_SORT_WATCHED":"По одгледаном","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"По неодгледаном","STREMIO_TV_DETAILS_SEASON_NUMBER":"Сезона ${1}","STREMIO_TV_STREAMS_LOADING":"Учитано ${1} / ${2} додатака...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} додатак се још увек учитава...","STREMIO_TV_PLAYER_SETTINGS":"Подешавања плејера","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Кашњење титлова","STREMIO_TV_PLAYER_AUDIO_DELAY":"Кашњење звука","STREMIO_TV_PLAYER_VIDEO_SCALING":"Скалирање видео снимка","STREMIO_TV_PLAYER_CHAPTERS":"Поглавља","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Прескочи ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Неподржани извор стрима","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Отварање спољног линка није успело","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Није подесиво у режиму пролаза звука","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Пуштање помоћу ExoPlayer-а","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Пуштање помоћу libVLC плејера","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Прелазак на libVLC плејер због грешке при репродукцији ","STREMIO_TV_ADDONS_TITLE":"Користите Stremio на свом телефону или рачунару да бисте инсталирали или конфигурисали додатке и притисните „Синхронизуј додатке”","STREMIO_TV_ADDONS_SUBTITLE":"Напомена: уверите се да користите исти Stremio налог ","STREMIO_TV_ADDONS_SYNC_ADDONS":"Синхронизуј додатке","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Додаци су успешно синхронизовани","STREMIO_TV_ADDONS_SYNC_FAILED":"Синхронизација додатака није успела","STREMIO_TV_META_LINK_FAILED":"Отварање мета линка није успело","STREMIO_TV_CATALOG_LOADING":"Каталог се још увек учитава...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Језик интерфејса је ажуриран","STREMIO_TV_SETTINGS_THEME_UPDATED":"Тема је ажурирана","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Подразумевани плејер","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Спољни плејер","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Преферирани језик","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Други преферирани језик","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Тунелована репродукција","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Могући проблеми са репродукцијом на неким уређајима","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Неки формати видео снимака можда неће радити","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Подударање брзине кадрова","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Онемогућено","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Само брзина кадрова","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Брзина кадрова и резолуција","STREMIO_TV_SETTINGS_NO_CACHING":"Нема кеширања","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Подразумевано","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Меко","STREMIO_TV_SETTINGS_PROFILE_FAST":"Брзо","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ултра брзо","STREMIO_TV_SETTINGS_SERVER_URL":"URL сервера за стримовање","STREMIO_TV_SETTINGS_SERVER_VERSION":"Верзија сервера","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Непознато","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Верзија апликације Stremio","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Измена URL-а сервера","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Унесите URL сервера за стримовање","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Приказ статистике током учитавања","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"Да бисте прочитали политику приватности апликације Stremio, посетите:","STREMIO_TV_SETTINGS_TOS_TEXT":"Да бисте прочитали услове и одредбе апликације Stremio, посетите:","STREMIO_TV_NAV_SEARCH":"Претрага","STREMIO_TV_NAV_HOME":"Почетна","STREMIO_TV_NAV_DISCOVER":"Откриј","STREMIO_TV_NAV_LIBRARY":"Збирка","STREMIO_TV_NAV_MOVIES":"Филмови","STREMIO_TV_NAV_SERIES":"Серије","STREMIO_TV_NAV_CHANNELS":"Канали","STREMIO_TV_NAV_TV":"ТВ уживо","STREMIO_TV_NAV_SETTINGS":"Подешавања","STREMIO_TV_NAV_ADDONS":"Додаци","STREMIO_TV_LOGIN_TITLE":"Повежите налог","STREMIO_TV_LOGIN_EXPIRES_IN":"Истиче за","STREMIO_TV_LOGIN_STEP_ONE":"Скенирајте QR кôд изнад или идите на","STREMIO_TV_LOGIN_STEP_TWO":"Пријавите се на свој Stremio налог","STREMIO_TV_LOGIN_NEW_LINK":"Затражите нови линк","STREMIO_TV_LOGIN_LINK_REFRESHED":"Кôд за пријаву је освежен","STREMIO_TV_SEARCH_PLACEHOLDER":"Откуцајте нешто","STREMIO_TV_SEARCH_NO_ADDONS":"Нису тражени додаци за каталоге!","STREMIO_TV_SEARCH_BUTTON":"Претрага","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Историја претраге","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Можете претраживати наслове, глумце, канале и још много тога...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Очисти историју претраге","STREMIO_TV_FILTERS_DESCRIPTION":"Изаберите један од филтера у наставку","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Сервер за стримовање је офлајн. Проверите подешавања сервера.","FILTERS":"Филтери","SETTINGS":"Подешавања","ACCOUNT":"Налог","LOGOUT":"Одјава","THEMES":"Теме","PLAYBACK":"Репродукција","PLAYBACK_SPEED":"Брзина репродукције","AUDIO_TRACKS":"Аудио снимци","UNKNOWN_TRACK_LANG":"Непознато","VIDEOS":"Видео снимци","SERVER":"Сервер","LINKS":"Линкови","ABOUT":"О нама","INTERFACE":"Интерфејс","ANIMATIONS":"Анимације","STATUS":"Статус","LANGUAGE":"Језик","SIZE":"Величина","DELAY":"Кашњење","BOLD":"Подебљано","OPACITY":"Непрозирност","TEXT_COLOR":"Боја текста","OUTLINE_COLOR":"Боја оквира","BACKGROUND_COLOR":"Боја позадине","BACKGROUND_BLUR":"Замагљивање позадине","SEEK_TIME_DURATION":"Трајање тражења","AUTO_PLAY":"Аутоматски пусти следећу епизоду","PLAY_NOW":"Пусти сада","MARK_AS_WATCHED":"Означи као одгледано","MARK_AS_UNWATCHED":"Означи као неодгледано","REWIND_TO_BEGINNING":"Премотај на почетак","CONTINUE_WATCHING":"Наставите да гледате","ALL":"Све","SECONDS":"секунди","ON":"УКЉУЧЕНО","OFF":"ИСКЉУЧЕНО","RELOAD":"Поново учитај","EDIT_URL":"Измени URL","NONE":"Ниједно","EMBEDDED":"Уграђено","REMOTE_SWITCH_DEVICES":"Замена уређаја","REMOTE_VIDEOS":"Видео снимци","REMOTE_ADJUST_TIMING":"Подешавање тајминга","REMOTE_ADJUST_SIZE":"Подешавање величине","REMOTE_COULD_NOT_BE_LOADED":"Веб даљински није могао да се учита","REMOTE_RETRY":"Покушај поново","TORRENT_PROFILE_DEFAULT":"Подразумевано","TORRENT_PROFILE_SOFT":"Меко","TORRENT_PROFILE_FAST":"Брзо","TORRENT_PROFILE_ULTRA_FAST":"Ултра брзо","FAQ_001_H1":"Шта је Stremio?","FAQ_001_P1":"Stremio је софтвер за медијски центар дизајниран за видео забаву са лакоћом коришћења на уму. Stremio вам омогућава да организујете и гледате сопствену колекцију филмова, серија, канала и ТВ уживо.","FAQ_001_P2":"Stremio прикупља садржај који вам приказује са вашег локалног диска и нашег система додатака.","FAQ_001_P3":"Такође, обавестиће вас када изађу нове епизоде/видео снимци/филмови за које сте заинтересовани и даће вам препоруке за филмове.","FAQ_02_H1":"Како се Stremio пореди са Kodi-јем и Plex-ом? ","FAQ_02_P1":"Инспирисани смо од стране та два софтвера. Међутим, ми имамо различите циљеве - Stremio је посебно усмерен на видео забаву и настоји да постане главно решење за то тако што је веома једноставан за коришћење.","FAQ_02_P2":"Stremio никада неће бити тако прилагодљив и богат функцијама као Kodi и Plex, али је знатно лакши за коришћење. Само га ${1} набавите и видећете ${2} :)","FAQ_03_H1":"Како се Stremio пореди са Netflix-ом?","FAQ_03_P1":"Опет, Netflix је једна од наших инспирација. Трудимо се да постигнемо корисничко искуство као Netflix-ово, плус много додатака. Међутим, што је најважније, дајемо вам слободу да управљате сопственом збирком и додајете нове изворе садржаја помоћу нашег система додатака.","FAQ_03_P2":"То чини Stremio бескрајно проширивим, тако да када користите Stremio, никада нисте ограничени на садржај који Netflix одлучи да лиценцира. На пример, преко апликације Stremio можете да гледате садржај са платформи ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8}, па чак и сам ${9}Netflix${10}!","FAQ_04_H1":"Како се Stremio пореди са Flipboard-ом?","FAQ_04_P1":"Не добијамо то питање тако често, осим када разговарамо са почетницима :)","FAQ_04_P2":"Stremio је по дизајну агрегатор садржаја, што га у суштини чини Flipboard-ом за видео снимке. Ово је веома очигледно у нашем одељку „Табла”, који вам даје каталоге и обавештења о новим епизодама/новим видео снимцима за оно што пратите, баш као и Flipboard.","FAQ_05_H1":"Како се Stremio пореди са Popcorn Time-ом?","FAQ_05_P1":"Stremio и Popcorn Time су слични у корисничком интерфејсу, јер нема много начина да се прави каталог видео забаве :)","FAQ_05_P2":"Међутим, док је Popcorn Time фокусиран на стримовање торента из одређених извора, Stremio је неограничен и само је агрегатор садржаја – није закључан у одређеном извору садржаја.","FAQ_05_P3":"Штавише, ми подразумевано не обезбеђујемо никакве torrent додатке, тако да Stremio не покрива случај употребе апликације Popcorn Time званичном функционалношћу.","FAQ_05_P4":"Још једна значајна разлика је у томе што је Popcorn Time потпуно отвореног кода, док је Stremio ${1} делимично отвореног кода${2}.","FAQ_06_H1":"Хоћете ли додати овај филм/серију?","FAQ_06_P1":"Не, жао нам је :(","FAQ_06_P2":"Као што је поменуто у већини других питања, Stremio не пружа никакав садржај сам по себи – све се додаје преко система додатака. У случају да имате захтев за садржај, можете да користите дугме „Пријави” у плејеру, које ће послати имејл аутору додатка који тренутно користите.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Хоћете ли направити додатак за X?","FAQ_08_P1":"То је сасвим могуће.","FAQ_08_P2":"Ако имате идеју за додатак, пошаљите нам поруку на ${1}office@stremio.com${2}, али уверите се да ваша идеја за додатак неће кршити било каква ауторска права или услове коришћења.","FAQ_08_P3":"У овом тренутку, следеће ствари у нашем плану су додаци за FandangoNOW, Filmon.tv видео снимак на захтев (VOD) и Crunchyroll.","FAQ_09_H1":"Да ли Stremio користи BitTorrent?","FAQ_09_P1":"Да, Stremio подржава BitTorrent као протокол за стримовање. Можете га користити или са торент додатком или превлачењем и испуштањем .torrent фајла у Stremio или лепљењем магнет линка у траку за претрагу.","FAQ_09_P2":"Имајте на уму да је једини званични додатак који користи BitTorrent ${1}Vodo${2}, који пружа независни (инди) садржај и све је дозвољено за дистрибуцију уз BitTorrent.","FAQ_09_P3":"Не подржавамо употребу додатака трећих страна који могу омогућити кршење ауторских права.","FAQ_10_H1":"Шта могу да гледам у апликацији Stremio са званичним додацима?","FAQ_10_P1":"Подразумевано, можете да гледате Filmon.tv, YouTube и Vodo садржај унутар саме апликације Stremio, са уграђеним плејером. Поред тога, имамо додатак за Twitch.tv и неколико других.","FAQ_10_P2":"Ово комбиновано пружа избор:","FAQ_10_L1":"Популарни ТВ канали, које обезбеђује Filmon.tv - на пример - Е4, BBC, Bollyworld TV","FAQ_10_L2":"Све са YouTube-а - на пример - BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Независни (инди) филмови са Vodo","FAQ_10_L4":"Онлајн емитовање видео игара са Twitch.tv","FAQ_10_P3":"Поред тога, постоји много извора садржаја који су обезбеђени уз Guidebox и Netflix додатке, који се <b>не</b> репродукују у потпуности унутар апликације Stremio, већ бивају преусмерени на дату услугу. На пример, додатак Guidebox би вам дао избор филмова које можете бесплатно да стримујете у САД, са услуга као што су TubiTV и Crackle.","FAQ_11_H1":"Stremio неће да се инсталира, шта да радим?","FAQ_11_P1":"Ако користите Windows, испробајте ${1}овај алтернативни програм за инсталацију${2}. ","FAQ_11_P2":"Ако користите Mac OS X, имајте на уму да не подржавамо ништа старије од OS X Mavericks (10.9).","FAQ_11_P3":"Ако користите Linux, имајте на уму да тренутно подржавамо само 64-битни (x64) Linux.","FAQ_11_P4":"Ако и даље не можете да решите проблем, пишите нам у ${1}нашој Facebook групи${2}.","FAQ_12_H1":"Зашто се мој антивирус активира? Да ли је Stremio безбедан?","FAQ_12_P1":"Уверавамо вас да је Stremio ${1}100% чист${2}.","FAQ_12_P2":"Ваш антивирус се активира зато што програм за инсталацију садржи рекламе и неки антивирусни програми га препознају као рекламни софтвер.","FAQ_12_P3":"Ако још увек нисте сигурни, можете да испробате наш ${1}алтернативни програм за инсталацију${2}.","FAQ_13_H1":"Како могу да направим додатак?","FAQ_13_P1":"За почетак, препоручујемо вам да проверите наш ${1}системски модул додатака${2} на GitHub-у.","FAQ_13_P2":"Након тога, можете да пратите ${1}„Hello World” туторијал${2}.","FAQ_13_P3":"Ако немате никакве вештине програмирања, објавите своју идеју у ${1}Reddit заједницу${2} и контактирајте нас са идејом за додатак на ${3}office@stremio.com${4}.","FAQ_14_H1":"Како се објављују додаци?","FAQ_14_P1":"Када направите додатак и хост и ставите поље <b>крајње тачке</b> у свој манифест, које указује на радну адресу додатка, додатак ће се аутоматски објавити у нашем ${1}каталогу додатака${2}.","FAQ_14_P2":"Ово се дешава зато што серверски део модула Stremio додатака аутоматски позива наш API да најави додатак. Када наш API потврди вашу <b>крајњу тачку</b> као важећи додатак, он ће почети да се приказује у каталогу.","FAQ_15_H1":"Могу ли да покренем Stremio у свом прегледачу?","FAQ_15_P1":"Не, тренутно, али то стиже!","FAQ_15_P2":"Ако сте радознали да видите алфа верзију, можете је видети овде: ${1}alpha4.strem.io${2}. Имајте на уму да је стримовање онемогућено на овој алфа верзији. Подржавамо Chrome, Firefox, Opera и Edge прегледаче.","FAQ_16_H1":"Пребацивање на ТВ не ради / титлови не раде","FAQ_16_P1":"Пребацивање на ТВ користи DLNA технологију која је веома неконзистентна између различитих брендова и модела телевизора. Из тог разлога, немамо могућност да тестирамо у сваком случају, тако да је далеко од савршеног. Упркос томе, стално радимо на побољшању, али не можемо да вам дамо временску процену када ће DLNA почети исправно да ради са вашим телевизором.","FAQ_16_P2":"Ако, чак, ни не видите свој телевизор у менију за пребацивање, покушајте да онемогућите мрежну везу и поново је омогућите (на Windows-у, кликните десним тастером миша на Мрежу и користите Омогући/Онемогући), као и да рестартујете рутер, телевизор и рачунар.","FAQ_16_P3":"Ако и даље наилазите на проблеме, можете нам помоћи тако што ћете послати информације о бренду и моделу телевизора на ${1}office@stremio.com${2}.","FAQ_16_P4":"У међувремену, препоручујемо Chromecast, који веома добро подржавамо, а можете и једноставно прикључити телевизор на рачунар помоћу HDMI кабла.","FAQ_17_H1":"Stremio се замрзава и/или отказује, шта могу да урадим?","FAQ_17_P1":"Пре свега, ако користите Windows 7 са AVG антивирусом: имамо проблем са том комбинацијом. Проблем је у самом AVG-у и не постоји разуман начин да га решимо са наше стране. Нажалост, изузеци или онемогућавање антивируса неће радити. Једино решење је да замените AVG нечим другим.","FAQ_17_P2":"Ако то није проблем, али свакако користите Windows, ажурирајте на најновији сервисни пакет и ажурирајте/поново инсталирајте драјвере за GPU, а затим покушајте поново.","FAQ_17_P3":"Ако ваш проблем још увек није решен или користите Mac или Linux, пишите нам тако што ћете пријавити тачне детаље проблема у ${1}нашој Facebook групи${2}.","FAQ_18_H1":"Како могу да направим додатак?","FAQ_18_P1":"За почетак, препоручујемо вам да проверите наш ${1}системски модул додатака${2} на GitHub-у.","FAQ_18_P2":"Након тога, можете да пратите ${1}„Hello World” туторијал${2}.","FAQ_18_P3":"Ако немате никакве вештине програмирања, објавите своју идеју у ${1}Reddit заједницу${2} и контактирајте нас са идејом за додатак на ${3}office@stremio.com${4}. ","FAQ_19_H1":"Зашто Stremio заузима меморијски простор на диску?","FAQ_19_P1":"Stremio има <b>локални кеш</b> за привремено чување видео фајлова које стримујете.","FAQ_19_P2":"Ово има две предности: прво, омогућава апликацији Stremio да унапред баферује видео снимак како би се обезбедио глађе стримовање. Друго, чува видео снимке у локалном кешу тако да можете да наставите да их гледате офлајн.","FAQ_19_P3":"Колико Stremio чува зависи од подешавања <b>кеша</b> на панелу подешавања. Stremio може да задржи подешену количину (нпр. 2GB) на вашем диску, осим ако тренутно стримовани видео снимак није већи од тога, у том случају мора да додели довољно меморије да га задржи док га не стримујете.","FAQ_20_H1":"Где је фолдер кеша?","FAQ_20_P1":"На Windows-у, то је stremio-cache на диску који сте изабрали у подешавањима (нпр. \\"Е:\\\\stremio-cache\\")","FAQ_20_P2":"На MacOS-у, то је \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"На Linux-у, то је \\"~/.stremio/stremio-cache\\" или \\"~/stremio-cache\\"","FAQ_21_H1":"Добијам грешку „Сервер за стримовање није пронађен“, шта да радим?","FAQ_21_P1":"Ако добијете ову грешку, то значи једну од неколико ствари:","FAQ_21_P2":"1) Покушавате да користите додатак који подржава YouTube/BitTorrent извор, преко наше ${1}веб верзије${2}. У овом случају, требало би да инсталирате нашу десктоп верзију са ${3}нашег веб-сајта${4}.","FAQ_21_P3":"2) Нешто није у реду са вашом Stremio инсталацијом. У овом случају, покушајте да поново инсталирате нашу најновију верзију за рачунар са ${1}веб-сајта${2}. Ако ово не помогне, покушајте да онемогућите антивирусне програме и заштитне зидове, рестартујте рачунар и покушајте поново. Ако ни ово не функционише, пишите нам у ${3}нашој Facebook групи${4}.","FAQ_22_H1":"Не могу да видим/користим већину додатака на iOS-у","FAQ_22_P1":"Због ограничења у условима и одредбама Apple App Store-а, ограничили смо iOS апликацију само на одређени скуп додатака.","FAQ_22_P2":"Међутим, будите сигурни – биће више додатака за iOS у будућности, а можда ћемо додати и интеграцију која ће вам омогућити да користите све Stremio додатке захваљујући повезивању iOS апликације са Stremio сервером за стримовање."}')},24662:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Film","TYPE_series":"Serie","TYPE_tv":"TV-kanal","TYPE_channel":"Kanal","TYPE_other":"Annat","TYPE_movie_PL":"Filmer","TYPE_series_PL":"Serier","TYPE_tv_PL":"TV-kanaler","TYPE_channel_PL":"Kanaler","TYPE_other_PL":"Annat","TYPE_ALL":"Allt","TYPE":"Typ","CATALOG_com_linvo_cinemeta_top":"Populärt","CATALOG_com_linvo_cinemeta_imdbRating":"Utvalda","CATALOG_com_linvo_cinemeta_year":"Nytt","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain-filmer","VIDEO":"Video","BACK":"Tillbaka","MORE":"Mer","DONE":"Klar","COPY":"Kopiera","SUCCESS":"Lyckades","ERROR":"Fel","SETTINGS_CASTING_MODE_PICKER":"Casting-läge","CASTING_MODE_HLSV2":"Standard","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Ingen transkodning","Discover":"Upptäck","Board":"Hem","Library":"Bibliotek","My Library":"Mitt bibliotek","Calendar":"Kalender","NOTIFICATION_ONLINE":"Du är nu online","NOTIFICATION_OFFLINE":"Du är för närvarande offline","INTERNET_CONNECTION":"Nätverksanslutning","STORAGE_FULL_TITLE":"Varning: Lagringsutrymmet är fullt!","STORAGE_FULL_TEXT":"Stremio kommer inte att kunna spara dina inställningar, preferenser eller inloggningsinformation. Överväg att starta om eller ominstallera Stremio.","SEARCH":"Sök","SEARCH_NO_RESULTS":"Inga resultat hittades","SEARCH_EXPLANATION_CONTENT":"Sök efter filmer, serier, YouTube och TV-kanaler","SEARCH_EXPLANATION_PEOPLE":"Sök efter skådespelare, regissörer och författare","SEARCH_PASTE_LINKS":"Klistra in HTTP- och magnetlänkar","SEARCH_OR_PASTE_LINK":"Sök eller klistra in länk","SEARCH_SUGGESTIONS":"Sökförslag","ADD_TO_LIB":"Lägg till i biblioteket","REMOVE_FROM_LIB":"Ta bort från biblioteket","ADDED_TO_LIB":"Tillagt i biblioteket","REMOVED_FROM_LIB":"Borttagen från biblioteket","TRAILER":"Trailer","WATCH_TRAILER":"Titta på trailer","WATCH_NOW":"Titta nu","SHOW":"Visa","SHOW_MOVIE":"Visa film","WATCH_RANDOM":"Titta på slumpmässigt","IMDB_RATING":"Betyg på IMDB","YEAR":"År","DIRECTOR":"Regissör","WRITER":"Manusförfattare","LEAD_ACTORS":"Huvudskådespelare","CAST":"Rollista","CREW":"Produktionsteam","SHOW_MORE_CAST":"Visa mer »","AIRED":"Utgiven","SEASONS":"Säsonger","GENRE":"Genre","GENRE_ALL":"Alla genrer","CATALOG":"Katalog","SUMMARY":"Sammanfattning","SHOW_MORE":"Visa mer","SIMILAR":"Liknande","UPCOMING":"Kommande","ENDED":"Avslutad","DURATION":"Speltid","FEATURED":"Utvalda","METADATA":"Metadata","CATEGORY":"kategori","LINKS_GENRES":"Genrer","LINKS_CAST":"Rollista","LINKS_DIRECTORS":"Regissörer","SEARCH_VIDEOS":"Sök efter video","SEARCH_PLACEHOLDER":"sök eller klistra in magnetlänk","ADDON":"Tillägg","ADDONS":"Tillägg","OFFICIAL":"Officiella","ADDONS_OFFICIAL":"Officiella Stremio-tillägg","ADDONS_POPULAR":"Populärt i ditt område","ADDON_FREE":"Gratis tillägg","ADDON_PEERED":"parad","ADDON_SUBSCRIPTION":"Prenumeration på tillägg","ADDON_STREAM_GEORESTRICTED":"icke tillgängligt i ditt område","ADDON_STREAM_OFFLINECACHE":"Offline-cache","ADDON_STREAM_LOCALFILE":"Lokal fil","SHARE_ADDON":"Dela tillägg","AVAILABLE_STREAMS":"Tillgängliga strömmar","NO_STREAM":"Ingen ström","ALL_ADDONS":"Alla","INSTALL_MORE_ADDONS":"För fler strömmar, installera gärna fler tillägg","STREAM_NOT_SUPPORTED":"Den valda strömmen stöds inte på denna plattform.","ADDON_CATALOGUE":"Katalog för tillägg","ADDON_CATALOGUE_MORE":"Fler tillägg »","REPO_ADDED":"Repository tillagt","ADDON_REPO_EXIST_ERR":"Detta tilläggsrepository finns redan","ADDON_REPO_ERR":"Ett fel inträffade vid tillägg av repository","ADDON_ADD_ERR":"Ett fel uppstod vid tillägg av tillägget","ERR_ADDON_PROTECTED":"Skyddat tillägg","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Något gick fel - autentiseringen kan ha misslyckats","ERR_NOT_COLLECTION_URL":"Icke en samlings-URL","ERR_NOT_ADDON_URL":"Icke en tilläggs-URL","ERR_DETECTFROMURL":"Kan inte identifiera från URL","ADDON_DUPLICATE_WARNING":"Varning: Duplicerat tillägg","ADDON_COLLECTION_SET_FAILED":"Misslyckades med att ställa in tilläggsamling","SETTINGS_DATA_EXPORT":"Exportera data","ADDON_PULL_FAILED":"Misslyckades med att hämta tillägg","REFRESH_ON_CLICK":"Klicka för att försöka igen","STILL_IN_THEATER":"Visas fortfarande på bio","WATCH_IN_CINEMA":"Se den på din lokala bio","IN_THEATER":"På bio","GET_TICKETS":"Skaffa biljetter","UPCOMING_EPISODE":"Kommande avsnitt","UPCOMING_EPISODE_MESSAGE":"Detta avsnitt kommer att sändas den","MISSING_DATE_EPISODE":"Saknas sändningsdatum för avsnittet","MISSING_DATE_EPISODE_MESSAGE":"Detta avsnitt kanske inte har sänts ännu","CHANNEL_NOT_SCRAPED":"Den här kanalen är inte skrapad än.<br>Kom tillbaka om några minuter.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Lägg till den till ditt bibliotek för att bli meddelad när den blir tillgänglig.","GET_NOTIFIED_WHEN_AVAILABLE":"Du kommer att bli meddelad när den blir tillgänglig.","WARNING_STREAMING_SERVER":"Varning: Lokal streaming-server hittades inte. Streaming från YouTube och BitTorrent kommer inte att vara tillgängligt.","WARNING_STREAMING_SERVER_DISMISS":"Avfärda","WARNING_STREAMING_SERVER_LATER":"Senare","DECODER_WARNING":"Varning: Denna video kanske inte stöds av din maskinvara. Kom ihåg att uppspelningen kan vara långsam.","GENERIC_ERROR_MESSAGE":"Något gick fel!","TRY_AGAIN":"Försök igen","CLEAR_DATA":"Rensa data","PLAYER_ERROR":"Hoppsan, fel på spelaren","PLAYER_ERROR_LOOKSLIKE":"Det tycks vara ett fel på spelaren","PLAYER_ORIENTATION":"Spelarorientering","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Låst","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensor","PLAYER_ORIENTATION_LANDSCAPE":"Spelarorientering låst i landskapsläge","PLAYER_ORIENTATION_SENSOR":"Spelarorientering automatisk (sensor)","PLAYER_PLAYBACK_SPEED":"Uppspelningshastighet","PLAYER_PLAYBACK_ERROR":"Uppspelningsfel, försök igen","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Okänt fel","PLAYER_PLAYBACK_ERROR_DEFAULT":"Tyvärr kan denna video inte spelas upp av {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Undertextsspråk","PLAYER_SUBTITLES_VARIANTS":"Undertextsvarianter","PLAYER_SUBTITLES_SETTINGS":"Undertextsinställningar","PLAYER_SUBTITLES_DISABLED":"Undertexter är avaktiverade","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Vertikal position","PLAYER_SUBTITLES_LOADED":"Undertexter laddade","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Inbäddade undertexter laddade","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Exklusiva undertexter laddade","PLAYER_SUBTITLES_LOADED_ORIGIN":"Undertexter från {{origin}} laddade","PLAYER_PLAY":"Spela","PLAYER_PAUSE":"Pausa","PLAYER_NEXT_VIDEO":"Nästa video","PLAYER_MUTE":"Slå av ljudet","PLAYER_UNMUTE":"Slå på ljudet","PLAYER_OPEN_IN_EXTERNAL":"Öppna i extern spelare","PLAYER_OPEN_IN_NPLAYER":"Öppna i nPlayer","PLAYER_PLAY_IN":"Spela på {{device}}","PLAYER_LIVE":"Live","PLAYER_NEXT_VIDEO_TITLE":"Kommande på","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Nästa","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Avfärda","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Titta nu","PLAYER_COPY_STREAM_SUCCESS":"Streamlänken har kopierats till ditt urklipp","PLAYER_COPY_STREAM_ERROR":"Misslyckades med att kopiera streamlänken","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Nedladdningslänken kopierades till urklipp","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Det gick inte att kopiera nedladdningslänken","STREAMING_FROM":"Strömmar från","CASTING_TO":"Castar till","NETWORK_STATUS":"Nätverksstatus","STREAM_SPEED":"Nedladdningshastighet:","STREAM_BUFFERED":"Buffrat:","PEERS_INFO":"Information om peers","PEERS_ACTIVE":"Aktiv:","PEERS_CONNECTED":"Ansluten:","PEERS_WAITING":"Väntar:","TRANSCODING_WARNING":"Varning: Konverterar video","STREAM_LOADING":"Laddar strömmen...","PLAYING_LOCAL":"Spelar upp en lokal fil","PLAYING_CACHE":"Spelar upp från cache","WRONG_SUBS":"Felaktiga undertexter","ERR_SUBS_LOADING_TITLE":"Fel vid inläsning av undertexter","ERR_SUBS_LOADING":"Fel vid inläsning av undertexter: Detta kan bero på problemet med tillägget du använder eller din nätverksanslutning","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Följande undertexttillägg misslyckades","ERR_CASTING_UPDATE_TITLE":"Kan inte uppdatera castingenhetsinformation: Streamingservern kan vara offline","CHOOSE_DEVICE":"Välj en enhet att titta på","NO_CAST_DEVICES":"Inga castingenheter tillgängliga.","NO_SETTINGS":"Inga inställningar tillgängliga.","PHONE_TABLET":"Telefon / Platta","SUBTITLES":"Undertexter","SUBTITLES_CHANGE":"Ändra undertexter för ","SUBTITLES_CHANGE_NONE":"Det finns inga andra undertexter för detta språk, beklagar.","SUBTITLES_CHANGE_ACIVE":"För närvarande är undertexter &#35;{{subtitlesDialog.activeIdx + 1}} aktiverade. Klicka på \\"Fortsätt\\" för att aktiverar undertexter &#35;{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Undertexter eller","SUBTITLES_ADJUST_DELAY":"Justera fördröjning av undertexter:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Eller använd tangenterna <span>G</span> / <span>H</span> när du tittar.","SUBTITLES_ADJUST_DELAY_TIP":"TIPS: du kan använda tangenterna <span>G</span> / <span>H</span> när du tittar för att justera.","SUBTITLES_DELAY":"Fördröjning av undertexter:","SUBTITLES_LOADING":"Laddar undertexter...","SUBTITLES_UNAVAILABLE":"Inga externa undertexter tillängliga","SUBTITLES_DISABLED":"Inaktiverat","EXTERNAL_PLAYER_DISABLED":"Inaktiverat","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Tillåt val","EXTERNAL_PLAYER_HINT":"Tips: Du kan ställa in Stremio till att alltid öppna videor med en extern spelare","DONT_SHOW_AGAIN":"Visa inte igen","SERVICE_INSTALL":"Installera","AUDIO":"Ljud","DEFAULT_LANGUAGE":"Standardspråk","DEFAULT_SECONDARY_LANGUAGE":"Sekundärt standardspråk","SEASON":"Säsong","EPISODE":"Avsnitt","EPISODE_ABBREVIATION":"EP","SPECIAL":"Special","SORT":"sortera","SORT_BY":"Sortera på","FILTER":"filtrera","SORT_TRENDING":"Sortera trender","SORT_RECENT":"Sortera efter senaste","SORT_ALPHABET":"Sortera efter alfabetet","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"betyg","SORT_WATCHED":"sett","SORT_YEAR":"År","SELECT_TYPE":"Välj typ","SELECT_SORT":"Välj sortering","SELECT_CATALOG":"Välj katalog","SELECT_GENRE":"Välj genre","SORT_LASTWATCHED":"Efter senast sedda","SORT_NAME":"Efter namn","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"Efter tittade gånger","SORT_NOTWATCHED":"Efter inte sedda","New for You":"Nytt för dig","New Episodes":"Nya avsnitt","New Videos":"Nya videor","Recommendations":"Rekommendationer","LIBRARY_RESUME":"Återuppta","LIBRARY_PLAY":"Spela","LIBRARY_DETAILS":"Detaljer","LIBRARY_RESUME_DISMISS":"avfärda","LIBRARY_CLEAR_PROGRESS":"Rensa videoförlopp","LIBRARY_REMOVE":"Ta bort","LIBRARY_NOT_LOGGED_IN":"Biblioteket är endast tillgängligt för inloggade användare","CALENDAR_NOT_LOGGED_IN":"Kalendern är endast tillgänglig för inloggade användare","NOT_LOGGED_IN_CLOUD":"Få åtkomst till dina favoritfilmer och TV-program när som helst, var som helst","NOT_LOGGED_IN_RECOMMENDATIONS":"Rekommendationer anpassade efter din visningshistorik","NOT_LOGGED_IN_NOTIFICATIONS":"Missa aldrig ett avsnitt igen","NOT_LOGGED_IN_CALENDAR":"Schemalägg din personliga visningskalender","DISCOVER_FEATURED":"Utvalda","DISCOVER_TOP":"Topp","DISCOVER_OSCAR":"Oscarsvinnare","DISCOVER_WARNING_TITLE":"Hoppsan!","DISCOVER_EMPTY_CATALOG":"Detta tillägg returnerade tomt innehåll.","DISCOVER_ADULT_WARNING":"Innehållet är synligt endast för vuxna. Är du 18+?","DISCOVER_NOADDON_WARNING":"Varning: inget Stremio-tillägg aktivt för denna typ. Visar sparade objekt, ingenting kommer att uppdateras.","DISCOVER_LOAD_ERR":"Innehållet laddades inte, ett fel inträffade.","DISCOVER_ADDON_UNINSTALLED":"Detta innehåll är inte längre tillgängligt, du kan ha avinstallerat tillägget.","UNINSTALL_THIS_ADDON":"Avinstallera detta tillägg","ERR_ADDON_NOT_INSTALLED":"Detta tillägg är inte installerat. Installera nu?","DETAIL_RECEIVE_NOTIF_SERIES":"Få aviseringar för nya avsnitt","DETAIL_RECEIVE_NOTIF_VIDEOS":"Få aviseringar för nya videor","SIDEBAR_SHOW_STREAMS":"Visa strömmar","RELAUNCH":"Starta om nu!","UPGRADE":"Uppgradera till den senaste versionen av Stremio","RELOAD_UI":"Ladda om användargränssnittet","MANUAL_UPDATE_TITLE":"Uppdatera din Stremio-version","MANUAL_UPDATE_LINE1":"Du kör en föråldrad version av Stremio, vilket inte rekommenderas.","MANUAL_UPDATE_LINE2":"Vänligen uppdatera så snart som möjligt.","BUTTON_UPDATE_LATTER":"Inte nu","BUTTON_UPDATE_NOW":"Uppdatera","ANONYMOUS_USER":"Anonym användare","DONT_HAVE_ACC":"Har du inget konto?","HAVE_ACC":"Har du redan ett konto?","PASSWORD":"Lösenord","PASSWORD_CONFIRM":"Bekräfta lösenord","EMAIL":"E-post","FB_LOGIN":"Logga in med Facebook","FB_NOTHINGSHARED":"Ingenting delas utan din tillåtelse ","FB_NOPOST":"Vi kommer inte att publicera något på din vägnar","OR":"eller","I_ACCEPT":"Jag accepterar","I_ACCEPT_BY_CLICKING":"Genom att klicka på knappen ovan intygar jag att jag accepterar ","TOS":"Användarvillkor","MUST_ACCEPT_TERMS":"Du måste acceptera villkoren","PASSWORDS_NOMATCH":"Lösenorden matchar inte","SIGN_UP":"Registrera","SIGN_UP_EMAIL":"Registrera dig med e-post","CLICK_TO_SIGN_UP":"Klicka här för att registrera dig.","LOG_IN":"Logga in","LOG_OUT":"Logga ut","EXIT_FULLSCREEN":"Avsluta helskärmsläge","ENTER_FULLSCREEN":"Gå till helskärmsläge","PLAY_URL_MAGNET_LINK":"Spela upp URL/Magnetlänk","HELP_FEEDBACK":"Hjälp och feedback","TERMS_OF_SERVICE":"Användarvillkor","PRIVACY_POLICY":"Integritetspolicy","ABOUT_STREMIO":"Om Stremio","USER_PANEL":"Användarpanel","LOGIN_LABEL":"Logga in","GUEST_LOGIN":"Gästinloggning","GUEST_LOGIN_NOTICE":"Gästinloggning rekommenderas inte. Genom att använda en vanlig inloggning kan Stremio synkronisera din bibliotek, ta emot aviseringar för favoritserier/kanaler. Är du säker på att du vill fortsätta?","GUEST_LOGIN_NOTICE_2":"Gästinloggning rekommenderas inte - du kommer inte att ha synkroniserad bibliotek och meddelanden från tavlan, vilka är viktiga funktioner i Stremio. Är du säker på att du vill fortsätta?","CLICK_HERE":"klicka här","WRONG_PASSWORD":"Fel lösenord. Om du har glömt ditt lösenord, ","SET_A_PASS":"ange ett lösenord","RESET_PASSWORD":"Återsäll lösenord","FORGOT_PASSWORD":"Glömt lösenord?","EMAIL_USED_WITH_FB":"Denna e-postadress användes med en Facebook-inloggning.","INVALID_EMAIL":"Vänligen ange en giltig e-postadress","INVALID_PASSWORD":"Var vänlig skriv in ett giltigt lösenord","CONN_ERR":"Anslutningsfel - var vänlig och försök igen senare.\\n\\nOm problemet kvarstår, inaktivera brandväggar/antivirusprogram (speciellt Bitdefender).","IMPORT_FROM_GUEST":"Importera Bibliotek från ditt gästkonto","RECEIVE_UPDATES_EMAIL":"Få uppdateringar till din e-post från Stremio","LOGIN_FAILED":"Inloggningen misslyckades.","SIGNUP_FAILED":"Registrering misslyckades.","SEARCH_FAILED":"Sökningen misslyckades","EMAIL_USED":"Denna e-post är redan i bruk.","WAITING_FB_LOGIN":"Loggar in med Facebook...","EXTERNAL_PLAYER_TITLE":"Spela i extern spelare","EXTERNAL_REMEMBER_PLAYER":"Vill du komma ihåg ditt val","EXTERNAL_ALWAYS_PLAY":"Ja","EXTERNAL_ONLY_ONCE":"Nej","BEST_FIT":"Bästa passform","FIT_SCREEN":"Anpassa till skärm","FILL":"Fyll","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"Berätta om vad du gillar","INTRO_TASTE_LONG":"Berätta för oss om vad du vill se","INTRO_TASTE_PICK":"Välj {{interestsRemaining}} intressen","INTRO_TASTE_PICK_MORE":"Välj {{interestsRemaining}} intressen till","INTRO_TASTE_HELP_US":"Hjälp oss att lära oss mer om dig.","INTRO_TASTE_CHOOSE_THESE":"Välj några av dessa:","INTRO_TASTE_CHOOSE_MIN":"Välj minst 3 kategorier","INTRO_TASTE_CHOOSE_MIN_ERR":"Du måste välja minst 3 kategorier!","INTRO_TASTE_LIFESTYLE":"Livsstil","INTRO_TASTE_SPORTS":"Sport","INTRO_TASTE_FOOD_HEALTH":"Mat & Hälsa","INTRO_TASTE_BEAUTY_FASHION":"Skönhet & Mode","INTRO_TASTE_NEWS":"Nyheter","INTRO_TASTE_GAMING":"Spel","INTRO_TASTE_SCIENCE_EDU":"Vetenskap & Utbildning","INTRO_TASTE_MUSIC":"Musik","INTRO_TASTE_TRAVEL":"Resor","INTRO_TASTE_LATE_NIGHT":"Senkvällsshow","INTRO_TASTE_REALITY":"Reality","INTRO_TASTE_COMEDY":"Komedi","INTRO_TASTE_DIY":"Gör det själv","INTRO_TASTE_TECH":"Teknik","INTRO_TASTE_CINEMA":"Film","ADDON_NOT_SUPPORTED":"Valt tillägg stöds inte på den här plattformen.","ADDON_DISCLAIMER":"Användandet av tredjeparts-tillägg kommer alltid att vara ditt eget ansvar och faller under lagstiftningen i det område du befinner dig i.","ADDON_ACTIVATE":"Aktivera detta tillägg?","ADDON_REPO_ADD":"URL för tillägsrepo","ADDON_ADD":"Lägg till","INSTALL_ADDON":"Installera tillägg","ADD_ADDON":"Lägg till tillägg","ADD_ADDON_DESCRIPTION":"Du kan lägga till ett tillägg via en extern länk, som visas under Installerade tillägg.","PASTE_ADDON_URL":"Klistra in tillägs-URL","WHATS_NEW":"Nyheter","BUTTON_CONTINUE":"Fortsätt","BUTTON_ACTIVATE":"Aktivera","BUTTON_ACTIVATED":"Aktiverad","BUTTON_CANCEL":"Avbryt","BUTTON_SUBMIT":"Bekräfta","BUTTON_DISMISS_ALL":"Avvisa alla","BUTTON_VIEW_ALL":"visa alla","BUTTON_SEE_ALL":"Se alla","BUTTON_COLOR_TRANSPARENT":"Transparent","OPEN_IN_BROWSER":"Öppna i webbläsare","LIB_EMPTY":"Ditt bibliotek ser tomt ut. Ta reda på hur användbart det kan vara :)","HOW_START":"Så här kan du börja:","LIB_EMPTY_CAL":"Din Kalender visar serier från ditt bibliotek.","HOW_START_CAL":"Så här kan du lägga till en serie:","LIB_EMPTY_BOARD":"Hem visar notifikationer &amp; rekommendationer med anknytning till ditt bibliotek.","HOW_START_BOARD_WAIT":"Lägg gärna till några serier eller kanaler till Bibliotek och ge oss några minuter att behandla dem :)","HOW_START_BOARD":"Så här kan du lägga till serier &amp; filmer till den:","IMPORT_FB":"Importera saker du tycker om från <span>Facebook</span>","IMPORT_TRAKT":"Importera ditt mediebibliotek från <span>Trakt</span>","IMPORT_DISCOVER":"Hitta intressanta saker från <span>Upptäck</span>","IMPORT_DISK":"Importera filmer eller serier som du har på din <span>lokala hårddisk</span>","PLEASE_CREATE_ACC":"Vänligen <u> skapa ett konto </u> för att aktivera synkronisering av Biblioteket &amp; Hem.","IMPORT_DISCOVER_SIGNUP":"Registrera dig och hitta intressanta saker från <span>Discover</span>","IMPORT_DISK_SIGNUP":"Registrera dig och importera filmer eller program du har på din <span>local disk</span>","LIB_EMPTY_CLOUD":"Molnbibliotek","LIB_EMPTY_CLOUD_DESC":"Personligt molnbibliotek synkroniserat på alla enheter","LIB_EMPTY_EARLY":"Tidig fågel","LIB_EMPTY_EARLY_DESC":"Få aviseringar för nya avsnitt","LIB_EMPTY_PERSONAL":"Personligt","LIB_EMPTY_PERSONAL_DESC":"Få personliga rekommendationer","LIB_EMPTY_CALENDAR_DESC":"Schemalägg din personliga tittakalender","LIB_EMPTY_ALL":"Registrera dig för att få alla dessa:","LIB_EMPTY_BEST":"Registrera dig för att få det bästa av Stremio","LIB_EMPTY_OTHER":"Registrera dig för att aktivera Kalender och andra coola funktioner","CALENDAR_ADDED":"Stremio-kalendern har lagts till i din standardskrivbordskalender.","CALENDAR_ADDED_MSG":"Om detta inte fungerar, lägg till denna URL manuellt i din kalenderapplikation","TRAKT_EXPIRED":"Trakt-autentisering har löpt ut, gå till Inställningar och autentisera på nytt","TRAKT_REQUIRES_LOGIN":"Trakt-fel","TRAKT_REQUIRES_LOGIN_MSG":"Du behöver logga in","TRAKT_IMPORT_WATCHED":"Importera","THEME":"Tema","THEME_DEFAULT":"Standard","THEME_ADAPTIVE":"Adaptiv","SETTINGS_LABEL":"Inställningar","SETTINGS_NAV_GENERAL":"Allmänt","SETTINGS_NAV_PLAYER":"Mediaspelare","SETTINGS_NAV_STREAMING":"Strömning","SETTINGS_NAV_SHORTCUTS":"Genvägar","SETTINGS_SHORTCUT_RELOAD_APP":"Ladda om appen","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Öppna Inställningar","SETTINGS_SHORTCUT_SWITCH_TABS":"Byt flikar","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Bläddra genom flikarna framåt","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Bläddra genom flikarna bakåt","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigera mellan menyer","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Gå till Sök","SETTINGS_SHORTCUT_EXIT_BACK":"Avsluta / Gå tillbaka","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Växla meny för uppspelningshastighet","SETTINGS_SHORTCUT_MENU_VIDEOS":"Växla videomeny","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Växla textningsmeny","SETTINGS_SHORTCUT_MENU_INFO":"Växla informationsmeny","SETTINGS_SHORTCUT_FULLSCREEN":"Växla helskärmsläge","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Visa kontroller","SETTINGS_SHORTCUT_PLAY_PAUSE":"Spela / Pausa","SETTINGS_SHORTCUT_VOLUME_UP":"Höj volymen","SETTINGS_SHORTCUT_VOLUME_DOWN":"Sänk volymen","SETTINGS_SHORTCUT_SEEK_NEXT":"Sök nästa","SETTINGS_SHORTCUT_SEEK_PREV":"Sök föreg","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Sök bakåt","SETTINGS_SHORTCUT_SEEK_FORWARD":"Sök framåt","SETTINGS_SHORTCUT_PLAY_NEXT":"Spela nästa","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Öka undertextstorleken","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Minska undertextstorleken","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Öka fördröjningen av undertexter","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Minska fördröjning av undertexter","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Växla sidofält","SETTINGS_SHORTCUT_OR":"eller","SETTINGS_SHORTCUT_TO":"till","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Autentisera","SETTINGS_FACEBOOK_IMPORT":"Importera","SETTINGS_CALENDAR_SUBSCRIBE":"Prenumerera","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Kalenderapp öppnades. Prenumerera på kalendern manuellt.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Kalenderfil laddades ned. Importera den till din kalenderapp.","SETTINGS_INTERFACE_LANGUAGE":"Gränssnittsspråk","SETTINGS_LAUNCH_STARTUP":"Starta vid uppstart","SETTINGS_VLC_DEFAULT":"Spela upp med VLC","SETTINGS_UI_LANGUAGE":"Gränssnittsspråk","SETTINGS_UI_ZOOM":"Gränssnittszoom","SETTINGS_FULLSCREEN_EXIT":"Escape-tangenten avslutar helskärm","SETTINGS_GAMEPAD":"Aktivera stöd för spelkontroll","SETTINGS_CLOSE_WINDOW":"Stäng appen när fönstret är stängt","SETTINGS_SUBTITLES_LANGUAGE":"Standardspråk för undertexter","SETTINGS_SUBTITLES_SIZE":"Standardstorlek för undertexter","SETTINGS_SUBTITLES_BACKGROUND":"Textningsbakgrund","SETTINGS_SUBTITLES_COLOR":"Textningsfärg","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Textningskantfärg","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Textningsbakgrundsfärg","SETTINGS_SEEK_KEY":"Söktid med piltangenter","SETTINGS_SEEK_KEY_SHIFT":"Söktid med piltangenter när Shift hålls ned","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Spolnings- och snabbframåtstid","SETTINGS_BINGE":"Spela automatiskt upp nästa avsnitt","SETTINGS_NEXT_VIDEO":"Visa avisering för att starta nästa avsnitt","SETTINGS_NEXT_VIDEO_TRIGGER":"Visa nästa avsnittsavisering för:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Popup-tid för nästa video","SETTINGS_PLAY_IN_BACKGROUND":"Spela i bakgrunden","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Spela i extern spelare","SETTINGS_RESIZE":"Anpassa fönsterstorlek automatiskt före uppspelning","SETTINGS_OVERRIDE_SERVER":"Åsidosätt webbadressen för strömningsserver (avancerat)","SETTINGS_SERVER_URL":"URL för strömningsserver: ","SETTINGS_SERVER_AVAILABLE":"Strömningsserver är tillgänglig.","SETTINGS_SERVER_UNAVAILABLE":"Strömningsserver är inte tillgänglig.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Fel","SETTINGS_SERVER_CONFIGURE_TITLE":"Konfigurera webbadress för strömningsserver","SETTINGS_SERVER_CONFIGURE_INPUT":"Ange en webbadress till en strömningsserver","SETTINGS_SERVER_CACHE_SIZE":"Cachestorlek","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent-profil","SETTINGS_HTTPS_ENDPOINT":"HTTPS-slutpunkt för strömning: ","SETTINGS_TRANSCODE_PROFILE":"Transcoderingsprofil","SETTINGS_USE_BETA":"Använd alltid senaste betaversionen","SETTINGS_IMPORT_FB":"Importera från Facebook","SETTINGS_IMPORT_DISK":"Importera från lokal hårddisk","SETTINGS_IMPORT_TRAKT":"Importera från Trakt","SETTINGS_PAUSE_MINIMIZED":"Pausa uppspelningen när den är minimerad","SETTINGS_HWDEC":"Hårdvaruaccelererad avkodning","SETTINGS_BACKGROUND":"Bakgrundsuppspelning","SETTINGS_SUBSCRIBE_CALENDAR":"Prenumerera på kalender","SETTINGS_REQ_EXPORT":"Begär dataexport","SETTINGS_ACC_DELETE":"Begär radering av konto","SETTINGS_CHANGE_PASSWORD":"Ändra lösenord","SETTINGS_TOS":"Användarvillkor","SETTINGS_SUPPORT":"Kontakta supporten","SETTING_LANGUAGE":"Språk","SETTINGS_TRAKT":"Trakt-skrobbling","SETTINGS_TRAKT_LOGOUT":"Logga ut från Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Logga ut från Trakt","SETTINGS_SCAN_FOR_REMOTE":"Skanna QR-koden för att öppna fjärrkontrollen","SETTINGS_DESKTOP_NOTIFICATIONS":"Skrivbordsaviseringar","SETTINGS_DATA_SAVER":"Datasparläge","SETTINGS_LANGUAGE_INTERFACE":"gränssnitt","SETTINGS_LANGUAGE_SUBS":"standard undertexter","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Välj ljudspår automatiskt","SETTINGS_DEFAULT_AUDIO_TRACK":"Standardljudspår","SETTINGS_SURROUND_SOUND":"Surround-ljud","SETTINGS_ACCOUNT":"konto","SETTINGS_PLATFORM":"Plattform","SETTINGS_VERSION":"version","SETTINGS_ABOUT":"Om","SETTINGS_MPV_WINDOW":"Starta mediaspelare i ett separat fönster (avancerat)","SETTINGS_PLAY_IN_EXTERNAL":"Starta alltid video i extern spelare","SETTINGS_STORAGE_BUTTON":"Rensa lokal lagring","SETTINGS_STORAGE_MODAL_TITLE":"Är du säker ?","SETTINGS_STORAGE_MODAL_MESSAGE":"Detta kommer att rensa den lokala lagringen och logga ut dig.","SETTINGS_HWDEC_PICKER":"Välj hårdvaruaccelererad avkodningsinställning","SETTINGS_HW_AUTOMATIC":"Automatisk","SETTINGS_HW_DISABLED":"Inaktiverad","SETTINGS_HW_ACCELERATED":"Avkodningsacceleration","SETTINGS_HW_FULL":"Full hårdvaruacceleration","SETTINGS_HW_LEGACY":"Föråldrad","SETTINGS_DISABLED":"Inaktiverad","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Notis om nätverksanslutning","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Fjärr-URL","SETTINGS_COPY_REMOTE_URL":"Kopiera fjärr-URL","SETTINGS_REMOTE_URL_COPIED":"Fjärr-URL har kopierats till ditt urklipp","SETTINGS_SECTION_SUBTITLES":"Undertexter","SETTINGS_SECTION_AUDIO":"Ljud","SETTINGS_SECTION_CONTROLS":"Kontroller","SETTINGS_SECTION_AUTO_PLAY":"Autouppspelning","SETTINGS_SECTION_ADVANCED":"Avancerat","SUBSPICKER_AUDIO":"Ljud","SUBSPICKER_SUBTITLES":"Tilläggsundertexter","SUBSPICKER_BLACK_BACKGROUND":"Använd svart bakgrundsfärg","SUBSPICKER_VERTICAL_OFFSET":"Vertikal offset","SUBSPICKER_SIZE":"Storlek","SUBSPICKER_DELAY":"Fördröjning","SUBSPICKER_EMBEDDED_SUBS":"Inbäddade undertexter","MOBILE_PRIVACY_POLICY":"Integritetspolicy","MOBILE_CRASH_REPORTING":"Kraschrapportering","MOBILE_ZOOM_TO_FILL":"Zooma för att fylla skärmen","MOBILE_PASSTHROUGH":"Digital ljudutgång (genomgång)","MOBILE_RUN_LOW_BATTERY":"Kör på lågt batteri","MOBILE_RUN_FOREGROUND":"Kör som förgrundstjänst","MOBILE_PERFORMANCE":"PRESTANDA & STABILITET","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"QR-koden upphör att gälla om ","MOBILE_LOG_INTO":"Logga in på ditt Stremio-konto ","MOBILE_SCAN_QR":"Skanna QR-koden ovan eller gå till ","MOBILE_LINK_ACCOUNT":"Länka konto","MOBILE_SPEEDPICKER_CANCEL":"Avbryt","MOBILE_SPEEDPICKER_LABEL":"Välj uppspelningshastighet","MOBILE_EMPTY_LIBRARY":"Ditt bibliotek är tomt","MOBILE_NO_ADDON_ACTIVE":"Inget Stremio-tillägg aktivt för denna typ.","MOBILE_ORGANIZER_WARNING":"Stremio Organizer-appen ger begränsad funktionalitet. För en lista över spelbara strömmar och den fullständiga Stremio-upplevelsen, använd Stremio på datorn.","MOBILE_ADDON_LOADING":"laddar fortfarande","MOBILE_ADDONS_LOADING":"tillägg laddas fortfarande","MOBILE_ADDON":"Tillägg","MOBILE_CONFIGURE_ADDON":"Konfigurera ditt tillägg","MOBILE_CONFIGURE_ADDON_LABEL":"Konfigurera tillägg","MOBILE_ORGANIZER_ADDONS_WARNING":"Stremio Organizer-appen tillhandahåller ett begränsat urval av tillägg. För den fullständiga Stremio-upplevelsen, använd Stremio på datorn.","MOBILE_DISCONNECT":"Koppla från","MOBILE_LOOKING_FOR_DEVICES":"Letar du efter enheter...","MOBILE_CAST_TO":"Casta till","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Radera konto","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Radering av konto sker inte omedelbart på grund av juridiska skyldigheter. Efter att ha begärt radering av ditt konto måste du använda en annan e-postadress/facebook-profil för att skapa ett nytt Stremio-konto i framtiden.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Bekräfta borttagning av konto","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Ditt konto har skapats med Facebook. För att radera ditt konto, använd vår användarportal på www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Ange ditt lösenord för att bekräfta borttagningen av kontot.","MOBILE_DELETE_ACCOUNT_BUTTON":"Radera konto","NAVIGATION_ON":"På","NAVIGATION_OFF":"Av","MARKETING_AGREE":"Jag samtycker till att ta emot marknadskommunikation från Stremio","QUIT":"Avsluta","CONNECTED":"Ansluten","AUTHENTICATE":"Autentisera","CACHING":"Cachning","SETTINGS_CACHING_DRIVE":"Inställningar för cacheenhet","ENABLE_LOCAL_FILES_ADDON":"Aktivera tillägget för lokala filer (kräver omstart","LOCAL_ADDON_NOT_ENABLED":"Lokalt tillägg är inte aktiverat. Klicka här för att gå till inställningarna och aktivera det","ENABLE_REMOTE_HTTPS_CONN":"Aktivera fjärranslutningar för HTTPS","TORRENT_PROFILE":"Torrent-profil","DATA_CACHING":"Datacaching","MAGNET_PARSING":"Tolkning av en magnetlänk","January":"Januari","February":"Februari","March":"Mars","April":"April","May":"Maj","June":"Juni","July":"Juli","August":"Augusti","September":"September","October":"Oktober","November":"November","December":"December","Monday":"Måndag","Tuesday":"Tisdag","Wednesday":"Onsdag","Thursday":"Torsdag","Friday":"Fredag","Saturday":"Lördag","Sunday":"Söndag","Action":"Action","Comedy":"Komedi","War":"Krig","Family":"Familj","Animation":"Animerat","Adventure":"Äventyr","Fantasy":"Fantasy","Crime":"Deckare","Mystery":"Mysterium","Romance":"Romantik","Drama":"Drama","Horror":"Skräck","Thriller":"Thriller","Sci-Fi":"Sci-Fi","Music":"Musik","Biography":"Biografi","Documentary":"Dokumentär","Sport":"Sport","Musical":"Musikal","Western":"Western","Film-Noir":"Film-Noir","News":"Nyheter","History":"Historia","Game-Show":"Spel-program","Reality-TV":"Reality-TV","Talk-Show":"Pratprogram","Film & Entertainment":"Film & Underhållning","Gaming":"Gaming","From TV":"Från TV","Lifestyle":"Livsstil","Science & Education":"Vetenskap & Utbildning","Cooking & Health":"Matlagning & Hälsa","Beauty & Fashion":"Skönhet & Mode","Sports":"Sport","News & Politics":"Nyheter & Politik","How-to & DIY":"Gör det själv","Tech":"Teknik","Automotive":"Fordon","Causes & Non-Profits":"Bra saker & Ideella organisationer","Movies":"Filmer","Uk Live Tv":"UK Direkt Tv","Fashion":"Mode","Business News Radio":"Nyhetsradio för företag","Business Tv":"Företags-TV","Cars & Auto":"Bilar & Fordon","Comedy Radio":"Komediradio","Lifestyle Radio":"Livsstilsradio","News Tv":"Nyheter Tv","Food And Wine":"Mat Och Vin","Latino Tv":"Latinsk Tv","Shopping Tv":"Shopping Tv","Religion":"Religion","Kids":"Barn","Body & Soul":"Kropp & Själ","Education":"Utbildning","Indian Tv":"Indisk Tv","Extreme Sports":"Extremsport","Middle Eastern Tv":"Mellanöstern Tv","Celebrity Tv":"Kändis Tv","Science Tv":"Vetenskap Tv","Bikini babe":"Bikini brud","Outdoors":"Utomhus","German Tv":"Tysk Tv","French Tv":"Fransk Tv","Italian Tv":"Italiensk Tv","Gamer Tv":"Gamer Tv","Travel":"Resor","Asian Tv":"Asiatisk Tv","Entertainment":"Underhållning","News Radio":"Nyheter Radio","Music Radio":"Musik Radio","Language Learning":"Språkinlärning","Science Radio":"Vetenskaplig Radio","Tech Radio":"Teknik Radio","Science & Technology Vod":"Vetenskap & Teknik Vod","new video":"nytt videoklipp","new episode":"nytt avsnitt","new movie":"ny film","recommended":"rekommenderad","we recommend":"vi rekommenderar","offer of the day":"dagens erbjudande","news":"nyheter","music video":"musikvideo","CTX_SHOW_HOTKEYS":"Visa snabbtangenter","CTX_DISMISS_NOTIF":"Avisa notifikationer","CTX_DISMISS_ALL":"Avfärda alla","CTX_SHARE":"Dela","CTX_COPY_SHARE_LINK":"Kopiera delningslänk","CTX_COPY_MAGNET_LINK":"Kopiera magnetlänk","CTX_COPY_STREAM_LINK":"Kopiera strömningslänk","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Kopiera länk för videonedladdning","CTX_DOWNLOAD_VIDEO":"Ladda ner den här videon","CTX_DOWNLOAD_SUBS":"Ladda ner undertexter","CTX_VIEW_ON_YOUTUBE":"Se på YouTube","CTX_SHOW":"Visa","CTX_PLAY":"Spela","CTX_PLAY_IN":"Spela i","CTX_PLAY_ON":"Spela på","CTX_WATCH_ON":"Titta på","CTX_WATCH":"Titta","CTX_WATCHED":"Sedd","CTX_WATCH_BEGINNING":"Se från början","CTX_WATCH_MOBILE":"Se på mobilen","CTX_REWIND":"Spola tillbaka till början","CTX_MARK_WATCHED":"Markera som sedd","CTX_MARK_NON_WATCHED":"Markera som osedd","CTX_MARK_UNWATCHED":"Markera som obevakad","CTX_MARK_REST":"Markera resten som bevakad","CTX_UNMARK_REST":"Markera resten som obevakad","CTX_RECEIVE_NEW_NOTIF":"Ta emot nya notifikationer","CTX_ENABLE_NEW_NOTIF":"Aktivera aviseringar","CTX_DISABLE_NEW_NOTIF":"Inaktivera aviseringar","CTX_REMOVE_CACHE":"Ta bort från cache","CTX_REMOVE_CACHE_EP":"Ta bort avsnitt från cache","CTX_OPEN_CONTAINING":"Öppna innehållande mapp","CTX_REMOVE":"Ta bort från bibliotek","CTX_AVAILABLE_OFFLINE":"Tillgänglig Offline","CTX_PAUSED":"Pausad","CTX_ALWAYS_ON_TOP":"Alltid överst","CTX_FULLSCREEN":"Fullskärm","CTX_WRONG_SUBS":"Fel undertexter?","CTX_REPORT_ISSUES":"Rapportera problem","CTX_COPY":"Kopiera","CTX_PASTE":"Klistra in","CTX_CLEAR":"Rensa","CTX_CLEAR_RECENT_SEARCHES":"Rensa senaste sökningar","HELLO_THERE":"Hejsan","HOPE_YOU_ENJOY":"Vi hoppas att ni uppskattar Stremio och det redan är ett av dina favoritprogram!","WHO_ARE_WE":"Vilka är vi? Vi är teamet bakom det - två killar som arbetat hårt varje dag under de senaste 3 åren, med ett enda mål - att göra produkten bättre och bättre.","SUPPORT_US":"Om du tycker om att använda Stremio, om Stremio är värdefullt för dig - stöd oss!","SPREAD_THE_WORD":"Dela med dina vänner nu, sprid ordet om Stremio.","MORE_PEOPLE":"Ju fler människor som använder Stremio, desto bättre kommer det att bli!","SEND_A_LINK":"Eller skicka en länk till vår hemsida","TIP_LOCALFILES":"Tips: du kan dra och släppa lokala videofiler till Stremio","ADDON_MY":"Mina tillägg","ADDON_COMMUNITY":"Community-tillägg","ADDON_OFFICIAL":"Officiella tillägg","ADDON_REPOS":"Tilläggs-repos","ADDON_SEARCH":"Sök efter tillägg","ADDON_INSTALL":"Installera","ADDON_CONFIGURE":"Konfigurera","ADDON_UNINSTALL":"Avinstallera","ADDON_UPGRADE":"Uppgradera","ADDON_INSTALLED":"Installerad","ADDON_INSTALLED_MSG":"Tillägg installerat!","ADDON_UPGRADED_MSG":"Tillägget har uppgraderats!","ADDON_UNKNOWN":"Okänt","ADDON_ERR":"Tilläggsinstallationsfel!","ADDON_DISCONNECTED":"Frånkopplat","ADDON_APP_MISSING":"appen för den här källan är inte installerad. Vill du installera den nu?","ADDON_APP_INSTALL":"Installera nu","ADDON_PAGE":"Tilläggssida","ADDON_TOP_CONTENT":"Bäst från detta tillägg","ADDON_PROVIDES":"tillhandahåller","ADDON_WATCH":"Titta på #{types} nu!","ADDON_WATCH_FREE":"Titta på #{types} GRATIS nu!","ADDON_ADDON":"Tillägg","ADDON_SUPPORTED_TYPES":"Typer som stöds","ADDON_SUPPORTED_CATALOGS":"Kataloger som stöds","ADDON_PROVIDES_DISCOVER":"Mer #{types} i Upptäck","ADDON_PROVIDES_STREAMS":"Titta på #{types}","ADDON_PROVIDES_STREAMS_FREE":"Titta på #{types} GRATIS","ADDON_PROVIDES_SUBTITLES":"Undertexter för #{types}","ADDON_CANTDETECT":"Vi kunde inte upptäcka en startat Stremio, så vi kunde inte identifiera vilka tillägg du har installerat.","ERR_NO_META":"Ingen information hittades om detta ","ERR_GETTING_META":"Det gick inte att hämta information om detta.","ERR_CANT_PARSE_MAGNET":"Kan inte tolka magnet","ERR_NO_MAGNET_INFOHASH":"Inget giltigt infohash för magnet","ERR_NO_FILE_PATH":"Det går inte att skicka förfrågan utan en sökväg till filen","ERR_NO_TORRENT":"Ingen torrent returnerad","ERR_NO_SUPPORTERD_FILES":"Inga filer som stöds hittades","ERR_OPENING_FILES":"Det gick inte att öppna externa filer","ERR_INVALID_LINK":"Ogiltig länk","ERR_REGISTERED_ONLY":"Det här alternativet är endast tillgängligt för registrerade användare.","ERR_CLIPBOARD":"Kan inte spela från urklipp","ERR_CLIPBOARD_READ":"Kan inte läsa urklippet på den här plattformen","ERR_CLIPBOARD_GENERIC":"Ingen spelbar URL hittades i urklippet. Kopiera en URL (t.ex. en magnetlänk) till en video.","BOARD_CONTINUE_WATCHING":"Fortsätt titta","BOARD_EXPLANATION_RECOMMENDATIONS":"Filmer utvalda speciellt för dig.<br />Denna film är en exempelrekommendation.","BOARD_EXPLANATION_EPISODES":"Nya avsnitt av din favoritserie kommer här.<br />Lägg till serier du följer i ditt bibliotek.","BOARD_EXPLANATION_VIDEOS":"Nya avsnitt av dina favoritkanaler kommer här.<br />Lägg till YouTube-kanaler du följer i ditt bibliotek.","WEBSITE_ENJOYED_BY":"Njuts av mer än 30 miljoner användare över hela världen","WEBSITE_STREAMING_ENHANCED":"Förbättrad streaming","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio erbjuder en säker, modern och sömlös underhållningsupplevelse. Med sitt lättanvända gränssnitt och mångsidiga innehållsbibliotek, inklusive 4K HDR-stöd, kan användare njuta av sina favoritfilmer och TV-program på alla sina enheter. Och med sitt engagemang för säkerhet är Stremio det ultimata valet för en bekymmersfri, högkvalitativ streamingupplevelse.","WEBSITE_AVAILABLE_ON":"Tillgänglig på","WEBSITE_WATCH_AND_ENJOY":"Titta och njut.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio gör det lätt som en plätt","WEBSITE_ALL_FEATURES":"Alla funktioner","WEBSITE_EASY_TO_USE":"Lätt att använda","WEBSITE_EASY_TO_USE_DETAILS":"Stremio är designad för att vara användarvänlig och lätt att använda. Med sitt rena och intuitiva gränssnitt kan du enkelt navigera och hitta det innehåll du vill titta på.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Sömlös över enheter","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Tillgänglig för ett brett utbud av plattformar (inklusive Windows, Mac, Linux, Android och fler). Stremio sparar din visningsposition över alla dina enheter. Logga bara in och fortsätt titta där du slutade, utan att behöva konfigurera appen på nytt för varje ny enhet.","WEBSITE_ALL_DOWNLOADS":"Alla nedladdningar","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"Stöd för högupplöst video","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"En integrerad videospelare som stöder de flesta videoformat, inklusive 4K HDR-innehåll, låter dig njuta av högsta möjliga kvalitet.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Varierat innehållsbibliotek","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integreras med ett stort antal populära videokällor, som Netflix, Amazon Prime Video, Hulu, YouTube och många fler.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Skapa ett gratis konto","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Skräddarsydd tittarupplevelse","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio låter dig anpassa utseendet och känslan av gränssnittet genom att ändra tema, lägga till eller ta bort tillägg och mer.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Stöd för flerspråkiga undertexter","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"Du kan nu njuta av allt favoritinnehåll på ditt föredragna språk eftersom Stremio stöder undertexter på alla språk.","WEBSITE_ALL_STREMIO_FEATURES":"Alla Stremio-funktioner","WEBSITE_TRY_STREMIO_TITLE_P1":"Prova Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"På din TV nu","WEBSITE_YOU_CAN_NOW_WATCH":"Du kan nu se alla dina favorit-TV-program på dina Android TV-enheter. Med Stremio TV-appen kan du enkelt njuta av en filmkväll.","WEBSITE_YOU_CAN_NOW_WATCH_2":"Du kan nu se alla dina favorit-TV-program på din Smart TV eller Android TV. Stremio TV-apparna gör det enkelt att njuta av en filmkväll.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio för Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Förmodligen den bästa och mest användbara appen att ha i din enhet. Det är en av apparna jag använder dagligen, särskilt på min Android TV i många år nu. Välgjort med en stark community som ger användbara funktioner. Bra gjort. Fortsätt så.","WEBSITE_REVIEWS":"recensioner","WEBSITE_GET_STREMIO_FOR_FREE":"Skaffa Stremio gratis","WEBSITE_GET_STREMIO_NOW":"Skaffa Stremio nu","WEBSITE_STREMIO_FEATURES":"Stremio-funktioner","WEBSITE_STREMIO_FEATURES_DETAILS":"Streama som ett proffs med Stremios avancerade funktioner och njut av sömlös tillgång till alla dina favoritmedia","WEBSITE_DISCOVER_MORE":"Upptäck mer.","WEBSITE_DISCOVER_MORE_DETAILS":"Få aldrig slut på saker att titta på","WEBSITE_COMMUNITY_DRIVEN":"Driven av communityn","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio har en stor och aktiv community av användare som bidrar till utvecklingen av mjukvaran genom att skapa och dela tillägg.","WEBSITE_GET_INVOLVED":"Bli involverad","WEBSITE_NEW_THEATER_EXPERIENCE":"Ny bioupplevelse","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremios nya dedikerade TV-app låter dig njuta av en filmkväll på dina Android TV-enheter.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremios nya dedikerade TV-appar låter dig njuta av en filmkväll på din Smart TV eller Android TV-enheter.","WEBSITE_FREE_AND_SECURE":"Gratis & Säker","WEBSITE_STREAMING":"Strömning","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio erbjuder oöverträffad säkerhet och integritet för användare. Med sin unika funktion att köra tillägg på distans, ger Stremio ett säkrare sätt att strömma ditt favoritinnehåll jämfört med andra plattformar. Din säkerhet och integritet är högsta prioritet, och plattformen säkerställer att all din data är skyddad.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Säg adjö till oro för säkerhet och integritet och säg hej till en värld av oändlig underhållning med Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information tillhandahållen av","WEBSITE_CONTRIBUTE":"Bidra","WEBSITE_CONTRIBUTE_DESC":"till projektet och hjälp oss att göra Stremio ännu bättre","WEBSITE_COMMUNITY_DESC":"Vi tror att det bästa sättet att skapa en verkligt fantastisk streamingupplevelse är att involvera vår community i processen. Oavsett om du är en programmerare, en artist eller bara ett fan - du kan hjälpa Stremio att växa.","WEBSITE_COMMUNITY_DESC_2":"Så gå med oss ​​idag och bli en del av Stremio-communityt och fortsätt forma framtiden för streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Sätt att engagera sig","WEBSITE_IN_THE_STREMIO_COMMUNITY":"i Stremio-communityt","WEBSITE_SHARE_YOUR_THOUGHTS":"Dela dina tankar","WEBSITE_REPORT_BUGS":"Rapportera buggar","WEBSITE_SUGGEST_FEATURES":"föreslå funktioner","WEBSITE_AND_PROVIDE_FEEDBACK":"och ge feedback på våra sociala mediekanaler.","WEBSITE_BETA_TESTING_PROGRAM":"Beta-testprogram","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Delta i vårt betatestprogram (vi skickar ut inbjudningar regelbundet) i Stremio-communityt","WEBSITE_JOIN_NOW":"Gå med nu!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Officiella Stremio-communityn","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Inofficiella Stremio-communityn","WEBSITE_BECOME":"Bli","WEBSITE_A_VOLUNTEER_TRANSLATOR":"en frivillig översättare","WEBSITE_ARE_YOU_A_DEVELOPER":"Är du en utvecklare?","WEBSITE_CONTRIBUTE_CODE":"Du kan bidra med kod till våra projekt med öppen källkod. Vi har flera projekt på GitHub som söker bidragsgivare. Om du är intresserad av att hjälpa till, kolla in dem:","WEBSITE_STREMIO_ON_GITHUB":"Stremio på GitHub","WEBSITE_CREATE_ADDON_DESC":"Skapa ett tillägg för att förbättra Stremios funktionalitet (vi har ett lättanvänt API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"Vi ger också möjligheten att gå med oss ​​som en intern utvecklare så att vi kan växa tillsammans.","WEBSITE_APPLY_AS_AN_INTERN":"Ansök som praktikant","WEBSITE_CALLING_ALL_ARTISTS":"Uppmaning till alla konstnärer!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Visa upp din kreativitet och kärlek till Stremio genom att ladda upp din fankonst till vårt onlinegalleri. Oavsett om det är en ritning, målning eller digital design vill vi se din unika syn på Stremio-varumärket. Gå med i vår gemenskap av konstentusiaster och dela ditt arbete med andra Stremio-fans runt om i världen.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio-fankonstgalleri","WEBSITE_INTERN_DESIGNER":"Bli en del av vårt team och ta din kreativitet till nya höjder med våra spännande praktikmöjligheter.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies-projekt","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"På Stremio är vi engagerade i att bevara film- och TV-historien genom att identifiera filmer och videor som är allmän egendom eller föräldralösa. Genom att arbeta tillsammans med vår community kan vi se till att dessa klassiska konstverk är tillgängliga för alla och skyddade för framtida generationer att njuta av.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Kontakta oss gärna om du vill engagera dig i det projektet.","WEBSITE_JOIN_THE_PROJECT":"Gå med i projektet","WEBSITE_BE_PART_OF_OUR_MISSION":"Bli en del av vårt uppdrag","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Intresserad av att gå med i Stremio-teamet? Vi erbjuder helt distansarbete för passionerade proffs. Kolla in våra lediga tjänster.","WEBSITE_OPEN_POSITIONS":"LEDIGA TJÄNSTER","WEBSITE_DESCRIPTION":"BESKRIVNING","WEBSITE_LEARN_MORE":"Läs mer","WEBSITE_COMPANY":"Företag","WEBSITE_CONTACTS":"Kontakter","WEBSITE_NEED_HELP":"Behöver du hjälp?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide för Stremio Web på iOS","WEBSITE_LINK_ART_V2":"Fanart-galleri","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"Titta direkt","WEBSITE_SLOGAN_ALL":"Allt videoinnehåll du tycker om på ett ställe","WEBSITE_SLOGAN_NEW":"Allt du kan titta på","WEBSITE_SLOGAN_NEW_NEW":"Frihet att streama","WEBSITE_WATCH_FROM":"Titta från","WEBSITE_DOWNLOAD":"Ladda ner nu","WEBSITE_DOWNLOAD_FOR":"Ladda ner nu för","WEBSITE_IS_DESKTOP":"Stremio är en skrivbordsapplikation, öppna denna sida på din dator och ladda ner den","WEBSITE_DESKTOP_DEMO_VID":"Skrivbordsdemo","WEBSITE_PAGE_HOME":"Hem","WEBSITE_PAGE_FEATURES":"Funktioner","WEBSITE_PAGE_ADDONS":"Tillägg","WEBSITE_PAGE_TECH":"Teknologi","WEBSITE_PAGE_CREATE_ADDON":"Skapa ett tillägg","WEBSITE_PAGE_CONTACTS":"Kontakter","WEBSITE_PAGE_BLOG":"Blogg","WEBSITE_RESET_PASSWORD_MESSAGE":"Vänligen ange ditt önskade nya lösenord nedan.","WEBSITE_RESET_PASSWORD_WARNING":"Är du säker på att du vill återställa lösenordet för ${1}?","WEBSITE_TYPE_movie":"Filmer","WEBSITE_TYPE_series_PL":"Serier","WEBSITE_TYPE_tv":"Live-TV","WEBSITE_TYPE_channel":"Kanaler","WEBSITE_STREMIO_WHAT_IS":"Stremio är en app som hjälper dig att organisera och omedelbart titta på dina favoritvideor, filmer, TV-serier och TV-kanaler.","WEBSITE_FEATURES_WATCH":"Titta direkt i HD","WEBSITE_FEATURES_WATCH_DETAIL":"Klicka och spela upp dina favoritfilmer, TV-program, videor och TV-kanaler.","WEBSITE_FEATURES_SUBS":"Automatiska undertexter","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio väljer automatiskt synkade undertexter för ditt språk.","WEBSITE_FEATURES_SUBS_LABEL":"Ditt drag, chefen.","WEBSITE_FEATURES_CAST":"Spela upp på TV:n & mobila enheter","WEBSITE_FEATURES_CAST_DETAIL":"Casta till AppleTV, Chromecast, Smart TV (DLNA/UPnP) och mobila enheter.","WEBSITE_LIB":"Njut av ditt personliga bibliotek synkroniserat på alla dina enheter","WEBSITE_LIB_COLLECT":"Samla från Stremio","WEBSITE_LIB_IMPORT":"Importera från Facebook","WEBSITE_LIB_LOCAL":"Lägg till från din lokala hårddisk","WEBSITE_BOARD":"Hem - Din samlingsplats för notifikationer och rekommendationer","WEBSITE_BOARD_RECOMMEND":"Rekommenderat TV-program","WEBSITE_BOARD_TRENDING":"Filmtrend","WEBSITE_BOARD_NEW":"Ny video","WEBSITE_BOARD_EPISODE":"Nytt avsnitt","WEBSITE_BOARD_1":"Letar du efter något intressant att titta på? Få rekommendationer baserat på din smak!","WEBSITE_BOARD_2":"Få ett meddelande när ett nytt avsnitt av ditt favoritprogram eller YouTube-kanal är ute!","WEBSITE_BOARD_YOUTUBE":"Nya videor på YouTube-kanaler","WEBSITE_BOARD_EPISODES":"Nya avsnitt av serier du följer","WEBSITE_ADDONS":"Innehållstillägg","WEBSITE_TECH_DETAIL":"Vi älskar teknologi, vi älskar galen forskning!\\nStremio använder följande öppen källkodsteknologier:","WEBSITE_TECH_WCJS":"WebChimera.js tillåter Stremio att spela upp alla videoformat med bra prestanda.","WEBSITE_TECH_WCJS_EXTRA":"Vi är huvudbidragsgivare till projektet","WEBSITE_TECH_ELECTRON":"Electron tillhandahåller en innovativ plattform att bygga Stremio med.","WEBSITE_TECH_ELECTRON_EXTRA":"Vi är bidragsgivare till projektet","WEBSITE_TECH_LINVODB":"En databasteknik som säkerställer att din data är organiserad och tillgänglig var du än loggar in.","WEBSITE_TECH_LINVODB_EXTRA":"Intern teknologi","WEBSITE_CREATE_ADDON":"Skapa ditt tillägg","WEBSITE_CREATE_ADDON_DETAIL":"Har du en tjänst som tillhandahåller videoinnehåll? Vi hjälper dig att dra nytta av Stremios funktioner genom att skapa din Addon.","WEBSITE_CREATE_ADDON_BENEFITS":"Fördelar med att skapa ett tillägg till Stremio","WEBSITE_P2P_BEAUTY":"Det sköna med strömmande via Peer-to-Peer","WEBSITE_P2P_1":"Pålitlig och prisvärd full HD / 4K-video på begäran eller livestreaming","WEBSITE_P2P_2":"Distributionsplattform som ger bra användarupplevelse","WEBSITE_P2P_3":"Vi kommer att skapa ett tillägg som möter dina specifika behov","WEBSITE_P2P_CONTACT":"Intresserad? Du är välkommen att <a href=\'mailto:office@stremio.com\'>kontakta oss</a>.","WEBSITE_P2P_CONTACT_EXTRA":"Vi hjälper dig gärna att integrera ditt innehåll med Stremio!","WEBSITE_P2P":"Nu och då kommer det en teknologi som förändrar situationen. Vi investerade massor av tid och ansträngning för att bygga vår Peer-to-Peer (P2P) strömningsmotor för video som erbjuder bra prestanda and mångsidighet att anpassa sig med alla användningsområden.\\nKontakta oss för DRM-aktiverad P2P-video on demand eller live-sändning.","WEBSITE_THOUGHTS":"Tankar som vi delar:","WEBSITE_SPREAD":"Sprid ordet om Stremio:","WEBSITE_CONTACT":"Om du vill kontakta oss, gå vidare till","WEBSITE_OPENSOURCE":"För våra projekt med öppen källod, går till vår","WEBSITE_BITCOIN":"Donera bitcoin:","WEBSITE_FAQ":"Frekvent ställda frågor","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Frågor","WEBSITE_TOS":"Användningsvillkor","WEBSITE_LEGAL":"Lagligt","WEBSITE_PAGE_ABOUT":"Om","WEBSITE_PAGE_BECOME_PARTNER":"Bli en partner","WEBSITE_ALL_YOU_CAN_WATCH":"Friheten att se\\nAllt du vill.","WEBSITE_FREEDOM_TO_STREAM":"Frihet att streama","WEBSITE_WHAT_IS_STREMIO":"Vad är stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio är en central knutpunkt för sammanställning av videomaterial. Upptäck, organisera och se på video från alla möjliga källor på vilken enhet som helst som du äger.","WEBSITE_WHAT_IS_STREMIO_P2":"Filmer, TV-program, serier, live-tv eller webbkanaler som YouTube och Twitch.tv – allt detta hittar du på Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio är ett modernt mediacenter som är en enda lösning för din videounderhållning. Du upptäcker, tittar på och organiserar videoinnehåll från tillägg som är lätta att installera.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Filmer, tv-program, live-tv eller webbkanaler - hitta allt detta på Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Njut av på alla dina mediaenheter","WEBSITE_DEVICES_COLLECT":"Hämta från Stremio","WEBSITE_DEVICES_IMPORT_FB":"Importera från facebook","WEBSITE_DEVICES_LOCAL":"Lägg till från lokal enhet","WEBSITE_JOIN_THE_PARTY_NOW":"Gå med i festen nu","WEBSITE_DEVICES_ALL":"Lätt att använda på alla dina enheter;","WEBSITE_EXTENDABLE_CATALOG":"Oändligt utbyggbar videokatalog;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Fantastiska funktioner för att organisera dina medier;","WEBSITE_AS_SEEN_ON":"Som sett på","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"Om oss","WEBSITE_LINK_TECHNOLOGY":"Teknologi","WEBSITE_LINK_APPS":"Appar","WEBSITE_LINK_DOWNLOADS":"Nedladdningar","WEBSITE_MORE":"Mer","WEBSITE_LINK_ADDONS":"Tillägg","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Bidra","WEBSITE_LINK_COMMUNITY":"Community","WEBSITE_LINK_BLOG":"Blogg","WEBSITE_MORE_MORE":"... & mer","WEBSITE_LINK_HELP":"Hjälpcenter","WEBSITE_LINK_CONTACTS":"Kontakta oss","WEBSITE_LINK_TOS":"Allmänna villkor","WEBSITE_LINK_PRAVACY":"Integritetspolicy","WEBSITE_SUBSCRIBE":"Prenumerera","WEBSITE_NEWSLETTER":"Gå med i vårt nyhetsbrev för fantastiska saker","WEBSITE_PLACEHOLDER_EMAIL":"Din e-post","WEBSITE_COMMUNITY":"Community","WEBSITE_LINK_PRAVACY_LEGAL":"Integritet & juridik","WEBSITE_WHY":"Varför vi gör det","WEBSITE_WHY_P1":"På Stremio kommer vi till jobbet varje dag för att vi vill lösa ett viktigt problem inom video-on-demand-industrin. Det publiceras så mycket nytt innehåll varje minut att det är praktiskt taget omöjligt att hitta rätt i det.","WEBSITE_WHY_P2":"Vi hjälper människor att navigera i den enorma världen av videounderhållning och upptäcka nytt innehåll att njuta av. Våra appar samlar filmer, serier, live-TV, webbkanaler och mer. Vi är dedikerade till att göra det otroligt enkelt för användare att hitta titlar och sändningar som de älskar.","WEBSITE_WHY_P3":"Du kan använda vår tjänst på vilken enhet som helst och när som helst, vilket gör Stremio till den enda underhållningscentralen för video du någonsin kommer att behöva.","WEBSITE_TEAM":"TEAM","WEBSITE_TEAM_P":"Stremio-teamet är litet men kraftfullt: mellan de tio av oss kodar vi på X språk och delar expertis inom mjukvaruutveckling, UI och UX-design, marknadsföring och reklam, samt affärsverksamhet och startups.","WEBSITE_FEATURES":"Funktioner","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Upptäck enkelt nytt innehåll","WEBSITE_FEATURES_DISCOVER_P":"Upptäck enkelt nya filmer, TV-program, serier och kanaler att titta på. Bläddra efter kategori, genre, betyg, senaste nytt, etc. eller skriv helt enkelt ett namn för att hitta. Stremio gör det enkelt att hitta nytt videoinnehåll.","WEBSITE_FEATURES_ALL_CONTENT":"Allt ditt videoinnehåll på en skärm","WEBSITE_FEATURES_ALL_CONTENT_P1":"Se vilka filmer, serier eller videor du inte har avslutat och fortsätt titta på dem; få notifikationer för nya avsnitt och släpp; och bläddra igenom rekommendationerna du får baserat på dina tittarvanor.","WEBSITE_FEATURES_LIBRARY":"Organisera ditt videobibliotek","WEBSITE_FEATURES_LIBRARY_P1":"Lägg till vilken titel som helst till ditt Stremio-bibliotek med ett enda klick och hitta rätt i ditt innehåll, prydligt ordnat efter typ, aktualitet eller alfabetisk ordning.","WEBSITE_FEATURES_CALENDAR":"Håll koll på allt du tittar på","WEBSITE_FEATURES_CALENDAR_P1":"Få en kalendervisualisering av alla filmer och serier du lägger till i ditt bibliotek. Exportera din Stremio-kalender och synkronisera den så att du alltid vet när ett nytt avsnitt eller en premiär kommer.","WEBSITE_FEATURES_BIG_SCREEN":"Njut av ditt videoinnehåll på en större skärm","WEBSITE_FEATURES_BIG_SCREEN_P1":"Casta vad du än tittar på till en annan enhet – oavsett om det är en telefon, surfplatta eller en TV med ett enda klick.","WEBSITE_FEATURES_SOURCES":"Se video från många olika källor","WEBSITE_FEATURES_SOURCES_P":"Installera officiella tillägg och community-tillägg för att njuta av video från många olika leverantörer - allt i en snygg, lättanvänd app.","WEBSITE_CREATE_AN_ADDON":"Skapa ett tillägg","WEBSITE_FEATURES_SYNC":"Synkronisera ditt bibliotek mellan olika enheter och återuppta uppspelningen","WEBSITE_FEATURES_SYNC_P1":"Logga in med ditt konto på alla dina enheter och njut av ditt bibliotek, tillägg, uppspelning och kalender synkroniserat.","WEBSITE_FEATURES_EXTENDABLE":"Utbyggbar videokatalog genom tillägg","WEBSITE_FEATURES_EXTENDABLE_P1":"Stremio-tilläggskatalogen tillhandahåller ett antal tillägg att installera och titta på en mängd olika videoinnehåll från. Detta inkluderar filmer, program, live-TV, sport, nyheter, podcaster, webbkanaler, videospel och mer.","WEBSITE_FEATURES_AUTO_SUBS":"Automatiska undertexter","WEBSITE_FEATURES_AUTO_SUBS_P1":"Med våra undertexttillägg får du automatiskt valda alternativ för ditt föredragna språk.","WEBSITE_FEATURES_CHROMECAST":"Castar till Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Njut av ditt videoinnehåll på en större skärm eller bara casta vad du tittar på till en annan enhet.","WEBSITE_FEATURES_KEEP_TRACK":"Håll koll på dina favoritprogram och webbkanaler","WEBSITE_FEATURES_KEEP_TRACK_P1":"Få en kalendervisualisering och aviseringar för nya avsnitt av dina favoritserier och webbkanaler.","WEBSITE_FEATURES_POWER_USER":"Funktioner för avancerade användare","WEBSITE_FEATURES_POWER_USER_P1":"Spela i extern spelare","WEBSITE_FEATURES_POWER_USER_P2":"Spela från en torrentfil eller magnetlänk","WEBSITE_FEATURES_POWER_USER_P3":"Importera till ditt bibliotek från Facebook-gilla-markeringar eller lokal disk","WEBSITE_ADD_ONS":"Tillägg","WEBSITE_ADD_ONS_P1":"Allt videoinnehåll Stremio tillhandahåller hämtas via ett tilläggssystem - inget innehåll eller innehållsleverantör har byggts in i appen.","WEBSITE_ADD_ONS_P2":"Det finns två grupper av tillägg tillgängliga: officiella och community-tillägg.","WEBSITE_ADD_ONS_P3":"De officiella är utvecklade och värdar av Stremio, medan community-tillägg skapas av våra community-medlemmar, som också är värdar för dem.","WEBSITE_ADDONS_OFFICIAL":"Officiella tillägg","WEBSITE_ADDONS_WATCHUB":"Strömma dina favoritfilmer, serier och program från leverantörer som iTunes, Hulu, Amazon och andra tjänster i Storbritannien/USA.","WEBSITE_ADDONS_YOUTUBE":"Titta på dina favoritkanaler på YouTube utan annonser och få aviseringar om nya uppladdningar från de bidragsgivare du följer.","WEBSITE_ADDONS_FILMON":"Titta på live-TV, filmer och interaktiv television gratis. 600 TV-kanaler, 45 000 gratisfilmer, dokumentärer och mer.","WEBSITE_ADDONS_OPENSUBTITLES":"Undertexter för filmer och serier på flera språk, tusentals översatta undertexter laddas upp varje dag.","WEBSITE_ADDONS_COMMUNITY":"Community-tillägg","WEBSITE_ADDONS_FILMON_VOD":"Titta på video på begäran från Filmon.tv","WEBSITE_ADDONS_TWICH":"Se liveströmmar från Twitch.tv - en videostreamingplattform för e-sportbranschen.","WEBSITE_ADDONS_VODO":"Se indiefilmer helt gratis.","WEBSITE_ADDONS_NETFLIX":"Se Netflix-filmer och webbserier.","WEBSITE_ADDONS_CREATE":"Skapa ett tillägg","WEBSITE_ADDONS_CREATE_P1":"Om du vill kan du utveckla ditt eget tillägg. På så sätt kan du ge dig själv och vår community tillgång till nytt videoinnehåll och nå en ny målgrupp med miljontals användare runt om i världen.","WEBSITE_ADDONS_START_CREATE":"För att komma igång, besök Stremio Addon SDK-sidan:","WEBSITE_DOWNLOADS":"Nedladdningar","WEBSITE_DOWNLOADS_P1":"För optimal prestanda rekommenderar vi att du använder den senaste tillgängliga versionen av Stremio-apparna. Om du dock av någon anledning skulle vilja använda en äldre version kan du ladda ner den här.","WEBSITE_DOWNLOADS_P1_SHORT":"För optimal prestanda rekommenderar vi att du använder den senaste tillgängliga versionen av Stremio-apparna.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio för Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio för macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio för Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio för Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio för Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio för Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio för Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio för iOS","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio för Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio för LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio för Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio för Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio för Ocolus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio för Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio för Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio för Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio för Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio för webbläsare","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Sök efter Stremio i App Store för 2019+ Samsung TV-modeller","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Sök efter Stremio i App Store för 2020+ LG TV-modeller","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Sök efter Stremio i Play Store-appen på Sony TV med Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Sök efter Stremio i Play Store-appen på Philips TV med Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Sök efter Stremio i App Store på din Xbox-enhet","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide för Stremio OS på RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Ladda ner Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service är en kompletterande app för Stremio Web. Vi rekommenderar att du använder den senaste tillgängliga versionen av Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service för Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service för macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service för Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service för Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio för Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"Fler nedladdningsalternativ","WEBSITE_DOWNLOAD_NEW":"Nytt!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"Vi har släppt Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"Vi har släppt Stremio för Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"Vi har släppt Stremio för LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"Vi har släppt Stremio för Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"Vi har släppt Stremio för Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"Stremio-plattformen är öppen källkod och du kan enkelt skapa ett tillägg för innehåll som för närvarande inte tillhandahålls.","WEBSITE_CONTRIBUTE_WHY":"Varför ska du skapa ett tillägg?","WEBSITE_CONTRIBUTE_WHY_P1":"Nå ny publik för ditt videoinnehåll","WEBSITE_CONTRIBUTE_WHY_P2":"Stremios användarbas växer snabbt - under det första året efter lanseringen hade Stremio fått 1 miljon användare runt om i världen, och under det andra året av plattformens existens växte detta antal till 2,5 miljoner.","WEBSITE_CONTRIBUTE_WHY_P3":"Med ditt tillägg kan du enkelt nå denna publik och distribuera ditt videoinnehåll till dem.","WEBSITE_CONTRIBUTE_ALL":"Se dina favoritfilmer, videor, serier och kanaler på ett enda ställe.","WEBSITE_CONTRIBUTE_ALL_P1":"Är du ett fan av en speciell typ av innehåll som ännu inte finns tillgängligt på Stremio? Skapa ett tillägg för det och njut av att titta på dina favoritvideor i en av de största och enklaste underhållningscentralerna på marknaden.","WEBSITE_CONTRIBUTE_ALL_P2":"Dessutom kommer du att få oändlig tacksamhet från andra likasinnade medlemmar i Stremio-communityt.","WEBSITE_CONTRIBUTE_MONETIZE":"Tjäna pengar på ditt tillägg och tjäna pengar med dess hjälp","WEBSITE_CONTRIBUTE_MONETIZE_P1":"När du väl utvecklat ett nytt tillägg för Stremio kan du enkelt tjäna pengar på det på ett antal olika sätt. Om du funderar på detta, hör gärna av dig till oss på ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - vi skulle gärna rådgöra och ge dig råd om alternativ för intäktsgenerering för tillägg.","WEBSITE_CONTRIBUTE_TRANSLATE":"Bli en frivillig översättare","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Om du vill njuta av Stremio-apparna på olika språk kan du gå med i vår gemenskap av frivilliga översättare. De hjälper oss att lägga till versioner av Stremio på många olika språk.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Är du sugen på att komma igång?","WEBSITE_TRANSALTE_STREMIO":"Översätt Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Officiella communityn","WEBSITE_COMMUNITY_OFFICIALS_P1":"Bli en del av den växande Stremio-communityn. Följ oss på sociala medier och var inte blyg för att säga hej - vi älskar att höra från våra fans! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Inofficiella communityn","STREMIO_COMMUNITY_NL":"Stremio Nederländerna","STREMIO_COMMUNITY_BRASIL":"Stremio Brasilien","STREMIO_COMMUNITY_GERMANY":"Stremio Tyskland","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgien","STREMIO_COMMUNITY_FRANCE":"Stremio Frankrike","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italien","STREMIO_COMMUNITY_UK":"Stremio Storbritannien","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexiko","STREMIO_COMMUNITY_ADDONS":"Stremio Tillägg","STREMIO_COMMUNITY_AWESOME":"Fantastiska Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partners och supportrar","WEBSITE_COMMUNITY_GOODIES":"Stremio-godis","WEBSITE_COMMUNITY_WALLPAPERS":"Bakgrundsbilder","WEBSITE_COMMUNITY_ART":"Communityns konstgalleri","WEBSITE_LINK_ART":"Communityns konstgalleri","WEBSITE_CONTACT_US":"Kontakta oss","WEBSITE_CONTACT_US_P1":"Om du har några frågor, kommentarer eller förslag är du välkommen att kontakta oss via kontaktformuläret nedan.","WEBSITE_CONTACT_US_P2":"Tänk på att vi finns i Bulgarien så det kan bli en fördröjning med att lösa din fråga på grund av tidszonsskillnader.","WEBSITE_CONTACT_US_SUCCESS":"Ditt meddelande har skickats. Vi återkommer till dig så fort vi kan.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Vänligen ange en giltig e-postadress!","WEBSITE_CONTACT_US_Q_RELATED_TO":"Vad är din fråga relaterad till?","WEBSITE_CONTACT_US_Q_OS":"Vad är ditt operativsystem?","WEBSITE_CONTACT_US_PH_EMAIL":"Din e-post","WEBSITE_CONTACT_US_PH_MESSAGE":"Meddelande","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"SKICKA","WEBSITE_CONTACT_US_Q_1":"Hur man installerar?","WEBSITE_CONTACT_US_Q_2":"Hur man avinstallerar?","WEBSITE_CONTACT_US_Q_3":"(HTML) Hur gör man lasagne?","WEBSITE_CONTACT_US_Q_4":"Tillägg","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Teknologi","WEBSITE_TECHNOLOGY_P1":"Vi älskar teknik och galen vetenskap. </br> Här är vad som driver Stremio (allt är öppen källkod).","WEBSITE_TECHNOLOGY_P_QT":"Plattformsoberoende mjukvaruutveckling när den är som bäst.","WEBSITE_TECHNOLOGY_P_MPV":"En gratis, öppen källkod och plattformsoberoende mediaspelare.","WEBSITE_TECHNOLOGY_P_RN":"React Native låter dig bygga mobilappar med endast JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Mediaramverk inbäddat i applikationen för att få multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm är en mobil plattform och en ersättning för SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js är en JavaScript-runtimemiljö med öppen källkod, plattformsoberoende.","WEBSITE_TECHNOLOGY_P_RUST":"Rust är ett programmeringsspråk med flera paradigmsystem fokuserat på säkerhet, särskilt säker samtidighet.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Bidra till projektet","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Det finns två sätt du kan bidra till Stremio och hjälpa oss att göra produkten ännu bättre.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Du kan donera dina värdefulla språkkunskaper genom att översätta plattformen...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"eller","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... du kan använda dina programmeringskunskaper för att skapa community-tillägg. ","WEBSITE_TRANSLATE_STREMIO":"Översätt Stremio","WEBSITE_404_OH_NO":"Hoppsan! Sidan du letar efter finns inte här...","WEBSITE_GO_HOME":"Gå hem","WEBSITE_LINK_OTHER_DOWNLOADS":"Andra nedladdningar","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Support","WEBSITE_DOWNLOAD_4_0_BETA":"Ladda ner Stremio 4 beta nu","WEBSITE_GET_FOR_DESKTOP":"Hämta för skrivbordet","WEBSITE_LINK_ADDON_COMPETITION":"Tilläggstävling","WEBSITE_LINK_ART_CONTEST":"Konsttävling","WEBSITE_MY_ACCOUNT":"Mitt konto","WEBSITE_MAINPAGE_FAQ_001_H1":"Vad är Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio är ett modernt mediacenter som ger dig friheten att se allt du vill.","WEBSITE_MAINPAGE_FAQ_002_H1":"Hur fungerar det?","WEBSITE_MAINPAGE_FAQ_002_P1":"När du väl har installerat Stremio på din enhet och skapat ett konto är allt du behöver göra att besöka tilläggskatalogen och installera vilket tillägg du vill, och du är igång!","WEBSITE_MAINPAGE_FAQ_002_P2":"Efter det kan du gå till Upptäck- eller Hem-sektionerna för att börja utforska innehåll.","WEBSITE_MAINPAGE_FAQ_003_H1":"Vad kan jag se här?","WEBSITE_MAINPAGE_FAQ_003_P1":"Mycket: filmer, tv-program, webbkanaler, sport, tv-kanaler, lyssna på podcaster och mer. Tack vare vårt tilläggssystem kan du få tillgång till en mängd olika innehåll.","WEBSITE_MAINPAGE_FAQ_004_H1":"Är Stremio öppen källkod?","WEBSITE_MAINPAGE_FAQ_004_P1":"Ja, du kan kolla följande länkar: ${1}skrivbordsapp${2} och ${3}GitHub-organisation${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Är Stremio säker?","WEBSITE_MAINPAGE_FAQ_005_P1":"Ja: eftersom det är programvara med öppen källkod är koden offentligt granskbar och du kan granska den själv.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremios tilläggssystem skapades också med användarens säkerhet i åtanke. Tilläggen kör ingen kod lokalt, så de utgör inga risker för din enhet.","WEBSITE_MAINPAGE_FAQ_006_H1":"Hur är det med min integritet?","WEBSITE_MAINPAGE_FAQ_006_P1":"Vi respekterar användarnas integritet och samlar inte in några personuppgifter utöver det absolut nödvändiga minimum för att skapa och synkronisera ditt konto.","WEBSITE_MAINPAGE_FAQ_006_P2":"Det finns också ett ${1}Gästläge${2} vid registrering, som inte kräver några data alls: i detta läge görs inga anrop till vår backend. Detta innebär dock att vissa användbara funktioner, såsom att kunna synkronisera ditt bibliotek mellan enheter, inte är tillgängliga.","WEBSITE_MAINPAGE_FAQ_007_H1":"Kan jag casta till min TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Ja, vi stöder Chromecast och du kan casta både från stationära och mobila appar (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"Hur många tillägg har Stremio?","WEBSITE_MAINPAGE_FAQ_008_P1":"I slutet av 2019, över 50 - för mer information, kolla vår tilläggskatalog.","WEBSITE_MAINPAGE_FAQ_009_H1":"Kan Stremio utökas utöver vad som finns i tilläggskatalogen?","WEBSITE_MAINPAGE_FAQ_009_P1":"Ja, du bör kolla in dessa: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"Vilka enheter stöder Stremio?","WEBSITE_MAINPAGE_FAQ_010_P1":"Vi har skrivbordsappar för Windows, Mac och Linux. För mobiler stöder vi Android och iOS, men kom ihåg att iOS är begränsad i funktionalitet (stöder inte de flesta tillägg).","WEBSITE_MAINPAGE_FAQ_010_P2":"Det finns många Android-baserade enheter som du kan köra Stremio på, som NVIDIA Shield och Amazon Fire Stick, men vi stöder dem inte officiellt.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"Vi har skrivbordsappar för Windows, Mac och Linux. Vi har även dedikerade appar för Android Mobil och Android TV. För iOS och iPadOS föreslår vi att använda Stremio Web, även om det är mer begränsat i funktionalitet.","WEBSITE_MAINPAGE_FAQ_011_H1":"Kan du lägga till visst innehåll i Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Tyvärr, vi tillhandahåller inget innehåll själva, men ju fler Stremio-tillägg du har installerat, desto mer innehåll kommer du att kunna hitta.","WEBSITE_MAINPAGE_FAQ_012_H1":"Kan Stremio spela magnetlänkar?","WEBSITE_MAINPAGE_FAQ_012_P1":"Ja, och det kan också spela vanliga HTTP-länkar och torrentfiler (dra och släpp).","WEBSITE_MAINPAGE_FAQ_013_H1":"Kan jag ladda ner en video och titta offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Tillgänglighet offline är en kommande funktion, men om du tillåter Stremio att cacha på din enhet (från inställningspanelen) kan du titta på videorna senare utan en anslutning.","WEBSITE_MAINPAGE_FAQ_014_H1":"Inget fungerar, hjälp mig!","WEBSITE_MAINPAGE_FAQ_014_P1":"Är du säker på att du har installerat tillägg? Om ja, kolla med vårt ${1}hjälpcenter${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"Hur upprätthåller Stremio sin utvecklingsverksamhet?","WEBSITE_MAINPAGE_FAQ_015_P1":"Vi visar icke-påträngande annonser då och då, men vi överväger att gå över till en donationsmodell.","WEBSITE_MAINPAGE_FAQ_015_P2":"För fler frågor, gå till vårt ${1}hjälpcenter${2}.","HELP_LEARN_MORE":"Hjälp oss att lära oss mer om dig.","LIFESTYLE":"Livsstil","SPORTS":"Sport","FOOD_HEALTH":"Mat & Hälsa","BEAUTY_FASHION":"Skönhet & Mode","NEWS":"Nyheter","GAMING":"Spel","SCIENCE_EDUCATION":"Vetenskap & Utbildning","MUSIC":"Musik","TRAVEL":"Resor","LATE_NIGHT":"Sent på natten","REALITY":"Reality","COMEDY":"Komedi","DIY":"Gör-det-själv","TECH":"Teknik","CINEMA":"Film","CONTINUE":"Fortsätt","SLOW_LOADING":"LÅNGSAM LADDNING?","I_GIVE_UP":"JAG GER UPP","LEARN_MORE":"Lär dig mer","POOR_SOURCE":"Denna källa är dåligt tillgänglig eller din internetanslutning är inte tillräckligt snabb","PICK_CATEGORIES_ERR":"Du måste välja minst 3 kategorier","ADJUST_TIMING":"Justera timing med ","ADJUST_SIZE":"Justera storlek med ","SEARCH_ANYTHING":"Du kan söka på vad som helst...","ALL_CATEGORIES":"Alla","SEARCH_CATEGORIES":"Filmer, Serier, YouTube & TV","SEARCH_PERSONS":"Skådespelare, Regissörer & Författare","SEARCH_PROTOCOLS":"HTTP- och Magnetlänkar","SEARCH_TYPES":"IMDB / TVDB-länkar","WATCHED":"Sedd","SHOW_LESS":"Visa mindre","LAST_SEARCHES":"Senaste sökningar","CLEAR_HISTORY":"Rensa historik","CHOOSE_SOME":"VÄLJ NÅGOT AV DETTA:","NO_WEB_REMOTE":"Webb-fjärrkontrollen kunde inte laddas","STREMIO_OFFLINE":"Stremio är offline","STREMIO_EXPENSIVE_CONNECTION":"Vi har upptäckt att du använder en mobil dataanslutning, vill du fortsätta?","USE_DATA":"Använd data","WARNING":"Varning","MORE_INFO":"Mer information ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Laddar ...","STREMIO_TV_BACK_TO_LANGUAGES":"Tillbaka till språk","STREMIO_TV_REMOTE":"Fjärrkontroll","STREMIO_TV_GO_TO":"Gå till:","STREMIO_TV_OR_SCAN":"eller skanna:","STREMIO_TV_ADDON_INSTRUCTIONS":"Var god följ instruktionerna för att installera dina föredragna tillägg.","STREMIO_TV_LIVE_TV":"Live TV","STREMIO_TV_RESUME_WATCHING":"Återuppta tittande","STREMIO_TV_LOADING_BACKGROUND":"Laddar bakgrund","STREMIO_TV_CHECKING_AUTHENTICATION":"Verifierar autentisering","STREMIO_TV_LOADING_BOARD":"Läser in Hem","STREMIO_TV_LOGIN_HEADER_LINE_1":"Vi vill att våra användare ska ha den bästa möjliga personliga upplevelsen med vår programvara.","STREMIO_TV_LOGIN_HEADER_LINE_2":"Av denna anledning ber vi dig att skapa och/eller logga in på ditt konto.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Tack för din förståelse,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Teamet hos Stremio","STREMIO_TV_REMOTE_INSTRUCTIONS":"För att använda Webbfjärrkontrollen med din smartphone/surfplatta/dator:","STREMIO_TV_WIFI_SETUP":"Inställning av Wi-Fi","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle har inte upptäckt en internetanslutning.","STREMIO_TV_WIFI_DETAILS_1":"Anslut till:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Använd lösenord:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Öppna en webbläsare med länken:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Standard","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"Efter senast sedda","STREMIO_TV_LIBRARY_SORT_NAME":"Efter namn","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"Efter namn fallande","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"Efter tittade gånger","STREMIO_TV_LIBRARY_SORT_WATCHED":"Efter tittat","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"Efter inte tittat","STREMIO_TV_DETAILS_SEASON_NUMBER":"Säsong ${1}","STREMIO_TV_STREAMS_LOADING":"Laddat ${1} / ${2} tillägg...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} tillägg laddar fortfarande...","STREMIO_TV_PLAYER_SETTINGS":"Spelarinställningar","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Undertextfördröjning","STREMIO_TV_PLAYER_AUDIO_DELAY":"Ljudfördröjning","STREMIO_TV_PLAYER_VIDEO_SCALING":"Videoskalning","STREMIO_TV_PLAYER_CHAPTERS":"Kapitel","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Hoppa över ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Ostödd streamskälla","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Fel vid öppning av extern länk","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Inte justerbar i ljudpassthrough-läge","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Spela med ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Spela med libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Byter till libVLC-spelare på grund av ett uppspelningsfel","STREMIO_TV_ADDONS_TITLE":"Använd Stremio på din telefon eller dator för att installera eller konfigurera tillägg och tryck på \\"Synkronisera tillägg\\"","STREMIO_TV_ADDONS_SUBTITLE":"OBS! Se till att du använder samma Stremio-konto","STREMIO_TV_ADDONS_SYNC_ADDONS":"Synkronisera tillägg","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Tillägg har synkroniserats framgångsrikt","STREMIO_TV_ADDONS_SYNC_FAILED":"Synkronisering av tillägg misslyckades","STREMIO_TV_META_LINK_FAILED":"Misslyckades med att öppna metalänk","STREMIO_TV_CATALOG_LOADING":"Katalogen laddar fortfarande...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Språkgränssnitt uppdaterat","STREMIO_TV_SETTINGS_THEME_UPDATED":"Temat uppdaterat","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Standardspelare","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Extern spelare","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Förvalt språk","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Andrahandsspråk","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelerad uppspelning","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Eventuella uppspelningsproblem på vissa enheter","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Vissa videoformat kanske inte fungerar","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Matchning av bildrutehastighet","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Inaktiverat","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Endast bildrutehastighet","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Bildrutehastighet och upplösning","STREMIO_TV_SETTINGS_NO_CACHING":"Ingen cachning","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Standard","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Mjuk","STREMIO_TV_SETTINGS_PROFILE_FAST":"Snabb","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultrasnabb","STREMIO_TV_SETTINGS_SERVER_URL":"URL till streaming-server","STREMIO_TV_SETTINGS_SERVER_VERSION":"Serverversion","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Okänd","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio-version","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Redigera server-URL","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Skriv in en URL till streaming-servern","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Visa statistik under inläsning","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"För att läsa Stremios integritetspolicy, besök:","STREMIO_TV_SETTINGS_TOS_TEXT":"För att läsa Stremios användarvillkor, besök:","STREMIO_TV_NAV_SEARCH":"Sök","STREMIO_TV_NAV_HOME":"Hem","STREMIO_TV_NAV_DISCOVER":"Upptäck","STREMIO_TV_NAV_LIBRARY":"Bibliotek","STREMIO_TV_NAV_MOVIES":"Filmer","STREMIO_TV_NAV_SERIES":"Serier","STREMIO_TV_NAV_CHANNELS":"Kanaler","STREMIO_TV_NAV_TV":"Live TV","STREMIO_TV_NAV_SETTINGS":"Inställningar","STREMIO_TV_NAV_ADDONS":"Tillägg","STREMIO_TV_LOGIN_TITLE":"Länka konto","STREMIO_TV_LOGIN_EXPIRES_IN":"Utgår om","STREMIO_TV_LOGIN_STEP_ONE":"Skanna QR-koden ovan eller gå till","STREMIO_TV_LOGIN_STEP_TWO":"Logga in på ditt Stremio-konto","STREMIO_TV_LOGIN_NEW_LINK":"Begär en ny länk","STREMIO_TV_LOGIN_LINK_REFRESHED":"Inloggningskoden uppdaterad","STREMIO_TV_SEARCH_PLACEHOLDER":"Skriv något","STREMIO_TV_SEARCH_NO_ADDONS":"Inga tillägg begärdes för kataloger!","STREMIO_TV_SEARCH_BUTTON":"Sök","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Rensa","STREMIO_TV_SEARCH_HISTORY_TITLE":"Sökhistorik","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Du kan söka efter titlar, skådespelare, kanaler och mer...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Rensa sökhistorik","STREMIO_TV_FILTERS_DESCRIPTION":"Välj ett av filtren nedan","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming-servern är offline. Kontrollera serverinställningarna.","FILTERS":"Filter","SETTINGS":"Inställningar","ACCOUNT":"Konto","LOGOUT":"Logga ut","THEMES":"Teman","PLAYBACK":"Uppspelning","PLAYBACK_SPEED":"Uppspelningshastighet","AUDIO_TRACKS":"Ljudspår","UNKNOWN_TRACK_LANG":"Okänt","VIDEOS":"Videor","SERVER":"Server","LINKS":"Länkar","ABOUT":"Om","INTERFACE":"Gränssnitt","ANIMATIONS":"Animationer","STATUS":"Status","LANGUAGE":"Språk","SIZE":"Storlek","DELAY":"Fördröjning","BOLD":"Fetstil","OPACITY":"Opacitet","TEXT_COLOR":"Textfärg","OUTLINE_COLOR":"Konturfärg","BACKGROUND_COLOR":"Bakgrundsfärg","BACKGROUND_BLUR":"Bakgrundssuddighet","SEEK_TIME_DURATION":"Söktidslängd","AUTO_PLAY":"Autouppspelning av nästa avsnitt","PLAY_NOW":"Spela nu","MARK_AS_WATCHED":"Markera som sedd","MARK_AS_UNWATCHED":"Markera som osedd","REWIND_TO_BEGINNING":"Spola till början","CONTINUE_WATCHING":"Fortsätt titta","ALL":"Alla","SECONDS":"sekunder","ON":"PÅ","OFF":"AV","RELOAD":"Ladda om","EDIT_URL":"Redigera URL","NONE":"Ingen","EMBEDDED":"Inbäddad","REMOTE_SWITCH_DEVICES":"Byt enheter","REMOTE_VIDEOS":"Videor","REMOTE_ADJUST_TIMING":"Justera timing","REMOTE_ADJUST_SIZE":"Justera storlek","REMOTE_COULD_NOT_BE_LOADED":"Webb-fjärrkontroll kunde inte laddas","REMOTE_RETRY":"Försök igen","TORRENT_PROFILE_DEFAULT":"Standard","TORRENT_PROFILE_SOFT":"Mjuk","TORRENT_PROFILE_FAST":"Snabb","TORRENT_PROFILE_ULTRA_FAST":"Ultra snabb","FAQ_001_H1":"Vad är Stremio?","FAQ_001_P1":"Stremio är en mediecentralprogramvara utformad för video-underhållning med användarvänlighet i åtanke. Stremio låter dig organisera och titta på din egen samling av filmer, serier, kanaler och live-TV.","FAQ_001_P2":"Stremio samlar in innehållet den visar dig från din lokala disk och vårt tilläggssystem.","FAQ_001_P3":"Den kommer också att meddela dig när nya avsnitt/videor/filmer som du är intresserad av kommer ut och ge dig filmrekommendationer.","FAQ_02_H1":"Hur jämför sig Stremio med Kodi och Plex?","FAQ_02_P1":"Vi är inspirerade av dessa två programvaror. Men vi har olika mål – Stremio är specifikt inriktat på underhållningsvideo och strävar efter att bli den vanliga lösningen för det genom att vara väldigt enkel att använda.","FAQ_02_P2":"Stremio kommer aldrig att vara så anpassningsbar och funktionsrik som Kodi och Plex, men det är betydligt enklare att använda. Bara ${1} skaffa det och se ${2} :)","FAQ_03_H1":"Hur jämför sig Stremio med Netflix?","FAQ_03_P1":"Återigen, Netflix är en av våra inspirationer. Vi strävar efter att uppnå användarupplevelsen av Netflix, plus en hel del extra godsaker. Men viktigast av allt, vi ger dig friheten att hantera ditt eget bibliotek och lägga till nya innehållskällor med vårt tilläggssystem.","FAQ_03_P2":"Det gör Stremio oändligt utbyggbart, så när du använder Stremio är du aldrig begränsad till innehållet som Netflix väljer att licensiera. Till exempel, genom Stremio kan du titta på innehåll från ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} och till och med ${9}Netflix${10} självt!","FAQ_04_H1":"Hur jämför sig Stremio med Flipboard?","FAQ_04_P1":"Vi får inte den frågan så ofta, förutom när vi pratar med start-up folk :)","FAQ_04_P2":"Stremio är av design en innehållsaggregator, vilket i princip gör det till Flipboard för video. Detta blir mycket tydligt i vår Hem-sektion, som ger dig kataloger och notifikationer om nya avsnitt/nya videor för det du följer, precis som Flipboard.","FAQ_05_H1":"Hur jämför sig Stremio med Popcorn Time?","FAQ_05_P1":"Stremio och Popcorn Time liknar varandra i användargränssnitt, eftersom det inte finns många sätt att göra videounderhållningskataloger rätt :)","FAQ_05_P2":"Men medan Popcorn Time fokuserar på att strömma torrents från specifika källor, är Stremio obegränsad och är bara en innehållsaggregator - den är inte låst till en specifik innehållskälla.","FAQ_05_P3":"Dessutom tillhandahåller vi inga torrent-tillägg som standard, så Stremio täcker inte Popcorn Time-användningsfallet med officiell funktionalitet.","FAQ_05_P4":"En annan anmärkningsvärd skillnad är att Popcorn Time är helt öppen källkod, medan Stremio är ${1} delvis öppen källkod${2}.","FAQ_06_H1":"Kommer du att lägga till den här filmen/serien?","FAQ_06_P1":"Nej, tyvärr :(","FAQ_06_P2":"Som nämns i de flesta andra frågorna, tillhandahåller Stremio inte något innehåll självt - allt läggs till genom tilläggssystemet. Om du har en förfrågan om innehåll kan du använda ”Rapportera”-knappen i spelaren, vilket kommer att skicka ett e-postmeddelande till utvecklaren av tillägget du för närvarande använder.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Kommer du att skapa tillägg för X?","FAQ_08_P1":"Det är fullt möjligt.","FAQ_08_P2":"Om du har en idé för ett tillägg, skicka oss ett meddelande på ${1}office@stremio.com${2}, men var vänlig och se till att din tilläggsidé inte bryter mot några upphovsrätter eller användarvillkor.","FAQ_08_P3":"För tillfället är de nästa punkterna på vår utvecklingsplan tillägg för FandangoNOW, Filmon.tv video på begäran och Crunchyroll.","FAQ_09_H1":"Använder Stremio BitTorrent?","FAQ_09_P1":"Ja, Stremio stöder BitTorrent som ett strömningsprotokoll. Du kan använda det antingen med ett torrenttillägg eller genom att dra och släppa en .torrent-fil i Stremio, eller genom att klistra in en magnetlänk i sökfältet.","FAQ_09_P2":"Observera att det enda officiella tillägget som använder BitTorrent är ${1}Vodo${2}, som tillhandahåller indieinnehåll, allt tillåtet att distribueras med BitTorrent.","FAQ_09_P3":"Vi stöder inte användningen av några tredjepartstillägg som kan möjliggöra upphovsrättsintrång.","FAQ_10_H1":"Vad kan jag titta på i Stremio med de officiella tilläggen?","FAQ_10_P1":"Som standard kan du titta på innehåll från Filmon.tv, YouTube och Vodo inom Stremio självt, med dess inbyggda spelare. Dessutom har vi ett tillägg för Twitch.tv och några andra.","FAQ_10_P2":"Detta ger tillsammans ett urval av:","FAQ_10_L1":"Populära TV-kanaler, tillhandahållna av Filmon.tv - till exempel E4, BBC, Bollyworld TV","FAQ_10_L2":"Allt från YouTube – till exempel BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indiefilmer med Vodo","FAQ_10_L4":"Online-spelsändningar med Twitch.tv","FAQ_10_P3":"Dessutom finns det många innehållskällor som tillhandahålls med Guidebox och Netflix-tilläggen, som <b>inte</b> spelas helt inuti Stremio, utan skulle omdirigera till den givna tjänsten. Till exempel skulle Guidebox-tillägget ge dig ett urval av filmer som du kan streama gratis i USA, från tjänster som TubiTV och Crackle.","FAQ_11_H1":"Stremio installeras inte, vad ska jag göra?","FAQ_11_P1":"Om du använder Windows, prova ${1}detta alternativa installationsprogram${2}.","FAQ_11_P2":"Om du använder Mac OS X, var medveten om att vi inte stöder något äldre än OS X Mavericks (10.9).","FAQ_11_P3":"Om du använder Linux, var medveten om att vi för tillfället endast stöder 64-bitars (x64) Linux.","FAQ_11_P4":"Om du fortfarande inte kan lösa ditt problem, vänligen skriv till oss i vår ${1}Facebook-grupp${2}.","FAQ_12_H1":"Varför klagar mitt antivirus? Är Stremio säkert?","FAQ_12_P1":"Vi försäkrar dig om att Stremio är ${1}100% säkert${2}.","FAQ_12_P2":"Ditt antivirusprogram klagar för att vi inkluderar annonsering i vårt installationsprogram, vilket vissa antivirusprogram uppfattar som adware.","FAQ_12_P3":"Om du fortfarande är osäker kan du prova vårt ${1}alternativa installationsprogram${2}.","FAQ_13_H1":"Hur gör jag ett tillägg?","FAQ_13_P1":"Till att börja med rekommenderar vi att du kollar vår ${1}addons-systemmodul${2} på GitHub.","FAQ_13_P2":"Därefter kan du följa ${1}Hello World-tutorialen${2}.","FAQ_13_P3":"Om du inte har några programmeringskunskaper, vänligen posta din idé på ${1}Reddit-communityt${2} och kontakta oss med din tilläggsidé på ${3}office@stremio.com${4}.","FAQ_14_H1":"Hur publiceras tillägg?","FAQ_14_P1":"När du skapar ett tillägg och värd, och lägger till ett <b>slutpunkt</b>-fält i din manifestfil, som pekar på en fungerande tilläggsadress, kommer tillägget automatiskt att publicera sig självt i vår ${1}Tilläggskatalog${2}.","FAQ_14_P2":"Detta händer eftersom serverdelen av stremio-tilläggsmodulen automatiskt gör ett anrop till vårt API för att meddela tillägget. När vårt API validerar din <b>slutpunkt</b> som ett giltigt tillägg kommer det att börja visas i katalogen.","FAQ_15_H1":"Kan jag köra Stremio i min webbläsare?","FAQ_15_P1":"Inte för tillfället, men det här kommer!","FAQ_15_P2":"Om du är nyfiken på att se en alfa kan du se den här: ${1}alpha4.strem.io${2}. Tänk på att streaming är inaktiverat på denna alfa. Vi stöder Chrome, Firefox, Opera och Edge.","FAQ_16_H1":"Casta till TV fungerar inte / undertexter fungerar inte","FAQ_16_P1":"Casting till TV använder DLNA-tekniken som är mycket inkonsekvent mellan olika TV-märken och modeller. Av den anledningen har vi inte möjlighet att testa det i alla fall, så det är långt ifrån perfekt. Trots detta arbetar vi på att förbättra det hela tiden men vi kan inte ge dig en tidsuppskattning av när DLNA kommer att börja fungera korrekt med din TV.","FAQ_16_P2":"Om du inte ens ser din TV i cast-menyn, försök att inaktivera din nätverksanslutning och återaktivera den (i Windows, högerklicka på nätverket och använd Aktivera/Inaktivera), samt starta om din router, TV och PC.","FAQ_16_P3":"Om du fortfarande stöter på problem kan du hjälpa oss genom att skicka information om ditt TV-märke och modell till ${1}office@stremio.com${2}.","FAQ_16_P4":"Under tiden rekommenderar vi Chromecast, som vi stöder mycket väl, eller helt enkelt koppla in din TV till din PC med en HDMI-kabel.","FAQ_17_H1":"Stremio fryser och/eller kraschar, vad kan jag göra?","FAQ_17_P1":"Först och främst, om du använder Windows 7 med AVG-antivirus: vi har ett problem med den kombinationen. Problemet ligger i själva AVG, och det finns inget rimligt sätt att lösa det från vår sida. Tyvärr fungerar inte undantag eller inaktivering av antivirusprogrammet. Den enda lösningen är att ersätta AVG med något annat.","FAQ_17_P2":"Om det inte är problemet, men du fortfarande använder Windows, uppdatera till det senaste Service Pack och uppdatera/installera om dina GPU-drivrutiner och försök sedan igen.","FAQ_17_P3":"Om ditt problem fortfarande inte är löst, eller om du använder en Mac eller Linux, skriv till oss och rapportera de exakta detaljerna om problemet på ${1}vår Facebook-grupp${2}.","FAQ_18_H1":"Hur gör jag ett tillägg?","FAQ_18_P1":"Till att börja med rekommenderar vi att du kollar vår ${1}addons-systemmodul${2} på GitHub.","FAQ_18_P2":"Efteråt kan du följa ${1}Hello World-tutorialen${2}.","FAQ_18_P3":"Om du inte har några programmeringskunskaper, vänligen posta din idé på ${1}Reddit-communityt${2} och kontakta oss med din tilläggsidé på ${3}office@stremio.com${4}.","FAQ_19_H1":"Varför tar Stremio diskutrymme?","FAQ_19_P1":"Stremio har en <b>lokal cache</b> för att tillfälligt behålla videofilerna du streamar.","FAQ_19_P2":"Detta har två fördelar: för det första tillåter det Stremio att förbuffra videon framåt för att säkerställa smidigare streaming. För det andra håller den videorna i den lokala cachen så att du kan fortsätta titta på dem offline.","FAQ_19_P3":"Hur mycket Stremio lagrar beror på <b>Cache</b>-inställningen i inställningspanelen. Stremio kan behålla upp till det inställda beloppet (t.ex. 2 GB) på din disk, såvida inte den för närvarande streamade videon är större än så, i vilket fall den måste tilldela tillräckligt med lagringsutrymme för att behålla den tills du streamar den.","FAQ_20_H1":"Var är cachemappen?","FAQ_20_P1":"På Windows är det stremio-cache på den enhet du valde i Inställningar (t.ex. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"På MacOS är det \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"På Linux är det \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"Jag får felmeddelandet \\"Streaming server is not found\\", vad kan jag göra?","FAQ_21_P1":"Om du får detta felmeddelande betyder det en av några saker:","FAQ_21_P2":"1) Du försöker använda ett tillägg som stöds av en YouTube/BitTorrent-källa, via vår ${1}webbversion${2}. I detta fall bör du installera vår skrivbordsversion från ${3}vår webbplats${4}.","FAQ_21_P3":"2) Något är fel med din Stremio-installation. I detta fall, försök att installera om vår senaste skrivbordsversion från ${1}webbplatsen${2}. Om detta inte hjälper, försök att inaktivera antivirusprogram och brandväggar, starta om din dator och försök igen. Om detta inte heller fungerar, vänligen skriv till oss i ${3}vår Facebook-grupp${4}.","FAQ_22_H1":"Jag kan inte se/använda de flesta tillägg på iOS","FAQ_22_P1":"På grund av begränsningar i villkoren för Apple App Store har vi begränsat iOS-applikationen till endast en viss uppsättning tillägg.","FAQ_22_P2":"Men var lugn - det kommer att finnas fler tillägg för iOS i framtiden, och vi kan även lägga till en integration som gör det möjligt för dig att använda alla Stremio-tillägg tack vare kopplingen av iOS-appen till Stremio Streaming Server."}')},49892:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"సినిమా","TYPE_series":"సిరీస్","TYPE_tv":"టీవీ ఛానల్","TYPE_channel":"ఛానల్","TYPE_other":"మరిన్ని","TYPE_movie_PL":"Movies","TYPE_series_PL":"Series","TYPE_tv_PL":"TV channels","TYPE_channel_PL":"Channels","TYPE_other_PL":"Others","TYPE_ALL":"All","TYPE":"Type","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"Video","BACK":"Back","MORE":"More","DONE":"Done","COPY":"Copy","SUCCESS":"Success","ERROR":"Error","SETTINGS_CASTING_MODE_PICKER":"Casting mode","CASTING_MODE_HLSV2":"Default","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"No transcoding","Discover":"Discover","Board":"Board","Library":"Library","My Library":"My Library","Calendar":"Calendar","NOTIFICATION_ONLINE":"You are now online","NOTIFICATION_OFFLINE":"You are currently offline","INTERNET_CONNECTION":"Network connection","STORAGE_FULL_TITLE":"Warning: Storage full!","STORAGE_FULL_TEXT":"Stremio will not be able to save your settings, preferences or login information. Consider re-starting or re-installing Stremio.","SEARCH":"search","SEARCH_NO_RESULTS":"No results were found","SEARCH_EXPLANATION_CONTENT":"Search for movies, series, YouTube and TV channels","SEARCH_EXPLANATION_PEOPLE":"Search for actors, directors and writers","SEARCH_PASTE_LINKS":"Paste HTTP and Magnet links","SEARCH_OR_PASTE_LINK":"Search or paste link","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"Add to Library","REMOVE_FROM_LIB":"Remove from Library","ADDED_TO_LIB":"Added to Library","REMOVED_FROM_LIB":"Removed from Library","TRAILER":"Trailer","WATCH_TRAILER":"Watch Trailer","WATCH_NOW":"Watch Now","SHOW":"Show","SHOW_MOVIE":"Show Movie","WATCH_RANDOM":"Watch Random","IMDB_RATING":"IMDb Rating","YEAR":"Year","DIRECTOR":"Director","WRITER":"Writer","LEAD_ACTORS":"Lead Actors","CAST":"Cast","CREW":"Crew","SHOW_MORE_CAST":"Show more »","AIRED":"Aired","SEASONS":"Seasons","GENRE":"Genre","GENRE_ALL":"All genres","CATALOG":"Catalog","SUMMARY":"Summary","SHOW_MORE":"Show More","SIMILAR":"Similar","UPCOMING":"Upcoming","ENDED":"Ended","DURATION":"Duration","FEATURED":"Featured","METADATA":"Metadata","CATEGORY":"category","LINKS_GENRES":"Genres","LINKS_CAST":"Cast","LINKS_DIRECTORS":"Directors","SEARCH_VIDEOS":"search videos","SEARCH_PLACEHOLDER":"search or paste URL","ADDON":"addon","ADDONS":"Addons","OFFICIAL":"official","ADDONS_OFFICIAL":"Official Stremio Addons","ADDONS_POPULAR":"Popular in your area","ADDON_FREE":"free","ADDON_PEERED":"peered","ADDON_SUBSCRIPTION":"subscription","ADDON_STREAM_GEORESTRICTED":"not available in your area","ADDON_STREAM_OFFLINECACHE":"Offline Cache","ADDON_STREAM_LOCALFILE":"Local File","SHARE_ADDON":"Share addon","AVAILABLE_STREAMS":"Available Streams","NO_STREAM":"No streams were found","ALL_ADDONS":"All","INSTALL_MORE_ADDONS":"For more streams, please install more addons","STREAM_NOT_SUPPORTED":"Selected stream is not supported on this platform.","ADDON_CATALOGUE":"Show all addons »","ADDON_CATALOGUE_MORE":"Install addons","REPO_ADDED":"Repository added","ADDON_REPO_EXIST_ERR":"This addons collection already exist","ADDON_REPO_ERR":"Error occurred while adding collection","ADDON_ADD_ERR":"Error occurred while adding addon","ERR_ADDON_PROTECTED":"Cannot uninstall addon, it is protected","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Something went wrong - authentication may have failed","ERR_NOT_COLLECTION_URL":"Not a collection URL","ERR_NOT_ADDON_URL":"Not a valid addon URL","ERR_DETECTFROMURL":"Cannot find addon/collection from this URL","ADDON_DUPLICATE_WARNING":"Warning: duplicated addon","ADDON_COLLECTION_SET_FAILED":"Syncing installed addons to your account failed","SETTINGS_DATA_EXPORT":"Export user data","ADDON_PULL_FAILED":"Syncing installed addons from your account failed","REFRESH_ON_CLICK":"Click to retry","STILL_IN_THEATER":"Movie still in theaters","WATCH_IN_CINEMA":"Watch it in your local cinema","IN_THEATER":"In cinema","GET_TICKETS":"Get tickets","UPCOMING_EPISODE":"Upcoming episode","UPCOMING_EPISODE_MESSAGE":"This episode will be aired on","MISSING_DATE_EPISODE":"Missing episode date","MISSING_DATE_EPISODE_MESSAGE":"This episode might not have aired yet","CHANNEL_NOT_SCRAPED":"This channel is not scraped yet.<br>Please come back in a few minutes.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Add it to your library to get notified once it is available.","GET_NOTIFIED_WHEN_AVAILABLE":"You will get notified once it is available.","WARNING_STREAMING_SERVER":"Warning: local streaming server not found. Streaming from local files, YouTube and BitTorrent will not be available.","WARNING_STREAMING_SERVER_DISMISS":"Dismiss","WARNING_STREAMING_SERVER_LATER":"Later","DECODER_WARNING":"Warning: this video may not be supported by your hardware. Keep in mind, playback may be slow.","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"Oops, Player Error","PLAYER_ERROR_LOOKSLIKE":"It looks like","PLAYER_ORIENTATION":"Player orientation","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Locked","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensor","PLAYER_ORIENTATION_LANDSCAPE":"Player orientation locked at landscape","PLAYER_ORIENTATION_SENSOR":"Player orientation automatic (sensor)","PLAYER_PLAYBACK_SPEED":"Playback Speed","PLAYER_PLAYBACK_ERROR":"Playback error, please try again","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Unknown error","PLAYER_PLAYBACK_ERROR_DEFAULT":"Sorry, this video cannot be played by {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Subtitles Languages","PLAYER_SUBTITLES_VARIANTS":"Subtitles Variants","PLAYER_SUBTITLES_SETTINGS":"Subtitles Settings","PLAYER_SUBTITLES_DISABLED":"Subtitles are disabled","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Vertical Position","PLAYER_SUBTITLES_LOADED":"Subtitles loaded","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Embedded subtitles loaded","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Exclusive subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Subtitles from {{origin}} loaded","PLAYER_PLAY":"Play","PLAYER_PAUSE":"Pause","PLAYER_NEXT_VIDEO":"Next Video","PLAYER_MUTE":"Mute","PLAYER_UNMUTE":"Unmute","PLAYER_OPEN_IN_EXTERNAL":"Open in external player","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Play in {{device}}","PLAYER_LIVE":"Live","PLAYER_NEXT_VIDEO_TITLE":"Coming up next on","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Dismiss","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Watch now","PLAYER_COPY_STREAM_SUCCESS":"Stream link was copied to your clipboard","PLAYER_COPY_STREAM_ERROR":"Failed to copy stream link","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","STREAMING_FROM":"streaming from","CASTING_TO":"Casting to","NETWORK_STATUS":"Network status","STREAM_SPEED":"Stream speed:","STREAM_BUFFERED":"Buffered:","PEERS_INFO":"Peers Information","PEERS_ACTIVE":"Active:","PEERS_CONNECTED":"Connected:","PEERS_WAITING":"Waiting:","TRANSCODING_WARNING":"Warning: transcoding video.","STREAM_LOADING":"loading...","PLAYING_LOCAL":"playing from local file","PLAYING_CACHE":"playing from cache","WRONG_SUBS":"Wrong subtitles?","ERR_SUBS_LOADING_TITLE":"Error loading subtitles","ERR_SUBS_LOADING":"Failed loading subtitles: this could be an issue with the addon you are using, or with your network connection","WARN_FOLLOWING_SUB_ADDONS_FAILED":"The following subtitle addons failed","ERR_CASTING_UPDATE_TITLE":"Could not update casting device info: streaming server might be offline","CHOOSE_DEVICE":"Choose a device to watch on","NO_CAST_DEVICES":"No casting devices available.","NO_SETTINGS":"No settings available.","PHONE_TABLET":"Phone / Tablet","SUBTITLES":"Subtitles","SUBTITLES_CHANGE":"Change subtitles for ","SUBTITLES_CHANGE_NONE":"There are no other subtitles for this language, sorry.","SUBTITLES_CHANGE_ACIVE":"Currently subtitles &#35;{{subtitlesDialog.activeIdx + 1}} are activated. Click \\"Continue\\" to activate subtitles &#35;{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Alternatively,","SUBTITLES_ADJUST_DELAY":"Adjust subtitle delay:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Or use <span>G</span> / <span>H</span> keys while playing to adjust.","SUBTITLES_ADJUST_DELAY_TIP":"TIP: you can use <span>G</span> / <span>H</span> keys while playing to adjust.","SUBTITLES_DELAY":"Subtitles delay:","SUBTITLES_LOADING":"Loading subtitles...","SUBTITLES_UNAVAILABLE":"No external subtitles available","SUBTITLES_DISABLED":"Disabled","EXTERNAL_PLAYER_DISABLED":"Disabled","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Allow Choosing","EXTERNAL_PLAYER_HINT":"Hint: There is a setting to allow always opening with external player","DONT_SHOW_AGAIN":"Don\'t show again","SERVICE_INSTALL":"Install","AUDIO":"Audio","DEFAULT_LANGUAGE":"Default Language","DEFAULT_SECONDARY_LANGUAGE":"Default Secondary Language","SEASON":"Season","EPISODE":"Episode","EPISODE_ABBREVIATION":"EP","SPECIAL":"Special","SORT":"sort","SORT_BY":"Sort by","FILTER":"filter","SORT_TRENDING":"trending","SORT_RECENT":"recent","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"rating","SORT_WATCHED":"watched","SORT_YEAR":"year","SELECT_TYPE":"Select type","SELECT_SORT":"Select sort","SELECT_CATALOG":"Select catalog","SELECT_GENRE":"Select genre","SORT_LASTWATCHED":"By last watched","SORT_NAME":"By name","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"By times watched","SORT_NOTWATCHED":"not watched","New for You":"New for You","New Episodes":"New Episodes","New Videos":"New Videos","Recommendations":"Recommendations","LIBRARY_RESUME":"Resume","LIBRARY_PLAY":"Play","LIBRARY_DETAILS":"Details","LIBRARY_RESUME_DISMISS":"Dismiss","LIBRARY_CLEAR_PROGRESS":"Clear Progress","LIBRARY_REMOVE":"Remove","LIBRARY_NOT_LOGGED_IN":"Library is only available for logged in users","CALENDAR_NOT_LOGGED_IN":"Calendar is only available for logged in users","NOT_LOGGED_IN_CLOUD":"Access your favorite movies and TV shows anytime, anywhere","NOT_LOGGED_IN_RECOMMENDATIONS":"Recommendations tailored to your viewing history","NOT_LOGGED_IN_NOTIFICATIONS":"Never miss an episode again","NOT_LOGGED_IN_CALENDAR":"Schedule your personal watching calendar","DISCOVER_FEATURED":"Featured","DISCOVER_TOP":"Top","DISCOVER_OSCAR":"Oscar Winners","DISCOVER_WARNING_TITLE":"Oops!","DISCOVER_EMPTY_CATALOG":"This addon returned empty content.","DISCOVER_ADULT_WARNING":"The content is visible only for adults. Are you 18+?","DISCOVER_NOADDON_WARNING":"Warning: no Stremio addon active for this type. Showing saved items, nothing here will update.","DISCOVER_LOAD_ERR":"The content did not load, error occured.","DISCOVER_ADDON_UNINSTALLED":"This content is no longer available, you may have un-installed the addon.","UNINSTALL_THIS_ADDON":"Uninstall this addon","ERR_ADDON_NOT_INSTALLED":"This addon is not installed. Install now?","DETAIL_RECEIVE_NOTIF_SERIES":"Receive notifications for new episodes","DETAIL_RECEIVE_NOTIF_VIDEOS":"Receive notifications for new videos","SIDEBAR_SHOW_STREAMS":"Show Streams","RELAUNCH":"Re-launch now!","UPGRADE":"New version is available! Upgrade to the latest Stremio version","RELOAD_UI":"Reload the user interface","MANUAL_UPDATE_TITLE":"Update your Stremio version","MANUAL_UPDATE_LINE1":"You are running an outdated version of Stremio which is highly unrecommended.","MANUAL_UPDATE_LINE2":"Please update as soon as possible.","BUTTON_UPDATE_LATTER":"Not now","BUTTON_UPDATE_NOW":"Update","ANONYMOUS_USER":"Anonymous user","DONT_HAVE_ACC":"Don\'t have an account?","HAVE_ACC":"Already have an account?","PASSWORD":"Password","PASSWORD_CONFIRM":"Confirm password","EMAIL":"E-mail","FB_LOGIN":"Continue with Facebook","FB_NOTHINGSHARED":"Nothing is shared without your permission","FB_NOPOST":"We won’t post anything on your behalf","OR":"or","I_ACCEPT":"I accept the","I_ACCEPT_BY_CLICKING":"By clicking the above button I testify that I accept the ","TOS":"Terms and Conditions","MUST_ACCEPT_TERMS":"You must accept terms","PASSWORDS_NOMATCH":"Passwords don\'t match","SIGN_UP":"Sign up","SIGN_UP_EMAIL":"Sign up with email","CLICK_TO_SIGN_UP":"Click here to sign up.","LOG_IN":"Log in","LOG_OUT":"Log out","EXIT_FULLSCREEN":"Exit fullscreen mode","ENTER_FULLSCREEN":"Enter fullscreen mode","PLAY_URL_MAGNET_LINK":"Play URL/Magnet link","HELP_FEEDBACK":"Help & Feedback","TERMS_OF_SERVICE":"Terms of Service","PRIVACY_POLICY":"Privacy Policy","ABOUT_STREMIO":"About Stremio","USER_PANEL":"User Panel","LOGIN_LABEL":"Login","GUEST_LOGIN":"Guest login","GUEST_LOGIN_NOTICE":"Guest Login is not recommended. Using a regular login allows Stremio to sync your Library, receive notifications for favourite series/channels. Are you sure you want to proceed?","GUEST_LOGIN_NOTICE_2":"Guest Login is not recommended - you won\'t have synced Library and Board notifications, which are vital Stremio features. Are you sure you want to proceed?","CLICK_HERE":"click here","WRONG_PASSWORD":"Wrong email or password. In case you have forgotten your password, ","SET_A_PASS":"set a password","RESET_PASSWORD":"Reset password","FORGOT_PASSWORD":"Forgot password?","EMAIL_USED_WITH_FB":"This email was used with a Facebook login.","INVALID_EMAIL":"Please enter a valid email address","INVALID_PASSWORD":"Please enter a valid password","CONN_ERR":"Connection error - please try again later.\\n\\nIf this persists, disable firewalls/anti-virus software (especially Bitdefender).","IMPORT_FROM_GUEST":"Import Library from your guest account","RECEIVE_UPDATES_EMAIL":"Receive updates to your email from Stremio","LOGIN_FAILED":"Login failed.","SIGNUP_FAILED":"Signup failed.","SEARCH_FAILED":"Search failed","EMAIL_USED":"This email is already in use.","WAITING_FB_LOGIN":"Logging in with Facebook...","EXTERNAL_PLAYER_TITLE":"Play in external player","EXTERNAL_REMEMBER_PLAYER":"Do you want to remember your choice","EXTERNAL_ALWAYS_PLAY":"Yes","EXTERNAL_ONLY_ONCE":"No","BEST_FIT":"Best Fit","FIT_SCREEN":"Fit Screen","FILL":"Fill","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"Tell us about what you like","INTRO_TASTE_LONG":"Tell us about what you\'d like to watch","INTRO_TASTE_PICK":"Pick {{interestsRemaining}} interests","INTRO_TASTE_PICK_MORE":"Pick {{interestsRemaining}} more interests","INTRO_TASTE_HELP_US":"Help us learn more about you.","INTRO_TASTE_CHOOSE_THESE":"Choose some of these:","INTRO_TASTE_CHOOSE_MIN":"Choose at least 3 categories","INTRO_TASTE_CHOOSE_MIN_ERR":"You have to pick at least 3 categories!","INTRO_TASTE_LIFESTYLE":"Lifestyle","INTRO_TASTE_SPORTS":"Sports","INTRO_TASTE_FOOD_HEALTH":"Food & Health","INTRO_TASTE_BEAUTY_FASHION":"Beauty & Fashion","INTRO_TASTE_NEWS":"News","INTRO_TASTE_GAMING":"Gaming","INTRO_TASTE_SCIENCE_EDU":"Science & Education","INTRO_TASTE_MUSIC":"Music","INTRO_TASTE_TRAVEL":"Travel","INTRO_TASTE_LATE_NIGHT":"Late Night Show","INTRO_TASTE_REALITY":"Reality","INTRO_TASTE_COMEDY":"Comedy","INTRO_TASTE_DIY":"How to DIY","INTRO_TASTE_TECH":"Tech","INTRO_TASTE_CINEMA":"Cinema","ADDON_NOT_SUPPORTED":"Selected addon is not supported on this platform.","ADDON_DISCLAIMER":"Using third-party addons will always be subject to your responsibility and the governing law of the jurisdiction you are located.","ADDON_ACTIVATE":"Activate this addon?","ADDON_REPO_ADD":"Addon collection URL","ADDON_ADD":"Add","INSTALL_ADDON":"Install addon","ADD_ADDON":"Add addon","ADD_ADDON_DESCRIPTION":"You can add an addon via an external link, which will appear under Installed addons.","PASTE_ADDON_URL":"Paste addon URL","WHATS_NEW":"What\'s new","BUTTON_CONTINUE":"Continue","BUTTON_ACTIVATE":"Activate","BUTTON_ACTIVATED":"Activated","BUTTON_CANCEL":"Cancel","BUTTON_SUBMIT":"Submit","BUTTON_DISMISS_ALL":"Dismiss All","BUTTON_VIEW_ALL":"view all","BUTTON_SEE_ALL":"See All","BUTTON_COLOR_TRANSPARENT":"Transparent","OPEN_IN_BROWSER":"Open in browser","LIB_EMPTY":"Your library looks empty. Find out how useful it is :) ","HOW_START":"Here is how you can start:","LIB_EMPTY_CAL":"Your Calendar shows series in your Library.","HOW_START_CAL":"Here is how you can add series:","LIB_EMPTY_BOARD":"Board shows notifications &amp; recommendations related to your Library.","HOW_START_BOARD_WAIT":"Please, add a few series or channels to your Library give us a few minutes to process :)","HOW_START_BOARD":"Here is how you can add series &amp; movies to it:","IMPORT_FB":"Import things you like from <span>Facebook</span>","IMPORT_TRAKT":"Import your media library from <span>Trakt</span>","IMPORT_DISCOVER":"Find interesting stuff from <span>Discover</span>","IMPORT_DISK":"Import movies or shows you have on your <span>local disk</span>","PLEASE_CREATE_ACC":"Please <u>create an account</u> to enable Library sync &amp; Board.","IMPORT_DISCOVER_SIGNUP":"Sign up and find interesting stuff from <span>Discover</span>","IMPORT_DISK_SIGNUP":"Sign up and import movies or shows you have on your <span>local disk</span>","LIB_EMPTY_CLOUD":"Cloud library","LIB_EMPTY_CLOUD_DESC":"Personal cloud library synced on all devices","LIB_EMPTY_EARLY":"Early bird","LIB_EMPTY_EARLY_DESC":"Receive notifications for new episodes","LIB_EMPTY_PERSONAL":"Personal","LIB_EMPTY_PERSONAL_DESC":"Get personal recommendations","LIB_EMPTY_CALENDAR_DESC":"Schedule your personal watching calendar","LIB_EMPTY_ALL":"Sign up to get all of these:","LIB_EMPTY_BEST":"Sign up to get best of Stremio","LIB_EMPTY_OTHER":"Sign up to enable Calendar & other cool features","CALENDAR_ADDED":"The Stremio calendar has been added to your default desktop calendar.","CALENDAR_ADDED_MSG":"If this does not work, please add this URL to your calendar application manually","TRAKT_EXPIRED":"Trakt authentication expired, please go to Settings and re-authenticate","TRAKT_REQUIRES_LOGIN":"Trakt error","TRAKT_REQUIRES_LOGIN_MSG":"You need to login","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","SETTINGS_LABEL":"Settings","SETTINGS_NAV_GENERAL":"General","SETTINGS_NAV_PLAYER":"Player","SETTINGS_NAV_STREAMING":"Streaming","SETTINGS_NAV_SHORTCUTS":"Shortcuts","SETTINGS_SHORTCUT_RELOAD_APP":"Reload App","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Open Settings","SETTINGS_SHORTCUT_SWITCH_TABS":"Switch Tabs","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Cycle Through Tabs Forward","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Cycle Through Tabs Backward","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigate Between Menus","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Go to Search","SETTINGS_SHORTCUT_EXIT_BACK":"Exit / Go Back","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Toggle Playback Speed Menu","SETTINGS_SHORTCUT_MENU_VIDEOS":"Toggle Videos Menu","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Toggle Subtitles Menu","SETTINGS_SHORTCUT_MENU_INFO":"Toggle Info Menu","SETTINGS_SHORTCUT_FULLSCREEN":"Toggle Fullscreen","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Show Controls","SETTINGS_SHORTCUT_PLAY_PAUSE":"Play / Pause","SETTINGS_SHORTCUT_VOLUME_UP":"Volume Up","SETTINGS_SHORTCUT_VOLUME_DOWN":"Volume Down","SETTINGS_SHORTCUT_SEEK_NEXT":"Seek Next","SETTINGS_SHORTCUT_SEEK_PREV":"Seek Prev","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Seek Backward","SETTINGS_SHORTCUT_SEEK_FORWARD":"Seek Forward","SETTINGS_SHORTCUT_PLAY_NEXT":"Play Next","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Increase Subtitles Size","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Decrease Subtitles Size","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Increase Subtitles Delay","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Decrease Subtitles Delay","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Toggle Sidebar","SETTINGS_SHORTCUT_OR":"or","SETTINGS_SHORTCUT_TO":"to","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Authenticate","SETTINGS_FACEBOOK_IMPORT":"Import","SETTINGS_CALENDAR_SUBSCRIBE":"Subscribe","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Interface Language","SETTINGS_LAUNCH_STARTUP":"Launch on start-up","SETTINGS_VLC_DEFAULT":"Play with VLC","SETTINGS_UI_LANGUAGE":"UI Language","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Escape key exit full screen","SETTINGS_GAMEPAD":"Enable gamepad support","SETTINGS_CLOSE_WINDOW":"Close app when window is closed","SETTINGS_SUBTITLES_LANGUAGE":"Default Subtitles Language","SETTINGS_SUBTITLES_SIZE":"Default Subtitles Size","SETTINGS_SUBTITLES_BACKGROUND":"Subtitles background","SETTINGS_SUBTITLES_COLOR":"Subtitles color","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Subtitles outline color","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Subtitles background color","SETTINGS_SEEK_KEY":"Arrow keys seek time","SETTINGS_SEEK_KEY_SHIFT":"Arrow keys seek time when Shift key is held","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Rewind & Fast-forward duration","SETTINGS_BINGE":"Auto-play next episode","SETTINGS_NEXT_VIDEO":"Show notification to start next episode","SETTINGS_NEXT_VIDEO_TRIGGER":"Show next episode notification for:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Next video popup duration","SETTINGS_PLAY_IN_BACKGROUND":"Play in background","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Play in external player","SETTINGS_RESIZE":"Auto-resize window before playing","SETTINGS_OVERRIDE_SERVER":"Override the streaming server URL (advanced)","SETTINGS_SERVER_URL":"Streaming server URL: ","SETTINGS_SERVER_AVAILABLE":"Streaming server is available.","SETTINGS_SERVER_UNAVAILABLE":"Streaming server is not available.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Error","SETTINGS_SERVER_CONFIGURE_TITLE":"Configure streaming server url","SETTINGS_SERVER_CONFIGURE_INPUT":"Enter a streaming server url","SETTINGS_SERVER_CACHE_SIZE":"Cache size","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent profile","SETTINGS_HTTPS_ENDPOINT":"Streaming HTTPS endpoint: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Always use latest Beta","SETTINGS_IMPORT_FB":"Import from Facebook","SETTINGS_IMPORT_DISK":"Import from local disk","SETTINGS_IMPORT_TRAKT":"Import from Trakt","SETTINGS_PAUSE_MINIMIZED":"Pause playback when minimized","SETTINGS_HWDEC":"Hardware-accelerated decoding","SETTINGS_BACKGROUND":"Background playback","SETTINGS_SUBSCRIBE_CALENDAR":"Subscribe to calendar","SETTINGS_REQ_EXPORT":"Request data export","SETTINGS_ACC_DELETE":"Request account deletion","SETTINGS_CHANGE_PASSWORD":"Change password","SETTINGS_TOS":"Terms of service","SETTINGS_SUPPORT":"Contact support","SETTING_LANGUAGE":"Language","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_LOGOUT":"Log out of Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Log Out of Trakt","SETTINGS_SCAN_FOR_REMOTE":"Scan QR code to open remote","SETTINGS_DESKTOP_NOTIFICATIONS":"Desktop notifications","SETTINGS_DATA_SAVER":"Data saver","SETTINGS_LANGUAGE_INTERFACE":"interface","SETTINGS_LANGUAGE_SUBS":"default subtitles","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Autoselect Audio Track","SETTINGS_DEFAULT_AUDIO_TRACK":"Default Audio Track","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"account","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"version","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"Launch player in a separate window (advanced)","SETTINGS_PLAY_IN_EXTERNAL":"Always start video in external player","SETTINGS_STORAGE_BUTTON":"Clear Local Storage","SETTINGS_STORAGE_MODAL_TITLE":"Are you sure ?","SETTINGS_STORAGE_MODAL_MESSAGE":"This will clear the local storage and log you out.","SETTINGS_HWDEC_PICKER":"Pick hardware-accelerated decoding setting","SETTINGS_HW_AUTOMATIC":"Automatic","SETTINGS_HW_DISABLED":"Disabled","SETTINGS_HW_ACCELERATED":"Decoding acceleration","SETTINGS_HW_FULL":"Full acceleration","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Subtitles","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Controls","SETTINGS_SECTION_AUTO_PLAY":"Auto-Play","SETTINGS_SECTION_ADVANCED":"Advanced","SUBSPICKER_AUDIO":"Audio","SUBSPICKER_SUBTITLES":"Addons Subtitles","SUBSPICKER_BLACK_BACKGROUND":"Use black background color","SUBSPICKER_VERTICAL_OFFSET":"Vertical Offset","SUBSPICKER_SIZE":"Size","SUBSPICKER_DELAY":"Delay","SUBSPICKER_EMBEDDED_SUBS":"Embedded Subtitles","MOBILE_PRIVACY_POLICY":"Privacy Policy","MOBILE_CRASH_REPORTING":"Crash Reporting","MOBILE_ZOOM_TO_FILL":"Zoom To Fill Screen","MOBILE_PASSTHROUGH":"Digital audio output (passthrough)","MOBILE_RUN_LOW_BATTERY":"Run on low battery","MOBILE_RUN_FOREGROUND":"Run as Foreground Service","MOBILE_PERFORMANCE":"PERFORMANCE & STABILITY","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"QR Code expires in ","MOBILE_LOG_INTO":"Log in to your Stremio account ","MOBILE_SCAN_QR":"Scan QR code above or go to ","MOBILE_LINK_ACCOUNT":"Link Account","MOBILE_SPEEDPICKER_CANCEL":"Cancel","MOBILE_SPEEDPICKER_LABEL":"Select Playback Speed","MOBILE_EMPTY_LIBRARY":"Your library is empty","MOBILE_NO_ADDON_ACTIVE":"No Stremio addon active for this type.","MOBILE_ORGANIZER_WARNING":"The Stremio Organizer app provides limited functionality. For a list of playable streams and the full Stremio experience, use Stremio on desktop.","MOBILE_ADDON_LOADING":"is still loading","MOBILE_ADDONS_LOADING":"addons are still loading","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Configure your addon","MOBILE_CONFIGURE_ADDON_LABEL":"Configure Addon","MOBILE_ORGANIZER_ADDONS_WARNING":"The Stremio Organizer app provides a limited selection of addons. For the full Stremio experience, use Stremio on desktop.","MOBILE_DISCONNECT":"Disconnect","MOBILE_LOOKING_FOR_DEVICES":"Looking for devices...","MOBILE_CAST_TO":"Cast to","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Delete Account","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Account deletion is not instant due to legal obligations. After requesting deletion of your account you will have to use different email address/facebook profile to create a new Stremio account in the future.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirm Account Deletion","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Your account has been created using Facebook. To delete your account, please use our user portal at www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Please provide your password to confirm account deletion.","MOBILE_DELETE_ACCOUNT_BUTTON":"Delete Account","NAVIGATION_ON":"On","NAVIGATION_OFF":"Off","MARKETING_AGREE":"I agree to receive marketing communications from Stremio","QUIT":"Quit","CONNECTED":"Connected","AUTHENTICATE":"Authenticate","CACHING":"Caching","SETTINGS_CACHING_DRIVE":"Caching drive","ENABLE_LOCAL_FILES_ADDON":"Enable the local files addon (requires restart)","LOCAL_ADDON_NOT_ENABLED":"Local addon is not enabled. Click here to go to the settings and enable it","ENABLE_REMOTE_HTTPS_CONN":"Enable remote HTTPS connections","TORRENT_PROFILE":"Torrent Profile","DATA_CACHING":"Data Caching","MAGNET_PARSING":"Parsing a magnet link","January":"January","February":"February","March":"March","April":"April","May":"May","June":"June","July":"July","August":"August","September":"September","October":"October","November":"November","December":"December","Monday":"Monday","Tuesday":"Tuesday","Wednesday":"Wednesday","Thursday":"Thursday","Friday":"Friday","Saturday":"Saturday","Sunday":"Sunday","Action":"Action","Comedy":"Comedy","War":"War","Family":"Family","Animation":"Animation","Adventure":"Adventure","Fantasy":"Fantasy","Crime":"Crime","Mystery":"Mystery","Romance":"Romance","Drama":"Drama","Horror":"Horror","Thriller":"Thriller","Sci-Fi":"Sci-Fi","Music":"Music","Biography":"Biography","Documentary":"Documentary","Sport":"Sport","Musical":"Musical","Western":"Western","Film-Noir":"Film-Noir","News":"News","History":"History","Game-Show":"Game-Show","Reality-TV":"Reality-TV","Talk-Show":"Talk-Show","Film & Entertainment":"Film & Entertainment","Gaming":"Gaming","From TV":"From TV","Lifestyle":"Lifestyle","Science & Education":"Science & Education","Cooking & Health":"Cooking & Health","Beauty & Fashion":"Beauty & Fashion","Sports":"Sports","News & Politics":"News & Politics","How-to & DIY":"How-to & DIY","Tech":"Tech","Automotive":"Automotive","Causes & Non-Profits":"Causes & Non-Profits","Movies":"Movies","Uk Live Tv":"Uk Live Tv","Fashion":"Fashion","Business News Radio":"Business News Radio","Business Tv":"Business Tv","Cars & Auto":"Cars & Auto","Comedy Radio":"Comedy Radio","Lifestyle Radio":"Lifestyle Radio","News Tv":"News Tv","Food And Wine":"Food And Wine","Latino Tv":"Latino Tv","Shopping Tv":"Shopping Tv","Religion":"Religion","Kids":"Kids","Body & Soul":"Body & Soul","Education":"Education","Indian Tv":"Indian Tv","Extreme Sports":"Extreme Sports","Middle Eastern Tv":"Middle Eastern Tv","Celebrity Tv":"Celebrity Tv","Science Tv":"Science Tv","Bikini babe":"Bikini babe","Outdoors":"Outdoors","German Tv":"German Tv","French Tv":"French Tv","Italian Tv":"Italian Tv","Gamer Tv":"Gamer Tv","Travel":"Travel","Asian Tv":"Asian Tv","Entertainment":"Entertainment","News Radio":"News Radio","Music Radio":"Music Radio","Language Learning":"Language Learning","Science Radio":"Science Radio","Tech Radio":"Tech Radio","Science & Technology Vod":"Science & Technology Vod","new video":"new video","new episode":"new episode","new movie":"new movie","recommended":"recommended","we recommend":"we recommend","offer of the day":"offer of the day","news":"news","music video":"music video","CTX_SHOW_HOTKEYS":"Show hotkeys","CTX_DISMISS_NOTIF":"Dismiss notifications","CTX_DISMISS_ALL":"Dismiss all","CTX_SHARE":"Share","CTX_COPY_SHARE_LINK":"Copy share link","CTX_COPY_MAGNET_LINK":"Copy magnet link","CTX_COPY_STREAM_LINK":"Copy stream link","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Download this video","CTX_DOWNLOAD_SUBS":"Download subtitles","CTX_VIEW_ON_YOUTUBE":"View on YouTube","CTX_SHOW":"Show","CTX_PLAY":"Play","CTX_PLAY_IN":"Play in","CTX_PLAY_ON":"Play on","CTX_WATCH_ON":"Watch on","CTX_WATCH":"Watch","CTX_WATCHED":"Watched","CTX_WATCH_BEGINNING":"Watch from the beginning","CTX_WATCH_MOBILE":"Watch on a mobile device","CTX_REWIND":"Rewind to beginning","CTX_MARK_WATCHED":"Mark as watched","CTX_MARK_NON_WATCHED":"Mark as non-watched","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"Mark rest as watched","CTX_UNMARK_REST":"Mark rest as non-watched","CTX_RECEIVE_NEW_NOTIF":"Receive new notifications","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"Remove from cache","CTX_REMOVE_CACHE_EP":"Remove episode from cache","CTX_OPEN_CONTAINING":"Open containing folder","CTX_REMOVE":"Remove from library","CTX_AVAILABLE_OFFLINE":"Available Offline","CTX_PAUSED":"Paused","CTX_ALWAYS_ON_TOP":"Always on top","CTX_FULLSCREEN":"Fullscreen","CTX_WRONG_SUBS":"Wrong subtitles?","CTX_REPORT_ISSUES":"Report issue","CTX_COPY":"Copy","CTX_PASTE":"Paste","CTX_CLEAR":"Clear","CTX_CLEAR_RECENT_SEARCHES":"Clear recent searches","HELLO_THERE":"Hello There","HOPE_YOU_ENJOY":"We hope you enjoy Stremio and it\'s one of your favourite apps already!","WHO_ARE_WE":"Who are we? We are the team behind it - two guys who work hard every day for the last 3 years to make this product better and better.","SUPPORT_US":"If you enjoy using Stremio, if Stremio is valuable for you - spread the word!","SPREAD_THE_WORD":"Share with your friends now, spread the word about Stremio","MORE_PEOPLE":"The more people use Stremio, the better it will get!","SEND_A_LINK":"Or send a link to our website","TIP_LOCALFILES":"Tip: you can drag & drop local video files into Stremio","ADDON_MY":"My Addons","ADDON_COMMUNITY":"Community Addons","ADDON_OFFICIAL":"Official Addons","ADDON_REPOS":"Addon collections","ADDON_SEARCH":"Search addons","ADDON_INSTALL":"Install","ADDON_CONFIGURE":"Configure","ADDON_UNINSTALL":"Uninstall","ADDON_UPGRADE":"Upgrade","ADDON_INSTALLED":"Installed","ADDON_INSTALLED_MSG":"Addon installed!","ADDON_UPGRADED_MSG":"Addon upgraded!","ADDON_UNKNOWN":"Unknown","ADDON_ERR":"Addon install error!","ADDON_DISCONNECTED":"Disconnected","ADDON_APP_MISSING":"the app for this source is not installed. Do you want to install it now?","ADDON_APP_INSTALL":"Install Now","ADDON_PAGE":"Addon Page","ADDON_TOP_CONTENT":"Best from this Addon","ADDON_PROVIDES":"This addon will give you:","ADDON_WATCH":"Watch #{types} now!","ADDON_WATCH_FREE":"Watch #{types} for FREE now!","ADDON_ADDON":"Addon","ADDON_SUPPORTED_TYPES":"Supported types","ADDON_SUPPORTED_CATALOGS":"Supported catalogs","ADDON_PROVIDES_DISCOVER":"More #{types} in Discover","ADDON_PROVIDES_STREAMS":"Watch #{types}","ADDON_PROVIDES_STREAMS_FREE":"Watch #{types} for FREE","ADDON_PROVIDES_SUBTITLES":"Subtitles for #{types}","ADDON_CANTDETECT":"We couldn\'t detect a running Stremio, so we couldn\'t detect what addons you have installed.","ERR_NO_META":"No information found about this ","ERR_GETTING_META":"Error retrieving information about this.","ERR_CANT_PARSE_MAGNET":"Unable to parse magnet","ERR_NO_MAGNET_INFOHASH":"No valid info hash for magnet","ERR_NO_FILE_PATH":"Unable to send request without a path to file","ERR_NO_TORRENT":"No torrent returned","ERR_NO_SUPPORTERD_FILES":"No supported files found","ERR_OPENING_FILES":"Could not open external files","ERR_INVALID_LINK":"Invalid link","ERR_REGISTERED_ONLY":"This option is available for registred users only.","ERR_CLIPBOARD":"Can not play from clipboard","ERR_CLIPBOARD_READ":"Can not read the clipboard on this platform","ERR_CLIPBOARD_GENERIC":"No playable URL found in the clipboard. Please copy a URL (e.g. a magnet link) to a video.","BOARD_CONTINUE_WATCHING":"Continue watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Movies picked specially for you.<br />This movie is a sample recommendation.","BOARD_EXPLANATION_EPISODES":"New episodes of your favorite Series come here.<br />Add series you follow to your Library.","BOARD_EXPLANATION_VIDEOS":"New episodes of your favorite Channels come here.<br />Add YouTube channels you follow to your Library.","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE":"Contribute","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"Learn more","WEBSITE_COMPANY":"Company","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Need Help?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"Watch Instantly","WEBSITE_SLOGAN_ALL":"All the Video Content You Enjoy in One Place","WEBSITE_SLOGAN_NEW":"All You Can Watch","WEBSITE_SLOGAN_NEW_NEW":"Freedom to Stream","WEBSITE_WATCH_FROM":"Watch from","WEBSITE_DOWNLOAD":"Download Now","WEBSITE_DOWNLOAD_FOR":"Download Now For","WEBSITE_IS_DESKTOP":"Stremio is a desktop application, open this page on your PC and download it","WEBSITE_DESKTOP_DEMO_VID":"Desktop demo","WEBSITE_PAGE_HOME":"Home","WEBSITE_PAGE_FEATURES":"Features","WEBSITE_PAGE_ADDONS":"Addons","WEBSITE_PAGE_TECH":"Technology","WEBSITE_PAGE_CREATE_ADDON":"Create Addon","WEBSITE_PAGE_CONTACTS":"Contacts","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Movies","WEBSITE_TYPE_series_PL":"Series","WEBSITE_TYPE_tv":"Live TV","WEBSITE_TYPE_channel":"Channels","WEBSITE_STREMIO_WHAT_IS":"Stremio is an app that helps you organize and instantly watch your favorite videos, movies, TV series and TV channels.","WEBSITE_FEATURES_WATCH":"Watch Instantly in HD","WEBSITE_FEATURES_WATCH_DETAIL":"Click and play your favourite movies, TV Shows, videos and TV channels.","WEBSITE_FEATURES_SUBS":"Automatic Subtitles","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio automatically picks synced subtitles for your language.","WEBSITE_FEATURES_SUBS_LABEL":"Your move, chief.","WEBSITE_FEATURES_CAST":"Play on TV & mobile devices","WEBSITE_FEATURES_CAST_DETAIL":"Cast to AppleTV, Chromecast, Smart TV (DLNA/UPnP) and mobile devices.","WEBSITE_LIB":"Enjoy Your Personal Library Synced on All Your Devices","WEBSITE_LIB_COLLECT":"Collect from Stremio","WEBSITE_LIB_IMPORT":"Import from Facebook","WEBSITE_LIB_LOCAL":"Add from your local drive","WEBSITE_BOARD":"The Board - Your one-stop place for Notifications and Recommendations","WEBSITE_BOARD_RECOMMEND":"Recommended TV Show","WEBSITE_BOARD_TRENDING":"Trending Movie","WEBSITE_BOARD_NEW":"New Video","WEBSITE_BOARD_EPISODE":"New Episode","WEBSITE_BOARD_1":"Looking for something interesting to watch? Get recommendations based on your taste!","WEBSITE_BOARD_2":"Get notified when a new episode of your favourite TV show or YouTube channel is out!","WEBSITE_BOARD_YOUTUBE":"New videos of YouTube channels","WEBSITE_BOARD_EPISODES":"New episodes of series you follow","WEBSITE_ADDONS":"Content Addons","WEBSITE_TECH_DETAIL":"We love technology, we love mad science!\\nStremio is using the following open source technologies:","WEBSITE_TECH_WCJS":"WebChimera.js allows Stremio to play any video format with good performance.","WEBSITE_TECH_WCJS_EXTRA":"We are core project contributors","WEBSITE_TECH_ELECTRON":"Electron provides an innovative platform to build Stremio with.","WEBSITE_TECH_ELECTRON_EXTRA":"We are project contributors","WEBSITE_TECH_LINVODB":"A database technology that ensures your data is organized and available anywhere you login.","WEBSITE_TECH_LINVODB_EXTRA":"In-house technology","WEBSITE_CREATE_ADDON":"Create your addon","WEBSITE_CREATE_ADDON_DETAIL":"Do you have a service providing video content? We\'ll help you benefit from Stremio\'s features by creating your Addon.","WEBSITE_CREATE_ADDON_BENEFITS":"Benefits of Creating an Addon for Stremio","WEBSITE_P2P_BEAUTY":"The Beauty of Peer-to-Peer Streaming","WEBSITE_P2P_1":"Reliable and affordable full HD / 4K video on demand or live streaming","WEBSITE_P2P_2":"Distribution platform providing great user experience","WEBSITE_P2P_3":"We will create an addon meeting your exact needs","WEBSITE_P2P_CONTACT":"Interested? You are welcome to <a href=\'mailto:office@stremio.com\'>contact us</a>.","WEBSITE_P2P_CONTACT_EXTRA":"We will be happy to help you integrate your content with Stremio!","WEBSITE_P2P":"Once in a while, there comes a technology that changes the name of the game. We invested tons of time and effort in building our Peer-to-Peer (P2P) video streaming engine that provides great performance and versatility to adapt with any use case.\\nContact us for DRM-enabled P2P video on demand or live streaming.","WEBSITE_THOUGHTS":"Thoughts we share:","WEBSITE_SPREAD":"Spread the word about Stremio:","WEBSITE_CONTACT":"Contact us, we\'ll be happy to hear from you!","WEBSITE_OPENSOURCE":"For our open source projects, go to our","WEBSITE_BITCOIN":"Donate bitcoin:","WEBSITE_FAQ":"Frequently asked questions","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Questions","WEBSITE_TOS":"Terms of use","WEBSITE_LEGAL":"Legal","WEBSITE_PAGE_ABOUT":"About","WEBSITE_PAGE_BECOME_PARTNER":"Become a partner","WEBSITE_ALL_YOU_CAN_WATCH":"Freedom To Watch\\nEverything You Want.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"What is stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio is a one-stop hub for video content aggregation. Discover, organize and watch video from all kind of sources on any device that you own.","WEBSITE_WHAT_IS_STREMIO_P2":"Movies, TV shows, series, live television or web channels like YouTube and Twitch.tv - you can find all this on Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio is a modern media center that\'s a one-stop solution for your video entertainment. You discover, watch and organize video content from easy to install addons.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Movies, TV shows, live TV or web channels - find all this on Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Enjoy on all your Media devices","WEBSITE_DEVICES_COLLECT":"Collect from Stremio","WEBSITE_DEVICES_IMPORT_FB":"Import from facebook","WEBSITE_DEVICES_LOCAL":"Add from local drive","WEBSITE_JOIN_THE_PARTY_NOW":"Join the party now","WEBSITE_DEVICES_ALL":"Easy to use on all your devices;","WEBSITE_EXTENDABLE_CATALOG":"Infinitelly extendable video catalog;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Great features to organize your media;","WEBSITE_AS_SEEN_ON":"As seen on","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"About us","WEBSITE_LINK_TECHNOLOGY":"Technology","WEBSITE_LINK_APPS":"Apps","WEBSITE_LINK_DOWNLOADS":"Downloads","WEBSITE_MORE":"More","WEBSITE_LINK_ADDONS":"Addons","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Contribute","WEBSITE_LINK_COMMUNITY":"Community","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... & More","WEBSITE_LINK_HELP":"Help center","WEBSITE_LINK_CONTACTS":"Business inquiries","WEBSITE_LINK_TOS":"Terms & conditions","WEBSITE_LINK_PRAVACY":"Privacy policy","WEBSITE_SUBSCRIBE":"Subscribe","WEBSITE_NEWSLETTER":"Join Our Newsletter for amazing stuff","WEBSITE_PLACEHOLDER_EMAIL":"Your Email","WEBSITE_COMMUNITY":"Community","WEBSITE_LINK_PRAVACY_LEGAL":"Privacy & legal","WEBSITE_WHY":"Why we do it","WEBSITE_WHY_P1":"At Stremio, we come to work every day because we want to solve an important problem for the video-on-demand industry. There’s so much new content published every minute that it’s virtually impossible to find your way around it.","WEBSITE_WHY_P2":"We help people navigate that huge world of video entertainment and discover new content to enjoy. Our apps bring together movies, series, live TV, web channels, and more. We are dedicated to making it incredibly easy for users to find titles and broadcasters that they love.","WEBSITE_WHY_P3":"You can use our service on any device and at any time, making Stremio the only video entertainment hub you’ll ever need.","WEBSITE_TEAM":"TEAM","WEBSITE_TEAM_P":"The Stremio team is small but powerful: between the ten of us, we code in X languages, and share expertise in software development, UI and UX design, marketing and advertising, and business and startups.","WEBSITE_FEATURES":"Features","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Discover new content with ease","WEBSITE_FEATURES_DISCOVER_P":"Easily discover new movies, TV shows, series and channels to watch. Browse by category, genre, rating, recency, etc. or simply type a name to find. Stremio makes finding new video content a piece of cake.","WEBSITE_FEATURES_ALL_CONTENT":"All of your video content on one screen","WEBSITE_FEATURES_ALL_CONTENT_P1":"See what movies, series or videos you didn’t finish and continue watching them; get notified for new episodes and releases; and browse through the recommendations you will get based on your viewing habits.","WEBSITE_FEATURES_LIBRARY":"Organize your video library","WEBSITE_FEATURES_LIBRARY_P1":"Add any title to your Stremio library with a single click and find your way around your content, neatly arranged by type, recency, or alphabetical order.","WEBSITE_FEATURES_CALENDAR":"Keep track of everything you watch","WEBSITE_FEATURES_CALENDAR_P1":"Get a calendar visualization of all the movies and series you add to your library. Export your Stremio calendar and sync it so you always know when a new episode or a premier is due.","WEBSITE_FEATURES_BIG_SCREEN":"Enjoy your video content on a bigger screen","WEBSITE_FEATURES_BIG_SCREEN_P1":"Cast whatever you are watching to another device - be it a phone, tablet or a TV with a single click.","WEBSITE_FEATURES_SOURCES":"Watch video from many different sources","WEBSITE_FEATURES_SOURCES_P":"Install official and community addons to enjoy video sourced from many different providers - all in one sleek, easy to use app.","WEBSITE_CREATE_AN_ADDON":"Create an addon","WEBSITE_FEATURES_SYNC":"Sync your library across different devices and resume your playback","WEBSITE_FEATURES_SYNC_P1":"Login with your account across all your devices and enjoy your library, addons, playback and calendar synchronized.","WEBSITE_FEATURES_EXTENDABLE":"Extendable video catalog by addons","WEBSITE_FEATURES_EXTENDABLE_P1":"The Stremio addon catalog provides a number of addons to install and watch a variety of video content from. This includes movies, shows, live TV, sport, news, podcasts, web channels, video games and more.","WEBSITE_FEATURES_AUTO_SUBS":"Automatic subtitles","WEBSITE_FEATURES_AUTO_SUBS_P1":"With our subtitle addons you get automatically selected options for your preferred language.","WEBSITE_FEATURES_CHROMECAST":"Casting to Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Enjoy your video content on a bigger screen or just cast whatever you are watching to another device.","WEBSITE_FEATURES_KEEP_TRACK":"Keep track of your favorite TV shows and Web channels","WEBSITE_FEATURES_KEEP_TRACK_P1":"Get a calendar visualization and notifications for new episodes of your favorite series and web channels.","WEBSITE_FEATURES_POWER_USER":"Power user features","WEBSITE_FEATURES_POWER_USER_P1":"Play in external player","WEBSITE_FEATURES_POWER_USER_P2":"Play from a torrent file or magnet link","WEBSITE_FEATURES_POWER_USER_P3":"Import to your library from Facebook likes or local disk","WEBSITE_ADD_ONS":"Addons","WEBSITE_ADD_ONS_P1":"All of the video content Stremio provides get sourced through an addon system - no content or content provider has been built into the app.","WEBSITE_ADD_ONS_P2":"There are two groups of addons available: official and community addons.","WEBSITE_ADD_ONS_P3":"The official ones are developed and hosted by Stremio, whereas community addons are created by our community members, who also host them.","WEBSITE_ADDONS_OFFICIAL":"Official addons","WEBSITE_ADDONS_WATCHUB":"Stream your favourite movies, series and shows from providers like iTunes, Hulu, Amazon and other UK/US services.","WEBSITE_ADDONS_YOUTUBE":"Watch your favourite YouTube channels ad-free and get notifications for new uploads from the contributors you follow.","WEBSITE_ADDONS_FILMON":"Watch live TV, movies and social television for free. 600 TV channels, 45,000 free movies, documentaries and more.","WEBSITE_ADDONS_OPENSUBTITLES":"Movie and TV subtitles in multiple languages, thousands of translated subtitles uploaded every day.","WEBSITE_ADDONS_COMMUNITY":"Community addons","WEBSITE_ADDONS_FILMON_VOD":"Watch video on demand from Filmon.tv","WEBSITE_ADDONS_TWICH":"Watch live streams from Twitch.tv - a video streaming platform for the e-sports industry.","WEBSITE_ADDONS_VODO":"Watch indie movies absolutely free of charge.","WEBSITE_ADDONS_NETFLIX":"Watch Netflix movies and web series.","WEBSITE_ADDONS_CREATE":"Create an addon","WEBSITE_ADDONS_CREATE_P1":"If you wish, you can develop your own addon. This way, you can give yourself and our community access to new video content, and reach a new, targeted audience of millions of users around the world.","WEBSITE_ADDONS_START_CREATE":"To get started, visit the Stremio Addon SDK page:","WEBSITE_DOWNLOADS":"Downloads","WEBSITE_DOWNLOADS_P1":"For optimal performance, we recommend that you use the latest available version of the Stremio apps. If for some reason, however, you would like to use an older version, you can download it here.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio for Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio for macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio for Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio for Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio for iOS (limited version)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"The Stremio platform is open source and you can easily create an addon for content that is currently not sourced.","WEBSITE_CONTRIBUTE_WHY":"Why should you create an addon?","WEBSITE_CONTRIBUTE_WHY_P1":"Reach new audience for your video content","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio’s user base is growing rapidly - within the first year of the launch, Stremio had gained 1 million users around the world, and in the second year of the platform’s existence this number grew to 2.5 million.","WEBSITE_CONTRIBUTE_WHY_P3":"With your addon, you can easily reach this audience and distribute your video content to them.","WEBSITE_CONTRIBUTE_ALL":"Watch your favourite movies, videos, series and channels in one single place.","WEBSITE_CONTRIBUTE_ALL_P1":"You’re a fan of a particular type of content not available on Stremio yet? Create an addon for it and enjoy watching your favourite videos in one of the largest and easiest to use entertainment hubs on the market.","WEBSITE_CONTRIBUTE_ALL_P2":"On top of that, you’ll get the endless gratitude of other like-minded Stremio community members.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetize your addon and earn money with its help","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Once you develop a new addon for Stremio, you can easily monetize it through a number of different ways. If you are considering this, feel free to get in touch with us at ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - we would be happy to consult and advise you about addon monetization options.","WEBSITE_CONTRIBUTE_TRANSLATE":"Become a volunteer translator","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"If you want to enjoy the Stremio apps in different languages, you can join our community of volunteer translators. They help us add versions of the Stremio in many different languages.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Are you eager to get started?","WEBSITE_TRANSALTE_STREMIO":"Translate Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Official communities","WEBSITE_COMMUNITY_OFFICIALS_P1":"Become a part of the growing Stremio community. Follow us on social media and don’t be shy to say hello - we love hearing from our fans! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Unofficial communities","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partners and supporters","WEBSITE_COMMUNITY_GOODIES":"Stremio goodies","WEBSITE_COMMUNITY_WALLPAPERS":"Wallpapers","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"Contact us","WEBSITE_CONTACT_US_P1":"If you have any questions, comments or suggestions, feel free to get in touch with us through the contact form below.","WEBSITE_CONTACT_US_P2":"Keep in mind that we are located in Bulgaria so there may be a delay in addressing your query due to time zone differences.","WEBSITE_CONTACT_US_SUCCESS":"Your message has been sent. We will get back to you at our earliest convenience.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Please enter a valid email!","WEBSITE_CONTACT_US_Q_RELATED_TO":"What is your question related to?","WEBSITE_CONTACT_US_Q_OS":"What is your Operation System?","WEBSITE_CONTACT_US_PH_EMAIL":"Your E-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Message","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"SEND","WEBSITE_CONTACT_US_Q_1":"How to install?","WEBSITE_CONTACT_US_Q_2":"How to uninstall?","WEBSITE_CONTACT_US_Q_3":"(HTML) How to make lasagna?","WEBSITE_CONTACT_US_Q_4":"Addons","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Technology","WEBSITE_TECHNOLOGY_P1":"We love technology and mad science. </br> Here is what powers Stremio (it’s all open-source).","WEBSITE_TECHNOLOGY_P_QT":"Cross-platform software development at its best.","WEBSITE_TECHNOLOGY_P_MPV":"A free, open source, and cross-platform media player.","WEBSITE_TECHNOLOGY_P_RN":"React Native lets you build mobile apps using only JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework embedded into application to get multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm is a mobile platform and a replacement for SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js is an open-source, cross-platform, JavaScript runtime environment.","WEBSITE_TECHNOLOGY_P_RUST":"Rust is a multi-paradigm system programming language focused on safety, especially safe concurrency.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribute to the project","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"There are two ways you can contribute to Stremio and help us make the product even better.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"You can donate your valuable language skills by translating the platform...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"or","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... you can employ your coding skills for creating community addons. ","WEBSITE_TRANSLATE_STREMIO":"Translate Stremio","WEBSITE_404_OH_NO":"Uh-oh! The page you’re looking for is not here...","WEBSITE_GO_HOME":"Go home","WEBSITE_LINK_OTHER_DOWNLOADS":"Other downloads","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Support","WEBSITE_DOWNLOAD_4_0_BETA":"Download Stremio 4 beta Now","WEBSITE_GET_FOR_DESKTOP":"Get for desktop","WEBSITE_LINK_ADDON_COMPETITION":"Addon competition","WEBSITE_LINK_ART_CONTEST":"Art contest","WEBSITE_MY_ACCOUNT":"My account","WEBSITE_MAINPAGE_FAQ_001_H1":"What is Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio is a modern media center that gives you the freedom to watch everything you want.","WEBSITE_MAINPAGE_FAQ_002_H1":"How does it work?","WEBSITE_MAINPAGE_FAQ_002_P1":"Once you install Stremio on your device and create an account, all you have to do is to visit the addon catalog and install any addon you want, and you\'re good to go!","WEBSITE_MAINPAGE_FAQ_002_P2":"After that, you can go to the Discover or Board sections to start exploring content.","WEBSITE_MAINPAGE_FAQ_003_H1":"What can I watch here?","WEBSITE_MAINPAGE_FAQ_003_P1":"A lot: Movies, TV shows, Web channels, Sport, TV channels, listen to Podcasts and more. Thanks to our addon system, you can access a variety of content.","WEBSITE_MAINPAGE_FAQ_004_H1":"Is Stremio open-source?","WEBSITE_MAINPAGE_FAQ_004_P1":"Yes, you can check the following links: ${1}desktop app${2} and ${3}GitHub organization${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Is Stremio safe?","WEBSITE_MAINPAGE_FAQ_005_P1":"Yes: because it is open-source software, the code is publically auditable and you can review it yourself.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"How about my privacy?","WEBSITE_MAINPAGE_FAQ_006_P1":"We respect users\' privacy and do not collect any personal data besides the essential minimum to create and sync your account.","WEBSITE_MAINPAGE_FAQ_006_P2":"There is also a ${1}Guest mode${2} at signup, which requires no data whatsoever: in this mode, no calls are made to our backend. However, it comes at the expense of useful features, such as being able to sync your library across devices.","WEBSITE_MAINPAGE_FAQ_007_H1":"Can I cast to my TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Yes, we support Chromecast and you can cast both from desktop and mobile apps (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"How many addons does Stremio have?","WEBSITE_MAINPAGE_FAQ_008_P1":"As of late 2019, over 50 - for more information, check our addon catalog.","WEBSITE_MAINPAGE_FAQ_009_H1":"Can Stremio be extended beyond what\'s in the addon catalog?","WEBSITE_MAINPAGE_FAQ_009_P1":"Yes, you should check those: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"What devices does Stremio support?","WEBSITE_MAINPAGE_FAQ_010_P1":"We have desktop apps for Windows, Mac and Linux. For mobile, we support Android and iOS, although keep in mind that the iOS is limited in functionality (does not support most addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"There are many Android-based devices which you can run Stremio on, like NVIDIA Shield and Amazon Fire Stick, but we do not support them officially.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Can you add certain content to Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Sorry, we provide no content ourselves, but the more Stremio addons you have installed, the more content you will be able to find.","WEBSITE_MAINPAGE_FAQ_012_H1":"Can Stremio play magnet links?","WEBSITE_MAINPAGE_FAQ_012_P1":"Yes, and it can also play normal HTTP links and torrent files (drag and drop).","WEBSITE_MAINPAGE_FAQ_013_H1":"Can I download a video and watch offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Available offline is an upcoming feature, but if you allow Stremio to cache on your device (from the settings panel) you can watch the videos later without a connection.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nothing works, help me!","WEBSITE_MAINPAGE_FAQ_014_P1":"Are you sure you have installed addons? If yes, check with our ${1}help center${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"How does Stremio sustain it\'s development operations?","WEBSITE_MAINPAGE_FAQ_015_P1":"We run non-intrusive ads occassionally, but we\'re considering moving to a donation model.","WEBSITE_MAINPAGE_FAQ_015_P2":"For more questions, go to our ${1}help center${2}.","HELP_LEARN_MORE":"Help us learn more about you.","LIFESTYLE":"Lifestyle","SPORTS":"Sports","FOOD_HEALTH":"Food & health","BEAUTY_FASHION":"Beauty & Fashion","NEWS":"News","GAMING":"Gaming","SCIENCE_EDUCATION":"Science & education","MUSIC":"Music","TRAVEL":"Travel","LATE_NIGHT":"Late Night","REALITY":"Reality","COMEDY":"Comedy","DIY":"How to DIY","TECH":"Tech","CINEMA":"Cinema","CONTINUE":"Continue","SLOW_LOADING":"SLOW LOADING?","I_GIVE_UP":"I GIVE UP","LEARN_MORE":"Learn more","POOR_SOURCE":"This source is poorly available or your internet connection is not fast enough","PICK_CATEGORIES_ERR":"You have to pick at least 3 categories","ADJUST_TIMING":"Adjust timing with ","ADJUST_SIZE":"Adjust size with ","SEARCH_ANYTHING":"You Can Search Anything...","ALL_CATEGORIES":"All","SEARCH_CATEGORIES":"Movies, Series, YouTube & TV","SEARCH_PERSONS":"Actors, Directors & Writers","SEARCH_PROTOCOLS":"HTTP & Magnet Links","SEARCH_TYPES":"IMDB / TVDB links","WATCHED":"Watched","SHOW_LESS":"Show less","LAST_SEARCHES":"Last searches","CLEAR_HISTORY":"Clear history","CHOOSE_SOME":"CHOOSE SOME OF THIS:","NO_WEB_REMOTE":"Web Remote could not be loaded","STREMIO_OFFLINE":"Stremio is offline","STREMIO_EXPENSIVE_CONNECTION":"We\'ve detected that you are using a mobile data connection, do you want to continue?","USE_DATA":"Use data","WARNING":"Warning","MORE_INFO":"More Info ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Loading ...","STREMIO_TV_BACK_TO_LANGUAGES":"Back to languages","STREMIO_TV_REMOTE":"Remote","STREMIO_TV_GO_TO":"Go to:","STREMIO_TV_OR_SCAN":"or scan:","STREMIO_TV_ADDON_INSTRUCTIONS":"Please follow the instructions in order to install your preferred addons.","STREMIO_TV_LIVE_TV":"Live TV","STREMIO_TV_RESUME_WATCHING":"Resume Watching","STREMIO_TV_LOADING_BACKGROUND":"Loading Background","STREMIO_TV_CHECKING_AUTHENTICATION":"Checking Authentication","STREMIO_TV_LOADING_BOARD":"Loading Board","STREMIO_TV_LOGIN_HEADER_LINE_1":"We want our users to have the best possible personalized experience with our software.","STREMIO_TV_LOGIN_HEADER_LINE_2":"It is for this reason that we kindly ask you to make and/or login to your account.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Thank you for understanding,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"The Stremio Team","STREMIO_TV_REMOTE_INSTRUCTIONS":"In order to use the Web Remote with your Smartphone / Tablet / Desktop:","STREMIO_TV_WIFI_SETUP":"Wi-Fi Setup","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle did not detect a internet connection.","STREMIO_TV_WIFI_DETAILS_1":"Connect to:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Use password:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Open a web browser with the link:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Default","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"By Last Watched","STREMIO_TV_LIBRARY_SORT_NAME":"By Name","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"By Times Watched","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Season ${1}","STREMIO_TV_STREAMS_LOADING":"Loaded ${1} / ${2} addons...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} addon is still loading...","STREMIO_TV_PLAYER_SETTINGS":"Player settings","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Subtitles delay","STREMIO_TV_PLAYER_AUDIO_DELAY":"Audio delay","STREMIO_TV_PLAYER_VIDEO_SCALING":"Video scaling","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Unsupported stream source","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Failed opening external link","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Not adjustable in audio passthrough mode","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Play with ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Play with libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Switching to libVLC player due to a playback error","STREMIO_TV_ADDONS_TITLE":"Use Stremio on your Phone or PC to install or configure addons and press \\"Sync Addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Note: make sure you are using the same Stremio account","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sync Addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons successfully synchronized","STREMIO_TV_ADDONS_SYNC_FAILED":"Failed to synchronize addons","STREMIO_TV_META_LINK_FAILED":"Failed opening meta link","STREMIO_TV_CATALOG_LOADING":"Catalog still loading...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Interface language updated","STREMIO_TV_SETTINGS_THEME_UPDATED":"Theme updated","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Default Player","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"External Player","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferred Language","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Secondary Preferred Language","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possible playback issues on some devices","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Some video formats might not work","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"No caching","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Default","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Soft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Fast","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Fast","STREMIO_TV_SETTINGS_SERVER_URL":"Streaming server url","STREMIO_TV_SETTINGS_SERVER_VERSION":"Server version","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Unknown","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio version","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Edit server url","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Enter a streaming server url","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Show statistics while loading","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"To read Stremio\'s Privacy Policy, visit:","STREMIO_TV_SETTINGS_TOS_TEXT":"To read Stremio\'s Terms and Conditions, visit:","STREMIO_TV_NAV_SEARCH":"Search","STREMIO_TV_NAV_HOME":"Home","STREMIO_TV_NAV_DISCOVER":"Discover","STREMIO_TV_NAV_LIBRARY":"Library","STREMIO_TV_NAV_MOVIES":"Movies","STREMIO_TV_NAV_SERIES":"Series","STREMIO_TV_NAV_CHANNELS":"Channels","STREMIO_TV_NAV_TV":"Live TV","STREMIO_TV_NAV_SETTINGS":"Settings","STREMIO_TV_NAV_ADDONS":"Addons","STREMIO_TV_LOGIN_TITLE":"Link Account","STREMIO_TV_LOGIN_EXPIRES_IN":"Expires in","STREMIO_TV_LOGIN_STEP_ONE":"Scan QR Code above or go to","STREMIO_TV_LOGIN_STEP_TWO":"Log in to your Stremio account","STREMIO_TV_LOGIN_NEW_LINK":"Request a new link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Login code refreshed","STREMIO_TV_SEARCH_PLACEHOLDER":"Type something","STREMIO_TV_SEARCH_NO_ADDONS":"No addons were requested for catalogs!","STREMIO_TV_SEARCH_BUTTON":"Search","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Search History","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"You can search for Titles, Actors, Channels and more...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Clear Search History","STREMIO_TV_FILTERS_DESCRIPTION":"Choose from one of the filters below","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"Filters","SETTINGS":"Settings","ACCOUNT":"Account","LOGOUT":"Logout","THEMES":"Themes","PLAYBACK":"Playback","PLAYBACK_SPEED":"Playback Speed","AUDIO_TRACKS":"Audio Tracks","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Videos","SERVER":"Server","LINKS":"Links","ABOUT":"About","INTERFACE":"Interface","ANIMATIONS":"Animations","STATUS":"Status","LANGUAGE":"Language","SIZE":"Size","DELAY":"Delay","BOLD":"Bold","OPACITY":"Opacity","TEXT_COLOR":"Text Color","OUTLINE_COLOR":"Outline Color","BACKGROUND_COLOR":"Background Color","BACKGROUND_BLUR":"Background Blur","SEEK_TIME_DURATION":"Seek Time Duration","AUTO_PLAY":"Auto-Play Next Episode","PLAY_NOW":"Play Now","MARK_AS_WATCHED":"Mark as Watched","MARK_AS_UNWATCHED":"Mark as Unwatched","REWIND_TO_BEGINNING":"Rewind to Beginning","CONTINUE_WATCHING":"Continue Watching","ALL":"All","SECONDS":"seconds","ON":"ON","OFF":"OFF","RELOAD":"Reload","EDIT_URL":"Edit URL","NONE":"None","EMBEDDED":"Embedded","REMOTE_SWITCH_DEVICES":"Switch Devices","REMOTE_VIDEOS":"Videos","REMOTE_ADJUST_TIMING":"Adjust timing","REMOTE_ADJUST_SIZE":"Adjust size","REMOTE_COULD_NOT_BE_LOADED":"Web Remote could not be loaded","REMOTE_RETRY":"Retry","TORRENT_PROFILE_DEFAULT":"Default","TORRENT_PROFILE_SOFT":"Soft","TORRENT_PROFILE_FAST":"Fast","TORRENT_PROFILE_ULTRA_FAST":"Ultra Fast","FAQ_001_H1":"What is Stremio?","FAQ_001_P1":"Stremio is a media center software designed for video entertainment with ease of use in mind. Stremio allows you to organize &amp; watch your own collection of movies, series, channels and live TV.","FAQ_001_P2":"Stremio collect the content it shows you from your local disk and our addons system.","FAQ_001_P3":"It will also notify you when new episodes/videos/movies you\'re interested in come out, and provide movie recommendations for you.","FAQ_02_H1":"How does Stremio compare to Kodi and Plex?","FAQ_02_P1":"We are inspired by those two pieces of software. But we have different goals - Stremio is specifically targeted towards entertainment video, and strives to become the mainstream solution for that by being very easy to use.","FAQ_02_P2":"Stremio will never be as customizable and feature-rich as Kodi and Plex, but it is significantly easier to use. Just ${1} get it and see ${2} :)","FAQ_03_H1":"How does Stremio compare to Netflix?","FAQ_03_P1":"Again, Netflix is one of our inspirations. We strive to achieve the user experience of Netflix, plus a lot of added goodies. But most importantly, we\'re giving you the freedom to manage your own library and add new content sources with our addon system.","FAQ_03_P2":"That makes Stremio infinitely extendable, so when you use Stremio, you\'re never limited to the content Netflix decides to license. For example, through Stremio you can watch content from ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} and even ${9}Netflix${10} itself!","FAQ_04_H1":"How does Stremio compare to Flipboard?","FAQ_04_P1":"We don’t get that question that often, except when talking to start-up people :)","FAQ_04_P2":"Stremio is by design a content aggregator, which essentially makes it Flipboard for video. This is very apparent in our Board section, which gives you catalogues and new episode/new video notifications for what you follow, just like Flipboard.","FAQ_05_H1":"How does Stremio compare to Popcorn Time?","FAQ_05_P1":"Stremio and Popcorn Time are similar in user interface, because there aren’t many ways to do video entertainment catalogues right :)","FAQ_05_P2":"But while Popcorn Time is focused on streaming torrents from specific sources, Stremio is unrestricted and is merely a content aggregator - it’s not locked into a specific content source.","FAQ_05_P3":"Furthermore, we do not provide any torrent addons by default, so Stremio does not cover the Popcorn Time use-case with official functionality.","FAQ_05_P4":"Another notable difference is that Popcorn Time is completely open source, while Stremio is ${1} partially open source${2}.","FAQ_06_H1":"Will you add this movie/series?","FAQ_06_P1":"No, sorry :(","FAQ_06_P2":"As is mentioned in most of the other questions, Stremio does not provide any content by itself - everything is added through the addons system. In case you have a content request, you can use the “Report” button in the Player, which will send an email to the author of the addon you’re currently using.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Will you create addon for X?","FAQ_08_P1":"It\'s entirely possible.","FAQ_08_P2":"If you have an idea for an addon, drop us a line at ${1}office@stremio.com${2}, but please make sure your addon idea will not infringe on any copyrights or terms of use.","FAQ_08_P3":"At the moment, the next things on our roadmap are addons for FandangoNOW, Filmon.tv video on demand and Crunchyroll.","FAQ_09_H1":"Does Stremio use BitTorrent?","FAQ_09_P1":"Yes, Stremio supports BitTorrent as a streaming protocol. You can use that either with a torrent addon, or by drag-and-dropping a .torrent file into Stremio, or by pasting a magnet link into the Search Bar.","FAQ_09_P2":"Please note that the only official addon using BitTorrent is ${1}Vodo${2}, which provides indie content, all permitted to be distributed with BitTorrent.","FAQ_09_P3":"We do not support use of any third-party addons which may enable copyright infringement.","FAQ_10_H1":"What can I watch in Stremio with the official addons?","FAQ_10_P1":"By default, you can watch Filmon.tv, YouTube and Vodo content within Stremio itself, with it’s embedded player. Additionally, we have an addon for Twitch.tv and a few others.","FAQ_10_P2":"This combined provides a selection of:","FAQ_10_L1":"Popular TV channels, provided by Filmon.tv - for example E4, BBC, Bollyworld TV","FAQ_10_L2":"Everything from YouTube - for example BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indie movies with Vodo","FAQ_10_L4":"Online gaming broadcasts with Twitch.tv","FAQ_10_P3":"Additionally, there are many content sources provided with Guidebox and the Netflix addons, which <b>do not</b> play entirely inside Stremio, but would redirect to the given service. For example, the Guidebox addon would give you a selection of movies you can stream in the US for free, from services like TubiTV and Crackle.","FAQ_11_H1":"Stremio won\'t install, what should I do?","FAQ_11_P1":"If you\'re on Windows, try ${1}this alternative installer${2}.","FAQ_11_P2":"If you\'re on Mac OS X, please be aware that we don\'t support anything older than OS X Mavericks (10.9).","FAQ_11_P3":"If you\'re on Linux, be aware that we only support 64 bit (x64) Linux at the moment.","FAQ_11_P4":"If you still can\'t resolve your problem, please write us at our ${1}Facebook group${2}.","FAQ_12_H1":"Why does my anti-virus complain? Is Stremio safe?","FAQ_12_P1":"We assure you Stremio is ${1}100% clean${2}.","FAQ_12_P2":"Your antivirus is complaining because we include advertising in our installer, which some anti-virus programs recognize as ad-ware.","FAQ_12_P3":"If you\'re still unsure, you can try our ${1}alternative installer${2}.","FAQ_13_H1":"How can I make an addon?","FAQ_13_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_13_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_13_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_14_H1":"How are addons published?","FAQ_14_P1":"When you create an addon and host, and put a <b>endpoint</b> field in your manifest, which points to a working addon address, the addon will automatically publish itself to our ${1}Addon catalogue${2}.","FAQ_14_P2":"This happens because the server part of the stremio-addons module automatically makes a call to our API to announce the addon. When our API validates your <b>endpoint</b> as a valid addon, it will start showing in the catalogue.","FAQ_15_H1":"Can I run Stremio in my browser?","FAQ_15_P1":"Not at the moment, but this is coming!","FAQ_15_P2":"If you\'re curious to see an Alpha, you can see it here: ${1}alpha4.strem.io${2}. Keep in mind streaming is disabled on this alpha. We support Chrome, Firefox, Opera and Edge.","FAQ_16_H1":"Casting to TV doesn\'t work / subtitles don\'t work","FAQ_16_P1":"Casting to TV uses the DLNA technology which is very inconsistent between different TV brands and models. For that reason, we do not have the ability to test it in every case, so it\'s far from perfect. Despite this, we\'re working on improving it constantly but we cannot give you a time estimate on when DLNA will start working properly with your TV.","FAQ_16_P2":"If you don\'t even see your TV in the casting menu, please try disabling your network connection and re-enabling it (on Windows, right click the Network and use Enable/Disable), as well as restarting your router, TV and PC.","FAQ_16_P3":"If you are still encountering issues, you can help us by sending your TV brand and model information at ${1}office@stremio.com${2}.","FAQ_16_P4":"In the meantime, we recommend Chromecast, which we support very well, or simply plugging in your TV to your PC with an HDMI cable.","FAQ_17_H1":"Stremio freezes and/or crashes, what can I do?","FAQ_17_P1":"First of all, if you\'re using Windows 7 with AVG anti-virus: we have a problem with that combination. The problem is in AVG itself, and there\'s no reasonable way to resolve it on our end. Unfortunately, exceptions or disabling the anti-virus won\'t work. The only solution is to replace AVG with something else.","FAQ_17_P2":"If that\'s not the issue, but you\'re still using Windows, please update to the latest service pack and update/re-install your GPU drivers, then try again.","FAQ_17_P3":"If you\'re problem is still not resolved, or you\'re using a Mac or Linux, please write us reporting the exact details of the problem at ${1}our Facebook group${2}.","FAQ_18_H1":"How can I make an addon?","FAQ_18_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_18_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_18_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_19_H1":"Why is Stremio taking disk space?","FAQ_19_P1":"Stremio has a <b>local cache</b> to temporarily keep the video files you stream.","FAQ_19_P2":"This has two benefits: first, it allows Stremio to pre-buffer the video ahead so as to ensure smoother streaming. Second, it keeps the videos in the local cache so you can continue watching them offline.","FAQ_19_P3":"How much Stremio keeps depends on the <b>Cache</b> setting in the Settings panel. Stremio may keep up to the set amount (e.g. 2GB) on your disk, unless the currently streamed video is larger than that, in which case it has to allocate enough storage to keep it until you\'re streaming it.","FAQ_20_H1":"Where is the cache folder?","FAQ_20_P1":"On Windows, it\'s stremio-cache in the drive you picked in Settings (e.g. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"On MacOS, it\'s \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"On Linux, it\'s \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"I get \\"Streaming server is not found\\" error, what can I do?","FAQ_21_P1":"If you get this error, it means one of few things:","FAQ_21_P2":"1) You are trying to use an addon backed by YouTube/BitTorrent source, through our ${1}web version${2}. In this case, you should install our desktop version from ${3}our website${4}.","FAQ_21_P3":"2) Something is wrong with your Stremio installation. In this case, try re-installing our latest desktop version from ${1}the website${2}. If this does not help, try disabling anti-virus programs and firewalls, restarting your PC and trying again. If this does not work too, please write us at our ${3}our Facebook group${4}.","FAQ_22_H1":"I cannot see/use most addons on iOS","FAQ_22_P1":"Because of restrictions in the Apple App Store terms and conditions, we have restricted the iOS application only to a particular set of addons.","FAQ_22_P2":"But rest assured - there will be more addons for iOS in the future, and we may also add an integration that will allow you to use all Stremio addons thanks to connecting the iOS app to the Stremio Streaming Server."}')},93191:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Film","TYPE_series":"Dizi","TYPE_tv":"TV kanalı","TYPE_channel":"Kanal","TYPE_other":"Diğer","TYPE_movie_PL":"Filmler","TYPE_series_PL":"Diziler","TYPE_tv_PL":"TV kanalları","TYPE_channel_PL":"Kanallar","TYPE_other_PL":"Diğer","TYPE_ALL":"Tümü","TYPE":"Tür","CATALOG_com_linvo_cinemeta_top":"Beğenilenler","CATALOG_com_linvo_cinemeta_imdbRating":"Öne Çıkanlar","CATALOG_com_linvo_cinemeta_year":"Yeniler","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Kamu Malı Filmler","VIDEO":"Görüntü","BACK":"Geri","MORE":"Daha fazla","DONE":"Bitti","COPY":"Kopyala","SUCCESS":"Başarılı","ERROR":"Hata","SETTINGS_CASTING_MODE_PICKER":"Yayın modu","CASTING_MODE_HLSV2":"Varsayılan","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Kod dönüştürme yok","Discover":"Keşfet","Board":"Pano","Library":"Kitaplık","My Library":"Kitaplığım","Calendar":"Takvim","NOTIFICATION_ONLINE":"Şu an çevrimiçisiniz","NOTIFICATION_OFFLINE":"Şu anda çevrimdışısınız","INTERNET_CONNECTION":"Ağ bağlantısı","STORAGE_FULL_TITLE":"Dikkat: Depolama dolu!","STORAGE_FULL_TEXT":"Stremio, ayarlarınızı, tercihlerinizi veya oturum açma bilgilerinizi kaydedemeyecektir. Stremio\'yu yeniden başlatmayı veya yeniden yüklemeyi düşünün.","SEARCH":"ara","SEARCH_NO_RESULTS":"Sonuçlar bulunamadı","SEARCH_EXPLANATION_CONTENT":"Filmler, diziler, YouTube ve TV kanallarını arayın","SEARCH_EXPLANATION_PEOPLE":"Aktörler, yönetmenler, yazarları arayın","SEARCH_PASTE_LINKS":"HTTP ve Magnet bağlantılarını yapıştırın","SEARCH_OR_PASTE_LINK":"Arayın ya da bağlantıyı yapıştırın","SEARCH_SUGGESTIONS":"Arama Önerileri","ADD_TO_LIB":"Kitaplığa Ekle","REMOVE_FROM_LIB":"Kitaplıktan Kaldır","ADDED_TO_LIB":"Kitaplığa Eklendi","REMOVED_FROM_LIB":"Kitaplıktan Kaldırıldı","TRAILER":"Fragman","WATCH_TRAILER":"Fragmanı İzle","WATCH_NOW":"Şimdi İzle","SHOW":"Göster","SHOW_MOVIE":"Filmi Göster","WATCH_RANDOM":"Rastgele İzle","IMDB_RATING":"IMDB Puanı","YEAR":"Yıl","DIRECTOR":"Yönetmen","WRITER":"Yazar","LEAD_ACTORS":"Başroller","CAST":"Oyuncular","CREW":"Ekip","SHOW_MORE_CAST":"Daha fazlasını göster »","AIRED":"Yayın tarihi","SEASONS":"Sezonlar","GENRE":"Tür","GENRE_ALL":"Tüm türler","CATALOG":"Katalog","SUMMARY":"Özet","SHOW_MORE":"Daha Fazla Göster","SIMILAR":"Benzer","UPCOMING":"Yaklaşan","ENDED":"Biten","DURATION":"Süre","FEATURED":"Öne çıkanlar","METADATA":"Üstveri","CATEGORY":"kategori","LINKS_GENRES":"Türü","LINKS_CAST":"Oyuncular","LINKS_DIRECTORS":"Yönetmenler","SEARCH_VIDEOS":"görüntüleri arayın","SEARCH_PLACEHOLDER":"arayın veya URL yapıştırın","ADDON":"eklenti","ADDONS":"Eklentiler","OFFICIAL":"resmi","ADDONS_OFFICIAL":"Resmi Stremio Eklentileri","ADDONS_POPULAR":"Bölgenizde beğenilen","ADDON_FREE":"ücretsiz","ADDON_PEERED":"denk gelen","ADDON_SUBSCRIPTION":"abonelik","ADDON_STREAM_GEORESTRICTED":"bölgenizde mevcut değil","ADDON_STREAM_OFFLINECACHE":"Çevrimdışı Önbellek","ADDON_STREAM_LOCALFILE":"Yerel Dosya","SHARE_ADDON":"Eklentiyi paylaş","AVAILABLE_STREAMS":"Mevcut Akışlar","NO_STREAM":"Akışlar bulunamadı","ALL_ADDONS":"Tümü","INSTALL_MORE_ADDONS":"Daha fazla akış için lütfen daha fazla eklenti yükleyin","STREAM_NOT_SUPPORTED":"Seçilen akış bu platformda desteklenmiyor.","ADDON_CATALOGUE":"Tüm eklentileri göster »","ADDON_CATALOGUE_MORE":"Eklentileri yükle","REPO_ADDED":"Depo eklendi","ADDON_REPO_EXIST_ERR":"Bu eklenti koleksiyonu zaten var","ADDON_REPO_ERR":"Koleksiyon eklenirken hata meydana geldi","ADDON_ADD_ERR":"Eklenti eklenirken hata meydana geldi","ERR_ADDON_PROTECTED":"Eklenti kaldırılamıyor, korumalı","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Bir şeyler ters gitti - kimlik doğrulaması başarısız olabilir","ERR_NOT_COLLECTION_URL":"Bir koleksiyon URL\'si değil","ERR_NOT_ADDON_URL":"Bir eklenti URL\'si değil","ERR_DETECTFROMURL":"Bu URL\'den eklenti/koleksiyon bulunamıyor","ADDON_DUPLICATE_WARNING":"Uyarı: yinelenen eklenti","ADDON_COLLECTION_SET_FAILED":"Yüklü eklentilerin hesabınıza eşitlenmesi başarısız oldu","SETTINGS_DATA_EXPORT":"Kullanıcı verilerini dışa aktar","ADDON_PULL_FAILED":"Yüklü eklentilerin hesabınızdan eşitlenmesi başarısız oldu","REFRESH_ON_CLICK":"Yeniden denemek için tıklayın","STILL_IN_THEATER":"Film hala gösterimde","WATCH_IN_CINEMA":"Yerel sinemanızda izleyin","IN_THEATER":"Sinemada","GET_TICKETS":"Bilet al","UPCOMING_EPISODE":"Yaklaşan bölüm","UPCOMING_EPISODE_MESSAGE":"Bu bölümün yayınlanacağı tarih","MISSING_DATE_EPISODE":"Eksik bölüm tarihi","MISSING_DATE_EPISODE_MESSAGE":"Bu bölüm henüz yayınlanmamış olabilir","CHANNEL_NOT_SCRAPED":"Bu kanal henüz uygun değil.<br>Lütfen birkaç dakika içinde yine geri gelin.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Mevcut olduğunda bildirim almak için kitaplığınıza ekleyin.","GET_NOTIFIED_WHEN_AVAILABLE":"Mevcut olduğunda bilgilendirileceksiniz.","WARNING_STREAMING_SERVER":"Uyarı: yerel akış sunucusu bulunamadı. Yerel dosyalardan, YouTube ve BitTorrent\'den akış kullanılamayacaktır.","WARNING_STREAMING_SERVER_DISMISS":"Vazgeç","WARNING_STREAMING_SERVER_LATER":"Sonra","DECODER_WARNING":"Uyarı: bu görüntü, donanımınız tarafından desteklenmiyor olabilir. Oynatma yavaş olabilir, unutmayın.","GENERIC_ERROR_MESSAGE":"Bir şeyler yanlış gitti!","TRY_AGAIN":"Tekrar dene","CLEAR_DATA":"Verileri temizle","PLAYER_ERROR":"Eyvah, Oynatıcı Hatası","PLAYER_ERROR_LOOKSLIKE":"Benzediği durum","PLAYER_ORIENTATION":"Oynatıcı yönü","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Kilitli","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensör","PLAYER_ORIENTATION_LANDSCAPE":"Oynatıcı yönü yatay olarak kilitli","PLAYER_ORIENTATION_SENSOR":"Oynatıcı yönü otomatik (sensör)","PLAYER_PLAYBACK_SPEED":"Oynatma Hızı","PLAYER_PLAYBACK_ERROR":"Oynatma hatası, lütfen tekrar deneyin","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Bilinmeyen hata","PLAYER_PLAYBACK_ERROR_DEFAULT":"Üzgünüz, bu görüntü {{productName}} tarafından oynatılamaz.","PLAYER_SUBTITLES_LANGUAGES":"Altyazı Dilleri","PLAYER_SUBTITLES_VARIANTS":"Altyazı Çeşitleri","PLAYER_SUBTITLES_SETTINGS":"Altyazı Ayarları","PLAYER_SUBTITLES_DISABLED":"Altyazılar etkisizleştirildi","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Dikey Konum","PLAYER_SUBTITLES_LOADED":"Altyazılar yüklendi","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Gömülü altyazılar yüklendi","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Özel altyazılar yüklendi","PLAYER_SUBTITLES_LOADED_ORIGIN":"Altyazılar, {{origin}} kaynağından yüklendi","PLAYER_PLAY":"Oynat","PLAYER_PAUSE":"Duraklat","PLAYER_NEXT_VIDEO":"Sonraki Görüntü","PLAYER_MUTE":"Sesi Kapat","PLAYER_UNMUTE":"Sesi Aç","PLAYER_OPEN_IN_EXTERNAL":"Harici oynatıcıda aç","PLAYER_OPEN_IN_NPLAYER":"nPlayer\'da aç","PLAYER_PLAY_IN":"{{device}} içinde oynat","PLAYER_LIVE":"Canlı","PLAYER_NEXT_VIDEO_TITLE":"Sıradaki gelen","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Sıradaki","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Vazgeç","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Şimdi izle","PLAYER_COPY_STREAM_SUCCESS":"Akış bağlantısı panonuza kopyalandı","PLAYER_COPY_STREAM_ERROR":"Akış bağlantısını kopyalama başarısız oldu","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"İndirme bağlantısı panonuza kopyalandı","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"İndirme bağlantısını kopyalama başarısız oldu","STREAMING_FROM":"yayının geldiği yer","CASTING_TO":"Yayınlandığı yer","NETWORK_STATUS":"Ağ durumu","STREAM_SPEED":"Yayın hızı:","STREAM_BUFFERED":"Arabelleğe alınan:","PEERS_INFO":"Kişi Bilgileri","PEERS_ACTIVE":"Etkin:","PEERS_CONNECTED":"Bağlandı:","PEERS_WAITING":"Bekleniyor:","TRANSCODING_WARNING":"Uyarı: görüntü kodu dönüştürülüyor.","STREAM_LOADING":"yükleniyor...","PLAYING_LOCAL":"yerel dosyadan oynatılıyor","PLAYING_CACHE":"önbellekten oynatılıyor","WRONG_SUBS":"Altyazı yanlış mı?","ERR_SUBS_LOADING_TITLE":"Altyazı yüklenirken hata oldu","ERR_SUBS_LOADING":"Altyazıları yükleme başarısız: bu kullandığınız eklenti ya da ağ bağlantınız ile ilgili bir sorun olabilir","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Aşağıdaki altyazı eklentileri başarısız oldu","ERR_CASTING_UPDATE_TITLE":"Yayınlama cihazı bilgisi güncellenemedi: akış sunucusu çevrimdışı olabilir","CHOOSE_DEVICE":"İzleyeceğiniz bir cihaz seçin","NO_CAST_DEVICES":"Kullanılabilir yayınlama cihazları yok.","NO_SETTINGS":"Kullanılabilir ayarlar yok.","PHONE_TABLET":"Telefon / Tablet","SUBTITLES":"Altyazılar","SUBTITLES_CHANGE":"Altyazıyı şunun için değiştir: ","SUBTITLES_CHANGE_NONE":"Bu dil için başka altyazı yok, üzgünüz.","SUBTITLES_CHANGE_ACIVE":"Şu anda &#35;{{subtitlesDialog.activeIdx + 1}} altyazısı etkinleştirildi. &#35;{{subtitlesDialog.pickedIdx + 1}} altyazısını etkinleştirmek için \\"Devam\\" düğmesine tıklayın.","SUBTITLES_OR":"Alternatif olarak,","SUBTITLES_ADJUST_DELAY":"Altyazı gecikmesini ayarlayın:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Veya oynatırken ayarlamak için <span>G</span> / <span>H</span> tuşlarını kullanın.","SUBTITLES_ADJUST_DELAY_TIP":"İPUCU: oynatırken ayarlamak için <span>G</span> / <span>H</span> tuşlarını kullanabilirsiniz.","SUBTITLES_DELAY":"Altyazı gecikmesi:","SUBTITLES_LOADING":"Altyazılar yükleniyor...","SUBTITLES_UNAVAILABLE":"Kullanılabilir harici altyazı yok","SUBTITLES_DISABLED":"Etkisizleştirildi","EXTERNAL_PLAYER_DISABLED":"Etkisizleştirildi","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Seçime İzin Ver","EXTERNAL_PLAYER_HINT":"İpucu: Her zaman harici oynatıcı ile açmaya izin veren bir ayar vardır.","DONT_SHOW_AGAIN":"Bir daha gösterme","SERVICE_INSTALL":"Yükle","AUDIO":"Ses","DEFAULT_LANGUAGE":"Varsayılan Dil","DEFAULT_SECONDARY_LANGUAGE":"Varsayılan İkincil Dil","SEASON":"Sezon","EPISODE":"Bölüm","EPISODE_ABBREVIATION":"EP","SPECIAL":"Özel","SORT":"sırala","SORT_BY":"Sıralama şekli:","FILTER":"süz","SORT_TRENDING":"çok izlenen","SORT_RECENT":"en yeni","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"puan","SORT_WATCHED":"izlenen","SORT_YEAR":"yıl","SELECT_TYPE":"Tür seçin","SELECT_SORT":"Sıralama seçin","SELECT_CATALOG":"Katalog seçin","SELECT_GENRE":"Tür seçin","SORT_LASTWATCHED":"son izlenen","SORT_NAME":"a-z","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"en çok izlenen","SORT_NOTWATCHED":"izlenmeyen","New for You":"Sizin için Yeni","New Episodes":"Yeni Bölümler","New Videos":"Yeni Görüntüler","Recommendations":"Önerilenler","LIBRARY_RESUME":"Devam","LIBRARY_PLAY":"Oynat","LIBRARY_DETAILS":"Ayrıntılar","LIBRARY_RESUME_DISMISS":"Vazgeç","LIBRARY_CLEAR_PROGRESS":"İlerlemeyi Temizle","LIBRARY_REMOVE":"Kaldır","LIBRARY_NOT_LOGGED_IN":"Kitaplık yalnızca oturum açmış kullanıcılar tarafından kullanılabilir","CALENDAR_NOT_LOGGED_IN":"Takvim yalnızca oturum açmış kullanıcılar tarafından kullanılabilir","NOT_LOGGED_IN_CLOUD":"En sevdiğiniz filmlere ve TV programlarına istediğiniz zaman, istediğiniz yerden erişin","NOT_LOGGED_IN_RECOMMENDATIONS":"Görüntüleme geçmişinize göre uyarlanmış öneriler","NOT_LOGGED_IN_NOTIFICATIONS":"Bir daha asla bir bölümü kaçırmayın","NOT_LOGGED_IN_CALENDAR":"Kişisel izleme takviminizi planlayın","DISCOVER_FEATURED":"Öne Çıkanlar","DISCOVER_TOP":"En İyiler","DISCOVER_OSCAR":"Oscar Kazananlar","DISCOVER_WARNING_TITLE":"Eyvah!","DISCOVER_EMPTY_CATALOG":"Bu eklenti boş içerik döndürdü.","DISCOVER_ADULT_WARNING":"Bu içerik yalnızca yetişkinler için görünürdür. 18 yaşından büyük müsünüz?","DISCOVER_NOADDON_WARNING":"Uyarı: bu tür için etkin Stremio eklentisi yok. Kaydedilen öğeler gösteriliyor, burada hiç birşey güncellenmeyecek.","DISCOVER_LOAD_ERR":"İçerik yüklenmedi, hata meydana geldi.","DISCOVER_ADDON_UNINSTALLED":"Bu içerik artık mevcut değil, eklentiyi kaldırmış olabilirsiniz.","UNINSTALL_THIS_ADDON":"Bu eklentiyi kaldır","ERR_ADDON_NOT_INSTALLED":"Bu eklenti yüklü değil. Şimdi yüklensin mi?","DETAIL_RECEIVE_NOTIF_SERIES":"Yeni bölümler için bildirim alın","DETAIL_RECEIVE_NOTIF_VIDEOS":"Yeni görüntüler için bildirim alın","SIDEBAR_SHOW_STREAMS":"Akışları Göster","RELAUNCH":"Şimdi yeniden başlat!","UPGRADE":"Yeni sürüm mevcut! En son Stremio sürümüne yükseltin","RELOAD_UI":"Kullanıcı arayüzünü yeniden yükleyin","MANUAL_UPDATE_TITLE":"Stremio sürümünüzü güncelleyin","MANUAL_UPDATE_LINE1":"Son derece önerilmeyen eski bir Stremio sürümü kullanıyorsunuz.","MANUAL_UPDATE_LINE2":"Lütfen en kısa sürede güncelleyin.","BUTTON_UPDATE_LATTER":"Şimdi değil","BUTTON_UPDATE_NOW":"Güncelle","ANONYMOUS_USER":"İsimsiz kullanıcı","DONT_HAVE_ACC":"Bir hesabınız yok mu?","HAVE_ACC":"Zaten bir hesabınız var mı?","PASSWORD":"Parola","PASSWORD_CONFIRM":"Parolayı doğrula","EMAIL":"E-posta","FB_LOGIN":"Facebook ile devam et","FB_NOTHINGSHARED":"İzniniz olmadan hiçbir şey paylaşılmaz.","FB_NOPOST":"Sizin adınıza herhangi bir şey göndermeyeceğiz","OR":"ya da","I_ACCEPT":"Kabul ediyorum: ","I_ACCEPT_BY_CLICKING":"Yukarıdaki düğmeye tıklayarak, kabul ettiğimi doğruladıklarım: ","TOS":"Şartlar ve Koşullar","MUST_ACCEPT_TERMS":"Şartları kabul etmek zorundasınız","PASSWORDS_NOMATCH":"Parolalar eşleşmiyor","SIGN_UP":"Kaydol","SIGN_UP_EMAIL":"E-posta ile kaydol","CLICK_TO_SIGN_UP":"Kaydolmak için buraya tıklayın.","LOG_IN":"Oturum aç","LOG_OUT":"Oturumu kapat","EXIT_FULLSCREEN":"Tam ekran modundan çık","ENTER_FULLSCREEN":"Tam ekran moduna geç","PLAY_URL_MAGNET_LINK":"URL/Magnet bağlantısını oynat","HELP_FEEDBACK":"Yardım ve Geri Bildirim","TERMS_OF_SERVICE":"Kullanım Şartları","PRIVACY_POLICY":"Gizlilik İlkesi","ABOUT_STREMIO":"Stremio Hakkında","USER_PANEL":"Kullanıcı Paneli","LOGIN_LABEL":"Oturum aç","GUEST_LOGIN":"Misafir oturumu aç","GUEST_LOGIN_NOTICE":"Misafir Oturumu Açma önerilmez. Normal oturum açmayı kullanmak, Stremio\'nun kitaplığınızı eşitlemesini, en sevdiğiniz diziler/kanallar için bildirimler almasını sağlar. Devam etmek istediğinize emin misiniz?","GUEST_LOGIN_NOTICE_2":"Misafir Oturumu Açma önerilmez - önemli Stremio özellikleri olan Kitaplık ve Pano bildirimlerini eşitlemeyeceksiniz. Devam etmek istediğinize emin misiniz?","CLICK_HERE":"buraya tıklayın","WRONG_PASSWORD":"Yanlış e-posta veya parola. Parolanızı unuttuğunuz durumda, ","SET_A_PASS":"bir parola belirleyin","RESET_PASSWORD":"Parolayı sıfırla","FORGOT_PASSWORD":"Parolanızı mı unuttunuz?","EMAIL_USED_WITH_FB":"Bu e-posta bir Facebook oturumu açılması ile kullanılmış.","INVALID_EMAIL":"Lütfen geçerli bir e-posta adresi girin","INVALID_PASSWORD":"Lütfen geçerli bir parola girin","CONN_ERR":"Bağlantı hatası - lütfen daha sonra tekrar deneyin.\\n\\nEğer bu devam ederse, güvenlik duvarını/antivirüs yazılımını etkisizleştirin (özellikle Bitdefender\'ı).","IMPORT_FROM_GUEST":"Misafir hesabınızdan Kitaplığa aktarın","RECEIVE_UPDATES_EMAIL":"Stremio\'dan e-postanıza güncellemeleri alın","LOGIN_FAILED":"Oturumu açma başarısız oldu.","SIGNUP_FAILED":"Kaydolma başarısız oldu.","SEARCH_FAILED":"Arama başarısız oldu","EMAIL_USED":"Bu e-posta zaten kullanımda.","WAITING_FB_LOGIN":"Facebook ile oturum açılıyor...","EXTERNAL_PLAYER_TITLE":"Harici oynatıcıda oynat","EXTERNAL_REMEMBER_PLAYER":"Seçiminizi hatırlamak ister misiniz","EXTERNAL_ALWAYS_PLAY":"Evet","EXTERNAL_ONLY_ONCE":"Hayır","BEST_FIT":"En Uygun","FIT_SCREEN":"Ekrana Sığdır","FILL":"Doldur","16:9":"16:9","4:3":"4:3","Original":"Orijinal","INTRO_TASTE":"Bize nelerden hoşlandığınızı söyleyin","INTRO_TASTE_LONG":"Bize ne izlemek istediğinizi söyleyin","INTRO_TASTE_PICK":"{{interestsRemaining}} ilgi alanı seçin","INTRO_TASTE_PICK_MORE":"{{interestsRemaining}} ilgi alanı daha seçin","INTRO_TASTE_HELP_US":"Hakkınızda daha fazla bilgi edinmemize yardımcı olun.","INTRO_TASTE_CHOOSE_THESE":"Bunlardan bazılarını seçin:","INTRO_TASTE_CHOOSE_MIN":"En az 3 kategori seçin","INTRO_TASTE_CHOOSE_MIN_ERR":"En az 3 kategori seçmek zorundasınız!","INTRO_TASTE_LIFESTYLE":"Yaşam stili","INTRO_TASTE_SPORTS":"Spor","INTRO_TASTE_FOOD_HEALTH":"Yemek ve Sağlık","INTRO_TASTE_BEAUTY_FASHION":"Güzellik ve Moda","INTRO_TASTE_NEWS":"Haber","INTRO_TASTE_GAMING":"Oyun","INTRO_TASTE_SCIENCE_EDU":"Bilim ve Eğitim","INTRO_TASTE_MUSIC":"Müzik","INTRO_TASTE_TRAVEL":"Seyahat","INTRO_TASTE_LATE_NIGHT":"Gece Gösterisi","INTRO_TASTE_REALITY":"Gerçeklik","INTRO_TASTE_COMEDY":"Komedi","INTRO_TASTE_DIY":"Nasıl Kendin Yaparsın","INTRO_TASTE_TECH":"Teknoloji","INTRO_TASTE_CINEMA":"Sinema","ADDON_NOT_SUPPORTED":"Seçilen eklenti bu platformda desteklenmiyor.","ADDON_DISCLAIMER":"Üçüncü taraf eklentileri kullanmak her zaman sizin sorumluluğunuza ve bulunduğunuz yargı bölgesinin geçerli yasasına tabi olacaktır.","ADDON_ACTIVATE":"Bu eklenti etkinleştirilsin mi?","ADDON_REPO_ADD":"Eklenti koleksiyon URL\'si","ADDON_ADD":"Ekle","INSTALL_ADDON":"Eklentiyi yükle","ADD_ADDON":"Eklenti ekle","ADD_ADDON_DESCRIPTION":"Yüklü eklentiler altında görünecek harici bir bağlantı aracılığıyla bir eklenti ekleyebilirsiniz.","PASTE_ADDON_URL":"Eklenti URL\'sini yapıştırın","WHATS_NEW":"Yeni neler var","BUTTON_CONTINUE":"Devam","BUTTON_ACTIVATE":"Etkinleştir","BUTTON_ACTIVATED":"Etkinleştirildi","BUTTON_CANCEL":"İptal","BUTTON_SUBMIT":"Gönder","BUTTON_DISMISS_ALL":"Tümünden Vazgeç","BUTTON_VIEW_ALL":"Tümünü Görüntüle","BUTTON_SEE_ALL":"Tümünü Gör","BUTTON_COLOR_TRANSPARENT":"Şeffaf","OPEN_IN_BROWSER":"Tarayıcıda aç","LIB_EMPTY":"Kitaplığınız boş görünüyor. Ne kadar kullanışlı olduğunu öğrenin :) ","HOW_START":"İşte nasıl başlayabileceğiniz:","LIB_EMPTY_CAL":"Takviminiz, Kitaplığınızdaki dizileri gösterir.","HOW_START_CAL":"İşte nasıl dizi ekleyebileceğiniz:","LIB_EMPTY_BOARD":"Pano, Kitaplığınızla ilgili bildirimleri ve önerileri gösterir.","HOW_START_BOARD_WAIT":"Lütfen Kitaplığınıza birkaç dizi veya kanal ekleyin, işlememiz için bize birkaç dakika verin :)","HOW_START_BOARD":"İşte nasıl dizi ve filmleri ekleyebileceğiniz:","IMPORT_FB":"<span>Facebook</span>\'tan beğendiğiniz şeyleri içe aktarın","IMPORT_TRAKT":"<span>Trakt</span>\'tan ortam kitaplığınızı içe aktarın","IMPORT_DISCOVER":"<span>Keşfet</span>\'ten ilginç şeyler bulun","IMPORT_DISK":"<span>Yerel diskinizde</span> bulunan filmleri veya dizileri içe aktar","PLEASE_CREATE_ACC":"Kitaplık eşitlemeyi ve Panoyu etkinleştirmek için lütfen <u>bir hesap oluşturun</u>.","IMPORT_DISCOVER_SIGNUP":"Kaydolun ve <span>Keşfet</span>\'ten ilginç şeyler bulun","IMPORT_DISK_SIGNUP":"Kaydolun ve <span>yerel diskinizde</span> bulunan filmleri veya dizileri içe aktarın","LIB_EMPTY_CLOUD":"Bulut kitaplığı","LIB_EMPTY_CLOUD_DESC":"Kişisel bulut kitaplığı tüm cihazlarla eşitlensin","LIB_EMPTY_EARLY":"Erkenci","LIB_EMPTY_EARLY_DESC":"Yeni bölümler için bildirim alın","LIB_EMPTY_PERSONAL":"Kişisel","LIB_EMPTY_PERSONAL_DESC":"Kişisel öneriler alın","LIB_EMPTY_CALENDAR_DESC":"Kişisel izleme takviminizi planlayın","LIB_EMPTY_ALL":"Tüm bunları almak için kaydolun:","LIB_EMPTY_BEST":"Stremio\'dan en iyi şekilde yararlanmak için kaydolun","LIB_EMPTY_OTHER":"Takvim ve diğer harika özellikleri etkinleştirmek için kaydolun","CALENDAR_ADDED":"Stremio takvimi, varsayılan masaüstü takviminize eklendi.","CALENDAR_ADDED_MSG":"Eğer bu işe yaramazsa, lütfen bu URL\'yi takvim uygulamanıza el ile ekleyin","TRAKT_EXPIRED":"Trakt kimlik doğrulamasının süresi doldu, lütfen Ayarlar\'a gidin ve yeniden kimlik doğrulaması yapın","TRAKT_REQUIRES_LOGIN":"Trakt hatası","TRAKT_REQUIRES_LOGIN_MSG":"Oturum açmanız gerekli","TRAKT_IMPORT_WATCHED":"İçe Aktar","THEME":"Tema","THEME_DEFAULT":"Varsayılan","THEME_ADAPTIVE":"Uyarlanabilir","SETTINGS_LABEL":"Ayarlar","SETTINGS_NAV_GENERAL":"Genel","SETTINGS_NAV_PLAYER":"Oynatıcı","SETTINGS_NAV_STREAMING":"Yayın Akışı","SETTINGS_NAV_SHORTCUTS":"Kısayollar","SETTINGS_SHORTCUT_RELOAD_APP":"Uygulamayı Yeniden Yükle","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Ayarları Aç","SETTINGS_SHORTCUT_SWITCH_TABS":"Sekmeleri Değiştir","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Sekmeler Arasında İleri Yönde Dön","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Sekmeler Arasında Geri Yönde Dön","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Menüler Arasında Gezin","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Aramaya Git","SETTINGS_SHORTCUT_EXIT_BACK":"Çık / Geri Dön","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Oynatma Hızı Menüsünü Aç/Kapat","SETTINGS_SHORTCUT_MENU_VIDEOS":"Görüntü Menüsünü Aç/Kapat","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Altyazı Menüsünü Aç/Kapat","SETTINGS_SHORTCUT_MENU_INFO":"Bilgi Menüsünü Aç/Kapat","SETTINGS_SHORTCUT_FULLSCREEN":"Tam Ekranı Aç/Kapat","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Denetimleri Göster","SETTINGS_SHORTCUT_PLAY_PAUSE":"Oynat / Duraklat","SETTINGS_SHORTCUT_VOLUME_UP":"Sesi Artır","SETTINGS_SHORTCUT_VOLUME_DOWN":"Sesi Azalt","SETTINGS_SHORTCUT_SEEK_NEXT":"Sonrakine Atlat","SETTINGS_SHORTCUT_SEEK_PREV":"Öncekine Atlat","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Geriye Doğru Atlat","SETTINGS_SHORTCUT_SEEK_FORWARD":"İleriye Doğru Atlat","SETTINGS_SHORTCUT_PLAY_NEXT":"Sonrakini Oynat","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Altyazı Boyutunu Artır","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Altyazı Boyutunu Azalt","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Altyazı Gecikmesini Artır","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Altyazı Gecikmesini Azalt","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Kenar Çubuğunu Aç/Kapat","SETTINGS_SHORTCUT_OR":"veya","SETTINGS_SHORTCUT_TO":">","SETTINGS_SHORTCUT_SPACE":"Boşluk","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Kimlik Doğrula","SETTINGS_FACEBOOK_IMPORT":"İçe Aktar","SETTINGS_CALENDAR_SUBSCRIBE":"Abone Ol","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Takvim uygulaması açıldı. Lütfen takvime el ile abone olun.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Takvim dosyası indirildi. Lütfen bunu takvim uygulamanıza aktarın.","SETTINGS_INTERFACE_LANGUAGE":"Arayüz Dili","SETTINGS_LAUNCH_STARTUP":"Başlangıçta çalıştır","SETTINGS_VLC_DEFAULT":"VLC ile oynat","SETTINGS_UI_LANGUAGE":"Kullanıcı Arayüzü Dili","SETTINGS_UI_ZOOM":"Arayüzü yakınlaştır","SETTINGS_FULLSCREEN_EXIT":"Esc tuşuyla tam ekrandan çık","SETTINGS_GAMEPAD":"Gamepad desteğini etkinleştir","SETTINGS_CLOSE_WINDOW":"Pencere kapatıldığında uygulamayı kapat","SETTINGS_SUBTITLES_LANGUAGE":"Varsayılan altyazı dili","SETTINGS_SUBTITLES_SIZE":"Varsayılan altyazı boyutu","SETTINGS_SUBTITLES_BACKGROUND":"Altyazı arka planı","SETTINGS_SUBTITLES_COLOR":"Altyazı rengi","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Altyazı anahat rengi","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Altyazı arka plan rengi","SETTINGS_SEEK_KEY":"Ok tuşlarıyla atlanacak süre","SETTINGS_SEEK_KEY_SHIFT":"Shift tuşu basılı tutulduğunda Ok tuşlarıyla atlanacak süre","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Geri sarma ve İleri sarma süresi","SETTINGS_BINGE":"Sonraki bölümü otomatik oynat","SETTINGS_NEXT_VIDEO":"Sonraki bölümü başlatmak için bildirim göster","SETTINGS_NEXT_VIDEO_TRIGGER":"Bir sonraki bölüm bildiriminin gösterilme süresi:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Sonraki görüntü açılır pencere süresi","SETTINGS_PLAY_IN_BACKGROUND":"Arka planda oynat","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Harici oynatıcıda oynat","SETTINGS_RESIZE":"Oynatmadan önce pencereyi otomatik yeniden boyutlandır","SETTINGS_OVERRIDE_SERVER":"Yayın akış sunucusu URL\'sini geçersiz kıl (gelişmiş)","SETTINGS_SERVER_URL":"Yayın akış sunucusu URL\'si: ","SETTINGS_SERVER_AVAILABLE":"Yayın akış sunucusu kullanılabilir.","SETTINGS_SERVER_UNAVAILABLE":"Yayın akış sunucusu kullanılabilir değil.","SETTINGS_SERVER_STATUS_ONLINE":"Çevrimiçi","SETTINGS_SERVER_STATUS_ERROR":"Hata","SETTINGS_SERVER_CONFIGURE_TITLE":"Yayın akış sunucusu URL\'sini yapılandırın","SETTINGS_SERVER_CONFIGURE_INPUT":"Bir yayın akış sunucusu URL\'si girin","SETTINGS_SERVER_CACHE_SIZE":"Önbellek boyutu","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent profili","SETTINGS_HTTPS_ENDPOINT":"Yayın akışı HTTPS uç noktası: ","SETTINGS_TRANSCODE_PROFILE":"Kod dönüştürme profili","SETTINGS_USE_BETA":"Her zaman en son Beta\'yı kullan","SETTINGS_IMPORT_FB":"Facebook\'tan içe aktar","SETTINGS_IMPORT_DISK":"Yerel diskten içe aktar","SETTINGS_IMPORT_TRAKT":"Trakt\'tan içe aktar","SETTINGS_PAUSE_MINIMIZED":"Simge durumunda oynatmayı duraklat","SETTINGS_HWDEC":"Donanım hızlandırmalı kod çözme","SETTINGS_BACKGROUND":"Arka planda oynatma","SETTINGS_SUBSCRIBE_CALENDAR":"Takvime abone ol","SETTINGS_REQ_EXPORT":"Veriyi dışa aktarmayı iste","SETTINGS_ACC_DELETE":"Hesap silme iste","SETTINGS_CHANGE_PASSWORD":"Parolayı değiştir","SETTINGS_TOS":"Kullanım şartları","SETTINGS_SUPPORT":"Destekle iletişime geç","SETTING_LANGUAGE":"Dil","SETTINGS_TRAKT":"Trakt Skroblama","SETTINGS_TRAKT_LOGOUT":"Trakt.tv oturumunu kapat","SETTINGS_TRAKT_LOGOUT_2":"Trakt oturumunu kapat","SETTINGS_SCAN_FOR_REMOTE":"Uzaktan açmak için QR kodu tara","SETTINGS_DESKTOP_NOTIFICATIONS":"Masaüstü bildirimleri","SETTINGS_DATA_SAVER":"Veri tasarrufu","SETTINGS_LANGUAGE_INTERFACE":"arayüz","SETTINGS_LANGUAGE_SUBS":"varsayılan altyazılar","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Ses İzini otomatik seç","SETTINGS_DEFAULT_AUDIO_TRACK":"Varsayılan Ses İzi","SETTINGS_SURROUND_SOUND":"Çevresel ses","SETTINGS_ACCOUNT":"hesap","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"sürüm","SETTINGS_ABOUT":"Hakkında","SETTINGS_MPV_WINDOW":"Oynatıcıyı ayrı bir pencerede başlat (gelişmiş)","SETTINGS_PLAY_IN_EXTERNAL":"Görüntüyü her zaman harici oynatıcıda başlat","SETTINGS_STORAGE_BUTTON":"Yerel Depolamayı Temizle","SETTINGS_STORAGE_MODAL_TITLE":"Emin misiniz?","SETTINGS_STORAGE_MODAL_MESSAGE":"Bu, yerel depolamayı temizleyecek ve oturumunuzu kapatacak.","SETTINGS_HWDEC_PICKER":"Donanım hızlandırmalı kod çözme ayarını seçin","SETTINGS_HW_AUTOMATIC":"Otomatik","SETTINGS_HW_DISABLED":"Etkisizleştirildi","SETTINGS_HW_ACCELERATED":"Kod çözme hızlandırması","SETTINGS_HW_FULL":"Tam hızlandırma","SETTINGS_HW_LEGACY":"Eski","SETTINGS_DISABLED":"Etkisizleştirildi","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Ağ bağlantısı bildirimi","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Uzak URL","SETTINGS_COPY_REMOTE_URL":"Uzak URL\'yi kopyala","SETTINGS_REMOTE_URL_COPIED":"Uzak URL panonuza kopyalandı","SETTINGS_SECTION_SUBTITLES":"Altyazılar","SETTINGS_SECTION_AUDIO":"Ses","SETTINGS_SECTION_CONTROLS":"Denetimler","SETTINGS_SECTION_AUTO_PLAY":"Otomatik Oynat","SETTINGS_SECTION_ADVANCED":"Gelişmiş","SUBSPICKER_AUDIO":"Ses","SUBSPICKER_SUBTITLES":"Eklenti Altyazıları","SUBSPICKER_BLACK_BACKGROUND":"Siyah arka plan rengi kullan","SUBSPICKER_VERTICAL_OFFSET":"Dikey Uzaklık","SUBSPICKER_SIZE":"Boyut","SUBSPICKER_DELAY":"Gecikme","SUBSPICKER_EMBEDDED_SUBS":"Gömülü Altyazılar","MOBILE_PRIVACY_POLICY":"Gizlilik İlkesi","MOBILE_CRASH_REPORTING":"Çökme Bildirimi","MOBILE_ZOOM_TO_FILL":"Ekranı Doldurmak için yakınlaştır","MOBILE_PASSTHROUGH":"Dijital ses çıkışı (içinden geçiş)","MOBILE_RUN_LOW_BATTERY":"Düşük pilde çalıştır","MOBILE_RUN_FOREGROUND":"Ön Plan Hizmeti olarak çalıştır","MOBILE_PERFORMANCE":"PERFORMANS VE KARARLILIK","MOBILE_SERVER_ONLINE":"Çevrimiçi","MOBILE_SERVER_OFFLINE":"Çevrimdışı","MOBILE_QR_EXPIRES":"QR Kod süresi sona erme zamanı ","MOBILE_LOG_INTO":"Stremio hesabınıza oturum açın ","MOBILE_SCAN_QR":"Yukarıdaki QR kodu tarayın veya ","MOBILE_LINK_ACCOUNT":"Hesabı Bağla","MOBILE_SPEEDPICKER_CANCEL":"İptal","MOBILE_SPEEDPICKER_LABEL":"Oynatma Hızını Seçin","MOBILE_EMPTY_LIBRARY":"Kitaplığınız boş","MOBILE_NO_ADDON_ACTIVE":"Bu tür için etkin Stremio eklentisi yok.","MOBILE_ORGANIZER_WARNING":"Stremio Organizer uygulaması sınırlı işlevsellik sağlar. Oynatılabilir akışların listesi ve tam Stremio deneyimi için Stremio\'yu masaüstünde kullanın.","MOBILE_ADDON_LOADING":"hala yükleniyor","MOBILE_ADDONS_LOADING":"eklentiler hala yükleniyor","MOBILE_ADDON":"Eklenti","MOBILE_CONFIGURE_ADDON":"Eklentinizi yapılandırın","MOBILE_CONFIGURE_ADDON_LABEL":"Eklentiyi Yapılandır","MOBILE_ORGANIZER_ADDONS_WARNING":"Stremio Organizer uygulaması sınırlı eklenti seçimi sağlar. Tam Stremio deneyimi için Stremio\'yu masaüstünde kullanın.","MOBILE_DISCONNECT":"Bağlantıyı kes","MOBILE_LOOKING_FOR_DEVICES":"Cihazlar aranıyor...","MOBILE_CAST_TO":"Yayın yeri","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Hesabı Silin","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Yasal yükümlülüklerden dolayı hesap silme işlemi anında gerçekleşmez. Hesabınızın silinmesini talep ettikten sonra, gelecekte yeni bir Stremio hesabı oluşturmak için farklı bir e-posta adresi/facebook profili kullanmak zorunda kalacaksınız.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Hesap Silmeyi Onaylayın","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Hesabınız Facebook kullanılarak oluşturuldu. Hesabınızı silmek için lütfen www.stremio.com/login adresindeki kullanıcı portalımızı kullanın.","MOBILE_DELETE_ACCOUNT_MESSAGE":"Hesap silme işlemini onaylamak için lütfen parolanızı girin.","MOBILE_DELETE_ACCOUNT_BUTTON":"Hesabı Sil","NAVIGATION_ON":"Açık","NAVIGATION_OFF":"Kapalı","MARKETING_AGREE":"Stremio\'dan pazarlama haberleri almayı kabul ediyorum","QUIT":"Çıkış","CONNECTED":"Bağlandı","AUTHENTICATE":"Kimlik Doğrula","CACHING":"Önbellekleme","SETTINGS_CACHING_DRIVE":"Önbellekleme sürücüsü","ENABLE_LOCAL_FILES_ADDON":"Yerel dosyalar eklentisini etkinleştir (yeniden başlatma gerektirir)","LOCAL_ADDON_NOT_ENABLED":"Yerel eklenti etkinleştirilmemiş. Ayarlara gitmek ve etkinleştirmek için buraya tıklayın","ENABLE_REMOTE_HTTPS_CONN":"Uzak HTTPS bağlantılarını etkinleştir","TORRENT_PROFILE":"Torrent Profili","DATA_CACHING":"Veri Önbellekleme","MAGNET_PARSING":"Magnet bağlantısı ayrıştırılıyor","January":"Ocak","February":"Şubat","March":"Mart","April":"Nisan","May":"Mayıs","June":"Haziran","July":"Temmuz","August":"Ağustos","September":"Eylül","October":"Ekim","November":"Kasım","December":"Aralık","Monday":"Pazartesi","Tuesday":"Salı","Wednesday":"Çarşamba","Thursday":"Perşembe","Friday":"Cuma","Saturday":"Cumartesi","Sunday":"Pazar","Action":"Aksiyon","Comedy":"Komedi","War":"Savaş","Family":"Aile","Animation":"Animasyon","Adventure":"Macera","Fantasy":"Fantastik","Crime":"Suç","Mystery":"Gizem","Romance":"Romantik","Drama":"Dram","Horror":"Korku","Thriller":"Gerilim","Sci-Fi":"Bilim Kurgu","Music":"Müzik","Biography":"Biyografi","Documentary":"Belgesel","Sport":"Spor","Musical":"Müzikal","Western":"Batılı","Film-Noir":"Kara Film","News":"Haber","History":"Tarih","Game-Show":"Oyun-Gösteri","Reality-TV":"Gerçeklik-TV","Talk-Show":"Sohbet Programı","Film & Entertainment":"Film ve Eğlence","Gaming":"Kumar","From TV":"Televizyondan","Lifestyle":"Yaşam","Science & Education":"Bilim ve Eğitim","Cooking & Health":"Yemek Pişirme ve Sağlık","Beauty & Fashion":"Güzellik ve Moda","Sports":"Spor","News & Politics":"Haber ve Politika","How-to & DIY":"Nasıl Yapılır ve Kendin Yaparsın","Tech":"Teknoloji","Automotive":"Otomotiv","Causes & Non-Profits":"Nedenler ve Kâr Amacı Gütmeyenler","Movies":"Filmler","Uk Live Tv":"İngiliz Canlı TV","Fashion":"Moda","Business News Radio":"İş Haberleri Radyosu","Business Tv":"İş Televizyonu","Cars & Auto":"Otomobil ve Otomotiv","Comedy Radio":"Komedi Radyosu","Lifestyle Radio":"Yaşam Stili Radyosu","News Tv":"Haber TV","Food And Wine":"Yemek ve Şarap","Latino Tv":"Latin TV","Shopping Tv":"Alışveriş Televizyonu","Religion":"Din","Kids":"Çocuklar","Body & Soul":"Vücut ve Ruh","Education":"Eğitim","Indian Tv":"Hindistan TV","Extreme Sports":"Ekstrem Sporlar","Middle Eastern Tv":"Ortadoğu TV","Celebrity Tv":"Magazin TV","Science Tv":"Bilim TV","Bikini babe":"Bikini güzelleri","Outdoors":"Açık Hava","German Tv":"Alman TV","French Tv":"Fransız TV","Italian Tv":"İtalyan TV","Gamer Tv":"Oyuncu TV","Travel":"Gezi","Asian Tv":"Asya TV","Entertainment":"Eğlence","News Radio":"Haber Radyosu","Music Radio":"Müzik Radyosu","Language Learning":"Dil Öğrenme","Science Radio":"Bilim Radyosu","Tech Radio":"Teknoloji Radyosu","Science & Technology Vod":"Bilim ve Teknoloji Seç-İzle","new video":"yeni görüntü","new episode":"yeni bölüm","new movie":"yeni film","recommended":"önerilen","we recommend":"önerdiklerimiz","offer of the day":"günün teklifi","news":"haberler","music video":"klip","CTX_SHOW_HOTKEYS":"Kısayol tuşlarını göster","CTX_DISMISS_NOTIF":"Bildirimleri yoksay","CTX_DISMISS_ALL":"Tümünü yoksay","CTX_SHARE":"Paylaş","CTX_COPY_SHARE_LINK":"Paylaşma bağlantısını kopyala","CTX_COPY_MAGNET_LINK":"Magnet bağlantısını kopyala","CTX_COPY_STREAM_LINK":"Akış bağlantısını kopyala","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Görüntü indirme bağlantısını kopyala","CTX_DOWNLOAD_VIDEO":"Bu görüntüyü indir","CTX_DOWNLOAD_SUBS":"Altyazıları indir","CTX_VIEW_ON_YOUTUBE":"YouTube\'da görüntüle","CTX_SHOW":"Göster","CTX_PLAY":"Oynat","CTX_PLAY_IN":"Oynat","CTX_PLAY_ON":"Oynat","CTX_WATCH_ON":"İzle","CTX_WATCH":"İzle","CTX_WATCHED":"İzlendi","CTX_WATCH_BEGINNING":"Baştan izle","CTX_WATCH_MOBILE":"Mobil bir cihazda izle","CTX_REWIND":"En başa al","CTX_MARK_WATCHED":"İzlendi olarak işaretle","CTX_MARK_NON_WATCHED":"İzlenmedi olarak işaretle","CTX_MARK_UNWATCHED":"izlenmedi olarak işaretle","CTX_MARK_REST":"Geri kalanını izlendi olarak işaretle","CTX_UNMARK_REST":"Geri kalanını izlenmedi olarak işaretle","CTX_RECEIVE_NEW_NOTIF":"Yeni bildirimleri al","CTX_ENABLE_NEW_NOTIF":"Bildirimleri etkinleştir","CTX_DISABLE_NEW_NOTIF":"Bildirimleri etkisizleştir","CTX_REMOVE_CACHE":"Önbellekten kaldır","CTX_REMOVE_CACHE_EP":"Bölümü önbellekten kaldır","CTX_OPEN_CONTAINING":"İçerdiği klasörü aç","CTX_REMOVE":"Kitaplıktan kaldır","CTX_AVAILABLE_OFFLINE":"Çevrimdışı Kullanılabilir","CTX_PAUSED":"Duraklatıldı","CTX_ALWAYS_ON_TOP":"Her zaman üstte","CTX_FULLSCREEN":"Tam ekran","CTX_WRONG_SUBS":"Altyazı yanlış mı?","CTX_REPORT_ISSUES":"Sorun bildir","CTX_COPY":"Kopyala","CTX_PASTE":"Yapıştır","CTX_CLEAR":"Temizle","CTX_CLEAR_RECENT_SEARCHES":"Son arananları temizle","HELLO_THERE":"Merhaba","HOPE_YOU_ENJOY":"Stremio\'dan keyif aldığınızı ve şimdiden en sevdiğiniz uygulamalardan biri olduğunu umuyoruz!","WHO_ARE_WE":"Biz kimiz? Biz bunun arkasındaki takımız - bu ürünü daha iyi ve daha iyi hale getirmek için son 3 yıldır her gün çok çalışan iki adamız.","SUPPORT_US":"Eğer Stremio\'yu kullanmaktan keyif alıyorsanız, Stremio sizin için değerliyse - duyurun!","SPREAD_THE_WORD":"Hemen arkadaşlarınızla paylaşın, Stremio\'yu herkese duyurun","MORE_PEOPLE":"Stremio\'yu ne kadar çok kişi kullanırsa, o kadar iyi olacaktır!","SEND_A_LINK":"Veya web sitemize bir bağlantı gönderin","TIP_LOCALFILES":"İpucu: yerel görüntü dosyalarınızı Stremio\'ya sürükleyip bırakabilirsiniz","ADDON_MY":"Eklentilerim","ADDON_COMMUNITY":"Topluluk Eklentileri","ADDON_OFFICIAL":"Resmi Eklentiler","ADDON_REPOS":"Eklenti koleksiyonları","ADDON_SEARCH":"Eklentileri ara","ADDON_INSTALL":"Yükle","ADDON_CONFIGURE":"Yapılandır","ADDON_UNINSTALL":"Kaldır","ADDON_UPGRADE":"Yükselt","ADDON_INSTALLED":"Yüklenmiş","ADDON_INSTALLED_MSG":"Eklenti yüklendi!","ADDON_UPGRADED_MSG":"Eklenti yükseltildi!","ADDON_UNKNOWN":"Bilinmiyor","ADDON_ERR":"Eklenti yükleme hatası!","ADDON_DISCONNECTED":"Bağlantı kesildi","ADDON_APP_MISSING":"bu kaynak için uygulama yüklü değil. Şimdi yüklemek istiyor musunuz?","ADDON_APP_INSTALL":"Şimdi Yükle","ADDON_PAGE":"Eklenti Sayfası","ADDON_TOP_CONTENT":"Bu Eklentiden en iyisi","ADDON_PROVIDES":"Bu eklentinin size vereceği:","ADDON_WATCH":"Şimdi #{types} izleyin!","ADDON_WATCH_FREE":"Şimdi ÜCRETSİZ #{types} izleyin!","ADDON_ADDON":"Eklenti","ADDON_SUPPORTED_TYPES":"Desteklenen türler","ADDON_SUPPORTED_CATALOGS":"Desteklenen kataloglar","ADDON_PROVIDES_DISCOVER":"Keşfet\'te daha fazla #{types}","ADDON_PROVIDES_STREAMS":"#{types} izleyin","ADDON_PROVIDES_STREAMS_FREE":"ÜCRETSİZ #{types} izleyin","ADDON_PROVIDES_SUBTITLES":"#{types} için altyazılar","ADDON_CANTDETECT":"Çalışan bir Stremio algılayamadık, bu yüzden hangi eklentileri yüklediğinizi tespit edemedik.","ERR_NO_META":"Hiçbir bilgi bulunamayan konu ","ERR_GETTING_META":"Bu konuda bilgi alınırken hata oldu.","ERR_CANT_PARSE_MAGNET":"Magnet ayrıştırılamıyor","ERR_NO_MAGNET_INFOHASH":"Magnet için geçerli bir adresleme bilgisi yok","ERR_NO_FILE_PATH":"Dosya yolu olmayan istek gönderilemiyor","ERR_NO_TORRENT":"Dönen torrent yok","ERR_NO_SUPPORTERD_FILES":"Desteklenen dosyalar bulunamadı","ERR_OPENING_FILES":"Harici dosyalar açılamadı","ERR_INVALID_LINK":"Geçersiz bağlantı","ERR_REGISTERED_ONLY":"Bu seçenek yalnızca kayıtlı kullanıcılar için mevcuttur.","ERR_CLIPBOARD":"Panodan oynatılamıyor","ERR_CLIPBOARD_READ":"Bu platformda pano okunamıyor","ERR_CLIPBOARD_GENERIC":"Panoda oynatılabilir URL bulunamadı. Lütfen bir görüntü için URL\'yi (örn. bir magnet bağlantısı) kopyalayın.","BOARD_CONTINUE_WATCHING":"İzlemeye devam edin","BOARD_EXPLANATION_RECOMMENDATIONS":"Filmler sizin için özel olarak seçildi.<br />Bu film örnek bir öneridir.","BOARD_EXPLANATION_EPISODES":"En sevdiğiniz Dizilerin yeni bölümleri buraya gelir.<br />Takip ettiğiniz dizileri Kitaplığınıza ekleyin.","BOARD_EXPLANATION_VIDEOS":"En sevdiğiniz Kanalların yeni bölümleri buraya gelir.<br />Takip ettiğiniz YouTube kanallarını Kitaplığınıza ekleyin.","WEBSITE_ENJOYED_BY":"Dünya çapında 30 milyondan fazla kullanıcı tarafından beğenildi","WEBSITE_STREAMING_ENHANCED":"Gelişmiş Yayın Akışı","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio, güvenli, modern ve kusursuz bir eğlence deneyimi sunar. Kullanımı kolay arayüzü ve 4K HDR desteği de dahil olmak üzere çeşitli içerik kitaplığı ile kullanıcılar, en sevdikleri filmlerin ve TV programlarının keyfini tüm cihazlarında çıkarabilir. Ve güvenlik taahhüdü ile Stremio, endişesiz, yüksek kalitede bir yayın akışı deneyimi için nihai seçimdir.","WEBSITE_AVAILABLE_ON":"Kullanılabildiği yerler:","WEBSITE_WATCH_AND_ENJOY":"İzleyin ve Keyfini Çıkarın.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio bunu çok kolay hale getirir","WEBSITE_ALL_FEATURES":"Tüm özellikler","WEBSITE_EASY_TO_USE":"Kullanımı Kolay","WEBSITE_EASY_TO_USE_DETAILS":"Stremio, kullanıcı dostu ve kullanımı kolay olacak şekilde tasarlanmıştır. Temiz ve sezgisel arayüzü ile kolayca gezinebilir ve izlemek istediğiniz içeriği bulabilirsiniz.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Cihazlar Arasında Sorunsuz","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Geniş platform yelpazesinde (Windows, Mac, Linux, Android ve daha fazlası dahil) kullanılabilen Stremio, ilerlemenizi tüm cihazlarınızda takip edecektir. Her yeni cihazda uygulamayı yeniden yapılandırmak zorunda kalmadan oturum açın ve izlemeye devam edin.","WEBSITE_ALL_DOWNLOADS":"Tüm İndirmeler","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"Yüksek Çözünürlüklü Görüntü Desteği","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"4K HDR içeriği de dahil olmak üzere çoğu görüntü biçimini destekleyen bütünleşik bir görüntü oynatıcı, mevcut en yüksek kalitenin keyfini çıkarmanızı sağlar.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Çeşitli İçerik Kitaplığı","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio, Netflix, Amazon Prime Video, Hulu, YouTube ve çok daha fazlası gibi çok sayıda yaygın görüntü kaynağıyla bütünleşir.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Ücretsiz Bir Hesap Oluşturun","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Özel Görüntüleme Deneyimi","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio, temayı değiştirerek, eklentiler ekleyerek veya kaldırarak ve daha fazlasını yaparak arayüzün görünümünü ve verdiği hissi özelleştirmenizi sağlar.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Çok Dilde Altyazı Desteği","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"Stremio tüm dillerde altyazıları desteklediğinden artık tüm sevilen içeriğinizin keyfini tercih ettiğiniz dilde çıkarabilirsiniz.","WEBSITE_ALL_STREMIO_FEATURES":"Tüm Stremio özellikleri","WEBSITE_TRY_STREMIO_TITLE_P1":"Stremio’yu Şimdi","WEBSITE_TRY_STREMIO_TITLE_P2":"TV’nizde Deneyin","WEBSITE_YOU_CAN_NOW_WATCH":"Artık tüm sevilen TV programlarını Android TV cihazlarınızda izleyebilirsiniz. Stremio TV uygulaması, kolaylıkla bir film gecesinin keyfini çıkarmanızı sağlar.","WEBSITE_YOU_CAN_NOW_WATCH_2":"Artık tüm sevilen TV programlarını Akıllı TV’nizde veya Android TV’nizde izleyebilirsiniz. Stremio TV uygulamaları, kolaylıkla bir film gecesinin keyfini çıkarmanızı sağlar.","WEBSITE_STREMIO_FOR_SMART_TV":"Akıllı TV için Stremio","WEBSITE_PLAY_STORE_REVIEW":"Muhtemelen cihazınızda bulunabilecek en iyi ve en kullanışlı uygulama. Uzun yıllardır özellikle Android TV’mde günlük olarak kullandığım uygulamalardan biri. Yararlı işlevler sağlayan güçlü bir toplulukla iyi yapılmış. Tebrikler. Böyle İyi çalışmaya devam edin.","WEBSITE_REVIEWS":"inceleme","WEBSITE_GET_STREMIO_FOR_FREE":"Ücretsiz Alın","WEBSITE_GET_STREMIO_NOW":"Stremio’yu Hemen Alın","WEBSITE_STREMIO_FEATURES":"Stremio Özellikleri","WEBSITE_STREMIO_FEATURES_DETAILS":"Stremio’nun gelişmiş özellikleriyle bir profesyonel gibi yayın yapın ve tüm sevdiğiniz ortamlara sorunsuz erişimin keyfini çıkarın","WEBSITE_DISCOVER_MORE":"Daha fazlasını keşfedin.","WEBSITE_DISCOVER_MORE_DETAILS":"İzleyecek şeyler asla bitmez","WEBSITE_COMMUNITY_DRIVEN":"Topluluk odaklı","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio, eklentiler oluşturarak ve paylaşarak yazılımın geliştirilmesine katkıda bulunan geniş ve etkin bir kullanıcı topluluğuna sahiptir.","WEBSITE_GET_INVOLVED":"Dahil olun","WEBSITE_NEW_THEATER_EXPERIENCE":"Yeni Gösterim Deneyimi","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio’nun yeni adanmış TV uygulaması, Android TV cihazlarınızda bir film gecesinin keyfini çıkarmanızı sağlar.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio’nun yeni adanmış TV uygulamaları, Akıllı TV’nizde veya Android TV cihazlarınızda bir film gecesinin keyfini çıkarmanızı sağlar.","WEBSITE_FREE_AND_SECURE":"Ücretsiz ve Güvenli","WEBSITE_STREAMING":"Yayın Akışı","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio, kullanıcılar için benzersiz güvenlik ve gizlilik sunar. Eklentileri uzaktan çalıştırma benzersiz özelliği ile Stremio, diğer platformlara kıyasla en sevdiğiniz içeriği yayınlamak için daha güvenli bir yol sağlar. Güvenliğiniz ve gizliliğiniz en önemli önceliklerdir ve platform, tüm verilerinizin korunmasını sağlar.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Stremio ile güvenlik ve gizlilik endişelerine veda edin ve sonsuz eğlence dünyasına merhaba deyin.","WEBSITE_INFORMATION_PROVIDED_BY":"Bilgileri sağlayan","WEBSITE_CONTRIBUTE":"Projeye katkıda bulunun","WEBSITE_CONTRIBUTE_DESC":"ve Stremio’yu daha da iyi hale getirmemize yardımcı olun","WEBSITE_COMMUNITY_DESC":"Gerçekten harika bir yayın akışı deneyimi yaratmanın en iyi yolunun, topluluğumuzu sürece dahil etmek olduğuna inanıyoruz. İster bir programcı, ister bir sanatçı veya sadece bir hayran olun - Stremio’nun büyümesine yardımcı olabilirsiniz.","WEBSITE_COMMUNITY_DESC_2":"O halde bugün bize katılın ve Stremio topluluğunun bir parçası olun ve yayın akışının geleceğini şekillendirmeye devam edin.","WEBSITE_WAYS_TO_GET_INVOLVED":"Stremio topluluğuna","WEBSITE_IN_THE_STREMIO_COMMUNITY":"Dahil Olmanın Yolları","WEBSITE_SHARE_YOUR_THOUGHTS":"Düşüncelerinizi paylaşın","WEBSITE_REPORT_BUGS":"Hataları bildirin","WEBSITE_SUGGEST_FEATURES":"özellikler önerin","WEBSITE_AND_PROVIDE_FEEDBACK":"ve sosyal medya kanallarımızdan geri bildirim sağlayın.","WEBSITE_BETA_TESTING_PROGRAM":"Beta deneme programı","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Stremio topluluğunda beta deneme programımıza katılın (düzenli olarak davet göndeririz).","WEBSITE_JOIN_NOW":"Şimdi katılın!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Resmi Stremio Toplulukları","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Resmi Olmayan Stremio Toplulukları","WEBSITE_BECOME":"Gönüllü çevirmen","WEBSITE_A_VOLUNTEER_TRANSLATOR":"olun","WEBSITE_ARE_YOU_A_DEVELOPER":"Bir Geliştirici Misiniz?","WEBSITE_CONTRIBUTE_CODE":"Açık kaynak projelerimize kod yazarak katkıda bulunabilirsiniz. GitHub’da katkıda bulunabilecek kişiler arayan birkaç projemiz var. Eğer yardım etmekle ilgileniyorsanız, şunlara göz atın:","WEBSITE_STREMIO_ON_GITHUB":"GitHub’da Stremio","WEBSITE_CREATE_ADDON_DESC":"Stremio’nun işlevselliğini geliştirmek için bir eklenti oluşturun (kullanımı kolay bir API’ye sahibiz):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Eklenti SDK’sı","WEBSITE_INTERN_DEVELOPER":"Birlikte büyüyebilmemiz için stajyer geliştirici olarak bize katılma fırsatı da sağlıyoruz.","WEBSITE_APPLY_AS_AN_INTERN":"Stajyer olarak başvurun","WEBSITE_CALLING_ALL_ARTISTS":"Tüm Sanatçılara Sesleniyoruz!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Hayran çiziminizi çevrimiçi galerimize yükleyerek yaratıcılığınızı ve Stremio’ya olan sevginizi gösterin. İster çizim, ister boyama veya dijital tasarım olsun, Stremio markasına benzersiz yaklaşımınızı görmek istiyoruz. Sanat tutkunları topluluğumuza katılın ve çalışmalarınızı dünyanın dört bir yanındaki diğer Stremio hayranlarıyla paylaşın.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Galerisi","WEBSITE_INTERN_DESIGNER":"Ekibimizin bir parçası olun ve heyecan verici staj fırsatlarımızla yaratıcılığınızı yeni zirvelere taşıyın.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Herkese Açık Filmler Projesi","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"Stremio’da, herkese açık ve sahipsiz görüntüleri belirleyerek film ve televizyon tarihini korumaya kararlıyız. Topluluğumuzla birlikte çalışarak, bu klasik sanat eserlerinin herkes tarafından erişilebilir olmasını ve gelecek nesillerin keyif alması için korunmasını sağlayabiliriz.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Siz de bu projede yer almak istiyorsanız bizimle iletişime geçmekten çekinmeyin.","WEBSITE_JOIN_THE_PROJECT":"Projeye Katılın","WEBSITE_BE_PART_OF_OUR_MISSION":"Misyonumuzun bir parçası olun","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Stremio ekibine katılmakla ilgilenir misiniz? Tutkulu profesyoneller için tamamen uzaktan çalışma sunuyoruz. Açık pozisyonlarımıza göz atın.","WEBSITE_OPEN_POSITIONS":"AÇIK POZİSYONLAR","WEBSITE_DESCRIPTION":"TANIMI","WEBSITE_LEARN_MORE":"Daha fazla bilgi edinin","WEBSITE_COMPANY":"Şirket","WEBSITE_CONTACTS":"İletişim","WEBSITE_NEED_HELP":"Yardıma mı ihtiyacınız var?","WEBSITE_STREMIO_WEB_ON_IOS":"iOS’ta Stremio için Web Kılavuzu","WEBSITE_LINK_ART_V2":"Fanart Galerisi","WEBSITE_PARTNERS":"Ortaklar","WEBSITE_SLOGAN_WATCH":"Anında İzleyin","WEBSITE_SLOGAN_ALL":"Keyif Aldığınız Tüm Görüntü İçeriği Tek Bir Yerde","WEBSITE_SLOGAN_NEW":"Tüm İzleyebileceğiniz","WEBSITE_SLOGAN_NEW_NEW":"Akış Özgürlüğü","WEBSITE_WATCH_FROM":"İzleyeceğiniz yer","WEBSITE_DOWNLOAD":"Şimdi İndir","WEBSITE_DOWNLOAD_FOR":"Şimdi İndireceğiniz","WEBSITE_IS_DESKTOP":"Stremio bir masaüstü uygulamasıdır, bu sayfayı PC\'nizde açın ve indirin","WEBSITE_DESKTOP_DEMO_VID":"Masaüstü tanıtımı","WEBSITE_PAGE_HOME":"Giriş","WEBSITE_PAGE_FEATURES":"Özellikler","WEBSITE_PAGE_ADDONS":"Eklentiler","WEBSITE_PAGE_TECH":"Teknoloji","WEBSITE_PAGE_CREATE_ADDON":"Eklenti Oluşturun","WEBSITE_PAGE_CONTACTS":"İletişim","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Lütfen istediğiniz yeni parolanızı aşağıya girin.","WEBSITE_RESET_PASSWORD_WARNING":"${1} için parolayı sıfırlamak istediğinize emin misiniz?","WEBSITE_TYPE_movie":"Filmler","WEBSITE_TYPE_series_PL":"Diziler","WEBSITE_TYPE_tv":"Canlı TV","WEBSITE_TYPE_channel":"Kanallar","WEBSITE_STREMIO_WHAT_IS":"Stremio, en sevdiğiniz görüntüleri, filmleri, dizileri ve TV kanallarını düzenlemenize ve anında izlemenize yardımcı olan bir uygulamadır.","WEBSITE_FEATURES_WATCH":"HD olarak Anında İzleyin","WEBSITE_FEATURES_WATCH_DETAIL":"En sevdiğiniz filmlere, TV Programlarına, görüntülere ve TV kanallarına tıklayın ve oynatın.","WEBSITE_FEATURES_SUBS":"Otomatik Altyazılar","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio diliniz için eşitlenmiş altyazıları otomatik olarak seçer.","WEBSITE_FEATURES_SUBS_LABEL":"Sıra sende, şef.","WEBSITE_FEATURES_CAST":"TV ve mobil cihazlarda oynat","WEBSITE_FEATURES_CAST_DETAIL":"Apple TV, Chromecast, Akıllı TV (DLNA/UPnP) ve mobil cihazlarda yayınlayın.","WEBSITE_LIB":"Tüm Cihazlarınızda Eşitlenen Kişisel Kitaplığınızın Keyfini Çıkarın","WEBSITE_LIB_COLLECT":"Stremio\'dan toplayın","WEBSITE_LIB_IMPORT":"Facebook\'tan içe aktarın","WEBSITE_LIB_LOCAL":"Yerel sürücünüzden ekleyin","WEBSITE_BOARD":"Pano - Bildirimler ve Öneriler için tek durak yeri","WEBSITE_BOARD_RECOMMEND":"Önerilen TV Programı","WEBSITE_BOARD_TRENDING":"Çok İzlenen Film","WEBSITE_BOARD_NEW":"Yeni Görüntü","WEBSITE_BOARD_EPISODE":"Yeni Bölüm","WEBSITE_BOARD_1":"İzlemek için ilginç bir şeyler mi arıyorsun? Zevkinize göre öneriler al!","WEBSITE_BOARD_2":"En sevdiğin TV programında veya YouTube kanalında yeni bir bölüm çıktıkça haberdar ol!","WEBSITE_BOARD_YOUTUBE":"YouTube kanallarının yeni videoları","WEBSITE_BOARD_EPISODES":"Takip ettiğiniz dizilerin yeni bölümleri","WEBSITE_ADDONS":"İçerik Eklentileri","WEBSITE_TECH_DETAIL":"Teknolojiyi seviyoruz, deli bilimi seviyoruz!\\nStremio aşağıdaki açık kaynak teknolojilerini kullanıyor:","WEBSITE_TECH_WCJS":"WebChimera.js, Stremio\'nun iyi bir performans ile herhangi bir video formatını oynatmasına izin verir.","WEBSITE_TECH_WCJS_EXTRA":"Biz temel projeye katılımcılarıyız","WEBSITE_TECH_ELECTRON":"Electron, Stremio\'yu inşa etmek için yenilikçi bir platform sağlar.","WEBSITE_TECH_ELECTRON_EXTRA":"Proje katılımcılarıyız","WEBSITE_TECH_LINVODB":"Verilerinizi sağlayan bir veritabanı teknolojisi düzenlenmiştir ve oturum açtığınız her yerde kullanılabilir.","WEBSITE_TECH_LINVODB_EXTRA":"Şirket içi teknoloji","WEBSITE_CREATE_ADDON":"Kendi eklentinizi oluşturun","WEBSITE_CREATE_ADDON_DETAIL":"Video içeriği sunan bir hizmetin var mı? Sizin eklenti oluşturarak Stremio\'nun özelliklerinden yararlanmanıza yardımcı olacağız.","WEBSITE_CREATE_ADDON_BENEFITS":"Stremio Eklentisi Yaratmanın Faydaları","WEBSITE_P2P_BEAUTY":"Uçtan uca akışının güzelliği","WEBSITE_P2P_1":"İsteğe bağlı veya canlı akışla güvenilir ve satın alınabilir Full HD/4K video","WEBSITE_P2P_2":"Mükemmel bir kullanıcı deneyimi sağlayan dağıtım platformu","WEBSITE_P2P_3":"Tam ihtiyaçlarınızı karşılayan bir eklenti oluşturacağız","WEBSITE_P2P_CONTACT":"İlgilendiniz mi? <a href=\'mailto:office@stremio.com\'>Bize ulaşabilirsiniz</a>.","WEBSITE_P2P_CONTACT_EXTRA":"İçeriğinizi Stremio ile entegre etmenize yardımcı olmaktan mutluluk duyacağız!","WEBSITE_P2P":"Bir süre sonra, oyunun adını değiştiren bir teknoloji gelir. Herhangi bir kullanım durumuna uyum sağlamak için mükemmel performans ve çok yönlülük sağlayan P2P video akışı motoru kurmaya zaman ve çaba harcadık.\\nDRM özellikli P2P video, talep üzerine veya canlı akış için bize ulaşın.","WEBSITE_THOUGHTS":"Paylaştığımız düşünceler:","WEBSITE_SPREAD":"Stremio kelimesini herkese duyurun:","WEBSITE_CONTACT":"Eğer bizimle iletişime geçmek istiyorsanız, devam edin","WEBSITE_OPENSOURCE":"Açık kaynak projelerimiz için gitmeniz gereken yer","WEBSITE_BITCOIN":"Bitcoin bağışla:","WEBSITE_FAQ":"Sıkça sorulan sorular","WEBSITE_FAQ_SHORT":"SSS","WEBSITE_QUESTIONS":"Sorular","WEBSITE_TOS":"Kullanım şartları","WEBSITE_LEGAL":"Yasal","WEBSITE_PAGE_ABOUT":"Hakkında","WEBSITE_PAGE_BECOME_PARTNER":"Ortak ol","WEBSITE_ALL_YOU_CAN_WATCH":"Tamamını İzleyebilirsin","WEBSITE_FREEDOM_TO_STREAM":"İzleme Özgürlüğü","WEBSITE_WHAT_IS_STREMIO":"Stremio nedir?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio, video içerik toplama için tek duraklı bir merkezdir. Sahip olduğunuz herhangi bir cihaz üzerinden her türlü kaynaktan video keşfedin, düzenleyin ve izleyin.","WEBSITE_WHAT_IS_STREMIO_P2":"Filmler, TV programları, diziler, canlı televizyonlar ya da YouTube ve Twitch.tv gibi web kanalları. Bunların hepsini Stremio\'da bulabilirsiniz.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio, video eğlence için tek noktadan çözüm sunan modern bir medya merkezidir. Kurulumu kolay eklentilerden video içeriğini keşfeder, izler ve düzenlersiniz.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Filmler, TV programları, canlı TV veya web kanalları. Tüm bunları Stremio\'da bulabilirsiniz.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Tüm Medya cihazlarınızda keyfini çıkarın","WEBSITE_DEVICES_COLLECT":"Stremio\'dan toplayın","WEBSITE_DEVICES_IMPORT_FB":"Facebook\'tan içe aktarın","WEBSITE_DEVICES_LOCAL":"Yerel sürücünüzden ekleyin","WEBSITE_JOIN_THE_PARTY_NOW":"Şimdi partiye katılın","WEBSITE_DEVICES_ALL":"Tüm cihazlarınızda kullanımı kolay;","WEBSITE_EXTENDABLE_CATALOG":"Sonsuz genişletilebilir video kataloğu;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Medyanızı düzenlemek için harika özellikler;","WEBSITE_AS_SEEN_ON":"Görüldüğü gibi","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"Hakkımızda","WEBSITE_LINK_TECHNOLOGY":"Teknoloji","WEBSITE_LINK_APPS":"Uygulamalar","WEBSITE_LINK_DOWNLOADS":"İndirmeler","WEBSITE_MORE":"Daha fazlası","WEBSITE_LINK_ADDONS":"Eklentiler","WEBSITE_LINK_ADDON_SDK":"Eklenti SDK","WEBSITE_LINK_CONTRIBUTE":"Katkıda bulun","WEBSITE_LINK_COMMUNITY":"Topluluk","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... ve Daha fazlası","WEBSITE_LINK_HELP":"Yardım merkezi","WEBSITE_LINK_CONTACTS":"İş görüşmeleri","WEBSITE_LINK_TOS":"Şartlar ve koşullar","WEBSITE_LINK_PRAVACY":"Gizlilik ilkesi","WEBSITE_SUBSCRIBE":"Abone ol","WEBSITE_NEWSLETTER":"Şaşırtıcı şeyler için haber bültenimize kaydolun","WEBSITE_PLACEHOLDER_EMAIL":"E-posta adresin","WEBSITE_COMMUNITY":"Topluluk","WEBSITE_LINK_PRAVACY_LEGAL":"Gizlilik ve yasal","WEBSITE_WHY":"Neden yapıyoruz?","WEBSITE_WHY_P1":"Stremio\'da her gün çalışmaya başlıyoruz, çünkü talep üzerine video endüstrisi için önemli bir sorunu çözmek istiyoruz. Her dakika yayınlanan yeni birçok içerik var ve bununlar içinde yol bulmanız neredeyse imkânsız.","WEBSITE_WHY_P2":"İnsanlara bu muazzam video eğlence dünyasında gezinmelerine ve keyif alacakları yeni içerikler keşfetmelerine yardımcı oluyoruz. Uygulamalarımız filmleri, dizileri, canlı televizyonlarını, web kanallarını ve daha fazlasını bir araya getirir. Kullanıcıların sevdikleri başlıkları ve yayıncıları bulmalarını inanılmaz derecede kolaylaştırmayı amaçlıyoruz.","WEBSITE_WHY_P3":"Hizmetimizi herhangi bir cihazda, istediğiniz zaman kullanabilir ve Stremio\'yu ihtiyacınız olan tek video eğlence merkezi haline getirebilirsiniz.","WEBSITE_TEAM":"TAKIM","WEBSITE_TEAM_P":"Stremio ekibi küçük ama güçlü: arkadaki 10 kişi ile, X dilinde kod yazıyoruz ve yazılım geliştirme, UI ve UX tasarım, pazarlama ve reklamcılık dahil iş dünyası ve girişimler konularında uzmanlıklar paylaşıyoruz.","WEBSITE_FEATURES":"Özellikler","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Yeni içeriği kolayca keşfedin","WEBSITE_FEATURES_DISCOVER_P":"İzlenecek yeni filmleri, TV programlarını, dizileri ve kanalları kolayca keşfedin. Kategoriye, türüne, derecelendirmeye, yeniliğe vb. göre göz atın veya bulmak için sadece bir isim yazın. Stremio yeni video içeriği bulmayı çok kolay hale getiriyor.","WEBSITE_FEATURES_ALL_CONTENT":"Tüm video içeriğiniz tek bir ekranda","WEBSITE_FEATURES_ALL_CONTENT_P1":"Hangi filmleri, dizileri veya videoları tamamlamadığınızı görün ve izlemeye devam edin. Yeni bölümler ve sürümler için bildirim alın. Görüntüleme alışkanlıklarınıza göre alacağınız önerilere göz atın.","WEBSITE_FEATURES_LIBRARY":"Video kitaplığınızı düzenleyin","WEBSITE_FEATURES_LIBRARY_P1":"Tek bir tıklama ile Stremio kitaplığınıza herhangi bir başlık ekleyin ve içeriklerinizi türe, yeniliğe ya da alfabetik olarak düzenlenmiş bir şekilde bulun.","WEBSITE_FEATURES_CALENDAR":"İzlediğiniz her şeyi takip edin","WEBSITE_FEATURES_CALENDAR_P1":"Kitaplığınıza eklediğiniz tüm filmlerin ve dizilerin takvim görselleştirmesini alın. Stremio takviminizi dışa aktarın ve eşitleyin, böylece yeni bir bölümün veya bir ilk gösterimin ne zaman geleceğini bilirsiniz.","WEBSITE_FEATURES_BIG_SCREEN":"Video içeriğinizin keyfini daha büyük bir ekranda çıkarın","WEBSITE_FEATURES_BIG_SCREEN_P1":"İzlediğiniz her şeyi tek bir tıklama ile ister telefon, ister tablet, isterseniz TV\'den başka bir cihaza aktarın.","WEBSITE_FEATURES_SOURCES":"Birçok farklı kaynaktan video izleyin","WEBSITE_FEATURES_SOURCES_P":"Tek bir şık, kullanımı kolay uygulama ile birçok farklı sağlayıcıdan elde edilen videonun keyfini çıkarmak için resmi ve topluluk eklentilerini yükleyin.","WEBSITE_CREATE_AN_ADDON":"Bir eklenti oluşturun","WEBSITE_FEATURES_SYNC":"Kitaplığınızı farklı cihazlar arasında eşitleyin ve oynatmaya devam edin","WEBSITE_FEATURES_SYNC_P1":"Tüm cihazlarınıza hesabınızla oturum açın ve eşitlenmiş kitaplığınızın, eklentilerinizin, oynatma ve takviminizin keyfini çıkarın.","WEBSITE_FEATURES_EXTENDABLE":"Eklentilerle genişletilebilir video kataloğu","WEBSITE_FEATURES_EXTENDABLE_P1":"Stremio eklenti kataloğu, çeşitli video içeriğini yüklemek ve izlemek için bir dizi eklenti sağlar. Bu eklenti kataloğu; filmler, programlar, canlı TV, spor, haberler, podcast\'ler, web kanalları, video oyunları ve daha fazlasını içerir.","WEBSITE_FEATURES_AUTO_SUBS":"Otomatik altyazılar","WEBSITE_FEATURES_AUTO_SUBS_P1":"Altyazı eklentilerimizle, tercih ettiğiniz dil için otomatik olarak seçilen seçenekleri elde edersiniz.","WEBSITE_FEATURES_CHROMECAST":"Chromecast ile yayınlayın","WEBSITE_FEATURES_CHROMECAST_P1":"Video içeriğinizin keyfini daha büyük bir ekranda çıkarın veya izlediğiniz her şeyi başka bir cihaza yayınlayın.","WEBSITE_FEATURES_KEEP_TRACK":"En sevdiğiniz TV programlarını ve web kanallarını takip edin","WEBSITE_FEATURES_KEEP_TRACK_P1":"En sevdiğiniz dizilerin ve web kanallarının yeni bölümleri için bir takvim görselleştirmesi ve bildirimler alın.","WEBSITE_FEATURES_POWER_USER":"Güçlü kullanıcı özellikleri","WEBSITE_FEATURES_POWER_USER_P1":"Harici oynatıcıda oynatın","WEBSITE_FEATURES_POWER_USER_P2":"Torrent dosyasından veya magnet bağlantısından oynatın","WEBSITE_FEATURES_POWER_USER_P3":"Facebook beğenilerinden veya yerel diskten kitaplığınıza aktarın","WEBSITE_ADD_ONS":"Eklentiler","WEBSITE_ADD_ONS_P1":"Stremio\'nun sağladığı tüm video içeriği, bir eklenti sistemi aracılığıyla sağlanır - hiçbir içerik veya içerik sağlayıcısı uygulamaya yerleştirilmemiştir.","WEBSITE_ADD_ONS_P2":"İki eklenti grubu mevcut: resmi eklentiler ve topluluk eklentileri","WEBSITE_ADD_ONS_P3":"Resmi olanlar Stremio tarafından geliştirilir ve barındırılır. Buna karşın topluluk eklentileri, onları barındıran topluluk üyelerimiz tarafından oluşturulur.","WEBSITE_ADDONS_OFFICIAL":"Resmi eklentiler","WEBSITE_ADDONS_WATCHUB":"En sevdiğiniz filmleri, dizileri ve şovları iTunes, Hulu, Amazon ve diğer İngiltere/ABD hizmetleri gibi sağlayıcılardan izleyin.","WEBSITE_ADDONS_YOUTUBE":"En sevdiğiniz YouTube kanallarını reklamsız izleyin ve yeni yüklemeler için bildirimler alın.","WEBSITE_ADDONS_FILMON":"Canlı TV, film ve sosyal televizyonu ücretsiz izleyin. 600 TV kanalı, 45.000 ücretsiz film, belgesel ve daha fazlası.","WEBSITE_ADDONS_OPENSUBTITLES":"Film ve diziler için, birçok dilde her gün güncellenen binlerce altyazı çevirisi.","WEBSITE_ADDONS_COMMUNITY":"Topluluk eklentileri","WEBSITE_ADDONS_FILMON_VOD":"Filmon.tv\'den talep üzerine video izleyin.","WEBSITE_ADDONS_TWICH":"Twitch.tv\'den canlı akış izleyin - e-spor endüstrisi için bir video akış platformu.","WEBSITE_ADDONS_VODO":"Bağımsız filmleri kesinlikle ücretsiz izleyin.","WEBSITE_ADDONS_NETFLIX":"Netflix filmlerini ve web dizilerini izleyin.","WEBSITE_ADDONS_CREATE":"Eklenti oluşturun","WEBSITE_ADDONS_CREATE_P1":"İsterseniz kendi eklentinizi geliştirebilirsiniz. Bu şekilde, kendiniz ve topluluğumu içim yeni video içeriklerine erişim verebilir ve dünya çapında milyonlarca kullanıcıdan oluşan yeni bir hedef kitleye ulaşabilirsiniz.","WEBSITE_ADDONS_START_CREATE":"Başlarken, Stremio eklenti SDK sayfasını ziyaret edin:","WEBSITE_DOWNLOADS":"İndirmeler","WEBSITE_DOWNLOADS_P1":"En uygun performans için Stremio uygulamalarının mevcut en son sürümünü kullanmanızı öneririz. Ancak herhangi bir nedenle daha eski bir sürümü kullanmak isterseniz buradan indirebilirsiniz.","WEBSITE_DOWNLOADS_P1_SHORT":"En uygun performans için Stremio uygulamalarının mevcut en son sürümünü kullanmanızı öneririz.","WEBSITE_DOWNLOADS_FOR_WIN":"Windows için Stremio","WEBSITE_DOWNLOADS_FOR_MAC":"macOS için Stremio","WEBSITE_DOWNLOADS_FOR_LINUX":"Linux için Stremio","WEBSITE_DOWNLOADS_FOR_ANDROID":"Android için Stremio","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Android TV için Stremio","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Android Mobil için Stremio","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Steam Deck için Stremio","WEBSITE_DOWNLOADS_FOR_IOS":"iOS için Stremio (sınırlı sürüm)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Samsung TV için Stremio","WEBSITE_DOWNLOADS_FOR_LG_TV":"LG TV için Stremio","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Sony TV için Stremio (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Philips TV için Stremio (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Oculus Quest için Stremio","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Meta Quest için Stremio","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Vision Pro için Stremio","WEBSITE_DOWNLOADS_FOR_XBOX":"Xbox için Stremio","WEBSITE_DOWNLOADS_FOR_RPI":"Raspberry Pi için Stremio","WEBSITE_DOWNLOADS_FOR_BROWSER":"Tarayıcı için Stremio","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"2019+ Samsung TV modellerinin Uygulama Mağazasında Stremio’yu arayın","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"2020+ LG TV modellerinin Uygulama Mağazasında Stremio’yu arayın","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Android çalıştıran Sony TV’deki Play Store uygulamasında Stremio’yu arayın","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Android çalıştıran Philips TV’deki Play Store uygulamasında Stremio’yu arayın","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Xbox cihazınızın Uygulama Mağazasında Stremio’yu arayın","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"RPI’da Stremio OS Kılavuzu","WEBSITE_LINK_GUIDE":"Kılavuz","WEBSITE_DOWNLOAD_SERVICE":"Stremio Hizmetini İndirin","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Hizmeti, Stremio Web için eşlik eden bir uygulamadır. Stremio Hizmetinin mevcut en son sürümünü kullanmanızı öneririz.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Windows için Stremio Hizmeti","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"macOS için Stremio Hizmeti","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Linux için Stremio Hizmeti","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Docker için Stremio Hizmeti","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Docker için Stremio","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"Daha Fazla İndirme Seçeneği","WEBSITE_DOWNLOAD_NEW":"Yeni!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"Stremio Web’i yayımladık","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"Samsung TV için Stremio’yu yayımladık","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"LG TV için Stremio’yu yayımladık","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"Xbox için Stremio’yu yayımladık","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"Raspberry Pi için Stremio’yu yayımladık","WEBSITE_CONTRIBUTE_P1":"Stremio platformu, açık kaynak kodludur ve şu anda kaynağı olmayan içerik için kolayca bir eklenti oluşturabilirsiniz.","WEBSITE_CONTRIBUTE_WHY":"Neden bir eklenti oluşturmalısınız?","WEBSITE_CONTRIBUTE_WHY_P1":"Video içeriğiniz için yeni kitleye ulaşın","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio\'nun kullanıcı tabanı hızla büyüyor. Lansmanının ilk yılında Stremio, dünyada 1 milyon kullanıcı kazandı ve platformun ikinci yılında bu sayı 2,5 milyona yükseldi.","WEBSITE_CONTRIBUTE_WHY_P3":"Eklentiniz ile bu kitleye kolayca ulaşabilir ve video içeriğinizi onlara dağıtabilirsiniz.","WEBSITE_CONTRIBUTE_ALL":"En sevdiğiniz filmleri, videoları, dizileri ve kanalları tek bir yerden izleyin","WEBSITE_CONTRIBUTE_ALL_P1":"Stremio’da henüz bulunmayan belirli bir türdeki içeriğin hayranı mısınız? Bunun için bir eklenti oluşturun ve piyasadaki en büyük ve en kolay kullanımlı eğlence merkezlerinden birinde en sevdiğiniz görüntüleri izlemenin keyfini çıkarın.","WEBSITE_CONTRIBUTE_ALL_P2":"Üstüne üstlük, sizinle benzer şekilde düşünen diğer Stremio topluluğu üyelerinin sonsuz şükranlarını alırsınız.","WEBSITE_CONTRIBUTE_MONETIZE":"Eklentinizi para kazanılabilir hale getirin ve onun yardımıyla para kazanın","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Stremio için yeni bir eklenti geliştirdikten sonra, birkaç farklı yolla kolaylıkla para kazanabilirsiniz. Bunu düşünüyorsanız, ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" adresinden bizimle iletişime geçmekten çekinmeyin. Eklentiden para kazanma seçenekleri konusunda danışmanlık sunmaktan ve size tavsiyelerde bulunmaktan memnuniyet duyarız.","WEBSITE_CONTRIBUTE_TRANSLATE":"Gönüllü çevirmen olun","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Farklı dillerde Stremio uygulamalarının keyfini çıkarmak istiyorsanız, gönüllü çevirmenler topluluğumuza katılabilirsiniz. Onlar, Stremio\'nun sürümlerini birçok farklı dilde eklememize yardımcı oluyorlar.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Başlamak için sabırsızlanıyor musunuz?","WEBSITE_TRANSALTE_STREMIO":"Stremio\'yu Çevirin","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Resmi topluluklar","WEBSITE_COMMUNITY_OFFICIALS_P1":"Büyüyen Stremio topluluğunun bir parçası olun. Bizi sosyal medyada takip edin ve \'Merhaba\' demekten çekinmeyin; hayranlarımızı dinlemeyi çok seviyoruz! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Resmi olmayan topluluklar","STREMIO_COMMUNITY_NL":"Stremio Hollanda","STREMIO_COMMUNITY_BRASIL":"Stremio Brezilya","STREMIO_COMMUNITY_GERMANY":"Stremio Almanya","STREMIO_COMMUNITY_BELGIUM":"Stremio Belçika","STREMIO_COMMUNITY_FRANCE":"Stremio Fransa","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portekiz","STREMIO_COMMUNITY_ITALY":"Stremio İtalya","STREMIO_COMMUNITY_UK":"Stremio İngiltere","STREMIO_COMMUNITY_USA":"Stremio ABD","STREMIO_COMMUNITY_MEXICO":"Stremio Meksika","STREMIO_COMMUNITY_ADDONS":"Stremio Eklentileri","STREMIO_COMMUNITY_AWESOME":"Müthiş Stremio","WEBSITE_COMMUNITY_PARTNERS":"Ortaklar ve destekçiler","WEBSITE_COMMUNITY_GOODIES":"Stremio şekerlemeleri","WEBSITE_COMMUNITY_WALLPAPERS":"Duvar kağıtları","WEBSITE_COMMUNITY_ART":"Topluluk Sanat Galerisi","WEBSITE_LINK_ART":"Topluluk sanat galerisi","WEBSITE_CONTACT_US":"Bize ulaşın","WEBSITE_CONTACT_US_P1":"Eğer herhangi bir sorunuz, yorumunuz veya öneriniz varsa, aşağıdaki iletişim formu aracılığıyla bizimle iletişime geçmekten çekinmeyin.","WEBSITE_CONTACT_US_P2":"Bulgaristan’da bulunduğumuz için saat dilimi farklılıklarından dolayı sorunuzun yanıtlanmasında gecikmeler olabileceğini unutmayın.","WEBSITE_CONTACT_US_SUCCESS":"İletiniz gönderildi. Size en kısa sürede geri döneceğiz.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Lütfen geçerli bir e-posta adresi girin!","WEBSITE_CONTACT_US_Q_RELATED_TO":"Sorunuz ne ile ilgili?","WEBSITE_CONTACT_US_Q_OS":"İşletim Sisteminiz nedir?","WEBSITE_CONTACT_US_PH_EMAIL":"E-posta adresiniz","WEBSITE_CONTACT_US_PH_MESSAGE":"İletiniz","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"GÖNDER","WEBSITE_CONTACT_US_Q_1":"Nasıl yüklenir?","WEBSITE_CONTACT_US_Q_2":"Nasıl kaldırılır?","WEBSITE_CONTACT_US_Q_3":"(HTML) Lazanya nasıl yapılır?","WEBSITE_CONTACT_US_Q_4":"Eklentiler","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Teknoloji","WEBSITE_TECHNOLOGY_P1":"Teknolojiyi ve çılgın bilimi seviyoruz. </br> İşte Stremio\'ya güç veren şeyler (hepsi açık kaynaklı).","WEBSITE_TECHNOLOGY_P_QT":"Platformlar arası yazılım geliştirmenin en iyi hali.","WEBSITE_TECHNOLOGY_P_MPV":"Ücretsiz, açık kaynaklı ve platformlar arası bir ortam oynatıcı.","WEBSITE_TECHNOLOGY_P_RN":"React Native, yalnızca JavaScript kullanarak mobil uygulamalar oluşturmanızı sağlar.","WEBSITE_TECHNOLOGY_P_VLC":"Çokluortam almak için uygulamaya gömülü ortam çatısı.","WEBSITE_TECHNOLOGY_P_REALM":"Realm, bir mobil platformdur ve SQLite ve Core Data’nın yerine geçmiştir.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js açık kaynaklı, platformlar arası bir JavaScript çalışma zamanı ortamıdır.","WEBSITE_TECHNOLOGY_P_RUST":"Rust, özellikle güvenli eşzamanlılık olmak üzere güvenliğe odaklanan çok paradigmalı bir sistem programlama dilidir.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Projeye katkıda bulunun","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Stremio\'ya katkıda bulunmanın ve ürünün daha da iyi olmasına yardımcı olmanın iki yolu vardır.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Platformu çevirerek değerli dil becerilerinizi bağışlayabilirsiniz...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"ya da","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... topluluk eklentileri oluşturmak için kodlama becerilerinizi kullanabilirsiniz. ","WEBSITE_TRANSLATE_STREMIO":"Stremio\'yu Çevirin","WEBSITE_404_OH_NO":"Olamaz! Aradığınız sayfa burada değil...","WEBSITE_GO_HOME":"Girişe git","WEBSITE_LINK_OTHER_DOWNLOADS":"Diğer indirmeler","WEBSITE_FAQ_ABR":"SSS","WEBSITE_SUPPORT":"Destek","WEBSITE_DOWNLOAD_4_0_BETA":"Stremio 4 beta\'yı Hemen indirin","WEBSITE_GET_FOR_DESKTOP":"Masaüstü için alın","WEBSITE_LINK_ADDON_COMPETITION":"Eklenti yarışması","WEBSITE_LINK_ART_CONTEST":"Sanat yarışması","WEBSITE_MY_ACCOUNT":"Hesabım","WEBSITE_MAINPAGE_FAQ_001_H1":"Stremio nedir?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio, istediğiniz her şeyi izleme özgürlüğü sunan modern bir medya merkezidir.","WEBSITE_MAINPAGE_FAQ_002_H1":"Nasıl çalışır?","WEBSITE_MAINPAGE_FAQ_002_P1":"Stremio\'yu cihazınıza yükleyip bir hesap oluşturduktan sonra, yapmanız gereken tek şey eklenti kataloğunu ziyaret etmek ve istediğiniz eklentiyi yüklemektir!","WEBSITE_MAINPAGE_FAQ_002_P2":"Bundan sonra, içeriği keşfetmeye başlamak için Keşfet veya Pano bölümlerine gidebilirsiniz.","WEBSITE_MAINPAGE_FAQ_003_H1":"Burada ne izleyebilirim?","WEBSITE_MAINPAGE_FAQ_003_P1":"Çok şey var: Filmler, TV programları, Web kanalları, Spor, TV kanallarını izleyin ya da podcast\'leri ve daha fazlasını dinleyin. Eklenti sistemimiz sayesinde çeşitli içeriklere erişebilirsiniz.","WEBSITE_MAINPAGE_FAQ_004_H1":"Stremio açık kaynaklı mı?","WEBSITE_MAINPAGE_FAQ_004_P1":"Evet, şu bağlantıları gözden geçirebilirsiniz: ${1}masaüstü uygulaması${2} ve ${3}GitHub kuruluşu${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Stremio güvenli mi?","WEBSITE_MAINPAGE_FAQ_005_P1":"Evet, Stremio açık kaynak kodlu bir yazılım olduğundan, kod herkes tarafından denetlenebilir ve kendiniz de kodunu inceleyebilirsiniz.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio’nun eklenti sistemi de kullanıcının güvenliği göz önünde bulundurularak oluşturulmuştur. Eklentiler yerel olarak herhangi bir kod çalıştırmaz, dolayısıyla cihazınız için herhangi bir risk oluşturmaz.","WEBSITE_MAINPAGE_FAQ_006_H1":"Mahremiyetime ne dersiniz?","WEBSITE_MAINPAGE_FAQ_006_P1":"Kullanıcıların gizliliğine saygı duyuyoruz ve hesabınızı oluşturmak ve eşitlemek için gerekli en az temel veri dışında herhangi bir kişisel veri toplamıyoruz.","WEBSITE_MAINPAGE_FAQ_006_P2":"Ayrıca kaydolma sırasında herhangi bir veri gerektirmeyen ${1}Misafir modu${2} vardır: bu modda, arka tarafa çağrı yapılmaz. Ancak, kitaplığınızı cihazlar arasında eşitleyebilmek gibi yararlı özelliklerin ödün vermeniz gerekir.","WEBSITE_MAINPAGE_FAQ_007_H1":"Televizyonuma yayınlayabilir miyim?","WEBSITE_MAINPAGE_FAQ_007_P1":"Evet, Chromecast\'i destekliyoruz ve hem masaüstü hem de mobil uygulamalardan (Android) yayınlayabilirsiniz.","WEBSITE_MAINPAGE_FAQ_008_H1":"Stremio\'nun kaç eklentisi var?","WEBSITE_MAINPAGE_FAQ_008_P1":"2019 sonu itibariyla, 50\'nin üzerinde. Daha fazla bilgi için eklenti kataloğumuza bakın.","WEBSITE_MAINPAGE_FAQ_009_H1":"Stremio eklenti kataloğundakinin ötesine genişletilebilir mi?","WEBSITE_MAINPAGE_FAQ_009_P1":"Evet, şunları gözden geçirebilirsiniz: ${1}PimpMyStremio${2}, ${3}Reddit toplulukları${4}, ${5}Stremio İndirici${6} vb.","WEBSITE_MAINPAGE_FAQ_010_H1":"Stremio hangi cihazları destekliyor?","WEBSITE_MAINPAGE_FAQ_010_P1":"Windows, Mac ve Linux için masaüstü uygulamalarımız mevcut. Mobil cihazlar için, Android ve iOS\'u destekliyoruz. Ancak iOS\'un işlevsellik açısından sınırlı olduğunu unutmayın (çoğu eklentiyi desteklemez).","WEBSITE_MAINPAGE_FAQ_010_P2":"NVIDIA Shield ve Amazon Fire Stick gibi Stremio\'yu çalıştırabileceğiniz birçok Android tabanlı cihaz var. Ancak bunları resmi olarak desteklemiyoruz.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"Windows, Mac ve Linux için masaüstü uygulamalarımız var. Ayrıca Android Mobil ve Android TV için adanmış uygulamalarımız da bulunmaktadır. İşlevselliği daha sınırlı olmasına rağmen iOS ve iPadOS için Stremio Web’i kullanmanızı öneririz.","WEBSITE_MAINPAGE_FAQ_011_H1":"Stremio\'ya bazı içerikler ekleyebilir misiniz?","WEBSITE_MAINPAGE_FAQ_011_P1":"Üzgünüz, kendimiz içerik sağlamıyoruz, ancak ne kadar çok Stremio eklentisi yüklerseniz o kadar fazla içerik bulabilirsiniz.","WEBSITE_MAINPAGE_FAQ_012_H1":"Stremio magnet bağlantılarını oynatabilir mi?","WEBSITE_MAINPAGE_FAQ_012_P1":"Evet. Ayrıca normal HTTP bağlantılarını ve torrent dosyalarını da oynatabilir (sürükleyin ve bırakın).","WEBSITE_MAINPAGE_FAQ_013_H1":"Bir video indirip çevrimdışı izleyebilir miyim?","WEBSITE_MAINPAGE_FAQ_013_P1":"Çevrimdışı kullanım gelecek bir özelliktir. Ancak Stremio\'nun cihazınızda önbelleklemesine izin verirseniz (ayarlar panelinden) videoyu daha sonra bağlantı olmadan izleyebilirsiniz.","WEBSITE_MAINPAGE_FAQ_014_H1":"Hiçbir şey çalışmıyor, yardım edin!","WEBSITE_MAINPAGE_FAQ_014_P1":"Eklentileri yüklediğinizden emin misiniz? Cevabınız evetse, ${1}yardım merkezimize${2} danışın.","WEBSITE_MAINPAGE_FAQ_015_H1":"Stremio geliştirme faaliyetlerini nasıl sürdürüyor?","WEBSITE_MAINPAGE_FAQ_015_P1":"Nadiren rahatsız edici olmayan reklamlar yayınlıyoruz, ancak bir bağış modeline geçmeyi düşünüyoruz.","WEBSITE_MAINPAGE_FAQ_015_P2":"Daha fazla soru için ${1}yardım merkezimize${2} gidin.","HELP_LEARN_MORE":"Hakkınızda daha fazla bilgi edinmemize yardımcı olun.","LIFESTYLE":"Yaşam stili","SPORTS":"Spor","FOOD_HEALTH":"Yemek ve Sağlık","BEAUTY_FASHION":"Güzellik ve Moda","NEWS":"Haber","GAMING":"Oyun","SCIENCE_EDUCATION":"Bilim ve Eğitim","MUSIC":"Müzik","TRAVEL":"Seyahat","LATE_NIGHT":"Gece Gösterisi","REALITY":"Gerçeklik","COMEDY":"Komedi","DIY":"Nasıl Kendin Yaparsın","TECH":"Teknoloji","CINEMA":"Sinema","CONTINUE":"Devam","SLOW_LOADING":"YAVAŞ MI YÜKLENİYOR?","I_GIVE_UP":"VAZGEÇTİM","LEARN_MORE":"Daha fazla bilgi edinin","POOR_SOURCE":"Bu kaynak yetersiz veya internet bağlantınız yeterince hızlı değil","PICK_CATEGORIES_ERR":"En az 3 kategori seçmek zorundasınız","ADJUST_TIMING":"Ayarlanacak zaman ","ADJUST_SIZE":"Ayarlanacak boyut ","SEARCH_ANYTHING":"Her Şeyi Arayabilirsiniz...","ALL_CATEGORIES":"Tümü","SEARCH_CATEGORIES":"Filmler, Diziler, YouTube ve TV","SEARCH_PERSONS":"Aktörler, Yönetmenler ve Yazarlar","SEARCH_PROTOCOLS":"HTTP ve Magnet Bağlantıları","SEARCH_TYPES":"IMDB / TVDB Bağlantıları","WATCHED":"İzlendi","SHOW_LESS":"Daha az göster","LAST_SEARCHES":"Son aramalar","CLEAR_HISTORY":"Geçmişi temizle","CHOOSE_SOME":"BUNLARDAN BAZILARINI SEÇİN:","NO_WEB_REMOTE":"Web Uzaktan Kumandası yüklenemedi","STREMIO_OFFLINE":"Stremio çevrimdışı","STREMIO_EXPENSIVE_CONNECTION":"Mobil veri bağlantısı kullandığınızı algıladık, devam etmek istiyor musunuz?","USE_DATA":"Veriyi kullan","WARNING":"Uyarı","MORE_INFO":"Daha Fazla Bilgi ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Yükleniyor ...","STREMIO_TV_BACK_TO_LANGUAGES":"Dillere geri dön","STREMIO_TV_REMOTE":"Uzaktan Kumanda","STREMIO_TV_GO_TO":"Git:","STREMIO_TV_OR_SCAN":"ve tara:","STREMIO_TV_ADDON_INSTRUCTIONS":"Tercih ettiğiniz eklentileri yüklemek için lütfen talimatları takip edin.","STREMIO_TV_LIVE_TV":"Canlı TV","STREMIO_TV_RESUME_WATCHING":"İzlemeye Devam Et","STREMIO_TV_LOADING_BACKGROUND":"Arka planda yükleniyor","STREMIO_TV_CHECKING_AUTHENTICATION":"Kimlik doğrulama denetleniyor","STREMIO_TV_LOADING_BOARD":"Pano yükleniyor","STREMIO_TV_LOGIN_HEADER_LINE_1":"Kullanıcılarımızın yazılımımızla mümkün olan en iyi kişiselleştirilmiş deneyime sahip olmalarını istiyoruz.","STREMIO_TV_LOGIN_HEADER_LINE_2":"Bu nedenle, hesabınızı oluşturmanızı ve/veya hesabınıza oturum açmanızı rica ederiz.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Anlayışınız için teşekkür ederiz,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Stremio Ekibi","STREMIO_TV_REMOTE_INSTRUCTIONS":"Web Uzaktan Kumandayı Akıllı Telefon / Tablet / Masaüstünüzle kullanmak için:","STREMIO_TV_WIFI_SETUP":"Kablosuz Kurulumu","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle bir internet bağlantısı algılayamadı.","STREMIO_TV_WIFI_DETAILS_1":"Şuna bağlan:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Parola kullan:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Bağlantıyı bir web tarayıcısı ile aç:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Varsayılan","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"Son İzlenene Göre","STREMIO_TV_LIBRARY_SORT_NAME":"Ada Göre","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"Ada Göre Azalan","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"İzlenme Sayısına Göre","STREMIO_TV_LIBRARY_SORT_WATCHED":"İzlenene Göre","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"İzlenmeyene Göre","STREMIO_TV_DETAILS_SEASON_NUMBER":"Sezon ${1}","STREMIO_TV_STREAMS_LOADING":"${1} / ${2} eklenti yüklendi...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} eklentisi hala yükleniyor...","STREMIO_TV_PLAYER_SETTINGS":"Oynatıcı ayarları","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Altyazı gecikmesi","STREMIO_TV_PLAYER_AUDIO_DELAY":"Ses gecikmesi","STREMIO_TV_PLAYER_VIDEO_SCALING":"Görüntü ölçeği","STREMIO_TV_PLAYER_CHAPTERS":"Bölümler","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Atla ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Desteklenmeyen akış kaynağı","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Harici bağlantıyı açma başarısız","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Ses içinden geçiş modunda ayarlanamaz","STREMIO_TV_PLAYER_PLAY_IN_EXO":"ExoPlayer ile oynat","STREMIO_TV_PLAYER_PLAY_IN_VLC":"libVLC player ile oynat","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Oynatma hatasından dolayı libVLC player\'a geçiliyor","STREMIO_TV_ADDONS_TITLE":"Eklentileri yüklemek veya yapılandırmak için Telefonunuzda veya PC\'nizde Stremio\'yu kullanın ve \\"Eklentileri Eşitle\\"ye basın","STREMIO_TV_ADDONS_SUBTITLE":"Not: Aynı Stremio hesabını kullandığınızdan emin olun.","STREMIO_TV_ADDONS_SYNC_ADDONS":"Eklentileri Eşitle","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Eklentiler başarılı olarak eşitlendi","STREMIO_TV_ADDONS_SYNC_FAILED":"Eklentileri eşitleme başarısız oldu","STREMIO_TV_META_LINK_FAILED":"Üst bağlantıyı açma başarısız oldu","STREMIO_TV_CATALOG_LOADING":"Katalog hala yükleniyor...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Arayüz dili güncellendi","STREMIO_TV_SETTINGS_THEME_UPDATED":"Tema güncellendi","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Varsayılan Oynatıcı","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Harici Oynatıcı","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Tercih Edilen Dil","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"İkincil Tercih Edilen Dil","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tünelli Oynatma","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Bazı cihazlarda olası oynatma sorunları","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Bazı görüntü biçimleri çalışmayabilir","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Kare hızı eşleme","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Etkisizleştirildi","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Yalnızca Kare Hızı","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Kare Hızı ve Çözünürlük","STREMIO_TV_SETTINGS_NO_CACHING":"Önbellekleme yok","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Varsayılan","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Yavaş","STREMIO_TV_SETTINGS_PROFILE_FAST":"Hızlı","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Çok Hızlı","STREMIO_TV_SETTINGS_SERVER_URL":"Yayın akışı sunucusu URL\'si","STREMIO_TV_SETTINGS_SERVER_VERSION":"Sunucu sürümü","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Bilinmiyor","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio sürümü","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Sunucu URL\'sini düzenle","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Bir yayın akışı sunucusu URL\'si girin","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Yüklenirken istatistikleri göster","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"Stremio\'nun Gizlilik İlkesini okumak için şu adresi ziyaret edin:","STREMIO_TV_SETTINGS_TOS_TEXT":"Stremio\'nun Şartlar ve Koşullarını okumak için şu adresi ziyaret edin:","STREMIO_TV_NAV_SEARCH":"Ara","STREMIO_TV_NAV_HOME":"Giriş","STREMIO_TV_NAV_DISCOVER":"Keşfet","STREMIO_TV_NAV_LIBRARY":"Kitaplık","STREMIO_TV_NAV_MOVIES":"Filmler","STREMIO_TV_NAV_SERIES":"Diziler","STREMIO_TV_NAV_CHANNELS":"Kanallar","STREMIO_TV_NAV_TV":"Canlı TV","STREMIO_TV_NAV_SETTINGS":"Ayarlar","STREMIO_TV_NAV_ADDONS":"Eklentiler","STREMIO_TV_LOGIN_TITLE":"Hesabı Bağla","STREMIO_TV_LOGIN_EXPIRES_IN":"Sona erme tarihi","STREMIO_TV_LOGIN_STEP_ONE":"Yukarıdaki QR Kodu tarayın veya","STREMIO_TV_LOGIN_STEP_TWO":"Stremio hesabınıza oturum açın","STREMIO_TV_LOGIN_NEW_LINK":"Yeni bir bağlantı isteyin","STREMIO_TV_LOGIN_LINK_REFRESHED":"Oturum açma kodu yenilendi","STREMIO_TV_SEARCH_PLACEHOLDER":"Bir şeyler yazın","STREMIO_TV_SEARCH_NO_ADDONS":"Kataloglar için herhangi bir eklenti istenmedi!","STREMIO_TV_SEARCH_BUTTON":"Ara","STREMIO_TV_SEARCH_KEY_DEL":"Sil","STREMIO_TV_SEARCH_KEY_SPACE":"Boşluk","STREMIO_TV_SEARCH_KEY_CLEAR":"Temizle","STREMIO_TV_SEARCH_HISTORY_TITLE":"Geçmişi Temizle","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Başlıklar, Aktörler, Kanallar ve daha fazlasını arayabilirsiniz...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Arama Geçmişini Temizle","STREMIO_TV_FILTERS_DESCRIPTION":"Aşağıdaki süzgeçlerden birini seçin","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Yayın Akışı Sunucusu Çevrimdışı. Sunucu Ayarlarını Gözden Geçirin.","FILTERS":"Süzgeçler","SETTINGS":"Ayarlar","ACCOUNT":"Hesap","LOGOUT":"Oturumu Kapat","THEMES":"Temalar","PLAYBACK":"Oynatma","PLAYBACK_SPEED":"Oynatma Hızı","AUDIO_TRACKS":"Ses İzleri","UNKNOWN_TRACK_LANG":"Bilinmiyor","VIDEOS":"Görüntüler","SERVER":"Sunucu","LINKS":"Bağlantılar","ABOUT":"Hakkında","INTERFACE":"Arayüz","ANIMATIONS":"Animasyonlar","STATUS":"Durum","LANGUAGE":"Dil","SIZE":"Boyut","DELAY":"Gecikme","BOLD":"Kalın","OPACITY":"Geçirgenlik","TEXT_COLOR":"Metin Rengi","OUTLINE_COLOR":"Anahat Rengi","BACKGROUND_COLOR":"Arka Plan Rengi","BACKGROUND_BLUR":"Arka Plan Bulanıklığı","SEEK_TIME_DURATION":"Atlama Süresi","AUTO_PLAY":"Sonraki Bölümü otomatik oynat","PLAY_NOW":"Şimdi Oynat","MARK_AS_WATCHED":"İzlendi olarak İşaretle","MARK_AS_UNWATCHED":"İzlenmedi olarak İşaretle","REWIND_TO_BEGINNING":"En Başa Al","CONTINUE_WATCHING":"İzlemeye Devam Et","ALL":"Tümü","SECONDS":"saniye","ON":"AÇIK","OFF":"KAPALI","RELOAD":"Yeniden Yükle","EDIT_URL":"URL\'yi Düzenle","NONE":"Hiçbiri","EMBEDDED":"Gömülü","REMOTE_SWITCH_DEVICES":"Cihazları Değiştir","REMOTE_VIDEOS":"Görüntüler","REMOTE_ADJUST_TIMING":"Zamanlamayı ayarla","REMOTE_ADJUST_SIZE":"Boyutu ayarla","REMOTE_COULD_NOT_BE_LOADED":"Web Uzaktan Kumandası yüklenemedi","REMOTE_RETRY":"Yeniden Dene","TORRENT_PROFILE_DEFAULT":"Varsayılan","TORRENT_PROFILE_SOFT":"Yavaş","TORRENT_PROFILE_FAST":"Hızlı","TORRENT_PROFILE_ULTRA_FAST":"Çok Hızlı","FAQ_001_H1":"Stremio nedir?","FAQ_001_P1":"Stremio, video eğlencesi için kullanım kolaylığı düşüncesiyle tasarlanmış bir medya merkezi yazılımıdır. Stremio organize etmenize izin verir &amp; kendi film, dizi, kanal ve canlı TV koleksiyonunuzu izleyin.","FAQ_001_P2":"Stremio, size gösterilen içeriği yerel diskinizden ve eklentiler sisteminden toplar.","FAQ_001_P3":"İlgilerinize göre yeni bölümler/videolar/filmler çıktığında da sizi uyarır ve size özel film önerileri sunar.","FAQ_02_H1":"Stremio\'nun Kodi ve Plex\'ten ne farkı var?","FAQ_02_P1":"Bu iki yazılımdan ilham aldık. Ancak farklı hedeflerimiz var - Stremio özellikle eğlence videolarını hedef alıyor ve kullanımının çok kolay olması nedeniyle ana çözüm olma yolunu arıyor.","FAQ_02_P2":"Stremio, Kodi ve Plex kadar özelleştirilebilir ve zengin özellikli olmayacak, ancak kullanımı çok daha kolay. Sadece ${1} al ve ${2} gör :)","FAQ_03_H1":"Stremio\'nun Netflix\'ten farkı nedir?","FAQ_03_P1":"Yine, Netflix ilham kaynağımızdan biridir. Netflix\'in kullanıcı deneyimine ek olarak bir çok eklenti elde etmeye çalışıyoruz. Ama en önemlisi, kendi kütüphanenizi yönetme ve eklenti sistemimizle yeni içerik kaynaklarını ekleme özgürlüğünü sunuyoruz.","FAQ_03_P2":"Stremio\'yu sınırsız olarak genişletebilirsiniz. Bu nedenle Stremio\'yu kullandığınızda, Netflix\'in lisansını alabildiği içerikle asla sınırlı kalmazsınız. Örneğin, Stremio aracılığıyla ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} ve hatta ${9}Netflix${10}\'in kendisinden içerik izleyebilirsiniz!","FAQ_04_H1":"Stremio\'nun Flipboard\'dan farkı nedir?","FAQ_04_P1":"Bu soruyu sıkça görmüyoruz, yeni başlayanlarla konuşurken hariç :)","FAQ_04_P2":"Stremio, tasarım gereği videonun Flipboard olmasını sağlayan bir içerik toplayıcısıdır. Bu, Pano bölümünde çok açık bir şekilde görülmektedir; Flipboard gibi takip ettikleriniz için size kataloglar ve yeni bölüm/yeni video bildirimleri sunar.","FAQ_05_H1":"Stremio\'nun Popcorn Time\'dan farkı nedir?","FAQ_05_P1":"Stremio ve Popcorn Time, kullanıcı arabirimi olarak benzer, çünkü video eğlence kataloglarını doğru yapmanın başka bir yolu yok :)","FAQ_05_P2":"Ancak, Popcorn Time, belirli kaynaklardaki torrentleri akış yapmaya odaklanırken, Stremio sınırsızdır ve yalnızca bir içerik toplayıcısıdır - belirli bir içerik kaynağına kilitlenmez.","FAQ_05_P3":"Ayrıca, varsayılan olarak herhangi bir torrent eklentisi sağlamıyoruz. Bu nedenle Stremio, resmi işlevselliği olan Popcorn Time kullanım durumunu kapsamamaktadır.","FAQ_05_P4":"Bir diğer önemli fark ise, Popcorn Zamanı tamamen açık kaynaklı, Stremio ise ${1} kısmen açık kaynaklıdır${2}.","FAQ_06_H1":"Bu filmi/diziyi ekler misiniz?","FAQ_06_P1":"Hayır, üzgünüz :(","FAQ_06_P2":"Diğer sorularda birçok kez belirtildiği gibi, Stremio kendisi tarafından herhangi bir içerik sağlamaz; her şey eklentiler sistemi aracılığıyla eklenir. Bir içerik isteğiniz var ise Oynatıcı içindeki “Sorun bildir” düğmesini kullanabilirsiniz: Bu kullanmakta olduğunuz eklentinin oluşturucusuna bir e-posta gönderecektir.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"X için eklenti oluşturur musunuz?","FAQ_08_P1":"Bu tamamen mümkündür.","FAQ_08_P2":"Bir eklenti ile ilgili bir fikriniz varsa, bize ${1}office@stremio.com${2} adresinden birkaç satır yazın, ancak lütfen eklenti fikrinizin herhangi bir telif hakkı veya kullanım şartlarını ihlal etmediğinden emin olun.","FAQ_08_P3":"Şu anda, yol haritamızda bulunan sonraki şeyler; FandangoNOW, Filmon.tv, talep üzerine video, Crunchyroll için eklenti.","FAQ_09_H1":"Stremio, BitTorrent kullanıyor mu?","FAQ_09_P1":"Evet, Stremio bir akış protokolü olarak BitTorrent\'i destekliyor. Bunu bir torrent eklentisiyle veya bir .torrent dosyasını Stremio\'ya sürükleyip bırakarak ya da Arama Çubuğuna bir magnet bağlantısı yapıştırarak kullanabilirsiniz.","FAQ_09_P2":"BitTorrent\'i kullanan tek resmi eklentinin, indie içerik sağlayan ve tamamının BitTorrent ile dağıtılmasına izin veren ${1}Vodo${2} olduğunu lütfen unutmayın.","FAQ_09_P3":"Telif hakkı ihlaline neden olabilecek üçüncü taraf eklentilerinin kullanılmasını desteklemiyoruz.","FAQ_10_H1":"Stremio\'da resmi eklentilerle neleri izleyebilirim?","FAQ_10_P1":"Varsayılan olarak, Filmon.tv, YouTube ve Vodo içeriğini gömülü oynatıcı ile Stremio\'nun içinde izleyebilirsiniz. Ayrıca, Twitch.tv ve diğerleri için bir eklentimiz var.","FAQ_10_P2":"Bu birleştirilmiş bir seçim sağlar:","FAQ_10_L1":"Beğenilen TV kanalları, Filmon.tv tarafından sağlanır - örneğin E4, BBC, Bollyworld TV","FAQ_10_L2":"YouTube\'dan her şey - örneğin BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Vodo ile Indie filmleri","FAQ_10_L4":"Twitch.tv ile çevrimiçi oyun yayınları","FAQ_10_P3":"Buna ek olarak, Guidebox ve Netflix eklentileri ile sağlanan, tamamen, Stremio\'da <b>oynatılmayan</b>, ancak verilen hizmete yönlendiren birçok içerik kaynağı vardır. Örneğin, Guidebox eklentisi, TubiTV ve Crackle gibi hizmetlerden ABD\'de ücretsiz olarak yayın yapabileceğiniz bir film seçimi yapacaktır.","FAQ_11_H1":"Stremio yüklenmiyor, ne yapabilirim?","FAQ_11_P1":"Windows kullanıyorsanız, bu ${1}alternatif yükleyiciyi${2} deneyin","FAQ_11_P2":"Mac OS X kullanıyorsanız, lütfen OS X Mavericks(10.9)\'den daha eski hiçbir şeyi desteklemediğimizi unutmayın.","FAQ_11_P3":"Linux kullanıyorsanız, şu anda yalnızca 64 bit (x64) Linux\'u desteklediğimizin farkında olun.","FAQ_11_P4":"Sorununuzu yine de çözemezseniz, lütfen ${1}Facebook grubumuza${2} yazın.","FAQ_12_H1":"Antivirüs programım neden uyarı veriyor? Stremio güvenli mi?","FAQ_12_P1":"Stremio\'nun ${1}100% temiz${2} olduğundan emin olun.","FAQ_12_P2":"Virüsten koruma yazılımınız şikayetçi. Çünkü bazı antivirüs programlarının reklam yazılımı olarak tanıdığı reklamcıyı yükleyicimize dahil ediyoruz.","FAQ_12_P3":"Hala emin değilseniz, bizim ${1}alternatif yükleyicimizi${2} deneyebilirsiniz.","FAQ_13_H1":"Nasıl eklenti oluşturabilirim?","FAQ_13_P1":"Yeni başlayanlar için, GitHub\'daki ${1}eklentiler sistemi modülüne${2} göz atmanızı öneririz.","FAQ_13_P2":"Ardından, ${1}Merhaba dünya dersini${2} takip edebilirsiniz.","FAQ_13_P3":"Herhangi bir programlama becerisine sahip değilseniz, lütfen fikrinizi bize ${1}Reddit topluluğundan${2} ya da ${3}office@stremio.com${4} adresinden bildirebilirsiniz.","FAQ_14_H1":"Eklentiler nasıl yayınlanır?","FAQ_14_P1":"Bir eklenti ve sunucu oluştururken ve bildiriminize çalışan bir eklenti adresini işaret eden bir <b>bitiş noktası</ b> alanı koyduğunuzda, eklenti kendisini ${1}Eklenti kataloğumuzda${2} otomatik olarak yayınlayacaktır.","FAQ_14_P2":"Bu durum, stremio-addons modülünün sunucu parçası, eklentiyi duyurmak için API\'yı otomatik olarak çağırır. API\'mız, <b>bitiş noktası</ b> değerini geçerli bir eklenti olarak doğruladığında, katalogda gösterilmeye başlayacaktır.","FAQ_15_H1":"Tarayıcımda Stremio\'yu çalıştırabilir miyim?","FAQ_15_P1":"Şu an değil, ama bu geliyor!","FAQ_15_P2":"Bir Alfa görmekten hoşlanıyorsanız, burada görebilirsiniz: ${1}alpha4.strem.io${2}. Bu alfa üzerinde akışın devre dışı olduğunu unutmayın. Chrome, Firefox, Opera ve Edge\'i destekliyoruz.","FAQ_16_H1":"TV\'ye yayın yapma çalışmıyor/altyazı çalışmıyor","FAQ_16_P1":"TV\'ye yayın yapmak, farklı TV markaları ve modelleri arasında tutarsız olan DLNA teknolojisini kullanıyor. Bu nedenle, her durumda test etme yeteneğine sahip değiliz, bu yüzden mükemmel olmaktan çok uzak. Buna rağmen, sürekli olarak geliştirmeye çalışıyoruz ancak DLNA\'nın TV\'nizle ne zaman düzgün bir şekilde çalışmaya başlayacağına dair size bir zaman tahmini veremiyoruz.","FAQ_16_P2":"Yayın yapma menüsünde TV\'nizi göremiyorsanız, lütfen yönlendiricinizi, TV\'yi ve PC\'nizi yeniden başlatmanın yanı sıra ağ bağlantınızı devre dışı bırakmayı ve yeniden etkinleştirmeyi deneyin (Windows\'ta, Ağ\'a sağ tıklayın ve Etkinleştir/Devre Dışı Bırak\'ı kullanın).","FAQ_16_P3":"Hala bir sorunla karşılaşıyorsanız, TV markanızı ve model bilgilerinizi ${1}office@stremio.com${2} adresine göndererek bize yardımcı olabilirsiniz.","FAQ_16_P4":"Bu arada, çok iyi desteklediğimiz Chromecast\'i öneriyoruz ya da TV\'nizi bir HDMI kablosu ile bilgisayarınıza takmanız yeterlidir.","FAQ_17_H1":"Stremio donuyor ya da çöküyor, ne yapabilirim?","FAQ_17_P1":"Her şeyden önce, Windows 7\'yi AVG anti-virüs ile kullanıyorsanız: bu kombinasyonda bir sorunumuz var. Sorun AVG\'nin kendi içindedir ve bizim tarafımızdan çözülmesinin makul bir yolu yoktur. Ne yazık ki, istisnalar veya anti-virüs devre dışı bırakmak işe yaramaz. Tek çözüm, AVG\'yi başka bir şeyle değiştirmektir.","FAQ_17_P2":"Sorun bu değilse de, ancak hala Windows kullanıyorsanız, lütfen en son hizmet paketine güncelleyin ve GPU sürücülerinizi güncelleyin/yeniden yükleyin, sonra tekrar deneyin.","FAQ_17_P3":"Sorun hala devam ediyorsa veya Mac veya Linux kullanıyorsanız, lütfen sorunun ayrıntılarını bize ${1}Facebook grubumuzdan${2} yazabilirsiniz.","FAQ_18_H1":"Bir eklentiyi nasıl yapabilirim?","FAQ_18_P1":"Yeni başlayanlar için, GitHub\'daki ${1}eklentiler sistemi modülüne${2} göz atmanızı öneririz.","FAQ_18_P2":"Ardından, ${1}Merhaba dünya dersini${2} takip edebilirsiniz.","FAQ_18_P3":"Herhangi bir programlama becerisine sahip değilseniz, lütfen fikrinizi bize ${1}Reddit topluluğundan${2} ya da ${3}office@stremio.com${4} adresinden bildirebilirsiniz.","FAQ_19_H1":"Stremio neden disk alanı kaplıyor?","FAQ_19_P1":"Stremio\'da aktarılan video dosyalarını geçici olarak saklamak için <b>yerel önbellek</b> vardır.","FAQ_19_P2":"Bu iki avantaja sahiptir: Birincisi, Stremio\'nun akışını daha pürüzsüzleştirmek için videoyu ön yüklemeye olanak tanır. İkincisi, videoları yerel önbellekte tutar, böylece onları çevrimdışı izlemeye devam edebilirsiniz.","FAQ_19_P3":"Stremio\'nun ne kadar yer tuttuğu Ayarlar panelindeki <b>Önbellek</b> ayarına bağlıdır. Şu anda akışlı video bundan daha büyük olmadığı sürece, Stremio diskinizde belirlenen miktara (ör. 2GB) kadar tutabilir, bu durumda onu korumak için yeterli miktarda saklama alanı ayırmanız gerekir.","FAQ_20_H1":"Önbellek klasörü nerede?","FAQ_20_P1":"Windows\'ta, Ayarlar\'da seçtiğiniz sürücüdeki stremio-cache (ör. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"MacOS\'ta, burada \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"Linux\'ta, burada \\"~/.stremio/stremio-cache\\" ya da \\"~/stremio-cache\\"","FAQ_21_H1":"\\"Akış sunucusu bulunamadı\\" hatası alıyorum, ne yapabilirim?","FAQ_21_P1":"Bu hatayı alırsanız, bu birkaç şeyden biri anlamına gelir:","FAQ_21_P2":"1) ${1}Web sürümümüz${2} aracılığıyla YouTube / BitTorrent kaynağı tarafından desteklenen bir eklenti kullanmaya çalışıyorsunuz. Bu durumda, ${3}web sitemizden${4} masaüstü sürümümüzü yüklemelisiniz.","FAQ_21_P3":"2) Stremio kurulumunuzda bir sorun var. Bu durumda, ${1}web sitesinden${2} en yeni masaüstü sürümünü yeniden yüklemeyi deneyin. Bu işe yaramazsa, anti-virüs programları ve güvenlik duvarları devre dışı bırakarak PC\'nizi yeniden başlatın ve tekrar deneyin. Bu da işe yaramazsa, lütfen ${3}Facebook grubumuzdan${4} bize yazın.","FAQ_22_H1":"iOS\'ta çoğu eklentiyi göremiyorum/kullanamıyorum","FAQ_22_P1":"Çünkü, Apple\'ın App Store şartlar ve koşullarındaki kısıtlamalar nedeniyle iOS uygulamasını yalnızca belirli bir eklenti grubuyla sınırladık.","FAQ_22_P2":"Ancak gelecekte iOS için daha fazla eklenti olacak ve ayrıca iOS uygulamasını Stremio akış sunucusuna bağlayarak tüm Stremio eklentilerini kullanmanızı sağlayacak bir entegrasyon da ekleyebiliriz."}')},75923:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Фільм","TYPE_series":"Серіали","TYPE_tv":"Телеканали","TYPE_channel":"Канал","TYPE_other":"Інше","TYPE_movie_PL":"Фільми","TYPE_series_PL":"Серіали","TYPE_tv_PL":"Телеканали","TYPE_channel_PL":"Канали","TYPE_other_PL":"Інше","TYPE_ALL":"Все","TYPE":"Type","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"Відео","BACK":"Назад","MORE":"Більше","DONE":"Готово","COPY":"Копіювати","SUCCESS":"Успіх","ERROR":"Помилка","SETTINGS_CASTING_MODE_PICKER":"Режим трансляції","CASTING_MODE_HLSV2":"За замовчуванням","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Без перекодування","Discover":"Новинки","Board":"Дошка","Library":"Бібліотека","My Library":"Моя бібліотека","Calendar":"Календар","NOTIFICATION_ONLINE":"Ви в мережі","NOTIFICATION_OFFLINE":"Ви поза мережею","INTERNET_CONNECTION":"Мережне підключення","STORAGE_FULL_TITLE":"Попередження: сховище заповнено!","STORAGE_FULL_TEXT":"Stremio не зможе зберегти ваші налаштування, параметри чи інформацію для входу. Подумайте про перезапуск або перевстановлення Stremio.","SEARCH":"пошук","SEARCH_NO_RESULTS":"Результатів не знайдено","SEARCH_EXPLANATION_CONTENT":"Шукайте фільми, серіали, YouTube і телеканали","SEARCH_EXPLANATION_PEOPLE":"Шукайте акторів, режисерів та сценаристів","SEARCH_PASTE_LINKS":"Вставте посилання HTTP та Magnet","SEARCH_OR_PASTE_LINK":"Знайдіть або вставте посилання","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"Додати до бібліотеки","REMOVE_FROM_LIB":"Видалити з бібліотеки","ADDED_TO_LIB":"Додано до бібліотеки","REMOVED_FROM_LIB":"Вилучено з бібліотеки","TRAILER":"Трейлер","WATCH_TRAILER":"Переглянути трейлер","WATCH_NOW":"Дивитися зараз","SHOW":"Показати","SHOW_MOVIE":"Показати фільм","WATCH_RANDOM":"Дивитися випадкові","IMDB_RATING":"Рейтинг IMDb","YEAR":"Рік","DIRECTOR":"Режисер","WRITER":"Сценарист","LEAD_ACTORS":"У головних ролях","CAST":"Актори","CREW":"Команда","SHOW_MORE_CAST":"Показати більше »","AIRED":"Ефір","SEASONS":"Сезонів","GENRE":"Жанр","GENRE_ALL":"All genres","CATALOG":"Каталог","SUMMARY":"Зведення","SHOW_MORE":"Показати більше","SIMILAR":"Подібні","UPCOMING":"Майбутні","ENDED":"Закінчено","DURATION":"Тривалість","FEATURED":"Рекомендовані","METADATA":"Метадані","CATEGORY":"категорія","LINKS_GENRES":"Жанри","LINKS_CAST":"Актори","LINKS_DIRECTORS":"Режисери","SEARCH_VIDEOS":"пошук відео","SEARCH_PLACEHOLDER":"шукайте або вставте URL-адреси","ADDON":"доповнення","ADDONS":"Доповнення","OFFICIAL":"офіційний","ADDONS_OFFICIAL":"Офіційні доповнення Stremio","ADDONS_POPULAR":"Популярні у вашому регіоні","ADDON_FREE":"безоплатні","ADDON_PEERED":"P2P","ADDON_SUBSCRIPTION":"підписка","ADDON_STREAM_GEORESTRICTED":"недоступне у вашому регіоні","ADDON_STREAM_OFFLINECACHE":"Офлайн-кеш","ADDON_STREAM_LOCALFILE":"Локальний файл","SHARE_ADDON":"Поділитися доповненням","AVAILABLE_STREAMS":"Доступні трансляції","NO_STREAM":"Трансляцій не знайдено","ALL_ADDONS":"Все","INSTALL_MORE_ADDONS":"Щоб отримати більше трансляцій, встановіть більше доповнень","STREAM_NOT_SUPPORTED":"Обрана трансляція не підтримується на цій платформі.","ADDON_CATALOGUE":"Показати всі доповнення »","ADDON_CATALOGUE_MORE":"Встановити доповнення","REPO_ADDED":"Додано репозиторій","ADDON_REPO_EXIST_ERR":"Ця колекція доповнень уже існує","ADDON_REPO_ERR":"Під час додавання колекції сталася помилка","ADDON_ADD_ERR":"Під час додавання доповнення сталася помилка","ERR_ADDON_PROTECTED":"Не вдається видалити доповнення, воно захищене","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Щось пішло не так – можливо, автентифікація не вдалася","ERR_NOT_COLLECTION_URL":"Це не URL-адреса колекції","ERR_NOT_ADDON_URL":"Недійсна URL-адреса доповнення","ERR_DETECTFROMURL":"Не вдається знайти доповнення/колекції за цією URL-адресою","ADDON_DUPLICATE_WARNING":"Попередження: дубльоване доповнення","ADDON_COLLECTION_SET_FAILED":"Не вдалося синхронізувати встановлені доповнення з вашим обліковим записом","SETTINGS_DATA_EXPORT":"Експортувати дані користувача","ADDON_PULL_FAILED":"Не вдалося синхронізувати встановлені доповнення з вашого облікового запису","REFRESH_ON_CLICK":"Натисніть, щоб повторити","STILL_IN_THEATER":"Фільм досі в кінотеатрах","WATCH_IN_CINEMA":"Подивіться у місцевому кінотеатрі","IN_THEATER":"У кіно","GET_TICKETS":"Придбати квитки","UPCOMING_EPISODE":"Наступні серії","UPCOMING_EPISODE_MESSAGE":"Ця серія вийде в ефір","MISSING_DATE_EPISODE":"Відсутня дата серії","MISSING_DATE_EPISODE_MESSAGE":"Можливо, ця серія ще не вийшла в ефір","CHANNEL_NOT_SCRAPED":"Цей канал ще не завантажено. <br> Будь ласка, поверніться за кілька хвилин.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Додайте його до своєї бібліотеки для отримання сповіщення доступності.","GET_NOTIFIED_WHEN_AVAILABLE":"Ви отримаєте сповіщення, як тільки він стане доступним.","WARNING_STREAMING_SERVER":"Попередження: локальний потоковий сервер не знайдено. Потокове передавання з локальних файлів YouTube і BitTorrent не будуть доступні.","WARNING_STREAMING_SERVER_DISMISS":"Закрити","WARNING_STREAMING_SERVER_LATER":"Пізніше","DECODER_WARNING":"Попередження: це відео може не підтримуватися вашим обладнанням. Майте на увазі, що відтворення може бути повільним.","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"Ой, помилка програвача","PLAYER_ERROR_LOOKSLIKE":"Схоже, що","PLAYER_ORIENTATION":"Орієнтація програвача","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Заблоковано","PLAYER_ORIENTATION_SENSOR_SHORT":"Датчик","PLAYER_ORIENTATION_LANDSCAPE":"Орієнтація програвача заблокована на альбомній","PLAYER_ORIENTATION_SENSOR":"Автоматична орієнтація програвача (датчик)","PLAYER_PLAYBACK_SPEED":"Швидкість відтворення","PLAYER_PLAYBACK_ERROR":"Помилка відтворення, повторіть спробу","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Невідома помилка","PLAYER_PLAYBACK_ERROR_DEFAULT":"{{productName}} не може відтворити це відео.","PLAYER_SUBTITLES_LANGUAGES":"Мови субтитрів","PLAYER_SUBTITLES_VARIANTS":"Варіанти субтитрів","PLAYER_SUBTITLES_SETTINGS":"Налаштування субтитрів","PLAYER_SUBTITLES_DISABLED":"Субтитри вимкнено","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Вертикальне положення","PLAYER_SUBTITLES_LOADED":"Субтитри завантажено","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Вбудовані субтитри завантажено","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Ексклюзивні субтитри завантажено","PLAYER_SUBTITLES_LOADED_ORIGIN":"Субтитри завантажено з {{origin}}","PLAYER_PLAY":"Грати","PLAYER_PAUSE":"Пауза","PLAYER_NEXT_VIDEO":"Наступне відео","PLAYER_MUTE":"Вимкнути звук","PLAYER_UNMUTE":"Увімкнути звук","PLAYER_OPEN_IN_EXTERNAL":"Відкрити у зовнішньому плеєрі","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Грати на {{device}}","PLAYER_LIVE":"Наживо","PLAYER_NEXT_VIDEO_TITLE":"Далі буде","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Закрити","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Дивитися зараз","PLAYER_COPY_STREAM_SUCCESS":"Посилання на трансляцію скопійовано в буфер обміну","PLAYER_COPY_STREAM_ERROR":"Не вдалося скопіювати посилання на трансляцію","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","STREAMING_FROM":"транслюється з","CASTING_TO":"Транслюється до","NETWORK_STATUS":"Стан мережі","STREAM_SPEED":"Швидкість потоку:","STREAM_BUFFERED":"Буферизовано:","PEERS_INFO":"Інформація про вузли","PEERS_ACTIVE":"Активний:","PEERS_CONNECTED":"Підключено:","PEERS_WAITING":"Очікування:","TRANSCODING_WARNING":"Попередження: перекодування відео.","STREAM_LOADING":"завантаження...","PLAYING_LOCAL":"відтворення з локального файлу","PLAYING_CACHE":"відтворення з кешу","WRONG_SUBS":"Неправильні субтитри?","ERR_SUBS_LOADING_TITLE":"Помилка завантаження субтитрів","ERR_SUBS_LOADING":"Помилка завантаження субтитрів: це може бути із-за доповнення, яке ви використовуєте або з вашим мережевим підключенням","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Наступні доповнення субтитрів дали збій","ERR_CASTING_UPDATE_TITLE":"Не вдалося оновити інформацію про пристрій для трансляції: сервер потокового передавання може бути поза мережею","CHOOSE_DEVICE":"Виберіть пристрій для перегляду","NO_CAST_DEVICES":"Немає доступних пристроїв для трансляції.","NO_SETTINGS":"Немає доступних налаштувань.","PHONE_TABLET":"Телефон / Планшет","SUBTITLES":"Субтитри","SUBTITLES_CHANGE":"Змінити субтитри для ","SUBTITLES_CHANGE_NONE":"На жаль, немає інших субтитрів для цієї мови.","SUBTITLES_CHANGE_ACIVE":"Наразі субтитри &#35;{{subtitlesDialog.activeIdx + 1}} активовані. Натисніть «Продовжити», щоб активувати субтитри &#35;{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Або,","SUBTITLES_ADJUST_DELAY":"Налаштуйте затримку субтитрів:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Або використовуйте <span> G </span> / <span> H </span> під час відтворення, щоб налаштувати.","SUBTITLES_ADJUST_DELAY_TIP":"ПОРАДА: ви можете використовувати <span> G </span> / <span> H </span> під час відтворення для налаштування.","SUBTITLES_DELAY":"Затримка субтитрів:","SUBTITLES_LOADING":"Завантаження субтитрів...","SUBTITLES_UNAVAILABLE":"Немає доступних зовнішніх субтитрів","SUBTITLES_DISABLED":"Вимкнено","EXTERNAL_PLAYER_DISABLED":"Вимкнено","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Дозволити вибір","EXTERNAL_PLAYER_HINT":"Підказка: існує налаштування, яке дозволяє завжди відкривати за допомогою зовнішнього програвача","DONT_SHOW_AGAIN":"Більше не показувати","SERVICE_INSTALL":"Встановити","AUDIO":"Аудіо","DEFAULT_LANGUAGE":"Мова за замовчуванням","DEFAULT_SECONDARY_LANGUAGE":"Додаткова мова за умовчанням","SEASON":"Сезон","EPISODE":"Серія","EPISODE_ABBREVIATION":"EP","SPECIAL":"Особливий","SORT":"сортувати","SORT_BY":"Сортувати за","FILTER":"фільтр","SORT_TRENDING":"трендові","SORT_RECENT":"нещодавні","SORT_ALPHABET":"а-я","SORT_ALPHABET_REVERSE":"я-а","SORT_RATING":"рейтинг","SORT_WATCHED":"переглянуті","SORT_YEAR":"рік","SELECT_TYPE":"Виберіть тип","SELECT_SORT":"Виберіть сортування","SELECT_CATALOG":"Виберіть каталог","SELECT_GENRE":"Виберіть жанр","SORT_LASTWATCHED":"За останніми переглянутими","SORT_NAME":"За назвою","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"За тривалістю переглядів","SORT_NOTWATCHED":"not watched","New for You":"Нове для Вас","New Episodes":"Нові серії","New Videos":"Нові відео","Recommendations":"Рекомендації","LIBRARY_RESUME":"Відновити","LIBRARY_PLAY":"Грати","LIBRARY_DETAILS":"Деталі","LIBRARY_RESUME_DISMISS":"Закрити","LIBRARY_CLEAR_PROGRESS":"Очистити прогрес","LIBRARY_REMOVE":"Видалити","LIBRARY_NOT_LOGGED_IN":"Бібліотека доступна лише для авторизованих користувачів","CALENDAR_NOT_LOGGED_IN":"Календар доступний лише для авторизованих користувачів","NOT_LOGGED_IN_CLOUD":"Отримуйте доступ до улюблених фільмів і телешоу в будь-який час і будь-де","NOT_LOGGED_IN_RECOMMENDATIONS":"Рекомендації, адаптовані до вашої історії переглядів","NOT_LOGGED_IN_NOTIFICATIONS":"Ніколи більше не пропускайте жодної серії","NOT_LOGGED_IN_CALENDAR":"Заплануйте свій особистий календар перегляду","DISCOVER_FEATURED":"Рекомендовані","DISCOVER_TOP":"Топ","DISCOVER_OSCAR":"Переможці премії «Оскар»","DISCOVER_WARNING_TITLE":"Ой!","DISCOVER_EMPTY_CATALOG":"Це доповнення видало порожній вміст.","DISCOVER_ADULT_WARNING":"Вміст доступний лише для дорослих. Тобі 18+?","DISCOVER_NOADDON_WARNING":"Попередження: для цього типу немає активного доповнення Stremio. Показано збережені елементи, тут нічого не оновиться.","DISCOVER_LOAD_ERR":"Вміст не завантажився, сталася помилка.","DISCOVER_ADDON_UNINSTALLED":"Цей вміст більше не доступний, можливо, ви видалили доповнення.","UNINSTALL_THIS_ADDON":"Видалити це доповнення","ERR_ADDON_NOT_INSTALLED":"Це доповнення не встановлене. Встановити зараз?","DETAIL_RECEIVE_NOTIF_SERIES":"Отримувати сповіщення про нові серії","DETAIL_RECEIVE_NOTIF_VIDEOS":"Отримувати сповіщення про нові відео","SIDEBAR_SHOW_STREAMS":"Показати трансляції","RELAUNCH":"Перезапустіть зараз!","UPGRADE":"Нова версія доступна! Оновіть до останньої версії Stremio","RELOAD_UI":"Перезавантажте інтерфейс користувача","MANUAL_UPDATE_TITLE":"Оновіть версію Stremio","MANUAL_UPDATE_LINE1":"Ви використовуєте застарілу та не рекомендовану версію Stremio.","MANUAL_UPDATE_LINE2":"Будь ласка, оновіть якомога швидше.","BUTTON_UPDATE_LATTER":"Не зараз","BUTTON_UPDATE_NOW":"Оновити","ANONYMOUS_USER":"Анонімний користувач","DONT_HAVE_ACC":"Немає облікового запису?","HAVE_ACC":"Вже маєте обліковий запис?","PASSWORD":"Пароль","PASSWORD_CONFIRM":"Підтвердьте пароль","EMAIL":"Електронна пошта","FB_LOGIN":"Продовжити з Facebook","FB_NOTHINGSHARED":"Нічого не передається без вашого дозволу","FB_NOPOST":"Ми не будемо публікувати від вашого імені","OR":"або","I_ACCEPT":"Я приймаю","I_ACCEPT_BY_CLICKING":"Натискаючи кнопку вище, я підтверджую, що приймаю","TOS":"Правила та умови","MUST_ACCEPT_TERMS":"Вам потрібно прийняти умови","PASSWORDS_NOMATCH":"Паролі не збігаються","SIGN_UP":"Зареєструватися","SIGN_UP_EMAIL":"Зареєструйтеся за допомогою е-пошти","CLICK_TO_SIGN_UP":"Натисніть тут, щоб зареєструватися.","LOG_IN":"Увійти","LOG_OUT":"Вийти","EXIT_FULLSCREEN":"Вийти з повноекранного режиму","ENTER_FULLSCREEN":"Увійдіть в повноекранний режим","PLAY_URL_MAGNET_LINK":"Відтворити URL-адресу/магнітне посилання","HELP_FEEDBACK":"Довідка та відгуки","TERMS_OF_SERVICE":"Умови надання послуг","PRIVACY_POLICY":"Політика конфіденційності","ABOUT_STREMIO":"Про Stremio","USER_PANEL":"Панель користувача","LOGIN_LABEL":"Логін","GUEST_LOGIN":"Гостьовий вхід","GUEST_LOGIN_NOTICE":"Гостьовий вхід не рекомендується. Використання звичайного входу дозволяє Stremio синхронізувати вашу бібліотеку, отримувати сповіщення про улюблені серіали/канали. Справді продовжити?","GUEST_LOGIN_NOTICE_2":"Гостьовий вхід не рекомендується – у вас не буде синхронізованих сповіщень Бібліотеки та Дошки, які є життєво важливими функціями Stremio. Ви впевнені, що хочете продовжити?","CLICK_HERE":"натисніть тут","WRONG_PASSWORD":"Неправильна адреса електронної пошти або пароль. Якщо ви забули свій пароль,","SET_A_PASS":"встановіть пароль","RESET_PASSWORD":"Скинути пароль","FORGOT_PASSWORD":"Забули пароль?","EMAIL_USED_WITH_FB":"Ця електронна адреса була використана для входу у Facebook.","INVALID_EMAIL":"Будь ласка, введіть дійсну адресу електронної пошти","INVALID_PASSWORD":"Введіть дійсний пароль","CONN_ERR":"Помилка підключення. Спробуйте пізніше. \\n\\nЯкщо це не зникне, вимкніть брандмауери/антивірусне програмне забезпечення (особливо Bitdefender).","IMPORT_FROM_GUEST":"Імпортувати бібліотеку з гостьового облікового запису","RECEIVE_UPDATES_EMAIL":"Отримувати оновлення на свою електронну пошту від Stremio","LOGIN_FAILED":"Помилка входу.","SIGNUP_FAILED":"Помилка реєстрації.","SEARCH_FAILED":"Помилка пошуку","EMAIL_USED":"Ця електронна адреса вже використовується.","WAITING_FB_LOGIN":"Вхід через Facebook...","EXTERNAL_PLAYER_TITLE":"Відтворити у зовнішньому програвачі","EXTERNAL_REMEMBER_PLAYER":"Ви хочете запам\'ятати свій вибір","EXTERNAL_ALWAYS_PLAY":"Так","EXTERNAL_ONLY_ONCE":"Ні","BEST_FIT":"Найкраще припсування","FIT_SCREEN":"Припасувати","FILL":"Заповнити","16:9":"16:9","4:3":"4:3","Original":"Оригінальний","INTRO_TASTE":"Розкажіть про те, що вам подобається","INTRO_TASTE_LONG":"Розкажіть про те, що б ви хотіли подивитися","INTRO_TASTE_PICK":"Виберіть {{interestsRemaining}} інтересів","INTRO_TASTE_PICK_MORE":"Виберіть ще {{interestsRemaining}} інтересів","INTRO_TASTE_HELP_US":"Допоможіть нам дізнатися більше про вас.","INTRO_TASTE_CHOOSE_THESE":"Виберіть деякі з цих:","INTRO_TASTE_CHOOSE_MIN":"Виберіть принаймні 3 категорії","INTRO_TASTE_CHOOSE_MIN_ERR":"Потрібно вибрати щонайменше 3 категорії!","INTRO_TASTE_LIFESTYLE":"Спосіб життя","INTRO_TASTE_SPORTS":"Спорт","INTRO_TASTE_FOOD_HEALTH":"Їжа та здоров\'я","INTRO_TASTE_BEAUTY_FASHION":"Краса та мода","INTRO_TASTE_NEWS":"Новини","INTRO_TASTE_GAMING":"Ігри","INTRO_TASTE_SCIENCE_EDU":"Наука та освіта","INTRO_TASTE_MUSIC":"Музика","INTRO_TASTE_TRAVEL":"Подорожі","INTRO_TASTE_LATE_NIGHT":"Вечірнє шоу","INTRO_TASTE_REALITY":"Реаліті-шоу","INTRO_TASTE_COMEDY":"Комедії","INTRO_TASTE_DIY":"Своїми руками","INTRO_TASTE_TECH":"Техно","INTRO_TASTE_CINEMA":"Кінотеатр","ADDON_NOT_SUPPORTED":"Вибране доповнення не підтримується на цій платформі.","ADDON_DISCLAIMER":"Використання сторонніх доповнень завжди підлягає вашій відповідальності та чинному законодавству юрисдикції, у якій ви перебуваєте.","ADDON_ACTIVATE":"Активувати це доповнення?","ADDON_REPO_ADD":"URL колекції доповнення","ADDON_ADD":"Додати","INSTALL_ADDON":"Install addon","ADD_ADDON":"Додати доповнення","ADD_ADDON_DESCRIPTION":"Ви можете додати доповнення за зовнішнім посиланням, яке з’явиться в розділі «Встановлені доповнення».","PASTE_ADDON_URL":"Вставте URL-адресу доповнення","WHATS_NEW":"Що нового","BUTTON_CONTINUE":"Продовжити","BUTTON_ACTIVATE":"Активувати","BUTTON_ACTIVATED":"Активовано","BUTTON_CANCEL":"Скасувати","BUTTON_SUBMIT":"Надіслати","BUTTON_DISMISS_ALL":"Закрити все","BUTTON_VIEW_ALL":"подивитись все","BUTTON_SEE_ALL":"Переглянути все","BUTTON_COLOR_TRANSPARENT":"Прозорий","OPEN_IN_BROWSER":"Відкрити в браузері","LIB_EMPTY":"Ваша бібліотека виглядає порожньою. Дізнайтеся, наскільки це корисно :) ","HOW_START":"Ось як ви можете почати:","LIB_EMPTY_CAL":"Ваш Календар показує серії у вашій бібліотеці.","HOW_START_CAL":"Ось як ви можете додати серію:","LIB_EMPTY_BOARD":"Дошка показує сповіщення і рекомендації щодо вашої бібліотеки.","HOW_START_BOARD_WAIT":"Будь ласка, додайте кілька серіалів або каналів до своєї бібліотеки і дайте нам кілька хвилин на обробку :)","HOW_START_BOARD":"Ось як ви можете додати серіали та фільми сюди:","IMPORT_FB":"Імпортувати вподобані речі з <span>Facebook</span>","IMPORT_TRAKT":"Імпортувати медіатеки з <span>Тракт</span>","IMPORT_DISCOVER":"Знайдіть цікаві речі з <span> Discover </span>","IMPORT_DISK":"Імпотувати фільми або шоу, які є на вашому <span>локальному диску</span>","PLEASE_CREATE_ACC":"Будь ласка, <u>створіть обліковий запис</u>, щоб увімкнути синхронізацію Бібліотеки та Дошку.","IMPORT_DISCOVER_SIGNUP":"Зареєструйтеся та знайдіть цікаві речі з <span>Discover</span>","IMPORT_DISK_SIGNUP":"Зареєструйтеся та імпортуйте фільми або шоу з <span>локального диску</span>","LIB_EMPTY_CLOUD":"Хмарна бібліотека","LIB_EMPTY_CLOUD_DESC":"Персональна хмарна бібліотека синхронізована на всіх пристроях","LIB_EMPTY_EARLY":"Рання пташка","LIB_EMPTY_EARLY_DESC":"Отримувати сповіщення про нові серії","LIB_EMPTY_PERSONAL":"Особистий","LIB_EMPTY_PERSONAL_DESC":"Отримайте особисті рекомендації","LIB_EMPTY_CALENDAR_DESC":"Заплануйте свій особистий календар перегляду","LIB_EMPTY_ALL":"Зареєструйтеся, щоб отримати все це:","LIB_EMPTY_BEST":"Зареєструйтеся, щоб отримати найкраще від Stremio","LIB_EMPTY_OTHER":"Зареєструйтеся, щоб увімкнути Календар та інші цікаві функції","CALENDAR_ADDED":"Календар Stremio додано до вашого настільного календаря за замовчуванням.","CALENDAR_ADDED_MSG":"Якщо це не спрацює, додайте цю URL-адресу до програми календаря вручну","TRAKT_EXPIRED":"Термін автентифікації Trakt закінчився, перейдіть у Налаштування та повторіть автентифікацію","TRAKT_REQUIRES_LOGIN":"Помилка тракту","TRAKT_REQUIRES_LOGIN_MSG":"Вам потрібно увійти","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","SETTINGS_LABEL":"Налаштування","SETTINGS_NAV_GENERAL":"Генеральний","SETTINGS_NAV_PLAYER":"Гравець","SETTINGS_NAV_STREAMING":"Потокове","SETTINGS_NAV_SHORTCUTS":"Ярлики","SETTINGS_SHORTCUT_RELOAD_APP":"Перезавантажте додаток","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Відкрити Налаштування","SETTINGS_SHORTCUT_SWITCH_TABS":"Перемикнути вкладок","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Перехід через вкладки вперед","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Перехід через вкладки назад","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Навігація між меню","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Перейти до Пошуку","SETTINGS_SHORTCUT_EXIT_BACK":"Вийти / Повернутися","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Перемикання меню швидкості відтворення","SETTINGS_SHORTCUT_MENU_VIDEOS":"Перемкнути меню «Відео».","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Перемкнути меню субтитрів","SETTINGS_SHORTCUT_MENU_INFO":"Перемкнути інформаційне меню","SETTINGS_SHORTCUT_FULLSCREEN":"Увімкнути на повний екран","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Показати керування","SETTINGS_SHORTCUT_PLAY_PAUSE":"Грати / Пауза","SETTINGS_SHORTCUT_VOLUME_UP":"Гучніше","SETTINGS_SHORTCUT_VOLUME_DOWN":"Тихіше","SETTINGS_SHORTCUT_SEEK_NEXT":"Шукати вперед","SETTINGS_SHORTCUT_SEEK_PREV":"Шукати Назад","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Перейти назад","SETTINGS_SHORTCUT_SEEK_FORWARD":"Перейти вперед","SETTINGS_SHORTCUT_PLAY_NEXT":"Грати далі","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Збільшити розмір субтитрів","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Зменшити розмір субтитрів","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Збільшити затримку субтитрів","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Зменшити затримку субтитрів","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Показати бічну панель","SETTINGS_SHORTCUT_OR":"або","SETTINGS_SHORTCUT_TO":"до","SETTINGS_SHORTCUT_SPACE":"Пробіл","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Автентифікувати","SETTINGS_FACEBOOK_IMPORT":"Імпорт","SETTINGS_CALENDAR_SUBSCRIBE":"Підпишіться","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Мова інтерфейсу","SETTINGS_LAUNCH_STARTUP":"Запуск при запуску","SETTINGS_VLC_DEFAULT":"Грайте з VLC","SETTINGS_UI_LANGUAGE":"Мова інтерфейсу користувача","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Клавіша Escape Вихід на весь екран","SETTINGS_GAMEPAD":"Увімкнути підтримку геймпада","SETTINGS_CLOSE_WINDOW":"Закрийте програму, коли вікно закрито","SETTINGS_SUBTITLES_LANGUAGE":"Мова субтитрів за замовчуванням","SETTINGS_SUBTITLES_SIZE":"Розмір субтитрів за замовчуванням","SETTINGS_SUBTITLES_BACKGROUND":"Фон субтитрів","SETTINGS_SUBTITLES_COLOR":"Колір субтитрів","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Колір контуру субтитрів","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Колір фону субтитрів","SETTINGS_SEEK_KEY":"Клавіші зі стрілками шукають час","SETTINGS_SEEK_KEY_SHIFT":"Клавіші зі стрілками шукають час, коли утримується клавіша Shift","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Тривалість перемотування назад і вперед","SETTINGS_BINGE":"Автоматичне відтворення наступної серії","SETTINGS_NEXT_VIDEO":"Показати сповіщення, щоб почати наступну серію","SETTINGS_NEXT_VIDEO_TRIGGER":"Показати сповіщення про наступну серію для:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Тривалість наступного спливного відео","SETTINGS_PLAY_IN_BACKGROUND":"Грати у фоновому режимі","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Перегляд у зовнішньому програвачі","SETTINGS_RESIZE":"Автоматичне змінення розміру вікна перед відтворенням","SETTINGS_OVERRIDE_SERVER":"Замінити URL-адресу потокового сервера (просунуте)","SETTINGS_SERVER_URL":"URL-адреса потокового сервера:","SETTINGS_SERVER_AVAILABLE":"Потоковий сервер доступний.","SETTINGS_SERVER_UNAVAILABLE":"Потоковий сервер недоступний.","SETTINGS_SERVER_STATUS_ONLINE":"В мережі","SETTINGS_SERVER_STATUS_ERROR":"Помилка","SETTINGS_SERVER_CONFIGURE_TITLE":"Налаштувати URL-адресу потокового сервера","SETTINGS_SERVER_CONFIGURE_INPUT":"Введіть URL-адресу потокового сервера","SETTINGS_SERVER_CACHE_SIZE":"Розмір кешу","SETTINGS_SERVER_TORRENT_PROFILE":"Торент профіль","SETTINGS_HTTPS_ENDPOINT":"HTTPS адреса потоку:","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Завжди використовуйте останню бета-версію","SETTINGS_IMPORT_FB":"Імпортувати із Facebook","SETTINGS_IMPORT_DISK":"Імпортувати з локального диска","SETTINGS_IMPORT_TRAKT":"Імпортувати із Trakt","SETTINGS_PAUSE_MINIMIZED":"Призупинити відтворення, коли згорнуто","SETTINGS_HWDEC":"Декодування з апаратним прискоренням","SETTINGS_BACKGROUND":"Фонове відтворення","SETTINGS_SUBSCRIBE_CALENDAR":"Підписатися на календар","SETTINGS_REQ_EXPORT":"Запит на експорт даних","SETTINGS_ACC_DELETE":"Запит на видалення облікового запису","SETTINGS_CHANGE_PASSWORD":"Змінити пароль","SETTINGS_TOS":"Умови використання","SETTINGS_SUPPORT":"Зв\'яжіться зі службою підтримки","SETTING_LANGUAGE":"Мова","SETTINGS_TRAKT":"Скроблінг Trakt","SETTINGS_TRAKT_LOGOUT":"Вийти із Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Вийти із Trakt","SETTINGS_SCAN_FOR_REMOTE":"Відскануйте QR-код, щоб відкрити пульт","SETTINGS_DESKTOP_NOTIFICATIONS":"Сповіщення на робочому столі","SETTINGS_DATA_SAVER":"Заощадження даних","SETTINGS_LANGUAGE_INTERFACE":"інтерфейс","SETTINGS_LANGUAGE_SUBS":"субтитри за замовчуванням","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Автоматичний вибір звукової доріжки","SETTINGS_DEFAULT_AUDIO_TRACK":"Аудіодоріжка за замовчуванням","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"обліковий запис","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"версія","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"Запуск програвача в окремому вікні (просунуте)","SETTINGS_PLAY_IN_EXTERNAL":"Завжди запускати відео у зовнішньому програвачі","SETTINGS_STORAGE_BUTTON":"Очистити локальне сховище","SETTINGS_STORAGE_MODAL_TITLE":"Ви впевнені?","SETTINGS_STORAGE_MODAL_MESSAGE":"Це очистить локальне сховище та виведе вас із системи.","SETTINGS_HWDEC_PICKER":"Виберіть налаштування декодування з апаратним прискоренням","SETTINGS_HW_AUTOMATIC":"Автоматичне","SETTINGS_HW_DISABLED":"Вимкнено","SETTINGS_HW_ACCELERATED":"Прискорення декодування","SETTINGS_HW_FULL":"Повне прискорення","SETTINGS_HW_LEGACY":"Спадщина","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Субтитри","SETTINGS_SECTION_AUDIO":"Аудіо","SETTINGS_SECTION_CONTROLS":"Елементи керування","SETTINGS_SECTION_AUTO_PLAY":"Автоматичне відтворення","SETTINGS_SECTION_ADVANCED":"Просунутий","SUBSPICKER_AUDIO":"Аудіо","SUBSPICKER_SUBTITLES":"Субтитри додатків","SUBSPICKER_BLACK_BACKGROUND":"Використовуйте чорний колір тла","SUBSPICKER_VERTICAL_OFFSET":"Вертикальне зміщення","SUBSPICKER_SIZE":"Розмір","SUBSPICKER_DELAY":"Затримка","SUBSPICKER_EMBEDDED_SUBS":"Вбудовані субтитри","MOBILE_PRIVACY_POLICY":"Політика конфіденційності","MOBILE_CRASH_REPORTING":"Звіт про збої","MOBILE_ZOOM_TO_FILL":"Збільшити на весь екран","MOBILE_PASSTHROUGH":"Цифровий аудіовихід (прохідний)","MOBILE_RUN_LOW_BATTERY":"Працювати від низького заряду батареї","MOBILE_RUN_FOREGROUND":"Запускати як передову службу","MOBILE_PERFORMANCE":"ЕФЕКТИВНІСТЬ ТА СТАБІЛЬНІСТЬ","MOBILE_SERVER_ONLINE":"Онлайн","MOBILE_SERVER_OFFLINE":"Офлайн","MOBILE_QR_EXPIRES":"QR-код діє через","MOBILE_LOG_INTO":"Увійдіть у свій обліковий запис Stremio","MOBILE_SCAN_QR":"Відскануйте QR-код вище або перейдіть до","MOBILE_LINK_ACCOUNT":"Пов’язати обліковий запис","MOBILE_SPEEDPICKER_CANCEL":"Скасувати","MOBILE_SPEEDPICKER_LABEL":"Виберіть швидкість відтворення","MOBILE_EMPTY_LIBRARY":"Ваша бібліотека порожня","MOBILE_NO_ADDON_ACTIVE":"Немає активного доповненняа Stremio для цього типу.","MOBILE_ORGANIZER_WARNING":"Програма Stremio Organizer надає обмежену функціональність. Щоб отримати список доступних для відтворення потоків і повний досвід Stremio, використовуйте Stremio на комп’ютері.","MOBILE_ADDON_LOADING":"ще завантажується","MOBILE_ADDONS_LOADING":"доповнення досі завантажуються","MOBILE_ADDON":"Доповнення","MOBILE_CONFIGURE_ADDON":"Налаштуйте своє доповнення","MOBILE_CONFIGURE_ADDON_LABEL":"Налаштувати доповнення","MOBILE_ORGANIZER_ADDONS_WARNING":"Додаток Stremio Organizer надає обмежений вибір доповнень. Для повного використання програми використовуйте Stremio на ПК.","MOBILE_DISCONNECT":"Відключити","MOBILE_LOOKING_FOR_DEVICES":"Пошук пристроїв...","MOBILE_CAST_TO":"Транслювати на","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Видалити акаунт","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Видалення облікового запису не відбувається миттєво через юридичні зобов’язання. Після запиту на видалення вашого облікового запису вам доведеться використовувати іншу адресу електронної пошти/профіль Facebook, щоб у майбутньому створити новий обліковий запис Stremio.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Підтвердити видалення облікового запису","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Ваш обліковий запис створено за допомогою Facebook. Щоб видалити свій обліковий запис, скористайтеся нашим порталом користувачів за адресою www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Будь ласка, введіть свій пароль, щоб підтвердити видалення облікового запису.","MOBILE_DELETE_ACCOUNT_BUTTON":"Видалити акаунт","NAVIGATION_ON":"Увімкнено","NAVIGATION_OFF":"Вимкнено","MARKETING_AGREE":"Я погоджуюся отримувати маркетингові повідомлення від Stremio","QUIT":"Вийти","CONNECTED":"Підключено","AUTHENTICATE":"Аутентифікація","CACHING":"Кешування","SETTINGS_CACHING_DRIVE":"Кешуючий диск","ENABLE_LOCAL_FILES_ADDON":"Увімкнути доповнення локальних файлів (потрібно перезавантажити)","LOCAL_ADDON_NOT_ENABLED":"Локальне доповнення не ввімкнено. Натисніть тут, щоб перейти до налаштувань і ввімкнути його","ENABLE_REMOTE_HTTPS_CONN":"Увімкнути віддалені з’єднання HTTPS","TORRENT_PROFILE":"Торрент профіль","DATA_CACHING":"Кешування даних","MAGNET_PARSING":"Розбір магнітного посилання","January":"Січень","February":"Лютий","March":"Березень","April":"Квітень","May":"Травень","June":"Червень","July":"Липень","August":"Серпень","September":"Вересень","October":"Жовтень","November":"Листопад","December":"Грудень","Monday":"Понеділок","Tuesday":"Вівторок","Wednesday":"Середа","Thursday":"Четвер","Friday":"П’ятниця","Saturday":"Субота","Sunday":"Неділя","Action":"Бойовик","Comedy":"Комедія","War":"Про війну","Family":"Сімейні","Animation":"Анімовані","Adventure":"Пригоди","Fantasy":"Фантастика","Crime":"Кримінальні","Mystery":"Таємничі","Romance":"Романтика","Drama":"Драма","Horror":"Жах","Thriller":"Трилер","Sci-Fi":"Наукова фантастика","Music":"Музика","Biography":"Біографія","Documentary":"Документальний фільм","Sport":"Спорт","Musical":"Мюзикл","Western":"Вестерн","Film-Noir":"Фільм-Нуар","News":"Новини","History":"Історичний","Game-Show":"Теле вікторина","Reality-TV":"Реаліті-ТБ","Talk-Show":"Ток-шоу","Film & Entertainment":"Фільми та розваги","Gaming":"Ігри","From TV":"З телевізора","Lifestyle":"Спосіб життя","Science & Education":"Наука та освіта","Cooking & Health":"Кулінарія та здоров\'я","Beauty & Fashion":"Краса та мода","Sports":"Спорт","News & Politics":"Новини та політика","How-to & DIY":"Своїми руками","Tech":"Техно","Automotive":"Автомобільний","Causes & Non-Profits":"Причини та неприбуткові організації","Movies":"Фільми","Uk Live Tv":"Телебачення Великобританії наживо","Fashion":"Мода","Business News Radio":"Радіо новин бізнесу","Business Tv":"Бізнес ТБ","Cars & Auto":"Автомобілі та авто","Comedy Radio":"Комедійне радіо","Lifestyle Radio":"Радіо Lifestyle","News Tv":"ТБ Новини","Food And Wine":"Їжа та вино","Latino Tv":"Латиноамериканське ТБ","Shopping Tv":"Шопінг","Religion":"Релігія","Kids":"Дитяче","Body & Soul":"Тіло і душа","Education":"Освіта","Indian Tv":"Індійське ТБ","Extreme Sports":"Екстримальні види спорту","Middle Eastern Tv":"Близькосхідне ТБ","Celebrity Tv":"ТБ про знаменитостей","Science Tv":"Наукове ТБ","Bikini babe":"Бікіні красуня","Outdoors":"На відкритому повітрі","German Tv":"Німецьке ТБ","French Tv":"Французьке ТБ","Italian Tv":"Італійське ТБ","Gamer Tv":"Геймерське ТБ","Travel":"Подорожі","Asian Tv":"Азіатське ТБ","Entertainment":"Розваги","News Radio":"Радіо новини","Music Radio":"Музичне радіо","Language Learning":"Вивчення мови","Science Radio":"Наукове радіо","Tech Radio":"Техно радіо","Science & Technology Vod":"Наука та технології VOD","new video":"нове відео","new episode":"нова серія","new movie":"новий фільм","recommended":"рекомендовано","we recommend":"ми рекомендуємо","offer of the day":"пропозиція дня","news":"новини","music video":"музичне відео","CTX_SHOW_HOTKEYS":"Показати гарячі клавіші","CTX_DISMISS_NOTIF":"Закрити сповіщення","CTX_DISMISS_ALL":"Закрити все","CTX_SHARE":"Поділитися","CTX_COPY_SHARE_LINK":"Скопюівати посилання на доступ","CTX_COPY_MAGNET_LINK":"Скопюівати магнітне посилання","CTX_COPY_STREAM_LINK":"Копіювати посилання на трансляцію","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Завантажити це відео","CTX_DOWNLOAD_SUBS":"Завантажити субтитри","CTX_VIEW_ON_YOUTUBE":"Переглянути на YouTube","CTX_SHOW":"Показати","CTX_PLAY":"Грати","CTX_PLAY_IN":"Грати в","CTX_PLAY_ON":"Грати на","CTX_WATCH_ON":"Дивитися на","CTX_WATCH":"Дивитися","CTX_WATCHED":"Переглянуті","CTX_WATCH_BEGINNING":"Дивитися з початку","CTX_WATCH_MOBILE":"Дивитися на мобільному пристрої","CTX_REWIND":"Перемотати назад на початок","CTX_MARK_WATCHED":"Позначити як переглянуте","CTX_MARK_NON_WATCHED":"Позначити як непереглянуте","CTX_MARK_UNWATCHED":"Позначити як непереглянуте","CTX_MARK_REST":"Позначити решту як переглянуті","CTX_UNMARK_REST":"Позначити решту як непереглянуті","CTX_RECEIVE_NEW_NOTIF":"Отримувати нові сповіщення","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"Видалити з кешу","CTX_REMOVE_CACHE_EP":"Видалити серію з кешу","CTX_OPEN_CONTAINING":"Відкрити папку, в якій знаходиться","CTX_REMOVE":"Видалити з бібліотеки","CTX_AVAILABLE_OFFLINE":"Доступно офлайн","CTX_PAUSED":"Призупинено","CTX_ALWAYS_ON_TOP":"Завжди зверху","CTX_FULLSCREEN":"Повноекранний","CTX_WRONG_SUBS":"Неправильні субтитри?","CTX_REPORT_ISSUES":"Повідомити про проблему","CTX_COPY":"Копіювати","CTX_PASTE":"Вставити","CTX_CLEAR":"Очистити","CTX_CLEAR_RECENT_SEARCHES":"Очистити останні пошукові запити","HELLO_THERE":"Привіт","HOPE_YOU_ENJOY":"Сподіваємося, що вам сподобається Stremio і це вже одна з ваших улюблених програм!","WHO_ARE_WE":"Хто ми? Ми — команда, яка стоїть за цим. Двоє хлопців, які наполегливо працюють щодня протягом останніх 3 років, щоб зробити цей продукт кращим.","SUPPORT_US":"Якщо вам подобається користуватися Stremio, якщо Stremio для вас цінний – розкажіть про нього!","SPREAD_THE_WORD":"Поділіться з друзями зараз, розкажіть про Stremio","MORE_PEOPLE":"Чим більше людей використовує Stremio, тим буде краще всім!","SEND_A_LINK":"Або надішліть посилання на наш сайт","TIP_LOCALFILES":"Порада: ви можете перетягувати локальні відеофайли в Stremio","ADDON_MY":"Мої доповнення","ADDON_COMMUNITY":"Доповнення спільноти","ADDON_OFFICIAL":"Офіційні доповнення","ADDON_REPOS":"Колекції доповнень","ADDON_SEARCH":"Пошук доповнень","ADDON_INSTALL":"Встановити","ADDON_CONFIGURE":"Налаштувати","ADDON_UNINSTALL":"Видалити","ADDON_UPGRADE":"Оновити","ADDON_INSTALLED":"Встановлено","ADDON_INSTALLED_MSG":"Доповнення встановлено!","ADDON_UPGRADED_MSG":"Доповнення оновлено!","ADDON_UNKNOWN":"Невідоме","ADDON_ERR":"Помилка встановлення доповнення!","ADDON_DISCONNECTED":"Відключено","ADDON_APP_MISSING":"доповнення для цього джерела не встановлено. Ви хочете встановити його зараз?","ADDON_APP_INSTALL":"Встановити зараз","ADDON_PAGE":"Сторінка доповнення","ADDON_TOP_CONTENT":"Найкраще з цього доповнення","ADDON_PROVIDES":"Це доповнення надасть вам:","ADDON_WATCH":"Дивитися #{types} зараз!","ADDON_WATCH_FREE":"Дивіться #{types} БЕЗКОШТОВНО зараз!","ADDON_ADDON":"Доповнення","ADDON_SUPPORTED_TYPES":"Підтримувані типи","ADDON_SUPPORTED_CATALOGS":"Підтримувані каталоги","ADDON_PROVIDES_DISCOVER":"Більше #{types} у Discover","ADDON_PROVIDES_STREAMS":"Переглянути #{types}","ADDON_PROVIDES_STREAMS_FREE":"Дивіться #{types} БЕЗКОШТОВНО","ADDON_PROVIDES_SUBTITLES":"Субтитри для #{types}","ADDON_CANTDETECT":"Нам не вдалося виявити запущений Stremio, тому ми не змогли визначити які доповнення ви встановили.","ERR_NO_META":"Інформації про це не знайдено","ERR_GETTING_META":"Помилка отримання інформації про це.","ERR_CANT_PARSE_MAGNET":"Не вдається розібрати магніт","ERR_NO_MAGNET_INFOHASH":"Немає дійсного хешу інформації для примагнічування","ERR_NO_FILE_PATH":"Неможливо надіслати запит без шляху до файлу","ERR_NO_TORRENT":"Торрент не знайдено","ERR_NO_SUPPORTERD_FILES":"Не знайдено підтримуваних файлів","ERR_OPENING_FILES":"Не вдалося відкрити зовнішні файли","ERR_INVALID_LINK":"Недійсне посилання","ERR_REGISTERED_ONLY":"Ця опція доступна лише для зареєстрованих користувачів.","ERR_CLIPBOARD":"Неможливо відтворити з буфера обміну","ERR_CLIPBOARD_READ":"Неможливо прочитати буфер обміну на цій платформі","ERR_CLIPBOARD_GENERIC":"У буфері обміну не знайдено URL-адреси для відтворення. Будь ласка, скопіюйте URL-адресу (наприклад, магнітне посилання) до відео.","BOARD_CONTINUE_WATCHING":"Продовжити перегляд","BOARD_EXPLANATION_RECOMMENDATIONS":"Фільми, підібрані спеціально для вас.<br />Цей фільм є зразком рекомендації.","BOARD_EXPLANATION_EPISODES":"Нові серії вашого улюбленого серіалу з’являються тут.<br />Додайте до своєї Бібліотеки серії, за якими стежите.","BOARD_EXPLANATION_VIDEOS":"Сюди надходять нові серії ваших улюблених Каналів.<br />Додайте до своєї Бібліотеки канали YouTube, за якими стежите.","WEBSITE_ENJOYED_BY":"Ним користуються понад 30 мільйонів користувачів по всьому світу","WEBSITE_STREAMING_ENHANCED":"Покращений потоковий зв\'язок","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio пропонує безпечний, сучасний та безперебійний розважальний досвід. Завдяки простому у використанні інтерфейсу та різноманітній бібліотеці контенту, включаючи підтримку 4K HDR, користувачі можуть насолоджуватися улюбленими фільмами та телешоу на всіх своїх пристроях. А завдяки своїй прихильності до безпеки, Stremio є найкращим вибором для безтурботного перегляду високоякісного потокового контенту.","WEBSITE_AVAILABLE_ON":"Доступно на","WEBSITE_WATCH_AND_ENJOY":"Дивіться і насолоджуйтеся.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio робить це простіше простого","WEBSITE_ALL_FEATURES":"Всі функції","WEBSITE_EASY_TO_USE":"Простий у використанні","WEBSITE_EASY_TO_USE_DETAILS":"Stremio розроблений таким чином, щоб бути зручним і простим у використанні. Завдяки чистому та інтуїтивно зрозумілому інтерфейсу ви можете легко орієнтуватися та знаходити контент, який хочете переглянути.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Безшовна робота на різних пристроях","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Доступний для широкого спектру платформ (включаючи Windows, Mac, Linux, Android та інші), Stremio відстежуватиме ваш прогрес на всіх ваших пристроях. Просто увійдіть в систему і продовжуйте спостерігати без необхідності налаштовувати додаток на кожному новому пристрої.","WEBSITE_ALL_DOWNLOADS":"Всі завантаження","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"Підтримка відео високої чіткості","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"Вбудований відеоплеєр, що підтримує більшість відеоформатів, включно з 4K HDR, дозволить вам насолоджуватися найвищою доступною якістю.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Бібліотека різноманітного контенту","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio інтегрується з великою кількістю популярних джерел відео, таких як Netflix, Amazon Prime Video, Hulu, YouTube та багато інших.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Створіть безкоштовний обліковий запис","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Індивідуальний досвід перегляду","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio дозволяє вам налаштовувати зовнішній вигляд інтерфейсу, змінюючи тему, додаючи або видаляючи аддони тощо.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Підтримка багатомовних субтитрів","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"Тепер ви можете насолоджуватися улюбленим контентом улюбленою мовою, оскільки Stremio підтримує субтитри всіма мовами.","WEBSITE_TRY_STREMIO_TITLE_P1":"Спробуйте Стреміо","WEBSITE_TRY_STREMIO_TITLE_P2":"Зараз у вашому телевізорі","WEBSITE_YOU_CAN_NOW_WATCH":"Тепер ви можете дивитися всі улюблені телепередачі на своїх пристроях Android TV. Додаток Stremio TV дозволить вам з легкістю насолодитися вечором кіно.","WEBSITE_YOU_CAN_NOW_WATCH_2":"Тепер ви можете дивитися всі улюблені телепередачі на своєму Smart TV або Android TV. Додатки Stremio TV дозволять вам з легкістю насолодитися вечором кіно.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio для Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Напевно, найкращий і найкорисніший додаток, який можна мати на своєму пристрої. Це одна з програм, яку я використовую щодня, особливо на своєму Android TV вже багато років. Добре зроблений з сильною спільнотою, що надає корисні функції. Молодці. Продовжуйте в тому ж дусі.","WEBSITE_REVIEWS":"відгуки","WEBSITE_GET_STREMIO_FOR_FREE":"Отримайте Stremio безкоштовно","WEBSITE_GET_STREMIO_NOW":"Отримайте Stremio зараз","WEBSITE_STREMIO_FEATURES":"Особливості Stremio","WEBSITE_STREMIO_FEATURES_DETAILS":"Стріміть як професіонал з розширеними функціями Stremio і насолоджуйтеся безперешкодним доступом до всіх улюблених медіа","WEBSITE_DISCOVER_MORE":"Дізнайтеся більше.","WEBSITE_DISCOVER_MORE_DETAILS":"Ніколи не вичерпується те, що можна подивитись","WEBSITE_COMMUNITY_DRIVEN":"Управляється громадою","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio має велику та активну спільноту користувачів, які роблять свій внесок у розвиток програмного забезпечення, створюючи та обмінюючись аддонами.","WEBSITE_GET_INVOLVED":"Долучайтеся.","WEBSITE_NEW_THEATER_EXPERIENCE":"Новий театральний досвід","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Новий спеціальний додаток Stremio для телевізора дозволить вам насолоджуватися переглядом фільмів на ваших пристроях Android TV.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Нові спеціальні телевізійні програми Stremio дозволять вам насолоджуватися переглядом фільмів на пристроях Smart TV або Android TV.","WEBSITE_FREE_AND_SECURE":"Вільно та безпечно","WEBSITE_STREAMING":"Потокове","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio пропонує неперевершену безпеку та конфіденційність для користувачів. Завдяки унікальній функції віддаленого запуску аддонів, Stremio забезпечує більш безпечний спосіб трансляції вашого улюбленого контенту порівняно з іншими платформами. Ваша безпека і конфіденційність є головними пріоритетами, і платформа гарантує, що всі ваші дані будуть захищені.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Попрощайтеся з турботами про безпеку та конфіденційність і привітайтеся зі світом нескінченних розваг зі Stremio","WEBSITE_INFORMATION_PROVIDED_BY":"Інформація надана","WEBSITE_CONTRIBUTE":"Допомогти","WEBSITE_CONTRIBUTE_DESC":"до проекту та допоможіть нам зробити Stremio ще кращим","WEBSITE_COMMUNITY_DESC":"Ми віримо, що найкращий спосіб створити дійсно дивовижний потоковий досвід - це залучити до процесу нашу спільноту. Незалежно від того, чи ви програміст, художник або просто фанат - ви можете допомогти Stremio розвиватися.","WEBSITE_COMMUNITY_DESC_2":"Тож приєднуйтесь до нас сьогодні, станьте частиною спільноти Stremio і продовжуйте формувати майбутнє стрімінгу.","WEBSITE_WAYS_TO_GET_INVOLVED":"Як долучитися до участі","WEBSITE_IN_THE_STREMIO_COMMUNITY":"у спільноті Stremio","WEBSITE_SHARE_YOUR_THOUGHTS":"Поділіться своїми думками","WEBSITE_REPORT_BUGS":"Повідомляти про помилки","WEBSITE_SUGGEST_FEATURES":"запропонувати функції","WEBSITE_AND_PROVIDE_FEEDBACK":"та залишайте відгуки на наших каналах у соціальних мережах.","WEBSITE_BETA_TESTING_PROGRAM":"Програма бета-тестування","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Візьміть участь у нашій програмі бета-тестування (ми регулярно розсилаємо запрошення) у спільноті Stremio.","WEBSITE_JOIN_NOW":"Приєднуйтесь зараз!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Офіційні спільноти Stremio","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Неофіційні спільноти Стреміо","WEBSITE_BECOME":"Стань","WEBSITE_A_VOLUNTEER_TRANSLATOR":"перекладач-волонтер","WEBSITE_ARE_YOU_A_DEVELOPER":"Ви розробник?","WEBSITE_CONTRIBUTE_CODE":"Ви можете внести свій код до наших проектів з відкритим вихідним кодом. У нас є кілька проектів на GitHub, які шукають дописувачів. Якщо ви зацікавлені в допомозі, перевірте їх:","WEBSITE_STREMIO_ON_GITHUB":"Stremio на GitHub","WEBSITE_CREATE_ADDON_DESC":"Створіть аддон для розширення функціональності Stremio (у нас є простий у використанні API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"Ми також надаємо можливість приєднатися до нас в якості стажера-розробника, щоб ми могли розвиватися разом.","WEBSITE_APPLY_AS_AN_INTERN":"Подати заявку на стажування","WEBSITE_CALLING_ALL_ARTISTS":"До всіх художників!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Продемонструйте свою творчість і любов до Stremio, завантаживши фан-арт в нашу онлайн-галерею. Незалежно від того, чи це малюнок, картина або цифровий дизайн, ми хочемо побачити ваш унікальний погляд на бренд Stremio. Приєднуйтесь до нашої спільноти ентузіастів мистецтва та діліться своїми роботами з іншими шанувальниками Stremio по всьому світу.","WEBSITE_STREMIO_FANART_GALLERY":"Галерея Stremio Fanart","WEBSITE_INTERN_DESIGNER":"Станьте частиною нашої команди та підніміть свій творчий потенціал на нові висоти завдяки нашим захоплюючим можливостям стажування.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Проєкт Фільми у суспільному надбанні","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"У Stremio ми прагнемо зберегти історію кіно і телебачення, виявляючи відео, що є суспільним надбанням, та осиротілі відеоматеріали. Працюючи разом з нашою спільнотою, ми можемо гарантувати, що ці класичні твори мистецтва будуть доступні кожному і збережені для майбутніх поколінь.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Не соромтеся звертатися до нас, якщо ви хочете долучитися до цього проекту.","WEBSITE_JOIN_THE_PROJECT":"Приєднуйтесь до проекту","WEBSITE_BE_PART_OF_OUR_MISSION":"Станьте частиною нашої місії","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Бажаєте приєднатися до команди Stremio? Ми пропонуємо повністю віддалену роботу для захоплених професіоналів. Ознайомтеся з нашими відкритими вакансіями.","WEBSITE_OPEN_POSITIONS":"ВІДКРИТІ ПОЗИЦІЇ","WEBSITE_DESCRIPTION":"ОПИС","WEBSITE_LEARN_MORE":"Дізнайтеся більше","WEBSITE_COMPANY":"Компанія","WEBSITE_CONTACTS":"Контакти","WEBSITE_NEED_HELP":"Потрібна допомога?","WEBSITE_STREMIO_WEB_ON_IOS":"Посібник для Stremio Web на iOS","WEBSITE_LINK_ART_V2":"Галерея Fanart","WEBSITE_PARTNERS":"Партнери","WEBSITE_SLOGAN_WATCH":"Дивіться миттєво","WEBSITE_SLOGAN_ALL":"Весь відеовміст, який вам подобається в одному місці","WEBSITE_SLOGAN_NEW":"Все, що ви можете дивитися","WEBSITE_SLOGAN_NEW_NEW":"Свобода Перегляду","WEBSITE_WATCH_FROM":"Дивитися з","WEBSITE_DOWNLOAD":"Завантажити зараз","WEBSITE_DOWNLOAD_FOR":"Завантажити зараз для","WEBSITE_IS_DESKTOP":"Stremio — це настільна програма, відкрийте цю сторінку на своєму ПК та завантажте її","WEBSITE_DESKTOP_DEMO_VID":"Демонстрація робочого столу","WEBSITE_PAGE_HOME":"Додому","WEBSITE_PAGE_FEATURES":"Особливості","WEBSITE_PAGE_ADDONS":"Доповнення","WEBSITE_PAGE_TECH":"Технології","WEBSITE_PAGE_CREATE_ADDON":"Створити доповнення","WEBSITE_PAGE_CONTACTS":"Контакти","WEBSITE_PAGE_BLOG":"Блог","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Фільми","WEBSITE_TYPE_series_PL":"Серіали","WEBSITE_TYPE_tv":"ТБ наживо","WEBSITE_TYPE_channel":"Канали","WEBSITE_STREMIO_WHAT_IS":"Stremio — це програма, яка допоможе вам упорядкувати та миттєво дивитися улюблені відео, фільми, серіали та телеканали.","WEBSITE_FEATURES_WATCH":"Дивіться миттєво в HD","WEBSITE_FEATURES_WATCH_DETAIL":"Натисніть і відтворіть улюблені фільми, телешоу, відео та телеканали.","WEBSITE_FEATURES_SUBS":"Автоматичні субтитри","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio автоматично вибирає синхронізовані субтитри для вашої мови.","WEBSITE_FEATURES_SUBS_LABEL":"Ваш хід, шефе.","WEBSITE_FEATURES_CAST":"Грайте на телевізорі та мобільних пристроях","WEBSITE_FEATURES_CAST_DETAIL":"Транслюйте на AppleTV, Chromecast, Smart TV (DLNA/UPnP) і мобільні пристрої.","WEBSITE_LIB":"Насолоджуйтесь синхронізацією особистої бібліотеки на всіх ваших пристроях","WEBSITE_LIB_COLLECT":"Зберіть зі Stremio","WEBSITE_LIB_IMPORT":"Імпорт із Facebook","WEBSITE_LIB_LOCAL":"Додайте з локального диска","WEBSITE_BOARD":"Дошка - ваше єдине місце для сповіщень та рекомендацій","WEBSITE_BOARD_RECOMMEND":"Рекомендоване телешоу","WEBSITE_BOARD_TRENDING":"Популярний фільм","WEBSITE_BOARD_NEW":"Нове відео","WEBSITE_BOARD_EPISODE":"Нова серія","WEBSITE_BOARD_1":"Шукаєте щось цікаве для перегляду? Отримайте рекомендації на свій смак!","WEBSITE_BOARD_2":"Отримуйте сповіщення, коли виходить нова серія вашого улюбленого телешоу чи каналу YouTube!","WEBSITE_BOARD_YOUTUBE":"Нові відео YouTube каналів","WEBSITE_BOARD_EPISODES":"Нові серії серіалів, за якими ви стежите","WEBSITE_ADDONS":"Доповнення вмісту","WEBSITE_TECH_DETAIL":"Ми любимо технології, ми любимо божевільну науку!\\nStremio використовує такі технології з відкритим кодом:","WEBSITE_TECH_WCJS":"WebChimera.js дозволяє Stremio відтворювати будь-який формат відео з хорошою продуктивністю.","WEBSITE_TECH_WCJS_EXTRA":"Ми є основними учасниками проекту","WEBSITE_TECH_ELECTRON":"Electron надає інноваційну платформу для створення Stremio.","WEBSITE_TECH_ELECTRON_EXTRA":"Ми є учасниками проекту","WEBSITE_TECH_LINVODB":"Технологія баз даних, яка забезпечує організацію та доступність ваших даних у будь-якому місці, де ви входите.","WEBSITE_TECH_LINVODB_EXTRA":"Вбудовані технології","WEBSITE_CREATE_ADDON":"Створіть власне доповнення","WEBSITE_CREATE_ADDON_DETAIL":"У вас є послуга з надання відеоконтенту? Ми допоможемо вам скористатися можливостями Stremio, створивши власне доповнення","WEBSITE_CREATE_ADDON_BENEFITS":"Переваги створення доповнення для Stremio","WEBSITE_P2P_BEAUTY":"Краса P2P передавання","WEBSITE_P2P_1":"Надійне та доступне відео у форматі Full HD / 4K на замовлення або в прямому ефірі","WEBSITE_P2P_2":"Платформа розповсюдження забезпечує чудовий досвід користувача","WEBSITE_P2P_3":"Ми створимо доповнення, який точно відповідає вашим потребам","WEBSITE_P2P_CONTACT":"Цікаво? Ви можете <a href=\'mailto:office@stremio.com\'> зв’язатися з нами </a> .","WEBSITE_P2P_CONTACT_EXTRA":"Ми будемо раді допомогти вам інтегрувати ваш контент зі Stremio!","WEBSITE_P2P":"Час від часу з’являється технологія, яка змінює назву гри. Ми доклали масу часу та зусиль у створення нашого механізму потокового потокового відео (P2P), який забезпечує чудову продуктивність та універсальність для адаптації до будь-якого випадку використання.\\n Зв’яжіться з нами, щоб отримати відео P2P з підтримкою DRM на вимогу або пряму трансляцію.","WEBSITE_THOUGHTS":"Думками, якими ми ділимося:","WEBSITE_SPREAD":"Розкажіть про Stremio:","WEBSITE_CONTACT":"Зв\'яжіться з нами, ми будемо раді почути від вас!","WEBSITE_OPENSOURCE":"Щоб переглянути наші проекти з відкритим кодом, перейдіть до нашого","WEBSITE_BITCOIN":"Пожертвуйте біткойн:","WEBSITE_FAQ":"Часті запитання","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Запитання","WEBSITE_TOS":"Умови користування","WEBSITE_LEGAL":"Юридичний","WEBSITE_PAGE_ABOUT":"Про","WEBSITE_PAGE_BECOME_PARTNER":"Стати партнером","WEBSITE_ALL_YOU_CAN_WATCH":"Свобода дивитися\\n Все що ти хочеш.","WEBSITE_FREEDOM_TO_STREAM":"Свобода Перегляду","WEBSITE_WHAT_IS_STREMIO":"Що таке stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio — це єдиний центр для агрегації відеоконтенту. Знаходьте, упорядковуйте та дивіться відео з усіх джерел на будь-якому пристрої, яким ви володієте.","WEBSITE_WHAT_IS_STREMIO_P2":"Фільми, телешоу, серіали, пряме телебачення або веб-канали, як-от YouTube і Twitch.tv – все це можна знайти на Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio — це сучасний медіа-центр, який є єдиним рішенням для ваших відеорозваг. Ви відкриваєте, переглядаєте й упорядковуєте відеовміст із простих для встановлення додатків.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Фільми, телешоу, телевізійні програми в прямому ефірі або веб-канали - знайдіть все це на Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Насолоджуйтесь на всіх своїх мультимедійних пристроях","WEBSITE_DEVICES_COLLECT":"Зберіть зі Stremio","WEBSITE_DEVICES_IMPORT_FB":"Імпорт із Facebook","WEBSITE_DEVICES_LOCAL":"Додати з локального диска","WEBSITE_JOIN_THE_PARTY_NOW":"Приєднуйтесь до вечірки зараз","WEBSITE_DEVICES_ALL":"Простий у використанні на всіх ваших пристроях;","WEBSITE_EXTENDABLE_CATALOG":"Каталог відео, що безмежно розширюється;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Чудові функції для організації ваших медіа;","WEBSITE_AS_SEEN_ON":"Як бачили на","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"Про нас","WEBSITE_LINK_TECHNOLOGY":"Технологія","WEBSITE_LINK_APPS":"Програми","WEBSITE_LINK_DOWNLOADS":"Завантаження","WEBSITE_MORE":"Більше","WEBSITE_LINK_ADDONS":"Доповнення","WEBSITE_LINK_ADDON_SDK":"Доповнення SDK","WEBSITE_LINK_CONTRIBUTE":"Допомогти","WEBSITE_LINK_COMMUNITY":"Спільнота","WEBSITE_LINK_BLOG":"Блог","WEBSITE_MORE_MORE":"... і більше","WEBSITE_LINK_HELP":"Центр допомоги","WEBSITE_LINK_CONTACTS":"Бізнес запити","WEBSITE_LINK_TOS":"Правила та умови","WEBSITE_LINK_PRAVACY":"Політика конфіденційності","WEBSITE_SUBSCRIBE":"Підписатися","WEBSITE_NEWSLETTER":"Приєднуйтесь до нашої розсилки, щоб отримати дивовижні речі","WEBSITE_PLACEHOLDER_EMAIL":"Ваша електронна пошта","WEBSITE_COMMUNITY":"Спільнота","WEBSITE_LINK_PRAVACY_LEGAL":"Конфіденційність і право","WEBSITE_WHY":"Чому ми це робимо","WEBSITE_WHY_P1":"У Stremio ми щодня приходимо на роботу, тому що хочемо вирішити важливу проблему для індустрії відео за запитом. Щохвилини публікується стільки нового вмісту, що практично неможливо розібратися з ним.","WEBSITE_WHY_P2":"Ми допомагаємо людям орієнтуватися у цьому величезному світі відеорозваг і відкривати для себе новий вміст. Наші програми об’єднують фільми, серіали, телепередачі в прямому ефірі, веб-канали тощо. Ми прагнемо зробити так, щоб користувачам було неймовірно легко знаходити назви та трансляції, які їм подобаються.","WEBSITE_WHY_P3":"Ви можете користуватися нашим сервісом на будь-якому пристрої та в будь-який час, що робить Stremio єдиним центром відеорозваг, який вам коли-небудь знадобиться.","WEBSITE_TEAM":"КОМАНДА","WEBSITE_TEAM_P":"Команда Stremio невелика, але потужна: нас десятеро і ми кодуємо різними мовами, ділимося досвідом у розробці програмного забезпечення, дизайні інтерфейсу та UX, маркетингу та рекламі, а також бізнесу та стартапів.","WEBSITE_FEATURES":"Можливості","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Легко відкривайте новий вміст","WEBSITE_FEATURES_DISCOVER_P":"Легко знаходьте нові фільми, телешоу, серіали та канали для перегляду. Переглядайте за категорією, жанром, рейтингом, новизною тощо або просто введіть назву, щоб знайти. Stremio робить пошук нового відеоконтенту простим.","WEBSITE_FEATURES_ALL_CONTENT":"Весь ваш відеовміст на одному екрані","WEBSITE_FEATURES_ALL_CONTENT_P1":"Перегляньте які фільми, серіали чи відео ви не закінчили і продовжуйте дивитися їх; отримуйте сповіщення про нові серії та випуски; переглядайте рекомендації на основі ваших звичок перегляду.","WEBSITE_FEATURES_LIBRARY":"Упорядкуйте свою відеотеку","WEBSITE_FEATURES_LIBRARY_P1":"Додайте будь-яке медіа до своєї бібліотеки Stremio одним клацанням миші та знайдіть свій вміст, акуратно впорядкований за типом, новизною або за алфавітом.","WEBSITE_FEATURES_CALENDAR":"Слідкуйте за всім, що дивитеся","WEBSITE_FEATURES_CALENDAR_P1":"Отримайте візуалізацію календаря всіх фільмів і серіалів, які ви додаєте до бібліотеки. Експортуйте свій календар Stremio та синхронізуйте його, щоб завжди знати коли має вийти нова серія або прем’єра.","WEBSITE_FEATURES_BIG_SCREEN":"Насолоджуйтесь своїм відеоконтентом на більшому екрані","WEBSITE_FEATURES_BIG_SCREEN_P1":"Транслюйте все, що ви дивитеся на інший пристрій – телефон, планшет або телевізор одним клацанням миші.","WEBSITE_FEATURES_SOURCES":"Дивіться відео з різних джерел","WEBSITE_FEATURES_SOURCES_P":"Встановіть офіційні або доповнення спільноти, щоб насолоджуватися відео, отриманими від багатьох різних постачальників – все в одному елегантному, простому додатку.","WEBSITE_CREATE_AN_ADDON":"Створити доповнення","WEBSITE_FEATURES_SYNC":"Синхронізуйте свою бібліотеку на різних пристроях і відновлюйте відтворення","WEBSITE_FEATURES_SYNC_P1":"Увійдіть у свій обліковий запис на всіх своїх пристроях і насолоджуйтесь синхронізованою бібліотекою, доповненнями, відтворенням і календарем.","WEBSITE_FEATURES_EXTENDABLE":"Розширюваний каталог відео за доповненнями","WEBSITE_FEATURES_EXTENDABLE_P1":"Каталог Stremio містить ряд доповнень для встановлення та перегляду різноманітного відеовмісту. Сюди входять фільми, шоу, телепередачі в прямому ефірі, спорт, новини, подкасти, веб-канали, відеоігри тощо.","WEBSITE_FEATURES_AUTO_SUBS":"Автоматичні субтитри","WEBSITE_FEATURES_AUTO_SUBS_P1":"За допомогою наших доповнень субтитрів ви отримуєте автоматично вибрані параметри для бажаної мови.","WEBSITE_FEATURES_CHROMECAST":"Трансляція на Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Насолоджуйтесь своїм відеовмістом на більшому екрані або просто передайте те, що дивитеся на інший пристрій.","WEBSITE_FEATURES_KEEP_TRACK":"Відстежуйте свої улюблені телешоу та веб-канали","WEBSITE_FEATURES_KEEP_TRACK_P1":"Отримуйте візуалізацію календаря та сповіщення про нові серії улюблених серіалів і веб-каналів.","WEBSITE_FEATURES_POWER_USER":"Функції досвідченого користувача","WEBSITE_FEATURES_POWER_USER_P1":"Перегляд у зовнішньому програвачі","WEBSITE_FEATURES_POWER_USER_P2":"Перегляд з торрент-файлу або магнітного посилання","WEBSITE_FEATURES_POWER_USER_P3":"Імпортуйте у свою бібліотеку з вподобайок Facebook або локального диска","WEBSITE_ADD_ONS":"Доповненя","WEBSITE_ADD_ONS_P1":"Весь відео-вміст, який надає Stremio, отримується через систему доповнень — у програму не вбудовано жодного вмісту чи постачальника.","WEBSITE_ADD_ONS_P2":"Доступні дві групи доповнень: офіційні та спільноти.","WEBSITE_ADD_ONS_P3":"Офіційні розробляються та розміщуються Stremio, тоді як доповнення спільноти створюються членами нашої спільноти, які також розміщують їх.","WEBSITE_ADDONS_OFFICIAL":"Офіційні доповнення","WEBSITE_ADDONS_WATCHUB":"Транслюйте свої улюблені фільми, серіали та шоу з iTunes, Hulu, Amazon та інших сервісів Великобританії та США.","WEBSITE_ADDONS_YOUTUBE":"Дивіться улюблені канали YouTube без реклами та отримуйте сповіщення про нові відео від авторів з ваших підписок.","WEBSITE_ADDONS_FILMON":"Дивіться телепередачі в прямому ефірі, фільми та соціальне телебачення безкоштовно. 600 телеканалів, 45 000 безкоштовних фільмів, документальних фільмів тощо.","WEBSITE_ADDONS_OPENSUBTITLES":"Субтитри для фільмів і телепередач кількома мовами, тисячі перекладених субтитрів додаються щодня.","WEBSITE_ADDONS_COMMUNITY":"Доповнення спільноти","WEBSITE_ADDONS_FILMON_VOD":"Дивіться відео на вимогу від Filmon.tv","WEBSITE_ADDONS_TWICH":"Дивіться прямі трансляції з Twitch.tv - платформи з відео індустрії кіберспорту.","WEBSITE_ADDONS_VODO":"Дивіться інді-фільми абсолютно безкоштовно.","WEBSITE_ADDONS_NETFLIX":"Дивіться фільми та веб-серіали Netflix.","WEBSITE_ADDONS_CREATE":"Створити доповнення","WEBSITE_ADDONS_CREATE_P1":"За бажанням ви можете створити власне доповнення. Таким чином, ви можете надати собі та нашій спільноті доступ до нового відеоконтенту та охопити нову цільову аудиторію, яка складається з мільйонів користувачів по всьому світі.","WEBSITE_ADDONS_START_CREATE":"Щоб почати, відвідайте сторінку Stremio Addon SDK:","WEBSITE_DOWNLOADS":"Завантаження","WEBSITE_DOWNLOADS_P1":"Для оптимальної продуктивності ми рекомендуємо використовувати останню доступну версію програм Stremio. Однак якщо з якихось причин ви хочете використовувати старішу версію, ви можете завантажити її тут.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio для Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio для macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio для Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio для Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio для Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio для Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio для Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio для iOS (обмежена версія)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Завантажте службу Stremio","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service — це супутня програма для Stremio Web. Ми рекомендуємо використовувати останню доступну версію Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Служба Stremio для Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Служба Stremio для macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Служба Stremio для Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Служба Stremio для Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"Додаткові параметри завантаження","WEBSITE_DOWNLOAD_NEW":"Новинка!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"Ми випустили Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"Платформа Stremio з відкритим вихідним кодом і ви можете легко створити доповнення для нового контенту.","WEBSITE_CONTRIBUTE_WHY":"Навіщо створювати доповнення?","WEBSITE_CONTRIBUTE_WHY_P1":"Охопіть нову аудиторію для свого відеоконтенту","WEBSITE_CONTRIBUTE_WHY_P2":"База користувачів Stremio стрімко зростає – за перший рік після запуску Stremio набрав 1 мільйон користувачів у всьому світі, а на другий рік існування платформи ця кількість зросла до 2,5 мільйонів.","WEBSITE_CONTRIBUTE_WHY_P3":"За допомогою свого доповнення ви можете легко охопити цю аудиторію та поширити їй свій відеовміст.","WEBSITE_CONTRIBUTE_ALL":"Дивіться улюблені фільми, відео, серіали та канали в одному місці.","WEBSITE_CONTRIBUTE_ALL_P1":"Ви шанувальник певного типу контенту, який ще не доступний на Stremio? Створіть для нього доповнення та насолоджуйтеся переглядом улюблених відео в одному з найбільших і найпростіших у використанні центрів розваг на ринку.","WEBSITE_CONTRIBUTE_ALL_P2":"Крім того, ви отримаєте нескінченну вдячність інших членів спільноти Stremio-однодумців.","WEBSITE_CONTRIBUTE_MONETIZE":"Монетизуйте своє доповнення і заробляйте гроші з його допомогою","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Як тільки ви створите нове доповнення для Stremio, зможете легко монетизувати його різними способами. Якщо ви думаєте про це, не соромтеся зв’язатися з нами за адресою","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":"- ми будемо раді проконсультувати вас та порадити варіанти монетизації доповнень.","WEBSITE_CONTRIBUTE_TRANSLATE":"Станьте волонтером-перекладачем","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Якщо ви хочете користуватися додатками Stremio різними мовами, ви можете приєднатися до нашої спільноти волонтерів-перекладачів. Вони допомагають нам додавати версії Stremio багатьма різними мовами.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Ви хочете почати?","WEBSITE_TRANSALTE_STREMIO":"Перекладіть Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Офіційні спільноти","WEBSITE_COMMUNITY_OFFICIALS_P1":"Станьте частиною спільноти Stremio, що розвивається. Слідкуйте за нами в соціальних мережах і не соромтеся привітатися – ми любимо чути від наших шанувальників!","WEBSITE_COMMUNITY_UNOFFICIALS":"Неофіційні спільноти","STREMIO_COMMUNITY_NL":"Стреміо Нідерланди","STREMIO_COMMUNITY_BRASIL":"Стреміо Бразилія","STREMIO_COMMUNITY_GERMANY":"Stremio Німеччина","STREMIO_COMMUNITY_BELGIUM":"Stremio Бельгія","STREMIO_COMMUNITY_FRANCE":"Стреміо Франція","STREMIO_COMMUNITY_PORTUGAL":"Стреміо Португалія","STREMIO_COMMUNITY_ITALY":"Стреміо Італія","STREMIO_COMMUNITY_UK":"Stremio Великобританія","STREMIO_COMMUNITY_USA":"Стреміо США","STREMIO_COMMUNITY_MEXICO":"Стреміо Мексика","STREMIO_COMMUNITY_ADDONS":"Доповнення Stremio","STREMIO_COMMUNITY_AWESOME":"Чудовий Стреміо","WEBSITE_COMMUNITY_PARTNERS":"Партнери та прихильники","WEBSITE_COMMUNITY_GOODIES":"Смаки Stremio","WEBSITE_COMMUNITY_WALLPAPERS":"Шпалери","WEBSITE_COMMUNITY_ART":"Художня галерея спільноти","WEBSITE_LINK_ART":"Художня галерея спільноти","WEBSITE_CONTACT_US":"Зв\'яжіться з нами","WEBSITE_CONTACT_US_P1":"Якщо у вас виникли запитання, коментарі чи пропозиції, не соромтеся зв’язатися з нами за допомогою контактної форми нижче.","WEBSITE_CONTACT_US_P2":"Майте на увазі, що ми знаходимося в Болгарії, тому у розгляді вашого запиту може виникнути затримка через різницю в часових поясах.","WEBSITE_CONTACT_US_SUCCESS":"Ваше повідомлення було відправлене. Ми зв’яжемося з вами якнайшвидше.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Будь ласка, введіть дійсну адресу електронної пошти!","WEBSITE_CONTACT_US_Q_RELATED_TO":"З чим пов’язане ваше питання?","WEBSITE_CONTACT_US_Q_OS":"Яка ваша операційна система?","WEBSITE_CONTACT_US_PH_EMAIL":"Ваша електронна адреса","WEBSITE_CONTACT_US_PH_MESSAGE":"Повідомлення","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"НАДІСЛАТИ","WEBSITE_CONTACT_US_Q_1":"Як встановити?","WEBSITE_CONTACT_US_Q_2":"Як видалити?","WEBSITE_CONTACT_US_Q_3":"(HTML) Як приготувати лазанью?","WEBSITE_CONTACT_US_Q_4":"Доповнення","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Технологія","WEBSITE_TECHNOLOGY_P1":"Ми любимо технології та божевільну науку.</br>Ось що використовує Stremio (це все з відкритим кодом).","WEBSITE_TECHNOLOGY_P_QT":"Кросплатформна розробка програмного забезпечення в кращому вигляді.","WEBSITE_TECHNOLOGY_P_MPV":"Безкоштовний мультиплатформний медіапрогравач з відкритим кодом.","WEBSITE_TECHNOLOGY_P_RN":"React Native дозволяє створювати мобільні додатки, використовуючи лише JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Медіа-фреймворк, вбудований у програму для отримання мультимедіа.","WEBSITE_TECHNOLOGY_P_REALM":"Realm — це мобільна платформа та заміна SQLite та Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js — це кросплатформне середовище виконання JavaScript з відкритим кодом.","WEBSITE_TECHNOLOGY_P_RUST":"Rust — це багатопарадигмальна мова системного програмування, орієнтована на безпеку, особливо на безпечну паралельність.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Допоможіть проекту","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Ви можете зробити свій внесок у Stremio і допомогти нам зробити продукт ще кращим двома способами.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Ви можете пожертвувати свої цінні мовні навички, переклавши платформу...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"або","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... ви можете використати свої навички програмування для створення доповнень спільноти.","WEBSITE_TRANSLATE_STREMIO":"Перекласти Stremio","WEBSITE_404_OH_NO":"Ой-ой! Сторінки, яку ви шукаєте, тут немає...","WEBSITE_GO_HOME":"На головну","WEBSITE_LINK_OTHER_DOWNLOADS":"Інші завантаження","WEBSITE_FAQ_ABR":"ЧАП","WEBSITE_SUPPORT":"Підтримка","WEBSITE_DOWNLOAD_4_0_BETA":"Завантажити Stremio 4 бета зараз","WEBSITE_GET_FOR_DESKTOP":"Отримати для ПК","WEBSITE_LINK_ADDON_COMPETITION":"Конкурс доповнень","WEBSITE_LINK_ART_CONTEST":"Мистецький конкурс","WEBSITE_MY_ACCOUNT":"Мій обліковий запис","WEBSITE_MAINPAGE_FAQ_001_H1":"Що таке Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio – це сучасний медіа-центр, який дає вам свободу дивитися все, що ви хочете.","WEBSITE_MAINPAGE_FAQ_002_H1":"Як це працює?","WEBSITE_MAINPAGE_FAQ_002_P1":"Після того, як ви встановите Stremio на своєму пристрої та створите обліковий запис, вам залишиться відвідати каталог доповнень і встановити будь-який на ваш смак і готово!","WEBSITE_MAINPAGE_FAQ_002_P2":"Після цього ви можете перейти до розділів Новинки або Дошка для перегляду контенту.","WEBSITE_MAINPAGE_FAQ_003_H1":"Що тут можна подивитися?","WEBSITE_MAINPAGE_FAQ_003_P1":"Багато чого: фільми, телешоу, веб-канали, спорт, телеканали, слухати подкасти тощо. Завдяки нашій системі доповнень ви можете отримати доступ до різноманітного вмісту.","WEBSITE_MAINPAGE_FAQ_004_H1":"Чи Stremio з відкритим кодом?","WEBSITE_MAINPAGE_FAQ_004_P1":"Так, ви можете перевірити наступні посилання: $ {1}desktop додаток $ {2} і $ {3}GitHub організації $ {4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Чи безпечний Stremio?","WEBSITE_MAINPAGE_FAQ_005_P1":"Так: оскільки це програма з відкритим кодом, доступний для загального перегляду і ви можете перевірити його самостійно.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"Як щодо моєї конфіденційності?","WEBSITE_MAINPAGE_FAQ_006_P1":"Ми поважаємо конфіденційність користувачів і не збираємо жодних персональних даних, крім необхідного мінімуму для створення та синхронізації вашого облікового запису.","WEBSITE_MAINPAGE_FAQ_006_P2":"Існує також ${1}Гостьовий режим${2} під час реєстрації, який не вимагає ніяких даних взагалі: в цьому режимі, не здійсюється ніяких запитів на наш сервер. Однак це відбувається за рахунок корисних функцій, таких як можливість синхронізувати бібліотеку на різних пристроях.","WEBSITE_MAINPAGE_FAQ_007_H1":"Чи можу я транслювати на свій телевізор?","WEBSITE_MAINPAGE_FAQ_007_P1":"Так, ми підтримуємо Chromecast, і ви можете транслювати як із настільних, так і з мобільних програм (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"Скільки доповнень у Stremio?","WEBSITE_MAINPAGE_FAQ_008_P1":"Станом на кінець 2019 року понад 50 — для отримання додаткової інформації перегляньте наш каталог доповненняів.","WEBSITE_MAINPAGE_FAQ_009_H1":"Чи можна розширити Stremio за рамки того, що є в каталозі доповнень?","WEBSITE_MAINPAGE_FAQ_009_P1":"Так, ви повинні перевірити ці: $ {1} PimpMyStremio$ {2} , $ {3} спільноти Reddit$ {4} , $ {5} Stremio Downloader$ {6} тощо.","WEBSITE_MAINPAGE_FAQ_010_H1":"Які пристрої підтримує Stremio?","WEBSITE_MAINPAGE_FAQ_010_P1":"У нас є настільні програми для Windows, Mac і Linux. Для мобільних пристроїв ми підтримуємо Android та iOS, хоча пам’ятайте, що функціональність iOS обмежена (не підтримує більшість доповнень).","WEBSITE_MAINPAGE_FAQ_010_P2":"Існує багато пристроїв на базі Android, на яких можна запустити Stremio, наприклад NVIDIA Shield і Amazon Fire Stick, але ми не підтримуємо їх офіційно.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Чи можете ви додати певний вміст до Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"На жаль, ми самі не надаємо вмісту, але чим більше доповнень Stremio ви встановили, тим більше вмісту ви зможете знайти.","WEBSITE_MAINPAGE_FAQ_012_H1":"Чи може Stremio відтворювати магнітні посилання?","WEBSITE_MAINPAGE_FAQ_012_P1":"Так, він також може відтворювати звичайні HTTP-посилання та торрент-файли (перетягування).","WEBSITE_MAINPAGE_FAQ_013_H1":"Чи можу я завантажити відео та подивитися офлайн?","WEBSITE_MAINPAGE_FAQ_013_P1":"Майбутня функція доступна в автономному режимі, але якщо ви дозволите Stremio кешувати на своєму пристрої (з панелі налаштувань), ви зможете переглядати відео пізніше без з’єднання.","WEBSITE_MAINPAGE_FAQ_014_H1":"Нічого не працює, допоможіть мені!","WEBSITE_MAINPAGE_FAQ_014_P1":"Ви впевнені, що встановили доповнення? Якщо так, то зв\'яжіться з нашим $ {1} Довідковий центр $ {2} .","WEBSITE_MAINPAGE_FAQ_015_H1":"Як Stremio підтримує свою діяльність з розвитку?","WEBSITE_MAINPAGE_FAQ_015_P1":"Ми розміщуємо ненав’язливу рекламу через $ {1} AdEx$ {2} , компанію, створену тією ж командою засновників, яка зосереджується на прозорій рекламі, що зберігає конфіденційність.","WEBSITE_MAINPAGE_FAQ_015_P2":"За всім питанням, перейдіть на наш $ {1} Довідковий центр $ {2} .","HELP_LEARN_MORE":"Допоможіть нам дізнатися більше про вас.","LIFESTYLE":"Спосіб життя","SPORTS":"Спорт","FOOD_HEALTH":"Їжа та здоров\'я","BEAUTY_FASHION":"Краса та мода","NEWS":"Новини","GAMING":"Ігри","SCIENCE_EDUCATION":"Наука та освіта","MUSIC":"Музика","TRAVEL":"Подорожі","LATE_NIGHT":"Пізня ніч","REALITY":"Реаліті-шоу","COMEDY":"Комедії","DIY":"Своїми руками","TECH":"Техно","CINEMA":"Кінотеатр","CONTINUE":"Продовжити","SLOW_LOADING":"ПОВІЛЬНЕ ЗАВАНТАЖЕННЯ?","I_GIVE_UP":"Я ЗДАЮСЯ","LEARN_MORE":"Дізнатися більше","POOR_SOURCE":"Це джерело недоступне або ваше інтернет-з\'єднання недостатньо швидке","PICK_CATEGORIES_ERR":"Ви повинні вибрати принаймні 3 категорії","ADJUST_TIMING":"Налаштуйте час за допомогою","ADJUST_SIZE":"Відрегулюйте розмір за допомогою","SEARCH_ANYTHING":"Ви можете шукати будь-що...","ALL_CATEGORIES":"Все","SEARCH_CATEGORIES":"Фільми, серіали, YouTube і ТБ","SEARCH_PERSONS":"Актори, режисери та сценаристи","SEARCH_PROTOCOLS":"HTTP і магнітні посилання","SEARCH_TYPES":"Посилання IMDB / TVDB","WATCHED":"Переглянуті","SHOW_LESS":"Показати менше","LAST_SEARCHES":"Останні пошуки","CLEAR_HISTORY":"Очистити історію","CHOOSE_SOME":"ОБЕРІТЬ ДЕЩО З ЦЬОГО:","NO_WEB_REMOTE":"Не вдалося завантажити веб-пульт","STREMIO_OFFLINE":"Stremio не в мережі","STREMIO_EXPENSIVE_CONNECTION":"Ми виявили, що ви використовуєте мобільні дані. Продовжити?","USE_DATA":"Використання даних","WARNING":"Увага","MORE_INFO":"Більше інформації ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Завантаження ...","STREMIO_TV_BACK_TO_LANGUAGES":"Назад до мов","STREMIO_TV_REMOTE":"Пульт","STREMIO_TV_GO_TO":"Йти до:","STREMIO_TV_OR_SCAN":"або сканувати:","STREMIO_TV_ADDON_INSTRUCTIONS":"Будь ласка, дотримуйтесь інструкцій, щоб встановити бажані доповнення.","STREMIO_TV_LIVE_TV":"ТБ наживо","STREMIO_TV_RESUME_WATCHING":"Відновити перегляд","STREMIO_TV_LOADING_BACKGROUND":"Завантаження фону","STREMIO_TV_CHECKING_AUTHENTICATION":"Перевірка автентифікації","STREMIO_TV_LOADING_BOARD":"Завантаження Дошки","STREMIO_TV_LOGIN_HEADER_LINE_1":"Ми хочемо, щоб наші користувачі мали найкращий персоналізований досвід роботи з нашою програмою.","STREMIO_TV_LOGIN_HEADER_LINE_2":"Саме з цієї причини ми просимо вас зробити та/або увійти до свого облікового запису.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Дякуємо за розуміння,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Команда Stremio","STREMIO_TV_REMOTE_INSTRUCTIONS":"Щоб використовувати веб-пульт зі смартфоном/планшетом/комп’ютером:","STREMIO_TV_WIFI_SETUP":"Налаштування Wi-Fi","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle не виявив підключення до Інтернету.","STREMIO_TV_WIFI_DETAILS_1":"Підключитися до:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Використати пароль:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Відкрийте веб-браузер за посиланням:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"За замовчуванням","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"За останніми переглядами","STREMIO_TV_LIBRARY_SORT_NAME":"За назвою","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"За кількістю переглядів","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Сезон $ {1}","STREMIO_TV_STREAMS_LOADING":"Завантажено $ {1} / $ {2} доповнень...","STREMIO_TV_STREAMS_STILL_LOADING":"Доповнення $ {1} досі завантажується...","STREMIO_TV_PLAYER_SETTINGS":"Налаштування програвача","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Затримка субтитрів","STREMIO_TV_PLAYER_AUDIO_DELAY":"Затримка звуку","STREMIO_TV_PLAYER_VIDEO_SCALING":"Масштабування відео","STREMIO_TV_PLAYER_CHAPTERS":"Розділи","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Пропустити $ {1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Непідтримуване джерело потоку","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Не вдалося відкрити зовнішнє посилання","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Не регулюється в режимі пропуску аудіо","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Перегляд з ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Перегляд з програвачом libVLC","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Перехід на програвач libVLC через помилку відтворення","STREMIO_TV_ADDONS_TITLE":"Використовуйте Stremio на своєму телефоні чи ПК, щоб установити або налаштувати доповнення, і натисніть «Синхронізувати доповнення»","STREMIO_TV_ADDONS_SUBTITLE":"Примітка: переконайтеся, що ви використовуєте той самий обліковий запис Stremio","STREMIO_TV_ADDONS_SYNC_ADDONS":"Синхронізація доповнень","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Доповнення успішно синхронізовано","STREMIO_TV_ADDONS_SYNC_FAILED":"Не вдалося синхронізувати доповнення","STREMIO_TV_META_LINK_FAILED":"Не вдалося відкрити метапосилання","STREMIO_TV_CATALOG_LOADING":"Каталог досі завантажується...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Мова інтерфейсу оновлена","STREMIO_TV_SETTINGS_THEME_UPDATED":"Тема оновлена","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Програвач за замовчуванням","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Зовнішній програвач","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Бажана мова","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Додаткова бажана мова","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Тунельне відтворення","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Можливі проблеми з відтворенням на деяких пристроях","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Деякі формати відео можуть не працювати","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Узгодження частоти кадрів","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Вимкнено","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Лише частота кадрів","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Частота кадрів і роздільна здатність","STREMIO_TV_SETTINGS_NO_CACHING":"Без кешування","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"За замовчуванням","STREMIO_TV_SETTINGS_PROFILE_SOFT":"М\'який","STREMIO_TV_SETTINGS_PROFILE_FAST":"Швидкий","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Надшвидкий","STREMIO_TV_SETTINGS_SERVER_URL":"URL-адреса потокового сервера","STREMIO_TV_SETTINGS_SERVER_VERSION":"Версія сервера","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Невідоме","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Версія Stremio","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Редагувати URL-адресу сервера","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Введіть URL-адресу потокового сервера","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Показувати статистику під час завантаження","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"Політика конфіденційності Stremio:","STREMIO_TV_SETTINGS_TOS_TEXT":"Загальні положення та умови Stremio:","STREMIO_TV_NAV_SEARCH":"Пошук","STREMIO_TV_NAV_HOME":"Головна","STREMIO_TV_NAV_DISCOVER":"Новинки","STREMIO_TV_NAV_LIBRARY":"Бібліотека","STREMIO_TV_NAV_MOVIES":"фільми","STREMIO_TV_NAV_SERIES":"Серіали","STREMIO_TV_NAV_CHANNELS":"Канали","STREMIO_TV_NAV_TV":"ТБ наживо","STREMIO_TV_NAV_SETTINGS":"Налаштування","STREMIO_TV_NAV_ADDONS":"Доповнення","STREMIO_TV_LOGIN_TITLE":"Пов’язати обліковий запис","STREMIO_TV_LOGIN_EXPIRES_IN":"Термін дії закінчується через","STREMIO_TV_LOGIN_STEP_ONE":"Відскануйте QR-код вище або перейдіть до","STREMIO_TV_LOGIN_STEP_TWO":"Увійдіть у свій обліковий запис Stremio","STREMIO_TV_LOGIN_NEW_LINK":"Запит на нове посилання","STREMIO_TV_LOGIN_LINK_REFRESHED":"Код входу оновлено","STREMIO_TV_SEARCH_PLACEHOLDER":"Введіть щось","STREMIO_TV_SEARCH_NO_ADDONS":"Для каталогів не було запитів про доповнення!","STREMIO_TV_SEARCH_BUTTON":"Пошук","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"космос","STREMIO_TV_SEARCH_KEY_CLEAR":"Очистити","STREMIO_TV_SEARCH_HISTORY_TITLE":"Історія пошуку","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Ви можете шукати назви, акторів, канали тощо...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Очистити історію пошуку","STREMIO_TV_FILTERS_DESCRIPTION":"Виберіть один із фільтрів наведених нижче","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"Фільтри","SETTINGS":"Налаштування","ACCOUNT":"Обліковий запис","LOGOUT":"Вийти","THEMES":"Теми","PLAYBACK":"Відтворення","PLAYBACK_SPEED":"Швидкість відтворення","AUDIO_TRACKS":"Аудіодоріжки","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Відео","SERVER":"Сервер","LINKS":"Посилання","ABOUT":"Про","INTERFACE":"Інтерфейс","ANIMATIONS":"Анімації","STATUS":"Статус","LANGUAGE":"Мова","SIZE":"Розмір","DELAY":"Затримка","BOLD":"Жирний","OPACITY":"Opacity","TEXT_COLOR":"Колір тексту","OUTLINE_COLOR":"Колір контуру","BACKGROUND_COLOR":"Колір фону","BACKGROUND_BLUR":"Розмиття фону","SEEK_TIME_DURATION":"Тривалість часу пошуку","AUTO_PLAY":"Автовідтворення наступної серії","PLAY_NOW":"Грати зараз","MARK_AS_WATCHED":"Позначити як переглянуте","MARK_AS_UNWATCHED":"Позначити як непереглянуте","REWIND_TO_BEGINNING":"Перемотати на початок","CONTINUE_WATCHING":"Продовжити перегляд","ALL":"Все","SECONDS":"секунд","ON":"УВІМКНЕНО","OFF":"ВИМКНЕНО","RELOAD":"Перезавантажити","EDIT_URL":"Редагувати URL","NONE":"Жодного","EMBEDDED":"Вбудований","REMOTE_SWITCH_DEVICES":"Перемикнути пристрої","REMOTE_VIDEOS":"Відео","REMOTE_ADJUST_TIMING":"Налаштувати затримку","REMOTE_ADJUST_SIZE":"Налаштувати розмір","REMOTE_COULD_NOT_BE_LOADED":"Не вдалося завантажити веб-пульт","REMOTE_RETRY":"Повторити","TORRENT_PROFILE_DEFAULT":"За замовчуванням","TORRENT_PROFILE_SOFT":"М\'який","TORRENT_PROFILE_FAST":"Швидкий","TORRENT_PROFILE_ULTRA_FAST":"Надшвидкий","FAQ_001_H1":"Що таке Stremio?","FAQ_001_P1":"Stremio — це програма медіа-центр, розроблена для відеорозваг і зручного використання. Stremio дозволяє вам організувати і дивитися власну колекцію фільмів, серіалів, веб-каналів і ТБ наживо.","FAQ_001_P2":"Stremio збирає і покащує вміст з вашого локального диска та нашої системи доповнень.","FAQ_001_P3":"Програма також повідомить вас коли вийдуть нові серіали/відео/фільми, які вас цікавлять і надасть вам рекомендації.","FAQ_02_H1":"Як Stremio порівнюється з Kodi і Plex?","FAQ_02_P1":"Нас надихають ці дві програми. Але у нас різні цілі – Stremio спеціально націлена на розважальні відео і прагне стати основним рішенням для цього, яка дуже проста у використанні.","FAQ_02_P2":"Stremio ніколи не буде таким налаштовуваним і багатим на функції, як Kodi і Plex, але вона значно простішА у використанні. Просто ${1} встановіть і побачите самі ${2} :)","FAQ_03_H1":"Як Stremio порівнюється з Netflix?","FAQ_03_P1":"Знову ж таки, Netflix є одним із наших джерел натхнення. Ми прагнемо досягти користувацького досвіду Netflix, а також безліч додаткових переваг. Але найголовніше те, що ми даємо вам свободу керувати власною бібліотекою та додавати нові джерела вмісту за допомогою нашої системи доповнень.","FAQ_03_P2":"Завдяки цьому Stremio можна безмежно розширювати, тож коли ви використовуєте Stremio, ви ніколи не обмежуєтесь вмістом, який Netflix вирішує ліцензувати. Наприклад, через Stremio ви можете дивитися вміст із ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} і навіть сам ${9}Netflix${10}!","FAQ_04_H1":"Як Stremio порівнюється з Flipboard?","FAQ_04_P1":"Ми не так часто отримуємо це запитання, за винятком розмови з людьми зі старт-апів :)","FAQ_04_P2":"Stremio за своєю конструкцією є агрегатором контенту, що по суті робить його Flipboard для відео. Це дуже помітно в нашому розділі «Дошка», який надає вам каталоги та сповіщення про нові серіали/нові відео, на які підписані, як і на Flipboard.","FAQ_05_H1":"Як Stremio порівнюється з Popcorn Time?","FAQ_05_P1":"Stremio і Popcorn Time схожі за інтерфейсом користувача, тому що не так багато способів правильно створити каталоги відео розваг :)","FAQ_05_P2":"Але в той час як Popcorn Time зосереджена на потоковій передачі торрентів з певних джерел, Stremio не обмежений і є лише агрегатором вмісту - він не прив\'язаний до певного джерела.","FAQ_05_P3":"Крім того, за замовчуванням ми не надаємо жодних торрент-доповнень, тому Stremio не охоплює варіант використання Popcorn Time з офіційною функціональністю.","FAQ_05_P4":"Ще одна помітна відмінність полягає в тому, що Popcorn Time повністю з відкритим кодом, тоді як Stremio має ${1}частково відкритий код${2}.","FAQ_06_H1":"Ви додасте цей фільм/серіал?","FAQ_06_P1":"Ні, вибачте :(","FAQ_06_P2":"Як зазначається в більшості інших відповідях, Stremio не надає ніякого вмісту сама по собі – все додається через систему доповнень. Якщо у вас є запит на вміст, ви можете скористатися кнопкою «Повідомити» у програвачі, яка надішле електронний лист автору доповнення, яке ви зараз використовуєте.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Чи створите ви доповнення для X?","FAQ_08_P1":"Це цілком можливо.","FAQ_08_P2":"Якщо у вас є ідея доповнення, напишіть нам на ${1}office@stremio.com${2}, але переконайтеся, що ваша ідея доповнення не порушує жодних авторських прав або умов використання.","FAQ_08_P3":"На даний момент наступні речі в нашій дорожній карті — це доповнення для FandangoNOW, Filmon.tv Video on Demand та Crunchyroll.","FAQ_09_H1":"Чи використовує Stremio BitTorrent?","FAQ_09_P1":"Так, Stremio підтримує BitTorrent як протокол потокової передачі. Ви можете використовувати його або з доповнення для торента, або перетягнути файл .torrent в Stremio, або вставити магнітне посилання в панель пошуку.","FAQ_09_P2":"Зверніть увагу, що єдиним офіційним доповненням, що використовує BitTorrent, є ${1}Vodo${2}, який надає інді-контент, який дозволено розповсюджувати за допомогою BitTorrent.","FAQ_09_P3":"Ми не підтримуємо використання будь-яких сторонніх доповнень, які можуть призвести до порушення авторських прав.","FAQ_10_H1":"Що я можу дивитися в Stremio з офіційними доповненнями?","FAQ_10_P1":"За замовчуванням ви можете дивитися вміст Filmon.tv, YouTube і Vodo у самому Stremio за допомогою вбудованого програвача. Крім того, у нас є доповнення для Twitch.tv та кількох інших.","FAQ_10_P2":"Це поєднання забезпечує вибір:","FAQ_10_L1":"Популярні телеканали, надані Filmon.tv - наприклад E4, BBC, Bollyworld TV","FAQ_10_L2":"Усе з YouTube – наприклад, BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Інді-фільми з Vodo","FAQ_10_L4":"Онлайн-трансляції ігор за допомогою Twitch.tv","FAQ_10_P3":"Крім того, існує багато джерел вмісту, що надаються з Guidebox і додатками Netflix, які <b>не</b> повністю відтворюються всередині Stremio, але переспрямовують на дану службу. Наприклад, додаток Guidebox надасть вам добірку фільмів, які ви можете безкоштовно транслювати в США через такі сервіси, як TubiTV і Crackle.","FAQ_11_H1":"Stremio не встановлюється, що мені робити?","FAQ_11_P1":"Якщо ви використовуєте Windows, спробуйте $ {1}цей альтернативний інсталятор${2} .","FAQ_11_P2":"Якщо ви використовуєте Mac OS X, пам’ятайте, що ми не підтримуємо нічого старішого за OS X Mavericks (10.9).","FAQ_11_P3":"Якщо ви використовуєте Linux, майте на увазі, що наразі ми підтримуємо лише 64-розрядну (x64) Linux.","FAQ_11_P4":"Якщо ви все ще не можете вирішити свою проблему, будь ласка, напишіть нам у нашу ${1}Facebook групу${2}.","FAQ_12_H1":"Чому мій антивірус скаржиться? Чи безпечний Stremio?","FAQ_12_P1":"Ми запевняємо вас, що Stremio ${1}100% безпечний${2}.","FAQ_12_P2":"Ваш антивірус скаржиться, оскільки ми включаємо рекламу в наш інсталятор, який деякі антивірусні програми розпізнають як рекламне програмне забезпечення.","FAQ_12_P3":"Якщо ви все ще НЕ впевнені, ви можете спробувати наш ${1}альтернативний інсталятор${2} .","FAQ_13_H1":"Як я можу створити доповнення?","FAQ_13_P1":"Для початку ми рекомендуємо вам перевірити наш ${1}модуль системи доповнення${2} на GitHub.","FAQ_13_P2":"Після цього ви зможете скористатися {1}Hello World${2}.","FAQ_13_P3":"Якщо у вас немає навичок програмування, будь ласка, опублікуйте свою ідею у ${1}Reddit спільноті${2} та напишіть нам про вашу ідею доповнення на ${3}office@stremio.com${4}.","FAQ_14_H1":"Як публікуються доповнення?","FAQ_14_P1":"Коли ви створюєте доповнення та хост і розміщуєте поле <b>кінцевої точки</b> у своєму маніфесті, яке вказує на робочу адресу доповнення, програма автоматично опублікує себе в нашому ${1}Каталозі доповнень${2}.","FAQ_14_P2":"Це відбувається тому, що серверна частина модуля stremio-addons автоматично здійснює виклик до нашого API, щоб оголосити доповнення. Коли наш API перевірить вашу <b>кінцеву точку</b> як дійсне доповнення, воно почне відображатися в каталозі.","FAQ_15_H1":"Чи можу я запустити Stremio у своєму браузері?","FAQ_15_P1":"Не зараз, але це планується!","FAQ_15_P2":"Якщо вам цікаво побачити альфа-версію, ви можете побачити її тут: ${1}alpha4.strem.io${2}. Майте на увазі, що трансляція вимкнена на цій альфа-версії. Ми підтримуємо Chrome, Firefox, Opera та Edge.","FAQ_16_H1":"Трансляція на телевізор не працює / субтитри не працюють","FAQ_16_P1":"Трансляція на телевізор використовує технологію DLNA, яка дуже несумісна між різними брендами та моделями телевізорів. З цієї причини ми не маємо можливості перевірити кожен випадок. Незважаючи на це, ми постійно працюємо над його вдосконаленням, але не можемо з точністю сказати коли DLNA почне з вашим телевізором належним чином працювати.","FAQ_16_P2":"Якщо ви навіть не бачите свій телевізор у меню трансляції, спробуйте вимкнути мережеве з’єднання та знову ввімкнути його (у Windows клацніть правою кнопкою миші на Мережі та виберіть Увімкнути/Вимкнути), а також перезавантажте маршрутизатор, телевізор та ПК.","FAQ_16_P3":"Якщо у вас все ще виникають проблеми, ви можете допомогти нам надіславши інформацію про бренд і модель вашого телевізора на адресу ${1}office@stremio.com${2}.","FAQ_16_P4":"Тим часом ми рекомендуємо Chromecast, який ми дуже добре підтримуємо або ж просто підключіть телевізор до комп’ютера за допомогою кабелю HDMI.","FAQ_17_H1":"Stremio зависає та/або завершує роботу, що я можу зробити?","FAQ_17_P1":"Перш за все, якщо ви використовуєте Windows 7 з антивірусом AVG: у нас проблема з цією комбінацією. Проблема в самому AVG, і немає розумного способу її вирішити з нашого боку. На жаль, винятки або відключення антивірусу не працюватимуть. Єдине рішення - замінити AVG на щось інше.","FAQ_17_P2":"Якщо проблема не в цьому, але ви все ще використовуєте Windows, оновіть ОС до останнього пакета оновлень і оновіть/перевстановіть драйвери графічного процесора, а потім повторіть спробу.","FAQ_17_P3":"Якщо ваша проблема все ще не вирішена або ви користуєтеся комп’ютером Mac або Linux, напишіть нам та повідомте точну інформацію про проблему в ${1}нашій групі Facebook${2}.","FAQ_18_H1":"Як я можу створити доповнення?","FAQ_18_P1":"Для початку ми рекомендуємо вам перевірити наш ${1}модуль системи доповнення${2} на GitHub.","FAQ_18_P2":"Після цього ви зможете скористатися {1}Hello World${2}.","FAQ_18_P3":"Якщо у вас немає навичок програмування, будь ласка, опублікуйте свою ідею у ${1}Reddit спільноті${2} та напишіть нам про вашу ідею доповнення на ${3}office@stremio.com${4}.","FAQ_19_H1":"Чому Stremio займає місце на диску?","FAQ_19_P1":"Stremio має <b>локальний кеш</b> для тимчасового зберігання відеофайлів, які ви транслюєте.","FAQ_19_P2":"Це має дві переваги: по-перше, дозволяє Stremio попередньо буферизувати відео, щоб забезпечити більш плавне відтворення. По-друге, зберігає відео в локальному кеші, щоб ви могли продовжувати перегляд офлайн.","FAQ_19_P3":"Скільки зберігає Stremio залежить від параметра <b>Кеш</b> в панелі налаштувань. Stremio може підтримувати встановлений обсяг на вашому диску (наприклад, 2 Гб), якщо поточне відео не перевищує цього розміру і в цьому випадку має виділити достатньо пам’яті аби зберегти його поки транслюєте.","FAQ_20_H1":"Де знаходиться папка кешу?","FAQ_20_P1":"У Windows це stremio-cache на диску, який ви вибрали в налаштуваннях (наприклад, \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"У MacOS це \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"У Linux це \\"~/.stremio/stremio-cache\\" або \\"~/stremio-cache\\"","FAQ_21_H1":"Я отримую помилку \\"Потоковий сервер не знайдено\\", що я можу зробити?","FAQ_21_P1":"Якщо ви отримуєте цю помилку, це означає одне з наступних:","FAQ_21_P2":"1) Ви намагаєтеся використовувати доповнення з джерела YouTube / BitTorrent через нашу ${1}веб версію${2}. У цьому випадку вам слід встановити настільну версію з ${3}нашого веб-сайту${4}.","FAQ_21_P3":"2) Щось не так з встановленням Stremio. У цьому випадку спробуйте повторно встановити нашу останню настільну версію з ${1}веб-сайту${2}. Якщо це не допомогло, спробуйте вимкнути антивірусні програми та брандмауери, перезавантажити ПК і повторити спробу. Якщо це не спрацювало, будь ласка, напишіть ${3}в нашу Facebook групу${4}.","FAQ_22_H1":"Я не можу бачити/використовувати більшість доповнень на iOS","FAQ_22_P1":"Через обмеження в положеннях і умовах Apple App Store ми обмежили програму iOS лише певним набором доповнень.","FAQ_22_P2":"Але будьте впевнені: у майбутньому буде більше доповнень для iOS і ми також можемо додати інтеграцію, яка дозволить вам використовувати всі доповнення Stremio завдяки підключенню програми iOS до Stremio Streaming Server."}')},4701:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Phim","TYPE_series":"Loạt phim","TYPE_tv":"Kênh TV","TYPE_channel":"Kênh","TYPE_other":"Khác","TYPE_movie_PL":"Phim","TYPE_series_PL":"Loạt phim","TYPE_tv_PL":"Kênh TV","TYPE_channel_PL":"Kênh","TYPE_other_PL":"Khác","TYPE_ALL":"Tất cả","TYPE":"Loại","CATALOG_com_linvo_cinemeta_top":"Phổ biến","CATALOG_com_linvo_cinemeta_imdbRating":"Đặc sắc","CATALOG_com_linvo_cinemeta_year":"Mới","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Phim thuộc phạm vi công cộng","VIDEO":"Video","BACK":"Quay lại","MORE":"Nhiều hơn","DONE":"Xong","COPY":"Sao chép","SUCCESS":"Thành công","ERROR":"Lỗi","SETTINGS_CASTING_MODE_PICKER":"Chế độ truyền","CASTING_MODE_HLSV2":"Mặc định","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Không chuyển mã","Discover":"Khám phá","Board":"Bảng","Library":"Thư viện","My Library":"Thư viện của tôi","Calendar":"Lịch","NOTIFICATION_ONLINE":"Bạn hiện đang trực tuyến","NOTIFICATION_OFFLINE":"Bạn hiện đang ngoại tuyến","INTERNET_CONNECTION":"Kết nối mạng","STORAGE_FULL_TITLE":"Cảnh báo: Bộ nhớ đầy!","STORAGE_FULL_TEXT":"Stremio sẽ không thể lưu thiết đặt, tùy chọn hoặc thông tin đăng nhập của bạn. Cân nhắc khởi động lại hoặc cài đặt lại Stremio.","SEARCH":"tìm kiếm","SEARCH_NO_RESULTS":"Không tìm thấy kết quả","SEARCH_EXPLANATION_CONTENT":"Tìm kiếm phim, loạt phim, YouTube và các kênh TV","SEARCH_EXPLANATION_PEOPLE":"Tìm kiếm diễn viên, đạo diễn và biên kịch","SEARCH_PASTE_LINKS":"Dán liên kết HTTP và Nam châm","SEARCH_OR_PASTE_LINK":"Tìm kiếm hoặc dán liên kết","SEARCH_SUGGESTIONS":"Đề xuất tìm kiếm","ADD_TO_LIB":"Thêm vào thư viện","REMOVE_FROM_LIB":"Loại khỏi Thư viện","ADDED_TO_LIB":"Đã thêm vào thư viện","REMOVED_FROM_LIB":"Đã loại khỏi Thư viện","TRAILER":"Đoạn giới thiệu","WATCH_TRAILER":"Xem đoạn giới thiệu","WATCH_NOW":"Xem ngay","SHOW":"Hiển thị","SHOW_MOVIE":"Hiển thị phim","WATCH_RANDOM":"Xem ngẫu nhiên","IMDB_RATING":"Xếp hạng IMDb","YEAR":"Năm","DIRECTOR":"Đạo diễn","WRITER":"Biên kịch","LEAD_ACTORS":"Diễn viên chính","CAST":"Dàn diễn viên","CREW":"Đoàn làm phim","SHOW_MORE_CAST":"Hiện nhiều hơn »","AIRED":"Đã phát sóng","SEASONS":"Các phần","GENRE":"Thể loại","GENRE_ALL":"Mọi thể loại","CATALOG":"Danh mục","SUMMARY":"Tóm tắt","SHOW_MORE":"Hiện nhiều hơn","SIMILAR":"Tương tự","UPCOMING":"Sắp tới","ENDED":"Đã kết thúc","DURATION":"Thời lượng","FEATURED":"Đặc sắc","METADATA":"Siêu dữ liệu","CATEGORY":"loại","LINKS_GENRES":"Thể loại","LINKS_CAST":"Dàn diễn viên","LINKS_DIRECTORS":"Đạo diễn","SEARCH_VIDEOS":"tìm kiếm video","SEARCH_PLACEHOLDER":"tìm kiếm hoặc dán URL","ADDON":"add-on","ADDONS":"Add-on","OFFICIAL":"chính thức","ADDONS_OFFICIAL":"Add-on chính thức của Stremio","ADDONS_POPULAR":"Phổ biến trong khu vực của bạn","ADDON_FREE":"miễn phí","ADDON_PEERED":"ngang hàng","ADDON_SUBSCRIPTION":"đăng ký","ADDON_STREAM_GEORESTRICTED":"không có sẵn trong khu vực của bạn","ADDON_STREAM_OFFLINECACHE":"Bộ nhớ đệm ngoại tuyến","ADDON_STREAM_LOCALFILE":"Tệp cục bộ","SHARE_ADDON":"Chia sẻ add-on","AVAILABLE_STREAMS":"Luồng khả dụng","NO_STREAM":"Không tìm thấy luồng nào","ALL_ADDONS":"Tất cả","INSTALL_MORE_ADDONS":"Để có nhiều luồng hơn, vui lòng cài đặt thêm add-on","STREAM_NOT_SUPPORTED":"Luồng đã chọn không được hỗ trợ trên nền tảng này.","ADDON_CATALOGUE":"Hiển thị tất cả add-on »","ADDON_CATALOGUE_MORE":"Cài đặt add-on","REPO_ADDED":"Đã thêm kho lưu trữ","ADDON_REPO_EXIST_ERR":"Bộ sưu tập các add-on này đã tồn tại","ADDON_REPO_ERR":"Đã xảy ra lỗi khi thêm bộ sưu tập","ADDON_ADD_ERR":"Đã xảy ra lỗi khi thêm add-on","ERR_ADDON_PROTECTED":"Không thể gỡ cài đặt add-on, nó được bảo vệ","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Đã xảy ra lỗi - xác thực có thể không thành công","ERR_NOT_COLLECTION_URL":"Không phải URL bộ sưu tập","ERR_NOT_ADDON_URL":"URL add-on không hợp lệ","ERR_DETECTFROMURL":"Không thể tìm thấy add-on/bộ sưu tập từ URL này","ADDON_DUPLICATE_WARNING":"Cảnh báo: add-on trùng lặp","ADDON_COLLECTION_SET_FAILED":"Không thể đồng bộ hóa các add-on đã cài đặt với tài khoản của bạn","SETTINGS_DATA_EXPORT":"Xuất dữ liệu người dùng","ADDON_PULL_FAILED":"Không thể đồng bộ hóa các add-on đã cài đặt từ tài khoản của bạn","REFRESH_ON_CLICK":"Nhấp để thử lại","STILL_IN_THEATER":"Phim còn chiếu rạp","WATCH_IN_CINEMA":"Xem tại rạp chiếu phim địa phương của bạn","IN_THEATER":"Trong rạp chiếu phim","GET_TICKETS":"Lấy vé","UPCOMING_EPISODE":"Tập sắp tới","UPCOMING_EPISODE_MESSAGE":"Tập này sẽ được phát sóng vào","MISSING_DATE_EPISODE":"Thiếu ngày tập","MISSING_DATE_EPISODE_MESSAGE":"Tập này có thể chưa phát sóng","CHANNEL_NOT_SCRAPED":"Kênh này chưa được xóa.<br>Vui lòng quay lại sau vài phút.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Thêm nó vào thư viện của bạn để nhận thông báo khi nó có sẵn.","GET_NOTIFIED_WHEN_AVAILABLE":"Bạn sẽ nhận được thông báo khi nó khả dụng.","WARNING_STREAMING_SERVER":"Cảnh báo: không tìm thấy máy chủ truyền trực tuyến cục bộ. Truyền trực tuyến từ các tệp cục bộ, YouTube và BitTorrent sẽ không khả dụng.","WARNING_STREAMING_SERVER_DISMISS":"Bỏ qua","WARNING_STREAMING_SERVER_LATER":"Sau đó","DECODER_WARNING":"Cảnh báo: phần cứng của bạn có thể không hỗ trợ video này. Xin lưu ý rằng quá trình phát lại có thể chậm.","GENERIC_ERROR_MESSAGE":"Có gì đó không ổn!","TRY_AGAIN":"Thử lại","CLEAR_DATA":"Xóa dữ liệu","PLAYER_ERROR":"Rất tiếc, Lỗi Trình phát","PLAYER_ERROR_LOOKSLIKE":"Nó có vẻ như","PLAYER_ORIENTATION":"Định hướng trình phát","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Đã khóa","PLAYER_ORIENTATION_SENSOR_SHORT":"Cảm biến","PLAYER_ORIENTATION_LANDSCAPE":"Hướng trình phát bị khóa ở chế độ ngang","PLAYER_ORIENTATION_SENSOR":"Tự động định hướng trình phát (cảm biến)","PLAYER_PLAYBACK_SPEED":"Tốc độ phát lại","PLAYER_PLAYBACK_ERROR":"Lỗi phát lại, vui lòng thử lại","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Lỗi không rõ","PLAYER_PLAYBACK_ERROR_DEFAULT":"Xin lỗi, {{productName}} không thể phát video này.","PLAYER_SUBTITLES_LANGUAGES":"Ngôn ngữ phụ đề","PLAYER_SUBTITLES_VARIANTS":"Biến thể phụ đề","PLAYER_SUBTITLES_SETTINGS":"Thiết đặt phụ đề","PLAYER_SUBTITLES_DISABLED":"Phụ đề bị tắt","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Vị trí thẳng đứng","PLAYER_SUBTITLES_LOADED":"Đã tải phụ đề","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Đã tải phụ đề nhúng","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Đã tải phụ đề độc quyền","PLAYER_SUBTITLES_LOADED_ORIGIN":"Đã tải phụ đề từ {{origin}}","PLAYER_PLAY":"Phát","PLAYER_PAUSE":"Tạm ngừng","PLAYER_NEXT_VIDEO":"Video tiếp theo","PLAYER_MUTE":"Tắt tiếng","PLAYER_UNMUTE":"Bật tiếng","PLAYER_OPEN_IN_EXTERNAL":"Mở trong trình phát bên ngoài","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Phát trên {{device}}","PLAYER_LIVE":"Trực tiếp","PLAYER_NEXT_VIDEO_TITLE":"Sắp tới","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Bỏ qua","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Xem ngay","PLAYER_COPY_STREAM_SUCCESS":"Liên kết luồng đã được sao chép vào clipboard của bạn","PLAYER_COPY_STREAM_ERROR":"Không thể sao chép liên kết luồng","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","STREAMING_FROM":"truyền trực tuyến từ","CASTING_TO":"Truyền tới","NETWORK_STATUS":"Tình trạng mạng","STREAM_SPEED":"Tốc độ truyền phát:","STREAM_BUFFERED":"Đã đệm:","PEERS_INFO":"Thông tin đồng nghiệp","PEERS_ACTIVE":"Hoạt động:","PEERS_CONNECTED":"Đã kết nối:","PEERS_WAITING":"Chờ:","TRANSCODING_WARNING":"Cảnh báo: chuyển mã video.","STREAM_LOADING":"đang tải...","PLAYING_LOCAL":"phát từ tệp cục bộ","PLAYING_CACHE":"phát từ bộ nhớ đệm","WRONG_SUBS":"Phụ đề sai?","ERR_SUBS_LOADING_TITLE":"Lỗi khi tải phụ đề","ERR_SUBS_LOADING":"Tải phụ đề không thành công: đây có thể là sự cố với add-on bạn đang sử dụng hoặc với kết nối mạng của bạn","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Các add-on phụ đề sau không thành công","ERR_CASTING_UPDATE_TITLE":"Không thể cập nhật thông tin thiết bị truyền: máy chủ truyền trực tuyến có thể đang ngoại tuyến","CHOOSE_DEVICE":"Chọn thiết bị để xem","NO_CAST_DEVICES":"Không có thiết bị truyền nào.","NO_SETTINGS":"Không có cài đặt nào.","PHONE_TABLET":"Điện thoại / Máy tính bảng","SUBTITLES":"Phụ đề","SUBTITLES_CHANGE":"Thay đổi phụ đề cho ","SUBTITLES_CHANGE_NONE":"Không có phụ đề nào khác cho ngôn ngữ này, xin lỗi.","SUBTITLES_CHANGE_ACIVE":"Hiện tại phụ đề &#35;{{subtitlesDialog.activeIdx + 1}} đã được kích hoạt. Nhấp vào \\"Tiếp tục\\" để kích hoạt phụ đề &#35;{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Ngoài ra,","SUBTITLES_ADJUST_DELAY":"Điều chỉnh độ trễ của phụ đề:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Hoặc sử dụng các phím <span>G</span> / <span>H</span> trong khi phát để điều chỉnh.","SUBTITLES_ADJUST_DELAY_TIP":"MẸO: bạn có thể sử dụng các phím <span>G</span> / <span>H</span> trong khi phát để điều chỉnh.","SUBTITLES_DELAY":"Độ trễ phụ đề:","SUBTITLES_LOADING":"Đang tải phụ đề...","SUBTITLES_UNAVAILABLE":"Không có phụ đề bên ngoài","SUBTITLES_DISABLED":"Đã tắt","EXTERNAL_PLAYER_DISABLED":"Đã tắt","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Cho phép chọn","EXTERNAL_PLAYER_HINT":"Gợi ý: Có một cài đặt cho phép luôn mở bằng trình phát bên ngoài","DONT_SHOW_AGAIN":"Không hiện lại","SERVICE_INSTALL":"Cài đặt","AUDIO":"Âm thanh","DEFAULT_LANGUAGE":"Ngôn ngữ mặc định","DEFAULT_SECONDARY_LANGUAGE":"Ngôn ngữ mặc định thứ hai","SEASON":"Mùa phim","EPISODE":"Tập phim","EPISODE_ABBREVIATION":"T","SPECIAL":"Đặc biệt","SORT":"Sắp xếp","SORT_BY":"Sắp xếp theo","FILTER":"lọc","SORT_TRENDING":"xu hướng","SORT_RECENT":"gần đây","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"xếp hạng","SORT_WATCHED":"đã xem","SORT_YEAR":"năm","SELECT_TYPE":"Chọn đối tượng","SELECT_SORT":"Chọn sắp xếp","SELECT_CATALOG":"Chọn danh mục","SELECT_GENRE":"Chọn thể loại","SORT_LASTWATCHED":"Theo lần xem cuối cùng","SORT_NAME":"a-z","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"xem nhiều nhất","SORT_NOTWATCHED":"chưa xem","New for You":"Mới ra dành cho bạn","New Episodes":"Tập mới","New Videos":"Video mới","Recommendations":"Khuyến nghị","LIBRARY_RESUME":"Xem tiếp","LIBRARY_PLAY":"Phát","LIBRARY_DETAILS":"Chi tiết","LIBRARY_RESUME_DISMISS":"Bỏ qua","LIBRARY_CLEAR_PROGRESS":"Làm sạch tiến trình","LIBRARY_REMOVE":"Loại bỏ","LIBRARY_NOT_LOGGED_IN":"Thư viện chỉ khả dụng cho người dùng đã đăng nhập","CALENDAR_NOT_LOGGED_IN":"Lịch chỉ khả dụng cho người dùng đã đăng nhập","NOT_LOGGED_IN_CLOUD":"Truy cập các bộ phim và chương trình TV yêu thích của bạn mọi lúc, mọi nơi","NOT_LOGGED_IN_RECOMMENDATIONS":"Đề xuất phù hợp với lịch sử xem của bạn","NOT_LOGGED_IN_NOTIFICATIONS":"Không bao giờ bỏ lỡ một tập nào nữa","NOT_LOGGED_IN_CALENDAR":"Sắp xếp lịch xem cá nhân của bạn","DISCOVER_FEATURED":"Đặc sắc","DISCOVER_TOP":"Hàng đầu","DISCOVER_OSCAR":"Thắng giải Oscar","DISCOVER_WARNING_TITLE":"Ối!","DISCOVER_EMPTY_CATALOG":"Add-on này trả về nội dung trống.","DISCOVER_ADULT_WARNING":"Nội dung chỉ hiển thị cho người lớn. Bạn có trên 18 tuổi không?","DISCOVER_NOADDON_WARNING":"Cảnh báo: không có add-on Stremio nào hoạt động cho loại này. Hiển thị các mục đã lưu, không có gì ở đây sẽ cập nhật.","DISCOVER_LOAD_ERR":"Nội dung không tải được, đã xảy ra lỗi.","DISCOVER_ADDON_UNINSTALLED":"Nội dung này không còn nữa, bạn có thể đã gỡ bỏ add-on.","UNINSTALL_THIS_ADDON":"Gỡ bỏ add-on này","ERR_ADDON_NOT_INSTALLED":"Add-on này chưa được cài đặt. Cài đặt ngay?","DETAIL_RECEIVE_NOTIF_SERIES":"Nhận thông báo về các tập mới","DETAIL_RECEIVE_NOTIF_VIDEOS":"Nhận thông báo về video mới","SIDEBAR_SHOW_STREAMS":"Hiển thị luồng","RELAUNCH":"Tái khởi chạy ngay bây giờ!","UPGRADE":"Đã có phiên bản mới! Nâng cấp lên phiên bản Stremio mới nhất","RELOAD_UI":"Tải lại giao diện người dùng","MANUAL_UPDATE_TITLE":"Cập nhật phiên bản Stremio của bạn","MANUAL_UPDATE_LINE1":"Bạn đang chạy một phiên bản cũ của Stremio, phiên bản này rất không được khuyến nghị.","MANUAL_UPDATE_LINE2":"Vui lòng cập nhật càng sớm càng tốt.","BUTTON_UPDATE_LATTER":"Không phải bây giờ","BUTTON_UPDATE_NOW":"Cập nhật","ANONYMOUS_USER":"Người dùng ẩn danh","DONT_HAVE_ACC":"Chưa có tài khoản?","HAVE_ACC":"Sẵn sàng để tạo một tài khoản?","PASSWORD":"Mật khẩu","PASSWORD_CONFIRM":"Xác nhận mật khẩu","EMAIL":"E-mail","FB_LOGIN":"Tiếp tục với Facebook","FB_NOTHINGSHARED":"Không có gì được chia sẻ mà không có sự cho phép của bạn","FB_NOPOST":"Chúng tôi sẽ không đăng bất cứ điều gì thay mặt bạn","OR":"hoặc","I_ACCEPT":"Tôi chấp nhận","I_ACCEPT_BY_CLICKING":"Bằng cách nhấp vào nút ở trên, tôi chứng nhận rằng tôi chấp nhận ","TOS":"Các điều khoản và điều kiện","MUST_ACCEPT_TERMS":"Bạn phải chấp nhận các điều khoản","PASSWORDS_NOMATCH":"Mật khẩu không khớp","SIGN_UP":"Đăng ký","SIGN_UP_EMAIL":"Đăng ký với email","CLICK_TO_SIGN_UP":"Nhấn vào đây để đăng ký.","LOG_IN":"Đăng nhập","LOG_OUT":"Đăng xuất","EXIT_FULLSCREEN":"Thoát chế độ toàn màn hình","ENTER_FULLSCREEN":"Vào chế độ toàn màn hình","PLAY_URL_MAGNET_LINK":"Phát URL/Liên kết nam châm","HELP_FEEDBACK":"Trợ giúp & Phản hồi","TERMS_OF_SERVICE":"Điều khoản dịch vụ","PRIVACY_POLICY":"Chính sách bảo mật","ABOUT_STREMIO":"Giới thiệu về Stremio","USER_PANEL":"Bảng điều khiển người dùng","LOGIN_LABEL":"Đăng nhập","GUEST_LOGIN":"Đăng nhập của khách","GUEST_LOGIN_NOTICE":"Đăng nhập với tư cách khách không được khuyến nghị. Sử dụng thông tin đăng nhập thông thường cho phép Stremio đồng bộ hóa Thư viện của bạn, nhận thông báo cho các bộ/kênh yêu thích. Bạn có chắc chắn muốn tiếp tục không?","GUEST_LOGIN_NOTICE_2":"Đăng nhập với tư cách khách không được khuyến nghị - bạn sẽ không đồng bộ hóa thông báo Thư viện và Bảng, đây là những tính năng quan trọng của Stremio. Bạn có chắc chắn muốn tiếp tục không?","CLICK_HERE":"bấm vào đây","WRONG_PASSWORD":"Sai email hoặc mật khẩu. Trong trường hợp bạn quên mật khẩu, ","SET_A_PASS":"đặt mật khẩu","RESET_PASSWORD":"Đặt lại mật khẩu","FORGOT_PASSWORD":"Quên mật khẩu?","EMAIL_USED_WITH_FB":"Email này đã được sử dụng với thông tin đăng nhập Facebook.","INVALID_EMAIL":"Vui lòng nhập địa chỉ email hợp lệ","INVALID_PASSWORD":"Vui lòng nhập mật khẩu hợp lệ","CONN_ERR":"Lỗi kết nối - vui lòng thử lại sau.\\n\\nNếu lỗi này vẫn tiếp diễn, hãy tắt tường lửa/phần mềm diệt vi-rút (đặc biệt là Bitdefender).","IMPORT_FROM_GUEST":"Nhập thư viện từ tài khoản khách của bạn","RECEIVE_UPDATES_EMAIL":"Nhận thông tin cập nhật cho email của bạn từ Stremio","LOGIN_FAILED":"Đăng nhập thất bại.","SIGNUP_FAILED":"Đăng ký thất bại.","SEARCH_FAILED":"Tìm kiếm không thành công","EMAIL_USED":"Email này đã được sử dụng.","WAITING_FB_LOGIN":"Đăng nhập bằng Facebook...","EXTERNAL_PLAYER_TITLE":"Phát trong trình phát ngoài","EXTERNAL_REMEMBER_PLAYER":"Bạn có muốn ghi nhớ lựa chọn của mình không","EXTERNAL_ALWAYS_PLAY":"Đúng","EXTERNAL_ONLY_ONCE":"Không","BEST_FIT":"Phù hợp nhất","FIT_SCREEN":"Vừa với màn hình","FILL":"Lấp đầy","16:9":"16:9","4:3":"4:3","Original":"Nguyên bản","INTRO_TASTE":"Nói cho chúng tôi biết bạn thích gì","INTRO_TASTE_LONG":"Nói cho chúng tôi biết bạn muốn xem gì","INTRO_TASTE_PICK":"Chọn sở thích {{interestsRemaining}}","INTRO_TASTE_PICK_MORE":"Chọn thêm {{interestsRemaining}} sở thích","INTRO_TASTE_HELP_US":"Giúp chúng tôi hiểu thêm về bạn.","INTRO_TASTE_CHOOSE_THESE":"Chọn một số trong số này:","INTRO_TASTE_CHOOSE_MIN":"Chọn ít nhất 3 danh mục","INTRO_TASTE_CHOOSE_MIN_ERR":"Bạn phải chọn ít nhất 3 danh mục!","INTRO_TASTE_LIFESTYLE":"Phong cách sống","INTRO_TASTE_SPORTS":"Thể thao","INTRO_TASTE_FOOD_HEALTH":"Thực phẩm & Sức khỏe","INTRO_TASTE_BEAUTY_FASHION":"Làm đẹp & Thời trang","INTRO_TASTE_NEWS":"Tin tức","INTRO_TASTE_GAMING":"Trò chơi","INTRO_TASTE_SCIENCE_EDU":"Khoa học & Giáo dục","INTRO_TASTE_MUSIC":"Âm nhạc","INTRO_TASTE_TRAVEL":"Du lịch","INTRO_TASTE_LATE_NIGHT":"Chương trình đêm khuya","INTRO_TASTE_REALITY":"Thực tế","INTRO_TASTE_COMEDY":"Hài kịch","INTRO_TASTE_DIY":"Cách tự làm","INTRO_TASTE_TECH":"Công nghệ","INTRO_TASTE_CINEMA":"Rạp chiếu phim","ADDON_NOT_SUPPORTED":"Add-on đã chọn không được hỗ trợ trên nền tảng này.","ADDON_DISCLAIMER":"Dùng add-on của bên thứ ba sẽ luôn phải tuân theo trách nhiệm của bạn và luật điều chỉnh của khu vực tài phán mà bạn sinh sống.","ADDON_ACTIVATE":"Kích hoạt add-on này?","ADDON_REPO_ADD":"URL bộ sưu tập add-on","ADDON_ADD":"Thêm","INSTALL_ADDON":"Cài đặt add-on","ADD_ADDON":"Thêm add-on","ADD_ADDON_DESCRIPTION":"Bạn có thể thêm một add-on thông qua một liên kết bên ngoài, liên kết này sẽ xuất hiện trong phần add-on đã cài đặt.","PASTE_ADDON_URL":"Dán URL add-on","WHATS_NEW":"Có gì mới","BUTTON_CONTINUE":"Tiếp tục","BUTTON_ACTIVATE":"Kích hoạt","BUTTON_ACTIVATED":"Đã kích hoạt","BUTTON_CANCEL":"Hủy bỏ","BUTTON_SUBMIT":"Nộp","BUTTON_DISMISS_ALL":"Bỏ qua hết","BUTTON_VIEW_ALL":"xem hết","BUTTON_SEE_ALL":"Thấy hết","BUTTON_COLOR_TRANSPARENT":"Trong suốt","OPEN_IN_BROWSER":"Mở trong trình duyệt","LIB_EMPTY":"Thư viện của bạn trông trống rỗng. Tìm hiểu xem nó hữu ích như thế nào :) ","HOW_START":"Đây là cách bạn có thể bắt đầu:","LIB_EMPTY_CAL":"Lịch của bạn hiển thị loạt phim trong Thư viện của bạn.","HOW_START_CAL":"Đây là cách bạn có thể thêm bộ phim:","LIB_EMPTY_BOARD":"Bảng hiển thị các thông báo &amp; đề xuất liên quan đến Thư viện của bạn.","HOW_START_BOARD_WAIT":"Vui lòng thêm một vài loạt phim hoặc kênh vào Thư viện của bạn, hãy cho chúng tôi vài phút để xử lý :)","HOW_START_BOARD":"Đây là cách bạn có thể thêm loạt phim &amp; phim vào đó:","IMPORT_FB":"Nhập nội dung bạn thích từ <span>Facebook</span>","IMPORT_TRAKT":"Nhập thư viện phương tiện của bạn từ <span>Trakt</span>","IMPORT_DISCOVER":"Tìm nội dung thú vị từ <span>Khám phá</span>","IMPORT_DISK":"Nhập phim hoặc chương trình bạn có trên <span>đĩa cục bộ</span>","PLEASE_CREATE_ACC":"Vui lòng <u>tạo tài khoản</u> để bật Đồng bộ hóa thư viện &amp; Bảng.","IMPORT_DISCOVER_SIGNUP":"Đăng ký và tìm nội dung thú vị từ <span>Khám phá</span>","IMPORT_DISK_SIGNUP":"Đăng ký và nhập phim hoặc chương trình bạn có trên <span>đĩa cục bộ</span> của mình","LIB_EMPTY_CLOUD":"Thư viện đám mây","LIB_EMPTY_CLOUD_DESC":"Thư viện đám mây cá nhân được đồng bộ hóa trên tất cả các thiết bị","LIB_EMPTY_EARLY":"Chim non","LIB_EMPTY_EARLY_DESC":"Nhận thông báo về các tập mới","LIB_EMPTY_PERSONAL":"Cá nhân","LIB_EMPTY_PERSONAL_DESC":"Nhận đề xuất cá nhân","LIB_EMPTY_CALENDAR_DESC":"Sắp xếp lịch xem cá nhân của bạn","LIB_EMPTY_ALL":"Đăng ký để nhận được tất cả những thứ này:","LIB_EMPTY_BEST":"Đăng ký để tận dụng tốt nhất Stremio","LIB_EMPTY_OTHER":"Đăng ký để bật Lịch và các tính năng thú vị khác","CALENDAR_ADDED":"Lịch Stremio đã được thêm vào lịch màn hình mặc định của bạn.","CALENDAR_ADDED_MSG":"Nếu cách này không hiệu quả, vui lòng thêm URL này vào ứng dụng lịch của bạn theo cách thủ công","TRAKT_EXPIRED":"Xác thực Trakt đã hết hạn, vui lòng đi tới Thiết đặt và xác thực lại","TRAKT_REQUIRES_LOGIN":"Lỗi Trakt","TRAKT_REQUIRES_LOGIN_MSG":"Bạn cần đăng nhập","TRAKT_IMPORT_WATCHED":"Nhập","THEME":"Chủ đề","THEME_DEFAULT":"Mặc định","THEME_ADAPTIVE":"Thích ứng","SETTINGS_LABEL":"Thiết đặt","SETTINGS_NAV_GENERAL":"Tổng quan","SETTINGS_NAV_PLAYER":"Trình phát","SETTINGS_NAV_STREAMING":"Truyền trực tuyến","SETTINGS_NAV_SHORTCUTS":"Lối tắt","SETTINGS_SHORTCUT_RELOAD_APP":"Tải lại ứng dụng","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Mở thiết đặt","SETTINGS_SHORTCUT_SWITCH_TABS":"Chuyển tab","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Xoay tới các tab phía trước","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Xoay về các tab phía sau","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Điều hướng giữa các menu","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Đi tới Tìm kiếm","SETTINGS_SHORTCUT_EXIT_BACK":"Thoát/Quay lại","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Chuyển đổi menu tốc độ phát lại","SETTINGS_SHORTCUT_MENU_VIDEOS":"Chuyển đổi Menu Video","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Chuyển đổi menu phụ đề","SETTINGS_SHORTCUT_MENU_INFO":"Chuyển đổi menu thông tin","SETTINGS_SHORTCUT_FULLSCREEN":"Chuyển đổi toàn màn hình","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Hiển thị điều khiển","SETTINGS_SHORTCUT_PLAY_PAUSE":"Phát / Tạm dừng","SETTINGS_SHORTCUT_VOLUME_UP":"Tăng âm lượng","SETTINGS_SHORTCUT_VOLUME_DOWN":"Giảm âm lượng","SETTINGS_SHORTCUT_SEEK_NEXT":"Nhảy tới","SETTINGS_SHORTCUT_SEEK_PREV":"Nhảy lùi","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Tua về sau","SETTINGS_SHORTCUT_SEEK_FORWARD":"Tua về trước","SETTINGS_SHORTCUT_PLAY_NEXT":"Phát kế tiếp","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Tăng kích thước phụ đề","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Giảm kích thước phụ đề","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Tăng độ trễ phụ đề","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Giảm độ trễ phụ đề","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Chuyển đổi thanh bên","SETTINGS_SHORTCUT_OR":"hoặc","SETTINGS_SHORTCUT_TO":"đến","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Xác thực","SETTINGS_FACEBOOK_IMPORT":"Nhập vào","SETTINGS_CALENDAR_SUBSCRIBE":"Đăng ký","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Ngôn ngữ giao diện","SETTINGS_LAUNCH_STARTUP":"Khởi chạy khi khởi động","SETTINGS_VLC_DEFAULT":"Phát bằng VLC","SETTINGS_UI_LANGUAGE":"Ngôn ngữ giao diện người dùng","SETTINGS_UI_ZOOM":"Thu phóng giao diện","SETTINGS_FULLSCREEN_EXIT":"Phím Esc thoát toàn màn hình","SETTINGS_GAMEPAD":"Bật hỗ trợ gamepad","SETTINGS_CLOSE_WINDOW":"Đóng ứng dụng khi đóng cửa sổ","SETTINGS_SUBTITLES_LANGUAGE":"Ngôn ngữ phụ đề mặc định","SETTINGS_SUBTITLES_SIZE":"Kích thước phụ đề mặc định","SETTINGS_SUBTITLES_BACKGROUND":"Nền phụ đề","SETTINGS_SUBTITLES_COLOR":"Màu phụ đề","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Màu đường viền phụ đề","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Màu nền phụ đề","SETTINGS_SEEK_KEY":"Nút mũi tên tua thời lượng","SETTINGS_SEEK_KEY_SHIFT":"Nút mũi tên tua thời lượng khi giữ phím Shift","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Thời lượng Tua lại & Tua nhanh","SETTINGS_BINGE":"Tự động phát tập tiếp theo","SETTINGS_NEXT_VIDEO":"Hiển thị thông báo để bắt đầu tập tiếp theo","SETTINGS_NEXT_VIDEO_TRIGGER":"Hiển thị thông báo tập tiếp theo cho:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Thời lượng bật lên của video tiếp theo","SETTINGS_PLAY_IN_BACKGROUND":"Phát trong nền","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Phát trong trình phát ngoài","SETTINGS_RESIZE":"Tự động thay đổi kích thước cửa sổ trước khi phát","SETTINGS_OVERRIDE_SERVER":"Ghi đè URL máy chủ truyền trực tuyến (nâng cao)","SETTINGS_SERVER_URL":"URL máy chủ truyền trực tuyến: ","SETTINGS_SERVER_AVAILABLE":"Máy chủ truyền trực tuyến khả dụng.","SETTINGS_SERVER_UNAVAILABLE":"Máy chủ truyền trực tuyến không khả dụng.","SETTINGS_SERVER_STATUS_ONLINE":"Trực tuyến","SETTINGS_SERVER_STATUS_ERROR":"Lỗi","SETTINGS_SERVER_CONFIGURE_TITLE":"Định cấu hình url máy chủ truyền trực tuyến","SETTINGS_SERVER_CONFIGURE_INPUT":"Nhập url máy chủ truyền trực tuyến","SETTINGS_SERVER_CACHE_SIZE":"Kích thước bộ nhớ đệm","SETTINGS_SERVER_TORRENT_PROFILE":"Hồ sơ torrent","SETTINGS_HTTPS_ENDPOINT":"Truyền trực tuyến máy cuối HTTPS: ","SETTINGS_TRANSCODE_PROFILE":"Hồ sơ chuyển mã","SETTINGS_USE_BETA":"Luôn sử dụng bản Beta mới nhất","SETTINGS_IMPORT_FB":"Nhập từ facebook","SETTINGS_IMPORT_DISK":"Nhập từ đĩa cục bộ","SETTINGS_IMPORT_TRAKT":"Nhập từ Trakt","SETTINGS_PAUSE_MINIMIZED":"Tạm dừng phát lại khi thu nhỏ","SETTINGS_HWDEC":"Giải mã tăng tốc phần cứng","SETTINGS_BACKGROUND":"Phát lại trong nền","SETTINGS_SUBSCRIBE_CALENDAR":"Đăng ký lịch","SETTINGS_REQ_EXPORT":"Yêu cầu xuất dữ liệu","SETTINGS_ACC_DELETE":"Yêu cầu xóa tài khoản","SETTINGS_CHANGE_PASSWORD":"Đổi mật khẩu","SETTINGS_TOS":"Điều khoản dịch vụ","SETTINGS_SUPPORT":"Liên hệ hỗ trợ","SETTING_LANGUAGE":"Ngôn ngữ","SETTINGS_TRAKT":"Trakt Thống kê","SETTINGS_TRAKT_LOGOUT":"Đăng xuất khỏi Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Đăng xuất khỏi Trakt","SETTINGS_SCAN_FOR_REMOTE":"Quét mã QR để mở điều khiển từ xa","SETTINGS_DESKTOP_NOTIFICATIONS":"Thông báo trên màn hình","SETTINGS_DATA_SAVER":"Trình tiết kiệm dữ liệu","SETTINGS_LANGUAGE_INTERFACE":"giao diện","SETTINGS_LANGUAGE_SUBS":"phụ đề mặc định","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Tự động chọn luồng âm thanh","SETTINGS_DEFAULT_AUDIO_TRACK":"Luồng âm thanh mặc định","SETTINGS_SURROUND_SOUND":"Âm thanh vòm","SETTINGS_ACCOUNT":"tài khoản","SETTINGS_PLATFORM":"Nền tảng","SETTINGS_VERSION":"phiên bản","SETTINGS_ABOUT":"Giới thiệu","SETTINGS_MPV_WINDOW":"Khởi chạy trình phát trong cửa sổ riêng (nâng cao)","SETTINGS_PLAY_IN_EXTERNAL":"Luôn bắt đầu video trong trình phát bên ngoài","SETTINGS_STORAGE_BUTTON":"Xóa bộ nhớ cục bộ","SETTINGS_STORAGE_MODAL_TITLE":"Bạn có chắc không ?","SETTINGS_STORAGE_MODAL_MESSAGE":"Thao tác này sẽ xóa bộ nhớ cục bộ và đăng xuất bạn.","SETTINGS_HWDEC_PICKER":"Chọn thiết đặt giải mã tăng tốc phần cứng","SETTINGS_HW_AUTOMATIC":"Tự động","SETTINGS_HW_DISABLED":"Đã tắt","SETTINGS_HW_ACCELERATED":"Giải mã tăng tốc","SETTINGS_HW_FULL":"Tăng tốc tối đa","SETTINGS_HW_LEGACY":"Tương thích ngược","SETTINGS_DISABLED":"Đã tắt","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Thông báo kết nối mạng","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"URL từ xa","SETTINGS_COPY_REMOTE_URL":"Sao chép URL từ xa","SETTINGS_REMOTE_URL_COPIED":"URL từ xa đã được sao chép vào clipboard của bạn","SETTINGS_SECTION_SUBTITLES":"Phụ đề","SETTINGS_SECTION_AUDIO":"Âm thanh","SETTINGS_SECTION_CONTROLS":"Điều khiển","SETTINGS_SECTION_AUTO_PLAY":"Tự động phát","SETTINGS_SECTION_ADVANCED":"Nâng cao","SUBSPICKER_AUDIO":"Âm thanh","SUBSPICKER_SUBTITLES":"Add-on phụ đề","SUBSPICKER_BLACK_BACKGROUND":"Sử dụng nền màu đen","SUBSPICKER_VERTICAL_OFFSET":"Bù đắp theo chiều dọc","SUBSPICKER_SIZE":"Kích cỡ","SUBSPICKER_DELAY":"Độ trễ","SUBSPICKER_EMBEDDED_SUBS":"Phụ đề nhúng","MOBILE_PRIVACY_POLICY":"Chính sách bảo mật","MOBILE_CRASH_REPORTING":"Báo cáo sự cố","MOBILE_ZOOM_TO_FILL":"Thu phóng để lấp đầy màn hình","MOBILE_PASSTHROUGH":"Đầu ra âm thanh kỹ thuật số (passthrough)","MOBILE_RUN_LOW_BATTERY":"Chạy khi pin yếu","MOBILE_RUN_FOREGROUND":"Chạy dưới dạng dịch vụ thấy được","MOBILE_PERFORMANCE":"HIỆU SUẤT & ỔN ĐỊNH","MOBILE_SERVER_ONLINE":"Trực tuyến","MOBILE_SERVER_OFFLINE":"Ngoại tuyến","MOBILE_QR_EXPIRES":"Mã QR hết hạn sau ","MOBILE_LOG_INTO":"Đăng nhập vào tài khoản Stremio của bạn","MOBILE_SCAN_QR":"Quét mã QR ở trên hoặc truy cập ","MOBILE_LINK_ACCOUNT":"Liên kết tài khoản","MOBILE_SPEEDPICKER_CANCEL":"Hủy bỏ","MOBILE_SPEEDPICKER_LABEL":"Chọn tốc độ phát lại","MOBILE_EMPTY_LIBRARY":"Thư viện của bạn trống","MOBILE_NO_ADDON_ACTIVE":"Không có add-on Stremio nào hoạt động cho loại này.","MOBILE_ORGANIZER_WARNING":"Ứng dụng Stremio Organizer cung cấp chức năng hạn chế. Để có danh sách các luồng có thể phát và trải nghiệm Stremio đầy đủ, hãy sử dụng Stremio trên máy tính để bàn.","MOBILE_ADDON_LOADING":"vẫn đang tải","MOBILE_ADDONS_LOADING":"add-on vẫn đang tải","MOBILE_ADDON":"Add-on","MOBILE_CONFIGURE_ADDON":"Định cấu hình add-on của bạn","MOBILE_CONFIGURE_ADDON_LABEL":"Cấu hình add-on","MOBILE_ORGANIZER_ADDONS_WARNING":"Ứng dụng Stremio Organizer cung cấp một số lựa chọn add-on hạn chế. Để có trải nghiệm Stremio đầy đủ, hãy sử dụng Stremio trên máy tính để bàn.","MOBILE_DISCONNECT":"Ngắt kết nối","MOBILE_LOOKING_FOR_DEVICES":"Đang tìm thiết bị...","MOBILE_CAST_TO":"Truyền tới","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Xóa tài khoản","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Việc xóa tài khoản không xảy ra ngay lập tức do các nghĩa vụ pháp lý. Sau khi yêu cầu xóa tài khoản của mình, bạn sẽ phải sử dụng địa chỉ email/hồ sơ facebook khác để tạo tài khoản Stremio mới trong tương lai.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Xác nhận xóa tài khoản","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Tài khoản của bạn đã được tạo bằng Facebook. Để xóa tài khoản của bạn, vui lòng sử dụng cổng thông tin người dùng của chúng tôi tại www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Vui lòng cung cấp mật khẩu của bạn để xác nhận xóa tài khoản.","MOBILE_DELETE_ACCOUNT_BUTTON":"Xóa tài khoản","NAVIGATION_ON":"Mở","NAVIGATION_OFF":"Tắt","MARKETING_AGREE":"Tôi đồng ý nhận thông tin tiếp thị từ Stremio","QUIT":"Từ bỏ","CONNECTED":"Đã kết nối","AUTHENTICATE":"Xác thực","CACHING":"Bộ nhớ đệm","SETTINGS_CACHING_DRIVE":"Ổ đĩa đệm","ENABLE_LOCAL_FILES_ADDON":"Kích hoạt add-on tệp cục bộ (yêu cầu khởi động lại)","LOCAL_ADDON_NOT_ENABLED":"Add-on cục bộ chưa được bật. Nhấp vào đây để đi tới thiết đặt và bật nó","ENABLE_REMOTE_HTTPS_CONN":"Bật kết nối HTTPS từ xa","TORRENT_PROFILE":"Hồ sơ torrent","DATA_CACHING":"Bộ nhớ đệm dữ liệu","MAGNET_PARSING":"Phân tích một liên kết nam châm","January":"Tháng Một","February":"Tháng Hai","March":"Tháng Ba","April":"Tháng Tư","May":"Tháng Năm","June":"Tháng Sáu","July":"Tháng Bảy","August":"Tháng Tám","September":"Tháng Chín","October":"Tháng Mười","November":"Tháng Mười Một","December":"Tháng Mười Hai","Monday":"Thứ Hai","Tuesday":"Thứ Ba","Wednesday":"Thứ Tư","Thursday":"Thứ Năm","Friday":"Thứ Sáu","Saturday":"Thứ Bảy","Sunday":"Chủ Nhật","Action":"Hành động","Comedy":"Hài kịch","War":"Chiến tranh","Family":"Gia đình","Animation":"Hoạt hình","Adventure":"Phiêu lưu","Fantasy":"Tưởng tượng","Crime":"Tội phạm","Mystery":"Bí ẩn","Romance":"Lãng mạn","Drama":"Kịch","Horror":"Kinh dị","Thriller":"Giật gân","Sci-Fi":"Khoa học viễn tưởng","Music":"Âm nhạc","Biography":"Tiểu sử","Documentary":"Tài liệu","Sport":"Thể thao","Musical":"Âm nhạc","Western":"Viễn Tây","Film-Noir":"Phim đen","News":"Tin tức","History":"Lịch sử","Game-Show":"Trò chơi truyền hình","Reality-TV":"Truyền hình thực tế","Talk-Show":"Tọa đàm","Film & Entertainment":"Phim & Giải trí","Gaming":"Trò chơi","From TV":"Từ TV","Lifestyle":"Phong cách sống","Science & Education":"Khoa học & Giáo dục","Cooking & Health":"Nấu ăn & Sức khỏe","Beauty & Fashion":"Làm đẹp & Thời trang","Sports":"Thể thao","News & Politics":"Tin tức & Chính trị","How-to & DIY":"Hướng dẫn & Tự làm","Tech":"Công nghệ","Automotive":"Ô tô","Causes & Non-Profits":"Chính nghĩa & Phi lợi nhuận","Movies":"Phim","Uk Live Tv":"Truyền hình trực tiếp Vương quốc Anh","Fashion":"Thời trang","Business News Radio":"Radio tin tức kinh doanh","Business Tv":"Truyền hình kinh doanh","Cars & Auto":"Xe hơi & Ô tô","Comedy Radio":"Radio hài kịch","Lifestyle Radio":"Radio phong cách sống","News Tv":"Truyền hình tin tức","Food And Wine":"Thức ăn Và rượu","Latino Tv":"Truyền hình Latinh","Shopping Tv":"Truyền hình Mua sắm","Religion":"Tôn giáo","Kids":"Trẻ em","Body & Soul":"Thể xác & Linh hồn","Education":"Giáo dục","Indian Tv":"Truyền hình Ấn Độ","Extreme Sports":"Thể thao mạo hiểm","Middle Eastern Tv":"Truyền hình Trung Đông","Celebrity Tv":"Truyền hình Người nổi tiếng","Science Tv":"Truyền hình khoa học","Bikini babe":"Bikini em yêu","Outdoors":"Ngoài trời","German Tv":"Truyền hình Đức","French Tv":"Truyền hình Pháp","Italian Tv":"Truyền hình Ý","Gamer Tv":"Truyền hình game thủ","Travel":"Du lịch","Asian Tv":"Truyền hình Châu Á","Entertainment":"Giải trí","News Radio":"Radio tin tức","Music Radio":"Radio âm nhạc","Language Learning":"Học ngôn ngữ","Science Radio":"Radio khoa học","Tech Radio":"Radio công nghệ","Science & Technology Vod":"Khoa học & Công nghệ Video theo yêu cầu","new video":"video mới","new episode":"tập mới","new movie":"phim mới","recommended":"khuyến khích","we recommend":"chúng tôi đề nghị","offer of the day":"đề nghị trong ngày","news":"tin tức","music video":"video âm nhạc","CTX_SHOW_HOTKEYS":"Hiển thị phím nóng","CTX_DISMISS_NOTIF":"Bỏ qua thông báo","CTX_DISMISS_ALL":"Bỏ qua tất cả","CTX_SHARE":"Chia sẻ","CTX_COPY_SHARE_LINK":"Sao chép liên kết chia sẻ","CTX_COPY_MAGNET_LINK":"Sao chép liên kết nam châm","CTX_COPY_STREAM_LINK":"Sao chép liên kết luồng","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Tải video này","CTX_DOWNLOAD_SUBS":"Tải xuống phụ đề","CTX_VIEW_ON_YOUTUBE":"Xem trên YouTube","CTX_SHOW":"Hiển thị","CTX_PLAY":"Phát","CTX_PLAY_IN":"Phát trong","CTX_PLAY_ON":"Phát trên","CTX_WATCH_ON":"Xem trên","CTX_WATCH":"Xem","CTX_WATCHED":"Đã xem","CTX_WATCH_BEGINNING":"Xem từ đầu","CTX_WATCH_MOBILE":"Xem trên thiết bị di động","CTX_REWIND":"Tua lại từ đầu","CTX_MARK_WATCHED":"Đánh dấu là đã xem","CTX_MARK_NON_WATCHED":"Đánh dấu là chưa xem","CTX_MARK_UNWATCHED":"Đánh dấu là chưa xem","CTX_MARK_REST":"Đánh dấu phần còn lại là đã xem","CTX_UNMARK_REST":"Đánh dấu phần còn lại là chưa xem","CTX_RECEIVE_NEW_NOTIF":"Nhận thông báo mới","CTX_ENABLE_NEW_NOTIF":"Bật thông báo","CTX_DISABLE_NEW_NOTIF":"Tắt thông báo","CTX_REMOVE_CACHE":"Loại khỏi bộ nhớ cache","CTX_REMOVE_CACHE_EP":"Loại tập phim khỏi bộ nhớ đệm","CTX_OPEN_CONTAINING":"Mở thư mục chứa","CTX_REMOVE":"Loại khỏi thư viện","CTX_AVAILABLE_OFFLINE":"Ngoại tuyến sẵn sàng","CTX_PAUSED":"Đã tạm dừng","CTX_ALWAYS_ON_TOP":"Luôn luôn trên đầu trang","CTX_FULLSCREEN":"Toàn màn hình","CTX_WRONG_SUBS":"Phụ đề sai?","CTX_REPORT_ISSUES":"Báo cáo phát hành","CTX_COPY":"Sao chép","CTX_PASTE":"Dán","CTX_CLEAR":"Xóa","CTX_CLEAR_RECENT_SEARCHES":"Xóa các tìm kiếm gần đây","HELLO_THERE":"Chào đằng ấy","HOPE_YOU_ENJOY":"Chúng tôi hy vọng bạn thích Stremio và nó đã là một trong những ứng dụng yêu thích của bạn!","WHO_ARE_WE":"Chúng tôi là ai? Chúng tôi là đội ngũ đằng sau nó - hai người làm việc chăm chỉ mỗi ngày trong 3 năm qua để làm cho sản phẩm này ngày càng tốt hơn.","SUPPORT_US":"Nếu bạn thích sử dụng Stremio, nếu Stremio có giá trị đối với bạn - hãy quảng bá!","SPREAD_THE_WORD":"Chia sẻ với bạn bè của bạn ngay bây giờ, quảng bá về Stremio","MORE_PEOPLE":"Càng nhiều người sử dụng Stremio, nó càng trở nên tốt hơn!","SEND_A_LINK":"Hoặc gửi liên kết đến trang web của chúng tôi","TIP_LOCALFILES":"Mẹo: bạn có thể kéo và thả các tệp video cục bộ vào Stremio","ADDON_MY":"Add-on của tôi","ADDON_COMMUNITY":"Add-on cộng đồng","ADDON_OFFICIAL":"Add-on chính thức","ADDON_REPOS":"Bộ sưu tập add-on","ADDON_SEARCH":"Tìm kiếm add-on","ADDON_INSTALL":"Cài đặt","ADDON_CONFIGURE":"Cấu hình","ADDON_UNINSTALL":"Gỡ cài đặt","ADDON_UPGRADE":"Nâng cấp","ADDON_INSTALLED":"Đã cài đặt","ADDON_INSTALLED_MSG":"Add-on đã cài đặt!","ADDON_UPGRADED_MSG":"Add-on đã nâng cấp!","ADDON_UNKNOWN":"Không xác định","ADDON_ERR":"Lỗi cài đặt add-on!","ADDON_DISCONNECTED":"Đã ngắt kết nối","ADDON_APP_MISSING":"ứng dụng cho nguồn này chưa được cài đặt. Bạn có muốn cài đặt nó ngay bây giờ không?","ADDON_APP_INSTALL":"Cài đặt ngay","ADDON_PAGE":"Trang add-on","ADDON_TOP_CONTENT":"Tốt nhất từ Add-on này","ADDON_PROVIDES":"Add-on này sẽ cung cấp cho bạn:","ADDON_WATCH":"Xem #{types} ngay bây giờ!","ADDON_WATCH_FREE":"Xem #{types} MIỄN PHÍ ngay bây giờ!","ADDON_ADDON":"Add-on","ADDON_SUPPORTED_TYPES":"Các loại được hỗ trợ","ADDON_SUPPORTED_CATALOGS":"Danh mục được hỗ trợ","ADDON_PROVIDES_DISCOVER":"Nhiều #{types} hơn trong Khám phá","ADDON_PROVIDES_STREAMS":"Xem #{types}","ADDON_PROVIDES_STREAMS_FREE":"Xem #{types} MIỄN PHÍ","ADDON_PROVIDES_SUBTITLES":"Phụ đề cho #{types}","ADDON_CANTDETECT":"Chúng tôi không thể phát hiện Stremio đang chạy, vì vậy chúng tôi không thể phát hiện những add-on mà bạn đã cài đặt.","ERR_NO_META":"Không tìm thấy thông tin nào về điều này","ERR_GETTING_META":"Lỗi khi truy xuất thông tin về điều này.","ERR_CANT_PARSE_MAGNET":"Không thể phân tích cú pháp nam châm","ERR_NO_MAGNET_INFOHASH":"Không có hàm băm thông tin hợp lệ cho nam châm","ERR_NO_FILE_PATH":"Không thể gửi yêu cầu mà không có đường dẫn đến tệp","ERR_NO_TORRENT":"Không có torrent nào trả về","ERR_NO_SUPPORTERD_FILES":"Không tìm thấy tệp được hỗ trợ","ERR_OPENING_FILES":"Không thể mở tệp bên ngoài","ERR_INVALID_LINK":"Liên kết không hợp lệ","ERR_REGISTERED_ONLY":"Tùy chọn này chỉ khả dụng cho người dùng đã đăng ký.","ERR_CLIPBOARD":"Không thể phát từ clipboard","ERR_CLIPBOARD_READ":"Không thể đọc clipboard trên nền tảng này","ERR_CLIPBOARD_GENERIC":"Không tìm thấy URL có thể phát trong clipboard. Vui lòng sao chép URL (ví dụ: liên kết nam châm) vào video.","BOARD_CONTINUE_WATCHING":"Tiếp tục xem","BOARD_EXPLANATION_RECOMMENDATIONS":"Những bộ phim được chọn đặc biệt dành cho bạn.<br/>Phim này là một đề xuất mẫu.","BOARD_EXPLANATION_EPISODES":"Các tập mới của Loạt phim yêu thích của bạn đến đây.<br/>Thêm loạt phim bạn theo dõi vào Thư viện.","BOARD_EXPLANATION_VIDEOS":"Các tập mới của các Kênh yêu thích của bạn đến đây.<br/>Thêm các kênh YouTube mà bạn theo dõi vào Thư viện.","WEBSITE_ENJOYED_BY":"Được hơn 30 triệu người dùng trên toàn thế giới yêu thích","WEBSITE_STREAMING_ENHANCED":"Phát trực tuyến nâng cao","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio mang đến trải nghiệm giải trí an toàn, hiện đại và liền mạch. Với giao diện dễ sử dụng và thư viện nội dung đa dạng, bao gồm hỗ trợ 4K HDR, người dùng có thể thưởng thức các bộ phim và chương trình TV yêu thích trên tất cả các thiết bị của mình. Và với cam kết về bảo mật của nó, Stremio là sự lựa chọn tối ưu để có trải nghiệm phát trực tuyến chất lượng cao, an tâm.","WEBSITE_AVAILABLE_ON":"Có sẵn trên","WEBSITE_WATCH_AND_ENJOY":"Xem & thưởng thức.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio biến nó thành một miếng bánh","WEBSITE_ALL_FEATURES":"Tất cả tính năng","WEBSITE_EASY_TO_USE":"Dễ sử dụng","WEBSITE_EASY_TO_USE_DETAILS":"Stremio được thiết kế thân thiện với người dùng và dễ sử dụng. Với giao diện gọn gàng và trực quan, bạn có thể dễ dàng điều hướng và tìm thấy nội dung mình muốn xem.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Liền mạch xuyên suốt các thiết bị","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Có sẵn cho nhiều nền tảng (bao gồm Windows, Mac, Linux, Android và hơn thế nữa), Stremio sẽ theo dõi tiến trình của bạn trên tất cả các thiết bị. Chỉ cần đăng nhập và tiếp tục xem mà không cần phải định cấu hình lại ứng dụng trên mỗi thiết bị mới.","WEBSITE_ALL_DOWNLOADS":"Tất cả nội dung tải xuống","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"Hỗ trợ video độ nét cao","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"Trình phát video tích hợp hỗ trợ hầu hết các định dạng video, bao gồm cả nội dung 4K HDR, cho phép bạn tận hưởng chất lượng cao nhất hiện có.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Thư viện nội dung phong phú","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio tích hợp với nhiều nguồn video phổ biến, chẳng hạn như Netflix, Amazon Prime Video, Hulu, YouTube và nhiều nguồn khác.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Tạo một tài khoản miễn phí","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Trải nghiệm xem phù hợp","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio cho phép bạn tùy chỉnh giao diện bằng cách thay đổi chủ đề, thêm hoặc xóa add-on, v.v.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Hỗ trợ phụ đề đa ngôn ngữ","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"Giờ đây, bạn có thể thưởng thức tất cả nội dung yêu thích bằng ngôn ngữ ưa thích của mình vì Stremio hỗ trợ phụ đề ở tất cả các ngôn ngữ.","WEBSITE_ALL_STREMIO_FEATURES":"Tất cả tính năng của Stremio","WEBSITE_TRY_STREMIO_TITLE_P1":"Thử Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"Trên TV của bạn bây giờ","WEBSITE_YOU_CAN_NOW_WATCH":"Giờ đây, bạn có thể xem tất cả các chương trình truyền hình yêu thích trên thiết bị Android TV của mình. Ứng dụng Stremio TV cho phép bạn tận hưởng một đêm xem phim một cách dễ dàng.","WEBSITE_YOU_CAN_NOW_WATCH_2":"Giờ đây, bạn có thể xem tất cả các chương trình truyền hình yêu thích trên TV thông minh hoặc Android TV. Ứng dụng Stremio TV cho phép bạn tận hưởng một đêm xem phim một cách dễ dàng.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio cho TV thông minh","WEBSITE_PLAY_STORE_REVIEW":"Có lẽ là ứng dụng tốt nhất và hữu ích nhất cần có trong thiết bị của bạn. Đây là một trong những ứng dụng tôi sử dụng hàng ngày, đặc biệt là trên Android TV của tôi trong nhiều năm nay. Được phát triển tốt với một cộng đồng mạnh mẽ cung cấp các chức năng hữu ích. Làm tốt lắm. Hãy tiếp tục phát huy công việc tốt.","WEBSITE_REVIEWS":"đánh giá","WEBSITE_GET_STREMIO_FOR_FREE":"Nhận Stremio miễn phí","WEBSITE_GET_STREMIO_NOW":"Tải Stremio ngay","WEBSITE_STREMIO_FEATURES":"Tính năng Stremio","WEBSITE_STREMIO_FEATURES_DETAILS":"Truyền phát như một chuyên gia với các tính năng nâng cao của Stremio và tận hưởng khả năng truy cập liền mạch vào tất cả phương tiện yêu thích của bạn","WEBSITE_DISCOVER_MORE":"Khám phá nhiều hơn.","WEBSITE_DISCOVER_MORE_DETAILS":"Không bao giờ hết nội dung để xem","WEBSITE_COMMUNITY_DRIVEN":"Dựa vào cộng đồng","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio có một cộng đồng người dùng rộng lớn và tích cực, những người đóng góp vào sự phát triển của phần mềm bằng cách tạo và chia sẻ các add-on.","WEBSITE_GET_INVOLVED":"Tham gia vào","WEBSITE_NEW_THEATER_EXPERIENCE":"Trải nghiệm sân khấu mới","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Ứng dụng TV chuyên dụng mới của Stremio cho phép bạn tận hưởng một đêm xem phim trên thiết bị Android TV của mình.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Các ứng dụng TV chuyên dụng mới của Stremio cho phép bạn tận hưởng một đêm xem phim trên các thiết bị Smart TV hoặc Android TV.","WEBSITE_FREE_AND_SECURE":"Tự do & Bảo mật","WEBSITE_STREAMING":"Truyền phát","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio mang đến sự bảo mật và quyền riêng tư chưa từng có cho người dùng. Với tính năng độc đáo là chạy các add-on từ xa, Stremio cung cấp một cách an toàn hơn để truyền phát nội dung yêu thích của bạn so với các nền tảng khác. Bảo mật và quyền riêng tư của bạn là ưu tiên hàng đầu và nền tảng này đảm bảo rằng tất cả dữ liệu của bạn được bảo vệ.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Hãy tạm biệt những lo lắng về bảo mật và quyền riêng tư và chào đón thế giới giải trí bất tận với Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Thông tin được cung cấp bởi","WEBSITE_CONTRIBUTE":"Đóng góp","WEBSITE_CONTRIBUTE_DESC":"tới dự án và giúp chúng tôi cải tiến Stremio tốt hơn nữa","WEBSITE_COMMUNITY_DESC":"Chúng tôi tin rằng cách tốt nhất để tạo ra trải nghiệm phát trực tuyến thực sự tuyệt vời là thu hút cộng đồng của chúng tôi tham gia vào quá trình này. Cho dù bạn là lập trình viên, nghệ sĩ hay chỉ là người hâm mộ - bạn đều có thể giúp Stremio phát triển.","WEBSITE_COMMUNITY_DESC_2":"Vì vậy, hãy tham gia với chúng tôi ngay hôm nay và trở thành một phần của cộng đồng Stremio cũng như tiếp tục định hình tương lai của dịch vụ phát trực tuyến.","WEBSITE_WAYS_TO_GET_INVOLVED":"Các cách để tham gia","WEBSITE_IN_THE_STREMIO_COMMUNITY":"trong cộng đồng Stremio","WEBSITE_SHARE_YOUR_THOUGHTS":"Chia sẻ những suy nghĩ của bạn","WEBSITE_REPORT_BUGS":"Báo cáo lỗi","WEBSITE_SUGGEST_FEATURES":"đề xuất tính năng","WEBSITE_AND_PROVIDE_FEEDBACK":"và cung cấp phản hồi trên các kênh truyền thông xã hội của chúng tôi.","WEBSITE_BETA_TESTING_PROGRAM":"Chương trình thử nghiệm beta","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Tham gia chương trình thử nghiệm beta của chúng tôi (chúng tôi gửi lời mời thường xuyên) trong cộng đồng Stremio.","WEBSITE_JOIN_NOW":"Tham gia ngay!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Cộng đồng Stremio chính thức","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Cộng đồng Stremio không chính thức","WEBSITE_BECOME":"Trở nên","WEBSITE_A_VOLUNTEER_TRANSLATOR":"một dịch giả tình nguyện","WEBSITE_ARE_YOU_A_DEVELOPER":"Bạn có phải là nhà phát triển?","WEBSITE_CONTRIBUTE_CODE":"Bạn có thể đóng góp mã cho các dự án nguồn mở của chúng tôi. Chúng tôi có một số dự án trên GitHub đang tìm kiếm cộng tác viên. Nếu bạn muốn trợ giúp, hãy xem qua chúng:","WEBSITE_STREMIO_ON_GITHUB":"Stremio trên GitHub","WEBSITE_CREATE_ADDON_DESC":"Tạo một add-on để nâng cao chức năng của Stremio (chúng tôi có API dễ sử dụng):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"Chúng tôi cũng mang đến cơ hội tham gia cùng chúng tôi với tư cách là nhà phát triển thực tập để chúng ta có thể cùng nhau phát triển.","WEBSITE_APPLY_AS_AN_INTERN":"Đăng ký làm thực tập sinh","WEBSITE_CALLING_ALL_ARTISTS":"Kêu gọi tất cả các nghệ sĩ!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Thể hiện sự sáng tạo và tình yêu của bạn dành cho Stremio bằng cách tải tác phẩm nghệ thuật của người hâm mộ (fanart) lên thư viện trực tuyến của chúng tôi. Cho dù đó là một bức vẽ, tranh vẽ hay thiết kế kỹ thuật số, chúng tôi muốn thấy sự độc đáo của bạn đối với thương hiệu Stremio. Hãy tham gia cộng đồng những người đam mê nghệ thuật của chúng tôi và chia sẻ công việc của bạn với những người hâm mộ Stremio trên khắp thế giới.","WEBSITE_STREMIO_FANART_GALLERY":"Phòng trưng bày tác phẩm nghệ thuật của người hâm mộ (fanart) Stremio","WEBSITE_INTERN_DESIGNER":"Trở thành thành viên của nhóm chúng tôi và đưa khả năng sáng tạo của bạn lên tầm cao mới với các cơ hội thực tập thú vị của chúng tôi.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Dự án phim thuộc phạm vi công cộng","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"Tại Stremio, chúng tôi cam kết bảo tồn lịch sử điện ảnh và truyền hình bằng cách xác định phạm vi công cộng và các video mồ côi. Bằng cách hợp tác với cộng đồng của mình, chúng tôi có thể đảm bảo rằng mọi người đều có thể tiếp cận những tác phẩm nghệ thuật cổ điển này và bảo vệ nó cho các thế hệ tương lai thưởng thức.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Hãy liên hệ với chúng tôi nếu bạn muốn tham gia vào dự án đó.","WEBSITE_JOIN_THE_PROJECT":"Tham gia dự án","WEBSITE_BE_PART_OF_OUR_MISSION":"Hãy là một phần sứ mệnh của chúng tôi","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Bạn muốn tham gia nhóm Stremio? Chúng tôi cung cấp công việc hoàn toàn từ xa cho những chuyên gia đầy nhiệt huyết. Hãy xem các vị trí đang tuyển dụng của chúng tôi.","WEBSITE_OPEN_POSITIONS":"VỊ TRÍ MỞ","WEBSITE_DESCRIPTION":"MÔ TẢ","WEBSITE_LEARN_MORE":"Tìm hiểu thêm","WEBSITE_COMPANY":"Công ty","WEBSITE_CONTACTS":"Liên lạc","WEBSITE_NEED_HELP":"Cần giúp đỡ?","WEBSITE_STREMIO_WEB_ON_IOS":"Hướng dẫn về Stremio Web trên iOS","WEBSITE_LINK_ART_V2":"Phòng trưng bày Fanart","WEBSITE_PARTNERS":"Đối tác","WEBSITE_SLOGAN_WATCH":"Xem ngay lập tức","WEBSITE_SLOGAN_ALL":"Tất cả Nội dung Video Bạn Thưởng thức ở Một Nơi","WEBSITE_SLOGAN_NEW":"Tất cả những gì bạn có thể xem","WEBSITE_SLOGAN_NEW_NEW":"Tự do truyền trực tuyến","WEBSITE_WATCH_FROM":"Xem từ","WEBSITE_DOWNLOAD":"Tải ngay","WEBSITE_DOWNLOAD_FOR":"Tải xuống ngay cho","WEBSITE_IS_DESKTOP":"Stremio là một ứng dụng dành cho máy tính để bàn, hãy mở trang này trên PC của bạn và tải xuống","WEBSITE_DESKTOP_DEMO_VID":"Bản trình diễn máy tính để bàn","WEBSITE_PAGE_HOME":"Trang chủ","WEBSITE_PAGE_FEATURES":"Đặc trưng","WEBSITE_PAGE_ADDONS":"Các add-on","WEBSITE_PAGE_TECH":"Công nghệ","WEBSITE_PAGE_CREATE_ADDON":"Tạo add-on","WEBSITE_PAGE_CONTACTS":"Liên lạc","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Vui lòng nhập mật khẩu mới mà bạn mong muốn bên dưới.","WEBSITE_RESET_PASSWORD_WARNING":"Bạn có chắc chắn muốn đặt lại mật khẩu cho ${1} không?","WEBSITE_TYPE_movie":"Phim","WEBSITE_TYPE_series_PL":"Loạt phim","WEBSITE_TYPE_tv":"Truyền hình trực tiếp","WEBSITE_TYPE_channel":"Kênh","WEBSITE_STREMIO_WHAT_IS":"Stremio là một ứng dụng giúp bạn sắp xếp và xem ngay các video, phim, phim TV và kênh TV yêu thích của mình.","WEBSITE_FEATURES_WATCH":"Xem tức thì ở chế độ HD","WEBSITE_FEATURES_WATCH_DETAIL":"Nhấp và phát các bộ phim, Chương trình TV, video và kênh TV yêu thích của bạn.","WEBSITE_FEATURES_SUBS":"Phụ đề tự động","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio tự động chọn phụ đề được đồng bộ hóa cho ngôn ngữ của bạn.","WEBSITE_FEATURES_SUBS_LABEL":"Động thái của bạn, trưởng.","WEBSITE_FEATURES_CAST":"Phát trên TV & thiết bị di động","WEBSITE_FEATURES_CAST_DETAIL":"Truyền tới AppleTV, Chromecast, TV thông minh (DLNA/UPnP) và thiết bị di động.","WEBSITE_LIB":"Tận hưởng thư viện cá nhân của bạn được đồng bộ hóa trên tất cả các thiết bị của bạn","WEBSITE_LIB_COLLECT":"Thu thập từ Stremio","WEBSITE_LIB_IMPORT":"Nhập từ facebook","WEBSITE_LIB_LOCAL":"Thêm từ ổ đĩa cục bộ của bạn","WEBSITE_BOARD":"Bảng - Điểm dừng chân của bạn dành cho Thông báo và Đề xuất","WEBSITE_BOARD_RECOMMEND":"Chương trình TV được đề xuất","WEBSITE_BOARD_TRENDING":"Phim thịnh hành","WEBSITE_BOARD_NEW":"Video mới","WEBSITE_BOARD_EPISODE":"Tập mới","WEBSITE_BOARD_1":"Bạn đang tìm nội dung thú vị để xem? Nhận đề xuất dựa trên sở thích của bạn!","WEBSITE_BOARD_2":"Nhận thông báo khi có tập mới của chương trình TV hoặc kênh YouTube yêu thích của bạn!","WEBSITE_BOARD_YOUTUBE":"Video mới của các kênh YouTube","WEBSITE_BOARD_EPISODES":"Các tập mới của loạt phim bạn theo dõi","WEBSITE_ADDONS":"Add-on nội dung","WEBSITE_TECH_DETAIL":"Chúng tôi yêu công nghệ, chúng tôi yêu khoa học điên rồ!\\nStremio đang sử dụng các công nghệ nguồn mở sau:","WEBSITE_TECH_WCJS":"WebChimera.js cho phép Stremio phát mọi định dạng video với hiệu suất tốt.","WEBSITE_TECH_WCJS_EXTRA":"Chúng tôi là những người đóng góp cốt lõi cho dự án","WEBSITE_TECH_ELECTRON":"Electron cung cấp một nền tảng sáng tạo để xây dựng Stremio.","WEBSITE_TECH_ELECTRON_EXTRA":"Chúng tôi là những người đóng góp cho dự án","WEBSITE_TECH_LINVODB":"Công nghệ cơ sở dữ liệu đảm bảo dữ liệu của bạn được sắp xếp và có sẵn ở mọi nơi bạn đăng nhập.","WEBSITE_TECH_LINVODB_EXTRA":"Công nghệ nội bộ","WEBSITE_CREATE_ADDON":"Tạo add-on của bạn","WEBSITE_CREATE_ADDON_DETAIL":"Bạn có dịch vụ cung cấp nội dung video không? Chúng tôi sẽ giúp bạn hưởng lợi từ các tính năng của Stremio bằng cách tạo Add-on của bạn.","WEBSITE_CREATE_ADDON_BENEFITS":"Lợi ích của việc tạo Add-on cho Stremio","WEBSITE_P2P_BEAUTY":"Vẻ đẹp của truyền trực tuyến ngang hàng","WEBSITE_P2P_1":"Video HD đầy đủ / 4K đáng tin cậy và giá cả phải chăng theo yêu cầu hoặc phát trực tiếp","WEBSITE_P2P_2":"Nền tảng phân phối cung cấp trải nghiệm người dùng tuyệt vời","WEBSITE_P2P_3":"Chúng tôi sẽ tạo một add-on đáp ứng nhu cầu chính xác của bạn","WEBSITE_P2P_CONTACT":"Bạn quan tâm? Bạn có thể <a href=\'mailto:office@stremio.com\'>liên hệ với chúng tôi</a>.","WEBSITE_P2P_CONTACT_EXTRA":"Chúng tôi rất sẵn lòng giúp bạn tích hợp nội dung của mình với Stremio!","WEBSITE_P2P":"Thỉnh thoảng, có một công nghệ làm thay đổi tên của trò chơi. Chúng tôi đã đầu tư rất nhiều thời gian và công sức vào việc xây dựng công cụ truyền phát video ngang hàng (P2P) mang lại hiệu suất tuyệt vời và tính linh hoạt để thích ứng với mọi mục đích sử dụng.\\nHãy liên hệ với chúng tôi để có video P2P hỗ trợ DRM theo yêu cầu hoặc phát trực tiếp.","WEBSITE_THOUGHTS":"Những suy nghĩ chúng ta chia sẻ:","WEBSITE_SPREAD":"Quảng bá về Stremio:","WEBSITE_CONTACT":"Liên hệ với chúng tôi, chúng tôi rất vui khi nhận được phản hồi từ bạn!","WEBSITE_OPENSOURCE":"Dành cho các dự án nguồn mở của chúng tôi, đến với chúng tôi","WEBSITE_BITCOIN":"Quyên góp bitcoin:","WEBSITE_FAQ":"Các câu hỏi thường gặp","WEBSITE_FAQ_SHORT":"Hỏi đáp thường gặp","WEBSITE_QUESTIONS":"Câu hỏi","WEBSITE_TOS":"Điều khoản sử dụng","WEBSITE_LEGAL":"Hợp pháp","WEBSITE_PAGE_ABOUT":"Giới thiệu","WEBSITE_PAGE_BECOME_PARTNER":"Trở thành đối tác","WEBSITE_ALL_YOU_CAN_WATCH":"Tự do xem\\nMọi thứ bạn muốn.","WEBSITE_FREEDOM_TO_STREAM":"Tự do truyền trực tuyến","WEBSITE_WHAT_IS_STREMIO":"Stremio là gì?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio là trung tâm một cửa để tổng hợp nội dung video. Khám phá, sắp xếp và xem video từ tất cả các loại nguồn trên bất kỳ thiết bị nào mà bạn sở hữu.","WEBSITE_WHAT_IS_STREMIO_P2":"Phim, chương trình TV, loạt phim, TV trực tiếp hoặc các kênh web như YouTube và Twitch.tv - bạn có thể tìm thấy tất cả những thứ này trên Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio là một trung tâm truyền thông hiện đại, là giải pháp một cửa cho hoạt động giải trí video của bạn. Bạn khám phá, xem và sắp xếp nội dung video từ các add-on dễ cài đặt.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Phim, chương trình TV, TV trực tiếp hoặc kênh web - tìm thấy tất cả nội dung này trên Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Thưởng thức trên tất cả các thiết bị Phương tiện truyền thông của bạn","WEBSITE_DEVICES_COLLECT":"Thu thập từ Stremio","WEBSITE_DEVICES_IMPORT_FB":"Nhập từ facebook","WEBSITE_DEVICES_LOCAL":"Thêm từ ổ đĩa cục bộ","WEBSITE_JOIN_THE_PARTY_NOW":"Nhập tiệc ngay thôi","WEBSITE_DEVICES_ALL":"Dễ sử dụng trên mọi thiết bị của bạn;","WEBSITE_EXTENDABLE_CATALOG":"Danh mục video có thể mở rộng vô hạn;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Các tính năng tuyệt vời để sắp xếp phương tiện của bạn;","WEBSITE_AS_SEEN_ON":"Như được thấy trên","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"Về chúng tôi","WEBSITE_LINK_TECHNOLOGY":"Công nghệ","WEBSITE_LINK_APPS":"Ứng dụng","WEBSITE_LINK_DOWNLOADS":"Tải xuống","WEBSITE_MORE":"Hơn nữa","WEBSITE_LINK_ADDONS":"Add-on","WEBSITE_LINK_ADDON_SDK":"Add-on SDK","WEBSITE_LINK_CONTRIBUTE":"Đóng góp","WEBSITE_LINK_COMMUNITY":"Cộng đồng","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... & Hơn nữa","WEBSITE_LINK_HELP":"Trung tâm trợ giúp","WEBSITE_LINK_CONTACTS":"Yêu cầu kinh doanh","WEBSITE_LINK_TOS":"Điều khoản và điều kiện","WEBSITE_LINK_PRAVACY":"Chính sách bảo mật","WEBSITE_SUBSCRIBE":"Đăng ký","WEBSITE_NEWSLETTER":"Tham gia Bản tin của chúng tôi để có những thứ tuyệt vời","WEBSITE_PLACEHOLDER_EMAIL":"Email của bạn","WEBSITE_COMMUNITY":"Cộng đồng","WEBSITE_LINK_PRAVACY_LEGAL":"Quyền riêng tư & pháp lý","WEBSITE_WHY":"Tại sao chúng tôi làm điều đó","WEBSITE_WHY_P1":"Tại Stremio, chúng tôi đến làm việc mỗi ngày vì chúng tôi muốn giải quyết một vấn đề quan trọng đối với ngành công nghiệp video theo yêu cầu. Có rất nhiều nội dung mới được xuất bản mỗi phút khiến bạn hầu như không thể tìm được đường đi.","WEBSITE_WHY_P2":"Chúng tôi giúp mọi người điều hướng trong thế giới giải trí video rộng lớn đó và khám phá nội dung mới để thưởng thức. Các ứng dụng của chúng tôi tập hợp các bộ phim, loạt phim, truyền hình trực tiếp, kênh web, v.v. Chúng tôi nỗ lực hết mình để giúp người dùng tìm thấy tiêu đề và đài truyền hình một cách cực kỳ dễ dàng mà họ yêu thích.","WEBSITE_WHY_P3":"Bạn có thể sử dụng dịch vụ của chúng tôi trên bất kỳ thiết bị nào và bất kỳ lúc nào, khiến Stremio trở thành trung tâm giải trí video duy nhất mà bạn cần.","WEBSITE_TEAM":"ĐỘI","WEBSITE_TEAM_P":"Nhóm Stremio nhỏ nhưng mạnh mẽ: giữa mười người chúng tôi, chúng tôi viết mã bằng ngôn ngữ X và chia sẻ kiến thức chuyên môn về phát triển phần mềm, thiết kế UI và UX, tiếp thị và quảng cáo cũng như kinh doanh và khởi nghiệp.","WEBSITE_FEATURES":"Đặc trưng","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Khám phá nội dung mới một cách dễ dàng","WEBSITE_FEATURES_DISCOVER_P":"Dễ dàng khám phá các bộ phim, chương trình TV, loạt phim và kênh mới để xem. Duyệt theo danh mục, thể loại, xếp hạng, lần gần đây, v.v. hoặc chỉ cần nhập tên để tìm. Stremio biến việc tìm kiếm nội dung video mới trở nên dễ dàng.","WEBSITE_FEATURES_ALL_CONTENT":"Tất cả nội dung video của bạn trên một màn hình","WEBSITE_FEATURES_ALL_CONTENT_P1":"Xem những bộ phim, loạt phim hoặc video bạn chưa xem hết và tiếp tục xem chúng; nhận thông báo về các tập và bản phát hành mới; đồng thời duyệt qua các đề xuất mà bạn sẽ nhận được dựa trên thói quen xem của mình.","WEBSITE_FEATURES_LIBRARY":"Sắp xếp thư viện video của bạn","WEBSITE_FEATURES_LIBRARY_P1":"Thêm bất kỳ tiêu đề nào vào thư viện Stremio của bạn chỉ bằng một cú nhấp chuột và tìm theo cách của bạn xung quanh nội dung của bạn, được sắp xếp gọn gàng theo loại, lần xuất hiện gần đây hoặc thứ tự bảng chữ cái.","WEBSITE_FEATURES_CALENDAR":"Theo dõi mọi thứ bạn xem","WEBSITE_FEATURES_CALENDAR_P1":"Nhận hình ảnh lịch của tất cả phim và loạt phim bạn thêm vào thư viện của mình. Xuất lịch Stremio của bạn và đồng bộ hóa lịch để bạn luôn biết khi nào có tập mới hoặc buổi chiếu sớm.","WEBSITE_FEATURES_BIG_SCREEN":"Thưởng thức nội dung video của bạn trên màn hình lớn hơn","WEBSITE_FEATURES_BIG_SCREEN_P1":"Truyền nội dung bạn đang xem sang thiết bị khác - có thể là điện thoại, máy tính bảng hoặc TV chỉ bằng một cú nhấp chuột.","WEBSITE_FEATURES_SOURCES":"Xem video từ nhiều nguồn khác nhau","WEBSITE_FEATURES_SOURCES_P":"Cài đặt các add-on chính thức và cộng đồng để thưởng thức video có nguồn gốc từ nhiều nhà cung cấp khác nhau - tất cả trong một ứng dụng đẹp mắt, dễ sử dụng.","WEBSITE_CREATE_AN_ADDON":"Tạo một add-on","WEBSITE_FEATURES_SYNC":"Đồng bộ hóa thư viện của bạn trên các thiết bị khác nhau và tiếp tục phát lại","WEBSITE_FEATURES_SYNC_P1":"Đăng nhập bằng tài khoản của bạn trên tất cả các thiết bị và tận hưởng thư viện, add-on, phát lại và lịch được đồng bộ hóa.","WEBSITE_FEATURES_EXTENDABLE":"Danh mục video có thể mở rộng bằng add-on","WEBSITE_FEATURES_EXTENDABLE_P1":"Danh mục add-on Stremio cung cấp một số add-on để cài đặt và xem nhiều loại nội dung video từ đó. Nội dung này bao gồm phim, chương trình, truyền hình trực tiếp, thể thao, tin tức, podcast, kênh web, trò chơi điện tử, v.v.","WEBSITE_FEATURES_AUTO_SUBS":"Phụ đề tự động","WEBSITE_FEATURES_AUTO_SUBS_P1":"Với add-on phụ đề của chúng tôi, bạn sẽ có các tùy chọn được chọn tự động cho ngôn ngữ ưa thích của mình.","WEBSITE_FEATURES_CHROMECAST":"Truyền tới Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Thưởng thức nội dung video của bạn trên màn hình lớn hơn hoặc chỉ truyền nội dung bạn đang xem sang thiết bị khác.","WEBSITE_FEATURES_KEEP_TRACK":"Theo dõi các chương trình TV và kênh Web yêu thích của bạn","WEBSITE_FEATURES_KEEP_TRACK_P1":"Nhận hình ảnh lịch và thông báo về các tập mới của loạt phim và kênh web yêu thích của bạn.","WEBSITE_FEATURES_POWER_USER":"Tính năng người dùng cao cấp","WEBSITE_FEATURES_POWER_USER_P1":"Phát trong trình phát bên ngoài","WEBSITE_FEATURES_POWER_USER_P2":"Phát từ tệp torrent hoặc liên kết nam châm","WEBSITE_FEATURES_POWER_USER_P3":"Nhập vào thư viện của bạn từ lượt thích trên Facebook hoặc đĩa cục bộ","WEBSITE_ADD_ONS":"Add-on","WEBSITE_ADD_ONS_P1":"Tất cả nội dung video mà Stremio cung cấp đều có nguồn thông qua hệ thống add-on - không có nội dung hoặc nhà cung cấp nội dung nào được tích hợp vào ứng dụng.","WEBSITE_ADD_ONS_P2":"Có hai nhóm add-on: add-on chính thức và add-on cộng đồng.","WEBSITE_ADD_ONS_P3":"Các add-on chính thức được phát triển và lưu trữ bởi Stremio, trong khi các add-on cộng đồng được tạo bởi các thành viên cộng đồng của chúng tôi, những người cũng lưu trữ chúng.","WEBSITE_ADDONS_OFFICIAL":"Add-on chính thức","WEBSITE_ADDONS_WATCHUB":"Truyền trực tuyến các bộ phim, loạt phim và chương trình yêu thích của bạn từ các nhà cung cấp như iTunes, Hulu, Amazon và các dịch vụ khác của Vương quốc Anh/Hoa Kỳ.","WEBSITE_ADDONS_YOUTUBE":"Xem các kênh YouTube yêu thích của bạn không có quảng cáo và nhận thông báo về video mới tải lên từ những người đóng góp mà bạn theo dõi.","WEBSITE_ADDONS_FILMON":"Xem truyền hình trực tiếp, phim và truyền hình xã hội miễn phí. 600 kênh truyền hình, 45.000 phim, phim tài liệu miễn phí và hơn thế nữa.","WEBSITE_ADDONS_OPENSUBTITLES":"Phụ đề phim và chương trình TV bằng nhiều ngôn ngữ, hàng nghìn phụ đề đã dịch được tải lên mỗi ngày.","WEBSITE_ADDONS_COMMUNITY":"Add-on cộng đồng","WEBSITE_ADDONS_FILMON_VOD":"Xem video theo yêu cầu từ Filmon.tv","WEBSITE_ADDONS_TWICH":"Xem các luồng trực tiếp từ Twitch.tv - một nền tảng truyền trực tuyến video cho ngành thể thao điện tử.","WEBSITE_ADDONS_VODO":"Xem phim độc lập hoàn toàn miễn phí.","WEBSITE_ADDONS_NETFLIX":"Xem phim và loạt phim web của Netflix.","WEBSITE_ADDONS_CREATE":"Tạo một add-on","WEBSITE_ADDONS_CREATE_P1":"Nếu muốn, bạn có thể phát triển add-on của riêng mình. Bằng cách này, bạn có thể cấp cho mình và cộng đồng của chúng tôi quyền truy cập vào nội dung video mới, đồng thời tiếp cận đối tượng mới, được nhắm mục tiêu gồm hàng triệu người dùng trên khắp thế giới.","WEBSITE_ADDONS_START_CREATE":"Để bắt đầu, hãy truy cập trang Stremio Add-on SDK:","WEBSITE_DOWNLOADS":"Tải xuống","WEBSITE_DOWNLOADS_P1":"Để có hiệu suất tối ưu, chúng tôi khuyên bạn nên sử dụng phiên bản mới nhất hiện có của ứng dụng Stremio. Tuy nhiên, nếu vì lý do nào đó, bạn muốn sử dụng phiên bản cũ hơn, bạn có thể tải xuống phiên bản này tại đây.","WEBSITE_DOWNLOADS_P1_SHORT":"Để có hiệu suất tối ưu, chúng tôi khuyên bạn nên sử dụng phiên bản mới nhất hiện có của ứng dụng Stremio.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio cho Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio cho macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio cho Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio cho Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio cho Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio dành cho thiết bị di động Android","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio cho Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio cho iOS (phiên bản giới hạn)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio cho Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio cho LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio cho Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio cho Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio cho Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio cho trình duyệt","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Tìm kiếm Stremio trong App Store của các mẫu TV Samsung 2019+","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Tìm kiếm Stremio trong App Store của các mẫu TV LG 2020+","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Tìm kiếm Stremio trong App Store trên thiết bị Xbox của bạn","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Tải xuống dịch vụ Stremio","WEBSITE_DOWNLOAD_SERVICE_P1":"Dịch vụ Stremio là một ứng dụng đồng hành cho Stremio Web. Chúng tôi khuyên bạn nên sử dụng phiên bản mới nhất hiện có của Dịch vụ Stremio.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Dịch vụ Stremio cho Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Dịch vụ Stremio cho macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Dịch vụ Stremio cho Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Dịch vụ Stremio cho Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"Nhiều tùy chọn tải xuống hơn","WEBSITE_DOWNLOAD_NEW":"Mới!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"Chúng tôi đã phát hành Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"Chúng tôi đã phát hành Stremio cho TV Samsung","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"Chúng tôi đã phát hành Stremio cho TV LG","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"Chúng tôi đã phát hành Stremio cho Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"Chúng tôi đã phát hành Stremio cho Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"Nền tảng Stremio là nguồn mở và bạn có thể dễ dàng tạo add-on cho nội dung hiện chưa có nguồn.","WEBSITE_CONTRIBUTE_WHY":"Tại sao bạn nên tạo một add-on?","WEBSITE_CONTRIBUTE_WHY_P1":"Tiếp cận khán giả mới cho nội dung video của bạn","WEBSITE_CONTRIBUTE_WHY_P2":"Cơ sở người dùng của Stremio đang tăng lên nhanh chóng - trong năm đầu tiên kể từ khi ra mắt, Stremio đã có được 1 triệu người dùng trên toàn thế giới và trong năm thứ hai nền tảng tồn tại, con số này đã tăng lên 2 triệu rưỡi.","WEBSITE_CONTRIBUTE_WHY_P3":"Với add-on của mình, bạn có thể dễ dàng tiếp cận đối tượng này và phân phối nội dung video của mình tới họ.","WEBSITE_CONTRIBUTE_ALL":"Xem phim, video, loạt phim và kênh yêu thích của bạn ở một nơi duy nhất.","WEBSITE_CONTRIBUTE_ALL_P1":"Bạn là người yêu thích một loại nội dung cụ thể chưa có trên Stremio? Hãy tạo một add-on cho nội dung đó và thưởng thức các video yêu thích của bạn tại một trong những trung tâm giải trí lớn nhất và dễ sử dụng nhất trên thị trường.","WEBSITE_CONTRIBUTE_ALL_P2":"Trên hết, bạn sẽ nhận được lòng biết ơn vô tận của các thành viên cộng đồng Stremio có cùng chí hướng.","WEBSITE_CONTRIBUTE_MONETIZE":"Kiếm tiền từ add-on của bạn và kiếm tiền với sự trợ giúp của nó","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Sau khi bạn phát triển một add-on mới cho Stremio, bạn có thể dễ dàng kiếm tiền từ nó thông qua một số cách khác nhau. Nếu bạn đang cân nhắc điều này, vui lòng liên hệ với chúng tôi tại ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - chúng tôi rất sẵn lòng tư vấn và tư vấn cho bạn về các tùy chọn kiếm tiền từ add-on.","WEBSITE_CONTRIBUTE_TRANSLATE":"Trở thành một dịch giả tình nguyện","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Nếu bạn muốn thưởng thức các ứng dụng Stremio bằng các ngôn ngữ khác nhau, bạn có thể tham gia cộng đồng dịch giả tình nguyện của chúng tôi. Họ giúp chúng tôi thêm các phiên bản Stremio bằng nhiều ngôn ngữ khác nhau.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Bạn có muốn bắt đầu không?","WEBSITE_TRANSALTE_STREMIO":"Dịch Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Cộng đồng chính thức","WEBSITE_COMMUNITY_OFFICIALS_P1":"Trở thành một phần của cộng đồng Stremio đang phát triển. Theo dõi chúng tôi trên mạng xã hội và đừng ngại nói xin chào - chúng tôi rất thích nghe ý kiến từ người hâm mộ của mình!","WEBSITE_COMMUNITY_UNOFFICIALS":"Cộng đồng không chính thức","STREMIO_COMMUNITY_NL":"Stremio Hà Lan","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Đức","STREMIO_COMMUNITY_BELGIUM":"Stremio Bỉ","STREMIO_COMMUNITY_FRANCE":"Stremio Pháp","STREMIO_COMMUNITY_PORTUGAL":"Stremio Bồ Đào Nha","STREMIO_COMMUNITY_ITALY":"Stremio Ý","STREMIO_COMMUNITY_UK":"Stremio Vương quốc Anh","STREMIO_COMMUNITY_USA":"Stremio Hoa Kỳ","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Add-on Stremio","STREMIO_COMMUNITY_AWESOME":"Stremio tuyệt vời","WEBSITE_COMMUNITY_PARTNERS":"Đối tác và người ủng hộ","WEBSITE_COMMUNITY_GOODIES":"Món ngon Stremio","WEBSITE_COMMUNITY_WALLPAPERS":"Hình nền","WEBSITE_COMMUNITY_ART":"Phòng trưng bày Nghệ thuật Cộng đồng","WEBSITE_LINK_ART":"Phòng trưng bày nghệ thuật cộng đồng","WEBSITE_CONTACT_US":"Liên hệ chúng tôi","WEBSITE_CONTACT_US_P1":"Nếu bạn có bất kỳ câu hỏi, nhận xét hoặc đề xuất nào, vui lòng liên hệ với chúng tôi qua biểu mẫu liên hệ bên dưới.","WEBSITE_CONTACT_US_P2":"Hãy nhớ rằng chúng tôi đang ở Bulgari nên có thể có sự chậm trễ trong việc giải quyết truy vấn của bạn do chênh lệch múi giờ.","WEBSITE_CONTACT_US_SUCCESS":"Tin nhắn của bạn đã được gửi. Chúng tôi sẽ liên hệ lại với bạn trong thời gian sớm nhất.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Vui lòng nhập email hợp lệ!","WEBSITE_CONTACT_US_Q_RELATED_TO":"Câu hỏi của bạn liên quan đến điều gì?","WEBSITE_CONTACT_US_Q_OS":"Hệ điều hành của bạn là gì?","WEBSITE_CONTACT_US_PH_EMAIL":"Email của bạn","WEBSITE_CONTACT_US_PH_MESSAGE":"Tin nhắn","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"GỬI","WEBSITE_CONTACT_US_Q_1":"Cài đặt như thế nào?","WEBSITE_CONTACT_US_Q_2":"Gỡ cài đặt như thế nào?","WEBSITE_CONTACT_US_Q_3":"(HTML) Cách làm Lasagna?","WEBSITE_CONTACT_US_Q_4":"Add-on","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Công nghệ","WEBSITE_TECHNOLOGY_P1":"Chúng tôi yêu công nghệ và khoa học điên rồ. </br>Đây là sức mạnh của Stremio (tất cả đều là mã nguồn mở).","WEBSITE_TECHNOLOGY_P_QT":"Phát triển phần mềm đa nền tảng ở mức tốt nhất.","WEBSITE_TECHNOLOGY_P_MPV":"Trình phát phương tiện đa nền tảng, mã nguồn mở và miễn phí.","WEBSITE_TECHNOLOGY_P_RN":"React Native cho phép bạn tạo ứng dụng dành cho thiết bị di động chỉ dùng JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Khung phương tiện được nhúng vào ứng dụng để tải đa phương tiện.","WEBSITE_TECHNOLOGY_P_REALM":"Realm là một nền tảng di động và là sự thay thế cho SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js là một môi trường thực thi JavaScript mã nguồn mở, đa nền tảng.","WEBSITE_TECHNOLOGY_P_RUST":"Rust là ngôn ngữ lập trình hệ thống đa mô hình tập trung vào tính an toàn, đặc biệt là tính đồng thời an toàn.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Đóng góp cho dự án","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Có hai cách để bạn có thể đóng góp cho Stremio và giúp chúng tôi làm cho sản phẩm trở nên tốt hơn nữa.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Bạn có thể đóng góp các kỹ năng ngôn ngữ có giá trị của mình bằng cách dịch nền tảng...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"hoặc","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... bạn có thể sử dụng các kỹ năng viết mã của mình để tạo các add-on cho cộng đồng.","WEBSITE_TRANSLATE_STREMIO":"Dịch Stremio","WEBSITE_404_OH_NO":"Uh-oh! Trang bạn đang tìm không có ở đây...","WEBSITE_GO_HOME":"Về nhà","WEBSITE_LINK_OTHER_DOWNLOADS":"Tải xuống khác","WEBSITE_FAQ_ABR":"Hỏi đáp thường gặp","WEBSITE_SUPPORT":"Ủng hộ","WEBSITE_DOWNLOAD_4_0_BETA":"Tải xuống Stremio 4 beta ngay","WEBSITE_GET_FOR_DESKTOP":"Tải cho máy tính để bàn","WEBSITE_LINK_ADDON_COMPETITION":"Cuộc thi add-on","WEBSITE_LINK_ART_CONTEST":"Cuộc thi nghệ thuật","WEBSITE_MY_ACCOUNT":"Tài khoản của tôi","WEBSITE_MAINPAGE_FAQ_001_H1":"Stremio là gì?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio là một trung tâm truyền thông hiện đại cho phép bạn tự do xem mọi thứ mình muốn.","WEBSITE_MAINPAGE_FAQ_002_H1":"Làm thế nào nó hoạt động?","WEBSITE_MAINPAGE_FAQ_002_P1":"Sau khi bạn cài đặt Stremio trên thiết bị của mình và tạo một tài khoản, tất cả những gì bạn phải làm là truy cập vào danh mục add-on và cài đặt bất kỳ add-on nào bạn muốn, thế là xong!","WEBSITE_MAINPAGE_FAQ_002_P2":"Sau đó, bạn có thể chuyển đến phần Khám phá hoặc Bảng để bắt đầu khám phá nội dung.","WEBSITE_MAINPAGE_FAQ_003_H1":"Tôi có thể xem gì ở đây?","WEBSITE_MAINPAGE_FAQ_003_P1":"Rất nhiều: Phim, chương trình TV, kênh Web, Thể thao, kênh TV, nghe Podcast, v.v. Nhờ hệ thống add-on của chúng tôi, bạn có thể truy cập nhiều nội dung khác nhau.","WEBSITE_MAINPAGE_FAQ_004_H1":"Stremio có phải là mã nguồn mở không?","WEBSITE_MAINPAGE_FAQ_004_P1":"Có, bạn có thể kiểm tra các liên kết sau: ${1}desktop app${2} và ${3}GitHub organization${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Stremio có an toàn không?","WEBSITE_MAINPAGE_FAQ_005_P1":"Có: vì đây là phần mềm mã nguồn mở nên mã này có thể được kiểm tra công khai và bạn có thể tự mình xem lại.","WEBSITE_MAINPAGE_FAQ_005_P2":"Hệ thống tiện ích bổ sung của Stremio cũng được tạo ra với mục đích bảo mật cho người dùng. Các tiện ích bổ sung không chạy bất kỳ mã cục bộ nào nên chúng không gây rủi ro cho thiết bị của bạn.","WEBSITE_MAINPAGE_FAQ_006_H1":"Còn quyền riêng tư của tôi thì sao?","WEBSITE_MAINPAGE_FAQ_006_P1":"Chúng tôi tôn trọng quyền riêng tư của người dùng và không thu thập bất kỳ dữ liệu cá nhân nào ngoài dữ liệu tối thiểu cần thiết để tạo và đồng bộ hóa tài khoản của bạn.","WEBSITE_MAINPAGE_FAQ_006_P2":"Ngoài ra còn có một ${1}Chế độ khách${2} khi đăng ký, chế độ này không yêu cầu bất kỳ dữ liệu nào: trong chế độ này, không có cuộc gọi nào được thực hiện tới chương trình phụ trợ của chúng tôi. Tuy nhiên, nó phải trả giá bằng các tính năng hữu ích, chẳng hạn như có thể đồng bộ hóa thư viện của bạn trên các thiết bị.","WEBSITE_MAINPAGE_FAQ_007_H1":"Tôi có thể truyền tới TV của mình không?","WEBSITE_MAINPAGE_FAQ_007_P1":"Có, chúng tôi hỗ trợ Chromecast và bạn có thể truyền cả từ máy tính để bàn và ứng dụng dành cho thiết bị di động (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"Stremio có bao nhiêu add-on?","WEBSITE_MAINPAGE_FAQ_008_P1":"Tính đến cuối năm 2019, hơn 50 - để biết thêm thông tin, hãy xem danh mục add-on của chúng tôi.","WEBSITE_MAINPAGE_FAQ_009_H1":"Có thể mở rộng Stremio ngoài danh mục add-on không?","WEBSITE_MAINPAGE_FAQ_009_P1":"Có, bạn nên kiểm tra những thứ sau: ${1}PimpMyStremio${2}, ${3}Cộng đồng Reddit${4}, ${5}Trình tải xuống Stremio${6}, v.v.","WEBSITE_MAINPAGE_FAQ_010_H1":"Stremio hỗ trợ những thiết bị nào?","WEBSITE_MAINPAGE_FAQ_010_P1":"Chúng tôi có các ứng dụng dành cho máy tính để bàn dành cho Windows, Mac và Linux. Đối với thiết bị di động, chúng tôi hỗ trợ Android và iOS, mặc dù hãy nhớ rằng iOS bị hạn chế về chức năng (không hỗ trợ hầu hết các add-on).","WEBSITE_MAINPAGE_FAQ_010_P2":"Có nhiều thiết bị dựa trên Android mà bạn có thể chạy Stremio trên đó, chẳng hạn như NVIDIA Shield và Amazon Fire Stick, nhưng chúng tôi không hỗ trợ chúng một cách chính thức.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"Chúng tôi có các ứng dụng dành cho máy tính để bàn dành cho Windows, Mac và Linux. Chúng tôi cũng có các ứng dụng dành riêng cho Điện thoại Android và Tivi Android. Đối với iOS và iPadOS, chúng tôi khuyên bạn nên sử dụng Stremio Web, mặc dù bị hạn chế hơn về chức năng.","WEBSITE_MAINPAGE_FAQ_011_H1":"Bạn có thể thêm một số nội dung nhất định vào Stremio không?","WEBSITE_MAINPAGE_FAQ_011_P1":"Xin lỗi, bản thân chúng tôi không cung cấp nội dung, nhưng bạn càng cài đặt nhiều add-on Stremio, bạn càng có thể tìm thấy nhiều nội dung hơn.","WEBSITE_MAINPAGE_FAQ_012_H1":"Stremio có thể chơi liên kết nam châm không?","WEBSITE_MAINPAGE_FAQ_012_P1":"Có, và nó cũng có thể phát các liên kết HTTP và tệp torrent thông thường (kéo và thả).","WEBSITE_MAINPAGE_FAQ_013_H1":"Tôi có thể tải video xuống và xem ngoại tuyến không?","WEBSITE_MAINPAGE_FAQ_013_P1":"Khả dụng ngoại tuyến là một tính năng sắp ra mắt, nhưng nếu bạn cho phép Stremio lưu vào bộ nhớ cache trên thiết bị của mình (từ bảng thiết đặt), thì bạn có thể xem video sau mà không cần kết nối.","WEBSITE_MAINPAGE_FAQ_014_H1":"Không có tác dụng gì, giúp tôi với!","WEBSITE_MAINPAGE_FAQ_014_P1":"Bạn có chắc là mình đã cài đặt add-on không? Nếu có, hãy kiểm tra với ${1}trung tâm trợ giúp${2} của chúng tôi.","WEBSITE_MAINPAGE_FAQ_015_H1":"Làm thế nào để Stremio duy trì hoạt động phát triển của nó?","WEBSITE_MAINPAGE_FAQ_015_P1":"Chúng tôi thỉnh thoảng chạy quảng cáo không xâm lấn, nhưng chúng tôi đang cân nhắc chuyển sang mô hình quyên góp.","WEBSITE_MAINPAGE_FAQ_015_P2":"Để biết thêm câu hỏi, hãy truy cập ${1}trung tâm trợ giúp${2} của chúng tôi.","HELP_LEARN_MORE":"Giúp chúng tôi tìm hiểu thêm về bạn.","LIFESTYLE":"Phong cách sống","SPORTS":"Thể thao","FOOD_HEALTH":"Thực phẩm & sức khỏe","BEAUTY_FASHION":"Làm đẹp & Thời trang","NEWS":"Tin tức","GAMING":"Trò chơi","SCIENCE_EDUCATION":"Khoa học & giáo dục","MUSIC":"Âm nhạc","TRAVEL":"Du lịch","LATE_NIGHT":"Đêm khuya","REALITY":"Thực tế","COMEDY":"Hài kịch","DIY":"Cách tự làm","TECH":"Công nghệ","CINEMA":"Rạp chiếu phim","CONTINUE":"Tiếp tục","SLOW_LOADING":"TẢI CHẬM?","I_GIVE_UP":"TÔI TỪ BỎ","LEARN_MORE":"Tìm hiểu thêm","POOR_SOURCE":"Nguồn này kém khả dụng hoặc kết nối internet của bạn không đủ nhanh","PICK_CATEGORIES_ERR":"Bạn phải chọn ít nhất 3 danh mục","ADJUST_TIMING":"Điều chỉnh thời gian với ","ADJUST_SIZE":"Điều chỉnh kích thước với ","SEARCH_ANYTHING":"Bạn có thể tìm kiếm mọi thứ...","ALL_CATEGORIES":"Tất cả","SEARCH_CATEGORIES":"Phim, Loạt phim, YouTube và TV","SEARCH_PERSONS":"Diễn viên, Đạo diễn & Biên kịch","SEARCH_PROTOCOLS":"HTTP & Liên kết nam châm","SEARCH_TYPES":"Liên kết IMDB / TVDB","WATCHED":"Đã xem","SHOW_LESS":"Hiện ít hơn","LAST_SEARCHES":"Tìm kiếm cuối cùng","CLEAR_HISTORY":"Xóa lịch sử","CHOOSE_SOME":"CHỌN MỘT SỐ ĐIỀU NÀY:","NO_WEB_REMOTE":"Công cụ Web từ xa không tải được","STREMIO_OFFLINE":"Stremio đang ngoại tuyến","STREMIO_EXPENSIVE_CONNECTION":"Chúng tôi đã phát hiện ra rằng bạn đang sử dụng kết nối dữ liệu di động, bạn có muốn tiếp tục không?","USE_DATA":"Sử dụng dữ liệu","WARNING":"Cảnh báo","MORE_INFO":"Thêm thông tin ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Đang tải ...","STREMIO_TV_BACK_TO_LANGUAGES":"Quay lại ngôn ngữ","STREMIO_TV_REMOTE":"Từ xa","STREMIO_TV_GO_TO":"Đi đến:","STREMIO_TV_OR_SCAN":"hoặc quét:","STREMIO_TV_ADDON_INSTRUCTIONS":"Vui lòng làm theo hướng dẫn để cài đặt các add-on ưa thích của bạn.","STREMIO_TV_LIVE_TV":"Truyền hình trực tiếp","STREMIO_TV_RESUME_WATCHING":"Tiếp tục Xem","STREMIO_TV_LOADING_BACKGROUND":"Đang tải trong nền","STREMIO_TV_CHECKING_AUTHENTICATION":"Kiểm tra xác thực","STREMIO_TV_LOADING_BOARD":"Đang tải Bảng","STREMIO_TV_LOGIN_HEADER_LINE_1":"Chúng tôi muốn người dùng có trải nghiệm được cá nhân hóa tốt nhất có thể với phần mềm của chúng tôi.","STREMIO_TV_LOGIN_HEADER_LINE_2":"Vì lý do này mà chúng tôi đề nghị bạn tạo và/hoặc đăng nhập vào tài khoản của mình.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Cảm ơn bạn đã hiểu,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Nhóm Stremio","STREMIO_TV_REMOTE_INSTRUCTIONS":"Để sử dụng Web Từ xa với Điện thoại thông minh / Máy tính bảng / Máy tính để bàn của bạn:","STREMIO_TV_WIFI_SETUP":"Thiết lập Wi-Fi","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle không phát hiện thấy kết nối internet.","STREMIO_TV_WIFI_DETAILS_1":"Kết nối với:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Sử dụng mật khẩu:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Mở trình duyệt web bằng liên kết:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Mặc định","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"Theo lần xem cuối cùng","STREMIO_TV_LIBRARY_SORT_NAME":"Theo tên","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"Theo tên giảm dần","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"Theo số lần đã xem","STREMIO_TV_LIBRARY_SORT_WATCHED":"Theo Đã xem","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"Theo Chưa xem","STREMIO_TV_DETAILS_SEASON_NUMBER":"Mùa ${1}","STREMIO_TV_STREAMS_LOADING":"Đã tải ${1} / ${2} add-on...","STREMIO_TV_STREAMS_STILL_LOADING":"add-on ${1} vẫn đang tải...","STREMIO_TV_PLAYER_SETTINGS":"Thiết đặt trình phát","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Độ trễ phụ đề","STREMIO_TV_PLAYER_AUDIO_DELAY":"Độ trễ âm thanh","STREMIO_TV_PLAYER_VIDEO_SCALING":"Thu phóng video","STREMIO_TV_PLAYER_CHAPTERS":"Chương","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Bỏ qua ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Nguồn luồng không được hỗ trợ","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Mở liên kết ngoài không thành công","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Không thể điều chỉnh ở chế độ truyền âm thanh","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Phát bằng ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Phát bằng trình phát libVLC","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Chuyển sang trình phát libVLC do lỗi phát lại","STREMIO_TV_ADDONS_TITLE":"Sử dụng Stremio trên Điện thoại hoặc PC của bạn để cài đặt hoặc định cấu hình add-on và nhấn \\"Đồng bộ hóa Add-on\\"","STREMIO_TV_ADDONS_SUBTITLE":"Lưu ý: đảm bảo rằng bạn đang sử dụng cùng một tài khoản Stremio","STREMIO_TV_ADDONS_SYNC_ADDONS":"Đồng bộ hóa Add-on","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Add-on được đồng bộ hóa thành công","STREMIO_TV_ADDONS_SYNC_FAILED":"Không thể đồng bộ hóa add-on","STREMIO_TV_META_LINK_FAILED":"Mở siêu liên kết không thành công","STREMIO_TV_CATALOG_LOADING":"Danh mục vẫn đang tải...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Ngôn ngữ giao diện được cập nhật","STREMIO_TV_SETTINGS_THEME_UPDATED":"Đã cập nhật chủ đề","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Trình phát mặc định","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Trình phát bên ngoài","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Ngôn ngữ ưa thích","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Ngôn ngữ ưa thích thứ hai","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Phát lại trong đường hầm","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Có thể xảy ra sự cố phát lại trên một số thiết bị","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Một số định dạng video có thể không hoạt động","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Khớp tốc độ khung hình","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Đã tắt","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Chỉ tốc độ khung hình","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Tốc độ khung hình và độ phân giải","STREMIO_TV_SETTINGS_NO_CACHING":"Không có bộ nhớ đệm","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Mặc định","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Vừa","STREMIO_TV_SETTINGS_PROFILE_FAST":"Nhanh","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Siêu nhanh","STREMIO_TV_SETTINGS_SERVER_URL":"Url máy chủ truyền trực tuyến","STREMIO_TV_SETTINGS_SERVER_VERSION":"Phiên bản máy chủ","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Không xác định","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Phiên bản Stremio","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Chỉnh sửa url máy chủ","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Nhập url máy chủ truyền trực tuyến","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Hiển thị số liệu thống kê trong khi tải","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"Để đọc Chính sách quyền riêng tư của Stremio, hãy truy cập:","STREMIO_TV_SETTINGS_TOS_TEXT":"Để đọc Điều khoản và điều kiện của Stremio, hãy truy cập:","STREMIO_TV_NAV_SEARCH":"Tìm kiếm","STREMIO_TV_NAV_HOME":"Trang chủ","STREMIO_TV_NAV_DISCOVER":"Khám phá","STREMIO_TV_NAV_LIBRARY":"Thư viện","STREMIO_TV_NAV_MOVIES":"Phim","STREMIO_TV_NAV_SERIES":"Loạt phim","STREMIO_TV_NAV_CHANNELS":"Kênh truyền hình","STREMIO_TV_NAV_TV":"Truyền hình trực tiếp","STREMIO_TV_NAV_SETTINGS":"Thiết đặt","STREMIO_TV_NAV_ADDONS":"Add-on","STREMIO_TV_LOGIN_TITLE":"Liên kết tài khoản","STREMIO_TV_LOGIN_EXPIRES_IN":"Hết hạn sau","STREMIO_TV_LOGIN_STEP_ONE":"Quét mã QR ở trên hoặc truy cập","STREMIO_TV_LOGIN_STEP_TWO":"Đăng nhập vào tài khoản Stremio của bạn","STREMIO_TV_LOGIN_NEW_LINK":"Yêu cầu liên kết mới","STREMIO_TV_LOGIN_LINK_REFRESHED":"Mã đăng nhập được làm mới","STREMIO_TV_SEARCH_PLACEHOLDER":"Nhập gì đó","STREMIO_TV_SEARCH_NO_ADDONS":"Không có add-on nào được yêu cầu cho danh mục!","STREMIO_TV_SEARCH_BUTTON":"Tìm kiếm","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Lịch sử tìm kiếm","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Bạn có thể tìm kiếm Tiêu đề, Diễn viên, Kênh và hơn thế nữa...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Xóa lịch sử tìm kiếm","STREMIO_TV_FILTERS_DESCRIPTION":"Chọn từ một trong các bộ lọc bên dưới","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Máy chủ phát trực tuyến đang ngoại tuyến. Kiểm tra thiết đặt máy chủ.","FILTERS":"Bộ lọc","SETTINGS":"Thiết đặt","ACCOUNT":"Tài khoản","LOGOUT":"Đăng xuất","THEMES":"Chủ đề","PLAYBACK":"Phát lại","PLAYBACK_SPEED":"Tốc độ phát lại","AUDIO_TRACKS":"Luồng âm thanh","UNKNOWN_TRACK_LANG":"không rõ","VIDEOS":"Video","SERVER":"Máy chủ","LINKS":"Liên kết","ABOUT":"Giới thiệu","INTERFACE":"Giao diện","ANIMATIONS":"Hoạt hình","STATUS":"Trạng thái","LANGUAGE":"Ngôn ngữ","SIZE":"Kích cỡ","DELAY":"Độ trễ","BOLD":"In đậm","OPACITY":"Độ mờ","TEXT_COLOR":"Màu văn bản","OUTLINE_COLOR":"Màu đường viền","BACKGROUND_COLOR":"Màu nền","BACKGROUND_BLUR":"Làm mờ nền","SEEK_TIME_DURATION":"Thời lượng tua","AUTO_PLAY":"Tự động phát tập tiếp theo","PLAY_NOW":"Phát ngay","MARK_AS_WATCHED":"Đánh dấu là đã xem","MARK_AS_UNWATCHED":"Đánh dấu là Chưa xem","REWIND_TO_BEGINNING":"Tua lại từ đầu","CONTINUE_WATCHING":"Tiếp tục xem","ALL":"Tất cả","SECONDS":"giây","ON":"MỞ","OFF":"TẮT","RELOAD":"Tải lại","EDIT_URL":"Chỉnh sửa URL","NONE":"Không","EMBEDDED":"Đã nhúng","REMOTE_SWITCH_DEVICES":"Chuyển đổi thiết bị","REMOTE_VIDEOS":"Video","REMOTE_ADJUST_TIMING":"Điều chỉnh thời gian","REMOTE_ADJUST_SIZE":"Điều chỉnh kích thước","REMOTE_COULD_NOT_BE_LOADED":"Công cụ Web từ xa không tải được","REMOTE_RETRY":"Thử lại","TORRENT_PROFILE_DEFAULT":"Mặc định","TORRENT_PROFILE_SOFT":"Vừa","TORRENT_PROFILE_FAST":"Nhanh","TORRENT_PROFILE_ULTRA_FAST":"Siêu nhanh","FAQ_001_H1":"Stremio là gì?","FAQ_001_P1":"Stremio là phần mềm trung tâm truyền thông được thiết kế để giải trí video dễ sử dụng. Stremio cho phép bạn sắp xếp & xem bộ sưu tập phim, loạt phim, kênh và chương trình truyền hình trực tiếp của riêng mình.","FAQ_001_P2":"Stremio thu thập nội dung mà nó hiển thị cho bạn từ đĩa cục bộ của bạn và hệ thống add-on của chúng tôi.","FAQ_001_P3":"Nó cũng sẽ thông báo cho bạn khi các tập/video/phim mới mà bạn quan tâm ra mắt và cung cấp các đề xuất phim cho bạn.","FAQ_02_H1":"So sánh Stremio với Kodi và Plex như thế nào?","FAQ_02_P1":"Chúng tôi lấy cảm hứng từ hai phần mềm đó. Nhưng chúng tôi có các mục tiêu khác nhau - Stremio được nhắm mục tiêu cụ thể đến video giải trí và cố gắng trở thành giải pháp chính cho điều đó bằng cách rất dễ sử dụng.","FAQ_02_P2":"Stremio sẽ không bao giờ có thể tùy chỉnh và giàu tính năng như Kodi và Plex, nhưng nó dễ sử dụng hơn đáng kể. Chỉ cần ${1} lấy nó và thấy ${2}:)","FAQ_03_H1":"So sánh Stremio với Netflix như thế nào?","FAQ_03_P1":"Một lần nữa, Netflix là một trong những nguồn cảm hứng của chúng tôi. Chúng tôi cố gắng đạt được trải nghiệm người dùng của Netflix, cùng với nhiều tính năng bổ sung. Nhưng quan trọng nhất, chúng tôi cho phép bạn tự do quản lý thư viện của riêng mình và thêm các nguồn nội dung mới bằng hệ thống add-on.","FAQ_03_P2":"Điều đó làm cho Stremio có thể mở rộng vô tận, vì vậy khi sử dụng Stremio, bạn không bao giờ bị giới hạn ở nội dung mà Netflix quyết định cấp phép. Ví dụ: thông qua Stremio, bạn có thể xem nội dung từ ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} và thậm chí ${9} chính Netflix${10}!","FAQ_04_H1":"So sánh Stremio với Flipboard như thế nào?","FAQ_04_P1":"Chúng tôi không thường xuyên nhận được câu hỏi đó, trừ khi nói chuyện với những người khởi nghiệp :)","FAQ_04_P2":"Theo thiết kế, Stremio là một công cụ tổng hợp nội dung, về cơ bản biến nó thành Flipboard cho video. Điều này thể hiện rất rõ ràng trong phần Bảng của chúng tôi. Phần này cung cấp cho bạn danh mục và tập mới/thông báo video mới cho nội dung bạn theo dõi, giống như Flipboard.","FAQ_05_H1":"So sánh Stremio với Popcorn Time như thế nào?","FAQ_05_P1":"Stremio và Popcorn Time giống nhau về giao diện người dùng, vì không có nhiều cách để làm danh mục giải trí video đúng không :)","FAQ_05_P2":"Nhưng trong khi Popcorn Time tập trung vào truyền trực tuyến torrent từ các nguồn cụ thể, thì Stremio không bị hạn chế và chỉ đơn thuần là một công cụ tổng hợp nội dung - nó không bị khóa vào một nguồn nội dung cụ thể.","FAQ_05_P3":"Hơn nữa, theo mặc định, chúng tôi không cung cấp bất kỳ add-on torrent nào, vì vậy Stremio không bao gồm trường hợp sử dụng Popcorn Time với chức năng chính thức.","FAQ_05_P4":"Một điểm khác biệt đáng chú ý nữa là Popcorn Time là nguồn mở hoàn toàn, trong khi Stremio là ${1} nguồn mở một phần${2}.","FAQ_06_H1":"Bạn sẽ thêm phim/loạt phim này chứ?","FAQ_06_P1":"Không, xin lỗi:(","FAQ_06_P2":"Như đã đề cập trong hầu hết các câu hỏi khác, Stremio không tự cung cấp bất kỳ nội dung nào - mọi thứ được thêm thông qua hệ thống add-on. Trong trường hợp bạn có yêu cầu về nội dung, bạn có thể sử dụng nút “Báo cáo” trong Trình phát, nút này sẽ gửi email tới tác giả của add-on bạn hiện đang sử dụng.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Bạn sẽ tạo add-on cho X chứ?","FAQ_08_P1":"Hoàn toàn có thể.","FAQ_08_P2":"Nếu bạn có ý tưởng về add-on, hãy gửi thư cho chúng tôi theo địa chỉ ${1}office@stremio.com${2}, nhưng vui lòng đảm bảo rằng ý tưởng add-on của bạn sẽ không vi phạm bất kỳ bản quyền hoặc điều khoản sử dụng nào.","FAQ_08_P3":"Hiện tại, những thứ tiếp theo trong lộ trình của chúng tôi là các add-on cho FandangoNOW, video theo yêu cầu của Filmon.tv và Crunchyroll.","FAQ_09_H1":"Stremio có sử dụng BitTorrent không?","FAQ_09_P1":"Có, Stremio hỗ trợ BitTorrent dưới dạng giao thức truyền trực tuyến. Bạn có thể sử dụng giao thức đó với add-on torrent hoặc bằng cách kéo và thả tệp .torrent vào Stremio hoặc bằng cách dán liên kết nam châm vào Thanh tìm kiếm.","FAQ_09_P2":"Xin lưu ý rằng add-on chính thức duy nhất sử dụng BitTorrent là ${1}Vodo${2}, cung cấp nội dung độc lập, tất cả đều được phép phân phối với BitTorrent.","FAQ_09_P3":"Chúng tôi không hỗ trợ việc sử dụng bất kỳ add-on nào của bên thứ ba có thể dẫn đến vi phạm bản quyền.","FAQ_10_H1":"Tôi có thể xem gì trong Stremio với các add-on chính thức?","FAQ_10_P1":"Theo mặc định, bạn có thể xem nội dung Filmon.tv, YouTube và Vodo trong chính Stremio, với trình phát được nhúng. Ngoài ra, chúng tôi có một add-on cho Twitch.tv và một số tiện ích khác.","FAQ_10_P2":"Sự kết hợp này cung cấp một lựa chọn gồm:","FAQ_10_L1":"Các kênh TV nổi tiếng do Filmon.tv cung cấp - ví dụ E4, BBC, Bollyworld TV","FAQ_10_L2":"Mọi thứ từ YouTube - ví dụ: BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Phim độc lập với Vodo","FAQ_10_L4":"Phát sóng trò chơi trực tuyến với Twitch.tv","FAQ_10_P3":"Ngoài ra, có nhiều nguồn nội dung được cung cấp cùng với Guidebox và add-on Netflix <b>không</b> phát hoàn toàn bên trong Stremio mà sẽ chuyển hướng đến dịch vụ nhất định. Ví dụ: add-on Guidebox sẽ cung cấp cho bạn một lựa chọn phim bạn có thể truyền trực tuyến miễn phí ở Hoa Kỳ, từ các dịch vụ như TubiTV và Crackle.","FAQ_11_H1":"Stremio không cài đặt, tôi nên làm gì?","FAQ_11_P1":"Nếu bạn đang dùng Windows, hãy thử ${1}trình cài đặt thay thế này${2}.","FAQ_11_P2":"Nếu bạn đang dùng Mac OS X, xin lưu ý rằng chúng tôi không hỗ trợ bất kỳ thứ gì cũ hơn OS X Mavericks (10.9).","FAQ_11_P3":"Nếu bạn đang sử dụng Linux, hãy lưu ý rằng chúng tôi hiện chỉ hỗ trợ Linux 64 bit (x64).","FAQ_11_P4":"Nếu bạn vẫn không thể giải quyết vấn đề của mình, vui lòng viết thư cho chúng tôi tại ${1}nhóm Facebook${2} của chúng tôi.","FAQ_12_H1":"Tại sao phần mềm chống vi-rút của tôi phàn nàn? Stremio có an toàn không?","FAQ_12_P1":"Chúng tôi đảm bảo với bạn rằng Stremio ${1}sạch 100%${2}.","FAQ_12_P2":"Phần mềm chống vi-rút của bạn đang phàn nàn vì chúng tôi bao gồm quảng cáo trong trình cài đặt của chúng tôi mà một số chương trình chống vi-rút nhận ra là phần mềm quảng cáo.","FAQ_12_P3":"Nếu vẫn không chắc chắn, bạn có thể dùng thử ${1}trình cài đặt thay thế${2} của chúng tôi.","FAQ_13_H1":"Tôi có thể tạo add-on bằng cách nào?","FAQ_13_P1":"Đối với người mới bắt đầu, chúng tôi khuyên bạn nên kiểm tra ${1}mô-đun hệ thống add-on${2} của chúng tôi trên GitHub.","FAQ_13_P2":"Sau đó, bạn có thể làm theo ${1}Hướng dẫn Hello World${2}.","FAQ_13_P3":"Nếu bạn không có bất kỳ kỹ năng lập trình nào, vui lòng đăng ý tưởng của bạn trên ${1}cộng đồng Reddit${2} và liên hệ với chúng tôi về ý tưởng add-on của bạn trên ${3}office@stremio.com${4}.","FAQ_14_H1":"Add-on được xuất bản như thế nào?","FAQ_14_P1":"Khi bạn tạo một add-on và máy chủ lưu trữ, đồng thời đặt trường <b>endpoint</b> trong tệp kê khai của bạn, trường này trỏ đến một địa chỉ add-on đang hoạt động, add-on đó sẽ tự động xuất bản chính nó lên ${1}danh mục Add-on${2} của chúng tôi.","FAQ_14_P2":"Điều này xảy ra vì phần máy chủ của mô-đun stremio-add-on tự động gọi API của chúng tôi để thông báo về add-on. Khi API của chúng tôi xác thực <b>endpoint</b> của bạn là một add-on hợp lệ, nó sẽ bắt đầu hiển thị trong danh mục .","FAQ_15_H1":"Tôi có thể chạy Stremio trong trình duyệt của mình không?","FAQ_15_P1":"Không phải lúc này, nhưng điều này đang đến!","FAQ_15_P2":"Nếu muốn xem bản Alpha, bạn có thể xem tại đây: ${1}alpha4.strem.io${2}. Lưu ý rằng tính năng truyền trực tuyến bị tắt trên bản alpha này. Chúng tôi hỗ trợ Chrome, Firefox, Opera và Edge .","FAQ_16_H1":"Truyền tới TV không hoạt động / phụ đề không hoạt động","FAQ_16_P1":"Truyền tới TV sử dụng công nghệ DLNA rất không nhất quán giữa các thương hiệu và kiểu TV khác nhau. Vì lý do đó, chúng tôi không có khả năng kiểm tra nó trong mọi trường hợp, vì vậy nó còn lâu mới hoàn hảo. Mặc dù vậy, chúng tôi đang nghiên cứu liên tục cải thiện nhưng chúng tôi không thể cung cấp cho bạn ước tính thời gian khi nào DLNA sẽ bắt đầu hoạt động bình thường với TV của bạn.","FAQ_16_P2":"Nếu bạn thậm chí không thấy TV của mình trong menu truyền, vui lòng thử tắt kết nối mạng của bạn và bật lại (trên Windows, nhấp chuột phải vào Mạng và sử dụng Bật/Tắt), cũng như khởi động lại bộ định tuyến, TV và PC.","FAQ_16_P3":"Nếu bạn vẫn gặp sự cố, bạn có thể giúp chúng tôi bằng cách gửi thông tin về thương hiệu và mẫu TV của bạn tại ${1}office@stremio.com${2}.","FAQ_16_P4":"Trong thời gian chờ đợi, chúng tôi khuyên dùng Chromecast, dịch vụ mà chúng tôi hỗ trợ rất tốt hoặc chỉ cần cắm TV của bạn vào PC bằng cáp HDMI.","FAQ_17_H1":"Stremio bị treo và/hoặc gặp sự cố, tôi có thể làm gì?","FAQ_17_P1":"Trước hết, nếu bạn đang sử dụng Windows 7 với phần mềm chống vi-rút AVG: chúng tôi gặp sự cố với sự kết hợp đó. Sự cố nằm ở chính AVG và không có cách hợp lý nào để giải quyết vấn đề đó từ phía chúng tôi. Thật không may, ngoại lệ hoặc vô hiệu hóa phần mềm chống vi-rút sẽ không hoạt động. Giải pháp duy nhất là thay thế AVG bằng một thứ khác.","FAQ_17_P2":"Nếu đó không phải là vấn đề, nhưng bạn vẫn đang sử dụng Windows, vui lòng cập nhật lên gói dịch vụ mới nhất và cập nhật/cài đặt lại trình điều khiển GPU của bạn, sau đó thử lại.","FAQ_17_P3":"Nếu sự cố của bạn vẫn chưa được giải quyết hoặc bạn đang sử dụng Mac hoặc Linux, vui lòng viết thư cho chúng tôi để báo cáo chi tiết chính xác về sự cố tại ${1}nhóm Facebook của chúng tôi${2}.","FAQ_18_H1":"Tôi có thể tạo add-on bằng cách nào?","FAQ_18_P1":"Đối với người mới bắt đầu, chúng tôi khuyên bạn nên kiểm tra ${1}mô-đun hệ thống add-on${2} của chúng tôi trên GitHub.","FAQ_18_P2":"Sau đó, bạn có thể làm theo ${1}Hướng dẫn Hello World${2}.","FAQ_18_P3":"Nếu bạn không có bất kỳ kỹ năng lập trình nào, vui lòng đăng ý tưởng của bạn trên ${1}cộng đồng Reddit${2} và liên hệ với chúng tôi về ý tưởng add-on của bạn trên ${3}office@stremio.com${4}.","FAQ_19_H1":"Tại sao Stremio chiếm dung lượng ổ đĩa?","FAQ_19_P1":"Stremio có <b>bộ nhớ đệm cục bộ</b> để tạm thời giữ các tệp video mà bạn truyền trực tuyến.","FAQ_19_P2":"Điều này có hai lợi ích: thứ nhất, nó cho phép Stremio tạo bộ nhớ đệm trước cho video ở phía trước để đảm bảo truyền phát mượt mà hơn. Thứ hai, nó giữ video trong bộ nhớ đệm cục bộ để bạn có thể xem tiếp khi ngoại tuyến.","FAQ_19_P3":"Mức lưu trữ của Stremio tùy thuộc vào thiết đặt <b>Bộ nhớ đệm</b> trong bảng Thiết đặt. Stremio có thể giữ tối đa lượng đã đặt (ví dụ: 2GB) trên ổ đĩa của bạn, trừ khi video hiện đang truyền trực tuyến lớn hơn mức đó, trong đó trường hợp nó phải phân bổ đủ bộ nhớ để giữ cho đến khi bạn truyền trực tuyến.","FAQ_20_H1":"Thư mục bộ nhớ đệm ở đâu?","FAQ_20_P1":"Trên Windows, đó là stremio-cache trong ổ đĩa bạn đã chọn trong Thiết đặt (ví dụ: \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"Trên MacOS, đó là \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"Trên Linux, đó là \\"~/.stremio/stremio-cache\\" hoặc \\"~/stremio-cache\\"","FAQ_21_H1":"Tôi gặp lỗi \\"Không tìm thấy máy chủ truyền trực tuyến\\", tôi có thể làm gì?","FAQ_21_P1":"Nếu bạn gặp lỗi này, điều đó có nghĩa là một trong số những điều sau:","FAQ_21_P2":"1) Bạn đang cố gắng sử dụng một add-on được hỗ trợ bởi nguồn YouTube/BitTorrent, thông qua ${1}phiên bản web${2} của chúng tôi. Trong trường hợp này, bạn nên cài đặt phiên bản dành cho máy tính để bàn của chúng tôi từ ${3}trang web của chúng tôi${4 }.","FAQ_21_P3":"2) Đã xảy ra lỗi với cài đặt Stremio của bạn. Trong trường hợp này, hãy thử cài đặt lại phiên bản mới nhất dành cho máy tính để bàn của chúng tôi từ ${1}trang web${2}. Nếu cách này không hiệu quả, hãy thử tắt tường lửa và chương trình chống vi-rút, khởi động lại PC của bạn và thử lại. Nếu cách này cũng không hoạt động, vui lòng viết thư cho chúng tôi tại ${3}nhóm Facebook của chúng tôi${4}.","FAQ_22_H1":"Tôi không thể xem/sử dụng hầu hết các add-on trên iOS","FAQ_22_P1":"Do các hạn chế trong các điều khoản và điều kiện của Apple App Store, chúng tôi đã giới hạn ứng dụng iOS chỉ cho một bộ add-on cụ thể.","FAQ_22_P2":"Nhưng hãy yên tâm - sẽ có nhiều add-on cho iOS trong tương lai và chúng tôi cũng có thể thêm tích hợp cho phép bạn sử dụng tất cả các add-on Stremio nhờ kết nối ứng dụng iOS với Máy chủ truyền trực tuyến Stremio."}')},98714:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"电影","TYPE_series":"剧集","TYPE_tv":"电视频道","TYPE_channel":"频道","TYPE_other":"其他","TYPE_movie_PL":"电影","TYPE_series_PL":"剧集","TYPE_tv_PL":"电视频道","TYPE_channel_PL":"频道","TYPE_other_PL":"其他","TYPE_ALL":"全部","TYPE":"类型","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"视频","BACK":"返回","MORE":"更多","DONE":"完成","COPY":"复制","SUCCESS":"成功","ERROR":"错误","SETTINGS_CASTING_MODE_PICKER":"投屏模式","CASTING_MODE_HLSV2":"默认","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"不转码","Discover":"发现","Board":"首页","Library":"库","My Library":"我的库","Calendar":"日历","NOTIFICATION_ONLINE":"您当前处于在线状态","NOTIFICATION_OFFLINE":"您当前处于离线状态","INTERNET_CONNECTION":"网络连接","STORAGE_FULL_TITLE":"警告:储存空间已满!","STORAGE_FULL_TEXT":"Stremio将无法保存您的设置、首选项或登录信息,考虑重新启动或重新安装Stremio。","SEARCH":"搜索","SEARCH_NO_RESULTS":"未找到结果","SEARCH_EXPLANATION_CONTENT":"搜索电影、剧集、YouTube和电视频道","SEARCH_EXPLANATION_PEOPLE":"搜索演员、导演和编剧","SEARCH_PASTE_LINKS":"粘贴HTTP和Magnet链接","SEARCH_OR_PASTE_LINK":"搜索或粘贴链接","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"添加到库中","REMOVE_FROM_LIB":"从库中删除","ADDED_TO_LIB":"添加到库中","REMOVED_FROM_LIB":"从库中删除","TRAILER":"预告片","WATCH_TRAILER":"观看预告片","WATCH_NOW":"立即观看","SHOW":"查看","SHOW_MOVIE":"查看电影","WATCH_RANDOM":"随机观看","IMDB_RATING":"IMDb评分","YEAR":"年份","DIRECTOR":"导演","WRITER":"编剧","LEAD_ACTORS":"主演","CAST":"全部演员","CREW":"全部工作人员","SHOW_MORE_CAST":"显示更多 »","AIRED":"播出时间","SEASONS":"季","GENRE":"类型","GENRE_ALL":"所有流派","CATALOG":"目录","SUMMARY":"简介","SHOW_MORE":"显示更多","SIMILAR":"相似","UPCOMING":"即将上映","ENDED":"已完结","DURATION":"时长","FEATURED":"功能","METADATA":"元数据","CATEGORY":"类别","LINKS_GENRES":"流派","LINKS_CAST":"演员","LINKS_DIRECTORS":"导演","SEARCH_VIDEOS":"搜索视频","SEARCH_PLACEHOLDER":"搜索或粘贴URL","ADDON":"插件","ADDONS":"插件","OFFICIAL":"官方","ADDONS_OFFICIAL":"官方Stremio插件","ADDONS_POPULAR":"在您所在的地区很受欢迎","ADDON_FREE":"免费","ADDON_PEERED":"连接","ADDON_SUBSCRIPTION":"订阅","ADDON_STREAM_GEORESTRICTED":"在您所在的地区不提供","ADDON_STREAM_OFFLINECACHE":"离线缓存","ADDON_STREAM_LOCALFILE":"本地文件","SHARE_ADDON":"分享插件","AVAILABLE_STREAMS":"可用流媒体","NO_STREAM":"未找到流媒体","ALL_ADDONS":"全部","INSTALL_MORE_ADDONS":"要获取更多流媒体,请安装更多插件","STREAM_NOT_SUPPORTED":"此平台不支持所选流媒体。","ADDON_CATALOGUE":"显示所有插件 »","ADDON_CATALOGUE_MORE":"安装插件","REPO_ADDED":"已添加存储库","ADDON_REPO_EXIST_ERR":"此插件集合已存在","ADDON_REPO_ERR":"添加集合时出错","ADDON_ADD_ERR":"添加插件时出错","ERR_ADDON_PROTECTED":"无法卸载插件,它受到保护","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"出了一些问题——身份验证可能失败","ERR_NOT_COLLECTION_URL":"不是集合URL","ERR_NOT_ADDON_URL":"不是有效的插件URL","ERR_DETECTFROMURL":"再此URL中找不到插件/集合","ADDON_DUPLICATE_WARNING":"警告:重复的插件","ADDON_COLLECTION_SET_FAILED":"将已安装的插件同步到您的账户失败","SETTINGS_DATA_EXPORT":"导出用户数据","ADDON_PULL_FAILED":"从您的帐户同步已安装的插件失败","REFRESH_ON_CLICK":"点击重试","STILL_IN_THEATER":"电影还在影院上映","WATCH_IN_CINEMA":"请到您本地的影院观看","IN_THEATER":"在影院上映","GET_TICKETS":"购票","UPCOMING_EPISODE":"下一集","UPCOMING_EPISODE_MESSAGE":"这一集即将播出","MISSING_DATE_EPISODE":"缺失的一集日期","MISSING_DATE_EPISODE_MESSAGE":"这一集可能还没有播出","CHANNEL_NOT_SCRAPED":"这个频道还没有被削刮,请过几分钟再来。","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"将其添加到库中,以便在可用时收到通知。","GET_NOTIFIED_WHEN_AVAILABLE":"一旦可用,您将会收到通知。","WARNING_STREAMING_SERVER":"警告:找不到本地流媒体服务器,来自本地文件、YouTube、和BitTorrent的流媒体将不可用。","WARNING_STREAMING_SERVER_DISMISS":"忽略","WARNING_STREAMING_SERVER_LATER":"推迟","DECODER_WARNING":"警告:您的硬件可能不支持此视频,请记住,播放可能会很慢。","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"糟糕,播放器错误","PLAYER_ERROR_LOOKSLIKE":"看起来似乎","PLAYER_ORIENTATION":"播放器方向","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"锁定","PLAYER_ORIENTATION_SENSOR_SHORT":"传感器","PLAYER_ORIENTATION_LANDSCAPE":"播放器方向锁定横向","PLAYER_ORIENTATION_SENSOR":"播放器方向自动(传感器)","PLAYER_PLAYBACK_SPEED":"播放速度","PLAYER_PLAYBACK_ERROR":"播放错误,请重试","PLAYER_PLAYBACK_ERROR_UNKNOWN":"未知错误","PLAYER_PLAYBACK_ERROR_DEFAULT":"抱歉,{{productName}}无法播放此视频。","PLAYER_SUBTITLES_LANGUAGES":"字幕语言","PLAYER_SUBTITLES_VARIANTS":"字幕变形","PLAYER_SUBTITLES_SETTINGS":"字幕设置","PLAYER_SUBTITLES_DISABLED":"字幕已关闭","PLAYER_SUBTITLES_VERTICAL_POSIITON":"垂直位置","PLAYER_SUBTITLES_LOADED":"已加载字幕","PLAYER_SUBTITLES_LOADED_EMBEDDED":"已加载嵌入字幕","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"已加载外部字幕","PLAYER_SUBTITLES_LOADED_ORIGIN":"已加载{{origin}}字幕","PLAYER_PLAY":"播放","PLAYER_PAUSE":"暂停","PLAYER_NEXT_VIDEO":"下一个视频","PLAYER_MUTE":"静音","PLAYER_UNMUTE":"取消静音","PLAYER_OPEN_IN_EXTERNAL":"在外部播放器中打开","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"在{{device}}上播放","PLAYER_LIVE":"直播","PLAYER_NEXT_VIDEO_TITLE":"下个视频","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"关闭","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"现在观看","PLAYER_COPY_STREAM_SUCCESS":"流媒体链接已复制到您的剪贴板","PLAYER_COPY_STREAM_ERROR":"复制流媒体链接失败","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","STREAMING_FROM":"流媒体","CASTING_TO":"投屏到","NETWORK_STATUS":"网络状态","STREAM_SPEED":"串流速度:","STREAM_BUFFERED":"已缓冲:","PEERS_INFO":"节点信息","PEERS_ACTIVE":"活跃:","PEERS_CONNECTED":"已连接:","PEERS_WAITING":"等待:","TRANSCODING_WARNING":"警告:转码视频。","STREAM_LOADING":"加载...","PLAYING_LOCAL":"从本地文件播放","PLAYING_CACHE":"从缓存播放","WRONG_SUBS":"字幕错误?","ERR_SUBS_LOADING_TITLE":"加载字幕时出错","ERR_SUBS_LOADING":"字幕加载失败:这可能是您正在使用的插件或网络连接的问题","WARN_FOLLOWING_SUB_ADDONS_FAILED":"以下字幕插件失败","ERR_CASTING_UPDATE_TITLE":"无法更新投屏设备信息:流媒体服务器可能离线","CHOOSE_DEVICE":"选择在哪个设备上播放","NO_CAST_DEVICES":"无可用投屏设备。","NO_SETTINGS":"无可用设置。","PHONE_TABLET":"手机/平板电脑","SUBTITLES":"字幕","SUBTITLES_CHANGE":"调整字幕","SUBTITLES_CHANGE_NONE":"抱歉,这种语言没有其他字幕。","SUBTITLES_CHANGE_ACIVE":"当前字幕&#35;{{subtitlesDialog.activeIdx + 1}}被激活,点击\\"继续\\"激活字幕&#35;{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"或者,","SUBTITLES_ADJUST_DELAY":"调整字幕延迟:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"或在播放时使用<span>G</span> / <span>H</span>键进行调整。","SUBTITLES_ADJUST_DELAY_TIP":"提示:您可以在播放时使用<span>G</span> / <span>H</span>键进行调整。","SUBTITLES_DELAY":"字幕延迟:","SUBTITLES_LOADING":"加载字幕...","SUBTITLES_UNAVAILABLE":"没有可用的外部字幕","SUBTITLES_DISABLED":"关闭","EXTERNAL_PLAYER_DISABLED":"关闭","EXTERNAL_PLAYER_ALLOW_CHOOSING":"允许选择","EXTERNAL_PLAYER_HINT":"提示:有一个设置允许总是在外部播放器中打开","DONT_SHOW_AGAIN":"不再显示","SERVICE_INSTALL":"安装","AUDIO":"音频","DEFAULT_LANGUAGE":"默认语言","DEFAULT_SECONDARY_LANGUAGE":"默认第二语言","SEASON":"季","EPISODE":"集","EPISODE_ABBREVIATION":"情节提要","SPECIAL":"特别篇","SORT":"排序","SORT_BY":"排序按照","FILTER":"筛选","SORT_TRENDING":"热门","SORT_RECENT":"最近","SORT_ALPHABET":"首字母","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"评分","SORT_WATCHED":"已观看","SORT_YEAR":"年份","SELECT_TYPE":"选择类型","SELECT_SORT":"选择排序","SELECT_CATALOG":"选择目录","SELECT_GENRE":"选择流派","SORT_LASTWATCHED":"按上次观看","SORT_NAME":"按名称","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"按观看次数","SORT_NOTWATCHED":"not watched","New for You":"新的","New Episodes":"新剧集","New Videos":"新视频","Recommendations":"推荐","LIBRARY_RESUME":"简介","LIBRARY_PLAY":"播放","LIBRARY_DETAILS":"详情","LIBRARY_RESUME_DISMISS":"清除","LIBRARY_CLEAR_PROGRESS":"清除进度","LIBRARY_REMOVE":"移除","LIBRARY_NOT_LOGGED_IN":"库仅适用于已登录的用户","CALENDAR_NOT_LOGGED_IN":"日历仅适用于已登录的用户","NOT_LOGGED_IN_CLOUD":"随时随地访问您喜爱的电影和剧集","NOT_LOGGED_IN_RECOMMENDATIONS":"根据您的观看历史量身定制的建议","NOT_LOGGED_IN_NOTIFICATIONS":"再也不要错过任何一集","NOT_LOGGED_IN_CALENDAR":"定制个人观看日历","DISCOVER_FEATURED":"功能","DISCOVER_TOP":"热门","DISCOVER_OSCAR":"奥斯卡获奖作品","DISCOVER_WARNING_TITLE":"糟糕!","DISCOVER_EMPTY_CATALOG":"此插件返回空内容。","DISCOVER_ADULT_WARNING":"此内容仅对成人可见,您是否已满18周岁?","DISCOVER_NOADDON_WARNING":"警告:此类型没有可用的Stremio插件,显示已保存的项目,此处不会更新任何内容。","DISCOVER_LOAD_ERR":"内容未加载,发生错误。","DISCOVER_ADDON_UNINSTALLED":"此内容不再可用,您可能已卸载插件。","UNINSTALL_THIS_ADDON":"卸载此插件","ERR_ADDON_NOT_INSTALLED":"未安装此插件,立即安装?","DETAIL_RECEIVE_NOTIF_SERIES":"接受新剧集的通知","DETAIL_RECEIVE_NOTIF_VIDEOS":"接受新视频的通知","SIDEBAR_SHOW_STREAMS":"显示流媒体","RELAUNCH":"立即重新启动!","UPGRADE":"新版本可用!升级至Stremio的最新版本","RELOAD_UI":"重新加载用户界面","MANUAL_UPDATE_TITLE":"更新您的Stremio版本","MANUAL_UPDATE_LINE1":"您运行的是一个过时的Stremio版本,这是非常不推荐的。","MANUAL_UPDATE_LINE2":"请尽快更新。","BUTTON_UPDATE_LATTER":"不是现在","BUTTON_UPDATE_NOW":"更新","ANONYMOUS_USER":"匿名用户","DONT_HAVE_ACC":"还没有账户?","HAVE_ACC":"已经有账户了?","PASSWORD":"密码","PASSWORD_CONFIRM":"确认密码","EMAIL":"电子邮箱","FB_LOGIN":"使用Facebook登录","FB_NOTHINGSHARED":"未经您的允许,任何内容都不会被共享","FB_NOPOST":"我们不会替您发送任何东西","OR":"或","I_ACCEPT":"我接受","I_ACCEPT_BY_CLICKING":"通过点击上面的按钮,我声明我接受","TOS":"条款和条件","MUST_ACCEPT_TERMS":"您必须接受条款","PASSWORDS_NOMATCH":"密码不匹配","SIGN_UP":"注册","SIGN_UP_EMAIL":"使用电子邮箱注册","CLICK_TO_SIGN_UP":"点击此处注册。","LOG_IN":"登录","LOG_OUT":"注销","EXIT_FULLSCREEN":"退出全屏模式","ENTER_FULLSCREEN":"进入全屏模式","PLAY_URL_MAGNET_LINK":"播放URL/Magnet链接","HELP_FEEDBACK":"帮助和反馈","TERMS_OF_SERVICE":"服务条款","PRIVACY_POLICY":"隐私政策","ABOUT_STREMIO":"关于Stremio","USER_PANEL":"用户面板","LOGIN_LABEL":"Login","GUEST_LOGIN":"访客登录","GUEST_LOGIN_NOTICE":"不建议访客登录,使用常规登录允许Stremio同步您的库,接受喜爱的剧集/频道的通知。您确定要继续吗?","GUEST_LOGIN_NOTICE_2":"不建议访客登录,您将没有同步的库和首页通知,这是Stremio的重要功能。您确定要继续吗?","CLICK_HERE":"点击此处","WRONG_PASSWORD":"错误的电子邮箱或密码,如果您忘了密码,","SET_A_PASS":"设置密码","RESET_PASSWORD":"重置密码","FORGOT_PASSWORD":"忘记密码?","EMAIL_USED_WITH_FB":"此电子邮箱与Facebook登陆一起使用。","INVALID_EMAIL":"请输入有效的电子邮箱地址","INVALID_PASSWORD":"请输入有效的密码","CONN_ERR":"连接错误,请稍后再试。\\n\\n如果问题仍然存在,请禁用防火墙/杀毒软件(特别是Bitdefender)。","IMPORT_FROM_GUEST":"从访客账户导入库","RECEIVE_UPDATES_EMAIL":"从Stremio接受电子邮件更新","LOGIN_FAILED":"登陆失败。","SIGNUP_FAILED":"注册失败。","SEARCH_FAILED":"搜索失败","EMAIL_USED":"此电子邮箱已被使用。","WAITING_FB_LOGIN":"使用Facebook登录...","EXTERNAL_PLAYER_TITLE":"在外部播放器中播放","EXTERNAL_REMEMBER_PLAYER":"您想记住您的选择吗","EXTERNAL_ALWAYS_PLAY":"是","EXTERNAL_ONLY_ONCE":"不是","BEST_FIT":"最佳","FIT_SCREEN":"适合屏幕","FILL":"填充","16:9":"16:9","4:3":"4:3","Original":"原始","INTRO_TASTE":"告诉我们您喜欢什么","INTRO_TASTE_LONG":"告诉我们您想看什么","INTRO_TASTE_PICK":"选择{{interestsRemaining}}兴趣","INTRO_TASTE_PICK_MORE":"选择{{interestsRemaining}}更多兴趣","INTRO_TASTE_HELP_US":"帮助我们了解更多有关您的信息。","INTRO_TASTE_CHOOSE_THESE":"选择其中一些:","INTRO_TASTE_CHOOSE_MIN":"至少选3个类别","INTRO_TASTE_CHOOSE_MIN_ERR":"您必须至少选择3个类别!","INTRO_TASTE_LIFESTYLE":"生活方式","INTRO_TASTE_SPORTS":"体育","INTRO_TASTE_FOOD_HEALTH":"饮食与健康","INTRO_TASTE_BEAUTY_FASHION":"美丽与时尚","INTRO_TASTE_NEWS":"新闻","INTRO_TASTE_GAMING":"游戏","INTRO_TASTE_SCIENCE_EDU":"科学与教育","INTRO_TASTE_MUSIC":"音乐","INTRO_TASTE_TRAVEL":"旅行","INTRO_TASTE_LATE_NIGHT":"深夜秀","INTRO_TASTE_REALITY":"真人","INTRO_TASTE_COMEDY":"喜剧","INTRO_TASTE_DIY":"DIY","INTRO_TASTE_TECH":"技术","INTRO_TASTE_CINEMA":"影院","ADDON_NOT_SUPPORTED":"此平台不支持选定的插件。","ADDON_DISCLAIMER":"使用第三方插件将始终受到您的责任和您所在的司法管辖区的法律的约束。","ADDON_ACTIVATE":"激活此插件?","ADDON_REPO_ADD":"插件集合URL","ADDON_ADD":"添加","INSTALL_ADDON":"Install addon","ADD_ADDON":"添加插件","ADD_ADDON_DESCRIPTION":"您可以通过外部链接添加插件,该链接将显示在“已安装的插件”下。","PASTE_ADDON_URL":"粘贴插件URL","WHATS_NEW":"最新消息","BUTTON_CONTINUE":"继续","BUTTON_ACTIVATE":"激活","BUTTON_ACTIVATED":"已激活","BUTTON_CANCEL":"取消","BUTTON_SUBMIT":"提交","BUTTON_DISMISS_ALL":"清除全部","BUTTON_VIEW_ALL":"查看全部","BUTTON_SEE_ALL":"查看全部","BUTTON_COLOR_TRANSPARENT":"透明度","OPEN_IN_BROWSER":"在浏览器中打开","LIB_EMPTY":"您的库看起来是空的,看看它有多有用:)","HOW_START":"您可以从这里开始:","LIB_EMPTY_CAL":"您的日历显示您库中的剧集。","HOW_START_CAL":"下面是如何添加剧集:","LIB_EMPTY_BOARD":"主页显示与您的库相关的通知&amp;推荐。","HOW_START_BOARD_WAIT":"请在您的库中添加一些剧集或频道给我们几分钟来处理:)","HOW_START_BOARD":"下面是如何向其中添加剧集&amp;电影:","IMPORT_FB":"从<span>Facebook</span>导入您喜欢的东西","IMPORT_TRAKT":"从<span>Trakt</span>导入媒体库","IMPORT_DISCOVER":"从<span>发现</span>中找到有趣的东西","IMPORT_DISK":"导入<span>本地磁盘</span>上的电影或节目","PLEASE_CREATE_ACC":"请<u>创建一个账户</u>以启用库同步&amp;主页。","IMPORT_DISCOVER_SIGNUP":"注册并从<span>发现</span>中找到有趣的东西","IMPORT_DISK_SIGNUP":"注册并导入<span>本地磁盘</span>上的电影或节目","LIB_EMPTY_CLOUD":"云端库","LIB_EMPTY_CLOUD_DESC":"在所有设备上同步个人云端库","LIB_EMPTY_EARLY":"第一时间","LIB_EMPTY_EARLY_DESC":"接收新剧集的通知","LIB_EMPTY_PERSONAL":"个性化","LIB_EMPTY_PERSONAL_DESC":"获取个性化推荐","LIB_EMPTY_CALENDAR_DESC":"安排您的个性化观看日历","LIB_EMPTY_ALL":"注册以获取所有这些:","LIB_EMPTY_BEST":"注册以获得最佳的Stremio","LIB_EMPTY_OTHER":"注册以启用日历和其他炫酷功能","CALENDAR_ADDED":"Stremio日历已添加到默认桌面日历中。","CALENDAR_ADDED_MSG":"如果这不起作用,请手动将此URL添加到日历应用程序中","TRAKT_EXPIRED":"Trakt验证已过期,请转到设置并重新验证","TRAKT_REQUIRES_LOGIN":"Trakt错误","TRAKT_REQUIRES_LOGIN_MSG":"您需要登录","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","SETTINGS_LABEL":"设置","SETTINGS_NAV_GENERAL":"常规","SETTINGS_NAV_PLAYER":"播放器","SETTINGS_NAV_STREAMING":"流媒体","SETTINGS_NAV_SHORTCUTS":"快捷键","SETTINGS_SHORTCUT_RELOAD_APP":"重新加载应用程序","SETTINGS_SHORTCUT_OPEN_SETTINGS":"打开设置","SETTINGS_SHORTCUT_SWITCH_TABS":"切换标签","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"向前循环标签","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"向后循环标签","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"在菜单之间导航","SETTINGS_SHORTCUT_GO_TO_SEARCH":"转到搜索","SETTINGS_SHORTCUT_EXIT_BACK":"退出/返回","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"切换播放速度菜单","SETTINGS_SHORTCUT_MENU_VIDEOS":"切换视频菜单","SETTINGS_SHORTCUT_MENU_SUBTITLES":"切换字幕菜单","SETTINGS_SHORTCUT_MENU_INFO":"切换信息菜单","SETTINGS_SHORTCUT_FULLSCREEN":"切换全屏","SETTINGS_SHORTCUT_SHOW_CONTROLS":"显示控件","SETTINGS_SHORTCUT_PLAY_PAUSE":"播放/暂停","SETTINGS_SHORTCUT_VOLUME_UP":"增大音量","SETTINGS_SHORTCUT_VOLUME_DOWN":"降低音量","SETTINGS_SHORTCUT_SEEK_NEXT":"寻找下一个","SETTINGS_SHORTCUT_SEEK_PREV":"寻找上一个","SETTINGS_SHORTCUT_SEEK_BACKWARD":"向后搜索","SETTINGS_SHORTCUT_SEEK_FORWARD":"向前搜索","SETTINGS_SHORTCUT_PLAY_NEXT":"播放下一个","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"增加字幕大小","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"减小字幕大小","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"增加字幕延迟","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"减少字幕延迟","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"切换侧边栏","SETTINGS_SHORTCUT_OR":"or","SETTINGS_SHORTCUT_TO":"to","SETTINGS_SHORTCUT_SPACE":"空格","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"已验证","SETTINGS_FACEBOOK_IMPORT":"导入","SETTINGS_CALENDAR_SUBSCRIBE":"订阅","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"用户界面语言","SETTINGS_LAUNCH_STARTUP":"开机时启动","SETTINGS_VLC_DEFAULT":"使用VLC播放","SETTINGS_UI_LANGUAGE":"用户界面语言","SETTINGS_UI_ZOOM":"用户界面缩放","SETTINGS_FULLSCREEN_EXIT":"Esc键退出全屏","SETTINGS_GAMEPAD":"启用游戏手柄支持","SETTINGS_CLOSE_WINDOW":"关闭窗口时结束应用程序","SETTINGS_SUBTITLES_LANGUAGE":"默认字幕语言","SETTINGS_SUBTITLES_SIZE":"默认字幕大小","SETTINGS_SUBTITLES_BACKGROUND":"字幕背景","SETTINGS_SUBTITLES_COLOR":"字幕颜色","SETTINGS_SUBTITLES_COLOR_OUTLINE":"字幕轮廓颜色","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"字幕背景颜色","SETTINGS_SEEK_KEY":"方向键控制进度","SETTINGS_SEEK_KEY_SHIFT":"按住Shift键时方向键控制进度","SETTINGS_REWIND_FAST_FORWARD_DURATION":"回放和快进持续时间","SETTINGS_BINGE":"自动播放下一集","SETTINGS_NEXT_VIDEO":"显示播放下一集的通知","SETTINGS_NEXT_VIDEO_TRIGGER":"显示下一集的通知:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"下一个视频弹出持续时间","SETTINGS_PLAY_IN_BACKGROUND":"在后台播放","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"在外部播放器中播放","SETTINGS_RESIZE":"播放前自动调整窗口大小","SETTINGS_OVERRIDE_SERVER":"覆盖流媒体服务器URL(高级)","SETTINGS_SERVER_URL":"流媒体服务器URL:","SETTINGS_SERVER_AVAILABLE":"流媒体服务器可用。","SETTINGS_SERVER_UNAVAILABLE":"流媒体服务器不可用。","SETTINGS_SERVER_STATUS_ONLINE":"在线","SETTINGS_SERVER_STATUS_ERROR":"错误","SETTINGS_SERVER_CONFIGURE_TITLE":"配置流媒体服务器url","SETTINGS_SERVER_CONFIGURE_INPUT":"输入流媒体服务器url","SETTINGS_SERVER_CACHE_SIZE":"缓存大小","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent配置","SETTINGS_HTTPS_ENDPOINT":"流媒体HTTPS结点:","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"始终使用最新的测试版","SETTINGS_IMPORT_FB":"从Facebook导入","SETTINGS_IMPORT_DISK":"从本地磁盘导入","SETTINGS_IMPORT_TRAKT":"从Trakt导入","SETTINGS_PAUSE_MINIMIZED":"最小化时暂停播放","SETTINGS_HWDEC":"硬件解码加速","SETTINGS_BACKGROUND":"后台播放","SETTINGS_SUBSCRIBE_CALENDAR":"订阅到日历","SETTINGS_REQ_EXPORT":"请求导出数据","SETTINGS_ACC_DELETE":"请求删除账户","SETTINGS_CHANGE_PASSWORD":"更改密码","SETTINGS_TOS":"服务条款","SETTINGS_SUPPORT":"联系支持人员","SETTING_LANGUAGE":"语言","SETTINGS_TRAKT":"Trakt自动跟踪","SETTINGS_TRAKT_LOGOUT":"从Trakt.tv注销","SETTINGS_TRAKT_LOGOUT_2":"从Trakt注销","SETTINGS_SCAN_FOR_REMOTE":"扫描二维码打开遥控器","SETTINGS_DESKTOP_NOTIFICATIONS":"桌面通知","SETTINGS_DATA_SAVER":"移动数据警告","SETTINGS_LANGUAGE_INTERFACE":"界面","SETTINGS_LANGUAGE_SUBS":"默认字幕","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"自动选择音频","SETTINGS_DEFAULT_AUDIO_TRACK":"默认音频","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"账户","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"版本","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"在单独窗口中启动播放器(高级)","SETTINGS_PLAY_IN_EXTERNAL":"总是在外部播放器中打开视频","SETTINGS_STORAGE_BUTTON":"清除本地存储","SETTINGS_STORAGE_MODAL_TITLE":"您确定吗?","SETTINGS_STORAGE_MODAL_MESSAGE":"这将清除本地存储并使您注销","SETTINGS_HWDEC_PICKER":"选择硬件加速解码设置","SETTINGS_HW_AUTOMATIC":"自动","SETTINGS_HW_DISABLED":"关闭","SETTINGS_HW_ACCELERATED":"解码加速","SETTINGS_HW_FULL":"全加速","SETTINGS_HW_LEGACY":"旧版","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"字幕","SETTINGS_SECTION_AUDIO":"音频","SETTINGS_SECTION_CONTROLS":"控件","SETTINGS_SECTION_AUTO_PLAY":"自动播放","SETTINGS_SECTION_ADVANCED":"高级","SUBSPICKER_AUDIO":"音频","SUBSPICKER_SUBTITLES":"插件字幕","SUBSPICKER_BLACK_BACKGROUND":"使用黑色背景色","SUBSPICKER_VERTICAL_OFFSET":"垂直偏移量","SUBSPICKER_SIZE":"大小","SUBSPICKER_DELAY":"延迟","SUBSPICKER_EMBEDDED_SUBS":"内嵌字幕","MOBILE_PRIVACY_POLICY":"隐私政策","MOBILE_CRASH_REPORTING":"崩溃报告","MOBILE_ZOOM_TO_FILL":"缩放填充屏幕","MOBILE_PASSTHROUGH":"数字音频输出(直通)","MOBILE_RUN_LOW_BATTERY":"电池电量低时运行","MOBILE_RUN_FOREGROUND":"作为前台服务运行","MOBILE_PERFORMANCE":"性能&稳定性","MOBILE_SERVER_ONLINE":"在线","MOBILE_SERVER_OFFLINE":"离线","MOBILE_QR_EXPIRES":"二维码到期时间","MOBILE_LOG_INTO":"登陆到您的Stremio账户","MOBILE_SCAN_QR":"扫描上面的二维码或转到","MOBILE_LINK_ACCOUNT":"链接账户","MOBILE_SPEEDPICKER_CANCEL":"取消","MOBILE_SPEEDPICKER_LABEL":"选择播放速度","MOBILE_EMPTY_LIBRARY":"您的库为空","MOBILE_NO_ADDON_ACTIVE":"没有活动的此类型Stremio插件。","MOBILE_ORGANIZER_WARNING":"Stremio Organizer应用程序提供的功能有限,要获得可播放流的列表和完整的Stremio体验,请使用Stremio桌面客户端。","MOBILE_ADDON_LOADING":"仍在加载","MOBILE_ADDONS_LOADING":"插件仍在加载","MOBILE_ADDON":"插件","MOBILE_CONFIGURE_ADDON":"配置插件","MOBILE_CONFIGURE_ADDON_LABEL":"配置插件","MOBILE_ORGANIZER_ADDONS_WARNING":"Stremio Organizer应用程序仅提供有限的插件,要获得完整的Stremio体验,请使用Stremio桌面客户端。","MOBILE_DISCONNECT":"断开连接","MOBILE_LOOKING_FOR_DEVICES":"正在查找设备...","MOBILE_CAST_TO":"投屏到","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"删除帐户","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"由于法律义务,账户删除不是即时的。在请求删除您的帐户后,您将不得不使用不同的电子邮件地址/脸书个人资料在未来创建一个新的Stremio帐户。","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"确认帐户删除","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"您的帐户是使用Facebook创建的。要删除您的帐户,请使用我们的用户门户网站www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"请提供您的密码以确认帐户删除。","MOBILE_DELETE_ACCOUNT_BUTTON":"删除帐户","NAVIGATION_ON":"开启","NAVIGATION_OFF":"关闭","MARKETING_AGREE":"我同意接收Stremio的营销通知","QUIT":"退出","CONNECTED":"已连接","AUTHENTICATE":"验证","CACHING":"缓存","SETTINGS_CACHING_DRIVE":"缓存磁盘","ENABLE_LOCAL_FILES_ADDON":"启用本地文件插件(需要重新启动)","LOCAL_ADDON_NOT_ENABLED":"未启用本地插件,单击此处转到设置并启用它","ENABLE_REMOTE_HTTPS_CONN":"启用远程HTTPS连接","TORRENT_PROFILE":"Torrent配置","DATA_CACHING":"数据缓存","MAGNET_PARSING":"分析Magnet链接","January":"一月","February":"二月","March":"三月","April":"四月","May":"五月","June":"六月","July":"七月","August":"八月","September":"九月","October":"十月","November":"十一月","December":"十二月","Monday":"星期一","Tuesday":"星期二","Wednesday":"星期三","Thursday":"星期四","Friday":"星期五","Saturday":"星期六","Sunday":"星期天","Action":"动作","Comedy":"喜剧","War":"战争","Family":"家庭","Animation":"动画","Adventure":"冒险","Fantasy":"幻想","Crime":"犯罪","Mystery":"神秘","Romance":"浪漫","Drama":"剧情","Horror":"恐怖","Thriller":"惊悚","Sci-Fi":"科幻","Music":"音乐","Biography":"传记","Documentary":"纪录","Sport":"运动","Musical":"音乐剧","Western":"西部","Film-Noir":"黑色电影","News":"新闻","History":"历史","Game-Show":"游戏节目","Reality-TV":"真人秀","Talk-Show":"脱口秀","Film & Entertainment":"电影与娱乐","Gaming":"游戏","From TV":"电视","Lifestyle":"生活方式","Science & Education":"科学与教育","Cooking & Health":"烹饪与健康","Beauty & Fashion":"美丽与时尚","Sports":"体育","News & Politics":"新闻与政治","How-to & DIY":"DIY","Tech":"技术","Automotive":"汽车","Causes & Non-Profits":"事业与公益","Movies":"影视","Uk Live Tv":"英国直播电视台","Fashion":"流行","Business News Radio":"商业新闻电台","Business Tv":"商业电视","Cars & Auto":"汽车与自动化","Comedy Radio":"喜剧电台","Lifestyle Radio":"生活方式电台","News Tv":"新闻电视","Food And Wine":"食物与酒","Latino Tv":"拉丁语电视台","Shopping Tv":"购物电视台","Religion":"宗教","Kids":"儿童","Body & Soul":"身体与灵魂","Education":"教育","Indian Tv":"印度电视台","Extreme Sports":"极限运动","Middle Eastern Tv":"中东电视台","Celebrity Tv":"名人电视台","Science Tv":"科学电视台","Bikini babe":"比基尼宝贝","Outdoors":"户外","German Tv":"德国电视台","French Tv":"法国电视台","Italian Tv":"意大利电视台","Gamer Tv":"伽马电视台","Travel":"旅行","Asian Tv":"亚洲电视台","Entertainment":"游戏娱乐","News Radio":"新闻电台","Music Radio":"音乐电台","Language Learning":"语言学习","Science Radio":"科学电台","Tech Radio":"科技电台","Science & Technology Vod":"科技视频点播","new video":"新视频","new episode":"新一集","new movie":"新电影","recommended":"推荐","we recommend":"我们建议","offer of the day":"当日优惠","news":"新闻","music video":"音乐视频","CTX_SHOW_HOTKEYS":"显示快捷键","CTX_DISMISS_NOTIF":"清除通知","CTX_DISMISS_ALL":"全部清除","CTX_SHARE":"分享","CTX_COPY_SHARE_LINK":"复制分享链接","CTX_COPY_MAGNET_LINK":"复制Magnet链接","CTX_COPY_STREAM_LINK":"复制流媒体链接","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"下载此视频","CTX_DOWNLOAD_SUBS":"下载字幕","CTX_VIEW_ON_YOUTUBE":"在YouTube上观看","CTX_SHOW":"显示","CTX_PLAY":"播放","CTX_PLAY_IN":"播放","CTX_PLAY_ON":"正在播放","CTX_WATCH_ON":"正在观看","CTX_WATCH":"观看","CTX_WATCHED":"已观看","CTX_WATCH_BEGINNING":"从头开始观看","CTX_WATCH_MOBILE":"在移动设备上观看","CTX_REWIND":"回到开头","CTX_MARK_WATCHED":"标记为已观看","CTX_MARK_NON_WATCHED":"标记为未观看","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"将其余部分标记为已观看","CTX_UNMARK_REST":"将其余部分标记为未观看","CTX_RECEIVE_NEW_NOTIF":"接受新通知","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"从缓存中删除","CTX_REMOVE_CACHE_EP":"从缓存中删除集","CTX_OPEN_CONTAINING":"打开所在文件夹","CTX_REMOVE":"从库中删除","CTX_AVAILABLE_OFFLINE":"离线可用","CTX_PAUSED":"暂停","CTX_ALWAYS_ON_TOP":"置顶","CTX_FULLSCREEN":"全屏","CTX_WRONG_SUBS":"错误的字幕?","CTX_REPORT_ISSUES":"报告问题","CTX_COPY":"复制","CTX_PASTE":"粘贴","CTX_CLEAR":"清除","CTX_CLEAR_RECENT_SEARCHES":"清除最近搜索记录","HELLO_THERE":"您好","HOPE_YOU_ENJOY":"我们希望您喜欢Stremio,也许它已经是您最喜欢的应用之一了!","WHO_ARE_WE":"我们是谁?我们是它背后的团队。在过去三年里的每天,我们两个努力工作使这个产品越来越好。","SUPPORT_US":"如果您喜欢Stremio,如果Stremio对您来说很有价值,请传播它!","SPREAD_THE_WORD":"现在与您的朋友分享传播关于Stremio的信息","MORE_PEOPLE":"使用Stremio的人越多,效果就越好!","SEND_A_LINK":"或发送一个链接到我们的网站","TIP_LOCALFILES":"提示:您可以将本地视频文件拖放到Stremio中","ADDON_MY":"我的插件","ADDON_COMMUNITY":"社区插件","ADDON_OFFICIAL":"官方插件","ADDON_REPOS":"插件集合","ADDON_SEARCH":"搜索插件","ADDON_INSTALL":"安装","ADDON_CONFIGURE":"配置","ADDON_UNINSTALL":"卸载","ADDON_UPGRADE":"更新","ADDON_INSTALLED":"已安装","ADDON_INSTALLED_MSG":"插件已安装!","ADDON_UPGRADED_MSG":"插件已更新!","ADDON_UNKNOWN":"未知","ADDON_ERR":"插件安装错误!","ADDON_DISCONNECTED":"已断开连接","ADDON_APP_MISSING":"未安装此源的应用程序,您想现在安装吗?","ADDON_APP_INSTALL":"立即安装","ADDON_PAGE":"插件页","ADDON_TOP_CONTENT":"最好从这个插件","ADDON_PROVIDES":"这个插件会给您:","ADDON_WATCH":"立即观看#{types}!","ADDON_WATCH_FREE":"立即免费观看#{types}!","ADDON_ADDON":"插件","ADDON_SUPPORTED_TYPES":"支持的类型","ADDON_SUPPORTED_CATALOGS":"支持的目录","ADDON_PROVIDES_DISCOVER":"发现中的更多#{types}","ADDON_PROVIDES_STREAMS":"观看#{types}","ADDON_PROVIDES_STREAMS_FREE":"免费观看#{types}","ADDON_PROVIDES_SUBTITLES":"#{types}的字幕","ADDON_CANTDETECT":"我们无法检测到正在运行的Stremio,因此我们无法检测您安装了哪些插件。","ERR_NO_META":"找不到有关于此的信息","ERR_GETTING_META":"检索有关于此的信息时出错","ERR_CANT_PARSE_MAGNET":"无法分析Magnet","ERR_NO_MAGNET_INFOHASH":"Magnet缺少有效的Hash","ERR_NO_FILE_PATH":"没有文件路径无法发送请求","ERR_NO_TORRENT":"没有Torrent返回","ERR_NO_SUPPORTERD_FILES":"找不到支持的文件","ERR_OPENING_FILES":"无法打开外部文件","ERR_INVALID_LINK":"无效链接","ERR_REGISTERED_ONLY":"此选项仅适用于已注册用户。","ERR_CLIPBOARD":"无法从剪切板播放","ERR_CLIPBOARD_READ":"无法读取此平台上的剪切板","ERR_CLIPBOARD_GENERIC":"在剪切板中找不到可播放的URL. 请将URL(例如Magnet链接)复制到视频。","BOARD_CONTINUE_WATCHING":"继续观看","BOARD_EXPLANATION_RECOMMENDATIONS":"专门为您挑选的电影。<br />这部电影是一个推荐样例。","BOARD_EXPLANATION_EPISODES":"这里是您最喜爱的剧集的新一集。<br />将您关注的剧集添加到库中。","BOARD_EXPLANATION_VIDEOS":"这里是您最喜爱的频道的新一集。<br />将您关注的YouTube频道添加到库中。","WEBSITE_ENJOYED_BY":"在全球拥有超过3000万用户","WEBSITE_STREAMING_ENHANCED":"流媒体增强","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio提供安全、现代、无缝的娱乐体验。凭借其易于使用的界面和多样化的内容库,包括4K HDR支持,用户可以在所有设备上欣赏他们喜爱的电影和电视节目。Stremio致力于安全,是无忧、高质量流媒体体验的终极选择。","WEBSITE_AVAILABLE_ON":"可用时间","WEBSITE_WATCH_AND_ENJOY":"观看并享受。","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio让它变得小菜一碟","WEBSITE_ALL_FEATURES":"全部功能","WEBSITE_EASY_TO_USE":"易于使用","WEBSITE_EASY_TO_USE_DETAILS":"Stremio的设计是用户友好和易于使用。凭借其干净直观的界面,您可以轻松导航并找到想要观看的内容。","WEBSITE_SEAMLESS_ACROSS_DEVICES":"无缝跨设备","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Stremio可用于各种平台(包括Windows、Mac、Linux、Android等),它将跟踪您在所有设备上的进度。只需登录并继续观看,无需在每个新设备上再次配置应用程序。","WEBSITE_ALL_DOWNLOADS":"全部下载","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"高清晰度视频支持","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"集成视频播放器支持大多数视频格式,包括4K HDR内容,让您享受可用的最高质量。","WEBSITE_DIVERSE_CONTENT_LIBRARY":"多样化的内容库","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio集成了大量流行的视频来源,如Netflix、Amazon Prime video、Hulu、YouTube等。","WEBSITE_CREATE_A_FREE_ACCOUNT":"创建免费帐户","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"量身定制的观看体验","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio允许您通过更改主题、添加或删除插件等方式自定义界面的外观。","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"多语言字幕支持","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"由于Stremio支持所有语言的字幕,您现在可以用您喜欢的语言欣赏所有喜爱的内容。","WEBSITE_ALL_STREMIO_FEATURES":"Stremio的全部功能","WEBSITE_TRY_STREMIO_TITLE_P1":"尝试Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"现在在你的电视上","WEBSITE_YOU_CAN_NOW_WATCH":"您现在可以在Android电视设备上观看所有喜爱的电视节目。Stremio电视应用程序让您轻松享受电影之夜。","WEBSITE_YOU_CAN_NOW_WATCH_2":"现在,您可以在智能电视或安卓电视上观看所有喜爱的电视节目。Stremio电视应用程序让您轻松享受电影之夜。","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"可能是您设备中最好、最有用的应用程序。这是我每天使用的应用程序之一,尤其是多年来在我的安卓电视上。制作精良,拥有强大的社区,提供有用的功能。干得好。继续努力。","WEBSITE_REVIEWS":"评论","WEBSITE_GET_STREMIO_FOR_FREE":"免费获取Stremio","WEBSITE_GET_STREMIO_NOW":"立即获取Stremio","WEBSITE_STREMIO_FEATURES":"Stremio功能","WEBSITE_STREMIO_FEATURES_DETAILS":"借助Stremio的高级功能,像专业人士一样进行流媒体播放,享受对所有喜爱媒体的无缝访问","WEBSITE_DISCOVER_MORE":"发现更多。","WEBSITE_DISCOVER_MORE_DETAILS":"永远不要无聊地没有东西可看","WEBSITE_COMMUNITY_DRIVEN":"社区驱动","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio拥有一个庞大而活跃的用户社区,他们通过创建和共享插件为软件的开发做出贡献。","WEBSITE_GET_INVOLVED":"参与进来","WEBSITE_NEW_THEATER_EXPERIENCE":"新剧场体验","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio的新专用电视应用程序让您在Android电视设备上享受电影之夜。","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio的新专用电视应用程序让您在智能电视或安卓电视设备上享受电影之夜。","WEBSITE_FREE_AND_SECURE":"免费和安全","WEBSITE_STREAMING":"流式传输","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio为用户提供无与伦比的安全性和隐私。Stremio具有远程运行插件的独特功能,与其他平台相比,它提供了一种更安全的方式来流式传输您喜爱的内容。您的安全和隐私是首要任务,平台确保您的所有数据都得到保护。","WEBSITE_FREE_AND_SECURE_DETAILS_2":"告别对安全和隐私的担忧,与Stremio一起向无尽娱乐的世界问好。","WEBSITE_INFORMATION_PROVIDED_BY":"信息来源于","WEBSITE_CONTRIBUTE":"贡献","WEBSITE_CONTRIBUTE_DESC":"帮助我们让Stremio变得更好","WEBSITE_COMMUNITY_DESC":"我们相信,创造真正令人惊叹的流媒体体验的最佳方式是让我们的社区参与到这个过程中。无论你是程序员、艺术家还是粉丝,你都可以帮助Stremio成长。","WEBSITE_COMMUNITY_DESC_2":"所以,今天就加入我们,成为Stremio社区的一员,继续塑造流媒体的未来。","WEBSITE_WAYS_TO_GET_INVOLVED":"参与方式","WEBSITE_IN_THE_STREMIO_COMMUNITY":"在Stremio社区","WEBSITE_SHARE_YOUR_THOUGHTS":"分享你的想法","WEBSITE_REPORT_BUGS":"报告Bug","WEBSITE_SUGGEST_FEATURES":"建议功能","WEBSITE_AND_PROVIDE_FEEDBACK":"并在我们的社交媒体渠道上提供反馈。","WEBSITE_BETA_TESTING_PROGRAM":"Beta测试程序","WEBSITE_BETA_TESTING_PROGRAM_DESC":"在Stremio社区参与我们的测试计划(我们定期发出邀请)。","WEBSITE_JOIN_NOW":"立即加入!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Stremio官方社区","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Stremio非官方社区","WEBSITE_BECOME":"成为","WEBSITE_A_VOLUNTEER_TRANSLATOR":"一位志愿翻译者","WEBSITE_ARE_YOU_A_DEVELOPER":"你是开发者吗?","WEBSITE_CONTRIBUTE_CODE":"您可以为我们的开源项目贡献代码。我们在GitHub上有几个项目正在寻找贡献者。如果你有兴趣帮忙,可以去看看:","WEBSITE_STREMIO_ON_GITHUB":"GitHub上的Stremio","WEBSITE_CREATE_ADDON_DESC":"创建一个插件以增强Stremio的功能(我们有一个易于使用的API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio插件SDK","WEBSITE_INTERN_DEVELOPER":"我们还提供了作为实习生开发人员加入我们的机会,这样我们就可以一起成长。","WEBSITE_APPLY_AS_AN_INTERN":"以实习生身份申请","WEBSITE_CALLING_ALL_ARTISTS":"呼叫所有艺术家!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"通过将您的粉丝艺术上传到我们的在线画廊,展示您对Stremio的创造力和热爱。无论是绘画、绘画还是数字设计,我们都希望看到您对Stremio品牌的独特见解。加入我们的艺术爱好者社区,与世界各地的Stremio粉丝分享您的作品。","WEBSITE_STREMIO_FANART_GALLERY":"Stremio粉丝艺术画廊","WEBSITE_INTERN_DESIGNER":"通过我们激动人心的实习机会,成为我们团队的一员,将您的创造力提升到新的高度。","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"公共领域电影项目","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"在Stremio,我们致力于通过识别公共领域和孤儿视频来保护电影和电视的历史。通过与我们的社区合作,我们可以确保这些经典艺术作品对每个人都是可访问的,并为后代所保护以供享受。","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"如果您想参与该项目,请随时与我们联系。","WEBSITE_JOIN_THE_PROJECT":"加入项目","WEBSITE_BE_PART_OF_OUR_MISSION":"成为我们使命的一部分","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"有兴趣加入斯特雷米奥队吗?我们为充满激情的专业人士提供完全远程工作。查看我们的空缺职位。","WEBSITE_OPEN_POSITIONS":"空缺职位","WEBSITE_DESCRIPTION":"说明","WEBSITE_LEARN_MORE":"了解更多","WEBSITE_COMPANY":"公司","WEBSITE_CONTACTS":"联系人","WEBSITE_NEED_HELP":"需要帮助?","WEBSITE_STREMIO_WEB_ON_IOS":"iOS版Stremio Web指南","WEBSITE_LINK_ART_V2":"粉丝艺术画廊","WEBSITE_PARTNERS":"合作伙伴","WEBSITE_SLOGAN_WATCH":"立即观看","WEBSITE_SLOGAN_ALL":"一站式视频娱乐解决方案","WEBSITE_SLOGAN_NEW":"您能观看一切","WEBSITE_SLOGAN_NEW_NEW":"自由串流","WEBSITE_WATCH_FROM":"观看","WEBSITE_DOWNLOAD":"立即下载","WEBSITE_DOWNLOAD_FOR":"立即下载","WEBSITE_IS_DESKTOP":"Stremio是一个桌面应用程序,请在PC上打开此页并下载","WEBSITE_DESKTOP_DEMO_VID":"桌面演示","WEBSITE_PAGE_HOME":"首页","WEBSITE_PAGE_FEATURES":"功能","WEBSITE_PAGE_ADDONS":"插件","WEBSITE_PAGE_TECH":"技术","WEBSITE_PAGE_CREATE_ADDON":"创建插件","WEBSITE_PAGE_CONTACTS":"联络","WEBSITE_PAGE_BLOG":"博客","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"电影","WEBSITE_TYPE_series_PL":"剧集","WEBSITE_TYPE_tv":"直播电视","WEBSITE_TYPE_channel":"频道","WEBSITE_STREMIO_WHAT_IS":"Stremio是一款帮助您管理和随时观看您喜爱的视频、电影、剧集和电视频道的应用程序","WEBSITE_FEATURES_WATCH":"立即观看高清视频","WEBSITE_FEATURES_WATCH_DETAIL":"点击并播放您喜爱的电影、剧集、视频和电视频道。","WEBSITE_FEATURES_SUBS":"自动加载字幕","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio会自动为您的语言选择同步字幕。","WEBSITE_FEATURES_SUBS_LABEL":"Your move, chief.","WEBSITE_FEATURES_CAST":"在电视和移动设备上播放","WEBSITE_FEATURES_CAST_DETAIL":"适用于AppleTV、Chromecast、智能电视(DLNA/UPnP)和移动设备。","WEBSITE_LIB":"享受在所有设备上同步的个人库","WEBSITE_LIB_COLLECT":"从Stremio收集","WEBSITE_LIB_IMPORT":"从Facebook导入","WEBSITE_LIB_LOCAL":"从本地磁盘添加","WEBSITE_BOARD":"首页 - 通知和推荐的一站式场所","WEBSITE_BOARD_RECOMMEND":"推荐电视节目","WEBSITE_BOARD_TRENDING":"流行电影","WEBSITE_BOARD_NEW":"新视频","WEBSITE_BOARD_EPISODE":"新一集","WEBSITE_BOARD_1":"想看些有趣的东西吗?根据您的喜好得到推荐!","WEBSITE_BOARD_2":"当您最喜爱的电视节目或YouTube频道的新一集播出时获得通知!","WEBSITE_BOARD_YOUTUBE":"YouTube频道的新视频","WEBSITE_BOARD_EPISODES":"您关注的剧集的新一集","WEBSITE_ADDONS":"内容插件","WEBSITE_TECH_DETAIL":"我们热爱科技,我们热爱疯狂的科学!\\nStremio使用了以下开源技术:","WEBSITE_TECH_WCJS":"WebChimera.js允许Stremio以良好的性能播放任何视频格式。","WEBSITE_TECH_WCJS_EXTRA":"我们是项目的核心贡献者","WEBSITE_TECH_ELECTRON":"Electron为Stremio提供了一个创新平台。","WEBSITE_TECH_ELECTRON_EXTRA":"我们是项目贡献者","WEBSITE_TECH_LINVODB":"一种数据库技术,确保您的数据在任何地方登录都受管理和可用。","WEBSITE_TECH_LINVODB_EXTRA":"内部技术","WEBSITE_CREATE_ADDON":"创建您的插件","WEBSITE_CREATE_ADDON_DETAIL":"您有提供视频内容的服务吗?我们将通过创建插件来帮助您从Stremio的功能中获益。","WEBSITE_CREATE_ADDON_BENEFITS":"为Stremio创建插件的好处","WEBSITE_P2P_BEAUTY":"点对点流媒体之美","WEBSITE_P2P_1":"可靠且价格合理的全高清/4K视频点播或流媒体直播","WEBSITE_P2P_2":"提供良好用户体验的分销平台","WEBSITE_P2P_3":"我们将创建一个插件来满足您的确切需要","WEBSITE_P2P_CONTACT":"有兴趣吗?欢迎您通过<a href=\'mailto:office@stremio.com\'>联系我们</a>.","WEBSITE_P2P_CONTACT_EXTRA":"我们很乐意帮助您将您的内容集成到Stremio!","WEBSITE_P2P":"偶然间出现了一种改变游戏名称的技术。 我们投入了大量的时间和精力来构建我们的点对点(P2P)视频流媒体引擎,该引擎可提供出色的性能和多功能性,以适应任何用例。\\n请联系我们以获取支持DRM的P2P视频点播或实时流媒体。","WEBSITE_THOUGHTS":"我们分享的想法:","WEBSITE_SPREAD":"传播关于Stremio的信息:","WEBSITE_CONTACT":"联系我们,我们很高兴收到您的来信!","WEBSITE_OPENSOURCE":"有关我们的开源项目,请转到:","WEBSITE_BITCOIN":"捐赠比特币:","WEBSITE_FAQ":"常见问题","WEBSITE_FAQ_SHORT":"常见问题","WEBSITE_QUESTIONS":"问题","WEBSITE_TOS":"使用条款","WEBSITE_LEGAL":"法律","WEBSITE_PAGE_ABOUT":"关于","WEBSITE_PAGE_BECOME_PARTNER":"成为合作伙伴","WEBSITE_ALL_YOU_CAN_WATCH":"自由观看\\n您想看的一切。","WEBSITE_FREEDOM_TO_STREAM":"自由串流","WEBSITE_WHAT_IS_STREMIO":"什么是Stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio是一个一站式视频内容聚合中心。在您拥有的任何设备上发现,管理和观看来自各种来源的视频。","WEBSITE_WHAT_IS_STREMIO_P2":"电影、电视节目、剧集、电视直播或网络频道例如YouTube或Twitch.tv等,您可以在Stremio上找到所有这些内容。","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio是一个现代化的媒体中心,为您的视频娱乐提供一站式解决方案。您可以通过易于安装的插件发现,观看和整理视频内容。","WEBSITE_WHAT_IS_STREMIO_P2_V2":"电影、电视节目、直播电视或网络频道——在Stremio上找到所有这些。","WEBSITE_ENJOI_ON_ALL_DEVICES":"在所有媒体设备上享受","WEBSITE_DEVICES_COLLECT":"从Stremio收集","WEBSITE_DEVICES_IMPORT_FB":"从Facebook导入","WEBSITE_DEVICES_LOCAL":"从本地磁盘添加","WEBSITE_JOIN_THE_PARTY_NOW":"立即加入聚会","WEBSITE_DEVICES_ALL":"易于在所有设备上使用;","WEBSITE_EXTENDABLE_CATALOG":"可无限扩展的视频目录;","WEBSITE_ORGANIZE_YOUR_MEDIA":"强大的媒体管理功能;","WEBSITE_AS_SEEN_ON":"如图所示","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"关于我们","WEBSITE_LINK_TECHNOLOGY":"技术","WEBSITE_LINK_APPS":"应用程序","WEBSITE_LINK_DOWNLOADS":"下载","WEBSITE_MORE":"更多","WEBSITE_LINK_ADDONS":"插件","WEBSITE_LINK_ADDON_SDK":"插件SDK","WEBSITE_LINK_CONTRIBUTE":"贡献","WEBSITE_LINK_COMMUNITY":"社区","WEBSITE_LINK_BLOG":"博客","WEBSITE_MORE_MORE":"... & 更多","WEBSITE_LINK_HELP":"帮助中心","WEBSITE_LINK_CONTACTS":"业务查询","WEBSITE_LINK_TOS":"条款和条件","WEBSITE_LINK_PRAVACY":"隐私政策","WEBSITE_SUBSCRIBE":"订阅","WEBSITE_NEWSLETTER":"加入我们的实时通讯,了解精彩的内容","WEBSITE_PLACEHOLDER_EMAIL":"您的电子邮箱","WEBSITE_COMMUNITY":"社区","WEBSITE_LINK_PRAVACY_LEGAL":"隐私与法律","WEBSITE_WHY":"我们为什么这样做","WEBSITE_WHY_P1":"在Stremio,我们每天都工作,因为我们想解决视频点播行业的一个重要问题。每分钟都有这么多的新内容发布,几乎不可能找到解决的方法。","WEBSITE_WHY_P2":"我们帮助人们浏览这个巨大的视频娱乐世界,发现新的内容来享受。我们的应用程序汇集了电影、剧集、电视直播、网络频道等。我们致力于让用户非常容易地找到他们喜欢的标题和广播。","WEBSITE_WHY_P3":"您可以随时在任何设备上使用我们的服务,使Stremio成为您唯一需要的视频娱乐中心。","WEBSITE_TEAM":"团队","WEBSITE_TEAM_P":"Stremio团队虽小但很强大:我们10个人用X语言编写代码,分享软件开发、UI和UX设计、营销和广告、商业和初创企业方面的专业知识。","WEBSITE_FEATURES":"功能","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"轻松发现新内容","WEBSITE_FEATURES_DISCOVER_P":"轻松发现要观看的新电影、电视节目、剧集和频道。按类别、流派、评分、时间等浏览,或者只需键入一个名称即可找到。Stremio让寻找新的视频内容变得轻而易举。","WEBSITE_FEATURES_ALL_CONTENT":"一块屏幕显示所有视频内容","WEBSITE_FEATURES_ALL_CONTENT_P1":"查看您未看完的电影、剧集或视频,并继续观看;获得新剧集和版本的通知;浏览根据您的观看习惯获得的推荐。","WEBSITE_FEATURES_LIBRARY":"管理您的视频库","WEBSITE_FEATURES_LIBRARY_P1":"只需点击一下,即可将任何标题添加到您的Stremio库中,并按类型、时间或字母顺序整齐地排列内容。","WEBSITE_FEATURES_CALENDAR":"记录您所观看的一切","WEBSITE_FEATURES_CALENDAR_P1":"获取添加到库中的所有电影和系列的日历可视化。导出您的Stremio日历并同步它,这样您就可以随时知道新的一集或首映何时到来。","WEBSITE_FEATURES_BIG_SCREEN":"在大屏幕上欣赏您的视频内容","WEBSITE_FEATURES_BIG_SCREEN_P1":"将您正在观看的任何内容都投屏到另一台设备上,无论是手机、平板电脑还是电视,只需点击一下即可。","WEBSITE_FEATURES_SOURCES":"观看不同来源的视频","WEBSITE_FEATURES_SOURCES_P":"安装官方和社区插件,欣赏来自多个不同供应商的视频。","WEBSITE_CREATE_AN_ADDON":"创建插件","WEBSITE_FEATURES_SYNC":"跨设备同步库并恢复播放","WEBSITE_FEATURES_SYNC_P1":"使用您的帐户在所有设备上登录,享受同步的库、插件、播放和日历。","WEBSITE_FEATURES_EXTENDABLE":"通过插件扩展视频目录","WEBSITE_FEATURES_EXTENDABLE_P1":"Stremio插件目录提供了许多插件,可以从中安装和观看各种视频内容。这包括电影、节目、电视直播、体育、新闻、播客、网络频道、视频游戏等。","WEBSITE_FEATURES_AUTO_SUBS":"自动加载字幕","WEBSITE_FEATURES_AUTO_SUBS_P1":"通过我们的字幕插件,您可以自动选择您喜欢的语言。","WEBSITE_FEATURES_CHROMECAST":"投屏到Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"在更大的屏幕上欣赏您的视频内容,或者将您正在观看的内容投屏到其他设备上。","WEBSITE_FEATURES_KEEP_TRACK":"跟踪您最喜爱的电视节目和网络频道","WEBSITE_FEATURES_KEEP_TRACK_P1":"获取您最喜爱的剧集和网络频道的新一集的日历可视化和通知。","WEBSITE_FEATURES_POWER_USER":"超级用户功能","WEBSITE_FEATURES_POWER_USER_P1":"在外部播放器中播放","WEBSITE_FEATURES_POWER_USER_P2":"从Torrent文件或Magnet链接播放","WEBSITE_FEATURES_POWER_USER_P3":"从Facebook喜爱或本地磁盘导入您的库","WEBSITE_ADD_ONS":"插件","WEBSITE_ADD_ONS_P1":"Stremio提供的所有视频内容都是通过插件系统获取的,应用程序中没有内置任何内容或内容提供商。","WEBSITE_ADD_ONS_P2":"有两组插件可用:官方和社区插件。","WEBSITE_ADD_ONS_P3":"官方插件由Stremio开发和托管,而社区插件由我们的社区成员创建和托管。","WEBSITE_ADDONS_OFFICIAL":"官方插件","WEBSITE_ADDONS_WATCHUB":"从iTunes、Hulu、Amazon和其他英国/美国服务提供商处流式播放您喜爱的电影、剧集和节目。","WEBSITE_ADDONS_YOUTUBE":"观看您喜爱的YouTube频道,获得您关注的贡献者的新上传通知。","WEBSITE_ADDONS_FILMON":"免费观看直播电视、电影和社交电视。600个电视频道,45000部免费电影,纪录片以及更多","WEBSITE_ADDONS_OPENSUBTITLES":"多语种影视字幕,每天上传上千个翻译字幕。","WEBSITE_ADDONS_COMMUNITY":"社区插件","WEBSITE_ADDONS_FILMON_VOD":"观看来自Filmon.tv的点播视频。","WEBSITE_ADDONS_TWICH":"观看来自Twitch.tv(电子竞技行业的视频流媒体平台)的直播。","WEBSITE_ADDONS_VODO":"观看完全免费的独立电影。","WEBSITE_ADDONS_NETFLIX":"观看Netflix的电影和网剧。","WEBSITE_ADDONS_CREATE":"创建插件","WEBSITE_ADDONS_CREATE_P1":"如果您愿意,您可以开发自己的插件。通过这种方式,您可以让自己和我们的社区访问新的视频内容,并接触到全球数百万用户的新目标受众。","WEBSITE_ADDONS_START_CREATE":"要开始,请访问Stremio插件SDK页面:","WEBSITE_DOWNLOADS":"下载","WEBSITE_DOWNLOADS_P1":"为了获得最佳性能,我们建议您使用最新版本的Stremio应用程序。但是,如果出于某种原因,您想使用旧版本,可以在此处下载。","WEBSITE_DOWNLOADS_P1_SHORT":"为了获得最佳性能,我们建议您使用最新版本的Stremio应用程序,","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio for Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio for macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio for Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio for Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio for iOS(限制版本)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"下载Stremio服务","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service是Stremio Web的配套应用程序。我们建议使用最新版本的Stremio Service。","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"更多下载选项","WEBSITE_DOWNLOAD_NEW":"新!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"我们发布了Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"Stremio平台是开源的,您可以轻松地为当前没有来源的内容创建一个插件。","WEBSITE_CONTRIBUTE_WHY":"为什么要创建插件?","WEBSITE_CONTRIBUTE_WHY_P1":"为您的视频内容吸引新观众","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio的用户群体正在快速增长,在推出的第一年,Stremio在全球获得了100万用户,在该平台存在的第二年,这个数字增长到250万。","WEBSITE_CONTRIBUTE_WHY_P3":"用插件,您可以轻松接触这些观众并向他们分发您的视频内容。","WEBSITE_CONTRIBUTE_ALL":"在一处观看您喜爱的电影、视频、剧集和频道。","WEBSITE_CONTRIBUTE_ALL_P1":"您是Stremio上尚未提供的特定类型内容的粉丝?为它创建一个插件,在市场上最大、最易使用的娱乐中心之一欣赏您喜爱的视频。","WEBSITE_CONTRIBUTE_ALL_P2":"除此之外,您还会得到其他志同道合的Stremio社区成员的无尽感激。","WEBSITE_CONTRIBUTE_MONETIZE":"通过插件营利,并在其帮助下赚钱","WEBSITE_CONTRIBUTE_MONETIZE_P1":"一旦您为Stremio开发了一个新的插件,您就可以通过多种不同的方式轻松地靠其营利。如果您正在考虑此问题,请随时与我们联系","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":",我们很乐意就插件营利选项向您提供咨询和建议。","WEBSITE_CONTRIBUTE_TRANSLATE":"成为一名志愿翻译者","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"如果您想享受不同语言的Stremio应用程序,您可以加入我们的志愿翻译者社区。他们帮助我们添加多种不同语言的Stremio版本。","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"您想开始吗?","WEBSITE_TRANSALTE_STREMIO":"翻译Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"官方社区","WEBSITE_COMMUNITY_OFFICIALS_P1":"成为不断增长的Stremio社区的一部分。在社交媒体上关注我们,不要害羞地打招呼,我们喜欢听到粉丝的声音!","WEBSITE_COMMUNITY_UNOFFICIALS":"非官方社区","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"合作伙伴和支持者","WEBSITE_COMMUNITY_GOODIES":"Stremio特典","WEBSITE_COMMUNITY_WALLPAPERS":"壁纸","WEBSITE_COMMUNITY_ART":"社区艺术画廊","WEBSITE_LINK_ART":"社区艺术画廊","WEBSITE_CONTACT_US":"联系我们","WEBSITE_CONTACT_US_P1":"如果您有任何问题、意见或建议,请随时通过下面的联系方式与我们联系。","WEBSITE_CONTACT_US_P2":"请记住,我们位于保加利亚,因此可能会由于时区差异而延迟处理您的问题。","WEBSITE_CONTACT_US_SUCCESS":"您的信息已发送。我们会在方便的时候尽快给您回复。","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"请输入有效的电子邮箱!","WEBSITE_CONTACT_US_Q_RELATED_TO":"您的问题与什么有关?","WEBSITE_CONTACT_US_Q_OS":"您的操作系统是什么?","WEBSITE_CONTACT_US_PH_EMAIL":"您的电子邮箱","WEBSITE_CONTACT_US_PH_MESSAGE":"短信","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"发送","WEBSITE_CONTACT_US_Q_1":"如何安装?","WEBSITE_CONTACT_US_Q_2":"如何卸载?","WEBSITE_CONTACT_US_Q_3":"(HTML)如何制作千层面?","WEBSITE_CONTACT_US_Q_4":"插件","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"技术","WEBSITE_TECHNOLOGY_P1":"我们热爱科技,热爱科学。</br>这是Stremio的动力(它都是开源的)。","WEBSITE_TECHNOLOGY_P_QT":"最佳跨平台软件开发工具。","WEBSITE_TECHNOLOGY_P_MPV":"一款免费、开源、跨平台的媒体播放器。","WEBSITE_TECHNOLOGY_P_RN":"React Native允许您仅使用JavaScript构建移动应用程序。","WEBSITE_TECHNOLOGY_P_VLC":"嵌入到应用程序中获取多媒体的媒体框架。","WEBSITE_TECHNOLOGY_P_REALM":"Realm是一个移动平台,是SQLite和Core Data的替代品。","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js是一个开源、跨平台的JavaScript运行环境。","WEBSITE_TECHNOLOGY_P_RUST":"Rust是一种多范式系统编程语言,关注安全性,尤其是安全并发性。","WEBSITE_TECHNOLOGY_CONTRIBUTE":"为项目贡献力量","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"您可以通过两种方式为Stremio做贡献,帮助我们将产品做得更好。","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"您可以通过翻译平台来贡献您宝贵的语言技能...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"或","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... 您可以利用您的编程技巧来创建社区插件。","WEBSITE_TRANSLATE_STREMIO":"翻译Stremio","WEBSITE_404_OH_NO":"糟糕!您要找的页面不在这里...","WEBSITE_GO_HOME":"回到主页","WEBSITE_LINK_OTHER_DOWNLOADS":"其他下载","WEBSITE_FAQ_ABR":"常见问题","WEBSITE_SUPPORT":"支持","WEBSITE_DOWNLOAD_4_0_BETA":"立即下载Stremio 4测试版","WEBSITE_GET_FOR_DESKTOP":"获取桌面","WEBSITE_LINK_ADDON_COMPETITION":"插件比赛","WEBSITE_LINK_ART_CONTEST":"艺术比赛","WEBSITE_MY_ACCOUNT":"我的账户","WEBSITE_MAINPAGE_FAQ_001_H1":"什么是Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio是一个现代化的媒体中心,让您可以自由观看任何您想要的东西。","WEBSITE_MAINPAGE_FAQ_002_H1":"它是如何工作的?","WEBSITE_MAINPAGE_FAQ_002_P1":"一旦您在设备上安装了Stremio并创建了一个帐户,您所要做的就是访问插件目录并安装任何您想要的插件,就可以开始了!","WEBSITE_MAINPAGE_FAQ_002_P2":"之后,您可以进入“发现”或“板”部分,开始探索内容。","WEBSITE_MAINPAGE_FAQ_003_H1":"我可以在这里看什么?","WEBSITE_MAINPAGE_FAQ_003_P1":"很多:电影、电视节目、网络频道、体育、电视频道、收听播客等等。感谢我们的插件系统,您可以访问各种内容。","WEBSITE_MAINPAGE_FAQ_004_H1":"Stremio是开源的吗?","WEBSITE_MAINPAGE_FAQ_004_P1":"是的,您可以查看以下链接:${1}桌面应用${2}和${3}GitHub组织${4}。","WEBSITE_MAINPAGE_FAQ_005_H1":"Stremio安全吗?","WEBSITE_MAINPAGE_FAQ_005_P1":"是:因为它是开源软件,所以代码可以公开审核,您可以自己查看。","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"我的隐私如何?","WEBSITE_MAINPAGE_FAQ_006_P1":"我们尊重用户隐私,除了创建和同步您的帐户所必需的最低限度外,不收集任何个人数据。","WEBSITE_MAINPAGE_FAQ_006_P2":"注册时还有一个${1}访客模式${2},它不需要任何数据:在这种模式下,不会调用我们的后端。然而,这是以牺牲有用的功能为代价的,比如能够跨设备同步您的库。","WEBSITE_MAINPAGE_FAQ_007_H1":"我可以投屏到电视吗?","WEBSITE_MAINPAGE_FAQ_007_P1":"是的,我们支持Chromecast,您可以从桌面和移动应用程序(Android)进行强制转换。","WEBSITE_MAINPAGE_FAQ_008_H1":"Stremio有多少插件?","WEBSITE_MAINPAGE_FAQ_008_P1":"截至2019年末,超过50个。有关更多信息,请查看我们的插件目录。","WEBSITE_MAINPAGE_FAQ_009_H1":"Stremio是否可以扩展到插件目录之外?","WEBSITE_MAINPAGE_FAQ_009_P1":"是的,您应该查看这些:${1}PimpMyStremio${2},${3}Reddit communities${4},${5}Stremio Downloader${6},等等。","WEBSITE_MAINPAGE_FAQ_010_H1":"Stremio支持哪些设备?","WEBSITE_MAINPAGE_FAQ_010_P1":"我们有适用于Windows、Mac和Linux的桌面应用程序。对于移动设备,我们支持Android和iOS,但请记住iOS的功能有限(不支持大多数插件)。","WEBSITE_MAINPAGE_FAQ_010_P2":"有很多基于Android的设备可以在上面运行Stremio,比如NVIDIA Shield和Amazon Fire Stick,但我们并不正式支持它们。","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"您们能为Stremio添加某些内容吗?","WEBSITE_MAINPAGE_FAQ_011_P1":"抱歉,我们本身不提供任何内容,但是您安装的Stremio插件越多,您可以找到的内容就越多。","WEBSITE_MAINPAGE_FAQ_012_H1":"Stremio可以播放Magnet链接吗?","WEBSITE_MAINPAGE_FAQ_012_P1":"是的,它还可以播放正常的HTTP链接和Torrent文件(拖放)。","WEBSITE_MAINPAGE_FAQ_013_H1":"我可以下载视频并离线观看吗?","WEBSITE_MAINPAGE_FAQ_013_P1":"离线可用是一项即将推出的功能,但如果您允许Stremio在设备上缓存(从“设置”面板),您可以稍后在没有连接的情况下观看视频。","WEBSITE_MAINPAGE_FAQ_014_H1":"什么都不能用,帮帮我!","WEBSITE_MAINPAGE_FAQ_014_P1":"您确定已安装插件吗?如果是,请与我们的${1}帮助中心${2}联系","WEBSITE_MAINPAGE_FAQ_015_H1":"Stremio如何维持其开发运营?","WEBSITE_MAINPAGE_FAQ_015_P1":"我们偶尔会播放非侵入性广告,但我们正在考虑转向捐赠模式。","WEBSITE_MAINPAGE_FAQ_015_P2":"有关更多问题,请访问我们的${1}帮助中心${2}。","HELP_LEARN_MORE":"帮助我们了解更多有关您的信息。","LIFESTYLE":"生活方式","SPORTS":"体育","FOOD_HEALTH":"饮食与健康","BEAUTY_FASHION":"美丽与时尚","NEWS":"新闻","GAMING":"游戏","SCIENCE_EDUCATION":"科学与教育","MUSIC":"音乐","TRAVEL":"旅行","LATE_NIGHT":"深夜","REALITY":"真人","COMEDY":"喜剧","DIY":"DIY","TECH":"技术","CINEMA":"影院","CONTINUE":"继续","SLOW_LOADING":"加载缓慢?","I_GIVE_UP":"我放弃了","LEARN_MORE":"了解更多","POOR_SOURCE":"此源不可用或您的网络连接不够快","PICK_CATEGORIES_ERR":"您必须至少选择3个类别","ADJUST_TIMING":"调整时间","ADJUST_SIZE":"调整大小","SEARCH_ANYTHING":"您可以搜索一切...","ALL_CATEGORIES":"全部","SEARCH_CATEGORIES":"电影、剧集、YouTube和电视","SEARCH_PERSONS":"演员、导演和编剧","SEARCH_PROTOCOLS":"HTTP或Magnet链接","SEARCH_TYPES":"IMDB/TVDB链接","WATCHED":"已观看","SHOW_LESS":"显示较少","LAST_SEARCHES":"上次搜索","CLEAR_HISTORY":"清除历史记录","CHOOSE_SOME":"选择其中一些:","NO_WEB_REMOTE":"无法加载Web Remote","STREMIO_OFFLINE":"Stremio离线","STREMIO_EXPENSIVE_CONNECTION":"我们检测到您正在使用移动数据连接,是否继续?","USE_DATA":"使用移动数据","WARNING":"警告","MORE_INFO":"更多信息...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"加载...","STREMIO_TV_BACK_TO_LANGUAGES":"返回语言","STREMIO_TV_REMOTE":"远程","STREMIO_TV_GO_TO":"去往:","STREMIO_TV_OR_SCAN":"或扫描:","STREMIO_TV_ADDON_INSTRUCTIONS":"请按照说明安装您喜欢的插件。","STREMIO_TV_LIVE_TV":"直播电视","STREMIO_TV_RESUME_WATCHING":"继续观看","STREMIO_TV_LOADING_BACKGROUND":"加载背景","STREMIO_TV_CHECKING_AUTHENTICATION":"正在检测身份验证","STREMIO_TV_LOADING_BOARD":"加载主页","STREMIO_TV_LOGIN_HEADER_LINE_1":"我们希望用户在使用我们的软件时有最好的个性化体验,","STREMIO_TV_LOGIN_HEADER_LINE_2":"正是出于这个原因,我们恳请您建立和/或登录您的账户,","STREMIO_TV_LOGIN_FOOTER_LINE_1":"感谢您的理解,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Stremio团队","STREMIO_TV_REMOTE_INSTRUCTIONS":"为了在您的智能手机/平板电脑/桌面使用Web Remote:","STREMIO_TV_WIFI_SETUP":"Wi-Fi设置","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle未检测到互联网连接。","STREMIO_TV_WIFI_DETAILS_1":"连接到:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"使用密码:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"在浏览器中打开链接:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"默认","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"按最近观看","STREMIO_TV_LIBRARY_SORT_NAME":"按名字","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"按观看次数","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"季${1}","STREMIO_TV_STREAMS_LOADING":"已加载${1}/${2}插件...","STREMIO_TV_STREAMS_STILL_LOADING":"${1}插件仍在加载...","STREMIO_TV_PLAYER_SETTINGS":"播放器设置","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"字幕延迟","STREMIO_TV_PLAYER_AUDIO_DELAY":"音频延迟","STREMIO_TV_PLAYER_VIDEO_SCALING":"视频缩放","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"不支持的流媒体源","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"打开外部链接失败","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"在音频直通模式下不可调整","STREMIO_TV_PLAYER_PLAY_IN_EXO":"使用ExoPlayer播放","STREMIO_TV_PLAYER_PLAY_IN_VLC":"使用libVLC player播放","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"由于播放错误而切换到libVLC player","STREMIO_TV_ADDONS_TITLE":"在手机或PC上使用Stremio安装或配置插件,然后按\\"同步插件\\"","STREMIO_TV_ADDONS_SUBTITLE":"注意:确保您使用的是相同的Stremio帐户","STREMIO_TV_ADDONS_SYNC_ADDONS":"同步插件","STREMIO_TV_ADDONS_SYNC_SUCCESS":"插件成功同步","STREMIO_TV_ADDONS_SYNC_FAILED":"插件同步失败","STREMIO_TV_META_LINK_FAILED":"打开元链接失败","STREMIO_TV_CATALOG_LOADING":"目录仍在加载...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"界面语言已更新","STREMIO_TV_SETTINGS_THEME_UPDATED":"主题已更新","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"默认播放器","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"外部播放器","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"首选语言","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"次要首选语言","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"隧道播放","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"某些设备上可能存在播放问题","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"某些视频格式可能无法播放","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"帧速率匹配","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"关闭","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"仅帧速率","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"帧速率和分辨率","STREMIO_TV_SETTINGS_NO_CACHING":"无缓存","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"默认","STREMIO_TV_SETTINGS_PROFILE_SOFT":"慢","STREMIO_TV_SETTINGS_PROFILE_FAST":"快","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"超快","STREMIO_TV_SETTINGS_SERVER_URL":"流媒体服务器URL","STREMIO_TV_SETTINGS_SERVER_VERSION":"服务器版本","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"未知","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio版本","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"编辑服务器URL","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"输入流媒体服务器URL","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"加载时显示统计信息","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"要阅读Stremio的隐私政策,请访问:","STREMIO_TV_SETTINGS_TOS_TEXT":"要阅读Stremio的条款和条件,请访问:","STREMIO_TV_NAV_SEARCH":"搜索","STREMIO_TV_NAV_HOME":"主页","STREMIO_TV_NAV_DISCOVER":"发现","STREMIO_TV_NAV_LIBRARY":"库","STREMIO_TV_NAV_MOVIES":"电影","STREMIO_TV_NAV_SERIES":"剧集","STREMIO_TV_NAV_CHANNELS":"频道","STREMIO_TV_NAV_TV":"电视直播","STREMIO_TV_NAV_SETTINGS":"设置","STREMIO_TV_NAV_ADDONS":"插件","STREMIO_TV_LOGIN_TITLE":"链接账户","STREMIO_TV_LOGIN_EXPIRES_IN":"过期日期到","STREMIO_TV_LOGIN_STEP_ONE":"扫描上方的二维码或转到","STREMIO_TV_LOGIN_STEP_TWO":"登录您的Stremio帐户","STREMIO_TV_LOGIN_NEW_LINK":"请求新链接","STREMIO_TV_LOGIN_LINK_REFRESHED":"登录代码已刷新","STREMIO_TV_SEARCH_PLACEHOLDER":"输入一些东西","STREMIO_TV_SEARCH_NO_ADDONS":"没有为目录请求插件!","STREMIO_TV_SEARCH_BUTTON":"搜索","STREMIO_TV_SEARCH_KEY_DEL":"删除","STREMIO_TV_SEARCH_KEY_SPACE":"空格","STREMIO_TV_SEARCH_KEY_CLEAR":"清除","STREMIO_TV_SEARCH_HISTORY_TITLE":"搜索历史","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"您可以搜索标题、演员、频道...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"清除搜索历史","STREMIO_TV_FILTERS_DESCRIPTION":"从以下过滤器中选择一个","STREMIO_TV_STREAMING_SERVER_OFFLINE":"流媒体服务器离线,检查服务器设置。","FILTERS":"过滤器","SETTINGS":"设置","ACCOUNT":"账户","LOGOUT":"注销","THEMES":"主题","PLAYBACK":"播放","PLAYBACK_SPEED":"播放速度","AUDIO_TRACKS":"音轨","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"视频","SERVER":"服务器","LINKS":"链接","ABOUT":"关于","INTERFACE":"界面","ANIMATIONS":"动画","STATUS":"状态","LANGUAGE":"语言","SIZE":"大小","DELAY":"延迟","BOLD":"粗体","OPACITY":"Opacity","TEXT_COLOR":"文本颜色","OUTLINE_COLOR":"轮廓颜色","BACKGROUND_COLOR":"背景颜色","BACKGROUND_BLUR":"背景模糊","SEEK_TIME_DURATION":"寻找持续时间","AUTO_PLAY":"自动播放下一集","PLAY_NOW":"现在播放","MARK_AS_WATCHED":"标记为已观看","MARK_AS_UNWATCHED":"标记为未观看","REWIND_TO_BEGINNING":"倒回开始","CONTINUE_WATCHING":"继续观看","ALL":"全部","SECONDS":"秒","ON":"开","OFF":"关","RELOAD":"重新加载","EDIT_URL":"编辑URL","NONE":"无","EMBEDDED":"内嵌","REMOTE_SWITCH_DEVICES":"开关设备","REMOTE_VIDEOS":"视频","REMOTE_ADJUST_TIMING":"调整时间","REMOTE_ADJUST_SIZE":"调整大小","REMOTE_COULD_NOT_BE_LOADED":"无法加载Web Remote","REMOTE_RETRY":"重试","TORRENT_PROFILE_DEFAULT":"默认","TORRENT_PROFILE_SOFT":"慢","TORRENT_PROFILE_FAST":"快","TORRENT_PROFILE_ULTRA_FAST":"超快","FAQ_001_H1":"什么是Stremio?","FAQ_001_P1":"Stremio是专为视频娱乐而设计的多媒体中心软件,易于使用。Stremio允许您管理和观看自己的电影,剧集,频道和实况电视收藏。","FAQ_001_P2":"Stremio从本地磁盘和插件系统中收集显示给您的内容。","FAQ_001_P3":"它还会在您感兴趣的新剧集/视频/电影播出时通知您,并为您提供电影推荐。","FAQ_02_H1":"Stremio与Kodi和Plex相比如何?","FAQ_02_P1":"我们受到这两种软件的启发。但是我们有不同的目标——Stremio专门针对娱乐视频,并通过易于使用成为其主流解决方案。","FAQ_02_P2":"Stremio将永远不会像Kodi和Plex那样具有可定制性和丰富的功能,但它更易于使用。只需${1}就可以获取它,并查看${2}:)","FAQ_03_H1":"Stremio与Netflix相比如何?","FAQ_03_P1":"同样,Netflix是我们的灵感之一。我们努力实现Netflix的用户体验,再加上许多附加的好处。但最重要的是,我们让您可以自由管理自己的库,并使用我们的插件系统添加新的内容源。","FAQ_03_P2":"这使得Stremio可以无限扩展,因此当您使用Stremio时,您永远不会局限于Netflix决定许可的内容。例如,您可以通过Stremio观看${1}中的内容电影电视${2}, ${3} Twitch.tv${4},${5}YouTube${6},${7}Vodo${8}甚至${9}Netflix${10}本身!","FAQ_04_H1":"Stremio与Flipboard相比如何?","FAQ_04_P1":"我们不常听到这个问题,除非与初创企业的人交谈:)","FAQ_04_P2":"Stremio是通过设计一个内容聚合器来实现的,它本质上就是视频的Flipboard。这一点在我们的首页部分非常明显,它为您提供目录和新的插曲/新的视频通知,让您了解您所关注的内容,就像Flipboard一样。","FAQ_05_H1":"Stremio与Popcorn Time相比如何?","FAQ_05_P1":"Stremio和Popcorn Time在用户界面上很相似,因为没有很多方法可以正确制作视频娱乐目录:)","FAQ_05_P2":"Popcorn Time主要集中在特定来源的流媒体上,但Stremio是不受限制的,只是一个内容聚合器,它没有锁定到特定的内容源。","FAQ_05_P3":"此外,我们默认不提供任何Torrent插件,因此Stremio不提供官方功能的Popcorn Time用例。","FAQ_05_P4":"另一个显著的区别是Popcorn Time是完全开源的,而Stremio是${1}部分开源的${2}。","FAQ_06_H1":"是否要添加此电影/系列?","FAQ_06_P1":"不,对不起 :(","FAQ_06_P2":"正如大多数其他问题中提到的,Stremio本身不提供任何内容,所有内容都是通过插件系统添加的。如果您有内容请求,您可以使用播放器中的“报告”按钮,它将向您当前使用的插件的作者发送电子邮件。","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"能否为X创建插件?","FAQ_08_P1":"完全有可能。","FAQ_08_P2":"如果您有一个插件的想法,请在${1}office@stremio.com${2}给我们留言,但请确保您的插件想法不会侵犯任何版权或使用条款。","FAQ_08_P3":"目前,我们路线图上的下一件事是FandangoNOW,Filmon.tv video on demand和Crunchyroll的插件。","FAQ_09_H1":"Stremio是否使用BitTorrent?","FAQ_09_P1":"是的,Stremio支持BitTorrent作为流媒体协议。您可以将其与Torrent插件一起使用,也可以将.Torrent文件拖放到Stremio中,或者将磁铁链接粘贴到搜索栏中。","FAQ_09_P2":"请注意,使用BitTorrent的唯一官方插件是${1}Vodo${2},它提供独立内容,所有内容都允许与BitTorrent一起分发。","FAQ_09_P3":"我们不支持使用任何可能导致版权侵权的第三方插件。","FAQ_10_H1":"我可以在Stremio中通过官方插件观看什么节目?","FAQ_10_P1":"默认情况下,您可以在Stremio与它的嵌入式播放器观看Filmon.tv,YouTube和Vodo的内容。另外,我们还有一个Twitch.tv插件,以及其他一些插件。","FAQ_10_P2":"此组合提供以下选项:","FAQ_10_L1":"Filmon.tv上的热门电视频道,例如E4、BBC、Bollyworld TV","FAQ_10_L2":"YouTube上的所有内容,例如BBC News、Top Gear、Vevo、PewDiePie","FAQ_10_L3":"Vodo上的独立电影","FAQ_10_L4":"Twitch.tv上的在线游戏广播","FAQ_10_P3":"此外,Guidebox和Netflix插件提供了许多内容源,它们不完全在Stremio中播放,而是重定向到给定的服务。例如,Guidebox插件将为您提供可在美国免费播放的精选电影,这些电影来自TubiTV和Crackle等服务。","FAQ_11_H1":"Stremio无法安装,我该怎么办?","FAQ_11_P1":"如果您在Windows上,请尝试${1}此替代安装程序${2}。","FAQ_11_P2":"如果您使用的是Mac OS X,请注意,我们不支持任何比OS X Mavericks(10.9)更旧的版本。","FAQ_11_P3":"如果您使用的是Linux,请注意,我们目前只支持64位(x64)Linux。","FAQ_11_P4":"如果您仍然无法解决您的问题,请写信给我们的${1}Facebook群组${2}。","FAQ_12_H1":"为什么我的杀毒软件会报毒?Stremio安全吗?","FAQ_12_P1":"我们向您保证Stremio是${1}100%安全的${2}。","FAQ_12_P2":"您的杀毒软件报毒是因为我们的安装程序中包含广告,一些杀毒软件将其识别为广告软件。","FAQ_12_P3":"如果您仍然不确定,可以尝试我们的${1}替代安装程序${2}。","FAQ_13_H1":"如何制作插件?","FAQ_13_P1":"对于初学者,我们建议您查看GitHub上的${1}插件系统模块${2}。","FAQ_13_P2":"之后,您可以按照${1}Hello World教程${2}进行操作。","FAQ_13_P3":"如果您没有任何编程技能,请在${1}Reddit社区${2}上发布您的想法,并在${3}office@stremio.com${4}上与我们联系您的插件想法。","FAQ_14_H1":"插件是如何发布的?","FAQ_14_P1":"当您创建一个插件和主机,并在清单中放置一个指向工作插件地址的<b>终端节点</b>字段时,该插件将自动发布到我们的${1}插件目录${2}。","FAQ_14_P2":"发生这种情况是因为Stremio插件模块的服务器部分会自动调用我们的API来声明插件。当我们的API验证您的<b>终端节点</b>为有效的插件时,它将开始显示在目录中。","FAQ_15_H1":"我可以在浏览器中运行Stremio吗?","FAQ_15_P1":"目前还没有,但即将到来!","FAQ_15_P2":"如果您想看到Alpha版本,可以在这里看到:${1}alpha4.strem.io${2}. 请记住,此Alpha版本上已禁用流式处理。我们支持Chrome、Firefox、Opera和Edge","FAQ_16_H1":"电视投屏不起作用/字幕不起作用","FAQ_16_P1":"电视投屏使用DLNA技术,这在不同的电视品牌和型号之间非常不一致。由于这个原因,我们没有能力在每种情况下都测试它,所以它还远远不够完美。尽管如此,我们仍在不断改进,但我们无法为您提供DLNA能够在您的电视上开始正常工作的预计时间。","FAQ_16_P2":"如果您在“投屏”菜单中看不到您的电视,请尝试禁用网络连接并重新启用它(在Windows上,右键单击网络并使用“启用/禁用”),以及重新启动路由器、电视和PC。","FAQ_16_P3":"如果您仍然遇到问题,您可以通过将您的电视品牌和型号信息发送到${1}来帮助我们”office@stremio.com${2}。","FAQ_16_P4":"同时,我们推荐Chromecast,我们非常支持Chromecast,或者直接用HDMI线将电视与PC连接。","FAQ_17_H1":"Stremio卡死和/或崩溃,我能做什么?","FAQ_17_P1":"首先,如果您使用的是带有AVG杀毒软件的Windows 7,这种组合会产生问题。问题出在AVG本身,我们这边没有合理的办法解决。不幸的是,去除或禁用杀毒软件将不起作用。唯一的解决办法是用别的东西代替AVG","FAQ_17_P2":"如果不是这个问题,但您仍在使用Windows,请更新到最新的service pack并更新/重新安装您的GPU驱动程序,然后重试。","FAQ_17_P3":"如果您的问题仍未解决,或者您使用的是Mac或Linux,请写信给我们,在${1}我们的Facebook群组${2}报告问题的确切细节。","FAQ_18_H1":"如何制作插件?","FAQ_18_P1":"对于初学者,我们建议您查看GitHub上的${1}插件系统模块${2}。","FAQ_18_P2":"之后,您可以按照${1}Hello World教程${2}进行操作。","FAQ_18_P3":"如果您没有任何编程技能,请在${1}Reddit社区${2}上发布您的想法,并在${3}上与我们联系您的插件想法。”office@stremio.com${4}。","FAQ_19_H1":"为什么Stremio占用磁盘空间?","FAQ_19_P1":"Stremio有一个<b>本地缓存</b>来临时保存您流式传输的视频文件。","FAQ_19_P2":"这有两个好处:第一,它允许Stremio预先缓冲视频,以确保流媒体更流畅。其次,它将视频保存在本地缓存中,以便您可以继续离线观看。","FAQ_19_P3":"Stremio保留了多少取决于“设置”面板中的<b>缓存设置。Stremio可能会在您的磁盘上保留到设置的数量(例如2GB),除非当前流式传输的视频大于该数量,在这种情况下,必须分配足够的存储来保留它,直到您结束流式传输。","FAQ_20_H1":"缓存文件夹在哪里?","FAQ_20_P1":"在Windows上,Stremio缓存位于您在设置中选择的驱动器中(例如\\"E:\\\\stremio-cache\\")","FAQ_20_P2":"在MacOS上,它位于\\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"在Linux上,它位于\\"~/.stremio/stremio-cache\\"或\\"~/stremio-cache\\"","FAQ_21_H1":"我得到\\"流媒体服务器未找到\\"错误,我能做什么?","FAQ_21_P1":"如果出现此错误,则表示以下几点之一:","FAQ_21_P2":"1)您正试图通过我们的${1}web版本${2}使用一个由YouTube/BitTorrent源代码支持的插件。在这种情况下,您应该从${3}我们的网站${4}安装我们的桌面版本","FAQ_21_P3":"2)Stremio安装有问题。在这种情况下,请尝试从${1}网站${2}重新安装我们的最新桌面版本。如果这没有帮助,请尝试禁用杀毒软件和防火墙,重新启动电脑,然后重试。如果这依然不起作用,请写信给我们的${3}Facebook群组${4}","FAQ_22_H1":"我无法在iOS上看到/使用大多数插件","FAQ_22_P1":"由于Apple App Store条款和条件中的限制,我们限制iOS应用程序只能使用一组特定的插件。","FAQ_22_P2":"不过,请放心,将来会有更多的iOS插件,我们还可能添加一个集成,通过将iOS应用程序连接到Stremio流媒体服务器,您将可以使用所有Stremio插件。"}')},99542:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"電影","TYPE_series":"劇集","TYPE_tv":"電視頻道","TYPE_channel":"頻道","TYPE_other":"其他","TYPE_movie_PL":"電影","TYPE_series_PL":"劇集","TYPE_tv_PL":"電視頻道","TYPE_channel_PL":"頻道","TYPE_other_PL":"其他","TYPE_ALL":"全部","TYPE":"類型","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"視頻","BACK":"返回","MORE":"更多","DONE":"完成","COPY":"複製","SUCCESS":"成功","ERROR":"錯誤","SETTINGS_CASTING_MODE_PICKER":"投屏模式","CASTING_MODE_HLSV2":"默認","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"不轉碼","Discover":"發現","Board":"首頁","Library":"庫","My Library":"我的庫","Calendar":"日曆","NOTIFICATION_ONLINE":"您當前處於在線狀態","NOTIFICATION_OFFLINE":"您當前處於離線狀態","INTERNET_CONNECTION":"網絡連接","STORAGE_FULL_TITLE":"警告:儲存空間已滿!","STORAGE_FULL_TEXT":"Stremio將無法保存您的設置、首選項或登錄信息,考慮重新啓動或重新安裝Stremio。","SEARCH":"搜索","SEARCH_NO_RESULTS":"未找到結果","SEARCH_EXPLANATION_CONTENT":"搜索電影、劇集、YouTube和電視頻道","SEARCH_EXPLANATION_PEOPLE":"搜索演員、導演和編劇","SEARCH_PASTE_LINKS":"粘貼HTTP和Magnet鏈接","SEARCH_OR_PASTE_LINK":"搜索或粘貼鏈接","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"添加到庫中","REMOVE_FROM_LIB":"從庫中刪除","ADDED_TO_LIB":"添加到庫中","REMOVED_FROM_LIB":"從庫中刪除","TRAILER":"預告片","WATCH_TRAILER":"觀看預告片","WATCH_NOW":"立即觀看","SHOW":"查看","SHOW_MOVIE":"查看電影","WATCH_RANDOM":"隨機觀看","IMDB_RATING":"IMDb評分","YEAR":"年份","DIRECTOR":"導演","WRITER":"編劇","LEAD_ACTORS":"主演","CAST":"全部演員","CREW":"全部工作人員","SHOW_MORE_CAST":"顯示更多 »","AIRED":"播出時間","SEASONS":"季","GENRE":"類型","GENRE_ALL":"所有流派","CATALOG":"目錄","SUMMARY":"簡介","SHOW_MORE":"顯示更多","SIMILAR":"相似","UPCOMING":"即將上映","ENDED":"已完結","DURATION":"時長","FEATURED":"功能","METADATA":"元數據","CATEGORY":"類別","LINKS_GENRES":"流派","LINKS_CAST":"演員","LINKS_DIRECTORS":"導演","SEARCH_VIDEOS":"搜索視頻","SEARCH_PLACEHOLDER":"搜索或粘貼URL","ADDON":"插件","ADDONS":"插件","OFFICIAL":"官方","ADDONS_OFFICIAL":"官方Stremio插件","ADDONS_POPULAR":"在您所在的地區很受歡迎","ADDON_FREE":"免費","ADDON_PEERED":"連接","ADDON_SUBSCRIPTION":"訂閲","ADDON_STREAM_GEORESTRICTED":"在您所在的地區不提供","ADDON_STREAM_OFFLINECACHE":"離線緩存","ADDON_STREAM_LOCALFILE":"本地文件","SHARE_ADDON":"分享插件","AVAILABLE_STREAMS":"可用流媒體","NO_STREAM":"未找到流媒體","ALL_ADDONS":"全部","INSTALL_MORE_ADDONS":"要獲取更多流媒體,請安裝更多插件","STREAM_NOT_SUPPORTED":"此平台不支持所選流媒體。","ADDON_CATALOGUE":"顯示所有插件 »","ADDON_CATALOGUE_MORE":"安裝插件","REPO_ADDED":"已添加存儲庫","ADDON_REPO_EXIST_ERR":"此插件集合已存在","ADDON_REPO_ERR":"添加集合時出錯","ADDON_ADD_ERR":"添加插件時出錯","ERR_ADDON_PROTECTED":"無法卸載插件,它受到保護","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"出了一些問題——身份驗證可能失敗","ERR_NOT_COLLECTION_URL":"不是集合URL","ERR_NOT_ADDON_URL":"不是有效的插件URL","ERR_DETECTFROMURL":"再此URL中找不到插件/集合","ADDON_DUPLICATE_WARNING":"警告:重複的插件","ADDON_COLLECTION_SET_FAILED":"將已安裝的插件同步到您的賬户失敗","SETTINGS_DATA_EXPORT":"導出用户數據","ADDON_PULL_FAILED":"從您的帳户同步已安裝的插件失敗","REFRESH_ON_CLICK":"點擊重試","STILL_IN_THEATER":"電影還在影院上映","WATCH_IN_CINEMA":"請到您本地的影院觀看","IN_THEATER":"在影院上映","GET_TICKETS":"購票","UPCOMING_EPISODE":"下一集","UPCOMING_EPISODE_MESSAGE":"這一集即將播出","MISSING_DATE_EPISODE":"缺失的一集日期","MISSING_DATE_EPISODE_MESSAGE":"這一集可能還沒有播出","CHANNEL_NOT_SCRAPED":"這個頻道還沒有被削刮,請過幾分鐘再來。","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"將其添加到庫中,以便在可用時收到通知。","GET_NOTIFIED_WHEN_AVAILABLE":"一旦可用,您將會收到通知。","WARNING_STREAMING_SERVER":"警告:找不到本地流媒體服務器,來自本地文件、YouTube、和BitTorrent的流媒體將不可用。","WARNING_STREAMING_SERVER_DISMISS":"忽略","WARNING_STREAMING_SERVER_LATER":"推遲","DECODER_WARNING":"警告:您的硬件可能不支持此視頻,請記住,播放可能會很慢。","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"糟糕,播放器錯誤","PLAYER_ERROR_LOOKSLIKE":"看起來似乎","PLAYER_ORIENTATION":"播放器方向","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"鎖定","PLAYER_ORIENTATION_SENSOR_SHORT":"傳感器","PLAYER_ORIENTATION_LANDSCAPE":"播放器方向鎖定橫向","PLAYER_ORIENTATION_SENSOR":"播放器方向自動(傳感器)","PLAYER_PLAYBACK_SPEED":"播放速度","PLAYER_PLAYBACK_ERROR":"播放錯誤,請重試","PLAYER_PLAYBACK_ERROR_UNKNOWN":"未知錯誤","PLAYER_PLAYBACK_ERROR_DEFAULT":"抱歉,{{productName}}無法播放此視頻。","PLAYER_SUBTITLES_LANGUAGES":"字幕語言","PLAYER_SUBTITLES_VARIANTS":"字幕變形","PLAYER_SUBTITLES_SETTINGS":"字幕設置","PLAYER_SUBTITLES_DISABLED":"字幕已關閉","PLAYER_SUBTITLES_VERTICAL_POSIITON":"垂直位置","PLAYER_SUBTITLES_LOADED":"已加載字幕","PLAYER_SUBTITLES_LOADED_EMBEDDED":"已加載嵌入字幕","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"已加載外部字幕","PLAYER_SUBTITLES_LOADED_ORIGIN":"已加載{{origin}}字幕","PLAYER_PLAY":"播放","PLAYER_PAUSE":"暫停","PLAYER_NEXT_VIDEO":"下一個視頻","PLAYER_MUTE":"靜音","PLAYER_UNMUTE":"取消靜音","PLAYER_OPEN_IN_EXTERNAL":"在外部播放器中打開","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"在{{device}}上播放","PLAYER_LIVE":"直播","PLAYER_NEXT_VIDEO_TITLE":"下個視頻","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"關閉","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"現在觀看","PLAYER_COPY_STREAM_SUCCESS":"流媒體鏈接已複製到您的剪貼板","PLAYER_COPY_STREAM_ERROR":"複製流媒體鏈接失敗","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","STREAMING_FROM":"流媒體","CASTING_TO":"投屏到","NETWORK_STATUS":"網絡狀態","STREAM_SPEED":"串流速度:","STREAM_BUFFERED":"已緩衝:","PEERS_INFO":"節點信息","PEERS_ACTIVE":"活躍:","PEERS_CONNECTED":"已連接:","PEERS_WAITING":"等待:","TRANSCODING_WARNING":"警告:轉碼視頻。","STREAM_LOADING":"加載...","PLAYING_LOCAL":"從本地文件播放","PLAYING_CACHE":"從緩存播放","WRONG_SUBS":"字幕錯誤?","ERR_SUBS_LOADING_TITLE":"加載字幕時出錯","ERR_SUBS_LOADING":"字幕加載失敗:這可能是您正在使用的插件或網絡連接的問題","WARN_FOLLOWING_SUB_ADDONS_FAILED":"以下字幕插件失敗","ERR_CASTING_UPDATE_TITLE":"無法更新投屏設備信息:流媒體服務器可能離線","CHOOSE_DEVICE":"選擇在哪個設備上播放","NO_CAST_DEVICES":"無可用投屏設備。","NO_SETTINGS":"無可用設置。","PHONE_TABLET":"手機/平板電腦","SUBTITLES":"字幕","SUBTITLES_CHANGE":"調整字幕","SUBTITLES_CHANGE_NONE":"抱歉,這種語言沒有其他字幕。","SUBTITLES_CHANGE_ACIVE":"當前字幕&#35;{{subtitlesDialog.activeIdx + 1}}被激活,點擊\\"繼續\\"激活字幕&#35;{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"或者,","SUBTITLES_ADJUST_DELAY":"調整字幕延遲:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"或在播放時使用<span>G</span> / <span>H</span>鍵進行調整。","SUBTITLES_ADJUST_DELAY_TIP":"提示:您可以在播放時使用<span>G</span> / <span>H</span>鍵進行調整。","SUBTITLES_DELAY":"字幕延遲:","SUBTITLES_LOADING":"加載字幕...","SUBTITLES_UNAVAILABLE":"沒有可用的外部字幕","SUBTITLES_DISABLED":"關閉","EXTERNAL_PLAYER_DISABLED":"關閉","EXTERNAL_PLAYER_ALLOW_CHOOSING":"允許選擇","EXTERNAL_PLAYER_HINT":"提示:有一個設置允許總是在外部播放器中打開","DONT_SHOW_AGAIN":"不再顯示","SERVICE_INSTALL":"安裝","AUDIO":"音頻","DEFAULT_LANGUAGE":"默認語言","DEFAULT_SECONDARY_LANGUAGE":"默認第二語言","SEASON":"季","EPISODE":"集","EPISODE_ABBREVIATION":"情節提要","SPECIAL":"特別篇","SORT":"排序","SORT_BY":"排序按照","FILTER":"篩選","SORT_TRENDING":"熱門","SORT_RECENT":"最近","SORT_ALPHABET":"首字母","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"評分","SORT_WATCHED":"已觀看","SORT_YEAR":"年份","SELECT_TYPE":"選擇類型","SELECT_SORT":"選擇排序","SELECT_CATALOG":"選擇目錄","SELECT_GENRE":"選擇流派","SORT_LASTWATCHED":"按上次觀看","SORT_NAME":"按名稱","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"按觀看次數","SORT_NOTWATCHED":"not watched","New for You":"新的","New Episodes":"新劇集","New Videos":"新視頻","Recommendations":"推薦","LIBRARY_RESUME":"簡介","LIBRARY_PLAY":"播放","LIBRARY_DETAILS":"詳情","LIBRARY_RESUME_DISMISS":"清除","LIBRARY_CLEAR_PROGRESS":"清除進度","LIBRARY_REMOVE":"移除","LIBRARY_NOT_LOGGED_IN":"庫僅適用於已登錄的用户","CALENDAR_NOT_LOGGED_IN":"日曆僅適用於已登錄的用户","NOT_LOGGED_IN_CLOUD":"隨時隨地訪問您喜愛的電影和劇集","NOT_LOGGED_IN_RECOMMENDATIONS":"根據您的觀看歷史量身定製的建議","NOT_LOGGED_IN_NOTIFICATIONS":"再也不要錯過任何一集","NOT_LOGGED_IN_CALENDAR":"定製個人觀看日曆","DISCOVER_FEATURED":"功能","DISCOVER_TOP":"熱門","DISCOVER_OSCAR":"奧斯卡獲獎作品","DISCOVER_WARNING_TITLE":"糟糕!","DISCOVER_EMPTY_CATALOG":"此插件返回空內容。","DISCOVER_ADULT_WARNING":"此內容僅對成人可見,您是否已滿18週歲?","DISCOVER_NOADDON_WARNING":"警告:此類型沒有可用的Stremio插件,顯示已保存的項目,此處不會更新任何內容。","DISCOVER_LOAD_ERR":"內容未加載,發生錯誤。","DISCOVER_ADDON_UNINSTALLED":"此內容不再可用,您可能已卸載插件。","UNINSTALL_THIS_ADDON":"卸載此插件","ERR_ADDON_NOT_INSTALLED":"未安裝此插件,立即安裝?","DETAIL_RECEIVE_NOTIF_SERIES":"接受新劇集的通知","DETAIL_RECEIVE_NOTIF_VIDEOS":"接受新視頻的通知","SIDEBAR_SHOW_STREAMS":"顯示流媒體","RELAUNCH":"立即重新啓動!","UPGRADE":"新版本可用!升級至Stremio的最新版本","RELOAD_UI":"重新加載用户界面","MANUAL_UPDATE_TITLE":"更新您的Stremio版本","MANUAL_UPDATE_LINE1":"您運行的是一個過時的Stremio版本,這是非常不推薦的。","MANUAL_UPDATE_LINE2":"請儘快更新。","BUTTON_UPDATE_LATTER":"不是現在","BUTTON_UPDATE_NOW":"更新","ANONYMOUS_USER":"匿名用户","DONT_HAVE_ACC":"還沒有賬户?","HAVE_ACC":"已經有賬户了?","PASSWORD":"密碼","PASSWORD_CONFIRM":"確認密碼","EMAIL":"電子郵箱","FB_LOGIN":"使用Facebook登錄","FB_NOTHINGSHARED":"未經您的允許,任何內容都不會被共享","FB_NOPOST":"我們不會替您發送任何東西","OR":"或","I_ACCEPT":"我接受","I_ACCEPT_BY_CLICKING":"通過點擊上面的按鈕,我聲明我接受","TOS":"條款和條件","MUST_ACCEPT_TERMS":"您必須接受條款","PASSWORDS_NOMATCH":"密碼不匹配","SIGN_UP":"註冊","SIGN_UP_EMAIL":"使用電子郵箱註冊","CLICK_TO_SIGN_UP":"點擊此處註冊。","LOG_IN":"登錄","LOG_OUT":"註銷","EXIT_FULLSCREEN":"退出全屏模式","ENTER_FULLSCREEN":"進入全屏模式","PLAY_URL_MAGNET_LINK":"播放URL/Magnet鏈接","HELP_FEEDBACK":"幫助和反饋","TERMS_OF_SERVICE":"服務條款","PRIVACY_POLICY":"隱私政策","ABOUT_STREMIO":"關於Stremio","USER_PANEL":"用户面板","LOGIN_LABEL":"Login","GUEST_LOGIN":"訪客登錄","GUEST_LOGIN_NOTICE":"不建議訪客登錄,使用常規登錄允許Stremio同步您的庫,接受喜愛的劇集/頻道的通知。您確定要繼續嗎?","GUEST_LOGIN_NOTICE_2":"不建議訪客登錄,您將沒有同步的庫和首頁通知,這是Stremio的重要功能。您確定要繼續嗎?","CLICK_HERE":"點擊此處","WRONG_PASSWORD":"錯誤的電子郵箱或密碼,如果您忘了密碼,","SET_A_PASS":"設置密碼","RESET_PASSWORD":"重置密碼","FORGOT_PASSWORD":"忘記密碼?","EMAIL_USED_WITH_FB":"此電子郵箱與Facebook登陸一起使用。","INVALID_EMAIL":"請輸入有效的電子郵箱地址","INVALID_PASSWORD":"請輸入有效的密碼","CONN_ERR":"連接錯誤,請稍後再試。\\n\\n如果問題仍然存在,請禁用防火牆/殺毒軟件(特別是Bitdefender)。","IMPORT_FROM_GUEST":"從訪客賬户導入庫","RECEIVE_UPDATES_EMAIL":"從Stremio接受電子郵件更新","LOGIN_FAILED":"登陸失敗。","SIGNUP_FAILED":"註冊失敗。","SEARCH_FAILED":"搜索失敗","EMAIL_USED":"此電子郵箱已被使用。","WAITING_FB_LOGIN":"使用Facebook登錄...","EXTERNAL_PLAYER_TITLE":"在外部播放器中播放","EXTERNAL_REMEMBER_PLAYER":"您想記住您的選擇嗎","EXTERNAL_ALWAYS_PLAY":"是","EXTERNAL_ONLY_ONCE":"不是","BEST_FIT":"最佳","FIT_SCREEN":"適合屏幕","FILL":"填充","16:9":"16:9","4:3":"4:3","Original":"原始","INTRO_TASTE":"告訴我們您喜歡什麼","INTRO_TASTE_LONG":"告訴我們您想看什麼","INTRO_TASTE_PICK":"選擇{{interestsRemaining}}興趣","INTRO_TASTE_PICK_MORE":"選擇{{interestsRemaining}}更多興趣","INTRO_TASTE_HELP_US":"幫助我們瞭解更多有關您的信息。","INTRO_TASTE_CHOOSE_THESE":"選擇其中一些:","INTRO_TASTE_CHOOSE_MIN":"至少選3個類別","INTRO_TASTE_CHOOSE_MIN_ERR":"您必須至少選擇3個類別!","INTRO_TASTE_LIFESTYLE":"生活方式","INTRO_TASTE_SPORTS":"體育","INTRO_TASTE_FOOD_HEALTH":"飲食與健康","INTRO_TASTE_BEAUTY_FASHION":"美麗與時尚","INTRO_TASTE_NEWS":"新聞","INTRO_TASTE_GAMING":"遊戲","INTRO_TASTE_SCIENCE_EDU":"科學與教育","INTRO_TASTE_MUSIC":"音樂","INTRO_TASTE_TRAVEL":"旅行","INTRO_TASTE_LATE_NIGHT":"深夜秀","INTRO_TASTE_REALITY":"真人","INTRO_TASTE_COMEDY":"喜劇","INTRO_TASTE_DIY":"DIY","INTRO_TASTE_TECH":"技術","INTRO_TASTE_CINEMA":"影院","ADDON_NOT_SUPPORTED":"此平台不支持選定的插件。","ADDON_DISCLAIMER":"使用第三方插件將始終受到您的責任和您所在的司法管轄區的法律的約束。","ADDON_ACTIVATE":"激活此插件?","ADDON_REPO_ADD":"插件集合URL","ADDON_ADD":"添加","INSTALL_ADDON":"Install addon","ADD_ADDON":"添加插件","ADD_ADDON_DESCRIPTION":"您可以通過外部鏈接添加插件,該鏈接將顯示在“已安裝的插件”下。","PASTE_ADDON_URL":"粘貼插件URL","WHATS_NEW":"最新消息","BUTTON_CONTINUE":"繼續","BUTTON_ACTIVATE":"激活","BUTTON_ACTIVATED":"已激活","BUTTON_CANCEL":"取消","BUTTON_SUBMIT":"提交","BUTTON_DISMISS_ALL":"清除全部","BUTTON_VIEW_ALL":"查看全部","BUTTON_SEE_ALL":"查看全部","BUTTON_COLOR_TRANSPARENT":"透明度","OPEN_IN_BROWSER":"在瀏覽器中打開","LIB_EMPTY":"您的庫看起來是空的,看看它有多有用:)","HOW_START":"您可以從這裏開始:","LIB_EMPTY_CAL":"您的日曆顯示您庫中的劇集。","HOW_START_CAL":"下面是如何添加劇集:","LIB_EMPTY_BOARD":"主頁顯示與您的庫相關的通知&amp;推薦。","HOW_START_BOARD_WAIT":"請在您的庫中添加一些劇集或頻道給我們幾分鐘來處理:)","HOW_START_BOARD":"下面是如何向其中添加劇集&amp;電影:","IMPORT_FB":"從<span>Facebook</span>導入您喜歡的東西","IMPORT_TRAKT":"從<span>Trakt</span>導入媒體庫","IMPORT_DISCOVER":"從<span>發現</span>中找到有趣的東西","IMPORT_DISK":"導入<span>本地磁盤</span>上的電影或節目","PLEASE_CREATE_ACC":"請<u>創建一個賬户</u>以啓用庫同步&amp;主頁。","IMPORT_DISCOVER_SIGNUP":"註冊並從<span>發現</span>中找到有趣的東西","IMPORT_DISK_SIGNUP":"註冊並導入<span>本地磁盤</span>上的電影或節目","LIB_EMPTY_CLOUD":"雲端庫","LIB_EMPTY_CLOUD_DESC":"在所有設備上同步個人雲端庫","LIB_EMPTY_EARLY":"第一時間","LIB_EMPTY_EARLY_DESC":"接收新劇集的通知","LIB_EMPTY_PERSONAL":"個性化","LIB_EMPTY_PERSONAL_DESC":"獲取個性化推薦","LIB_EMPTY_CALENDAR_DESC":"安排您的個性化觀看日曆","LIB_EMPTY_ALL":"註冊以獲取所有這些:","LIB_EMPTY_BEST":"註冊以獲得最佳的Stremio","LIB_EMPTY_OTHER":"註冊以啓用日曆和其他炫酷功能","CALENDAR_ADDED":"Stremio日曆已添加到默認桌面日曆中。","CALENDAR_ADDED_MSG":"如果這不起作用,請手動將此URL添加到日曆應用程序中","TRAKT_EXPIRED":"Trakt驗證已過期,請轉到設置並重新驗證","TRAKT_REQUIRES_LOGIN":"Trakt錯誤","TRAKT_REQUIRES_LOGIN_MSG":"您需要登錄","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","SETTINGS_LABEL":"設置","SETTINGS_NAV_GENERAL":"常規","SETTINGS_NAV_PLAYER":"播放器","SETTINGS_NAV_STREAMING":"流媒體","SETTINGS_NAV_SHORTCUTS":"快捷鍵","SETTINGS_SHORTCUT_RELOAD_APP":"重新加載應用程序","SETTINGS_SHORTCUT_OPEN_SETTINGS":"打開設置","SETTINGS_SHORTCUT_SWITCH_TABS":"切換標籤","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"向前循環標籤","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"向後循環標籤","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"在菜單之間導航","SETTINGS_SHORTCUT_GO_TO_SEARCH":"轉到搜索","SETTINGS_SHORTCUT_EXIT_BACK":"退出/返回","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"切換播放速度菜單","SETTINGS_SHORTCUT_MENU_VIDEOS":"切換視頻菜單","SETTINGS_SHORTCUT_MENU_SUBTITLES":"切換字幕菜單","SETTINGS_SHORTCUT_MENU_INFO":"切換信息菜單","SETTINGS_SHORTCUT_FULLSCREEN":"切換全屏","SETTINGS_SHORTCUT_SHOW_CONTROLS":"顯示控件","SETTINGS_SHORTCUT_PLAY_PAUSE":"播放/暫停","SETTINGS_SHORTCUT_VOLUME_UP":"增大音量","SETTINGS_SHORTCUT_VOLUME_DOWN":"降低音量","SETTINGS_SHORTCUT_SEEK_NEXT":"尋找下一個","SETTINGS_SHORTCUT_SEEK_PREV":"尋找上一個","SETTINGS_SHORTCUT_SEEK_BACKWARD":"向後搜索","SETTINGS_SHORTCUT_SEEK_FORWARD":"向前搜索","SETTINGS_SHORTCUT_PLAY_NEXT":"播放下一個","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"增加字幕大小","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"減小字幕大小","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"增加字幕延遲","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"減少字幕延遲","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"切換側邊欄","SETTINGS_SHORTCUT_OR":"or","SETTINGS_SHORTCUT_TO":"to","SETTINGS_SHORTCUT_SPACE":"空格","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"已驗證","SETTINGS_FACEBOOK_IMPORT":"導入","SETTINGS_CALENDAR_SUBSCRIBE":"訂閲","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"用户界面語言","SETTINGS_LAUNCH_STARTUP":"開機時啓動","SETTINGS_VLC_DEFAULT":"使用VLC播放","SETTINGS_UI_LANGUAGE":"用户界面語言","SETTINGS_UI_ZOOM":"用户界面縮放","SETTINGS_FULLSCREEN_EXIT":"Esc鍵退出全屏","SETTINGS_GAMEPAD":"啓用遊戲手柄支持","SETTINGS_CLOSE_WINDOW":"關閉窗口時結束應用程序","SETTINGS_SUBTITLES_LANGUAGE":"默認字幕語言","SETTINGS_SUBTITLES_SIZE":"默認字幕大小","SETTINGS_SUBTITLES_BACKGROUND":"字幕背景","SETTINGS_SUBTITLES_COLOR":"字幕顏色","SETTINGS_SUBTITLES_COLOR_OUTLINE":"字幕輪廓顏色","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"字幕背景顏色","SETTINGS_SEEK_KEY":"方向鍵控制進度","SETTINGS_SEEK_KEY_SHIFT":"按住Shift鍵時方向鍵控制進度","SETTINGS_REWIND_FAST_FORWARD_DURATION":"回放和快進持續時間","SETTINGS_BINGE":"自動播放下一集","SETTINGS_NEXT_VIDEO":"顯示播放下一集的通知","SETTINGS_NEXT_VIDEO_TRIGGER":"顯示下一集的通知:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"下一個視頻彈出持續時間","SETTINGS_PLAY_IN_BACKGROUND":"在後台播放","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"在外部播放器中播放","SETTINGS_RESIZE":"播放前自動調整窗口大小","SETTINGS_OVERRIDE_SERVER":"覆蓋流媒體服務器URL(高級)","SETTINGS_SERVER_URL":"流媒體服務器URL:","SETTINGS_SERVER_AVAILABLE":"流媒體服務器可用。","SETTINGS_SERVER_UNAVAILABLE":"流媒體服務器不可用。","SETTINGS_SERVER_STATUS_ONLINE":"在線","SETTINGS_SERVER_STATUS_ERROR":"錯誤","SETTINGS_SERVER_CONFIGURE_TITLE":"配置流媒體服務器url","SETTINGS_SERVER_CONFIGURE_INPUT":"輸入流媒體服務器url","SETTINGS_SERVER_CACHE_SIZE":"緩存大小","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent配置","SETTINGS_HTTPS_ENDPOINT":"流媒體HTTPS結點:","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"始終使用最新的測試版","SETTINGS_IMPORT_FB":"從Facebook導入","SETTINGS_IMPORT_DISK":"從本地磁盤導入","SETTINGS_IMPORT_TRAKT":"從Trakt導入","SETTINGS_PAUSE_MINIMIZED":"最小化時暫停播放","SETTINGS_HWDEC":"硬件解碼加速","SETTINGS_BACKGROUND":"後台播放","SETTINGS_SUBSCRIBE_CALENDAR":"訂閲到日曆","SETTINGS_REQ_EXPORT":"請求導出數據","SETTINGS_ACC_DELETE":"請求刪除賬户","SETTINGS_CHANGE_PASSWORD":"更改密碼","SETTINGS_TOS":"服務條款","SETTINGS_SUPPORT":"聯繫支持人員","SETTING_LANGUAGE":"語言","SETTINGS_TRAKT":"Trakt自動跟蹤","SETTINGS_TRAKT_LOGOUT":"從Trakt.tv註銷","SETTINGS_TRAKT_LOGOUT_2":"從Trakt註銷","SETTINGS_SCAN_FOR_REMOTE":"掃描二維碼打開遙控器","SETTINGS_DESKTOP_NOTIFICATIONS":"桌面通知","SETTINGS_DATA_SAVER":"移動數據警告","SETTINGS_LANGUAGE_INTERFACE":"界面","SETTINGS_LANGUAGE_SUBS":"默認字幕","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"自動選擇音頻","SETTINGS_DEFAULT_AUDIO_TRACK":"默認音頻","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"賬户","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"版本","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"在單獨窗口中啓動播放器(高級)","SETTINGS_PLAY_IN_EXTERNAL":"總是在外部播放器中打開視頻","SETTINGS_STORAGE_BUTTON":"清除本地存儲","SETTINGS_STORAGE_MODAL_TITLE":"您確定嗎?","SETTINGS_STORAGE_MODAL_MESSAGE":"這將清除本地存儲並使您註銷","SETTINGS_HWDEC_PICKER":"選擇硬件加速解碼設置","SETTINGS_HW_AUTOMATIC":"自動","SETTINGS_HW_DISABLED":"關閉","SETTINGS_HW_ACCELERATED":"解碼加速","SETTINGS_HW_FULL":"全加速","SETTINGS_HW_LEGACY":"舊版","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"字幕","SETTINGS_SECTION_AUDIO":"音頻","SETTINGS_SECTION_CONTROLS":"控件","SETTINGS_SECTION_AUTO_PLAY":"自動播放","SETTINGS_SECTION_ADVANCED":"高級","SUBSPICKER_AUDIO":"音頻","SUBSPICKER_SUBTITLES":"插件字幕","SUBSPICKER_BLACK_BACKGROUND":"使用黑色背景色","SUBSPICKER_VERTICAL_OFFSET":"垂直偏移量","SUBSPICKER_SIZE":"大小","SUBSPICKER_DELAY":"延遲","SUBSPICKER_EMBEDDED_SUBS":"內嵌字幕","MOBILE_PRIVACY_POLICY":"隱私政策","MOBILE_CRASH_REPORTING":"崩潰報告","MOBILE_ZOOM_TO_FILL":"縮放填充屏幕","MOBILE_PASSTHROUGH":"數字音頻輸出(直通)","MOBILE_RUN_LOW_BATTERY":"電池電量低時運行","MOBILE_RUN_FOREGROUND":"作為前台服務運行","MOBILE_PERFORMANCE":"性能&穩定性","MOBILE_SERVER_ONLINE":"在線","MOBILE_SERVER_OFFLINE":"離線","MOBILE_QR_EXPIRES":"二維碼到期時間","MOBILE_LOG_INTO":"登陸到您的Stremio賬户","MOBILE_SCAN_QR":"掃描上面的二維碼或轉到","MOBILE_LINK_ACCOUNT":"鏈接賬户","MOBILE_SPEEDPICKER_CANCEL":"取消","MOBILE_SPEEDPICKER_LABEL":"選擇播放速度","MOBILE_EMPTY_LIBRARY":"您的庫為空","MOBILE_NO_ADDON_ACTIVE":"沒有活動的此類型Stremio插件。","MOBILE_ORGANIZER_WARNING":"Stremio Organizer應用程序提供的功能有限,要獲得可播放流的列表和完整的Stremio體驗,請使用Stremio桌面客户端。","MOBILE_ADDON_LOADING":"仍在加載","MOBILE_ADDONS_LOADING":"插件仍在加載","MOBILE_ADDON":"插件","MOBILE_CONFIGURE_ADDON":"配置插件","MOBILE_CONFIGURE_ADDON_LABEL":"配置插件","MOBILE_ORGANIZER_ADDONS_WARNING":"Stremio Organizer應用程序僅提供有限的插件,要獲得完整的Stremio體驗,請使用Stremio桌面客户端。","MOBILE_DISCONNECT":"斷開連接","MOBILE_LOOKING_FOR_DEVICES":"正在查找設備...","MOBILE_CAST_TO":"投屏到","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"刪除帳户","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"由於法律義務,賬户刪除不是即時的。在請求刪除您的帳户後,您將不得不使用不同的電子郵件地址/臉書個人資料在未來創建一個新的Stremio帳户。","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"確認帳户刪除","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"您的帳户是使用Facebook創建的。要刪除您的帳户,請使用我們的用户門户網站www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"請提供您的密碼以確認帳户刪除。","MOBILE_DELETE_ACCOUNT_BUTTON":"刪除帳户","NAVIGATION_ON":"開啓","NAVIGATION_OFF":"關閉","MARKETING_AGREE":"我同意接收Stremio的營銷通知","QUIT":"退出","CONNECTED":"已連接","AUTHENTICATE":"驗證","CACHING":"緩存","SETTINGS_CACHING_DRIVE":"緩存磁盤","ENABLE_LOCAL_FILES_ADDON":"啓用本地文件插件(需要重新啓動)","LOCAL_ADDON_NOT_ENABLED":"未啓用本地插件,單擊此處轉到設置並啓用它","ENABLE_REMOTE_HTTPS_CONN":"啓用遠程HTTPS連接","TORRENT_PROFILE":"Torrent配置","DATA_CACHING":"數據緩存","MAGNET_PARSING":"分析Magnet鏈接","January":"一月","February":"二月","March":"三月","April":"四月","May":"五月","June":"六月","July":"七月","August":"八月","September":"九月","October":"十月","November":"十一月","December":"十二月","Monday":"星期一","Tuesday":"星期二","Wednesday":"星期三","Thursday":"星期四","Friday":"星期五","Saturday":"星期六","Sunday":"星期天","Action":"動作","Comedy":"喜劇","War":"戰爭","Family":"家庭","Animation":"動畫","Adventure":"冒險","Fantasy":"幻想","Crime":"犯罪","Mystery":"神秘","Romance":"浪漫","Drama":"劇情","Horror":"恐怖","Thriller":"驚悚","Sci-Fi":"科幻","Music":"音樂","Biography":"傳記","Documentary":"紀錄","Sport":"運動","Musical":"音樂劇","Western":"西部","Film-Noir":"黑色電影","News":"新聞","History":"歷史","Game-Show":"遊戲節目","Reality-TV":"真人秀","Talk-Show":"脱口秀","Film & Entertainment":"電影與娛樂","Gaming":"遊戲","From TV":"電視","Lifestyle":"生活方式","Science & Education":"科學與教育","Cooking & Health":"烹飪與健康","Beauty & Fashion":"美麗與時尚","Sports":"體育","News & Politics":"新聞與政治","How-to & DIY":"DIY","Tech":"技術","Automotive":"汽車","Causes & Non-Profits":"事業與公益","Movies":"影視","Uk Live Tv":"英國直播電視台","Fashion":"流行","Business News Radio":"商業新聞電台","Business Tv":"商業電視","Cars & Auto":"汽車與自動化","Comedy Radio":"喜劇電台","Lifestyle Radio":"生活方式電台","News Tv":"新聞電視","Food And Wine":"食物與酒","Latino Tv":"拉丁語電視台","Shopping Tv":"購物電視台","Religion":"宗教","Kids":"兒童","Body & Soul":"身體與靈魂","Education":"教育","Indian Tv":"印度電視台","Extreme Sports":"極限運動","Middle Eastern Tv":"中東電視台","Celebrity Tv":"名人電視台","Science Tv":"科學電視台","Bikini babe":"比基尼寶貝","Outdoors":"户外","German Tv":"德國電視台","French Tv":"法國電視台","Italian Tv":"意大利電視台","Gamer Tv":"伽馬電視台","Travel":"旅行","Asian Tv":"亞洲電視台","Entertainment":"遊戲娛樂","News Radio":"新聞電台","Music Radio":"音樂電台","Language Learning":"語言學習","Science Radio":"科學電台","Tech Radio":"科技電台","Science & Technology Vod":"科技視頻點播","new video":"新視頻","new episode":"新一集","new movie":"新電影","recommended":"推薦","we recommend":"我們建議","offer of the day":"當日優惠","news":"新聞","music video":"音樂視頻","CTX_SHOW_HOTKEYS":"顯示快捷鍵","CTX_DISMISS_NOTIF":"清除通知","CTX_DISMISS_ALL":"全部清除","CTX_SHARE":"分享","CTX_COPY_SHARE_LINK":"複製分享鏈接","CTX_COPY_MAGNET_LINK":"複製Magnet鏈接","CTX_COPY_STREAM_LINK":"複製流媒體鏈接","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"下載此視頻","CTX_DOWNLOAD_SUBS":"下載字幕","CTX_VIEW_ON_YOUTUBE":"在YouTube上觀看","CTX_SHOW":"顯示","CTX_PLAY":"播放","CTX_PLAY_IN":"播放","CTX_PLAY_ON":"正在播放","CTX_WATCH_ON":"正在觀看","CTX_WATCH":"觀看","CTX_WATCHED":"已觀看","CTX_WATCH_BEGINNING":"從頭開始觀看","CTX_WATCH_MOBILE":"在移動設備上觀看","CTX_REWIND":"回到開頭","CTX_MARK_WATCHED":"標記為已觀看","CTX_MARK_NON_WATCHED":"標記為未觀看","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"將其餘部分標記為已觀看","CTX_UNMARK_REST":"將其餘部分標記為未觀看","CTX_RECEIVE_NEW_NOTIF":"接受新通知","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"從緩存中刪除","CTX_REMOVE_CACHE_EP":"從緩存中刪除集","CTX_OPEN_CONTAINING":"打開所在文件夾","CTX_REMOVE":"從庫中刪除","CTX_AVAILABLE_OFFLINE":"離線可用","CTX_PAUSED":"暫停","CTX_ALWAYS_ON_TOP":"置頂","CTX_FULLSCREEN":"全屏","CTX_WRONG_SUBS":"錯誤的字幕?","CTX_REPORT_ISSUES":"報告問題","CTX_COPY":"複製","CTX_PASTE":"粘貼","CTX_CLEAR":"清除","CTX_CLEAR_RECENT_SEARCHES":"清除最近搜索記錄","HELLO_THERE":"您好","HOPE_YOU_ENJOY":"我們希望您喜歡Stremio,也許它已經是您最喜歡的應用之一了!","WHO_ARE_WE":"我們是誰?我們是它背後的團隊。在過去三年裏的每天,我們兩個努力工作使這個產品越來越好。","SUPPORT_US":"如果您喜歡Stremio,如果Stremio對您來説很有價值,請傳播它!","SPREAD_THE_WORD":"現在與您的朋友分享傳播關於Stremio的信息","MORE_PEOPLE":"使用Stremio的人越多,效果就越好!","SEND_A_LINK":"或發送一個鏈接到我們的網站","TIP_LOCALFILES":"提示:您可以將本地視頻文件拖放到Stremio中","ADDON_MY":"我的插件","ADDON_COMMUNITY":"社區插件","ADDON_OFFICIAL":"官方插件","ADDON_REPOS":"插件集合","ADDON_SEARCH":"搜索插件","ADDON_INSTALL":"安裝","ADDON_CONFIGURE":"配置","ADDON_UNINSTALL":"卸載","ADDON_UPGRADE":"更新","ADDON_INSTALLED":"已安裝","ADDON_INSTALLED_MSG":"插件已安裝!","ADDON_UPGRADED_MSG":"插件已更新!","ADDON_UNKNOWN":"未知","ADDON_ERR":"插件安裝錯誤!","ADDON_DISCONNECTED":"已斷開連接","ADDON_APP_MISSING":"未安裝此源的應用程序,您想現在安裝嗎?","ADDON_APP_INSTALL":"立即安裝","ADDON_PAGE":"插件頁","ADDON_TOP_CONTENT":"最好從這個插件","ADDON_PROVIDES":"這個插件會給您:","ADDON_WATCH":"立即觀看#{types}!","ADDON_WATCH_FREE":"立即免費觀看#{types}!","ADDON_ADDON":"插件","ADDON_SUPPORTED_TYPES":"支持的類型","ADDON_SUPPORTED_CATALOGS":"支持的目錄","ADDON_PROVIDES_DISCOVER":"發現中的更多#{types}","ADDON_PROVIDES_STREAMS":"觀看#{types}","ADDON_PROVIDES_STREAMS_FREE":"免費觀看#{types}","ADDON_PROVIDES_SUBTITLES":"#{types}的字幕","ADDON_CANTDETECT":"我們無法檢測到正在運行的Stremio,因此我們無法檢測您安裝了哪些插件。","ERR_NO_META":"找不到有關於此的信息","ERR_GETTING_META":"檢索有關於此的信息時出錯","ERR_CANT_PARSE_MAGNET":"無法分析Magnet","ERR_NO_MAGNET_INFOHASH":"Magnet缺少有效的Hash","ERR_NO_FILE_PATH":"沒有文件路徑無法發送請求","ERR_NO_TORRENT":"沒有Torrent返回","ERR_NO_SUPPORTERD_FILES":"找不到支持的文件","ERR_OPENING_FILES":"無法打開外部文件","ERR_INVALID_LINK":"無效鏈接","ERR_REGISTERED_ONLY":"此選項僅適用於已註冊用户。","ERR_CLIPBOARD":"無法從剪切板播放","ERR_CLIPBOARD_READ":"無法讀取此平台上的剪切板","ERR_CLIPBOARD_GENERIC":"在剪切板中找不到可播放的URL. 請將URL(例如Magnet鏈接)複製到視頻。","BOARD_CONTINUE_WATCHING":"繼續觀看","BOARD_EXPLANATION_RECOMMENDATIONS":"專門為您挑選的電影。<br />這部電影是一個推薦樣例。","BOARD_EXPLANATION_EPISODES":"這裏是您最喜愛的劇集的新一集。<br />將您關注的劇集添加到庫中。","BOARD_EXPLANATION_VIDEOS":"這裏是您最喜愛的頻道的新一集。<br />將您關注的YouTube頻道添加到庫中。","WEBSITE_ENJOYED_BY":"在全球擁有超過3000萬用户","WEBSITE_STREAMING_ENHANCED":"流媒體增強","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio提供安全、現代、無縫的娛樂體驗。憑藉其易於使用的界面和多樣化的內容庫,包括4K HDR支持,用户可以在所有設備上欣賞他們喜愛的電影和電視節目。Stremio致力於安全,是無憂、高質量流媒體體驗的終極選擇。","WEBSITE_AVAILABLE_ON":"可用時間","WEBSITE_WATCH_AND_ENJOY":"觀看並享受。","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio讓它變得小菜一碟","WEBSITE_ALL_FEATURES":"全部功能","WEBSITE_EASY_TO_USE":"易於使用","WEBSITE_EASY_TO_USE_DETAILS":"Stremio的設計是用户友好和易於使用。憑藉其乾淨直觀的界面,您可以輕鬆導航並找到想要觀看的內容。","WEBSITE_SEAMLESS_ACROSS_DEVICES":"無縫跨設備","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Stremio可用於各種平台(包括Windows、Mac、Linux、Android等),它將跟蹤您在所有設備上的進度。只需登錄並繼續觀看,無需在每個新設備上再次配置應用程序。","WEBSITE_ALL_DOWNLOADS":"全部下載","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"高清晰度視頻支持","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"集成視頻播放器支持大多數視頻格式,包括4K HDR內容,讓您享受可用的最高質量。","WEBSITE_DIVERSE_CONTENT_LIBRARY":"多樣化的內容庫","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio集成了大量流行的視頻來源,如Netflix、Amazon Prime video、Hulu、YouTube等。","WEBSITE_CREATE_A_FREE_ACCOUNT":"創建免費帳户","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"量身定製的觀看體驗","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio允許您通過更改主題、添加或刪除插件等方式自定義界面的外觀。","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"多語言字幕支持","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"由於Stremio支持所有語言的字幕,您現在可以用您喜歡的語言欣賞所有喜愛的內容。","WEBSITE_ALL_STREMIO_FEATURES":"Stremio的全部功能","WEBSITE_TRY_STREMIO_TITLE_P1":"嘗試Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"現在在你的電視上","WEBSITE_YOU_CAN_NOW_WATCH":"您現在可以在Android電視設備上觀看所有喜愛的電視節目。Stremio電視應用程序讓您輕鬆享受電影之夜。","WEBSITE_YOU_CAN_NOW_WATCH_2":"現在,您可以在智能電視或安卓電視上觀看所有喜愛的電視節目。Stremio電視應用程序讓您輕鬆享受電影之夜。","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"可能是您設備中最好、最有用的應用程序。這是我每天使用的應用程序之一,尤其是多年來在我的安卓電視上。製作精良,擁有強大的社區,提供有用的功能。幹得好。繼續努力。","WEBSITE_REVIEWS":"評論","WEBSITE_GET_STREMIO_FOR_FREE":"免費獲取Stremio","WEBSITE_GET_STREMIO_NOW":"立即獲取Stremio","WEBSITE_STREMIO_FEATURES":"Stremio功能","WEBSITE_STREMIO_FEATURES_DETAILS":"藉助Stremio的高級功能,像專業人士一樣進行流媒體播放,享受對所有喜愛媒體的無縫訪問","WEBSITE_DISCOVER_MORE":"發現更多。","WEBSITE_DISCOVER_MORE_DETAILS":"永遠不要無聊地沒有東西可看","WEBSITE_COMMUNITY_DRIVEN":"社區驅動","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio擁有一個龐大而活躍的用户社區,他們通過創建和共享插件為軟件的開發做出貢獻。","WEBSITE_GET_INVOLVED":"參與進來","WEBSITE_NEW_THEATER_EXPERIENCE":"新劇場體驗","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio的新專用電視應用程序讓您在Android電視設備上享受電影之夜。","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio的新專用電視應用程序讓您在智能電視或安卓電視設備上享受電影之夜。","WEBSITE_FREE_AND_SECURE":"免費和安全","WEBSITE_STREAMING":"流式傳輸","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio為用户提供無與倫比的安全性和隱私。Stremio具有遠程運行插件的獨特功能,與其他平台相比,它提供了一種更安全的方式來流式傳輸您喜愛的內容。您的安全和隱私是首要任務,平台確保您的所有數據都得到保護。","WEBSITE_FREE_AND_SECURE_DETAILS_2":"告別對安全和隱私的擔憂,與Stremio一起向無盡娛樂的世界問好。","WEBSITE_INFORMATION_PROVIDED_BY":"信息來源於","WEBSITE_CONTRIBUTE":"貢獻","WEBSITE_CONTRIBUTE_DESC":"幫助我們讓Stremio變得更好","WEBSITE_COMMUNITY_DESC":"我們相信,創造真正令人驚歎的流媒體體驗的最佳方式是讓我們的社區參與到這個過程中。無論你是程序員、藝術家還是粉絲,你都可以幫助Stremio成長。","WEBSITE_COMMUNITY_DESC_2":"所以,今天就加入我們,成為Stremio社區的一員,繼續塑造流媒體的未來。","WEBSITE_WAYS_TO_GET_INVOLVED":"參與方式","WEBSITE_IN_THE_STREMIO_COMMUNITY":"在Stremio社區","WEBSITE_SHARE_YOUR_THOUGHTS":"分享你的想法","WEBSITE_REPORT_BUGS":"報告Bug","WEBSITE_SUGGEST_FEATURES":"建議功能","WEBSITE_AND_PROVIDE_FEEDBACK":"並在我們的社交媒體渠道上提供反饋。","WEBSITE_BETA_TESTING_PROGRAM":"Beta測試程序","WEBSITE_BETA_TESTING_PROGRAM_DESC":"在Stremio社區參與我們的測試計劃(我們定期發出邀請)。","WEBSITE_JOIN_NOW":"立即加入!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Stremio官方社區","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Stremio非官方社區","WEBSITE_BECOME":"成為","WEBSITE_A_VOLUNTEER_TRANSLATOR":"一位志願翻譯者","WEBSITE_ARE_YOU_A_DEVELOPER":"你是開發者嗎?","WEBSITE_CONTRIBUTE_CODE":"您可以為我們的開源項目貢獻代碼。我們在GitHub上有幾個項目正在尋找貢獻者。如果你有興趣幫忙,可以去看看:","WEBSITE_STREMIO_ON_GITHUB":"GitHub上的Stremio","WEBSITE_CREATE_ADDON_DESC":"創建一個插件以增強Stremio的功能(我們有一個易於使用的API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio插件SDK","WEBSITE_INTERN_DEVELOPER":"我們還提供了作為實習生開發人員加入我們的機會,這樣我們就可以一起成長。","WEBSITE_APPLY_AS_AN_INTERN":"以實習生身份申請","WEBSITE_CALLING_ALL_ARTISTS":"呼叫所有藝術家!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"通過將您的粉絲藝術上傳到我們的在線畫廊,展示您對Stremio的創造力和熱愛。無論是繪畫、繪畫還是數字設計,我們都希望看到您對Stremio品牌的獨特見解。加入我們的藝術愛好者社區,與世界各地的Stremio粉絲分享您的作品。","WEBSITE_STREMIO_FANART_GALLERY":"Stremio粉絲藝術畫廊","WEBSITE_INTERN_DESIGNER":"通過我們激動人心的實習機會,成為我們團隊的一員,將您的創造力提升到新的高度。","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"公共領域電影項目","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"在Stremio,我們致力於通過識別公共領域和孤兒視頻來保護電影和電視的歷史。通過與我們的社區合作,我們可以確保這些經典藝術作品對每個人都是可訪問的,併為後代所保護以供享受。","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"如果您想參與該項目,請隨時與我們聯繫。","WEBSITE_JOIN_THE_PROJECT":"加入項目","WEBSITE_BE_PART_OF_OUR_MISSION":"成為我們使命的一部分","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"有興趣加入斯特雷米奧隊嗎?我們為充滿激情的專業人士提供完全遠程工作。查看我們的空缺職位。","WEBSITE_OPEN_POSITIONS":"空缺職位","WEBSITE_DESCRIPTION":"説明","WEBSITE_LEARN_MORE":"瞭解更多","WEBSITE_COMPANY":"公司","WEBSITE_CONTACTS":"聯繫人","WEBSITE_NEED_HELP":"需要幫助?","WEBSITE_STREMIO_WEB_ON_IOS":"iOS版Stremio Web指南","WEBSITE_LINK_ART_V2":"粉絲藝術畫廊","WEBSITE_PARTNERS":"合作伙伴","WEBSITE_SLOGAN_WATCH":"立即觀看","WEBSITE_SLOGAN_ALL":"一站式視頻娛樂解決方案","WEBSITE_SLOGAN_NEW":"您能觀看一切","WEBSITE_SLOGAN_NEW_NEW":"自由串流","WEBSITE_WATCH_FROM":"觀看","WEBSITE_DOWNLOAD":"立即下載","WEBSITE_DOWNLOAD_FOR":"立即下載","WEBSITE_IS_DESKTOP":"Stremio是一個桌面應用程序,請在PC上打開此頁並下載","WEBSITE_DESKTOP_DEMO_VID":"桌面演示","WEBSITE_PAGE_HOME":"首頁","WEBSITE_PAGE_FEATURES":"功能","WEBSITE_PAGE_ADDONS":"插件","WEBSITE_PAGE_TECH":"技術","WEBSITE_PAGE_CREATE_ADDON":"創建插件","WEBSITE_PAGE_CONTACTS":"聯絡","WEBSITE_PAGE_BLOG":"博客","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"電影","WEBSITE_TYPE_series_PL":"劇集","WEBSITE_TYPE_tv":"直播電視","WEBSITE_TYPE_channel":"頻道","WEBSITE_STREMIO_WHAT_IS":"Stremio是一款幫助您管理和隨時觀看您喜愛的視頻、電影、劇集和電視頻道的應用程序","WEBSITE_FEATURES_WATCH":"立即觀看高清視頻","WEBSITE_FEATURES_WATCH_DETAIL":"點擊並播放您喜愛的電影、劇集、視頻和電視頻道。","WEBSITE_FEATURES_SUBS":"自動加載字幕","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio會自動為您的語言選擇同步字幕。","WEBSITE_FEATURES_SUBS_LABEL":"Your move, chief.","WEBSITE_FEATURES_CAST":"在電視和移動設備上播放","WEBSITE_FEATURES_CAST_DETAIL":"適用於AppleTV、Chromecast、智能電視(DLNA/UPnP)和移動設備。","WEBSITE_LIB":"享受在所有設備上同步的個人庫","WEBSITE_LIB_COLLECT":"從Stremio收集","WEBSITE_LIB_IMPORT":"從Facebook導入","WEBSITE_LIB_LOCAL":"從本地磁盤添加","WEBSITE_BOARD":"首頁 - 通知和推薦的一站式場所","WEBSITE_BOARD_RECOMMEND":"推薦電視節目","WEBSITE_BOARD_TRENDING":"流行電影","WEBSITE_BOARD_NEW":"新視頻","WEBSITE_BOARD_EPISODE":"新一集","WEBSITE_BOARD_1":"想看些有趣的東西嗎?根據您的喜好得到推薦!","WEBSITE_BOARD_2":"當您最喜愛的電視節目或YouTube頻道的新一集播出時獲得通知!","WEBSITE_BOARD_YOUTUBE":"YouTube頻道的新視頻","WEBSITE_BOARD_EPISODES":"您關注的劇集的新一集","WEBSITE_ADDONS":"內容插件","WEBSITE_TECH_DETAIL":"我們熱愛科技,我們熱愛瘋狂的科學!\\nStremio使用了以下開源技術:","WEBSITE_TECH_WCJS":"WebChimera.js允許Stremio以良好的性能播放任何視頻格式。","WEBSITE_TECH_WCJS_EXTRA":"我們是項目的核心貢獻者","WEBSITE_TECH_ELECTRON":"Electron為Stremio提供了一個創新平台。","WEBSITE_TECH_ELECTRON_EXTRA":"我們是項目貢獻者","WEBSITE_TECH_LINVODB":"一種數據庫技術,確保您的數據在任何地方登錄都受管理和可用。","WEBSITE_TECH_LINVODB_EXTRA":"內部技術","WEBSITE_CREATE_ADDON":"創建您的插件","WEBSITE_CREATE_ADDON_DETAIL":"您有提供視頻內容的服務嗎?我們將通過創建插件來幫助您從Stremio的功能中獲益。","WEBSITE_CREATE_ADDON_BENEFITS":"為Stremio創建插件的好處","WEBSITE_P2P_BEAUTY":"點對點流媒體之美","WEBSITE_P2P_1":"可靠且價格合理的全高清/4K視頻點播或流媒體直播","WEBSITE_P2P_2":"提供良好用户體驗的分銷平台","WEBSITE_P2P_3":"我們將創建一個插件來滿足您的確切需要","WEBSITE_P2P_CONTACT":"有興趣嗎?歡迎您通過<a href=\'mailto:office@stremio.com\'>聯繫我們</a>.","WEBSITE_P2P_CONTACT_EXTRA":"我們很樂意幫助您將您的內容集成到Stremio!","WEBSITE_P2P":"偶然間出現了一種改變遊戲名稱的技術。 我們投入了大量的時間和精力來構建我們的點對點(P2P)視頻流媒體引擎,該引擎可提供出色的性能和多功能性,以適應任何用例。\\n請聯繫我們以獲取支持DRM的P2P視頻點播或實時流媒體。","WEBSITE_THOUGHTS":"我們分享的想法:","WEBSITE_SPREAD":"傳播關於Stremio的信息:","WEBSITE_CONTACT":"聯繫我們,我們很高興收到您的來信!","WEBSITE_OPENSOURCE":"有關我們的開源項目,請轉到:","WEBSITE_BITCOIN":"捐贈比特幣:","WEBSITE_FAQ":"常見問題","WEBSITE_FAQ_SHORT":"常見問題","WEBSITE_QUESTIONS":"問題","WEBSITE_TOS":"使用條款","WEBSITE_LEGAL":"法律","WEBSITE_PAGE_ABOUT":"關於","WEBSITE_PAGE_BECOME_PARTNER":"成為合作伙伴","WEBSITE_ALL_YOU_CAN_WATCH":"自由觀看\\n您想看的一切。","WEBSITE_FREEDOM_TO_STREAM":"自由串流","WEBSITE_WHAT_IS_STREMIO":"什麼是Stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio是一個一站式視頻內容聚合中心。在您擁有的任何設備上發現,管理和觀看來自各種來源的視頻。","WEBSITE_WHAT_IS_STREMIO_P2":"電影、電視節目、劇集、電視直播或網絡頻道例如YouTube或Twitch.tv等,您可以在Stremio上找到所有這些內容。","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio是一個現代化的媒體中心,為您的視頻娛樂提供一站式解決方案。您可以通過易於安裝的插件發現,觀看和整理視頻內容。","WEBSITE_WHAT_IS_STREMIO_P2_V2":"電影、電視節目、直播電視或網絡頻道——在Stremio上找到所有這些。","WEBSITE_ENJOI_ON_ALL_DEVICES":"在所有媒體設備上享受","WEBSITE_DEVICES_COLLECT":"從Stremio收集","WEBSITE_DEVICES_IMPORT_FB":"從Facebook導入","WEBSITE_DEVICES_LOCAL":"從本地磁盤添加","WEBSITE_JOIN_THE_PARTY_NOW":"立即加入聚會","WEBSITE_DEVICES_ALL":"易於在所有設備上使用;","WEBSITE_EXTENDABLE_CATALOG":"可無限擴展的視頻目錄;","WEBSITE_ORGANIZE_YOUR_MEDIA":"強大的媒體管理功能;","WEBSITE_AS_SEEN_ON":"如圖所示","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"關於我們","WEBSITE_LINK_TECHNOLOGY":"技術","WEBSITE_LINK_APPS":"應用程序","WEBSITE_LINK_DOWNLOADS":"下載","WEBSITE_MORE":"更多","WEBSITE_LINK_ADDONS":"插件","WEBSITE_LINK_ADDON_SDK":"插件SDK","WEBSITE_LINK_CONTRIBUTE":"貢獻","WEBSITE_LINK_COMMUNITY":"社區","WEBSITE_LINK_BLOG":"博客","WEBSITE_MORE_MORE":"... & 更多","WEBSITE_LINK_HELP":"幫助中心","WEBSITE_LINK_CONTACTS":"業務查詢","WEBSITE_LINK_TOS":"條款和條件","WEBSITE_LINK_PRAVACY":"隱私政策","WEBSITE_SUBSCRIBE":"訂閲","WEBSITE_NEWSLETTER":"加入我們的實時通訊,瞭解精彩的內容","WEBSITE_PLACEHOLDER_EMAIL":"您的電子郵箱","WEBSITE_COMMUNITY":"社區","WEBSITE_LINK_PRAVACY_LEGAL":"隱私與法律","WEBSITE_WHY":"我們為什麼這樣做","WEBSITE_WHY_P1":"在Stremio,我們每天都工作,因為我們想解決視頻點播行業的一個重要問題。每分鐘都有這麼多的新內容發佈,幾乎不可能找到解決的方法。","WEBSITE_WHY_P2":"我們幫助人們瀏覽這個巨大的視頻娛樂世界,發現新的內容來享受。我們的應用程序彙集了電影、劇集、電視直播、網絡頻道等。我們致力於讓用户非常容易地找到他們喜歡的標題和廣播。","WEBSITE_WHY_P3":"您可以隨時在任何設備上使用我們的服務,使Stremio成為您唯一需要的視頻娛樂中心。","WEBSITE_TEAM":"團隊","WEBSITE_TEAM_P":"Stremio團隊雖小但很強大:我們10個人用X語言編寫代碼,分享軟件開發、UI和UX設計、營銷和廣告、商業和初創企業方面的專業知識。","WEBSITE_FEATURES":"功能","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"輕鬆發現新內容","WEBSITE_FEATURES_DISCOVER_P":"輕鬆發現要觀看的新電影、電視節目、劇集和頻道。按類別、流派、評分、時間等瀏覽,或者只需鍵入一個名稱即可找到。Stremio讓尋找新的視頻內容變得輕而易舉。","WEBSITE_FEATURES_ALL_CONTENT":"一塊屏幕顯示所有視頻內容","WEBSITE_FEATURES_ALL_CONTENT_P1":"查看您未看完的電影、劇集或視頻,並繼續觀看;獲得新劇集和版本的通知;瀏覽根據您的觀看習慣獲得的推薦。","WEBSITE_FEATURES_LIBRARY":"管理您的視頻庫","WEBSITE_FEATURES_LIBRARY_P1":"只需點擊一下,即可將任何標題添加到您的Stremio庫中,並按類型、時間或字母順序整齊地排列內容。","WEBSITE_FEATURES_CALENDAR":"記錄您所觀看的一切","WEBSITE_FEATURES_CALENDAR_P1":"獲取添加到庫中的所有電影和系列的日曆可視化。導出您的Stremio日曆並同步它,這樣您就可以隨時知道新的一集或首映何時到來。","WEBSITE_FEATURES_BIG_SCREEN":"在大屏幕上欣賞您的視頻內容","WEBSITE_FEATURES_BIG_SCREEN_P1":"將您正在觀看的任何內容都投屏到另一台設備上,無論是手機、平板電腦還是電視,只需點擊一下即可。","WEBSITE_FEATURES_SOURCES":"觀看不同來源的視頻","WEBSITE_FEATURES_SOURCES_P":"安裝官方和社區插件,欣賞來自多個不同供應商的視頻。","WEBSITE_CREATE_AN_ADDON":"創建插件","WEBSITE_FEATURES_SYNC":"跨設備同步庫並恢復播放","WEBSITE_FEATURES_SYNC_P1":"使用您的帳户在所有設備上登錄,享受同步的庫、插件、播放和日曆。","WEBSITE_FEATURES_EXTENDABLE":"通過插件擴展視頻目錄","WEBSITE_FEATURES_EXTENDABLE_P1":"Stremio插件目錄提供了許多插件,可以從中安裝和觀看各種視頻內容。這包括電影、節目、電視直播、體育、新聞、播客、網絡頻道、視頻遊戲等。","WEBSITE_FEATURES_AUTO_SUBS":"自動加載字幕","WEBSITE_FEATURES_AUTO_SUBS_P1":"通過我們的字幕插件,您可以自動選擇您喜歡的語言。","WEBSITE_FEATURES_CHROMECAST":"投屏到Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"在更大的屏幕上欣賞您的視頻內容,或者將您正在觀看的內容投屏到其他設備上。","WEBSITE_FEATURES_KEEP_TRACK":"跟蹤您最喜愛的電視節目和網絡頻道","WEBSITE_FEATURES_KEEP_TRACK_P1":"獲取您最喜愛的劇集和網絡頻道的新一集的日曆可視化和通知。","WEBSITE_FEATURES_POWER_USER":"超級用户功能","WEBSITE_FEATURES_POWER_USER_P1":"在外部播放器中播放","WEBSITE_FEATURES_POWER_USER_P2":"從Torrent文件或Magnet鏈接播放","WEBSITE_FEATURES_POWER_USER_P3":"從Facebook喜愛或本地磁盤導入您的庫","WEBSITE_ADD_ONS":"插件","WEBSITE_ADD_ONS_P1":"Stremio提供的所有視頻內容都是通過插件系統獲取的,應用程序中沒有內置任何內容或內容提供商。","WEBSITE_ADD_ONS_P2":"有兩組插件可用:官方和社區插件。","WEBSITE_ADD_ONS_P3":"官方插件由Stremio開發和託管,而社區插件由我們的社區成員創建和託管。","WEBSITE_ADDONS_OFFICIAL":"官方插件","WEBSITE_ADDONS_WATCHUB":"從iTunes、Hulu、Amazon和其他英國/美國服務提供商處流式播放您喜愛的電影、劇集和節目。","WEBSITE_ADDONS_YOUTUBE":"觀看您喜愛的YouTube頻道,獲得您關注的貢獻者的新上傳通知。","WEBSITE_ADDONS_FILMON":"免費觀看直播電視、電影和社交電視。600個電視頻道,45000部免費電影,紀錄片以及更多","WEBSITE_ADDONS_OPENSUBTITLES":"多語種影視字幕,每天上傳上千個翻譯字幕。","WEBSITE_ADDONS_COMMUNITY":"社區插件","WEBSITE_ADDONS_FILMON_VOD":"觀看來自Filmon.tv的點播視頻。","WEBSITE_ADDONS_TWICH":"觀看來自Twitch.tv(電子競技行業的視頻流媒體平台)的直播。","WEBSITE_ADDONS_VODO":"觀看完全免費的獨立電影。","WEBSITE_ADDONS_NETFLIX":"觀看Netflix的電影和網劇。","WEBSITE_ADDONS_CREATE":"創建插件","WEBSITE_ADDONS_CREATE_P1":"如果您願意,您可以開發自己的插件。通過這種方式,您可以讓自己和我們的社區訪問新的視頻內容,並接觸到全球數百萬用户的新目標受眾。","WEBSITE_ADDONS_START_CREATE":"要開始,請訪問Stremio插件SDK頁面:","WEBSITE_DOWNLOADS":"下載","WEBSITE_DOWNLOADS_P1":"為了獲得最佳性能,我們建議您使用最新版本的Stremio應用程序。但是,如果出於某種原因,您想使用舊版本,可以在此處下載。","WEBSITE_DOWNLOADS_P1_SHORT":"為了獲得最佳性能,我們建議您使用最新版本的Stremio應用程序,","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio for Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio for macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio for Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio for Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio for iOS(限制版本)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"下載Stremio服務","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service是Stremio Web的配套應用程序。我們建議使用最新版本的Stremio Service。","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"更多下載選項","WEBSITE_DOWNLOAD_NEW":"新!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"我們發佈了Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"Stremio平台是開源的,您可以輕鬆地為當前沒有來源的內容創建一個插件。","WEBSITE_CONTRIBUTE_WHY":"為什麼要創建插件?","WEBSITE_CONTRIBUTE_WHY_P1":"為您的視頻內容吸引新觀眾","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio的用户羣體正在快速增長,在推出的第一年,Stremio在全球獲得了100萬用户,在該平台存在的第二年,這個數字增長到250萬。","WEBSITE_CONTRIBUTE_WHY_P3":"用插件,您可以輕鬆接觸這些觀眾並向他們分發您的視頻內容。","WEBSITE_CONTRIBUTE_ALL":"在一處觀看您喜愛的電影、視頻、劇集和頻道。","WEBSITE_CONTRIBUTE_ALL_P1":"您是Stremio上尚未提供的特定類型內容的粉絲?為它創建一個插件,在市場上最大、最易使用的娛樂中心之一欣賞您喜愛的視頻。","WEBSITE_CONTRIBUTE_ALL_P2":"除此之外,您還會得到其他志同道合的Stremio社區成員的無盡感激。","WEBSITE_CONTRIBUTE_MONETIZE":"通過插件營利,並在其幫助下賺錢","WEBSITE_CONTRIBUTE_MONETIZE_P1":"一旦您為Stremio開發了一個新的插件,您就可以通過多種不同的方式輕鬆地靠其營利。如果您正在考慮此問題,請隨時與我們聯繫","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":",我們很樂意就插件營利選項向您提供諮詢和建議。","WEBSITE_CONTRIBUTE_TRANSLATE":"成為一名志願翻譯者","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"如果您想享受不同語言的Stremio應用程序,您可以加入我們的志願翻譯者社區。他們幫助我們添加多種不同語言的Stremio版本。","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"您想開始嗎?","WEBSITE_TRANSALTE_STREMIO":"翻譯Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"官方社區","WEBSITE_COMMUNITY_OFFICIALS_P1":"成為不斷增長的Stremio社區的一部分。在社交媒體上關注我們,不要害羞地打招呼,我們喜歡聽到粉絲的聲音!","WEBSITE_COMMUNITY_UNOFFICIALS":"非官方社區","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"合作伙伴和支持者","WEBSITE_COMMUNITY_GOODIES":"Stremio特典","WEBSITE_COMMUNITY_WALLPAPERS":"壁紙","WEBSITE_COMMUNITY_ART":"社區藝術畫廊","WEBSITE_LINK_ART":"社區藝術畫廊","WEBSITE_CONTACT_US":"聯繫我們","WEBSITE_CONTACT_US_P1":"如果您有任何問題、意見或建議,請隨時通過下面的聯繫方式與我們聯繫。","WEBSITE_CONTACT_US_P2":"請記住,我們位於保加利亞,因此可能會由於時區差異而延遲處理您的問題。","WEBSITE_CONTACT_US_SUCCESS":"您的信息已發送。我們會在方便的時候儘快給您回覆。","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"請輸入有效的電子郵箱!","WEBSITE_CONTACT_US_Q_RELATED_TO":"您的問題與什麼有關?","WEBSITE_CONTACT_US_Q_OS":"您的操作系統是什麼?","WEBSITE_CONTACT_US_PH_EMAIL":"您的電子郵箱","WEBSITE_CONTACT_US_PH_MESSAGE":"短信","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"發送","WEBSITE_CONTACT_US_Q_1":"如何安裝?","WEBSITE_CONTACT_US_Q_2":"如何卸載?","WEBSITE_CONTACT_US_Q_3":"(HTML)如何製作千層麪?","WEBSITE_CONTACT_US_Q_4":"插件","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"技術","WEBSITE_TECHNOLOGY_P1":"我們熱愛科技,熱愛科學。</br>這是Stremio的動力(它都是開源的)。","WEBSITE_TECHNOLOGY_P_QT":"最佳跨平台軟件開發工具。","WEBSITE_TECHNOLOGY_P_MPV":"一款免費、開源、跨平台的媒體播放器。","WEBSITE_TECHNOLOGY_P_RN":"React Native允許您僅使用JavaScript構建移動應用程序。","WEBSITE_TECHNOLOGY_P_VLC":"嵌入到應用程序中獲取多媒體的媒體框架。","WEBSITE_TECHNOLOGY_P_REALM":"Realm是一個移動平台,是SQLite和Core Data的替代品。","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js是一個開源、跨平台的JavaScript運行環境。","WEBSITE_TECHNOLOGY_P_RUST":"Rust是一種多範式系統編程語言,關注安全性,尤其是安全併發性。","WEBSITE_TECHNOLOGY_CONTRIBUTE":"為項目貢獻力量","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"您可以通過兩種方式為Stremio做貢獻,幫助我們將產品做得更好。","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"您可以通過翻譯平台來貢獻您寶貴的語言技能...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"或","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... 您可以利用您的編程技巧來創建社區插件。","WEBSITE_TRANSLATE_STREMIO":"翻譯Stremio","WEBSITE_404_OH_NO":"糟糕!您要找的頁面不在這裏...","WEBSITE_GO_HOME":"回到主頁","WEBSITE_LINK_OTHER_DOWNLOADS":"其他下載","WEBSITE_FAQ_ABR":"常見問題","WEBSITE_SUPPORT":"支持","WEBSITE_DOWNLOAD_4_0_BETA":"立即下載Stremio 4測試版","WEBSITE_GET_FOR_DESKTOP":"獲取桌面","WEBSITE_LINK_ADDON_COMPETITION":"插件比賽","WEBSITE_LINK_ART_CONTEST":"藝術比賽","WEBSITE_MY_ACCOUNT":"我的賬户","WEBSITE_MAINPAGE_FAQ_001_H1":"什麼是Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio是一個現代化的媒體中心,讓您可以自由觀看任何您想要的東西。","WEBSITE_MAINPAGE_FAQ_002_H1":"它是如何工作的?","WEBSITE_MAINPAGE_FAQ_002_P1":"一旦您在設備上安裝了Stremio並創建了一個帳户,您所要做的就是訪問插件目錄並安裝任何您想要的插件,就可以開始了!","WEBSITE_MAINPAGE_FAQ_002_P2":"之後,您可以進入“發現”或“板”部分,開始探索內容。","WEBSITE_MAINPAGE_FAQ_003_H1":"我可以在這裏看什麼?","WEBSITE_MAINPAGE_FAQ_003_P1":"很多:電影、電視節目、網絡頻道、體育、電視頻道、收聽播客等等。感謝我們的插件系統,您可以訪問各種內容。","WEBSITE_MAINPAGE_FAQ_004_H1":"Stremio是開源的嗎?","WEBSITE_MAINPAGE_FAQ_004_P1":"是的,您可以查看以下鏈接:${1}桌面應用${2}和${3}GitHub組織${4}。","WEBSITE_MAINPAGE_FAQ_005_H1":"Stremio安全嗎?","WEBSITE_MAINPAGE_FAQ_005_P1":"是:因為它是開源軟件,所以代碼可以公開審核,您可以自己查看。","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"我的隱私如何?","WEBSITE_MAINPAGE_FAQ_006_P1":"我們尊重用户隱私,除了創建和同步您的帳户所必需的最低限度外,不收集任何個人數據。","WEBSITE_MAINPAGE_FAQ_006_P2":"註冊時還有一個${1}訪客模式${2},它不需要任何數據:在這種模式下,不會調用我們的後端。然而,這是以犧牲有用的功能為代價的,比如能夠跨設備同步您的庫。","WEBSITE_MAINPAGE_FAQ_007_H1":"我可以投屏到電視嗎?","WEBSITE_MAINPAGE_FAQ_007_P1":"是的,我們支持Chromecast,您可以從桌面和移動應用程序(Android)進行強制轉換。","WEBSITE_MAINPAGE_FAQ_008_H1":"Stremio有多少插件?","WEBSITE_MAINPAGE_FAQ_008_P1":"截至2019年末,超過50個。有關更多信息,請查看我們的插件目錄。","WEBSITE_MAINPAGE_FAQ_009_H1":"Stremio是否可以擴展到插件目錄之外?","WEBSITE_MAINPAGE_FAQ_009_P1":"是的,您應該查看這些:${1}PimpMyStremio${2},${3}Reddit communities${4},${5}Stremio Downloader${6},等等。","WEBSITE_MAINPAGE_FAQ_010_H1":"Stremio支持哪些設備?","WEBSITE_MAINPAGE_FAQ_010_P1":"我們有適用於Windows、Mac和Linux的桌面應用程序。對於移動設備,我們支持Android和iOS,但請記住iOS的功能有限(不支持大多數插件)。","WEBSITE_MAINPAGE_FAQ_010_P2":"有很多基於Android的設備可以在上面運行Stremio,比如NVIDIA Shield和Amazon Fire Stick,但我們並不正式支持它們。","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"您們能為Stremio添加某些內容嗎?","WEBSITE_MAINPAGE_FAQ_011_P1":"抱歉,我們本身不提供任何內容,但是您安裝的Stremio插件越多,您可以找到的內容就越多。","WEBSITE_MAINPAGE_FAQ_012_H1":"Stremio可以播放Magnet鏈接嗎?","WEBSITE_MAINPAGE_FAQ_012_P1":"是的,它還可以播放正常的HTTP鏈接和Torrent文件(拖放)。","WEBSITE_MAINPAGE_FAQ_013_H1":"我可以下載視頻並離線觀看嗎?","WEBSITE_MAINPAGE_FAQ_013_P1":"離線可用是一項即將推出的功能,但如果您允許Stremio在設備上緩存(從“設置”面板),您可以稍後在沒有連接的情況下觀看視頻。","WEBSITE_MAINPAGE_FAQ_014_H1":"什麼都不能用,幫幫我!","WEBSITE_MAINPAGE_FAQ_014_P1":"您確定已安裝插件嗎?如果是,請與我們的${1}幫助中心${2}聯繫","WEBSITE_MAINPAGE_FAQ_015_H1":"Stremio如何維持其開發運營?","WEBSITE_MAINPAGE_FAQ_015_P1":"我們偶爾會播放非侵入性廣告,但我們正在考慮轉向捐贈模式。","WEBSITE_MAINPAGE_FAQ_015_P2":"有關更多問題,請訪問我們的${1}幫助中心${2}。","HELP_LEARN_MORE":"幫助我們瞭解更多有關您的信息。","LIFESTYLE":"生活方式","SPORTS":"體育","FOOD_HEALTH":"飲食與健康","BEAUTY_FASHION":"美麗與時尚","NEWS":"新聞","GAMING":"遊戲","SCIENCE_EDUCATION":"科學與教育","MUSIC":"音樂","TRAVEL":"旅行","LATE_NIGHT":"深夜","REALITY":"真人","COMEDY":"喜劇","DIY":"DIY","TECH":"技術","CINEMA":"影院","CONTINUE":"繼續","SLOW_LOADING":"加載緩慢?","I_GIVE_UP":"我放棄了","LEARN_MORE":"瞭解更多","POOR_SOURCE":"此源不可用或您的網絡連接不夠快","PICK_CATEGORIES_ERR":"您必須至少選擇3個類別","ADJUST_TIMING":"調整時間","ADJUST_SIZE":"調整大小","SEARCH_ANYTHING":"您可以搜索一切...","ALL_CATEGORIES":"全部","SEARCH_CATEGORIES":"電影、劇集、YouTube和電視","SEARCH_PERSONS":"演員、導演和編劇","SEARCH_PROTOCOLS":"HTTP或Magnet鏈接","SEARCH_TYPES":"IMDB/TVDB鏈接","WATCHED":"已觀看","SHOW_LESS":"顯示較少","LAST_SEARCHES":"上次搜索","CLEAR_HISTORY":"清除歷史記錄","CHOOSE_SOME":"選擇其中一些:","NO_WEB_REMOTE":"無法加載Web Remote","STREMIO_OFFLINE":"Stremio離線","STREMIO_EXPENSIVE_CONNECTION":"我們檢測到您正在使用移動數據連接,是否繼續?","USE_DATA":"使用移動數據","WARNING":"警告","MORE_INFO":"更多信息...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"加載...","STREMIO_TV_BACK_TO_LANGUAGES":"返回語言","STREMIO_TV_REMOTE":"遠程","STREMIO_TV_GO_TO":"去往:","STREMIO_TV_OR_SCAN":"或掃描:","STREMIO_TV_ADDON_INSTRUCTIONS":"請按照説明安裝您喜歡的插件。","STREMIO_TV_LIVE_TV":"直播電視","STREMIO_TV_RESUME_WATCHING":"繼續觀看","STREMIO_TV_LOADING_BACKGROUND":"加載背景","STREMIO_TV_CHECKING_AUTHENTICATION":"正在檢測身份驗證","STREMIO_TV_LOADING_BOARD":"加載主頁","STREMIO_TV_LOGIN_HEADER_LINE_1":"我們希望用户在使用我們的軟件時有最好的個性化體驗,","STREMIO_TV_LOGIN_HEADER_LINE_2":"正是出於這個原因,我們懇請您建立和/或登錄您的賬户,","STREMIO_TV_LOGIN_FOOTER_LINE_1":"感謝您的理解,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Stremio團隊","STREMIO_TV_REMOTE_INSTRUCTIONS":"為了在您的智能手機/平板電腦/桌面使用Web Remote:","STREMIO_TV_WIFI_SETUP":"Wi-Fi設置","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle未檢測到互聯網連接。","STREMIO_TV_WIFI_DETAILS_1":"連接到:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"使用密碼:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"在瀏覽器中打開鏈接:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"默認","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"按最近觀看","STREMIO_TV_LIBRARY_SORT_NAME":"按名字","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"按觀看次數","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"季${1}","STREMIO_TV_STREAMS_LOADING":"已加載${1}/${2}插件...","STREMIO_TV_STREAMS_STILL_LOADING":"${1}插件仍在加載...","STREMIO_TV_PLAYER_SETTINGS":"播放器設置","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"字幕延遲","STREMIO_TV_PLAYER_AUDIO_DELAY":"音頻延遲","STREMIO_TV_PLAYER_VIDEO_SCALING":"視頻縮放","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"不支持的流媒體源","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"打開外部鏈接失敗","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"在音頻直通模式下不可調整","STREMIO_TV_PLAYER_PLAY_IN_EXO":"使用ExoPlayer播放","STREMIO_TV_PLAYER_PLAY_IN_VLC":"使用libVLC player播放","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"由於播放錯誤而切換到libVLC player","STREMIO_TV_ADDONS_TITLE":"在手機或PC上使用Stremio安裝或配置插件,然後按\\"同步插件\\"","STREMIO_TV_ADDONS_SUBTITLE":"注意:確保您使用的是相同的Stremio帳户","STREMIO_TV_ADDONS_SYNC_ADDONS":"同步插件","STREMIO_TV_ADDONS_SYNC_SUCCESS":"插件成功同步","STREMIO_TV_ADDONS_SYNC_FAILED":"插件同步失敗","STREMIO_TV_META_LINK_FAILED":"打開元鏈接失敗","STREMIO_TV_CATALOG_LOADING":"目錄仍在加載...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"界面語言已更新","STREMIO_TV_SETTINGS_THEME_UPDATED":"主題已更新","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"默認播放器","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"外部播放器","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"首選語言","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"次要首選語言","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"隧道播放","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"某些設備上可能存在播放問題","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"某些視頻格式可能無法播放","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"幀速率匹配","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"關閉","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"僅幀速率","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"幀速率和分辨率","STREMIO_TV_SETTINGS_NO_CACHING":"無緩存","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"默認","STREMIO_TV_SETTINGS_PROFILE_SOFT":"慢","STREMIO_TV_SETTINGS_PROFILE_FAST":"快","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"超快","STREMIO_TV_SETTINGS_SERVER_URL":"流媒體服務器URL","STREMIO_TV_SETTINGS_SERVER_VERSION":"服務器版本","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"未知","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio版本","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"編輯服務器URL","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"輸入流媒體服務器URL","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"加載時顯示統計信息","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"要閲讀Stremio的隱私政策,請訪問:","STREMIO_TV_SETTINGS_TOS_TEXT":"要閲讀Stremio的條款和條件,請訪問:","STREMIO_TV_NAV_SEARCH":"搜索","STREMIO_TV_NAV_HOME":"主頁","STREMIO_TV_NAV_DISCOVER":"發現","STREMIO_TV_NAV_LIBRARY":"庫","STREMIO_TV_NAV_MOVIES":"電影","STREMIO_TV_NAV_SERIES":"劇集","STREMIO_TV_NAV_CHANNELS":"頻道","STREMIO_TV_NAV_TV":"電視直播","STREMIO_TV_NAV_SETTINGS":"設置","STREMIO_TV_NAV_ADDONS":"插件","STREMIO_TV_LOGIN_TITLE":"鏈接賬户","STREMIO_TV_LOGIN_EXPIRES_IN":"過期日期到","STREMIO_TV_LOGIN_STEP_ONE":"掃描上方的二維碼或轉到","STREMIO_TV_LOGIN_STEP_TWO":"登錄您的Stremio帳户","STREMIO_TV_LOGIN_NEW_LINK":"請求新鏈接","STREMIO_TV_LOGIN_LINK_REFRESHED":"登錄代碼已刷新","STREMIO_TV_SEARCH_PLACEHOLDER":"輸入一些東西","STREMIO_TV_SEARCH_NO_ADDONS":"沒有為目錄請求插件!","STREMIO_TV_SEARCH_BUTTON":"搜索","STREMIO_TV_SEARCH_KEY_DEL":"刪除","STREMIO_TV_SEARCH_KEY_SPACE":"空格","STREMIO_TV_SEARCH_KEY_CLEAR":"清除","STREMIO_TV_SEARCH_HISTORY_TITLE":"搜索歷史","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"您可以搜索標題、演員、頻道...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"清除搜索歷史","STREMIO_TV_FILTERS_DESCRIPTION":"從以下過濾器中選擇一個","STREMIO_TV_STREAMING_SERVER_OFFLINE":"流媒體服務器離線,檢查服務器設置。","FILTERS":"過濾器","SETTINGS":"設置","ACCOUNT":"賬户","LOGOUT":"註銷","THEMES":"主題","PLAYBACK":"播放","PLAYBACK_SPEED":"播放速度","AUDIO_TRACKS":"音軌","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"視頻","SERVER":"服務器","LINKS":"鏈接","ABOUT":"關於","INTERFACE":"界面","ANIMATIONS":"動畫","STATUS":"狀態","LANGUAGE":"語言","SIZE":"大小","DELAY":"延遲","BOLD":"粗體","OPACITY":"Opacity","TEXT_COLOR":"文本顏色","OUTLINE_COLOR":"輪廓顏色","BACKGROUND_COLOR":"背景顏色","BACKGROUND_BLUR":"背景模糊","SEEK_TIME_DURATION":"尋找持續時間","AUTO_PLAY":"自動播放下一集","PLAY_NOW":"現在播放","MARK_AS_WATCHED":"標記為已觀看","MARK_AS_UNWATCHED":"標記為未觀看","REWIND_TO_BEGINNING":"倒回開始","CONTINUE_WATCHING":"繼續觀看","ALL":"全部","SECONDS":"秒","ON":"開","OFF":"關","RELOAD":"重新加載","EDIT_URL":"編輯URL","NONE":"無","EMBEDDED":"內嵌","REMOTE_SWITCH_DEVICES":"開關設備","REMOTE_VIDEOS":"視頻","REMOTE_ADJUST_TIMING":"調整時間","REMOTE_ADJUST_SIZE":"調整大小","REMOTE_COULD_NOT_BE_LOADED":"無法加載Web Remote","REMOTE_RETRY":"重試","TORRENT_PROFILE_DEFAULT":"默認","TORRENT_PROFILE_SOFT":"慢","TORRENT_PROFILE_FAST":"快","TORRENT_PROFILE_ULTRA_FAST":"超快","FAQ_001_H1":"什麼是Stremio?","FAQ_001_P1":"Stremio是專為視頻娛樂而設計的多媒體中心軟件,易於使用。Stremio允許您管理和觀看自己的電影,劇集,頻道和實況電視收藏。","FAQ_001_P2":"Stremio從本地磁盤和插件系統中收集顯示給您的內容。","FAQ_001_P3":"它還會在您感興趣的新劇集/視頻/電影播出時通知您,併為您提供電影推薦。","FAQ_02_H1":"Stremio與Kodi和Plex相比如何?","FAQ_02_P1":"我們受到這兩種軟件的啓發。但是我們有不同的目標——Stremio專門針對娛樂視頻,並通過易於使用成為其主流解決方案。","FAQ_02_P2":"Stremio將永遠不會像Kodi和Plex那樣具有可定製性和豐富的功能,但它更易於使用。只需${1}就可以獲取它,並查看${2}:)","FAQ_03_H1":"Stremio與Netflix相比如何?","FAQ_03_P1":"同樣,Netflix是我們的靈感之一。我們努力實現Netflix的用户體驗,再加上許多附加的好處。但最重要的是,我們讓您可以自由管理自己的庫,並使用我們的插件系統添加新的內容源。","FAQ_03_P2":"這使得Stremio可以無限擴展,因此當您使用Stremio時,您永遠不會侷限於Netflix決定許可的內容。例如,您可以通過Stremio觀看${1}中的內容電影電視${2}, ${3} Twitch.tv${4},${5}YouTube${6},${7}Vodo${8}甚至${9}Netflix${10}本身!","FAQ_04_H1":"Stremio與Flipboard相比如何?","FAQ_04_P1":"我們不常聽到這個問題,除非與初創企業的人交談:)","FAQ_04_P2":"Stremio是通過設計一個內容聚合器來實現的,它本質上就是視頻的Flipboard。這一點在我們的首頁部分非常明顯,它為您提供目錄和新的插曲/新的視頻通知,讓您瞭解您所關注的內容,就像Flipboard一樣。","FAQ_05_H1":"Stremio與Popcorn Time相比如何?","FAQ_05_P1":"Stremio和Popcorn Time在用户界面上很相似,因為沒有很多方法可以正確製作視頻娛樂目錄:)","FAQ_05_P2":"Popcorn Time主要集中在特定來源的流媒體上,但Stremio是不受限制的,只是一個內容聚合器,它沒有鎖定到特定的內容源。","FAQ_05_P3":"此外,我們默認不提供任何Torrent插件,因此Stremio不提供官方功能的Popcorn Time用例。","FAQ_05_P4":"另一個顯著的區別是Popcorn Time是完全開源的,而Stremio是${1}部分開源的${2}。","FAQ_06_H1":"是否要添加此電影/系列?","FAQ_06_P1":"不,對不起 :(","FAQ_06_P2":"正如大多數其他問題中提到的,Stremio本身不提供任何內容,所有內容都是通過插件系統添加的。如果您有內容請求,您可以使用播放器中的“報告”按鈕,它將向您當前使用的插件的作者發送電子郵件。","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"能否為X創建插件?","FAQ_08_P1":"完全有可能。","FAQ_08_P2":"如果您有一個插件的想法,請在${1}office@stremio.com${2}給我們留言,但請確保您的插件想法不會侵犯任何版權或使用條款。","FAQ_08_P3":"目前,我們路線圖上的下一件事是FandangoNOW,Filmon.tv video on demand和Crunchyroll的插件。","FAQ_09_H1":"Stremio是否使用BitTorrent?","FAQ_09_P1":"是的,Stremio支持BitTorrent作為流媒體協議。您可以將其與Torrent插件一起使用,也可以將.Torrent文件拖放到Stremio中,或者將磁鐵鏈接粘貼到搜索欄中。","FAQ_09_P2":"請注意,使用BitTorrent的唯一官方插件是${1}Vodo${2},它提供獨立內容,所有內容都允許與BitTorrent一起分發。","FAQ_09_P3":"我們不支持使用任何可能導致版權侵權的第三方插件。","FAQ_10_H1":"我可以在Stremio中通過官方插件觀看什麼節目?","FAQ_10_P1":"默認情況下,您可以在Stremio與它的嵌入式播放器觀看Filmon.tv,YouTube和Vodo的內容。另外,我們還有一個Twitch.tv插件,以及其他一些插件。","FAQ_10_P2":"此組合提供以下選項:","FAQ_10_L1":"Filmon.tv上的熱門電視頻道,例如E4、BBC、Bollyworld TV","FAQ_10_L2":"YouTube上的所有內容,例如BBC News、Top Gear、Vevo、PewDiePie","FAQ_10_L3":"Vodo上的獨立電影","FAQ_10_L4":"Twitch.tv上的在線遊戲廣播","FAQ_10_P3":"此外,Guidebox和Netflix插件提供了許多內容源,它們不完全在Stremio中播放,而是重定向到給定的服務。例如,Guidebox插件將為您提供可在美國免費播放的精選電影,這些電影來自TubiTV和Crackle等服務。","FAQ_11_H1":"Stremio無法安裝,我該怎麼辦?","FAQ_11_P1":"如果您在Windows上,請嘗試${1}此替代安裝程序${2}。","FAQ_11_P2":"如果您使用的是Mac OS X,請注意,我們不支持任何比OS X Mavericks(10.9)更舊的版本。","FAQ_11_P3":"如果您使用的是Linux,請注意,我們目前只支持64位(x64)Linux。","FAQ_11_P4":"如果您仍然無法解決您的問題,請寫信給我們的${1}Facebook羣組${2}。","FAQ_12_H1":"為什麼我的殺毒軟件會報毒?Stremio安全嗎?","FAQ_12_P1":"我們向您保證Stremio是${1}100%安全的${2}。","FAQ_12_P2":"您的殺毒軟件報毒是因為我們的安裝程序中包含廣告,一些殺毒軟件將其識別為廣告軟件。","FAQ_12_P3":"如果您仍然不確定,可以嘗試我們的${1}替代安裝程序${2}。","FAQ_13_H1":"如何製作插件?","FAQ_13_P1":"對於初學者,我們建議您查看GitHub上的${1}插件系統模塊${2}。","FAQ_13_P2":"之後,您可以按照${1}Hello World教程${2}進行操作。","FAQ_13_P3":"如果您沒有任何編程技能,請在${1}Reddit社區${2}上發佈您的想法,並在${3}office@stremio.com${4}上與我們聯繫您的插件想法。","FAQ_14_H1":"插件是如何發佈的?","FAQ_14_P1":"當您創建一個插件和主機,並在清單中放置一個指向工作插件地址的<b>終端節點</b>字段時,該插件將自動發佈到我們的${1}插件目錄${2}。","FAQ_14_P2":"發生這種情況是因為Stremio插件模塊的服務器部分會自動調用我們的API來聲明插件。當我們的API驗證您的<b>終端節點</b>為有效的插件時,它將開始顯示在目錄中。","FAQ_15_H1":"我可以在瀏覽器中運行Stremio嗎?","FAQ_15_P1":"目前還沒有,但即將到來!","FAQ_15_P2":"如果您想看到Alpha版本,可以在這裏看到:${1}alpha4.strem.io${2}. 請記住,此Alpha版本上已禁用流式處理。我們支持Chrome、Firefox、Opera和Edge","FAQ_16_H1":"電視投屏不起作用/字幕不起作用","FAQ_16_P1":"電視投屏使用DLNA技術,這在不同的電視品牌和型號之間非常不一致。由於這個原因,我們沒有能力在每種情況下都測試它,所以它還遠遠不夠完美。儘管如此,我們仍在不斷改進,但我們無法為您提供DLNA能夠在您的電視上開始正常工作的預計時間。","FAQ_16_P2":"如果您在“投屏”菜單中看不到您的電視,請嘗試禁用網絡連接並重新啓用它(在Windows上,右鍵單擊網絡並使用“啓用/禁用”),以及重新啓動路由器、電視和PC。","FAQ_16_P3":"如果您仍然遇到問題,您可以通過將您的電視品牌和型號信息發送到${1}來幫助我們”office@stremio.com${2}。","FAQ_16_P4":"同時,我們推薦Chromecast,我們非常支持Chromecast,或者直接用HDMI線將電視與PC連接。","FAQ_17_H1":"Stremio卡死和/或崩潰,我能做什麼?","FAQ_17_P1":"首先,如果您使用的是帶有AVG殺毒軟件的Windows 7,這種組合會產生問題。問題出在AVG本身,我們這邊沒有合理的辦法解決。不幸的是,去除或禁用殺毒軟件將不起作用。唯一的解決辦法是用別的東西代替AVG","FAQ_17_P2":"如果不是這個問題,但您仍在使用Windows,請更新到最新的service pack並更新/重新安裝您的GPU驅動程序,然後重試。","FAQ_17_P3":"如果您的問題仍未解決,或者您使用的是Mac或Linux,請寫信給我們,在${1}我們的Facebook羣組${2}報告問題的確切細節。","FAQ_18_H1":"如何製作插件?","FAQ_18_P1":"對於初學者,我們建議您查看GitHub上的${1}插件系統模塊${2}。","FAQ_18_P2":"之後,您可以按照${1}Hello World教程${2}進行操作。","FAQ_18_P3":"如果您沒有任何編程技能,請在${1}Reddit社區${2}上發佈您的想法,並在${3}上與我們聯繫您的插件想法。”office@stremio.com${4}。","FAQ_19_H1":"為什麼Stremio佔用磁盤空間?","FAQ_19_P1":"Stremio有一個<b>本地緩存</b>來臨時保存您流式傳輸的視頻文件。","FAQ_19_P2":"這有兩個好處:第一,它允許Stremio預先緩衝視頻,以確保流媒體更流暢。其次,它將視頻保存在本地緩存中,以便您可以繼續離線觀看。","FAQ_19_P3":"Stremio保留了多少取決於“設置”面板中的<b>緩存設置。Stremio可能會在您的磁盤上保留到設置的數量(例如2GB),除非當前流式傳輸的視頻大於該數量,在這種情況下,必須分配足夠的存儲來保留它,直到您結束流式傳輸。","FAQ_20_H1":"緩存文件夾在哪裏?","FAQ_20_P1":"在Windows上,Stremio緩存位於您在設置中選擇的驅動器中(例如\\"E:\\\\stremio-cache\\")","FAQ_20_P2":"在MacOS上,它位於\\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"在Linux上,它位於\\"~/.stremio/stremio-cache\\"或\\"~/stremio-cache\\"","FAQ_21_H1":"我得到\\"流媒體服務器未找到\\"錯誤,我能做什麼?","FAQ_21_P1":"如果出現此錯誤,則表示以下幾點之一:","FAQ_21_P2":"1)您正試圖通過我們的${1}web版本${2}使用一個由YouTube/BitTorrent源代碼支持的插件。在這種情況下,您應該從${3}我們的網站${4}安裝我們的桌面版本","FAQ_21_P3":"2)Stremio安裝有問題。在這種情況下,請嘗試從${1}網站${2}重新安裝我們的最新桌面版本。如果這沒有幫助,請嘗試禁用殺毒軟件和防火牆,重新啓動電腦,然後重試。如果這依然不起作用,請寫信給我們的${3}Facebook羣組${4}","FAQ_22_H1":"我無法在iOS上看到/使用大多數插件","FAQ_22_P1":"由於Apple App Store條款和條件中的限制,我們限制iOS應用程序只能使用一組特定的插件。","FAQ_22_P2":"不過,請放心,將來會有更多的iOS插件,我們還可能添加一個集成,通過將iOS應用程序連接到Stremio流媒體服務器,您將可以使用所有Stremio插件。"}')},68097:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"電影","TYPE_series":"劇集","TYPE_tv":"電影片道","TYPE_channel":"頻道","TYPE_other":"其他","TYPE_movie_PL":"電影","TYPE_series_PL":"劇集","TYPE_tv_PL":"電影片道","TYPE_channel_PL":"頻道","TYPE_other_PL":"其他","TYPE_ALL":"全部","TYPE":"型別","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"影片","BACK":"返回","MORE":"更多","DONE":"完成","COPY":"複製","SUCCESS":"成功","ERROR":"錯誤","SETTINGS_CASTING_MODE_PICKER":"投屏模式","CASTING_MODE_HLSV2":"預設","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"不轉碼","Discover":"發現","Board":"首頁","Library":"庫","My Library":"我的庫","Calendar":"日曆","NOTIFICATION_ONLINE":"您當前處於線上狀態","NOTIFICATION_OFFLINE":"您當前處於離線狀態","INTERNET_CONNECTION":"網路連線","STORAGE_FULL_TITLE":"警告:儲存空間已滿!","STORAGE_FULL_TEXT":"Stremio將無法儲存您的設定、首選項或登入資訊,考慮重新啟動或重新安裝Stremio。","SEARCH":"搜尋","SEARCH_NO_RESULTS":"未找到結果","SEARCH_EXPLANATION_CONTENT":"搜尋電影、劇集、YouTube和電影片道","SEARCH_EXPLANATION_PEOPLE":"搜尋演員、導演和編劇","SEARCH_PASTE_LINKS":"貼上HTTP和Magnet連結","SEARCH_OR_PASTE_LINK":"搜尋或貼上連結","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"新增到庫中","REMOVE_FROM_LIB":"從庫中刪除","ADDED_TO_LIB":"新增到庫中","REMOVED_FROM_LIB":"從庫中刪除","TRAILER":"預告片","WATCH_TRAILER":"觀看預告片","WATCH_NOW":"立即觀看","SHOW":"檢視","SHOW_MOVIE":"檢視電影","WATCH_RANDOM":"隨機觀看","IMDB_RATING":"IMDb評分","YEAR":"年份","DIRECTOR":"導演","WRITER":"編劇","LEAD_ACTORS":"主演","CAST":"全部演員","CREW":"全部工作人員","SHOW_MORE_CAST":"顯示更多 »","AIRED":"播出時間","SEASONS":"季","GENRE":"型別","GENRE_ALL":"所有流派","CATALOG":"目錄","SUMMARY":"簡介","SHOW_MORE":"顯示更多","SIMILAR":"相似","UPCOMING":"即將上映","ENDED":"已完結","DURATION":"時長","FEATURED":"功能","METADATA":"後設資料","CATEGORY":"類別","LINKS_GENRES":"流派","LINKS_CAST":"演員","LINKS_DIRECTORS":"導演","SEARCH_VIDEOS":"搜尋影片","SEARCH_PLACEHOLDER":"搜尋或貼上URL","ADDON":"外掛","ADDONS":"外掛","OFFICIAL":"官方","ADDONS_OFFICIAL":"官方Stremio外掛","ADDONS_POPULAR":"在您所在的地區很受歡迎","ADDON_FREE":"免費","ADDON_PEERED":"連線","ADDON_SUBSCRIPTION":"訂閱","ADDON_STREAM_GEORESTRICTED":"在您所在的地區不提供","ADDON_STREAM_OFFLINECACHE":"離線快取","ADDON_STREAM_LOCALFILE":"本地檔案","SHARE_ADDON":"分享外掛","AVAILABLE_STREAMS":"可用流媒體","NO_STREAM":"未找到流媒體","ALL_ADDONS":"全部","INSTALL_MORE_ADDONS":"要獲取更多流媒體,請安裝更多外掛","STREAM_NOT_SUPPORTED":"此平臺不支援所選流媒體。","ADDON_CATALOGUE":"顯示所有外掛 »","ADDON_CATALOGUE_MORE":"安裝外掛","REPO_ADDED":"已新增儲存庫","ADDON_REPO_EXIST_ERR":"此外掛集合已存在","ADDON_REPO_ERR":"新增集合時出錯","ADDON_ADD_ERR":"新增外掛時出錯","ERR_ADDON_PROTECTED":"無法解除安裝外掛,它受到保護","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"出了一些問題——身份驗證可能失敗","ERR_NOT_COLLECTION_URL":"不是集合URL","ERR_NOT_ADDON_URL":"不是有效的外掛URL","ERR_DETECTFROMURL":"再此URL中找不到外掛/集合","ADDON_DUPLICATE_WARNING":"警告:重複的外掛","ADDON_COLLECTION_SET_FAILED":"將已安裝的外掛同步到您的賬戶失敗","SETTINGS_DATA_EXPORT":"匯出使用者資料","ADDON_PULL_FAILED":"從您的帳戶同步已安裝的外掛失敗","REFRESH_ON_CLICK":"點選重試","STILL_IN_THEATER":"電影還在影院上映","WATCH_IN_CINEMA":"請到您本地的影院觀看","IN_THEATER":"在影院上映","GET_TICKETS":"購票","UPCOMING_EPISODE":"下一集","UPCOMING_EPISODE_MESSAGE":"這一集即將播出","MISSING_DATE_EPISODE":"缺失的一集日期","MISSING_DATE_EPISODE_MESSAGE":"這一集可能還沒有播出","CHANNEL_NOT_SCRAPED":"這個頻道還沒有被削刮,請過幾分鐘再來。","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"將其新增到庫中,以便在可用時收到通知。","GET_NOTIFIED_WHEN_AVAILABLE":"一旦可用,您將會收到通知。","WARNING_STREAMING_SERVER":"警告:找不到本地流媒體伺服器,來自本地檔案、YouTube、和BitTorrent的流媒體將不可用。","WARNING_STREAMING_SERVER_DISMISS":"忽略","WARNING_STREAMING_SERVER_LATER":"推遲","DECODER_WARNING":"警告:您的硬體可能不支援此影片,請記住,播放可能會很慢。","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"糟糕,播放器錯誤","PLAYER_ERROR_LOOKSLIKE":"看起來似乎","PLAYER_ORIENTATION":"播放器方向","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"鎖定","PLAYER_ORIENTATION_SENSOR_SHORT":"感測器","PLAYER_ORIENTATION_LANDSCAPE":"播放器方向鎖定橫向","PLAYER_ORIENTATION_SENSOR":"播放器方向自動(感測器)","PLAYER_PLAYBACK_SPEED":"播放速度","PLAYER_PLAYBACK_ERROR":"播放錯誤,請重試","PLAYER_PLAYBACK_ERROR_UNKNOWN":"未知錯誤","PLAYER_PLAYBACK_ERROR_DEFAULT":"抱歉,{{productName}}無法播放此影片。","PLAYER_SUBTITLES_LANGUAGES":"字幕語言","PLAYER_SUBTITLES_VARIANTS":"字幕變形","PLAYER_SUBTITLES_SETTINGS":"字幕設定","PLAYER_SUBTITLES_DISABLED":"字幕已關閉","PLAYER_SUBTITLES_VERTICAL_POSIITON":"垂直位置","PLAYER_SUBTITLES_LOADED":"已載入字幕","PLAYER_SUBTITLES_LOADED_EMBEDDED":"已載入嵌入字幕","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"已載入外部字幕","PLAYER_SUBTITLES_LOADED_ORIGIN":"已載入{{origin}}字幕","PLAYER_PLAY":"播放","PLAYER_PAUSE":"暫停","PLAYER_NEXT_VIDEO":"下一個影片","PLAYER_MUTE":"靜音","PLAYER_UNMUTE":"取消靜音","PLAYER_OPEN_IN_EXTERNAL":"在外部播放器中開啟","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"在{{device}}上播放","PLAYER_LIVE":"直播","PLAYER_NEXT_VIDEO_TITLE":"下個影片","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"關閉","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"現在觀看","PLAYER_COPY_STREAM_SUCCESS":"流媒體連結已複製到您的剪貼簿","PLAYER_COPY_STREAM_ERROR":"複製流媒體連結失敗","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","STREAMING_FROM":"流媒體","CASTING_TO":"投屏到","NETWORK_STATUS":"網路狀態","STREAM_SPEED":"串流速度:","STREAM_BUFFERED":"已緩衝:","PEERS_INFO":"節點資訊","PEERS_ACTIVE":"活躍:","PEERS_CONNECTED":"已連線:","PEERS_WAITING":"等待:","TRANSCODING_WARNING":"警告:轉碼影片。","STREAM_LOADING":"載入...","PLAYING_LOCAL":"從本地檔案播放","PLAYING_CACHE":"從快取播放","WRONG_SUBS":"字幕錯誤?","ERR_SUBS_LOADING_TITLE":"載入字幕時出錯","ERR_SUBS_LOADING":"字幕載入失敗:這可能是您正在使用的外掛或網路連線的問題","WARN_FOLLOWING_SUB_ADDONS_FAILED":"以下字幕外掛失敗","ERR_CASTING_UPDATE_TITLE":"無法更新投屏裝置資訊:流媒體伺服器可能離線","CHOOSE_DEVICE":"選擇在哪個裝置上播放","NO_CAST_DEVICES":"無可用投屏裝置。","NO_SETTINGS":"無可用設定。","PHONE_TABLET":"手機/平板電腦","SUBTITLES":"字幕","SUBTITLES_CHANGE":"調整字幕","SUBTITLES_CHANGE_NONE":"抱歉,這種語言沒有其他字幕。","SUBTITLES_CHANGE_ACIVE":"當前字幕&#35;{{subtitlesDialog.activeIdx + 1}}被啟用,點選\\"繼續\\"啟用字幕&#35;{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"或者,","SUBTITLES_ADJUST_DELAY":"調整字幕延遲:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"或在播放時使用<span>G</span> / <span>H</span>鍵進行調整。","SUBTITLES_ADJUST_DELAY_TIP":"提示:您可以在播放時使用<span>G</span> / <span>H</span>鍵進行調整。","SUBTITLES_DELAY":"字幕延遲:","SUBTITLES_LOADING":"載入字幕...","SUBTITLES_UNAVAILABLE":"沒有可用的外部字幕","SUBTITLES_DISABLED":"關閉","EXTERNAL_PLAYER_DISABLED":"關閉","EXTERNAL_PLAYER_ALLOW_CHOOSING":"允許選擇","EXTERNAL_PLAYER_HINT":"提示:有一個設定允許總是在外部播放器中開啟","DONT_SHOW_AGAIN":"不再顯示","SERVICE_INSTALL":"安裝","AUDIO":"音訊","DEFAULT_LANGUAGE":"預設語言","DEFAULT_SECONDARY_LANGUAGE":"預設第二語言","SEASON":"季","EPISODE":"集","EPISODE_ABBREVIATION":"情節提要","SPECIAL":"特別篇","SORT":"排序","SORT_BY":"排序按照","FILTER":"篩選","SORT_TRENDING":"熱門","SORT_RECENT":"最近","SORT_ALPHABET":"首字母","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"評分","SORT_WATCHED":"已觀看","SORT_YEAR":"年份","SELECT_TYPE":"選擇型別","SELECT_SORT":"選擇排序","SELECT_CATALOG":"選擇目錄","SELECT_GENRE":"選擇流派","SORT_LASTWATCHED":"按上次觀看","SORT_NAME":"按名稱","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"按觀看次數","SORT_NOTWATCHED":"not watched","New for You":"新的","New Episodes":"新劇集","New Videos":"新影片","Recommendations":"推薦","LIBRARY_RESUME":"簡介","LIBRARY_PLAY":"播放","LIBRARY_DETAILS":"詳情","LIBRARY_RESUME_DISMISS":"清除","LIBRARY_CLEAR_PROGRESS":"清除進度","LIBRARY_REMOVE":"移除","LIBRARY_NOT_LOGGED_IN":"庫僅適用於已登入的使用者","CALENDAR_NOT_LOGGED_IN":"日曆僅適用於已登入的使用者","NOT_LOGGED_IN_CLOUD":"隨時隨地訪問您喜愛的電影和劇集","NOT_LOGGED_IN_RECOMMENDATIONS":"根據您的觀看歷史量身定製的建議","NOT_LOGGED_IN_NOTIFICATIONS":"再也不要錯過任何一集","NOT_LOGGED_IN_CALENDAR":"定製個人觀看日曆","DISCOVER_FEATURED":"功能","DISCOVER_TOP":"熱門","DISCOVER_OSCAR":"奧斯卡獲獎作品","DISCOVER_WARNING_TITLE":"糟糕!","DISCOVER_EMPTY_CATALOG":"此外掛返回空內容。","DISCOVER_ADULT_WARNING":"此內容僅對成人可見,您是否已滿18週歲?","DISCOVER_NOADDON_WARNING":"警告:此型別沒有可用的Stremio外掛,顯示已儲存的專案,此處不會更新任何內容。","DISCOVER_LOAD_ERR":"內容未載入,發生錯誤。","DISCOVER_ADDON_UNINSTALLED":"此內容不再可用,您可能已解除安裝外掛。","UNINSTALL_THIS_ADDON":"解除安裝此外掛","ERR_ADDON_NOT_INSTALLED":"未安裝此外掛,立即安裝?","DETAIL_RECEIVE_NOTIF_SERIES":"接受新劇集的通知","DETAIL_RECEIVE_NOTIF_VIDEOS":"接受新影片的通知","SIDEBAR_SHOW_STREAMS":"顯示流媒體","RELAUNCH":"立即重新啟動!","UPGRADE":"新版本可用!升級至Stremio的最新版本","RELOAD_UI":"重新載入使用者介面","MANUAL_UPDATE_TITLE":"更新您的Stremio版本","MANUAL_UPDATE_LINE1":"您執行的是一個過時的Stremio版本,這是非常不推薦的。","MANUAL_UPDATE_LINE2":"請儘快更新。","BUTTON_UPDATE_LATTER":"不是現在","BUTTON_UPDATE_NOW":"更新","ANONYMOUS_USER":"匿名使用者","DONT_HAVE_ACC":"還沒有賬戶?","HAVE_ACC":"已經有賬戶了?","PASSWORD":"密碼","PASSWORD_CONFIRM":"確認密碼","EMAIL":"電子郵箱","FB_LOGIN":"使用Facebook登入","FB_NOTHINGSHARED":"未經您的允許,任何內容都不會被共享","FB_NOPOST":"我們不會替您傳送任何東西","OR":"或","I_ACCEPT":"我接受","I_ACCEPT_BY_CLICKING":"透過點選上面的按鈕,我宣告我接受","TOS":"條款和條件","MUST_ACCEPT_TERMS":"您必須接受條款","PASSWORDS_NOMATCH":"密碼不匹配","SIGN_UP":"註冊","SIGN_UP_EMAIL":"使用電子郵箱註冊","CLICK_TO_SIGN_UP":"點選此處註冊。","LOG_IN":"登入","LOG_OUT":"登出","EXIT_FULLSCREEN":"退出全屏模式","ENTER_FULLSCREEN":"進入全屏模式","PLAY_URL_MAGNET_LINK":"播放URL/Magnet連結","HELP_FEEDBACK":"幫助和反饋","TERMS_OF_SERVICE":"服務條款","PRIVACY_POLICY":"隱私政策","ABOUT_STREMIO":"關於Stremio","USER_PANEL":"使用者面板","LOGIN_LABEL":"Login","GUEST_LOGIN":"訪客登入","GUEST_LOGIN_NOTICE":"不建議訪客登入,使用常規登入允許Stremio同步您的庫,接受喜愛的劇集/頻道的通知。您確定要繼續嗎?","GUEST_LOGIN_NOTICE_2":"不建議訪客登入,您將沒有同步的庫和首頁通知,這是Stremio的重要功能。您確定要繼續嗎?","CLICK_HERE":"點選此處","WRONG_PASSWORD":"錯誤的電子郵箱或密碼,如果您忘了密碼,","SET_A_PASS":"設定密碼","RESET_PASSWORD":"重置密碼","FORGOT_PASSWORD":"忘記密碼?","EMAIL_USED_WITH_FB":"此電子郵箱與Facebook登陸一起使用。","INVALID_EMAIL":"請輸入有效的電子郵箱地址","INVALID_PASSWORD":"請輸入有效的密碼","CONN_ERR":"連線錯誤,請稍後再試。\\n\\n如果問題仍然存在,請禁用防火牆/防毒軟體(特別是Bitdefender)。","IMPORT_FROM_GUEST":"從訪客賬戶匯入庫","RECEIVE_UPDATES_EMAIL":"從Stremio接受電子郵件更新","LOGIN_FAILED":"登陸失敗。","SIGNUP_FAILED":"註冊失敗。","SEARCH_FAILED":"搜尋失敗","EMAIL_USED":"此電子郵箱已被使用。","WAITING_FB_LOGIN":"使用Facebook登入...","EXTERNAL_PLAYER_TITLE":"在外部播放器中播放","EXTERNAL_REMEMBER_PLAYER":"您想記住您的選擇嗎","EXTERNAL_ALWAYS_PLAY":"是","EXTERNAL_ONLY_ONCE":"不是","BEST_FIT":"最佳","FIT_SCREEN":"適合螢幕","FILL":"填充","16:9":"16:9","4:3":"4:3","Original":"原始","INTRO_TASTE":"告訴我們您喜歡什麼","INTRO_TASTE_LONG":"告訴我們您想看什麼","INTRO_TASTE_PICK":"選擇{{interestsRemaining}}興趣","INTRO_TASTE_PICK_MORE":"選擇{{interestsRemaining}}更多興趣","INTRO_TASTE_HELP_US":"幫助我們瞭解更多有關您的資訊。","INTRO_TASTE_CHOOSE_THESE":"選擇其中一些:","INTRO_TASTE_CHOOSE_MIN":"至少選3個類別","INTRO_TASTE_CHOOSE_MIN_ERR":"您必須至少選擇3個類別!","INTRO_TASTE_LIFESTYLE":"生活方式","INTRO_TASTE_SPORTS":"體育","INTRO_TASTE_FOOD_HEALTH":"飲食與健康","INTRO_TASTE_BEAUTY_FASHION":"美麗與時尚","INTRO_TASTE_NEWS":"新聞","INTRO_TASTE_GAMING":"遊戲","INTRO_TASTE_SCIENCE_EDU":"科學與教育","INTRO_TASTE_MUSIC":"音樂","INTRO_TASTE_TRAVEL":"旅行","INTRO_TASTE_LATE_NIGHT":"深夜秀","INTRO_TASTE_REALITY":"真人","INTRO_TASTE_COMEDY":"喜劇","INTRO_TASTE_DIY":"DIY","INTRO_TASTE_TECH":"技術","INTRO_TASTE_CINEMA":"影院","ADDON_NOT_SUPPORTED":"此平臺不支援選定的外掛。","ADDON_DISCLAIMER":"使用第三方外掛將始終受到您的責任和您所在的司法管轄區的法律的約束。","ADDON_ACTIVATE":"啟用此外掛?","ADDON_REPO_ADD":"外掛集合URL","ADDON_ADD":"新增","INSTALL_ADDON":"Install addon","ADD_ADDON":"新增外掛","ADD_ADDON_DESCRIPTION":"您可以透過外部連結新增外掛,該連結將顯示在“已安裝的外掛”下。","PASTE_ADDON_URL":"貼上外掛URL","WHATS_NEW":"最新訊息","BUTTON_CONTINUE":"繼續","BUTTON_ACTIVATE":"啟用","BUTTON_ACTIVATED":"已啟用","BUTTON_CANCEL":"取消","BUTTON_SUBMIT":"提交","BUTTON_DISMISS_ALL":"清除全部","BUTTON_VIEW_ALL":"檢視全部","BUTTON_SEE_ALL":"檢視全部","BUTTON_COLOR_TRANSPARENT":"透明度","OPEN_IN_BROWSER":"在瀏覽器中開啟","LIB_EMPTY":"您的庫看起來是空的,看看它有多有用:)","HOW_START":"您可以從這裡開始:","LIB_EMPTY_CAL":"您的日曆顯示您庫中的劇集。","HOW_START_CAL":"下面是如何新增劇集:","LIB_EMPTY_BOARD":"主頁顯示與您的庫相關的通知&amp;推薦。","HOW_START_BOARD_WAIT":"請在您的庫中新增一些劇集或頻道給我們幾分鐘來處理:)","HOW_START_BOARD":"下面是如何向其中新增劇集&amp;電影:","IMPORT_FB":"從<span>Facebook</span>匯入您喜歡的東西","IMPORT_TRAKT":"從<span>Trakt</span>匯入媒體庫","IMPORT_DISCOVER":"從<span>發現</span>中找到有趣的東西","IMPORT_DISK":"匯入<span>本地磁碟</span>上的電影或節目","PLEASE_CREATE_ACC":"請<u>建立一個賬戶</u>以啟用庫同步&amp;主頁。","IMPORT_DISCOVER_SIGNUP":"註冊並從<span>發現</span>中找到有趣的東西","IMPORT_DISK_SIGNUP":"註冊並匯入<span>本地磁碟</span>上的電影或節目","LIB_EMPTY_CLOUD":"雲端庫","LIB_EMPTY_CLOUD_DESC":"在所有裝置上同步個人雲端庫","LIB_EMPTY_EARLY":"第一時間","LIB_EMPTY_EARLY_DESC":"接收新劇集的通知","LIB_EMPTY_PERSONAL":"個性化","LIB_EMPTY_PERSONAL_DESC":"獲取個性化推薦","LIB_EMPTY_CALENDAR_DESC":"安排您的個性化觀看日曆","LIB_EMPTY_ALL":"註冊以獲取所有這些:","LIB_EMPTY_BEST":"註冊以獲得最佳的Stremio","LIB_EMPTY_OTHER":"註冊以啟用日曆和其他炫酷功能","CALENDAR_ADDED":"Stremio日曆已新增到預設桌面日曆中。","CALENDAR_ADDED_MSG":"如果這不起作用,請手動將此URL新增到日曆應用程式中","TRAKT_EXPIRED":"Trakt驗證已過期,請轉到設定並重新驗證","TRAKT_REQUIRES_LOGIN":"Trakt錯誤","TRAKT_REQUIRES_LOGIN_MSG":"您需要登入","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","SETTINGS_LABEL":"設定","SETTINGS_NAV_GENERAL":"常規","SETTINGS_NAV_PLAYER":"播放器","SETTINGS_NAV_STREAMING":"流媒體","SETTINGS_NAV_SHORTCUTS":"快捷鍵","SETTINGS_SHORTCUT_RELOAD_APP":"重新載入應用程式","SETTINGS_SHORTCUT_OPEN_SETTINGS":"開啟設定","SETTINGS_SHORTCUT_SWITCH_TABS":"切換標籤","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"向前迴圈標籤","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"向後迴圈標籤","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"在選單之間導航","SETTINGS_SHORTCUT_GO_TO_SEARCH":"轉到搜尋","SETTINGS_SHORTCUT_EXIT_BACK":"退出/返回","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"切換播放速度選單","SETTINGS_SHORTCUT_MENU_VIDEOS":"切換影片選單","SETTINGS_SHORTCUT_MENU_SUBTITLES":"切換字幕選單","SETTINGS_SHORTCUT_MENU_INFO":"切換資訊選單","SETTINGS_SHORTCUT_FULLSCREEN":"切換全屏","SETTINGS_SHORTCUT_SHOW_CONTROLS":"顯示控制元件","SETTINGS_SHORTCUT_PLAY_PAUSE":"播放/暫停","SETTINGS_SHORTCUT_VOLUME_UP":"增大音量","SETTINGS_SHORTCUT_VOLUME_DOWN":"降低音量","SETTINGS_SHORTCUT_SEEK_NEXT":"尋找下一個","SETTINGS_SHORTCUT_SEEK_PREV":"尋找上一個","SETTINGS_SHORTCUT_SEEK_BACKWARD":"向後搜尋","SETTINGS_SHORTCUT_SEEK_FORWARD":"向前搜尋","SETTINGS_SHORTCUT_PLAY_NEXT":"播放下一個","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"增加字幕大小","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"減小字幕大小","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"增加字幕延遲","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"減少字幕延遲","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"切換側邊欄","SETTINGS_SHORTCUT_OR":"or","SETTINGS_SHORTCUT_TO":"to","SETTINGS_SHORTCUT_SPACE":"空格","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"已驗證","SETTINGS_FACEBOOK_IMPORT":"匯入","SETTINGS_CALENDAR_SUBSCRIBE":"訂閱","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"使用者介面語言","SETTINGS_LAUNCH_STARTUP":"開機時啟動","SETTINGS_VLC_DEFAULT":"使用VLC播放","SETTINGS_UI_LANGUAGE":"使用者介面語言","SETTINGS_UI_ZOOM":"使用者介面縮放","SETTINGS_FULLSCREEN_EXIT":"Esc鍵退出全屏","SETTINGS_GAMEPAD":"啟用遊戲手柄支援","SETTINGS_CLOSE_WINDOW":"關閉視窗時結束應用程式","SETTINGS_SUBTITLES_LANGUAGE":"預設字幕語言","SETTINGS_SUBTITLES_SIZE":"預設字幕大小","SETTINGS_SUBTITLES_BACKGROUND":"字幕背景","SETTINGS_SUBTITLES_COLOR":"字幕顏色","SETTINGS_SUBTITLES_COLOR_OUTLINE":"字幕輪廓顏色","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"字幕背景顏色","SETTINGS_SEEK_KEY":"方向鍵控制進度","SETTINGS_SEEK_KEY_SHIFT":"按住Shift鍵時方向鍵控制進度","SETTINGS_REWIND_FAST_FORWARD_DURATION":"回放和快進持續時間","SETTINGS_BINGE":"自動播放下一集","SETTINGS_NEXT_VIDEO":"顯示播放下一集的通知","SETTINGS_NEXT_VIDEO_TRIGGER":"顯示下一集的通知:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"下一個影片彈出持續時間","SETTINGS_PLAY_IN_BACKGROUND":"在後臺播放","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"在外部播放器中播放","SETTINGS_RESIZE":"播放前自動調整視窗大小","SETTINGS_OVERRIDE_SERVER":"覆蓋流媒體伺服器URL(高階)","SETTINGS_SERVER_URL":"流媒體伺服器URL:","SETTINGS_SERVER_AVAILABLE":"流媒體伺服器可用。","SETTINGS_SERVER_UNAVAILABLE":"流媒體伺服器不可用。","SETTINGS_SERVER_STATUS_ONLINE":"線上","SETTINGS_SERVER_STATUS_ERROR":"錯誤","SETTINGS_SERVER_CONFIGURE_TITLE":"配置流媒體伺服器url","SETTINGS_SERVER_CONFIGURE_INPUT":"輸入流媒體伺服器url","SETTINGS_SERVER_CACHE_SIZE":"快取大小","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent配置","SETTINGS_HTTPS_ENDPOINT":"流媒體HTTPS結點:","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"始終使用最新的測試版","SETTINGS_IMPORT_FB":"從Facebook匯入","SETTINGS_IMPORT_DISK":"從本地磁碟匯入","SETTINGS_IMPORT_TRAKT":"從Trakt匯入","SETTINGS_PAUSE_MINIMIZED":"最小化時暫停播放","SETTINGS_HWDEC":"硬體解碼加速","SETTINGS_BACKGROUND":"後臺播放","SETTINGS_SUBSCRIBE_CALENDAR":"訂閱到日曆","SETTINGS_REQ_EXPORT":"請求匯出資料","SETTINGS_ACC_DELETE":"請求刪除賬戶","SETTINGS_CHANGE_PASSWORD":"更改密碼","SETTINGS_TOS":"服務條款","SETTINGS_SUPPORT":"聯絡支援人員","SETTING_LANGUAGE":"語言","SETTINGS_TRAKT":"Trakt自動跟蹤","SETTINGS_TRAKT_LOGOUT":"從Trakt.tv登出","SETTINGS_TRAKT_LOGOUT_2":"從Trakt登出","SETTINGS_SCAN_FOR_REMOTE":"掃描二維碼開啟遙控器","SETTINGS_DESKTOP_NOTIFICATIONS":"桌面通知","SETTINGS_DATA_SAVER":"移動資料警告","SETTINGS_LANGUAGE_INTERFACE":"介面","SETTINGS_LANGUAGE_SUBS":"預設字幕","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"自動選擇音訊","SETTINGS_DEFAULT_AUDIO_TRACK":"預設音訊","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"賬戶","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"版本","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"在單獨視窗中啟動播放器(高階)","SETTINGS_PLAY_IN_EXTERNAL":"總是在外部播放器中開啟影片","SETTINGS_STORAGE_BUTTON":"清除本地儲存","SETTINGS_STORAGE_MODAL_TITLE":"您確定嗎?","SETTINGS_STORAGE_MODAL_MESSAGE":"這將清除本地儲存並使您登出","SETTINGS_HWDEC_PICKER":"選擇硬體加速解碼設定","SETTINGS_HW_AUTOMATIC":"自動","SETTINGS_HW_DISABLED":"關閉","SETTINGS_HW_ACCELERATED":"解碼加速","SETTINGS_HW_FULL":"全加速","SETTINGS_HW_LEGACY":"舊版","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"字幕","SETTINGS_SECTION_AUDIO":"音訊","SETTINGS_SECTION_CONTROLS":"控制元件","SETTINGS_SECTION_AUTO_PLAY":"自動播放","SETTINGS_SECTION_ADVANCED":"高階","SUBSPICKER_AUDIO":"音訊","SUBSPICKER_SUBTITLES":"外掛字幕","SUBSPICKER_BLACK_BACKGROUND":"使用黑色背景色","SUBSPICKER_VERTICAL_OFFSET":"垂直偏移量","SUBSPICKER_SIZE":"大小","SUBSPICKER_DELAY":"延遲","SUBSPICKER_EMBEDDED_SUBS":"內嵌字幕","MOBILE_PRIVACY_POLICY":"隱私政策","MOBILE_CRASH_REPORTING":"崩潰報告","MOBILE_ZOOM_TO_FILL":"縮放填充螢幕","MOBILE_PASSTHROUGH":"數字音訊輸出(直通)","MOBILE_RUN_LOW_BATTERY":"電池電量低時執行","MOBILE_RUN_FOREGROUND":"作為前臺服務執行","MOBILE_PERFORMANCE":"效能&穩定性","MOBILE_SERVER_ONLINE":"線上","MOBILE_SERVER_OFFLINE":"離線","MOBILE_QR_EXPIRES":"二維碼到期時間","MOBILE_LOG_INTO":"登陸到您的Stremio賬戶","MOBILE_SCAN_QR":"掃描上面的二維碼或轉到","MOBILE_LINK_ACCOUNT":"連結賬戶","MOBILE_SPEEDPICKER_CANCEL":"取消","MOBILE_SPEEDPICKER_LABEL":"選擇播放速度","MOBILE_EMPTY_LIBRARY":"您的庫為空","MOBILE_NO_ADDON_ACTIVE":"沒有活動的此型別Stremio外掛。","MOBILE_ORGANIZER_WARNING":"Stremio Organizer應用程式提供的功能有限,要獲得可播放流的列表和完整的Stremio體驗,請使用Stremio桌面客戶端。","MOBILE_ADDON_LOADING":"仍在載入","MOBILE_ADDONS_LOADING":"外掛仍在載入","MOBILE_ADDON":"外掛","MOBILE_CONFIGURE_ADDON":"配置外掛","MOBILE_CONFIGURE_ADDON_LABEL":"配置外掛","MOBILE_ORGANIZER_ADDONS_WARNING":"Stremio Organizer應用程式僅提供有限的外掛,要獲得完整的Stremio體驗,請使用Stremio桌面客戶端。","MOBILE_DISCONNECT":"斷開連線","MOBILE_LOOKING_FOR_DEVICES":"正在查詢裝置...","MOBILE_CAST_TO":"投屏到","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"刪除帳戶","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"由於法律義務,賬戶刪除不是即時的。在請求刪除您的帳戶後,您將不得不使用不同的電子郵件地址/臉書個人資料在未來建立一個新的Stremio帳戶。","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"確認帳戶刪除","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"您的帳戶是使用Facebook建立的。要刪除您的帳戶,請使用我們的使用者入口網站www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"請提供您的密碼以確認帳戶刪除。","MOBILE_DELETE_ACCOUNT_BUTTON":"刪除帳戶","NAVIGATION_ON":"開啟","NAVIGATION_OFF":"關閉","MARKETING_AGREE":"我同意接收Stremio的營銷通知","QUIT":"退出","CONNECTED":"已連線","AUTHENTICATE":"驗證","CACHING":"快取","SETTINGS_CACHING_DRIVE":"快取磁碟","ENABLE_LOCAL_FILES_ADDON":"啟用本地檔案外掛(需要重新啟動)","LOCAL_ADDON_NOT_ENABLED":"未啟用本地外掛,單擊此處轉到設定並啟用它","ENABLE_REMOTE_HTTPS_CONN":"啟用遠端HTTPS連線","TORRENT_PROFILE":"Torrent配置","DATA_CACHING":"資料快取","MAGNET_PARSING":"分析Magnet連結","January":"一月","February":"二月","March":"三月","April":"四月","May":"五月","June":"六月","July":"七月","August":"八月","September":"九月","October":"十月","November":"十一月","December":"十二月","Monday":"星期一","Tuesday":"星期二","Wednesday":"星期三","Thursday":"星期四","Friday":"星期五","Saturday":"星期六","Sunday":"星期天","Action":"動作","Comedy":"喜劇","War":"戰爭","Family":"家庭","Animation":"動畫","Adventure":"冒險","Fantasy":"幻想","Crime":"犯罪","Mystery":"神秘","Romance":"浪漫","Drama":"劇情","Horror":"恐怖","Thriller":"驚悚","Sci-Fi":"科幻","Music":"音樂","Biography":"傳記","Documentary":"紀錄","Sport":"運動","Musical":"音樂劇","Western":"西部","Film-Noir":"黑色電影","News":"新聞","History":"歷史","Game-Show":"遊戲節目","Reality-TV":"真人秀","Talk-Show":"脫口秀","Film & Entertainment":"電影與娛樂","Gaming":"遊戲","From TV":"電視","Lifestyle":"生活方式","Science & Education":"科學與教育","Cooking & Health":"烹飪與健康","Beauty & Fashion":"美麗與時尚","Sports":"體育","News & Politics":"新聞與政治","How-to & DIY":"DIY","Tech":"技術","Automotive":"汽車","Causes & Non-Profits":"事業與公益","Movies":"影視","Uk Live Tv":"英國直播電視臺","Fashion":"流行","Business News Radio":"商業新聞電臺","Business Tv":"商業電視","Cars & Auto":"汽車與自動化","Comedy Radio":"喜劇電臺","Lifestyle Radio":"生活方式電臺","News Tv":"新聞電視","Food And Wine":"食物與酒","Latino Tv":"拉丁語電視臺","Shopping Tv":"購物電視臺","Religion":"宗教","Kids":"兒童","Body & Soul":"身體與靈魂","Education":"教育","Indian Tv":"印度電視臺","Extreme Sports":"極限運動","Middle Eastern Tv":"中東電視臺","Celebrity Tv":"名人電視臺","Science Tv":"科學電視臺","Bikini babe":"比基尼寶貝","Outdoors":"戶外","German Tv":"德國電視臺","French Tv":"法國電視臺","Italian Tv":"義大利電視臺","Gamer Tv":"伽馬電視臺","Travel":"旅行","Asian Tv":"亞洲電視臺","Entertainment":"遊戲娛樂","News Radio":"新聞電臺","Music Radio":"音樂電臺","Language Learning":"語言學習","Science Radio":"科學電臺","Tech Radio":"科技電臺","Science & Technology Vod":"科技影片點播","new video":"新影片","new episode":"新一集","new movie":"新電影","recommended":"推薦","we recommend":"我們建議","offer of the day":"當日優惠","news":"新聞","music video":"音樂影片","CTX_SHOW_HOTKEYS":"顯示快捷鍵","CTX_DISMISS_NOTIF":"清除通知","CTX_DISMISS_ALL":"全部清除","CTX_SHARE":"分享","CTX_COPY_SHARE_LINK":"複製分享連結","CTX_COPY_MAGNET_LINK":"複製Magnet連結","CTX_COPY_STREAM_LINK":"複製流媒體連結","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"下載此影片","CTX_DOWNLOAD_SUBS":"下載字幕","CTX_VIEW_ON_YOUTUBE":"在YouTube上觀看","CTX_SHOW":"顯示","CTX_PLAY":"播放","CTX_PLAY_IN":"播放","CTX_PLAY_ON":"正在播放","CTX_WATCH_ON":"正在觀看","CTX_WATCH":"觀看","CTX_WATCHED":"已觀看","CTX_WATCH_BEGINNING":"從頭開始觀看","CTX_WATCH_MOBILE":"在移動裝置上觀看","CTX_REWIND":"回到開頭","CTX_MARK_WATCHED":"標記為已觀看","CTX_MARK_NON_WATCHED":"標記為未觀看","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"將其餘部分標記為已觀看","CTX_UNMARK_REST":"將其餘部分標記為未觀看","CTX_RECEIVE_NEW_NOTIF":"接受新通知","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"從快取中刪除","CTX_REMOVE_CACHE_EP":"從快取中刪除集","CTX_OPEN_CONTAINING":"開啟所在資料夾","CTX_REMOVE":"從庫中刪除","CTX_AVAILABLE_OFFLINE":"離線可用","CTX_PAUSED":"暫停","CTX_ALWAYS_ON_TOP":"置頂","CTX_FULLSCREEN":"全屏","CTX_WRONG_SUBS":"錯誤的字幕?","CTX_REPORT_ISSUES":"報告問題","CTX_COPY":"複製","CTX_PASTE":"貼上","CTX_CLEAR":"清除","CTX_CLEAR_RECENT_SEARCHES":"清除最近搜尋記錄","HELLO_THERE":"您好","HOPE_YOU_ENJOY":"我們希望您喜歡Stremio,也許它已經是您最喜歡的應用之一了!","WHO_ARE_WE":"我們是誰?我們是它背後的團隊。在過去三年裡的每天,我們兩個努力工作使這個產品越來越好。","SUPPORT_US":"如果您喜歡Stremio,如果Stremio對您來說很有價值,請傳播它!","SPREAD_THE_WORD":"現在與您的朋友分享傳播關於Stremio的資訊","MORE_PEOPLE":"使用Stremio的人越多,效果就越好!","SEND_A_LINK":"或傳送一個連結到我們的網站","TIP_LOCALFILES":"提示:您可以將本地影片檔案拖放到Stremio中","ADDON_MY":"我的外掛","ADDON_COMMUNITY":"社群外掛","ADDON_OFFICIAL":"官方外掛","ADDON_REPOS":"外掛集合","ADDON_SEARCH":"搜尋外掛","ADDON_INSTALL":"安裝","ADDON_CONFIGURE":"配置","ADDON_UNINSTALL":"解除安裝","ADDON_UPGRADE":"更新","ADDON_INSTALLED":"已安裝","ADDON_INSTALLED_MSG":"外掛已安裝!","ADDON_UPGRADED_MSG":"外掛已更新!","ADDON_UNKNOWN":"未知","ADDON_ERR":"外掛安裝錯誤!","ADDON_DISCONNECTED":"已斷開連線","ADDON_APP_MISSING":"未安裝此源的應用程式,您想現在安裝嗎?","ADDON_APP_INSTALL":"立即安裝","ADDON_PAGE":"外掛頁","ADDON_TOP_CONTENT":"最好從這個外掛","ADDON_PROVIDES":"這個外掛會給您:","ADDON_WATCH":"立即觀看#{types}!","ADDON_WATCH_FREE":"立即免費觀看#{types}!","ADDON_ADDON":"外掛","ADDON_SUPPORTED_TYPES":"支援的型別","ADDON_SUPPORTED_CATALOGS":"支援的目錄","ADDON_PROVIDES_DISCOVER":"發現中的更多#{types}","ADDON_PROVIDES_STREAMS":"觀看#{types}","ADDON_PROVIDES_STREAMS_FREE":"免費觀看#{types}","ADDON_PROVIDES_SUBTITLES":"#{types}的字幕","ADDON_CANTDETECT":"我們無法檢測到正在執行的Stremio,因此我們無法檢測您安裝了哪些外掛。","ERR_NO_META":"找不到有關於此的資訊","ERR_GETTING_META":"檢索有關於此的資訊時出錯","ERR_CANT_PARSE_MAGNET":"無法分析Magnet","ERR_NO_MAGNET_INFOHASH":"Magnet缺少有效的Hash","ERR_NO_FILE_PATH":"沒有檔案路徑無法傳送請求","ERR_NO_TORRENT":"沒有Torrent返回","ERR_NO_SUPPORTERD_FILES":"找不到支援的檔案","ERR_OPENING_FILES":"無法開啟外部檔案","ERR_INVALID_LINK":"無效連結","ERR_REGISTERED_ONLY":"此選項僅適用於已註冊使用者。","ERR_CLIPBOARD":"無法從剪下板播放","ERR_CLIPBOARD_READ":"無法讀取此平臺上的剪下板","ERR_CLIPBOARD_GENERIC":"在剪下板中找不到可播放的URL. 請將URL(例如Magnet連結)複製到影片。","BOARD_CONTINUE_WATCHING":"繼續觀看","BOARD_EXPLANATION_RECOMMENDATIONS":"專門為您挑選的電影。<br />這部電影是一個推薦樣例。","BOARD_EXPLANATION_EPISODES":"這裡是您最喜愛的劇集的新一集。<br />將您關注的劇集新增到庫中。","BOARD_EXPLANATION_VIDEOS":"這裡是您最喜愛的頻道的新一集。<br />將您關注的YouTube頻道新增到庫中。","WEBSITE_ENJOYED_BY":"在全球擁有超過3000萬使用者","WEBSITE_STREAMING_ENHANCED":"流媒體增強","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio提供安全、現代、無縫的娛樂體驗。憑藉其易於使用的介面和多樣化的內容庫,包括4K HDR支援,使用者可以在所有裝置上欣賞他們喜愛的電影和電視節目。Stremio致力於安全,是無憂、高質量流媒體體驗的終極選擇。","WEBSITE_AVAILABLE_ON":"可用時間","WEBSITE_WATCH_AND_ENJOY":"觀看並享受。","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio讓它變得小菜一碟","WEBSITE_ALL_FEATURES":"全部功能","WEBSITE_EASY_TO_USE":"易於使用","WEBSITE_EASY_TO_USE_DETAILS":"Stremio的設計是使用者友好和易於使用。憑藉其乾淨直觀的介面,您可以輕鬆導航並找到想要觀看的內容。","WEBSITE_SEAMLESS_ACROSS_DEVICES":"無縫跨裝置","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Stremio可用於各種平臺(包括Windows、Mac、Linux、Android等),它將跟蹤您在所有裝置上的進度。只需登入並繼續觀看,無需在每個新裝置上再次配置應用程式。","WEBSITE_ALL_DOWNLOADS":"全部下載","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"高畫質晰度影片支援","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"整合影片播放器支援大多數影片格式,包括4K HDR內容,讓您享受可用的最高質量。","WEBSITE_DIVERSE_CONTENT_LIBRARY":"多樣化的內容庫","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio整合了大量流行的影片來源,如Netflix、Amazon Prime video、Hulu、YouTube等。","WEBSITE_CREATE_A_FREE_ACCOUNT":"建立免費帳戶","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"量身定製的觀看體驗","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio允許您透過更改主題、新增或刪除外掛等方式自定義介面的外觀。","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"多語言字幕支援","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"由於Stremio支援所有語言的字幕,您現在可以用您喜歡的語言欣賞所有喜愛的內容。","WEBSITE_ALL_STREMIO_FEATURES":"Stremio的全部功能","WEBSITE_TRY_STREMIO_TITLE_P1":"嘗試Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"現在在你的電視上","WEBSITE_YOU_CAN_NOW_WATCH":"您現在可以在Android電視裝置上觀看所有喜愛的電視節目。Stremio電視應用程式讓您輕鬆享受電影之夜。","WEBSITE_YOU_CAN_NOW_WATCH_2":"現在,您可以在智慧電視或安卓電視上觀看所有喜愛的電視節目。Stremio電視應用程式讓您輕鬆享受電影之夜。","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"可能是您裝置中最好、最有用的應用程式。這是我每天使用的應用程式之一,尤其是多年來在我的安卓電視上。製作精良,擁有強大的社群,提供有用的功能。幹得好。繼續努力。","WEBSITE_REVIEWS":"評論","WEBSITE_GET_STREMIO_FOR_FREE":"免費獲取Stremio","WEBSITE_GET_STREMIO_NOW":"立即獲取Stremio","WEBSITE_STREMIO_FEATURES":"Stremio功能","WEBSITE_STREMIO_FEATURES_DETAILS":"藉助Stremio的高階功能,像專業人士一樣進行流媒體播放,享受對所有喜愛媒體的無縫訪問","WEBSITE_DISCOVER_MORE":"發現更多。","WEBSITE_DISCOVER_MORE_DETAILS":"永遠不要無聊地沒有東西可看","WEBSITE_COMMUNITY_DRIVEN":"社群驅動","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio擁有一個龐大而活躍的使用者社群,他們透過建立和共享外掛為軟體的開發做出貢獻。","WEBSITE_GET_INVOLVED":"參與進來","WEBSITE_NEW_THEATER_EXPERIENCE":"新劇場體驗","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio的新專用電視應用程式讓您在Android電視裝置上享受電影之夜。","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio的新專用電視應用程式讓您在智慧電視或安卓電視裝置上享受電影之夜。","WEBSITE_FREE_AND_SECURE":"免費和安全","WEBSITE_STREAMING":"流式傳輸","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio為使用者提供無與倫比的安全性和隱私。Stremio具有遠端執行外掛的獨特功能,與其他平臺相比,它提供了一種更安全的方式來流式傳輸您喜愛的內容。您的安全和隱私是首要任務,平臺確保您的所有資料都得到保護。","WEBSITE_FREE_AND_SECURE_DETAILS_2":"告別對安全和隱私的擔憂,與Stremio一起向無盡娛樂的世界問好。","WEBSITE_INFORMATION_PROVIDED_BY":"資訊來源於","WEBSITE_CONTRIBUTE":"貢獻","WEBSITE_CONTRIBUTE_DESC":"幫助我們讓Stremio變得更好","WEBSITE_COMMUNITY_DESC":"我們相信,創造真正令人驚歎的流媒體體驗的最佳方式是讓我們的社群參與到這個過程中。無論你是程式設計師、藝術家還是粉絲,你都可以幫助Stremio成長。","WEBSITE_COMMUNITY_DESC_2":"所以,今天就加入我們,成為Stremio社群的一員,繼續塑造流媒體的未來。","WEBSITE_WAYS_TO_GET_INVOLVED":"參與方式","WEBSITE_IN_THE_STREMIO_COMMUNITY":"在Stremio社群","WEBSITE_SHARE_YOUR_THOUGHTS":"分享你的想法","WEBSITE_REPORT_BUGS":"報告Bug","WEBSITE_SUGGEST_FEATURES":"建議功能","WEBSITE_AND_PROVIDE_FEEDBACK":"並在我們的社交媒體渠道上提供反饋。","WEBSITE_BETA_TESTING_PROGRAM":"Beta測試程式","WEBSITE_BETA_TESTING_PROGRAM_DESC":"在Stremio社群參與我們的測試計劃(我們定期發出邀請)。","WEBSITE_JOIN_NOW":"立即加入!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Stremio官方社群","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Stremio非官方社群","WEBSITE_BECOME":"成為","WEBSITE_A_VOLUNTEER_TRANSLATOR":"一位志願翻譯者","WEBSITE_ARE_YOU_A_DEVELOPER":"你是開發者嗎?","WEBSITE_CONTRIBUTE_CODE":"您可以為我們的開源專案貢獻程式碼。我們在GitHub上有幾個專案正在尋找貢獻者。如果你有興趣幫忙,可以去看看:","WEBSITE_STREMIO_ON_GITHUB":"GitHub上的Stremio","WEBSITE_CREATE_ADDON_DESC":"建立一個外掛以增強Stremio的功能(我們有一個易於使用的API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio外掛SDK","WEBSITE_INTERN_DEVELOPER":"我們還提供了作為實習生開發人員加入我們的機會,這樣我們就可以一起成長。","WEBSITE_APPLY_AS_AN_INTERN":"以實習生身份申請","WEBSITE_CALLING_ALL_ARTISTS":"呼叫所有藝術家!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"透過將您的粉絲藝術上傳到我們的線上畫廊,展示您對Stremio的創造力和熱愛。無論是繪畫、繪畫還是數字設計,我們都希望看到您對Stremio品牌的獨特見解。加入我們的藝術愛好者社群,與世界各地的Stremio粉絲分享您的作品。","WEBSITE_STREMIO_FANART_GALLERY":"Stremio粉絲藝術畫廊","WEBSITE_INTERN_DESIGNER":"透過我們激動人心的實習機會,成為我們團隊的一員,將您的創造力提升到新的高度。","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"公共領域電影專案","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"在Stremio,我們致力於透過識別公共領域和孤兒影片來保護電影和電視的歷史。透過與我們的社群合作,我們可以確保這些經典藝術作品對每個人都是可訪問的,併為後代所保護以供享受。","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"如果您想參與該專案,請隨時與我們聯絡。","WEBSITE_JOIN_THE_PROJECT":"加入專案","WEBSITE_BE_PART_OF_OUR_MISSION":"成為我們使命的一部分","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"有興趣加入斯特雷米奧隊嗎?我們為充滿激情的專業人士提供完全遠端工作。檢視我們的空缺職位。","WEBSITE_OPEN_POSITIONS":"空缺職位","WEBSITE_DESCRIPTION":"說明","WEBSITE_LEARN_MORE":"瞭解更多","WEBSITE_COMPANY":"公司","WEBSITE_CONTACTS":"聯絡人","WEBSITE_NEED_HELP":"需要幫助?","WEBSITE_STREMIO_WEB_ON_IOS":"iOS版Stremio Web指南","WEBSITE_LINK_ART_V2":"粉絲藝術畫廊","WEBSITE_PARTNERS":"合作伙伴","WEBSITE_SLOGAN_WATCH":"立即觀看","WEBSITE_SLOGAN_ALL":"一站式影片娛樂解決方案","WEBSITE_SLOGAN_NEW":"您能觀看一切","WEBSITE_SLOGAN_NEW_NEW":"自由串流","WEBSITE_WATCH_FROM":"觀看","WEBSITE_DOWNLOAD":"立即下載","WEBSITE_DOWNLOAD_FOR":"立即下載","WEBSITE_IS_DESKTOP":"Stremio是一個桌面應用程式,請在PC上開啟此頁並下載","WEBSITE_DESKTOP_DEMO_VID":"桌面演示","WEBSITE_PAGE_HOME":"首頁","WEBSITE_PAGE_FEATURES":"功能","WEBSITE_PAGE_ADDONS":"外掛","WEBSITE_PAGE_TECH":"技術","WEBSITE_PAGE_CREATE_ADDON":"建立外掛","WEBSITE_PAGE_CONTACTS":"聯絡","WEBSITE_PAGE_BLOG":"部落格","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"電影","WEBSITE_TYPE_series_PL":"劇集","WEBSITE_TYPE_tv":"直播電視","WEBSITE_TYPE_channel":"頻道","WEBSITE_STREMIO_WHAT_IS":"Stremio是一款幫助您管理和隨時觀看您喜愛的影片、電影、劇集和電影片道的應用程式","WEBSITE_FEATURES_WATCH":"立即觀看高畫質影片","WEBSITE_FEATURES_WATCH_DETAIL":"點選並播放您喜愛的電影、劇集、影片和電影片道。","WEBSITE_FEATURES_SUBS":"自動載入字幕","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio會自動為您的語言選擇同步字幕。","WEBSITE_FEATURES_SUBS_LABEL":"Your move, chief.","WEBSITE_FEATURES_CAST":"在電視和移動裝置上播放","WEBSITE_FEATURES_CAST_DETAIL":"適用於AppleTV、Chromecast、智慧電視(DLNA/UPnP)和移動裝置。","WEBSITE_LIB":"享受在所有裝置上同步的個人庫","WEBSITE_LIB_COLLECT":"從Stremio收集","WEBSITE_LIB_IMPORT":"從Facebook匯入","WEBSITE_LIB_LOCAL":"從本地磁碟新增","WEBSITE_BOARD":"首頁 - 通知和推薦的一站式場所","WEBSITE_BOARD_RECOMMEND":"推薦電視節目","WEBSITE_BOARD_TRENDING":"流行電影","WEBSITE_BOARD_NEW":"新影片","WEBSITE_BOARD_EPISODE":"新一集","WEBSITE_BOARD_1":"想看些有趣的東西嗎?根據您的喜好得到推薦!","WEBSITE_BOARD_2":"當您最喜愛的電視節目或YouTube頻道的新一集播出時獲得通知!","WEBSITE_BOARD_YOUTUBE":"YouTube頻道的新影片","WEBSITE_BOARD_EPISODES":"您關注的劇集的新一集","WEBSITE_ADDONS":"內容外掛","WEBSITE_TECH_DETAIL":"我們熱愛科技,我們熱愛瘋狂的科學!\\nStremio使用了以下開源技術:","WEBSITE_TECH_WCJS":"WebChimera.js允許Stremio以良好的效能播放任何影片格式。","WEBSITE_TECH_WCJS_EXTRA":"我們是專案的核心貢獻者","WEBSITE_TECH_ELECTRON":"Electron為Stremio提供了一個創新平臺。","WEBSITE_TECH_ELECTRON_EXTRA":"我們是專案貢獻者","WEBSITE_TECH_LINVODB":"一種資料庫技術,確保您的資料在任何地方登入都受管理和可用。","WEBSITE_TECH_LINVODB_EXTRA":"內部技術","WEBSITE_CREATE_ADDON":"建立您的外掛","WEBSITE_CREATE_ADDON_DETAIL":"您有提供影片內容的服務嗎?我們將透過建立外掛來幫助您從Stremio的功能中獲益。","WEBSITE_CREATE_ADDON_BENEFITS":"為Stremio建立外掛的好處","WEBSITE_P2P_BEAUTY":"點對點流媒體之美","WEBSITE_P2P_1":"可靠且價格合理的全高畫質/4K影片點播或流媒體直播","WEBSITE_P2P_2":"提供良好使用者體驗的分銷平臺","WEBSITE_P2P_3":"我們將建立一個外掛來滿足您的確切需要","WEBSITE_P2P_CONTACT":"有興趣嗎?歡迎您透過<a href=\'mailto:office@stremio.com\'>聯絡我們</a>.","WEBSITE_P2P_CONTACT_EXTRA":"我們很樂意幫助您將您的內容整合到Stremio!","WEBSITE_P2P":"偶然間出現了一種改變遊戲名稱的技術。 我們投入了大量的時間和精力來構建我們的點對點(P2P)影片流媒體引擎,該引擎可提供出色的效能和多功能性,以適應任何用例。\\n請聯絡我們以獲取支援DRM的P2P影片點播或實時流媒體。","WEBSITE_THOUGHTS":"我們分享的想法:","WEBSITE_SPREAD":"傳播關於Stremio的資訊:","WEBSITE_CONTACT":"聯絡我們,我們很高興收到您的來信!","WEBSITE_OPENSOURCE":"有關我們的開源專案,請轉到:","WEBSITE_BITCOIN":"捐贈比特幣:","WEBSITE_FAQ":"常見問題","WEBSITE_FAQ_SHORT":"常見問題","WEBSITE_QUESTIONS":"問題","WEBSITE_TOS":"使用條款","WEBSITE_LEGAL":"法律","WEBSITE_PAGE_ABOUT":"關於","WEBSITE_PAGE_BECOME_PARTNER":"成為合作伙伴","WEBSITE_ALL_YOU_CAN_WATCH":"自由觀看\\n您想看的一切。","WEBSITE_FREEDOM_TO_STREAM":"自由串流","WEBSITE_WHAT_IS_STREMIO":"什麼是Stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio是一個一站式影片內容聚合中心。在您擁有的任何裝置上發現,管理和觀看來自各種來源的影片。","WEBSITE_WHAT_IS_STREMIO_P2":"電影、電視節目、劇集、電視直播或網路頻道例如YouTube或Twitch.tv等,您可以在Stremio上找到所有這些內容。","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio是一個現代化的媒體中心,為您的影片娛樂提供一站式解決方案。您可以透過易於安裝的外掛發現,觀看和整理影片內容。","WEBSITE_WHAT_IS_STREMIO_P2_V2":"電影、電視節目、直播電視或網路頻道——在Stremio上找到所有這些。","WEBSITE_ENJOI_ON_ALL_DEVICES":"在所有媒體裝置上享受","WEBSITE_DEVICES_COLLECT":"從Stremio收集","WEBSITE_DEVICES_IMPORT_FB":"從Facebook匯入","WEBSITE_DEVICES_LOCAL":"從本地磁碟新增","WEBSITE_JOIN_THE_PARTY_NOW":"立即加入聚會","WEBSITE_DEVICES_ALL":"易於在所有裝置上使用;","WEBSITE_EXTENDABLE_CATALOG":"可無限擴充套件的影片目錄;","WEBSITE_ORGANIZE_YOUR_MEDIA":"強大的媒體管理功能;","WEBSITE_AS_SEEN_ON":"如圖所示","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"關於我們","WEBSITE_LINK_TECHNOLOGY":"技術","WEBSITE_LINK_APPS":"應用程式","WEBSITE_LINK_DOWNLOADS":"下載","WEBSITE_MORE":"更多","WEBSITE_LINK_ADDONS":"外掛","WEBSITE_LINK_ADDON_SDK":"外掛SDK","WEBSITE_LINK_CONTRIBUTE":"貢獻","WEBSITE_LINK_COMMUNITY":"社群","WEBSITE_LINK_BLOG":"部落格","WEBSITE_MORE_MORE":"... & 更多","WEBSITE_LINK_HELP":"幫助中心","WEBSITE_LINK_CONTACTS":"業務查詢","WEBSITE_LINK_TOS":"條款和條件","WEBSITE_LINK_PRAVACY":"隱私政策","WEBSITE_SUBSCRIBE":"訂閱","WEBSITE_NEWSLETTER":"加入我們的實時通訊,瞭解精彩的內容","WEBSITE_PLACEHOLDER_EMAIL":"您的電子郵箱","WEBSITE_COMMUNITY":"社群","WEBSITE_LINK_PRAVACY_LEGAL":"隱私與法律","WEBSITE_WHY":"我們為什麼這樣做","WEBSITE_WHY_P1":"在Stremio,我們每天都工作,因為我們想解決影片點播行業的一個重要問題。每分鐘都有這麼多的新內容釋出,幾乎不可能找到解決的方法。","WEBSITE_WHY_P2":"我們幫助人們瀏覽這個巨大的影片娛樂世界,發現新的內容來享受。我們的應用程式彙集了電影、劇集、電視直播、網路頻道等。我們致力於讓使用者非常容易地找到他們喜歡的標題和廣播。","WEBSITE_WHY_P3":"您可以隨時在任何裝置上使用我們的服務,使Stremio成為您唯一需要的影片娛樂中心。","WEBSITE_TEAM":"團隊","WEBSITE_TEAM_P":"Stremio團隊雖小但很強大:我們10個人用X語言編寫程式碼,分享軟體開發、UI和UX設計、營銷和廣告、商業和初創企業方面的專業知識。","WEBSITE_FEATURES":"功能","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"輕鬆發現新內容","WEBSITE_FEATURES_DISCOVER_P":"輕鬆發現要觀看的新電影、電視節目、劇集和頻道。按類別、流派、評分、時間等瀏覽,或者只需鍵入一個名稱即可找到。Stremio讓尋找新的影片內容變得輕而易舉。","WEBSITE_FEATURES_ALL_CONTENT":"一塊螢幕顯示所有影片內容","WEBSITE_FEATURES_ALL_CONTENT_P1":"檢視您未看完的電影、劇集或影片,並繼續觀看;獲得新劇集和版本的通知;瀏覽根據您的觀看習慣獲得的推薦。","WEBSITE_FEATURES_LIBRARY":"管理您的影片庫","WEBSITE_FEATURES_LIBRARY_P1":"只需點選一下,即可將任何標題新增到您的Stremio庫中,並按型別、時間或字母順序整齊地排列內容。","WEBSITE_FEATURES_CALENDAR":"記錄您所觀看的一切","WEBSITE_FEATURES_CALENDAR_P1":"獲取新增到庫中的所有電影和系列的日曆視覺化。匯出您的Stremio日曆並同步它,這樣您就可以隨時知道新的一集或首映何時到來。","WEBSITE_FEATURES_BIG_SCREEN":"在大螢幕上欣賞您的影片內容","WEBSITE_FEATURES_BIG_SCREEN_P1":"將您正在觀看的任何內容都投屏到另一臺裝置上,無論是手機、平板電腦還是電視,只需點選一下即可。","WEBSITE_FEATURES_SOURCES":"觀看不同來源的影片","WEBSITE_FEATURES_SOURCES_P":"安裝官方和社群外掛,欣賞來自多個不同供應商的影片。","WEBSITE_CREATE_AN_ADDON":"建立外掛","WEBSITE_FEATURES_SYNC":"跨裝置同步庫並恢復播放","WEBSITE_FEATURES_SYNC_P1":"使用您的帳戶在所有裝置上登入,享受同步的庫、外掛、播放和日曆。","WEBSITE_FEATURES_EXTENDABLE":"透過外掛擴充套件影片目錄","WEBSITE_FEATURES_EXTENDABLE_P1":"Stremio外掛目錄提供了許多外掛,可以從中安裝和觀看各種影片內容。這包括電影、節目、電視直播、體育、新聞、播客、網路頻道、影片遊戲等。","WEBSITE_FEATURES_AUTO_SUBS":"自動載入字幕","WEBSITE_FEATURES_AUTO_SUBS_P1":"透過我們的字幕外掛,您可以自動選擇您喜歡的語言。","WEBSITE_FEATURES_CHROMECAST":"投屏到Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"在更大的螢幕上欣賞您的影片內容,或者將您正在觀看的內容投屏到其他裝置上。","WEBSITE_FEATURES_KEEP_TRACK":"跟蹤您最喜愛的電視節目和網路頻道","WEBSITE_FEATURES_KEEP_TRACK_P1":"獲取您最喜愛的劇集和網路頻道的新一集的日曆視覺化和通知。","WEBSITE_FEATURES_POWER_USER":"超級使用者功能","WEBSITE_FEATURES_POWER_USER_P1":"在外部播放器中播放","WEBSITE_FEATURES_POWER_USER_P2":"從Torrent檔案或Magnet連結播放","WEBSITE_FEATURES_POWER_USER_P3":"從Facebook喜愛或本地磁碟匯入您的庫","WEBSITE_ADD_ONS":"外掛","WEBSITE_ADD_ONS_P1":"Stremio提供的所有影片內容都是透過外掛系統獲取的,應用程式中沒有內建任何內容或內容提供商。","WEBSITE_ADD_ONS_P2":"有兩組外掛可用:官方和社群外掛。","WEBSITE_ADD_ONS_P3":"官方外掛由Stremio開發和託管,而社群外掛由我們的社群成員建立和託管。","WEBSITE_ADDONS_OFFICIAL":"官方外掛","WEBSITE_ADDONS_WATCHUB":"從iTunes、Hulu、Amazon和其他英國/美國服務提供商處流式播放您喜愛的電影、劇集和節目。","WEBSITE_ADDONS_YOUTUBE":"觀看您喜愛的YouTube頻道,獲得您關注的貢獻者的新上傳通知。","WEBSITE_ADDONS_FILMON":"免費觀看直播電視、電影和社交電視。600個電影片道,45000部免費電影,紀錄片以及更多","WEBSITE_ADDONS_OPENSUBTITLES":"多語種影視字幕,每天上傳上千個翻譯字幕。","WEBSITE_ADDONS_COMMUNITY":"社群外掛","WEBSITE_ADDONS_FILMON_VOD":"觀看來自Filmon.tv的點播影片。","WEBSITE_ADDONS_TWICH":"觀看來自Twitch.tv(電子競技行業的影片流媒體平臺)的直播。","WEBSITE_ADDONS_VODO":"觀看完全免費的獨立電影。","WEBSITE_ADDONS_NETFLIX":"觀看Netflix的電影和網劇。","WEBSITE_ADDONS_CREATE":"建立外掛","WEBSITE_ADDONS_CREATE_P1":"如果您願意,您可以開發自己的外掛。透過這種方式,您可以讓自己和我們的社群訪問新的影片內容,並接觸到全球數百萬使用者的新目標受眾。","WEBSITE_ADDONS_START_CREATE":"要開始,請訪問Stremio外掛SDK頁面:","WEBSITE_DOWNLOADS":"下載","WEBSITE_DOWNLOADS_P1":"為了獲得最佳效能,我們建議您使用最新版本的Stremio應用程式。但是,如果出於某種原因,您想使用舊版本,可以在此處下載。","WEBSITE_DOWNLOADS_P1_SHORT":"為了獲得最佳效能,我們建議您使用最新版本的Stremio應用程式,","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio for Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio for macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio for Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio for Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio for iOS(限制版本)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"下載Stremio服務","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service是Stremio Web的配套應用程式。我們建議使用最新版本的Stremio Service。","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"更多下載選項","WEBSITE_DOWNLOAD_NEW":"新!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"我們釋出了Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_CONTRIBUTE_P1":"Stremio平臺是開源的,您可以輕鬆地為當前沒有來源的內容建立一個外掛。","WEBSITE_CONTRIBUTE_WHY":"為什麼要建立外掛?","WEBSITE_CONTRIBUTE_WHY_P1":"為您的影片內容吸引新觀眾","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio的使用者群體正在快速增長,在推出的第一年,Stremio在全球獲得了100萬使用者,在該平臺存在的第二年,這個數字增長到250萬。","WEBSITE_CONTRIBUTE_WHY_P3":"用外掛,您可以輕鬆接觸這些觀眾並向他們分發您的影片內容。","WEBSITE_CONTRIBUTE_ALL":"在一處觀看您喜愛的電影、影片、劇集和頻道。","WEBSITE_CONTRIBUTE_ALL_P1":"您是Stremio上尚未提供的特定型別內容的粉絲?為它建立一個外掛,在市場上最大、最易使用的娛樂中心之一欣賞您喜愛的影片。","WEBSITE_CONTRIBUTE_ALL_P2":"除此之外,您還會得到其他志同道合的Stremio社群成員的無盡感激。","WEBSITE_CONTRIBUTE_MONETIZE":"透過外掛營利,並在其幫助下賺錢","WEBSITE_CONTRIBUTE_MONETIZE_P1":"一旦您為Stremio開發了一個新的外掛,您就可以透過多種不同的方式輕鬆地靠其營利。如果您正在考慮此問題,請隨時與我們聯絡","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":",我們很樂意就外掛營利選項向您提供諮詢和建議。","WEBSITE_CONTRIBUTE_TRANSLATE":"成為一名志願翻譯者","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"如果您想享受不同語言的Stremio應用程式,您可以加入我們的志願翻譯者社群。他們幫助我們新增多種不同語言的Stremio版本。","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"您想開始嗎?","WEBSITE_TRANSALTE_STREMIO":"翻譯Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"官方社群","WEBSITE_COMMUNITY_OFFICIALS_P1":"成為不斷增長的Stremio社群的一部分。在社交媒體上關注我們,不要害羞地打招呼,我們喜歡聽到粉絲的聲音!","WEBSITE_COMMUNITY_UNOFFICIALS":"非官方社群","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"合作伙伴和支持者","WEBSITE_COMMUNITY_GOODIES":"Stremio特典","WEBSITE_COMMUNITY_WALLPAPERS":"桌布","WEBSITE_COMMUNITY_ART":"社群藝術畫廊","WEBSITE_LINK_ART":"社群藝術畫廊","WEBSITE_CONTACT_US":"聯絡我們","WEBSITE_CONTACT_US_P1":"如果您有任何問題、意見或建議,請隨時透過下面的聯絡方式與我們聯絡。","WEBSITE_CONTACT_US_P2":"請記住,我們位於保加利亞,因此可能會由於時區差異而延遲處理您的問題。","WEBSITE_CONTACT_US_SUCCESS":"您的資訊已傳送。我們會在方便的時候儘快給您回覆。","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"請輸入有效的電子郵箱!","WEBSITE_CONTACT_US_Q_RELATED_TO":"您的問題與什麼有關?","WEBSITE_CONTACT_US_Q_OS":"您的作業系統是什麼?","WEBSITE_CONTACT_US_PH_EMAIL":"您的電子郵箱","WEBSITE_CONTACT_US_PH_MESSAGE":"簡訊","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"傳送","WEBSITE_CONTACT_US_Q_1":"如何安裝?","WEBSITE_CONTACT_US_Q_2":"如何解除安裝?","WEBSITE_CONTACT_US_Q_3":"(HTML)如何製作千層麵?","WEBSITE_CONTACT_US_Q_4":"外掛","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"技術","WEBSITE_TECHNOLOGY_P1":"我們熱愛科技,熱愛科學。</br>這是Stremio的動力(它都是開源的)。","WEBSITE_TECHNOLOGY_P_QT":"最佳跨平臺軟體開發工具。","WEBSITE_TECHNOLOGY_P_MPV":"一款免費、開源、跨平臺的媒體播放器。","WEBSITE_TECHNOLOGY_P_RN":"React Native允許您僅使用JavaScript構建移動應用程式。","WEBSITE_TECHNOLOGY_P_VLC":"嵌入到應用程式中獲取多媒體的媒體框架。","WEBSITE_TECHNOLOGY_P_REALM":"Realm是一個移動平臺,是SQLite和Core Data的替代品。","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js是一個開源、跨平臺的JavaScript執行環境。","WEBSITE_TECHNOLOGY_P_RUST":"Rust是一種多正規化系統程式語言,關注安全性,尤其是安全併發性。","WEBSITE_TECHNOLOGY_CONTRIBUTE":"為專案貢獻力量","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"您可以透過兩種方式為Stremio做貢獻,幫助我們將產品做得更好。","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"您可以透過翻譯平臺來貢獻您寶貴的語言技能...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"或","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... 您可以利用您的程式設計技巧來建立社群外掛。","WEBSITE_TRANSLATE_STREMIO":"翻譯Stremio","WEBSITE_404_OH_NO":"糟糕!您要找的頁面不在這裡...","WEBSITE_GO_HOME":"回到主頁","WEBSITE_LINK_OTHER_DOWNLOADS":"其他下載","WEBSITE_FAQ_ABR":"常見問題","WEBSITE_SUPPORT":"支援","WEBSITE_DOWNLOAD_4_0_BETA":"立即下載Stremio 4測試版","WEBSITE_GET_FOR_DESKTOP":"獲取桌面","WEBSITE_LINK_ADDON_COMPETITION":"外掛比賽","WEBSITE_LINK_ART_CONTEST":"藝術比賽","WEBSITE_MY_ACCOUNT":"我的賬戶","WEBSITE_MAINPAGE_FAQ_001_H1":"什麼是Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio是一個現代化的媒體中心,讓您可以自由觀看任何您想要的東西。","WEBSITE_MAINPAGE_FAQ_002_H1":"它是如何工作的?","WEBSITE_MAINPAGE_FAQ_002_P1":"一旦您在裝置上安裝了Stremio並建立了一個帳戶,您所要做的就是訪問外掛目錄並安裝任何您想要的外掛,就可以開始了!","WEBSITE_MAINPAGE_FAQ_002_P2":"之後,您可以進入“發現”或“板”部分,開始探索內容。","WEBSITE_MAINPAGE_FAQ_003_H1":"我可以在這裡看什麼?","WEBSITE_MAINPAGE_FAQ_003_P1":"很多:電影、電視節目、網路頻道、體育、電影片道、收聽播客等等。感謝我們的外掛系統,您可以訪問各種內容。","WEBSITE_MAINPAGE_FAQ_004_H1":"Stremio是開源的嗎?","WEBSITE_MAINPAGE_FAQ_004_P1":"是的,您可以檢視以下連結:${1}桌面應用${2}和${3}GitHub組織${4}。","WEBSITE_MAINPAGE_FAQ_005_H1":"Stremio安全嗎?","WEBSITE_MAINPAGE_FAQ_005_P1":"是:因為它是開源軟體,所以程式碼可以公開稽核,您可以自己檢視。","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"我的隱私如何?","WEBSITE_MAINPAGE_FAQ_006_P1":"我們尊重使用者隱私,除了建立和同步您的帳戶所必需的最低限度外,不收集任何個人資料。","WEBSITE_MAINPAGE_FAQ_006_P2":"註冊時還有一個${1}訪客模式${2},它不需要任何資料:在這種模式下,不會呼叫我們的後端。然而,這是以犧牲有用的功能為代價的,比如能夠跨裝置同步您的庫。","WEBSITE_MAINPAGE_FAQ_007_H1":"我可以投屏到電視嗎?","WEBSITE_MAINPAGE_FAQ_007_P1":"是的,我們支援Chromecast,您可以從桌面和移動應用程式(Android)進行強制轉換。","WEBSITE_MAINPAGE_FAQ_008_H1":"Stremio有多少外掛?","WEBSITE_MAINPAGE_FAQ_008_P1":"截至2019年末,超過50個。有關更多資訊,請檢視我們的外掛目錄。","WEBSITE_MAINPAGE_FAQ_009_H1":"Stremio是否可以擴充套件到外掛目錄之外?","WEBSITE_MAINPAGE_FAQ_009_P1":"是的,您應該檢視這些:${1}PimpMyStremio${2},${3}Reddit communities${4},${5}Stremio Downloader${6},等等。","WEBSITE_MAINPAGE_FAQ_010_H1":"Stremio支援哪些裝置?","WEBSITE_MAINPAGE_FAQ_010_P1":"我們有適用於Windows、Mac和Linux的桌面應用程式。對於移動裝置,我們支援Android和iOS,但請記住iOS的功能有限(不支援大多數外掛)。","WEBSITE_MAINPAGE_FAQ_010_P2":"有很多基於Android的裝置可以在上面執行Stremio,比如NVIDIA Shield和Amazon Fire Stick,但我們並不正式支援它們。","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"您們能為Stremio新增某些內容嗎?","WEBSITE_MAINPAGE_FAQ_011_P1":"抱歉,我們本身不提供任何內容,但是您安裝的Stremio外掛越多,您可以找到的內容就越多。","WEBSITE_MAINPAGE_FAQ_012_H1":"Stremio可以播放Magnet連結嗎?","WEBSITE_MAINPAGE_FAQ_012_P1":"是的,它還可以播放正常的HTTP連結和Torrent檔案(拖放)。","WEBSITE_MAINPAGE_FAQ_013_H1":"我可以下載影片並離線觀看嗎?","WEBSITE_MAINPAGE_FAQ_013_P1":"離線可用是一項即將推出的功能,但如果您允許Stremio在裝置上快取(從“設定”面板),您可以稍後在沒有連線的情況下觀看影片。","WEBSITE_MAINPAGE_FAQ_014_H1":"什麼都不能用,幫幫我!","WEBSITE_MAINPAGE_FAQ_014_P1":"您確定已安裝外掛嗎?如果是,請與我們的${1}幫助中心${2}聯絡","WEBSITE_MAINPAGE_FAQ_015_H1":"Stremio如何維持其開發運營?","WEBSITE_MAINPAGE_FAQ_015_P1":"我們偶爾會播放非侵入性廣告,但我們正在考慮轉向捐贈模式。","WEBSITE_MAINPAGE_FAQ_015_P2":"有關更多問題,請訪問我們的${1}幫助中心${2}。","HELP_LEARN_MORE":"幫助我們瞭解更多有關您的資訊。","LIFESTYLE":"生活方式","SPORTS":"體育","FOOD_HEALTH":"飲食與健康","BEAUTY_FASHION":"美麗與時尚","NEWS":"新聞","GAMING":"遊戲","SCIENCE_EDUCATION":"科學與教育","MUSIC":"音樂","TRAVEL":"旅行","LATE_NIGHT":"深夜","REALITY":"真人","COMEDY":"喜劇","DIY":"DIY","TECH":"技術","CINEMA":"影院","CONTINUE":"繼續","SLOW_LOADING":"載入緩慢?","I_GIVE_UP":"我放棄了","LEARN_MORE":"瞭解更多","POOR_SOURCE":"此源不可用或您的網路連線不夠快","PICK_CATEGORIES_ERR":"您必須至少選擇3個類別","ADJUST_TIMING":"調整時間","ADJUST_SIZE":"調整大小","SEARCH_ANYTHING":"您可以搜尋一切...","ALL_CATEGORIES":"全部","SEARCH_CATEGORIES":"電影、劇集、YouTube和電視","SEARCH_PERSONS":"演員、導演和編劇","SEARCH_PROTOCOLS":"HTTP或Magnet連結","SEARCH_TYPES":"IMDB/TVDB連結","WATCHED":"已觀看","SHOW_LESS":"顯示較少","LAST_SEARCHES":"上次搜尋","CLEAR_HISTORY":"清除歷史記錄","CHOOSE_SOME":"選擇其中一些:","NO_WEB_REMOTE":"無法載入Web Remote","STREMIO_OFFLINE":"Stremio離線","STREMIO_EXPENSIVE_CONNECTION":"我們檢測到您正在使用移動資料連線,是否繼續?","USE_DATA":"使用移動資料","WARNING":"警告","MORE_INFO":"更多資訊...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"載入...","STREMIO_TV_BACK_TO_LANGUAGES":"返回語言","STREMIO_TV_REMOTE":"遠端","STREMIO_TV_GO_TO":"去往:","STREMIO_TV_OR_SCAN":"或掃描:","STREMIO_TV_ADDON_INSTRUCTIONS":"請按照說明安裝您喜歡的外掛。","STREMIO_TV_LIVE_TV":"直播電視","STREMIO_TV_RESUME_WATCHING":"繼續觀看","STREMIO_TV_LOADING_BACKGROUND":"載入背景","STREMIO_TV_CHECKING_AUTHENTICATION":"正在檢測身份驗證","STREMIO_TV_LOADING_BOARD":"載入主頁","STREMIO_TV_LOGIN_HEADER_LINE_1":"我們希望使用者在使用我們的軟體時有最好的個性化體驗,","STREMIO_TV_LOGIN_HEADER_LINE_2":"正是出於這個原因,我們懇請您建立和/或登入您的賬戶,","STREMIO_TV_LOGIN_FOOTER_LINE_1":"感謝您的理解,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Stremio團隊","STREMIO_TV_REMOTE_INSTRUCTIONS":"為了在您的智慧手機/平板電腦/桌面使用Web Remote:","STREMIO_TV_WIFI_SETUP":"Wi-Fi設定","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle未檢測到網際網路連線。","STREMIO_TV_WIFI_DETAILS_1":"連線到:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"使用密碼:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"在瀏覽器中開啟連結:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"預設","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"按最近觀看","STREMIO_TV_LIBRARY_SORT_NAME":"按名字","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"按觀看次數","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"季${1}","STREMIO_TV_STREAMS_LOADING":"已載入${1}/${2}外掛...","STREMIO_TV_STREAMS_STILL_LOADING":"${1}外掛仍在載入...","STREMIO_TV_PLAYER_SETTINGS":"播放器設定","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"字幕延遲","STREMIO_TV_PLAYER_AUDIO_DELAY":"音訊延遲","STREMIO_TV_PLAYER_VIDEO_SCALING":"影片縮放","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"不支援的流媒體源","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"開啟外部連結失敗","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"在音訊直通模式下不可調整","STREMIO_TV_PLAYER_PLAY_IN_EXO":"使用ExoPlayer播放","STREMIO_TV_PLAYER_PLAY_IN_VLC":"使用libVLC player播放","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"由於播放錯誤而切換到libVLC player","STREMIO_TV_ADDONS_TITLE":"在手機或PC上使用Stremio安裝或配置外掛,然後按\\"同步外掛\\"","STREMIO_TV_ADDONS_SUBTITLE":"注意:確保您使用的是相同的Stremio帳戶","STREMIO_TV_ADDONS_SYNC_ADDONS":"同步外掛","STREMIO_TV_ADDONS_SYNC_SUCCESS":"外掛成功同步","STREMIO_TV_ADDONS_SYNC_FAILED":"外掛同步失敗","STREMIO_TV_META_LINK_FAILED":"開啟元連結失敗","STREMIO_TV_CATALOG_LOADING":"目錄仍在載入...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"介面語言已更新","STREMIO_TV_SETTINGS_THEME_UPDATED":"主題已更新","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"預設播放器","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"外部播放器","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"首選語言","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"次要首選語言","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"隧道播放","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"某些裝置上可能存在播放問題","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"某些影片格式可能無法播放","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"幀速率匹配","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"關閉","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"僅幀速率","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"幀速率和解析度","STREMIO_TV_SETTINGS_NO_CACHING":"無快取","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"預設","STREMIO_TV_SETTINGS_PROFILE_SOFT":"慢","STREMIO_TV_SETTINGS_PROFILE_FAST":"快","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"超快","STREMIO_TV_SETTINGS_SERVER_URL":"流媒體伺服器URL","STREMIO_TV_SETTINGS_SERVER_VERSION":"伺服器版本","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"未知","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio版本","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"編輯伺服器URL","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"輸入流媒體伺服器URL","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"載入時顯示統計資訊","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"要閱讀Stremio的隱私政策,請訪問:","STREMIO_TV_SETTINGS_TOS_TEXT":"要閱讀Stremio的條款和條件,請訪問:","STREMIO_TV_NAV_SEARCH":"搜尋","STREMIO_TV_NAV_HOME":"主頁","STREMIO_TV_NAV_DISCOVER":"發現","STREMIO_TV_NAV_LIBRARY":"庫","STREMIO_TV_NAV_MOVIES":"電影","STREMIO_TV_NAV_SERIES":"劇集","STREMIO_TV_NAV_CHANNELS":"頻道","STREMIO_TV_NAV_TV":"電視直播","STREMIO_TV_NAV_SETTINGS":"設定","STREMIO_TV_NAV_ADDONS":"外掛","STREMIO_TV_LOGIN_TITLE":"連結賬戶","STREMIO_TV_LOGIN_EXPIRES_IN":"過期日期到","STREMIO_TV_LOGIN_STEP_ONE":"掃描上方的二維碼或轉到","STREMIO_TV_LOGIN_STEP_TWO":"登入您的Stremio帳戶","STREMIO_TV_LOGIN_NEW_LINK":"請求新連結","STREMIO_TV_LOGIN_LINK_REFRESHED":"登入程式碼已重新整理","STREMIO_TV_SEARCH_PLACEHOLDER":"輸入一些東西","STREMIO_TV_SEARCH_NO_ADDONS":"沒有為目錄請求外掛!","STREMIO_TV_SEARCH_BUTTON":"搜尋","STREMIO_TV_SEARCH_KEY_DEL":"刪除","STREMIO_TV_SEARCH_KEY_SPACE":"空格","STREMIO_TV_SEARCH_KEY_CLEAR":"清除","STREMIO_TV_SEARCH_HISTORY_TITLE":"搜尋歷史","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"您可以搜尋標題、演員、頻道...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"清除搜尋歷史","STREMIO_TV_FILTERS_DESCRIPTION":"從以下過濾器中選擇一個","STREMIO_TV_STREAMING_SERVER_OFFLINE":"流媒體伺服器離線,檢查伺服器設定。","FILTERS":"過濾器","SETTINGS":"設定","ACCOUNT":"賬戶","LOGOUT":"登出","THEMES":"主題","PLAYBACK":"播放","PLAYBACK_SPEED":"播放速度","AUDIO_TRACKS":"音軌","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"影片","SERVER":"伺服器","LINKS":"連結","ABOUT":"關於","INTERFACE":"介面","ANIMATIONS":"動畫","STATUS":"狀態","LANGUAGE":"語言","SIZE":"大小","DELAY":"延遲","BOLD":"粗體","OPACITY":"Opacity","TEXT_COLOR":"文字顏色","OUTLINE_COLOR":"輪廓顏色","BACKGROUND_COLOR":"背景顏色","BACKGROUND_BLUR":"背景模糊","SEEK_TIME_DURATION":"尋找持續時間","AUTO_PLAY":"自動播放下一集","PLAY_NOW":"現在播放","MARK_AS_WATCHED":"標記為已觀看","MARK_AS_UNWATCHED":"標記為未觀看","REWIND_TO_BEGINNING":"倒回開始","CONTINUE_WATCHING":"繼續觀看","ALL":"全部","SECONDS":"秒","ON":"開","OFF":"關","RELOAD":"重新載入","EDIT_URL":"編輯URL","NONE":"無","EMBEDDED":"內嵌","REMOTE_SWITCH_DEVICES":"開關裝置","REMOTE_VIDEOS":"影片","REMOTE_ADJUST_TIMING":"調整時間","REMOTE_ADJUST_SIZE":"調整大小","REMOTE_COULD_NOT_BE_LOADED":"無法載入Web Remote","REMOTE_RETRY":"重試","TORRENT_PROFILE_DEFAULT":"預設","TORRENT_PROFILE_SOFT":"慢","TORRENT_PROFILE_FAST":"快","TORRENT_PROFILE_ULTRA_FAST":"超快","FAQ_001_H1":"什麼是Stremio?","FAQ_001_P1":"Stremio是專為影片娛樂而設計的多媒體中心軟體,易於使用。Stremio允許您管理和觀看自己的電影,劇集,頻道和實況電視收藏。","FAQ_001_P2":"Stremio從本地磁碟和外掛系統中收集顯示給您的內容。","FAQ_001_P3":"它還會在您感興趣的新劇集/影片/電影播出時通知您,併為您提供電影推薦。","FAQ_02_H1":"Stremio與Kodi和Plex相比如何?","FAQ_02_P1":"我們受到這兩種軟體的啟發。但是我們有不同的目標——Stremio專門針對娛樂影片,並透過易於使用成為其主流解決方案。","FAQ_02_P2":"Stremio將永遠不會像Kodi和Plex那樣具有可定製性和豐富的功能,但它更易於使用。只需${1}就可以獲取它,並檢視${2}:)","FAQ_03_H1":"Stremio與Netflix相比如何?","FAQ_03_P1":"同樣,Netflix是我們的靈感之一。我們努力實現Netflix的使用者體驗,再加上許多附加的好處。但最重要的是,我們讓您可以自由管理自己的庫,並使用我們的外掛系統新增新的內容源。","FAQ_03_P2":"這使得Stremio可以無限擴充套件,因此當您使用Stremio時,您永遠不會侷限於Netflix決定許可的內容。例如,您可以透過Stremio觀看${1}中的內容電影電視${2}, ${3} Twitch.tv${4},${5}YouTube${6},${7}Vodo${8}甚至${9}Netflix${10}本身!","FAQ_04_H1":"Stremio與Flipboard相比如何?","FAQ_04_P1":"我們不常聽到這個問題,除非與初創企業的人交談:)","FAQ_04_P2":"Stremio是透過設計一個內容聚合器來實現的,它本質上就是影片的Flipboard。這一點在我們的首頁部分非常明顯,它為您提供目錄和新的插曲/新的影片通知,讓您瞭解您所關注的內容,就像Flipboard一樣。","FAQ_05_H1":"Stremio與Popcorn Time相比如何?","FAQ_05_P1":"Stremio和Popcorn Time在使用者介面上很相似,因為沒有很多方法可以正確製作影片娛樂目錄:)","FAQ_05_P2":"Popcorn Time主要集中在特定來源的流媒體上,但Stremio是不受限制的,只是一個內容聚合器,它沒有鎖定到特定的內容源。","FAQ_05_P3":"此外,我們預設不提供任何Torrent外掛,因此Stremio不提供官方功能的Popcorn Time用例。","FAQ_05_P4":"另一個顯著的區別是Popcorn Time是完全開源的,而Stremio是${1}部分開源的${2}。","FAQ_06_H1":"是否要新增此電影/系列?","FAQ_06_P1":"不,對不起 :(","FAQ_06_P2":"正如大多數其他問題中提到的,Stremio本身不提供任何內容,所有內容都是透過外掛系統新增的。如果您有內容請求,您可以使用播放器中的“報告”按鈕,它將向您當前使用的外掛的作者傳送電子郵件。","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"能否為X建立外掛?","FAQ_08_P1":"完全有可能。","FAQ_08_P2":"如果您有一個外掛的想法,請在${1}office@stremio.com${2}給我們留言,但請確保您的外掛想法不會侵犯任何版權或使用條款。","FAQ_08_P3":"目前,我們路線圖上的下一件事是FandangoNOW,Filmon.tv video on demand和Crunchyroll的外掛。","FAQ_09_H1":"Stremio是否使用BitTorrent?","FAQ_09_P1":"是的,Stremio支援BitTorrent作為流媒體協議。您可以將其與Torrent外掛一起使用,也可以將.Torrent檔案拖放到Stremio中,或者將磁鐵連結貼上到搜尋欄中。","FAQ_09_P2":"請注意,使用BitTorrent的唯一官方外掛是${1}Vodo${2},它提供獨立內容,所有內容都允許與BitTorrent一起分發。","FAQ_09_P3":"我們不支援使用任何可能導致版權侵權的第三方外掛。","FAQ_10_H1":"我可以在Stremio中透過官方外掛觀看什麼節目?","FAQ_10_P1":"預設情況下,您可以在Stremio與它的嵌入式播放器觀看Filmon.tv,YouTube和Vodo的內容。另外,我們還有一個Twitch.tv外掛,以及其他一些外掛。","FAQ_10_P2":"此組合提供以下選項:","FAQ_10_L1":"Filmon.tv上的熱門電影片道,例如E4、BBC、Bollyworld TV","FAQ_10_L2":"YouTube上的所有內容,例如BBC News、Top Gear、Vevo、PewDiePie","FAQ_10_L3":"Vodo上的獨立電影","FAQ_10_L4":"Twitch.tv上的線上遊戲廣播","FAQ_10_P3":"此外,Guidebox和Netflix外掛提供了許多內容源,它們不完全在Stremio中播放,而是重定向到給定的服務。例如,Guidebox外掛將為您提供可在美國免費播放的精選電影,這些電影來自TubiTV和Crackle等服務。","FAQ_11_H1":"Stremio無法安裝,我該怎麼辦?","FAQ_11_P1":"如果您在Windows上,請嘗試${1}此替代安裝程式${2}。","FAQ_11_P2":"如果您使用的是Mac OS X,請注意,我們不支援任何比OS X Mavericks(10.9)更舊的版本。","FAQ_11_P3":"如果您使用的是Linux,請注意,我們目前只支援64位(x64)Linux。","FAQ_11_P4":"如果您仍然無法解決您的問題,請寫信給我們的${1}Facebook群組${2}。","FAQ_12_H1":"為什麼我的防毒軟體會報毒?Stremio安全嗎?","FAQ_12_P1":"我們向您保證Stremio是${1}100%安全的${2}。","FAQ_12_P2":"您的防毒軟體報毒是因為我們的安裝程式中包含廣告,一些防毒軟體將其識別為廣告軟體。","FAQ_12_P3":"如果您仍然不確定,可以嘗試我們的${1}替代安裝程式${2}。","FAQ_13_H1":"如何製作外掛?","FAQ_13_P1":"對於初學者,我們建議您檢視GitHub上的${1}外掛系統模組${2}。","FAQ_13_P2":"之後,您可以按照${1}Hello World教程${2}進行操作。","FAQ_13_P3":"如果您沒有任何程式設計技能,請在${1}Reddit社群${2}上釋出您的想法,並在${3}office@stremio.com${4}上與我們聯絡您的外掛想法。","FAQ_14_H1":"外掛是如何釋出的?","FAQ_14_P1":"當您建立一個外掛和主機,並在清單中放置一個指向工作外掛地址的<b>終端節點</b>欄位時,該外掛將自動釋出到我們的${1}外掛目錄${2}。","FAQ_14_P2":"發生這種情況是因為Stremio外掛模組的伺服器部分會自動呼叫我們的API來宣告外掛。當我們的API驗證您的<b>終端節點</b>為有效的外掛時,它將開始顯示在目錄中。","FAQ_15_H1":"我可以在瀏覽器中執行Stremio嗎?","FAQ_15_P1":"目前還沒有,但即將到來!","FAQ_15_P2":"如果您想看到Alpha版本,可以在這裡看到:${1}alpha4.strem.io${2}. 請記住,此Alpha版本上已禁用流式處理。我們支援Chrome、Firefox、Opera和Edge","FAQ_16_H1":"電視投屏不起作用/字幕不起作用","FAQ_16_P1":"電視投屏使用DLNA技術,這在不同的電視品牌和型號之間非常不一致。由於這個原因,我們沒有能力在每種情況下都測試它,所以它還遠遠不夠完美。儘管如此,我們仍在不斷改進,但我們無法為您提供DLNA能夠在您的電視上開始正常工作的預計時間。","FAQ_16_P2":"如果您在“投屏”選單中看不到您的電視,請嘗試禁用網路連線並重新啟用它(在Windows上,右鍵單擊網路並使用“啟用/禁用”),以及重新啟動路由器、電視和PC。","FAQ_16_P3":"如果您仍然遇到問題,您可以透過將您的電視品牌和型號資訊傳送到${1}來幫助我們”office@stremio.com${2}。","FAQ_16_P4":"同時,我們推薦Chromecast,我們非常支援Chromecast,或者直接用HDMI線將電視與PC連線。","FAQ_17_H1":"Stremio卡死和/或崩潰,我能做什麼?","FAQ_17_P1":"首先,如果您使用的是帶有AVG防毒軟體的Windows 7,這種組合會產生問題。問題出在AVG本身,我們這邊沒有合理的辦法解決。不幸的是,去除或禁用防毒軟體將不起作用。唯一的解決辦法是用別的東西代替AVG","FAQ_17_P2":"如果不是這個問題,但您仍在使用Windows,請更新到最新的service pack並更新/重新安裝您的GPU驅動程式,然後重試。","FAQ_17_P3":"如果您的問題仍未解決,或者您使用的是Mac或Linux,請寫信給我們,在${1}我們的Facebook群組${2}報告問題的確切細節。","FAQ_18_H1":"如何製作外掛?","FAQ_18_P1":"對於初學者,我們建議您檢視GitHub上的${1}外掛系統模組${2}。","FAQ_18_P2":"之後,您可以按照${1}Hello World教程${2}進行操作。","FAQ_18_P3":"如果您沒有任何程式設計技能,請在${1}Reddit社群${2}上釋出您的想法,並在${3}上與我們聯絡您的外掛想法。”office@stremio.com${4}。","FAQ_19_H1":"為什麼Stremio佔用磁碟空間?","FAQ_19_P1":"Stremio有一個<b>本地快取</b>來臨時儲存您流式傳輸的影片檔案。","FAQ_19_P2":"這有兩個好處:第一,它允許Stremio預先緩衝影片,以確保流媒體更流暢。其次,它將影片儲存在本地快取中,以便您可以繼續離線觀看。","FAQ_19_P3":"Stremio保留了多少取決於“設定”面板中的<b>快取設定。Stremio可能會在您的磁碟上保留到設定的數量(例如2GB),除非當前流式傳輸的影片大於該數量,在這種情況下,必須分配足夠的儲存來保留它,直到您結束流式傳輸。","FAQ_20_H1":"快取資料夾在哪裡?","FAQ_20_P1":"在Windows上,Stremio快取位於您在設定中選擇的驅動器中(例如\\"E:\\\\stremio-cache\\")","FAQ_20_P2":"在MacOS上,它位於\\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"在Linux上,它位於\\"~/.stremio/stremio-cache\\"或\\"~/stremio-cache\\"","FAQ_21_H1":"我得到\\"流媒體伺服器未找到\\"錯誤,我能做什麼?","FAQ_21_P1":"如果出現此錯誤,則表示以下幾點之一:","FAQ_21_P2":"1)您正試圖透過我們的${1}web版本${2}使用一個由YouTube/BitTorrent原始碼支援的外掛。在這種情況下,您應該從${3}我們的網站${4}安裝我們的桌面版本","FAQ_21_P3":"2)Stremio安裝有問題。在這種情況下,請嘗試從${1}網站${2}重新安裝我們的最新桌面版本。如果這沒有幫助,請嘗試禁用防毒軟體和防火牆,重新啟動電腦,然後重試。如果這依然不起作用,請寫信給我們的${3}Facebook群組${4}","FAQ_22_H1":"我無法在iOS上看到/使用大多數外掛","FAQ_22_P1":"由於Apple App Store條款和條件中的限制,我們限制iOS應用程式只能使用一組特定的外掛。","FAQ_22_P2":"不過,請放心,將來會有更多的iOS外掛,我們還可能新增一個整合,透過將iOS應用程式連線到Stremio流媒體伺服器,您將可以使用所有Stremio外掛。"}')},75232:e=>{"use strict";e.exports=JSON.parse('[{"name":"العربية","codes":["ar-AR","ara"]},{"name":"български език","codes":["bg-BG","bul"]},{"name":"বাংলা","codes":["bn-Bd","ben"]},{"name":"català","codes":["ca-CA","cat"]},{"name":"čeština","codes":["cs-CZ","ces"]},{"name":"dansk","codes":["da-DK","dan"]},{"name":"Deutsch","codes":["de-DE","deu"]},{"name":"ελληνικά","codes":["el-GR","ell"]},{"name":"English","codes":["en-US","eng"]},{"name":"Esperanto","codes":["eo-EO","epo"]},{"name":"español","codes":["es-ES","spa"]},{"name":"euskara","codes":["eu-ES","eus"]},{"name":"فارسی","codes":["fa-IR","fas"]},{"name":"Français","codes":["fr-FR","fre"]},{"name":"עברית","codes":["he-IL","heb"]},{"name":"हिन्दी","codes":["hi-IN","hin"]},{"name":"hrvatski jezik","codes":["hr-HR","hrv"]},{"name":"magyar","codes":["hu-HU","hun"]},{"name":"Bahasa Indonesia","codes":["id-ID","ind"]},{"name":"italiano","codes":["it-IT","ita"]},{"name":"日本語 (にほんご)","codes":["ja-JP","jpn"]},{"name":"한국어","codes":["ko-KR","kor"]},{"name":"македонски јазик","codes":["mk-MK","mkd"]},{"name":"ဗမာစာ","codes":["my-BM","mya"]},{"name":"Norsk bokmål","codes":["nb-NO","nob"]},{"name":"Nederlands","codes":["nl-NL","nld"]},{"name":"Norsk nynorsk","codes":["nn-NO","nno"]},{"name":"język polski","codes":["pl-PL","pol"]},{"name":"português Brazil","codes":["pt-BR","por"]},{"name":"português","codes":["pt-PT","por"]},{"name":"русский язык","codes":["ru-RU","rus"]},{"name":"Svenska","codes":["sv-SE","swe"]},{"name":"slovenski jezik","codes":["sl-SL","slv"]},{"name":"српски језик","codes":["sr-RS","srp"]},{"name":"తెలుగు","codes":["te-IN","tel"]},{"name":"Türkçe","codes":["tr-TR","tur"]},{"name":"українська мова","codes":["uk-UA","ukr"]},{"name":"Tiếng Việt","codes":["vi-VN","vie"]},{"name":"中文(中华人民共和国)","codes":["zh-CN","zho"]},{"name":"中文(香港特别行政區)","codes":["zh-HK","zho"]},{"name":"中文(台灣)","codes":["zh-TW","zho"]}]')},68832:e=>{"use strict";e.exports=JSON.parse('{"abk":"аҧсуа бызшәа","aar":"Afaraf","afr":"Afrikaans","aka":"Akan","sqi":"gjuha shqipe","amh":"አማርኛ","ara":"العربية","arg":"aragonés","hye":"Հայերեն","asm":"অসমীয়া","ava":"авар мацӀ","ave":"avesta","aym":"aymar aru","aze":"azərbaycan dili","bam":"bamanankan","bak":"башҡорт теле","eus":"euskara","bel":"беларуская мова","ben":"বাংলা","bih":"भोजपुरी","bis":"Bislama","bos":"bosanski jezik","bre":"brezhoneg","bul":"български език","mya":"ဗမာစာ","cat":"català","cha":"Chamoru","che":"нохчийн мотт","nya":"chiCheŵa","zho":"中文 (Zhōngwén)","chv":"чӑваш чӗлхи","cor":"Kernewek","cos":"corsu","cre":"ᓀᐦᐃᔭᐍᐏᐣ","hrv":"hrvatski jezik","ces":"čeština","dan":"dansk","div":"ދިވެހި","nld":"Nederlands","dzo":"རྫོང་ཁ","eng":"English","epo":"Esperanto","est":"eesti","ewe":"Eʋegbe","fao":"føroyskt","fij":"vosa Vakaviti","fin":"suomi","fre":"français","ful":"Fulfulde","glg":"galego","kat":"ქართული","ger":"Deutsch","ell":"ελληνικά","grn":"Avañe\'ẽ","guj":"ગુજરાતી","hat":"Kreyòl ayisyen","hau":"Hausa","heb":"עברית","her":"Otjiherero","hin":"हिन्दी","hmo":"Hiri Motu","hun":"magyar","ina":"Interlingua","ind":"Bahasa Indonesia","ile":"Interlingue","gle":"Gaeilge","ibo":"Asụsụ Igbo","ipk":"Iñupiaq","ido":"Ido","isl":"Íslenska","ita":"italiano","iku":"ᐃᓄᒃᑎᑐᑦ","jpn":"日本語 (にほんご)","jav":"basa Jawa","kal":"kalaallisut","kan":"ಕನ್ನಡ","kau":"Kanuri","kas":"कश्मीरी","kaz":"қазақ тілі","khm":"ខ្មែរ","kik":"Gĩkũyũ","kin":"Ikinyarwanda","kir":"Кыргызча","kom":"коми кыв","kon":"KiKongo","kor":"한국어 (韓國語)","kur":"Kurdî","kua":"Kuanyama","lat":"latine","ltz":"Lëtzebuergesch","lug":"Luganda","lim":"Limburgs","lin":"Lingála","lao":"ພາສາລາວ","lit":"lietuvių kalba","lub":"Tshiluba","lav":"latviešu valoda","glv":"Gaelg","mkd":"македонски јазик","mlg":"fiteny malagasy","msa":"bahasa Melayu","mal":"മലയാളം","mlt":"Malti","mri":"te reo Māori","mar":"मराठी","mah":"Kajin M̧ajeļ","mon":"монгол","nau":"Ekakairũ Naoero","nav":"Diné bizaad","nob":"Norsk bokmål","nde":"isiNdebele","nep":"नेपाली","ndo":"Owambo","nno":"Norsk nynorsk","nor":"Norsk","iii":"ꆈꌠ꒿ Nuosuhxop","nbl":"isiNdebele","oci":"occitan","oji":"ᐊᓂᔑᓈᐯᒧᐎᓐ","chu":"ѩзыкъ словѣньскъ","orm":"Afaan Oromoo","ori":"ଓଡ଼ିଆ","oss":"ирон æвзаг","pan":"ਪੰਜਾਬੀ","pli":"पाऴि","fas":"فارسی","pol":"język polski","pus":"پښتو","por":"português","pob":"português Brazil","que":"Runa Simi","roh":"rumantsch grischun","run":"Ikirundi","ron":"limba română","rus":"русский язык","san":"संस्कृतम्","srd":"sardu","snd":"सिन्धी","sme":"Davvisámegiella","smo":"gagana fa\'a Samoa","sag":"yângâ tî sängö","srp":"српски језик","gla":"Gàidhlig","sna":"chiShona","sin":"සිංහල","slk":"slovenčina","slv":"slovenski jezik","som":"Soomaaliga","sot":"Sesotho","spa":"español","sun":"Basa Sunda","swa":"Kiswahili","ssw":"SiSwati","swe":"Svenska","tam":"தமிழ்","tel":"తెలుగు","tgk":"тоҷикӣ","tha":"ไทย","tir":"ትግርኛ","bod":"བོད་ཡིག","tuk":"Türkmen","tgl":"Wikang Tagalog","tsn":"Setswana","ton":"faka Tonga","tur":"Türkçe","tso":"Xitsonga","tat":"татар теле","twi":"Twi","tah":"Reo Tahiti","uig":"Uyƣurqə","ukr":"українська мова","urd":"اردو","uzb":"O\'zbek","ven":"Tshivenḓa","vie":"Tiếng Việt","vol":"Volapük","wln":"walon","cym":"Cymraeg","wol":"Wollof","fry":"Frysk","xho":"isiXhosa","yid":"ייִדיש","yor":"Yorùbá","zha":"Saɯ cueŋƅ","zul":"isiZulu"}')}},t={};function a(o){var i=t[o];if(void 0!==i)return i.exports;var n=t[o]={id:o,loaded:!1,exports:{}};return e[o].call(n.exports,n,n.exports,a),n.loaded=!0,n.exports}a.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return a.d(t,{a:t}),t},a.d=(e,t)=>{for(var o in t)a.o(t,o)&&!a.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},a.g=(function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}})(),a.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),a.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{var e;a.g.importScripts&&(e=a.g.location+"");var t=a.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var o=t.getElementsByTagName("script");o.length&&(e=o[o.length-1].src)}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),a.p=e+"../../"})(),(()=>{var e,t;function o(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==a)return;var o,i,n=[],r=!0,E=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){E=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(E)throw i}}return n})(e,t)||(function(e,t){if(!e)return;if("string"==typeof e)return i(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return i(e,t)})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}var n,r=a(51206).parse((null===(e=window.navigator)||void 0===e?void 0:e.userAgent)||"");"desktop"===(null==r||null===(t=r.platform)||void 0===t?void 0:t.type)&&(null===(n=document.querySelector('meta[name="viewport"]'))||void 0===n||n.setAttribute("content",""));var E=a(67294),_=a(20745),T=a(96073),s=a(81468).initReactI18next,S=a(16567),l=a(4008),I=Object.fromEntries(Object.entries(S()).map((function(e){var t=o(e,2);return[t[0],{translation:t[1]}]})));T.use(s).init({resources:I,lng:"en-US",fallbackLng:"en-US",interpolation:{escapeValue:!1}}),_.createRoot(document.getElementById("app")).render(E.createElement(l,null)),"serviceWorker"in navigator&&window.addEventListener("load",(function(){navigator.serviceWorker.register("service-worker.js").catch((function(e){console.error("SW registration failed: ",e)}))}))})()})(); //# sourceMappingURL=main.js.map \ No newline at end of file diff --git a/feat/seek-player-action/aabab5112d6e04708a05fd6c44b6dda32362b248/scripts/main.js.map b/feat/seek-player-action/db0f16b81e41b3901bcf5e0a624af142b1dd9f00/scripts/main.js.map similarity index 99% rename from feat/seek-player-action/aabab5112d6e04708a05fd6c44b6dda32362b248/scripts/main.js.map rename to feat/seek-player-action/db0f16b81e41b3901bcf5e0a624af142b1dd9f00/scripts/main.js.map index f6fc91e3c..ee6cbdf62 100644 --- a/feat/seek-player-action/aabab5112d6e04708a05fd6c44b6dda32362b248/scripts/main.js.map +++ b/feat/seek-player-action/db0f16b81e41b3901bcf5e0a624af142b1dd9f00/scripts/main.js.map @@ -1 +1 @@ -{"version":3,"file":"aabab5112d6e04708a05fd6c44b6dda32362b248/scripts/main.js","mappings":"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","sources":["webpack://stremio/./node_modules/@babel/runtime/helpers/arrayLikeToArray.js","webpack://stremio/./node_modules/@babel/runtime/helpers/arrayWithHoles.js","webpack://stremio/./node_modules/@babel/runtime/helpers/classCallCheck.js","webpack://stremio/./node_modules/@babel/runtime/helpers/createClass.js","webpack://stremio/./node_modules/@babel/runtime/helpers/defineProperty.js","webpack://stremio/./node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack://stremio/./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","webpack://stremio/./node_modules/@babel/runtime/helpers/nonIterableRest.js","webpack://stremio/./node_modules/@babel/runtime/helpers/objectWithoutProperties.js","webpack://stremio/./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","webpack://stremio/./node_modules/@babel/runtime/helpers/slicedToArray.js","webpack://stremio/./node_modules/@babel/runtime/helpers/typeof.js","webpack://stremio/./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","webpack://stremio/./node_modules/@stremio/stremio-core-web/bridge.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/ChromecastSenderVideo/ChromecastSenderVideo.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/ChromecastSenderVideo/index.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/HTMLVideo/HTMLVideo.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/HTMLVideo/getContentType.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/HTMLVideo/hlsConfig.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/HTMLVideo/index.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/IFrameVideo/IFrameVideo.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/IFrameVideo/index.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/ShellVideo/ShellVideo.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/ShellVideo/index.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/StremioVideo/StremioVideo.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/StremioVideo/index.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/StremioVideo/selectVideoImplementation.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/TizenVideo/AVPlay.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/TizenVideo/TizenVideo.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/TizenVideo/index.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/WebOsVideo/WebOsVideo.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/WebOsVideo/index.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/YouTubeVideo/YouTubeVideo.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/YouTubeVideo/index.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/error.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/index.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/mediaCapabilities.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/supportsTranscoding.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/tracksData.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/withHTMLSubtitles/binarySearchUpperBound.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/withHTMLSubtitles/index.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/withHTMLSubtitles/subtitlesConverter.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/withHTMLSubtitles/subtitlesParser.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/withHTMLSubtitles/subtitlesRenderer.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/withHTMLSubtitles/withHTMLSubtitles.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/withStreamingServer/convertStream.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/withStreamingServer/createTorrent.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/withStreamingServer/fetchVideoParams.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/withStreamingServer/index.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/withStreamingServer/isPlayerLoaded.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/withStreamingServer/withStreamingServer.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/withVideoParams/index.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/withVideoParams/withVideoParams.js","webpack://stremio/./node_modules/a-color-picker/dist/acolorpicker.js","webpack://stremio/./src/App/App.js","webpack://stremio/./src/App/DeepLinkHandler.js","webpack://stremio/./src/App/ErrorDialog/ErrorDialog.js","webpack://stremio/./src/App/ErrorDialog/index.js","webpack://stremio/./src/App/SearchParamsHandler.js","webpack://stremio/./src/App/ServicesToaster.js","webpack://stremio/./src/App/index.js","webpack://stremio/./src/App/routerViewsConfig.js","webpack://stremio/./src/App/withProtectedRoutes.js","webpack://stremio/./src/common/AddonDetailsModal/AddonDetails/AddonDetails.js","webpack://stremio/./src/common/AddonDetailsModal/AddonDetails/index.js","webpack://stremio/./src/common/AddonDetailsModal/AddonDetailsModal.js","webpack://stremio/./src/common/AddonDetailsModal/index.js","webpack://stremio/./src/common/AddonDetailsModal/useAddonDetails.js","webpack://stremio/./src/common/Button/Button.js","webpack://stremio/./src/common/Button/index.js","webpack://stremio/./src/common/CONSTANTS.js","webpack://stremio/./src/common/Checkbox/Checkbox.js","webpack://stremio/./src/common/Checkbox/index.js","webpack://stremio/./src/common/ColorInput/ColorInput.js","webpack://stremio/./src/common/ColorInput/ColorPicker/ColorPicker.js","webpack://stremio/./src/common/ColorInput/ColorPicker/index.js","webpack://stremio/./src/common/ColorInput/index.js","webpack://stremio/./src/common/ContinueWatchingItem/ContinueWatchingItem.js","webpack://stremio/./src/common/ContinueWatchingItem/index.js","webpack://stremio/./src/common/CoreSuspender.js","webpack://stremio/./src/common/DelayedRenderer/DelayedRenderer.js","webpack://stremio/./src/common/DelayedRenderer/index.js","webpack://stremio/./src/common/EventModal/EventModal.js","webpack://stremio/./src/common/EventModal/index.js","webpack://stremio/./src/common/EventModal/useEvents.js","webpack://stremio/./src/common/Image/Image.js","webpack://stremio/./src/common/Image/index.js","webpack://stremio/./src/common/LibItem/LibItem.js","webpack://stremio/./src/common/LibItem/index.js","webpack://stremio/./src/common/MainNavBars/MainNavBars.js","webpack://stremio/./src/common/MainNavBars/index.js","webpack://stremio/./src/common/MetaItem/MetaItem.js","webpack://stremio/./src/common/MetaItem/index.js","webpack://stremio/./src/common/MetaPreview/ActionButton/ActionButton.js","webpack://stremio/./src/common/MetaPreview/ActionButton/index.js","webpack://stremio/./src/common/MetaPreview/MetaLinks/MetaLinks.js","webpack://stremio/./src/common/MetaPreview/MetaLinks/index.js","webpack://stremio/./src/common/MetaPreview/MetaPreview.js","webpack://stremio/./src/common/MetaPreview/MetaPreviewPlaceholder/MetaPreviewPlaceholder.js","webpack://stremio/./src/common/MetaPreview/MetaPreviewPlaceholder/index.js","webpack://stremio/./src/common/MetaPreview/index.js","webpack://stremio/./src/common/MetaRow/MetaRow.js","webpack://stremio/./src/common/MetaRow/MetaRowPlaceholder/MetaRowPlaceholder.js","webpack://stremio/./src/common/MetaRow/MetaRowPlaceholder/index.js","webpack://stremio/./src/common/MetaRow/index.js","webpack://stremio/./src/common/ModalDialog/ModalDialog.js","webpack://stremio/./src/common/ModalDialog/index.js","webpack://stremio/./src/common/Multiselect/Multiselect.js","webpack://stremio/./src/common/Multiselect/index.js","webpack://stremio/./src/common/NavBar/HorizontalNavBar/HorizontalNavBar.js","webpack://stremio/./src/common/NavBar/HorizontalNavBar/NavMenu/NavMenu.js","webpack://stremio/./src/common/NavBar/HorizontalNavBar/NavMenu/NavMenuContent.js","webpack://stremio/./src/common/NavBar/HorizontalNavBar/NavMenu/index.js","webpack://stremio/./src/common/NavBar/HorizontalNavBar/SearchBar/SearchBar.js","webpack://stremio/./src/common/NavBar/HorizontalNavBar/SearchBar/index.js","webpack://stremio/./src/common/NavBar/HorizontalNavBar/SearchBar/useLocalSearch.js","webpack://stremio/./src/common/NavBar/HorizontalNavBar/SearchBar/useSearchHistory.js","webpack://stremio/./src/common/NavBar/HorizontalNavBar/index.js","webpack://stremio/./src/common/NavBar/VerticalNavBar/NavTabButton/NavTabButton.js","webpack://stremio/./src/common/NavBar/VerticalNavBar/NavTabButton/index.js","webpack://stremio/./src/common/NavBar/VerticalNavBar/VerticalNavBar.js","webpack://stremio/./src/common/NavBar/VerticalNavBar/index.js","webpack://stremio/./src/common/NavBar/index.js","webpack://stremio/./src/common/PaginationInput/PaginationInput.js","webpack://stremio/./src/common/PaginationInput/index.js","webpack://stremio/./src/common/PlayIconCircleCentered/PlayIconCircleCentered.js","webpack://stremio/./src/common/PlayIconCircleCentered/index.js","webpack://stremio/./src/common/Popup/Popup.js","webpack://stremio/./src/common/Popup/index.js","webpack://stremio/./src/common/SearchBar/SearchBar.js","webpack://stremio/./src/common/SearchBar/SearchBarPlaceholder/SearchBarPlaceholder.js","webpack://stremio/./src/common/SearchBar/SearchBarPlaceholder/index.js","webpack://stremio/./src/common/SearchBar/index.js","webpack://stremio/./src/common/SharePrompt/SharePrompt.js","webpack://stremio/./src/common/SharePrompt/index.js","webpack://stremio/./src/common/Slider/Slider.js","webpack://stremio/./src/common/Slider/index.js","webpack://stremio/./src/common/StreamingServerWarning/StreamingServerWarning.js","webpack://stremio/./src/common/StreamingServerWarning/index.js","webpack://stremio/./src/common/TextInput/TextInput.js","webpack://stremio/./src/common/TextInput/index.js","webpack://stremio/./src/common/Toast/ToastContext.js","webpack://stremio/./src/common/Toast/ToastItem/ToastItem.js","webpack://stremio/./src/common/Toast/ToastItem/index.js","webpack://stremio/./src/common/Toast/ToastProvider.js","webpack://stremio/./src/common/Toast/index.js","webpack://stremio/./src/common/Toast/useToast.js","webpack://stremio/./src/common/Tooltips/Tooltip/Tooltip.js","webpack://stremio/./src/common/Tooltips/Tooltip/index.js","webpack://stremio/./src/common/Tooltips/TooltipContext.js","webpack://stremio/./src/common/Tooltips/TooltipItem/TooltipItem.js","webpack://stremio/./src/common/Tooltips/TooltipItem/index.js","webpack://stremio/./src/common/Tooltips/TooltipProvider.js","webpack://stremio/./src/common/Tooltips/index.js","webpack://stremio/./src/common/Tooltips/useTooltip.js","webpack://stremio/./src/common/comparatorWithPriorities.js","webpack://stremio/./src/common/getVisibleChildrenRange.js","webpack://stremio/./src/common/index.js","webpack://stremio/./src/common/routesRegexp.js","webpack://stremio/./src/common/useAnimationFrame.js","webpack://stremio/./src/common/useBinaryState.js","webpack://stremio/./src/common/useFullscreen.js","webpack://stremio/./src/common/useLiveRef.js","webpack://stremio/./src/common/useModelState.js","webpack://stremio/./src/common/useNotifications.js","webpack://stremio/./src/common/useOnScrollToBottom.js","webpack://stremio/./src/common/usePWA.js","webpack://stremio/./src/common/useProfile.js","webpack://stremio/./src/common/useStreamingServer.js","webpack://stremio/./src/common/useTorrent.js","webpack://stremio/./src/common/useTranslate.js","webpack://stremio/./src/router/Modal/Modal.js","webpack://stremio/./src/router/Modal/index.js","webpack://stremio/./src/router/ModalsContainerContext/ModalsContainerContext.js","webpack://stremio/./src/router/ModalsContainerContext/ModalsContainerProvider.js","webpack://stremio/./src/router/ModalsContainerContext/index.js","webpack://stremio/./src/router/ModalsContainerContext/useModalsContainer.js","webpack://stremio/./src/router/Route/Route.js","webpack://stremio/./src/router/Route/index.js","webpack://stremio/./src/router/RouteFocusedContext/RouteFocusedContext.js","webpack://stremio/./src/router/RouteFocusedContext/index.js","webpack://stremio/./src/router/RouteFocusedContext/useRouteFocused.js","webpack://stremio/./src/router/Router/Router.js","webpack://stremio/./src/router/Router/index.js","webpack://stremio/./src/router/Router/routeConfigForPath.js","webpack://stremio/./src/router/Router/urlParamsForPath.js","webpack://stremio/./src/router/index.js","webpack://stremio/./src/routes/Addons/Addon/Addon.js","webpack://stremio/./src/routes/Addons/Addon/index.js","webpack://stremio/./src/routes/Addons/Addons.js","webpack://stremio/./src/routes/Addons/index.js","webpack://stremio/./src/routes/Addons/useAddonDetailsTransportUrl.js","webpack://stremio/./src/routes/Addons/useInstalledAddons.js","webpack://stremio/./src/routes/Addons/useRemoteAddons.js","webpack://stremio/./src/routes/Addons/useSelectableInputs.js","webpack://stremio/./src/routes/Board/Board.js","webpack://stremio/./src/routes/Board/index.js","webpack://stremio/./src/routes/Board/useBoard.js","webpack://stremio/./src/routes/Board/useContinueWatchingPreview.js","webpack://stremio/./src/routes/Discover/Discover.js","webpack://stremio/./src/routes/Discover/index.js","webpack://stremio/./src/routes/Discover/useDiscover.js","webpack://stremio/./src/routes/Discover/useSelectableInputs.js","webpack://stremio/./src/routes/Intro/ConsentCheckbox/ConsentCheckbox.js","webpack://stremio/./src/routes/Intro/ConsentCheckbox/index.js","webpack://stremio/./src/routes/Intro/CredentialsTextInput/CredentialsTextInput.js","webpack://stremio/./src/routes/Intro/CredentialsTextInput/index.js","webpack://stremio/./src/routes/Intro/Intro.js","webpack://stremio/./src/routes/Intro/PasswordResetModal/PasswordResetModal.js","webpack://stremio/./src/routes/Intro/PasswordResetModal/index.js","webpack://stremio/./src/routes/Intro/index.js","webpack://stremio/./src/routes/Library/Library.js","webpack://stremio/./src/routes/Library/index.js","webpack://stremio/./src/routes/Library/useLibrary.js","webpack://stremio/./src/routes/Library/useSelectableInputs.js","webpack://stremio/./src/routes/MetaDetails/MetaDetails.js","webpack://stremio/./src/routes/MetaDetails/StreamsList/Stream/Stream.js","webpack://stremio/./src/routes/MetaDetails/StreamsList/Stream/StreamPlaceholder/StreamPlaceholder.js","webpack://stremio/./src/routes/MetaDetails/StreamsList/Stream/StreamPlaceholder/index.js","webpack://stremio/./src/routes/MetaDetails/StreamsList/Stream/index.js","webpack://stremio/./src/routes/MetaDetails/StreamsList/StreamsList.js","webpack://stremio/./src/routes/MetaDetails/StreamsList/index.js","webpack://stremio/./src/routes/MetaDetails/VideosList/SeasonsBar/SeasonsBar.js","webpack://stremio/./src/routes/MetaDetails/VideosList/SeasonsBar/SeasonsBarPlaceholder/SeasonsBarPlaceholder.js","webpack://stremio/./src/routes/MetaDetails/VideosList/SeasonsBar/SeasonsBarPlaceholder/index.js","webpack://stremio/./src/routes/MetaDetails/VideosList/SeasonsBar/index.js","webpack://stremio/./src/routes/MetaDetails/VideosList/Video/Video.js","webpack://stremio/./src/routes/MetaDetails/VideosList/Video/VideoPlaceholder/VideoPlaceholder.js","webpack://stremio/./src/routes/MetaDetails/VideosList/Video/VideoPlaceholder/index.js","webpack://stremio/./src/routes/MetaDetails/VideosList/Video/index.js","webpack://stremio/./src/routes/MetaDetails/VideosList/VideosList.js","webpack://stremio/./src/routes/MetaDetails/VideosList/index.js","webpack://stremio/./src/routes/MetaDetails/index.js","webpack://stremio/./src/routes/MetaDetails/useMetaDetails.js","webpack://stremio/./src/routes/MetaDetails/useMetaExtensionTabs.js","webpack://stremio/./src/routes/MetaDetails/useSeason.js","webpack://stremio/./src/routes/NotFound/NotFound.js","webpack://stremio/./src/routes/NotFound/index.js","webpack://stremio/./src/routes/Player/BufferingLoader/BufferingLoader.js","webpack://stremio/./src/routes/Player/BufferingLoader/index.js","webpack://stremio/./src/routes/Player/ControlBar/ControlBar.js","webpack://stremio/./src/routes/Player/ControlBar/SeekBar/SeekBar.js","webpack://stremio/./src/routes/Player/ControlBar/SeekBar/formatTime.js","webpack://stremio/./src/routes/Player/ControlBar/SeekBar/index.js","webpack://stremio/./src/routes/Player/ControlBar/VolumeSlider/VolumeSlider.js","webpack://stremio/./src/routes/Player/ControlBar/VolumeSlider/index.js","webpack://stremio/./src/routes/Player/ControlBar/index.js","webpack://stremio/./src/routes/Player/Error/Error.js","webpack://stremio/./src/routes/Player/Error/index.js","webpack://stremio/./src/routes/Player/InfoMenu/InfoMenu.js","webpack://stremio/./src/routes/Player/InfoMenu/index.js","webpack://stremio/./src/routes/Player/NextVideoPopup/NextVideoPopup.js","webpack://stremio/./src/routes/Player/NextVideoPopup/index.js","webpack://stremio/./src/routes/Player/OptionsMenu/Option/Option.js","webpack://stremio/./src/routes/Player/OptionsMenu/Option/index.js","webpack://stremio/./src/routes/Player/OptionsMenu/OptionsMenu.js","webpack://stremio/./src/routes/Player/OptionsMenu/index.js","webpack://stremio/./src/routes/Player/Player.js","webpack://stremio/./src/routes/Player/SpeedMenu/Option/Option.js","webpack://stremio/./src/routes/Player/SpeedMenu/Option/index.js","webpack://stremio/./src/routes/Player/SpeedMenu/SpeedMenu.js","webpack://stremio/./src/routes/Player/SpeedMenu/index.js","webpack://stremio/./src/routes/Player/StatisticsMenu/StatisticsMenu.js","webpack://stremio/./src/routes/Player/StatisticsMenu/index.js","webpack://stremio/./src/routes/Player/SubtitlesMenu/DiscreteSelectInput/DiscreteSelectInput.js","webpack://stremio/./src/routes/Player/SubtitlesMenu/DiscreteSelectInput/index.js","webpack://stremio/./src/routes/Player/SubtitlesMenu/SubtitlesMenu.js","webpack://stremio/./src/routes/Player/SubtitlesMenu/index.js","webpack://stremio/./src/routes/Player/Video/Video.js","webpack://stremio/./src/routes/Player/Video/index.js","webpack://stremio/./src/routes/Player/VideosMenu/VideosMenu.js","webpack://stremio/./src/routes/Player/VideosMenu/index.js","webpack://stremio/./src/routes/Player/VolumeChangeIndicator/VolumeChangeIndicator.js","webpack://stremio/./src/routes/Player/VolumeChangeIndicator/index.js","webpack://stremio/./src/routes/Player/index.js","webpack://stremio/./src/routes/Player/usePlayer.js","webpack://stremio/./src/routes/Player/useSettings.js","webpack://stremio/./src/routes/Player/useStatistics.js","webpack://stremio/./src/routes/Player/useVideo.js","webpack://stremio/./src/routes/Search/Search.js","webpack://stremio/./src/routes/Search/index.js","webpack://stremio/./src/routes/Search/useSearch.js","webpack://stremio/./src/routes/Settings/Settings.js","webpack://stremio/./src/routes/Settings/index.js","webpack://stremio/./src/routes/Settings/useDataExport.js","webpack://stremio/./src/routes/Settings/useProfileSettingsInputs.js","webpack://stremio/./src/routes/Settings/useStreamingServerSettingsInputs.js","webpack://stremio/./src/routes/index.js","webpack://stremio/./src/services/Chromecast/Chromecast.js","webpack://stremio/./src/services/Chromecast/ChromecastTransport.js","webpack://stremio/./src/services/Chromecast/index.js","webpack://stremio/./src/services/Core/Core.js","webpack://stremio/./src/services/Core/CoreTransport.js","webpack://stremio/./src/services/Core/index.js","webpack://stremio/./src/services/DragAndDrop/DragAndDrop.js","webpack://stremio/./src/services/DragAndDrop/index.js","webpack://stremio/./src/services/KeyboardShortcuts/KeyboardShortcuts.js","webpack://stremio/./src/services/KeyboardShortcuts/index.js","webpack://stremio/./src/services/ServicesContext/ServicesContext.js","webpack://stremio/./src/services/ServicesContext/ServicesProvider.js","webpack://stremio/./src/services/ServicesContext/index.js","webpack://stremio/./src/services/ServicesContext/useServices.js","webpack://stremio/./src/services/Shell/Shell.js","webpack://stremio/./src/services/Shell/ShellTransport.js","webpack://stremio/./src/services/Shell/index.js","webpack://stremio/./src/services/index.js","webpack://stremio/./node_modules/base64-js/index.js","webpack://stremio/./node_modules/bep53-range/index.js","webpack://stremio/./node_modules/bowser/es5.js","webpack://stremio/./node_modules/buffer/index.js","webpack://stremio/./node_modules/classnames/index.js","webpack://stremio/./node_modules/color-name/index.js","webpack://stremio/./node_modules/color-string/index.js","webpack://stremio/./node_modules/color/index.js","webpack://stremio/./node_modules/color/node_modules/color-convert/conversions.js","webpack://stremio/./node_modules/color/node_modules/color-convert/index.js","webpack://stremio/./node_modules/color/node_modules/color-convert/route.js","webpack://stremio/./node_modules/color/node_modules/color-name/index.js","webpack://stremio/./node_modules/deep-freeze/index.js","webpack://stremio/./node_modules/eventemitter3/index.js","webpack://stremio/./node_modules/filter-invalid-dom-props/dist/index.js","webpack://stremio/./node_modules/hat/index.js","webpack://stremio/./node_modules/hls.js/dist/hls.js","webpack://stremio/./node_modules/html-attributes/lib/html-attributes.js","webpack://stremio/./node_modules/html-parse-stringify/dist/html-parse-stringify.module.js","webpack://stremio/./node_modules/i18next/dist/cjs/i18next.js","webpack://stremio/./node_modules/ieee754/index.js","webpack://stremio/./node_modules/langs/data.js","webpack://stremio/./node_modules/langs/index.js","webpack://stremio/./node_modules/lodash.clonedeep/index.js","webpack://stremio/./node_modules/lodash.debounce/index.js","webpack://stremio/./node_modules/lodash.intersection/index.js","webpack://stremio/./node_modules/lodash.isequal/index.js","webpack://stremio/./node_modules/lodash.throttle/index.js","webpack://stremio/./node_modules/magnet-uri/index.js","webpack://stremio/./src/App/ErrorDialog/styles.less?f866","webpack://stremio/./src/App/styles.less?a3a2","webpack://stremio/./src/common/AddonDetailsModal/AddonDetails/styles.less?e44e","webpack://stremio/./src/common/AddonDetailsModal/styles.less?daa0","webpack://stremio/./src/common/Button/styles.less?f6ef","webpack://stremio/./src/common/Checkbox/styles.less?e7d7","webpack://stremio/./src/common/Chips/Chip/Chip.less?f16b","webpack://stremio/./src/common/Chips/Chips.less?d314","webpack://stremio/./src/common/ColorInput/ColorPicker/styles.less?01f5","webpack://stremio/./src/common/ColorInput/styles.less?b975","webpack://stremio/./src/common/EventModal/styles.less?3c73","webpack://stremio/./src/common/MainNavBars/styles.less?149d","webpack://stremio/./src/common/MetaItem/styles.less?0aa2","webpack://stremio/./src/common/MetaPreview/ActionButton/styles.less?f962","webpack://stremio/./src/common/MetaPreview/MetaLinks/styles.less?a7b3","webpack://stremio/./src/common/MetaPreview/MetaPreviewPlaceholder/styles.less?d29c","webpack://stremio/./src/common/MetaPreview/styles.less?b078","webpack://stremio/./src/common/MetaRow/MetaRowPlaceholder/styles.less?4cee","webpack://stremio/./src/common/MetaRow/styles.less?e19b","webpack://stremio/./src/common/ModalDialog/styles.less?f557","webpack://stremio/./src/common/Multiselect/styles.less?00ba","webpack://stremio/./src/common/MultiselectMenu/Dropdown/Dropdown.less?42ff","webpack://stremio/./src/common/MultiselectMenu/Dropdown/Option/Option.less?7cbc","webpack://stremio/./src/common/MultiselectMenu/MultiselectMenu.less?145a","webpack://stremio/./src/common/NavBar/HorizontalNavBar/NavMenu/styles.less?a82f","webpack://stremio/./src/common/NavBar/HorizontalNavBar/SearchBar/styles.less?ed38","webpack://stremio/./src/common/NavBar/HorizontalNavBar/styles.less?bd4a","webpack://stremio/./src/common/NavBar/VerticalNavBar/NavTabButton/styles.less?9e13","webpack://stremio/./src/common/NavBar/VerticalNavBar/styles.less?8a94","webpack://stremio/./src/common/PaginationInput/styles.less?83da","webpack://stremio/./src/common/PlayIconCircleCentered/styles.less?3cb2","webpack://stremio/./src/common/Popup/styles.less?ce0a","webpack://stremio/./src/common/SearchBar/SearchBarPlaceholder/styles.less?cb7f","webpack://stremio/./src/common/SearchBar/styles.less?8a38","webpack://stremio/./src/common/SharePrompt/styles.less?769b","webpack://stremio/./src/common/Slider/styles.less?a28a","webpack://stremio/./src/common/StreamingServerWarning/styles.less?3dce","webpack://stremio/./src/common/TextInput/styles.less?a53f","webpack://stremio/./src/common/Toast/ToastItem/styles.less?e523","webpack://stremio/./src/common/Tooltips/Tooltip/styles.less?87c2","webpack://stremio/./src/common/Tooltips/TooltipItem/styles.less?04dc","webpack://stremio/./src/routes/Addons/Addon/styles.less?787c","webpack://stremio/./src/routes/Addons/styles.less?c489","webpack://stremio/./src/routes/Board/styles.less?32b2","webpack://stremio/./src/routes/Discover/styles.less?67aa","webpack://stremio/./src/routes/Intro/ConsentCheckbox/styles.less?2122","webpack://stremio/./src/routes/Intro/PasswordResetModal/styles.less?a4a7","webpack://stremio/./src/routes/Intro/styles.less?1949","webpack://stremio/./src/routes/Library/styles.less?d437","webpack://stremio/./src/routes/MetaDetails/StreamsList/Stream/StreamPlaceholder/styles.less?94f4","webpack://stremio/./src/routes/MetaDetails/StreamsList/Stream/styles.less?951b","webpack://stremio/./src/routes/MetaDetails/StreamsList/styles.less?6933","webpack://stremio/./src/routes/MetaDetails/VideosList/SeasonsBar/SeasonsBarPlaceholder/styles.less?6425","webpack://stremio/./src/routes/MetaDetails/VideosList/SeasonsBar/styles.less?4d31","webpack://stremio/./src/routes/MetaDetails/VideosList/Video/VideoPlaceholder/styles.less?3cd7","webpack://stremio/./src/routes/MetaDetails/VideosList/Video/styles.less?6f1f","webpack://stremio/./src/routes/MetaDetails/VideosList/styles.less?085a","webpack://stremio/./src/routes/MetaDetails/styles.less?4963","webpack://stremio/./src/routes/NotFound/styles.less?b178","webpack://stremio/./src/routes/Player/BufferingLoader/styles.less?ac36","webpack://stremio/./src/routes/Player/ControlBar/SeekBar/styles.less?c452","webpack://stremio/./src/routes/Player/ControlBar/VolumeSlider/styles.less?1808","webpack://stremio/./src/routes/Player/ControlBar/styles.less?4100","webpack://stremio/./src/routes/Player/Error/styles.less?d9be","webpack://stremio/./src/routes/Player/InfoMenu/styles.less?78f1","webpack://stremio/./src/routes/Player/NextVideoPopup/styles.less?fc91","webpack://stremio/./src/routes/Player/OptionsMenu/Option/styles.less?b489","webpack://stremio/./src/routes/Player/OptionsMenu/styles.less?fddd","webpack://stremio/./src/routes/Player/SpeedMenu/Option/styles.less?9561","webpack://stremio/./src/routes/Player/SpeedMenu/styles.less?784c","webpack://stremio/./src/routes/Player/StatisticsMenu/styles.less?7116","webpack://stremio/./src/routes/Player/SubtitlesMenu/DiscreteSelectInput/styles.less?a694","webpack://stremio/./src/routes/Player/SubtitlesMenu/styles.less?53a7","webpack://stremio/./src/routes/Player/Video/styles.less?2b2e","webpack://stremio/./src/routes/Player/VideosMenu/styles.less?178e","webpack://stremio/./src/routes/Player/VolumeChangeIndicator/styles.less?1abc","webpack://stremio/./src/routes/Player/styles.less?fe0e","webpack://stremio/./src/routes/Search/styles.less?d16b","webpack://stremio/./src/routes/Settings/styles.less?f385","webpack://stremio/./node_modules/prop-types/factoryWithThrowingShims.js","webpack://stremio/./node_modules/prop-types/index.js","webpack://stremio/./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://stremio/./node_modules/punycode/punycode.js","webpack://stremio/./node_modules/querystring/decode.js","webpack://stremio/./node_modules/querystring/encode.js","webpack://stremio/./node_modules/querystring/index.js","webpack://stremio/./node_modules/react-dom/cjs/react-dom.production.min.js","webpack://stremio/./node_modules/react-dom/client.js","webpack://stremio/./node_modules/react-dom/index.js","webpack://stremio/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://stremio/./node_modules/focus-lock/dist/es2015/constants.js","webpack://stremio/./node_modules/use-callback-ref/dist/es2015/useMergeRef.js","webpack://stremio/./node_modules/use-callback-ref/dist/es2015/useRef.js","webpack://stremio/./node_modules/use-callback-ref/dist/es2015/assignRef.js","webpack://stremio/./node_modules/react-focus-lock/dist/es2015/FocusGuard.js","webpack://stremio/./node_modules/use-sidecar/node_modules/tslib/tslib.es6.js","webpack://stremio/./node_modules/use-sidecar/dist/es2015/medium.js","webpack://stremio/./node_modules/react-focus-lock/dist/es2015/medium.js","webpack://stremio/./node_modules/react-focus-lock/dist/es2015/Lock.js","webpack://stremio/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://stremio/./node_modules/react-clientside-effect/lib/index.es.js","webpack://stremio/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://stremio/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://stremio/./node_modules/focus-lock/dist/es2015/utils/is.js","webpack://stremio/./node_modules/focus-lock/dist/es2015/utils/correctFocus.js","webpack://stremio/./node_modules/focus-lock/dist/es2015/utils/firstFocus.js","webpack://stremio/./node_modules/focus-lock/dist/es2015/solver.js","webpack://stremio/./node_modules/focus-lock/dist/es2015/utils/array.js","webpack://stremio/./node_modules/focus-lock/dist/es2015/utils/tabOrder.js","webpack://stremio/./node_modules/focus-lock/dist/es2015/utils/tabUtils.js","webpack://stremio/./node_modules/focus-lock/dist/es2015/utils/tabbables.js","webpack://stremio/./node_modules/focus-lock/dist/es2015/utils/DOMutils.js","webpack://stremio/./node_modules/focus-lock/dist/es2015/utils/all-affected.js","webpack://stremio/./node_modules/focus-lock/dist/es2015/utils/getActiveElement.js","webpack://stremio/./node_modules/focus-lock/dist/es2015/utils/parenting.js","webpack://stremio/./node_modules/focus-lock/dist/es2015/focusMerge.js","webpack://stremio/./node_modules/focus-lock/dist/es2015/setFocus.js","webpack://stremio/./node_modules/focus-lock/dist/es2015/index.js","webpack://stremio/./node_modules/focus-lock/dist/es2015/focusIsHidden.js","webpack://stremio/./node_modules/focus-lock/dist/es2015/focusInside.js","webpack://stremio/./node_modules/focus-lock/dist/es2015/focusables.js","webpack://stremio/./node_modules/react-focus-lock/dist/es2015/util.js","webpack://stremio/./node_modules/react-focus-lock/dist/es2015/Trap.js","webpack://stremio/./node_modules/react-focus-lock/dist/es2015/Combination.js","webpack://stremio/./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack://stremio/./node_modules/react-focus-lock/dist/es2015/index.js","webpack://stremio/./node_modules/react-i18next/dist/commonjs/I18nextProvider.js","webpack://stremio/./node_modules/react-i18next/dist/commonjs/Trans.js","webpack://stremio/./node_modules/react-i18next/dist/commonjs/TransWithoutContext.js","webpack://stremio/./node_modules/react-i18next/dist/commonjs/Translation.js","webpack://stremio/./node_modules/react-i18next/dist/commonjs/context.js","webpack://stremio/./node_modules/react-i18next/dist/commonjs/defaults.js","webpack://stremio/./node_modules/react-i18next/dist/commonjs/i18nInstance.js","webpack://stremio/./node_modules/react-i18next/dist/commonjs/index.js","webpack://stremio/./node_modules/react-i18next/dist/commonjs/initReactI18next.js","webpack://stremio/./node_modules/react-i18next/dist/commonjs/unescape.js","webpack://stremio/./node_modules/react-i18next/dist/commonjs/useSSR.js","webpack://stremio/./node_modules/react-i18next/dist/commonjs/useTranslation.js","webpack://stremio/./node_modules/react-i18next/dist/commonjs/utils.js","webpack://stremio/./node_modules/react-i18next/dist/commonjs/withSSR.js","webpack://stremio/./node_modules/react-i18next/dist/commonjs/withTranslation.js","webpack://stremio/./node_modules/react-is/cjs/react-is.production.min.js","webpack://stremio/./node_modules/react-is/index.js","webpack://stremio/./node_modules/react/cjs/react.production.min.js","webpack://stremio/./node_modules/react/index.js","webpack://stremio/./node_modules/scheduler/cjs/scheduler.production.min.js","webpack://stremio/./node_modules/scheduler/index.js","webpack://stremio/./node_modules/simple-swizzle/index.js","webpack://stremio/./node_modules/simple-swizzle/node_modules/is-arrayish/index.js","webpack://stremio/./node_modules/spatial-navigation-polyfill/polyfill/spatial-navigation-polyfill.js","webpack://stremio/./node_modules/stremio-translations/index.js","webpack://stremio/./node_modules/thirty-two/lib/thirty-two/index.js","webpack://stremio/./node_modules/thirty-two/lib/thirty-two/thirty-two.js","webpack://stremio/./src/common/Chips/Chip/Chip.tsx","webpack://stremio/./src/common/Chips/Chip/index.ts","webpack://stremio/./src/common/Chips/Chips.tsx","webpack://stremio/./src/common/Chips/index.ts","webpack://stremio/./src/common/MultiselectMenu/Dropdown/Dropdown.tsx","webpack://stremio/./src/common/MultiselectMenu/Dropdown/Option/Option.tsx","webpack://stremio/./src/common/MultiselectMenu/Dropdown/Option/index.ts","webpack://stremio/./src/common/MultiselectMenu/Dropdown/index.ts","webpack://stremio/./src/common/MultiselectMenu/MultiselectMenu.tsx","webpack://stremio/./src/common/MultiselectMenu/index.ts","webpack://stremio/./src/common/Platform/Platform.tsx","webpack://stremio/./src/common/Platform/device.ts","webpack://stremio/./src/common/Platform/index.ts","webpack://stremio/./src/common/Platform/useShell.ts","webpack://stremio/./src/common/useOutsideClick.ts","webpack://stremio/./src/routes/Intro/useFacebookLogin.ts","webpack://stremio/./node_modules/url/url.js","webpack://stremio/./node_modules/url/util.js","webpack://stremio/./node_modules/use-long-press/index.js","webpack://stremio/./node_modules/void-elements/index.js","webpack://stremio/./node_modules/vtt.js/lib/index.js","webpack://stremio/./node_modules/vtt.js/lib/vtt.js","webpack://stremio/./node_modules/vtt.js/lib/vttcue-extended.js","webpack://stremio/./node_modules/vtt.js/lib/vttcue.js","webpack://stremio/./node_modules/vtt.js/lib/vttregion-extended.js","webpack://stremio/./node_modules/vtt.js/lib/vttregion.js","webpack://stremio/./node_modules/@stremio/stremio-core-web/node_modules/@babel/runtime/helpers/asyncToGenerator.js","webpack://stremio/./node_modules/@stremio/stremio-core-web/node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack://stremio/./node_modules/@stremio/stremio-core-web/node_modules/@babel/runtime/helpers/regeneratorRuntime.js","webpack://stremio/./node_modules/@stremio/stremio-core-web/node_modules/@babel/runtime/helpers/typeof.js","webpack://stremio/./node_modules/@stremio/stremio-core-web/node_modules/@babel/runtime/regenerator/index.js","webpack://stremio/./node_modules/i18next/node_modules/@babel/runtime/helpers/arrayLikeToArray.js","webpack://stremio/./node_modules/i18next/node_modules/@babel/runtime/helpers/arrayWithHoles.js","webpack://stremio/./node_modules/i18next/node_modules/@babel/runtime/helpers/assertThisInitialized.js","webpack://stremio/./node_modules/i18next/node_modules/@babel/runtime/helpers/classCallCheck.js","webpack://stremio/./node_modules/i18next/node_modules/@babel/runtime/helpers/createClass.js","webpack://stremio/./node_modules/i18next/node_modules/@babel/runtime/helpers/defineProperty.js","webpack://stremio/./node_modules/i18next/node_modules/@babel/runtime/helpers/getPrototypeOf.js","webpack://stremio/./node_modules/i18next/node_modules/@babel/runtime/helpers/inherits.js","webpack://stremio/./node_modules/i18next/node_modules/@babel/runtime/helpers/iterableToArray.js","webpack://stremio/./node_modules/i18next/node_modules/@babel/runtime/helpers/nonIterableRest.js","webpack://stremio/./node_modules/i18next/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","webpack://stremio/./node_modules/i18next/node_modules/@babel/runtime/helpers/setPrototypeOf.js","webpack://stremio/./node_modules/i18next/node_modules/@babel/runtime/helpers/toArray.js","webpack://stremio/./node_modules/i18next/node_modules/@babel/runtime/helpers/toPrimitive.js","webpack://stremio/./node_modules/i18next/node_modules/@babel/runtime/helpers/toPropertyKey.js","webpack://stremio/./node_modules/i18next/node_modules/@babel/runtime/helpers/typeof.js","webpack://stremio/./node_modules/i18next/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","webpack://stremio/./node_modules/@stremio/stremio-icons/react/dist/index.js","webpack://stremio/webpack/bootstrap","webpack://stremio/webpack/runtime/compat get default export","webpack://stremio/webpack/runtime/define property getters","webpack://stremio/webpack/runtime/global","webpack://stremio/webpack/runtime/hasOwnProperty shorthand","webpack://stremio/webpack/runtime/make namespace object","webpack://stremio/webpack/runtime/node module decorator","webpack://stremio/webpack/runtime/publicPath","webpack://stremio/./src/index.js"],"sourcesContent":["function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nmodule.exports = _arrayLikeToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nmodule.exports = _arrayWithHoles;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nmodule.exports = _classCallCheck;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nmodule.exports = _createClass;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nmodule.exports = _interopRequireDefault;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nmodule.exports = _iterableToArrayLimit;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableRest;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var objectWithoutPropertiesLoose = require(\"./objectWithoutPropertiesLoose.js\");\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutProperties;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutPropertiesLoose;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var arrayWithHoles = require(\"./arrayWithHoles.js\");\n\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit.js\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\n\nvar nonIterableRest = require(\"./nonIterableRest.js\");\n\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\n\nmodule.exports = _slicedToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return typeof obj;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\n\nmodule.exports = _unsupportedIterableToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nvar _regenerator = _interopRequireDefault(require(\"@babel/runtime/regenerator\"));\nvar _asyncToGenerator2 = _interopRequireDefault(require(\"@babel/runtime/helpers/asyncToGenerator\"));\nfunction getId() {\n return Math.random().toString(32).slice(2);\n}\nfunction Bridge(scope, handler) {\n handler.addEventListener('message', /*#__PURE__*/function () {\n var _ref2 = (0, _asyncToGenerator2[\"default\"])( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee(_ref) {\n var request, id, path, args, value, data, thisArg;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n request = _ref.data.request;\n if (request) {\n _context.next = 3;\n break;\n }\n return _context.abrupt(\"return\");\n case 3:\n id = request.id, path = request.path, args = request.args;\n _context.prev = 4;\n value = path.reduce(function (value, prop) {\n return value[prop];\n }, scope);\n if (!(typeof value === 'function')) {\n _context.next = 13;\n break;\n }\n thisArg = path.slice(0, path.length - 1).reduce(function (value, prop) {\n return value[prop];\n }, scope);\n _context.next = 10;\n return value.apply(thisArg, args);\n case 10:\n data = _context.sent;\n _context.next = 16;\n break;\n case 13:\n _context.next = 15;\n return value;\n case 15:\n data = _context.sent;\n case 16:\n handler.postMessage({\n response: {\n id: id,\n result: {\n data: data\n }\n }\n });\n _context.next = 22;\n break;\n case 19:\n _context.prev = 19;\n _context.t0 = _context[\"catch\"](4);\n handler.postMessage({\n response: {\n id: id,\n result: {\n error: _context.t0\n }\n }\n });\n case 22:\n case \"end\":\n return _context.stop();\n }\n }, _callee, null, [[4, 19]]);\n }));\n return function (_x) {\n return _ref2.apply(this, arguments);\n };\n }());\n this.call = /*#__PURE__*/function () {\n var _ref3 = (0, _asyncToGenerator2[\"default\"])( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2(path, args) {\n var id;\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n id = getId();\n return _context2.abrupt(\"return\", new Promise(function (resolve, reject) {\n var onMessage = function onMessage(_ref4) {\n var response = _ref4.data.response;\n if (!response || response.id !== id) return;\n handler.removeEventListener('message', onMessage);\n if ('error' in response.result) {\n reject(response.result.error);\n } else {\n resolve(response.result.data);\n }\n };\n handler.addEventListener('message', onMessage);\n handler.postMessage({\n request: {\n id: id,\n path: path,\n args: args\n }\n });\n }));\n case 2:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2);\n }));\n return function (_x2, _x3) {\n return _ref3.apply(this, arguments);\n };\n }();\n}\nmodule.exports = Bridge;\n","var EventEmitter = require('eventemitter3');\nvar ERROR = require('../error');\n\nfunction ChromecastSenderVideo(options) {\n options = options || {};\n\n var containerElement = options.containerElement;\n if (!(containerElement instanceof HTMLElement)) {\n throw new Error('Container element required to be instance of HTMLElement');\n }\n\n var chromecastTransport = options.chromecastTransport;\n if (!chromecastTransport) {\n throw new Error('Chromecast transport required');\n }\n\n var device = chromecastTransport.getCastDevice();\n if (device === null) {\n throw new Error('Chromecast session must be started');\n }\n\n var deviceNameContainerElement = document.createElement('div');\n deviceNameContainerElement.style.display = 'flex';\n deviceNameContainerElement.style.flexDirection = 'row';\n deviceNameContainerElement.style.alignItems = 'center';\n deviceNameContainerElement.style.justifyContent = 'center';\n deviceNameContainerElement.style.width = '100%';\n deviceNameContainerElement.style.height = '100%';\n deviceNameContainerElement.style.backgroundColor = 'black';\n var deviceNameLabelElement = document.createElement('div');\n deviceNameLabelElement.style.flex = 'none';\n deviceNameLabelElement.style.maxWidth = '80%';\n deviceNameLabelElement.style.fontSize = '5vmin';\n deviceNameLabelElement.style.lineHeight = '1.2em';\n deviceNameLabelElement.style.maxHeight = '3.6em';\n deviceNameLabelElement.style.textAlign = 'center';\n deviceNameLabelElement.style.color = '#FFFFFF90';\n deviceNameLabelElement.innerText = 'Casting to ' + device.friendlyName;\n deviceNameContainerElement.appendChild(deviceNameLabelElement);\n containerElement.appendChild(deviceNameContainerElement);\n chromecastTransport.on('message', onMessage);\n chromecastTransport.on('message-error', onMessageReceivedError);\n\n var events = new EventEmitter();\n var destroyed = false;\n var observedProps = {\n stream: false,\n loaded: false,\n paused: false,\n time: false,\n duration: false,\n buffering: false,\n buffered: false,\n audioTracks: false,\n selectedAudioTrackId: false,\n subtitlesTracks: false,\n selectedSubtitlesTrackId: false,\n subtitlesOffset: false,\n subtitlesSize: false,\n subtitlesTextColor: false,\n subtitlesBackgroundColor: false,\n subtitlesOutlineColor: false,\n volume: false,\n muted: false,\n playbackSpeed: false,\n videoParams: false,\n extraSubtitlesTracks: false,\n selectedExtraSubtitlesTrackId: false,\n extraSubtitlesDelay: false,\n extraSubtitlesSize: false,\n extraSubtitlesOffset: false,\n extraSubtitlesTextColor: false,\n extraSubtitlesBackgroundColor: false,\n extraSubtitlesOutlineColor: false\n };\n\n function onMessageSendError(error, action) {\n events.emit('error', Object.assign({}, ERROR.CHROMECAST_SENDER_VIDEO.MESSAGE_SEND_FAILED, {\n error: error,\n action: action\n }));\n }\n function onMessageReceivedError(error) {\n events.emit('error', Object.assign({}, ERROR.CHROMECAST_SENDER_VIDEO.INVALID_MESSAGE_RECEIVED, {\n error: error\n }));\n }\n function onMessage(message) {\n if (!message || typeof message.event !== 'string') {\n onMessageReceivedError(new Error('Invalid message: ' + message));\n return;\n }\n\n var args = Array.isArray(message.args) ? message.args : [];\n events.emit.apply(events, [message.event].concat(args));\n }\n function onPropChanged(propName, propValue) {\n if (observedProps[propName]) {\n events.emit('propChanged', propName, propValue);\n }\n }\n function observeProp(propName) {\n if (observedProps.hasOwnProperty(propName)) {\n observedProps[propName] = true;\n }\n }\n function command(commandName) {\n switch (commandName) {\n case 'destroy': {\n destroyed = true;\n onPropChanged('stream', null);\n onPropChanged('loaded', null);\n onPropChanged('paused', null);\n onPropChanged('time', null);\n onPropChanged('duration', null);\n onPropChanged('buffering', null);\n onPropChanged('buffered', null);\n onPropChanged('audioTracks', []);\n onPropChanged('selectedAudioTrackId', []);\n onPropChanged('subtitlesTracks', []);\n onPropChanged('selectedSubtitlesTrackId', null);\n onPropChanged('subtitlesOffset', null);\n onPropChanged('subtitlesSize', null);\n onPropChanged('subtitlesTextColor', null);\n onPropChanged('subtitlesBackgroundColor', null);\n onPropChanged('subtitlesOutlineColor', null);\n onPropChanged('volume', null);\n onPropChanged('muted', null);\n onPropChanged('playbackSpeed', null);\n onPropChanged('videoParams', null);\n onPropChanged('extraSubtitlesTracks', []);\n onPropChanged('selectedExtraSubtitlesTrackId', null);\n onPropChanged('extraSubtitlesDelay', null);\n onPropChanged('extraSubtitlesSize', null);\n onPropChanged('extraSubtitlesOffset', null);\n onPropChanged('extraSubtitlesTextColor', null);\n onPropChanged('extraSubtitlesBackgroundColor', null);\n onPropChanged('extraSubtitlesOutlineColor', null);\n events.removeAllListeners();\n chromecastTransport.off('message', onMessage);\n containerElement.removeChild(deviceNameContainerElement);\n break;\n }\n }\n }\n\n this.on = function(eventName, listener) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n events.on(eventName, listener);\n };\n this.dispatch = function(action) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n if (action) {\n switch (action.type) {\n case 'observeProp': {\n observeProp(action.propName);\n chromecastTransport.sendMessage(action).catch(function(error) {\n onMessageSendError(error, action);\n });\n return;\n }\n case 'setProp': {\n chromecastTransport.sendMessage(action).catch(function(error) {\n onMessageSendError(error, action);\n });\n return;\n }\n case 'command': {\n command(action.commandName, action.commandArgs);\n chromecastTransport.sendMessage(action).catch(function(error) {\n onMessageSendError(error, action);\n });\n return;\n }\n }\n }\n\n throw new Error('Invalid action dispatched: ' + JSON.stringify(action));\n };\n}\n\nChromecastSenderVideo.canPlayStream = function() {\n return Promise.resolve(true);\n};\n\nChromecastSenderVideo.manifest = {\n name: 'ChromecastSenderVideo',\n external: true,\n props: ['stream', 'loaded', 'paused', 'time', 'duration', 'buffering', 'buffered', 'audioTracks', 'selectedAudioTrackId', 'subtitlesTracks', 'selectedSubtitlesTrackId', 'subtitlesOffset', 'subtitlesSize', 'subtitlesTextColor', 'subtitlesBackgroundColor', 'subtitlesOutlineColor', 'volume', 'muted', 'playbackSpeed', 'videoParams', 'extraSubtitlesTracks', 'selectedExtraSubtitlesTrackId', 'extraSubtitlesDelay', 'extraSubtitlesSize', 'extraSubtitlesOffset', 'extraSubtitlesTextColor', 'extraSubtitlesBackgroundColor', 'extraSubtitlesOutlineColor'],\n commands: ['load', 'unload', 'destroy', 'addExtraSubtitlesTracks'],\n events: ['propValue', 'propChanged', 'ended', 'error', 'subtitlesTrackLoaded', 'audioTrackLoaded', 'extraSubtitlesTrackLoaded', 'implementationChanged']\n};\n\nmodule.exports = ChromecastSenderVideo;\n","var ChromecastSenderVideo = require('./ChromecastSenderVideo');\n\nmodule.exports = ChromecastSenderVideo;\n","var EventEmitter = require('eventemitter3');\nvar Hls = require('hls.js');\nvar cloneDeep = require('lodash.clonedeep');\nvar deepFreeze = require('deep-freeze');\nvar Color = require('color');\nvar ERROR = require('../error');\nvar getContentType = require('./getContentType');\nvar HLS_CONFIG = require('./hlsConfig');\n\nfunction HTMLVideo(options) {\n options = options || {};\n\n var containerElement = options.containerElement;\n if (!(containerElement instanceof HTMLElement)) {\n throw new Error('Container element required to be instance of HTMLElement');\n }\n\n var styleElement = document.createElement('style');\n containerElement.appendChild(styleElement);\n styleElement.sheet.insertRule('video::cue { font-size: 4vmin; color: rgb(255, 255, 255); background-color: rgba(0, 0, 0, 0); text-shadow: rgb(34, 34, 34) 1px 1px 0.1em; }');\n var videoElement = document.createElement('video');\n videoElement.style.width = '100%';\n videoElement.style.height = '100%';\n videoElement.style.backgroundColor = 'black';\n videoElement.controls = false;\n videoElement.playsInline = true;\n videoElement.onerror = function() {\n onVideoError();\n };\n videoElement.onended = function() {\n onEnded();\n };\n videoElement.onpause = function() {\n onPropChanged('paused');\n };\n videoElement.onplay = function() {\n onPropChanged('paused');\n };\n videoElement.ontimeupdate = function() {\n onPropChanged('time');\n onPropChanged('buffered');\n };\n videoElement.ondurationchange = function() {\n onPropChanged('duration');\n };\n videoElement.onwaiting = function() {\n onPropChanged('buffering');\n onPropChanged('buffered');\n };\n videoElement.onseeking = function() {\n onPropChanged('time');\n onPropChanged('buffering');\n onPropChanged('buffered');\n };\n videoElement.onseeked = function() {\n onPropChanged('time');\n onPropChanged('buffering');\n onPropChanged('buffered');\n };\n videoElement.onstalled = function() {\n onPropChanged('buffering');\n onPropChanged('buffered');\n };\n videoElement.onplaying = function() {\n onPropChanged('time');\n onPropChanged('buffering');\n onPropChanged('buffered');\n };\n videoElement.oncanplay = function() {\n onPropChanged('buffering');\n onPropChanged('buffered');\n };\n videoElement.canplaythrough = function() {\n onPropChanged('buffering');\n onPropChanged('buffered');\n };\n videoElement.onloadedmetadata = function() {\n onPropChanged('loaded');\n };\n videoElement.onloadeddata = function() {\n onPropChanged('buffering');\n onPropChanged('buffered');\n };\n videoElement.onvolumechange = function() {\n onPropChanged('volume');\n onPropChanged('muted');\n };\n videoElement.onratechange = function() {\n onPropChanged('playbackSpeed');\n };\n videoElement.textTracks.onchange = function() {\n onPropChanged('subtitlesTracks');\n onPropChanged('selectedSubtitlesTrackId');\n onCueChange();\n Array.from(videoElement.textTracks).forEach(function(track) {\n track.oncuechange = onCueChange;\n });\n };\n containerElement.appendChild(videoElement);\n\n var hls = null;\n var events = new EventEmitter();\n var destroyed = false;\n var stream = null;\n var subtitlesOffset = 0;\n var observedProps = {\n stream: false,\n loaded: false,\n paused: false,\n time: false,\n duration: false,\n buffering: false,\n buffered: false,\n subtitlesTracks: false,\n selectedSubtitlesTrackId: false,\n subtitlesOffset: false,\n subtitlesSize: false,\n subtitlesTextColor: false,\n subtitlesBackgroundColor: false,\n subtitlesOutlineColor: false,\n audioTracks: false,\n selectedAudioTrackId: false,\n volume: false,\n muted: false,\n playbackSpeed: false\n };\n\n function getProp(propName) {\n switch (propName) {\n case 'stream': {\n return stream;\n }\n case 'loaded': {\n if (stream === null) {\n return null;\n }\n\n return videoElement.readyState >= videoElement.HAVE_METADATA;\n }\n case 'paused': {\n if (stream === null) {\n return null;\n }\n\n return !!videoElement.paused;\n }\n case 'time': {\n if (stream === null || videoElement.currentTime === null || !isFinite(videoElement.currentTime)) {\n return null;\n }\n\n return Math.floor(videoElement.currentTime * 1000);\n }\n case 'duration': {\n if (stream === null || videoElement.duration === null || !isFinite(videoElement.duration)) {\n return null;\n }\n\n return Math.floor(videoElement.duration * 1000);\n }\n case 'buffering': {\n if (stream === null) {\n return null;\n }\n\n return videoElement.readyState < videoElement.HAVE_FUTURE_DATA;\n }\n case 'buffered': {\n if (stream === null) {\n return null;\n }\n\n var time = videoElement.currentTime !== null && isFinite(videoElement.currentTime) ? videoElement.currentTime : 0;\n for (var i = 0; i < videoElement.buffered.length; i++) {\n if (videoElement.buffered.start(i) <= time && time <= videoElement.buffered.end(i)) {\n return Math.floor(videoElement.buffered.end(i) * 1000);\n }\n }\n\n return Math.floor(time * 1000);\n }\n case 'subtitlesTracks': {\n if (stream === null) {\n return [];\n }\n\n return Array.from(videoElement.textTracks)\n .map(function(track, index) {\n return Object.freeze({\n id: 'EMBEDDED_' + String(index),\n lang: track.language,\n label: track.label,\n origin: 'EMBEDDED',\n embedded: true\n });\n });\n }\n case 'selectedSubtitlesTrackId': {\n if (stream === null) {\n return null;\n }\n\n return Array.from(videoElement.textTracks)\n .reduce(function(result, track, index) {\n if (result === null && track.mode === 'showing') {\n return 'EMBEDDED_' + String(index);\n }\n\n return result;\n }, null);\n }\n case 'subtitlesOffset': {\n if (destroyed) {\n return null;\n }\n\n return subtitlesOffset;\n }\n case 'subtitlesSize': {\n if (destroyed) {\n return null;\n }\n\n return parseInt(styleElement.sheet.cssRules[0].style.fontSize, 10) * 25;\n }\n case 'subtitlesTextColor': {\n if (destroyed) {\n return null;\n }\n\n return styleElement.sheet.cssRules[0].style.color;\n }\n case 'subtitlesBackgroundColor': {\n if (destroyed) {\n return null;\n }\n\n return styleElement.sheet.cssRules[0].style.backgroundColor;\n }\n case 'subtitlesOutlineColor': {\n if (destroyed) {\n return null;\n }\n\n return styleElement.sheet.cssRules[0].style.textShadow.slice(0, styleElement.sheet.cssRules[0].style.textShadow.indexOf(')') + 1);\n }\n case 'audioTracks': {\n if (hls === null || !Array.isArray(hls.audioTracks)) {\n return [];\n }\n\n return hls.audioTracks\n .map(function(track) {\n return Object.freeze({\n id: 'EMBEDDED_' + String(track.id),\n lang: typeof track.lang === 'string' && track.lang.length > 0 ?\n track.lang\n :\n typeof track.name === 'string' && track.name.length > 0 ?\n track.name\n :\n String(track.id),\n label: typeof track.name === 'string' && track.name.length > 0 ?\n track.name\n :\n typeof track.lang === 'string' && track.lang.length > 0 ?\n track.lang\n :\n String(track.id),\n origin: 'EMBEDDED',\n embedded: true\n });\n });\n }\n case 'selectedAudioTrackId': {\n if (hls === null || hls.audioTrack === null || !isFinite(hls.audioTrack) || hls.audioTrack === -1) {\n return null;\n }\n\n return 'EMBEDDED_' + String(hls.audioTrack);\n }\n case 'volume': {\n if (destroyed || videoElement.volume === null || !isFinite(videoElement.volume)) {\n return null;\n }\n\n return Math.floor(videoElement.volume * 100);\n }\n case 'muted': {\n if (destroyed) {\n return null;\n }\n\n return !!videoElement.muted;\n }\n case 'playbackSpeed': {\n if (destroyed || videoElement.playbackRate === null || !isFinite(videoElement.playbackRate)) {\n return null;\n }\n\n return videoElement.playbackRate;\n }\n default: {\n return null;\n }\n }\n }\n function onCueChange() {\n Array.from(videoElement.textTracks).forEach(function(track) {\n Array.from(track.cues || []).forEach(function(cue) {\n cue.snapToLines = false;\n cue.line = 100 - subtitlesOffset;\n });\n });\n }\n function onVideoError() {\n if (destroyed) {\n return;\n }\n\n var error;\n switch (videoElement.error.code) {\n case 1: {\n error = ERROR.HTML_VIDEO.MEDIA_ERR_ABORTED;\n break;\n }\n case 2: {\n error = ERROR.HTML_VIDEO.MEDIA_ERR_NETWORK;\n break;\n }\n case 3: {\n error = ERROR.HTML_VIDEO.MEDIA_ERR_DECODE;\n break;\n }\n case 4: {\n error = ERROR.HTML_VIDEO.MEDIA_ERR_SRC_NOT_SUPPORTED;\n break;\n }\n default: {\n error = ERROR.UNKNOWN_ERROR;\n }\n }\n onError(Object.assign({}, error, {\n critical: true,\n error: videoElement.error\n }));\n }\n function onError(error) {\n events.emit('error', error);\n if (error.critical) {\n command('unload');\n }\n }\n function onEnded() {\n events.emit('ended');\n }\n function onPropChanged(propName) {\n if (observedProps[propName]) {\n events.emit('propChanged', propName, getProp(propName));\n }\n }\n function observeProp(propName) {\n if (observedProps.hasOwnProperty(propName)) {\n events.emit('propValue', propName, getProp(propName));\n observedProps[propName] = true;\n }\n }\n function setProp(propName, propValue) {\n switch (propName) {\n case 'paused': {\n if (stream !== null) {\n propValue ? videoElement.pause() : videoElement.play();\n onPropChanged('paused');\n }\n\n break;\n }\n case 'time': {\n if (stream !== null && propValue !== null && isFinite(propValue)) {\n videoElement.currentTime = parseInt(propValue, 10) / 1000;\n onPropChanged('time');\n }\n\n break;\n }\n case 'selectedSubtitlesTrackId': {\n if (stream !== null) {\n Array.from(videoElement.textTracks)\n .forEach(function(track, index) {\n track.mode = 'EMBEDDED_' + String(index) === propValue ? 'showing' : 'disabled';\n });\n var selecterdSubtitlesTrack = getProp('subtitlesTracks')\n .find(function(track) {\n return track.id === propValue;\n });\n if (selecterdSubtitlesTrack) {\n onPropChanged('selectedSubtitlesTrackId');\n events.emit('subtitlesTrackLoaded', selecterdSubtitlesTrack);\n }\n }\n\n break;\n }\n case 'subtitlesOffset': {\n if (propValue !== null && isFinite(propValue)) {\n subtitlesOffset = Math.max(0, Math.min(100, parseInt(propValue, 10)));\n onCueChange();\n onPropChanged('subtitlesOffset');\n }\n\n break;\n }\n case 'subtitlesSize': {\n if (propValue !== null && isFinite(propValue)) {\n styleElement.sheet.cssRules[0].style.fontSize = Math.floor(Math.max(0, parseInt(propValue, 10)) / 25) + 'vmin';\n onPropChanged('subtitlesSize');\n }\n\n break;\n }\n case 'subtitlesTextColor': {\n if (typeof propValue === 'string') {\n try {\n styleElement.sheet.cssRules[0].style.color = Color(propValue).rgb().string();\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('HTMLVideo', error);\n }\n\n onPropChanged('subtitlesTextColor');\n }\n\n break;\n }\n case 'subtitlesBackgroundColor': {\n if (typeof propValue === 'string') {\n try {\n styleElement.sheet.cssRules[0].style.backgroundColor = Color(propValue).rgb().string();\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('HTMLVideo', error);\n }\n\n onPropChanged('subtitlesBackgroundColor');\n }\n\n break;\n }\n case 'subtitlesOutlineColor': {\n if (typeof propValue === 'string') {\n try {\n styleElement.sheet.cssRules[0].style.textShadow = Color(propValue).rgb().string() + ' 1px 1px 0.1em';\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('HTMLVideo', error);\n }\n\n onPropChanged('subtitlesOutlineColor');\n }\n\n break;\n }\n case 'selectedAudioTrackId': {\n if (hls !== null) {\n var selecterdAudioTrack = getProp('audioTracks')\n .find(function(track) {\n return track.id === propValue;\n });\n hls.audioTrack = selecterdAudioTrack ? parseInt(selecterdAudioTrack.id.split('_').pop(), 10) : -1;\n if (selecterdAudioTrack) {\n onPropChanged('selectedAudioTrackId');\n events.emit('audioTrackLoaded', selecterdAudioTrack);\n }\n }\n\n break;\n }\n case 'volume': {\n if (propValue !== null && isFinite(propValue)) {\n videoElement.muted = false;\n videoElement.volume = Math.max(0, Math.min(100, parseInt(propValue, 10))) / 100;\n onPropChanged('muted');\n onPropChanged('volume');\n }\n\n break;\n }\n case 'muted': {\n videoElement.muted = !!propValue;\n onPropChanged('muted');\n break;\n }\n case 'playbackSpeed': {\n if (propValue !== null && isFinite(propValue)) {\n videoElement.playbackRate = parseFloat(propValue);\n onPropChanged('playbackSpeed');\n }\n\n break;\n }\n }\n }\n function command(commandName, commandArgs) {\n switch (commandName) {\n case 'load': {\n command('unload');\n if (commandArgs && commandArgs.stream && typeof commandArgs.stream.url === 'string') {\n stream = commandArgs.stream;\n onPropChanged('stream');\n onPropChanged('loaded');\n videoElement.autoplay = typeof commandArgs.autoplay === 'boolean' ? commandArgs.autoplay : true;\n videoElement.currentTime = commandArgs.time !== null && isFinite(commandArgs.time) ? parseInt(commandArgs.time, 10) / 1000 : 0;\n onPropChanged('paused');\n onPropChanged('time');\n onPropChanged('duration');\n onPropChanged('buffering');\n onPropChanged('buffered');\n onPropChanged('subtitlesTracks');\n onPropChanged('selectedSubtitlesTrackId');\n onPropChanged('audioTracks');\n onPropChanged('selectedAudioTrackId');\n getContentType(stream)\n .then(function(contentType) {\n if (stream !== commandArgs.stream) {\n return;\n }\n\n if (contentType === 'application/vnd.apple.mpegurl' && Hls.isSupported()) {\n hls = new Hls(HLS_CONFIG);\n hls.on(Hls.Events.AUDIO_TRACKS_UPDATED, function() {\n onPropChanged('audioTracks');\n onPropChanged('selectedAudioTrackId');\n });\n hls.on(Hls.Events.AUDIO_TRACK_SWITCHED, function() {\n onPropChanged('audioTracks');\n onPropChanged('selectedAudioTrackId');\n });\n hls.loadSource(stream.url);\n hls.attachMedia(videoElement);\n } else {\n videoElement.src = stream.url;\n }\n })\n .catch(function() {\n if (stream !== commandArgs.stream) {\n return;\n }\n\n videoElement.src = stream.url;\n });\n } else {\n onError(Object.assign({}, ERROR.UNSUPPORTED_STREAM, {\n critical: true,\n stream: commandArgs ? commandArgs.stream : null\n }));\n }\n break;\n }\n case 'unload': {\n stream = null;\n Array.from(videoElement.textTracks).forEach(function(track) {\n track.oncuechange = null;\n });\n if (hls !== null) {\n hls.removeAllListeners();\n hls.detachMedia(videoElement);\n hls.destroy();\n hls = null;\n }\n videoElement.removeAttribute('src');\n videoElement.load();\n videoElement.currentTime = 0;\n onPropChanged('stream');\n onPropChanged('loaded');\n onPropChanged('paused');\n onPropChanged('time');\n onPropChanged('duration');\n onPropChanged('buffering');\n onPropChanged('buffered');\n onPropChanged('subtitlesTracks');\n onPropChanged('selectedSubtitlesTrackId');\n onPropChanged('audioTracks');\n onPropChanged('selectedAudioTrackId');\n break;\n }\n case 'destroy': {\n command('unload');\n destroyed = true;\n onPropChanged('subtitlesOffset');\n onPropChanged('subtitlesSize');\n onPropChanged('subtitlesTextColor');\n onPropChanged('subtitlesBackgroundColor');\n onPropChanged('subtitlesOutlineColor');\n onPropChanged('volume');\n onPropChanged('muted');\n onPropChanged('playbackSpeed');\n events.removeAllListeners();\n videoElement.onerror = null;\n videoElement.onended = null;\n videoElement.onpause = null;\n videoElement.onplay = null;\n videoElement.ontimeupdate = null;\n videoElement.ondurationchange = null;\n videoElement.onwaiting = null;\n videoElement.onseeking = null;\n videoElement.onseeked = null;\n videoElement.onstalled = null;\n videoElement.onplaying = null;\n videoElement.oncanplay = null;\n videoElement.canplaythrough = null;\n videoElement.onloadeddata = null;\n videoElement.onvolumechange = null;\n videoElement.onratechange = null;\n videoElement.textTracks.onchange = null;\n containerElement.removeChild(videoElement);\n containerElement.removeChild(styleElement);\n break;\n }\n }\n }\n\n this.on = function(eventName, listener) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n events.on(eventName, listener);\n };\n this.dispatch = function(action) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n if (action) {\n action = deepFreeze(cloneDeep(action));\n switch (action.type) {\n case 'observeProp': {\n observeProp(action.propName);\n return;\n }\n case 'setProp': {\n setProp(action.propName, action.propValue);\n return;\n }\n case 'command': {\n command(action.commandName, action.commandArgs);\n return;\n }\n }\n }\n\n throw new Error('Invalid action dispatched: ' + JSON.stringify(action));\n };\n}\n\nHTMLVideo.canPlayStream = function(stream) {\n if (!stream || (stream.behaviorHints && stream.behaviorHints.notWebReady)) {\n return Promise.resolve(false);\n }\n\n return getContentType(stream)\n .then(function(contentType) {\n var video = document.createElement('video');\n return !!video.canPlayType(contentType) || (contentType === 'application/vnd.apple.mpegurl' && Hls.isSupported());\n })\n .catch(function() {\n return false;\n });\n};\n\nHTMLVideo.manifest = {\n name: 'HTMLVideo',\n external: false,\n props: ['stream', 'loaded', 'paused', 'time', 'duration', 'buffering', 'buffered', 'audioTracks', 'selectedAudioTrackId', 'subtitlesTracks', 'selectedSubtitlesTrackId', 'subtitlesOffset', 'subtitlesSize', 'subtitlesTextColor', 'subtitlesBackgroundColor', 'subtitlesOutlineColor', 'volume', 'muted', 'playbackSpeed'],\n commands: ['load', 'unload', 'destroy'],\n events: ['propValue', 'propChanged', 'ended', 'error', 'subtitlesTrackLoaded', 'audioTrackLoaded']\n};\n\nmodule.exports = HTMLVideo;\n","function getContentType(stream) {\n if (!stream || typeof stream.url !== 'string') {\n return Promise.reject(new Error('Invalid stream parameter!'));\n }\n\n if (stream.behaviorHints && stream.behaviorHints.proxyHeaders && stream.behaviorHints.proxyHeaders.response && typeof stream.behaviorHints.proxyHeaders.response['content-type'] === 'string') {\n return Promise.resolve(stream.behaviorHints.proxyHeaders.response['content-type']);\n }\n\n return fetch(stream.url, { method: 'HEAD' })\n .then(function(resp) {\n if (resp.ok) {\n return resp.headers.get('content-type');\n }\n\n throw new Error(resp.status + ' (' + resp.statusText + ')');\n });\n}\n\nmodule.exports = getContentType;\n","module.exports = {\n debug: false,\n enableWorker: true,\n lowLatencyMode: false,\n backBufferLength: 30,\n maxBufferLength: 50,\n maxMaxBufferLength: 80,\n maxFragLookUpTolerance: 0,\n maxBufferHole: 0,\n appendErrorMaxRetry: 20,\n nudgeMaxRetry: 20,\n manifestLoadingTimeOut: 30000,\n manifestLoadingMaxRetry: 10,\n fragLoadPolicy: {\n default: {\n maxTimeToFirstByteMs: 10000,\n maxLoadTimeMs: 120000,\n timeoutRetry: {\n maxNumRetry: 20,\n retryDelayMs: 0,\n maxRetryDelayMs: 15\n },\n errorRetry: {\n maxNumRetry: 6,\n retryDelayMs: 1000,\n maxRetryDelayMs: 15\n }\n }\n }\n // liveDurationInfinity: false\n};\n","var HTMLVideo = require('./HTMLVideo');\n\nmodule.exports = HTMLVideo;\n","var EventEmitter = require('eventemitter3');\nvar cloneDeep = require('lodash.clonedeep');\nvar deepFreeze = require('deep-freeze');\nvar ERROR = require('../error');\n\nfunction IFrameVideo(options) {\n options = options || {};\n\n var containerElement = options.containerElement;\n if (!(containerElement instanceof HTMLElement)) {\n throw new Error('Container element required to be instance of HTMLElement');\n }\n\n var iframeElement = document.createElement('iframe');\n iframeElement.style.width = '100%';\n iframeElement.style.height = '100%';\n iframeElement.style.border = 0;\n iframeElement.style.backgroundColor = 'black';\n iframeElement.allowFullscreen = false;\n iframeElement.allow = 'autoplay';\n containerElement.appendChild(iframeElement);\n\n var events = new EventEmitter();\n var destroyed = false;\n var observedProps = {\n stream: false,\n loaded: false,\n paused: false,\n time: false,\n duration: false,\n buffering: false,\n buffered: false,\n volume: false,\n muted: false,\n playbackSpeed: false\n };\n\n function onMessage(event) {\n if (event.source !== iframeElement.contentWindow) {\n return;\n }\n\n var data = event.data || event.message;\n if (!data || typeof data.event !== 'string') {\n return;\n }\n\n var eventName = data.event;\n var args = Array.isArray(data.args) ? data.args : [];\n events.emit.apply(events, [eventName].concat(args));\n }\n function sendMessage(action) {\n iframeElement.contentWindow.postMessage(action, '*');\n }\n function onError(error) {\n events.emit('error', error);\n if (error.critical) {\n command('unload');\n }\n }\n function onPropChanged(propName, propValue) {\n if (observedProps[propName]) {\n events.emit('propChanged', propName, propValue);\n }\n }\n function observeProp(propName) {\n if (observedProps.hasOwnProperty(propName)) {\n observedProps[propName] = true;\n }\n }\n function command(commandName, commandArgs) {\n switch (commandName) {\n case 'load': {\n command('unload');\n if (commandArgs && commandArgs.stream && typeof commandArgs.stream.playerFrameUrl === 'string') {\n window.addEventListener('message', onMessage, false);\n iframeElement.onload = function() {\n sendMessage({\n type: 'command',\n commandName: commandName,\n commandArgs: commandArgs\n });\n };\n iframeElement.src = commandArgs.stream.playerFrameUrl;\n } else {\n onError(Object.assign({}, ERROR.UNSUPPORTED_STREAM, {\n critical: true,\n stream: commandArgs ? commandArgs.stream : null\n }));\n }\n\n return true;\n }\n case 'unload': {\n window.removeEventListener('message', onMessage);\n iframeElement.onload = null;\n iframeElement.removeAttribute('src');\n onPropChanged('stream', null);\n onPropChanged('loaded', null);\n onPropChanged('paused', null);\n onPropChanged('time', null);\n onPropChanged('duration', null);\n onPropChanged('buffering', null);\n onPropChanged('buffered', null);\n onPropChanged('volume', null);\n onPropChanged('muted', null);\n onPropChanged('playbackSpeed', null);\n return true;\n }\n case 'destroy': {\n command('unload');\n destroyed = true;\n events.removeAllListeners();\n containerElement.removeChild(iframeElement);\n return true;\n }\n }\n }\n\n this.on = function(eventName, listener) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n events.on(eventName, listener);\n };\n this.dispatch = function(action) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n if (action) {\n action = deepFreeze(cloneDeep(action));\n switch (action.type) {\n case 'observeProp': {\n observeProp(action.propName);\n sendMessage(action);\n return;\n }\n case 'setProp': {\n sendMessage(action);\n return;\n }\n case 'command': {\n if (!command(action.commandName, action.commandArgs)) {\n sendMessage(action);\n }\n\n return;\n }\n }\n }\n\n throw new Error('Invalid action dispatched: ' + JSON.stringify(action));\n };\n}\n\nIFrameVideo.canPlayStream = function(stream) {\n return Promise.resolve(stream && typeof stream.playerFrameUrl === 'string');\n};\n\nIFrameVideo.manifest = {\n name: 'IFrameVideo',\n external: true,\n props: ['stream', 'loaded', 'paused', 'time', 'duration', 'buffering', 'buffered', 'audioTracks', 'selectedAudioTrackId', 'subtitlesTracks', 'selectedSubtitlesTrackId', 'subtitlesOffset', 'subtitlesSize', 'subtitlesTextColor', 'subtitlesBackgroundColor', 'subtitlesOutlineColor', 'volume', 'muted', 'playbackSpeed', 'extraSubtitlesTracks', 'selectedExtraSubtitlesTrackId', 'extraSubtitlesDelay', 'extraSubtitlesSize', 'extraSubtitlesOffset', 'extraSubtitlesTextColor', 'extraSubtitlesBackgroundColor', 'extraSubtitlesOutlineColor'],\n commands: ['load', 'unload', 'destroy', 'addExtraSubtitlesTracks'],\n events: ['propValue', 'propChanged', 'ended', 'error', 'subtitlesTrackLoaded', 'audioTrackLoaded', 'extraSubtitlesTrackLoaded', 'implementationChanged']\n};\n\nmodule.exports = IFrameVideo;\n","var IFrameVideo = require('./IFrameVideo');\n\nmodule.exports = IFrameVideo;\n","var EventEmitter = require('eventemitter3');\nvar cloneDeep = require('lodash.clonedeep');\nvar deepFreeze = require('deep-freeze');\nvar ERROR = require('../error');\n\nvar SUBS_SCALE_FACTOR = 0.0066;\n\nvar stremioToMPVProps = {\n 'loaded': 'loaded',\n 'stream': null,\n 'paused': 'pause',\n 'time': 'time-pos',\n 'duration': 'duration',\n 'buffering': 'buffering',\n 'volume': 'volume',\n 'muted': 'mute',\n 'playbackSpeed': 'speed',\n 'audioTracks': 'audioTracks',\n 'selectedAudioTrackId': 'aid',\n 'subtitlesTracks': 'subtitlesTracks',\n 'selectedSubtitlesTrackId': 'sid',\n 'subtitlesSize': 'sub-scale',\n 'subtitlesTextColor': 'sub-color',\n 'subtitlesBackgroundColor': 'sub-back-color',\n 'subtitlesOutlineColor': 'sub-border-color',\n};\n\nfunction parseVersion(version) {\n return version.split('.').slice(0, 2).map(function (v) { return parseInt(v); });\n}\n\nfunction versionGTE(a, b) {\n var versionA = parseVersion(a);\n var versionB = parseVersion(b);\n if (versionA[0] > versionB[0]) return true;\n if (versionA[0] < versionB[0]) return false;\n return versionA[1] >= versionB[1];\n}\n\nfunction ShellVideo(options) {\n options = options || {};\n\n var ipc = options.shellTransport;\n var observedProps = {};\n var props = {};\n var stremioProps = {};\n Object.keys(stremioToMPVProps).forEach(function(key) {\n if(stremioToMPVProps[key]) {\n stremioProps[stremioToMPVProps[key]] = key;\n }\n });\n var resolveMPVVersion;\n var waitForMPVVersion = new Promise(function (resolve) {\n resolveMPVVersion = resolve;\n });\n command('unload');\n\n ipc.send('mpv-command', ['stop']);\n ipc.send('mpv-observe-prop', 'path');\n\n ipc.send('mpv-observe-prop', 'time-pos');\n ipc.send('mpv-observe-prop', 'volume');\n ipc.send('mpv-observe-prop', 'pause');\n ipc.send('mpv-observe-prop', 'seeking');\n ipc.send('mpv-observe-prop', 'eof-reached');\n\n ipc.send('mpv-observe-prop', 'duration');\n ipc.send('mpv-observe-prop', 'metadata');\n ipc.send('mpv-observe-prop', 'video-params'); // video width/height\n ipc.send('mpv-observe-prop', 'track-list');\n\n ipc.send('mpv-observe-prop', 'paused-for-cache');\n ipc.send('mpv-observe-prop', 'cache-buffering-state');\n\n ipc.send('mpv-observe-prop', 'aid');\n ipc.send('mpv-observe-prop', 'vid');\n ipc.send('mpv-observe-prop', 'sid');\n ipc.send('mpv-observe-prop', 'sub-scale');\n ipc.send('mpv-observe-prop', 'sub-pos');\n ipc.send('mpv-observe-prop', 'speed');\n\n ipc.send('mpv-observe-prop', 'mpv-version');\n ipc.send('mpv-observe-prop', 'ffmpeg-version');\n\n var events = new EventEmitter();\n var destroyed = false;\n var stream = null;\n\n var avgDuration = 0;\n var minClipDuration = 30;\n\n function setBackground(visible) {\n // This is a bit of a hack but there is no better way so far\n var bg = visible ? '' : 'transparent';\n for(var container = options.containerElement; container; container = container.parentElement) {\n container.style.background = bg;\n }\n }\n function logProp(args) {\n // eslint-disable-next-line no-console\n console.log(args.name+': '+args.data);\n }\n function embeddedProp(args) {\n return args.data ? 'EMBEDDED_' + args.data.toString() : null;\n }\n\n var last_time = 0;\n ipc.on('mpv-prop-change', function(args) {\n switch (args.name) {\n case 'mpv-version':\n resolveMPVVersion(args.data);\n props[args.name] = logProp(args);\n break;\n case 'ffmpeg-version': {\n props[args.name] = logProp(args);\n break;\n }\n case 'duration': {\n var intDuration = args.data | 0;\n // Accumulate average duration over time. if it is greater than minClipDuration\n // and equal to the currently reported duration, it is returned as video length.\n // If the reported duration changes over time the average duration is always\n // smaller than the currently reported one so we set the video length to 0 as\n // this is a live stream.\n props[args.name] = args.data >= minClipDuration && (!avgDuration || intDuration === avgDuration) ? Math.round(args.data * 1000) : null;\n // The average duration is calculated using right bit shifting by one of the sum of\n // the previous average and the currently reported value. This method is not very precise\n // as we get integer value but we avoid floating point errors. JS uses 32 bit values\n // for bitwise maths so the maximum supported video duration is 1073741823 (2 ^ 30 - 1)\n // which is around 34 years of playback time.\n avgDuration = avgDuration ? (avgDuration + intDuration) >> 1 : intDuration;\n props.loaded = intDuration > 0;\n if(props.loaded) onPropChanged('loaded');\n break;\n }\n case 'time-pos': {\n props[args.name] = Math.round(args.data*1000);\n break;\n }\n case 'sub-scale': {\n props[args.name] = Math.round(args.data / SUBS_SCALE_FACTOR);\n break;\n }\n case 'paused-for-cache':\n case 'seeking':\n {\n if(props.buffering !== args.data) {\n props.buffering = args.data;\n onPropChanged('buffering');\n }\n break;\n }\n case 'aid':\n case 'sid':\n case 'vid': {\n props[args.name] = embeddedProp(args);\n break;\n }\n // In that case onPropChanged() is manually invoked as track-list contains all\n // the tracks but we have different event for each track type\n case 'track-list': {\n props.audioTracks = args.data.filter(function(x) { return x.type === 'audio'; })\n .map(function(x, index) {\n return {\n id: 'EMBEDDED_' + x.id,\n lang: x.lang === undefined ? 'Track' + (index + 1) : x.lang,\n label: x.title === undefined || x.lang === undefined ? '' : x.title || x.lang,\n origin: 'EMBEDDED',\n embedded: true,\n mode: x.id === props.aid ? 'showing' : 'disabled',\n };\n });\n onPropChanged('audioTracks');\n\n props.subtitlesTracks = args.data\n .filter(function(x) { return x.type === 'sub'; })\n .map(function(x, index) {\n return {\n id: 'EMBEDDED_' + x.id,\n lang: x.lang === undefined ? 'Track ' + (index + 1) : x.lang,\n label: x.title === undefined || x.lang === undefined ? '' : x.title || x.lang,\n origin: 'EMBEDDED',\n embedded: true,\n mode: x.id === props.sid ? 'showing' : 'disabled',\n };\n });\n onPropChanged('subtitlesTracks');\n break;\n }\n default: {\n props[args.name] = args.data;\n break;\n }\n }\n\n // Cap time update to update only when a second passes\n var current_time = args.name === 'time-pos' ? Math.floor(props['time-pos'] / 1000) : null;\n if((!current_time || last_time !== current_time)&& stremioProps[args.name]) {\n if(current_time) {\n last_time = current_time;\n }\n onPropChanged(stremioProps[args.name]);\n }\n });\n ipc.on('mpv-event-ended', function(args) {\n if (args.error) onError(args.error);\n else onEnded();\n });\n\n function getProp(propName) {\n if(stremioToMPVProps[propName]) return props[stremioToMPVProps[propName]];\n // eslint-disable-next-line no-console\n console.log('Unsupported prop requested', propName);\n return null;\n }\n function onError(error) {\n events.emit('error', error);\n if (error.critical) {\n command('unload');\n }\n }\n function onEnded() {\n events.emit('ended');\n }\n function onPropChanged(propName) {\n if (observedProps[propName]) {\n events.emit('propChanged', propName, getProp(propName));\n }\n }\n function observeProp(propName) {\n events.emit('propValue', propName, getProp(propName));\n observedProps[propName] = true;\n }\n function setProp(propName, propValue) {\n switch (propName) {\n case 'paused': {\n if (stream !== null) {\n ipc.send('mpv-set-prop', ['pause', propValue]);\n }\n\n break;\n }\n case 'time': {\n if (stream !== null && propValue !== null && isFinite(propValue)) {\n ipc.send('mpv-set-prop', ['time-pos', propValue/1000]);\n }\n\n break;\n }\n case 'playbackSpeed': {\n if (stream !== null && propValue !== null && isFinite(propValue)) {\n ipc.send('mpv-set-prop', ['speed', propValue]);\n }\n break;\n }\n case 'volume': {\n if (stream !== null && propValue !== null && isFinite(propValue)) {\n props.mute = false;\n ipc.send('mpv-set-prop', ['mute', 'no']);\n ipc.send('mpv-set-prop', ['volume', propValue]);\n onPropChanged('muted');\n onPropChanged('volume');\n }\n break;\n }\n case 'muted': {\n if (stream !== null) {\n ipc.send('mpv-set-prop', ['mute', propValue ? 'yes' : 'no']);\n props.mute = propValue;\n onPropChanged('muted');\n }\n break;\n }\n case 'selectedAudioTrackId': {\n if (stream !== null) {\n var actualId = propValue.slice('EMBEDDED_'.length);\n ipc.send('mpv-set-prop', ['aid', actualId]);\n }\n break;\n }\n case 'selectedSubtitlesTrackId': {\n if (stream !== null) {\n if(propValue) {\n var actualId = propValue.slice('EMBEDDED_'.length);\n ipc.send('mpv-set-prop', ['sid', actualId]);\n events.emit('subtitlesTrackLoaded', propValue);\n } else {\n // turn off subs\n ipc.send('mpv-set-prop', ['sid', 'no']);\n props.sid = null;\n }\n }\n onPropChanged('selectedSubtitlesTrackId');\n break;\n }\n case 'subtitlesSize': {\n ipc.send('mpv-set-prop', [stremioToMPVProps[propName], propValue * SUBS_SCALE_FACTOR]);\n break;\n }\n case 'subtitlesOffset': {\n ipc.send('mpv-set-prop', [stremioToMPVProps[propName], propValue]);\n break;\n }\n case 'subtitlesTextColor':\n case 'subtitlesBackgroundColor':\n case 'subtitlesOutlineColor':\n {\n // MPV accepts color in #AARRGGBB\n var argb = propValue.replace(/^#(\\w{6})(\\w{2})$/, '#$2$1');\n ipc.send('mpv-set-prop', [stremioToMPVProps[propName], argb]);\n break;\n }\n default: {\n // eslint-disable-next-line no-console\n console.log('Unhandled setProp for', propName);\n }\n }\n }\n function command(commandName, commandArgs) {\n switch (commandName) {\n case 'load': {\n command('unload');\n if (commandArgs && commandArgs.stream && typeof commandArgs.stream.url === 'string') {\n waitForMPVVersion.then(function (mpvVersion) {\n stream = commandArgs.stream;\n onPropChanged('stream');\n\n setBackground(false);\n\n ipc.send('mpv-set-prop', ['no-sub-ass']);\n\n // opengl-cb is an alias for the new name \"libmpv\", as shown in mpv's video/out/vo.c aliases\n // opengl is an alias for the new name \"gpu\"\n // When on Windows we use d3d for the rendering in separate window\n var windowRenderer = navigator.platform === 'Win32' ? 'direct3d' : 'opengl';\n var videoOutput = options.mpvSeparateWindow ? windowRenderer : 'opengl-cb';\n var separateWindow = options.mpvSeparateWindow ? 'yes' : 'no';\n ipc.send('mpv-set-prop', ['vo', videoOutput]);\n ipc.send('mpv-set-prop', ['osc', separateWindow]);\n ipc.send('mpv-set-prop', ['input-defalt-bindings', separateWindow]);\n ipc.send('mpv-set-prop', ['input-vo-keyboard', separateWindow]);\n\n var startAt = Math.floor(parseInt(commandArgs.time, 10) / 1000) || 0;\n if (startAt !== 0) {\n if (versionGTE(mpvVersion, '0.39')) {\n ipc.send('mpv-command', ['loadfile', stream.url, 'replace', '-1', 'start=+' + startAt]);\n } else {\n ipc.send('mpv-command', ['loadfile', stream.url, 'replace', 'start=+' + startAt]);\n }\n } else {\n ipc.send('mpv-command', ['loadfile', stream.url]);\n }\n ipc.send('mpv-set-prop', ['pause', false]);\n ipc.send('mpv-set-prop', ['speed', props.speed]);\n ipc.send('mpv-set-prop', ['aid', props.aid]);\n ipc.send('mpv-set-prop', ['mute', 'no']);\n\n onPropChanged('paused');\n onPropChanged('time');\n onPropChanged('duration');\n onPropChanged('buffering');\n onPropChanged('volume');\n onPropChanged('muted');\n onPropChanged('subtitlesTracks');\n onPropChanged('selectedSubtitlesTrackId');\n });\n } else {\n onError(Object.assign({}, ERROR.UNSUPPORTED_STREAM, {\n critical: true,\n stream: commandArgs ? commandArgs.stream : null\n }));\n }\n break;\n }\n case 'unload': {\n props = {\n loaded: false,\n pause: false,\n mute: false,\n speed: 1,\n subtitlesTracks: [],\n audioTracks: [],\n buffering: false,\n aid: null,\n sid: null,\n };\n avgDuration = 0;\n ipc.send('mpv-command', ['stop']);\n onPropChanged('loaded');\n onPropChanged('stream');\n onPropChanged('paused');\n onPropChanged('time');\n onPropChanged('duration');\n onPropChanged('buffering');\n onPropChanged('volume');\n onPropChanged('muted');\n onPropChanged('subtitlesTracks');\n onPropChanged('selectedSubtitlesTrackId');\n setBackground(true);\n break;\n }\n case 'destroy': {\n command('unload');\n destroyed = true;\n events.removeAllListeners();\n break;\n }\n }\n }\n\n this.on = function (eventName, listener) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n events.on(eventName, listener);\n };\n this.dispatch = function (action) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n if (action) {\n action = deepFreeze(cloneDeep(action));\n switch (action.type) {\n case 'observeProp': {\n observeProp(action.propName);\n break;\n }\n case 'setProp': {\n setProp(action.propName, action.propValue);\n return;\n }\n case 'command': {\n command(\n action.commandName,\n action.commandArgs\n );\n return;\n }\n }\n }\n };\n}\nShellVideo.canPlayStream = function() {\n return Promise.resolve(true);\n};\n\nShellVideo.manifest = {\n name: 'ShellVideo',\n external: false,\n props: Object.keys(stremioToMPVProps),\n commands: ['load', 'unload', 'destroy'],\n events: [\n 'propValue',\n 'propChanged',\n 'ended',\n 'error',\n 'subtitlesTrackLoaded',\n ],\n};\n\nmodule.exports = ShellVideo;\n","var ShellVideo = require('./ShellVideo');\n\nmodule.exports = ShellVideo;\n","var EventEmitter = require('eventemitter3');\nvar cloneDeep = require('lodash.clonedeep');\nvar deepFreeze = require('deep-freeze');\nvar selectVideoImplementation = require('./selectVideoImplementation');\nvar ERROR = require('../error');\n\nfunction StremioVideo() {\n var video = null;\n var events = new EventEmitter();\n var destroyed = false;\n\n this.on = function(eventName, listener) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n events.on(eventName, listener);\n };\n this.dispatch = function(action, options) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n if (action) {\n action = deepFreeze(cloneDeep(action));\n options = options || {};\n if (action.type === 'command' && action.commandName === 'load' && action.commandArgs) {\n var Video = selectVideoImplementation(action.commandArgs, options);\n if (video !== null && video.constructor !== Video) {\n video.dispatch({ type: 'command', commandName: 'destroy' });\n video = null;\n }\n if (video === null) {\n if (Video === null) {\n events.emit('error', Object.assign({}, ERROR.UNSUPPORTED_STREAM, {\n error: new Error('No video implementation was selected'),\n critical: true,\n stream: action.commandArgs.stream\n }));\n return;\n }\n\n video = new Video(options);\n video.on('ended', function() {\n events.emit('ended');\n });\n video.on('error', function(args) {\n events.emit('error', args);\n });\n video.on('propValue', function(propName, propValue) {\n events.emit('propValue', propName, propValue);\n });\n video.on('propChanged', function(propName, propValue) {\n events.emit('propChanged', propName, propValue);\n });\n video.on('subtitlesTrackLoaded', function(track) {\n events.emit('subtitlesTrackLoaded', track);\n });\n video.on('audioTrackLoaded', function(track) {\n events.emit('audioTrackLoaded', track);\n });\n video.on('extraSubtitlesTrackLoaded', function(track) {\n events.emit('extraSubtitlesTrackLoaded', track);\n });\n if (Video.manifest.external) {\n video.on('implementationChanged', function(manifest) {\n events.emit('implementationChanged', manifest);\n });\n } else {\n events.emit('implementationChanged', Video.manifest);\n }\n }\n }\n\n if (video !== null) {\n try {\n video.dispatch(action);\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(video.constructor.manifest.name, error);\n }\n }\n\n if (action.type === 'command' && action.commandName === 'destroy') {\n video = null;\n }\n\n return;\n }\n\n throw new Error('Invalid action dispatched: ' + JSON.stringify(action));\n };\n this.destroy = function() {\n destroyed = true;\n if (video !== null) {\n video.dispatch({ type: 'command', commandName: 'destroy' });\n video = null;\n }\n\n events.removeAllListeners();\n };\n}\n\nStremioVideo.ERROR = ERROR;\n\nmodule.exports = StremioVideo;\n","var StremioVideo = require('./StremioVideo');\n\nmodule.exports = StremioVideo;\n","var ChromecastSenderVideo = require('../ChromecastSenderVideo');\nvar ShellVideo = require('../ShellVideo');\nvar HTMLVideo = require('../HTMLVideo');\nvar TizenVideo = require('../TizenVideo');\nvar WebOsVideo = require('../WebOsVideo');\nvar IFrameVideo = require('../IFrameVideo');\nvar YouTubeVideo = require('../YouTubeVideo');\nvar withStreamingServer = require('../withStreamingServer');\nvar withHTMLSubtitles = require('../withHTMLSubtitles');\nvar withVideoParams = require('../withVideoParams');\n\nfunction selectVideoImplementation(commandArgs, options) {\n if (!commandArgs.stream || typeof commandArgs.stream.externalUrl === 'string') {\n return null;\n }\n\n if (options.chromecastTransport && options.chromecastTransport.getCastState() === cast.framework.CastState.CONNECTED) {\n return ChromecastSenderVideo;\n }\n\n if (typeof commandArgs.stream.ytId === 'string') {\n return withVideoParams(withHTMLSubtitles(YouTubeVideo));\n }\n\n if (typeof commandArgs.stream.playerFrameUrl === 'string') {\n return withVideoParams(IFrameVideo);\n }\n\n if (options.shellTransport) {\n return withStreamingServer(withHTMLSubtitles(ShellVideo));\n }\n\n if (typeof commandArgs.streamingServerURL === 'string') {\n if (commandArgs.platform === 'Tizen') {\n return withStreamingServer(withHTMLSubtitles(TizenVideo));\n }\n if (commandArgs.platform === 'webOS') {\n return withStreamingServer(withHTMLSubtitles(WebOsVideo));\n }\n return withStreamingServer(withHTMLSubtitles(HTMLVideo));\n }\n\n if (typeof commandArgs.stream.url === 'string') {\n if (commandArgs.platform === 'Tizen') {\n return withVideoParams(withHTMLSubtitles(TizenVideo));\n }\n if (commandArgs.platform === 'webOS') {\n return withVideoParams(withHTMLSubtitles(WebOsVideo));\n }\n return withVideoParams(withHTMLSubtitles(HTMLVideo));\n }\n\n return null;\n}\n\nmodule.exports = selectVideoImplementation;\n","const SCOPE = 'AVPlay';\n\nconst createAVPlay = (transport) => {\n const getState = () => {\n return transport.request(SCOPE, 'getState');\n };\n\n const getCurrentTime = () => {\n return transport.request(SCOPE, 'getCurrentTime');\n };\n\n const getDuration = () => {\n return transport.request(SCOPE, 'getDuration');\n };\n\n const getTotalTrackInfo = () => {\n return transport.request(SCOPE, 'getTotalTrackInfo');\n };\n\n const getCurrentStreamInfo = () => {\n return transport.request(SCOPE, 'getCurrentStreamInfo');\n };\n\n const open = (path) => {\n return transport.request(SCOPE, 'open', path);\n };\n\n const prepareAsync = async (successHandler, errorHandler) => {\n const [handler, handlerResult] = await transport.request(SCOPE, 'prepareAsync', 'handler:success', 'handler:error');\n if (handler === 'handler:success') successHandler();\n if (handler === 'handler:error') errorHandler(...handlerResult);\n };\n\n const pause = () => {\n return transport.request(SCOPE, 'pause');\n };\n\n const play = () => {\n return transport.request(SCOPE, 'play');\n };\n\n const stop = () => {\n return transport.request(SCOPE, 'stop');\n };\n\n const seekTo = (time) => {\n return transport.request(SCOPE, 'seekTo', time);\n };\n\n const setSpeed = (rate) => {\n return transport.request(SCOPE, 'setSpeed', rate);\n };\n\n const setSelectTrack = (type, id) => {\n return transport.request(SCOPE, 'setSelectTrack', type, id);\n };\n\n const setDisplayRect = (x, y, width, height) => {\n return transport.request(SCOPE, 'setDisplayRect', x, y, width, height);\n };\n\n const setDisplayMethod = (method) => {\n return transport.request(SCOPE, 'setDisplayMethod', method);\n };\n\n const setListener = (listener) => {\n const handlers = Object.keys(listener).map((name) => `handler:${name}`);\n const onHandlerResponse = (handler, handlerResult) => {\n const name = handler.replace('handler:', '');\n if (listener[name]) {\n handlerResult ? listener[name](...handlerResult) : listener[name]();\n }\n };\n\n transport.listen(SCOPE, 'setListener', onHandlerResponse, ...handlers);\n };\n\n return {\n getState,\n getCurrentTime,\n getDuration,\n getTotalTrackInfo,\n getCurrentStreamInfo,\n open,\n prepareAsync,\n pause,\n play,\n stop,\n seekTo,\n setSpeed,\n setSelectTrack,\n setDisplayRect,\n setDisplayMethod,\n setListener,\n };\n};\n\nmodule.exports = createAVPlay;\n","var EventEmitter = require('eventemitter3');\nvar cloneDeep = require('lodash.clonedeep');\nvar deepFreeze = require('deep-freeze');\nvar Color = require('color');\nvar ERROR = require('../error');\nvar getTracksData = require('../tracksData');\nvar createAVPlay = require('./AVPlay');\n\nfunction TizenVideo(options) {\n options = options || {};\n\n var isBuffering = true;\n var videoSpeed = 1;\n var currentSubTrack = null;\n var currentAudioTrack = null;\n\n var containerElement = options.containerElement;\n if (!(containerElement instanceof HTMLElement)) {\n throw new Error('Container element required to be instance of HTMLElement');\n }\n\n var AVPlay = createAVPlay(options.transport);\n\n var promiseAudioTrackChange = false;\n\n var size = 100;\n var offset = 0;\n var textColor = 'rgb(255, 255, 255)';\n var backgroundColor = 'rgba(0, 0, 0, 0)';\n var outlineColor = 'rgb(34, 34, 34)';\n var subtitlesOpacity = 1;\n\n var objElement = document.createElement('object');\n objElement.type = 'application/avplayer';\n objElement.style.width = '100%';\n objElement.style.height = '100%';\n objElement.style.backgroundColor = 'black';\n\n var lastSub;\n var disabledSubs = false;\n\n async function refreshSubtitle() {\n if (lastSub) {\n var currentTime = await getProp('time');\n var lastSubDurationDiff = lastSub.duration - (currentTime - lastSub.now);\n if (lastSubDurationDiff > 0) renderSubtitle(lastSubDurationDiff, lastSub.text);\n }\n }\n\n async function renderSubtitle(duration, text) {\n if (disabledSubs) return;\n var now = await getProp('time');\n // we ignore custom delay here, it's not needed for embedded subs\n lastSub = {\n duration: duration,\n text: text,\n now: now,\n };\n if (subtitleTimeout) {\n clearTimeout(subtitleTimeout);\n subtitleTimeout = false;\n }\n\n while (subtitlesElement.hasChildNodes()) {\n subtitlesElement.removeChild(subtitlesElement.lastChild);\n }\n\n subtitlesElement.style.bottom = offset + '%';\n subtitlesElement.style.opacity = subtitlesOpacity;\n\n var cueNode = document.createElement('span');\n cueNode.innerHTML = text;\n cueNode.style.display = 'inline-block';\n cueNode.style.padding = '0.2em';\n cueNode.style.fontSize = Math.floor(size / 25) + 'vmin';\n cueNode.style.color = textColor;\n cueNode.style.backgroundColor = backgroundColor;\n cueNode.style.textShadow = '1px 1px 0.1em ' + outlineColor;\n\n subtitlesElement.appendChild(cueNode);\n subtitlesElement.appendChild(document.createElement('br'));\n\n if (duration) {\n subtitleTimeout = setTimeout(function() {\n while (subtitlesElement.hasChildNodes()) {\n subtitlesElement.removeChild(subtitlesElement.lastChild);\n }\n }, parseInt(duration * videoSpeed));\n }\n }\n\n var subtitleTimeout = false;\n\n AVPlay.setListener({\n onbufferingstart: function() {\n isBuffering = true;\n onPropChanged('buffering');\n },\n onbufferingprogress: function() {\n isBuffering = true;\n onPropChanged('buffering');\n },\n onbufferingcomplete: function() {\n isBuffering = false;\n onPropChanged('buffering');\n },\n oncurrentplaytime: function() {\n onPropChanged('time');\n },\n onsubtitlechange: function(duration, text) {\n renderSubtitle(duration, text);\n },\n onstreamcompleted: function() {\n onEnded();\n }\n });\n\n containerElement.appendChild(objElement);\n\n var subtitlesElement = document.createElement('div');\n subtitlesElement.style.position = 'absolute';\n subtitlesElement.style.right = '0';\n subtitlesElement.style.bottom = '0';\n subtitlesElement.style.left = '0';\n subtitlesElement.style.zIndex = '1';\n subtitlesElement.style.textAlign = 'center';\n containerElement.style.position = 'relative';\n containerElement.style.zIndex = '0';\n containerElement.appendChild(subtitlesElement);\n\n var events = new EventEmitter();\n var destroyed = false;\n var stream = null;\n var retries = 0;\n var maxRetries = 5;\n var isLoaded = null;\n var observedProps = {\n stream: false,\n loaded: false,\n paused: false,\n time: false,\n duration: false,\n buffering: false,\n subtitlesTracks: false,\n selectedSubtitlesTrackId: false,\n subtitlesOffset: false,\n subtitlesSize: false,\n subtitlesTextColor: false,\n subtitlesBackgroundColor: false,\n subtitlesOutlineColor: false,\n subtitlesOpacity: false,\n audioTracks: false,\n selectedAudioTrackId: false,\n playbackSpeed: false\n };\n\n var gotTraktData = false;\n var tracksData = { audio: [], subs: [] };\n\n function retrieveExtendedTracks() {\n if (!gotTraktData && stream !== null) {\n gotTraktData = true;\n getTracksData(stream.url, function(resp) {\n if (resp) {\n tracksData = resp;\n }\n if (((tracksData || {}).subs || []).length) {\n onPropChanged('subtitlesTracks');\n }\n if (((tracksData || {}).audio || []).length) {\n onPropChanged('audioTracks');\n }\n });\n }\n }\n\n async function getProp(propName) {\n switch (propName) {\n case 'stream': {\n return stream;\n }\n case 'loaded': {\n return isLoaded;\n }\n case 'paused': {\n if (stream === null) {\n return null;\n }\n\n var state = await AVPlay.getState();\n var isPaused = !!(state === 'PAUSED');\n\n if (!isPaused && promiseAudioTrackChange) {\n AVPlay.setSelectTrack('AUDIO', parseInt(promiseAudioTrackChange.replace('EMBEDDED_', '')));\n promiseAudioTrackChange = false;\n }\n\n return isPaused;\n }\n case 'time': {\n var currentTime = await AVPlay.getCurrentTime();\n if (stream === null || currentTime === null || !isFinite(currentTime)) {\n return null;\n }\n\n return Math.floor(currentTime);\n }\n case 'duration': {\n var duration = await AVPlay.getDuration();\n if (stream === null || duration === null || !isFinite(duration)) {\n return null;\n }\n\n return Math.floor(duration);\n }\n case 'buffering': {\n if (stream === null) {\n return null;\n }\n\n return isBuffering;\n }\n case 'subtitlesTracks': {\n if (stream === null) {\n return [];\n }\n\n var totalTrackInfo = await AVPlay.getTotalTrackInfo();\n var textTracks = [];\n\n for (var i = 0; i < totalTrackInfo.length; i++) {\n if (totalTrackInfo[i].type === 'TEXT') {\n var textTrack = totalTrackInfo[i];\n var textTrackId = 'EMBEDDED_' + String(textTrack.index);\n if (!currentSubTrack && !textTracks.length) {\n currentSubTrack = textTrackId;\n }\n var extra = {};\n try {\n extra = JSON.parse(textTrack.extra_info);\n } catch(e) {}\n var textTrackLang = typeof extra.track_lang === 'string' && extra.track_lang.length > 0 ? extra.track_lang.trim() : null;\n if (((tracksData || {}).subs || []).length) {\n var extendedTrackData = tracksData.subs.find(function(el) {\n return (el || {}).id-1 === textTrack.index;\n });\n if (extendedTrackData) {\n textTrackLang = extendedTrackData.lang || 'eng';\n }\n }\n textTracks.push({\n id: textTrackId,\n lang: textTrackLang,\n label: textTrackLang,\n origin: 'EMBEDDED',\n embedded: true,\n mode: !disabledSubs && textTrackId === currentSubTrack ? 'showing' : 'disabled',\n });\n }\n }\n\n return textTracks;\n }\n case 'selectedSubtitlesTrackId': {\n if (stream === null || disabledSubs) {\n return null;\n }\n\n var currentTracks = await AVPlay.getCurrentStreamInfo();\n var currentIndex;\n\n for (var i = 0; i < currentTracks.length; i++) {\n if (currentTracks[i].type === 'TEXT') {\n currentIndex = currentTracks[i].index;\n\n break;\n }\n }\n\n return currentIndex ? 'EMBEDDED_' + String(currentIndex) : null;\n\n }\n case 'subtitlesOffset': {\n if (destroyed) {\n return null;\n }\n\n return offset;\n }\n case 'subtitlesSize': {\n if (destroyed) {\n return null;\n }\n\n return size;\n }\n case 'subtitlesTextColor': {\n if (destroyed) {\n return null;\n }\n\n return textColor;\n }\n case 'subtitlesBackgroundColor': {\n if (destroyed) {\n return null;\n }\n\n return backgroundColor;\n }\n case 'subtitlesOutlineColor': {\n if (destroyed) {\n return null;\n }\n\n return outlineColor;\n }\n case 'subtitlesOpacity': {\n if (destroyed) {\n return null;\n }\n\n return subtitlesOpacity;\n }\n case 'audioTracks': {\n if (stream === null) {\n return [];\n }\n\n var totalTrackInfo = await AVPlay.getTotalTrackInfo();\n var audioTracks = [];\n\n for (var i = 0; i < totalTrackInfo.length; i++) {\n if (totalTrackInfo[i].type === 'AUDIO') {\n var audioTrack = totalTrackInfo[i];\n var audioTrackId = 'EMBEDDED_' + String(audioTrack.index);\n if (!currentAudioTrack && !audioTracks.length) {\n currentAudioTrack = audioTrackId;\n }\n var extra = {};\n try {\n extra = JSON.parse(audioTrack.extra_info);\n } catch(e) {}\n var audioTrackLang = typeof extra.language === 'string' && extra.language.length > 0 ? extra.language : null;\n if (((tracksData || {}).audio || []).length) {\n var extendedTrackData = tracksData.audio.find(function(el) {\n return (el || {}).id-1 === audioTrack.index;\n });\n if (extendedTrackData) {\n audioTrackLang = extendedTrackData.lang || 'eng';\n }\n }\n audioTracks.push({\n id: audioTrackId,\n lang: audioTrackLang,\n label: audioTrackLang,\n origin: 'EMBEDDED',\n embedded: true,\n mode: audioTrackId === currentAudioTrack ? 'showing' : 'disabled',\n });\n }\n }\n\n return audioTracks;\n }\n case 'selectedAudioTrackId': {\n if (stream === null) {\n return null;\n }\n\n if (promiseAudioTrackChange) {\n return promiseAudioTrackChange;\n }\n\n var currentTracks = await AVPlay.getCurrentStreamInfo();\n var currentIndex = false;\n\n for (var i = 0; i < currentTracks.length; i++) {\n if (currentTracks[i].type === 'AUDIO') {\n currentIndex = currentTracks[i].index;\n\n break;\n }\n }\n\n return currentIndex !== false ? 'EMBEDDED_' + String(currentIndex) : null;\n }\n case 'playbackSpeed': {\n if (destroyed || videoSpeed === null || !isFinite(videoSpeed)) {\n return null;\n }\n\n return videoSpeed;\n }\n default: {\n return null;\n }\n }\n }\n function onError(error) {\n events.emit('error', error);\n if (error.critical) {\n command('unload');\n }\n }\n function onEnded() {\n events.emit('ended');\n }\n async function onPropChanged(propName) {\n if (observedProps[propName]) {\n var propValue = await getProp(propName);\n events.emit('propChanged', propName, propValue);\n }\n }\n async function observeProp(propName) {\n if (observedProps.hasOwnProperty(propName)) {\n var propValue = await getProp(propName);\n events.emit('propValue', propName, propValue);\n observedProps[propName] = true;\n }\n }\n async function setProp(propName, propValue) {\n switch (propName) {\n case 'paused': {\n if (stream !== null) {\n var willPause = !!propValue;\n willPause ? AVPlay.pause() : AVPlay.play();\n if (willPause) {\n if (subtitleTimeout) {\n clearTimeout(subtitleTimeout);\n }\n } else {\n refreshSubtitle();\n }\n }\n\n onPropChanged('paused');\n\n // the paused state is usually correct, but i have seen it not change on tizen 3\n // which causes all kinds of issues in the UI: (only happens with some videos)\n var lastKnownProp = await getProp('paused');\n\n setTimeout(async function() {\n if (await getProp('paused') !== lastKnownProp) {\n onPropChanged('paused');\n }\n }, 1000);\n\n break;\n }\n case 'time': {\n if (stream !== null && propValue !== null && isFinite(propValue)) {\n AVPlay.seekTo(parseInt(propValue, 10));\n renderSubtitle(1, '');\n onPropChanged('time');\n }\n\n break;\n }\n case 'selectedSubtitlesTrackId': {\n if (stream !== null) {\n if ((currentSubTrack || '').indexOf('EMBEDDED_') === 0) {\n if ((propValue || '').indexOf('EMBEDDED_') === -1) {\n renderSubtitle(1, '');\n disabledSubs = true;\n onPropChanged('selectedSubtitlesTrackId');\n return;\n }\n disabledSubs = false;\n\n currentSubTrack = propValue;\n\n var subtitlesTracks = await getProp('subtitlesTracks');\n var selectedSubtitlesTrack = subtitlesTracks\n .find(function(track) {\n return track.id === propValue;\n });\n\n AVPlay.setSelectTrack('TEXT', parseInt(currentSubTrack.replace('EMBEDDED_', '')));\n\n if (selectedSubtitlesTrack) {\n events.emit('subtitlesTrackLoaded', selectedSubtitlesTrack);\n onPropChanged('selectedSubtitlesTrackId');\n }\n } else if (!propValue) {\n renderSubtitle(1, '');\n disabledSubs = true;\n onPropChanged('selectedSubtitlesTrackId');\n }\n }\n\n break;\n }\n case 'subtitlesOffset': {\n if (propValue !== null && isFinite(propValue)) {\n offset = Math.max(0, Math.min(100, parseInt(propValue, 10)));\n refreshSubtitle();\n onPropChanged('subtitlesOffset');\n }\n\n break;\n }\n case 'subtitlesSize': {\n if (propValue !== null && isFinite(propValue)) {\n size = Math.max(0, parseInt(propValue, 10));\n refreshSubtitle();\n onPropChanged('subtitlesSize');\n }\n\n break;\n }\n case 'subtitlesTextColor': {\n if (typeof propValue === 'string') {\n try {\n textColor = Color(propValue).rgb().string();\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Tizen player with HTML Subtitles', error);\n }\n\n refreshSubtitle();\n onPropChanged('subtitlesTextColor');\n }\n\n break;\n }\n case 'subtitlesBackgroundColor': {\n if (typeof propValue === 'string') {\n try {\n backgroundColor = Color(propValue).rgb().string();\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Tizen player with HTML Subtitles', error);\n }\n\n refreshSubtitle();\n\n onPropChanged('subtitlesBackgroundColor');\n }\n\n break;\n }\n case 'subtitlesOutlineColor': {\n if (typeof propValue === 'string') {\n try {\n outlineColor = Color(propValue).rgb().string();\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Tizen player with HTML Subtitles', error);\n }\n\n refreshSubtitle();\n\n onPropChanged('subtitlesOutlineColor');\n }\n\n break;\n }\n case 'subtitlesOpacity': {\n if (typeof propValue === 'number') {\n try {\n subtitlesOpacity = Math.min(Math.max(propValue / 100, 0), 1);\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Tizen player with HTML Subtitles', error);\n }\n\n refreshSubtitle();\n\n onPropChanged('subtitlesOpacity');\n }\n\n break;\n }\n case 'selectedAudioTrackId': {\n if (stream !== null) {\n currentAudioTrack = propValue;\n\n var audioTracks = await getProp('audioTracks');\n var selectedAudioTrack = audioTracks\n .find(function(track) {\n return track.id === propValue;\n });\n\n if (await getProp('paused')) {\n // issues before this logic:\n // tizen 3 does not allow changing audio track when paused\n // tizen 5 does, but it will only change getProp('selectedAudioTrackId') after playback starts\n\n // will be changed on next play event, until then we will overwrite the result of getProp('selectedAudioTrackId')\n promiseAudioTrackChange = propValue;\n onPropChanged('selectedAudioTrackId');\n } else {\n AVPlay.setSelectTrack('AUDIO', parseInt(currentAudioTrack.replace('EMBEDDED_', '')));\n }\n if (selectedAudioTrack) {\n events.emit('audioTrackLoaded', selectedAudioTrack);\n onPropChanged('selectedAudioTrackId');\n }\n }\n\n break;\n }\n case 'playbackSpeed': {\n if (propValue !== null && isFinite(propValue)) {\n videoSpeed = parseFloat(propValue);\n\n try {\n AVPlay.setSpeed(videoSpeed);\n } catch (e) {}\n\n onPropChanged('playbackSpeed');\n }\n\n break;\n }\n }\n }\n function command(commandName, commandArgs) {\n switch (commandName) {\n case 'load': {\n if (commandArgs && commandArgs.stream && typeof commandArgs.stream.url === 'string') {\n stream = commandArgs.stream;\n\n if (stream !== commandArgs.stream) {\n return;\n }\n onPropChanged('buffering');\n\n var tizenVersion = false;\n\n try {\n tizenVersion = parseFloat(global.tizen.systeminfo.getCapability('http://tizen.org/feature/platform.version'));\n } catch(e) {}\n\n if (!tizenVersion || tizenVersion >= 6) {\n retrieveExtendedTracks();\n }\n\n AVPlay.open(stream.url);\n AVPlay.setDisplayRect(0, 0, window.innerWidth, window.innerHeight);\n AVPlay.setDisplayMethod('PLAYER_DISPLAY_MODE_LETTER_BOX');\n AVPlay.seekTo(commandArgs.time !== null && isFinite(commandArgs.time) ? parseInt(commandArgs.time, 10) : 0);\n\n function onPrepareSuccess() {\n onPropChanged('duration');\n AVPlay.play();\n\n isLoaded = true;\n onPropChanged('loaded');\n onPropChanged('stream');\n onPropChanged('paused');\n onPropChanged('time');\n onPropChanged('duration');\n onPropChanged('subtitlesTracks');\n onPropChanged('selectedSubtitlesTrackId');\n onPropChanged('audioTracks');\n onPropChanged('selectedAudioTrackId');\n }\n\n function onPrepareError(error) {\n if (retries < maxRetries) {\n retries++;\n try {\n AVPlay.stop();\n } catch(e) {}\n command('load', commandArgs);\n } else {\n onError(Object.assign({}, ERROR.STREAM_FAILED_TO_LOAD, {\n critical: true,\n stream: commandArgs ? commandArgs.stream : null,\n error: error,\n }));\n }\n }\n\n AVPlay.prepareAsync(onPrepareSuccess, onPrepareError);\n } else {\n onError(Object.assign({}, ERROR.UNSUPPORTED_STREAM, {\n critical: true,\n stream: commandArgs ? commandArgs.stream : null\n }));\n }\n break;\n }\n case 'unload': {\n stream = null;\n AVPlay.stop();\n isLoaded = false;\n onPropChanged('loaded');\n onPropChanged('stream');\n onPropChanged('paused');\n onPropChanged('time');\n onPropChanged('duration');\n onPropChanged('buffering');\n onPropChanged('subtitlesTracks');\n onPropChanged('selectedSubtitlesTrackId');\n onPropChanged('audioTracks');\n onPropChanged('selectedAudioTrackId');\n break;\n }\n case 'destroy': {\n command('unload');\n destroyed = true;\n AVPlay.stop();\n onPropChanged('subtitlesOffset');\n onPropChanged('subtitlesSize');\n onPropChanged('subtitlesTextColor');\n onPropChanged('subtitlesBackgroundColor');\n onPropChanged('subtitlesOutlineColor');\n onPropChanged('subtitlesOpacity');\n onPropChanged('playbackSpeed');\n events.removeAllListeners();\n containerElement.removeChild(objElement);\n break;\n }\n }\n }\n\n this.on = function(eventName, listener) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n events.on(eventName, listener);\n };\n this.dispatch = function(action) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n if (action) {\n action = deepFreeze(cloneDeep(action));\n switch (action.type) {\n case 'observeProp': {\n observeProp(action.propName);\n return;\n }\n case 'setProp': {\n setProp(action.propName, action.propValue);\n return;\n }\n case 'command': {\n command(action.commandName, action.commandArgs);\n return;\n }\n }\n }\n\n throw new Error('Invalid action dispatched: ' + JSON.stringify(action));\n };\n}\n\nTizenVideo.canPlayStream = function() {\n return Promise.resolve(true);\n};\n\nTizenVideo.manifest = {\n name: 'TizenVideo',\n external: false,\n props: ['stream', 'loaded', 'paused', 'time', 'duration', 'buffering', 'audioTracks', 'selectedAudioTrackId', 'subtitlesTracks', 'selectedSubtitlesTrackId', 'subtitlesOffset', 'subtitlesSize', 'subtitlesTextColor', 'subtitlesBackgroundColor', 'subtitlesOutlineColor', 'subtitlesOpacity', 'playbackSpeed'],\n commands: ['load', 'unload', 'destroy'],\n events: ['propValue', 'propChanged', 'ended', 'error', 'subtitlesTrackLoaded', 'audioTrackLoaded']\n};\n\nmodule.exports = TizenVideo;\n","var TizenVideo = require('./TizenVideo');\n\nmodule.exports = TizenVideo;\n","var EventEmitter = require('eventemitter3');\nvar cloneDeep = require('lodash.clonedeep');\nvar deepFreeze = require('deep-freeze');\nvar ERROR = require('../error');\nvar getTracksData = require('../tracksData');\n\nfunction luna(params, call, fail, method) {\n if (call) params.onSuccess = call || function() {};\n\n params.onFailure = function (result) {\n // eslint-disable-next-line no-console\n console.log('WebOS', (params.method || method) + ' [fail][' + result.errorCode + '] ' + result.errorText );\n\n // eslint-disable-next-line no-console\n console.log('fail result', JSON.stringify(result));\n\n if (fail) fail();\n };\n\n window.webOS.service.request(method || 'luna://com.webos.media', params);\n}\n\nfunction launchVideoApp(params, success, failure) {\n window.webOS.service.request('luna://com.webos.applicationManager', {\n method: 'launch',\n parameters: {\n 'id': params.id,\n 'params': {\n 'payload':[\n {\n 'fullPath': params.url,\n 'artist':'',\n 'subtitle':'',\n 'dlnaInfo':{\n 'flagVal':4096,\n 'cleartextSize':'-1',\n 'contentLength':'-1',\n 'opVal':1,\n 'protocolInfo':'http-get:*:video/x-matroska:DLNA.ORG_OP=01;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=01700000000000000000000000000000',\n 'duration':0\n },\n 'mediaType':'VIDEO',\n 'thumbnail':'',\n 'deviceType':'DMR',\n 'album':'',\n 'fileName': params.name,\n 'lastPlayPosition': params.position\n }\n ]\n }\n },\n onSuccess: function () {\n success && success();\n },\n onFailure: function () {\n failure && failure(new Error('Failed to launch' + params.id));\n\n if (params.id === 'com.webos.app.photovideo') {\n params.id = 'com.webos.app.smartshare';\n launchVideoApp(params, success, failure);\n } else if(params.id === 'com.webos.app.smartshare') {\n params.id = 'com.webos.app.mediadiscovery';\n launchVideoApp(params, success, failure);\n }\n }\n });\n}\n\nvar webOsColors = ['none', 'black', 'white', 'yellow', 'red', 'green', 'blue'];\nvar stremioColors = {\n // rgba\n 'rgba(0, 0, 0, 0)': 'none',\n 'rgba(0, 0, 0, 255)': 'black',\n 'rgba(255, 255, 255, 255)': 'white',\n 'rgba(255, 255, 0, 255)': 'yellow',\n 'rgba(255, 0, 0, 255)': 'red',\n 'rgba(0, 255, 0, 255)': 'green',\n 'rgba(0, 0, 255, 255)': 'blue',\n // rgba case 2\n 'rgba(0, 0, 0, 1)': 'black',\n 'rgba(255, 255, 255, 1)': 'white',\n 'rgba(255, 255, 0, 1)': 'yellow',\n 'rgba(255, 0, 0, 1)': 'red',\n 'rgba(0, 255, 0, 1)': 'green',\n 'rgba(0, 0, 255, 1)': 'blue',\n // rgb\n 'rgb(0, 0, 0)': 'black',\n 'rgb(255, 255, 255)': 'white',\n 'rgb(255, 255, 0)': 'yellow',\n 'rgb(255, 0, 0)': 'red',\n 'rgb(0, 255, 0)': 'green',\n 'rgb(0, 0, 255)': 'blue',\n // 8-digit hex\n '#000000FF': 'black',\n '#FFFFFFFF': 'white',\n '#FFFF00FF': 'yellow',\n '#FF0000FF': 'red',\n '#00FF00FF': 'green',\n '#0000FFFF': 'blue',\n // 6-digit hex\n '#000000': 'black',\n '#FFFFFF': 'white',\n '#FFFF00': 'yellow',\n '#FF0000': 'red',\n '#00FF00': 'green',\n '#0000FF': 'blue'\n};\n\nfunction stremioSubOffsets(offset) {\n if (offset <= 0) {\n return -3;\n } else if (offset <= 5) {\n return -2;\n } else if (offset <= 10) {\n return 0;\n } else if (offset <= 15) {\n return 2;\n } else if (offset <= 20) {\n return 4;\n }\n return false;\n}\n\nfunction stremioSubSizes(size) {\n // there is also: 0 (tiny)\n if (size <= 100) {\n return 1;\n } else if (size <= 125) {\n // not used because of 50% step\n return 2;\n } else if (size <= 150) {\n return 3;\n } else if (size <= 200) {\n return 4;\n }\n return false;\n}\n\nvar device = {\n unsupportedAudio: ['DTS', 'TRUEHD'],\n unsupportedSubs: ['HDMV/PGS', 'VOBSUB']\n};\n\nvar fetchedDeviceInfo = false;\n\nfunction retrieveDeviceInfo() {\n if (fetchedDeviceInfo) {\n return;\n }\n window.webOS.service.request('luna://com.webos.service.config', {\n method: 'getConfigs',\n parameters: {\n 'configNames': [\n 'tv.model.edidType'\n ]\n },\n onSuccess: function (result) {\n if (((result || {}).configs || {})['tv.model.edidType']) {\n fetchedDeviceInfo = true;\n var edidType = result.configs['tv.model.edidType'].toLowerCase();\n if (edidType.includes('dts')) {\n device.unsupportedAudio = device.unsupportedAudio.filter(function(e) {\n return e !== 'DTS';\n });\n }\n if (edidType.includes('truehd')) {\n device.unsupportedAudio = device.unsupportedAudio.filter(function(e) {\n return e !== 'TRUEHD';\n });\n }\n }\n },\n onFailure: function (err) {\n // eslint-disable-next-line no-console\n console.log('could not get deviceInfo', err);\n }\n });\n}\n\nfunction WebOsVideo(options) {\n\n options = options || {};\n\n var containerElement = options.containerElement;\n if (!(containerElement instanceof HTMLElement)) {\n throw new Error('Container element required to be instance of HTMLElement');\n }\n\n var isLoaded = null;\n\n var subSize = 75;\n\n var disabledSubs = true;\n\n var currentSubTrack = false;\n\n var currentAudioTrack = false;\n\n var textTracks = [];\n\n var audioTracks = [];\n\n var count_message = 0;\n\n var subStyles = {\n color: 'white',\n font_size: 1,\n bg_color: 'none',\n position: -1,\n bg_opacity: 0,\n char_opacity: 255\n };\n\n var toggleSubtitles = function (status) {\n if (!videoElement.mediaId) return;\n\n disabledSubs = !status;\n\n luna({\n method: 'setSubtitleEnable',\n parameters: {\n 'mediaId': videoElement.mediaId,\n 'enable': status\n }\n });\n };\n\n var styleElement = document.createElement('style');\n containerElement.appendChild(styleElement);\n styleElement.sheet.insertRule('video::cue { font-size: 4vmin; color: rgb(255, 255, 255); background-color: rgba(0, 0, 0, 0); text-shadow: rgb(34, 34, 34) 1px 1px 0.1em; }');\n var videoElement = document.createElement('video');\n videoElement.style.width = '100%';\n videoElement.style.height = '100%';\n videoElement.style.backgroundColor = 'black';\n // videoElement.crossOrigin = 'anonymous';\n videoElement.controls = false;\n videoElement.onerror = function() {\n onVideoError();\n };\n videoElement.onended = function() {\n onEnded();\n };\n videoElement.onpause = function() {\n onPropChanged('paused');\n };\n videoElement.onplay = function() {\n onPropChanged('paused');\n };\n videoElement.ontimeupdate = function() {\n onPropChanged('time');\n onPropChanged('buffered');\n };\n videoElement.ondurationchange = function() {\n onPropChanged('duration');\n };\n videoElement.onwaiting = function() {\n onPropChanged('buffering');\n onPropChanged('buffered');\n };\n videoElement.onseeking = function() {\n onPropChanged('buffering');\n onPropChanged('buffered');\n };\n videoElement.onseeked = function() {\n onPropChanged('buffering');\n onPropChanged('buffered');\n };\n videoElement.onstalled = function() {\n onPropChanged('buffering');\n onPropChanged('buffered');\n };\n videoElement.onplaying = function() {\n onPropChanged('buffering');\n onPropChanged('buffered');\n if (!isLoaded) {\n isLoaded = true;\n onPropChanged('loaded');\n }\n };\n videoElement.oncanplay = function() {\n onPropChanged('buffering');\n onPropChanged('buffered');\n };\n videoElement.canplaythrough = function() {\n onPropChanged('buffering');\n onPropChanged('buffered');\n };\n videoElement.onloadeddata = function() {\n onPropChanged('buffering');\n onPropChanged('buffered');\n };\n videoElement.onloadedmetadata = function() {\n onPropChanged('buffering');\n onPropChanged('buffered');\n setProp('time', startTime);\n };\n videoElement.onvolumechange = function() {\n onPropChanged('volume');\n onPropChanged('muted');\n };\n videoElement.onratechange = function() {\n onPropChanged('playbackSpeed');\n };\n videoElement.textTracks.onchange = function() {\n onPropChanged('subtitlesTracks');\n onPropChanged('selectedSubtitlesTrackId');\n onCueChange();\n Array.from(videoElement.textTracks).forEach(function(track) {\n track.oncuechange = onCueChange;\n });\n };\n containerElement.appendChild(videoElement);\n\n var lastSubColor = null;\n var lastSubBgColor = null;\n var lastPlaybackSpeed = 1;\n\n var events = new EventEmitter();\n var destroyed = false;\n var stream = null;\n var startTime = null;\n var subtitlesOffset = 0;\n var subtitlesOpacity = 100;\n var observedProps = {\n stream: false,\n loaded: false,\n paused: false,\n time: false,\n duration: false,\n buffering: false,\n buffered: false,\n subtitlesTracks: false,\n selectedSubtitlesTrackId: false,\n subtitlesOffset: false,\n subtitlesSize: false,\n subtitlesTextColor: false,\n subtitlesBackgroundColor: false,\n subtitlesOpacity: false,\n audioTracks: false,\n selectedAudioTrackId: false,\n volume: false,\n muted: false,\n playbackSpeed: false\n };\n\n var gotTraktData = false;\n var tracksData = { audio: [], subs: [] };\n\n function retrieveExtendedTracks() {\n if (!gotTraktData && stream !== null) {\n gotTraktData = true;\n getTracksData(stream.url, function(resp) {\n var nrSubs = 0;\n var nrAudio = 0;\n textTracks = [];\n audioTracks = [];\n if (resp) {\n tracksData = resp;\n }\n if (((tracksData || {}).subs || []).length) {\n tracksData.subs.forEach(function(track) {\n if (device.unsupportedSubs.includes(track.codec || '')) {\n return;\n }\n var textTrackId = nrSubs;\n nrSubs++;\n if (!currentSubTrack && !textTracks.length) {\n currentSubTrack = textTrackId;\n }\n textTracks.push({\n id: 'EMBEDDED_' + textTrackId,\n lang: track.lang || 'eng',\n label: track.lang || 'eng',\n origin: 'EMBEDDED',\n embedded: true,\n mode: textTrackId === currentSubTrack ? 'showing' : 'disabled',\n });\n });\n onPropChanged('subtitlesTracks');\n onPropChanged('selectedSubtitlesTrackId');\n }\n if (((tracksData || {}).audio || []).length) {\n tracksData.audio.forEach(function(track) {\n if (device.unsupportedAudio.includes(track.codec || '')) {\n return;\n }\n var audioTrackId = nrAudio;\n nrAudio++;\n if (!currentAudioTrack && !audioTracks.length) {\n currentAudioTrack = audioTrackId;\n }\n audioTracks.push({\n id: 'EMBEDDED_' + audioTrackId,\n lang: track.lang || 'eng',\n label: track.lang || 'eng',\n origin: 'EMBEDDED',\n embedded: true,\n mode: audioTrackId === currentAudioTrack ? 'showing' : 'disabled',\n });\n });\n currentAudioTrack = 'EMBEDDED_0';\n onPropChanged('audioTracks');\n onPropChanged('selectedAudioTrackId');\n }\n });\n }\n }\n\n function getProp(propName) {\n switch (propName) {\n case 'stream': {\n return stream;\n }\n case 'loaded': {\n return isLoaded;\n }\n case 'paused': {\n if (stream === null) {\n return null;\n }\n\n return !!videoElement.paused;\n }\n case 'time': {\n if (stream === null || videoElement.currentTime === null || !isFinite(videoElement.currentTime)) {\n return null;\n }\n\n return Math.floor(videoElement.currentTime * 1000);\n }\n case 'duration': {\n if (stream === null || videoElement.duration === null || !isFinite(videoElement.duration)) {\n return null;\n }\n\n return Math.floor(videoElement.duration * 1000);\n }\n case 'buffering': {\n if (stream === null) {\n return null;\n }\n\n return videoElement.readyState < videoElement.HAVE_FUTURE_DATA;\n }\n case 'buffered': {\n if (stream === null) {\n return null;\n }\n\n var time = videoElement.currentTime !== null && isFinite(videoElement.currentTime) ? videoElement.currentTime : 0;\n for (var i = 0; i < videoElement.buffered.length; i++) {\n if (videoElement.buffered.start(i) <= time && time <= videoElement.buffered.end(i)) {\n return Math.floor(videoElement.buffered.end(i) * 1000);\n }\n }\n\n return Math.floor(time * 1000);\n }\n case 'subtitlesTracks': {\n if (stream === null) {\n return [];\n }\n\n return textTracks;\n }\n case 'selectedSubtitlesTrackId': {\n if (stream === null || disabledSubs) {\n return null;\n }\n\n return currentSubTrack;\n }\n case 'subtitlesOffset': {\n if (destroyed) {\n return null;\n }\n\n return subtitlesOffset;\n }\n case 'subtitlesSize': {\n if (destroyed) {\n return null;\n }\n\n return subSize;\n }\n case 'subtitlesTextColor': {\n if (destroyed) {\n return null;\n }\n\n return lastSubColor || 'rgb(255, 255, 255)';\n }\n case 'subtitlesBackgroundColor': {\n if (destroyed) {\n return null;\n }\n\n return lastSubBgColor || 'rgba(0, 0, 0, 0)';\n }\n case 'subtitlesOpacity': {\n if (destroyed) {\n return null;\n }\n\n return subtitlesOpacity || 100;\n }\n case 'audioTracks': {\n return audioTracks;\n }\n case 'selectedAudioTrackId': {\n return currentAudioTrack;\n }\n case 'volume': {\n if (destroyed || videoElement.volume === null || !isFinite(videoElement.volume)) {\n return null;\n }\n\n return Math.floor(videoElement.volume * 100);\n }\n case 'muted': {\n if (destroyed) {\n return null;\n }\n\n return !!videoElement.muted;\n }\n case 'playbackSpeed': {\n if (destroyed || lastPlaybackSpeed === null || !isFinite(lastPlaybackSpeed)) {\n return null;\n }\n\n return lastPlaybackSpeed;\n }\n default: {\n return null;\n }\n }\n }\n function onCueChange() {\n Array.from(videoElement.textTracks).forEach(function(track) {\n Array.from(track.cues || []).forEach(function(cue) {\n cue.snapToLines = false;\n cue.line = 100 - subtitlesOffset;\n });\n });\n }\n function onVideoError() {\n if (destroyed) {\n return;\n }\n\n var error;\n switch ((videoElement.error || {}).code) {\n case 1: {\n error = ERROR.HTML_VIDEO.MEDIA_ERR_ABORTED;\n break;\n }\n case 2: {\n error = ERROR.HTML_VIDEO.MEDIA_ERR_NETWORK;\n break;\n }\n case 3: {\n error = ERROR.HTML_VIDEO.MEDIA_ERR_DECODE;\n launchVideoApp({\n id: 'com.webos.app.photovideo',\n url: stream.url,\n name: 'Stremio',\n position: -1,\n }, null, function(e) {\n // eslint-disable-next-line no-console\n console.error(e);\n });\n break;\n }\n case 4: {\n error = ERROR.HTML_VIDEO.MEDIA_ERR_SRC_NOT_SUPPORTED;\n launchVideoApp({\n id: 'com.webos.app.photovideo',\n url: stream.url,\n name: 'Stremio',\n position: -1,\n }, null, function(e) {\n // eslint-disable-next-line no-console\n console.error(e);\n });\n break;\n }\n default: {\n error = ERROR.UNKNOWN_ERROR;\n }\n }\n onError(Object.assign({}, error, {\n critical: true,\n error: videoElement.error\n }));\n }\n function onError(error) {\n events.emit('error', error);\n if (error.critical) {\n command('unload');\n }\n }\n function onEnded() {\n events.emit('ended');\n }\n function onPropChanged(propName) {\n if (observedProps[propName]) {\n events.emit('propChanged', propName, getProp(propName));\n }\n }\n function observeProp(propName) {\n if (observedProps.hasOwnProperty(propName)) {\n events.emit('propValue', propName, getProp(propName));\n observedProps[propName] = true;\n }\n }\n function setProp(propName, propValue) {\n switch (propName) {\n case 'paused': {\n if (stream !== null) {\n propValue ? videoElement.pause() : videoElement.play();\n }\n\n break;\n }\n case 'time': {\n if (stream !== null && videoElement.readyState >= videoElement.HAVE_METADATA && propValue !== null && isFinite(propValue)) {\n try {\n videoElement.currentTime = parseInt(propValue, 10) / 1000;\n onPropChanged('time');\n } catch(e) {\n // console.log('webos video change time error');\n // console.error(e);\n }\n }\n\n break;\n }\n case 'selectedSubtitlesTrackId': {\n if (videoElement.mediaId && stream !== null) {\n if ((propValue || '').indexOf('EMBEDDED_') === 0) {\n toggleSubtitles(true);\n\n subStyles.bg_opacity = subStyles.bg_color === 'none' ? 0 : 255;\n\n [\n 'setSubtitleCharacterColor',\n 'setSubtitleBackgroundColor',\n 'setSubtitlePosition',\n 'setSubtitleFontSize',\n 'setSubtitleBackgroundOpacity',\n 'setSubtitleCharacterOpacity'\n ].forEach(function(key) {\n luna({\n method: key,\n parameters: {\n mediaId: videoElement.mediaId,\n charColor: subStyles.color,\n bgColor: subStyles.bg_color === 'none' ? 'black' : subStyles.bg_color,\n position: subStyles.position,\n fontSize: subStyles.font_size,\n bgOpacity: subStyles.bg_opacity,\n charOpacity: subStyles.char_opacity\n }\n });\n });\n\n // eslint-disable-next-line no-console\n console.log('WebOS', 'change subtitles for id: ', videoElement.mediaId, ' index:', propValue);\n\n currentSubTrack = propValue;\n var trackIndex = parseInt(propValue.replace('EMBEDDED_', ''));\n // eslint-disable-next-line no-console\n console.log('set subs to track idx: ' + trackIndex);\n setTimeout(function() {\n var successCb = function() {\n var selectedSubtitlesTrack = getProp('subtitlesTracks')\n .find(function(track) {\n return track.id === propValue;\n });\n textTracks = textTracks.map(function(track) {\n track.mode = track.id === currentSubTrack ? 'showing' : 'disabled';\n return track;\n });\n if (selectedSubtitlesTrack) {\n events.emit('subtitlesTrackLoaded', selectedSubtitlesTrack);\n onPropChanged('selectedSubtitlesTrackId');\n }\n };\n luna({\n method: 'selectTrack',\n parameters: {\n 'type': 'text',\n 'mediaId': videoElement.mediaId,\n 'index': trackIndex\n }\n }, successCb, successCb);\n }, 500);\n }\n }\n\n if ((propValue || '').indexOf('EMBEDDED_') === -1) {\n currentSubTrack = null;\n onPropChanged('selectedSubtitlesTrackId');\n toggleSubtitles(false);\n }\n\n break;\n }\n case 'subtitlesOffset': {\n if (propValue !== null && isFinite(propValue)) {\n subtitlesOffset = propValue;\n var nextOffset = stremioSubOffsets(Math.max(0, Math.min(100, parseInt(subtitlesOffset, 10))));\n if (nextOffset === false) { // use default\n nextOffset = -2;\n }\n subStyles.position = nextOffset;\n if (videoElement.mediaId) {\n luna({\n method: 'setSubtitlePosition',\n parameters: {\n 'mediaId': videoElement.mediaId,\n 'position': nextOffset,\n }\n });\n }\n\n onPropChanged('subtitlesOffset');\n }\n\n break;\n }\n case 'subtitlesSize': {\n if (propValue !== null && isFinite(propValue)) {\n subSize = propValue;\n var nextSubSize = stremioSubSizes(Math.max(0, parseInt(subSize, 10)));\n if (nextSubSize === false) { // use default\n nextSubSize = 1;\n }\n subStyles.font_size = nextSubSize;\n if (videoElement.mediaId) {\n luna({\n method: 'setSubtitleFontSize',\n parameters: {\n 'mediaId': videoElement.mediaId,\n 'fontSize': nextSubSize,\n }\n });\n }\n\n onPropChanged('subtitlesSize');\n }\n\n break;\n }\n case 'subtitlesTextColor': {\n if (typeof propValue === 'string') {\n // we use setSubtitleCharacterColor instead of setSubtitleColor\n // because it has the same color options as the sub background\n var nextColor = 'white';\n if (stremioColors[propValue] && webOsColors.indexOf(stremioColors[propValue]) > -1) {\n nextColor = stremioColors[propValue];\n }\n subStyles.color = nextColor;\n if (videoElement.mediaId) {\n luna({\n method: 'setSubtitleCharacterColor',\n parameters: {\n 'mediaId': videoElement.mediaId,\n 'charColor': nextColor,\n }\n });\n }\n lastSubColor = propValue;\n onPropChanged('subtitlesTextColor');\n }\n\n break;\n }\n case 'subtitlesBackgroundColor': {\n if (typeof propValue === 'string') {\n if (stremioColors[propValue] && webOsColors.indexOf(stremioColors[propValue]) > -1) {\n subStyles.bg_color = stremioColors[propValue];\n if (videoElement.mediaId) {\n luna({\n method: 'setSubtitleBackgroundColor',\n parameters: {\n 'mediaId': videoElement.mediaId,\n 'bgColor': stremioColors[propValue] === 'none' ? 'black' : stremioColors[propValue],\n }\n });\n if (stremioColors[propValue] === 'none') {\n luna({\n method: 'setSubtitleBackgroundOpacity',\n parameters: {\n 'mediaId': videoElement.mediaId,\n 'bgOpacity': 0,\n }\n });\n } else {\n luna({\n method: 'setSubtitleBackgroundOpacity',\n parameters: {\n 'mediaId': videoElement.mediaId,\n 'bgOpacity': 255,\n }\n });\n }\n }\n }\n lastSubBgColor = propValue;\n onPropChanged('subtitlesBackgroundColor');\n }\n\n break;\n }\n case 'subtitlesOpacity': {\n if (typeof propValue === 'number') {\n var nextSubOpacity = Math.floor(propValue / 100 * 255);\n subStyles.char_opacity = nextSubOpacity;\n if (videoElement.mediaId) {\n luna({\n method: 'setSubtitleCharacterOpacity',\n parameters: {\n 'mediaId': videoElement.mediaId,\n 'charOpacity': nextSubOpacity,\n }\n });\n }\n\n subtitlesOpacity = propValue;\n onPropChanged('subtitlesOpacity');\n }\n\n break;\n }\n case 'selectedAudioTrackId': {\n if ((propValue || '').indexOf('EMBEDDED_') === 0) {\n currentAudioTrack = propValue;\n var trackIndex = parseInt(propValue.replace('EMBEDDED_', ''));\n if (videoElement.mediaId) {\n luna({\n method: 'selectTrack',\n parameters: {\n 'type': 'audio',\n 'mediaId': videoElement.mediaId,\n 'index': trackIndex\n }\n }, function() {\n var selectedAudioTrack = getProp('audioTracks')\n .find(function(track) {\n return track.id === propValue;\n });\n\n audioTracks = audioTracks.map(function(track) {\n track.mode = track.id === currentAudioTrack ? 'showing' : 'disabled';\n return track;\n });\n\n if (selectedAudioTrack) {\n events.emit('audioTrackLoaded', selectedAudioTrack);\n onPropChanged('selectedAudioTrackId');\n }\n });\n }\n if (videoElement && videoElement.audioTracks) {\n for (var i = 0; i < videoElement.audioTracks.length; i++) {\n videoElement.audioTracks[i].enabled = false;\n }\n\n if(videoElement.audioTracks[trackIndex]) {\n videoElement.audioTracks[trackIndex].enabled = true;\n }\n }\n\n }\n\n break;\n }\n case 'volume': {\n if (propValue !== null && isFinite(propValue)) {\n videoElement.muted = false;\n videoElement.volume = Math.max(0, Math.min(100, parseInt(propValue, 10))) / 100;\n }\n\n break;\n }\n case 'muted': {\n videoElement.muted = !!propValue;\n break;\n }\n case 'playbackSpeed': {\n if (propValue !== null && isFinite(propValue)) {\n lastPlaybackSpeed = parseFloat(propValue);\n if (videoElement.mediaId) {\n luna({\n method: 'setPlayRate',\n parameters: {\n 'mediaId': videoElement.mediaId,\n 'playRate': lastPlaybackSpeed,\n 'audioOutput': true,\n }\n });\n }\n onPropChanged('playbackSpeed');\n }\n\n break;\n }\n }\n }\n function command(commandName, commandArgs) {\n switch (commandName) {\n case 'load': {\n // not sure about this\n // command('unload');\n if (commandArgs && commandArgs.stream && typeof commandArgs.stream.url === 'string') {\n stream = commandArgs.stream;\n startTime = commandArgs.time;\n\n onPropChanged('stream');\n videoElement.autoplay = typeof commandArgs.autoplay === 'boolean' ? commandArgs.autoplay : true;\n\n onPropChanged('loaded');\n onPropChanged('paused');\n onPropChanged('time');\n onPropChanged('duration');\n onPropChanged('buffering');\n onPropChanged('buffered');\n onPropChanged('subtitlesTracks');\n onPropChanged('selectedSubtitlesTrackId');\n onPropChanged('audioTracks');\n onPropChanged('selectedAudioTrackId');\n\n var count = 0;\n\n var initMediaId = function (cb) {\n function retrieveMediaId() {\n if (videoElement.mediaId) {\n clearInterval(timer);\n retrieveExtendedTracks();\n retrieveDeviceInfo();\n cb();\n return;\n }\n count++;\n if (count > 4) {\n // console.log('failed to get media id');\n clearInterval(timer);\n retrieveExtendedTracks();\n retrieveDeviceInfo();\n cb();\n }\n }\n var timer = setInterval(retrieveMediaId, 300);\n };\n\n var startVideo = function () {\n // console.log('startVideo');\n // not needed?\n // videoElement.src = stream.url;\n\n try {\n videoElement.load();\n } catch(e) {\n // console.log('can\\'t load video');\n // console.error(e);\n }\n\n try {\n // console.log('try play');\n videoElement.play();\n } catch(e) {\n // console.log('can\\'t start video');\n // console.error(e);\n }\n };\n\n videoElement.src = stream.url;\n\n initMediaId(startVideo);\n } else {\n onError(Object.assign({}, ERROR.UNSUPPORTED_STREAM, {\n critical: true,\n stream: commandArgs ? commandArgs.stream : null\n }));\n }\n break;\n }\n case 'unload': {\n stream = null;\n startTime = null;\n Array.from(videoElement.textTracks).forEach(function(track) {\n track.oncuechange = null;\n });\n videoElement.removeAttribute('src');\n videoElement.load();\n // not sure about this:\n // try {\n // videoElement.currentTime = 0;\n // } catch(e) {\n // console.log('webos video unload error');\n // console.error(e);\n // }\n onPropChanged('stream');\n onPropChanged('paused');\n onPropChanged('time');\n onPropChanged('duration');\n onPropChanged('buffering');\n onPropChanged('buffered');\n onPropChanged('subtitlesTracks');\n onPropChanged('selectedSubtitlesTrackId');\n onPropChanged('audioTracks');\n onPropChanged('selectedAudioTrackId');\n // not sure about this:\n // unload(function() {});\n break;\n }\n case 'destroy': {\n command('unload');\n destroyed = true;\n onPropChanged('subtitlesOffset');\n onPropChanged('subtitlesSize');\n onPropChanged('subtitlesTextColor');\n onPropChanged('subtitlesBackgroundColor');\n onPropChanged('subtitlesOpacity');\n onPropChanged('volume');\n onPropChanged('muted');\n onPropChanged('playbackSpeed');\n events.removeAllListeners();\n videoElement.onerror = null;\n videoElement.onended = null;\n videoElement.onpause = null;\n videoElement.onplay = null;\n videoElement.ontimeupdate = null;\n videoElement.ondurationchange = null;\n videoElement.onwaiting = null;\n videoElement.onseeking = null;\n videoElement.onseeked = null;\n videoElement.onstalled = null;\n videoElement.onplaying = null;\n videoElement.oncanplay = null;\n videoElement.canplaythrough = null;\n videoElement.onloadeddata = null;\n videoElement.onloadedmetadata = null;\n videoElement.onvolumechange = null;\n videoElement.onratechange = null;\n videoElement.textTracks.onchange = null;\n containerElement.removeChild(videoElement);\n containerElement.removeChild(styleElement);\n break;\n }\n }\n }\n\n this.on = function(eventName, listener) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n events.on(eventName, listener);\n };\n this.dispatch = function(action) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n if (action) {\n action = deepFreeze(cloneDeep(action));\n switch (action.type) {\n case 'observeProp': {\n observeProp(action.propName);\n return;\n }\n case 'setProp': {\n setProp(action.propName, action.propValue);\n return;\n }\n case 'command': {\n command(action.commandName, action.commandArgs);\n return;\n }\n }\n }\n\n throw new Error('Invalid action dispatched: ' + JSON.stringify(action));\n };\n}\n\nWebOsVideo.canPlayStream = function() { // function(stream)\n return Promise.resolve(true);\n};\n\nWebOsVideo.manifest = {\n name: 'WebOsVideo',\n external: false,\n props: ['stream', 'loaded', 'paused', 'time', 'duration', 'buffering', 'buffered', 'audioTracks', 'selectedAudioTrackId', 'subtitlesTracks', 'selectedSubtitlesTrackId', 'subtitlesOffset', 'subtitlesSize', 'subtitlesTextColor', 'subtitlesBackgroundColor', 'subtitlesOpacity', 'volume', 'muted', 'playbackSpeed'],\n commands: ['load', 'unload', 'destroy'],\n events: ['propValue', 'propChanged', 'ended', 'error', 'subtitlesTrackLoaded', 'audioTrackLoaded']\n};\n\nmodule.exports = WebOsVideo;\n","var WebOsVideo = require('./WebOsVideo');\n\nmodule.exports = WebOsVideo;\n","var EventEmitter = require('eventemitter3');\nvar cloneDeep = require('lodash.clonedeep');\nvar deepFreeze = require('deep-freeze');\nvar ERROR = require('../error');\n\nfunction YouTubeVideo(options) {\n options = options || {};\n\n var timeChangedTimeout = options.timeChangedTimeout !== null && isFinite(options.timeChangedTimeout) ? parseInt(options.timeChangedTimeout, 10) : 100;\n\n var containerElement = options.containerElement;\n if (!(containerElement instanceof HTMLElement)) {\n throw new Error('Container element required to be instance of HTMLElement');\n }\n\n var apiScriptElement = document.createElement('script');\n apiScriptElement.type = 'text/javascript';\n apiScriptElement.src = 'https://www.youtube.com/iframe_api';\n apiScriptElement.onload = onAPILoaded;\n apiScriptElement.onerror = onAPIError;\n containerElement.appendChild(apiScriptElement);\n var videoContainerElement = document.createElement('div');\n videoContainerElement.style.width = '100%';\n videoContainerElement.style.height = '100%';\n videoContainerElement.style.backgroundColor = 'black';\n containerElement.appendChild(videoContainerElement);\n var timeChangedIntervalId = window.setInterval(function() {\n onPropChanged('time');\n onPropChanged('volume');\n onPropChanged('muted');\n onPropChanged('playbackSpeed');\n }, timeChangedTimeout);\n\n var video = null;\n var ready = false;\n var pendingLoadArgs = null;\n var events = new EventEmitter();\n var destroyed = false;\n var stream = null;\n var selectedSubtitlesTrackId = null;\n var observedProps = {\n stream: false,\n loaded: false,\n paused: false,\n time: false,\n duration: false,\n buffering: false,\n volume: false,\n muted: false,\n playbackSpeed: false,\n subtitlesTracks: false,\n selectedSubtitlesTrackId: false\n };\n\n function onAPIError() {\n if (destroyed) {\n return;\n }\n\n onError(Object.assign({}, ERROR.YOUTUBE_VIDEO.API_LOAD_FAILED, {\n critical: true\n }));\n }\n function onAPILoaded() {\n if (destroyed) {\n return;\n }\n\n if (!YT || typeof YT.ready !== 'function') {\n onAPIError();\n return;\n }\n\n YT.ready(function() {\n if (destroyed) {\n return;\n }\n\n if (!YT || !YT.PlayerState || typeof YT.Player !== 'function') {\n onAPIError();\n return;\n }\n\n video = new YT.Player(videoContainerElement, {\n width: '100%',\n height: '100%',\n playerVars: {\n autoplay: 1,\n cc_load_policy: 3,\n controls: 0,\n disablekb: 1,\n enablejsapi: 1,\n fs: 0,\n iv_load_policy: 3,\n loop: 0,\n modestbranding: 1,\n playsinline: 1,\n rel: 0\n },\n events: {\n onError: onVideoError,\n onReady: onVideoReady,\n onApiChange: onVideoAPIChange,\n onStateChange: onVideoStateChange\n }\n });\n });\n }\n function onVideoError(videoError) {\n if (destroyed) {\n return;\n }\n\n var error;\n switch (videoError.data) {\n case 2: {\n error = ERROR.YOUTUBE_VIDEO.INVALID_PARAMETER;\n break;\n }\n case 5: {\n error = ERROR.YOUTUBE_VIDEO.HTML5_VIDEO;\n break;\n }\n case 100: {\n error = ERROR.YOUTUBE_VIDEO.VIDEO_NOT_FOUND;\n break;\n }\n case 101:\n case 150: {\n error = ERROR.YOUTUBE_VIDEO.VIDEO_NOT_EMBEDDABLE;\n break;\n }\n default: {\n error = ERROR.UNKNOWN_ERROR;\n }\n }\n onError(Object.assign({}, error, {\n critical: true,\n error: videoError\n }));\n }\n function onVideoReady() {\n if (destroyed) {\n return;\n }\n\n ready = true;\n if (pendingLoadArgs !== null) {\n command('load', pendingLoadArgs);\n pendingLoadArgs = null;\n }\n }\n function onVideoAPIChange() {\n if (destroyed) {\n return;\n }\n\n if (typeof video.loadModule === 'function') {\n video.loadModule('captions');\n }\n if (typeof video.setOption === 'function') {\n video.setOption('captions', 'track', {});\n }\n onPropChanged('paused');\n onPropChanged('time');\n onPropChanged('duration');\n onPropChanged('buffering');\n onPropChanged('volume');\n onPropChanged('muted');\n onPropChanged('playbackSpeed');\n onPropChanged('subtitlesTracks');\n onPropChanged('selectedSubtitlesTrackId');\n }\n function onVideoStateChange(state) {\n onPropChanged('buffering');\n switch (state.data) {\n case YT.PlayerState.ENDED: {\n onEnded();\n break;\n }\n case YT.PlayerState.CUED:\n case YT.PlayerState.UNSTARTED:\n case YT.PlayerState.PAUSED:\n case YT.PlayerState.PLAYING: {\n onPropChanged('paused');\n onPropChanged('time');\n onPropChanged('duration');\n break;\n }\n }\n }\n function getProp(propName) {\n switch (propName) {\n case 'stream': {\n return stream;\n }\n case 'loaded': {\n if (stream === null) {\n return null;\n }\n\n return true;\n }\n case 'paused': {\n if (stream === null || typeof video.getPlayerState !== 'function') {\n return null;\n }\n\n return video.getPlayerState() !== YT.PlayerState.PLAYING;\n }\n case 'time': {\n if (stream === null || typeof video.getCurrentTime !== 'function' || video.getCurrentTime() === null || !isFinite(video.getCurrentTime())) {\n return null;\n }\n\n return Math.floor(video.getCurrentTime() * 1000);\n }\n case 'duration': {\n if (stream === null || typeof video.getDuration !== 'function' || video.getDuration() === null || !isFinite(video.getDuration())) {\n return null;\n }\n\n return Math.floor(video.getDuration() * 1000);\n }\n case 'buffering': {\n if (stream === null || typeof video.getPlayerState !== 'function') {\n return null;\n }\n\n return video.getPlayerState() === YT.PlayerState.BUFFERING;\n }\n case 'volume': {\n if (stream === null || typeof video.getVolume !== 'function' || video.getVolume() === null || !isFinite(video.getVolume())) {\n return null;\n }\n\n return video.getVolume();\n }\n case 'muted': {\n if (stream === null || typeof video.isMuted !== 'function') {\n return null;\n }\n\n return video.isMuted();\n }\n case 'playbackSpeed': {\n if (stream === null || typeof video.getPlaybackRate !== 'function' || video.getPlaybackRate() === null || !isFinite(video.getPlaybackRate())) {\n return null;\n }\n\n return video.getPlaybackRate();\n }\n case 'subtitlesTracks': {\n if (stream === null || typeof video.getOption !== 'function') {\n return [];\n }\n\n return (video.getOption('captions', 'tracklist') || [])\n .filter(function(track) {\n return track && typeof track.languageCode === 'string';\n })\n .map(function(track, index) {\n return Object.freeze({\n id: 'EMBEDDED_' + String(index),\n lang: track.languageCode,\n label: typeof track.displayName === 'string' ? track.displayName : track.languageCode,\n origin: 'EMBEDDED',\n embedded: true\n });\n });\n }\n case 'selectedSubtitlesTrackId': {\n if (stream === null) {\n return null;\n }\n\n return selectedSubtitlesTrackId;\n }\n default: {\n return null;\n }\n }\n }\n function onError(error) {\n events.emit('error', error);\n if (error.critical) {\n command('unload');\n }\n }\n function onEnded() {\n events.emit('ended');\n }\n function onPropChanged(propName) {\n if (observedProps[propName]) {\n events.emit('propChanged', propName, getProp(propName));\n }\n }\n function observeProp(propName) {\n if (observedProps.hasOwnProperty(propName)) {\n events.emit('propValue', propName, getProp(propName));\n observedProps[propName] = true;\n }\n }\n function setProp(propName, propValue) {\n switch (propName) {\n case 'paused': {\n if (stream !== null) {\n propValue ?\n typeof video.pauseVideo === 'function' && video.pauseVideo()\n :\n typeof video.playVideo === 'function' && video.playVideo();\n }\n\n break;\n }\n case 'time': {\n if (stream !== null && typeof video.seekTo === 'function' && propValue !== null && isFinite(propValue)) {\n video.seekTo(parseInt(propValue, 10) / 1000);\n }\n\n break;\n }\n case 'volume': {\n if (stream !== null && propValue !== null && isFinite(propValue)) {\n if (typeof video.unMute === 'function') {\n video.unMute();\n }\n if (typeof video.setVolume === 'function') {\n video.setVolume(Math.max(0, Math.min(100, parseInt(propValue, 10))));\n }\n onPropChanged('muted');\n onPropChanged('volume');\n }\n\n break;\n }\n case 'muted': {\n if (stream !== null) {\n propValue ?\n typeof video.mute === 'function' && video.mute()\n :\n typeof video.unMute === 'function' && video.unMute();\n onPropChanged('muted');\n }\n\n break;\n }\n case 'playbackSpeed': {\n if (stream !== null && typeof video.setPlaybackRate === 'function' && isFinite(propValue)) {\n video.setPlaybackRate(propValue);\n onPropChanged('playbackSpeed');\n }\n\n break;\n }\n case 'selectedSubtitlesTrackId': {\n if (stream !== null) {\n selectedSubtitlesTrackId = null;\n var selecterdTrack = getProp('subtitlesTracks')\n .find(function(track) {\n return track.id === propValue;\n });\n if (typeof video.setOption === 'function') {\n if (selecterdTrack) {\n selectedSubtitlesTrackId = selecterdTrack.id;\n video.setOption('captions', 'track', {\n languageCode: selecterdTrack.lang\n });\n events.emit('subtitlesTrackLoaded', selecterdTrack);\n } else {\n video.setOption('captions', 'track', {});\n }\n }\n onPropChanged('selectedSubtitlesTrackId');\n }\n\n break;\n }\n }\n }\n function command(commandName, commandArgs) {\n switch (commandName) {\n case 'load': {\n command('unload');\n if (commandArgs && commandArgs.stream && typeof commandArgs.stream.ytId === 'string') {\n if (ready) {\n stream = commandArgs.stream;\n onPropChanged('stream');\n onPropChanged('loaded');\n var autoplay = typeof commandArgs.autoplay === 'boolean' ? commandArgs.autoplay : true;\n var time = commandArgs.time !== null && isFinite(commandArgs.time) ? parseInt(commandArgs.time, 10) / 1000 : 0;\n if (autoplay && typeof video.loadVideoById === 'function') {\n video.loadVideoById({\n videoId: commandArgs.stream.ytId,\n startSeconds: time\n });\n } else if (typeof video.cueVideoById === 'function') {\n video.cueVideoById({\n videoId: commandArgs.stream.ytId,\n startSeconds: time\n });\n }\n onPropChanged('paused');\n onPropChanged('time');\n onPropChanged('duration');\n onPropChanged('buffering');\n onPropChanged('volume');\n onPropChanged('muted');\n onPropChanged('playbackSpeed');\n onPropChanged('subtitlesTracks');\n onPropChanged('selectedSubtitlesTrackId');\n } else {\n pendingLoadArgs = commandArgs;\n }\n } else {\n onError(Object.assign({}, ERROR.UNSUPPORTED_STREAM, {\n critical: true,\n stream: commandArgs ? commandArgs.stream : null\n }));\n }\n\n break;\n }\n case 'unload': {\n pendingLoadArgs = null;\n stream = null;\n onPropChanged('stream');\n onPropChanged('loaded');\n selectedSubtitlesTrackId = null;\n if (ready && typeof video.stopVideo === 'function') {\n video.stopVideo();\n }\n onPropChanged('paused');\n onPropChanged('time');\n onPropChanged('duration');\n onPropChanged('buffering');\n onPropChanged('volume');\n onPropChanged('muted');\n onPropChanged('playbackSpeed');\n onPropChanged('subtitlesTracks');\n onPropChanged('selectedSubtitlesTrackId');\n break;\n }\n case 'destroy': {\n command('unload');\n destroyed = true;\n events.removeAllListeners();\n clearInterval(timeChangedIntervalId);\n if (ready && typeof video.destroy === 'function') {\n video.destroy();\n }\n containerElement.removeChild(apiScriptElement);\n containerElement.removeChild(videoContainerElement);\n break;\n }\n }\n }\n\n this.on = function(eventName, listener) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n events.on(eventName, listener);\n };\n this.dispatch = function(action) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n if (action) {\n action = deepFreeze(cloneDeep(action));\n switch (action.type) {\n case 'observeProp': {\n observeProp(action.propName);\n return;\n }\n case 'setProp': {\n setProp(action.propName, action.propValue);\n return;\n }\n case 'command': {\n command(action.commandName, action.commandArgs);\n return;\n }\n }\n }\n\n throw new Error('Invalid action dispatched: ' + JSON.stringify(action));\n };\n}\n\nYouTubeVideo.canPlayStream = function(stream) {\n return Promise.resolve(stream && typeof stream.ytId === 'string');\n};\n\nYouTubeVideo.manifest = {\n name: 'YouTubeVideo',\n external: false,\n props: ['stream', 'loaded', 'paused', 'time', 'duration', 'buffering', 'volume', 'muted', 'playbackSpeed', 'subtitlesTracks', 'selectedSubtitlesTrackId'],\n commands: ['load', 'unload', 'destroy'],\n events: ['propValue', 'propChanged', 'ended', 'error', 'subtitlesTrackLoaded']\n};\n\nmodule.exports = YouTubeVideo;\n","var YouTubeVideo = require('./YouTubeVideo');\n\nmodule.exports = YouTubeVideo;\n","var ERROR = {\n CHROMECAST_SENDER_VIDEO: {\n INVALID_MESSAGE_RECEIVED: {\n code: 100,\n message: 'Invalid message received'\n },\n MESSAGE_SEND_FAILED: {\n code: 101,\n message: 'Failed to send message'\n }\n },\n YOUTUBE_VIDEO: {\n API_LOAD_FAILED: {\n code: 90,\n message: 'YouTube player iframe API failed to load',\n },\n INVALID_PARAMETER: {\n code: 91,\n message: 'The request contains an invalid parameter value'\n },\n HTML5_VIDEO: {\n code: 92,\n message: 'The requested content cannot be played in an HTML5 player'\n },\n VIDEO_NOT_FOUND: {\n code: 93,\n message: 'The video requested was not found'\n },\n VIDEO_NOT_EMBEDDABLE: {\n code: 94,\n message: 'The owner of the requested video does not allow it to be played in embedded players'\n }\n },\n HTML_VIDEO: {\n MEDIA_ERR_ABORTED: {\n code: 80,\n message: 'Fetching process aborted'\n },\n MEDIA_ERR_NETWORK: {\n code: 81,\n message: 'Error occurred when downloading'\n },\n MEDIA_ERR_DECODE: {\n code: 82,\n message: 'Error occurred when decoding'\n },\n MEDIA_ERR_SRC_NOT_SUPPORTED: {\n code: 83,\n message: 'Video is not supported'\n }\n },\n WITH_HTML_SUBTITLES: {\n LOAD_FAILED: {\n code: 70,\n message: 'Failed to load external subtitles'\n }\n },\n WITH_STREAMING_SERVER: {\n CONVERT_FAILED: {\n code: 60,\n message: 'Your device does not support the stream'\n }\n },\n UNKNOWN_ERROR: {\n code: 1,\n message: 'Unknown error'\n },\n UNSUPPORTED_STREAM: {\n code: 2,\n message: 'Stream is not supported'\n },\n STREAM_FAILED_TO_LOAD: {\n code: 3,\n message: 'Stream failed to load'\n }\n};\n\nmodule.exports = ERROR;\n","var StremioVideo = require('./StremioVideo');\n\nmodule.exports = StremioVideo;\n","var VIDEO_CODEC_CONFIGS = [\n {\n codec: 'h264',\n force: window.chrome || window.cast,\n mime: 'video/mp4; codecs=\"avc1.42E01E\"',\n },\n {\n codec: 'h265',\n // Disabled because chrome only has partial support for h265/hvec,\n // force: window.chrome || window.cast,\n mime: 'video/mp4; codecs=\"hev1.1.6.L150.B0\"',\n aliases: ['hevc']\n },\n {\n codec: 'vp8',\n mime: 'video/mp4; codecs=\"vp8\"'\n },\n {\n codec: 'vp9',\n mime: 'video/mp4; codecs=\"vp9\"'\n }\n];\n\nvar AUDIO_CODEC_CONFIGS = [\n {\n codec: 'aac',\n mime: 'audio/mp4; codecs=\"mp4a.40.2\"'\n },\n {\n codec: 'mp3',\n mime: 'audio/mp4; codecs=\"mp3\"'\n },\n {\n codec: 'ac3',\n mime: 'audio/mp4; codecs=\"ac-3\"'\n },\n {\n codec: 'eac3',\n mime: 'audio/mp4; codecs=\"ec-3\"'\n },\n {\n codec: 'vorbis',\n mime: 'audio/mp4; codecs=\"vorbis\"'\n },\n {\n codec: 'opus',\n mime: 'audio/mp4; codecs=\"opus\"'\n }\n];\n\nfunction canPlay(config, options) {\n return config.force || options.mediaElement.canPlayType(config.mime)\n ? [config.codec].concat(config.aliases || [])\n : [];\n}\n\nfunction getMaxAudioChannels() {\n if (/firefox/i.test(window.navigator.userAgent)) {\n return 6;\n }\n\n if (!window.AudioContext || window.chrome || window.cast) {\n return 2;\n }\n\n var maxChannelCount = new AudioContext().destination.maxChannelCount;\n return maxChannelCount > 0 ? maxChannelCount : 2;\n}\n\nfunction getMediaCapabilities() {\n var mediaElement = document.createElement('video');\n var formats = ['mp4'];\n if (window.chrome || window.cast) {\n formats.push('matroska,webm');\n }\n var videoCodecs = VIDEO_CODEC_CONFIGS\n .map(function(config) {\n return canPlay(config, { mediaElement: mediaElement });\n })\n .reduce(function(result, value) {\n return result.concat(value);\n }, []);\n var audioCodecs = AUDIO_CODEC_CONFIGS\n .map(function(config) {\n return canPlay(config, { mediaElement: mediaElement });\n })\n .reduce(function(result, value) {\n return result.concat(value);\n }, []);\n var maxAudioChannels = getMaxAudioChannels();\n return {\n formats: formats,\n videoCodecs: videoCodecs,\n audioCodecs: audioCodecs,\n maxAudioChannels: maxAudioChannels\n };\n}\n\nmodule.exports = getMediaCapabilities();\n","function supportsTranscoding() {\n if (typeof global.tizen !== 'undefined' || typeof global.webOS !== 'undefined' || typeof window.qt !== 'undefined') {\n return Promise.resolve(false);\n }\n return Promise.resolve(true);\n}\n\nmodule.exports = supportsTranscoding;\n","module.exports = function(url, cb) {\n fetch('http://127.0.0.1:11470/tracks/'+encodeURIComponent(url)).then(function(resp) {\n return resp.json();\n }).then(function(tracks) {\n var audioTracks = tracks.filter(function(el) { return (el || {}).type === 'audio'; });\n var subsTracks = tracks.filter(function(el) { return (el || {}).type === 'text'; });\n cb({ audio: audioTracks, subs: subsTracks });\n }).catch(function(err) {\n // eslint-disable-next-line no-console\n console.error(err);\n cb(false);\n });\n};\n","function binarySearchUpperBound(array, value) {\n if (value < array[0] || array[array.length - 1] < value) {\n return -1;\n }\n\n var left = 0;\n var right = array.length - 1;\n var index = -1;\n while (left <= right) {\n var middle = Math.floor((left + right) / 2);\n if (array[middle] > value) {\n right = middle - 1;\n } else if (array[middle] < value) {\n left = middle + 1;\n } else {\n index = middle;\n left = middle + 1;\n }\n }\n\n return index !== -1 ? index : right;\n}\n\nmodule.exports = binarySearchUpperBound;\n","var withHTMLSubtitles = require('./withHTMLSubtitles');\n\nmodule.exports = withHTMLSubtitles;\n","// from: https://github.com/silviapfeiffer/silviapfeiffer.github.io/blob/master/index.html#L150-L216\n\nfunction srt2webvtt(data) {\n // remove dos newlines\n var srt = data.replace(/\\r+/g, '');\n // trim white space start and end\n srt = srt.replace(/^\\s+|\\s+$/g, '');\n // get cues\n var cuelist = srt.split('\\n\\n');\n var result = '';\n if (cuelist.length > 0) {\n result += 'WEBVTT\\n\\n';\n for (var i = 0; i < cuelist.length; i = i + 1) {\n result += convertSrtCue(cuelist[i]);\n }\n }\n return result;\n}\n\nfunction convertSrtCue(caption) {\n // remove all html tags for security reasons\n caption = caption.replace(/<[a-zA-Z/][^>]*>/g, '');\n\n var cue = '';\n var s = caption.split(/\\n/);\n // concatenate muilt-line string separated in array into one\n while (s.length > 3) {\n for (var i = 3; i < s.length; i++) {\n s[2] += '\\n' + s[i];\n }\n s.splice(3, s.length - 3);\n }\n var line = 0;\n // detect identifier\n if (!s[0].match(/\\d+:\\d+:\\d+/) && s[1].match(/\\d+:\\d+:\\d+/)) {\n cue += s[0].match(/\\w+/) + '\\n';\n line += 1;\n }\n // get time strings\n if (s[line].match(/\\d+:\\d+:\\d+/)) {\n // convert time string\n var m = s[1].match(/(\\d+):(\\d+):(\\d+)(?:,(\\d+))?\\s*--?>\\s*(\\d+):(\\d+):(\\d+)(?:,(\\d+))?/);\n if (m) {\n cue += m[1] + ':' + m[2] + ':' + m[3] + '.' + m[4] + ' --> '\n + m[5] + ':' + m[6] + ':' + m[7] + '.' + m[8] + '\\n';\n line += 1;\n } else {\n // Unrecognized timestring\n return '';\n }\n } else {\n // file format error or comment lines\n return '';\n }\n // get cue text\n if (s[line]) {\n cue += s[line] + '\\n\\n';\n }\n return cue;\n}\n\nmodule.exports = {\n convert: function(text) {\n // presume all to be SRT if not WEBVTT\n if (text.includes('WEBVTT')) {\n return text;\n }\n\n try {\n return srt2webvtt(text);\n } catch (error) {\n throw new Error('Failed to convert srt to webvtt: ' + error.message);\n }\n }\n};\n","var VTTJS = require('vtt.js');\nvar binarySearchUpperBound = require('./binarySearchUpperBound');\n\nvar CRITICAL_ERROR_CODE = 0;\n\nfunction parse(text) {\n return new Promise(function(resolve, reject) {\n var parser = new VTTJS.WebVTT.Parser(window, VTTJS.WebVTT.StringDecoder());\n var errors = [];\n var cues = [];\n var cuesByTime = {};\n\n parser.oncue = function(c) {\n var cue = {\n startTime: (c.startTime * 1000) | 0,\n endTime: (c.endTime * 1000) | 0,\n text: c.text\n };\n cues.push(cue);\n cuesByTime[cue.startTime] = cuesByTime[cue.startTime] || [];\n cuesByTime[cue.endTime] = cuesByTime[cue.endTime] || [];\n };\n\n parser.onparsingerror = function(error) {\n if (error.code === CRITICAL_ERROR_CODE) {\n parser.oncue = null;\n parser.onparsingerror = null;\n parser.onflush = null;\n reject(error);\n } else {\n console.warn('Subtitles parsing error', error);\n errors.push(error);\n }\n };\n\n parser.onflush = function() {\n cuesByTime.times = Object.keys(cuesByTime)\n .map(function(time) {\n return parseInt(time, 10);\n })\n .sort(function(t1, t2) {\n return t1 - t2;\n });\n for (var i = 0; i < cues.length; i++) {\n cuesByTime[cues[i].startTime].push(cues[i]);\n var startTimeIndex = binarySearchUpperBound(cuesByTime.times, cues[i].startTime);\n for (var j = startTimeIndex + 1; j < cuesByTime.times.length; j++) {\n if (cues[i].endTime <= cuesByTime.times[j]) {\n break;\n }\n\n cuesByTime[cuesByTime.times[j]].push(cues[i]);\n }\n }\n\n for (var k = 0; k < cuesByTime.times.length; k++) {\n cuesByTime[cuesByTime.times[k]].sort(function(c1, c2) {\n return c1.startTime - c2.startTime ||\n c1.endTime - c2.endTime;\n });\n }\n\n parser.oncue = null;\n parser.onparsingerror = null;\n parser.onflush = null;\n // we may have multiple parsing errors here, but will only respond with the first\n // if subtitle cues are available, we will not reject the promise\n if (cues.length === 0 && errors.length) {\n reject(errors[0]);\n } else if (cuesByTime.times.length === 0) {\n reject(new Error('Missing subtitle track cues'));\n } else {\n resolve(cuesByTime);\n }\n };\n\n parser.parse(text);\n });\n}\n\nmodule.exports = {\n parse: parse\n};\n","var VTTJS = require('vtt.js');\nvar binarySearchUpperBound = require('./binarySearchUpperBound');\n\nfunction render(cuesByTime, time) {\n var nodes = [];\n var timeIndex = binarySearchUpperBound(cuesByTime.times, time);\n if (timeIndex !== -1) {\n var cuesForTime = cuesByTime[cuesByTime.times[timeIndex]];\n for (var i = 0; i < cuesForTime.length; i++) {\n var node = VTTJS.WebVTT.convertCueToDOMTree(window, cuesForTime[i].text);\n nodes.push(node);\n }\n }\n\n return nodes;\n}\n\nmodule.exports = {\n render: render\n};\n","var EventEmitter = require('eventemitter3');\nvar cloneDeep = require('lodash.clonedeep');\nvar deepFreeze = require('deep-freeze');\nvar Color = require('color');\nvar ERROR = require('../error');\nvar subtitlesParser = require('./subtitlesParser');\nvar subtitlesRenderer = require('./subtitlesRenderer');\nvar subtitlesConverter = require('./subtitlesConverter');\n\nfunction withHTMLSubtitles(Video) {\n function VideoWithHTMLSubtitles(options) {\n options = options || {};\n\n var video = new Video(options);\n video.on('error', onVideoError);\n video.on('propValue', onVideoPropEvent.bind(null, 'propValue'));\n video.on('propChanged', onVideoPropEvent.bind(null, 'propChanged'));\n Video.manifest.events\n .filter(function(eventName) {\n return !['error', 'propValue', 'propChanged'].includes(eventName);\n })\n .forEach(function(eventName) {\n video.on(eventName, onOtherVideoEvent(eventName));\n });\n\n var containerElement = options.containerElement;\n if (!(containerElement instanceof HTMLElement)) {\n throw new Error('Container element required to be instance of HTMLElement');\n }\n\n var subtitlesElement = document.createElement('div');\n subtitlesElement.style.position = 'absolute';\n subtitlesElement.style.right = '0';\n subtitlesElement.style.bottom = '0';\n subtitlesElement.style.left = '0';\n subtitlesElement.style.zIndex = '1';\n subtitlesElement.style.textAlign = 'center';\n containerElement.style.position = 'relative';\n containerElement.style.zIndex = '0';\n containerElement.appendChild(subtitlesElement);\n\n var videoState = {\n time: null\n };\n var cuesByTime = null;\n var events = new EventEmitter();\n var destroyed = false;\n var tracks = [];\n var selectedTrackId = null;\n var delay = null;\n var size = 100;\n var offset = 0;\n var textColor = 'rgb(255, 255, 255)';\n var backgroundColor = 'rgba(0, 0, 0, 0)';\n var outlineColor = 'rgb(34, 34, 34)';\n var opacity = 1;\n var observedProps = {\n extraSubtitlesTracks: false,\n selectedExtraSubtitlesTrackId: false,\n extraSubtitlesDelay: false,\n extraSubtitlesSize: false,\n extraSubtitlesOffset: false,\n extraSubtitlesTextColor: false,\n extraSubtitlesBackgroundColor: false,\n extraSubtitlesOutlineColor: false,\n extraSubtitlesOpacity: false\n };\n\n function renderSubtitles() {\n while (subtitlesElement.hasChildNodes()) {\n subtitlesElement.removeChild(subtitlesElement.lastChild);\n }\n\n if (cuesByTime === null || videoState.time === null || !isFinite(videoState.time)) {\n return;\n }\n\n subtitlesElement.style.bottom = offset + '%';\n subtitlesElement.style.opacity = opacity;\n subtitlesRenderer.render(cuesByTime, videoState.time - delay).forEach(function(cueNode) {\n cueNode.style.display = 'inline-block';\n cueNode.style.padding = '0.2em';\n cueNode.style.whiteSpace = 'pre-wrap';\n cueNode.style.fontSize = Math.floor(size / 25) + 'vmin';\n cueNode.style.color = textColor;\n cueNode.style.backgroundColor = backgroundColor;\n cueNode.style.textShadow = '1px 1px 0.1em ' + outlineColor;\n subtitlesElement.appendChild(cueNode);\n subtitlesElement.appendChild(document.createElement('br'));\n });\n }\n function onVideoError(error) {\n events.emit('error', error);\n if (error.critical) {\n command('unload');\n }\n }\n function onVideoPropEvent(eventName, propName, propValue) {\n switch (propName) {\n case 'time': {\n videoState.time = propValue;\n renderSubtitles();\n break;\n }\n }\n\n events.emit(eventName, propName, getProp(propName, propValue));\n }\n function onOtherVideoEvent(eventName) {\n return function() {\n events.emit.apply(events, [eventName].concat(Array.from(arguments)));\n };\n }\n function onPropChanged(propName) {\n if (observedProps[propName]) {\n events.emit('propChanged', propName, getProp(propName, null));\n }\n }\n function onError(error) {\n events.emit('error', error);\n if (error.critical) {\n command('unload');\n video.dispatch({ type: 'command', commandName: 'unload' });\n }\n }\n function getProp(propName, videoPropValue) {\n switch (propName) {\n case 'extraSubtitlesTracks': {\n if (destroyed) {\n return [];\n }\n\n return tracks.slice();\n }\n case 'selectedExtraSubtitlesTrackId': {\n if (destroyed) {\n return null;\n }\n\n return selectedTrackId;\n }\n case 'extraSubtitlesDelay': {\n if (destroyed) {\n return null;\n }\n\n return delay;\n }\n case 'extraSubtitlesSize': {\n if (destroyed) {\n return null;\n }\n\n return size;\n }\n case 'extraSubtitlesOffset': {\n if (destroyed) {\n return null;\n }\n\n return offset;\n }\n case 'extraSubtitlesTextColor': {\n if (destroyed) {\n return null;\n }\n\n return textColor;\n }\n case 'extraSubtitlesBackgroundColor': {\n if (destroyed) {\n return null;\n }\n\n return backgroundColor;\n }\n case 'extraSubtitlesOutlineColor': {\n if (destroyed) {\n return null;\n }\n\n return outlineColor;\n }\n case 'extraSubtitlesOpacity': {\n if (destroyed) {\n return null;\n }\n\n return opacity;\n }\n default: {\n return videoPropValue;\n }\n }\n }\n function observeProp(propName) {\n switch (propName) {\n case 'extraSubtitlesTracks':\n case 'selectedExtraSubtitlesTrackId':\n case 'extraSubtitlesDelay':\n case 'extraSubtitlesSize':\n case 'extraSubtitlesOffset':\n case 'extraSubtitlesTextColor':\n case 'extraSubtitlesBackgroundColor':\n case 'extraSubtitlesOutlineColor':\n case 'extraSubtitlesOpacity': {\n events.emit('propValue', propName, getProp(propName, null));\n observedProps[propName] = true;\n return true;\n }\n default: {\n return false;\n }\n }\n }\n function setProp(propName, propValue) {\n switch (propName) {\n case 'selectedExtraSubtitlesTrackId': {\n cuesByTime = null;\n selectedTrackId = null;\n delay = null;\n var selectedTrack = tracks.find(function(track) {\n return track.id === propValue;\n });\n if (selectedTrack) {\n selectedTrackId = selectedTrack.id;\n delay = 0;\n fetch(selectedTrack.url)\n .then(function(resp) {\n if (resp.ok) {\n return resp.text();\n }\n\n throw new Error(resp.status + ' (' + resp.statusText + ')');\n })\n .then(function(text) {\n return subtitlesConverter.convert(text);\n })\n .then(function(text) {\n return subtitlesParser.parse(text);\n })\n .then(function(result) {\n if (selectedTrackId !== selectedTrack.id) {\n return;\n }\n\n cuesByTime = result;\n renderSubtitles();\n events.emit('extraSubtitlesTrackLoaded', selectedTrack);\n })\n .catch(function(error) {\n if (selectedTrackId !== selectedTrack.id) {\n return;\n }\n\n onError(Object.assign({}, ERROR.WITH_HTML_SUBTITLES.LOAD_FAILED, {\n error: error,\n track: selectedTrack,\n critical: false\n }));\n });\n }\n renderSubtitles();\n onPropChanged('selectedExtraSubtitlesTrackId');\n onPropChanged('extraSubtitlesDelay');\n return true;\n }\n case 'extraSubtitlesDelay': {\n if (selectedTrackId !== null && propValue !== null && isFinite(propValue)) {\n delay = parseInt(propValue, 10);\n renderSubtitles();\n onPropChanged('extraSubtitlesDelay');\n }\n\n return true;\n }\n case 'extraSubtitlesSize': {\n if (propValue !== null && isFinite(propValue)) {\n size = Math.max(0, parseInt(propValue, 10));\n renderSubtitles();\n onPropChanged('extraSubtitlesSize');\n }\n\n return true;\n }\n case 'extraSubtitlesOffset': {\n if (propValue !== null && isFinite(propValue)) {\n offset = Math.max(0, Math.min(100, parseInt(propValue, 10)));\n renderSubtitles();\n onPropChanged('extraSubtitlesOffset');\n }\n\n return true;\n }\n case 'extraSubtitlesTextColor': {\n if (typeof propValue === 'string') {\n try {\n textColor = Color(propValue).rgb().string();\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('withHTMLSubtitles', error);\n }\n\n renderSubtitles();\n onPropChanged('extraSubtitlesTextColor');\n }\n\n return true;\n }\n case 'extraSubtitlesBackgroundColor': {\n if (typeof propValue === 'string') {\n try {\n backgroundColor = Color(propValue).rgb().string();\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('withHTMLSubtitles', error);\n }\n\n renderSubtitles();\n onPropChanged('extraSubtitlesBackgroundColor');\n }\n\n return true;\n }\n case 'extraSubtitlesOutlineColor': {\n if (typeof propValue === 'string') {\n try {\n outlineColor = Color(propValue).rgb().string();\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('withHTMLSubtitles', error);\n }\n\n renderSubtitles();\n onPropChanged('extraSubtitlesOutlineColor');\n }\n\n return true;\n }\n case 'extraSubtitlesOpacity': {\n if (typeof propValue === 'number') {\n try {\n opacity = Math.min(Math.max(propValue / 100, 0), 1);\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('withHTMLSubtitles', error);\n }\n\n renderSubtitles();\n onPropChanged('extraSubtitlesOpacity');\n }\n\n return true;\n }\n default: {\n return false;\n }\n }\n }\n function command(commandName, commandArgs) {\n switch (commandName) {\n case 'addExtraSubtitlesTracks': {\n if (commandArgs && Array.isArray(commandArgs.tracks)) {\n tracks = tracks\n .concat(commandArgs.tracks)\n .filter(function(track, index, tracks) {\n return track &&\n typeof track.id === 'string' &&\n typeof track.url === 'string' &&\n typeof track.lang === 'string' &&\n typeof track.label === 'string' &&\n typeof track.origin === 'string' &&\n !track.embedded &&\n index === tracks.findIndex(function(t) { return t.id === track.id; });\n });\n onPropChanged('extraSubtitlesTracks');\n }\n\n return true;\n }\n case 'load': {\n command('unload');\n if (commandArgs.stream && Array.isArray(commandArgs.stream.subtitles)) {\n command('addExtraSubtitlesTracks', {\n tracks: commandArgs.stream.subtitles.map(function(track) {\n return Object.assign({}, track, {\n origin: 'EXCLUSIVE',\n exclusive: true,\n embedded: false\n });\n })\n });\n }\n\n return false;\n }\n case 'unload': {\n cuesByTime = null;\n tracks = [];\n selectedTrackId = null;\n delay = null;\n renderSubtitles();\n onPropChanged('extraSubtitlesTracks');\n onPropChanged('selectedExtraSubtitlesTrackId');\n onPropChanged('extraSubtitlesDelay');\n return false;\n }\n case 'destroy': {\n command('unload');\n destroyed = true;\n onPropChanged('extraSubtitlesSize');\n onPropChanged('extraSubtitlesOffset');\n onPropChanged('extraSubtitlesTextColor');\n onPropChanged('extraSubtitlesBackgroundColor');\n onPropChanged('extraSubtitlesOutlineColor');\n onPropChanged('extraSubtitlesOpacity');\n video.dispatch({ type: 'command', commandName: 'destroy' });\n events.removeAllListeners();\n containerElement.removeChild(subtitlesElement);\n return true;\n }\n default: {\n return false;\n }\n }\n }\n\n this.on = function(eventName, listener) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n events.on(eventName, listener);\n };\n this.dispatch = function(action) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n if (action) {\n action = deepFreeze(cloneDeep(action));\n switch (action.type) {\n case 'observeProp': {\n if (observeProp(action.propName)) {\n return;\n }\n\n break;\n }\n case 'setProp': {\n if (setProp(action.propName, action.propValue)) {\n return;\n }\n\n break;\n }\n case 'command': {\n if (command(action.commandName, action.commandArgs)) {\n return;\n }\n\n break;\n }\n }\n }\n\n video.dispatch(action);\n };\n }\n\n VideoWithHTMLSubtitles.canPlayStream = function(stream) {\n return Video.canPlayStream(stream);\n };\n\n VideoWithHTMLSubtitles.manifest = {\n name: Video.manifest.name + 'WithHTMLSubtitles',\n external: Video.manifest.external,\n props: Video.manifest.props.concat(['extraSubtitlesTracks', 'selectedExtraSubtitlesTrackId', 'extraSubtitlesDelay', 'extraSubtitlesSize', 'extraSubtitlesOffset', 'extraSubtitlesTextColor', 'extraSubtitlesBackgroundColor', 'extraSubtitlesOutlineColor', 'extraSubtitlesOpacity'])\n .filter(function(value, index, array) { return array.indexOf(value) === index; }),\n commands: Video.manifest.commands.concat(['load', 'unload', 'destroy', 'addExtraSubtitlesTracks'])\n .filter(function(value, index, array) { return array.indexOf(value) === index; }),\n events: Video.manifest.events.concat(['propValue', 'propChanged', 'error', 'extraSubtitlesTrackLoaded'])\n .filter(function(value, index, array) { return array.indexOf(value) === index; })\n };\n\n return VideoWithHTMLSubtitles;\n}\n\nmodule.exports = withHTMLSubtitles;\n","var url = require('url');\nvar magnet = require('magnet-uri');\nvar createTorrent = require('./createTorrent');\n\nfunction buildProxyUrl(streamingServerURL, streamURL, requestHeaders, responseHeaders) {\n var parsedStreamURL = new URL(streamURL);\n var proxyOptions = new URLSearchParams();\n proxyOptions.set('d', parsedStreamURL.origin);\n Object.entries(requestHeaders).forEach(function(entry) {\n proxyOptions.append('h', entry[0] + ':' + entry[1]);\n });\n Object.entries(responseHeaders).forEach(function(entry) {\n proxyOptions.append('r', entry[0] + ':' + entry[1]);\n });\n return url.resolve(streamingServerURL, '/proxy/' + proxyOptions.toString() + parsedStreamURL.pathname) + parsedStreamURL.search;\n}\n\nfunction convertStream(streamingServerURL, stream, seriesInfo, streamingServerSettings) {\n return new Promise(function(resolve, reject) {\n if (typeof stream.url === 'string') {\n if (stream.url.indexOf('magnet:') === 0) {\n var parsedMagnetURI;\n try {\n parsedMagnetURI = magnet.decode(stream.url);\n if (!parsedMagnetURI || typeof parsedMagnetURI.infoHash !== 'string') {\n throw new Error('Failed to decode magnet url');\n }\n } catch (error) {\n reject(error);\n return;\n }\n\n var sources = Array.isArray(parsedMagnetURI.announce) ?\n parsedMagnetURI.announce.map(function(source) {\n return 'tracker:' + source;\n })\n :\n [];\n createTorrent(streamingServerURL, parsedMagnetURI.infoHash, null, sources, seriesInfo)\n .then(function(torrent) {\n resolve({ url: torrent.url, infoHash: torrent.infoHash, fileIdx: torrent.fileIdx });\n })\n .catch(function(error) {\n reject(error);\n });\n } else {\n var proxyStreamsEnabled = streamingServerSettings && streamingServerSettings.proxyStreamsEnabled;\n var proxyHeaders = stream.behaviorHints && stream.behaviorHints.proxyHeaders;\n if (proxyStreamsEnabled || proxyHeaders) {\n var requestHeaders = proxyHeaders && proxyHeaders.request ? proxyHeaders.request : {};\n var responseHeaders = proxyHeaders && proxyHeaders.response ? proxyHeaders.response : {};\n resolve({ url: buildProxyUrl(streamingServerURL, stream.url, requestHeaders, responseHeaders) });\n } else {\n resolve({ url: stream.url });\n }\n }\n\n return;\n }\n\n if (typeof stream.infoHash === 'string') {\n createTorrent(streamingServerURL, stream.infoHash, stream.fileIdx, stream.announce, seriesInfo)\n .then(function(torrent) {\n resolve({ url: torrent.url, infoHash: torrent.infoHash, fileIdx: torrent.fileIdx });\n })\n .catch(function(error) {\n reject(error);\n });\n\n return;\n }\n\n reject(new Error('Stream cannot be converted'));\n });\n}\n\nmodule.exports = convertStream;\n","var url = require('url');\n\nfunction buildTorrent(streamingServerURL, infoHash, fileIdx, sources) {\n var query = Array.isArray(sources) && sources.length > 0 ?\n '?' + new URLSearchParams(sources.map(function(source) {\n return ['tr', source];\n }))\n :\n '';\n return {\n url: url.resolve(streamingServerURL, '/' + encodeURIComponent(infoHash) + '/' + encodeURIComponent(fileIdx)) + query,\n infoHash: infoHash,\n fileIdx: fileIdx,\n sources: sources\n };\n}\n\nfunction createTorrent(streamingServerURL, infoHash, fileIdx, sources, seriesInfo) {\n if ((!Array.isArray(sources) || sources.length === 0) && (fileIdx !== null && isFinite(fileIdx))) {\n return Promise.resolve(buildTorrent(streamingServerURL, infoHash, fileIdx, sources));\n }\n\n var body = {\n torrent: {\n infoHash: infoHash,\n }\n };\n\n if (Array.isArray(sources) && sources.length > 0) {\n body.peerSearch = {\n sources: ['dht:' + infoHash].concat(sources).filter(function(source, index, sources) {\n return sources.indexOf(source) === index;\n }),\n min: 40,\n max: 200\n };\n }\n\n if (fileIdx === null || !isFinite(fileIdx)) {\n body.guessFileIdx = {};\n if (seriesInfo) {\n if (seriesInfo.season !== null && isFinite(seriesInfo.season)) {\n body.guessFileIdx.season = seriesInfo.season;\n }\n if (seriesInfo.episode !== null && isFinite(seriesInfo.episode)) {\n body.guessFileIdx.episode = seriesInfo.episode;\n }\n }\n } else {\n body.guessFileIdx = false;\n }\n\n return fetch(url.resolve(streamingServerURL, '/' + encodeURIComponent(infoHash) + '/create'), {\n method: 'POST',\n headers: {\n 'content-type': 'application/json'\n },\n body: JSON.stringify(body)\n }).then(function(resp) {\n if (resp.ok) {\n return resp.json();\n }\n\n throw new Error(resp.status + ' (' + resp.statusText + ')');\n }).then(function(resp) {\n return buildTorrent(streamingServerURL, infoHash, body.guessFileIdx ? resp.guessedFileIdx : fileIdx, body.peerSearch ? body.peerSearch.sources : []);\n });\n}\n\nmodule.exports = createTorrent;\n","var url = require('url');\n\nfunction fetchOpensubtitlesParams(streamingServerURL, mediaURL, behaviorHints) {\n var hash = behaviorHints && typeof behaviorHints.videoHash === 'string' ? behaviorHints.videoHash : null;\n var size = behaviorHints && isFinite(behaviorHints.videoSize) ? behaviorHints.videoSize : null;\n if (typeof hash === 'string' && size !== null && isFinite(size)) {\n return Promise.resolve({ hash: hash, size: size });\n }\n\n var queryParams = new URLSearchParams([['videoUrl', mediaURL]]);\n return fetch(url.resolve(streamingServerURL, '/opensubHash?' + queryParams.toString()))\n .then(function(resp) {\n if (resp.ok) {\n return resp.json();\n }\n\n throw new Error(resp.status + ' (' + resp.statusText + ')');\n })\n .then(function(resp) {\n if (resp.error) {\n throw new Error(resp.error);\n }\n\n return {\n hash: typeof hash === 'string' ?\n hash\n :\n resp.result && typeof resp.result.hash === 'string' ?\n resp.result.hash\n :\n null,\n size: size !== null && isFinite(size) ?\n size\n :\n resp.result && typeof resp.result.size ?\n resp.result.size\n :\n null\n };\n });\n}\n\nfunction fetchFilename(streamingServerURL, mediaURL, infoHash, fileIdx, behaviorHints) {\n if (behaviorHints && typeof behaviorHints.filename === 'string') {\n return Promise.resolve(behaviorHints.filename);\n }\n\n if (infoHash) {\n return fetch(url.resolve(streamingServerURL, '/' + encodeURIComponent(infoHash) + '/' + encodeURIComponent(fileIdx) + '/stats.json'))\n .then(function(resp) {\n if (resp.ok) {\n return resp.json();\n }\n\n throw new Error(resp.status + ' (' + resp.statusText + ')');\n })\n .then(function(resp) {\n if (!resp || typeof resp.streamName !== 'string') {\n throw new Error('Could not retrieve filename from torrent');\n }\n\n return resp.streamName;\n });\n }\n\n return Promise.resolve(decodeURIComponent(mediaURL.split('/').pop()));\n}\n\nfunction fetchVideoParams(streamingServerURL, mediaURL, infoHash, fileIdx, behaviorHints) {\n return Promise.allSettled([\n fetchOpensubtitlesParams(streamingServerURL, mediaURL, behaviorHints),\n fetchFilename(streamingServerURL, mediaURL, infoHash, fileIdx, behaviorHints)\n ]).then(function(results) {\n var result = { hash: null, size: null, filename: null };\n\n if (results[0].status === 'fulfilled') {\n result.hash = results[0].value.hash;\n result.size = results[0].value.size;\n } else if (results[0].reason) {\n // eslint-disable-next-line no-console\n console.error(results[0].reason);\n }\n\n if (results[1].status === 'fulfilled') {\n result.filename = results[1].value;\n } else if (results[1].reason) {\n // eslint-disable-next-line no-console\n console.error(results[1].reason);\n }\n\n return result;\n });\n}\n\nmodule.exports = fetchVideoParams;\n","var withStreamingServer = require('./withStreamingServer');\n\nmodule.exports = withStreamingServer;\n","function isPlayerLoaded(video, props) {\n if (!props.includes('loaded')) {\n return Promise.resolve(true);\n }\n return new Promise(function(resolve, reject) {\n var isLoaded = null;\n video.on('propChanged', function(propName, propValue) {\n if (propName === 'loaded' && propValue !== null && isLoaded === null) {\n isLoaded = propValue;\n if (propValue === true) {\n resolve(true);\n } else if (propValue === false) {\n reject(Error('Player failed to load, will not retrieve video params'));\n }\n }\n });\n video.dispatch({\n type: 'observeProp',\n propName: 'loaded'\n });\n });\n}\n\nmodule.exports = isPlayerLoaded;\n","var EventEmitter = require('eventemitter3');\nvar url = require('url');\nvar hat = require('hat');\nvar cloneDeep = require('lodash.clonedeep');\nvar deepFreeze = require('deep-freeze');\nvar mediaCapabilities = require('../mediaCapabilities');\nvar convertStream = require('./convertStream');\nvar fetchVideoParams = require('./fetchVideoParams');\nvar isPlayerLoaded = require('./isPlayerLoaded');\nvar supportsTranscoding = require('../supportsTranscoding');\nvar ERROR = require('../error');\n\nfunction withStreamingServer(Video) {\n function VideoWithStreamingServer(options) {\n options = options || {};\n\n var video = new Video(options);\n video.on('error', onVideoError);\n video.on('propValue', onVideoPropEvent.bind(null, 'propValue'));\n video.on('propChanged', onVideoPropEvent.bind(null, 'propChanged'));\n Video.manifest.events\n .filter(function(eventName) {\n return !['error', 'propValue', 'propChanged'].includes(eventName);\n })\n .forEach(function(eventName) {\n video.on(eventName, onOtherVideoEvent(eventName));\n });\n\n var self = this;\n var loadArgs = null;\n var loaded = false;\n var actionsQueue = [];\n var videoParams = null;\n var events = new EventEmitter();\n var destroyed = false;\n var observedProps = {\n stream: false,\n videoParams: false\n };\n\n function flushActionsQueue() {\n while (actionsQueue.length > 0) {\n var action = actionsQueue.shift();\n self.dispatch.call(self, action);\n }\n }\n function onVideoError(error) {\n events.emit('error', error);\n if (error.critical) {\n command('unload');\n }\n }\n function onVideoPropEvent(eventName, propName, propValue) {\n events.emit(eventName, propName, getProp(propName, propValue));\n }\n function onOtherVideoEvent(eventName) {\n return function() {\n events.emit.apply(events, [eventName].concat(Array.from(arguments)));\n };\n }\n function onPropChanged(propName) {\n if (observedProps[propName]) {\n events.emit('propChanged', propName, getProp(propName, null));\n }\n }\n function onError(error) {\n events.emit('error', error);\n if (error.critical) {\n command('unload');\n video.dispatch({ type: 'command', commandName: 'unload' });\n }\n }\n function getProp(propName, videoPropValue) {\n switch (propName) {\n case 'stream': {\n return loadArgs !== null ? loadArgs.stream : null;\n }\n case 'videoParams': {\n return videoParams;\n }\n default: {\n return videoPropValue;\n }\n }\n }\n function observeProp(propName) {\n switch (propName) {\n case 'stream':\n case 'videoParams': {\n events.emit('propValue', propName, getProp(propName, null));\n observedProps[propName] = true;\n return true;\n }\n default: {\n return false;\n }\n }\n }\n function command(commandName, commandArgs) {\n switch (commandName) {\n case 'load': {\n if (commandArgs && commandArgs.stream && typeof commandArgs.streamingServerURL === 'string') {\n command('unload');\n video.dispatch({ type: 'command', commandName: 'unload' });\n loadArgs = commandArgs;\n onPropChanged('stream');\n convertStream(commandArgs.streamingServerURL, commandArgs.stream, commandArgs.seriesInfo, commandArgs.streamingServerSettings)\n .then(function(result) {\n var mediaURL = result.url;\n var infoHash = result.infoHash;\n var fileIdx = result.fileIdx;\n var formats = Array.isArray(commandArgs.formats) ?\n commandArgs.formats\n :\n mediaCapabilities.formats;\n var videoCodecs = Array.isArray(commandArgs.videoCodecs) ?\n commandArgs.videoCodecs\n :\n mediaCapabilities.videoCodecs;\n var audioCodecs = Array.isArray(commandArgs.audioCodecs) ?\n commandArgs.audioCodecs\n :\n mediaCapabilities.audioCodecs;\n var maxAudioChannels = commandArgs.maxAudioChannels !== null && isFinite(commandArgs.maxAudioChannels) ?\n commandArgs.maxAudioChannels\n :\n mediaCapabilities.maxAudioChannels;\n var canPlayStreamOptions = Object.assign({}, commandArgs, {\n formats: formats,\n videoCodecs: videoCodecs,\n audioCodecs: audioCodecs,\n maxAudioChannels: maxAudioChannels\n });\n return (commandArgs.forceTranscoding ? Promise.resolve(false) : VideoWithStreamingServer.canPlayStream({ url: mediaURL }, canPlayStreamOptions))\n .catch(function(error) {\n console.warn('Media probe error', error);\n return false;\n })\n .then(function(canPlay) {\n if (canPlay) {\n return {\n mediaURL: mediaURL,\n infoHash: infoHash,\n fileIdx: fileIdx,\n stream: {\n url: mediaURL\n }\n };\n }\n\n var id = hat();\n var queryParams = new URLSearchParams([['mediaURL', mediaURL]]);\n if (commandArgs.forceTranscoding) {\n queryParams.set('forceTranscoding', '1');\n }\n\n videoCodecs.forEach(function(videoCodec) {\n queryParams.append('videoCodecs', videoCodec);\n });\n\n audioCodecs.forEach(function(audioCodec) {\n queryParams.append('audioCodecs', audioCodec);\n });\n\n queryParams.set('maxAudioChannels', maxAudioChannels);\n\n return {\n mediaURL: mediaURL,\n infoHash: infoHash,\n fileIdx: fileIdx,\n stream: {\n url: url.resolve(commandArgs.streamingServerURL, '/hlsv2/' + id + '/master.m3u8?' + queryParams.toString()),\n subtitles: Array.isArray(commandArgs.stream.subtitles) ?\n commandArgs.stream.subtitles.map(function(track) {\n return Object.assign({}, track, {\n url: typeof track.url === 'string' ?\n url.resolve(commandArgs.streamingServerURL, '/subtitles.vtt?' + new URLSearchParams([['from', track.url]]).toString())\n :\n track.url\n });\n })\n :\n [],\n behaviorHints: {\n headers: {\n 'content-type': 'application/vnd.apple.mpegurl'\n }\n }\n }\n };\n });\n })\n .then(function(result) {\n if (commandArgs !== loadArgs) {\n return;\n }\n\n video.dispatch({\n type: 'command',\n commandName: 'load',\n commandArgs: Object.assign({}, commandArgs, {\n stream: result.stream\n })\n });\n loaded = true;\n flushActionsQueue();\n\n isPlayerLoaded(video, Video.manifest.props)\n .then(function() {\n return fetchVideoParams(commandArgs.streamingServerURL, result.mediaURL, result.infoHash, result.fileIdx, commandArgs.stream.behaviorHints);\n })\n .then(function(result) {\n if (commandArgs !== loadArgs) {\n return;\n }\n\n videoParams = result;\n onPropChanged('videoParams');\n })\n .catch(function(error) {\n if (commandArgs !== loadArgs) {\n return;\n }\n\n // eslint-disable-next-line no-console\n console.error(error);\n videoParams = { hash: null, size: null, filename: null };\n onPropChanged('videoParams');\n });\n })\n .catch(function(error) {\n if (commandArgs !== loadArgs) {\n return;\n }\n\n onError(Object.assign({}, ERROR.WITH_STREAMING_SERVER.CONVERT_FAILED, {\n error: error,\n critical: true,\n stream: commandArgs.stream,\n streamingServerURL: commandArgs.streamingServerURL\n }));\n });\n } else {\n onError(Object.assign({}, ERROR.UNSUPPORTED_STREAM, {\n critical: true,\n stream: commandArgs ? commandArgs.stream : null,\n streamingServerURL: commandArgs && typeof commandArgs.streamingServerURL === 'string' ? commandArgs.streamingServerURL : null\n }));\n }\n\n return true;\n }\n case 'addExtraSubtitlesTracks': {\n if (loadArgs && commandArgs && Array.isArray(commandArgs.tracks)) {\n if (loaded) {\n video.dispatch({\n type: 'command',\n commandName: 'addExtraSubtitlesTracks',\n commandArgs: Object.assign({}, commandArgs, {\n tracks: commandArgs.tracks.map(function(track) {\n return Object.assign({}, track, {\n url: typeof track.url === 'string' ?\n url.resolve(loadArgs.streamingServerURL, '/subtitles.vtt?' + new URLSearchParams([['from', track.url]]).toString())\n :\n track.url\n });\n })\n })\n });\n } else {\n actionsQueue.push({\n type: 'command',\n commandName: 'addExtraSubtitlesTracks',\n commandArgs: commandArgs\n });\n }\n }\n\n return true;\n }\n case 'unload': {\n loadArgs = null;\n loaded = false;\n actionsQueue = [];\n videoParams = null;\n onPropChanged('stream');\n onPropChanged('videoParams');\n return false;\n }\n case 'destroy': {\n command('unload');\n destroyed = true;\n video.dispatch({ type: 'command', commandName: 'destroy' });\n events.removeAllListeners();\n return true;\n }\n default: {\n if (!loaded) {\n actionsQueue.push({\n type: 'command',\n commandName: commandName,\n commandArgs: commandArgs\n });\n\n return true;\n }\n\n return false;\n }\n }\n }\n\n this.on = function(eventName, listener) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n events.on(eventName, listener);\n };\n this.dispatch = function(action) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n if (action) {\n action = deepFreeze(cloneDeep(action));\n switch (action.type) {\n case 'observeProp': {\n if (observeProp(action.propName)) {\n return;\n }\n\n break;\n }\n case 'command': {\n if (command(action.commandName, action.commandArgs)) {\n return;\n }\n\n break;\n }\n }\n }\n\n video.dispatch(action);\n };\n }\n\n VideoWithStreamingServer.canPlayStream = function(stream, options) {\n return supportsTranscoding()\n .then(function(supported) {\n if (!supported) {\n // we cannot probe the video in this case\n return Video.canPlayStream(stream);\n }\n // probing normally gives more accurate results\n var queryParams = new URLSearchParams([['mediaURL', stream.url]]);\n return fetch(url.resolve(options.streamingServerURL, '/hlsv2/probe?' + queryParams.toString()))\n .then(function(resp) {\n return resp.json();\n })\n .then(function(probe) {\n var isFormatSupported = options.formats.some(function(format) {\n return probe.format.name.indexOf(format) !== -1;\n });\n var areStreamsSupported = probe.streams.every(function(stream) {\n if (stream.track === 'audio') {\n return stream.channels <= options.maxAudioChannels &&\n options.audioCodecs.indexOf(stream.codec) !== -1;\n } else if (stream.track === 'video') {\n return options.videoCodecs.indexOf(stream.codec) !== -1;\n }\n\n return true;\n });\n return isFormatSupported && areStreamsSupported;\n })\n .catch(function() {\n // this uses content-type header in HTMLVideo which\n // is unreliable, check can also fail due to CORS\n return Video.canPlayStream(stream);\n });\n });\n };\n\n VideoWithStreamingServer.manifest = {\n name: Video.manifest.name + 'WithStreamingServer',\n external: Video.manifest.external,\n props: Video.manifest.props.concat(['stream', 'videoParams'])\n .filter(function(value, index, array) { return array.indexOf(value) === index; }),\n commands: Video.manifest.commands.concat(['load', 'unload', 'destroy', 'addExtraSubtitlesTracks'])\n .filter(function(value, index, array) { return array.indexOf(value) === index; }),\n events: Video.manifest.events.concat(['propValue', 'propChanged', 'error'])\n .filter(function(value, index, array) { return array.indexOf(value) === index; })\n };\n\n return VideoWithStreamingServer;\n}\n\nmodule.exports = withStreamingServer;\n","var withVideoParams = require('./withVideoParams');\n\nmodule.exports = withVideoParams;\n","var EventEmitter = require('eventemitter3');\nvar cloneDeep = require('lodash.clonedeep');\nvar deepFreeze = require('deep-freeze');\n\nfunction withVideoParams(Video) {\n function VideoWithVideoParams(options) {\n options = options || {};\n\n var video = new Video(options);\n video.on('propValue', onVideoPropEvent.bind(null, 'propValue'));\n video.on('propChanged', onVideoPropEvent.bind(null, 'propChanged'));\n Video.manifest.events\n .filter(function(eventName) {\n return !['propValue', 'propChanged'].includes(eventName);\n })\n .forEach(function(eventName) {\n video.on(eventName, onOtherVideoEvent(eventName));\n });\n\n var stream = null;\n var events = new EventEmitter();\n var destroyed = false;\n var observedProps = {\n videoParams: false\n };\n\n function onVideoPropEvent(eventName, propName, propValue) {\n if (propName !== 'videoParams') {\n events.emit(eventName, propName, getProp(propName, propValue));\n }\n if (propName === 'stream') {\n stream = propValue;\n onPropChanged('videoParams');\n }\n }\n function onOtherVideoEvent(eventName) {\n return function() {\n events.emit.apply(events, [eventName].concat(Array.from(arguments)));\n };\n }\n function onPropChanged(propName) {\n if (observedProps[propName]) {\n events.emit('propChanged', propName, getProp(propName, null));\n }\n }\n function getProp(propName, videoPropValue) {\n switch (propName) {\n case 'videoParams': {\n if (stream === null) {\n return null;\n }\n\n var hash = stream.behaviorHints && typeof stream.behaviorHints.videoHash === 'string' ? stream.behaviorHints.videoHash : null;\n var size = stream.behaviorHints && stream.behaviorHints.videoSize !== null && isFinite(stream.behaviorHints.videoSize) ? stream.behaviorHints.videoSize : null;\n var filename = stream.behaviorHints && typeof stream.behaviorHints.filename === 'string' ? stream.behaviorHints.filename : null;\n return { hash: hash, size: size, filename: filename };\n }\n default: {\n return videoPropValue;\n }\n }\n }\n function observeProp(propName) {\n switch (propName) {\n case 'videoParams': {\n events.emit('propValue', propName, getProp(propName, null));\n observedProps[propName] = true;\n return true;\n }\n default: {\n return false;\n }\n }\n }\n function command(commandName) {\n switch (commandName) {\n case 'destroy': {\n destroyed = true;\n video.dispatch({ type: 'command', commandName: 'destroy' });\n events.removeAllListeners();\n return true;\n }\n default: {\n return false;\n }\n }\n }\n\n this.on = function(eventName, listener) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n events.on(eventName, listener);\n };\n this.dispatch = function(action) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n if (action) {\n action = deepFreeze(cloneDeep(action));\n switch (action.type) {\n case 'observeProp': {\n if (observeProp(action.propName)) {\n return;\n }\n\n break;\n }\n case 'command': {\n if (command(action.commandName, action.commandArgs)) {\n return;\n }\n\n break;\n }\n }\n }\n\n video.dispatch(action);\n };\n }\n\n VideoWithVideoParams.canPlayStream = function(stream, options) {\n return Video.canPlayStream(stream, options);\n };\n\n VideoWithVideoParams.manifest = {\n name: Video.manifest.name + 'WithVideoParams',\n external: Video.manifest.external,\n props: Video.manifest.props.concat(['videoParams'])\n .filter(function(value, index, array) { return array.indexOf(value) === index; }),\n commands: Video.manifest.commands.concat(['destroy'])\n .filter(function(value, index, array) { return array.indexOf(value) === index; }),\n events: Video.manifest.events.concat(['propValue', 'propChanged'])\n .filter(function(value, index, array) { return array.indexOf(value) === index; })\n };\n\n return VideoWithVideoParams;\n}\n\nmodule.exports = withVideoParams;\n","/*!\n * a-color-picker (https://github.com/narsenico/a-color-picker)\n * \n * Copyright (c) 2017-2018, Gianfranco Caldi.\n * Released under the MIT License.\n */\n!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(\"AColorPicker\",[],t):\"object\"==typeof exports?exports.AColorPicker=t():e.AColorPicker=t()}(\"undefined\"!=typeof self?self:this,function(){return function(e){var t={};function r(i){if(t[i])return t[i].exports;var o=t[i]={i:i,l:!1,exports:{}};return e[i].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,i){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},r.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var o in e)r.d(i,o,function(t){return e[t]}.bind(null,o));return i},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,\"a\",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p=\"\",r(r.s=1)}([function(e,t,r){\"use strict\";\n/*!\n * is-plain-object <https://github.com/jonschlinkert/is-plain-object>\n *\n * Copyright (c) 2014-2017, Jon Schlinkert.\n * Released under the MIT License.\n */var i=r(3);function o(e){return!0===i(e)&&\"[object Object]\"===Object.prototype.toString.call(e)}e.exports=function(e){var t,r;return!1!==o(e)&&\"function\"==typeof(t=e.constructor)&&!1!==o(r=t.prototype)&&!1!==r.hasOwnProperty(\"isPrototypeOf\")}},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.VERSION=t.PALETTE_MATERIAL_CHROME=t.PALETTE_MATERIAL_500=t.COLOR_NAMES=t.getLuminance=t.intToRgb=t.rgbToInt=t.rgbToHsv=t.rgbToHsl=t.hslToRgb=t.rgbToHex=t.parseColor=t.parseColorToHsla=t.parseColorToHsl=t.parseColorToRgba=t.parseColorToRgb=t.from=t.createPicker=void 0;var i=function(){function e(e,t){for(var r=0;r<t.length;r++){var i=t[r];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,r,i){return r&&e(t.prototype,r),i&&e(t,i),t}}(),o=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var r=[],i=!0,o=!1,n=void 0;try{for(var s,a=e[Symbol.iterator]();!(i=(s=a.next()).done)&&(r.push(s.value),!t||r.length!==t);i=!0);}catch(e){o=!0,n=e}finally{try{!i&&a.return&&a.return()}finally{if(o)throw n}}return r}(e,t);throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")},n=r(2),s=l(r(0)),a=l(r(4));function l(e){return e&&e.__esModule?e:{default:e}}function c(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function u(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t<e.length;t++)r[t]=e[t];return r}return Array.from(e)}\n/*!\n * a-color-picker\n * https://github.com/narsenico/a-color-picker\n *\n * Copyright (c) 2017-2019, Gianfranco Caldi.\n * Released under the MIT License.\n */var h=\"undefined\"!=typeof window&&window.navigator.userAgent.indexOf(\"Edge\")>-1,p=\"undefined\"!=typeof window&&window.navigator.userAgent.indexOf(\"rv:\")>-1,d={id:null,attachTo:\"body\",showHSL:!0,showRGB:!0,showHEX:!0,showAlpha:!1,color:\"#ff0000\",palette:null,paletteEditable:!1,useAlphaInPalette:\"auto\",slBarSize:[232,150],hueBarSize:[150,11],alphaBarSize:[150,11]},f=\"COLOR\",g=\"RGBA_USER\",b=\"HSLA_USER\";function v(e,t,r){return e?e instanceof HTMLElement?e:e instanceof NodeList?e[0]:\"string\"==typeof e?document.querySelector(e):e.jquery?e.get(0):r?t:null:t}function m(e){var t=e.getContext(\"2d\"),r=+e.width,i=+e.height,s=t.createLinearGradient(1,1,1,i-1);return s.addColorStop(0,\"white\"),s.addColorStop(1,\"black\"),{setHue:function(e){var o=t.createLinearGradient(1,0,r-1,0);o.addColorStop(0,\"hsla(\"+e+\", 100%, 50%, 0)\"),o.addColorStop(1,\"hsla(\"+e+\", 100%, 50%, 1)\"),t.fillStyle=s,t.fillRect(0,0,r,i),t.fillStyle=o,t.globalCompositeOperation=\"multiply\",t.fillRect(0,0,r,i),t.globalCompositeOperation=\"source-over\"},grabColor:function(e,r){return t.getImageData(e,r,1,1).data},findColor:function(e,t,s){var a=(0,n.rgbToHsv)(e,t,s),l=o(a,3),c=l[1],u=l[2];return[c*r,i-u*i]}}}function A(e,t,r){return null===e?t:/^\\s*$/.test(e)?r:!!/true|yes|1/i.test(e)||!/false|no|0/i.test(e)&&t}function y(e,t,r){if(null===e)return t;if(/^\\s*$/.test(e))return r;var i=e.split(\",\").map(Number);return 2===i.length&&i[0]&&i[1]?i:t}var k=function(){function e(t,r){if(c(this,e),r?(t=v(t),this.options=Object.assign({},d,r)):t&&(0,s.default)(t)?(this.options=Object.assign({},d,t),t=v(this.options.attachTo)):(this.options=Object.assign({},d),t=v((0,n.nvl)(t,this.options.attachTo))),!t)throw new Error(\"Container not found: \"+this.options.attachTo);!function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\"acp-\";if(t.hasAttribute(r+\"show-hsl\")&&(e.showHSL=A(t.getAttribute(r+\"show-hsl\"),d.showHSL,!0)),t.hasAttribute(r+\"show-rgb\")&&(e.showRGB=A(t.getAttribute(r+\"show-rgb\"),d.showRGB,!0)),t.hasAttribute(r+\"show-hex\")&&(e.showHEX=A(t.getAttribute(r+\"show-hex\"),d.showHEX,!0)),t.hasAttribute(r+\"show-alpha\")&&(e.showAlpha=A(t.getAttribute(r+\"show-alpha\"),d.showAlpha,!0)),t.hasAttribute(r+\"palette-editable\")&&(e.paletteEditable=A(t.getAttribute(r+\"palette-editable\"),d.paletteEditable,!0)),t.hasAttribute(r+\"sl-bar-size\")&&(e.slBarSize=y(t.getAttribute(r+\"sl-bar-size\"),d.slBarSize,[232,150])),t.hasAttribute(r+\"hue-bar-size\")&&(e.hueBarSize=y(t.getAttribute(r+\"hue-bar-size\"),d.hueBarSize,[150,11]),e.alphaBarSize=e.hueBarSize),t.hasAttribute(r+\"palette\")){var i=t.getAttribute(r+\"palette\");switch(i){case\"PALETTE_MATERIAL_500\":e.palette=n.PALETTE_MATERIAL_500;break;case\"PALETTE_MATERIAL_CHROME\":case\"\":e.palette=n.PALETTE_MATERIAL_CHROME;break;default:e.palette=i.split(/[;|]/)}}t.hasAttribute(r+\"color\")&&(e.color=t.getAttribute(r+\"color\"))}(this.options,t),this.H=0,this.S=0,this.L=0,this.R=0,this.G=0,this.B=0,this.A=1,this.palette={},this.element=document.createElement(\"div\"),this.options.id&&(this.element.id=this.options.id),this.element.className=\"a-color-picker\",this.element.innerHTML=a.default,t.appendChild(this.element);var i=this.element.querySelector(\".a-color-picker-h\");this.setupHueCanvas(i),this.hueBarHelper=m(i),this.huePointer=this.element.querySelector(\".a-color-picker-h+.a-color-picker-dot\");var o=this.element.querySelector(\".a-color-picker-sl\");this.setupSlCanvas(o),this.slBarHelper=m(o),this.slPointer=this.element.querySelector(\".a-color-picker-sl+.a-color-picker-dot\"),this.preview=this.element.querySelector(\".a-color-picker-preview\"),this.setupClipboard(this.preview.querySelector(\".a-color-picker-clipbaord\")),this.options.showHSL?(this.setupInput(this.inputH=this.element.querySelector(\".a-color-picker-hsl>input[nameref=H]\")),this.setupInput(this.inputS=this.element.querySelector(\".a-color-picker-hsl>input[nameref=S]\")),this.setupInput(this.inputL=this.element.querySelector(\".a-color-picker-hsl>input[nameref=L]\"))):this.element.querySelector(\".a-color-picker-hsl\").remove(),this.options.showRGB?(this.setupInput(this.inputR=this.element.querySelector(\".a-color-picker-rgb>input[nameref=R]\")),this.setupInput(this.inputG=this.element.querySelector(\".a-color-picker-rgb>input[nameref=G]\")),this.setupInput(this.inputB=this.element.querySelector(\".a-color-picker-rgb>input[nameref=B]\"))):this.element.querySelector(\".a-color-picker-rgb\").remove(),this.options.showHEX?this.setupInput(this.inputRGBHEX=this.element.querySelector(\"input[nameref=RGBHEX]\")):this.element.querySelector(\".a-color-picker-rgbhex\").remove(),this.options.paletteEditable||this.options.palette&&this.options.palette.length>0?this.setPalette(this.paletteRow=this.element.querySelector(\".a-color-picker-palette\")):(this.paletteRow=this.element.querySelector(\".a-color-picker-palette\"),this.paletteRow.remove()),this.options.showAlpha?(this.setupAlphaCanvas(this.element.querySelector(\".a-color-picker-a\")),this.alphaPointer=this.element.querySelector(\".a-color-picker-a+.a-color-picker-dot\")):this.element.querySelector(\".a-color-picker-alpha\").remove(),this.element.style.width=this.options.slBarSize[0]+\"px\",this.onValueChanged(f,this.options.color)}return i(e,[{key:\"setupHueCanvas\",value:function(e){var t=this;e.width=this.options.hueBarSize[0],e.height=this.options.hueBarSize[1];for(var r=e.getContext(\"2d\"),i=r.createLinearGradient(0,0,this.options.hueBarSize[0],0),o=0;o<=1;o+=1/360)i.addColorStop(o,\"hsl(\"+360*o+\", 100%, 50%)\");r.fillStyle=i,r.fillRect(0,0,this.options.hueBarSize[0],this.options.hueBarSize[1]);var s=function(r){var i=(0,n.limit)(r.clientX-e.getBoundingClientRect().left,0,t.options.hueBarSize[0]),o=Math.round(360*i/t.options.hueBarSize[0]);t.huePointer.style.left=i-7+\"px\",t.onValueChanged(\"H\",o)},a=function e(){document.removeEventListener(\"mousemove\",s),document.removeEventListener(\"mouseup\",e)};e.addEventListener(\"mousedown\",function(e){s(e),document.addEventListener(\"mousemove\",s),document.addEventListener(\"mouseup\",a)})}},{key:\"setupSlCanvas\",value:function(e){var t=this;e.width=this.options.slBarSize[0],e.height=this.options.slBarSize[1];var r=function(r){var i=(0,n.limit)(r.clientX-e.getBoundingClientRect().left,0,t.options.slBarSize[0]-1),o=(0,n.limit)(r.clientY-e.getBoundingClientRect().top,0,t.options.slBarSize[1]-1),s=t.slBarHelper.grabColor(i,o);t.slPointer.style.left=i-7+\"px\",t.slPointer.style.top=o-7+\"px\",t.onValueChanged(\"RGB\",s)},i=function e(){document.removeEventListener(\"mousemove\",r),document.removeEventListener(\"mouseup\",e)};e.addEventListener(\"mousedown\",function(e){r(e),document.addEventListener(\"mousemove\",r),document.addEventListener(\"mouseup\",i)})}},{key:\"setupAlphaCanvas\",value:function(e){var t=this;e.width=this.options.alphaBarSize[0],e.height=this.options.alphaBarSize[1];var r=e.getContext(\"2d\"),i=r.createLinearGradient(0,0,e.width-1,0);i.addColorStop(0,\"hsla(0, 0%, 50%, 0)\"),i.addColorStop(1,\"hsla(0, 0%, 50%, 1)\"),r.fillStyle=i,r.fillRect(0,0,this.options.alphaBarSize[0],this.options.alphaBarSize[1]);var o=function(r){var i=(0,n.limit)(r.clientX-e.getBoundingClientRect().left,0,t.options.alphaBarSize[0]),o=+(i/t.options.alphaBarSize[0]).toFixed(2);t.alphaPointer.style.left=i-7+\"px\",t.onValueChanged(\"ALPHA\",o)},s=function e(){document.removeEventListener(\"mousemove\",o),document.removeEventListener(\"mouseup\",e)};e.addEventListener(\"mousedown\",function(e){o(e),document.addEventListener(\"mousemove\",o),document.addEventListener(\"mouseup\",s)})}},{key:\"setupInput\",value:function(e){var t=this,r=+e.min,i=+e.max,o=e.getAttribute(\"nameref\");e.hasAttribute(\"select-on-focus\")&&e.addEventListener(\"focus\",function(){e.select()}),\"text\"===e.type?e.addEventListener(\"change\",function(){t.onValueChanged(o,e.value)}):((h||p)&&e.addEventListener(\"keydown\",function(s){\"Up\"===s.key?(e.value=(0,n.limit)(+e.value+1,r,i),t.onValueChanged(o,e.value),s.returnValue=!1):\"Down\"===s.key&&(e.value=(0,n.limit)(+e.value-1,r,i),t.onValueChanged(o,e.value),s.returnValue=!1)}),e.addEventListener(\"change\",function(){var s=+e.value;t.onValueChanged(o,(0,n.limit)(s,r,i))}))}},{key:\"setupClipboard\",value:function(e){var t=this;e.title=\"click to copy\",e.addEventListener(\"click\",function(){e.value=(0,n.parseColor)([t.R,t.G,t.B,t.A],\"hexcss4\"),e.select(),document.execCommand(\"copy\")})}},{key:\"setPalette\",value:function(e){var t=this,r=\"auto\"===this.options.useAlphaInPalette?this.options.showAlpha:this.options.useAlphaInPalette,i=null;switch(this.options.palette){case\"PALETTE_MATERIAL_500\":i=n.PALETTE_MATERIAL_500;break;case\"PALETTE_MATERIAL_CHROME\":i=n.PALETTE_MATERIAL_CHROME;break;default:i=(0,n.ensureArray)(this.options.palette)}if(this.options.paletteEditable||i.length>0){var o=function(r,i,o){var n=e.querySelector('.a-color-picker-palette-color[data-color=\"'+r+'\"]')||document.createElement(\"div\");n.className=\"a-color-picker-palette-color\",n.style.backgroundColor=r,n.setAttribute(\"data-color\",r),n.title=r,e.insertBefore(n,i),t.palette[r]=!0,o&&t.onPaletteColorAdd(r)},s=function(r,i){r?(e.removeChild(r),t.palette[r.getAttribute(\"data-color\")]=!1,i&&t.onPaletteColorRemove(r.getAttribute(\"data-color\"))):(e.querySelectorAll(\".a-color-picker-palette-color[data-color]\").forEach(function(t){e.removeChild(t)}),Object.keys(t.palette).forEach(function(e){t.palette[e]=!1}),i&&t.onPaletteColorRemove())};if(i.map(function(e){return(0,n.parseColor)(e,r?\"rgbcss4\":\"hex\")}).filter(function(e){return!!e}).forEach(function(e){return o(e)}),this.options.paletteEditable){var a=document.createElement(\"div\");a.className=\"a-color-picker-palette-color a-color-picker-palette-add\",a.innerHTML=\"+\",e.appendChild(a),e.addEventListener(\"click\",function(e){/a-color-picker-palette-add/.test(e.target.className)?e.shiftKey?s(null,!0):o(r?(0,n.parseColor)([t.R,t.G,t.B,t.A],\"rgbcss4\"):(0,n.rgbToHex)(t.R,t.G,t.B),e.target,!0):/a-color-picker-palette-color/.test(e.target.className)&&(e.shiftKey?s(e.target,!0):t.onValueChanged(f,e.target.getAttribute(\"data-color\")))})}else e.addEventListener(\"click\",function(e){/a-color-picker-palette-color/.test(e.target.className)&&t.onValueChanged(f,e.target.getAttribute(\"data-color\"))})}else e.style.display=\"none\"}},{key:\"updatePalette\",value:function(e){this.paletteRow.innerHTML=\"\",this.palette={},this.paletteRow.parentElement||this.element.appendChild(this.paletteRow),this.options.palette=e,this.setPalette(this.paletteRow)}},{key:\"onValueChanged\",value:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{silent:!1};switch(e){case\"H\":this.H=t;var i=(0,n.hslToRgb)(this.H,this.S,this.L),s=o(i,3);this.R=s[0],this.G=s[1],this.B=s[2],this.slBarHelper.setHue(t),this.updatePointerH(this.H),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGB(this.R,this.G,this.B),this.updateInputRGBHEX(this.R,this.G,this.B);break;case\"S\":this.S=t;var a=(0,n.hslToRgb)(this.H,this.S,this.L),l=o(a,3);this.R=l[0],this.G=l[1],this.B=l[2],this.updatePointerSL(this.H,this.S,this.L),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGB(this.R,this.G,this.B),this.updateInputRGBHEX(this.R,this.G,this.B);break;case\"L\":this.L=t;var c=(0,n.hslToRgb)(this.H,this.S,this.L),u=o(c,3);this.R=u[0],this.G=u[1],this.B=u[2],this.updatePointerSL(this.H,this.S,this.L),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGB(this.R,this.G,this.B),this.updateInputRGBHEX(this.R,this.G,this.B);break;case\"R\":this.R=t;var h=(0,n.rgbToHsl)(this.R,this.G,this.B),p=o(h,3);this.H=p[0],this.S=p[1],this.L=p[2],this.slBarHelper.setHue(this.H),this.updatePointerH(this.H),this.updatePointerSL(this.H,this.S,this.L),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGBHEX(this.R,this.G,this.B);break;case\"G\":this.G=t;var d=(0,n.rgbToHsl)(this.R,this.G,this.B),v=o(d,3);this.H=v[0],this.S=v[1],this.L=v[2],this.slBarHelper.setHue(this.H),this.updatePointerH(this.H),this.updatePointerSL(this.H,this.S,this.L),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGBHEX(this.R,this.G,this.B);break;case\"B\":this.B=t;var m=(0,n.rgbToHsl)(this.R,this.G,this.B),A=o(m,3);this.H=A[0],this.S=A[1],this.L=A[2],this.slBarHelper.setHue(this.H),this.updatePointerH(this.H),this.updatePointerSL(this.H,this.S,this.L),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGBHEX(this.R,this.G,this.B);break;case\"RGB\":var y=o(t,3);this.R=y[0],this.G=y[1],this.B=y[2];var k=(0,n.rgbToHsl)(this.R,this.G,this.B),F=o(k,3);this.H=F[0],this.S=F[1],this.L=F[2],this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGB(this.R,this.G,this.B),this.updateInputRGBHEX(this.R,this.G,this.B);break;case g:var E=o(t,4);this.R=E[0],this.G=E[1],this.B=E[2],this.A=E[3];var H=(0,n.rgbToHsl)(this.R,this.G,this.B),B=o(H,3);this.H=B[0],this.S=B[1],this.L=B[2],this.slBarHelper.setHue(this.H),this.updatePointerH(this.H),this.updatePointerSL(this.H,this.S,this.L),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGB(this.R,this.G,this.B),this.updateInputRGBHEX(this.R,this.G,this.B),this.updatePointerA(this.A);break;case b:var R=o(t,4);this.H=R[0],this.S=R[1],this.L=R[2],this.A=R[3];var C=(0,n.hslToRgb)(this.H,this.S,this.L),S=o(C,3);this.R=S[0],this.G=S[1],this.B=S[2],this.slBarHelper.setHue(this.H),this.updatePointerH(this.H),this.updatePointerSL(this.H,this.S,this.L),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGB(this.R,this.G,this.B),this.updateInputRGBHEX(this.R,this.G,this.B),this.updatePointerA(this.A);break;case\"RGBHEX\":var L=(0,n.cssColorToRgb)(t)||[this.R,this.G,this.B],w=o(L,3);this.R=w[0],this.G=w[1],this.B=w[2];var T=(0,n.rgbToHsl)(this.R,this.G,this.B),x=o(T,3);this.H=x[0],this.S=x[1],this.L=x[2],this.slBarHelper.setHue(this.H),this.updatePointerH(this.H),this.updatePointerSL(this.H,this.S,this.L),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGB(this.R,this.G,this.B);break;case f:var G=(0,n.parseColor)(t,\"rgba\")||[0,0,0,1],I=o(G,4);this.R=I[0],this.G=I[1],this.B=I[2],this.A=I[3];var P=(0,n.rgbToHsl)(this.R,this.G,this.B),D=o(P,3);this.H=D[0],this.S=D[1],this.L=D[2],this.slBarHelper.setHue(this.H),this.updatePointerH(this.H),this.updatePointerSL(this.H,this.S,this.L),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGB(this.R,this.G,this.B),this.updateInputRGBHEX(this.R,this.G,this.B),this.updatePointerA(this.A);break;case\"ALPHA\":this.A=t}1===this.A?this.preview.style.backgroundColor=\"rgb(\"+this.R+\",\"+this.G+\",\"+this.B+\")\":this.preview.style.backgroundColor=\"rgba(\"+this.R+\",\"+this.G+\",\"+this.B+\",\"+this.A+\")\",r&&r.silent||this.onchange&&this.onchange(this.preview.style.backgroundColor)}},{key:\"onPaletteColorAdd\",value:function(e){this.oncoloradd&&this.oncoloradd(e)}},{key:\"onPaletteColorRemove\",value:function(e){this.oncolorremove&&this.oncolorremove(e)}},{key:\"updateInputHSL\",value:function(e,t,r){this.options.showHSL&&(this.inputH.value=e,this.inputS.value=t,this.inputL.value=r)}},{key:\"updateInputRGB\",value:function(e,t,r){this.options.showRGB&&(this.inputR.value=e,this.inputG.value=t,this.inputB.value=r)}},{key:\"updateInputRGBHEX\",value:function(e,t,r){this.options.showHEX&&(this.inputRGBHEX.value=(0,n.rgbToHex)(e,t,r))}},{key:\"updatePointerH\",value:function(e){var t=this.options.hueBarSize[0]*e/360;this.huePointer.style.left=t-7+\"px\"}},{key:\"updatePointerSL\",value:function(e,t,r){var i=(0,n.hslToRgb)(e,t,r),s=o(i,3),a=s[0],l=s[1],c=s[2],u=this.slBarHelper.findColor(a,l,c),h=o(u,2),p=h[0],d=h[1];p>=0&&(this.slPointer.style.left=p-7+\"px\",this.slPointer.style.top=d-7+\"px\")}},{key:\"updatePointerA\",value:function(e){if(this.options.showAlpha){var t=this.options.alphaBarSize[0]*e;this.alphaPointer.style.left=t-7+\"px\"}}}]),e}(),F=function(){function e(t){c(this,e),this.name=t,this.listeners=[]}return i(e,[{key:\"on\",value:function(e){e&&this.listeners.push(e)}},{key:\"off\",value:function(e){this.listeners=e?this.listeners.filter(function(t){return t!==e}):[]}},{key:\"emit\",value:function(e,t){for(var r=this.listeners.slice(0),i=0;i<r.length;i++)r[i].apply(t,e)}}]),e}();function E(e,t){var r=new k(e,t),i={change:new F(\"change\"),coloradd:new F(\"coloradd\"),colorremove:new F(\"colorremove\")},s=!0,a={},l={get element(){return r.element},get rgb(){return[r.R,r.G,r.B]},set rgb(e){var t=o(e,3),i=t[0],s=t[1],a=t[2],l=[(0,n.limit)(i,0,255),(0,n.limit)(s,0,255),(0,n.limit)(a,0,255)];i=l[0],s=l[1],a=l[2],r.onValueChanged(g,[i,s,a,1])},get hsl(){return[r.H,r.S,r.L]},set hsl(e){var t=o(e,3),i=t[0],s=t[1],a=t[2],l=[(0,n.limit)(i,0,360),(0,n.limit)(s,0,100),(0,n.limit)(a,0,100)];i=l[0],s=l[1],a=l[2],r.onValueChanged(b,[i,s,a,1])},get rgbhex(){return this.all.hex},get rgba(){return[r.R,r.G,r.B,r.A]},set rgba(e){var t=o(e,4),i=t[0],s=t[1],a=t[2],l=t[3],c=[(0,n.limit)(i,0,255),(0,n.limit)(s,0,255),(0,n.limit)(a,0,255),(0,n.limit)(l,0,1)];i=c[0],s=c[1],a=c[2],l=c[3],r.onValueChanged(g,[i,s,a,l])},get hsla(){return[r.H,r.S,r.L,r.A]},set hsla(e){var t=o(e,4),i=t[0],s=t[1],a=t[2],l=t[3],c=[(0,n.limit)(i,0,360),(0,n.limit)(s,0,100),(0,n.limit)(a,0,100),(0,n.limit)(l,0,1)];i=c[0],s=c[1],a=c[2],l=c[3],r.onValueChanged(b,[i,s,a,l])},get color(){return this.all.toString()},set color(e){r.onValueChanged(f,e)},setColor:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];r.onValueChanged(f,e,{silent:t})},get all(){if(s){var e=[r.R,r.G,r.B,r.A],t=r.A<1?\"rgba(\"+r.R+\",\"+r.G+\",\"+r.B+\",\"+r.A+\")\":n.rgbToHex.apply(void 0,e);(a=(0,n.parseColor)(e,a)).toString=function(){return t},s=!1}return Object.assign({},a)},get onchange(){return i.change&&i.change.listeners[0]},set onchange(e){this.off(\"change\").on(\"change\",e)},get oncoloradd(){return i.coloradd&&i.coloradd.listeners[0]},set oncoloradd(e){this.off(\"coloradd\").on(\"coloradd\",e)},get oncolorremove(){return i.colorremove&&i.colorremove.listeners[0]},set oncolorremove(e){this.off(\"colorremove\").on(\"colorremove\",e)},get palette(){return Object.keys(r.palette).filter(function(e){return r.palette[e]})},set palette(e){r.updatePalette(e)},show:function(){r.element.classList.remove(\"hidden\")},hide:function(){r.element.classList.add(\"hidden\")},toggle:function(){r.element.classList.toggle(\"hidden\")},on:function(e,t){return e&&i[e]&&i[e].on(t),this},off:function(e,t){return e&&i[e]&&i[e].off(t),this},destroy:function(){i.change.off(),i.coloradd.off(),i.colorremove.off(),r.element.remove(),i=null,r=null}};return r.onchange=function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];s=!0,i.change.emit([l].concat(t),l)},r.oncoloradd=function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];i.coloradd.emit([l].concat(t),l)},r.oncolorremove=function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];i.colorremove.emit([l].concat(t),l)},r.element.ctrl=l,l}if(\"undefined\"!=typeof window&&!document.querySelector('head>style[data-source=\"a-color-picker\"]')){var H=r(5).toString(),B=document.createElement(\"style\");B.setAttribute(\"type\",\"text/css\"),B.setAttribute(\"data-source\",\"a-color-picker\"),B.innerHTML=H,document.querySelector(\"head\").appendChild(B)}t.createPicker=E,t.from=function(e,t){var r=function(e){return e?Array.isArray(e)?e:e instanceof HTMLElement?[e]:e instanceof NodeList?[].concat(u(e)):\"string\"==typeof e?[].concat(u(document.querySelectorAll(e))):e.jquery?e.get():[]:[]}(e).map(function(e,r){var i=E(e,t);return i.index=r,i});return r.on=function(e,t){return r.forEach(function(r){return r.on(e,t)}),this},r.off=function(e){return r.forEach(function(t){return t.off(e)}),this},r},t.parseColorToRgb=n.parseColorToRgb,t.parseColorToRgba=n.parseColorToRgba,t.parseColorToHsl=n.parseColorToHsl,t.parseColorToHsla=n.parseColorToHsla,t.parseColor=n.parseColor,t.rgbToHex=n.rgbToHex,t.hslToRgb=n.hslToRgb,t.rgbToHsl=n.rgbToHsl,t.rgbToHsv=n.rgbToHsv,t.rgbToInt=n.rgbToInt,t.intToRgb=n.intToRgb,t.getLuminance=n.getLuminance,t.COLOR_NAMES=n.COLOR_NAMES,t.PALETTE_MATERIAL_500=n.PALETTE_MATERIAL_500,t.PALETTE_MATERIAL_CHROME=n.PALETTE_MATERIAL_CHROME,t.VERSION=\"1.2.1\"},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.nvl=t.ensureArray=t.limit=t.getLuminance=t.parseColor=t.parseColorToHsla=t.parseColorToHsl=t.cssHslaToHsla=t.cssHslToHsl=t.parseColorToRgba=t.parseColorToRgb=t.cssRgbaToRgba=t.cssRgbToRgb=t.cssColorToRgba=t.cssColorToRgb=t.intToRgb=t.rgbToInt=t.rgbToHsv=t.rgbToHsl=t.hslToRgb=t.rgbToHex=t.PALETTE_MATERIAL_CHROME=t.PALETTE_MATERIAL_500=t.COLOR_NAMES=void 0;var i=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var r=[],i=!0,o=!1,n=void 0;try{for(var s,a=e[Symbol.iterator]();!(i=(s=a.next()).done)&&(r.push(s.value),!t||r.length!==t);i=!0);}catch(e){o=!0,n=e}finally{try{!i&&a.return&&a.return()}finally{if(o)throw n}}return r}(e,t);throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")},o=function(e){return e&&e.__esModule?e:{default:e}}(r(0));function n(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t<e.length;t++)r[t]=e[t];return r}return Array.from(e)}var s={aliceblue:\"#F0F8FF\",antiquewhite:\"#FAEBD7\",aqua:\"#00FFFF\",aquamarine:\"#7FFFD4\",azure:\"#F0FFFF\",beige:\"#F5F5DC\",bisque:\"#FFE4C4\",black:\"#000000\",blanchedalmond:\"#FFEBCD\",blue:\"#0000FF\",blueviolet:\"#8A2BE2\",brown:\"#A52A2A\",burlywood:\"#DEB887\",cadetblue:\"#5F9EA0\",chartreuse:\"#7FFF00\",chocolate:\"#D2691E\",coral:\"#FF7F50\",cornflowerblue:\"#6495ED\",cornsilk:\"#FFF8DC\",crimson:\"#DC143C\",cyan:\"#00FFFF\",darkblue:\"#00008B\",darkcyan:\"#008B8B\",darkgoldenrod:\"#B8860B\",darkgray:\"#A9A9A9\",darkgrey:\"#A9A9A9\",darkgreen:\"#006400\",darkkhaki:\"#BDB76B\",darkmagenta:\"#8B008B\",darkolivegreen:\"#556B2F\",darkorange:\"#FF8C00\",darkorchid:\"#9932CC\",darkred:\"#8B0000\",darksalmon:\"#E9967A\",darkseagreen:\"#8FBC8F\",darkslateblue:\"#483D8B\",darkslategray:\"#2F4F4F\",darkslategrey:\"#2F4F4F\",darkturquoise:\"#00CED1\",darkviolet:\"#9400D3\",deeppink:\"#FF1493\",deepskyblue:\"#00BFFF\",dimgray:\"#696969\",dimgrey:\"#696969\",dodgerblue:\"#1E90FF\",firebrick:\"#B22222\",floralwhite:\"#FFFAF0\",forestgreen:\"#228B22\",fuchsia:\"#FF00FF\",gainsboro:\"#DCDCDC\",ghostwhite:\"#F8F8FF\",gold:\"#FFD700\",goldenrod:\"#DAA520\",gray:\"#808080\",grey:\"#808080\",green:\"#008000\",greenyellow:\"#ADFF2F\",honeydew:\"#F0FFF0\",hotpink:\"#FF69B4\",\"indianred \":\"#CD5C5C\",\"indigo \":\"#4B0082\",ivory:\"#FFFFF0\",khaki:\"#F0E68C\",lavender:\"#E6E6FA\",lavenderblush:\"#FFF0F5\",lawngreen:\"#7CFC00\",lemonchiffon:\"#FFFACD\",lightblue:\"#ADD8E6\",lightcoral:\"#F08080\",lightcyan:\"#E0FFFF\",lightgoldenrodyellow:\"#FAFAD2\",lightgray:\"#D3D3D3\",lightgrey:\"#D3D3D3\",lightgreen:\"#90EE90\",lightpink:\"#FFB6C1\",lightsalmon:\"#FFA07A\",lightseagreen:\"#20B2AA\",lightskyblue:\"#87CEFA\",lightslategray:\"#778899\",lightslategrey:\"#778899\",lightsteelblue:\"#B0C4DE\",lightyellow:\"#FFFFE0\",lime:\"#00FF00\",limegreen:\"#32CD32\",linen:\"#FAF0E6\",magenta:\"#FF00FF\",maroon:\"#800000\",mediumaquamarine:\"#66CDAA\",mediumblue:\"#0000CD\",mediumorchid:\"#BA55D3\",mediumpurple:\"#9370DB\",mediumseagreen:\"#3CB371\",mediumslateblue:\"#7B68EE\",mediumspringgreen:\"#00FA9A\",mediumturquoise:\"#48D1CC\",mediumvioletred:\"#C71585\",midnightblue:\"#191970\",mintcream:\"#F5FFFA\",mistyrose:\"#FFE4E1\",moccasin:\"#FFE4B5\",navajowhite:\"#FFDEAD\",navy:\"#000080\",oldlace:\"#FDF5E6\",olive:\"#808000\",olivedrab:\"#6B8E23\",orange:\"#FFA500\",orangered:\"#FF4500\",orchid:\"#DA70D6\",palegoldenrod:\"#EEE8AA\",palegreen:\"#98FB98\",paleturquoise:\"#AFEEEE\",palevioletred:\"#DB7093\",papayawhip:\"#FFEFD5\",peachpuff:\"#FFDAB9\",peru:\"#CD853F\",pink:\"#FFC0CB\",plum:\"#DDA0DD\",powderblue:\"#B0E0E6\",purple:\"#800080\",rebeccapurple:\"#663399\",red:\"#FF0000\",rosybrown:\"#BC8F8F\",royalblue:\"#4169E1\",saddlebrown:\"#8B4513\",salmon:\"#FA8072\",sandybrown:\"#F4A460\",seagreen:\"#2E8B57\",seashell:\"#FFF5EE\",sienna:\"#A0522D\",silver:\"#C0C0C0\",skyblue:\"#87CEEB\",slateblue:\"#6A5ACD\",slategray:\"#708090\",slategrey:\"#708090\",snow:\"#FFFAFA\",springgreen:\"#00FF7F\",steelblue:\"#4682B4\",tan:\"#D2B48C\",teal:\"#008080\",thistle:\"#D8BFD8\",tomato:\"#FF6347\",turquoise:\"#40E0D0\",violet:\"#EE82EE\",wheat:\"#F5DEB3\",white:\"#FFFFFF\",whitesmoke:\"#F5F5F5\",yellow:\"#FFFF00\",yellowgreen:\"#9ACD32\"};function a(e,t,r){return e=+e,isNaN(e)?t:e<t?t:e>r?r:e}function l(e,t){return null==e?t:e}function c(e,t,r){var i=[a(e,0,255),a(t,0,255),a(r,0,255)];return\"#\"+(\"000000\"+((e=i[0])<<16|(t=i[1])<<8|(r=i[2])).toString(16)).slice(-6)}function u(e,t,r){var i=void 0,o=void 0,n=void 0,s=[a(e,0,360)/360,a(t,0,100)/100,a(r,0,100)/100];if(e=s[0],r=s[2],0==(t=s[1]))i=o=n=r;else{var l=function(e,t,r){return r<0&&(r+=1),r>1&&(r-=1),r<1/6?e+6*(t-e)*r:r<.5?t:r<2/3?e+(t-e)*(2/3-r)*6:e},c=r<.5?r*(1+t):r+t-r*t,u=2*r-c;i=l(u,c,e+1/3),o=l(u,c,e),n=l(u,c,e-1/3)}return[255*i,255*o,255*n].map(Math.round)}function h(e,t,r){var i=[a(e,0,255)/255,a(t,0,255)/255,a(r,0,255)/255];e=i[0],t=i[1],r=i[2];var o=Math.max(e,t,r),n=Math.min(e,t,r),s=void 0,l=void 0,c=(o+n)/2;if(o==n)s=l=0;else{var u=o-n;switch(l=c>.5?u/(2-o-n):u/(o+n),o){case e:s=(t-r)/u+(t<r?6:0);break;case t:s=(r-e)/u+2;break;case r:s=(e-t)/u+4}s/=6}return[360*s,100*l,100*c].map(Math.round)}function p(e,t,r){return e<<16|t<<8|r}function d(e){if(e){var t=s[e.toString().toLowerCase()],r=/^\\s*#?((([0-9A-F])([0-9A-F])([0-9A-F]))|(([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})))\\s*$/i.exec(t||e)||[],o=i(r,10),n=o[3],a=o[4],l=o[5],c=o[7],u=o[8],h=o[9];if(void 0!==n)return[parseInt(n+n,16),parseInt(a+a,16),parseInt(l+l,16)];if(void 0!==c)return[parseInt(c,16),parseInt(u,16),parseInt(h,16)]}}function f(e){if(e){var t=s[e.toString().toLowerCase()],r=/^\\s*#?((([0-9A-F])([0-9A-F])([0-9A-F])([0-9A-F])?)|(([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})?))\\s*$/i.exec(t||e)||[],o=i(r,12),n=o[3],a=o[4],l=o[5],c=o[6],u=o[8],h=o[9],p=o[10],d=o[11];if(void 0!==n)return[parseInt(n+n,16),parseInt(a+a,16),parseInt(l+l,16),c?+(parseInt(c+c,16)/255).toFixed(2):1];if(void 0!==u)return[parseInt(u,16),parseInt(h,16),parseInt(p,16),d?+(parseInt(d,16)/255).toFixed(2):1]}}function g(e){if(e){var t=/^rgb\\((\\d+)[\\s,](\\d+)[\\s,](\\d+)\\)/i.exec(e)||[],r=i(t,4),o=r[0],n=r[1],s=r[2],l=r[3];return o?[a(n,0,255),a(s,0,255),a(l,0,255)]:void 0}}function b(e){if(e){var t=/^rgba?\\((\\d+)\\s*[\\s,]\\s*(\\d+)\\s*[\\s,]\\s*(\\d+)(\\s*[\\s,]\\s*(\\d*(.\\d+)?))?\\)/i.exec(e)||[],r=i(t,6),o=r[0],n=r[1],s=r[2],c=r[3],u=r[5];return o?[a(n,0,255),a(s,0,255),a(c,0,255),a(l(u,1),0,1)]:void 0}}function v(e){if(Array.isArray(e))return[a(e[0],0,255),a(e[1],0,255),a(e[2],0,255),a(l(e[3],1),0,1)];var t=f(e)||b(e);return t&&3===t.length&&t.push(1),t}function m(e){if(e){var t=/^hsl\\((\\d+)[\\s,](\\d+)[\\s,](\\d+)\\)/i.exec(e)||[],r=i(t,4),o=r[0],n=r[1],s=r[2],l=r[3];return o?[a(n,0,360),a(s,0,100),a(l,0,100)]:void 0}}function A(e){if(e){var t=/^hsla?\\((\\d+)\\s*[\\s,]\\s*(\\d+)\\s*[\\s,]\\s*(\\d+)(\\s*[\\s,]\\s*(\\d*(.\\d+)?))?\\)/i.exec(e)||[],r=i(t,6),o=r[0],n=r[1],s=r[2],c=r[3],u=r[5];return o?[a(n,0,255),a(s,0,255),a(c,0,255),a(l(u,1),0,1)]:void 0}}function y(e){if(Array.isArray(e))return[a(e[0],0,360),a(e[1],0,100),a(e[2],0,100),a(l(e[3],1),0,1)];var t=A(e);return t&&3===t.length&&t.push(1),t}function k(e,t){switch(t){case\"rgb\":default:return e.slice(0,3);case\"rgbcss\":return\"rgb(\"+e[0]+\", \"+e[1]+\", \"+e[2]+\")\";case\"rgbcss4\":return\"rgb(\"+e[0]+\", \"+e[1]+\", \"+e[2]+\", \"+e[3]+\")\";case\"rgba\":return e;case\"rgbacss\":return\"rgba(\"+e[0]+\", \"+e[1]+\", \"+e[2]+\", \"+e[3]+\")\";case\"hsl\":return h.apply(void 0,n(e));case\"hslcss\":return\"hsl(\"+(e=h.apply(void 0,n(e)))[0]+\", \"+e[1]+\", \"+e[2]+\")\";case\"hslcss4\":var r=h.apply(void 0,n(e));return\"hsl(\"+r[0]+\", \"+r[1]+\", \"+r[2]+\", \"+e[3]+\")\";case\"hsla\":return[].concat(n(h.apply(void 0,n(e))),[e[3]]);case\"hslacss\":var i=h.apply(void 0,n(e));return\"hsla(\"+i[0]+\", \"+i[1]+\", \"+i[2]+\", \"+e[3]+\")\";case\"hex\":return c.apply(void 0,n(e));case\"hexcss4\":return c.apply(void 0,n(e))+(\"00\"+parseInt(255*e[3]).toString(16)).slice(-2);case\"int\":return p.apply(void 0,n(e))}}t.COLOR_NAMES=s,t.PALETTE_MATERIAL_500=[\"#F44336\",\"#E91E63\",\"#E91E63\",\"#9C27B0\",\"#9C27B0\",\"#673AB7\",\"#673AB7\",\"#3F51B5\",\"#3F51B5\",\"#2196F3\",\"#2196F3\",\"#03A9F4\",\"#03A9F4\",\"#00BCD4\",\"#00BCD4\",\"#009688\",\"#009688\",\"#4CAF50\",\"#4CAF50\",\"#8BC34A\",\"#8BC34A\",\"#CDDC39\",\"#CDDC39\",\"#FFEB3B\",\"#FFEB3B\",\"#FFC107\",\"#FFC107\",\"#FF9800\",\"#FF9800\",\"#FF5722\",\"#FF5722\",\"#795548\",\"#795548\",\"#9E9E9E\",\"#9E9E9E\",\"#607D8B\",\"#607D8B\"],t.PALETTE_MATERIAL_CHROME=[\"#f44336\",\"#e91e63\",\"#9c27b0\",\"#673ab7\",\"#3f51b5\",\"#2196f3\",\"#03a9f4\",\"#00bcd4\",\"#009688\",\"#4caf50\",\"#8bc34a\",\"#cddc39\",\"#ffeb3b\",\"#ffc107\",\"#ff9800\",\"#ff5722\",\"#795548\",\"#9e9e9e\",\"#607d8b\"],t.rgbToHex=c,t.hslToRgb=u,t.rgbToHsl=h,t.rgbToHsv=function(e,t,r){var i=[a(e,0,255)/255,a(t,0,255)/255,a(r,0,255)/255];e=i[0],t=i[1],r=i[2];var o,n=Math.max(e,t,r),s=Math.min(e,t,r),l=void 0,c=n,u=n-s;if(o=0===n?0:u/n,n==s)l=0;else{switch(n){case e:l=(t-r)/u+(t<r?6:0);break;case t:l=(r-e)/u+2;break;case r:l=(e-t)/u+4}l/=6}return[l,o,c]},t.rgbToInt=p,t.intToRgb=function(e){return[e>>16&255,e>>8&255,255&e]},t.cssColorToRgb=d,t.cssColorToRgba=f,t.cssRgbToRgb=g,t.cssRgbaToRgba=b,t.parseColorToRgb=function(e){return Array.isArray(e)?e=[a(e[0],0,255),a(e[1],0,255),a(e[2],0,255)]:d(e)||g(e)},t.parseColorToRgba=v,t.cssHslToHsl=m,t.cssHslaToHsla=A,t.parseColorToHsl=function(e){return Array.isArray(e)?e=[a(e[0],0,360),a(e[1],0,100),a(e[2],0,100)]:m(e)},t.parseColorToHsla=y,t.parseColor=function(e,t){if(t=t||\"rgb\",null!=e){var r=void 0;if((r=v(e))||(r=y(e))&&(r=[].concat(n(u.apply(void 0,n(r))),[r[3]])))return(0,o.default)(t)?[\"rgb\",\"rgbcss\",\"rgbcss4\",\"rgba\",\"rgbacss\",\"hsl\",\"hslcss\",\"hslcss4\",\"hsla\",\"hslacss\",\"hex\",\"hexcss4\",\"int\"].reduce(function(e,t){return e[t]=k(r,t),e},t||{}):k(r,t.toString().toLowerCase())}},t.getLuminance=function(e,t,r){return.2126*(e=(e/=255)<.03928?e/12.92:Math.pow((e+.055)/1.055,2.4))+.7152*(t=(t/=255)<.03928?t/12.92:Math.pow((t+.055)/1.055,2.4))+.0722*((r/=255)<.03928?r/12.92:Math.pow((r+.055)/1.055,2.4))},t.limit=a,t.ensureArray=function(e){return e?Array.from(e):[]},t.nvl=l},function(e,t,r){\"use strict\";\n/*!\n * isobject <https://github.com/jonschlinkert/isobject>\n *\n * Copyright (c) 2014-2017, Jon Schlinkert.\n * Released under the MIT License.\n */e.exports=function(e){return null!=e&&\"object\"==typeof e&&!1===Array.isArray(e)}},function(e,t){e.exports='<div class=\"a-color-picker-row a-color-picker-stack a-color-picker-row-top\"> <canvas class=\"a-color-picker-sl a-color-picker-transparent\"></canvas> <div class=a-color-picker-dot></div> </div> <div class=a-color-picker-row> <div class=\"a-color-picker-stack a-color-picker-transparent a-color-picker-circle\"> <div class=a-color-picker-preview> <input class=a-color-picker-clipbaord type=text> </div> </div> <div class=a-color-picker-column> <div class=\"a-color-picker-cell a-color-picker-stack\"> <canvas class=a-color-picker-h></canvas> <div class=a-color-picker-dot></div> </div> <div class=\"a-color-picker-cell a-color-picker-alpha a-color-picker-stack\" show-on-alpha> <canvas class=\"a-color-picker-a a-color-picker-transparent\"></canvas> <div class=a-color-picker-dot></div> </div> </div> </div> <div class=\"a-color-picker-row a-color-picker-hsl\" show-on-hsl> <label>H</label> <input nameref=H type=number maxlength=3 min=0 max=360 value=0> <label>S</label> <input nameref=S type=number maxlength=3 min=0 max=100 value=0> <label>L</label> <input nameref=L type=number maxlength=3 min=0 max=100 value=0> </div> <div class=\"a-color-picker-row a-color-picker-rgb\" show-on-rgb> <label>R</label> <input nameref=R type=number maxlength=3 min=0 max=255 value=0> <label>G</label> <input nameref=G type=number maxlength=3 min=0 max=255 value=0> <label>B</label> <input nameref=B type=number maxlength=3 min=0 max=255 value=0> </div> <div class=\"a-color-picker-row a-color-picker-rgbhex a-color-picker-single-input\" show-on-single-input> <label>HEX</label> <input nameref=RGBHEX type=text select-on-focus> </div> <div class=\"a-color-picker-row a-color-picker-palette\"></div>'},function(e,t,r){var i=r(6);e.exports=\"string\"==typeof i?i:i.toString()},function(e,t,r){(e.exports=r(7)(!1)).push([e.i,\"/*!\\n * a-color-picker\\n * https://github.com/narsenico/a-color-picker\\n *\\n * Copyright (c) 2017-2018, Gianfranco Caldi.\\n * Released under the MIT License.\\n */.a-color-picker{background-color:#fff;padding:0;display:inline-flex;flex-direction:column;user-select:none;width:232px;font:400 10px Helvetica,Arial,sans-serif;border-radius:3px;box-shadow:0 0 0 1px rgba(0,0,0,.05),0 2px 4px rgba(0,0,0,.25)}.a-color-picker,.a-color-picker-row,.a-color-picker input{box-sizing:border-box}.a-color-picker-row{padding:15px;display:flex;flex-direction:row;align-items:center;justify-content:space-between;user-select:none}.a-color-picker-row-top{padding:0}.a-color-picker-row:not(:first-child){border-top:1px solid #f5f5f5}.a-color-picker-column{display:flex;flex-direction:column}.a-color-picker-cell{flex:1 1 auto;margin-bottom:4px}.a-color-picker-cell:last-child{margin-bottom:0}.a-color-picker-stack{position:relative}.a-color-picker-dot{position:absolute;width:14px;height:14px;top:0;left:0;background:#fff;pointer-events:none;border-radius:50px;z-index:1000;box-shadow:0 1px 2px rgba(0,0,0,.75)}.a-color-picker-a,.a-color-picker-h,.a-color-picker-sl{cursor:cell}.a-color-picker-a+.a-color-picker-dot,.a-color-picker-h+.a-color-picker-dot{top:-2px}.a-color-picker-a,.a-color-picker-h{border-radius:2px}.a-color-picker-preview{box-sizing:border-box;width:30px;height:30px;user-select:none;border-radius:15px}.a-color-picker-circle{border-radius:50px;border:1px solid #eee}.a-color-picker-hsl,.a-color-picker-rgb,.a-color-picker-single-input{justify-content:space-evenly}.a-color-picker-hsl>label,.a-color-picker-rgb>label,.a-color-picker-single-input>label{padding:0 8px;flex:0 0 auto;color:#969696}.a-color-picker-hsl>input,.a-color-picker-rgb>input,.a-color-picker-single-input>input{text-align:center;padding:2px 0;width:0;flex:1 1 auto;border:1px solid #e0e0e0;line-height:20px}.a-color-picker-hsl>input::-webkit-inner-spin-button,.a-color-picker-rgb>input::-webkit-inner-spin-button,.a-color-picker-single-input>input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.a-color-picker-hsl>input:focus,.a-color-picker-rgb>input:focus,.a-color-picker-single-input>input:focus{border-color:#04a9f4;outline:none}.a-color-picker-transparent{background-image:linear-gradient(-45deg,#cdcdcd 25%,transparent 0),linear-gradient(45deg,#cdcdcd 25%,transparent 0),linear-gradient(-45deg,transparent 75%,#cdcdcd 0),linear-gradient(45deg,transparent 75%,#cdcdcd 0);background-size:11px 11px;background-position:0 0,0 -5.5px,-5.5px 5.5px,5.5px 0}.a-color-picker-sl{border-radius:3px 3px 0 0}.a-color-picker.hide-alpha [show-on-alpha],.a-color-picker.hide-hsl [show-on-hsl],.a-color-picker.hide-rgb [show-on-rgb],.a-color-picker.hide-single-input [show-on-single-input]{display:none}.a-color-picker-clipbaord{width:100%;height:100%;opacity:0;cursor:pointer}.a-color-picker-palette{flex-flow:wrap;flex-direction:row;justify-content:flex-start;padding:10px}.a-color-picker-palette-color{width:15px;height:15px;flex:0 1 15px;margin:3px;box-sizing:border-box;cursor:pointer;border-radius:3px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1)}.a-color-picker-palette-add{text-align:center;line-height:13px;color:#607d8b}.a-color-picker.hidden{display:none}\",\"\"])},function(e,t){e.exports=function(e){var t=[];return t.toString=function(){return this.map(function(t){var r=function(e,t){var r=e[1]||\"\",i=e[3];if(!i)return r;if(t&&\"function\"==typeof btoa){var o=function(e){return\"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(e))))+\" */\"}(i),n=i.sources.map(function(e){return\"/*# sourceURL=\"+i.sourceRoot+e+\" */\"});return[r].concat(n).concat([o]).join(\"\\n\")}return[r].join(\"\\n\")}(t,e);return t[2]?\"@media \"+t[2]+\"{\"+r+\"}\":r}).join(\"\")},t.i=function(e,r){\"string\"==typeof e&&(e=[[null,e,\"\"]]);for(var i={},o=0;o<this.length;o++){var n=this[o][0];\"number\"==typeof n&&(i[n]=!0)}for(o=0;o<e.length;o++){var s=e[o];\"number\"==typeof s[0]&&i[s[0]]||(r&&!s[2]?s[2]=r:r&&(s[2]=\"(\"+s[2]+\") and (\"+r+\")\"),t.push(s))}},t}}])});","// Copyright (C) 2017-2023 Smart code 203358507\n\nrequire('spatial-navigation-polyfill');\nconst React = require('react');\nconst { useTranslation } = require('react-i18next');\nconst { Router } = require('stremio-router');\nconst { Core, Shell, Chromecast, DragAndDrop, KeyboardShortcuts, ServicesProvider } = require('stremio/services');\nconst { NotFound } = require('stremio/routes');\nconst { PlatformProvider, ToastProvider, TooltipProvider, CONSTANTS, withCoreSuspender } = require('stremio/common');\nconst ServicesToaster = require('./ServicesToaster');\nconst DeepLinkHandler = require('./DeepLinkHandler');\nconst SearchParamsHandler = require('./SearchParamsHandler');\nconst ErrorDialog = require('./ErrorDialog');\nconst withProtectedRoutes = require('./withProtectedRoutes');\nconst routerViewsConfig = require('./routerViewsConfig');\nconst styles = require('./styles');\n\nconst RouterWithProtectedRoutes = withCoreSuspender(withProtectedRoutes(Router));\n\nconst App = () => {\n const { i18n } = useTranslation();\n const onPathNotMatch = React.useCallback(() => {\n return NotFound;\n }, []);\n const services = React.useMemo(() => {\n const core = new Core({\n appVersion: process.env.VERSION,\n shellVersion: null\n });\n return {\n core,\n shell: new Shell(),\n chromecast: new Chromecast(),\n keyboardShortcuts: new KeyboardShortcuts(),\n dragAndDrop: new DragAndDrop({ core })\n };\n }, []);\n const [initialized, setInitialized] = React.useState(false);\n React.useEffect(() => {\n let prevPath = window.location.hash.slice(1);\n const onLocationHashChange = () => {\n if (services.core.active) {\n services.core.transport.analytics({\n event: 'LocationPathChanged',\n args: { prevPath }\n });\n }\n prevPath = window.location.hash.slice(1);\n };\n window.addEventListener('hashchange', onLocationHashChange);\n return () => {\n window.removeEventListener('hashchange', onLocationHashChange);\n };\n }, []);\n React.useEffect(() => {\n const onCoreStateChanged = () => {\n setInitialized(\n (services.core.active || services.core.error instanceof Error) &&\n (services.shell.active || services.shell.error instanceof Error)\n );\n };\n const onShellStateChanged = () => {\n setInitialized(\n (services.core.active || services.core.error instanceof Error) &&\n (services.shell.active || services.shell.error instanceof Error)\n );\n };\n const onChromecastStateChange = () => {\n if (services.chromecast.active) {\n services.chromecast.transport.setOptions({\n receiverApplicationId: CONSTANTS.CHROMECAST_RECEIVER_APP_ID,\n autoJoinPolicy: chrome.cast.AutoJoinPolicy.PAGE_SCOPED,\n resumeSavedSession: false,\n language: null,\n androidReceiverCompatible: true\n });\n }\n };\n services.core.on('stateChanged', onCoreStateChanged);\n services.shell.on('stateChanged', onShellStateChanged);\n services.chromecast.on('stateChanged', onChromecastStateChange);\n services.core.start();\n services.shell.start();\n services.chromecast.start();\n services.keyboardShortcuts.start();\n services.dragAndDrop.start();\n window.services = services;\n return () => {\n services.core.stop();\n services.shell.stop();\n services.chromecast.stop();\n services.keyboardShortcuts.stop();\n services.dragAndDrop.stop();\n services.core.off('stateChanged', onCoreStateChanged);\n services.shell.off('stateChanged', onShellStateChanged);\n services.chromecast.off('stateChanged', onChromecastStateChange);\n };\n }, []);\n React.useEffect(() => {\n const onCoreEvent = ({ event, args }) => {\n switch (event) {\n case 'SettingsUpdated': {\n if (args && args.settings && typeof args.settings.interfaceLanguage === 'string') {\n i18n.changeLanguage(args.settings.interfaceLanguage);\n }\n break;\n }\n }\n };\n const onCtxState = (state) => {\n if (state && state.profile && state.profile.settings && typeof state.profile.settings.interfaceLanguage === 'string') {\n i18n.changeLanguage(state.profile.settings.interfaceLanguage);\n }\n };\n const onWindowFocus = () => {\n services.core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'PullAddonsFromAPI'\n }\n });\n services.core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'PullUserFromAPI'\n }\n });\n services.core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'SyncLibraryWithAPI'\n }\n });\n services.core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'PullNotifications'\n }\n });\n };\n if (services.core.active) {\n onWindowFocus();\n window.addEventListener('focus', onWindowFocus);\n services.core.transport.on('CoreEvent', onCoreEvent);\n services.core.transport\n .getState('ctx')\n .then(onCtxState)\n .catch((e) => console.error(e));\n }\n return () => {\n if (services.core.active) {\n window.removeEventListener('focus', onWindowFocus);\n services.core.transport.off('CoreEvent', onCoreEvent);\n }\n };\n }, [initialized]);\n return (\n <React.StrictMode>\n <ServicesProvider services={services}>\n {\n initialized ?\n services.core.error instanceof Error ?\n <ErrorDialog className={styles['error-container']} />\n :\n <PlatformProvider>\n <ToastProvider className={styles['toasts-container']}>\n <TooltipProvider className={styles['tooltip-container']}>\n <ServicesToaster />\n <DeepLinkHandler />\n <SearchParamsHandler />\n <RouterWithProtectedRoutes\n className={styles['router']}\n viewsConfig={routerViewsConfig}\n onPathNotMatch={onPathNotMatch}\n />\n </TooltipProvider>\n </ToastProvider>\n </PlatformProvider>\n :\n <div className={styles['loader-container']} />\n }\n </ServicesProvider>\n </React.StrictMode>\n );\n};\n\nmodule.exports = App;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { withCoreSuspender, useStreamingServer } = require('stremio/common');\n\nconst DeepLinkHandler = () => {\n const streamingServer = useStreamingServer();\n React.useEffect(() => {\n if (streamingServer.torrent !== null) {\n const [, { type, content }] = streamingServer.torrent;\n if (type === 'Ready') {\n const [, deepLinks] = content;\n if (typeof deepLinks.metaDetailsVideos === 'string') {\n window.location = deepLinks.metaDetailsVideos;\n }\n }\n }\n }, [streamingServer.torrent]);\n return null;\n};\n\nmodule.exports = withCoreSuspender(DeepLinkHandler);\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useTranslation } = require('react-i18next');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { Button, Image } = require('stremio/common');\nconst styles = require('./styles');\n\nconst ErrorDialog = ({ className }) => {\n const { t } = useTranslation();\n\n const [dataCleared, setDataCleared] = React.useState(false);\n const reload = React.useCallback(() => {\n window.location.reload();\n }, []);\n const clearData = React.useCallback(() => {\n window.localStorage.clear();\n setDataCleared(true);\n }, []);\n return (\n <div className={classnames(className, styles['error-container'])}>\n <Image\n className={styles['error-image']}\n src={require('/images/empty.png')}\n alt={' '}\n />\n <div className={styles['error-message']}>\n { t('GENERIC_ERROR_MESSAGE') }\n </div>\n <div className={styles['buttons-container']}>\n <Button className={styles['button-container']} title={t('TRY_AGAIN')} onClick={reload}>\n <div className={styles['label']}>\n { t('TRY_AGAIN') }\n </div>\n </Button>\n <Button className={styles['button-container']} disabled={dataCleared} title={t('CLEAR_DATA')} onClick={clearData}>\n <div className={styles['label']}>\n { t('CLEAR_DATA') }\n </div>\n </Button>\n </div>\n </div>\n );\n};\n\nErrorDialog.displayName = 'ErrorDialog';\n\nErrorDialog.propTypes = {\n className: PropTypes.string\n};\n\nmodule.exports = ErrorDialog;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst ErrorDialog = require('./ErrorDialog');\n\nmodule.exports = ErrorDialog;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst isEqual = require('lodash.isequal');\nconst { withCoreSuspender, useProfile, useToast } = require('stremio/common');\nconst { useServices } = require('stremio/services');\n\nconst SearchParamsHandler = () => {\n const { core } = useServices();\n const profile = useProfile();\n const toast = useToast();\n\n const [searchParams, setSearchParams] = React.useState({});\n\n const onLocationChange = () => {\n const { origin, hash, search } = window.location;\n const { searchParams } = new URL(`${origin}${hash.replace('#', '')}${search}`);\n\n setSearchParams((previousSearchParams) => {\n const currentSearchParams = Object.fromEntries(searchParams.entries());\n return isEqual(previousSearchParams, currentSearchParams) ? previousSearchParams : currentSearchParams;\n });\n };\n\n React.useEffect(() => {\n const { streamingServerUrl } = searchParams;\n\n if (streamingServerUrl) {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: {\n ...profile.settings,\n streamingServerUrl,\n },\n },\n });\n\n toast.show({\n type: 'success',\n title: `Using streaming server at ${streamingServerUrl}`,\n timeout: 4000,\n });\n }\n }, [searchParams]);\n\n React.useEffect(() => {\n onLocationChange();\n window.addEventListener('hashchange', onLocationChange);\n return () => window.removeEventListener('hashchange', onLocationChange);\n }, []);\n\n return null;\n};\n\nmodule.exports = withCoreSuspender(SearchParamsHandler);\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useServices } = require('stremio/services');\nconst { useToast } = require('stremio/common');\n\nconst ServicesToaster = () => {\n const { core, dragAndDrop } = useServices();\n const toast = useToast();\n React.useEffect(() => {\n const onCoreEvent = ({ event, args }) => {\n switch (event) {\n case 'Error': {\n if (args.source.event === 'UserPulledFromAPI' && args.source.args.uid === null) {\n break;\n }\n\n if (args.source.event === 'LibrarySyncWithAPIPlanned' && args.source.args.uid === null) {\n break;\n }\n\n if (args.error.type === 'Other' && args.error.code === 3 && args.source.event === 'AddonInstalled' && args.source.args.transport_url.startsWith('https://www.strem.io/trakt/addon')) {\n break;\n }\n\n toast.show({\n type: 'error',\n title: args.source.event,\n message: args.error.message,\n timeout: 4000,\n dataset: {\n type: 'CoreEvent'\n }\n });\n break;\n }\n case 'TorrentParsed': {\n toast.show({\n type: 'success',\n title: 'Torrent file parsed',\n timeout: 4000\n });\n break;\n }\n case 'MagnetParsed': {\n toast.show({\n type: 'success',\n title: 'Magnet link parsed',\n timeout: 4000\n });\n break;\n }\n case 'PlayingOnDevice': {\n toast.show({\n type: 'success',\n title: `Stream opened in ${args.device}`,\n timeout: 4000\n });\n break;\n }\n }\n };\n const onDragAndDropError = (error) => {\n toast.show({\n type: 'error',\n title: error.message,\n message: error.file?.name,\n timeout: 4000\n });\n };\n core.transport.on('CoreEvent', onCoreEvent);\n dragAndDrop.on('error', onDragAndDropError);\n return () => {\n core.transport.off('CoreEvent', onCoreEvent);\n dragAndDrop.off('error', onDragAndDropError);\n };\n }, []);\n return null;\n};\n\nmodule.exports = ServicesToaster;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst App = require('./App');\n\nmodule.exports = App;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst routes = require('stremio/routes');\nconst { routesRegexp } = require('stremio/common');\n\nconst routerViewsConfig = [\n [\n {\n ...routesRegexp.board,\n component: routes.Board\n }\n ],\n [\n {\n ...routesRegexp.intro,\n component: routes.Intro\n },\n {\n ...routesRegexp.discover,\n component: routes.Discover\n },\n {\n ...routesRegexp.library,\n component: routes.Library\n },\n {\n ...routesRegexp.continuewatching,\n component: routes.Library\n },\n {\n ...routesRegexp.search,\n component: routes.Search\n }\n ],\n [\n {\n ...routesRegexp.metadetails,\n component: routes.MetaDetails\n }\n ],\n [\n {\n ...routesRegexp.addons,\n component: routes.Addons\n },\n {\n ...routesRegexp.settings,\n component: routes.Settings\n }\n ],\n [\n {\n ...routesRegexp.player,\n component: routes.Player\n }\n ]\n];\n\nmodule.exports = routerViewsConfig;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { Intro } = require('stremio/routes');\nconst { useProfile } = require('stremio/common');\n\nconst withProtectedRoutes = (Component) => {\n return function withProtectedRoutes(props) {\n const profile = useProfile();\n const previousAuthRef = React.useRef(profile.auth);\n React.useEffect(() => {\n if (previousAuthRef.current !== null && profile.auth === null) {\n window.location = '#/intro';\n }\n previousAuthRef.current = profile.auth;\n }, [profile]);\n const onRouteChange = React.useCallback((routeConfig) => {\n if (profile.auth !== null && routeConfig.component === Intro) {\n window.location.replace('#/');\n return true;\n }\n }, [profile]);\n return (\n <Component {...props} onRouteChange={onRouteChange} />\n );\n };\n};\n\nmodule.exports = withProtectedRoutes;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst Image = require('stremio/common/Image');\nconst styles = require('./styles');\n\nconst AddonDetails = ({ className, id, name, version, logo, description, types, transportUrl, official }) => {\n const renderLogoFallback = React.useCallback(() => (\n <Icon className={styles['icon']} name={'addons'} />\n ), []);\n return (\n <div className={classnames(className, styles['addon-details-container'])}>\n <div className={styles['title-container']}>\n <Image\n className={styles['logo']}\n src={logo}\n alt={' '}\n renderFallback={renderLogoFallback}\n />\n <div className={styles['name-container']}>\n <span className={styles['name']}>{typeof name === 'string' && name.length > 0 ? name : id}</span>\n {\n typeof version === 'string' && version.length > 0 ?\n <span className={styles['version']}>v. {version}</span>\n :\n null\n }\n </div>\n </div>\n {\n typeof description === 'string' && description.length > 0 ?\n <div className={styles['section-container']}>\n <span className={styles['section-label']}>{description}</span>\n </div>\n :\n null\n }\n {\n typeof transportUrl === 'string' && transportUrl.length > 0 ?\n <div className={styles['section-container']}>\n <span className={styles['section-header']}>URL: </span>\n <span className={classnames(styles['section-label'], styles['transport-url-label'])}>{transportUrl}</span>\n </div>\n :\n null\n }\n {\n Array.isArray(types) && types.length > 0 ?\n <div className={styles['section-container']}>\n <span className={styles['section-header']}>Supported types: </span>\n <span className={styles['section-label']}>\n {\n types.length === 1 ?\n types[0]\n :\n types.slice(0, -1).join(', ') + ' & ' + types[types.length - 1]\n }\n </span>\n </div>\n :\n null\n }\n {\n !official ?\n <div className={styles['section-container']}>\n <div className={classnames(styles['section-label'], styles['disclaimer-label'])}>Using third-party add-ons will always be subject to your responsibility and the governing law of the jurisdiction you are located.</div>\n </div>\n :\n null\n }\n </div>\n );\n};\n\nAddonDetails.propTypes = {\n className: PropTypes.string,\n id: PropTypes.string,\n name: PropTypes.string,\n version: PropTypes.string,\n logo: PropTypes.string,\n description: PropTypes.string,\n types: PropTypes.arrayOf(PropTypes.string),\n transportUrl: PropTypes.string,\n official: PropTypes.bool,\n};\n\nmodule.exports = AddonDetails;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst AddonDetails = require('./AddonDetails');\n\nmodule.exports = AddonDetails;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst ModalDialog = require('stremio/common/ModalDialog');\nconst { withCoreSuspender } = require('stremio/common/CoreSuspender');\nconst { usePlatform } = require('stremio/common/Platform');\nconst { useServices } = require('stremio/services');\nconst AddonDetailsWithRemoteAndLocalAddon = withRemoteAndLocalAddon(require('./AddonDetails'));\nconst useAddonDetails = require('./useAddonDetails');\nconst styles = require('./styles');\n\nfunction withRemoteAndLocalAddon(AddonDetails) {\n const withRemoteAndLocalAddon = ({ remoteAddon, localAddon, ...props }) => {\n const addon = remoteAddon !== null && remoteAddon.content.type === 'Ready' ?\n remoteAddon.content.content\n :\n localAddon !== null ?\n localAddon\n :\n null;\n if (addon === null) {\n return null;\n }\n\n return (\n <AddonDetails\n {...props}\n id={addon.manifest.id}\n name={addon.manifest.name}\n version={addon.manifest.version}\n background={addon.manifest.background}\n logo={addon.manifest.logo}\n description={addon.manifest.description}\n types={addon.manifest.types}\n transportUrl={addon.transportUrl}\n official={addon.flags.official}\n />\n );\n };\n withRemoteAndLocalAddon.displayName = 'withRemoteAndLocalAddon';\n return withRemoteAndLocalAddon;\n}\n\nconst AddonDetailsModal = ({ transportUrl, onCloseRequest }) => {\n const { core } = useServices();\n const platform = usePlatform();\n const addonDetails = useAddonDetails(transportUrl);\n const modalButtons = React.useMemo(() => {\n const cancelButton = {\n className: styles['cancel-button'],\n label: 'Cancel',\n props: {\n onClick: (event) => {\n if (typeof onCloseRequest === 'function') {\n onCloseRequest({\n type: 'cancel',\n reactEvent: event,\n nativeEvent: event.nativeEvent\n });\n }\n }\n }\n };\n const configureButton = addonDetails.remoteAddon !== null &&\n addonDetails.remoteAddon.content.type === 'Ready' &&\n addonDetails.remoteAddon.content.content.manifest.behaviorHints.configurable ?\n {\n className: styles['configure-button'],\n label: 'Configure',\n props: {\n onClick: (event) => {\n platform.openExternal(transportUrl.replace('manifest.json', 'configure'));\n if (typeof onCloseRequest === 'function') {\n onCloseRequest({\n type: 'configure',\n reactEvent: event,\n nativeEvent: event.nativeEvent\n });\n }\n }\n }\n }\n :\n null;\n const toggleButton = addonDetails.localAddon !== null ?\n {\n className: styles['uninstall-button'],\n label: 'Uninstall',\n props: {\n onClick: (event) => {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UninstallAddon',\n args: addonDetails.localAddon\n }\n });\n if (typeof onCloseRequest === 'function') {\n onCloseRequest({\n type: 'uninstall',\n reactEvent: event,\n nativeEvent: event.nativeEvent\n });\n }\n }\n }\n }\n :\n addonDetails.remoteAddon !== null &&\n addonDetails.remoteAddon.content.type === 'Ready' &&\n !addonDetails.remoteAddon.content.content.manifest.behaviorHints.configurationRequired ?\n {\n\n className: styles['install-button'],\n label: 'Install',\n props: {\n onClick: (event) => {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'InstallAddon',\n args: addonDetails.remoteAddon.content.content\n }\n });\n if (typeof onCloseRequest === 'function') {\n onCloseRequest({\n type: 'install',\n reactEvent: event,\n nativeEvent: event.nativeEvent\n });\n }\n }\n }\n }\n :\n null;\n return configureButton && toggleButton ? [cancelButton, configureButton, toggleButton] : configureButton ? [cancelButton, configureButton] : toggleButton ? [cancelButton, toggleButton] : [cancelButton];\n }, [addonDetails, onCloseRequest]);\n const modalBackground = React.useMemo(() => {\n return addonDetails.remoteAddon?.content.type === 'Ready' ? addonDetails.remoteAddon.content.content.manifest.background : null;\n }, [addonDetails.remoteAddon]);\n return (\n <ModalDialog className={styles['addon-details-modal-container']} title={'Stremio addon'} buttons={modalButtons} background={modalBackground} onCloseRequest={onCloseRequest}>\n {\n addonDetails.selected === null ?\n <div className={styles['addon-details-message-container']}>\n Loading addon manifest\n </div>\n :\n addonDetails.remoteAddon === null || addonDetails.remoteAddon.content.type === 'Loading' ?\n <div className={styles['addon-details-message-container']}>\n Loading addon manifest from {addonDetails.selected.transportUrl}\n </div>\n :\n addonDetails.remoteAddon.content.type === 'Err' && addonDetails.localAddon === null ?\n <div className={styles['addon-details-message-container']}>\n Failed to get addon manifest from {addonDetails.selected.transportUrl}\n <div>{addonDetails.remoteAddon.content.content.message}</div>\n </div>\n :\n <AddonDetailsWithRemoteAndLocalAddon\n className={styles['addon-details-container']}\n remoteAddon={addonDetails.remoteAddon}\n localAddon={addonDetails.localAddon}\n />\n }\n </ModalDialog>\n );\n};\n\nAddonDetailsModal.propTypes = {\n transportUrl: PropTypes.string,\n onCloseRequest: PropTypes.func\n};\n\nconst AddonDetailsModalFallback = ({ onCloseRequest }) => (\n <ModalDialog\n className={styles['addon-details-modal-container']}\n title={'Stremio addon'}\n onCloseRequest={onCloseRequest}\n >\n <div className={styles['addon-details-message-container']}>\n Loading addon manifest\n </div>\n </ModalDialog>\n);\n\nAddonDetailsModalFallback.propTypes = AddonDetailsModal.propTypes;\n\nmodule.exports = withCoreSuspender(AddonDetailsModal, AddonDetailsModalFallback);\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst AddonDetailsModal = require('./AddonDetailsModal');\n\nmodule.exports = AddonDetailsModal;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst useModelState = require('stremio/common/useModelState');\n\nconst useAddonDetails = (transportUrl) => {\n const action = React.useMemo(() => {\n if (typeof transportUrl === 'string') {\n return {\n action: 'Load',\n args: {\n model: 'AddonDetails',\n args: {\n transportUrl\n }\n }\n };\n } else {\n return {\n action: 'Unload'\n };\n }\n }, [transportUrl]);\n return useModelState({ model: 'addon_details', action });\n};\n\nmodule.exports = useAddonDetails;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst styles = require('./styles');\nconst { useLongPress } = require('use-long-press');\n\nconst Button = React.forwardRef(({ className, href, disabled, children, onLongPress, onDoubleClick, ...props }, ref) => {\n const longPress = useLongPress(onLongPress, { detect: 'pointer' });\n const onKeyDown = React.useCallback((event) => {\n if (typeof props.onKeyDown === 'function') {\n props.onKeyDown(event);\n }\n\n if (event.key === 'Enter') {\n event.preventDefault();\n if (!event.nativeEvent.buttonClickPrevented) {\n event.currentTarget.click();\n }\n }\n }, [props.onKeyDown]);\n const onMouseDown = React.useCallback((event) => {\n if (typeof props.onMouseDown === 'function') {\n props.onMouseDown(event);\n }\n\n if (!event.nativeEvent.buttonBlurPrevented) {\n event.preventDefault();\n if (document.activeElement instanceof HTMLElement) {\n document.activeElement.blur();\n }\n }\n }, [props.onMouseDown]);\n return React.createElement(\n typeof href === 'string' && href.length > 0 ? 'a' : 'div',\n {\n tabIndex: 0,\n ...props,\n ref,\n className: classnames(className, styles['button-container'], { 'disabled': disabled }),\n href,\n onKeyDown,\n onMouseDown,\n onDoubleClick,\n ...longPress()\n },\n children\n );\n});\n\nButton.displayName = 'Button';\n\nButton.propTypes = {\n className: PropTypes.string,\n href: PropTypes.string,\n disabled: PropTypes.bool,\n children: PropTypes.node,\n onKeyDown: PropTypes.func,\n onMouseDown: PropTypes.func,\n onLongPress: PropTypes.func,\n onDoubleClick: PropTypes.func\n};\n\nmodule.exports = Button;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Button = require('./Button');\n\nmodule.exports = Button;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst CHROMECAST_RECEIVER_APP_ID = '1634F54B';\nconst SUBTITLES_SIZES = [75, 100, 125, 150, 175, 200, 250];\nconst SUBTITLES_FONTS = ['PlusJakartaSans', 'Arial', 'Halvetica', 'Times New Roman', 'Verdana', 'Courier', 'Lucida Console', 'sans-serif', 'serif', 'monospace'];\nconst SEEK_TIME_DURATIONS = [3000, 5000, 10000, 15000, 20000, 30000];\nconst NEXT_VIDEO_POPUP_DURATIONS = [0, 5000, 10000, 15000, 20000, 25000, 30000, 35000, 40000, 45000, 50000, 55000, 60000, 65000, 70000, 75000, 80000, 85000, 90000];\nconst CATALOG_PREVIEW_SIZE = 10;\nconst CATALOG_PAGE_SIZE = 100;\nconst NONE_EXTRA_VALUE = 'None';\nconst SKIP_EXTRA_NAME = 'skip';\nconst META_LINK_CATEGORY = 'meta';\nconst IMDB_LINK_CATEGORY = 'imdb';\nconst SHARE_LINK_CATEGORY = 'share';\nconst WRITERS_LINK_CATEGORY = 'Writers';\nconst TYPE_PRIORITIES = {\n movie: 10,\n series: 9,\n channel: 8,\n tv: 7,\n music: 6,\n radio: 5,\n podcast: 4,\n game: 3,\n book: 2,\n adult: 1,\n other: -Infinity\n};\nconst ICON_FOR_TYPE = new Map([\n ['movie', 'movies'],\n ['series', 'series'],\n ['channel', 'channels'],\n ['tv', 'tv'],\n ['book', 'ic_book'],\n ['game', 'ic_games'],\n ['music', 'ic_music'],\n ['adult', 'ic_adult'],\n ['radio', 'ic_radio'],\n ['podcast', 'ic_podcast'],\n ['other', 'movies'],\n]);\n\nconst EXTERNAL_PLAYERS = [\n {\n label: 'EXTERNAL_PLAYER_DISABLED',\n value: null,\n platforms: ['ios', 'visionos', 'android', 'windows', 'linux', 'macos'],\n },\n {\n label: 'EXTERNAL_PLAYER_ALLOW_CHOOSING',\n value: 'choose',\n platforms: ['android'],\n },\n {\n label: 'VLC',\n value: 'vlc',\n platforms: ['ios', 'visionos', 'android'],\n },\n {\n label: 'MPV',\n value: 'mpv',\n platforms: ['macos'],\n },\n {\n label: 'IINA',\n value: 'iina',\n platforms: ['macos'],\n },\n {\n label: 'MX Player',\n value: 'mxplayer',\n platforms: ['android'],\n },\n {\n label: 'Just Player',\n value: 'justplayer',\n platforms: ['android'],\n },\n {\n label: 'Outplayer',\n value: 'outplayer',\n platforms: ['ios', 'visionos'],\n },\n {\n label: 'Moonplayer (VisionOS)',\n value: 'moonplayer',\n platforms: ['visionos'],\n },\n {\n label: 'M3U Playlist',\n value: 'm3u',\n platforms: ['ios', 'visionos', 'android', 'windows', 'linux', 'macos'],\n },\n];\n\nconst WHITELISTED_HOSTS = ['stremio.com', 'strem.io', 'stremio.zendesk.com', 'google.com', 'youtube.com', 'twitch.tv', 'twitter.com', 'x.com', 'netflix.com', 'adex.network', 'amazon.com', 'forms.gle'];\n\nmodule.exports = {\n CHROMECAST_RECEIVER_APP_ID,\n SUBTITLES_SIZES,\n SUBTITLES_FONTS,\n SEEK_TIME_DURATIONS,\n NEXT_VIDEO_POPUP_DURATIONS,\n CATALOG_PREVIEW_SIZE,\n CATALOG_PAGE_SIZE,\n NONE_EXTRA_VALUE,\n SKIP_EXTRA_NAME,\n META_LINK_CATEGORY,\n IMDB_LINK_CATEGORY,\n SHARE_LINK_CATEGORY,\n WRITERS_LINK_CATEGORY,\n TYPE_PRIORITIES,\n ICON_FOR_TYPE,\n EXTERNAL_PLAYERS,\n WHITELISTED_HOSTS,\n};\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst Button = require('stremio/common/Button');\nconst styles = require('./styles');\n\nconst Checkbox = React.forwardRef(({ className, checked, children, ...props }, ref) => {\n return (\n <Button {...props} ref={ref} className={classnames(className, styles['checkbox-container'], { 'checked': checked })}>\n <div className={styles['toggle']} />\n {children}\n </Button>\n );\n});\n\nCheckbox.displayName = 'Checkbox';\n\nCheckbox.propTypes = {\n className: PropTypes.string,\n checked: PropTypes.bool,\n children: PropTypes.node\n};\n\nmodule.exports = Checkbox;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Checkbox = require('./Checkbox');\n\nmodule.exports = Checkbox;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst AColorPicker = require('a-color-picker');\nconst { useTranslation } = require('react-i18next');\nconst Button = require('stremio/common/Button');\nconst ModalDialog = require('stremio/common/ModalDialog');\nconst useBinaryState = require('stremio/common/useBinaryState');\nconst ColorPicker = require('./ColorPicker');\nconst styles = require('./styles');\n\nconst parseColor = (value) => {\n const color = AColorPicker.parseColor(value, 'hexcss4');\n return typeof color === 'string' ? color : '#ffffffff';\n};\n\nconst ColorInput = ({ className, value, dataset, onChange, ...props }) => {\n const { t } = useTranslation();\n const [modalOpen, openModal, closeModal] = useBinaryState(false);\n const [tempValue, setTempValue] = React.useState(() => {\n return parseColor(value);\n });\n const labelButtonStyle = React.useMemo(() => ({\n backgroundColor: value\n }), [value]);\n const isTransparent = React.useMemo(() => {\n return parseColor(value).endsWith('00');\n }, [value]);\n const labelButtonOnClick = React.useCallback((event) => {\n if (typeof props.onClick === 'function') {\n props.onClick(event);\n }\n\n if (!event.nativeEvent.openModalPrevented) {\n openModal();\n }\n }, [props.onClick]);\n const modalDialogOnClick = React.useCallback((event) => {\n event.nativeEvent.openModalPrevented = true;\n }, []);\n const modalButtons = React.useMemo(() => {\n const selectButtonOnClick = (event) => {\n if (typeof onChange === 'function') {\n onChange({\n type: 'change',\n value: tempValue,\n dataset: dataset,\n reactEvent: event,\n nativeEvent: event.nativeEvent\n });\n }\n\n closeModal();\n };\n return [\n {\n label: 'Select',\n props: {\n 'data-autofocus': true,\n onClick: selectButtonOnClick\n }\n }\n ];\n }, [tempValue, dataset, onChange]);\n const colorPickerOnInput = React.useCallback((event) => {\n setTempValue(parseColor(event.value));\n }, []);\n React.useLayoutEffect(() => {\n setTempValue(parseColor(value));\n }, [value, modalOpen]);\n return (\n <Button title={isTransparent ? t('BUTTON_COLOR_TRANSPARENT') : value} {...props} style={labelButtonStyle} className={classnames(className, styles['color-input-container'])} onClick={labelButtonOnClick}>\n {\n isTransparent ?\n <div className={styles['transparent-label-container']}>\n <div className={styles['transparent-label']}>{ t('BUTTON_COLOR_TRANSPARENT') }</div>\n </div>\n :\n null\n }\n {\n modalOpen ?\n <ModalDialog title={'Choose a color:'} buttons={modalButtons} onCloseRequest={closeModal} onClick={modalDialogOnClick}>\n <ColorPicker className={styles['color-picker-container']} value={tempValue} onInput={colorPickerOnInput} />\n </ModalDialog>\n :\n null\n }\n </Button>\n );\n};\n\nColorInput.propTypes = {\n className: PropTypes.string,\n value: PropTypes.string,\n dataset: PropTypes.object,\n onChange: PropTypes.func,\n onClick: PropTypes.func\n};\n\nmodule.exports = ColorInput;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst AColorPicker = require('a-color-picker');\nconst styles = require('./styles');\n\nconst parseColor = (value) => {\n return AColorPicker.parseColor(value, 'hexcss4');\n};\n\nconst ColorPicker = ({ className, value, onInput }) => {\n const pickerRef = React.useRef(null);\n const pickerElementRef = React.useRef(null);\n React.useLayoutEffect(() => {\n pickerRef.current = AColorPicker.createPicker(pickerElementRef.current, {\n color: parseColor(value),\n showHSL: false,\n showHEX: false,\n showRGB: false,\n showAlpha: true\n });\n const pickerClipboard = pickerElementRef.current.querySelector('.a-color-picker-clipbaord');\n if (pickerClipboard instanceof HTMLElement) {\n pickerClipboard.tabIndex = -1;\n }\n }, []);\n React.useLayoutEffect(() => {\n if (typeof onInput === 'function') {\n pickerRef.current.on('change', (picker, value) => {\n onInput({\n type: 'input',\n value: parseColor(value)\n });\n });\n }\n return () => {\n pickerRef.current.off('change');\n };\n }, [onInput]);\n React.useLayoutEffect(() => {\n const nextValue = parseColor(value);\n if (nextValue !== parseColor(pickerRef.current.color)) {\n pickerRef.current.color = nextValue;\n }\n }, [value]);\n return (\n <div ref={pickerElementRef} className={classnames(className, styles['color-picker-container'])} />\n );\n};\n\nColorPicker.propTypes = {\n className: PropTypes.string,\n value: PropTypes.string,\n onInput: PropTypes.func\n};\n\nmodule.exports = ColorPicker;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst ColorPicker = require('./ColorPicker');\n\nmodule.exports = ColorPicker;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst ColorInput = require('./ColorInput');\n\nmodule.exports = ColorInput;\n\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst { useServices } = require('stremio/services');\nconst LibItem = require('stremio/common/LibItem');\n\nconst ContinueWatchingItem = ({ _id, notifications, deepLinks, ...props }) => {\n const { core } = useServices();\n\n const onClick = React.useCallback(() => {\n if (deepLinks?.metaDetailsVideos ?? deepLinks?.metaDetailsStreams) {\n window.location = deepLinks?.metaDetailsVideos ?? deepLinks?.metaDetailsStreams;\n }\n }, [deepLinks]);\n\n const onPlayClick = React.useCallback((event) => {\n event.stopPropagation();\n if (deepLinks?.player ?? deepLinks?.metaDetailsStreams ?? deepLinks?.metaDetailsVideos) {\n window.location = deepLinks?.player ?? deepLinks?.metaDetailsStreams ?? deepLinks?.metaDetailsVideos;\n }\n }, [deepLinks]);\n\n const onDismissClick = React.useCallback((event) => {\n event.stopPropagation();\n if (typeof _id === 'string') {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'RewindLibraryItem',\n args: _id\n }\n });\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'DismissNotificationItem',\n args: _id\n }\n });\n }\n }, [_id]);\n\n return (\n <LibItem\n {...props}\n _id={_id}\n posterChangeCursor={true}\n notifications={notifications}\n onClick={onClick}\n onPlayClick={onPlayClick}\n onDismissClick={onDismissClick}\n />\n );\n};\n\nContinueWatchingItem.propTypes = {\n _id: PropTypes.string,\n notifications: PropTypes.object,\n deepLinks: PropTypes.shape({\n metaDetailsVideos: PropTypes.string,\n metaDetailsStreams: PropTypes.string,\n player: PropTypes.string\n }),\n};\n\nmodule.exports = ContinueWatchingItem;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst ContineWatchingItem = require('./ContinueWatchingItem');\n\nmodule.exports = ContineWatchingItem;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useServices } = require('stremio/services');\n\nconst CoreSuspenderContext = React.createContext(null);\n\nCoreSuspenderContext.displayName = 'CoreSuspenderContext';\n\nfunction wrapPromise(promise) {\n let status = 'pending';\n let result;\n const suspender = promise.then(\n (resp) => {\n status = 'success';\n result = resp;\n },\n (error) => {\n status = 'error';\n result = error;\n }\n );\n return {\n read() {\n if (status === 'pending') {\n throw suspender;\n } else if (status === 'error') {\n throw result;\n } else if (status === 'success') {\n return result;\n }\n }\n };\n}\n\nconst useCoreSuspender = () => {\n return React.useContext(CoreSuspenderContext);\n};\n\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nconst withCoreSuspender = (Component, Fallback = () => { }) => {\n return function withCoreSuspender(props) {\n const { core } = useServices();\n const parentSuspender = useCoreSuspender();\n const [render, setRender] = React.useState(parentSuspender === null);\n const statesRef = React.useRef({});\n const streamsRef = React.useRef({});\n const getState = React.useCallback((model) => {\n if (!statesRef.current[model]) {\n statesRef.current[model] = wrapPromise(core.transport.getState(model));\n }\n\n return statesRef.current[model].read();\n }, []);\n const decodeStream = React.useCallback((stream) => {\n if (!streamsRef.current[stream]) {\n streamsRef.current[stream] = wrapPromise(core.transport.decodeStream(stream));\n }\n\n return streamsRef.current[stream].read();\n }, []);\n const suspender = React.useMemo(() => ({ getState, decodeStream }), []);\n React.useLayoutEffect(() => {\n if (!render) {\n setRender(true);\n }\n }, []);\n return render ?\n <React.Suspense fallback={<Fallback {...props} />}>\n <CoreSuspenderContext.Provider value={suspender}>\n <Component {...props} />\n </CoreSuspenderContext.Provider>\n </React.Suspense>\n :\n null;\n };\n};\n\nmodule.exports = { withCoreSuspender, useCoreSuspender };\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\n\nconst DelayedRenderer = ({ children, delay }) => {\n const [render, setRender] = React.useState(false);\n React.useEffect(() => {\n const timeout = setTimeout(() => {\n setRender(true);\n }, delay);\n return () => {\n clearTimeout(timeout);\n };\n }, []);\n return render ? children : null;\n};\n\nDelayedRenderer.propTypes = {\n children: PropTypes.node,\n delay: PropTypes.number,\n};\n\nmodule.exports = DelayedRenderer;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst DelayedRenderer = require('./DelayedRenderer');\n\nmodule.exports = DelayedRenderer;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useTranslation } = require('react-i18next');\nconst Button = require('stremio/common/Button');\nconst ModalDialog = require('stremio/common/ModalDialog');\nconst useEvents = require('./useEvents');\nconst styles = require('./styles');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\n\nconst EventModal = () => {\n const { t } = useTranslation();\n\n const { events, pullEvents, dismissEvent } = useEvents();\n\n const modal = React.useMemo(() => {\n return events?.modal?.type === 'Ready' ?\n events.modal.content\n :\n null;\n }, [events]);\n\n const onClose = React.useCallback(() => {\n modal?.id && dismissEvent(modal.id);\n }, [modal]);\n\n React.useEffect(() => {\n pullEvents();\n }, []);\n\n return (\n modal !== null ?\n <ModalDialog className={styles['event-modal']} onCloseRequest={onClose}>\n {\n modal.imageUrl ?\n <img className={styles['image']} src={modal.imageUrl} />\n :\n null\n }\n <div className={styles['info-container']}>\n <div className={styles['title-container']}>\n {\n modal.title ?\n <div className={styles['title']}>{modal.title}</div>\n :\n null\n }\n {\n modal.message ?\n <div className={styles['label']}>{modal.message}</div>\n :\n null\n }\n </div>\n {\n modal?.addon?.name ?\n <div className={styles['addon-container']}>\n <Icon className={styles['icon']} name={'addons'} />\n <div className={styles['name']}>\n { modal.addon.name }\n </div>\n </div>\n :\n null\n }\n {\n modal?.addon?.manifestUrl ?\n <Button className={styles['action-button']} href={`#/addons?addon=${encodeURIComponent(modal.addon.manifestUrl)}`} onClick={onClose}>\n <div className={styles['button-label']}>\n { t('INSTALL_ADDON') }\n </div>\n </Button>\n :\n modal.externalUrl ?\n <Button className={styles['action-button']} href={modal.externalUrl} target={'_blank'}>\n <div className={styles['button-label']}>\n { t('LEARN_MORE') }\n </div>\n </Button>\n :\n null\n }\n </div>\n </ModalDialog>\n :\n null\n );\n};\n\nmodule.exports = EventModal;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst EventModal = require('./EventModal');\n\nmodule.exports = EventModal;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst useModelState = require('stremio/common/useModelState');\nconst { useServices } = require('stremio/services');\n\nconst map = (ctx) => ({\n ...ctx.events,\n});\n\nconst useEvents = () => {\n const { core } = useServices();\n\n const pullEvents = () => {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'GetEvents',\n },\n });\n };\n\n const dismissEvent = (id) => {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'DismissEvent',\n args: id,\n },\n });\n };\n\n const events = useModelState({ model: 'ctx', map });\n return { events, pullEvents, dismissEvent };\n};\n\nmodule.exports = useEvents;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\n\nconst Image = ({ className, src, alt, fallbackSrc, renderFallback, ...props }) => {\n const [broken, setBroken] = React.useState(false);\n const onError = React.useCallback((event) => {\n if (typeof props.onError === 'function') {\n props.onError(event);\n }\n\n setBroken(true);\n }, [props.onError]);\n React.useLayoutEffect(() => {\n setBroken(false);\n }, [src]);\n return (broken || typeof src !== 'string' || src.length === 0) && (typeof renderFallback === 'function' || typeof fallbackSrc === 'string') ?\n typeof renderFallback === 'function' ?\n renderFallback()\n :\n <img {...props} className={className} src={fallbackSrc} alt={alt} loading='lazy'/>\n :\n <img {...props} className={className} src={src} alt={alt} loading='lazy' onError={onError} />;\n};\n\nImage.propTypes = {\n className: PropTypes.string,\n src: PropTypes.string,\n alt: PropTypes.string,\n fallbackSrc: PropTypes.string,\n renderFallback: PropTypes.func,\n onError: PropTypes.func\n};\n\nmodule.exports = Image;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Image = require('./Image');\n\nmodule.exports = Image;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useServices } = require('stremio/services');\nconst PropTypes = require('prop-types');\nconst MetaItem = require('stremio/common/MetaItem');\nconst { t } = require('i18next');\n\nconst LibItem = ({ _id, removable, notifications, watched, ...props }) => {\n\n const { core } = useServices();\n\n const newVideos = React.useMemo(() => {\n const count = notifications.items?.[_id]?.length ?? 0;\n return Math.min(Math.max(count, 0), 99);\n }, [_id, notifications]);\n\n const options = React.useMemo(() => {\n return [\n { label: 'LIBRARY_PLAY', value: 'play' },\n { label: 'LIBRARY_DETAILS', value: 'details' },\n { label: 'LIBRARY_RESUME_DISMISS', value: 'dismiss' },\n { label: watched ? 'CTX_MARK_UNWATCHED' : 'CTX_MARK_WATCHED', value: 'watched' },\n { label: 'LIBRARY_REMOVE', value: 'remove' },\n ].filter(({ value }) => {\n switch (value) {\n case 'play':\n return props.deepLinks && typeof props.deepLinks.player === 'string';\n case 'details':\n return props.deepLinks && (typeof props.deepLinks.metaDetailsVideos === 'string' || typeof props.deepLinks.metaDetailsStreams === 'string');\n case 'watched':\n return props.deepLinks && (typeof props.deepLinks.metaDetailsVideos === 'string' || typeof props.deepLinks.metaDetailsStreams === 'string');\n case 'dismiss':\n return typeof _id === 'string' && props.progress !== null && !isNaN(props.progress) && props.progress > 0;\n case 'remove':\n return typeof _id === 'string' && removable;\n }\n }).map((option) => ({\n ...option,\n label: t(option.label)\n }));\n }, [_id, removable, props.progress, props.deepLinks, watched]);\n\n const optionOnSelect = React.useCallback((event) => {\n if (typeof props.optionOnSelect === 'function') {\n props.optionOnSelect(event);\n }\n\n if (!event.nativeEvent.optionSelectPrevented) {\n switch (event.value) {\n case 'play': {\n if (props.deepLinks && typeof props.deepLinks.player === 'string') {\n window.location = props.deepLinks.player;\n }\n\n break;\n }\n case 'details': {\n if (props.deepLinks) {\n if (typeof props.deepLinks.metaDetailsVideos === 'string') {\n window.location = props.deepLinks.metaDetailsVideos;\n } else if (typeof props.deepLinks.metaDetailsStreams === 'string') {\n window.location = props.deepLinks.metaDetailsStreams;\n }\n }\n\n break;\n }\n case 'watched': {\n if (typeof _id === 'string') {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'LibraryItemMarkAsWatched',\n args: {\n id: _id,\n is_watched: !watched\n }\n }\n });\n }\n\n break;\n }\n case 'dismiss': {\n if (typeof _id === 'string') {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'RewindLibraryItem',\n args: _id\n }\n });\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'DismissNotificationItem',\n args: _id\n }\n });\n }\n\n break;\n }\n case 'remove': {\n if (typeof _id === 'string') {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'RemoveFromLibrary',\n args: _id\n }\n });\n }\n\n break;\n }\n }\n }\n }, [_id, props.deepLinks, props.optionOnSelect]);\n\n return (\n <MetaItem\n {...props}\n watched={watched}\n newVideos={newVideos}\n options={options}\n optionOnSelect={optionOnSelect}\n />\n );\n};\n\nLibItem.propTypes = {\n _id: PropTypes.string,\n removable: PropTypes.bool,\n progress: PropTypes.number,\n notifications: PropTypes.object,\n watched: PropTypes.bool,\n deepLinks: PropTypes.shape({\n metaDetailsVideos: PropTypes.string,\n metaDetailsStreams: PropTypes.string,\n player: PropTypes.string\n }),\n optionOnSelect: PropTypes.func\n};\n\nmodule.exports = LibItem;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst LibItem = require('./LibItem');\n\nmodule.exports = LibItem;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { VerticalNavBar, HorizontalNavBar } = require('stremio/common/NavBar');\nconst styles = require('./styles');\n\nconst TABS = [\n { id: 'board', label: 'Board', icon: 'home', href: '#/' },\n { id: 'discover', label: 'Discover', icon: 'discover', href: '#/discover' },\n { id: 'library', label: 'Library', icon: 'library', href: '#/library' },\n { id: 'addons', label: 'ADDONS', icon: 'addons', href: '#/addons' },\n { id: 'settings', label: 'SETTINGS', icon: 'settings', href: '#/settings' },\n];\n\nconst MainNavBars = React.memo(({ className, route, query, children }) => {\n return (\n <div className={classnames(className, styles['main-nav-bars-container'])}>\n <HorizontalNavBar\n className={styles['horizontal-nav-bar']}\n route={route}\n query={query}\n backButton={false}\n searchBar={true}\n addonsButton={true}\n fullscreenButton={true}\n navMenu={true}\n />\n <VerticalNavBar\n className={styles['vertical-nav-bar']}\n selected={route}\n tabs={TABS}\n />\n <div className={styles['nav-content-container']}>{children}</div>\n </div>\n );\n});\n\nMainNavBars.displayName = 'MainNavBars';\n\nMainNavBars.propTypes = {\n className: PropTypes.string,\n route: PropTypes.string,\n query: PropTypes.string,\n children: PropTypes.node\n};\n\nmodule.exports = MainNavBars;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst MainNavBars = require('./MainNavBars');\n\nmodule.exports = MainNavBars;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { useTranslation } = require('react-i18next');\nconst filterInvalidDOMProps = require('filter-invalid-dom-props').default;\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst Button = require('stremio/common/Button');\nconst Image = require('stremio/common/Image');\nconst Multiselect = require('stremio/common/Multiselect');\nconst useBinaryState = require('stremio/common/useBinaryState');\nconst { ICON_FOR_TYPE } = require('stremio/common/CONSTANTS');\nconst styles = require('./styles');\n\nconst MetaItem = React.memo(({ className, type, name, poster, posterShape, posterChangeCursor, progress, newVideos, options, deepLinks, dataset, optionOnSelect, onDismissClick, onPlayClick, watched, ...props }) => {\n const { t } = useTranslation();\n const [menuOpen, onMenuOpen, onMenuClose] = useBinaryState(false);\n const href = React.useMemo(() => {\n return deepLinks ?\n typeof deepLinks.player === 'string' ?\n deepLinks.player\n :\n typeof deepLinks.metaDetailsStreams === 'string' ?\n deepLinks.metaDetailsStreams\n :\n typeof deepLinks.metaDetailsVideos === 'string' ?\n deepLinks.metaDetailsVideos\n :\n null\n :\n null;\n }, [deepLinks]);\n const metaItemOnClick = React.useCallback((event) => {\n if (event.nativeEvent.selectPrevented) {\n event.preventDefault();\n } else if (typeof props.onClick === 'function') {\n props.onClick(event);\n }\n }, [props.onClick]);\n const menuOnClick = React.useCallback((event) => {\n event.nativeEvent.selectPrevented = true;\n }, []);\n const menuOnSelect = React.useCallback((event) => {\n if (typeof optionOnSelect === 'function') {\n optionOnSelect({\n type: 'select-option',\n value: event.value,\n dataset: dataset,\n reactEvent: event.reactEvent,\n nativeEvent: event.nativeEvent\n });\n }\n }, [dataset, optionOnSelect]);\n const renderPosterFallback = React.useCallback(() => (\n <Icon\n className={styles['placeholder-icon']}\n name={ICON_FOR_TYPE.has(type) ? ICON_FOR_TYPE.get(type) : ICON_FOR_TYPE.get('other')}\n />\n ), [type]);\n const renderMenuLabelContent = React.useCallback(() => (\n <Icon className={styles['icon']} name={'more-vertical'} />\n ), []);\n return (\n <Button title={name} href={href} {...filterInvalidDOMProps(props)} className={classnames(className, styles['meta-item-container'], styles['poster-shape-poster'], styles[`poster-shape-${posterShape}`], { 'active': menuOpen })} onClick={metaItemOnClick}>\n <div className={classnames(styles['poster-container'], { 'poster-change-cursor': posterChangeCursor })}>\n {\n onDismissClick ?\n <div title={t('LIBRARY_RESUME_DISMISS')} className={styles['dismiss-icon-layer']} onClick={onDismissClick}>\n <Icon className={styles['dismiss-icon']} name={'close'} />\n <div className={styles['dismiss-icon-backdrop']} />\n </div>\n :\n null\n }\n {\n watched ?\n <div className={styles['watched-icon-layer']}>\n <Icon className={styles['watched-icon']} name={'checkmark'} />\n </div>\n :\n null\n }\n <div className={styles['poster-image-layer']}>\n <Image\n className={styles['poster-image']}\n src={poster}\n alt={' '}\n renderFallback={renderPosterFallback}\n />\n </div>\n {\n onPlayClick ?\n <div title={t('CONTINUE_WATCHING')} className={styles['play-icon-layer']} onClick={onPlayClick}>\n <Icon className={styles['play-icon']} name={'play'} />\n <div className={styles['play-icon-outer']} />\n <div className={styles['play-icon-background']} />\n </div>\n :\n null\n }\n {\n progress > 0 ?\n <div className={styles['progress-bar-layer']}>\n <div className={styles['progress-bar']} style={{ width: `${progress}%` }} />\n <div className={styles['progress-bar-background']} />\n </div>\n :\n null\n }\n {\n newVideos > 0 ?\n <div className={styles['new-videos']}>\n <div className={styles['layer']} />\n <div className={styles['layer']} />\n <div className={styles['layer']}>\n <Icon className={styles['icon']} name={'add'} />\n <div className={styles['label']}>\n {newVideos}\n </div>\n </div>\n </div>\n :\n null\n }\n </div>\n {\n (typeof name === 'string' && name.length > 0) || (Array.isArray(options) && options.length > 0) ?\n <div className={styles['title-bar-container']}>\n <div className={styles['title-label']}>\n {typeof name === 'string' && name.length > 0 ? name : ''}\n </div>\n {\n Array.isArray(options) && options.length > 0 ?\n <Multiselect\n className={styles['menu-label-container']}\n renderLabelContent={renderMenuLabelContent}\n options={options}\n onOpen={onMenuOpen}\n onClose={onMenuClose}\n onSelect={menuOnSelect}\n tabIndex={-1}\n onClick={menuOnClick}\n />\n :\n null\n }\n </div>\n :\n null\n }\n </Button>\n );\n});\n\nMetaItem.displayName = 'MetaItem';\n\nMetaItem.propTypes = {\n className: PropTypes.string,\n type: PropTypes.string,\n name: PropTypes.string,\n poster: PropTypes.string,\n posterShape: PropTypes.oneOf(['poster', 'landscape', 'square']),\n posterChangeCursor: PropTypes.bool,\n progress: PropTypes.number,\n newVideos: PropTypes.number,\n options: PropTypes.array,\n deepLinks: PropTypes.shape({\n metaDetailsVideos: PropTypes.string,\n metaDetailsStreams: PropTypes.string,\n player: PropTypes.string\n }),\n dataset: PropTypes.object,\n optionOnSelect: PropTypes.func,\n onDismissClick: PropTypes.func,\n onPlayClick: PropTypes.func,\n onClick: PropTypes.func,\n watched: PropTypes.bool\n};\n\nmodule.exports = MetaItem;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst MetaItem = require('./MetaItem');\n\nmodule.exports = MetaItem;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst Button = require('stremio/common/Button');\nconst styles = require('./styles');\nconst { Tooltip } = require('stremio/common/Tooltips');\n\nconst ActionButton = ({ className, icon, label, tooltip, ...props }) => {\n return (\n <Button title={tooltip ? '' : label} {...props} className={classnames(className, styles['action-button-container'], { 'wide': typeof label === 'string' && !tooltip })}>\n {\n tooltip === true ?\n <Tooltip label={label} position={'top'} />\n :\n null\n }\n {\n typeof icon === 'string' && icon.length > 0 ?\n <div className={styles['icon-container']}>\n <Icon className={styles['icon']} name={icon} />\n </div>\n :\n null\n }\n {\n !tooltip && typeof label === 'string' && label.length > 0 ?\n <div className={styles['label-container']}>\n <div className={styles['label']}>{label}</div>\n </div>\n :\n null\n }\n </Button>\n );\n};\n\nActionButton.propTypes = {\n className: PropTypes.string,\n icon: PropTypes.string,\n label: PropTypes.string,\n tooltip: PropTypes.bool\n};\n\nmodule.exports = ActionButton;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst ActionButton = require('./ActionButton');\n\nmodule.exports = ActionButton;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { useTranslation } = require('react-i18next');\nconst Button = require('stremio/common/Button');\nconst styles = require('./styles');\n\nconst MetaLinks = ({ className, label, links }) => {\n const { t } = useTranslation();\n return (\n <div className={classnames(className, styles['meta-links-container'])}>\n {\n typeof label === 'string' && label.length > 0 ?\n <div className={styles['label-container']}>\n {t(`LINKS_${label.toUpperCase()}`)}\n </div>\n :\n null\n }\n {\n Array.isArray(links) && links.length > 0 ?\n <div className={styles['links-container']}>\n {links.map(({ label, href }, index) => (\n <Button key={index} className={styles['link-container']} title={label} href={href}>\n { t(label) }\n </Button>\n ))}\n </div>\n :\n null\n }\n </div>\n );\n};\n\nMetaLinks.propTypes = {\n className: PropTypes.string,\n label: PropTypes.string,\n links: PropTypes.arrayOf(PropTypes.shape({\n label: PropTypes.string,\n href: PropTypes.string\n }))\n};\n\nmodule.exports = MetaLinks;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst MetaLinks = require('./MetaLinks');\n\nmodule.exports = MetaLinks;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst UrlUtils = require('url');\nconst { useTranslation } = require('react-i18next');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst Button = require('stremio/common/Button');\nconst Image = require('stremio/common/Image');\nconst ModalDialog = require('stremio/common/ModalDialog');\nconst SharePrompt = require('stremio/common/SharePrompt');\nconst CONSTANTS = require('stremio/common/CONSTANTS');\nconst routesRegexp = require('stremio/common/routesRegexp');\nconst useBinaryState = require('stremio/common/useBinaryState');\nconst ActionButton = require('./ActionButton');\nconst MetaLinks = require('./MetaLinks');\nconst MetaPreviewPlaceholder = require('./MetaPreviewPlaceholder');\nconst styles = require('./styles');\n\nconst ALLOWED_LINK_REDIRECTS = [\n routesRegexp.search.regexp,\n routesRegexp.discover.regexp,\n routesRegexp.metadetails.regexp\n];\n\nconst MetaPreview = ({ className, compact, name, logo, background, runtime, releaseInfo, released, description, deepLinks, links, trailerStreams, inLibrary, toggleInLibrary }) => {\n const { t } = useTranslation();\n const [shareModalOpen, openShareModal, closeShareModal] = useBinaryState(false);\n const linksGroups = React.useMemo(() => {\n return Array.isArray(links) ?\n links\n .filter((link) => link && typeof link.category === 'string' && typeof link.url === 'string')\n .reduce((linksGroups, { category, name, url }) => {\n const { protocol, path, pathname, hostname } = UrlUtils.parse(url);\n if (category === CONSTANTS.IMDB_LINK_CATEGORY) {\n if (hostname === 'imdb.com') {\n linksGroups.set(category, {\n label: name,\n href: `https://www.stremio.com/warning#${encodeURIComponent(url)}`\n });\n }\n } else if (category === CONSTANTS.SHARE_LINK_CATEGORY) {\n linksGroups.set(category, {\n label: name,\n href: url\n });\n } else {\n if (protocol === 'stremio:') {\n if (pathname !== null && ALLOWED_LINK_REDIRECTS.some((regexp) => pathname.match(regexp))) {\n if (!linksGroups.has(category)) {\n linksGroups.set(category, []);\n }\n linksGroups.get(category).push({\n label: name,\n href: `#${path}`\n });\n }\n } else if (typeof hostname === 'string' && hostname.length > 0) {\n if (!linksGroups.has(category)) {\n linksGroups.set(category, []);\n }\n linksGroups.get(category).push({\n label: name,\n href: `https://www.stremio.com/warning#${encodeURIComponent(url)}`\n });\n }\n }\n\n return linksGroups;\n }, new Map())\n :\n new Map();\n }, [links]);\n const showHref = React.useMemo(() => {\n return deepLinks ?\n typeof deepLinks.player === 'string' ?\n deepLinks.player\n :\n typeof deepLinks.metaDetailsStreams === 'string' ?\n deepLinks.metaDetailsStreams\n :\n typeof deepLinks.metaDetailsVideos === 'string' ?\n deepLinks.metaDetailsVideos\n :\n null\n :\n null;\n }, [deepLinks]);\n const trailerHref = React.useMemo(() => {\n if (!Array.isArray(trailerStreams) || trailerStreams.length === 0) {\n return null;\n }\n\n return trailerStreams[0].deepLinks.player;\n }, [trailerStreams]);\n const renderLogoFallback = React.useCallback(() => (\n <div className={styles['logo-placeholder']}>{name}</div>\n ), [name]);\n return (\n <div className={classnames(className, styles['meta-preview-container'], { [styles['compact']]: compact })}>\n {\n typeof background === 'string' && background.length > 0 ?\n <div className={styles['background-image-layer']}>\n <Image className={styles['background-image']} src={background} alt={' '} />\n </div>\n :\n null\n }\n <div className={styles['meta-info-container']}>\n {\n typeof logo === 'string' && logo.length > 0 ?\n <Image\n className={styles['logo']}\n src={logo}\n alt={' '}\n title={name}\n renderFallback={renderLogoFallback}\n />\n :\n renderLogoFallback()\n }\n {\n (typeof releaseInfo === 'string' && releaseInfo.length > 0) || (released instanceof Date && !isNaN(released.getTime())) || (typeof runtime === 'string' && runtime.length > 0) || linksGroups.has(CONSTANTS.IMDB_LINK_CATEGORY) ?\n <div className={styles['runtime-release-info-container']}>\n {\n typeof runtime === 'string' && runtime.length > 0 ?\n <div className={styles['runtime-label']}>{runtime}</div>\n :\n null\n }\n {\n typeof releaseInfo === 'string' && releaseInfo.length > 0 ?\n <div className={styles['release-info-label']}>{releaseInfo}</div>\n :\n released instanceof Date && !isNaN(released.getTime()) ?\n <div className={styles['release-info-label']}>{released.getFullYear()}</div>\n :\n null\n }\n {\n linksGroups.has(CONSTANTS.IMDB_LINK_CATEGORY) ?\n <Button\n className={styles['imdb-button-container']}\n title={linksGroups.get(CONSTANTS.IMDB_LINK_CATEGORY).label}\n href={linksGroups.get(CONSTANTS.IMDB_LINK_CATEGORY).href}\n target={'_blank'}\n {...(compact ? { tabIndex: -1 } : null)}\n >\n <div className={styles['label']}>{linksGroups.get(CONSTANTS.IMDB_LINK_CATEGORY).label}</div>\n <Icon className={styles['icon']} name={'imdb'} />\n </Button>\n :\n null\n }\n </div>\n :\n null\n }\n {\n compact && typeof description === 'string' && description.length > 0 ?\n <div className={styles['description-container']}>\n {description}\n </div>\n :\n null\n }\n {\n Array.from(linksGroups.keys())\n .filter((category) => {\n return category !== CONSTANTS.IMDB_LINK_CATEGORY &&\n category !== CONSTANTS.SHARE_LINK_CATEGORY &&\n category !== CONSTANTS.WRITERS_LINK_CATEGORY;\n })\n .map((category, index) => (\n <MetaLinks\n key={index}\n className={styles['meta-links']}\n label={category}\n links={linksGroups.get(category)}\n />\n ))\n }\n {\n !compact && typeof description === 'string' && description.length > 0 ?\n <div className={styles['description-container']}>\n <div className={styles['label-container']}>\n {t('SUMMARY')}\n </div>\n {description}\n </div>\n :\n null\n }\n </div>\n <div className={styles['action-buttons-container']}>\n {\n typeof toggleInLibrary === 'function' ?\n <ActionButton\n className={styles['action-button']}\n icon={inLibrary ? 'remove-from-library' : 'add-to-library'}\n label={inLibrary ? t('REMOVE_FROM_LIB') : t('ADD_TO_LIB')}\n tooltip={compact}\n tabIndex={compact ? -1 : 0}\n onClick={toggleInLibrary}\n />\n :\n null\n }\n {\n typeof trailerHref === 'string' ?\n <ActionButton\n className={styles['action-button']}\n icon={'trailer'}\n label={t('TRAILER')}\n tabIndex={compact ? -1 : 0}\n href={trailerHref}\n tooltip={compact}\n />\n :\n null\n }\n {\n typeof showHref === 'string' && compact ?\n <ActionButton\n className={classnames(styles['action-button'], styles['show-button'])}\n icon={'play'}\n label={t('SHOW')}\n tabIndex={compact ? -1 : 0}\n href={showHref}\n />\n :\n null\n }\n {\n linksGroups.has(CONSTANTS.SHARE_LINK_CATEGORY) && !compact ?\n <React.Fragment>\n <ActionButton\n className={styles['action-button']}\n icon={'share'}\n label={t('CTX_SHARE')}\n tooltip={true}\n tabIndex={compact ? -1 : 0}\n onClick={openShareModal}\n />\n {\n shareModalOpen ?\n <ModalDialog title={t('CTX_SHARE')} onCloseRequest={closeShareModal}>\n <SharePrompt\n className={styles['share-prompt']}\n url={linksGroups.get(CONSTANTS.SHARE_LINK_CATEGORY).href}\n />\n </ModalDialog>\n :\n null\n }\n </React.Fragment>\n :\n null\n }\n </div>\n </div>\n );\n};\n\nMetaPreview.Placeholder = MetaPreviewPlaceholder;\n\nMetaPreview.propTypes = {\n className: PropTypes.string,\n compact: PropTypes.bool,\n name: PropTypes.string,\n logo: PropTypes.string,\n background: PropTypes.string,\n runtime: PropTypes.string,\n releaseInfo: PropTypes.string,\n released: PropTypes.instanceOf(Date),\n description: PropTypes.string,\n deepLinks: PropTypes.shape({\n metaDetailsVideos: PropTypes.string,\n metaDetailsStreams: PropTypes.string,\n player: PropTypes.string\n }),\n links: PropTypes.arrayOf(PropTypes.shape({\n category: PropTypes.string,\n name: PropTypes.string,\n url: PropTypes.string\n })),\n trailerStreams: PropTypes.array,\n inLibrary: PropTypes.bool,\n toggleInLibrary: PropTypes.func\n};\n\nmodule.exports = MetaPreview;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst styles = require('./styles');\n\nconst MetaPreviewPlaceholder = ({ className }) => {\n return (\n <div className={classnames(className, styles['meta-preview-placeholder-container'])}>\n <div className={styles['meta-info-container']}>\n <div className={styles['logo-container']} />\n <div className={styles['duration-release-info-container']}>\n <div className={styles['duration-container']} />\n <div className={styles['release-info-container']} />\n </div>\n <div className={styles['genres-container']}>\n <div className={styles['genres-header-container']} />\n <div className={styles['genre-label-container']} />\n </div>\n <div className={styles['genres-container']}>\n <div className={styles['genres-header-container']} />\n <div className={styles['genre-label-container']} />\n </div>\n <div className={styles['genres-container']}>\n <div className={styles['genres-header-container']} />\n <div className={styles['genre-label-container']} />\n </div>\n </div>\n <div className={styles['action-buttons-container']} />\n </div>\n );\n};\n\nMetaPreviewPlaceholder.propTypes = {\n className: PropTypes.string\n};\n\nmodule.exports = MetaPreviewPlaceholder;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst MetaPreviewPlaceholder = require('./MetaPreviewPlaceholder');\n\nmodule.exports = MetaPreviewPlaceholder;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst MetaPreview = require('./MetaPreview');\n\nmodule.exports = MetaPreview;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst ReactIs = require('react-is');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst Button = require('stremio/common/Button');\nconst CONSTANTS = require('stremio/common/CONSTANTS');\nconst useTranslate = require('stremio/common/useTranslate');\nconst MetaRowPlaceholder = require('./MetaRowPlaceholder');\nconst styles = require('./styles');\n\nconst MetaRow = ({ className, title, catalog, message, itemComponent, notifications }) => {\n const t = useTranslate();\n\n const catalogTitle = React.useMemo(() => {\n return title ?? t.catalogTitle(catalog);\n }, [title, catalog, t.catalogTitle]);\n\n const items = React.useMemo(() => {\n return catalog?.items ?? catalog?.content?.content;\n }, [catalog]);\n\n const href = React.useMemo(() => {\n return catalog?.deepLinks?.discover ?? catalog?.deepLinks?.library;\n }, [catalog]);\n\n return (\n <div className={classnames(className, styles['meta-row-container'])}>\n <div className={styles['header-container']}>\n {\n typeof catalogTitle === 'string' && catalogTitle.length > 0 ?\n <div className={styles['title-container']} title={catalogTitle}>{catalogTitle}</div>\n :\n null\n }\n {\n href ?\n <Button className={styles['see-all-container']} title={t.string('BUTTON_SEE_ALL')} href={href} tabIndex={-1}>\n <div className={styles['label']}>{ t.string('BUTTON_SEE_ALL') }</div>\n <Icon className={styles['icon']} name={'chevron-forward'} />\n </Button>\n :\n null\n }\n </div>\n {\n typeof message === 'string' && message.length > 0 ?\n <div className={styles['message-container']} title={message}>{message}</div>\n :\n <div className={styles['meta-items-container']}>\n {\n ReactIs.isValidElementType(itemComponent) ?\n items.slice(0, CONSTANTS.CATALOG_PREVIEW_SIZE).map((item, index) => {\n return React.createElement(itemComponent, {\n ...item,\n key: index,\n className: classnames(styles['meta-item'], styles['poster-shape-poster'], styles[`poster-shape-${item.posterShape}`]),\n notifications,\n });\n })\n :\n null\n }\n {Array(Math.max(0, CONSTANTS.CATALOG_PREVIEW_SIZE - items.length)).fill(null).map((_, index) => (\n <div key={index} className={classnames(styles['meta-item'], styles['poster-shape-poster'])} />\n ))}\n </div>\n }\n </div>\n );\n};\n\nMetaRow.Placeholder = MetaRowPlaceholder;\n\nMetaRow.propTypes = {\n className: PropTypes.string,\n title: PropTypes.string,\n message: PropTypes.string,\n catalog: PropTypes.shape({\n id: PropTypes.string,\n name: PropTypes.string,\n type: PropTypes.string,\n addon: PropTypes.shape({\n manifest: PropTypes.shape({\n id: PropTypes.string,\n name: PropTypes.string,\n }),\n }),\n content: PropTypes.shape({\n content: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.shape({\n posterShape: PropTypes.string,\n })),\n ]),\n }),\n items: PropTypes.arrayOf(PropTypes.shape({\n posterShape: PropTypes.string,\n })),\n deepLinks: PropTypes.shape({\n discover: PropTypes.string,\n library: PropTypes.string,\n }),\n }),\n itemComponent: PropTypes.elementType,\n notifications: PropTypes.object,\n};\n\nmodule.exports = MetaRow;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { useTranslation } = require('react-i18next');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst Button = require('stremio/common/Button');\nconst CONSTANTS = require('stremio/common/CONSTANTS');\nconst styles = require('./styles');\n\nconst MetaRowPlaceholder = ({ className, title, deepLinks }) => {\n const { t } = useTranslation();\n return (\n <div className={classnames(className, styles['meta-row-placeholder-container'])}>\n <div className={styles['header-container']}>\n <div className={styles['title-container']} title={typeof title === 'string' && title.length > 0 ? title : null}>\n {typeof title === 'string' && title.length > 0 ? title : null}\n </div>\n {\n deepLinks && typeof deepLinks.discover === 'string' ?\n <Button className={styles['see-all-container']} title={t('BUTTON_SEE_ALL')} href={deepLinks.discover} tabIndex={-1}>\n <div className={styles['label']}>{ t('BUTTON_SEE_ALL') }</div>\n <Icon className={styles['icon']} name={'chevron-forward'} />\n </Button>\n :\n null\n }\n </div>\n <div className={styles['meta-items-container']}>\n {Array(CONSTANTS.CATALOG_PREVIEW_SIZE).fill(null).map((_, index) => (\n <div key={index} className={styles['meta-item']}>\n <div className={styles['poster-container']} />\n <div className={styles['title-bar-container']}>\n <div className={styles['title-label']} />\n </div>\n </div>\n ))}\n </div>\n </div>\n );\n};\n\nMetaRowPlaceholder.propTypes = {\n className: PropTypes.string,\n title: PropTypes.string,\n deepLinks: PropTypes.shape({\n discover: PropTypes.string\n })\n};\n\nmodule.exports = MetaRowPlaceholder;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst MetaRowPlaceholder = require('./MetaRowPlaceholder');\n\nmodule.exports = MetaRowPlaceholder;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst MetaRow = require('./MetaRow');\n\nmodule.exports = MetaRow;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { useRouteFocused, useModalsContainer } = require('stremio-router');\nconst Button = require('stremio/common/Button');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { Modal } = require('stremio-router');\nconst styles = require('./styles');\n\nconst ModalDialog = ({ className, title, buttons, children, dataset, onCloseRequest, background, ...props }) => {\n const routeFocused = useRouteFocused();\n const modalsContainer = useModalsContainer();\n const modalContainerRef = React.useRef(null);\n const closeButtonOnClick = React.useCallback((event) => {\n if (typeof onCloseRequest === 'function') {\n onCloseRequest({\n type: 'close',\n dataset: dataset,\n reactEvent: event,\n nativeEvent: event.nativeEvent\n });\n }\n }, [dataset, onCloseRequest]);\n const onModalContainerMouseDown = React.useCallback((event) => {\n if (!event.nativeEvent.closeModalDialogPrevented && typeof onCloseRequest === 'function') {\n onCloseRequest({\n type: 'close',\n dataset: dataset,\n reactEvent: event,\n nativeEvent: event.nativeEvent\n });\n }\n }, [dataset, onCloseRequest]);\n const onModalDialogContainerMouseDown = React.useCallback((event) => {\n event.nativeEvent.closeModalDialogPrevented = true;\n }, []);\n React.useEffect(() => {\n const onKeyDown = (event) => {\n // its `-2` because focus lock render locking divs around its content\n if (event.code === 'Escape' && modalsContainer.childNodes[modalsContainer.childElementCount - 2] === modalContainerRef.current) {\n if (typeof onCloseRequest === 'function') {\n onCloseRequest({\n type: 'close',\n dataset: dataset,\n nativeEvent: event\n });\n }\n }\n };\n if (routeFocused) {\n window.addEventListener('keydown', onKeyDown);\n }\n return () => {\n window.removeEventListener('keydown', onKeyDown);\n };\n }, [routeFocused, dataset, onCloseRequest]);\n return (\n <Modal ref={modalContainerRef} {...props} className={classnames(className, styles['modal-container'])} onMouseDown={onModalContainerMouseDown}>\n <div className={styles['modal-dialog-container']} onMouseDown={onModalDialogContainerMouseDown}>\n <div className={styles['modal-dialog-background']} style={{backgroundImage: `url('${background}')`}} />\n <Button className={styles['close-button-container']} title={'Close'} onClick={closeButtonOnClick}>\n <Icon className={styles['icon']} name={'close'} />\n </Button>\n <div className={styles['modal-dialog-content']}>\n {\n typeof title === 'string' && title.length > 0 ?\n <div className={styles['title-container']} title={title}>{title}</div>\n :\n null\n }\n <div className={styles['body-container']}>\n {children}\n </div>\n {\n Array.isArray(buttons) && buttons.length > 0 ?\n <div className={styles['buttons-container']}>\n {buttons.map(({ className, label, icon, props }, index) => (\n <Button title={label} {...props} key={index} className={classnames(className, styles['action-button'])}>\n {\n typeof icon === 'string' && icon.length > 0 ?\n <Icon className={styles['icon']} name={icon} />\n :\n null\n }\n {\n typeof label === 'string' && label.length > 0 ?\n <div className={styles['label']}>{label}</div>\n :\n null\n }\n </Button>\n ))}\n </div>\n :\n null\n }\n </div>\n </div>\n </Modal>\n );\n};\n\nModalDialog.propTypes = {\n className: PropTypes.string,\n title: PropTypes.string,\n background: PropTypes.string,\n buttons: PropTypes.arrayOf(PropTypes.shape({\n className: PropTypes.string,\n label: PropTypes.string,\n icon: PropTypes.string,\n props: PropTypes.object\n })),\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node\n ]),\n dataset: PropTypes.object,\n onCloseRequest: PropTypes.func\n};\n\nmodule.exports = ModalDialog;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst ModalDialog = require('./ModalDialog');\n\nmodule.exports = ModalDialog;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst Button = require('stremio/common/Button');\nconst Popup = require('stremio/common/Popup');\nconst ModalDialog = require('stremio/common/ModalDialog');\nconst useBinaryState = require('stremio/common/useBinaryState');\nconst styles = require('./styles');\n\nconst Multiselect = ({ className, mode, direction, title, disabled, dataset, renderLabelContent, renderLabelText, onOpen, onClose, onSelect, ...props }) => {\n const [menuOpen, , closeMenu, toggleMenu] = useBinaryState(false);\n const options = React.useMemo(() => {\n return Array.isArray(props.options) ?\n props.options.filter((option) => {\n return option && (typeof option.value === 'string' || option.value === null);\n })\n :\n [];\n }, [props.options]);\n const selected = React.useMemo(() => {\n return Array.isArray(props.selected) ?\n props.selected.filter((value) => {\n return typeof value === 'string' || value === null;\n })\n :\n [];\n }, [props.selected]);\n const labelOnClick = React.useCallback((event) => {\n if (typeof props.onClick === 'function') {\n props.onClick(event);\n }\n\n if (!event.nativeEvent.toggleMenuPrevented) {\n toggleMenu();\n }\n }, [props.onClick, toggleMenu]);\n const menuOnClick = React.useCallback((event) => {\n event.nativeEvent.toggleMenuPrevented = true;\n }, []);\n const menuOnKeyDown = React.useCallback((event) => {\n event.nativeEvent.buttonClickPrevented = true;\n }, []);\n const optionOnClick = React.useCallback((event) => {\n if (typeof onSelect === 'function') {\n onSelect({\n type: 'select',\n value: event.currentTarget.dataset.value,\n reactEvent: event,\n nativeEvent: event.nativeEvent,\n dataset: dataset\n });\n }\n\n if (!event.nativeEvent.closeMenuPrevented) {\n closeMenu();\n }\n }, [dataset, onSelect]);\n const mountedRef = React.useRef(false);\n React.useLayoutEffect(() => {\n if (mountedRef.current) {\n if (menuOpen) {\n if (typeof onOpen === 'function') {\n onOpen({\n type: 'open',\n dataset: dataset\n });\n }\n } else {\n if (typeof onClose === 'function') {\n onClose({\n type: 'close',\n dataset: dataset\n });\n }\n }\n }\n\n mountedRef.current = true;\n }, [menuOpen]);\n const renderLabel = React.useCallback(({ children, className, ...props }) => (\n <Button {...props} className={classnames(className, styles['label-container'], { 'active': menuOpen })} title={title} disabled={disabled} onClick={labelOnClick}>\n {\n typeof renderLabelContent === 'function' ?\n renderLabelContent()\n :\n <React.Fragment>\n <div className={styles['label']}>\n {\n typeof renderLabelText === 'function' ?\n renderLabelText()\n :\n selected.length > 0 ?\n selected.map((value) => {\n const option = options.find((option) => option.value === value);\n return option && typeof option.label === 'string' ?\n option.label\n :\n value;\n }).join(', ')\n :\n title\n }\n </div>\n <Icon className={styles['icon']} name={'caret-down'} />\n </React.Fragment>\n }\n {children}\n </Button>\n ), [menuOpen, title, disabled, options, selected, labelOnClick, renderLabelContent, renderLabelText]);\n const renderMenu = React.useCallback(() => (\n <div className={styles['menu-container']} onKeyDown={menuOnKeyDown} onClick={menuOnClick}>\n {\n options.length > 0 ?\n options.map(({ label, title, value }) => (\n <Button key={value} className={classnames(styles['option-container'], { 'selected': selected.includes(value) })} title={typeof title === 'string' ? title : typeof label === 'string' ? label : value} data-value={value} onClick={optionOnClick}>\n <div className={styles['label']}>{typeof label === 'string' ? label : value}</div>\n <div className={styles['icon']} />\n </Button>\n ))\n :\n <div className={styles['no-options-container']}>\n <div className={styles['label']}>No options available</div>\n </div>\n }\n </div>\n ), [options, selected, menuOnKeyDown, menuOnClick, optionOnClick]);\n const renderPopupLabel = React.useMemo(() => (labelProps) => {\n return renderLabel({\n ...labelProps,\n ...props,\n className: classnames(className, labelProps.className)\n });\n }, [props, className, renderLabel]);\n return mode === 'modal' ?\n renderLabel({\n ...props,\n className,\n children: menuOpen ?\n <ModalDialog className={styles['modal-container']} title={title} onCloseRequest={closeMenu} onKeyDown={menuOnKeyDown} onClick={menuOnClick}>\n {renderMenu()}\n </ModalDialog>\n :\n null\n })\n :\n <Popup\n open={menuOpen}\n direction={direction}\n onCloseRequest={closeMenu}\n renderLabel={renderPopupLabel}\n renderMenu={renderMenu}\n />;\n};\n\nMultiselect.propTypes = {\n className: PropTypes.string,\n mode: PropTypes.oneOf(['popup', 'modal']),\n direction: PropTypes.any,\n title: PropTypes.string,\n options: PropTypes.arrayOf(PropTypes.shape({\n value: PropTypes.string,\n title: PropTypes.string,\n label: PropTypes.string\n })),\n selected: PropTypes.arrayOf(PropTypes.string),\n disabled: PropTypes.bool,\n dataset: PropTypes.object,\n renderLabelContent: PropTypes.func,\n renderLabelText: PropTypes.func,\n onOpen: PropTypes.func,\n onClose: PropTypes.func,\n onSelect: PropTypes.func,\n onClick: PropTypes.func\n};\n\nmodule.exports = Multiselect;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Multiselect = require('./Multiselect');\n\nmodule.exports = Multiselect;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst Button = require('stremio/common/Button');\nconst Image = require('stremio/common/Image');\nconst useFullscreen = require('stremio/common/useFullscreen');\nconst usePWA = require('stremio/common/usePWA');\nconst SearchBar = require('./SearchBar');\nconst NavMenu = require('./NavMenu');\nconst styles = require('./styles');\nconst { t } = require('i18next');\n\nconst HorizontalNavBar = React.memo(({ className, route, query, title, backButton, searchBar, addonsButton, fullscreenButton, navMenu, ...props }) => {\n const backButtonOnClick = React.useCallback(() => {\n window.history.back();\n }, []);\n const [fullscreen, requestFullscreen, exitFullscreen] = useFullscreen();\n const [isIOSPWA] = usePWA();\n const renderNavMenuLabel = React.useCallback(({ ref, className, onClick, children, }) => (\n <Button ref={ref} className={classnames(className, styles['button-container'], styles['menu-button-container'])} tabIndex={-1} onClick={onClick}>\n <Icon className={styles['icon']} name={'person-outline'} />\n {children}\n </Button>\n ), []);\n return (\n <nav {...props} className={classnames(className, styles['horizontal-nav-bar-container'])}>\n {\n backButton ?\n <Button className={classnames(styles['button-container'], styles['back-button-container'])} tabIndex={-1} onClick={backButtonOnClick}>\n <Icon className={styles['icon']} name={'chevron-back'} />\n </Button>\n :\n <div className={styles['logo-container']}>\n <Image\n className={styles['logo']}\n src={require('/images/stremio_symbol.png')}\n alt={' '}\n />\n </div>\n }\n {\n typeof title === 'string' && title.length > 0 ?\n <h2 className={styles['title']}>{title}</h2>\n :\n null\n }\n {\n searchBar && route !== 'addons' ?\n <SearchBar className={styles['search-bar']} query={query} active={route === 'search'} />\n :\n null\n }\n <div className={styles['buttons-container']}>\n {\n addonsButton ?\n <Button className={styles['button-container']} href={'#/addons'} title={t('ADDONS')} tabIndex={-1}>\n <Icon className={styles['icon']} name={'addons-outline'} />\n </Button>\n :\n null\n }\n {\n !isIOSPWA && fullscreenButton ?\n <Button className={styles['button-container']} title={fullscreen ? t('EXIT_FULLSCREEN') : t('ENTER_FULLSCREEN')} tabIndex={-1} onClick={fullscreen ? exitFullscreen : requestFullscreen}>\n <Icon className={styles['icon']} name={fullscreen ? 'minimize' : 'maximize'} />\n </Button>\n :\n null\n }\n {\n navMenu ?\n <NavMenu renderLabel={renderNavMenuLabel} />\n :\n null\n }\n </div>\n </nav>\n );\n});\n\nHorizontalNavBar.displayName = 'HorizontalNavBar';\n\nHorizontalNavBar.propTypes = {\n className: PropTypes.string,\n route: PropTypes.string,\n query: PropTypes.string,\n title: PropTypes.string,\n backButton: PropTypes.bool,\n searchBar: PropTypes.bool,\n addonsButton: PropTypes.bool,\n fullscreenButton: PropTypes.bool,\n navMenu: PropTypes.bool\n};\n\nmodule.exports = HorizontalNavBar;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { useRouteFocused } = require('stremio-router');\nconst Popup = require('stremio/common/Popup');\nconst useBinaryState = require('stremio/common/useBinaryState');\nconst NavMenuContent = require('./NavMenuContent');\nconst styles = require('./styles.less');\n\nconst NavMenu = (props) => {\n const routeFocused = useRouteFocused();\n const [menuOpen, , closeMenu, toggleMenu] = useBinaryState(false);\n const popupLabelOnClick = React.useCallback((event) => {\n if (!event.nativeEvent.togglePopupPrevented) {\n toggleMenu();\n }\n }, [toggleMenu]);\n const popupMenuOnClick = React.useCallback((event) => {\n event.nativeEvent.togglePopupPrevented = true;\n }, []);\n const renderLabel = React.useMemo(() => ({ ref, className, children }) => (\n props.renderLabel({\n ref,\n className: classnames(className, { 'active': menuOpen }),\n onClick: popupLabelOnClick,\n children,\n })\n ), [menuOpen, popupLabelOnClick, props.renderLabel]);\n const renderMenu = React.useCallback(() => (\n <NavMenuContent onClick={popupMenuOnClick} />\n ), []);\n React.useEffect(() => {\n if (!routeFocused) {\n closeMenu();\n }\n }, [routeFocused]);\n return (\n <Popup\n open={menuOpen}\n direction={'bottom-left'}\n onCloseRequest={closeMenu}\n renderLabel={renderLabel}\n renderMenu={renderMenu}\n className={styles['nav-menu-popup-label']}\n />\n );\n};\n\nNavMenu.propTypes = {\n renderLabel: PropTypes.func\n};\n\nmodule.exports = NavMenu;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { useTranslation } = require('react-i18next');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { useServices } = require('stremio/services');\nconst Button = require('stremio/common/Button');\nconst useFullscreen = require('stremio/common/useFullscreen');\nconst useProfile = require('stremio/common/useProfile');\nconst usePWA = require('stremio/common/usePWA');\nconst useTorrent = require('stremio/common/useTorrent');\nconst { withCoreSuspender } = require('stremio/common/CoreSuspender');\nconst styles = require('./styles');\n\nconst NavMenuContent = ({ onClick }) => {\n const { t } = useTranslation();\n const { core } = useServices();\n const profile = useProfile();\n const { createTorrentFromMagnet } = useTorrent();\n const [fullscreen, requestFullscreen, exitFullscreen] = useFullscreen();\n const [isIOSPWA, isAndroidPWA] = usePWA();\n const logoutButtonOnClick = React.useCallback(() => {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'Logout'\n }\n });\n }, []);\n const onPlayMagnetLinkClick = React.useCallback(async () => {\n try {\n const clipboardText = await navigator.clipboard.readText();\n createTorrentFromMagnet(clipboardText);\n } catch(e) {\n console.error(e);\n }\n }, []);\n return (\n <div className={classnames(styles['nav-menu-container'], 'animation-fade-in')} onClick={onClick}>\n <div className={styles['user-info-container']}>\n <div\n className={styles['avatar-container']}\n style={{\n backgroundImage: profile.auth === null ?\n `url('${require('/images/anonymous.png')}')`\n :\n profile.auth.user.avatar ?\n `url('${profile.auth.user.avatar}')`\n :\n `url('${require('/images/default_avatar.png')}')`\n }}\n />\n <div className={styles['user-info-details']}>\n <div className={styles['email-container']}>\n <div className={styles['email-label']}>{profile.auth === null ? t('ANONYMOUS_USER') : profile.auth.user.email}</div>\n </div>\n <Button className={styles['logout-button-container']} title={profile.auth === null ? `${t('LOG_IN')} / ${t('SIGN_UP')}` : t('LOG_OUT')} href={profile.auth === null ? '#/intro' : null} onClick={profile.auth !== null ? logoutButtonOnClick : null}>\n <div className={styles['logout-label']}>{profile.auth === null ? `${t('LOG_IN')} / ${t('SIGN_UP')}` : t('LOG_OUT')}</div>\n </Button>\n </div>\n </div>\n {\n !isIOSPWA && !isAndroidPWA ?\n <div className={styles['nav-menu-section']}>\n <Button className={styles['nav-menu-option-container']} title={fullscreen ? t('EXIT_FULLSCREEN') : t('ENTER_FULLSCREEN')} onClick={fullscreen ? exitFullscreen : requestFullscreen}>\n <Icon className={styles['icon']} name={fullscreen ? 'minimize' : 'maximize'} />\n <div className={styles['nav-menu-option-label']}>{fullscreen ? t('EXIT_FULLSCREEN') : t('ENTER_FULLSCREEN')}</div>\n </Button>\n </div>\n :\n null\n }\n <div className={styles['nav-menu-section']}>\n <Button className={styles['nav-menu-option-container']} title={ t('SETTINGS') } href={'#/settings'}>\n <Icon className={styles['icon']} name={'settings'} />\n <div className={styles['nav-menu-option-label']}>{ t('SETTINGS') }</div>\n </Button>\n <Button className={styles['nav-menu-option-container']} title={ t('ADDONS') } href={'#/addons'}>\n <Icon className={styles['icon']} name={'addons-outline'} />\n <div className={styles['nav-menu-option-label']}>{ t('ADDONS') }</div>\n </Button>\n <Button className={styles['nav-menu-option-container']} title={ t('PLAY_URL_MAGNET_LINK') } onClick={onPlayMagnetLinkClick}>\n <Icon className={styles['icon']} name={'magnet-link'} />\n <div className={styles['nav-menu-option-label']}>{ t('PLAY_URL_MAGNET_LINK') }</div>\n </Button>\n <Button className={styles['nav-menu-option-container']} title={ t('HELP_FEEDBACK') } href={'https://stremio.zendesk.com/'} target={'_blank'}>\n <Icon className={styles['icon']} name={'help'} />\n <div className={styles['nav-menu-option-label']}>{ t('HELP_FEEDBACK') }</div>\n </Button>\n </div>\n <div className={styles['nav-menu-section']}>\n <Button className={styles['nav-menu-option-container']} title={ t('TERMS_OF_SERVICE') } href={'https://www.stremio.com/tos'} target={'_blank'}>\n <div className={styles['nav-menu-option-label']}>{ t('TERMS_OF_SERVICE') }</div>\n </Button>\n <Button className={styles['nav-menu-option-container']} title={ t('PRIVACY_POLICY') } href={'https://www.stremio.com/privacy'} target={'_blank'}>\n <div className={styles['nav-menu-option-label']}>{ t('PRIVACY_POLICY') }</div>\n </Button>\n {\n profile.auth !== null ?\n <Button className={styles['nav-menu-option-container']} title={ t('USER_PANEL') } href={'https://www.stremio.com/acc-settings'} target={'_blank'}>\n <div className={styles['nav-menu-option-label']}>{ t('USER_PANEL') }</div>\n </Button>\n :\n null\n }\n </div>\n </div>\n );\n};\n\nNavMenuContent.propTypes = {\n onClick: PropTypes.func\n};\n\nconst NavMenuContentFallback = () => (\n <div className={styles['nav-menu-container']} />\n);\n\nmodule.exports = withCoreSuspender(NavMenuContent, NavMenuContentFallback);\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst NavMenu = require('./NavMenu');\n\nmodule.exports = NavMenu;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst debounce = require('lodash.debounce');\nconst { useTranslation } = require('react-i18next');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { useRouteFocused } = require('stremio-router');\nconst Button = require('stremio/common/Button');\nconst TextInput = require('stremio/common/TextInput');\nconst useTorrent = require('stremio/common/useTorrent');\nconst { withCoreSuspender } = require('stremio/common/CoreSuspender');\nconst useSearchHistory = require('./useSearchHistory');\nconst useLocalSearch = require('./useLocalSearch');\nconst styles = require('./styles');\nconst useBinaryState = require('stremio/common/useBinaryState');\n\nconst SearchBar = React.memo(({ className, query, active }) => {\n const { t } = useTranslation();\n const routeFocused = useRouteFocused();\n const searchHistory = useSearchHistory();\n const localSearch = useLocalSearch();\n const { createTorrentFromMagnet } = useTorrent();\n\n const [historyOpen, openHistory, closeHistory, ] = useBinaryState(query === null ? true : false);\n const [currentQuery, setCurrentQuery] = React.useState(query || '');\n\n const searchInputRef = React.useRef(null);\n const containerRef = React.useRef(null);\n\n const searchBarOnClick = React.useCallback(() => {\n if (!active) {\n window.location = '#/search';\n }\n }, [active]);\n\n const searchHistoryOnClose = React.useCallback((event) => {\n if (historyOpen && containerRef.current && !containerRef.current.contains(event.target)) {\n closeHistory();\n }\n }, [historyOpen]);\n\n React.useEffect(() => {\n document.addEventListener('mousedown', searchHistoryOnClose);\n return () => {\n document.removeEventListener('mousedown', searchHistoryOnClose);\n };\n }, [searchHistoryOnClose]);\n\n const queryInputOnChange = React.useCallback(() => {\n const value = searchInputRef.current.value;\n setCurrentQuery(value);\n openHistory();\n try {\n createTorrentFromMagnet(value);\n } catch (error) {\n console.error('Failed to create torrent from magnet:', error);\n }\n }, [createTorrentFromMagnet]);\n\n const queryInputOnSubmit = React.useCallback((event) => {\n event.preventDefault();\n const searchValue = `/search?search=${event.target.value}`;\n setCurrentQuery(searchValue);\n if (searchInputRef.current && searchValue) {\n window.location.hash = searchValue;\n closeHistory();\n }\n }, []);\n\n const queryInputClear = React.useCallback(() => {\n searchInputRef.current.value = '';\n setCurrentQuery('');\n window.location.hash = '/search';\n }, []);\n\n const updateLocalSearchDebounced = React.useCallback(debounce((query) => {\n localSearch.search(query);\n }, 250), []);\n\n React.useEffect(() => {\n updateLocalSearchDebounced(currentQuery);\n }, [currentQuery]);\n\n React.useEffect(() => {\n if (routeFocused && active) {\n searchInputRef.current.focus();\n }\n }, [routeFocused, active]);\n\n React.useEffect(() => {\n return () => {\n updateLocalSearchDebounced.cancel();\n };\n }, []);\n\n return (\n <div className={classnames(className, styles['search-bar-container'], { 'active': active })} onClick={searchBarOnClick} ref={containerRef}>\n {\n active ?\n <TextInput\n key={query}\n ref={searchInputRef}\n className={styles['search-input']}\n type={'text'}\n placeholder={t('SEARCH_OR_PASTE_LINK')}\n defaultValue={query}\n tabIndex={-1}\n onChange={queryInputOnChange}\n onSubmit={queryInputOnSubmit}\n onClick={openHistory}\n />\n :\n <div className={styles['search-input']}>\n <div className={styles['placeholder-label']}>{ t('SEARCH_OR_PASTE_LINK') }</div>\n </div>\n }\n {\n currentQuery.length > 0 ?\n <Button className={styles['submit-button-container']} onClick={queryInputClear}>\n <Icon className={styles['icon']} name={'close'} />\n </Button>\n :\n <Button className={styles['submit-button-container']}>\n <Icon className={styles['icon']} name={'search'} />\n </Button>\n }\n {\n historyOpen && (searchHistory?.items?.length || localSearch?.items?.length) ?\n <div className={styles['menu-container']}>\n {\n searchHistory?.items?.length > 0 ?\n <div className={styles['items']}>\n <div className={styles['title']}>\n <div className={styles['label']}>{ t('STREMIO_TV_SEARCH_HISTORY_TITLE') }</div>\n <button className={styles['search-history-clear']} onClick={searchHistory.clear}>\n { t('CLEAR_HISTORY') }\n </button>\n </div>\n {\n searchHistory.items.slice(0, 8).map(({ query, deepLinks }, index) => (\n <Button key={index} className={styles['item']} href={deepLinks.search} onClick={closeHistory}>\n {query}\n </Button>\n ))\n }\n </div>\n :\n null\n }\n {\n localSearch?.items?.length ?\n <div className={styles['items']}>\n <div className={styles['title']}>\n <div className={styles['label']}>{ t('SEARCH_SUGGESTIONS') }</div>\n </div>\n {\n localSearch.items.map(({ query, deepLinks }, index) => (\n <Button key={index} className={styles['item']} href={deepLinks.search} onClick={closeHistory}>\n {query}\n </Button>\n ))\n }\n </div>\n :\n null\n }\n </div>\n :\n null\n }\n </div>\n );\n});\n\nSearchBar.displayName = 'SearchBar';\n\nSearchBar.propTypes = {\n className: PropTypes.string,\n query: PropTypes.string,\n active: PropTypes.bool\n};\n\nconst SearchBarFallback = ({ className }) => {\n const { t } = useTranslation();\n return (\n <label className={classnames(className, styles['search-bar-container'])}>\n <div className={styles['search-input']}>\n <div className={styles['placeholder-label']}>{ t('SEARCH_OR_PASTE_LINK') }</div>\n </div>\n <Button className={styles['submit-button-container']} tabIndex={-1}>\n <Icon className={styles['icon']} name={'search'} />\n </Button>\n </label>\n );\n};\n\nSearchBarFallback.propTypes = SearchBar.propTypes;\n\nmodule.exports = withCoreSuspender(SearchBar, SearchBarFallback);\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst SearchBar = require('./SearchBar');\n\nmodule.exports = SearchBar;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useServices } = require('stremio/services');\nconst useModelState = require('stremio/common/useModelState');\n\nconst useLocalSearch = () => {\n const { core } = useServices();\n\n const action = React.useMemo(() => ({\n action: 'Load',\n args: {\n model: 'LocalSearch',\n }\n }), []);\n\n const { items } = useModelState({ model: 'local_search', action });\n\n const search = React.useCallback((query) => {\n core.transport.dispatch({\n action: 'Search',\n args: {\n action: 'Search',\n args: {\n searchQuery: query,\n maxResults: 5\n }\n },\n });\n }, []);\n\n return {\n items,\n search,\n };\n};\n\nmodule.exports = useLocalSearch;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst useModelState = require('stremio/common/useModelState');\nconst { useServices } = require('stremio/services');\n\nconst useSearchHistory = () => {\n const { core } = useServices();\n const { searchHistory: items } = useModelState({ model: 'ctx' });\n\n const clear = React.useCallback(() => {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'ClearSearchHistory',\n },\n });\n }, []);\n\n return {\n items,\n clear,\n };\n};\n\nmodule.exports = useSearchHistory;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst HorizontalNavBar = require('./HorizontalNavBar');\n\nmodule.exports = HorizontalNavBar;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst Button = require('stremio/common/Button');\nconst Image = require('stremio/common/Image');\nconst styles = require('./styles');\n\nconst NavTabButton = ({ className, logo, icon, label, href, selected, onClick }) => {\n const renderLogoFallback = React.useCallback(() => (\n typeof icon === 'string' && icon.length > 0 ?\n <Icon className={styles['icon']} name={icon} />\n :\n null\n ), [icon]);\n const onDoubleClick = () => {\n const scrollableElements = document.querySelectorAll('div');\n\n scrollableElements.forEach((element) => {\n if (element.scrollTop > 0) {\n element.scrollTo({ top: 0, behavior: 'smooth' });\n }\n });\n };\n return (\n <Button className={classnames(className, styles['nav-tab-button-container'], { 'selected': selected })} title={label} tabIndex={-1} href={href} onClick={onClick} onDoubleClick={onDoubleClick}>\n {\n typeof logo === 'string' && logo.length > 0 ?\n <Image\n className={styles['logo']}\n src={logo}\n alt={' '}\n renderFallback={renderLogoFallback}\n />\n :\n typeof icon === 'string' && icon.length > 0 ?\n <Icon className={styles['icon']} name={selected ? icon : `${icon}-outline`} />\n :\n null\n }\n {\n typeof label === 'string' && label.length > 0 ?\n <div className={styles['label']}>{label}</div>\n :\n null\n }\n </Button>\n );\n};\n\nNavTabButton.propTypes = {\n className: PropTypes.string,\n logo: PropTypes.string,\n icon: PropTypes.string,\n label: PropTypes.string,\n href: PropTypes.string,\n selected: PropTypes.bool,\n onClick: PropTypes.func\n};\n\nmodule.exports = NavTabButton;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst NavTabButton = require('./NavTabButton');\n\nmodule.exports = NavTabButton;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { useTranslation } = require('react-i18next');\nconst NavTabButton = require('./NavTabButton');\nconst styles = require('./styles');\n\nconst VerticalNavBar = React.memo(({ className, selected, tabs }) => {\n const { t } = useTranslation();\n return (\n <nav className={classnames(className, styles['vertical-nav-bar-container'])}>\n {\n Array.isArray(tabs) ?\n tabs.map((tab, index) => (\n <NavTabButton\n key={index}\n className={styles['nav-tab-button']}\n selected={tab.id === selected}\n href={tab.href}\n logo={tab.logo}\n icon={tab.icon}\n label={t(tab.label)}\n onClick={tab.onClick}\n />\n ))\n :\n null\n }\n </nav>\n );\n});\n\nVerticalNavBar.displayName = 'VerticalNavBar';\n\nVerticalNavBar.propTypes = {\n className: PropTypes.string,\n selected: PropTypes.string,\n tabs: PropTypes.arrayOf(PropTypes.shape({\n id: PropTypes.string,\n label: PropTypes.string,\n logo: PropTypes.string,\n icon: PropTypes.string,\n href: PropTypes.string,\n onClick: PropTypes.func\n }))\n};\n\nmodule.exports = VerticalNavBar;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst VerticalNavBar = require('./VerticalNavBar');\n\nmodule.exports = VerticalNavBar;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst HorizontalNavBar = require('./HorizontalNavBar');\nconst VerticalNavBar = require('./VerticalNavBar');\n\nmodule.exports = {\n HorizontalNavBar,\n VerticalNavBar\n};\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst Button = require('stremio/common/Button');\nconst styles = require('./styles');\n\nconst PaginationInput = ({ className, label, dataset, onSelect, ...props }) => {\n const prevNextButtonOnClick = React.useCallback((event) => {\n if (typeof onSelect === 'function') {\n onSelect({\n type: 'change-page',\n value: event.currentTarget.dataset.value,\n dataset: dataset,\n reactEvent: event,\n nativeEvent: event.nativeEvent\n });\n }\n }, [dataset, onSelect]);\n return (\n <div {...props} className={classnames(className, styles['pagination-input-container'])} >\n <Button className={styles['prev-button-container']} title={'Previous page'} data-value={'prev'} onClick={prevNextButtonOnClick}>\n <Icon className={styles['icon']} name={'chevron-back'} />\n </Button>\n <div className={styles['label-container']} title={label}>\n <div className={styles['label']}>{label}</div>\n </div>\n <Button className={styles['next-button-container']} title={'Next page'} data-value={'next'} onClick={prevNextButtonOnClick}>\n <Icon className={styles['icon']} name={'chevron-forward'} />\n </Button>\n </div>\n );\n};\n\nPaginationInput.propTypes = {\n className: PropTypes.string,\n label: PropTypes.string,\n dataset: PropTypes.object,\n onSelect: PropTypes.func\n};\n\nmodule.exports = PaginationInput;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst PaginationInput = require('./PaginationInput');\n\nmodule.exports = PaginationInput;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst styles = require('./styles');\n\nconst PlayIconCircleCentered = ({ className }) => {\n return (\n <svg className={className} viewBox={'0 0 100 100'}>\n <circle className={styles['background']} cx={'50'} cy={'50'} r={'50'} />\n <svg className={styles['icon']} x={'0'} y={'25'} width={'100'} height={'50'} viewBox={'0 0 37.14 32'}>\n <path d={'M 9.14,0 37.14,16 9.14,32 Z'} />\n </svg>\n </svg>\n );\n};\n\nPlayIconCircleCentered.propTypes = {\n className: PropTypes.string\n};\n\nmodule.exports = PlayIconCircleCentered;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst PlayIconCircleCentered = require('./PlayIconCircleCentered');\n\nmodule.exports = PlayIconCircleCentered;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst FocusLock = require('react-focus-lock').default;\nconst { useRouteFocused } = require('stremio-router');\nconst styles = require('./styles');\n\nconst getAnchorElement = (element) => {\n if (element === document.documentElement) {\n return element;\n }\n\n const style = window.getComputedStyle(element);\n if (style.overflowY.indexOf('auto') !== -1 || style.overflowY.indexOf('scroll') !== -1) {\n return element;\n }\n\n return getAnchorElement(element.parentElement);\n};\n\nconst Popup = ({ open, direction, renderLabel, renderMenu, dataset, onCloseRequest, ...props }) => {\n const routeFocused = useRouteFocused();\n const labelRef = React.useRef(null);\n const menuRef = React.useRef(null);\n const [autoDirection, setAutoDirection] = React.useState(null);\n const menuOnMouseDown = React.useCallback((event) => {\n event.nativeEvent.closePopupPrevented = true;\n }, []);\n React.useEffect(() => {\n const onCloseEvent = (event) => {\n if (!event.closePopupPrevented && typeof onCloseRequest === 'function') {\n const closeEvent = {\n type: 'close',\n nativeEvent: event,\n dataset: dataset\n };\n switch (event.type) {\n case 'keydown':\n if (event.code === 'Escape') {\n onCloseRequest(closeEvent);\n }\n break;\n case 'mousedown':\n if (event.target !== document.documentElement && !labelRef.current.contains(event.target)) {\n onCloseRequest(closeEvent);\n }\n break;\n case 'pointerdown':\n if (event.target !== document.documentElement && !labelRef.current.contains(event.target)) {\n onCloseRequest(closeEvent);\n }\n break;\n }\n }\n };\n if (routeFocused && open) {\n window.addEventListener('keydown', onCloseEvent);\n window.addEventListener('mousedown', onCloseEvent);\n window.addEventListener('pointerdown', onCloseEvent);\n }\n return () => {\n window.removeEventListener('keydown', onCloseEvent);\n window.removeEventListener('mousedown', onCloseEvent);\n window.removeEventListener('pointerdown', onCloseEvent);\n };\n }, [routeFocused, open, onCloseRequest, dataset]);\n React.useLayoutEffect(() => {\n if (open) {\n const autoDirection = [];\n const anchor = getAnchorElement(labelRef.current);\n const anchorRect = anchor.getBoundingClientRect();\n\n const labelRect = labelRef.current.getBoundingClientRect();\n const menuRect = menuRef.current.getBoundingClientRect();\n const labelPosition = {\n left: labelRect.left - anchorRect.left,\n top: labelRect.top - anchorRect.top,\n right: (anchorRect.width + anchorRect.left) - (labelRect.left + labelRect.width),\n bottom: (anchorRect.height + anchorRect.top) - (labelRect.top + labelRect.height)\n };\n\n if (menuRect.height <= labelPosition.bottom) {\n autoDirection.push('bottom');\n } else if (menuRect.height <= labelPosition.top) {\n autoDirection.push('top');\n } else if (labelPosition.bottom >= labelPosition.top) {\n autoDirection.push('bottom');\n } else {\n autoDirection.push('top');\n }\n\n if (menuRect.width <= (labelPosition.right + labelRect.width)) {\n autoDirection.push('right');\n } else if (menuRect.width <= (labelPosition.left + labelRect.width)) {\n autoDirection.push('left');\n } else if (labelPosition.right > labelPosition.left) {\n autoDirection.push('right');\n } else {\n autoDirection.push('left');\n }\n\n setAutoDirection(autoDirection.join('-'));\n } else {\n setAutoDirection(null);\n }\n }, [open]);\n return renderLabel({\n ...props,\n ref: labelRef,\n className: classnames(styles['label-container'], props.className, { 'active': open }),\n children: open ?\n <FocusLock ref={menuRef} className={classnames(styles['menu-container'], { [styles[`menu-direction-${autoDirection}`]]: !direction }, { [styles[`menu-direction-${direction}`]]: direction })} autoFocus={false} lockProps={{ onMouseDown: menuOnMouseDown }}>\n {renderMenu()}\n </FocusLock>\n :\n null\n });\n};\n\nPopup.propTypes = {\n open: PropTypes.bool,\n direction: PropTypes.oneOf(['top-left', 'bottom-left', 'top-right', 'bottom-right']),\n renderLabel: PropTypes.func.isRequired,\n renderMenu: PropTypes.func.isRequired,\n dataset: PropTypes.object,\n onCloseRequest: PropTypes.func\n};\n\nmodule.exports = Popup;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Popup = require('./Popup');\n\nmodule.exports = Popup;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst TextInput = require('stremio/common/TextInput');\nconst SearchBarPlaceholder = require('./SearchBarPlaceholder');\nconst styles = require('./styles');\n\nconst SearchBar = ({ className, title, value, onChange }) => {\n return (\n <label title={title} className={classnames(className, styles['search-bar-container'])}>\n <TextInput\n className={styles['search-input']}\n type={'text'}\n placeholder={title}\n value={value}\n onChange={onChange}\n />\n <Icon className={styles['icon']} name={'search'} />\n </label>\n );\n};\n\nSearchBar.Placeholder = SearchBarPlaceholder;\n\nSearchBar.propTypes = {\n className: PropTypes.string,\n title: PropTypes.string,\n value: PropTypes.string,\n onChange: PropTypes.func\n};\n\nmodule.exports = SearchBar;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst styles = require('./styles');\n\nconst SearchBarPlaceholder = ({ className, title }) => {\n return (\n <div className={classnames(className, styles['search-bar-container'])}>\n <div className={styles['search-input']}>{title}</div>\n <Icon className={styles['icon']} name={'search'} />\n </div>\n );\n};\n\nSearchBarPlaceholder.propTypes = {\n className: PropTypes.string,\n title: PropTypes.string\n};\n\nmodule.exports = SearchBarPlaceholder;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst SearchBarPlaceholder = require('./SearchBarPlaceholder');\n\nmodule.exports = SearchBarPlaceholder;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst SearchBar = require('./SearchBar');\n\nmodule.exports = SearchBar;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { useTranslation } = require('react-i18next');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { useRouteFocused } = require('stremio-router');\nconst { useServices } = require('stremio/services');\nconst useToast = require('stremio/common/Toast/useToast');\nconst Button = require('stremio/common/Button');\nconst TextInput = require('stremio/common/TextInput');\nconst styles = require('./styles');\n\nconst SharePrompt = ({ className, url }) => {\n const { t } = useTranslation();\n const { core } = useServices();\n const toast = useToast();\n const inputRef = React.useRef(null);\n const routeFocused = useRouteFocused();\n const selectInputContent = React.useCallback(() => {\n if (inputRef.current !== null) {\n inputRef.current.select();\n }\n }, []);\n const copyToClipboard = React.useCallback(() => {\n if (inputRef.current !== null) {\n inputRef.current.select();\n document.execCommand('copy');\n toast.show({\n type: 'success',\n title: 'Copied to clipboard',\n timeout: 3000,\n });\n }\n }, []);\n React.useEffect(() => {\n if (routeFocused && inputRef.current !== null) {\n inputRef.current.select();\n }\n }, [routeFocused]);\n React.useEffect(() => {\n core.transport.analytics({\n event: 'Share',\n args: {\n url: url\n }\n });\n }, [url]);\n return (\n <div className={classnames(className, styles['share-prompt-container'])}>\n <div className={styles['buttons-container']}>\n <Button className={classnames(styles['button-container'], styles['facebook-button'])} title={'Facebook'} href={`https://www.facebook.com/sharer/sharer.php?u=${url}`} target={'_blank'}>\n <Icon className={styles['icon']} name={'facebook'} />\n </Button>\n <Button className={classnames(styles['button-container'], styles['x-button'])} title={'X (Twitter)'} href={`https://twitter.com/intent/tweet?text=${url}`} target={'_blank'}>\n <Icon className={styles['icon']} name={'x'} />\n </Button>\n <Button className={classnames(styles['button-container'], styles['reddit-button'])} title={'Reddit'} href={`https://www.reddit.com/submit?url=${url}`} target={'_blank'}>\n <Icon className={styles['icon']} name={'reddit'} />\n </Button>\n </div>\n <div className={styles['url-container']}>\n <TextInput\n ref={inputRef}\n className={styles['url-text-input']}\n type={'text'}\n readOnly={true}\n defaultValue={url}\n onClick={selectInputContent}\n tabIndex={-1}\n />\n <Button className={styles['copy-button']} title={'Copy to clipboard'} onClick={copyToClipboard}>\n <Icon className={styles['icon']} name={'link'} />\n <div className={styles['label']}>{ t('COPY') }</div>\n </Button>\n </div>\n </div>\n );\n};\n\nSharePrompt.propTypes = {\n className: PropTypes.string,\n url: PropTypes.string\n};\n\nmodule.exports = SharePrompt;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst SharePrompt = require('./SharePrompt');\n\nmodule.exports = SharePrompt;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { useRouteFocused } = require('stremio-router');\nconst useAnimationFrame = require('stremio/common/useAnimationFrame');\nconst useLiveRef = require('stremio/common/useLiveRef');\nconst styles = require('./styles');\n\nconst Slider = ({ className, value, buffered, minimumValue, maximumValue, disabled, onSlide, onComplete }) => {\n const minimumValueRef = useLiveRef(minimumValue !== null && !isNaN(minimumValue) ? minimumValue : 0);\n const maximumValueRef = useLiveRef(maximumValue !== null && !isNaN(maximumValue) ? maximumValue : 100);\n const valueRef = useLiveRef(value !== null && !isNaN(value) ? Math.min(maximumValueRef.current, Math.max(minimumValueRef.current, value)) : 0);\n const bufferedRef = useLiveRef(buffered !== null && !isNaN(buffered) ? Math.min(maximumValueRef.current, Math.max(minimumValueRef.current, buffered)) : 0);\n const onSlideRef = useLiveRef(onSlide);\n const onCompleteRef = useLiveRef(onComplete);\n const sliderContainerRef = React.useRef(null);\n const routeFocused = useRouteFocused();\n const [requestThumbAnimation, cancelThumbAnimation] = useAnimationFrame();\n const calculateValueForMouseX = React.useCallback((mouseX) => {\n if (sliderContainerRef.current === null) {\n return 0;\n }\n\n const { x: sliderX, width: sliderWidth } = sliderContainerRef.current.getBoundingClientRect();\n const thumbStart = Math.min(Math.max(mouseX - sliderX, 0), sliderWidth);\n const value = (thumbStart / sliderWidth) * (maximumValueRef.current - minimumValueRef.current) + minimumValueRef.current;\n return value;\n }, []);\n const retainThumb = React.useCallback(() => {\n window.addEventListener('blur', onBlur);\n window.addEventListener('mouseup', onMouseUp);\n window.addEventListener('mousemove', onMouseMove);\n document.documentElement.className = classnames(document.documentElement.className, styles['active-slider-within']);\n }, []);\n const releaseThumb = React.useCallback(() => {\n cancelThumbAnimation();\n window.removeEventListener('blur', onBlur);\n window.removeEventListener('mouseup', onMouseUp);\n window.removeEventListener('mousemove', onMouseMove);\n const classList = document.documentElement.className.split(' ');\n const classIndex = classList.indexOf(styles['active-slider-within']);\n if (classIndex !== -1) {\n classList.splice(classIndex, 1);\n document.documentElement.className = classnames(classList);\n }\n }, []);\n const onBlur = React.useCallback(() => {\n if (typeof onSlideRef.current === 'function') {\n onSlideRef.current(valueRef.current);\n }\n\n if (typeof onCompleteRef.current === 'function') {\n onCompleteRef.current(valueRef.current);\n }\n\n releaseThumb();\n }, []);\n const onMouseUp = React.useCallback((event) => {\n const value = calculateValueForMouseX(event.clientX);\n if (typeof onCompleteRef.current === 'function') {\n onCompleteRef.current(value);\n }\n\n releaseThumb();\n }, []);\n const onMouseMove = React.useCallback((event) => {\n requestThumbAnimation(() => {\n const value = calculateValueForMouseX(event.clientX);\n if (typeof onSlideRef.current === 'function') {\n onSlideRef.current(value);\n }\n });\n }, []);\n const onMouseDown = React.useCallback((event) => {\n if (event.button !== 0) {\n return;\n }\n\n const value = calculateValueForMouseX(event.clientX);\n if (typeof onSlideRef.current === 'function') {\n onSlideRef.current(value);\n }\n\n retainThumb();\n }, []);\n React.useLayoutEffect(() => {\n if (!routeFocused || disabled) {\n releaseThumb();\n }\n }, [routeFocused, disabled]);\n React.useLayoutEffect(() => {\n return () => {\n releaseThumb();\n };\n }, []);\n const thumbPosition = Math.max(0, Math.min(1, (valueRef.current - minimumValueRef.current) / (maximumValueRef.current - minimumValueRef.current)));\n const bufferedPosition = Math.max(0, Math.min(1, (bufferedRef.current - minimumValueRef.current) / (maximumValueRef.current - minimumValueRef.current)));\n return (\n <div ref={sliderContainerRef} className={classnames(className, styles['slider-container'], { 'disabled': disabled })} onMouseDown={onMouseDown}>\n <div className={styles['layer']}>\n <div className={styles['track']} />\n </div>\n <div className={styles['layer']}>\n <div className={styles['track-before']} style={{ width: `calc(100% * ${bufferedPosition})` }} />\n </div>\n <div className={styles['layer']}>\n <div className={styles['track-after']} style={{ width: `calc(100% * ${thumbPosition})` }} />\n </div>\n <div className={styles['layer']}>\n <div className={styles['thumb']} style={{ marginLeft: `calc(100% * ${thumbPosition})` }} />\n </div>\n </div>\n );\n};\n\nSlider.propTypes = {\n className: PropTypes.string,\n value: PropTypes.number,\n buffered: PropTypes.number,\n minimumValue: PropTypes.number,\n maximumValue: PropTypes.number,\n disabled: PropTypes.bool,\n onSlide: PropTypes.func,\n onComplete: PropTypes.func\n};\n\nmodule.exports = Slider;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Slider = require('./Slider');\n\nmodule.exports = Slider;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useServices } = require('stremio/services');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { useTranslation } = require('react-i18next');\nconst Button = require('stremio/common/Button');\nconst useProfile = require('stremio/common/useProfile');\nconst { withCoreSuspender } = require('stremio/common/CoreSuspender');\nconst styles = require('./styles');\n\nconst StreamingServerWarning = ({ className }) => {\n const { t } = useTranslation();\n const { core } = useServices();\n const profile = useProfile();\n const onLaterClick = React.useCallback(() => {\n const streamingServerWarningDismissed = new Date();\n streamingServerWarningDismissed.setMonth(streamingServerWarningDismissed.getMonth() + 1);\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: {\n ...profile.settings,\n streamingServerWarningDismissed\n }\n }\n });\n }, [profile.settings]);\n const onDismissClick = React.useCallback(() => {\n const streamingServerWarningDismissed = new Date();\n streamingServerWarningDismissed.setFullYear(streamingServerWarningDismissed.getFullYear() + 50);\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: {\n ...profile.settings,\n streamingServerWarningDismissed\n }\n }\n });\n }, [profile.settings]);\n\n if (!isNaN(profile.settings.streamingServerWarningDismissed.getTime()) &&\n profile.settings.streamingServerWarningDismissed.getTime() > Date.now()) {\n return null;\n }\n\n return (\n <div className={classnames(className, styles['warning-container'])}>\n <div className={styles['warning-statement']}>{ t('SETTINGS_SERVER_UNAVAILABLE') }</div>\n <a href=\"https://www.stremio.com/download-service\" target=\"_blank\" rel=\"noreferrer\">\n <Button className={styles['warning-button']} title={t('SERVICE_INSTALL')} tabIndex={-1}>\n <div className={styles['warning-label']}>{ t('SERVICE_INSTALL') }</div>\n </Button>\n </a>\n <Button className={styles['warning-button']} title={t('WARNING_STREAMING_SERVER_LATER')} onClick={onLaterClick} tabIndex={-1}>\n <div className={styles['warning-label']}>{ t('WARNING_STREAMING_SERVER_LATER') }</div>\n </Button>\n <Button className={styles['warning-button']} title={t('DONT_SHOW_AGAIN')} onClick={onDismissClick} tabIndex={-1}>\n <div className={styles['warning-label']}>{ t('DONT_SHOW_AGAIN') }</div>\n </Button>\n </div>\n );\n};\n\nStreamingServerWarning.propTypes = {\n className: PropTypes.string\n};\n\nmodule.exports = withCoreSuspender(StreamingServerWarning);\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst StreamingServerWarning = require('./StreamingServerWarning');\n\nmodule.exports = StreamingServerWarning;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst styles = require('./styles');\n\nconst TextInput = React.forwardRef((props, ref) => {\n const onKeyDown = React.useCallback((event) => {\n if (typeof props.onKeyDown === 'function') {\n props.onKeyDown(event);\n }\n\n if (event.key === 'Enter' && !event.nativeEvent.submitPrevented && typeof props.onSubmit === 'function') {\n props.onSubmit(event);\n }\n }, [props.onKeyDown, props.onSubmit]);\n return (\n <input\n size={1}\n autoCorrect={'off'}\n autoCapitalize={'off'}\n autoComplete={'off'}\n spellCheck={false}\n tabIndex={0}\n {...props}\n ref={ref}\n className={classnames(props.className, styles['text-input'], { 'disabled': props.disabled })}\n onKeyDown={onKeyDown}\n />\n );\n});\n\nTextInput.displayName = 'TextInput';\n\nTextInput.propTypes = {\n className: PropTypes.string,\n disabled: PropTypes.bool,\n onKeyDown: PropTypes.func,\n onSubmit: PropTypes.func\n};\n\nmodule.exports = TextInput;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst TextInput = require('./TextInput');\n\nmodule.exports = TextInput;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\n/* eslint-disable @typescript-eslint/no-empty-function */\n\nconst React = require('react');\n\nconst ToastContext = React.createContext({\n show: () => { },\n clear: () => { }\n});\n\nToastContext.displayName = 'ToastContext';\n\nmodule.exports = ToastContext;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst Button = require('stremio/common/Button');\nconst styles = require('./styles');\n\nconst ToastItem = ({ title, message, dataset, onSelect, onClose, ...props }) => {\n const type = React.useMemo(() => {\n return ['success', 'alert', 'info', 'error'].includes(props.type) ?\n props.type\n :\n 'success';\n }, [props.type]);\n const icon = React.useMemo(() => {\n return typeof props.icon === 'string' ? props.icon :\n type === 'success' ? 'checkmark' :\n type === 'error' ? 'close' :\n type === 'info' ? 'about' :\n null;\n }, [type, props.icon]);\n const toastOnClick = React.useCallback((event) => {\n if (!event.nativeEvent.selectToastPrevented && typeof onSelect === 'function') {\n onSelect({\n type: 'select',\n dataset: dataset,\n reactEvent: event,\n nativeEvent: event.nativeEvent\n });\n }\n if (!event.nativeEvent.closeToastPrevented && typeof onClose === 'function') {\n onClose({\n type: 'close',\n dataset: dataset,\n reactEvent: event,\n nativeEvent: event.nativeEvent\n });\n }\n }, [dataset, onSelect, onClose]);\n const closeButtonOnClick = React.useCallback((event) => {\n event.nativeEvent.selectToastPrevented = true;\n if (typeof onClose === 'function') {\n onClose({\n type: 'close',\n dataset: dataset,\n reactEvent: event,\n nativeEvent: event.nativeEvent\n });\n }\n }, [dataset, onClose]);\n return (\n <Button className={classnames(styles['toast-item-container'], styles[type])} tabIndex={-1} onClick={toastOnClick}>\n {\n typeof icon === 'string' && icon.length > 0 ?\n <div className={styles['icon-container']}>\n <Icon className={styles['icon']} name={icon} />\n </div>\n :\n null\n }\n <div className={styles['info-container']}>\n {\n typeof title === 'string' && title.length > 0 ?\n <div className={styles['title-container']}>{title}</div>\n :\n null\n }\n {\n typeof message === 'string' && message.length > 0 ?\n <div className={styles['message-container']}>{message}</div>\n :\n null\n }\n </div>\n <Button className={styles['close-button-container']} title={'Close'} tabIndex={-1} onClick={closeButtonOnClick}>\n <Icon className={styles['icon']} name={'close'} />\n </Button>\n </Button>\n );\n};\n\nToastItem.propTypes = {\n type: PropTypes.oneOf(['success', 'alert', 'info', 'error']),\n title: PropTypes.string,\n message: PropTypes.string,\n icon: PropTypes.string,\n dataset: PropTypes.object,\n onSelect: PropTypes.func,\n onClose: PropTypes.func\n};\n\nmodule.exports = ToastItem;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst ToastItem = require('./ToastItem');\n\nmodule.exports = ToastItem;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst ToastItem = require('./ToastItem');\nconst ToastContext = require('./ToastContext');\n\nconst DEFAULT_TIMEOUT = 3000;\n\nconst ToastProvider = ({ className, children }) => {\n const [container, setContainer] = React.useState(null);\n const [items, dispatch] = React.useReducer(\n (items, action) => {\n switch (action.type) {\n case 'add':\n return items.concat(action.item);\n case 'remove':\n return items.filter((item) => item.id !== action.id);\n case 'clear':\n return [];\n default:\n return items;\n }\n },\n []\n );\n const itemOnClose = React.useCallback((event) => {\n clearTimeout(event.dataset.id);\n dispatch({ type: 'remove', id: event.dataset.id });\n }, []);\n const toast = React.useMemo(() => {\n const filters = [];\n return {\n addFilter: (filter) => {\n filters.push(filter);\n },\n removeFilter: (filter) => {\n const index = filters.indexOf(filter);\n if (index > -1) {\n filters.splice(index, 1);\n }\n },\n show: (item) => {\n if (filters.some((filter) => filter(item))) {\n return;\n }\n\n const timeout = typeof item.timeout === 'number' && !isNaN(item.timeout) ?\n item.timeout\n :\n DEFAULT_TIMEOUT;\n const id = setTimeout(() => {\n dispatch({ type: 'remove', id });\n }, timeout);\n dispatch({\n type: 'add',\n item: {\n ...item,\n id,\n dataset: {\n ...item.dataset,\n id\n },\n onClose: itemOnClose\n }\n });\n },\n clear: () => {\n dispatch({ type: 'clear' });\n }\n };\n }, []);\n return (\n <ToastContext.Provider value={toast}>\n {container instanceof HTMLElement ? children : null}\n <div ref={setContainer} className={className}>\n {items.map((item, index) => (\n <ToastItem key={index} {...item} />\n ))}\n </div>\n </ToastContext.Provider>\n );\n};\n\nToastProvider.propTypes = {\n className: PropTypes.string,\n children: PropTypes.node\n};\n\nmodule.exports = ToastProvider;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst ToastProvider = require('./ToastProvider');\nconst useToast = require('./useToast');\n\nmodule.exports = {\n ToastProvider,\n useToast\n};\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst ToastContext = require('./ToastContext');\n\nconst useToast = () => {\n return React.useContext(ToastContext);\n};\n\nmodule.exports = useToast;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst useTooltip = require('../useTooltip');\nconst styles = require('./styles');\n\nconst createId = () => (Math.random() + 1).toString(36).substring(7);\n\nconst Tooltip = ({ label, position, margin = 15 }) => {\n const tooltip = useTooltip();\n\n const id = React.useRef(createId());\n const element = React.useRef(null);\n\n const onMouseEnter = () => {\n tooltip.update(id.current, {\n active: true,\n });\n };\n\n const onMouseLeave = () => {\n tooltip.update(id.current, {\n active: false,\n });\n };\n\n React.useEffect(() => {\n tooltip.update(id.current, {\n label,\n });\n }, [label]);\n\n React.useLayoutEffect(() => {\n if (element.current && element.current.parentElement) {\n const parentElement = element.current.parentElement;\n tooltip.add({\n id: id.current,\n label,\n position,\n margin,\n parent: parentElement,\n });\n\n parentElement.addEventListener('mouseenter', onMouseEnter);\n parentElement.addEventListener('mouseleave', onMouseLeave);\n }\n\n return () => {\n if (element.current && element.current.parentElement) {\n const parentElement = element.current.parentElement;\n parentElement.removeEventListener('mouseenter', onMouseEnter);\n parentElement.removeEventListener('mouseleave', onMouseLeave);\n\n tooltip.remove(id.current);\n }\n };\n }, []);\n\n return (\n <div ref={element} className={styles['tooltip-placeholder']} />\n );\n};\n\nTooltip.propTypes = {\n label: PropTypes.string.isRequired,\n position: PropTypes.string.isRequired,\n margin: PropTypes.number,\n};\n\nmodule.exports = Tooltip;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Tooltip = require('./Tooltip');\n\nmodule.exports = Tooltip;\n\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst { createContext } = require('react');\n\nconst TooltipContext = createContext(null);\n\nmodule.exports = TooltipContext;\n\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classNames = require('classnames');\nconst styles = require('./styles');\n\nconst TooltipItem = React.memo(({ className, active, label, position, margin, parent }) => {\n const ref = React.useRef(null);\n\n const [style, setStyle] = React.useState(null);\n\n const onTransitionEnd = React.useCallback(() => {\n if (!active) {\n setStyle(null);\n }\n }, [active]);\n\n React.useEffect(() => {\n if (!ref.current) return setStyle(null);\n\n const tooltipBounds = ref.current.getBoundingClientRect();\n const parentBounds = parent.getBoundingClientRect();\n\n switch (position) {\n case 'top':\n return setStyle({\n top: `${parentBounds.top - tooltipBounds.height - margin}px`,\n left: `${(parentBounds.left + (parentBounds.width / 2)) - (tooltipBounds.width / 2)}px`,\n });\n case 'bottom':\n return setStyle({\n top: `${parentBounds.top + parentBounds.height + margin}px`,\n left: `${(parentBounds.left + (parentBounds.width / 2)) - (tooltipBounds.width / 2)}px`,\n });\n case 'left':\n return setStyle({\n top: `${parentBounds.top + (parentBounds.height / 2) - (tooltipBounds.height / 2)}px`,\n left: `${(parentBounds.left - tooltipBounds.width - margin)}px`,\n });\n case 'right':\n return setStyle({\n top: `${parentBounds.top + (parentBounds.height / 2) - (tooltipBounds.height / 2)}px`,\n left: `${(parentBounds.left + parentBounds.width + margin)}px`,\n });\n }\n }, [active, position, margin, parent, label]);\n\n return (\n <div ref={ref} className={classNames(className, styles['tooltip-item'], { 'active': active })} style={style} onTransitionEnd={onTransitionEnd}>\n { label }\n </div>\n );\n});\n\nTooltipItem.displayName = 'TooltipItem';\n\nTooltipItem.propTypes = {\n className: PropTypes.string,\n active: PropTypes.bool,\n label: PropTypes.string,\n position: PropTypes.string,\n margin: PropTypes.number,\n parent: PropTypes.instanceOf(HTMLElement),\n};\n\nmodule.exports = TooltipItem;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst TooltipItem = require('./TooltipItem');\n\nmodule.exports = TooltipItem;\n\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst TooltipContext = require('./TooltipContext');\nconst TooltipItem = require('./TooltipItem');\n\nconst TooltipProvider = ({ children, className }) => {\n const [tooltips, setTooltips] = React.useState([]);\n\n const add = (options) => {\n const tooltip = {\n ...options,\n active: false,\n };\n\n setTooltips((tooltips) => ([\n ...tooltips,\n tooltip,\n ]));\n };\n\n const remove = (id) => {\n setTooltips((tooltips) => (\n tooltips.filter((tooltip) => tooltip.id !== id)\n ));\n };\n\n const update = (id, state) => {\n setTooltips((tooltips) => (\n tooltips.map((tooltip) => {\n if (tooltip.id === id) {\n tooltip = {\n ...tooltip,\n ...state,\n };\n }\n return tooltip;\n })\n ));\n };\n\n return (\n <TooltipContext.Provider value={{ add, remove, update }}>\n { children }\n <div className={'tooltips-items-container'}>\n {\n tooltips.map(({ id, ...tooltip }) => (\n <TooltipItem\n key={id}\n className={className}\n {...tooltip}\n />\n ))\n }\n </div>\n </TooltipContext.Provider>\n );\n};\n\nTooltipProvider.propTypes = {\n children: PropTypes.node,\n className: PropTypes.string,\n};\n\nmodule.exports = TooltipProvider;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst TooltipProvider = require('./TooltipProvider');\nconst Tooltip = require('./Tooltip');\n\nmodule.exports = {\n TooltipProvider,\n Tooltip,\n};\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst TooltipContext = require('./TooltipContext');\n\nconst useTooltip = () => {\n return React.useContext(TooltipContext);\n};\n\nmodule.exports = useTooltip;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst comparatorWithPriorities = (priorities) => {\n return (a, b) => {\n if (isNaN(priorities[a]) && isNaN(priorities[b])) {\n return a.localeCompare(b);\n } else if (isNaN(priorities[a])) {\n if (priorities[b] === Number.NEGATIVE_INFINITY) {\n return -1;\n } else {\n return 1;\n }\n } else if (isNaN(priorities[b])) {\n if (priorities[a] === Number.NEGATIVE_INFINITY) {\n return 1;\n } else {\n return -1;\n }\n } else {\n return priorities[b] - priorities[a];\n }\n };\n};\n\nmodule.exports = comparatorWithPriorities;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst isChildVisible = (container, element) => {\n const elementTop = element.offsetTop;\n const elementBottom = element.offsetTop + element.clientHeight;\n const containerTop = container.scrollTop;\n const containerBottom = container.scrollTop + container.clientHeight;\n return (elementTop >= containerTop && elementBottom <= containerBottom) ||\n (elementTop < containerTop && containerTop < elementBottom) ||\n (elementTop < containerBottom && containerBottom < elementBottom);\n};\n\nconst getVisibleChildrenRange = (container) => {\n return Array.from(container.children).reduce((result, child, index) => {\n if (isChildVisible(container, child)) {\n if (result === null) {\n result = {\n start: index,\n end: index\n };\n } else {\n result.end = index;\n }\n }\n\n return result;\n }, null);\n};\n\nmodule.exports = getVisibleChildrenRange;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst AddonDetailsModal = require('./AddonDetailsModal');\nconst Button = require('./Button');\nconst Checkbox = require('./Checkbox');\nconst { default: Chips } = require('./Chips');\nconst ColorInput = require('./ColorInput');\nconst ContinueWatchingItem = require('./ContinueWatchingItem');\nconst DelayedRenderer = require('./DelayedRenderer');\nconst Image = require('./Image');\nconst LibItem = require('./LibItem');\nconst MainNavBars = require('./MainNavBars');\nconst MetaItem = require('./MetaItem');\nconst MetaPreview = require('./MetaPreview');\nconst MetaRow = require('./MetaRow');\nconst ModalDialog = require('./ModalDialog');\nconst Multiselect = require('./Multiselect');\nconst { default: MultiselectMenu } = require('./MultiselectMenu');\nconst { HorizontalNavBar, VerticalNavBar } = require('./NavBar');\nconst PaginationInput = require('./PaginationInput');\nconst { PlatformProvider, usePlatform } = require('./Platform');\nconst PlayIconCircleCentered = require('./PlayIconCircleCentered');\nconst Popup = require('./Popup');\nconst SearchBar = require('./SearchBar');\nconst StreamingServerWarning = require('./StreamingServerWarning');\nconst SharePrompt = require('./SharePrompt');\nconst Slider = require('./Slider');\nconst TextInput = require('./TextInput');\nconst { ToastProvider, useToast } = require('./Toast');\nconst { TooltipProvider, Tooltip } = require('./Tooltips');\nconst comparatorWithPriorities = require('./comparatorWithPriorities');\nconst CONSTANTS = require('./CONSTANTS');\nconst { withCoreSuspender, useCoreSuspender } = require('./CoreSuspender');\nconst getVisibleChildrenRange = require('./getVisibleChildrenRange');\nconst interfaceLanguages = require('./interfaceLanguages.json');\nconst languageNames = require('./languageNames.json');\nconst routesRegexp = require('./routesRegexp');\nconst useAnimationFrame = require('./useAnimationFrame');\nconst useBinaryState = require('./useBinaryState');\nconst useFullscreen = require('./useFullscreen');\nconst useLiveRef = require('./useLiveRef');\nconst useModelState = require('./useModelState');\nconst useNotifications = require('./useNotifications');\nconst useOnScrollToBottom = require('./useOnScrollToBottom');\nconst useProfile = require('./useProfile');\nconst useStreamingServer = require('./useStreamingServer');\nconst useTorrent = require('./useTorrent');\nconst useTranslate = require('./useTranslate');\nconst EventModal = require('./EventModal');\n\nmodule.exports = {\n AddonDetailsModal,\n Button,\n Checkbox,\n Chips,\n ColorInput,\n ContinueWatchingItem,\n DelayedRenderer,\n Image,\n LibItem,\n MainNavBars,\n MetaItem,\n MetaPreview,\n MetaRow,\n ModalDialog,\n Multiselect,\n MultiselectMenu,\n HorizontalNavBar,\n VerticalNavBar,\n PaginationInput,\n PlatformProvider,\n usePlatform,\n PlayIconCircleCentered,\n Popup,\n SearchBar,\n StreamingServerWarning,\n SharePrompt,\n Slider,\n TextInput,\n ToastProvider,\n useToast,\n TooltipProvider,\n Tooltip,\n comparatorWithPriorities,\n CONSTANTS,\n withCoreSuspender,\n useCoreSuspender,\n getVisibleChildrenRange,\n interfaceLanguages,\n languageNames,\n routesRegexp,\n useAnimationFrame,\n useBinaryState,\n useFullscreen,\n useLiveRef,\n useModelState,\n useNotifications,\n useOnScrollToBottom,\n useProfile,\n useStreamingServer,\n useTorrent,\n useTranslate,\n EventModal,\n};\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst routesRegexp = {\n intro: {\n regexp: /^\\/intro$/,\n urlParamsNames: []\n },\n board: {\n regexp: /^\\/?$/,\n urlParamsNames: []\n },\n discover: {\n regexp: /^\\/discover(?:\\/([^/]*)\\/([^/]*)\\/([^/]*))?$/,\n urlParamsNames: ['transportUrl', 'type', 'catalogId']\n },\n library: {\n regexp: /^\\/library(?:\\/([^/]*))?$/,\n urlParamsNames: ['type']\n },\n continuewatching: {\n regexp: /^\\/continuewatching(?:\\/([^/]*))?$/,\n urlParamsNames: ['type']\n },\n search: {\n regexp: /^\\/search$/,\n urlParamsNames: []\n },\n metadetails: {\n regexp: /^\\/(?:metadetails|detail)\\/([^/]*)\\/([^/]*)(?:\\/([^/]*))?$/,\n urlParamsNames: ['type', 'id', 'videoId']\n },\n addons: {\n regexp: /^\\/addons(?:\\/([^/]*)(?:\\/([^/]*)\\/([^/]*))?)?$/,\n urlParamsNames: ['type', 'transportUrl', 'catalogId']\n },\n settings: {\n regexp: /^\\/settings$/,\n urlParamsNames: []\n },\n player: {\n regexp: /^\\/player\\/([^/]*)(?:\\/([^/]*)\\/([^/]*)\\/([^/]*)\\/([^/]*)\\/([^/]*))?$/,\n urlParamsNames: ['stream', 'streamTransportUrl', 'metaTransportUrl', 'type', 'id', 'videoId']\n }\n};\n\nmodule.exports = routesRegexp;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\n\nconst useAnimationFrame = () => {\n const animationFrameId = React.useRef(null);\n const cancel = React.useCallback(() => {\n cancelAnimationFrame(animationFrameId.current);\n animationFrameId.current = null;\n }, []);\n const request = React.useCallback((cb) => {\n cancel();\n animationFrameId.current = requestAnimationFrame(() => {\n cb();\n animationFrameId.current = null;\n });\n }, []);\n return [request, cancel];\n};\n\nmodule.exports = useAnimationFrame;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\n\nconst useBinaryState = (initialValue) => {\n const [value, setValue] = React.useState(!!initialValue);\n const on = React.useCallback(() => {\n setValue(true);\n }, []);\n const off = React.useCallback(() => {\n setValue(false);\n }, []);\n const toggle = React.useCallback(() => {\n setValue(!value);\n }, [value]);\n return [value, on, off, toggle];\n};\n\nmodule.exports = useBinaryState;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\n\nconst useFullscreen = () => {\n const [fullscreen, setFullscreen] = React.useState(document.fullscreenElement === document.documentElement);\n const requestFullscreen = React.useCallback(() => {\n document.documentElement.requestFullscreen();\n }, []);\n const exitFullscreen = React.useCallback(() => {\n document.exitFullscreen();\n }, []);\n const toggleFullscreen = React.useCallback(() => {\n if (fullscreen) {\n exitFullscreen();\n } else {\n requestFullscreen();\n }\n }, [fullscreen]);\n React.useEffect(() => {\n const onFullscreenChange = () => {\n setFullscreen(document.fullscreenElement === document.documentElement);\n };\n document.addEventListener('fullscreenchange', onFullscreenChange);\n return () => {\n document.removeEventListener('fullscreenchange', onFullscreenChange);\n };\n }, []);\n return [fullscreen, requestFullscreen, exitFullscreen, toggleFullscreen];\n};\n\nmodule.exports = useFullscreen;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\n\nconst useLiveRef = (value) => {\n const ref = React.useRef();\n ref.current = value;\n return ref;\n};\n\nmodule.exports = useLiveRef;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst throttle = require('lodash.throttle');\nconst isEqual = require('lodash.isequal');\nconst intersection = require('lodash.intersection');\nconst { useCoreSuspender } = require('stremio/common/CoreSuspender');\nconst { useRouteFocused } = require('stremio-router');\nconst { useServices } = require('stremio/services');\n\nconst useModelState = ({ action, ...args }) => {\n const { core } = useServices();\n const routeFocused = useRouteFocused();\n const mountedRef = React.useRef(false);\n const [model, timeout, map, deps] = React.useMemo(() => {\n return [args.model, args.timeout, args.map, args.deps];\n }, []);\n const { getState } = useCoreSuspender();\n const [state, setState] = React.useReducer(\n (prevState, nextState) => {\n return Object.keys(prevState).reduce((result, key) => {\n result[key] = isEqual(prevState[key], nextState[key]) ? prevState[key] : nextState[key];\n return result;\n }, {});\n },\n undefined,\n () => {\n if (typeof map === 'function') {\n return map(getState(model));\n } else {\n return getState(model);\n }\n }\n );\n React.useInsertionEffect(() => {\n if (action) {\n core.transport.dispatch(action, model);\n }\n }, [action]);\n React.useInsertionEffect(() => {\n return () => {\n core.transport.dispatch({ action: 'Unload' }, model);\n };\n }, []);\n React.useInsertionEffect(() => {\n const onNewState = async (models) => {\n if (models.indexOf(model) === -1 && (!Array.isArray(deps) || intersection(deps, models).length === 0)) {\n return;\n }\n\n const state = await core.transport.getState(model);\n if (typeof map === 'function') {\n setState(map(state));\n } else {\n setState(state);\n }\n };\n const onNewStateThrottled = throttle(onNewState, timeout);\n if (routeFocused) {\n core.transport.on('NewState', onNewStateThrottled);\n if (mountedRef.current) {\n onNewState([model]);\n }\n }\n return () => {\n onNewStateThrottled.cancel();\n core.transport.off('NewState', onNewStateThrottled);\n };\n }, [routeFocused]);\n React.useInsertionEffect(() => {\n mountedRef.current = true;\n }, []);\n return state;\n};\n\nmodule.exports = useModelState;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst useModelState = require('stremio/common/useModelState');\n\nconst map = (ctx) => ctx.notifications;\n\nconst useNotifications = () => {\n return useModelState({ model: 'ctx', map });\n};\n\nmodule.exports = useNotifications;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\n\nconst useOnScrollToBottom = (cb, threshold = 0) => {\n const triggeredRef = React.useRef(false);\n const onScroll = React.useCallback((event) => {\n if (event.target.scrollTop + event.target.clientHeight >= event.target.scrollHeight - threshold) {\n if (!triggeredRef.current) {\n triggeredRef.current = true;\n if (typeof cb === 'function') {\n cb(event);\n }\n }\n } else {\n triggeredRef.current = false;\n }\n }, [cb]);\n return onScroll;\n};\n\nmodule.exports = useOnScrollToBottom;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\n\nconst usePWA = () => {\n const isPWA = React.useMemo(() => {\n const isIOSPWA = window.navigator.standalone;\n const isAndroidPWA = window.matchMedia('(display-mode: standalone)').matches;\n return [isIOSPWA, isAndroidPWA];\n }, []);\n return isPWA;\n};\n\nmodule.exports = usePWA;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst useModelState = require('stremio/common/useModelState');\n\nconst map = (ctx) => ({\n ...ctx.profile,\n settings: {\n ...ctx.profile.settings,\n streamingServerWarningDismissed: new Date(\n typeof ctx.profile.settings.streamingServerWarningDismissed === 'string' ?\n ctx.profile.settings.streamingServerWarningDismissed\n :\n NaN\n )\n }\n});\n\nconst useProfile = () => {\n return useModelState({ model: 'ctx', map });\n};\n\nmodule.exports = useProfile;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst useModelState = require('stremio/common/useModelState');\n\nconst useStreamingServer = () => {\n return useModelState({ model: 'streaming_server' });\n};\n\nmodule.exports = useStreamingServer;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst magnet = require('magnet-uri');\nconst { useServices } = require('stremio/services');\nconst useToast = require('stremio/common/Toast/useToast');\nconst useStreamingServer = require('stremio/common/useStreamingServer');\n\nconst useTorrent = () => {\n const { core } = useServices();\n const streamingServer = useStreamingServer();\n const toast = useToast();\n const createTorrentTimeout = React.useRef(null);\n const createTorrentFromMagnet = React.useCallback((text) => {\n const parsed = magnet.decode(text);\n if (parsed && typeof parsed.infoHash === 'string') {\n core.transport.dispatch({\n action: 'StreamingServer',\n args: {\n action: 'CreateTorrent',\n args: text\n }\n });\n clearTimeout(createTorrentTimeout.current);\n createTorrentTimeout.current = setTimeout(() => {\n toast.show({\n type: 'error',\n title: 'It\\'s taking a long time to get metadata from the torrent.',\n timeout: 10000\n });\n }, 10000);\n }\n }, []);\n React.useEffect(() => {\n if (streamingServer.torrent !== null) {\n const [, { type }] = streamingServer.torrent;\n if (type === 'Ready') {\n clearTimeout(createTorrentTimeout.current);\n }\n }\n }, [streamingServer.torrent]);\n React.useEffect(() => {\n return () => clearTimeout(createTorrentTimeout.current);\n }, []);\n return {\n createTorrentFromMagnet\n };\n};\n\nmodule.exports = useTorrent;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst { useCallback } = require('react');\nconst { useTranslation } = require('react-i18next');\n\nconst useTranslate = () => {\n const { t } = useTranslation();\n\n const string = useCallback((key) => t(key), [t]);\n\n const stringWithPrefix = useCallback((value, prefix, fallback = null) => {\n const key = `${prefix}${value}`;\n const defaultValue = fallback ?? value.charAt(0).toUpperCase() + value.slice(1);\n\n return t(key, {\n defaultValue,\n });\n }, [t]);\n\n const catalogTitle = useCallback(({ addon, id, name, type } = {}, withType = true) => {\n if (addon && id && name) {\n const partialKey = `${addon.manifest.id.split('.').join('_')}_${id}`;\n const translatedName = stringWithPrefix(partialKey, 'CATALOG_', name);\n\n if (type && withType) {\n const translatedType = stringWithPrefix(type, 'TYPE_');\n return `${translatedName} - ${translatedType}`;\n }\n\n return translatedName;\n }\n\n return null;\n }, [stringWithPrefix]);\n\n return {\n string,\n stringWithPrefix,\n catalogTitle,\n };\n};\n\nmodule.exports = useTranslate;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst ReactDOM = require('react-dom');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst FocusLock = require('react-focus-lock').default;\nconst { useModalsContainer } = require('../ModalsContainerContext');\n\nconst Modal = React.forwardRef(({ className, autoFocus, disabled, children, ...props }, ref) => {\n const modalsContainer = useModalsContainer();\n return ReactDOM.createPortal(\n <FocusLock ref={ref} className={classnames(className, 'modal-container')} autoFocus={!!autoFocus} disabled={!!disabled} lockProps={props}>\n {children}\n </FocusLock>,\n modalsContainer\n );\n});\n\nModal.displayName = 'Modal';\n\nModal.propTypes = {\n className: PropTypes.string,\n autoFocus: PropTypes.bool,\n disabled: PropTypes.bool,\n children: PropTypes.node\n};\n\nmodule.exports = Modal;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Modal = require('./Modal');\n\nmodule.exports = Modal;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\n\nconst ModalsContainerContext = React.createContext(null);\n\nModalsContainerContext.displayName = 'ModalsContainerContext';\n\nmodule.exports = ModalsContainerContext;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst ModalsContainerContext = require('./ModalsContainerContext');\n\nconst ModalsContainerProvider = ({ children }) => {\n const [container, setContainer] = React.useState(null);\n return (\n <ModalsContainerContext.Provider value={container}>\n {container instanceof HTMLElement ? children : null}\n <div ref={setContainer} className={'modals-container'} />\n </ModalsContainerContext.Provider>\n );\n};\n\nModalsContainerProvider.propTypes = {\n children: PropTypes.node\n};\n\nmodule.exports = ModalsContainerProvider;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst ModalsContainerProvider = require('./ModalsContainerProvider');\nconst useModalsContainer = require('./useModalsContainer');\n\nmodule.exports = {\n ModalsContainerProvider,\n useModalsContainer\n};\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst ModalsContainerContext = require('./ModalsContainerContext');\n\nconst useModalsContainer = () => {\n return React.useContext(ModalsContainerContext);\n};\n\nmodule.exports = useModalsContainer;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst { ModalsContainerProvider } = require('../ModalsContainerContext');\n\nconst Route = ({ children }) => {\n return (\n <div className={'route-container'}>\n <ModalsContainerProvider>\n <div className={'route-content'}>\n {children}\n </div>\n </ModalsContainerProvider>\n </div>\n );\n};\n\nRoute.propTypes = {\n children: PropTypes.node\n};\n\nmodule.exports = Route;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Route = require('./Route');\n\nmodule.exports = Route;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\n\nconst RouteFocusedContext = React.createContext(true);\n\nRouteFocusedContext.displayName = 'RouteFocusedContext';\n\nmodule.exports = RouteFocusedContext;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst RouteFocusedContext = require('./RouteFocusedContext');\nconst useRouteFocused = require('./useRouteFocused');\n\nmodule.exports = {\n RouteFocusedProvider: RouteFocusedContext.Provider,\n useRouteFocused\n};\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst RouteFocusedContext = require('./RouteFocusedContext');\n\nconst useRouteFocused = () => {\n return React.useContext(RouteFocusedContext);\n};\n\nmodule.exports = useRouteFocused;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst ReactIs = require('react-is');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst UrlUtils = require('url');\nconst isEqual = require('lodash.isequal');\nconst { RouteFocusedProvider } = require('../RouteFocusedContext');\nconst Route = require('../Route');\nconst routeConfigForPath = require('./routeConfigForPath');\nconst urlParamsForPath = require('./urlParamsForPath');\n\nconst Router = ({ className, onPathNotMatch, onRouteChange, ...props }) => {\n const viewsConfig = React.useMemo(() => props.viewsConfig, []);\n const [views, setViews] = React.useState(() => {\n return Array(viewsConfig.length).fill(null);\n });\n React.useLayoutEffect(() => {\n const onLocationHashChange = () => {\n const { pathname, query } = UrlUtils.parse(window.location.hash.slice(1));\n const queryParams = new URLSearchParams(typeof query === 'string' ? query : '');\n const routeConfig = routeConfigForPath(viewsConfig, typeof pathname === 'string' ? pathname : '');\n if (routeConfig === null) {\n if (typeof onPathNotMatch === 'function') {\n const component = onPathNotMatch();\n if (ReactIs.isValidElementType(component)) {\n setViews((views) => {\n return views\n .slice(0, viewsConfig.length)\n .concat({\n key: '-1',\n component\n });\n });\n }\n }\n\n return;\n }\n\n const urlParams = urlParamsForPath(routeConfig, typeof pathname === 'string' ? pathname : '');\n const routeViewIndex = viewsConfig.findIndex((vc) => vc.includes(routeConfig));\n const routeIndex = viewsConfig[routeViewIndex].findIndex((rc) => rc === routeConfig);\n const handled = typeof onRouteChange === 'function' && onRouteChange(routeConfig, urlParams, queryParams);\n if (!handled) {\n setViews((views) => {\n return views\n .slice(0, viewsConfig.length)\n .map((view, index) => {\n if (index < routeViewIndex) {\n return view;\n } else if (index === routeViewIndex) {\n return {\n key: `${routeViewIndex}${routeIndex}`,\n component: routeConfig.component,\n urlParams: view !== null && isEqual(view.urlParams, urlParams) ?\n view.urlParams\n :\n urlParams,\n queryParams: view !== null && isEqual(Array.from(view.queryParams.entries()), Array.from(queryParams.entries())) ?\n view.queryParams\n :\n queryParams\n };\n } else {\n return null;\n }\n });\n });\n }\n };\n window.addEventListener('hashchange', onLocationHashChange);\n onLocationHashChange();\n return () => {\n window.removeEventListener('hashchange', onLocationHashChange);\n };\n }, [onPathNotMatch, onRouteChange]);\n return (\n <div className={classnames(className, 'routes-container')}>\n {\n views\n .filter((view) => view !== null)\n .map(({ key, component, urlParams, queryParams }, index, views) => (\n <RouteFocusedProvider key={key} value={index === views.length - 1}>\n <Route>\n {React.createElement(component, { urlParams, queryParams })}\n </Route>\n </RouteFocusedProvider>\n ))\n }\n </div>\n );\n};\n\nRouter.propTypes = {\n className: PropTypes.string,\n onPathNotMatch: PropTypes.func,\n onRouteChange: PropTypes.func,\n viewsConfig: PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.exact({\n regexp: PropTypes.instanceOf(RegExp).isRequired,\n urlParamsNames: PropTypes.arrayOf(PropTypes.string).isRequired,\n component: PropTypes.elementType.isRequired\n }))).isRequired\n};\n\nmodule.exports = Router;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Router = require('./Router');\n\nmodule.exports = Router;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst routeConfigForPath = (viewsConfig, path) => {\n for (const viewConfig of viewsConfig) {\n for (const routeConfig of viewConfig) {\n if (path.match(routeConfig.regexp)) {\n return routeConfig;\n }\n }\n }\n\n return null;\n};\n\nmodule.exports = routeConfigForPath;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst urlParamsForPath = (routeConfig, path) => {\n const matches = path.match(routeConfig.regexp);\n return routeConfig.urlParamsNames.reduce((urlParams, name, index) => {\n if (Array.isArray(matches) && typeof matches[index + 1] === 'string') {\n urlParams[name] = decodeURIComponent(matches[index + 1]);\n } else {\n urlParams[name] = null;\n }\n\n return urlParams;\n }, { path });\n};\n\nmodule.exports = urlParamsForPath;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst { useRouteFocused } = require('./RouteFocusedContext');\nconst { useModalsContainer } = require('./ModalsContainerContext');\nconst Modal = require('./Modal');\nconst Router = require('./Router');\n\nmodule.exports = {\n useRouteFocused,\n useModalsContainer,\n Modal,\n Router\n};\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { useTranslation } = require('react-i18next');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { Button, Image } = require('stremio/common');\nconst styles = require('./styles');\n\nconst Addon = ({ className, id, name, version, logo, description, types, behaviorHints, installed, onToggle, onConfigure, onShare, dataset }) => {\n const { t } = useTranslation();\n const toggleButtonOnClick = React.useCallback((event) => {\n if (typeof onToggle === 'function') {\n onToggle({\n type: 'toggle',\n nativeEvent: event.nativeEvent,\n reactEvent: event,\n dataset: dataset\n });\n }\n }, [onToggle, dataset]);\n const configureButtonOnClick = React.useCallback((event) => {\n if (typeof onConfigure === 'function') {\n onConfigure({\n type: 'configure',\n nativeEvent: event.nativeEvent,\n reactEvent: event,\n dataset: dataset\n });\n }\n }, [onConfigure, dataset]);\n const shareButtonOnClick = React.useCallback((event) => {\n if (typeof onShare === 'function') {\n onShare({\n type: 'share',\n nativeEvent: event.nativeEvent,\n reactEvent: event,\n dataset: dataset\n });\n }\n }, [onShare, dataset]);\n const onKeyDown = React.useCallback((event) => {\n if (event.key === 'Enter' && typeof onToggle === 'function') {\n onToggle({\n type: 'toggle',\n nativeEvent: event.nativeEvent,\n reactEvent: event,\n dataset: dataset\n });\n }\n }, [onToggle, dataset]);\n const renderLogoFallback = React.useCallback(() => (\n <Icon className={styles['icon']} name={'addons'} />\n ), []);\n return (\n <Button className={classnames(className, styles['addon-container'])} onKeyDown={onKeyDown}>\n <div className={styles['logo-container']}>\n <Image\n className={styles['logo']}\n src={logo}\n alt={' '}\n renderFallback={renderLogoFallback}\n />\n </div>\n <div className={styles['info-container']}>\n <div className={styles['name-container']} title={typeof name === 'string' && name.length > 0 ? name : id}>\n {typeof name === 'string' && name.length > 0 ? name : id}\n </div>\n {\n typeof version === 'string' && version.length > 0 ?\n <div className={styles['version-container']} title={`v.${version}`}>v.{version}</div>\n :\n null\n }\n {\n Array.isArray(types) && types.length > 0 ?\n <div className={styles['types-container']}>\n {\n types.length === 1 ?\n types.join('')\n :\n types.slice(0, -1).join(', ') + ' & ' + types[types.length - 1]\n }\n </div>\n :\n null\n }\n {\n typeof description === 'string' && description.length > 0 ?\n <div className={styles['description-container']} title={description}>{description}</div>\n :\n null\n }\n </div>\n <div className={styles['buttons-container']}>\n <div className={styles['action-buttons-container']}>\n {\n !behaviorHints.configurationRequired && behaviorHints.configurable ?\n <Button className={styles['configure-button-container']} title={t('ADDON_CONFIGURE')} tabIndex={-1} onClick={configureButtonOnClick}>\n <Icon className={styles['icon']} name={'settings'} />\n </Button>\n :\n null\n }\n <Button\n className={installed ? styles['uninstall-button-container'] : styles['install-button-container']}\n title={installed ? t('ADDON_UNINSTALL') : behaviorHints.configurationRequired ? t('ADDON_CONFIGURE') : t('ADDON_INSTALL')}\n tabIndex={-1}\n onClick={!installed && behaviorHints.configurationRequired ? configureButtonOnClick : toggleButtonOnClick}\n >\n <div className={styles['label']}>{installed ? t('ADDON_UNINSTALL') : behaviorHints.configurationRequired ? t('ADDON_CONFIGURE') : t('ADDON_INSTALL')}</div>\n </Button>\n </div>\n <Button className={styles['share-button-container']} title={t('SHARE_ADDON')} tabIndex={-1} onClick={shareButtonOnClick}>\n <Icon className={styles['icon']} name={'share'} />\n <div className={styles['label']}>{ t('SHARE_ADDON') }</div>\n </Button>\n </div>\n </Button>\n );\n};\n\nAddon.propTypes = {\n className: PropTypes.string,\n id: PropTypes.string,\n name: PropTypes.string,\n version: PropTypes.string,\n logo: PropTypes.string,\n description: PropTypes.string,\n types: PropTypes.arrayOf(PropTypes.string),\n behaviorHints: PropTypes.shape({\n adult: PropTypes.bool,\n configurable: PropTypes.bool,\n configurationRequired: PropTypes.bool,\n p2p: PropTypes.bool,\n }),\n installed: PropTypes.bool,\n onToggle: PropTypes.func,\n onConfigure: PropTypes.func,\n onShare: PropTypes.func,\n dataset: PropTypes.object\n};\n\nmodule.exports = Addon;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Addon = require('./Addon');\n\nmodule.exports = Addon;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { useTranslation } = require('react-i18next');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { AddonDetailsModal, Button, Image, Multiselect, MainNavBars, TextInput, SearchBar, SharePrompt, ModalDialog, usePlatform, useBinaryState, withCoreSuspender } = require('stremio/common');\nconst Addon = require('./Addon');\nconst useInstalledAddons = require('./useInstalledAddons');\nconst useRemoteAddons = require('./useRemoteAddons');\nconst useAddonDetailsTransportUrl = require('./useAddonDetailsTransportUrl');\nconst useSelectableInputs = require('./useSelectableInputs');\nconst styles = require('./styles');\n\nconst Addons = ({ urlParams, queryParams }) => {\n const { t } = useTranslation();\n const platform = usePlatform();\n const installedAddons = useInstalledAddons(urlParams);\n const remoteAddons = useRemoteAddons(urlParams);\n const [addonDetailsTransportUrl, setAddonDetailsTransportUrl] = useAddonDetailsTransportUrl(urlParams, queryParams);\n const selectInputs = useSelectableInputs(installedAddons, remoteAddons);\n const [filtersModalOpen, openFiltersModal, closeFiltersModal] = useBinaryState(false);\n const [addAddonModalOpen, openAddAddonModal, closeAddAddonModal] = useBinaryState(false);\n const addAddonUrlInputRef = React.useRef(null);\n const addAddonOnSubmit = React.useCallback(() => {\n if (addAddonUrlInputRef.current !== null) {\n setAddonDetailsTransportUrl(addAddonUrlInputRef.current.value);\n }\n }, [setAddonDetailsTransportUrl]);\n const addAddonModalButtons = React.useMemo(() => {\n return [\n {\n className: styles['cancel-button'],\n label: t('BUTTON_CANCEL'),\n props: {\n onClick: closeAddAddonModal\n }\n },\n {\n label: t('ADDON_ADD'),\n props: {\n onClick: addAddonOnSubmit\n }\n }\n ];\n }, [addAddonOnSubmit]);\n const [search, setSearch] = React.useState('');\n const searchInputOnChange = React.useCallback((event) => {\n setSearch(event.currentTarget.value);\n }, []);\n const [sharedAddon, setSharedAddon] = React.useState(null);\n const clearSharedAddon = React.useCallback(() => {\n setSharedAddon(null);\n }, []);\n const onAddonShare = React.useCallback((event) => {\n setSharedAddon(event.dataset.addon);\n }, []);\n const onAddonToggle = React.useCallback((event) => {\n setAddonDetailsTransportUrl(event.dataset.addon.transportUrl);\n }, [setAddonDetailsTransportUrl]);\n const onAddonConfigure = React.useCallback((event) => {\n platform.openExternal(event.dataset.addon.transportUrl.replace('manifest.json', 'configure'));\n }, []);\n const closeAddonDetails = React.useCallback(() => {\n setAddonDetailsTransportUrl(null);\n }, [setAddonDetailsTransportUrl]);\n const searchFilterPredicate = React.useCallback((addon) => {\n return search.length === 0 ||\n (\n (typeof addon.manifest.name === 'string' && addon.manifest.name.toLowerCase().includes(search.toLowerCase())) ||\n (typeof addon.manifest.description === 'string' && addon.manifest.description.toLowerCase().includes(search.toLowerCase()))\n );\n }, [search]);\n const renderLogoFallback = React.useCallback(() => (\n <Icon className={styles['icon']} name={'addons'} />\n ), []);\n React.useLayoutEffect(() => {\n closeAddAddonModal();\n setSearch('');\n clearSharedAddon();\n }, [urlParams, queryParams]);\n return (\n <MainNavBars className={styles['addons-container']} route={'addons'}>\n <div className={styles['addons-content']}>\n <div className={styles['selectable-inputs-container']}>\n {selectInputs.map((selectInput, index) => (\n <Multiselect\n {...selectInput}\n key={index}\n className={styles['select-input-container']}\n />\n ))}\n <div className={styles['spacing']} />\n <Button className={styles['add-button-container']} title={t('ADD_ADDON')} onClick={openAddAddonModal}>\n <Icon className={styles['icon']} name={'add'} />\n <div className={styles['add-button-label']}>{ t('ADD_ADDON') }</div>\n </Button>\n <SearchBar\n className={styles['search-bar']}\n title={t('ADDON_SEARCH')}\n value={search}\n onChange={searchInputOnChange}\n />\n <Button className={styles['filter-button']} title={'All filters'} onClick={openFiltersModal}>\n <Icon className={styles['filter-icon']} name={'filters'} />\n </Button>\n </div>\n {\n installedAddons.selected !== null ?\n installedAddons.selectable.types.length === 0 ?\n <div className={styles['message-container']}>\n No addons ware installed!\n </div>\n :\n installedAddons.catalog.length === 0 ?\n <div className={styles['message-container']}>\n No addons ware installed for that type!\n </div>\n :\n <div className={styles['addons-list-container']}>\n {\n installedAddons.catalog\n .filter(searchFilterPredicate)\n .map((addon, index) => (\n <Addon\n key={index}\n className={classnames(styles['addon'], 'animation-fade-in')}\n id={addon.manifest.id}\n name={addon.manifest.name}\n version={addon.manifest.version}\n logo={addon.manifest.logo}\n description={addon.manifest.description}\n types={addon.manifest.types}\n behaviorHints={addon.manifest.behaviorHints}\n installed={addon.installed}\n onToggle={onAddonToggle}\n onConfigure={onAddonConfigure}\n onShare={onAddonShare}\n dataset={{ addon }}\n />\n ))\n }\n </div>\n :\n remoteAddons.selected !== null ?\n remoteAddons.catalog.content.type === 'Err' ?\n <div className={styles['message-container']}>\n {remoteAddons.catalog.content.content}\n </div>\n :\n remoteAddons.catalog.content.type === 'Loading' ?\n <div className={styles['message-container']}>\n Loading!\n </div>\n :\n <div className={styles['addons-list-container']}>\n {\n remoteAddons.catalog.content.content\n .filter(searchFilterPredicate)\n .map((addon, index) => (\n <Addon\n key={index}\n className={classnames(styles['addon'], 'animation-fade-in')}\n id={addon.manifest.id}\n name={addon.manifest.name}\n version={addon.manifest.version}\n logo={addon.manifest.logo}\n description={addon.manifest.description}\n types={addon.manifest.types}\n behaviorHints={addon.manifest.behaviorHints}\n installed={addon.installed}\n onToggle={onAddonToggle}\n onConfigure={onAddonConfigure}\n onShare={onAddonShare}\n dataset={{ addon }}\n />\n ))\n }\n </div>\n :\n <div className={styles['message-container']}>\n No select\n </div>\n }\n </div>\n {\n filtersModalOpen ?\n <ModalDialog title={'Addons filters'} className={styles['filters-modal']} onCloseRequest={closeFiltersModal}>\n {selectInputs.map((selectInput, index) => (\n <Multiselect\n {...selectInput}\n key={index}\n className={styles['select-input-container']}\n />\n ))}\n </ModalDialog>\n :\n null\n }\n {\n addAddonModalOpen ?\n <ModalDialog\n className={styles['add-addon-modal-container']}\n title={t('ADD_ADDON')}\n buttons={addAddonModalButtons}\n onCloseRequest={closeAddAddonModal}>\n <div className={styles['notice']}>{ t('ADD_ADDON_DESCRIPTION') }</div>\n <TextInput\n ref={addAddonUrlInputRef}\n className={styles['addon-url-input']}\n type={'text'}\n placeholder={t('PASTE_ADDON_URL')}\n autoFocus={true}\n onSubmit={addAddonOnSubmit}\n />\n </ModalDialog>\n :\n null\n }\n {\n sharedAddon !== null ?\n <ModalDialog\n className={styles['share-modal-container']}\n title={t('SHARE_ADDON')}\n onCloseRequest={clearSharedAddon}>\n <div className={styles['title-container']}>\n <Image\n className={styles['logo']}\n src={sharedAddon.manifest.logo}\n alt={' '}\n renderFallback={renderLogoFallback}\n />\n <div className={styles['name-container']}>\n <span className={styles['name']}>{typeof sharedAddon.manifest.name === 'string' && sharedAddon.manifest.name.length > 0 ? sharedAddon.manifest.name : sharedAddon.manifest.id}</span>\n {\n typeof sharedAddon.manifest.version === 'string' && sharedAddon.manifest.version.length > 0 ?\n <span className={styles['version']}>v. {sharedAddon.manifest.version}</span>\n :\n null\n }\n </div>\n </div>\n <SharePrompt\n className={styles['share-prompt-container']}\n url={sharedAddon.transportUrl}\n />\n </ModalDialog>\n :\n null\n }\n {\n typeof addonDetailsTransportUrl === 'string' ?\n <AddonDetailsModal\n transportUrl={addonDetailsTransportUrl}\n onCloseRequest={closeAddonDetails}\n />\n :\n null\n }\n </MainNavBars>\n );\n};\n\nAddons.propTypes = {\n urlParams: PropTypes.shape({\n path: PropTypes.string,\n transportUrl: PropTypes.string,\n catalogId: PropTypes.string,\n type: PropTypes.string\n }),\n queryParams: PropTypes.instanceOf(URLSearchParams)\n};\n\nconst AddonsFallback = () => (\n <MainNavBars className={styles['addons-container']} route={'addons'} />\n);\n\nmodule.exports = withCoreSuspender(Addons, AddonsFallback);\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Addons = require('./Addons');\n\nmodule.exports = Addons;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\n\nconst useAddonDetailsTransportUrl = (urlParams, queryParams) => {\n const transportUrl = React.useMemo(() => {\n return queryParams.get('addon');\n }, [queryParams]);\n const setTransportUrl = React.useCallback((transportUrl) => {\n const nextQueryParams = new URLSearchParams(queryParams);\n if (typeof transportUrl === 'string') {\n nextQueryParams.set('addon', transportUrl);\n } else {\n nextQueryParams.delete('addon');\n }\n\n window.location.replace(`#${urlParams.path}?${nextQueryParams}`);\n }, [urlParams, queryParams]);\n return [transportUrl, setTransportUrl];\n};\n\nmodule.exports = useAddonDetailsTransportUrl;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useModelState } = require('stremio/common');\n\nconst useInstalledAddons = (urlParams) => {\n const action = React.useMemo(() => {\n if (typeof urlParams.transportUrl !== 'string' && typeof urlParams.catalogId !== 'string') {\n return {\n action: 'Load',\n args: {\n model: 'InstalledAddonsWithFilters',\n args: {\n request: {\n type: typeof urlParams.type === 'string' ? urlParams.type : null\n }\n }\n }\n };\n } else {\n return {\n action: 'Unload'\n };\n }\n }, [urlParams]);\n return useModelState({ model: 'installed_addons', action });\n};\n\nmodule.exports = useInstalledAddons;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useModelState } = require('stremio/common');\n\nconst useRemoteAddons = (urlParams) => {\n const action = React.useMemo(() => {\n if (typeof urlParams.type === 'string' && typeof urlParams.transportUrl === 'string' && typeof urlParams.catalogId === 'string') {\n return {\n action: 'Load',\n args: {\n model: 'CatalogWithFilters',\n args: {\n request: {\n base: urlParams.transportUrl,\n path: {\n resource: 'addon_catalog',\n type: urlParams.type,\n id: urlParams.catalogId,\n extra: []\n }\n }\n }\n }\n };\n } else {\n return {\n action: 'Unload'\n };\n }\n }, [urlParams]);\n return useModelState({ model: 'remote_addons', action, deps: ['ctx'] });\n};\n\nmodule.exports = useRemoteAddons;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useTranslate } = require('stremio/common');\n\nconst mapSelectableInputs = (installedAddons, remoteAddons, t) => {\n const catalogSelect = {\n title: t.string('SELECT_CATALOG'),\n options: remoteAddons.selectable.catalogs\n .concat(installedAddons.selectable.catalogs)\n .map(({ name, deepLinks }) => ({\n value: deepLinks.addons,\n label: t.stringWithPrefix(name, 'ADDON_'),\n title: t.stringWithPrefix(name, 'ADDON_'),\n })),\n selected: remoteAddons.selectable.catalogs\n .concat(installedAddons.selectable.catalogs)\n .filter(({ selected }) => selected)\n .map(({ deepLinks }) => deepLinks.addons),\n renderLabelText: remoteAddons.selected !== null ?\n () => {\n const selectableCatalog = remoteAddons.selectable.catalogs\n .find(({ id }) => id === remoteAddons.selected.request.path.id);\n return selectableCatalog ? t.stringWithPrefix(selectableCatalog.name, 'ADDON_') : remoteAddons.selected.request.path.id;\n }\n :\n null,\n onSelect: (event) => {\n window.location = event.value;\n }\n };\n const typeSelect = {\n title: t.string('SELECT_TYPE'),\n options: installedAddons.selected !== null ?\n installedAddons.selectable.types.map(({ type, deepLinks }) => ({\n value: deepLinks.addons,\n label: type !== null ? t.stringWithPrefix(type, 'TYPE_') : t.string('TYPE_ALL')\n }))\n :\n remoteAddons.selectable.types.map(({ type, deepLinks }) => ({\n value: deepLinks.addons,\n label: t.stringWithPrefix(type, 'TYPE_')\n })),\n selected: installedAddons.selected !== null ?\n installedAddons.selectable.types\n .filter(({ selected }) => selected)\n .map(({ deepLinks }) => deepLinks.addons)\n :\n remoteAddons.selectable.types\n .filter(({ selected }) => selected)\n .map(({ deepLinks }) => deepLinks.addons),\n renderLabelText: () => {\n return installedAddons.selected !== null ?\n installedAddons.selected.request.type === null ?\n t.string('TYPE_ALL')\n :\n t.stringWithPrefix(installedAddons.selected.request.type, 'TYPE_')\n :\n remoteAddons.selected !== null ?\n t.stringWithPrefix(remoteAddons.selected.request.path.type, 'TYPE_')\n :\n typeSelect.title;\n },\n onSelect: (event) => {\n window.location = event.value;\n }\n };\n return [catalogSelect, typeSelect];\n};\n\nconst useSelectableInputs = (installedAddons, remoteAddons) => {\n const t = useTranslate();\n const selectableInputs = React.useMemo(() => {\n return mapSelectableInputs(installedAddons, remoteAddons, t);\n }, [installedAddons, remoteAddons]);\n return selectableInputs;\n};\n\nmodule.exports = useSelectableInputs;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst classnames = require('classnames');\nconst debounce = require('lodash.debounce');\nconst { useTranslation } = require('react-i18next');\nconst { MainNavBars, MetaRow, ContinueWatchingItem, MetaItem, StreamingServerWarning, useStreamingServer, useNotifications, withCoreSuspender, getVisibleChildrenRange, EventModal } = require('stremio/common');\nconst useBoard = require('./useBoard');\nconst useContinueWatchingPreview = require('./useContinueWatchingPreview');\nconst styles = require('./styles');\n\nconst THRESHOLD = 5;\n\nconst Board = () => {\n const { t } = useTranslation();\n const streamingServer = useStreamingServer();\n const continueWatchingPreview = useContinueWatchingPreview();\n const [board, loadBoardRows] = useBoard();\n const notifications = useNotifications();\n const boardCatalogsOffset = continueWatchingPreview.items.length > 0 ? 1 : 0;\n const scrollContainerRef = React.useRef();\n const onVisibleRangeChange = React.useCallback(() => {\n const range = getVisibleChildrenRange(scrollContainerRef.current);\n if (range === null) {\n return;\n }\n\n const start = Math.max(0, range.start - boardCatalogsOffset - THRESHOLD);\n const end = range.end - boardCatalogsOffset + THRESHOLD;\n if (end < start) {\n return;\n }\n\n loadBoardRows({ start, end });\n }, [boardCatalogsOffset]);\n const onScroll = React.useCallback(debounce(onVisibleRangeChange, 250), [onVisibleRangeChange]);\n React.useLayoutEffect(() => {\n onVisibleRangeChange();\n }, [board.catalogs, onVisibleRangeChange]);\n return (\n <div className={styles['board-container']}>\n <EventModal />\n <MainNavBars className={styles['board-content-container']} route={'board'}>\n <div ref={scrollContainerRef} className={styles['board-content']} onScroll={onScroll}>\n {\n continueWatchingPreview.items.length > 0 ?\n <MetaRow\n className={classnames(styles['board-row'], styles['continue-watching-row'], 'animation-fade-in')}\n title={t('BOARD_CONTINUE_WATCHING')}\n catalog={continueWatchingPreview}\n itemComponent={ContinueWatchingItem}\n notifications={notifications}\n />\n :\n null\n }\n {board.catalogs.map((catalog, index) => {\n switch (catalog.content?.type) {\n case 'Ready': {\n return (\n <MetaRow\n key={index}\n className={classnames(styles['board-row'], styles[`board-row-${catalog.content.content[0].posterShape}`], 'animation-fade-in')}\n catalog={catalog}\n itemComponent={MetaItem}\n />\n );\n }\n case 'Err': {\n return (\n <MetaRow\n key={index}\n className={classnames(styles['board-row'], 'animation-fade-in')}\n catalog={catalog}\n message={catalog.content.content}\n />\n );\n }\n default: {\n return (\n <MetaRow.Placeholder\n key={index}\n className={classnames(styles['board-row'], styles['board-row-poster'], 'animation-fade-in')}\n catalog={catalog}\n />\n );\n }\n }\n })}\n </div>\n </MainNavBars>\n {\n streamingServer.settings !== null && streamingServer.settings.type === 'Err' ?\n <StreamingServerWarning className={styles['board-warning-container']} />\n :\n null\n }\n </div>\n );\n};\n\nconst BoardFallback = () => (\n <div className={styles['board-container']}>\n <MainNavBars className={styles['board-content-container']} route={'board'} />\n </div>\n);\n\nmodule.exports = withCoreSuspender(Board, BoardFallback);\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Board = require('./Board');\n\nmodule.exports = Board;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useServices } = require('stremio/services');\nconst { useModelState } = require('stremio/common');\n\nconst useBoard = () => {\n const { core } = useServices();\n const action = React.useMemo(() => ({\n action: 'Load',\n args: {\n model: 'CatalogsWithExtra',\n args: { extra: [] }\n }\n }), []);\n const loadRange = React.useCallback((range) => {\n core.transport.dispatch({\n action: 'CatalogsWithExtra',\n args: {\n action: 'LoadRange',\n args: range\n }\n }, 'board');\n }, []);\n const board = useModelState({ model: 'board', action });\n return [board, loadRange];\n};\n\nmodule.exports = useBoard;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst { useModelState } = require('stremio/common');\n\nconst useContinueWatchingPreview = () => {\n return useModelState({ model: 'continue_watching_preview' });\n};\n\nmodule.exports = useContinueWatchingPreview;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { useServices } = require('stremio/services');\nconst { AddonDetailsModal, DelayedRenderer, Button, MainNavBars, MetaItem, Image, MetaPreview, Multiselect, ModalDialog, CONSTANTS, useBinaryState, useOnScrollToBottom, withCoreSuspender } = require('stremio/common');\nconst useDiscover = require('./useDiscover');\nconst useSelectableInputs = require('./useSelectableInputs');\nconst styles = require('./styles');\n\nconst SCROLL_TO_BOTTOM_TRESHOLD = 400;\n\nconst Discover = ({ urlParams, queryParams }) => {\n const { core } = useServices();\n const [discover, loadNextPage] = useDiscover(urlParams, queryParams);\n const [selectInputs, hasNextPage] = useSelectableInputs(discover);\n const [inputsModalOpen, openInputsModal, closeInputsModal] = useBinaryState(false);\n const [addonModalOpen, openAddonModal, closeAddonModal] = useBinaryState(false);\n const [selectedMetaItemIndex, setSelectedMetaItemIndex] = React.useState(0);\n const metasContainerRef = React.useRef();\n React.useEffect(() => {\n if (discover.catalog?.content.type === 'Loading') {\n metasContainerRef.current.scrollTop = 0;\n }\n }, [discover.catalog]);\n const selectedMetaItem = React.useMemo(() => {\n return discover.catalog !== null &&\n discover.catalog.content.type === 'Ready' &&\n discover.catalog.content.content[selectedMetaItemIndex] ?\n discover.catalog.content.content[selectedMetaItemIndex]\n :\n null;\n }, [discover.catalog, selectedMetaItemIndex]);\n const addToLibrary = React.useCallback(() => {\n if (selectedMetaItem === null) {\n return;\n }\n\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'AddToLibrary',\n args: selectedMetaItem\n }\n });\n }, [selectedMetaItem]);\n const removeFromLibrary = React.useCallback(() => {\n if (selectedMetaItem === null) {\n return;\n }\n\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'RemoveFromLibrary',\n args: selectedMetaItem.id\n }\n });\n }, [selectedMetaItem]);\n const metaItemsOnFocusCapture = React.useCallback((event) => {\n if (event.target.dataset.index !== null && !isNaN(event.target.dataset.index)) {\n setSelectedMetaItemIndex(parseInt(event.target.dataset.index, 10));\n }\n }, []);\n const metaItemOnClick = React.useCallback((event) => {\n if (event.currentTarget.dataset.index !== selectedMetaItemIndex.toString()) {\n event.preventDefault();\n event.currentTarget.focus();\n }\n }, [selectedMetaItemIndex]);\n const onScrollToBottom = React.useCallback(() => {\n if (hasNextPage) {\n loadNextPage();\n }\n }, [hasNextPage, loadNextPage]);\n const onScroll = useOnScrollToBottom(onScrollToBottom, SCROLL_TO_BOTTOM_TRESHOLD);\n React.useEffect(() => {\n closeInputsModal();\n closeAddonModal();\n setSelectedMetaItemIndex(0);\n }, [discover.selected]);\n return (\n <MainNavBars className={styles['discover-container']} route={'discover'}>\n <div className={styles['discover-content']}>\n <div className={styles['catalog-container']}>\n <div className={styles['selectable-inputs-container']}>\n {selectInputs.map(({ title, options, selected, renderLabelText, onSelect }, index) => (\n <Multiselect\n key={index}\n className={styles['select-input']}\n title={title}\n options={options}\n selected={selected}\n renderLabelText={renderLabelText}\n onSelect={onSelect}\n />\n ))}\n <Button className={styles['filter-container']} title={'All filters'} onClick={openInputsModal}>\n <Icon className={styles['filter-icon']} name={'filters'} />\n </Button>\n </div>\n {\n discover.catalog !== null && !discover.catalog.installed ?\n <div className={styles['missing-addon-warning-container']}>\n <div className={styles['warning-label']}>Addon is not installed. Install now?</div>\n <Button className={styles['install-button']} title={'Install addon'} onClick={openAddonModal}>\n <div className={styles['label']}>Install</div>\n </Button>\n </div>\n :\n null\n }\n {\n discover.catalog === null ?\n <DelayedRenderer delay={500}>\n <div className={styles['message-container']}>\n <Image className={styles['image']} src={require('/images/empty.png')} alt={' '} />\n <div className={styles['message-label']}>No catalog selected!</div>\n </div>\n </DelayedRenderer>\n :\n discover.catalog.content.type === 'Err' ?\n <div className={styles['message-container']}>\n <Image className={styles['image']} src={require('/images/empty.png')} alt={' '} />\n <div className={styles['message-label']}>{discover.catalog.content.content}</div>\n </div>\n :\n discover.catalog.content.type === 'Loading' ?\n <div ref={metasContainerRef} className={classnames(styles['meta-items-container'], 'animation-fade-in')}>\n {Array(CONSTANTS.CATALOG_PAGE_SIZE).fill(null).map((_, index) => (\n <div key={index} className={styles['meta-item-placeholder']}>\n <div className={styles['poster-container']} />\n <div className={styles['title-bar-container']}>\n <div className={styles['title-label']} />\n </div>\n </div>\n ))}\n </div>\n :\n <div ref={metasContainerRef} className={classnames(styles['meta-items-container'], 'animation-fade-in')} onScroll={onScroll} onFocusCapture={metaItemsOnFocusCapture}>\n {discover.catalog.content.content.map((metaItem, index) => (\n <MetaItem\n key={index}\n className={classnames({ 'selected': selectedMetaItemIndex === index })}\n type={metaItem.type}\n name={metaItem.name}\n poster={metaItem.poster}\n posterShape={metaItem.posterShape}\n playname={selectedMetaItemIndex === index}\n deepLinks={metaItem.deepLinks}\n watched={metaItem.watched}\n data-index={index}\n onClick={metaItemOnClick}\n />\n ))}\n </div>\n }\n </div>\n {\n selectedMetaItem !== null ?\n <MetaPreview\n className={styles['meta-preview-container']}\n compact={true}\n name={selectedMetaItem.name}\n logo={selectedMetaItem.logo}\n background={selectedMetaItem.poster}\n runtime={selectedMetaItem.runtime}\n releaseInfo={selectedMetaItem.releaseInfo}\n released={selectedMetaItem.released}\n description={selectedMetaItem.description}\n links={selectedMetaItem.links}\n deepLinks={selectedMetaItem.deepLinks}\n trailerStreams={selectedMetaItem.trailerStreams}\n inLibrary={selectedMetaItem.inLibrary}\n toggleInLibrary={selectedMetaItem.inLibrary ? removeFromLibrary : addToLibrary}\n />\n :\n discover.catalog !== null && discover.catalog.content.type === 'Loading' ?\n <div className={styles['meta-preview-container']} />\n :\n null\n }\n </div>\n {\n inputsModalOpen ?\n <ModalDialog title={'Catalog filters'} className={styles['selectable-inputs-modal']} onCloseRequest={closeInputsModal}>\n {selectInputs.map(({ title, options, selected, renderLabelText, onSelect }, index) => (\n <Multiselect\n key={index}\n className={styles['select-input']}\n title={title}\n options={options}\n selected={selected}\n renderLabelText={renderLabelText}\n onSelect={onSelect}\n />\n ))}\n </ModalDialog>\n :\n null\n }\n {\n addonModalOpen && discover.selected !== null ?\n <AddonDetailsModal transportUrl={discover.selected.request.base} onCloseRequest={closeAddonModal} />\n :\n null\n }\n </MainNavBars>\n );\n};\n\nDiscover.propTypes = {\n urlParams: PropTypes.shape({\n transportUrl: PropTypes.string,\n type: PropTypes.string,\n catalogId: PropTypes.string\n }),\n queryParams: PropTypes.instanceOf(URLSearchParams)\n};\n\nconst DiscoverFallback = () => (\n <MainNavBars className={styles['discover-container']} route={'discover'} />\n);\n\nmodule.exports = withCoreSuspender(Discover, DiscoverFallback);\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Discover = require('./Discover');\n\nmodule.exports = Discover;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst UrlUtils = require('url');\nconst { useServices } = require('stremio/services');\nconst { useModelState } = require('stremio/common');\n\nconst map = (discover) => ({\n ...discover,\n catalog: discover.catalog !== null && discover.catalog.content.type === 'Ready' ?\n {\n ...discover.catalog,\n content: {\n ...discover.catalog.content,\n content: discover.catalog.content.content.map((metaItem) => ({\n ...metaItem,\n released: new Date(typeof metaItem.released === 'string' ? metaItem.released : NaN),\n }))\n }\n }\n :\n discover.catalog\n});\n\nconst useDiscover = (urlParams, queryParams) => {\n const { core } = useServices();\n const loadNextPage = React.useCallback(() => {\n core.transport.dispatch({\n action: 'CatalogWithFilters',\n args: {\n action: 'LoadNextPage'\n }\n }, 'discover');\n }, []);\n const action = React.useMemo(() => {\n if (typeof urlParams.transportUrl === 'string' && typeof urlParams.type === 'string' && typeof urlParams.catalogId === 'string') {\n const { hostname } = UrlUtils.parse(urlParams.transportUrl);\n if (typeof hostname === 'string' && hostname.length > 0) {\n return {\n action: 'Load',\n args: {\n model: 'CatalogWithFilters',\n args: {\n request: {\n base: urlParams.transportUrl,\n path: {\n resource: 'catalog',\n type: urlParams.type,\n id: urlParams.catalogId,\n extra: Array.from(queryParams.entries())\n }\n }\n }\n }\n };\n }\n } else {\n return {\n action: 'Load',\n args: {\n model: 'CatalogWithFilters',\n args: null\n }\n };\n }\n\n return {\n action: 'Unload'\n };\n }, [urlParams, queryParams]);\n const discover = useModelState({ model: 'discover', action, map, deps: ['ctx'] });\n return [discover, loadNextPage];\n};\n\nmodule.exports = useDiscover;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useTranslate } = require('stremio/common');\n\nconst mapSelectableInputs = (discover, t) => {\n const typeSelect = {\n title: t.string('SELECT_TYPE'),\n options: discover.selectable.types\n .map(({ type, deepLinks }) => ({\n value: deepLinks.discover,\n label: t.stringWithPrefix(type, 'TYPE_')\n })),\n selected: discover.selectable.types\n .filter(({ selected }) => selected)\n .map(({ deepLinks }) => deepLinks.discover),\n renderLabelText: discover.selected !== null ?\n () => t.stringWithPrefix(discover.selected.request.path.type, 'TYPE_')\n :\n null,\n onSelect: (event) => {\n window.location = event.value;\n }\n };\n const catalogSelect = {\n title: t.string('SELECT_CATALOG'),\n options: discover.selectable.catalogs\n .map(({ id, name, addon, deepLinks }) => ({\n value: deepLinks.discover,\n label: t.catalogTitle({ addon, id, name }),\n title: `${name} (${addon.manifest.name})`\n })),\n selected: discover.selectable.catalogs\n .filter(({ selected }) => selected)\n .map(({ deepLinks }) => deepLinks.discover),\n renderLabelText: discover.selected !== null ?\n () => {\n const selectableCatalog = discover.selectable.catalogs\n .find(({ id }) => id === discover.selected.request.path.id);\n return selectableCatalog ? t.catalogTitle(selectableCatalog, false) : discover.selected.request.path.id;\n }\n :\n null,\n onSelect: (event) => {\n window.location = event.value;\n }\n };\n const extraSelects = discover.selectable.extra.map(({ name, isRequired, options }) => ({\n title: t.stringWithPrefix(name, 'SELECT_'),\n isRequired: isRequired,\n options: options.map(({ value, deepLinks }) => ({\n label: typeof value === 'string' ? t.stringWithPrefix(value) : t.string('NONE'),\n value: JSON.stringify({\n href: deepLinks.discover,\n value\n })\n })),\n selected: options\n .filter(({ selected }) => selected)\n .map(({ value, deepLinks }) => JSON.stringify({\n href: deepLinks.discover,\n value\n })),\n renderLabelText: options.some(({ selected, value }) => selected && value === null) ?\n () => t.stringWithPrefix(name, 'SELECT_')\n :\n null,\n onSelect: (event) => {\n const { href } = JSON.parse(event.value);\n window.location = href;\n }\n }));\n return [[typeSelect, catalogSelect, ...extraSelects], discover.selectable.nextPage];\n};\n\nconst useSelectableInputs = (discover) => {\n const t = useTranslate();\n const selectableInputs = React.useMemo(() => {\n return mapSelectableInputs(discover, t);\n }, [discover.selected, discover.selectable]);\n return selectableInputs;\n};\n\nmodule.exports = useSelectableInputs;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { Button, Checkbox } = require('stremio/common');\nconst styles = require('./styles');\n\nconst ConsentCheckbox = React.forwardRef(({ className, label, link, href, onToggle, ...props }, ref) => {\n const checkboxOnClick = React.useCallback((event) => {\n if (typeof props.onClick === 'function') {\n props.onClick(event);\n }\n\n if (!event.nativeEvent.togglePrevented && typeof onToggle === 'function') {\n onToggle({\n type: 'toggle',\n reactEvent: event,\n nativeEvent: event.nativeEvent\n });\n }\n }, [onToggle, props.onClick]);\n const linkOnClick = React.useCallback((event) => {\n event.nativeEvent.togglePrevented = true;\n }, []);\n return (\n <Checkbox {...props} ref={ref} className={classnames(className, styles['consent-checkbox-container'])} onClick={checkboxOnClick}>\n <div className={styles['label']}>\n {label}\n {' '}\n {\n typeof link === 'string' && link.length > 0 && typeof href === 'string' && href.length > 0 ?\n <Button className={styles['link']} href={href} target={'_blank'} tabIndex={-1} onClick={linkOnClick}>\n {link}\n </Button>\n :\n null\n }\n </div>\n </Checkbox>\n );\n});\n\nConsentCheckbox.displayName = 'ConsentCheckbox';\n\nConsentCheckbox.propTypes = {\n className: PropTypes.string,\n checked: PropTypes.bool,\n label: PropTypes.string,\n link: PropTypes.string,\n href: PropTypes.string,\n onToggle: PropTypes.func,\n onClick: PropTypes.func\n};\n\nmodule.exports = ConsentCheckbox;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst ConsentCheckbox = require('./ConsentCheckbox');\n\nmodule.exports = ConsentCheckbox;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst { TextInput } = require('stremio/common');\n\nconst CredentialsTextInput = React.forwardRef((props, ref) => {\n const onKeyDown = React.useCallback((event) => {\n if (typeof props.onKeyDown === 'function') {\n props.onKeyDown(event);\n }\n\n if (!event.nativeEvent.navigationPrevented) {\n if (['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'].includes(event.key)) {\n event.nativeEvent.spatialNavigationPrevented = true;\n }\n\n if (!event.shiftKey) {\n if (event.key === 'ArrowDown') {\n window.navigate('down');\n } else if (event.key === 'ArrowUp') {\n window.navigate('up');\n }\n }\n }\n }, [props.onKeyDown]);\n return (\n <TextInput {...props} ref={ref} onKeyDown={onKeyDown} />\n );\n});\n\nCredentialsTextInput.displayName = 'CredentialsTextInput';\n\nCredentialsTextInput.propTypes = {\n onKeyDown: PropTypes.func\n};\n\nmodule.exports = CredentialsTextInput;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst CredentialsTextInput = require('./CredentialsTextInput');\n\nmodule.exports = CredentialsTextInput;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useTranslation } = require('react-i18next');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { Modal, useRouteFocused } = require('stremio-router');\nconst { useServices } = require('stremio/services');\nconst { Button, Image, useBinaryState } = require('stremio/common');\nconst CredentialsTextInput = require('./CredentialsTextInput');\nconst ConsentCheckbox = require('./ConsentCheckbox');\nconst PasswordResetModal = require('./PasswordResetModal');\nconst useFacebookLogin = require('./useFacebookLogin');\nconst styles = require('./styles');\n\nconst SIGNUP_FORM = 'signup';\nconst LOGIN_FORM = 'login';\n\nconst Intro = ({ queryParams }) => {\n const { core } = useServices();\n const { t } = useTranslation();\n const routeFocused = useRouteFocused();\n const [startFacebookLogin, stopFacebookLogin] = useFacebookLogin();\n const emailRef = React.useRef(null);\n const passwordRef = React.useRef(null);\n const confirmPasswordRef = React.useRef(null);\n const termsRef = React.useRef(null);\n const privacyPolicyRef = React.useRef(null);\n const marketingRef = React.useRef(null);\n const errorRef = React.useRef(null);\n const [passwordRestModalOpen, openPasswordRestModal, closePasswordResetModal] = useBinaryState(false);\n const [loaderModalOpen, openLoaderModal, closeLoaderModal] = useBinaryState(false);\n const [state, dispatch] = React.useReducer(\n (state, action) => {\n switch (action.type) {\n case 'set-form':\n if (state.form !== action.form) {\n return {\n form: action.form,\n email: '',\n password: '',\n confirmPassword: '',\n termsAccepted: false,\n privacyPolicyAccepted: false,\n marketingAccepted: false,\n error: ''\n };\n }\n return state;\n case 'change-credentials':\n return {\n ...state,\n error: '',\n [action.name]: action.value\n };\n case 'toggle-checkbox':\n return {\n ...state,\n error: '',\n [action.name]: !state[action.name]\n };\n case 'error':\n return {\n ...state,\n error: action.error\n };\n default:\n return state;\n }\n },\n {\n form: [LOGIN_FORM, SIGNUP_FORM].includes(queryParams.get('form')) ? queryParams.get('form') : SIGNUP_FORM,\n email: '',\n password: '',\n confirmPassword: '',\n termsAccepted: false,\n privacyPolicyAccepted: false,\n marketingAccepted: false,\n error: ''\n }\n );\n const loginWithFacebook = React.useCallback(() => {\n openLoaderModal();\n startFacebookLogin()\n .then(({ email, password }) => {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'Authenticate',\n args: {\n type: 'Login',\n email,\n password,\n facebook: true\n }\n }\n });\n })\n .catch((error) => {\n closeLoaderModal();\n dispatch({ type: 'error', error: error.message });\n });\n }, []);\n const cancelLoginWithFacebook = React.useCallback(() => {\n stopFacebookLogin();\n closeLoaderModal();\n }, []);\n const loginWithEmail = React.useCallback(() => {\n if (typeof state.email !== 'string' || state.email.length === 0 || !emailRef.current.validity.valid) {\n dispatch({ type: 'error', error: 'Invalid email' });\n return;\n }\n if (typeof state.password !== 'string' || state.password.length === 0) {\n dispatch({ type: 'error', error: 'Invalid password' });\n return;\n }\n openLoaderModal();\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'Authenticate',\n args: {\n type: 'Login',\n email: state.email,\n password: state.password\n }\n }\n });\n }, [state.email, state.password]);\n const loginAsGuest = React.useCallback(() => {\n if (!state.termsAccepted) {\n dispatch({ type: 'error', error: 'You must accept the Terms of Service' });\n return;\n }\n window.location = '#/';\n }, [state.termsAccepted]);\n const signup = React.useCallback(() => {\n if (typeof state.email !== 'string' || state.email.length === 0 || !emailRef.current.validity.valid) {\n dispatch({ type: 'error', error: 'Invalid email' });\n return;\n }\n if (typeof state.password !== 'string' || state.password.length === 0) {\n dispatch({ type: 'error', error: 'Invalid password' });\n return;\n }\n if (state.password !== state.confirmPassword) {\n dispatch({ type: 'error', error: 'Passwords do not match' });\n return;\n }\n if (!state.termsAccepted) {\n dispatch({ type: 'error', error: 'You must accept the Terms of Service' });\n return;\n }\n if (!state.privacyPolicyAccepted) {\n dispatch({ type: 'error', error: 'You must accept the Privacy Policy' });\n return;\n }\n openLoaderModal();\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'Authenticate',\n args: {\n type: 'Register',\n email: state.email,\n password: state.password,\n gdpr_consent: {\n tos: state.termsAccepted,\n privacy: state.privacyPolicyAccepted,\n marketing: state.marketingAccepted,\n from: 'web'\n }\n }\n }\n });\n }, [state.email, state.password, state.confirmPassword, state.termsAccepted, state.privacyPolicyAccepted, state.marketingAccepted]);\n const emailOnChange = React.useCallback((event) => {\n dispatch({\n type: 'change-credentials',\n name: 'email',\n value: event.currentTarget.value\n });\n }, []);\n const emailOnSubmit = React.useCallback(() => {\n passwordRef.current.focus();\n }, []);\n const passwordOnChange = React.useCallback((event) => {\n dispatch({\n type: 'change-credentials',\n name: 'password',\n value: event.currentTarget.value\n });\n }, []);\n const passwordOnSubmit = React.useCallback(() => {\n if (state.form === SIGNUP_FORM) {\n confirmPasswordRef.current.focus();\n } else {\n loginWithEmail();\n }\n }, [state.form, loginWithEmail]);\n const confirmPasswordOnChange = React.useCallback((event) => {\n dispatch({\n type: 'change-credentials',\n name: 'confirmPassword',\n value: event.currentTarget.value\n });\n }, []);\n const confirmPasswordOnSubmit = React.useCallback(() => {\n termsRef.current.focus();\n }, []);\n const toggleTermsAccepted = React.useCallback(() => {\n dispatch({ type: 'toggle-checkbox', name: 'termsAccepted' });\n }, []);\n const togglePrivacyPolicyAccepted = React.useCallback(() => {\n dispatch({ type: 'toggle-checkbox', name: 'privacyPolicyAccepted' });\n }, []);\n const toggleMarketingAccepted = React.useCallback(() => {\n dispatch({ type: 'toggle-checkbox', name: 'marketingAccepted' });\n }, []);\n const switchFormOnClick = React.useCallback(() => {\n const queryParams = new URLSearchParams([['form', state.form === SIGNUP_FORM ? LOGIN_FORM : SIGNUP_FORM]]);\n window.location = `#/intro?${queryParams.toString()}`;\n }, [state.form]);\n React.useEffect(() => {\n if ([LOGIN_FORM, SIGNUP_FORM].includes(queryParams.get('form'))) {\n dispatch({ type: 'set-form', form: queryParams.get('form') });\n }\n }, [queryParams]);\n React.useEffect(() => {\n if (routeFocused && typeof state.error === 'string' && state.error.length > 0) {\n errorRef.current.scrollIntoView();\n }\n }, [state.error]);\n React.useEffect(() => {\n if (routeFocused) {\n emailRef.current.focus();\n }\n }, [state.form, routeFocused]);\n React.useEffect(() => {\n const onCoreEvent = ({ event, args }) => {\n switch (event) {\n case 'UserAuthenticated': {\n closeLoaderModal();\n if (routeFocused) {\n window.location = '#/';\n }\n break;\n }\n case 'Error': {\n if (args.source.event === 'UserAuthenticated') {\n closeLoaderModal();\n }\n\n break;\n }\n }\n };\n core.transport.on('CoreEvent', onCoreEvent);\n return () => {\n core.transport.off('CoreEvent', onCoreEvent);\n };\n }, [routeFocused]);\n return (\n <div className={styles['intro-container']}>\n <div className={styles['background-container']} />\n <div className={styles['heading-container']}>\n <div className={styles['logo-container']}>\n <Image className={styles['logo']} src={require('/images/logo.png')} alt={' '} />\n </div>\n <div className={styles['title-container']}>\n Freedom to Stream\n </div>\n <div className={styles['slogan-container']}>\n All the Video Content You Enjoy in One Place\n </div>\n </div>\n <div className={styles['content-container']}>\n <div className={styles['form-container']}>\n <CredentialsTextInput\n ref={emailRef}\n className={styles['credentials-text-input']}\n type={'email'}\n placeholder={'Email'}\n value={state.email}\n onChange={emailOnChange}\n onSubmit={emailOnSubmit}\n />\n <CredentialsTextInput\n ref={passwordRef}\n className={styles['credentials-text-input']}\n type={'password'}\n placeholder={'Password'}\n value={state.password}\n onChange={passwordOnChange}\n onSubmit={passwordOnSubmit}\n />\n {\n state.form === SIGNUP_FORM ?\n <React.Fragment>\n <CredentialsTextInput\n ref={confirmPasswordRef}\n className={styles['credentials-text-input']}\n type={'password'}\n placeholder={'Confirm Password'}\n value={state.confirmPassword}\n onChange={confirmPasswordOnChange}\n onSubmit={confirmPasswordOnSubmit}\n />\n <ConsentCheckbox\n ref={termsRef}\n className={styles['consent-checkbox']}\n label={'I have read and agree with the Stremio'}\n link={'Terms and conditions'}\n href={'https://www.stremio.com/tos'}\n checked={state.termsAccepted}\n onToggle={toggleTermsAccepted}\n />\n <ConsentCheckbox\n ref={privacyPolicyRef}\n className={styles['consent-checkbox']}\n label={'I have read and agree with the Stremio'}\n link={'Privacy Policy'}\n href={'https://www.stremio.com/privacy'}\n checked={state.privacyPolicyAccepted}\n onToggle={togglePrivacyPolicyAccepted}\n />\n <ConsentCheckbox\n ref={marketingRef}\n className={styles['consent-checkbox']}\n label={'I agree to receive marketing communications from Stremio'}\n checked={state.marketingAccepted}\n onToggle={toggleMarketingAccepted}\n />\n </React.Fragment>\n :\n <div className={styles['forgot-password-link-container']}>\n <Button className={styles['forgot-password-link']} onClick={openPasswordRestModal}>Forgot password?</Button>\n </div>\n }\n {\n state.error.length > 0 ?\n <div ref={errorRef} className={styles['error-message']}>{state.error}</div>\n :\n null\n }\n <Button className={classnames(styles['form-button'], styles['submit-button'])} onClick={state.form === SIGNUP_FORM ? signup : loginWithEmail}>\n <div className={styles['label']}>{state.form === SIGNUP_FORM ? 'Sign up' : 'Log in'}</div>\n </Button>\n </div>\n <div className={styles['options-container']}>\n <Button className={classnames(styles['form-button'], styles['facebook-button'])} onClick={loginWithFacebook}>\n <Icon className={styles['icon']} name={'facebook'} />\n <div className={styles['label']}>Continue with Facebook</div>\n </Button>\n {\n state.form === SIGNUP_FORM ?\n <Button className={classnames(styles['form-button'], styles['login-form-button'])} onClick={switchFormOnClick}>\n <div className={styles['label']}>LOG IN</div>\n </Button>\n :\n null\n }\n {\n state.form === LOGIN_FORM ?\n <Button className={classnames(styles['form-button'], styles['signup-form-button'])} onClick={switchFormOnClick}>\n <div className={styles['label']}>SIGN UP WITH EMAIL</div>\n </Button>\n :\n null\n }\n {\n state.form === SIGNUP_FORM ?\n <Button className={classnames(styles['form-button'], styles['guest-login-button'])} onClick={loginAsGuest}>\n <div className={styles['label']}>GUEST LOGIN</div>\n </Button>\n :\n null\n }\n </div>\n </div>\n {\n passwordRestModalOpen ?\n <PasswordResetModal email={state.email} onCloseRequest={closePasswordResetModal} />\n :\n null\n }\n {\n loaderModalOpen ?\n <Modal className={styles['loading-modal-container']}>\n <div className={styles['loader-container']}>\n <Icon className={styles['icon']} name={'person'} />\n <div className={styles['label']}>Authenticating...</div>\n <Button className={styles['button']} onClick={cancelLoginWithFacebook}>\n {t('BUTTON_CANCEL')}\n </Button>\n </div>\n </Modal>\n :\n null\n }\n </div>\n );\n};\n\nIntro.propTypes = {\n queryParams: PropTypes.instanceOf(URLSearchParams)\n};\n\nmodule.exports = Intro;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst { useRouteFocused } = require('stremio-router');\nconst { ModalDialog, usePlatform } = require('stremio/common');\nconst CredentialsTextInput = require('../CredentialsTextInput');\nconst styles = require('./styles');\n\nconst PasswordResetModal = ({ email, onCloseRequest }) => {\n const routeFocused = useRouteFocused();\n const platform = usePlatform();\n const [error, setError] = React.useState('');\n const emailRef = React.useRef(null);\n const goToPasswordReset = React.useCallback(() => {\n emailRef.current.value.length > 0 && emailRef.current.validity.valid ?\n platform.openExternal('https://www.strem.io/reset-password/' + emailRef.current.value, '_blank')\n :\n setError('Invalid email');\n }, []);\n const passwordResetModalButtons = React.useMemo(() => {\n return [\n {\n className: styles['cancel-button'],\n label: 'Cancel',\n props: {\n onClick: onCloseRequest\n }\n },\n {\n label: 'Send',\n props: {\n onClick: goToPasswordReset\n }\n }\n ];\n }, [onCloseRequest]);\n const emailOnChange = React.useCallback(() => {\n setError('');\n }, []);\n React.useEffect(() => {\n if (routeFocused) {\n emailRef.current.focus();\n }\n }, [routeFocused]);\n return (\n <ModalDialog className={styles['password-reset-modal-container']} title={'Password reset'} buttons={passwordResetModalButtons} onCloseRequest={onCloseRequest}>\n <CredentialsTextInput\n ref={emailRef}\n className={styles['credentials-text-input']}\n type={'email'}\n placeholder={'Email'}\n defaultValue={typeof email === 'string' ? email : ''}\n onChange={emailOnChange}\n onSubmit={goToPasswordReset}\n />\n {\n error.length > 0 ?\n <div className={styles['error-message']}>{error}</div>\n :\n null\n }\n </ModalDialog>\n );\n};\n\nPasswordResetModal.propTypes = {\n email: PropTypes.string,\n onCloseRequest: PropTypes.func\n};\n\nmodule.exports = PasswordResetModal;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst PasswordResetModal = require('./PasswordResetModal');\n\nmodule.exports = PasswordResetModal;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Intro = require('./Intro');\n\nmodule.exports = Intro;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst NotFound = require('stremio/routes/NotFound');\nconst { Button, Chips, DelayedRenderer, Multiselect, MainNavBars, LibItem, Image, useProfile, useNotifications, routesRegexp, useOnScrollToBottom, withCoreSuspender } = require('stremio/common');\nconst useLibrary = require('./useLibrary');\nconst useSelectableInputs = require('./useSelectableInputs');\nconst styles = require('./styles');\n\nconst SCROLL_TO_BOTTOM_TRESHOLD = 400;\n\nfunction withModel(Library) {\n const withModel = ({ urlParams, queryParams }) => {\n const model = React.useMemo(() => {\n return typeof urlParams.path === 'string' ?\n urlParams.path.match(routesRegexp.library.regexp) ?\n 'library'\n :\n urlParams.path.match(routesRegexp.continuewatching.regexp) ?\n 'continue_watching'\n :\n null\n :\n null;\n }, [urlParams.path]);\n if (model === null) {\n return (\n <NotFound />\n );\n }\n\n return (\n <Library\n key={model}\n model={model}\n urlParams={urlParams}\n queryParams={queryParams}\n />\n );\n };\n withModel.displayName = 'withModel';\n return withModel;\n}\n\nconst Library = ({ model, urlParams, queryParams }) => {\n const profile = useProfile();\n const notifications = useNotifications();\n const [library, loadNextPage] = useLibrary(model, urlParams, queryParams);\n const [typeSelect, sortChips, hasNextPage] = useSelectableInputs(library);\n const scrollContainerRef = React.useRef(null);\n const onScrollToBottom = React.useCallback(() => {\n if (hasNextPage) {\n loadNextPage();\n }\n }, [hasNextPage, loadNextPage]);\n const onScroll = useOnScrollToBottom(onScrollToBottom, SCROLL_TO_BOTTOM_TRESHOLD);\n React.useLayoutEffect(() => {\n if (profile.auth !== null && library.selected && library.selected.request.page === 1 && library.catalog.length !== 0 ) {\n scrollContainerRef.current.scrollTop = 0;\n }\n }, [profile.auth, library.selected]);\n return (\n <MainNavBars className={styles['library-container']} route={model}>\n <div className={styles['library-content']}>\n {\n model === 'continue_watching' || profile.auth !== null ?\n <div className={styles['selectable-inputs-container']}>\n <Multiselect {...typeSelect} className={styles['select-input-container']} />\n <Chips {...sortChips} className={styles['select-input-container']} />\n </div>\n :\n null\n }\n {\n model === 'library' && profile.auth === null ?\n <div className={classnames(styles['message-container'], styles['no-user-message-container'])}>\n <Image\n className={styles['image']}\n src={require('/images/anonymous.png')}\n alt={' '}\n />\n <div className={styles['message-label']}>Library is only available for logged in users!</div>\n <Button className={styles['login-button-container']} href={'#/intro'}>\n <div className={styles['label']}>LOG IN</div>\n </Button>\n </div>\n :\n library.selected === null ?\n <DelayedRenderer delay={500}>\n <div className={styles['message-container']}>\n <Image\n className={styles['image']}\n src={require('/images/empty.png')}\n alt={' '}\n />\n <div className={styles['message-label']}>{model === 'library' ? 'Library' : 'Continue Watching'} not loaded!</div>\n </div>\n </DelayedRenderer>\n :\n library.catalog.length === 0 ?\n <div className={styles['message-container']}>\n <Image\n className={styles['image']}\n src={require('/images/empty.png')}\n alt={' '}\n />\n <div className={styles['message-label']}>Empty {model === 'library' ? 'Library' : 'Continue Watching'}</div>\n </div>\n :\n <div ref={scrollContainerRef} className={classnames(styles['meta-items-container'], 'animation-fade-in')} onScroll={onScroll}>\n {library.catalog.map((libItem, index) => (\n <LibItem {...libItem} notifications={notifications} removable={model === 'library'} key={index} />\n ))}\n </div>\n }\n </div>\n </MainNavBars>\n );\n};\n\nLibrary.propTypes = {\n model: PropTypes.oneOf(['library', 'continue_watching']),\n urlParams: PropTypes.shape({\n type: PropTypes.string\n }),\n queryParams: PropTypes.instanceOf(URLSearchParams)\n};\n\nconst LibraryFallback = ({ model }) => (\n <MainNavBars className={styles['library-container']} route={model} />\n);\n\nLibraryFallback.propTypes = Library.propTypes;\n\nmodule.exports = withModel(withCoreSuspender(Library, LibraryFallback));\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Library = require('./Library');\n\nmodule.exports = Library;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useServices } = require('stremio/services');\nconst { useModelState } = require('stremio/common');\n\nconst useLibrary = (model, urlParams, queryParams) => {\n const { core } = useServices();\n const loadNextPage = React.useCallback(() => {\n core.transport.dispatch({\n action: 'LibraryWithFilters',\n args: {\n action: 'LoadNextPage',\n }\n }, 'library');\n }, []);\n const action = React.useMemo(() => ({\n action: 'Load',\n args: {\n model: 'LibraryWithFilters',\n args: {\n request: {\n type: typeof urlParams.type === 'string' ? urlParams.type : null,\n sort: queryParams.has('sort') ? queryParams.get('sort') : undefined,\n }\n }\n }\n }), [urlParams, queryParams]);\n const library = useModelState({ model, action });\n return [library, loadNextPage];\n};\n\nmodule.exports = useLibrary;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useTranslate } = require('stremio/common');\n\nconst mapSelectableInputs = (library, t) => {\n const typeSelect = {\n title: t.string('SELECT_TYPE'),\n options: library.selectable.types\n .map(({ type, deepLinks }) => ({\n value: deepLinks.library,\n label: type === null ? t.string('TYPE_ALL') : t.stringWithPrefix(type, 'TYPE_')\n })),\n selected: library.selectable.types\n .filter(({ selected }) => selected)\n .map(({ deepLinks }) => deepLinks.library),\n onSelect: (event) => {\n window.location = event.value;\n }\n };\n const sortChips = {\n options: library.selectable.sorts\n .map(({ sort, deepLinks }) => ({\n value: deepLinks.library,\n label: t.stringWithPrefix(sort.toUpperCase(), 'SORT_')\n })),\n selected: library.selectable.sorts\n .filter(({ selected }) => selected)\n .map(({ deepLinks }) => deepLinks.library),\n onSelect: (value) => {\n window.location = value;\n }\n };\n return [typeSelect, sortChips, library.selectable.nextPage];\n};\n\nconst useSelectableInputs = (library) => {\n const t = useTranslate();\n const selectableInputs = React.useMemo(() => {\n return mapSelectableInputs(library, t);\n }, [library]);\n return selectableInputs;\n};\n\nmodule.exports = useSelectableInputs;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { useServices } = require('stremio/services');\nconst { VerticalNavBar, HorizontalNavBar, MetaPreview, ModalDialog, Image, DelayedRenderer, withCoreSuspender } = require('stremio/common');\nconst StreamsList = require('./StreamsList');\nconst VideosList = require('./VideosList');\nconst useMetaDetails = require('./useMetaDetails');\nconst useSeason = require('./useSeason');\nconst useMetaExtensionTabs = require('./useMetaExtensionTabs');\nconst styles = require('./styles');\n\nconst MetaDetails = ({ urlParams, queryParams }) => {\n const { core } = useServices();\n const metaDetails = useMetaDetails(urlParams);\n const [season, setSeason] = useSeason(urlParams, queryParams);\n const [tabs, metaExtension, clearMetaExtension] = useMetaExtensionTabs(metaDetails.metaExtensions);\n const [metaPath, streamPath] = React.useMemo(() => {\n return metaDetails.selected !== null ?\n [metaDetails.selected.metaPath, metaDetails.selected.streamPath]\n :\n [null, null];\n }, [metaDetails.selected]);\n const video = React.useMemo(() => {\n return streamPath !== null && metaDetails.metaItem !== null && metaDetails.metaItem.content.type === 'Ready' ?\n metaDetails.metaItem.content.content.videos.reduce((result, video) => {\n if (video.id === streamPath.id) {\n return video;\n }\n\n return result;\n }, null)\n :\n null;\n }, [metaDetails.metaItem, streamPath]);\n const addToLibrary = React.useCallback(() => {\n if (metaDetails.metaItem === null || metaDetails.metaItem.content.type !== 'Ready') {\n return;\n }\n\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'AddToLibrary',\n args: metaDetails.metaItem.content.content\n }\n });\n }, [metaDetails]);\n const removeFromLibrary = React.useCallback(() => {\n if (metaDetails.metaItem === null || metaDetails.metaItem.content.type !== 'Ready') {\n return;\n }\n\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'RemoveFromLibrary',\n args: metaDetails.metaItem.content.content.id\n }\n });\n }, [metaDetails]);\n const toggleNotifications = React.useCallback(() => {\n if (metaDetails.libraryItem) {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'ToggleLibraryItemNotifications',\n args: [metaDetails.libraryItem._id, !metaDetails.libraryItem.state.noNotif],\n }\n });\n }\n }, [metaDetails.libraryItem]);\n const seasonOnSelect = React.useCallback((event) => {\n setSeason(event.value);\n }, [setSeason]);\n const renderBackgroundImageFallback = React.useCallback(() => null, []);\n return (\n <div className={styles['metadetails-container']}>\n <HorizontalNavBar\n className={styles['nav-bar']}\n backButton={true}\n addonsButton={true}\n fullscreenButton={true}\n navMenu={true}\n />\n <div className={styles['metadetails-content']}>\n {\n tabs.length > 0 ?\n <VerticalNavBar\n className={styles['vertical-nav-bar']}\n tabs={tabs}\n selected={metaExtension !== null ? metaExtension.url : null}\n />\n :\n null\n }\n {\n metaPath === null ?\n <DelayedRenderer delay={500}>\n <div className={styles['meta-message-container']}>\n <Image className={styles['image']} src={require('/images/empty.png')} alt={' '} />\n <div className={styles['message-label']}>No meta was selected!</div>\n </div>\n </DelayedRenderer>\n :\n metaDetails.metaItem === null ?\n <div className={styles['meta-message-container']}>\n <Image className={styles['image']} src={require('/images/empty.png')} alt={' '} />\n <div className={styles['message-label']}>No addons ware requested for this meta!</div>\n </div>\n :\n metaDetails.metaItem.content.type === 'Err' ?\n <div className={styles['meta-message-container']}>\n <Image className={styles['image']} src={require('/images/empty.png')} alt={' '} />\n <div className={styles['message-label']}>No metadata was found!</div>\n </div>\n :\n metaDetails.metaItem.content.type === 'Loading' ?\n <MetaPreview.Placeholder className={styles['meta-preview']} />\n :\n <React.Fragment>\n {\n typeof metaDetails.metaItem.content.content.background === 'string' &&\n metaDetails.metaItem.content.content.background.length > 0 ?\n <div className={styles['background-image-layer']}>\n <Image\n className={styles['background-image']}\n src={metaDetails.metaItem.content.content.background}\n renderFallback={renderBackgroundImageFallback}\n alt={' '}\n />\n </div>\n :\n null\n }\n <MetaPreview\n className={classnames(styles['meta-preview'], 'animation-fade-in')}\n name={metaDetails.metaItem.content.content.name}\n logo={metaDetails.metaItem.content.content.logo}\n runtime={metaDetails.metaItem.content.content.runtime}\n releaseInfo={metaDetails.metaItem.content.content.releaseInfo}\n released={metaDetails.metaItem.content.content.released}\n description={\n video !== null && typeof video.overview === 'string' && video.overview.length > 0 ?\n video.overview\n :\n metaDetails.metaItem.content.content.description\n }\n links={metaDetails.metaItem.content.content.links}\n trailerStreams={metaDetails.metaItem.content.content.trailerStreams}\n inLibrary={metaDetails.metaItem.content.content.inLibrary}\n toggleInLibrary={metaDetails.metaItem.content.content.inLibrary ? removeFromLibrary : addToLibrary}\n />\n </React.Fragment>\n }\n <div className={styles['spacing']} />\n {\n streamPath !== null ?\n <StreamsList\n className={styles['streams-list']}\n streams={metaDetails.streams}\n video={video}\n />\n :\n metaPath !== null ?\n <VideosList\n className={styles['videos-list']}\n metaItem={metaDetails.metaItem}\n libraryItem={metaDetails.libraryItem}\n season={season}\n seasonOnSelect={seasonOnSelect}\n toggleNotifications={toggleNotifications}\n />\n :\n null\n }\n </div>\n {\n metaExtension !== null ?\n <ModalDialog\n className={styles['meta-extension-modal-container']}\n title={metaExtension.name}\n onCloseRequest={clearMetaExtension}>\n <iframe\n className={styles['meta-extension-modal-iframe']}\n sandbox={'allow-forms allow-scripts allow-same-origin'}\n src={metaExtension.url}\n />\n </ModalDialog>\n :\n null\n }\n </div>\n );\n};\n\nMetaDetails.propTypes = {\n urlParams: PropTypes.shape({\n type: PropTypes.string,\n id: PropTypes.string,\n videoId: PropTypes.string\n }),\n queryParams: PropTypes.instanceOf(URLSearchParams)\n};\n\nconst MetaDetailsFallback = () => (\n <div className={styles['metadetails-container']}>\n <HorizontalNavBar\n className={styles['nav-bar']}\n backButton={true}\n addonsButton={true}\n fullscreenButton={true}\n navMenu={true}\n />\n </div>\n);\n\nmodule.exports = withCoreSuspender(MetaDetails, MetaDetailsFallback);\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { t } = require('i18next');\nconst { Button, Image, useProfile, usePlatform, useToast, Popup, useBinaryState } = require('stremio/common');\nconst { useServices } = require('stremio/services');\nconst { useRouteFocused } = require('stremio-router');\nconst StreamPlaceholder = require('./StreamPlaceholder');\nconst styles = require('./styles');\n\nconst Stream = ({ className, videoId, videoReleased, addonName, name, description, thumbnail, progress, deepLinks, ...props }) => {\n const profile = useProfile();\n const toast = useToast();\n const platform = usePlatform();\n const { core } = useServices();\n const routeFocused = useRouteFocused();\n\n const [menuOpen, , closeMenu, toggleMenu] = useBinaryState(false);\n\n const popupLabelOnMouseUp = React.useCallback((event) => {\n if (!event.nativeEvent.togglePopupPrevented) {\n if (event.nativeEvent.ctrlKey || event.nativeEvent.button === 2) {\n event.preventDefault();\n toggleMenu();\n }\n }\n }, []);\n const popupLabelOnContextMenu = React.useCallback((event) => {\n if (!event.nativeEvent.togglePopupPrevented && !event.nativeEvent.ctrlKey) {\n event.preventDefault();\n }\n }, [toggleMenu]);\n const popupLabelOnLongPress = React.useCallback((event) => {\n if (event.nativeEvent.pointerType !== 'mouse' && !event.nativeEvent.togglePopupPrevented) {\n toggleMenu();\n }\n }, [toggleMenu]);\n const popupMenuOnPointerDown = React.useCallback((event) => {\n event.nativeEvent.togglePopupPrevented = true;\n }, []);\n const popupMenuOnContextMenu = React.useCallback((event) => {\n event.nativeEvent.togglePopupPrevented = true;\n }, []);\n const popupMenuOnClick = React.useCallback((event) => {\n event.nativeEvent.togglePopupPrevented = true;\n }, []);\n const popupMenuOnKeyDown = React.useCallback((event) => {\n event.nativeEvent.buttonClickPrevented = true;\n }, []);\n\n const href = React.useMemo(() => {\n return deepLinks ?\n deepLinks.externalPlayer ?\n deepLinks.externalPlayer.web ?\n deepLinks.externalPlayer.web\n :\n deepLinks.externalPlayer.openPlayer ?\n deepLinks.externalPlayer.openPlayer[platform.name] ?\n deepLinks.externalPlayer.openPlayer[platform.name]\n :\n deepLinks.externalPlayer.playlist\n :\n deepLinks.player\n :\n deepLinks.player\n :\n null;\n }, [deepLinks]);\n\n const download = React.useMemo(() => {\n return href === deepLinks?.externalPlayer?.playlist ?\n deepLinks.externalPlayer.fileName\n :\n null;\n }, [href, deepLinks]);\n\n const target = React.useMemo(() => {\n return href === deepLinks?.externalPlayer?.web ?\n '_blank'\n :\n null;\n }, [href, deepLinks]);\n\n const streamLink = React.useMemo(() => {\n return deepLinks?.externalPlayer?.download;\n }, [deepLinks]);\n\n const markVideoAsWatched = React.useCallback(() => {\n if (typeof videoId === 'string') {\n core.transport.dispatch({\n action: 'MetaDetails',\n args: {\n action: 'MarkVideoAsWatched',\n args: [{ id: videoId, released: videoReleased }, true]\n }\n });\n }\n }, [videoId, videoReleased]);\n\n const onClick = React.useCallback((event) => {\n if (profile.settings.playerType !== null) {\n markVideoAsWatched();\n toast.show({\n type: 'success',\n title: 'Stream opened in external player',\n timeout: 4000\n });\n }\n\n if (typeof props.onClick === 'function') {\n props.onClick(event);\n }\n }, [props.onClick, profile.settings, markVideoAsWatched]);\n\n const copyStreamLink = React.useCallback((event) => {\n event.preventDefault();\n closeMenu();\n if (streamLink) {\n navigator.clipboard.writeText(streamLink)\n .then(() => {\n toast.show({\n type: 'success',\n title: t('PLAYER_COPY_STREAM_SUCCESS'),\n timeout: 4000\n });\n })\n .catch(() => {\n toast.show({\n type: 'error',\n title: t('PLAYER_COPY_STREAM_ERROR'),\n timeout: 4000,\n });\n });\n }\n }, [streamLink]);\n\n const renderThumbnailFallback = React.useCallback(() => (\n <Icon className={styles['placeholder-icon']} name={'ic_broken_link'} />\n ), []);\n\n const renderLabel = React.useMemo(() => function renderLabel({ className, children, ...props }) {\n return (\n <Button className={classnames(className, styles['stream-container'])} title={addonName} href={href} target={target} download={download} onClick={onClick} {...props}>\n <div className={styles['info-container']}>\n {\n typeof thumbnail === 'string' && thumbnail.length > 0 ?\n <div className={styles['thumbnail-container']} title={name || addonName}>\n <Image\n className={styles['thumbnail']}\n src={thumbnail}\n alt={' '}\n renderFallback={renderThumbnailFallback}\n />\n </div>\n :\n <div className={styles['addon-name-container']} title={name || addonName}>\n <div className={styles['addon-name']}>{name || addonName}</div>\n </div>\n }\n {\n progress !== null && !isNaN(progress) && progress > 0 ?\n <div className={styles['progress-bar-container']}>\n <div className={styles['progress-bar']} style={{ width: `${progress}%` }} />\n <div className={styles['progress-bar-background']} />\n </div>\n :\n null\n }\n </div>\n <div className={styles['description-container']} title={description}>{description}</div>\n <Icon className={styles['icon']} name={'play'} />\n {children}\n </Button>\n );\n }, [thumbnail, progress, addonName, name, description, href, target, download, onClick]);\n\n const renderMenu = React.useMemo(() => function renderMenu() {\n return (\n <div className={styles['context-menu-content']} onPointerDown={popupMenuOnPointerDown} onContextMenu={popupMenuOnContextMenu} onClick={popupMenuOnClick} onKeyDown={popupMenuOnKeyDown}>\n <Button className={styles['context-menu-option-container']} title={t('CTX_PLAY')}>\n <div className={styles['context-menu-option-label']}>{t('CTX_PLAY')}</div>\n </Button>\n {\n streamLink &&\n <Button className={styles['context-menu-option-container']} title={t('CTX_COPY_STREAM_LINK')} onClick={copyStreamLink}>\n <div className={styles['context-menu-option-label']}>{t('CTX_COPY_STREAM_LINK')}</div>\n </Button>\n }\n </div>\n );\n }, [copyStreamLink, onClick]);\n\n React.useEffect(() => {\n if (!routeFocused) {\n closeMenu();\n }\n }, [routeFocused]);\n\n return (\n <Popup\n className={className}\n onMouseUp={popupLabelOnMouseUp}\n onLongPress={popupLabelOnLongPress}\n onContextMenu={popupLabelOnContextMenu}\n open={menuOpen}\n onCloseRequest={closeMenu}\n renderLabel={renderLabel}\n renderMenu={renderMenu}\n />\n );\n};\n\nStream.Placeholder = StreamPlaceholder;\n\nStream.propTypes = {\n className: PropTypes.string,\n videoId: PropTypes.string,\n videoReleased: PropTypes.instanceOf(Date),\n addonName: PropTypes.string,\n name: PropTypes.string,\n description: PropTypes.string,\n thumbnail: PropTypes.string,\n progress: PropTypes.number,\n deepLinks: PropTypes.shape({\n player: PropTypes.string,\n externalPlayer: PropTypes.shape({\n download: PropTypes.string,\n streaming: PropTypes.string,\n playlist: PropTypes.string,\n fileName: PropTypes.string,\n web: PropTypes.string,\n openPlayer: PropTypes.shape({\n ios: PropTypes.string,\n android: PropTypes.string,\n windows: PropTypes.string,\n macos: PropTypes.string,\n linux: PropTypes.string,\n })\n })\n }),\n onClick: PropTypes.func\n};\n\nmodule.exports = Stream;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst PlayIconCircleCentered = require('stremio/common/PlayIconCircleCentered');\nconst styles = require('./styles');\n\nconst StreamPlaceholder = ({ className }) => {\n return (\n <div className={classnames(className, styles['stream-placeholder-container'])}>\n <div className={styles['addon-container']}>\n <div className={styles['addon-name']} />\n </div>\n <div className={styles['info-container']}>\n <div className={styles['description-container']} />\n <div className={styles['description-container']} />\n </div>\n <PlayIconCircleCentered className={styles['play-icon']} />\n </div>\n );\n};\n\nStreamPlaceholder.propTypes = {\n className: PropTypes.string\n};\n\nmodule.exports = StreamPlaceholder;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst StreamPlaceholder = require('./StreamPlaceholder');\n\nmodule.exports = StreamPlaceholder;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Stream = require('./Stream');\n\nmodule.exports = Stream;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { useTranslation } = require('react-i18next');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { Button, Image, Multiselect } = require('stremio/common');\nconst { useServices } = require('stremio/services');\nconst Stream = require('./Stream');\nconst styles = require('./styles');\n\nconst ALL_ADDONS_KEY = 'ALL';\n\nconst StreamsList = ({ className, video, ...props }) => {\n const { t } = useTranslation();\n const { core } = useServices();\n const [selectedAddon, setSelectedAddon] = React.useState(ALL_ADDONS_KEY);\n const onAddonSelected = React.useCallback((event) => {\n setSelectedAddon(event.value);\n }, []);\n const backButtonOnClick = React.useCallback(() => {\n if (video.deepLinks && typeof video.deepLinks.metaDetailsVideos === 'string') {\n window.location.replace(video.deepLinks.metaDetailsVideos + (\n typeof video.season === 'number' ?\n `?${new URLSearchParams({'season': video.season})}`\n :\n null\n ));\n } else {\n window.history.back();\n }\n }, [video]);\n const countLoadingAddons = React.useMemo(() => {\n return props.streams.filter((stream) => stream.content.type === 'Loading').length;\n }, [props.streams]);\n const streamsByAddon = React.useMemo(() => {\n return props.streams\n .filter((streams) => streams.content.type === 'Ready')\n .reduce((streamsByAddon, streams) => {\n streamsByAddon[streams.addon.transportUrl] = {\n addon: streams.addon,\n streams: streams.content.content.map((stream) => ({\n ...stream,\n onClick: () => {\n core.transport.analytics({\n event: 'StreamClicked',\n args: {\n stream\n }\n });\n },\n addonName: streams.addon.manifest.name\n }))\n };\n\n return streamsByAddon;\n }, {});\n }, [props.streams]);\n const filteredStreams = React.useMemo(() => {\n return selectedAddon === ALL_ADDONS_KEY ?\n Object.values(streamsByAddon).map(({ streams }) => streams).flat(1)\n :\n streamsByAddon[selectedAddon] ?\n streamsByAddon[selectedAddon].streams\n :\n [];\n }, [streamsByAddon, selectedAddon]);\n const selectableOptions = React.useMemo(() => {\n return {\n title: 'Select Addon',\n options: [\n {\n value: ALL_ADDONS_KEY,\n label: t('ALL_ADDONS'),\n title: t('ALL_ADDONS')\n },\n ...Object.keys(streamsByAddon).map((transportUrl) => ({\n value: transportUrl,\n label: streamsByAddon[transportUrl].addon.manifest.name,\n title: streamsByAddon[transportUrl].addon.manifest.name,\n }))\n ],\n selected: [selectedAddon],\n onSelect: onAddonSelected\n };\n }, [streamsByAddon, selectedAddon]);\n return (\n <div className={classnames(className, styles['streams-list-container'])}>\n <div className={styles['select-choices-wrapper']}>\n {\n video ?\n <React.Fragment>\n <Button className={classnames(styles['button-container'], styles['back-button-container'])} tabIndex={-1} onClick={backButtonOnClick}>\n <Icon className={styles['icon']} name={'chevron-back'} />\n </Button>\n <div className={styles['episode-title']}>\n {`S${video?.season}E${video?.episode} ${(video?.title)}`}\n </div>\n </React.Fragment>\n :\n null\n }\n {\n Object.keys(streamsByAddon).length > 1 ?\n <Multiselect\n {...selectableOptions}\n className={styles['select-input-container']}\n />\n :\n null\n }\n </div>\n {\n props.streams.length === 0 ?\n <div className={styles['message-container']}>\n <Image className={styles['image']} src={require('/images/empty.png')} alt={' '} />\n <div className={styles['label']}>No addons were requested for streams!</div>\n </div>\n :\n props.streams.every((streams) => streams.content.type === 'Err') ?\n <div className={styles['message-container']}>\n <Image className={styles['image']} src={require('/images/empty.png')} alt={' '} />\n <div className={styles['label']}>{t('NO_STREAM')}</div>\n </div>\n :\n filteredStreams.length === 0 ?\n <div className={styles['streams-container']}>\n <Stream.Placeholder />\n <Stream.Placeholder />\n </div>\n :\n <React.Fragment>\n {\n countLoadingAddons > 0 ?\n <div className={styles['addons-loading-container']}>\n <div className={styles['addons-loading']}>\n {countLoadingAddons} {t('MOBILE_ADDONS_LOADING')}\n </div>\n <span className={styles['addons-loading-bar']}></span>\n </div>\n :\n null\n }\n <div className={styles['streams-container']}>\n {filteredStreams.map((stream, index) => (\n <Stream\n key={index}\n videoId={video?.id}\n videoReleased={video?.released}\n addonName={stream.addonName}\n name={stream.name}\n description={stream.description}\n thumbnail={stream.thumbnail}\n progress={stream.progress}\n deepLinks={stream.deepLinks}\n onClick={stream.onClick}\n />\n ))}\n </div>\n </React.Fragment>\n }\n <Button className={styles['install-button-container']} title={t('ADDON_CATALOGUE_MORE')} href={'#/addons'}>\n <Icon className={styles['icon']} name={'addons'} />\n <div className={styles['label']}>{ t('ADDON_CATALOGUE_MORE') }</div>\n </Button>\n </div>\n );\n};\n\nStreamsList.propTypes = {\n className: PropTypes.string,\n streams: PropTypes.arrayOf(PropTypes.object).isRequired,\n video: PropTypes.object\n};\n\nmodule.exports = StreamsList;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst StreamsList = require('./StreamsList');\n\nmodule.exports = StreamsList;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { t } = require('i18next');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { Button } = require('stremio/common');\nconst SeasonsBarPlaceholder = require('./SeasonsBarPlaceholder');\nconst styles = require('./styles');\nconst { MultiselectMenu } = require('stremio/common');\n\nconst SeasonsBar = ({ className, seasons, season, onSelect }) => {\n const options = React.useMemo(() => {\n return seasons.map((season) => ({\n value: String(season),\n label: season > 0 ? `${t('SEASON')} ${season}` : t('SPECIAL')\n }));\n }, [seasons]);\n const selectedSeason = React.useMemo(() => {\n return { label: String(season), value: String(season) };\n }, [season]);\n const prevNextButtonOnClick = React.useCallback((event) => {\n if (typeof onSelect === 'function') {\n const seasonIndex = seasons.indexOf(season);\n const valueIndex = event.currentTarget.dataset.action === 'next' ?\n seasonIndex + 1 < seasons.length ? seasonIndex + 1 : seasons.length - 1\n :\n seasonIndex - 1 >= 0 ? seasonIndex - 1 : 0;\n const value = seasons[valueIndex];\n onSelect({\n type: 'select',\n value: value,\n reactEvent: event,\n nativeEvent: event.nativeEvent\n });\n }\n }, [season, seasons, onSelect]);\n const seasonOnSelect = React.useCallback((value) => {\n if (typeof onSelect === 'function') {\n onSelect({\n type: 'select',\n value: value,\n reactEvent: event.reactEvent,\n nativeEvent: event.nativeEvent\n });\n }\n }, [onSelect]);\n\n const [prevDisabled, nextDisabled] = React.useMemo(() => {\n const currentIndex = seasons.indexOf(season);\n return [\n currentIndex === 0,\n currentIndex === seasons.length - 1\n ];\n }, [season, seasons]);\n\n return (\n <div className={classnames(className, styles['seasons-bar-container'])}>\n <Button className={classnames(styles['prev-season-button'], { 'disabled': prevDisabled })} title={'Previous season'} data-action={'prev'} onClick={prevNextButtonOnClick}>\n <Icon className={styles['icon']} name={'chevron-back'} />\n <div className={styles['label']}>Prev</div>\n </Button>\n <MultiselectMenu\n className={styles['seasons-popup-label-container']}\n options={options}\n title={season > 0 ? `${t('SEASON')} ${season}` : t('SPECIAL')}\n selectedOption={selectedSeason}\n onSelect={seasonOnSelect}\n />\n <Button className={classnames(styles['next-season-button'], { 'disabled': nextDisabled })} title={'Next season'} data-action={'next'} onClick={prevNextButtonOnClick}>\n <div className={styles['label']}>Next</div>\n <Icon className={styles['icon']} name={'chevron-forward'} />\n </Button>\n </div>\n );\n};\n\nSeasonsBar.Placeholder = SeasonsBarPlaceholder;\n\nSeasonsBar.propTypes = {\n className: PropTypes.string,\n seasons: PropTypes.arrayOf(PropTypes.number).isRequired,\n season: PropTypes.number.isRequired,\n onSelect: PropTypes.func\n};\n\nmodule.exports = SeasonsBar;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst styles = require('./styles');\n\nconst SeasonsBarPlaceholder = ({ className }) => {\n return (\n <div className={classnames(className, styles['seasons-bar-placeholder-container'])}>\n <div className={styles['prev-season-button']}>\n <Icon className={styles['icon']} name={'chevron-back'} />\n <div className={styles['label']}>Prev</div>\n </div>\n <div className={styles['seasons-popup-label-container']}>\n <div className={styles['seasons-popup-label']}>Season 1</div>\n <Icon className={styles['seasons-popup-icon']} name={'caret-down'} />\n </div>\n <div className={styles['next-season-button']}>\n <div className={styles['label']}>Next</div>\n <Icon className={styles['icon']} name={'chevron-forward'} />\n </div>\n </div>\n );\n};\n\nSeasonsBarPlaceholder.propTypes = {\n className: PropTypes.string\n};\n\nmodule.exports = SeasonsBarPlaceholder;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst SeasonsBarPlaceholder = require('./SeasonsBarPlaceholder');\n\nmodule.exports = SeasonsBarPlaceholder;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst SeasonsBar = require('./SeasonsBar');\n\nmodule.exports = SeasonsBar;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { t } = require('i18next');\nconst { useServices } = require('stremio/services');\nconst { useRouteFocused } = require('stremio-router');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { Button, Image, Popup, useBinaryState } = require('stremio/common');\nconst VideoPlaceholder = require('./VideoPlaceholder');\nconst styles = require('./styles');\n\nconst Video = ({ className, id, title, thumbnail, episode, released, upcoming, watched, progress, scheduled, deepLinks, ...props }) => {\n const { core } = useServices();\n const routeFocused = useRouteFocused();\n const [menuOpen, , closeMenu, toggleMenu] = useBinaryState(false);\n const popupLabelOnMouseUp = React.useCallback((event) => {\n if (!event.nativeEvent.togglePopupPrevented) {\n if (event.nativeEvent.ctrlKey || event.nativeEvent.button === 2) {\n event.preventDefault();\n toggleMenu();\n }\n }\n }, []);\n const popupLabelOnContextMenu = React.useCallback((event) => {\n if (!event.nativeEvent.togglePopupPrevented && !event.nativeEvent.ctrlKey) {\n event.preventDefault();\n }\n }, [toggleMenu]);\n const popupLabelOnLongPress = React.useCallback((event) => {\n if (event.nativeEvent.pointerType !== 'mouse' && !event.nativeEvent.togglePopupPrevented) {\n toggleMenu();\n }\n }, [toggleMenu]);\n const popupMenuOnPointerDown = React.useCallback((event) => {\n event.nativeEvent.togglePopupPrevented = true;\n }, []);\n const popupMenuOnContextMenu = React.useCallback((event) => {\n event.nativeEvent.togglePopupPrevented = true;\n }, []);\n const popupMenuOnClick = React.useCallback((event) => {\n event.nativeEvent.togglePopupPrevented = true;\n }, []);\n const popupMenuOnKeyDown = React.useCallback((event) => {\n event.nativeEvent.buttonClickPrevented = true;\n }, []);\n const toggleWatchedOnClick = React.useCallback((event) => {\n event.preventDefault();\n closeMenu();\n core.transport.dispatch({\n action: 'MetaDetails',\n args: {\n action: 'MarkVideoAsWatched',\n args: [{ id, released }, !watched]\n }\n });\n }, [id, released, watched]);\n const videoButtonOnClick = React.useCallback(() => {\n if (deepLinks) {\n if (typeof deepLinks.player === 'string') {\n window.location = deepLinks.player;\n } else if (typeof deepLinks.metaDetailsStreams === 'string') {\n window.location.replace(deepLinks.metaDetailsStreams);\n }\n }\n }, [deepLinks]);\n const renderLabel = React.useMemo(() => function renderLabel({ className, id, title, thumbnail, episode, released, upcoming, watched, progress, scheduled, children, ...props }) {\n return (\n <Button {...props} className={classnames(className, styles['video-container'])} title={title}>\n {\n typeof thumbnail === 'string' && thumbnail.length > 0 ?\n <div className={styles['thumbnail-container']}>\n <Image\n className={styles['thumbnail']}\n src={thumbnail}\n alt={' '}\n renderFallback={() => (\n <Icon\n className={styles['placeholder-icon']}\n name={'symbol'}\n />\n )}\n />\n {\n progress !== null && !isNaN(progress) && progress > 0 ?\n <div className={styles['progress-bar-container']}>\n <div className={styles['progress-bar']} style={{ width: `${progress}%` }} />\n <div className={styles['progress-bar-background']} />\n </div>\n :\n null\n }\n </div>\n :\n null\n }\n <div className={styles['info-container']}>\n <div className={styles['title-container']}>\n {episode !== null && !isNaN(episode) ? `${episode}. ` : null}\n {typeof title === 'string' && title.length > 0 ? title : id}\n </div>\n <div className={styles['flex-row-container']}>\n {\n released instanceof Date && !isNaN(released.getTime()) ?\n <div className={styles['released-container']}>\n {released.toLocaleString(undefined, { year: 'numeric', month: 'short', day: 'numeric' })}\n </div>\n :\n scheduled ?\n <div className={styles['released-container']} title={'To be announced'}>\n TBA\n </div>\n :\n null\n }\n <div className={styles['upcoming-watched-container']}>\n {\n upcoming && !watched ?\n <div className={styles['upcoming-container']}>\n <div className={styles['flag-label']}>Upcoming</div>\n </div>\n :\n null\n }\n {\n watched ?\n <div className={styles['watched-container']}>\n <Icon className={styles['flag-icon']} name={'eye'} />\n <div className={styles['flag-label']}>Watched</div>\n </div>\n :\n null\n }\n </div>\n </div>\n </div>\n {children}\n </Button>\n );\n }, []);\n const renderMenu = React.useMemo(() => function renderMenu() {\n return (\n <div className={styles['context-menu-content']} onPointerDown={popupMenuOnPointerDown} onContextMenu={popupMenuOnContextMenu} onClick={popupMenuOnClick} onKeyDown={popupMenuOnKeyDown}>\n <Button className={styles['context-menu-option-container']} title={'Watch'}>\n <div className={styles['context-menu-option-label']}>{t('CTX_WATCH')}</div>\n </Button>\n <Button className={styles['context-menu-option-container']} title={watched ? 'Mark as non-watched' : 'Mark as watched'} onClick={toggleWatchedOnClick}>\n <div className={styles['context-menu-option-label']}>{watched ? t('CTX_MARK_NON_WATCHED') : t('CTX_MARK_WATCHED')}</div>\n </Button>\n </div>\n );\n }, [watched, toggleWatchedOnClick]);\n React.useEffect(() => {\n if (!routeFocused) {\n closeMenu();\n }\n }, [routeFocused]);\n return (\n <Popup\n className={className}\n id={id}\n title={title}\n thumbnail={thumbnail}\n episode={episode}\n released={released}\n upcoming={upcoming}\n watched={watched}\n progress={progress}\n scheduled={scheduled}\n onClick={videoButtonOnClick}\n {...props}\n onMouseUp={popupLabelOnMouseUp}\n onLongPress={popupLabelOnLongPress}\n onContextMenu={popupLabelOnContextMenu}\n open={menuOpen}\n onCloseRequest={closeMenu}\n renderLabel={renderLabel}\n renderMenu={renderMenu}\n />\n );\n};\n\nVideo.Placeholder = VideoPlaceholder;\n\nVideo.propTypes = {\n className: PropTypes.string,\n id: PropTypes.string,\n title: PropTypes.string,\n thumbnail: PropTypes.string,\n episode: PropTypes.number,\n released: PropTypes.instanceOf(Date),\n upcoming: PropTypes.bool,\n watched: PropTypes.bool,\n progress: PropTypes.number,\n scheduled: PropTypes.bool,\n deepLinks: PropTypes.shape({\n metaDetailsStreams: PropTypes.string,\n player: PropTypes.string\n })\n};\n\nmodule.exports = Video;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst styles = require('./styles');\n\nconst VideoPlaceholder = ({ className }) => {\n return (\n <div className={classnames(className, styles['video-placeholder-container'])}>\n <div className={styles['info-container']}>\n <div className={styles['name-container']} />\n <div className={styles['released-container']} />\n </div>\n </div>\n );\n};\n\nVideoPlaceholder.propTypes = {\n className: PropTypes.string\n};\n\nmodule.exports = VideoPlaceholder;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst VideoPlaceholder = require('./VideoPlaceholder');\n\nmodule.exports = VideoPlaceholder;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Video = require('./Video');\n\nmodule.exports = Video;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { t } = require('i18next');\nconst { Image, SearchBar, Checkbox } = require('stremio/common');\nconst SeasonsBar = require('./SeasonsBar');\nconst Video = require('./Video');\nconst styles = require('./styles');\n\nconst VideosList = ({ className, metaItem, libraryItem, season, seasonOnSelect, toggleNotifications }) => {\n const showNotificationsToggle = React.useMemo(() => {\n return metaItem?.content?.content?.inLibrary && metaItem?.content?.content?.videos?.length;\n }, [metaItem]);\n const videos = React.useMemo(() => {\n return metaItem && metaItem.content.type === 'Ready' ?\n metaItem.content.content.videos\n :\n [];\n }, [metaItem]);\n const seasons = React.useMemo(() => {\n return videos\n .map(({ season }) => season)\n .filter((season, index, seasons) => {\n return season !== null &&\n !isNaN(season) &&\n typeof season === 'number' &&\n seasons.indexOf(season) === index;\n })\n .sort((a, b) => (a || Number.MAX_SAFE_INTEGER) - (b || Number.MAX_SAFE_INTEGER));\n }, [videos]);\n const selectedSeason = React.useMemo(() => {\n if (seasons.includes(season)) {\n return season;\n }\n\n const nonSpecialSeasons = seasons.filter((season) => season !== 0);\n if (nonSpecialSeasons.length > 0) {\n return nonSpecialSeasons[nonSpecialSeasons.length - 1];\n }\n\n if (seasons.length > 0) {\n return seasons[seasons.length - 1];\n }\n\n return null;\n }, [seasons, season]);\n const videosForSeason = React.useMemo(() => {\n return videos\n .filter((video) => {\n return selectedSeason === null || video.season === selectedSeason;\n })\n .sort((a, b) => {\n return a.episode - b.episode;\n });\n }, [videos, selectedSeason]);\n const [search, setSearch] = React.useState('');\n const searchInputOnChange = React.useCallback((event) => {\n setSearch(event.currentTarget.value);\n }, []);\n return (\n <div className={classnames(className, styles['videos-list-container'])}>\n {\n !metaItem || metaItem.content.type === 'Loading' ?\n <React.Fragment>\n <SeasonsBar.Placeholder className={styles['seasons-bar']} />\n <SearchBar.Placeholder className={styles['search-bar']} title={t('SEARCH_VIDEOS')} />\n <div className={styles['videos-scroll-container']}>\n <Video.Placeholder />\n <Video.Placeholder />\n <Video.Placeholder />\n <Video.Placeholder />\n <Video.Placeholder />\n </div>\n </React.Fragment>\n :\n metaItem.content.type === 'Err' || videosForSeason.length === 0 ?\n <div className={styles['message-container']}>\n <Image className={styles['image']} src={require('/images/empty.png')} alt={' '} />\n <div className={styles['label']}>No videos found for this meta!</div>\n </div>\n :\n <React.Fragment>\n {\n showNotificationsToggle && libraryItem ?\n <Checkbox className={styles['notifications-checkbox']} checked={!libraryItem.state.noNotif} onClick={toggleNotifications}>\n {t('DETAIL_RECEIVE_NOTIF_SERIES')}\n </Checkbox>\n :\n null\n }\n {\n seasons.length > 0 ?\n <SeasonsBar\n className={styles['seasons-bar']}\n season={selectedSeason}\n seasons={seasons}\n onSelect={seasonOnSelect}\n />\n :\n null\n }\n <SearchBar\n className={styles['search-bar']}\n title={t('SEARCH_VIDEOS')}\n value={search}\n onChange={searchInputOnChange}\n />\n <div className={styles['videos-container']}>\n {\n videosForSeason\n .filter((video) => {\n return search.length === 0 ||\n (\n (typeof video.title === 'string' && video.title.toLowerCase().includes(search.toLowerCase())) ||\n (!isNaN(video.released.getTime()) && video.released.toLocaleString(undefined, { year: '2-digit', month: 'short', day: 'numeric' }).toLowerCase().includes(search.toLowerCase()))\n );\n })\n .map((video, index) => (\n <Video\n key={index}\n id={video.id}\n title={video.title}\n thumbnail={video.thumbnail}\n episode={video.episode}\n released={video.released}\n upcoming={video.upcoming}\n watched={video.watched}\n progress={video.progress}\n deepLinks={video.deepLinks}\n scheduled={video.scheduled}\n />\n ))\n }\n </div>\n </React.Fragment>\n }\n </div>\n );\n};\n\nVideosList.propTypes = {\n className: PropTypes.string,\n metaItem: PropTypes.object,\n libraryItem: PropTypes.object,\n season: PropTypes.number,\n seasonOnSelect: PropTypes.func,\n toggleNotifications: PropTypes.func,\n};\n\nmodule.exports = VideosList;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst VideosList = require('./VideosList');\n\nmodule.exports = VideosList;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst MetaDetails = require('./MetaDetails');\n\nmodule.exports = MetaDetails;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useModelState } = require('stremio/common');\n\nconst map = (metaDetails) => ({\n ...metaDetails,\n metaItem: metaDetails.metaItem !== null && metaDetails.metaItem.content.type === 'Ready' ?\n {\n ...metaDetails.metaItem,\n content: {\n ...metaDetails.metaItem.content,\n content: {\n ...metaDetails.metaItem.content.content,\n released: new Date(\n typeof metaDetails.metaItem.content.content.released === 'string' ?\n metaDetails.metaItem.content.content.released\n :\n NaN\n ),\n videos: metaDetails.metaItem.content.content.videos.map((video) => ({\n ...video,\n released: new Date(\n typeof video.released === 'string' ?\n video.released\n :\n NaN\n ),\n }))\n }\n }\n }\n :\n metaDetails.metaItem\n});\n\nconst useMetaDetails = (urlParams) => {\n const action = React.useMemo(() => {\n if (typeof urlParams.type === 'string' && typeof urlParams.id === 'string') {\n return {\n action: 'Load',\n args: {\n model: 'MetaDetails',\n args: {\n metaPath: {\n resource: 'meta',\n type: urlParams.type,\n id: urlParams.id,\n extra: []\n },\n streamPath: typeof urlParams.videoId === 'string' ?\n {\n resource: 'stream',\n type: urlParams.type,\n id: urlParams.videoId,\n extra: []\n }\n :\n null,\n guessStream: true,\n }\n }\n };\n } else {\n return {\n action: 'Unload'\n };\n }\n }, [urlParams]);\n return useModelState({ model: 'meta_details', action, map });\n};\n\nmodule.exports = useMetaDetails;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\n\nconst useMetaExtensionTabs = (metaExtensions) => {\n const tabs = React.useMemo(() => {\n return metaExtensions\n .map((extension) => ({\n id: extension.url,\n label: extension.addon.manifest.name,\n logo: extension.addon.manifest.logo,\n icon: 'addons',\n onClick: () => setSelected(extension)\n }));\n }, [metaExtensions]);\n const [selected, setSelected] = React.useState(null);\n const clear = React.useCallback(() => {\n setSelected(null);\n }, []);\n return [tabs, selected, clear];\n};\n\nmodule.exports = useMetaExtensionTabs;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\n\nconst useSeason = (urlParams, queryParams) => {\n const season = React.useMemo(() => {\n return queryParams.has('season') && !isNaN(queryParams.get('season')) ?\n parseInt(queryParams.get('season'), 10)\n :\n null;\n }, [queryParams]);\n const setSeason = React.useCallback((season) => {\n const nextQueryParams = new URLSearchParams(queryParams);\n nextQueryParams.set('season', season);\n window.location.replace(`#${urlParams.path}?${nextQueryParams}`);\n }, [urlParams, queryParams]);\n return [season, setSeason];\n};\n\nmodule.exports = useSeason;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { Image, HorizontalNavBar } = require('stremio/common');\nconst styles = require('./styles');\n\nconst NotFound = () => {\n return (\n <div className={styles['not-found-container']}>\n <HorizontalNavBar\n className={styles['nav-bar']}\n title={'Page not found'}\n backButton={true}\n fullscreenButton={true}\n navMenu={true}\n />\n <div className={styles['not-found-content']}>\n <Image\n className={styles['not-found-image']}\n src={require('/images/empty.png')}\n alt={' '}\n />\n <div className={styles['not-found-label']}>Page not found!</div>\n </div>\n </div>\n );\n};\n\nmodule.exports = NotFound;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst NotFound = require('./NotFound');\n\nmodule.exports = NotFound;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { Image } = require('stremio/common');\nconst styles = require('./styles');\n\nconst BufferingLoader = ({ className, logo }) => {\n return (\n <div className={classnames(className, styles['buffering-loader-container'])}>\n <Image\n className={styles['buffering-loader']}\n src={logo}\n alt={' '}\n fallbackSrc={require('/images/stremio_symbol.png')}\n />\n </div>\n );\n};\n\nBufferingLoader.propTypes = {\n className: PropTypes.string,\n logo: PropTypes.string\n};\n\nmodule.exports = BufferingLoader;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst BufferingLoader = require('./BufferingLoader');\n\nmodule.exports = BufferingLoader;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { Button } = require('stremio/common');\nconst { useServices } = require('stremio/services');\nconst SeekBar = require('./SeekBar');\nconst VolumeSlider = require('./VolumeSlider');\nconst styles = require('./styles');\nconst { useBinaryState } = require('stremio/common');\nconst { t } = require('i18next');\n\nconst ControlBar = ({\n className,\n paused,\n time,\n duration,\n buffered,\n volume,\n muted,\n playbackSpeed,\n subtitlesTracks,\n audioTracks,\n metaItem,\n nextVideo,\n stream,\n statistics,\n onPlayRequested,\n onPauseRequested,\n onNextVideoRequested,\n onMuteRequested,\n onUnmuteRequested,\n onVolumeChangeRequested,\n onSeekRequested,\n onToggleSubtitlesMenu,\n onToggleInfoMenu,\n onToggleSpeedMenu,\n onToggleVideosMenu,\n onToggleOptionsMenu,\n onToggleStatisticsMenu,\n ...props\n}) => {\n const { chromecast } = useServices();\n const [chromecastServiceActive, setChromecastServiceActive] = React.useState(() => chromecast.active);\n const [buttonsMenuOpen, , , toogleButtonsMenu] = useBinaryState(false);\n const onSubtitlesButtonMouseDown = React.useCallback((event) => {\n event.nativeEvent.subtitlesMenuClosePrevented = true;\n }, []);\n const onInfoButtonMouseDown = React.useCallback((event) => {\n event.nativeEvent.infoMenuClosePrevented = true;\n }, []);\n const onSpeedButtonMouseDown = React.useCallback((event) => {\n event.nativeEvent.speedMenuClosePrevented = true;\n }, []);\n const onVideosButtonMouseDown = React.useCallback((event) => {\n event.nativeEvent.videosMenuClosePrevented = true;\n }, []);\n const onOptionsButtonMouseDown = React.useCallback((event) => {\n event.nativeEvent.optionsMenuClosePrevented = true;\n }, []);\n const onStatisticsButtonMouseDown = React.useCallback((event) => {\n event.nativeEvent.statisticsMenuClosePrevented = true;\n }, []);\n const onPlayPauseButtonClick = React.useCallback(() => {\n if (paused) {\n if (typeof onPlayRequested === 'function') {\n onPlayRequested();\n }\n } else {\n if (typeof onPauseRequested === 'function') {\n onPauseRequested();\n }\n }\n }, [paused, onPlayRequested, onPauseRequested]);\n const onNextVideoButtonClick = React.useCallback(() => {\n if (nextVideo !== null && typeof onNextVideoRequested === 'function') {\n onNextVideoRequested();\n }\n }, [nextVideo, onNextVideoRequested]);\n const onMuteButtonClick = React.useCallback(() => {\n if (muted) {\n if (typeof onUnmuteRequested === 'function') {\n onUnmuteRequested();\n }\n } else {\n if (typeof onMuteRequested === 'function') {\n onMuteRequested();\n }\n }\n }, [muted, onMuteRequested, onUnmuteRequested]);\n const onChromecastButtonClick = React.useCallback(() => {\n chromecast.transport.requestSession();\n }, []);\n React.useEffect(() => {\n const onStateChanged = () => {\n setChromecastServiceActive(chromecast.active);\n };\n chromecast.on('stateChanged', onStateChanged);\n return () => {\n chromecast.off('stateChanged', onStateChanged);\n };\n }, []);\n return (\n <div {...props} className={classnames(className, styles['control-bar-container'])}>\n <SeekBar\n className={styles['seek-bar']}\n time={time}\n duration={duration}\n buffered={buffered}\n onSeekRequested={onSeekRequested}\n />\n <div className={styles['control-bar-buttons-container']}>\n <Button className={classnames(styles['control-bar-button'], { 'disabled': typeof paused !== 'boolean' })} title={paused ? t('PLAYER_PLAY') : t('PLAYER_PAUSE')} tabIndex={-1} onClick={onPlayPauseButtonClick}>\n <Icon className={styles['icon']} name={typeof paused !== 'boolean' || paused ? 'play' : 'pause'} />\n </Button>\n {\n nextVideo !== null ?\n <Button className={classnames(styles['control-bar-button'])} title={t('PLAYER_NEXT_VIDEO')} tabIndex={-1} onClick={onNextVideoButtonClick}>\n <Icon className={styles['icon']} name={'next'} />\n </Button>\n :\n null\n }\n <Button className={classnames(styles['control-bar-button'], { 'disabled': typeof muted !== 'boolean' })} title={muted ? t('PLAYER_UNMUTE') : t('PLAYER_MUTE')} tabIndex={-1} onClick={onMuteButtonClick}>\n <Icon\n className={styles['icon']}\n name={\n (typeof muted === 'boolean' && muted) ? 'volume-mute' :\n (volume === null || isNaN(volume)) ? 'volume-off' :\n volume < 30 ? 'volume-low' :\n volume < 70 ? 'volume-medium' :\n 'volume-high'\n }\n />\n </Button>\n <VolumeSlider\n className={styles['volume-slider']}\n volume={volume}\n onVolumeChangeRequested={onVolumeChangeRequested}\n />\n <div className={styles['spacing']} />\n <Button className={styles['control-bar-buttons-menu-button']} onClick={toogleButtonsMenu}>\n <Icon className={styles['icon']} name={'more-vertical'} />\n </Button>\n <div className={classnames(styles['control-bar-buttons-menu-container'], { 'open': buttonsMenuOpen })}>\n <Button className={classnames(styles['control-bar-button'], { 'disabled': statistics === null || statistics.type === 'Err' || stream === null || typeof stream.infoHash !== 'string' || typeof stream.fileIdx !== 'number' })} tabIndex={-1} onMouseDown={onStatisticsButtonMouseDown} onClick={onToggleStatisticsMenu}>\n <Icon className={styles['icon']} name={'network'} />\n </Button>\n <Button className={classnames(styles['control-bar-button'], { 'disabled': playbackSpeed === null })} tabIndex={-1} onMouseDown={onSpeedButtonMouseDown} onClick={onToggleSpeedMenu}>\n <Icon className={styles['icon']} name={'speed'} />\n </Button>\n <Button className={classnames(styles['control-bar-button'], { 'disabled': metaItem === null || metaItem.type !== 'Ready' })} tabIndex={-1} onMouseDown={onInfoButtonMouseDown} onClick={onToggleInfoMenu}>\n <Icon className={styles['icon']} name={'about'} />\n </Button>\n <Button className={classnames(styles['control-bar-button'], { 'disabled': !chromecastServiceActive })} tabIndex={-1} onClick={onChromecastButtonClick}>\n <Icon className={styles['icon']} name={'cast'} />\n </Button>\n <Button className={classnames(styles['control-bar-button'], { 'disabled': (!Array.isArray(subtitlesTracks) || subtitlesTracks.length === 0) && (!Array.isArray(audioTracks) || audioTracks.length === 0) })} tabIndex={-1} onMouseDown={onSubtitlesButtonMouseDown} onClick={onToggleSubtitlesMenu}>\n <Icon className={styles['icon']} name={'subtitles'} />\n </Button>\n {\n metaItem?.content?.videos?.length > 0 ?\n <Button className={styles['control-bar-button']} tabIndex={-1} onMouseDown={onVideosButtonMouseDown} onClick={onToggleVideosMenu}>\n <Icon className={styles['icon']} name={'episodes'} />\n </Button>\n :\n null\n }\n <Button className={styles['control-bar-button']} tabIndex={-1} onMouseDown={onOptionsButtonMouseDown} onClick={onToggleOptionsMenu}>\n <Icon className={styles['icon']} name={'more-horizontal'} />\n </Button>\n </div>\n </div>\n </div>\n );\n};\n\nControlBar.propTypes = {\n className: PropTypes.string,\n paused: PropTypes.bool,\n time: PropTypes.number,\n duration: PropTypes.number,\n buffered: PropTypes.number,\n volume: PropTypes.number,\n muted: PropTypes.bool,\n playbackSpeed: PropTypes.number,\n subtitlesTracks: PropTypes.array,\n audioTracks: PropTypes.array,\n metaItem: PropTypes.object,\n nextVideo: PropTypes.object,\n stream: PropTypes.object,\n statistics: PropTypes.object,\n onPlayRequested: PropTypes.func,\n onPauseRequested: PropTypes.func,\n onNextVideoRequested: PropTypes.func,\n onMuteRequested: PropTypes.func,\n onUnmuteRequested: PropTypes.func,\n onVolumeChangeRequested: PropTypes.func,\n onSeekRequested: PropTypes.func,\n onToggleSubtitlesMenu: PropTypes.func,\n onToggleInfoMenu: PropTypes.func,\n onToggleSpeedMenu: PropTypes.func,\n onToggleVideosMenu: PropTypes.func,\n onToggleOptionsMenu: PropTypes.func,\n onToggleStatisticsMenu: PropTypes.func,\n};\n\nmodule.exports = ControlBar;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst debounce = require('lodash.debounce');\nconst { useRouteFocused } = require('stremio-router');\nconst { Slider, Button, useBinaryState } = require('stremio/common');\nconst formatTime = require('./formatTime');\nconst styles = require('./styles');\n\nconst SeekBar = ({ className, time, duration, buffered, onSeekRequested }) => {\n const disabled = time === null || isNaN(time) || duration === null || isNaN(duration);\n const routeFocused = useRouteFocused();\n const [seekTime, setSeekTime] = React.useState(null);\n\n const [remainingTimeMode,,, toggleRemainingTimeMode] = useBinaryState(false);\n const resetTimeDebounced = React.useCallback(debounce(() => {\n setSeekTime(null);\n }, 1500), []);\n const onSlide = React.useCallback((time) => {\n resetTimeDebounced.cancel();\n setSeekTime(time);\n }, []);\n const onComplete = React.useCallback((time) => {\n resetTimeDebounced();\n setSeekTime(time);\n if (typeof onSeekRequested === 'function') {\n onSeekRequested(time);\n }\n }, [onSeekRequested]);\n React.useLayoutEffect(() => {\n if (!routeFocused || disabled) {\n resetTimeDebounced.cancel();\n setSeekTime(null);\n }\n }, [routeFocused, disabled]);\n React.useEffect(() => {\n return () => {\n resetTimeDebounced.cancel();\n };\n }, []);\n return (\n <div className={classnames(className, styles['seek-bar-container'], { 'active': seekTime !== null })}>\n <div className={styles['label']}>{formatTime(seekTime !== null ? seekTime : time)}</div>\n <Slider\n className={classnames(styles['slider'], { 'active': seekTime !== null })}\n value={\n !disabled ?\n seekTime !== null ? seekTime : time\n :\n 0\n }\n buffered={buffered}\n minimumValue={0}\n maximumValue={duration}\n disabled={disabled}\n onSlide={onSlide}\n onComplete={onComplete}\n />\n <Button onClick={toggleRemainingTimeMode} tabIndex={-1}>\n <div className={styles['label']}>\n {remainingTimeMode && duration !== null && !isNaN(duration)\n ? formatTime(duration - time, '-')\n : formatTime(duration) }\n </div>\n </Button>\n </div>\n );\n};\n\nSeekBar.propTypes = {\n className: PropTypes.string,\n time: PropTypes.number,\n duration: PropTypes.number,\n buffered: PropTypes.number,\n onSeekRequested: PropTypes.func\n};\n\nmodule.exports = SeekBar;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst formatUnit = (value) => {\n return ('0' + value).slice(-1 * Math.max(value.toString().length, 2));\n};\n\nconst formatTime = (time, prefix = '') => {\n if (time === null || isNaN(time)) {\n return '--:--:--';\n }\n\n const hours = Math.floor(time / (1000 * 60 * 60));\n const minutes = Math.floor((time / (1000 * 60)) % 60);\n const seconds = Math.floor((time / 1000) % 60);\n return `${formatUnit(hours)}:${formatUnit(minutes)}:${formatUnit(seconds)}${prefix}`;\n};\n\nmodule.exports = formatTime;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst SeekBar = require('./SeekBar');\n\nmodule.exports = SeekBar;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst debounce = require('lodash.debounce');\nconst { useRouteFocused } = require('stremio-router');\nconst { Slider } = require('stremio/common');\nconst styles = require('./styles');\n\nconst VolumeSlider = ({ className, volume, onVolumeChangeRequested }) => {\n const disabled = volume === null || isNaN(volume);\n const routeFocused = useRouteFocused();\n const [slidingVolume, setSlidingVolume] = React.useState(null);\n const resetVolumeDebounced = React.useCallback(debounce(() => {\n setSlidingVolume(null);\n }, 100), []);\n const onSlide = React.useCallback((volume) => {\n resetVolumeDebounced.cancel();\n setSlidingVolume(volume);\n if (typeof onVolumeChangeRequested === 'function') {\n onVolumeChangeRequested(volume);\n }\n }, [onVolumeChangeRequested]);\n const onComplete = React.useCallback((volume) => {\n resetVolumeDebounced();\n setSlidingVolume(volume);\n if (typeof onVolumeChangeRequested === 'function') {\n onVolumeChangeRequested(volume);\n }\n }, [onVolumeChangeRequested]);\n React.useLayoutEffect(() => {\n if (!routeFocused || disabled) {\n resetVolumeDebounced.cancel();\n setSlidingVolume(null);\n }\n }, [routeFocused, disabled]);\n React.useEffect(() => {\n return () => {\n resetVolumeDebounced.cancel();\n };\n }, []);\n return (\n <Slider\n className={classnames(className, styles['volume-slider'], { 'active': slidingVolume !== null })}\n value={\n !disabled ?\n slidingVolume !== null ? slidingVolume : volume\n :\n 100\n }\n minimumValue={0}\n maximumValue={100}\n disabled={disabled}\n onSlide={onSlide}\n onComplete={onComplete}\n />\n );\n};\n\nVolumeSlider.propTypes = {\n className: PropTypes.string,\n volume: PropTypes.number,\n onVolumeChangeRequested: PropTypes.func\n};\n\nmodule.exports = VolumeSlider;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst VolumeSlider = require('./VolumeSlider');\n\nmodule.exports = VolumeSlider;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst ControlBar = require('./ControlBar');\n\nmodule.exports = ControlBar;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useTranslation } = require('react-i18next');\nconst PropTypes = require('prop-types');\nconst classNames = require('classnames');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst Button = require('stremio/common/Button');\nconst styles = require('./styles');\n\nconst Error = ({ className, code, message, stream }) => {\n const { t } = useTranslation();\n\n const [playlist, fileName] = React.useMemo(() => {\n return [\n stream?.deepLinks?.externalPlayer?.playlist,\n stream?.deepLinks?.externalPlayer?.fileName,\n ];\n }, [stream]);\n\n return (\n <div className={classNames(className, styles['error'])}>\n <div className={styles['error-label']} title={message}>{message}</div>\n {\n code === 2 ?\n <div className={styles['error-sub']} title={t('EXTERNAL_PLAYER_HINT')}>{t('EXTERNAL_PLAYER_HINT')}</div>\n :\n null\n }\n {\n playlist && fileName ?\n <Button\n className={styles['playlist-button']}\n title={t('PLAYER_OPEN_IN_EXTERNAL')}\n href={playlist}\n download={fileName}\n target={'_blank'}\n >\n <Icon className={styles['icon']} name={'ic_downloads'} />\n <div className={styles['label']}>{t('PLAYER_OPEN_IN_EXTERNAL')}</div>\n </Button>\n :\n null\n }\n </div>\n );\n};\n\nError.propTypes = {\n className: PropTypes.string,\n code: PropTypes.number,\n message: PropTypes.string,\n stream: PropTypes.object,\n};\n\nmodule.exports = Error;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Error = require('./Error');\n\nmodule.exports = Error;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\n// const Stream = require('stremio/routes/MetaDetails/StreamsList/Stream');\n// const AddonDetails = require('stremio/common/AddonDetailsModal/AddonDetails');\nconst { MetaPreview, CONSTANTS } = require('stremio/common');\nconst styles = require('./styles');\n\nconst InfoMenu = ({ className, ...props }) => {\n const metaItem = React.useMemo(() => {\n return props.metaItem !== null ?\n {\n ...props.metaItem,\n links: props.metaItem.links.filter(({ category }) => category === CONSTANTS.SHARE_LINK_CATEGORY)\n }\n :\n null;\n }, [props.metaItem]);\n const onMouseDown = React.useCallback((event) => {\n event.nativeEvent.infoMenuClosePrevented = true;\n }, []);\n return (\n <div className={classnames(className, styles['info-menu-container'])} onMouseDown={onMouseDown}>\n {\n metaItem !== null ?\n <MetaPreview\n className={styles['meta-preview']}\n compact={true}\n name={metaItem.name}\n logo={metaItem.logo}\n runtime={metaItem.runtime}\n releaseInfo={metaItem.releaseInfo}\n released={metaItem.released}\n description={metaItem.description}\n links={metaItem.links}\n />\n :\n null\n }\n {/* {\n props.stream !== null ?\n <Stream\n {...props.stream}\n className={classnames(styles['stream'], 'active')}\n addonName={props.addon !== null ? props.addon.manifest.name : ''}\n />\n :\n null\n } */}\n {/* {\n props.addon !== null ?\n <AddonDetails\n id={props.addon.manifest.id}\n name={props.addon.manifest.name}\n version={props.addon.manifest.version}\n logo={props.addon.manifest.logo}\n description={props.addon.manifest.description}\n types={props.addon.manifest.types}\n transportUrl={props.addon.transportUrl}\n />\n :\n null\n } */}\n </div>\n );\n};\n\nInfoMenu.propTypes = {\n className: PropTypes.string,\n metaItem: PropTypes.object,\n addon: PropTypes.object,\n stream: PropTypes.object\n};\n\nmodule.exports = InfoMenu;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst InfoMenu = require('./InfoMenu');\n\nmodule.exports = InfoMenu;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { Image, Button, CONSTANTS } = require('stremio/common');\nconst styles = require('./styles');\n\nconst NextVideoPopup = ({ className, metaItem, nextVideo, onDismiss, onNextVideoRequested }) => {\n const watchNowButtonRef = React.useRef(null);\n const [animationEnded, setAnimationEnded] = React.useState(false);\n const videoName = React.useMemo(() => {\n const title = nextVideo && nextVideo.title || metaItem && metaItem.title;\n return nextVideo !== null &&\n typeof nextVideo.season === 'number' &&\n typeof nextVideo.episode === 'number' ?\n `${title} (S${nextVideo.season}E${nextVideo.episode})`\n :\n title;\n }, [metaItem, nextVideo]);\n const onAnimationEnd = React.useCallback(() => {\n setAnimationEnded(true);\n }, []);\n const renderPosterFallback = React.useCallback(() => {\n return metaItem !== null && typeof metaItem.type === 'string' ?\n <Icon\n className={styles['placeholder-icon']}\n name={CONSTANTS.ICON_FOR_TYPE.has(metaItem.type) ? CONSTANTS.ICON_FOR_TYPE.get(metaItem.type) : CONSTANTS.ICON_FOR_TYPE.get('other')}\n />\n :\n null;\n }, [metaItem]);\n const onDismissButtonClick = React.useCallback(() => {\n if (typeof onDismiss === 'function') {\n onDismiss();\n }\n }, [onDismiss]);\n const onWatchNowButtonClick = React.useCallback(() => {\n if (typeof onNextVideoRequested === 'function') {\n onNextVideoRequested();\n }\n }, [onNextVideoRequested]);\n React.useLayoutEffect(() => {\n if (animationEnded === true && watchNowButtonRef.current !== null) {\n watchNowButtonRef.current.focus();\n }\n }, [animationEnded]);\n return (\n <div className={classnames(className, styles['next-video-popup-container'])} onAnimationEnd={onAnimationEnd}>\n <div className={styles['poster-container']}>\n <Image\n className={styles['poster-image']}\n src={nextVideo?.thumbnail}\n alt={' '}\n fallbackSrc={metaItem?.poster}\n renderFallback={renderPosterFallback}\n />\n </div>\n <div className={styles['info-container']}>\n <div className={styles['details-container']}>\n {\n typeof metaItem?.name === 'string' ?\n <div className={styles['name']}>\n <span className={styles['label']}>Next on</span> { metaItem.name }\n </div>\n :\n null\n }\n {\n typeof videoName === 'string' ?\n <div className={styles['title']}>\n { videoName }\n </div>\n :\n null\n }\n {\n nextVideo !== null && typeof nextVideo.overview === 'string' ?\n <div className={styles['description']}>\n { nextVideo.overview }\n </div>\n :\n null\n }\n </div>\n <div className={styles['buttons-container']}>\n <Button className={classnames(styles['button-container'], styles['dismiss'])} onClick={onDismissButtonClick}>\n <Icon className={styles['icon']} name={'close'} />\n <div className={styles['label']}>Dismiss</div>\n </Button>\n <Button ref={watchNowButtonRef} className={classnames(styles['button-container'], styles['play-button'])} onClick={onWatchNowButtonClick}>\n <Icon className={styles['icon']} name={'play'} />\n <div className={styles['label']}>Watch Now</div>\n </Button>\n </div>\n </div>\n </div>\n );\n};\n\nNextVideoPopup.propTypes = {\n className: PropTypes.string,\n metaItem: PropTypes.object,\n nextVideo: PropTypes.object,\n onDismiss: PropTypes.func,\n onNextVideoRequested: PropTypes.func\n};\n\nmodule.exports = NextVideoPopup;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst NextVideoPopup = require('./NextVideoPopup');\n\nmodule.exports = NextVideoPopup;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { Button } = require('stremio/common');\nconst styles = require('./styles');\n\nconst Option = ({ icon, label, deviceId, disabled, onClick }) => {\n const onButtonClick = React.useCallback(() => {\n if (typeof onClick === 'function') {\n onClick(deviceId);\n }\n }, [onClick, deviceId]);\n return (\n <Button className={classnames(styles['option-container'], { 'disabled': disabled })} disabled={disabled} onClick={onButtonClick}>\n <Icon className={styles['icon']} name={icon} />\n <div className={styles['label']}>{ label }</div>\n </Button>\n );\n};\n\nOption.propTypes = {\n icon: PropTypes.string,\n label: PropTypes.string,\n deviceId: PropTypes.string,\n disabled: PropTypes.bool,\n onClick: PropTypes.func,\n};\n\nmodule.exports = Option;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Option = require('./Option');\n\nmodule.exports = Option;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { useTranslation } = require('react-i18next');\nconst { usePlatform, useToast } = require('stremio/common');\nconst { useServices } = require('stremio/services');\nconst Option = require('./Option');\nconst styles = require('./styles');\n\nconst OptionsMenu = ({ className, stream, playbackDevices }) => {\n const { t } = useTranslation();\n const { core } = useServices();\n const platform = usePlatform();\n const toast = useToast();\n const [streamingUrl, downloadUrl] = React.useMemo(() => {\n return stream !== null ?\n stream.deepLinks &&\n stream.deepLinks.externalPlayer &&\n [stream.deepLinks.externalPlayer.streaming, stream.deepLinks.externalPlayer.download]\n :\n [null, null];\n }, [stream]);\n const externalDevices = React.useMemo(() => {\n return playbackDevices.filter(({ type }) => type === 'external');\n }, [playbackDevices]);\n const onCopyStreamButtonClick = React.useCallback(() => {\n if (streamingUrl || downloadUrl) {\n navigator.clipboard.writeText(streamingUrl || downloadUrl)\n .then(() => {\n toast.show({\n type: 'success',\n title: 'Copied',\n message: t('PLAYER_COPY_STREAM_SUCCESS'),\n timeout: 3000\n });\n })\n .catch((e) => {\n console.error(e);\n toast.show({\n type: 'error',\n title: t('Error'),\n message: `${t('PLAYER_COPY_STREAM_ERROR')}: ${streamingUrl || downloadUrl}`,\n timeout: 3000\n });\n });\n }\n }, [streamingUrl, downloadUrl]);\n const onDownloadVideoButtonClick = React.useCallback(() => {\n if (streamingUrl || downloadUrl) {\n platform.openExternal(streamingUrl || downloadUrl);\n }\n }, [streamingUrl, downloadUrl]);\n const onExternalDeviceRequested = React.useCallback((deviceId) => {\n if (streamingUrl) {\n core.transport.dispatch({\n action: 'StreamingServer',\n args: {\n action: 'PlayOnDevice',\n args: {\n device: deviceId,\n source: streamingUrl,\n }\n }\n });\n }\n }, [streamingUrl]);\n const onMouseDown = React.useCallback((event) => {\n event.nativeEvent.optionsMenuClosePrevented = true;\n }, []);\n return (\n <div className={classnames(className, styles['options-menu-container'])} onMouseDown={onMouseDown}>\n {\n streamingUrl || downloadUrl ?\n <Option\n icon={'link'}\n label={t('CTX_COPY_STREAM_LINK')}\n disabled={stream === null}\n onClick={onCopyStreamButtonClick}\n />\n :\n null\n }\n {\n streamingUrl || downloadUrl ?\n <Option\n icon={'download'}\n label={t('CTX_DOWNLOAD_VIDEO')}\n disabled={stream === null}\n onClick={onDownloadVideoButtonClick}\n />\n :\n null\n }\n {\n streamingUrl && externalDevices.map(({ id, name }) => (\n <Option\n key={id}\n icon={'vlc'}\n label={t('PLAYER_PLAY_IN', { device: name })}\n deviceId={id}\n disabled={stream === null}\n onClick={onExternalDeviceRequested}\n />\n ))\n }\n </div>\n );\n};\n\nOptionsMenu.propTypes = {\n className: PropTypes.string,\n stream: PropTypes.object,\n playbackDevices: PropTypes.array\n};\n\nmodule.exports = OptionsMenu;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst OptionsMenu = require('./OptionsMenu');\n\nmodule.exports = OptionsMenu;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst debounce = require('lodash.debounce');\nconst langs = require('langs');\nconst { useTranslation } = require('react-i18next');\nconst { useRouteFocused } = require('stremio-router');\nconst { useServices } = require('stremio/services');\nconst { HorizontalNavBar, useFullscreen, useBinaryState, useToast, useStreamingServer, withCoreSuspender } = require('stremio/common');\nconst BufferingLoader = require('./BufferingLoader');\nconst VolumeChangeIndicator = require('./VolumeChangeIndicator');\nconst Error = require('./Error');\nconst ControlBar = require('./ControlBar');\nconst NextVideoPopup = require('./NextVideoPopup');\nconst StatisticsMenu = require('./StatisticsMenu');\nconst InfoMenu = require('./InfoMenu');\nconst OptionsMenu = require('./OptionsMenu');\nconst VideosMenu = require('./VideosMenu');\nconst SubtitlesMenu = require('./SubtitlesMenu');\nconst SpeedMenu = require('./SpeedMenu');\nconst usePlayer = require('./usePlayer');\nconst useSettings = require('./useSettings');\nconst useStatistics = require('./useStatistics');\nconst useVideo = require('./useVideo');\nconst styles = require('./styles');\nconst Video = require('./Video');\n\nconst Player = ({ urlParams, queryParams }) => {\n const { t } = useTranslation();\n const { chromecast, shell, core } = useServices();\n const forceTranscoding = React.useMemo(() => {\n return queryParams.has('forceTranscoding');\n }, [queryParams]);\n\n const [player, videoParamsChanged, timeChanged, seek, pausedChanged, ended, nextVideo] = usePlayer(urlParams);\n const [settings, updateSettings] = useSettings();\n const streamingServer = useStreamingServer();\n const statistics = useStatistics(player, streamingServer);\n const video = useVideo();\n const routeFocused = useRouteFocused();\n const toast = useToast();\n\n const [seeking, setSeeking] = React.useState(false);\n\n const [casting, setCasting] = React.useState(() => {\n return chromecast.active && chromecast.transport.getCastState() === cast.framework.CastState.CONNECTED;\n });\n\n const [immersed, setImmersed] = React.useState(true);\n const setImmersedDebounced = React.useCallback(debounce(setImmersed, 3000), []);\n const [, , , toggleFullscreen] = useFullscreen();\n\n const [optionsMenuOpen, , closeOptionsMenu, toggleOptionsMenu] = useBinaryState(false);\n const [subtitlesMenuOpen, , closeSubtitlesMenu, toggleSubtitlesMenu] = useBinaryState(false);\n const [infoMenuOpen, , closeInfoMenu, toggleInfoMenu] = useBinaryState(false);\n const [speedMenuOpen, , closeSpeedMenu, toggleSpeedMenu] = useBinaryState(false);\n const [videosMenuOpen, , closeVideosMenu, toggleVideosMenu] = useBinaryState(false);\n const [statisticsMenuOpen, , closeStatisticsMenu, toggleStatisticsMenu] = useBinaryState(false);\n const [nextVideoPopupOpen, openNextVideoPopup, closeNextVideoPopup] = useBinaryState(false);\n\n const menusOpen = React.useMemo(() => {\n return optionsMenuOpen || subtitlesMenuOpen || infoMenuOpen || speedMenuOpen || videosMenuOpen || statisticsMenuOpen;\n }, [optionsMenuOpen, subtitlesMenuOpen, infoMenuOpen, speedMenuOpen, videosMenuOpen, statisticsMenuOpen]);\n\n const closeMenus = React.useCallback(() => {\n closeOptionsMenu();\n closeSubtitlesMenu();\n closeInfoMenu();\n closeSpeedMenu();\n closeVideosMenu();\n closeStatisticsMenu();\n }, []);\n\n const overlayHidden = React.useMemo(() => {\n return immersed && !casting && video.state.paused !== null && !video.state.paused && !menusOpen && !nextVideoPopupOpen;\n }, [immersed, casting, video.state.paused, menusOpen, nextVideoPopupOpen]);\n\n const nextVideoPopupDismissed = React.useRef(false);\n const defaultSubtitlesSelected = React.useRef(false);\n const defaultAudioTrackSelected = React.useRef(false);\n const [error, setError] = React.useState(null);\n\n const onImplementationChanged = React.useCallback(() => {\n video.setProp('subtitlesSize', settings.subtitlesSize);\n video.setProp('subtitlesOffset', settings.subtitlesOffset);\n video.setProp('subtitlesTextColor', settings.subtitlesTextColor);\n video.setProp('subtitlesBackgroundColor', settings.subtitlesBackgroundColor);\n video.setProp('subtitlesOutlineColor', settings.subtitlesOutlineColor);\n video.setProp('extraSubtitlesSize', settings.subtitlesSize);\n video.setProp('extraSubtitlesOffset', settings.subtitlesOffset);\n video.setProp('extraSubtitlesTextColor', settings.subtitlesTextColor);\n video.setProp('extraSubtitlesBackgroundColor', settings.subtitlesBackgroundColor);\n video.setProp('extraSubtitlesOutlineColor', settings.subtitlesOutlineColor);\n }, [settings.subtitlesSize, settings.subtitlesOffset, settings.subtitlesTextColor, settings.subtitlesBackgroundColor, settings.subtitlesOutlineColor]);\n\n const onEnded = React.useCallback(() => {\n ended();\n if (player.nextVideo !== null) {\n onNextVideoRequested();\n } else {\n window.history.back();\n }\n }, [player.nextVideo, onNextVideoRequested]);\n\n const onError = React.useCallback((error) => {\n console.error('Player', error);\n if (error.critical) {\n setError(error);\n } else {\n toast.show({\n type: 'error',\n title: t('ERROR'),\n message: error.message,\n timeout: 3000\n });\n }\n }, []);\n\n const onSubtitlesTrackLoaded = React.useCallback(() => {\n toast.show({\n type: 'success',\n title: t('PLAYER_SUBTITLES_LOADED'),\n message: t('PLAYER_SUBTITLES_LOADED_EMBEDDED'),\n timeout: 3000\n });\n }, []);\n\n const onExtraSubtitlesTrackLoaded = React.useCallback((track) => {\n toast.show({\n type: 'success',\n title: t('PLAYER_SUBTITLES_LOADED'),\n message: track.exclusive ? t('PLAYER_SUBTITLES_LOADED_EXCLUSIVE') : t('PLAYER_SUBTITLES_LOADED_ORIGIN', { origin: track.origin }),\n timeout: 3000\n });\n }, []);\n\n const onPlayRequested = React.useCallback(() => {\n video.setProp('paused', false);\n setSeeking(false);\n }, []);\n\n const onPlayRequestedDebounced = React.useCallback(debounce(onPlayRequested, 200), []);\n\n const onPauseRequested = React.useCallback(() => {\n video.setProp('paused', true);\n }, []);\n\n const onPauseRequestedDebounced = React.useCallback(debounce(onPauseRequested, 200), []);\n const onMuteRequested = React.useCallback(() => {\n video.setProp('muted', true);\n }, []);\n\n const onUnmuteRequested = React.useCallback(() => {\n video.setProp('muted', false);\n }, []);\n\n const onVolumeChangeRequested = React.useCallback((volume) => {\n video.setProp('volume', volume);\n }, []);\n\n const onSeekRequested = React.useCallback((time) => {\n !seeking && setSeeking(true);\n video.setProp('time', time);\n }, []);\n\n const onPlaybackSpeedChanged = React.useCallback((rate) => {\n video.setProp('playbackSpeed', rate);\n }, []);\n\n const onSubtitlesTrackSelected = React.useCallback((id) => {\n video.setProp('selectedSubtitlesTrackId', id);\n video.setProp('selectedExtraSubtitlesTrackId', null);\n }, []);\n\n const onExtraSubtitlesTrackSelected = React.useCallback((id) => {\n video.setProp('selectedSubtitlesTrackId', null);\n video.setProp('selectedExtraSubtitlesTrackId', id);\n }, []);\n\n const onAudioTrackSelected = React.useCallback((id) => {\n video.setProp('selectedAudioTrackId', id);\n }, []);\n\n const onExtraSubtitlesDelayChanged = React.useCallback((delay) => {\n video.setProp('extraSubtitlesDelay', delay);\n }, []);\n\n const onSubtitlesSizeChanged = React.useCallback((size) => {\n updateSettings({ subtitlesSize: size });\n }, [updateSettings]);\n\n const onSubtitlesOffsetChanged = React.useCallback((offset) => {\n updateSettings({ subtitlesOffset: offset });\n }, [updateSettings]);\n\n const onDismissNextVideoPopup = React.useCallback(() => {\n closeNextVideoPopup();\n nextVideoPopupDismissed.current = true;\n }, []);\n\n const onNextVideoRequested = React.useCallback(() => {\n if (player.nextVideo !== null) {\n nextVideo();\n\n const deepLinks = player.nextVideo.deepLinks;\n if (deepLinks.metaDetailsStreams && deepLinks.player) {\n window.location.replace(deepLinks.metaDetailsStreams);\n window.location.href = deepLinks.player;\n } else {\n window.location.replace(deepLinks.player ?? deepLinks.metaDetailsStreams);\n }\n }\n }, [player.nextVideo]);\n\n const onVideoClick = React.useCallback(() => {\n if (video.state.paused !== null) {\n if (video.state.paused) {\n onPlayRequestedDebounced();\n } else {\n onPauseRequestedDebounced();\n }\n }\n }, [video.state.paused]);\n\n const onVideoDoubleClick = React.useCallback(() => {\n onPlayRequestedDebounced.cancel();\n onPauseRequestedDebounced.cancel();\n toggleFullscreen();\n }, [toggleFullscreen]);\n\n const onContainerMouseDown = React.useCallback((event) => {\n if (!event.nativeEvent.optionsMenuClosePrevented) {\n closeOptionsMenu();\n }\n if (!event.nativeEvent.subtitlesMenuClosePrevented) {\n closeSubtitlesMenu();\n }\n if (!event.nativeEvent.infoMenuClosePrevented) {\n closeInfoMenu();\n }\n if (!event.nativeEvent.speedMenuClosePrevented) {\n closeSpeedMenu();\n }\n if (!event.nativeEvent.videosMenuClosePrevented) {\n closeVideosMenu();\n }\n if (!event.nativeEvent.statisticsMenuClosePrevented) {\n closeStatisticsMenu();\n }\n }, []);\n\n const onContainerMouseMove = React.useCallback((event) => {\n setImmersed(false);\n if (!event.nativeEvent.immersePrevented) {\n setImmersedDebounced(true);\n } else {\n setImmersedDebounced.cancel();\n }\n }, []);\n\n const onContainerMouseLeave = React.useCallback(() => {\n setImmersedDebounced.cancel();\n setImmersed(true);\n }, []);\n\n const onBarMouseMove = React.useCallback((event) => {\n event.nativeEvent.immersePrevented = true;\n }, []);\n\n React.useEffect(() => {\n setError(null);\n if (player.selected === null) {\n video.unload();\n } else if (streamingServer.settings !== null && streamingServer.settings.type !== 'Loading' &&\n (player.selected.metaRequest === null || (player.metaItem !== null && player.metaItem.type !== 'Loading'))) {\n video.load({\n stream: {\n ...player.selected.stream,\n subtitles: Array.isArray(player.selected.stream.subtitles) ?\n player.selected.stream.subtitles.map((subtitles) => ({\n ...subtitles,\n label: subtitles.url\n }))\n :\n []\n },\n autoplay: true,\n time: player.libraryItem !== null &&\n player.selected.streamRequest !== null &&\n player.selected.streamRequest.path !== null &&\n player.libraryItem.state.video_id === player.selected.streamRequest.path.id ?\n player.libraryItem.state.timeOffset\n :\n 0,\n forceTranscoding: forceTranscoding || casting,\n maxAudioChannels: settings.surroundSound ? 32 : 2,\n streamingServerURL: streamingServer.baseUrl ?\n casting ?\n streamingServer.baseUrl\n :\n streamingServer.selected.transportUrl\n :\n null,\n seriesInfo: player.seriesInfo\n }, {\n chromecastTransport: chromecast.active ? chromecast.transport : null,\n shellTransport: shell.active ? shell.transport : null,\n });\n }\n }, [streamingServer.baseUrl, player.selected, player.metaItem, forceTranscoding, casting]);\n React.useEffect(() => {\n if (video.state.stream !== null) {\n const tracks = player.subtitles.map((subtitles) => ({\n ...subtitles,\n label: subtitles.url\n }));\n video.addExtraSubtitlesTracks(tracks);\n }\n }, [player.subtitles, video.state.stream]);\n\n React.useEffect(() => {\n video.setProp('subtitlesSize', settings.subtitlesSize);\n video.setProp('extraSubtitlesSize', settings.subtitlesSize);\n }, [settings.subtitlesSize]);\n\n React.useEffect(() => {\n video.setProp('subtitlesOffset', settings.subtitlesOffset);\n video.setProp('extraSubtitlesOffset', settings.subtitlesOffset);\n }, [settings.subtitlesOffset]);\n\n React.useEffect(() => {\n video.setProp('subtitlesTextColor', settings.subtitlesTextColor);\n video.setProp('extraSubtitlesTextColor', settings.subtitlesTextColor);\n }, [settings.subtitlesTextColor]);\n\n React.useEffect(() => {\n video.setProp('subtitlesBackgroundColor', settings.subtitlesBackgroundColor);\n video.setProp('extraSubtitlesBackgroundColor', settings.subtitlesBackgroundColor);\n }, [settings.subtitlesBackgroundColor]);\n\n React.useEffect(() => {\n video.setProp('subtitlesOutlineColor', settings.subtitlesOutlineColor);\n video.setProp('extraSubtitlesOutlineColor', settings.subtitlesOutlineColor);\n }, [settings.subtitlesOutlineColor]);\n\n React.useEffect(() => {\n if (video.state.time !== null && !isNaN(video.state.time) &&\n video.state.duration !== null && !isNaN(video.state.duration) &&\n video.state.manifest !== null && typeof video.state.manifest.name === 'string') {\n seeking ?\n seek(video.state.time, video.state.duration, video.state.manifest.name)\n :\n timeChanged(video.state.time, video.state.duration, video.state.manifest.name);\n }\n }, [video.state.time, video.state.duration, video.state.manifest]);\n\n React.useEffect(() => {\n if (video.state.paused !== null) {\n pausedChanged(video.state.paused);\n }\n }, [video.state.paused]);\n\n React.useEffect(() => {\n videoParamsChanged(video.state.videoParams);\n }, [video.state.videoParams]);\n\n React.useEffect(() => {\n if (!!settings.bingeWatching && player.nextVideo !== null && !nextVideoPopupDismissed.current) {\n if (video.state.time !== null && video.state.duration !== null && video.state.time < video.state.duration && (video.state.duration - video.state.time) <= settings.nextVideoNotificationDuration) {\n openNextVideoPopup();\n } else {\n closeNextVideoPopup();\n }\n }\n }, [player.nextVideo, video.state.time, video.state.duration]);\n\n React.useEffect(() => {\n if (!defaultSubtitlesSelected.current) {\n const findTrackByLang = (tracks, lang) => tracks.find((track) => track.lang === lang || langs.where('1', track.lang)?.[2] === lang);\n\n const subtitlesTrack = findTrackByLang(video.state.subtitlesTracks, settings.subtitlesLanguage);\n const extraSubtitlesTrack = findTrackByLang(video.state.extraSubtitlesTracks, settings.subtitlesLanguage);\n\n if (subtitlesTrack && subtitlesTrack.id) {\n onSubtitlesTrackSelected(subtitlesTrack.id);\n defaultSubtitlesSelected.current = true;\n } else if (extraSubtitlesTrack && extraSubtitlesTrack.id) {\n onExtraSubtitlesTrackSelected(extraSubtitlesTrack.id);\n defaultSubtitlesSelected.current = true;\n }\n }\n }, [video.state.subtitlesTracks, video.state.extraSubtitlesTracks]);\n\n React.useEffect(() => {\n if (!defaultAudioTrackSelected.current) {\n const findTrackByLang = (tracks, lang) => tracks.find((track) => track.lang === lang || langs.where('1', track.lang)?.[2] === lang);\n const audioTrack = findTrackByLang(video.state.audioTracks, settings.audioLanguage);\n\n if (audioTrack && audioTrack.id) {\n onAudioTrackSelected(audioTrack.id);\n defaultAudioTrackSelected.current = true;\n }\n }\n }, [video.state.audioTracks]);\n\n React.useEffect(() => {\n defaultSubtitlesSelected.current = false;\n defaultAudioTrackSelected.current = false;\n nextVideoPopupDismissed.current = false;\n }, [video.state.stream]);\n\n React.useEffect(() => {\n if ((!Array.isArray(video.state.subtitlesTracks) || video.state.subtitlesTracks.length === 0) &&\n (!Array.isArray(video.state.extraSubtitlesTracks) || video.state.extraSubtitlesTracks.length === 0) &&\n (!Array.isArray(video.state.audioTracks) || video.state.audioTracks.length === 0)) {\n closeSubtitlesMenu();\n }\n }, [video.state.audioTracks, video.state.subtitlesTracks, video.state.extraSubtitlesTracks]);\n\n React.useEffect(() => {\n if (player.metaItem === null || player.metaItem.type !== 'Ready') {\n closeInfoMenu();\n closeVideosMenu();\n }\n }, [player.metaItem]);\n\n React.useEffect(() => {\n if (video.state.playbackSpeed === null) {\n closeSpeedMenu();\n }\n }, [video.state.playbackSpeed]);\n\n React.useEffect(() => {\n const toastFilter = (item) => item?.dataset?.type === 'CoreEvent';\n toast.addFilter(toastFilter);\n const onCastStateChange = () => {\n setCasting(chromecast.active && chromecast.transport.getCastState() === cast.framework.CastState.CONNECTED);\n };\n const onChromecastServiceStateChange = () => {\n onCastStateChange();\n if (chromecast.active) {\n chromecast.transport.on(\n cast.framework.CastContextEventType.CAST_STATE_CHANGED,\n onCastStateChange\n );\n }\n };\n const onCoreEvent = ({ event }) => {\n if (event === 'PlayingOnDevice') {\n onPauseRequested();\n }\n };\n chromecast.on('stateChanged', onChromecastServiceStateChange);\n core.transport.on('CoreEvent', onCoreEvent);\n onChromecastServiceStateChange();\n return () => {\n toast.removeFilter(toastFilter);\n chromecast.off('stateChanged', onChromecastServiceStateChange);\n core.transport.off('CoreEvent', onCoreEvent);\n if (chromecast.active) {\n chromecast.transport.off(\n cast.framework.CastContextEventType.CAST_STATE_CHANGED,\n onCastStateChange\n );\n }\n };\n }, []);\n\n React.useLayoutEffect(() => {\n const onKeyDown = (event) => {\n switch (event.code) {\n case 'Space': {\n if (!menusOpen && !nextVideoPopupOpen && video.state.paused !== null) {\n if (video.state.paused) {\n onPlayRequested();\n setSeeking(false);\n } else {\n onPauseRequested();\n }\n }\n\n break;\n }\n case 'ArrowRight': {\n if (!menusOpen && !nextVideoPopupOpen && video.state.time !== null) {\n const seekDuration = event.shiftKey ? settings.seekShortTimeDuration : settings.seekTimeDuration;\n onSeekRequested(video.state.time + seekDuration);\n }\n\n break;\n }\n case 'ArrowLeft': {\n if (!menusOpen && !nextVideoPopupOpen && video.state.time !== null) {\n const seekDuration = event.shiftKey ? settings.seekShortTimeDuration : settings.seekTimeDuration;\n onSeekRequested(video.state.time - seekDuration);\n }\n\n break;\n }\n case 'ArrowUp': {\n if (!menusOpen && !nextVideoPopupOpen && video.state.volume !== null) {\n onVolumeChangeRequested(video.state.volume + 5);\n }\n\n break;\n }\n case 'ArrowDown': {\n if (!menusOpen && !nextVideoPopupOpen && video.state.volume !== null) {\n onVolumeChangeRequested(video.state.volume - 5);\n }\n\n break;\n }\n case 'KeyS': {\n closeMenus();\n if ((Array.isArray(video.state.subtitlesTracks) && video.state.subtitlesTracks.length > 0) ||\n (Array.isArray(video.state.extraSubtitlesTracks) && video.state.extraSubtitlesTracks.length > 0) ||\n (Array.isArray(video.state.audioTracks) && video.state.audioTracks.length > 0)) {\n toggleSubtitlesMenu();\n }\n\n break;\n }\n case 'KeyI': {\n closeMenus();\n if (player.metaItem !== null && player.metaItem.type === 'Ready') {\n toggleInfoMenu();\n }\n\n break;\n }\n case 'KeyR': {\n closeMenus();\n if (video.state.playbackSpeed !== null) {\n toggleSpeedMenu();\n }\n\n break;\n }\n case 'KeyV': {\n closeMenus();\n if (player.metaItem !== null && player.metaItem.type === 'Ready' && player.metaItem?.content?.videos?.length > 0) {\n toggleVideosMenu();\n }\n\n break;\n }\n case 'KeyD': {\n closeMenus();\n if (streamingServer.statistics !== null && streamingServer.statistics.type !== 'Err' && player.selected && typeof player.selected.stream.infoHash === 'string' && typeof player.selected.stream.fileIdx === 'number') {\n toggleStatisticsMenu();\n }\n\n break;\n }\n case 'Escape': {\n closeMenus();\n break;\n }\n }\n };\n const onKeyUp = (event) => {\n if (event.code === 'ArrowRight' || event.code === 'ArrowLeft') {\n seeking && setSeeking(false);\n }\n };\n const onWheel = ({ deltaY }) => {\n if (deltaY > 0) {\n if (!menusOpen && video.state.volume !== null) {\n onVolumeChangeRequested(video.state.volume - 5);\n }\n } else {\n if (!menusOpen && video.state.volume !== null) {\n onVolumeChangeRequested(video.state.volume + 5);\n }\n }\n };\n if (routeFocused) {\n window.addEventListener('keydown', onKeyDown);\n window.addEventListener('keyup', onKeyUp);\n window.addEventListener('wheel', onWheel);\n }\n return () => {\n window.removeEventListener('keydown', onKeyDown);\n window.removeEventListener('keyup', onKeyUp);\n window.removeEventListener('wheel', onWheel);\n };\n }, [player.metaItem, player.selected, streamingServer.statistics, settings.seekTimeDuration, settings.seekShortTimeDuration, routeFocused, menusOpen, nextVideoPopupOpen, video.state.paused, video.state.time, video.state.volume, video.state.audioTracks, video.state.subtitlesTracks, video.state.extraSubtitlesTracks, video.state.playbackSpeed, toggleSubtitlesMenu, toggleInfoMenu, toggleVideosMenu, toggleStatisticsMenu]);\n\n React.useEffect(() => {\n video.events.on('error', onError);\n video.events.on('ended', onEnded);\n video.events.on('subtitlesTrackLoaded', onSubtitlesTrackLoaded);\n video.events.on('extraSubtitlesTrackLoaded', onExtraSubtitlesTrackLoaded);\n video.events.on('implementationChanged', onImplementationChanged);\n\n return () => {\n video.events.off('error', onError);\n video.events.off('ended', onEnded);\n video.events.off('subtitlesTrackLoaded', onSubtitlesTrackLoaded);\n video.events.off('extraSubtitlesTrackLoaded', onExtraSubtitlesTrackLoaded);\n video.events.off('implementationChanged', onImplementationChanged);\n };\n }, []);\n\n React.useLayoutEffect(() => {\n return () => {\n setImmersedDebounced.cancel();\n onPlayRequestedDebounced.cancel();\n onPauseRequestedDebounced.cancel();\n };\n }, []);\n\n return (\n <div className={classnames(styles['player-container'], { [styles['overlayHidden']]: overlayHidden })}\n onMouseDown={onContainerMouseDown}\n onMouseMove={onContainerMouseMove}\n onMouseOver={onContainerMouseMove}\n onMouseLeave={onContainerMouseLeave}>\n <Video\n ref={video.containerElement}\n className={styles['layer']}\n onClick={onVideoClick}\n onDoubleClick={onVideoDoubleClick}\n />\n {\n !video.state.loaded ?\n <div className={classnames(styles['layer'], styles['background-layer'])}>\n <img className={styles['image']} src={player?.metaItem?.content?.background} />\n </div>\n :\n null\n }\n {\n (video.state.buffering || !video.state.loaded) && !error ?\n <BufferingLoader className={classnames(styles['layer'], styles['buffering-layer'])} logo={player?.metaItem?.content?.logo} />\n :\n null\n }\n {\n error !== null ?\n <Error\n className={classnames(styles['layer'], styles['error-layer'])}\n stream={video.state.stream}\n {...error}\n />\n :\n null\n }\n {\n menusOpen ?\n <div className={styles['layer']} />\n :\n null\n }\n {\n video.state.volume !== null && overlayHidden ?\n <VolumeChangeIndicator\n muted={video.state.muted}\n volume={video.state.volume}\n />\n :\n null\n }\n <HorizontalNavBar\n className={classnames(styles['layer'], styles['nav-bar-layer'])}\n title={player.title !== null ? player.title : ''}\n backButton={true}\n fullscreenButton={true}\n onMouseMove={onBarMouseMove}\n onMouseOver={onBarMouseMove}\n />\n <ControlBar\n className={classnames(styles['layer'], styles['control-bar-layer'])}\n paused={video.state.paused}\n time={video.state.time}\n duration={video.state.duration}\n buffered={video.state.buffered}\n volume={video.state.volume}\n muted={video.state.muted}\n playbackSpeed={video.state.playbackSpeed}\n subtitlesTracks={video.state.subtitlesTracks.concat(video.state.extraSubtitlesTracks)}\n audioTracks={video.state.audioTracks}\n metaItem={player.metaItem}\n nextVideo={player.nextVideo}\n stream={player.selected !== null ? player.selected.stream : null}\n statistics={statistics}\n onPlayRequested={onPlayRequested}\n onPauseRequested={onPauseRequested}\n onNextVideoRequested={onNextVideoRequested}\n onMuteRequested={onMuteRequested}\n onUnmuteRequested={onUnmuteRequested}\n onVolumeChangeRequested={onVolumeChangeRequested}\n onSeekRequested={onSeekRequested}\n onToggleOptionsMenu={toggleOptionsMenu}\n onToggleSubtitlesMenu={toggleSubtitlesMenu}\n onToggleInfoMenu={toggleInfoMenu}\n onToggleSpeedMenu={toggleSpeedMenu}\n onToggleVideosMenu={toggleVideosMenu}\n onToggleStatisticsMenu={toggleStatisticsMenu}\n onMouseMove={onBarMouseMove}\n onMouseOver={onBarMouseMove}\n />\n {\n nextVideoPopupOpen ?\n <NextVideoPopup\n className={classnames(styles['layer'], styles['menu-layer'])}\n metaItem={player.metaItem !== null && player.metaItem.type === 'Ready' ? player.metaItem.content : null}\n nextVideo={player.nextVideo}\n onDismiss={onDismissNextVideoPopup}\n onNextVideoRequested={onNextVideoRequested}\n />\n :\n null\n }\n {\n statisticsMenuOpen ?\n <StatisticsMenu\n className={classnames(styles['layer'], styles['menu-layer'])}\n {...statistics}\n />\n :\n null\n }\n {\n subtitlesMenuOpen ?\n <SubtitlesMenu\n className={classnames(styles['layer'], styles['menu-layer'])}\n audioTracks={video.state.audioTracks}\n selectedAudioTrackId={video.state.selectedAudioTrackId}\n subtitlesTracks={video.state.subtitlesTracks}\n selectedSubtitlesTrackId={video.state.selectedSubtitlesTrackId}\n subtitlesOffset={video.state.subtitlesOffset}\n subtitlesSize={video.state.subtitlesSize}\n extraSubtitlesTracks={video.state.extraSubtitlesTracks}\n selectedExtraSubtitlesTrackId={video.state.selectedExtraSubtitlesTrackId}\n extraSubtitlesOffset={video.state.extraSubtitlesOffset}\n extraSubtitlesDelay={video.state.extraSubtitlesDelay}\n extraSubtitlesSize={video.state.extraSubtitlesSize}\n onSubtitlesTrackSelected={onSubtitlesTrackSelected}\n onExtraSubtitlesTrackSelected={onExtraSubtitlesTrackSelected}\n onAudioTrackSelected={onAudioTrackSelected}\n onSubtitlesOffsetChanged={onSubtitlesOffsetChanged}\n onSubtitlesSizeChanged={onSubtitlesSizeChanged}\n onExtraSubtitlesOffsetChanged={onSubtitlesOffsetChanged}\n onExtraSubtitlesDelayChanged={onExtraSubtitlesDelayChanged}\n onExtraSubtitlesSizeChanged={onSubtitlesSizeChanged}\n />\n :\n null\n }\n {\n infoMenuOpen ?\n <InfoMenu\n className={classnames(styles['layer'], styles['menu-layer'])}\n stream={player.selected !== null ? player.selected.stream : null}\n addon={player.addon}\n metaItem={player.metaItem !== null && player.metaItem.type === 'Ready' ? player.metaItem.content : null}\n />\n :\n null\n }\n {\n speedMenuOpen ?\n <SpeedMenu\n className={classnames(styles['layer'], styles['menu-layer'])}\n playbackSpeed={video.state.playbackSpeed}\n onPlaybackSpeedChanged={onPlaybackSpeedChanged}\n />\n :\n null\n }\n {\n videosMenuOpen ?\n <VideosMenu\n className={classnames(styles['layer'], styles['menu-layer'])}\n metaItem={player.metaItem !== null && player.metaItem.type === 'Ready' ? player.metaItem.content : null}\n seriesInfo={player.seriesInfo}\n />\n :\n null\n }\n {\n optionsMenuOpen ?\n <OptionsMenu\n className={classnames(styles['layer'], styles['menu-layer'])}\n stream={player.selected.stream}\n playbackDevices={streamingServer.playbackDevices !== null && streamingServer.playbackDevices.type === 'Ready' ? streamingServer.playbackDevices.content : []}\n />\n :\n null\n }\n </div>\n );\n};\n\nPlayer.propTypes = {\n urlParams: PropTypes.shape({\n stream: PropTypes.string,\n streamTransportUrl: PropTypes.string,\n metaTransportUrl: PropTypes.string,\n type: PropTypes.string,\n id: PropTypes.string,\n videoId: PropTypes.string\n }),\n queryParams: PropTypes.instanceOf(URLSearchParams)\n};\n\nconst PlayerFallback = () => (\n <div className={classnames(styles['player-container'])} />\n);\n\nmodule.exports = withCoreSuspender(Player, PlayerFallback);\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { Button } = require('stremio/common');\nconst styles = require('./styles');\n\nconst OptionButton = ({ className, value, selected, onSelect }) => {\n const onClick = React.useCallback(() => {\n if (typeof onSelect === 'function') {\n onSelect(value);\n }\n }, [onSelect, value]);\n return (\n <Button\n className={classnames(className, styles['option'], { 'selected': selected })}\n onClick={onClick}\n >\n <div className={styles['label']}>{ value }x</div>\n <div className={styles['icon']} />\n </Button>\n );\n};\n\nOptionButton.propTypes = {\n className: PropTypes.string,\n value: PropTypes.number,\n selected: PropTypes.bool,\n onSelect: PropTypes.func,\n};\n\nmodule.exports = OptionButton;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Option = require('./Option');\n\nmodule.exports = Option;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { useTranslation } = require('react-i18next');\nconst Option = require('./Option');\nconst styles = require('./styles');\n\nconst RATES = Array.from(Array(8).keys(), (n) => n * 0.25 + 0.25).reverse();\n\nconst SpeedMenu = ({ className, playbackSpeed, onPlaybackSpeedChanged }) => {\n const { t } = useTranslation();\n const onMouseDown = React.useCallback((event) => {\n event.nativeEvent.speedMenuClosePrevented = true;\n }, []);\n const onOptionSelect = React.useCallback((value) => {\n if (typeof onPlaybackSpeedChanged === 'function') {\n onPlaybackSpeedChanged(value);\n }\n }, [onPlaybackSpeedChanged]);\n return (\n <div className={classnames(className, styles['speed-menu-container'])} onMouseDown={onMouseDown}>\n <div className={styles['title']}>\n { t('PLAYBACK_SPEED') }\n </div>\n <div className={styles['options-container']}>\n {\n RATES.map((rate) => (\n <Option\n className={styles['option']}\n key={rate}\n value={rate}\n selected={rate === playbackSpeed}\n onSelect={onOptionSelect}\n />\n ))\n }\n </div>\n </div>\n );\n};\n\nSpeedMenu.propTypes = {\n className: PropTypes.string,\n playbackSpeed: PropTypes.number,\n onPlaybackSpeedChanged: PropTypes.func,\n};\n\nmodule.exports = SpeedMenu;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst SpeedMenu = require('./SpeedMenu');\n\nmodule.exports = SpeedMenu;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst classNames = require('classnames');\nconst PropTypes = require('prop-types');\nconst styles = require('./styles.less');\n\nconst StatisticsMenu = ({ className, peers, speed, completed, infoHash }) => {\n return (\n <div className={classNames(className, styles['statistics-menu-container'])}>\n <div className={styles['title']}>\n Statistics\n </div>\n <div className={styles['stats']}>\n <div className={styles['stat']}>\n <div className={styles['label']}>\n Peers\n </div>\n <div className={styles['value']}>\n { peers }\n </div>\n </div>\n <div className={styles['stat']}>\n <div className={styles['label']}>\n Speed\n </div>\n <div className={styles['value']}>\n { speed } MB/s\n </div>\n </div>\n <div className={styles['stat']}>\n <div className={styles['label']}>\n Completed\n </div>\n <div className={styles['value']}>\n { completed } %\n </div>\n </div>\n </div>\n <div className={styles['info-hash']}>\n <div className={styles['label']}>\n Info Hash\n </div>\n <div className={styles['value']}>\n { infoHash }\n </div>\n </div>\n </div>\n );\n};\n\nStatisticsMenu.propTypes = {\n className: PropTypes.string,\n peers: PropTypes.number,\n speed: PropTypes.number,\n completed: PropTypes.number,\n infoHash: PropTypes.string,\n};\n\nmodule.exports = StatisticsMenu;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst StatisticsMenu = require('./StatisticsMenu');\nmodule.exports = StatisticsMenu;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { Button } = require('stremio/common');\nconst styles = require('./styles');\n\nconst DiscreteSelectInput = ({ className, value, label, disabled, dataset, onChange }) => {\n const buttonOnClick = React.useCallback((event) => {\n if (typeof onChange === 'function') {\n onChange({\n type: 'change',\n value: event.currentTarget.dataset.type,\n dataset: dataset,\n reactEvent: event,\n nativeEvent: event.nativeEvent\n });\n }\n }, [dataset, onChange]);\n return (\n <div className={classnames(className, styles['discrete-input-container'], { 'disabled': disabled })}>\n <div className={styles['header']}>{label}</div>\n <div className={styles['input-container']} title={disabled ? `${label} is not configurable` : null}>\n <Button className={classnames(styles['button-container'], { 'disabled': disabled })} data-type={'decrement'} onClick={buttonOnClick}>\n <Icon className={styles['icon']} name={'remove'} />\n </Button>\n <div className={styles['option-label']} title={value}>{value}</div>\n <Button className={classnames(styles['button-container'], { 'disabled': disabled })} data-type={'increment'} onClick={buttonOnClick}>\n <Icon className={styles['icon']} name={'add'} />\n </Button>\n </div>\n </div>\n );\n};\n\nDiscreteSelectInput.propTypes = {\n className: PropTypes.string,\n value: PropTypes.string,\n label: PropTypes.string,\n disabled: PropTypes.bool,\n dataset: PropTypes.object,\n onChange: PropTypes.func\n};\n\nmodule.exports = DiscreteSelectInput;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst DiscreteSelectInput = require('./DiscreteSelectInput');\n\nmodule.exports = DiscreteSelectInput;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { Button, CONSTANTS, comparatorWithPriorities, languageNames } = require('stremio/common');\nconst DiscreteSelectInput = require('./DiscreteSelectInput');\nconst styles = require('./styles');\nconst { t } = require('i18next');\n\nconst ORIGIN_PRIORITIES = {\n 'EMBEDDED': 2,\n 'EXCLUSIVE': 1\n};\nconst LANGUAGE_PRIORITIES = {\n 'eng': 1\n};\n\nconst SubtitlesMenu = React.memo((props) => {\n const subtitlesLanguages = React.useMemo(() => {\n return (Array.isArray(props.subtitlesTracks) ? props.subtitlesTracks : [])\n .concat(Array.isArray(props.extraSubtitlesTracks) ? props.extraSubtitlesTracks : [])\n .reduce((subtitlesLanguages, { lang }) => {\n if (!subtitlesLanguages.includes(lang)) {\n subtitlesLanguages.push(lang);\n }\n\n return subtitlesLanguages;\n }, [])\n .sort(comparatorWithPriorities(LANGUAGE_PRIORITIES));\n }, [props.subtitlesTracks, props.extraSubtitlesTracks]);\n const selectedSubtitlesLanguage = React.useMemo(() => {\n return typeof props.selectedSubtitlesTrackId === 'string' ?\n (Array.isArray(props.subtitlesTracks) ? props.subtitlesTracks : [])\n .reduce((selectedSubtitlesLanguage, { id, lang }) => {\n if (id === props.selectedSubtitlesTrackId) {\n return lang;\n }\n\n return selectedSubtitlesLanguage;\n }, null)\n :\n typeof props.selectedExtraSubtitlesTrackId === 'string' ?\n (Array.isArray(props.extraSubtitlesTracks) ? props.extraSubtitlesTracks : [])\n .reduce((selectedSubtitlesLanguage, { id, lang }) => {\n if (id === props.selectedExtraSubtitlesTrackId) {\n return lang;\n }\n\n return selectedSubtitlesLanguage;\n }, null)\n :\n null;\n }, [props.subtitlesTracks, props.extraSubtitlesTracks, props.selectedSubtitlesTrackId, props.selectedExtraSubtitlesTrackId]);\n const subtitlesTracksForLanguage = React.useMemo(() => {\n return (Array.isArray(props.subtitlesTracks) ? props.subtitlesTracks : [])\n .concat(Array.isArray(props.extraSubtitlesTracks) ? props.extraSubtitlesTracks : [])\n .filter(({ lang }) => lang === selectedSubtitlesLanguage)\n .sort((t1, t2) => comparatorWithPriorities(ORIGIN_PRIORITIES)(t1.origin, t2.origin));\n }, [props.subtitlesTracks, props.extraSubtitlesTracks, selectedSubtitlesLanguage]);\n const onMouseDown = React.useCallback((event) => {\n event.nativeEvent.subtitlesMenuClosePrevented = true;\n }, []);\n const subtitlesLanguageOnClick = React.useCallback((event) => {\n const track = (Array.isArray(props.subtitlesTracks) ? props.subtitlesTracks : [])\n .concat(Array.isArray(props.extraSubtitlesTracks) ? props.extraSubtitlesTracks : [])\n .filter(({ lang }) => lang === event.currentTarget.dataset.lang)\n .sort((t1, t2) => comparatorWithPriorities(ORIGIN_PRIORITIES)(t1.origin, t2.origin))\n .shift();\n if (!track) {\n if (typeof props.onSubtitlesTrackSelected === 'function') {\n props.onSubtitlesTrackSelected(null);\n }\n if (typeof props.onExtraSubtitlesTrackSelected === 'function') {\n props.onExtraSubtitlesTrackSelected(null);\n }\n } else if (track.embedded) {\n if (typeof props.onSubtitlesTrackSelected === 'function') {\n props.onSubtitlesTrackSelected(track.id);\n }\n } else {\n if (typeof props.onExtraSubtitlesTrackSelected === 'function') {\n props.onExtraSubtitlesTrackSelected(track.id);\n }\n }\n }, [props.subtitlesTracks, props.extraSubtitlesTracks, props.onSubtitlesTrackSelected, props.onExtraSubtitlesTrackSelected]);\n const subtitlesTrackOnClick = React.useCallback((event) => {\n if (event.currentTarget.dataset.embedded === 'true') {\n if (typeof props.onSubtitlesTrackSelected === 'function') {\n props.onSubtitlesTrackSelected(event.currentTarget.dataset.id);\n }\n } else {\n if (typeof props.onExtraSubtitlesTrackSelected === 'function') {\n props.onExtraSubtitlesTrackSelected(event.currentTarget.dataset.id);\n }\n }\n }, [props.onSubtitlesTrackSelected, props.onExtraSubtitlesTrackSelected]);\n const onSubtitlesDelayChanged = React.useCallback((event) => {\n const delta = event.value === 'increment' ? 250 : -250;\n if (typeof props.selectedExtraSubtitlesTrackId === 'string') {\n if (props.extraSubtitlesDelay !== null && !isNaN(props.extraSubtitlesDelay)) {\n const extraDelay = props.extraSubtitlesDelay + delta;\n if (typeof props.onExtraSubtitlesDelayChanged === 'function') {\n props.onExtraSubtitlesDelayChanged(extraDelay);\n }\n }\n }\n }, [props.selectedExtraSubtitlesTrackId, props.extraSubtitlesDelay, props.onExtraSubtitlesDelayChanged]);\n const onSubtitlesSizeChanged = React.useCallback((event) => {\n const delta = event.value === 'increment' ? 1 : -1;\n if (typeof props.selectedSubtitlesTrackId === 'string') {\n if (props.subtitlesSize !== null && !isNaN(props.subtitlesSize)) {\n const sizeIndex = CONSTANTS.SUBTITLES_SIZES.indexOf(props.subtitlesSize);\n const size = CONSTANTS.SUBTITLES_SIZES[Math.max(0, Math.min(CONSTANTS.SUBTITLES_SIZES.length - 1, sizeIndex + delta))];\n if (typeof props.onSubtitlesSizeChanged === 'function') {\n props.onSubtitlesSizeChanged(size);\n }\n }\n } else if (typeof props.selectedExtraSubtitlesTrackId === 'string') {\n if (props.extraSubtitlesSize !== null && !isNaN(props.extraSubtitlesSize)) {\n const extraSizeIndex = CONSTANTS.SUBTITLES_SIZES.indexOf(props.extraSubtitlesSize);\n const extraSize = CONSTANTS.SUBTITLES_SIZES[Math.max(0, Math.min(CONSTANTS.SUBTITLES_SIZES.length - 1, extraSizeIndex + delta))];\n if (typeof props.onExtraSubtitlesSizeChanged === 'function') {\n props.onExtraSubtitlesSizeChanged(extraSize);\n }\n }\n }\n }, [props.selectedSubtitlesTrackId, props.selectedExtraSubtitlesTrackId, props.subtitlesSize, props.extraSubtitlesSize, props.onSubtitlesSizeChanged, props.onExtraSubtitlesSizeChanged]);\n const onSubtitlesOffsetChanged = React.useCallback((event) => {\n const delta = event.value === 'increment' ? 1 : -1;\n if (typeof props.selectedSubtitlesTrackId === 'string') {\n if (props.extraSubtitlesOffset !== null && !isNaN(props.extraSubtitlesOffset)) {\n const offset = Math.max(0, Math.min(100, Math.floor(props.extraSubtitlesOffset + delta)));\n if (typeof props.onExtraSubtitlesOffsetChanged === 'function') {\n props.onExtraSubtitlesOffsetChanged(offset);\n }\n }\n } else if (typeof props.selectedExtraSubtitlesTrackId === 'string') {\n if (props.subtitlesOffset !== null && !isNaN(props.subtitlesOffset)) {\n const offset = Math.max(0, Math.min(100, Math.floor(props.subtitlesOffset + delta)));\n if (typeof props.onSubtitlesOffsetChanged === 'function') {\n props.onSubtitlesOffsetChanged(offset);\n }\n }\n }\n }, [props.selectedSubtitlesTrackId, props.selectedExtraSubtitlesTrackId, props.subtitlesOffset, props.extraSubtitlesOffset, props.onSubtitlesOffsetChanged, props.onExtraSubtitlesOffsetChanged]);\n const audioTrackOnClick = React.useCallback((event) => {\n if (typeof props.onAudioTrackSelected === 'function') {\n props.onAudioTrackSelected(event.currentTarget.dataset.id);\n }\n }, [props.onAudioTrackSelected]);\n return (\n <div className={classnames(props.className, styles['subtitles-menu-container'])} onMouseDown={onMouseDown}>\n {\n Array.isArray(props.audioTracks) && props.audioTracks.length > 1 ?\n <div className={styles['languages-container']}>\n <div className={styles['languages-header']}>Audio Languages</div>\n <div className={styles['languages-list']}>\n {props.audioTracks.map(({ id, label, lang }, index) => (\n <Button key={index} title={label} className={classnames(styles['language-option'], { 'selected': props.selectedAudioTrackId === id })} data-id={id} onClick={audioTrackOnClick}>\n <div className={styles['language-label']}>{typeof languageNames[lang] === 'string' ? languageNames[lang] : lang}</div>\n {\n props.selectedAudioTrackId === id ?\n <div className={styles['icon']} />\n :\n null\n }\n </Button>\n ))}\n </div>\n </div>\n :\n null\n }\n <div className={styles['languages-container']}>\n <div className={styles['languages-header']}>{ t('PLAYER_SUBTITLES_LANGUAGES') }</div>\n <div className={styles['languages-list']}>\n <Button title={t('OFF')} className={classnames(styles['language-option'], { 'selected': selectedSubtitlesLanguage === null })} onClick={subtitlesLanguageOnClick}>\n <div className={styles['language-label']}>{ t('OFF') }</div>\n {\n selectedSubtitlesLanguage === null ?\n <div className={styles['icon']} />\n :\n null\n }\n </Button>\n {subtitlesLanguages.map((lang, index) => (\n <Button key={index} title={typeof languageNames[lang] === 'string' ? languageNames[lang] : lang} className={classnames(styles['language-option'], { 'selected': selectedSubtitlesLanguage === lang })} data-lang={lang} onClick={subtitlesLanguageOnClick}>\n <div className={styles['language-label']}>{typeof languageNames[lang] === 'string' ? languageNames[lang] : lang}</div>\n {\n selectedSubtitlesLanguage === lang ?\n <div className={styles['icon']} />\n :\n null\n }\n </Button>\n ))}\n </div>\n </div>\n <div className={styles['variants-container']}>\n <div className={styles['variants-header']}>{ t('PLAYER_SUBTITLES_VARIANTS') }</div>\n {\n subtitlesTracksForLanguage.length > 0 ?\n <div className={styles['variants-list']}>\n {subtitlesTracksForLanguage.map((track, index) => (\n <Button key={index} title={track.label} className={classnames(styles['variant-option'], { 'selected': props.selectedSubtitlesTrackId === track.id || props.selectedExtraSubtitlesTrackId === track.id })} data-id={track.id} data-origin={track.origin} data-embedded={track.embedded} onClick={subtitlesTrackOnClick}>\n <div className={styles['variant-label']}>{track.origin}</div>\n {\n props.selectedSubtitlesTrackId === track.id || props.selectedExtraSubtitlesTrackId === track.id ?\n <div className={styles['icon']} />\n :\n null\n }\n </Button>\n ))}\n </div>\n :\n <div className={styles['no-variants-container']}>\n <div className={styles['no-variants-label']}>\n { t('PLAYER_SUBTITLES_DISABLED') }\n </div>\n </div>\n }\n </div>\n <div className={styles['subtitles-settings-container']}>\n <div className={styles['settings-header']}>Subtitles Settings</div>\n <DiscreteSelectInput\n className={styles['discrete-input']}\n label={t('DELAY')}\n value={typeof props.selectedExtraSubtitlesTrackId === 'string' && props.extraSubtitlesDelay !== null && !isNaN(props.extraSubtitlesDelay) ? `${(props.extraSubtitlesDelay / 1000).toFixed(2)}s` : '--'}\n disabled={typeof props.selectedExtraSubtitlesTrackId !== 'string' || props.extraSubtitlesDelay === null || isNaN(props.extraSubtitlesDelay)}\n onChange={onSubtitlesDelayChanged}\n />\n <DiscreteSelectInput\n className={styles['discrete-input']}\n label={t('SIZE')}\n value={\n typeof props.selectedSubtitlesTrackId === 'string' ?\n props.subtitlesSize !== null && !isNaN(props.subtitlesSize) ? `${props.subtitlesSize}%` : '--'\n :\n typeof props.selectedExtraSubtitlesTrackId === 'string' ?\n props.extraSubtitlesSize !== null && !isNaN(props.extraSubtitlesSize) ? `${props.extraSubtitlesSize}%` : '--'\n :\n '--'\n }\n disabled={\n typeof props.selectedSubtitlesTrackId === 'string' ?\n props.subtitlesSize === null || isNaN(props.subtitlesSize)\n :\n typeof props.selectedExtraSubtitlesTrackId === 'string' ?\n props.extraSubtitlesSize === null || isNaN(props.extraSubtitlesSize)\n :\n true\n }\n onChange={onSubtitlesSizeChanged}\n />\n <DiscreteSelectInput\n className={styles['discrete-input']}\n label={t('PLAYER_SUBTITLES_VERTICAL_POSIITON')}\n value={\n typeof props.selectedSubtitlesTrackId === 'string' ?\n props.subtitlesOffset !== null && !isNaN(props.subtitlesOffset) ? `${props.subtitlesOffset}%` : '--'\n :\n typeof props.selectedExtraSubtitlesTrackId === 'string' ?\n props.extraSubtitlesOffset !== null && !isNaN(props.extraSubtitlesOffset) ? `${props.extraSubtitlesOffset}%` : '--'\n :\n '--'\n }\n disabled={\n typeof props.selectedSubtitlesTrackId === 'string' ?\n props.subtitlesOffset === null || isNaN(props.subtitlesOffset)\n :\n typeof props.selectedExtraSubtitlesTrackId === 'string' ?\n props.extraSubtitlesOffset === null || isNaN(props.extraSubtitlesOffset)\n :\n true\n }\n onChange={onSubtitlesOffsetChanged}\n />\n </div>\n </div>\n );\n});\n\nSubtitlesMenu.displayName = 'MainNavBars';\n\nSubtitlesMenu.propTypes = {\n className: PropTypes.string,\n subtitlesTracks: PropTypes.arrayOf(PropTypes.shape({\n id: PropTypes.string.isRequired,\n lang: PropTypes.string.isRequired,\n origin: PropTypes.string.isRequired\n })),\n selectedSubtitlesTrackId: PropTypes.string,\n subtitlesOffset: PropTypes.number,\n subtitlesSize: PropTypes.number,\n extraSubtitlesTracks: PropTypes.arrayOf(PropTypes.shape({\n id: PropTypes.string.isRequired,\n lang: PropTypes.string.isRequired,\n origin: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired\n })),\n selectedExtraSubtitlesTrackId: PropTypes.string,\n extraSubtitlesOffset: PropTypes.number,\n extraSubtitlesDelay: PropTypes.number,\n extraSubtitlesSize: PropTypes.number,\n audioTracks: PropTypes.arrayOf(PropTypes.shape({\n id: PropTypes.string.isRequired,\n lang: PropTypes.string.isRequired,\n origin: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired\n })),\n selectedAudioTrackId: PropTypes.string,\n onSubtitlesTrackSelected: PropTypes.func,\n onExtraSubtitlesTrackSelected: PropTypes.func,\n onAudioTrackSelected: PropTypes.func,\n onSubtitlesOffsetChanged: PropTypes.func,\n onSubtitlesSizeChanged: PropTypes.func,\n onExtraSubtitlesOffsetChanged: PropTypes.func,\n onExtraSubtitlesDelayChanged: PropTypes.func,\n onExtraSubtitlesSizeChanged: PropTypes.func\n};\n\nmodule.exports = SubtitlesMenu;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst SubtitlesMenu = require('./SubtitlesMenu');\n\nmodule.exports = SubtitlesMenu;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst styles = require('./styles');\n\nconst Video = React.forwardRef(({ className, onClick, onDoubleClick }, ref) => {\n return (\n <div className={classnames(className, styles['video-container'])} onClick={onClick} onDoubleClick={onDoubleClick}>\n <div ref={ref} className={styles['video']} />\n </div>\n );\n});\n\nVideo.displayName = 'Video';\n\nVideo.propTypes = {\n className: PropTypes.string,\n onClick: PropTypes.func,\n onDoubleClick: PropTypes.func,\n};\n\nmodule.exports = Video;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Video = require('./Video');\n\nmodule.exports = Video;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst Video = require('../../MetaDetails/VideosList/Video');\nconst styles = require('./styles');\n\nconst VideosMenu = ({ className, metaItem, seriesInfo }) => {\n const onMouseDown = React.useCallback((event) => {\n event.nativeEvent.videosMenuClosePrevented = true;\n }, []);\n const videos = React.useMemo(() => {\n return seriesInfo && typeof seriesInfo.season === 'number' && Array.isArray(metaItem.videos) ?\n metaItem.videos.filter(({ season }) => season === seriesInfo.season)\n :\n metaItem.videos;\n }, [metaItem, seriesInfo]);\n return (\n <div className={classnames(className, styles['videos-menu-container'])} onMouseDown={onMouseDown}>\n {\n videos.map((video, index) => (\n <Video\n key={index}\n id={video.id}\n title={video.title}\n thumbnail={video.thumbnail}\n episode={video.episode}\n released={video.released}\n upcoming={video.upcoming}\n watched={video.watched}\n progress={video.progress}\n deepLinks={video.deepLinks}\n scheduled={video.scheduled}\n />\n ))\n }\n </div>\n );\n};\n\nVideosMenu.propTypes = {\n className: PropTypes.string,\n metaItem: PropTypes.object,\n seriesInfo: PropTypes.shape({\n season: PropTypes.number,\n episode: PropTypes.number,\n }),\n};\n\nmodule.exports = VideosMenu;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst VideosMenu = require('./VideosMenu');\n\nmodule.exports = VideosMenu;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst VolumeSlider = require('../ControlBar/VolumeSlider');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { default: classNames } = require('classnames');\nconst PropTypes = require('prop-types');\nconst styles = require('./styles');\nconst { useBinaryState } = require('stremio/common');\n\nconst VolumeChangeIndicator = React.memo(({ muted, volume }) => {\n const [volumeIndicatorOpen, openVolumeIndicator, closeVolumeIndicator] = useBinaryState(false);\n const volumeChangeTimeout = React.useRef(null);\n const prevVolume = React.useRef(volume);\n\n const iconName = React.useMemo(() => {\n return typeof muted === 'boolean' && muted ? 'volume-mute' :\n volume === null || isNaN(volume) ? 'volume-off' :\n volume < 30 ? 'volume-low' :\n volume < 70 ? 'volume-medium' :\n 'volume-high';\n }, [muted, volume]);\n\n React.useEffect(() => {\n if (prevVolume.current !== volume) {\n openVolumeIndicator();\n if (volumeChangeTimeout.current) clearTimeout(volumeChangeTimeout.current);\n volumeChangeTimeout.current = setTimeout(closeVolumeIndicator, 1500);\n }\n\n prevVolume.current = volume;\n }, [volume]);\n\n React.useEffect(() => {\n return () => {\n if (volumeChangeTimeout.current) clearTimeout(volumeChangeTimeout.current);\n };\n }, []);\n\n return (\n <React.Fragment>\n {\n volumeIndicatorOpen ?\n <div className={classNames(styles['layer'], styles['volume-change-indicator'])}>\n <Icon name={iconName} className={styles['volume-icon']} />\n <VolumeSlider volume={volume} className={styles['volume-slider']} />\n </div>\n :\n null\n }\n </React.Fragment>\n );\n});\n\nVolumeChangeIndicator.displayName = 'VolumeChangeIndicator';\n\nmodule.exports = VolumeChangeIndicator;\n\nVolumeChangeIndicator.propTypes = {\n muted: PropTypes.bool,\n volume: PropTypes.number\n};\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst VolumeChangeIndicator = require('./VolumeChangeIndicator');\n\nmodule.exports = VolumeChangeIndicator;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Player = require('./Player');\n\nmodule.exports = Player;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useServices } = require('stremio/services');\nconst { useModelState, useCoreSuspender } = require('stremio/common');\n\nconst map = (player) => ({\n ...player,\n metaItem: player.metaItem !== null && player.metaItem.type === 'Ready' ?\n {\n ...player.metaItem,\n content: {\n ...player.metaItem.content,\n released: new Date(\n typeof player.metaItem.content.released === 'string' ?\n player.metaItem.content.released\n :\n NaN\n ),\n videos: player.metaItem.content.videos.map((video) => ({\n ...video,\n released: new Date(\n typeof video.released === 'string' ?\n video.released\n :\n NaN\n ),\n }))\n }\n }\n :\n player.metaItem,\n});\n\nconst usePlayer = (urlParams) => {\n const { core } = useServices();\n const { decodeStream } = useCoreSuspender();\n const stream = decodeStream(urlParams.stream);\n const action = React.useMemo(() => {\n if (stream !== null) {\n return {\n action: 'Load',\n args: {\n model: 'Player',\n args: {\n stream,\n streamRequest: typeof urlParams.streamTransportUrl === 'string' && typeof urlParams.type === 'string' && typeof urlParams.videoId === 'string' ?\n {\n base: urlParams.streamTransportUrl,\n path: {\n resource: 'stream',\n type: urlParams.type,\n id: urlParams.videoId,\n extra: []\n }\n }\n :\n null,\n metaRequest: typeof urlParams.metaTransportUrl === 'string' && typeof urlParams.type === 'string' && typeof urlParams.id === 'string' ?\n {\n base: urlParams.metaTransportUrl,\n path: {\n resource: 'meta',\n type: urlParams.type,\n id: urlParams.id,\n extra: []\n }\n }\n :\n null,\n subtitlesPath: typeof urlParams.type === 'string' && typeof urlParams.videoId === 'string' ?\n {\n resource: 'subtitles',\n type: urlParams.type,\n id: urlParams.videoId,\n extra: []\n }\n :\n null\n }\n }\n };\n } else {\n console.warn('Player Unload triggered');\n return {\n action: 'Unload'\n };\n }\n }, [urlParams]);\n const videoParamsChanged = React.useCallback((videoParams) => {\n core.transport.dispatch({\n action: 'Player',\n args: {\n action: 'VideoParamsChanged',\n args: { videoParams }\n }\n }, 'player');\n }, []);\n const timeChanged = React.useCallback((time, duration, device) => {\n core.transport.dispatch({\n action: 'Player',\n args: {\n action: 'TimeChanged',\n args: { time, duration, device }\n }\n }, 'player');\n }, []);\n\n const seek = React.useCallback((time, duration, device) => {\n core.transport.dispatch({\n action: 'Player',\n args: {\n action: 'Seek',\n args: { time, duration, device }\n }\n }, 'player');\n }, []);\n\n const ended = React.useCallback(() => {\n core.transport.dispatch({\n action: 'Player',\n args: {\n action: 'Ended'\n }\n }, 'player');\n }, []);\n const pausedChanged = React.useCallback((paused) => {\n core.transport.dispatch({\n action: 'Player',\n args: {\n action: 'PausedChanged',\n args: { paused }\n }\n }, 'player');\n }, []);\n const nextVideo = React.useCallback(() => {\n core.transport.dispatch({\n action: 'Player',\n args: {\n action: 'NextVideo'\n }\n }, 'player');\n }, []);\n\n const player = useModelState({ model: 'player', action, map });\n return [player, videoParamsChanged, timeChanged, seek, pausedChanged, ended, nextVideo];\n};\n\nmodule.exports = usePlayer;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useServices } = require('stremio/services');\nconst { useProfile } = require('stremio/common');\n\nconst useSettings = () => {\n const { core } = useServices();\n const profile = useProfile();\n const updateSettings = React.useCallback((settings) => {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: {\n ...profile.settings,\n ...settings\n }\n }\n });\n }, [profile]);\n return [profile.settings, updateSettings];\n};\n\nmodule.exports = useSettings;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useServices } = require('stremio/services');\n\nconst useStatistics = (player, streamingServer) => {\n const { core } = useServices();\n\n const stream = React.useMemo(() => {\n return player.selected?.stream ?\n player.selected.stream\n :\n null;\n }, [player.selected]);\n\n const infoHash = React.useMemo(() => {\n return stream?.infoHash ?\n stream?.infoHash\n :\n null;\n }, [stream]);\n\n const statistics = React.useMemo(() => {\n return streamingServer.statistics?.type === 'Ready' ?\n streamingServer.statistics.content\n :\n null;\n }, [streamingServer.statistics]);\n\n const peers = React.useMemo(() => {\n return statistics?.peers ?\n statistics.peers\n :\n 0;\n }, [statistics]);\n\n const speed = React.useMemo(() => {\n return statistics?.downloadSpeed ?\n parseFloat((statistics.downloadSpeed / 1000 / 1000).toFixed(2))\n :\n 0;\n }, [statistics]);\n\n const completed = React.useMemo(() => {\n return statistics?.streamProgress ?\n parseFloat((statistics.streamProgress * 100).toFixed(2))\n :\n 0;\n }, [statistics]);\n\n const getStatistics = React.useCallback(() => {\n if (stream) {\n const { infoHash, fileIdx } = stream;\n if (typeof infoHash === 'string' && typeof fileIdx === 'number') {\n core.transport.dispatch({\n action: 'StreamingServer',\n args: {\n action: 'GetStatistics',\n args: {\n infoHash,\n fileIdx,\n }\n }\n });\n }\n }\n }, [stream]);\n\n React.useEffect(() => {\n getStatistics();\n const interval = setInterval(getStatistics, 5000);\n return () => clearInterval(interval);\n }, [getStatistics]);\n\n return {\n infoHash,\n peers,\n speed,\n completed,\n };\n};\n\nmodule.exports = useStatistics;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst Video = require('@stremio/stremio-video');\nconst EventEmitter = require('eventemitter3');\n\nconst events = new EventEmitter();\n\nconst useVideo = () => {\n const video = React.useRef(null);\n const containerElement = React.useRef(null);\n\n const [state, setState] = React.useState({\n manifest: null,\n stream: null,\n paused: null,\n time: null,\n duration: null,\n buffering: null,\n buffered: null,\n volume: null,\n muted: null,\n playbackSpeed: null,\n videoParams: null,\n audioTracks: [],\n selectedAudioTrackId: null,\n subtitlesTracks: [],\n selectedSubtitlesTrackId: null,\n subtitlesOffset: null,\n subtitlesSize: null,\n subtitlesTextColor: null,\n subtitlesBackgroundColor: null,\n subtitlesOutlineColor: null,\n extraSubtitlesTracks: [],\n selectedExtraSubtitlesTrackId: null,\n extraSubtitlesSize: null,\n extraSubtitlesDelay: null,\n extraSubtitlesOffset: null,\n extraSubtitlesTextColor: null,\n extraSubtitlesBackgroundColor: null,\n extraSubtitlesOutlineColor: null,\n });\n\n const dispatch = (action, options) => {\n if (video.current && containerElement.current) {\n try {\n video.current.dispatch(action, {\n ...options,\n containerElement: containerElement.current,\n });\n } catch (error) {\n console.error('Video:', error);\n }\n }\n };\n\n const load = (args, options) => {\n dispatch({\n type: 'command',\n commandName: 'load',\n commandArgs: args\n }, options);\n };\n\n const unload = () => {\n dispatch({\n type: 'command',\n commandName: 'unload',\n });\n };\n\n const addExtraSubtitlesTracks = (tracks) => {\n dispatch({\n type: 'command',\n commandName: 'addExtraSubtitlesTracks',\n commandArgs: {\n tracks,\n },\n });\n };\n\n const setProp = (name, value) => {\n dispatch({ type: 'setProp', propName: name, propValue: value });\n };\n\n const onError = (error) => {\n events.emit('error', error);\n };\n\n const onEnded = () => {\n events.emit('ended');\n };\n\n const onSubtitlesTrackLoaded = (track) => {\n events.emit('subtitlesTrackLoaded', track);\n };\n\n const onExtraSubtitlesTrackLoaded = (track) => {\n events.emit('extraSubtitlesTrackLoaded', track);\n };\n\n const onPropChanged = (name, value) => {\n setState((state) => ({\n ...state,\n [name]: value\n }));\n };\n\n const onImplementationChanged = (manifest) => {\n manifest.props.forEach((propName) => dispatch(({ type: 'observeProp', propName })));\n setState((state) => ({\n ...state,\n manifest\n }));\n\n events.emit('implementationChanged', manifest);\n };\n\n React.useEffect(() => {\n video.current = new Video();\n video.current.on('error', onError);\n video.current.on('ended', onEnded);\n video.current.on('propChanged', onPropChanged);\n video.current.on('propValue', onPropChanged);\n video.current.on('implementationChanged', onImplementationChanged);\n video.current.on('subtitlesTrackLoaded', onSubtitlesTrackLoaded);\n video.current.on('extraSubtitlesTrackLoaded', onExtraSubtitlesTrackLoaded);\n\n return () => video.current.destroy();\n }, []);\n\n return {\n events,\n containerElement,\n state,\n load,\n unload,\n addExtraSubtitlesTracks,\n setProp,\n };\n};\n\nmodule.exports = useVideo;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst debounce = require('lodash.debounce');\nconst { useTranslation } = require('react-i18next');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { Image, MainNavBars, MetaRow, MetaItem, withCoreSuspender, getVisibleChildrenRange } = require('stremio/common');\nconst useSearch = require('./useSearch');\nconst styles = require('./styles');\n\nconst THRESHOLD = 100;\n\nconst Search = ({ queryParams }) => {\n const { t } = useTranslation();\n const [search, loadSearchRows] = useSearch(queryParams);\n const query = React.useMemo(() => {\n return search.selected !== null ?\n search.selected.extra.reduceRight((query, [name, value]) => {\n if (name === 'search') {\n return value;\n }\n\n return query;\n }, null)\n :\n null;\n }, [search.selected]);\n const scrollContainerRef = React.useRef();\n const onVisibleRangeChange = React.useCallback(() => {\n if (search.catalogs.length === 0) {\n return;\n }\n\n const range = getVisibleChildrenRange(scrollContainerRef.current, THRESHOLD);\n if (range === null) {\n return;\n }\n\n loadSearchRows(range);\n }, [search.catalogs]);\n const onScroll = React.useCallback(debounce(onVisibleRangeChange, 250), [onVisibleRangeChange]);\n React.useLayoutEffect(() => {\n onVisibleRangeChange();\n }, [search.catalogs, onVisibleRangeChange]);\n return (\n <MainNavBars className={styles['search-container']} route={'search'} query={query}>\n <div ref={scrollContainerRef} className={styles['search-content']} onScroll={onScroll}>\n {\n query === null ?\n <div className={classnames(styles['search-hints-wrapper'])}>\n <div className={classnames(styles['search-hints-title-container'], 'animation-fade-in')}>\n <div className={styles['search-hints-title']}>{t('SEARCH_ANYTHING')}</div>\n </div>\n <div className={classnames(styles['search-hints-container'], 'animation-fade-in')}>\n <div className={styles['search-hint-container']}>\n <Icon className={styles['icon']} name={'trailer'} />\n <div className={styles['label']}>{t('SEARCH_CATEGORIES')}</div>\n </div>\n <div className={styles['search-hint-container']}>\n <Icon className={styles['icon']} name={'actors'} />\n <div className={styles['label']}>{t('SEARCH_PERSONS')}</div>\n </div>\n <div className={styles['search-hint-container']}>\n <Icon className={styles['icon']} name={'link'} />\n <div className={styles['label']}>{t('SEARCH_PROTOCOLS')}</div>\n </div>\n <div className={styles['search-hint-container']}>\n <Icon className={styles['icon']} name={'imdb-outline'} />\n <div className={styles['label']}>{t('SEARCH_TYPES')}</div>\n </div>\n </div>\n </div>\n :\n search.catalogs.length === 0 ?\n <div className={styles['message-container']}>\n <Image\n className={styles['image']}\n src={require('/images/empty.png')}\n alt={' '}\n />\n <div className={styles['message-label']}>{ t('STREMIO_TV_SEARCH_NO_ADDONS') }</div>\n </div>\n :\n search.catalogs.map((catalog, index) => {\n switch (catalog.content?.type) {\n case 'Ready': {\n return (\n <MetaRow\n key={index}\n className={classnames(styles['search-row'], styles[`search-row-${catalog.content.content[0].posterShape}`], 'animation-fade-in')}\n catalog={catalog}\n itemComponent={MetaItem}\n />\n );\n }\n case 'Err': {\n return (\n <MetaRow\n key={index}\n className={classnames(styles['search-row'], 'animation-fade-in')}\n catalog={catalog}\n message={catalog.content.content}\n />\n );\n }\n default: {\n return (\n <MetaRow.Placeholder\n key={index}\n className={classnames(styles['search-row'], styles['search-row-poster'], 'animation-fade-in')}\n catalog={catalog}\n />\n );\n }\n }\n })\n }\n </div>\n </MainNavBars>\n );\n};\n\nSearch.propTypes = {\n queryParams: PropTypes.instanceOf(URLSearchParams)\n};\n\nconst SearchFallback = ({ queryParams }) => (\n <MainNavBars className={styles['search-container']} route={'search'} query={queryParams.get('search') ?? queryParams.get('query')} />\n);\n\nSearchFallback.propTypes = Search.propTypes;\n\nmodule.exports = withCoreSuspender(Search, SearchFallback);\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Search = require('./Search');\n\nmodule.exports = Search;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useModelState } = require('stremio/common');\nconst { useServices } = require('stremio/services');\n\nconst useSearch = (queryParams) => {\n const { core } = useServices();\n // TODO: refactor this to be in stremio-core-web\n // React.useEffect(() => {\n // let timerId = setTimeout(emitSearchEvent, 500);\n // function emitSearchEvent() {\n // timerId = null;\n // const state = core.transport.getState('search');\n // if (state.selected !== null) {\n // const [, query] = state.selected.extra.find(([name]) => name === 'search');\n // const responses = state.catalogs.filter((catalog) => catalog.content?.type === 'Ready');\n // core.transport.analytics({\n // event: 'Search',\n // args: {\n // query,\n // responsesCount: responses.length\n // }\n // });\n // }\n // }\n // return () => {\n // if (timerId !== null) {\n // clearTimeout(timerId);\n // emitSearchEvent();\n // }\n // };\n // }, [queryParams.get('search')]);\n const action = React.useMemo(() => {\n const query = queryParams.get('search') ?? queryParams.get('query');\n if (query?.length > 0) {\n return {\n action: 'Load',\n args: {\n model: 'CatalogsWithExtra',\n args: {\n extra: [\n ['search', query]\n ]\n }\n }\n };\n } else {\n return {\n action: 'Unload'\n };\n }\n }, [queryParams]);\n const loadRange = React.useCallback((range) => {\n core.transport.dispatch({\n action: 'CatalogsWithExtra',\n args: {\n action: 'LoadRange',\n args: range\n }\n }, 'search');\n }, []);\n const search = useModelState({ model: 'search', action });\n return [search, loadRange];\n};\n\nmodule.exports = useSearch;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst classnames = require('classnames');\nconst throttle = require('lodash.throttle');\nconst { useTranslation } = require('react-i18next');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { useRouteFocused } = require('stremio-router');\nconst { useServices } = require('stremio/services');\nconst { Button, Checkbox, MainNavBars, Multiselect, ColorInput, TextInput, ModalDialog, useProfile, usePlatform, useStreamingServer, useBinaryState, withCoreSuspender, useToast } = require('stremio/common');\nconst useProfileSettingsInputs = require('./useProfileSettingsInputs');\nconst useStreamingServerSettingsInputs = require('./useStreamingServerSettingsInputs');\nconst useDataExport = require('./useDataExport');\nconst styles = require('./styles');\n\nconst GENERAL_SECTION = 'general';\nconst PLAYER_SECTION = 'player';\nconst STREAMING_SECTION = 'streaming';\nconst SHORTCUTS_SECTION = 'shortcuts';\n\nconst Settings = () => {\n const { t } = useTranslation();\n const { core, shell } = useServices();\n const { routeFocused } = useRouteFocused();\n const profile = useProfile();\n const [dataExport, loadDataExport] = useDataExport();\n const streamingServer = useStreamingServer();\n const platform = usePlatform();\n const toast = useToast();\n const {\n interfaceLanguageSelect,\n subtitlesLanguageSelect,\n subtitlesSizeSelect,\n subtitlesTextColorInput,\n subtitlesBackgroundColorInput,\n subtitlesOutlineColorInput,\n audioLanguageSelect,\n surroundSoundCheckbox,\n seekTimeDurationSelect,\n seekShortTimeDurationSelect,\n escExitFullscreenCheckbox,\n playInExternalPlayerSelect,\n nextVideoPopupDurationSelect,\n bingeWatchingCheckbox,\n playInBackgroundCheckbox,\n hardwareDecodingCheckbox,\n streamingServerUrlInput\n } = useProfileSettingsInputs(profile);\n const {\n streamingServerRemoteUrlInput,\n remoteEndpointSelect,\n cacheSizeSelect,\n torrentProfileSelect,\n transcodingProfileSelect,\n } = useStreamingServerSettingsInputs(streamingServer);\n const [configureServerUrlModalOpen, openConfigureServerUrlModal, closeConfigureServerUrlModal] = useBinaryState(false);\n const configureServerUrlInputRef = React.useRef(null);\n const configureServerUrlOnSubmit = React.useCallback(() => {\n streamingServerUrlInput.onChange(configureServerUrlInputRef.current.value);\n closeConfigureServerUrlModal();\n }, [streamingServerUrlInput]);\n const [traktAuthStarted, setTraktAuthStarted] = React.useState(false);\n const isTraktAuthenticated = React.useMemo(() => {\n return profile.auth !== null && profile.auth.user !== null && profile.auth.user.trakt !== null &&\n (Date.now() / 1000) < (profile.auth.user.trakt.created_at + profile.auth.user.trakt.expires_in);\n }, [profile.auth]);\n const configureServerUrlModalButtons = React.useMemo(() => {\n return [\n {\n className: styles['cancel-button'],\n label: 'Cancel',\n props: {\n onClick: closeConfigureServerUrlModal\n }\n },\n {\n label: 'Submit',\n props: {\n onClick: configureServerUrlOnSubmit,\n }\n }\n ];\n }, [configureServerUrlOnSubmit]);\n const logoutButtonOnClick = React.useCallback(() => {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'Logout'\n }\n });\n }, []);\n const toggleTraktOnClick = React.useCallback(() => {\n if (!isTraktAuthenticated && profile.auth !== null && profile.auth.user !== null && typeof profile.auth.user._id === 'string') {\n platform.openExternal(`https://www.strem.io/trakt/auth/${profile.auth.user._id}`);\n setTraktAuthStarted(true);\n } else {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'LogoutTrakt'\n }\n });\n }\n }, [isTraktAuthenticated, profile.auth]);\n const subscribeCalendarOnClick = React.useCallback(() => {\n if (!profile.auth) return;\n\n const protocol = platform.name === 'ios' ? 'webcal' : 'https';\n const url = `${protocol}://www.strem.io/calendar/${profile.auth.user._id}.ics`;\n platform.openExternal(url);\n toast.show({\n type: 'success',\n title: platform.name === 'ios' ? t('SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST') : t('SETTINGS_SUBSCRIBE_CALENDAR_TOAST'),\n timeout: 25000\n });\n // Stremio 4 emits not documented event subscribeCalendar\n }, [profile.auth]);\n const exportDataOnClick = React.useCallback(() => {\n loadDataExport();\n }, []);\n const reloadStreamingServer = React.useCallback(() => {\n core.transport.dispatch({\n action: 'StreamingServer',\n args: {\n action: 'Reload'\n }\n });\n }, []);\n const onCopyRemoteUrlClick = React.useCallback(() => {\n if (streamingServer.remoteUrl) {\n navigator.clipboard.writeText(streamingServer.remoteUrl);\n toast.show({\n type: 'success',\n title: t('SETTINGS_REMOTE_URL_COPIED'),\n timeout: 2500,\n });\n }\n }, [streamingServer.remoteUrl]);\n const sectionsContainerRef = React.useRef(null);\n const generalSectionRef = React.useRef(null);\n const playerSectionRef = React.useRef(null);\n const streamingServerSectionRef = React.useRef(null);\n const shortcutsSectionRef = React.useRef(null);\n const sections = React.useMemo(() => ([\n { ref: generalSectionRef, id: GENERAL_SECTION },\n { ref: playerSectionRef, id: PLAYER_SECTION },\n { ref: streamingServerSectionRef, id: STREAMING_SECTION },\n { ref: shortcutsSectionRef, id: SHORTCUTS_SECTION },\n ]), []);\n const [selectedSectionId, setSelectedSectionId] = React.useState(GENERAL_SECTION);\n const updateSelectedSectionId = React.useCallback(() => {\n if (sectionsContainerRef.current.scrollTop + sectionsContainerRef.current.clientHeight >= sectionsContainerRef.current.scrollHeight - 50) {\n setSelectedSectionId(sections[sections.length - 1].id);\n } else {\n for (let i = sections.length - 1; i >= 0; i--) {\n if (sections[i].ref.current.offsetTop - sectionsContainerRef.current.offsetTop <= sectionsContainerRef.current.scrollTop) {\n setSelectedSectionId(sections[i].id);\n break;\n }\n }\n }\n }, []);\n const sideMenuButtonOnClick = React.useCallback((event) => {\n const section = sections.find((section) => {\n return section.id === event.currentTarget.dataset.section;\n });\n sectionsContainerRef.current.scrollTo({\n top: section.ref.current.offsetTop - sectionsContainerRef.current.offsetTop,\n behavior: 'smooth'\n });\n }, []);\n const sectionsContainerOnScroll = React.useCallback(throttle(() => {\n updateSelectedSectionId();\n }, 50), []);\n React.useEffect(() => {\n if (isTraktAuthenticated && traktAuthStarted) {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'InstallTraktAddon'\n }\n });\n setTraktAuthStarted(false);\n }\n }, [isTraktAuthenticated, traktAuthStarted]);\n React.useEffect(() => {\n if (dataExport.exportUrl !== null && typeof dataExport.exportUrl === 'string') {\n platform.openExternal(dataExport.exportUrl);\n }\n }, [dataExport.exportUrl]);\n React.useLayoutEffect(() => {\n if (routeFocused) {\n updateSelectedSectionId();\n }\n closeConfigureServerUrlModal();\n }, [routeFocused]);\n return (\n <MainNavBars className={styles['settings-container']} route={'settings'}>\n <div className={classnames(styles['settings-content'], 'animation-fade-in')}>\n <div className={styles['side-menu-container']}>\n <Button className={classnames(styles['side-menu-button'], { [styles['selected']]: selectedSectionId === GENERAL_SECTION })} title={ t('SETTINGS_NAV_GENERAL') } data-section={GENERAL_SECTION} onClick={sideMenuButtonOnClick}>\n { t('SETTINGS_NAV_GENERAL') }\n </Button>\n <Button className={classnames(styles['side-menu-button'], { [styles['selected']]: selectedSectionId === PLAYER_SECTION })} title={ t('SETTINGS_NAV_PLAYER') }data-section={PLAYER_SECTION} onClick={sideMenuButtonOnClick}>\n { t('SETTINGS_NAV_PLAYER') }\n </Button>\n <Button className={classnames(styles['side-menu-button'], { [styles['selected']]: selectedSectionId === STREAMING_SECTION })} title={ t('SETTINGS_NAV_STREAMING') } data-section={STREAMING_SECTION} onClick={sideMenuButtonOnClick}>\n { t('SETTINGS_NAV_STREAMING') }\n </Button>\n <Button className={classnames(styles['side-menu-button'], { [styles['selected']]: selectedSectionId === SHORTCUTS_SECTION })} title={ t('SETTINGS_NAV_SHORTCUTS') } data-section={SHORTCUTS_SECTION} onClick={sideMenuButtonOnClick}>\n { t('SETTINGS_NAV_SHORTCUTS') }\n </Button>\n <div className={styles['spacing']} />\n <div className={styles['version-info-label']} title={process.env.VERSION}>App Version: {process.env.VERSION}</div>\n {\n streamingServer.settings !== null && streamingServer.settings.type === 'Ready' ?\n <div className={styles['version-info-label']} title={streamingServer.settings.content.serverVersion}>Server Version: {streamingServer.settings.content.serverVersion}</div>\n :\n null\n }\n </div>\n <div ref={sectionsContainerRef} className={styles['sections-container']} onScroll={sectionsContainerOnScroll}>\n <div ref={generalSectionRef} className={styles['section-container']}>\n <div className={classnames(styles['option-container'], styles['user-info-option-container'])}>\n <div className={styles['user-info-content']}>\n <div\n className={styles['avatar-container']}\n style={{\n backgroundImage: profile.auth === null ?\n `url('${require('/images/anonymous.png')}')`\n :\n profile.auth.user.avatar ?\n `url('${profile.auth.user.avatar}')`\n :\n `url('${require('/images/default_avatar.png')}')`\n }}\n />\n <div className={styles['email-logout-container']}>\n <div className={styles['email-label-container']} title={profile.auth === null ? 'Anonymous user' : profile.auth.user.email}>\n <div className={styles['email-label']}>\n {profile.auth === null ? 'Anonymous user' : profile.auth.user.email}\n </div>\n </div>\n {\n profile.auth !== null ?\n <Button className={styles['logout-button-container']} title={ t('LOG_OUT') } onClick={logoutButtonOnClick}>\n <div className={styles['logout-label']}>{ t('LOG_OUT') }</div>\n </Button>\n :\n null\n }\n </div>\n </div>\n </div>\n {\n profile.auth === null ?\n <div className={styles['option-container']}>\n <Button className={classnames(styles['option-input-container'], styles['button-container'])} title={`${t('LOG_IN')} / ${t('SIGN_UP')}`} href={'#/intro'}>\n <div className={styles['label']}>{ t('LOG_IN') } / { t('SIGN_UP') }</div>\n </Button>\n </div>\n :\n null\n }\n </div>\n <div className={styles['section-container']}>\n <div className={classnames(styles['option-container'], styles['link-container'])}>\n {\n profile.auth ?\n <Button className={classnames(styles['option-input-container'], styles['link-input-container'])} title={t('SETTINGS_DATA_EXPORT')} tabIndex={-1} onClick={exportDataOnClick}>\n <div className={styles['label']}>{ t('SETTINGS_DATA_EXPORT') }</div>\n </Button>\n :\n null\n }\n </div>\n {\n profile.auth !== null && profile.auth.user !== null && typeof profile.auth.user._id === 'string' ?\n <div className={classnames(styles['option-container'], styles['link-container'])}>\n <Button className={classnames(styles['option-input-container'], styles['link-input-container'])} title={t('SETTINGS_SUBSCRIBE_CALENDAR')} tabIndex={-1} onClick={subscribeCalendarOnClick}>\n <div className={styles['label']}>{ t('SETTINGS_SUBSCRIBE_CALENDAR') }</div>\n </Button>\n </div>\n :\n null\n }\n <div className={classnames(styles['option-container'], styles['link-container'])}>\n <Button className={classnames(styles['option-input-container'], styles['link-input-container'])} title={t('SETTINGS_SUPPORT')} target={'_blank'} href={'https://stremio.zendesk.com/hc/en-us'}>\n <div className={styles['label']}>{ t('SETTINGS_SUPPORT') }</div>\n </Button>\n </div>\n <div className={classnames(styles['option-container'], styles['link-container'])}>\n <Button className={classnames(styles['option-input-container'], styles['link-input-container'])} title={'Source code'} target={'_blank'} href={`https://github.com/stremio/stremio-web/tree/${process.env.COMMIT_HASH}`}>\n <div className={styles['label']}>Source code</div>\n </Button>\n </div>\n <div className={classnames(styles['option-container'], styles['link-container'])}>\n <Button className={classnames(styles['option-input-container'], styles['link-input-container'])} title={t('TERMS_OF_SERVICE')} target={'_blank'} href={'https://www.stremio.com/tos'}>\n <div className={styles['label']}>{ t('TERMS_OF_SERVICE') }</div>\n </Button>\n </div>\n <div className={classnames(styles['option-container'], styles['link-container'])}>\n <Button className={classnames(styles['option-input-container'], styles['link-input-container'])} title={t('PRIVACY_POLICY')} target={'_blank'} href={'https://www.stremio.com/privacy'}>\n <div className={styles['label']}>{ t('PRIVACY_POLICY') }</div>\n </Button>\n </div>\n {\n profile.auth !== null && profile.auth.user !== null ?\n <div className={classnames(styles['option-container'], styles['link-container'])}>\n <Button className={classnames(styles['option-input-container'], styles['link-input-container'])} title={t('SETTINGS_ACC_DELETE')} target={'_blank'} href={'https://stremio.zendesk.com/hc/en-us/articles/360021428911-How-to-delete-my-account'}>\n <div className={styles['label']}>{ t('SETTINGS_ACC_DELETE') }</div>\n </Button>\n </div>\n :\n null\n }\n {\n profile.auth !== null && profile.auth.user !== null && typeof profile.auth.user.email === 'string' ?\n <div className={styles['option-container']}>\n <Button className={classnames(styles['option-input-container'], styles['link-input-container'])} title={t('SETTINGS_CHANGE_PASSWORD')} target={'_blank'} href={`https://www.strem.io/reset-password/${profile.auth.user.email}`}>\n <div className={styles['label']}>{ t('SETTINGS_CHANGE_PASSWORD') }</div>\n </Button>\n </div>\n :\n null\n }\n <div className={styles['option-container']}>\n <div className={classnames(styles['option-name-container'], styles['trakt-icon'])}>\n <Icon className={styles['icon']} name={'trakt'} />\n <div className={styles['label']}>Trakt Scrobbling</div>\n </div>\n <Button className={classnames(styles['option-input-container'], styles['button-container'])} title={'Authenticate'} disabled={profile.auth === null} tabIndex={-1} onClick={toggleTraktOnClick}>\n <div className={styles['label']}>\n { profile.auth !== null && profile.auth.user !== null && profile.auth.user.trakt !== null ? t('LOG_OUT') : t('SETTINGS_TRAKT_AUTHENTICATE') }\n </div>\n </Button>\n </div>\n </div>\n <div className={styles['section-container']}>\n <div className={styles['option-container']}>\n <div className={styles['option-name-container']}>\n <div className={styles['label']}>{ t('SETTINGS_UI_LANGUAGE') }</div>\n </div>\n <Multiselect\n className={classnames(styles['option-input-container'], styles['multiselect-container'])}\n tabIndex={-1}\n {...interfaceLanguageSelect}\n />\n </div>\n </div>\n <div ref={playerSectionRef} className={styles['section-container']}>\n <div className={styles['section-title']}>{ t('SETTINGS_NAV_PLAYER') }</div>\n <div className={styles['section-category-container']}>\n <Icon className={styles['icon']} name={'subtitles'} />\n <div className={styles['label']}>{t('SETTINGS_SECTION_SUBTITLES')}</div>\n </div>\n <div className={styles['option-container']}>\n <div className={styles['option-name-container']}>\n <div className={styles['label']}>{ t('SETTINGS_SUBTITLES_LANGUAGE') }</div>\n </div>\n <Multiselect\n className={classnames(styles['option-input-container'], styles['multiselect-container'])}\n {...subtitlesLanguageSelect}\n />\n </div>\n {\n shell.active ?\n <div className={styles['option-container']}>\n <div className={styles['option-name-container']}>\n <div className={styles['label']}>{ t('SETTINGS_FULLSCREEN_EXIT') }</div>\n </div>\n <Checkbox\n className={classnames(styles['option-input-container'], styles['checkbox-container'])}\n {...escExitFullscreenCheckbox}\n />\n </div>\n :\n null\n }\n <div className={styles['option-container']}>\n <div className={styles['option-name-container']}>\n <div className={styles['label']}>{ t('SETTINGS_SUBTITLES_SIZE') }</div>\n </div>\n <Multiselect\n className={classnames(styles['option-input-container'], styles['multiselect-container'])}\n {...subtitlesSizeSelect}\n />\n </div>\n <div className={styles['option-container']}>\n <div className={styles['option-name-container']}>\n <div className={styles['label']}>{ t('SETTINGS_SUBTITLES_COLOR') }</div>\n </div>\n <ColorInput\n className={classnames(styles['option-input-container'], styles['color-input-container'])}\n {...subtitlesTextColorInput}\n />\n </div>\n <div className={styles['option-container']}>\n <div className={styles['option-name-container']}>\n <div className={styles['label']}>{ t('SETTINGS_SUBTITLES_COLOR_BACKGROUND') }</div>\n </div>\n <ColorInput\n className={classnames(styles['option-input-container'], styles['color-input-container'])}\n {...subtitlesBackgroundColorInput}\n />\n </div>\n <div className={styles['option-container']}>\n <div className={styles['option-name-container']}>\n <div className={styles['label']}>{ t('SETTINGS_SUBTITLES_COLOR_OUTLINE') }</div>\n </div>\n <ColorInput\n className={classnames(styles['option-input-container'], styles['color-input-container'])}\n {...subtitlesOutlineColorInput}\n />\n </div>\n </div>\n <div className={styles['section-container']}>\n <div className={styles['section-category-container']}>\n <Icon className={styles['icon']} name={'volume-medium'} />\n <div className={styles['label']}>{t('SETTINGS_SECTION_AUDIO')}</div>\n </div>\n <div className={styles['option-container']}>\n <div className={styles['option-name-container']}>\n <div className={styles['label']}>{ t('SETTINGS_DEFAULT_AUDIO_TRACK') }</div>\n </div>\n <Multiselect\n className={classnames(styles['option-input-container'], styles['multiselect-container'])}\n {...audioLanguageSelect}\n />\n </div>\n <div className={styles['option-container']}>\n <div className={styles['option-name-container']}>\n <div className={styles['label']}>{ t('SETTINGS_SURROUND_SOUND') }</div>\n </div>\n <Checkbox\n className={classnames(styles['option-input-container'], styles['checkbox-container'])}\n tabIndex={-1}\n {...surroundSoundCheckbox}\n />\n </div>\n </div>\n <div className={styles['section-container']}>\n <div className={styles['section-category-container']}>\n <Icon className={styles['icon']} name={'remote'} />\n <div className={styles['label']}>{t('SETTINGS_SECTION_CONTROLS')}</div>\n </div>\n <div className={styles['option-container']}>\n <div className={styles['option-name-container']}>\n <div className={styles['label']}>{ t('SETTINGS_SEEK_KEY') }</div>\n </div>\n <Multiselect\n className={classnames(styles['option-input-container'], styles['multiselect-container'])}\n {...seekTimeDurationSelect}\n />\n </div>\n <div className={styles['option-container']}>\n <div className={styles['option-name-container']}>\n <div className={styles['label']}>{ t('SETTINGS_SEEK_KEY_SHIFT') }</div>\n </div>\n <Multiselect\n className={classnames(styles['option-input-container'], styles['multiselect-container'])}\n {...seekShortTimeDurationSelect}\n />\n </div>\n <div className={styles['option-container']}>\n <div className={styles['option-name-container']}>\n <div className={styles['label']}>{ t('SETTINGS_PLAY_IN_BACKGROUND') }</div>\n </div>\n <Checkbox\n className={classnames(styles['option-input-container'], styles['checkbox-container'])}\n disabled={true}\n tabIndex={-1}\n {...playInBackgroundCheckbox}\n />\n </div>\n </div>\n <div className={styles['section-container']}>\n <div className={styles['section-category-container']}>\n <Icon className={styles['icon']} name={'play'} />\n <div className={styles['label']}>{t('SETTINGS_SECTION_AUTO_PLAY')}</div>\n </div>\n <div className={styles['option-container']}>\n <div className={styles['option-name-container']}>\n <div className={styles['label']}>{ t('AUTO_PLAY') }</div>\n </div>\n <Checkbox\n className={classnames(styles['option-input-container'], styles['checkbox-container'])}\n {...bingeWatchingCheckbox}\n />\n </div>\n <div className={styles['option-container']}>\n <div className={styles['option-name-container']}>\n <div className={styles['label']}>{ t('SETTINGS_NEXT_VIDEO_POPUP_DURATION') }</div>\n </div>\n <Multiselect\n className={classnames(styles['option-input-container'], styles['multiselect-container'])}\n disabled={!profile.settings.bingeWatching}\n {...nextVideoPopupDurationSelect}\n />\n </div>\n </div>\n <div className={styles['section-container']}>\n <div className={styles['section-category-container']}>\n <Icon className={styles['icon']} name={'glasses'} />\n <div className={styles['label']}>{t('SETTINGS_SECTION_ADVANCED')}</div>\n </div>\n <div className={styles['option-container']}>\n <div className={styles['option-name-container']}>\n <div className={styles['label']}>{ t('SETTINGS_PLAY_IN_EXTERNAL_PLAYER') }</div>\n </div>\n <Multiselect\n className={classnames(styles['option-input-container'], styles['multiselect-container'])}\n {...playInExternalPlayerSelect}\n />\n </div>\n <div className={styles['option-container']}>\n <div className={styles['option-name-container']}>\n <div className={styles['label']}>{ t('SETTINGS_HWDEC') }</div>\n </div>\n <Checkbox\n className={classnames(styles['option-input-container'], styles['checkbox-container'])}\n disabled={true}\n tabIndex={-1}\n {...hardwareDecodingCheckbox}\n />\n </div>\n </div>\n <div ref={streamingServerSectionRef} className={styles['section-container']}>\n <div className={styles['section-title']}>{ t('SETTINGS_NAV_STREAMING') }</div>\n <div className={styles['option-container']}>\n <Button className={classnames(styles['option-input-container'], styles['button-container'])} title={'Reload'} onClick={reloadStreamingServer}>\n <div className={styles['label']}>{ t('RELOAD') }</div>\n </Button>\n </div>\n <div className={styles['option-container']}>\n <div className={styles['option-name-container']}>\n <div className={styles['label']}>{ t('STATUS') }</div>\n </div>\n <div className={classnames(styles['option-input-container'], styles['info-container'])}>\n <div className={styles['label']}>\n {\n streamingServer.settings === null ?\n 'NotLoaded'\n :\n streamingServer.settings.type === 'Ready' ?\n t('SETTINGS_SERVER_STATUS_ONLINE')\n :\n streamingServer.settings.type === 'Err' ?\n t('SETTINGS_SERVER_STATUS_ERROR')\n :\n streamingServer.settings.type\n }\n </div>\n </div>\n </div>\n <div className={styles['option-container']}>\n <div className={styles['option-name-container']}>\n <div className={styles['label']}>Url</div>\n </div>\n <div className={classnames(styles['option-input-container'], styles['configure-input-container'])}>\n <div className={styles['label']} title={streamingServerUrlInput.value}>{streamingServerUrlInput.value}</div>\n <Button className={styles['configure-button-container']} title={'Configure server url'} onClick={openConfigureServerUrlModal}>\n <Icon className={styles['icon']} name={'settings'} />\n </Button>\n </div>\n </div>\n {\n streamingServerRemoteUrlInput.value !== null ?\n <div className={styles['option-container']}>\n <div className={styles['option-name-container']}>\n <div className={styles['label']}>{t('SETTINGS_REMOTE_URL')}</div>\n </div>\n <div className={classnames(styles['option-input-container'], styles['configure-input-container'])}>\n <div className={styles['label']} title={streamingServerRemoteUrlInput.value}>{streamingServerRemoteUrlInput.value}</div>\n <Button className={styles['configure-button-container']} title={t('SETTINGS_COPY_REMOTE_URL')} onClick={onCopyRemoteUrlClick}>\n <Icon className={styles['icon']} name={'link'} />\n </Button>\n </div>\n </div>\n :\n null\n }\n {\n profile.auth !== null && profile.auth.user !== null && remoteEndpointSelect !== null ?\n <div className={styles['option-container']}>\n <div className={styles['option-name-container']}>\n <div className={styles['label']}>{ t('SETTINGS_HTTPS_ENDPOINT') }</div>\n </div>\n <Multiselect\n className={classnames(styles['option-input-container'], styles['multiselect-container'])}\n {...remoteEndpointSelect}\n />\n </div>\n :\n null\n }\n {\n cacheSizeSelect !== null ?\n <div className={styles['option-container']}>\n <div className={styles['option-name-container']}>\n <div className={styles['label']}>{ t('SETTINGS_SERVER_CACHE_SIZE') }</div>\n </div>\n <Multiselect\n className={classnames(styles['option-input-container'], styles['multiselect-container'])}\n {...cacheSizeSelect}\n />\n </div>\n :\n null\n }\n {\n torrentProfileSelect !== null ?\n <div className={styles['option-container']}>\n <div className={styles['option-name-container']}>\n <div className={styles['label']}>{ t('SETTINGS_SERVER_TORRENT_PROFILE') }</div>\n </div>\n <Multiselect\n className={classnames(styles['option-input-container'], styles['multiselect-container'])}\n {...torrentProfileSelect}\n />\n </div>\n :\n null\n }\n {\n transcodingProfileSelect !== null ?\n <div className={styles['option-container']}>\n <div className={styles['option-name-container']}>\n <div className={styles['label']}>{ t('SETTINGS_TRANSCODE_PROFILE') }</div>\n </div>\n <Multiselect\n className={classnames(styles['option-input-container'], styles['multiselect-container'])}\n {...transcodingProfileSelect}\n />\n </div>\n :\n null\n }\n </div>\n <div ref={shortcutsSectionRef} className={styles['section-container']}>\n <div className={styles['section-title']}>{ t('SETTINGS_NAV_SHORTCUTS') }</div>\n <div className={styles['option-container']}>\n <div className={styles['option-name-container']}>\n <div className={styles['label']}>{ t('SETTINGS_SHORTCUT_PLAY_PAUSE') }</div>\n </div>\n <div className={classnames(styles['option-input-container'], styles['shortcut-container'])}>\n <kbd>{ t('SETTINGS_SHORTCUT_SPACE') }</kbd>\n </div>\n </div>\n <div className={styles['option-container']}>\n <div className={styles['option-name-container']}>\n <div className={styles['label']}>{ t('SETTINGS_SHORTCUT_SEEK_FORWARD') }</div>\n </div>\n <div className={classnames(styles['option-input-container'], styles['shortcut-container'])}>\n <kbd>→</kbd>\n <div className={styles['label']}>{ t('SETTINGS_SHORTCUT_OR') }</div>\n <kbd>⇧ { t('SETTINGS_SHORTCUT_SHIFT') }</kbd>\n <div className={styles['label']}>+</div>\n <kbd>→</kbd>\n </div>\n </div>\n <div className={styles['option-container']}>\n <div className={styles['option-name-container']}>\n <div className={styles['label']}>{ t('SETTINGS_SHORTCUT_SEEK_BACKWARD') }</div>\n </div>\n <div className={classnames(styles['option-input-container'], styles['shortcut-container'])}>\n <kbd>←</kbd>\n <div className={styles['label']}>{ t('SETTINGS_SHORTCUT_OR') }</div>\n <kbd>⇧ { t('SETTINGS_SHORTCUT_SHIFT') }</kbd>\n <div className={styles['label']}>+</div>\n <kbd>←</kbd>\n </div>\n </div>\n <div className={styles['option-container']}>\n <div className={styles['option-name-container']}>\n <div className={styles['label']}>{ t('SETTINGS_SHORTCUT_VOLUME_UP') }</div>\n </div>\n <div className={classnames(styles['option-input-container'], styles['shortcut-container'])}>\n <kbd>↑</kbd>\n </div>\n </div>\n <div className={styles['option-container']}>\n <div className={styles['option-name-container']}>\n <div className={styles['label']}>{ t('SETTINGS_SHORTCUT_VOLUME_DOWN') }</div>\n </div>\n <div className={classnames(styles['option-input-container'], styles['shortcut-container'])}>\n <kbd>↓</kbd>\n </div>\n </div>\n <div className={styles['option-container']}>\n <div className={styles['option-name-container']}>\n <div className={styles['label']}>{ t('SETTINGS_SHORTCUT_MENU_SUBTITLES') }</div>\n </div>\n <div className={classnames(styles['option-input-container'], styles['shortcut-container'])}>\n <kbd>S</kbd>\n </div>\n </div>\n <div className={styles['option-container']}>\n <div className={styles['option-name-container']}>\n <div className={styles['label']}>{ t('SETTINGS_SHORTCUT_MENU_INFO') }</div>\n </div>\n <div className={classnames(styles['option-input-container'], styles['shortcut-container'])}>\n <kbd>I</kbd>\n </div>\n </div>\n <div className={styles['option-container']}>\n <div className={styles['option-name-container']}>\n <div className={styles['label']}>{ t('SETTINGS_SHORTCUT_MENU_VIDEOS') }</div>\n </div>\n <div className={classnames(styles['option-input-container'], styles['shortcut-container'])}>\n <kbd>V</kbd>\n </div>\n </div>\n <div className={styles['option-container']}>\n <div className={styles['option-name-container']}>\n <div className={styles['label']}>{ t('SETTINGS_SHORTCUT_FULLSCREEN') }</div>\n </div>\n <div className={classnames(styles['option-input-container'], styles['shortcut-container'])}>\n <kbd>F</kbd>\n </div>\n </div>\n <div className={styles['option-container']}>\n <div className={styles['option-name-container']}>\n <div className={styles['label']}>{ t('SETTINGS_SHORTCUT_NAVIGATE_MENUS') }</div>\n </div>\n <div className={classnames(styles['option-input-container'], styles['shortcut-container'])}>\n <kbd>1</kbd>\n <div className={styles['label']}>{ t('SETTINGS_SHORTCUT_TO') }</div>\n <kbd>5</kbd>\n </div>\n </div>\n <div className={styles['option-container']}>\n <div className={styles['option-name-container']}>\n <div className={styles['label']}>{ t('SETTINGS_SHORTCUT_GO_TO_SEARCH') }</div>\n </div>\n <div className={classnames(styles['option-input-container'], styles['shortcut-container'])}>\n <kbd>0</kbd>\n </div>\n </div>\n <div className={styles['option-container']}>\n <div className={styles['option-name-container']}>\n <div className={styles['label']}>{ t('SETTINGS_SHORTCUT_EXIT_BACK') }</div>\n </div>\n <div className={classnames(styles['option-input-container'], styles['shortcut-container'])}>\n <kbd>{ t('SETTINGS_SHORTCUT_ESC') }</kbd>\n </div>\n </div>\n </div>\n <div className={classnames(styles['section-container'], styles['versions-section-container'])}>\n <div className={styles['option-container']}>\n <div className={styles['option-name-container']}>\n <div className={styles['label']}>\n App Version\n </div>\n </div>\n <div className={classnames(styles['option-input-container'], styles['info-container'])}>\n <div className={styles['label']}>\n {process.env.VERSION}\n </div>\n </div>\n </div>\n {\n streamingServer.settings !== null && streamingServer.settings.type === 'Ready' ?\n <div className={styles['option-container']}>\n <div className={styles['option-name-container']}>\n <div className={styles['label']}>\n Server Version\n </div>\n </div>\n <div className={classnames(styles['option-input-container'], styles['info-container'])}>\n <div className={styles['label']}>\n {streamingServer.settings.content.serverVersion}\n </div>\n </div>\n </div>\n :\n null\n }\n </div>\n </div>\n </div>\n {\n configureServerUrlModalOpen ?\n <ModalDialog\n className={styles['configure-server-url-modal-container']}\n title={t('SETTINGS_SERVER_CONFIGURE_TITLE')}\n buttons={configureServerUrlModalButtons}\n onCloseRequest={closeConfigureServerUrlModal}>\n <TextInput\n ref={configureServerUrlInputRef}\n autoFocus={true}\n className={styles['server-url-input']}\n type={'text'}\n defaultValue={streamingServerUrlInput.value}\n placeholder={t('SETTINGS_SERVER_CONFIGURE_INPUT')}\n onSubmit={configureServerUrlOnSubmit}\n />\n </ModalDialog>\n :\n null\n }\n </MainNavBars>\n );\n};\n\nconst SettingsFallback = () => (\n <MainNavBars className={styles['settings-container']} route={'settings'} />\n);\n\nmodule.exports = withCoreSuspender(Settings, SettingsFallback);\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Settings = require('./Settings');\n\nmodule.exports = Settings;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useServices } = require('stremio/services');\nconst { useModelState } = require('stremio/common');\n\nconst map = (dataExport) => ({\n ...dataExport,\n exportUrl: dataExport !== null && dataExport.exportUrl !== null && dataExport.exportUrl.type === 'Ready' ?\n dataExport.exportUrl.content\n :\n null\n});\n\nconst useDataExport = () => {\n const { core } = useServices();\n const loadDataExport = React.useCallback(() => {\n core.transport.dispatch({\n action: 'Load',\n args: {\n model: 'DataExport',\n }\n }, 'data_export');\n }, []);\n const dataExport = useModelState({ model: 'data_export', map });\n return [\n dataExport,\n loadDataExport\n ];\n};\n\nmodule.exports = useDataExport;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useTranslation } = require('react-i18next');\nconst { useServices } = require('stremio/services');\nconst { CONSTANTS, usePlatform, interfaceLanguages, languageNames } = require('stremio/common');\n\nconst useProfileSettingsInputs = (profile) => {\n const { t } = useTranslation();\n const { core } = useServices();\n const platform = usePlatform();\n // TODO combine those useMemo in one\n const interfaceLanguageSelect = React.useMemo(() => ({\n options: interfaceLanguages.map(({ name, codes }) => ({\n value: codes[0],\n label: name,\n })),\n selected: [\n interfaceLanguages.find(({ codes }) => codes[1] === profile.settings.interfaceLanguage)?.codes?.[0] || profile.settings.interfaceLanguage\n ],\n onSelect: (event) => {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: {\n ...profile.settings,\n interfaceLanguage: event.value\n }\n }\n });\n }\n }), [profile.settings]);\n const subtitlesLanguageSelect = React.useMemo(() => ({\n options: Object.keys(languageNames).map((code) => ({\n value: code,\n label: languageNames[code]\n })),\n selected: [profile.settings.subtitlesLanguage],\n onSelect: (event) => {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: {\n ...profile.settings,\n subtitlesLanguage: event.value\n }\n }\n });\n }\n }), [profile.settings]);\n const subtitlesSizeSelect = React.useMemo(() => ({\n options: CONSTANTS.SUBTITLES_SIZES.map((size) => ({\n value: `${size}`,\n label: `${size}%`\n })),\n selected: [`${profile.settings.subtitlesSize}`],\n renderLabelText: () => {\n return `${profile.settings.subtitlesSize}%`;\n },\n onSelect: (event) => {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: {\n ...profile.settings,\n subtitlesSize: parseInt(event.value, 10)\n }\n }\n });\n }\n }), [profile.settings]);\n const subtitlesTextColorInput = React.useMemo(() => ({\n value: profile.settings.subtitlesTextColor,\n onChange: (event) => {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: {\n ...profile.settings,\n subtitlesTextColor: event.value\n }\n }\n });\n }\n }), [profile.settings]);\n const subtitlesBackgroundColorInput = React.useMemo(() => ({\n value: profile.settings.subtitlesBackgroundColor,\n onChange: (event) => {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: {\n ...profile.settings,\n subtitlesBackgroundColor: event.value\n }\n }\n });\n }\n }), [profile.settings]);\n const subtitlesOutlineColorInput = React.useMemo(() => ({\n value: profile.settings.subtitlesOutlineColor,\n onChange: (event) => {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: {\n ...profile.settings,\n subtitlesOutlineColor: event.value\n }\n }\n });\n }\n }), [profile.settings]);\n const audioLanguageSelect = React.useMemo(() => ({\n options: Object.keys(languageNames).map((code) => ({\n value: code,\n label: languageNames[code]\n })),\n selected: [profile.settings.audioLanguage],\n onSelect: (event) => {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: {\n ...profile.settings,\n audioLanguage: event.value\n }\n }\n });\n }\n }), [profile.settings]);\n const surroundSoundCheckbox = React.useMemo(() => ({\n checked: profile.settings.surroundSound,\n onClick: () => {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: {\n ...profile.settings,\n surroundSound: !profile.settings.surroundSound\n }\n }\n });\n }\n }), [profile.settings]);\n const escExitFullscreenCheckbox = React.useMemo(() => ({\n checked: profile.settings.escExitFullscreen,\n onClick: () => {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: {\n ...profile.settings,\n escExitFullscreen: !profile.settings.escExitFullscreen\n }\n }\n });\n }\n }), [profile.settings]);\n\n const seekTimeDurationSelect = React.useMemo(() => ({\n options: CONSTANTS.SEEK_TIME_DURATIONS.map((size) => ({\n value: `${size}`,\n label: `${size / 1000} ${t('SECONDS')}`\n })),\n selected: [`${profile.settings.seekTimeDuration}`],\n renderLabelText: () => {\n return `${profile.settings.seekTimeDuration / 1000} ${t('SECONDS')}`;\n },\n onSelect: (event) => {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: {\n ...profile.settings,\n seekTimeDuration: parseInt(event.value, 10)\n }\n }\n });\n }\n }), [profile.settings]);\n const seekShortTimeDurationSelect = React.useMemo(() => ({\n options: CONSTANTS.SEEK_TIME_DURATIONS.map((size) => ({\n value: `${size}`,\n label: `${size / 1000} ${t('SECONDS')}`\n })),\n selected: [`${profile.settings.seekShortTimeDuration}`],\n renderLabelText: () => {\n return `${profile.settings.seekShortTimeDuration / 1000} ${t('SECONDS')}`;\n },\n onSelect: (event) => {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: {\n ...profile.settings,\n seekShortTimeDuration: parseInt(event.value, 10)\n }\n }\n });\n }\n }), [profile.settings]);\n const playInExternalPlayerSelect = React.useMemo(() => ({\n options: CONSTANTS.EXTERNAL_PLAYERS\n .filter(({ platforms }) => platforms.includes(platform.name))\n .map(({ label, value }) => ({\n value,\n label: t(label),\n })),\n selected: [profile.settings.playerType],\n renderLabelText: () => {\n const selectedOption = CONSTANTS.EXTERNAL_PLAYERS.find(({ value }) => value === profile.settings.playerType);\n return selectedOption ? t(selectedOption.label, { defaultValue: selectedOption.label }) : profile.settings.playerType;\n },\n onSelect: (event) => {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: {\n ...profile.settings,\n playerType: event.value\n }\n }\n });\n }\n }), [profile.settings]);\n const nextVideoPopupDurationSelect = React.useMemo(() => ({\n options: CONSTANTS.NEXT_VIDEO_POPUP_DURATIONS.map((duration) => ({\n value: `${duration}`,\n label: duration === 0 ? 'Disabled' : `${duration / 1000} ${t('SECONDS')}`\n })),\n selected: [`${profile.settings.nextVideoNotificationDuration}`],\n renderLabelText: () => {\n return profile.settings.nextVideoNotificationDuration === 0 ?\n 'Disabled'\n :\n `${profile.settings.nextVideoNotificationDuration / 1000} ${t('SECONDS')}`;\n },\n onSelect: (event) => {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: {\n ...profile.settings,\n nextVideoNotificationDuration: parseInt(event.value, 10)\n }\n }\n });\n }\n }), [profile.settings]);\n const bingeWatchingCheckbox = React.useMemo(() => ({\n checked: profile.settings.bingeWatching,\n onClick: () => {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: {\n ...profile.settings,\n bingeWatching: !profile.settings.bingeWatching\n }\n }\n });\n }\n }), [profile.settings]);\n const playInBackgroundCheckbox = React.useMemo(() => ({\n checked: profile.settings.playInBackground,\n onClick: () => {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: {\n ...profile.settings,\n playInBackground: !profile.settings.playInBackground\n }\n }\n });\n }\n }), [profile.settings]);\n const hardwareDecodingCheckbox = React.useMemo(() => ({\n checked: profile.settings.hardwareDecoding,\n onClick: () => {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: {\n ...profile.settings,\n hardwareDecoding: !profile.settings.hardwareDecoding\n }\n }\n });\n }\n }), [profile.settings]);\n const streamingServerUrlInput = React.useMemo(() => ({\n value: profile.settings.streamingServerUrl,\n onChange: (value) => {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: {\n ...profile.settings,\n streamingServerUrl: value\n }\n }\n });\n }\n }), [profile.settings]);\n return {\n interfaceLanguageSelect,\n subtitlesLanguageSelect,\n subtitlesSizeSelect,\n subtitlesTextColorInput,\n subtitlesBackgroundColorInput,\n subtitlesOutlineColorInput,\n audioLanguageSelect,\n surroundSoundCheckbox,\n escExitFullscreenCheckbox,\n seekTimeDurationSelect,\n seekShortTimeDurationSelect,\n playInExternalPlayerSelect,\n nextVideoPopupDurationSelect,\n bingeWatchingCheckbox,\n playInBackgroundCheckbox,\n hardwareDecodingCheckbox,\n streamingServerUrlInput\n };\n};\n\nmodule.exports = useProfileSettingsInputs;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useTranslation } = require('react-i18next');\nconst isEqual = require('lodash.isequal');\nconst { useServices } = require('stremio/services');\n\nconst CACHE_SIZES = [0, 2147483648, 5368709120, 10737418240, null];\n\nconst cacheSizeToString = (size) => {\n return size === null ?\n 'Infinite'\n :\n size === 0 ?\n 'No caching'\n :\n `${Math.ceil(((size / 1024 / 1024 / 1024) + Number.EPSILON) * 100) / 100}GiB`;\n};\n\nconst TORRENT_PROFILES = {\n default: {\n btDownloadSpeedHardLimit: 3670016,\n btDownloadSpeedSoftLimit: 2621440,\n btHandshakeTimeout: 20000,\n btMaxConnections: 55,\n btMinPeersForStable: 5,\n btRequestTimeout: 4000\n },\n soft: {\n btDownloadSpeedHardLimit: 1677721.6,\n btDownloadSpeedSoftLimit: 1677721.6,\n btHandshakeTimeout: 20000,\n btMaxConnections: 35,\n btMinPeersForStable: 5,\n btRequestTimeout: 4000\n },\n fast: {\n btDownloadSpeedHardLimit: 39321600,\n btDownloadSpeedSoftLimit: 4194304,\n btHandshakeTimeout: 20000,\n btMaxConnections: 200,\n btMinPeersForStable: 10,\n btRequestTimeout: 4000\n },\n 'ultra fast': {\n btDownloadSpeedHardLimit: 78643200,\n btDownloadSpeedSoftLimit: 8388608,\n btHandshakeTimeout: 25000,\n btMaxConnections: 400,\n btMinPeersForStable: 10,\n btRequestTimeout: 6000\n }\n};\n\nconst useStreamingServerSettingsInputs = (streamingServer) => {\n const { core } = useServices();\n const { t } = useTranslation();\n // TODO combine those useMemo in one\n\n const streamingServerRemoteUrlInput = React.useMemo(() => ({\n value: streamingServer.remoteUrl,\n }), [streamingServer.remoteUrl]);\n\n const remoteEndpointSelect = React.useMemo(() => {\n if (streamingServer.settings?.type !== 'Ready' || streamingServer.networkInfo?.type !== 'Ready') {\n return null;\n }\n\n return {\n options: [\n {\n label: t('SETTINGS_DISABLED'),\n value: '',\n },\n ...streamingServer.networkInfo.content.availableInterfaces.map((address) => ({\n label: address,\n value: address,\n }))\n ],\n selected: [streamingServer.settings.content.remoteHttps],\n onSelect: (event) => {\n core.transport.dispatch({\n action: 'StreamingServer',\n args: {\n action: 'UpdateSettings',\n args: {\n ...streamingServer.settings.content,\n remoteHttps: event.value,\n }\n }\n });\n }\n };\n }, [streamingServer.settings, streamingServer.networkInfo]);\n\n const cacheSizeSelect = React.useMemo(() => {\n if (streamingServer.settings === null || streamingServer.settings.type !== 'Ready') {\n return null;\n }\n\n return {\n options: CACHE_SIZES.map((size) => ({\n label: cacheSizeToString(size),\n value: JSON.stringify(size)\n })),\n selected: [JSON.stringify(streamingServer.settings.content.cacheSize)],\n renderLabelText: () => {\n return cacheSizeToString(streamingServer.settings.content.cacheSize);\n },\n onSelect: (event) => {\n core.transport.dispatch({\n action: 'StreamingServer',\n args: {\n action: 'UpdateSettings',\n args: {\n ...streamingServer.settings.content,\n cacheSize: JSON.parse(event.value),\n }\n }\n });\n }\n };\n }, [streamingServer.settings]);\n const torrentProfileSelect = React.useMemo(() => {\n if (streamingServer.settings === null || streamingServer.settings.type !== 'Ready') {\n return null;\n }\n\n const selectedTorrentProfile = {\n btDownloadSpeedHardLimit: streamingServer.settings.content.btDownloadSpeedHardLimit,\n btDownloadSpeedSoftLimit: streamingServer.settings.content.btDownloadSpeedSoftLimit,\n btHandshakeTimeout: streamingServer.settings.content.btHandshakeTimeout,\n btMaxConnections: streamingServer.settings.content.btMaxConnections,\n btMinPeersForStable: streamingServer.settings.content.btMinPeersForStable,\n btRequestTimeout: streamingServer.settings.content.btRequestTimeout\n };\n const isCustomTorrentProfileSelected = Object.values(TORRENT_PROFILES).every((torrentProfile) => {\n return !isEqual(torrentProfile, selectedTorrentProfile);\n });\n return {\n options: Object.keys(TORRENT_PROFILES)\n .map((profileName) => ({\n label: profileName,\n value: JSON.stringify(TORRENT_PROFILES[profileName])\n }))\n .concat(\n isCustomTorrentProfileSelected ?\n [{\n label: 'custom',\n value: JSON.stringify(selectedTorrentProfile)\n }]\n :\n []\n ),\n selected: [JSON.stringify(selectedTorrentProfile)],\n onSelect: (event) => {\n core.transport.dispatch({\n action: 'StreamingServer',\n args: {\n action: 'UpdateSettings',\n args: {\n ...streamingServer.settings.content,\n ...JSON.parse(event.value),\n }\n }\n });\n }\n };\n }, [streamingServer.settings]);\n const transcodingProfileSelect = React.useMemo(() => {\n if (streamingServer.settings?.type !== 'Ready' || streamingServer.deviceInfo?.type !== 'Ready') {\n return null;\n }\n\n return {\n options: [\n {\n label: t('SETTINGS_DISABLED'),\n value: null,\n },\n ...streamingServer.deviceInfo.content.availableHardwareAccelerations.map((name) => ({\n label: name,\n value: name,\n }))\n ],\n selected: [streamingServer.settings.content.transcodeProfile],\n onSelect: (event) => {\n core.transport.dispatch({\n action: 'StreamingServer',\n args: {\n action: 'UpdateSettings',\n args: {\n ...streamingServer.settings.content,\n transcodeProfile: event.value,\n }\n }\n });\n }\n };\n }, [streamingServer.settings, streamingServer.deviceInfo]);\n return { streamingServerRemoteUrlInput, remoteEndpointSelect, cacheSizeSelect, torrentProfileSelect, transcodingProfileSelect };\n};\n\nmodule.exports = useStreamingServerSettingsInputs;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Addons = require('./Addons');\nconst Board = require('./Board');\nconst Discover = require('./Discover');\nconst Library = require('./Library');\nconst MetaDetails = require('./MetaDetails');\nconst NotFound = require('./NotFound');\nconst Search = require('./Search');\nconst Settings = require('./Settings');\nconst Player = require('./Player');\nconst Intro = require('./Intro');\n\nmodule.exports = {\n Addons,\n Board,\n Discover,\n Library,\n MetaDetails,\n NotFound,\n Search,\n Settings,\n Player,\n Intro\n};\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst EventEmitter = require('eventemitter3');\nconst ChromecastTransport = require('./ChromecastTransport');\n\nfunction Chromecast() {\n let active = false;\n let error = null;\n let starting = false;\n let transport = null;\n\n const events = new EventEmitter();\n\n function onTransportInit() {\n active = true;\n error = null;\n starting = false;\n onStateChanged();\n }\n function onTransportInitError(args) {\n console.error(args);\n active = false;\n error = new Error('Google Cast API not available', { cause: args });\n starting = false;\n onStateChanged();\n transport = null;\n }\n function onStateChanged() {\n events.emit('stateChanged');\n }\n\n Object.defineProperties(this, {\n active: {\n configurable: false,\n enumerable: true,\n get: function() {\n return active;\n }\n },\n error: {\n configurable: false,\n enumerable: true,\n get: function() {\n return error;\n }\n },\n starting: {\n configurable: false,\n enumerable: true,\n get: function() {\n return starting;\n }\n },\n transport: {\n configurable: false,\n enumerable: true,\n get: function() {\n return transport;\n }\n }\n });\n\n this.start = function() {\n if (active || error instanceof Error || starting) {\n return;\n }\n\n starting = true;\n transport = new ChromecastTransport();\n transport.on('init', onTransportInit);\n transport.on('init-error', onTransportInitError);\n onStateChanged();\n };\n this.stop = function() {\n active = false;\n error = null;\n starting = false;\n onStateChanged();\n if (transport !== null) {\n transport.removeAllListeners();\n transport = null;\n }\n };\n this.on = function(name, listener) {\n events.on(name, listener);\n };\n this.off = function(name, listener) {\n events.off(name, listener);\n };\n}\n\nmodule.exports = Chromecast;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst EventEmitter = require('eventemitter3');\nconst hat = require('hat');\n\nconst MESSAGE_NAMESPACE = 'urn:x-cast:com.stremio';\nconst CHUNK_SIZE = 20000;\n\nlet castAPIAvailable = null;\nconst castAPIEvents = new EventEmitter();\nwindow['__onGCastApiAvailable'] = function(available) {\n delete window['__onGCastApiAvailable'];\n castAPIAvailable = !!available;\n castAPIEvents.emit('availabilityChanged');\n};\n\nconst initialize = () => {\n return new Promise((resolve, reject) => {\n function onCastAPIAvailabilityChanged() {\n castAPIEvents.off('availabilityChanged', onCastAPIAvailabilityChanged);\n if (castAPIAvailable) {\n resolve();\n } else {\n reject(new Error('window.cast api not available'));\n }\n }\n if (castAPIAvailable !== null) {\n onCastAPIAvailabilityChanged();\n } else {\n castAPIEvents.on('availabilityChanged', onCastAPIAvailabilityChanged);\n }\n });\n};\n\nfunction ChromecastTransport() {\n const events = new EventEmitter();\n const messages = {};\n\n initialize()\n .then(() => {\n cast.framework.CastContext.getInstance().addEventListener(\n cast.framework.CastContextEventType.CAST_STATE_CHANGED,\n onCastStateChanged\n );\n cast.framework.CastContext.getInstance().addEventListener(\n cast.framework.CastContextEventType.SESSION_STATE_CHANGED,\n onSesstionStateChanged\n );\n })\n .then(() => {\n try {\n events.emit('init');\n } catch (error) {\n console.error('ChromecastTransport', error);\n }\n })\n .catch((error) => {\n events.emit('init-error', error);\n });\n\n function onMessage(_, message) {\n try {\n const { id, chunk, index, length } = JSON.parse(message);\n messages[id] = messages[id] || [];\n messages[id][index] = chunk;\n if (Object.keys(messages[id]).length === length) {\n const parsedMessage = JSON.parse(messages[id].join(''));\n delete messages[id];\n events.emit('message', parsedMessage);\n }\n } catch (error) {\n events.emit('message-error', error);\n }\n }\n function onApplicationStatusChanged(event) {\n events.emit(cast.framework.CastSession.APPLICATION_STATUS_CHANGED, event);\n }\n function onApplicationMetadataChanged(event) {\n events.emit(cast.framework.CastSession.APPLICATION_METADATA_CHANGED, event);\n }\n function onActiveInputStateChanged(event) {\n events.emit(cast.framework.CastSession.ACTIVE_INPUT_STATE_CHANGED, event);\n }\n function onVolumeChanged(event) {\n events.emit(cast.framework.CastSession.VOLUME_CHANGED, event);\n }\n function onMediaSessionChanged(event) {\n events.emit(cast.framework.CastSession.MEDIA_SESSION, event);\n }\n function onCastStateChanged(event) {\n events.emit(cast.framework.CastContextEventType.CAST_STATE_CHANGED, event);\n }\n function onSesstionStateChanged(event) {\n events.emit(cast.framework.CastContextEventType.SESSION_STATE_CHANGED, event);\n switch (event.sessionState) {\n case cast.framework.SessionState.SESSION_STARTED: {\n event.session.addMessageListener(MESSAGE_NAMESPACE, onMessage);\n event.session.addEventListener(cast.framework.CastSession.APPLICATION_STATUS_CHANGED, onApplicationStatusChanged);\n event.session.addEventListener(cast.framework.CastSession.APPLICATION_METADATA_CHANGED, onApplicationMetadataChanged);\n event.session.addEventListener(cast.framework.CastSession.ACTIVE_INPUT_STATE_CHANGED, onActiveInputStateChanged);\n event.session.addEventListener(cast.framework.CastSession.VOLUME_CHANGED, onVolumeChanged);\n event.session.addEventListener(cast.framework.CastSession.MEDIA_SESSION, onMediaSessionChanged);\n break;\n }\n case cast.framework.SessionState.SESSION_ENDED: {\n event.session.removeMessageListener(MESSAGE_NAMESPACE, onMessage);\n event.session.removeEventListener(cast.framework.CastSession.APPLICATION_STATUS_CHANGED, onApplicationStatusChanged);\n event.session.removeEventListener(cast.framework.CastSession.APPLICATION_METADATA_CHANGED, onApplicationMetadataChanged);\n event.session.removeEventListener(cast.framework.CastSession.ACTIVE_INPUT_STATE_CHANGED, onActiveInputStateChanged);\n event.session.removeEventListener(cast.framework.CastSession.VOLUME_CHANGED, onVolumeChanged);\n event.session.removeEventListener(cast.framework.CastSession.MEDIA_SESSION, onMediaSessionChanged);\n break;\n }\n }\n }\n\n this.on = function(name, listener) {\n events.on(name, listener);\n };\n this.off = function(name, listener) {\n events.off(name, listener);\n };\n this.removeAllListeners = function() {\n events.removeAllListeners();\n };\n this.getCastState = function() {\n return cast.framework.CastContext.getInstance().getCastState();\n };\n this.getSessionState = function() {\n return cast.framework.CastContext.getInstance().getSessionState();\n };\n this.getCastDevice = function() {\n const session = cast.framework.CastContext.getInstance().getCurrentSession();\n if (session !== null) {\n return session.getCastDevice();\n }\n\n return null;\n };\n this.setOptions = function(options) {\n cast.framework.CastContext.getInstance().setOptions(options);\n };\n this.requestSession = function() {\n return cast.framework.CastContext.getInstance().requestSession();\n };\n this.endCurrentSession = function(stopCasting) {\n cast.framework.CastContext.getInstance().endCurrentSession(stopCasting);\n };\n this.sendMessage = function(message) {\n const castSession = cast.framework.CastContext.getInstance().getCurrentSession();\n if (castSession !== null) {\n const serializedMessage = JSON.stringify(message);\n const chunksCount = Math.ceil(serializedMessage.length / CHUNK_SIZE);\n const chunks = [];\n for (let i = 0; i < chunksCount; i++) {\n const start = i * CHUNK_SIZE;\n const chunk = serializedMessage.slice(start, start + CHUNK_SIZE);\n chunks.push(chunk);\n }\n const id = hat();\n return Promise.all(chunks.map((chunk, index) => {\n return castSession.sendMessage(MESSAGE_NAMESPACE, {\n id,\n chunk,\n index,\n length: chunks.length\n });\n }));\n } else {\n return Promise.reject(new Error('Session not started'));\n }\n };\n}\n\nmodule.exports = ChromecastTransport;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Chromecast = require('./Chromecast');\n\nmodule.exports = Chromecast;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst EventEmitter = require('eventemitter3');\nconst CoreTransport = require('./CoreTransport');\n\nfunction Core(args) {\n let active = false;\n let error = null;\n let starting = false;\n let transport = null;\n\n const events = new EventEmitter();\n\n function onTransportInit() {\n active = true;\n error = null;\n starting = false;\n onStateChanged();\n }\n function onTransportError(args) {\n console.error(args);\n active = false;\n error = new Error('Stremio Core Transport initialization failed', { cause: args });\n starting = false;\n onStateChanged();\n transport = null;\n }\n function onStateChanged() {\n events.emit('stateChanged');\n }\n\n Object.defineProperties(this, {\n active: {\n configurable: false,\n enumerable: true,\n get: function() {\n return active;\n }\n },\n error: {\n configurable: false,\n enumerable: true,\n get: function() {\n return error;\n }\n },\n starting: {\n configurable: false,\n enumerable: true,\n get: function() {\n return starting;\n }\n },\n transport: {\n configurable: false,\n enumerable: true,\n get: function() {\n return transport;\n }\n }\n });\n\n this.start = function() {\n if (active || error instanceof Error || starting) {\n return;\n }\n\n starting = true;\n transport = new CoreTransport(args);\n transport.on('init', onTransportInit);\n transport.on('error', onTransportError);\n onStateChanged();\n };\n this.stop = function() {\n active = false;\n error = null;\n starting = false;\n onStateChanged();\n if (transport !== null) {\n transport.removeAllListeners();\n transport = null;\n }\n };\n this.on = function(name, listener) {\n events.on(name, listener);\n };\n this.off = function(name, listener) {\n events.off(name, listener);\n };\n}\n\nmodule.exports = Core;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst EventEmitter = require('eventemitter3');\nconst Bridge = require('@stremio/stremio-core-web/bridge');\n\nfunction CoreTransport(args) {\n const events = new EventEmitter();\n const worker = new Worker(`${process.env.COMMIT_HASH}/scripts/worker.js`);\n const bridge = new Bridge(window, worker);\n\n window.onCoreEvent = ({ name, args }) => {\n try {\n events.emit(name, args);\n } catch (error) {\n console.error('CoreTransport', error);\n }\n };\n\n bridge.call(['init'], [args])\n .then(() => {\n try {\n events.emit('init');\n } catch (error) {\n console.error('CoreTransport', error);\n }\n })\n .catch((error) => {\n events.emit('error', error);\n });\n\n this.on = function(name, listener) {\n events.on(name, listener);\n };\n this.off = function(name, listener) {\n events.off(name, listener);\n };\n this.removeAllListeners = function() {\n events.removeAllListeners();\n };\n this.getState = async function(field) {\n return bridge.call(['getState'], [field]);\n };\n this.getDebugState = async function() {\n return bridge.call(['getDebugState'], []);\n };\n this.dispatch = async function(action, field) {\n return bridge.call(['dispatch'], [action, field, location.hash]);\n };\n this.analytics = async function(event) {\n return bridge.call(['analytics'], [event, location.hash]);\n };\n this.decodeStream = async function(stream) {\n return bridge.call(['decodeStream'], [stream]);\n };\n}\n\nmodule.exports = CoreTransport;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Core = require('./Core');\n\nmodule.exports = Core;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst EventEmitter = require('eventemitter3');\n\nfunction DragAndDrop({ core }) {\n let active = false;\n\n const events = new EventEmitter();\n\n function onDragOver(event) {\n event.preventDefault();\n }\n async function onDrop(event) {\n event.preventDefault();\n if (event.dataTransfer.files instanceof FileList && event.dataTransfer.files.length > 0) {\n const file = event.dataTransfer.files[0];\n switch (file.type) {\n case 'application/x-bittorrent': {\n try {\n const torrent = await file.arrayBuffer();\n core.transport.dispatch({\n action: 'StreamingServer',\n args: {\n action: 'CreateTorrent',\n args: Array.from(new Uint8Array(torrent))\n }\n });\n } catch (_error) {\n events.emit('error', {\n message: 'Failed to process file',\n file: {\n name: file.name,\n type: file.type\n }\n });\n }\n break;\n }\n default: {\n events.emit('error', {\n message: 'Unsupported file',\n file: {\n name: file.name,\n type: file.type\n }\n });\n }\n }\n }\n }\n function onStateChanged() {\n events.emit('stateChanged');\n }\n\n Object.defineProperties(this, {\n active: {\n configurable: false,\n enumerable: true,\n get: function() {\n return active;\n }\n }\n });\n\n this.start = function() {\n if (active) {\n return;\n }\n\n window.addEventListener('dragover', onDragOver);\n window.addEventListener('drop', onDrop);\n active = true;\n onStateChanged();\n };\n this.stop = function() {\n window.removeEventListener('dragover', onDragOver);\n window.removeEventListener('drop', onDrop);\n active = false;\n onStateChanged();\n };\n this.on = function(name, listener) {\n events.on(name, listener);\n };\n this.off = function(name, listener) {\n events.off(name, listener);\n };\n}\n\nmodule.exports = DragAndDrop;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst DragAndDrop = require('./DragAndDrop');\n\nmodule.exports = DragAndDrop;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst EventEmitter = require('eventemitter3');\n\nfunction KeyboardShortcuts() {\n let active = false;\n\n const events = new EventEmitter();\n\n function onKeyDown(event) {\n if (event.keyboardShortcutPrevented || event.target.tagName === 'INPUT' || event.ctrlKey || event.altKey || event.shiftKey || event.metaKey) {\n return;\n }\n\n switch (event.code) {\n case 'Digit0': {\n event.preventDefault();\n window.location = '#/search';\n break;\n }\n case 'Digit1': {\n event.preventDefault();\n window.location = '#/';\n break;\n }\n case 'Digit2': {\n event.preventDefault();\n window.location = '#/discover';\n break;\n }\n case 'Digit3': {\n event.preventDefault();\n window.location = '#/library';\n break;\n }\n case 'Digit4': {\n event.preventDefault();\n window.location = '#/addons';\n break;\n }\n case 'Digit5': {\n event.preventDefault();\n window.location = '#/settings';\n break;\n }\n case 'Backspace': {\n event.preventDefault();\n if (event.ctrlKey) {\n window.history.forward();\n } else {\n window.history.back();\n }\n\n break;\n }\n case 'KeyF': {\n event.preventDefault();\n if (document.fullscreenElement === document.documentElement) {\n document.exitFullscreen();\n } else {\n document.documentElement.requestFullscreen();\n }\n\n break;\n }\n }\n }\n function onStateChanged() {\n events.emit('stateChanged');\n }\n\n Object.defineProperties(this, {\n active: {\n configurable: false,\n enumerable: true,\n get: function() {\n return active;\n }\n }\n });\n\n this.start = function() {\n if (active) {\n return;\n }\n\n window.addEventListener('keydown', onKeyDown);\n active = true;\n onStateChanged();\n };\n this.stop = function() {\n window.removeEventListener('keydown', onKeyDown);\n active = false;\n onStateChanged();\n };\n}\n\nmodule.exports = KeyboardShortcuts;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst KeyboardShortcuts = require('./KeyboardShortcuts');\n\nmodule.exports = KeyboardShortcuts;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\n\nconst ServicesContext = React.createContext({});\n\nServicesContext.displayName = 'ServicesContext';\n\nmodule.exports = ServicesContext;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst ServicesContext = require('./ServicesContext');\n\nconst ServicesProvider = ({ services = {}, children }) => {\n return (\n <ServicesContext.Provider value={services}>\n {children}\n </ServicesContext.Provider>\n );\n};\n\nServicesProvider.propTypes = {\n services: PropTypes.object,\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node\n ])\n};\n\nmodule.exports = ServicesProvider;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst ServicesProvider = require('./ServicesProvider');\nconst useServices = require('./useServices');\n\nmodule.exports = {\n ServicesProvider,\n useServices\n};\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst ServicesContext = require('./ServicesContext');\n\nconst useServices = () => {\n return React.useContext(ServicesContext);\n};\n\nmodule.exports = useServices;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst EventEmitter = require('eventemitter3');\nconst ShellTransport = require('./ShellTransport');\n\nfunction Shell() {\n let active = false;\n let error = null;\n let starting = false;\n let transport = null;\n\n const events = new EventEmitter();\n\n function onTransportInit() {\n active = true;\n error = null;\n starting = false;\n onStateChanged();\n }\n function onTransportInitError(err) {\n console.error(err);\n active = false;\n error = new Error(err);\n starting = false;\n onStateChanged();\n transport = null;\n }\n\n function onStateChanged() {\n events.emit('stateChanged');\n }\n\n Object.defineProperties(this, {\n active: {\n configurable: false,\n enumerable: true,\n get: function() {\n return active;\n }\n },\n error: {\n configurable: false,\n enumerable: true,\n get: function() {\n return error;\n }\n },\n starting: {\n configurable: false,\n enumerable: true,\n get: function() {\n return starting;\n }\n },\n transport: {\n configurable: false,\n enumerable: true,\n get: function() {\n return transport;\n }\n }\n });\n\n this.start = function() {\n if (active || error instanceof Error || starting) {\n return;\n }\n\n active = false;\n starting = true;\n transport = new ShellTransport();\n transport.on('init', onTransportInit);\n transport.on('init-error', onTransportInitError);\n onStateChanged();\n };\n this.stop = function() {\n active = false;\n error = null;\n starting = false;\n onStateChanged();\n };\n this.on = function(name, listener) {\n events.on(name, listener);\n };\n this.off = function(name, listener) {\n events.off(name, listener);\n };\n}\n\nmodule.exports = Shell;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst EventEmitter = require('eventemitter3');\n\nlet shellAvailable = false;\nconst shellEvents = new EventEmitter();\n\nconst QtMsgTypes = {\n signal: 1,\n propertyUpdate: 2,\n init: 3,\n idle: 4,\n debug: 5,\n invokeMethod: 6,\n connectToSignal: 7,\n disconnectFromSignal: 8,\n setProperty: 9,\n response: 10,\n};\nconst QtObjId = 'transport'; // the ID of our transport object\n\nwindow.initShellComm = function () {\n delete window.initShellComm;\n shellEvents.emit('availabilityChanged');\n};\n\nconst initialize = () => {\n if(!window.qt) return Promise.reject('Qt API not found');\n return new Promise((resolve) => {\n function onShellAvailabilityChanged() {\n shellEvents.off('availabilityChanged', onShellAvailabilityChanged);\n shellAvailable = true;\n resolve();\n }\n if (shellAvailable) {\n onShellAvailabilityChanged();\n } else {\n shellEvents.on('availabilityChanged', onShellAvailabilityChanged);\n }\n });\n};\n\nfunction ShellTransport() {\n const events = new EventEmitter();\n\n this.props = {};\n\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const shell = this;\n initialize()\n .then(() => {\n const transport = window.qt && window.qt.webChannelTransport;\n if (!transport) throw 'no viable transport found (qt.webChannelTransport)';\n\n let id = 0;\n function send(msg) {\n msg.id = id++;\n transport.send(JSON.stringify(msg));\n }\n\n transport.onmessage = function (message) {\n const msg = JSON.parse(message.data);\n if (msg.id === 0) {\n const obj = msg.data[QtObjId];\n\n obj.properties.slice(1).forEach(function (prop) {\n shell.props[prop[1]] = prop[3];\n });\n if (typeof shell.props.shellVersion === 'string') {\n shell.shellVersionArr = (\n shell.props.shellVersion.match(/(\\d+)\\.(\\d+)\\.(\\d+)/) || []\n )\n .slice(1, 4)\n .map(Number);\n }\n events.emit('received-props', shell.props);\n\n obj.signals.forEach(function (sig) {\n send({\n type: QtMsgTypes.connectToSignal,\n object: QtObjId,\n signal: sig[1],\n });\n });\n\n const onEvent = obj.methods.filter(function (x) {\n return x[0] === 'onEvent';\n })[0];\n\n shell.send = function (ev, args) {\n send({\n type: QtMsgTypes.invokeMethod,\n object: QtObjId,\n method: onEvent[1],\n args: [ev, args || {}],\n });\n };\n\n shell.send('app-ready', {}); // signal that we're ready to take events\n }\n\n if (msg.object === QtObjId && msg.type === QtMsgTypes.signal)\n events.emit(msg.args[0], msg.args[1]);\n events.emit('init');\n };\n send({ type: QtMsgTypes.init });\n }) .catch((error) => {\n events.emit('init-error', error);\n });\n\n this.on = function(name, listener) {\n events.on(name, listener);\n };\n this.off = function(name, listener) {\n events.off(name, listener);\n };\n this.removeAllListeners = function() {\n events.removeAllListeners();\n };\n}\n\nmodule.exports = ShellTransport;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Shell = require('./Shell');\n\nmodule.exports = Shell;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Chromecast = require('./Chromecast');\nconst Core = require('./Core');\nconst DragAndDrop = require('./DragAndDrop');\nconst KeyboardShortcuts = require('./KeyboardShortcuts');\nconst { ServicesProvider, useServices } = require('./ServicesContext');\nconst Shell = require('./Shell');\n\nmodule.exports = {\n Chromecast,\n Core,\n DragAndDrop,\n KeyboardShortcuts,\n ServicesProvider,\n useServices,\n Shell\n};\n","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","module.exports = parseRange\nmodule.exports.parse = parseRange\nmodule.exports.compose = composeRange\n\nfunction composeRange (range) {\n return range\n .reduce((acc, cur, idx, arr) => {\n if (idx === 0 || cur !== arr[idx - 1] + 1) acc.push([])\n acc[acc.length - 1].push(cur)\n return acc\n }, [])\n .map((cur) => {\n return cur.length > 1 ? `${cur[0]}-${cur[cur.length - 1]}` : `${cur[0]}`\n })\n}\n\nfunction parseRange (range) {\n const generateRange = (start, end = start) => Array.from({ length: end - start + 1 }, (cur, idx) => idx + start)\n\n return range\n .reduce((acc, cur, idx, arr) => {\n const r = cur.split('-').map(cur => parseInt(cur))\n return acc.concat(generateRange(...r))\n }, [])\n}\n","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.bowser=t():e.bowser=t()}(this,(function(){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var i in e)r.d(n,i,function(t){return e[t]}.bind(null,i));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,\"a\",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p=\"\",r(r.s=90)}({17:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n=r(18),i=function(){function e(){}return e.getFirstMatch=function(e,t){var r=t.match(e);return r&&r.length>0&&r[1]||\"\"},e.getSecondMatch=function(e,t){var r=t.match(e);return r&&r.length>1&&r[2]||\"\"},e.matchAndReturnConst=function(e,t,r){if(e.test(t))return r},e.getWindowsVersionName=function(e){switch(e){case\"NT\":return\"NT\";case\"XP\":return\"XP\";case\"NT 5.0\":return\"2000\";case\"NT 5.1\":return\"XP\";case\"NT 5.2\":return\"2003\";case\"NT 6.0\":return\"Vista\";case\"NT 6.1\":return\"7\";case\"NT 6.2\":return\"8\";case\"NT 6.3\":return\"8.1\";case\"NT 10.0\":return\"10\";default:return}},e.getMacOSVersionName=function(e){var t=e.split(\".\").splice(0,2).map((function(e){return parseInt(e,10)||0}));if(t.push(0),10===t[0])switch(t[1]){case 5:return\"Leopard\";case 6:return\"Snow Leopard\";case 7:return\"Lion\";case 8:return\"Mountain Lion\";case 9:return\"Mavericks\";case 10:return\"Yosemite\";case 11:return\"El Capitan\";case 12:return\"Sierra\";case 13:return\"High Sierra\";case 14:return\"Mojave\";case 15:return\"Catalina\";default:return}},e.getAndroidVersionName=function(e){var t=e.split(\".\").splice(0,2).map((function(e){return parseInt(e,10)||0}));if(t.push(0),!(1===t[0]&&t[1]<5))return 1===t[0]&&t[1]<6?\"Cupcake\":1===t[0]&&t[1]>=6?\"Donut\":2===t[0]&&t[1]<2?\"Eclair\":2===t[0]&&2===t[1]?\"Froyo\":2===t[0]&&t[1]>2?\"Gingerbread\":3===t[0]?\"Honeycomb\":4===t[0]&&t[1]<1?\"Ice Cream Sandwich\":4===t[0]&&t[1]<4?\"Jelly Bean\":4===t[0]&&t[1]>=4?\"KitKat\":5===t[0]?\"Lollipop\":6===t[0]?\"Marshmallow\":7===t[0]?\"Nougat\":8===t[0]?\"Oreo\":9===t[0]?\"Pie\":void 0},e.getVersionPrecision=function(e){return e.split(\".\").length},e.compareVersions=function(t,r,n){void 0===n&&(n=!1);var i=e.getVersionPrecision(t),s=e.getVersionPrecision(r),a=Math.max(i,s),o=0,u=e.map([t,r],(function(t){var r=a-e.getVersionPrecision(t),n=t+new Array(r+1).join(\".0\");return e.map(n.split(\".\"),(function(e){return new Array(20-e.length).join(\"0\")+e})).reverse()}));for(n&&(o=a-Math.min(i,s)),a-=1;a>=o;){if(u[0][a]>u[1][a])return 1;if(u[0][a]===u[1][a]){if(a===o)return 0;a-=1}else if(u[0][a]<u[1][a])return-1}},e.map=function(e,t){var r,n=[];if(Array.prototype.map)return Array.prototype.map.call(e,t);for(r=0;r<e.length;r+=1)n.push(t(e[r]));return n},e.find=function(e,t){var r,n;if(Array.prototype.find)return Array.prototype.find.call(e,t);for(r=0,n=e.length;r<n;r+=1){var i=e[r];if(t(i,r))return i}},e.assign=function(e){for(var t,r,n=e,i=arguments.length,s=new Array(i>1?i-1:0),a=1;a<i;a++)s[a-1]=arguments[a];if(Object.assign)return Object.assign.apply(Object,[e].concat(s));var o=function(){var e=s[t];\"object\"==typeof e&&null!==e&&Object.keys(e).forEach((function(t){n[t]=e[t]}))};for(t=0,r=s.length;t<r;t+=1)o();return e},e.getBrowserAlias=function(e){return n.BROWSER_ALIASES_MAP[e]},e.getBrowserTypeByAlias=function(e){return n.BROWSER_MAP[e]||\"\"},e}();t.default=i,e.exports=t.default},18:function(e,t,r){\"use strict\";t.__esModule=!0,t.ENGINE_MAP=t.OS_MAP=t.PLATFORMS_MAP=t.BROWSER_MAP=t.BROWSER_ALIASES_MAP=void 0;t.BROWSER_ALIASES_MAP={\"Amazon Silk\":\"amazon_silk\",\"Android Browser\":\"android\",Bada:\"bada\",BlackBerry:\"blackberry\",Chrome:\"chrome\",Chromium:\"chromium\",Electron:\"electron\",Epiphany:\"epiphany\",Firefox:\"firefox\",Focus:\"focus\",Generic:\"generic\",\"Google Search\":\"google_search\",Googlebot:\"googlebot\",\"Internet Explorer\":\"ie\",\"K-Meleon\":\"k_meleon\",Maxthon:\"maxthon\",\"Microsoft Edge\":\"edge\",\"MZ Browser\":\"mz\",\"NAVER Whale Browser\":\"naver\",Opera:\"opera\",\"Opera Coast\":\"opera_coast\",PhantomJS:\"phantomjs\",Puffin:\"puffin\",QupZilla:\"qupzilla\",QQ:\"qq\",QQLite:\"qqlite\",Safari:\"safari\",Sailfish:\"sailfish\",\"Samsung Internet for Android\":\"samsung_internet\",SeaMonkey:\"seamonkey\",Sleipnir:\"sleipnir\",Swing:\"swing\",Tizen:\"tizen\",\"UC Browser\":\"uc\",Vivaldi:\"vivaldi\",\"WebOS Browser\":\"webos\",WeChat:\"wechat\",\"Yandex Browser\":\"yandex\",Roku:\"roku\"};t.BROWSER_MAP={amazon_silk:\"Amazon Silk\",android:\"Android Browser\",bada:\"Bada\",blackberry:\"BlackBerry\",chrome:\"Chrome\",chromium:\"Chromium\",electron:\"Electron\",epiphany:\"Epiphany\",firefox:\"Firefox\",focus:\"Focus\",generic:\"Generic\",googlebot:\"Googlebot\",google_search:\"Google Search\",ie:\"Internet Explorer\",k_meleon:\"K-Meleon\",maxthon:\"Maxthon\",edge:\"Microsoft Edge\",mz:\"MZ Browser\",naver:\"NAVER Whale Browser\",opera:\"Opera\",opera_coast:\"Opera Coast\",phantomjs:\"PhantomJS\",puffin:\"Puffin\",qupzilla:\"QupZilla\",qq:\"QQ Browser\",qqlite:\"QQ Browser Lite\",safari:\"Safari\",sailfish:\"Sailfish\",samsung_internet:\"Samsung Internet for Android\",seamonkey:\"SeaMonkey\",sleipnir:\"Sleipnir\",swing:\"Swing\",tizen:\"Tizen\",uc:\"UC Browser\",vivaldi:\"Vivaldi\",webos:\"WebOS Browser\",wechat:\"WeChat\",yandex:\"Yandex Browser\"};t.PLATFORMS_MAP={tablet:\"tablet\",mobile:\"mobile\",desktop:\"desktop\",tv:\"tv\"};t.OS_MAP={WindowsPhone:\"Windows Phone\",Windows:\"Windows\",MacOS:\"macOS\",iOS:\"iOS\",Android:\"Android\",WebOS:\"WebOS\",BlackBerry:\"BlackBerry\",Bada:\"Bada\",Tizen:\"Tizen\",Linux:\"Linux\",ChromeOS:\"Chrome OS\",PlayStation4:\"PlayStation 4\",Roku:\"Roku\"};t.ENGINE_MAP={EdgeHTML:\"EdgeHTML\",Blink:\"Blink\",Trident:\"Trident\",Presto:\"Presto\",Gecko:\"Gecko\",WebKit:\"WebKit\"}},90:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n,i=(n=r(91))&&n.__esModule?n:{default:n},s=r(18);function a(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var o=function(){function e(){}var t,r,n;return e.getParser=function(e,t){if(void 0===t&&(t=!1),\"string\"!=typeof e)throw new Error(\"UserAgent should be a string\");return new i.default(e,t)},e.parse=function(e){return new i.default(e).getResult()},t=e,n=[{key:\"BROWSER_MAP\",get:function(){return s.BROWSER_MAP}},{key:\"ENGINE_MAP\",get:function(){return s.ENGINE_MAP}},{key:\"OS_MAP\",get:function(){return s.OS_MAP}},{key:\"PLATFORMS_MAP\",get:function(){return s.PLATFORMS_MAP}}],(r=null)&&a(t.prototype,r),n&&a(t,n),e}();t.default=o,e.exports=t.default},91:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n=u(r(92)),i=u(r(93)),s=u(r(94)),a=u(r(95)),o=u(r(17));function u(e){return e&&e.__esModule?e:{default:e}}var d=function(){function e(e,t){if(void 0===t&&(t=!1),null==e||\"\"===e)throw new Error(\"UserAgent parameter can't be empty\");this._ua=e,this.parsedResult={},!0!==t&&this.parse()}var t=e.prototype;return t.getUA=function(){return this._ua},t.test=function(e){return e.test(this._ua)},t.parseBrowser=function(){var e=this;this.parsedResult.browser={};var t=o.default.find(n.default,(function(t){if(\"function\"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some((function(t){return e.test(t)}));throw new Error(\"Browser's test function is not valid\")}));return t&&(this.parsedResult.browser=t.describe(this.getUA())),this.parsedResult.browser},t.getBrowser=function(){return this.parsedResult.browser?this.parsedResult.browser:this.parseBrowser()},t.getBrowserName=function(e){return e?String(this.getBrowser().name).toLowerCase()||\"\":this.getBrowser().name||\"\"},t.getBrowserVersion=function(){return this.getBrowser().version},t.getOS=function(){return this.parsedResult.os?this.parsedResult.os:this.parseOS()},t.parseOS=function(){var e=this;this.parsedResult.os={};var t=o.default.find(i.default,(function(t){if(\"function\"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some((function(t){return e.test(t)}));throw new Error(\"Browser's test function is not valid\")}));return t&&(this.parsedResult.os=t.describe(this.getUA())),this.parsedResult.os},t.getOSName=function(e){var t=this.getOS().name;return e?String(t).toLowerCase()||\"\":t||\"\"},t.getOSVersion=function(){return this.getOS().version},t.getPlatform=function(){return this.parsedResult.platform?this.parsedResult.platform:this.parsePlatform()},t.getPlatformType=function(e){void 0===e&&(e=!1);var t=this.getPlatform().type;return e?String(t).toLowerCase()||\"\":t||\"\"},t.parsePlatform=function(){var e=this;this.parsedResult.platform={};var t=o.default.find(s.default,(function(t){if(\"function\"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some((function(t){return e.test(t)}));throw new Error(\"Browser's test function is not valid\")}));return t&&(this.parsedResult.platform=t.describe(this.getUA())),this.parsedResult.platform},t.getEngine=function(){return this.parsedResult.engine?this.parsedResult.engine:this.parseEngine()},t.getEngineName=function(e){return e?String(this.getEngine().name).toLowerCase()||\"\":this.getEngine().name||\"\"},t.parseEngine=function(){var e=this;this.parsedResult.engine={};var t=o.default.find(a.default,(function(t){if(\"function\"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some((function(t){return e.test(t)}));throw new Error(\"Browser's test function is not valid\")}));return t&&(this.parsedResult.engine=t.describe(this.getUA())),this.parsedResult.engine},t.parse=function(){return this.parseBrowser(),this.parseOS(),this.parsePlatform(),this.parseEngine(),this},t.getResult=function(){return o.default.assign({},this.parsedResult)},t.satisfies=function(e){var t=this,r={},n=0,i={},s=0;if(Object.keys(e).forEach((function(t){var a=e[t];\"string\"==typeof a?(i[t]=a,s+=1):\"object\"==typeof a&&(r[t]=a,n+=1)})),n>0){var a=Object.keys(r),u=o.default.find(a,(function(e){return t.isOS(e)}));if(u){var d=this.satisfies(r[u]);if(void 0!==d)return d}var c=o.default.find(a,(function(e){return t.isPlatform(e)}));if(c){var f=this.satisfies(r[c]);if(void 0!==f)return f}}if(s>0){var l=Object.keys(i),h=o.default.find(l,(function(e){return t.isBrowser(e,!0)}));if(void 0!==h)return this.compareVersion(i[h])}},t.isBrowser=function(e,t){void 0===t&&(t=!1);var r=this.getBrowserName().toLowerCase(),n=e.toLowerCase(),i=o.default.getBrowserTypeByAlias(n);return t&&i&&(n=i.toLowerCase()),n===r},t.compareVersion=function(e){var t=[0],r=e,n=!1,i=this.getBrowserVersion();if(\"string\"==typeof i)return\">\"===e[0]||\"<\"===e[0]?(r=e.substr(1),\"=\"===e[1]?(n=!0,r=e.substr(2)):t=[],\">\"===e[0]?t.push(1):t.push(-1)):\"=\"===e[0]?r=e.substr(1):\"~\"===e[0]&&(n=!0,r=e.substr(1)),t.indexOf(o.default.compareVersions(i,r,n))>-1},t.isOS=function(e){return this.getOSName(!0)===String(e).toLowerCase()},t.isPlatform=function(e){return this.getPlatformType(!0)===String(e).toLowerCase()},t.isEngine=function(e){return this.getEngineName(!0)===String(e).toLowerCase()},t.is=function(e,t){return void 0===t&&(t=!1),this.isBrowser(e,t)||this.isOS(e)||this.isPlatform(e)},t.some=function(e){var t=this;return void 0===e&&(e=[]),e.some((function(e){return t.is(e)}))},e}();t.default=d,e.exports=t.default},92:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n,i=(n=r(17))&&n.__esModule?n:{default:n};var s=/version\\/(\\d+(\\.?_?\\d+)+)/i,a=[{test:[/googlebot/i],describe:function(e){var t={name:\"Googlebot\"},r=i.default.getFirstMatch(/googlebot\\/(\\d+(\\.\\d+))/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/opera/i],describe:function(e){var t={name:\"Opera\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:opera)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/opr\\/|opios/i],describe:function(e){var t={name:\"Opera\"},r=i.default.getFirstMatch(/(?:opr|opios)[\\s/](\\S+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/SamsungBrowser/i],describe:function(e){var t={name:\"Samsung Internet for Android\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:SamsungBrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/Whale/i],describe:function(e){var t={name:\"NAVER Whale Browser\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:whale)[\\s/](\\d+(?:\\.\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/MZBrowser/i],describe:function(e){var t={name:\"MZ Browser\"},r=i.default.getFirstMatch(/(?:MZBrowser)[\\s/](\\d+(?:\\.\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/focus/i],describe:function(e){var t={name:\"Focus\"},r=i.default.getFirstMatch(/(?:focus)[\\s/](\\d+(?:\\.\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/swing/i],describe:function(e){var t={name:\"Swing\"},r=i.default.getFirstMatch(/(?:swing)[\\s/](\\d+(?:\\.\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/coast/i],describe:function(e){var t={name:\"Opera Coast\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:coast)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/opt\\/\\d+(?:.?_?\\d+)+/i],describe:function(e){var t={name:\"Opera Touch\"},r=i.default.getFirstMatch(/(?:opt)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/yabrowser/i],describe:function(e){var t={name:\"Yandex Browser\"},r=i.default.getFirstMatch(/(?:yabrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/ucbrowser/i],describe:function(e){var t={name:\"UC Browser\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:ucbrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/Maxthon|mxios/i],describe:function(e){var t={name:\"Maxthon\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:Maxthon|mxios)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/epiphany/i],describe:function(e){var t={name:\"Epiphany\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:epiphany)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/puffin/i],describe:function(e){var t={name:\"Puffin\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:puffin)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/sleipnir/i],describe:function(e){var t={name:\"Sleipnir\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:sleipnir)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/k-meleon/i],describe:function(e){var t={name:\"K-Meleon\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:k-meleon)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/micromessenger/i],describe:function(e){var t={name:\"WeChat\"},r=i.default.getFirstMatch(/(?:micromessenger)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/qqbrowser/i],describe:function(e){var t={name:/qqbrowserlite/i.test(e)?\"QQ Browser Lite\":\"QQ Browser\"},r=i.default.getFirstMatch(/(?:qqbrowserlite|qqbrowser)[/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/msie|trident/i],describe:function(e){var t={name:\"Internet Explorer\"},r=i.default.getFirstMatch(/(?:msie |rv:)(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/\\sedg\\//i],describe:function(e){var t={name:\"Microsoft Edge\"},r=i.default.getFirstMatch(/\\sedg\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/edg([ea]|ios)/i],describe:function(e){var t={name:\"Microsoft Edge\"},r=i.default.getSecondMatch(/edg([ea]|ios)\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/vivaldi/i],describe:function(e){var t={name:\"Vivaldi\"},r=i.default.getFirstMatch(/vivaldi\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/seamonkey/i],describe:function(e){var t={name:\"SeaMonkey\"},r=i.default.getFirstMatch(/seamonkey\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/sailfish/i],describe:function(e){var t={name:\"Sailfish\"},r=i.default.getFirstMatch(/sailfish\\s?browser\\/(\\d+(\\.\\d+)?)/i,e);return r&&(t.version=r),t}},{test:[/silk/i],describe:function(e){var t={name:\"Amazon Silk\"},r=i.default.getFirstMatch(/silk\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/phantom/i],describe:function(e){var t={name:\"PhantomJS\"},r=i.default.getFirstMatch(/phantomjs\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/slimerjs/i],describe:function(e){var t={name:\"SlimerJS\"},r=i.default.getFirstMatch(/slimerjs\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/blackberry|\\bbb\\d+/i,/rim\\stablet/i],describe:function(e){var t={name:\"BlackBerry\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/blackberry[\\d]+\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t={name:\"WebOS Browser\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/w(?:eb)?[o0]sbrowser\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/bada/i],describe:function(e){var t={name:\"Bada\"},r=i.default.getFirstMatch(/dolfin\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/tizen/i],describe:function(e){var t={name:\"Tizen\"},r=i.default.getFirstMatch(/(?:tizen\\s?)?browser\\/(\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/qupzilla/i],describe:function(e){var t={name:\"QupZilla\"},r=i.default.getFirstMatch(/(?:qupzilla)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/firefox|iceweasel|fxios/i],describe:function(e){var t={name:\"Firefox\"},r=i.default.getFirstMatch(/(?:firefox|iceweasel|fxios)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/electron/i],describe:function(e){var t={name:\"Electron\"},r=i.default.getFirstMatch(/(?:electron)\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/MiuiBrowser/i],describe:function(e){var t={name:\"Miui\"},r=i.default.getFirstMatch(/(?:MiuiBrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/chromium/i],describe:function(e){var t={name:\"Chromium\"},r=i.default.getFirstMatch(/(?:chromium)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/chrome|crios|crmo/i],describe:function(e){var t={name:\"Chrome\"},r=i.default.getFirstMatch(/(?:chrome|crios|crmo)\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/GSA/i],describe:function(e){var t={name:\"Google Search\"},r=i.default.getFirstMatch(/(?:GSA)\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:function(e){var t=!e.test(/like android/i),r=e.test(/android/i);return t&&r},describe:function(e){var t={name:\"Android Browser\"},r=i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/playstation 4/i],describe:function(e){var t={name:\"PlayStation 4\"},r=i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/safari|applewebkit/i],describe:function(e){var t={name:\"Safari\"},r=i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/.*/i],describe:function(e){var t=-1!==e.search(\"\\\\(\")?/^(.*)\\/(.*)[ \\t]\\((.*)/:/^(.*)\\/(.*) /;return{name:i.default.getFirstMatch(t,e),version:i.default.getSecondMatch(t,e)}}}];t.default=a,e.exports=t.default},93:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n,i=(n=r(17))&&n.__esModule?n:{default:n},s=r(18);var a=[{test:[/Roku\\/DVP/],describe:function(e){var t=i.default.getFirstMatch(/Roku\\/DVP-(\\d+\\.\\d+)/i,e);return{name:s.OS_MAP.Roku,version:t}}},{test:[/windows phone/i],describe:function(e){var t=i.default.getFirstMatch(/windows phone (?:os)?\\s?(\\d+(\\.\\d+)*)/i,e);return{name:s.OS_MAP.WindowsPhone,version:t}}},{test:[/windows /i],describe:function(e){var t=i.default.getFirstMatch(/Windows ((NT|XP)( \\d\\d?.\\d)?)/i,e),r=i.default.getWindowsVersionName(t);return{name:s.OS_MAP.Windows,version:t,versionName:r}}},{test:[/Macintosh(.*?) FxiOS(.*?)\\//],describe:function(e){var t={name:s.OS_MAP.iOS},r=i.default.getSecondMatch(/(Version\\/)(\\d[\\d.]+)/,e);return r&&(t.version=r),t}},{test:[/macintosh/i],describe:function(e){var t=i.default.getFirstMatch(/mac os x (\\d+(\\.?_?\\d+)+)/i,e).replace(/[_\\s]/g,\".\"),r=i.default.getMacOSVersionName(t),n={name:s.OS_MAP.MacOS,version:t};return r&&(n.versionName=r),n}},{test:[/(ipod|iphone|ipad)/i],describe:function(e){var t=i.default.getFirstMatch(/os (\\d+([_\\s]\\d+)*) like mac os x/i,e).replace(/[_\\s]/g,\".\");return{name:s.OS_MAP.iOS,version:t}}},{test:function(e){var t=!e.test(/like android/i),r=e.test(/android/i);return t&&r},describe:function(e){var t=i.default.getFirstMatch(/android[\\s/-](\\d+(\\.\\d+)*)/i,e),r=i.default.getAndroidVersionName(t),n={name:s.OS_MAP.Android,version:t};return r&&(n.versionName=r),n}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t=i.default.getFirstMatch(/(?:web|hpw)[o0]s\\/(\\d+(\\.\\d+)*)/i,e),r={name:s.OS_MAP.WebOS};return t&&t.length&&(r.version=t),r}},{test:[/blackberry|\\bbb\\d+/i,/rim\\stablet/i],describe:function(e){var t=i.default.getFirstMatch(/rim\\stablet\\sos\\s(\\d+(\\.\\d+)*)/i,e)||i.default.getFirstMatch(/blackberry\\d+\\/(\\d+([_\\s]\\d+)*)/i,e)||i.default.getFirstMatch(/\\bbb(\\d+)/i,e);return{name:s.OS_MAP.BlackBerry,version:t}}},{test:[/bada/i],describe:function(e){var t=i.default.getFirstMatch(/bada\\/(\\d+(\\.\\d+)*)/i,e);return{name:s.OS_MAP.Bada,version:t}}},{test:[/tizen/i],describe:function(e){var t=i.default.getFirstMatch(/tizen[/\\s](\\d+(\\.\\d+)*)/i,e);return{name:s.OS_MAP.Tizen,version:t}}},{test:[/linux/i],describe:function(){return{name:s.OS_MAP.Linux}}},{test:[/CrOS/],describe:function(){return{name:s.OS_MAP.ChromeOS}}},{test:[/PlayStation 4/],describe:function(e){var t=i.default.getFirstMatch(/PlayStation 4[/\\s](\\d+(\\.\\d+)*)/i,e);return{name:s.OS_MAP.PlayStation4,version:t}}}];t.default=a,e.exports=t.default},94:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n,i=(n=r(17))&&n.__esModule?n:{default:n},s=r(18);var a=[{test:[/googlebot/i],describe:function(){return{type:\"bot\",vendor:\"Google\"}}},{test:[/huawei/i],describe:function(e){var t=i.default.getFirstMatch(/(can-l01)/i,e)&&\"Nova\",r={type:s.PLATFORMS_MAP.mobile,vendor:\"Huawei\"};return t&&(r.model=t),r}},{test:[/nexus\\s*(?:7|8|9|10).*/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\"Nexus\"}}},{test:[/ipad/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\"Apple\",model:\"iPad\"}}},{test:[/Macintosh(.*?) FxiOS(.*?)\\//],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\"Apple\",model:\"iPad\"}}},{test:[/kftt build/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\"Amazon\",model:\"Kindle Fire HD 7\"}}},{test:[/silk/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\"Amazon\"}}},{test:[/tablet(?! pc)/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet}}},{test:function(e){var t=e.test(/ipod|iphone/i),r=e.test(/like (ipod|iphone)/i);return t&&!r},describe:function(e){var t=i.default.getFirstMatch(/(ipod|iphone)/i,e);return{type:s.PLATFORMS_MAP.mobile,vendor:\"Apple\",model:t}}},{test:[/nexus\\s*[0-6].*/i,/galaxy nexus/i],describe:function(){return{type:s.PLATFORMS_MAP.mobile,vendor:\"Nexus\"}}},{test:[/[^-]mobi/i],describe:function(){return{type:s.PLATFORMS_MAP.mobile}}},{test:function(e){return\"blackberry\"===e.getBrowserName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.mobile,vendor:\"BlackBerry\"}}},{test:function(e){return\"bada\"===e.getBrowserName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.mobile}}},{test:function(e){return\"windows phone\"===e.getBrowserName()},describe:function(){return{type:s.PLATFORMS_MAP.mobile,vendor:\"Microsoft\"}}},{test:function(e){var t=Number(String(e.getOSVersion()).split(\".\")[0]);return\"android\"===e.getOSName(!0)&&t>=3},describe:function(){return{type:s.PLATFORMS_MAP.tablet}}},{test:function(e){return\"android\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.mobile}}},{test:function(e){return\"macos\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.desktop,vendor:\"Apple\"}}},{test:function(e){return\"windows\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.desktop}}},{test:function(e){return\"linux\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.desktop}}},{test:function(e){return\"playstation 4\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.tv}}},{test:function(e){return\"roku\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.tv}}}];t.default=a,e.exports=t.default},95:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n,i=(n=r(17))&&n.__esModule?n:{default:n},s=r(18);var a=[{test:function(e){return\"microsoft edge\"===e.getBrowserName(!0)},describe:function(e){if(/\\sedg\\//i.test(e))return{name:s.ENGINE_MAP.Blink};var t=i.default.getFirstMatch(/edge\\/(\\d+(\\.?_?\\d+)+)/i,e);return{name:s.ENGINE_MAP.EdgeHTML,version:t}}},{test:[/trident/i],describe:function(e){var t={name:s.ENGINE_MAP.Trident},r=i.default.getFirstMatch(/trident\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:function(e){return e.test(/presto/i)},describe:function(e){var t={name:s.ENGINE_MAP.Presto},r=i.default.getFirstMatch(/presto\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:function(e){var t=e.test(/gecko/i),r=e.test(/like gecko/i);return t&&!r},describe:function(e){var t={name:s.ENGINE_MAP.Gecko},r=i.default.getFirstMatch(/gecko\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/(apple)?webkit\\/537\\.36/i],describe:function(){return{name:s.ENGINE_MAP.Blink}}},{test:[/(apple)?webkit/i],describe:function(e){var t={name:s.ENGINE_MAP.WebKit},r=i.default.getFirstMatch(/webkit\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}}];t.default=a,e.exports=t.default}})}));","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh <https://feross.org>\n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nconst base64 = require('base64-js')\nconst ieee754 = require('ieee754')\nconst customInspectSymbol =\n (typeof Symbol === 'function' && typeof Symbol['for'] === 'function') // eslint-disable-line dot-notation\n ? Symbol['for']('nodejs.util.inspect.custom') // eslint-disable-line dot-notation\n : null\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\nconst K_MAX_LENGTH = 0x7fffffff\nexports.kMaxLength = K_MAX_LENGTH\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Print warning and recommend using `buffer` v4.x which has an Object\n * implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * We report that the browser does not support typed arrays if the are not subclassable\n * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n * for __proto__ and has a buggy typed array implementation.\n */\nBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport()\n\nif (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&\n typeof console.error === 'function') {\n console.error(\n 'This browser lacks typed array (Uint8Array) support which is required by ' +\n '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'\n )\n}\n\nfunction typedArraySupport () {\n // Can typed array instances can be augmented?\n try {\n const arr = new Uint8Array(1)\n const proto = { foo: function () { return 42 } }\n Object.setPrototypeOf(proto, Uint8Array.prototype)\n Object.setPrototypeOf(arr, proto)\n return arr.foo() === 42\n } catch (e) {\n return false\n }\n}\n\nObject.defineProperty(Buffer.prototype, 'parent', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.buffer\n }\n})\n\nObject.defineProperty(Buffer.prototype, 'offset', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.byteOffset\n }\n})\n\nfunction createBuffer (length) {\n if (length > K_MAX_LENGTH) {\n throw new RangeError('The value \"' + length + '\" is invalid for option \"size\"')\n }\n // Return an augmented `Uint8Array` instance\n const buf = new Uint8Array(length)\n Object.setPrototypeOf(buf, Buffer.prototype)\n return buf\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new TypeError(\n 'The \"string\" argument must be of type string. Received type number'\n )\n }\n return allocUnsafe(arg)\n }\n return from(arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\nfunction from (value, encodingOrOffset, length) {\n if (typeof value === 'string') {\n return fromString(value, encodingOrOffset)\n }\n\n if (ArrayBuffer.isView(value)) {\n return fromArrayView(value)\n }\n\n if (value == null) {\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n }\n\n if (isInstance(value, ArrayBuffer) ||\n (value && isInstance(value.buffer, ArrayBuffer))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof SharedArrayBuffer !== 'undefined' &&\n (isInstance(value, SharedArrayBuffer) ||\n (value && isInstance(value.buffer, SharedArrayBuffer)))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof value === 'number') {\n throw new TypeError(\n 'The \"value\" argument must not be of type number. Received type number'\n )\n }\n\n const valueOf = value.valueOf && value.valueOf()\n if (valueOf != null && valueOf !== value) {\n return Buffer.from(valueOf, encodingOrOffset, length)\n }\n\n const b = fromObject(value)\n if (b) return b\n\n if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&\n typeof value[Symbol.toPrimitive] === 'function') {\n return Buffer.from(value[Symbol.toPrimitive]('string'), encodingOrOffset, length)\n }\n\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(value, encodingOrOffset, length)\n}\n\n// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n// https://github.com/feross/buffer/pull/148\nObject.setPrototypeOf(Buffer.prototype, Uint8Array.prototype)\nObject.setPrototypeOf(Buffer, Uint8Array)\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be of type number')\n } else if (size < 0) {\n throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n }\n}\n\nfunction alloc (size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpreted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(size).fill(fill, encoding)\n : createBuffer(size).fill(fill)\n }\n return createBuffer(size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(size, fill, encoding)\n}\n\nfunction allocUnsafe (size) {\n assertSize(size)\n return createBuffer(size < 0 ? 0 : checked(size) | 0)\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(size)\n}\n\nfunction fromString (string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n\n const length = byteLength(string, encoding) | 0\n let buf = createBuffer(length)\n\n const actual = buf.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n buf = buf.slice(0, actual)\n }\n\n return buf\n}\n\nfunction fromArrayLike (array) {\n const length = array.length < 0 ? 0 : checked(array.length) | 0\n const buf = createBuffer(length)\n for (let i = 0; i < length; i += 1) {\n buf[i] = array[i] & 255\n }\n return buf\n}\n\nfunction fromArrayView (arrayView) {\n if (isInstance(arrayView, Uint8Array)) {\n const copy = new Uint8Array(arrayView)\n return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength)\n }\n return fromArrayLike(arrayView)\n}\n\nfunction fromArrayBuffer (array, byteOffset, length) {\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\"offset\" is outside of buffer bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\"length\" is outside of buffer bounds')\n }\n\n let buf\n if (byteOffset === undefined && length === undefined) {\n buf = new Uint8Array(array)\n } else if (length === undefined) {\n buf = new Uint8Array(array, byteOffset)\n } else {\n buf = new Uint8Array(array, byteOffset, length)\n }\n\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(buf, Buffer.prototype)\n\n return buf\n}\n\nfunction fromObject (obj) {\n if (Buffer.isBuffer(obj)) {\n const len = checked(obj.length) | 0\n const buf = createBuffer(len)\n\n if (buf.length === 0) {\n return buf\n }\n\n obj.copy(buf, 0, 0, len)\n return buf\n }\n\n if (obj.length !== undefined) {\n if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n return createBuffer(0)\n }\n return fromArrayLike(obj)\n }\n\n if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n return fromArrayLike(obj.data)\n }\n}\n\nfunction checked (length) {\n // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= K_MAX_LENGTH) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return b != null && b._isBuffer === true &&\n b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false\n}\n\nBuffer.compare = function compare (a, b) {\n if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength)\n if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength)\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError(\n 'The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array'\n )\n }\n\n if (a === b) return 0\n\n let x = a.length\n let y = b.length\n\n for (let i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!Array.isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n let i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n const buffer = Buffer.allocUnsafe(length)\n let pos = 0\n for (i = 0; i < list.length; ++i) {\n let buf = list[i]\n if (isInstance(buf, Uint8Array)) {\n if (pos + buf.length > buffer.length) {\n if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf)\n buf.copy(buffer, pos)\n } else {\n Uint8Array.prototype.set.call(\n buffer,\n buf,\n pos\n )\n }\n } else if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n } else {\n buf.copy(buffer, pos)\n }\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n throw new TypeError(\n 'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. ' +\n 'Received type ' + typeof string\n )\n }\n\n const len = string.length\n const mustMatch = (arguments.length > 2 && arguments[2] === true)\n if (!mustMatch && len === 0) return 0\n\n // Use a for loop to avoid recursion\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) {\n return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8\n }\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n let loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coercion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n// reliably in a browserify context because there could be multiple different\n// copies of the 'buffer' package in use. This method works even for Buffer\n// instances that were created from another copy of the `buffer` package.\n// See: https://github.com/feross/buffer/issues/154\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n const i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n const len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (let i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n const len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (let i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n const len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (let i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n const length = this.length\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.toLocaleString = Buffer.prototype.toString\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n let str = ''\n const max = exports.INSPECT_MAX_BYTES\n str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim()\n if (this.length > max) str += ' ... '\n return '<Buffer ' + str + '>'\n}\nif (customInspectSymbol) {\n Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (isInstance(target, Uint8Array)) {\n target = Buffer.from(target, target.offset, target.byteLength)\n }\n if (!Buffer.isBuffer(target)) {\n throw new TypeError(\n 'The \"target\" argument must be one of type Buffer or Uint8Array. ' +\n 'Received type ' + (typeof target)\n )\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n let x = thisEnd - thisStart\n let y = end - start\n const len = Math.min(x, y)\n\n const thisCopy = this.slice(thisStart, thisEnd)\n const targetCopy = target.slice(start, end)\n\n for (let i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (numberIsNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n let indexSize = 1\n let arrLength = arr.length\n let valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n let i\n if (dir) {\n let foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n let found = true\n for (let j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n const remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n const strLen = string.length\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n let i\n for (i = 0; i < length; ++i) {\n const parsed = parseInt(string.substr(i * 2, 2), 16)\n if (numberIsNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset >>> 0\n if (isFinite(length)) {\n length = length >>> 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n const remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n case 'latin1':\n case 'binary':\n return asciiWrite(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n const res = []\n\n let i = start\n while (i < end) {\n const firstByte = buf[i]\n let codePoint = null\n let bytesPerSequence = (firstByte > 0xEF)\n ? 4\n : (firstByte > 0xDF)\n ? 3\n : (firstByte > 0xBF)\n ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n let secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nconst MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n const len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n let res = ''\n let i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n const len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n let out = ''\n for (let i = start; i < end; ++i) {\n out += hexSliceLookupTable[buf[i]]\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n const bytes = buf.slice(start, end)\n let res = ''\n // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)\n for (let i = 0; i < bytes.length - 1; i += 2) {\n res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256))\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n const len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n const newBuf = this.subarray(start, end)\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(newBuf, Buffer.prototype)\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUintLE =\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUintBE =\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n let val = this[offset + --byteLength]\n let mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUint8 =\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUint16LE =\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUint16BE =\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUint32LE =\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUint32BE =\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readBigUInt64LE = defineBigIntMethod(function readBigUInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const lo = first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24\n\n const hi = this[++offset] +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n last * 2 ** 24\n\n return BigInt(lo) + (BigInt(hi) << BigInt(32))\n})\n\nBuffer.prototype.readBigUInt64BE = defineBigIntMethod(function readBigUInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const hi = first * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n const lo = this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last\n\n return (BigInt(hi) << BigInt(32)) + BigInt(lo)\n})\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let i = byteLength\n let mul = 1\n let val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readBigInt64LE = defineBigIntMethod(function readBigInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = this[offset + 4] +\n this[offset + 5] * 2 ** 8 +\n this[offset + 6] * 2 ** 16 +\n (last << 24) // Overflow\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24)\n})\n\nBuffer.prototype.readBigInt64BE = defineBigIntMethod(function readBigInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = (first << 24) + // Overflow\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last)\n})\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUintLE =\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let mul = 1\n let i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUintBE =\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let i = byteLength - 1\n let mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUint8 =\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeUint16LE =\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeUint16BE =\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeUint32LE =\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeUint32BE =\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nfunction wrtBigUInt64LE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n return offset\n}\n\nfunction wrtBigUInt64BE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset + 7] = lo\n lo = lo >> 8\n buf[offset + 6] = lo\n lo = lo >> 8\n buf[offset + 5] = lo\n lo = lo >> 8\n buf[offset + 4] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset + 3] = hi\n hi = hi >> 8\n buf[offset + 2] = hi\n hi = hi >> 8\n buf[offset + 1] = hi\n hi = hi >> 8\n buf[offset] = hi\n return offset + 8\n}\n\nBuffer.prototype.writeBigUInt64LE = defineBigIntMethod(function writeBigUInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeBigUInt64BE = defineBigIntMethod(function writeBigUInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = 0\n let mul = 1\n let sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = byteLength - 1\n let mul = 1\n let sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeBigInt64LE = defineBigIntMethod(function writeBigInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nBuffer.prototype.writeBigInt64BE = defineBigIntMethod(function writeBigInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('Index out of range')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n const len = end - start\n\n if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') {\n // Use built-in when available, missing from IE11\n this.copyWithin(targetStart, start, end)\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, end),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n if (val.length === 1) {\n const code = val.charCodeAt(0)\n if ((encoding === 'utf8' && code < 128) ||\n encoding === 'latin1') {\n // Fast path: If `val` fits into a single byte, use that numeric value.\n val = code\n }\n }\n } else if (typeof val === 'number') {\n val = val & 255\n } else if (typeof val === 'boolean') {\n val = Number(val)\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n let i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n const bytes = Buffer.isBuffer(val)\n ? val\n : Buffer.from(val, encoding)\n const len = bytes.length\n if (len === 0) {\n throw new TypeError('The value \"' + val +\n '\" is invalid for argument \"value\"')\n }\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// CUSTOM ERRORS\n// =============\n\n// Simplified versions from Node, changed for Buffer-only usage\nconst errors = {}\nfunction E (sym, getMessage, Base) {\n errors[sym] = class NodeError extends Base {\n constructor () {\n super()\n\n Object.defineProperty(this, 'message', {\n value: getMessage.apply(this, arguments),\n writable: true,\n configurable: true\n })\n\n // Add the error code to the name to include it in the stack trace.\n this.name = `${this.name} [${sym}]`\n // Access the stack to generate the error message including the error code\n // from the name.\n this.stack // eslint-disable-line no-unused-expressions\n // Reset the name to the actual name.\n delete this.name\n }\n\n get code () {\n return sym\n }\n\n set code (value) {\n Object.defineProperty(this, 'code', {\n configurable: true,\n enumerable: true,\n value,\n writable: true\n })\n }\n\n toString () {\n return `${this.name} [${sym}]: ${this.message}`\n }\n }\n}\n\nE('ERR_BUFFER_OUT_OF_BOUNDS',\n function (name) {\n if (name) {\n return `${name} is outside of buffer bounds`\n }\n\n return 'Attempt to access memory outside buffer bounds'\n }, RangeError)\nE('ERR_INVALID_ARG_TYPE',\n function (name, actual) {\n return `The \"${name}\" argument must be of type number. Received type ${typeof actual}`\n }, TypeError)\nE('ERR_OUT_OF_RANGE',\n function (str, range, input) {\n let msg = `The value of \"${str}\" is out of range.`\n let received = input\n if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {\n received = addNumericalSeparator(String(input))\n } else if (typeof input === 'bigint') {\n received = String(input)\n if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) {\n received = addNumericalSeparator(received)\n }\n received += 'n'\n }\n msg += ` It must be ${range}. Received ${received}`\n return msg\n }, RangeError)\n\nfunction addNumericalSeparator (val) {\n let res = ''\n let i = val.length\n const start = val[0] === '-' ? 1 : 0\n for (; i >= start + 4; i -= 3) {\n res = `_${val.slice(i - 3, i)}${res}`\n }\n return `${val.slice(0, i)}${res}`\n}\n\n// CHECK FUNCTIONS\n// ===============\n\nfunction checkBounds (buf, offset, byteLength) {\n validateNumber(offset, 'offset')\n if (buf[offset] === undefined || buf[offset + byteLength] === undefined) {\n boundsError(offset, buf.length - (byteLength + 1))\n }\n}\n\nfunction checkIntBI (value, min, max, buf, offset, byteLength) {\n if (value > max || value < min) {\n const n = typeof min === 'bigint' ? 'n' : ''\n let range\n if (byteLength > 3) {\n if (min === 0 || min === BigInt(0)) {\n range = `>= 0${n} and < 2${n} ** ${(byteLength + 1) * 8}${n}`\n } else {\n range = `>= -(2${n} ** ${(byteLength + 1) * 8 - 1}${n}) and < 2 ** ` +\n `${(byteLength + 1) * 8 - 1}${n}`\n }\n } else {\n range = `>= ${min}${n} and <= ${max}${n}`\n }\n throw new errors.ERR_OUT_OF_RANGE('value', range, value)\n }\n checkBounds(buf, offset, byteLength)\n}\n\nfunction validateNumber (value, name) {\n if (typeof value !== 'number') {\n throw new errors.ERR_INVALID_ARG_TYPE(name, 'number', value)\n }\n}\n\nfunction boundsError (value, length, type) {\n if (Math.floor(value) !== value) {\n validateNumber(value, type)\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset', 'an integer', value)\n }\n\n if (length < 0) {\n throw new errors.ERR_BUFFER_OUT_OF_BOUNDS()\n }\n\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset',\n `>= ${type ? 1 : 0} and <= ${length}`,\n value)\n}\n\n// HELPER FUNCTIONS\n// ================\n\nconst INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node takes equal signs as end of the Base64 encoding\n str = str.split('=')[0]\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = str.trim().replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n let codePoint\n const length = string.length\n let leadSurrogate = null\n const bytes = []\n\n for (let i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n let c, hi, lo\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n let i\n for (i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\n// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n// the `instanceof` check but they should be treated as of that type.\n// See: https://github.com/feross/buffer/issues/166\nfunction isInstance (obj, type) {\n return obj instanceof type ||\n (obj != null && obj.constructor != null && obj.constructor.name != null &&\n obj.constructor.name === type.name)\n}\nfunction numberIsNaN (obj) {\n // For IE11 support\n return obj !== obj // eslint-disable-line no-self-compare\n}\n\n// Create lookup table for `toString('hex')`\n// See: https://github.com/feross/buffer/issues/219\nconst hexSliceLookupTable = (function () {\n const alphabet = '0123456789abcdef'\n const table = new Array(256)\n for (let i = 0; i < 16; ++i) {\n const i16 = i * 16\n for (let j = 0; j < 16; ++j) {\n table[i16 + j] = alphabet[i] + alphabet[j]\n }\n }\n return table\n})()\n\n// Return not function with Error if BigInt not supported\nfunction defineBigIntMethod (fn) {\n return typeof BigInt === 'undefined' ? BufferBigIntNotDefined : fn\n}\n\nfunction BufferBigIntNotDefined () {\n throw new Error('BigInt not supported')\n}\n","/*!\n Copyright (c) 2018 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString === Object.prototype.toString) {\n\t\t\t\t\tfor (var key in arg) {\n\t\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","'use strict'\r\n\r\nmodule.exports = {\r\n\t\"aliceblue\": [240, 248, 255],\r\n\t\"antiquewhite\": [250, 235, 215],\r\n\t\"aqua\": [0, 255, 255],\r\n\t\"aquamarine\": [127, 255, 212],\r\n\t\"azure\": [240, 255, 255],\r\n\t\"beige\": [245, 245, 220],\r\n\t\"bisque\": [255, 228, 196],\r\n\t\"black\": [0, 0, 0],\r\n\t\"blanchedalmond\": [255, 235, 205],\r\n\t\"blue\": [0, 0, 255],\r\n\t\"blueviolet\": [138, 43, 226],\r\n\t\"brown\": [165, 42, 42],\r\n\t\"burlywood\": [222, 184, 135],\r\n\t\"cadetblue\": [95, 158, 160],\r\n\t\"chartreuse\": [127, 255, 0],\r\n\t\"chocolate\": [210, 105, 30],\r\n\t\"coral\": [255, 127, 80],\r\n\t\"cornflowerblue\": [100, 149, 237],\r\n\t\"cornsilk\": [255, 248, 220],\r\n\t\"crimson\": [220, 20, 60],\r\n\t\"cyan\": [0, 255, 255],\r\n\t\"darkblue\": [0, 0, 139],\r\n\t\"darkcyan\": [0, 139, 139],\r\n\t\"darkgoldenrod\": [184, 134, 11],\r\n\t\"darkgray\": [169, 169, 169],\r\n\t\"darkgreen\": [0, 100, 0],\r\n\t\"darkgrey\": [169, 169, 169],\r\n\t\"darkkhaki\": [189, 183, 107],\r\n\t\"darkmagenta\": [139, 0, 139],\r\n\t\"darkolivegreen\": [85, 107, 47],\r\n\t\"darkorange\": [255, 140, 0],\r\n\t\"darkorchid\": [153, 50, 204],\r\n\t\"darkred\": [139, 0, 0],\r\n\t\"darksalmon\": [233, 150, 122],\r\n\t\"darkseagreen\": [143, 188, 143],\r\n\t\"darkslateblue\": [72, 61, 139],\r\n\t\"darkslategray\": [47, 79, 79],\r\n\t\"darkslategrey\": [47, 79, 79],\r\n\t\"darkturquoise\": [0, 206, 209],\r\n\t\"darkviolet\": [148, 0, 211],\r\n\t\"deeppink\": [255, 20, 147],\r\n\t\"deepskyblue\": [0, 191, 255],\r\n\t\"dimgray\": [105, 105, 105],\r\n\t\"dimgrey\": [105, 105, 105],\r\n\t\"dodgerblue\": [30, 144, 255],\r\n\t\"firebrick\": [178, 34, 34],\r\n\t\"floralwhite\": [255, 250, 240],\r\n\t\"forestgreen\": [34, 139, 34],\r\n\t\"fuchsia\": [255, 0, 255],\r\n\t\"gainsboro\": [220, 220, 220],\r\n\t\"ghostwhite\": [248, 248, 255],\r\n\t\"gold\": [255, 215, 0],\r\n\t\"goldenrod\": [218, 165, 32],\r\n\t\"gray\": [128, 128, 128],\r\n\t\"green\": [0, 128, 0],\r\n\t\"greenyellow\": [173, 255, 47],\r\n\t\"grey\": [128, 128, 128],\r\n\t\"honeydew\": [240, 255, 240],\r\n\t\"hotpink\": [255, 105, 180],\r\n\t\"indianred\": [205, 92, 92],\r\n\t\"indigo\": [75, 0, 130],\r\n\t\"ivory\": [255, 255, 240],\r\n\t\"khaki\": [240, 230, 140],\r\n\t\"lavender\": [230, 230, 250],\r\n\t\"lavenderblush\": [255, 240, 245],\r\n\t\"lawngreen\": [124, 252, 0],\r\n\t\"lemonchiffon\": [255, 250, 205],\r\n\t\"lightblue\": [173, 216, 230],\r\n\t\"lightcoral\": [240, 128, 128],\r\n\t\"lightcyan\": [224, 255, 255],\r\n\t\"lightgoldenrodyellow\": [250, 250, 210],\r\n\t\"lightgray\": [211, 211, 211],\r\n\t\"lightgreen\": [144, 238, 144],\r\n\t\"lightgrey\": [211, 211, 211],\r\n\t\"lightpink\": [255, 182, 193],\r\n\t\"lightsalmon\": [255, 160, 122],\r\n\t\"lightseagreen\": [32, 178, 170],\r\n\t\"lightskyblue\": [135, 206, 250],\r\n\t\"lightslategray\": [119, 136, 153],\r\n\t\"lightslategrey\": [119, 136, 153],\r\n\t\"lightsteelblue\": [176, 196, 222],\r\n\t\"lightyellow\": [255, 255, 224],\r\n\t\"lime\": [0, 255, 0],\r\n\t\"limegreen\": [50, 205, 50],\r\n\t\"linen\": [250, 240, 230],\r\n\t\"magenta\": [255, 0, 255],\r\n\t\"maroon\": [128, 0, 0],\r\n\t\"mediumaquamarine\": [102, 205, 170],\r\n\t\"mediumblue\": [0, 0, 205],\r\n\t\"mediumorchid\": [186, 85, 211],\r\n\t\"mediumpurple\": [147, 112, 219],\r\n\t\"mediumseagreen\": [60, 179, 113],\r\n\t\"mediumslateblue\": [123, 104, 238],\r\n\t\"mediumspringgreen\": [0, 250, 154],\r\n\t\"mediumturquoise\": [72, 209, 204],\r\n\t\"mediumvioletred\": [199, 21, 133],\r\n\t\"midnightblue\": [25, 25, 112],\r\n\t\"mintcream\": [245, 255, 250],\r\n\t\"mistyrose\": [255, 228, 225],\r\n\t\"moccasin\": [255, 228, 181],\r\n\t\"navajowhite\": [255, 222, 173],\r\n\t\"navy\": [0, 0, 128],\r\n\t\"oldlace\": [253, 245, 230],\r\n\t\"olive\": [128, 128, 0],\r\n\t\"olivedrab\": [107, 142, 35],\r\n\t\"orange\": [255, 165, 0],\r\n\t\"orangered\": [255, 69, 0],\r\n\t\"orchid\": [218, 112, 214],\r\n\t\"palegoldenrod\": [238, 232, 170],\r\n\t\"palegreen\": [152, 251, 152],\r\n\t\"paleturquoise\": [175, 238, 238],\r\n\t\"palevioletred\": [219, 112, 147],\r\n\t\"papayawhip\": [255, 239, 213],\r\n\t\"peachpuff\": [255, 218, 185],\r\n\t\"peru\": [205, 133, 63],\r\n\t\"pink\": [255, 192, 203],\r\n\t\"plum\": [221, 160, 221],\r\n\t\"powderblue\": [176, 224, 230],\r\n\t\"purple\": [128, 0, 128],\r\n\t\"rebeccapurple\": [102, 51, 153],\r\n\t\"red\": [255, 0, 0],\r\n\t\"rosybrown\": [188, 143, 143],\r\n\t\"royalblue\": [65, 105, 225],\r\n\t\"saddlebrown\": [139, 69, 19],\r\n\t\"salmon\": [250, 128, 114],\r\n\t\"sandybrown\": [244, 164, 96],\r\n\t\"seagreen\": [46, 139, 87],\r\n\t\"seashell\": [255, 245, 238],\r\n\t\"sienna\": [160, 82, 45],\r\n\t\"silver\": [192, 192, 192],\r\n\t\"skyblue\": [135, 206, 235],\r\n\t\"slateblue\": [106, 90, 205],\r\n\t\"slategray\": [112, 128, 144],\r\n\t\"slategrey\": [112, 128, 144],\r\n\t\"snow\": [255, 250, 250],\r\n\t\"springgreen\": [0, 255, 127],\r\n\t\"steelblue\": [70, 130, 180],\r\n\t\"tan\": [210, 180, 140],\r\n\t\"teal\": [0, 128, 128],\r\n\t\"thistle\": [216, 191, 216],\r\n\t\"tomato\": [255, 99, 71],\r\n\t\"turquoise\": [64, 224, 208],\r\n\t\"violet\": [238, 130, 238],\r\n\t\"wheat\": [245, 222, 179],\r\n\t\"white\": [255, 255, 255],\r\n\t\"whitesmoke\": [245, 245, 245],\r\n\t\"yellow\": [255, 255, 0],\r\n\t\"yellowgreen\": [154, 205, 50]\r\n};\r\n","/* MIT license */\nvar colorNames = require('color-name');\nvar swizzle = require('simple-swizzle');\nvar hasOwnProperty = Object.hasOwnProperty;\n\nvar reverseNames = Object.create(null);\n\n// create a list of reverse color names\nfor (var name in colorNames) {\n\tif (hasOwnProperty.call(colorNames, name)) {\n\t\treverseNames[colorNames[name]] = name;\n\t}\n}\n\nvar cs = module.exports = {\n\tto: {},\n\tget: {}\n};\n\ncs.get = function (string) {\n\tvar prefix = string.substring(0, 3).toLowerCase();\n\tvar val;\n\tvar model;\n\tswitch (prefix) {\n\t\tcase 'hsl':\n\t\t\tval = cs.get.hsl(string);\n\t\t\tmodel = 'hsl';\n\t\t\tbreak;\n\t\tcase 'hwb':\n\t\t\tval = cs.get.hwb(string);\n\t\t\tmodel = 'hwb';\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tval = cs.get.rgb(string);\n\t\t\tmodel = 'rgb';\n\t\t\tbreak;\n\t}\n\n\tif (!val) {\n\t\treturn null;\n\t}\n\n\treturn {model: model, value: val};\n};\n\ncs.get.rgb = function (string) {\n\tif (!string) {\n\t\treturn null;\n\t}\n\n\tvar abbr = /^#([a-f0-9]{3,4})$/i;\n\tvar hex = /^#([a-f0-9]{6})([a-f0-9]{2})?$/i;\n\tvar rgba = /^rgba?\\(\\s*([+-]?\\d+)(?=[\\s,])\\s*(?:,\\s*)?([+-]?\\d+)(?=[\\s,])\\s*(?:,\\s*)?([+-]?\\d+)\\s*(?:[,|\\/]\\s*([+-]?[\\d\\.]+)(%?)\\s*)?\\)$/;\n\tvar per = /^rgba?\\(\\s*([+-]?[\\d\\.]+)\\%\\s*,?\\s*([+-]?[\\d\\.]+)\\%\\s*,?\\s*([+-]?[\\d\\.]+)\\%\\s*(?:[,|\\/]\\s*([+-]?[\\d\\.]+)(%?)\\s*)?\\)$/;\n\tvar keyword = /^(\\w+)$/;\n\n\tvar rgb = [0, 0, 0, 1];\n\tvar match;\n\tvar i;\n\tvar hexAlpha;\n\n\tif (match = string.match(hex)) {\n\t\thexAlpha = match[2];\n\t\tmatch = match[1];\n\n\t\tfor (i = 0; i < 3; i++) {\n\t\t\t// https://jsperf.com/slice-vs-substr-vs-substring-methods-long-string/19\n\t\t\tvar i2 = i * 2;\n\t\t\trgb[i] = parseInt(match.slice(i2, i2 + 2), 16);\n\t\t}\n\n\t\tif (hexAlpha) {\n\t\t\trgb[3] = parseInt(hexAlpha, 16) / 255;\n\t\t}\n\t} else if (match = string.match(abbr)) {\n\t\tmatch = match[1];\n\t\thexAlpha = match[3];\n\n\t\tfor (i = 0; i < 3; i++) {\n\t\t\trgb[i] = parseInt(match[i] + match[i], 16);\n\t\t}\n\n\t\tif (hexAlpha) {\n\t\t\trgb[3] = parseInt(hexAlpha + hexAlpha, 16) / 255;\n\t\t}\n\t} else if (match = string.match(rgba)) {\n\t\tfor (i = 0; i < 3; i++) {\n\t\t\trgb[i] = parseInt(match[i + 1], 0);\n\t\t}\n\n\t\tif (match[4]) {\n\t\t\tif (match[5]) {\n\t\t\t\trgb[3] = parseFloat(match[4]) * 0.01;\n\t\t\t} else {\n\t\t\t\trgb[3] = parseFloat(match[4]);\n\t\t\t}\n\t\t}\n\t} else if (match = string.match(per)) {\n\t\tfor (i = 0; i < 3; i++) {\n\t\t\trgb[i] = Math.round(parseFloat(match[i + 1]) * 2.55);\n\t\t}\n\n\t\tif (match[4]) {\n\t\t\tif (match[5]) {\n\t\t\t\trgb[3] = parseFloat(match[4]) * 0.01;\n\t\t\t} else {\n\t\t\t\trgb[3] = parseFloat(match[4]);\n\t\t\t}\n\t\t}\n\t} else if (match = string.match(keyword)) {\n\t\tif (match[1] === 'transparent') {\n\t\t\treturn [0, 0, 0, 0];\n\t\t}\n\n\t\tif (!hasOwnProperty.call(colorNames, match[1])) {\n\t\t\treturn null;\n\t\t}\n\n\t\trgb = colorNames[match[1]];\n\t\trgb[3] = 1;\n\n\t\treturn rgb;\n\t} else {\n\t\treturn null;\n\t}\n\n\tfor (i = 0; i < 3; i++) {\n\t\trgb[i] = clamp(rgb[i], 0, 255);\n\t}\n\trgb[3] = clamp(rgb[3], 0, 1);\n\n\treturn rgb;\n};\n\ncs.get.hsl = function (string) {\n\tif (!string) {\n\t\treturn null;\n\t}\n\n\tvar hsl = /^hsla?\\(\\s*([+-]?(?:\\d{0,3}\\.)?\\d+)(?:deg)?\\s*,?\\s*([+-]?[\\d\\.]+)%\\s*,?\\s*([+-]?[\\d\\.]+)%\\s*(?:[,|\\/]\\s*([+-]?(?=\\.\\d|\\d)(?:0|[1-9]\\d*)?(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)\\s*)?\\)$/;\n\tvar match = string.match(hsl);\n\n\tif (match) {\n\t\tvar alpha = parseFloat(match[4]);\n\t\tvar h = ((parseFloat(match[1]) % 360) + 360) % 360;\n\t\tvar s = clamp(parseFloat(match[2]), 0, 100);\n\t\tvar l = clamp(parseFloat(match[3]), 0, 100);\n\t\tvar a = clamp(isNaN(alpha) ? 1 : alpha, 0, 1);\n\n\t\treturn [h, s, l, a];\n\t}\n\n\treturn null;\n};\n\ncs.get.hwb = function (string) {\n\tif (!string) {\n\t\treturn null;\n\t}\n\n\tvar hwb = /^hwb\\(\\s*([+-]?\\d{0,3}(?:\\.\\d+)?)(?:deg)?\\s*,\\s*([+-]?[\\d\\.]+)%\\s*,\\s*([+-]?[\\d\\.]+)%\\s*(?:,\\s*([+-]?(?=\\.\\d|\\d)(?:0|[1-9]\\d*)?(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)\\s*)?\\)$/;\n\tvar match = string.match(hwb);\n\n\tif (match) {\n\t\tvar alpha = parseFloat(match[4]);\n\t\tvar h = ((parseFloat(match[1]) % 360) + 360) % 360;\n\t\tvar w = clamp(parseFloat(match[2]), 0, 100);\n\t\tvar b = clamp(parseFloat(match[3]), 0, 100);\n\t\tvar a = clamp(isNaN(alpha) ? 1 : alpha, 0, 1);\n\t\treturn [h, w, b, a];\n\t}\n\n\treturn null;\n};\n\ncs.to.hex = function () {\n\tvar rgba = swizzle(arguments);\n\n\treturn (\n\t\t'#' +\n\t\thexDouble(rgba[0]) +\n\t\thexDouble(rgba[1]) +\n\t\thexDouble(rgba[2]) +\n\t\t(rgba[3] < 1\n\t\t\t? (hexDouble(Math.round(rgba[3] * 255)))\n\t\t\t: '')\n\t);\n};\n\ncs.to.rgb = function () {\n\tvar rgba = swizzle(arguments);\n\n\treturn rgba.length < 4 || rgba[3] === 1\n\t\t? 'rgb(' + Math.round(rgba[0]) + ', ' + Math.round(rgba[1]) + ', ' + Math.round(rgba[2]) + ')'\n\t\t: 'rgba(' + Math.round(rgba[0]) + ', ' + Math.round(rgba[1]) + ', ' + Math.round(rgba[2]) + ', ' + rgba[3] + ')';\n};\n\ncs.to.rgb.percent = function () {\n\tvar rgba = swizzle(arguments);\n\n\tvar r = Math.round(rgba[0] / 255 * 100);\n\tvar g = Math.round(rgba[1] / 255 * 100);\n\tvar b = Math.round(rgba[2] / 255 * 100);\n\n\treturn rgba.length < 4 || rgba[3] === 1\n\t\t? 'rgb(' + r + '%, ' + g + '%, ' + b + '%)'\n\t\t: 'rgba(' + r + '%, ' + g + '%, ' + b + '%, ' + rgba[3] + ')';\n};\n\ncs.to.hsl = function () {\n\tvar hsla = swizzle(arguments);\n\treturn hsla.length < 4 || hsla[3] === 1\n\t\t? 'hsl(' + hsla[0] + ', ' + hsla[1] + '%, ' + hsla[2] + '%)'\n\t\t: 'hsla(' + hsla[0] + ', ' + hsla[1] + '%, ' + hsla[2] + '%, ' + hsla[3] + ')';\n};\n\n// hwb is a bit different than rgb(a) & hsl(a) since there is no alpha specific syntax\n// (hwb have alpha optional & 1 is default value)\ncs.to.hwb = function () {\n\tvar hwba = swizzle(arguments);\n\n\tvar a = '';\n\tif (hwba.length >= 4 && hwba[3] !== 1) {\n\t\ta = ', ' + hwba[3];\n\t}\n\n\treturn 'hwb(' + hwba[0] + ', ' + hwba[1] + '%, ' + hwba[2] + '%' + a + ')';\n};\n\ncs.to.keyword = function (rgb) {\n\treturn reverseNames[rgb.slice(0, 3)];\n};\n\n// helpers\nfunction clamp(num, min, max) {\n\treturn Math.min(Math.max(min, num), max);\n}\n\nfunction hexDouble(num) {\n\tvar str = Math.round(num).toString(16).toUpperCase();\n\treturn (str.length < 2) ? '0' + str : str;\n}\n","const colorString = require('color-string');\nconst convert = require('color-convert');\n\nconst skippedModels = [\n\t// To be honest, I don't really feel like keyword belongs in color convert, but eh.\n\t'keyword',\n\n\t// Gray conflicts with some method names, and has its own method defined.\n\t'gray',\n\n\t// Shouldn't really be in color-convert either...\n\t'hex',\n];\n\nconst hashedModelKeys = {};\nfor (const model of Object.keys(convert)) {\n\thashedModelKeys[[...convert[model].labels].sort().join('')] = model;\n}\n\nconst limiters = {};\n\nfunction Color(object, model) {\n\tif (!(this instanceof Color)) {\n\t\treturn new Color(object, model);\n\t}\n\n\tif (model && model in skippedModels) {\n\t\tmodel = null;\n\t}\n\n\tif (model && !(model in convert)) {\n\t\tthrow new Error('Unknown model: ' + model);\n\t}\n\n\tlet i;\n\tlet channels;\n\n\tif (object == null) { // eslint-disable-line no-eq-null,eqeqeq\n\t\tthis.model = 'rgb';\n\t\tthis.color = [0, 0, 0];\n\t\tthis.valpha = 1;\n\t} else if (object instanceof Color) {\n\t\tthis.model = object.model;\n\t\tthis.color = [...object.color];\n\t\tthis.valpha = object.valpha;\n\t} else if (typeof object === 'string') {\n\t\tconst result = colorString.get(object);\n\t\tif (result === null) {\n\t\t\tthrow new Error('Unable to parse color from string: ' + object);\n\t\t}\n\n\t\tthis.model = result.model;\n\t\tchannels = convert[this.model].channels;\n\t\tthis.color = result.value.slice(0, channels);\n\t\tthis.valpha = typeof result.value[channels] === 'number' ? result.value[channels] : 1;\n\t} else if (object.length > 0) {\n\t\tthis.model = model || 'rgb';\n\t\tchannels = convert[this.model].channels;\n\t\tconst newArray = Array.prototype.slice.call(object, 0, channels);\n\t\tthis.color = zeroArray(newArray, channels);\n\t\tthis.valpha = typeof object[channels] === 'number' ? object[channels] : 1;\n\t} else if (typeof object === 'number') {\n\t\t// This is always RGB - can be converted later on.\n\t\tthis.model = 'rgb';\n\t\tthis.color = [\n\t\t\t(object >> 16) & 0xFF,\n\t\t\t(object >> 8) & 0xFF,\n\t\t\tobject & 0xFF,\n\t\t];\n\t\tthis.valpha = 1;\n\t} else {\n\t\tthis.valpha = 1;\n\n\t\tconst keys = Object.keys(object);\n\t\tif ('alpha' in object) {\n\t\t\tkeys.splice(keys.indexOf('alpha'), 1);\n\t\t\tthis.valpha = typeof object.alpha === 'number' ? object.alpha : 0;\n\t\t}\n\n\t\tconst hashedKeys = keys.sort().join('');\n\t\tif (!(hashedKeys in hashedModelKeys)) {\n\t\t\tthrow new Error('Unable to parse color from object: ' + JSON.stringify(object));\n\t\t}\n\n\t\tthis.model = hashedModelKeys[hashedKeys];\n\n\t\tconst {labels} = convert[this.model];\n\t\tconst color = [];\n\t\tfor (i = 0; i < labels.length; i++) {\n\t\t\tcolor.push(object[labels[i]]);\n\t\t}\n\n\t\tthis.color = zeroArray(color);\n\t}\n\n\t// Perform limitations (clamping, etc.)\n\tif (limiters[this.model]) {\n\t\tchannels = convert[this.model].channels;\n\t\tfor (i = 0; i < channels; i++) {\n\t\t\tconst limit = limiters[this.model][i];\n\t\t\tif (limit) {\n\t\t\t\tthis.color[i] = limit(this.color[i]);\n\t\t\t}\n\t\t}\n\t}\n\n\tthis.valpha = Math.max(0, Math.min(1, this.valpha));\n\n\tif (Object.freeze) {\n\t\tObject.freeze(this);\n\t}\n}\n\nColor.prototype = {\n\ttoString() {\n\t\treturn this.string();\n\t},\n\n\ttoJSON() {\n\t\treturn this[this.model]();\n\t},\n\n\tstring(places) {\n\t\tlet self = this.model in colorString.to ? this : this.rgb();\n\t\tself = self.round(typeof places === 'number' ? places : 1);\n\t\tconst args = self.valpha === 1 ? self.color : [...self.color, this.valpha];\n\t\treturn colorString.to[self.model](args);\n\t},\n\n\tpercentString(places) {\n\t\tconst self = this.rgb().round(typeof places === 'number' ? places : 1);\n\t\tconst args = self.valpha === 1 ? self.color : [...self.color, this.valpha];\n\t\treturn colorString.to.rgb.percent(args);\n\t},\n\n\tarray() {\n\t\treturn this.valpha === 1 ? [...this.color] : [...this.color, this.valpha];\n\t},\n\n\tobject() {\n\t\tconst result = {};\n\t\tconst {channels} = convert[this.model];\n\t\tconst {labels} = convert[this.model];\n\n\t\tfor (let i = 0; i < channels; i++) {\n\t\t\tresult[labels[i]] = this.color[i];\n\t\t}\n\n\t\tif (this.valpha !== 1) {\n\t\t\tresult.alpha = this.valpha;\n\t\t}\n\n\t\treturn result;\n\t},\n\n\tunitArray() {\n\t\tconst rgb = this.rgb().color;\n\t\trgb[0] /= 255;\n\t\trgb[1] /= 255;\n\t\trgb[2] /= 255;\n\n\t\tif (this.valpha !== 1) {\n\t\t\trgb.push(this.valpha);\n\t\t}\n\n\t\treturn rgb;\n\t},\n\n\tunitObject() {\n\t\tconst rgb = this.rgb().object();\n\t\trgb.r /= 255;\n\t\trgb.g /= 255;\n\t\trgb.b /= 255;\n\n\t\tif (this.valpha !== 1) {\n\t\t\trgb.alpha = this.valpha;\n\t\t}\n\n\t\treturn rgb;\n\t},\n\n\tround(places) {\n\t\tplaces = Math.max(places || 0, 0);\n\t\treturn new Color([...this.color.map(roundToPlace(places)), this.valpha], this.model);\n\t},\n\n\talpha(value) {\n\t\tif (value !== undefined) {\n\t\t\treturn new Color([...this.color, Math.max(0, Math.min(1, value))], this.model);\n\t\t}\n\n\t\treturn this.valpha;\n\t},\n\n\t// Rgb\n\tred: getset('rgb', 0, maxfn(255)),\n\tgreen: getset('rgb', 1, maxfn(255)),\n\tblue: getset('rgb', 2, maxfn(255)),\n\n\thue: getset(['hsl', 'hsv', 'hsl', 'hwb', 'hcg'], 0, value => ((value % 360) + 360) % 360),\n\n\tsaturationl: getset('hsl', 1, maxfn(100)),\n\tlightness: getset('hsl', 2, maxfn(100)),\n\n\tsaturationv: getset('hsv', 1, maxfn(100)),\n\tvalue: getset('hsv', 2, maxfn(100)),\n\n\tchroma: getset('hcg', 1, maxfn(100)),\n\tgray: getset('hcg', 2, maxfn(100)),\n\n\twhite: getset('hwb', 1, maxfn(100)),\n\twblack: getset('hwb', 2, maxfn(100)),\n\n\tcyan: getset('cmyk', 0, maxfn(100)),\n\tmagenta: getset('cmyk', 1, maxfn(100)),\n\tyellow: getset('cmyk', 2, maxfn(100)),\n\tblack: getset('cmyk', 3, maxfn(100)),\n\n\tx: getset('xyz', 0, maxfn(95.047)),\n\ty: getset('xyz', 1, maxfn(100)),\n\tz: getset('xyz', 2, maxfn(108.833)),\n\n\tl: getset('lab', 0, maxfn(100)),\n\ta: getset('lab', 1),\n\tb: getset('lab', 2),\n\n\tkeyword(value) {\n\t\tif (value !== undefined) {\n\t\t\treturn new Color(value);\n\t\t}\n\n\t\treturn convert[this.model].keyword(this.color);\n\t},\n\n\thex(value) {\n\t\tif (value !== undefined) {\n\t\t\treturn new Color(value);\n\t\t}\n\n\t\treturn colorString.to.hex(this.rgb().round().color);\n\t},\n\n\thexa(value) {\n\t\tif (value !== undefined) {\n\t\t\treturn new Color(value);\n\t\t}\n\n\t\tconst rgbArray = this.rgb().round().color;\n\n\t\tlet alphaHex = Math.round(this.valpha * 255).toString(16).toUpperCase();\n\t\tif (alphaHex.length === 1) {\n\t\t\talphaHex = '0' + alphaHex;\n\t\t}\n\n\t\treturn colorString.to.hex(rgbArray) + alphaHex;\n\t},\n\n\trgbNumber() {\n\t\tconst rgb = this.rgb().color;\n\t\treturn ((rgb[0] & 0xFF) << 16) | ((rgb[1] & 0xFF) << 8) | (rgb[2] & 0xFF);\n\t},\n\n\tluminosity() {\n\t\t// http://www.w3.org/TR/WCAG20/#relativeluminancedef\n\t\tconst rgb = this.rgb().color;\n\n\t\tconst lum = [];\n\t\tfor (const [i, element] of rgb.entries()) {\n\t\t\tconst chan = element / 255;\n\t\t\tlum[i] = (chan <= 0.04045) ? chan / 12.92 : ((chan + 0.055) / 1.055) ** 2.4;\n\t\t}\n\n\t\treturn 0.2126 * lum[0] + 0.7152 * lum[1] + 0.0722 * lum[2];\n\t},\n\n\tcontrast(color2) {\n\t\t// http://www.w3.org/TR/WCAG20/#contrast-ratiodef\n\t\tconst lum1 = this.luminosity();\n\t\tconst lum2 = color2.luminosity();\n\n\t\tif (lum1 > lum2) {\n\t\t\treturn (lum1 + 0.05) / (lum2 + 0.05);\n\t\t}\n\n\t\treturn (lum2 + 0.05) / (lum1 + 0.05);\n\t},\n\n\tlevel(color2) {\n\t\t// https://www.w3.org/TR/WCAG/#contrast-enhanced\n\t\tconst contrastRatio = this.contrast(color2);\n\t\tif (contrastRatio >= 7) {\n\t\t\treturn 'AAA';\n\t\t}\n\n\t\treturn (contrastRatio >= 4.5) ? 'AA' : '';\n\t},\n\n\tisDark() {\n\t\t// YIQ equation from http://24ways.org/2010/calculating-color-contrast\n\t\tconst rgb = this.rgb().color;\n\t\tconst yiq = (rgb[0] * 2126 + rgb[1] * 7152 + rgb[2] * 722) / 10000;\n\t\treturn yiq < 128;\n\t},\n\n\tisLight() {\n\t\treturn !this.isDark();\n\t},\n\n\tnegate() {\n\t\tconst rgb = this.rgb();\n\t\tfor (let i = 0; i < 3; i++) {\n\t\t\trgb.color[i] = 255 - rgb.color[i];\n\t\t}\n\n\t\treturn rgb;\n\t},\n\n\tlighten(ratio) {\n\t\tconst hsl = this.hsl();\n\t\thsl.color[2] += hsl.color[2] * ratio;\n\t\treturn hsl;\n\t},\n\n\tdarken(ratio) {\n\t\tconst hsl = this.hsl();\n\t\thsl.color[2] -= hsl.color[2] * ratio;\n\t\treturn hsl;\n\t},\n\n\tsaturate(ratio) {\n\t\tconst hsl = this.hsl();\n\t\thsl.color[1] += hsl.color[1] * ratio;\n\t\treturn hsl;\n\t},\n\n\tdesaturate(ratio) {\n\t\tconst hsl = this.hsl();\n\t\thsl.color[1] -= hsl.color[1] * ratio;\n\t\treturn hsl;\n\t},\n\n\twhiten(ratio) {\n\t\tconst hwb = this.hwb();\n\t\thwb.color[1] += hwb.color[1] * ratio;\n\t\treturn hwb;\n\t},\n\n\tblacken(ratio) {\n\t\tconst hwb = this.hwb();\n\t\thwb.color[2] += hwb.color[2] * ratio;\n\t\treturn hwb;\n\t},\n\n\tgrayscale() {\n\t\t// http://en.wikipedia.org/wiki/Grayscale#Converting_color_to_grayscale\n\t\tconst rgb = this.rgb().color;\n\t\tconst value = rgb[0] * 0.3 + rgb[1] * 0.59 + rgb[2] * 0.11;\n\t\treturn Color.rgb(value, value, value);\n\t},\n\n\tfade(ratio) {\n\t\treturn this.alpha(this.valpha - (this.valpha * ratio));\n\t},\n\n\topaquer(ratio) {\n\t\treturn this.alpha(this.valpha + (this.valpha * ratio));\n\t},\n\n\trotate(degrees) {\n\t\tconst hsl = this.hsl();\n\t\tlet hue = hsl.color[0];\n\t\thue = (hue + degrees) % 360;\n\t\thue = hue < 0 ? 360 + hue : hue;\n\t\thsl.color[0] = hue;\n\t\treturn hsl;\n\t},\n\n\tmix(mixinColor, weight) {\n\t\t// Ported from sass implementation in C\n\t\t// https://github.com/sass/libsass/blob/0e6b4a2850092356aa3ece07c6b249f0221caced/functions.cpp#L209\n\t\tif (!mixinColor || !mixinColor.rgb) {\n\t\t\tthrow new Error('Argument to \"mix\" was not a Color instance, but rather an instance of ' + typeof mixinColor);\n\t\t}\n\n\t\tconst color1 = mixinColor.rgb();\n\t\tconst color2 = this.rgb();\n\t\tconst p = weight === undefined ? 0.5 : weight;\n\n\t\tconst w = 2 * p - 1;\n\t\tconst a = color1.alpha() - color2.alpha();\n\n\t\tconst w1 = (((w * a === -1) ? w : (w + a) / (1 + w * a)) + 1) / 2;\n\t\tconst w2 = 1 - w1;\n\n\t\treturn Color.rgb(\n\t\t\tw1 * color1.red() + w2 * color2.red(),\n\t\t\tw1 * color1.green() + w2 * color2.green(),\n\t\t\tw1 * color1.blue() + w2 * color2.blue(),\n\t\t\tcolor1.alpha() * p + color2.alpha() * (1 - p));\n\t},\n};\n\n// Model conversion methods and static constructors\nfor (const model of Object.keys(convert)) {\n\tif (skippedModels.includes(model)) {\n\t\tcontinue;\n\t}\n\n\tconst {channels} = convert[model];\n\n\t// Conversion methods\n\tColor.prototype[model] = function (...args) {\n\t\tif (this.model === model) {\n\t\t\treturn new Color(this);\n\t\t}\n\n\t\tif (args.length > 0) {\n\t\t\treturn new Color(args, model);\n\t\t}\n\n\t\treturn new Color([...assertArray(convert[this.model][model].raw(this.color)), this.valpha], model);\n\t};\n\n\t// 'static' construction methods\n\tColor[model] = function (...args) {\n\t\tlet color = args[0];\n\t\tif (typeof color === 'number') {\n\t\t\tcolor = zeroArray(args, channels);\n\t\t}\n\n\t\treturn new Color(color, model);\n\t};\n}\n\nfunction roundTo(number, places) {\n\treturn Number(number.toFixed(places));\n}\n\nfunction roundToPlace(places) {\n\treturn function (number) {\n\t\treturn roundTo(number, places);\n\t};\n}\n\nfunction getset(model, channel, modifier) {\n\tmodel = Array.isArray(model) ? model : [model];\n\n\tfor (const m of model) {\n\t\t(limiters[m] || (limiters[m] = []))[channel] = modifier;\n\t}\n\n\tmodel = model[0];\n\n\treturn function (value) {\n\t\tlet result;\n\n\t\tif (value !== undefined) {\n\t\t\tif (modifier) {\n\t\t\t\tvalue = modifier(value);\n\t\t\t}\n\n\t\t\tresult = this[model]();\n\t\t\tresult.color[channel] = value;\n\t\t\treturn result;\n\t\t}\n\n\t\tresult = this[model]().color[channel];\n\t\tif (modifier) {\n\t\t\tresult = modifier(result);\n\t\t}\n\n\t\treturn result;\n\t};\n}\n\nfunction maxfn(max) {\n\treturn function (v) {\n\t\treturn Math.max(0, Math.min(max, v));\n\t};\n}\n\nfunction assertArray(value) {\n\treturn Array.isArray(value) ? value : [value];\n}\n\nfunction zeroArray(array, length) {\n\tfor (let i = 0; i < length; i++) {\n\t\tif (typeof array[i] !== 'number') {\n\t\t\tarray[i] = 0;\n\t\t}\n\t}\n\n\treturn array;\n}\n\nmodule.exports = Color;\n","/* MIT license */\n/* eslint-disable no-mixed-operators */\nconst cssKeywords = require('color-name');\n\n// NOTE: conversions should only return primitive values (i.e. arrays, or\n// values that give correct `typeof` results).\n// do not use box values types (i.e. Number(), String(), etc.)\n\nconst reverseKeywords = {};\nfor (const key of Object.keys(cssKeywords)) {\n\treverseKeywords[cssKeywords[key]] = key;\n}\n\nconst convert = {\n\trgb: {channels: 3, labels: 'rgb'},\n\thsl: {channels: 3, labels: 'hsl'},\n\thsv: {channels: 3, labels: 'hsv'},\n\thwb: {channels: 3, labels: 'hwb'},\n\tcmyk: {channels: 4, labels: 'cmyk'},\n\txyz: {channels: 3, labels: 'xyz'},\n\tlab: {channels: 3, labels: 'lab'},\n\tlch: {channels: 3, labels: 'lch'},\n\thex: {channels: 1, labels: ['hex']},\n\tkeyword: {channels: 1, labels: ['keyword']},\n\tansi16: {channels: 1, labels: ['ansi16']},\n\tansi256: {channels: 1, labels: ['ansi256']},\n\thcg: {channels: 3, labels: ['h', 'c', 'g']},\n\tapple: {channels: 3, labels: ['r16', 'g16', 'b16']},\n\tgray: {channels: 1, labels: ['gray']}\n};\n\nmodule.exports = convert;\n\n// Hide .channels and .labels properties\nfor (const model of Object.keys(convert)) {\n\tif (!('channels' in convert[model])) {\n\t\tthrow new Error('missing channels property: ' + model);\n\t}\n\n\tif (!('labels' in convert[model])) {\n\t\tthrow new Error('missing channel labels property: ' + model);\n\t}\n\n\tif (convert[model].labels.length !== convert[model].channels) {\n\t\tthrow new Error('channel and label counts mismatch: ' + model);\n\t}\n\n\tconst {channels, labels} = convert[model];\n\tdelete convert[model].channels;\n\tdelete convert[model].labels;\n\tObject.defineProperty(convert[model], 'channels', {value: channels});\n\tObject.defineProperty(convert[model], 'labels', {value: labels});\n}\n\nconvert.rgb.hsl = function (rgb) {\n\tconst r = rgb[0] / 255;\n\tconst g = rgb[1] / 255;\n\tconst b = rgb[2] / 255;\n\tconst min = Math.min(r, g, b);\n\tconst max = Math.max(r, g, b);\n\tconst delta = max - min;\n\tlet h;\n\tlet s;\n\n\tif (max === min) {\n\t\th = 0;\n\t} else if (r === max) {\n\t\th = (g - b) / delta;\n\t} else if (g === max) {\n\t\th = 2 + (b - r) / delta;\n\t} else if (b === max) {\n\t\th = 4 + (r - g) / delta;\n\t}\n\n\th = Math.min(h * 60, 360);\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tconst l = (min + max) / 2;\n\n\tif (max === min) {\n\t\ts = 0;\n\t} else if (l <= 0.5) {\n\t\ts = delta / (max + min);\n\t} else {\n\t\ts = delta / (2 - max - min);\n\t}\n\n\treturn [h, s * 100, l * 100];\n};\n\nconvert.rgb.hsv = function (rgb) {\n\tlet rdif;\n\tlet gdif;\n\tlet bdif;\n\tlet h;\n\tlet s;\n\n\tconst r = rgb[0] / 255;\n\tconst g = rgb[1] / 255;\n\tconst b = rgb[2] / 255;\n\tconst v = Math.max(r, g, b);\n\tconst diff = v - Math.min(r, g, b);\n\tconst diffc = function (c) {\n\t\treturn (v - c) / 6 / diff + 1 / 2;\n\t};\n\n\tif (diff === 0) {\n\t\th = 0;\n\t\ts = 0;\n\t} else {\n\t\ts = diff / v;\n\t\trdif = diffc(r);\n\t\tgdif = diffc(g);\n\t\tbdif = diffc(b);\n\n\t\tif (r === v) {\n\t\t\th = bdif - gdif;\n\t\t} else if (g === v) {\n\t\t\th = (1 / 3) + rdif - bdif;\n\t\t} else if (b === v) {\n\t\t\th = (2 / 3) + gdif - rdif;\n\t\t}\n\n\t\tif (h < 0) {\n\t\t\th += 1;\n\t\t} else if (h > 1) {\n\t\t\th -= 1;\n\t\t}\n\t}\n\n\treturn [\n\t\th * 360,\n\t\ts * 100,\n\t\tv * 100\n\t];\n};\n\nconvert.rgb.hwb = function (rgb) {\n\tconst r = rgb[0];\n\tconst g = rgb[1];\n\tlet b = rgb[2];\n\tconst h = convert.rgb.hsl(rgb)[0];\n\tconst w = 1 / 255 * Math.min(r, Math.min(g, b));\n\n\tb = 1 - 1 / 255 * Math.max(r, Math.max(g, b));\n\n\treturn [h, w * 100, b * 100];\n};\n\nconvert.rgb.cmyk = function (rgb) {\n\tconst r = rgb[0] / 255;\n\tconst g = rgb[1] / 255;\n\tconst b = rgb[2] / 255;\n\n\tconst k = Math.min(1 - r, 1 - g, 1 - b);\n\tconst c = (1 - r - k) / (1 - k) || 0;\n\tconst m = (1 - g - k) / (1 - k) || 0;\n\tconst y = (1 - b - k) / (1 - k) || 0;\n\n\treturn [c * 100, m * 100, y * 100, k * 100];\n};\n\nfunction comparativeDistance(x, y) {\n\t/*\n\t\tSee https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance\n\t*/\n\treturn (\n\t\t((x[0] - y[0]) ** 2) +\n\t\t((x[1] - y[1]) ** 2) +\n\t\t((x[2] - y[2]) ** 2)\n\t);\n}\n\nconvert.rgb.keyword = function (rgb) {\n\tconst reversed = reverseKeywords[rgb];\n\tif (reversed) {\n\t\treturn reversed;\n\t}\n\n\tlet currentClosestDistance = Infinity;\n\tlet currentClosestKeyword;\n\n\tfor (const keyword of Object.keys(cssKeywords)) {\n\t\tconst value = cssKeywords[keyword];\n\n\t\t// Compute comparative distance\n\t\tconst distance = comparativeDistance(rgb, value);\n\n\t\t// Check if its less, if so set as closest\n\t\tif (distance < currentClosestDistance) {\n\t\t\tcurrentClosestDistance = distance;\n\t\t\tcurrentClosestKeyword = keyword;\n\t\t}\n\t}\n\n\treturn currentClosestKeyword;\n};\n\nconvert.keyword.rgb = function (keyword) {\n\treturn cssKeywords[keyword];\n};\n\nconvert.rgb.xyz = function (rgb) {\n\tlet r = rgb[0] / 255;\n\tlet g = rgb[1] / 255;\n\tlet b = rgb[2] / 255;\n\n\t// Assume sRGB\n\tr = r > 0.04045 ? (((r + 0.055) / 1.055) ** 2.4) : (r / 12.92);\n\tg = g > 0.04045 ? (((g + 0.055) / 1.055) ** 2.4) : (g / 12.92);\n\tb = b > 0.04045 ? (((b + 0.055) / 1.055) ** 2.4) : (b / 12.92);\n\n\tconst x = (r * 0.4124) + (g * 0.3576) + (b * 0.1805);\n\tconst y = (r * 0.2126) + (g * 0.7152) + (b * 0.0722);\n\tconst z = (r * 0.0193) + (g * 0.1192) + (b * 0.9505);\n\n\treturn [x * 100, y * 100, z * 100];\n};\n\nconvert.rgb.lab = function (rgb) {\n\tconst xyz = convert.rgb.xyz(rgb);\n\tlet x = xyz[0];\n\tlet y = xyz[1];\n\tlet z = xyz[2];\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? (x ** (1 / 3)) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? (y ** (1 / 3)) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? (z ** (1 / 3)) : (7.787 * z) + (16 / 116);\n\n\tconst l = (116 * y) - 16;\n\tconst a = 500 * (x - y);\n\tconst b = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.hsl.rgb = function (hsl) {\n\tconst h = hsl[0] / 360;\n\tconst s = hsl[1] / 100;\n\tconst l = hsl[2] / 100;\n\tlet t2;\n\tlet t3;\n\tlet val;\n\n\tif (s === 0) {\n\t\tval = l * 255;\n\t\treturn [val, val, val];\n\t}\n\n\tif (l < 0.5) {\n\t\tt2 = l * (1 + s);\n\t} else {\n\t\tt2 = l + s - l * s;\n\t}\n\n\tconst t1 = 2 * l - t2;\n\n\tconst rgb = [0, 0, 0];\n\tfor (let i = 0; i < 3; i++) {\n\t\tt3 = h + 1 / 3 * -(i - 1);\n\t\tif (t3 < 0) {\n\t\t\tt3++;\n\t\t}\n\n\t\tif (t3 > 1) {\n\t\t\tt3--;\n\t\t}\n\n\t\tif (6 * t3 < 1) {\n\t\t\tval = t1 + (t2 - t1) * 6 * t3;\n\t\t} else if (2 * t3 < 1) {\n\t\t\tval = t2;\n\t\t} else if (3 * t3 < 2) {\n\t\t\tval = t1 + (t2 - t1) * (2 / 3 - t3) * 6;\n\t\t} else {\n\t\t\tval = t1;\n\t\t}\n\n\t\trgb[i] = val * 255;\n\t}\n\n\treturn rgb;\n};\n\nconvert.hsl.hsv = function (hsl) {\n\tconst h = hsl[0];\n\tlet s = hsl[1] / 100;\n\tlet l = hsl[2] / 100;\n\tlet smin = s;\n\tconst lmin = Math.max(l, 0.01);\n\n\tl *= 2;\n\ts *= (l <= 1) ? l : 2 - l;\n\tsmin *= lmin <= 1 ? lmin : 2 - lmin;\n\tconst v = (l + s) / 2;\n\tconst sv = l === 0 ? (2 * smin) / (lmin + smin) : (2 * s) / (l + s);\n\n\treturn [h, sv * 100, v * 100];\n};\n\nconvert.hsv.rgb = function (hsv) {\n\tconst h = hsv[0] / 60;\n\tconst s = hsv[1] / 100;\n\tlet v = hsv[2] / 100;\n\tconst hi = Math.floor(h) % 6;\n\n\tconst f = h - Math.floor(h);\n\tconst p = 255 * v * (1 - s);\n\tconst q = 255 * v * (1 - (s * f));\n\tconst t = 255 * v * (1 - (s * (1 - f)));\n\tv *= 255;\n\n\tswitch (hi) {\n\t\tcase 0:\n\t\t\treturn [v, t, p];\n\t\tcase 1:\n\t\t\treturn [q, v, p];\n\t\tcase 2:\n\t\t\treturn [p, v, t];\n\t\tcase 3:\n\t\t\treturn [p, q, v];\n\t\tcase 4:\n\t\t\treturn [t, p, v];\n\t\tcase 5:\n\t\t\treturn [v, p, q];\n\t}\n};\n\nconvert.hsv.hsl = function (hsv) {\n\tconst h = hsv[0];\n\tconst s = hsv[1] / 100;\n\tconst v = hsv[2] / 100;\n\tconst vmin = Math.max(v, 0.01);\n\tlet sl;\n\tlet l;\n\n\tl = (2 - s) * v;\n\tconst lmin = (2 - s) * vmin;\n\tsl = s * vmin;\n\tsl /= (lmin <= 1) ? lmin : 2 - lmin;\n\tsl = sl || 0;\n\tl /= 2;\n\n\treturn [h, sl * 100, l * 100];\n};\n\n// http://dev.w3.org/csswg/css-color/#hwb-to-rgb\nconvert.hwb.rgb = function (hwb) {\n\tconst h = hwb[0] / 360;\n\tlet wh = hwb[1] / 100;\n\tlet bl = hwb[2] / 100;\n\tconst ratio = wh + bl;\n\tlet f;\n\n\t// Wh + bl cant be > 1\n\tif (ratio > 1) {\n\t\twh /= ratio;\n\t\tbl /= ratio;\n\t}\n\n\tconst i = Math.floor(6 * h);\n\tconst v = 1 - bl;\n\tf = 6 * h - i;\n\n\tif ((i & 0x01) !== 0) {\n\t\tf = 1 - f;\n\t}\n\n\tconst n = wh + f * (v - wh); // Linear interpolation\n\n\tlet r;\n\tlet g;\n\tlet b;\n\t/* eslint-disable max-statements-per-line,no-multi-spaces */\n\tswitch (i) {\n\t\tdefault:\n\t\tcase 6:\n\t\tcase 0: r = v; g = n; b = wh; break;\n\t\tcase 1: r = n; g = v; b = wh; break;\n\t\tcase 2: r = wh; g = v; b = n; break;\n\t\tcase 3: r = wh; g = n; b = v; break;\n\t\tcase 4: r = n; g = wh; b = v; break;\n\t\tcase 5: r = v; g = wh; b = n; break;\n\t}\n\t/* eslint-enable max-statements-per-line,no-multi-spaces */\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.cmyk.rgb = function (cmyk) {\n\tconst c = cmyk[0] / 100;\n\tconst m = cmyk[1] / 100;\n\tconst y = cmyk[2] / 100;\n\tconst k = cmyk[3] / 100;\n\n\tconst r = 1 - Math.min(1, c * (1 - k) + k);\n\tconst g = 1 - Math.min(1, m * (1 - k) + k);\n\tconst b = 1 - Math.min(1, y * (1 - k) + k);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.rgb = function (xyz) {\n\tconst x = xyz[0] / 100;\n\tconst y = xyz[1] / 100;\n\tconst z = xyz[2] / 100;\n\tlet r;\n\tlet g;\n\tlet b;\n\n\tr = (x * 3.2406) + (y * -1.5372) + (z * -0.4986);\n\tg = (x * -0.9689) + (y * 1.8758) + (z * 0.0415);\n\tb = (x * 0.0557) + (y * -0.2040) + (z * 1.0570);\n\n\t// Assume sRGB\n\tr = r > 0.0031308\n\t\t? ((1.055 * (r ** (1.0 / 2.4))) - 0.055)\n\t\t: r * 12.92;\n\n\tg = g > 0.0031308\n\t\t? ((1.055 * (g ** (1.0 / 2.4))) - 0.055)\n\t\t: g * 12.92;\n\n\tb = b > 0.0031308\n\t\t? ((1.055 * (b ** (1.0 / 2.4))) - 0.055)\n\t\t: b * 12.92;\n\n\tr = Math.min(Math.max(0, r), 1);\n\tg = Math.min(Math.max(0, g), 1);\n\tb = Math.min(Math.max(0, b), 1);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.lab = function (xyz) {\n\tlet x = xyz[0];\n\tlet y = xyz[1];\n\tlet z = xyz[2];\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? (x ** (1 / 3)) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? (y ** (1 / 3)) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? (z ** (1 / 3)) : (7.787 * z) + (16 / 116);\n\n\tconst l = (116 * y) - 16;\n\tconst a = 500 * (x - y);\n\tconst b = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.lab.xyz = function (lab) {\n\tconst l = lab[0];\n\tconst a = lab[1];\n\tconst b = lab[2];\n\tlet x;\n\tlet y;\n\tlet z;\n\n\ty = (l + 16) / 116;\n\tx = a / 500 + y;\n\tz = y - b / 200;\n\n\tconst y2 = y ** 3;\n\tconst x2 = x ** 3;\n\tconst z2 = z ** 3;\n\ty = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787;\n\tx = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787;\n\tz = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787;\n\n\tx *= 95.047;\n\ty *= 100;\n\tz *= 108.883;\n\n\treturn [x, y, z];\n};\n\nconvert.lab.lch = function (lab) {\n\tconst l = lab[0];\n\tconst a = lab[1];\n\tconst b = lab[2];\n\tlet h;\n\n\tconst hr = Math.atan2(b, a);\n\th = hr * 360 / 2 / Math.PI;\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tconst c = Math.sqrt(a * a + b * b);\n\n\treturn [l, c, h];\n};\n\nconvert.lch.lab = function (lch) {\n\tconst l = lch[0];\n\tconst c = lch[1];\n\tconst h = lch[2];\n\n\tconst hr = h / 360 * 2 * Math.PI;\n\tconst a = c * Math.cos(hr);\n\tconst b = c * Math.sin(hr);\n\n\treturn [l, a, b];\n};\n\nconvert.rgb.ansi16 = function (args, saturation = null) {\n\tconst [r, g, b] = args;\n\tlet value = saturation === null ? convert.rgb.hsv(args)[2] : saturation; // Hsv -> ansi16 optimization\n\n\tvalue = Math.round(value / 50);\n\n\tif (value === 0) {\n\t\treturn 30;\n\t}\n\n\tlet ansi = 30\n\t\t+ ((Math.round(b / 255) << 2)\n\t\t| (Math.round(g / 255) << 1)\n\t\t| Math.round(r / 255));\n\n\tif (value === 2) {\n\t\tansi += 60;\n\t}\n\n\treturn ansi;\n};\n\nconvert.hsv.ansi16 = function (args) {\n\t// Optimization here; we already know the value and don't need to get\n\t// it converted for us.\n\treturn convert.rgb.ansi16(convert.hsv.rgb(args), args[2]);\n};\n\nconvert.rgb.ansi256 = function (args) {\n\tconst r = args[0];\n\tconst g = args[1];\n\tconst b = args[2];\n\n\t// We use the extended greyscale palette here, with the exception of\n\t// black and white. normal palette only has 4 greyscale shades.\n\tif (r === g && g === b) {\n\t\tif (r < 8) {\n\t\t\treturn 16;\n\t\t}\n\n\t\tif (r > 248) {\n\t\t\treturn 231;\n\t\t}\n\n\t\treturn Math.round(((r - 8) / 247) * 24) + 232;\n\t}\n\n\tconst ansi = 16\n\t\t+ (36 * Math.round(r / 255 * 5))\n\t\t+ (6 * Math.round(g / 255 * 5))\n\t\t+ Math.round(b / 255 * 5);\n\n\treturn ansi;\n};\n\nconvert.ansi16.rgb = function (args) {\n\tlet color = args % 10;\n\n\t// Handle greyscale\n\tif (color === 0 || color === 7) {\n\t\tif (args > 50) {\n\t\t\tcolor += 3.5;\n\t\t}\n\n\t\tcolor = color / 10.5 * 255;\n\n\t\treturn [color, color, color];\n\t}\n\n\tconst mult = (~~(args > 50) + 1) * 0.5;\n\tconst r = ((color & 1) * mult) * 255;\n\tconst g = (((color >> 1) & 1) * mult) * 255;\n\tconst b = (((color >> 2) & 1) * mult) * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.ansi256.rgb = function (args) {\n\t// Handle greyscale\n\tif (args >= 232) {\n\t\tconst c = (args - 232) * 10 + 8;\n\t\treturn [c, c, c];\n\t}\n\n\targs -= 16;\n\n\tlet rem;\n\tconst r = Math.floor(args / 36) / 5 * 255;\n\tconst g = Math.floor((rem = args % 36) / 6) / 5 * 255;\n\tconst b = (rem % 6) / 5 * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hex = function (args) {\n\tconst integer = ((Math.round(args[0]) & 0xFF) << 16)\n\t\t+ ((Math.round(args[1]) & 0xFF) << 8)\n\t\t+ (Math.round(args[2]) & 0xFF);\n\n\tconst string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.hex.rgb = function (args) {\n\tconst match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);\n\tif (!match) {\n\t\treturn [0, 0, 0];\n\t}\n\n\tlet colorString = match[0];\n\n\tif (match[0].length === 3) {\n\t\tcolorString = colorString.split('').map(char => {\n\t\t\treturn char + char;\n\t\t}).join('');\n\t}\n\n\tconst integer = parseInt(colorString, 16);\n\tconst r = (integer >> 16) & 0xFF;\n\tconst g = (integer >> 8) & 0xFF;\n\tconst b = integer & 0xFF;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hcg = function (rgb) {\n\tconst r = rgb[0] / 255;\n\tconst g = rgb[1] / 255;\n\tconst b = rgb[2] / 255;\n\tconst max = Math.max(Math.max(r, g), b);\n\tconst min = Math.min(Math.min(r, g), b);\n\tconst chroma = (max - min);\n\tlet grayscale;\n\tlet hue;\n\n\tif (chroma < 1) {\n\t\tgrayscale = min / (1 - chroma);\n\t} else {\n\t\tgrayscale = 0;\n\t}\n\n\tif (chroma <= 0) {\n\t\thue = 0;\n\t} else\n\tif (max === r) {\n\t\thue = ((g - b) / chroma) % 6;\n\t} else\n\tif (max === g) {\n\t\thue = 2 + (b - r) / chroma;\n\t} else {\n\t\thue = 4 + (r - g) / chroma;\n\t}\n\n\thue /= 6;\n\thue %= 1;\n\n\treturn [hue * 360, chroma * 100, grayscale * 100];\n};\n\nconvert.hsl.hcg = function (hsl) {\n\tconst s = hsl[1] / 100;\n\tconst l = hsl[2] / 100;\n\n\tconst c = l < 0.5 ? (2.0 * s * l) : (2.0 * s * (1.0 - l));\n\n\tlet f = 0;\n\tif (c < 1.0) {\n\t\tf = (l - 0.5 * c) / (1.0 - c);\n\t}\n\n\treturn [hsl[0], c * 100, f * 100];\n};\n\nconvert.hsv.hcg = function (hsv) {\n\tconst s = hsv[1] / 100;\n\tconst v = hsv[2] / 100;\n\n\tconst c = s * v;\n\tlet f = 0;\n\n\tif (c < 1.0) {\n\t\tf = (v - c) / (1 - c);\n\t}\n\n\treturn [hsv[0], c * 100, f * 100];\n};\n\nconvert.hcg.rgb = function (hcg) {\n\tconst h = hcg[0] / 360;\n\tconst c = hcg[1] / 100;\n\tconst g = hcg[2] / 100;\n\n\tif (c === 0.0) {\n\t\treturn [g * 255, g * 255, g * 255];\n\t}\n\n\tconst pure = [0, 0, 0];\n\tconst hi = (h % 1) * 6;\n\tconst v = hi % 1;\n\tconst w = 1 - v;\n\tlet mg = 0;\n\n\t/* eslint-disable max-statements-per-line */\n\tswitch (Math.floor(hi)) {\n\t\tcase 0:\n\t\t\tpure[0] = 1; pure[1] = v; pure[2] = 0; break;\n\t\tcase 1:\n\t\t\tpure[0] = w; pure[1] = 1; pure[2] = 0; break;\n\t\tcase 2:\n\t\t\tpure[0] = 0; pure[1] = 1; pure[2] = v; break;\n\t\tcase 3:\n\t\t\tpure[0] = 0; pure[1] = w; pure[2] = 1; break;\n\t\tcase 4:\n\t\t\tpure[0] = v; pure[1] = 0; pure[2] = 1; break;\n\t\tdefault:\n\t\t\tpure[0] = 1; pure[1] = 0; pure[2] = w;\n\t}\n\t/* eslint-enable max-statements-per-line */\n\n\tmg = (1.0 - c) * g;\n\n\treturn [\n\t\t(c * pure[0] + mg) * 255,\n\t\t(c * pure[1] + mg) * 255,\n\t\t(c * pure[2] + mg) * 255\n\t];\n};\n\nconvert.hcg.hsv = function (hcg) {\n\tconst c = hcg[1] / 100;\n\tconst g = hcg[2] / 100;\n\n\tconst v = c + g * (1.0 - c);\n\tlet f = 0;\n\n\tif (v > 0.0) {\n\t\tf = c / v;\n\t}\n\n\treturn [hcg[0], f * 100, v * 100];\n};\n\nconvert.hcg.hsl = function (hcg) {\n\tconst c = hcg[1] / 100;\n\tconst g = hcg[2] / 100;\n\n\tconst l = g * (1.0 - c) + 0.5 * c;\n\tlet s = 0;\n\n\tif (l > 0.0 && l < 0.5) {\n\t\ts = c / (2 * l);\n\t} else\n\tif (l >= 0.5 && l < 1.0) {\n\t\ts = c / (2 * (1 - l));\n\t}\n\n\treturn [hcg[0], s * 100, l * 100];\n};\n\nconvert.hcg.hwb = function (hcg) {\n\tconst c = hcg[1] / 100;\n\tconst g = hcg[2] / 100;\n\tconst v = c + g * (1.0 - c);\n\treturn [hcg[0], (v - c) * 100, (1 - v) * 100];\n};\n\nconvert.hwb.hcg = function (hwb) {\n\tconst w = hwb[1] / 100;\n\tconst b = hwb[2] / 100;\n\tconst v = 1 - b;\n\tconst c = v - w;\n\tlet g = 0;\n\n\tif (c < 1) {\n\t\tg = (v - c) / (1 - c);\n\t}\n\n\treturn [hwb[0], c * 100, g * 100];\n};\n\nconvert.apple.rgb = function (apple) {\n\treturn [(apple[0] / 65535) * 255, (apple[1] / 65535) * 255, (apple[2] / 65535) * 255];\n};\n\nconvert.rgb.apple = function (rgb) {\n\treturn [(rgb[0] / 255) * 65535, (rgb[1] / 255) * 65535, (rgb[2] / 255) * 65535];\n};\n\nconvert.gray.rgb = function (args) {\n\treturn [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255];\n};\n\nconvert.gray.hsl = function (args) {\n\treturn [0, 0, args[0]];\n};\n\nconvert.gray.hsv = convert.gray.hsl;\n\nconvert.gray.hwb = function (gray) {\n\treturn [0, 100, gray[0]];\n};\n\nconvert.gray.cmyk = function (gray) {\n\treturn [0, 0, 0, gray[0]];\n};\n\nconvert.gray.lab = function (gray) {\n\treturn [gray[0], 0, 0];\n};\n\nconvert.gray.hex = function (gray) {\n\tconst val = Math.round(gray[0] / 100 * 255) & 0xFF;\n\tconst integer = (val << 16) + (val << 8) + val;\n\n\tconst string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.rgb.gray = function (rgb) {\n\tconst val = (rgb[0] + rgb[1] + rgb[2]) / 3;\n\treturn [val / 255 * 100];\n};\n","const conversions = require('./conversions');\nconst route = require('./route');\n\nconst convert = {};\n\nconst models = Object.keys(conversions);\n\nfunction wrapRaw(fn) {\n\tconst wrappedFn = function (...args) {\n\t\tconst arg0 = args[0];\n\t\tif (arg0 === undefined || arg0 === null) {\n\t\t\treturn arg0;\n\t\t}\n\n\t\tif (arg0.length > 1) {\n\t\t\targs = arg0;\n\t\t}\n\n\t\treturn fn(args);\n\t};\n\n\t// Preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nfunction wrapRounded(fn) {\n\tconst wrappedFn = function (...args) {\n\t\tconst arg0 = args[0];\n\n\t\tif (arg0 === undefined || arg0 === null) {\n\t\t\treturn arg0;\n\t\t}\n\n\t\tif (arg0.length > 1) {\n\t\t\targs = arg0;\n\t\t}\n\n\t\tconst result = fn(args);\n\n\t\t// We're assuming the result is an array here.\n\t\t// see notice in conversions.js; don't use box types\n\t\t// in conversion functions.\n\t\tif (typeof result === 'object') {\n\t\t\tfor (let len = result.length, i = 0; i < len; i++) {\n\t\t\t\tresult[i] = Math.round(result[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t};\n\n\t// Preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nmodels.forEach(fromModel => {\n\tconvert[fromModel] = {};\n\n\tObject.defineProperty(convert[fromModel], 'channels', {value: conversions[fromModel].channels});\n\tObject.defineProperty(convert[fromModel], 'labels', {value: conversions[fromModel].labels});\n\n\tconst routes = route(fromModel);\n\tconst routeModels = Object.keys(routes);\n\n\trouteModels.forEach(toModel => {\n\t\tconst fn = routes[toModel];\n\n\t\tconvert[fromModel][toModel] = wrapRounded(fn);\n\t\tconvert[fromModel][toModel].raw = wrapRaw(fn);\n\t});\n});\n\nmodule.exports = convert;\n","const conversions = require('./conversions');\n\n/*\n\tThis function routes a model to all other models.\n\n\tall functions that are routed have a property `.conversion` attached\n\tto the returned synthetic function. This property is an array\n\tof strings, each with the steps in between the 'from' and 'to'\n\tcolor models (inclusive).\n\n\tconversions that are not possible simply are not included.\n*/\n\nfunction buildGraph() {\n\tconst graph = {};\n\t// https://jsperf.com/object-keys-vs-for-in-with-closure/3\n\tconst models = Object.keys(conversions);\n\n\tfor (let len = models.length, i = 0; i < len; i++) {\n\t\tgraph[models[i]] = {\n\t\t\t// http://jsperf.com/1-vs-infinity\n\t\t\t// micro-opt, but this is simple.\n\t\t\tdistance: -1,\n\t\t\tparent: null\n\t\t};\n\t}\n\n\treturn graph;\n}\n\n// https://en.wikipedia.org/wiki/Breadth-first_search\nfunction deriveBFS(fromModel) {\n\tconst graph = buildGraph();\n\tconst queue = [fromModel]; // Unshift -> queue -> pop\n\n\tgraph[fromModel].distance = 0;\n\n\twhile (queue.length) {\n\t\tconst current = queue.pop();\n\t\tconst adjacents = Object.keys(conversions[current]);\n\n\t\tfor (let len = adjacents.length, i = 0; i < len; i++) {\n\t\t\tconst adjacent = adjacents[i];\n\t\t\tconst node = graph[adjacent];\n\n\t\t\tif (node.distance === -1) {\n\t\t\t\tnode.distance = graph[current].distance + 1;\n\t\t\t\tnode.parent = current;\n\t\t\t\tqueue.unshift(adjacent);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn graph;\n}\n\nfunction link(from, to) {\n\treturn function (args) {\n\t\treturn to(from(args));\n\t};\n}\n\nfunction wrapConversion(toModel, graph) {\n\tconst path = [graph[toModel].parent, toModel];\n\tlet fn = conversions[graph[toModel].parent][toModel];\n\n\tlet cur = graph[toModel].parent;\n\twhile (graph[cur].parent) {\n\t\tpath.unshift(graph[cur].parent);\n\t\tfn = link(conversions[graph[cur].parent][cur], fn);\n\t\tcur = graph[cur].parent;\n\t}\n\n\tfn.conversion = path;\n\treturn fn;\n}\n\nmodule.exports = function (fromModel) {\n\tconst graph = deriveBFS(fromModel);\n\tconst conversion = {};\n\n\tconst models = Object.keys(graph);\n\tfor (let len = models.length, i = 0; i < len; i++) {\n\t\tconst toModel = models[i];\n\t\tconst node = graph[toModel];\n\n\t\tif (node.parent === null) {\n\t\t\t// No possible conversion, or this node is the source model.\n\t\t\tcontinue;\n\t\t}\n\n\t\tconversion[toModel] = wrapConversion(toModel, graph);\n\t}\n\n\treturn conversion;\n};\n\n","'use strict'\r\n\r\nmodule.exports = {\r\n\t\"aliceblue\": [240, 248, 255],\r\n\t\"antiquewhite\": [250, 235, 215],\r\n\t\"aqua\": [0, 255, 255],\r\n\t\"aquamarine\": [127, 255, 212],\r\n\t\"azure\": [240, 255, 255],\r\n\t\"beige\": [245, 245, 220],\r\n\t\"bisque\": [255, 228, 196],\r\n\t\"black\": [0, 0, 0],\r\n\t\"blanchedalmond\": [255, 235, 205],\r\n\t\"blue\": [0, 0, 255],\r\n\t\"blueviolet\": [138, 43, 226],\r\n\t\"brown\": [165, 42, 42],\r\n\t\"burlywood\": [222, 184, 135],\r\n\t\"cadetblue\": [95, 158, 160],\r\n\t\"chartreuse\": [127, 255, 0],\r\n\t\"chocolate\": [210, 105, 30],\r\n\t\"coral\": [255, 127, 80],\r\n\t\"cornflowerblue\": [100, 149, 237],\r\n\t\"cornsilk\": [255, 248, 220],\r\n\t\"crimson\": [220, 20, 60],\r\n\t\"cyan\": [0, 255, 255],\r\n\t\"darkblue\": [0, 0, 139],\r\n\t\"darkcyan\": [0, 139, 139],\r\n\t\"darkgoldenrod\": [184, 134, 11],\r\n\t\"darkgray\": [169, 169, 169],\r\n\t\"darkgreen\": [0, 100, 0],\r\n\t\"darkgrey\": [169, 169, 169],\r\n\t\"darkkhaki\": [189, 183, 107],\r\n\t\"darkmagenta\": [139, 0, 139],\r\n\t\"darkolivegreen\": [85, 107, 47],\r\n\t\"darkorange\": [255, 140, 0],\r\n\t\"darkorchid\": [153, 50, 204],\r\n\t\"darkred\": [139, 0, 0],\r\n\t\"darksalmon\": [233, 150, 122],\r\n\t\"darkseagreen\": [143, 188, 143],\r\n\t\"darkslateblue\": [72, 61, 139],\r\n\t\"darkslategray\": [47, 79, 79],\r\n\t\"darkslategrey\": [47, 79, 79],\r\n\t\"darkturquoise\": [0, 206, 209],\r\n\t\"darkviolet\": [148, 0, 211],\r\n\t\"deeppink\": [255, 20, 147],\r\n\t\"deepskyblue\": [0, 191, 255],\r\n\t\"dimgray\": [105, 105, 105],\r\n\t\"dimgrey\": [105, 105, 105],\r\n\t\"dodgerblue\": [30, 144, 255],\r\n\t\"firebrick\": [178, 34, 34],\r\n\t\"floralwhite\": [255, 250, 240],\r\n\t\"forestgreen\": [34, 139, 34],\r\n\t\"fuchsia\": [255, 0, 255],\r\n\t\"gainsboro\": [220, 220, 220],\r\n\t\"ghostwhite\": [248, 248, 255],\r\n\t\"gold\": [255, 215, 0],\r\n\t\"goldenrod\": [218, 165, 32],\r\n\t\"gray\": [128, 128, 128],\r\n\t\"green\": [0, 128, 0],\r\n\t\"greenyellow\": [173, 255, 47],\r\n\t\"grey\": [128, 128, 128],\r\n\t\"honeydew\": [240, 255, 240],\r\n\t\"hotpink\": [255, 105, 180],\r\n\t\"indianred\": [205, 92, 92],\r\n\t\"indigo\": [75, 0, 130],\r\n\t\"ivory\": [255, 255, 240],\r\n\t\"khaki\": [240, 230, 140],\r\n\t\"lavender\": [230, 230, 250],\r\n\t\"lavenderblush\": [255, 240, 245],\r\n\t\"lawngreen\": [124, 252, 0],\r\n\t\"lemonchiffon\": [255, 250, 205],\r\n\t\"lightblue\": [173, 216, 230],\r\n\t\"lightcoral\": [240, 128, 128],\r\n\t\"lightcyan\": [224, 255, 255],\r\n\t\"lightgoldenrodyellow\": [250, 250, 210],\r\n\t\"lightgray\": [211, 211, 211],\r\n\t\"lightgreen\": [144, 238, 144],\r\n\t\"lightgrey\": [211, 211, 211],\r\n\t\"lightpink\": [255, 182, 193],\r\n\t\"lightsalmon\": [255, 160, 122],\r\n\t\"lightseagreen\": [32, 178, 170],\r\n\t\"lightskyblue\": [135, 206, 250],\r\n\t\"lightslategray\": [119, 136, 153],\r\n\t\"lightslategrey\": [119, 136, 153],\r\n\t\"lightsteelblue\": [176, 196, 222],\r\n\t\"lightyellow\": [255, 255, 224],\r\n\t\"lime\": [0, 255, 0],\r\n\t\"limegreen\": [50, 205, 50],\r\n\t\"linen\": [250, 240, 230],\r\n\t\"magenta\": [255, 0, 255],\r\n\t\"maroon\": [128, 0, 0],\r\n\t\"mediumaquamarine\": [102, 205, 170],\r\n\t\"mediumblue\": [0, 0, 205],\r\n\t\"mediumorchid\": [186, 85, 211],\r\n\t\"mediumpurple\": [147, 112, 219],\r\n\t\"mediumseagreen\": [60, 179, 113],\r\n\t\"mediumslateblue\": [123, 104, 238],\r\n\t\"mediumspringgreen\": [0, 250, 154],\r\n\t\"mediumturquoise\": [72, 209, 204],\r\n\t\"mediumvioletred\": [199, 21, 133],\r\n\t\"midnightblue\": [25, 25, 112],\r\n\t\"mintcream\": [245, 255, 250],\r\n\t\"mistyrose\": [255, 228, 225],\r\n\t\"moccasin\": [255, 228, 181],\r\n\t\"navajowhite\": [255, 222, 173],\r\n\t\"navy\": [0, 0, 128],\r\n\t\"oldlace\": [253, 245, 230],\r\n\t\"olive\": [128, 128, 0],\r\n\t\"olivedrab\": [107, 142, 35],\r\n\t\"orange\": [255, 165, 0],\r\n\t\"orangered\": [255, 69, 0],\r\n\t\"orchid\": [218, 112, 214],\r\n\t\"palegoldenrod\": [238, 232, 170],\r\n\t\"palegreen\": [152, 251, 152],\r\n\t\"paleturquoise\": [175, 238, 238],\r\n\t\"palevioletred\": [219, 112, 147],\r\n\t\"papayawhip\": [255, 239, 213],\r\n\t\"peachpuff\": [255, 218, 185],\r\n\t\"peru\": [205, 133, 63],\r\n\t\"pink\": [255, 192, 203],\r\n\t\"plum\": [221, 160, 221],\r\n\t\"powderblue\": [176, 224, 230],\r\n\t\"purple\": [128, 0, 128],\r\n\t\"rebeccapurple\": [102, 51, 153],\r\n\t\"red\": [255, 0, 0],\r\n\t\"rosybrown\": [188, 143, 143],\r\n\t\"royalblue\": [65, 105, 225],\r\n\t\"saddlebrown\": [139, 69, 19],\r\n\t\"salmon\": [250, 128, 114],\r\n\t\"sandybrown\": [244, 164, 96],\r\n\t\"seagreen\": [46, 139, 87],\r\n\t\"seashell\": [255, 245, 238],\r\n\t\"sienna\": [160, 82, 45],\r\n\t\"silver\": [192, 192, 192],\r\n\t\"skyblue\": [135, 206, 235],\r\n\t\"slateblue\": [106, 90, 205],\r\n\t\"slategray\": [112, 128, 144],\r\n\t\"slategrey\": [112, 128, 144],\r\n\t\"snow\": [255, 250, 250],\r\n\t\"springgreen\": [0, 255, 127],\r\n\t\"steelblue\": [70, 130, 180],\r\n\t\"tan\": [210, 180, 140],\r\n\t\"teal\": [0, 128, 128],\r\n\t\"thistle\": [216, 191, 216],\r\n\t\"tomato\": [255, 99, 71],\r\n\t\"turquoise\": [64, 224, 208],\r\n\t\"violet\": [238, 130, 238],\r\n\t\"wheat\": [245, 222, 179],\r\n\t\"white\": [255, 255, 255],\r\n\t\"whitesmoke\": [245, 245, 245],\r\n\t\"yellow\": [255, 255, 0],\r\n\t\"yellowgreen\": [154, 205, 50]\r\n};\r\n","module.exports = function deepFreeze (o) {\n Object.freeze(o);\n\n Object.getOwnPropertyNames(o).forEach(function (prop) {\n if (o.hasOwnProperty(prop)\n && o[prop] !== null\n && (typeof o[prop] === \"object\" || typeof o[prop] === \"function\")\n && !Object.isFrozen(o[prop])) {\n deepFreeze(o[prop]);\n }\n });\n \n return o;\n};\n","'use strict';\n\nvar has = Object.prototype.hasOwnProperty\n , prefix = '~';\n\n/**\n * Constructor to create a storage for our `EE` objects.\n * An `Events` instance is a plain object whose properties are event names.\n *\n * @constructor\n * @private\n */\nfunction Events() {}\n\n//\n// We try to not inherit from `Object.prototype`. In some engines creating an\n// instance in this way is faster than calling `Object.create(null)` directly.\n// If `Object.create(null)` is not supported we prefix the event names with a\n// character to make sure that the built-in object properties are not\n// overridden or used as an attack vector.\n//\nif (Object.create) {\n Events.prototype = Object.create(null);\n\n //\n // This hack is needed because the `__proto__` property is still inherited in\n // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n //\n if (!new Events().__proto__) prefix = false;\n}\n\n/**\n * Representation of a single event listener.\n *\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n * @constructor\n * @private\n */\nfunction EE(fn, context, once) {\n this.fn = fn;\n this.context = context;\n this.once = once || false;\n}\n\n/**\n * Add a listener for a given event.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} once Specify if the listener is a one-time listener.\n * @returns {EventEmitter}\n * @private\n */\nfunction addListener(emitter, event, fn, context, once) {\n if (typeof fn !== 'function') {\n throw new TypeError('The listener must be a function');\n }\n\n var listener = new EE(fn, context || emitter, once)\n , evt = prefix ? prefix + event : event;\n\n if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;\n else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);\n else emitter._events[evt] = [emitter._events[evt], listener];\n\n return emitter;\n}\n\n/**\n * Clear event by name.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} evt The Event name.\n * @private\n */\nfunction clearEvent(emitter, evt) {\n if (--emitter._eventsCount === 0) emitter._events = new Events();\n else delete emitter._events[evt];\n}\n\n/**\n * Minimal `EventEmitter` interface that is molded against the Node.js\n * `EventEmitter` interface.\n *\n * @constructor\n * @public\n */\nfunction EventEmitter() {\n this._events = new Events();\n this._eventsCount = 0;\n}\n\n/**\n * Return an array listing the events for which the emitter has registered\n * listeners.\n *\n * @returns {Array}\n * @public\n */\nEventEmitter.prototype.eventNames = function eventNames() {\n var names = []\n , events\n , name;\n\n if (this._eventsCount === 0) return names;\n\n for (name in (events = this._events)) {\n if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n }\n\n if (Object.getOwnPropertySymbols) {\n return names.concat(Object.getOwnPropertySymbols(events));\n }\n\n return names;\n};\n\n/**\n * Return the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Array} The registered listeners.\n * @public\n */\nEventEmitter.prototype.listeners = function listeners(event) {\n var evt = prefix ? prefix + event : event\n , handlers = this._events[evt];\n\n if (!handlers) return [];\n if (handlers.fn) return [handlers.fn];\n\n for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {\n ee[i] = handlers[i].fn;\n }\n\n return ee;\n};\n\n/**\n * Return the number of listeners listening to a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Number} The number of listeners.\n * @public\n */\nEventEmitter.prototype.listenerCount = function listenerCount(event) {\n var evt = prefix ? prefix + event : event\n , listeners = this._events[evt];\n\n if (!listeners) return 0;\n if (listeners.fn) return 1;\n return listeners.length;\n};\n\n/**\n * Calls each of the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Boolean} `true` if the event had listeners, else `false`.\n * @public\n */\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return false;\n\n var listeners = this._events[evt]\n , len = arguments.length\n , args\n , i;\n\n if (listeners.fn) {\n if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n switch (len) {\n case 1: return listeners.fn.call(listeners.context), true;\n case 2: return listeners.fn.call(listeners.context, a1), true;\n case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n }\n\n for (i = 1, args = new Array(len -1); i < len; i++) {\n args[i - 1] = arguments[i];\n }\n\n listeners.fn.apply(listeners.context, args);\n } else {\n var length = listeners.length\n , j;\n\n for (i = 0; i < length; i++) {\n if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n switch (len) {\n case 1: listeners[i].fn.call(listeners[i].context); break;\n case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\n default:\n if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n args[j - 1] = arguments[j];\n }\n\n listeners[i].fn.apply(listeners[i].context, args);\n }\n }\n }\n\n return true;\n};\n\n/**\n * Add a listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.on = function on(event, fn, context) {\n return addListener(this, event, fn, context, false);\n};\n\n/**\n * Add a one-time listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.once = function once(event, fn, context) {\n return addListener(this, event, fn, context, true);\n};\n\n/**\n * Remove the listeners of a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn Only remove the listeners that match this function.\n * @param {*} context Only remove the listeners that have this context.\n * @param {Boolean} once Only remove one-time listeners.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return this;\n if (!fn) {\n clearEvent(this, evt);\n return this;\n }\n\n var listeners = this._events[evt];\n\n if (listeners.fn) {\n if (\n listeners.fn === fn &&\n (!once || listeners.once) &&\n (!context || listeners.context === context)\n ) {\n clearEvent(this, evt);\n }\n } else {\n for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n if (\n listeners[i].fn !== fn ||\n (once && !listeners[i].once) ||\n (context && listeners[i].context !== context)\n ) {\n events.push(listeners[i]);\n }\n }\n\n //\n // Reset the array, or remove it completely if we have no more listeners.\n //\n if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n else clearEvent(this, evt);\n }\n\n return this;\n};\n\n/**\n * Remove all listeners, or those of the specified event.\n *\n * @param {(String|Symbol)} [event] The event name.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n var evt;\n\n if (event) {\n evt = prefix ? prefix + event : event;\n if (this._events[evt]) clearEvent(this, evt);\n } else {\n this._events = new Events();\n this._eventsCount = 0;\n }\n\n return this;\n};\n\n//\n// Alias methods names because people roll like that.\n//\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n//\n// Expose the prefix.\n//\nEventEmitter.prefixed = prefix;\n\n//\n// Allow `EventEmitter` to be imported as module namespace.\n//\nEventEmitter.EventEmitter = EventEmitter;\n\n//\n// Expose the module.\n//\nif ('undefined' !== typeof module) {\n module.exports = EventEmitter;\n}\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.default = filterInvalidDOMProps;\n\nvar _htmlAttributes = require(\"html-attributes\");\n\nvar _htmlAttributes2 = _interopRequireDefault(_htmlAttributes);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar eventProps = {\n\tonCopy: true,\n\tonCut: true,\n\tonPaste: true,\n\tonLoad: true,\n\tonError: true,\n\tonWheel: true,\n\tonScroll: true,\n\tonCompositionEnd: true,\n\tonCompositionStart: true,\n\tonCompositionUpdate: true,\n\tonKeyDown: true,\n\tonKeyPress: true,\n\tonKeyUp: true,\n\tonFocus: true,\n\tonBlur: true,\n\tonChange: true,\n\tonInput: true,\n\tonSubmit: true,\n\tonClick: true,\n\tonContextMenu: true,\n\tonDoubleClick: true,\n\tonDrag: true,\n\tonDragEnd: true,\n\tonDragEnter: true,\n\tonDragExit: true,\n\tonDragLeave: true,\n\tonDragOver: true,\n\tonDragStart: true,\n\tonDrop: true,\n\tonMouseDown: true,\n\tonMouseEnter: true,\n\tonMouseLeave: true,\n\tonMouseMove: true,\n\tonMouseOut: true,\n\tonMouseOver: true,\n\tonMouseUp: true,\n\tonSelect: true,\n\tonTouchCancel: true,\n\tonTouchEnd: true,\n\tonTouchMove: true,\n\tonTouchStart: true,\n\tonAnimationStart: true,\n\tonAnimationEnd: true,\n\tonAnimationIteration: true,\n\tonTransitionEnd: true\n};\n\nfunction isValidDOMProp(prop) {\n\treturn eventProps[prop] || _htmlAttributes2.default[prop] || /^(data|aria)-/.test(prop);\n}\n\nfunction filterInvalidDOMProps(props) {\n\tvar domProps = {};\n\tfor (var prop in props) {\n\t\tif (props.hasOwnProperty(prop) && isValidDOMProp(prop)) {\n\t\t\tdomProps[prop] = props[prop];\n\t\t}\n\t}\n\treturn domProps;\n}","var hat = module.exports = function (bits, base) {\n if (!base) base = 16;\n if (bits === undefined) bits = 128;\n if (bits <= 0) return '0';\n \n var digits = Math.log(Math.pow(2, bits)) / Math.log(base);\n for (var i = 2; digits === Infinity; i *= 2) {\n digits = Math.log(Math.pow(2, bits / i)) / Math.log(base) * i;\n }\n \n var rem = digits - Math.floor(digits);\n \n var res = '';\n \n for (var i = 0; i < Math.floor(digits); i++) {\n var x = Math.floor(Math.random() * base).toString(base);\n res = x + res;\n }\n \n if (rem) {\n var b = Math.pow(base, rem);\n var x = Math.floor(Math.random() * b).toString(base);\n res = x + res;\n }\n \n var parsed = parseInt(res, base);\n if (parsed !== Infinity && parsed >= Math.pow(2, bits)) {\n return hat(bits, base)\n }\n else return res;\n};\n\nhat.rack = function (bits, base, expandBy) {\n var fn = function (data) {\n var iters = 0;\n do {\n if (iters ++ > 10) {\n if (expandBy) bits += expandBy;\n else throw new Error('too many ID collisions, use more bits')\n }\n \n var id = hat(bits, base);\n } while (Object.hasOwnProperty.call(hats, id));\n \n hats[id] = data;\n return id;\n };\n var hats = fn.hats = {};\n \n fn.get = function (id) {\n return fn.hats[id];\n };\n \n fn.set = function (id, value) {\n fn.hats[id] = value;\n return fn;\n };\n \n fn.bits = bits || 128;\n fn.base = base || 16;\n return fn;\n};\n","(function __HLS_WORKER_BUNDLE__(__IN_WORKER__){\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Hls = factory());\n})(this, (function () { 'use strict';\n\n function ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n }\n function _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n _defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n }\n function _toPrimitive(t, r) {\n if (\"object\" != typeof t || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n }\n function _toPropertyKey(t) {\n var i = _toPrimitive(t, \"string\");\n return \"symbol\" == typeof i ? i : String(i);\n }\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);\n }\n }\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n }\n function _defineProperty(obj, key, value) {\n key = _toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n }\n function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n }\n function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n _setPrototypeOf(subClass, superClass);\n }\n function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n }\n function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n }\n function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n }\n function _construct(Parent, args, Class) {\n if (_isNativeReflectConstruct()) {\n _construct = Reflect.construct.bind();\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) _setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n return _construct.apply(null, arguments);\n }\n function _isNativeFunction(fn) {\n try {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n } catch (e) {\n return typeof fn === \"function\";\n }\n }\n function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !_isNativeFunction(Class)) return Class;\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return _construct(Class, arguments, _getPrototypeOf(this).constructor);\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return _setPrototypeOf(Wrapper, Class);\n };\n return _wrapNativeSuper(Class);\n }\n function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n }\n function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n }\n function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n }\n function _createForOfIteratorHelperLoose(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n if (it) return (it = it.call(o)).next.bind(it);\n if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n return function () {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n };\n }\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n function getDefaultExportFromCjs (x) {\n \treturn x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;\n }\n\n var urlToolkit = {exports: {}};\n\n (function (module, exports) {\n \t// see https://tools.ietf.org/html/rfc1808\n\n \t(function (root) {\n \t var URL_REGEX =\n \t /^(?=((?:[a-zA-Z0-9+\\-.]+:)?))\\1(?=((?:\\/\\/[^\\/?#]*)?))\\2(?=((?:(?:[^?#\\/]*\\/)*[^;?#\\/]*)?))\\3((?:;[^?#]*)?)(\\?[^#]*)?(#[^]*)?$/;\n \t var FIRST_SEGMENT_REGEX = /^(?=([^\\/?#]*))\\1([^]*)$/;\n \t var SLASH_DOT_REGEX = /(?:\\/|^)\\.(?=\\/)/g;\n \t var SLASH_DOT_DOT_REGEX = /(?:\\/|^)\\.\\.\\/(?!\\.\\.\\/)[^\\/]*(?=\\/)/g;\n\n \t var URLToolkit = {\n \t // If opts.alwaysNormalize is true then the path will always be normalized even when it starts with / or //\n \t // E.g\n \t // With opts.alwaysNormalize = false (default, spec compliant)\n \t // http://a.com/b/cd + /e/f/../g => http://a.com/e/f/../g\n \t // With opts.alwaysNormalize = true (not spec compliant)\n \t // http://a.com/b/cd + /e/f/../g => http://a.com/e/g\n \t buildAbsoluteURL: function (baseURL, relativeURL, opts) {\n \t opts = opts || {};\n \t // remove any remaining space and CRLF\n \t baseURL = baseURL.trim();\n \t relativeURL = relativeURL.trim();\n \t if (!relativeURL) {\n \t // 2a) If the embedded URL is entirely empty, it inherits the\n \t // entire base URL (i.e., is set equal to the base URL)\n \t // and we are done.\n \t if (!opts.alwaysNormalize) {\n \t return baseURL;\n \t }\n \t var basePartsForNormalise = URLToolkit.parseURL(baseURL);\n \t if (!basePartsForNormalise) {\n \t throw new Error('Error trying to parse base URL.');\n \t }\n \t basePartsForNormalise.path = URLToolkit.normalizePath(\n \t basePartsForNormalise.path\n \t );\n \t return URLToolkit.buildURLFromParts(basePartsForNormalise);\n \t }\n \t var relativeParts = URLToolkit.parseURL(relativeURL);\n \t if (!relativeParts) {\n \t throw new Error('Error trying to parse relative URL.');\n \t }\n \t if (relativeParts.scheme) {\n \t // 2b) If the embedded URL starts with a scheme name, it is\n \t // interpreted as an absolute URL and we are done.\n \t if (!opts.alwaysNormalize) {\n \t return relativeURL;\n \t }\n \t relativeParts.path = URLToolkit.normalizePath(relativeParts.path);\n \t return URLToolkit.buildURLFromParts(relativeParts);\n \t }\n \t var baseParts = URLToolkit.parseURL(baseURL);\n \t if (!baseParts) {\n \t throw new Error('Error trying to parse base URL.');\n \t }\n \t if (!baseParts.netLoc && baseParts.path && baseParts.path[0] !== '/') {\n \t // If netLoc missing and path doesn't start with '/', assume everthing before the first '/' is the netLoc\n \t // This causes 'example.com/a' to be handled as '//example.com/a' instead of '/example.com/a'\n \t var pathParts = FIRST_SEGMENT_REGEX.exec(baseParts.path);\n \t baseParts.netLoc = pathParts[1];\n \t baseParts.path = pathParts[2];\n \t }\n \t if (baseParts.netLoc && !baseParts.path) {\n \t baseParts.path = '/';\n \t }\n \t var builtParts = {\n \t // 2c) Otherwise, the embedded URL inherits the scheme of\n \t // the base URL.\n \t scheme: baseParts.scheme,\n \t netLoc: relativeParts.netLoc,\n \t path: null,\n \t params: relativeParts.params,\n \t query: relativeParts.query,\n \t fragment: relativeParts.fragment,\n \t };\n \t if (!relativeParts.netLoc) {\n \t // 3) If the embedded URL's <net_loc> is non-empty, we skip to\n \t // Step 7. Otherwise, the embedded URL inherits the <net_loc>\n \t // (if any) of the base URL.\n \t builtParts.netLoc = baseParts.netLoc;\n \t // 4) If the embedded URL path is preceded by a slash \"/\", the\n \t // path is not relative and we skip to Step 7.\n \t if (relativeParts.path[0] !== '/') {\n \t if (!relativeParts.path) {\n \t // 5) If the embedded URL path is empty (and not preceded by a\n \t // slash), then the embedded URL inherits the base URL path\n \t builtParts.path = baseParts.path;\n \t // 5a) if the embedded URL's <params> is non-empty, we skip to\n \t // step 7; otherwise, it inherits the <params> of the base\n \t // URL (if any) and\n \t if (!relativeParts.params) {\n \t builtParts.params = baseParts.params;\n \t // 5b) if the embedded URL's <query> is non-empty, we skip to\n \t // step 7; otherwise, it inherits the <query> of the base\n \t // URL (if any) and we skip to step 7.\n \t if (!relativeParts.query) {\n \t builtParts.query = baseParts.query;\n \t }\n \t }\n \t } else {\n \t // 6) The last segment of the base URL's path (anything\n \t // following the rightmost slash \"/\", or the entire path if no\n \t // slash is present) is removed and the embedded URL's path is\n \t // appended in its place.\n \t var baseURLPath = baseParts.path;\n \t var newPath =\n \t baseURLPath.substring(0, baseURLPath.lastIndexOf('/') + 1) +\n \t relativeParts.path;\n \t builtParts.path = URLToolkit.normalizePath(newPath);\n \t }\n \t }\n \t }\n \t if (builtParts.path === null) {\n \t builtParts.path = opts.alwaysNormalize\n \t ? URLToolkit.normalizePath(relativeParts.path)\n \t : relativeParts.path;\n \t }\n \t return URLToolkit.buildURLFromParts(builtParts);\n \t },\n \t parseURL: function (url) {\n \t var parts = URL_REGEX.exec(url);\n \t if (!parts) {\n \t return null;\n \t }\n \t return {\n \t scheme: parts[1] || '',\n \t netLoc: parts[2] || '',\n \t path: parts[3] || '',\n \t params: parts[4] || '',\n \t query: parts[5] || '',\n \t fragment: parts[6] || '',\n \t };\n \t },\n \t normalizePath: function (path) {\n \t // The following operations are\n \t // then applied, in order, to the new path:\n \t // 6a) All occurrences of \"./\", where \".\" is a complete path\n \t // segment, are removed.\n \t // 6b) If the path ends with \".\" as a complete path segment,\n \t // that \".\" is removed.\n \t path = path.split('').reverse().join('').replace(SLASH_DOT_REGEX, '');\n \t // 6c) All occurrences of \"<segment>/../\", where <segment> is a\n \t // complete path segment not equal to \"..\", are removed.\n \t // Removal of these path segments is performed iteratively,\n \t // removing the leftmost matching pattern on each iteration,\n \t // until no matching pattern remains.\n \t // 6d) If the path ends with \"<segment>/..\", where <segment> is a\n \t // complete path segment not equal to \"..\", that\n \t // \"<segment>/..\" is removed.\n \t while (\n \t path.length !== (path = path.replace(SLASH_DOT_DOT_REGEX, '')).length\n \t ) {}\n \t return path.split('').reverse().join('');\n \t },\n \t buildURLFromParts: function (parts) {\n \t return (\n \t parts.scheme +\n \t parts.netLoc +\n \t parts.path +\n \t parts.params +\n \t parts.query +\n \t parts.fragment\n \t );\n \t },\n \t };\n\n \t module.exports = URLToolkit;\n \t})(); \n } (urlToolkit));\n\n var urlToolkitExports = urlToolkit.exports;\n\n // https://caniuse.com/mdn-javascript_builtins_number_isfinite\n var isFiniteNumber = Number.isFinite || function (value) {\n return typeof value === 'number' && isFinite(value);\n };\n\n // https://caniuse.com/mdn-javascript_builtins_number_issafeinteger\n var isSafeInteger = Number.isSafeInteger || function (value) {\n return typeof value === 'number' && Math.abs(value) <= MAX_SAFE_INTEGER;\n };\n var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991;\n\n var Events = /*#__PURE__*/function (Events) {\n Events[\"MEDIA_ATTACHING\"] = \"hlsMediaAttaching\";\n Events[\"MEDIA_ATTACHED\"] = \"hlsMediaAttached\";\n Events[\"MEDIA_DETACHING\"] = \"hlsMediaDetaching\";\n Events[\"MEDIA_DETACHED\"] = \"hlsMediaDetached\";\n Events[\"BUFFER_RESET\"] = \"hlsBufferReset\";\n Events[\"BUFFER_CODECS\"] = \"hlsBufferCodecs\";\n Events[\"BUFFER_CREATED\"] = \"hlsBufferCreated\";\n Events[\"BUFFER_APPENDING\"] = \"hlsBufferAppending\";\n Events[\"BUFFER_APPENDED\"] = \"hlsBufferAppended\";\n Events[\"BUFFER_EOS\"] = \"hlsBufferEos\";\n Events[\"BUFFER_FLUSHING\"] = \"hlsBufferFlushing\";\n Events[\"BUFFER_FLUSHED\"] = \"hlsBufferFlushed\";\n Events[\"MANIFEST_LOADING\"] = \"hlsManifestLoading\";\n Events[\"MANIFEST_LOADED\"] = \"hlsManifestLoaded\";\n Events[\"MANIFEST_PARSED\"] = \"hlsManifestParsed\";\n Events[\"LEVEL_SWITCHING\"] = \"hlsLevelSwitching\";\n Events[\"LEVEL_SWITCHED\"] = \"hlsLevelSwitched\";\n Events[\"LEVEL_LOADING\"] = \"hlsLevelLoading\";\n Events[\"LEVEL_LOADED\"] = \"hlsLevelLoaded\";\n Events[\"LEVEL_UPDATED\"] = \"hlsLevelUpdated\";\n Events[\"LEVEL_PTS_UPDATED\"] = \"hlsLevelPtsUpdated\";\n Events[\"LEVELS_UPDATED\"] = \"hlsLevelsUpdated\";\n Events[\"AUDIO_TRACKS_UPDATED\"] = \"hlsAudioTracksUpdated\";\n Events[\"AUDIO_TRACK_SWITCHING\"] = \"hlsAudioTrackSwitching\";\n Events[\"AUDIO_TRACK_SWITCHED\"] = \"hlsAudioTrackSwitched\";\n Events[\"AUDIO_TRACK_LOADING\"] = \"hlsAudioTrackLoading\";\n Events[\"AUDIO_TRACK_LOADED\"] = \"hlsAudioTrackLoaded\";\n Events[\"SUBTITLE_TRACKS_UPDATED\"] = \"hlsSubtitleTracksUpdated\";\n Events[\"SUBTITLE_TRACKS_CLEARED\"] = \"hlsSubtitleTracksCleared\";\n Events[\"SUBTITLE_TRACK_SWITCH\"] = \"hlsSubtitleTrackSwitch\";\n Events[\"SUBTITLE_TRACK_LOADING\"] = \"hlsSubtitleTrackLoading\";\n Events[\"SUBTITLE_TRACK_LOADED\"] = \"hlsSubtitleTrackLoaded\";\n Events[\"SUBTITLE_FRAG_PROCESSED\"] = \"hlsSubtitleFragProcessed\";\n Events[\"CUES_PARSED\"] = \"hlsCuesParsed\";\n Events[\"NON_NATIVE_TEXT_TRACKS_FOUND\"] = \"hlsNonNativeTextTracksFound\";\n Events[\"INIT_PTS_FOUND\"] = \"hlsInitPtsFound\";\n Events[\"FRAG_LOADING\"] = \"hlsFragLoading\";\n Events[\"FRAG_LOAD_EMERGENCY_ABORTED\"] = \"hlsFragLoadEmergencyAborted\";\n Events[\"FRAG_LOADED\"] = \"hlsFragLoaded\";\n Events[\"FRAG_DECRYPTED\"] = \"hlsFragDecrypted\";\n Events[\"FRAG_PARSING_INIT_SEGMENT\"] = \"hlsFragParsingInitSegment\";\n Events[\"FRAG_PARSING_USERDATA\"] = \"hlsFragParsingUserdata\";\n Events[\"FRAG_PARSING_METADATA\"] = \"hlsFragParsingMetadata\";\n Events[\"FRAG_PARSED\"] = \"hlsFragParsed\";\n Events[\"FRAG_BUFFERED\"] = \"hlsFragBuffered\";\n Events[\"FRAG_CHANGED\"] = \"hlsFragChanged\";\n Events[\"FPS_DROP\"] = \"hlsFpsDrop\";\n Events[\"FPS_DROP_LEVEL_CAPPING\"] = \"hlsFpsDropLevelCapping\";\n Events[\"MAX_AUTO_LEVEL_UPDATED\"] = \"hlsMaxAutoLevelUpdated\";\n Events[\"ERROR\"] = \"hlsError\";\n Events[\"DESTROYING\"] = \"hlsDestroying\";\n Events[\"KEY_LOADING\"] = \"hlsKeyLoading\";\n Events[\"KEY_LOADED\"] = \"hlsKeyLoaded\";\n Events[\"LIVE_BACK_BUFFER_REACHED\"] = \"hlsLiveBackBufferReached\";\n Events[\"BACK_BUFFER_REACHED\"] = \"hlsBackBufferReached\";\n Events[\"STEERING_MANIFEST_LOADED\"] = \"hlsSteeringManifestLoaded\";\n return Events;\n }({});\n\n /**\n * Defines each Event type and payload by Event name. Used in {@link hls.js#HlsEventEmitter} to strongly type the event listener API.\n */\n\n var ErrorTypes = /*#__PURE__*/function (ErrorTypes) {\n ErrorTypes[\"NETWORK_ERROR\"] = \"networkError\";\n ErrorTypes[\"MEDIA_ERROR\"] = \"mediaError\";\n ErrorTypes[\"KEY_SYSTEM_ERROR\"] = \"keySystemError\";\n ErrorTypes[\"MUX_ERROR\"] = \"muxError\";\n ErrorTypes[\"OTHER_ERROR\"] = \"otherError\";\n return ErrorTypes;\n }({});\n var ErrorDetails = /*#__PURE__*/function (ErrorDetails) {\n ErrorDetails[\"KEY_SYSTEM_NO_KEYS\"] = \"keySystemNoKeys\";\n ErrorDetails[\"KEY_SYSTEM_NO_ACCESS\"] = \"keySystemNoAccess\";\n ErrorDetails[\"KEY_SYSTEM_NO_SESSION\"] = \"keySystemNoSession\";\n ErrorDetails[\"KEY_SYSTEM_NO_CONFIGURED_LICENSE\"] = \"keySystemNoConfiguredLicense\";\n ErrorDetails[\"KEY_SYSTEM_LICENSE_REQUEST_FAILED\"] = \"keySystemLicenseRequestFailed\";\n ErrorDetails[\"KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED\"] = \"keySystemServerCertificateRequestFailed\";\n ErrorDetails[\"KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED\"] = \"keySystemServerCertificateUpdateFailed\";\n ErrorDetails[\"KEY_SYSTEM_SESSION_UPDATE_FAILED\"] = \"keySystemSessionUpdateFailed\";\n ErrorDetails[\"KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED\"] = \"keySystemStatusOutputRestricted\";\n ErrorDetails[\"KEY_SYSTEM_STATUS_INTERNAL_ERROR\"] = \"keySystemStatusInternalError\";\n ErrorDetails[\"MANIFEST_LOAD_ERROR\"] = \"manifestLoadError\";\n ErrorDetails[\"MANIFEST_LOAD_TIMEOUT\"] = \"manifestLoadTimeOut\";\n ErrorDetails[\"MANIFEST_PARSING_ERROR\"] = \"manifestParsingError\";\n ErrorDetails[\"MANIFEST_INCOMPATIBLE_CODECS_ERROR\"] = \"manifestIncompatibleCodecsError\";\n ErrorDetails[\"LEVEL_EMPTY_ERROR\"] = \"levelEmptyError\";\n ErrorDetails[\"LEVEL_LOAD_ERROR\"] = \"levelLoadError\";\n ErrorDetails[\"LEVEL_LOAD_TIMEOUT\"] = \"levelLoadTimeOut\";\n ErrorDetails[\"LEVEL_PARSING_ERROR\"] = \"levelParsingError\";\n ErrorDetails[\"LEVEL_SWITCH_ERROR\"] = \"levelSwitchError\";\n ErrorDetails[\"AUDIO_TRACK_LOAD_ERROR\"] = \"audioTrackLoadError\";\n ErrorDetails[\"AUDIO_TRACK_LOAD_TIMEOUT\"] = \"audioTrackLoadTimeOut\";\n ErrorDetails[\"SUBTITLE_LOAD_ERROR\"] = \"subtitleTrackLoadError\";\n ErrorDetails[\"SUBTITLE_TRACK_LOAD_TIMEOUT\"] = \"subtitleTrackLoadTimeOut\";\n ErrorDetails[\"FRAG_LOAD_ERROR\"] = \"fragLoadError\";\n ErrorDetails[\"FRAG_LOAD_TIMEOUT\"] = \"fragLoadTimeOut\";\n ErrorDetails[\"FRAG_DECRYPT_ERROR\"] = \"fragDecryptError\";\n ErrorDetails[\"FRAG_PARSING_ERROR\"] = \"fragParsingError\";\n ErrorDetails[\"FRAG_GAP\"] = \"fragGap\";\n ErrorDetails[\"REMUX_ALLOC_ERROR\"] = \"remuxAllocError\";\n ErrorDetails[\"KEY_LOAD_ERROR\"] = \"keyLoadError\";\n ErrorDetails[\"KEY_LOAD_TIMEOUT\"] = \"keyLoadTimeOut\";\n ErrorDetails[\"BUFFER_ADD_CODEC_ERROR\"] = \"bufferAddCodecError\";\n ErrorDetails[\"BUFFER_INCOMPATIBLE_CODECS_ERROR\"] = \"bufferIncompatibleCodecsError\";\n ErrorDetails[\"BUFFER_APPEND_ERROR\"] = \"bufferAppendError\";\n ErrorDetails[\"BUFFER_APPENDING_ERROR\"] = \"bufferAppendingError\";\n ErrorDetails[\"BUFFER_STALLED_ERROR\"] = \"bufferStalledError\";\n ErrorDetails[\"BUFFER_FULL_ERROR\"] = \"bufferFullError\";\n ErrorDetails[\"BUFFER_SEEK_OVER_HOLE\"] = \"bufferSeekOverHole\";\n ErrorDetails[\"BUFFER_NUDGE_ON_STALL\"] = \"bufferNudgeOnStall\";\n ErrorDetails[\"INTERNAL_EXCEPTION\"] = \"internalException\";\n ErrorDetails[\"INTERNAL_ABORTED\"] = \"aborted\";\n ErrorDetails[\"UNKNOWN\"] = \"unknown\";\n return ErrorDetails;\n }({});\n\n var noop = function noop() {};\n var fakeLogger = {\n trace: noop,\n debug: noop,\n log: noop,\n warn: noop,\n info: noop,\n error: noop\n };\n var exportedLogger = fakeLogger;\n\n // let lastCallTime;\n // function formatMsgWithTimeInfo(type, msg) {\n // const now = Date.now();\n // const diff = lastCallTime ? '+' + (now - lastCallTime) : '0';\n // lastCallTime = now;\n // msg = (new Date(now)).toISOString() + ' | [' + type + '] > ' + msg + ' ( ' + diff + ' ms )';\n // return msg;\n // }\n\n function consolePrintFn(type) {\n var func = self.console[type];\n if (func) {\n return func.bind(self.console, \"[\" + type + \"] >\");\n }\n return noop;\n }\n function exportLoggerFunctions(debugConfig) {\n for (var _len = arguments.length, functions = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n functions[_key - 1] = arguments[_key];\n }\n functions.forEach(function (type) {\n exportedLogger[type] = debugConfig[type] ? debugConfig[type].bind(debugConfig) : consolePrintFn(type);\n });\n }\n function enableLogs(debugConfig, id) {\n // check that console is available\n if (typeof console === 'object' && debugConfig === true || typeof debugConfig === 'object') {\n exportLoggerFunctions(debugConfig,\n // Remove out from list here to hard-disable a log-level\n // 'trace',\n 'debug', 'log', 'info', 'warn', 'error');\n // Some browsers don't allow to use bind on console object anyway\n // fallback to default if needed\n try {\n exportedLogger.log(\"Debug logs enabled for \\\"\" + id + \"\\\" in hls.js version \" + \"1.5.5-0.canary.9893\");\n } catch (e) {\n exportedLogger = fakeLogger;\n }\n } else {\n exportedLogger = fakeLogger;\n }\n }\n var logger = exportedLogger;\n\n var DECIMAL_RESOLUTION_REGEX = /^(\\d+)x(\\d+)$/;\n var ATTR_LIST_REGEX = /(.+?)=(\".*?\"|.*?)(?:,|$)/g;\n\n // adapted from https://github.com/kanongil/node-m3u8parse/blob/master/attrlist.js\n var AttrList = /*#__PURE__*/function () {\n function AttrList(attrs) {\n if (typeof attrs === 'string') {\n attrs = AttrList.parseAttrList(attrs);\n }\n _extends(this, attrs);\n }\n var _proto = AttrList.prototype;\n _proto.decimalInteger = function decimalInteger(attrName) {\n var intValue = parseInt(this[attrName], 10);\n if (intValue > Number.MAX_SAFE_INTEGER) {\n return Infinity;\n }\n return intValue;\n };\n _proto.hexadecimalInteger = function hexadecimalInteger(attrName) {\n if (this[attrName]) {\n var stringValue = (this[attrName] || '0x').slice(2);\n stringValue = (stringValue.length & 1 ? '0' : '') + stringValue;\n var value = new Uint8Array(stringValue.length / 2);\n for (var i = 0; i < stringValue.length / 2; i++) {\n value[i] = parseInt(stringValue.slice(i * 2, i * 2 + 2), 16);\n }\n return value;\n } else {\n return null;\n }\n };\n _proto.hexadecimalIntegerAsNumber = function hexadecimalIntegerAsNumber(attrName) {\n var intValue = parseInt(this[attrName], 16);\n if (intValue > Number.MAX_SAFE_INTEGER) {\n return Infinity;\n }\n return intValue;\n };\n _proto.decimalFloatingPoint = function decimalFloatingPoint(attrName) {\n return parseFloat(this[attrName]);\n };\n _proto.optionalFloat = function optionalFloat(attrName, defaultValue) {\n var value = this[attrName];\n return value ? parseFloat(value) : defaultValue;\n };\n _proto.enumeratedString = function enumeratedString(attrName) {\n return this[attrName];\n };\n _proto.bool = function bool(attrName) {\n return this[attrName] === 'YES';\n };\n _proto.decimalResolution = function decimalResolution(attrName) {\n var res = DECIMAL_RESOLUTION_REGEX.exec(this[attrName]);\n if (res === null) {\n return undefined;\n }\n return {\n width: parseInt(res[1], 10),\n height: parseInt(res[2], 10)\n };\n };\n AttrList.parseAttrList = function parseAttrList(input) {\n var match;\n var attrs = {};\n var quote = '\"';\n ATTR_LIST_REGEX.lastIndex = 0;\n while ((match = ATTR_LIST_REGEX.exec(input)) !== null) {\n var value = match[2];\n if (value.indexOf(quote) === 0 && value.lastIndexOf(quote) === value.length - 1) {\n value = value.slice(1, -1);\n }\n var name = match[1].trim();\n attrs[name] = value;\n }\n return attrs;\n };\n _createClass(AttrList, [{\n key: \"clientAttrs\",\n get: function get() {\n return Object.keys(this).filter(function (attr) {\n return attr.substring(0, 2) === 'X-';\n });\n }\n }]);\n return AttrList;\n }();\n\n // Avoid exporting const enum so that these values can be inlined\n\n function isDateRangeCueAttribute(attrName) {\n return attrName !== \"ID\" && attrName !== \"CLASS\" && attrName !== \"START-DATE\" && attrName !== \"DURATION\" && attrName !== \"END-DATE\" && attrName !== \"END-ON-NEXT\";\n }\n function isSCTE35Attribute(attrName) {\n return attrName === \"SCTE35-OUT\" || attrName === \"SCTE35-IN\";\n }\n var DateRange = /*#__PURE__*/function () {\n function DateRange(dateRangeAttr, dateRangeWithSameId) {\n this.attr = void 0;\n this._startDate = void 0;\n this._endDate = void 0;\n this._badValueForSameId = void 0;\n if (dateRangeWithSameId) {\n var previousAttr = dateRangeWithSameId.attr;\n for (var key in previousAttr) {\n if (Object.prototype.hasOwnProperty.call(dateRangeAttr, key) && dateRangeAttr[key] !== previousAttr[key]) {\n logger.warn(\"DATERANGE tag attribute: \\\"\" + key + \"\\\" does not match for tags with ID: \\\"\" + dateRangeAttr.ID + \"\\\"\");\n this._badValueForSameId = key;\n break;\n }\n }\n // Merge DateRange tags with the same ID\n dateRangeAttr = _extends(new AttrList({}), previousAttr, dateRangeAttr);\n }\n this.attr = dateRangeAttr;\n this._startDate = new Date(dateRangeAttr[\"START-DATE\"]);\n if (\"END-DATE\" in this.attr) {\n var endDate = new Date(this.attr[\"END-DATE\"]);\n if (isFiniteNumber(endDate.getTime())) {\n this._endDate = endDate;\n }\n }\n }\n _createClass(DateRange, [{\n key: \"id\",\n get: function get() {\n return this.attr.ID;\n }\n }, {\n key: \"class\",\n get: function get() {\n return this.attr.CLASS;\n }\n }, {\n key: \"startDate\",\n get: function get() {\n return this._startDate;\n }\n }, {\n key: \"endDate\",\n get: function get() {\n if (this._endDate) {\n return this._endDate;\n }\n var duration = this.duration;\n if (duration !== null) {\n return new Date(this._startDate.getTime() + duration * 1000);\n }\n return null;\n }\n }, {\n key: \"duration\",\n get: function get() {\n if (\"DURATION\" in this.attr) {\n var duration = this.attr.decimalFloatingPoint(\"DURATION\");\n if (isFiniteNumber(duration)) {\n return duration;\n }\n } else if (this._endDate) {\n return (this._endDate.getTime() - this._startDate.getTime()) / 1000;\n }\n return null;\n }\n }, {\n key: \"plannedDuration\",\n get: function get() {\n if (\"PLANNED-DURATION\" in this.attr) {\n return this.attr.decimalFloatingPoint(\"PLANNED-DURATION\");\n }\n return null;\n }\n }, {\n key: \"endOnNext\",\n get: function get() {\n return this.attr.bool(\"END-ON-NEXT\");\n }\n }, {\n key: \"isValid\",\n get: function get() {\n return !!this.id && !this._badValueForSameId && isFiniteNumber(this.startDate.getTime()) && (this.duration === null || this.duration >= 0) && (!this.endOnNext || !!this.class);\n }\n }]);\n return DateRange;\n }();\n\n var LoadStats = function LoadStats() {\n this.aborted = false;\n this.loaded = 0;\n this.retry = 0;\n this.total = 0;\n this.chunkCount = 0;\n this.bwEstimate = 0;\n this.loading = {\n start: 0,\n first: 0,\n end: 0\n };\n this.parsing = {\n start: 0,\n end: 0\n };\n this.buffering = {\n start: 0,\n first: 0,\n end: 0\n };\n };\n\n var ElementaryStreamTypes = {\n AUDIO: \"audio\",\n VIDEO: \"video\",\n AUDIOVIDEO: \"audiovideo\"\n };\n var BaseSegment = /*#__PURE__*/function () {\n function BaseSegment(baseurl) {\n var _this$elementaryStrea;\n this._byteRange = null;\n this._url = null;\n // baseurl is the URL to the playlist\n this.baseurl = void 0;\n // relurl is the portion of the URL that comes from inside the playlist.\n this.relurl = void 0;\n // Holds the types of data this fragment supports\n this.elementaryStreams = (_this$elementaryStrea = {}, _this$elementaryStrea[ElementaryStreamTypes.AUDIO] = null, _this$elementaryStrea[ElementaryStreamTypes.VIDEO] = null, _this$elementaryStrea[ElementaryStreamTypes.AUDIOVIDEO] = null, _this$elementaryStrea);\n this.baseurl = baseurl;\n }\n\n // setByteRange converts a EXT-X-BYTERANGE attribute into a two element array\n var _proto = BaseSegment.prototype;\n _proto.setByteRange = function setByteRange(value, previous) {\n var params = value.split('@', 2);\n var start;\n if (params.length === 1) {\n start = (previous == null ? void 0 : previous.byteRangeEndOffset) || 0;\n } else {\n start = parseInt(params[1]);\n }\n this._byteRange = [start, parseInt(params[0]) + start];\n };\n _createClass(BaseSegment, [{\n key: \"byteRange\",\n get: function get() {\n if (!this._byteRange) {\n return [];\n }\n return this._byteRange;\n }\n }, {\n key: \"byteRangeStartOffset\",\n get: function get() {\n return this.byteRange[0];\n }\n }, {\n key: \"byteRangeEndOffset\",\n get: function get() {\n return this.byteRange[1];\n }\n }, {\n key: \"url\",\n get: function get() {\n if (!this._url && this.baseurl && this.relurl) {\n this._url = urlToolkitExports.buildAbsoluteURL(this.baseurl, this.relurl, {\n alwaysNormalize: true\n });\n }\n return this._url || '';\n },\n set: function set(value) {\n this._url = value;\n }\n }]);\n return BaseSegment;\n }();\n\n /**\n * Object representing parsed data from an HLS Segment. Found in {@link hls.js#LevelDetails.fragments}.\n */\n var Fragment = /*#__PURE__*/function (_BaseSegment) {\n _inheritsLoose(Fragment, _BaseSegment);\n function Fragment(type, baseurl) {\n var _this;\n _this = _BaseSegment.call(this, baseurl) || this;\n _this._decryptdata = null;\n _this.rawProgramDateTime = null;\n _this.programDateTime = null;\n _this.tagList = [];\n // EXTINF has to be present for a m3u8 to be considered valid\n _this.duration = 0;\n // sn notates the sequence number for a segment, and if set to a string can be 'initSegment'\n _this.sn = 0;\n // levelkeys are the EXT-X-KEY tags that apply to this segment for decryption\n // core difference from the private field _decryptdata is the lack of the initialized IV\n // _decryptdata will set the IV for this segment based on the segment number in the fragment\n _this.levelkeys = void 0;\n // A string representing the fragment type\n _this.type = void 0;\n // A reference to the loader. Set while the fragment is loading, and removed afterwards. Used to abort fragment loading\n _this.loader = null;\n // A reference to the key loader. Set while the key is loading, and removed afterwards. Used to abort key loading\n _this.keyLoader = null;\n // The level/track index to which the fragment belongs\n _this.level = -1;\n // The continuity counter of the fragment\n _this.cc = 0;\n // The starting Presentation Time Stamp (PTS) of the fragment. Set after transmux complete.\n _this.startPTS = void 0;\n // The ending Presentation Time Stamp (PTS) of the fragment. Set after transmux complete.\n _this.endPTS = void 0;\n // The starting Decode Time Stamp (DTS) of the fragment. Set after transmux complete.\n _this.startDTS = void 0;\n // The ending Decode Time Stamp (DTS) of the fragment. Set after transmux complete.\n _this.endDTS = void 0;\n // The start time of the fragment, as listed in the manifest. Updated after transmux complete.\n _this.start = 0;\n // Set by `updateFragPTSDTS` in level-helper\n _this.deltaPTS = void 0;\n // The maximum starting Presentation Time Stamp (audio/video PTS) of the fragment. Set after transmux complete.\n _this.maxStartPTS = void 0;\n // The minimum ending Presentation Time Stamp (audio/video PTS) of the fragment. Set after transmux complete.\n _this.minEndPTS = void 0;\n // Load/parse timing information\n _this.stats = new LoadStats();\n // Init Segment bytes (unset for media segments)\n _this.data = void 0;\n // A flag indicating whether the segment was downloaded in order to test bitrate, and was not buffered\n _this.bitrateTest = false;\n // #EXTINF segment title\n _this.title = null;\n // The Media Initialization Section for this segment\n _this.initSegment = null;\n // Fragment is the last fragment in the media playlist\n _this.endList = void 0;\n // Fragment is marked by an EXT-X-GAP tag indicating that it does not contain media data and should not be loaded\n _this.gap = void 0;\n // Deprecated\n _this.urlId = 0;\n _this.type = type;\n return _this;\n }\n var _proto2 = Fragment.prototype;\n _proto2.setKeyFormat = function setKeyFormat(keyFormat) {\n if (this.levelkeys) {\n var _key = this.levelkeys[keyFormat];\n if (_key && !this._decryptdata) {\n this._decryptdata = _key.getDecryptData(this.sn);\n }\n }\n };\n _proto2.abortRequests = function abortRequests() {\n var _this$loader, _this$keyLoader;\n (_this$loader = this.loader) == null ? void 0 : _this$loader.abort();\n (_this$keyLoader = this.keyLoader) == null ? void 0 : _this$keyLoader.abort();\n };\n _proto2.setElementaryStreamInfo = function setElementaryStreamInfo(type, startPTS, endPTS, startDTS, endDTS, partial) {\n if (partial === void 0) {\n partial = false;\n }\n var elementaryStreams = this.elementaryStreams;\n var info = elementaryStreams[type];\n if (!info) {\n elementaryStreams[type] = {\n startPTS: startPTS,\n endPTS: endPTS,\n startDTS: startDTS,\n endDTS: endDTS,\n partial: partial\n };\n return;\n }\n info.startPTS = Math.min(info.startPTS, startPTS);\n info.endPTS = Math.max(info.endPTS, endPTS);\n info.startDTS = Math.min(info.startDTS, startDTS);\n info.endDTS = Math.max(info.endDTS, endDTS);\n };\n _proto2.clearElementaryStreamInfo = function clearElementaryStreamInfo() {\n var elementaryStreams = this.elementaryStreams;\n elementaryStreams[ElementaryStreamTypes.AUDIO] = null;\n elementaryStreams[ElementaryStreamTypes.VIDEO] = null;\n elementaryStreams[ElementaryStreamTypes.AUDIOVIDEO] = null;\n };\n _createClass(Fragment, [{\n key: \"decryptdata\",\n get: function get() {\n var levelkeys = this.levelkeys;\n if (!levelkeys && !this._decryptdata) {\n return null;\n }\n if (!this._decryptdata && this.levelkeys && !this.levelkeys.NONE) {\n var _key2 = this.levelkeys.identity;\n if (_key2) {\n this._decryptdata = _key2.getDecryptData(this.sn);\n } else {\n var keyFormats = Object.keys(this.levelkeys);\n if (keyFormats.length === 1) {\n return this._decryptdata = this.levelkeys[keyFormats[0]].getDecryptData(this.sn);\n }\n }\n }\n return this._decryptdata;\n }\n }, {\n key: \"end\",\n get: function get() {\n return this.start + this.duration;\n }\n }, {\n key: \"endProgramDateTime\",\n get: function get() {\n if (this.programDateTime === null) {\n return null;\n }\n if (!isFiniteNumber(this.programDateTime)) {\n return null;\n }\n var duration = !isFiniteNumber(this.duration) ? 0 : this.duration;\n return this.programDateTime + duration * 1000;\n }\n }, {\n key: \"encrypted\",\n get: function get() {\n var _this$_decryptdata;\n // At the m3u8-parser level we need to add support for manifest signalled keyformats\n // when we want the fragment to start reporting that it is encrypted.\n // Currently, keyFormat will only be set for identity keys\n if ((_this$_decryptdata = this._decryptdata) != null && _this$_decryptdata.encrypted) {\n return true;\n } else if (this.levelkeys) {\n var keyFormats = Object.keys(this.levelkeys);\n var len = keyFormats.length;\n if (len > 1 || len === 1 && this.levelkeys[keyFormats[0]].encrypted) {\n return true;\n }\n }\n return false;\n }\n }]);\n return Fragment;\n }(BaseSegment);\n\n /**\n * Object representing parsed data from an HLS Partial Segment. Found in {@link hls.js#LevelDetails.partList}.\n */\n var Part = /*#__PURE__*/function (_BaseSegment2) {\n _inheritsLoose(Part, _BaseSegment2);\n function Part(partAttrs, frag, baseurl, index, previous) {\n var _this2;\n _this2 = _BaseSegment2.call(this, baseurl) || this;\n _this2.fragOffset = 0;\n _this2.duration = 0;\n _this2.gap = false;\n _this2.independent = false;\n _this2.relurl = void 0;\n _this2.fragment = void 0;\n _this2.index = void 0;\n _this2.stats = new LoadStats();\n _this2.duration = partAttrs.decimalFloatingPoint('DURATION');\n _this2.gap = partAttrs.bool('GAP');\n _this2.independent = partAttrs.bool('INDEPENDENT');\n _this2.relurl = partAttrs.enumeratedString('URI');\n _this2.fragment = frag;\n _this2.index = index;\n var byteRange = partAttrs.enumeratedString('BYTERANGE');\n if (byteRange) {\n _this2.setByteRange(byteRange, previous);\n }\n if (previous) {\n _this2.fragOffset = previous.fragOffset + previous.duration;\n }\n return _this2;\n }\n _createClass(Part, [{\n key: \"start\",\n get: function get() {\n return this.fragment.start + this.fragOffset;\n }\n }, {\n key: \"end\",\n get: function get() {\n return this.start + this.duration;\n }\n }, {\n key: \"loaded\",\n get: function get() {\n var elementaryStreams = this.elementaryStreams;\n return !!(elementaryStreams.audio || elementaryStreams.video || elementaryStreams.audiovideo);\n }\n }]);\n return Part;\n }(BaseSegment);\n\n var DEFAULT_TARGET_DURATION = 10;\n\n /**\n * Object representing parsed data from an HLS Media Playlist. Found in {@link hls.js#Level.details}.\n */\n var LevelDetails = /*#__PURE__*/function () {\n function LevelDetails(baseUrl) {\n this.PTSKnown = false;\n this.alignedSliding = false;\n this.averagetargetduration = void 0;\n this.endCC = 0;\n this.endSN = 0;\n this.fragments = void 0;\n this.fragmentHint = void 0;\n this.partList = null;\n this.dateRanges = void 0;\n this.live = true;\n this.ageHeader = 0;\n this.advancedDateTime = void 0;\n this.updated = true;\n this.advanced = true;\n this.availabilityDelay = void 0;\n // Manifest reload synchronization\n this.misses = 0;\n this.startCC = 0;\n this.startSN = 0;\n this.startTimeOffset = null;\n this.targetduration = 0;\n this.totalduration = 0;\n this.type = null;\n this.url = void 0;\n this.m3u8 = '';\n this.version = null;\n this.canBlockReload = false;\n this.canSkipUntil = 0;\n this.canSkipDateRanges = false;\n this.skippedSegments = 0;\n this.recentlyRemovedDateranges = void 0;\n this.partHoldBack = 0;\n this.holdBack = 0;\n this.partTarget = 0;\n this.preloadHint = void 0;\n this.renditionReports = void 0;\n this.tuneInGoal = 0;\n this.deltaUpdateFailed = void 0;\n this.driftStartTime = 0;\n this.driftEndTime = 0;\n this.driftStart = 0;\n this.driftEnd = 0;\n this.encryptedFragments = void 0;\n this.playlistParsingError = null;\n this.variableList = null;\n this.hasVariableRefs = false;\n this.fragments = [];\n this.encryptedFragments = [];\n this.dateRanges = {};\n this.url = baseUrl;\n }\n var _proto = LevelDetails.prototype;\n _proto.reloaded = function reloaded(previous) {\n if (!previous) {\n this.advanced = true;\n this.updated = true;\n return;\n }\n var partSnDiff = this.lastPartSn - previous.lastPartSn;\n var partIndexDiff = this.lastPartIndex - previous.lastPartIndex;\n this.updated = this.endSN !== previous.endSN || !!partIndexDiff || !!partSnDiff || !this.live;\n this.advanced = this.endSN > previous.endSN || partSnDiff > 0 || partSnDiff === 0 && partIndexDiff > 0;\n if (this.updated || this.advanced) {\n this.misses = Math.floor(previous.misses * 0.6);\n } else {\n this.misses = previous.misses + 1;\n }\n this.availabilityDelay = previous.availabilityDelay;\n };\n _createClass(LevelDetails, [{\n key: \"hasProgramDateTime\",\n get: function get() {\n if (this.fragments.length) {\n return isFiniteNumber(this.fragments[this.fragments.length - 1].programDateTime);\n }\n return false;\n }\n }, {\n key: \"levelTargetDuration\",\n get: function get() {\n return this.averagetargetduration || this.targetduration || DEFAULT_TARGET_DURATION;\n }\n }, {\n key: \"drift\",\n get: function get() {\n var runTime = this.driftEndTime - this.driftStartTime;\n if (runTime > 0) {\n var runDuration = this.driftEnd - this.driftStart;\n return runDuration * 1000 / runTime;\n }\n return 1;\n }\n }, {\n key: \"edge\",\n get: function get() {\n return this.partEnd || this.fragmentEnd;\n }\n }, {\n key: \"partEnd\",\n get: function get() {\n var _this$partList;\n if ((_this$partList = this.partList) != null && _this$partList.length) {\n return this.partList[this.partList.length - 1].end;\n }\n return this.fragmentEnd;\n }\n }, {\n key: \"fragmentEnd\",\n get: function get() {\n var _this$fragments;\n if ((_this$fragments = this.fragments) != null && _this$fragments.length) {\n return this.fragments[this.fragments.length - 1].end;\n }\n return 0;\n }\n }, {\n key: \"age\",\n get: function get() {\n if (this.advancedDateTime) {\n return Math.max(Date.now() - this.advancedDateTime, 0) / 1000;\n }\n return 0;\n }\n }, {\n key: \"lastPartIndex\",\n get: function get() {\n var _this$partList2;\n if ((_this$partList2 = this.partList) != null && _this$partList2.length) {\n return this.partList[this.partList.length - 1].index;\n }\n return -1;\n }\n }, {\n key: \"lastPartSn\",\n get: function get() {\n var _this$partList3;\n if ((_this$partList3 = this.partList) != null && _this$partList3.length) {\n return this.partList[this.partList.length - 1].fragment.sn;\n }\n return this.endSN;\n }\n }]);\n return LevelDetails;\n }();\n\n function base64Decode(base64encodedStr) {\n return Uint8Array.from(atob(base64encodedStr), function (c) {\n return c.charCodeAt(0);\n });\n }\n\n function getKeyIdBytes(str) {\n var keyIdbytes = strToUtf8array(str).subarray(0, 16);\n var paddedkeyIdbytes = new Uint8Array(16);\n paddedkeyIdbytes.set(keyIdbytes, 16 - keyIdbytes.length);\n return paddedkeyIdbytes;\n }\n function changeEndianness(keyId) {\n var swap = function swap(array, from, to) {\n var cur = array[from];\n array[from] = array[to];\n array[to] = cur;\n };\n swap(keyId, 0, 3);\n swap(keyId, 1, 2);\n swap(keyId, 4, 5);\n swap(keyId, 6, 7);\n }\n function convertDataUriToArrayBytes(uri) {\n // data:[<media type][;attribute=value][;base64],<data>\n var colonsplit = uri.split(':');\n var keydata = null;\n if (colonsplit[0] === 'data' && colonsplit.length === 2) {\n var semicolonsplit = colonsplit[1].split(';');\n var commasplit = semicolonsplit[semicolonsplit.length - 1].split(',');\n if (commasplit.length === 2) {\n var isbase64 = commasplit[0] === 'base64';\n var data = commasplit[1];\n if (isbase64) {\n semicolonsplit.splice(-1, 1); // remove from processing\n keydata = base64Decode(data);\n } else {\n keydata = getKeyIdBytes(data);\n }\n }\n }\n return keydata;\n }\n function strToUtf8array(str) {\n return Uint8Array.from(unescape(encodeURIComponent(str)), function (c) {\n return c.charCodeAt(0);\n });\n }\n\n /** returns `undefined` is `self` is missing, e.g. in node */\n var optionalSelf = typeof self !== 'undefined' ? self : undefined;\n\n /**\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Navigator/requestMediaKeySystemAccess\n */\n var KeySystems = {\n CLEARKEY: \"org.w3.clearkey\",\n FAIRPLAY: \"com.apple.fps\",\n PLAYREADY: \"com.microsoft.playready\",\n WIDEVINE: \"com.widevine.alpha\"\n };\n\n // Playlist #EXT-X-KEY KEYFORMAT values\n var KeySystemFormats = {\n CLEARKEY: \"org.w3.clearkey\",\n FAIRPLAY: \"com.apple.streamingkeydelivery\",\n PLAYREADY: \"com.microsoft.playready\",\n WIDEVINE: \"urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed\"\n };\n function keySystemFormatToKeySystemDomain(format) {\n switch (format) {\n case KeySystemFormats.FAIRPLAY:\n return KeySystems.FAIRPLAY;\n case KeySystemFormats.PLAYREADY:\n return KeySystems.PLAYREADY;\n case KeySystemFormats.WIDEVINE:\n return KeySystems.WIDEVINE;\n case KeySystemFormats.CLEARKEY:\n return KeySystems.CLEARKEY;\n }\n }\n\n // System IDs for which we can extract a key ID from \"encrypted\" event PSSH\n var KeySystemIds = {\n WIDEVINE: \"edef8ba979d64acea3c827dcd51d21ed\"\n };\n function keySystemIdToKeySystemDomain(systemId) {\n if (systemId === KeySystemIds.WIDEVINE) {\n return KeySystems.WIDEVINE;\n // } else if (systemId === KeySystemIds.PLAYREADY) {\n // return KeySystems.PLAYREADY;\n // } else if (systemId === KeySystemIds.CENC || systemId === KeySystemIds.CLEARKEY) {\n // return KeySystems.CLEARKEY;\n }\n }\n function keySystemDomainToKeySystemFormat(keySystem) {\n switch (keySystem) {\n case KeySystems.FAIRPLAY:\n return KeySystemFormats.FAIRPLAY;\n case KeySystems.PLAYREADY:\n return KeySystemFormats.PLAYREADY;\n case KeySystems.WIDEVINE:\n return KeySystemFormats.WIDEVINE;\n case KeySystems.CLEARKEY:\n return KeySystemFormats.CLEARKEY;\n }\n }\n function getKeySystemsForConfig(config) {\n var drmSystems = config.drmSystems,\n widevineLicenseUrl = config.widevineLicenseUrl;\n var keySystemsToAttempt = drmSystems ? [KeySystems.FAIRPLAY, KeySystems.WIDEVINE, KeySystems.PLAYREADY, KeySystems.CLEARKEY].filter(function (keySystem) {\n return !!drmSystems[keySystem];\n }) : [];\n if (!keySystemsToAttempt[KeySystems.WIDEVINE] && widevineLicenseUrl) {\n keySystemsToAttempt.push(KeySystems.WIDEVINE);\n }\n return keySystemsToAttempt;\n }\n var requestMediaKeySystemAccess = function (_optionalSelf$navigat) {\n if (optionalSelf != null && (_optionalSelf$navigat = optionalSelf.navigator) != null && _optionalSelf$navigat.requestMediaKeySystemAccess) {\n return self.navigator.requestMediaKeySystemAccess.bind(self.navigator);\n } else {\n return null;\n }\n }();\n\n /**\n * @see https://developer.mozilla.org/en-US/docs/Web/API/MediaKeySystemConfiguration\n */\n function getSupportedMediaKeySystemConfigurations(keySystem, audioCodecs, videoCodecs, drmSystemOptions) {\n var initDataTypes;\n switch (keySystem) {\n case KeySystems.FAIRPLAY:\n initDataTypes = ['cenc', 'sinf'];\n break;\n case KeySystems.WIDEVINE:\n case KeySystems.PLAYREADY:\n initDataTypes = ['cenc'];\n break;\n case KeySystems.CLEARKEY:\n initDataTypes = ['cenc', 'keyids'];\n break;\n default:\n throw new Error(\"Unknown key-system: \" + keySystem);\n }\n return createMediaKeySystemConfigurations(initDataTypes, audioCodecs, videoCodecs, drmSystemOptions);\n }\n function createMediaKeySystemConfigurations(initDataTypes, audioCodecs, videoCodecs, drmSystemOptions) {\n var baseConfig = {\n initDataTypes: initDataTypes,\n persistentState: drmSystemOptions.persistentState || 'optional',\n distinctiveIdentifier: drmSystemOptions.distinctiveIdentifier || 'optional',\n sessionTypes: drmSystemOptions.sessionTypes || [drmSystemOptions.sessionType || 'temporary'],\n audioCapabilities: audioCodecs.map(function (codec) {\n return {\n contentType: \"audio/mp4; codecs=\\\"\" + codec + \"\\\"\",\n robustness: drmSystemOptions.audioRobustness || '',\n encryptionScheme: drmSystemOptions.audioEncryptionScheme || null\n };\n }),\n videoCapabilities: videoCodecs.map(function (codec) {\n return {\n contentType: \"video/mp4; codecs=\\\"\" + codec + \"\\\"\",\n robustness: drmSystemOptions.videoRobustness || '',\n encryptionScheme: drmSystemOptions.videoEncryptionScheme || null\n };\n })\n };\n return [baseConfig];\n }\n\n function sliceUint8(array, start, end) {\n // @ts-expect-error This polyfills IE11 usage of Uint8Array slice.\n // It always exists in the TypeScript definition so fails, but it fails at runtime on IE11.\n return Uint8Array.prototype.slice ? array.slice(start, end) : new Uint8Array(Array.prototype.slice.call(array, start, end));\n }\n\n // breaking up those two types in order to clarify what is happening in the decoding path.\n\n /**\n * Returns true if an ID3 header can be found at offset in data\n * @param data - The data to search\n * @param offset - The offset at which to start searching\n */\n var isHeader$2 = function isHeader(data, offset) {\n /*\n * http://id3.org/id3v2.3.0\n * [0] = 'I'\n * [1] = 'D'\n * [2] = '3'\n * [3,4] = {Version}\n * [5] = {Flags}\n * [6-9] = {ID3 Size}\n *\n * An ID3v2 tag can be detected with the following pattern:\n * $49 44 33 yy yy xx zz zz zz zz\n * Where yy is less than $FF, xx is the 'flags' byte and zz is less than $80\n */\n if (offset + 10 <= data.length) {\n // look for 'ID3' identifier\n if (data[offset] === 0x49 && data[offset + 1] === 0x44 && data[offset + 2] === 0x33) {\n // check version is within range\n if (data[offset + 3] < 0xff && data[offset + 4] < 0xff) {\n // check size is within range\n if (data[offset + 6] < 0x80 && data[offset + 7] < 0x80 && data[offset + 8] < 0x80 && data[offset + 9] < 0x80) {\n return true;\n }\n }\n }\n }\n return false;\n };\n\n /**\n * Returns true if an ID3 footer can be found at offset in data\n * @param data - The data to search\n * @param offset - The offset at which to start searching\n */\n var isFooter = function isFooter(data, offset) {\n /*\n * The footer is a copy of the header, but with a different identifier\n */\n if (offset + 10 <= data.length) {\n // look for '3DI' identifier\n if (data[offset] === 0x33 && data[offset + 1] === 0x44 && data[offset + 2] === 0x49) {\n // check version is within range\n if (data[offset + 3] < 0xff && data[offset + 4] < 0xff) {\n // check size is within range\n if (data[offset + 6] < 0x80 && data[offset + 7] < 0x80 && data[offset + 8] < 0x80 && data[offset + 9] < 0x80) {\n return true;\n }\n }\n }\n }\n return false;\n };\n\n /**\n * Returns any adjacent ID3 tags found in data starting at offset, as one block of data\n * @param data - The data to search in\n * @param offset - The offset at which to start searching\n * @returns the block of data containing any ID3 tags found\n * or *undefined* if no header is found at the starting offset\n */\n var getID3Data = function getID3Data(data, offset) {\n var front = offset;\n var length = 0;\n while (isHeader$2(data, offset)) {\n // ID3 header is 10 bytes\n length += 10;\n var size = readSize(data, offset + 6);\n length += size;\n if (isFooter(data, offset + 10)) {\n // ID3 footer is 10 bytes\n length += 10;\n }\n offset += length;\n }\n if (length > 0) {\n return data.subarray(front, front + length);\n }\n return undefined;\n };\n var readSize = function readSize(data, offset) {\n var size = 0;\n size = (data[offset] & 0x7f) << 21;\n size |= (data[offset + 1] & 0x7f) << 14;\n size |= (data[offset + 2] & 0x7f) << 7;\n size |= data[offset + 3] & 0x7f;\n return size;\n };\n var canParse$2 = function canParse(data, offset) {\n return isHeader$2(data, offset) && readSize(data, offset + 6) + 10 <= data.length - offset;\n };\n\n /**\n * Searches for the Elementary Stream timestamp found in the ID3 data chunk\n * @param data - Block of data containing one or more ID3 tags\n */\n var getTimeStamp = function getTimeStamp(data) {\n var frames = getID3Frames(data);\n for (var i = 0; i < frames.length; i++) {\n var frame = frames[i];\n if (isTimeStampFrame(frame)) {\n return readTimeStamp(frame);\n }\n }\n return undefined;\n };\n\n /**\n * Returns true if the ID3 frame is an Elementary Stream timestamp frame\n */\n var isTimeStampFrame = function isTimeStampFrame(frame) {\n return frame && frame.key === 'PRIV' && frame.info === 'com.apple.streaming.transportStreamTimestamp';\n };\n var getFrameData = function getFrameData(data) {\n /*\n Frame ID $xx xx xx xx (four characters)\n Size $xx xx xx xx\n Flags $xx xx\n */\n var type = String.fromCharCode(data[0], data[1], data[2], data[3]);\n var size = readSize(data, 4);\n\n // skip frame id, size, and flags\n var offset = 10;\n return {\n type: type,\n size: size,\n data: data.subarray(offset, offset + size)\n };\n };\n\n /**\n * Returns an array of ID3 frames found in all the ID3 tags in the id3Data\n * @param id3Data - The ID3 data containing one or more ID3 tags\n */\n var getID3Frames = function getID3Frames(id3Data) {\n var offset = 0;\n var frames = [];\n while (isHeader$2(id3Data, offset)) {\n var size = readSize(id3Data, offset + 6);\n // skip past ID3 header\n offset += 10;\n var end = offset + size;\n // loop through frames in the ID3 tag\n while (offset + 8 < end) {\n var frameData = getFrameData(id3Data.subarray(offset));\n var frame = decodeFrame(frameData);\n if (frame) {\n frames.push(frame);\n }\n\n // skip frame header and frame data\n offset += frameData.size + 10;\n }\n if (isFooter(id3Data, offset)) {\n offset += 10;\n }\n }\n return frames;\n };\n var decodeFrame = function decodeFrame(frame) {\n if (frame.type === 'PRIV') {\n return decodePrivFrame(frame);\n } else if (frame.type[0] === 'W') {\n return decodeURLFrame(frame);\n }\n return decodeTextFrame(frame);\n };\n var decodePrivFrame = function decodePrivFrame(frame) {\n /*\n Format: <text string>\\0<binary data>\n */\n if (frame.size < 2) {\n return undefined;\n }\n var owner = utf8ArrayToStr(frame.data, true);\n var privateData = new Uint8Array(frame.data.subarray(owner.length + 1));\n return {\n key: frame.type,\n info: owner,\n data: privateData.buffer\n };\n };\n var decodeTextFrame = function decodeTextFrame(frame) {\n if (frame.size < 2) {\n return undefined;\n }\n if (frame.type === 'TXXX') {\n /*\n Format:\n [0] = {Text Encoding}\n [1-?] = {Description}\\0{Value}\n */\n var index = 1;\n var description = utf8ArrayToStr(frame.data.subarray(index), true);\n index += description.length + 1;\n var value = utf8ArrayToStr(frame.data.subarray(index));\n return {\n key: frame.type,\n info: description,\n data: value\n };\n }\n /*\n Format:\n [0] = {Text Encoding}\n [1-?] = {Value}\n */\n var text = utf8ArrayToStr(frame.data.subarray(1));\n return {\n key: frame.type,\n data: text\n };\n };\n var decodeURLFrame = function decodeURLFrame(frame) {\n if (frame.type === 'WXXX') {\n /*\n Format:\n [0] = {Text Encoding}\n [1-?] = {Description}\\0{URL}\n */\n if (frame.size < 2) {\n return undefined;\n }\n var index = 1;\n var description = utf8ArrayToStr(frame.data.subarray(index), true);\n index += description.length + 1;\n var value = utf8ArrayToStr(frame.data.subarray(index));\n return {\n key: frame.type,\n info: description,\n data: value\n };\n }\n /*\n Format:\n [0-?] = {URL}\n */\n var url = utf8ArrayToStr(frame.data);\n return {\n key: frame.type,\n data: url\n };\n };\n var readTimeStamp = function readTimeStamp(timeStampFrame) {\n if (timeStampFrame.data.byteLength === 8) {\n var data = new Uint8Array(timeStampFrame.data);\n // timestamp is 33 bit expressed as a big-endian eight-octet number,\n // with the upper 31 bits set to zero.\n var pts33Bit = data[3] & 0x1;\n var timestamp = (data[4] << 23) + (data[5] << 15) + (data[6] << 7) + data[7];\n timestamp /= 45;\n if (pts33Bit) {\n timestamp += 47721858.84;\n } // 2^32 / 90\n\n return Math.round(timestamp);\n }\n return undefined;\n };\n\n // http://stackoverflow.com/questions/8936984/uint8array-to-string-in-javascript/22373197\n // http://www.onicos.com/staff/iz/amuse/javascript/expert/utf.txt\n /* utf.js - UTF-8 <=> UTF-16 convertion\n *\n * Copyright (C) 1999 Masanao Izumo <iz@onicos.co.jp>\n * Version: 1.0\n * LastModified: Dec 25 1999\n * This library is free. You can redistribute it and/or modify it.\n */\n var utf8ArrayToStr = function utf8ArrayToStr(array, exitOnNull) {\n if (exitOnNull === void 0) {\n exitOnNull = false;\n }\n var decoder = getTextDecoder();\n if (decoder) {\n var decoded = decoder.decode(array);\n if (exitOnNull) {\n // grab up to the first null\n var idx = decoded.indexOf('\\0');\n return idx !== -1 ? decoded.substring(0, idx) : decoded;\n }\n\n // remove any null characters\n return decoded.replace(/\\0/g, '');\n }\n var len = array.length;\n var c;\n var char2;\n var char3;\n var out = '';\n var i = 0;\n while (i < len) {\n c = array[i++];\n if (c === 0x00 && exitOnNull) {\n return out;\n } else if (c === 0x00 || c === 0x03) {\n // If the character is 3 (END_OF_TEXT) or 0 (NULL) then skip it\n continue;\n }\n switch (c >> 4) {\n case 0:\n case 1:\n case 2:\n case 3:\n case 4:\n case 5:\n case 6:\n case 7:\n // 0xxxxxxx\n out += String.fromCharCode(c);\n break;\n case 12:\n case 13:\n // 110x xxxx 10xx xxxx\n char2 = array[i++];\n out += String.fromCharCode((c & 0x1f) << 6 | char2 & 0x3f);\n break;\n case 14:\n // 1110 xxxx 10xx xxxx 10xx xxxx\n char2 = array[i++];\n char3 = array[i++];\n out += String.fromCharCode((c & 0x0f) << 12 | (char2 & 0x3f) << 6 | (char3 & 0x3f) << 0);\n break;\n }\n }\n return out;\n };\n var decoder;\n function getTextDecoder() {\n // On Play Station 4, TextDecoder is defined but partially implemented.\n // Manual decoding option is preferable\n if (navigator.userAgent.includes('PlayStation 4')) {\n return;\n }\n if (!decoder && typeof self.TextDecoder !== 'undefined') {\n decoder = new self.TextDecoder('utf-8');\n }\n return decoder;\n }\n\n /**\n * hex dump helper class\n */\n\n var Hex = {\n hexDump: function hexDump(array) {\n var str = '';\n for (var i = 0; i < array.length; i++) {\n var h = array[i].toString(16);\n if (h.length < 2) {\n h = '0' + h;\n }\n str += h;\n }\n return str;\n }\n };\n\n var UINT32_MAX$1 = Math.pow(2, 32) - 1;\n var push = [].push;\n\n // We are using fixed track IDs for driving the MP4 remuxer\n // instead of following the TS PIDs.\n // There is no reason not to do this and some browsers/SourceBuffer-demuxers\n // may not like if there are TrackID \"switches\"\n // See https://github.com/video-dev/hls.js/issues/1331\n // Here we are mapping our internal track types to constant MP4 track IDs\n // With MSE currently one can only have one track of each, and we are muxing\n // whatever video/audio rendition in them.\n var RemuxerTrackIdConfig = {\n video: 1,\n audio: 2,\n id3: 3,\n text: 4\n };\n function bin2str(data) {\n return String.fromCharCode.apply(null, data);\n }\n function readUint16(buffer, offset) {\n var val = buffer[offset] << 8 | buffer[offset + 1];\n return val < 0 ? 65536 + val : val;\n }\n function readUint32(buffer, offset) {\n var val = readSint32(buffer, offset);\n return val < 0 ? 4294967296 + val : val;\n }\n function readUint64(buffer, offset) {\n var result = readUint32(buffer, offset);\n result *= Math.pow(2, 32);\n result += readUint32(buffer, offset + 4);\n return result;\n }\n function readSint32(buffer, offset) {\n return buffer[offset] << 24 | buffer[offset + 1] << 16 | buffer[offset + 2] << 8 | buffer[offset + 3];\n }\n function writeUint32(buffer, offset, value) {\n buffer[offset] = value >> 24;\n buffer[offset + 1] = value >> 16 & 0xff;\n buffer[offset + 2] = value >> 8 & 0xff;\n buffer[offset + 3] = value & 0xff;\n }\n\n // Find \"moof\" box\n function hasMoofData(data) {\n var end = data.byteLength;\n for (var i = 0; i < end;) {\n var size = readUint32(data, i);\n if (size > 8 && data[i + 4] === 0x6d && data[i + 5] === 0x6f && data[i + 6] === 0x6f && data[i + 7] === 0x66) {\n return true;\n }\n i = size > 1 ? i + size : end;\n }\n return false;\n }\n\n // Find the data for a box specified by its path\n function findBox(data, path) {\n var results = [];\n if (!path.length) {\n // short-circuit the search for empty paths\n return results;\n }\n var end = data.byteLength;\n for (var i = 0; i < end;) {\n var size = readUint32(data, i);\n var type = bin2str(data.subarray(i + 4, i + 8));\n var endbox = size > 1 ? i + size : end;\n if (type === path[0]) {\n if (path.length === 1) {\n // this is the end of the path and we've found the box we were\n // looking for\n results.push(data.subarray(i + 8, endbox));\n } else {\n // recursively search for the next box along the path\n var subresults = findBox(data.subarray(i + 8, endbox), path.slice(1));\n if (subresults.length) {\n push.apply(results, subresults);\n }\n }\n }\n i = endbox;\n }\n\n // we've finished searching all of data\n return results;\n }\n function parseSegmentIndex(sidx) {\n var references = [];\n var version = sidx[0];\n\n // set initial offset, we skip the reference ID (not needed)\n var index = 8;\n var timescale = readUint32(sidx, index);\n index += 4;\n var earliestPresentationTime = 0;\n var firstOffset = 0;\n if (version === 0) {\n earliestPresentationTime = readUint32(sidx, index);\n firstOffset = readUint32(sidx, index + 4);\n index += 8;\n } else {\n earliestPresentationTime = readUint64(sidx, index);\n firstOffset = readUint64(sidx, index + 8);\n index += 16;\n }\n\n // skip reserved\n index += 2;\n var startByte = sidx.length + firstOffset;\n var referencesCount = readUint16(sidx, index);\n index += 2;\n for (var i = 0; i < referencesCount; i++) {\n var referenceIndex = index;\n var referenceInfo = readUint32(sidx, referenceIndex);\n referenceIndex += 4;\n var referenceSize = referenceInfo & 0x7fffffff;\n var referenceType = (referenceInfo & 0x80000000) >>> 31;\n if (referenceType === 1) {\n logger.warn('SIDX has hierarchical references (not supported)');\n return null;\n }\n var subsegmentDuration = readUint32(sidx, referenceIndex);\n referenceIndex += 4;\n references.push({\n referenceSize: referenceSize,\n subsegmentDuration: subsegmentDuration,\n // unscaled\n info: {\n duration: subsegmentDuration / timescale,\n start: startByte,\n end: startByte + referenceSize - 1\n }\n });\n startByte += referenceSize;\n\n // Skipping 1 bit for |startsWithSap|, 3 bits for |sapType|, and 28 bits\n // for |sapDelta|.\n referenceIndex += 4;\n\n // skip to next ref\n index = referenceIndex;\n }\n return {\n earliestPresentationTime: earliestPresentationTime,\n timescale: timescale,\n version: version,\n referencesCount: referencesCount,\n references: references\n };\n }\n\n /**\n * Parses an MP4 initialization segment and extracts stream type and\n * timescale values for any declared tracks. Timescale values indicate the\n * number of clock ticks per second to assume for time-based values\n * elsewhere in the MP4.\n *\n * To determine the start time of an MP4, you need two pieces of\n * information: the timescale unit and the earliest base media decode\n * time. Multiple timescales can be specified within an MP4 but the\n * base media decode time is always expressed in the timescale from\n * the media header box for the track:\n * ```\n * moov > trak > mdia > mdhd.timescale\n * moov > trak > mdia > hdlr\n * ```\n * @param initSegment the bytes of the init segment\n * @returns a hash of track type to timescale values or null if\n * the init segment is malformed.\n */\n\n function parseInitSegment(initSegment) {\n var result = [];\n var traks = findBox(initSegment, ['moov', 'trak']);\n for (var i = 0; i < traks.length; i++) {\n var trak = traks[i];\n var tkhd = findBox(trak, ['tkhd'])[0];\n if (tkhd) {\n var version = tkhd[0];\n var trackId = readUint32(tkhd, version === 0 ? 12 : 20);\n var mdhd = findBox(trak, ['mdia', 'mdhd'])[0];\n if (mdhd) {\n version = mdhd[0];\n var timescale = readUint32(mdhd, version === 0 ? 12 : 20);\n var hdlr = findBox(trak, ['mdia', 'hdlr'])[0];\n if (hdlr) {\n var hdlrType = bin2str(hdlr.subarray(8, 12));\n var type = {\n soun: ElementaryStreamTypes.AUDIO,\n vide: ElementaryStreamTypes.VIDEO\n }[hdlrType];\n if (type) {\n // Parse codec details\n var stsd = findBox(trak, ['mdia', 'minf', 'stbl', 'stsd'])[0];\n var stsdData = parseStsd(stsd);\n result[trackId] = {\n timescale: timescale,\n type: type\n };\n result[type] = _objectSpread2({\n timescale: timescale,\n id: trackId\n }, stsdData);\n }\n }\n }\n }\n }\n var trex = findBox(initSegment, ['moov', 'mvex', 'trex']);\n trex.forEach(function (trex) {\n var trackId = readUint32(trex, 4);\n var track = result[trackId];\n if (track) {\n track.default = {\n duration: readUint32(trex, 12),\n flags: readUint32(trex, 20)\n };\n }\n });\n return result;\n }\n function parseStsd(stsd) {\n var sampleEntries = stsd.subarray(8);\n var sampleEntriesEnd = sampleEntries.subarray(8 + 78);\n var fourCC = bin2str(sampleEntries.subarray(4, 8));\n var codec = fourCC;\n var encrypted = fourCC === 'enca' || fourCC === 'encv';\n if (encrypted) {\n var encBox = findBox(sampleEntries, [fourCC])[0];\n var encBoxChildren = encBox.subarray(fourCC === 'enca' ? 28 : 78);\n var sinfs = findBox(encBoxChildren, ['sinf']);\n sinfs.forEach(function (sinf) {\n var schm = findBox(sinf, ['schm'])[0];\n if (schm) {\n var scheme = bin2str(schm.subarray(4, 8));\n if (scheme === 'cbcs' || scheme === 'cenc') {\n var frma = findBox(sinf, ['frma'])[0];\n if (frma) {\n // for encrypted content codec fourCC will be in frma\n codec = bin2str(frma);\n }\n }\n }\n });\n }\n switch (codec) {\n case 'avc1':\n case 'avc2':\n case 'avc3':\n case 'avc4':\n {\n // extract profile + compatibility + level out of avcC box\n var avcCBox = findBox(sampleEntriesEnd, ['avcC'])[0];\n codec += '.' + toHex(avcCBox[1]) + toHex(avcCBox[2]) + toHex(avcCBox[3]);\n break;\n }\n case 'mp4a':\n {\n var codecBox = findBox(sampleEntries, [fourCC])[0];\n var esdsBox = findBox(codecBox.subarray(28), ['esds'])[0];\n if (esdsBox && esdsBox.length > 12) {\n var i = 4;\n // ES Descriptor tag\n if (esdsBox[i++] !== 0x03) {\n break;\n }\n i = skipBERInteger(esdsBox, i);\n i += 2; // skip es_id;\n var flags = esdsBox[i++];\n if (flags & 0x80) {\n i += 2; // skip dependency es_id\n }\n if (flags & 0x40) {\n i += esdsBox[i++]; // skip URL\n }\n // Decoder config descriptor\n if (esdsBox[i++] !== 0x04) {\n break;\n }\n i = skipBERInteger(esdsBox, i);\n var objectType = esdsBox[i++];\n if (objectType === 0x40) {\n codec += '.' + toHex(objectType);\n } else {\n break;\n }\n i += 12;\n // Decoder specific info\n if (esdsBox[i++] !== 0x05) {\n break;\n }\n i = skipBERInteger(esdsBox, i);\n var firstByte = esdsBox[i++];\n var audioObjectType = (firstByte & 0xf8) >> 3;\n if (audioObjectType === 31) {\n audioObjectType += 1 + ((firstByte & 0x7) << 3) + ((esdsBox[i] & 0xe0) >> 5);\n }\n codec += '.' + audioObjectType;\n }\n break;\n }\n case 'hvc1':\n case 'hev1':\n {\n var hvcCBox = findBox(sampleEntriesEnd, ['hvcC'])[0];\n var profileByte = hvcCBox[1];\n var profileSpace = ['', 'A', 'B', 'C'][profileByte >> 6];\n var generalProfileIdc = profileByte & 0x1f;\n var profileCompat = readUint32(hvcCBox, 2);\n var tierFlag = (profileByte & 0x20) >> 5 ? 'H' : 'L';\n var levelIDC = hvcCBox[12];\n var constraintIndicator = hvcCBox.subarray(6, 12);\n codec += '.' + profileSpace + generalProfileIdc;\n codec += '.' + profileCompat.toString(16).toUpperCase();\n codec += '.' + tierFlag + levelIDC;\n var constraintString = '';\n for (var _i = constraintIndicator.length; _i--;) {\n var _byte = constraintIndicator[_i];\n if (_byte || constraintString) {\n var encodedByte = _byte.toString(16).toUpperCase();\n constraintString = '.' + encodedByte + constraintString;\n }\n }\n codec += constraintString;\n break;\n }\n case 'dvh1':\n case 'dvhe':\n {\n var dvcCBox = findBox(sampleEntriesEnd, ['dvcC'])[0];\n var profile = dvcCBox[2] >> 1 & 0x7f;\n var level = dvcCBox[2] << 5 & 0x20 | dvcCBox[3] >> 3 & 0x1f;\n codec += '.' + addLeadingZero(profile) + '.' + addLeadingZero(level);\n break;\n }\n case 'vp09':\n {\n var vpcCBox = findBox(sampleEntriesEnd, ['vpcC'])[0];\n var _profile = vpcCBox[4];\n var _level = vpcCBox[5];\n var bitDepth = vpcCBox[6] >> 4 & 0x0f;\n codec += '.' + addLeadingZero(_profile) + '.' + addLeadingZero(_level) + '.' + addLeadingZero(bitDepth);\n break;\n }\n case 'av01':\n {\n var av1CBox = findBox(sampleEntriesEnd, ['av1C'])[0];\n var _profile2 = av1CBox[1] >>> 5;\n var _level2 = av1CBox[1] & 0x1f;\n var _tierFlag = av1CBox[2] >>> 7 ? 'H' : 'M';\n var highBitDepth = (av1CBox[2] & 0x40) >> 6;\n var twelveBit = (av1CBox[2] & 0x20) >> 5;\n var _bitDepth = _profile2 === 2 && highBitDepth ? twelveBit ? 12 : 10 : highBitDepth ? 10 : 8;\n var monochrome = (av1CBox[2] & 0x10) >> 4;\n var chromaSubsamplingX = (av1CBox[2] & 0x08) >> 3;\n var chromaSubsamplingY = (av1CBox[2] & 0x04) >> 2;\n var chromaSamplePosition = av1CBox[2] & 0x03;\n // TODO: parse color_description_present_flag\n // default it to BT.709/limited range for now\n // more info https://aomediacodec.github.io/av1-isobmff/#av1codecconfigurationbox-syntax\n var colorPrimaries = 1;\n var transferCharacteristics = 1;\n var matrixCoefficients = 1;\n var videoFullRangeFlag = 0;\n codec += '.' + _profile2 + '.' + addLeadingZero(_level2) + _tierFlag + '.' + addLeadingZero(_bitDepth) + '.' + monochrome + '.' + chromaSubsamplingX + chromaSubsamplingY + chromaSamplePosition + '.' + addLeadingZero(colorPrimaries) + '.' + addLeadingZero(transferCharacteristics) + '.' + addLeadingZero(matrixCoefficients) + '.' + videoFullRangeFlag;\n break;\n }\n }\n return {\n codec: codec,\n encrypted: encrypted\n };\n }\n function skipBERInteger(bytes, i) {\n var limit = i + 5;\n while (bytes[i++] & 0x80 && i < limit) {}\n return i;\n }\n function toHex(x) {\n return ('0' + x.toString(16).toUpperCase()).slice(-2);\n }\n function addLeadingZero(num) {\n return (num < 10 ? '0' : '') + num;\n }\n function patchEncyptionData(initSegment, decryptdata) {\n if (!initSegment || !decryptdata) {\n return initSegment;\n }\n var keyId = decryptdata.keyId;\n if (keyId && decryptdata.isCommonEncryption) {\n var traks = findBox(initSegment, ['moov', 'trak']);\n traks.forEach(function (trak) {\n var stsd = findBox(trak, ['mdia', 'minf', 'stbl', 'stsd'])[0];\n\n // skip the sample entry count\n var sampleEntries = stsd.subarray(8);\n var encBoxes = findBox(sampleEntries, ['enca']);\n var isAudio = encBoxes.length > 0;\n if (!isAudio) {\n encBoxes = findBox(sampleEntries, ['encv']);\n }\n encBoxes.forEach(function (enc) {\n var encBoxChildren = isAudio ? enc.subarray(28) : enc.subarray(78);\n var sinfBoxes = findBox(encBoxChildren, ['sinf']);\n sinfBoxes.forEach(function (sinf) {\n var tenc = parseSinf(sinf);\n if (tenc) {\n // Look for default key id (keyID offset is always 8 within the tenc box):\n var tencKeyId = tenc.subarray(8, 24);\n if (!tencKeyId.some(function (b) {\n return b !== 0;\n })) {\n logger.log(\"[eme] Patching keyId in 'enc\" + (isAudio ? 'a' : 'v') + \">sinf>>tenc' box: \" + Hex.hexDump(tencKeyId) + \" -> \" + Hex.hexDump(keyId));\n tenc.set(keyId, 8);\n }\n }\n });\n });\n });\n }\n return initSegment;\n }\n function parseSinf(sinf) {\n var schm = findBox(sinf, ['schm'])[0];\n if (schm) {\n var scheme = bin2str(schm.subarray(4, 8));\n if (scheme === 'cbcs' || scheme === 'cenc') {\n return findBox(sinf, ['schi', 'tenc'])[0];\n }\n }\n logger.error(\"[eme] missing 'schm' box\");\n return null;\n }\n\n /**\n * Determine the base media decode start time, in seconds, for an MP4\n * fragment. If multiple fragments are specified, the earliest time is\n * returned.\n *\n * The base media decode time can be parsed from track fragment\n * metadata:\n * ```\n * moof > traf > tfdt.baseMediaDecodeTime\n * ```\n * It requires the timescale value from the mdhd to interpret.\n *\n * @param initData - a hash of track type to timescale values\n * @param fmp4 - the bytes of the mp4 fragment\n * @returns the earliest base media decode start time for the\n * fragment, in seconds\n */\n function getStartDTS(initData, fmp4) {\n // we need info from two children of each track fragment box\n return findBox(fmp4, ['moof', 'traf']).reduce(function (result, traf) {\n var tfdt = findBox(traf, ['tfdt'])[0];\n var version = tfdt[0];\n var start = findBox(traf, ['tfhd']).reduce(function (result, tfhd) {\n // get the track id from the tfhd\n var id = readUint32(tfhd, 4);\n var track = initData[id];\n if (track) {\n var baseTime = readUint32(tfdt, 4);\n if (version === 1) {\n // If value is too large, assume signed 64-bit. Negative track fragment decode times are invalid, but they exist in the wild.\n // This prevents large values from being used for initPTS, which can cause playlist sync issues.\n // https://github.com/video-dev/hls.js/issues/5303\n if (baseTime === UINT32_MAX$1) {\n logger.warn(\"[mp4-demuxer]: Ignoring assumed invalid signed 64-bit track fragment decode time\");\n return result;\n }\n baseTime *= UINT32_MAX$1 + 1;\n baseTime += readUint32(tfdt, 8);\n }\n // assume a 90kHz clock if no timescale was specified\n var scale = track.timescale || 90e3;\n // convert base time to seconds\n var startTime = baseTime / scale;\n if (isFiniteNumber(startTime) && (result === null || startTime < result)) {\n return startTime;\n }\n }\n return result;\n }, null);\n if (start !== null && isFiniteNumber(start) && (result === null || start < result)) {\n return start;\n }\n return result;\n }, null);\n }\n\n /*\n For Reference:\n aligned(8) class TrackFragmentHeaderBox\n extends FullBox(‘tfhd’, 0, tf_flags){\n unsigned int(32) track_ID;\n // all the following are optional fields\n unsigned int(64) base_data_offset;\n unsigned int(32) sample_description_index;\n unsigned int(32) default_sample_duration;\n unsigned int(32) default_sample_size;\n unsigned int(32) default_sample_flags\n }\n */\n function getDuration(data, initData) {\n var sidxMinStart = Infinity;\n var sidxMaxEnd = 0;\n var sidxDuration = 0;\n var sidxs = findBox(data, ['sidx']);\n for (var i = 0; i < sidxs.length; i++) {\n var sidx = parseSegmentIndex(sidxs[i]);\n if (sidx != null && sidx.references) {\n sidxMinStart = Math.min(sidxMinStart, sidx.earliestPresentationTime / sidx.timescale);\n var subSegmentDuration = sidx.references.reduce(function (dur, ref) {\n return dur + ref.info.duration || 0;\n }, 0);\n sidxMaxEnd = Math.max(sidxMaxEnd, subSegmentDuration + sidx.earliestPresentationTime / sidx.timescale);\n sidxDuration = sidxMaxEnd - sidxMinStart;\n }\n }\n if (sidxDuration && isFiniteNumber(sidxDuration)) {\n return sidxDuration;\n }\n var rawDuration = 0;\n var videoDuration = 0;\n var audioDuration = 0;\n var trafs = findBox(data, ['moof', 'traf']);\n for (var _i2 = 0; _i2 < trafs.length; _i2++) {\n var traf = trafs[_i2];\n // There is only one tfhd & trun per traf\n // This is true for CMAF style content, and we should perhaps check the ftyp\n // and only look for a single trun then, but for ISOBMFF we should check\n // for multiple track runs.\n var tfhd = findBox(traf, ['tfhd'])[0];\n // get the track id from the tfhd\n var id = readUint32(tfhd, 4);\n var track = initData[id];\n if (!track) {\n continue;\n }\n var trackDefault = track.default;\n var tfhdFlags = readUint32(tfhd, 0) | (trackDefault == null ? void 0 : trackDefault.flags);\n var sampleDuration = trackDefault == null ? void 0 : trackDefault.duration;\n if (tfhdFlags & 0x000008) {\n // 0x000008 indicates the presence of the default_sample_duration field\n if (tfhdFlags & 0x000002) {\n // 0x000002 indicates the presence of the sample_description_index field, which precedes default_sample_duration\n // If present, the default_sample_duration exists at byte offset 12\n sampleDuration = readUint32(tfhd, 12);\n } else {\n // Otherwise, the duration is at byte offset 8\n sampleDuration = readUint32(tfhd, 8);\n }\n }\n // assume a 90kHz clock if no timescale was specified\n var timescale = track.timescale || 90e3;\n var truns = findBox(traf, ['trun']);\n for (var j = 0; j < truns.length; j++) {\n rawDuration = computeRawDurationFromSamples(truns[j]);\n if (!rawDuration && sampleDuration) {\n var sampleCount = readUint32(truns[j], 4);\n rawDuration = sampleDuration * sampleCount;\n }\n if (track.type === ElementaryStreamTypes.VIDEO) {\n videoDuration += rawDuration / timescale;\n } else if (track.type === ElementaryStreamTypes.AUDIO) {\n audioDuration += rawDuration / timescale;\n }\n }\n }\n if (videoDuration) {\n return videoDuration;\n }\n return audioDuration;\n }\n\n /*\n For Reference:\n aligned(8) class TrackRunBox\n extends FullBox(‘trun’, version, tr_flags) {\n unsigned int(32) sample_count;\n // the following are optional fields\n signed int(32) data_offset;\n unsigned int(32) first_sample_flags;\n // all fields in the following array are optional\n {\n unsigned int(32) sample_duration;\n unsigned int(32) sample_size;\n unsigned int(32) sample_flags\n if (version == 0)\n { unsigned int(32)\n else\n { signed int(32)\n }[ sample_count ]\n }\n */\n function computeRawDurationFromSamples(trun) {\n var flags = readUint32(trun, 0);\n // Flags are at offset 0, non-optional sample_count is at offset 4. Therefore we start 8 bytes in.\n // Each field is an int32, which is 4 bytes\n var offset = 8;\n // data-offset-present flag\n if (flags & 0x000001) {\n offset += 4;\n }\n // first-sample-flags-present flag\n if (flags & 0x000004) {\n offset += 4;\n }\n var duration = 0;\n var sampleCount = readUint32(trun, 4);\n for (var i = 0; i < sampleCount; i++) {\n // sample-duration-present flag\n if (flags & 0x000100) {\n var sampleDuration = readUint32(trun, offset);\n duration += sampleDuration;\n offset += 4;\n }\n // sample-size-present flag\n if (flags & 0x000200) {\n offset += 4;\n }\n // sample-flags-present flag\n if (flags & 0x000400) {\n offset += 4;\n }\n // sample-composition-time-offsets-present flag\n if (flags & 0x000800) {\n offset += 4;\n }\n }\n return duration;\n }\n function offsetStartDTS(initData, fmp4, timeOffset) {\n findBox(fmp4, ['moof', 'traf']).forEach(function (traf) {\n findBox(traf, ['tfhd']).forEach(function (tfhd) {\n // get the track id from the tfhd\n var id = readUint32(tfhd, 4);\n var track = initData[id];\n if (!track) {\n return;\n }\n // assume a 90kHz clock if no timescale was specified\n var timescale = track.timescale || 90e3;\n // get the base media decode time from the tfdt\n findBox(traf, ['tfdt']).forEach(function (tfdt) {\n var version = tfdt[0];\n var offset = timeOffset * timescale;\n if (offset) {\n var baseMediaDecodeTime = readUint32(tfdt, 4);\n if (version === 0) {\n baseMediaDecodeTime -= offset;\n baseMediaDecodeTime = Math.max(baseMediaDecodeTime, 0);\n writeUint32(tfdt, 4, baseMediaDecodeTime);\n } else {\n baseMediaDecodeTime *= Math.pow(2, 32);\n baseMediaDecodeTime += readUint32(tfdt, 8);\n baseMediaDecodeTime -= offset;\n baseMediaDecodeTime = Math.max(baseMediaDecodeTime, 0);\n var upper = Math.floor(baseMediaDecodeTime / (UINT32_MAX$1 + 1));\n var lower = Math.floor(baseMediaDecodeTime % (UINT32_MAX$1 + 1));\n writeUint32(tfdt, 4, upper);\n writeUint32(tfdt, 8, lower);\n }\n }\n });\n });\n });\n }\n\n // TODO: Check if the last moof+mdat pair is part of the valid range\n function segmentValidRange(data) {\n var segmentedRange = {\n valid: null,\n remainder: null\n };\n var moofs = findBox(data, ['moof']);\n if (moofs.length < 2) {\n segmentedRange.remainder = data;\n return segmentedRange;\n }\n var last = moofs[moofs.length - 1];\n // Offset by 8 bytes; findBox offsets the start by as much\n segmentedRange.valid = sliceUint8(data, 0, last.byteOffset - 8);\n segmentedRange.remainder = sliceUint8(data, last.byteOffset - 8);\n return segmentedRange;\n }\n function appendUint8Array(data1, data2) {\n var temp = new Uint8Array(data1.length + data2.length);\n temp.set(data1);\n temp.set(data2, data1.length);\n return temp;\n }\n function parseSamples(timeOffset, track) {\n var seiSamples = [];\n var videoData = track.samples;\n var timescale = track.timescale;\n var trackId = track.id;\n var isHEVCFlavor = false;\n var moofs = findBox(videoData, ['moof']);\n moofs.map(function (moof) {\n var moofOffset = moof.byteOffset - 8;\n var trafs = findBox(moof, ['traf']);\n trafs.map(function (traf) {\n // get the base media decode time from the tfdt\n var baseTime = findBox(traf, ['tfdt']).map(function (tfdt) {\n var version = tfdt[0];\n var result = readUint32(tfdt, 4);\n if (version === 1) {\n result *= Math.pow(2, 32);\n result += readUint32(tfdt, 8);\n }\n return result / timescale;\n })[0];\n if (baseTime !== undefined) {\n timeOffset = baseTime;\n }\n return findBox(traf, ['tfhd']).map(function (tfhd) {\n var id = readUint32(tfhd, 4);\n var tfhdFlags = readUint32(tfhd, 0) & 0xffffff;\n var baseDataOffsetPresent = (tfhdFlags & 0x000001) !== 0;\n var sampleDescriptionIndexPresent = (tfhdFlags & 0x000002) !== 0;\n var defaultSampleDurationPresent = (tfhdFlags & 0x000008) !== 0;\n var defaultSampleDuration = 0;\n var defaultSampleSizePresent = (tfhdFlags & 0x000010) !== 0;\n var defaultSampleSize = 0;\n var defaultSampleFlagsPresent = (tfhdFlags & 0x000020) !== 0;\n var tfhdOffset = 8;\n if (id === trackId) {\n if (baseDataOffsetPresent) {\n tfhdOffset += 8;\n }\n if (sampleDescriptionIndexPresent) {\n tfhdOffset += 4;\n }\n if (defaultSampleDurationPresent) {\n defaultSampleDuration = readUint32(tfhd, tfhdOffset);\n tfhdOffset += 4;\n }\n if (defaultSampleSizePresent) {\n defaultSampleSize = readUint32(tfhd, tfhdOffset);\n tfhdOffset += 4;\n }\n if (defaultSampleFlagsPresent) {\n tfhdOffset += 4;\n }\n if (track.type === 'video') {\n isHEVCFlavor = isHEVC(track.codec);\n }\n findBox(traf, ['trun']).map(function (trun) {\n var version = trun[0];\n var flags = readUint32(trun, 0) & 0xffffff;\n var dataOffsetPresent = (flags & 0x000001) !== 0;\n var dataOffset = 0;\n var firstSampleFlagsPresent = (flags & 0x000004) !== 0;\n var sampleDurationPresent = (flags & 0x000100) !== 0;\n var sampleDuration = 0;\n var sampleSizePresent = (flags & 0x000200) !== 0;\n var sampleSize = 0;\n var sampleFlagsPresent = (flags & 0x000400) !== 0;\n var sampleCompositionOffsetsPresent = (flags & 0x000800) !== 0;\n var compositionOffset = 0;\n var sampleCount = readUint32(trun, 4);\n var trunOffset = 8; // past version, flags, and sample count\n\n if (dataOffsetPresent) {\n dataOffset = readUint32(trun, trunOffset);\n trunOffset += 4;\n }\n if (firstSampleFlagsPresent) {\n trunOffset += 4;\n }\n var sampleOffset = dataOffset + moofOffset;\n for (var ix = 0; ix < sampleCount; ix++) {\n if (sampleDurationPresent) {\n sampleDuration = readUint32(trun, trunOffset);\n trunOffset += 4;\n } else {\n sampleDuration = defaultSampleDuration;\n }\n if (sampleSizePresent) {\n sampleSize = readUint32(trun, trunOffset);\n trunOffset += 4;\n } else {\n sampleSize = defaultSampleSize;\n }\n if (sampleFlagsPresent) {\n trunOffset += 4;\n }\n if (sampleCompositionOffsetsPresent) {\n if (version === 0) {\n compositionOffset = readUint32(trun, trunOffset);\n } else {\n compositionOffset = readSint32(trun, trunOffset);\n }\n trunOffset += 4;\n }\n if (track.type === ElementaryStreamTypes.VIDEO) {\n var naluTotalSize = 0;\n while (naluTotalSize < sampleSize) {\n var naluSize = readUint32(videoData, sampleOffset);\n sampleOffset += 4;\n if (isSEIMessage(isHEVCFlavor, videoData[sampleOffset])) {\n var data = videoData.subarray(sampleOffset, sampleOffset + naluSize);\n parseSEIMessageFromNALu(data, isHEVCFlavor ? 2 : 1, timeOffset + compositionOffset / timescale, seiSamples);\n }\n sampleOffset += naluSize;\n naluTotalSize += naluSize + 4;\n }\n }\n timeOffset += sampleDuration / timescale;\n }\n });\n }\n });\n });\n });\n return seiSamples;\n }\n function isHEVC(codec) {\n if (!codec) {\n return false;\n }\n var delimit = codec.indexOf('.');\n var baseCodec = delimit < 0 ? codec : codec.substring(0, delimit);\n return baseCodec === 'hvc1' || baseCodec === 'hev1' ||\n // Dolby Vision\n baseCodec === 'dvh1' || baseCodec === 'dvhe';\n }\n function isSEIMessage(isHEVCFlavor, naluHeader) {\n if (isHEVCFlavor) {\n var naluType = naluHeader >> 1 & 0x3f;\n return naluType === 39 || naluType === 40;\n } else {\n var _naluType = naluHeader & 0x1f;\n return _naluType === 6;\n }\n }\n function parseSEIMessageFromNALu(unescapedData, headerSize, pts, samples) {\n var data = discardEPB(unescapedData);\n var seiPtr = 0;\n // skip nal header\n seiPtr += headerSize;\n var payloadType = 0;\n var payloadSize = 0;\n var b = 0;\n while (seiPtr < data.length) {\n payloadType = 0;\n do {\n if (seiPtr >= data.length) {\n break;\n }\n b = data[seiPtr++];\n payloadType += b;\n } while (b === 0xff);\n\n // Parse payload size.\n payloadSize = 0;\n do {\n if (seiPtr >= data.length) {\n break;\n }\n b = data[seiPtr++];\n payloadSize += b;\n } while (b === 0xff);\n var leftOver = data.length - seiPtr;\n // Create a variable to process the payload\n var payPtr = seiPtr;\n\n // Increment the seiPtr to the end of the payload\n if (payloadSize < leftOver) {\n seiPtr += payloadSize;\n } else if (payloadSize > leftOver) {\n // Some type of corruption has happened?\n logger.error(\"Malformed SEI payload. \" + payloadSize + \" is too small, only \" + leftOver + \" bytes left to parse.\");\n // We might be able to parse some data, but let's be safe and ignore it.\n break;\n }\n if (payloadType === 4) {\n var countryCode = data[payPtr++];\n if (countryCode === 181) {\n var providerCode = readUint16(data, payPtr);\n payPtr += 2;\n if (providerCode === 49) {\n var userStructure = readUint32(data, payPtr);\n payPtr += 4;\n if (userStructure === 0x47413934) {\n var userDataType = data[payPtr++];\n\n // Raw CEA-608 bytes wrapped in CEA-708 packet\n if (userDataType === 3) {\n var firstByte = data[payPtr++];\n var totalCCs = 0x1f & firstByte;\n var enabled = 0x40 & firstByte;\n var totalBytes = enabled ? 2 + totalCCs * 3 : 0;\n var byteArray = new Uint8Array(totalBytes);\n if (enabled) {\n byteArray[0] = firstByte;\n for (var i = 1; i < totalBytes; i++) {\n byteArray[i] = data[payPtr++];\n }\n }\n samples.push({\n type: userDataType,\n payloadType: payloadType,\n pts: pts,\n bytes: byteArray\n });\n }\n }\n }\n }\n } else if (payloadType === 5) {\n if (payloadSize > 16) {\n var uuidStrArray = [];\n for (var _i3 = 0; _i3 < 16; _i3++) {\n var _b = data[payPtr++].toString(16);\n uuidStrArray.push(_b.length == 1 ? '0' + _b : _b);\n if (_i3 === 3 || _i3 === 5 || _i3 === 7 || _i3 === 9) {\n uuidStrArray.push('-');\n }\n }\n var length = payloadSize - 16;\n var userDataBytes = new Uint8Array(length);\n for (var _i4 = 0; _i4 < length; _i4++) {\n userDataBytes[_i4] = data[payPtr++];\n }\n samples.push({\n payloadType: payloadType,\n pts: pts,\n uuid: uuidStrArray.join(''),\n userData: utf8ArrayToStr(userDataBytes),\n userDataBytes: userDataBytes\n });\n }\n }\n }\n }\n\n /**\n * remove Emulation Prevention bytes from a RBSP\n */\n function discardEPB(data) {\n var length = data.byteLength;\n var EPBPositions = [];\n var i = 1;\n\n // Find all `Emulation Prevention Bytes`\n while (i < length - 2) {\n if (data[i] === 0 && data[i + 1] === 0 && data[i + 2] === 0x03) {\n EPBPositions.push(i + 2);\n i += 2;\n } else {\n i++;\n }\n }\n\n // If no Emulation Prevention Bytes were found just return the original\n // array\n if (EPBPositions.length === 0) {\n return data;\n }\n\n // Create a new array to hold the NAL unit data\n var newLength = length - EPBPositions.length;\n var newData = new Uint8Array(newLength);\n var sourceIndex = 0;\n for (i = 0; i < newLength; sourceIndex++, i++) {\n if (sourceIndex === EPBPositions[0]) {\n // Skip this byte\n sourceIndex++;\n // Remove this position index\n EPBPositions.shift();\n }\n newData[i] = data[sourceIndex];\n }\n return newData;\n }\n function parseEmsg(data) {\n var version = data[0];\n var schemeIdUri = '';\n var value = '';\n var timeScale = 0;\n var presentationTimeDelta = 0;\n var presentationTime = 0;\n var eventDuration = 0;\n var id = 0;\n var offset = 0;\n if (version === 0) {\n while (bin2str(data.subarray(offset, offset + 1)) !== '\\0') {\n schemeIdUri += bin2str(data.subarray(offset, offset + 1));\n offset += 1;\n }\n schemeIdUri += bin2str(data.subarray(offset, offset + 1));\n offset += 1;\n while (bin2str(data.subarray(offset, offset + 1)) !== '\\0') {\n value += bin2str(data.subarray(offset, offset + 1));\n offset += 1;\n }\n value += bin2str(data.subarray(offset, offset + 1));\n offset += 1;\n timeScale = readUint32(data, 12);\n presentationTimeDelta = readUint32(data, 16);\n eventDuration = readUint32(data, 20);\n id = readUint32(data, 24);\n offset = 28;\n } else if (version === 1) {\n offset += 4;\n timeScale = readUint32(data, offset);\n offset += 4;\n var leftPresentationTime = readUint32(data, offset);\n offset += 4;\n var rightPresentationTime = readUint32(data, offset);\n offset += 4;\n presentationTime = Math.pow(2, 32) * leftPresentationTime + rightPresentationTime;\n if (!isSafeInteger(presentationTime)) {\n presentationTime = Number.MAX_SAFE_INTEGER;\n logger.warn('Presentation time exceeds safe integer limit and wrapped to max safe integer in parsing emsg box');\n }\n eventDuration = readUint32(data, offset);\n offset += 4;\n id = readUint32(data, offset);\n offset += 4;\n while (bin2str(data.subarray(offset, offset + 1)) !== '\\0') {\n schemeIdUri += bin2str(data.subarray(offset, offset + 1));\n offset += 1;\n }\n schemeIdUri += bin2str(data.subarray(offset, offset + 1));\n offset += 1;\n while (bin2str(data.subarray(offset, offset + 1)) !== '\\0') {\n value += bin2str(data.subarray(offset, offset + 1));\n offset += 1;\n }\n value += bin2str(data.subarray(offset, offset + 1));\n offset += 1;\n }\n var payload = data.subarray(offset, data.byteLength);\n return {\n schemeIdUri: schemeIdUri,\n value: value,\n timeScale: timeScale,\n presentationTime: presentationTime,\n presentationTimeDelta: presentationTimeDelta,\n eventDuration: eventDuration,\n id: id,\n payload: payload\n };\n }\n function mp4Box(type) {\n for (var _len = arguments.length, payload = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n payload[_key - 1] = arguments[_key];\n }\n var len = payload.length;\n var size = 8;\n var i = len;\n while (i--) {\n size += payload[i].byteLength;\n }\n var result = new Uint8Array(size);\n result[0] = size >> 24 & 0xff;\n result[1] = size >> 16 & 0xff;\n result[2] = size >> 8 & 0xff;\n result[3] = size & 0xff;\n result.set(type, 4);\n for (i = 0, size = 8; i < len; i++) {\n result.set(payload[i], size);\n size += payload[i].byteLength;\n }\n return result;\n }\n function mp4pssh(systemId, keyids, data) {\n if (systemId.byteLength !== 16) {\n throw new RangeError('Invalid system id');\n }\n var version;\n var kids;\n if (keyids) {\n version = 1;\n kids = new Uint8Array(keyids.length * 16);\n for (var ix = 0; ix < keyids.length; ix++) {\n var k = keyids[ix]; // uint8array\n if (k.byteLength !== 16) {\n throw new RangeError('Invalid key');\n }\n kids.set(k, ix * 16);\n }\n } else {\n version = 0;\n kids = new Uint8Array();\n }\n var kidCount;\n if (version > 0) {\n kidCount = new Uint8Array(4);\n if (keyids.length > 0) {\n new DataView(kidCount.buffer).setUint32(0, keyids.length, false);\n }\n } else {\n kidCount = new Uint8Array();\n }\n var dataSize = new Uint8Array(4);\n if (data && data.byteLength > 0) {\n new DataView(dataSize.buffer).setUint32(0, data.byteLength, false);\n }\n return mp4Box([112, 115, 115, 104], new Uint8Array([version, 0x00, 0x00, 0x00 // Flags\n ]), systemId,\n // 16 bytes\n kidCount, kids, dataSize, data || new Uint8Array());\n }\n function parsePssh(initData) {\n if (!(initData instanceof ArrayBuffer) || initData.byteLength < 32) {\n return null;\n }\n var result = {\n version: 0,\n systemId: '',\n kids: null,\n data: null\n };\n var view = new DataView(initData);\n var boxSize = view.getUint32(0);\n if (initData.byteLength !== boxSize && boxSize > 44) {\n return null;\n }\n var type = view.getUint32(4);\n if (type !== 0x70737368) {\n return null;\n }\n result.version = view.getUint32(8) >>> 24;\n if (result.version > 1) {\n return null;\n }\n result.systemId = Hex.hexDump(new Uint8Array(initData, 12, 16));\n var dataSizeOrKidCount = view.getUint32(28);\n if (result.version === 0) {\n if (boxSize - 32 < dataSizeOrKidCount) {\n return null;\n }\n result.data = new Uint8Array(initData, 32, dataSizeOrKidCount);\n } else if (result.version === 1) {\n result.kids = [];\n for (var i = 0; i < dataSizeOrKidCount; i++) {\n result.kids.push(new Uint8Array(initData, 32 + i * 16, 16));\n }\n }\n return result;\n }\n\n var keyUriToKeyIdMap = {};\n var LevelKey = /*#__PURE__*/function () {\n LevelKey.clearKeyUriToKeyIdMap = function clearKeyUriToKeyIdMap() {\n keyUriToKeyIdMap = {};\n };\n function LevelKey(method, uri, format, formatversions, iv) {\n if (formatversions === void 0) {\n formatversions = [1];\n }\n if (iv === void 0) {\n iv = null;\n }\n this.uri = void 0;\n this.method = void 0;\n this.keyFormat = void 0;\n this.keyFormatVersions = void 0;\n this.encrypted = void 0;\n this.isCommonEncryption = void 0;\n this.iv = null;\n this.key = null;\n this.keyId = null;\n this.pssh = null;\n this.method = method;\n this.uri = uri;\n this.keyFormat = format;\n this.keyFormatVersions = formatversions;\n this.iv = iv;\n this.encrypted = method ? method !== 'NONE' : false;\n this.isCommonEncryption = this.encrypted && method !== 'AES-128';\n }\n var _proto = LevelKey.prototype;\n _proto.isSupported = function isSupported() {\n // If it's Segment encryption or No encryption, just select that key system\n if (this.method) {\n if (this.method === 'AES-128' || this.method === 'NONE') {\n return true;\n }\n if (this.keyFormat === 'identity') {\n // Maintain support for clear SAMPLE-AES with MPEG-3 TS\n return this.method === 'SAMPLE-AES';\n } else {\n switch (this.keyFormat) {\n case KeySystemFormats.FAIRPLAY:\n case KeySystemFormats.WIDEVINE:\n case KeySystemFormats.PLAYREADY:\n case KeySystemFormats.CLEARKEY:\n return ['ISO-23001-7', 'SAMPLE-AES', 'SAMPLE-AES-CENC', 'SAMPLE-AES-CTR'].indexOf(this.method) !== -1;\n }\n }\n }\n return false;\n };\n _proto.getDecryptData = function getDecryptData(sn) {\n if (!this.encrypted || !this.uri) {\n return null;\n }\n if (this.method === 'AES-128' && this.uri && !this.iv) {\n if (typeof sn !== 'number') {\n // We are fetching decryption data for a initialization segment\n // If the segment was encrypted with AES-128\n // It must have an IV defined. We cannot substitute the Segment Number in.\n if (this.method === 'AES-128' && !this.iv) {\n logger.warn(\"missing IV for initialization segment with method=\\\"\" + this.method + \"\\\" - compliance issue\");\n }\n // Explicitly set sn to resulting value from implicit conversions 'initSegment' values for IV generation.\n sn = 0;\n }\n var iv = createInitializationVector(sn);\n var decryptdata = new LevelKey(this.method, this.uri, 'identity', this.keyFormatVersions, iv);\n return decryptdata;\n }\n\n // Initialize keyId if possible\n var keyBytes = convertDataUriToArrayBytes(this.uri);\n if (keyBytes) {\n switch (this.keyFormat) {\n case KeySystemFormats.WIDEVINE:\n this.pssh = keyBytes;\n // In case of widevine keyID is embedded in PSSH box. Read Key ID.\n if (keyBytes.length >= 22) {\n this.keyId = keyBytes.subarray(keyBytes.length - 22, keyBytes.length - 6);\n }\n break;\n case KeySystemFormats.PLAYREADY:\n {\n var PlayReadyKeySystemUUID = new Uint8Array([0x9a, 0x04, 0xf0, 0x79, 0x98, 0x40, 0x42, 0x86, 0xab, 0x92, 0xe6, 0x5b, 0xe0, 0x88, 0x5f, 0x95]);\n this.pssh = mp4pssh(PlayReadyKeySystemUUID, null, keyBytes);\n var keyBytesUtf16 = new Uint16Array(keyBytes.buffer, keyBytes.byteOffset, keyBytes.byteLength / 2);\n var keyByteStr = String.fromCharCode.apply(null, Array.from(keyBytesUtf16));\n\n // Parse Playready WRMHeader XML\n var xmlKeyBytes = keyByteStr.substring(keyByteStr.indexOf('<'), keyByteStr.length);\n var parser = new DOMParser();\n var xmlDoc = parser.parseFromString(xmlKeyBytes, 'text/xml');\n var keyData = xmlDoc.getElementsByTagName('KID')[0];\n if (keyData) {\n var keyId = keyData.childNodes[0] ? keyData.childNodes[0].nodeValue : keyData.getAttribute('VALUE');\n if (keyId) {\n var keyIdArray = base64Decode(keyId).subarray(0, 16);\n // KID value in PRO is a base64-encoded little endian GUID interpretation of UUID\n // KID value in ‘tenc’ is a big endian UUID GUID interpretation of UUID\n changeEndianness(keyIdArray);\n this.keyId = keyIdArray;\n }\n }\n break;\n }\n default:\n {\n var keydata = keyBytes.subarray(0, 16);\n if (keydata.length !== 16) {\n var padded = new Uint8Array(16);\n padded.set(keydata, 16 - keydata.length);\n keydata = padded;\n }\n this.keyId = keydata;\n break;\n }\n }\n }\n\n // Default behavior: assign a new keyId for each uri\n if (!this.keyId || this.keyId.byteLength !== 16) {\n var _keyId = keyUriToKeyIdMap[this.uri];\n if (!_keyId) {\n var val = Object.keys(keyUriToKeyIdMap).length % Number.MAX_SAFE_INTEGER;\n _keyId = new Uint8Array(16);\n var dv = new DataView(_keyId.buffer, 12, 4); // Just set the last 4 bytes\n dv.setUint32(0, val);\n keyUriToKeyIdMap[this.uri] = _keyId;\n }\n this.keyId = _keyId;\n }\n return this;\n };\n return LevelKey;\n }();\n function createInitializationVector(segmentNumber) {\n var uint8View = new Uint8Array(16);\n for (var i = 12; i < 16; i++) {\n uint8View[i] = segmentNumber >> 8 * (15 - i) & 0xff;\n }\n return uint8View;\n }\n\n var VARIABLE_REPLACEMENT_REGEX = /\\{\\$([a-zA-Z0-9-_]+)\\}/g;\n function hasVariableReferences(str) {\n return VARIABLE_REPLACEMENT_REGEX.test(str);\n }\n function substituteVariablesInAttributes(parsed, attr, attributeNames) {\n if (parsed.variableList !== null || parsed.hasVariableRefs) {\n for (var i = attributeNames.length; i--;) {\n var name = attributeNames[i];\n var value = attr[name];\n if (value) {\n attr[name] = substituteVariables(parsed, value);\n }\n }\n }\n }\n function substituteVariables(parsed, value) {\n if (parsed.variableList !== null || parsed.hasVariableRefs) {\n var variableList = parsed.variableList;\n return value.replace(VARIABLE_REPLACEMENT_REGEX, function (variableReference) {\n var variableName = variableReference.substring(2, variableReference.length - 1);\n var variableValue = variableList == null ? void 0 : variableList[variableName];\n if (variableValue === undefined) {\n parsed.playlistParsingError || (parsed.playlistParsingError = new Error(\"Missing preceding EXT-X-DEFINE tag for Variable Reference: \\\"\" + variableName + \"\\\"\"));\n return variableReference;\n }\n return variableValue;\n });\n }\n return value;\n }\n function addVariableDefinition(parsed, attr, parentUrl) {\n var variableList = parsed.variableList;\n if (!variableList) {\n parsed.variableList = variableList = {};\n }\n var NAME;\n var VALUE;\n if ('QUERYPARAM' in attr) {\n NAME = attr.QUERYPARAM;\n try {\n var searchParams = new self.URL(parentUrl).searchParams;\n if (searchParams.has(NAME)) {\n VALUE = searchParams.get(NAME);\n } else {\n throw new Error(\"\\\"\" + NAME + \"\\\" does not match any query parameter in URI: \\\"\" + parentUrl + \"\\\"\");\n }\n } catch (error) {\n parsed.playlistParsingError || (parsed.playlistParsingError = new Error(\"EXT-X-DEFINE QUERYPARAM: \" + error.message));\n }\n } else {\n NAME = attr.NAME;\n VALUE = attr.VALUE;\n }\n if (NAME in variableList) {\n parsed.playlistParsingError || (parsed.playlistParsingError = new Error(\"EXT-X-DEFINE duplicate Variable Name declarations: \\\"\" + NAME + \"\\\"\"));\n } else {\n variableList[NAME] = VALUE || '';\n }\n }\n function importVariableDefinition(parsed, attr, sourceVariableList) {\n var IMPORT = attr.IMPORT;\n if (sourceVariableList && IMPORT in sourceVariableList) {\n var variableList = parsed.variableList;\n if (!variableList) {\n parsed.variableList = variableList = {};\n }\n variableList[IMPORT] = sourceVariableList[IMPORT];\n } else {\n parsed.playlistParsingError || (parsed.playlistParsingError = new Error(\"EXT-X-DEFINE IMPORT attribute not found in Multivariant Playlist: \\\"\" + IMPORT + \"\\\"\"));\n }\n }\n\n /**\n * MediaSource helper\n */\n\n function getMediaSource(preferManagedMediaSource) {\n if (preferManagedMediaSource === void 0) {\n preferManagedMediaSource = true;\n }\n if (typeof self === 'undefined') return undefined;\n var mms = (preferManagedMediaSource || !self.MediaSource) && self.ManagedMediaSource;\n return mms || self.MediaSource || self.WebKitMediaSource;\n }\n\n // from http://mp4ra.org/codecs.html\n // values indicate codec selection preference (lower is higher priority)\n var sampleEntryCodesISO = {\n audio: {\n a3ds: 1,\n 'ac-3': 0.95,\n 'ac-4': 1,\n alac: 0.9,\n alaw: 1,\n dra1: 1,\n 'dts+': 1,\n 'dts-': 1,\n dtsc: 1,\n dtse: 1,\n dtsh: 1,\n 'ec-3': 0.9,\n enca: 1,\n fLaC: 0.9,\n // MP4-RA listed codec entry for FLAC\n flac: 0.9,\n // legacy browser codec name for FLAC\n FLAC: 0.9,\n // some manifests may list \"FLAC\" with Apple's tools\n g719: 1,\n g726: 1,\n m4ae: 1,\n mha1: 1,\n mha2: 1,\n mhm1: 1,\n mhm2: 1,\n mlpa: 1,\n mp4a: 1,\n 'raw ': 1,\n Opus: 1,\n opus: 1,\n // browsers expect this to be lowercase despite MP4RA says 'Opus'\n samr: 1,\n sawb: 1,\n sawp: 1,\n sevc: 1,\n sqcp: 1,\n ssmv: 1,\n twos: 1,\n ulaw: 1\n },\n video: {\n avc1: 1,\n avc2: 1,\n avc3: 1,\n avc4: 1,\n avcp: 1,\n av01: 0.8,\n drac: 1,\n dva1: 1,\n dvav: 1,\n dvh1: 0.7,\n dvhe: 0.7,\n encv: 1,\n hev1: 0.75,\n hvc1: 0.75,\n mjp2: 1,\n mp4v: 1,\n mvc1: 1,\n mvc2: 1,\n mvc3: 1,\n mvc4: 1,\n resv: 1,\n rv60: 1,\n s263: 1,\n svc1: 1,\n svc2: 1,\n 'vc-1': 1,\n vp08: 1,\n vp09: 0.9\n },\n text: {\n stpp: 1,\n wvtt: 1\n }\n };\n function isCodecType(codec, type) {\n var typeCodes = sampleEntryCodesISO[type];\n return !!typeCodes && !!typeCodes[codec.slice(0, 4)];\n }\n function areCodecsMediaSourceSupported(codecs, type, preferManagedMediaSource) {\n if (preferManagedMediaSource === void 0) {\n preferManagedMediaSource = true;\n }\n return !codecs.split(',').some(function (codec) {\n return !isCodecMediaSourceSupported(codec, type, preferManagedMediaSource);\n });\n }\n function isCodecMediaSourceSupported(codec, type, preferManagedMediaSource) {\n var _MediaSource$isTypeSu;\n if (preferManagedMediaSource === void 0) {\n preferManagedMediaSource = true;\n }\n var MediaSource = getMediaSource(preferManagedMediaSource);\n return (_MediaSource$isTypeSu = MediaSource == null ? void 0 : MediaSource.isTypeSupported(mimeTypeForCodec(codec, type))) != null ? _MediaSource$isTypeSu : false;\n }\n function mimeTypeForCodec(codec, type) {\n return type + \"/mp4;codecs=\\\"\" + codec + \"\\\"\";\n }\n function videoCodecPreferenceValue(videoCodec) {\n if (videoCodec) {\n var fourCC = videoCodec.substring(0, 4);\n return sampleEntryCodesISO.video[fourCC];\n }\n return 2;\n }\n function codecsSetSelectionPreferenceValue(codecSet) {\n return codecSet.split(',').reduce(function (num, fourCC) {\n var preferenceValue = sampleEntryCodesISO.video[fourCC];\n if (preferenceValue) {\n return (preferenceValue * 2 + num) / (num ? 3 : 2);\n }\n return (sampleEntryCodesISO.audio[fourCC] + num) / (num ? 2 : 1);\n }, 0);\n }\n var CODEC_COMPATIBLE_NAMES = {};\n function getCodecCompatibleNameLower(lowerCaseCodec, preferManagedMediaSource) {\n if (preferManagedMediaSource === void 0) {\n preferManagedMediaSource = true;\n }\n if (CODEC_COMPATIBLE_NAMES[lowerCaseCodec]) {\n return CODEC_COMPATIBLE_NAMES[lowerCaseCodec];\n }\n\n // Idealy fLaC and Opus would be first (spec-compliant) but\n // some browsers will report that fLaC is supported then fail.\n // see: https://bugs.chromium.org/p/chromium/issues/detail?id=1422728\n var codecsToCheck = {\n flac: ['flac', 'fLaC', 'FLAC'],\n opus: ['opus', 'Opus']\n }[lowerCaseCodec];\n for (var i = 0; i < codecsToCheck.length; i++) {\n if (isCodecMediaSourceSupported(codecsToCheck[i], 'audio', preferManagedMediaSource)) {\n CODEC_COMPATIBLE_NAMES[lowerCaseCodec] = codecsToCheck[i];\n return codecsToCheck[i];\n }\n }\n return lowerCaseCodec;\n }\n var AUDIO_CODEC_REGEXP = /flac|opus/i;\n function getCodecCompatibleName(codec, preferManagedMediaSource) {\n if (preferManagedMediaSource === void 0) {\n preferManagedMediaSource = true;\n }\n return codec.replace(AUDIO_CODEC_REGEXP, function (m) {\n return getCodecCompatibleNameLower(m.toLowerCase(), preferManagedMediaSource);\n });\n }\n function pickMostCompleteCodecName(parsedCodec, levelCodec) {\n // Parsing of mp4a codecs strings in mp4-tools from media is incomplete as of d8c6c7a\n // so use level codec is parsed codec is unavailable or incomplete\n if (parsedCodec && parsedCodec !== 'mp4a') {\n return parsedCodec;\n }\n return levelCodec;\n }\n function convertAVC1ToAVCOTI(codec) {\n // Convert avc1 codec string from RFC-4281 to RFC-6381 for MediaSource.isTypeSupported\n var avcdata = codec.split('.');\n if (avcdata.length > 2) {\n var result = avcdata.shift() + '.';\n result += parseInt(avcdata.shift()).toString(16);\n result += ('000' + parseInt(avcdata.shift()).toString(16)).slice(-4);\n return result;\n }\n return codec;\n }\n\n var MASTER_PLAYLIST_REGEX = /#EXT-X-STREAM-INF:([^\\r\\n]*)(?:[\\r\\n](?:#[^\\r\\n]*)?)*([^\\r\\n]+)|#EXT-X-(SESSION-DATA|SESSION-KEY|DEFINE|CONTENT-STEERING|START):([^\\r\\n]*)[\\r\\n]+/g;\n var MASTER_PLAYLIST_MEDIA_REGEX = /#EXT-X-MEDIA:(.*)/g;\n var IS_MEDIA_PLAYLIST = /^#EXT(?:INF|-X-TARGETDURATION):/m; // Handle empty Media Playlist (first EXTINF not signaled, but TARGETDURATION present)\n\n var LEVEL_PLAYLIST_REGEX_FAST = new RegExp([/#EXTINF:\\s*(\\d*(?:\\.\\d+)?)(?:,(.*)\\s+)?/.source,\n // duration (#EXTINF:<duration>,<title>), group 1 => duration, group 2 => title\n /(?!#) *(\\S[\\S ]*)/.source,\n // segment URI, group 3 => the URI (note newline is not eaten)\n /#EXT-X-BYTERANGE:*(.+)/.source,\n // next segment's byterange, group 4 => range spec (x@y)\n /#EXT-X-PROGRAM-DATE-TIME:(.+)/.source,\n // next segment's program date/time group 5 => the datetime spec\n /#.*/.source // All other non-segment oriented tags will match with all groups empty\n ].join('|'), 'g');\n var LEVEL_PLAYLIST_REGEX_SLOW = new RegExp([/#(EXTM3U)/.source, /#EXT-X-(DATERANGE|DEFINE|KEY|MAP|PART|PART-INF|PLAYLIST-TYPE|PRELOAD-HINT|RENDITION-REPORT|SERVER-CONTROL|SKIP|START):(.+)/.source, /#EXT-X-(BITRATE|DISCONTINUITY-SEQUENCE|MEDIA-SEQUENCE|TARGETDURATION|VERSION): *(\\d+)/.source, /#EXT-X-(DISCONTINUITY|ENDLIST|GAP|INDEPENDENT-SEGMENTS)/.source, /(#)([^:]*):(.*)/.source, /(#)(.*)(?:.*)\\r?\\n?/.source].join('|'));\n var M3U8Parser = /*#__PURE__*/function () {\n function M3U8Parser() {}\n M3U8Parser.findGroup = function findGroup(groups, mediaGroupId) {\n for (var i = 0; i < groups.length; i++) {\n var group = groups[i];\n if (group.id === mediaGroupId) {\n return group;\n }\n }\n };\n M3U8Parser.resolve = function resolve(url, baseUrl) {\n return urlToolkitExports.buildAbsoluteURL(baseUrl, url, {\n alwaysNormalize: true\n });\n };\n M3U8Parser.isMediaPlaylist = function isMediaPlaylist(str) {\n return IS_MEDIA_PLAYLIST.test(str);\n };\n M3U8Parser.parseMasterPlaylist = function parseMasterPlaylist(string, baseurl) {\n var hasVariableRefs = hasVariableReferences(string) ;\n var parsed = {\n contentSteering: null,\n levels: [],\n playlistParsingError: null,\n sessionData: null,\n sessionKeys: null,\n startTimeOffset: null,\n variableList: null,\n hasVariableRefs: hasVariableRefs\n };\n var levelsWithKnownCodecs = [];\n MASTER_PLAYLIST_REGEX.lastIndex = 0;\n var result;\n while ((result = MASTER_PLAYLIST_REGEX.exec(string)) != null) {\n if (result[1]) {\n var _level$unknownCodecs;\n // '#EXT-X-STREAM-INF' is found, parse level tag in group 1\n var attrs = new AttrList(result[1]);\n {\n substituteVariablesInAttributes(parsed, attrs, ['CODECS', 'SUPPLEMENTAL-CODECS', 'ALLOWED-CPC', 'PATHWAY-ID', 'STABLE-VARIANT-ID', 'AUDIO', 'VIDEO', 'SUBTITLES', 'CLOSED-CAPTIONS', 'NAME']);\n }\n var uri = substituteVariables(parsed, result[2]) ;\n var level = {\n attrs: attrs,\n bitrate: attrs.decimalInteger('BANDWIDTH') || attrs.decimalInteger('AVERAGE-BANDWIDTH'),\n name: attrs.NAME,\n url: M3U8Parser.resolve(uri, baseurl)\n };\n var resolution = attrs.decimalResolution('RESOLUTION');\n if (resolution) {\n level.width = resolution.width;\n level.height = resolution.height;\n }\n setCodecs(attrs.CODECS, level);\n if (!((_level$unknownCodecs = level.unknownCodecs) != null && _level$unknownCodecs.length)) {\n levelsWithKnownCodecs.push(level);\n }\n parsed.levels.push(level);\n } else if (result[3]) {\n var tag = result[3];\n var attributes = result[4];\n switch (tag) {\n case 'SESSION-DATA':\n {\n // #EXT-X-SESSION-DATA\n var sessionAttrs = new AttrList(attributes);\n {\n substituteVariablesInAttributes(parsed, sessionAttrs, ['DATA-ID', 'LANGUAGE', 'VALUE', 'URI']);\n }\n var dataId = sessionAttrs['DATA-ID'];\n if (dataId) {\n if (parsed.sessionData === null) {\n parsed.sessionData = {};\n }\n parsed.sessionData[dataId] = sessionAttrs;\n }\n break;\n }\n case 'SESSION-KEY':\n {\n // #EXT-X-SESSION-KEY\n var sessionKey = parseKey(attributes, baseurl, parsed);\n if (sessionKey.encrypted && sessionKey.isSupported()) {\n if (parsed.sessionKeys === null) {\n parsed.sessionKeys = [];\n }\n parsed.sessionKeys.push(sessionKey);\n } else {\n logger.warn(\"[Keys] Ignoring invalid EXT-X-SESSION-KEY tag: \\\"\" + attributes + \"\\\"\");\n }\n break;\n }\n case 'DEFINE':\n {\n // #EXT-X-DEFINE\n {\n var variableAttributes = new AttrList(attributes);\n substituteVariablesInAttributes(parsed, variableAttributes, ['NAME', 'VALUE', 'QUERYPARAM']);\n addVariableDefinition(parsed, variableAttributes, baseurl);\n }\n break;\n }\n case 'CONTENT-STEERING':\n {\n // #EXT-X-CONTENT-STEERING\n var contentSteeringAttributes = new AttrList(attributes);\n {\n substituteVariablesInAttributes(parsed, contentSteeringAttributes, ['SERVER-URI', 'PATHWAY-ID']);\n }\n parsed.contentSteering = {\n uri: M3U8Parser.resolve(contentSteeringAttributes['SERVER-URI'], baseurl),\n pathwayId: contentSteeringAttributes['PATHWAY-ID'] || '.'\n };\n break;\n }\n case 'START':\n {\n // #EXT-X-START\n parsed.startTimeOffset = parseStartTimeOffset(attributes);\n break;\n }\n }\n }\n }\n // Filter out levels with unknown codecs if it does not remove all levels\n var stripUnknownCodecLevels = levelsWithKnownCodecs.length > 0 && levelsWithKnownCodecs.length < parsed.levels.length;\n parsed.levels = stripUnknownCodecLevels ? levelsWithKnownCodecs : parsed.levels;\n if (parsed.levels.length === 0) {\n parsed.playlistParsingError = new Error('no levels found in manifest');\n }\n return parsed;\n };\n M3U8Parser.parseMasterPlaylistMedia = function parseMasterPlaylistMedia(string, baseurl, parsed) {\n var result;\n var results = {};\n var levels = parsed.levels;\n var groupsByType = {\n AUDIO: levels.map(function (level) {\n return {\n id: level.attrs.AUDIO,\n audioCodec: level.audioCodec\n };\n }),\n SUBTITLES: levels.map(function (level) {\n return {\n id: level.attrs.SUBTITLES,\n textCodec: level.textCodec\n };\n }),\n 'CLOSED-CAPTIONS': []\n };\n var id = 0;\n MASTER_PLAYLIST_MEDIA_REGEX.lastIndex = 0;\n while ((result = MASTER_PLAYLIST_MEDIA_REGEX.exec(string)) !== null) {\n var attrs = new AttrList(result[1]);\n var type = attrs.TYPE;\n if (type) {\n var groups = groupsByType[type];\n var medias = results[type] || [];\n results[type] = medias;\n {\n substituteVariablesInAttributes(parsed, attrs, ['URI', 'GROUP-ID', 'LANGUAGE', 'ASSOC-LANGUAGE', 'STABLE-RENDITION-ID', 'NAME', 'INSTREAM-ID', 'CHARACTERISTICS', 'CHANNELS']);\n }\n var lang = attrs.LANGUAGE;\n var assocLang = attrs['ASSOC-LANGUAGE'];\n var channels = attrs.CHANNELS;\n var characteristics = attrs.CHARACTERISTICS;\n var instreamId = attrs['INSTREAM-ID'];\n var media = {\n attrs: attrs,\n bitrate: 0,\n id: id++,\n groupId: attrs['GROUP-ID'] || '',\n name: attrs.NAME || lang || '',\n type: type,\n default: attrs.bool('DEFAULT'),\n autoselect: attrs.bool('AUTOSELECT'),\n forced: attrs.bool('FORCED'),\n lang: lang,\n url: attrs.URI ? M3U8Parser.resolve(attrs.URI, baseurl) : ''\n };\n if (assocLang) {\n media.assocLang = assocLang;\n }\n if (channels) {\n media.channels = channels;\n }\n if (characteristics) {\n media.characteristics = characteristics;\n }\n if (instreamId) {\n media.instreamId = instreamId;\n }\n if (groups != null && groups.length) {\n // If there are audio or text groups signalled in the manifest, let's look for a matching codec string for this track\n // If we don't find the track signalled, lets use the first audio groups codec we have\n // Acting as a best guess\n var groupCodec = M3U8Parser.findGroup(groups, media.groupId) || groups[0];\n assignCodec(media, groupCodec, 'audioCodec');\n assignCodec(media, groupCodec, 'textCodec');\n }\n medias.push(media);\n }\n }\n return results;\n };\n M3U8Parser.parseLevelPlaylist = function parseLevelPlaylist(string, baseurl, id, type, levelUrlId, multivariantVariableList) {\n var level = new LevelDetails(baseurl);\n var fragments = level.fragments;\n // The most recent init segment seen (applies to all subsequent segments)\n var currentInitSegment = null;\n var currentSN = 0;\n var currentPart = 0;\n var totalduration = 0;\n var discontinuityCounter = 0;\n var prevFrag = null;\n var frag = new Fragment(type, baseurl);\n var result;\n var i;\n var levelkeys;\n var firstPdtIndex = -1;\n var createNextFrag = false;\n var nextByteRange = null;\n LEVEL_PLAYLIST_REGEX_FAST.lastIndex = 0;\n level.m3u8 = string;\n level.hasVariableRefs = hasVariableReferences(string) ;\n while ((result = LEVEL_PLAYLIST_REGEX_FAST.exec(string)) !== null) {\n if (createNextFrag) {\n createNextFrag = false;\n frag = new Fragment(type, baseurl);\n // setup the next fragment for part loading\n frag.start = totalduration;\n frag.sn = currentSN;\n frag.cc = discontinuityCounter;\n frag.level = id;\n if (currentInitSegment) {\n frag.initSegment = currentInitSegment;\n frag.rawProgramDateTime = currentInitSegment.rawProgramDateTime;\n currentInitSegment.rawProgramDateTime = null;\n if (nextByteRange) {\n frag.setByteRange(nextByteRange);\n nextByteRange = null;\n }\n }\n }\n var duration = result[1];\n if (duration) {\n // INF\n frag.duration = parseFloat(duration);\n // avoid sliced strings https://github.com/video-dev/hls.js/issues/939\n var title = (' ' + result[2]).slice(1);\n frag.title = title || null;\n frag.tagList.push(title ? ['INF', duration, title] : ['INF', duration]);\n } else if (result[3]) {\n // url\n if (isFiniteNumber(frag.duration)) {\n frag.start = totalduration;\n if (levelkeys) {\n setFragLevelKeys(frag, levelkeys, level);\n }\n frag.sn = currentSN;\n frag.level = id;\n frag.cc = discontinuityCounter;\n fragments.push(frag);\n // avoid sliced strings https://github.com/video-dev/hls.js/issues/939\n var uri = (' ' + result[3]).slice(1);\n frag.relurl = substituteVariables(level, uri) ;\n assignProgramDateTime(frag, prevFrag);\n prevFrag = frag;\n totalduration += frag.duration;\n currentSN++;\n currentPart = 0;\n createNextFrag = true;\n }\n } else if (result[4]) {\n // X-BYTERANGE\n var data = (' ' + result[4]).slice(1);\n if (prevFrag) {\n frag.setByteRange(data, prevFrag);\n } else {\n frag.setByteRange(data);\n }\n } else if (result[5]) {\n // PROGRAM-DATE-TIME\n // avoid sliced strings https://github.com/video-dev/hls.js/issues/939\n frag.rawProgramDateTime = (' ' + result[5]).slice(1);\n frag.tagList.push(['PROGRAM-DATE-TIME', frag.rawProgramDateTime]);\n if (firstPdtIndex === -1) {\n firstPdtIndex = fragments.length;\n }\n } else {\n result = result[0].match(LEVEL_PLAYLIST_REGEX_SLOW);\n if (!result) {\n logger.warn('No matches on slow regex match for level playlist!');\n continue;\n }\n for (i = 1; i < result.length; i++) {\n if (typeof result[i] !== 'undefined') {\n break;\n }\n }\n\n // avoid sliced strings https://github.com/video-dev/hls.js/issues/939\n var tag = (' ' + result[i]).slice(1);\n var value1 = (' ' + result[i + 1]).slice(1);\n var value2 = result[i + 2] ? (' ' + result[i + 2]).slice(1) : '';\n switch (tag) {\n case 'PLAYLIST-TYPE':\n level.type = value1.toUpperCase();\n break;\n case 'MEDIA-SEQUENCE':\n currentSN = level.startSN = parseInt(value1);\n break;\n case 'SKIP':\n {\n var skipAttrs = new AttrList(value1);\n {\n substituteVariablesInAttributes(level, skipAttrs, ['RECENTLY-REMOVED-DATERANGES']);\n }\n var skippedSegments = skipAttrs.decimalInteger('SKIPPED-SEGMENTS');\n if (isFiniteNumber(skippedSegments)) {\n level.skippedSegments = skippedSegments;\n // This will result in fragments[] containing undefined values, which we will fill in with `mergeDetails`\n for (var _i = skippedSegments; _i--;) {\n fragments.unshift(null);\n }\n currentSN += skippedSegments;\n }\n var recentlyRemovedDateranges = skipAttrs.enumeratedString('RECENTLY-REMOVED-DATERANGES');\n if (recentlyRemovedDateranges) {\n level.recentlyRemovedDateranges = recentlyRemovedDateranges.split('\\t');\n }\n break;\n }\n case 'TARGETDURATION':\n level.targetduration = Math.max(parseInt(value1), 1);\n break;\n case 'VERSION':\n level.version = parseInt(value1);\n break;\n case 'INDEPENDENT-SEGMENTS':\n case 'EXTM3U':\n break;\n case 'ENDLIST':\n level.live = false;\n break;\n case '#':\n if (value1 || value2) {\n frag.tagList.push(value2 ? [value1, value2] : [value1]);\n }\n break;\n case 'DISCONTINUITY':\n discontinuityCounter++;\n frag.tagList.push(['DIS']);\n break;\n case 'GAP':\n frag.gap = true;\n frag.tagList.push([tag]);\n break;\n case 'BITRATE':\n frag.tagList.push([tag, value1]);\n break;\n case 'DATERANGE':\n {\n var dateRangeAttr = new AttrList(value1);\n {\n substituteVariablesInAttributes(level, dateRangeAttr, ['ID', 'CLASS', 'START-DATE', 'END-DATE', 'SCTE35-CMD', 'SCTE35-OUT', 'SCTE35-IN']);\n substituteVariablesInAttributes(level, dateRangeAttr, dateRangeAttr.clientAttrs);\n }\n var dateRange = new DateRange(dateRangeAttr, level.dateRanges[dateRangeAttr.ID]);\n if (dateRange.isValid || level.skippedSegments) {\n level.dateRanges[dateRange.id] = dateRange;\n } else {\n logger.warn(\"Ignoring invalid DATERANGE tag: \\\"\" + value1 + \"\\\"\");\n }\n // Add to fragment tag list for backwards compatibility (< v1.2.0)\n frag.tagList.push(['EXT-X-DATERANGE', value1]);\n break;\n }\n case 'DEFINE':\n {\n {\n var variableAttributes = new AttrList(value1);\n substituteVariablesInAttributes(level, variableAttributes, ['NAME', 'VALUE', 'IMPORT', 'QUERYPARAM']);\n if ('IMPORT' in variableAttributes) {\n importVariableDefinition(level, variableAttributes, multivariantVariableList);\n } else {\n addVariableDefinition(level, variableAttributes, baseurl);\n }\n }\n break;\n }\n case 'DISCONTINUITY-SEQUENCE':\n discontinuityCounter = parseInt(value1);\n break;\n case 'KEY':\n {\n var levelKey = parseKey(value1, baseurl, level);\n if (levelKey.isSupported()) {\n if (levelKey.method === 'NONE') {\n levelkeys = undefined;\n break;\n }\n if (!levelkeys) {\n levelkeys = {};\n }\n if (levelkeys[levelKey.keyFormat]) {\n levelkeys = _extends({}, levelkeys);\n }\n levelkeys[levelKey.keyFormat] = levelKey;\n } else {\n logger.warn(\"[Keys] Ignoring invalid EXT-X-KEY tag: \\\"\" + value1 + \"\\\"\");\n }\n break;\n }\n case 'START':\n level.startTimeOffset = parseStartTimeOffset(value1);\n break;\n case 'MAP':\n {\n var mapAttrs = new AttrList(value1);\n {\n substituteVariablesInAttributes(level, mapAttrs, ['BYTERANGE', 'URI']);\n }\n if (frag.duration) {\n // Initial segment tag is after segment duration tag.\n // #EXTINF: 6.0\n // #EXT-X-MAP:URI=\"init.mp4\n var init = new Fragment(type, baseurl);\n setInitSegment(init, mapAttrs, id, levelkeys);\n currentInitSegment = init;\n frag.initSegment = currentInitSegment;\n if (currentInitSegment.rawProgramDateTime && !frag.rawProgramDateTime) {\n frag.rawProgramDateTime = currentInitSegment.rawProgramDateTime;\n }\n } else {\n // Initial segment tag is before segment duration tag\n // Handle case where EXT-X-MAP is declared after EXT-X-BYTERANGE\n var end = frag.byteRangeEndOffset;\n if (end) {\n var start = frag.byteRangeStartOffset;\n nextByteRange = end - start + \"@\" + start;\n } else {\n nextByteRange = null;\n }\n setInitSegment(frag, mapAttrs, id, levelkeys);\n currentInitSegment = frag;\n createNextFrag = true;\n }\n break;\n }\n case 'SERVER-CONTROL':\n {\n var serverControlAttrs = new AttrList(value1);\n level.canBlockReload = serverControlAttrs.bool('CAN-BLOCK-RELOAD');\n level.canSkipUntil = serverControlAttrs.optionalFloat('CAN-SKIP-UNTIL', 0);\n level.canSkipDateRanges = level.canSkipUntil > 0 && serverControlAttrs.bool('CAN-SKIP-DATERANGES');\n level.partHoldBack = serverControlAttrs.optionalFloat('PART-HOLD-BACK', 0);\n level.holdBack = serverControlAttrs.optionalFloat('HOLD-BACK', 0);\n break;\n }\n case 'PART-INF':\n {\n var partInfAttrs = new AttrList(value1);\n level.partTarget = partInfAttrs.decimalFloatingPoint('PART-TARGET');\n break;\n }\n case 'PART':\n {\n var partList = level.partList;\n if (!partList) {\n partList = level.partList = [];\n }\n var previousFragmentPart = currentPart > 0 ? partList[partList.length - 1] : undefined;\n var index = currentPart++;\n var partAttrs = new AttrList(value1);\n {\n substituteVariablesInAttributes(level, partAttrs, ['BYTERANGE', 'URI']);\n }\n var part = new Part(partAttrs, frag, baseurl, index, previousFragmentPart);\n partList.push(part);\n frag.duration += part.duration;\n break;\n }\n case 'PRELOAD-HINT':\n {\n var preloadHintAttrs = new AttrList(value1);\n {\n substituteVariablesInAttributes(level, preloadHintAttrs, ['URI']);\n }\n level.preloadHint = preloadHintAttrs;\n break;\n }\n case 'RENDITION-REPORT':\n {\n var renditionReportAttrs = new AttrList(value1);\n {\n substituteVariablesInAttributes(level, renditionReportAttrs, ['URI']);\n }\n level.renditionReports = level.renditionReports || [];\n level.renditionReports.push(renditionReportAttrs);\n break;\n }\n default:\n logger.warn(\"line parsed but not handled: \" + result);\n break;\n }\n }\n }\n if (prevFrag && !prevFrag.relurl) {\n fragments.pop();\n totalduration -= prevFrag.duration;\n if (level.partList) {\n level.fragmentHint = prevFrag;\n }\n } else if (level.partList) {\n assignProgramDateTime(frag, prevFrag);\n frag.cc = discontinuityCounter;\n level.fragmentHint = frag;\n if (levelkeys) {\n setFragLevelKeys(frag, levelkeys, level);\n }\n }\n var fragmentLength = fragments.length;\n var firstFragment = fragments[0];\n var lastFragment = fragments[fragmentLength - 1];\n totalduration += level.skippedSegments * level.targetduration;\n if (totalduration > 0 && fragmentLength && lastFragment) {\n level.averagetargetduration = totalduration / fragmentLength;\n var lastSn = lastFragment.sn;\n level.endSN = lastSn !== 'initSegment' ? lastSn : 0;\n if (!level.live) {\n lastFragment.endList = true;\n }\n if (firstFragment) {\n level.startCC = firstFragment.cc;\n }\n } else {\n level.endSN = 0;\n level.startCC = 0;\n }\n if (level.fragmentHint) {\n totalduration += level.fragmentHint.duration;\n }\n level.totalduration = totalduration;\n level.endCC = discontinuityCounter;\n\n /**\n * Backfill any missing PDT values\n * \"If the first EXT-X-PROGRAM-DATE-TIME tag in a Playlist appears after\n * one or more Media Segment URIs, the client SHOULD extrapolate\n * backward from that tag (using EXTINF durations and/or media\n * timestamps) to associate dates with those segments.\"\n * We have already extrapolated forward, but all fragments up to the first instance of PDT do not have their PDTs\n * computed.\n */\n if (firstPdtIndex > 0) {\n backfillProgramDateTimes(fragments, firstPdtIndex);\n }\n return level;\n };\n return M3U8Parser;\n }();\n function parseKey(keyTagAttributes, baseurl, parsed) {\n var _keyAttrs$METHOD, _keyAttrs$KEYFORMAT;\n // https://tools.ietf.org/html/rfc8216#section-4.3.2.4\n var keyAttrs = new AttrList(keyTagAttributes);\n {\n substituteVariablesInAttributes(parsed, keyAttrs, ['KEYFORMAT', 'KEYFORMATVERSIONS', 'URI', 'IV', 'URI']);\n }\n var decryptmethod = (_keyAttrs$METHOD = keyAttrs.METHOD) != null ? _keyAttrs$METHOD : '';\n var decrypturi = keyAttrs.URI;\n var decryptiv = keyAttrs.hexadecimalInteger('IV');\n var decryptkeyformatversions = keyAttrs.KEYFORMATVERSIONS;\n // From RFC: This attribute is OPTIONAL; its absence indicates an implicit value of \"identity\".\n var decryptkeyformat = (_keyAttrs$KEYFORMAT = keyAttrs.KEYFORMAT) != null ? _keyAttrs$KEYFORMAT : 'identity';\n if (decrypturi && keyAttrs.IV && !decryptiv) {\n logger.error(\"Invalid IV: \" + keyAttrs.IV);\n }\n // If decrypturi is a URI with a scheme, then baseurl will be ignored\n // No uri is allowed when METHOD is NONE\n var resolvedUri = decrypturi ? M3U8Parser.resolve(decrypturi, baseurl) : '';\n var keyFormatVersions = (decryptkeyformatversions ? decryptkeyformatversions : '1').split('/').map(Number).filter(Number.isFinite);\n return new LevelKey(decryptmethod, resolvedUri, decryptkeyformat, keyFormatVersions, decryptiv);\n }\n function parseStartTimeOffset(startAttributes) {\n var startAttrs = new AttrList(startAttributes);\n var startTimeOffset = startAttrs.decimalFloatingPoint('TIME-OFFSET');\n if (isFiniteNumber(startTimeOffset)) {\n return startTimeOffset;\n }\n return null;\n }\n function setCodecs(codecsAttributeValue, level) {\n var codecs = (codecsAttributeValue || '').split(/[ ,]+/).filter(function (c) {\n return c;\n });\n ['video', 'audio', 'text'].forEach(function (type) {\n var filtered = codecs.filter(function (codec) {\n return isCodecType(codec, type);\n });\n if (filtered.length) {\n // Comma separated list of all codecs for type\n level[type + \"Codec\"] = filtered.join(',');\n // Remove known codecs so that only unknownCodecs are left after iterating through each type\n codecs = codecs.filter(function (codec) {\n return filtered.indexOf(codec) === -1;\n });\n }\n });\n level.unknownCodecs = codecs;\n }\n function assignCodec(media, groupItem, codecProperty) {\n var codecValue = groupItem[codecProperty];\n if (codecValue) {\n media[codecProperty] = codecValue;\n }\n }\n function backfillProgramDateTimes(fragments, firstPdtIndex) {\n var fragPrev = fragments[firstPdtIndex];\n for (var i = firstPdtIndex; i--;) {\n var frag = fragments[i];\n // Exit on delta-playlist skipped segments\n if (!frag) {\n return;\n }\n frag.programDateTime = fragPrev.programDateTime - frag.duration * 1000;\n fragPrev = frag;\n }\n }\n function assignProgramDateTime(frag, prevFrag) {\n if (frag.rawProgramDateTime) {\n frag.programDateTime = Date.parse(frag.rawProgramDateTime);\n } else if (prevFrag != null && prevFrag.programDateTime) {\n frag.programDateTime = prevFrag.endProgramDateTime;\n }\n if (!isFiniteNumber(frag.programDateTime)) {\n frag.programDateTime = null;\n frag.rawProgramDateTime = null;\n }\n }\n function setInitSegment(frag, mapAttrs, id, levelkeys) {\n frag.relurl = mapAttrs.URI;\n if (mapAttrs.BYTERANGE) {\n frag.setByteRange(mapAttrs.BYTERANGE);\n }\n frag.level = id;\n frag.sn = 'initSegment';\n if (levelkeys) {\n frag.levelkeys = levelkeys;\n }\n frag.initSegment = null;\n }\n function setFragLevelKeys(frag, levelkeys, level) {\n frag.levelkeys = levelkeys;\n var encryptedFragments = level.encryptedFragments;\n if ((!encryptedFragments.length || encryptedFragments[encryptedFragments.length - 1].levelkeys !== levelkeys) && Object.keys(levelkeys).some(function (format) {\n return levelkeys[format].isCommonEncryption;\n })) {\n encryptedFragments.push(frag);\n }\n }\n\n var PlaylistContextType = {\n MANIFEST: \"manifest\",\n LEVEL: \"level\",\n AUDIO_TRACK: \"audioTrack\",\n SUBTITLE_TRACK: \"subtitleTrack\"\n };\n var PlaylistLevelType = {\n MAIN: \"main\",\n AUDIO: \"audio\",\n SUBTITLE: \"subtitle\"\n };\n\n function mapContextToLevelType(context) {\n var type = context.type;\n switch (type) {\n case PlaylistContextType.AUDIO_TRACK:\n return PlaylistLevelType.AUDIO;\n case PlaylistContextType.SUBTITLE_TRACK:\n return PlaylistLevelType.SUBTITLE;\n default:\n return PlaylistLevelType.MAIN;\n }\n }\n function getResponseUrl(response, context) {\n var url = response.url;\n // responseURL not supported on some browsers (it is used to detect URL redirection)\n // data-uri mode also not supported (but no need to detect redirection)\n if (url === undefined || url.indexOf('data:') === 0) {\n // fallback to initial URL\n url = context.url;\n }\n return url;\n }\n var PlaylistLoader = /*#__PURE__*/function () {\n function PlaylistLoader(hls) {\n this.hls = void 0;\n this.loaders = Object.create(null);\n this.variableList = null;\n this.hls = hls;\n this.registerListeners();\n }\n var _proto = PlaylistLoader.prototype;\n _proto.startLoad = function startLoad(startPosition) {};\n _proto.stopLoad = function stopLoad() {\n this.destroyInternalLoaders();\n };\n _proto.registerListeners = function registerListeners() {\n var hls = this.hls;\n hls.on(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.on(Events.LEVEL_LOADING, this.onLevelLoading, this);\n hls.on(Events.AUDIO_TRACK_LOADING, this.onAudioTrackLoading, this);\n hls.on(Events.SUBTITLE_TRACK_LOADING, this.onSubtitleTrackLoading, this);\n };\n _proto.unregisterListeners = function unregisterListeners() {\n var hls = this.hls;\n hls.off(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.off(Events.LEVEL_LOADING, this.onLevelLoading, this);\n hls.off(Events.AUDIO_TRACK_LOADING, this.onAudioTrackLoading, this);\n hls.off(Events.SUBTITLE_TRACK_LOADING, this.onSubtitleTrackLoading, this);\n }\n\n /**\n * Returns defaults or configured loader-type overloads (pLoader and loader config params)\n */;\n _proto.createInternalLoader = function createInternalLoader(context) {\n var config = this.hls.config;\n var PLoader = config.pLoader;\n var Loader = config.loader;\n var InternalLoader = PLoader || Loader;\n var loader = new InternalLoader(config);\n this.loaders[context.type] = loader;\n return loader;\n };\n _proto.getInternalLoader = function getInternalLoader(context) {\n return this.loaders[context.type];\n };\n _proto.resetInternalLoader = function resetInternalLoader(contextType) {\n if (this.loaders[contextType]) {\n delete this.loaders[contextType];\n }\n }\n\n /**\n * Call `destroy` on all internal loader instances mapped (one per context type)\n */;\n _proto.destroyInternalLoaders = function destroyInternalLoaders() {\n for (var contextType in this.loaders) {\n var loader = this.loaders[contextType];\n if (loader) {\n loader.destroy();\n }\n this.resetInternalLoader(contextType);\n }\n };\n _proto.destroy = function destroy() {\n this.variableList = null;\n this.unregisterListeners();\n this.destroyInternalLoaders();\n };\n _proto.onManifestLoading = function onManifestLoading(event, data) {\n var url = data.url;\n this.variableList = null;\n this.load({\n id: null,\n level: 0,\n responseType: 'text',\n type: PlaylistContextType.MANIFEST,\n url: url,\n deliveryDirectives: null\n });\n };\n _proto.onLevelLoading = function onLevelLoading(event, data) {\n var id = data.id,\n level = data.level,\n pathwayId = data.pathwayId,\n url = data.url,\n deliveryDirectives = data.deliveryDirectives;\n this.load({\n id: id,\n level: level,\n pathwayId: pathwayId,\n responseType: 'text',\n type: PlaylistContextType.LEVEL,\n url: url,\n deliveryDirectives: deliveryDirectives\n });\n };\n _proto.onAudioTrackLoading = function onAudioTrackLoading(event, data) {\n var id = data.id,\n groupId = data.groupId,\n url = data.url,\n deliveryDirectives = data.deliveryDirectives;\n this.load({\n id: id,\n groupId: groupId,\n level: null,\n responseType: 'text',\n type: PlaylistContextType.AUDIO_TRACK,\n url: url,\n deliveryDirectives: deliveryDirectives\n });\n };\n _proto.onSubtitleTrackLoading = function onSubtitleTrackLoading(event, data) {\n var id = data.id,\n groupId = data.groupId,\n url = data.url,\n deliveryDirectives = data.deliveryDirectives;\n this.load({\n id: id,\n groupId: groupId,\n level: null,\n responseType: 'text',\n type: PlaylistContextType.SUBTITLE_TRACK,\n url: url,\n deliveryDirectives: deliveryDirectives\n });\n };\n _proto.load = function load(context) {\n var _context$deliveryDire,\n _this = this;\n var config = this.hls.config;\n\n // logger.debug(`[playlist-loader]: Loading playlist of type ${context.type}, level: ${context.level}, id: ${context.id}`);\n\n // Check if a loader for this context already exists\n var loader = this.getInternalLoader(context);\n if (loader) {\n var loaderContext = loader.context;\n if (loaderContext && loaderContext.url === context.url && loaderContext.level === context.level) {\n // same URL can't overlap\n logger.trace('[playlist-loader]: playlist request ongoing');\n return;\n }\n logger.log(\"[playlist-loader]: aborting previous loader for type: \" + context.type);\n loader.abort();\n }\n\n // apply different configs for retries depending on\n // context (manifest, level, audio/subs playlist)\n var loadPolicy;\n if (context.type === PlaylistContextType.MANIFEST) {\n loadPolicy = config.manifestLoadPolicy.default;\n } else {\n loadPolicy = _extends({}, config.playlistLoadPolicy.default, {\n timeoutRetry: null,\n errorRetry: null\n });\n }\n loader = this.createInternalLoader(context);\n\n // Override level/track timeout for LL-HLS requests\n // (the default of 10000ms is counter productive to blocking playlist reload requests)\n if (isFiniteNumber((_context$deliveryDire = context.deliveryDirectives) == null ? void 0 : _context$deliveryDire.part)) {\n var levelDetails;\n if (context.type === PlaylistContextType.LEVEL && context.level !== null) {\n levelDetails = this.hls.levels[context.level].details;\n } else if (context.type === PlaylistContextType.AUDIO_TRACK && context.id !== null) {\n levelDetails = this.hls.audioTracks[context.id].details;\n } else if (context.type === PlaylistContextType.SUBTITLE_TRACK && context.id !== null) {\n levelDetails = this.hls.subtitleTracks[context.id].details;\n }\n if (levelDetails) {\n var partTarget = levelDetails.partTarget;\n var targetDuration = levelDetails.targetduration;\n if (partTarget && targetDuration) {\n var maxLowLatencyPlaylistRefresh = Math.max(partTarget * 3, targetDuration * 0.8) * 1000;\n loadPolicy = _extends({}, loadPolicy, {\n maxTimeToFirstByteMs: Math.min(maxLowLatencyPlaylistRefresh, loadPolicy.maxTimeToFirstByteMs),\n maxLoadTimeMs: Math.min(maxLowLatencyPlaylistRefresh, loadPolicy.maxTimeToFirstByteMs)\n });\n }\n }\n }\n var legacyRetryCompatibility = loadPolicy.errorRetry || loadPolicy.timeoutRetry || {};\n var loaderConfig = {\n loadPolicy: loadPolicy,\n timeout: loadPolicy.maxLoadTimeMs,\n maxRetry: legacyRetryCompatibility.maxNumRetry || 0,\n retryDelay: legacyRetryCompatibility.retryDelayMs || 0,\n maxRetryDelay: legacyRetryCompatibility.maxRetryDelayMs || 0\n };\n var loaderCallbacks = {\n onSuccess: function onSuccess(response, stats, context, networkDetails) {\n var loader = _this.getInternalLoader(context);\n _this.resetInternalLoader(context.type);\n var string = response.data;\n\n // Validate if it is an M3U8 at all\n if (string.indexOf('#EXTM3U') !== 0) {\n _this.handleManifestParsingError(response, context, new Error('no EXTM3U delimiter'), networkDetails || null, stats);\n return;\n }\n stats.parsing.start = performance.now();\n if (M3U8Parser.isMediaPlaylist(string)) {\n _this.handleTrackOrLevelPlaylist(response, stats, context, networkDetails || null, loader);\n } else {\n _this.handleMasterPlaylist(response, stats, context, networkDetails);\n }\n },\n onError: function onError(response, context, networkDetails, stats) {\n _this.handleNetworkError(context, networkDetails, false, response, stats);\n },\n onTimeout: function onTimeout(stats, context, networkDetails) {\n _this.handleNetworkError(context, networkDetails, true, undefined, stats);\n }\n };\n\n // logger.debug(`[playlist-loader]: Calling internal loader delegate for URL: ${context.url}`);\n\n loader.load(context, loaderConfig, loaderCallbacks);\n };\n _proto.handleMasterPlaylist = function handleMasterPlaylist(response, stats, context, networkDetails) {\n var hls = this.hls;\n var string = response.data;\n var url = getResponseUrl(response, context);\n var parsedResult = M3U8Parser.parseMasterPlaylist(string, url);\n if (parsedResult.playlistParsingError) {\n this.handleManifestParsingError(response, context, parsedResult.playlistParsingError, networkDetails, stats);\n return;\n }\n var contentSteering = parsedResult.contentSteering,\n levels = parsedResult.levels,\n sessionData = parsedResult.sessionData,\n sessionKeys = parsedResult.sessionKeys,\n startTimeOffset = parsedResult.startTimeOffset,\n variableList = parsedResult.variableList;\n this.variableList = variableList;\n var _M3U8Parser$parseMast = M3U8Parser.parseMasterPlaylistMedia(string, url, parsedResult),\n _M3U8Parser$parseMast2 = _M3U8Parser$parseMast.AUDIO,\n audioTracks = _M3U8Parser$parseMast2 === void 0 ? [] : _M3U8Parser$parseMast2,\n subtitles = _M3U8Parser$parseMast.SUBTITLES,\n captions = _M3U8Parser$parseMast['CLOSED-CAPTIONS'];\n if (audioTracks.length) {\n // check if we have found an audio track embedded in main playlist (audio track without URI attribute)\n var embeddedAudioFound = audioTracks.some(function (audioTrack) {\n return !audioTrack.url;\n });\n\n // if no embedded audio track defined, but audio codec signaled in quality level,\n // we need to signal this main audio track this could happen with playlists with\n // alt audio rendition in which quality levels (main)\n // contains both audio+video. but with mixed audio track not signaled\n if (!embeddedAudioFound && levels[0].audioCodec && !levels[0].attrs.AUDIO) {\n logger.log('[playlist-loader]: audio codec signaled in quality level, but no embedded audio track signaled, create one');\n audioTracks.unshift({\n type: 'main',\n name: 'main',\n groupId: 'main',\n default: false,\n autoselect: false,\n forced: false,\n id: -1,\n attrs: new AttrList({}),\n bitrate: 0,\n url: ''\n });\n }\n }\n hls.trigger(Events.MANIFEST_LOADED, {\n levels: levels,\n audioTracks: audioTracks,\n subtitles: subtitles,\n captions: captions,\n contentSteering: contentSteering,\n url: url,\n stats: stats,\n networkDetails: networkDetails,\n sessionData: sessionData,\n sessionKeys: sessionKeys,\n startTimeOffset: startTimeOffset,\n variableList: variableList\n });\n };\n _proto.handleTrackOrLevelPlaylist = function handleTrackOrLevelPlaylist(response, stats, context, networkDetails, loader) {\n var hls = this.hls;\n var id = context.id,\n level = context.level,\n type = context.type;\n var url = getResponseUrl(response, context);\n var levelUrlId = 0;\n var levelId = isFiniteNumber(level) ? level : isFiniteNumber(id) ? id : 0;\n var levelType = mapContextToLevelType(context);\n var levelDetails = M3U8Parser.parseLevelPlaylist(response.data, url, levelId, levelType, levelUrlId, this.variableList);\n\n // We have done our first request (Manifest-type) and receive\n // not a master playlist but a chunk-list (track/level)\n // We fire the manifest-loaded event anyway with the parsed level-details\n // by creating a single-level structure for it.\n if (type === PlaylistContextType.MANIFEST) {\n var singleLevel = {\n attrs: new AttrList({}),\n bitrate: 0,\n details: levelDetails,\n name: '',\n url: url\n };\n hls.trigger(Events.MANIFEST_LOADED, {\n levels: [singleLevel],\n audioTracks: [],\n url: url,\n stats: stats,\n networkDetails: networkDetails,\n sessionData: null,\n sessionKeys: null,\n contentSteering: null,\n startTimeOffset: null,\n variableList: null\n });\n }\n\n // save parsing time\n stats.parsing.end = performance.now();\n\n // extend the context with the new levelDetails property\n context.levelDetails = levelDetails;\n this.handlePlaylistLoaded(levelDetails, response, stats, context, networkDetails, loader);\n };\n _proto.handleManifestParsingError = function handleManifestParsingError(response, context, error, networkDetails, stats) {\n this.hls.trigger(Events.ERROR, {\n type: ErrorTypes.NETWORK_ERROR,\n details: ErrorDetails.MANIFEST_PARSING_ERROR,\n fatal: context.type === PlaylistContextType.MANIFEST,\n url: response.url,\n err: error,\n error: error,\n reason: error.message,\n response: response,\n context: context,\n networkDetails: networkDetails,\n stats: stats\n });\n };\n _proto.handleNetworkError = function handleNetworkError(context, networkDetails, timeout, response, stats) {\n if (timeout === void 0) {\n timeout = false;\n }\n var message = \"A network \" + (timeout ? 'timeout' : 'error' + (response ? ' (status ' + response.code + ')' : '')) + \" occurred while loading \" + context.type;\n if (context.type === PlaylistContextType.LEVEL) {\n message += \": \" + context.level + \" id: \" + context.id;\n } else if (context.type === PlaylistContextType.AUDIO_TRACK || context.type === PlaylistContextType.SUBTITLE_TRACK) {\n message += \" id: \" + context.id + \" group-id: \\\"\" + context.groupId + \"\\\"\";\n }\n var error = new Error(message);\n logger.warn(\"[playlist-loader]: \" + message);\n var details = ErrorDetails.UNKNOWN;\n var fatal = false;\n var loader = this.getInternalLoader(context);\n switch (context.type) {\n case PlaylistContextType.MANIFEST:\n details = timeout ? ErrorDetails.MANIFEST_LOAD_TIMEOUT : ErrorDetails.MANIFEST_LOAD_ERROR;\n fatal = true;\n break;\n case PlaylistContextType.LEVEL:\n details = timeout ? ErrorDetails.LEVEL_LOAD_TIMEOUT : ErrorDetails.LEVEL_LOAD_ERROR;\n fatal = false;\n break;\n case PlaylistContextType.AUDIO_TRACK:\n details = timeout ? ErrorDetails.AUDIO_TRACK_LOAD_TIMEOUT : ErrorDetails.AUDIO_TRACK_LOAD_ERROR;\n fatal = false;\n break;\n case PlaylistContextType.SUBTITLE_TRACK:\n details = timeout ? ErrorDetails.SUBTITLE_TRACK_LOAD_TIMEOUT : ErrorDetails.SUBTITLE_LOAD_ERROR;\n fatal = false;\n break;\n }\n if (loader) {\n this.resetInternalLoader(context.type);\n }\n var errorData = {\n type: ErrorTypes.NETWORK_ERROR,\n details: details,\n fatal: fatal,\n url: context.url,\n loader: loader,\n context: context,\n error: error,\n networkDetails: networkDetails,\n stats: stats\n };\n if (response) {\n var url = (networkDetails == null ? void 0 : networkDetails.url) || context.url;\n errorData.response = _objectSpread2({\n url: url,\n data: undefined\n }, response);\n }\n this.hls.trigger(Events.ERROR, errorData);\n };\n _proto.handlePlaylistLoaded = function handlePlaylistLoaded(levelDetails, response, stats, context, networkDetails, loader) {\n var hls = this.hls;\n var type = context.type,\n level = context.level,\n id = context.id,\n groupId = context.groupId,\n deliveryDirectives = context.deliveryDirectives;\n var url = getResponseUrl(response, context);\n var parent = mapContextToLevelType(context);\n var levelIndex = typeof context.level === 'number' && parent === PlaylistLevelType.MAIN ? level : undefined;\n if (!levelDetails.fragments.length) {\n var _error = new Error('No Segments found in Playlist');\n hls.trigger(Events.ERROR, {\n type: ErrorTypes.NETWORK_ERROR,\n details: ErrorDetails.LEVEL_EMPTY_ERROR,\n fatal: false,\n url: url,\n error: _error,\n reason: _error.message,\n response: response,\n context: context,\n level: levelIndex,\n parent: parent,\n networkDetails: networkDetails,\n stats: stats\n });\n return;\n }\n if (!levelDetails.targetduration) {\n levelDetails.playlistParsingError = new Error('Missing Target Duration');\n }\n var error = levelDetails.playlistParsingError;\n if (error) {\n hls.trigger(Events.ERROR, {\n type: ErrorTypes.NETWORK_ERROR,\n details: ErrorDetails.LEVEL_PARSING_ERROR,\n fatal: false,\n url: url,\n error: error,\n reason: error.message,\n response: response,\n context: context,\n level: levelIndex,\n parent: parent,\n networkDetails: networkDetails,\n stats: stats\n });\n return;\n }\n if (levelDetails.live && loader) {\n if (loader.getCacheAge) {\n levelDetails.ageHeader = loader.getCacheAge() || 0;\n }\n if (!loader.getCacheAge || isNaN(levelDetails.ageHeader)) {\n levelDetails.ageHeader = 0;\n }\n }\n switch (type) {\n case PlaylistContextType.MANIFEST:\n case PlaylistContextType.LEVEL:\n hls.trigger(Events.LEVEL_LOADED, {\n details: levelDetails,\n level: levelIndex || 0,\n id: id || 0,\n stats: stats,\n networkDetails: networkDetails,\n deliveryDirectives: deliveryDirectives\n });\n break;\n case PlaylistContextType.AUDIO_TRACK:\n hls.trigger(Events.AUDIO_TRACK_LOADED, {\n details: levelDetails,\n id: id || 0,\n groupId: groupId || '',\n stats: stats,\n networkDetails: networkDetails,\n deliveryDirectives: deliveryDirectives\n });\n break;\n case PlaylistContextType.SUBTITLE_TRACK:\n hls.trigger(Events.SUBTITLE_TRACK_LOADED, {\n details: levelDetails,\n id: id || 0,\n groupId: groupId || '',\n stats: stats,\n networkDetails: networkDetails,\n deliveryDirectives: deliveryDirectives\n });\n break;\n }\n };\n return PlaylistLoader;\n }();\n\n function sendAddTrackEvent(track, videoEl) {\n var event;\n try {\n event = new Event('addtrack');\n } catch (err) {\n // for IE11\n event = document.createEvent('Event');\n event.initEvent('addtrack', false, false);\n }\n event.track = track;\n videoEl.dispatchEvent(event);\n }\n function addCueToTrack(track, cue) {\n // Sometimes there are cue overlaps on segmented vtts so the same\n // cue can appear more than once in different vtt files.\n // This avoid showing duplicated cues with same timecode and text.\n var mode = track.mode;\n if (mode === 'disabled') {\n track.mode = 'hidden';\n }\n if (track.cues && !track.cues.getCueById(cue.id)) {\n try {\n track.addCue(cue);\n if (!track.cues.getCueById(cue.id)) {\n throw new Error(\"addCue is failed for: \" + cue);\n }\n } catch (err) {\n logger.debug(\"[texttrack-utils]: \" + err);\n try {\n var textTrackCue = new self.TextTrackCue(cue.startTime, cue.endTime, cue.text);\n textTrackCue.id = cue.id;\n track.addCue(textTrackCue);\n } catch (err2) {\n logger.debug(\"[texttrack-utils]: Legacy TextTrackCue fallback failed: \" + err2);\n }\n }\n }\n if (mode === 'disabled') {\n track.mode = mode;\n }\n }\n function clearCurrentCues(track) {\n // When track.mode is disabled, track.cues will be null.\n // To guarantee the removal of cues, we need to temporarily\n // change the mode to hidden\n var mode = track.mode;\n if (mode === 'disabled') {\n track.mode = 'hidden';\n }\n if (track.cues) {\n for (var i = track.cues.length; i--;) {\n track.removeCue(track.cues[i]);\n }\n }\n if (mode === 'disabled') {\n track.mode = mode;\n }\n }\n function removeCuesInRange(track, start, end, predicate) {\n var mode = track.mode;\n if (mode === 'disabled') {\n track.mode = 'hidden';\n }\n if (track.cues && track.cues.length > 0) {\n var cues = getCuesInRange(track.cues, start, end);\n for (var i = 0; i < cues.length; i++) {\n if (!predicate || predicate(cues[i])) {\n track.removeCue(cues[i]);\n }\n }\n }\n if (mode === 'disabled') {\n track.mode = mode;\n }\n }\n\n // Find first cue starting after given time.\n // Modified version of binary search O(log(n)).\n function getFirstCueIndexAfterTime(cues, time) {\n // If first cue starts after time, start there\n if (time < cues[0].startTime) {\n return 0;\n }\n // If the last cue ends before time there is no overlap\n var len = cues.length - 1;\n if (time > cues[len].endTime) {\n return -1;\n }\n var left = 0;\n var right = len;\n while (left <= right) {\n var mid = Math.floor((right + left) / 2);\n if (time < cues[mid].startTime) {\n right = mid - 1;\n } else if (time > cues[mid].startTime && left < len) {\n left = mid + 1;\n } else {\n // If it's not lower or higher, it must be equal.\n return mid;\n }\n }\n // At this point, left and right have swapped.\n // No direct match was found, left or right element must be the closest. Check which one has the smallest diff.\n return cues[left].startTime - time < time - cues[right].startTime ? left : right;\n }\n function getCuesInRange(cues, start, end) {\n var cuesFound = [];\n var firstCueInRange = getFirstCueIndexAfterTime(cues, start);\n if (firstCueInRange > -1) {\n for (var i = firstCueInRange, len = cues.length; i < len; i++) {\n var _cue = cues[i];\n if (_cue.startTime >= start && _cue.endTime <= end) {\n cuesFound.push(_cue);\n } else if (_cue.startTime > end) {\n return cuesFound;\n }\n }\n }\n return cuesFound;\n }\n function filterSubtitleTracks(textTrackList) {\n var tracks = [];\n for (var i = 0; i < textTrackList.length; i++) {\n var track = textTrackList[i];\n // Edge adds a track without a label; we don't want to use it\n if ((track.kind === 'subtitles' || track.kind === 'captions') && track.label) {\n tracks.push(textTrackList[i]);\n }\n }\n return tracks;\n }\n\n var MetadataSchema = {\n audioId3: \"org.id3\",\n dateRange: \"com.apple.quicktime.HLS\",\n emsg: \"https://aomedia.org/emsg/ID3\"\n };\n\n var MIN_CUE_DURATION = 0.25;\n function getCueClass() {\n if (typeof self === 'undefined') return undefined;\n return self.VTTCue || self.TextTrackCue;\n }\n function createCueWithDataFields(Cue, startTime, endTime, data, type) {\n var cue = new Cue(startTime, endTime, '');\n try {\n cue.value = data;\n if (type) {\n cue.type = type;\n }\n } catch (e) {\n cue = new Cue(startTime, endTime, JSON.stringify(type ? _objectSpread2({\n type: type\n }, data) : data));\n }\n return cue;\n }\n\n // VTTCue latest draft allows an infinite duration, fallback\n // to MAX_VALUE if necessary\n var MAX_CUE_ENDTIME = function () {\n var Cue = getCueClass();\n try {\n Cue && new Cue(0, Number.POSITIVE_INFINITY, '');\n } catch (e) {\n return Number.MAX_VALUE;\n }\n return Number.POSITIVE_INFINITY;\n }();\n function dateRangeDateToTimelineSeconds(date, offset) {\n return date.getTime() / 1000 - offset;\n }\n function hexToArrayBuffer(str) {\n return Uint8Array.from(str.replace(/^0x/, '').replace(/([\\da-fA-F]{2}) ?/g, '0x$1 ').replace(/ +$/, '').split(' ')).buffer;\n }\n var ID3TrackController = /*#__PURE__*/function () {\n function ID3TrackController(hls) {\n this.hls = void 0;\n this.id3Track = null;\n this.media = null;\n this.dateRangeCuesAppended = {};\n this.hls = hls;\n this._registerListeners();\n }\n var _proto = ID3TrackController.prototype;\n _proto.destroy = function destroy() {\n this._unregisterListeners();\n this.id3Track = null;\n this.media = null;\n this.dateRangeCuesAppended = {};\n // @ts-ignore\n this.hls = null;\n };\n _proto._registerListeners = function _registerListeners() {\n var hls = this.hls;\n hls.on(Events.MEDIA_ATTACHED, this.onMediaAttached, this);\n hls.on(Events.MEDIA_DETACHING, this.onMediaDetaching, this);\n hls.on(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.on(Events.FRAG_PARSING_METADATA, this.onFragParsingMetadata, this);\n hls.on(Events.BUFFER_FLUSHING, this.onBufferFlushing, this);\n hls.on(Events.LEVEL_UPDATED, this.onLevelUpdated, this);\n };\n _proto._unregisterListeners = function _unregisterListeners() {\n var hls = this.hls;\n hls.off(Events.MEDIA_ATTACHED, this.onMediaAttached, this);\n hls.off(Events.MEDIA_DETACHING, this.onMediaDetaching, this);\n hls.off(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.off(Events.FRAG_PARSING_METADATA, this.onFragParsingMetadata, this);\n hls.off(Events.BUFFER_FLUSHING, this.onBufferFlushing, this);\n hls.off(Events.LEVEL_UPDATED, this.onLevelUpdated, this);\n }\n\n // Add ID3 metatadata text track.\n ;\n _proto.onMediaAttached = function onMediaAttached(event, data) {\n this.media = data.media;\n };\n _proto.onMediaDetaching = function onMediaDetaching() {\n if (!this.id3Track) {\n return;\n }\n clearCurrentCues(this.id3Track);\n this.id3Track = null;\n this.media = null;\n this.dateRangeCuesAppended = {};\n };\n _proto.onManifestLoading = function onManifestLoading() {\n this.dateRangeCuesAppended = {};\n };\n _proto.createTrack = function createTrack(media) {\n var track = this.getID3Track(media.textTracks);\n track.mode = 'hidden';\n return track;\n };\n _proto.getID3Track = function getID3Track(textTracks) {\n if (!this.media) {\n return;\n }\n for (var i = 0; i < textTracks.length; i++) {\n var textTrack = textTracks[i];\n if (textTrack.kind === 'metadata' && textTrack.label === 'id3') {\n // send 'addtrack' when reusing the textTrack for metadata,\n // same as what we do for captions\n sendAddTrackEvent(textTrack, this.media);\n return textTrack;\n }\n }\n return this.media.addTextTrack('metadata', 'id3');\n };\n _proto.onFragParsingMetadata = function onFragParsingMetadata(event, data) {\n if (!this.media) {\n return;\n }\n var _this$hls$config = this.hls.config,\n enableEmsgMetadataCues = _this$hls$config.enableEmsgMetadataCues,\n enableID3MetadataCues = _this$hls$config.enableID3MetadataCues;\n if (!enableEmsgMetadataCues && !enableID3MetadataCues) {\n return;\n }\n var samples = data.samples;\n\n // create track dynamically\n if (!this.id3Track) {\n this.id3Track = this.createTrack(this.media);\n }\n var Cue = getCueClass();\n if (!Cue) {\n return;\n }\n for (var i = 0; i < samples.length; i++) {\n var type = samples[i].type;\n if (type === MetadataSchema.emsg && !enableEmsgMetadataCues || !enableID3MetadataCues) {\n continue;\n }\n var frames = getID3Frames(samples[i].data);\n if (frames) {\n var startTime = samples[i].pts;\n var endTime = startTime + samples[i].duration;\n if (endTime > MAX_CUE_ENDTIME) {\n endTime = MAX_CUE_ENDTIME;\n }\n var timeDiff = endTime - startTime;\n if (timeDiff <= 0) {\n endTime = startTime + MIN_CUE_DURATION;\n }\n for (var j = 0; j < frames.length; j++) {\n var frame = frames[j];\n // Safari doesn't put the timestamp frame in the TextTrack\n if (!isTimeStampFrame(frame)) {\n // add a bounds to any unbounded cues\n this.updateId3CueEnds(startTime, type);\n var cue = createCueWithDataFields(Cue, startTime, endTime, frame, type);\n if (cue) {\n this.id3Track.addCue(cue);\n }\n }\n }\n }\n }\n };\n _proto.updateId3CueEnds = function updateId3CueEnds(startTime, type) {\n var _this$id3Track;\n var cues = (_this$id3Track = this.id3Track) == null ? void 0 : _this$id3Track.cues;\n if (cues) {\n for (var i = cues.length; i--;) {\n var cue = cues[i];\n if (cue.type === type && cue.startTime < startTime && cue.endTime === MAX_CUE_ENDTIME) {\n cue.endTime = startTime;\n }\n }\n }\n };\n _proto.onBufferFlushing = function onBufferFlushing(event, _ref) {\n var startOffset = _ref.startOffset,\n endOffset = _ref.endOffset,\n type = _ref.type;\n var id3Track = this.id3Track,\n hls = this.hls;\n if (!hls) {\n return;\n }\n var _hls$config = hls.config,\n enableEmsgMetadataCues = _hls$config.enableEmsgMetadataCues,\n enableID3MetadataCues = _hls$config.enableID3MetadataCues;\n if (id3Track && (enableEmsgMetadataCues || enableID3MetadataCues)) {\n var predicate;\n if (type === 'audio') {\n predicate = function predicate(cue) {\n return cue.type === MetadataSchema.audioId3 && enableID3MetadataCues;\n };\n } else if (type === 'video') {\n predicate = function predicate(cue) {\n return cue.type === MetadataSchema.emsg && enableEmsgMetadataCues;\n };\n } else {\n predicate = function predicate(cue) {\n return cue.type === MetadataSchema.audioId3 && enableID3MetadataCues || cue.type === MetadataSchema.emsg && enableEmsgMetadataCues;\n };\n }\n removeCuesInRange(id3Track, startOffset, endOffset, predicate);\n }\n };\n _proto.onLevelUpdated = function onLevelUpdated(event, _ref2) {\n var _this = this;\n var details = _ref2.details;\n if (!this.media || !details.hasProgramDateTime || !this.hls.config.enableDateRangeMetadataCues) {\n return;\n }\n var dateRangeCuesAppended = this.dateRangeCuesAppended,\n id3Track = this.id3Track;\n var dateRanges = details.dateRanges;\n var ids = Object.keys(dateRanges);\n // Remove cues from track not found in details.dateRanges\n if (id3Track) {\n var idsToRemove = Object.keys(dateRangeCuesAppended).filter(function (id) {\n return !ids.includes(id);\n });\n var _loop = function _loop() {\n var id = idsToRemove[i];\n Object.keys(dateRangeCuesAppended[id].cues).forEach(function (key) {\n id3Track.removeCue(dateRangeCuesAppended[id].cues[key]);\n });\n delete dateRangeCuesAppended[id];\n };\n for (var i = idsToRemove.length; i--;) {\n _loop();\n }\n }\n // Exit if the playlist does not have Date Ranges or does not have Program Date Time\n var lastFragment = details.fragments[details.fragments.length - 1];\n if (ids.length === 0 || !isFiniteNumber(lastFragment == null ? void 0 : lastFragment.programDateTime)) {\n return;\n }\n if (!this.id3Track) {\n this.id3Track = this.createTrack(this.media);\n }\n var dateTimeOffset = lastFragment.programDateTime / 1000 - lastFragment.start;\n var Cue = getCueClass();\n var _loop2 = function _loop2() {\n var id = ids[_i];\n var dateRange = dateRanges[id];\n var startTime = dateRangeDateToTimelineSeconds(dateRange.startDate, dateTimeOffset);\n\n // Process DateRanges to determine end-time (known DURATION, END-DATE, or END-ON-NEXT)\n var appendedDateRangeCues = dateRangeCuesAppended[id];\n var cues = (appendedDateRangeCues == null ? void 0 : appendedDateRangeCues.cues) || {};\n var durationKnown = (appendedDateRangeCues == null ? void 0 : appendedDateRangeCues.durationKnown) || false;\n var endTime = MAX_CUE_ENDTIME;\n var endDate = dateRange.endDate;\n if (endDate) {\n endTime = dateRangeDateToTimelineSeconds(endDate, dateTimeOffset);\n durationKnown = true;\n } else if (dateRange.endOnNext && !durationKnown) {\n var nextDateRangeWithSameClass = ids.reduce(function (candidateDateRange, id) {\n if (id !== dateRange.id) {\n var otherDateRange = dateRanges[id];\n if (otherDateRange.class === dateRange.class && otherDateRange.startDate > dateRange.startDate && (!candidateDateRange || dateRange.startDate < candidateDateRange.startDate)) {\n return otherDateRange;\n }\n }\n return candidateDateRange;\n }, null);\n if (nextDateRangeWithSameClass) {\n endTime = dateRangeDateToTimelineSeconds(nextDateRangeWithSameClass.startDate, dateTimeOffset);\n durationKnown = true;\n }\n }\n\n // Create TextTrack Cues for each MetadataGroup Item (select DateRange attribute)\n // This is to emulate Safari HLS playback handling of DateRange tags\n var attributes = Object.keys(dateRange.attr);\n for (var j = 0; j < attributes.length; j++) {\n var key = attributes[j];\n if (!isDateRangeCueAttribute(key)) {\n continue;\n }\n var cue = cues[key];\n if (cue) {\n if (durationKnown && !appendedDateRangeCues.durationKnown) {\n cue.endTime = endTime;\n }\n } else if (Cue) {\n var data = dateRange.attr[key];\n if (isSCTE35Attribute(key)) {\n data = hexToArrayBuffer(data);\n }\n var _cue = createCueWithDataFields(Cue, startTime, endTime, {\n key: key,\n data: data\n }, MetadataSchema.dateRange);\n if (_cue) {\n _cue.id = id;\n _this.id3Track.addCue(_cue);\n cues[key] = _cue;\n }\n }\n }\n\n // Keep track of processed DateRanges by ID for updating cues with new DateRange tag attributes\n dateRangeCuesAppended[id] = {\n cues: cues,\n dateRange: dateRange,\n durationKnown: durationKnown\n };\n };\n for (var _i = 0; _i < ids.length; _i++) {\n _loop2();\n }\n };\n return ID3TrackController;\n }();\n\n var LatencyController = /*#__PURE__*/function () {\n function LatencyController(hls) {\n var _this = this;\n this.hls = void 0;\n this.config = void 0;\n this.media = null;\n this.levelDetails = null;\n this.currentTime = 0;\n this.stallCount = 0;\n this._latency = null;\n this.timeupdateHandler = function () {\n return _this.timeupdate();\n };\n this.hls = hls;\n this.config = hls.config;\n this.registerListeners();\n }\n var _proto = LatencyController.prototype;\n _proto.destroy = function destroy() {\n this.unregisterListeners();\n this.onMediaDetaching();\n this.levelDetails = null;\n // @ts-ignore\n this.hls = this.timeupdateHandler = null;\n };\n _proto.registerListeners = function registerListeners() {\n this.hls.on(Events.MEDIA_ATTACHED, this.onMediaAttached, this);\n this.hls.on(Events.MEDIA_DETACHING, this.onMediaDetaching, this);\n this.hls.on(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n this.hls.on(Events.LEVEL_UPDATED, this.onLevelUpdated, this);\n this.hls.on(Events.ERROR, this.onError, this);\n };\n _proto.unregisterListeners = function unregisterListeners() {\n this.hls.off(Events.MEDIA_ATTACHED, this.onMediaAttached, this);\n this.hls.off(Events.MEDIA_DETACHING, this.onMediaDetaching, this);\n this.hls.off(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n this.hls.off(Events.LEVEL_UPDATED, this.onLevelUpdated, this);\n this.hls.off(Events.ERROR, this.onError, this);\n };\n _proto.onMediaAttached = function onMediaAttached(event, data) {\n this.media = data.media;\n this.media.addEventListener('timeupdate', this.timeupdateHandler);\n };\n _proto.onMediaDetaching = function onMediaDetaching() {\n if (this.media) {\n this.media.removeEventListener('timeupdate', this.timeupdateHandler);\n this.media = null;\n }\n };\n _proto.onManifestLoading = function onManifestLoading() {\n this.levelDetails = null;\n this._latency = null;\n this.stallCount = 0;\n };\n _proto.onLevelUpdated = function onLevelUpdated(event, _ref) {\n var details = _ref.details;\n this.levelDetails = details;\n if (details.advanced) {\n this.timeupdate();\n }\n if (!details.live && this.media) {\n this.media.removeEventListener('timeupdate', this.timeupdateHandler);\n }\n };\n _proto.onError = function onError(event, data) {\n var _this$levelDetails;\n if (data.details !== ErrorDetails.BUFFER_STALLED_ERROR) {\n return;\n }\n this.stallCount++;\n if ((_this$levelDetails = this.levelDetails) != null && _this$levelDetails.live) {\n logger.warn('[playback-rate-controller]: Stall detected, adjusting target latency');\n }\n };\n _proto.timeupdate = function timeupdate() {\n var media = this.media,\n levelDetails = this.levelDetails;\n if (!media || !levelDetails) {\n return;\n }\n this.currentTime = media.currentTime;\n var latency = this.computeLatency();\n if (latency === null) {\n return;\n }\n this._latency = latency;\n\n // Adapt playbackRate to meet target latency in low-latency mode\n var _this$config = this.config,\n lowLatencyMode = _this$config.lowLatencyMode,\n maxLiveSyncPlaybackRate = _this$config.maxLiveSyncPlaybackRate;\n if (!lowLatencyMode || maxLiveSyncPlaybackRate === 1 || !levelDetails.live) {\n return;\n }\n var targetLatency = this.targetLatency;\n if (targetLatency === null) {\n return;\n }\n var distanceFromTarget = latency - targetLatency;\n // Only adjust playbackRate when within one target duration of targetLatency\n // and more than one second from under-buffering.\n // Playback further than one target duration from target can be considered DVR playback.\n var liveMinLatencyDuration = Math.min(this.maxLatency, targetLatency + levelDetails.targetduration);\n var inLiveRange = distanceFromTarget < liveMinLatencyDuration;\n if (inLiveRange && distanceFromTarget > 0.05 && this.forwardBufferLength > 1) {\n var max = Math.min(2, Math.max(1.0, maxLiveSyncPlaybackRate));\n var rate = Math.round(2 / (1 + Math.exp(-0.75 * distanceFromTarget - this.edgeStalled)) * 20) / 20;\n media.playbackRate = Math.min(max, Math.max(1, rate));\n } else if (media.playbackRate !== 1 && media.playbackRate !== 0) {\n media.playbackRate = 1;\n }\n };\n _proto.estimateLiveEdge = function estimateLiveEdge() {\n var levelDetails = this.levelDetails;\n if (levelDetails === null) {\n return null;\n }\n return levelDetails.edge + levelDetails.age;\n };\n _proto.computeLatency = function computeLatency() {\n var liveEdge = this.estimateLiveEdge();\n if (liveEdge === null) {\n return null;\n }\n return liveEdge - this.currentTime;\n };\n _createClass(LatencyController, [{\n key: \"latency\",\n get: function get() {\n return this._latency || 0;\n }\n }, {\n key: \"maxLatency\",\n get: function get() {\n var config = this.config,\n levelDetails = this.levelDetails;\n if (config.liveMaxLatencyDuration !== undefined) {\n return config.liveMaxLatencyDuration;\n }\n return levelDetails ? config.liveMaxLatencyDurationCount * levelDetails.targetduration : 0;\n }\n }, {\n key: \"targetLatency\",\n get: function get() {\n var levelDetails = this.levelDetails;\n if (levelDetails === null) {\n return null;\n }\n var holdBack = levelDetails.holdBack,\n partHoldBack = levelDetails.partHoldBack,\n targetduration = levelDetails.targetduration;\n var _this$config2 = this.config,\n liveSyncDuration = _this$config2.liveSyncDuration,\n liveSyncDurationCount = _this$config2.liveSyncDurationCount,\n lowLatencyMode = _this$config2.lowLatencyMode;\n var userConfig = this.hls.userConfig;\n var targetLatency = lowLatencyMode ? partHoldBack || holdBack : holdBack;\n if (userConfig.liveSyncDuration || userConfig.liveSyncDurationCount || targetLatency === 0) {\n targetLatency = liveSyncDuration !== undefined ? liveSyncDuration : liveSyncDurationCount * targetduration;\n }\n var maxLiveSyncOnStallIncrease = targetduration;\n var liveSyncOnStallIncrease = 1.0;\n return targetLatency + Math.min(this.stallCount * liveSyncOnStallIncrease, maxLiveSyncOnStallIncrease);\n }\n }, {\n key: \"liveSyncPosition\",\n get: function get() {\n var liveEdge = this.estimateLiveEdge();\n var targetLatency = this.targetLatency;\n var levelDetails = this.levelDetails;\n if (liveEdge === null || targetLatency === null || levelDetails === null) {\n return null;\n }\n var edge = levelDetails.edge;\n var syncPosition = liveEdge - targetLatency - this.edgeStalled;\n var min = edge - levelDetails.totalduration;\n var max = edge - (this.config.lowLatencyMode && levelDetails.partTarget || levelDetails.targetduration);\n return Math.min(Math.max(min, syncPosition), max);\n }\n }, {\n key: \"drift\",\n get: function get() {\n var levelDetails = this.levelDetails;\n if (levelDetails === null) {\n return 1;\n }\n return levelDetails.drift;\n }\n }, {\n key: \"edgeStalled\",\n get: function get() {\n var levelDetails = this.levelDetails;\n if (levelDetails === null) {\n return 0;\n }\n var maxLevelUpdateAge = (this.config.lowLatencyMode && levelDetails.partTarget || levelDetails.targetduration) * 3;\n return Math.max(levelDetails.age - maxLevelUpdateAge, 0);\n }\n }, {\n key: \"forwardBufferLength\",\n get: function get() {\n var media = this.media,\n levelDetails = this.levelDetails;\n if (!media || !levelDetails) {\n return 0;\n }\n var bufferedRanges = media.buffered.length;\n return (bufferedRanges ? media.buffered.end(bufferedRanges - 1) : levelDetails.edge) - this.currentTime;\n }\n }]);\n return LatencyController;\n }();\n\n var HdcpLevels = ['NONE', 'TYPE-0', 'TYPE-1', null];\n function isHdcpLevel(value) {\n return HdcpLevels.indexOf(value) > -1;\n }\n var VideoRangeValues = ['SDR', 'PQ', 'HLG'];\n function isVideoRange(value) {\n return !!value && VideoRangeValues.indexOf(value) > -1;\n }\n var HlsSkip = {\n No: \"\",\n Yes: \"YES\",\n v2: \"v2\"\n };\n function getSkipValue(details, msn) {\n var canSkipUntil = details.canSkipUntil,\n canSkipDateRanges = details.canSkipDateRanges,\n endSN = details.endSN;\n var snChangeGoal = msn !== undefined ? msn - endSN : 0;\n if (canSkipUntil && snChangeGoal < canSkipUntil) {\n if (canSkipDateRanges) {\n return HlsSkip.v2;\n }\n return HlsSkip.Yes;\n }\n return HlsSkip.No;\n }\n var HlsUrlParameters = /*#__PURE__*/function () {\n function HlsUrlParameters(msn, part, skip) {\n this.msn = void 0;\n this.part = void 0;\n this.skip = void 0;\n this.msn = msn;\n this.part = part;\n this.skip = skip;\n }\n var _proto = HlsUrlParameters.prototype;\n _proto.addDirectives = function addDirectives(uri) {\n var url = new self.URL(uri);\n if (this.msn !== undefined) {\n url.searchParams.set('_HLS_msn', this.msn.toString());\n }\n if (this.part !== undefined) {\n url.searchParams.set('_HLS_part', this.part.toString());\n }\n if (this.skip) {\n url.searchParams.set('_HLS_skip', this.skip);\n }\n return url.href;\n };\n return HlsUrlParameters;\n }();\n var Level = /*#__PURE__*/function () {\n function Level(data) {\n this._attrs = void 0;\n this.audioCodec = void 0;\n this.bitrate = void 0;\n this.codecSet = void 0;\n this.url = void 0;\n this.frameRate = void 0;\n this.height = void 0;\n this.id = void 0;\n this.name = void 0;\n this.videoCodec = void 0;\n this.width = void 0;\n this.details = void 0;\n this.fragmentError = 0;\n this.loadError = 0;\n this.loaded = void 0;\n this.realBitrate = 0;\n this.supportedPromise = void 0;\n this.supportedResult = void 0;\n this._avgBitrate = 0;\n this._audioGroups = void 0;\n this._subtitleGroups = void 0;\n // Deprecated (retained for backwards compatibility)\n this._urlId = 0;\n this.url = [data.url];\n this._attrs = [data.attrs];\n this.bitrate = data.bitrate;\n if (data.details) {\n this.details = data.details;\n }\n this.id = data.id || 0;\n this.name = data.name;\n this.width = data.width || 0;\n this.height = data.height || 0;\n this.frameRate = data.attrs.optionalFloat('FRAME-RATE', 0);\n this._avgBitrate = data.attrs.decimalInteger('AVERAGE-BANDWIDTH');\n this.audioCodec = data.audioCodec;\n this.videoCodec = data.videoCodec;\n this.codecSet = [data.videoCodec, data.audioCodec].filter(function (c) {\n return !!c;\n }).map(function (s) {\n return s.substring(0, 4);\n }).join(',');\n this.addGroupId('audio', data.attrs.AUDIO);\n this.addGroupId('text', data.attrs.SUBTITLES);\n }\n var _proto2 = Level.prototype;\n _proto2.hasAudioGroup = function hasAudioGroup(groupId) {\n return hasGroup(this._audioGroups, groupId);\n };\n _proto2.hasSubtitleGroup = function hasSubtitleGroup(groupId) {\n return hasGroup(this._subtitleGroups, groupId);\n };\n _proto2.addGroupId = function addGroupId(type, groupId) {\n if (!groupId) {\n return;\n }\n if (type === 'audio') {\n var audioGroups = this._audioGroups;\n if (!audioGroups) {\n audioGroups = this._audioGroups = [];\n }\n if (audioGroups.indexOf(groupId) === -1) {\n audioGroups.push(groupId);\n }\n } else if (type === 'text') {\n var subtitleGroups = this._subtitleGroups;\n if (!subtitleGroups) {\n subtitleGroups = this._subtitleGroups = [];\n }\n if (subtitleGroups.indexOf(groupId) === -1) {\n subtitleGroups.push(groupId);\n }\n }\n }\n\n // Deprecated methods (retained for backwards compatibility)\n ;\n _proto2.addFallback = function addFallback() {};\n _createClass(Level, [{\n key: \"maxBitrate\",\n get: function get() {\n return Math.max(this.realBitrate, this.bitrate);\n }\n }, {\n key: \"averageBitrate\",\n get: function get() {\n return this._avgBitrate || this.realBitrate || this.bitrate;\n }\n }, {\n key: \"attrs\",\n get: function get() {\n return this._attrs[0];\n }\n }, {\n key: \"codecs\",\n get: function get() {\n return this.attrs.CODECS || '';\n }\n }, {\n key: \"pathwayId\",\n get: function get() {\n return this.attrs['PATHWAY-ID'] || '.';\n }\n }, {\n key: \"videoRange\",\n get: function get() {\n return this.attrs['VIDEO-RANGE'] || 'SDR';\n }\n }, {\n key: \"score\",\n get: function get() {\n return this.attrs.optionalFloat('SCORE', 0);\n }\n }, {\n key: \"uri\",\n get: function get() {\n return this.url[0] || '';\n }\n }, {\n key: \"audioGroups\",\n get: function get() {\n return this._audioGroups;\n }\n }, {\n key: \"subtitleGroups\",\n get: function get() {\n return this._subtitleGroups;\n }\n }, {\n key: \"urlId\",\n get: function get() {\n return 0;\n },\n set: function set(value) {}\n }, {\n key: \"audioGroupIds\",\n get: function get() {\n return this.audioGroups ? [this.audioGroupId] : undefined;\n }\n }, {\n key: \"textGroupIds\",\n get: function get() {\n return this.subtitleGroups ? [this.textGroupId] : undefined;\n }\n }, {\n key: \"audioGroupId\",\n get: function get() {\n var _this$audioGroups;\n return (_this$audioGroups = this.audioGroups) == null ? void 0 : _this$audioGroups[0];\n }\n }, {\n key: \"textGroupId\",\n get: function get() {\n var _this$subtitleGroups;\n return (_this$subtitleGroups = this.subtitleGroups) == null ? void 0 : _this$subtitleGroups[0];\n }\n }]);\n return Level;\n }();\n function hasGroup(groups, groupId) {\n if (!groupId || !groups) {\n return false;\n }\n return groups.indexOf(groupId) !== -1;\n }\n\n function updateFromToPTS(fragFrom, fragTo) {\n var fragToPTS = fragTo.startPTS;\n // if we know startPTS[toIdx]\n if (isFiniteNumber(fragToPTS)) {\n // update fragment duration.\n // it helps to fix drifts between playlist reported duration and fragment real duration\n var duration = 0;\n var frag;\n if (fragTo.sn > fragFrom.sn) {\n duration = fragToPTS - fragFrom.start;\n frag = fragFrom;\n } else {\n duration = fragFrom.start - fragToPTS;\n frag = fragTo;\n }\n if (frag.duration !== duration) {\n frag.duration = duration;\n }\n // we dont know startPTS[toIdx]\n } else if (fragTo.sn > fragFrom.sn) {\n var contiguous = fragFrom.cc === fragTo.cc;\n // TODO: With part-loading end/durations we need to confirm the whole fragment is loaded before using (or setting) minEndPTS\n if (contiguous && fragFrom.minEndPTS) {\n fragTo.start = fragFrom.start + (fragFrom.minEndPTS - fragFrom.start);\n } else {\n fragTo.start = fragFrom.start + fragFrom.duration;\n }\n } else {\n fragTo.start = Math.max(fragFrom.start - fragTo.duration, 0);\n }\n }\n function updateFragPTSDTS(details, frag, startPTS, endPTS, startDTS, endDTS) {\n var parsedMediaDuration = endPTS - startPTS;\n if (parsedMediaDuration <= 0) {\n logger.warn('Fragment should have a positive duration', frag);\n endPTS = startPTS + frag.duration;\n endDTS = startDTS + frag.duration;\n }\n var maxStartPTS = startPTS;\n var minEndPTS = endPTS;\n var fragStartPts = frag.startPTS;\n var fragEndPts = frag.endPTS;\n if (isFiniteNumber(fragStartPts)) {\n // delta PTS between audio and video\n var deltaPTS = Math.abs(fragStartPts - startPTS);\n if (!isFiniteNumber(frag.deltaPTS)) {\n frag.deltaPTS = deltaPTS;\n } else {\n frag.deltaPTS = Math.max(deltaPTS, frag.deltaPTS);\n }\n maxStartPTS = Math.max(startPTS, fragStartPts);\n startPTS = Math.min(startPTS, fragStartPts);\n startDTS = Math.min(startDTS, frag.startDTS);\n minEndPTS = Math.min(endPTS, fragEndPts);\n endPTS = Math.max(endPTS, fragEndPts);\n endDTS = Math.max(endDTS, frag.endDTS);\n }\n var drift = startPTS - frag.start;\n if (frag.start !== 0) {\n frag.start = startPTS;\n }\n frag.duration = endPTS - frag.start;\n frag.startPTS = startPTS;\n frag.maxStartPTS = maxStartPTS;\n frag.startDTS = startDTS;\n frag.endPTS = endPTS;\n frag.minEndPTS = minEndPTS;\n frag.endDTS = endDTS;\n var sn = frag.sn; // 'initSegment'\n // exit if sn out of range\n if (!details || sn < details.startSN || sn > details.endSN) {\n return 0;\n }\n var i;\n var fragIdx = sn - details.startSN;\n var fragments = details.fragments;\n // update frag reference in fragments array\n // rationale is that fragments array might not contain this frag object.\n // this will happen if playlist has been refreshed between frag loading and call to updateFragPTSDTS()\n // if we don't update frag, we won't be able to propagate PTS info on the playlist\n // resulting in invalid sliding computation\n fragments[fragIdx] = frag;\n // adjust fragment PTS/duration from seqnum-1 to frag 0\n for (i = fragIdx; i > 0; i--) {\n updateFromToPTS(fragments[i], fragments[i - 1]);\n }\n\n // adjust fragment PTS/duration from seqnum to last frag\n for (i = fragIdx; i < fragments.length - 1; i++) {\n updateFromToPTS(fragments[i], fragments[i + 1]);\n }\n if (details.fragmentHint) {\n updateFromToPTS(fragments[fragments.length - 1], details.fragmentHint);\n }\n details.PTSKnown = details.alignedSliding = true;\n return drift;\n }\n function mergeDetails(oldDetails, newDetails) {\n // Track the last initSegment processed. Initialize it to the last one on the timeline.\n var currentInitSegment = null;\n var oldFragments = oldDetails.fragments;\n for (var i = oldFragments.length - 1; i >= 0; i--) {\n var oldInit = oldFragments[i].initSegment;\n if (oldInit) {\n currentInitSegment = oldInit;\n break;\n }\n }\n if (oldDetails.fragmentHint) {\n // prevent PTS and duration from being adjusted on the next hint\n delete oldDetails.fragmentHint.endPTS;\n }\n // check if old/new playlists have fragments in common\n // loop through overlapping SN and update startPTS , cc, and duration if any found\n var ccOffset = 0;\n var PTSFrag;\n mapFragmentIntersection(oldDetails, newDetails, function (oldFrag, newFrag) {\n if (oldFrag.relurl) {\n // Do not compare CC if the old fragment has no url. This is a level.fragmentHint used by LL-HLS parts.\n // It maybe be off by 1 if it was created before any parts or discontinuity tags were appended to the end\n // of the playlist.\n ccOffset = oldFrag.cc - newFrag.cc;\n }\n if (isFiniteNumber(oldFrag.startPTS) && isFiniteNumber(oldFrag.endPTS)) {\n newFrag.start = newFrag.startPTS = oldFrag.startPTS;\n newFrag.startDTS = oldFrag.startDTS;\n newFrag.maxStartPTS = oldFrag.maxStartPTS;\n newFrag.endPTS = oldFrag.endPTS;\n newFrag.endDTS = oldFrag.endDTS;\n newFrag.minEndPTS = oldFrag.minEndPTS;\n newFrag.duration = oldFrag.endPTS - oldFrag.startPTS;\n if (newFrag.duration) {\n PTSFrag = newFrag;\n }\n\n // PTS is known when any segment has startPTS and endPTS\n newDetails.PTSKnown = newDetails.alignedSliding = true;\n }\n newFrag.elementaryStreams = oldFrag.elementaryStreams;\n newFrag.loader = oldFrag.loader;\n newFrag.stats = oldFrag.stats;\n if (oldFrag.initSegment) {\n newFrag.initSegment = oldFrag.initSegment;\n currentInitSegment = oldFrag.initSegment;\n }\n });\n if (currentInitSegment) {\n var fragmentsToCheck = newDetails.fragmentHint ? newDetails.fragments.concat(newDetails.fragmentHint) : newDetails.fragments;\n fragmentsToCheck.forEach(function (frag) {\n var _currentInitSegment;\n if (frag && (!frag.initSegment || frag.initSegment.relurl === ((_currentInitSegment = currentInitSegment) == null ? void 0 : _currentInitSegment.relurl))) {\n frag.initSegment = currentInitSegment;\n }\n });\n }\n if (newDetails.skippedSegments) {\n newDetails.deltaUpdateFailed = newDetails.fragments.some(function (frag) {\n return !frag;\n });\n if (newDetails.deltaUpdateFailed) {\n logger.warn('[level-helper] Previous playlist missing segments skipped in delta playlist');\n for (var _i = newDetails.skippedSegments; _i--;) {\n newDetails.fragments.shift();\n }\n newDetails.startSN = newDetails.fragments[0].sn;\n newDetails.startCC = newDetails.fragments[0].cc;\n } else if (newDetails.canSkipDateRanges) {\n newDetails.dateRanges = mergeDateRanges(oldDetails.dateRanges, newDetails.dateRanges, newDetails.recentlyRemovedDateranges);\n }\n }\n var newFragments = newDetails.fragments;\n if (ccOffset) {\n logger.warn('discontinuity sliding from playlist, take drift into account');\n for (var _i2 = 0; _i2 < newFragments.length; _i2++) {\n newFragments[_i2].cc += ccOffset;\n }\n }\n if (newDetails.skippedSegments) {\n newDetails.startCC = newDetails.fragments[0].cc;\n }\n\n // Merge parts\n mapPartIntersection(oldDetails.partList, newDetails.partList, function (oldPart, newPart) {\n newPart.elementaryStreams = oldPart.elementaryStreams;\n newPart.stats = oldPart.stats;\n });\n\n // if at least one fragment contains PTS info, recompute PTS information for all fragments\n if (PTSFrag) {\n updateFragPTSDTS(newDetails, PTSFrag, PTSFrag.startPTS, PTSFrag.endPTS, PTSFrag.startDTS, PTSFrag.endDTS);\n } else {\n // ensure that delta is within oldFragments range\n // also adjust sliding in case delta is 0 (we could have old=[50-60] and new=old=[50-61])\n // in that case we also need to adjust start offset of all fragments\n adjustSliding(oldDetails, newDetails);\n }\n if (newFragments.length) {\n newDetails.totalduration = newDetails.edge - newFragments[0].start;\n }\n newDetails.driftStartTime = oldDetails.driftStartTime;\n newDetails.driftStart = oldDetails.driftStart;\n var advancedDateTime = newDetails.advancedDateTime;\n if (newDetails.advanced && advancedDateTime) {\n var edge = newDetails.edge;\n if (!newDetails.driftStart) {\n newDetails.driftStartTime = advancedDateTime;\n newDetails.driftStart = edge;\n }\n newDetails.driftEndTime = advancedDateTime;\n newDetails.driftEnd = edge;\n } else {\n newDetails.driftEndTime = oldDetails.driftEndTime;\n newDetails.driftEnd = oldDetails.driftEnd;\n newDetails.advancedDateTime = oldDetails.advancedDateTime;\n }\n }\n function mergeDateRanges(oldDateRanges, deltaDateRanges, recentlyRemovedDateranges) {\n var dateRanges = _extends({}, oldDateRanges);\n if (recentlyRemovedDateranges) {\n recentlyRemovedDateranges.forEach(function (id) {\n delete dateRanges[id];\n });\n }\n Object.keys(deltaDateRanges).forEach(function (id) {\n var dateRange = new DateRange(deltaDateRanges[id].attr, dateRanges[id]);\n if (dateRange.isValid) {\n dateRanges[id] = dateRange;\n } else {\n logger.warn(\"Ignoring invalid Playlist Delta Update DATERANGE tag: \\\"\" + JSON.stringify(deltaDateRanges[id].attr) + \"\\\"\");\n }\n });\n return dateRanges;\n }\n function mapPartIntersection(oldParts, newParts, intersectionFn) {\n if (oldParts && newParts) {\n var delta = 0;\n for (var i = 0, len = oldParts.length; i <= len; i++) {\n var _oldPart = oldParts[i];\n var _newPart = newParts[i + delta];\n if (_oldPart && _newPart && _oldPart.index === _newPart.index && _oldPart.fragment.sn === _newPart.fragment.sn) {\n intersectionFn(_oldPart, _newPart);\n } else {\n delta--;\n }\n }\n }\n }\n function mapFragmentIntersection(oldDetails, newDetails, intersectionFn) {\n var skippedSegments = newDetails.skippedSegments;\n var start = Math.max(oldDetails.startSN, newDetails.startSN) - newDetails.startSN;\n var end = (oldDetails.fragmentHint ? 1 : 0) + (skippedSegments ? newDetails.endSN : Math.min(oldDetails.endSN, newDetails.endSN)) - newDetails.startSN;\n var delta = newDetails.startSN - oldDetails.startSN;\n var newFrags = newDetails.fragmentHint ? newDetails.fragments.concat(newDetails.fragmentHint) : newDetails.fragments;\n var oldFrags = oldDetails.fragmentHint ? oldDetails.fragments.concat(oldDetails.fragmentHint) : oldDetails.fragments;\n for (var i = start; i <= end; i++) {\n var _oldFrag = oldFrags[delta + i];\n var _newFrag = newFrags[i];\n if (skippedSegments && !_newFrag && i < skippedSegments) {\n // Fill in skipped segments in delta playlist\n _newFrag = newDetails.fragments[i] = _oldFrag;\n }\n if (_oldFrag && _newFrag) {\n intersectionFn(_oldFrag, _newFrag);\n }\n }\n }\n function adjustSliding(oldDetails, newDetails) {\n var delta = newDetails.startSN + newDetails.skippedSegments - oldDetails.startSN;\n var oldFragments = oldDetails.fragments;\n if (delta < 0 || delta >= oldFragments.length) {\n return;\n }\n addSliding(newDetails, oldFragments[delta].start);\n }\n function addSliding(details, start) {\n if (start) {\n var fragments = details.fragments;\n for (var i = details.skippedSegments; i < fragments.length; i++) {\n fragments[i].start += start;\n }\n if (details.fragmentHint) {\n details.fragmentHint.start += start;\n }\n }\n }\n function computeReloadInterval(newDetails, distanceToLiveEdgeMs) {\n if (distanceToLiveEdgeMs === void 0) {\n distanceToLiveEdgeMs = Infinity;\n }\n var reloadInterval = 1000 * newDetails.targetduration;\n if (newDetails.updated) {\n // Use last segment duration when shorter than target duration and near live edge\n var fragments = newDetails.fragments;\n var liveEdgeMaxTargetDurations = 4;\n if (fragments.length && reloadInterval * liveEdgeMaxTargetDurations > distanceToLiveEdgeMs) {\n var lastSegmentDuration = fragments[fragments.length - 1].duration * 1000;\n if (lastSegmentDuration < reloadInterval) {\n reloadInterval = lastSegmentDuration;\n }\n }\n } else {\n // estimate = 'miss half average';\n // follow HLS Spec, If the client reloads a Playlist file and finds that it has not\n // changed then it MUST wait for a period of one-half the target\n // duration before retrying.\n reloadInterval /= 2;\n }\n return Math.round(reloadInterval);\n }\n function getFragmentWithSN(level, sn, fragCurrent) {\n if (!(level != null && level.details)) {\n return null;\n }\n var levelDetails = level.details;\n var fragment = levelDetails.fragments[sn - levelDetails.startSN];\n if (fragment) {\n return fragment;\n }\n fragment = levelDetails.fragmentHint;\n if (fragment && fragment.sn === sn) {\n return fragment;\n }\n if (sn < levelDetails.startSN && fragCurrent && fragCurrent.sn === sn) {\n return fragCurrent;\n }\n return null;\n }\n function getPartWith(level, sn, partIndex) {\n var _level$details;\n if (!(level != null && level.details)) {\n return null;\n }\n return findPart((_level$details = level.details) == null ? void 0 : _level$details.partList, sn, partIndex);\n }\n function findPart(partList, sn, partIndex) {\n if (partList) {\n for (var i = partList.length; i--;) {\n var part = partList[i];\n if (part.index === partIndex && part.fragment.sn === sn) {\n return part;\n }\n }\n }\n return null;\n }\n function reassignFragmentLevelIndexes(levels) {\n levels.forEach(function (level, index) {\n var details = level.details;\n if (details != null && details.fragments) {\n details.fragments.forEach(function (fragment) {\n fragment.level = index;\n });\n }\n });\n }\n\n function isTimeoutError(error) {\n switch (error.details) {\n case ErrorDetails.FRAG_LOAD_TIMEOUT:\n case ErrorDetails.KEY_LOAD_TIMEOUT:\n case ErrorDetails.LEVEL_LOAD_TIMEOUT:\n case ErrorDetails.MANIFEST_LOAD_TIMEOUT:\n return true;\n }\n return false;\n }\n function getRetryConfig(loadPolicy, error) {\n var isTimeout = isTimeoutError(error);\n return loadPolicy.default[(isTimeout ? 'timeout' : 'error') + \"Retry\"];\n }\n function getRetryDelay(retryConfig, retryCount) {\n // exponential backoff capped to max retry delay\n var backoffFactor = retryConfig.backoff === 'linear' ? 1 : Math.pow(2, retryCount);\n return Math.min(backoffFactor * retryConfig.retryDelayMs, retryConfig.maxRetryDelayMs);\n }\n function getLoaderConfigWithoutReties(loderConfig) {\n return _objectSpread2(_objectSpread2({}, loderConfig), {\n errorRetry: null,\n timeoutRetry: null\n });\n }\n function shouldRetry(retryConfig, retryCount, isTimeout, loaderResponse) {\n if (!retryConfig) {\n return false;\n }\n var httpStatus = loaderResponse == null ? void 0 : loaderResponse.code;\n var retry = retryCount < retryConfig.maxNumRetry && (retryForHttpStatus(httpStatus) || !!isTimeout);\n return retryConfig.shouldRetry ? retryConfig.shouldRetry(retryConfig, retryCount, isTimeout, loaderResponse, retry) : retry;\n }\n function retryForHttpStatus(httpStatus) {\n // Do not retry on status 4xx, status 0 (CORS error), or undefined (decrypt/gap/parse error)\n return httpStatus === 0 && navigator.onLine === false || !!httpStatus && (httpStatus < 400 || httpStatus > 499);\n }\n\n var BinarySearch = {\n /**\n * Searches for an item in an array which matches a certain condition.\n * This requires the condition to only match one item in the array,\n * and for the array to be ordered.\n *\n * @param list The array to search.\n * @param comparisonFn\n * Called and provided a candidate item as the first argument.\n * Should return:\n * > -1 if the item should be located at a lower index than the provided item.\n * > 1 if the item should be located at a higher index than the provided item.\n * > 0 if the item is the item you're looking for.\n *\n * @returns the object if found, otherwise returns null\n */\n search: function search(list, comparisonFn) {\n var minIndex = 0;\n var maxIndex = list.length - 1;\n var currentIndex = null;\n var currentElement = null;\n while (minIndex <= maxIndex) {\n currentIndex = (minIndex + maxIndex) / 2 | 0;\n currentElement = list[currentIndex];\n var comparisonResult = comparisonFn(currentElement);\n if (comparisonResult > 0) {\n minIndex = currentIndex + 1;\n } else if (comparisonResult < 0) {\n maxIndex = currentIndex - 1;\n } else {\n return currentElement;\n }\n }\n return null;\n }\n };\n\n /**\n * Returns first fragment whose endPdt value exceeds the given PDT, or null.\n * @param fragments - The array of candidate fragments\n * @param PDTValue - The PDT value which must be exceeded\n * @param maxFragLookUpTolerance - The amount of time that a fragment's start/end can be within in order to be considered contiguous\n */\n function findFragmentByPDT(fragments, PDTValue, maxFragLookUpTolerance) {\n if (PDTValue === null || !Array.isArray(fragments) || !fragments.length || !isFiniteNumber(PDTValue)) {\n return null;\n }\n\n // if less than start\n var startPDT = fragments[0].programDateTime;\n if (PDTValue < (startPDT || 0)) {\n return null;\n }\n var endPDT = fragments[fragments.length - 1].endProgramDateTime;\n if (PDTValue >= (endPDT || 0)) {\n return null;\n }\n maxFragLookUpTolerance = maxFragLookUpTolerance || 0;\n for (var seg = 0; seg < fragments.length; ++seg) {\n var frag = fragments[seg];\n if (pdtWithinToleranceTest(PDTValue, maxFragLookUpTolerance, frag)) {\n return frag;\n }\n }\n return null;\n }\n\n /**\n * Finds a fragment based on the SN of the previous fragment; or based on the needs of the current buffer.\n * This method compensates for small buffer gaps by applying a tolerance to the start of any candidate fragment, thus\n * breaking any traps which would cause the same fragment to be continuously selected within a small range.\n * @param fragPrevious - The last frag successfully appended\n * @param fragments - The array of candidate fragments\n * @param bufferEnd - The end of the contiguous buffered range the playhead is currently within\n * @param maxFragLookUpTolerance - The amount of time that a fragment's start/end can be within in order to be considered contiguous\n * @returns a matching fragment or null\n */\n function findFragmentByPTS(fragPrevious, fragments, bufferEnd, maxFragLookUpTolerance) {\n if (bufferEnd === void 0) {\n bufferEnd = 0;\n }\n if (maxFragLookUpTolerance === void 0) {\n maxFragLookUpTolerance = 0;\n }\n var fragNext = null;\n if (fragPrevious) {\n fragNext = fragments[fragPrevious.sn - fragments[0].sn + 1] || null;\n // check for buffer-end rounding error\n var bufferEdgeError = fragPrevious.endDTS - bufferEnd;\n if (bufferEdgeError > 0 && bufferEdgeError < 0.0000015) {\n bufferEnd += 0.0000015;\n }\n } else if (bufferEnd === 0 && fragments[0].start === 0) {\n fragNext = fragments[0];\n }\n // Prefer the next fragment if it's within tolerance\n if (fragNext && (!fragPrevious || fragPrevious.level === fragNext.level) && fragmentWithinToleranceTest(bufferEnd, maxFragLookUpTolerance, fragNext) === 0) {\n return fragNext;\n }\n // We might be seeking past the tolerance so find the best match\n var foundFragment = BinarySearch.search(fragments, fragmentWithinToleranceTest.bind(null, bufferEnd, maxFragLookUpTolerance));\n if (foundFragment && (foundFragment !== fragPrevious || !fragNext)) {\n return foundFragment;\n }\n // If no match was found return the next fragment after fragPrevious, or null\n return fragNext;\n }\n\n /**\n * The test function used by the findFragmentBySn's BinarySearch to look for the best match to the current buffer conditions.\n * @param candidate - The fragment to test\n * @param bufferEnd - The end of the current buffered range the playhead is currently within\n * @param maxFragLookUpTolerance - The amount of time that a fragment's start can be within in order to be considered contiguous\n * @returns 0 if it matches, 1 if too low, -1 if too high\n */\n function fragmentWithinToleranceTest(bufferEnd, maxFragLookUpTolerance, candidate) {\n if (bufferEnd === void 0) {\n bufferEnd = 0;\n }\n if (maxFragLookUpTolerance === void 0) {\n maxFragLookUpTolerance = 0;\n }\n // eagerly accept an accurate match (no tolerance)\n if (candidate.start <= bufferEnd && candidate.start + candidate.duration > bufferEnd) {\n return 0;\n }\n // offset should be within fragment boundary - config.maxFragLookUpTolerance\n // this is to cope with situations like\n // bufferEnd = 9.991\n // frag[Ø] : [0,10]\n // frag[1] : [10,20]\n // bufferEnd is within frag[0] range ... although what we are expecting is to return frag[1] here\n // frag start frag start+duration\n // |-----------------------------|\n // <---> <--->\n // ...--------><-----------------------------><---------....\n // previous frag matching fragment next frag\n // return -1 return 0 return 1\n // logger.log(`level/sn/start/end/bufEnd:${level}/${candidate.sn}/${candidate.start}/${(candidate.start+candidate.duration)}/${bufferEnd}`);\n // Set the lookup tolerance to be small enough to detect the current segment - ensures we don't skip over very small segments\n var candidateLookupTolerance = Math.min(maxFragLookUpTolerance, candidate.duration + (candidate.deltaPTS ? candidate.deltaPTS : 0));\n if (candidate.start + candidate.duration - candidateLookupTolerance <= bufferEnd) {\n return 1;\n } else if (candidate.start - candidateLookupTolerance > bufferEnd && candidate.start) {\n // if maxFragLookUpTolerance will have negative value then don't return -1 for first element\n return -1;\n }\n return 0;\n }\n\n /**\n * The test function used by the findFragmentByPdt's BinarySearch to look for the best match to the current buffer conditions.\n * This function tests the candidate's program date time values, as represented in Unix time\n * @param candidate - The fragment to test\n * @param pdtBufferEnd - The Unix time representing the end of the current buffered range\n * @param maxFragLookUpTolerance - The amount of time that a fragment's start can be within in order to be considered contiguous\n * @returns true if contiguous, false otherwise\n */\n function pdtWithinToleranceTest(pdtBufferEnd, maxFragLookUpTolerance, candidate) {\n var candidateLookupTolerance = Math.min(maxFragLookUpTolerance, candidate.duration + (candidate.deltaPTS ? candidate.deltaPTS : 0)) * 1000;\n\n // endProgramDateTime can be null, default to zero\n var endProgramDateTime = candidate.endProgramDateTime || 0;\n return endProgramDateTime - candidateLookupTolerance > pdtBufferEnd;\n }\n function findFragWithCC(fragments, cc) {\n return BinarySearch.search(fragments, function (candidate) {\n if (candidate.cc < cc) {\n return 1;\n } else if (candidate.cc > cc) {\n return -1;\n } else {\n return 0;\n }\n });\n }\n\n var NetworkErrorAction = {\n DoNothing: 0,\n SendEndCallback: 1,\n SendAlternateToPenaltyBox: 2,\n RemoveAlternatePermanently: 3,\n InsertDiscontinuity: 4,\n RetryRequest: 5\n };\n var ErrorActionFlags = {\n None: 0,\n MoveAllAlternatesMatchingHost: 1,\n MoveAllAlternatesMatchingHDCP: 2,\n SwitchToSDR: 4\n }; // Reserved for future use\n var ErrorController = /*#__PURE__*/function () {\n function ErrorController(hls) {\n this.hls = void 0;\n this.playlistError = 0;\n this.penalizedRenditions = {};\n this.log = void 0;\n this.warn = void 0;\n this.error = void 0;\n this.hls = hls;\n this.log = logger.log.bind(logger, \"[info]:\");\n this.warn = logger.warn.bind(logger, \"[warning]:\");\n this.error = logger.error.bind(logger, \"[error]:\");\n this.registerListeners();\n }\n var _proto = ErrorController.prototype;\n _proto.registerListeners = function registerListeners() {\n var hls = this.hls;\n hls.on(Events.ERROR, this.onError, this);\n hls.on(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.on(Events.LEVEL_UPDATED, this.onLevelUpdated, this);\n };\n _proto.unregisterListeners = function unregisterListeners() {\n var hls = this.hls;\n if (!hls) {\n return;\n }\n hls.off(Events.ERROR, this.onError, this);\n hls.off(Events.ERROR, this.onErrorOut, this);\n hls.off(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.off(Events.LEVEL_UPDATED, this.onLevelUpdated, this);\n };\n _proto.destroy = function destroy() {\n this.unregisterListeners();\n // @ts-ignore\n this.hls = null;\n this.penalizedRenditions = {};\n };\n _proto.startLoad = function startLoad(startPosition) {};\n _proto.stopLoad = function stopLoad() {\n this.playlistError = 0;\n };\n _proto.getVariantLevelIndex = function getVariantLevelIndex(frag) {\n return (frag == null ? void 0 : frag.type) === PlaylistLevelType.MAIN ? frag.level : this.hls.loadLevel;\n };\n _proto.onManifestLoading = function onManifestLoading() {\n this.playlistError = 0;\n this.penalizedRenditions = {};\n };\n _proto.onLevelUpdated = function onLevelUpdated() {\n this.playlistError = 0;\n };\n _proto.onError = function onError(event, data) {\n var _data$frag, _data$level;\n if (data.fatal) {\n return;\n }\n var hls = this.hls;\n var context = data.context;\n switch (data.details) {\n case ErrorDetails.FRAG_LOAD_ERROR:\n case ErrorDetails.FRAG_LOAD_TIMEOUT:\n case ErrorDetails.KEY_LOAD_ERROR:\n case ErrorDetails.KEY_LOAD_TIMEOUT:\n data.errorAction = this.getFragRetryOrSwitchAction(data);\n return;\n case ErrorDetails.FRAG_PARSING_ERROR:\n // ignore empty segment errors marked as gap\n if ((_data$frag = data.frag) != null && _data$frag.gap) {\n data.errorAction = {\n action: NetworkErrorAction.DoNothing,\n flags: ErrorActionFlags.None\n };\n return;\n }\n // falls through\n case ErrorDetails.FRAG_GAP:\n case ErrorDetails.FRAG_DECRYPT_ERROR:\n {\n // Switch level if possible, otherwise allow retry count to reach max error retries\n data.errorAction = this.getFragRetryOrSwitchAction(data);\n data.errorAction.action = NetworkErrorAction.SendAlternateToPenaltyBox;\n return;\n }\n case ErrorDetails.LEVEL_EMPTY_ERROR:\n case ErrorDetails.LEVEL_PARSING_ERROR:\n {\n var _data$context, _data$context$levelDe;\n // Only retry when empty and live\n var levelIndex = data.parent === PlaylistLevelType.MAIN ? data.level : hls.loadLevel;\n if (data.details === ErrorDetails.LEVEL_EMPTY_ERROR && !!((_data$context = data.context) != null && (_data$context$levelDe = _data$context.levelDetails) != null && _data$context$levelDe.live)) {\n data.errorAction = this.getPlaylistRetryOrSwitchAction(data, levelIndex);\n } else {\n // Escalate to fatal if not retrying or switching\n data.levelRetry = false;\n data.errorAction = this.getLevelSwitchAction(data, levelIndex);\n }\n }\n return;\n case ErrorDetails.LEVEL_LOAD_ERROR:\n case ErrorDetails.LEVEL_LOAD_TIMEOUT:\n if (typeof (context == null ? void 0 : context.level) === 'number') {\n data.errorAction = this.getPlaylistRetryOrSwitchAction(data, context.level);\n }\n return;\n case ErrorDetails.AUDIO_TRACK_LOAD_ERROR:\n case ErrorDetails.AUDIO_TRACK_LOAD_TIMEOUT:\n case ErrorDetails.SUBTITLE_LOAD_ERROR:\n case ErrorDetails.SUBTITLE_TRACK_LOAD_TIMEOUT:\n if (context) {\n var level = hls.levels[hls.loadLevel];\n if (level && (context.type === PlaylistContextType.AUDIO_TRACK && level.hasAudioGroup(context.groupId) || context.type === PlaylistContextType.SUBTITLE_TRACK && level.hasSubtitleGroup(context.groupId))) {\n // Perform Pathway switch or Redundant failover if possible for fastest recovery\n // otherwise allow playlist retry count to reach max error retries\n data.errorAction = this.getPlaylistRetryOrSwitchAction(data, hls.loadLevel);\n data.errorAction.action = NetworkErrorAction.SendAlternateToPenaltyBox;\n data.errorAction.flags = ErrorActionFlags.MoveAllAlternatesMatchingHost;\n return;\n }\n }\n return;\n case ErrorDetails.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED:\n {\n var _level = hls.levels[hls.loadLevel];\n var restrictedHdcpLevel = _level == null ? void 0 : _level.attrs['HDCP-LEVEL'];\n if (restrictedHdcpLevel) {\n data.errorAction = {\n action: NetworkErrorAction.SendAlternateToPenaltyBox,\n flags: ErrorActionFlags.MoveAllAlternatesMatchingHDCP,\n hdcpLevel: restrictedHdcpLevel\n };\n } else {\n this.keySystemError(data);\n }\n }\n return;\n case ErrorDetails.BUFFER_ADD_CODEC_ERROR:\n case ErrorDetails.REMUX_ALLOC_ERROR:\n case ErrorDetails.BUFFER_APPEND_ERROR:\n data.errorAction = this.getLevelSwitchAction(data, (_data$level = data.level) != null ? _data$level : hls.loadLevel);\n return;\n case ErrorDetails.INTERNAL_EXCEPTION:\n case ErrorDetails.BUFFER_APPENDING_ERROR:\n case ErrorDetails.BUFFER_FULL_ERROR:\n case ErrorDetails.LEVEL_SWITCH_ERROR:\n case ErrorDetails.BUFFER_STALLED_ERROR:\n case ErrorDetails.BUFFER_SEEK_OVER_HOLE:\n case ErrorDetails.BUFFER_NUDGE_ON_STALL:\n data.errorAction = {\n action: NetworkErrorAction.DoNothing,\n flags: ErrorActionFlags.None\n };\n return;\n }\n if (data.type === ErrorTypes.KEY_SYSTEM_ERROR) {\n this.keySystemError(data);\n }\n };\n _proto.keySystemError = function keySystemError(data) {\n var levelIndex = this.getVariantLevelIndex(data.frag);\n // Do not retry level. Escalate to fatal if switching levels fails.\n data.levelRetry = false;\n data.errorAction = this.getLevelSwitchAction(data, levelIndex);\n };\n _proto.getPlaylistRetryOrSwitchAction = function getPlaylistRetryOrSwitchAction(data, levelIndex) {\n var hls = this.hls;\n var retryConfig = getRetryConfig(hls.config.playlistLoadPolicy, data);\n var retryCount = this.playlistError++;\n var retry = shouldRetry(retryConfig, retryCount, isTimeoutError(data), data.response);\n if (retry) {\n return {\n action: NetworkErrorAction.RetryRequest,\n flags: ErrorActionFlags.None,\n retryConfig: retryConfig,\n retryCount: retryCount\n };\n }\n var errorAction = this.getLevelSwitchAction(data, levelIndex);\n if (retryConfig) {\n errorAction.retryConfig = retryConfig;\n errorAction.retryCount = retryCount;\n }\n return errorAction;\n };\n _proto.getFragRetryOrSwitchAction = function getFragRetryOrSwitchAction(data) {\n var hls = this.hls;\n // Share fragment error count accross media options (main, audio, subs)\n // This allows for level based rendition switching when media option assets fail\n var variantLevelIndex = this.getVariantLevelIndex(data.frag);\n var level = hls.levels[variantLevelIndex];\n var _hls$config = hls.config,\n fragLoadPolicy = _hls$config.fragLoadPolicy,\n keyLoadPolicy = _hls$config.keyLoadPolicy;\n var retryConfig = getRetryConfig(data.details.startsWith('key') ? keyLoadPolicy : fragLoadPolicy, data);\n var fragmentErrors = hls.levels.reduce(function (acc, level) {\n return acc + level.fragmentError;\n }, 0);\n // Switch levels when out of retried or level index out of bounds\n if (level) {\n if (data.details !== ErrorDetails.FRAG_GAP) {\n level.fragmentError++;\n }\n var retry = shouldRetry(retryConfig, fragmentErrors, isTimeoutError(data), data.response);\n if (retry) {\n return {\n action: NetworkErrorAction.RetryRequest,\n flags: ErrorActionFlags.None,\n retryConfig: retryConfig,\n retryCount: fragmentErrors\n };\n }\n }\n // Reach max retry count, or Missing level reference\n // Switch to valid index\n var errorAction = this.getLevelSwitchAction(data, variantLevelIndex);\n // Add retry details to allow skipping of FRAG_PARSING_ERROR\n if (retryConfig) {\n errorAction.retryConfig = retryConfig;\n errorAction.retryCount = fragmentErrors;\n }\n return errorAction;\n };\n _proto.getLevelSwitchAction = function getLevelSwitchAction(data, levelIndex) {\n var hls = this.hls;\n if (levelIndex === null || levelIndex === undefined) {\n levelIndex = hls.loadLevel;\n }\n var level = this.hls.levels[levelIndex];\n if (level) {\n var _data$frag2, _data$context2;\n var errorDetails = data.details;\n level.loadError++;\n if (errorDetails === ErrorDetails.BUFFER_APPEND_ERROR) {\n level.fragmentError++;\n }\n // Search for next level to retry\n var nextLevel = -1;\n var levels = hls.levels,\n loadLevel = hls.loadLevel,\n minAutoLevel = hls.minAutoLevel,\n maxAutoLevel = hls.maxAutoLevel;\n if (!hls.autoLevelEnabled) {\n hls.loadLevel = -1;\n }\n var fragErrorType = (_data$frag2 = data.frag) == null ? void 0 : _data$frag2.type;\n // Find alternate audio codec if available on audio codec error\n var isAudioCodecError = fragErrorType === PlaylistLevelType.AUDIO && errorDetails === ErrorDetails.FRAG_PARSING_ERROR || data.sourceBufferName === 'audio' && (errorDetails === ErrorDetails.BUFFER_ADD_CODEC_ERROR || errorDetails === ErrorDetails.BUFFER_APPEND_ERROR);\n var findAudioCodecAlternate = isAudioCodecError && levels.some(function (_ref) {\n var audioCodec = _ref.audioCodec;\n return level.audioCodec !== audioCodec;\n });\n // Find alternate video codec if available on video codec error\n var isVideoCodecError = data.sourceBufferName === 'video' && (errorDetails === ErrorDetails.BUFFER_ADD_CODEC_ERROR || errorDetails === ErrorDetails.BUFFER_APPEND_ERROR);\n var findVideoCodecAlternate = isVideoCodecError && levels.some(function (_ref2) {\n var codecSet = _ref2.codecSet,\n audioCodec = _ref2.audioCodec;\n return level.codecSet !== codecSet && level.audioCodec === audioCodec;\n });\n var _ref3 = (_data$context2 = data.context) != null ? _data$context2 : {},\n playlistErrorType = _ref3.type,\n playlistErrorGroupId = _ref3.groupId;\n var _loop = function _loop() {\n var candidate = (i + loadLevel) % levels.length;\n if (candidate !== loadLevel && candidate >= minAutoLevel && candidate <= maxAutoLevel && levels[candidate].loadError === 0) {\n var _level$audioGroups, _level$subtitleGroups;\n var levelCandidate = levels[candidate];\n // Skip level switch if GAP tag is found in next level at same position\n if (errorDetails === ErrorDetails.FRAG_GAP && data.frag) {\n var levelDetails = levels[candidate].details;\n if (levelDetails) {\n var fragCandidate = findFragmentByPTS(data.frag, levelDetails.fragments, data.frag.start);\n if (fragCandidate != null && fragCandidate.gap) {\n return 0; // continue\n }\n }\n } else if (playlistErrorType === PlaylistContextType.AUDIO_TRACK && levelCandidate.hasAudioGroup(playlistErrorGroupId) || playlistErrorType === PlaylistContextType.SUBTITLE_TRACK && levelCandidate.hasSubtitleGroup(playlistErrorGroupId)) {\n // For audio/subs playlist errors find another group ID or fallthrough to redundant fail-over\n return 0; // continue\n } else if (fragErrorType === PlaylistLevelType.AUDIO && (_level$audioGroups = level.audioGroups) != null && _level$audioGroups.some(function (groupId) {\n return levelCandidate.hasAudioGroup(groupId);\n }) || fragErrorType === PlaylistLevelType.SUBTITLE && (_level$subtitleGroups = level.subtitleGroups) != null && _level$subtitleGroups.some(function (groupId) {\n return levelCandidate.hasSubtitleGroup(groupId);\n }) || findAudioCodecAlternate && level.audioCodec === levelCandidate.audioCodec || !findAudioCodecAlternate && level.audioCodec !== levelCandidate.audioCodec || findVideoCodecAlternate && level.codecSet === levelCandidate.codecSet) {\n // For video/audio/subs frag errors find another group ID or fallthrough to redundant fail-over\n return 0; // continue\n }\n nextLevel = candidate;\n return 1; // break\n }\n },\n _ret;\n for (var i = levels.length; i--;) {\n _ret = _loop();\n if (_ret === 0) continue;\n if (_ret === 1) break;\n }\n if (nextLevel > -1 && hls.loadLevel !== nextLevel) {\n data.levelRetry = true;\n this.playlistError = 0;\n return {\n action: NetworkErrorAction.SendAlternateToPenaltyBox,\n flags: ErrorActionFlags.None,\n nextAutoLevel: nextLevel\n };\n }\n }\n // No levels to switch / Manual level selection / Level not found\n // Resolve with Pathway switch, Redundant fail-over, or stay on lowest Level\n return {\n action: NetworkErrorAction.SendAlternateToPenaltyBox,\n flags: ErrorActionFlags.MoveAllAlternatesMatchingHost\n };\n };\n _proto.onErrorOut = function onErrorOut(event, data) {\n var _data$errorAction;\n switch ((_data$errorAction = data.errorAction) == null ? void 0 : _data$errorAction.action) {\n case NetworkErrorAction.DoNothing:\n break;\n case NetworkErrorAction.SendAlternateToPenaltyBox:\n this.sendAlternateToPenaltyBox(data);\n if (!data.errorAction.resolved && data.details !== ErrorDetails.FRAG_GAP) {\n data.fatal = true;\n } else if (/MediaSource readyState: ended/.test(data.error.message)) {\n this.warn(\"MediaSource ended after \\\"\" + data.sourceBufferName + \"\\\" sourceBuffer append error. Attempting to recover from media error.\");\n this.hls.recoverMediaError();\n }\n break;\n }\n if (data.fatal) {\n this.hls.stopLoad();\n return;\n }\n };\n _proto.sendAlternateToPenaltyBox = function sendAlternateToPenaltyBox(data) {\n var hls = this.hls;\n var errorAction = data.errorAction;\n if (!errorAction) {\n return;\n }\n var flags = errorAction.flags,\n hdcpLevel = errorAction.hdcpLevel,\n nextAutoLevel = errorAction.nextAutoLevel;\n switch (flags) {\n case ErrorActionFlags.None:\n this.switchLevel(data, nextAutoLevel);\n break;\n case ErrorActionFlags.MoveAllAlternatesMatchingHDCP:\n if (hdcpLevel) {\n hls.maxHdcpLevel = HdcpLevels[HdcpLevels.indexOf(hdcpLevel) - 1];\n errorAction.resolved = true;\n }\n this.warn(\"Restricting playback to HDCP-LEVEL of \\\"\" + hls.maxHdcpLevel + \"\\\" or lower\");\n break;\n }\n // If not resolved by previous actions try to switch to next level\n if (!errorAction.resolved) {\n this.switchLevel(data, nextAutoLevel);\n }\n };\n _proto.switchLevel = function switchLevel(data, levelIndex) {\n if (levelIndex !== undefined && data.errorAction) {\n this.warn(\"switching to level \" + levelIndex + \" after \" + data.details);\n this.hls.nextAutoLevel = levelIndex;\n data.errorAction.resolved = true;\n // Stream controller is responsible for this but won't switch on false start\n this.hls.nextLoadLevel = this.hls.nextAutoLevel;\n }\n };\n return ErrorController;\n }();\n\n var BasePlaylistController = /*#__PURE__*/function () {\n function BasePlaylistController(hls, logPrefix) {\n this.hls = void 0;\n this.timer = -1;\n this.requestScheduled = -1;\n this.canLoad = false;\n this.log = void 0;\n this.warn = void 0;\n this.log = logger.log.bind(logger, logPrefix + \":\");\n this.warn = logger.warn.bind(logger, logPrefix + \":\");\n this.hls = hls;\n }\n var _proto = BasePlaylistController.prototype;\n _proto.destroy = function destroy() {\n this.clearTimer();\n // @ts-ignore\n this.hls = this.log = this.warn = null;\n };\n _proto.clearTimer = function clearTimer() {\n if (this.timer !== -1) {\n self.clearTimeout(this.timer);\n this.timer = -1;\n }\n };\n _proto.startLoad = function startLoad() {\n this.canLoad = true;\n this.requestScheduled = -1;\n this.loadPlaylist();\n };\n _proto.stopLoad = function stopLoad() {\n this.canLoad = false;\n this.clearTimer();\n };\n _proto.switchParams = function switchParams(playlistUri, previous) {\n var renditionReports = previous == null ? void 0 : previous.renditionReports;\n if (renditionReports) {\n var foundIndex = -1;\n for (var i = 0; i < renditionReports.length; i++) {\n var attr = renditionReports[i];\n var uri = void 0;\n try {\n uri = new self.URL(attr.URI, previous.url).href;\n } catch (error) {\n logger.warn(\"Could not construct new URL for Rendition Report: \" + error);\n uri = attr.URI || '';\n }\n // Use exact match. Otherwise, the last partial match, if any, will be used\n // (Playlist URI includes a query string that the Rendition Report does not)\n if (uri === playlistUri) {\n foundIndex = i;\n break;\n } else if (uri === playlistUri.substring(0, uri.length)) {\n foundIndex = i;\n }\n }\n if (foundIndex !== -1) {\n var _attr = renditionReports[foundIndex];\n var msn = parseInt(_attr['LAST-MSN']) || (previous == null ? void 0 : previous.lastPartSn);\n var part = parseInt(_attr['LAST-PART']) || (previous == null ? void 0 : previous.lastPartIndex);\n if (this.hls.config.lowLatencyMode) {\n var currentGoal = Math.min(previous.age - previous.partTarget, previous.targetduration);\n if (part >= 0 && currentGoal > previous.partTarget) {\n part += 1;\n }\n }\n return new HlsUrlParameters(msn, part >= 0 ? part : undefined, HlsSkip.No);\n }\n }\n };\n _proto.loadPlaylist = function loadPlaylist(hlsUrlParameters) {\n if (this.requestScheduled === -1) {\n this.requestScheduled = self.performance.now();\n }\n // Loading is handled by the subclasses\n };\n _proto.shouldLoadPlaylist = function shouldLoadPlaylist(playlist) {\n return this.canLoad && !!playlist && !!playlist.url && (!playlist.details || playlist.details.live);\n };\n _proto.shouldReloadPlaylist = function shouldReloadPlaylist(playlist) {\n return this.timer === -1 && this.requestScheduled === -1 && this.shouldLoadPlaylist(playlist);\n };\n _proto.playlistLoaded = function playlistLoaded(index, data, previousDetails) {\n var _this = this;\n var details = data.details,\n stats = data.stats;\n\n // Set last updated date-time\n var now = self.performance.now();\n var elapsed = stats.loading.first ? Math.max(0, now - stats.loading.first) : 0;\n details.advancedDateTime = Date.now() - elapsed;\n\n // if current playlist is a live playlist, arm a timer to reload it\n if (details.live || previousDetails != null && previousDetails.live) {\n details.reloaded(previousDetails);\n if (previousDetails) {\n this.log(\"live playlist \" + index + \" \" + (details.advanced ? 'REFRESHED ' + details.lastPartSn + '-' + details.lastPartIndex : details.updated ? 'UPDATED' : 'MISSED'));\n }\n // Merge live playlists to adjust fragment starts and fill in delta playlist skipped segments\n if (previousDetails && details.fragments.length > 0) {\n mergeDetails(previousDetails, details);\n }\n if (!this.canLoad || !details.live) {\n return;\n }\n var deliveryDirectives;\n var msn = undefined;\n var part = undefined;\n if (details.canBlockReload && details.endSN && details.advanced) {\n // Load level with LL-HLS delivery directives\n var lowLatencyMode = this.hls.config.lowLatencyMode;\n var lastPartSn = details.lastPartSn;\n var endSn = details.endSN;\n var lastPartIndex = details.lastPartIndex;\n var hasParts = lastPartIndex !== -1;\n var lastPart = lastPartSn === endSn;\n // When low latency mode is disabled, we'll skip part requests once the last part index is found\n var nextSnStartIndex = lowLatencyMode ? 0 : lastPartIndex;\n if (hasParts) {\n msn = lastPart ? endSn + 1 : lastPartSn;\n part = lastPart ? nextSnStartIndex : lastPartIndex + 1;\n } else {\n msn = endSn + 1;\n }\n // Low-Latency CDN Tune-in: \"age\" header and time since load indicates we're behind by more than one part\n // Update directives to obtain the Playlist that has the estimated additional duration of media\n var lastAdvanced = details.age;\n var cdnAge = lastAdvanced + details.ageHeader;\n var currentGoal = Math.min(cdnAge - details.partTarget, details.targetduration * 1.5);\n if (currentGoal > 0) {\n if (previousDetails && currentGoal > previousDetails.tuneInGoal) {\n // If we attempted to get the next or latest playlist update, but currentGoal increased,\n // then we either can't catchup, or the \"age\" header cannot be trusted.\n this.warn(\"CDN Tune-in goal increased from: \" + previousDetails.tuneInGoal + \" to: \" + currentGoal + \" with playlist age: \" + details.age);\n currentGoal = 0;\n } else {\n var segments = Math.floor(currentGoal / details.targetduration);\n msn += segments;\n if (part !== undefined) {\n var parts = Math.round(currentGoal % details.targetduration / details.partTarget);\n part += parts;\n }\n this.log(\"CDN Tune-in age: \" + details.ageHeader + \"s last advanced \" + lastAdvanced.toFixed(2) + \"s goal: \" + currentGoal + \" skip sn \" + segments + \" to part \" + part);\n }\n details.tuneInGoal = currentGoal;\n }\n deliveryDirectives = this.getDeliveryDirectives(details, data.deliveryDirectives, msn, part);\n if (lowLatencyMode || !lastPart) {\n this.loadPlaylist(deliveryDirectives);\n return;\n }\n } else if (details.canBlockReload || details.canSkipUntil) {\n deliveryDirectives = this.getDeliveryDirectives(details, data.deliveryDirectives, msn, part);\n }\n var bufferInfo = this.hls.mainForwardBufferInfo;\n var position = bufferInfo ? bufferInfo.end - bufferInfo.len : 0;\n var distanceToLiveEdgeMs = (details.edge - position) * 1000;\n var reloadInterval = computeReloadInterval(details, distanceToLiveEdgeMs);\n if (details.updated && now > this.requestScheduled + reloadInterval) {\n this.requestScheduled = stats.loading.start;\n }\n if (msn !== undefined && details.canBlockReload) {\n this.requestScheduled = stats.loading.first + reloadInterval - (details.partTarget * 1000 || 1000);\n } else if (this.requestScheduled === -1 || this.requestScheduled + reloadInterval < now) {\n this.requestScheduled = now;\n } else if (this.requestScheduled - now <= 0) {\n this.requestScheduled += reloadInterval;\n }\n var estimatedTimeUntilUpdate = this.requestScheduled - now;\n estimatedTimeUntilUpdate = Math.max(0, estimatedTimeUntilUpdate);\n this.log(\"reload live playlist \" + index + \" in \" + Math.round(estimatedTimeUntilUpdate) + \" ms\");\n // this.log(\n // `live reload ${details.updated ? 'REFRESHED' : 'MISSED'}\n // reload in ${estimatedTimeUntilUpdate / 1000}\n // round trip ${(stats.loading.end - stats.loading.start) / 1000}\n // diff ${\n // (reloadInterval -\n // (estimatedTimeUntilUpdate +\n // stats.loading.end -\n // stats.loading.start)) /\n // 1000\n // }\n // reload interval ${reloadInterval / 1000}\n // target duration ${details.targetduration}\n // distance to edge ${distanceToLiveEdgeMs / 1000}`\n // );\n\n this.timer = self.setTimeout(function () {\n return _this.loadPlaylist(deliveryDirectives);\n }, estimatedTimeUntilUpdate);\n } else {\n this.clearTimer();\n }\n };\n _proto.getDeliveryDirectives = function getDeliveryDirectives(details, previousDeliveryDirectives, msn, part) {\n var skip = getSkipValue(details, msn);\n if (previousDeliveryDirectives != null && previousDeliveryDirectives.skip && details.deltaUpdateFailed) {\n msn = previousDeliveryDirectives.msn;\n part = previousDeliveryDirectives.part;\n skip = HlsSkip.No;\n }\n return new HlsUrlParameters(msn, part, skip);\n };\n _proto.checkRetry = function checkRetry(errorEvent) {\n var _this2 = this;\n var errorDetails = errorEvent.details;\n var isTimeout = isTimeoutError(errorEvent);\n var errorAction = errorEvent.errorAction;\n var _ref = errorAction || {},\n action = _ref.action,\n _ref$retryCount = _ref.retryCount,\n retryCount = _ref$retryCount === void 0 ? 0 : _ref$retryCount,\n retryConfig = _ref.retryConfig;\n var retry = !!errorAction && !!retryConfig && (action === NetworkErrorAction.RetryRequest || !errorAction.resolved && action === NetworkErrorAction.SendAlternateToPenaltyBox);\n if (retry) {\n var _errorEvent$context;\n this.requestScheduled = -1;\n if (retryCount >= retryConfig.maxNumRetry) {\n return false;\n }\n if (isTimeout && (_errorEvent$context = errorEvent.context) != null && _errorEvent$context.deliveryDirectives) {\n // The LL-HLS request already timed out so retry immediately\n this.warn(\"Retrying playlist loading \" + (retryCount + 1) + \"/\" + retryConfig.maxNumRetry + \" after \\\"\" + errorDetails + \"\\\" without delivery-directives\");\n this.loadPlaylist();\n } else {\n var delay = getRetryDelay(retryConfig, retryCount);\n // Schedule level/track reload\n this.timer = self.setTimeout(function () {\n return _this2.loadPlaylist();\n }, delay);\n this.warn(\"Retrying playlist loading \" + (retryCount + 1) + \"/\" + retryConfig.maxNumRetry + \" after \\\"\" + errorDetails + \"\\\" in \" + delay + \"ms\");\n }\n // `levelRetry = true` used to inform other controllers that a retry is happening\n errorEvent.levelRetry = true;\n errorAction.resolved = true;\n }\n return retry;\n };\n return BasePlaylistController;\n }();\n\n /*\n * compute an Exponential Weighted moving average\n * - https://en.wikipedia.org/wiki/Moving_average#Exponential_moving_average\n * - heavily inspired from shaka-player\n */\n var EWMA = /*#__PURE__*/function () {\n // About half of the estimated value will be from the last |halfLife| samples by weight.\n function EWMA(halfLife, estimate, weight) {\n if (estimate === void 0) {\n estimate = 0;\n }\n if (weight === void 0) {\n weight = 0;\n }\n this.halfLife = void 0;\n this.alpha_ = void 0;\n this.estimate_ = void 0;\n this.totalWeight_ = void 0;\n this.halfLife = halfLife;\n // Larger values of alpha expire historical data more slowly.\n this.alpha_ = halfLife ? Math.exp(Math.log(0.5) / halfLife) : 0;\n this.estimate_ = estimate;\n this.totalWeight_ = weight;\n }\n var _proto = EWMA.prototype;\n _proto.sample = function sample(weight, value) {\n var adjAlpha = Math.pow(this.alpha_, weight);\n this.estimate_ = value * (1 - adjAlpha) + adjAlpha * this.estimate_;\n this.totalWeight_ += weight;\n };\n _proto.getTotalWeight = function getTotalWeight() {\n return this.totalWeight_;\n };\n _proto.getEstimate = function getEstimate() {\n if (this.alpha_) {\n var zeroFactor = 1 - Math.pow(this.alpha_, this.totalWeight_);\n if (zeroFactor) {\n return this.estimate_ / zeroFactor;\n }\n }\n return this.estimate_;\n };\n return EWMA;\n }();\n\n /*\n * EWMA Bandwidth Estimator\n * - heavily inspired from shaka-player\n * Tracks bandwidth samples and estimates available bandwidth.\n * Based on the minimum of two exponentially-weighted moving averages with\n * different half-lives.\n */\n\n var EwmaBandWidthEstimator = /*#__PURE__*/function () {\n function EwmaBandWidthEstimator(slow, fast, defaultEstimate, defaultTTFB) {\n if (defaultTTFB === void 0) {\n defaultTTFB = 100;\n }\n this.defaultEstimate_ = void 0;\n this.minWeight_ = void 0;\n this.minDelayMs_ = void 0;\n this.slow_ = void 0;\n this.fast_ = void 0;\n this.defaultTTFB_ = void 0;\n this.ttfb_ = void 0;\n this.defaultEstimate_ = defaultEstimate;\n this.minWeight_ = 0.001;\n this.minDelayMs_ = 50;\n this.slow_ = new EWMA(slow);\n this.fast_ = new EWMA(fast);\n this.defaultTTFB_ = defaultTTFB;\n this.ttfb_ = new EWMA(slow);\n }\n var _proto = EwmaBandWidthEstimator.prototype;\n _proto.update = function update(slow, fast) {\n var slow_ = this.slow_,\n fast_ = this.fast_,\n ttfb_ = this.ttfb_;\n if (slow_.halfLife !== slow) {\n this.slow_ = new EWMA(slow, slow_.getEstimate(), slow_.getTotalWeight());\n }\n if (fast_.halfLife !== fast) {\n this.fast_ = new EWMA(fast, fast_.getEstimate(), fast_.getTotalWeight());\n }\n if (ttfb_.halfLife !== slow) {\n this.ttfb_ = new EWMA(slow, ttfb_.getEstimate(), ttfb_.getTotalWeight());\n }\n };\n _proto.sample = function sample(durationMs, numBytes) {\n durationMs = Math.max(durationMs, this.minDelayMs_);\n var numBits = 8 * numBytes;\n // weight is duration in seconds\n var durationS = durationMs / 1000;\n // value is bandwidth in bits/s\n var bandwidthInBps = numBits / durationS;\n this.fast_.sample(durationS, bandwidthInBps);\n this.slow_.sample(durationS, bandwidthInBps);\n };\n _proto.sampleTTFB = function sampleTTFB(ttfb) {\n // weight is frequency curve applied to TTFB in seconds\n // (longer times have less weight with expected input under 1 second)\n var seconds = ttfb / 1000;\n var weight = Math.sqrt(2) * Math.exp(-Math.pow(seconds, 2) / 2);\n this.ttfb_.sample(weight, Math.max(ttfb, 5));\n };\n _proto.canEstimate = function canEstimate() {\n return this.fast_.getTotalWeight() >= this.minWeight_;\n };\n _proto.getEstimate = function getEstimate() {\n if (this.canEstimate()) {\n // console.log('slow estimate:'+ Math.round(this.slow_.getEstimate()));\n // console.log('fast estimate:'+ Math.round(this.fast_.getEstimate()));\n // Take the minimum of these two estimates. This should have the effect of\n // adapting down quickly, but up more slowly.\n return Math.min(this.fast_.getEstimate(), this.slow_.getEstimate());\n } else {\n return this.defaultEstimate_;\n }\n };\n _proto.getEstimateTTFB = function getEstimateTTFB() {\n if (this.ttfb_.getTotalWeight() >= this.minWeight_) {\n return this.ttfb_.getEstimate();\n } else {\n return this.defaultTTFB_;\n }\n };\n _proto.destroy = function destroy() {};\n return EwmaBandWidthEstimator;\n }();\n\n var SUPPORTED_INFO_DEFAULT = {\n supported: true,\n configurations: [],\n decodingInfoResults: [{\n supported: true,\n powerEfficient: true,\n smooth: true\n }]\n };\n var SUPPORTED_INFO_CACHE = {};\n function requiresMediaCapabilitiesDecodingInfo(level, audioTracksByGroup, currentVideoRange, currentFrameRate, currentBw, audioPreference) {\n // Only test support when configuration is exceeds minimum options\n var audioGroups = level.audioCodec ? level.audioGroups : null;\n var audioCodecPreference = audioPreference == null ? void 0 : audioPreference.audioCodec;\n var channelsPreference = audioPreference == null ? void 0 : audioPreference.channels;\n var maxChannels = channelsPreference ? parseInt(channelsPreference) : audioCodecPreference ? Infinity : 2;\n var audioChannels = null;\n if (audioGroups != null && audioGroups.length) {\n try {\n if (audioGroups.length === 1 && audioGroups[0]) {\n audioChannels = audioTracksByGroup.groups[audioGroups[0]].channels;\n } else {\n audioChannels = audioGroups.reduce(function (acc, groupId) {\n if (groupId) {\n var audioTrackGroup = audioTracksByGroup.groups[groupId];\n if (!audioTrackGroup) {\n throw new Error(\"Audio track group \" + groupId + \" not found\");\n }\n // Sum all channel key values\n Object.keys(audioTrackGroup.channels).forEach(function (key) {\n acc[key] = (acc[key] || 0) + audioTrackGroup.channels[key];\n });\n }\n return acc;\n }, {\n 2: 0\n });\n }\n } catch (error) {\n return true;\n }\n }\n return level.videoCodec !== undefined && (level.width > 1920 && level.height > 1088 || level.height > 1920 && level.width > 1088 || level.frameRate > Math.max(currentFrameRate, 30) || level.videoRange !== 'SDR' && level.videoRange !== currentVideoRange || level.bitrate > Math.max(currentBw, 8e6)) || !!audioChannels && isFiniteNumber(maxChannels) && Object.keys(audioChannels).some(function (channels) {\n return parseInt(channels) > maxChannels;\n });\n }\n function getMediaDecodingInfoPromise(level, audioTracksByGroup, mediaCapabilities) {\n var videoCodecs = level.videoCodec;\n var audioCodecs = level.audioCodec;\n if (!videoCodecs || !audioCodecs || !mediaCapabilities) {\n return Promise.resolve(SUPPORTED_INFO_DEFAULT);\n }\n var baseVideoConfiguration = {\n width: level.width,\n height: level.height,\n bitrate: Math.ceil(Math.max(level.bitrate * 0.9, level.averageBitrate)),\n // Assume a framerate of 30fps since MediaCapabilities will not accept Level default of 0.\n framerate: level.frameRate || 30\n };\n var videoRange = level.videoRange;\n if (videoRange !== 'SDR') {\n baseVideoConfiguration.transferFunction = videoRange.toLowerCase();\n }\n var configurations = videoCodecs.split(',').map(function (videoCodec) {\n return {\n type: 'media-source',\n video: _objectSpread2(_objectSpread2({}, baseVideoConfiguration), {}, {\n contentType: mimeTypeForCodec(videoCodec, 'video')\n })\n };\n });\n if (audioCodecs && level.audioGroups) {\n level.audioGroups.forEach(function (audioGroupId) {\n var _audioTracksByGroup$g;\n if (!audioGroupId) {\n return;\n }\n (_audioTracksByGroup$g = audioTracksByGroup.groups[audioGroupId]) == null ? void 0 : _audioTracksByGroup$g.tracks.forEach(function (audioTrack) {\n if (audioTrack.groupId === audioGroupId) {\n var channels = audioTrack.channels || '';\n var channelsNumber = parseFloat(channels);\n if (isFiniteNumber(channelsNumber) && channelsNumber > 2) {\n configurations.push.apply(configurations, audioCodecs.split(',').map(function (audioCodec) {\n return {\n type: 'media-source',\n audio: {\n contentType: mimeTypeForCodec(audioCodec, 'audio'),\n channels: '' + channelsNumber\n // spatialRendering:\n // audioCodec === 'ec-3' && channels.indexOf('JOC'),\n }\n };\n }));\n }\n }\n });\n });\n }\n return Promise.all(configurations.map(function (configuration) {\n // Cache MediaCapabilities promises\n var decodingInfoKey = getMediaDecodingInfoKey(configuration);\n return SUPPORTED_INFO_CACHE[decodingInfoKey] || (SUPPORTED_INFO_CACHE[decodingInfoKey] = mediaCapabilities.decodingInfo(configuration));\n })).then(function (decodingInfoResults) {\n return {\n supported: !decodingInfoResults.some(function (info) {\n return !info.supported;\n }),\n configurations: configurations,\n decodingInfoResults: decodingInfoResults\n };\n }).catch(function (error) {\n return {\n supported: false,\n configurations: configurations,\n decodingInfoResults: [],\n error: error\n };\n });\n }\n function getMediaDecodingInfoKey(config) {\n var audio = config.audio,\n video = config.video;\n var mediaConfig = video || audio;\n if (mediaConfig) {\n var codec = mediaConfig.contentType.split('\"')[1];\n if (video) {\n return \"r\" + video.height + \"x\" + video.width + \"f\" + Math.ceil(video.framerate) + (video.transferFunction || 'sd') + \"_\" + codec + \"_\" + Math.ceil(video.bitrate / 1e5);\n }\n if (audio) {\n return \"c\" + audio.channels + (audio.spatialRendering ? 's' : 'n') + \"_\" + codec;\n }\n }\n return '';\n }\n\n /**\n * @returns Whether we can detect and validate HDR capability within the window context\n */\n function isHdrSupported() {\n if (typeof matchMedia === 'function') {\n var mediaQueryList = matchMedia('(dynamic-range: high)');\n var badQuery = matchMedia('bad query');\n if (mediaQueryList.media !== badQuery.media) {\n return mediaQueryList.matches === true;\n }\n }\n return false;\n }\n\n /**\n * Sanitizes inputs to return the active video selection options for HDR/SDR.\n * When both inputs are null:\n *\n * `{ preferHDR: false, allowedVideoRanges: [] }`\n *\n * When `currentVideoRange` non-null, maintain the active range:\n *\n * `{ preferHDR: currentVideoRange !== 'SDR', allowedVideoRanges: [currentVideoRange] }`\n *\n * When VideoSelectionOption non-null:\n *\n * - Allow all video ranges if `allowedVideoRanges` unspecified.\n * - If `preferHDR` is non-null use the value to filter `allowedVideoRanges`.\n * - Else check window for HDR support and set `preferHDR` to the result.\n *\n * @param currentVideoRange\n * @param videoPreference\n */\n function getVideoSelectionOptions(currentVideoRange, videoPreference) {\n var preferHDR = false;\n var allowedVideoRanges = [];\n if (currentVideoRange) {\n preferHDR = currentVideoRange !== 'SDR';\n allowedVideoRanges = [currentVideoRange];\n }\n if (videoPreference) {\n allowedVideoRanges = videoPreference.allowedVideoRanges || VideoRangeValues.slice(0);\n preferHDR = videoPreference.preferHDR !== undefined ? videoPreference.preferHDR : isHdrSupported();\n if (preferHDR) {\n allowedVideoRanges = allowedVideoRanges.filter(function (range) {\n return range !== 'SDR';\n });\n } else {\n allowedVideoRanges = ['SDR'];\n }\n }\n return {\n preferHDR: preferHDR,\n allowedVideoRanges: allowedVideoRanges\n };\n }\n\n function getStartCodecTier(codecTiers, currentVideoRange, currentBw, audioPreference, videoPreference) {\n var codecSets = Object.keys(codecTiers);\n var channelsPreference = audioPreference == null ? void 0 : audioPreference.channels;\n var audioCodecPreference = audioPreference == null ? void 0 : audioPreference.audioCodec;\n var preferStereo = channelsPreference && parseInt(channelsPreference) === 2;\n // Use first level set to determine stereo, and minimum resolution and framerate\n var hasStereo = true;\n var hasCurrentVideoRange = false;\n var minHeight = Infinity;\n var minFramerate = Infinity;\n var minBitrate = Infinity;\n var selectedScore = 0;\n var videoRanges = [];\n var _getVideoSelectionOpt = getVideoSelectionOptions(currentVideoRange, videoPreference),\n preferHDR = _getVideoSelectionOpt.preferHDR,\n allowedVideoRanges = _getVideoSelectionOpt.allowedVideoRanges;\n var _loop = function _loop() {\n var tier = codecTiers[codecSets[i]];\n hasStereo = tier.channels[2] > 0;\n minHeight = Math.min(minHeight, tier.minHeight);\n minFramerate = Math.min(minFramerate, tier.minFramerate);\n minBitrate = Math.min(minBitrate, tier.minBitrate);\n var matchingVideoRanges = allowedVideoRanges.filter(function (range) {\n return tier.videoRanges[range] > 0;\n });\n if (matchingVideoRanges.length > 0) {\n hasCurrentVideoRange = true;\n videoRanges = matchingVideoRanges;\n }\n };\n for (var i = codecSets.length; i--;) {\n _loop();\n }\n minHeight = isFiniteNumber(minHeight) ? minHeight : 0;\n minFramerate = isFiniteNumber(minFramerate) ? minFramerate : 0;\n var maxHeight = Math.max(1080, minHeight);\n var maxFramerate = Math.max(30, minFramerate);\n minBitrate = isFiniteNumber(minBitrate) ? minBitrate : currentBw;\n currentBw = Math.max(minBitrate, currentBw);\n // If there are no variants with matching preference, set currentVideoRange to undefined\n if (!hasCurrentVideoRange) {\n currentVideoRange = undefined;\n videoRanges = [];\n }\n var codecSet = codecSets.reduce(function (selected, candidate) {\n // Remove candiates which do not meet bitrate, default audio, stereo or channels preference, 1080p or lower, 30fps or lower, or SDR/HDR selection if present\n var candidateTier = codecTiers[candidate];\n if (candidate === selected) {\n return selected;\n }\n if (candidateTier.minBitrate > currentBw) {\n logStartCodecCandidateIgnored(candidate, \"min bitrate of \" + candidateTier.minBitrate + \" > current estimate of \" + currentBw);\n return selected;\n }\n if (!candidateTier.hasDefaultAudio) {\n logStartCodecCandidateIgnored(candidate, \"no renditions with default or auto-select sound found\");\n return selected;\n }\n if (audioCodecPreference && candidate.indexOf(audioCodecPreference.substring(0, 4)) % 5 !== 0) {\n logStartCodecCandidateIgnored(candidate, \"audio codec preference \\\"\" + audioCodecPreference + \"\\\" not found\");\n return selected;\n }\n if (channelsPreference && !preferStereo) {\n if (!candidateTier.channels[channelsPreference]) {\n logStartCodecCandidateIgnored(candidate, \"no renditions with \" + channelsPreference + \" channel sound found (channels options: \" + Object.keys(candidateTier.channels) + \")\");\n return selected;\n }\n } else if ((!audioCodecPreference || preferStereo) && hasStereo && candidateTier.channels['2'] === 0) {\n logStartCodecCandidateIgnored(candidate, \"no renditions with stereo sound found\");\n return selected;\n }\n if (candidateTier.minHeight > maxHeight) {\n logStartCodecCandidateIgnored(candidate, \"min resolution of \" + candidateTier.minHeight + \" > maximum of \" + maxHeight);\n return selected;\n }\n if (candidateTier.minFramerate > maxFramerate) {\n logStartCodecCandidateIgnored(candidate, \"min framerate of \" + candidateTier.minFramerate + \" > maximum of \" + maxFramerate);\n return selected;\n }\n if (!videoRanges.some(function (range) {\n return candidateTier.videoRanges[range] > 0;\n })) {\n logStartCodecCandidateIgnored(candidate, \"no variants with VIDEO-RANGE of \" + JSON.stringify(videoRanges) + \" found\");\n return selected;\n }\n if (candidateTier.maxScore < selectedScore) {\n logStartCodecCandidateIgnored(candidate, \"max score of \" + candidateTier.maxScore + \" < selected max of \" + selectedScore);\n return selected;\n }\n // Remove candiates with less preferred codecs or more errors\n if (selected && (codecsSetSelectionPreferenceValue(candidate) >= codecsSetSelectionPreferenceValue(selected) || candidateTier.fragmentError > codecTiers[selected].fragmentError)) {\n return selected;\n }\n selectedScore = candidateTier.maxScore;\n return candidate;\n }, undefined);\n return {\n codecSet: codecSet,\n videoRanges: videoRanges,\n preferHDR: preferHDR,\n minFramerate: minFramerate,\n minBitrate: minBitrate\n };\n }\n function logStartCodecCandidateIgnored(codeSet, reason) {\n logger.log(\"[abr] start candidates with \\\"\" + codeSet + \"\\\" ignored because \" + reason);\n }\n function getAudioTracksByGroup(allAudioTracks) {\n return allAudioTracks.reduce(function (audioTracksByGroup, track) {\n var trackGroup = audioTracksByGroup.groups[track.groupId];\n if (!trackGroup) {\n trackGroup = audioTracksByGroup.groups[track.groupId] = {\n tracks: [],\n channels: {\n 2: 0\n },\n hasDefault: false,\n hasAutoSelect: false\n };\n }\n trackGroup.tracks.push(track);\n var channelsKey = track.channels || '2';\n trackGroup.channels[channelsKey] = (trackGroup.channels[channelsKey] || 0) + 1;\n trackGroup.hasDefault = trackGroup.hasDefault || track.default;\n trackGroup.hasAutoSelect = trackGroup.hasAutoSelect || track.autoselect;\n if (trackGroup.hasDefault) {\n audioTracksByGroup.hasDefaultAudio = true;\n }\n if (trackGroup.hasAutoSelect) {\n audioTracksByGroup.hasAutoSelectAudio = true;\n }\n return audioTracksByGroup;\n }, {\n hasDefaultAudio: false,\n hasAutoSelectAudio: false,\n groups: {}\n });\n }\n function getCodecTiers(levels, audioTracksByGroup, minAutoLevel, maxAutoLevel) {\n return levels.slice(minAutoLevel, maxAutoLevel + 1).reduce(function (tiers, level) {\n if (!level.codecSet) {\n return tiers;\n }\n var audioGroups = level.audioGroups;\n var tier = tiers[level.codecSet];\n if (!tier) {\n tiers[level.codecSet] = tier = {\n minBitrate: Infinity,\n minHeight: Infinity,\n minFramerate: Infinity,\n maxScore: 0,\n videoRanges: {\n SDR: 0\n },\n channels: {\n '2': 0\n },\n hasDefaultAudio: !audioGroups,\n fragmentError: 0\n };\n }\n tier.minBitrate = Math.min(tier.minBitrate, level.bitrate);\n var lesserWidthOrHeight = Math.min(level.height, level.width);\n tier.minHeight = Math.min(tier.minHeight, lesserWidthOrHeight);\n tier.minFramerate = Math.min(tier.minFramerate, level.frameRate);\n tier.maxScore = Math.max(tier.maxScore, level.score);\n tier.fragmentError += level.fragmentError;\n tier.videoRanges[level.videoRange] = (tier.videoRanges[level.videoRange] || 0) + 1;\n if (audioGroups) {\n audioGroups.forEach(function (audioGroupId) {\n if (!audioGroupId) {\n return;\n }\n var audioGroup = audioTracksByGroup.groups[audioGroupId];\n // Default audio is any group with DEFAULT=YES, or if missing then any group with AUTOSELECT=YES, or all variants\n tier.hasDefaultAudio = tier.hasDefaultAudio || audioTracksByGroup.hasDefaultAudio ? audioGroup.hasDefault : audioGroup.hasAutoSelect || !audioTracksByGroup.hasDefaultAudio && !audioTracksByGroup.hasAutoSelectAudio;\n Object.keys(audioGroup.channels).forEach(function (channels) {\n tier.channels[channels] = (tier.channels[channels] || 0) + audioGroup.channels[channels];\n });\n });\n }\n return tiers;\n }, {});\n }\n function findMatchingOption(option, tracks, matchPredicate) {\n if ('attrs' in option) {\n var index = tracks.indexOf(option);\n if (index !== -1) {\n return index;\n }\n }\n for (var i = 0; i < tracks.length; i++) {\n var _track = tracks[i];\n if (matchesOption(option, _track, matchPredicate)) {\n return i;\n }\n }\n return -1;\n }\n function matchesOption(option, track, matchPredicate) {\n var groupId = option.groupId,\n name = option.name,\n lang = option.lang,\n assocLang = option.assocLang,\n characteristics = option.characteristics,\n isDefault = option.default;\n var forced = option.forced;\n return (groupId === undefined || track.groupId === groupId) && (name === undefined || track.name === name) && (lang === undefined || track.lang === lang) && (lang === undefined || track.assocLang === assocLang) && (isDefault === undefined || track.default === isDefault) && (forced === undefined || track.forced === forced) && (characteristics === undefined || characteristicsMatch(characteristics, track.characteristics)) && (matchPredicate === undefined || matchPredicate(option, track));\n }\n function characteristicsMatch(characteristicsA, characteristicsB) {\n if (characteristicsB === void 0) {\n characteristicsB = '';\n }\n var arrA = characteristicsA.split(',');\n var arrB = characteristicsB.split(',');\n // Expects each item to be unique:\n return arrA.length === arrB.length && !arrA.some(function (el) {\n return arrB.indexOf(el) === -1;\n });\n }\n function audioMatchPredicate(option, track) {\n var audioCodec = option.audioCodec,\n channels = option.channels;\n return (audioCodec === undefined || (track.audioCodec || '').substring(0, 4) === audioCodec.substring(0, 4)) && (channels === undefined || channels === (track.channels || '2'));\n }\n function findClosestLevelWithAudioGroup(option, levels, allAudioTracks, searchIndex, matchPredicate) {\n var currentLevel = levels[searchIndex];\n // Are there variants with same URI as current level?\n // If so, find a match that does not require any level URI change\n var variants = levels.reduce(function (variantMap, level, index) {\n var uri = level.uri;\n var renditions = variantMap[uri] || (variantMap[uri] = []);\n renditions.push(index);\n return variantMap;\n }, {});\n var renditions = variants[currentLevel.uri];\n if (renditions.length > 1) {\n searchIndex = Math.max.apply(Math, renditions);\n }\n // Find best match\n var currentVideoRange = currentLevel.videoRange;\n var currentFrameRate = currentLevel.frameRate;\n var currentVideoCodec = currentLevel.codecSet.substring(0, 4);\n var matchingVideo = searchDownAndUpList(levels, searchIndex, function (level) {\n if (level.videoRange !== currentVideoRange || level.frameRate !== currentFrameRate || level.codecSet.substring(0, 4) !== currentVideoCodec) {\n return false;\n }\n var audioGroups = level.audioGroups;\n var tracks = allAudioTracks.filter(function (track) {\n return !audioGroups || audioGroups.indexOf(track.groupId) !== -1;\n });\n return findMatchingOption(option, tracks, matchPredicate) > -1;\n });\n if (matchingVideo > -1) {\n return matchingVideo;\n }\n return searchDownAndUpList(levels, searchIndex, function (level) {\n var audioGroups = level.audioGroups;\n var tracks = allAudioTracks.filter(function (track) {\n return !audioGroups || audioGroups.indexOf(track.groupId) !== -1;\n });\n return findMatchingOption(option, tracks, matchPredicate) > -1;\n });\n }\n function searchDownAndUpList(arr, searchIndex, predicate) {\n for (var i = searchIndex; i; i--) {\n if (predicate(arr[i])) {\n return i;\n }\n }\n for (var _i = searchIndex + 1; _i < arr.length; _i++) {\n if (predicate(arr[_i])) {\n return _i;\n }\n }\n return -1;\n }\n\n var AbrController = /*#__PURE__*/function () {\n function AbrController(_hls) {\n var _this = this;\n this.hls = void 0;\n this.lastLevelLoadSec = 0;\n this.lastLoadedFragLevel = -1;\n this.firstSelection = -1;\n this._nextAutoLevel = -1;\n this.nextAutoLevelKey = '';\n this.audioTracksByGroup = null;\n this.codecTiers = null;\n this.timer = -1;\n this.fragCurrent = null;\n this.partCurrent = null;\n this.bitrateTestDelay = 0;\n this.bwEstimator = void 0;\n /*\n This method monitors the download rate of the current fragment, and will downswitch if that fragment will not load\n quickly enough to prevent underbuffering\n */\n this._abandonRulesCheck = function () {\n var frag = _this.fragCurrent,\n part = _this.partCurrent,\n hls = _this.hls;\n var autoLevelEnabled = hls.autoLevelEnabled,\n media = hls.media;\n if (!frag || !media) {\n return;\n }\n var now = performance.now();\n var stats = part ? part.stats : frag.stats;\n var duration = part ? part.duration : frag.duration;\n var timeLoading = now - stats.loading.start;\n var minAutoLevel = hls.minAutoLevel;\n // If frag loading is aborted, complete, or from lowest level, stop timer and return\n if (stats.aborted || stats.loaded && stats.loaded === stats.total || frag.level <= minAutoLevel) {\n _this.clearTimer();\n // reset forced auto level value so that next level will be selected\n _this._nextAutoLevel = -1;\n return;\n }\n\n // This check only runs if we're in ABR mode and actually playing\n if (!autoLevelEnabled || media.paused || !media.playbackRate || !media.readyState) {\n return;\n }\n var bufferInfo = hls.mainForwardBufferInfo;\n if (bufferInfo === null) {\n return;\n }\n var ttfbEstimate = _this.bwEstimator.getEstimateTTFB();\n var playbackRate = Math.abs(media.playbackRate);\n // To maintain stable adaptive playback, only begin monitoring frag loading after half or more of its playback duration has passed\n if (timeLoading <= Math.max(ttfbEstimate, 1000 * (duration / (playbackRate * 2)))) {\n return;\n }\n\n // bufferStarvationDelay is an estimate of the amount time (in seconds) it will take to exhaust the buffer\n var bufferStarvationDelay = bufferInfo.len / playbackRate;\n var ttfb = stats.loading.first ? stats.loading.first - stats.loading.start : -1;\n var loadedFirstByte = stats.loaded && ttfb > -1;\n var bwEstimate = _this.getBwEstimate();\n var levels = hls.levels;\n var level = levels[frag.level];\n var expectedLen = stats.total || Math.max(stats.loaded, Math.round(duration * level.averageBitrate / 8));\n var timeStreaming = loadedFirstByte ? timeLoading - ttfb : timeLoading;\n if (timeStreaming < 1 && loadedFirstByte) {\n timeStreaming = Math.min(timeLoading, stats.loaded * 8 / bwEstimate);\n }\n var loadRate = loadedFirstByte ? stats.loaded * 1000 / timeStreaming : 0;\n // fragLoadDelay is an estimate of the time (in seconds) it will take to buffer the remainder of the fragment\n var fragLoadedDelay = loadRate ? (expectedLen - stats.loaded) / loadRate : expectedLen * 8 / bwEstimate + ttfbEstimate / 1000;\n // Only downswitch if the time to finish loading the current fragment is greater than the amount of buffer left\n if (fragLoadedDelay <= bufferStarvationDelay) {\n return;\n }\n var bwe = loadRate ? loadRate * 8 : bwEstimate;\n var fragLevelNextLoadedDelay = Number.POSITIVE_INFINITY;\n var nextLoadLevel;\n // Iterate through lower level and try to find the largest one that avoids rebuffering\n for (nextLoadLevel = frag.level - 1; nextLoadLevel > minAutoLevel; nextLoadLevel--) {\n // compute time to load next fragment at lower level\n // 8 = bits per byte (bps/Bps)\n var levelNextBitrate = levels[nextLoadLevel].maxBitrate;\n fragLevelNextLoadedDelay = _this.getTimeToLoadFrag(ttfbEstimate / 1000, bwe, duration * levelNextBitrate, !levels[nextLoadLevel].details);\n if (fragLevelNextLoadedDelay < bufferStarvationDelay) {\n break;\n }\n }\n // Only emergency switch down if it takes less time to load a new fragment at lowest level instead of continuing\n // to load the current one\n if (fragLevelNextLoadedDelay >= fragLoadedDelay) {\n return;\n }\n\n // if estimated load time of new segment is completely unreasonable, ignore and do not emergency switch down\n if (fragLevelNextLoadedDelay > duration * 10) {\n return;\n }\n hls.nextLoadLevel = hls.nextAutoLevel = nextLoadLevel;\n if (loadedFirstByte) {\n // If there has been loading progress, sample bandwidth using loading time offset by minimum TTFB time\n _this.bwEstimator.sample(timeLoading - Math.min(ttfbEstimate, ttfb), stats.loaded);\n } else {\n // If there has been no loading progress, sample TTFB\n _this.bwEstimator.sampleTTFB(timeLoading);\n }\n var nextLoadLevelBitrate = levels[nextLoadLevel].maxBitrate;\n if (_this.getBwEstimate() * _this.hls.config.abrBandWidthUpFactor > nextLoadLevelBitrate) {\n _this.resetEstimator(nextLoadLevelBitrate);\n }\n _this.clearTimer();\n logger.warn(\"[abr] Fragment \" + frag.sn + (part ? ' part ' + part.index : '') + \" of level \" + frag.level + \" is loading too slowly;\\n Time to underbuffer: \" + bufferStarvationDelay.toFixed(3) + \" s\\n Estimated load time for current fragment: \" + fragLoadedDelay.toFixed(3) + \" s\\n Estimated load time for down switch fragment: \" + fragLevelNextLoadedDelay.toFixed(3) + \" s\\n TTFB estimate: \" + (ttfb | 0) + \" ms\\n Current BW estimate: \" + (isFiniteNumber(bwEstimate) ? bwEstimate | 0 : 'Unknown') + \" bps\\n New BW estimate: \" + (_this.getBwEstimate() | 0) + \" bps\\n Switching to level \" + nextLoadLevel + \" @ \" + (nextLoadLevelBitrate | 0) + \" bps\");\n hls.trigger(Events.FRAG_LOAD_EMERGENCY_ABORTED, {\n frag: frag,\n part: part,\n stats: stats\n });\n };\n this.hls = _hls;\n this.bwEstimator = this.initEstimator();\n this.registerListeners();\n }\n var _proto = AbrController.prototype;\n _proto.resetEstimator = function resetEstimator(abrEwmaDefaultEstimate) {\n if (abrEwmaDefaultEstimate) {\n logger.log(\"setting initial bwe to \" + abrEwmaDefaultEstimate);\n this.hls.config.abrEwmaDefaultEstimate = abrEwmaDefaultEstimate;\n }\n this.firstSelection = -1;\n this.bwEstimator = this.initEstimator();\n };\n _proto.initEstimator = function initEstimator() {\n var config = this.hls.config;\n return new EwmaBandWidthEstimator(config.abrEwmaSlowVoD, config.abrEwmaFastVoD, config.abrEwmaDefaultEstimate);\n };\n _proto.registerListeners = function registerListeners() {\n var hls = this.hls;\n hls.on(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.on(Events.FRAG_LOADING, this.onFragLoading, this);\n hls.on(Events.FRAG_LOADED, this.onFragLoaded, this);\n hls.on(Events.FRAG_BUFFERED, this.onFragBuffered, this);\n hls.on(Events.LEVEL_SWITCHING, this.onLevelSwitching, this);\n hls.on(Events.LEVEL_LOADED, this.onLevelLoaded, this);\n hls.on(Events.LEVELS_UPDATED, this.onLevelsUpdated, this);\n hls.on(Events.MAX_AUTO_LEVEL_UPDATED, this.onMaxAutoLevelUpdated, this);\n hls.on(Events.ERROR, this.onError, this);\n };\n _proto.unregisterListeners = function unregisterListeners() {\n var hls = this.hls;\n if (!hls) {\n return;\n }\n hls.off(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.off(Events.FRAG_LOADING, this.onFragLoading, this);\n hls.off(Events.FRAG_LOADED, this.onFragLoaded, this);\n hls.off(Events.FRAG_BUFFERED, this.onFragBuffered, this);\n hls.off(Events.LEVEL_SWITCHING, this.onLevelSwitching, this);\n hls.off(Events.LEVEL_LOADED, this.onLevelLoaded, this);\n hls.off(Events.LEVELS_UPDATED, this.onLevelsUpdated, this);\n hls.off(Events.MAX_AUTO_LEVEL_UPDATED, this.onMaxAutoLevelUpdated, this);\n hls.off(Events.ERROR, this.onError, this);\n };\n _proto.destroy = function destroy() {\n this.unregisterListeners();\n this.clearTimer();\n // @ts-ignore\n this.hls = this._abandonRulesCheck = null;\n this.fragCurrent = this.partCurrent = null;\n };\n _proto.onManifestLoading = function onManifestLoading(event, data) {\n this.lastLoadedFragLevel = -1;\n this.firstSelection = -1;\n this.lastLevelLoadSec = 0;\n this.fragCurrent = this.partCurrent = null;\n this.onLevelsUpdated();\n this.clearTimer();\n };\n _proto.onLevelsUpdated = function onLevelsUpdated() {\n if (this.lastLoadedFragLevel > -1 && this.fragCurrent) {\n this.lastLoadedFragLevel = this.fragCurrent.level;\n }\n this._nextAutoLevel = -1;\n this.onMaxAutoLevelUpdated();\n this.codecTiers = null;\n this.audioTracksByGroup = null;\n };\n _proto.onMaxAutoLevelUpdated = function onMaxAutoLevelUpdated() {\n this.firstSelection = -1;\n this.nextAutoLevelKey = '';\n };\n _proto.onFragLoading = function onFragLoading(event, data) {\n var frag = data.frag;\n if (this.ignoreFragment(frag)) {\n return;\n }\n if (!frag.bitrateTest) {\n var _data$part;\n this.fragCurrent = frag;\n this.partCurrent = (_data$part = data.part) != null ? _data$part : null;\n }\n this.clearTimer();\n this.timer = self.setInterval(this._abandonRulesCheck, 100);\n };\n _proto.onLevelSwitching = function onLevelSwitching(event, data) {\n this.clearTimer();\n };\n _proto.onError = function onError(event, data) {\n if (data.fatal) {\n return;\n }\n switch (data.details) {\n case ErrorDetails.BUFFER_ADD_CODEC_ERROR:\n case ErrorDetails.BUFFER_APPEND_ERROR:\n // Reset last loaded level so that a new selection can be made after calling recoverMediaError\n this.lastLoadedFragLevel = -1;\n this.firstSelection = -1;\n break;\n case ErrorDetails.FRAG_LOAD_TIMEOUT:\n {\n var frag = data.frag;\n var fragCurrent = this.fragCurrent,\n part = this.partCurrent;\n if (frag && fragCurrent && frag.sn === fragCurrent.sn && frag.level === fragCurrent.level) {\n var now = performance.now();\n var stats = part ? part.stats : frag.stats;\n var timeLoading = now - stats.loading.start;\n var ttfb = stats.loading.first ? stats.loading.first - stats.loading.start : -1;\n var loadedFirstByte = stats.loaded && ttfb > -1;\n if (loadedFirstByte) {\n var ttfbEstimate = this.bwEstimator.getEstimateTTFB();\n this.bwEstimator.sample(timeLoading - Math.min(ttfbEstimate, ttfb), stats.loaded);\n } else {\n this.bwEstimator.sampleTTFB(timeLoading);\n }\n }\n break;\n }\n }\n };\n _proto.getTimeToLoadFrag = function getTimeToLoadFrag(timeToFirstByteSec, bandwidth, fragSizeBits, isSwitch) {\n var fragLoadSec = timeToFirstByteSec + fragSizeBits / bandwidth;\n var playlistLoadSec = isSwitch ? this.lastLevelLoadSec : 0;\n return fragLoadSec + playlistLoadSec;\n };\n _proto.onLevelLoaded = function onLevelLoaded(event, data) {\n var config = this.hls.config;\n var loading = data.stats.loading;\n var timeLoadingMs = loading.end - loading.start;\n if (isFiniteNumber(timeLoadingMs)) {\n this.lastLevelLoadSec = timeLoadingMs / 1000;\n }\n if (data.details.live) {\n this.bwEstimator.update(config.abrEwmaSlowLive, config.abrEwmaFastLive);\n } else {\n this.bwEstimator.update(config.abrEwmaSlowVoD, config.abrEwmaFastVoD);\n }\n };\n _proto.onFragLoaded = function onFragLoaded(event, _ref) {\n var frag = _ref.frag,\n part = _ref.part;\n var stats = part ? part.stats : frag.stats;\n if (frag.type === PlaylistLevelType.MAIN) {\n this.bwEstimator.sampleTTFB(stats.loading.first - stats.loading.start);\n }\n if (this.ignoreFragment(frag)) {\n return;\n }\n // stop monitoring bw once frag loaded\n this.clearTimer();\n // reset forced auto level value so that next level will be selected\n if (frag.level === this._nextAutoLevel) {\n this._nextAutoLevel = -1;\n }\n this.firstSelection = -1;\n\n // compute level average bitrate\n if (this.hls.config.abrMaxWithRealBitrate) {\n var duration = part ? part.duration : frag.duration;\n var level = this.hls.levels[frag.level];\n var loadedBytes = (level.loaded ? level.loaded.bytes : 0) + stats.loaded;\n var loadedDuration = (level.loaded ? level.loaded.duration : 0) + duration;\n level.loaded = {\n bytes: loadedBytes,\n duration: loadedDuration\n };\n level.realBitrate = Math.round(8 * loadedBytes / loadedDuration);\n }\n if (frag.bitrateTest) {\n var fragBufferedData = {\n stats: stats,\n frag: frag,\n part: part,\n id: frag.type\n };\n this.onFragBuffered(Events.FRAG_BUFFERED, fragBufferedData);\n frag.bitrateTest = false;\n } else {\n // store level id after successful fragment load for playback\n this.lastLoadedFragLevel = frag.level;\n }\n };\n _proto.onFragBuffered = function onFragBuffered(event, data) {\n var frag = data.frag,\n part = data.part;\n var stats = part != null && part.stats.loaded ? part.stats : frag.stats;\n if (stats.aborted) {\n return;\n }\n if (this.ignoreFragment(frag)) {\n return;\n }\n // Use the difference between parsing and request instead of buffering and request to compute fragLoadingProcessing;\n // rationale is that buffer appending only happens once media is attached. This can happen when config.startFragPrefetch\n // is used. If we used buffering in that case, our BW estimate sample will be very large.\n var processingMs = stats.parsing.end - stats.loading.start - Math.min(stats.loading.first - stats.loading.start, this.bwEstimator.getEstimateTTFB());\n this.bwEstimator.sample(processingMs, stats.loaded);\n stats.bwEstimate = this.getBwEstimate();\n if (frag.bitrateTest) {\n this.bitrateTestDelay = processingMs / 1000;\n } else {\n this.bitrateTestDelay = 0;\n }\n };\n _proto.ignoreFragment = function ignoreFragment(frag) {\n // Only count non-alt-audio frags which were actually buffered in our BW calculations\n return frag.type !== PlaylistLevelType.MAIN || frag.sn === 'initSegment';\n };\n _proto.clearTimer = function clearTimer() {\n if (this.timer > -1) {\n self.clearInterval(this.timer);\n this.timer = -1;\n }\n };\n _proto.getAutoLevelKey = function getAutoLevelKey() {\n var _this$hls$mainForward;\n return this.getBwEstimate() + \"_\" + ((_this$hls$mainForward = this.hls.mainForwardBufferInfo) == null ? void 0 : _this$hls$mainForward.len);\n };\n _proto.getNextABRAutoLevel = function getNextABRAutoLevel() {\n var fragCurrent = this.fragCurrent,\n partCurrent = this.partCurrent,\n hls = this.hls;\n var maxAutoLevel = hls.maxAutoLevel,\n config = hls.config,\n minAutoLevel = hls.minAutoLevel,\n media = hls.media;\n var currentFragDuration = partCurrent ? partCurrent.duration : fragCurrent ? fragCurrent.duration : 0;\n\n // playbackRate is the absolute value of the playback rate; if media.playbackRate is 0, we use 1 to load as\n // if we're playing back at the normal rate.\n var playbackRate = media && media.playbackRate !== 0 ? Math.abs(media.playbackRate) : 1.0;\n var avgbw = this.getBwEstimate();\n // bufferStarvationDelay is the wall-clock time left until the playback buffer is exhausted.\n var bufferInfo = hls.mainForwardBufferInfo;\n var bufferStarvationDelay = (bufferInfo ? bufferInfo.len : 0) / playbackRate;\n var bwFactor = config.abrBandWidthFactor;\n var bwUpFactor = config.abrBandWidthUpFactor;\n\n // First, look to see if we can find a level matching with our avg bandwidth AND that could also guarantee no rebuffering at all\n if (bufferStarvationDelay) {\n var _bestLevel = this.findBestLevel(avgbw, minAutoLevel, maxAutoLevel, bufferStarvationDelay, 0, bwFactor, bwUpFactor);\n if (_bestLevel >= 0) {\n return _bestLevel;\n }\n }\n // not possible to get rid of rebuffering... try to find level that will guarantee less than maxStarvationDelay of rebuffering\n var maxStarvationDelay = currentFragDuration ? Math.min(currentFragDuration, config.maxStarvationDelay) : config.maxStarvationDelay;\n if (!bufferStarvationDelay) {\n // in case buffer is empty, let's check if previous fragment was loaded to perform a bitrate test\n var bitrateTestDelay = this.bitrateTestDelay;\n if (bitrateTestDelay) {\n // if it is the case, then we need to adjust our max starvation delay using maxLoadingDelay config value\n // max video loading delay used in automatic start level selection :\n // in that mode ABR controller will ensure that video loading time (ie the time to fetch the first fragment at lowest quality level +\n // the time to fetch the fragment at the appropriate quality level is less than ```maxLoadingDelay``` )\n // cap maxLoadingDelay and ensure it is not bigger 'than bitrate test' frag duration\n var maxLoadingDelay = currentFragDuration ? Math.min(currentFragDuration, config.maxLoadingDelay) : config.maxLoadingDelay;\n maxStarvationDelay = maxLoadingDelay - bitrateTestDelay;\n logger.info(\"[abr] bitrate test took \" + Math.round(1000 * bitrateTestDelay) + \"ms, set first fragment max fetchDuration to \" + Math.round(1000 * maxStarvationDelay) + \" ms\");\n // don't use conservative factor on bitrate test\n bwFactor = bwUpFactor = 1;\n }\n }\n var bestLevel = this.findBestLevel(avgbw, minAutoLevel, maxAutoLevel, bufferStarvationDelay, maxStarvationDelay, bwFactor, bwUpFactor);\n logger.info(\"[abr] \" + (bufferStarvationDelay ? 'rebuffering expected' : 'buffer is empty') + \", optimal quality level \" + bestLevel);\n if (bestLevel > -1) {\n return bestLevel;\n }\n // If no matching level found, see if min auto level would be a better option\n var minLevel = hls.levels[minAutoLevel];\n var autoLevel = hls.levels[hls.loadLevel];\n if ((minLevel == null ? void 0 : minLevel.bitrate) < (autoLevel == null ? void 0 : autoLevel.bitrate)) {\n return minAutoLevel;\n }\n // or if bitrate is not lower, continue to use loadLevel\n return hls.loadLevel;\n };\n _proto.getBwEstimate = function getBwEstimate() {\n return this.bwEstimator.canEstimate() ? this.bwEstimator.getEstimate() : this.hls.config.abrEwmaDefaultEstimate;\n };\n _proto.findBestLevel = function findBestLevel(currentBw, minAutoLevel, maxAutoLevel, bufferStarvationDelay, maxStarvationDelay, bwFactor, bwUpFactor) {\n var _level$details,\n _this2 = this;\n var maxFetchDuration = bufferStarvationDelay + maxStarvationDelay;\n var lastLoadedFragLevel = this.lastLoadedFragLevel;\n var selectionBaseLevel = lastLoadedFragLevel === -1 ? this.hls.firstLevel : lastLoadedFragLevel;\n var fragCurrent = this.fragCurrent,\n partCurrent = this.partCurrent;\n var _this$hls = this.hls,\n levels = _this$hls.levels,\n allAudioTracks = _this$hls.allAudioTracks,\n loadLevel = _this$hls.loadLevel,\n config = _this$hls.config;\n if (levels.length === 1) {\n return 0;\n }\n var level = levels[selectionBaseLevel];\n var live = !!(level != null && (_level$details = level.details) != null && _level$details.live);\n var firstSelection = loadLevel === -1 || lastLoadedFragLevel === -1;\n var currentCodecSet;\n var currentVideoRange = 'SDR';\n var currentFrameRate = (level == null ? void 0 : level.frameRate) || 0;\n var audioPreference = config.audioPreference,\n videoPreference = config.videoPreference;\n var audioTracksByGroup = this.audioTracksByGroup || (this.audioTracksByGroup = getAudioTracksByGroup(allAudioTracks));\n if (firstSelection) {\n if (this.firstSelection !== -1) {\n return this.firstSelection;\n }\n var codecTiers = this.codecTiers || (this.codecTiers = getCodecTiers(levels, audioTracksByGroup, minAutoLevel, maxAutoLevel));\n var startTier = getStartCodecTier(codecTiers, currentVideoRange, currentBw, audioPreference, videoPreference);\n var codecSet = startTier.codecSet,\n videoRanges = startTier.videoRanges,\n minFramerate = startTier.minFramerate,\n minBitrate = startTier.minBitrate,\n preferHDR = startTier.preferHDR;\n currentCodecSet = codecSet;\n currentVideoRange = preferHDR ? videoRanges[videoRanges.length - 1] : videoRanges[0];\n currentFrameRate = minFramerate;\n currentBw = Math.max(currentBw, minBitrate);\n logger.log(\"[abr] picked start tier \" + JSON.stringify(startTier));\n } else {\n currentCodecSet = level == null ? void 0 : level.codecSet;\n currentVideoRange = level == null ? void 0 : level.videoRange;\n }\n var currentFragDuration = partCurrent ? partCurrent.duration : fragCurrent ? fragCurrent.duration : 0;\n var ttfbEstimateSec = this.bwEstimator.getEstimateTTFB() / 1000;\n var levelsSkipped = [];\n var _loop = function _loop() {\n var _levelInfo$supportedR;\n var levelInfo = levels[i];\n var upSwitch = i > selectionBaseLevel;\n if (!levelInfo) {\n return 0; // continue\n }\n if (config.useMediaCapabilities && !levelInfo.supportedResult && !levelInfo.supportedPromise) {\n var mediaCapabilities = navigator.mediaCapabilities;\n if (typeof (mediaCapabilities == null ? void 0 : mediaCapabilities.decodingInfo) === 'function' && requiresMediaCapabilitiesDecodingInfo(levelInfo, audioTracksByGroup, currentVideoRange, currentFrameRate, currentBw, audioPreference)) {\n levelInfo.supportedPromise = getMediaDecodingInfoPromise(levelInfo, audioTracksByGroup, mediaCapabilities);\n levelInfo.supportedPromise.then(function (decodingInfo) {\n levelInfo.supportedResult = decodingInfo;\n var levels = _this2.hls.levels;\n var index = levels.indexOf(levelInfo);\n if (decodingInfo.error) {\n logger.warn(\"[abr] MediaCapabilities decodingInfo error: \\\"\" + decodingInfo.error + \"\\\" for level \" + index + \" \" + JSON.stringify(decodingInfo));\n } else if (!decodingInfo.supported) {\n logger.warn(\"[abr] Unsupported MediaCapabilities decodingInfo result for level \" + index + \" \" + JSON.stringify(decodingInfo));\n if (index > -1 && levels.length > 1) {\n logger.log(\"[abr] Removing unsupported level \" + index);\n _this2.hls.removeLevel(index);\n }\n }\n });\n } else {\n levelInfo.supportedResult = SUPPORTED_INFO_DEFAULT;\n }\n }\n\n // skip candidates which change codec-family or video-range,\n // and which decrease or increase frame-rate for up and down-switch respectfully\n if (currentCodecSet && levelInfo.codecSet !== currentCodecSet || currentVideoRange && levelInfo.videoRange !== currentVideoRange || upSwitch && currentFrameRate > levelInfo.frameRate || !upSwitch && currentFrameRate > 0 && currentFrameRate < levelInfo.frameRate || levelInfo.supportedResult && !((_levelInfo$supportedR = levelInfo.supportedResult.decodingInfoResults) != null && _levelInfo$supportedR[0].smooth)) {\n levelsSkipped.push(i);\n return 0; // continue\n }\n var levelDetails = levelInfo.details;\n var avgDuration = (partCurrent ? levelDetails == null ? void 0 : levelDetails.partTarget : levelDetails == null ? void 0 : levelDetails.averagetargetduration) || currentFragDuration;\n var adjustedbw;\n // follow algorithm captured from stagefright :\n // https://android.googlesource.com/platform/frameworks/av/+/master/media/libstagefright/httplive/LiveSession.cpp\n // Pick the highest bandwidth stream below or equal to estimated bandwidth.\n // consider only 80% of the available bandwidth, but if we are switching up,\n // be even more conservative (70%) to avoid overestimating and immediately\n // switching back.\n if (!upSwitch) {\n adjustedbw = bwFactor * currentBw;\n } else {\n adjustedbw = bwUpFactor * currentBw;\n }\n\n // Use average bitrate when starvation delay (buffer length) is gt or eq two segment durations and rebuffering is not expected (maxStarvationDelay > 0)\n var bitrate = currentFragDuration && bufferStarvationDelay >= currentFragDuration * 2 && maxStarvationDelay === 0 ? levels[i].averageBitrate : levels[i].maxBitrate;\n var fetchDuration = _this2.getTimeToLoadFrag(ttfbEstimateSec, adjustedbw, bitrate * avgDuration, levelDetails === undefined);\n var canSwitchWithinTolerance =\n // if adjusted bw is greater than level bitrate AND\n adjustedbw >= bitrate && (\n // no level change, or new level has no error history\n i === lastLoadedFragLevel || levelInfo.loadError === 0 && levelInfo.fragmentError === 0) && (\n // fragment fetchDuration unknown OR live stream OR fragment fetchDuration less than max allowed fetch duration, then this level matches\n // we don't account for max Fetch Duration for live streams, this is to avoid switching down when near the edge of live sliding window ...\n // special case to support startLevel = -1 (bitrateTest) on live streams : in that case we should not exit loop so that findBestLevel will return -1\n fetchDuration <= ttfbEstimateSec || !isFiniteNumber(fetchDuration) || live && !_this2.bitrateTestDelay || fetchDuration < maxFetchDuration);\n if (canSwitchWithinTolerance) {\n var forcedAutoLevel = _this2.forcedAutoLevel;\n if (i !== loadLevel && (forcedAutoLevel === -1 || forcedAutoLevel !== loadLevel)) {\n if (levelsSkipped.length) {\n logger.trace(\"[abr] Skipped level(s) \" + levelsSkipped.join(',') + \" of \" + maxAutoLevel + \" max with CODECS and VIDEO-RANGE:\\\"\" + levels[levelsSkipped[0]].codecs + \"\\\" \" + levels[levelsSkipped[0]].videoRange + \"; not compatible with \\\"\" + level.codecs + \"\\\" \" + currentVideoRange);\n }\n logger.info(\"[abr] switch candidate:\" + selectionBaseLevel + \"->\" + i + \" adjustedbw(\" + Math.round(adjustedbw) + \")-bitrate=\" + Math.round(adjustedbw - bitrate) + \" ttfb:\" + ttfbEstimateSec.toFixed(1) + \" avgDuration:\" + avgDuration.toFixed(1) + \" maxFetchDuration:\" + maxFetchDuration.toFixed(1) + \" fetchDuration:\" + fetchDuration.toFixed(1) + \" firstSelection:\" + firstSelection + \" codecSet:\" + currentCodecSet + \" videoRange:\" + currentVideoRange + \" hls.loadLevel:\" + loadLevel);\n }\n if (firstSelection) {\n _this2.firstSelection = i;\n }\n // as we are looping from highest to lowest, this will return the best achievable quality level\n return {\n v: i\n };\n }\n },\n _ret;\n for (var i = maxAutoLevel; i >= minAutoLevel; i--) {\n _ret = _loop();\n if (_ret === 0) continue;\n if (_ret) return _ret.v;\n }\n // not enough time budget even with quality level 0 ... rebuffering might happen\n return -1;\n };\n _createClass(AbrController, [{\n key: \"firstAutoLevel\",\n get: function get() {\n var _this$hls2 = this.hls,\n maxAutoLevel = _this$hls2.maxAutoLevel,\n minAutoLevel = _this$hls2.minAutoLevel;\n var bwEstimate = this.getBwEstimate();\n var maxStartDelay = this.hls.config.maxStarvationDelay;\n var abrAutoLevel = this.findBestLevel(bwEstimate, minAutoLevel, maxAutoLevel, 0, maxStartDelay, 1, 1);\n if (abrAutoLevel > -1) {\n return abrAutoLevel;\n }\n var firstLevel = this.hls.firstLevel;\n var clamped = Math.min(Math.max(firstLevel, minAutoLevel), maxAutoLevel);\n logger.warn(\"[abr] Could not find best starting auto level. Defaulting to first in playlist \" + firstLevel + \" clamped to \" + clamped);\n return clamped;\n }\n }, {\n key: \"forcedAutoLevel\",\n get: function get() {\n if (this.nextAutoLevelKey) {\n return -1;\n }\n return this._nextAutoLevel;\n }\n\n // return next auto level\n }, {\n key: \"nextAutoLevel\",\n get: function get() {\n var forcedAutoLevel = this.forcedAutoLevel;\n var bwEstimator = this.bwEstimator;\n var useEstimate = bwEstimator.canEstimate();\n var loadedFirstFrag = this.lastLoadedFragLevel > -1;\n // in case next auto level has been forced, and bw not available or not reliable, return forced value\n if (forcedAutoLevel !== -1 && (!useEstimate || !loadedFirstFrag || this.nextAutoLevelKey === this.getAutoLevelKey())) {\n return forcedAutoLevel;\n }\n\n // compute next level using ABR logic\n var nextABRAutoLevel = useEstimate && loadedFirstFrag ? this.getNextABRAutoLevel() : this.firstAutoLevel;\n\n // use forced auto level while it hasn't errored more than ABR selection\n if (forcedAutoLevel !== -1) {\n var levels = this.hls.levels;\n if (levels.length > Math.max(forcedAutoLevel, nextABRAutoLevel) && levels[forcedAutoLevel].loadError <= levels[nextABRAutoLevel].loadError) {\n return forcedAutoLevel;\n }\n }\n\n // save result until state has changed\n this._nextAutoLevel = nextABRAutoLevel;\n this.nextAutoLevelKey = this.getAutoLevelKey();\n return nextABRAutoLevel;\n },\n set: function set(nextLevel) {\n var _this$hls3 = this.hls,\n maxAutoLevel = _this$hls3.maxAutoLevel,\n minAutoLevel = _this$hls3.minAutoLevel;\n var value = Math.min(Math.max(nextLevel, minAutoLevel), maxAutoLevel);\n if (this._nextAutoLevel !== value) {\n this.nextAutoLevelKey = '';\n this._nextAutoLevel = value;\n }\n }\n }]);\n return AbrController;\n }();\n\n /**\n * @ignore\n * Sub-class specialization of EventHandler base class.\n *\n * TaskLoop allows to schedule a task function being called (optionnaly repeatedly) on the main loop,\n * scheduled asynchroneously, avoiding recursive calls in the same tick.\n *\n * The task itself is implemented in `doTick`. It can be requested and called for single execution\n * using the `tick` method.\n *\n * It will be assured that the task execution method (`tick`) only gets called once per main loop \"tick\",\n * no matter how often it gets requested for execution. Execution in further ticks will be scheduled accordingly.\n *\n * If further execution requests have already been scheduled on the next tick, it can be checked with `hasNextTick`,\n * and cancelled with `clearNextTick`.\n *\n * The task can be scheduled as an interval repeatedly with a period as parameter (see `setInterval`, `clearInterval`).\n *\n * Sub-classes need to implement the `doTick` method which will effectively have the task execution routine.\n *\n * Further explanations:\n *\n * The baseclass has a `tick` method that will schedule the doTick call. It may be called synchroneously\n * only for a stack-depth of one. On re-entrant calls, sub-sequent calls are scheduled for next main loop ticks.\n *\n * When the task execution (`tick` method) is called in re-entrant way this is detected and\n * we are limiting the task execution per call stack to exactly one, but scheduling/post-poning further\n * task processing on the next main loop iteration (also known as \"next tick\" in the Node/JS runtime lingo).\n */\n var TaskLoop = /*#__PURE__*/function () {\n function TaskLoop() {\n this._boundTick = void 0;\n this._tickTimer = null;\n this._tickInterval = null;\n this._tickCallCount = 0;\n this._boundTick = this.tick.bind(this);\n }\n var _proto = TaskLoop.prototype;\n _proto.destroy = function destroy() {\n this.onHandlerDestroying();\n this.onHandlerDestroyed();\n };\n _proto.onHandlerDestroying = function onHandlerDestroying() {\n // clear all timers before unregistering from event bus\n this.clearNextTick();\n this.clearInterval();\n };\n _proto.onHandlerDestroyed = function onHandlerDestroyed() {};\n _proto.hasInterval = function hasInterval() {\n return !!this._tickInterval;\n };\n _proto.hasNextTick = function hasNextTick() {\n return !!this._tickTimer;\n }\n\n /**\n * @param millis - Interval time (ms)\n * @eturns True when interval has been scheduled, false when already scheduled (no effect)\n */;\n _proto.setInterval = function setInterval(millis) {\n if (!this._tickInterval) {\n this._tickCallCount = 0;\n this._tickInterval = self.setInterval(this._boundTick, millis);\n return true;\n }\n return false;\n }\n\n /**\n * @returns True when interval was cleared, false when none was set (no effect)\n */;\n _proto.clearInterval = function clearInterval() {\n if (this._tickInterval) {\n self.clearInterval(this._tickInterval);\n this._tickInterval = null;\n return true;\n }\n return false;\n }\n\n /**\n * @returns True when timeout was cleared, false when none was set (no effect)\n */;\n _proto.clearNextTick = function clearNextTick() {\n if (this._tickTimer) {\n self.clearTimeout(this._tickTimer);\n this._tickTimer = null;\n return true;\n }\n return false;\n }\n\n /**\n * Will call the subclass doTick implementation in this main loop tick\n * or in the next one (via setTimeout(,0)) in case it has already been called\n * in this tick (in case this is a re-entrant call).\n */;\n _proto.tick = function tick() {\n this._tickCallCount++;\n if (this._tickCallCount === 1) {\n this.doTick();\n // re-entrant call to tick from previous doTick call stack\n // -> schedule a call on the next main loop iteration to process this task processing request\n if (this._tickCallCount > 1) {\n // make sure only one timer exists at any time at max\n this.tickImmediate();\n }\n this._tickCallCount = 0;\n }\n };\n _proto.tickImmediate = function tickImmediate() {\n this.clearNextTick();\n this._tickTimer = self.setTimeout(this._boundTick, 0);\n }\n\n /**\n * For subclass to implement task logic\n * @abstract\n */;\n _proto.doTick = function doTick() {};\n return TaskLoop;\n }();\n\n var FragmentState = {\n NOT_LOADED: \"NOT_LOADED\",\n APPENDING: \"APPENDING\",\n PARTIAL: \"PARTIAL\",\n OK: \"OK\"\n };\n var FragmentTracker = /*#__PURE__*/function () {\n function FragmentTracker(hls) {\n this.activePartLists = Object.create(null);\n this.endListFragments = Object.create(null);\n this.fragments = Object.create(null);\n this.timeRanges = Object.create(null);\n this.bufferPadding = 0.2;\n this.hls = void 0;\n this.hasGaps = false;\n this.hls = hls;\n this._registerListeners();\n }\n var _proto = FragmentTracker.prototype;\n _proto._registerListeners = function _registerListeners() {\n var hls = this.hls;\n hls.on(Events.BUFFER_APPENDED, this.onBufferAppended, this);\n hls.on(Events.FRAG_BUFFERED, this.onFragBuffered, this);\n hls.on(Events.FRAG_LOADED, this.onFragLoaded, this);\n };\n _proto._unregisterListeners = function _unregisterListeners() {\n var hls = this.hls;\n hls.off(Events.BUFFER_APPENDED, this.onBufferAppended, this);\n hls.off(Events.FRAG_BUFFERED, this.onFragBuffered, this);\n hls.off(Events.FRAG_LOADED, this.onFragLoaded, this);\n };\n _proto.destroy = function destroy() {\n this._unregisterListeners();\n // @ts-ignore\n this.fragments =\n // @ts-ignore\n this.activePartLists =\n // @ts-ignore\n this.endListFragments = this.timeRanges = null;\n }\n\n /**\n * Return a Fragment or Part with an appended range that matches the position and levelType\n * Otherwise, return null\n */;\n _proto.getAppendedFrag = function getAppendedFrag(position, levelType) {\n var activeParts = this.activePartLists[levelType];\n if (activeParts) {\n for (var i = activeParts.length; i--;) {\n var activePart = activeParts[i];\n if (!activePart) {\n break;\n }\n var appendedPTS = activePart.end;\n if (activePart.start <= position && appendedPTS !== null && position <= appendedPTS) {\n return activePart;\n }\n }\n }\n return this.getBufferedFrag(position, levelType);\n }\n\n /**\n * Return a buffered Fragment that matches the position and levelType.\n * A buffered Fragment is one whose loading, parsing and appending is done (completed or \"partial\" meaning aborted).\n * If not found any Fragment, return null\n */;\n _proto.getBufferedFrag = function getBufferedFrag(position, levelType) {\n var fragments = this.fragments;\n var keys = Object.keys(fragments);\n for (var i = keys.length; i--;) {\n var fragmentEntity = fragments[keys[i]];\n if ((fragmentEntity == null ? void 0 : fragmentEntity.body.type) === levelType && fragmentEntity.buffered) {\n var frag = fragmentEntity.body;\n if (frag.start <= position && position <= frag.end) {\n return frag;\n }\n }\n }\n return null;\n }\n\n /**\n * Partial fragments effected by coded frame eviction will be removed\n * The browser will unload parts of the buffer to free up memory for new buffer data\n * Fragments will need to be reloaded when the buffer is freed up, removing partial fragments will allow them to reload(since there might be parts that are still playable)\n */;\n _proto.detectEvictedFragments = function detectEvictedFragments(elementaryStream, timeRange, playlistType, appendedPart) {\n var _this = this;\n if (this.timeRanges) {\n this.timeRanges[elementaryStream] = timeRange;\n }\n // Check if any flagged fragments have been unloaded\n // excluding anything newer than appendedPartSn\n var appendedPartSn = (appendedPart == null ? void 0 : appendedPart.fragment.sn) || -1;\n Object.keys(this.fragments).forEach(function (key) {\n var fragmentEntity = _this.fragments[key];\n if (!fragmentEntity) {\n return;\n }\n if (appendedPartSn >= fragmentEntity.body.sn) {\n return;\n }\n if (!fragmentEntity.buffered && !fragmentEntity.loaded) {\n if (fragmentEntity.body.type === playlistType) {\n _this.removeFragment(fragmentEntity.body);\n }\n return;\n }\n var esData = fragmentEntity.range[elementaryStream];\n if (!esData) {\n return;\n }\n esData.time.some(function (time) {\n var isNotBuffered = !_this.isTimeBuffered(time.startPTS, time.endPTS, timeRange);\n if (isNotBuffered) {\n // Unregister partial fragment as it needs to load again to be reused\n _this.removeFragment(fragmentEntity.body);\n }\n return isNotBuffered;\n });\n });\n }\n\n /**\n * Checks if the fragment passed in is loaded in the buffer properly\n * Partially loaded fragments will be registered as a partial fragment\n */;\n _proto.detectPartialFragments = function detectPartialFragments(data) {\n var _this2 = this;\n var timeRanges = this.timeRanges;\n var frag = data.frag,\n part = data.part;\n if (!timeRanges || frag.sn === 'initSegment') {\n return;\n }\n var fragKey = getFragmentKey(frag);\n var fragmentEntity = this.fragments[fragKey];\n if (!fragmentEntity || fragmentEntity.buffered && frag.gap) {\n return;\n }\n var isFragHint = !frag.relurl;\n Object.keys(timeRanges).forEach(function (elementaryStream) {\n var streamInfo = frag.elementaryStreams[elementaryStream];\n if (!streamInfo) {\n return;\n }\n var timeRange = timeRanges[elementaryStream];\n var partial = isFragHint || streamInfo.partial === true;\n fragmentEntity.range[elementaryStream] = _this2.getBufferedTimes(frag, part, partial, timeRange);\n });\n fragmentEntity.loaded = null;\n if (Object.keys(fragmentEntity.range).length) {\n fragmentEntity.buffered = true;\n var endList = fragmentEntity.body.endList = frag.endList || fragmentEntity.body.endList;\n if (endList) {\n this.endListFragments[fragmentEntity.body.type] = fragmentEntity;\n }\n if (!isPartial(fragmentEntity)) {\n // Remove older fragment parts from lookup after frag is tracked as buffered\n this.removeParts(frag.sn - 1, frag.type);\n }\n } else {\n // remove fragment if nothing was appended\n this.removeFragment(fragmentEntity.body);\n }\n };\n _proto.removeParts = function removeParts(snToKeep, levelType) {\n var activeParts = this.activePartLists[levelType];\n if (!activeParts) {\n return;\n }\n this.activePartLists[levelType] = activeParts.filter(function (part) {\n return part.fragment.sn >= snToKeep;\n });\n };\n _proto.fragBuffered = function fragBuffered(frag, force) {\n var fragKey = getFragmentKey(frag);\n var fragmentEntity = this.fragments[fragKey];\n if (!fragmentEntity && force) {\n fragmentEntity = this.fragments[fragKey] = {\n body: frag,\n appendedPTS: null,\n loaded: null,\n buffered: false,\n range: Object.create(null)\n };\n if (frag.gap) {\n this.hasGaps = true;\n }\n }\n if (fragmentEntity) {\n fragmentEntity.loaded = null;\n fragmentEntity.buffered = true;\n }\n };\n _proto.getBufferedTimes = function getBufferedTimes(fragment, part, partial, timeRange) {\n var buffered = {\n time: [],\n partial: partial\n };\n var startPTS = fragment.start;\n var endPTS = fragment.end;\n var minEndPTS = fragment.minEndPTS || endPTS;\n var maxStartPTS = fragment.maxStartPTS || startPTS;\n for (var i = 0; i < timeRange.length; i++) {\n var startTime = timeRange.start(i) - this.bufferPadding;\n var endTime = timeRange.end(i) + this.bufferPadding;\n if (maxStartPTS >= startTime && minEndPTS <= endTime) {\n // Fragment is entirely contained in buffer\n // No need to check the other timeRange times since it's completely playable\n buffered.time.push({\n startPTS: Math.max(startPTS, timeRange.start(i)),\n endPTS: Math.min(endPTS, timeRange.end(i))\n });\n break;\n } else if (startPTS < endTime && endPTS > startTime) {\n var start = Math.max(startPTS, timeRange.start(i));\n var end = Math.min(endPTS, timeRange.end(i));\n if (end > start) {\n buffered.partial = true;\n // Check for intersection with buffer\n // Get playable sections of the fragment\n buffered.time.push({\n startPTS: start,\n endPTS: end\n });\n }\n } else if (endPTS <= startTime) {\n // No need to check the rest of the timeRange as it is in order\n break;\n }\n }\n return buffered;\n }\n\n /**\n * Gets the partial fragment for a certain time\n */;\n _proto.getPartialFragment = function getPartialFragment(time) {\n var bestFragment = null;\n var timePadding;\n var startTime;\n var endTime;\n var bestOverlap = 0;\n var bufferPadding = this.bufferPadding,\n fragments = this.fragments;\n Object.keys(fragments).forEach(function (key) {\n var fragmentEntity = fragments[key];\n if (!fragmentEntity) {\n return;\n }\n if (isPartial(fragmentEntity)) {\n startTime = fragmentEntity.body.start - bufferPadding;\n endTime = fragmentEntity.body.end + bufferPadding;\n if (time >= startTime && time <= endTime) {\n // Use the fragment that has the most padding from start and end time\n timePadding = Math.min(time - startTime, endTime - time);\n if (bestOverlap <= timePadding) {\n bestFragment = fragmentEntity.body;\n bestOverlap = timePadding;\n }\n }\n }\n });\n return bestFragment;\n };\n _proto.isEndListAppended = function isEndListAppended(type) {\n var lastFragmentEntity = this.endListFragments[type];\n return lastFragmentEntity !== undefined && (lastFragmentEntity.buffered || isPartial(lastFragmentEntity));\n };\n _proto.getState = function getState(fragment) {\n var fragKey = getFragmentKey(fragment);\n var fragmentEntity = this.fragments[fragKey];\n if (fragmentEntity) {\n if (!fragmentEntity.buffered) {\n return FragmentState.APPENDING;\n } else if (isPartial(fragmentEntity)) {\n return FragmentState.PARTIAL;\n } else {\n return FragmentState.OK;\n }\n }\n return FragmentState.NOT_LOADED;\n };\n _proto.isTimeBuffered = function isTimeBuffered(startPTS, endPTS, timeRange) {\n var startTime;\n var endTime;\n for (var i = 0; i < timeRange.length; i++) {\n startTime = timeRange.start(i) - this.bufferPadding;\n endTime = timeRange.end(i) + this.bufferPadding;\n if (startPTS >= startTime && endPTS <= endTime) {\n return true;\n }\n if (endPTS <= startTime) {\n // No need to check the rest of the timeRange as it is in order\n return false;\n }\n }\n return false;\n };\n _proto.onFragLoaded = function onFragLoaded(event, data) {\n var frag = data.frag,\n part = data.part;\n // don't track initsegment (for which sn is not a number)\n // don't track frags used for bitrateTest, they're irrelevant.\n if (frag.sn === 'initSegment' || frag.bitrateTest) {\n return;\n }\n\n // Fragment entity `loaded` FragLoadedData is null when loading parts\n var loaded = part ? null : data;\n var fragKey = getFragmentKey(frag);\n this.fragments[fragKey] = {\n body: frag,\n appendedPTS: null,\n loaded: loaded,\n buffered: false,\n range: Object.create(null)\n };\n };\n _proto.onBufferAppended = function onBufferAppended(event, data) {\n var _this3 = this;\n var frag = data.frag,\n part = data.part,\n timeRanges = data.timeRanges;\n if (frag.sn === 'initSegment') {\n return;\n }\n var playlistType = frag.type;\n if (part) {\n var activeParts = this.activePartLists[playlistType];\n if (!activeParts) {\n this.activePartLists[playlistType] = activeParts = [];\n }\n activeParts.push(part);\n }\n // Store the latest timeRanges loaded in the buffer\n this.timeRanges = timeRanges;\n Object.keys(timeRanges).forEach(function (elementaryStream) {\n var timeRange = timeRanges[elementaryStream];\n _this3.detectEvictedFragments(elementaryStream, timeRange, playlistType, part);\n });\n };\n _proto.onFragBuffered = function onFragBuffered(event, data) {\n this.detectPartialFragments(data);\n };\n _proto.hasFragment = function hasFragment(fragment) {\n var fragKey = getFragmentKey(fragment);\n return !!this.fragments[fragKey];\n };\n _proto.hasParts = function hasParts(type) {\n var _this$activePartLists;\n return !!((_this$activePartLists = this.activePartLists[type]) != null && _this$activePartLists.length);\n };\n _proto.removeFragmentsInRange = function removeFragmentsInRange(start, end, playlistType, withGapOnly, unbufferedOnly) {\n var _this4 = this;\n if (withGapOnly && !this.hasGaps) {\n return;\n }\n Object.keys(this.fragments).forEach(function (key) {\n var fragmentEntity = _this4.fragments[key];\n if (!fragmentEntity) {\n return;\n }\n var frag = fragmentEntity.body;\n if (frag.type !== playlistType || withGapOnly && !frag.gap) {\n return;\n }\n if (frag.start < end && frag.end > start && (fragmentEntity.buffered || unbufferedOnly)) {\n _this4.removeFragment(frag);\n }\n });\n };\n _proto.removeFragment = function removeFragment(fragment) {\n var fragKey = getFragmentKey(fragment);\n fragment.stats.loaded = 0;\n fragment.clearElementaryStreamInfo();\n var activeParts = this.activePartLists[fragment.type];\n if (activeParts) {\n var snToRemove = fragment.sn;\n this.activePartLists[fragment.type] = activeParts.filter(function (part) {\n return part.fragment.sn !== snToRemove;\n });\n }\n delete this.fragments[fragKey];\n if (fragment.endList) {\n delete this.endListFragments[fragment.type];\n }\n };\n _proto.removeAllFragments = function removeAllFragments() {\n this.fragments = Object.create(null);\n this.endListFragments = Object.create(null);\n this.activePartLists = Object.create(null);\n this.hasGaps = false;\n };\n return FragmentTracker;\n }();\n function isPartial(fragmentEntity) {\n var _fragmentEntity$range, _fragmentEntity$range2, _fragmentEntity$range3;\n return fragmentEntity.buffered && (fragmentEntity.body.gap || ((_fragmentEntity$range = fragmentEntity.range.video) == null ? void 0 : _fragmentEntity$range.partial) || ((_fragmentEntity$range2 = fragmentEntity.range.audio) == null ? void 0 : _fragmentEntity$range2.partial) || ((_fragmentEntity$range3 = fragmentEntity.range.audiovideo) == null ? void 0 : _fragmentEntity$range3.partial));\n }\n function getFragmentKey(fragment) {\n return fragment.type + \"_\" + fragment.level + \"_\" + fragment.sn;\n }\n\n /**\n * Provides methods dealing with buffer length retrieval for example.\n *\n * In general, a helper around HTML5 MediaElement TimeRanges gathered from `buffered` property.\n *\n * Also @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/buffered\n */\n\n var noopBuffered = {\n length: 0,\n start: function start() {\n return 0;\n },\n end: function end() {\n return 0;\n }\n };\n var BufferHelper = /*#__PURE__*/function () {\n function BufferHelper() {}\n /**\n * Return true if `media`'s buffered include `position`\n */\n BufferHelper.isBuffered = function isBuffered(media, position) {\n try {\n if (media) {\n var buffered = BufferHelper.getBuffered(media);\n for (var i = 0; i < buffered.length; i++) {\n if (position >= buffered.start(i) && position <= buffered.end(i)) {\n return true;\n }\n }\n }\n } catch (error) {\n // this is to catch\n // InvalidStateError: Failed to read the 'buffered' property from 'SourceBuffer':\n // This SourceBuffer has been removed from the parent media source\n }\n return false;\n };\n BufferHelper.bufferInfo = function bufferInfo(media, pos, maxHoleDuration) {\n try {\n if (media) {\n var vbuffered = BufferHelper.getBuffered(media);\n var buffered = [];\n var i;\n for (i = 0; i < vbuffered.length; i++) {\n buffered.push({\n start: vbuffered.start(i),\n end: vbuffered.end(i)\n });\n }\n return this.bufferedInfo(buffered, pos, maxHoleDuration);\n }\n } catch (error) {\n // this is to catch\n // InvalidStateError: Failed to read the 'buffered' property from 'SourceBuffer':\n // This SourceBuffer has been removed from the parent media source\n }\n return {\n len: 0,\n start: pos,\n end: pos,\n nextStart: undefined\n };\n };\n BufferHelper.bufferedInfo = function bufferedInfo(buffered, pos, maxHoleDuration) {\n pos = Math.max(0, pos);\n // sort on buffer.start/smaller end (IE does not always return sorted buffered range)\n buffered.sort(function (a, b) {\n var diff = a.start - b.start;\n if (diff) {\n return diff;\n } else {\n return b.end - a.end;\n }\n });\n var buffered2 = [];\n if (maxHoleDuration) {\n // there might be some small holes between buffer time range\n // consider that holes smaller than maxHoleDuration are irrelevant and build another\n // buffer time range representations that discards those holes\n for (var i = 0; i < buffered.length; i++) {\n var buf2len = buffered2.length;\n if (buf2len) {\n var buf2end = buffered2[buf2len - 1].end;\n // if small hole (value between 0 or maxHoleDuration ) or overlapping (negative)\n if (buffered[i].start - buf2end < maxHoleDuration) {\n // merge overlapping time ranges\n // update lastRange.end only if smaller than item.end\n // e.g. [ 1, 15] with [ 2,8] => [ 1,15] (no need to modify lastRange.end)\n // whereas [ 1, 8] with [ 2,15] => [ 1,15] ( lastRange should switch from [1,8] to [1,15])\n if (buffered[i].end > buf2end) {\n buffered2[buf2len - 1].end = buffered[i].end;\n }\n } else {\n // big hole\n buffered2.push(buffered[i]);\n }\n } else {\n // first value\n buffered2.push(buffered[i]);\n }\n }\n } else {\n buffered2 = buffered;\n }\n var bufferLen = 0;\n\n // bufferStartNext can possibly be undefined based on the conditional logic below\n var bufferStartNext;\n\n // bufferStart and bufferEnd are buffer boundaries around current video position\n var bufferStart = pos;\n var bufferEnd = pos;\n for (var _i = 0; _i < buffered2.length; _i++) {\n var start = buffered2[_i].start;\n var end = buffered2[_i].end;\n // logger.log('buf start/end:' + buffered.start(i) + '/' + buffered.end(i));\n if (pos + maxHoleDuration >= start && pos < end) {\n // play position is inside this buffer TimeRange, retrieve end of buffer position and buffer length\n bufferStart = start;\n bufferEnd = end;\n bufferLen = bufferEnd - pos;\n } else if (pos + maxHoleDuration < start) {\n bufferStartNext = start;\n break;\n }\n }\n return {\n len: bufferLen,\n start: bufferStart || 0,\n end: bufferEnd || 0,\n nextStart: bufferStartNext\n };\n }\n\n /**\n * Safe method to get buffered property.\n * SourceBuffer.buffered may throw if SourceBuffer is removed from it's MediaSource\n */;\n BufferHelper.getBuffered = function getBuffered(media) {\n try {\n return media.buffered;\n } catch (e) {\n logger.log('failed to get media.buffered', e);\n return noopBuffered;\n }\n };\n return BufferHelper;\n }();\n\n var ChunkMetadata = function ChunkMetadata(level, sn, id, size, part, partial) {\n if (size === void 0) {\n size = 0;\n }\n if (part === void 0) {\n part = -1;\n }\n if (partial === void 0) {\n partial = false;\n }\n this.level = void 0;\n this.sn = void 0;\n this.part = void 0;\n this.id = void 0;\n this.size = void 0;\n this.partial = void 0;\n this.transmuxing = getNewPerformanceTiming();\n this.buffering = {\n audio: getNewPerformanceTiming(),\n video: getNewPerformanceTiming(),\n audiovideo: getNewPerformanceTiming()\n };\n this.level = level;\n this.sn = sn;\n this.id = id;\n this.size = size;\n this.part = part;\n this.partial = partial;\n };\n function getNewPerformanceTiming() {\n return {\n start: 0,\n executeStart: 0,\n executeEnd: 0,\n end: 0\n };\n }\n\n function findFirstFragWithCC(fragments, cc) {\n for (var i = 0, len = fragments.length; i < len; i++) {\n var _fragments$i;\n if (((_fragments$i = fragments[i]) == null ? void 0 : _fragments$i.cc) === cc) {\n return fragments[i];\n }\n }\n return null;\n }\n function shouldAlignOnDiscontinuities(lastFrag, switchDetails, details) {\n if (switchDetails) {\n if (details.endCC > details.startCC || lastFrag && lastFrag.cc < details.startCC) {\n return true;\n }\n }\n return false;\n }\n\n // Find the first frag in the previous level which matches the CC of the first frag of the new level\n function findDiscontinuousReferenceFrag(prevDetails, curDetails) {\n var prevFrags = prevDetails.fragments;\n var curFrags = curDetails.fragments;\n if (!curFrags.length || !prevFrags.length) {\n logger.log('No fragments to align');\n return;\n }\n var prevStartFrag = findFirstFragWithCC(prevFrags, curFrags[0].cc);\n if (!prevStartFrag || prevStartFrag && !prevStartFrag.startPTS) {\n logger.log('No frag in previous level to align on');\n return;\n }\n return prevStartFrag;\n }\n function adjustFragmentStart(frag, sliding) {\n if (frag) {\n var start = frag.start + sliding;\n frag.start = frag.startPTS = start;\n frag.endPTS = start + frag.duration;\n }\n }\n function adjustSlidingStart(sliding, details) {\n // Update segments\n var fragments = details.fragments;\n for (var i = 0, len = fragments.length; i < len; i++) {\n adjustFragmentStart(fragments[i], sliding);\n }\n // Update LL-HLS parts at the end of the playlist\n if (details.fragmentHint) {\n adjustFragmentStart(details.fragmentHint, sliding);\n }\n details.alignedSliding = true;\n }\n\n /**\n * Using the parameters of the last level, this function computes PTS' of the new fragments so that they form a\n * contiguous stream with the last fragments.\n * The PTS of a fragment lets Hls.js know where it fits into a stream - by knowing every PTS, we know which fragment to\n * download at any given time. PTS is normally computed when the fragment is demuxed, so taking this step saves us time\n * and an extra download.\n * @param lastFrag\n * @param lastLevel\n * @param details\n */\n function alignStream(lastFrag, switchDetails, details) {\n if (!switchDetails) {\n return;\n }\n alignDiscontinuities(lastFrag, details, switchDetails);\n if (!details.alignedSliding && switchDetails) {\n // If the PTS wasn't figured out via discontinuity sequence that means there was no CC increase within the level.\n // Aligning via Program Date Time should therefore be reliable, since PDT should be the same within the same\n // discontinuity sequence.\n alignMediaPlaylistByPDT(details, switchDetails);\n }\n if (!details.alignedSliding && switchDetails && !details.skippedSegments) {\n // Try to align on sn so that we pick a better start fragment.\n // Do not perform this on playlists with delta updates as this is only to align levels on switch\n // and adjustSliding only adjusts fragments after skippedSegments.\n adjustSliding(switchDetails, details);\n }\n }\n\n /**\n * Computes the PTS if a new level's fragments using the PTS of a fragment in the last level which shares the same\n * discontinuity sequence.\n * @param lastFrag - The last Fragment which shares the same discontinuity sequence\n * @param lastLevel - The details of the last loaded level\n * @param details - The details of the new level\n */\n function alignDiscontinuities(lastFrag, details, switchDetails) {\n if (shouldAlignOnDiscontinuities(lastFrag, switchDetails, details)) {\n var referenceFrag = findDiscontinuousReferenceFrag(switchDetails, details);\n if (referenceFrag && isFiniteNumber(referenceFrag.start)) {\n logger.log(\"Adjusting PTS using last level due to CC increase within current level \" + details.url);\n adjustSlidingStart(referenceFrag.start, details);\n }\n }\n }\n\n /**\n * Ensures appropriate time-alignment between renditions based on PDT.\n * This function assumes the timelines represented in `refDetails` are accurate, including the PDTs\n * for the last discontinuity sequence number shared by both playlists when present,\n * and uses the \"wallclock\"/PDT timeline as a cross-reference to `details`, adjusting the presentation\n * times/timelines of `details` accordingly.\n * Given the asynchronous nature of fetches and initial loads of live `main` and audio/subtitle tracks,\n * the primary purpose of this function is to ensure the \"local timelines\" of audio/subtitle tracks\n * are aligned to the main/video timeline, using PDT as the cross-reference/\"anchor\" that should\n * be consistent across playlists, per the HLS spec.\n * @param details - The details of the rendition you'd like to time-align (e.g. an audio rendition).\n * @param refDetails - The details of the reference rendition with start and PDT times for alignment.\n */\n function alignMediaPlaylistByPDT(details, refDetails) {\n if (!details.hasProgramDateTime || !refDetails.hasProgramDateTime) {\n return;\n }\n var fragments = details.fragments;\n var refFragments = refDetails.fragments;\n if (!fragments.length || !refFragments.length) {\n return;\n }\n\n // Calculate a delta to apply to all fragments according to the delta in PDT times and start times\n // of a fragment in the reference details, and a fragment in the target details of the same discontinuity.\n // If a fragment of the same discontinuity was not found use the middle fragment of both.\n var refFrag;\n var frag;\n var targetCC = Math.min(refDetails.endCC, details.endCC);\n if (refDetails.startCC < targetCC && details.startCC < targetCC) {\n refFrag = findFirstFragWithCC(refFragments, targetCC);\n frag = findFirstFragWithCC(fragments, targetCC);\n }\n if (!refFrag || !frag) {\n refFrag = refFragments[Math.floor(refFragments.length / 2)];\n frag = findFirstFragWithCC(fragments, refFrag.cc) || fragments[Math.floor(fragments.length / 2)];\n }\n var refPDT = refFrag.programDateTime;\n var targetPDT = frag.programDateTime;\n if (!refPDT || !targetPDT) {\n return;\n }\n var delta = (targetPDT - refPDT) / 1000 - (frag.start - refFrag.start);\n adjustSlidingStart(delta, details);\n }\n\n var MIN_CHUNK_SIZE = Math.pow(2, 17); // 128kb\n var FragmentLoader = /*#__PURE__*/function () {\n function FragmentLoader(config) {\n this.config = void 0;\n this.loader = null;\n this.partLoadTimeout = -1;\n this.config = config;\n }\n var _proto = FragmentLoader.prototype;\n _proto.destroy = function destroy() {\n if (this.loader) {\n this.loader.destroy();\n this.loader = null;\n }\n };\n _proto.abort = function abort() {\n if (this.loader) {\n // Abort the loader for current fragment. Only one may load at any given time\n this.loader.abort();\n }\n };\n _proto.load = function load(frag, _onProgress) {\n var _this = this;\n var url = frag.url;\n if (!url) {\n return Promise.reject(new LoadError({\n type: ErrorTypes.NETWORK_ERROR,\n details: ErrorDetails.FRAG_LOAD_ERROR,\n fatal: false,\n frag: frag,\n error: new Error(\"Fragment does not have a \" + (url ? 'part list' : 'url')),\n networkDetails: null\n }));\n }\n this.abort();\n var config = this.config;\n var FragmentILoader = config.fLoader;\n var DefaultILoader = config.loader;\n return new Promise(function (resolve, reject) {\n if (_this.loader) {\n _this.loader.destroy();\n }\n if (frag.gap) {\n if (frag.tagList.some(function (tags) {\n return tags[0] === 'GAP';\n })) {\n reject(createGapLoadError(frag));\n return;\n } else {\n // Reset temporary treatment as GAP tag\n frag.gap = false;\n }\n }\n var loader = _this.loader = frag.loader = FragmentILoader ? new FragmentILoader(config) : new DefaultILoader(config);\n var loaderContext = createLoaderContext(frag);\n var loadPolicy = getLoaderConfigWithoutReties(config.fragLoadPolicy.default);\n var loaderConfig = {\n loadPolicy: loadPolicy,\n timeout: loadPolicy.maxLoadTimeMs,\n maxRetry: 0,\n retryDelay: 0,\n maxRetryDelay: 0,\n highWaterMark: frag.sn === 'initSegment' ? Infinity : MIN_CHUNK_SIZE\n };\n // Assign frag stats to the loader's stats reference\n frag.stats = loader.stats;\n loader.load(loaderContext, loaderConfig, {\n onSuccess: function onSuccess(response, stats, context, networkDetails) {\n _this.resetLoader(frag, loader);\n var payload = response.data;\n if (context.resetIV && frag.decryptdata) {\n frag.decryptdata.iv = new Uint8Array(payload.slice(0, 16));\n payload = payload.slice(16);\n }\n resolve({\n frag: frag,\n part: null,\n payload: payload,\n networkDetails: networkDetails\n });\n },\n onError: function onError(response, context, networkDetails, stats) {\n _this.resetLoader(frag, loader);\n reject(new LoadError({\n type: ErrorTypes.NETWORK_ERROR,\n details: ErrorDetails.FRAG_LOAD_ERROR,\n fatal: false,\n frag: frag,\n response: _objectSpread2({\n url: url,\n data: undefined\n }, response),\n error: new Error(\"HTTP Error \" + response.code + \" \" + response.text),\n networkDetails: networkDetails,\n stats: stats\n }));\n },\n onAbort: function onAbort(stats, context, networkDetails) {\n _this.resetLoader(frag, loader);\n reject(new LoadError({\n type: ErrorTypes.NETWORK_ERROR,\n details: ErrorDetails.INTERNAL_ABORTED,\n fatal: false,\n frag: frag,\n error: new Error('Aborted'),\n networkDetails: networkDetails,\n stats: stats\n }));\n },\n onTimeout: function onTimeout(stats, context, networkDetails) {\n _this.resetLoader(frag, loader);\n reject(new LoadError({\n type: ErrorTypes.NETWORK_ERROR,\n details: ErrorDetails.FRAG_LOAD_TIMEOUT,\n fatal: false,\n frag: frag,\n error: new Error(\"Timeout after \" + loaderConfig.timeout + \"ms\"),\n networkDetails: networkDetails,\n stats: stats\n }));\n },\n onProgress: function onProgress(stats, context, data, networkDetails) {\n if (_onProgress) {\n _onProgress({\n frag: frag,\n part: null,\n payload: data,\n networkDetails: networkDetails\n });\n }\n }\n });\n });\n };\n _proto.loadPart = function loadPart(frag, part, onProgress) {\n var _this2 = this;\n this.abort();\n var config = this.config;\n var FragmentILoader = config.fLoader;\n var DefaultILoader = config.loader;\n return new Promise(function (resolve, reject) {\n if (_this2.loader) {\n _this2.loader.destroy();\n }\n if (frag.gap || part.gap) {\n reject(createGapLoadError(frag, part));\n return;\n }\n var loader = _this2.loader = frag.loader = FragmentILoader ? new FragmentILoader(config) : new DefaultILoader(config);\n var loaderContext = createLoaderContext(frag, part);\n // Should we define another load policy for parts?\n var loadPolicy = getLoaderConfigWithoutReties(config.fragLoadPolicy.default);\n var loaderConfig = {\n loadPolicy: loadPolicy,\n timeout: loadPolicy.maxLoadTimeMs,\n maxRetry: 0,\n retryDelay: 0,\n maxRetryDelay: 0,\n highWaterMark: MIN_CHUNK_SIZE\n };\n // Assign part stats to the loader's stats reference\n part.stats = loader.stats;\n loader.load(loaderContext, loaderConfig, {\n onSuccess: function onSuccess(response, stats, context, networkDetails) {\n _this2.resetLoader(frag, loader);\n _this2.updateStatsFromPart(frag, part);\n var partLoadedData = {\n frag: frag,\n part: part,\n payload: response.data,\n networkDetails: networkDetails\n };\n onProgress(partLoadedData);\n resolve(partLoadedData);\n },\n onError: function onError(response, context, networkDetails, stats) {\n _this2.resetLoader(frag, loader);\n reject(new LoadError({\n type: ErrorTypes.NETWORK_ERROR,\n details: ErrorDetails.FRAG_LOAD_ERROR,\n fatal: false,\n frag: frag,\n part: part,\n response: _objectSpread2({\n url: loaderContext.url,\n data: undefined\n }, response),\n error: new Error(\"HTTP Error \" + response.code + \" \" + response.text),\n networkDetails: networkDetails,\n stats: stats\n }));\n },\n onAbort: function onAbort(stats, context, networkDetails) {\n frag.stats.aborted = part.stats.aborted;\n _this2.resetLoader(frag, loader);\n reject(new LoadError({\n type: ErrorTypes.NETWORK_ERROR,\n details: ErrorDetails.INTERNAL_ABORTED,\n fatal: false,\n frag: frag,\n part: part,\n error: new Error('Aborted'),\n networkDetails: networkDetails,\n stats: stats\n }));\n },\n onTimeout: function onTimeout(stats, context, networkDetails) {\n _this2.resetLoader(frag, loader);\n reject(new LoadError({\n type: ErrorTypes.NETWORK_ERROR,\n details: ErrorDetails.FRAG_LOAD_TIMEOUT,\n fatal: false,\n frag: frag,\n part: part,\n error: new Error(\"Timeout after \" + loaderConfig.timeout + \"ms\"),\n networkDetails: networkDetails,\n stats: stats\n }));\n }\n });\n });\n };\n _proto.updateStatsFromPart = function updateStatsFromPart(frag, part) {\n var fragStats = frag.stats;\n var partStats = part.stats;\n var partTotal = partStats.total;\n fragStats.loaded += partStats.loaded;\n if (partTotal) {\n var estTotalParts = Math.round(frag.duration / part.duration);\n var estLoadedParts = Math.min(Math.round(fragStats.loaded / partTotal), estTotalParts);\n var estRemainingParts = estTotalParts - estLoadedParts;\n var estRemainingBytes = estRemainingParts * Math.round(fragStats.loaded / estLoadedParts);\n fragStats.total = fragStats.loaded + estRemainingBytes;\n } else {\n fragStats.total = Math.max(fragStats.loaded, fragStats.total);\n }\n var fragLoading = fragStats.loading;\n var partLoading = partStats.loading;\n if (fragLoading.start) {\n // add to fragment loader latency\n fragLoading.first += partLoading.first - partLoading.start;\n } else {\n fragLoading.start = partLoading.start;\n fragLoading.first = partLoading.first;\n }\n fragLoading.end = partLoading.end;\n };\n _proto.resetLoader = function resetLoader(frag, loader) {\n frag.loader = null;\n if (this.loader === loader) {\n self.clearTimeout(this.partLoadTimeout);\n this.loader = null;\n }\n loader.destroy();\n };\n return FragmentLoader;\n }();\n function createLoaderContext(frag, part) {\n if (part === void 0) {\n part = null;\n }\n var segment = part || frag;\n var loaderContext = {\n frag: frag,\n part: part,\n responseType: 'arraybuffer',\n url: segment.url,\n headers: {},\n rangeStart: 0,\n rangeEnd: 0\n };\n var start = segment.byteRangeStartOffset;\n var end = segment.byteRangeEndOffset;\n if (isFiniteNumber(start) && isFiniteNumber(end)) {\n var _frag$decryptdata;\n var byteRangeStart = start;\n var byteRangeEnd = end;\n if (frag.sn === 'initSegment' && ((_frag$decryptdata = frag.decryptdata) == null ? void 0 : _frag$decryptdata.method) === 'AES-128') {\n // MAP segment encrypted with method 'AES-128', when served with HTTP Range,\n // has the unencrypted size specified in the range.\n // Ref: https://tools.ietf.org/html/draft-pantos-hls-rfc8216bis-08#section-6.3.6\n var fragmentLen = end - start;\n if (fragmentLen % 16) {\n byteRangeEnd = end + (16 - fragmentLen % 16);\n }\n if (start !== 0) {\n loaderContext.resetIV = true;\n byteRangeStart = start - 16;\n }\n }\n loaderContext.rangeStart = byteRangeStart;\n loaderContext.rangeEnd = byteRangeEnd;\n }\n return loaderContext;\n }\n function createGapLoadError(frag, part) {\n var error = new Error(\"GAP \" + (frag.gap ? 'tag' : 'attribute') + \" found\");\n var errorData = {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.FRAG_GAP,\n fatal: false,\n frag: frag,\n error: error,\n networkDetails: null\n };\n if (part) {\n errorData.part = part;\n }\n (part ? part : frag).stats.aborted = true;\n return new LoadError(errorData);\n }\n var LoadError = /*#__PURE__*/function (_Error) {\n _inheritsLoose(LoadError, _Error);\n function LoadError(data) {\n var _this3;\n _this3 = _Error.call(this, data.error.message) || this;\n _this3.data = void 0;\n _this3.data = data;\n return _this3;\n }\n return LoadError;\n }( /*#__PURE__*/_wrapNativeSuper(Error));\n\n var AESCrypto = /*#__PURE__*/function () {\n function AESCrypto(subtle, iv) {\n this.subtle = void 0;\n this.aesIV = void 0;\n this.subtle = subtle;\n this.aesIV = iv;\n }\n var _proto = AESCrypto.prototype;\n _proto.decrypt = function decrypt(data, key) {\n return this.subtle.decrypt({\n name: 'AES-CBC',\n iv: this.aesIV\n }, key, data);\n };\n return AESCrypto;\n }();\n\n var FastAESKey = /*#__PURE__*/function () {\n function FastAESKey(subtle, key) {\n this.subtle = void 0;\n this.key = void 0;\n this.subtle = subtle;\n this.key = key;\n }\n var _proto = FastAESKey.prototype;\n _proto.expandKey = function expandKey() {\n return this.subtle.importKey('raw', this.key, {\n name: 'AES-CBC'\n }, false, ['encrypt', 'decrypt']);\n };\n return FastAESKey;\n }();\n\n // PKCS7\n function removePadding(array) {\n var outputBytes = array.byteLength;\n var paddingBytes = outputBytes && new DataView(array.buffer).getUint8(outputBytes - 1);\n if (paddingBytes) {\n return sliceUint8(array, 0, outputBytes - paddingBytes);\n }\n return array;\n }\n var AESDecryptor = /*#__PURE__*/function () {\n function AESDecryptor() {\n this.rcon = [0x0, 0x1, 0x2, 0x4, 0x8, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36];\n this.subMix = [new Uint32Array(256), new Uint32Array(256), new Uint32Array(256), new Uint32Array(256)];\n this.invSubMix = [new Uint32Array(256), new Uint32Array(256), new Uint32Array(256), new Uint32Array(256)];\n this.sBox = new Uint32Array(256);\n this.invSBox = new Uint32Array(256);\n this.key = new Uint32Array(0);\n this.ksRows = 0;\n this.keySize = 0;\n this.keySchedule = void 0;\n this.invKeySchedule = void 0;\n this.initTable();\n }\n\n // Using view.getUint32() also swaps the byte order.\n var _proto = AESDecryptor.prototype;\n _proto.uint8ArrayToUint32Array_ = function uint8ArrayToUint32Array_(arrayBuffer) {\n var view = new DataView(arrayBuffer);\n var newArray = new Uint32Array(4);\n for (var i = 0; i < 4; i++) {\n newArray[i] = view.getUint32(i * 4);\n }\n return newArray;\n };\n _proto.initTable = function initTable() {\n var sBox = this.sBox;\n var invSBox = this.invSBox;\n var subMix = this.subMix;\n var subMix0 = subMix[0];\n var subMix1 = subMix[1];\n var subMix2 = subMix[2];\n var subMix3 = subMix[3];\n var invSubMix = this.invSubMix;\n var invSubMix0 = invSubMix[0];\n var invSubMix1 = invSubMix[1];\n var invSubMix2 = invSubMix[2];\n var invSubMix3 = invSubMix[3];\n var d = new Uint32Array(256);\n var x = 0;\n var xi = 0;\n var i = 0;\n for (i = 0; i < 256; i++) {\n if (i < 128) {\n d[i] = i << 1;\n } else {\n d[i] = i << 1 ^ 0x11b;\n }\n }\n for (i = 0; i < 256; i++) {\n var sx = xi ^ xi << 1 ^ xi << 2 ^ xi << 3 ^ xi << 4;\n sx = sx >>> 8 ^ sx & 0xff ^ 0x63;\n sBox[x] = sx;\n invSBox[sx] = x;\n\n // Compute multiplication\n var x2 = d[x];\n var x4 = d[x2];\n var x8 = d[x4];\n\n // Compute sub/invSub bytes, mix columns tables\n var t = d[sx] * 0x101 ^ sx * 0x1010100;\n subMix0[x] = t << 24 | t >>> 8;\n subMix1[x] = t << 16 | t >>> 16;\n subMix2[x] = t << 8 | t >>> 24;\n subMix3[x] = t;\n\n // Compute inv sub bytes, inv mix columns tables\n t = x8 * 0x1010101 ^ x4 * 0x10001 ^ x2 * 0x101 ^ x * 0x1010100;\n invSubMix0[sx] = t << 24 | t >>> 8;\n invSubMix1[sx] = t << 16 | t >>> 16;\n invSubMix2[sx] = t << 8 | t >>> 24;\n invSubMix3[sx] = t;\n\n // Compute next counter\n if (!x) {\n x = xi = 1;\n } else {\n x = x2 ^ d[d[d[x8 ^ x2]]];\n xi ^= d[d[xi]];\n }\n }\n };\n _proto.expandKey = function expandKey(keyBuffer) {\n // convert keyBuffer to Uint32Array\n var key = this.uint8ArrayToUint32Array_(keyBuffer);\n var sameKey = true;\n var offset = 0;\n while (offset < key.length && sameKey) {\n sameKey = key[offset] === this.key[offset];\n offset++;\n }\n if (sameKey) {\n return;\n }\n this.key = key;\n var keySize = this.keySize = key.length;\n if (keySize !== 4 && keySize !== 6 && keySize !== 8) {\n throw new Error('Invalid aes key size=' + keySize);\n }\n var ksRows = this.ksRows = (keySize + 6 + 1) * 4;\n var ksRow;\n var invKsRow;\n var keySchedule = this.keySchedule = new Uint32Array(ksRows);\n var invKeySchedule = this.invKeySchedule = new Uint32Array(ksRows);\n var sbox = this.sBox;\n var rcon = this.rcon;\n var invSubMix = this.invSubMix;\n var invSubMix0 = invSubMix[0];\n var invSubMix1 = invSubMix[1];\n var invSubMix2 = invSubMix[2];\n var invSubMix3 = invSubMix[3];\n var prev;\n var t;\n for (ksRow = 0; ksRow < ksRows; ksRow++) {\n if (ksRow < keySize) {\n prev = keySchedule[ksRow] = key[ksRow];\n continue;\n }\n t = prev;\n if (ksRow % keySize === 0) {\n // Rot word\n t = t << 8 | t >>> 24;\n\n // Sub word\n t = sbox[t >>> 24] << 24 | sbox[t >>> 16 & 0xff] << 16 | sbox[t >>> 8 & 0xff] << 8 | sbox[t & 0xff];\n\n // Mix Rcon\n t ^= rcon[ksRow / keySize | 0] << 24;\n } else if (keySize > 6 && ksRow % keySize === 4) {\n // Sub word\n t = sbox[t >>> 24] << 24 | sbox[t >>> 16 & 0xff] << 16 | sbox[t >>> 8 & 0xff] << 8 | sbox[t & 0xff];\n }\n keySchedule[ksRow] = prev = (keySchedule[ksRow - keySize] ^ t) >>> 0;\n }\n for (invKsRow = 0; invKsRow < ksRows; invKsRow++) {\n ksRow = ksRows - invKsRow;\n if (invKsRow & 3) {\n t = keySchedule[ksRow];\n } else {\n t = keySchedule[ksRow - 4];\n }\n if (invKsRow < 4 || ksRow <= 4) {\n invKeySchedule[invKsRow] = t;\n } else {\n invKeySchedule[invKsRow] = invSubMix0[sbox[t >>> 24]] ^ invSubMix1[sbox[t >>> 16 & 0xff]] ^ invSubMix2[sbox[t >>> 8 & 0xff]] ^ invSubMix3[sbox[t & 0xff]];\n }\n invKeySchedule[invKsRow] = invKeySchedule[invKsRow] >>> 0;\n }\n }\n\n // Adding this as a method greatly improves performance.\n ;\n _proto.networkToHostOrderSwap = function networkToHostOrderSwap(word) {\n return word << 24 | (word & 0xff00) << 8 | (word & 0xff0000) >> 8 | word >>> 24;\n };\n _proto.decrypt = function decrypt(inputArrayBuffer, offset, aesIV) {\n var nRounds = this.keySize + 6;\n var invKeySchedule = this.invKeySchedule;\n var invSBOX = this.invSBox;\n var invSubMix = this.invSubMix;\n var invSubMix0 = invSubMix[0];\n var invSubMix1 = invSubMix[1];\n var invSubMix2 = invSubMix[2];\n var invSubMix3 = invSubMix[3];\n var initVector = this.uint8ArrayToUint32Array_(aesIV);\n var initVector0 = initVector[0];\n var initVector1 = initVector[1];\n var initVector2 = initVector[2];\n var initVector3 = initVector[3];\n var inputInt32 = new Int32Array(inputArrayBuffer);\n var outputInt32 = new Int32Array(inputInt32.length);\n var t0, t1, t2, t3;\n var s0, s1, s2, s3;\n var inputWords0, inputWords1, inputWords2, inputWords3;\n var ksRow, i;\n var swapWord = this.networkToHostOrderSwap;\n while (offset < inputInt32.length) {\n inputWords0 = swapWord(inputInt32[offset]);\n inputWords1 = swapWord(inputInt32[offset + 1]);\n inputWords2 = swapWord(inputInt32[offset + 2]);\n inputWords3 = swapWord(inputInt32[offset + 3]);\n s0 = inputWords0 ^ invKeySchedule[0];\n s1 = inputWords3 ^ invKeySchedule[1];\n s2 = inputWords2 ^ invKeySchedule[2];\n s3 = inputWords1 ^ invKeySchedule[3];\n ksRow = 4;\n\n // Iterate through the rounds of decryption\n for (i = 1; i < nRounds; i++) {\n t0 = invSubMix0[s0 >>> 24] ^ invSubMix1[s1 >> 16 & 0xff] ^ invSubMix2[s2 >> 8 & 0xff] ^ invSubMix3[s3 & 0xff] ^ invKeySchedule[ksRow];\n t1 = invSubMix0[s1 >>> 24] ^ invSubMix1[s2 >> 16 & 0xff] ^ invSubMix2[s3 >> 8 & 0xff] ^ invSubMix3[s0 & 0xff] ^ invKeySchedule[ksRow + 1];\n t2 = invSubMix0[s2 >>> 24] ^ invSubMix1[s3 >> 16 & 0xff] ^ invSubMix2[s0 >> 8 & 0xff] ^ invSubMix3[s1 & 0xff] ^ invKeySchedule[ksRow + 2];\n t3 = invSubMix0[s3 >>> 24] ^ invSubMix1[s0 >> 16 & 0xff] ^ invSubMix2[s1 >> 8 & 0xff] ^ invSubMix3[s2 & 0xff] ^ invKeySchedule[ksRow + 3];\n // Update state\n s0 = t0;\n s1 = t1;\n s2 = t2;\n s3 = t3;\n ksRow = ksRow + 4;\n }\n\n // Shift rows, sub bytes, add round key\n t0 = invSBOX[s0 >>> 24] << 24 ^ invSBOX[s1 >> 16 & 0xff] << 16 ^ invSBOX[s2 >> 8 & 0xff] << 8 ^ invSBOX[s3 & 0xff] ^ invKeySchedule[ksRow];\n t1 = invSBOX[s1 >>> 24] << 24 ^ invSBOX[s2 >> 16 & 0xff] << 16 ^ invSBOX[s3 >> 8 & 0xff] << 8 ^ invSBOX[s0 & 0xff] ^ invKeySchedule[ksRow + 1];\n t2 = invSBOX[s2 >>> 24] << 24 ^ invSBOX[s3 >> 16 & 0xff] << 16 ^ invSBOX[s0 >> 8 & 0xff] << 8 ^ invSBOX[s1 & 0xff] ^ invKeySchedule[ksRow + 2];\n t3 = invSBOX[s3 >>> 24] << 24 ^ invSBOX[s0 >> 16 & 0xff] << 16 ^ invSBOX[s1 >> 8 & 0xff] << 8 ^ invSBOX[s2 & 0xff] ^ invKeySchedule[ksRow + 3];\n\n // Write\n outputInt32[offset] = swapWord(t0 ^ initVector0);\n outputInt32[offset + 1] = swapWord(t3 ^ initVector1);\n outputInt32[offset + 2] = swapWord(t2 ^ initVector2);\n outputInt32[offset + 3] = swapWord(t1 ^ initVector3);\n\n // reset initVector to last 4 unsigned int\n initVector0 = inputWords0;\n initVector1 = inputWords1;\n initVector2 = inputWords2;\n initVector3 = inputWords3;\n offset = offset + 4;\n }\n return outputInt32.buffer;\n };\n return AESDecryptor;\n }();\n\n var CHUNK_SIZE = 16; // 16 bytes, 128 bits\n var Decrypter = /*#__PURE__*/function () {\n function Decrypter(config, _temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n _ref$removePKCS7Paddi = _ref.removePKCS7Padding,\n removePKCS7Padding = _ref$removePKCS7Paddi === void 0 ? true : _ref$removePKCS7Paddi;\n this.logEnabled = true;\n this.removePKCS7Padding = void 0;\n this.subtle = null;\n this.softwareDecrypter = null;\n this.key = null;\n this.fastAesKey = null;\n this.remainderData = null;\n this.currentIV = null;\n this.currentResult = null;\n this.useSoftware = void 0;\n this.useSoftware = config.enableSoftwareAES;\n this.removePKCS7Padding = removePKCS7Padding;\n // built in decryptor expects PKCS7 padding\n if (removePKCS7Padding) {\n try {\n var browserCrypto = self.crypto;\n if (browserCrypto) {\n this.subtle = browserCrypto.subtle || browserCrypto.webkitSubtle;\n }\n } catch (e) {\n /* no-op */\n }\n }\n if (this.subtle === null) {\n this.useSoftware = true;\n }\n }\n var _proto = Decrypter.prototype;\n _proto.destroy = function destroy() {\n this.subtle = null;\n this.softwareDecrypter = null;\n this.key = null;\n this.fastAesKey = null;\n this.remainderData = null;\n this.currentIV = null;\n this.currentResult = null;\n };\n _proto.isSync = function isSync() {\n return this.useSoftware;\n };\n _proto.flush = function flush() {\n var currentResult = this.currentResult,\n remainderData = this.remainderData;\n if (!currentResult || remainderData) {\n this.reset();\n return null;\n }\n var data = new Uint8Array(currentResult);\n this.reset();\n if (this.removePKCS7Padding) {\n return removePadding(data);\n }\n return data;\n };\n _proto.reset = function reset() {\n this.currentResult = null;\n this.currentIV = null;\n this.remainderData = null;\n if (this.softwareDecrypter) {\n this.softwareDecrypter = null;\n }\n };\n _proto.decrypt = function decrypt(data, key, iv) {\n var _this = this;\n if (this.useSoftware) {\n return new Promise(function (resolve, reject) {\n _this.softwareDecrypt(new Uint8Array(data), key, iv);\n var decryptResult = _this.flush();\n if (decryptResult) {\n resolve(decryptResult.buffer);\n } else {\n reject(new Error('[softwareDecrypt] Failed to decrypt data'));\n }\n });\n }\n return this.webCryptoDecrypt(new Uint8Array(data), key, iv);\n }\n\n // Software decryption is progressive. Progressive decryption may not return a result on each call. Any cached\n // data is handled in the flush() call\n ;\n _proto.softwareDecrypt = function softwareDecrypt(data, key, iv) {\n var currentIV = this.currentIV,\n currentResult = this.currentResult,\n remainderData = this.remainderData;\n this.logOnce('JS AES decrypt');\n // The output is staggered during progressive parsing - the current result is cached, and emitted on the next call\n // This is done in order to strip PKCS7 padding, which is found at the end of each segment. We only know we've reached\n // the end on flush(), but by that time we have already received all bytes for the segment.\n // Progressive decryption does not work with WebCrypto\n\n if (remainderData) {\n data = appendUint8Array(remainderData, data);\n this.remainderData = null;\n }\n\n // Byte length must be a multiple of 16 (AES-128 = 128 bit blocks = 16 bytes)\n var currentChunk = this.getValidChunk(data);\n if (!currentChunk.length) {\n return null;\n }\n if (currentIV) {\n iv = currentIV;\n }\n var softwareDecrypter = this.softwareDecrypter;\n if (!softwareDecrypter) {\n softwareDecrypter = this.softwareDecrypter = new AESDecryptor();\n }\n softwareDecrypter.expandKey(key);\n var result = currentResult;\n this.currentResult = softwareDecrypter.decrypt(currentChunk.buffer, 0, iv);\n this.currentIV = sliceUint8(currentChunk, -16).buffer;\n if (!result) {\n return null;\n }\n return result;\n };\n _proto.webCryptoDecrypt = function webCryptoDecrypt(data, key, iv) {\n var _this2 = this;\n var subtle = this.subtle;\n if (this.key !== key || !this.fastAesKey) {\n this.key = key;\n this.fastAesKey = new FastAESKey(subtle, key);\n }\n return this.fastAesKey.expandKey().then(function (aesKey) {\n // decrypt using web crypto\n if (!subtle) {\n return Promise.reject(new Error('web crypto not initialized'));\n }\n _this2.logOnce('WebCrypto AES decrypt');\n var crypto = new AESCrypto(subtle, new Uint8Array(iv));\n return crypto.decrypt(data.buffer, aesKey);\n }).catch(function (err) {\n logger.warn(\"[decrypter]: WebCrypto Error, disable WebCrypto API, \" + err.name + \": \" + err.message);\n return _this2.onWebCryptoError(data, key, iv);\n });\n };\n _proto.onWebCryptoError = function onWebCryptoError(data, key, iv) {\n this.useSoftware = true;\n this.logEnabled = true;\n this.softwareDecrypt(data, key, iv);\n var decryptResult = this.flush();\n if (decryptResult) {\n return decryptResult.buffer;\n }\n throw new Error('WebCrypto and softwareDecrypt: failed to decrypt data');\n };\n _proto.getValidChunk = function getValidChunk(data) {\n var currentChunk = data;\n var splitPoint = data.length - data.length % CHUNK_SIZE;\n if (splitPoint !== data.length) {\n currentChunk = sliceUint8(data, 0, splitPoint);\n this.remainderData = sliceUint8(data, splitPoint);\n }\n return currentChunk;\n };\n _proto.logOnce = function logOnce(msg) {\n if (!this.logEnabled) {\n return;\n }\n logger.log(\"[decrypter]: \" + msg);\n this.logEnabled = false;\n };\n return Decrypter;\n }();\n\n /**\n * TimeRanges to string helper\n */\n\n var TimeRanges = {\n toString: function toString(r) {\n var log = '';\n var len = r.length;\n for (var i = 0; i < len; i++) {\n log += \"[\" + r.start(i).toFixed(3) + \"-\" + r.end(i).toFixed(3) + \"]\";\n }\n return log;\n }\n };\n\n var State = {\n STOPPED: 'STOPPED',\n IDLE: 'IDLE',\n KEY_LOADING: 'KEY_LOADING',\n FRAG_LOADING: 'FRAG_LOADING',\n FRAG_LOADING_WAITING_RETRY: 'FRAG_LOADING_WAITING_RETRY',\n WAITING_TRACK: 'WAITING_TRACK',\n PARSING: 'PARSING',\n PARSED: 'PARSED',\n ENDED: 'ENDED',\n ERROR: 'ERROR',\n WAITING_INIT_PTS: 'WAITING_INIT_PTS',\n WAITING_LEVEL: 'WAITING_LEVEL'\n };\n var BaseStreamController = /*#__PURE__*/function (_TaskLoop) {\n _inheritsLoose(BaseStreamController, _TaskLoop);\n function BaseStreamController(hls, fragmentTracker, keyLoader, logPrefix, playlistType) {\n var _this;\n _this = _TaskLoop.call(this) || this;\n _this.hls = void 0;\n _this.fragPrevious = null;\n _this.fragCurrent = null;\n _this.fragmentTracker = void 0;\n _this.transmuxer = null;\n _this._state = State.STOPPED;\n _this.playlistType = void 0;\n _this.media = null;\n _this.mediaBuffer = null;\n _this.config = void 0;\n _this.bitrateTest = false;\n _this.lastCurrentTime = 0;\n _this.nextLoadPosition = 0;\n _this.startPosition = 0;\n _this.startTimeOffset = null;\n _this.loadedmetadata = false;\n _this.retryDate = 0;\n _this.levels = null;\n _this.fragmentLoader = void 0;\n _this.keyLoader = void 0;\n _this.levelLastLoaded = null;\n _this.startFragRequested = false;\n _this.decrypter = void 0;\n _this.initPTS = [];\n _this.onvseeking = null;\n _this.onvended = null;\n _this.logPrefix = '';\n _this.log = void 0;\n _this.warn = void 0;\n _this.playlistType = playlistType;\n _this.logPrefix = logPrefix;\n _this.log = logger.log.bind(logger, logPrefix + \":\");\n _this.warn = logger.warn.bind(logger, logPrefix + \":\");\n _this.hls = hls;\n _this.fragmentLoader = new FragmentLoader(hls.config);\n _this.keyLoader = keyLoader;\n _this.fragmentTracker = fragmentTracker;\n _this.config = hls.config;\n _this.decrypter = new Decrypter(hls.config);\n hls.on(Events.MANIFEST_LOADED, _this.onManifestLoaded, _assertThisInitialized(_this));\n return _this;\n }\n var _proto = BaseStreamController.prototype;\n _proto.doTick = function doTick() {\n this.onTickEnd();\n };\n _proto.onTickEnd = function onTickEnd() {}\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n ;\n _proto.startLoad = function startLoad(startPosition) {};\n _proto.stopLoad = function stopLoad() {\n this.fragmentLoader.abort();\n this.keyLoader.abort(this.playlistType);\n var frag = this.fragCurrent;\n if (frag != null && frag.loader) {\n frag.abortRequests();\n this.fragmentTracker.removeFragment(frag);\n }\n this.resetTransmuxer();\n this.fragCurrent = null;\n this.fragPrevious = null;\n this.clearInterval();\n this.clearNextTick();\n this.state = State.STOPPED;\n };\n _proto._streamEnded = function _streamEnded(bufferInfo, levelDetails) {\n // If playlist is live, there is another buffered range after the current range, nothing buffered, media is detached,\n // of nothing loading/loaded return false\n if (levelDetails.live || bufferInfo.nextStart || !bufferInfo.end || !this.media) {\n return false;\n }\n var partList = levelDetails.partList;\n // Since the last part isn't guaranteed to correspond to the last playlist segment for Low-Latency HLS,\n // check instead if the last part is buffered.\n if (partList != null && partList.length) {\n var lastPart = partList[partList.length - 1];\n\n // Checking the midpoint of the part for potential margin of error and related issues.\n // NOTE: Technically I believe parts could yield content that is < the computed duration (including potential a duration of 0)\n // and still be spec-compliant, so there may still be edge cases here. Likewise, there could be issues in end of stream\n // part mismatches for independent audio and video playlists/segments.\n var lastPartBuffered = BufferHelper.isBuffered(this.media, lastPart.start + lastPart.duration / 2);\n return lastPartBuffered;\n }\n var playlistType = levelDetails.fragments[levelDetails.fragments.length - 1].type;\n return this.fragmentTracker.isEndListAppended(playlistType);\n };\n _proto.getLevelDetails = function getLevelDetails() {\n if (this.levels && this.levelLastLoaded !== null) {\n var _this$levelLastLoaded;\n return (_this$levelLastLoaded = this.levelLastLoaded) == null ? void 0 : _this$levelLastLoaded.details;\n }\n };\n _proto.onMediaAttached = function onMediaAttached(event, data) {\n var media = this.media = this.mediaBuffer = data.media;\n this.onvseeking = this.onMediaSeeking.bind(this);\n this.onvended = this.onMediaEnded.bind(this);\n media.addEventListener('seeking', this.onvseeking);\n media.addEventListener('ended', this.onvended);\n var config = this.config;\n if (this.levels && config.autoStartLoad && this.state === State.STOPPED) {\n this.startLoad(config.startPosition);\n }\n };\n _proto.onMediaDetaching = function onMediaDetaching() {\n var media = this.media;\n if (media != null && media.ended) {\n this.log('MSE detaching and video ended, reset startPosition');\n this.startPosition = this.lastCurrentTime = 0;\n }\n\n // remove video listeners\n if (media && this.onvseeking && this.onvended) {\n media.removeEventListener('seeking', this.onvseeking);\n media.removeEventListener('ended', this.onvended);\n this.onvseeking = this.onvended = null;\n }\n if (this.keyLoader) {\n this.keyLoader.detach();\n }\n this.media = this.mediaBuffer = null;\n this.loadedmetadata = false;\n this.fragmentTracker.removeAllFragments();\n this.stopLoad();\n };\n _proto.onMediaSeeking = function onMediaSeeking() {\n var config = this.config,\n fragCurrent = this.fragCurrent,\n media = this.media,\n mediaBuffer = this.mediaBuffer,\n state = this.state;\n var currentTime = media ? media.currentTime : 0;\n var bufferInfo = BufferHelper.bufferInfo(mediaBuffer ? mediaBuffer : media, currentTime, config.maxBufferHole);\n this.log(\"media seeking to \" + (isFiniteNumber(currentTime) ? currentTime.toFixed(3) : currentTime) + \", state: \" + state);\n if (this.state === State.ENDED) {\n this.resetLoadingState();\n } else if (fragCurrent) {\n // Seeking while frag load is in progress\n var tolerance = config.maxFragLookUpTolerance;\n var fragStartOffset = fragCurrent.start - tolerance;\n var fragEndOffset = fragCurrent.start + fragCurrent.duration + tolerance;\n // if seeking out of buffered range or into new one\n if (!bufferInfo.len || fragEndOffset < bufferInfo.start || fragStartOffset > bufferInfo.end) {\n var pastFragment = currentTime > fragEndOffset;\n // if the seek position is outside the current fragment range\n if (currentTime < fragStartOffset || pastFragment) {\n if (pastFragment && fragCurrent.loader) {\n this.log('seeking outside of buffer while fragment load in progress, cancel fragment load');\n fragCurrent.abortRequests();\n this.resetLoadingState();\n }\n this.fragPrevious = null;\n }\n }\n }\n if (media) {\n // Remove gap fragments\n this.fragmentTracker.removeFragmentsInRange(currentTime, Infinity, this.playlistType, true);\n this.lastCurrentTime = currentTime;\n }\n\n // in case seeking occurs although no media buffered, adjust startPosition and nextLoadPosition to seek target\n if (!this.loadedmetadata && !bufferInfo.len) {\n this.nextLoadPosition = this.startPosition = currentTime;\n }\n\n // Async tick to speed up processing\n this.tickImmediate();\n };\n _proto.onMediaEnded = function onMediaEnded() {\n // reset startPosition and lastCurrentTime to restart playback @ stream beginning\n this.startPosition = this.lastCurrentTime = 0;\n };\n _proto.onManifestLoaded = function onManifestLoaded(event, data) {\n this.startTimeOffset = data.startTimeOffset;\n this.initPTS = [];\n };\n _proto.onHandlerDestroying = function onHandlerDestroying() {\n this.hls.off(Events.MANIFEST_LOADED, this.onManifestLoaded, this);\n this.stopLoad();\n _TaskLoop.prototype.onHandlerDestroying.call(this);\n // @ts-ignore\n this.hls = null;\n };\n _proto.onHandlerDestroyed = function onHandlerDestroyed() {\n this.state = State.STOPPED;\n if (this.fragmentLoader) {\n this.fragmentLoader.destroy();\n }\n if (this.keyLoader) {\n this.keyLoader.destroy();\n }\n if (this.decrypter) {\n this.decrypter.destroy();\n }\n this.hls = this.log = this.warn = this.decrypter = this.keyLoader = this.fragmentLoader = this.fragmentTracker = null;\n _TaskLoop.prototype.onHandlerDestroyed.call(this);\n };\n _proto.loadFragment = function loadFragment(frag, level, targetBufferTime) {\n this._loadFragForPlayback(frag, level, targetBufferTime);\n };\n _proto._loadFragForPlayback = function _loadFragForPlayback(frag, level, targetBufferTime) {\n var _this2 = this;\n var progressCallback = function progressCallback(data) {\n if (_this2.fragContextChanged(frag)) {\n _this2.warn(\"Fragment \" + frag.sn + (data.part ? ' p: ' + data.part.index : '') + \" of level \" + frag.level + \" was dropped during download.\");\n _this2.fragmentTracker.removeFragment(frag);\n return;\n }\n frag.stats.chunkCount++;\n _this2._handleFragmentLoadProgress(data);\n };\n this._doFragLoad(frag, level, targetBufferTime, progressCallback).then(function (data) {\n if (!data) {\n // if we're here we probably needed to backtrack or are waiting for more parts\n return;\n }\n var state = _this2.state;\n if (_this2.fragContextChanged(frag)) {\n if (state === State.FRAG_LOADING || !_this2.fragCurrent && state === State.PARSING) {\n _this2.fragmentTracker.removeFragment(frag);\n _this2.state = State.IDLE;\n }\n return;\n }\n if ('payload' in data) {\n _this2.log(\"Loaded fragment \" + frag.sn + \" of level \" + frag.level);\n _this2.hls.trigger(Events.FRAG_LOADED, data);\n }\n\n // Pass through the whole payload; controllers not implementing progressive loading receive data from this callback\n _this2._handleFragmentLoadComplete(data);\n }).catch(function (reason) {\n if (_this2.state === State.STOPPED || _this2.state === State.ERROR) {\n return;\n }\n _this2.warn(reason);\n _this2.resetFragmentLoading(frag);\n });\n };\n _proto.clearTrackerIfNeeded = function clearTrackerIfNeeded(frag) {\n var _this$mediaBuffer;\n var fragmentTracker = this.fragmentTracker;\n var fragState = fragmentTracker.getState(frag);\n if (fragState === FragmentState.APPENDING) {\n // Lower the buffer size and try again\n var playlistType = frag.type;\n var bufferedInfo = this.getFwdBufferInfo(this.mediaBuffer, playlistType);\n var minForwardBufferLength = Math.max(frag.duration, bufferedInfo ? bufferedInfo.len : this.config.maxBufferLength);\n if (this.reduceMaxBufferLength(minForwardBufferLength)) {\n fragmentTracker.removeFragment(frag);\n }\n } else if (((_this$mediaBuffer = this.mediaBuffer) == null ? void 0 : _this$mediaBuffer.buffered.length) === 0) {\n // Stop gap for bad tracker / buffer flush behavior\n fragmentTracker.removeAllFragments();\n } else if (fragmentTracker.hasParts(frag.type)) {\n // In low latency mode, remove fragments for which only some parts were buffered\n fragmentTracker.detectPartialFragments({\n frag: frag,\n part: null,\n stats: frag.stats,\n id: frag.type\n });\n if (fragmentTracker.getState(frag) === FragmentState.PARTIAL) {\n fragmentTracker.removeFragment(frag);\n }\n }\n };\n _proto.checkLiveUpdate = function checkLiveUpdate(details) {\n if (details.updated && !details.live) {\n // Live stream ended, update fragment tracker\n var lastFragment = details.fragments[details.fragments.length - 1];\n this.fragmentTracker.detectPartialFragments({\n frag: lastFragment,\n part: null,\n stats: lastFragment.stats,\n id: lastFragment.type\n });\n }\n if (!details.fragments[0]) {\n details.deltaUpdateFailed = true;\n }\n };\n _proto.flushMainBuffer = function flushMainBuffer(startOffset, endOffset, type) {\n if (type === void 0) {\n type = null;\n }\n if (!(startOffset - endOffset)) {\n return;\n }\n // When alternate audio is playing, the audio-stream-controller is responsible for the audio buffer. Otherwise,\n // passing a null type flushes both buffers\n var flushScope = {\n startOffset: startOffset,\n endOffset: endOffset,\n type: type\n };\n this.hls.trigger(Events.BUFFER_FLUSHING, flushScope);\n };\n _proto._loadInitSegment = function _loadInitSegment(frag, level) {\n var _this3 = this;\n this._doFragLoad(frag, level).then(function (data) {\n if (!data || _this3.fragContextChanged(frag) || !_this3.levels) {\n throw new Error('init load aborted');\n }\n return data;\n }).then(function (data) {\n var hls = _this3.hls;\n var payload = data.payload;\n var decryptData = frag.decryptdata;\n\n // check to see if the payload needs to be decrypted\n if (payload && payload.byteLength > 0 && decryptData != null && decryptData.key && decryptData.iv && decryptData.method === 'AES-128') {\n var startTime = self.performance.now();\n // decrypt init segment data\n return _this3.decrypter.decrypt(new Uint8Array(payload), decryptData.key.buffer, decryptData.iv.buffer).catch(function (err) {\n hls.trigger(Events.ERROR, {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.FRAG_DECRYPT_ERROR,\n fatal: false,\n error: err,\n reason: err.message,\n frag: frag\n });\n throw err;\n }).then(function (decryptedData) {\n var endTime = self.performance.now();\n hls.trigger(Events.FRAG_DECRYPTED, {\n frag: frag,\n payload: decryptedData,\n stats: {\n tstart: startTime,\n tdecrypt: endTime\n }\n });\n data.payload = decryptedData;\n return _this3.completeInitSegmentLoad(data);\n });\n }\n return _this3.completeInitSegmentLoad(data);\n }).catch(function (reason) {\n if (_this3.state === State.STOPPED || _this3.state === State.ERROR) {\n return;\n }\n _this3.warn(reason);\n _this3.resetFragmentLoading(frag);\n });\n };\n _proto.completeInitSegmentLoad = function completeInitSegmentLoad(data) {\n var levels = this.levels;\n if (!levels) {\n throw new Error('init load aborted, missing levels');\n }\n var stats = data.frag.stats;\n this.state = State.IDLE;\n data.frag.data = new Uint8Array(data.payload);\n stats.parsing.start = stats.buffering.start = self.performance.now();\n stats.parsing.end = stats.buffering.end = self.performance.now();\n this.tick();\n };\n _proto.fragContextChanged = function fragContextChanged(frag) {\n var fragCurrent = this.fragCurrent;\n return !frag || !fragCurrent || frag.sn !== fragCurrent.sn || frag.level !== fragCurrent.level;\n };\n _proto.fragBufferedComplete = function fragBufferedComplete(frag, part) {\n var _frag$startPTS, _frag$endPTS, _this$fragCurrent, _this$fragPrevious;\n var media = this.mediaBuffer ? this.mediaBuffer : this.media;\n this.log(\"Buffered \" + frag.type + \" sn: \" + frag.sn + (part ? ' part: ' + part.index : '') + \" of \" + (this.playlistType === PlaylistLevelType.MAIN ? 'level' : 'track') + \" \" + frag.level + \" (frag:[\" + ((_frag$startPTS = frag.startPTS) != null ? _frag$startPTS : NaN).toFixed(3) + \"-\" + ((_frag$endPTS = frag.endPTS) != null ? _frag$endPTS : NaN).toFixed(3) + \"] > buffer:\" + (media ? TimeRanges.toString(BufferHelper.getBuffered(media)) : '(detached)') + \")\");\n if (frag.sn !== 'initSegment') {\n var _this$levels;\n if (frag.type !== PlaylistLevelType.SUBTITLE) {\n var el = frag.elementaryStreams;\n if (!Object.keys(el).some(function (type) {\n return !!el[type];\n })) {\n // empty segment\n this.state = State.IDLE;\n return;\n }\n }\n var level = (_this$levels = this.levels) == null ? void 0 : _this$levels[frag.level];\n if (level != null && level.fragmentError) {\n this.log(\"Resetting level fragment error count of \" + level.fragmentError + \" on frag buffered\");\n level.fragmentError = 0;\n }\n }\n this.state = State.IDLE;\n if (!media) {\n return;\n }\n if (!this.loadedmetadata && frag.type == PlaylistLevelType.MAIN && media.buffered.length && ((_this$fragCurrent = this.fragCurrent) == null ? void 0 : _this$fragCurrent.sn) === ((_this$fragPrevious = this.fragPrevious) == null ? void 0 : _this$fragPrevious.sn)) {\n this.loadedmetadata = true;\n this.seekToStartPos();\n }\n this.tick();\n };\n _proto.seekToStartPos = function seekToStartPos() {};\n _proto._handleFragmentLoadComplete = function _handleFragmentLoadComplete(fragLoadedEndData) {\n var transmuxer = this.transmuxer;\n if (!transmuxer) {\n return;\n }\n var frag = fragLoadedEndData.frag,\n part = fragLoadedEndData.part,\n partsLoaded = fragLoadedEndData.partsLoaded;\n // If we did not load parts, or loaded all parts, we have complete (not partial) fragment data\n var complete = !partsLoaded || partsLoaded.length === 0 || partsLoaded.some(function (fragLoaded) {\n return !fragLoaded;\n });\n var chunkMeta = new ChunkMetadata(frag.level, frag.sn, frag.stats.chunkCount + 1, 0, part ? part.index : -1, !complete);\n transmuxer.flush(chunkMeta);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n ;\n _proto._handleFragmentLoadProgress = function _handleFragmentLoadProgress(frag) {};\n _proto._doFragLoad = function _doFragLoad(frag, level, targetBufferTime, progressCallback) {\n var _frag$decryptdata,\n _this4 = this;\n if (targetBufferTime === void 0) {\n targetBufferTime = null;\n }\n var details = level == null ? void 0 : level.details;\n if (!this.levels || !details) {\n throw new Error(\"frag load aborted, missing level\" + (details ? '' : ' detail') + \"s\");\n }\n var keyLoadingPromise = null;\n if (frag.encrypted && !((_frag$decryptdata = frag.decryptdata) != null && _frag$decryptdata.key)) {\n this.log(\"Loading key for \" + frag.sn + \" of [\" + details.startSN + \"-\" + details.endSN + \"], \" + (this.logPrefix === '[stream-controller]' ? 'level' : 'track') + \" \" + frag.level);\n this.state = State.KEY_LOADING;\n this.fragCurrent = frag;\n keyLoadingPromise = this.keyLoader.load(frag).then(function (keyLoadedData) {\n if (!_this4.fragContextChanged(keyLoadedData.frag)) {\n _this4.hls.trigger(Events.KEY_LOADED, keyLoadedData);\n if (_this4.state === State.KEY_LOADING) {\n _this4.state = State.IDLE;\n }\n return keyLoadedData;\n }\n });\n this.hls.trigger(Events.KEY_LOADING, {\n frag: frag\n });\n if (this.fragCurrent === null) {\n keyLoadingPromise = Promise.reject(new Error(\"frag load aborted, context changed in KEY_LOADING\"));\n }\n } else if (!frag.encrypted && details.encryptedFragments.length) {\n this.keyLoader.loadClear(frag, details.encryptedFragments);\n }\n targetBufferTime = Math.max(frag.start, targetBufferTime || 0);\n if (this.config.lowLatencyMode && frag.sn !== 'initSegment') {\n var partList = details.partList;\n if (partList && progressCallback) {\n if (targetBufferTime > frag.end && details.fragmentHint) {\n frag = details.fragmentHint;\n }\n var partIndex = this.getNextPart(partList, frag, targetBufferTime);\n if (partIndex > -1) {\n var part = partList[partIndex];\n this.log(\"Loading part sn: \" + frag.sn + \" p: \" + part.index + \" cc: \" + frag.cc + \" of playlist [\" + details.startSN + \"-\" + details.endSN + \"] parts [0-\" + partIndex + \"-\" + (partList.length - 1) + \"] \" + (this.logPrefix === '[stream-controller]' ? 'level' : 'track') + \": \" + frag.level + \", target: \" + parseFloat(targetBufferTime.toFixed(3)));\n this.nextLoadPosition = part.start + part.duration;\n this.state = State.FRAG_LOADING;\n var _result;\n if (keyLoadingPromise) {\n _result = keyLoadingPromise.then(function (keyLoadedData) {\n if (!keyLoadedData || _this4.fragContextChanged(keyLoadedData.frag)) {\n return null;\n }\n return _this4.doFragPartsLoad(frag, part, level, progressCallback);\n }).catch(function (error) {\n return _this4.handleFragLoadError(error);\n });\n } else {\n _result = this.doFragPartsLoad(frag, part, level, progressCallback).catch(function (error) {\n return _this4.handleFragLoadError(error);\n });\n }\n this.hls.trigger(Events.FRAG_LOADING, {\n frag: frag,\n part: part,\n targetBufferTime: targetBufferTime\n });\n if (this.fragCurrent === null) {\n return Promise.reject(new Error(\"frag load aborted, context changed in FRAG_LOADING parts\"));\n }\n return _result;\n } else if (!frag.url || this.loadedEndOfParts(partList, targetBufferTime)) {\n // Fragment hint has no parts\n return Promise.resolve(null);\n }\n }\n }\n this.log(\"Loading fragment \" + frag.sn + \" cc: \" + frag.cc + \" \" + (details ? 'of [' + details.startSN + '-' + details.endSN + '] ' : '') + (this.logPrefix === '[stream-controller]' ? 'level' : 'track') + \": \" + frag.level + \", target: \" + parseFloat(targetBufferTime.toFixed(3)));\n // Don't update nextLoadPosition for fragments which are not buffered\n if (isFiniteNumber(frag.sn) && !this.bitrateTest) {\n this.nextLoadPosition = frag.start + frag.duration;\n }\n this.state = State.FRAG_LOADING;\n\n // Load key before streaming fragment data\n var dataOnProgress = this.config.progressive;\n var result;\n if (dataOnProgress && keyLoadingPromise) {\n result = keyLoadingPromise.then(function (keyLoadedData) {\n if (!keyLoadedData || _this4.fragContextChanged(keyLoadedData == null ? void 0 : keyLoadedData.frag)) {\n return null;\n }\n return _this4.fragmentLoader.load(frag, progressCallback);\n }).catch(function (error) {\n return _this4.handleFragLoadError(error);\n });\n } else {\n // load unencrypted fragment data with progress event,\n // or handle fragment result after key and fragment are finished loading\n result = Promise.all([this.fragmentLoader.load(frag, dataOnProgress ? progressCallback : undefined), keyLoadingPromise]).then(function (_ref) {\n var fragLoadedData = _ref[0];\n if (!dataOnProgress && fragLoadedData && progressCallback) {\n progressCallback(fragLoadedData);\n }\n return fragLoadedData;\n }).catch(function (error) {\n return _this4.handleFragLoadError(error);\n });\n }\n this.hls.trigger(Events.FRAG_LOADING, {\n frag: frag,\n targetBufferTime: targetBufferTime\n });\n if (this.fragCurrent === null) {\n return Promise.reject(new Error(\"frag load aborted, context changed in FRAG_LOADING\"));\n }\n return result;\n };\n _proto.doFragPartsLoad = function doFragPartsLoad(frag, fromPart, level, progressCallback) {\n var _this5 = this;\n return new Promise(function (resolve, reject) {\n var _level$details;\n var partsLoaded = [];\n var initialPartList = (_level$details = level.details) == null ? void 0 : _level$details.partList;\n var loadPart = function loadPart(part) {\n _this5.fragmentLoader.loadPart(frag, part, progressCallback).then(function (partLoadedData) {\n partsLoaded[part.index] = partLoadedData;\n var loadedPart = partLoadedData.part;\n _this5.hls.trigger(Events.FRAG_LOADED, partLoadedData);\n var nextPart = getPartWith(level, frag.sn, part.index + 1) || findPart(initialPartList, frag.sn, part.index + 1);\n if (nextPart) {\n loadPart(nextPart);\n } else {\n return resolve({\n frag: frag,\n part: loadedPart,\n partsLoaded: partsLoaded\n });\n }\n }).catch(reject);\n };\n loadPart(fromPart);\n });\n };\n _proto.handleFragLoadError = function handleFragLoadError(error) {\n if ('data' in error) {\n var data = error.data;\n if (error.data && data.details === ErrorDetails.INTERNAL_ABORTED) {\n this.handleFragLoadAborted(data.frag, data.part);\n } else {\n this.hls.trigger(Events.ERROR, data);\n }\n } else {\n this.hls.trigger(Events.ERROR, {\n type: ErrorTypes.OTHER_ERROR,\n details: ErrorDetails.INTERNAL_EXCEPTION,\n err: error,\n error: error,\n fatal: true\n });\n }\n return null;\n };\n _proto._handleTransmuxerFlush = function _handleTransmuxerFlush(chunkMeta) {\n var context = this.getCurrentContext(chunkMeta);\n if (!context || this.state !== State.PARSING) {\n if (!this.fragCurrent && this.state !== State.STOPPED && this.state !== State.ERROR) {\n this.state = State.IDLE;\n }\n return;\n }\n var frag = context.frag,\n part = context.part,\n level = context.level;\n var now = self.performance.now();\n frag.stats.parsing.end = now;\n if (part) {\n part.stats.parsing.end = now;\n }\n this.updateLevelTiming(frag, part, level, chunkMeta.partial);\n };\n _proto.getCurrentContext = function getCurrentContext(chunkMeta) {\n var levels = this.levels,\n fragCurrent = this.fragCurrent;\n var levelIndex = chunkMeta.level,\n sn = chunkMeta.sn,\n partIndex = chunkMeta.part;\n if (!(levels != null && levels[levelIndex])) {\n this.warn(\"Levels object was unset while buffering fragment \" + sn + \" of level \" + levelIndex + \". The current chunk will not be buffered.\");\n return null;\n }\n var level = levels[levelIndex];\n var part = partIndex > -1 ? getPartWith(level, sn, partIndex) : null;\n var frag = part ? part.fragment : getFragmentWithSN(level, sn, fragCurrent);\n if (!frag) {\n return null;\n }\n if (fragCurrent && fragCurrent !== frag) {\n frag.stats = fragCurrent.stats;\n }\n return {\n frag: frag,\n part: part,\n level: level\n };\n };\n _proto.bufferFragmentData = function bufferFragmentData(data, frag, part, chunkMeta, noBacktracking) {\n var _buffer;\n if (!data || this.state !== State.PARSING) {\n return;\n }\n var data1 = data.data1,\n data2 = data.data2;\n var buffer = data1;\n if (data1 && data2) {\n // Combine the moof + mdat so that we buffer with a single append\n buffer = appendUint8Array(data1, data2);\n }\n if (!((_buffer = buffer) != null && _buffer.length)) {\n return;\n }\n var segment = {\n type: data.type,\n frag: frag,\n part: part,\n chunkMeta: chunkMeta,\n parent: frag.type,\n data: buffer\n };\n this.hls.trigger(Events.BUFFER_APPENDING, segment);\n if (data.dropped && data.independent && !part) {\n if (noBacktracking) {\n return;\n }\n // Clear buffer so that we reload previous segments sequentially if required\n this.flushBufferGap(frag);\n }\n };\n _proto.flushBufferGap = function flushBufferGap(frag) {\n var media = this.media;\n if (!media) {\n return;\n }\n // If currentTime is not buffered, clear the back buffer so that we can backtrack as much as needed\n if (!BufferHelper.isBuffered(media, media.currentTime)) {\n this.flushMainBuffer(0, frag.start);\n return;\n }\n // Remove back-buffer without interrupting playback to allow back tracking\n var currentTime = media.currentTime;\n var bufferInfo = BufferHelper.bufferInfo(media, currentTime, 0);\n var fragDuration = frag.duration;\n var segmentFraction = Math.min(this.config.maxFragLookUpTolerance * 2, fragDuration * 0.25);\n var start = Math.max(Math.min(frag.start - segmentFraction, bufferInfo.end - segmentFraction), currentTime + segmentFraction);\n if (frag.start - start > segmentFraction) {\n this.flushMainBuffer(start, frag.start);\n }\n };\n _proto.getFwdBufferInfo = function getFwdBufferInfo(bufferable, type) {\n var pos = this.getLoadPosition();\n if (!isFiniteNumber(pos)) {\n return null;\n }\n return this.getFwdBufferInfoAtPos(bufferable, pos, type);\n };\n _proto.getFwdBufferInfoAtPos = function getFwdBufferInfoAtPos(bufferable, pos, type) {\n var maxBufferHole = this.config.maxBufferHole;\n var bufferInfo = BufferHelper.bufferInfo(bufferable, pos, maxBufferHole);\n // Workaround flaw in getting forward buffer when maxBufferHole is smaller than gap at current pos\n if (bufferInfo.len === 0 && bufferInfo.nextStart !== undefined) {\n var bufferedFragAtPos = this.fragmentTracker.getBufferedFrag(pos, type);\n if (bufferedFragAtPos && bufferInfo.nextStart < bufferedFragAtPos.end) {\n return BufferHelper.bufferInfo(bufferable, pos, Math.max(bufferInfo.nextStart, maxBufferHole));\n }\n }\n return bufferInfo;\n };\n _proto.getMaxBufferLength = function getMaxBufferLength(levelBitrate) {\n var config = this.config;\n var maxBufLen;\n if (levelBitrate) {\n maxBufLen = Math.max(8 * config.maxBufferSize / levelBitrate, config.maxBufferLength);\n } else {\n maxBufLen = config.maxBufferLength;\n }\n return Math.min(maxBufLen, config.maxMaxBufferLength);\n };\n _proto.reduceMaxBufferLength = function reduceMaxBufferLength(threshold) {\n var config = this.config;\n var minLength = threshold || config.maxBufferLength;\n if (config.maxMaxBufferLength >= minLength) {\n // reduce max buffer length as it might be too high. we do this to avoid loop flushing ...\n config.maxMaxBufferLength /= 2;\n this.warn(\"Reduce max buffer length to \" + config.maxMaxBufferLength + \"s\");\n return true;\n }\n return false;\n };\n _proto.getAppendedFrag = function getAppendedFrag(position, playlistType) {\n var fragOrPart = this.fragmentTracker.getAppendedFrag(position, PlaylistLevelType.MAIN);\n if (fragOrPart && 'fragment' in fragOrPart) {\n return fragOrPart.fragment;\n }\n return fragOrPart;\n };\n _proto.getNextFragment = function getNextFragment(pos, levelDetails) {\n var fragments = levelDetails.fragments;\n var fragLen = fragments.length;\n if (!fragLen) {\n return null;\n }\n\n // find fragment index, contiguous with end of buffer position\n var config = this.config;\n var start = fragments[0].start;\n var frag;\n if (levelDetails.live) {\n var initialLiveManifestSize = config.initialLiveManifestSize;\n if (fragLen < initialLiveManifestSize) {\n this.warn(\"Not enough fragments to start playback (have: \" + fragLen + \", need: \" + initialLiveManifestSize + \")\");\n return null;\n }\n // The real fragment start times for a live stream are only known after the PTS range for that level is known.\n // In order to discover the range, we load the best matching fragment for that level and demux it.\n // Do not load using live logic if the starting frag is requested - we want to use getFragmentAtPosition() so that\n // we get the fragment matching that start time\n if (!levelDetails.PTSKnown && !this.startFragRequested && this.startPosition === -1 || pos < start) {\n frag = this.getInitialLiveFragment(levelDetails, fragments);\n this.startPosition = this.nextLoadPosition = frag ? this.hls.liveSyncPosition || frag.start : pos;\n }\n } else if (pos <= start) {\n // VoD playlist: if loadPosition before start of playlist, load first fragment\n frag = fragments[0];\n }\n\n // If we haven't run into any special cases already, just load the fragment most closely matching the requested position\n if (!frag) {\n var end = config.lowLatencyMode ? levelDetails.partEnd : levelDetails.fragmentEnd;\n frag = this.getFragmentAtPosition(pos, end, levelDetails);\n }\n return this.mapToInitFragWhenRequired(frag);\n };\n _proto.isLoopLoading = function isLoopLoading(frag, targetBufferTime) {\n var trackerState = this.fragmentTracker.getState(frag);\n return (trackerState === FragmentState.OK || trackerState === FragmentState.PARTIAL && !!frag.gap) && this.nextLoadPosition > targetBufferTime;\n };\n _proto.getNextFragmentLoopLoading = function getNextFragmentLoopLoading(frag, levelDetails, bufferInfo, playlistType, maxBufLen) {\n var gapStart = frag.gap;\n var nextFragment = this.getNextFragment(this.nextLoadPosition, levelDetails);\n if (nextFragment === null) {\n return nextFragment;\n }\n frag = nextFragment;\n if (gapStart && frag && !frag.gap && bufferInfo.nextStart) {\n // Media buffered after GAP tags should not make the next buffer timerange exceed forward buffer length\n var nextbufferInfo = this.getFwdBufferInfoAtPos(this.mediaBuffer ? this.mediaBuffer : this.media, bufferInfo.nextStart, playlistType);\n if (nextbufferInfo !== null && bufferInfo.len + nextbufferInfo.len >= maxBufLen) {\n // Returning here might result in not finding an audio and video candiate to skip to\n this.log(\"buffer full after gaps in \\\"\" + playlistType + \"\\\" playlist starting at sn: \" + frag.sn);\n return null;\n }\n }\n return frag;\n };\n _proto.mapToInitFragWhenRequired = function mapToInitFragWhenRequired(frag) {\n // If an initSegment is present, it must be buffered first\n if (frag != null && frag.initSegment && !(frag != null && frag.initSegment.data) && !this.bitrateTest) {\n return frag.initSegment;\n }\n return frag;\n };\n _proto.getNextPart = function getNextPart(partList, frag, targetBufferTime) {\n var nextPart = -1;\n var contiguous = false;\n var independentAttrOmitted = true;\n for (var i = 0, len = partList.length; i < len; i++) {\n var part = partList[i];\n independentAttrOmitted = independentAttrOmitted && !part.independent;\n if (nextPart > -1 && targetBufferTime < part.start) {\n break;\n }\n var loaded = part.loaded;\n if (loaded) {\n nextPart = -1;\n } else if ((contiguous || part.independent || independentAttrOmitted) && part.fragment === frag) {\n nextPart = i;\n }\n contiguous = loaded;\n }\n return nextPart;\n };\n _proto.loadedEndOfParts = function loadedEndOfParts(partList, targetBufferTime) {\n var lastPart = partList[partList.length - 1];\n return lastPart && targetBufferTime > lastPart.start && lastPart.loaded;\n }\n\n /*\n This method is used find the best matching first fragment for a live playlist. This fragment is used to calculate the\n \"sliding\" of the playlist, which is its offset from the start of playback. After sliding we can compute the real\n start and end times for each fragment in the playlist (after which this method will not need to be called).\n */;\n _proto.getInitialLiveFragment = function getInitialLiveFragment(levelDetails, fragments) {\n var fragPrevious = this.fragPrevious;\n var frag = null;\n if (fragPrevious) {\n if (levelDetails.hasProgramDateTime) {\n // Prefer using PDT, because it can be accurate enough to choose the correct fragment without knowing the level sliding\n this.log(\"Live playlist, switching playlist, load frag with same PDT: \" + fragPrevious.programDateTime);\n frag = findFragmentByPDT(fragments, fragPrevious.endProgramDateTime, this.config.maxFragLookUpTolerance);\n }\n if (!frag) {\n // SN does not need to be accurate between renditions, but depending on the packaging it may be so.\n var targetSN = fragPrevious.sn + 1;\n if (targetSN >= levelDetails.startSN && targetSN <= levelDetails.endSN) {\n var fragNext = fragments[targetSN - levelDetails.startSN];\n // Ensure that we're staying within the continuity range, since PTS resets upon a new range\n if (fragPrevious.cc === fragNext.cc) {\n frag = fragNext;\n this.log(\"Live playlist, switching playlist, load frag with next SN: \" + frag.sn);\n }\n }\n // It's important to stay within the continuity range if available; otherwise the fragments in the playlist\n // will have the wrong start times\n if (!frag) {\n frag = findFragWithCC(fragments, fragPrevious.cc);\n if (frag) {\n this.log(\"Live playlist, switching playlist, load frag with same CC: \" + frag.sn);\n }\n }\n }\n } else {\n // Find a new start fragment when fragPrevious is null\n var liveStart = this.hls.liveSyncPosition;\n if (liveStart !== null) {\n frag = this.getFragmentAtPosition(liveStart, this.bitrateTest ? levelDetails.fragmentEnd : levelDetails.edge, levelDetails);\n }\n }\n return frag;\n }\n\n /*\n This method finds the best matching fragment given the provided position.\n */;\n _proto.getFragmentAtPosition = function getFragmentAtPosition(bufferEnd, end, levelDetails) {\n var config = this.config;\n var fragPrevious = this.fragPrevious;\n var fragments = levelDetails.fragments,\n endSN = levelDetails.endSN;\n var fragmentHint = levelDetails.fragmentHint;\n var tolerance = config.maxFragLookUpTolerance;\n var partList = levelDetails.partList;\n var loadingParts = !!(config.lowLatencyMode && partList != null && partList.length && fragmentHint);\n if (loadingParts && fragmentHint && !this.bitrateTest) {\n // Include incomplete fragment with parts at end\n fragments = fragments.concat(fragmentHint);\n endSN = fragmentHint.sn;\n }\n var frag;\n if (bufferEnd < end) {\n var lookupTolerance = bufferEnd > end - tolerance ? 0 : tolerance;\n // Remove the tolerance if it would put the bufferEnd past the actual end of stream\n // Uses buffer and sequence number to calculate switch segment (required if using EXT-X-DISCONTINUITY-SEQUENCE)\n frag = findFragmentByPTS(fragPrevious, fragments, bufferEnd, lookupTolerance);\n } else {\n // reach end of playlist\n frag = fragments[fragments.length - 1];\n }\n if (frag) {\n var curSNIdx = frag.sn - levelDetails.startSN;\n // Move fragPrevious forward to support forcing the next fragment to load\n // when the buffer catches up to a previously buffered range.\n var fragState = this.fragmentTracker.getState(frag);\n if (fragState === FragmentState.OK || fragState === FragmentState.PARTIAL && frag.gap) {\n fragPrevious = frag;\n }\n if (fragPrevious && frag.sn === fragPrevious.sn && (!loadingParts || partList[0].fragment.sn > frag.sn)) {\n // Force the next fragment to load if the previous one was already selected. This can occasionally happen with\n // non-uniform fragment durations\n var sameLevel = fragPrevious && frag.level === fragPrevious.level;\n if (sameLevel) {\n var nextFrag = fragments[curSNIdx + 1];\n if (frag.sn < endSN && this.fragmentTracker.getState(nextFrag) !== FragmentState.OK) {\n frag = nextFrag;\n } else {\n frag = null;\n }\n }\n }\n }\n return frag;\n };\n _proto.synchronizeToLiveEdge = function synchronizeToLiveEdge(levelDetails) {\n var config = this.config,\n media = this.media;\n if (!media) {\n return;\n }\n var liveSyncPosition = this.hls.liveSyncPosition;\n var currentTime = media.currentTime;\n var start = levelDetails.fragments[0].start;\n var end = levelDetails.edge;\n var withinSlidingWindow = currentTime >= start - config.maxFragLookUpTolerance && currentTime <= end;\n // Continue if we can seek forward to sync position or if current time is outside of sliding window\n if (liveSyncPosition !== null && media.duration > liveSyncPosition && (currentTime < liveSyncPosition || !withinSlidingWindow)) {\n // Continue if buffer is starving or if current time is behind max latency\n var maxLatency = config.liveMaxLatencyDuration !== undefined ? config.liveMaxLatencyDuration : config.liveMaxLatencyDurationCount * levelDetails.targetduration;\n if (!withinSlidingWindow && media.readyState < 4 || currentTime < end - maxLatency) {\n if (!this.loadedmetadata) {\n this.nextLoadPosition = liveSyncPosition;\n }\n // Only seek if ready and there is not a significant forward buffer available for playback\n if (media.readyState) {\n this.warn(\"Playback: \" + currentTime.toFixed(3) + \" is located too far from the end of live sliding playlist: \" + end + \", reset currentTime to : \" + liveSyncPosition.toFixed(3));\n media.currentTime = liveSyncPosition;\n }\n }\n }\n };\n _proto.alignPlaylists = function alignPlaylists(details, previousDetails, switchDetails) {\n // FIXME: If not for `shouldAlignOnDiscontinuities` requiring fragPrevious.cc,\n // this could all go in level-helper mergeDetails()\n var length = details.fragments.length;\n if (!length) {\n this.warn(\"No fragments in live playlist\");\n return 0;\n }\n var slidingStart = details.fragments[0].start;\n var firstLevelLoad = !previousDetails;\n var aligned = details.alignedSliding && isFiniteNumber(slidingStart);\n if (firstLevelLoad || !aligned && !slidingStart) {\n var fragPrevious = this.fragPrevious;\n alignStream(fragPrevious, switchDetails, details);\n var alignedSlidingStart = details.fragments[0].start;\n this.log(\"Live playlist sliding: \" + alignedSlidingStart.toFixed(2) + \" start-sn: \" + (previousDetails ? previousDetails.startSN : 'na') + \"->\" + details.startSN + \" prev-sn: \" + (fragPrevious ? fragPrevious.sn : 'na') + \" fragments: \" + length);\n return alignedSlidingStart;\n }\n return slidingStart;\n };\n _proto.waitForCdnTuneIn = function waitForCdnTuneIn(details) {\n // Wait for Low-Latency CDN Tune-in to get an updated playlist\n var advancePartLimit = 3;\n return details.live && details.canBlockReload && details.partTarget && details.tuneInGoal > Math.max(details.partHoldBack, details.partTarget * advancePartLimit);\n };\n _proto.setStartPosition = function setStartPosition(details, sliding) {\n // compute start position if set to -1. use it straight away if value is defined\n var startPosition = this.startPosition;\n if (startPosition < sliding) {\n startPosition = -1;\n }\n if (startPosition === -1 || this.lastCurrentTime === -1) {\n // Use Playlist EXT-X-START:TIME-OFFSET when set\n // Prioritize Multivariant Playlist offset so that main, audio, and subtitle stream-controller start times match\n var offsetInMultivariantPlaylist = this.startTimeOffset !== null;\n var startTimeOffset = offsetInMultivariantPlaylist ? this.startTimeOffset : details.startTimeOffset;\n if (startTimeOffset !== null && isFiniteNumber(startTimeOffset)) {\n startPosition = sliding + startTimeOffset;\n if (startTimeOffset < 0) {\n startPosition += details.totalduration;\n }\n startPosition = Math.min(Math.max(sliding, startPosition), sliding + details.totalduration);\n this.log(\"Start time offset \" + startTimeOffset + \" found in \" + (offsetInMultivariantPlaylist ? 'multivariant' : 'media') + \" playlist, adjust startPosition to \" + startPosition);\n this.startPosition = startPosition;\n } else if (details.live) {\n // Leave this.startPosition at -1, so that we can use `getInitialLiveFragment` logic when startPosition has\n // not been specified via the config or an as an argument to startLoad (#3736).\n startPosition = this.hls.liveSyncPosition || sliding;\n } else {\n this.startPosition = startPosition = 0;\n }\n this.lastCurrentTime = startPosition;\n }\n this.nextLoadPosition = startPosition;\n };\n _proto.getLoadPosition = function getLoadPosition() {\n var media = this.media;\n // if we have not yet loaded any fragment, start loading from start position\n var pos = 0;\n if (this.loadedmetadata && media) {\n pos = media.currentTime;\n } else if (this.nextLoadPosition) {\n pos = this.nextLoadPosition;\n }\n return pos;\n };\n _proto.handleFragLoadAborted = function handleFragLoadAborted(frag, part) {\n if (this.transmuxer && frag.sn !== 'initSegment' && frag.stats.aborted) {\n this.warn(\"Fragment \" + frag.sn + (part ? ' part ' + part.index : '') + \" of level \" + frag.level + \" was aborted\");\n this.resetFragmentLoading(frag);\n }\n };\n _proto.resetFragmentLoading = function resetFragmentLoading(frag) {\n if (!this.fragCurrent || !this.fragContextChanged(frag) && this.state !== State.FRAG_LOADING_WAITING_RETRY) {\n this.state = State.IDLE;\n }\n };\n _proto.onFragmentOrKeyLoadError = function onFragmentOrKeyLoadError(filterType, data) {\n if (data.chunkMeta && !data.frag) {\n var context = this.getCurrentContext(data.chunkMeta);\n if (context) {\n data.frag = context.frag;\n }\n }\n var frag = data.frag;\n // Handle frag error related to caller's filterType\n if (!frag || frag.type !== filterType || !this.levels) {\n return;\n }\n if (this.fragContextChanged(frag)) {\n var _this$fragCurrent2;\n this.warn(\"Frag load error must match current frag to retry \" + frag.url + \" > \" + ((_this$fragCurrent2 = this.fragCurrent) == null ? void 0 : _this$fragCurrent2.url));\n return;\n }\n var gapTagEncountered = data.details === ErrorDetails.FRAG_GAP;\n if (gapTagEncountered) {\n this.fragmentTracker.fragBuffered(frag, true);\n }\n // keep retrying until the limit will be reached\n var errorAction = data.errorAction;\n var _ref2 = errorAction || {},\n action = _ref2.action,\n _ref2$retryCount = _ref2.retryCount,\n retryCount = _ref2$retryCount === void 0 ? 0 : _ref2$retryCount,\n retryConfig = _ref2.retryConfig;\n if (errorAction && action === NetworkErrorAction.RetryRequest && retryConfig) {\n this.resetStartWhenNotLoaded(this.levelLastLoaded);\n var delay = getRetryDelay(retryConfig, retryCount);\n this.warn(\"Fragment \" + frag.sn + \" of \" + filterType + \" \" + frag.level + \" errored with \" + data.details + \", retrying loading \" + (retryCount + 1) + \"/\" + retryConfig.maxNumRetry + \" in \" + delay + \"ms\");\n errorAction.resolved = true;\n this.retryDate = self.performance.now() + delay;\n this.state = State.FRAG_LOADING_WAITING_RETRY;\n } else if (retryConfig && errorAction) {\n this.resetFragmentErrors(filterType);\n if (retryCount < retryConfig.maxNumRetry) {\n // Network retry is skipped when level switch is preferred\n if (!gapTagEncountered && action !== NetworkErrorAction.RemoveAlternatePermanently) {\n errorAction.resolved = true;\n }\n } else {\n logger.warn(data.details + \" reached or exceeded max retry (\" + retryCount + \")\");\n return;\n }\n } else if ((errorAction == null ? void 0 : errorAction.action) === NetworkErrorAction.SendAlternateToPenaltyBox) {\n this.state = State.WAITING_LEVEL;\n } else {\n this.state = State.ERROR;\n }\n // Perform next async tick sooner to speed up error action resolution\n this.tickImmediate();\n };\n _proto.reduceLengthAndFlushBuffer = function reduceLengthAndFlushBuffer(data) {\n // if in appending state\n if (this.state === State.PARSING || this.state === State.PARSED) {\n var playlistType = data.parent;\n var bufferedInfo = this.getFwdBufferInfo(this.mediaBuffer, playlistType);\n // 0.5 : tolerance needed as some browsers stalls playback before reaching buffered end\n // reduce max buf len if current position is buffered\n var buffered = bufferedInfo && bufferedInfo.len > 0.5;\n if (buffered) {\n this.reduceMaxBufferLength(bufferedInfo.len);\n }\n var flushBuffer = !buffered;\n if (flushBuffer) {\n // current position is not buffered, but browser is still complaining about buffer full error\n // this happens on IE/Edge, refer to https://github.com/video-dev/hls.js/pull/708\n // in that case flush the whole audio buffer to recover\n this.warn(\"Buffer full error while media.currentTime is not buffered, flush \" + playlistType + \" buffer\");\n }\n if (data.frag) {\n this.fragmentTracker.removeFragment(data.frag);\n this.nextLoadPosition = data.frag.start;\n }\n this.resetLoadingState();\n return flushBuffer;\n }\n return false;\n };\n _proto.resetFragmentErrors = function resetFragmentErrors(filterType) {\n if (filterType === PlaylistLevelType.AUDIO) {\n // Reset current fragment since audio track audio is essential and may not have a fail-over track\n this.fragCurrent = null;\n }\n // Fragment errors that result in a level switch or redundant fail-over\n // should reset the stream controller state to idle\n if (!this.loadedmetadata) {\n this.startFragRequested = false;\n }\n if (this.state !== State.STOPPED) {\n this.state = State.IDLE;\n }\n };\n _proto.afterBufferFlushed = function afterBufferFlushed(media, bufferType, playlistType) {\n if (!media) {\n return;\n }\n // After successful buffer flushing, filter flushed fragments from bufferedFrags use mediaBuffered instead of media\n // (so that we will check against video.buffered ranges in case of alt audio track)\n var bufferedTimeRanges = BufferHelper.getBuffered(media);\n this.fragmentTracker.detectEvictedFragments(bufferType, bufferedTimeRanges, playlistType);\n if (this.state === State.ENDED) {\n this.resetLoadingState();\n }\n };\n _proto.resetLoadingState = function resetLoadingState() {\n this.log('Reset loading state');\n this.fragCurrent = null;\n this.fragPrevious = null;\n this.state = State.IDLE;\n };\n _proto.resetStartWhenNotLoaded = function resetStartWhenNotLoaded(level) {\n // if loadedmetadata is not set, it means that first frag request failed\n // in that case, reset startFragRequested flag\n if (!this.loadedmetadata) {\n this.startFragRequested = false;\n var details = level ? level.details : null;\n if (details != null && details.live) {\n // Update the start position and return to IDLE to recover live start\n this.startPosition = -1;\n this.setStartPosition(details, 0);\n this.resetLoadingState();\n } else {\n this.nextLoadPosition = this.startPosition;\n }\n }\n };\n _proto.resetWhenMissingContext = function resetWhenMissingContext(chunkMeta) {\n this.warn(\"The loading context changed while buffering fragment \" + chunkMeta.sn + \" of level \" + chunkMeta.level + \". This chunk will not be buffered.\");\n this.removeUnbufferedFrags();\n this.resetStartWhenNotLoaded(this.levelLastLoaded);\n this.resetLoadingState();\n };\n _proto.removeUnbufferedFrags = function removeUnbufferedFrags(start) {\n if (start === void 0) {\n start = 0;\n }\n this.fragmentTracker.removeFragmentsInRange(start, Infinity, this.playlistType, false, true);\n };\n _proto.updateLevelTiming = function updateLevelTiming(frag, part, level, partial) {\n var _this6 = this,\n _this$transmuxer;\n var details = level.details;\n if (!details) {\n this.warn('level.details undefined');\n return;\n }\n var parsed = Object.keys(frag.elementaryStreams).reduce(function (result, type) {\n var info = frag.elementaryStreams[type];\n if (info) {\n var parsedDuration = info.endPTS - info.startPTS;\n if (parsedDuration <= 0) {\n // Destroy the transmuxer after it's next time offset failed to advance because duration was <= 0.\n // The new transmuxer will be configured with a time offset matching the next fragment start,\n // preventing the timeline from shifting.\n _this6.warn(\"Could not parse fragment \" + frag.sn + \" \" + type + \" duration reliably (\" + parsedDuration + \")\");\n return result || false;\n }\n var drift = partial ? 0 : updateFragPTSDTS(details, frag, info.startPTS, info.endPTS, info.startDTS, info.endDTS);\n _this6.hls.trigger(Events.LEVEL_PTS_UPDATED, {\n details: details,\n level: level,\n drift: drift,\n type: type,\n frag: frag,\n start: info.startPTS,\n end: info.endPTS\n });\n return true;\n }\n return result;\n }, false);\n if (!parsed && ((_this$transmuxer = this.transmuxer) == null ? void 0 : _this$transmuxer.error) === null) {\n var error = new Error(\"Found no media in fragment \" + frag.sn + \" of level \" + frag.level + \" resetting transmuxer to fallback to playlist timing\");\n if (level.fragmentError === 0) {\n // Mark and track the odd empty segment as a gap to avoid reloading\n level.fragmentError++;\n frag.gap = true;\n this.fragmentTracker.removeFragment(frag);\n this.fragmentTracker.fragBuffered(frag, true);\n }\n this.warn(error.message);\n this.hls.trigger(Events.ERROR, {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.FRAG_PARSING_ERROR,\n fatal: false,\n error: error,\n frag: frag,\n reason: \"Found no media in msn \" + frag.sn + \" of level \\\"\" + level.url + \"\\\"\"\n });\n if (!this.hls) {\n return;\n }\n this.resetTransmuxer();\n // For this error fallthrough. Marking parsed will allow advancing to next fragment.\n }\n this.state = State.PARSED;\n this.hls.trigger(Events.FRAG_PARSED, {\n frag: frag,\n part: part\n });\n };\n _proto.resetTransmuxer = function resetTransmuxer() {\n if (this.transmuxer) {\n this.transmuxer.destroy();\n this.transmuxer = null;\n }\n };\n _proto.recoverWorkerError = function recoverWorkerError(data) {\n if (data.event === 'demuxerWorker') {\n this.fragmentTracker.removeAllFragments();\n this.resetTransmuxer();\n this.resetStartWhenNotLoaded(this.levelLastLoaded);\n this.resetLoadingState();\n }\n };\n _createClass(BaseStreamController, [{\n key: \"state\",\n get: function get() {\n return this._state;\n },\n set: function set(nextState) {\n var previousState = this._state;\n if (previousState !== nextState) {\n this._state = nextState;\n this.log(previousState + \"->\" + nextState);\n }\n }\n }]);\n return BaseStreamController;\n }(TaskLoop);\n\n var ChunkCache = /*#__PURE__*/function () {\n function ChunkCache() {\n this.chunks = [];\n this.dataLength = 0;\n }\n var _proto = ChunkCache.prototype;\n _proto.push = function push(chunk) {\n this.chunks.push(chunk);\n this.dataLength += chunk.length;\n };\n _proto.flush = function flush() {\n var chunks = this.chunks,\n dataLength = this.dataLength;\n var result;\n if (!chunks.length) {\n return new Uint8Array(0);\n } else if (chunks.length === 1) {\n result = chunks[0];\n } else {\n result = concatUint8Arrays(chunks, dataLength);\n }\n this.reset();\n return result;\n };\n _proto.reset = function reset() {\n this.chunks.length = 0;\n this.dataLength = 0;\n };\n return ChunkCache;\n }();\n function concatUint8Arrays(chunks, dataLength) {\n var result = new Uint8Array(dataLength);\n var offset = 0;\n for (var i = 0; i < chunks.length; i++) {\n var chunk = chunks[i];\n result.set(chunk, offset);\n offset += chunk.length;\n }\n return result;\n }\n\n function dummyTrack(type, inputTimeScale) {\n if (type === void 0) {\n type = '';\n }\n if (inputTimeScale === void 0) {\n inputTimeScale = 90000;\n }\n return {\n type: type,\n id: -1,\n pid: -1,\n inputTimeScale: inputTimeScale,\n sequenceNumber: -1,\n samples: [],\n dropped: 0\n };\n }\n\n var BaseAudioDemuxer = /*#__PURE__*/function () {\n function BaseAudioDemuxer() {\n this._audioTrack = void 0;\n this._id3Track = void 0;\n this.frameIndex = 0;\n this.cachedData = null;\n this.basePTS = null;\n this.initPTS = null;\n this.lastPTS = null;\n }\n var _proto = BaseAudioDemuxer.prototype;\n _proto.resetInitSegment = function resetInitSegment(initSegment, audioCodec, videoCodec, trackDuration) {\n this._id3Track = {\n type: 'id3',\n id: 3,\n pid: -1,\n inputTimeScale: 90000,\n sequenceNumber: 0,\n samples: [],\n dropped: 0\n };\n };\n _proto.resetTimeStamp = function resetTimeStamp(deaultTimestamp) {\n this.initPTS = deaultTimestamp;\n this.resetContiguity();\n };\n _proto.resetContiguity = function resetContiguity() {\n this.basePTS = null;\n this.lastPTS = null;\n this.frameIndex = 0;\n };\n _proto.canParse = function canParse(data, offset) {\n return false;\n };\n _proto.appendFrame = function appendFrame(track, data, offset) {}\n\n // feed incoming data to the front of the parsing pipeline\n ;\n _proto.demux = function demux(data, timeOffset) {\n if (this.cachedData) {\n data = appendUint8Array(this.cachedData, data);\n this.cachedData = null;\n }\n var id3Data = getID3Data(data, 0);\n var offset = id3Data ? id3Data.length : 0;\n var lastDataIndex;\n var track = this._audioTrack;\n var id3Track = this._id3Track;\n var timestamp = id3Data ? getTimeStamp(id3Data) : undefined;\n var length = data.length;\n if (this.basePTS === null || this.frameIndex === 0 && isFiniteNumber(timestamp)) {\n this.basePTS = initPTSFn(timestamp, timeOffset, this.initPTS);\n this.lastPTS = this.basePTS;\n }\n if (this.lastPTS === null) {\n this.lastPTS = this.basePTS;\n }\n\n // more expressive than alternative: id3Data?.length\n if (id3Data && id3Data.length > 0) {\n id3Track.samples.push({\n pts: this.lastPTS,\n dts: this.lastPTS,\n data: id3Data,\n type: MetadataSchema.audioId3,\n duration: Number.POSITIVE_INFINITY\n });\n }\n while (offset < length) {\n if (this.canParse(data, offset)) {\n var frame = this.appendFrame(track, data, offset);\n if (frame) {\n this.frameIndex++;\n this.lastPTS = frame.sample.pts;\n offset += frame.length;\n lastDataIndex = offset;\n } else {\n offset = length;\n }\n } else if (canParse$2(data, offset)) {\n // after a ID3.canParse, a call to ID3.getID3Data *should* always returns some data\n id3Data = getID3Data(data, offset);\n id3Track.samples.push({\n pts: this.lastPTS,\n dts: this.lastPTS,\n data: id3Data,\n type: MetadataSchema.audioId3,\n duration: Number.POSITIVE_INFINITY\n });\n offset += id3Data.length;\n lastDataIndex = offset;\n } else {\n offset++;\n }\n if (offset === length && lastDataIndex !== length) {\n var partialData = sliceUint8(data, lastDataIndex);\n if (this.cachedData) {\n this.cachedData = appendUint8Array(this.cachedData, partialData);\n } else {\n this.cachedData = partialData;\n }\n }\n }\n return {\n audioTrack: track,\n videoTrack: dummyTrack(),\n id3Track: id3Track,\n textTrack: dummyTrack()\n };\n };\n _proto.demuxSampleAes = function demuxSampleAes(data, keyData, timeOffset) {\n return Promise.reject(new Error(\"[\" + this + \"] This demuxer does not support Sample-AES decryption\"));\n };\n _proto.flush = function flush(timeOffset) {\n // Parse cache in case of remaining frames.\n var cachedData = this.cachedData;\n if (cachedData) {\n this.cachedData = null;\n this.demux(cachedData, 0);\n }\n return {\n audioTrack: this._audioTrack,\n videoTrack: dummyTrack(),\n id3Track: this._id3Track,\n textTrack: dummyTrack()\n };\n };\n _proto.destroy = function destroy() {};\n return BaseAudioDemuxer;\n }();\n /**\n * Initialize PTS\n * <p>\n * use timestamp unless it is undefined, NaN or Infinity\n * </p>\n */\n var initPTSFn = function initPTSFn(timestamp, timeOffset, initPTS) {\n if (isFiniteNumber(timestamp)) {\n return timestamp * 90;\n }\n var init90kHz = initPTS ? initPTS.baseTime * 90000 / initPTS.timescale : 0;\n return timeOffset * 90000 + init90kHz;\n };\n\n /**\n * ADTS parser helper\n * @link https://wiki.multimedia.cx/index.php?title=ADTS\n */\n function getAudioConfig(observer, data, offset, audioCodec) {\n var adtsObjectType;\n var adtsExtensionSamplingIndex;\n var adtsChannelConfig;\n var config;\n var userAgent = navigator.userAgent.toLowerCase();\n var manifestCodec = audioCodec;\n var adtsSamplingRates = [96000, 88200, 64000, 48000, 44100, 32000, 24000, 22050, 16000, 12000, 11025, 8000, 7350];\n // byte 2\n adtsObjectType = ((data[offset + 2] & 0xc0) >>> 6) + 1;\n var adtsSamplingIndex = (data[offset + 2] & 0x3c) >>> 2;\n if (adtsSamplingIndex > adtsSamplingRates.length - 1) {\n var error = new Error(\"invalid ADTS sampling index:\" + adtsSamplingIndex);\n observer.emit(Events.ERROR, Events.ERROR, {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.FRAG_PARSING_ERROR,\n fatal: true,\n error: error,\n reason: error.message\n });\n return;\n }\n adtsChannelConfig = (data[offset + 2] & 0x01) << 2;\n // byte 3\n adtsChannelConfig |= (data[offset + 3] & 0xc0) >>> 6;\n logger.log(\"manifest codec:\" + audioCodec + \", ADTS type:\" + adtsObjectType + \", samplingIndex:\" + adtsSamplingIndex);\n // firefox: freq less than 24kHz = AAC SBR (HE-AAC)\n if (/firefox/i.test(userAgent)) {\n if (adtsSamplingIndex >= 6) {\n adtsObjectType = 5;\n config = new Array(4);\n // HE-AAC uses SBR (Spectral Band Replication) , high frequencies are constructed from low frequencies\n // there is a factor 2 between frame sample rate and output sample rate\n // multiply frequency by 2 (see table below, equivalent to substract 3)\n adtsExtensionSamplingIndex = adtsSamplingIndex - 3;\n } else {\n adtsObjectType = 2;\n config = new Array(2);\n adtsExtensionSamplingIndex = adtsSamplingIndex;\n }\n // Android : always use AAC\n } else if (userAgent.indexOf('android') !== -1) {\n adtsObjectType = 2;\n config = new Array(2);\n adtsExtensionSamplingIndex = adtsSamplingIndex;\n } else {\n /* for other browsers (Chrome/Vivaldi/Opera ...)\n always force audio type to be HE-AAC SBR, as some browsers do not support audio codec switch properly (like Chrome ...)\n */\n adtsObjectType = 5;\n config = new Array(4);\n // if (manifest codec is HE-AAC or HE-AACv2) OR (manifest codec not specified AND frequency less than 24kHz)\n if (audioCodec && (audioCodec.indexOf('mp4a.40.29') !== -1 || audioCodec.indexOf('mp4a.40.5') !== -1) || !audioCodec && adtsSamplingIndex >= 6) {\n // HE-AAC uses SBR (Spectral Band Replication) , high frequencies are constructed from low frequencies\n // there is a factor 2 between frame sample rate and output sample rate\n // multiply frequency by 2 (see table below, equivalent to substract 3)\n adtsExtensionSamplingIndex = adtsSamplingIndex - 3;\n } else {\n // if (manifest codec is AAC) AND (frequency less than 24kHz AND nb channel is 1) OR (manifest codec not specified and mono audio)\n // Chrome fails to play back with low frequency AAC LC mono when initialized with HE-AAC. This is not a problem with stereo.\n if (audioCodec && audioCodec.indexOf('mp4a.40.2') !== -1 && (adtsSamplingIndex >= 6 && adtsChannelConfig === 1 || /vivaldi/i.test(userAgent)) || !audioCodec && adtsChannelConfig === 1) {\n adtsObjectType = 2;\n config = new Array(2);\n }\n adtsExtensionSamplingIndex = adtsSamplingIndex;\n }\n }\n /* refer to http://wiki.multimedia.cx/index.php?title=MPEG-4_Audio#Audio_Specific_Config\n ISO 14496-3 (AAC).pdf - Table 1.13 — Syntax of AudioSpecificConfig()\n Audio Profile / Audio Object Type\n 0: Null\n 1: AAC Main\n 2: AAC LC (Low Complexity)\n 3: AAC SSR (Scalable Sample Rate)\n 4: AAC LTP (Long Term Prediction)\n 5: SBR (Spectral Band Replication)\n 6: AAC Scalable\n sampling freq\n 0: 96000 Hz\n 1: 88200 Hz\n 2: 64000 Hz\n 3: 48000 Hz\n 4: 44100 Hz\n 5: 32000 Hz\n 6: 24000 Hz\n 7: 22050 Hz\n 8: 16000 Hz\n 9: 12000 Hz\n 10: 11025 Hz\n 11: 8000 Hz\n 12: 7350 Hz\n 13: Reserved\n 14: Reserved\n 15: frequency is written explictly\n Channel Configurations\n These are the channel configurations:\n 0: Defined in AOT Specifc Config\n 1: 1 channel: front-center\n 2: 2 channels: front-left, front-right\n */\n // audioObjectType = profile => profile, the MPEG-4 Audio Object Type minus 1\n config[0] = adtsObjectType << 3;\n // samplingFrequencyIndex\n config[0] |= (adtsSamplingIndex & 0x0e) >> 1;\n config[1] |= (adtsSamplingIndex & 0x01) << 7;\n // channelConfiguration\n config[1] |= adtsChannelConfig << 3;\n if (adtsObjectType === 5) {\n // adtsExtensionSamplingIndex\n config[1] |= (adtsExtensionSamplingIndex & 0x0e) >> 1;\n config[2] = (adtsExtensionSamplingIndex & 0x01) << 7;\n // adtsObjectType (force to 2, chrome is checking that object type is less than 5 ???\n // https://chromium.googlesource.com/chromium/src.git/+/master/media/formats/mp4/aac.cc\n config[2] |= 2 << 2;\n config[3] = 0;\n }\n return {\n config: config,\n samplerate: adtsSamplingRates[adtsSamplingIndex],\n channelCount: adtsChannelConfig,\n codec: 'mp4a.40.' + adtsObjectType,\n manifestCodec: manifestCodec\n };\n }\n function isHeaderPattern$1(data, offset) {\n return data[offset] === 0xff && (data[offset + 1] & 0xf6) === 0xf0;\n }\n function getHeaderLength(data, offset) {\n return data[offset + 1] & 0x01 ? 7 : 9;\n }\n function getFullFrameLength(data, offset) {\n return (data[offset + 3] & 0x03) << 11 | data[offset + 4] << 3 | (data[offset + 5] & 0xe0) >>> 5;\n }\n function canGetFrameLength(data, offset) {\n return offset + 5 < data.length;\n }\n function isHeader$1(data, offset) {\n // Look for ADTS header | 1111 1111 | 1111 X00X | where X can be either 0 or 1\n // Layer bits (position 14 and 15) in header should be always 0 for ADTS\n // More info https://wiki.multimedia.cx/index.php?title=ADTS\n return offset + 1 < data.length && isHeaderPattern$1(data, offset);\n }\n function canParse$1(data, offset) {\n return canGetFrameLength(data, offset) && isHeaderPattern$1(data, offset) && getFullFrameLength(data, offset) <= data.length - offset;\n }\n function probe$1(data, offset) {\n // same as isHeader but we also check that ADTS frame follows last ADTS frame\n // or end of data is reached\n if (isHeader$1(data, offset)) {\n // ADTS header Length\n var headerLength = getHeaderLength(data, offset);\n if (offset + headerLength >= data.length) {\n return false;\n }\n // ADTS frame Length\n var frameLength = getFullFrameLength(data, offset);\n if (frameLength <= headerLength) {\n return false;\n }\n var newOffset = offset + frameLength;\n return newOffset === data.length || isHeader$1(data, newOffset);\n }\n return false;\n }\n function initTrackConfig(track, observer, data, offset, audioCodec) {\n if (!track.samplerate) {\n var config = getAudioConfig(observer, data, offset, audioCodec);\n if (!config) {\n return;\n }\n track.config = config.config;\n track.samplerate = config.samplerate;\n track.channelCount = config.channelCount;\n track.codec = config.codec;\n track.manifestCodec = config.manifestCodec;\n logger.log(\"parsed codec:\" + track.codec + \", rate:\" + config.samplerate + \", channels:\" + config.channelCount);\n }\n }\n function getFrameDuration(samplerate) {\n return 1024 * 90000 / samplerate;\n }\n function parseFrameHeader(data, offset) {\n // The protection skip bit tells us if we have 2 bytes of CRC data at the end of the ADTS header\n var headerLength = getHeaderLength(data, offset);\n if (offset + headerLength <= data.length) {\n // retrieve frame size\n var frameLength = getFullFrameLength(data, offset) - headerLength;\n if (frameLength > 0) {\n // logger.log(`AAC frame, offset/length/total/pts:${offset+headerLength}/${frameLength}/${data.byteLength}`);\n return {\n headerLength: headerLength,\n frameLength: frameLength\n };\n }\n }\n }\n function appendFrame$1(track, data, offset, pts, frameIndex) {\n var frameDuration = getFrameDuration(track.samplerate);\n var stamp = pts + frameIndex * frameDuration;\n var header = parseFrameHeader(data, offset);\n var unit;\n if (header) {\n var frameLength = header.frameLength,\n headerLength = header.headerLength;\n var _length = headerLength + frameLength;\n var missing = Math.max(0, offset + _length - data.length);\n // logger.log(`AAC frame ${frameIndex}, pts:${stamp} length@offset/total: ${frameLength}@${offset+headerLength}/${data.byteLength} missing: ${missing}`);\n if (missing) {\n unit = new Uint8Array(_length - headerLength);\n unit.set(data.subarray(offset + headerLength, data.length), 0);\n } else {\n unit = data.subarray(offset + headerLength, offset + _length);\n }\n var _sample = {\n unit: unit,\n pts: stamp\n };\n if (!missing) {\n track.samples.push(_sample);\n }\n return {\n sample: _sample,\n length: _length,\n missing: missing\n };\n }\n // overflow incomplete header\n var length = data.length - offset;\n unit = new Uint8Array(length);\n unit.set(data.subarray(offset, data.length), 0);\n var sample = {\n unit: unit,\n pts: stamp\n };\n return {\n sample: sample,\n length: length,\n missing: -1\n };\n }\n\n /**\n * MPEG parser helper\n */\n\n var chromeVersion$1 = null;\n var BitratesMap = [32, 64, 96, 128, 160, 192, 224, 256, 288, 320, 352, 384, 416, 448, 32, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320, 384, 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320, 32, 48, 56, 64, 80, 96, 112, 128, 144, 160, 176, 192, 224, 256, 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160];\n var SamplingRateMap = [44100, 48000, 32000, 22050, 24000, 16000, 11025, 12000, 8000];\n var SamplesCoefficients = [\n // MPEG 2.5\n [0,\n // Reserved\n 72,\n // Layer3\n 144,\n // Layer2\n 12 // Layer1\n ],\n // Reserved\n [0,\n // Reserved\n 0,\n // Layer3\n 0,\n // Layer2\n 0 // Layer1\n ],\n // MPEG 2\n [0,\n // Reserved\n 72,\n // Layer3\n 144,\n // Layer2\n 12 // Layer1\n ],\n // MPEG 1\n [0,\n // Reserved\n 144,\n // Layer3\n 144,\n // Layer2\n 12 // Layer1\n ]];\n var BytesInSlot = [0,\n // Reserved\n 1,\n // Layer3\n 1,\n // Layer2\n 4 // Layer1\n ];\n function appendFrame(track, data, offset, pts, frameIndex) {\n // Using http://www.datavoyage.com/mpgscript/mpeghdr.htm as a reference\n if (offset + 24 > data.length) {\n return;\n }\n var header = parseHeader(data, offset);\n if (header && offset + header.frameLength <= data.length) {\n var frameDuration = header.samplesPerFrame * 90000 / header.sampleRate;\n var stamp = pts + frameIndex * frameDuration;\n var sample = {\n unit: data.subarray(offset, offset + header.frameLength),\n pts: stamp,\n dts: stamp\n };\n track.config = [];\n track.channelCount = header.channelCount;\n track.samplerate = header.sampleRate;\n track.samples.push(sample);\n return {\n sample: sample,\n length: header.frameLength,\n missing: 0\n };\n }\n }\n function parseHeader(data, offset) {\n var mpegVersion = data[offset + 1] >> 3 & 3;\n var mpegLayer = data[offset + 1] >> 1 & 3;\n var bitRateIndex = data[offset + 2] >> 4 & 15;\n var sampleRateIndex = data[offset + 2] >> 2 & 3;\n if (mpegVersion !== 1 && bitRateIndex !== 0 && bitRateIndex !== 15 && sampleRateIndex !== 3) {\n var paddingBit = data[offset + 2] >> 1 & 1;\n var channelMode = data[offset + 3] >> 6;\n var columnInBitrates = mpegVersion === 3 ? 3 - mpegLayer : mpegLayer === 3 ? 3 : 4;\n var bitRate = BitratesMap[columnInBitrates * 14 + bitRateIndex - 1] * 1000;\n var columnInSampleRates = mpegVersion === 3 ? 0 : mpegVersion === 2 ? 1 : 2;\n var sampleRate = SamplingRateMap[columnInSampleRates * 3 + sampleRateIndex];\n var channelCount = channelMode === 3 ? 1 : 2; // If bits of channel mode are `11` then it is a single channel (Mono)\n var sampleCoefficient = SamplesCoefficients[mpegVersion][mpegLayer];\n var bytesInSlot = BytesInSlot[mpegLayer];\n var samplesPerFrame = sampleCoefficient * 8 * bytesInSlot;\n var frameLength = Math.floor(sampleCoefficient * bitRate / sampleRate + paddingBit) * bytesInSlot;\n if (chromeVersion$1 === null) {\n var userAgent = navigator.userAgent || '';\n var result = userAgent.match(/Chrome\\/(\\d+)/i);\n chromeVersion$1 = result ? parseInt(result[1]) : 0;\n }\n var needChromeFix = !!chromeVersion$1 && chromeVersion$1 <= 87;\n if (needChromeFix && mpegLayer === 2 && bitRate >= 224000 && channelMode === 0) {\n // Work around bug in Chromium by setting channelMode to dual-channel (01) instead of stereo (00)\n data[offset + 3] = data[offset + 3] | 0x80;\n }\n return {\n sampleRate: sampleRate,\n channelCount: channelCount,\n frameLength: frameLength,\n samplesPerFrame: samplesPerFrame\n };\n }\n }\n function isHeaderPattern(data, offset) {\n return data[offset] === 0xff && (data[offset + 1] & 0xe0) === 0xe0 && (data[offset + 1] & 0x06) !== 0x00;\n }\n function isHeader(data, offset) {\n // Look for MPEG header | 1111 1111 | 111X XYZX | where X can be either 0 or 1 and Y or Z should be 1\n // Layer bits (position 14 and 15) in header should be always different from 0 (Layer I or Layer II or Layer III)\n // More info http://www.mp3-tech.org/programmer/frame_header.html\n return offset + 1 < data.length && isHeaderPattern(data, offset);\n }\n function canParse(data, offset) {\n var headerSize = 4;\n return isHeaderPattern(data, offset) && headerSize <= data.length - offset;\n }\n function probe(data, offset) {\n // same as isHeader but we also check that MPEG frame follows last MPEG frame\n // or end of data is reached\n if (offset + 1 < data.length && isHeaderPattern(data, offset)) {\n // MPEG header Length\n var headerLength = 4;\n // MPEG frame Length\n var header = parseHeader(data, offset);\n var frameLength = headerLength;\n if (header != null && header.frameLength) {\n frameLength = header.frameLength;\n }\n var newOffset = offset + frameLength;\n return newOffset === data.length || isHeader(data, newOffset);\n }\n return false;\n }\n\n var AACDemuxer = /*#__PURE__*/function (_BaseAudioDemuxer) {\n _inheritsLoose(AACDemuxer, _BaseAudioDemuxer);\n function AACDemuxer(observer, config) {\n var _this;\n _this = _BaseAudioDemuxer.call(this) || this;\n _this.observer = void 0;\n _this.config = void 0;\n _this.observer = observer;\n _this.config = config;\n return _this;\n }\n var _proto = AACDemuxer.prototype;\n _proto.resetInitSegment = function resetInitSegment(initSegment, audioCodec, videoCodec, trackDuration) {\n _BaseAudioDemuxer.prototype.resetInitSegment.call(this, initSegment, audioCodec, videoCodec, trackDuration);\n this._audioTrack = {\n container: 'audio/adts',\n type: 'audio',\n id: 2,\n pid: -1,\n sequenceNumber: 0,\n segmentCodec: 'aac',\n samples: [],\n manifestCodec: audioCodec,\n duration: trackDuration,\n inputTimeScale: 90000,\n dropped: 0\n };\n }\n\n // Source for probe info - https://wiki.multimedia.cx/index.php?title=ADTS\n ;\n AACDemuxer.probe = function probe$2(data) {\n if (!data) {\n return false;\n }\n\n // Check for the ADTS sync word\n // Look for ADTS header | 1111 1111 | 1111 X00X | where X can be either 0 or 1\n // Layer bits (position 14 and 15) in header should be always 0 for ADTS\n // More info https://wiki.multimedia.cx/index.php?title=ADTS\n var id3Data = getID3Data(data, 0);\n var offset = (id3Data == null ? void 0 : id3Data.length) || 0;\n if (probe(data, offset)) {\n return false;\n }\n for (var length = data.length; offset < length; offset++) {\n if (probe$1(data, offset)) {\n logger.log('ADTS sync word found !');\n return true;\n }\n }\n return false;\n };\n _proto.canParse = function canParse(data, offset) {\n return canParse$1(data, offset);\n };\n _proto.appendFrame = function appendFrame(track, data, offset) {\n initTrackConfig(track, this.observer, data, offset, track.manifestCodec);\n var frame = appendFrame$1(track, data, offset, this.basePTS, this.frameIndex);\n if (frame && frame.missing === 0) {\n return frame;\n }\n };\n return AACDemuxer;\n }(BaseAudioDemuxer);\n\n var emsgSchemePattern = /\\/emsg[-/]ID3/i;\n var MP4Demuxer = /*#__PURE__*/function () {\n function MP4Demuxer(observer, config) {\n this.remainderData = null;\n this.timeOffset = 0;\n this.config = void 0;\n this.videoTrack = void 0;\n this.audioTrack = void 0;\n this.id3Track = void 0;\n this.txtTrack = void 0;\n this.config = config;\n }\n var _proto = MP4Demuxer.prototype;\n _proto.resetTimeStamp = function resetTimeStamp() {};\n _proto.resetInitSegment = function resetInitSegment(initSegment, audioCodec, videoCodec, trackDuration) {\n var videoTrack = this.videoTrack = dummyTrack('video', 1);\n var audioTrack = this.audioTrack = dummyTrack('audio', 1);\n var captionTrack = this.txtTrack = dummyTrack('text', 1);\n this.id3Track = dummyTrack('id3', 1);\n this.timeOffset = 0;\n if (!(initSegment != null && initSegment.byteLength)) {\n return;\n }\n var initData = parseInitSegment(initSegment);\n if (initData.video) {\n var _initData$video = initData.video,\n id = _initData$video.id,\n timescale = _initData$video.timescale,\n codec = _initData$video.codec;\n videoTrack.id = id;\n videoTrack.timescale = captionTrack.timescale = timescale;\n videoTrack.codec = codec;\n }\n if (initData.audio) {\n var _initData$audio = initData.audio,\n _id = _initData$audio.id,\n _timescale = _initData$audio.timescale,\n _codec = _initData$audio.codec;\n audioTrack.id = _id;\n audioTrack.timescale = _timescale;\n audioTrack.codec = _codec;\n }\n captionTrack.id = RemuxerTrackIdConfig.text;\n videoTrack.sampleDuration = 0;\n videoTrack.duration = audioTrack.duration = trackDuration;\n };\n _proto.resetContiguity = function resetContiguity() {\n this.remainderData = null;\n };\n MP4Demuxer.probe = function probe(data) {\n return hasMoofData(data);\n };\n _proto.demux = function demux(data, timeOffset) {\n this.timeOffset = timeOffset;\n // Load all data into the avc track. The CMAF remuxer will look for the data in the samples object; the rest of the fields do not matter\n var videoSamples = data;\n var videoTrack = this.videoTrack;\n var textTrack = this.txtTrack;\n if (this.config.progressive) {\n // Split the bytestream into two ranges: one encompassing all data up until the start of the last moof, and everything else.\n // This is done to guarantee that we're sending valid data to MSE - when demuxing progressively, we have no guarantee\n // that the fetch loader gives us flush moof+mdat pairs. If we push jagged data to MSE, it will throw an exception.\n if (this.remainderData) {\n videoSamples = appendUint8Array(this.remainderData, data);\n }\n var segmentedData = segmentValidRange(videoSamples);\n this.remainderData = segmentedData.remainder;\n videoTrack.samples = segmentedData.valid || new Uint8Array();\n } else {\n videoTrack.samples = videoSamples;\n }\n var id3Track = this.extractID3Track(videoTrack, timeOffset);\n textTrack.samples = parseSamples(timeOffset, videoTrack);\n return {\n videoTrack: videoTrack,\n audioTrack: this.audioTrack,\n id3Track: id3Track,\n textTrack: this.txtTrack\n };\n };\n _proto.flush = function flush() {\n var timeOffset = this.timeOffset;\n var videoTrack = this.videoTrack;\n var textTrack = this.txtTrack;\n videoTrack.samples = this.remainderData || new Uint8Array();\n this.remainderData = null;\n var id3Track = this.extractID3Track(videoTrack, this.timeOffset);\n textTrack.samples = parseSamples(timeOffset, videoTrack);\n return {\n videoTrack: videoTrack,\n audioTrack: dummyTrack(),\n id3Track: id3Track,\n textTrack: dummyTrack()\n };\n };\n _proto.extractID3Track = function extractID3Track(videoTrack, timeOffset) {\n var id3Track = this.id3Track;\n if (videoTrack.samples.length) {\n var emsgs = findBox(videoTrack.samples, ['emsg']);\n if (emsgs) {\n emsgs.forEach(function (data) {\n var emsgInfo = parseEmsg(data);\n if (emsgSchemePattern.test(emsgInfo.schemeIdUri)) {\n var pts = isFiniteNumber(emsgInfo.presentationTime) ? emsgInfo.presentationTime / emsgInfo.timeScale : timeOffset + emsgInfo.presentationTimeDelta / emsgInfo.timeScale;\n var duration = emsgInfo.eventDuration === 0xffffffff ? Number.POSITIVE_INFINITY : emsgInfo.eventDuration / emsgInfo.timeScale;\n // Safari takes anything <= 0.001 seconds and maps it to Infinity\n if (duration <= 0.001) {\n duration = Number.POSITIVE_INFINITY;\n }\n var payload = emsgInfo.payload;\n id3Track.samples.push({\n data: payload,\n len: payload.byteLength,\n dts: pts,\n pts: pts,\n type: MetadataSchema.emsg,\n duration: duration\n });\n }\n });\n }\n }\n return id3Track;\n };\n _proto.demuxSampleAes = function demuxSampleAes(data, keyData, timeOffset) {\n return Promise.reject(new Error('The MP4 demuxer does not support SAMPLE-AES decryption'));\n };\n _proto.destroy = function destroy() {};\n return MP4Demuxer;\n }();\n\n var getAudioBSID = function getAudioBSID(data, offset) {\n // check the bsid to confirm ac-3 | ec-3\n var bsid = 0;\n var numBits = 5;\n offset += numBits;\n var temp = new Uint32Array(1); // unsigned 32 bit for temporary storage\n var mask = new Uint32Array(1); // unsigned 32 bit mask value\n var _byte = new Uint8Array(1); // unsigned 8 bit for temporary storage\n while (numBits > 0) {\n _byte[0] = data[offset];\n // read remaining bits, upto 8 bits at a time\n var bits = Math.min(numBits, 8);\n var shift = 8 - bits;\n mask[0] = 0xff000000 >>> 24 + shift << shift;\n temp[0] = (_byte[0] & mask[0]) >> shift;\n bsid = !bsid ? temp[0] : bsid << bits | temp[0];\n offset += 1;\n numBits -= bits;\n }\n return bsid;\n };\n\n var AC3Demuxer = /*#__PURE__*/function (_BaseAudioDemuxer) {\n _inheritsLoose(AC3Demuxer, _BaseAudioDemuxer);\n function AC3Demuxer(observer) {\n var _this;\n _this = _BaseAudioDemuxer.call(this) || this;\n _this.observer = void 0;\n _this.observer = observer;\n return _this;\n }\n var _proto = AC3Demuxer.prototype;\n _proto.resetInitSegment = function resetInitSegment(initSegment, audioCodec, videoCodec, trackDuration) {\n _BaseAudioDemuxer.prototype.resetInitSegment.call(this, initSegment, audioCodec, videoCodec, trackDuration);\n this._audioTrack = {\n container: 'audio/ac-3',\n type: 'audio',\n id: 2,\n pid: -1,\n sequenceNumber: 0,\n segmentCodec: 'ac3',\n samples: [],\n manifestCodec: audioCodec,\n duration: trackDuration,\n inputTimeScale: 90000,\n dropped: 0\n };\n };\n _proto.canParse = function canParse(data, offset) {\n return offset + 64 < data.length;\n };\n _proto.appendFrame = function appendFrame(track, data, offset) {\n var frameLength = _appendFrame(track, data, offset, this.basePTS, this.frameIndex);\n if (frameLength !== -1) {\n var sample = track.samples[track.samples.length - 1];\n return {\n sample: sample,\n length: frameLength,\n missing: 0\n };\n }\n };\n AC3Demuxer.probe = function probe(data) {\n if (!data) {\n return false;\n }\n var id3Data = getID3Data(data, 0);\n if (!id3Data) {\n return false;\n }\n\n // look for the ac-3 sync bytes\n var offset = id3Data.length;\n if (data[offset] === 0x0b && data[offset + 1] === 0x77 && getTimeStamp(id3Data) !== undefined &&\n // check the bsid to confirm ac-3\n getAudioBSID(data, offset) < 16) {\n return true;\n }\n return false;\n };\n return AC3Demuxer;\n }(BaseAudioDemuxer);\n function _appendFrame(track, data, start, pts, frameIndex) {\n if (start + 8 > data.length) {\n return -1; // not enough bytes left\n }\n if (data[start] !== 0x0b || data[start + 1] !== 0x77) {\n return -1; // invalid magic\n }\n\n // get sample rate\n var samplingRateCode = data[start + 4] >> 6;\n if (samplingRateCode >= 3) {\n return -1; // invalid sampling rate\n }\n var samplingRateMap = [48000, 44100, 32000];\n var sampleRate = samplingRateMap[samplingRateCode];\n\n // get frame size\n var frameSizeCode = data[start + 4] & 0x3f;\n var frameSizeMap = [64, 69, 96, 64, 70, 96, 80, 87, 120, 80, 88, 120, 96, 104, 144, 96, 105, 144, 112, 121, 168, 112, 122, 168, 128, 139, 192, 128, 140, 192, 160, 174, 240, 160, 175, 240, 192, 208, 288, 192, 209, 288, 224, 243, 336, 224, 244, 336, 256, 278, 384, 256, 279, 384, 320, 348, 480, 320, 349, 480, 384, 417, 576, 384, 418, 576, 448, 487, 672, 448, 488, 672, 512, 557, 768, 512, 558, 768, 640, 696, 960, 640, 697, 960, 768, 835, 1152, 768, 836, 1152, 896, 975, 1344, 896, 976, 1344, 1024, 1114, 1536, 1024, 1115, 1536, 1152, 1253, 1728, 1152, 1254, 1728, 1280, 1393, 1920, 1280, 1394, 1920];\n var frameLength = frameSizeMap[frameSizeCode * 3 + samplingRateCode] * 2;\n if (start + frameLength > data.length) {\n return -1;\n }\n\n // get channel count\n var channelMode = data[start + 6] >> 5;\n var skipCount = 0;\n if (channelMode === 2) {\n skipCount += 2;\n } else {\n if (channelMode & 1 && channelMode !== 1) {\n skipCount += 2;\n }\n if (channelMode & 4) {\n skipCount += 2;\n }\n }\n var lfeon = (data[start + 6] << 8 | data[start + 7]) >> 12 - skipCount & 1;\n var channelsMap = [2, 1, 2, 3, 3, 4, 4, 5];\n var channelCount = channelsMap[channelMode] + lfeon;\n\n // build dac3 box\n var bsid = data[start + 5] >> 3;\n var bsmod = data[start + 5] & 7;\n var config = new Uint8Array([samplingRateCode << 6 | bsid << 1 | bsmod >> 2, (bsmod & 3) << 6 | channelMode << 3 | lfeon << 2 | frameSizeCode >> 4, frameSizeCode << 4 & 0xe0]);\n var frameDuration = 1536 / sampleRate * 90000;\n var stamp = pts + frameIndex * frameDuration;\n var unit = data.subarray(start, start + frameLength);\n track.config = config;\n track.channelCount = channelCount;\n track.samplerate = sampleRate;\n track.samples.push({\n unit: unit,\n pts: stamp\n });\n return frameLength;\n }\n\n var BaseVideoParser = /*#__PURE__*/function () {\n function BaseVideoParser() {\n this.VideoSample = null;\n }\n var _proto = BaseVideoParser.prototype;\n _proto.createVideoSample = function createVideoSample(key, pts, dts, debug) {\n return {\n key: key,\n frame: false,\n pts: pts,\n dts: dts,\n units: [],\n debug: debug,\n length: 0\n };\n };\n _proto.getLastNalUnit = function getLastNalUnit(samples) {\n var _VideoSample;\n var VideoSample = this.VideoSample;\n var lastUnit;\n // try to fallback to previous sample if current one is empty\n if (!VideoSample || VideoSample.units.length === 0) {\n VideoSample = samples[samples.length - 1];\n }\n if ((_VideoSample = VideoSample) != null && _VideoSample.units) {\n var units = VideoSample.units;\n lastUnit = units[units.length - 1];\n }\n return lastUnit;\n };\n _proto.pushAccessUnit = function pushAccessUnit(VideoSample, videoTrack) {\n if (VideoSample.units.length && VideoSample.frame) {\n // if sample does not have PTS/DTS, patch with last sample PTS/DTS\n if (VideoSample.pts === undefined) {\n var samples = videoTrack.samples;\n var nbSamples = samples.length;\n if (nbSamples) {\n var lastSample = samples[nbSamples - 1];\n VideoSample.pts = lastSample.pts;\n VideoSample.dts = lastSample.dts;\n } else {\n // dropping samples, no timestamp found\n videoTrack.dropped++;\n return;\n }\n }\n videoTrack.samples.push(VideoSample);\n }\n if (VideoSample.debug.length) {\n logger.log(VideoSample.pts + '/' + VideoSample.dts + ':' + VideoSample.debug);\n }\n };\n return BaseVideoParser;\n }();\n\n /**\n * Parser for exponential Golomb codes, a variable-bitwidth number encoding scheme used by h264.\n */\n\n var ExpGolomb = /*#__PURE__*/function () {\n function ExpGolomb(data) {\n this.data = void 0;\n this.bytesAvailable = void 0;\n this.word = void 0;\n this.bitsAvailable = void 0;\n this.data = data;\n // the number of bytes left to examine in this.data\n this.bytesAvailable = data.byteLength;\n // the current word being examined\n this.word = 0; // :uint\n // the number of bits left to examine in the current word\n this.bitsAvailable = 0; // :uint\n }\n\n // ():void\n var _proto = ExpGolomb.prototype;\n _proto.loadWord = function loadWord() {\n var data = this.data;\n var bytesAvailable = this.bytesAvailable;\n var position = data.byteLength - bytesAvailable;\n var workingBytes = new Uint8Array(4);\n var availableBytes = Math.min(4, bytesAvailable);\n if (availableBytes === 0) {\n throw new Error('no bytes available');\n }\n workingBytes.set(data.subarray(position, position + availableBytes));\n this.word = new DataView(workingBytes.buffer).getUint32(0);\n // track the amount of this.data that has been processed\n this.bitsAvailable = availableBytes * 8;\n this.bytesAvailable -= availableBytes;\n }\n\n // (count:int):void\n ;\n _proto.skipBits = function skipBits(count) {\n var skipBytes; // :int\n count = Math.min(count, this.bytesAvailable * 8 + this.bitsAvailable);\n if (this.bitsAvailable > count) {\n this.word <<= count;\n this.bitsAvailable -= count;\n } else {\n count -= this.bitsAvailable;\n skipBytes = count >> 3;\n count -= skipBytes << 3;\n this.bytesAvailable -= skipBytes;\n this.loadWord();\n this.word <<= count;\n this.bitsAvailable -= count;\n }\n }\n\n // (size:int):uint\n ;\n _proto.readBits = function readBits(size) {\n var bits = Math.min(this.bitsAvailable, size); // :uint\n var valu = this.word >>> 32 - bits; // :uint\n if (size > 32) {\n logger.error('Cannot read more than 32 bits at a time');\n }\n this.bitsAvailable -= bits;\n if (this.bitsAvailable > 0) {\n this.word <<= bits;\n } else if (this.bytesAvailable > 0) {\n this.loadWord();\n } else {\n throw new Error('no bits available');\n }\n bits = size - bits;\n if (bits > 0 && this.bitsAvailable) {\n return valu << bits | this.readBits(bits);\n } else {\n return valu;\n }\n }\n\n // ():uint\n ;\n _proto.skipLZ = function skipLZ() {\n var leadingZeroCount; // :uint\n for (leadingZeroCount = 0; leadingZeroCount < this.bitsAvailable; ++leadingZeroCount) {\n if ((this.word & 0x80000000 >>> leadingZeroCount) !== 0) {\n // the first bit of working word is 1\n this.word <<= leadingZeroCount;\n this.bitsAvailable -= leadingZeroCount;\n return leadingZeroCount;\n }\n }\n // we exhausted word and still have not found a 1\n this.loadWord();\n return leadingZeroCount + this.skipLZ();\n }\n\n // ():void\n ;\n _proto.skipUEG = function skipUEG() {\n this.skipBits(1 + this.skipLZ());\n }\n\n // ():void\n ;\n _proto.skipEG = function skipEG() {\n this.skipBits(1 + this.skipLZ());\n }\n\n // ():uint\n ;\n _proto.readUEG = function readUEG() {\n var clz = this.skipLZ(); // :uint\n return this.readBits(clz + 1) - 1;\n }\n\n // ():int\n ;\n _proto.readEG = function readEG() {\n var valu = this.readUEG(); // :int\n if (0x01 & valu) {\n // the number is odd if the low order bit is set\n return 1 + valu >>> 1; // add 1 to make it even, and divide by 2\n } else {\n return -1 * (valu >>> 1); // divide by two then make it negative\n }\n }\n\n // Some convenience functions\n // :Boolean\n ;\n _proto.readBoolean = function readBoolean() {\n return this.readBits(1) === 1;\n }\n\n // ():int\n ;\n _proto.readUByte = function readUByte() {\n return this.readBits(8);\n }\n\n // ():int\n ;\n _proto.readUShort = function readUShort() {\n return this.readBits(16);\n }\n\n // ():int\n ;\n _proto.readUInt = function readUInt() {\n return this.readBits(32);\n }\n\n /**\n * Advance the ExpGolomb decoder past a scaling list. The scaling\n * list is optionally transmitted as part of a sequence parameter\n * set and is not relevant to transmuxing.\n * @param count the number of entries in this scaling list\n * @see Recommendation ITU-T H.264, Section 7.3.2.1.1.1\n */;\n _proto.skipScalingList = function skipScalingList(count) {\n var lastScale = 8;\n var nextScale = 8;\n var deltaScale;\n for (var j = 0; j < count; j++) {\n if (nextScale !== 0) {\n deltaScale = this.readEG();\n nextScale = (lastScale + deltaScale + 256) % 256;\n }\n lastScale = nextScale === 0 ? lastScale : nextScale;\n }\n }\n\n /**\n * Read a sequence parameter set and return some interesting video\n * properties. A sequence parameter set is the H264 metadata that\n * describes the properties of upcoming video frames.\n * @returns an object with configuration parsed from the\n * sequence parameter set, including the dimensions of the\n * associated video frames.\n */;\n _proto.readSPS = function readSPS() {\n var frameCropLeftOffset = 0;\n var frameCropRightOffset = 0;\n var frameCropTopOffset = 0;\n var frameCropBottomOffset = 0;\n var numRefFramesInPicOrderCntCycle;\n var scalingListCount;\n var i;\n var readUByte = this.readUByte.bind(this);\n var readBits = this.readBits.bind(this);\n var readUEG = this.readUEG.bind(this);\n var readBoolean = this.readBoolean.bind(this);\n var skipBits = this.skipBits.bind(this);\n var skipEG = this.skipEG.bind(this);\n var skipUEG = this.skipUEG.bind(this);\n var skipScalingList = this.skipScalingList.bind(this);\n readUByte();\n var profileIdc = readUByte(); // profile_idc\n readBits(5); // profileCompat constraint_set[0-4]_flag, u(5)\n skipBits(3); // reserved_zero_3bits u(3),\n readUByte(); // level_idc u(8)\n skipUEG(); // seq_parameter_set_id\n // some profiles have more optional data we don't need\n if (profileIdc === 100 || profileIdc === 110 || profileIdc === 122 || profileIdc === 244 || profileIdc === 44 || profileIdc === 83 || profileIdc === 86 || profileIdc === 118 || profileIdc === 128) {\n var chromaFormatIdc = readUEG();\n if (chromaFormatIdc === 3) {\n skipBits(1);\n } // separate_colour_plane_flag\n\n skipUEG(); // bit_depth_luma_minus8\n skipUEG(); // bit_depth_chroma_minus8\n skipBits(1); // qpprime_y_zero_transform_bypass_flag\n if (readBoolean()) {\n // seq_scaling_matrix_present_flag\n scalingListCount = chromaFormatIdc !== 3 ? 8 : 12;\n for (i = 0; i < scalingListCount; i++) {\n if (readBoolean()) {\n // seq_scaling_list_present_flag[ i ]\n if (i < 6) {\n skipScalingList(16);\n } else {\n skipScalingList(64);\n }\n }\n }\n }\n }\n skipUEG(); // log2_max_frame_num_minus4\n var picOrderCntType = readUEG();\n if (picOrderCntType === 0) {\n readUEG(); // log2_max_pic_order_cnt_lsb_minus4\n } else if (picOrderCntType === 1) {\n skipBits(1); // delta_pic_order_always_zero_flag\n skipEG(); // offset_for_non_ref_pic\n skipEG(); // offset_for_top_to_bottom_field\n numRefFramesInPicOrderCntCycle = readUEG();\n for (i = 0; i < numRefFramesInPicOrderCntCycle; i++) {\n skipEG();\n } // offset_for_ref_frame[ i ]\n }\n skipUEG(); // max_num_ref_frames\n skipBits(1); // gaps_in_frame_num_value_allowed_flag\n var picWidthInMbsMinus1 = readUEG();\n var picHeightInMapUnitsMinus1 = readUEG();\n var frameMbsOnlyFlag = readBits(1);\n if (frameMbsOnlyFlag === 0) {\n skipBits(1);\n } // mb_adaptive_frame_field_flag\n\n skipBits(1); // direct_8x8_inference_flag\n if (readBoolean()) {\n // frame_cropping_flag\n frameCropLeftOffset = readUEG();\n frameCropRightOffset = readUEG();\n frameCropTopOffset = readUEG();\n frameCropBottomOffset = readUEG();\n }\n var pixelRatio = [1, 1];\n if (readBoolean()) {\n // vui_parameters_present_flag\n if (readBoolean()) {\n // aspect_ratio_info_present_flag\n var aspectRatioIdc = readUByte();\n switch (aspectRatioIdc) {\n case 1:\n pixelRatio = [1, 1];\n break;\n case 2:\n pixelRatio = [12, 11];\n break;\n case 3:\n pixelRatio = [10, 11];\n break;\n case 4:\n pixelRatio = [16, 11];\n break;\n case 5:\n pixelRatio = [40, 33];\n break;\n case 6:\n pixelRatio = [24, 11];\n break;\n case 7:\n pixelRatio = [20, 11];\n break;\n case 8:\n pixelRatio = [32, 11];\n break;\n case 9:\n pixelRatio = [80, 33];\n break;\n case 10:\n pixelRatio = [18, 11];\n break;\n case 11:\n pixelRatio = [15, 11];\n break;\n case 12:\n pixelRatio = [64, 33];\n break;\n case 13:\n pixelRatio = [160, 99];\n break;\n case 14:\n pixelRatio = [4, 3];\n break;\n case 15:\n pixelRatio = [3, 2];\n break;\n case 16:\n pixelRatio = [2, 1];\n break;\n case 255:\n {\n pixelRatio = [readUByte() << 8 | readUByte(), readUByte() << 8 | readUByte()];\n break;\n }\n }\n }\n }\n return {\n width: Math.ceil((picWidthInMbsMinus1 + 1) * 16 - frameCropLeftOffset * 2 - frameCropRightOffset * 2),\n height: (2 - frameMbsOnlyFlag) * (picHeightInMapUnitsMinus1 + 1) * 16 - (frameMbsOnlyFlag ? 2 : 4) * (frameCropTopOffset + frameCropBottomOffset),\n pixelRatio: pixelRatio\n };\n };\n _proto.readSliceType = function readSliceType() {\n // skip NALu type\n this.readUByte();\n // discard first_mb_in_slice\n this.readUEG();\n // return slice_type\n return this.readUEG();\n };\n return ExpGolomb;\n }();\n\n var AvcVideoParser = /*#__PURE__*/function (_BaseVideoParser) {\n _inheritsLoose(AvcVideoParser, _BaseVideoParser);\n function AvcVideoParser() {\n return _BaseVideoParser.apply(this, arguments) || this;\n }\n var _proto = AvcVideoParser.prototype;\n _proto.parseAVCPES = function parseAVCPES(track, textTrack, pes, last, duration) {\n var _this = this;\n var units = this.parseAVCNALu(track, pes.data);\n var VideoSample = this.VideoSample;\n var push;\n var spsfound = false;\n // free pes.data to save up some memory\n pes.data = null;\n\n // if new NAL units found and last sample still there, let's push ...\n // this helps parsing streams with missing AUD (only do this if AUD never found)\n if (VideoSample && units.length && !track.audFound) {\n this.pushAccessUnit(VideoSample, track);\n VideoSample = this.VideoSample = this.createVideoSample(false, pes.pts, pes.dts, '');\n }\n units.forEach(function (unit) {\n var _VideoSample2;\n switch (unit.type) {\n // NDR\n case 1:\n {\n var iskey = false;\n push = true;\n var data = unit.data;\n // only check slice type to detect KF in case SPS found in same packet (any keyframe is preceded by SPS ...)\n if (spsfound && data.length > 4) {\n // retrieve slice type by parsing beginning of NAL unit (follow H264 spec, slice_header definition) to detect keyframe embedded in NDR\n var sliceType = new ExpGolomb(data).readSliceType();\n // 2 : I slice, 4 : SI slice, 7 : I slice, 9: SI slice\n // SI slice : A slice that is coded using intra prediction only and using quantisation of the prediction samples.\n // An SI slice can be coded such that its decoded samples can be constructed identically to an SP slice.\n // I slice: A slice that is not an SI slice that is decoded using intra prediction only.\n // if (sliceType === 2 || sliceType === 7) {\n if (sliceType === 2 || sliceType === 4 || sliceType === 7 || sliceType === 9) {\n iskey = true;\n }\n }\n if (iskey) {\n var _VideoSample;\n // if we have non-keyframe data already, that cannot belong to the same frame as a keyframe, so force a push\n if ((_VideoSample = VideoSample) != null && _VideoSample.frame && !VideoSample.key) {\n _this.pushAccessUnit(VideoSample, track);\n VideoSample = _this.VideoSample = null;\n }\n }\n if (!VideoSample) {\n VideoSample = _this.VideoSample = _this.createVideoSample(true, pes.pts, pes.dts, '');\n }\n VideoSample.frame = true;\n VideoSample.key = iskey;\n break;\n // IDR\n }\n case 5:\n push = true;\n // handle PES not starting with AUD\n // if we have frame data already, that cannot belong to the same frame, so force a push\n if ((_VideoSample2 = VideoSample) != null && _VideoSample2.frame && !VideoSample.key) {\n _this.pushAccessUnit(VideoSample, track);\n VideoSample = _this.VideoSample = null;\n }\n if (!VideoSample) {\n VideoSample = _this.VideoSample = _this.createVideoSample(true, pes.pts, pes.dts, '');\n }\n VideoSample.key = true;\n VideoSample.frame = true;\n break;\n // SEI\n case 6:\n {\n push = true;\n parseSEIMessageFromNALu(unit.data, 1, pes.pts, textTrack.samples);\n break;\n // SPS\n }\n case 7:\n {\n var _track$pixelRatio, _track$pixelRatio2;\n push = true;\n spsfound = true;\n var sps = unit.data;\n var expGolombDecoder = new ExpGolomb(sps);\n var config = expGolombDecoder.readSPS();\n if (!track.sps || track.width !== config.width || track.height !== config.height || ((_track$pixelRatio = track.pixelRatio) == null ? void 0 : _track$pixelRatio[0]) !== config.pixelRatio[0] || ((_track$pixelRatio2 = track.pixelRatio) == null ? void 0 : _track$pixelRatio2[1]) !== config.pixelRatio[1]) {\n track.width = config.width;\n track.height = config.height;\n track.pixelRatio = config.pixelRatio;\n track.sps = [sps];\n track.duration = duration;\n var codecarray = sps.subarray(1, 4);\n var codecstring = 'avc1.';\n for (var i = 0; i < 3; i++) {\n var h = codecarray[i].toString(16);\n if (h.length < 2) {\n h = '0' + h;\n }\n codecstring += h;\n }\n track.codec = codecstring;\n }\n break;\n }\n // PPS\n case 8:\n push = true;\n track.pps = [unit.data];\n break;\n // AUD\n case 9:\n push = true;\n track.audFound = true;\n if (VideoSample) {\n _this.pushAccessUnit(VideoSample, track);\n }\n VideoSample = _this.VideoSample = _this.createVideoSample(false, pes.pts, pes.dts, '');\n break;\n // Filler Data\n case 12:\n push = true;\n break;\n default:\n push = false;\n if (VideoSample) {\n VideoSample.debug += 'unknown NAL ' + unit.type + ' ';\n }\n break;\n }\n if (VideoSample && push) {\n var _units = VideoSample.units;\n _units.push(unit);\n }\n });\n // if last PES packet, push samples\n if (last && VideoSample) {\n this.pushAccessUnit(VideoSample, track);\n this.VideoSample = null;\n }\n };\n _proto.parseAVCNALu = function parseAVCNALu(track, array) {\n var len = array.byteLength;\n var state = track.naluState || 0;\n var lastState = state;\n var units = [];\n var i = 0;\n var value;\n var overflow;\n var unitType;\n var lastUnitStart = -1;\n var lastUnitType = 0;\n // logger.log('PES:' + Hex.hexDump(array));\n\n if (state === -1) {\n // special use case where we found 3 or 4-byte start codes exactly at the end of previous PES packet\n lastUnitStart = 0;\n // NALu type is value read from offset 0\n lastUnitType = array[0] & 0x1f;\n state = 0;\n i = 1;\n }\n while (i < len) {\n value = array[i++];\n // optimization. state 0 and 1 are the predominant case. let's handle them outside of the switch/case\n if (!state) {\n state = value ? 0 : 1;\n continue;\n }\n if (state === 1) {\n state = value ? 0 : 2;\n continue;\n }\n // here we have state either equal to 2 or 3\n if (!value) {\n state = 3;\n } else if (value === 1) {\n overflow = i - state - 1;\n if (lastUnitStart >= 0) {\n var unit = {\n data: array.subarray(lastUnitStart, overflow),\n type: lastUnitType\n };\n // logger.log('pushing NALU, type/size:' + unit.type + '/' + unit.data.byteLength);\n units.push(unit);\n } else {\n // lastUnitStart is undefined => this is the first start code found in this PES packet\n // first check if start code delimiter is overlapping between 2 PES packets,\n // ie it started in last packet (lastState not zero)\n // and ended at the beginning of this PES packet (i <= 4 - lastState)\n var lastUnit = this.getLastNalUnit(track.samples);\n if (lastUnit) {\n if (lastState && i <= 4 - lastState) {\n // start delimiter overlapping between PES packets\n // strip start delimiter bytes from the end of last NAL unit\n // check if lastUnit had a state different from zero\n if (lastUnit.state) {\n // strip last bytes\n lastUnit.data = lastUnit.data.subarray(0, lastUnit.data.byteLength - lastState);\n }\n }\n // If NAL units are not starting right at the beginning of the PES packet, push preceding data into previous NAL unit.\n\n if (overflow > 0) {\n // logger.log('first NALU found with overflow:' + overflow);\n lastUnit.data = appendUint8Array(lastUnit.data, array.subarray(0, overflow));\n lastUnit.state = 0;\n }\n }\n }\n // check if we can read unit type\n if (i < len) {\n unitType = array[i] & 0x1f;\n // logger.log('find NALU @ offset:' + i + ',type:' + unitType);\n lastUnitStart = i;\n lastUnitType = unitType;\n state = 0;\n } else {\n // not enough byte to read unit type. let's read it on next PES parsing\n state = -1;\n }\n } else {\n state = 0;\n }\n }\n if (lastUnitStart >= 0 && state >= 0) {\n var _unit = {\n data: array.subarray(lastUnitStart, len),\n type: lastUnitType,\n state: state\n };\n units.push(_unit);\n // logger.log('pushing NALU, type/size/state:' + unit.type + '/' + unit.data.byteLength + '/' + state);\n }\n // no NALu found\n if (units.length === 0) {\n // append pes.data to previous NAL unit\n var _lastUnit = this.getLastNalUnit(track.samples);\n if (_lastUnit) {\n _lastUnit.data = appendUint8Array(_lastUnit.data, array);\n }\n }\n track.naluState = state;\n return units;\n };\n return AvcVideoParser;\n }(BaseVideoParser);\n\n /**\n * SAMPLE-AES decrypter\n */\n\n var SampleAesDecrypter = /*#__PURE__*/function () {\n function SampleAesDecrypter(observer, config, keyData) {\n this.keyData = void 0;\n this.decrypter = void 0;\n this.keyData = keyData;\n this.decrypter = new Decrypter(config, {\n removePKCS7Padding: false\n });\n }\n var _proto = SampleAesDecrypter.prototype;\n _proto.decryptBuffer = function decryptBuffer(encryptedData) {\n return this.decrypter.decrypt(encryptedData, this.keyData.key.buffer, this.keyData.iv.buffer);\n }\n\n // AAC - encrypt all full 16 bytes blocks starting from offset 16\n ;\n _proto.decryptAacSample = function decryptAacSample(samples, sampleIndex, callback) {\n var _this = this;\n var curUnit = samples[sampleIndex].unit;\n if (curUnit.length <= 16) {\n // No encrypted portion in this sample (first 16 bytes is not\n // encrypted, see https://developer.apple.com/library/archive/documentation/AudioVideo/Conceptual/HLS_Sample_Encryption/Encryption/Encryption.html),\n return;\n }\n var encryptedData = curUnit.subarray(16, curUnit.length - curUnit.length % 16);\n var encryptedBuffer = encryptedData.buffer.slice(encryptedData.byteOffset, encryptedData.byteOffset + encryptedData.length);\n this.decryptBuffer(encryptedBuffer).then(function (decryptedBuffer) {\n var decryptedData = new Uint8Array(decryptedBuffer);\n curUnit.set(decryptedData, 16);\n if (!_this.decrypter.isSync()) {\n _this.decryptAacSamples(samples, sampleIndex + 1, callback);\n }\n });\n };\n _proto.decryptAacSamples = function decryptAacSamples(samples, sampleIndex, callback) {\n for (;; sampleIndex++) {\n if (sampleIndex >= samples.length) {\n callback();\n return;\n }\n if (samples[sampleIndex].unit.length < 32) {\n continue;\n }\n this.decryptAacSample(samples, sampleIndex, callback);\n if (!this.decrypter.isSync()) {\n return;\n }\n }\n }\n\n // AVC - encrypt one 16 bytes block out of ten, starting from offset 32\n ;\n _proto.getAvcEncryptedData = function getAvcEncryptedData(decodedData) {\n var encryptedDataLen = Math.floor((decodedData.length - 48) / 160) * 16 + 16;\n var encryptedData = new Int8Array(encryptedDataLen);\n var outputPos = 0;\n for (var inputPos = 32; inputPos < decodedData.length - 16; inputPos += 160, outputPos += 16) {\n encryptedData.set(decodedData.subarray(inputPos, inputPos + 16), outputPos);\n }\n return encryptedData;\n };\n _proto.getAvcDecryptedUnit = function getAvcDecryptedUnit(decodedData, decryptedData) {\n var uint8DecryptedData = new Uint8Array(decryptedData);\n var inputPos = 0;\n for (var outputPos = 32; outputPos < decodedData.length - 16; outputPos += 160, inputPos += 16) {\n decodedData.set(uint8DecryptedData.subarray(inputPos, inputPos + 16), outputPos);\n }\n return decodedData;\n };\n _proto.decryptAvcSample = function decryptAvcSample(samples, sampleIndex, unitIndex, callback, curUnit) {\n var _this2 = this;\n var decodedData = discardEPB(curUnit.data);\n var encryptedData = this.getAvcEncryptedData(decodedData);\n this.decryptBuffer(encryptedData.buffer).then(function (decryptedBuffer) {\n curUnit.data = _this2.getAvcDecryptedUnit(decodedData, decryptedBuffer);\n if (!_this2.decrypter.isSync()) {\n _this2.decryptAvcSamples(samples, sampleIndex, unitIndex + 1, callback);\n }\n });\n };\n _proto.decryptAvcSamples = function decryptAvcSamples(samples, sampleIndex, unitIndex, callback) {\n if (samples instanceof Uint8Array) {\n throw new Error('Cannot decrypt samples of type Uint8Array');\n }\n for (;; sampleIndex++, unitIndex = 0) {\n if (sampleIndex >= samples.length) {\n callback();\n return;\n }\n var curUnits = samples[sampleIndex].units;\n for (;; unitIndex++) {\n if (unitIndex >= curUnits.length) {\n break;\n }\n var curUnit = curUnits[unitIndex];\n if (curUnit.data.length <= 48 || curUnit.type !== 1 && curUnit.type !== 5) {\n continue;\n }\n this.decryptAvcSample(samples, sampleIndex, unitIndex, callback, curUnit);\n if (!this.decrypter.isSync()) {\n return;\n }\n }\n }\n };\n return SampleAesDecrypter;\n }();\n\n var PACKET_LENGTH = 188;\n var TSDemuxer = /*#__PURE__*/function () {\n function TSDemuxer(observer, config, typeSupported) {\n this.observer = void 0;\n this.config = void 0;\n this.typeSupported = void 0;\n this.sampleAes = null;\n this.pmtParsed = false;\n this.audioCodec = void 0;\n this.videoCodec = void 0;\n this._duration = 0;\n this._pmtId = -1;\n this._videoTrack = void 0;\n this._audioTrack = void 0;\n this._id3Track = void 0;\n this._txtTrack = void 0;\n this.aacOverFlow = null;\n this.remainderData = null;\n this.videoParser = void 0;\n this.observer = observer;\n this.config = config;\n this.typeSupported = typeSupported;\n this.videoParser = new AvcVideoParser();\n }\n TSDemuxer.probe = function probe(data) {\n var syncOffset = TSDemuxer.syncOffset(data);\n if (syncOffset > 0) {\n logger.warn(\"MPEG2-TS detected but first sync word found @ offset \" + syncOffset);\n }\n return syncOffset !== -1;\n };\n TSDemuxer.syncOffset = function syncOffset(data) {\n var length = data.length;\n var scanwindow = Math.min(PACKET_LENGTH * 5, length - PACKET_LENGTH) + 1;\n var i = 0;\n while (i < scanwindow) {\n // a TS init segment should contain at least 2 TS packets: PAT and PMT, each starting with 0x47\n var foundPat = false;\n var packetStart = -1;\n var tsPackets = 0;\n for (var j = i; j < length; j += PACKET_LENGTH) {\n if (data[j] === 0x47 && (length - j === PACKET_LENGTH || data[j + PACKET_LENGTH] === 0x47)) {\n tsPackets++;\n if (packetStart === -1) {\n packetStart = j;\n // First sync word found at offset, increase scan length (#5251)\n if (packetStart !== 0) {\n scanwindow = Math.min(packetStart + PACKET_LENGTH * 99, data.length - PACKET_LENGTH) + 1;\n }\n }\n if (!foundPat) {\n foundPat = parsePID(data, j) === 0;\n }\n // Sync word found at 0 with 3 packets, or found at offset least 2 packets up to scanwindow (#5501)\n if (foundPat && tsPackets > 1 && (packetStart === 0 && tsPackets > 2 || j + PACKET_LENGTH > scanwindow)) {\n return packetStart;\n }\n } else if (tsPackets) {\n // Exit if sync word found, but does not contain contiguous packets\n return -1;\n } else {\n break;\n }\n }\n i++;\n }\n return -1;\n }\n\n /**\n * Creates a track model internal to demuxer used to drive remuxing input\n */;\n TSDemuxer.createTrack = function createTrack(type, duration) {\n return {\n container: type === 'video' || type === 'audio' ? 'video/mp2t' : undefined,\n type: type,\n id: RemuxerTrackIdConfig[type],\n pid: -1,\n inputTimeScale: 90000,\n sequenceNumber: 0,\n samples: [],\n dropped: 0,\n duration: type === 'audio' ? duration : undefined\n };\n }\n\n /**\n * Initializes a new init segment on the demuxer/remuxer interface. Needed for discontinuities/track-switches (or at stream start)\n * Resets all internal track instances of the demuxer.\n */;\n var _proto = TSDemuxer.prototype;\n _proto.resetInitSegment = function resetInitSegment(initSegment, audioCodec, videoCodec, trackDuration) {\n this.pmtParsed = false;\n this._pmtId = -1;\n this._videoTrack = TSDemuxer.createTrack('video');\n this._audioTrack = TSDemuxer.createTrack('audio', trackDuration);\n this._id3Track = TSDemuxer.createTrack('id3');\n this._txtTrack = TSDemuxer.createTrack('text');\n this._audioTrack.segmentCodec = 'aac';\n\n // flush any partial content\n this.aacOverFlow = null;\n this.remainderData = null;\n this.audioCodec = audioCodec;\n this.videoCodec = videoCodec;\n this._duration = trackDuration;\n };\n _proto.resetTimeStamp = function resetTimeStamp() {};\n _proto.resetContiguity = function resetContiguity() {\n var _audioTrack = this._audioTrack,\n _videoTrack = this._videoTrack,\n _id3Track = this._id3Track;\n if (_audioTrack) {\n _audioTrack.pesData = null;\n }\n if (_videoTrack) {\n _videoTrack.pesData = null;\n }\n if (_id3Track) {\n _id3Track.pesData = null;\n }\n this.aacOverFlow = null;\n this.remainderData = null;\n };\n _proto.demux = function demux(data, timeOffset, isSampleAes, flush) {\n if (isSampleAes === void 0) {\n isSampleAes = false;\n }\n if (flush === void 0) {\n flush = false;\n }\n if (!isSampleAes) {\n this.sampleAes = null;\n }\n var pes;\n var videoTrack = this._videoTrack;\n var audioTrack = this._audioTrack;\n var id3Track = this._id3Track;\n var textTrack = this._txtTrack;\n var videoPid = videoTrack.pid;\n var videoData = videoTrack.pesData;\n var audioPid = audioTrack.pid;\n var id3Pid = id3Track.pid;\n var audioData = audioTrack.pesData;\n var id3Data = id3Track.pesData;\n var unknownPID = null;\n var pmtParsed = this.pmtParsed;\n var pmtId = this._pmtId;\n var len = data.length;\n if (this.remainderData) {\n data = appendUint8Array(this.remainderData, data);\n len = data.length;\n this.remainderData = null;\n }\n if (len < PACKET_LENGTH && !flush) {\n this.remainderData = data;\n return {\n audioTrack: audioTrack,\n videoTrack: videoTrack,\n id3Track: id3Track,\n textTrack: textTrack\n };\n }\n var syncOffset = Math.max(0, TSDemuxer.syncOffset(data));\n len -= (len - syncOffset) % PACKET_LENGTH;\n if (len < data.byteLength && !flush) {\n this.remainderData = new Uint8Array(data.buffer, len, data.buffer.byteLength - len);\n }\n\n // loop through TS packets\n var tsPacketErrors = 0;\n for (var start = syncOffset; start < len; start += PACKET_LENGTH) {\n if (data[start] === 0x47) {\n var stt = !!(data[start + 1] & 0x40);\n var pid = parsePID(data, start);\n var atf = (data[start + 3] & 0x30) >> 4;\n\n // if an adaption field is present, its length is specified by the fifth byte of the TS packet header.\n var offset = void 0;\n if (atf > 1) {\n offset = start + 5 + data[start + 4];\n // continue if there is only adaptation field\n if (offset === start + PACKET_LENGTH) {\n continue;\n }\n } else {\n offset = start + 4;\n }\n switch (pid) {\n case videoPid:\n if (stt) {\n if (videoData && (pes = parsePES(videoData))) {\n this.videoParser.parseAVCPES(videoTrack, textTrack, pes, false, this._duration);\n }\n videoData = {\n data: [],\n size: 0\n };\n }\n if (videoData) {\n videoData.data.push(data.subarray(offset, start + PACKET_LENGTH));\n videoData.size += start + PACKET_LENGTH - offset;\n }\n break;\n case audioPid:\n if (stt) {\n if (audioData && (pes = parsePES(audioData))) {\n switch (audioTrack.segmentCodec) {\n case 'aac':\n this.parseAACPES(audioTrack, pes);\n break;\n case 'mp3':\n this.parseMPEGPES(audioTrack, pes);\n break;\n case 'ac3':\n {\n this.parseAC3PES(audioTrack, pes);\n }\n break;\n }\n }\n audioData = {\n data: [],\n size: 0\n };\n }\n if (audioData) {\n audioData.data.push(data.subarray(offset, start + PACKET_LENGTH));\n audioData.size += start + PACKET_LENGTH - offset;\n }\n break;\n case id3Pid:\n if (stt) {\n if (id3Data && (pes = parsePES(id3Data))) {\n this.parseID3PES(id3Track, pes);\n }\n id3Data = {\n data: [],\n size: 0\n };\n }\n if (id3Data) {\n id3Data.data.push(data.subarray(offset, start + PACKET_LENGTH));\n id3Data.size += start + PACKET_LENGTH - offset;\n }\n break;\n case 0:\n if (stt) {\n offset += data[offset] + 1;\n }\n pmtId = this._pmtId = parsePAT(data, offset);\n // logger.log('PMT PID:' + this._pmtId);\n break;\n case pmtId:\n {\n if (stt) {\n offset += data[offset] + 1;\n }\n var parsedPIDs = parsePMT(data, offset, this.typeSupported, isSampleAes);\n\n // only update track id if track PID found while parsing PMT\n // this is to avoid resetting the PID to -1 in case\n // track PID transiently disappears from the stream\n // this could happen in case of transient missing audio samples for example\n // NOTE this is only the PID of the track as found in TS,\n // but we are not using this for MP4 track IDs.\n videoPid = parsedPIDs.videoPid;\n if (videoPid > 0) {\n videoTrack.pid = videoPid;\n videoTrack.segmentCodec = parsedPIDs.segmentVideoCodec;\n }\n audioPid = parsedPIDs.audioPid;\n if (audioPid > 0) {\n audioTrack.pid = audioPid;\n audioTrack.segmentCodec = parsedPIDs.segmentAudioCodec;\n }\n id3Pid = parsedPIDs.id3Pid;\n if (id3Pid > 0) {\n id3Track.pid = id3Pid;\n }\n if (unknownPID !== null && !pmtParsed) {\n logger.warn(\"MPEG-TS PMT found at \" + start + \" after unknown PID '\" + unknownPID + \"'. Backtracking to sync byte @\" + syncOffset + \" to parse all TS packets.\");\n unknownPID = null;\n // we set it to -188, the += 188 in the for loop will reset start to 0\n start = syncOffset - 188;\n }\n pmtParsed = this.pmtParsed = true;\n break;\n }\n case 0x11:\n case 0x1fff:\n break;\n default:\n unknownPID = pid;\n break;\n }\n } else {\n tsPacketErrors++;\n }\n }\n if (tsPacketErrors > 0) {\n var error = new Error(\"Found \" + tsPacketErrors + \" TS packet/s that do not start with 0x47\");\n this.observer.emit(Events.ERROR, Events.ERROR, {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.FRAG_PARSING_ERROR,\n fatal: false,\n error: error,\n reason: error.message\n });\n }\n videoTrack.pesData = videoData;\n audioTrack.pesData = audioData;\n id3Track.pesData = id3Data;\n var demuxResult = {\n audioTrack: audioTrack,\n videoTrack: videoTrack,\n id3Track: id3Track,\n textTrack: textTrack\n };\n if (flush) {\n this.extractRemainingSamples(demuxResult);\n }\n return demuxResult;\n };\n _proto.flush = function flush() {\n var remainderData = this.remainderData;\n this.remainderData = null;\n var result;\n if (remainderData) {\n result = this.demux(remainderData, -1, false, true);\n } else {\n result = {\n videoTrack: this._videoTrack,\n audioTrack: this._audioTrack,\n id3Track: this._id3Track,\n textTrack: this._txtTrack\n };\n }\n this.extractRemainingSamples(result);\n if (this.sampleAes) {\n return this.decrypt(result, this.sampleAes);\n }\n return result;\n };\n _proto.extractRemainingSamples = function extractRemainingSamples(demuxResult) {\n var audioTrack = demuxResult.audioTrack,\n videoTrack = demuxResult.videoTrack,\n id3Track = demuxResult.id3Track,\n textTrack = demuxResult.textTrack;\n var videoData = videoTrack.pesData;\n var audioData = audioTrack.pesData;\n var id3Data = id3Track.pesData;\n // try to parse last PES packets\n var pes;\n if (videoData && (pes = parsePES(videoData))) {\n this.videoParser.parseAVCPES(videoTrack, textTrack, pes, true, this._duration);\n videoTrack.pesData = null;\n } else {\n // either avcData null or PES truncated, keep it for next frag parsing\n videoTrack.pesData = videoData;\n }\n if (audioData && (pes = parsePES(audioData))) {\n switch (audioTrack.segmentCodec) {\n case 'aac':\n this.parseAACPES(audioTrack, pes);\n break;\n case 'mp3':\n this.parseMPEGPES(audioTrack, pes);\n break;\n case 'ac3':\n {\n this.parseAC3PES(audioTrack, pes);\n }\n break;\n }\n audioTrack.pesData = null;\n } else {\n if (audioData != null && audioData.size) {\n logger.log('last AAC PES packet truncated,might overlap between fragments');\n }\n\n // either audioData null or PES truncated, keep it for next frag parsing\n audioTrack.pesData = audioData;\n }\n if (id3Data && (pes = parsePES(id3Data))) {\n this.parseID3PES(id3Track, pes);\n id3Track.pesData = null;\n } else {\n // either id3Data null or PES truncated, keep it for next frag parsing\n id3Track.pesData = id3Data;\n }\n };\n _proto.demuxSampleAes = function demuxSampleAes(data, keyData, timeOffset) {\n var demuxResult = this.demux(data, timeOffset, true, !this.config.progressive);\n var sampleAes = this.sampleAes = new SampleAesDecrypter(this.observer, this.config, keyData);\n return this.decrypt(demuxResult, sampleAes);\n };\n _proto.decrypt = function decrypt(demuxResult, sampleAes) {\n return new Promise(function (resolve) {\n var audioTrack = demuxResult.audioTrack,\n videoTrack = demuxResult.videoTrack;\n if (audioTrack.samples && audioTrack.segmentCodec === 'aac') {\n sampleAes.decryptAacSamples(audioTrack.samples, 0, function () {\n if (videoTrack.samples) {\n sampleAes.decryptAvcSamples(videoTrack.samples, 0, 0, function () {\n resolve(demuxResult);\n });\n } else {\n resolve(demuxResult);\n }\n });\n } else if (videoTrack.samples) {\n sampleAes.decryptAvcSamples(videoTrack.samples, 0, 0, function () {\n resolve(demuxResult);\n });\n }\n });\n };\n _proto.destroy = function destroy() {\n this._duration = 0;\n };\n _proto.parseAACPES = function parseAACPES(track, pes) {\n var startOffset = 0;\n var aacOverFlow = this.aacOverFlow;\n var data = pes.data;\n if (aacOverFlow) {\n this.aacOverFlow = null;\n var frameMissingBytes = aacOverFlow.missing;\n var sampleLength = aacOverFlow.sample.unit.byteLength;\n // logger.log(`AAC: append overflowing ${sampleLength} bytes to beginning of new PES`);\n if (frameMissingBytes === -1) {\n data = appendUint8Array(aacOverFlow.sample.unit, data);\n } else {\n var frameOverflowBytes = sampleLength - frameMissingBytes;\n aacOverFlow.sample.unit.set(data.subarray(0, frameMissingBytes), frameOverflowBytes);\n track.samples.push(aacOverFlow.sample);\n startOffset = aacOverFlow.missing;\n }\n }\n // look for ADTS header (0xFFFx)\n var offset;\n var len;\n for (offset = startOffset, len = data.length; offset < len - 1; offset++) {\n if (isHeader$1(data, offset)) {\n break;\n }\n }\n // if ADTS header does not start straight from the beginning of the PES payload, raise an error\n if (offset !== startOffset) {\n var reason;\n var recoverable = offset < len - 1;\n if (recoverable) {\n reason = \"AAC PES did not start with ADTS header,offset:\" + offset;\n } else {\n reason = 'No ADTS header found in AAC PES';\n }\n var error = new Error(reason);\n logger.warn(\"parsing error: \" + reason);\n this.observer.emit(Events.ERROR, Events.ERROR, {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.FRAG_PARSING_ERROR,\n fatal: false,\n levelRetry: recoverable,\n error: error,\n reason: reason\n });\n if (!recoverable) {\n return;\n }\n }\n initTrackConfig(track, this.observer, data, offset, this.audioCodec);\n var pts;\n if (pes.pts !== undefined) {\n pts = pes.pts;\n } else if (aacOverFlow) {\n // if last AAC frame is overflowing, we should ensure timestamps are contiguous:\n // first sample PTS should be equal to last sample PTS + frameDuration\n var frameDuration = getFrameDuration(track.samplerate);\n pts = aacOverFlow.sample.pts + frameDuration;\n } else {\n logger.warn('[tsdemuxer]: AAC PES unknown PTS');\n return;\n }\n\n // scan for aac samples\n var frameIndex = 0;\n var frame;\n while (offset < len) {\n frame = appendFrame$1(track, data, offset, pts, frameIndex);\n offset += frame.length;\n if (!frame.missing) {\n frameIndex++;\n for (; offset < len - 1; offset++) {\n if (isHeader$1(data, offset)) {\n break;\n }\n }\n } else {\n this.aacOverFlow = frame;\n break;\n }\n }\n };\n _proto.parseMPEGPES = function parseMPEGPES(track, pes) {\n var data = pes.data;\n var length = data.length;\n var frameIndex = 0;\n var offset = 0;\n var pts = pes.pts;\n if (pts === undefined) {\n logger.warn('[tsdemuxer]: MPEG PES unknown PTS');\n return;\n }\n while (offset < length) {\n if (isHeader(data, offset)) {\n var frame = appendFrame(track, data, offset, pts, frameIndex);\n if (frame) {\n offset += frame.length;\n frameIndex++;\n } else {\n // logger.log('Unable to parse Mpeg audio frame');\n break;\n }\n } else {\n // nothing found, keep looking\n offset++;\n }\n }\n };\n _proto.parseAC3PES = function parseAC3PES(track, pes) {\n {\n var data = pes.data;\n var pts = pes.pts;\n if (pts === undefined) {\n logger.warn('[tsdemuxer]: AC3 PES unknown PTS');\n return;\n }\n var length = data.length;\n var frameIndex = 0;\n var offset = 0;\n var parsed;\n while (offset < length && (parsed = _appendFrame(track, data, offset, pts, frameIndex++)) > 0) {\n offset += parsed;\n }\n }\n };\n _proto.parseID3PES = function parseID3PES(id3Track, pes) {\n if (pes.pts === undefined) {\n logger.warn('[tsdemuxer]: ID3 PES unknown PTS');\n return;\n }\n var id3Sample = _extends({}, pes, {\n type: this._videoTrack ? MetadataSchema.emsg : MetadataSchema.audioId3,\n duration: Number.POSITIVE_INFINITY\n });\n id3Track.samples.push(id3Sample);\n };\n return TSDemuxer;\n }();\n function parsePID(data, offset) {\n // pid is a 13-bit field starting at the last bit of TS[1]\n return ((data[offset + 1] & 0x1f) << 8) + data[offset + 2];\n }\n function parsePAT(data, offset) {\n // skip the PSI header and parse the first PMT entry\n return (data[offset + 10] & 0x1f) << 8 | data[offset + 11];\n }\n function parsePMT(data, offset, typeSupported, isSampleAes) {\n var result = {\n audioPid: -1,\n videoPid: -1,\n id3Pid: -1,\n segmentVideoCodec: 'avc',\n segmentAudioCodec: 'aac'\n };\n var sectionLength = (data[offset + 1] & 0x0f) << 8 | data[offset + 2];\n var tableEnd = offset + 3 + sectionLength - 4;\n // to determine where the table is, we have to figure out how\n // long the program info descriptors are\n var programInfoLength = (data[offset + 10] & 0x0f) << 8 | data[offset + 11];\n // advance the offset to the first entry in the mapping table\n offset += 12 + programInfoLength;\n while (offset < tableEnd) {\n var pid = parsePID(data, offset);\n var esInfoLength = (data[offset + 3] & 0x0f) << 8 | data[offset + 4];\n switch (data[offset]) {\n case 0xcf:\n // SAMPLE-AES AAC\n if (!isSampleAes) {\n logEncryptedSamplesFoundInUnencryptedStream('ADTS AAC');\n break;\n }\n /* falls through */\n case 0x0f:\n // ISO/IEC 13818-7 ADTS AAC (MPEG-2 lower bit-rate audio)\n // logger.log('AAC PID:' + pid);\n if (result.audioPid === -1) {\n result.audioPid = pid;\n }\n break;\n\n // Packetized metadata (ID3)\n case 0x15:\n // logger.log('ID3 PID:' + pid);\n if (result.id3Pid === -1) {\n result.id3Pid = pid;\n }\n break;\n case 0xdb:\n // SAMPLE-AES AVC\n if (!isSampleAes) {\n logEncryptedSamplesFoundInUnencryptedStream('H.264');\n break;\n }\n /* falls through */\n case 0x1b:\n // ITU-T Rec. H.264 and ISO/IEC 14496-10 (lower bit-rate video)\n // logger.log('AVC PID:' + pid);\n if (result.videoPid === -1) {\n result.videoPid = pid;\n result.segmentVideoCodec = 'avc';\n }\n break;\n\n // ISO/IEC 11172-3 (MPEG-1 audio)\n // or ISO/IEC 13818-3 (MPEG-2 halved sample rate audio)\n case 0x03:\n case 0x04:\n // logger.log('MPEG PID:' + pid);\n if (!typeSupported.mpeg && !typeSupported.mp3) {\n logger.log('MPEG audio found, not supported in this browser');\n } else if (result.audioPid === -1) {\n result.audioPid = pid;\n result.segmentAudioCodec = 'mp3';\n }\n break;\n case 0xc1:\n // SAMPLE-AES AC3\n if (!isSampleAes) {\n logEncryptedSamplesFoundInUnencryptedStream('AC-3');\n break;\n }\n /* falls through */\n case 0x81:\n {\n if (!typeSupported.ac3) {\n logger.log('AC-3 audio found, not supported in this browser');\n } else if (result.audioPid === -1) {\n result.audioPid = pid;\n result.segmentAudioCodec = 'ac3';\n }\n }\n break;\n case 0x06:\n // stream_type 6 can mean a lot of different things in case of DVB.\n // We need to look at the descriptors. Right now, we're only interested\n // in AC-3 audio, so we do the descriptor parsing only when we don't have\n // an audio PID yet.\n if (result.audioPid === -1 && esInfoLength > 0) {\n var parsePos = offset + 5;\n var remaining = esInfoLength;\n while (remaining > 2) {\n var descriptorId = data[parsePos];\n switch (descriptorId) {\n case 0x6a:\n // DVB Descriptor for AC-3\n {\n if (typeSupported.ac3 !== true) {\n logger.log('AC-3 audio found, not supported in this browser for now');\n } else {\n result.audioPid = pid;\n result.segmentAudioCodec = 'ac3';\n }\n }\n break;\n }\n var descriptorLen = data[parsePos + 1] + 2;\n parsePos += descriptorLen;\n remaining -= descriptorLen;\n }\n }\n break;\n case 0xc2: // SAMPLE-AES EC3\n /* falls through */\n case 0x87:\n logger.warn('Unsupported EC-3 in M2TS found');\n break;\n case 0x24:\n logger.warn('Unsupported HEVC in M2TS found');\n break;\n }\n // move to the next table entry\n // skip past the elementary stream descriptors, if present\n offset += esInfoLength + 5;\n }\n return result;\n }\n function logEncryptedSamplesFoundInUnencryptedStream(type) {\n logger.log(type + \" with AES-128-CBC encryption found in unencrypted stream\");\n }\n function parsePES(stream) {\n var i = 0;\n var frag;\n var pesLen;\n var pesHdrLen;\n var pesPts;\n var pesDts;\n var data = stream.data;\n // safety check\n if (!stream || stream.size === 0) {\n return null;\n }\n\n // we might need up to 19 bytes to read PES header\n // if first chunk of data is less than 19 bytes, let's merge it with following ones until we get 19 bytes\n // usually only one merge is needed (and this is rare ...)\n while (data[0].length < 19 && data.length > 1) {\n data[0] = appendUint8Array(data[0], data[1]);\n data.splice(1, 1);\n }\n // retrieve PTS/DTS from first fragment\n frag = data[0];\n var pesPrefix = (frag[0] << 16) + (frag[1] << 8) + frag[2];\n if (pesPrefix === 1) {\n pesLen = (frag[4] << 8) + frag[5];\n // if PES parsed length is not zero and greater than total received length, stop parsing. PES might be truncated\n // minus 6 : PES header size\n if (pesLen && pesLen > stream.size - 6) {\n return null;\n }\n var pesFlags = frag[7];\n if (pesFlags & 0xc0) {\n /* PES header described here : http://dvd.sourceforge.net/dvdinfo/pes-hdr.html\n as PTS / DTS is 33 bit we cannot use bitwise operator in JS,\n as Bitwise operators treat their operands as a sequence of 32 bits */\n pesPts = (frag[9] & 0x0e) * 536870912 +\n // 1 << 29\n (frag[10] & 0xff) * 4194304 +\n // 1 << 22\n (frag[11] & 0xfe) * 16384 +\n // 1 << 14\n (frag[12] & 0xff) * 128 +\n // 1 << 7\n (frag[13] & 0xfe) / 2;\n if (pesFlags & 0x40) {\n pesDts = (frag[14] & 0x0e) * 536870912 +\n // 1 << 29\n (frag[15] & 0xff) * 4194304 +\n // 1 << 22\n (frag[16] & 0xfe) * 16384 +\n // 1 << 14\n (frag[17] & 0xff) * 128 +\n // 1 << 7\n (frag[18] & 0xfe) / 2;\n if (pesPts - pesDts > 60 * 90000) {\n logger.warn(Math.round((pesPts - pesDts) / 90000) + \"s delta between PTS and DTS, align them\");\n pesPts = pesDts;\n }\n } else {\n pesDts = pesPts;\n }\n }\n pesHdrLen = frag[8];\n // 9 bytes : 6 bytes for PES header + 3 bytes for PES extension\n var payloadStartOffset = pesHdrLen + 9;\n if (stream.size <= payloadStartOffset) {\n return null;\n }\n stream.size -= payloadStartOffset;\n // reassemble PES packet\n var pesData = new Uint8Array(stream.size);\n for (var j = 0, dataLen = data.length; j < dataLen; j++) {\n frag = data[j];\n var len = frag.byteLength;\n if (payloadStartOffset) {\n if (payloadStartOffset > len) {\n // trim full frag if PES header bigger than frag\n payloadStartOffset -= len;\n continue;\n } else {\n // trim partial frag if PES header smaller than frag\n frag = frag.subarray(payloadStartOffset);\n len -= payloadStartOffset;\n payloadStartOffset = 0;\n }\n }\n pesData.set(frag, i);\n i += len;\n }\n if (pesLen) {\n // payload size : remove PES header + PES extension\n pesLen -= pesHdrLen + 3;\n }\n return {\n data: pesData,\n pts: pesPts,\n dts: pesDts,\n len: pesLen\n };\n }\n return null;\n }\n\n var MP3Demuxer = /*#__PURE__*/function (_BaseAudioDemuxer) {\n _inheritsLoose(MP3Demuxer, _BaseAudioDemuxer);\n function MP3Demuxer() {\n return _BaseAudioDemuxer.apply(this, arguments) || this;\n }\n var _proto = MP3Demuxer.prototype;\n _proto.resetInitSegment = function resetInitSegment(initSegment, audioCodec, videoCodec, trackDuration) {\n _BaseAudioDemuxer.prototype.resetInitSegment.call(this, initSegment, audioCodec, videoCodec, trackDuration);\n this._audioTrack = {\n container: 'audio/mpeg',\n type: 'audio',\n id: 2,\n pid: -1,\n sequenceNumber: 0,\n segmentCodec: 'mp3',\n samples: [],\n manifestCodec: audioCodec,\n duration: trackDuration,\n inputTimeScale: 90000,\n dropped: 0\n };\n };\n MP3Demuxer.probe = function probe$1(data) {\n if (!data) {\n return false;\n }\n\n // check if data contains ID3 timestamp and MPEG sync word\n // Look for MPEG header | 1111 1111 | 111X XYZX | where X can be either 0 or 1 and Y or Z should be 1\n // Layer bits (position 14 and 15) in header should be always different from 0 (Layer I or Layer II or Layer III)\n // More info http://www.mp3-tech.org/programmer/frame_header.html\n var id3Data = getID3Data(data, 0);\n var offset = (id3Data == null ? void 0 : id3Data.length) || 0;\n\n // Check for ac-3|ec-3 sync bytes and return false if present\n if (id3Data && data[offset] === 0x0b && data[offset + 1] === 0x77 && getTimeStamp(id3Data) !== undefined &&\n // check the bsid to confirm ac-3 or ec-3 (not mp3)\n getAudioBSID(data, offset) <= 16) {\n return false;\n }\n for (var length = data.length; offset < length; offset++) {\n if (probe(data, offset)) {\n logger.log('MPEG Audio sync word found !');\n return true;\n }\n }\n return false;\n };\n _proto.canParse = function canParse$1(data, offset) {\n return canParse(data, offset);\n };\n _proto.appendFrame = function appendFrame$1(track, data, offset) {\n if (this.basePTS === null) {\n return;\n }\n return appendFrame(track, data, offset, this.basePTS, this.frameIndex);\n };\n return MP3Demuxer;\n }(BaseAudioDemuxer);\n\n /**\n * AAC helper\n */\n var AAC = /*#__PURE__*/function () {\n function AAC() {}\n AAC.getSilentFrame = function getSilentFrame(codec, channelCount) {\n switch (codec) {\n case 'mp4a.40.2':\n if (channelCount === 1) {\n return new Uint8Array([0x00, 0xc8, 0x00, 0x80, 0x23, 0x80]);\n } else if (channelCount === 2) {\n return new Uint8Array([0x21, 0x00, 0x49, 0x90, 0x02, 0x19, 0x00, 0x23, 0x80]);\n } else if (channelCount === 3) {\n return new Uint8Array([0x00, 0xc8, 0x00, 0x80, 0x20, 0x84, 0x01, 0x26, 0x40, 0x08, 0x64, 0x00, 0x8e]);\n } else if (channelCount === 4) {\n return new Uint8Array([0x00, 0xc8, 0x00, 0x80, 0x20, 0x84, 0x01, 0x26, 0x40, 0x08, 0x64, 0x00, 0x80, 0x2c, 0x80, 0x08, 0x02, 0x38]);\n } else if (channelCount === 5) {\n return new Uint8Array([0x00, 0xc8, 0x00, 0x80, 0x20, 0x84, 0x01, 0x26, 0x40, 0x08, 0x64, 0x00, 0x82, 0x30, 0x04, 0x99, 0x00, 0x21, 0x90, 0x02, 0x38]);\n } else if (channelCount === 6) {\n return new Uint8Array([0x00, 0xc8, 0x00, 0x80, 0x20, 0x84, 0x01, 0x26, 0x40, 0x08, 0x64, 0x00, 0x82, 0x30, 0x04, 0x99, 0x00, 0x21, 0x90, 0x02, 0x00, 0xb2, 0x00, 0x20, 0x08, 0xe0]);\n }\n break;\n // handle HE-AAC below (mp4a.40.5 / mp4a.40.29)\n default:\n if (channelCount === 1) {\n // ffmpeg -y -f lavfi -i \"aevalsrc=0:d=0.05\" -c:a libfdk_aac -profile:a aac_he -b:a 4k output.aac && hexdump -v -e '16/1 \"0x%x,\" \"\\n\"' -v output.aac\n return new Uint8Array([0x1, 0x40, 0x22, 0x80, 0xa3, 0x4e, 0xe6, 0x80, 0xba, 0x8, 0x0, 0x0, 0x0, 0x1c, 0x6, 0xf1, 0xc1, 0xa, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5e]);\n } else if (channelCount === 2) {\n // ffmpeg -y -f lavfi -i \"aevalsrc=0|0:d=0.05\" -c:a libfdk_aac -profile:a aac_he_v2 -b:a 4k output.aac && hexdump -v -e '16/1 \"0x%x,\" \"\\n\"' -v output.aac\n return new Uint8Array([0x1, 0x40, 0x22, 0x80, 0xa3, 0x5e, 0xe6, 0x80, 0xba, 0x8, 0x0, 0x0, 0x0, 0x0, 0x95, 0x0, 0x6, 0xf1, 0xa1, 0xa, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5e]);\n } else if (channelCount === 3) {\n // ffmpeg -y -f lavfi -i \"aevalsrc=0|0|0:d=0.05\" -c:a libfdk_aac -profile:a aac_he_v2 -b:a 4k output.aac && hexdump -v -e '16/1 \"0x%x,\" \"\\n\"' -v output.aac\n return new Uint8Array([0x1, 0x40, 0x22, 0x80, 0xa3, 0x5e, 0xe6, 0x80, 0xba, 0x8, 0x0, 0x0, 0x0, 0x0, 0x95, 0x0, 0x6, 0xf1, 0xa1, 0xa, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5e]);\n }\n break;\n }\n return undefined;\n };\n return AAC;\n }();\n\n /**\n * Generate MP4 Box\n */\n\n var UINT32_MAX = Math.pow(2, 32) - 1;\n var MP4 = /*#__PURE__*/function () {\n function MP4() {}\n MP4.init = function init() {\n MP4.types = {\n avc1: [],\n // codingname\n avcC: [],\n btrt: [],\n dinf: [],\n dref: [],\n esds: [],\n ftyp: [],\n hdlr: [],\n mdat: [],\n mdhd: [],\n mdia: [],\n mfhd: [],\n minf: [],\n moof: [],\n moov: [],\n mp4a: [],\n '.mp3': [],\n dac3: [],\n 'ac-3': [],\n mvex: [],\n mvhd: [],\n pasp: [],\n sdtp: [],\n stbl: [],\n stco: [],\n stsc: [],\n stsd: [],\n stsz: [],\n stts: [],\n tfdt: [],\n tfhd: [],\n traf: [],\n trak: [],\n trun: [],\n trex: [],\n tkhd: [],\n vmhd: [],\n smhd: []\n };\n var i;\n for (i in MP4.types) {\n if (MP4.types.hasOwnProperty(i)) {\n MP4.types[i] = [i.charCodeAt(0), i.charCodeAt(1), i.charCodeAt(2), i.charCodeAt(3)];\n }\n }\n var videoHdlr = new Uint8Array([0x00,\n // version 0\n 0x00, 0x00, 0x00,\n // flags\n 0x00, 0x00, 0x00, 0x00,\n // pre_defined\n 0x76, 0x69, 0x64, 0x65,\n // handler_type: 'vide'\n 0x00, 0x00, 0x00, 0x00,\n // reserved\n 0x00, 0x00, 0x00, 0x00,\n // reserved\n 0x00, 0x00, 0x00, 0x00,\n // reserved\n 0x56, 0x69, 0x64, 0x65, 0x6f, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x00 // name: 'VideoHandler'\n ]);\n var audioHdlr = new Uint8Array([0x00,\n // version 0\n 0x00, 0x00, 0x00,\n // flags\n 0x00, 0x00, 0x00, 0x00,\n // pre_defined\n 0x73, 0x6f, 0x75, 0x6e,\n // handler_type: 'soun'\n 0x00, 0x00, 0x00, 0x00,\n // reserved\n 0x00, 0x00, 0x00, 0x00,\n // reserved\n 0x00, 0x00, 0x00, 0x00,\n // reserved\n 0x53, 0x6f, 0x75, 0x6e, 0x64, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x00 // name: 'SoundHandler'\n ]);\n MP4.HDLR_TYPES = {\n video: videoHdlr,\n audio: audioHdlr\n };\n var dref = new Uint8Array([0x00,\n // version 0\n 0x00, 0x00, 0x00,\n // flags\n 0x00, 0x00, 0x00, 0x01,\n // entry_count\n 0x00, 0x00, 0x00, 0x0c,\n // entry_size\n 0x75, 0x72, 0x6c, 0x20,\n // 'url' type\n 0x00,\n // version 0\n 0x00, 0x00, 0x01 // entry_flags\n ]);\n var stco = new Uint8Array([0x00,\n // version\n 0x00, 0x00, 0x00,\n // flags\n 0x00, 0x00, 0x00, 0x00 // entry_count\n ]);\n MP4.STTS = MP4.STSC = MP4.STCO = stco;\n MP4.STSZ = new Uint8Array([0x00,\n // version\n 0x00, 0x00, 0x00,\n // flags\n 0x00, 0x00, 0x00, 0x00,\n // sample_size\n 0x00, 0x00, 0x00, 0x00 // sample_count\n ]);\n MP4.VMHD = new Uint8Array([0x00,\n // version\n 0x00, 0x00, 0x01,\n // flags\n 0x00, 0x00,\n // graphicsmode\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // opcolor\n ]);\n MP4.SMHD = new Uint8Array([0x00,\n // version\n 0x00, 0x00, 0x00,\n // flags\n 0x00, 0x00,\n // balance\n 0x00, 0x00 // reserved\n ]);\n MP4.STSD = new Uint8Array([0x00,\n // version 0\n 0x00, 0x00, 0x00,\n // flags\n 0x00, 0x00, 0x00, 0x01]); // entry_count\n\n var majorBrand = new Uint8Array([105, 115, 111, 109]); // isom\n var avc1Brand = new Uint8Array([97, 118, 99, 49]); // avc1\n var minorVersion = new Uint8Array([0, 0, 0, 1]);\n MP4.FTYP = MP4.box(MP4.types.ftyp, majorBrand, minorVersion, majorBrand, avc1Brand);\n MP4.DINF = MP4.box(MP4.types.dinf, MP4.box(MP4.types.dref, dref));\n };\n MP4.box = function box(type) {\n var size = 8;\n for (var _len = arguments.length, payload = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n payload[_key - 1] = arguments[_key];\n }\n var i = payload.length;\n var len = i;\n // calculate the total size we need to allocate\n while (i--) {\n size += payload[i].byteLength;\n }\n var result = new Uint8Array(size);\n result[0] = size >> 24 & 0xff;\n result[1] = size >> 16 & 0xff;\n result[2] = size >> 8 & 0xff;\n result[3] = size & 0xff;\n result.set(type, 4);\n // copy the payload into the result\n for (i = 0, size = 8; i < len; i++) {\n // copy payload[i] array @ offset size\n result.set(payload[i], size);\n size += payload[i].byteLength;\n }\n return result;\n };\n MP4.hdlr = function hdlr(type) {\n return MP4.box(MP4.types.hdlr, MP4.HDLR_TYPES[type]);\n };\n MP4.mdat = function mdat(data) {\n return MP4.box(MP4.types.mdat, data);\n };\n MP4.mdhd = function mdhd(timescale, duration) {\n duration *= timescale;\n var upperWordDuration = Math.floor(duration / (UINT32_MAX + 1));\n var lowerWordDuration = Math.floor(duration % (UINT32_MAX + 1));\n return MP4.box(MP4.types.mdhd, new Uint8Array([0x01,\n // version 1\n 0x00, 0x00, 0x00,\n // flags\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,\n // creation_time\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03,\n // modification_time\n timescale >> 24 & 0xff, timescale >> 16 & 0xff, timescale >> 8 & 0xff, timescale & 0xff,\n // timescale\n upperWordDuration >> 24, upperWordDuration >> 16 & 0xff, upperWordDuration >> 8 & 0xff, upperWordDuration & 0xff, lowerWordDuration >> 24, lowerWordDuration >> 16 & 0xff, lowerWordDuration >> 8 & 0xff, lowerWordDuration & 0xff, 0x55, 0xc4,\n // 'und' language (undetermined)\n 0x00, 0x00]));\n };\n MP4.mdia = function mdia(track) {\n return MP4.box(MP4.types.mdia, MP4.mdhd(track.timescale, track.duration), MP4.hdlr(track.type), MP4.minf(track));\n };\n MP4.mfhd = function mfhd(sequenceNumber) {\n return MP4.box(MP4.types.mfhd, new Uint8Array([0x00, 0x00, 0x00, 0x00,\n // flags\n sequenceNumber >> 24, sequenceNumber >> 16 & 0xff, sequenceNumber >> 8 & 0xff, sequenceNumber & 0xff // sequence_number\n ]));\n };\n MP4.minf = function minf(track) {\n if (track.type === 'audio') {\n return MP4.box(MP4.types.minf, MP4.box(MP4.types.smhd, MP4.SMHD), MP4.DINF, MP4.stbl(track));\n } else {\n return MP4.box(MP4.types.minf, MP4.box(MP4.types.vmhd, MP4.VMHD), MP4.DINF, MP4.stbl(track));\n }\n };\n MP4.moof = function moof(sn, baseMediaDecodeTime, track) {\n return MP4.box(MP4.types.moof, MP4.mfhd(sn), MP4.traf(track, baseMediaDecodeTime));\n };\n MP4.moov = function moov(tracks) {\n var i = tracks.length;\n var boxes = [];\n while (i--) {\n boxes[i] = MP4.trak(tracks[i]);\n }\n return MP4.box.apply(null, [MP4.types.moov, MP4.mvhd(tracks[0].timescale, tracks[0].duration)].concat(boxes).concat(MP4.mvex(tracks)));\n };\n MP4.mvex = function mvex(tracks) {\n var i = tracks.length;\n var boxes = [];\n while (i--) {\n boxes[i] = MP4.trex(tracks[i]);\n }\n return MP4.box.apply(null, [MP4.types.mvex].concat(boxes));\n };\n MP4.mvhd = function mvhd(timescale, duration) {\n duration *= timescale;\n var upperWordDuration = Math.floor(duration / (UINT32_MAX + 1));\n var lowerWordDuration = Math.floor(duration % (UINT32_MAX + 1));\n var bytes = new Uint8Array([0x01,\n // version 1\n 0x00, 0x00, 0x00,\n // flags\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,\n // creation_time\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03,\n // modification_time\n timescale >> 24 & 0xff, timescale >> 16 & 0xff, timescale >> 8 & 0xff, timescale & 0xff,\n // timescale\n upperWordDuration >> 24, upperWordDuration >> 16 & 0xff, upperWordDuration >> 8 & 0xff, upperWordDuration & 0xff, lowerWordDuration >> 24, lowerWordDuration >> 16 & 0xff, lowerWordDuration >> 8 & 0xff, lowerWordDuration & 0xff, 0x00, 0x01, 0x00, 0x00,\n // 1.0 rate\n 0x01, 0x00,\n // 1.0 volume\n 0x00, 0x00,\n // reserved\n 0x00, 0x00, 0x00, 0x00,\n // reserved\n 0x00, 0x00, 0x00, 0x00,\n // reserved\n 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,\n // transformation: unity matrix\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n // pre_defined\n 0xff, 0xff, 0xff, 0xff // next_track_ID\n ]);\n return MP4.box(MP4.types.mvhd, bytes);\n };\n MP4.sdtp = function sdtp(track) {\n var samples = track.samples || [];\n var bytes = new Uint8Array(4 + samples.length);\n var i;\n var flags;\n // leave the full box header (4 bytes) all zero\n // write the sample table\n for (i = 0; i < samples.length; i++) {\n flags = samples[i].flags;\n bytes[i + 4] = flags.dependsOn << 4 | flags.isDependedOn << 2 | flags.hasRedundancy;\n }\n return MP4.box(MP4.types.sdtp, bytes);\n };\n MP4.stbl = function stbl(track) {\n return MP4.box(MP4.types.stbl, MP4.stsd(track), MP4.box(MP4.types.stts, MP4.STTS), MP4.box(MP4.types.stsc, MP4.STSC), MP4.box(MP4.types.stsz, MP4.STSZ), MP4.box(MP4.types.stco, MP4.STCO));\n };\n MP4.avc1 = function avc1(track) {\n var sps = [];\n var pps = [];\n var i;\n var data;\n var len;\n // assemble the SPSs\n\n for (i = 0; i < track.sps.length; i++) {\n data = track.sps[i];\n len = data.byteLength;\n sps.push(len >>> 8 & 0xff);\n sps.push(len & 0xff);\n\n // SPS\n sps = sps.concat(Array.prototype.slice.call(data));\n }\n\n // assemble the PPSs\n for (i = 0; i < track.pps.length; i++) {\n data = track.pps[i];\n len = data.byteLength;\n pps.push(len >>> 8 & 0xff);\n pps.push(len & 0xff);\n pps = pps.concat(Array.prototype.slice.call(data));\n }\n var avcc = MP4.box(MP4.types.avcC, new Uint8Array([0x01,\n // version\n sps[3],\n // profile\n sps[4],\n // profile compat\n sps[5],\n // level\n 0xfc | 3,\n // lengthSizeMinusOne, hard-coded to 4 bytes\n 0xe0 | track.sps.length // 3bit reserved (111) + numOfSequenceParameterSets\n ].concat(sps).concat([track.pps.length // numOfPictureParameterSets\n ]).concat(pps))); // \"PPS\"\n var width = track.width;\n var height = track.height;\n var hSpacing = track.pixelRatio[0];\n var vSpacing = track.pixelRatio[1];\n return MP4.box(MP4.types.avc1, new Uint8Array([0x00, 0x00, 0x00,\n // reserved\n 0x00, 0x00, 0x00,\n // reserved\n 0x00, 0x01,\n // data_reference_index\n 0x00, 0x00,\n // pre_defined\n 0x00, 0x00,\n // reserved\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n // pre_defined\n width >> 8 & 0xff, width & 0xff,\n // width\n height >> 8 & 0xff, height & 0xff,\n // height\n 0x00, 0x48, 0x00, 0x00,\n // horizresolution\n 0x00, 0x48, 0x00, 0x00,\n // vertresolution\n 0x00, 0x00, 0x00, 0x00,\n // reserved\n 0x00, 0x01,\n // frame_count\n 0x12, 0x64, 0x61, 0x69, 0x6c,\n // dailymotion/hls.js\n 0x79, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x68, 0x6c, 0x73, 0x2e, 0x6a, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n // compressorname\n 0x00, 0x18,\n // depth = 24\n 0x11, 0x11]),\n // pre_defined = -1\n avcc, MP4.box(MP4.types.btrt, new Uint8Array([0x00, 0x1c, 0x9c, 0x80,\n // bufferSizeDB\n 0x00, 0x2d, 0xc6, 0xc0,\n // maxBitrate\n 0x00, 0x2d, 0xc6, 0xc0])),\n // avgBitrate\n MP4.box(MP4.types.pasp, new Uint8Array([hSpacing >> 24,\n // hSpacing\n hSpacing >> 16 & 0xff, hSpacing >> 8 & 0xff, hSpacing & 0xff, vSpacing >> 24,\n // vSpacing\n vSpacing >> 16 & 0xff, vSpacing >> 8 & 0xff, vSpacing & 0xff])));\n };\n MP4.esds = function esds(track) {\n var configlen = track.config.length;\n return new Uint8Array([0x00,\n // version 0\n 0x00, 0x00, 0x00,\n // flags\n\n 0x03,\n // descriptor_type\n 0x17 + configlen,\n // length\n 0x00, 0x01,\n // es_id\n 0x00,\n // stream_priority\n\n 0x04,\n // descriptor_type\n 0x0f + configlen,\n // length\n 0x40,\n // codec : mpeg4_audio\n 0x15,\n // stream_type\n 0x00, 0x00, 0x00,\n // buffer_size\n 0x00, 0x00, 0x00, 0x00,\n // maxBitrate\n 0x00, 0x00, 0x00, 0x00,\n // avgBitrate\n\n 0x05 // descriptor_type\n ].concat([configlen]).concat(track.config).concat([0x06, 0x01, 0x02])); // GASpecificConfig)); // length + audio config descriptor\n };\n MP4.audioStsd = function audioStsd(track) {\n var samplerate = track.samplerate;\n return new Uint8Array([0x00, 0x00, 0x00,\n // reserved\n 0x00, 0x00, 0x00,\n // reserved\n 0x00, 0x01,\n // data_reference_index\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n // reserved\n 0x00, track.channelCount,\n // channelcount\n 0x00, 0x10,\n // sampleSize:16bits\n 0x00, 0x00, 0x00, 0x00,\n // reserved2\n samplerate >> 8 & 0xff, samplerate & 0xff,\n //\n 0x00, 0x00]);\n };\n MP4.mp4a = function mp4a(track) {\n return MP4.box(MP4.types.mp4a, MP4.audioStsd(track), MP4.box(MP4.types.esds, MP4.esds(track)));\n };\n MP4.mp3 = function mp3(track) {\n return MP4.box(MP4.types['.mp3'], MP4.audioStsd(track));\n };\n MP4.ac3 = function ac3(track) {\n return MP4.box(MP4.types['ac-3'], MP4.audioStsd(track), MP4.box(MP4.types.dac3, track.config));\n };\n MP4.stsd = function stsd(track) {\n if (track.type === 'audio') {\n if (track.segmentCodec === 'mp3' && track.codec === 'mp3') {\n return MP4.box(MP4.types.stsd, MP4.STSD, MP4.mp3(track));\n }\n if (track.segmentCodec === 'ac3') {\n return MP4.box(MP4.types.stsd, MP4.STSD, MP4.ac3(track));\n }\n return MP4.box(MP4.types.stsd, MP4.STSD, MP4.mp4a(track));\n } else {\n return MP4.box(MP4.types.stsd, MP4.STSD, MP4.avc1(track));\n }\n };\n MP4.tkhd = function tkhd(track) {\n var id = track.id;\n var duration = track.duration * track.timescale;\n var width = track.width;\n var height = track.height;\n var upperWordDuration = Math.floor(duration / (UINT32_MAX + 1));\n var lowerWordDuration = Math.floor(duration % (UINT32_MAX + 1));\n return MP4.box(MP4.types.tkhd, new Uint8Array([0x01,\n // version 1\n 0x00, 0x00, 0x07,\n // flags\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,\n // creation_time\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03,\n // modification_time\n id >> 24 & 0xff, id >> 16 & 0xff, id >> 8 & 0xff, id & 0xff,\n // track_ID\n 0x00, 0x00, 0x00, 0x00,\n // reserved\n upperWordDuration >> 24, upperWordDuration >> 16 & 0xff, upperWordDuration >> 8 & 0xff, upperWordDuration & 0xff, lowerWordDuration >> 24, lowerWordDuration >> 16 & 0xff, lowerWordDuration >> 8 & 0xff, lowerWordDuration & 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n // reserved\n 0x00, 0x00,\n // layer\n 0x00, 0x00,\n // alternate_group\n 0x00, 0x00,\n // non-audio track volume\n 0x00, 0x00,\n // reserved\n 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,\n // transformation: unity matrix\n width >> 8 & 0xff, width & 0xff, 0x00, 0x00,\n // width\n height >> 8 & 0xff, height & 0xff, 0x00, 0x00 // height\n ]));\n };\n MP4.traf = function traf(track, baseMediaDecodeTime) {\n var sampleDependencyTable = MP4.sdtp(track);\n var id = track.id;\n var upperWordBaseMediaDecodeTime = Math.floor(baseMediaDecodeTime / (UINT32_MAX + 1));\n var lowerWordBaseMediaDecodeTime = Math.floor(baseMediaDecodeTime % (UINT32_MAX + 1));\n return MP4.box(MP4.types.traf, MP4.box(MP4.types.tfhd, new Uint8Array([0x00,\n // version 0\n 0x00, 0x00, 0x00,\n // flags\n id >> 24, id >> 16 & 0xff, id >> 8 & 0xff, id & 0xff // track_ID\n ])), MP4.box(MP4.types.tfdt, new Uint8Array([0x01,\n // version 1\n 0x00, 0x00, 0x00,\n // flags\n upperWordBaseMediaDecodeTime >> 24, upperWordBaseMediaDecodeTime >> 16 & 0xff, upperWordBaseMediaDecodeTime >> 8 & 0xff, upperWordBaseMediaDecodeTime & 0xff, lowerWordBaseMediaDecodeTime >> 24, lowerWordBaseMediaDecodeTime >> 16 & 0xff, lowerWordBaseMediaDecodeTime >> 8 & 0xff, lowerWordBaseMediaDecodeTime & 0xff])), MP4.trun(track, sampleDependencyTable.length + 16 +\n // tfhd\n 20 +\n // tfdt\n 8 +\n // traf header\n 16 +\n // mfhd\n 8 +\n // moof header\n 8),\n // mdat header\n sampleDependencyTable);\n }\n\n /**\n * Generate a track box.\n * @param track a track definition\n */;\n MP4.trak = function trak(track) {\n track.duration = track.duration || 0xffffffff;\n return MP4.box(MP4.types.trak, MP4.tkhd(track), MP4.mdia(track));\n };\n MP4.trex = function trex(track) {\n var id = track.id;\n return MP4.box(MP4.types.trex, new Uint8Array([0x00,\n // version 0\n 0x00, 0x00, 0x00,\n // flags\n id >> 24, id >> 16 & 0xff, id >> 8 & 0xff, id & 0xff,\n // track_ID\n 0x00, 0x00, 0x00, 0x01,\n // default_sample_description_index\n 0x00, 0x00, 0x00, 0x00,\n // default_sample_duration\n 0x00, 0x00, 0x00, 0x00,\n // default_sample_size\n 0x00, 0x01, 0x00, 0x01 // default_sample_flags\n ]));\n };\n MP4.trun = function trun(track, offset) {\n var samples = track.samples || [];\n var len = samples.length;\n var arraylen = 12 + 16 * len;\n var array = new Uint8Array(arraylen);\n var i;\n var sample;\n var duration;\n var size;\n var flags;\n var cts;\n offset += 8 + arraylen;\n array.set([track.type === 'video' ? 0x01 : 0x00,\n // version 1 for video with signed-int sample_composition_time_offset\n 0x00, 0x0f, 0x01,\n // flags\n len >>> 24 & 0xff, len >>> 16 & 0xff, len >>> 8 & 0xff, len & 0xff,\n // sample_count\n offset >>> 24 & 0xff, offset >>> 16 & 0xff, offset >>> 8 & 0xff, offset & 0xff // data_offset\n ], 0);\n for (i = 0; i < len; i++) {\n sample = samples[i];\n duration = sample.duration;\n size = sample.size;\n flags = sample.flags;\n cts = sample.cts;\n array.set([duration >>> 24 & 0xff, duration >>> 16 & 0xff, duration >>> 8 & 0xff, duration & 0xff,\n // sample_duration\n size >>> 24 & 0xff, size >>> 16 & 0xff, size >>> 8 & 0xff, size & 0xff,\n // sample_size\n flags.isLeading << 2 | flags.dependsOn, flags.isDependedOn << 6 | flags.hasRedundancy << 4 | flags.paddingValue << 1 | flags.isNonSync, flags.degradPrio & 0xf0 << 8, flags.degradPrio & 0x0f,\n // sample_flags\n cts >>> 24 & 0xff, cts >>> 16 & 0xff, cts >>> 8 & 0xff, cts & 0xff // sample_composition_time_offset\n ], 12 + 16 * i);\n }\n return MP4.box(MP4.types.trun, array);\n };\n MP4.initSegment = function initSegment(tracks) {\n if (!MP4.types) {\n MP4.init();\n }\n var movie = MP4.moov(tracks);\n var result = appendUint8Array(MP4.FTYP, movie);\n return result;\n };\n return MP4;\n }();\n MP4.types = void 0;\n MP4.HDLR_TYPES = void 0;\n MP4.STTS = void 0;\n MP4.STSC = void 0;\n MP4.STCO = void 0;\n MP4.STSZ = void 0;\n MP4.VMHD = void 0;\n MP4.SMHD = void 0;\n MP4.STSD = void 0;\n MP4.FTYP = void 0;\n MP4.DINF = void 0;\n\n var MPEG_TS_CLOCK_FREQ_HZ = 90000;\n function toTimescaleFromBase(baseTime, destScale, srcBase, round) {\n if (srcBase === void 0) {\n srcBase = 1;\n }\n if (round === void 0) {\n round = false;\n }\n var result = baseTime * destScale * srcBase; // equivalent to `(value * scale) / (1 / base)`\n return round ? Math.round(result) : result;\n }\n function toTimescaleFromScale(baseTime, destScale, srcScale, round) {\n if (srcScale === void 0) {\n srcScale = 1;\n }\n if (round === void 0) {\n round = false;\n }\n return toTimescaleFromBase(baseTime, destScale, 1 / srcScale, round);\n }\n function toMsFromMpegTsClock(baseTime, round) {\n if (round === void 0) {\n round = false;\n }\n return toTimescaleFromBase(baseTime, 1000, 1 / MPEG_TS_CLOCK_FREQ_HZ, round);\n }\n function toMpegTsClockFromTimescale(baseTime, srcScale) {\n if (srcScale === void 0) {\n srcScale = 1;\n }\n return toTimescaleFromBase(baseTime, MPEG_TS_CLOCK_FREQ_HZ, 1 / srcScale);\n }\n\n var MAX_SILENT_FRAME_DURATION = 10 * 1000; // 10 seconds\n var AAC_SAMPLES_PER_FRAME = 1024;\n var MPEG_AUDIO_SAMPLE_PER_FRAME = 1152;\n var AC3_SAMPLES_PER_FRAME = 1536;\n var chromeVersion = null;\n var safariWebkitVersion = null;\n var MP4Remuxer = /*#__PURE__*/function () {\n function MP4Remuxer(observer, config, typeSupported, vendor) {\n this.observer = void 0;\n this.config = void 0;\n this.typeSupported = void 0;\n this.ISGenerated = false;\n this._initPTS = null;\n this._initDTS = null;\n this.nextAvcDts = null;\n this.nextAudioPts = null;\n this.videoSampleDuration = null;\n this.isAudioContiguous = false;\n this.isVideoContiguous = false;\n this.videoTrackConfig = void 0;\n this.observer = observer;\n this.config = config;\n this.typeSupported = typeSupported;\n this.ISGenerated = false;\n if (chromeVersion === null) {\n var userAgent = navigator.userAgent || '';\n var result = userAgent.match(/Chrome\\/(\\d+)/i);\n chromeVersion = result ? parseInt(result[1]) : 0;\n }\n if (safariWebkitVersion === null) {\n var _result = navigator.userAgent.match(/Safari\\/(\\d+)/i);\n safariWebkitVersion = _result ? parseInt(_result[1]) : 0;\n }\n }\n var _proto = MP4Remuxer.prototype;\n _proto.destroy = function destroy() {\n // @ts-ignore\n this.config = this.videoTrackConfig = this._initPTS = this._initDTS = null;\n };\n _proto.resetTimeStamp = function resetTimeStamp(defaultTimeStamp) {\n logger.log('[mp4-remuxer]: initPTS & initDTS reset');\n this._initPTS = this._initDTS = defaultTimeStamp;\n };\n _proto.resetNextTimestamp = function resetNextTimestamp() {\n logger.log('[mp4-remuxer]: reset next timestamp');\n this.isVideoContiguous = false;\n this.isAudioContiguous = false;\n };\n _proto.resetInitSegment = function resetInitSegment() {\n logger.log('[mp4-remuxer]: ISGenerated flag reset');\n this.ISGenerated = false;\n this.videoTrackConfig = undefined;\n };\n _proto.getVideoStartPts = function getVideoStartPts(videoSamples) {\n var rolloverDetected = false;\n var startPTS = videoSamples.reduce(function (minPTS, sample) {\n var delta = sample.pts - minPTS;\n if (delta < -4294967296) {\n // 2^32, see PTSNormalize for reasoning, but we're hitting a rollover here, and we don't want that to impact the timeOffset calculation\n rolloverDetected = true;\n return normalizePts(minPTS, sample.pts);\n } else if (delta > 0) {\n return minPTS;\n } else {\n return sample.pts;\n }\n }, videoSamples[0].pts);\n if (rolloverDetected) {\n logger.debug('PTS rollover detected');\n }\n return startPTS;\n };\n _proto.remux = function remux(audioTrack, videoTrack, id3Track, textTrack, timeOffset, accurateTimeOffset, flush, playlistType) {\n var video;\n var audio;\n var initSegment;\n var text;\n var id3;\n var independent;\n var audioTimeOffset = timeOffset;\n var videoTimeOffset = timeOffset;\n\n // If we're remuxing audio and video progressively, wait until we've received enough samples for each track before proceeding.\n // This is done to synchronize the audio and video streams. We know if the current segment will have samples if the \"pid\"\n // parameter is greater than -1. The pid is set when the PMT is parsed, which contains the tracks list.\n // However, if the initSegment has already been generated, or we've reached the end of a segment (flush),\n // then we can remux one track without waiting for the other.\n var hasAudio = audioTrack.pid > -1;\n var hasVideo = videoTrack.pid > -1;\n var length = videoTrack.samples.length;\n var enoughAudioSamples = audioTrack.samples.length > 0;\n var enoughVideoSamples = flush && length > 0 || length > 1;\n var canRemuxAvc = (!hasAudio || enoughAudioSamples) && (!hasVideo || enoughVideoSamples) || this.ISGenerated || flush;\n if (canRemuxAvc) {\n if (this.ISGenerated) {\n var _videoTrack$pixelRati, _config$pixelRatio, _videoTrack$pixelRati2, _config$pixelRatio2;\n var config = this.videoTrackConfig;\n if (config && (videoTrack.width !== config.width || videoTrack.height !== config.height || ((_videoTrack$pixelRati = videoTrack.pixelRatio) == null ? void 0 : _videoTrack$pixelRati[0]) !== ((_config$pixelRatio = config.pixelRatio) == null ? void 0 : _config$pixelRatio[0]) || ((_videoTrack$pixelRati2 = videoTrack.pixelRatio) == null ? void 0 : _videoTrack$pixelRati2[1]) !== ((_config$pixelRatio2 = config.pixelRatio) == null ? void 0 : _config$pixelRatio2[1]))) {\n this.resetInitSegment();\n }\n } else {\n initSegment = this.generateIS(audioTrack, videoTrack, timeOffset, accurateTimeOffset);\n }\n var isVideoContiguous = this.isVideoContiguous;\n var firstKeyFrameIndex = -1;\n var firstKeyFramePTS;\n if (enoughVideoSamples) {\n firstKeyFrameIndex = findKeyframeIndex(videoTrack.samples);\n if (!isVideoContiguous && this.config.forceKeyFrameOnDiscontinuity) {\n independent = true;\n if (firstKeyFrameIndex > 0) {\n logger.warn(\"[mp4-remuxer]: Dropped \" + firstKeyFrameIndex + \" out of \" + length + \" video samples due to a missing keyframe\");\n var startPTS = this.getVideoStartPts(videoTrack.samples);\n videoTrack.samples = videoTrack.samples.slice(firstKeyFrameIndex);\n videoTrack.dropped += firstKeyFrameIndex;\n videoTimeOffset += (videoTrack.samples[0].pts - startPTS) / videoTrack.inputTimeScale;\n firstKeyFramePTS = videoTimeOffset;\n } else if (firstKeyFrameIndex === -1) {\n logger.warn(\"[mp4-remuxer]: No keyframe found out of \" + length + \" video samples\");\n independent = false;\n }\n }\n }\n if (this.ISGenerated) {\n if (enoughAudioSamples && enoughVideoSamples) {\n // timeOffset is expected to be the offset of the first timestamp of this fragment (first DTS)\n // if first audio DTS is not aligned with first video DTS then we need to take that into account\n // when providing timeOffset to remuxAudio / remuxVideo. if we don't do that, there might be a permanent / small\n // drift between audio and video streams\n var _startPTS = this.getVideoStartPts(videoTrack.samples);\n var tsDelta = normalizePts(audioTrack.samples[0].pts, _startPTS) - _startPTS;\n var audiovideoTimestampDelta = tsDelta / videoTrack.inputTimeScale;\n audioTimeOffset += Math.max(0, audiovideoTimestampDelta);\n videoTimeOffset += Math.max(0, -audiovideoTimestampDelta);\n }\n\n // Purposefully remuxing audio before video, so that remuxVideo can use nextAudioPts, which is calculated in remuxAudio.\n if (enoughAudioSamples) {\n // if initSegment was generated without audio samples, regenerate it again\n if (!audioTrack.samplerate) {\n logger.warn('[mp4-remuxer]: regenerate InitSegment as audio detected');\n initSegment = this.generateIS(audioTrack, videoTrack, timeOffset, accurateTimeOffset);\n }\n audio = this.remuxAudio(audioTrack, audioTimeOffset, this.isAudioContiguous, accurateTimeOffset, hasVideo || enoughVideoSamples || playlistType === PlaylistLevelType.AUDIO ? videoTimeOffset : undefined);\n if (enoughVideoSamples) {\n var audioTrackLength = audio ? audio.endPTS - audio.startPTS : 0;\n // if initSegment was generated without video samples, regenerate it again\n if (!videoTrack.inputTimeScale) {\n logger.warn('[mp4-remuxer]: regenerate InitSegment as video detected');\n initSegment = this.generateIS(audioTrack, videoTrack, timeOffset, accurateTimeOffset);\n }\n video = this.remuxVideo(videoTrack, videoTimeOffset, isVideoContiguous, audioTrackLength);\n }\n } else if (enoughVideoSamples) {\n video = this.remuxVideo(videoTrack, videoTimeOffset, isVideoContiguous, 0);\n }\n if (video) {\n video.firstKeyFrame = firstKeyFrameIndex;\n video.independent = firstKeyFrameIndex !== -1;\n video.firstKeyFramePTS = firstKeyFramePTS;\n }\n }\n }\n\n // Allow ID3 and text to remux, even if more audio/video samples are required\n if (this.ISGenerated && this._initPTS && this._initDTS) {\n if (id3Track.samples.length) {\n id3 = flushTextTrackMetadataCueSamples(id3Track, timeOffset, this._initPTS, this._initDTS);\n }\n if (textTrack.samples.length) {\n text = flushTextTrackUserdataCueSamples(textTrack, timeOffset, this._initPTS);\n }\n }\n return {\n audio: audio,\n video: video,\n initSegment: initSegment,\n independent: independent,\n text: text,\n id3: id3\n };\n };\n _proto.generateIS = function generateIS(audioTrack, videoTrack, timeOffset, accurateTimeOffset) {\n var audioSamples = audioTrack.samples;\n var videoSamples = videoTrack.samples;\n var typeSupported = this.typeSupported;\n var tracks = {};\n var _initPTS = this._initPTS;\n var computePTSDTS = !_initPTS || accurateTimeOffset;\n var container = 'audio/mp4';\n var initPTS;\n var initDTS;\n var timescale;\n if (computePTSDTS) {\n initPTS = initDTS = Infinity;\n }\n if (audioTrack.config && audioSamples.length) {\n // let's use audio sampling rate as MP4 time scale.\n // rationale is that there is a integer nb of audio frames per audio sample (1024 for AAC)\n // using audio sampling rate here helps having an integer MP4 frame duration\n // this avoids potential rounding issue and AV sync issue\n audioTrack.timescale = audioTrack.samplerate;\n switch (audioTrack.segmentCodec) {\n case 'mp3':\n if (typeSupported.mpeg) {\n // Chrome and Safari\n container = 'audio/mpeg';\n audioTrack.codec = '';\n } else if (typeSupported.mp3) {\n // Firefox\n audioTrack.codec = 'mp3';\n }\n break;\n case 'ac3':\n audioTrack.codec = 'ac-3';\n break;\n }\n tracks.audio = {\n id: 'audio',\n container: container,\n codec: audioTrack.codec,\n initSegment: audioTrack.segmentCodec === 'mp3' && typeSupported.mpeg ? new Uint8Array(0) : MP4.initSegment([audioTrack]),\n metadata: {\n channelCount: audioTrack.channelCount\n }\n };\n if (computePTSDTS) {\n timescale = audioTrack.inputTimeScale;\n if (!_initPTS || timescale !== _initPTS.timescale) {\n // remember first PTS of this demuxing context. for audio, PTS = DTS\n initPTS = initDTS = audioSamples[0].pts - Math.round(timescale * timeOffset);\n } else {\n computePTSDTS = false;\n }\n }\n }\n if (videoTrack.sps && videoTrack.pps && videoSamples.length) {\n // let's use input time scale as MP4 video timescale\n // we use input time scale straight away to avoid rounding issues on frame duration / cts computation\n videoTrack.timescale = videoTrack.inputTimeScale;\n tracks.video = {\n id: 'main',\n container: 'video/mp4',\n codec: videoTrack.codec,\n initSegment: MP4.initSegment([videoTrack]),\n metadata: {\n width: videoTrack.width,\n height: videoTrack.height\n }\n };\n if (computePTSDTS) {\n timescale = videoTrack.inputTimeScale;\n if (!_initPTS || timescale !== _initPTS.timescale) {\n var startPTS = this.getVideoStartPts(videoSamples);\n var startOffset = Math.round(timescale * timeOffset);\n initDTS = Math.min(initDTS, normalizePts(videoSamples[0].dts, startPTS) - startOffset);\n initPTS = Math.min(initPTS, startPTS - startOffset);\n } else {\n computePTSDTS = false;\n }\n }\n this.videoTrackConfig = {\n width: videoTrack.width,\n height: videoTrack.height,\n pixelRatio: videoTrack.pixelRatio\n };\n }\n if (Object.keys(tracks).length) {\n this.ISGenerated = true;\n if (computePTSDTS) {\n this._initPTS = {\n baseTime: initPTS,\n timescale: timescale\n };\n this._initDTS = {\n baseTime: initDTS,\n timescale: timescale\n };\n } else {\n initPTS = timescale = undefined;\n }\n return {\n tracks: tracks,\n initPTS: initPTS,\n timescale: timescale\n };\n }\n };\n _proto.remuxVideo = function remuxVideo(track, timeOffset, contiguous, audioTrackLength) {\n var timeScale = track.inputTimeScale;\n var inputSamples = track.samples;\n var outputSamples = [];\n var nbSamples = inputSamples.length;\n var initPTS = this._initPTS;\n var nextAvcDts = this.nextAvcDts;\n var offset = 8;\n var mp4SampleDuration = this.videoSampleDuration;\n var firstDTS;\n var lastDTS;\n var minPTS = Number.POSITIVE_INFINITY;\n var maxPTS = Number.NEGATIVE_INFINITY;\n var sortSamples = false;\n\n // if parsed fragment is contiguous with last one, let's use last DTS value as reference\n if (!contiguous || nextAvcDts === null) {\n var pts = timeOffset * timeScale;\n var cts = inputSamples[0].pts - normalizePts(inputSamples[0].dts, inputSamples[0].pts);\n if (chromeVersion && nextAvcDts !== null && Math.abs(pts - cts - nextAvcDts) < 15000) {\n // treat as contigous to adjust samples that would otherwise produce video buffer gaps in Chrome\n contiguous = true;\n } else {\n // if not contiguous, let's use target timeOffset\n nextAvcDts = pts - cts;\n }\n }\n\n // PTS is coded on 33bits, and can loop from -2^32 to 2^32\n // PTSNormalize will make PTS/DTS value monotonic, we use last known DTS value as reference value\n var initTime = initPTS.baseTime * timeScale / initPTS.timescale;\n for (var i = 0; i < nbSamples; i++) {\n var sample = inputSamples[i];\n sample.pts = normalizePts(sample.pts - initTime, nextAvcDts);\n sample.dts = normalizePts(sample.dts - initTime, nextAvcDts);\n if (sample.dts < inputSamples[i > 0 ? i - 1 : i].dts) {\n sortSamples = true;\n }\n }\n\n // sort video samples by DTS then PTS then demux id order\n if (sortSamples) {\n inputSamples.sort(function (a, b) {\n var deltadts = a.dts - b.dts;\n var deltapts = a.pts - b.pts;\n return deltadts || deltapts;\n });\n }\n\n // Get first/last DTS\n firstDTS = inputSamples[0].dts;\n lastDTS = inputSamples[inputSamples.length - 1].dts;\n\n // Sample duration (as expected by trun MP4 boxes), should be the delta between sample DTS\n // set this constant duration as being the avg delta between consecutive DTS.\n var inputDuration = lastDTS - firstDTS;\n var averageSampleDuration = inputDuration ? Math.round(inputDuration / (nbSamples - 1)) : mp4SampleDuration || track.inputTimeScale / 30;\n\n // if fragment are contiguous, detect hole/overlapping between fragments\n if (contiguous) {\n // check timestamp continuity across consecutive fragments (this is to remove inter-fragment gap/hole)\n var delta = firstDTS - nextAvcDts;\n var foundHole = delta > averageSampleDuration;\n var foundOverlap = delta < -1;\n if (foundHole || foundOverlap) {\n if (foundHole) {\n logger.warn(\"AVC: \" + toMsFromMpegTsClock(delta, true) + \" ms (\" + delta + \"dts) hole between fragments detected at \" + timeOffset.toFixed(3));\n } else {\n logger.warn(\"AVC: \" + toMsFromMpegTsClock(-delta, true) + \" ms (\" + delta + \"dts) overlapping between fragments detected at \" + timeOffset.toFixed(3));\n }\n if (!foundOverlap || nextAvcDts >= inputSamples[0].pts || chromeVersion) {\n firstDTS = nextAvcDts;\n var firstPTS = inputSamples[0].pts - delta;\n if (foundHole) {\n inputSamples[0].dts = firstDTS;\n inputSamples[0].pts = firstPTS;\n } else {\n for (var _i = 0; _i < inputSamples.length; _i++) {\n if (inputSamples[_i].dts > firstPTS) {\n break;\n }\n inputSamples[_i].dts -= delta;\n inputSamples[_i].pts -= delta;\n }\n }\n logger.log(\"Video: Initial PTS/DTS adjusted: \" + toMsFromMpegTsClock(firstPTS, true) + \"/\" + toMsFromMpegTsClock(firstDTS, true) + \", delta: \" + toMsFromMpegTsClock(delta, true) + \" ms\");\n }\n }\n }\n firstDTS = Math.max(0, firstDTS);\n var nbNalu = 0;\n var naluLen = 0;\n var dtsStep = firstDTS;\n for (var _i2 = 0; _i2 < nbSamples; _i2++) {\n // compute total/avc sample length and nb of NAL units\n var _sample = inputSamples[_i2];\n var units = _sample.units;\n var nbUnits = units.length;\n var sampleLen = 0;\n for (var j = 0; j < nbUnits; j++) {\n sampleLen += units[j].data.length;\n }\n naluLen += sampleLen;\n nbNalu += nbUnits;\n _sample.length = sampleLen;\n\n // ensure sample monotonic DTS\n if (_sample.dts < dtsStep) {\n _sample.dts = dtsStep;\n dtsStep += averageSampleDuration / 4 | 0 || 1;\n } else {\n dtsStep = _sample.dts;\n }\n minPTS = Math.min(_sample.pts, minPTS);\n maxPTS = Math.max(_sample.pts, maxPTS);\n }\n lastDTS = inputSamples[nbSamples - 1].dts;\n\n /* concatenate the video data and construct the mdat in place\n (need 8 more bytes to fill length and mpdat type) */\n var mdatSize = naluLen + 4 * nbNalu + 8;\n var mdat;\n try {\n mdat = new Uint8Array(mdatSize);\n } catch (err) {\n this.observer.emit(Events.ERROR, Events.ERROR, {\n type: ErrorTypes.MUX_ERROR,\n details: ErrorDetails.REMUX_ALLOC_ERROR,\n fatal: false,\n error: err,\n bytes: mdatSize,\n reason: \"fail allocating video mdat \" + mdatSize\n });\n return;\n }\n var view = new DataView(mdat.buffer);\n view.setUint32(0, mdatSize);\n mdat.set(MP4.types.mdat, 4);\n var stretchedLastFrame = false;\n var minDtsDelta = Number.POSITIVE_INFINITY;\n var minPtsDelta = Number.POSITIVE_INFINITY;\n var maxDtsDelta = Number.NEGATIVE_INFINITY;\n var maxPtsDelta = Number.NEGATIVE_INFINITY;\n for (var _i3 = 0; _i3 < nbSamples; _i3++) {\n var _VideoSample = inputSamples[_i3];\n var VideoSampleUnits = _VideoSample.units;\n var mp4SampleLength = 0;\n // convert NALU bitstream to MP4 format (prepend NALU with size field)\n for (var _j = 0, _nbUnits = VideoSampleUnits.length; _j < _nbUnits; _j++) {\n var unit = VideoSampleUnits[_j];\n var unitData = unit.data;\n var unitDataLen = unit.data.byteLength;\n view.setUint32(offset, unitDataLen);\n offset += 4;\n mdat.set(unitData, offset);\n offset += unitDataLen;\n mp4SampleLength += 4 + unitDataLen;\n }\n\n // expected sample duration is the Decoding Timestamp diff of consecutive samples\n var ptsDelta = void 0;\n if (_i3 < nbSamples - 1) {\n mp4SampleDuration = inputSamples[_i3 + 1].dts - _VideoSample.dts;\n ptsDelta = inputSamples[_i3 + 1].pts - _VideoSample.pts;\n } else {\n var config = this.config;\n var lastFrameDuration = _i3 > 0 ? _VideoSample.dts - inputSamples[_i3 - 1].dts : averageSampleDuration;\n ptsDelta = _i3 > 0 ? _VideoSample.pts - inputSamples[_i3 - 1].pts : averageSampleDuration;\n if (config.stretchShortVideoTrack && this.nextAudioPts !== null) {\n // In some cases, a segment's audio track duration may exceed the video track duration.\n // Since we've already remuxed audio, and we know how long the audio track is, we look to\n // see if the delta to the next segment is longer than maxBufferHole.\n // If so, playback would potentially get stuck, so we artificially inflate\n // the duration of the last frame to minimize any potential gap between segments.\n var gapTolerance = Math.floor(config.maxBufferHole * timeScale);\n var deltaToFrameEnd = (audioTrackLength ? minPTS + audioTrackLength * timeScale : this.nextAudioPts) - _VideoSample.pts;\n if (deltaToFrameEnd > gapTolerance) {\n // We subtract lastFrameDuration from deltaToFrameEnd to try to prevent any video\n // frame overlap. maxBufferHole should be >> lastFrameDuration anyway.\n mp4SampleDuration = deltaToFrameEnd - lastFrameDuration;\n if (mp4SampleDuration < 0) {\n mp4SampleDuration = lastFrameDuration;\n } else {\n stretchedLastFrame = true;\n }\n logger.log(\"[mp4-remuxer]: It is approximately \" + deltaToFrameEnd / 90 + \" ms to the next segment; using duration \" + mp4SampleDuration / 90 + \" ms for the last video frame.\");\n } else {\n mp4SampleDuration = lastFrameDuration;\n }\n } else {\n mp4SampleDuration = lastFrameDuration;\n }\n }\n var compositionTimeOffset = Math.round(_VideoSample.pts - _VideoSample.dts);\n minDtsDelta = Math.min(minDtsDelta, mp4SampleDuration);\n maxDtsDelta = Math.max(maxDtsDelta, mp4SampleDuration);\n minPtsDelta = Math.min(minPtsDelta, ptsDelta);\n maxPtsDelta = Math.max(maxPtsDelta, ptsDelta);\n outputSamples.push(new Mp4Sample(_VideoSample.key, mp4SampleDuration, mp4SampleLength, compositionTimeOffset));\n }\n if (outputSamples.length) {\n if (chromeVersion) {\n if (chromeVersion < 70) {\n // Chrome workaround, mark first sample as being a Random Access Point (keyframe) to avoid sourcebuffer append issue\n // https://code.google.com/p/chromium/issues/detail?id=229412\n var flags = outputSamples[0].flags;\n flags.dependsOn = 2;\n flags.isNonSync = 0;\n }\n } else if (safariWebkitVersion) {\n // Fix for \"CNN special report, with CC\" in test-streams (Safari browser only)\n // Ignore DTS when frame durations are irregular. Safari MSE does not handle this leading to gaps.\n if (maxPtsDelta - minPtsDelta < maxDtsDelta - minDtsDelta && averageSampleDuration / maxDtsDelta < 0.025 && outputSamples[0].cts === 0) {\n logger.warn('Found irregular gaps in sample duration. Using PTS instead of DTS to determine MP4 sample duration.');\n var dts = firstDTS;\n for (var _i4 = 0, len = outputSamples.length; _i4 < len; _i4++) {\n var nextDts = dts + outputSamples[_i4].duration;\n var _pts = dts + outputSamples[_i4].cts;\n if (_i4 < len - 1) {\n var nextPts = nextDts + outputSamples[_i4 + 1].cts;\n outputSamples[_i4].duration = nextPts - _pts;\n } else {\n outputSamples[_i4].duration = _i4 ? outputSamples[_i4 - 1].duration : averageSampleDuration;\n }\n outputSamples[_i4].cts = 0;\n dts = nextDts;\n }\n }\n }\n }\n // next AVC sample DTS should be equal to last sample DTS + last sample duration (in PES timescale)\n mp4SampleDuration = stretchedLastFrame || !mp4SampleDuration ? averageSampleDuration : mp4SampleDuration;\n this.nextAvcDts = nextAvcDts = lastDTS + mp4SampleDuration;\n this.videoSampleDuration = mp4SampleDuration;\n this.isVideoContiguous = true;\n var moof = MP4.moof(track.sequenceNumber++, firstDTS, _extends({}, track, {\n samples: outputSamples\n }));\n var type = 'video';\n var data = {\n data1: moof,\n data2: mdat,\n startPTS: minPTS / timeScale,\n endPTS: (maxPTS + mp4SampleDuration) / timeScale,\n startDTS: firstDTS / timeScale,\n endDTS: nextAvcDts / timeScale,\n type: type,\n hasAudio: false,\n hasVideo: true,\n nb: outputSamples.length,\n dropped: track.dropped\n };\n track.samples = [];\n track.dropped = 0;\n return data;\n };\n _proto.getSamplesPerFrame = function getSamplesPerFrame(track) {\n switch (track.segmentCodec) {\n case 'mp3':\n return MPEG_AUDIO_SAMPLE_PER_FRAME;\n case 'ac3':\n return AC3_SAMPLES_PER_FRAME;\n default:\n return AAC_SAMPLES_PER_FRAME;\n }\n };\n _proto.remuxAudio = function remuxAudio(track, timeOffset, contiguous, accurateTimeOffset, videoTimeOffset) {\n var inputTimeScale = track.inputTimeScale;\n var mp4timeScale = track.samplerate ? track.samplerate : inputTimeScale;\n var scaleFactor = inputTimeScale / mp4timeScale;\n var mp4SampleDuration = this.getSamplesPerFrame(track);\n var inputSampleDuration = mp4SampleDuration * scaleFactor;\n var initPTS = this._initPTS;\n var rawMPEG = track.segmentCodec === 'mp3' && this.typeSupported.mpeg;\n var outputSamples = [];\n var alignedWithVideo = videoTimeOffset !== undefined;\n var inputSamples = track.samples;\n var offset = rawMPEG ? 0 : 8;\n var nextAudioPts = this.nextAudioPts || -1;\n\n // window.audioSamples ? window.audioSamples.push(inputSamples.map(s => s.pts)) : (window.audioSamples = [inputSamples.map(s => s.pts)]);\n\n // for audio samples, also consider consecutive fragments as being contiguous (even if a level switch occurs),\n // for sake of clarity:\n // consecutive fragments are frags with\n // - less than 100ms gaps between new time offset (if accurate) and next expected PTS OR\n // - less than 20 audio frames distance\n // contiguous fragments are consecutive fragments from same quality level (same level, new SN = old SN + 1)\n // this helps ensuring audio continuity\n // and this also avoids audio glitches/cut when switching quality, or reporting wrong duration on first audio frame\n var timeOffsetMpegTS = timeOffset * inputTimeScale;\n var initTime = initPTS.baseTime * inputTimeScale / initPTS.timescale;\n this.isAudioContiguous = contiguous = contiguous || inputSamples.length && nextAudioPts > 0 && (accurateTimeOffset && Math.abs(timeOffsetMpegTS - nextAudioPts) < 9000 || Math.abs(normalizePts(inputSamples[0].pts - initTime, timeOffsetMpegTS) - nextAudioPts) < 20 * inputSampleDuration);\n\n // compute normalized PTS\n inputSamples.forEach(function (sample) {\n sample.pts = normalizePts(sample.pts - initTime, timeOffsetMpegTS);\n });\n if (!contiguous || nextAudioPts < 0) {\n // filter out sample with negative PTS that are not playable anyway\n // if we don't remove these negative samples, they will shift all audio samples forward.\n // leading to audio overlap between current / next fragment\n inputSamples = inputSamples.filter(function (sample) {\n return sample.pts >= 0;\n });\n\n // in case all samples have negative PTS, and have been filtered out, return now\n if (!inputSamples.length) {\n return;\n }\n if (videoTimeOffset === 0) {\n // Set the start to 0 to match video so that start gaps larger than inputSampleDuration are filled with silence\n nextAudioPts = 0;\n } else if (accurateTimeOffset && !alignedWithVideo) {\n // When not seeking, not live, and LevelDetails.PTSKnown, use fragment start as predicted next audio PTS\n nextAudioPts = Math.max(0, timeOffsetMpegTS);\n } else {\n // if frags are not contiguous and if we cant trust time offset, let's use first sample PTS as next audio PTS\n nextAudioPts = inputSamples[0].pts;\n }\n }\n\n // If the audio track is missing samples, the frames seem to get \"left-shifted\" within the\n // resulting mp4 segment, causing sync issues and leaving gaps at the end of the audio segment.\n // In an effort to prevent this from happening, we inject frames here where there are gaps.\n // When possible, we inject a silent frame; when that's not possible, we duplicate the last\n // frame.\n\n if (track.segmentCodec === 'aac') {\n var maxAudioFramesDrift = this.config.maxAudioFramesDrift;\n for (var i = 0, nextPts = nextAudioPts; i < inputSamples.length; i++) {\n // First, let's see how far off this frame is from where we expect it to be\n var sample = inputSamples[i];\n var pts = sample.pts;\n var delta = pts - nextPts;\n var duration = Math.abs(1000 * delta / inputTimeScale);\n\n // When remuxing with video, if we're overlapping by more than a duration, drop this sample to stay in sync\n if (delta <= -maxAudioFramesDrift * inputSampleDuration && alignedWithVideo) {\n if (i === 0) {\n logger.warn(\"Audio frame @ \" + (pts / inputTimeScale).toFixed(3) + \"s overlaps nextAudioPts by \" + Math.round(1000 * delta / inputTimeScale) + \" ms.\");\n this.nextAudioPts = nextAudioPts = nextPts = pts;\n }\n } // eslint-disable-line brace-style\n\n // Insert missing frames if:\n // 1: We're more than maxAudioFramesDrift frame away\n // 2: Not more than MAX_SILENT_FRAME_DURATION away\n // 3: currentTime (aka nextPtsNorm) is not 0\n // 4: remuxing with video (videoTimeOffset !== undefined)\n else if (delta >= maxAudioFramesDrift * inputSampleDuration && duration < MAX_SILENT_FRAME_DURATION && alignedWithVideo) {\n var missing = Math.round(delta / inputSampleDuration);\n // Adjust nextPts so that silent samples are aligned with media pts. This will prevent media samples from\n // later being shifted if nextPts is based on timeOffset and delta is not a multiple of inputSampleDuration.\n nextPts = pts - missing * inputSampleDuration;\n if (nextPts < 0) {\n missing--;\n nextPts += inputSampleDuration;\n }\n if (i === 0) {\n this.nextAudioPts = nextAudioPts = nextPts;\n }\n logger.warn(\"[mp4-remuxer]: Injecting \" + missing + \" audio frame @ \" + (nextPts / inputTimeScale).toFixed(3) + \"s due to \" + Math.round(1000 * delta / inputTimeScale) + \" ms gap.\");\n for (var j = 0; j < missing; j++) {\n var newStamp = Math.max(nextPts, 0);\n var fillFrame = AAC.getSilentFrame(track.manifestCodec || track.codec, track.channelCount);\n if (!fillFrame) {\n logger.log('[mp4-remuxer]: Unable to get silent frame for given audio codec; duplicating last frame instead.');\n fillFrame = sample.unit.subarray();\n }\n inputSamples.splice(i, 0, {\n unit: fillFrame,\n pts: newStamp\n });\n nextPts += inputSampleDuration;\n i++;\n }\n }\n sample.pts = nextPts;\n nextPts += inputSampleDuration;\n }\n }\n var firstPTS = null;\n var lastPTS = null;\n var mdat;\n var mdatSize = 0;\n var sampleLength = inputSamples.length;\n while (sampleLength--) {\n mdatSize += inputSamples[sampleLength].unit.byteLength;\n }\n for (var _j2 = 0, _nbSamples = inputSamples.length; _j2 < _nbSamples; _j2++) {\n var audioSample = inputSamples[_j2];\n var unit = audioSample.unit;\n var _pts2 = audioSample.pts;\n if (lastPTS !== null) {\n // If we have more than one sample, set the duration of the sample to the \"real\" duration; the PTS diff with\n // the previous sample\n var prevSample = outputSamples[_j2 - 1];\n prevSample.duration = Math.round((_pts2 - lastPTS) / scaleFactor);\n } else {\n if (contiguous && track.segmentCodec === 'aac') {\n // set PTS/DTS to expected PTS/DTS\n _pts2 = nextAudioPts;\n }\n // remember first PTS of our audioSamples\n firstPTS = _pts2;\n if (mdatSize > 0) {\n /* concatenate the audio data and construct the mdat in place\n (need 8 more bytes to fill length and mdat type) */\n mdatSize += offset;\n try {\n mdat = new Uint8Array(mdatSize);\n } catch (err) {\n this.observer.emit(Events.ERROR, Events.ERROR, {\n type: ErrorTypes.MUX_ERROR,\n details: ErrorDetails.REMUX_ALLOC_ERROR,\n fatal: false,\n error: err,\n bytes: mdatSize,\n reason: \"fail allocating audio mdat \" + mdatSize\n });\n return;\n }\n if (!rawMPEG) {\n var view = new DataView(mdat.buffer);\n view.setUint32(0, mdatSize);\n mdat.set(MP4.types.mdat, 4);\n }\n } else {\n // no audio samples\n return;\n }\n }\n mdat.set(unit, offset);\n var unitLen = unit.byteLength;\n offset += unitLen;\n // Default the sample's duration to the computed mp4SampleDuration, which will either be 1024 for AAC or 1152 for MPEG\n // In the case that we have 1 sample, this will be the duration. If we have more than one sample, the duration\n // becomes the PTS diff with the previous sample\n outputSamples.push(new Mp4Sample(true, mp4SampleDuration, unitLen, 0));\n lastPTS = _pts2;\n }\n\n // We could end up with no audio samples if all input samples were overlapping with the previously remuxed ones\n var nbSamples = outputSamples.length;\n if (!nbSamples) {\n return;\n }\n\n // The next audio sample PTS should be equal to last sample PTS + duration\n var lastSample = outputSamples[outputSamples.length - 1];\n this.nextAudioPts = nextAudioPts = lastPTS + scaleFactor * lastSample.duration;\n\n // Set the track samples from inputSamples to outputSamples before remuxing\n var moof = rawMPEG ? new Uint8Array(0) : MP4.moof(track.sequenceNumber++, firstPTS / scaleFactor, _extends({}, track, {\n samples: outputSamples\n }));\n\n // Clear the track samples. This also clears the samples array in the demuxer, since the reference is shared\n track.samples = [];\n var start = firstPTS / inputTimeScale;\n var end = nextAudioPts / inputTimeScale;\n var type = 'audio';\n var audioData = {\n data1: moof,\n data2: mdat,\n startPTS: start,\n endPTS: end,\n startDTS: start,\n endDTS: end,\n type: type,\n hasAudio: true,\n hasVideo: false,\n nb: nbSamples\n };\n this.isAudioContiguous = true;\n return audioData;\n };\n _proto.remuxEmptyAudio = function remuxEmptyAudio(track, timeOffset, contiguous, videoData) {\n var inputTimeScale = track.inputTimeScale;\n var mp4timeScale = track.samplerate ? track.samplerate : inputTimeScale;\n var scaleFactor = inputTimeScale / mp4timeScale;\n var nextAudioPts = this.nextAudioPts;\n // sync with video's timestamp\n var initDTS = this._initDTS;\n var init90kHz = initDTS.baseTime * 90000 / initDTS.timescale;\n var startDTS = (nextAudioPts !== null ? nextAudioPts : videoData.startDTS * inputTimeScale) + init90kHz;\n var endDTS = videoData.endDTS * inputTimeScale + init90kHz;\n // one sample's duration value\n var frameDuration = scaleFactor * AAC_SAMPLES_PER_FRAME;\n // samples count of this segment's duration\n var nbSamples = Math.ceil((endDTS - startDTS) / frameDuration);\n // silent frame\n var silentFrame = AAC.getSilentFrame(track.manifestCodec || track.codec, track.channelCount);\n logger.warn('[mp4-remuxer]: remux empty Audio');\n // Can't remux if we can't generate a silent frame...\n if (!silentFrame) {\n logger.trace('[mp4-remuxer]: Unable to remuxEmptyAudio since we were unable to get a silent frame for given audio codec');\n return;\n }\n var samples = [];\n for (var i = 0; i < nbSamples; i++) {\n var stamp = startDTS + i * frameDuration;\n samples.push({\n unit: silentFrame,\n pts: stamp,\n dts: stamp\n });\n }\n track.samples = samples;\n return this.remuxAudio(track, timeOffset, contiguous, false);\n };\n return MP4Remuxer;\n }();\n function normalizePts(value, reference) {\n var offset;\n if (reference === null) {\n return value;\n }\n if (reference < value) {\n // - 2^33\n offset = -8589934592;\n } else {\n // + 2^33\n offset = 8589934592;\n }\n /* PTS is 33bit (from 0 to 2^33 -1)\n if diff between value and reference is bigger than half of the amplitude (2^32) then it means that\n PTS looping occured. fill the gap */\n while (Math.abs(value - reference) > 4294967296) {\n value += offset;\n }\n return value;\n }\n function findKeyframeIndex(samples) {\n for (var i = 0; i < samples.length; i++) {\n if (samples[i].key) {\n return i;\n }\n }\n return -1;\n }\n function flushTextTrackMetadataCueSamples(track, timeOffset, initPTS, initDTS) {\n var length = track.samples.length;\n if (!length) {\n return;\n }\n var inputTimeScale = track.inputTimeScale;\n for (var index = 0; index < length; index++) {\n var sample = track.samples[index];\n // setting id3 pts, dts to relative time\n // using this._initPTS and this._initDTS to calculate relative time\n sample.pts = normalizePts(sample.pts - initPTS.baseTime * inputTimeScale / initPTS.timescale, timeOffset * inputTimeScale) / inputTimeScale;\n sample.dts = normalizePts(sample.dts - initDTS.baseTime * inputTimeScale / initDTS.timescale, timeOffset * inputTimeScale) / inputTimeScale;\n }\n var samples = track.samples;\n track.samples = [];\n return {\n samples: samples\n };\n }\n function flushTextTrackUserdataCueSamples(track, timeOffset, initPTS) {\n var length = track.samples.length;\n if (!length) {\n return;\n }\n var inputTimeScale = track.inputTimeScale;\n for (var index = 0; index < length; index++) {\n var sample = track.samples[index];\n // setting text pts, dts to relative time\n // using this._initPTS and this._initDTS to calculate relative time\n sample.pts = normalizePts(sample.pts - initPTS.baseTime * inputTimeScale / initPTS.timescale, timeOffset * inputTimeScale) / inputTimeScale;\n }\n track.samples.sort(function (a, b) {\n return a.pts - b.pts;\n });\n var samples = track.samples;\n track.samples = [];\n return {\n samples: samples\n };\n }\n var Mp4Sample = function Mp4Sample(isKeyframe, duration, size, cts) {\n this.size = void 0;\n this.duration = void 0;\n this.cts = void 0;\n this.flags = void 0;\n this.duration = duration;\n this.size = size;\n this.cts = cts;\n this.flags = {\n isLeading: 0,\n isDependedOn: 0,\n hasRedundancy: 0,\n degradPrio: 0,\n dependsOn: isKeyframe ? 2 : 1,\n isNonSync: isKeyframe ? 0 : 1\n };\n };\n\n var PassThroughRemuxer = /*#__PURE__*/function () {\n function PassThroughRemuxer() {\n this.emitInitSegment = false;\n this.audioCodec = void 0;\n this.videoCodec = void 0;\n this.initData = void 0;\n this.initPTS = null;\n this.initTracks = void 0;\n this.lastEndTime = null;\n }\n var _proto = PassThroughRemuxer.prototype;\n _proto.destroy = function destroy() {};\n _proto.resetTimeStamp = function resetTimeStamp(defaultInitPTS) {\n this.initPTS = defaultInitPTS;\n this.lastEndTime = null;\n };\n _proto.resetNextTimestamp = function resetNextTimestamp() {\n this.lastEndTime = null;\n };\n _proto.resetInitSegment = function resetInitSegment(initSegment, audioCodec, videoCodec, decryptdata) {\n this.audioCodec = audioCodec;\n this.videoCodec = videoCodec;\n this.generateInitSegment(patchEncyptionData(initSegment, decryptdata));\n this.emitInitSegment = true;\n };\n _proto.generateInitSegment = function generateInitSegment(initSegment) {\n var audioCodec = this.audioCodec,\n videoCodec = this.videoCodec;\n if (!(initSegment != null && initSegment.byteLength)) {\n this.initTracks = undefined;\n this.initData = undefined;\n return;\n }\n var initData = this.initData = parseInitSegment(initSegment);\n\n // Get codec from initSegment or fallback to default\n if (initData.audio) {\n audioCodec = getParsedTrackCodec(initData.audio, ElementaryStreamTypes.AUDIO);\n }\n if (initData.video) {\n videoCodec = getParsedTrackCodec(initData.video, ElementaryStreamTypes.VIDEO);\n }\n var tracks = {};\n if (initData.audio && initData.video) {\n tracks.audiovideo = {\n container: 'video/mp4',\n codec: audioCodec + ',' + videoCodec,\n initSegment: initSegment,\n id: 'main'\n };\n } else if (initData.audio) {\n tracks.audio = {\n container: 'audio/mp4',\n codec: audioCodec,\n initSegment: initSegment,\n id: 'audio'\n };\n } else if (initData.video) {\n tracks.video = {\n container: 'video/mp4',\n codec: videoCodec,\n initSegment: initSegment,\n id: 'main'\n };\n } else {\n logger.warn('[passthrough-remuxer.ts]: initSegment does not contain moov or trak boxes.');\n }\n this.initTracks = tracks;\n };\n _proto.remux = function remux(audioTrack, videoTrack, id3Track, textTrack, timeOffset, accurateTimeOffset) {\n var _initData, _initData2;\n var initPTS = this.initPTS,\n lastEndTime = this.lastEndTime;\n var result = {\n audio: undefined,\n video: undefined,\n text: textTrack,\n id3: id3Track,\n initSegment: undefined\n };\n\n // If we haven't yet set a lastEndDTS, or it was reset, set it to the provided timeOffset. We want to use the\n // lastEndDTS over timeOffset whenever possible; during progressive playback, the media source will not update\n // the media duration (which is what timeOffset is provided as) before we need to process the next chunk.\n if (!isFiniteNumber(lastEndTime)) {\n lastEndTime = this.lastEndTime = timeOffset || 0;\n }\n\n // The binary segment data is added to the videoTrack in the mp4demuxer. We don't check to see if the data is only\n // audio or video (or both); adding it to video was an arbitrary choice.\n var data = videoTrack.samples;\n if (!(data != null && data.length)) {\n return result;\n }\n var initSegment = {\n initPTS: undefined,\n timescale: 1\n };\n var initData = this.initData;\n if (!((_initData = initData) != null && _initData.length)) {\n this.generateInitSegment(data);\n initData = this.initData;\n }\n if (!((_initData2 = initData) != null && _initData2.length)) {\n // We can't remux if the initSegment could not be generated\n logger.warn('[passthrough-remuxer.ts]: Failed to generate initSegment.');\n return result;\n }\n if (this.emitInitSegment) {\n initSegment.tracks = this.initTracks;\n this.emitInitSegment = false;\n }\n var duration = getDuration(data, initData);\n var startDTS = getStartDTS(initData, data);\n var decodeTime = startDTS === null ? timeOffset : startDTS;\n if (isInvalidInitPts(initPTS, decodeTime, timeOffset, duration) || initSegment.timescale !== initPTS.timescale && accurateTimeOffset) {\n initSegment.initPTS = decodeTime - timeOffset;\n if (initPTS && initPTS.timescale === 1) {\n logger.warn(\"Adjusting initPTS by \" + (initSegment.initPTS - initPTS.baseTime));\n }\n this.initPTS = initPTS = {\n baseTime: initSegment.initPTS,\n timescale: 1\n };\n }\n var startTime = audioTrack ? decodeTime - initPTS.baseTime / initPTS.timescale : lastEndTime;\n var endTime = startTime + duration;\n offsetStartDTS(initData, data, initPTS.baseTime / initPTS.timescale);\n if (duration > 0) {\n this.lastEndTime = endTime;\n } else {\n logger.warn('Duration parsed from mp4 should be greater than zero');\n this.resetNextTimestamp();\n }\n var hasAudio = !!initData.audio;\n var hasVideo = !!initData.video;\n var type = '';\n if (hasAudio) {\n type += 'audio';\n }\n if (hasVideo) {\n type += 'video';\n }\n var track = {\n data1: data,\n startPTS: startTime,\n startDTS: startTime,\n endPTS: endTime,\n endDTS: endTime,\n type: type,\n hasAudio: hasAudio,\n hasVideo: hasVideo,\n nb: 1,\n dropped: 0\n };\n result.audio = track.type === 'audio' ? track : undefined;\n result.video = track.type !== 'audio' ? track : undefined;\n result.initSegment = initSegment;\n result.id3 = flushTextTrackMetadataCueSamples(id3Track, timeOffset, initPTS, initPTS);\n if (textTrack.samples.length) {\n result.text = flushTextTrackUserdataCueSamples(textTrack, timeOffset, initPTS);\n }\n return result;\n };\n return PassThroughRemuxer;\n }();\n function isInvalidInitPts(initPTS, startDTS, timeOffset, duration) {\n if (initPTS === null) {\n return true;\n }\n // InitPTS is invalid when distance from program would be more than segment duration or a minimum of one second\n var minDuration = Math.max(duration, 1);\n var startTime = startDTS - initPTS.baseTime / initPTS.timescale;\n return Math.abs(startTime - timeOffset) > minDuration;\n }\n function getParsedTrackCodec(track, type) {\n var parsedCodec = track == null ? void 0 : track.codec;\n if (parsedCodec && parsedCodec.length > 4) {\n return parsedCodec;\n }\n if (type === ElementaryStreamTypes.AUDIO) {\n if (parsedCodec === 'ec-3' || parsedCodec === 'ac-3' || parsedCodec === 'alac') {\n return parsedCodec;\n }\n if (parsedCodec === 'fLaC' || parsedCodec === 'Opus') {\n // Opting not to get `preferManagedMediaSource` from player config for isSupported() check for simplicity\n var preferManagedMediaSource = false;\n return getCodecCompatibleName(parsedCodec, preferManagedMediaSource);\n }\n var result = 'mp4a.40.5';\n logger.info(\"Parsed audio codec \\\"\" + parsedCodec + \"\\\" or audio object type not handled. Using \\\"\" + result + \"\\\"\");\n return result;\n }\n // Provide defaults based on codec type\n // This allows for some playback of some fmp4 playlists without CODECS defined in manifest\n logger.warn(\"Unhandled video codec \\\"\" + parsedCodec + \"\\\"\");\n if (parsedCodec === 'hvc1' || parsedCodec === 'hev1') {\n return 'hvc1.1.6.L120.90';\n }\n if (parsedCodec === 'av01') {\n return 'av01.0.04M.08';\n }\n return 'avc1.42e01e';\n }\n\n var now;\n // performance.now() not available on WebWorker, at least on Safari Desktop\n try {\n now = self.performance.now.bind(self.performance);\n } catch (err) {\n logger.debug('Unable to use Performance API on this environment');\n now = optionalSelf == null ? void 0 : optionalSelf.Date.now;\n }\n var muxConfig = [{\n demux: MP4Demuxer,\n remux: PassThroughRemuxer\n }, {\n demux: TSDemuxer,\n remux: MP4Remuxer\n }, {\n demux: AACDemuxer,\n remux: MP4Remuxer\n }, {\n demux: MP3Demuxer,\n remux: MP4Remuxer\n }];\n {\n muxConfig.splice(2, 0, {\n demux: AC3Demuxer,\n remux: MP4Remuxer\n });\n }\n var Transmuxer = /*#__PURE__*/function () {\n function Transmuxer(observer, typeSupported, config, vendor, id) {\n this.async = false;\n this.observer = void 0;\n this.typeSupported = void 0;\n this.config = void 0;\n this.vendor = void 0;\n this.id = void 0;\n this.demuxer = void 0;\n this.remuxer = void 0;\n this.decrypter = void 0;\n this.probe = void 0;\n this.decryptionPromise = null;\n this.transmuxConfig = void 0;\n this.currentTransmuxState = void 0;\n this.observer = observer;\n this.typeSupported = typeSupported;\n this.config = config;\n this.vendor = vendor;\n this.id = id;\n }\n var _proto = Transmuxer.prototype;\n _proto.configure = function configure(transmuxConfig) {\n this.transmuxConfig = transmuxConfig;\n if (this.decrypter) {\n this.decrypter.reset();\n }\n };\n _proto.push = function push(data, decryptdata, chunkMeta, state) {\n var _this = this;\n var stats = chunkMeta.transmuxing;\n stats.executeStart = now();\n var uintData = new Uint8Array(data);\n var currentTransmuxState = this.currentTransmuxState,\n transmuxConfig = this.transmuxConfig;\n if (state) {\n this.currentTransmuxState = state;\n }\n var _ref = state || currentTransmuxState,\n contiguous = _ref.contiguous,\n discontinuity = _ref.discontinuity,\n trackSwitch = _ref.trackSwitch,\n accurateTimeOffset = _ref.accurateTimeOffset,\n timeOffset = _ref.timeOffset,\n initSegmentChange = _ref.initSegmentChange;\n var audioCodec = transmuxConfig.audioCodec,\n videoCodec = transmuxConfig.videoCodec,\n defaultInitPts = transmuxConfig.defaultInitPts,\n duration = transmuxConfig.duration,\n initSegmentData = transmuxConfig.initSegmentData;\n var keyData = getEncryptionType(uintData, decryptdata);\n if (keyData && keyData.method === 'AES-128') {\n var decrypter = this.getDecrypter();\n // Software decryption is synchronous; webCrypto is not\n if (decrypter.isSync()) {\n // Software decryption is progressive. Progressive decryption may not return a result on each call. Any cached\n // data is handled in the flush() call\n var decryptedData = decrypter.softwareDecrypt(uintData, keyData.key.buffer, keyData.iv.buffer);\n // For Low-Latency HLS Parts, decrypt in place, since part parsing is expected on push progress\n var loadingParts = chunkMeta.part > -1;\n if (loadingParts) {\n decryptedData = decrypter.flush();\n }\n if (!decryptedData) {\n stats.executeEnd = now();\n return emptyResult(chunkMeta);\n }\n uintData = new Uint8Array(decryptedData);\n } else {\n this.decryptionPromise = decrypter.webCryptoDecrypt(uintData, keyData.key.buffer, keyData.iv.buffer).then(function (decryptedData) {\n // Calling push here is important; if flush() is called while this is still resolving, this ensures that\n // the decrypted data has been transmuxed\n var result = _this.push(decryptedData, null, chunkMeta);\n _this.decryptionPromise = null;\n return result;\n });\n return this.decryptionPromise;\n }\n }\n var resetMuxers = this.needsProbing(discontinuity, trackSwitch);\n if (resetMuxers) {\n var error = this.configureTransmuxer(uintData);\n if (error) {\n logger.warn(\"[transmuxer] \" + error.message);\n this.observer.emit(Events.ERROR, Events.ERROR, {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.FRAG_PARSING_ERROR,\n fatal: false,\n error: error,\n reason: error.message\n });\n stats.executeEnd = now();\n return emptyResult(chunkMeta);\n }\n }\n if (discontinuity || trackSwitch || initSegmentChange || resetMuxers) {\n this.resetInitSegment(initSegmentData, audioCodec, videoCodec, duration, decryptdata);\n }\n if (discontinuity || initSegmentChange || resetMuxers) {\n this.resetInitialTimestamp(defaultInitPts);\n }\n if (!contiguous) {\n this.resetContiguity();\n }\n var result = this.transmux(uintData, keyData, timeOffset, accurateTimeOffset, chunkMeta);\n var currentState = this.currentTransmuxState;\n currentState.contiguous = true;\n currentState.discontinuity = false;\n currentState.trackSwitch = false;\n stats.executeEnd = now();\n return result;\n }\n\n // Due to data caching, flush calls can produce more than one TransmuxerResult (hence the Array type)\n ;\n _proto.flush = function flush(chunkMeta) {\n var _this2 = this;\n var stats = chunkMeta.transmuxing;\n stats.executeStart = now();\n var decrypter = this.decrypter,\n currentTransmuxState = this.currentTransmuxState,\n decryptionPromise = this.decryptionPromise;\n if (decryptionPromise) {\n // Upon resolution, the decryption promise calls push() and returns its TransmuxerResult up the stack. Therefore\n // only flushing is required for async decryption\n return decryptionPromise.then(function () {\n return _this2.flush(chunkMeta);\n });\n }\n var transmuxResults = [];\n var timeOffset = currentTransmuxState.timeOffset;\n if (decrypter) {\n // The decrypter may have data cached, which needs to be demuxed. In this case we'll have two TransmuxResults\n // This happens in the case that we receive only 1 push call for a segment (either for non-progressive downloads,\n // or for progressive downloads with small segments)\n var decryptedData = decrypter.flush();\n if (decryptedData) {\n // Push always returns a TransmuxerResult if decryptdata is null\n transmuxResults.push(this.push(decryptedData, null, chunkMeta));\n }\n }\n var demuxer = this.demuxer,\n remuxer = this.remuxer;\n if (!demuxer || !remuxer) {\n // If probing failed, then Hls.js has been given content its not able to handle\n stats.executeEnd = now();\n return [emptyResult(chunkMeta)];\n }\n var demuxResultOrPromise = demuxer.flush(timeOffset);\n if (isPromise(demuxResultOrPromise)) {\n // Decrypt final SAMPLE-AES samples\n return demuxResultOrPromise.then(function (demuxResult) {\n _this2.flushRemux(transmuxResults, demuxResult, chunkMeta);\n return transmuxResults;\n });\n }\n this.flushRemux(transmuxResults, demuxResultOrPromise, chunkMeta);\n return transmuxResults;\n };\n _proto.flushRemux = function flushRemux(transmuxResults, demuxResult, chunkMeta) {\n var audioTrack = demuxResult.audioTrack,\n videoTrack = demuxResult.videoTrack,\n id3Track = demuxResult.id3Track,\n textTrack = demuxResult.textTrack;\n var _this$currentTransmux = this.currentTransmuxState,\n accurateTimeOffset = _this$currentTransmux.accurateTimeOffset,\n timeOffset = _this$currentTransmux.timeOffset;\n logger.log(\"[transmuxer.ts]: Flushed fragment \" + chunkMeta.sn + (chunkMeta.part > -1 ? ' p: ' + chunkMeta.part : '') + \" of level \" + chunkMeta.level);\n var remuxResult = this.remuxer.remux(audioTrack, videoTrack, id3Track, textTrack, timeOffset, accurateTimeOffset, true, this.id);\n transmuxResults.push({\n remuxResult: remuxResult,\n chunkMeta: chunkMeta\n });\n chunkMeta.transmuxing.executeEnd = now();\n };\n _proto.resetInitialTimestamp = function resetInitialTimestamp(defaultInitPts) {\n var demuxer = this.demuxer,\n remuxer = this.remuxer;\n if (!demuxer || !remuxer) {\n return;\n }\n demuxer.resetTimeStamp(defaultInitPts);\n remuxer.resetTimeStamp(defaultInitPts);\n };\n _proto.resetContiguity = function resetContiguity() {\n var demuxer = this.demuxer,\n remuxer = this.remuxer;\n if (!demuxer || !remuxer) {\n return;\n }\n demuxer.resetContiguity();\n remuxer.resetNextTimestamp();\n };\n _proto.resetInitSegment = function resetInitSegment(initSegmentData, audioCodec, videoCodec, trackDuration, decryptdata) {\n var demuxer = this.demuxer,\n remuxer = this.remuxer;\n if (!demuxer || !remuxer) {\n return;\n }\n demuxer.resetInitSegment(initSegmentData, audioCodec, videoCodec, trackDuration);\n remuxer.resetInitSegment(initSegmentData, audioCodec, videoCodec, decryptdata);\n };\n _proto.destroy = function destroy() {\n if (this.demuxer) {\n this.demuxer.destroy();\n this.demuxer = undefined;\n }\n if (this.remuxer) {\n this.remuxer.destroy();\n this.remuxer = undefined;\n }\n };\n _proto.transmux = function transmux(data, keyData, timeOffset, accurateTimeOffset, chunkMeta) {\n var result;\n if (keyData && keyData.method === 'SAMPLE-AES') {\n result = this.transmuxSampleAes(data, keyData, timeOffset, accurateTimeOffset, chunkMeta);\n } else {\n result = this.transmuxUnencrypted(data, timeOffset, accurateTimeOffset, chunkMeta);\n }\n return result;\n };\n _proto.transmuxUnencrypted = function transmuxUnencrypted(data, timeOffset, accurateTimeOffset, chunkMeta) {\n var _demux = this.demuxer.demux(data, timeOffset, false, !this.config.progressive),\n audioTrack = _demux.audioTrack,\n videoTrack = _demux.videoTrack,\n id3Track = _demux.id3Track,\n textTrack = _demux.textTrack;\n var remuxResult = this.remuxer.remux(audioTrack, videoTrack, id3Track, textTrack, timeOffset, accurateTimeOffset, false, this.id);\n return {\n remuxResult: remuxResult,\n chunkMeta: chunkMeta\n };\n };\n _proto.transmuxSampleAes = function transmuxSampleAes(data, decryptData, timeOffset, accurateTimeOffset, chunkMeta) {\n var _this3 = this;\n return this.demuxer.demuxSampleAes(data, decryptData, timeOffset).then(function (demuxResult) {\n var remuxResult = _this3.remuxer.remux(demuxResult.audioTrack, demuxResult.videoTrack, demuxResult.id3Track, demuxResult.textTrack, timeOffset, accurateTimeOffset, false, _this3.id);\n return {\n remuxResult: remuxResult,\n chunkMeta: chunkMeta\n };\n });\n };\n _proto.configureTransmuxer = function configureTransmuxer(data) {\n var config = this.config,\n observer = this.observer,\n typeSupported = this.typeSupported,\n vendor = this.vendor;\n // probe for content type\n var mux;\n for (var i = 0, len = muxConfig.length; i < len; i++) {\n var _muxConfig$i$demux;\n if ((_muxConfig$i$demux = muxConfig[i].demux) != null && _muxConfig$i$demux.probe(data)) {\n mux = muxConfig[i];\n break;\n }\n }\n if (!mux) {\n return new Error('Failed to find demuxer by probing fragment data');\n }\n // so let's check that current remuxer and demuxer are still valid\n var demuxer = this.demuxer;\n var remuxer = this.remuxer;\n var Remuxer = mux.remux;\n var Demuxer = mux.demux;\n if (!remuxer || !(remuxer instanceof Remuxer)) {\n this.remuxer = new Remuxer(observer, config, typeSupported, vendor);\n }\n if (!demuxer || !(demuxer instanceof Demuxer)) {\n this.demuxer = new Demuxer(observer, config, typeSupported);\n this.probe = Demuxer.probe;\n }\n };\n _proto.needsProbing = function needsProbing(discontinuity, trackSwitch) {\n // in case of continuity change, or track switch\n // we might switch from content type (AAC container to TS container, or TS to fmp4 for example)\n return !this.demuxer || !this.remuxer || discontinuity || trackSwitch;\n };\n _proto.getDecrypter = function getDecrypter() {\n var decrypter = this.decrypter;\n if (!decrypter) {\n decrypter = this.decrypter = new Decrypter(this.config);\n }\n return decrypter;\n };\n return Transmuxer;\n }();\n function getEncryptionType(data, decryptData) {\n var encryptionType = null;\n if (data.byteLength > 0 && (decryptData == null ? void 0 : decryptData.key) != null && decryptData.iv !== null && decryptData.method != null) {\n encryptionType = decryptData;\n }\n return encryptionType;\n }\n var emptyResult = function emptyResult(chunkMeta) {\n return {\n remuxResult: {},\n chunkMeta: chunkMeta\n };\n };\n function isPromise(p) {\n return 'then' in p && p.then instanceof Function;\n }\n var TransmuxConfig = function TransmuxConfig(audioCodec, videoCodec, initSegmentData, duration, defaultInitPts) {\n this.audioCodec = void 0;\n this.videoCodec = void 0;\n this.initSegmentData = void 0;\n this.duration = void 0;\n this.defaultInitPts = void 0;\n this.audioCodec = audioCodec;\n this.videoCodec = videoCodec;\n this.initSegmentData = initSegmentData;\n this.duration = duration;\n this.defaultInitPts = defaultInitPts || null;\n };\n var TransmuxState = function TransmuxState(discontinuity, contiguous, accurateTimeOffset, trackSwitch, timeOffset, initSegmentChange) {\n this.discontinuity = void 0;\n this.contiguous = void 0;\n this.accurateTimeOffset = void 0;\n this.trackSwitch = void 0;\n this.timeOffset = void 0;\n this.initSegmentChange = void 0;\n this.discontinuity = discontinuity;\n this.contiguous = contiguous;\n this.accurateTimeOffset = accurateTimeOffset;\n this.trackSwitch = trackSwitch;\n this.timeOffset = timeOffset;\n this.initSegmentChange = initSegmentChange;\n };\n\n var eventemitter3 = {exports: {}};\n\n (function (module) {\n\n \tvar has = Object.prototype.hasOwnProperty\n \t , prefix = '~';\n\n \t/**\n \t * Constructor to create a storage for our `EE` objects.\n \t * An `Events` instance is a plain object whose properties are event names.\n \t *\n \t * @constructor\n \t * @private\n \t */\n \tfunction Events() {}\n\n \t//\n \t// We try to not inherit from `Object.prototype`. In some engines creating an\n \t// instance in this way is faster than calling `Object.create(null)` directly.\n \t// If `Object.create(null)` is not supported we prefix the event names with a\n \t// character to make sure that the built-in object properties are not\n \t// overridden or used as an attack vector.\n \t//\n \tif (Object.create) {\n \t Events.prototype = Object.create(null);\n\n \t //\n \t // This hack is needed because the `__proto__` property is still inherited in\n \t // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n \t //\n \t if (!new Events().__proto__) prefix = false;\n \t}\n\n \t/**\n \t * Representation of a single event listener.\n \t *\n \t * @param {Function} fn The listener function.\n \t * @param {*} context The context to invoke the listener with.\n \t * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n \t * @constructor\n \t * @private\n \t */\n \tfunction EE(fn, context, once) {\n \t this.fn = fn;\n \t this.context = context;\n \t this.once = once || false;\n \t}\n\n \t/**\n \t * Add a listener for a given event.\n \t *\n \t * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n \t * @param {(String|Symbol)} event The event name.\n \t * @param {Function} fn The listener function.\n \t * @param {*} context The context to invoke the listener with.\n \t * @param {Boolean} once Specify if the listener is a one-time listener.\n \t * @returns {EventEmitter}\n \t * @private\n \t */\n \tfunction addListener(emitter, event, fn, context, once) {\n \t if (typeof fn !== 'function') {\n \t throw new TypeError('The listener must be a function');\n \t }\n\n \t var listener = new EE(fn, context || emitter, once)\n \t , evt = prefix ? prefix + event : event;\n\n \t if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;\n \t else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);\n \t else emitter._events[evt] = [emitter._events[evt], listener];\n\n \t return emitter;\n \t}\n\n \t/**\n \t * Clear event by name.\n \t *\n \t * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n \t * @param {(String|Symbol)} evt The Event name.\n \t * @private\n \t */\n \tfunction clearEvent(emitter, evt) {\n \t if (--emitter._eventsCount === 0) emitter._events = new Events();\n \t else delete emitter._events[evt];\n \t}\n\n \t/**\n \t * Minimal `EventEmitter` interface that is molded against the Node.js\n \t * `EventEmitter` interface.\n \t *\n \t * @constructor\n \t * @public\n \t */\n \tfunction EventEmitter() {\n \t this._events = new Events();\n \t this._eventsCount = 0;\n \t}\n\n \t/**\n \t * Return an array listing the events for which the emitter has registered\n \t * listeners.\n \t *\n \t * @returns {Array}\n \t * @public\n \t */\n \tEventEmitter.prototype.eventNames = function eventNames() {\n \t var names = []\n \t , events\n \t , name;\n\n \t if (this._eventsCount === 0) return names;\n\n \t for (name in (events = this._events)) {\n \t if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n \t }\n\n \t if (Object.getOwnPropertySymbols) {\n \t return names.concat(Object.getOwnPropertySymbols(events));\n \t }\n\n \t return names;\n \t};\n\n \t/**\n \t * Return the listeners registered for a given event.\n \t *\n \t * @param {(String|Symbol)} event The event name.\n \t * @returns {Array} The registered listeners.\n \t * @public\n \t */\n \tEventEmitter.prototype.listeners = function listeners(event) {\n \t var evt = prefix ? prefix + event : event\n \t , handlers = this._events[evt];\n\n \t if (!handlers) return [];\n \t if (handlers.fn) return [handlers.fn];\n\n \t for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {\n \t ee[i] = handlers[i].fn;\n \t }\n\n \t return ee;\n \t};\n\n \t/**\n \t * Return the number of listeners listening to a given event.\n \t *\n \t * @param {(String|Symbol)} event The event name.\n \t * @returns {Number} The number of listeners.\n \t * @public\n \t */\n \tEventEmitter.prototype.listenerCount = function listenerCount(event) {\n \t var evt = prefix ? prefix + event : event\n \t , listeners = this._events[evt];\n\n \t if (!listeners) return 0;\n \t if (listeners.fn) return 1;\n \t return listeners.length;\n \t};\n\n \t/**\n \t * Calls each of the listeners registered for a given event.\n \t *\n \t * @param {(String|Symbol)} event The event name.\n \t * @returns {Boolean} `true` if the event had listeners, else `false`.\n \t * @public\n \t */\n \tEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n \t var evt = prefix ? prefix + event : event;\n\n \t if (!this._events[evt]) return false;\n\n \t var listeners = this._events[evt]\n \t , len = arguments.length\n \t , args\n \t , i;\n\n \t if (listeners.fn) {\n \t if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n \t switch (len) {\n \t case 1: return listeners.fn.call(listeners.context), true;\n \t case 2: return listeners.fn.call(listeners.context, a1), true;\n \t case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n \t case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n \t case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n \t case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n \t }\n\n \t for (i = 1, args = new Array(len -1); i < len; i++) {\n \t args[i - 1] = arguments[i];\n \t }\n\n \t listeners.fn.apply(listeners.context, args);\n \t } else {\n \t var length = listeners.length\n \t , j;\n\n \t for (i = 0; i < length; i++) {\n \t if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n \t switch (len) {\n \t case 1: listeners[i].fn.call(listeners[i].context); break;\n \t case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n \t case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n \t case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\n \t default:\n \t if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n \t args[j - 1] = arguments[j];\n \t }\n\n \t listeners[i].fn.apply(listeners[i].context, args);\n \t }\n \t }\n \t }\n\n \t return true;\n \t};\n\n \t/**\n \t * Add a listener for a given event.\n \t *\n \t * @param {(String|Symbol)} event The event name.\n \t * @param {Function} fn The listener function.\n \t * @param {*} [context=this] The context to invoke the listener with.\n \t * @returns {EventEmitter} `this`.\n \t * @public\n \t */\n \tEventEmitter.prototype.on = function on(event, fn, context) {\n \t return addListener(this, event, fn, context, false);\n \t};\n\n \t/**\n \t * Add a one-time listener for a given event.\n \t *\n \t * @param {(String|Symbol)} event The event name.\n \t * @param {Function} fn The listener function.\n \t * @param {*} [context=this] The context to invoke the listener with.\n \t * @returns {EventEmitter} `this`.\n \t * @public\n \t */\n \tEventEmitter.prototype.once = function once(event, fn, context) {\n \t return addListener(this, event, fn, context, true);\n \t};\n\n \t/**\n \t * Remove the listeners of a given event.\n \t *\n \t * @param {(String|Symbol)} event The event name.\n \t * @param {Function} fn Only remove the listeners that match this function.\n \t * @param {*} context Only remove the listeners that have this context.\n \t * @param {Boolean} once Only remove one-time listeners.\n \t * @returns {EventEmitter} `this`.\n \t * @public\n \t */\n \tEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n \t var evt = prefix ? prefix + event : event;\n\n \t if (!this._events[evt]) return this;\n \t if (!fn) {\n \t clearEvent(this, evt);\n \t return this;\n \t }\n\n \t var listeners = this._events[evt];\n\n \t if (listeners.fn) {\n \t if (\n \t listeners.fn === fn &&\n \t (!once || listeners.once) &&\n \t (!context || listeners.context === context)\n \t ) {\n \t clearEvent(this, evt);\n \t }\n \t } else {\n \t for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n \t if (\n \t listeners[i].fn !== fn ||\n \t (once && !listeners[i].once) ||\n \t (context && listeners[i].context !== context)\n \t ) {\n \t events.push(listeners[i]);\n \t }\n \t }\n\n \t //\n \t // Reset the array, or remove it completely if we have no more listeners.\n \t //\n \t if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n \t else clearEvent(this, evt);\n \t }\n\n \t return this;\n \t};\n\n \t/**\n \t * Remove all listeners, or those of the specified event.\n \t *\n \t * @param {(String|Symbol)} [event] The event name.\n \t * @returns {EventEmitter} `this`.\n \t * @public\n \t */\n \tEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n \t var evt;\n\n \t if (event) {\n \t evt = prefix ? prefix + event : event;\n \t if (this._events[evt]) clearEvent(this, evt);\n \t } else {\n \t this._events = new Events();\n \t this._eventsCount = 0;\n \t }\n\n \t return this;\n \t};\n\n \t//\n \t// Alias methods names because people roll like that.\n \t//\n \tEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n \tEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n \t//\n \t// Expose the prefix.\n \t//\n \tEventEmitter.prefixed = prefix;\n\n \t//\n \t// Allow `EventEmitter` to be imported as module namespace.\n \t//\n \tEventEmitter.EventEmitter = EventEmitter;\n\n \t//\n \t// Expose the module.\n \t//\n \t{\n \t module.exports = EventEmitter;\n \t} \n } (eventemitter3));\n\n var eventemitter3Exports = eventemitter3.exports;\n var EventEmitter = /*@__PURE__*/getDefaultExportFromCjs(eventemitter3Exports);\n\n if (typeof __IN_WORKER__ !== 'undefined' && __IN_WORKER__) {\n startWorker(self);\n }\n function startWorker(self) {\n var observer = new EventEmitter();\n var forwardMessage = function forwardMessage(ev, data) {\n self.postMessage({\n event: ev,\n data: data\n });\n };\n\n // forward events to main thread\n observer.on(Events.FRAG_DECRYPTED, forwardMessage);\n observer.on(Events.ERROR, forwardMessage);\n\n // forward logger events to main thread\n var forwardWorkerLogs = function forwardWorkerLogs() {\n var _loop = function _loop(logFn) {\n var func = function func(message) {\n forwardMessage('workerLog', {\n logType: logFn,\n message: message\n });\n };\n logger[logFn] = func;\n };\n for (var logFn in logger) {\n _loop(logFn);\n }\n };\n self.addEventListener('message', function (ev) {\n var data = ev.data;\n switch (data.cmd) {\n case 'init':\n {\n var config = JSON.parse(data.config);\n self.transmuxer = new Transmuxer(observer, data.typeSupported, config, data.vendor, data.id);\n enableLogs(config.debug, data.id);\n forwardWorkerLogs();\n forwardMessage('init', null);\n break;\n }\n case 'configure':\n {\n self.transmuxer.configure(data.config);\n break;\n }\n case 'demux':\n {\n var transmuxResult = self.transmuxer.push(data.data, data.decryptdata, data.chunkMeta, data.state);\n if (isPromise(transmuxResult)) {\n self.transmuxer.async = true;\n transmuxResult.then(function (data) {\n emitTransmuxComplete(self, data);\n }).catch(function (error) {\n forwardMessage(Events.ERROR, {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.FRAG_PARSING_ERROR,\n chunkMeta: data.chunkMeta,\n fatal: false,\n error: error,\n err: error,\n reason: \"transmuxer-worker push error\"\n });\n });\n } else {\n self.transmuxer.async = false;\n emitTransmuxComplete(self, transmuxResult);\n }\n break;\n }\n case 'flush':\n {\n var id = data.chunkMeta;\n var _transmuxResult = self.transmuxer.flush(id);\n var asyncFlush = isPromise(_transmuxResult);\n if (asyncFlush || self.transmuxer.async) {\n if (!isPromise(_transmuxResult)) {\n _transmuxResult = Promise.resolve(_transmuxResult);\n }\n _transmuxResult.then(function (results) {\n handleFlushResult(self, results, id);\n }).catch(function (error) {\n forwardMessage(Events.ERROR, {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.FRAG_PARSING_ERROR,\n chunkMeta: data.chunkMeta,\n fatal: false,\n error: error,\n err: error,\n reason: \"transmuxer-worker flush error\"\n });\n });\n } else {\n handleFlushResult(self, _transmuxResult, id);\n }\n break;\n }\n }\n });\n }\n function emitTransmuxComplete(self, transmuxResult) {\n if (isEmptyResult(transmuxResult.remuxResult)) {\n return false;\n }\n var transferable = [];\n var _transmuxResult$remux = transmuxResult.remuxResult,\n audio = _transmuxResult$remux.audio,\n video = _transmuxResult$remux.video;\n if (audio) {\n addToTransferable(transferable, audio);\n }\n if (video) {\n addToTransferable(transferable, video);\n }\n self.postMessage({\n event: 'transmuxComplete',\n data: transmuxResult\n }, transferable);\n return true;\n }\n\n // Converts data to a transferable object https://developers.google.com/web/updates/2011/12/Transferable-Objects-Lightning-Fast)\n // in order to minimize message passing overhead\n function addToTransferable(transferable, track) {\n if (track.data1) {\n transferable.push(track.data1.buffer);\n }\n if (track.data2) {\n transferable.push(track.data2.buffer);\n }\n }\n function handleFlushResult(self, results, chunkMeta) {\n var parsed = results.reduce(function (parsed, result) {\n return emitTransmuxComplete(self, result) || parsed;\n }, false);\n if (!parsed) {\n // Emit at least one \"transmuxComplete\" message even if media is not found to update stream-controller state to PARSING\n self.postMessage({\n event: 'transmuxComplete',\n data: results[0]\n });\n }\n self.postMessage({\n event: 'flush',\n data: chunkMeta\n });\n }\n function isEmptyResult(remuxResult) {\n return !remuxResult.audio && !remuxResult.video && !remuxResult.text && !remuxResult.id3 && !remuxResult.initSegment;\n }\n\n // ensure the worker ends up in the bundle\n // If the worker should not be included this gets aliased to empty.js\n function hasUMDWorker() {\n return typeof __HLS_WORKER_BUNDLE__ === 'function';\n }\n function injectWorker() {\n var blob = new self.Blob([\"var exports={};var module={exports:exports};function define(f){f()};define.amd=true;(\" + __HLS_WORKER_BUNDLE__.toString() + \")(true);\"], {\n type: 'text/javascript'\n });\n var objectURL = self.URL.createObjectURL(blob);\n var worker = new self.Worker(objectURL);\n return {\n worker: worker,\n objectURL: objectURL\n };\n }\n function loadWorker(path) {\n var scriptURL = new self.URL(path, self.location.href).href;\n var worker = new self.Worker(scriptURL);\n return {\n worker: worker,\n scriptURL: scriptURL\n };\n }\n\n var TransmuxerInterface = /*#__PURE__*/function () {\n function TransmuxerInterface(hls, id, onTransmuxComplete, onFlush) {\n var _this = this;\n this.error = null;\n this.hls = void 0;\n this.id = void 0;\n this.observer = void 0;\n this.frag = null;\n this.part = null;\n this.useWorker = void 0;\n this.workerContext = null;\n this.onwmsg = void 0;\n this.transmuxer = null;\n this.onTransmuxComplete = void 0;\n this.onFlush = void 0;\n var config = hls.config;\n this.hls = hls;\n this.id = id;\n this.useWorker = !!config.enableWorker;\n this.onTransmuxComplete = onTransmuxComplete;\n this.onFlush = onFlush;\n var forwardMessage = function forwardMessage(ev, data) {\n data = data || {};\n data.frag = _this.frag;\n data.id = _this.id;\n if (ev === Events.ERROR) {\n _this.error = data.error;\n }\n _this.hls.trigger(ev, data);\n };\n\n // forward events to main thread\n this.observer = new EventEmitter();\n this.observer.on(Events.FRAG_DECRYPTED, forwardMessage);\n this.observer.on(Events.ERROR, forwardMessage);\n var MediaSource = getMediaSource(config.preferManagedMediaSource) || {\n isTypeSupported: function isTypeSupported() {\n return false;\n }\n };\n var m2tsTypeSupported = {\n mpeg: MediaSource.isTypeSupported('audio/mpeg'),\n mp3: MediaSource.isTypeSupported('audio/mp4; codecs=\"mp3\"'),\n ac3: MediaSource.isTypeSupported('audio/mp4; codecs=\"ac-3\"') \n };\n\n // navigator.vendor is not always available in Web Worker\n // refer to https://developer.mozilla.org/en-US/docs/Web/API/WorkerGlobalScope/navigator\n var vendor = navigator.vendor;\n if (this.useWorker && typeof Worker !== 'undefined') {\n var canCreateWorker = config.workerPath || hasUMDWorker();\n if (canCreateWorker) {\n try {\n if (config.workerPath) {\n logger.log(\"loading Web Worker \" + config.workerPath + \" for \\\"\" + id + \"\\\"\");\n this.workerContext = loadWorker(config.workerPath);\n } else {\n logger.log(\"injecting Web Worker for \\\"\" + id + \"\\\"\");\n this.workerContext = injectWorker();\n }\n this.onwmsg = function (ev) {\n return _this.onWorkerMessage(ev);\n };\n var worker = this.workerContext.worker;\n worker.addEventListener('message', this.onwmsg);\n worker.onerror = function (event) {\n var error = new Error(event.message + \" (\" + event.filename + \":\" + event.lineno + \")\");\n config.enableWorker = false;\n logger.warn(\"Error in \\\"\" + id + \"\\\" Web Worker, fallback to inline\");\n _this.hls.trigger(Events.ERROR, {\n type: ErrorTypes.OTHER_ERROR,\n details: ErrorDetails.INTERNAL_EXCEPTION,\n fatal: false,\n event: 'demuxerWorker',\n error: error\n });\n };\n worker.postMessage({\n cmd: 'init',\n typeSupported: m2tsTypeSupported,\n vendor: vendor,\n id: id,\n config: JSON.stringify(config)\n });\n } catch (err) {\n logger.warn(\"Error setting up \\\"\" + id + \"\\\" Web Worker, fallback to inline\", err);\n this.resetWorker();\n this.error = null;\n this.transmuxer = new Transmuxer(this.observer, m2tsTypeSupported, config, vendor, id);\n }\n return;\n }\n }\n this.transmuxer = new Transmuxer(this.observer, m2tsTypeSupported, config, vendor, id);\n }\n var _proto = TransmuxerInterface.prototype;\n _proto.resetWorker = function resetWorker() {\n if (this.workerContext) {\n var _this$workerContext = this.workerContext,\n worker = _this$workerContext.worker,\n objectURL = _this$workerContext.objectURL;\n if (objectURL) {\n // revoke the Object URL that was used to create transmuxer worker, so as not to leak it\n self.URL.revokeObjectURL(objectURL);\n }\n worker.removeEventListener('message', this.onwmsg);\n worker.onerror = null;\n worker.terminate();\n this.workerContext = null;\n }\n };\n _proto.destroy = function destroy() {\n if (this.workerContext) {\n this.resetWorker();\n this.onwmsg = undefined;\n } else {\n var transmuxer = this.transmuxer;\n if (transmuxer) {\n transmuxer.destroy();\n this.transmuxer = null;\n }\n }\n var observer = this.observer;\n if (observer) {\n observer.removeAllListeners();\n }\n this.frag = null;\n // @ts-ignore\n this.observer = null;\n // @ts-ignore\n this.hls = null;\n };\n _proto.push = function push(data, initSegmentData, audioCodec, videoCodec, frag, part, duration, accurateTimeOffset, chunkMeta, defaultInitPTS) {\n var _frag$initSegment,\n _lastFrag$initSegment,\n _this2 = this;\n chunkMeta.transmuxing.start = self.performance.now();\n var transmuxer = this.transmuxer;\n var timeOffset = part ? part.start : frag.start;\n // TODO: push \"clear-lead\" decrypt data for unencrypted fragments in streams with encrypted ones\n var decryptdata = frag.decryptdata;\n var lastFrag = this.frag;\n var discontinuity = !(lastFrag && frag.cc === lastFrag.cc);\n var trackSwitch = !(lastFrag && chunkMeta.level === lastFrag.level);\n var snDiff = lastFrag ? chunkMeta.sn - lastFrag.sn : -1;\n var partDiff = this.part ? chunkMeta.part - this.part.index : -1;\n var progressive = snDiff === 0 && chunkMeta.id > 1 && chunkMeta.id === (lastFrag == null ? void 0 : lastFrag.stats.chunkCount);\n var contiguous = !trackSwitch && (snDiff === 1 || snDiff === 0 && (partDiff === 1 || progressive && partDiff <= 0));\n var now = self.performance.now();\n if (trackSwitch || snDiff || frag.stats.parsing.start === 0) {\n frag.stats.parsing.start = now;\n }\n if (part && (partDiff || !contiguous)) {\n part.stats.parsing.start = now;\n }\n var initSegmentChange = !(lastFrag && ((_frag$initSegment = frag.initSegment) == null ? void 0 : _frag$initSegment.url) === ((_lastFrag$initSegment = lastFrag.initSegment) == null ? void 0 : _lastFrag$initSegment.url));\n var state = new TransmuxState(discontinuity, contiguous, accurateTimeOffset, trackSwitch, timeOffset, initSegmentChange);\n if (!contiguous || discontinuity || initSegmentChange) {\n logger.log(\"[transmuxer-interface, \" + frag.type + \"]: Starting new transmux session for sn: \" + chunkMeta.sn + \" p: \" + chunkMeta.part + \" level: \" + chunkMeta.level + \" id: \" + chunkMeta.id + \"\\n discontinuity: \" + discontinuity + \"\\n trackSwitch: \" + trackSwitch + \"\\n contiguous: \" + contiguous + \"\\n accurateTimeOffset: \" + accurateTimeOffset + \"\\n timeOffset: \" + timeOffset + \"\\n initSegmentChange: \" + initSegmentChange);\n var config = new TransmuxConfig(audioCodec, videoCodec, initSegmentData, duration, defaultInitPTS);\n this.configureTransmuxer(config);\n }\n this.frag = frag;\n this.part = part;\n\n // Frags with sn of 'initSegment' are not transmuxed\n if (this.workerContext) {\n // post fragment payload as transferable objects for ArrayBuffer (no copy)\n this.workerContext.worker.postMessage({\n cmd: 'demux',\n data: data,\n decryptdata: decryptdata,\n chunkMeta: chunkMeta,\n state: state\n }, data instanceof ArrayBuffer ? [data] : []);\n } else if (transmuxer) {\n var _transmuxResult = transmuxer.push(data, decryptdata, chunkMeta, state);\n if (isPromise(_transmuxResult)) {\n transmuxer.async = true;\n _transmuxResult.then(function (data) {\n _this2.handleTransmuxComplete(data);\n }).catch(function (error) {\n _this2.transmuxerError(error, chunkMeta, 'transmuxer-interface push error');\n });\n } else {\n transmuxer.async = false;\n this.handleTransmuxComplete(_transmuxResult);\n }\n }\n };\n _proto.flush = function flush(chunkMeta) {\n var _this3 = this;\n chunkMeta.transmuxing.start = self.performance.now();\n var transmuxer = this.transmuxer;\n if (this.workerContext) {\n this.workerContext.worker.postMessage({\n cmd: 'flush',\n chunkMeta: chunkMeta\n });\n } else if (transmuxer) {\n var _transmuxResult2 = transmuxer.flush(chunkMeta);\n var asyncFlush = isPromise(_transmuxResult2);\n if (asyncFlush || transmuxer.async) {\n if (!isPromise(_transmuxResult2)) {\n _transmuxResult2 = Promise.resolve(_transmuxResult2);\n }\n _transmuxResult2.then(function (data) {\n _this3.handleFlushResult(data, chunkMeta);\n }).catch(function (error) {\n _this3.transmuxerError(error, chunkMeta, 'transmuxer-interface flush error');\n });\n } else {\n this.handleFlushResult(_transmuxResult2, chunkMeta);\n }\n }\n };\n _proto.transmuxerError = function transmuxerError(error, chunkMeta, reason) {\n if (!this.hls) {\n return;\n }\n this.error = error;\n this.hls.trigger(Events.ERROR, {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.FRAG_PARSING_ERROR,\n chunkMeta: chunkMeta,\n fatal: false,\n error: error,\n err: error,\n reason: reason\n });\n };\n _proto.handleFlushResult = function handleFlushResult(results, chunkMeta) {\n var _this4 = this;\n results.forEach(function (result) {\n _this4.handleTransmuxComplete(result);\n });\n this.onFlush(chunkMeta);\n };\n _proto.onWorkerMessage = function onWorkerMessage(ev) {\n var data = ev.data;\n var hls = this.hls;\n switch (data.event) {\n case 'init':\n {\n var _this$workerContext2;\n var objectURL = (_this$workerContext2 = this.workerContext) == null ? void 0 : _this$workerContext2.objectURL;\n if (objectURL) {\n // revoke the Object URL that was used to create transmuxer worker, so as not to leak it\n self.URL.revokeObjectURL(objectURL);\n }\n break;\n }\n case 'transmuxComplete':\n {\n this.handleTransmuxComplete(data.data);\n break;\n }\n case 'flush':\n {\n this.onFlush(data.data);\n break;\n }\n\n // pass logs from the worker thread to the main logger\n case 'workerLog':\n if (logger[data.data.logType]) {\n logger[data.data.logType](data.data.message);\n }\n break;\n default:\n {\n data.data = data.data || {};\n data.data.frag = this.frag;\n data.data.id = this.id;\n hls.trigger(data.event, data.data);\n break;\n }\n }\n };\n _proto.configureTransmuxer = function configureTransmuxer(config) {\n var transmuxer = this.transmuxer;\n if (this.workerContext) {\n this.workerContext.worker.postMessage({\n cmd: 'configure',\n config: config\n });\n } else if (transmuxer) {\n transmuxer.configure(config);\n }\n };\n _proto.handleTransmuxComplete = function handleTransmuxComplete(result) {\n result.chunkMeta.transmuxing.end = self.performance.now();\n this.onTransmuxComplete(result);\n };\n return TransmuxerInterface;\n }();\n\n function subtitleOptionsIdentical(trackList1, trackList2) {\n if (trackList1.length !== trackList2.length) {\n return false;\n }\n for (var i = 0; i < trackList1.length; i++) {\n if (!mediaAttributesIdentical(trackList1[i].attrs, trackList2[i].attrs)) {\n return false;\n }\n }\n return true;\n }\n function mediaAttributesIdentical(attrs1, attrs2, customAttributes) {\n // Media options with the same rendition ID must be bit identical\n var stableRenditionId = attrs1['STABLE-RENDITION-ID'];\n if (stableRenditionId && !customAttributes) {\n return stableRenditionId === attrs2['STABLE-RENDITION-ID'];\n }\n // When rendition ID is not present, compare attributes\n return !(customAttributes || ['LANGUAGE', 'NAME', 'CHARACTERISTICS', 'AUTOSELECT', 'DEFAULT', 'FORCED', 'ASSOC-LANGUAGE']).some(function (subtitleAttribute) {\n return attrs1[subtitleAttribute] !== attrs2[subtitleAttribute];\n });\n }\n function subtitleTrackMatchesTextTrack(subtitleTrack, textTrack) {\n return textTrack.label.toLowerCase() === subtitleTrack.name.toLowerCase() && (!textTrack.language || textTrack.language.toLowerCase() === (subtitleTrack.lang || '').toLowerCase());\n }\n\n var TICK_INTERVAL$2 = 100; // how often to tick in ms\n var AudioStreamController = /*#__PURE__*/function (_BaseStreamController) {\n _inheritsLoose(AudioStreamController, _BaseStreamController);\n function AudioStreamController(hls, fragmentTracker, keyLoader) {\n var _this;\n _this = _BaseStreamController.call(this, hls, fragmentTracker, keyLoader, '[audio-stream-controller]', PlaylistLevelType.AUDIO) || this;\n _this.videoBuffer = null;\n _this.videoTrackCC = -1;\n _this.waitingVideoCC = -1;\n _this.bufferedTrack = null;\n _this.switchingTrack = null;\n _this.trackId = -1;\n _this.waitingData = null;\n _this.mainDetails = null;\n _this.flushing = false;\n _this.bufferFlushed = false;\n _this.cachedTrackLoadedData = null;\n _this._registerListeners();\n return _this;\n }\n var _proto = AudioStreamController.prototype;\n _proto.onHandlerDestroying = function onHandlerDestroying() {\n this._unregisterListeners();\n _BaseStreamController.prototype.onHandlerDestroying.call(this);\n this.mainDetails = null;\n this.bufferedTrack = null;\n this.switchingTrack = null;\n };\n _proto._registerListeners = function _registerListeners() {\n var hls = this.hls;\n hls.on(Events.MEDIA_ATTACHED, this.onMediaAttached, this);\n hls.on(Events.MEDIA_DETACHING, this.onMediaDetaching, this);\n hls.on(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.on(Events.LEVEL_LOADED, this.onLevelLoaded, this);\n hls.on(Events.AUDIO_TRACKS_UPDATED, this.onAudioTracksUpdated, this);\n hls.on(Events.AUDIO_TRACK_SWITCHING, this.onAudioTrackSwitching, this);\n hls.on(Events.AUDIO_TRACK_LOADED, this.onAudioTrackLoaded, this);\n hls.on(Events.ERROR, this.onError, this);\n hls.on(Events.BUFFER_RESET, this.onBufferReset, this);\n hls.on(Events.BUFFER_CREATED, this.onBufferCreated, this);\n hls.on(Events.BUFFER_FLUSHING, this.onBufferFlushing, this);\n hls.on(Events.BUFFER_FLUSHED, this.onBufferFlushed, this);\n hls.on(Events.INIT_PTS_FOUND, this.onInitPtsFound, this);\n hls.on(Events.FRAG_BUFFERED, this.onFragBuffered, this);\n };\n _proto._unregisterListeners = function _unregisterListeners() {\n var hls = this.hls;\n hls.off(Events.MEDIA_ATTACHED, this.onMediaAttached, this);\n hls.off(Events.MEDIA_DETACHING, this.onMediaDetaching, this);\n hls.off(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.off(Events.LEVEL_LOADED, this.onLevelLoaded, this);\n hls.off(Events.AUDIO_TRACKS_UPDATED, this.onAudioTracksUpdated, this);\n hls.off(Events.AUDIO_TRACK_SWITCHING, this.onAudioTrackSwitching, this);\n hls.off(Events.AUDIO_TRACK_LOADED, this.onAudioTrackLoaded, this);\n hls.off(Events.ERROR, this.onError, this);\n hls.off(Events.BUFFER_RESET, this.onBufferReset, this);\n hls.off(Events.BUFFER_CREATED, this.onBufferCreated, this);\n hls.off(Events.BUFFER_FLUSHING, this.onBufferFlushing, this);\n hls.off(Events.BUFFER_FLUSHED, this.onBufferFlushed, this);\n hls.off(Events.INIT_PTS_FOUND, this.onInitPtsFound, this);\n hls.off(Events.FRAG_BUFFERED, this.onFragBuffered, this);\n }\n\n // INIT_PTS_FOUND is triggered when the video track parsed in the stream-controller has a new PTS value\n ;\n _proto.onInitPtsFound = function onInitPtsFound(event, _ref) {\n var frag = _ref.frag,\n id = _ref.id,\n initPTS = _ref.initPTS,\n timescale = _ref.timescale;\n // Always update the new INIT PTS\n // Can change due level switch\n if (id === 'main') {\n var cc = frag.cc;\n this.initPTS[frag.cc] = {\n baseTime: initPTS,\n timescale: timescale\n };\n this.log(\"InitPTS for cc: \" + cc + \" found from main: \" + initPTS);\n this.videoTrackCC = cc;\n // If we are waiting, tick immediately to unblock audio fragment transmuxing\n if (this.state === State.WAITING_INIT_PTS) {\n this.tick();\n }\n }\n };\n _proto.startLoad = function startLoad(startPosition) {\n if (!this.levels) {\n this.startPosition = startPosition;\n this.state = State.STOPPED;\n return;\n }\n var lastCurrentTime = this.lastCurrentTime;\n this.stopLoad();\n this.setInterval(TICK_INTERVAL$2);\n if (lastCurrentTime > 0 && startPosition === -1) {\n this.log(\"Override startPosition with lastCurrentTime @\" + lastCurrentTime.toFixed(3));\n startPosition = lastCurrentTime;\n this.state = State.IDLE;\n } else {\n this.loadedmetadata = false;\n this.state = State.WAITING_TRACK;\n }\n this.nextLoadPosition = this.startPosition = this.lastCurrentTime = startPosition;\n this.tick();\n };\n _proto.doTick = function doTick() {\n switch (this.state) {\n case State.IDLE:\n this.doTickIdle();\n break;\n case State.WAITING_TRACK:\n {\n var _levels$trackId;\n var levels = this.levels,\n trackId = this.trackId;\n var details = levels == null ? void 0 : (_levels$trackId = levels[trackId]) == null ? void 0 : _levels$trackId.details;\n if (details) {\n if (this.waitForCdnTuneIn(details)) {\n break;\n }\n this.state = State.WAITING_INIT_PTS;\n }\n break;\n }\n case State.FRAG_LOADING_WAITING_RETRY:\n {\n var _this$media;\n var now = performance.now();\n var retryDate = this.retryDate;\n // if current time is gt than retryDate, or if media seeking let's switch to IDLE state to retry loading\n if (!retryDate || now >= retryDate || (_this$media = this.media) != null && _this$media.seeking) {\n var _levels = this.levels,\n _trackId = this.trackId;\n this.log('RetryDate reached, switch back to IDLE state');\n this.resetStartWhenNotLoaded((_levels == null ? void 0 : _levels[_trackId]) || null);\n this.state = State.IDLE;\n }\n break;\n }\n case State.WAITING_INIT_PTS:\n {\n // Ensure we don't get stuck in the WAITING_INIT_PTS state if the waiting frag CC doesn't match any initPTS\n var waitingData = this.waitingData;\n if (waitingData) {\n var frag = waitingData.frag,\n part = waitingData.part,\n cache = waitingData.cache,\n complete = waitingData.complete;\n if (this.initPTS[frag.cc] !== undefined) {\n this.waitingData = null;\n this.waitingVideoCC = -1;\n this.state = State.FRAG_LOADING;\n var payload = cache.flush();\n var data = {\n frag: frag,\n part: part,\n payload: payload,\n networkDetails: null\n };\n this._handleFragmentLoadProgress(data);\n if (complete) {\n _BaseStreamController.prototype._handleFragmentLoadComplete.call(this, data);\n }\n } else if (this.videoTrackCC !== this.waitingVideoCC) {\n // Drop waiting fragment if videoTrackCC has changed since waitingFragment was set and initPTS was not found\n this.log(\"Waiting fragment cc (\" + frag.cc + \") cancelled because video is at cc \" + this.videoTrackCC);\n this.clearWaitingFragment();\n } else {\n // Drop waiting fragment if an earlier fragment is needed\n var pos = this.getLoadPosition();\n var bufferInfo = BufferHelper.bufferInfo(this.mediaBuffer, pos, this.config.maxBufferHole);\n var waitingFragmentAtPosition = fragmentWithinToleranceTest(bufferInfo.end, this.config.maxFragLookUpTolerance, frag);\n if (waitingFragmentAtPosition < 0) {\n this.log(\"Waiting fragment cc (\" + frag.cc + \") @ \" + frag.start + \" cancelled because another fragment at \" + bufferInfo.end + \" is needed\");\n this.clearWaitingFragment();\n }\n }\n } else {\n this.state = State.IDLE;\n }\n }\n }\n this.onTickEnd();\n };\n _proto.clearWaitingFragment = function clearWaitingFragment() {\n var waitingData = this.waitingData;\n if (waitingData) {\n this.fragmentTracker.removeFragment(waitingData.frag);\n this.waitingData = null;\n this.waitingVideoCC = -1;\n this.state = State.IDLE;\n }\n };\n _proto.resetLoadingState = function resetLoadingState() {\n this.clearWaitingFragment();\n _BaseStreamController.prototype.resetLoadingState.call(this);\n };\n _proto.onTickEnd = function onTickEnd() {\n var media = this.media;\n if (!(media != null && media.readyState)) {\n // Exit early if we don't have media or if the media hasn't buffered anything yet (readyState 0)\n return;\n }\n this.lastCurrentTime = media.currentTime;\n };\n _proto.doTickIdle = function doTickIdle() {\n var hls = this.hls,\n levels = this.levels,\n media = this.media,\n trackId = this.trackId;\n var config = hls.config;\n\n // 1. if video not attached AND\n // start fragment already requested OR start frag prefetch not enabled\n // 2. if tracks or track not loaded and selected\n // then exit loop\n // => if media not attached but start frag prefetch is enabled and start frag not requested yet, we will not exit loop\n if (!media && (this.startFragRequested || !config.startFragPrefetch) || !(levels != null && levels[trackId])) {\n return;\n }\n var levelInfo = levels[trackId];\n var trackDetails = levelInfo.details;\n if (!trackDetails || trackDetails.live && this.levelLastLoaded !== levelInfo || this.waitForCdnTuneIn(trackDetails)) {\n this.state = State.WAITING_TRACK;\n return;\n }\n var bufferable = this.mediaBuffer ? this.mediaBuffer : this.media;\n if (this.bufferFlushed && bufferable) {\n this.bufferFlushed = false;\n this.afterBufferFlushed(bufferable, ElementaryStreamTypes.AUDIO, PlaylistLevelType.AUDIO);\n }\n var bufferInfo = this.getFwdBufferInfo(bufferable, PlaylistLevelType.AUDIO);\n if (bufferInfo === null) {\n return;\n }\n var bufferedTrack = this.bufferedTrack,\n switchingTrack = this.switchingTrack;\n if (!switchingTrack && this._streamEnded(bufferInfo, trackDetails)) {\n hls.trigger(Events.BUFFER_EOS, {\n type: 'audio'\n });\n this.state = State.ENDED;\n return;\n }\n var mainBufferInfo = this.getFwdBufferInfo(this.videoBuffer ? this.videoBuffer : this.media, PlaylistLevelType.MAIN);\n var bufferLen = bufferInfo.len;\n var maxBufLen = this.getMaxBufferLength(mainBufferInfo == null ? void 0 : mainBufferInfo.len);\n var fragments = trackDetails.fragments;\n var start = fragments[0].start;\n var targetBufferTime = this.flushing ? this.getLoadPosition() : bufferInfo.end;\n if (switchingTrack && media) {\n var pos = this.getLoadPosition();\n // STABLE\n if (bufferedTrack && !mediaAttributesIdentical(switchingTrack.attrs, bufferedTrack.attrs)) {\n targetBufferTime = pos;\n }\n // if currentTime (pos) is less than alt audio playlist start time, it means that alt audio is ahead of currentTime\n if (trackDetails.PTSKnown && pos < start) {\n // if everything is buffered from pos to start or if audio buffer upfront, let's seek to start\n if (bufferInfo.end > start || bufferInfo.nextStart) {\n this.log('Alt audio track ahead of main track, seek to start of alt audio track');\n media.currentTime = start + 0.05;\n }\n }\n }\n\n // if buffer length is less than maxBufLen, or near the end, find a fragment to load\n if (bufferLen >= maxBufLen && !switchingTrack && targetBufferTime < fragments[fragments.length - 1].start) {\n return;\n }\n var frag = this.getNextFragment(targetBufferTime, trackDetails);\n var atGap = false;\n // Avoid loop loading by using nextLoadPosition set for backtracking and skipping consecutive GAP tags\n if (frag && this.isLoopLoading(frag, targetBufferTime)) {\n atGap = !!frag.gap;\n frag = this.getNextFragmentLoopLoading(frag, trackDetails, bufferInfo, PlaylistLevelType.MAIN, maxBufLen);\n }\n if (!frag) {\n this.bufferFlushed = true;\n return;\n }\n\n // Buffer audio up to one target duration ahead of main buffer\n var atBufferSyncLimit = mainBufferInfo && frag.start > mainBufferInfo.end + trackDetails.targetduration;\n if (atBufferSyncLimit ||\n // Or wait for main buffer after buffing some audio\n !(mainBufferInfo != null && mainBufferInfo.len) && bufferInfo.len) {\n // Check fragment-tracker for main fragments since GAP segments do not show up in bufferInfo\n var mainFrag = this.getAppendedFrag(frag.start, PlaylistLevelType.MAIN);\n if (mainFrag === null) {\n return;\n }\n // Bridge gaps in main buffer\n atGap || (atGap = !!mainFrag.gap || !!atBufferSyncLimit && mainBufferInfo.len === 0);\n if (atBufferSyncLimit && !atGap || atGap && bufferInfo.nextStart && bufferInfo.nextStart < mainFrag.end) {\n return;\n }\n }\n this.loadFragment(frag, levelInfo, targetBufferTime);\n };\n _proto.getMaxBufferLength = function getMaxBufferLength(mainBufferLength) {\n var maxConfigBuffer = _BaseStreamController.prototype.getMaxBufferLength.call(this);\n if (!mainBufferLength) {\n return maxConfigBuffer;\n }\n return Math.min(Math.max(maxConfigBuffer, mainBufferLength), this.config.maxMaxBufferLength);\n };\n _proto.onMediaDetaching = function onMediaDetaching() {\n this.videoBuffer = null;\n this.bufferFlushed = this.flushing = false;\n _BaseStreamController.prototype.onMediaDetaching.call(this);\n };\n _proto.onAudioTracksUpdated = function onAudioTracksUpdated(event, _ref2) {\n var audioTracks = _ref2.audioTracks;\n // Reset tranxmuxer is essential for large context switches (Content Steering)\n this.resetTransmuxer();\n this.levels = audioTracks.map(function (mediaPlaylist) {\n return new Level(mediaPlaylist);\n });\n };\n _proto.onAudioTrackSwitching = function onAudioTrackSwitching(event, data) {\n // if any URL found on new audio track, it is an alternate audio track\n var altAudio = !!data.url;\n this.trackId = data.id;\n var fragCurrent = this.fragCurrent;\n if (fragCurrent) {\n fragCurrent.abortRequests();\n this.removeUnbufferedFrags(fragCurrent.start);\n }\n this.resetLoadingState();\n // destroy useless transmuxer when switching audio to main\n if (!altAudio) {\n this.resetTransmuxer();\n } else {\n // switching to audio track, start timer if not already started\n this.setInterval(TICK_INTERVAL$2);\n }\n\n // should we switch tracks ?\n if (altAudio) {\n this.switchingTrack = data;\n // main audio track are handled by stream-controller, just do something if switching to alt audio track\n this.state = State.IDLE;\n this.flushAudioIfNeeded(data);\n } else {\n this.switchingTrack = null;\n this.bufferedTrack = data;\n this.state = State.STOPPED;\n }\n this.tick();\n };\n _proto.onManifestLoading = function onManifestLoading() {\n this.fragmentTracker.removeAllFragments();\n this.startPosition = this.lastCurrentTime = 0;\n this.bufferFlushed = this.flushing = false;\n this.levels = this.mainDetails = this.waitingData = this.bufferedTrack = this.cachedTrackLoadedData = this.switchingTrack = null;\n this.startFragRequested = false;\n this.trackId = this.videoTrackCC = this.waitingVideoCC = -1;\n };\n _proto.onLevelLoaded = function onLevelLoaded(event, data) {\n this.mainDetails = data.details;\n if (this.cachedTrackLoadedData !== null) {\n this.hls.trigger(Events.AUDIO_TRACK_LOADED, this.cachedTrackLoadedData);\n this.cachedTrackLoadedData = null;\n }\n };\n _proto.onAudioTrackLoaded = function onAudioTrackLoaded(event, data) {\n var _track$details;\n if (this.mainDetails == null) {\n this.cachedTrackLoadedData = data;\n return;\n }\n var levels = this.levels;\n var newDetails = data.details,\n trackId = data.id;\n if (!levels) {\n this.warn(\"Audio tracks were reset while loading level \" + trackId);\n return;\n }\n this.log(\"Audio track \" + trackId + \" loaded [\" + newDetails.startSN + \",\" + newDetails.endSN + \"]\" + (newDetails.lastPartSn ? \"[part-\" + newDetails.lastPartSn + \"-\" + newDetails.lastPartIndex + \"]\" : '') + \",duration:\" + newDetails.totalduration);\n var track = levels[trackId];\n var sliding = 0;\n if (newDetails.live || (_track$details = track.details) != null && _track$details.live) {\n this.checkLiveUpdate(newDetails);\n var mainDetails = this.mainDetails;\n if (newDetails.deltaUpdateFailed || !mainDetails) {\n return;\n }\n if (!track.details && newDetails.hasProgramDateTime && mainDetails.hasProgramDateTime) {\n // Make sure our audio rendition is aligned with the \"main\" rendition, using\n // pdt as our reference times.\n alignMediaPlaylistByPDT(newDetails, mainDetails);\n sliding = newDetails.fragments[0].start;\n } else {\n var _this$levelLastLoaded;\n sliding = this.alignPlaylists(newDetails, track.details, (_this$levelLastLoaded = this.levelLastLoaded) == null ? void 0 : _this$levelLastLoaded.details);\n }\n }\n track.details = newDetails;\n this.levelLastLoaded = track;\n\n // compute start position if we are aligned with the main playlist\n if (!this.startFragRequested && (this.mainDetails || !newDetails.live)) {\n this.setStartPosition(this.mainDetails || newDetails, sliding);\n }\n // only switch back to IDLE state if we were waiting for track to start downloading a new fragment\n if (this.state === State.WAITING_TRACK && !this.waitForCdnTuneIn(newDetails)) {\n this.state = State.IDLE;\n }\n\n // trigger handler right now\n this.tick();\n };\n _proto._handleFragmentLoadProgress = function _handleFragmentLoadProgress(data) {\n var _frag$initSegment;\n var frag = data.frag,\n part = data.part,\n payload = data.payload;\n var config = this.config,\n trackId = this.trackId,\n levels = this.levels;\n if (!levels) {\n this.warn(\"Audio tracks were reset while fragment load was in progress. Fragment \" + frag.sn + \" of level \" + frag.level + \" will not be buffered\");\n return;\n }\n var track = levels[trackId];\n if (!track) {\n this.warn('Audio track is undefined on fragment load progress');\n return;\n }\n var details = track.details;\n if (!details) {\n this.warn('Audio track details undefined on fragment load progress');\n this.removeUnbufferedFrags(frag.start);\n return;\n }\n var audioCodec = config.defaultAudioCodec || track.audioCodec || 'mp4a.40.2';\n var transmuxer = this.transmuxer;\n if (!transmuxer) {\n transmuxer = this.transmuxer = new TransmuxerInterface(this.hls, PlaylistLevelType.AUDIO, this._handleTransmuxComplete.bind(this), this._handleTransmuxerFlush.bind(this));\n }\n\n // Check if we have video initPTS\n // If not we need to wait for it\n var initPTS = this.initPTS[frag.cc];\n var initSegmentData = (_frag$initSegment = frag.initSegment) == null ? void 0 : _frag$initSegment.data;\n if (initPTS !== undefined) {\n // this.log(`Transmuxing ${sn} of [${details.startSN} ,${details.endSN}],track ${trackId}`);\n // time Offset is accurate if level PTS is known, or if playlist is not sliding (not live)\n var accurateTimeOffset = false; // details.PTSKnown || !details.live;\n var partIndex = part ? part.index : -1;\n var partial = partIndex !== -1;\n var chunkMeta = new ChunkMetadata(frag.level, frag.sn, frag.stats.chunkCount, payload.byteLength, partIndex, partial);\n transmuxer.push(payload, initSegmentData, audioCodec, '', frag, part, details.totalduration, accurateTimeOffset, chunkMeta, initPTS);\n } else {\n this.log(\"Unknown video PTS for cc \" + frag.cc + \", waiting for video PTS before demuxing audio frag \" + frag.sn + \" of [\" + details.startSN + \" ,\" + details.endSN + \"],track \" + trackId);\n var _this$waitingData = this.waitingData = this.waitingData || {\n frag: frag,\n part: part,\n cache: new ChunkCache(),\n complete: false\n },\n cache = _this$waitingData.cache;\n cache.push(new Uint8Array(payload));\n this.waitingVideoCC = this.videoTrackCC;\n this.state = State.WAITING_INIT_PTS;\n }\n };\n _proto._handleFragmentLoadComplete = function _handleFragmentLoadComplete(fragLoadedData) {\n if (this.waitingData) {\n this.waitingData.complete = true;\n return;\n }\n _BaseStreamController.prototype._handleFragmentLoadComplete.call(this, fragLoadedData);\n };\n _proto.onBufferReset = function onBufferReset( /* event: Events.BUFFER_RESET */\n ) {\n // reset reference to sourcebuffers\n this.mediaBuffer = this.videoBuffer = null;\n this.loadedmetadata = false;\n };\n _proto.onBufferCreated = function onBufferCreated(event, data) {\n var audioTrack = data.tracks.audio;\n if (audioTrack) {\n this.mediaBuffer = audioTrack.buffer || null;\n }\n if (data.tracks.video) {\n this.videoBuffer = data.tracks.video.buffer || null;\n }\n };\n _proto.onFragBuffered = function onFragBuffered(event, data) {\n var frag = data.frag,\n part = data.part;\n if (frag.type !== PlaylistLevelType.AUDIO) {\n if (!this.loadedmetadata && frag.type === PlaylistLevelType.MAIN) {\n var bufferable = this.videoBuffer || this.media;\n if (bufferable) {\n var bufferedTimeRanges = BufferHelper.getBuffered(bufferable);\n if (bufferedTimeRanges.length) {\n this.loadedmetadata = true;\n }\n }\n }\n return;\n }\n if (this.fragContextChanged(frag)) {\n // If a level switch was requested while a fragment was buffering, it will emit the FRAG_BUFFERED event upon completion\n // Avoid setting state back to IDLE or concluding the audio switch; otherwise, the switched-to track will not buffer\n this.warn(\"Fragment \" + frag.sn + (part ? ' p: ' + part.index : '') + \" of level \" + frag.level + \" finished buffering, but was aborted. state: \" + this.state + \", audioSwitch: \" + (this.switchingTrack ? this.switchingTrack.name : 'false'));\n return;\n }\n if (frag.sn !== 'initSegment') {\n this.fragPrevious = frag;\n var track = this.switchingTrack;\n if (track) {\n this.bufferedTrack = track;\n this.switchingTrack = null;\n this.hls.trigger(Events.AUDIO_TRACK_SWITCHED, _objectSpread2({}, track));\n }\n }\n this.fragBufferedComplete(frag, part);\n };\n _proto.onError = function onError(event, data) {\n var _data$context;\n if (data.fatal) {\n this.state = State.ERROR;\n return;\n }\n switch (data.details) {\n case ErrorDetails.FRAG_GAP:\n case ErrorDetails.FRAG_PARSING_ERROR:\n case ErrorDetails.FRAG_DECRYPT_ERROR:\n case ErrorDetails.FRAG_LOAD_ERROR:\n case ErrorDetails.FRAG_LOAD_TIMEOUT:\n case ErrorDetails.KEY_LOAD_ERROR:\n case ErrorDetails.KEY_LOAD_TIMEOUT:\n this.onFragmentOrKeyLoadError(PlaylistLevelType.AUDIO, data);\n break;\n case ErrorDetails.AUDIO_TRACK_LOAD_ERROR:\n case ErrorDetails.AUDIO_TRACK_LOAD_TIMEOUT:\n case ErrorDetails.LEVEL_PARSING_ERROR:\n // in case of non fatal error while loading track, if not retrying to load track, switch back to IDLE\n if (!data.levelRetry && this.state === State.WAITING_TRACK && ((_data$context = data.context) == null ? void 0 : _data$context.type) === PlaylistContextType.AUDIO_TRACK) {\n this.state = State.IDLE;\n }\n break;\n case ErrorDetails.BUFFER_APPEND_ERROR:\n case ErrorDetails.BUFFER_FULL_ERROR:\n if (!data.parent || data.parent !== 'audio') {\n return;\n }\n if (data.details === ErrorDetails.BUFFER_APPEND_ERROR) {\n this.resetLoadingState();\n return;\n }\n if (this.reduceLengthAndFlushBuffer(data)) {\n this.bufferedTrack = null;\n _BaseStreamController.prototype.flushMainBuffer.call(this, 0, Number.POSITIVE_INFINITY, 'audio');\n }\n break;\n case ErrorDetails.INTERNAL_EXCEPTION:\n this.recoverWorkerError(data);\n break;\n }\n };\n _proto.onBufferFlushing = function onBufferFlushing(event, _ref3) {\n var type = _ref3.type;\n if (type !== ElementaryStreamTypes.VIDEO) {\n this.flushing = true;\n }\n };\n _proto.onBufferFlushed = function onBufferFlushed(event, _ref4) {\n var type = _ref4.type;\n if (type !== ElementaryStreamTypes.VIDEO) {\n this.flushing = false;\n this.bufferFlushed = true;\n if (this.state === State.ENDED) {\n this.state = State.IDLE;\n }\n var mediaBuffer = this.mediaBuffer || this.media;\n if (mediaBuffer) {\n this.afterBufferFlushed(mediaBuffer, type, PlaylistLevelType.AUDIO);\n this.tick();\n }\n }\n };\n _proto._handleTransmuxComplete = function _handleTransmuxComplete(transmuxResult) {\n var _id3$samples;\n var id = 'audio';\n var hls = this.hls;\n var remuxResult = transmuxResult.remuxResult,\n chunkMeta = transmuxResult.chunkMeta;\n var context = this.getCurrentContext(chunkMeta);\n if (!context) {\n this.resetWhenMissingContext(chunkMeta);\n return;\n }\n var frag = context.frag,\n part = context.part,\n level = context.level;\n var details = level.details;\n var audio = remuxResult.audio,\n text = remuxResult.text,\n id3 = remuxResult.id3,\n initSegment = remuxResult.initSegment;\n\n // Check if the current fragment has been aborted. We check this by first seeing if we're still playing the current level.\n // If we are, subsequently check if the currently loading fragment (fragCurrent) has changed.\n if (this.fragContextChanged(frag) || !details) {\n this.fragmentTracker.removeFragment(frag);\n return;\n }\n this.state = State.PARSING;\n if (this.switchingTrack && audio) {\n this.completeAudioSwitch(this.switchingTrack);\n }\n if (initSegment != null && initSegment.tracks) {\n var mapFragment = frag.initSegment || frag;\n this._bufferInitSegment(level, initSegment.tracks, mapFragment, chunkMeta);\n hls.trigger(Events.FRAG_PARSING_INIT_SEGMENT, {\n frag: mapFragment,\n id: id,\n tracks: initSegment.tracks\n });\n // Only flush audio from old audio tracks when PTS is known on new audio track\n }\n if (audio) {\n var startPTS = audio.startPTS,\n endPTS = audio.endPTS,\n startDTS = audio.startDTS,\n endDTS = audio.endDTS;\n if (part) {\n part.elementaryStreams[ElementaryStreamTypes.AUDIO] = {\n startPTS: startPTS,\n endPTS: endPTS,\n startDTS: startDTS,\n endDTS: endDTS\n };\n }\n frag.setElementaryStreamInfo(ElementaryStreamTypes.AUDIO, startPTS, endPTS, startDTS, endDTS);\n this.bufferFragmentData(audio, frag, part, chunkMeta);\n }\n if (id3 != null && (_id3$samples = id3.samples) != null && _id3$samples.length) {\n var emittedID3 = _extends({\n id: id,\n frag: frag,\n details: details\n }, id3);\n hls.trigger(Events.FRAG_PARSING_METADATA, emittedID3);\n }\n if (text) {\n var emittedText = _extends({\n id: id,\n frag: frag,\n details: details\n }, text);\n hls.trigger(Events.FRAG_PARSING_USERDATA, emittedText);\n }\n };\n _proto._bufferInitSegment = function _bufferInitSegment(currentLevel, tracks, frag, chunkMeta) {\n if (this.state !== State.PARSING) {\n return;\n }\n // delete any video track found on audio transmuxer\n if (tracks.video) {\n delete tracks.video;\n }\n\n // include levelCodec in audio and video tracks\n var track = tracks.audio;\n if (!track) {\n return;\n }\n track.id = 'audio';\n var variantAudioCodecs = currentLevel.audioCodec;\n this.log(\"Init audio buffer, container:\" + track.container + \", codecs[level/parsed]=[\" + variantAudioCodecs + \"/\" + track.codec + \"]\");\n // SourceBuffer will use track.levelCodec if defined\n if (variantAudioCodecs && variantAudioCodecs.split(',').length === 1) {\n track.levelCodec = variantAudioCodecs;\n }\n this.hls.trigger(Events.BUFFER_CODECS, tracks);\n var initSegment = track.initSegment;\n if (initSegment != null && initSegment.byteLength) {\n var segment = {\n type: 'audio',\n frag: frag,\n part: null,\n chunkMeta: chunkMeta,\n parent: frag.type,\n data: initSegment\n };\n this.hls.trigger(Events.BUFFER_APPENDING, segment);\n }\n // trigger handler right now\n this.tickImmediate();\n };\n _proto.loadFragment = function loadFragment(frag, track, targetBufferTime) {\n // only load if fragment is not loaded or if in audio switch\n var fragState = this.fragmentTracker.getState(frag);\n this.fragCurrent = frag;\n\n // we force a frag loading in audio switch as fragment tracker might not have evicted previous frags in case of quick audio switch\n if (this.switchingTrack || fragState === FragmentState.NOT_LOADED || fragState === FragmentState.PARTIAL) {\n var _track$details2;\n if (frag.sn === 'initSegment') {\n this._loadInitSegment(frag, track);\n } else if ((_track$details2 = track.details) != null && _track$details2.live && !this.initPTS[frag.cc]) {\n this.log(\"Waiting for video PTS in continuity counter \" + frag.cc + \" of live stream before loading audio fragment \" + frag.sn + \" of level \" + this.trackId);\n this.state = State.WAITING_INIT_PTS;\n var mainDetails = this.mainDetails;\n if (mainDetails && mainDetails.fragments[0].start !== track.details.fragments[0].start) {\n alignMediaPlaylistByPDT(track.details, mainDetails);\n }\n } else {\n this.startFragRequested = true;\n _BaseStreamController.prototype.loadFragment.call(this, frag, track, targetBufferTime);\n }\n } else {\n this.clearTrackerIfNeeded(frag);\n }\n };\n _proto.flushAudioIfNeeded = function flushAudioIfNeeded(switchingTrack) {\n var media = this.media,\n bufferedTrack = this.bufferedTrack;\n var bufferedAttributes = bufferedTrack == null ? void 0 : bufferedTrack.attrs;\n var switchAttributes = switchingTrack.attrs;\n if (media && bufferedAttributes && (bufferedAttributes.CHANNELS !== switchAttributes.CHANNELS || bufferedTrack.name !== switchingTrack.name || bufferedTrack.lang !== switchingTrack.lang)) {\n this.log('Switching audio track : flushing all audio');\n _BaseStreamController.prototype.flushMainBuffer.call(this, 0, Number.POSITIVE_INFINITY, 'audio');\n this.bufferedTrack = null;\n }\n };\n _proto.completeAudioSwitch = function completeAudioSwitch(switchingTrack) {\n var hls = this.hls;\n this.flushAudioIfNeeded(switchingTrack);\n this.bufferedTrack = switchingTrack;\n this.switchingTrack = null;\n hls.trigger(Events.AUDIO_TRACK_SWITCHED, _objectSpread2({}, switchingTrack));\n };\n return AudioStreamController;\n }(BaseStreamController);\n\n var AudioTrackController = /*#__PURE__*/function (_BasePlaylistControll) {\n _inheritsLoose(AudioTrackController, _BasePlaylistControll);\n function AudioTrackController(hls) {\n var _this;\n _this = _BasePlaylistControll.call(this, hls, '[audio-track-controller]') || this;\n _this.tracks = [];\n _this.groupIds = null;\n _this.tracksInGroup = [];\n _this.trackId = -1;\n _this.currentTrack = null;\n _this.selectDefaultTrack = true;\n _this.registerListeners();\n return _this;\n }\n var _proto = AudioTrackController.prototype;\n _proto.registerListeners = function registerListeners() {\n var hls = this.hls;\n hls.on(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.on(Events.MANIFEST_PARSED, this.onManifestParsed, this);\n hls.on(Events.LEVEL_LOADING, this.onLevelLoading, this);\n hls.on(Events.LEVEL_SWITCHING, this.onLevelSwitching, this);\n hls.on(Events.AUDIO_TRACK_LOADED, this.onAudioTrackLoaded, this);\n hls.on(Events.ERROR, this.onError, this);\n };\n _proto.unregisterListeners = function unregisterListeners() {\n var hls = this.hls;\n hls.off(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.off(Events.MANIFEST_PARSED, this.onManifestParsed, this);\n hls.off(Events.LEVEL_LOADING, this.onLevelLoading, this);\n hls.off(Events.LEVEL_SWITCHING, this.onLevelSwitching, this);\n hls.off(Events.AUDIO_TRACK_LOADED, this.onAudioTrackLoaded, this);\n hls.off(Events.ERROR, this.onError, this);\n };\n _proto.destroy = function destroy() {\n this.unregisterListeners();\n this.tracks.length = 0;\n this.tracksInGroup.length = 0;\n this.currentTrack = null;\n _BasePlaylistControll.prototype.destroy.call(this);\n };\n _proto.onManifestLoading = function onManifestLoading() {\n this.tracks = [];\n this.tracksInGroup = [];\n this.groupIds = null;\n this.currentTrack = null;\n this.trackId = -1;\n this.selectDefaultTrack = true;\n };\n _proto.onManifestParsed = function onManifestParsed(event, data) {\n this.tracks = data.audioTracks || [];\n };\n _proto.onAudioTrackLoaded = function onAudioTrackLoaded(event, data) {\n var id = data.id,\n groupId = data.groupId,\n details = data.details;\n var trackInActiveGroup = this.tracksInGroup[id];\n if (!trackInActiveGroup || trackInActiveGroup.groupId !== groupId) {\n this.warn(\"Audio track with id:\" + id + \" and group:\" + groupId + \" not found in active group \" + (trackInActiveGroup == null ? void 0 : trackInActiveGroup.groupId));\n return;\n }\n var curDetails = trackInActiveGroup.details;\n trackInActiveGroup.details = data.details;\n this.log(\"Audio track \" + id + \" \\\"\" + trackInActiveGroup.name + \"\\\" lang:\" + trackInActiveGroup.lang + \" group:\" + groupId + \" loaded [\" + details.startSN + \"-\" + details.endSN + \"]\");\n if (id === this.trackId) {\n this.playlistLoaded(id, data, curDetails);\n }\n };\n _proto.onLevelLoading = function onLevelLoading(event, data) {\n this.switchLevel(data.level);\n };\n _proto.onLevelSwitching = function onLevelSwitching(event, data) {\n this.switchLevel(data.level);\n };\n _proto.switchLevel = function switchLevel(levelIndex) {\n var levelInfo = this.hls.levels[levelIndex];\n if (!levelInfo) {\n return;\n }\n var audioGroups = levelInfo.audioGroups || null;\n var currentGroups = this.groupIds;\n var currentTrack = this.currentTrack;\n if (!audioGroups || (currentGroups == null ? void 0 : currentGroups.length) !== (audioGroups == null ? void 0 : audioGroups.length) || audioGroups != null && audioGroups.some(function (groupId) {\n return (currentGroups == null ? void 0 : currentGroups.indexOf(groupId)) === -1;\n })) {\n this.groupIds = audioGroups;\n this.trackId = -1;\n this.currentTrack = null;\n var audioTracks = this.tracks.filter(function (track) {\n return !audioGroups || audioGroups.indexOf(track.groupId) !== -1;\n });\n if (audioTracks.length) {\n // Disable selectDefaultTrack if there are no default tracks\n if (this.selectDefaultTrack && !audioTracks.some(function (track) {\n return track.default;\n })) {\n this.selectDefaultTrack = false;\n }\n // track.id should match hls.audioTracks index\n audioTracks.forEach(function (track, i) {\n track.id = i;\n });\n } else if (!currentTrack && !this.tracksInGroup.length) {\n // Do not dispatch AUDIO_TRACKS_UPDATED when there were and are no tracks\n return;\n }\n this.tracksInGroup = audioTracks;\n\n // Find preferred track\n var audioPreference = this.hls.config.audioPreference;\n if (!currentTrack && audioPreference) {\n var groupIndex = findMatchingOption(audioPreference, audioTracks, audioMatchPredicate);\n if (groupIndex > -1) {\n currentTrack = audioTracks[groupIndex];\n } else {\n var allIndex = findMatchingOption(audioPreference, this.tracks);\n currentTrack = this.tracks[allIndex];\n }\n }\n\n // Select initial track\n var trackId = this.findTrackId(currentTrack);\n if (trackId === -1 && currentTrack) {\n trackId = this.findTrackId(null);\n }\n\n // Dispatch events and load track if needed\n var audioTracksUpdated = {\n audioTracks: audioTracks\n };\n this.log(\"Updating audio tracks, \" + audioTracks.length + \" track(s) found in group(s): \" + (audioGroups == null ? void 0 : audioGroups.join(',')));\n this.hls.trigger(Events.AUDIO_TRACKS_UPDATED, audioTracksUpdated);\n var selectedTrackId = this.trackId;\n if (trackId !== -1 && selectedTrackId === -1) {\n this.setAudioTrack(trackId);\n } else if (audioTracks.length && selectedTrackId === -1) {\n var _this$groupIds;\n var error = new Error(\"No audio track selected for current audio group-ID(s): \" + ((_this$groupIds = this.groupIds) == null ? void 0 : _this$groupIds.join(',')) + \" track count: \" + audioTracks.length);\n this.warn(error.message);\n this.hls.trigger(Events.ERROR, {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.AUDIO_TRACK_LOAD_ERROR,\n fatal: true,\n error: error\n });\n }\n } else if (this.shouldReloadPlaylist(currentTrack)) {\n // Retry playlist loading if no playlist is or has been loaded yet\n this.setAudioTrack(this.trackId);\n }\n };\n _proto.onError = function onError(event, data) {\n if (data.fatal || !data.context) {\n return;\n }\n if (data.context.type === PlaylistContextType.AUDIO_TRACK && data.context.id === this.trackId && (!this.groupIds || this.groupIds.indexOf(data.context.groupId) !== -1)) {\n this.requestScheduled = -1;\n this.checkRetry(data);\n }\n };\n _proto.setAudioOption = function setAudioOption(audioOption) {\n var hls = this.hls;\n hls.config.audioPreference = audioOption;\n if (audioOption) {\n var allAudioTracks = this.allAudioTracks;\n this.selectDefaultTrack = false;\n if (allAudioTracks.length) {\n // First see if current option matches (no switch op)\n var currentTrack = this.currentTrack;\n if (currentTrack && matchesOption(audioOption, currentTrack, audioMatchPredicate)) {\n return currentTrack;\n }\n // Find option in available tracks (tracksInGroup)\n var groupIndex = findMatchingOption(audioOption, this.tracksInGroup, audioMatchPredicate);\n if (groupIndex > -1) {\n var track = this.tracksInGroup[groupIndex];\n this.setAudioTrack(groupIndex);\n return track;\n } else if (currentTrack) {\n // Find option in nearest level audio group\n var searchIndex = hls.loadLevel;\n if (searchIndex === -1) {\n searchIndex = hls.firstAutoLevel;\n }\n var switchIndex = findClosestLevelWithAudioGroup(audioOption, hls.levels, allAudioTracks, searchIndex, audioMatchPredicate);\n if (switchIndex === -1) {\n // could not find matching variant\n return null;\n }\n // and switch level to acheive the audio group switch\n hls.nextLoadLevel = switchIndex;\n }\n if (audioOption.channels || audioOption.audioCodec) {\n // Could not find a match with codec / channels predicate\n // Find a match without channels or codec\n var withoutCodecAndChannelsMatch = findMatchingOption(audioOption, allAudioTracks);\n if (withoutCodecAndChannelsMatch > -1) {\n return allAudioTracks[withoutCodecAndChannelsMatch];\n }\n }\n }\n }\n return null;\n };\n _proto.setAudioTrack = function setAudioTrack(newId) {\n var tracks = this.tracksInGroup;\n\n // check if level idx is valid\n if (newId < 0 || newId >= tracks.length) {\n this.warn(\"Invalid audio track id: \" + newId);\n return;\n }\n\n // stopping live reloading timer if any\n this.clearTimer();\n this.selectDefaultTrack = false;\n var lastTrack = this.currentTrack;\n var track = tracks[newId];\n var trackLoaded = track.details && !track.details.live;\n if (newId === this.trackId && track === lastTrack && trackLoaded) {\n return;\n }\n this.log(\"Switching to audio-track \" + newId + \" \\\"\" + track.name + \"\\\" lang:\" + track.lang + \" group:\" + track.groupId + \" channels:\" + track.channels);\n this.trackId = newId;\n this.currentTrack = track;\n this.hls.trigger(Events.AUDIO_TRACK_SWITCHING, _objectSpread2({}, track));\n // Do not reload track unless live\n if (trackLoaded) {\n return;\n }\n var hlsUrlParameters = this.switchParams(track.url, lastTrack == null ? void 0 : lastTrack.details);\n this.loadPlaylist(hlsUrlParameters);\n };\n _proto.findTrackId = function findTrackId(currentTrack) {\n var audioTracks = this.tracksInGroup;\n for (var i = 0; i < audioTracks.length; i++) {\n var track = audioTracks[i];\n if (this.selectDefaultTrack && !track.default) {\n continue;\n }\n if (!currentTrack || matchesOption(currentTrack, track, audioMatchPredicate)) {\n return i;\n }\n }\n if (currentTrack) {\n var name = currentTrack.name,\n lang = currentTrack.lang,\n assocLang = currentTrack.assocLang,\n characteristics = currentTrack.characteristics,\n audioCodec = currentTrack.audioCodec,\n channels = currentTrack.channels;\n for (var _i = 0; _i < audioTracks.length; _i++) {\n var _track = audioTracks[_i];\n if (matchesOption({\n name: name,\n lang: lang,\n assocLang: assocLang,\n characteristics: characteristics,\n audioCodec: audioCodec,\n channels: channels\n }, _track, audioMatchPredicate)) {\n return _i;\n }\n }\n for (var _i2 = 0; _i2 < audioTracks.length; _i2++) {\n var _track2 = audioTracks[_i2];\n if (mediaAttributesIdentical(currentTrack.attrs, _track2.attrs, ['LANGUAGE', 'ASSOC-LANGUAGE', 'CHARACTERISTICS'])) {\n return _i2;\n }\n }\n for (var _i3 = 0; _i3 < audioTracks.length; _i3++) {\n var _track3 = audioTracks[_i3];\n if (mediaAttributesIdentical(currentTrack.attrs, _track3.attrs, ['LANGUAGE'])) {\n return _i3;\n }\n }\n }\n return -1;\n };\n _proto.loadPlaylist = function loadPlaylist(hlsUrlParameters) {\n var audioTrack = this.currentTrack;\n if (this.shouldLoadPlaylist(audioTrack) && audioTrack) {\n _BasePlaylistControll.prototype.loadPlaylist.call(this);\n var id = audioTrack.id;\n var groupId = audioTrack.groupId;\n var url = audioTrack.url;\n if (hlsUrlParameters) {\n try {\n url = hlsUrlParameters.addDirectives(url);\n } catch (error) {\n this.warn(\"Could not construct new URL with HLS Delivery Directives: \" + error);\n }\n }\n // track not retrieved yet, or live playlist we need to (re)load it\n this.log(\"loading audio-track playlist \" + id + \" \\\"\" + audioTrack.name + \"\\\" lang:\" + audioTrack.lang + \" group:\" + groupId);\n this.clearTimer();\n this.hls.trigger(Events.AUDIO_TRACK_LOADING, {\n url: url,\n id: id,\n groupId: groupId,\n deliveryDirectives: hlsUrlParameters || null\n });\n }\n };\n _createClass(AudioTrackController, [{\n key: \"allAudioTracks\",\n get: function get() {\n return this.tracks;\n }\n }, {\n key: \"audioTracks\",\n get: function get() {\n return this.tracksInGroup;\n }\n }, {\n key: \"audioTrack\",\n get: function get() {\n return this.trackId;\n },\n set: function set(newId) {\n // If audio track is selected from API then don't choose from the manifest default track\n this.selectDefaultTrack = false;\n this.setAudioTrack(newId);\n }\n }]);\n return AudioTrackController;\n }(BasePlaylistController);\n\n var TICK_INTERVAL$1 = 500; // how often to tick in ms\n\n var SubtitleStreamController = /*#__PURE__*/function (_BaseStreamController) {\n _inheritsLoose(SubtitleStreamController, _BaseStreamController);\n function SubtitleStreamController(hls, fragmentTracker, keyLoader) {\n var _this;\n _this = _BaseStreamController.call(this, hls, fragmentTracker, keyLoader, '[subtitle-stream-controller]', PlaylistLevelType.SUBTITLE) || this;\n _this.currentTrackId = -1;\n _this.tracksBuffered = [];\n _this.mainDetails = null;\n _this._registerListeners();\n return _this;\n }\n var _proto = SubtitleStreamController.prototype;\n _proto.onHandlerDestroying = function onHandlerDestroying() {\n this._unregisterListeners();\n _BaseStreamController.prototype.onHandlerDestroying.call(this);\n this.mainDetails = null;\n };\n _proto._registerListeners = function _registerListeners() {\n var hls = this.hls;\n hls.on(Events.MEDIA_ATTACHED, this.onMediaAttached, this);\n hls.on(Events.MEDIA_DETACHING, this.onMediaDetaching, this);\n hls.on(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.on(Events.LEVEL_LOADED, this.onLevelLoaded, this);\n hls.on(Events.ERROR, this.onError, this);\n hls.on(Events.SUBTITLE_TRACKS_UPDATED, this.onSubtitleTracksUpdated, this);\n hls.on(Events.SUBTITLE_TRACK_SWITCH, this.onSubtitleTrackSwitch, this);\n hls.on(Events.SUBTITLE_TRACK_LOADED, this.onSubtitleTrackLoaded, this);\n hls.on(Events.SUBTITLE_FRAG_PROCESSED, this.onSubtitleFragProcessed, this);\n hls.on(Events.BUFFER_FLUSHING, this.onBufferFlushing, this);\n hls.on(Events.FRAG_BUFFERED, this.onFragBuffered, this);\n };\n _proto._unregisterListeners = function _unregisterListeners() {\n var hls = this.hls;\n hls.off(Events.MEDIA_ATTACHED, this.onMediaAttached, this);\n hls.off(Events.MEDIA_DETACHING, this.onMediaDetaching, this);\n hls.off(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.off(Events.LEVEL_LOADED, this.onLevelLoaded, this);\n hls.off(Events.ERROR, this.onError, this);\n hls.off(Events.SUBTITLE_TRACKS_UPDATED, this.onSubtitleTracksUpdated, this);\n hls.off(Events.SUBTITLE_TRACK_SWITCH, this.onSubtitleTrackSwitch, this);\n hls.off(Events.SUBTITLE_TRACK_LOADED, this.onSubtitleTrackLoaded, this);\n hls.off(Events.SUBTITLE_FRAG_PROCESSED, this.onSubtitleFragProcessed, this);\n hls.off(Events.BUFFER_FLUSHING, this.onBufferFlushing, this);\n hls.off(Events.FRAG_BUFFERED, this.onFragBuffered, this);\n };\n _proto.startLoad = function startLoad(startPosition) {\n this.stopLoad();\n this.state = State.IDLE;\n this.setInterval(TICK_INTERVAL$1);\n this.nextLoadPosition = this.startPosition = this.lastCurrentTime = startPosition;\n this.tick();\n };\n _proto.onManifestLoading = function onManifestLoading() {\n this.mainDetails = null;\n this.fragmentTracker.removeAllFragments();\n };\n _proto.onMediaDetaching = function onMediaDetaching() {\n this.tracksBuffered = [];\n _BaseStreamController.prototype.onMediaDetaching.call(this);\n };\n _proto.onLevelLoaded = function onLevelLoaded(event, data) {\n this.mainDetails = data.details;\n };\n _proto.onSubtitleFragProcessed = function onSubtitleFragProcessed(event, data) {\n var frag = data.frag,\n success = data.success;\n this.fragPrevious = frag;\n this.state = State.IDLE;\n if (!success) {\n return;\n }\n var buffered = this.tracksBuffered[this.currentTrackId];\n if (!buffered) {\n return;\n }\n\n // Create/update a buffered array matching the interface used by BufferHelper.bufferedInfo\n // so we can re-use the logic used to detect how much has been buffered\n var timeRange;\n var fragStart = frag.start;\n for (var i = 0; i < buffered.length; i++) {\n if (fragStart >= buffered[i].start && fragStart <= buffered[i].end) {\n timeRange = buffered[i];\n break;\n }\n }\n var fragEnd = frag.start + frag.duration;\n if (timeRange) {\n timeRange.end = fragEnd;\n } else {\n timeRange = {\n start: fragStart,\n end: fragEnd\n };\n buffered.push(timeRange);\n }\n this.fragmentTracker.fragBuffered(frag);\n this.fragBufferedComplete(frag, null);\n };\n _proto.onBufferFlushing = function onBufferFlushing(event, data) {\n var startOffset = data.startOffset,\n endOffset = data.endOffset;\n if (startOffset === 0 && endOffset !== Number.POSITIVE_INFINITY) {\n var endOffsetSubtitles = endOffset - 1;\n if (endOffsetSubtitles <= 0) {\n return;\n }\n data.endOffsetSubtitles = Math.max(0, endOffsetSubtitles);\n this.tracksBuffered.forEach(function (buffered) {\n for (var i = 0; i < buffered.length;) {\n if (buffered[i].end <= endOffsetSubtitles) {\n buffered.shift();\n continue;\n } else if (buffered[i].start < endOffsetSubtitles) {\n buffered[i].start = endOffsetSubtitles;\n } else {\n break;\n }\n i++;\n }\n });\n this.fragmentTracker.removeFragmentsInRange(startOffset, endOffsetSubtitles, PlaylistLevelType.SUBTITLE);\n }\n };\n _proto.onFragBuffered = function onFragBuffered(event, data) {\n if (!this.loadedmetadata && data.frag.type === PlaylistLevelType.MAIN) {\n var _this$media;\n if ((_this$media = this.media) != null && _this$media.buffered.length) {\n this.loadedmetadata = true;\n }\n }\n }\n\n // If something goes wrong, proceed to next frag, if we were processing one.\n ;\n _proto.onError = function onError(event, data) {\n var frag = data.frag;\n if ((frag == null ? void 0 : frag.type) === PlaylistLevelType.SUBTITLE) {\n if (this.fragCurrent) {\n this.fragCurrent.abortRequests();\n }\n if (this.state !== State.STOPPED) {\n this.state = State.IDLE;\n }\n }\n }\n\n // Got all new subtitle levels.\n ;\n _proto.onSubtitleTracksUpdated = function onSubtitleTracksUpdated(event, _ref) {\n var _this2 = this;\n var subtitleTracks = _ref.subtitleTracks;\n if (!this.levels || subtitleOptionsIdentical(this.levels, subtitleTracks)) {\n this.levels = subtitleTracks.map(function (mediaPlaylist) {\n return new Level(mediaPlaylist);\n });\n return;\n }\n this.tracksBuffered = [];\n this.levels = subtitleTracks.map(function (mediaPlaylist) {\n var level = new Level(mediaPlaylist);\n _this2.tracksBuffered[level.id] = [];\n return level;\n });\n this.fragmentTracker.removeFragmentsInRange(0, Number.POSITIVE_INFINITY, PlaylistLevelType.SUBTITLE);\n this.fragPrevious = null;\n this.mediaBuffer = null;\n };\n _proto.onSubtitleTrackSwitch = function onSubtitleTrackSwitch(event, data) {\n var _this$levels;\n this.currentTrackId = data.id;\n if (!((_this$levels = this.levels) != null && _this$levels.length) || this.currentTrackId === -1) {\n this.clearInterval();\n return;\n }\n\n // Check if track has the necessary details to load fragments\n var currentTrack = this.levels[this.currentTrackId];\n if (currentTrack != null && currentTrack.details) {\n this.mediaBuffer = this.mediaBufferTimeRanges;\n } else {\n this.mediaBuffer = null;\n }\n if (currentTrack) {\n this.setInterval(TICK_INTERVAL$1);\n }\n }\n\n // Got a new set of subtitle fragments.\n ;\n _proto.onSubtitleTrackLoaded = function onSubtitleTrackLoaded(event, data) {\n var _track$details;\n var currentTrackId = this.currentTrackId,\n levels = this.levels;\n var newDetails = data.details,\n trackId = data.id;\n if (!levels) {\n this.warn(\"Subtitle tracks were reset while loading level \" + trackId);\n return;\n }\n var track = levels[currentTrackId];\n if (trackId >= levels.length || trackId !== currentTrackId || !track) {\n return;\n }\n this.log(\"Subtitle track \" + trackId + \" loaded [\" + newDetails.startSN + \",\" + newDetails.endSN + \"]\" + (newDetails.lastPartSn ? \"[part-\" + newDetails.lastPartSn + \"-\" + newDetails.lastPartIndex + \"]\" : '') + \",duration:\" + newDetails.totalduration);\n this.mediaBuffer = this.mediaBufferTimeRanges;\n var sliding = 0;\n if (newDetails.live || (_track$details = track.details) != null && _track$details.live) {\n var mainDetails = this.mainDetails;\n if (newDetails.deltaUpdateFailed || !mainDetails) {\n return;\n }\n var mainSlidingStartFragment = mainDetails.fragments[0];\n if (!track.details) {\n if (newDetails.hasProgramDateTime && mainDetails.hasProgramDateTime) {\n alignMediaPlaylistByPDT(newDetails, mainDetails);\n sliding = newDetails.fragments[0].start;\n } else if (mainSlidingStartFragment) {\n // line up live playlist with main so that fragments in range are loaded\n sliding = mainSlidingStartFragment.start;\n addSliding(newDetails, sliding);\n }\n } else {\n var _this$levelLastLoaded;\n sliding = this.alignPlaylists(newDetails, track.details, (_this$levelLastLoaded = this.levelLastLoaded) == null ? void 0 : _this$levelLastLoaded.details);\n if (sliding === 0 && mainSlidingStartFragment) {\n // realign with main when there is no overlap with last refresh\n sliding = mainSlidingStartFragment.start;\n addSliding(newDetails, sliding);\n }\n }\n }\n track.details = newDetails;\n this.levelLastLoaded = track;\n if (!this.startFragRequested && (this.mainDetails || !newDetails.live)) {\n this.setStartPosition(this.mainDetails || newDetails, sliding);\n }\n\n // trigger handler right now\n this.tick();\n\n // If playlist is misaligned because of bad PDT or drift, delete details to resync with main on reload\n if (newDetails.live && !this.fragCurrent && this.media && this.state === State.IDLE) {\n var foundFrag = findFragmentByPTS(null, newDetails.fragments, this.media.currentTime, 0);\n if (!foundFrag) {\n this.warn('Subtitle playlist not aligned with playback');\n track.details = undefined;\n }\n }\n };\n _proto._handleFragmentLoadComplete = function _handleFragmentLoadComplete(fragLoadedData) {\n var _this3 = this;\n var frag = fragLoadedData.frag,\n payload = fragLoadedData.payload;\n var decryptData = frag.decryptdata;\n var hls = this.hls;\n if (this.fragContextChanged(frag)) {\n return;\n }\n // check to see if the payload needs to be decrypted\n if (payload && payload.byteLength > 0 && decryptData != null && decryptData.key && decryptData.iv && decryptData.method === 'AES-128') {\n var startTime = performance.now();\n // decrypt the subtitles\n this.decrypter.decrypt(new Uint8Array(payload), decryptData.key.buffer, decryptData.iv.buffer).catch(function (err) {\n hls.trigger(Events.ERROR, {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.FRAG_DECRYPT_ERROR,\n fatal: false,\n error: err,\n reason: err.message,\n frag: frag\n });\n throw err;\n }).then(function (decryptedData) {\n var endTime = performance.now();\n hls.trigger(Events.FRAG_DECRYPTED, {\n frag: frag,\n payload: decryptedData,\n stats: {\n tstart: startTime,\n tdecrypt: endTime\n }\n });\n }).catch(function (err) {\n _this3.warn(err.name + \": \" + err.message);\n _this3.state = State.IDLE;\n });\n }\n };\n _proto.doTick = function doTick() {\n if (!this.media) {\n this.state = State.IDLE;\n return;\n }\n if (this.state === State.IDLE) {\n var currentTrackId = this.currentTrackId,\n levels = this.levels;\n var track = levels == null ? void 0 : levels[currentTrackId];\n if (!track || !levels.length || !track.details) {\n return;\n }\n var config = this.config;\n var currentTime = this.getLoadPosition();\n var bufferedInfo = BufferHelper.bufferedInfo(this.tracksBuffered[this.currentTrackId] || [], currentTime, config.maxBufferHole);\n var targetBufferTime = bufferedInfo.end,\n bufferLen = bufferedInfo.len;\n var mainBufferInfo = this.getFwdBufferInfo(this.media, PlaylistLevelType.MAIN);\n var trackDetails = track.details;\n var maxBufLen = this.getMaxBufferLength(mainBufferInfo == null ? void 0 : mainBufferInfo.len) + trackDetails.levelTargetDuration;\n if (bufferLen > maxBufLen) {\n return;\n }\n var fragments = trackDetails.fragments;\n var fragLen = fragments.length;\n var end = trackDetails.edge;\n var foundFrag = null;\n var fragPrevious = this.fragPrevious;\n if (targetBufferTime < end) {\n var tolerance = config.maxFragLookUpTolerance;\n var lookupTolerance = targetBufferTime > end - tolerance ? 0 : tolerance;\n foundFrag = findFragmentByPTS(fragPrevious, fragments, Math.max(fragments[0].start, targetBufferTime), lookupTolerance);\n if (!foundFrag && fragPrevious && fragPrevious.start < fragments[0].start) {\n foundFrag = fragments[0];\n }\n } else {\n foundFrag = fragments[fragLen - 1];\n }\n if (!foundFrag) {\n return;\n }\n foundFrag = this.mapToInitFragWhenRequired(foundFrag);\n if (foundFrag.sn !== 'initSegment') {\n // Load earlier fragment in same discontinuity to make up for misaligned playlists and cues that extend beyond end of segment\n var curSNIdx = foundFrag.sn - trackDetails.startSN;\n var prevFrag = fragments[curSNIdx - 1];\n if (prevFrag && prevFrag.cc === foundFrag.cc && this.fragmentTracker.getState(prevFrag) === FragmentState.NOT_LOADED) {\n foundFrag = prevFrag;\n }\n }\n if (this.fragmentTracker.getState(foundFrag) === FragmentState.NOT_LOADED) {\n // only load if fragment is not loaded\n this.loadFragment(foundFrag, track, targetBufferTime);\n }\n }\n };\n _proto.getMaxBufferLength = function getMaxBufferLength(mainBufferLength) {\n var maxConfigBuffer = _BaseStreamController.prototype.getMaxBufferLength.call(this);\n if (!mainBufferLength) {\n return maxConfigBuffer;\n }\n return Math.max(maxConfigBuffer, mainBufferLength);\n };\n _proto.loadFragment = function loadFragment(frag, level, targetBufferTime) {\n this.fragCurrent = frag;\n if (frag.sn === 'initSegment') {\n this._loadInitSegment(frag, level);\n } else {\n this.startFragRequested = true;\n _BaseStreamController.prototype.loadFragment.call(this, frag, level, targetBufferTime);\n }\n };\n _createClass(SubtitleStreamController, [{\n key: \"mediaBufferTimeRanges\",\n get: function get() {\n return new BufferableInstance(this.tracksBuffered[this.currentTrackId] || []);\n }\n }]);\n return SubtitleStreamController;\n }(BaseStreamController);\n var BufferableInstance = function BufferableInstance(timeranges) {\n this.buffered = void 0;\n var getRange = function getRange(name, index, length) {\n index = index >>> 0;\n if (index > length - 1) {\n throw new DOMException(\"Failed to execute '\" + name + \"' on 'TimeRanges': The index provided (\" + index + \") is greater than the maximum bound (\" + length + \")\");\n }\n return timeranges[index][name];\n };\n this.buffered = {\n get length() {\n return timeranges.length;\n },\n end: function end(index) {\n return getRange('end', index, timeranges.length);\n },\n start: function start(index) {\n return getRange('start', index, timeranges.length);\n }\n };\n };\n\n var SubtitleTrackController = /*#__PURE__*/function (_BasePlaylistControll) {\n _inheritsLoose(SubtitleTrackController, _BasePlaylistControll);\n function SubtitleTrackController(hls) {\n var _this;\n _this = _BasePlaylistControll.call(this, hls, '[subtitle-track-controller]') || this;\n _this.media = null;\n _this.tracks = [];\n _this.groupIds = null;\n _this.tracksInGroup = [];\n _this.trackId = -1;\n _this.currentTrack = null;\n _this.selectDefaultTrack = true;\n _this.queuedDefaultTrack = -1;\n _this.asyncPollTrackChange = function () {\n return _this.pollTrackChange(0);\n };\n _this.useTextTrackPolling = false;\n _this.subtitlePollingInterval = -1;\n _this._subtitleDisplay = true;\n _this.onTextTracksChanged = function () {\n if (!_this.useTextTrackPolling) {\n self.clearInterval(_this.subtitlePollingInterval);\n }\n // Media is undefined when switching streams via loadSource()\n if (!_this.media || !_this.hls.config.renderTextTracksNatively) {\n return;\n }\n var textTrack = null;\n var tracks = filterSubtitleTracks(_this.media.textTracks);\n for (var i = 0; i < tracks.length; i++) {\n if (tracks[i].mode === 'hidden') {\n // Do not break in case there is a following track with showing.\n textTrack = tracks[i];\n } else if (tracks[i].mode === 'showing') {\n textTrack = tracks[i];\n break;\n }\n }\n\n // Find internal track index for TextTrack\n var trackId = _this.findTrackForTextTrack(textTrack);\n if (_this.subtitleTrack !== trackId) {\n _this.setSubtitleTrack(trackId);\n }\n };\n _this.registerListeners();\n return _this;\n }\n var _proto = SubtitleTrackController.prototype;\n _proto.destroy = function destroy() {\n this.unregisterListeners();\n this.tracks.length = 0;\n this.tracksInGroup.length = 0;\n this.currentTrack = null;\n this.onTextTracksChanged = this.asyncPollTrackChange = null;\n _BasePlaylistControll.prototype.destroy.call(this);\n };\n _proto.registerListeners = function registerListeners() {\n var hls = this.hls;\n hls.on(Events.MEDIA_ATTACHED, this.onMediaAttached, this);\n hls.on(Events.MEDIA_DETACHING, this.onMediaDetaching, this);\n hls.on(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.on(Events.MANIFEST_PARSED, this.onManifestParsed, this);\n hls.on(Events.LEVEL_LOADING, this.onLevelLoading, this);\n hls.on(Events.LEVEL_SWITCHING, this.onLevelSwitching, this);\n hls.on(Events.SUBTITLE_TRACK_LOADED, this.onSubtitleTrackLoaded, this);\n hls.on(Events.ERROR, this.onError, this);\n };\n _proto.unregisterListeners = function unregisterListeners() {\n var hls = this.hls;\n hls.off(Events.MEDIA_ATTACHED, this.onMediaAttached, this);\n hls.off(Events.MEDIA_DETACHING, this.onMediaDetaching, this);\n hls.off(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.off(Events.MANIFEST_PARSED, this.onManifestParsed, this);\n hls.off(Events.LEVEL_LOADING, this.onLevelLoading, this);\n hls.off(Events.LEVEL_SWITCHING, this.onLevelSwitching, this);\n hls.off(Events.SUBTITLE_TRACK_LOADED, this.onSubtitleTrackLoaded, this);\n hls.off(Events.ERROR, this.onError, this);\n }\n\n // Listen for subtitle track change, then extract the current track ID.\n ;\n _proto.onMediaAttached = function onMediaAttached(event, data) {\n this.media = data.media;\n if (!this.media) {\n return;\n }\n if (this.queuedDefaultTrack > -1) {\n this.subtitleTrack = this.queuedDefaultTrack;\n this.queuedDefaultTrack = -1;\n }\n this.useTextTrackPolling = !(this.media.textTracks && 'onchange' in this.media.textTracks);\n if (this.useTextTrackPolling) {\n this.pollTrackChange(500);\n } else {\n this.media.textTracks.addEventListener('change', this.asyncPollTrackChange);\n }\n };\n _proto.pollTrackChange = function pollTrackChange(timeout) {\n self.clearInterval(this.subtitlePollingInterval);\n this.subtitlePollingInterval = self.setInterval(this.onTextTracksChanged, timeout);\n };\n _proto.onMediaDetaching = function onMediaDetaching() {\n if (!this.media) {\n return;\n }\n self.clearInterval(this.subtitlePollingInterval);\n if (!this.useTextTrackPolling) {\n this.media.textTracks.removeEventListener('change', this.asyncPollTrackChange);\n }\n if (this.trackId > -1) {\n this.queuedDefaultTrack = this.trackId;\n }\n var textTracks = filterSubtitleTracks(this.media.textTracks);\n // Clear loaded cues on media detachment from tracks\n textTracks.forEach(function (track) {\n clearCurrentCues(track);\n });\n // Disable all subtitle tracks before detachment so when reattached only tracks in that content are enabled.\n this.subtitleTrack = -1;\n this.media = null;\n };\n _proto.onManifestLoading = function onManifestLoading() {\n this.tracks = [];\n this.groupIds = null;\n this.tracksInGroup = [];\n this.trackId = -1;\n this.currentTrack = null;\n this.selectDefaultTrack = true;\n }\n\n // Fired whenever a new manifest is loaded.\n ;\n _proto.onManifestParsed = function onManifestParsed(event, data) {\n this.tracks = data.subtitleTracks;\n };\n _proto.onSubtitleTrackLoaded = function onSubtitleTrackLoaded(event, data) {\n var id = data.id,\n groupId = data.groupId,\n details = data.details;\n var trackInActiveGroup = this.tracksInGroup[id];\n if (!trackInActiveGroup || trackInActiveGroup.groupId !== groupId) {\n this.warn(\"Subtitle track with id:\" + id + \" and group:\" + groupId + \" not found in active group \" + (trackInActiveGroup == null ? void 0 : trackInActiveGroup.groupId));\n return;\n }\n var curDetails = trackInActiveGroup.details;\n trackInActiveGroup.details = data.details;\n this.log(\"Subtitle track \" + id + \" \\\"\" + trackInActiveGroup.name + \"\\\" lang:\" + trackInActiveGroup.lang + \" group:\" + groupId + \" loaded [\" + details.startSN + \"-\" + details.endSN + \"]\");\n if (id === this.trackId) {\n this.playlistLoaded(id, data, curDetails);\n }\n };\n _proto.onLevelLoading = function onLevelLoading(event, data) {\n this.switchLevel(data.level);\n };\n _proto.onLevelSwitching = function onLevelSwitching(event, data) {\n this.switchLevel(data.level);\n };\n _proto.switchLevel = function switchLevel(levelIndex) {\n var levelInfo = this.hls.levels[levelIndex];\n if (!levelInfo) {\n return;\n }\n var subtitleGroups = levelInfo.subtitleGroups || null;\n var currentGroups = this.groupIds;\n var currentTrack = this.currentTrack;\n if (!subtitleGroups || (currentGroups == null ? void 0 : currentGroups.length) !== (subtitleGroups == null ? void 0 : subtitleGroups.length) || subtitleGroups != null && subtitleGroups.some(function (groupId) {\n return (currentGroups == null ? void 0 : currentGroups.indexOf(groupId)) === -1;\n })) {\n this.groupIds = subtitleGroups;\n this.trackId = -1;\n this.currentTrack = null;\n var subtitleTracks = this.tracks.filter(function (track) {\n return !subtitleGroups || subtitleGroups.indexOf(track.groupId) !== -1;\n });\n if (subtitleTracks.length) {\n // Disable selectDefaultTrack if there are no default tracks\n if (this.selectDefaultTrack && !subtitleTracks.some(function (track) {\n return track.default;\n })) {\n this.selectDefaultTrack = false;\n }\n // track.id should match hls.audioTracks index\n subtitleTracks.forEach(function (track, i) {\n track.id = i;\n });\n } else if (!currentTrack && !this.tracksInGroup.length) {\n // Do not dispatch SUBTITLE_TRACKS_UPDATED when there were and are no tracks\n return;\n }\n this.tracksInGroup = subtitleTracks;\n\n // Find preferred track\n var subtitlePreference = this.hls.config.subtitlePreference;\n if (!currentTrack && subtitlePreference) {\n this.selectDefaultTrack = false;\n var groupIndex = findMatchingOption(subtitlePreference, subtitleTracks);\n if (groupIndex > -1) {\n currentTrack = subtitleTracks[groupIndex];\n } else {\n var allIndex = findMatchingOption(subtitlePreference, this.tracks);\n currentTrack = this.tracks[allIndex];\n }\n }\n\n // Select initial track\n var trackId = this.findTrackId(currentTrack);\n if (trackId === -1 && currentTrack) {\n trackId = this.findTrackId(null);\n }\n\n // Dispatch events and load track if needed\n var subtitleTracksUpdated = {\n subtitleTracks: subtitleTracks\n };\n this.log(\"Updating subtitle tracks, \" + subtitleTracks.length + \" track(s) found in \\\"\" + (subtitleGroups == null ? void 0 : subtitleGroups.join(',')) + \"\\\" group-id\");\n this.hls.trigger(Events.SUBTITLE_TRACKS_UPDATED, subtitleTracksUpdated);\n if (trackId !== -1 && this.trackId === -1) {\n this.setSubtitleTrack(trackId);\n }\n } else if (this.shouldReloadPlaylist(currentTrack)) {\n // Retry playlist loading if no playlist is or has been loaded yet\n this.setSubtitleTrack(this.trackId);\n }\n };\n _proto.findTrackId = function findTrackId(currentTrack) {\n var tracks = this.tracksInGroup;\n var selectDefault = this.selectDefaultTrack;\n for (var i = 0; i < tracks.length; i++) {\n var track = tracks[i];\n if (selectDefault && !track.default || !selectDefault && !currentTrack) {\n continue;\n }\n if (!currentTrack || matchesOption(track, currentTrack)) {\n return i;\n }\n }\n if (currentTrack) {\n for (var _i = 0; _i < tracks.length; _i++) {\n var _track = tracks[_i];\n if (mediaAttributesIdentical(currentTrack.attrs, _track.attrs, ['LANGUAGE', 'ASSOC-LANGUAGE', 'CHARACTERISTICS'])) {\n return _i;\n }\n }\n for (var _i2 = 0; _i2 < tracks.length; _i2++) {\n var _track2 = tracks[_i2];\n if (mediaAttributesIdentical(currentTrack.attrs, _track2.attrs, ['LANGUAGE'])) {\n return _i2;\n }\n }\n }\n return -1;\n };\n _proto.findTrackForTextTrack = function findTrackForTextTrack(textTrack) {\n if (textTrack) {\n var tracks = this.tracksInGroup;\n for (var i = 0; i < tracks.length; i++) {\n var track = tracks[i];\n if (subtitleTrackMatchesTextTrack(track, textTrack)) {\n return i;\n }\n }\n }\n return -1;\n };\n _proto.onError = function onError(event, data) {\n if (data.fatal || !data.context) {\n return;\n }\n if (data.context.type === PlaylistContextType.SUBTITLE_TRACK && data.context.id === this.trackId && (!this.groupIds || this.groupIds.indexOf(data.context.groupId) !== -1)) {\n this.checkRetry(data);\n }\n };\n _proto.setSubtitleOption = function setSubtitleOption(subtitleOption) {\n this.hls.config.subtitlePreference = subtitleOption;\n if (subtitleOption) {\n var allSubtitleTracks = this.allSubtitleTracks;\n this.selectDefaultTrack = false;\n if (allSubtitleTracks.length) {\n // First see if current option matches (no switch op)\n var currentTrack = this.currentTrack;\n if (currentTrack && matchesOption(subtitleOption, currentTrack)) {\n return currentTrack;\n }\n // Find option in current group\n var groupIndex = findMatchingOption(subtitleOption, this.tracksInGroup);\n if (groupIndex > -1) {\n var track = this.tracksInGroup[groupIndex];\n this.setSubtitleTrack(groupIndex);\n return track;\n } else if (currentTrack) {\n // If this is not the initial selection return null\n // option should have matched one in active group\n return null;\n } else {\n // Find the option in all tracks for initial selection\n var allIndex = findMatchingOption(subtitleOption, allSubtitleTracks);\n if (allIndex > -1) {\n return allSubtitleTracks[allIndex];\n }\n }\n }\n }\n return null;\n };\n _proto.loadPlaylist = function loadPlaylist(hlsUrlParameters) {\n _BasePlaylistControll.prototype.loadPlaylist.call(this);\n var currentTrack = this.currentTrack;\n if (this.shouldLoadPlaylist(currentTrack) && currentTrack) {\n var id = currentTrack.id;\n var groupId = currentTrack.groupId;\n var url = currentTrack.url;\n if (hlsUrlParameters) {\n try {\n url = hlsUrlParameters.addDirectives(url);\n } catch (error) {\n this.warn(\"Could not construct new URL with HLS Delivery Directives: \" + error);\n }\n }\n this.log(\"Loading subtitle playlist for id \" + id);\n this.hls.trigger(Events.SUBTITLE_TRACK_LOADING, {\n url: url,\n id: id,\n groupId: groupId,\n deliveryDirectives: hlsUrlParameters || null\n });\n }\n }\n\n /**\n * Disables the old subtitleTrack and sets current mode on the next subtitleTrack.\n * This operates on the DOM textTracks.\n * A value of -1 will disable all subtitle tracks.\n */;\n _proto.toggleTrackModes = function toggleTrackModes() {\n var media = this.media;\n if (!media) {\n return;\n }\n var textTracks = filterSubtitleTracks(media.textTracks);\n var currentTrack = this.currentTrack;\n var nextTrack;\n if (currentTrack) {\n nextTrack = textTracks.filter(function (textTrack) {\n return subtitleTrackMatchesTextTrack(currentTrack, textTrack);\n })[0];\n if (!nextTrack) {\n this.warn(\"Unable to find subtitle TextTrack with name \\\"\" + currentTrack.name + \"\\\" and language \\\"\" + currentTrack.lang + \"\\\"\");\n }\n }\n [].slice.call(textTracks).forEach(function (track) {\n if (track.mode !== 'disabled' && track !== nextTrack) {\n track.mode = 'disabled';\n }\n });\n if (nextTrack) {\n var mode = this.subtitleDisplay ? 'showing' : 'hidden';\n if (nextTrack.mode !== mode) {\n nextTrack.mode = mode;\n }\n }\n }\n\n /**\n * This method is responsible for validating the subtitle index and periodically reloading if live.\n * Dispatches the SUBTITLE_TRACK_SWITCH event, which instructs the subtitle-stream-controller to load the selected track.\n */;\n _proto.setSubtitleTrack = function setSubtitleTrack(newId) {\n var tracks = this.tracksInGroup;\n\n // setting this.subtitleTrack will trigger internal logic\n // if media has not been attached yet, it will fail\n // we keep a reference to the default track id\n // and we'll set subtitleTrack when onMediaAttached is triggered\n if (!this.media) {\n this.queuedDefaultTrack = newId;\n return;\n }\n\n // exit if track id as already set or invalid\n if (newId < -1 || newId >= tracks.length || !isFiniteNumber(newId)) {\n this.warn(\"Invalid subtitle track id: \" + newId);\n return;\n }\n\n // stopping live reloading timer if any\n this.clearTimer();\n this.selectDefaultTrack = false;\n var lastTrack = this.currentTrack;\n var track = tracks[newId] || null;\n this.trackId = newId;\n this.currentTrack = track;\n this.toggleTrackModes();\n if (!track) {\n // switch to -1\n this.hls.trigger(Events.SUBTITLE_TRACK_SWITCH, {\n id: newId\n });\n return;\n }\n var trackLoaded = !!track.details && !track.details.live;\n if (newId === this.trackId && track === lastTrack && trackLoaded) {\n return;\n }\n this.log(\"Switching to subtitle-track \" + newId + (track ? \" \\\"\" + track.name + \"\\\" lang:\" + track.lang + \" group:\" + track.groupId : ''));\n var id = track.id,\n _track$groupId = track.groupId,\n groupId = _track$groupId === void 0 ? '' : _track$groupId,\n name = track.name,\n type = track.type,\n url = track.url;\n this.hls.trigger(Events.SUBTITLE_TRACK_SWITCH, {\n id: id,\n groupId: groupId,\n name: name,\n type: type,\n url: url\n });\n var hlsUrlParameters = this.switchParams(track.url, lastTrack == null ? void 0 : lastTrack.details);\n this.loadPlaylist(hlsUrlParameters);\n };\n _createClass(SubtitleTrackController, [{\n key: \"subtitleDisplay\",\n get: function get() {\n return this._subtitleDisplay;\n },\n set: function set(value) {\n this._subtitleDisplay = value;\n if (this.trackId > -1) {\n this.toggleTrackModes();\n }\n }\n }, {\n key: \"allSubtitleTracks\",\n get: function get() {\n return this.tracks;\n }\n\n /** get alternate subtitle tracks list from playlist **/\n }, {\n key: \"subtitleTracks\",\n get: function get() {\n return this.tracksInGroup;\n }\n\n /** get/set index of the selected subtitle track (based on index in subtitle track lists) **/\n }, {\n key: \"subtitleTrack\",\n get: function get() {\n return this.trackId;\n },\n set: function set(newId) {\n this.selectDefaultTrack = false;\n this.setSubtitleTrack(newId);\n }\n }]);\n return SubtitleTrackController;\n }(BasePlaylistController);\n\n var BufferOperationQueue = /*#__PURE__*/function () {\n function BufferOperationQueue(sourceBufferReference) {\n this.buffers = void 0;\n this.queues = {\n video: [],\n audio: [],\n audiovideo: []\n };\n this.buffers = sourceBufferReference;\n }\n var _proto = BufferOperationQueue.prototype;\n _proto.append = function append(operation, type, pending) {\n var queue = this.queues[type];\n queue.push(operation);\n if (queue.length === 1 && !pending) {\n this.executeNext(type);\n }\n };\n _proto.insertAbort = function insertAbort(operation, type) {\n var queue = this.queues[type];\n queue.unshift(operation);\n this.executeNext(type);\n };\n _proto.appendBlocker = function appendBlocker(type) {\n var execute;\n var promise = new Promise(function (resolve) {\n execute = resolve;\n });\n var operation = {\n execute: execute,\n onStart: function onStart() {},\n onComplete: function onComplete() {},\n onError: function onError() {}\n };\n this.append(operation, type);\n return promise;\n };\n _proto.executeNext = function executeNext(type) {\n var queue = this.queues[type];\n if (queue.length) {\n var operation = queue[0];\n try {\n // Operations are expected to result in an 'updateend' event being fired. If not, the queue will lock. Operations\n // which do not end with this event must call _onSBUpdateEnd manually\n operation.execute();\n } catch (error) {\n logger.warn(\"[buffer-operation-queue]: Exception executing \\\"\" + type + \"\\\" SourceBuffer operation: \" + error);\n operation.onError(error);\n\n // Only shift the current operation off, otherwise the updateend handler will do this for us\n var sb = this.buffers[type];\n if (!(sb != null && sb.updating)) {\n this.shiftAndExecuteNext(type);\n }\n }\n }\n };\n _proto.shiftAndExecuteNext = function shiftAndExecuteNext(type) {\n this.queues[type].shift();\n this.executeNext(type);\n };\n _proto.current = function current(type) {\n return this.queues[type][0];\n };\n return BufferOperationQueue;\n }();\n\n var VIDEO_CODEC_PROFILE_REPLACE = /(avc[1234]|hvc1|hev1|dvh[1e]|vp09|av01)(?:\\.[^.,]+)+/;\n var BufferController = /*#__PURE__*/function () {\n function BufferController(hls) {\n var _this = this;\n // The level details used to determine duration, target-duration and live\n this.details = null;\n // cache the self generated object url to detect hijack of video tag\n this._objectUrl = null;\n // A queue of buffer operations which require the SourceBuffer to not be updating upon execution\n this.operationQueue = void 0;\n // References to event listeners for each SourceBuffer, so that they can be referenced for event removal\n this.listeners = void 0;\n this.hls = void 0;\n // The number of BUFFER_CODEC events received before any sourceBuffers are created\n this.bufferCodecEventsExpected = 0;\n // The total number of BUFFER_CODEC events received\n this._bufferCodecEventsTotal = 0;\n // A reference to the attached media element\n this.media = null;\n // A reference to the active media source\n this.mediaSource = null;\n // Last MP3 audio chunk appended\n this.lastMpegAudioChunk = null;\n this.appendSource = void 0;\n // counters\n this.appendErrors = {\n audio: 0,\n video: 0,\n audiovideo: 0\n };\n this.tracks = {};\n this.pendingTracks = {};\n this.sourceBuffer = void 0;\n this.log = void 0;\n this.warn = void 0;\n this.error = void 0;\n this._onEndStreaming = function (event) {\n if (!_this.hls) {\n return;\n }\n _this.hls.pauseBuffering();\n };\n this._onStartStreaming = function (event) {\n if (!_this.hls) {\n return;\n }\n _this.hls.resumeBuffering();\n };\n // Keep as arrow functions so that we can directly reference these functions directly as event listeners\n this._onMediaSourceOpen = function () {\n var media = _this.media,\n mediaSource = _this.mediaSource;\n _this.log('Media source opened');\n if (media) {\n media.removeEventListener('emptied', _this._onMediaEmptied);\n _this.updateMediaElementDuration();\n _this.hls.trigger(Events.MEDIA_ATTACHED, {\n media: media,\n mediaSource: mediaSource\n });\n }\n if (mediaSource) {\n // once received, don't listen anymore to sourceopen event\n mediaSource.removeEventListener('sourceopen', _this._onMediaSourceOpen);\n }\n _this.checkPendingTracks();\n };\n this._onMediaSourceClose = function () {\n _this.log('Media source closed');\n };\n this._onMediaSourceEnded = function () {\n _this.log('Media source ended');\n };\n this._onMediaEmptied = function () {\n var mediaSrc = _this.mediaSrc,\n _objectUrl = _this._objectUrl;\n if (mediaSrc !== _objectUrl) {\n logger.error(\"Media element src was set while attaching MediaSource (\" + _objectUrl + \" > \" + mediaSrc + \")\");\n }\n };\n this.hls = hls;\n var logPrefix = '[buffer-controller]';\n this.appendSource = hls.config.preferManagedMediaSource;\n this.log = logger.log.bind(logger, logPrefix);\n this.warn = logger.warn.bind(logger, logPrefix);\n this.error = logger.error.bind(logger, logPrefix);\n this._initSourceBuffer();\n this.registerListeners();\n }\n var _proto = BufferController.prototype;\n _proto.hasSourceTypes = function hasSourceTypes() {\n return this.getSourceBufferTypes().length > 0 || Object.keys(this.pendingTracks).length > 0;\n };\n _proto.destroy = function destroy() {\n this.unregisterListeners();\n this.details = null;\n this.lastMpegAudioChunk = null;\n // @ts-ignore\n this.hls = null;\n };\n _proto.registerListeners = function registerListeners() {\n var hls = this.hls;\n hls.on(Events.MEDIA_ATTACHING, this.onMediaAttaching, this);\n hls.on(Events.MEDIA_DETACHING, this.onMediaDetaching, this);\n hls.on(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.on(Events.MANIFEST_PARSED, this.onManifestParsed, this);\n hls.on(Events.BUFFER_RESET, this.onBufferReset, this);\n hls.on(Events.BUFFER_APPENDING, this.onBufferAppending, this);\n hls.on(Events.BUFFER_CODECS, this.onBufferCodecs, this);\n hls.on(Events.BUFFER_EOS, this.onBufferEos, this);\n hls.on(Events.BUFFER_FLUSHING, this.onBufferFlushing, this);\n hls.on(Events.LEVEL_UPDATED, this.onLevelUpdated, this);\n hls.on(Events.FRAG_PARSED, this.onFragParsed, this);\n hls.on(Events.FRAG_CHANGED, this.onFragChanged, this);\n };\n _proto.unregisterListeners = function unregisterListeners() {\n var hls = this.hls;\n hls.off(Events.MEDIA_ATTACHING, this.onMediaAttaching, this);\n hls.off(Events.MEDIA_DETACHING, this.onMediaDetaching, this);\n hls.off(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.off(Events.MANIFEST_PARSED, this.onManifestParsed, this);\n hls.off(Events.BUFFER_RESET, this.onBufferReset, this);\n hls.off(Events.BUFFER_APPENDING, this.onBufferAppending, this);\n hls.off(Events.BUFFER_CODECS, this.onBufferCodecs, this);\n hls.off(Events.BUFFER_EOS, this.onBufferEos, this);\n hls.off(Events.BUFFER_FLUSHING, this.onBufferFlushing, this);\n hls.off(Events.LEVEL_UPDATED, this.onLevelUpdated, this);\n hls.off(Events.FRAG_PARSED, this.onFragParsed, this);\n hls.off(Events.FRAG_CHANGED, this.onFragChanged, this);\n };\n _proto._initSourceBuffer = function _initSourceBuffer() {\n this.sourceBuffer = {};\n this.operationQueue = new BufferOperationQueue(this.sourceBuffer);\n this.listeners = {\n audio: [],\n video: [],\n audiovideo: []\n };\n this.appendErrors = {\n audio: 0,\n video: 0,\n audiovideo: 0\n };\n this.lastMpegAudioChunk = null;\n };\n _proto.onManifestLoading = function onManifestLoading() {\n this.bufferCodecEventsExpected = this._bufferCodecEventsTotal = 0;\n this.details = null;\n };\n _proto.onManifestParsed = function onManifestParsed(event, data) {\n // in case of alt audio 2 BUFFER_CODECS events will be triggered, one per stream controller\n // sourcebuffers will be created all at once when the expected nb of tracks will be reached\n // in case alt audio is not used, only one BUFFER_CODEC event will be fired from main stream controller\n // it will contain the expected nb of source buffers, no need to compute it\n var codecEvents = 2;\n if (data.audio && !data.video || !data.altAudio || !true) {\n codecEvents = 1;\n }\n this.bufferCodecEventsExpected = this._bufferCodecEventsTotal = codecEvents;\n this.log(this.bufferCodecEventsExpected + \" bufferCodec event(s) expected\");\n };\n _proto.onMediaAttaching = function onMediaAttaching(event, data) {\n var media = this.media = data.media;\n var MediaSource = getMediaSource(this.appendSource);\n if (media && MediaSource) {\n var _ms$constructor;\n var ms = this.mediaSource = new MediaSource();\n this.log(\"created media source: \" + ((_ms$constructor = ms.constructor) == null ? void 0 : _ms$constructor.name));\n // MediaSource listeners are arrow functions with a lexical scope, and do not need to be bound\n ms.addEventListener('sourceopen', this._onMediaSourceOpen);\n ms.addEventListener('sourceended', this._onMediaSourceEnded);\n ms.addEventListener('sourceclose', this._onMediaSourceClose);\n ms.addEventListener('startstreaming', this._onStartStreaming);\n ms.addEventListener('endstreaming', this._onEndStreaming);\n\n // cache the locally generated object url\n var objectUrl = this._objectUrl = self.URL.createObjectURL(ms);\n // link video and media Source\n if (this.appendSource) {\n try {\n media.removeAttribute('src');\n // ManagedMediaSource will not open without disableRemotePlayback set to false or source alternatives\n var MMS = self.ManagedMediaSource;\n media.disableRemotePlayback = media.disableRemotePlayback || MMS && ms instanceof MMS;\n removeSourceChildren(media);\n addSource(media, objectUrl);\n media.load();\n } catch (error) {\n media.src = objectUrl;\n }\n } else {\n media.src = objectUrl;\n }\n media.addEventListener('emptied', this._onMediaEmptied);\n }\n };\n _proto.onMediaDetaching = function onMediaDetaching() {\n var media = this.media,\n mediaSource = this.mediaSource,\n _objectUrl = this._objectUrl;\n if (mediaSource) {\n this.log('media source detaching');\n if (mediaSource.readyState === 'open') {\n try {\n // endOfStream could trigger exception if any sourcebuffer is in updating state\n // we don't really care about checking sourcebuffer state here,\n // as we are anyway detaching the MediaSource\n // let's just avoid this exception to propagate\n mediaSource.endOfStream();\n } catch (err) {\n this.warn(\"onMediaDetaching: \" + err.message + \" while calling endOfStream\");\n }\n }\n // Clean up the SourceBuffers by invoking onBufferReset\n this.onBufferReset();\n mediaSource.removeEventListener('sourceopen', this._onMediaSourceOpen);\n mediaSource.removeEventListener('sourceended', this._onMediaSourceEnded);\n mediaSource.removeEventListener('sourceclose', this._onMediaSourceClose);\n mediaSource.removeEventListener('startstreaming', this._onStartStreaming);\n mediaSource.removeEventListener('endstreaming', this._onEndStreaming);\n\n // Detach properly the MediaSource from the HTMLMediaElement as\n // suggested in https://github.com/w3c/media-source/issues/53.\n if (media) {\n media.removeEventListener('emptied', this._onMediaEmptied);\n if (_objectUrl) {\n self.URL.revokeObjectURL(_objectUrl);\n }\n\n // clean up video tag src only if it's our own url. some external libraries might\n // hijack the video tag and change its 'src' without destroying the Hls instance first\n if (this.mediaSrc === _objectUrl) {\n media.removeAttribute('src');\n if (this.appendSource) {\n removeSourceChildren(media);\n }\n media.load();\n } else {\n this.warn('media|source.src was changed by a third party - skip cleanup');\n }\n }\n this.mediaSource = null;\n this.media = null;\n this._objectUrl = null;\n this.bufferCodecEventsExpected = this._bufferCodecEventsTotal;\n this.pendingTracks = {};\n this.tracks = {};\n }\n this.hls.trigger(Events.MEDIA_DETACHED, undefined);\n };\n _proto.onBufferReset = function onBufferReset() {\n var _this2 = this;\n this.getSourceBufferTypes().forEach(function (type) {\n _this2.resetBuffer(type);\n });\n this._initSourceBuffer();\n };\n _proto.resetBuffer = function resetBuffer(type) {\n var sb = this.sourceBuffer[type];\n try {\n if (sb) {\n var _this$mediaSource;\n this.removeBufferListeners(type);\n // Synchronously remove the SB from the map before the next call in order to prevent an async function from\n // accessing it\n this.sourceBuffer[type] = undefined;\n if ((_this$mediaSource = this.mediaSource) != null && _this$mediaSource.sourceBuffers.length) {\n this.mediaSource.removeSourceBuffer(sb);\n }\n }\n } catch (err) {\n this.warn(\"onBufferReset \" + type, err);\n }\n };\n _proto.onBufferCodecs = function onBufferCodecs(event, data) {\n var _this3 = this;\n var sourceBufferCount = this.getSourceBufferTypes().length;\n var trackNames = Object.keys(data);\n trackNames.forEach(function (trackName) {\n if (sourceBufferCount) {\n // check if SourceBuffer codec needs to change\n var track = _this3.tracks[trackName];\n if (track && typeof track.buffer.changeType === 'function') {\n var _trackCodec;\n var _data$trackName = data[trackName],\n id = _data$trackName.id,\n codec = _data$trackName.codec,\n levelCodec = _data$trackName.levelCodec,\n container = _data$trackName.container,\n metadata = _data$trackName.metadata;\n var currentCodecFull = pickMostCompleteCodecName(track.codec, track.levelCodec);\n var currentCodec = currentCodecFull == null ? void 0 : currentCodecFull.replace(VIDEO_CODEC_PROFILE_REPLACE, '$1');\n var trackCodec = pickMostCompleteCodecName(codec, levelCodec);\n var nextCodec = (_trackCodec = trackCodec) == null ? void 0 : _trackCodec.replace(VIDEO_CODEC_PROFILE_REPLACE, '$1');\n if (trackCodec && currentCodec !== nextCodec) {\n if (trackName.slice(0, 5) === 'audio') {\n trackCodec = getCodecCompatibleName(trackCodec, _this3.hls.config.preferManagedMediaSource);\n }\n var mimeType = container + \";codecs=\" + trackCodec;\n _this3.appendChangeType(trackName, mimeType);\n _this3.log(\"switching codec \" + currentCodecFull + \" to \" + trackCodec);\n _this3.tracks[trackName] = {\n buffer: track.buffer,\n codec: codec,\n container: container,\n levelCodec: levelCodec,\n metadata: metadata,\n id: id\n };\n }\n }\n } else {\n // if source buffer(s) not created yet, appended buffer tracks in this.pendingTracks\n _this3.pendingTracks[trackName] = data[trackName];\n }\n });\n\n // if sourcebuffers already created, do nothing ...\n if (sourceBufferCount) {\n return;\n }\n var bufferCodecEventsExpected = Math.max(this.bufferCodecEventsExpected - 1, 0);\n if (this.bufferCodecEventsExpected !== bufferCodecEventsExpected) {\n this.log(bufferCodecEventsExpected + \" bufferCodec event(s) expected \" + trackNames.join(','));\n this.bufferCodecEventsExpected = bufferCodecEventsExpected;\n }\n if (this.mediaSource && this.mediaSource.readyState === 'open') {\n this.checkPendingTracks();\n }\n };\n _proto.appendChangeType = function appendChangeType(type, mimeType) {\n var _this4 = this;\n var operationQueue = this.operationQueue;\n var operation = {\n execute: function execute() {\n var sb = _this4.sourceBuffer[type];\n if (sb) {\n _this4.log(\"changing \" + type + \" sourceBuffer type to \" + mimeType);\n sb.changeType(mimeType);\n }\n operationQueue.shiftAndExecuteNext(type);\n },\n onStart: function onStart() {},\n onComplete: function onComplete() {},\n onError: function onError(error) {\n _this4.warn(\"Failed to change \" + type + \" SourceBuffer type\", error);\n }\n };\n operationQueue.append(operation, type, !!this.pendingTracks[type]);\n };\n _proto.onBufferAppending = function onBufferAppending(event, eventData) {\n var _this5 = this;\n var hls = this.hls,\n operationQueue = this.operationQueue,\n tracks = this.tracks;\n var data = eventData.data,\n type = eventData.type,\n frag = eventData.frag,\n part = eventData.part,\n chunkMeta = eventData.chunkMeta;\n var chunkStats = chunkMeta.buffering[type];\n var bufferAppendingStart = self.performance.now();\n chunkStats.start = bufferAppendingStart;\n var fragBuffering = frag.stats.buffering;\n var partBuffering = part ? part.stats.buffering : null;\n if (fragBuffering.start === 0) {\n fragBuffering.start = bufferAppendingStart;\n }\n if (partBuffering && partBuffering.start === 0) {\n partBuffering.start = bufferAppendingStart;\n }\n\n // TODO: Only update timestampOffset when audio/mpeg fragment or part is not contiguous with previously appended\n // Adjusting `SourceBuffer.timestampOffset` (desired point in the timeline where the next frames should be appended)\n // in Chrome browser when we detect MPEG audio container and time delta between level PTS and `SourceBuffer.timestampOffset`\n // is greater than 100ms (this is enough to handle seek for VOD or level change for LIVE videos).\n // More info here: https://github.com/video-dev/hls.js/issues/332#issuecomment-257986486\n var audioTrack = tracks.audio;\n var checkTimestampOffset = false;\n if (type === 'audio' && (audioTrack == null ? void 0 : audioTrack.container) === 'audio/mpeg') {\n checkTimestampOffset = !this.lastMpegAudioChunk || chunkMeta.id === 1 || this.lastMpegAudioChunk.sn !== chunkMeta.sn;\n this.lastMpegAudioChunk = chunkMeta;\n }\n var fragStart = frag.start;\n var operation = {\n execute: function execute() {\n chunkStats.executeStart = self.performance.now();\n if (checkTimestampOffset) {\n var sb = _this5.sourceBuffer[type];\n if (sb) {\n var delta = fragStart - sb.timestampOffset;\n if (Math.abs(delta) >= 0.1) {\n _this5.log(\"Updating audio SourceBuffer timestampOffset to \" + fragStart + \" (delta: \" + delta + \") sn: \" + frag.sn + \")\");\n sb.timestampOffset = fragStart;\n }\n }\n }\n _this5.appendExecutor(data, type);\n },\n onStart: function onStart() {\n // logger.debug(`[buffer-controller]: ${type} SourceBuffer updatestart`);\n },\n onComplete: function onComplete() {\n // logger.debug(`[buffer-controller]: ${type} SourceBuffer updateend`);\n var end = self.performance.now();\n chunkStats.executeEnd = chunkStats.end = end;\n if (fragBuffering.first === 0) {\n fragBuffering.first = end;\n }\n if (partBuffering && partBuffering.first === 0) {\n partBuffering.first = end;\n }\n var sourceBuffer = _this5.sourceBuffer;\n var timeRanges = {};\n for (var _type in sourceBuffer) {\n timeRanges[_type] = BufferHelper.getBuffered(sourceBuffer[_type]);\n }\n _this5.appendErrors[type] = 0;\n if (type === 'audio' || type === 'video') {\n _this5.appendErrors.audiovideo = 0;\n } else {\n _this5.appendErrors.audio = 0;\n _this5.appendErrors.video = 0;\n }\n _this5.hls.trigger(Events.BUFFER_APPENDED, {\n type: type,\n frag: frag,\n part: part,\n chunkMeta: chunkMeta,\n parent: frag.type,\n timeRanges: timeRanges\n });\n },\n onError: function onError(error) {\n // in case any error occured while appending, put back segment in segments table\n var event = {\n type: ErrorTypes.MEDIA_ERROR,\n parent: frag.type,\n details: ErrorDetails.BUFFER_APPEND_ERROR,\n sourceBufferName: type,\n frag: frag,\n part: part,\n chunkMeta: chunkMeta,\n error: error,\n err: error,\n fatal: false\n };\n if (error.code === DOMException.QUOTA_EXCEEDED_ERR) {\n // QuotaExceededError: http://www.w3.org/TR/html5/infrastructure.html#quotaexceedederror\n // let's stop appending any segments, and report BUFFER_FULL_ERROR error\n event.details = ErrorDetails.BUFFER_FULL_ERROR;\n } else {\n var appendErrorCount = ++_this5.appendErrors[type];\n event.details = ErrorDetails.BUFFER_APPEND_ERROR;\n /* with UHD content, we could get loop of quota exceeded error until\n browser is able to evict some data from sourcebuffer. Retrying can help recover.\n */\n _this5.warn(\"Failed \" + appendErrorCount + \"/\" + hls.config.appendErrorMaxRetry + \" times to append segment in \\\"\" + type + \"\\\" sourceBuffer\");\n if (appendErrorCount >= hls.config.appendErrorMaxRetry) {\n event.fatal = true;\n }\n }\n hls.trigger(Events.ERROR, event);\n }\n };\n operationQueue.append(operation, type, !!this.pendingTracks[type]);\n };\n _proto.onBufferFlushing = function onBufferFlushing(event, data) {\n var _this6 = this;\n var operationQueue = this.operationQueue;\n var flushOperation = function flushOperation(type) {\n return {\n execute: _this6.removeExecutor.bind(_this6, type, data.startOffset, data.endOffset),\n onStart: function onStart() {\n // logger.debug(`[buffer-controller]: Started flushing ${data.startOffset} -> ${data.endOffset} for ${type} Source Buffer`);\n },\n onComplete: function onComplete() {\n // logger.debug(`[buffer-controller]: Finished flushing ${data.startOffset} -> ${data.endOffset} for ${type} Source Buffer`);\n _this6.hls.trigger(Events.BUFFER_FLUSHED, {\n type: type\n });\n },\n onError: function onError(error) {\n _this6.warn(\"Failed to remove from \" + type + \" SourceBuffer\", error);\n }\n };\n };\n if (data.type) {\n operationQueue.append(flushOperation(data.type), data.type);\n } else {\n this.getSourceBufferTypes().forEach(function (type) {\n operationQueue.append(flushOperation(type), type);\n });\n }\n };\n _proto.onFragParsed = function onFragParsed(event, data) {\n var _this7 = this;\n var frag = data.frag,\n part = data.part;\n var buffersAppendedTo = [];\n var elementaryStreams = part ? part.elementaryStreams : frag.elementaryStreams;\n if (elementaryStreams[ElementaryStreamTypes.AUDIOVIDEO]) {\n buffersAppendedTo.push('audiovideo');\n } else {\n if (elementaryStreams[ElementaryStreamTypes.AUDIO]) {\n buffersAppendedTo.push('audio');\n }\n if (elementaryStreams[ElementaryStreamTypes.VIDEO]) {\n buffersAppendedTo.push('video');\n }\n }\n var onUnblocked = function onUnblocked() {\n var now = self.performance.now();\n frag.stats.buffering.end = now;\n if (part) {\n part.stats.buffering.end = now;\n }\n var stats = part ? part.stats : frag.stats;\n _this7.hls.trigger(Events.FRAG_BUFFERED, {\n frag: frag,\n part: part,\n stats: stats,\n id: frag.type\n });\n };\n if (buffersAppendedTo.length === 0) {\n this.warn(\"Fragments must have at least one ElementaryStreamType set. type: \" + frag.type + \" level: \" + frag.level + \" sn: \" + frag.sn);\n }\n this.blockBuffers(onUnblocked, buffersAppendedTo);\n };\n _proto.onFragChanged = function onFragChanged(event, data) {\n this.trimBuffers();\n }\n\n // on BUFFER_EOS mark matching sourcebuffer(s) as ended and trigger checkEos()\n // an undefined data.type will mark all buffers as EOS.\n ;\n _proto.onBufferEos = function onBufferEos(event, data) {\n var _this8 = this;\n var ended = this.getSourceBufferTypes().reduce(function (acc, type) {\n var sb = _this8.sourceBuffer[type];\n if (sb && (!data.type || data.type === type)) {\n sb.ending = true;\n if (!sb.ended) {\n sb.ended = true;\n _this8.log(type + \" sourceBuffer now EOS\");\n }\n }\n return acc && !!(!sb || sb.ended);\n }, true);\n if (ended) {\n this.log(\"Queueing mediaSource.endOfStream()\");\n this.blockBuffers(function () {\n _this8.getSourceBufferTypes().forEach(function (type) {\n var sb = _this8.sourceBuffer[type];\n if (sb) {\n sb.ending = false;\n }\n });\n var mediaSource = _this8.mediaSource;\n if (!mediaSource || mediaSource.readyState !== 'open') {\n if (mediaSource) {\n _this8.log(\"Could not call mediaSource.endOfStream(). mediaSource.readyState: \" + mediaSource.readyState);\n }\n return;\n }\n _this8.log(\"Calling mediaSource.endOfStream()\");\n // Allow this to throw and be caught by the enqueueing function\n mediaSource.endOfStream();\n });\n }\n };\n _proto.onLevelUpdated = function onLevelUpdated(event, _ref) {\n var details = _ref.details;\n if (!details.fragments.length) {\n return;\n }\n this.details = details;\n if (this.getSourceBufferTypes().length) {\n this.blockBuffers(this.updateMediaElementDuration.bind(this));\n } else {\n this.updateMediaElementDuration();\n }\n };\n _proto.trimBuffers = function trimBuffers() {\n var hls = this.hls,\n details = this.details,\n media = this.media;\n if (!media || details === null) {\n return;\n }\n var sourceBufferTypes = this.getSourceBufferTypes();\n if (!sourceBufferTypes.length) {\n return;\n }\n var config = hls.config;\n var currentTime = media.currentTime;\n var targetDuration = details.levelTargetDuration;\n\n // Support for deprecated liveBackBufferLength\n var backBufferLength = details.live && config.liveBackBufferLength !== null ? config.liveBackBufferLength : config.backBufferLength;\n if (isFiniteNumber(backBufferLength) && backBufferLength > 0) {\n var maxBackBufferLength = Math.max(backBufferLength, targetDuration);\n var targetBackBufferPosition = Math.floor(currentTime / targetDuration) * targetDuration - maxBackBufferLength;\n this.flushBackBuffer(currentTime, targetDuration, targetBackBufferPosition);\n }\n if (isFiniteNumber(config.frontBufferFlushThreshold) && config.frontBufferFlushThreshold > 0) {\n var frontBufferLength = Math.max(config.maxBufferLength, config.frontBufferFlushThreshold);\n var maxFrontBufferLength = Math.max(frontBufferLength, targetDuration);\n var targetFrontBufferPosition = Math.floor(currentTime / targetDuration) * targetDuration + maxFrontBufferLength;\n this.flushFrontBuffer(currentTime, targetDuration, targetFrontBufferPosition);\n }\n };\n _proto.flushBackBuffer = function flushBackBuffer(currentTime, targetDuration, targetBackBufferPosition) {\n var _this9 = this;\n var details = this.details,\n sourceBuffer = this.sourceBuffer;\n var sourceBufferTypes = this.getSourceBufferTypes();\n sourceBufferTypes.forEach(function (type) {\n var sb = sourceBuffer[type];\n if (sb) {\n var buffered = BufferHelper.getBuffered(sb);\n // when target buffer start exceeds actual buffer start\n if (buffered.length > 0 && targetBackBufferPosition > buffered.start(0)) {\n _this9.hls.trigger(Events.BACK_BUFFER_REACHED, {\n bufferEnd: targetBackBufferPosition\n });\n\n // Support for deprecated event:\n if (details != null && details.live) {\n _this9.hls.trigger(Events.LIVE_BACK_BUFFER_REACHED, {\n bufferEnd: targetBackBufferPosition\n });\n } else if (sb.ended && buffered.end(buffered.length - 1) - currentTime < targetDuration * 2) {\n _this9.log(\"Cannot flush \" + type + \" back buffer while SourceBuffer is in ended state\");\n return;\n }\n _this9.hls.trigger(Events.BUFFER_FLUSHING, {\n startOffset: 0,\n endOffset: targetBackBufferPosition,\n type: type\n });\n }\n }\n });\n };\n _proto.flushFrontBuffer = function flushFrontBuffer(currentTime, targetDuration, targetFrontBufferPosition) {\n var _this10 = this;\n var sourceBuffer = this.sourceBuffer;\n var sourceBufferTypes = this.getSourceBufferTypes();\n sourceBufferTypes.forEach(function (type) {\n var sb = sourceBuffer[type];\n if (sb) {\n var buffered = BufferHelper.getBuffered(sb);\n var numBufferedRanges = buffered.length;\n // The buffer is either empty or contiguous\n if (numBufferedRanges < 2) {\n return;\n }\n var bufferStart = buffered.start(numBufferedRanges - 1);\n var bufferEnd = buffered.end(numBufferedRanges - 1);\n // No flush if we can tolerate the current buffer length or the current buffer range we would flush is contiguous with current position\n if (targetFrontBufferPosition > bufferStart || currentTime >= bufferStart && currentTime <= bufferEnd) {\n return;\n } else if (sb.ended && currentTime - bufferEnd < 2 * targetDuration) {\n _this10.log(\"Cannot flush \" + type + \" front buffer while SourceBuffer is in ended state\");\n return;\n }\n _this10.hls.trigger(Events.BUFFER_FLUSHING, {\n startOffset: bufferStart,\n endOffset: Infinity,\n type: type\n });\n }\n });\n }\n\n /**\n * Update Media Source duration to current level duration or override to Infinity if configuration parameter\n * 'liveDurationInfinity` is set to `true`\n * More details: https://github.com/video-dev/hls.js/issues/355\n */;\n _proto.updateMediaElementDuration = function updateMediaElementDuration() {\n if (!this.details || !this.media || !this.mediaSource || this.mediaSource.readyState !== 'open') {\n return;\n }\n var details = this.details,\n hls = this.hls,\n media = this.media,\n mediaSource = this.mediaSource;\n var levelDuration = details.fragments[0].start + details.totalduration;\n var mediaDuration = media.duration;\n var msDuration = isFiniteNumber(mediaSource.duration) ? mediaSource.duration : 0;\n if (details.live && hls.config.liveDurationInfinity) {\n // Override duration to Infinity\n mediaSource.duration = Infinity;\n this.updateSeekableRange(details);\n } else if (levelDuration > msDuration && levelDuration > mediaDuration || !isFiniteNumber(mediaDuration)) {\n // levelDuration was the last value we set.\n // not using mediaSource.duration as the browser may tweak this value\n // only update Media Source duration if its value increase, this is to avoid\n // flushing already buffered portion when switching between quality level\n this.log(\"Updating Media Source duration to \" + levelDuration.toFixed(3));\n mediaSource.duration = levelDuration;\n }\n };\n _proto.updateSeekableRange = function updateSeekableRange(levelDetails) {\n var mediaSource = this.mediaSource;\n var fragments = levelDetails.fragments;\n var len = fragments.length;\n if (len && levelDetails.live && mediaSource != null && mediaSource.setLiveSeekableRange) {\n var start = Math.max(0, fragments[0].start);\n var end = Math.max(start, start + levelDetails.totalduration);\n this.log(\"Media Source duration is set to \" + mediaSource.duration + \". Setting seekable range to \" + start + \"-\" + end + \".\");\n mediaSource.setLiveSeekableRange(start, end);\n }\n };\n _proto.checkPendingTracks = function checkPendingTracks() {\n var bufferCodecEventsExpected = this.bufferCodecEventsExpected,\n operationQueue = this.operationQueue,\n pendingTracks = this.pendingTracks;\n\n // Check if we've received all of the expected bufferCodec events. When none remain, create all the sourceBuffers at once.\n // This is important because the MSE spec allows implementations to throw QuotaExceededErrors if creating new sourceBuffers after\n // data has been appended to existing ones.\n // 2 tracks is the max (one for audio, one for video). If we've reach this max go ahead and create the buffers.\n var pendingTracksCount = Object.keys(pendingTracks).length;\n if (pendingTracksCount && (!bufferCodecEventsExpected || pendingTracksCount === 2 || 'audiovideo' in pendingTracks)) {\n // ok, let's create them now !\n this.createSourceBuffers(pendingTracks);\n this.pendingTracks = {};\n // append any pending segments now !\n var buffers = this.getSourceBufferTypes();\n if (buffers.length) {\n this.hls.trigger(Events.BUFFER_CREATED, {\n tracks: this.tracks\n });\n buffers.forEach(function (type) {\n operationQueue.executeNext(type);\n });\n } else {\n var error = new Error('could not create source buffer for media codec(s)');\n this.hls.trigger(Events.ERROR, {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.BUFFER_INCOMPATIBLE_CODECS_ERROR,\n fatal: true,\n error: error,\n reason: error.message\n });\n }\n }\n };\n _proto.createSourceBuffers = function createSourceBuffers(tracks) {\n var _this11 = this;\n var sourceBuffer = this.sourceBuffer,\n mediaSource = this.mediaSource;\n if (!mediaSource) {\n throw Error('createSourceBuffers called when mediaSource was null');\n }\n var _loop = function _loop(trackName) {\n if (!sourceBuffer[trackName]) {\n var track = tracks[trackName];\n if (!track) {\n throw Error(\"source buffer exists for track \" + trackName + \", however track does not\");\n }\n // use levelCodec as first priority\n var codec = track.levelCodec || track.codec;\n if (codec) {\n if (trackName.slice(0, 5) === 'audio') {\n codec = getCodecCompatibleName(codec, _this11.hls.config.preferManagedMediaSource);\n }\n }\n var mimeType = track.container + \";codecs=\" + codec;\n _this11.log(\"creating sourceBuffer(\" + mimeType + \")\");\n try {\n var sb = sourceBuffer[trackName] = mediaSource.addSourceBuffer(mimeType);\n var sbName = trackName;\n _this11.addBufferListener(sbName, 'updatestart', _this11._onSBUpdateStart);\n _this11.addBufferListener(sbName, 'updateend', _this11._onSBUpdateEnd);\n _this11.addBufferListener(sbName, 'error', _this11._onSBUpdateError);\n // ManagedSourceBuffer bufferedchange event\n _this11.addBufferListener(sbName, 'bufferedchange', function (type, event) {\n // If media was ejected check for a change. Added ranges are redundant with changes on 'updateend' event.\n var removedRanges = event.removedRanges;\n if (removedRanges != null && removedRanges.length) {\n _this11.hls.trigger(Events.BUFFER_FLUSHED, {\n type: trackName\n });\n }\n });\n _this11.tracks[trackName] = {\n buffer: sb,\n codec: codec,\n container: track.container,\n levelCodec: track.levelCodec,\n metadata: track.metadata,\n id: track.id\n };\n } catch (err) {\n _this11.error(\"error while trying to add sourceBuffer: \" + err.message);\n _this11.hls.trigger(Events.ERROR, {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.BUFFER_ADD_CODEC_ERROR,\n fatal: false,\n error: err,\n sourceBufferName: trackName,\n mimeType: mimeType\n });\n }\n }\n };\n for (var trackName in tracks) {\n _loop(trackName);\n }\n };\n _proto._onSBUpdateStart = function _onSBUpdateStart(type) {\n var operationQueue = this.operationQueue;\n var operation = operationQueue.current(type);\n operation.onStart();\n };\n _proto._onSBUpdateEnd = function _onSBUpdateEnd(type) {\n var _this$mediaSource2;\n if (((_this$mediaSource2 = this.mediaSource) == null ? void 0 : _this$mediaSource2.readyState) === 'closed') {\n this.resetBuffer(type);\n return;\n }\n var operationQueue = this.operationQueue;\n var operation = operationQueue.current(type);\n operation.onComplete();\n operationQueue.shiftAndExecuteNext(type);\n };\n _proto._onSBUpdateError = function _onSBUpdateError(type, event) {\n var _this$mediaSource3;\n var error = new Error(type + \" SourceBuffer error. MediaSource readyState: \" + ((_this$mediaSource3 = this.mediaSource) == null ? void 0 : _this$mediaSource3.readyState));\n this.error(\"\" + error, event);\n // according to http://www.w3.org/TR/media-source/#sourcebuffer-append-error\n // SourceBuffer errors are not necessarily fatal; if so, the HTMLMediaElement will fire an error event\n this.hls.trigger(Events.ERROR, {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.BUFFER_APPENDING_ERROR,\n sourceBufferName: type,\n error: error,\n fatal: false\n });\n // updateend is always fired after error, so we'll allow that to shift the current operation off of the queue\n var operation = this.operationQueue.current(type);\n if (operation) {\n operation.onError(error);\n }\n }\n\n // This method must result in an updateend event; if remove is not called, _onSBUpdateEnd must be called manually\n ;\n _proto.removeExecutor = function removeExecutor(type, startOffset, endOffset) {\n var media = this.media,\n mediaSource = this.mediaSource,\n operationQueue = this.operationQueue,\n sourceBuffer = this.sourceBuffer;\n var sb = sourceBuffer[type];\n if (!media || !mediaSource || !sb) {\n this.warn(\"Attempting to remove from the \" + type + \" SourceBuffer, but it does not exist\");\n operationQueue.shiftAndExecuteNext(type);\n return;\n }\n var mediaDuration = isFiniteNumber(media.duration) ? media.duration : Infinity;\n var msDuration = isFiniteNumber(mediaSource.duration) ? mediaSource.duration : Infinity;\n var removeStart = Math.max(0, startOffset);\n var removeEnd = Math.min(endOffset, mediaDuration, msDuration);\n if (removeEnd > removeStart && (!sb.ending || sb.ended)) {\n sb.ended = false;\n this.log(\"Removing [\" + removeStart + \",\" + removeEnd + \"] from the \" + type + \" SourceBuffer\");\n sb.remove(removeStart, removeEnd);\n } else {\n // Cycle the queue\n operationQueue.shiftAndExecuteNext(type);\n }\n }\n\n // This method must result in an updateend event; if append is not called, _onSBUpdateEnd must be called manually\n ;\n _proto.appendExecutor = function appendExecutor(data, type) {\n var sb = this.sourceBuffer[type];\n if (!sb) {\n if (!this.pendingTracks[type]) {\n throw new Error(\"Attempting to append to the \" + type + \" SourceBuffer, but it does not exist\");\n }\n return;\n }\n sb.ended = false;\n sb.appendBuffer(data);\n }\n\n // Enqueues an operation to each SourceBuffer queue which, upon execution, resolves a promise. When all promises\n // resolve, the onUnblocked function is executed. Functions calling this method do not need to unblock the queue\n // upon completion, since we already do it here\n ;\n _proto.blockBuffers = function blockBuffers(onUnblocked, buffers) {\n var _this12 = this;\n if (buffers === void 0) {\n buffers = this.getSourceBufferTypes();\n }\n if (!buffers.length) {\n this.log('Blocking operation requested, but no SourceBuffers exist');\n Promise.resolve().then(onUnblocked);\n return;\n }\n var operationQueue = this.operationQueue;\n\n // logger.debug(`[buffer-controller]: Blocking ${buffers} SourceBuffer`);\n var blockingOperations = buffers.map(function (type) {\n return operationQueue.appendBlocker(type);\n });\n Promise.all(blockingOperations).then(function () {\n // logger.debug(`[buffer-controller]: Blocking operation resolved; unblocking ${buffers} SourceBuffer`);\n onUnblocked();\n buffers.forEach(function (type) {\n var sb = _this12.sourceBuffer[type];\n // Only cycle the queue if the SB is not updating. There's a bug in Chrome which sets the SB updating flag to\n // true when changing the MediaSource duration (https://bugs.chromium.org/p/chromium/issues/detail?id=959359&can=2&q=mediasource%20duration)\n // While this is a workaround, it's probably useful to have around\n if (!(sb != null && sb.updating)) {\n operationQueue.shiftAndExecuteNext(type);\n }\n });\n });\n };\n _proto.getSourceBufferTypes = function getSourceBufferTypes() {\n return Object.keys(this.sourceBuffer);\n };\n _proto.addBufferListener = function addBufferListener(type, event, fn) {\n var buffer = this.sourceBuffer[type];\n if (!buffer) {\n return;\n }\n var listener = fn.bind(this, type);\n this.listeners[type].push({\n event: event,\n listener: listener\n });\n buffer.addEventListener(event, listener);\n };\n _proto.removeBufferListeners = function removeBufferListeners(type) {\n var buffer = this.sourceBuffer[type];\n if (!buffer) {\n return;\n }\n this.listeners[type].forEach(function (l) {\n buffer.removeEventListener(l.event, l.listener);\n });\n };\n _createClass(BufferController, [{\n key: \"mediaSrc\",\n get: function get() {\n var _this$media;\n var media = ((_this$media = this.media) == null ? void 0 : _this$media.firstChild) || this.media;\n return media == null ? void 0 : media.src;\n }\n }]);\n return BufferController;\n }();\n function removeSourceChildren(node) {\n var sourceChildren = node.querySelectorAll('source');\n [].slice.call(sourceChildren).forEach(function (source) {\n node.removeChild(source);\n });\n }\n function addSource(media, url) {\n var source = self.document.createElement('source');\n source.type = 'video/mp4';\n source.src = url;\n media.appendChild(source);\n }\n\n /**\n *\n * This code was ported from the dash.js project at:\n * https://github.com/Dash-Industry-Forum/dash.js/blob/development/externals/cea608-parser.js\n * https://github.com/Dash-Industry-Forum/dash.js/commit/8269b26a761e0853bb21d78780ed945144ecdd4d#diff-71bc295a2d6b6b7093a1d3290d53a4b2\n *\n * The original copyright appears below:\n *\n * The copyright in this software is being made available under the BSD License,\n * included below. This software may be subject to other third party and contributor\n * rights, including patent rights, and no such rights are granted under this license.\n *\n * Copyright (c) 2015-2016, DASH Industry Forum.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without modification,\n * are permitted provided that the following conditions are met:\n * 1. Redistributions of source code must retain the above copyright notice, this\n * list of conditions and the following disclaimer.\n * * Redistributions in binary form must reproduce the above copyright notice,\n * this list of conditions and the following disclaimer in the documentation and/or\n * other materials provided with the distribution.\n * 2. Neither the name of Dash Industry Forum nor the names of its\n * contributors may be used to endorse or promote products derived from this software\n * without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS AS IS AND ANY\n * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.\n * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,\n * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT\n * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\n * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\n * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\n * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\n * POSSIBILITY OF SUCH DAMAGE.\n */\n /**\n * Exceptions from regular ASCII. CodePoints are mapped to UTF-16 codes\n */\n\n var specialCea608CharsCodes = {\n 0x2a: 0xe1,\n // lowercase a, acute accent\n 0x5c: 0xe9,\n // lowercase e, acute accent\n 0x5e: 0xed,\n // lowercase i, acute accent\n 0x5f: 0xf3,\n // lowercase o, acute accent\n 0x60: 0xfa,\n // lowercase u, acute accent\n 0x7b: 0xe7,\n // lowercase c with cedilla\n 0x7c: 0xf7,\n // division symbol\n 0x7d: 0xd1,\n // uppercase N tilde\n 0x7e: 0xf1,\n // lowercase n tilde\n 0x7f: 0x2588,\n // Full block\n // THIS BLOCK INCLUDES THE 16 EXTENDED (TWO-BYTE) LINE 21 CHARACTERS\n // THAT COME FROM HI BYTE=0x11 AND LOW BETWEEN 0x30 AND 0x3F\n // THIS MEANS THAT \\x50 MUST BE ADDED TO THE VALUES\n 0x80: 0xae,\n // Registered symbol (R)\n 0x81: 0xb0,\n // degree sign\n 0x82: 0xbd,\n // 1/2 symbol\n 0x83: 0xbf,\n // Inverted (open) question mark\n 0x84: 0x2122,\n // Trademark symbol (TM)\n 0x85: 0xa2,\n // Cents symbol\n 0x86: 0xa3,\n // Pounds sterling\n 0x87: 0x266a,\n // Music 8'th note\n 0x88: 0xe0,\n // lowercase a, grave accent\n 0x89: 0x20,\n // transparent space (regular)\n 0x8a: 0xe8,\n // lowercase e, grave accent\n 0x8b: 0xe2,\n // lowercase a, circumflex accent\n 0x8c: 0xea,\n // lowercase e, circumflex accent\n 0x8d: 0xee,\n // lowercase i, circumflex accent\n 0x8e: 0xf4,\n // lowercase o, circumflex accent\n 0x8f: 0xfb,\n // lowercase u, circumflex accent\n // THIS BLOCK INCLUDES THE 32 EXTENDED (TWO-BYTE) LINE 21 CHARACTERS\n // THAT COME FROM HI BYTE=0x12 AND LOW BETWEEN 0x20 AND 0x3F\n 0x90: 0xc1,\n // capital letter A with acute\n 0x91: 0xc9,\n // capital letter E with acute\n 0x92: 0xd3,\n // capital letter O with acute\n 0x93: 0xda,\n // capital letter U with acute\n 0x94: 0xdc,\n // capital letter U with diaresis\n 0x95: 0xfc,\n // lowercase letter U with diaeresis\n 0x96: 0x2018,\n // opening single quote\n 0x97: 0xa1,\n // inverted exclamation mark\n 0x98: 0x2a,\n // asterisk\n 0x99: 0x2019,\n // closing single quote\n 0x9a: 0x2501,\n // box drawings heavy horizontal\n 0x9b: 0xa9,\n // copyright sign\n 0x9c: 0x2120,\n // Service mark\n 0x9d: 0x2022,\n // (round) bullet\n 0x9e: 0x201c,\n // Left double quotation mark\n 0x9f: 0x201d,\n // Right double quotation mark\n 0xa0: 0xc0,\n // uppercase A, grave accent\n 0xa1: 0xc2,\n // uppercase A, circumflex\n 0xa2: 0xc7,\n // uppercase C with cedilla\n 0xa3: 0xc8,\n // uppercase E, grave accent\n 0xa4: 0xca,\n // uppercase E, circumflex\n 0xa5: 0xcb,\n // capital letter E with diaresis\n 0xa6: 0xeb,\n // lowercase letter e with diaresis\n 0xa7: 0xce,\n // uppercase I, circumflex\n 0xa8: 0xcf,\n // uppercase I, with diaresis\n 0xa9: 0xef,\n // lowercase i, with diaresis\n 0xaa: 0xd4,\n // uppercase O, circumflex\n 0xab: 0xd9,\n // uppercase U, grave accent\n 0xac: 0xf9,\n // lowercase u, grave accent\n 0xad: 0xdb,\n // uppercase U, circumflex\n 0xae: 0xab,\n // left-pointing double angle quotation mark\n 0xaf: 0xbb,\n // right-pointing double angle quotation mark\n // THIS BLOCK INCLUDES THE 32 EXTENDED (TWO-BYTE) LINE 21 CHARACTERS\n // THAT COME FROM HI BYTE=0x13 AND LOW BETWEEN 0x20 AND 0x3F\n 0xb0: 0xc3,\n // Uppercase A, tilde\n 0xb1: 0xe3,\n // Lowercase a, tilde\n 0xb2: 0xcd,\n // Uppercase I, acute accent\n 0xb3: 0xcc,\n // Uppercase I, grave accent\n 0xb4: 0xec,\n // Lowercase i, grave accent\n 0xb5: 0xd2,\n // Uppercase O, grave accent\n 0xb6: 0xf2,\n // Lowercase o, grave accent\n 0xb7: 0xd5,\n // Uppercase O, tilde\n 0xb8: 0xf5,\n // Lowercase o, tilde\n 0xb9: 0x7b,\n // Open curly brace\n 0xba: 0x7d,\n // Closing curly brace\n 0xbb: 0x5c,\n // Backslash\n 0xbc: 0x5e,\n // Caret\n 0xbd: 0x5f,\n // Underscore\n 0xbe: 0x7c,\n // Pipe (vertical line)\n 0xbf: 0x223c,\n // Tilde operator\n 0xc0: 0xc4,\n // Uppercase A, umlaut\n 0xc1: 0xe4,\n // Lowercase A, umlaut\n 0xc2: 0xd6,\n // Uppercase O, umlaut\n 0xc3: 0xf6,\n // Lowercase o, umlaut\n 0xc4: 0xdf,\n // Esszett (sharp S)\n 0xc5: 0xa5,\n // Yen symbol\n 0xc6: 0xa4,\n // Generic currency sign\n 0xc7: 0x2503,\n // Box drawings heavy vertical\n 0xc8: 0xc5,\n // Uppercase A, ring\n 0xc9: 0xe5,\n // Lowercase A, ring\n 0xca: 0xd8,\n // Uppercase O, stroke\n 0xcb: 0xf8,\n // Lowercase o, strok\n 0xcc: 0x250f,\n // Box drawings heavy down and right\n 0xcd: 0x2513,\n // Box drawings heavy down and left\n 0xce: 0x2517,\n // Box drawings heavy up and right\n 0xcf: 0x251b // Box drawings heavy up and left\n };\n\n /**\n * Utils\n */\n var getCharForByte = function getCharForByte(_byte) {\n var charCode = _byte;\n if (specialCea608CharsCodes.hasOwnProperty(_byte)) {\n charCode = specialCea608CharsCodes[_byte];\n }\n return String.fromCharCode(charCode);\n };\n var NR_ROWS = 15;\n var NR_COLS = 100;\n // Tables to look up row from PAC data\n var rowsLowCh1 = {\n 0x11: 1,\n 0x12: 3,\n 0x15: 5,\n 0x16: 7,\n 0x17: 9,\n 0x10: 11,\n 0x13: 12,\n 0x14: 14\n };\n var rowsHighCh1 = {\n 0x11: 2,\n 0x12: 4,\n 0x15: 6,\n 0x16: 8,\n 0x17: 10,\n 0x13: 13,\n 0x14: 15\n };\n var rowsLowCh2 = {\n 0x19: 1,\n 0x1a: 3,\n 0x1d: 5,\n 0x1e: 7,\n 0x1f: 9,\n 0x18: 11,\n 0x1b: 12,\n 0x1c: 14\n };\n var rowsHighCh2 = {\n 0x19: 2,\n 0x1a: 4,\n 0x1d: 6,\n 0x1e: 8,\n 0x1f: 10,\n 0x1b: 13,\n 0x1c: 15\n };\n var backgroundColors = ['white', 'green', 'blue', 'cyan', 'red', 'yellow', 'magenta', 'black', 'transparent'];\n var CaptionsLogger = /*#__PURE__*/function () {\n function CaptionsLogger() {\n this.time = null;\n this.verboseLevel = 0;\n }\n var _proto = CaptionsLogger.prototype;\n _proto.log = function log(severity, msg) {\n if (this.verboseLevel >= severity) {\n var m = typeof msg === 'function' ? msg() : msg;\n logger.log(this.time + \" [\" + severity + \"] \" + m);\n }\n };\n return CaptionsLogger;\n }();\n var numArrayToHexArray = function numArrayToHexArray(numArray) {\n var hexArray = [];\n for (var j = 0; j < numArray.length; j++) {\n hexArray.push(numArray[j].toString(16));\n }\n return hexArray;\n };\n var PenState = /*#__PURE__*/function () {\n function PenState() {\n this.foreground = 'white';\n this.underline = false;\n this.italics = false;\n this.background = 'black';\n this.flash = false;\n }\n var _proto2 = PenState.prototype;\n _proto2.reset = function reset() {\n this.foreground = 'white';\n this.underline = false;\n this.italics = false;\n this.background = 'black';\n this.flash = false;\n };\n _proto2.setStyles = function setStyles(styles) {\n var attribs = ['foreground', 'underline', 'italics', 'background', 'flash'];\n for (var i = 0; i < attribs.length; i++) {\n var style = attribs[i];\n if (styles.hasOwnProperty(style)) {\n this[style] = styles[style];\n }\n }\n };\n _proto2.isDefault = function isDefault() {\n return this.foreground === 'white' && !this.underline && !this.italics && this.background === 'black' && !this.flash;\n };\n _proto2.equals = function equals(other) {\n return this.foreground === other.foreground && this.underline === other.underline && this.italics === other.italics && this.background === other.background && this.flash === other.flash;\n };\n _proto2.copy = function copy(newPenState) {\n this.foreground = newPenState.foreground;\n this.underline = newPenState.underline;\n this.italics = newPenState.italics;\n this.background = newPenState.background;\n this.flash = newPenState.flash;\n };\n _proto2.toString = function toString() {\n return 'color=' + this.foreground + ', underline=' + this.underline + ', italics=' + this.italics + ', background=' + this.background + ', flash=' + this.flash;\n };\n return PenState;\n }();\n /**\n * Unicode character with styling and background.\n * @constructor\n */\n var StyledUnicodeChar = /*#__PURE__*/function () {\n function StyledUnicodeChar() {\n this.uchar = ' ';\n this.penState = new PenState();\n }\n var _proto3 = StyledUnicodeChar.prototype;\n _proto3.reset = function reset() {\n this.uchar = ' ';\n this.penState.reset();\n };\n _proto3.setChar = function setChar(uchar, newPenState) {\n this.uchar = uchar;\n this.penState.copy(newPenState);\n };\n _proto3.setPenState = function setPenState(newPenState) {\n this.penState.copy(newPenState);\n };\n _proto3.equals = function equals(other) {\n return this.uchar === other.uchar && this.penState.equals(other.penState);\n };\n _proto3.copy = function copy(newChar) {\n this.uchar = newChar.uchar;\n this.penState.copy(newChar.penState);\n };\n _proto3.isEmpty = function isEmpty() {\n return this.uchar === ' ' && this.penState.isDefault();\n };\n return StyledUnicodeChar;\n }();\n /**\n * CEA-608 row consisting of NR_COLS instances of StyledUnicodeChar.\n * @constructor\n */\n var Row = /*#__PURE__*/function () {\n function Row(logger) {\n this.chars = [];\n this.pos = 0;\n this.currPenState = new PenState();\n this.cueStartTime = null;\n this.logger = void 0;\n for (var i = 0; i < NR_COLS; i++) {\n this.chars.push(new StyledUnicodeChar());\n }\n this.logger = logger;\n }\n var _proto4 = Row.prototype;\n _proto4.equals = function equals(other) {\n for (var i = 0; i < NR_COLS; i++) {\n if (!this.chars[i].equals(other.chars[i])) {\n return false;\n }\n }\n return true;\n };\n _proto4.copy = function copy(other) {\n for (var i = 0; i < NR_COLS; i++) {\n this.chars[i].copy(other.chars[i]);\n }\n };\n _proto4.isEmpty = function isEmpty() {\n var empty = true;\n for (var i = 0; i < NR_COLS; i++) {\n if (!this.chars[i].isEmpty()) {\n empty = false;\n break;\n }\n }\n return empty;\n }\n\n /**\n * Set the cursor to a valid column.\n */;\n _proto4.setCursor = function setCursor(absPos) {\n if (this.pos !== absPos) {\n this.pos = absPos;\n }\n if (this.pos < 0) {\n this.logger.log(3, 'Negative cursor position ' + this.pos);\n this.pos = 0;\n } else if (this.pos > NR_COLS) {\n this.logger.log(3, 'Too large cursor position ' + this.pos);\n this.pos = NR_COLS;\n }\n }\n\n /**\n * Move the cursor relative to current position.\n */;\n _proto4.moveCursor = function moveCursor(relPos) {\n var newPos = this.pos + relPos;\n if (relPos > 1) {\n for (var i = this.pos + 1; i < newPos + 1; i++) {\n this.chars[i].setPenState(this.currPenState);\n }\n }\n this.setCursor(newPos);\n }\n\n /**\n * Backspace, move one step back and clear character.\n */;\n _proto4.backSpace = function backSpace() {\n this.moveCursor(-1);\n this.chars[this.pos].setChar(' ', this.currPenState);\n };\n _proto4.insertChar = function insertChar(_byte2) {\n var _this = this;\n if (_byte2 >= 0x90) {\n // Extended char\n this.backSpace();\n }\n var _char = getCharForByte(_byte2);\n if (this.pos >= NR_COLS) {\n this.logger.log(0, function () {\n return 'Cannot insert ' + _byte2.toString(16) + ' (' + _char + ') at position ' + _this.pos + '. Skipping it!';\n });\n return;\n }\n this.chars[this.pos].setChar(_char, this.currPenState);\n this.moveCursor(1);\n };\n _proto4.clearFromPos = function clearFromPos(startPos) {\n var i;\n for (i = startPos; i < NR_COLS; i++) {\n this.chars[i].reset();\n }\n };\n _proto4.clear = function clear() {\n this.clearFromPos(0);\n this.pos = 0;\n this.currPenState.reset();\n };\n _proto4.clearToEndOfRow = function clearToEndOfRow() {\n this.clearFromPos(this.pos);\n };\n _proto4.getTextString = function getTextString() {\n var chars = [];\n var empty = true;\n for (var i = 0; i < NR_COLS; i++) {\n var _char2 = this.chars[i].uchar;\n if (_char2 !== ' ') {\n empty = false;\n }\n chars.push(_char2);\n }\n if (empty) {\n return '';\n } else {\n return chars.join('');\n }\n };\n _proto4.setPenStyles = function setPenStyles(styles) {\n this.currPenState.setStyles(styles);\n var currChar = this.chars[this.pos];\n currChar.setPenState(this.currPenState);\n };\n return Row;\n }();\n\n /**\n * Keep a CEA-608 screen of 32x15 styled characters\n * @constructor\n */\n var CaptionScreen = /*#__PURE__*/function () {\n function CaptionScreen(logger) {\n this.rows = [];\n this.currRow = NR_ROWS - 1;\n this.nrRollUpRows = null;\n this.lastOutputScreen = null;\n this.logger = void 0;\n for (var i = 0; i < NR_ROWS; i++) {\n this.rows.push(new Row(logger));\n }\n this.logger = logger;\n }\n var _proto5 = CaptionScreen.prototype;\n _proto5.reset = function reset() {\n for (var i = 0; i < NR_ROWS; i++) {\n this.rows[i].clear();\n }\n this.currRow = NR_ROWS - 1;\n };\n _proto5.equals = function equals(other) {\n var equal = true;\n for (var i = 0; i < NR_ROWS; i++) {\n if (!this.rows[i].equals(other.rows[i])) {\n equal = false;\n break;\n }\n }\n return equal;\n };\n _proto5.copy = function copy(other) {\n for (var i = 0; i < NR_ROWS; i++) {\n this.rows[i].copy(other.rows[i]);\n }\n };\n _proto5.isEmpty = function isEmpty() {\n var empty = true;\n for (var i = 0; i < NR_ROWS; i++) {\n if (!this.rows[i].isEmpty()) {\n empty = false;\n break;\n }\n }\n return empty;\n };\n _proto5.backSpace = function backSpace() {\n var row = this.rows[this.currRow];\n row.backSpace();\n };\n _proto5.clearToEndOfRow = function clearToEndOfRow() {\n var row = this.rows[this.currRow];\n row.clearToEndOfRow();\n }\n\n /**\n * Insert a character (without styling) in the current row.\n */;\n _proto5.insertChar = function insertChar(_char3) {\n var row = this.rows[this.currRow];\n row.insertChar(_char3);\n };\n _proto5.setPen = function setPen(styles) {\n var row = this.rows[this.currRow];\n row.setPenStyles(styles);\n };\n _proto5.moveCursor = function moveCursor(relPos) {\n var row = this.rows[this.currRow];\n row.moveCursor(relPos);\n };\n _proto5.setCursor = function setCursor(absPos) {\n this.logger.log(2, 'setCursor: ' + absPos);\n var row = this.rows[this.currRow];\n row.setCursor(absPos);\n };\n _proto5.setPAC = function setPAC(pacData) {\n this.logger.log(2, function () {\n return 'pacData = ' + JSON.stringify(pacData);\n });\n var newRow = pacData.row - 1;\n if (this.nrRollUpRows && newRow < this.nrRollUpRows - 1) {\n newRow = this.nrRollUpRows - 1;\n }\n\n // Make sure this only affects Roll-up Captions by checking this.nrRollUpRows\n if (this.nrRollUpRows && this.currRow !== newRow) {\n // clear all rows first\n for (var i = 0; i < NR_ROWS; i++) {\n this.rows[i].clear();\n }\n\n // Copy this.nrRollUpRows rows from lastOutputScreen and place it in the newRow location\n // topRowIndex - the start of rows to copy (inclusive index)\n var topRowIndex = this.currRow + 1 - this.nrRollUpRows;\n // We only copy if the last position was already shown.\n // We use the cueStartTime value to check this.\n var lastOutputScreen = this.lastOutputScreen;\n if (lastOutputScreen) {\n var prevLineTime = lastOutputScreen.rows[topRowIndex].cueStartTime;\n var time = this.logger.time;\n if (prevLineTime !== null && time !== null && prevLineTime < time) {\n for (var _i = 0; _i < this.nrRollUpRows; _i++) {\n this.rows[newRow - this.nrRollUpRows + _i + 1].copy(lastOutputScreen.rows[topRowIndex + _i]);\n }\n }\n }\n }\n this.currRow = newRow;\n var row = this.rows[this.currRow];\n if (pacData.indent !== null) {\n var indent = pacData.indent;\n var prevPos = Math.max(indent - 1, 0);\n row.setCursor(pacData.indent);\n pacData.color = row.chars[prevPos].penState.foreground;\n }\n var styles = {\n foreground: pacData.color,\n underline: pacData.underline,\n italics: pacData.italics,\n background: 'black',\n flash: false\n };\n this.setPen(styles);\n }\n\n /**\n * Set background/extra foreground, but first do back_space, and then insert space (backwards compatibility).\n */;\n _proto5.setBkgData = function setBkgData(bkgData) {\n this.logger.log(2, function () {\n return 'bkgData = ' + JSON.stringify(bkgData);\n });\n this.backSpace();\n this.setPen(bkgData);\n this.insertChar(0x20); // Space\n };\n _proto5.setRollUpRows = function setRollUpRows(nrRows) {\n this.nrRollUpRows = nrRows;\n };\n _proto5.rollUp = function rollUp() {\n var _this2 = this;\n if (this.nrRollUpRows === null) {\n this.logger.log(3, 'roll_up but nrRollUpRows not set yet');\n return; // Not properly setup\n }\n this.logger.log(1, function () {\n return _this2.getDisplayText();\n });\n var topRowIndex = this.currRow + 1 - this.nrRollUpRows;\n var topRow = this.rows.splice(topRowIndex, 1)[0];\n topRow.clear();\n this.rows.splice(this.currRow, 0, topRow);\n this.logger.log(2, 'Rolling up');\n // this.logger.log(VerboseLevel.TEXT, this.get_display_text())\n }\n\n /**\n * Get all non-empty rows with as unicode text.\n */;\n _proto5.getDisplayText = function getDisplayText(asOneRow) {\n asOneRow = asOneRow || false;\n var displayText = [];\n var text = '';\n var rowNr = -1;\n for (var i = 0; i < NR_ROWS; i++) {\n var rowText = this.rows[i].getTextString();\n if (rowText) {\n rowNr = i + 1;\n if (asOneRow) {\n displayText.push('Row ' + rowNr + \": '\" + rowText + \"'\");\n } else {\n displayText.push(rowText.trim());\n }\n }\n }\n if (displayText.length > 0) {\n if (asOneRow) {\n text = '[' + displayText.join(' | ') + ']';\n } else {\n text = displayText.join('\\n');\n }\n }\n return text;\n };\n _proto5.getTextAndFormat = function getTextAndFormat() {\n return this.rows;\n };\n return CaptionScreen;\n }();\n\n // var modes = ['MODE_ROLL-UP', 'MODE_POP-ON', 'MODE_PAINT-ON', 'MODE_TEXT'];\n var Cea608Channel = /*#__PURE__*/function () {\n function Cea608Channel(channelNumber, outputFilter, logger) {\n this.chNr = void 0;\n this.outputFilter = void 0;\n this.mode = void 0;\n this.verbose = void 0;\n this.displayedMemory = void 0;\n this.nonDisplayedMemory = void 0;\n this.lastOutputScreen = void 0;\n this.currRollUpRow = void 0;\n this.writeScreen = void 0;\n this.cueStartTime = void 0;\n this.logger = void 0;\n this.chNr = channelNumber;\n this.outputFilter = outputFilter;\n this.mode = null;\n this.verbose = 0;\n this.displayedMemory = new CaptionScreen(logger);\n this.nonDisplayedMemory = new CaptionScreen(logger);\n this.lastOutputScreen = new CaptionScreen(logger);\n this.currRollUpRow = this.displayedMemory.rows[NR_ROWS - 1];\n this.writeScreen = this.displayedMemory;\n this.mode = null;\n this.cueStartTime = null; // Keeps track of where a cue started.\n this.logger = logger;\n }\n var _proto6 = Cea608Channel.prototype;\n _proto6.reset = function reset() {\n this.mode = null;\n this.displayedMemory.reset();\n this.nonDisplayedMemory.reset();\n this.lastOutputScreen.reset();\n this.outputFilter.reset();\n this.currRollUpRow = this.displayedMemory.rows[NR_ROWS - 1];\n this.writeScreen = this.displayedMemory;\n this.mode = null;\n this.cueStartTime = null;\n };\n _proto6.getHandler = function getHandler() {\n return this.outputFilter;\n };\n _proto6.setHandler = function setHandler(newHandler) {\n this.outputFilter = newHandler;\n };\n _proto6.setPAC = function setPAC(pacData) {\n this.writeScreen.setPAC(pacData);\n };\n _proto6.setBkgData = function setBkgData(bkgData) {\n this.writeScreen.setBkgData(bkgData);\n };\n _proto6.setMode = function setMode(newMode) {\n if (newMode === this.mode) {\n return;\n }\n this.mode = newMode;\n this.logger.log(2, function () {\n return 'MODE=' + newMode;\n });\n if (this.mode === 'MODE_POP-ON') {\n this.writeScreen = this.nonDisplayedMemory;\n } else {\n this.writeScreen = this.displayedMemory;\n this.writeScreen.reset();\n }\n if (this.mode !== 'MODE_ROLL-UP') {\n this.displayedMemory.nrRollUpRows = null;\n this.nonDisplayedMemory.nrRollUpRows = null;\n }\n this.mode = newMode;\n };\n _proto6.insertChars = function insertChars(chars) {\n var _this3 = this;\n for (var i = 0; i < chars.length; i++) {\n this.writeScreen.insertChar(chars[i]);\n }\n var screen = this.writeScreen === this.displayedMemory ? 'DISP' : 'NON_DISP';\n this.logger.log(2, function () {\n return screen + ': ' + _this3.writeScreen.getDisplayText(true);\n });\n if (this.mode === 'MODE_PAINT-ON' || this.mode === 'MODE_ROLL-UP') {\n this.logger.log(1, function () {\n return 'DISPLAYED: ' + _this3.displayedMemory.getDisplayText(true);\n });\n this.outputDataUpdate();\n }\n };\n _proto6.ccRCL = function ccRCL() {\n // Resume Caption Loading (switch mode to Pop On)\n this.logger.log(2, 'RCL - Resume Caption Loading');\n this.setMode('MODE_POP-ON');\n };\n _proto6.ccBS = function ccBS() {\n // BackSpace\n this.logger.log(2, 'BS - BackSpace');\n if (this.mode === 'MODE_TEXT') {\n return;\n }\n this.writeScreen.backSpace();\n if (this.writeScreen === this.displayedMemory) {\n this.outputDataUpdate();\n }\n };\n _proto6.ccAOF = function ccAOF() {\n // Reserved (formerly Alarm Off)\n };\n _proto6.ccAON = function ccAON() {\n // Reserved (formerly Alarm On)\n };\n _proto6.ccDER = function ccDER() {\n // Delete to End of Row\n this.logger.log(2, 'DER- Delete to End of Row');\n this.writeScreen.clearToEndOfRow();\n this.outputDataUpdate();\n };\n _proto6.ccRU = function ccRU(nrRows) {\n // Roll-Up Captions-2,3,or 4 Rows\n this.logger.log(2, 'RU(' + nrRows + ') - Roll Up');\n this.writeScreen = this.displayedMemory;\n this.setMode('MODE_ROLL-UP');\n this.writeScreen.setRollUpRows(nrRows);\n };\n _proto6.ccFON = function ccFON() {\n // Flash On\n this.logger.log(2, 'FON - Flash On');\n this.writeScreen.setPen({\n flash: true\n });\n };\n _proto6.ccRDC = function ccRDC() {\n // Resume Direct Captioning (switch mode to PaintOn)\n this.logger.log(2, 'RDC - Resume Direct Captioning');\n this.setMode('MODE_PAINT-ON');\n };\n _proto6.ccTR = function ccTR() {\n // Text Restart in text mode (not supported, however)\n this.logger.log(2, 'TR');\n this.setMode('MODE_TEXT');\n };\n _proto6.ccRTD = function ccRTD() {\n // Resume Text Display in Text mode (not supported, however)\n this.logger.log(2, 'RTD');\n this.setMode('MODE_TEXT');\n };\n _proto6.ccEDM = function ccEDM() {\n // Erase Displayed Memory\n this.logger.log(2, 'EDM - Erase Displayed Memory');\n this.displayedMemory.reset();\n this.outputDataUpdate(true);\n };\n _proto6.ccCR = function ccCR() {\n // Carriage Return\n this.logger.log(2, 'CR - Carriage Return');\n this.writeScreen.rollUp();\n this.outputDataUpdate(true);\n };\n _proto6.ccENM = function ccENM() {\n // Erase Non-Displayed Memory\n this.logger.log(2, 'ENM - Erase Non-displayed Memory');\n this.nonDisplayedMemory.reset();\n };\n _proto6.ccEOC = function ccEOC() {\n var _this4 = this;\n // End of Caption (Flip Memories)\n this.logger.log(2, 'EOC - End Of Caption');\n if (this.mode === 'MODE_POP-ON') {\n var tmp = this.displayedMemory;\n this.displayedMemory = this.nonDisplayedMemory;\n this.nonDisplayedMemory = tmp;\n this.writeScreen = this.nonDisplayedMemory;\n this.logger.log(1, function () {\n return 'DISP: ' + _this4.displayedMemory.getDisplayText();\n });\n }\n this.outputDataUpdate(true);\n };\n _proto6.ccTO = function ccTO(nrCols) {\n // Tab Offset 1,2, or 3 columns\n this.logger.log(2, 'TO(' + nrCols + ') - Tab Offset');\n this.writeScreen.moveCursor(nrCols);\n };\n _proto6.ccMIDROW = function ccMIDROW(secondByte) {\n // Parse MIDROW command\n var styles = {\n flash: false\n };\n styles.underline = secondByte % 2 === 1;\n styles.italics = secondByte >= 0x2e;\n if (!styles.italics) {\n var colorIndex = Math.floor(secondByte / 2) - 0x10;\n var colors = ['white', 'green', 'blue', 'cyan', 'red', 'yellow', 'magenta'];\n styles.foreground = colors[colorIndex];\n } else {\n styles.foreground = 'white';\n }\n this.logger.log(2, 'MIDROW: ' + JSON.stringify(styles));\n this.writeScreen.setPen(styles);\n };\n _proto6.outputDataUpdate = function outputDataUpdate(dispatch) {\n if (dispatch === void 0) {\n dispatch = false;\n }\n var time = this.logger.time;\n if (time === null) {\n return;\n }\n if (this.outputFilter) {\n if (this.cueStartTime === null && !this.displayedMemory.isEmpty()) {\n // Start of a new cue\n this.cueStartTime = time;\n } else {\n if (!this.displayedMemory.equals(this.lastOutputScreen)) {\n this.outputFilter.newCue(this.cueStartTime, time, this.lastOutputScreen);\n if (dispatch && this.outputFilter.dispatchCue) {\n this.outputFilter.dispatchCue();\n }\n this.cueStartTime = this.displayedMemory.isEmpty() ? null : time;\n }\n }\n this.lastOutputScreen.copy(this.displayedMemory);\n }\n };\n _proto6.cueSplitAtTime = function cueSplitAtTime(t) {\n if (this.outputFilter) {\n if (!this.displayedMemory.isEmpty()) {\n if (this.outputFilter.newCue) {\n this.outputFilter.newCue(this.cueStartTime, t, this.displayedMemory);\n }\n this.cueStartTime = t;\n }\n }\n };\n return Cea608Channel;\n }(); // Will be 1 or 2 when parsing captions\n var Cea608Parser = /*#__PURE__*/function () {\n function Cea608Parser(field, out1, out2) {\n this.channels = void 0;\n this.currentChannel = 0;\n this.cmdHistory = createCmdHistory();\n this.logger = void 0;\n var logger = this.logger = new CaptionsLogger();\n this.channels = [null, new Cea608Channel(field, out1, logger), new Cea608Channel(field + 1, out2, logger)];\n }\n var _proto7 = Cea608Parser.prototype;\n _proto7.getHandler = function getHandler(channel) {\n return this.channels[channel].getHandler();\n };\n _proto7.setHandler = function setHandler(channel, newHandler) {\n this.channels[channel].setHandler(newHandler);\n }\n\n /**\n * Add data for time t in forms of list of bytes (unsigned ints). The bytes are treated as pairs.\n */;\n _proto7.addData = function addData(time, byteList) {\n var cmdFound;\n var a;\n var b;\n var charsFound = false;\n this.logger.time = time;\n for (var i = 0; i < byteList.length; i += 2) {\n a = byteList[i] & 0x7f;\n b = byteList[i + 1] & 0x7f;\n if (a === 0 && b === 0) {\n continue;\n } else {\n this.logger.log(3, '[' + numArrayToHexArray([byteList[i], byteList[i + 1]]) + '] -> (' + numArrayToHexArray([a, b]) + ')');\n }\n cmdFound = this.parseCmd(a, b);\n if (!cmdFound) {\n cmdFound = this.parseMidrow(a, b);\n }\n if (!cmdFound) {\n cmdFound = this.parsePAC(a, b);\n }\n if (!cmdFound) {\n cmdFound = this.parseBackgroundAttributes(a, b);\n }\n if (!cmdFound) {\n charsFound = this.parseChars(a, b);\n if (charsFound) {\n var currChNr = this.currentChannel;\n if (currChNr && currChNr > 0) {\n var channel = this.channels[currChNr];\n channel.insertChars(charsFound);\n } else {\n this.logger.log(2, 'No channel found yet. TEXT-MODE?');\n }\n }\n }\n if (!cmdFound && !charsFound) {\n this.logger.log(2, \"Couldn't parse cleaned data \" + numArrayToHexArray([a, b]) + ' orig: ' + numArrayToHexArray([byteList[i], byteList[i + 1]]));\n }\n }\n }\n\n /**\n * Parse Command.\n * @returns True if a command was found\n */;\n _proto7.parseCmd = function parseCmd(a, b) {\n var cmdHistory = this.cmdHistory;\n var cond1 = (a === 0x14 || a === 0x1c || a === 0x15 || a === 0x1d) && b >= 0x20 && b <= 0x2f;\n var cond2 = (a === 0x17 || a === 0x1f) && b >= 0x21 && b <= 0x23;\n if (!(cond1 || cond2)) {\n return false;\n }\n if (hasCmdRepeated(a, b, cmdHistory)) {\n setLastCmd(null, null, cmdHistory);\n this.logger.log(3, 'Repeated command (' + numArrayToHexArray([a, b]) + ') is dropped');\n return true;\n }\n var chNr = a === 0x14 || a === 0x15 || a === 0x17 ? 1 : 2;\n var channel = this.channels[chNr];\n if (a === 0x14 || a === 0x15 || a === 0x1c || a === 0x1d) {\n if (b === 0x20) {\n channel.ccRCL();\n } else if (b === 0x21) {\n channel.ccBS();\n } else if (b === 0x22) {\n channel.ccAOF();\n } else if (b === 0x23) {\n channel.ccAON();\n } else if (b === 0x24) {\n channel.ccDER();\n } else if (b === 0x25) {\n channel.ccRU(2);\n } else if (b === 0x26) {\n channel.ccRU(3);\n } else if (b === 0x27) {\n channel.ccRU(4);\n } else if (b === 0x28) {\n channel.ccFON();\n } else if (b === 0x29) {\n channel.ccRDC();\n } else if (b === 0x2a) {\n channel.ccTR();\n } else if (b === 0x2b) {\n channel.ccRTD();\n } else if (b === 0x2c) {\n channel.ccEDM();\n } else if (b === 0x2d) {\n channel.ccCR();\n } else if (b === 0x2e) {\n channel.ccENM();\n } else if (b === 0x2f) {\n channel.ccEOC();\n }\n } else {\n // a == 0x17 || a == 0x1F\n channel.ccTO(b - 0x20);\n }\n setLastCmd(a, b, cmdHistory);\n this.currentChannel = chNr;\n return true;\n }\n\n /**\n * Parse midrow styling command\n */;\n _proto7.parseMidrow = function parseMidrow(a, b) {\n var chNr = 0;\n if ((a === 0x11 || a === 0x19) && b >= 0x20 && b <= 0x2f) {\n if (a === 0x11) {\n chNr = 1;\n } else {\n chNr = 2;\n }\n if (chNr !== this.currentChannel) {\n this.logger.log(0, 'Mismatch channel in midrow parsing');\n return false;\n }\n var channel = this.channels[chNr];\n if (!channel) {\n return false;\n }\n channel.ccMIDROW(b);\n this.logger.log(3, 'MIDROW (' + numArrayToHexArray([a, b]) + ')');\n return true;\n }\n return false;\n }\n\n /**\n * Parse Preable Access Codes (Table 53).\n * @returns {Boolean} Tells if PAC found\n */;\n _proto7.parsePAC = function parsePAC(a, b) {\n var row;\n var cmdHistory = this.cmdHistory;\n var case1 = (a >= 0x11 && a <= 0x17 || a >= 0x19 && a <= 0x1f) && b >= 0x40 && b <= 0x7f;\n var case2 = (a === 0x10 || a === 0x18) && b >= 0x40 && b <= 0x5f;\n if (!(case1 || case2)) {\n return false;\n }\n if (hasCmdRepeated(a, b, cmdHistory)) {\n setLastCmd(null, null, cmdHistory);\n return true; // Repeated commands are dropped (once)\n }\n var chNr = a <= 0x17 ? 1 : 2;\n if (b >= 0x40 && b <= 0x5f) {\n row = chNr === 1 ? rowsLowCh1[a] : rowsLowCh2[a];\n } else {\n // 0x60 <= b <= 0x7F\n row = chNr === 1 ? rowsHighCh1[a] : rowsHighCh2[a];\n }\n var channel = this.channels[chNr];\n if (!channel) {\n return false;\n }\n channel.setPAC(this.interpretPAC(row, b));\n setLastCmd(a, b, cmdHistory);\n this.currentChannel = chNr;\n return true;\n }\n\n /**\n * Interpret the second byte of the pac, and return the information.\n * @returns pacData with style parameters\n */;\n _proto7.interpretPAC = function interpretPAC(row, _byte3) {\n var pacIndex;\n var pacData = {\n color: null,\n italics: false,\n indent: null,\n underline: false,\n row: row\n };\n if (_byte3 > 0x5f) {\n pacIndex = _byte3 - 0x60;\n } else {\n pacIndex = _byte3 - 0x40;\n }\n pacData.underline = (pacIndex & 1) === 1;\n if (pacIndex <= 0xd) {\n pacData.color = ['white', 'green', 'blue', 'cyan', 'red', 'yellow', 'magenta', 'white'][Math.floor(pacIndex / 2)];\n } else if (pacIndex <= 0xf) {\n pacData.italics = true;\n pacData.color = 'white';\n } else {\n pacData.indent = Math.floor((pacIndex - 0x10) / 2) * 4;\n }\n return pacData; // Note that row has zero offset. The spec uses 1.\n }\n\n /**\n * Parse characters.\n * @returns An array with 1 to 2 codes corresponding to chars, if found. null otherwise.\n */;\n _proto7.parseChars = function parseChars(a, b) {\n var channelNr;\n var charCodes = null;\n var charCode1 = null;\n if (a >= 0x19) {\n channelNr = 2;\n charCode1 = a - 8;\n } else {\n channelNr = 1;\n charCode1 = a;\n }\n if (charCode1 >= 0x11 && charCode1 <= 0x13) {\n // Special character\n var oneCode;\n if (charCode1 === 0x11) {\n oneCode = b + 0x50;\n } else if (charCode1 === 0x12) {\n oneCode = b + 0x70;\n } else {\n oneCode = b + 0x90;\n }\n this.logger.log(2, \"Special char '\" + getCharForByte(oneCode) + \"' in channel \" + channelNr);\n charCodes = [oneCode];\n } else if (a >= 0x20 && a <= 0x7f) {\n charCodes = b === 0 ? [a] : [a, b];\n }\n if (charCodes) {\n var hexCodes = numArrayToHexArray(charCodes);\n this.logger.log(3, 'Char codes = ' + hexCodes.join(','));\n setLastCmd(a, b, this.cmdHistory);\n }\n return charCodes;\n }\n\n /**\n * Parse extended background attributes as well as new foreground color black.\n * @returns True if background attributes are found\n */;\n _proto7.parseBackgroundAttributes = function parseBackgroundAttributes(a, b) {\n var case1 = (a === 0x10 || a === 0x18) && b >= 0x20 && b <= 0x2f;\n var case2 = (a === 0x17 || a === 0x1f) && b >= 0x2d && b <= 0x2f;\n if (!(case1 || case2)) {\n return false;\n }\n var index;\n var bkgData = {};\n if (a === 0x10 || a === 0x18) {\n index = Math.floor((b - 0x20) / 2);\n bkgData.background = backgroundColors[index];\n if (b % 2 === 1) {\n bkgData.background = bkgData.background + '_semi';\n }\n } else if (b === 0x2d) {\n bkgData.background = 'transparent';\n } else {\n bkgData.foreground = 'black';\n if (b === 0x2f) {\n bkgData.underline = true;\n }\n }\n var chNr = a <= 0x17 ? 1 : 2;\n var channel = this.channels[chNr];\n channel.setBkgData(bkgData);\n setLastCmd(a, b, this.cmdHistory);\n return true;\n }\n\n /**\n * Reset state of parser and its channels.\n */;\n _proto7.reset = function reset() {\n for (var i = 0; i < Object.keys(this.channels).length; i++) {\n var channel = this.channels[i];\n if (channel) {\n channel.reset();\n }\n }\n this.cmdHistory = createCmdHistory();\n }\n\n /**\n * Trigger the generation of a cue, and the start of a new one if displayScreens are not empty.\n */;\n _proto7.cueSplitAtTime = function cueSplitAtTime(t) {\n for (var i = 0; i < this.channels.length; i++) {\n var channel = this.channels[i];\n if (channel) {\n channel.cueSplitAtTime(t);\n }\n }\n };\n return Cea608Parser;\n }();\n function setLastCmd(a, b, cmdHistory) {\n cmdHistory.a = a;\n cmdHistory.b = b;\n }\n function hasCmdRepeated(a, b, cmdHistory) {\n return cmdHistory.a === a && cmdHistory.b === b;\n }\n function createCmdHistory() {\n return {\n a: null,\n b: null\n };\n }\n\n var OutputFilter = /*#__PURE__*/function () {\n function OutputFilter(timelineController, trackName) {\n this.timelineController = void 0;\n this.cueRanges = [];\n this.trackName = void 0;\n this.startTime = null;\n this.endTime = null;\n this.screen = null;\n this.timelineController = timelineController;\n this.trackName = trackName;\n }\n var _proto = OutputFilter.prototype;\n _proto.dispatchCue = function dispatchCue() {\n if (this.startTime === null) {\n return;\n }\n this.timelineController.addCues(this.trackName, this.startTime, this.endTime, this.screen, this.cueRanges);\n this.startTime = null;\n };\n _proto.newCue = function newCue(startTime, endTime, screen) {\n if (this.startTime === null || this.startTime > startTime) {\n this.startTime = startTime;\n }\n this.endTime = endTime;\n this.screen = screen;\n this.timelineController.createCaptionsTrack(this.trackName);\n };\n _proto.reset = function reset() {\n this.cueRanges = [];\n this.startTime = null;\n };\n return OutputFilter;\n }();\n\n /**\n * Copyright 2013 vtt.js Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the 'License');\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an 'AS IS' BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n var VTTCue = (function () {\n if (optionalSelf != null && optionalSelf.VTTCue) {\n return self.VTTCue;\n }\n var AllowedDirections = ['', 'lr', 'rl'];\n var AllowedAlignments = ['start', 'middle', 'end', 'left', 'right'];\n function isAllowedValue(allowed, value) {\n if (typeof value !== 'string') {\n return false;\n }\n // necessary for assuring the generic conforms to the Array interface\n if (!Array.isArray(allowed)) {\n return false;\n }\n // reset the type so that the next narrowing works well\n var lcValue = value.toLowerCase();\n // use the allow list to narrow the type to a specific subset of strings\n if (~allowed.indexOf(lcValue)) {\n return lcValue;\n }\n return false;\n }\n function findDirectionSetting(value) {\n return isAllowedValue(AllowedDirections, value);\n }\n function findAlignSetting(value) {\n return isAllowedValue(AllowedAlignments, value);\n }\n function extend(obj) {\n for (var _len = arguments.length, rest = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n rest[_key - 1] = arguments[_key];\n }\n var i = 1;\n for (; i < arguments.length; i++) {\n var cobj = arguments[i];\n for (var p in cobj) {\n obj[p] = cobj[p];\n }\n }\n return obj;\n }\n function VTTCue(startTime, endTime, text) {\n var cue = this;\n var baseObj = {\n enumerable: true\n };\n /**\n * Shim implementation specific properties. These properties are not in\n * the spec.\n */\n\n // Lets us know when the VTTCue's data has changed in such a way that we need\n // to recompute its display state. This lets us compute its display state\n // lazily.\n cue.hasBeenReset = false;\n\n /**\n * VTTCue and TextTrackCue properties\n * http://dev.w3.org/html5/webvtt/#vttcue-interface\n */\n\n var _id = '';\n var _pauseOnExit = false;\n var _startTime = startTime;\n var _endTime = endTime;\n var _text = text;\n var _region = null;\n var _vertical = '';\n var _snapToLines = true;\n var _line = 'auto';\n var _lineAlign = 'start';\n var _position = 50;\n var _positionAlign = 'middle';\n var _size = 50;\n var _align = 'middle';\n Object.defineProperty(cue, 'id', extend({}, baseObj, {\n get: function get() {\n return _id;\n },\n set: function set(value) {\n _id = '' + value;\n }\n }));\n Object.defineProperty(cue, 'pauseOnExit', extend({}, baseObj, {\n get: function get() {\n return _pauseOnExit;\n },\n set: function set(value) {\n _pauseOnExit = !!value;\n }\n }));\n Object.defineProperty(cue, 'startTime', extend({}, baseObj, {\n get: function get() {\n return _startTime;\n },\n set: function set(value) {\n if (typeof value !== 'number') {\n throw new TypeError('Start time must be set to a number.');\n }\n _startTime = value;\n this.hasBeenReset = true;\n }\n }));\n Object.defineProperty(cue, 'endTime', extend({}, baseObj, {\n get: function get() {\n return _endTime;\n },\n set: function set(value) {\n if (typeof value !== 'number') {\n throw new TypeError('End time must be set to a number.');\n }\n _endTime = value;\n this.hasBeenReset = true;\n }\n }));\n Object.defineProperty(cue, 'text', extend({}, baseObj, {\n get: function get() {\n return _text;\n },\n set: function set(value) {\n _text = '' + value;\n this.hasBeenReset = true;\n }\n }));\n\n // todo: implement VTTRegion polyfill?\n Object.defineProperty(cue, 'region', extend({}, baseObj, {\n get: function get() {\n return _region;\n },\n set: function set(value) {\n _region = value;\n this.hasBeenReset = true;\n }\n }));\n Object.defineProperty(cue, 'vertical', extend({}, baseObj, {\n get: function get() {\n return _vertical;\n },\n set: function set(value) {\n var setting = findDirectionSetting(value);\n // Have to check for false because the setting an be an empty string.\n if (setting === false) {\n throw new SyntaxError('An invalid or illegal string was specified.');\n }\n _vertical = setting;\n this.hasBeenReset = true;\n }\n }));\n Object.defineProperty(cue, 'snapToLines', extend({}, baseObj, {\n get: function get() {\n return _snapToLines;\n },\n set: function set(value) {\n _snapToLines = !!value;\n this.hasBeenReset = true;\n }\n }));\n Object.defineProperty(cue, 'line', extend({}, baseObj, {\n get: function get() {\n return _line;\n },\n set: function set(value) {\n if (typeof value !== 'number' && value !== 'auto') {\n throw new SyntaxError('An invalid number or illegal string was specified.');\n }\n _line = value;\n this.hasBeenReset = true;\n }\n }));\n Object.defineProperty(cue, 'lineAlign', extend({}, baseObj, {\n get: function get() {\n return _lineAlign;\n },\n set: function set(value) {\n var setting = findAlignSetting(value);\n if (!setting) {\n throw new SyntaxError('An invalid or illegal string was specified.');\n }\n _lineAlign = setting;\n this.hasBeenReset = true;\n }\n }));\n Object.defineProperty(cue, 'position', extend({}, baseObj, {\n get: function get() {\n return _position;\n },\n set: function set(value) {\n if (value < 0 || value > 100) {\n throw new Error('Position must be between 0 and 100.');\n }\n _position = value;\n this.hasBeenReset = true;\n }\n }));\n Object.defineProperty(cue, 'positionAlign', extend({}, baseObj, {\n get: function get() {\n return _positionAlign;\n },\n set: function set(value) {\n var setting = findAlignSetting(value);\n if (!setting) {\n throw new SyntaxError('An invalid or illegal string was specified.');\n }\n _positionAlign = setting;\n this.hasBeenReset = true;\n }\n }));\n Object.defineProperty(cue, 'size', extend({}, baseObj, {\n get: function get() {\n return _size;\n },\n set: function set(value) {\n if (value < 0 || value > 100) {\n throw new Error('Size must be between 0 and 100.');\n }\n _size = value;\n this.hasBeenReset = true;\n }\n }));\n Object.defineProperty(cue, 'align', extend({}, baseObj, {\n get: function get() {\n return _align;\n },\n set: function set(value) {\n var setting = findAlignSetting(value);\n if (!setting) {\n throw new SyntaxError('An invalid or illegal string was specified.');\n }\n _align = setting;\n this.hasBeenReset = true;\n }\n }));\n\n /**\n * Other <track> spec defined properties\n */\n\n // http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#text-track-cue-display-state\n cue.displayState = undefined;\n }\n\n /**\n * VTTCue methods\n */\n\n VTTCue.prototype.getCueAsHTML = function () {\n // Assume WebVTT.convertCueToDOMTree is on the global.\n var WebVTT = self.WebVTT;\n return WebVTT.convertCueToDOMTree(self, this.text);\n };\n // this is a polyfill hack\n return VTTCue;\n })();\n\n /*\n * Source: https://github.com/mozilla/vtt.js/blob/master/dist/vtt.js\n */\n\n var StringDecoder = /*#__PURE__*/function () {\n function StringDecoder() {}\n var _proto = StringDecoder.prototype;\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n _proto.decode = function decode(data, options) {\n if (!data) {\n return '';\n }\n if (typeof data !== 'string') {\n throw new Error('Error - expected string data.');\n }\n return decodeURIComponent(encodeURIComponent(data));\n };\n return StringDecoder;\n }(); // Try to parse input as a time stamp.\n function parseTimeStamp(input) {\n function computeSeconds(h, m, s, f) {\n return (h | 0) * 3600 + (m | 0) * 60 + (s | 0) + parseFloat(f || 0);\n }\n var m = input.match(/^(?:(\\d+):)?(\\d{2}):(\\d{2})(\\.\\d+)?/);\n if (!m) {\n return null;\n }\n if (parseFloat(m[2]) > 59) {\n // Timestamp takes the form of [hours]:[minutes].[milliseconds]\n // First position is hours as it's over 59.\n return computeSeconds(m[2], m[3], 0, m[4]);\n }\n // Timestamp takes the form of [hours (optional)]:[minutes]:[seconds].[milliseconds]\n return computeSeconds(m[1], m[2], m[3], m[4]);\n }\n\n // A settings object holds key/value pairs and will ignore anything but the first\n // assignment to a specific key.\n var Settings = /*#__PURE__*/function () {\n function Settings() {\n this.values = Object.create(null);\n }\n var _proto2 = Settings.prototype;\n // Only accept the first assignment to any key.\n _proto2.set = function set(k, v) {\n if (!this.get(k) && v !== '') {\n this.values[k] = v;\n }\n }\n // Return the value for a key, or a default value.\n // If 'defaultKey' is passed then 'dflt' is assumed to be an object with\n // a number of possible default values as properties where 'defaultKey' is\n // the key of the property that will be chosen; otherwise it's assumed to be\n // a single value.\n ;\n _proto2.get = function get(k, dflt, defaultKey) {\n if (defaultKey) {\n return this.has(k) ? this.values[k] : dflt[defaultKey];\n }\n return this.has(k) ? this.values[k] : dflt;\n }\n // Check whether we have a value for a key.\n ;\n _proto2.has = function has(k) {\n return k in this.values;\n }\n // Accept a setting if its one of the given alternatives.\n ;\n _proto2.alt = function alt(k, v, a) {\n for (var n = 0; n < a.length; ++n) {\n if (v === a[n]) {\n this.set(k, v);\n break;\n }\n }\n }\n // Accept a setting if its a valid (signed) integer.\n ;\n _proto2.integer = function integer(k, v) {\n if (/^-?\\d+$/.test(v)) {\n // integer\n this.set(k, parseInt(v, 10));\n }\n }\n // Accept a setting if its a valid percentage.\n ;\n _proto2.percent = function percent(k, v) {\n if (/^([\\d]{1,3})(\\.[\\d]*)?%$/.test(v)) {\n var percent = parseFloat(v);\n if (percent >= 0 && percent <= 100) {\n this.set(k, percent);\n return true;\n }\n }\n return false;\n };\n return Settings;\n }(); // Helper function to parse input into groups separated by 'groupDelim', and\n // interpret each group as a key/value pair separated by 'keyValueDelim'.\n function parseOptions(input, callback, keyValueDelim, groupDelim) {\n var groups = groupDelim ? input.split(groupDelim) : [input];\n for (var i in groups) {\n if (typeof groups[i] !== 'string') {\n continue;\n }\n var kv = groups[i].split(keyValueDelim);\n if (kv.length !== 2) {\n continue;\n }\n var _k = kv[0];\n var _v = kv[1];\n callback(_k, _v);\n }\n }\n var defaults = new VTTCue(0, 0, '');\n // 'middle' was changed to 'center' in the spec: https://github.com/w3c/webvtt/pull/244\n // Safari doesn't yet support this change, but FF and Chrome do.\n var center = defaults.align === 'middle' ? 'middle' : 'center';\n function parseCue(input, cue, regionList) {\n // Remember the original input if we need to throw an error.\n var oInput = input;\n // 4.1 WebVTT timestamp\n function consumeTimeStamp() {\n var ts = parseTimeStamp(input);\n if (ts === null) {\n throw new Error('Malformed timestamp: ' + oInput);\n }\n\n // Remove time stamp from input.\n input = input.replace(/^[^\\sa-zA-Z-]+/, '');\n return ts;\n }\n\n // 4.4.2 WebVTT cue settings\n function consumeCueSettings(input, cue) {\n var settings = new Settings();\n parseOptions(input, function (k, v) {\n var vals;\n switch (k) {\n case 'region':\n // Find the last region we parsed with the same region id.\n for (var i = regionList.length - 1; i >= 0; i--) {\n if (regionList[i].id === v) {\n settings.set(k, regionList[i].region);\n break;\n }\n }\n break;\n case 'vertical':\n settings.alt(k, v, ['rl', 'lr']);\n break;\n case 'line':\n vals = v.split(',');\n settings.integer(k, vals[0]);\n if (settings.percent(k, vals[0])) {\n settings.set('snapToLines', false);\n }\n settings.alt(k, vals[0], ['auto']);\n if (vals.length === 2) {\n settings.alt('lineAlign', vals[1], ['start', center, 'end']);\n }\n break;\n case 'position':\n vals = v.split(',');\n settings.percent(k, vals[0]);\n if (vals.length === 2) {\n settings.alt('positionAlign', vals[1], ['start', center, 'end', 'line-left', 'line-right', 'auto']);\n }\n break;\n case 'size':\n settings.percent(k, v);\n break;\n case 'align':\n settings.alt(k, v, ['start', center, 'end', 'left', 'right']);\n break;\n }\n }, /:/, /\\s/);\n\n // Apply default values for any missing fields.\n cue.region = settings.get('region', null);\n cue.vertical = settings.get('vertical', '');\n var line = settings.get('line', 'auto');\n if (line === 'auto' && defaults.line === -1) {\n // set numeric line number for Safari\n line = -1;\n }\n cue.line = line;\n cue.lineAlign = settings.get('lineAlign', 'start');\n cue.snapToLines = settings.get('snapToLines', true);\n cue.size = settings.get('size', 100);\n cue.align = settings.get('align', center);\n var position = settings.get('position', 'auto');\n if (position === 'auto' && defaults.position === 50) {\n // set numeric position for Safari\n position = cue.align === 'start' || cue.align === 'left' ? 0 : cue.align === 'end' || cue.align === 'right' ? 100 : 50;\n }\n cue.position = position;\n }\n function skipWhitespace() {\n input = input.replace(/^\\s+/, '');\n }\n\n // 4.1 WebVTT cue timings.\n skipWhitespace();\n cue.startTime = consumeTimeStamp(); // (1) collect cue start time\n skipWhitespace();\n if (input.slice(0, 3) !== '-->') {\n // (3) next characters must match '-->'\n throw new Error(\"Malformed time stamp (time stamps must be separated by '-->'): \" + oInput);\n }\n input = input.slice(3);\n skipWhitespace();\n cue.endTime = consumeTimeStamp(); // (5) collect cue end time\n\n // 4.1 WebVTT cue settings list.\n skipWhitespace();\n consumeCueSettings(input, cue);\n }\n function fixLineBreaks(input) {\n return input.replace(/<br(?: \\/)?>/gi, '\\n');\n }\n var VTTParser = /*#__PURE__*/function () {\n function VTTParser() {\n this.state = 'INITIAL';\n this.buffer = '';\n this.decoder = new StringDecoder();\n this.regionList = [];\n this.cue = null;\n this.oncue = void 0;\n this.onparsingerror = void 0;\n this.onflush = void 0;\n }\n var _proto3 = VTTParser.prototype;\n _proto3.parse = function parse(data) {\n var _this = this;\n\n // If there is no data then we won't decode it, but will just try to parse\n // whatever is in buffer already. This may occur in circumstances, for\n // example when flush() is called.\n if (data) {\n // Try to decode the data that we received.\n _this.buffer += _this.decoder.decode(data, {\n stream: true\n });\n }\n function collectNextLine() {\n var buffer = _this.buffer;\n var pos = 0;\n buffer = fixLineBreaks(buffer);\n while (pos < buffer.length && buffer[pos] !== '\\r' && buffer[pos] !== '\\n') {\n ++pos;\n }\n var line = buffer.slice(0, pos);\n // Advance the buffer early in case we fail below.\n if (buffer[pos] === '\\r') {\n ++pos;\n }\n if (buffer[pos] === '\\n') {\n ++pos;\n }\n _this.buffer = buffer.slice(pos);\n return line;\n }\n\n // 3.2 WebVTT metadata header syntax\n function parseHeader(input) {\n parseOptions(input, function (k, v) {\n // switch (k) {\n // case 'region':\n // 3.3 WebVTT region metadata header syntax\n // console.log('parse region', v);\n // parseRegion(v);\n // break;\n // }\n }, /:/);\n }\n\n // 5.1 WebVTT file parsing.\n try {\n var line = '';\n if (_this.state === 'INITIAL') {\n // We can't start parsing until we have the first line.\n if (!/\\r\\n|\\n/.test(_this.buffer)) {\n return this;\n }\n line = collectNextLine();\n // strip of UTF-8 BOM if any\n // https://en.wikipedia.org/wiki/Byte_order_mark#UTF-8\n var m = line.match(/^()?WEBVTT([ \\t].*)?$/);\n if (!(m != null && m[0])) {\n throw new Error('Malformed WebVTT signature.');\n }\n _this.state = 'HEADER';\n }\n var alreadyCollectedLine = false;\n while (_this.buffer) {\n // We can't parse a line until we have the full line.\n if (!/\\r\\n|\\n/.test(_this.buffer)) {\n return this;\n }\n if (!alreadyCollectedLine) {\n line = collectNextLine();\n } else {\n alreadyCollectedLine = false;\n }\n switch (_this.state) {\n case 'HEADER':\n // 13-18 - Allow a header (metadata) under the WEBVTT line.\n if (/:/.test(line)) {\n parseHeader(line);\n } else if (!line) {\n // An empty line terminates the header and starts the body (cues).\n _this.state = 'ID';\n }\n continue;\n case 'NOTE':\n // Ignore NOTE blocks.\n if (!line) {\n _this.state = 'ID';\n }\n continue;\n case 'ID':\n // Check for the start of NOTE blocks.\n if (/^NOTE($|[ \\t])/.test(line)) {\n _this.state = 'NOTE';\n break;\n }\n // 19-29 - Allow any number of line terminators, then initialize new cue values.\n if (!line) {\n continue;\n }\n _this.cue = new VTTCue(0, 0, '');\n _this.state = 'CUE';\n // 30-39 - Check if self line contains an optional identifier or timing data.\n if (line.indexOf('-->') === -1) {\n _this.cue.id = line;\n continue;\n }\n // Process line as start of a cue.\n /* falls through */\n case 'CUE':\n // 40 - Collect cue timings and settings.\n if (!_this.cue) {\n _this.state = 'BADCUE';\n continue;\n }\n try {\n parseCue(line, _this.cue, _this.regionList);\n } catch (e) {\n // In case of an error ignore rest of the cue.\n _this.cue = null;\n _this.state = 'BADCUE';\n continue;\n }\n _this.state = 'CUETEXT';\n continue;\n case 'CUETEXT':\n {\n var hasSubstring = line.indexOf('-->') !== -1;\n // 34 - If we have an empty line then report the cue.\n // 35 - If we have the special substring '-->' then report the cue,\n // but do not collect the line as we need to process the current\n // one as a new cue.\n if (!line || hasSubstring && (alreadyCollectedLine = true)) {\n // We are done parsing self cue.\n if (_this.oncue && _this.cue) {\n _this.oncue(_this.cue);\n }\n _this.cue = null;\n _this.state = 'ID';\n continue;\n }\n if (_this.cue === null) {\n continue;\n }\n if (_this.cue.text) {\n _this.cue.text += '\\n';\n }\n _this.cue.text += line;\n }\n continue;\n case 'BADCUE':\n // 54-62 - Collect and discard the remaining cue.\n if (!line) {\n _this.state = 'ID';\n }\n }\n }\n } catch (e) {\n // If we are currently parsing a cue, report what we have.\n if (_this.state === 'CUETEXT' && _this.cue && _this.oncue) {\n _this.oncue(_this.cue);\n }\n _this.cue = null;\n // Enter BADWEBVTT state if header was not parsed correctly otherwise\n // another exception occurred so enter BADCUE state.\n _this.state = _this.state === 'INITIAL' ? 'BADWEBVTT' : 'BADCUE';\n }\n return this;\n };\n _proto3.flush = function flush() {\n var _this = this;\n try {\n // Finish decoding the stream.\n // _this.buffer += _this.decoder.decode();\n // Synthesize the end of the current cue or region.\n if (_this.cue || _this.state === 'HEADER') {\n _this.buffer += '\\n\\n';\n _this.parse();\n }\n // If we've flushed, parsed, and we're still on the INITIAL state then\n // that means we don't have enough of the stream to parse the first\n // line.\n if (_this.state === 'INITIAL' || _this.state === 'BADWEBVTT') {\n throw new Error('Malformed WebVTT signature.');\n }\n } catch (e) {\n if (_this.onparsingerror) {\n _this.onparsingerror(e);\n }\n }\n if (_this.onflush) {\n _this.onflush();\n }\n return this;\n };\n return VTTParser;\n }();\n\n var LINEBREAKS = /\\r\\n|\\n\\r|\\n|\\r/g;\n\n // String.prototype.startsWith is not supported in IE11\n var startsWith = function startsWith(inputString, searchString, position) {\n if (position === void 0) {\n position = 0;\n }\n return inputString.slice(position, position + searchString.length) === searchString;\n };\n var cueString2millis = function cueString2millis(timeString) {\n var ts = parseInt(timeString.slice(-3));\n var secs = parseInt(timeString.slice(-6, -4));\n var mins = parseInt(timeString.slice(-9, -7));\n var hours = timeString.length > 9 ? parseInt(timeString.substring(0, timeString.indexOf(':'))) : 0;\n if (!isFiniteNumber(ts) || !isFiniteNumber(secs) || !isFiniteNumber(mins) || !isFiniteNumber(hours)) {\n throw Error(\"Malformed X-TIMESTAMP-MAP: Local:\" + timeString);\n }\n ts += 1000 * secs;\n ts += 60 * 1000 * mins;\n ts += 60 * 60 * 1000 * hours;\n return ts;\n };\n\n // From https://github.com/darkskyapp/string-hash\n var hash = function hash(text) {\n var hash = 5381;\n var i = text.length;\n while (i) {\n hash = hash * 33 ^ text.charCodeAt(--i);\n }\n return (hash >>> 0).toString();\n };\n\n // Create a unique hash id for a cue based on start/end times and text.\n // This helps timeline-controller to avoid showing repeated captions.\n function generateCueId(startTime, endTime, text) {\n return hash(startTime.toString()) + hash(endTime.toString()) + hash(text);\n }\n var calculateOffset = function calculateOffset(vttCCs, cc, presentationTime) {\n var currCC = vttCCs[cc];\n var prevCC = vttCCs[currCC.prevCC];\n\n // This is the first discontinuity or cues have been processed since the last discontinuity\n // Offset = current discontinuity time\n if (!prevCC || !prevCC.new && currCC.new) {\n vttCCs.ccOffset = vttCCs.presentationOffset = currCC.start;\n currCC.new = false;\n return;\n }\n\n // There have been discontinuities since cues were last parsed.\n // Offset = time elapsed\n while ((_prevCC = prevCC) != null && _prevCC.new) {\n var _prevCC;\n vttCCs.ccOffset += currCC.start - prevCC.start;\n currCC.new = false;\n currCC = prevCC;\n prevCC = vttCCs[currCC.prevCC];\n }\n vttCCs.presentationOffset = presentationTime;\n };\n function parseWebVTT(vttByteArray, initPTS, vttCCs, cc, timeOffset, callBack, errorCallBack) {\n var parser = new VTTParser();\n // Convert byteArray into string, replacing any somewhat exotic linefeeds with \"\\n\", then split on that character.\n // Uint8Array.prototype.reduce is not implemented in IE11\n var vttLines = utf8ArrayToStr(new Uint8Array(vttByteArray)).trim().replace(LINEBREAKS, '\\n').split('\\n');\n var cues = [];\n var init90kHz = initPTS ? toMpegTsClockFromTimescale(initPTS.baseTime, initPTS.timescale) : 0;\n var cueTime = '00:00.000';\n var timestampMapMPEGTS = 0;\n var timestampMapLOCAL = 0;\n var parsingError;\n var inHeader = true;\n parser.oncue = function (cue) {\n // Adjust cue timing; clamp cues to start no earlier than - and drop cues that don't end after - 0 on timeline.\n var currCC = vttCCs[cc];\n var cueOffset = vttCCs.ccOffset;\n\n // Calculate subtitle PTS offset\n var webVttMpegTsMapOffset = (timestampMapMPEGTS - init90kHz) / 90000;\n\n // Update offsets for new discontinuities\n if (currCC != null && currCC.new) {\n if (timestampMapLOCAL !== undefined) {\n // When local time is provided, offset = discontinuity start time - local time\n cueOffset = vttCCs.ccOffset = currCC.start;\n } else {\n calculateOffset(vttCCs, cc, webVttMpegTsMapOffset);\n }\n }\n if (webVttMpegTsMapOffset) {\n if (!initPTS) {\n parsingError = new Error('Missing initPTS for VTT MPEGTS');\n return;\n }\n // If we have MPEGTS, offset = presentation time + discontinuity offset\n cueOffset = webVttMpegTsMapOffset - vttCCs.presentationOffset;\n }\n var duration = cue.endTime - cue.startTime;\n var startTime = normalizePts((cue.startTime + cueOffset - timestampMapLOCAL) * 90000, timeOffset * 90000) / 90000;\n cue.startTime = Math.max(startTime, 0);\n cue.endTime = Math.max(startTime + duration, 0);\n\n //trim trailing webvtt block whitespaces\n var text = cue.text.trim();\n\n // Fix encoding of special characters\n cue.text = decodeURIComponent(encodeURIComponent(text));\n\n // If the cue was not assigned an id from the VTT file (line above the content), create one.\n if (!cue.id) {\n cue.id = generateCueId(cue.startTime, cue.endTime, text);\n }\n if (cue.endTime > 0) {\n cues.push(cue);\n }\n };\n parser.onparsingerror = function (error) {\n parsingError = error;\n };\n parser.onflush = function () {\n if (parsingError) {\n errorCallBack(parsingError);\n return;\n }\n callBack(cues);\n };\n\n // Go through contents line by line.\n vttLines.forEach(function (line) {\n if (inHeader) {\n // Look for X-TIMESTAMP-MAP in header.\n if (startsWith(line, 'X-TIMESTAMP-MAP=')) {\n // Once found, no more are allowed anyway, so stop searching.\n inHeader = false;\n // Extract LOCAL and MPEGTS.\n line.slice(16).split(',').forEach(function (timestamp) {\n if (startsWith(timestamp, 'LOCAL:')) {\n cueTime = timestamp.slice(6);\n } else if (startsWith(timestamp, 'MPEGTS:')) {\n timestampMapMPEGTS = parseInt(timestamp.slice(7));\n }\n });\n try {\n // Convert cue time to seconds\n timestampMapLOCAL = cueString2millis(cueTime) / 1000;\n } catch (error) {\n parsingError = error;\n }\n // Return without parsing X-TIMESTAMP-MAP line.\n return;\n } else if (line === '') {\n inHeader = false;\n }\n }\n // Parse line by default.\n parser.parse(line + '\\n');\n });\n parser.flush();\n }\n\n var IMSC1_CODEC = 'stpp.ttml.im1t';\n\n // Time format: h:m:s:frames(.subframes)\n var HMSF_REGEX = /^(\\d{2,}):(\\d{2}):(\\d{2}):(\\d{2})\\.?(\\d+)?$/;\n\n // Time format: hours, minutes, seconds, milliseconds, frames, ticks\n var TIME_UNIT_REGEX = /^(\\d*(?:\\.\\d*)?)(h|m|s|ms|f|t)$/;\n var textAlignToLineAlign = {\n left: 'start',\n center: 'center',\n right: 'end',\n start: 'start',\n end: 'end'\n };\n function parseIMSC1(payload, initPTS, callBack, errorCallBack) {\n var results = findBox(new Uint8Array(payload), ['mdat']);\n if (results.length === 0) {\n errorCallBack(new Error('Could not parse IMSC1 mdat'));\n return;\n }\n var ttmlList = results.map(function (mdat) {\n return utf8ArrayToStr(mdat);\n });\n var syncTime = toTimescaleFromScale(initPTS.baseTime, 1, initPTS.timescale);\n try {\n ttmlList.forEach(function (ttml) {\n return callBack(parseTTML(ttml, syncTime));\n });\n } catch (error) {\n errorCallBack(error);\n }\n }\n function parseTTML(ttml, syncTime) {\n var parser = new DOMParser();\n var xmlDoc = parser.parseFromString(ttml, 'text/xml');\n var tt = xmlDoc.getElementsByTagName('tt')[0];\n if (!tt) {\n throw new Error('Invalid ttml');\n }\n var defaultRateInfo = {\n frameRate: 30,\n subFrameRate: 1,\n frameRateMultiplier: 0,\n tickRate: 0\n };\n var rateInfo = Object.keys(defaultRateInfo).reduce(function (result, key) {\n result[key] = tt.getAttribute(\"ttp:\" + key) || defaultRateInfo[key];\n return result;\n }, {});\n var trim = tt.getAttribute('xml:space') !== 'preserve';\n var styleElements = collectionToDictionary(getElementCollection(tt, 'styling', 'style'));\n var regionElements = collectionToDictionary(getElementCollection(tt, 'layout', 'region'));\n var cueElements = getElementCollection(tt, 'body', '[begin]');\n return [].map.call(cueElements, function (cueElement) {\n var cueText = getTextContent(cueElement, trim);\n if (!cueText || !cueElement.hasAttribute('begin')) {\n return null;\n }\n var startTime = parseTtmlTime(cueElement.getAttribute('begin'), rateInfo);\n var duration = parseTtmlTime(cueElement.getAttribute('dur'), rateInfo);\n var endTime = parseTtmlTime(cueElement.getAttribute('end'), rateInfo);\n if (startTime === null) {\n throw timestampParsingError(cueElement);\n }\n if (endTime === null) {\n if (duration === null) {\n throw timestampParsingError(cueElement);\n }\n endTime = startTime + duration;\n }\n var cue = new VTTCue(startTime - syncTime, endTime - syncTime, cueText);\n cue.id = generateCueId(cue.startTime, cue.endTime, cue.text);\n var region = regionElements[cueElement.getAttribute('region')];\n var style = styleElements[cueElement.getAttribute('style')];\n\n // Apply styles to cue\n var styles = getTtmlStyles(region, style, styleElements);\n var textAlign = styles.textAlign;\n if (textAlign) {\n // cue.positionAlign not settable in FF~2016\n var lineAlign = textAlignToLineAlign[textAlign];\n if (lineAlign) {\n cue.lineAlign = lineAlign;\n }\n cue.align = textAlign;\n }\n _extends(cue, styles);\n return cue;\n }).filter(function (cue) {\n return cue !== null;\n });\n }\n function getElementCollection(fromElement, parentName, childName) {\n var parent = fromElement.getElementsByTagName(parentName)[0];\n if (parent) {\n return [].slice.call(parent.querySelectorAll(childName));\n }\n return [];\n }\n function collectionToDictionary(elementsWithId) {\n return elementsWithId.reduce(function (dict, element) {\n var id = element.getAttribute('xml:id');\n if (id) {\n dict[id] = element;\n }\n return dict;\n }, {});\n }\n function getTextContent(element, trim) {\n return [].slice.call(element.childNodes).reduce(function (str, node, i) {\n var _node$childNodes;\n if (node.nodeName === 'br' && i) {\n return str + '\\n';\n }\n if ((_node$childNodes = node.childNodes) != null && _node$childNodes.length) {\n return getTextContent(node, trim);\n } else if (trim) {\n return str + node.textContent.trim().replace(/\\s+/g, ' ');\n }\n return str + node.textContent;\n }, '');\n }\n function getTtmlStyles(region, style, styleElements) {\n var ttsNs = 'http://www.w3.org/ns/ttml#styling';\n var regionStyle = null;\n var styleAttributes = ['displayAlign', 'textAlign', 'color', 'backgroundColor', 'fontSize', 'fontFamily'\n // 'fontWeight',\n // 'lineHeight',\n // 'wrapOption',\n // 'fontStyle',\n // 'direction',\n // 'writingMode'\n ];\n var regionStyleName = region != null && region.hasAttribute('style') ? region.getAttribute('style') : null;\n if (regionStyleName && styleElements.hasOwnProperty(regionStyleName)) {\n regionStyle = styleElements[regionStyleName];\n }\n return styleAttributes.reduce(function (styles, name) {\n var value = getAttributeNS(style, ttsNs, name) || getAttributeNS(region, ttsNs, name) || getAttributeNS(regionStyle, ttsNs, name);\n if (value) {\n styles[name] = value;\n }\n return styles;\n }, {});\n }\n function getAttributeNS(element, ns, name) {\n if (!element) {\n return null;\n }\n return element.hasAttributeNS(ns, name) ? element.getAttributeNS(ns, name) : null;\n }\n function timestampParsingError(node) {\n return new Error(\"Could not parse ttml timestamp \" + node);\n }\n function parseTtmlTime(timeAttributeValue, rateInfo) {\n if (!timeAttributeValue) {\n return null;\n }\n var seconds = parseTimeStamp(timeAttributeValue);\n if (seconds === null) {\n if (HMSF_REGEX.test(timeAttributeValue)) {\n seconds = parseHoursMinutesSecondsFrames(timeAttributeValue, rateInfo);\n } else if (TIME_UNIT_REGEX.test(timeAttributeValue)) {\n seconds = parseTimeUnits(timeAttributeValue, rateInfo);\n }\n }\n return seconds;\n }\n function parseHoursMinutesSecondsFrames(timeAttributeValue, rateInfo) {\n var m = HMSF_REGEX.exec(timeAttributeValue);\n var frames = (m[4] | 0) + (m[5] | 0) / rateInfo.subFrameRate;\n return (m[1] | 0) * 3600 + (m[2] | 0) * 60 + (m[3] | 0) + frames / rateInfo.frameRate;\n }\n function parseTimeUnits(timeAttributeValue, rateInfo) {\n var m = TIME_UNIT_REGEX.exec(timeAttributeValue);\n var value = Number(m[1]);\n var unit = m[2];\n switch (unit) {\n case 'h':\n return value * 3600;\n case 'm':\n return value * 60;\n case 'ms':\n return value * 1000;\n case 'f':\n return value / rateInfo.frameRate;\n case 't':\n return value / rateInfo.tickRate;\n }\n return value;\n }\n\n var TimelineController = /*#__PURE__*/function () {\n function TimelineController(hls) {\n this.hls = void 0;\n this.media = null;\n this.config = void 0;\n this.enabled = true;\n this.Cues = void 0;\n this.textTracks = [];\n this.tracks = [];\n this.initPTS = [];\n this.unparsedVttFrags = [];\n this.captionsTracks = {};\n this.nonNativeCaptionsTracks = {};\n this.cea608Parser1 = void 0;\n this.cea608Parser2 = void 0;\n this.lastCc = -1;\n // Last video (CEA-608) fragment CC\n this.lastSn = -1;\n // Last video (CEA-608) fragment MSN\n this.lastPartIndex = -1;\n // Last video (CEA-608) fragment Part Index\n this.prevCC = -1;\n // Last subtitle fragment CC\n this.vttCCs = newVTTCCs();\n this.captionsProperties = void 0;\n this.hls = hls;\n this.config = hls.config;\n this.Cues = hls.config.cueHandler;\n this.captionsProperties = {\n textTrack1: {\n label: this.config.captionsTextTrack1Label,\n languageCode: this.config.captionsTextTrack1LanguageCode\n },\n textTrack2: {\n label: this.config.captionsTextTrack2Label,\n languageCode: this.config.captionsTextTrack2LanguageCode\n },\n textTrack3: {\n label: this.config.captionsTextTrack3Label,\n languageCode: this.config.captionsTextTrack3LanguageCode\n },\n textTrack4: {\n label: this.config.captionsTextTrack4Label,\n languageCode: this.config.captionsTextTrack4LanguageCode\n }\n };\n hls.on(Events.MEDIA_ATTACHING, this.onMediaAttaching, this);\n hls.on(Events.MEDIA_DETACHING, this.onMediaDetaching, this);\n hls.on(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.on(Events.MANIFEST_LOADED, this.onManifestLoaded, this);\n hls.on(Events.SUBTITLE_TRACKS_UPDATED, this.onSubtitleTracksUpdated, this);\n hls.on(Events.FRAG_LOADING, this.onFragLoading, this);\n hls.on(Events.FRAG_LOADED, this.onFragLoaded, this);\n hls.on(Events.FRAG_PARSING_USERDATA, this.onFragParsingUserdata, this);\n hls.on(Events.FRAG_DECRYPTED, this.onFragDecrypted, this);\n hls.on(Events.INIT_PTS_FOUND, this.onInitPtsFound, this);\n hls.on(Events.SUBTITLE_TRACKS_CLEARED, this.onSubtitleTracksCleared, this);\n hls.on(Events.BUFFER_FLUSHING, this.onBufferFlushing, this);\n }\n var _proto = TimelineController.prototype;\n _proto.destroy = function destroy() {\n var hls = this.hls;\n hls.off(Events.MEDIA_ATTACHING, this.onMediaAttaching, this);\n hls.off(Events.MEDIA_DETACHING, this.onMediaDetaching, this);\n hls.off(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.off(Events.MANIFEST_LOADED, this.onManifestLoaded, this);\n hls.off(Events.SUBTITLE_TRACKS_UPDATED, this.onSubtitleTracksUpdated, this);\n hls.off(Events.FRAG_LOADING, this.onFragLoading, this);\n hls.off(Events.FRAG_LOADED, this.onFragLoaded, this);\n hls.off(Events.FRAG_PARSING_USERDATA, this.onFragParsingUserdata, this);\n hls.off(Events.FRAG_DECRYPTED, this.onFragDecrypted, this);\n hls.off(Events.INIT_PTS_FOUND, this.onInitPtsFound, this);\n hls.off(Events.SUBTITLE_TRACKS_CLEARED, this.onSubtitleTracksCleared, this);\n hls.off(Events.BUFFER_FLUSHING, this.onBufferFlushing, this);\n // @ts-ignore\n this.hls = this.config = null;\n this.cea608Parser1 = this.cea608Parser2 = undefined;\n };\n _proto.initCea608Parsers = function initCea608Parsers() {\n if (this.config.enableCEA708Captions && (!this.cea608Parser1 || !this.cea608Parser2)) {\n var channel1 = new OutputFilter(this, 'textTrack1');\n var channel2 = new OutputFilter(this, 'textTrack2');\n var channel3 = new OutputFilter(this, 'textTrack3');\n var channel4 = new OutputFilter(this, 'textTrack4');\n this.cea608Parser1 = new Cea608Parser(1, channel1, channel2);\n this.cea608Parser2 = new Cea608Parser(3, channel3, channel4);\n }\n };\n _proto.addCues = function addCues(trackName, startTime, endTime, screen, cueRanges) {\n // skip cues which overlap more than 50% with previously parsed time ranges\n var merged = false;\n for (var i = cueRanges.length; i--;) {\n var cueRange = cueRanges[i];\n var overlap = intersection(cueRange[0], cueRange[1], startTime, endTime);\n if (overlap >= 0) {\n cueRange[0] = Math.min(cueRange[0], startTime);\n cueRange[1] = Math.max(cueRange[1], endTime);\n merged = true;\n if (overlap / (endTime - startTime) > 0.5) {\n return;\n }\n }\n }\n if (!merged) {\n cueRanges.push([startTime, endTime]);\n }\n if (this.config.renderTextTracksNatively) {\n var track = this.captionsTracks[trackName];\n this.Cues.newCue(track, startTime, endTime, screen);\n } else {\n var cues = this.Cues.newCue(null, startTime, endTime, screen);\n this.hls.trigger(Events.CUES_PARSED, {\n type: 'captions',\n cues: cues,\n track: trackName\n });\n }\n }\n\n // Triggered when an initial PTS is found; used for synchronisation of WebVTT.\n ;\n _proto.onInitPtsFound = function onInitPtsFound(event, _ref) {\n var _this = this;\n var frag = _ref.frag,\n id = _ref.id,\n initPTS = _ref.initPTS,\n timescale = _ref.timescale;\n var unparsedVttFrags = this.unparsedVttFrags;\n if (id === 'main') {\n this.initPTS[frag.cc] = {\n baseTime: initPTS,\n timescale: timescale\n };\n }\n\n // Due to asynchronous processing, initial PTS may arrive later than the first VTT fragments are loaded.\n // Parse any unparsed fragments upon receiving the initial PTS.\n if (unparsedVttFrags.length) {\n this.unparsedVttFrags = [];\n unparsedVttFrags.forEach(function (frag) {\n _this.onFragLoaded(Events.FRAG_LOADED, frag);\n });\n }\n };\n _proto.getExistingTrack = function getExistingTrack(label, language) {\n var media = this.media;\n if (media) {\n for (var i = 0; i < media.textTracks.length; i++) {\n var textTrack = media.textTracks[i];\n if (canReuseVttTextTrack(textTrack, {\n name: label,\n lang: language,\n attrs: {}\n })) {\n return textTrack;\n }\n }\n }\n return null;\n };\n _proto.createCaptionsTrack = function createCaptionsTrack(trackName) {\n if (this.config.renderTextTracksNatively) {\n this.createNativeTrack(trackName);\n } else {\n this.createNonNativeTrack(trackName);\n }\n };\n _proto.createNativeTrack = function createNativeTrack(trackName) {\n if (this.captionsTracks[trackName]) {\n return;\n }\n var captionsProperties = this.captionsProperties,\n captionsTracks = this.captionsTracks,\n media = this.media;\n var _captionsProperties$t = captionsProperties[trackName],\n label = _captionsProperties$t.label,\n languageCode = _captionsProperties$t.languageCode;\n // Enable reuse of existing text track.\n var existingTrack = this.getExistingTrack(label, languageCode);\n if (!existingTrack) {\n var textTrack = this.createTextTrack('captions', label, languageCode);\n if (textTrack) {\n // Set a special property on the track so we know it's managed by Hls.js\n textTrack[trackName] = true;\n captionsTracks[trackName] = textTrack;\n }\n } else {\n captionsTracks[trackName] = existingTrack;\n clearCurrentCues(captionsTracks[trackName]);\n sendAddTrackEvent(captionsTracks[trackName], media);\n }\n };\n _proto.createNonNativeTrack = function createNonNativeTrack(trackName) {\n if (this.nonNativeCaptionsTracks[trackName]) {\n return;\n }\n // Create a list of a single track for the provider to consume\n var trackProperties = this.captionsProperties[trackName];\n if (!trackProperties) {\n return;\n }\n var label = trackProperties.label;\n var track = {\n _id: trackName,\n label: label,\n kind: 'captions',\n default: trackProperties.media ? !!trackProperties.media.default : false,\n closedCaptions: trackProperties.media\n };\n this.nonNativeCaptionsTracks[trackName] = track;\n this.hls.trigger(Events.NON_NATIVE_TEXT_TRACKS_FOUND, {\n tracks: [track]\n });\n };\n _proto.createTextTrack = function createTextTrack(kind, label, lang) {\n var media = this.media;\n if (!media) {\n return;\n }\n return media.addTextTrack(kind, label, lang);\n };\n _proto.onMediaAttaching = function onMediaAttaching(event, data) {\n this.media = data.media;\n this._cleanTracks();\n };\n _proto.onMediaDetaching = function onMediaDetaching() {\n var captionsTracks = this.captionsTracks;\n Object.keys(captionsTracks).forEach(function (trackName) {\n clearCurrentCues(captionsTracks[trackName]);\n delete captionsTracks[trackName];\n });\n this.nonNativeCaptionsTracks = {};\n };\n _proto.onManifestLoading = function onManifestLoading() {\n // Detect discontinuity in video fragment (CEA-608) parsing\n this.lastCc = -1;\n this.lastSn = -1;\n this.lastPartIndex = -1;\n // Detect discontinuity in subtitle manifests\n this.prevCC = -1;\n this.vttCCs = newVTTCCs();\n // Reset tracks\n this._cleanTracks();\n this.tracks = [];\n this.captionsTracks = {};\n this.nonNativeCaptionsTracks = {};\n this.textTracks = [];\n this.unparsedVttFrags = [];\n this.initPTS = [];\n if (this.cea608Parser1 && this.cea608Parser2) {\n this.cea608Parser1.reset();\n this.cea608Parser2.reset();\n }\n };\n _proto._cleanTracks = function _cleanTracks() {\n // clear outdated subtitles\n var media = this.media;\n if (!media) {\n return;\n }\n var textTracks = media.textTracks;\n if (textTracks) {\n for (var i = 0; i < textTracks.length; i++) {\n clearCurrentCues(textTracks[i]);\n }\n }\n };\n _proto.onSubtitleTracksUpdated = function onSubtitleTracksUpdated(event, data) {\n var _this2 = this;\n var tracks = data.subtitleTracks || [];\n var hasIMSC1 = tracks.some(function (track) {\n return track.textCodec === IMSC1_CODEC;\n });\n if (this.config.enableWebVTT || hasIMSC1 && this.config.enableIMSC1) {\n var listIsIdentical = subtitleOptionsIdentical(this.tracks, tracks);\n if (listIsIdentical) {\n this.tracks = tracks;\n return;\n }\n this.textTracks = [];\n this.tracks = tracks;\n if (this.config.renderTextTracksNatively) {\n var media = this.media;\n var inUseTracks = media ? filterSubtitleTracks(media.textTracks) : null;\n this.tracks.forEach(function (track, index) {\n // Reuse tracks with the same label and lang, but do not reuse 608/708 tracks\n var textTrack;\n if (inUseTracks) {\n var inUseTrack = null;\n for (var i = 0; i < inUseTracks.length; i++) {\n if (inUseTracks[i] && canReuseVttTextTrack(inUseTracks[i], track)) {\n inUseTrack = inUseTracks[i];\n inUseTracks[i] = null;\n break;\n }\n }\n if (inUseTrack) {\n textTrack = inUseTrack;\n }\n }\n if (textTrack) {\n clearCurrentCues(textTrack);\n } else {\n var textTrackKind = captionsOrSubtitlesFromCharacteristics(track);\n textTrack = _this2.createTextTrack(textTrackKind, track.name, track.lang);\n if (textTrack) {\n textTrack.mode = 'disabled';\n }\n }\n if (textTrack) {\n _this2.textTracks.push(textTrack);\n }\n });\n // Warn when video element has captions or subtitle TextTracks carried over from another source\n if (inUseTracks != null && inUseTracks.length) {\n var unusedTextTracks = inUseTracks.filter(function (t) {\n return t !== null;\n }).map(function (t) {\n return t.label;\n });\n if (unusedTextTracks.length) {\n logger.warn(\"Media element contains unused subtitle tracks: \" + unusedTextTracks.join(', ') + \". Replace media element for each source to clear TextTracks and captions menu.\");\n }\n }\n } else if (this.tracks.length) {\n // Create a list of tracks for the provider to consume\n var tracksList = this.tracks.map(function (track) {\n return {\n label: track.name,\n kind: track.type.toLowerCase(),\n default: track.default,\n subtitleTrack: track\n };\n });\n this.hls.trigger(Events.NON_NATIVE_TEXT_TRACKS_FOUND, {\n tracks: tracksList\n });\n }\n }\n };\n _proto.onManifestLoaded = function onManifestLoaded(event, data) {\n var _this3 = this;\n if (this.config.enableCEA708Captions && data.captions) {\n data.captions.forEach(function (captionsTrack) {\n var instreamIdMatch = /(?:CC|SERVICE)([1-4])/.exec(captionsTrack.instreamId);\n if (!instreamIdMatch) {\n return;\n }\n var trackName = \"textTrack\" + instreamIdMatch[1];\n var trackProperties = _this3.captionsProperties[trackName];\n if (!trackProperties) {\n return;\n }\n trackProperties.label = captionsTrack.name;\n if (captionsTrack.lang) {\n // optional attribute\n trackProperties.languageCode = captionsTrack.lang;\n }\n trackProperties.media = captionsTrack;\n });\n }\n };\n _proto.closedCaptionsForLevel = function closedCaptionsForLevel(frag) {\n var level = this.hls.levels[frag.level];\n return level == null ? void 0 : level.attrs['CLOSED-CAPTIONS'];\n };\n _proto.onFragLoading = function onFragLoading(event, data) {\n this.initCea608Parsers();\n var cea608Parser1 = this.cea608Parser1,\n cea608Parser2 = this.cea608Parser2,\n lastCc = this.lastCc,\n lastSn = this.lastSn,\n lastPartIndex = this.lastPartIndex;\n if (!this.enabled || !cea608Parser1 || !cea608Parser2) {\n return;\n }\n // if this frag isn't contiguous, clear the parser so cues with bad start/end times aren't added to the textTrack\n if (data.frag.type === PlaylistLevelType.MAIN) {\n var _data$part$index, _data$part;\n var _data$frag = data.frag,\n cc = _data$frag.cc,\n sn = _data$frag.sn;\n var partIndex = (_data$part$index = data == null ? void 0 : (_data$part = data.part) == null ? void 0 : _data$part.index) != null ? _data$part$index : -1;\n if (!(sn === lastSn + 1 || sn === lastSn && partIndex === lastPartIndex + 1 || cc === lastCc)) {\n cea608Parser1.reset();\n cea608Parser2.reset();\n }\n this.lastCc = cc;\n this.lastSn = sn;\n this.lastPartIndex = partIndex;\n }\n };\n _proto.onFragLoaded = function onFragLoaded(event, data) {\n var frag = data.frag,\n payload = data.payload;\n if (frag.type === PlaylistLevelType.SUBTITLE) {\n // If fragment is subtitle type, parse as WebVTT.\n if (payload.byteLength) {\n var decryptData = frag.decryptdata;\n // fragment after decryption has a stats object\n var decrypted = ('stats' in data);\n // If the subtitles are not encrypted, parse VTTs now. Otherwise, we need to wait.\n if (decryptData == null || !decryptData.encrypted || decrypted) {\n var trackPlaylistMedia = this.tracks[frag.level];\n var vttCCs = this.vttCCs;\n if (!vttCCs[frag.cc]) {\n vttCCs[frag.cc] = {\n start: frag.start,\n prevCC: this.prevCC,\n new: true\n };\n this.prevCC = frag.cc;\n }\n if (trackPlaylistMedia && trackPlaylistMedia.textCodec === IMSC1_CODEC) {\n this._parseIMSC1(frag, payload);\n } else {\n this._parseVTTs(data);\n }\n }\n } else {\n // In case there is no payload, finish unsuccessfully.\n this.hls.trigger(Events.SUBTITLE_FRAG_PROCESSED, {\n success: false,\n frag: frag,\n error: new Error('Empty subtitle payload')\n });\n }\n }\n };\n _proto._parseIMSC1 = function _parseIMSC1(frag, payload) {\n var _this4 = this;\n var hls = this.hls;\n parseIMSC1(payload, this.initPTS[frag.cc], function (cues) {\n _this4._appendCues(cues, frag.level);\n hls.trigger(Events.SUBTITLE_FRAG_PROCESSED, {\n success: true,\n frag: frag\n });\n }, function (error) {\n logger.log(\"Failed to parse IMSC1: \" + error);\n hls.trigger(Events.SUBTITLE_FRAG_PROCESSED, {\n success: false,\n frag: frag,\n error: error\n });\n });\n };\n _proto._parseVTTs = function _parseVTTs(data) {\n var _frag$initSegment,\n _this5 = this;\n var frag = data.frag,\n payload = data.payload;\n // We need an initial synchronisation PTS. Store fragments as long as none has arrived\n var initPTS = this.initPTS,\n unparsedVttFrags = this.unparsedVttFrags;\n var maxAvCC = initPTS.length - 1;\n if (!initPTS[frag.cc] && maxAvCC === -1) {\n unparsedVttFrags.push(data);\n return;\n }\n var hls = this.hls;\n // Parse the WebVTT file contents.\n var payloadWebVTT = (_frag$initSegment = frag.initSegment) != null && _frag$initSegment.data ? appendUint8Array(frag.initSegment.data, new Uint8Array(payload)) : payload;\n parseWebVTT(payloadWebVTT, this.initPTS[frag.cc], this.vttCCs, frag.cc, frag.start, function (cues) {\n _this5._appendCues(cues, frag.level);\n hls.trigger(Events.SUBTITLE_FRAG_PROCESSED, {\n success: true,\n frag: frag\n });\n }, function (error) {\n var missingInitPTS = error.message === 'Missing initPTS for VTT MPEGTS';\n if (missingInitPTS) {\n unparsedVttFrags.push(data);\n } else {\n _this5._fallbackToIMSC1(frag, payload);\n }\n // Something went wrong while parsing. Trigger event with success false.\n logger.log(\"Failed to parse VTT cue: \" + error);\n if (missingInitPTS && maxAvCC > frag.cc) {\n return;\n }\n hls.trigger(Events.SUBTITLE_FRAG_PROCESSED, {\n success: false,\n frag: frag,\n error: error\n });\n });\n };\n _proto._fallbackToIMSC1 = function _fallbackToIMSC1(frag, payload) {\n var _this6 = this;\n // If textCodec is unknown, try parsing as IMSC1. Set textCodec based on the result\n var trackPlaylistMedia = this.tracks[frag.level];\n if (!trackPlaylistMedia.textCodec) {\n parseIMSC1(payload, this.initPTS[frag.cc], function () {\n trackPlaylistMedia.textCodec = IMSC1_CODEC;\n _this6._parseIMSC1(frag, payload);\n }, function () {\n trackPlaylistMedia.textCodec = 'wvtt';\n });\n }\n };\n _proto._appendCues = function _appendCues(cues, fragLevel) {\n var hls = this.hls;\n if (this.config.renderTextTracksNatively) {\n var textTrack = this.textTracks[fragLevel];\n // WebVTTParser.parse is an async method and if the currently selected text track mode is set to \"disabled\"\n // before parsing is done then don't try to access currentTrack.cues.getCueById as cues will be null\n // and trying to access getCueById method of cues will throw an exception\n // Because we check if the mode is disabled, we can force check `cues` below. They can't be null.\n if (!textTrack || textTrack.mode === 'disabled') {\n return;\n }\n cues.forEach(function (cue) {\n return addCueToTrack(textTrack, cue);\n });\n } else {\n var currentTrack = this.tracks[fragLevel];\n if (!currentTrack) {\n return;\n }\n var track = currentTrack.default ? 'default' : 'subtitles' + fragLevel;\n hls.trigger(Events.CUES_PARSED, {\n type: 'subtitles',\n cues: cues,\n track: track\n });\n }\n };\n _proto.onFragDecrypted = function onFragDecrypted(event, data) {\n var frag = data.frag;\n if (frag.type === PlaylistLevelType.SUBTITLE) {\n this.onFragLoaded(Events.FRAG_LOADED, data);\n }\n };\n _proto.onSubtitleTracksCleared = function onSubtitleTracksCleared() {\n this.tracks = [];\n this.captionsTracks = {};\n };\n _proto.onFragParsingUserdata = function onFragParsingUserdata(event, data) {\n this.initCea608Parsers();\n var cea608Parser1 = this.cea608Parser1,\n cea608Parser2 = this.cea608Parser2;\n if (!this.enabled || !cea608Parser1 || !cea608Parser2) {\n return;\n }\n var frag = data.frag,\n samples = data.samples;\n if (frag.type === PlaylistLevelType.MAIN && this.closedCaptionsForLevel(frag) === 'NONE') {\n return;\n }\n // If the event contains captions (found in the bytes property), push all bytes into the parser immediately\n // It will create the proper timestamps based on the PTS value\n for (var i = 0; i < samples.length; i++) {\n var ccBytes = samples[i].bytes;\n if (ccBytes) {\n var ccdatas = this.extractCea608Data(ccBytes);\n cea608Parser1.addData(samples[i].pts, ccdatas[0]);\n cea608Parser2.addData(samples[i].pts, ccdatas[1]);\n }\n }\n };\n _proto.onBufferFlushing = function onBufferFlushing(event, _ref2) {\n var startOffset = _ref2.startOffset,\n endOffset = _ref2.endOffset,\n endOffsetSubtitles = _ref2.endOffsetSubtitles,\n type = _ref2.type;\n var media = this.media;\n if (!media || media.currentTime < endOffset) {\n return;\n }\n // Clear 608 caption cues from the captions TextTracks when the video back buffer is flushed\n // Forward cues are never removed because we can loose streamed 608 content from recent fragments\n if (!type || type === 'video') {\n var captionsTracks = this.captionsTracks;\n Object.keys(captionsTracks).forEach(function (trackName) {\n return removeCuesInRange(captionsTracks[trackName], startOffset, endOffset);\n });\n }\n if (this.config.renderTextTracksNatively) {\n // Clear VTT/IMSC1 subtitle cues from the subtitle TextTracks when the back buffer is flushed\n if (startOffset === 0 && endOffsetSubtitles !== undefined) {\n var textTracks = this.textTracks;\n Object.keys(textTracks).forEach(function (trackName) {\n return removeCuesInRange(textTracks[trackName], startOffset, endOffsetSubtitles);\n });\n }\n }\n };\n _proto.extractCea608Data = function extractCea608Data(byteArray) {\n var actualCCBytes = [[], []];\n var count = byteArray[0] & 0x1f;\n var position = 2;\n for (var j = 0; j < count; j++) {\n var tmpByte = byteArray[position++];\n var ccbyte1 = 0x7f & byteArray[position++];\n var ccbyte2 = 0x7f & byteArray[position++];\n if (ccbyte1 === 0 && ccbyte2 === 0) {\n continue;\n }\n var ccValid = (0x04 & tmpByte) !== 0; // Support all four channels\n if (ccValid) {\n var ccType = 0x03 & tmpByte;\n if (0x00 /* CEA608 field1*/ === ccType || 0x01 /* CEA608 field2*/ === ccType) {\n // Exclude CEA708 CC data.\n actualCCBytes[ccType].push(ccbyte1);\n actualCCBytes[ccType].push(ccbyte2);\n }\n }\n }\n return actualCCBytes;\n };\n return TimelineController;\n }();\n function captionsOrSubtitlesFromCharacteristics(track) {\n if (track.characteristics) {\n if (/transcribes-spoken-dialog/gi.test(track.characteristics) && /describes-music-and-sound/gi.test(track.characteristics)) {\n return 'captions';\n }\n }\n return 'subtitles';\n }\n function canReuseVttTextTrack(inUseTrack, manifestTrack) {\n return !!inUseTrack && inUseTrack.kind === captionsOrSubtitlesFromCharacteristics(manifestTrack) && subtitleTrackMatchesTextTrack(manifestTrack, inUseTrack);\n }\n function intersection(x1, x2, y1, y2) {\n return Math.min(x2, y2) - Math.max(x1, y1);\n }\n function newVTTCCs() {\n return {\n ccOffset: 0,\n presentationOffset: 0,\n 0: {\n start: 0,\n prevCC: -1,\n new: true\n }\n };\n }\n\n var CapLevelController = /*#__PURE__*/function () {\n function CapLevelController(hls) {\n this.hls = void 0;\n this.autoLevelCapping = void 0;\n this.firstLevel = void 0;\n this.media = void 0;\n this.restrictedLevels = void 0;\n this.timer = void 0;\n this.clientRect = void 0;\n this.streamController = void 0;\n this.hls = hls;\n this.autoLevelCapping = Number.POSITIVE_INFINITY;\n this.firstLevel = -1;\n this.media = null;\n this.restrictedLevels = [];\n this.timer = undefined;\n this.clientRect = null;\n this.registerListeners();\n }\n var _proto = CapLevelController.prototype;\n _proto.setStreamController = function setStreamController(streamController) {\n this.streamController = streamController;\n };\n _proto.destroy = function destroy() {\n if (this.hls) {\n this.unregisterListener();\n }\n if (this.timer) {\n this.stopCapping();\n }\n this.media = null;\n this.clientRect = null;\n // @ts-ignore\n this.hls = this.streamController = null;\n };\n _proto.registerListeners = function registerListeners() {\n var hls = this.hls;\n hls.on(Events.FPS_DROP_LEVEL_CAPPING, this.onFpsDropLevelCapping, this);\n hls.on(Events.MEDIA_ATTACHING, this.onMediaAttaching, this);\n hls.on(Events.MANIFEST_PARSED, this.onManifestParsed, this);\n hls.on(Events.LEVELS_UPDATED, this.onLevelsUpdated, this);\n hls.on(Events.BUFFER_CODECS, this.onBufferCodecs, this);\n hls.on(Events.MEDIA_DETACHING, this.onMediaDetaching, this);\n };\n _proto.unregisterListener = function unregisterListener() {\n var hls = this.hls;\n hls.off(Events.FPS_DROP_LEVEL_CAPPING, this.onFpsDropLevelCapping, this);\n hls.off(Events.MEDIA_ATTACHING, this.onMediaAttaching, this);\n hls.off(Events.MANIFEST_PARSED, this.onManifestParsed, this);\n hls.off(Events.LEVELS_UPDATED, this.onLevelsUpdated, this);\n hls.off(Events.BUFFER_CODECS, this.onBufferCodecs, this);\n hls.off(Events.MEDIA_DETACHING, this.onMediaDetaching, this);\n };\n _proto.onFpsDropLevelCapping = function onFpsDropLevelCapping(event, data) {\n // Don't add a restricted level more than once\n var level = this.hls.levels[data.droppedLevel];\n if (this.isLevelAllowed(level)) {\n this.restrictedLevels.push({\n bitrate: level.bitrate,\n height: level.height,\n width: level.width\n });\n }\n };\n _proto.onMediaAttaching = function onMediaAttaching(event, data) {\n this.media = data.media instanceof HTMLVideoElement ? data.media : null;\n this.clientRect = null;\n if (this.timer && this.hls.levels.length) {\n this.detectPlayerSize();\n }\n };\n _proto.onManifestParsed = function onManifestParsed(event, data) {\n var hls = this.hls;\n this.restrictedLevels = [];\n this.firstLevel = data.firstLevel;\n if (hls.config.capLevelToPlayerSize && data.video) {\n // Start capping immediately if the manifest has signaled video codecs\n this.startCapping();\n }\n };\n _proto.onLevelsUpdated = function onLevelsUpdated(event, data) {\n if (this.timer && isFiniteNumber(this.autoLevelCapping)) {\n this.detectPlayerSize();\n }\n }\n\n // Only activate capping when playing a video stream; otherwise, multi-bitrate audio-only streams will be restricted\n // to the first level\n ;\n _proto.onBufferCodecs = function onBufferCodecs(event, data) {\n var hls = this.hls;\n if (hls.config.capLevelToPlayerSize && data.video) {\n // If the manifest did not signal a video codec capping has been deferred until we're certain video is present\n this.startCapping();\n }\n };\n _proto.onMediaDetaching = function onMediaDetaching() {\n this.stopCapping();\n };\n _proto.detectPlayerSize = function detectPlayerSize() {\n if (this.media) {\n if (this.mediaHeight <= 0 || this.mediaWidth <= 0) {\n this.clientRect = null;\n return;\n }\n var levels = this.hls.levels;\n if (levels.length) {\n var hls = this.hls;\n var maxLevel = this.getMaxLevel(levels.length - 1);\n if (maxLevel !== this.autoLevelCapping) {\n logger.log(\"Setting autoLevelCapping to \" + maxLevel + \": \" + levels[maxLevel].height + \"p@\" + levels[maxLevel].bitrate + \" for media \" + this.mediaWidth + \"x\" + this.mediaHeight);\n }\n hls.autoLevelCapping = maxLevel;\n if (hls.autoLevelCapping > this.autoLevelCapping && this.streamController) {\n // if auto level capping has a higher value for the previous one, flush the buffer using nextLevelSwitch\n // usually happen when the user go to the fullscreen mode.\n this.streamController.nextLevelSwitch();\n }\n this.autoLevelCapping = hls.autoLevelCapping;\n }\n }\n }\n\n /*\n * returns level should be the one with the dimensions equal or greater than the media (player) dimensions (so the video will be downscaled)\n */;\n _proto.getMaxLevel = function getMaxLevel(capLevelIndex) {\n var _this = this;\n var levels = this.hls.levels;\n if (!levels.length) {\n return -1;\n }\n var validLevels = levels.filter(function (level, index) {\n return _this.isLevelAllowed(level) && index <= capLevelIndex;\n });\n this.clientRect = null;\n return CapLevelController.getMaxLevelByMediaSize(validLevels, this.mediaWidth, this.mediaHeight);\n };\n _proto.startCapping = function startCapping() {\n if (this.timer) {\n // Don't reset capping if started twice; this can happen if the manifest signals a video codec\n return;\n }\n this.autoLevelCapping = Number.POSITIVE_INFINITY;\n self.clearInterval(this.timer);\n this.timer = self.setInterval(this.detectPlayerSize.bind(this), 1000);\n this.detectPlayerSize();\n };\n _proto.stopCapping = function stopCapping() {\n this.restrictedLevels = [];\n this.firstLevel = -1;\n this.autoLevelCapping = Number.POSITIVE_INFINITY;\n if (this.timer) {\n self.clearInterval(this.timer);\n this.timer = undefined;\n }\n };\n _proto.getDimensions = function getDimensions() {\n if (this.clientRect) {\n return this.clientRect;\n }\n var media = this.media;\n var boundsRect = {\n width: 0,\n height: 0\n };\n if (media) {\n var clientRect = media.getBoundingClientRect();\n boundsRect.width = clientRect.width;\n boundsRect.height = clientRect.height;\n if (!boundsRect.width && !boundsRect.height) {\n // When the media element has no width or height (equivalent to not being in the DOM),\n // then use its width and height attributes (media.width, media.height)\n boundsRect.width = clientRect.right - clientRect.left || media.width || 0;\n boundsRect.height = clientRect.bottom - clientRect.top || media.height || 0;\n }\n }\n this.clientRect = boundsRect;\n return boundsRect;\n };\n _proto.isLevelAllowed = function isLevelAllowed(level) {\n var restrictedLevels = this.restrictedLevels;\n return !restrictedLevels.some(function (restrictedLevel) {\n return level.bitrate === restrictedLevel.bitrate && level.width === restrictedLevel.width && level.height === restrictedLevel.height;\n });\n };\n CapLevelController.getMaxLevelByMediaSize = function getMaxLevelByMediaSize(levels, width, height) {\n if (!(levels != null && levels.length)) {\n return -1;\n }\n\n // Levels can have the same dimensions but differing bandwidths - since levels are ordered, we can look to the next\n // to determine whether we've chosen the greatest bandwidth for the media's dimensions\n var atGreatestBandwidth = function atGreatestBandwidth(curLevel, nextLevel) {\n if (!nextLevel) {\n return true;\n }\n return curLevel.width !== nextLevel.width || curLevel.height !== nextLevel.height;\n };\n\n // If we run through the loop without breaking, the media's dimensions are greater than every level, so default to\n // the max level\n var maxLevelIndex = levels.length - 1;\n // Prevent changes in aspect-ratio from causing capping to toggle back and forth\n var squareSize = Math.max(width, height);\n for (var i = 0; i < levels.length; i += 1) {\n var level = levels[i];\n if ((level.width >= squareSize || level.height >= squareSize) && atGreatestBandwidth(level, levels[i + 1])) {\n maxLevelIndex = i;\n break;\n }\n }\n return maxLevelIndex;\n };\n _createClass(CapLevelController, [{\n key: \"mediaWidth\",\n get: function get() {\n return this.getDimensions().width * this.contentScaleFactor;\n }\n }, {\n key: \"mediaHeight\",\n get: function get() {\n return this.getDimensions().height * this.contentScaleFactor;\n }\n }, {\n key: \"contentScaleFactor\",\n get: function get() {\n var pixelRatio = 1;\n if (!this.hls.config.ignoreDevicePixelRatio) {\n try {\n pixelRatio = self.devicePixelRatio;\n } catch (e) {\n /* no-op */\n }\n }\n return pixelRatio;\n }\n }]);\n return CapLevelController;\n }();\n\n var FPSController = /*#__PURE__*/function () {\n function FPSController(hls) {\n this.hls = void 0;\n this.isVideoPlaybackQualityAvailable = false;\n this.timer = void 0;\n this.media = null;\n this.lastTime = void 0;\n this.lastDroppedFrames = 0;\n this.lastDecodedFrames = 0;\n // stream controller must be provided as a dependency!\n this.streamController = void 0;\n this.hls = hls;\n this.registerListeners();\n }\n var _proto = FPSController.prototype;\n _proto.setStreamController = function setStreamController(streamController) {\n this.streamController = streamController;\n };\n _proto.registerListeners = function registerListeners() {\n this.hls.on(Events.MEDIA_ATTACHING, this.onMediaAttaching, this);\n };\n _proto.unregisterListeners = function unregisterListeners() {\n this.hls.off(Events.MEDIA_ATTACHING, this.onMediaAttaching, this);\n };\n _proto.destroy = function destroy() {\n if (this.timer) {\n clearInterval(this.timer);\n }\n this.unregisterListeners();\n this.isVideoPlaybackQualityAvailable = false;\n this.media = null;\n };\n _proto.onMediaAttaching = function onMediaAttaching(event, data) {\n var config = this.hls.config;\n if (config.capLevelOnFPSDrop) {\n var media = data.media instanceof self.HTMLVideoElement ? data.media : null;\n this.media = media;\n if (media && typeof media.getVideoPlaybackQuality === 'function') {\n this.isVideoPlaybackQualityAvailable = true;\n }\n self.clearInterval(this.timer);\n this.timer = self.setInterval(this.checkFPSInterval.bind(this), config.fpsDroppedMonitoringPeriod);\n }\n };\n _proto.checkFPS = function checkFPS(video, decodedFrames, droppedFrames) {\n var currentTime = performance.now();\n if (decodedFrames) {\n if (this.lastTime) {\n var currentPeriod = currentTime - this.lastTime;\n var currentDropped = droppedFrames - this.lastDroppedFrames;\n var currentDecoded = decodedFrames - this.lastDecodedFrames;\n var droppedFPS = 1000 * currentDropped / currentPeriod;\n var hls = this.hls;\n hls.trigger(Events.FPS_DROP, {\n currentDropped: currentDropped,\n currentDecoded: currentDecoded,\n totalDroppedFrames: droppedFrames\n });\n if (droppedFPS > 0) {\n // logger.log('checkFPS : droppedFPS/decodedFPS:' + droppedFPS/(1000 * currentDecoded / currentPeriod));\n if (currentDropped > hls.config.fpsDroppedMonitoringThreshold * currentDecoded) {\n var currentLevel = hls.currentLevel;\n logger.warn('drop FPS ratio greater than max allowed value for currentLevel: ' + currentLevel);\n if (currentLevel > 0 && (hls.autoLevelCapping === -1 || hls.autoLevelCapping >= currentLevel)) {\n currentLevel = currentLevel - 1;\n hls.trigger(Events.FPS_DROP_LEVEL_CAPPING, {\n level: currentLevel,\n droppedLevel: hls.currentLevel\n });\n hls.autoLevelCapping = currentLevel;\n this.streamController.nextLevelSwitch();\n }\n }\n }\n }\n this.lastTime = currentTime;\n this.lastDroppedFrames = droppedFrames;\n this.lastDecodedFrames = decodedFrames;\n }\n };\n _proto.checkFPSInterval = function checkFPSInterval() {\n var video = this.media;\n if (video) {\n if (this.isVideoPlaybackQualityAvailable) {\n var videoPlaybackQuality = video.getVideoPlaybackQuality();\n this.checkFPS(video, videoPlaybackQuality.totalVideoFrames, videoPlaybackQuality.droppedVideoFrames);\n } else {\n // HTMLVideoElement doesn't include the webkit types\n this.checkFPS(video, video.webkitDecodedFrameCount, video.webkitDroppedFrameCount);\n }\n }\n };\n return FPSController;\n }();\n\n var LOGGER_PREFIX = '[eme]';\n /**\n * Controller to deal with encrypted media extensions (EME)\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Encrypted_Media_Extensions_API\n *\n * @class\n * @constructor\n */\n var EMEController = /*#__PURE__*/function () {\n function EMEController(hls) {\n this.hls = void 0;\n this.config = void 0;\n this.media = null;\n this.keyFormatPromise = null;\n this.keySystemAccessPromises = {};\n this._requestLicenseFailureCount = 0;\n this.mediaKeySessions = [];\n this.keyIdToKeySessionPromise = {};\n this.setMediaKeysQueue = EMEController.CDMCleanupPromise ? [EMEController.CDMCleanupPromise] : [];\n this.onMediaEncrypted = this._onMediaEncrypted.bind(this);\n this.onWaitingForKey = this._onWaitingForKey.bind(this);\n this.debug = logger.debug.bind(logger, LOGGER_PREFIX);\n this.log = logger.log.bind(logger, LOGGER_PREFIX);\n this.warn = logger.warn.bind(logger, LOGGER_PREFIX);\n this.error = logger.error.bind(logger, LOGGER_PREFIX);\n this.hls = hls;\n this.config = hls.config;\n this.registerListeners();\n }\n var _proto = EMEController.prototype;\n _proto.destroy = function destroy() {\n this.unregisterListeners();\n this.onMediaDetached();\n // Remove any references that could be held in config options or callbacks\n var config = this.config;\n config.requestMediaKeySystemAccessFunc = null;\n config.licenseXhrSetup = config.licenseResponseCallback = undefined;\n config.drmSystems = config.drmSystemOptions = {};\n // @ts-ignore\n this.hls = this.onMediaEncrypted = this.onWaitingForKey = this.keyIdToKeySessionPromise = null;\n // @ts-ignore\n this.config = null;\n };\n _proto.registerListeners = function registerListeners() {\n this.hls.on(Events.MEDIA_ATTACHED, this.onMediaAttached, this);\n this.hls.on(Events.MEDIA_DETACHED, this.onMediaDetached, this);\n this.hls.on(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n this.hls.on(Events.MANIFEST_LOADED, this.onManifestLoaded, this);\n };\n _proto.unregisterListeners = function unregisterListeners() {\n this.hls.off(Events.MEDIA_ATTACHED, this.onMediaAttached, this);\n this.hls.off(Events.MEDIA_DETACHED, this.onMediaDetached, this);\n this.hls.off(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n this.hls.off(Events.MANIFEST_LOADED, this.onManifestLoaded, this);\n };\n _proto.getLicenseServerUrl = function getLicenseServerUrl(keySystem) {\n var _this$config = this.config,\n drmSystems = _this$config.drmSystems,\n widevineLicenseUrl = _this$config.widevineLicenseUrl;\n var keySystemConfiguration = drmSystems[keySystem];\n if (keySystemConfiguration) {\n return keySystemConfiguration.licenseUrl;\n }\n\n // For backward compatibility\n if (keySystem === KeySystems.WIDEVINE && widevineLicenseUrl) {\n return widevineLicenseUrl;\n }\n throw new Error(\"no license server URL configured for key-system \\\"\" + keySystem + \"\\\"\");\n };\n _proto.getServerCertificateUrl = function getServerCertificateUrl(keySystem) {\n var drmSystems = this.config.drmSystems;\n var keySystemConfiguration = drmSystems[keySystem];\n if (keySystemConfiguration) {\n return keySystemConfiguration.serverCertificateUrl;\n } else {\n this.log(\"No Server Certificate in config.drmSystems[\\\"\" + keySystem + \"\\\"]\");\n }\n };\n _proto.attemptKeySystemAccess = function attemptKeySystemAccess(keySystemsToAttempt) {\n var _this = this;\n var levels = this.hls.levels;\n var uniqueCodec = function uniqueCodec(value, i, a) {\n return !!value && a.indexOf(value) === i;\n };\n var audioCodecs = levels.map(function (level) {\n return level.audioCodec;\n }).filter(uniqueCodec);\n var videoCodecs = levels.map(function (level) {\n return level.videoCodec;\n }).filter(uniqueCodec);\n if (audioCodecs.length + videoCodecs.length === 0) {\n videoCodecs.push('avc1.42e01e');\n }\n return new Promise(function (resolve, reject) {\n var attempt = function attempt(keySystems) {\n var keySystem = keySystems.shift();\n _this.getMediaKeysPromise(keySystem, audioCodecs, videoCodecs).then(function (mediaKeys) {\n return resolve({\n keySystem: keySystem,\n mediaKeys: mediaKeys\n });\n }).catch(function (error) {\n if (keySystems.length) {\n attempt(keySystems);\n } else if (error instanceof EMEKeyError) {\n reject(error);\n } else {\n reject(new EMEKeyError({\n type: ErrorTypes.KEY_SYSTEM_ERROR,\n details: ErrorDetails.KEY_SYSTEM_NO_ACCESS,\n error: error,\n fatal: true\n }, error.message));\n }\n });\n };\n attempt(keySystemsToAttempt);\n });\n };\n _proto.requestMediaKeySystemAccess = function requestMediaKeySystemAccess$1(keySystem, supportedConfigurations) {\n var requestMediaKeySystemAccessFunc = this.config.requestMediaKeySystemAccessFunc;\n if (!(typeof requestMediaKeySystemAccessFunc === 'function')) {\n var errMessage = \"Configured requestMediaKeySystemAccess is not a function \" + requestMediaKeySystemAccessFunc;\n if (requestMediaKeySystemAccess === null && self.location.protocol === 'http:') {\n errMessage = \"navigator.requestMediaKeySystemAccess is not available over insecure protocol \" + location.protocol;\n }\n return Promise.reject(new Error(errMessage));\n }\n return requestMediaKeySystemAccessFunc(keySystem, supportedConfigurations);\n };\n _proto.getMediaKeysPromise = function getMediaKeysPromise(keySystem, audioCodecs, videoCodecs) {\n var _this2 = this;\n // This can throw, but is caught in event handler callpath\n var mediaKeySystemConfigs = getSupportedMediaKeySystemConfigurations(keySystem, audioCodecs, videoCodecs, this.config.drmSystemOptions);\n var keySystemAccessPromises = this.keySystemAccessPromises[keySystem];\n var keySystemAccess = keySystemAccessPromises == null ? void 0 : keySystemAccessPromises.keySystemAccess;\n if (!keySystemAccess) {\n this.log(\"Requesting encrypted media \\\"\" + keySystem + \"\\\" key-system access with config: \" + JSON.stringify(mediaKeySystemConfigs));\n keySystemAccess = this.requestMediaKeySystemAccess(keySystem, mediaKeySystemConfigs);\n var _keySystemAccessPromises = this.keySystemAccessPromises[keySystem] = {\n keySystemAccess: keySystemAccess\n };\n keySystemAccess.catch(function (error) {\n _this2.log(\"Failed to obtain access to key-system \\\"\" + keySystem + \"\\\": \" + error);\n });\n return keySystemAccess.then(function (mediaKeySystemAccess) {\n _this2.log(\"Access for key-system \\\"\" + mediaKeySystemAccess.keySystem + \"\\\" obtained\");\n var certificateRequest = _this2.fetchServerCertificate(keySystem);\n _this2.log(\"Create media-keys for \\\"\" + keySystem + \"\\\"\");\n _keySystemAccessPromises.mediaKeys = mediaKeySystemAccess.createMediaKeys().then(function (mediaKeys) {\n _this2.log(\"Media-keys created for \\\"\" + keySystem + \"\\\"\");\n return certificateRequest.then(function (certificate) {\n if (certificate) {\n return _this2.setMediaKeysServerCertificate(mediaKeys, keySystem, certificate);\n }\n return mediaKeys;\n });\n });\n _keySystemAccessPromises.mediaKeys.catch(function (error) {\n _this2.error(\"Failed to create media-keys for \\\"\" + keySystem + \"\\\"}: \" + error);\n });\n return _keySystemAccessPromises.mediaKeys;\n });\n }\n return keySystemAccess.then(function () {\n return keySystemAccessPromises.mediaKeys;\n });\n };\n _proto.createMediaKeySessionContext = function createMediaKeySessionContext(_ref) {\n var decryptdata = _ref.decryptdata,\n keySystem = _ref.keySystem,\n mediaKeys = _ref.mediaKeys;\n this.log(\"Creating key-system session \\\"\" + keySystem + \"\\\" keyId: \" + Hex.hexDump(decryptdata.keyId || []));\n var mediaKeysSession = mediaKeys.createSession();\n var mediaKeySessionContext = {\n decryptdata: decryptdata,\n keySystem: keySystem,\n mediaKeys: mediaKeys,\n mediaKeysSession: mediaKeysSession,\n keyStatus: 'status-pending'\n };\n this.mediaKeySessions.push(mediaKeySessionContext);\n return mediaKeySessionContext;\n };\n _proto.renewKeySession = function renewKeySession(mediaKeySessionContext) {\n var decryptdata = mediaKeySessionContext.decryptdata;\n if (decryptdata.pssh) {\n var keySessionContext = this.createMediaKeySessionContext(mediaKeySessionContext);\n var _keyId = this.getKeyIdString(decryptdata);\n var scheme = 'cenc';\n this.keyIdToKeySessionPromise[_keyId] = this.generateRequestWithPreferredKeySession(keySessionContext, scheme, decryptdata.pssh, 'expired');\n } else {\n this.warn(\"Could not renew expired session. Missing pssh initData.\");\n }\n this.removeSession(mediaKeySessionContext);\n };\n _proto.getKeyIdString = function getKeyIdString(decryptdata) {\n if (!decryptdata) {\n throw new Error('Could not read keyId of undefined decryptdata');\n }\n if (decryptdata.keyId === null) {\n throw new Error('keyId is null');\n }\n return Hex.hexDump(decryptdata.keyId);\n };\n _proto.updateKeySession = function updateKeySession(mediaKeySessionContext, data) {\n var _mediaKeySessionConte;\n var keySession = mediaKeySessionContext.mediaKeysSession;\n this.log(\"Updating key-session \\\"\" + keySession.sessionId + \"\\\" for keyID \" + Hex.hexDump(((_mediaKeySessionConte = mediaKeySessionContext.decryptdata) == null ? void 0 : _mediaKeySessionConte.keyId) || []) + \"\\n } (data length: \" + (data ? data.byteLength : data) + \")\");\n return keySession.update(data);\n };\n _proto.selectKeySystemFormat = function selectKeySystemFormat(frag) {\n var keyFormats = Object.keys(frag.levelkeys || {});\n if (!this.keyFormatPromise) {\n this.log(\"Selecting key-system from fragment (sn: \" + frag.sn + \" \" + frag.type + \": \" + frag.level + \") key formats \" + keyFormats.join(', '));\n this.keyFormatPromise = this.getKeyFormatPromise(keyFormats);\n }\n return this.keyFormatPromise;\n };\n _proto.getKeyFormatPromise = function getKeyFormatPromise(keyFormats) {\n var _this3 = this;\n return new Promise(function (resolve, reject) {\n var keySystemsInConfig = getKeySystemsForConfig(_this3.config);\n var keySystemsToAttempt = keyFormats.map(keySystemFormatToKeySystemDomain).filter(function (value) {\n return !!value && keySystemsInConfig.indexOf(value) !== -1;\n });\n return _this3.getKeySystemSelectionPromise(keySystemsToAttempt).then(function (_ref2) {\n var keySystem = _ref2.keySystem;\n var keySystemFormat = keySystemDomainToKeySystemFormat(keySystem);\n if (keySystemFormat) {\n resolve(keySystemFormat);\n } else {\n reject(new Error(\"Unable to find format for key-system \\\"\" + keySystem + \"\\\"\"));\n }\n }).catch(reject);\n });\n };\n _proto.loadKey = function loadKey(data) {\n var _this4 = this;\n var decryptdata = data.keyInfo.decryptdata;\n var keyId = this.getKeyIdString(decryptdata);\n var keyDetails = \"(keyId: \" + keyId + \" format: \\\"\" + decryptdata.keyFormat + \"\\\" method: \" + decryptdata.method + \" uri: \" + decryptdata.uri + \")\";\n this.log(\"Starting session for key \" + keyDetails);\n var keySessionContextPromise = this.keyIdToKeySessionPromise[keyId];\n if (!keySessionContextPromise) {\n keySessionContextPromise = this.keyIdToKeySessionPromise[keyId] = this.getKeySystemForKeyPromise(decryptdata).then(function (_ref3) {\n var keySystem = _ref3.keySystem,\n mediaKeys = _ref3.mediaKeys;\n _this4.throwIfDestroyed();\n _this4.log(\"Handle encrypted media sn: \" + data.frag.sn + \" \" + data.frag.type + \": \" + data.frag.level + \" using key \" + keyDetails);\n return _this4.attemptSetMediaKeys(keySystem, mediaKeys).then(function () {\n _this4.throwIfDestroyed();\n var keySessionContext = _this4.createMediaKeySessionContext({\n keySystem: keySystem,\n mediaKeys: mediaKeys,\n decryptdata: decryptdata\n });\n var scheme = 'cenc';\n return _this4.generateRequestWithPreferredKeySession(keySessionContext, scheme, decryptdata.pssh, 'playlist-key');\n });\n });\n keySessionContextPromise.catch(function (error) {\n return _this4.handleError(error);\n });\n }\n return keySessionContextPromise;\n };\n _proto.throwIfDestroyed = function throwIfDestroyed(message) {\n if (!this.hls) {\n throw new Error('invalid state');\n }\n };\n _proto.handleError = function handleError(error) {\n if (!this.hls) {\n return;\n }\n this.error(error.message);\n if (error instanceof EMEKeyError) {\n this.hls.trigger(Events.ERROR, error.data);\n } else {\n this.hls.trigger(Events.ERROR, {\n type: ErrorTypes.KEY_SYSTEM_ERROR,\n details: ErrorDetails.KEY_SYSTEM_NO_KEYS,\n error: error,\n fatal: true\n });\n }\n };\n _proto.getKeySystemForKeyPromise = function getKeySystemForKeyPromise(decryptdata) {\n var keyId = this.getKeyIdString(decryptdata);\n var mediaKeySessionContext = this.keyIdToKeySessionPromise[keyId];\n if (!mediaKeySessionContext) {\n var keySystem = keySystemFormatToKeySystemDomain(decryptdata.keyFormat);\n var keySystemsToAttempt = keySystem ? [keySystem] : getKeySystemsForConfig(this.config);\n return this.attemptKeySystemAccess(keySystemsToAttempt);\n }\n return mediaKeySessionContext;\n };\n _proto.getKeySystemSelectionPromise = function getKeySystemSelectionPromise(keySystemsToAttempt) {\n if (!keySystemsToAttempt.length) {\n keySystemsToAttempt = getKeySystemsForConfig(this.config);\n }\n if (keySystemsToAttempt.length === 0) {\n throw new EMEKeyError({\n type: ErrorTypes.KEY_SYSTEM_ERROR,\n details: ErrorDetails.KEY_SYSTEM_NO_CONFIGURED_LICENSE,\n fatal: true\n }, \"Missing key-system license configuration options \" + JSON.stringify({\n drmSystems: this.config.drmSystems\n }));\n }\n return this.attemptKeySystemAccess(keySystemsToAttempt);\n };\n _proto._onMediaEncrypted = function _onMediaEncrypted(event) {\n var _this5 = this;\n var initDataType = event.initDataType,\n initData = event.initData;\n this.debug(\"\\\"\" + event.type + \"\\\" event: init data type: \\\"\" + initDataType + \"\\\"\");\n\n // Ignore event when initData is null\n if (initData === null) {\n return;\n }\n var keyId;\n var keySystemDomain;\n if (initDataType === 'sinf' && this.config.drmSystems[KeySystems.FAIRPLAY]) {\n // Match sinf keyId to playlist skd://keyId=\n var json = bin2str(new Uint8Array(initData));\n try {\n var sinf = base64Decode(JSON.parse(json).sinf);\n var tenc = parseSinf(new Uint8Array(sinf));\n if (!tenc) {\n return;\n }\n keyId = tenc.subarray(8, 24);\n keySystemDomain = KeySystems.FAIRPLAY;\n } catch (error) {\n this.warn('Failed to parse sinf \"encrypted\" event message initData');\n return;\n }\n } else {\n // Support clear-lead key-session creation (otherwise depend on playlist keys)\n var psshInfo = parsePssh(initData);\n if (psshInfo === null) {\n return;\n }\n if (psshInfo.version === 0 && psshInfo.systemId === KeySystemIds.WIDEVINE && psshInfo.data) {\n keyId = psshInfo.data.subarray(8, 24);\n }\n keySystemDomain = keySystemIdToKeySystemDomain(psshInfo.systemId);\n }\n if (!keySystemDomain || !keyId) {\n return;\n }\n var keyIdHex = Hex.hexDump(keyId);\n var keyIdToKeySessionPromise = this.keyIdToKeySessionPromise,\n mediaKeySessions = this.mediaKeySessions;\n var keySessionContextPromise = keyIdToKeySessionPromise[keyIdHex];\n var _loop = function _loop() {\n // Match playlist key\n var keyContext = mediaKeySessions[i];\n var decryptdata = keyContext.decryptdata;\n if (decryptdata.pssh || !decryptdata.keyId) {\n return 0; // continue\n }\n var oldKeyIdHex = Hex.hexDump(decryptdata.keyId);\n if (keyIdHex === oldKeyIdHex || decryptdata.uri.replace(/-/g, '').indexOf(keyIdHex) !== -1) {\n keySessionContextPromise = keyIdToKeySessionPromise[oldKeyIdHex];\n delete keyIdToKeySessionPromise[oldKeyIdHex];\n decryptdata.pssh = new Uint8Array(initData);\n decryptdata.keyId = keyId;\n keySessionContextPromise = keyIdToKeySessionPromise[keyIdHex] = keySessionContextPromise.then(function () {\n return _this5.generateRequestWithPreferredKeySession(keyContext, initDataType, initData, 'encrypted-event-key-match');\n });\n return 1; // break\n }\n },\n _ret;\n for (var i = 0; i < mediaKeySessions.length; i++) {\n _ret = _loop();\n if (_ret === 0) continue;\n if (_ret === 1) break;\n }\n if (!keySessionContextPromise) {\n // Clear-lead key (not encountered in playlist)\n keySessionContextPromise = keyIdToKeySessionPromise[keyIdHex] = this.getKeySystemSelectionPromise([keySystemDomain]).then(function (_ref4) {\n var _keySystemToKeySystem;\n var keySystem = _ref4.keySystem,\n mediaKeys = _ref4.mediaKeys;\n _this5.throwIfDestroyed();\n var decryptdata = new LevelKey('ISO-23001-7', keyIdHex, (_keySystemToKeySystem = keySystemDomainToKeySystemFormat(keySystem)) != null ? _keySystemToKeySystem : '');\n decryptdata.pssh = new Uint8Array(initData);\n decryptdata.keyId = keyId;\n return _this5.attemptSetMediaKeys(keySystem, mediaKeys).then(function () {\n _this5.throwIfDestroyed();\n var keySessionContext = _this5.createMediaKeySessionContext({\n decryptdata: decryptdata,\n keySystem: keySystem,\n mediaKeys: mediaKeys\n });\n return _this5.generateRequestWithPreferredKeySession(keySessionContext, initDataType, initData, 'encrypted-event-no-match');\n });\n });\n }\n keySessionContextPromise.catch(function (error) {\n return _this5.handleError(error);\n });\n };\n _proto._onWaitingForKey = function _onWaitingForKey(event) {\n this.log(\"\\\"\" + event.type + \"\\\" event\");\n };\n _proto.attemptSetMediaKeys = function attemptSetMediaKeys(keySystem, mediaKeys) {\n var _this6 = this;\n var queue = this.setMediaKeysQueue.slice();\n this.log(\"Setting media-keys for \\\"\" + keySystem + \"\\\"\");\n // Only one setMediaKeys() can run at one time, and multiple setMediaKeys() operations\n // can be queued for execution for multiple key sessions.\n var setMediaKeysPromise = Promise.all(queue).then(function () {\n if (!_this6.media) {\n throw new Error('Attempted to set mediaKeys without media element attached');\n }\n return _this6.media.setMediaKeys(mediaKeys);\n });\n this.setMediaKeysQueue.push(setMediaKeysPromise);\n return setMediaKeysPromise.then(function () {\n _this6.log(\"Media-keys set for \\\"\" + keySystem + \"\\\"\");\n queue.push(setMediaKeysPromise);\n _this6.setMediaKeysQueue = _this6.setMediaKeysQueue.filter(function (p) {\n return queue.indexOf(p) === -1;\n });\n });\n };\n _proto.generateRequestWithPreferredKeySession = function generateRequestWithPreferredKeySession(context, initDataType, initData, reason) {\n var _this$config$drmSyste,\n _this$config$drmSyste2,\n _this7 = this;\n var generateRequestFilter = (_this$config$drmSyste = this.config.drmSystems) == null ? void 0 : (_this$config$drmSyste2 = _this$config$drmSyste[context.keySystem]) == null ? void 0 : _this$config$drmSyste2.generateRequest;\n if (generateRequestFilter) {\n try {\n var mappedInitData = generateRequestFilter.call(this.hls, initDataType, initData, context);\n if (!mappedInitData) {\n throw new Error('Invalid response from configured generateRequest filter');\n }\n initDataType = mappedInitData.initDataType;\n initData = context.decryptdata.pssh = mappedInitData.initData ? new Uint8Array(mappedInitData.initData) : null;\n } catch (error) {\n var _this$hls;\n this.warn(error.message);\n if ((_this$hls = this.hls) != null && _this$hls.config.debug) {\n throw error;\n }\n }\n }\n if (initData === null) {\n this.log(\"Skipping key-session request for \\\"\" + reason + \"\\\" (no initData)\");\n return Promise.resolve(context);\n }\n var keyId = this.getKeyIdString(context.decryptdata);\n this.log(\"Generating key-session request for \\\"\" + reason + \"\\\": \" + keyId + \" (init data type: \" + initDataType + \" length: \" + (initData ? initData.byteLength : null) + \")\");\n var licenseStatus = new EventEmitter();\n var onmessage = context._onmessage = function (event) {\n var keySession = context.mediaKeysSession;\n if (!keySession) {\n licenseStatus.emit('error', new Error('invalid state'));\n return;\n }\n var messageType = event.messageType,\n message = event.message;\n _this7.log(\"\\\"\" + messageType + \"\\\" message event for session \\\"\" + keySession.sessionId + \"\\\" message size: \" + message.byteLength);\n if (messageType === 'license-request' || messageType === 'license-renewal') {\n _this7.renewLicense(context, message).catch(function (error) {\n _this7.handleError(error);\n licenseStatus.emit('error', error);\n });\n } else if (messageType === 'license-release') {\n if (context.keySystem === KeySystems.FAIRPLAY) {\n _this7.updateKeySession(context, strToUtf8array('acknowledged'));\n _this7.removeSession(context);\n }\n } else {\n _this7.warn(\"unhandled media key message type \\\"\" + messageType + \"\\\"\");\n }\n };\n var onkeystatuseschange = context._onkeystatuseschange = function (event) {\n var keySession = context.mediaKeysSession;\n if (!keySession) {\n licenseStatus.emit('error', new Error('invalid state'));\n return;\n }\n _this7.onKeyStatusChange(context);\n var keyStatus = context.keyStatus;\n licenseStatus.emit('keyStatus', keyStatus);\n if (keyStatus === 'expired') {\n _this7.warn(context.keySystem + \" expired for key \" + keyId);\n _this7.renewKeySession(context);\n }\n };\n context.mediaKeysSession.addEventListener('message', onmessage);\n context.mediaKeysSession.addEventListener('keystatuseschange', onkeystatuseschange);\n var keyUsablePromise = new Promise(function (resolve, reject) {\n licenseStatus.on('error', reject);\n licenseStatus.on('keyStatus', function (keyStatus) {\n if (keyStatus.startsWith('usable')) {\n resolve();\n } else if (keyStatus === 'output-restricted') {\n reject(new EMEKeyError({\n type: ErrorTypes.KEY_SYSTEM_ERROR,\n details: ErrorDetails.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED,\n fatal: false\n }, 'HDCP level output restricted'));\n } else if (keyStatus === 'internal-error') {\n reject(new EMEKeyError({\n type: ErrorTypes.KEY_SYSTEM_ERROR,\n details: ErrorDetails.KEY_SYSTEM_STATUS_INTERNAL_ERROR,\n fatal: true\n }, \"key status changed to \\\"\" + keyStatus + \"\\\"\"));\n } else if (keyStatus === 'expired') {\n reject(new Error('key expired while generating request'));\n } else {\n _this7.warn(\"unhandled key status change \\\"\" + keyStatus + \"\\\"\");\n }\n });\n });\n return context.mediaKeysSession.generateRequest(initDataType, initData).then(function () {\n var _context$mediaKeysSes;\n _this7.log(\"Request generated for key-session \\\"\" + ((_context$mediaKeysSes = context.mediaKeysSession) == null ? void 0 : _context$mediaKeysSes.sessionId) + \"\\\" keyId: \" + keyId);\n }).catch(function (error) {\n throw new EMEKeyError({\n type: ErrorTypes.KEY_SYSTEM_ERROR,\n details: ErrorDetails.KEY_SYSTEM_NO_SESSION,\n error: error,\n fatal: false\n }, \"Error generating key-session request: \" + error);\n }).then(function () {\n return keyUsablePromise;\n }).catch(function (error) {\n licenseStatus.removeAllListeners();\n _this7.removeSession(context);\n throw error;\n }).then(function () {\n licenseStatus.removeAllListeners();\n return context;\n });\n };\n _proto.onKeyStatusChange = function onKeyStatusChange(mediaKeySessionContext) {\n var _this8 = this;\n mediaKeySessionContext.mediaKeysSession.keyStatuses.forEach(function (status, keyId) {\n _this8.log(\"key status change \\\"\" + status + \"\\\" for keyStatuses keyId: \" + Hex.hexDump('buffer' in keyId ? new Uint8Array(keyId.buffer, keyId.byteOffset, keyId.byteLength) : new Uint8Array(keyId)) + \" session keyId: \" + Hex.hexDump(new Uint8Array(mediaKeySessionContext.decryptdata.keyId || [])) + \" uri: \" + mediaKeySessionContext.decryptdata.uri);\n mediaKeySessionContext.keyStatus = status;\n });\n };\n _proto.fetchServerCertificate = function fetchServerCertificate(keySystem) {\n var config = this.config;\n var Loader = config.loader;\n var certLoader = new Loader(config);\n var url = this.getServerCertificateUrl(keySystem);\n if (!url) {\n return Promise.resolve();\n }\n this.log(\"Fetching server certificate for \\\"\" + keySystem + \"\\\"\");\n return new Promise(function (resolve, reject) {\n var loaderContext = {\n responseType: 'arraybuffer',\n url: url\n };\n var loadPolicy = config.certLoadPolicy.default;\n var loaderConfig = {\n loadPolicy: loadPolicy,\n timeout: loadPolicy.maxLoadTimeMs,\n maxRetry: 0,\n retryDelay: 0,\n maxRetryDelay: 0\n };\n var loaderCallbacks = {\n onSuccess: function onSuccess(response, stats, context, networkDetails) {\n resolve(response.data);\n },\n onError: function onError(response, contex, networkDetails, stats) {\n reject(new EMEKeyError({\n type: ErrorTypes.KEY_SYSTEM_ERROR,\n details: ErrorDetails.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,\n fatal: true,\n networkDetails: networkDetails,\n response: _objectSpread2({\n url: loaderContext.url,\n data: undefined\n }, response)\n }, \"\\\"\" + keySystem + \"\\\" certificate request failed (\" + url + \"). Status: \" + response.code + \" (\" + response.text + \")\"));\n },\n onTimeout: function onTimeout(stats, context, networkDetails) {\n reject(new EMEKeyError({\n type: ErrorTypes.KEY_SYSTEM_ERROR,\n details: ErrorDetails.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,\n fatal: true,\n networkDetails: networkDetails,\n response: {\n url: loaderContext.url,\n data: undefined\n }\n }, \"\\\"\" + keySystem + \"\\\" certificate request timed out (\" + url + \")\"));\n },\n onAbort: function onAbort(stats, context, networkDetails) {\n reject(new Error('aborted'));\n }\n };\n certLoader.load(loaderContext, loaderConfig, loaderCallbacks);\n });\n };\n _proto.setMediaKeysServerCertificate = function setMediaKeysServerCertificate(mediaKeys, keySystem, cert) {\n var _this9 = this;\n return new Promise(function (resolve, reject) {\n mediaKeys.setServerCertificate(cert).then(function (success) {\n _this9.log(\"setServerCertificate \" + (success ? 'success' : 'not supported by CDM') + \" (\" + (cert == null ? void 0 : cert.byteLength) + \") on \\\"\" + keySystem + \"\\\"\");\n resolve(mediaKeys);\n }).catch(function (error) {\n reject(new EMEKeyError({\n type: ErrorTypes.KEY_SYSTEM_ERROR,\n details: ErrorDetails.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED,\n error: error,\n fatal: true\n }, error.message));\n });\n });\n };\n _proto.renewLicense = function renewLicense(context, keyMessage) {\n var _this10 = this;\n return this.requestLicense(context, new Uint8Array(keyMessage)).then(function (data) {\n return _this10.updateKeySession(context, new Uint8Array(data)).catch(function (error) {\n throw new EMEKeyError({\n type: ErrorTypes.KEY_SYSTEM_ERROR,\n details: ErrorDetails.KEY_SYSTEM_SESSION_UPDATE_FAILED,\n error: error,\n fatal: true\n }, error.message);\n });\n });\n };\n _proto.unpackPlayReadyKeyMessage = function unpackPlayReadyKeyMessage(xhr, licenseChallenge) {\n // On Edge, the raw license message is UTF-16-encoded XML. We need\n // to unpack the Challenge element (base64-encoded string containing the\n // actual license request) and any HttpHeader elements (sent as request\n // headers).\n // For PlayReady CDMs, we need to dig the Challenge out of the XML.\n var xmlString = String.fromCharCode.apply(null, new Uint16Array(licenseChallenge.buffer));\n if (!xmlString.includes('PlayReadyKeyMessage')) {\n // This does not appear to be a wrapped message as on Edge. Some\n // clients do not need this unwrapping, so we will assume this is one of\n // them. Note that \"xml\" at this point probably looks like random\n // garbage, since we interpreted UTF-8 as UTF-16.\n xhr.setRequestHeader('Content-Type', 'text/xml; charset=utf-8');\n return licenseChallenge;\n }\n var keyMessageXml = new DOMParser().parseFromString(xmlString, 'application/xml');\n // Set request headers.\n var headers = keyMessageXml.querySelectorAll('HttpHeader');\n if (headers.length > 0) {\n var header;\n for (var i = 0, len = headers.length; i < len; i++) {\n var _header$querySelector, _header$querySelector2;\n header = headers[i];\n var name = (_header$querySelector = header.querySelector('name')) == null ? void 0 : _header$querySelector.textContent;\n var _value = (_header$querySelector2 = header.querySelector('value')) == null ? void 0 : _header$querySelector2.textContent;\n if (name && _value) {\n xhr.setRequestHeader(name, _value);\n }\n }\n }\n var challengeElement = keyMessageXml.querySelector('Challenge');\n var challengeText = challengeElement == null ? void 0 : challengeElement.textContent;\n if (!challengeText) {\n throw new Error(\"Cannot find <Challenge> in key message\");\n }\n return strToUtf8array(atob(challengeText));\n };\n _proto.setupLicenseXHR = function setupLicenseXHR(xhr, url, keysListItem, licenseChallenge) {\n var _this11 = this;\n var licenseXhrSetup = this.config.licenseXhrSetup;\n if (!licenseXhrSetup) {\n xhr.open('POST', url, true);\n return Promise.resolve({\n xhr: xhr,\n licenseChallenge: licenseChallenge\n });\n }\n return Promise.resolve().then(function () {\n if (!keysListItem.decryptdata) {\n throw new Error('Key removed');\n }\n return licenseXhrSetup.call(_this11.hls, xhr, url, keysListItem, licenseChallenge);\n }).catch(function (error) {\n if (!keysListItem.decryptdata) {\n // Key session removed. Cancel license request.\n throw error;\n }\n // let's try to open before running setup\n xhr.open('POST', url, true);\n return licenseXhrSetup.call(_this11.hls, xhr, url, keysListItem, licenseChallenge);\n }).then(function (licenseXhrSetupResult) {\n // if licenseXhrSetup did not yet call open, let's do it now\n if (!xhr.readyState) {\n xhr.open('POST', url, true);\n }\n var finalLicenseChallenge = licenseXhrSetupResult ? licenseXhrSetupResult : licenseChallenge;\n return {\n xhr: xhr,\n licenseChallenge: finalLicenseChallenge\n };\n });\n };\n _proto.requestLicense = function requestLicense(keySessionContext, licenseChallenge) {\n var _this12 = this;\n var keyLoadPolicy = this.config.keyLoadPolicy.default;\n return new Promise(function (resolve, reject) {\n var url = _this12.getLicenseServerUrl(keySessionContext.keySystem);\n _this12.log(\"Sending license request to URL: \" + url);\n var xhr = new XMLHttpRequest();\n xhr.responseType = 'arraybuffer';\n xhr.onreadystatechange = function () {\n if (!_this12.hls || !keySessionContext.mediaKeysSession) {\n return reject(new Error('invalid state'));\n }\n if (xhr.readyState === 4) {\n if (xhr.status === 200) {\n _this12._requestLicenseFailureCount = 0;\n var data = xhr.response;\n _this12.log(\"License received \" + (data instanceof ArrayBuffer ? data.byteLength : data));\n var licenseResponseCallback = _this12.config.licenseResponseCallback;\n if (licenseResponseCallback) {\n try {\n data = licenseResponseCallback.call(_this12.hls, xhr, url, keySessionContext);\n } catch (error) {\n _this12.error(error);\n }\n }\n resolve(data);\n } else {\n var retryConfig = keyLoadPolicy.errorRetry;\n var maxNumRetry = retryConfig ? retryConfig.maxNumRetry : 0;\n _this12._requestLicenseFailureCount++;\n if (_this12._requestLicenseFailureCount > maxNumRetry || xhr.status >= 400 && xhr.status < 500) {\n reject(new EMEKeyError({\n type: ErrorTypes.KEY_SYSTEM_ERROR,\n details: ErrorDetails.KEY_SYSTEM_LICENSE_REQUEST_FAILED,\n fatal: true,\n networkDetails: xhr,\n response: {\n url: url,\n data: undefined,\n code: xhr.status,\n text: xhr.statusText\n }\n }, \"License Request XHR failed (\" + url + \"). Status: \" + xhr.status + \" (\" + xhr.statusText + \")\"));\n } else {\n var attemptsLeft = maxNumRetry - _this12._requestLicenseFailureCount + 1;\n _this12.warn(\"Retrying license request, \" + attemptsLeft + \" attempts left\");\n _this12.requestLicense(keySessionContext, licenseChallenge).then(resolve, reject);\n }\n }\n }\n };\n if (keySessionContext.licenseXhr && keySessionContext.licenseXhr.readyState !== XMLHttpRequest.DONE) {\n keySessionContext.licenseXhr.abort();\n }\n keySessionContext.licenseXhr = xhr;\n _this12.setupLicenseXHR(xhr, url, keySessionContext, licenseChallenge).then(function (_ref5) {\n var xhr = _ref5.xhr,\n licenseChallenge = _ref5.licenseChallenge;\n if (keySessionContext.keySystem == KeySystems.PLAYREADY) {\n licenseChallenge = _this12.unpackPlayReadyKeyMessage(xhr, licenseChallenge);\n }\n xhr.send(licenseChallenge);\n });\n });\n };\n _proto.onMediaAttached = function onMediaAttached(event, data) {\n if (!this.config.emeEnabled) {\n return;\n }\n var media = data.media;\n\n // keep reference of media\n this.media = media;\n media.addEventListener('encrypted', this.onMediaEncrypted);\n media.addEventListener('waitingforkey', this.onWaitingForKey);\n };\n _proto.onMediaDetached = function onMediaDetached() {\n var _this13 = this;\n var media = this.media;\n var mediaKeysList = this.mediaKeySessions;\n if (media) {\n media.removeEventListener('encrypted', this.onMediaEncrypted);\n media.removeEventListener('waitingforkey', this.onWaitingForKey);\n this.media = null;\n }\n this._requestLicenseFailureCount = 0;\n this.setMediaKeysQueue = [];\n this.mediaKeySessions = [];\n this.keyIdToKeySessionPromise = {};\n LevelKey.clearKeyUriToKeyIdMap();\n\n // Close all sessions and remove media keys from the video element.\n var keySessionCount = mediaKeysList.length;\n EMEController.CDMCleanupPromise = Promise.all(mediaKeysList.map(function (mediaKeySessionContext) {\n return _this13.removeSession(mediaKeySessionContext);\n }).concat(media == null ? void 0 : media.setMediaKeys(null).catch(function (error) {\n _this13.log(\"Could not clear media keys: \" + error);\n }))).then(function () {\n if (keySessionCount) {\n _this13.log('finished closing key sessions and clearing media keys');\n mediaKeysList.length = 0;\n }\n }).catch(function (error) {\n _this13.log(\"Could not close sessions and clear media keys: \" + error);\n });\n };\n _proto.onManifestLoading = function onManifestLoading() {\n this.keyFormatPromise = null;\n };\n _proto.onManifestLoaded = function onManifestLoaded(event, _ref6) {\n var sessionKeys = _ref6.sessionKeys;\n if (!sessionKeys || !this.config.emeEnabled) {\n return;\n }\n if (!this.keyFormatPromise) {\n var keyFormats = sessionKeys.reduce(function (formats, sessionKey) {\n if (formats.indexOf(sessionKey.keyFormat) === -1) {\n formats.push(sessionKey.keyFormat);\n }\n return formats;\n }, []);\n this.log(\"Selecting key-system from session-keys \" + keyFormats.join(', '));\n this.keyFormatPromise = this.getKeyFormatPromise(keyFormats);\n }\n };\n _proto.removeSession = function removeSession(mediaKeySessionContext) {\n var _this14 = this;\n var mediaKeysSession = mediaKeySessionContext.mediaKeysSession,\n licenseXhr = mediaKeySessionContext.licenseXhr;\n if (mediaKeysSession) {\n this.log(\"Remove licenses and keys and close session \" + mediaKeysSession.sessionId);\n if (mediaKeySessionContext._onmessage) {\n mediaKeysSession.removeEventListener('message', mediaKeySessionContext._onmessage);\n mediaKeySessionContext._onmessage = undefined;\n }\n if (mediaKeySessionContext._onkeystatuseschange) {\n mediaKeysSession.removeEventListener('keystatuseschange', mediaKeySessionContext._onkeystatuseschange);\n mediaKeySessionContext._onkeystatuseschange = undefined;\n }\n if (licenseXhr && licenseXhr.readyState !== XMLHttpRequest.DONE) {\n licenseXhr.abort();\n }\n mediaKeySessionContext.mediaKeysSession = mediaKeySessionContext.decryptdata = mediaKeySessionContext.licenseXhr = undefined;\n var index = this.mediaKeySessions.indexOf(mediaKeySessionContext);\n if (index > -1) {\n this.mediaKeySessions.splice(index, 1);\n }\n return mediaKeysSession.remove().catch(function (error) {\n _this14.log(\"Could not remove session: \" + error);\n }).then(function () {\n return mediaKeysSession.close();\n }).catch(function (error) {\n _this14.log(\"Could not close session: \" + error);\n });\n }\n };\n return EMEController;\n }();\n EMEController.CDMCleanupPromise = void 0;\n var EMEKeyError = /*#__PURE__*/function (_Error) {\n _inheritsLoose(EMEKeyError, _Error);\n function EMEKeyError(data, message) {\n var _this15;\n _this15 = _Error.call(this, message) || this;\n _this15.data = void 0;\n data.error || (data.error = new Error(message));\n _this15.data = data;\n data.err = data.error;\n return _this15;\n }\n return EMEKeyError;\n }( /*#__PURE__*/_wrapNativeSuper(Error));\n\n /**\n * Common Media Object Type\n *\n * @group CMCD\n * @group CMSD\n *\n * @beta\n */\n var CmObjectType;\n (function (CmObjectType) {\n /**\n * text file, such as a manifest or playlist\n */\n CmObjectType[\"MANIFEST\"] = \"m\";\n /**\n * audio only\n */\n CmObjectType[\"AUDIO\"] = \"a\";\n /**\n * video only\n */\n CmObjectType[\"VIDEO\"] = \"v\";\n /**\n * muxed audio and video\n */\n CmObjectType[\"MUXED\"] = \"av\";\n /**\n * init segment\n */\n CmObjectType[\"INIT\"] = \"i\";\n /**\n * caption or subtitle\n */\n CmObjectType[\"CAPTION\"] = \"c\";\n /**\n * ISOBMFF timed text track\n */\n CmObjectType[\"TIMED_TEXT\"] = \"tt\";\n /**\n * cryptographic key, license or certificate.\n */\n CmObjectType[\"KEY\"] = \"k\";\n /**\n * other\n */\n CmObjectType[\"OTHER\"] = \"o\";\n })(CmObjectType || (CmObjectType = {}));\n\n /**\n * Common Media Streaming Format\n *\n * @group CMCD\n * @group CMSD\n *\n * @beta\n */\n var CmStreamingFormat;\n (function (CmStreamingFormat) {\n /**\n * MPEG DASH\n */\n CmStreamingFormat[\"DASH\"] = \"d\";\n /**\n * HTTP Live Streaming (HLS)\n */\n CmStreamingFormat[\"HLS\"] = \"h\";\n /**\n * Smooth Streaming\n */\n CmStreamingFormat[\"SMOOTH\"] = \"s\";\n /**\n * Other\n */\n CmStreamingFormat[\"OTHER\"] = \"o\";\n })(CmStreamingFormat || (CmStreamingFormat = {}));\n\n /**\n * CMCD header fields.\n *\n * @group CMCD\n *\n * @beta\n */\n var CmcdHeaderField;\n (function (CmcdHeaderField) {\n /**\n * keys whose values vary with the object being requested.\n */\n CmcdHeaderField[\"OBJECT\"] = \"CMCD-Object\";\n /**\n * keys whose values vary with each request.\n */\n CmcdHeaderField[\"REQUEST\"] = \"CMCD-Request\";\n /**\n * keys whose values are expected to be invariant over the life of the session.\n */\n CmcdHeaderField[\"SESSION\"] = \"CMCD-Session\";\n /**\n * keys whose values do not vary with every request or object.\n */\n CmcdHeaderField[\"STATUS\"] = \"CMCD-Status\";\n })(CmcdHeaderField || (CmcdHeaderField = {}));\n\n var _CmcdHeaderMap;\n /**\n * The map of CMCD header fields to official CMCD keys.\n *\n * @internal\n *\n * @group CMCD\n */\n var CmcdHeaderMap = (_CmcdHeaderMap = {}, _CmcdHeaderMap[CmcdHeaderField.OBJECT] = ['br', 'd', 'ot', 'tb'], _CmcdHeaderMap[CmcdHeaderField.REQUEST] = ['bl', 'dl', 'mtp', 'nor', 'nrr', 'su'], _CmcdHeaderMap[CmcdHeaderField.SESSION] = ['cid', 'pr', 'sf', 'sid', 'st', 'v'], _CmcdHeaderMap[CmcdHeaderField.STATUS] = ['bs', 'rtp'], _CmcdHeaderMap);\n\n /**\n * Structured Field Item\n *\n * @group Structured Field\n *\n * @beta\n */\n var SfItem = function SfItem(value, params) {\n this.value = void 0;\n this.params = void 0;\n if (Array.isArray(value)) {\n value = value.map(function (v) {\n return v instanceof SfItem ? v : new SfItem(v);\n });\n }\n this.value = value;\n this.params = params;\n };\n\n /**\n * A class to represent structured field tokens when `Symbol` is not available.\n *\n * @group Structured Field\n *\n * @beta\n */\n var SfToken = function SfToken(description) {\n this.description = void 0;\n this.description = description;\n };\n\n var DICT = 'Dict';\n\n function format(value) {\n if (Array.isArray(value)) {\n return JSON.stringify(value);\n }\n if (value instanceof Map) {\n return 'Map{}';\n }\n if (value instanceof Set) {\n return 'Set{}';\n }\n if (typeof value === 'object') {\n return JSON.stringify(value);\n }\n return String(value);\n }\n function throwError(action, src, type, cause) {\n return new Error(\"failed to \" + action + \" \\\"\" + format(src) + \"\\\" as \" + type, {\n cause: cause\n });\n }\n\n var BARE_ITEM = 'Bare Item';\n\n var BOOLEAN = 'Boolean';\n\n var BYTES = 'Byte Sequence';\n\n var DECIMAL = 'Decimal';\n\n var INTEGER = 'Integer';\n\n function isInvalidInt(value) {\n return value < -999999999999999 || 999999999999999 < value;\n }\n\n var STRING_REGEX = /[\\x00-\\x1f\\x7f]+/; // eslint-disable-line no-control-regex\n\n var TOKEN = 'Token';\n\n var KEY = 'Key';\n\n function serializeError(src, type, cause) {\n return throwError('serialize', src, type, cause);\n }\n\n // 4.1.9. Serializing a Boolean\n //\n // Given a Boolean as input_boolean, return an ASCII string suitable for\n // use in a HTTP field value.\n //\n // 1. If input_boolean is not a boolean, fail serialization.\n //\n // 2. Let output be an empty string.\n //\n // 3. Append \"?\" to output.\n //\n // 4. If input_boolean is true, append \"1\" to output.\n //\n // 5. If input_boolean is false, append \"0\" to output.\n //\n // 6. Return output.\n function serializeBoolean(value) {\n if (typeof value !== 'boolean') {\n throw serializeError(value, BOOLEAN);\n }\n return value ? '?1' : '?0';\n }\n\n /**\n * Encodes binary data to base64\n *\n * @param binary - The binary data to encode\n * @returns The base64 encoded string\n *\n * @group Utils\n *\n * @beta\n */\n function base64encode(binary) {\n return btoa(String.fromCharCode.apply(String, binary));\n }\n\n // 4.1.8. Serializing a Byte Sequence\n //\n // Given a Byte Sequence as input_bytes, return an ASCII string suitable\n // for use in a HTTP field value.\n //\n // 1. If input_bytes is not a sequence of bytes, fail serialization.\n //\n // 2. Let output be an empty string.\n //\n // 3. Append \":\" to output.\n //\n // 4. Append the result of base64-encoding input_bytes as per\n // [RFC4648], Section 4, taking account of the requirements below.\n //\n // 5. Append \":\" to output.\n //\n // 6. Return output.\n //\n // The encoded data is required to be padded with \"=\", as per [RFC4648],\n // Section 3.2.\n //\n // Likewise, encoded data SHOULD have pad bits set to zero, as per\n // [RFC4648], Section 3.5, unless it is not possible to do so due to\n // implementation constraints.\n function serializeByteSequence(value) {\n if (ArrayBuffer.isView(value) === false) {\n throw serializeError(value, BYTES);\n }\n return \":\" + base64encode(value) + \":\";\n }\n\n // 4.1.4. Serializing an Integer\n //\n // Given an Integer as input_integer, return an ASCII string suitable\n // for use in a HTTP field value.\n //\n // 1. If input_integer is not an integer in the range of\n // -999,999,999,999,999 to 999,999,999,999,999 inclusive, fail\n // serialization.\n //\n // 2. Let output be an empty string.\n //\n // 3. If input_integer is less than (but not equal to) 0, append \"-\" to\n // output.\n //\n // 4. Append input_integer's numeric value represented in base 10 using\n // only decimal digits to output.\n //\n // 5. Return output.\n function serializeInteger(value) {\n if (isInvalidInt(value)) {\n throw serializeError(value, INTEGER);\n }\n return value.toString();\n }\n\n // 4.1.10. Serializing a Date\n //\n // Given a Date as input_integer, return an ASCII string suitable for\n // use in an HTTP field value.\n // 1. Let output be \"@\".\n // 2. Append to output the result of running Serializing an Integer\n // with input_date (Section 4.1.4).\n // 3. Return output.\n function serializeDate(value) {\n return \"@\" + serializeInteger(value.getTime() / 1000);\n }\n\n /**\n * This implements the rounding procedure described in step 2 of the \"Serializing a Decimal\" specification.\n * This rounding style is known as \"even rounding\", \"banker's rounding\", or \"commercial rounding\".\n *\n * @param value - The value to round\n * @param precision - The number of decimal places to round to\n * @returns The rounded value\n *\n * @group Utils\n *\n * @beta\n */\n function roundToEven(value, precision) {\n if (value < 0) {\n return -roundToEven(-value, precision);\n }\n var decimalShift = Math.pow(10, precision);\n var isEquidistant = Math.abs(value * decimalShift % 1 - 0.5) < Number.EPSILON;\n if (isEquidistant) {\n // If the tail of the decimal place is 'equidistant' we round to the nearest even value\n var flooredValue = Math.floor(value * decimalShift);\n return (flooredValue % 2 === 0 ? flooredValue : flooredValue + 1) / decimalShift;\n } else {\n // Otherwise, proceed as normal\n return Math.round(value * decimalShift) / decimalShift;\n }\n }\n\n // 4.1.5. Serializing a Decimal\n //\n // Given a decimal number as input_decimal, return an ASCII string\n // suitable for use in a HTTP field value.\n //\n // 1. If input_decimal is not a decimal number, fail serialization.\n //\n // 2. If input_decimal has more than three significant digits to the\n // right of the decimal point, round it to three decimal places,\n // rounding the final digit to the nearest value, or to the even\n // value if it is equidistant.\n //\n // 3. If input_decimal has more than 12 significant digits to the left\n // of the decimal point after rounding, fail serialization.\n //\n // 4. Let output be an empty string.\n //\n // 5. If input_decimal is less than (but not equal to) 0, append \"-\"\n // to output.\n //\n // 6. Append input_decimal's integer component represented in base 10\n // (using only decimal digits) to output; if it is zero, append\n // \"0\".\n //\n // 7. Append \".\" to output.\n //\n // 8. If input_decimal's fractional component is zero, append \"0\" to\n // output.\n //\n // 9. Otherwise, append the significant digits of input_decimal's\n // fractional component represented in base 10 (using only decimal\n // digits) to output.\n //\n // 10. Return output.\n function serializeDecimal(value) {\n var roundedValue = roundToEven(value, 3); // round to 3 decimal places\n if (Math.floor(Math.abs(roundedValue)).toString().length > 12) {\n throw serializeError(value, DECIMAL);\n }\n var stringValue = roundedValue.toString();\n return stringValue.includes('.') ? stringValue : stringValue + \".0\";\n }\n\n var STRING = 'String';\n\n // 4.1.6. Serializing a String\n //\n // Given a String as input_string, return an ASCII string suitable for\n // use in a HTTP field value.\n //\n // 1. Convert input_string into a sequence of ASCII characters; if\n // conversion fails, fail serialization.\n //\n // 2. If input_string contains characters in the range %x00-1f or %x7f\n // (i.e., not in VCHAR or SP), fail serialization.\n //\n // 3. Let output be the string DQUOTE.\n //\n // 4. For each character char in input_string:\n //\n // 1. If char is \"\\\" or DQUOTE:\n //\n // 1. Append \"\\\" to output.\n //\n // 2. Append char to output.\n //\n // 5. Append DQUOTE to output.\n //\n // 6. Return output.\n function serializeString(value) {\n if (STRING_REGEX.test(value)) {\n throw serializeError(value, STRING);\n }\n return \"\\\"\" + value.replace(/\\\\/g, \"\\\\\\\\\").replace(/\"/g, \"\\\\\\\"\") + \"\\\"\";\n }\n\n function symbolToStr(symbol) {\n return symbol.description || symbol.toString().slice(7, -1);\n }\n\n function serializeToken(token) {\n var value = symbolToStr(token);\n if (/^([a-zA-Z*])([!#$%&'*+\\-.^_`|~\\w:/]*)$/.test(value) === false) {\n throw serializeError(value, TOKEN);\n }\n return value;\n }\n\n // 4.1.3.1. Serializing a Bare Item\n //\n // Given an Item as input_item, return an ASCII string suitable for use\n // in a HTTP field value.\n //\n // 1. If input_item is an Integer, return the result of running\n // Serializing an Integer (Section 4.1.4) with input_item.\n //\n // 2. If input_item is a Decimal, return the result of running\n // Serializing a Decimal (Section 4.1.5) with input_item.\n //\n // 3. If input_item is a String, return the result of running\n // Serializing a String (Section 4.1.6) with input_item.\n //\n // 4. If input_item is a Token, return the result of running\n // Serializing a Token (Section 4.1.7) with input_item.\n //\n // 5. If input_item is a Boolean, return the result of running\n // Serializing a Boolean (Section 4.1.9) with input_item.\n //\n // 6. If input_item is a Byte Sequence, return the result of running\n // Serializing a Byte Sequence (Section 4.1.8) with input_item.\n //\n // 7. If input_item is a Date, return the result of running Serializing\n // a Date (Section 4.1.10) with input_item.\n //\n // 8. Otherwise, fail serialization.\n function serializeBareItem(value) {\n switch (typeof value) {\n case 'number':\n if (!isFiniteNumber(value)) {\n throw serializeError(value, BARE_ITEM);\n }\n if (Number.isInteger(value)) {\n return serializeInteger(value);\n }\n return serializeDecimal(value);\n case 'string':\n return serializeString(value);\n case 'symbol':\n return serializeToken(value);\n case 'boolean':\n return serializeBoolean(value);\n case 'object':\n if (value instanceof Date) {\n return serializeDate(value);\n }\n if (value instanceof Uint8Array) {\n return serializeByteSequence(value);\n }\n if (value instanceof SfToken) {\n return serializeToken(value);\n }\n default:\n // fail\n throw serializeError(value, BARE_ITEM);\n }\n }\n\n // 4.1.1.3. Serializing a Key\n //\n // Given a key as input_key, return an ASCII string suitable for use in\n // a HTTP field value.\n //\n // 1. Convert input_key into a sequence of ASCII characters; if\n // conversion fails, fail serialization.\n //\n // 2. If input_key contains characters not in lcalpha, DIGIT, \"_\", \"-\",\n // \".\", or \"*\" fail serialization.\n //\n // 3. If the first character of input_key is not lcalpha or \"*\", fail\n // serialization.\n //\n // 4. Let output be an empty string.\n //\n // 5. Append input_key to output.\n //\n // 6. Return output.\n function serializeKey(value) {\n if (/^[a-z*][a-z0-9\\-_.*]*$/.test(value) === false) {\n throw serializeError(value, KEY);\n }\n return value;\n }\n\n // 4.1.1.2. Serializing Parameters\n //\n // Given an ordered Dictionary as input_parameters (each member having a\n // param_name and a param_value), return an ASCII string suitable for\n // use in a HTTP field value.\n //\n // 1. Let output be an empty string.\n //\n // 2. For each param_name with a value of param_value in\n // input_parameters:\n //\n // 1. Append \";\" to output.\n //\n // 2. Append the result of running Serializing a Key\n // (Section 4.1.1.3) with param_name to output.\n //\n // 3. If param_value is not Boolean true:\n //\n // 1. Append \"=\" to output.\n //\n // 2. Append the result of running Serializing a bare Item\n // (Section 4.1.3.1) with param_value to output.\n //\n // 3. Return output.\n function serializeParams(params) {\n if (params == null) {\n return '';\n }\n return Object.entries(params).map(function (_ref) {\n var key = _ref[0],\n value = _ref[1];\n if (value === true) {\n return \";\" + serializeKey(key); // omit true\n }\n return \";\" + serializeKey(key) + \"=\" + serializeBareItem(value);\n }).join('');\n }\n\n // 4.1.3. Serializing an Item\n //\n // Given an Item as bare_item and Parameters as item_parameters, return\n // an ASCII string suitable for use in a HTTP field value.\n //\n // 1. Let output be an empty string.\n //\n // 2. Append the result of running Serializing a Bare Item\n // Section 4.1.3.1 with bare_item to output.\n //\n // 3. Append the result of running Serializing Parameters\n // Section 4.1.1.2 with item_parameters to output.\n //\n // 4. Return output.\n function serializeItem(value) {\n if (value instanceof SfItem) {\n return \"\" + serializeBareItem(value.value) + serializeParams(value.params);\n } else {\n return serializeBareItem(value);\n }\n }\n\n // 4.1.1.1. Serializing an Inner List\n //\n // Given an array of (member_value, parameters) tuples as inner_list,\n // and parameters as list_parameters, return an ASCII string suitable\n // for use in a HTTP field value.\n //\n // 1. Let output be the string \"(\".\n //\n // 2. For each (member_value, parameters) of inner_list:\n //\n // 1. Append the result of running Serializing an Item\n // (Section 4.1.3) with (member_value, parameters) to output.\n //\n // 2. If more values remain in inner_list, append a single SP to\n // output.\n //\n // 3. Append \")\" to output.\n //\n // 4. Append the result of running Serializing Parameters\n // (Section 4.1.1.2) with list_parameters to output.\n //\n // 5. Return output.\n function serializeInnerList(value) {\n return \"(\" + value.value.map(serializeItem).join(' ') + \")\" + serializeParams(value.params);\n }\n\n // 4.1.2. Serializing a Dictionary\n //\n // Given an ordered Dictionary as input_dictionary (each member having a\n // member_name and a tuple value of (member_value, parameters)), return\n // an ASCII string suitable for use in a HTTP field value.\n //\n // 1. Let output be an empty string.\n //\n // 2. For each member_name with a value of (member_value, parameters)\n // in input_dictionary:\n //\n // 1. Append the result of running Serializing a Key\n // (Section 4.1.1.3) with member's member_name to output.\n //\n // 2. If member_value is Boolean true:\n //\n // 1. Append the result of running Serializing Parameters\n // (Section 4.1.1.2) with parameters to output.\n //\n // 3. Otherwise:\n //\n // 1. Append \"=\" to output.\n //\n // 2. If member_value is an array, append the result of running\n // Serializing an Inner List (Section 4.1.1.1) with\n // (member_value, parameters) to output.\n //\n // 3. Otherwise, append the result of running Serializing an\n // Item (Section 4.1.3) with (member_value, parameters) to\n // output.\n //\n // 4. If more members remain in input_dictionary:\n //\n // 1. Append \",\" to output.\n //\n // 2. Append a single SP to output.\n //\n // 3. Return output.\n function serializeDict(dict, options) {\n var _options;\n if (options === void 0) {\n options = {\n whitespace: true\n };\n }\n if (typeof dict !== 'object') {\n throw serializeError(dict, DICT);\n }\n var entries = dict instanceof Map ? dict.entries() : Object.entries(dict);\n var optionalWhiteSpace = (_options = options) != null && _options.whitespace ? ' ' : '';\n return Array.from(entries).map(function (_ref) {\n var key = _ref[0],\n item = _ref[1];\n if (item instanceof SfItem === false) {\n item = new SfItem(item);\n }\n var output = serializeKey(key);\n if (item.value === true) {\n output += serializeParams(item.params);\n } else {\n output += '=';\n if (Array.isArray(item.value)) {\n output += serializeInnerList(item);\n } else {\n output += serializeItem(item);\n }\n }\n return output;\n }).join(\",\" + optionalWhiteSpace);\n }\n\n /**\n * Encode an object into a structured field dictionary\n *\n * @param input - The structured field dictionary to encode\n * @returns The structured field string\n *\n * @group Structured Field\n *\n * @beta\n */\n function encodeSfDict(value, options) {\n return serializeDict(value, options);\n }\n\n /**\n * Checks if the given key is a token field.\n *\n * @param key - The key to check.\n *\n * @returns `true` if the key is a token field.\n *\n * @internal\n *\n * @group CMCD\n */\n var isTokenField = function isTokenField(key) {\n return key === 'ot' || key === 'sf' || key === 'st';\n };\n\n var isValid = function isValid(value) {\n if (typeof value === 'number') {\n return isFiniteNumber(value);\n }\n return value != null && value !== '' && value !== false;\n };\n\n /**\n * Constructs a relative path from a URL.\n *\n * @param url - The destination URL\n * @param base - The base URL\n * @returns The relative path\n *\n * @group Utils\n *\n * @beta\n */\n function urlToRelativePath(url, base) {\n var to = new URL(url);\n var from = new URL(base);\n if (to.origin !== from.origin) {\n return url;\n }\n var toPath = to.pathname.split('/').slice(1);\n var fromPath = from.pathname.split('/').slice(1, -1);\n // remove common parents\n while (toPath[0] === fromPath[0]) {\n toPath.shift();\n fromPath.shift();\n }\n // add back paths\n while (fromPath.length) {\n fromPath.shift();\n toPath.unshift('..');\n }\n return toPath.join('/');\n }\n\n /**\n * Generate a random v4 UUID\n *\n * @returns A random v4 UUID\n *\n * @group Utils\n *\n * @beta\n */\n function uuid() {\n try {\n return crypto.randomUUID();\n } catch (error) {\n try {\n var url = URL.createObjectURL(new Blob());\n var _uuid = url.toString();\n URL.revokeObjectURL(url);\n return _uuid.slice(_uuid.lastIndexOf('/') + 1);\n } catch (error) {\n var dt = new Date().getTime();\n var _uuid2 = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\n var r = (dt + Math.random() * 16) % 16 | 0;\n dt = Math.floor(dt / 16);\n return (c == 'x' ? r : r & 0x3 | 0x8).toString(16);\n });\n return _uuid2;\n }\n }\n }\n\n var toRounded = function toRounded(value) {\n return Math.round(value);\n };\n var toUrlSafe = function toUrlSafe(value, options) {\n if (options != null && options.baseUrl) {\n value = urlToRelativePath(value, options.baseUrl);\n }\n return encodeURIComponent(value);\n };\n var toHundred = function toHundred(value) {\n return toRounded(value / 100) * 100;\n };\n /**\n * The default formatters for CMCD values.\n *\n * @group CMCD\n *\n * @beta\n */\n var CmcdFormatters = {\n /**\n * Bitrate (kbps) rounded integer\n */\n br: toRounded,\n /**\n * Duration (milliseconds) rounded integer\n */\n d: toRounded,\n /**\n * Buffer Length (milliseconds) rounded nearest 100ms\n */\n bl: toHundred,\n /**\n * Deadline (milliseconds) rounded nearest 100ms\n */\n dl: toHundred,\n /**\n * Measured Throughput (kbps) rounded nearest 100kbps\n */\n mtp: toHundred,\n /**\n * Next Object Request URL encoded\n */\n nor: toUrlSafe,\n /**\n * Requested maximum throughput (kbps) rounded nearest 100kbps\n */\n rtp: toHundred,\n /**\n * Top Bitrate (kbps) rounded integer\n */\n tb: toRounded\n };\n\n /**\n * Internal CMCD processing function.\n *\n * @param obj - The CMCD object to process.\n * @param map - The mapping function to use.\n * @param options - Options for encoding.\n *\n * @internal\n *\n * @group CMCD\n */\n function processCmcd(obj, options) {\n var results = {};\n if (obj == null || typeof obj !== 'object') {\n return results;\n }\n var keys = Object.keys(obj).sort();\n var formatters = _extends({}, CmcdFormatters, options == null ? void 0 : options.formatters);\n var filter = options == null ? void 0 : options.filter;\n keys.forEach(function (key) {\n if (filter != null && filter(key)) {\n return;\n }\n var value = obj[key];\n var formatter = formatters[key];\n if (formatter) {\n value = formatter(value, options);\n }\n // Version should only be reported if not equal to 1.\n if (key === 'v' && value === 1) {\n return;\n }\n // Playback rate should only be sent if not equal to 1.\n if (key == 'pr' && value === 1) {\n return;\n }\n // ignore invalid values\n if (!isValid(value)) {\n return;\n }\n if (isTokenField(key) && typeof value === 'string') {\n value = new SfToken(value);\n }\n results[key] = value;\n });\n return results;\n }\n\n /**\n * Encode a CMCD object to a string.\n *\n * @param cmcd - The CMCD object to encode.\n * @param options - Options for encoding.\n *\n * @returns The encoded CMCD string.\n *\n * @group CMCD\n *\n * @beta\n */\n function encodeCmcd(cmcd, options) {\n if (options === void 0) {\n options = {};\n }\n if (!cmcd) {\n return '';\n }\n return encodeSfDict(processCmcd(cmcd, options), _extends({\n whitespace: false\n }, options));\n }\n\n /**\n * Convert a CMCD data object to request headers\n *\n * @param cmcd - The CMCD data object to convert.\n * @param options - Options for encoding the CMCD object.\n *\n * @returns The CMCD header shards.\n *\n * @group CMCD\n *\n * @beta\n */\n function toCmcdHeaders(cmcd, options) {\n var _options;\n if (options === void 0) {\n options = {};\n }\n if (!cmcd) {\n return {};\n }\n var entries = Object.entries(cmcd);\n var headerMap = Object.entries(CmcdHeaderMap).concat(Object.entries(((_options = options) == null ? void 0 : _options.customHeaderMap) || {}));\n var shards = entries.reduce(function (acc, entry) {\n var _headerMap$find, _acc$field;\n var key = entry[0],\n value = entry[1];\n var field = ((_headerMap$find = headerMap.find(function (entry) {\n return entry[1].includes(key);\n })) == null ? void 0 : _headerMap$find[0]) || CmcdHeaderField.REQUEST;\n (_acc$field = acc[field]) != null ? _acc$field : acc[field] = {};\n acc[field][key] = value;\n return acc;\n }, {});\n return Object.entries(shards).reduce(function (acc, _ref) {\n var field = _ref[0],\n value = _ref[1];\n acc[field] = encodeCmcd(value, options);\n return acc;\n }, {});\n }\n\n /**\n * Append CMCD query args to a header object.\n *\n * @param headers - The headers to append to.\n * @param cmcd - The CMCD object to append.\n * @param customHeaderMap - A map of custom CMCD keys to header fields.\n *\n * @returns The headers with the CMCD header shards appended.\n *\n * @group CMCD\n *\n * @beta\n */\n function appendCmcdHeaders(headers, cmcd, options) {\n return _extends(headers, toCmcdHeaders(cmcd, options));\n }\n\n /**\n * CMCD parameter name.\n *\n * @group CMCD\n *\n * @beta\n */\n var CMCD_PARAM = 'CMCD';\n\n /**\n * Convert a CMCD data object to a query arg.\n *\n * @param cmcd - The CMCD object to convert.\n * @param options - Options for encoding the CMCD object.\n *\n * @returns The CMCD query arg.\n *\n * @group CMCD\n *\n * @beta\n */\n function toCmcdQuery(cmcd, options) {\n if (options === void 0) {\n options = {};\n }\n if (!cmcd) {\n return '';\n }\n var params = encodeCmcd(cmcd, options);\n return CMCD_PARAM + \"=\" + encodeURIComponent(params);\n }\n\n var REGEX = /CMCD=[^&#]+/;\n /**\n * Append CMCD query args to a URL.\n *\n * @param url - The URL to append to.\n * @param cmcd - The CMCD object to append.\n * @param options - Options for encoding the CMCD object.\n *\n * @returns The URL with the CMCD query args appended.\n *\n * @group CMCD\n *\n * @beta\n */\n function appendCmcdQuery(url, cmcd, options) {\n // TODO: Replace with URLSearchParams once we drop Safari < 10.1 & Chrome < 49 support.\n // https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n var query = toCmcdQuery(cmcd, options);\n if (!query) {\n return url;\n }\n if (REGEX.test(url)) {\n return url.replace(REGEX, query);\n }\n var separator = url.includes('?') ? '&' : '?';\n return \"\" + url + separator + query;\n }\n\n /**\n * Controller to deal with Common Media Client Data (CMCD)\n * @see https://cdn.cta.tech/cta/media/media/resources/standards/pdfs/cta-5004-final.pdf\n */\n var CMCDController = /*#__PURE__*/function () {\n // eslint-disable-line no-restricted-globals\n\n function CMCDController(hls) {\n var _this = this;\n this.hls = void 0;\n this.config = void 0;\n this.media = void 0;\n this.sid = void 0;\n this.cid = void 0;\n this.useHeaders = false;\n this.includeKeys = void 0;\n this.initialized = false;\n this.starved = false;\n this.buffering = true;\n this.audioBuffer = void 0;\n // eslint-disable-line no-restricted-globals\n this.videoBuffer = void 0;\n this.onWaiting = function () {\n if (_this.initialized) {\n _this.starved = true;\n }\n _this.buffering = true;\n };\n this.onPlaying = function () {\n if (!_this.initialized) {\n _this.initialized = true;\n }\n _this.buffering = false;\n };\n /**\n * Apply CMCD data to a manifest request.\n */\n this.applyPlaylistData = function (context) {\n try {\n _this.apply(context, {\n ot: CmObjectType.MANIFEST,\n su: !_this.initialized\n });\n } catch (error) {\n logger.warn('Could not generate manifest CMCD data.', error);\n }\n };\n /**\n * Apply CMCD data to a segment request\n */\n this.applyFragmentData = function (context) {\n try {\n var fragment = context.frag;\n var level = _this.hls.levels[fragment.level];\n var ot = _this.getObjectType(fragment);\n var data = {\n d: fragment.duration * 1000,\n ot: ot\n };\n if (ot === CmObjectType.VIDEO || ot === CmObjectType.AUDIO || ot == CmObjectType.MUXED) {\n data.br = level.bitrate / 1000;\n data.tb = _this.getTopBandwidth(ot) / 1000;\n data.bl = _this.getBufferLength(ot);\n }\n _this.apply(context, data);\n } catch (error) {\n logger.warn('Could not generate segment CMCD data.', error);\n }\n };\n this.hls = hls;\n var config = this.config = hls.config;\n var cmcd = config.cmcd;\n if (cmcd != null) {\n config.pLoader = this.createPlaylistLoader();\n config.fLoader = this.createFragmentLoader();\n this.sid = cmcd.sessionId || uuid();\n this.cid = cmcd.contentId;\n this.useHeaders = cmcd.useHeaders === true;\n this.includeKeys = cmcd.includeKeys;\n this.registerListeners();\n }\n }\n var _proto = CMCDController.prototype;\n _proto.registerListeners = function registerListeners() {\n var hls = this.hls;\n hls.on(Events.MEDIA_ATTACHED, this.onMediaAttached, this);\n hls.on(Events.MEDIA_DETACHED, this.onMediaDetached, this);\n hls.on(Events.BUFFER_CREATED, this.onBufferCreated, this);\n };\n _proto.unregisterListeners = function unregisterListeners() {\n var hls = this.hls;\n hls.off(Events.MEDIA_ATTACHED, this.onMediaAttached, this);\n hls.off(Events.MEDIA_DETACHED, this.onMediaDetached, this);\n hls.off(Events.BUFFER_CREATED, this.onBufferCreated, this);\n };\n _proto.destroy = function destroy() {\n this.unregisterListeners();\n this.onMediaDetached();\n\n // @ts-ignore\n this.hls = this.config = this.audioBuffer = this.videoBuffer = null;\n // @ts-ignore\n this.onWaiting = this.onPlaying = null;\n };\n _proto.onMediaAttached = function onMediaAttached(event, data) {\n this.media = data.media;\n this.media.addEventListener('waiting', this.onWaiting);\n this.media.addEventListener('playing', this.onPlaying);\n };\n _proto.onMediaDetached = function onMediaDetached() {\n if (!this.media) {\n return;\n }\n this.media.removeEventListener('waiting', this.onWaiting);\n this.media.removeEventListener('playing', this.onPlaying);\n\n // @ts-ignore\n this.media = null;\n };\n _proto.onBufferCreated = function onBufferCreated(event, data) {\n var _data$tracks$audio, _data$tracks$video;\n this.audioBuffer = (_data$tracks$audio = data.tracks.audio) == null ? void 0 : _data$tracks$audio.buffer;\n this.videoBuffer = (_data$tracks$video = data.tracks.video) == null ? void 0 : _data$tracks$video.buffer;\n };\n /**\n * Create baseline CMCD data\n */\n _proto.createData = function createData() {\n var _this$media;\n return {\n v: 1,\n sf: CmStreamingFormat.HLS,\n sid: this.sid,\n cid: this.cid,\n pr: (_this$media = this.media) == null ? void 0 : _this$media.playbackRate,\n mtp: this.hls.bandwidthEstimate / 1000\n };\n }\n\n /**\n * Apply CMCD data to a request.\n */;\n _proto.apply = function apply(context, data) {\n if (data === void 0) {\n data = {};\n }\n // apply baseline data\n _extends(data, this.createData());\n var isVideo = data.ot === CmObjectType.INIT || data.ot === CmObjectType.VIDEO || data.ot === CmObjectType.MUXED;\n if (this.starved && isVideo) {\n data.bs = true;\n data.su = true;\n this.starved = false;\n }\n if (data.su == null) {\n data.su = this.buffering;\n }\n\n // TODO: Implement rtp, nrr, nor, dl\n\n var includeKeys = this.includeKeys;\n if (includeKeys) {\n data = Object.keys(data).reduce(function (acc, key) {\n includeKeys.includes(key) && (acc[key] = data[key]);\n return acc;\n }, {});\n }\n if (this.useHeaders) {\n if (!context.headers) {\n context.headers = {};\n }\n appendCmcdHeaders(context.headers, data);\n } else {\n context.url = appendCmcdQuery(context.url, data);\n }\n };\n /**\n * The CMCD object type.\n */\n _proto.getObjectType = function getObjectType(fragment) {\n var type = fragment.type;\n if (type === 'subtitle') {\n return CmObjectType.TIMED_TEXT;\n }\n if (fragment.sn === 'initSegment') {\n return CmObjectType.INIT;\n }\n if (type === 'audio') {\n return CmObjectType.AUDIO;\n }\n if (type === 'main') {\n if (!this.hls.audioTracks.length) {\n return CmObjectType.MUXED;\n }\n return CmObjectType.VIDEO;\n }\n return undefined;\n }\n\n /**\n * Get the highest bitrate.\n */;\n _proto.getTopBandwidth = function getTopBandwidth(type) {\n var bitrate = 0;\n var levels;\n var hls = this.hls;\n if (type === CmObjectType.AUDIO) {\n levels = hls.audioTracks;\n } else {\n var max = hls.maxAutoLevel;\n var len = max > -1 ? max + 1 : hls.levels.length;\n levels = hls.levels.slice(0, len);\n }\n for (var _iterator = _createForOfIteratorHelperLoose(levels), _step; !(_step = _iterator()).done;) {\n var level = _step.value;\n if (level.bitrate > bitrate) {\n bitrate = level.bitrate;\n }\n }\n return bitrate > 0 ? bitrate : NaN;\n }\n\n /**\n * Get the buffer length for a media type in milliseconds\n */;\n _proto.getBufferLength = function getBufferLength(type) {\n var media = this.hls.media;\n var buffer = type === CmObjectType.AUDIO ? this.audioBuffer : this.videoBuffer;\n if (!buffer || !media) {\n return NaN;\n }\n var info = BufferHelper.bufferInfo(buffer, media.currentTime, this.config.maxBufferHole);\n return info.len * 1000;\n }\n\n /**\n * Create a playlist loader\n */;\n _proto.createPlaylistLoader = function createPlaylistLoader() {\n var pLoader = this.config.pLoader;\n var apply = this.applyPlaylistData;\n var Ctor = pLoader || this.config.loader;\n return /*#__PURE__*/function () {\n function CmcdPlaylistLoader(config) {\n this.loader = void 0;\n this.loader = new Ctor(config);\n }\n var _proto2 = CmcdPlaylistLoader.prototype;\n _proto2.destroy = function destroy() {\n this.loader.destroy();\n };\n _proto2.abort = function abort() {\n this.loader.abort();\n };\n _proto2.load = function load(context, config, callbacks) {\n apply(context);\n this.loader.load(context, config, callbacks);\n };\n _createClass(CmcdPlaylistLoader, [{\n key: \"stats\",\n get: function get() {\n return this.loader.stats;\n }\n }, {\n key: \"context\",\n get: function get() {\n return this.loader.context;\n }\n }]);\n return CmcdPlaylistLoader;\n }();\n }\n\n /**\n * Create a playlist loader\n */;\n _proto.createFragmentLoader = function createFragmentLoader() {\n var fLoader = this.config.fLoader;\n var apply = this.applyFragmentData;\n var Ctor = fLoader || this.config.loader;\n return /*#__PURE__*/function () {\n function CmcdFragmentLoader(config) {\n this.loader = void 0;\n this.loader = new Ctor(config);\n }\n var _proto3 = CmcdFragmentLoader.prototype;\n _proto3.destroy = function destroy() {\n this.loader.destroy();\n };\n _proto3.abort = function abort() {\n this.loader.abort();\n };\n _proto3.load = function load(context, config, callbacks) {\n apply(context);\n this.loader.load(context, config, callbacks);\n };\n _createClass(CmcdFragmentLoader, [{\n key: \"stats\",\n get: function get() {\n return this.loader.stats;\n }\n }, {\n key: \"context\",\n get: function get() {\n return this.loader.context;\n }\n }]);\n return CmcdFragmentLoader;\n }();\n };\n return CMCDController;\n }();\n\n var PATHWAY_PENALTY_DURATION_MS = 300000;\n var ContentSteeringController = /*#__PURE__*/function () {\n function ContentSteeringController(hls) {\n this.hls = void 0;\n this.log = void 0;\n this.loader = null;\n this.uri = null;\n this.pathwayId = '.';\n this.pathwayPriority = null;\n this.timeToLoad = 300;\n this.reloadTimer = -1;\n this.updated = 0;\n this.started = false;\n this.enabled = true;\n this.levels = null;\n this.audioTracks = null;\n this.subtitleTracks = null;\n this.penalizedPathways = {};\n this.hls = hls;\n this.log = logger.log.bind(logger, \"[content-steering]:\");\n this.registerListeners();\n }\n var _proto = ContentSteeringController.prototype;\n _proto.registerListeners = function registerListeners() {\n var hls = this.hls;\n hls.on(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.on(Events.MANIFEST_LOADED, this.onManifestLoaded, this);\n hls.on(Events.MANIFEST_PARSED, this.onManifestParsed, this);\n hls.on(Events.ERROR, this.onError, this);\n };\n _proto.unregisterListeners = function unregisterListeners() {\n var hls = this.hls;\n if (!hls) {\n return;\n }\n hls.off(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.off(Events.MANIFEST_LOADED, this.onManifestLoaded, this);\n hls.off(Events.MANIFEST_PARSED, this.onManifestParsed, this);\n hls.off(Events.ERROR, this.onError, this);\n };\n _proto.startLoad = function startLoad() {\n this.started = true;\n this.clearTimeout();\n if (this.enabled && this.uri) {\n if (this.updated) {\n var ttl = this.timeToLoad * 1000 - (performance.now() - this.updated);\n if (ttl > 0) {\n this.scheduleRefresh(this.uri, ttl);\n return;\n }\n }\n this.loadSteeringManifest(this.uri);\n }\n };\n _proto.stopLoad = function stopLoad() {\n this.started = false;\n if (this.loader) {\n this.loader.destroy();\n this.loader = null;\n }\n this.clearTimeout();\n };\n _proto.clearTimeout = function clearTimeout() {\n if (this.reloadTimer !== -1) {\n self.clearTimeout(this.reloadTimer);\n this.reloadTimer = -1;\n }\n };\n _proto.destroy = function destroy() {\n this.unregisterListeners();\n this.stopLoad();\n // @ts-ignore\n this.hls = null;\n this.levels = this.audioTracks = this.subtitleTracks = null;\n };\n _proto.removeLevel = function removeLevel(levelToRemove) {\n var levels = this.levels;\n if (levels) {\n this.levels = levels.filter(function (level) {\n return level !== levelToRemove;\n });\n }\n };\n _proto.onManifestLoading = function onManifestLoading() {\n this.stopLoad();\n this.enabled = true;\n this.timeToLoad = 300;\n this.updated = 0;\n this.uri = null;\n this.pathwayId = '.';\n this.levels = this.audioTracks = this.subtitleTracks = null;\n };\n _proto.onManifestLoaded = function onManifestLoaded(event, data) {\n var contentSteering = data.contentSteering;\n if (contentSteering === null) {\n return;\n }\n this.pathwayId = contentSteering.pathwayId;\n this.uri = contentSteering.uri;\n if (this.started) {\n this.startLoad();\n }\n };\n _proto.onManifestParsed = function onManifestParsed(event, data) {\n this.audioTracks = data.audioTracks;\n this.subtitleTracks = data.subtitleTracks;\n };\n _proto.onError = function onError(event, data) {\n var errorAction = data.errorAction;\n if ((errorAction == null ? void 0 : errorAction.action) === NetworkErrorAction.SendAlternateToPenaltyBox && errorAction.flags === ErrorActionFlags.MoveAllAlternatesMatchingHost) {\n var levels = this.levels;\n var pathwayPriority = this.pathwayPriority;\n var errorPathway = this.pathwayId;\n if (data.context) {\n var _data$context = data.context,\n groupId = _data$context.groupId,\n _pathwayId = _data$context.pathwayId,\n type = _data$context.type;\n if (groupId && levels) {\n errorPathway = this.getPathwayForGroupId(groupId, type, errorPathway);\n } else if (_pathwayId) {\n errorPathway = _pathwayId;\n }\n }\n if (!(errorPathway in this.penalizedPathways)) {\n this.penalizedPathways[errorPathway] = performance.now();\n }\n if (!pathwayPriority && levels) {\n // If PATHWAY-PRIORITY was not provided, list pathways for error handling\n pathwayPriority = levels.reduce(function (pathways, level) {\n if (pathways.indexOf(level.pathwayId) === -1) {\n pathways.push(level.pathwayId);\n }\n return pathways;\n }, []);\n }\n if (pathwayPriority && pathwayPriority.length > 1) {\n this.updatePathwayPriority(pathwayPriority);\n errorAction.resolved = this.pathwayId !== errorPathway;\n }\n if (!errorAction.resolved) {\n logger.warn(\"Could not resolve \" + data.details + \" (\\\"\" + data.error.message + \"\\\") with content-steering for Pathway: \" + errorPathway + \" levels: \" + (levels ? levels.length : levels) + \" priorities: \" + JSON.stringify(pathwayPriority) + \" penalized: \" + JSON.stringify(this.penalizedPathways));\n }\n }\n };\n _proto.filterParsedLevels = function filterParsedLevels(levels) {\n // Filter levels to only include those that are in the initial pathway\n this.levels = levels;\n var pathwayLevels = this.getLevelsForPathway(this.pathwayId);\n if (pathwayLevels.length === 0) {\n var _pathwayId2 = levels[0].pathwayId;\n this.log(\"No levels found in Pathway \" + this.pathwayId + \". Setting initial Pathway to \\\"\" + _pathwayId2 + \"\\\"\");\n pathwayLevels = this.getLevelsForPathway(_pathwayId2);\n this.pathwayId = _pathwayId2;\n }\n if (pathwayLevels.length !== levels.length) {\n this.log(\"Found \" + pathwayLevels.length + \"/\" + levels.length + \" levels in Pathway \\\"\" + this.pathwayId + \"\\\"\");\n return pathwayLevels;\n }\n return levels;\n };\n _proto.getLevelsForPathway = function getLevelsForPathway(pathwayId) {\n if (this.levels === null) {\n return [];\n }\n return this.levels.filter(function (level) {\n return pathwayId === level.pathwayId;\n });\n };\n _proto.updatePathwayPriority = function updatePathwayPriority(pathwayPriority) {\n this.pathwayPriority = pathwayPriority;\n var levels;\n\n // Evaluate if we should remove the pathway from the penalized list\n var penalizedPathways = this.penalizedPathways;\n var now = performance.now();\n Object.keys(penalizedPathways).forEach(function (pathwayId) {\n if (now - penalizedPathways[pathwayId] > PATHWAY_PENALTY_DURATION_MS) {\n delete penalizedPathways[pathwayId];\n }\n });\n for (var i = 0; i < pathwayPriority.length; i++) {\n var _pathwayId3 = pathwayPriority[i];\n if (_pathwayId3 in penalizedPathways) {\n continue;\n }\n if (_pathwayId3 === this.pathwayId) {\n return;\n }\n var selectedIndex = this.hls.nextLoadLevel;\n var selectedLevel = this.hls.levels[selectedIndex];\n levels = this.getLevelsForPathway(_pathwayId3);\n if (levels.length > 0) {\n this.log(\"Setting Pathway to \\\"\" + _pathwayId3 + \"\\\"\");\n this.pathwayId = _pathwayId3;\n reassignFragmentLevelIndexes(levels);\n this.hls.trigger(Events.LEVELS_UPDATED, {\n levels: levels\n });\n // Set LevelController's level to trigger LEVEL_SWITCHING which loads playlist if needed\n var levelAfterChange = this.hls.levels[selectedIndex];\n if (selectedLevel && levelAfterChange && this.levels) {\n if (levelAfterChange.attrs['STABLE-VARIANT-ID'] !== selectedLevel.attrs['STABLE-VARIANT-ID'] && levelAfterChange.bitrate !== selectedLevel.bitrate) {\n this.log(\"Unstable Pathways change from bitrate \" + selectedLevel.bitrate + \" to \" + levelAfterChange.bitrate);\n }\n this.hls.nextLoadLevel = selectedIndex;\n }\n break;\n }\n }\n };\n _proto.getPathwayForGroupId = function getPathwayForGroupId(groupId, type, defaultPathway) {\n var levels = this.getLevelsForPathway(defaultPathway).concat(this.levels || []);\n for (var i = 0; i < levels.length; i++) {\n if (type === PlaylistContextType.AUDIO_TRACK && levels[i].hasAudioGroup(groupId) || type === PlaylistContextType.SUBTITLE_TRACK && levels[i].hasSubtitleGroup(groupId)) {\n return levels[i].pathwayId;\n }\n }\n return defaultPathway;\n };\n _proto.clonePathways = function clonePathways(pathwayClones) {\n var _this = this;\n var levels = this.levels;\n if (!levels) {\n return;\n }\n var audioGroupCloneMap = {};\n var subtitleGroupCloneMap = {};\n pathwayClones.forEach(function (pathwayClone) {\n var cloneId = pathwayClone.ID,\n baseId = pathwayClone['BASE-ID'],\n uriReplacement = pathwayClone['URI-REPLACEMENT'];\n if (levels.some(function (level) {\n return level.pathwayId === cloneId;\n })) {\n return;\n }\n var clonedVariants = _this.getLevelsForPathway(baseId).map(function (baseLevel) {\n var attributes = new AttrList(baseLevel.attrs);\n attributes['PATHWAY-ID'] = cloneId;\n var clonedAudioGroupId = attributes.AUDIO && attributes.AUDIO + \"_clone_\" + cloneId;\n var clonedSubtitleGroupId = attributes.SUBTITLES && attributes.SUBTITLES + \"_clone_\" + cloneId;\n if (clonedAudioGroupId) {\n audioGroupCloneMap[attributes.AUDIO] = clonedAudioGroupId;\n attributes.AUDIO = clonedAudioGroupId;\n }\n if (clonedSubtitleGroupId) {\n subtitleGroupCloneMap[attributes.SUBTITLES] = clonedSubtitleGroupId;\n attributes.SUBTITLES = clonedSubtitleGroupId;\n }\n var url = performUriReplacement(baseLevel.uri, attributes['STABLE-VARIANT-ID'], 'PER-VARIANT-URIS', uriReplacement);\n var clonedLevel = new Level({\n attrs: attributes,\n audioCodec: baseLevel.audioCodec,\n bitrate: baseLevel.bitrate,\n height: baseLevel.height,\n name: baseLevel.name,\n url: url,\n videoCodec: baseLevel.videoCodec,\n width: baseLevel.width\n });\n if (baseLevel.audioGroups) {\n for (var i = 1; i < baseLevel.audioGroups.length; i++) {\n clonedLevel.addGroupId('audio', baseLevel.audioGroups[i] + \"_clone_\" + cloneId);\n }\n }\n if (baseLevel.subtitleGroups) {\n for (var _i = 1; _i < baseLevel.subtitleGroups.length; _i++) {\n clonedLevel.addGroupId('text', baseLevel.subtitleGroups[_i] + \"_clone_\" + cloneId);\n }\n }\n return clonedLevel;\n });\n levels.push.apply(levels, clonedVariants);\n cloneRenditionGroups(_this.audioTracks, audioGroupCloneMap, uriReplacement, cloneId);\n cloneRenditionGroups(_this.subtitleTracks, subtitleGroupCloneMap, uriReplacement, cloneId);\n });\n };\n _proto.loadSteeringManifest = function loadSteeringManifest(uri) {\n var _this2 = this;\n var config = this.hls.config;\n var Loader = config.loader;\n if (this.loader) {\n this.loader.destroy();\n }\n this.loader = new Loader(config);\n var url;\n try {\n url = new self.URL(uri);\n } catch (error) {\n this.enabled = false;\n this.log(\"Failed to parse Steering Manifest URI: \" + uri);\n return;\n }\n if (url.protocol !== 'data:') {\n var throughput = (this.hls.bandwidthEstimate || config.abrEwmaDefaultEstimate) | 0;\n url.searchParams.set('_HLS_pathway', this.pathwayId);\n url.searchParams.set('_HLS_throughput', '' + throughput);\n }\n var context = {\n responseType: 'json',\n url: url.href\n };\n var loadPolicy = config.steeringManifestLoadPolicy.default;\n var legacyRetryCompatibility = loadPolicy.errorRetry || loadPolicy.timeoutRetry || {};\n var loaderConfig = {\n loadPolicy: loadPolicy,\n timeout: loadPolicy.maxLoadTimeMs,\n maxRetry: legacyRetryCompatibility.maxNumRetry || 0,\n retryDelay: legacyRetryCompatibility.retryDelayMs || 0,\n maxRetryDelay: legacyRetryCompatibility.maxRetryDelayMs || 0\n };\n var callbacks = {\n onSuccess: function onSuccess(response, stats, context, networkDetails) {\n _this2.log(\"Loaded steering manifest: \\\"\" + url + \"\\\"\");\n var steeringData = response.data;\n if (steeringData.VERSION !== 1) {\n _this2.log(\"Steering VERSION \" + steeringData.VERSION + \" not supported!\");\n return;\n }\n _this2.updated = performance.now();\n _this2.timeToLoad = steeringData.TTL;\n var reloadUri = steeringData['RELOAD-URI'],\n pathwayClones = steeringData['PATHWAY-CLONES'],\n pathwayPriority = steeringData['PATHWAY-PRIORITY'];\n if (reloadUri) {\n try {\n _this2.uri = new self.URL(reloadUri, url).href;\n } catch (error) {\n _this2.enabled = false;\n _this2.log(\"Failed to parse Steering Manifest RELOAD-URI: \" + reloadUri);\n return;\n }\n }\n _this2.scheduleRefresh(_this2.uri || context.url);\n if (pathwayClones) {\n _this2.clonePathways(pathwayClones);\n }\n var loadedSteeringData = {\n steeringManifest: steeringData,\n url: url.toString()\n };\n _this2.hls.trigger(Events.STEERING_MANIFEST_LOADED, loadedSteeringData);\n if (pathwayPriority) {\n _this2.updatePathwayPriority(pathwayPriority);\n }\n },\n onError: function onError(error, context, networkDetails, stats) {\n _this2.log(\"Error loading steering manifest: \" + error.code + \" \" + error.text + \" (\" + context.url + \")\");\n _this2.stopLoad();\n if (error.code === 410) {\n _this2.enabled = false;\n _this2.log(\"Steering manifest \" + context.url + \" no longer available\");\n return;\n }\n var ttl = _this2.timeToLoad * 1000;\n if (error.code === 429) {\n var loader = _this2.loader;\n if (typeof (loader == null ? void 0 : loader.getResponseHeader) === 'function') {\n var retryAfter = loader.getResponseHeader('Retry-After');\n if (retryAfter) {\n ttl = parseFloat(retryAfter) * 1000;\n }\n }\n _this2.log(\"Steering manifest \" + context.url + \" rate limited\");\n return;\n }\n _this2.scheduleRefresh(_this2.uri || context.url, ttl);\n },\n onTimeout: function onTimeout(stats, context, networkDetails) {\n _this2.log(\"Timeout loading steering manifest (\" + context.url + \")\");\n _this2.scheduleRefresh(_this2.uri || context.url);\n }\n };\n this.log(\"Requesting steering manifest: \" + url);\n this.loader.load(context, loaderConfig, callbacks);\n };\n _proto.scheduleRefresh = function scheduleRefresh(uri, ttlMs) {\n var _this3 = this;\n if (ttlMs === void 0) {\n ttlMs = this.timeToLoad * 1000;\n }\n this.clearTimeout();\n this.reloadTimer = self.setTimeout(function () {\n var _this3$hls;\n var media = (_this3$hls = _this3.hls) == null ? void 0 : _this3$hls.media;\n if (media && !media.ended) {\n _this3.loadSteeringManifest(uri);\n return;\n }\n _this3.scheduleRefresh(uri, _this3.timeToLoad * 1000);\n }, ttlMs);\n };\n return ContentSteeringController;\n }();\n function cloneRenditionGroups(tracks, groupCloneMap, uriReplacement, cloneId) {\n if (!tracks) {\n return;\n }\n Object.keys(groupCloneMap).forEach(function (audioGroupId) {\n var clonedTracks = tracks.filter(function (track) {\n return track.groupId === audioGroupId;\n }).map(function (track) {\n var clonedTrack = _extends({}, track);\n clonedTrack.details = undefined;\n clonedTrack.attrs = new AttrList(clonedTrack.attrs);\n clonedTrack.url = clonedTrack.attrs.URI = performUriReplacement(track.url, track.attrs['STABLE-RENDITION-ID'], 'PER-RENDITION-URIS', uriReplacement);\n clonedTrack.groupId = clonedTrack.attrs['GROUP-ID'] = groupCloneMap[audioGroupId];\n clonedTrack.attrs['PATHWAY-ID'] = cloneId;\n return clonedTrack;\n });\n tracks.push.apply(tracks, clonedTracks);\n });\n }\n function performUriReplacement(uri, stableId, perOptionKey, uriReplacement) {\n var host = uriReplacement.HOST,\n params = uriReplacement.PARAMS,\n perOptionUris = uriReplacement[perOptionKey];\n var perVariantUri;\n if (stableId) {\n perVariantUri = perOptionUris == null ? void 0 : perOptionUris[stableId];\n if (perVariantUri) {\n uri = perVariantUri;\n }\n }\n var url = new self.URL(uri);\n if (host && !perVariantUri) {\n url.host = host;\n }\n if (params) {\n Object.keys(params).sort().forEach(function (key) {\n if (key) {\n url.searchParams.set(key, params[key]);\n }\n });\n }\n return url.href;\n }\n\n var AGE_HEADER_LINE_REGEX = /^age:\\s*[\\d.]+\\s*$/im;\n var XhrLoader = /*#__PURE__*/function () {\n function XhrLoader(config) {\n this.xhrSetup = void 0;\n this.requestTimeout = void 0;\n this.retryTimeout = void 0;\n this.retryDelay = void 0;\n this.config = null;\n this.callbacks = null;\n this.context = null;\n this.loader = null;\n this.stats = void 0;\n this.xhrSetup = config ? config.xhrSetup || null : null;\n this.stats = new LoadStats();\n this.retryDelay = 0;\n }\n var _proto = XhrLoader.prototype;\n _proto.destroy = function destroy() {\n this.callbacks = null;\n this.abortInternal();\n this.loader = null;\n this.config = null;\n this.context = null;\n this.xhrSetup = null;\n // @ts-ignore\n this.stats = null;\n };\n _proto.abortInternal = function abortInternal() {\n var loader = this.loader;\n self.clearTimeout(this.requestTimeout);\n self.clearTimeout(this.retryTimeout);\n if (loader) {\n loader.onreadystatechange = null;\n loader.onprogress = null;\n if (loader.readyState !== 4) {\n this.stats.aborted = true;\n loader.abort();\n }\n }\n };\n _proto.abort = function abort() {\n var _this$callbacks;\n this.abortInternal();\n if ((_this$callbacks = this.callbacks) != null && _this$callbacks.onAbort) {\n this.callbacks.onAbort(this.stats, this.context, this.loader);\n }\n };\n _proto.load = function load(context, config, callbacks) {\n if (this.stats.loading.start) {\n throw new Error('Loader can only be used once.');\n }\n this.stats.loading.start = self.performance.now();\n this.context = context;\n this.config = config;\n this.callbacks = callbacks;\n this.loadInternal();\n };\n _proto.loadInternal = function loadInternal() {\n var _this = this;\n var config = this.config,\n context = this.context;\n if (!config || !context) {\n return;\n }\n var xhr = this.loader = new self.XMLHttpRequest();\n var stats = this.stats;\n stats.loading.first = 0;\n stats.loaded = 0;\n stats.aborted = false;\n var xhrSetup = this.xhrSetup;\n if (xhrSetup) {\n Promise.resolve().then(function () {\n if (_this.stats.aborted) return;\n return xhrSetup(xhr, context.url);\n }).catch(function (error) {\n xhr.open('GET', context.url, true);\n return xhrSetup(xhr, context.url);\n }).then(function () {\n if (_this.stats.aborted) return;\n _this.openAndSendXhr(xhr, context, config);\n }).catch(function (error) {\n // IE11 throws an exception on xhr.open if attempting to access an HTTP resource over HTTPS\n _this.callbacks.onError({\n code: xhr.status,\n text: error.message\n }, context, xhr, stats);\n return;\n });\n } else {\n this.openAndSendXhr(xhr, context, config);\n }\n };\n _proto.openAndSendXhr = function openAndSendXhr(xhr, context, config) {\n if (!xhr.readyState) {\n xhr.open('GET', context.url, true);\n }\n var headers = context.headers;\n var _config$loadPolicy = config.loadPolicy,\n maxTimeToFirstByteMs = _config$loadPolicy.maxTimeToFirstByteMs,\n maxLoadTimeMs = _config$loadPolicy.maxLoadTimeMs;\n if (headers) {\n for (var header in headers) {\n xhr.setRequestHeader(header, headers[header]);\n }\n }\n if (context.rangeEnd) {\n xhr.setRequestHeader('Range', 'bytes=' + context.rangeStart + '-' + (context.rangeEnd - 1));\n }\n xhr.onreadystatechange = this.readystatechange.bind(this);\n xhr.onprogress = this.loadprogress.bind(this);\n xhr.responseType = context.responseType;\n // setup timeout before we perform request\n self.clearTimeout(this.requestTimeout);\n config.timeout = maxTimeToFirstByteMs && isFiniteNumber(maxTimeToFirstByteMs) ? maxTimeToFirstByteMs : maxLoadTimeMs;\n this.requestTimeout = self.setTimeout(this.loadtimeout.bind(this), config.timeout);\n xhr.send();\n };\n _proto.readystatechange = function readystatechange() {\n var context = this.context,\n xhr = this.loader,\n stats = this.stats;\n if (!context || !xhr) {\n return;\n }\n var readyState = xhr.readyState;\n var config = this.config;\n\n // don't proceed if xhr has been aborted\n if (stats.aborted) {\n return;\n }\n\n // >= HEADERS_RECEIVED\n if (readyState >= 2) {\n if (stats.loading.first === 0) {\n stats.loading.first = Math.max(self.performance.now(), stats.loading.start);\n // readyState >= 2 AND readyState !==4 (readyState = HEADERS_RECEIVED || LOADING) rearm timeout as xhr not finished yet\n if (config.timeout !== config.loadPolicy.maxLoadTimeMs) {\n self.clearTimeout(this.requestTimeout);\n config.timeout = config.loadPolicy.maxLoadTimeMs;\n this.requestTimeout = self.setTimeout(this.loadtimeout.bind(this), config.loadPolicy.maxLoadTimeMs - (stats.loading.first - stats.loading.start));\n }\n }\n if (readyState === 4) {\n self.clearTimeout(this.requestTimeout);\n xhr.onreadystatechange = null;\n xhr.onprogress = null;\n var _status = xhr.status;\n // http status between 200 to 299 are all successful\n var useResponse = xhr.responseType !== 'text';\n if (_status >= 200 && _status < 300 && (useResponse && xhr.response || xhr.responseText !== null)) {\n stats.loading.end = Math.max(self.performance.now(), stats.loading.first);\n var data = useResponse ? xhr.response : xhr.responseText;\n var len = xhr.responseType === 'arraybuffer' ? data.byteLength : data.length;\n stats.loaded = stats.total = len;\n stats.bwEstimate = stats.total * 8000 / (stats.loading.end - stats.loading.first);\n if (!this.callbacks) {\n return;\n }\n var onProgress = this.callbacks.onProgress;\n if (onProgress) {\n onProgress(stats, context, data, xhr);\n }\n if (!this.callbacks) {\n return;\n }\n var response = {\n url: xhr.responseURL,\n data: data,\n code: _status\n };\n this.callbacks.onSuccess(response, stats, context, xhr);\n } else {\n var retryConfig = config.loadPolicy.errorRetry;\n var retryCount = stats.retry;\n // if max nb of retries reached or if http status between 400 and 499 (such error cannot be recovered, retrying is useless), return error\n var _response = {\n url: context.url,\n data: undefined,\n code: _status\n };\n if (shouldRetry(retryConfig, retryCount, false, _response)) {\n this.retry(retryConfig);\n } else {\n logger.error(_status + \" while loading \" + context.url);\n this.callbacks.onError({\n code: _status,\n text: xhr.statusText\n }, context, xhr, stats);\n }\n }\n }\n }\n };\n _proto.loadtimeout = function loadtimeout() {\n var _this$config;\n var retryConfig = (_this$config = this.config) == null ? void 0 : _this$config.loadPolicy.timeoutRetry;\n var retryCount = this.stats.retry;\n if (shouldRetry(retryConfig, retryCount, true)) {\n this.retry(retryConfig);\n } else {\n var _this$context;\n logger.warn(\"timeout while loading \" + ((_this$context = this.context) == null ? void 0 : _this$context.url));\n var callbacks = this.callbacks;\n if (callbacks) {\n this.abortInternal();\n callbacks.onTimeout(this.stats, this.context, this.loader);\n }\n }\n };\n _proto.retry = function retry(retryConfig) {\n var context = this.context,\n stats = this.stats;\n this.retryDelay = getRetryDelay(retryConfig, stats.retry);\n stats.retry++;\n logger.warn((status ? 'HTTP Status ' + status : 'Timeout') + \" while loading \" + (context == null ? void 0 : context.url) + \", retrying \" + stats.retry + \"/\" + retryConfig.maxNumRetry + \" in \" + this.retryDelay + \"ms\");\n // abort and reset internal state\n this.abortInternal();\n this.loader = null;\n // schedule retry\n self.clearTimeout(this.retryTimeout);\n this.retryTimeout = self.setTimeout(this.loadInternal.bind(this), this.retryDelay);\n };\n _proto.loadprogress = function loadprogress(event) {\n var stats = this.stats;\n stats.loaded = event.loaded;\n if (event.lengthComputable) {\n stats.total = event.total;\n }\n };\n _proto.getCacheAge = function getCacheAge() {\n var result = null;\n if (this.loader && AGE_HEADER_LINE_REGEX.test(this.loader.getAllResponseHeaders())) {\n var ageHeader = this.loader.getResponseHeader('age');\n result = ageHeader ? parseFloat(ageHeader) : null;\n }\n return result;\n };\n _proto.getResponseHeader = function getResponseHeader(name) {\n if (this.loader && new RegExp(\"^\" + name + \":\\\\s*[\\\\d.]+\\\\s*$\", 'im').test(this.loader.getAllResponseHeaders())) {\n return this.loader.getResponseHeader(name);\n }\n return null;\n };\n return XhrLoader;\n }();\n\n function fetchSupported() {\n if (\n // @ts-ignore\n self.fetch && self.AbortController && self.ReadableStream && self.Request) {\n try {\n new self.ReadableStream({}); // eslint-disable-line no-new\n return true;\n } catch (e) {\n /* noop */\n }\n }\n return false;\n }\n var BYTERANGE = /(\\d+)-(\\d+)\\/(\\d+)/;\n var FetchLoader = /*#__PURE__*/function () {\n function FetchLoader(config /* HlsConfig */) {\n this.fetchSetup = void 0;\n this.requestTimeout = void 0;\n this.request = null;\n this.response = null;\n this.controller = void 0;\n this.context = null;\n this.config = null;\n this.callbacks = null;\n this.stats = void 0;\n this.loader = null;\n this.fetchSetup = config.fetchSetup || getRequest;\n this.controller = new self.AbortController();\n this.stats = new LoadStats();\n }\n var _proto = FetchLoader.prototype;\n _proto.destroy = function destroy() {\n this.loader = this.callbacks = this.context = this.config = this.request = null;\n this.abortInternal();\n this.response = null;\n // @ts-ignore\n this.fetchSetup = this.controller = this.stats = null;\n };\n _proto.abortInternal = function abortInternal() {\n if (this.controller && !this.stats.loading.end) {\n this.stats.aborted = true;\n this.controller.abort();\n }\n };\n _proto.abort = function abort() {\n var _this$callbacks;\n this.abortInternal();\n if ((_this$callbacks = this.callbacks) != null && _this$callbacks.onAbort) {\n this.callbacks.onAbort(this.stats, this.context, this.response);\n }\n };\n _proto.load = function load(context, config, callbacks) {\n var _this = this;\n var stats = this.stats;\n if (stats.loading.start) {\n throw new Error('Loader can only be used once.');\n }\n stats.loading.start = self.performance.now();\n var initParams = getRequestParameters(context, this.controller.signal);\n var onProgress = callbacks.onProgress;\n var isArrayBuffer = context.responseType === 'arraybuffer';\n var LENGTH = isArrayBuffer ? 'byteLength' : 'length';\n var _config$loadPolicy = config.loadPolicy,\n maxTimeToFirstByteMs = _config$loadPolicy.maxTimeToFirstByteMs,\n maxLoadTimeMs = _config$loadPolicy.maxLoadTimeMs;\n this.context = context;\n this.config = config;\n this.callbacks = callbacks;\n this.request = this.fetchSetup(context, initParams);\n self.clearTimeout(this.requestTimeout);\n config.timeout = maxTimeToFirstByteMs && isFiniteNumber(maxTimeToFirstByteMs) ? maxTimeToFirstByteMs : maxLoadTimeMs;\n this.requestTimeout = self.setTimeout(function () {\n _this.abortInternal();\n callbacks.onTimeout(stats, context, _this.response);\n }, config.timeout);\n self.fetch(this.request).then(function (response) {\n _this.response = _this.loader = response;\n var first = Math.max(self.performance.now(), stats.loading.start);\n self.clearTimeout(_this.requestTimeout);\n config.timeout = maxLoadTimeMs;\n _this.requestTimeout = self.setTimeout(function () {\n _this.abortInternal();\n callbacks.onTimeout(stats, context, _this.response);\n }, maxLoadTimeMs - (first - stats.loading.start));\n if (!response.ok) {\n var status = response.status,\n statusText = response.statusText;\n throw new FetchError(statusText || 'fetch, bad network response', status, response);\n }\n stats.loading.first = first;\n stats.total = getContentLength(response.headers) || stats.total;\n if (onProgress && isFiniteNumber(config.highWaterMark)) {\n return _this.loadProgressively(response, stats, context, config.highWaterMark, onProgress);\n }\n if (isArrayBuffer) {\n return response.arrayBuffer();\n }\n if (context.responseType === 'json') {\n return response.json();\n }\n return response.text();\n }).then(function (responseData) {\n var response = _this.response;\n if (!response) {\n throw new Error('loader destroyed');\n }\n self.clearTimeout(_this.requestTimeout);\n stats.loading.end = Math.max(self.performance.now(), stats.loading.first);\n var total = responseData[LENGTH];\n if (total) {\n stats.loaded = stats.total = total;\n }\n var loaderResponse = {\n url: response.url,\n data: responseData,\n code: response.status\n };\n if (onProgress && !isFiniteNumber(config.highWaterMark)) {\n onProgress(stats, context, responseData, response);\n }\n callbacks.onSuccess(loaderResponse, stats, context, response);\n }).catch(function (error) {\n self.clearTimeout(_this.requestTimeout);\n if (stats.aborted) {\n return;\n }\n // CORS errors result in an undefined code. Set it to 0 here to align with XHR's behavior\n // when destroying, 'error' itself can be undefined\n var code = !error ? 0 : error.code || 0;\n var text = !error ? null : error.message;\n callbacks.onError({\n code: code,\n text: text\n }, context, error ? error.details : null, stats);\n });\n };\n _proto.getCacheAge = function getCacheAge() {\n var result = null;\n if (this.response) {\n var ageHeader = this.response.headers.get('age');\n result = ageHeader ? parseFloat(ageHeader) : null;\n }\n return result;\n };\n _proto.getResponseHeader = function getResponseHeader(name) {\n return this.response ? this.response.headers.get(name) : null;\n };\n _proto.loadProgressively = function loadProgressively(response, stats, context, highWaterMark, onProgress) {\n if (highWaterMark === void 0) {\n highWaterMark = 0;\n }\n var chunkCache = new ChunkCache();\n var reader = response.body.getReader();\n var pump = function pump() {\n return reader.read().then(function (data) {\n if (data.done) {\n if (chunkCache.dataLength) {\n onProgress(stats, context, chunkCache.flush(), response);\n }\n return Promise.resolve(new ArrayBuffer(0));\n }\n var chunk = data.value;\n var len = chunk.length;\n stats.loaded += len;\n if (len < highWaterMark || chunkCache.dataLength) {\n // The current chunk is too small to to be emitted or the cache already has data\n // Push it to the cache\n chunkCache.push(chunk);\n if (chunkCache.dataLength >= highWaterMark) {\n // flush in order to join the typed arrays\n onProgress(stats, context, chunkCache.flush(), response);\n }\n } else {\n // If there's nothing cached already, and the chache is large enough\n // just emit the progress event\n onProgress(stats, context, chunk, response);\n }\n return pump();\n }).catch(function () {\n /* aborted */\n return Promise.reject();\n });\n };\n return pump();\n };\n return FetchLoader;\n }();\n function getRequestParameters(context, signal) {\n var initParams = {\n method: 'GET',\n mode: 'cors',\n credentials: 'same-origin',\n signal: signal,\n headers: new self.Headers(_extends({}, context.headers))\n };\n if (context.rangeEnd) {\n initParams.headers.set('Range', 'bytes=' + context.rangeStart + '-' + String(context.rangeEnd - 1));\n }\n return initParams;\n }\n function getByteRangeLength(byteRangeHeader) {\n var result = BYTERANGE.exec(byteRangeHeader);\n if (result) {\n return parseInt(result[2]) - parseInt(result[1]) + 1;\n }\n }\n function getContentLength(headers) {\n var contentRange = headers.get('Content-Range');\n if (contentRange) {\n var byteRangeLength = getByteRangeLength(contentRange);\n if (isFiniteNumber(byteRangeLength)) {\n return byteRangeLength;\n }\n }\n var contentLength = headers.get('Content-Length');\n if (contentLength) {\n return parseInt(contentLength);\n }\n }\n function getRequest(context, initParams) {\n return new self.Request(context.url, initParams);\n }\n var FetchError = /*#__PURE__*/function (_Error) {\n _inheritsLoose(FetchError, _Error);\n function FetchError(message, code, details) {\n var _this2;\n _this2 = _Error.call(this, message) || this;\n _this2.code = void 0;\n _this2.details = void 0;\n _this2.code = code;\n _this2.details = details;\n return _this2;\n }\n return FetchError;\n }( /*#__PURE__*/_wrapNativeSuper(Error));\n\n var WHITESPACE_CHAR = /\\s/;\n var Cues = {\n newCue: function newCue(track, startTime, endTime, captionScreen) {\n var result = [];\n var row;\n // the type data states this is VTTCue, but it can potentially be a TextTrackCue on old browsers\n var cue;\n var indenting;\n var indent;\n var text;\n var Cue = self.VTTCue || self.TextTrackCue;\n for (var r = 0; r < captionScreen.rows.length; r++) {\n row = captionScreen.rows[r];\n indenting = true;\n indent = 0;\n text = '';\n if (!row.isEmpty()) {\n var _track$cues;\n for (var c = 0; c < row.chars.length; c++) {\n if (WHITESPACE_CHAR.test(row.chars[c].uchar) && indenting) {\n indent++;\n } else {\n text += row.chars[c].uchar;\n indenting = false;\n }\n }\n // To be used for cleaning-up orphaned roll-up captions\n row.cueStartTime = startTime;\n\n // Give a slight bump to the endTime if it's equal to startTime to avoid a SyntaxError in IE\n if (startTime === endTime) {\n endTime += 0.0001;\n }\n if (indent >= 16) {\n indent--;\n } else {\n indent++;\n }\n var cueText = fixLineBreaks(text.trim());\n var id = generateCueId(startTime, endTime, cueText);\n\n // If this cue already exists in the track do not push it\n if (!(track != null && (_track$cues = track.cues) != null && _track$cues.getCueById(id))) {\n cue = new Cue(startTime, endTime, cueText);\n cue.id = id;\n cue.line = r + 1;\n cue.align = 'left';\n // Clamp the position between 10 and 80 percent (CEA-608 PAC indent code)\n // https://dvcs.w3.org/hg/text-tracks/raw-file/default/608toVTT/608toVTT.html#positioning-in-cea-608\n // Firefox throws an exception and captions break with out of bounds 0-100 values\n cue.position = 10 + Math.min(80, Math.floor(indent * 8 / 32) * 10);\n result.push(cue);\n }\n }\n }\n if (track && result.length) {\n // Sort bottom cues in reverse order so that they render in line order when overlapping in Chrome\n result.sort(function (cueA, cueB) {\n if (cueA.line === 'auto' || cueB.line === 'auto') {\n return 0;\n }\n if (cueA.line > 8 && cueB.line > 8) {\n return cueB.line - cueA.line;\n }\n return cueA.line - cueB.line;\n });\n result.forEach(function (cue) {\n return addCueToTrack(track, cue);\n });\n }\n return result;\n }\n };\n\n /**\n * @deprecated use fragLoadPolicy.default\n */\n\n /**\n * @deprecated use manifestLoadPolicy.default and playlistLoadPolicy.default\n */\n\n var defaultLoadPolicy = {\n maxTimeToFirstByteMs: 8000,\n maxLoadTimeMs: 20000,\n timeoutRetry: null,\n errorRetry: null\n };\n\n /**\n * @ignore\n * If possible, keep hlsDefaultConfig shallow\n * It is cloned whenever a new Hls instance is created, by keeping the config\n * shallow the properties are cloned, and we don't end up manipulating the default\n */\n var hlsDefaultConfig = _objectSpread2(_objectSpread2({\n autoStartLoad: true,\n // used by stream-controller\n startPosition: -1,\n // used by stream-controller\n defaultAudioCodec: undefined,\n // used by stream-controller\n debug: false,\n // used by logger\n capLevelOnFPSDrop: false,\n // used by fps-controller\n capLevelToPlayerSize: false,\n // used by cap-level-controller\n ignoreDevicePixelRatio: false,\n // used by cap-level-controller\n preferManagedMediaSource: true,\n initialLiveManifestSize: 1,\n // used by stream-controller\n maxBufferLength: 30,\n // used by stream-controller\n backBufferLength: Infinity,\n // used by buffer-controller\n frontBufferFlushThreshold: Infinity,\n maxBufferSize: 60 * 1000 * 1000,\n // used by stream-controller\n maxBufferHole: 0.1,\n // used by stream-controller\n highBufferWatchdogPeriod: 2,\n // used by stream-controller\n nudgeOffset: 0.1,\n // used by stream-controller\n nudgeMaxRetry: 3,\n // used by stream-controller\n maxFragLookUpTolerance: 0.25,\n // used by stream-controller\n liveSyncDurationCount: 3,\n // used by latency-controller\n liveMaxLatencyDurationCount: Infinity,\n // used by latency-controller\n liveSyncDuration: undefined,\n // used by latency-controller\n liveMaxLatencyDuration: undefined,\n // used by latency-controller\n maxLiveSyncPlaybackRate: 1,\n // used by latency-controller\n liveDurationInfinity: false,\n // used by buffer-controller\n /**\n * @deprecated use backBufferLength\n */\n liveBackBufferLength: null,\n // used by buffer-controller\n maxMaxBufferLength: 600,\n // used by stream-controller\n enableWorker: true,\n // used by transmuxer\n workerPath: null,\n // used by transmuxer\n enableSoftwareAES: true,\n // used by decrypter\n startLevel: undefined,\n // used by level-controller\n startFragPrefetch: false,\n // used by stream-controller\n fpsDroppedMonitoringPeriod: 5000,\n // used by fps-controller\n fpsDroppedMonitoringThreshold: 0.2,\n // used by fps-controller\n appendErrorMaxRetry: 3,\n // used by buffer-controller\n loader: XhrLoader,\n // loader: FetchLoader,\n fLoader: undefined,\n // used by fragment-loader\n pLoader: undefined,\n // used by playlist-loader\n xhrSetup: undefined,\n // used by xhr-loader\n licenseXhrSetup: undefined,\n // used by eme-controller\n licenseResponseCallback: undefined,\n // used by eme-controller\n abrController: AbrController,\n bufferController: BufferController,\n capLevelController: CapLevelController,\n errorController: ErrorController,\n fpsController: FPSController,\n stretchShortVideoTrack: false,\n // used by mp4-remuxer\n maxAudioFramesDrift: 1,\n // used by mp4-remuxer\n forceKeyFrameOnDiscontinuity: true,\n // used by ts-demuxer\n abrEwmaFastLive: 3,\n // used by abr-controller\n abrEwmaSlowLive: 9,\n // used by abr-controller\n abrEwmaFastVoD: 3,\n // used by abr-controller\n abrEwmaSlowVoD: 9,\n // used by abr-controller\n abrEwmaDefaultEstimate: 5e5,\n // 500 kbps // used by abr-controller\n abrEwmaDefaultEstimateMax: 5e6,\n // 5 mbps\n abrBandWidthFactor: 0.95,\n // used by abr-controller\n abrBandWidthUpFactor: 0.7,\n // used by abr-controller\n abrMaxWithRealBitrate: false,\n // used by abr-controller\n maxStarvationDelay: 4,\n // used by abr-controller\n maxLoadingDelay: 4,\n // used by abr-controller\n minAutoBitrate: 0,\n // used by hls\n emeEnabled: false,\n // used by eme-controller\n widevineLicenseUrl: undefined,\n // used by eme-controller\n drmSystems: {},\n // used by eme-controller\n drmSystemOptions: {},\n // used by eme-controller\n requestMediaKeySystemAccessFunc: requestMediaKeySystemAccess ,\n // used by eme-controller\n testBandwidth: true,\n progressive: false,\n lowLatencyMode: true,\n cmcd: undefined,\n enableDateRangeMetadataCues: true,\n enableEmsgMetadataCues: true,\n enableID3MetadataCues: true,\n useMediaCapabilities: true,\n certLoadPolicy: {\n default: defaultLoadPolicy\n },\n keyLoadPolicy: {\n default: {\n maxTimeToFirstByteMs: 8000,\n maxLoadTimeMs: 20000,\n timeoutRetry: {\n maxNumRetry: 1,\n retryDelayMs: 1000,\n maxRetryDelayMs: 20000,\n backoff: 'linear'\n },\n errorRetry: {\n maxNumRetry: 8,\n retryDelayMs: 1000,\n maxRetryDelayMs: 20000,\n backoff: 'linear'\n }\n }\n },\n manifestLoadPolicy: {\n default: {\n maxTimeToFirstByteMs: Infinity,\n maxLoadTimeMs: 20000,\n timeoutRetry: {\n maxNumRetry: 2,\n retryDelayMs: 0,\n maxRetryDelayMs: 0\n },\n errorRetry: {\n maxNumRetry: 1,\n retryDelayMs: 1000,\n maxRetryDelayMs: 8000\n }\n }\n },\n playlistLoadPolicy: {\n default: {\n maxTimeToFirstByteMs: 10000,\n maxLoadTimeMs: 20000,\n timeoutRetry: {\n maxNumRetry: 2,\n retryDelayMs: 0,\n maxRetryDelayMs: 0\n },\n errorRetry: {\n maxNumRetry: 2,\n retryDelayMs: 1000,\n maxRetryDelayMs: 8000\n }\n }\n },\n fragLoadPolicy: {\n default: {\n maxTimeToFirstByteMs: 10000,\n maxLoadTimeMs: 120000,\n timeoutRetry: {\n maxNumRetry: 4,\n retryDelayMs: 0,\n maxRetryDelayMs: 0\n },\n errorRetry: {\n maxNumRetry: 6,\n retryDelayMs: 1000,\n maxRetryDelayMs: 8000\n }\n }\n },\n steeringManifestLoadPolicy: {\n default: {\n maxTimeToFirstByteMs: 10000,\n maxLoadTimeMs: 20000,\n timeoutRetry: {\n maxNumRetry: 2,\n retryDelayMs: 0,\n maxRetryDelayMs: 0\n },\n errorRetry: {\n maxNumRetry: 1,\n retryDelayMs: 1000,\n maxRetryDelayMs: 8000\n }\n } \n },\n // These default settings are deprecated in favor of the above policies\n // and are maintained for backwards compatibility\n manifestLoadingTimeOut: 10000,\n manifestLoadingMaxRetry: 1,\n manifestLoadingRetryDelay: 1000,\n manifestLoadingMaxRetryTimeout: 64000,\n levelLoadingTimeOut: 10000,\n levelLoadingMaxRetry: 4,\n levelLoadingRetryDelay: 1000,\n levelLoadingMaxRetryTimeout: 64000,\n fragLoadingTimeOut: 20000,\n fragLoadingMaxRetry: 6,\n fragLoadingRetryDelay: 1000,\n fragLoadingMaxRetryTimeout: 64000\n }, timelineConfig()), {}, {\n subtitleStreamController: SubtitleStreamController ,\n subtitleTrackController: SubtitleTrackController ,\n timelineController: TimelineController ,\n audioStreamController: AudioStreamController ,\n audioTrackController: AudioTrackController ,\n emeController: EMEController ,\n cmcdController: CMCDController ,\n contentSteeringController: ContentSteeringController \n });\n function timelineConfig() {\n return {\n cueHandler: Cues,\n // used by timeline-controller\n enableWebVTT: true,\n // used by timeline-controller\n enableIMSC1: true,\n // used by timeline-controller\n enableCEA708Captions: true,\n // used by timeline-controller\n captionsTextTrack1Label: 'English',\n // used by timeline-controller\n captionsTextTrack1LanguageCode: 'en',\n // used by timeline-controller\n captionsTextTrack2Label: 'Spanish',\n // used by timeline-controller\n captionsTextTrack2LanguageCode: 'es',\n // used by timeline-controller\n captionsTextTrack3Label: 'Unknown CC',\n // used by timeline-controller\n captionsTextTrack3LanguageCode: '',\n // used by timeline-controller\n captionsTextTrack4Label: 'Unknown CC',\n // used by timeline-controller\n captionsTextTrack4LanguageCode: '',\n // used by timeline-controller\n renderTextTracksNatively: true\n };\n }\n\n /**\n * @ignore\n */\n function mergeConfig(defaultConfig, userConfig) {\n if ((userConfig.liveSyncDurationCount || userConfig.liveMaxLatencyDurationCount) && (userConfig.liveSyncDuration || userConfig.liveMaxLatencyDuration)) {\n throw new Error(\"Illegal hls.js config: don't mix up liveSyncDurationCount/liveMaxLatencyDurationCount and liveSyncDuration/liveMaxLatencyDuration\");\n }\n if (userConfig.liveMaxLatencyDurationCount !== undefined && (userConfig.liveSyncDurationCount === undefined || userConfig.liveMaxLatencyDurationCount <= userConfig.liveSyncDurationCount)) {\n throw new Error('Illegal hls.js config: \"liveMaxLatencyDurationCount\" must be greater than \"liveSyncDurationCount\"');\n }\n if (userConfig.liveMaxLatencyDuration !== undefined && (userConfig.liveSyncDuration === undefined || userConfig.liveMaxLatencyDuration <= userConfig.liveSyncDuration)) {\n throw new Error('Illegal hls.js config: \"liveMaxLatencyDuration\" must be greater than \"liveSyncDuration\"');\n }\n var defaultsCopy = deepCpy(defaultConfig);\n\n // Backwards compatibility with deprecated config values\n var deprecatedSettingTypes = ['manifest', 'level', 'frag'];\n var deprecatedSettings = ['TimeOut', 'MaxRetry', 'RetryDelay', 'MaxRetryTimeout'];\n deprecatedSettingTypes.forEach(function (type) {\n var policyName = (type === 'level' ? 'playlist' : type) + \"LoadPolicy\";\n var policyNotSet = userConfig[policyName] === undefined;\n var report = [];\n deprecatedSettings.forEach(function (setting) {\n var deprecatedSetting = type + \"Loading\" + setting;\n var value = userConfig[deprecatedSetting];\n if (value !== undefined && policyNotSet) {\n report.push(deprecatedSetting);\n var settings = defaultsCopy[policyName].default;\n userConfig[policyName] = {\n default: settings\n };\n switch (setting) {\n case 'TimeOut':\n settings.maxLoadTimeMs = value;\n settings.maxTimeToFirstByteMs = value;\n break;\n case 'MaxRetry':\n settings.errorRetry.maxNumRetry = value;\n settings.timeoutRetry.maxNumRetry = value;\n break;\n case 'RetryDelay':\n settings.errorRetry.retryDelayMs = value;\n settings.timeoutRetry.retryDelayMs = value;\n break;\n case 'MaxRetryTimeout':\n settings.errorRetry.maxRetryDelayMs = value;\n settings.timeoutRetry.maxRetryDelayMs = value;\n break;\n }\n }\n });\n if (report.length) {\n logger.warn(\"hls.js config: \\\"\" + report.join('\", \"') + \"\\\" setting(s) are deprecated, use \\\"\" + policyName + \"\\\": \" + JSON.stringify(userConfig[policyName]));\n }\n });\n return _objectSpread2(_objectSpread2({}, defaultsCopy), userConfig);\n }\n function deepCpy(obj) {\n if (obj && typeof obj === 'object') {\n if (Array.isArray(obj)) {\n return obj.map(deepCpy);\n }\n return Object.keys(obj).reduce(function (result, key) {\n result[key] = deepCpy(obj[key]);\n return result;\n }, {});\n }\n return obj;\n }\n\n /**\n * @ignore\n */\n function enableStreamingMode(config) {\n var currentLoader = config.loader;\n if (currentLoader !== FetchLoader && currentLoader !== XhrLoader) {\n // If a developer has configured their own loader, respect that choice\n logger.log('[config]: Custom loader detected, cannot enable progressive streaming');\n config.progressive = false;\n } else {\n var canStreamProgressively = fetchSupported();\n if (canStreamProgressively) {\n config.loader = FetchLoader;\n config.progressive = true;\n config.enableSoftwareAES = true;\n logger.log('[config]: Progressive streaming enabled, using FetchLoader');\n }\n }\n }\n\n var chromeOrFirefox;\n var LevelController = /*#__PURE__*/function (_BasePlaylistControll) {\n _inheritsLoose(LevelController, _BasePlaylistControll);\n function LevelController(hls, contentSteeringController) {\n var _this;\n _this = _BasePlaylistControll.call(this, hls, '[level-controller]') || this;\n _this._levels = [];\n _this._firstLevel = -1;\n _this._maxAutoLevel = -1;\n _this._startLevel = void 0;\n _this.currentLevel = null;\n _this.currentLevelIndex = -1;\n _this.manualLevelIndex = -1;\n _this.steering = void 0;\n _this.onParsedComplete = void 0;\n _this.steering = contentSteeringController;\n _this._registerListeners();\n return _this;\n }\n var _proto = LevelController.prototype;\n _proto._registerListeners = function _registerListeners() {\n var hls = this.hls;\n hls.on(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.on(Events.MANIFEST_LOADED, this.onManifestLoaded, this);\n hls.on(Events.LEVEL_LOADED, this.onLevelLoaded, this);\n hls.on(Events.LEVELS_UPDATED, this.onLevelsUpdated, this);\n hls.on(Events.FRAG_BUFFERED, this.onFragBuffered, this);\n hls.on(Events.ERROR, this.onError, this);\n };\n _proto._unregisterListeners = function _unregisterListeners() {\n var hls = this.hls;\n hls.off(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.off(Events.MANIFEST_LOADED, this.onManifestLoaded, this);\n hls.off(Events.LEVEL_LOADED, this.onLevelLoaded, this);\n hls.off(Events.LEVELS_UPDATED, this.onLevelsUpdated, this);\n hls.off(Events.FRAG_BUFFERED, this.onFragBuffered, this);\n hls.off(Events.ERROR, this.onError, this);\n };\n _proto.destroy = function destroy() {\n this._unregisterListeners();\n this.steering = null;\n this.resetLevels();\n _BasePlaylistControll.prototype.destroy.call(this);\n };\n _proto.stopLoad = function stopLoad() {\n var levels = this._levels;\n\n // clean up live level details to force reload them, and reset load errors\n levels.forEach(function (level) {\n level.loadError = 0;\n level.fragmentError = 0;\n });\n _BasePlaylistControll.prototype.stopLoad.call(this);\n };\n _proto.resetLevels = function resetLevels() {\n this._startLevel = undefined;\n this.manualLevelIndex = -1;\n this.currentLevelIndex = -1;\n this.currentLevel = null;\n this._levels = [];\n this._maxAutoLevel = -1;\n };\n _proto.onManifestLoading = function onManifestLoading(event, data) {\n this.resetLevels();\n };\n _proto.onManifestLoaded = function onManifestLoaded(event, data) {\n var preferManagedMediaSource = this.hls.config.preferManagedMediaSource;\n var levels = [];\n var redundantSet = {};\n var generatePathwaySet = {};\n var resolutionFound = false;\n var videoCodecFound = false;\n var audioCodecFound = false;\n data.levels.forEach(function (levelParsed) {\n var _audioCodec, _videoCodec;\n var attributes = levelParsed.attrs;\n\n // erase audio codec info if browser does not support mp4a.40.34.\n // demuxer will autodetect codec and fallback to mpeg/audio\n var audioCodec = levelParsed.audioCodec,\n videoCodec = levelParsed.videoCodec;\n if (((_audioCodec = audioCodec) == null ? void 0 : _audioCodec.indexOf('mp4a.40.34')) !== -1) {\n chromeOrFirefox || (chromeOrFirefox = /chrome|firefox/i.test(navigator.userAgent));\n if (chromeOrFirefox) {\n levelParsed.audioCodec = audioCodec = undefined;\n }\n }\n if (audioCodec) {\n levelParsed.audioCodec = audioCodec = getCodecCompatibleName(audioCodec, preferManagedMediaSource);\n }\n if (((_videoCodec = videoCodec) == null ? void 0 : _videoCodec.indexOf('avc1')) === 0) {\n videoCodec = levelParsed.videoCodec = convertAVC1ToAVCOTI(videoCodec);\n }\n\n // only keep levels with supported audio/video codecs\n var width = levelParsed.width,\n height = levelParsed.height,\n unknownCodecs = levelParsed.unknownCodecs;\n resolutionFound || (resolutionFound = !!(width && height));\n videoCodecFound || (videoCodecFound = !!videoCodec);\n audioCodecFound || (audioCodecFound = !!audioCodec);\n if (unknownCodecs != null && unknownCodecs.length || audioCodec && !areCodecsMediaSourceSupported(audioCodec, 'audio', preferManagedMediaSource) || videoCodec && !areCodecsMediaSourceSupported(videoCodec, 'video', preferManagedMediaSource)) {\n return;\n }\n var CODECS = attributes.CODECS,\n FRAMERATE = attributes['FRAME-RATE'],\n HDCP = attributes['HDCP-LEVEL'],\n PATHWAY = attributes['PATHWAY-ID'],\n RESOLUTION = attributes.RESOLUTION,\n VIDEO_RANGE = attributes['VIDEO-RANGE'];\n var contentSteeringPrefix = (PATHWAY || '.') + \"-\";\n var levelKey = \"\" + contentSteeringPrefix + levelParsed.bitrate + \"-\" + RESOLUTION + \"-\" + FRAMERATE + \"-\" + CODECS + \"-\" + VIDEO_RANGE + \"-\" + HDCP;\n if (!redundantSet[levelKey]) {\n var level = new Level(levelParsed);\n redundantSet[levelKey] = level;\n generatePathwaySet[levelKey] = 1;\n levels.push(level);\n } else if (redundantSet[levelKey].uri !== levelParsed.url && !levelParsed.attrs['PATHWAY-ID']) {\n // Assign Pathway IDs to Redundant Streams (default Pathways is \".\". Redundant Streams \"..\", \"...\", and so on.)\n // Content Steering controller to handles Pathway fallback on error\n var pathwayCount = generatePathwaySet[levelKey] += 1;\n levelParsed.attrs['PATHWAY-ID'] = new Array(pathwayCount + 1).join('.');\n var _level = new Level(levelParsed);\n redundantSet[levelKey] = _level;\n levels.push(_level);\n } else {\n redundantSet[levelKey].addGroupId('audio', attributes.AUDIO);\n redundantSet[levelKey].addGroupId('text', attributes.SUBTITLES);\n }\n });\n this.filterAndSortMediaOptions(levels, data, resolutionFound, videoCodecFound, audioCodecFound);\n };\n _proto.filterAndSortMediaOptions = function filterAndSortMediaOptions(filteredLevels, data, resolutionFound, videoCodecFound, audioCodecFound) {\n var _this2 = this;\n var audioTracks = [];\n var subtitleTracks = [];\n var levels = filteredLevels;\n\n // remove audio-only and invalid video-range levels if we also have levels with video codecs or RESOLUTION signalled\n if ((resolutionFound || videoCodecFound) && audioCodecFound) {\n levels = levels.filter(function (_ref) {\n var videoCodec = _ref.videoCodec,\n videoRange = _ref.videoRange,\n width = _ref.width,\n height = _ref.height;\n return (!!videoCodec || !!(width && height)) && isVideoRange(videoRange);\n });\n }\n if (levels.length === 0) {\n // Dispatch error after MANIFEST_LOADED is done propagating\n Promise.resolve().then(function () {\n if (_this2.hls) {\n if (data.levels.length) {\n _this2.warn(\"One or more CODECS in variant not supported: \" + JSON.stringify(data.levels[0].attrs));\n }\n var error = new Error('no level with compatible codecs found in manifest');\n _this2.hls.trigger(Events.ERROR, {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.MANIFEST_INCOMPATIBLE_CODECS_ERROR,\n fatal: true,\n url: data.url,\n error: error,\n reason: error.message\n });\n }\n });\n return;\n }\n if (data.audioTracks) {\n var preferManagedMediaSource = this.hls.config.preferManagedMediaSource;\n audioTracks = data.audioTracks.filter(function (track) {\n return !track.audioCodec || areCodecsMediaSourceSupported(track.audioCodec, 'audio', preferManagedMediaSource);\n });\n // Assign ids after filtering as array indices by group-id\n assignTrackIdsByGroup(audioTracks);\n }\n if (data.subtitles) {\n subtitleTracks = data.subtitles;\n assignTrackIdsByGroup(subtitleTracks);\n }\n // start bitrate is the first bitrate of the manifest\n var unsortedLevels = levels.slice(0);\n // sort levels from lowest to highest\n levels.sort(function (a, b) {\n if (a.attrs['HDCP-LEVEL'] !== b.attrs['HDCP-LEVEL']) {\n return (a.attrs['HDCP-LEVEL'] || '') > (b.attrs['HDCP-LEVEL'] || '') ? 1 : -1;\n }\n // sort on height before bitrate for cap-level-controller\n if (resolutionFound && a.height !== b.height) {\n return a.height - b.height;\n }\n if (a.frameRate !== b.frameRate) {\n return a.frameRate - b.frameRate;\n }\n if (a.videoRange !== b.videoRange) {\n return VideoRangeValues.indexOf(a.videoRange) - VideoRangeValues.indexOf(b.videoRange);\n }\n if (a.videoCodec !== b.videoCodec) {\n var valueA = videoCodecPreferenceValue(a.videoCodec);\n var valueB = videoCodecPreferenceValue(b.videoCodec);\n if (valueA !== valueB) {\n return valueB - valueA;\n }\n }\n if (a.uri === b.uri && a.codecSet !== b.codecSet) {\n var _valueA = codecsSetSelectionPreferenceValue(a.codecSet);\n var _valueB = codecsSetSelectionPreferenceValue(b.codecSet);\n if (_valueA !== _valueB) {\n return _valueB - _valueA;\n }\n }\n if (a.averageBitrate !== b.averageBitrate) {\n return a.averageBitrate - b.averageBitrate;\n }\n return 0;\n });\n var firstLevelInPlaylist = unsortedLevels[0];\n if (this.steering) {\n levels = this.steering.filterParsedLevels(levels);\n if (levels.length !== unsortedLevels.length) {\n for (var i = 0; i < unsortedLevels.length; i++) {\n if (unsortedLevels[i].pathwayId === levels[0].pathwayId) {\n firstLevelInPlaylist = unsortedLevels[i];\n break;\n }\n }\n }\n }\n this._levels = levels;\n\n // find index of first level in sorted levels\n for (var _i = 0; _i < levels.length; _i++) {\n if (levels[_i] === firstLevelInPlaylist) {\n var _this$hls$userConfig;\n this._firstLevel = _i;\n var firstLevelBitrate = firstLevelInPlaylist.bitrate;\n var bandwidthEstimate = this.hls.bandwidthEstimate;\n this.log(\"manifest loaded, \" + levels.length + \" level(s) found, first bitrate: \" + firstLevelBitrate);\n // Update default bwe to first variant bitrate as long it has not been configured or set\n if (((_this$hls$userConfig = this.hls.userConfig) == null ? void 0 : _this$hls$userConfig.abrEwmaDefaultEstimate) === undefined) {\n var startingBwEstimate = Math.min(firstLevelBitrate, this.hls.config.abrEwmaDefaultEstimateMax);\n if (startingBwEstimate > bandwidthEstimate && bandwidthEstimate === hlsDefaultConfig.abrEwmaDefaultEstimate) {\n this.hls.bandwidthEstimate = startingBwEstimate;\n }\n }\n break;\n }\n }\n\n // Audio is only alternate if manifest include a URI along with the audio group tag,\n // and this is not an audio-only stream where levels contain audio-only\n var audioOnly = audioCodecFound && !videoCodecFound;\n var edata = {\n levels: levels,\n audioTracks: audioTracks,\n subtitleTracks: subtitleTracks,\n sessionData: data.sessionData,\n sessionKeys: data.sessionKeys,\n firstLevel: this._firstLevel,\n stats: data.stats,\n audio: audioCodecFound,\n video: videoCodecFound,\n altAudio: !audioOnly && audioTracks.some(function (t) {\n return !!t.url;\n })\n };\n this.hls.trigger(Events.MANIFEST_PARSED, edata);\n\n // Initiate loading after all controllers have received MANIFEST_PARSED\n if (this.hls.config.autoStartLoad || this.hls.forceStartLoad) {\n this.hls.startLoad(this.hls.config.startPosition);\n }\n };\n _proto.onError = function onError(event, data) {\n if (data.fatal || !data.context) {\n return;\n }\n if (data.context.type === PlaylistContextType.LEVEL && data.context.level === this.level) {\n this.checkRetry(data);\n }\n }\n\n // reset errors on the successful load of a fragment\n ;\n _proto.onFragBuffered = function onFragBuffered(event, _ref2) {\n var frag = _ref2.frag;\n if (frag !== undefined && frag.type === PlaylistLevelType.MAIN) {\n var el = frag.elementaryStreams;\n if (!Object.keys(el).some(function (type) {\n return !!el[type];\n })) {\n return;\n }\n var level = this._levels[frag.level];\n if (level != null && level.loadError) {\n this.log(\"Resetting level error count of \" + level.loadError + \" on frag buffered\");\n level.loadError = 0;\n }\n }\n };\n _proto.onLevelLoaded = function onLevelLoaded(event, data) {\n var _data$deliveryDirecti2;\n var level = data.level,\n details = data.details;\n var curLevel = this._levels[level];\n if (!curLevel) {\n var _data$deliveryDirecti;\n this.warn(\"Invalid level index \" + level);\n if ((_data$deliveryDirecti = data.deliveryDirectives) != null && _data$deliveryDirecti.skip) {\n details.deltaUpdateFailed = true;\n }\n return;\n }\n\n // only process level loaded events matching with expected level\n if (level === this.currentLevelIndex) {\n // reset level load error counter on successful level loaded only if there is no issues with fragments\n if (curLevel.fragmentError === 0) {\n curLevel.loadError = 0;\n }\n this.playlistLoaded(level, data, curLevel.details);\n } else if ((_data$deliveryDirecti2 = data.deliveryDirectives) != null && _data$deliveryDirecti2.skip) {\n // received a delta playlist update that cannot be merged\n details.deltaUpdateFailed = true;\n }\n };\n _proto.loadPlaylist = function loadPlaylist(hlsUrlParameters) {\n _BasePlaylistControll.prototype.loadPlaylist.call(this);\n var currentLevelIndex = this.currentLevelIndex;\n var currentLevel = this.currentLevel;\n if (currentLevel && this.shouldLoadPlaylist(currentLevel)) {\n var url = currentLevel.uri;\n if (hlsUrlParameters) {\n try {\n url = hlsUrlParameters.addDirectives(url);\n } catch (error) {\n this.warn(\"Could not construct new URL with HLS Delivery Directives: \" + error);\n }\n }\n var pathwayId = currentLevel.attrs['PATHWAY-ID'];\n this.log(\"Loading level index \" + currentLevelIndex + ((hlsUrlParameters == null ? void 0 : hlsUrlParameters.msn) !== undefined ? ' at sn ' + hlsUrlParameters.msn + ' part ' + hlsUrlParameters.part : '') + \" with\" + (pathwayId ? ' Pathway ' + pathwayId : '') + \" \" + url);\n\n // console.log('Current audio track group ID:', this.hls.audioTracks[this.hls.audioTrack].groupId);\n // console.log('New video quality level audio group id:', levelObject.attrs.AUDIO, level);\n this.clearTimer();\n this.hls.trigger(Events.LEVEL_LOADING, {\n url: url,\n level: currentLevelIndex,\n pathwayId: currentLevel.attrs['PATHWAY-ID'],\n id: 0,\n // Deprecated Level urlId\n deliveryDirectives: hlsUrlParameters || null\n });\n }\n };\n _proto.removeLevel = function removeLevel(levelIndex) {\n var _this3 = this,\n _this$currentLevel;\n var levels = this._levels.filter(function (level, index) {\n if (index !== levelIndex) {\n return true;\n }\n if (_this3.steering) {\n _this3.steering.removeLevel(level);\n }\n if (level === _this3.currentLevel) {\n _this3.currentLevel = null;\n _this3.currentLevelIndex = -1;\n if (level.details) {\n level.details.fragments.forEach(function (f) {\n return f.level = -1;\n });\n }\n }\n return false;\n });\n reassignFragmentLevelIndexes(levels);\n this._levels = levels;\n if (this.currentLevelIndex > -1 && (_this$currentLevel = this.currentLevel) != null && _this$currentLevel.details) {\n this.currentLevelIndex = this.currentLevel.details.fragments[0].level;\n }\n this.hls.trigger(Events.LEVELS_UPDATED, {\n levels: levels\n });\n };\n _proto.onLevelsUpdated = function onLevelsUpdated(event, _ref3) {\n var levels = _ref3.levels;\n this._levels = levels;\n };\n _proto.checkMaxAutoUpdated = function checkMaxAutoUpdated() {\n var _this$hls = this.hls,\n autoLevelCapping = _this$hls.autoLevelCapping,\n maxAutoLevel = _this$hls.maxAutoLevel,\n maxHdcpLevel = _this$hls.maxHdcpLevel;\n if (this._maxAutoLevel !== maxAutoLevel) {\n this._maxAutoLevel = maxAutoLevel;\n this.hls.trigger(Events.MAX_AUTO_LEVEL_UPDATED, {\n autoLevelCapping: autoLevelCapping,\n levels: this.levels,\n maxAutoLevel: maxAutoLevel,\n minAutoLevel: this.hls.minAutoLevel,\n maxHdcpLevel: maxHdcpLevel\n });\n }\n };\n _createClass(LevelController, [{\n key: \"levels\",\n get: function get() {\n if (this._levels.length === 0) {\n return null;\n }\n return this._levels;\n }\n }, {\n key: \"level\",\n get: function get() {\n return this.currentLevelIndex;\n },\n set: function set(newLevel) {\n var levels = this._levels;\n if (levels.length === 0) {\n return;\n }\n // check if level idx is valid\n if (newLevel < 0 || newLevel >= levels.length) {\n // invalid level id given, trigger error\n var error = new Error('invalid level idx');\n var fatal = newLevel < 0;\n this.hls.trigger(Events.ERROR, {\n type: ErrorTypes.OTHER_ERROR,\n details: ErrorDetails.LEVEL_SWITCH_ERROR,\n level: newLevel,\n fatal: fatal,\n error: error,\n reason: error.message\n });\n if (fatal) {\n return;\n }\n newLevel = Math.min(newLevel, levels.length - 1);\n }\n var lastLevelIndex = this.currentLevelIndex;\n var lastLevel = this.currentLevel;\n var lastPathwayId = lastLevel ? lastLevel.attrs['PATHWAY-ID'] : undefined;\n var level = levels[newLevel];\n var pathwayId = level.attrs['PATHWAY-ID'];\n this.currentLevelIndex = newLevel;\n this.currentLevel = level;\n if (lastLevelIndex === newLevel && level.details && lastLevel && lastPathwayId === pathwayId) {\n return;\n }\n this.log(\"Switching to level \" + newLevel + \" (\" + (level.height ? level.height + 'p ' : '') + (level.videoRange ? level.videoRange + ' ' : '') + (level.codecSet ? level.codecSet + ' ' : '') + \"@\" + level.bitrate + \")\" + (pathwayId ? ' with Pathway ' + pathwayId : '') + \" from level \" + lastLevelIndex + (lastPathwayId ? ' with Pathway ' + lastPathwayId : ''));\n var levelSwitchingData = {\n level: newLevel,\n attrs: level.attrs,\n details: level.details,\n bitrate: level.bitrate,\n averageBitrate: level.averageBitrate,\n maxBitrate: level.maxBitrate,\n realBitrate: level.realBitrate,\n width: level.width,\n height: level.height,\n codecSet: level.codecSet,\n audioCodec: level.audioCodec,\n videoCodec: level.videoCodec,\n audioGroups: level.audioGroups,\n subtitleGroups: level.subtitleGroups,\n loaded: level.loaded,\n loadError: level.loadError,\n fragmentError: level.fragmentError,\n name: level.name,\n id: level.id,\n uri: level.uri,\n url: level.url,\n urlId: 0,\n audioGroupIds: level.audioGroupIds,\n textGroupIds: level.textGroupIds\n };\n this.hls.trigger(Events.LEVEL_SWITCHING, levelSwitchingData);\n // check if we need to load playlist for this level\n var levelDetails = level.details;\n if (!levelDetails || levelDetails.live) {\n // level not retrieved yet, or live playlist we need to (re)load it\n var hlsUrlParameters = this.switchParams(level.uri, lastLevel == null ? void 0 : lastLevel.details);\n this.loadPlaylist(hlsUrlParameters);\n }\n }\n }, {\n key: \"manualLevel\",\n get: function get() {\n return this.manualLevelIndex;\n },\n set: function set(newLevel) {\n this.manualLevelIndex = newLevel;\n if (this._startLevel === undefined) {\n this._startLevel = newLevel;\n }\n if (newLevel !== -1) {\n this.level = newLevel;\n }\n }\n }, {\n key: \"firstLevel\",\n get: function get() {\n return this._firstLevel;\n },\n set: function set(newLevel) {\n this._firstLevel = newLevel;\n }\n }, {\n key: \"startLevel\",\n get: function get() {\n // Setting hls.startLevel (this._startLevel) overrides config.startLevel\n if (this._startLevel === undefined) {\n var configStartLevel = this.hls.config.startLevel;\n if (configStartLevel !== undefined) {\n return configStartLevel;\n }\n return this.hls.firstAutoLevel;\n }\n return this._startLevel;\n },\n set: function set(newLevel) {\n this._startLevel = newLevel;\n }\n }, {\n key: \"nextLoadLevel\",\n get: function get() {\n if (this.manualLevelIndex !== -1) {\n return this.manualLevelIndex;\n } else {\n return this.hls.nextAutoLevel;\n }\n },\n set: function set(nextLevel) {\n this.level = nextLevel;\n if (this.manualLevelIndex === -1) {\n this.hls.nextAutoLevel = nextLevel;\n }\n }\n }]);\n return LevelController;\n }(BasePlaylistController);\n function assignTrackIdsByGroup(tracks) {\n var groups = {};\n tracks.forEach(function (track) {\n var groupId = track.groupId || '';\n track.id = groups[groupId] = groups[groupId] || 0;\n groups[groupId]++;\n });\n }\n\n var KeyLoader = /*#__PURE__*/function () {\n function KeyLoader(config) {\n this.config = void 0;\n this.keyUriToKeyInfo = {};\n this.emeController = null;\n this.config = config;\n }\n var _proto = KeyLoader.prototype;\n _proto.abort = function abort(type) {\n for (var uri in this.keyUriToKeyInfo) {\n var loader = this.keyUriToKeyInfo[uri].loader;\n if (loader) {\n var _loader$context;\n if (type && type !== ((_loader$context = loader.context) == null ? void 0 : _loader$context.frag.type)) {\n return;\n }\n loader.abort();\n }\n }\n };\n _proto.detach = function detach() {\n for (var uri in this.keyUriToKeyInfo) {\n var keyInfo = this.keyUriToKeyInfo[uri];\n // Remove cached EME keys on detach\n if (keyInfo.mediaKeySessionContext || keyInfo.decryptdata.isCommonEncryption) {\n delete this.keyUriToKeyInfo[uri];\n }\n }\n };\n _proto.destroy = function destroy() {\n this.detach();\n for (var uri in this.keyUriToKeyInfo) {\n var loader = this.keyUriToKeyInfo[uri].loader;\n if (loader) {\n loader.destroy();\n }\n }\n this.keyUriToKeyInfo = {};\n };\n _proto.createKeyLoadError = function createKeyLoadError(frag, details, error, networkDetails, response) {\n if (details === void 0) {\n details = ErrorDetails.KEY_LOAD_ERROR;\n }\n return new LoadError({\n type: ErrorTypes.NETWORK_ERROR,\n details: details,\n fatal: false,\n frag: frag,\n response: response,\n error: error,\n networkDetails: networkDetails\n });\n };\n _proto.loadClear = function loadClear(loadingFrag, encryptedFragments) {\n var _this = this;\n if (this.emeController && this.config.emeEnabled) {\n // access key-system with nearest key on start (loaidng frag is unencrypted)\n var sn = loadingFrag.sn,\n cc = loadingFrag.cc;\n var _loop = function _loop() {\n var frag = encryptedFragments[i];\n if (cc <= frag.cc && (sn === 'initSegment' || frag.sn === 'initSegment' || sn < frag.sn)) {\n _this.emeController.selectKeySystemFormat(frag).then(function (keySystemFormat) {\n frag.setKeyFormat(keySystemFormat);\n });\n return 1; // break\n }\n };\n for (var i = 0; i < encryptedFragments.length; i++) {\n if (_loop()) break;\n }\n }\n };\n _proto.load = function load(frag) {\n var _this2 = this;\n if (!frag.decryptdata && frag.encrypted && this.emeController) {\n // Multiple keys, but none selected, resolve in eme-controller\n return this.emeController.selectKeySystemFormat(frag).then(function (keySystemFormat) {\n return _this2.loadInternal(frag, keySystemFormat);\n });\n }\n return this.loadInternal(frag);\n };\n _proto.loadInternal = function loadInternal(frag, keySystemFormat) {\n var _keyInfo, _keyInfo2;\n if (keySystemFormat) {\n frag.setKeyFormat(keySystemFormat);\n }\n var decryptdata = frag.decryptdata;\n if (!decryptdata) {\n var error = new Error(keySystemFormat ? \"Expected frag.decryptdata to be defined after setting format \" + keySystemFormat : 'Missing decryption data on fragment in onKeyLoading');\n return Promise.reject(this.createKeyLoadError(frag, ErrorDetails.KEY_LOAD_ERROR, error));\n }\n var uri = decryptdata.uri;\n if (!uri) {\n return Promise.reject(this.createKeyLoadError(frag, ErrorDetails.KEY_LOAD_ERROR, new Error(\"Invalid key URI: \\\"\" + uri + \"\\\"\")));\n }\n var keyInfo = this.keyUriToKeyInfo[uri];\n if ((_keyInfo = keyInfo) != null && _keyInfo.decryptdata.key) {\n decryptdata.key = keyInfo.decryptdata.key;\n return Promise.resolve({\n frag: frag,\n keyInfo: keyInfo\n });\n }\n // Return key load promise as long as it does not have a mediakey session with an unusable key status\n if ((_keyInfo2 = keyInfo) != null && _keyInfo2.keyLoadPromise) {\n var _keyInfo$mediaKeySess;\n switch ((_keyInfo$mediaKeySess = keyInfo.mediaKeySessionContext) == null ? void 0 : _keyInfo$mediaKeySess.keyStatus) {\n case undefined:\n case 'status-pending':\n case 'usable':\n case 'usable-in-future':\n return keyInfo.keyLoadPromise.then(function (keyLoadedData) {\n // Return the correct fragment with updated decryptdata key and loaded keyInfo\n decryptdata.key = keyLoadedData.keyInfo.decryptdata.key;\n return {\n frag: frag,\n keyInfo: keyInfo\n };\n });\n }\n // If we have a key session and status and it is not pending or usable, continue\n // This will go back to the eme-controller for expired keys to get a new keyLoadPromise\n }\n\n // Load the key or return the loading promise\n keyInfo = this.keyUriToKeyInfo[uri] = {\n decryptdata: decryptdata,\n keyLoadPromise: null,\n loader: null,\n mediaKeySessionContext: null\n };\n switch (decryptdata.method) {\n case 'ISO-23001-7':\n case 'SAMPLE-AES':\n case 'SAMPLE-AES-CENC':\n case 'SAMPLE-AES-CTR':\n if (decryptdata.keyFormat === 'identity') {\n // loadKeyHTTP handles http(s) and data URLs\n return this.loadKeyHTTP(keyInfo, frag);\n }\n return this.loadKeyEME(keyInfo, frag);\n case 'AES-128':\n return this.loadKeyHTTP(keyInfo, frag);\n default:\n return Promise.reject(this.createKeyLoadError(frag, ErrorDetails.KEY_LOAD_ERROR, new Error(\"Key supplied with unsupported METHOD: \\\"\" + decryptdata.method + \"\\\"\")));\n }\n };\n _proto.loadKeyEME = function loadKeyEME(keyInfo, frag) {\n var keyLoadedData = {\n frag: frag,\n keyInfo: keyInfo\n };\n if (this.emeController && this.config.emeEnabled) {\n var keySessionContextPromise = this.emeController.loadKey(keyLoadedData);\n if (keySessionContextPromise) {\n return (keyInfo.keyLoadPromise = keySessionContextPromise.then(function (keySessionContext) {\n keyInfo.mediaKeySessionContext = keySessionContext;\n return keyLoadedData;\n })).catch(function (error) {\n // Remove promise for license renewal or retry\n keyInfo.keyLoadPromise = null;\n throw error;\n });\n }\n }\n return Promise.resolve(keyLoadedData);\n };\n _proto.loadKeyHTTP = function loadKeyHTTP(keyInfo, frag) {\n var _this3 = this;\n var config = this.config;\n var Loader = config.loader;\n var keyLoader = new Loader(config);\n frag.keyLoader = keyInfo.loader = keyLoader;\n return keyInfo.keyLoadPromise = new Promise(function (resolve, reject) {\n var loaderContext = {\n keyInfo: keyInfo,\n frag: frag,\n responseType: 'arraybuffer',\n url: keyInfo.decryptdata.uri\n };\n\n // maxRetry is 0 so that instead of retrying the same key on the same variant multiple times,\n // key-loader will trigger an error and rely on stream-controller to handle retry logic.\n // this will also align retry logic with fragment-loader\n var loadPolicy = config.keyLoadPolicy.default;\n var loaderConfig = {\n loadPolicy: loadPolicy,\n timeout: loadPolicy.maxLoadTimeMs,\n maxRetry: 0,\n retryDelay: 0,\n maxRetryDelay: 0\n };\n var loaderCallbacks = {\n onSuccess: function onSuccess(response, stats, context, networkDetails) {\n var frag = context.frag,\n keyInfo = context.keyInfo,\n uri = context.url;\n if (!frag.decryptdata || keyInfo !== _this3.keyUriToKeyInfo[uri]) {\n return reject(_this3.createKeyLoadError(frag, ErrorDetails.KEY_LOAD_ERROR, new Error('after key load, decryptdata unset or changed'), networkDetails));\n }\n keyInfo.decryptdata.key = frag.decryptdata.key = new Uint8Array(response.data);\n\n // detach fragment key loader on load success\n frag.keyLoader = null;\n keyInfo.loader = null;\n resolve({\n frag: frag,\n keyInfo: keyInfo\n });\n },\n onError: function onError(response, context, networkDetails, stats) {\n _this3.resetLoader(context);\n reject(_this3.createKeyLoadError(frag, ErrorDetails.KEY_LOAD_ERROR, new Error(\"HTTP Error \" + response.code + \" loading key \" + response.text), networkDetails, _objectSpread2({\n url: loaderContext.url,\n data: undefined\n }, response)));\n },\n onTimeout: function onTimeout(stats, context, networkDetails) {\n _this3.resetLoader(context);\n reject(_this3.createKeyLoadError(frag, ErrorDetails.KEY_LOAD_TIMEOUT, new Error('key loading timed out'), networkDetails));\n },\n onAbort: function onAbort(stats, context, networkDetails) {\n _this3.resetLoader(context);\n reject(_this3.createKeyLoadError(frag, ErrorDetails.INTERNAL_ABORTED, new Error('key loading aborted'), networkDetails));\n }\n };\n keyLoader.load(loaderContext, loaderConfig, loaderCallbacks);\n });\n };\n _proto.resetLoader = function resetLoader(context) {\n var frag = context.frag,\n keyInfo = context.keyInfo,\n uri = context.url;\n var loader = keyInfo.loader;\n if (frag.keyLoader === loader) {\n frag.keyLoader = null;\n keyInfo.loader = null;\n }\n delete this.keyUriToKeyInfo[uri];\n if (loader) {\n loader.destroy();\n }\n };\n return KeyLoader;\n }();\n\n function getSourceBuffer() {\n return self.SourceBuffer || self.WebKitSourceBuffer;\n }\n function isMSESupported() {\n var mediaSource = getMediaSource();\n if (!mediaSource) {\n return false;\n }\n\n // if SourceBuffer is exposed ensure its API is valid\n // Older browsers do not expose SourceBuffer globally so checking SourceBuffer.prototype is impossible\n var sourceBuffer = getSourceBuffer();\n return !sourceBuffer || sourceBuffer.prototype && typeof sourceBuffer.prototype.appendBuffer === 'function' && typeof sourceBuffer.prototype.remove === 'function';\n }\n function isSupported() {\n if (!isMSESupported()) {\n return false;\n }\n var mediaSource = getMediaSource();\n return typeof (mediaSource == null ? void 0 : mediaSource.isTypeSupported) === 'function' && (['avc1.42E01E,mp4a.40.2', 'av01.0.01M.08', 'vp09.00.50.08'].some(function (codecsForVideoContainer) {\n return mediaSource.isTypeSupported(mimeTypeForCodec(codecsForVideoContainer, 'video'));\n }) || ['mp4a.40.2', 'fLaC'].some(function (codecForAudioContainer) {\n return mediaSource.isTypeSupported(mimeTypeForCodec(codecForAudioContainer, 'audio'));\n }));\n }\n function changeTypeSupported() {\n var _sourceBuffer$prototy;\n var sourceBuffer = getSourceBuffer();\n return typeof (sourceBuffer == null ? void 0 : (_sourceBuffer$prototy = sourceBuffer.prototype) == null ? void 0 : _sourceBuffer$prototy.changeType) === 'function';\n }\n\n var STALL_MINIMUM_DURATION_MS = 250;\n var MAX_START_GAP_JUMP = 2.0;\n var SKIP_BUFFER_HOLE_STEP_SECONDS = 0.1;\n var SKIP_BUFFER_RANGE_START = 0.05;\n var GapController = /*#__PURE__*/function () {\n function GapController(config, media, fragmentTracker, hls) {\n this.config = void 0;\n this.media = null;\n this.fragmentTracker = void 0;\n this.hls = void 0;\n this.nudgeRetry = 0;\n this.stallReported = false;\n this.stalled = null;\n this.moved = false;\n this.seeking = false;\n this.config = config;\n this.media = media;\n this.fragmentTracker = fragmentTracker;\n this.hls = hls;\n }\n var _proto = GapController.prototype;\n _proto.destroy = function destroy() {\n this.media = null;\n // @ts-ignore\n this.hls = this.fragmentTracker = null;\n }\n\n /**\n * Checks if the playhead is stuck within a gap, and if so, attempts to free it.\n * A gap is an unbuffered range between two buffered ranges (or the start and the first buffered range).\n *\n * @param lastCurrentTime - Previously read playhead position\n */;\n _proto.poll = function poll(lastCurrentTime, activeFrag) {\n var config = this.config,\n media = this.media,\n stalled = this.stalled;\n if (media === null) {\n return;\n }\n var currentTime = media.currentTime,\n seeking = media.seeking;\n var seeked = this.seeking && !seeking;\n var beginSeek = !this.seeking && seeking;\n this.seeking = seeking;\n\n // The playhead is moving, no-op\n if (currentTime !== lastCurrentTime) {\n this.moved = true;\n if (!seeking) {\n this.nudgeRetry = 0;\n }\n if (stalled !== null) {\n // The playhead is now moving, but was previously stalled\n if (this.stallReported) {\n var _stalledDuration = self.performance.now() - stalled;\n logger.warn(\"playback not stuck anymore @\" + currentTime + \", after \" + Math.round(_stalledDuration) + \"ms\");\n this.stallReported = false;\n }\n this.stalled = null;\n }\n return;\n }\n\n // Clear stalled state when beginning or finishing seeking so that we don't report stalls coming out of a seek\n if (beginSeek || seeked) {\n this.stalled = null;\n return;\n }\n\n // The playhead should not be moving\n if (media.paused && !seeking || media.ended || media.playbackRate === 0 || !BufferHelper.getBuffered(media).length) {\n this.nudgeRetry = 0;\n return;\n }\n var bufferInfo = BufferHelper.bufferInfo(media, currentTime, 0);\n var nextStart = bufferInfo.nextStart || 0;\n if (seeking) {\n // Waiting for seeking in a buffered range to complete\n var hasEnoughBuffer = bufferInfo.len > MAX_START_GAP_JUMP;\n // Next buffered range is too far ahead to jump to while still seeking\n var noBufferGap = !nextStart || activeFrag && activeFrag.start <= currentTime || nextStart - currentTime > MAX_START_GAP_JUMP && !this.fragmentTracker.getPartialFragment(currentTime);\n if (hasEnoughBuffer || noBufferGap) {\n return;\n }\n // Reset moved state when seeking to a point in or before a gap\n this.moved = false;\n }\n\n // Skip start gaps if we haven't played, but the last poll detected the start of a stall\n // The addition poll gives the browser a chance to jump the gap for us\n if (!this.moved && this.stalled !== null) {\n var _level$details;\n // There is no playable buffer (seeked, waiting for buffer)\n var isBuffered = bufferInfo.len > 0;\n if (!isBuffered && !nextStart) {\n return;\n }\n // Jump start gaps within jump threshold\n var startJump = Math.max(nextStart, bufferInfo.start || 0) - currentTime;\n\n // When joining a live stream with audio tracks, account for live playlist window sliding by allowing\n // a larger jump over start gaps caused by the audio-stream-controller buffering a start fragment\n // that begins over 1 target duration after the video start position.\n var level = this.hls.levels ? this.hls.levels[this.hls.currentLevel] : null;\n var isLive = level == null ? void 0 : (_level$details = level.details) == null ? void 0 : _level$details.live;\n var maxStartGapJump = isLive ? level.details.targetduration * 2 : MAX_START_GAP_JUMP;\n var partialOrGap = this.fragmentTracker.getPartialFragment(currentTime);\n if (startJump > 0 && (startJump <= maxStartGapJump || partialOrGap)) {\n if (!media.paused) {\n this._trySkipBufferHole(partialOrGap);\n }\n return;\n }\n }\n\n // Start tracking stall time\n var tnow = self.performance.now();\n if (stalled === null) {\n this.stalled = tnow;\n return;\n }\n var stalledDuration = tnow - stalled;\n if (!seeking && stalledDuration >= STALL_MINIMUM_DURATION_MS) {\n // Report stalling after trying to fix\n this._reportStall(bufferInfo);\n if (!this.media) {\n return;\n }\n }\n var bufferedWithHoles = BufferHelper.bufferInfo(media, currentTime, config.maxBufferHole);\n this._tryFixBufferStall(bufferedWithHoles, stalledDuration);\n }\n\n /**\n * Detects and attempts to fix known buffer stalling issues.\n * @param bufferInfo - The properties of the current buffer.\n * @param stalledDurationMs - The amount of time Hls.js has been stalling for.\n * @private\n */;\n _proto._tryFixBufferStall = function _tryFixBufferStall(bufferInfo, stalledDurationMs) {\n var config = this.config,\n fragmentTracker = this.fragmentTracker,\n media = this.media;\n if (media === null) {\n return;\n }\n var currentTime = media.currentTime;\n var partial = fragmentTracker.getPartialFragment(currentTime);\n if (partial) {\n // Try to skip over the buffer hole caused by a partial fragment\n // This method isn't limited by the size of the gap between buffered ranges\n var targetTime = this._trySkipBufferHole(partial);\n // we return here in this case, meaning\n // the branch below only executes when we haven't seeked to a new position\n if (targetTime || !this.media) {\n return;\n }\n }\n\n // if we haven't had to skip over a buffer hole of a partial fragment\n // we may just have to \"nudge\" the playlist as the browser decoding/rendering engine\n // needs to cross some sort of threshold covering all source-buffers content\n // to start playing properly.\n if ((bufferInfo.len > config.maxBufferHole || bufferInfo.nextStart && bufferInfo.nextStart - currentTime < config.maxBufferHole) && stalledDurationMs > config.highBufferWatchdogPeriod * 1000) {\n logger.warn('Trying to nudge playhead over buffer-hole');\n // Try to nudge currentTime over a buffer hole if we've been stalling for the configured amount of seconds\n // We only try to jump the hole if it's under the configured size\n // Reset stalled so to rearm watchdog timer\n this.stalled = null;\n this._tryNudgeBuffer();\n }\n }\n\n /**\n * Triggers a BUFFER_STALLED_ERROR event, but only once per stall period.\n * @param bufferLen - The playhead distance from the end of the current buffer segment.\n * @private\n */;\n _proto._reportStall = function _reportStall(bufferInfo) {\n var hls = this.hls,\n media = this.media,\n stallReported = this.stallReported;\n if (!stallReported && media) {\n // Report stalled error once\n this.stallReported = true;\n var error = new Error(\"Playback stalling at @\" + media.currentTime + \" due to low buffer (\" + JSON.stringify(bufferInfo) + \")\");\n logger.warn(error.message);\n hls.trigger(Events.ERROR, {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.BUFFER_STALLED_ERROR,\n fatal: false,\n error: error,\n buffer: bufferInfo.len\n });\n }\n }\n\n /**\n * Attempts to fix buffer stalls by jumping over known gaps caused by partial fragments\n * @param partial - The partial fragment found at the current time (where playback is stalling).\n * @private\n */;\n _proto._trySkipBufferHole = function _trySkipBufferHole(partial) {\n var config = this.config,\n hls = this.hls,\n media = this.media;\n if (media === null) {\n return 0;\n }\n\n // Check if currentTime is between unbuffered regions of partial fragments\n var currentTime = media.currentTime;\n var bufferInfo = BufferHelper.bufferInfo(media, currentTime, 0);\n var startTime = currentTime < bufferInfo.start ? bufferInfo.start : bufferInfo.nextStart;\n if (startTime) {\n var bufferStarved = bufferInfo.len <= config.maxBufferHole;\n var waiting = bufferInfo.len > 0 && bufferInfo.len < 1 && media.readyState < 3;\n var gapLength = startTime - currentTime;\n if (gapLength > 0 && (bufferStarved || waiting)) {\n // Only allow large gaps to be skipped if it is a start gap, or all fragments in skip range are partial\n if (gapLength > config.maxBufferHole) {\n var fragmentTracker = this.fragmentTracker;\n var startGap = false;\n if (currentTime === 0) {\n var startFrag = fragmentTracker.getAppendedFrag(0, PlaylistLevelType.MAIN);\n if (startFrag && startTime < startFrag.end) {\n startGap = true;\n }\n }\n if (!startGap) {\n var startProvisioned = partial || fragmentTracker.getAppendedFrag(currentTime, PlaylistLevelType.MAIN);\n if (startProvisioned) {\n var moreToLoad = false;\n var pos = startProvisioned.end;\n while (pos < startTime) {\n var provisioned = fragmentTracker.getPartialFragment(pos);\n if (provisioned) {\n pos += provisioned.duration;\n } else {\n moreToLoad = true;\n break;\n }\n }\n if (moreToLoad) {\n return 0;\n }\n }\n }\n }\n var targetTime = Math.max(startTime + SKIP_BUFFER_RANGE_START, currentTime + SKIP_BUFFER_HOLE_STEP_SECONDS);\n logger.warn(\"skipping hole, adjusting currentTime from \" + currentTime + \" to \" + targetTime);\n this.moved = true;\n this.stalled = null;\n media.currentTime = targetTime;\n if (partial && !partial.gap) {\n var error = new Error(\"fragment loaded with buffer holes, seeking from \" + currentTime + \" to \" + targetTime);\n hls.trigger(Events.ERROR, {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.BUFFER_SEEK_OVER_HOLE,\n fatal: false,\n error: error,\n reason: error.message,\n frag: partial\n });\n }\n return targetTime;\n }\n }\n return 0;\n }\n\n /**\n * Attempts to fix buffer stalls by advancing the mediaElement's current time by a small amount.\n * @private\n */;\n _proto._tryNudgeBuffer = function _tryNudgeBuffer() {\n var config = this.config,\n hls = this.hls,\n media = this.media,\n nudgeRetry = this.nudgeRetry;\n if (media === null) {\n return;\n }\n var currentTime = media.currentTime;\n this.nudgeRetry++;\n if (nudgeRetry < config.nudgeMaxRetry) {\n var targetTime = currentTime + (nudgeRetry + 1) * config.nudgeOffset;\n // playback stalled in buffered area ... let's nudge currentTime to try to overcome this\n var error = new Error(\"Nudging 'currentTime' from \" + currentTime + \" to \" + targetTime);\n logger.warn(error.message);\n media.currentTime = targetTime;\n hls.trigger(Events.ERROR, {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.BUFFER_NUDGE_ON_STALL,\n error: error,\n fatal: false\n });\n } else {\n var _error = new Error(\"Playhead still not moving while enough data buffered @\" + currentTime + \" after \" + config.nudgeMaxRetry + \" nudges\");\n logger.error(_error.message);\n hls.trigger(Events.ERROR, {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.BUFFER_STALLED_ERROR,\n error: _error,\n fatal: true\n });\n }\n };\n return GapController;\n }();\n\n var TICK_INTERVAL = 100; // how often to tick in ms\n var StreamController = /*#__PURE__*/function (_BaseStreamController) {\n _inheritsLoose(StreamController, _BaseStreamController);\n function StreamController(hls, fragmentTracker, keyLoader) {\n var _this;\n _this = _BaseStreamController.call(this, hls, fragmentTracker, keyLoader, '[stream-controller]', PlaylistLevelType.MAIN) || this;\n _this.audioCodecSwap = false;\n _this.gapController = null;\n _this.level = -1;\n _this._forceStartLoad = false;\n _this.altAudio = false;\n _this.audioOnly = false;\n _this.fragPlaying = null;\n _this.onvplaying = null;\n _this.onvseeked = null;\n _this.fragLastKbps = 0;\n _this.couldBacktrack = false;\n _this.backtrackFragment = null;\n _this.audioCodecSwitch = false;\n _this.videoBuffer = null;\n _this._registerListeners();\n return _this;\n }\n var _proto = StreamController.prototype;\n _proto._registerListeners = function _registerListeners() {\n var hls = this.hls;\n hls.on(Events.MEDIA_ATTACHED, this.onMediaAttached, this);\n hls.on(Events.MEDIA_DETACHING, this.onMediaDetaching, this);\n hls.on(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.on(Events.MANIFEST_PARSED, this.onManifestParsed, this);\n hls.on(Events.LEVEL_LOADING, this.onLevelLoading, this);\n hls.on(Events.LEVEL_LOADED, this.onLevelLoaded, this);\n hls.on(Events.FRAG_LOAD_EMERGENCY_ABORTED, this.onFragLoadEmergencyAborted, this);\n hls.on(Events.ERROR, this.onError, this);\n hls.on(Events.AUDIO_TRACK_SWITCHING, this.onAudioTrackSwitching, this);\n hls.on(Events.AUDIO_TRACK_SWITCHED, this.onAudioTrackSwitched, this);\n hls.on(Events.BUFFER_CREATED, this.onBufferCreated, this);\n hls.on(Events.BUFFER_FLUSHED, this.onBufferFlushed, this);\n hls.on(Events.LEVELS_UPDATED, this.onLevelsUpdated, this);\n hls.on(Events.FRAG_BUFFERED, this.onFragBuffered, this);\n };\n _proto._unregisterListeners = function _unregisterListeners() {\n var hls = this.hls;\n hls.off(Events.MEDIA_ATTACHED, this.onMediaAttached, this);\n hls.off(Events.MEDIA_DETACHING, this.onMediaDetaching, this);\n hls.off(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.off(Events.MANIFEST_PARSED, this.onManifestParsed, this);\n hls.off(Events.LEVEL_LOADED, this.onLevelLoaded, this);\n hls.off(Events.FRAG_LOAD_EMERGENCY_ABORTED, this.onFragLoadEmergencyAborted, this);\n hls.off(Events.ERROR, this.onError, this);\n hls.off(Events.AUDIO_TRACK_SWITCHING, this.onAudioTrackSwitching, this);\n hls.off(Events.AUDIO_TRACK_SWITCHED, this.onAudioTrackSwitched, this);\n hls.off(Events.BUFFER_CREATED, this.onBufferCreated, this);\n hls.off(Events.BUFFER_FLUSHED, this.onBufferFlushed, this);\n hls.off(Events.LEVELS_UPDATED, this.onLevelsUpdated, this);\n hls.off(Events.FRAG_BUFFERED, this.onFragBuffered, this);\n };\n _proto.onHandlerDestroying = function onHandlerDestroying() {\n this._unregisterListeners();\n _BaseStreamController.prototype.onHandlerDestroying.call(this);\n };\n _proto.startLoad = function startLoad(startPosition) {\n if (this.levels) {\n var lastCurrentTime = this.lastCurrentTime,\n hls = this.hls;\n this.stopLoad();\n this.setInterval(TICK_INTERVAL);\n this.level = -1;\n if (!this.startFragRequested) {\n // determine load level\n var startLevel = hls.startLevel;\n if (startLevel === -1) {\n if (hls.config.testBandwidth && this.levels.length > 1) {\n // -1 : guess start Level by doing a bitrate test by loading first fragment of lowest quality level\n startLevel = 0;\n this.bitrateTest = true;\n } else {\n startLevel = hls.firstAutoLevel;\n }\n }\n // set new level to playlist loader : this will trigger start level load\n // hls.nextLoadLevel remains until it is set to a new value or until a new frag is successfully loaded\n hls.nextLoadLevel = startLevel;\n this.level = hls.loadLevel;\n this.loadedmetadata = false;\n }\n // if startPosition undefined but lastCurrentTime set, set startPosition to last currentTime\n if (lastCurrentTime > 0 && startPosition === -1) {\n this.log(\"Override startPosition with lastCurrentTime @\" + lastCurrentTime.toFixed(3));\n startPosition = lastCurrentTime;\n }\n this.state = State.IDLE;\n this.nextLoadPosition = this.startPosition = this.lastCurrentTime = startPosition;\n this.tick();\n } else {\n this._forceStartLoad = true;\n this.state = State.STOPPED;\n }\n };\n _proto.stopLoad = function stopLoad() {\n this._forceStartLoad = false;\n _BaseStreamController.prototype.stopLoad.call(this);\n };\n _proto.doTick = function doTick() {\n switch (this.state) {\n case State.WAITING_LEVEL:\n {\n var levels = this.levels,\n level = this.level;\n var currentLevel = levels == null ? void 0 : levels[level];\n var details = currentLevel == null ? void 0 : currentLevel.details;\n if (details && (!details.live || this.levelLastLoaded === currentLevel)) {\n if (this.waitForCdnTuneIn(details)) {\n break;\n }\n this.state = State.IDLE;\n break;\n } else if (this.hls.nextLoadLevel !== this.level) {\n this.state = State.IDLE;\n break;\n }\n break;\n }\n case State.FRAG_LOADING_WAITING_RETRY:\n {\n var _this$media;\n var now = self.performance.now();\n var retryDate = this.retryDate;\n // if current time is gt than retryDate, or if media seeking let's switch to IDLE state to retry loading\n if (!retryDate || now >= retryDate || (_this$media = this.media) != null && _this$media.seeking) {\n var _levels = this.levels,\n _level = this.level;\n var _currentLevel = _levels == null ? void 0 : _levels[_level];\n this.resetStartWhenNotLoaded(_currentLevel || null);\n this.state = State.IDLE;\n }\n }\n break;\n }\n if (this.state === State.IDLE) {\n this.doTickIdle();\n }\n this.onTickEnd();\n };\n _proto.onTickEnd = function onTickEnd() {\n _BaseStreamController.prototype.onTickEnd.call(this);\n this.checkBuffer();\n this.checkFragmentChanged();\n };\n _proto.doTickIdle = function doTickIdle() {\n var hls = this.hls,\n levelLastLoaded = this.levelLastLoaded,\n levels = this.levels,\n media = this.media;\n var config = hls.config,\n level = hls.nextLoadLevel;\n\n // if start level not parsed yet OR\n // if video not attached AND start fragment already requested OR start frag prefetch not enabled\n // exit loop, as we either need more info (level not parsed) or we need media to be attached to load new fragment\n if (levelLastLoaded === null || !media && (this.startFragRequested || !config.startFragPrefetch)) {\n return;\n }\n\n // If the \"main\" level is audio-only but we are loading an alternate track in the same group, do not load anything\n if (this.altAudio && this.audioOnly) {\n return;\n }\n if (!(levels != null && levels[level])) {\n return;\n }\n var levelInfo = levels[level];\n\n // if buffer length is less than maxBufLen try to load a new fragment\n\n var bufferInfo = this.getMainFwdBufferInfo();\n if (bufferInfo === null) {\n return;\n }\n var lastDetails = this.getLevelDetails();\n if (lastDetails && this._streamEnded(bufferInfo, lastDetails)) {\n var data = {};\n if (this.altAudio) {\n data.type = 'video';\n }\n this.hls.trigger(Events.BUFFER_EOS, data);\n this.state = State.ENDED;\n return;\n }\n\n // set next load level : this will trigger a playlist load if needed\n if (hls.loadLevel !== level && hls.manualLevel === -1) {\n this.log(\"Adapting to level \" + level + \" from level \" + this.level);\n }\n this.level = hls.nextLoadLevel = level;\n var levelDetails = levelInfo.details;\n // if level info not retrieved yet, switch state and wait for level retrieval\n // if live playlist, ensure that new playlist has been refreshed to avoid loading/try to load\n // a useless and outdated fragment (that might even introduce load error if it is already out of the live playlist)\n if (!levelDetails || this.state === State.WAITING_LEVEL || levelDetails.live && this.levelLastLoaded !== levelInfo) {\n this.level = level;\n this.state = State.WAITING_LEVEL;\n return;\n }\n var bufferLen = bufferInfo.len;\n\n // compute max Buffer Length that we could get from this load level, based on level bitrate. don't buffer more than 60 MB and more than 30s\n var maxBufLen = this.getMaxBufferLength(levelInfo.maxBitrate);\n\n // Stay idle if we are still with buffer margins\n if (bufferLen >= maxBufLen) {\n return;\n }\n if (this.backtrackFragment && this.backtrackFragment.start > bufferInfo.end) {\n this.backtrackFragment = null;\n }\n var targetBufferTime = this.backtrackFragment ? this.backtrackFragment.start : bufferInfo.end;\n var frag = this.getNextFragment(targetBufferTime, levelDetails);\n // Avoid backtracking by loading an earlier segment in streams with segments that do not start with a key frame (flagged by `couldBacktrack`)\n if (this.couldBacktrack && !this.fragPrevious && frag && frag.sn !== 'initSegment' && this.fragmentTracker.getState(frag) !== FragmentState.OK) {\n var _this$backtrackFragme;\n var backtrackSn = ((_this$backtrackFragme = this.backtrackFragment) != null ? _this$backtrackFragme : frag).sn;\n var fragIdx = backtrackSn - levelDetails.startSN;\n var backtrackFrag = levelDetails.fragments[fragIdx - 1];\n if (backtrackFrag && frag.cc === backtrackFrag.cc) {\n frag = backtrackFrag;\n this.fragmentTracker.removeFragment(backtrackFrag);\n }\n } else if (this.backtrackFragment && bufferInfo.len) {\n this.backtrackFragment = null;\n }\n // Avoid loop loading by using nextLoadPosition set for backtracking and skipping consecutive GAP tags\n if (frag && this.isLoopLoading(frag, targetBufferTime)) {\n var gapStart = frag.gap;\n if (!gapStart) {\n // Cleanup the fragment tracker before trying to find the next unbuffered fragment\n var type = this.audioOnly && !this.altAudio ? ElementaryStreamTypes.AUDIO : ElementaryStreamTypes.VIDEO;\n var mediaBuffer = (type === ElementaryStreamTypes.VIDEO ? this.videoBuffer : this.mediaBuffer) || this.media;\n if (mediaBuffer) {\n this.afterBufferFlushed(mediaBuffer, type, PlaylistLevelType.MAIN);\n }\n }\n frag = this.getNextFragmentLoopLoading(frag, levelDetails, bufferInfo, PlaylistLevelType.MAIN, maxBufLen);\n }\n if (!frag) {\n return;\n }\n if (frag.initSegment && !frag.initSegment.data && !this.bitrateTest) {\n frag = frag.initSegment;\n }\n this.loadFragment(frag, levelInfo, targetBufferTime);\n };\n _proto.loadFragment = function loadFragment(frag, level, targetBufferTime) {\n // Check if fragment is not loaded\n var fragState = this.fragmentTracker.getState(frag);\n this.fragCurrent = frag;\n if (fragState === FragmentState.NOT_LOADED || fragState === FragmentState.PARTIAL) {\n if (frag.sn === 'initSegment') {\n this._loadInitSegment(frag, level);\n } else if (this.bitrateTest) {\n this.log(\"Fragment \" + frag.sn + \" of level \" + frag.level + \" is being downloaded to test bitrate and will not be buffered\");\n this._loadBitrateTestFrag(frag, level);\n } else {\n this.startFragRequested = true;\n _BaseStreamController.prototype.loadFragment.call(this, frag, level, targetBufferTime);\n }\n } else {\n this.clearTrackerIfNeeded(frag);\n }\n };\n _proto.getBufferedFrag = function getBufferedFrag(position) {\n return this.fragmentTracker.getBufferedFrag(position, PlaylistLevelType.MAIN);\n };\n _proto.followingBufferedFrag = function followingBufferedFrag(frag) {\n if (frag) {\n // try to get range of next fragment (500ms after this range)\n return this.getBufferedFrag(frag.end + 0.5);\n }\n return null;\n }\n\n /*\n on immediate level switch :\n - pause playback if playing\n - cancel any pending load request\n - and trigger a buffer flush\n */;\n _proto.immediateLevelSwitch = function immediateLevelSwitch() {\n this.abortCurrentFrag();\n this.flushMainBuffer(0, Number.POSITIVE_INFINITY);\n }\n\n /**\n * try to switch ASAP without breaking video playback:\n * in order to ensure smooth but quick level switching,\n * we need to find the next flushable buffer range\n * we should take into account new segment fetch time\n */;\n _proto.nextLevelSwitch = function nextLevelSwitch() {\n var levels = this.levels,\n media = this.media;\n // ensure that media is defined and that metadata are available (to retrieve currentTime)\n if (media != null && media.readyState) {\n var fetchdelay;\n var fragPlayingCurrent = this.getAppendedFrag(media.currentTime);\n if (fragPlayingCurrent && fragPlayingCurrent.start > 1) {\n // flush buffer preceding current fragment (flush until current fragment start offset)\n // minus 1s to avoid video freezing, that could happen if we flush keyframe of current video ...\n this.flushMainBuffer(0, fragPlayingCurrent.start - 1);\n }\n var levelDetails = this.getLevelDetails();\n if (levelDetails != null && levelDetails.live) {\n var bufferInfo = this.getMainFwdBufferInfo();\n // Do not flush in live stream with low buffer\n if (!bufferInfo || bufferInfo.len < levelDetails.targetduration * 2) {\n return;\n }\n }\n if (!media.paused && levels) {\n // add a safety delay of 1s\n var nextLevelId = this.hls.nextLoadLevel;\n var nextLevel = levels[nextLevelId];\n var fragLastKbps = this.fragLastKbps;\n if (fragLastKbps && this.fragCurrent) {\n fetchdelay = this.fragCurrent.duration * nextLevel.maxBitrate / (1000 * fragLastKbps) + 1;\n } else {\n fetchdelay = 0;\n }\n } else {\n fetchdelay = 0;\n }\n // this.log('fetchdelay:'+fetchdelay);\n // find buffer range that will be reached once new fragment will be fetched\n var bufferedFrag = this.getBufferedFrag(media.currentTime + fetchdelay);\n if (bufferedFrag) {\n // we can flush buffer range following this one without stalling playback\n var nextBufferedFrag = this.followingBufferedFrag(bufferedFrag);\n if (nextBufferedFrag) {\n // if we are here, we can also cancel any loading/demuxing in progress, as they are useless\n this.abortCurrentFrag();\n // start flush position is in next buffered frag. Leave some padding for non-independent segments and smoother playback.\n var maxStart = nextBufferedFrag.maxStartPTS ? nextBufferedFrag.maxStartPTS : nextBufferedFrag.start;\n var fragDuration = nextBufferedFrag.duration;\n var startPts = Math.max(bufferedFrag.end, maxStart + Math.min(Math.max(fragDuration - this.config.maxFragLookUpTolerance, fragDuration * (this.couldBacktrack ? 0.5 : 0.125)), fragDuration * (this.couldBacktrack ? 0.75 : 0.25)));\n this.flushMainBuffer(startPts, Number.POSITIVE_INFINITY);\n }\n }\n }\n };\n _proto.abortCurrentFrag = function abortCurrentFrag() {\n var fragCurrent = this.fragCurrent;\n this.fragCurrent = null;\n this.backtrackFragment = null;\n if (fragCurrent) {\n fragCurrent.abortRequests();\n this.fragmentTracker.removeFragment(fragCurrent);\n }\n switch (this.state) {\n case State.KEY_LOADING:\n case State.FRAG_LOADING:\n case State.FRAG_LOADING_WAITING_RETRY:\n case State.PARSING:\n case State.PARSED:\n this.state = State.IDLE;\n break;\n }\n this.nextLoadPosition = this.getLoadPosition();\n };\n _proto.flushMainBuffer = function flushMainBuffer(startOffset, endOffset) {\n _BaseStreamController.prototype.flushMainBuffer.call(this, startOffset, endOffset, this.altAudio ? 'video' : null);\n };\n _proto.onMediaAttached = function onMediaAttached(event, data) {\n _BaseStreamController.prototype.onMediaAttached.call(this, event, data);\n var media = data.media;\n this.onvplaying = this.onMediaPlaying.bind(this);\n this.onvseeked = this.onMediaSeeked.bind(this);\n media.addEventListener('playing', this.onvplaying);\n media.addEventListener('seeked', this.onvseeked);\n this.gapController = new GapController(this.config, media, this.fragmentTracker, this.hls);\n };\n _proto.onMediaDetaching = function onMediaDetaching() {\n var media = this.media;\n if (media && this.onvplaying && this.onvseeked) {\n media.removeEventListener('playing', this.onvplaying);\n media.removeEventListener('seeked', this.onvseeked);\n this.onvplaying = this.onvseeked = null;\n this.videoBuffer = null;\n }\n this.fragPlaying = null;\n if (this.gapController) {\n this.gapController.destroy();\n this.gapController = null;\n }\n _BaseStreamController.prototype.onMediaDetaching.call(this);\n };\n _proto.onMediaPlaying = function onMediaPlaying() {\n // tick to speed up FRAG_CHANGED triggering\n this.tick();\n };\n _proto.onMediaSeeked = function onMediaSeeked() {\n var media = this.media;\n var currentTime = media ? media.currentTime : null;\n if (isFiniteNumber(currentTime)) {\n this.log(\"Media seeked to \" + currentTime.toFixed(3));\n }\n\n // If seeked was issued before buffer was appended do not tick immediately\n var bufferInfo = this.getMainFwdBufferInfo();\n if (bufferInfo === null || bufferInfo.len === 0) {\n this.warn(\"Main forward buffer length on \\\"seeked\\\" event \" + (bufferInfo ? bufferInfo.len : 'empty') + \")\");\n return;\n }\n\n // tick to speed up FRAG_CHANGED triggering\n this.tick();\n };\n _proto.onManifestLoading = function onManifestLoading() {\n // reset buffer on manifest loading\n this.log('Trigger BUFFER_RESET');\n this.hls.trigger(Events.BUFFER_RESET, undefined);\n this.fragmentTracker.removeAllFragments();\n this.couldBacktrack = false;\n this.startPosition = this.lastCurrentTime = this.fragLastKbps = 0;\n this.levels = this.fragPlaying = this.backtrackFragment = this.levelLastLoaded = null;\n this.altAudio = this.audioOnly = this.startFragRequested = false;\n };\n _proto.onManifestParsed = function onManifestParsed(event, data) {\n // detect if we have different kind of audio codecs used amongst playlists\n var aac = false;\n var heaac = false;\n data.levels.forEach(function (level) {\n var codec = level.audioCodec;\n if (codec) {\n aac = aac || codec.indexOf('mp4a.40.2') !== -1;\n heaac = heaac || codec.indexOf('mp4a.40.5') !== -1;\n }\n });\n this.audioCodecSwitch = aac && heaac && !changeTypeSupported();\n if (this.audioCodecSwitch) {\n this.log('Both AAC/HE-AAC audio found in levels; declaring level codec as HE-AAC');\n }\n this.levels = data.levels;\n this.startFragRequested = false;\n };\n _proto.onLevelLoading = function onLevelLoading(event, data) {\n var levels = this.levels;\n if (!levels || this.state !== State.IDLE) {\n return;\n }\n var level = levels[data.level];\n if (!level.details || level.details.live && this.levelLastLoaded !== level || this.waitForCdnTuneIn(level.details)) {\n this.state = State.WAITING_LEVEL;\n }\n };\n _proto.onLevelLoaded = function onLevelLoaded(event, data) {\n var _curLevel$details;\n var levels = this.levels;\n var newLevelId = data.level;\n var newDetails = data.details;\n var duration = newDetails.totalduration;\n if (!levels) {\n this.warn(\"Levels were reset while loading level \" + newLevelId);\n return;\n }\n this.log(\"Level \" + newLevelId + \" loaded [\" + newDetails.startSN + \",\" + newDetails.endSN + \"]\" + (newDetails.lastPartSn ? \"[part-\" + newDetails.lastPartSn + \"-\" + newDetails.lastPartIndex + \"]\" : '') + \", cc [\" + newDetails.startCC + \", \" + newDetails.endCC + \"] duration:\" + duration);\n var curLevel = levels[newLevelId];\n var fragCurrent = this.fragCurrent;\n if (fragCurrent && (this.state === State.FRAG_LOADING || this.state === State.FRAG_LOADING_WAITING_RETRY)) {\n if (fragCurrent.level !== data.level && fragCurrent.loader) {\n this.abortCurrentFrag();\n }\n }\n var sliding = 0;\n if (newDetails.live || (_curLevel$details = curLevel.details) != null && _curLevel$details.live) {\n var _this$levelLastLoaded;\n this.checkLiveUpdate(newDetails);\n if (newDetails.deltaUpdateFailed) {\n return;\n }\n sliding = this.alignPlaylists(newDetails, curLevel.details, (_this$levelLastLoaded = this.levelLastLoaded) == null ? void 0 : _this$levelLastLoaded.details);\n }\n // override level info\n curLevel.details = newDetails;\n this.levelLastLoaded = curLevel;\n this.hls.trigger(Events.LEVEL_UPDATED, {\n details: newDetails,\n level: newLevelId\n });\n\n // only switch back to IDLE state if we were waiting for level to start downloading a new fragment\n if (this.state === State.WAITING_LEVEL) {\n if (this.waitForCdnTuneIn(newDetails)) {\n // Wait for Low-Latency CDN Tune-in\n return;\n }\n this.state = State.IDLE;\n }\n if (!this.startFragRequested) {\n this.setStartPosition(newDetails, sliding);\n } else if (newDetails.live) {\n this.synchronizeToLiveEdge(newDetails);\n }\n\n // trigger handler right now\n this.tick();\n };\n _proto._handleFragmentLoadProgress = function _handleFragmentLoadProgress(data) {\n var _frag$initSegment;\n var frag = data.frag,\n part = data.part,\n payload = data.payload;\n var levels = this.levels;\n if (!levels) {\n this.warn(\"Levels were reset while fragment load was in progress. Fragment \" + frag.sn + \" of level \" + frag.level + \" will not be buffered\");\n return;\n }\n var currentLevel = levels[frag.level];\n var details = currentLevel.details;\n if (!details) {\n this.warn(\"Dropping fragment \" + frag.sn + \" of level \" + frag.level + \" after level details were reset\");\n this.fragmentTracker.removeFragment(frag);\n return;\n }\n var videoCodec = currentLevel.videoCodec;\n\n // time Offset is accurate if level PTS is known, or if playlist is not sliding (not live)\n var accurateTimeOffset = details.PTSKnown || !details.live;\n var initSegmentData = (_frag$initSegment = frag.initSegment) == null ? void 0 : _frag$initSegment.data;\n var audioCodec = this._getAudioCodec(currentLevel);\n\n // transmux the MPEG-TS data to ISO-BMFF segments\n // this.log(`Transmuxing ${frag.sn} of [${details.startSN} ,${details.endSN}],level ${frag.level}, cc ${frag.cc}`);\n var transmuxer = this.transmuxer = this.transmuxer || new TransmuxerInterface(this.hls, PlaylistLevelType.MAIN, this._handleTransmuxComplete.bind(this), this._handleTransmuxerFlush.bind(this));\n var partIndex = part ? part.index : -1;\n var partial = partIndex !== -1;\n var chunkMeta = new ChunkMetadata(frag.level, frag.sn, frag.stats.chunkCount, payload.byteLength, partIndex, partial);\n var initPTS = this.initPTS[frag.cc];\n transmuxer.push(payload, initSegmentData, audioCodec, videoCodec, frag, part, details.totalduration, accurateTimeOffset, chunkMeta, initPTS);\n };\n _proto.onAudioTrackSwitching = function onAudioTrackSwitching(event, data) {\n // if any URL found on new audio track, it is an alternate audio track\n var fromAltAudio = this.altAudio;\n var altAudio = !!data.url;\n // if we switch on main audio, ensure that main fragment scheduling is synced with media.buffered\n // don't do anything if we switch to alt audio: audio stream controller is handling it.\n // we will just have to change buffer scheduling on audioTrackSwitched\n if (!altAudio) {\n if (this.mediaBuffer !== this.media) {\n this.log('Switching on main audio, use media.buffered to schedule main fragment loading');\n this.mediaBuffer = this.media;\n var fragCurrent = this.fragCurrent;\n // we need to refill audio buffer from main: cancel any frag loading to speed up audio switch\n if (fragCurrent) {\n this.log('Switching to main audio track, cancel main fragment load');\n fragCurrent.abortRequests();\n this.fragmentTracker.removeFragment(fragCurrent);\n }\n // destroy transmuxer to force init segment generation (following audio switch)\n this.resetTransmuxer();\n // switch to IDLE state to load new fragment\n this.resetLoadingState();\n } else if (this.audioOnly) {\n // Reset audio transmuxer so when switching back to main audio we're not still appending where we left off\n this.resetTransmuxer();\n }\n var hls = this.hls;\n // If switching from alt to main audio, flush all audio and trigger track switched\n if (fromAltAudio) {\n hls.trigger(Events.BUFFER_FLUSHING, {\n startOffset: 0,\n endOffset: Number.POSITIVE_INFINITY,\n type: null\n });\n this.fragmentTracker.removeAllFragments();\n }\n hls.trigger(Events.AUDIO_TRACK_SWITCHED, data);\n }\n };\n _proto.onAudioTrackSwitched = function onAudioTrackSwitched(event, data) {\n var trackId = data.id;\n var altAudio = !!this.hls.audioTracks[trackId].url;\n if (altAudio) {\n var videoBuffer = this.videoBuffer;\n // if we switched on alternate audio, ensure that main fragment scheduling is synced with video sourcebuffer buffered\n if (videoBuffer && this.mediaBuffer !== videoBuffer) {\n this.log('Switching on alternate audio, use video.buffered to schedule main fragment loading');\n this.mediaBuffer = videoBuffer;\n }\n }\n this.altAudio = altAudio;\n this.tick();\n };\n _proto.onBufferCreated = function onBufferCreated(event, data) {\n var tracks = data.tracks;\n var mediaTrack;\n var name;\n var alternate = false;\n for (var type in tracks) {\n var track = tracks[type];\n if (track.id === 'main') {\n name = type;\n mediaTrack = track;\n // keep video source buffer reference\n if (type === 'video') {\n var videoTrack = tracks[type];\n if (videoTrack) {\n this.videoBuffer = videoTrack.buffer;\n }\n }\n } else {\n alternate = true;\n }\n }\n if (alternate && mediaTrack) {\n this.log(\"Alternate track found, use \" + name + \".buffered to schedule main fragment loading\");\n this.mediaBuffer = mediaTrack.buffer;\n } else {\n this.mediaBuffer = this.media;\n }\n };\n _proto.onFragBuffered = function onFragBuffered(event, data) {\n var frag = data.frag,\n part = data.part;\n if (frag && frag.type !== PlaylistLevelType.MAIN) {\n return;\n }\n if (this.fragContextChanged(frag)) {\n // If a level switch was requested while a fragment was buffering, it will emit the FRAG_BUFFERED event upon completion\n // Avoid setting state back to IDLE, since that will interfere with a level switch\n this.warn(\"Fragment \" + frag.sn + (part ? ' p: ' + part.index : '') + \" of level \" + frag.level + \" finished buffering, but was aborted. state: \" + this.state);\n if (this.state === State.PARSED) {\n this.state = State.IDLE;\n }\n return;\n }\n var stats = part ? part.stats : frag.stats;\n this.fragLastKbps = Math.round(8 * stats.total / (stats.buffering.end - stats.loading.first));\n if (frag.sn !== 'initSegment') {\n this.fragPrevious = frag;\n }\n this.fragBufferedComplete(frag, part);\n };\n _proto.onError = function onError(event, data) {\n var _data$context;\n if (data.fatal) {\n this.state = State.ERROR;\n return;\n }\n switch (data.details) {\n case ErrorDetails.FRAG_GAP:\n case ErrorDetails.FRAG_PARSING_ERROR:\n case ErrorDetails.FRAG_DECRYPT_ERROR:\n case ErrorDetails.FRAG_LOAD_ERROR:\n case ErrorDetails.FRAG_LOAD_TIMEOUT:\n case ErrorDetails.KEY_LOAD_ERROR:\n case ErrorDetails.KEY_LOAD_TIMEOUT:\n this.onFragmentOrKeyLoadError(PlaylistLevelType.MAIN, data);\n break;\n case ErrorDetails.LEVEL_LOAD_ERROR:\n case ErrorDetails.LEVEL_LOAD_TIMEOUT:\n case ErrorDetails.LEVEL_PARSING_ERROR:\n // in case of non fatal error while loading level, if level controller is not retrying to load level, switch back to IDLE\n if (!data.levelRetry && this.state === State.WAITING_LEVEL && ((_data$context = data.context) == null ? void 0 : _data$context.type) === PlaylistContextType.LEVEL) {\n this.state = State.IDLE;\n }\n break;\n case ErrorDetails.BUFFER_APPEND_ERROR:\n case ErrorDetails.BUFFER_FULL_ERROR:\n if (!data.parent || data.parent !== 'main') {\n return;\n }\n if (data.details === ErrorDetails.BUFFER_APPEND_ERROR) {\n this.resetLoadingState();\n return;\n }\n if (this.reduceLengthAndFlushBuffer(data)) {\n this.flushMainBuffer(0, Number.POSITIVE_INFINITY);\n }\n break;\n case ErrorDetails.INTERNAL_EXCEPTION:\n this.recoverWorkerError(data);\n break;\n }\n }\n\n // Checks the health of the buffer and attempts to resolve playback stalls.\n ;\n _proto.checkBuffer = function checkBuffer() {\n var media = this.media,\n gapController = this.gapController;\n if (!media || !gapController || !media.readyState) {\n // Exit early if we don't have media or if the media hasn't buffered anything yet (readyState 0)\n return;\n }\n if (this.loadedmetadata || !BufferHelper.getBuffered(media).length) {\n // Resolve gaps using the main buffer, whose ranges are the intersections of the A/V sourcebuffers\n var activeFrag = this.state !== State.IDLE ? this.fragCurrent : null;\n gapController.poll(this.lastCurrentTime, activeFrag);\n }\n this.lastCurrentTime = media.currentTime;\n };\n _proto.onFragLoadEmergencyAborted = function onFragLoadEmergencyAborted() {\n this.state = State.IDLE;\n // if loadedmetadata is not set, it means that we are emergency switch down on first frag\n // in that case, reset startFragRequested flag\n if (!this.loadedmetadata) {\n this.startFragRequested = false;\n this.nextLoadPosition = this.startPosition;\n }\n this.tickImmediate();\n };\n _proto.onBufferFlushed = function onBufferFlushed(event, _ref) {\n var type = _ref.type;\n if (type !== ElementaryStreamTypes.AUDIO || this.audioOnly && !this.altAudio) {\n var mediaBuffer = (type === ElementaryStreamTypes.VIDEO ? this.videoBuffer : this.mediaBuffer) || this.media;\n this.afterBufferFlushed(mediaBuffer, type, PlaylistLevelType.MAIN);\n this.tick();\n }\n };\n _proto.onLevelsUpdated = function onLevelsUpdated(event, data) {\n if (this.level > -1 && this.fragCurrent) {\n this.level = this.fragCurrent.level;\n }\n this.levels = data.levels;\n };\n _proto.swapAudioCodec = function swapAudioCodec() {\n this.audioCodecSwap = !this.audioCodecSwap;\n }\n\n /**\n * Seeks to the set startPosition if not equal to the mediaElement's current time.\n */;\n _proto.seekToStartPos = function seekToStartPos() {\n var media = this.media;\n if (!media) {\n return;\n }\n var currentTime = media.currentTime;\n var startPosition = this.startPosition;\n // only adjust currentTime if different from startPosition or if startPosition not buffered\n // at that stage, there should be only one buffered range, as we reach that code after first fragment has been buffered\n if (startPosition >= 0 && currentTime < startPosition) {\n if (media.seeking) {\n this.log(\"could not seek to \" + startPosition + \", already seeking at \" + currentTime);\n return;\n }\n var buffered = BufferHelper.getBuffered(media);\n var bufferStart = buffered.length ? buffered.start(0) : 0;\n var delta = bufferStart - startPosition;\n if (delta > 0 && (delta < this.config.maxBufferHole || delta < this.config.maxFragLookUpTolerance)) {\n this.log(\"adjusting start position by \" + delta + \" to match buffer start\");\n startPosition += delta;\n this.startPosition = startPosition;\n }\n this.log(\"seek to target start position \" + startPosition + \" from current time \" + currentTime);\n media.currentTime = startPosition;\n }\n };\n _proto._getAudioCodec = function _getAudioCodec(currentLevel) {\n var audioCodec = this.config.defaultAudioCodec || currentLevel.audioCodec;\n if (this.audioCodecSwap && audioCodec) {\n this.log('Swapping audio codec');\n if (audioCodec.indexOf('mp4a.40.5') !== -1) {\n audioCodec = 'mp4a.40.2';\n } else {\n audioCodec = 'mp4a.40.5';\n }\n }\n return audioCodec;\n };\n _proto._loadBitrateTestFrag = function _loadBitrateTestFrag(frag, level) {\n var _this2 = this;\n frag.bitrateTest = true;\n this._doFragLoad(frag, level).then(function (data) {\n var hls = _this2.hls;\n if (!data || _this2.fragContextChanged(frag)) {\n return;\n }\n level.fragmentError = 0;\n _this2.state = State.IDLE;\n _this2.startFragRequested = false;\n _this2.bitrateTest = false;\n var stats = frag.stats;\n // Bitrate tests fragments are neither parsed nor buffered\n stats.parsing.start = stats.parsing.end = stats.buffering.start = stats.buffering.end = self.performance.now();\n hls.trigger(Events.FRAG_LOADED, data);\n frag.bitrateTest = false;\n });\n };\n _proto._handleTransmuxComplete = function _handleTransmuxComplete(transmuxResult) {\n var _id3$samples;\n var id = 'main';\n var hls = this.hls;\n var remuxResult = transmuxResult.remuxResult,\n chunkMeta = transmuxResult.chunkMeta;\n var context = this.getCurrentContext(chunkMeta);\n if (!context) {\n this.resetWhenMissingContext(chunkMeta);\n return;\n }\n var frag = context.frag,\n part = context.part,\n level = context.level;\n var video = remuxResult.video,\n text = remuxResult.text,\n id3 = remuxResult.id3,\n initSegment = remuxResult.initSegment;\n var details = level.details;\n // The audio-stream-controller handles audio buffering if Hls.js is playing an alternate audio track\n var audio = this.altAudio ? undefined : remuxResult.audio;\n\n // Check if the current fragment has been aborted. We check this by first seeing if we're still playing the current level.\n // If we are, subsequently check if the currently loading fragment (fragCurrent) has changed.\n if (this.fragContextChanged(frag)) {\n this.fragmentTracker.removeFragment(frag);\n return;\n }\n this.state = State.PARSING;\n if (initSegment) {\n if (initSegment != null && initSegment.tracks) {\n var mapFragment = frag.initSegment || frag;\n this._bufferInitSegment(level, initSegment.tracks, mapFragment, chunkMeta);\n hls.trigger(Events.FRAG_PARSING_INIT_SEGMENT, {\n frag: mapFragment,\n id: id,\n tracks: initSegment.tracks\n });\n }\n\n // This would be nice if Number.isFinite acted as a typeguard, but it doesn't. See: https://github.com/Microsoft/TypeScript/issues/10038\n var initPTS = initSegment.initPTS;\n var timescale = initSegment.timescale;\n if (isFiniteNumber(initPTS)) {\n this.initPTS[frag.cc] = {\n baseTime: initPTS,\n timescale: timescale\n };\n hls.trigger(Events.INIT_PTS_FOUND, {\n frag: frag,\n id: id,\n initPTS: initPTS,\n timescale: timescale\n });\n }\n }\n\n // Avoid buffering if backtracking this fragment\n if (video && details && frag.sn !== 'initSegment') {\n var prevFrag = details.fragments[frag.sn - 1 - details.startSN];\n var isFirstFragment = frag.sn === details.startSN;\n var isFirstInDiscontinuity = !prevFrag || frag.cc > prevFrag.cc;\n if (remuxResult.independent !== false) {\n var startPTS = video.startPTS,\n endPTS = video.endPTS,\n startDTS = video.startDTS,\n endDTS = video.endDTS;\n if (part) {\n part.elementaryStreams[video.type] = {\n startPTS: startPTS,\n endPTS: endPTS,\n startDTS: startDTS,\n endDTS: endDTS\n };\n } else {\n if (video.firstKeyFrame && video.independent && chunkMeta.id === 1 && !isFirstInDiscontinuity) {\n this.couldBacktrack = true;\n }\n if (video.dropped && video.independent) {\n // Backtrack if dropped frames create a gap after currentTime\n\n var bufferInfo = this.getMainFwdBufferInfo();\n var targetBufferTime = (bufferInfo ? bufferInfo.end : this.getLoadPosition()) + this.config.maxBufferHole;\n var startTime = video.firstKeyFramePTS ? video.firstKeyFramePTS : startPTS;\n if (!isFirstFragment && targetBufferTime < startTime - this.config.maxBufferHole && !isFirstInDiscontinuity) {\n this.backtrack(frag);\n return;\n } else if (isFirstInDiscontinuity) {\n // Mark segment with a gap to avoid loop loading\n frag.gap = true;\n }\n // Set video stream start to fragment start so that truncated samples do not distort the timeline, and mark it partial\n frag.setElementaryStreamInfo(video.type, frag.start, endPTS, frag.start, endDTS, true);\n } else if (isFirstFragment && startPTS > MAX_START_GAP_JUMP) {\n // Mark segment with a gap to skip large start gap\n frag.gap = true;\n }\n }\n frag.setElementaryStreamInfo(video.type, startPTS, endPTS, startDTS, endDTS);\n if (this.backtrackFragment) {\n this.backtrackFragment = frag;\n }\n this.bufferFragmentData(video, frag, part, chunkMeta, isFirstFragment || isFirstInDiscontinuity);\n } else if (isFirstFragment || isFirstInDiscontinuity) {\n // Mark segment with a gap to avoid loop loading\n frag.gap = true;\n } else {\n this.backtrack(frag);\n return;\n }\n }\n if (audio) {\n var _startPTS = audio.startPTS,\n _endPTS = audio.endPTS,\n _startDTS = audio.startDTS,\n _endDTS = audio.endDTS;\n if (part) {\n part.elementaryStreams[ElementaryStreamTypes.AUDIO] = {\n startPTS: _startPTS,\n endPTS: _endPTS,\n startDTS: _startDTS,\n endDTS: _endDTS\n };\n }\n frag.setElementaryStreamInfo(ElementaryStreamTypes.AUDIO, _startPTS, _endPTS, _startDTS, _endDTS);\n this.bufferFragmentData(audio, frag, part, chunkMeta);\n }\n if (details && id3 != null && (_id3$samples = id3.samples) != null && _id3$samples.length) {\n var emittedID3 = {\n id: id,\n frag: frag,\n details: details,\n samples: id3.samples\n };\n hls.trigger(Events.FRAG_PARSING_METADATA, emittedID3);\n }\n if (details && text) {\n var emittedText = {\n id: id,\n frag: frag,\n details: details,\n samples: text.samples\n };\n hls.trigger(Events.FRAG_PARSING_USERDATA, emittedText);\n }\n };\n _proto._bufferInitSegment = function _bufferInitSegment(currentLevel, tracks, frag, chunkMeta) {\n var _this3 = this;\n if (this.state !== State.PARSING) {\n return;\n }\n this.audioOnly = !!tracks.audio && !tracks.video;\n\n // if audio track is expected to come from audio stream controller, discard any coming from main\n if (this.altAudio && !this.audioOnly) {\n delete tracks.audio;\n }\n // include levelCodec in audio and video tracks\n var audio = tracks.audio,\n video = tracks.video,\n audiovideo = tracks.audiovideo;\n if (audio) {\n var audioCodec = currentLevel.audioCodec;\n var ua = navigator.userAgent.toLowerCase();\n if (this.audioCodecSwitch) {\n if (audioCodec) {\n if (audioCodec.indexOf('mp4a.40.5') !== -1) {\n audioCodec = 'mp4a.40.2';\n } else {\n audioCodec = 'mp4a.40.5';\n }\n }\n // In the case that AAC and HE-AAC audio codecs are signalled in manifest,\n // force HE-AAC, as it seems that most browsers prefers it.\n // don't force HE-AAC if mono stream, or in Firefox\n if (audio.metadata.channelCount !== 1 && ua.indexOf('firefox') === -1) {\n audioCodec = 'mp4a.40.5';\n }\n }\n // HE-AAC is broken on Android, always signal audio codec as AAC even if variant manifest states otherwise\n if (audioCodec && audioCodec.indexOf('mp4a.40.5') !== -1 && ua.indexOf('android') !== -1 && audio.container !== 'audio/mpeg') {\n // Exclude mpeg audio\n audioCodec = 'mp4a.40.2';\n this.log(\"Android: force audio codec to \" + audioCodec);\n }\n if (currentLevel.audioCodec && currentLevel.audioCodec !== audioCodec) {\n this.log(\"Swapping manifest audio codec \\\"\" + currentLevel.audioCodec + \"\\\" for \\\"\" + audioCodec + \"\\\"\");\n }\n audio.levelCodec = audioCodec;\n audio.id = 'main';\n this.log(\"Init audio buffer, container:\" + audio.container + \", codecs[selected/level/parsed]=[\" + (audioCodec || '') + \"/\" + (currentLevel.audioCodec || '') + \"/\" + audio.codec + \"]\");\n }\n if (video) {\n video.levelCodec = currentLevel.videoCodec;\n video.id = 'main';\n this.log(\"Init video buffer, container:\" + video.container + \", codecs[level/parsed]=[\" + (currentLevel.videoCodec || '') + \"/\" + video.codec + \"]\");\n }\n if (audiovideo) {\n this.log(\"Init audiovideo buffer, container:\" + audiovideo.container + \", codecs[level/parsed]=[\" + currentLevel.codecs + \"/\" + audiovideo.codec + \"]\");\n }\n this.hls.trigger(Events.BUFFER_CODECS, tracks);\n // loop through tracks that are going to be provided to bufferController\n Object.keys(tracks).forEach(function (trackName) {\n var track = tracks[trackName];\n var initSegment = track.initSegment;\n if (initSegment != null && initSegment.byteLength) {\n _this3.hls.trigger(Events.BUFFER_APPENDING, {\n type: trackName,\n data: initSegment,\n frag: frag,\n part: null,\n chunkMeta: chunkMeta,\n parent: frag.type\n });\n }\n });\n // trigger handler right now\n this.tickImmediate();\n };\n _proto.getMainFwdBufferInfo = function getMainFwdBufferInfo() {\n return this.getFwdBufferInfo(this.mediaBuffer ? this.mediaBuffer : this.media, PlaylistLevelType.MAIN);\n };\n _proto.backtrack = function backtrack(frag) {\n this.couldBacktrack = true;\n // Causes findFragments to backtrack through fragments to find the keyframe\n this.backtrackFragment = frag;\n this.resetTransmuxer();\n this.flushBufferGap(frag);\n this.fragmentTracker.removeFragment(frag);\n this.fragPrevious = null;\n this.nextLoadPosition = frag.start;\n this.state = State.IDLE;\n };\n _proto.checkFragmentChanged = function checkFragmentChanged() {\n var video = this.media;\n var fragPlayingCurrent = null;\n if (video && video.readyState > 1 && video.seeking === false) {\n var currentTime = video.currentTime;\n /* if video element is in seeked state, currentTime can only increase.\n (assuming that playback rate is positive ...)\n As sometimes currentTime jumps back to zero after a\n media decode error, check this, to avoid seeking back to\n wrong position after a media decode error\n */\n\n if (BufferHelper.isBuffered(video, currentTime)) {\n fragPlayingCurrent = this.getAppendedFrag(currentTime);\n } else if (BufferHelper.isBuffered(video, currentTime + 0.1)) {\n /* ensure that FRAG_CHANGED event is triggered at startup,\n when first video frame is displayed and playback is paused.\n add a tolerance of 100ms, in case current position is not buffered,\n check if current pos+100ms is buffered and use that buffer range\n for FRAG_CHANGED event reporting */\n fragPlayingCurrent = this.getAppendedFrag(currentTime + 0.1);\n }\n if (fragPlayingCurrent) {\n this.backtrackFragment = null;\n var fragPlaying = this.fragPlaying;\n var fragCurrentLevel = fragPlayingCurrent.level;\n if (!fragPlaying || fragPlayingCurrent.sn !== fragPlaying.sn || fragPlaying.level !== fragCurrentLevel) {\n this.fragPlaying = fragPlayingCurrent;\n this.hls.trigger(Events.FRAG_CHANGED, {\n frag: fragPlayingCurrent\n });\n if (!fragPlaying || fragPlaying.level !== fragCurrentLevel) {\n this.hls.trigger(Events.LEVEL_SWITCHED, {\n level: fragCurrentLevel\n });\n }\n }\n }\n }\n };\n _createClass(StreamController, [{\n key: \"nextLevel\",\n get: function get() {\n var frag = this.nextBufferedFrag;\n if (frag) {\n return frag.level;\n }\n return -1;\n }\n }, {\n key: \"currentFrag\",\n get: function get() {\n var media = this.media;\n if (media) {\n return this.fragPlaying || this.getAppendedFrag(media.currentTime);\n }\n return null;\n }\n }, {\n key: \"currentProgramDateTime\",\n get: function get() {\n var media = this.media;\n if (media) {\n var currentTime = media.currentTime;\n var frag = this.currentFrag;\n if (frag && isFiniteNumber(currentTime) && isFiniteNumber(frag.programDateTime)) {\n var epocMs = frag.programDateTime + (currentTime - frag.start) * 1000;\n return new Date(epocMs);\n }\n }\n return null;\n }\n }, {\n key: \"currentLevel\",\n get: function get() {\n var frag = this.currentFrag;\n if (frag) {\n return frag.level;\n }\n return -1;\n }\n }, {\n key: \"nextBufferedFrag\",\n get: function get() {\n var frag = this.currentFrag;\n if (frag) {\n return this.followingBufferedFrag(frag);\n }\n return null;\n }\n }, {\n key: \"forceStartLoad\",\n get: function get() {\n return this._forceStartLoad;\n }\n }]);\n return StreamController;\n }(BaseStreamController);\n\n /**\n * The `Hls` class is the core of the HLS.js library used to instantiate player instances.\n * @public\n */\n var Hls = /*#__PURE__*/function () {\n /**\n * Check if the required MediaSource Extensions are available.\n */\n Hls.isMSESupported = function isMSESupported$1() {\n return isMSESupported();\n }\n\n /**\n * Check if MediaSource Extensions are available and isTypeSupported checks pass for any baseline codecs.\n */;\n Hls.isSupported = function isSupported$1() {\n return isSupported();\n }\n\n /**\n * Get the MediaSource global used for MSE playback (ManagedMediaSource, MediaSource, or WebKitMediaSource).\n */;\n Hls.getMediaSource = function getMediaSource$1() {\n return getMediaSource();\n };\n /**\n * Creates an instance of an HLS client that can attach to exactly one `HTMLMediaElement`.\n * @param userConfig - Configuration options applied over `Hls.DefaultConfig`\n */\n function Hls(userConfig) {\n if (userConfig === void 0) {\n userConfig = {};\n }\n /**\n * The runtime configuration used by the player. At instantiation this is combination of `hls.userConfig` merged over `Hls.DefaultConfig`.\n */\n this.config = void 0;\n /**\n * The configuration object provided on player instantiation.\n */\n this.userConfig = void 0;\n this.coreComponents = void 0;\n this.networkControllers = void 0;\n this.started = false;\n this._emitter = new EventEmitter();\n this._autoLevelCapping = -1;\n this._maxHdcpLevel = null;\n this.abrController = void 0;\n this.bufferController = void 0;\n this.capLevelController = void 0;\n this.latencyController = void 0;\n this.levelController = void 0;\n this.streamController = void 0;\n this.audioTrackController = void 0;\n this.subtitleTrackController = void 0;\n this.emeController = void 0;\n this.cmcdController = void 0;\n this._media = null;\n this.url = null;\n this.triggeringException = void 0;\n enableLogs(userConfig.debug || false, 'Hls instance');\n var config = this.config = mergeConfig(Hls.DefaultConfig, userConfig);\n this.userConfig = userConfig;\n if (config.progressive) {\n enableStreamingMode(config);\n }\n\n // core controllers and network loaders\n var ConfigAbrController = config.abrController,\n ConfigBufferController = config.bufferController,\n ConfigCapLevelController = config.capLevelController,\n ConfigErrorController = config.errorController,\n ConfigFpsController = config.fpsController;\n var errorController = new ConfigErrorController(this);\n var abrController = this.abrController = new ConfigAbrController(this);\n var bufferController = this.bufferController = new ConfigBufferController(this);\n var capLevelController = this.capLevelController = new ConfigCapLevelController(this);\n var fpsController = new ConfigFpsController(this);\n var playListLoader = new PlaylistLoader(this);\n var id3TrackController = new ID3TrackController(this);\n var ConfigContentSteeringController = config.contentSteeringController;\n // ConentSteeringController is defined before LevelController to receive Multivariant Playlist events first\n var contentSteering = ConfigContentSteeringController ? new ConfigContentSteeringController(this) : null;\n var levelController = this.levelController = new LevelController(this, contentSteering);\n // FragmentTracker must be defined before StreamController because the order of event handling is important\n var fragmentTracker = new FragmentTracker(this);\n var keyLoader = new KeyLoader(this.config);\n var streamController = this.streamController = new StreamController(this, fragmentTracker, keyLoader);\n\n // Cap level controller uses streamController to flush the buffer\n capLevelController.setStreamController(streamController);\n // fpsController uses streamController to switch when frames are being dropped\n fpsController.setStreamController(streamController);\n var networkControllers = [playListLoader, levelController, streamController];\n if (contentSteering) {\n networkControllers.splice(1, 0, contentSteering);\n }\n this.networkControllers = networkControllers;\n var coreComponents = [abrController, bufferController, capLevelController, fpsController, id3TrackController, fragmentTracker];\n this.audioTrackController = this.createController(config.audioTrackController, networkControllers);\n var AudioStreamControllerClass = config.audioStreamController;\n if (AudioStreamControllerClass) {\n networkControllers.push(new AudioStreamControllerClass(this, fragmentTracker, keyLoader));\n }\n // subtitleTrackController must be defined before subtitleStreamController because the order of event handling is important\n this.subtitleTrackController = this.createController(config.subtitleTrackController, networkControllers);\n var SubtitleStreamControllerClass = config.subtitleStreamController;\n if (SubtitleStreamControllerClass) {\n networkControllers.push(new SubtitleStreamControllerClass(this, fragmentTracker, keyLoader));\n }\n this.createController(config.timelineController, coreComponents);\n keyLoader.emeController = this.emeController = this.createController(config.emeController, coreComponents);\n this.cmcdController = this.createController(config.cmcdController, coreComponents);\n this.latencyController = this.createController(LatencyController, coreComponents);\n this.coreComponents = coreComponents;\n\n // Error controller handles errors before and after all other controllers\n // This listener will be invoked after all other controllers error listeners\n networkControllers.push(errorController);\n var onErrorOut = errorController.onErrorOut;\n if (typeof onErrorOut === 'function') {\n this.on(Events.ERROR, onErrorOut, errorController);\n }\n }\n var _proto = Hls.prototype;\n _proto.createController = function createController(ControllerClass, components) {\n if (ControllerClass) {\n var controllerInstance = new ControllerClass(this);\n if (components) {\n components.push(controllerInstance);\n }\n return controllerInstance;\n }\n return null;\n }\n\n // Delegate the EventEmitter through the public API of Hls.js\n ;\n _proto.on = function on(event, listener, context) {\n if (context === void 0) {\n context = this;\n }\n this._emitter.on(event, listener, context);\n };\n _proto.once = function once(event, listener, context) {\n if (context === void 0) {\n context = this;\n }\n this._emitter.once(event, listener, context);\n };\n _proto.removeAllListeners = function removeAllListeners(event) {\n this._emitter.removeAllListeners(event);\n };\n _proto.off = function off(event, listener, context, once) {\n if (context === void 0) {\n context = this;\n }\n this._emitter.off(event, listener, context, once);\n };\n _proto.listeners = function listeners(event) {\n return this._emitter.listeners(event);\n };\n _proto.emit = function emit(event, name, eventObject) {\n return this._emitter.emit(event, name, eventObject);\n };\n _proto.trigger = function trigger(event, eventObject) {\n if (this.config.debug) {\n return this.emit(event, event, eventObject);\n } else {\n try {\n return this.emit(event, event, eventObject);\n } catch (error) {\n logger.error('An internal error happened while handling event ' + event + '. Error message: \"' + error.message + '\". Here is a stacktrace:', error);\n // Prevent recursion in error event handlers that throw #5497\n if (!this.triggeringException) {\n this.triggeringException = true;\n var fatal = event === Events.ERROR;\n this.trigger(Events.ERROR, {\n type: ErrorTypes.OTHER_ERROR,\n details: ErrorDetails.INTERNAL_EXCEPTION,\n fatal: fatal,\n event: event,\n error: error\n });\n this.triggeringException = false;\n }\n }\n }\n return false;\n };\n _proto.listenerCount = function listenerCount(event) {\n return this._emitter.listenerCount(event);\n }\n\n /**\n * Dispose of the instance\n */;\n _proto.destroy = function destroy() {\n logger.log('destroy');\n this.trigger(Events.DESTROYING, undefined);\n this.detachMedia();\n this.removeAllListeners();\n this._autoLevelCapping = -1;\n this.url = null;\n this.networkControllers.forEach(function (component) {\n return component.destroy();\n });\n this.networkControllers.length = 0;\n this.coreComponents.forEach(function (component) {\n return component.destroy();\n });\n this.coreComponents.length = 0;\n // Remove any references that could be held in config options or callbacks\n var config = this.config;\n config.xhrSetup = config.fetchSetup = undefined;\n // @ts-ignore\n this.userConfig = null;\n }\n\n /**\n * Attaches Hls.js to a media element\n */;\n _proto.attachMedia = function attachMedia(media) {\n logger.log('attachMedia');\n this._media = media;\n this.trigger(Events.MEDIA_ATTACHING, {\n media: media\n });\n }\n\n /**\n * Detach Hls.js from the media\n */;\n _proto.detachMedia = function detachMedia() {\n logger.log('detachMedia');\n this.trigger(Events.MEDIA_DETACHING, undefined);\n this._media = null;\n }\n\n /**\n * Set the source URL. Can be relative or absolute.\n */;\n _proto.loadSource = function loadSource(url) {\n this.stopLoad();\n var media = this.media;\n var loadedSource = this.url;\n var loadingSource = this.url = urlToolkitExports.buildAbsoluteURL(self.location.href, url, {\n alwaysNormalize: true\n });\n this._autoLevelCapping = -1;\n this._maxHdcpLevel = null;\n logger.log(\"loadSource:\" + loadingSource);\n if (media && loadedSource && (loadedSource !== loadingSource || this.bufferController.hasSourceTypes())) {\n this.detachMedia();\n this.attachMedia(media);\n }\n // when attaching to a source URL, trigger a playlist load\n this.trigger(Events.MANIFEST_LOADING, {\n url: url\n });\n }\n\n /**\n * Start loading data from the stream source.\n * Depending on default config, client starts loading automatically when a source is set.\n *\n * @param startPosition - Set the start position to stream from.\n * Defaults to -1 (None: starts from earliest point)\n */;\n _proto.startLoad = function startLoad(startPosition) {\n if (startPosition === void 0) {\n startPosition = -1;\n }\n logger.log(\"startLoad(\" + startPosition + \")\");\n this.started = true;\n this.networkControllers.forEach(function (controller) {\n controller.startLoad(startPosition);\n });\n }\n\n /**\n * Stop loading of any stream data.\n */;\n _proto.stopLoad = function stopLoad() {\n logger.log('stopLoad');\n this.started = false;\n this.networkControllers.forEach(function (controller) {\n controller.stopLoad();\n });\n }\n\n /**\n * Resumes stream controller segment loading if previously started.\n */;\n _proto.resumeBuffering = function resumeBuffering() {\n if (this.started) {\n this.networkControllers.forEach(function (controller) {\n if ('fragmentLoader' in controller) {\n controller.startLoad(-1);\n }\n });\n }\n }\n\n /**\n * Stops stream controller segment loading without changing 'started' state like stopLoad().\n * This allows for media buffering to be paused without interupting playlist loading.\n */;\n _proto.pauseBuffering = function pauseBuffering() {\n this.networkControllers.forEach(function (controller) {\n if ('fragmentLoader' in controller) {\n controller.stopLoad();\n }\n });\n }\n\n /**\n * Swap through possible audio codecs in the stream (for example to switch from stereo to 5.1)\n */;\n _proto.swapAudioCodec = function swapAudioCodec() {\n logger.log('swapAudioCodec');\n this.streamController.swapAudioCodec();\n }\n\n /**\n * When the media-element fails, this allows to detach and then re-attach it\n * as one call (convenience method).\n *\n * Automatic recovery of media-errors by this process is configurable.\n */;\n _proto.recoverMediaError = function recoverMediaError() {\n logger.log('recoverMediaError');\n var media = this._media;\n this.detachMedia();\n if (media) {\n this.attachMedia(media);\n }\n };\n _proto.removeLevel = function removeLevel(levelIndex) {\n this.levelController.removeLevel(levelIndex);\n }\n\n /**\n * @returns an array of levels (variants) sorted by HDCP-LEVEL, RESOLUTION (height), FRAME-RATE, CODECS, VIDEO-RANGE, and BANDWIDTH\n */;\n /**\n * Find and select the best matching audio track, making a level switch when a Group change is necessary.\n * Updates `hls.config.audioPreference`. Returns the selected track, or null when no matching track is found.\n */\n _proto.setAudioOption = function setAudioOption(audioOption) {\n var _this$audioTrackContr;\n return (_this$audioTrackContr = this.audioTrackController) == null ? void 0 : _this$audioTrackContr.setAudioOption(audioOption);\n }\n /**\n * Find and select the best matching subtitle track, making a level switch when a Group change is necessary.\n * Updates `hls.config.subtitlePreference`. Returns the selected track, or null when no matching track is found.\n */;\n _proto.setSubtitleOption = function setSubtitleOption(subtitleOption) {\n var _this$subtitleTrackCo;\n (_this$subtitleTrackCo = this.subtitleTrackController) == null ? void 0 : _this$subtitleTrackCo.setSubtitleOption(subtitleOption);\n return null;\n }\n\n /**\n * Get the complete list of audio tracks across all media groups\n */;\n _createClass(Hls, [{\n key: \"levels\",\n get: function get() {\n var levels = this.levelController.levels;\n return levels ? levels : [];\n }\n\n /**\n * Index of quality level (variant) currently played\n */\n }, {\n key: \"currentLevel\",\n get: function get() {\n return this.streamController.currentLevel;\n }\n\n /**\n * Set quality level index immediately. This will flush the current buffer to replace the quality asap. That means playback will interrupt at least shortly to re-buffer and re-sync eventually. Set to -1 for automatic level selection.\n */,\n set: function set(newLevel) {\n logger.log(\"set currentLevel:\" + newLevel);\n this.levelController.manualLevel = newLevel;\n this.streamController.immediateLevelSwitch();\n }\n\n /**\n * Index of next quality level loaded as scheduled by stream controller.\n */\n }, {\n key: \"nextLevel\",\n get: function get() {\n return this.streamController.nextLevel;\n }\n\n /**\n * Set quality level index for next loaded data.\n * This will switch the video quality asap, without interrupting playback.\n * May abort current loading of data, and flush parts of buffer (outside currently played fragment region).\n * @param newLevel - Pass -1 for automatic level selection\n */,\n set: function set(newLevel) {\n logger.log(\"set nextLevel:\" + newLevel);\n this.levelController.manualLevel = newLevel;\n this.streamController.nextLevelSwitch();\n }\n\n /**\n * Return the quality level of the currently or last (of none is loaded currently) segment\n */\n }, {\n key: \"loadLevel\",\n get: function get() {\n return this.levelController.level;\n }\n\n /**\n * Set quality level index for next loaded data in a conservative way.\n * This will switch the quality without flushing, but interrupt current loading.\n * Thus the moment when the quality switch will appear in effect will only be after the already existing buffer.\n * @param newLevel - Pass -1 for automatic level selection\n */,\n set: function set(newLevel) {\n logger.log(\"set loadLevel:\" + newLevel);\n this.levelController.manualLevel = newLevel;\n }\n\n /**\n * get next quality level loaded\n */\n }, {\n key: \"nextLoadLevel\",\n get: function get() {\n return this.levelController.nextLoadLevel;\n }\n\n /**\n * Set quality level of next loaded segment in a fully \"non-destructive\" way.\n * Same as `loadLevel` but will wait for next switch (until current loading is done).\n */,\n set: function set(level) {\n this.levelController.nextLoadLevel = level;\n }\n\n /**\n * Return \"first level\": like a default level, if not set,\n * falls back to index of first level referenced in manifest\n */\n }, {\n key: \"firstLevel\",\n get: function get() {\n return Math.max(this.levelController.firstLevel, this.minAutoLevel);\n }\n\n /**\n * Sets \"first-level\", see getter.\n */,\n set: function set(newLevel) {\n logger.log(\"set firstLevel:\" + newLevel);\n this.levelController.firstLevel = newLevel;\n }\n\n /**\n * Return the desired start level for the first fragment that will be loaded.\n * The default value of -1 indicates automatic start level selection.\n * Setting hls.nextAutoLevel without setting a startLevel will result in\n * the nextAutoLevel value being used for one fragment load.\n */\n }, {\n key: \"startLevel\",\n get: function get() {\n var startLevel = this.levelController.startLevel;\n if (startLevel === -1 && this.abrController.forcedAutoLevel > -1) {\n return this.abrController.forcedAutoLevel;\n }\n return startLevel;\n }\n\n /**\n * set start level (level of first fragment that will be played back)\n * if not overrided by user, first level appearing in manifest will be used as start level\n * if -1 : automatic start level selection, playback will start from level matching download bandwidth\n * (determined from download of first segment)\n */,\n set: function set(newLevel) {\n logger.log(\"set startLevel:\" + newLevel);\n // if not in automatic start level detection, ensure startLevel is greater than minAutoLevel\n if (newLevel !== -1) {\n newLevel = Math.max(newLevel, this.minAutoLevel);\n }\n this.levelController.startLevel = newLevel;\n }\n\n /**\n * Whether level capping is enabled.\n * Default value is set via `config.capLevelToPlayerSize`.\n */\n }, {\n key: \"capLevelToPlayerSize\",\n get: function get() {\n return this.config.capLevelToPlayerSize;\n }\n\n /**\n * Enables or disables level capping. If disabled after previously enabled, `nextLevelSwitch` will be immediately called.\n */,\n set: function set(shouldStartCapping) {\n var newCapLevelToPlayerSize = !!shouldStartCapping;\n if (newCapLevelToPlayerSize !== this.config.capLevelToPlayerSize) {\n if (newCapLevelToPlayerSize) {\n this.capLevelController.startCapping(); // If capping occurs, nextLevelSwitch will happen based on size.\n } else {\n this.capLevelController.stopCapping();\n this.autoLevelCapping = -1;\n this.streamController.nextLevelSwitch(); // Now we're uncapped, get the next level asap.\n }\n this.config.capLevelToPlayerSize = newCapLevelToPlayerSize;\n }\n }\n\n /**\n * Capping/max level value that should be used by automatic level selection algorithm (`ABRController`)\n */\n }, {\n key: \"autoLevelCapping\",\n get: function get() {\n return this._autoLevelCapping;\n }\n\n /**\n * Returns the current bandwidth estimate in bits per second, when available. Otherwise, `NaN` is returned.\n */,\n set:\n /**\n * Capping/max level value that should be used by automatic level selection algorithm (`ABRController`)\n */\n function set(newLevel) {\n if (this._autoLevelCapping !== newLevel) {\n logger.log(\"set autoLevelCapping:\" + newLevel);\n this._autoLevelCapping = newLevel;\n this.levelController.checkMaxAutoUpdated();\n }\n }\n }, {\n key: \"bandwidthEstimate\",\n get: function get() {\n var bwEstimator = this.abrController.bwEstimator;\n if (!bwEstimator) {\n return NaN;\n }\n return bwEstimator.getEstimate();\n },\n set: function set(abrEwmaDefaultEstimate) {\n this.abrController.resetEstimator(abrEwmaDefaultEstimate);\n }\n\n /**\n * get time to first byte estimate\n * @type {number}\n */\n }, {\n key: \"ttfbEstimate\",\n get: function get() {\n var bwEstimator = this.abrController.bwEstimator;\n if (!bwEstimator) {\n return NaN;\n }\n return bwEstimator.getEstimateTTFB();\n }\n }, {\n key: \"maxHdcpLevel\",\n get: function get() {\n return this._maxHdcpLevel;\n },\n set: function set(value) {\n if (isHdcpLevel(value) && this._maxHdcpLevel !== value) {\n this._maxHdcpLevel = value;\n this.levelController.checkMaxAutoUpdated();\n }\n }\n\n /**\n * True when automatic level selection enabled\n */\n }, {\n key: \"autoLevelEnabled\",\n get: function get() {\n return this.levelController.manualLevel === -1;\n }\n\n /**\n * Level set manually (if any)\n */\n }, {\n key: \"manualLevel\",\n get: function get() {\n return this.levelController.manualLevel;\n }\n\n /**\n * min level selectable in auto mode according to config.minAutoBitrate\n */\n }, {\n key: \"minAutoLevel\",\n get: function get() {\n var levels = this.levels,\n minAutoBitrate = this.config.minAutoBitrate;\n if (!levels) return 0;\n var len = levels.length;\n for (var i = 0; i < len; i++) {\n if (levels[i].maxBitrate >= minAutoBitrate) {\n return i;\n }\n }\n return 0;\n }\n\n /**\n * max level selectable in auto mode according to autoLevelCapping\n */\n }, {\n key: \"maxAutoLevel\",\n get: function get() {\n var levels = this.levels,\n autoLevelCapping = this.autoLevelCapping,\n maxHdcpLevel = this.maxHdcpLevel;\n var maxAutoLevel;\n if (autoLevelCapping === -1 && levels != null && levels.length) {\n maxAutoLevel = levels.length - 1;\n } else {\n maxAutoLevel = autoLevelCapping;\n }\n if (maxHdcpLevel) {\n for (var i = maxAutoLevel; i--;) {\n var hdcpLevel = levels[i].attrs['HDCP-LEVEL'];\n if (hdcpLevel && hdcpLevel <= maxHdcpLevel) {\n return i;\n }\n }\n }\n return maxAutoLevel;\n }\n }, {\n key: \"firstAutoLevel\",\n get: function get() {\n return this.abrController.firstAutoLevel;\n }\n\n /**\n * next automatically selected quality level\n */\n }, {\n key: \"nextAutoLevel\",\n get: function get() {\n return this.abrController.nextAutoLevel;\n }\n\n /**\n * this setter is used to force next auto level.\n * this is useful to force a switch down in auto mode:\n * in case of load error on level N, hls.js can set nextAutoLevel to N-1 for example)\n * forced value is valid for one fragment. upon successful frag loading at forced level,\n * this value will be resetted to -1 by ABR controller.\n */,\n set: function set(nextLevel) {\n this.abrController.nextAutoLevel = nextLevel;\n }\n\n /**\n * get the datetime value relative to media.currentTime for the active level Program Date Time if present\n */\n }, {\n key: \"playingDate\",\n get: function get() {\n return this.streamController.currentProgramDateTime;\n }\n }, {\n key: \"mainForwardBufferInfo\",\n get: function get() {\n return this.streamController.getMainFwdBufferInfo();\n }\n }, {\n key: \"allAudioTracks\",\n get: function get() {\n var audioTrackController = this.audioTrackController;\n return audioTrackController ? audioTrackController.allAudioTracks : [];\n }\n\n /**\n * Get the list of selectable audio tracks\n */\n }, {\n key: \"audioTracks\",\n get: function get() {\n var audioTrackController = this.audioTrackController;\n return audioTrackController ? audioTrackController.audioTracks : [];\n }\n\n /**\n * index of the selected audio track (index in audio track lists)\n */\n }, {\n key: \"audioTrack\",\n get: function get() {\n var audioTrackController = this.audioTrackController;\n return audioTrackController ? audioTrackController.audioTrack : -1;\n }\n\n /**\n * selects an audio track, based on its index in audio track lists\n */,\n set: function set(audioTrackId) {\n var audioTrackController = this.audioTrackController;\n if (audioTrackController) {\n audioTrackController.audioTrack = audioTrackId;\n }\n }\n\n /**\n * get the complete list of subtitle tracks across all media groups\n */\n }, {\n key: \"allSubtitleTracks\",\n get: function get() {\n var subtitleTrackController = this.subtitleTrackController;\n return subtitleTrackController ? subtitleTrackController.allSubtitleTracks : [];\n }\n\n /**\n * get alternate subtitle tracks list from playlist\n */\n }, {\n key: \"subtitleTracks\",\n get: function get() {\n var subtitleTrackController = this.subtitleTrackController;\n return subtitleTrackController ? subtitleTrackController.subtitleTracks : [];\n }\n\n /**\n * index of the selected subtitle track (index in subtitle track lists)\n */\n }, {\n key: \"subtitleTrack\",\n get: function get() {\n var subtitleTrackController = this.subtitleTrackController;\n return subtitleTrackController ? subtitleTrackController.subtitleTrack : -1;\n },\n set:\n /**\n * select an subtitle track, based on its index in subtitle track lists\n */\n function set(subtitleTrackId) {\n var subtitleTrackController = this.subtitleTrackController;\n if (subtitleTrackController) {\n subtitleTrackController.subtitleTrack = subtitleTrackId;\n }\n }\n\n /**\n * Whether subtitle display is enabled or not\n */\n }, {\n key: \"media\",\n get: function get() {\n return this._media;\n }\n }, {\n key: \"subtitleDisplay\",\n get: function get() {\n var subtitleTrackController = this.subtitleTrackController;\n return subtitleTrackController ? subtitleTrackController.subtitleDisplay : false;\n }\n\n /**\n * Enable/disable subtitle display rendering\n */,\n set: function set(value) {\n var subtitleTrackController = this.subtitleTrackController;\n if (subtitleTrackController) {\n subtitleTrackController.subtitleDisplay = value;\n }\n }\n\n /**\n * get mode for Low-Latency HLS loading\n */\n }, {\n key: \"lowLatencyMode\",\n get: function get() {\n return this.config.lowLatencyMode;\n }\n\n /**\n * Enable/disable Low-Latency HLS part playlist and segment loading, and start live streams at playlist PART-HOLD-BACK rather than HOLD-BACK.\n */,\n set: function set(mode) {\n this.config.lowLatencyMode = mode;\n }\n\n /**\n * Position (in seconds) of live sync point (ie edge of live position minus safety delay defined by ```hls.config.liveSyncDuration```)\n * @returns null prior to loading live Playlist\n */\n }, {\n key: \"liveSyncPosition\",\n get: function get() {\n return this.latencyController.liveSyncPosition;\n }\n\n /**\n * Estimated position (in seconds) of live edge (ie edge of live playlist plus time sync playlist advanced)\n * @returns 0 before first playlist is loaded\n */\n }, {\n key: \"latency\",\n get: function get() {\n return this.latencyController.latency;\n }\n\n /**\n * maximum distance from the edge before the player seeks forward to ```hls.liveSyncPosition```\n * configured using ```liveMaxLatencyDurationCount``` (multiple of target duration) or ```liveMaxLatencyDuration```\n * @returns 0 before first playlist is loaded\n */\n }, {\n key: \"maxLatency\",\n get: function get() {\n return this.latencyController.maxLatency;\n }\n\n /**\n * target distance from the edge as calculated by the latency controller\n */\n }, {\n key: \"targetLatency\",\n get: function get() {\n return this.latencyController.targetLatency;\n }\n\n /**\n * the rate at which the edge of the current live playlist is advancing or 1 if there is none\n */\n }, {\n key: \"drift\",\n get: function get() {\n return this.latencyController.drift;\n }\n\n /**\n * set to true when startLoad is called before MANIFEST_PARSED event\n */\n }, {\n key: \"forceStartLoad\",\n get: function get() {\n return this.streamController.forceStartLoad;\n }\n }], [{\n key: \"version\",\n get:\n /**\n * Get the video-dev/hls.js package version.\n */\n function get() {\n return \"1.5.5-0.canary.9893\";\n }\n }, {\n key: \"Events\",\n get: function get() {\n return Events;\n }\n }, {\n key: \"ErrorTypes\",\n get: function get() {\n return ErrorTypes;\n }\n }, {\n key: \"ErrorDetails\",\n get: function get() {\n return ErrorDetails;\n }\n\n /**\n * Get the default configuration applied to new instances.\n */\n }, {\n key: \"DefaultConfig\",\n get: function get() {\n if (!Hls.defaultConfig) {\n return hlsDefaultConfig;\n }\n return Hls.defaultConfig;\n }\n\n /**\n * Replace the default configuration applied to new instances.\n */,\n set: function set(defaultConfig) {\n Hls.defaultConfig = defaultConfig;\n }\n }]);\n return Hls;\n }();\n Hls.defaultConfig = void 0;\n\n return Hls;\n\n}));\n})(false);\n//# sourceMappingURL=hls.js.map\n","/*!\n * html-attributes\n * https://github.com/alexmingoia/html-attributes\n */\n\n'use strict';\n\n/**\n * @module html-attributes\n */\n\nmodule.exports = {\n \"abbr\": \"abbr\",\n \"accept\": \"accept\",\n \"acceptCharset\": \"accept-charset\",\n \"accessKey\": \"accesskey\",\n \"action\": \"action\",\n \"allowFullScreen\": \"allowfullscreen\",\n \"allowTransparency\": \"allowtransparency\",\n \"alt\": \"alt\",\n \"async\": \"async\",\n \"autoComplete\": \"autocomplete\",\n \"autoFocus\": \"autofocus\",\n \"autoPlay\": \"autoplay\",\n \"cellPadding\": \"cellpadding\",\n \"cellSpacing\": \"cellspacing\",\n \"challenge\": \"challenge\",\n \"charset\": \"charset\",\n \"checked\": \"checked\",\n \"cite\": \"cite\",\n \"class\": \"class\",\n \"className\": \"class\",\n \"cols\": \"cols\",\n \"colSpan\": \"colspan\",\n \"command\": \"command\",\n \"content\": \"content\",\n \"contentEditable\": \"contenteditable\",\n \"contextMenu\": \"contextmenu\",\n \"controls\": \"controls\",\n \"coords\": \"coords\",\n \"crossOrigin\": \"crossorigin\",\n \"data\": \"data\",\n \"dateTime\": \"datetime\",\n \"default\": \"default\",\n \"defer\": \"defer\",\n \"dir\": \"dir\",\n \"disabled\": \"disabled\",\n \"download\": \"download\",\n \"draggable\": \"draggable\",\n \"dropzone\": \"dropzone\",\n \"encType\": \"enctype\",\n \"for\": \"for\",\n \"form\": \"form\",\n \"formAction\": \"formaction\",\n \"formEncType\": \"formenctype\",\n \"formMethod\": \"formmethod\",\n \"formNoValidate\": \"formnovalidate\",\n \"formTarget\": \"formtarget\",\n \"frameBorder\": \"frameBorder\",\n \"headers\": \"headers\",\n \"height\": \"height\",\n \"hidden\": \"hidden\",\n \"high\": \"high\",\n \"href\": \"href\",\n \"hrefLang\": \"hreflang\",\n \"htmlFor\": \"for\",\n \"httpEquiv\": \"http-equiv\",\n \"icon\": \"icon\",\n \"id\": \"id\",\n \"inputMode\": \"inputmode\",\n \"isMap\": \"ismap\",\n \"itemId\": \"itemid\",\n \"itemProp\": \"itemprop\",\n \"itemRef\": \"itemref\",\n \"itemScope\": \"itemscope\",\n \"itemType\": \"itemtype\",\n \"kind\": \"kind\",\n \"label\": \"label\",\n \"lang\": \"lang\",\n \"list\": \"list\",\n \"loop\": \"loop\",\n \"manifest\": \"manifest\",\n \"max\": \"max\",\n \"maxLength\": \"maxlength\",\n \"media\": \"media\",\n \"mediaGroup\": \"mediagroup\",\n \"method\": \"method\",\n \"min\": \"min\",\n \"minLength\": \"minlength\",\n \"multiple\": \"multiple\",\n \"muted\": \"muted\",\n \"name\": \"name\",\n \"noValidate\": \"novalidate\",\n \"open\": \"open\",\n \"optimum\": \"optimum\",\n \"pattern\": \"pattern\",\n \"ping\": \"ping\",\n \"placeholder\": \"placeholder\",\n \"poster\": \"poster\",\n \"preload\": \"preload\",\n \"radioGroup\": \"radiogroup\",\n \"readOnly\": \"readonly\",\n \"rel\": \"rel\",\n \"required\": \"required\",\n \"role\": \"role\",\n \"rows\": \"rows\",\n \"rowSpan\": \"rowspan\",\n \"sandbox\": \"sandbox\",\n \"scope\": \"scope\",\n \"scoped\": \"scoped\",\n \"scrolling\": \"scrolling\",\n \"seamless\": \"seamless\",\n \"selected\": \"selected\",\n \"shape\": \"shape\",\n \"size\": \"size\",\n \"sizes\": \"sizes\",\n \"sortable\": \"sortable\",\n \"span\": \"span\",\n \"spellCheck\": \"spellcheck\",\n \"src\": \"src\",\n \"srcDoc\": \"srcdoc\",\n \"srcSet\": \"srcset\",\n \"start\": \"start\",\n \"step\": \"step\",\n \"style\": \"style\",\n \"tabIndex\": \"tabindex\",\n \"target\": \"target\",\n \"title\": \"title\",\n \"translate\": \"translate\",\n \"type\": \"type\",\n \"typeMustMatch\": \"typemustmatch\",\n \"useMap\": \"usemap\",\n \"value\": \"value\",\n \"width\": \"width\",\n \"wmode\": \"wmode\",\n \"wrap\": \"wrap\"\n};\n","import e from\"void-elements\";var t=/\\s([^'\"/\\s><]+?)[\\s/>]|([^\\s=]+)=\\s?(\".*?\"|'.*?')/g;function n(n){var r={type:\"tag\",name:\"\",voidElement:!1,attrs:{},children:[]},i=n.match(/<\\/?([^\\s]+?)[/\\s>]/);if(i&&(r.name=i[1],(e[i[1]]||\"/\"===n.charAt(n.length-2))&&(r.voidElement=!0),r.name.startsWith(\"!--\"))){var s=n.indexOf(\"--\\x3e\");return{type:\"comment\",comment:-1!==s?n.slice(4,s):\"\"}}for(var a=new RegExp(t),c=null;null!==(c=a.exec(n));)if(c[0].trim())if(c[1]){var o=c[1].trim(),l=[o,\"\"];o.indexOf(\"=\")>-1&&(l=o.split(\"=\")),r.attrs[l[0]]=l[1],a.lastIndex--}else c[2]&&(r.attrs[c[2]]=c[3].trim().substring(1,c[3].length-1));return r}var r=/<[a-zA-Z0-9\\-\\!\\/](?:\"[^\"]*\"|'[^']*'|[^'\">])*>/g,i=/^\\s*$/,s=Object.create(null);function a(e,t){switch(t.type){case\"text\":return e+t.content;case\"tag\":return e+=\"<\"+t.name+(t.attrs?function(e){var t=[];for(var n in e)t.push(n+'=\"'+e[n]+'\"');return t.length?\" \"+t.join(\" \"):\"\"}(t.attrs):\"\")+(t.voidElement?\"/>\":\">\"),t.voidElement?e:e+t.children.reduce(a,\"\")+\"</\"+t.name+\">\";case\"comment\":return e+\"\\x3c!--\"+t.comment+\"--\\x3e\"}}var c={parse:function(e,t){t||(t={}),t.components||(t.components=s);var a,c=[],o=[],l=-1,m=!1;if(0!==e.indexOf(\"<\")){var u=e.indexOf(\"<\");c.push({type:\"text\",content:-1===u?e:e.substring(0,u)})}return e.replace(r,function(r,s){if(m){if(r!==\"</\"+a.name+\">\")return;m=!1}var u,f=\"/\"!==r.charAt(1),h=r.startsWith(\"\\x3c!--\"),p=s+r.length,d=e.charAt(p);if(h){var v=n(r);return l<0?(c.push(v),c):((u=o[l]).children.push(v),c)}if(f&&(l++,\"tag\"===(a=n(r)).type&&t.components[a.name]&&(a.type=\"component\",m=!0),a.voidElement||m||!d||\"<\"===d||a.children.push({type:\"text\",content:e.slice(p,e.indexOf(\"<\",p))}),0===l&&c.push(a),(u=o[l-1])&&u.children.push(a),o[l]=a),(!f||a.voidElement)&&(l>-1&&(a.voidElement||a.name===r.slice(2,-1))&&(l--,a=-1===l?c:o[l]),!m&&\"<\"!==d&&d)){u=-1===l?c:o[l].children;var x=e.indexOf(\"<\",p),g=e.slice(p,-1===x?void 0:x);i.test(g)&&(g=\" \"),(x>-1&&l+u.length>=0||\" \"!==g)&&u.push({type:\"text\",content:g})}}),c},stringify:function(e){return e.reduce(function(e,t){return e+a(\"\",t)},\"\")}};export default c;\n//# sourceMappingURL=html-parse-stringify.module.js.map\n","'use strict';\n\nvar _typeof = require('@babel/runtime/helpers/typeof');\nvar _classCallCheck = require('@babel/runtime/helpers/classCallCheck');\nvar _createClass = require('@babel/runtime/helpers/createClass');\nvar _assertThisInitialized = require('@babel/runtime/helpers/assertThisInitialized');\nvar _inherits = require('@babel/runtime/helpers/inherits');\nvar _possibleConstructorReturn = require('@babel/runtime/helpers/possibleConstructorReturn');\nvar _getPrototypeOf = require('@babel/runtime/helpers/getPrototypeOf');\nvar _defineProperty = require('@babel/runtime/helpers/defineProperty');\nvar _toArray = require('@babel/runtime/helpers/toArray');\n\nfunction _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }\n\nvar _typeof__default = /*#__PURE__*/_interopDefaultLegacy(_typeof);\nvar _classCallCheck__default = /*#__PURE__*/_interopDefaultLegacy(_classCallCheck);\nvar _createClass__default = /*#__PURE__*/_interopDefaultLegacy(_createClass);\nvar _assertThisInitialized__default = /*#__PURE__*/_interopDefaultLegacy(_assertThisInitialized);\nvar _inherits__default = /*#__PURE__*/_interopDefaultLegacy(_inherits);\nvar _possibleConstructorReturn__default = /*#__PURE__*/_interopDefaultLegacy(_possibleConstructorReturn);\nvar _getPrototypeOf__default = /*#__PURE__*/_interopDefaultLegacy(_getPrototypeOf);\nvar _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);\nvar _toArray__default = /*#__PURE__*/_interopDefaultLegacy(_toArray);\n\nfunction ownKeys$6(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$6(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$6(Object(source), !0).forEach(function (key) { _defineProperty__default[\"default\"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$6(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nvar consoleLogger = {\n type: 'logger',\n log: function log(args) {\n this.output('log', args);\n },\n warn: function warn(args) {\n this.output('warn', args);\n },\n error: function error(args) {\n this.output('error', args);\n },\n output: function output(type, args) {\n if (console && console[type]) console[type].apply(console, args);\n }\n};\nvar Logger = function () {\n function Logger(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck__default[\"default\"](this, Logger);\n this.init(concreteLogger, options);\n }\n _createClass__default[\"default\"](Logger, [{\n key: \"init\",\n value: function init(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.prefix = options.prefix || 'i18next:';\n this.logger = concreteLogger || consoleLogger;\n this.options = options;\n this.debug = options.debug;\n }\n }, {\n key: \"setDebug\",\n value: function setDebug(bool) {\n this.debug = bool;\n }\n }, {\n key: \"log\",\n value: function log() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return this.forward(args, 'log', '', true);\n }\n }, {\n key: \"warn\",\n value: function warn() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n return this.forward(args, 'warn', '', true);\n }\n }, {\n key: \"error\",\n value: function error() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n return this.forward(args, 'error', '');\n }\n }, {\n key: \"deprecate\",\n value: function deprecate() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n return this.forward(args, 'warn', 'WARNING DEPRECATED: ', true);\n }\n }, {\n key: \"forward\",\n value: function forward(args, lvl, prefix, debugOnly) {\n if (debugOnly && !this.debug) return null;\n if (typeof args[0] === 'string') args[0] = \"\".concat(prefix).concat(this.prefix, \" \").concat(args[0]);\n return this.logger[lvl](args);\n }\n }, {\n key: \"create\",\n value: function create(moduleName) {\n return new Logger(this.logger, _objectSpread$6(_objectSpread$6({}, {\n prefix: \"\".concat(this.prefix, \":\").concat(moduleName, \":\")\n }), this.options));\n }\n }, {\n key: \"clone\",\n value: function clone(options) {\n options = options || this.options;\n options.prefix = options.prefix || this.prefix;\n return new Logger(this.logger, options);\n }\n }]);\n return Logger;\n}();\nvar baseLogger = new Logger();\n\nvar EventEmitter = function () {\n function EventEmitter() {\n _classCallCheck__default[\"default\"](this, EventEmitter);\n this.observers = {};\n }\n _createClass__default[\"default\"](EventEmitter, [{\n key: \"on\",\n value: function on(events, listener) {\n var _this = this;\n events.split(' ').forEach(function (event) {\n _this.observers[event] = _this.observers[event] || [];\n _this.observers[event].push(listener);\n });\n return this;\n }\n }, {\n key: \"off\",\n value: function off(event, listener) {\n if (!this.observers[event]) return;\n if (!listener) {\n delete this.observers[event];\n return;\n }\n this.observers[event] = this.observers[event].filter(function (l) {\n return l !== listener;\n });\n }\n }, {\n key: \"emit\",\n value: function emit(event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n if (this.observers[event]) {\n var cloned = [].concat(this.observers[event]);\n cloned.forEach(function (observer) {\n observer.apply(void 0, args);\n });\n }\n if (this.observers['*']) {\n var _cloned = [].concat(this.observers['*']);\n _cloned.forEach(function (observer) {\n observer.apply(observer, [event].concat(args));\n });\n }\n }\n }]);\n return EventEmitter;\n}();\n\nfunction defer() {\n var res;\n var rej;\n var promise = new Promise(function (resolve, reject) {\n res = resolve;\n rej = reject;\n });\n promise.resolve = res;\n promise.reject = rej;\n return promise;\n}\nfunction makeString(object) {\n if (object == null) return '';\n return '' + object;\n}\nfunction copy(a, s, t) {\n a.forEach(function (m) {\n if (s[m]) t[m] = s[m];\n });\n}\nfunction getLastOfPath(object, path, Empty) {\n function cleanKey(key) {\n return key && key.indexOf('###') > -1 ? key.replace(/###/g, '.') : key;\n }\n function canNotTraverseDeeper() {\n return !object || typeof object === 'string';\n }\n var stack = typeof path !== 'string' ? [].concat(path) : path.split('.');\n while (stack.length > 1) {\n if (canNotTraverseDeeper()) return {};\n var key = cleanKey(stack.shift());\n if (!object[key] && Empty) object[key] = new Empty();\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n object = object[key];\n } else {\n object = {};\n }\n }\n if (canNotTraverseDeeper()) return {};\n return {\n obj: object,\n k: cleanKey(stack.shift())\n };\n}\nfunction setPath(object, path, newValue) {\n var _getLastOfPath = getLastOfPath(object, path, Object),\n obj = _getLastOfPath.obj,\n k = _getLastOfPath.k;\n obj[k] = newValue;\n}\nfunction pushPath(object, path, newValue, concat) {\n var _getLastOfPath2 = getLastOfPath(object, path, Object),\n obj = _getLastOfPath2.obj,\n k = _getLastOfPath2.k;\n obj[k] = obj[k] || [];\n if (concat) obj[k] = obj[k].concat(newValue);\n if (!concat) obj[k].push(newValue);\n}\nfunction getPath(object, path) {\n var _getLastOfPath3 = getLastOfPath(object, path),\n obj = _getLastOfPath3.obj,\n k = _getLastOfPath3.k;\n if (!obj) return undefined;\n return obj[k];\n}\nfunction getPathWithDefaults(data, defaultData, key) {\n var value = getPath(data, key);\n if (value !== undefined) {\n return value;\n }\n return getPath(defaultData, key);\n}\nfunction deepExtend(target, source, overwrite) {\n for (var prop in source) {\n if (prop !== '__proto__' && prop !== 'constructor') {\n if (prop in target) {\n if (typeof target[prop] === 'string' || target[prop] instanceof String || typeof source[prop] === 'string' || source[prop] instanceof String) {\n if (overwrite) target[prop] = source[prop];\n } else {\n deepExtend(target[prop], source[prop], overwrite);\n }\n } else {\n target[prop] = source[prop];\n }\n }\n }\n return target;\n}\nfunction regexEscape(str) {\n return str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\n}\nvar _entityMap = {\n '&': '&amp;',\n '<': '&lt;',\n '>': '&gt;',\n '\"': '&quot;',\n \"'\": '&#39;',\n '/': '&#x2F;'\n};\nfunction escape(data) {\n if (typeof data === 'string') {\n return data.replace(/[&<>\"'\\/]/g, function (s) {\n return _entityMap[s];\n });\n }\n return data;\n}\nvar isIE10 = typeof window !== 'undefined' && window.navigator && typeof window.navigator.userAgentData === 'undefined' && window.navigator.userAgent && window.navigator.userAgent.indexOf('MSIE') > -1;\nvar chars = [' ', ',', '?', '!', ';'];\nfunction looksLikeObjectPath(key, nsSeparator, keySeparator) {\n nsSeparator = nsSeparator || '';\n keySeparator = keySeparator || '';\n var possibleChars = chars.filter(function (c) {\n return nsSeparator.indexOf(c) < 0 && keySeparator.indexOf(c) < 0;\n });\n if (possibleChars.length === 0) return true;\n var r = new RegExp(\"(\".concat(possibleChars.map(function (c) {\n return c === '?' ? '\\\\?' : c;\n }).join('|'), \")\"));\n var matched = !r.test(key);\n if (!matched) {\n var ki = key.indexOf(keySeparator);\n if (ki > 0 && !r.test(key.substring(0, ki))) {\n matched = true;\n }\n }\n return matched;\n}\n\nfunction ownKeys$5(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$5(Object(source), !0).forEach(function (key) { _defineProperty__default[\"default\"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper$3(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$3(); return function _createSuperInternal() { var Super = _getPrototypeOf__default[\"default\"](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default[\"default\"](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default[\"default\"](this, result); }; }\nfunction _isNativeReflectConstruct$3() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction deepFind(obj, path) {\n var keySeparator = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '.';\n if (!obj) return undefined;\n if (obj[path]) return obj[path];\n var paths = path.split(keySeparator);\n var current = obj;\n for (var i = 0; i < paths.length; ++i) {\n if (!current) return undefined;\n if (typeof current[paths[i]] === 'string' && i + 1 < paths.length) {\n return undefined;\n }\n if (current[paths[i]] === undefined) {\n var j = 2;\n var p = paths.slice(i, i + j).join(keySeparator);\n var mix = current[p];\n while (mix === undefined && paths.length > i + j) {\n j++;\n p = paths.slice(i, i + j).join(keySeparator);\n mix = current[p];\n }\n if (mix === undefined) return undefined;\n if (mix === null) return null;\n if (path.endsWith(p)) {\n if (typeof mix === 'string') return mix;\n if (p && typeof mix[p] === 'string') return mix[p];\n }\n var joinedPath = paths.slice(i + j).join(keySeparator);\n if (joinedPath) return deepFind(mix, joinedPath, keySeparator);\n return undefined;\n }\n current = current[paths[i]];\n }\n return current;\n}\nvar ResourceStore = function (_EventEmitter) {\n _inherits__default[\"default\"](ResourceStore, _EventEmitter);\n var _super = _createSuper$3(ResourceStore);\n function ResourceStore(data) {\n var _this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n ns: ['translation'],\n defaultNS: 'translation'\n };\n _classCallCheck__default[\"default\"](this, ResourceStore);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized__default[\"default\"](_this));\n }\n _this.data = data || {};\n _this.options = options;\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n if (_this.options.ignoreJSONStructure === undefined) {\n _this.options.ignoreJSONStructure = true;\n }\n return _this;\n }\n _createClass__default[\"default\"](ResourceStore, [{\n key: \"addNamespaces\",\n value: function addNamespaces(ns) {\n if (this.options.ns.indexOf(ns) < 0) {\n this.options.ns.push(ns);\n }\n }\n }, {\n key: \"removeNamespaces\",\n value: function removeNamespaces(ns) {\n var index = this.options.ns.indexOf(ns);\n if (index > -1) {\n this.options.ns.splice(index, 1);\n }\n }\n }, {\n key: \"getResource\",\n value: function getResource(lng, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var ignoreJSONStructure = options.ignoreJSONStructure !== undefined ? options.ignoreJSONStructure : this.options.ignoreJSONStructure;\n var path = [lng, ns];\n if (key && typeof key !== 'string') path = path.concat(key);\n if (key && typeof key === 'string') path = path.concat(keySeparator ? key.split(keySeparator) : key);\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n }\n var result = getPath(this.data, path);\n if (result || !ignoreJSONStructure || typeof key !== 'string') return result;\n return deepFind(this.data && this.data[lng] && this.data[lng][ns], key, keySeparator);\n }\n }, {\n key: \"addResource\",\n value: function addResource(lng, ns, key, value) {\n var options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {\n silent: false\n };\n var keySeparator = this.options.keySeparator;\n if (keySeparator === undefined) keySeparator = '.';\n var path = [lng, ns];\n if (key) path = path.concat(keySeparator ? key.split(keySeparator) : key);\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n value = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n setPath(this.data, path, value);\n if (!options.silent) this.emit('added', lng, ns, key, value);\n }\n }, {\n key: \"addResources\",\n value: function addResources(lng, ns, resources) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {\n silent: false\n };\n for (var m in resources) {\n if (typeof resources[m] === 'string' || Object.prototype.toString.apply(resources[m]) === '[object Array]') this.addResource(lng, ns, m, resources[m], {\n silent: true\n });\n }\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n }, {\n key: \"addResourceBundle\",\n value: function addResourceBundle(lng, ns, resources, deep, overwrite) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {\n silent: false\n };\n var path = [lng, ns];\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n deep = resources;\n resources = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n var pack = getPath(this.data, path) || {};\n if (deep) {\n deepExtend(pack, resources, overwrite);\n } else {\n pack = _objectSpread$5(_objectSpread$5({}, pack), resources);\n }\n setPath(this.data, path, pack);\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n }, {\n key: \"removeResourceBundle\",\n value: function removeResourceBundle(lng, ns) {\n if (this.hasResourceBundle(lng, ns)) {\n delete this.data[lng][ns];\n }\n this.removeNamespaces(ns);\n this.emit('removed', lng, ns);\n }\n }, {\n key: \"hasResourceBundle\",\n value: function hasResourceBundle(lng, ns) {\n return this.getResource(lng, ns) !== undefined;\n }\n }, {\n key: \"getResourceBundle\",\n value: function getResourceBundle(lng, ns) {\n if (!ns) ns = this.options.defaultNS;\n if (this.options.compatibilityAPI === 'v1') return _objectSpread$5(_objectSpread$5({}, {}), this.getResource(lng, ns));\n return this.getResource(lng, ns);\n }\n }, {\n key: \"getDataByLanguage\",\n value: function getDataByLanguage(lng) {\n return this.data[lng];\n }\n }, {\n key: \"hasLanguageSomeTranslations\",\n value: function hasLanguageSomeTranslations(lng) {\n var data = this.getDataByLanguage(lng);\n var n = data && Object.keys(data) || [];\n return !!n.find(function (v) {\n return data[v] && Object.keys(data[v]).length > 0;\n });\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return this.data;\n }\n }]);\n return ResourceStore;\n}(EventEmitter);\n\nvar postProcessor = {\n processors: {},\n addPostProcessor: function addPostProcessor(module) {\n this.processors[module.name] = module;\n },\n handle: function handle(processors, value, key, options, translator) {\n var _this = this;\n processors.forEach(function (processor) {\n if (_this.processors[processor]) value = _this.processors[processor].process(value, key, options, translator);\n });\n return value;\n }\n};\n\nfunction ownKeys$4(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$4(Object(source), !0).forEach(function (key) { _defineProperty__default[\"default\"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$4(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper$2(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$2(); return function _createSuperInternal() { var Super = _getPrototypeOf__default[\"default\"](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default[\"default\"](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default[\"default\"](this, result); }; }\nfunction _isNativeReflectConstruct$2() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nvar checkedLoadedFor = {};\nvar Translator = function (_EventEmitter) {\n _inherits__default[\"default\"](Translator, _EventEmitter);\n var _super = _createSuper$2(Translator);\n function Translator(services) {\n var _this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck__default[\"default\"](this, Translator);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized__default[\"default\"](_this));\n }\n copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat', 'utils'], services, _assertThisInitialized__default[\"default\"](_this));\n _this.options = options;\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n _this.logger = baseLogger.create('translator');\n return _this;\n }\n _createClass__default[\"default\"](Translator, [{\n key: \"changeLanguage\",\n value: function changeLanguage(lng) {\n if (lng) this.language = lng;\n }\n }, {\n key: \"exists\",\n value: function exists(key) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n if (key === undefined || key === null) {\n return false;\n }\n var resolved = this.resolve(key, options);\n return resolved && resolved.res !== undefined;\n }\n }, {\n key: \"extractFromKey\",\n value: function extractFromKey(key, options) {\n var nsSeparator = options.nsSeparator !== undefined ? options.nsSeparator : this.options.nsSeparator;\n if (nsSeparator === undefined) nsSeparator = ':';\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var namespaces = options.ns || this.options.defaultNS || [];\n var wouldCheckForNsInKey = nsSeparator && key.indexOf(nsSeparator) > -1;\n var seemsNaturalLanguage = !this.options.userDefinedKeySeparator && !options.keySeparator && !this.options.userDefinedNsSeparator && !options.nsSeparator && !looksLikeObjectPath(key, nsSeparator, keySeparator);\n if (wouldCheckForNsInKey && !seemsNaturalLanguage) {\n var m = key.match(this.interpolator.nestingRegexp);\n if (m && m.length > 0) {\n return {\n key: key,\n namespaces: namespaces\n };\n }\n var parts = key.split(nsSeparator);\n if (nsSeparator !== keySeparator || nsSeparator === keySeparator && this.options.ns.indexOf(parts[0]) > -1) namespaces = parts.shift();\n key = parts.join(keySeparator);\n }\n if (typeof namespaces === 'string') namespaces = [namespaces];\n return {\n key: key,\n namespaces: namespaces\n };\n }\n }, {\n key: \"translate\",\n value: function translate(keys, options, lastKey) {\n var _this2 = this;\n if (_typeof__default[\"default\"](options) !== 'object' && this.options.overloadTranslationOptionHandler) {\n options = this.options.overloadTranslationOptionHandler(arguments);\n }\n if (!options) options = {};\n if (keys === undefined || keys === null) return '';\n if (!Array.isArray(keys)) keys = [String(keys)];\n var returnDetails = options.returnDetails !== undefined ? options.returnDetails : this.options.returnDetails;\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var _this$extractFromKey = this.extractFromKey(keys[keys.length - 1], options),\n key = _this$extractFromKey.key,\n namespaces = _this$extractFromKey.namespaces;\n var namespace = namespaces[namespaces.length - 1];\n var lng = options.lng || this.language;\n var appendNamespaceToCIMode = options.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode;\n if (lng && lng.toLowerCase() === 'cimode') {\n if (appendNamespaceToCIMode) {\n var nsSeparator = options.nsSeparator || this.options.nsSeparator;\n if (returnDetails) {\n resolved.res = \"\".concat(namespace).concat(nsSeparator).concat(key);\n return resolved;\n }\n return \"\".concat(namespace).concat(nsSeparator).concat(key);\n }\n if (returnDetails) {\n resolved.res = key;\n return resolved;\n }\n return key;\n }\n var resolved = this.resolve(keys, options);\n var res = resolved && resolved.res;\n var resUsedKey = resolved && resolved.usedKey || key;\n var resExactUsedKey = resolved && resolved.exactUsedKey || key;\n var resType = Object.prototype.toString.apply(res);\n var noObject = ['[object Number]', '[object Function]', '[object RegExp]'];\n var joinArrays = options.joinArrays !== undefined ? options.joinArrays : this.options.joinArrays;\n var handleAsObjectInI18nFormat = !this.i18nFormat || this.i18nFormat.handleAsObject;\n var handleAsObject = typeof res !== 'string' && typeof res !== 'boolean' && typeof res !== 'number';\n if (handleAsObjectInI18nFormat && res && handleAsObject && noObject.indexOf(resType) < 0 && !(typeof joinArrays === 'string' && resType === '[object Array]')) {\n if (!options.returnObjects && !this.options.returnObjects) {\n if (!this.options.returnedObjectHandler) {\n this.logger.warn('accessing an object - but returnObjects options is not enabled!');\n }\n var r = this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, res, _objectSpread$4(_objectSpread$4({}, options), {}, {\n ns: namespaces\n })) : \"key '\".concat(key, \" (\").concat(this.language, \")' returned an object instead of string.\");\n if (returnDetails) {\n resolved.res = r;\n return resolved;\n }\n return r;\n }\n if (keySeparator) {\n var resTypeIsArray = resType === '[object Array]';\n var copy = resTypeIsArray ? [] : {};\n var newKeyToUse = resTypeIsArray ? resExactUsedKey : resUsedKey;\n for (var m in res) {\n if (Object.prototype.hasOwnProperty.call(res, m)) {\n var deepKey = \"\".concat(newKeyToUse).concat(keySeparator).concat(m);\n copy[m] = this.translate(deepKey, _objectSpread$4(_objectSpread$4({}, options), {\n joinArrays: false,\n ns: namespaces\n }));\n if (copy[m] === deepKey) copy[m] = res[m];\n }\n }\n res = copy;\n }\n } else if (handleAsObjectInI18nFormat && typeof joinArrays === 'string' && resType === '[object Array]') {\n res = res.join(joinArrays);\n if (res) res = this.extendTranslation(res, keys, options, lastKey);\n } else {\n var usedDefault = false;\n var usedKey = false;\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n var hasDefaultValue = Translator.hasDefaultValue(options);\n var defaultValueSuffix = needsPluralHandling ? this.pluralResolver.getSuffix(lng, options.count, options) : '';\n var defaultValue = options[\"defaultValue\".concat(defaultValueSuffix)] || options.defaultValue;\n if (!this.isValidLookup(res) && hasDefaultValue) {\n usedDefault = true;\n res = defaultValue;\n }\n if (!this.isValidLookup(res)) {\n usedKey = true;\n res = key;\n }\n var missingKeyNoValueFallbackToKey = options.missingKeyNoValueFallbackToKey || this.options.missingKeyNoValueFallbackToKey;\n var resForMissing = missingKeyNoValueFallbackToKey && usedKey ? undefined : res;\n var updateMissing = hasDefaultValue && defaultValue !== res && this.options.updateMissing;\n if (usedKey || usedDefault || updateMissing) {\n this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? defaultValue : res);\n if (keySeparator) {\n var fk = this.resolve(key, _objectSpread$4(_objectSpread$4({}, options), {}, {\n keySeparator: false\n }));\n if (fk && fk.res) this.logger.warn('Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.');\n }\n var lngs = [];\n var fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, options.lng || this.language);\n if (this.options.saveMissingTo === 'fallback' && fallbackLngs && fallbackLngs[0]) {\n for (var i = 0; i < fallbackLngs.length; i++) {\n lngs.push(fallbackLngs[i]);\n }\n } else if (this.options.saveMissingTo === 'all') {\n lngs = this.languageUtils.toResolveHierarchy(options.lng || this.language);\n } else {\n lngs.push(options.lng || this.language);\n }\n var send = function send(l, k, specificDefaultValue) {\n var defaultForMissing = hasDefaultValue && specificDefaultValue !== res ? specificDefaultValue : resForMissing;\n if (_this2.options.missingKeyHandler) {\n _this2.options.missingKeyHandler(l, namespace, k, defaultForMissing, updateMissing, options);\n } else if (_this2.backendConnector && _this2.backendConnector.saveMissing) {\n _this2.backendConnector.saveMissing(l, namespace, k, defaultForMissing, updateMissing, options);\n }\n _this2.emit('missingKey', l, namespace, k, res);\n };\n if (this.options.saveMissing) {\n if (this.options.saveMissingPlurals && needsPluralHandling) {\n lngs.forEach(function (language) {\n _this2.pluralResolver.getSuffixes(language, options).forEach(function (suffix) {\n send([language], key + suffix, options[\"defaultValue\".concat(suffix)] || defaultValue);\n });\n });\n } else {\n send(lngs, key, defaultValue);\n }\n }\n }\n res = this.extendTranslation(res, keys, options, resolved, lastKey);\n if (usedKey && res === key && this.options.appendNamespaceToMissingKey) res = \"\".concat(namespace, \":\").concat(key);\n if ((usedKey || usedDefault) && this.options.parseMissingKeyHandler) {\n if (this.options.compatibilityAPI !== 'v1') {\n res = this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey ? \"\".concat(namespace, \":\").concat(key) : key, usedDefault ? res : undefined);\n } else {\n res = this.options.parseMissingKeyHandler(res);\n }\n }\n }\n if (returnDetails) {\n resolved.res = res;\n return resolved;\n }\n return res;\n }\n }, {\n key: \"extendTranslation\",\n value: function extendTranslation(res, key, options, resolved, lastKey) {\n var _this3 = this;\n if (this.i18nFormat && this.i18nFormat.parse) {\n res = this.i18nFormat.parse(res, _objectSpread$4(_objectSpread$4({}, this.options.interpolation.defaultVariables), options), resolved.usedLng, resolved.usedNS, resolved.usedKey, {\n resolved: resolved\n });\n } else if (!options.skipInterpolation) {\n if (options.interpolation) this.interpolator.init(_objectSpread$4(_objectSpread$4({}, options), {\n interpolation: _objectSpread$4(_objectSpread$4({}, this.options.interpolation), options.interpolation)\n }));\n var skipOnVariables = typeof res === 'string' && (options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables);\n var nestBef;\n if (skipOnVariables) {\n var nb = res.match(this.interpolator.nestingRegexp);\n nestBef = nb && nb.length;\n }\n var data = options.replace && typeof options.replace !== 'string' ? options.replace : options;\n if (this.options.interpolation.defaultVariables) data = _objectSpread$4(_objectSpread$4({}, this.options.interpolation.defaultVariables), data);\n res = this.interpolator.interpolate(res, data, options.lng || this.language, options);\n if (skipOnVariables) {\n var na = res.match(this.interpolator.nestingRegexp);\n var nestAft = na && na.length;\n if (nestBef < nestAft) options.nest = false;\n }\n if (options.nest !== false) res = this.interpolator.nest(res, function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n if (lastKey && lastKey[0] === args[0] && !options.context) {\n _this3.logger.warn(\"It seems you are nesting recursively key: \".concat(args[0], \" in key: \").concat(key[0]));\n return null;\n }\n return _this3.translate.apply(_this3, args.concat([key]));\n }, options);\n if (options.interpolation) this.interpolator.reset();\n }\n var postProcess = options.postProcess || this.options.postProcess;\n var postProcessorNames = typeof postProcess === 'string' ? [postProcess] : postProcess;\n if (res !== undefined && res !== null && postProcessorNames && postProcessorNames.length && options.applyPostProcessor !== false) {\n res = postProcessor.handle(postProcessorNames, res, key, this.options && this.options.postProcessPassResolved ? _objectSpread$4({\n i18nResolved: resolved\n }, options) : options, this);\n }\n return res;\n }\n }, {\n key: \"resolve\",\n value: function resolve(keys) {\n var _this4 = this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var found;\n var usedKey;\n var exactUsedKey;\n var usedLng;\n var usedNS;\n if (typeof keys === 'string') keys = [keys];\n keys.forEach(function (k) {\n if (_this4.isValidLookup(found)) return;\n var extracted = _this4.extractFromKey(k, options);\n var key = extracted.key;\n usedKey = key;\n var namespaces = extracted.namespaces;\n if (_this4.options.fallbackNS) namespaces = namespaces.concat(_this4.options.fallbackNS);\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n var needsZeroSuffixLookup = needsPluralHandling && !options.ordinal && options.count === 0 && _this4.pluralResolver.shouldUseIntlApi();\n var needsContextHandling = options.context !== undefined && (typeof options.context === 'string' || typeof options.context === 'number') && options.context !== '';\n var codes = options.lngs ? options.lngs : _this4.languageUtils.toResolveHierarchy(options.lng || _this4.language, options.fallbackLng);\n namespaces.forEach(function (ns) {\n if (_this4.isValidLookup(found)) return;\n usedNS = ns;\n if (!checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] && _this4.utils && _this4.utils.hasLoadedNamespace && !_this4.utils.hasLoadedNamespace(usedNS)) {\n checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] = true;\n _this4.logger.warn(\"key \\\"\".concat(usedKey, \"\\\" for languages \\\"\").concat(codes.join(', '), \"\\\" won't get resolved as namespace \\\"\").concat(usedNS, \"\\\" was not yet loaded\"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n }\n codes.forEach(function (code) {\n if (_this4.isValidLookup(found)) return;\n usedLng = code;\n var finalKeys = [key];\n if (_this4.i18nFormat && _this4.i18nFormat.addLookupKeys) {\n _this4.i18nFormat.addLookupKeys(finalKeys, key, code, ns, options);\n } else {\n var pluralSuffix;\n if (needsPluralHandling) pluralSuffix = _this4.pluralResolver.getSuffix(code, options.count, options);\n var zeroSuffix = \"\".concat(_this4.options.pluralSeparator, \"zero\");\n if (needsPluralHandling) {\n finalKeys.push(key + pluralSuffix);\n if (needsZeroSuffixLookup) {\n finalKeys.push(key + zeroSuffix);\n }\n }\n if (needsContextHandling) {\n var contextKey = \"\".concat(key).concat(_this4.options.contextSeparator).concat(options.context);\n finalKeys.push(contextKey);\n if (needsPluralHandling) {\n finalKeys.push(contextKey + pluralSuffix);\n if (needsZeroSuffixLookup) {\n finalKeys.push(contextKey + zeroSuffix);\n }\n }\n }\n }\n var possibleKey;\n while (possibleKey = finalKeys.pop()) {\n if (!_this4.isValidLookup(found)) {\n exactUsedKey = possibleKey;\n found = _this4.getResource(code, ns, possibleKey, options);\n }\n }\n });\n });\n });\n return {\n res: found,\n usedKey: usedKey,\n exactUsedKey: exactUsedKey,\n usedLng: usedLng,\n usedNS: usedNS\n };\n }\n }, {\n key: \"isValidLookup\",\n value: function isValidLookup(res) {\n return res !== undefined && !(!this.options.returnNull && res === null) && !(!this.options.returnEmptyString && res === '');\n }\n }, {\n key: \"getResource\",\n value: function getResource(code, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n if (this.i18nFormat && this.i18nFormat.getResource) return this.i18nFormat.getResource(code, ns, key, options);\n return this.resourceStore.getResource(code, ns, key, options);\n }\n }], [{\n key: \"hasDefaultValue\",\n value: function hasDefaultValue(options) {\n var prefix = 'defaultValue';\n for (var option in options) {\n if (Object.prototype.hasOwnProperty.call(options, option) && prefix === option.substring(0, prefix.length) && undefined !== options[option]) {\n return true;\n }\n }\n return false;\n }\n }]);\n return Translator;\n}(EventEmitter);\n\nfunction capitalize(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\nvar LanguageUtil = function () {\n function LanguageUtil(options) {\n _classCallCheck__default[\"default\"](this, LanguageUtil);\n this.options = options;\n this.supportedLngs = this.options.supportedLngs || false;\n this.logger = baseLogger.create('languageUtils');\n }\n _createClass__default[\"default\"](LanguageUtil, [{\n key: \"getScriptPartFromCode\",\n value: function getScriptPartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return null;\n var p = code.split('-');\n if (p.length === 2) return null;\n p.pop();\n if (p[p.length - 1].toLowerCase() === 'x') return null;\n return this.formatLanguageCode(p.join('-'));\n }\n }, {\n key: \"getLanguagePartFromCode\",\n value: function getLanguagePartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return code;\n var p = code.split('-');\n return this.formatLanguageCode(p[0]);\n }\n }, {\n key: \"formatLanguageCode\",\n value: function formatLanguageCode(code) {\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n var specialCases = ['hans', 'hant', 'latn', 'cyrl', 'cans', 'mong', 'arab'];\n var p = code.split('-');\n if (this.options.lowerCaseLng) {\n p = p.map(function (part) {\n return part.toLowerCase();\n });\n } else if (p.length === 2) {\n p[0] = p[0].toLowerCase();\n p[1] = p[1].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n } else if (p.length === 3) {\n p[0] = p[0].toLowerCase();\n if (p[1].length === 2) p[1] = p[1].toUpperCase();\n if (p[0] !== 'sgn' && p[2].length === 2) p[2] = p[2].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n if (specialCases.indexOf(p[2].toLowerCase()) > -1) p[2] = capitalize(p[2].toLowerCase());\n }\n return p.join('-');\n }\n return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : code;\n }\n }, {\n key: \"isSupportedCode\",\n value: function isSupportedCode(code) {\n if (this.options.load === 'languageOnly' || this.options.nonExplicitSupportedLngs) {\n code = this.getLanguagePartFromCode(code);\n }\n return !this.supportedLngs || !this.supportedLngs.length || this.supportedLngs.indexOf(code) > -1;\n }\n }, {\n key: \"getBestMatchFromCodes\",\n value: function getBestMatchFromCodes(codes) {\n var _this = this;\n if (!codes) return null;\n var found;\n codes.forEach(function (code) {\n if (found) return;\n var cleanedLng = _this.formatLanguageCode(code);\n if (!_this.options.supportedLngs || _this.isSupportedCode(cleanedLng)) found = cleanedLng;\n });\n if (!found && this.options.supportedLngs) {\n codes.forEach(function (code) {\n if (found) return;\n var lngOnly = _this.getLanguagePartFromCode(code);\n if (_this.isSupportedCode(lngOnly)) return found = lngOnly;\n found = _this.options.supportedLngs.find(function (supportedLng) {\n if (supportedLng.indexOf(lngOnly) === 0) return supportedLng;\n });\n });\n }\n if (!found) found = this.getFallbackCodes(this.options.fallbackLng)[0];\n return found;\n }\n }, {\n key: \"getFallbackCodes\",\n value: function getFallbackCodes(fallbacks, code) {\n if (!fallbacks) return [];\n if (typeof fallbacks === 'function') fallbacks = fallbacks(code);\n if (typeof fallbacks === 'string') fallbacks = [fallbacks];\n if (Object.prototype.toString.apply(fallbacks) === '[object Array]') return fallbacks;\n if (!code) return fallbacks[\"default\"] || [];\n var found = fallbacks[code];\n if (!found) found = fallbacks[this.getScriptPartFromCode(code)];\n if (!found) found = fallbacks[this.formatLanguageCode(code)];\n if (!found) found = fallbacks[this.getLanguagePartFromCode(code)];\n if (!found) found = fallbacks[\"default\"];\n return found || [];\n }\n }, {\n key: \"toResolveHierarchy\",\n value: function toResolveHierarchy(code, fallbackCode) {\n var _this2 = this;\n var fallbackCodes = this.getFallbackCodes(fallbackCode || this.options.fallbackLng || [], code);\n var codes = [];\n var addCode = function addCode(c) {\n if (!c) return;\n if (_this2.isSupportedCode(c)) {\n codes.push(c);\n } else {\n _this2.logger.warn(\"rejecting language code not found in supportedLngs: \".concat(c));\n }\n };\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n if (this.options.load !== 'languageOnly') addCode(this.formatLanguageCode(code));\n if (this.options.load !== 'languageOnly' && this.options.load !== 'currentOnly') addCode(this.getScriptPartFromCode(code));\n if (this.options.load !== 'currentOnly') addCode(this.getLanguagePartFromCode(code));\n } else if (typeof code === 'string') {\n addCode(this.formatLanguageCode(code));\n }\n fallbackCodes.forEach(function (fc) {\n if (codes.indexOf(fc) < 0) addCode(_this2.formatLanguageCode(fc));\n });\n return codes;\n }\n }]);\n return LanguageUtil;\n}();\n\nvar sets = [{\n lngs: ['ach', 'ak', 'am', 'arn', 'br', 'fil', 'gun', 'ln', 'mfe', 'mg', 'mi', 'oc', 'pt', 'pt-BR', 'tg', 'tl', 'ti', 'tr', 'uz', 'wa'],\n nr: [1, 2],\n fc: 1\n}, {\n lngs: ['af', 'an', 'ast', 'az', 'bg', 'bn', 'ca', 'da', 'de', 'dev', 'el', 'en', 'eo', 'es', 'et', 'eu', 'fi', 'fo', 'fur', 'fy', 'gl', 'gu', 'ha', 'hi', 'hu', 'hy', 'ia', 'it', 'kk', 'kn', 'ku', 'lb', 'mai', 'ml', 'mn', 'mr', 'nah', 'nap', 'nb', 'ne', 'nl', 'nn', 'no', 'nso', 'pa', 'pap', 'pms', 'ps', 'pt-PT', 'rm', 'sco', 'se', 'si', 'so', 'son', 'sq', 'sv', 'sw', 'ta', 'te', 'tk', 'ur', 'yo'],\n nr: [1, 2],\n fc: 2\n}, {\n lngs: ['ay', 'bo', 'cgg', 'fa', 'ht', 'id', 'ja', 'jbo', 'ka', 'km', 'ko', 'ky', 'lo', 'ms', 'sah', 'su', 'th', 'tt', 'ug', 'vi', 'wo', 'zh'],\n nr: [1],\n fc: 3\n}, {\n lngs: ['be', 'bs', 'cnr', 'dz', 'hr', 'ru', 'sr', 'uk'],\n nr: [1, 2, 5],\n fc: 4\n}, {\n lngs: ['ar'],\n nr: [0, 1, 2, 3, 11, 100],\n fc: 5\n}, {\n lngs: ['cs', 'sk'],\n nr: [1, 2, 5],\n fc: 6\n}, {\n lngs: ['csb', 'pl'],\n nr: [1, 2, 5],\n fc: 7\n}, {\n lngs: ['cy'],\n nr: [1, 2, 3, 8],\n fc: 8\n}, {\n lngs: ['fr'],\n nr: [1, 2],\n fc: 9\n}, {\n lngs: ['ga'],\n nr: [1, 2, 3, 7, 11],\n fc: 10\n}, {\n lngs: ['gd'],\n nr: [1, 2, 3, 20],\n fc: 11\n}, {\n lngs: ['is'],\n nr: [1, 2],\n fc: 12\n}, {\n lngs: ['jv'],\n nr: [0, 1],\n fc: 13\n}, {\n lngs: ['kw'],\n nr: [1, 2, 3, 4],\n fc: 14\n}, {\n lngs: ['lt'],\n nr: [1, 2, 10],\n fc: 15\n}, {\n lngs: ['lv'],\n nr: [1, 2, 0],\n fc: 16\n}, {\n lngs: ['mk'],\n nr: [1, 2],\n fc: 17\n}, {\n lngs: ['mnk'],\n nr: [0, 1, 2],\n fc: 18\n}, {\n lngs: ['mt'],\n nr: [1, 2, 11, 20],\n fc: 19\n}, {\n lngs: ['or'],\n nr: [2, 1],\n fc: 2\n}, {\n lngs: ['ro'],\n nr: [1, 2, 20],\n fc: 20\n}, {\n lngs: ['sl'],\n nr: [5, 1, 2, 3],\n fc: 21\n}, {\n lngs: ['he', 'iw'],\n nr: [1, 2, 20, 21],\n fc: 22\n}];\nvar _rulesPluralsTypes = {\n 1: function _(n) {\n return Number(n > 1);\n },\n 2: function _(n) {\n return Number(n != 1);\n },\n 3: function _(n) {\n return 0;\n },\n 4: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 5: function _(n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : n == 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5);\n },\n 6: function _(n) {\n return Number(n == 1 ? 0 : n >= 2 && n <= 4 ? 1 : 2);\n },\n 7: function _(n) {\n return Number(n == 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 8: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n != 8 && n != 11 ? 2 : 3);\n },\n 9: function _(n) {\n return Number(n >= 2);\n },\n 10: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4);\n },\n 11: function _(n) {\n return Number(n == 1 || n == 11 ? 0 : n == 2 || n == 12 ? 1 : n > 2 && n < 20 ? 2 : 3);\n },\n 12: function _(n) {\n return Number(n % 10 != 1 || n % 100 == 11);\n },\n 13: function _(n) {\n return Number(n !== 0);\n },\n 14: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n == 3 ? 2 : 3);\n },\n 15: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 16: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n !== 0 ? 1 : 2);\n },\n 17: function _(n) {\n return Number(n == 1 || n % 10 == 1 && n % 100 != 11 ? 0 : 1);\n },\n 18: function _(n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : 2);\n },\n 19: function _(n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 1 && n % 100 < 11 ? 1 : n % 100 > 10 && n % 100 < 20 ? 2 : 3);\n },\n 20: function _(n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 0 && n % 100 < 20 ? 1 : 2);\n },\n 21: function _(n) {\n return Number(n % 100 == 1 ? 1 : n % 100 == 2 ? 2 : n % 100 == 3 || n % 100 == 4 ? 3 : 0);\n },\n 22: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : (n < 0 || n > 10) && n % 10 == 0 ? 2 : 3);\n }\n};\nvar deprecatedJsonVersions = ['v1', 'v2', 'v3'];\nvar suffixesOrder = {\n zero: 0,\n one: 1,\n two: 2,\n few: 3,\n many: 4,\n other: 5\n};\nfunction createRules() {\n var rules = {};\n sets.forEach(function (set) {\n set.lngs.forEach(function (l) {\n rules[l] = {\n numbers: set.nr,\n plurals: _rulesPluralsTypes[set.fc]\n };\n });\n });\n return rules;\n}\nvar PluralResolver = function () {\n function PluralResolver(languageUtils) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck__default[\"default\"](this, PluralResolver);\n this.languageUtils = languageUtils;\n this.options = options;\n this.logger = baseLogger.create('pluralResolver');\n if ((!this.options.compatibilityJSON || this.options.compatibilityJSON === 'v4') && (typeof Intl === 'undefined' || !Intl.PluralRules)) {\n this.options.compatibilityJSON = 'v3';\n this.logger.error('Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.');\n }\n this.rules = createRules();\n }\n _createClass__default[\"default\"](PluralResolver, [{\n key: \"addRule\",\n value: function addRule(lng, obj) {\n this.rules[lng] = obj;\n }\n }, {\n key: \"getRule\",\n value: function getRule(code) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (this.shouldUseIntlApi()) {\n try {\n return new Intl.PluralRules(code, {\n type: options.ordinal ? 'ordinal' : 'cardinal'\n });\n } catch (_unused) {\n return;\n }\n }\n return this.rules[code] || this.rules[this.languageUtils.getLanguagePartFromCode(code)];\n }\n }, {\n key: \"needsPlural\",\n value: function needsPlural(code) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var rule = this.getRule(code, options);\n if (this.shouldUseIntlApi()) {\n return rule && rule.resolvedOptions().pluralCategories.length > 1;\n }\n return rule && rule.numbers.length > 1;\n }\n }, {\n key: \"getPluralFormsOfKey\",\n value: function getPluralFormsOfKey(code, key) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n return this.getSuffixes(code, options).map(function (suffix) {\n return \"\".concat(key).concat(suffix);\n });\n }\n }, {\n key: \"getSuffixes\",\n value: function getSuffixes(code) {\n var _this = this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var rule = this.getRule(code, options);\n if (!rule) {\n return [];\n }\n if (this.shouldUseIntlApi()) {\n return rule.resolvedOptions().pluralCategories.sort(function (pluralCategory1, pluralCategory2) {\n return suffixesOrder[pluralCategory1] - suffixesOrder[pluralCategory2];\n }).map(function (pluralCategory) {\n return \"\".concat(_this.options.prepend).concat(pluralCategory);\n });\n }\n return rule.numbers.map(function (number) {\n return _this.getSuffix(code, number, options);\n });\n }\n }, {\n key: \"getSuffix\",\n value: function getSuffix(code, count) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var rule = this.getRule(code, options);\n if (rule) {\n if (this.shouldUseIntlApi()) {\n return \"\".concat(this.options.prepend).concat(rule.select(count));\n }\n return this.getSuffixRetroCompatible(rule, count);\n }\n this.logger.warn(\"no plural rule found for: \".concat(code));\n return '';\n }\n }, {\n key: \"getSuffixRetroCompatible\",\n value: function getSuffixRetroCompatible(rule, count) {\n var _this2 = this;\n var idx = rule.noAbs ? rule.plurals(count) : rule.plurals(Math.abs(count));\n var suffix = rule.numbers[idx];\n if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n if (suffix === 2) {\n suffix = 'plural';\n } else if (suffix === 1) {\n suffix = '';\n }\n }\n var returnSuffix = function returnSuffix() {\n return _this2.options.prepend && suffix.toString() ? _this2.options.prepend + suffix.toString() : suffix.toString();\n };\n if (this.options.compatibilityJSON === 'v1') {\n if (suffix === 1) return '';\n if (typeof suffix === 'number') return \"_plural_\".concat(suffix.toString());\n return returnSuffix();\n } else if (this.options.compatibilityJSON === 'v2') {\n return returnSuffix();\n } else if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n return returnSuffix();\n }\n return this.options.prepend && idx.toString() ? this.options.prepend + idx.toString() : idx.toString();\n }\n }, {\n key: \"shouldUseIntlApi\",\n value: function shouldUseIntlApi() {\n return !deprecatedJsonVersions.includes(this.options.compatibilityJSON);\n }\n }]);\n return PluralResolver;\n}();\n\nfunction ownKeys$3(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$3(Object(source), !0).forEach(function (key) { _defineProperty__default[\"default\"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$3(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nvar Interpolator = function () {\n function Interpolator() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n _classCallCheck__default[\"default\"](this, Interpolator);\n this.logger = baseLogger.create('interpolator');\n this.options = options;\n this.format = options.interpolation && options.interpolation.format || function (value) {\n return value;\n };\n this.init(options);\n }\n _createClass__default[\"default\"](Interpolator, [{\n key: \"init\",\n value: function init() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (!options.interpolation) options.interpolation = {\n escapeValue: true\n };\n var iOpts = options.interpolation;\n this.escape = iOpts.escape !== undefined ? iOpts.escape : escape;\n this.escapeValue = iOpts.escapeValue !== undefined ? iOpts.escapeValue : true;\n this.useRawValueToEscape = iOpts.useRawValueToEscape !== undefined ? iOpts.useRawValueToEscape : false;\n this.prefix = iOpts.prefix ? regexEscape(iOpts.prefix) : iOpts.prefixEscaped || '{{';\n this.suffix = iOpts.suffix ? regexEscape(iOpts.suffix) : iOpts.suffixEscaped || '}}';\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n this.unescapePrefix = iOpts.unescapeSuffix ? '' : iOpts.unescapePrefix || '-';\n this.unescapeSuffix = this.unescapePrefix ? '' : iOpts.unescapeSuffix || '';\n this.nestingPrefix = iOpts.nestingPrefix ? regexEscape(iOpts.nestingPrefix) : iOpts.nestingPrefixEscaped || regexEscape('$t(');\n this.nestingSuffix = iOpts.nestingSuffix ? regexEscape(iOpts.nestingSuffix) : iOpts.nestingSuffixEscaped || regexEscape(')');\n this.nestingOptionsSeparator = iOpts.nestingOptionsSeparator ? iOpts.nestingOptionsSeparator : iOpts.nestingOptionsSeparator || ',';\n this.maxReplaces = iOpts.maxReplaces ? iOpts.maxReplaces : 1000;\n this.alwaysFormat = iOpts.alwaysFormat !== undefined ? iOpts.alwaysFormat : false;\n this.resetRegExp();\n }\n }, {\n key: \"reset\",\n value: function reset() {\n if (this.options) this.init(this.options);\n }\n }, {\n key: \"resetRegExp\",\n value: function resetRegExp() {\n var regexpStr = \"\".concat(this.prefix, \"(.+?)\").concat(this.suffix);\n this.regexp = new RegExp(regexpStr, 'g');\n var regexpUnescapeStr = \"\".concat(this.prefix).concat(this.unescapePrefix, \"(.+?)\").concat(this.unescapeSuffix).concat(this.suffix);\n this.regexpUnescape = new RegExp(regexpUnescapeStr, 'g');\n var nestingRegexpStr = \"\".concat(this.nestingPrefix, \"(.+?)\").concat(this.nestingSuffix);\n this.nestingRegexp = new RegExp(nestingRegexpStr, 'g');\n }\n }, {\n key: \"interpolate\",\n value: function interpolate(str, data, lng, options) {\n var _this = this;\n var match;\n var value;\n var replaces;\n var defaultData = this.options && this.options.interpolation && this.options.interpolation.defaultVariables || {};\n function regexSafe(val) {\n return val.replace(/\\$/g, '$$$$');\n }\n var handleFormat = function handleFormat(key) {\n if (key.indexOf(_this.formatSeparator) < 0) {\n var path = getPathWithDefaults(data, defaultData, key);\n return _this.alwaysFormat ? _this.format(path, undefined, lng, _objectSpread$3(_objectSpread$3(_objectSpread$3({}, options), data), {}, {\n interpolationkey: key\n })) : path;\n }\n var p = key.split(_this.formatSeparator);\n var k = p.shift().trim();\n var f = p.join(_this.formatSeparator).trim();\n return _this.format(getPathWithDefaults(data, defaultData, k), f, lng, _objectSpread$3(_objectSpread$3(_objectSpread$3({}, options), data), {}, {\n interpolationkey: k\n }));\n };\n this.resetRegExp();\n var missingInterpolationHandler = options && options.missingInterpolationHandler || this.options.missingInterpolationHandler;\n var skipOnVariables = options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables;\n var todos = [{\n regex: this.regexpUnescape,\n safeValue: function safeValue(val) {\n return regexSafe(val);\n }\n }, {\n regex: this.regexp,\n safeValue: function safeValue(val) {\n return _this.escapeValue ? regexSafe(_this.escape(val)) : regexSafe(val);\n }\n }];\n todos.forEach(function (todo) {\n replaces = 0;\n while (match = todo.regex.exec(str)) {\n var matchedVar = match[1].trim();\n value = handleFormat(matchedVar);\n if (value === undefined) {\n if (typeof missingInterpolationHandler === 'function') {\n var temp = missingInterpolationHandler(str, match, options);\n value = typeof temp === 'string' ? temp : '';\n } else if (options && options.hasOwnProperty(matchedVar)) {\n value = '';\n } else if (skipOnVariables) {\n value = match[0];\n continue;\n } else {\n _this.logger.warn(\"missed to pass in variable \".concat(matchedVar, \" for interpolating \").concat(str));\n value = '';\n }\n } else if (typeof value !== 'string' && !_this.useRawValueToEscape) {\n value = makeString(value);\n }\n var safeValue = todo.safeValue(value);\n str = str.replace(match[0], safeValue);\n if (skipOnVariables) {\n todo.regex.lastIndex += value.length;\n todo.regex.lastIndex -= match[0].length;\n } else {\n todo.regex.lastIndex = 0;\n }\n replaces++;\n if (replaces >= _this.maxReplaces) {\n break;\n }\n }\n });\n return str;\n }\n }, {\n key: \"nest\",\n value: function nest(str, fc) {\n var _this2 = this;\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var match;\n var value;\n var clonedOptions;\n function handleHasOptions(key, inheritedOptions) {\n var sep = this.nestingOptionsSeparator;\n if (key.indexOf(sep) < 0) return key;\n var c = key.split(new RegExp(\"\".concat(sep, \"[ ]*{\")));\n var optionsString = \"{\".concat(c[1]);\n key = c[0];\n optionsString = this.interpolate(optionsString, clonedOptions);\n var matchedSingleQuotes = optionsString.match(/'/g);\n var matchedDoubleQuotes = optionsString.match(/\"/g);\n if (matchedSingleQuotes && matchedSingleQuotes.length % 2 === 0 && !matchedDoubleQuotes || matchedDoubleQuotes.length % 2 !== 0) {\n optionsString = optionsString.replace(/'/g, '\"');\n }\n try {\n clonedOptions = JSON.parse(optionsString);\n if (inheritedOptions) clonedOptions = _objectSpread$3(_objectSpread$3({}, inheritedOptions), clonedOptions);\n } catch (e) {\n this.logger.warn(\"failed parsing options string in nesting for key \".concat(key), e);\n return \"\".concat(key).concat(sep).concat(optionsString);\n }\n delete clonedOptions.defaultValue;\n return key;\n }\n while (match = this.nestingRegexp.exec(str)) {\n var formatters = [];\n clonedOptions = _objectSpread$3({}, options);\n clonedOptions.applyPostProcessor = false;\n delete clonedOptions.defaultValue;\n var doReduce = false;\n if (match[0].indexOf(this.formatSeparator) !== -1 && !/{.*}/.test(match[1])) {\n var r = match[1].split(this.formatSeparator).map(function (elem) {\n return elem.trim();\n });\n match[1] = r.shift();\n formatters = r;\n doReduce = true;\n }\n value = fc(handleHasOptions.call(this, match[1].trim(), clonedOptions), clonedOptions);\n if (value && match[0] === str && typeof value !== 'string') return value;\n if (typeof value !== 'string') value = makeString(value);\n if (!value) {\n this.logger.warn(\"missed to resolve \".concat(match[1], \" for nesting \").concat(str));\n value = '';\n }\n if (doReduce) {\n value = formatters.reduce(function (v, f) {\n return _this2.format(v, f, options.lng, _objectSpread$3(_objectSpread$3({}, options), {}, {\n interpolationkey: match[1].trim()\n }));\n }, value.trim());\n }\n str = str.replace(match[0], value);\n this.regexp.lastIndex = 0;\n }\n return str;\n }\n }]);\n return Interpolator;\n}();\n\nfunction ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) { _defineProperty__default[\"default\"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction parseFormatStr(formatStr) {\n var formatName = formatStr.toLowerCase().trim();\n var formatOptions = {};\n if (formatStr.indexOf('(') > -1) {\n var p = formatStr.split('(');\n formatName = p[0].toLowerCase().trim();\n var optStr = p[1].substring(0, p[1].length - 1);\n if (formatName === 'currency' && optStr.indexOf(':') < 0) {\n if (!formatOptions.currency) formatOptions.currency = optStr.trim();\n } else if (formatName === 'relativetime' && optStr.indexOf(':') < 0) {\n if (!formatOptions.range) formatOptions.range = optStr.trim();\n } else {\n var opts = optStr.split(';');\n opts.forEach(function (opt) {\n if (!opt) return;\n var _opt$split = opt.split(':'),\n _opt$split2 = _toArray__default[\"default\"](_opt$split),\n key = _opt$split2[0],\n rest = _opt$split2.slice(1);\n var val = rest.join(':').trim().replace(/^'+|'+$/g, '');\n if (!formatOptions[key.trim()]) formatOptions[key.trim()] = val;\n if (val === 'false') formatOptions[key.trim()] = false;\n if (val === 'true') formatOptions[key.trim()] = true;\n if (!isNaN(val)) formatOptions[key.trim()] = parseInt(val, 10);\n });\n }\n }\n return {\n formatName: formatName,\n formatOptions: formatOptions\n };\n}\nfunction createCachedFormatter(fn) {\n var cache = {};\n return function invokeFormatter(val, lng, options) {\n var key = lng + JSON.stringify(options);\n var formatter = cache[key];\n if (!formatter) {\n formatter = fn(lng, options);\n cache[key] = formatter;\n }\n return formatter(val);\n };\n}\nvar Formatter = function () {\n function Formatter() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n _classCallCheck__default[\"default\"](this, Formatter);\n this.logger = baseLogger.create('formatter');\n this.options = options;\n this.formats = {\n number: createCachedFormatter(function (lng, options) {\n var formatter = new Intl.NumberFormat(lng, options);\n return function (val) {\n return formatter.format(val);\n };\n }),\n currency: createCachedFormatter(function (lng, options) {\n var formatter = new Intl.NumberFormat(lng, _objectSpread$2(_objectSpread$2({}, options), {}, {\n style: 'currency'\n }));\n return function (val) {\n return formatter.format(val);\n };\n }),\n datetime: createCachedFormatter(function (lng, options) {\n var formatter = new Intl.DateTimeFormat(lng, _objectSpread$2({}, options));\n return function (val) {\n return formatter.format(val);\n };\n }),\n relativetime: createCachedFormatter(function (lng, options) {\n var formatter = new Intl.RelativeTimeFormat(lng, _objectSpread$2({}, options));\n return function (val) {\n return formatter.format(val, options.range || 'day');\n };\n }),\n list: createCachedFormatter(function (lng, options) {\n var formatter = new Intl.ListFormat(lng, _objectSpread$2({}, options));\n return function (val) {\n return formatter.format(val);\n };\n })\n };\n this.init(options);\n }\n _createClass__default[\"default\"](Formatter, [{\n key: \"init\",\n value: function init(services) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n var iOpts = options.interpolation;\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n }\n }, {\n key: \"add\",\n value: function add(name, fc) {\n this.formats[name.toLowerCase().trim()] = fc;\n }\n }, {\n key: \"addCached\",\n value: function addCached(name, fc) {\n this.formats[name.toLowerCase().trim()] = createCachedFormatter(fc);\n }\n }, {\n key: \"format\",\n value: function format(value, _format, lng, options) {\n var _this = this;\n var formats = _format.split(this.formatSeparator);\n var result = formats.reduce(function (mem, f) {\n var _parseFormatStr = parseFormatStr(f),\n formatName = _parseFormatStr.formatName,\n formatOptions = _parseFormatStr.formatOptions;\n if (_this.formats[formatName]) {\n var formatted = mem;\n try {\n var valOptions = options && options.formatParams && options.formatParams[options.interpolationkey] || {};\n var l = valOptions.locale || valOptions.lng || options.locale || options.lng || lng;\n formatted = _this.formats[formatName](mem, l, _objectSpread$2(_objectSpread$2(_objectSpread$2({}, formatOptions), options), valOptions));\n } catch (error) {\n _this.logger.warn(error);\n }\n return formatted;\n } else {\n _this.logger.warn(\"there was no format function for \".concat(formatName));\n }\n return mem;\n }, value);\n return result;\n }\n }]);\n return Formatter;\n}();\n\nfunction ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) { _defineProperty__default[\"default\"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper$1(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$1(); return function _createSuperInternal() { var Super = _getPrototypeOf__default[\"default\"](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default[\"default\"](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default[\"default\"](this, result); }; }\nfunction _isNativeReflectConstruct$1() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction removePending(q, name) {\n if (q.pending[name] !== undefined) {\n delete q.pending[name];\n q.pendingCount--;\n }\n}\nvar Connector = function (_EventEmitter) {\n _inherits__default[\"default\"](Connector, _EventEmitter);\n var _super = _createSuper$1(Connector);\n function Connector(backend, store, services) {\n var _this;\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n _classCallCheck__default[\"default\"](this, Connector);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized__default[\"default\"](_this));\n }\n _this.backend = backend;\n _this.store = store;\n _this.services = services;\n _this.languageUtils = services.languageUtils;\n _this.options = options;\n _this.logger = baseLogger.create('backendConnector');\n _this.waitingReads = [];\n _this.maxParallelReads = options.maxParallelReads || 10;\n _this.readingCalls = 0;\n _this.maxRetries = options.maxRetries >= 0 ? options.maxRetries : 5;\n _this.retryTimeout = options.retryTimeout >= 1 ? options.retryTimeout : 350;\n _this.state = {};\n _this.queue = [];\n if (_this.backend && _this.backend.init) {\n _this.backend.init(services, options.backend, options);\n }\n return _this;\n }\n _createClass__default[\"default\"](Connector, [{\n key: \"queueLoad\",\n value: function queueLoad(languages, namespaces, options, callback) {\n var _this2 = this;\n var toLoad = {};\n var pending = {};\n var toLoadLanguages = {};\n var toLoadNamespaces = {};\n languages.forEach(function (lng) {\n var hasAllNamespaces = true;\n namespaces.forEach(function (ns) {\n var name = \"\".concat(lng, \"|\").concat(ns);\n if (!options.reload && _this2.store.hasResourceBundle(lng, ns)) {\n _this2.state[name] = 2;\n } else if (_this2.state[name] < 0) ; else if (_this2.state[name] === 1) {\n if (pending[name] === undefined) pending[name] = true;\n } else {\n _this2.state[name] = 1;\n hasAllNamespaces = false;\n if (pending[name] === undefined) pending[name] = true;\n if (toLoad[name] === undefined) toLoad[name] = true;\n if (toLoadNamespaces[ns] === undefined) toLoadNamespaces[ns] = true;\n }\n });\n if (!hasAllNamespaces) toLoadLanguages[lng] = true;\n });\n if (Object.keys(toLoad).length || Object.keys(pending).length) {\n this.queue.push({\n pending: pending,\n pendingCount: Object.keys(pending).length,\n loaded: {},\n errors: [],\n callback: callback\n });\n }\n return {\n toLoad: Object.keys(toLoad),\n pending: Object.keys(pending),\n toLoadLanguages: Object.keys(toLoadLanguages),\n toLoadNamespaces: Object.keys(toLoadNamespaces)\n };\n }\n }, {\n key: \"loaded\",\n value: function loaded(name, err, data) {\n var s = name.split('|');\n var lng = s[0];\n var ns = s[1];\n if (err) this.emit('failedLoading', lng, ns, err);\n if (data) {\n this.store.addResourceBundle(lng, ns, data);\n }\n this.state[name] = err ? -1 : 2;\n var loaded = {};\n this.queue.forEach(function (q) {\n pushPath(q.loaded, [lng], ns);\n removePending(q, name);\n if (err) q.errors.push(err);\n if (q.pendingCount === 0 && !q.done) {\n Object.keys(q.loaded).forEach(function (l) {\n if (!loaded[l]) loaded[l] = {};\n var loadedKeys = q.loaded[l];\n if (loadedKeys.length) {\n loadedKeys.forEach(function (ns) {\n if (loaded[l][ns] === undefined) loaded[l][ns] = true;\n });\n }\n });\n q.done = true;\n if (q.errors.length) {\n q.callback(q.errors);\n } else {\n q.callback();\n }\n }\n });\n this.emit('loaded', loaded);\n this.queue = this.queue.filter(function (q) {\n return !q.done;\n });\n }\n }, {\n key: \"read\",\n value: function read(lng, ns, fcName) {\n var _this3 = this;\n var tried = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n var wait = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : this.retryTimeout;\n var callback = arguments.length > 5 ? arguments[5] : undefined;\n if (!lng.length) return callback(null, {});\n if (this.readingCalls >= this.maxParallelReads) {\n this.waitingReads.push({\n lng: lng,\n ns: ns,\n fcName: fcName,\n tried: tried,\n wait: wait,\n callback: callback\n });\n return;\n }\n this.readingCalls++;\n var resolver = function resolver(err, data) {\n _this3.readingCalls--;\n if (_this3.waitingReads.length > 0) {\n var next = _this3.waitingReads.shift();\n _this3.read(next.lng, next.ns, next.fcName, next.tried, next.wait, next.callback);\n }\n if (err && data && tried < _this3.maxRetries) {\n setTimeout(function () {\n _this3.read.call(_this3, lng, ns, fcName, tried + 1, wait * 2, callback);\n }, wait);\n return;\n }\n callback(err, data);\n };\n var fc = this.backend[fcName].bind(this.backend);\n if (fc.length === 2) {\n try {\n var r = fc(lng, ns);\n if (r && typeof r.then === 'function') {\n r.then(function (data) {\n return resolver(null, data);\n })[\"catch\"](resolver);\n } else {\n resolver(null, r);\n }\n } catch (err) {\n resolver(err);\n }\n return;\n }\n return fc(lng, ns, resolver);\n }\n }, {\n key: \"prepareLoading\",\n value: function prepareLoading(languages, namespaces) {\n var _this4 = this;\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var callback = arguments.length > 3 ? arguments[3] : undefined;\n if (!this.backend) {\n this.logger.warn('No backend was added via i18next.use. Will not load resources.');\n return callback && callback();\n }\n if (typeof languages === 'string') languages = this.languageUtils.toResolveHierarchy(languages);\n if (typeof namespaces === 'string') namespaces = [namespaces];\n var toLoad = this.queueLoad(languages, namespaces, options, callback);\n if (!toLoad.toLoad.length) {\n if (!toLoad.pending.length) callback();\n return null;\n }\n toLoad.toLoad.forEach(function (name) {\n _this4.loadOne(name);\n });\n }\n }, {\n key: \"load\",\n value: function load(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {}, callback);\n }\n }, {\n key: \"reload\",\n value: function reload(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {\n reload: true\n }, callback);\n }\n }, {\n key: \"loadOne\",\n value: function loadOne(name) {\n var _this5 = this;\n var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var s = name.split('|');\n var lng = s[0];\n var ns = s[1];\n this.read(lng, ns, 'read', undefined, undefined, function (err, data) {\n if (err) _this5.logger.warn(\"\".concat(prefix, \"loading namespace \").concat(ns, \" for language \").concat(lng, \" failed\"), err);\n if (!err && data) _this5.logger.log(\"\".concat(prefix, \"loaded namespace \").concat(ns, \" for language \").concat(lng), data);\n _this5.loaded(name, err, data);\n });\n }\n }, {\n key: \"saveMissing\",\n value: function saveMissing(languages, namespace, key, fallbackValue, isUpdate) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};\n var clb = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : function () {};\n if (this.services.utils && this.services.utils.hasLoadedNamespace && !this.services.utils.hasLoadedNamespace(namespace)) {\n this.logger.warn(\"did not save key \\\"\".concat(key, \"\\\" as the namespace \\\"\").concat(namespace, \"\\\" was not yet loaded\"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n return;\n }\n if (key === undefined || key === null || key === '') return;\n if (this.backend && this.backend.create) {\n var opts = _objectSpread$1(_objectSpread$1({}, options), {}, {\n isUpdate: isUpdate\n });\n var fc = this.backend.create.bind(this.backend);\n if (fc.length < 6) {\n try {\n var r;\n if (fc.length === 5) {\n r = fc(languages, namespace, key, fallbackValue, opts);\n } else {\n r = fc(languages, namespace, key, fallbackValue);\n }\n if (r && typeof r.then === 'function') {\n r.then(function (data) {\n return clb(null, data);\n })[\"catch\"](clb);\n } else {\n clb(null, r);\n }\n } catch (err) {\n clb(err);\n }\n } else {\n fc(languages, namespace, key, fallbackValue, clb, opts);\n }\n }\n if (!languages || !languages[0]) return;\n this.store.addResource(languages[0], namespace, key, fallbackValue);\n }\n }]);\n return Connector;\n}(EventEmitter);\n\nfunction get() {\n return {\n debug: false,\n initImmediate: true,\n ns: ['translation'],\n defaultNS: ['translation'],\n fallbackLng: ['dev'],\n fallbackNS: false,\n supportedLngs: false,\n nonExplicitSupportedLngs: false,\n load: 'all',\n preload: false,\n simplifyPluralSuffix: true,\n keySeparator: '.',\n nsSeparator: ':',\n pluralSeparator: '_',\n contextSeparator: '_',\n partialBundledLanguages: false,\n saveMissing: false,\n updateMissing: false,\n saveMissingTo: 'fallback',\n saveMissingPlurals: true,\n missingKeyHandler: false,\n missingInterpolationHandler: false,\n postProcess: false,\n postProcessPassResolved: false,\n returnNull: true,\n returnEmptyString: true,\n returnObjects: false,\n joinArrays: false,\n returnedObjectHandler: false,\n parseMissingKeyHandler: false,\n appendNamespaceToMissingKey: false,\n appendNamespaceToCIMode: false,\n overloadTranslationOptionHandler: function handle(args) {\n var ret = {};\n if (_typeof__default[\"default\"](args[1]) === 'object') ret = args[1];\n if (typeof args[1] === 'string') ret.defaultValue = args[1];\n if (typeof args[2] === 'string') ret.tDescription = args[2];\n if (_typeof__default[\"default\"](args[2]) === 'object' || _typeof__default[\"default\"](args[3]) === 'object') {\n var options = args[3] || args[2];\n Object.keys(options).forEach(function (key) {\n ret[key] = options[key];\n });\n }\n return ret;\n },\n interpolation: {\n escapeValue: true,\n format: function format(value, _format, lng, options) {\n return value;\n },\n prefix: '{{',\n suffix: '}}',\n formatSeparator: ',',\n unescapePrefix: '-',\n nestingPrefix: '$t(',\n nestingSuffix: ')',\n nestingOptionsSeparator: ',',\n maxReplaces: 1000,\n skipOnVariables: true\n }\n };\n}\nfunction transformOptions(options) {\n if (typeof options.ns === 'string') options.ns = [options.ns];\n if (typeof options.fallbackLng === 'string') options.fallbackLng = [options.fallbackLng];\n if (typeof options.fallbackNS === 'string') options.fallbackNS = [options.fallbackNS];\n if (options.supportedLngs && options.supportedLngs.indexOf('cimode') < 0) {\n options.supportedLngs = options.supportedLngs.concat(['cimode']);\n }\n return options;\n}\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default[\"default\"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf__default[\"default\"](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default[\"default\"](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default[\"default\"](this, result); }; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction noop() {}\nfunction bindMemberFunctions(inst) {\n var mems = Object.getOwnPropertyNames(Object.getPrototypeOf(inst));\n mems.forEach(function (mem) {\n if (typeof inst[mem] === 'function') {\n inst[mem] = inst[mem].bind(inst);\n }\n });\n}\nvar I18n = function (_EventEmitter) {\n _inherits__default[\"default\"](I18n, _EventEmitter);\n var _super = _createSuper(I18n);\n function I18n() {\n var _this;\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n _classCallCheck__default[\"default\"](this, I18n);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized__default[\"default\"](_this));\n }\n _this.options = transformOptions(options);\n _this.services = {};\n _this.logger = baseLogger;\n _this.modules = {\n external: []\n };\n bindMemberFunctions(_assertThisInitialized__default[\"default\"](_this));\n if (callback && !_this.isInitialized && !options.isClone) {\n if (!_this.options.initImmediate) {\n _this.init(options, callback);\n return _possibleConstructorReturn__default[\"default\"](_this, _assertThisInitialized__default[\"default\"](_this));\n }\n setTimeout(function () {\n _this.init(options, callback);\n }, 0);\n }\n return _this;\n }\n _createClass__default[\"default\"](I18n, [{\n key: \"init\",\n value: function init() {\n var _this2 = this;\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n if (!options.defaultNS && options.defaultNS !== false && options.ns) {\n if (typeof options.ns === 'string') {\n options.defaultNS = options.ns;\n } else if (options.ns.indexOf('translation') < 0) {\n options.defaultNS = options.ns[0];\n }\n }\n var defOpts = get();\n this.options = _objectSpread(_objectSpread(_objectSpread({}, defOpts), this.options), transformOptions(options));\n if (this.options.compatibilityAPI !== 'v1') {\n this.options.interpolation = _objectSpread(_objectSpread({}, defOpts.interpolation), this.options.interpolation);\n }\n if (options.keySeparator !== undefined) {\n this.options.userDefinedKeySeparator = options.keySeparator;\n }\n if (options.nsSeparator !== undefined) {\n this.options.userDefinedNsSeparator = options.nsSeparator;\n }\n function createClassOnDemand(ClassOrObject) {\n if (!ClassOrObject) return null;\n if (typeof ClassOrObject === 'function') return new ClassOrObject();\n return ClassOrObject;\n }\n if (!this.options.isClone) {\n if (this.modules.logger) {\n baseLogger.init(createClassOnDemand(this.modules.logger), this.options);\n } else {\n baseLogger.init(null, this.options);\n }\n var formatter;\n if (this.modules.formatter) {\n formatter = this.modules.formatter;\n } else if (typeof Intl !== 'undefined') {\n formatter = Formatter;\n }\n var lu = new LanguageUtil(this.options);\n this.store = new ResourceStore(this.options.resources, this.options);\n var s = this.services;\n s.logger = baseLogger;\n s.resourceStore = this.store;\n s.languageUtils = lu;\n s.pluralResolver = new PluralResolver(lu, {\n prepend: this.options.pluralSeparator,\n compatibilityJSON: this.options.compatibilityJSON,\n simplifyPluralSuffix: this.options.simplifyPluralSuffix\n });\n if (formatter && (!this.options.interpolation.format || this.options.interpolation.format === defOpts.interpolation.format)) {\n s.formatter = createClassOnDemand(formatter);\n s.formatter.init(s, this.options);\n this.options.interpolation.format = s.formatter.format.bind(s.formatter);\n }\n s.interpolator = new Interpolator(this.options);\n s.utils = {\n hasLoadedNamespace: this.hasLoadedNamespace.bind(this)\n };\n s.backendConnector = new Connector(createClassOnDemand(this.modules.backend), s.resourceStore, s, this.options);\n s.backendConnector.on('*', function (event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n _this2.emit.apply(_this2, [event].concat(args));\n });\n if (this.modules.languageDetector) {\n s.languageDetector = createClassOnDemand(this.modules.languageDetector);\n if (s.languageDetector.init) s.languageDetector.init(s, this.options.detection, this.options);\n }\n if (this.modules.i18nFormat) {\n s.i18nFormat = createClassOnDemand(this.modules.i18nFormat);\n if (s.i18nFormat.init) s.i18nFormat.init(this);\n }\n this.translator = new Translator(this.services, this.options);\n this.translator.on('*', function (event) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n _this2.emit.apply(_this2, [event].concat(args));\n });\n this.modules.external.forEach(function (m) {\n if (m.init) m.init(_this2);\n });\n }\n this.format = this.options.interpolation.format;\n if (!callback) callback = noop;\n if (this.options.fallbackLng && !this.services.languageDetector && !this.options.lng) {\n var codes = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n if (codes.length > 0 && codes[0] !== 'dev') this.options.lng = codes[0];\n }\n if (!this.services.languageDetector && !this.options.lng) {\n this.logger.warn('init: no languageDetector is used and no lng is defined');\n }\n var storeApi = ['getResource', 'hasResourceBundle', 'getResourceBundle', 'getDataByLanguage'];\n storeApi.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store;\n return (_this2$store = _this2.store)[fcName].apply(_this2$store, arguments);\n };\n });\n var storeApiChained = ['addResource', 'addResources', 'addResourceBundle', 'removeResourceBundle'];\n storeApiChained.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store2;\n (_this2$store2 = _this2.store)[fcName].apply(_this2$store2, arguments);\n return _this2;\n };\n });\n var deferred = defer();\n var load = function load() {\n var finish = function finish(err, t) {\n if (_this2.isInitialized && !_this2.initializedStoreOnce) _this2.logger.warn('init: i18next is already initialized. You should call init just once!');\n _this2.isInitialized = true;\n if (!_this2.options.isClone) _this2.logger.log('initialized', _this2.options);\n _this2.emit('initialized', _this2.options);\n deferred.resolve(t);\n callback(err, t);\n };\n if (_this2.languages && _this2.options.compatibilityAPI !== 'v1' && !_this2.isInitialized) return finish(null, _this2.t.bind(_this2));\n _this2.changeLanguage(_this2.options.lng, finish);\n };\n if (this.options.resources || !this.options.initImmediate) {\n load();\n } else {\n setTimeout(load, 0);\n }\n return deferred;\n }\n }, {\n key: \"loadResources\",\n value: function loadResources(language) {\n var _this3 = this;\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n var usedCallback = callback;\n var usedLng = typeof language === 'string' ? language : this.language;\n if (typeof language === 'function') usedCallback = language;\n if (!this.options.resources || this.options.partialBundledLanguages) {\n if (usedLng && usedLng.toLowerCase() === 'cimode') return usedCallback();\n var toLoad = [];\n var append = function append(lng) {\n if (!lng) return;\n var lngs = _this3.services.languageUtils.toResolveHierarchy(lng);\n lngs.forEach(function (l) {\n if (toLoad.indexOf(l) < 0) toLoad.push(l);\n });\n };\n if (!usedLng) {\n var fallbacks = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n fallbacks.forEach(function (l) {\n return append(l);\n });\n } else {\n append(usedLng);\n }\n if (this.options.preload) {\n this.options.preload.forEach(function (l) {\n return append(l);\n });\n }\n this.services.backendConnector.load(toLoad, this.options.ns, function (e) {\n if (!e && !_this3.resolvedLanguage && _this3.language) _this3.setResolvedLanguage(_this3.language);\n usedCallback(e);\n });\n } else {\n usedCallback(null);\n }\n }\n }, {\n key: \"reloadResources\",\n value: function reloadResources(lngs, ns, callback) {\n var deferred = defer();\n if (!lngs) lngs = this.languages;\n if (!ns) ns = this.options.ns;\n if (!callback) callback = noop;\n this.services.backendConnector.reload(lngs, ns, function (err) {\n deferred.resolve();\n callback(err);\n });\n return deferred;\n }\n }, {\n key: \"use\",\n value: function use(module) {\n if (!module) throw new Error('You are passing an undefined module! Please check the object you are passing to i18next.use()');\n if (!module.type) throw new Error('You are passing a wrong module! Please check the object you are passing to i18next.use()');\n if (module.type === 'backend') {\n this.modules.backend = module;\n }\n if (module.type === 'logger' || module.log && module.warn && module.error) {\n this.modules.logger = module;\n }\n if (module.type === 'languageDetector') {\n this.modules.languageDetector = module;\n }\n if (module.type === 'i18nFormat') {\n this.modules.i18nFormat = module;\n }\n if (module.type === 'postProcessor') {\n postProcessor.addPostProcessor(module);\n }\n if (module.type === 'formatter') {\n this.modules.formatter = module;\n }\n if (module.type === '3rdParty') {\n this.modules.external.push(module);\n }\n return this;\n }\n }, {\n key: \"setResolvedLanguage\",\n value: function setResolvedLanguage(l) {\n if (!l || !this.languages) return;\n if (['cimode', 'dev'].indexOf(l) > -1) return;\n for (var li = 0; li < this.languages.length; li++) {\n var lngInLngs = this.languages[li];\n if (['cimode', 'dev'].indexOf(lngInLngs) > -1) continue;\n if (this.store.hasLanguageSomeTranslations(lngInLngs)) {\n this.resolvedLanguage = lngInLngs;\n break;\n }\n }\n }\n }, {\n key: \"changeLanguage\",\n value: function changeLanguage(lng, callback) {\n var _this4 = this;\n this.isLanguageChangingTo = lng;\n var deferred = defer();\n this.emit('languageChanging', lng);\n var setLngProps = function setLngProps(l) {\n _this4.language = l;\n _this4.languages = _this4.services.languageUtils.toResolveHierarchy(l);\n _this4.resolvedLanguage = undefined;\n _this4.setResolvedLanguage(l);\n };\n var done = function done(err, l) {\n if (l) {\n setLngProps(l);\n _this4.translator.changeLanguage(l);\n _this4.isLanguageChangingTo = undefined;\n _this4.emit('languageChanged', l);\n _this4.logger.log('languageChanged', l);\n } else {\n _this4.isLanguageChangingTo = undefined;\n }\n deferred.resolve(function () {\n return _this4.t.apply(_this4, arguments);\n });\n if (callback) callback(err, function () {\n return _this4.t.apply(_this4, arguments);\n });\n };\n var setLng = function setLng(lngs) {\n if (!lng && !lngs && _this4.services.languageDetector) lngs = [];\n var l = typeof lngs === 'string' ? lngs : _this4.services.languageUtils.getBestMatchFromCodes(lngs);\n if (l) {\n if (!_this4.language) {\n setLngProps(l);\n }\n if (!_this4.translator.language) _this4.translator.changeLanguage(l);\n if (_this4.services.languageDetector && _this4.services.languageDetector.cacheUserLanguage) _this4.services.languageDetector.cacheUserLanguage(l);\n }\n _this4.loadResources(l, function (err) {\n done(err, l);\n });\n };\n if (!lng && this.services.languageDetector && !this.services.languageDetector.async) {\n setLng(this.services.languageDetector.detect());\n } else if (!lng && this.services.languageDetector && this.services.languageDetector.async) {\n if (this.services.languageDetector.detect.length === 0) {\n this.services.languageDetector.detect().then(setLng);\n } else {\n this.services.languageDetector.detect(setLng);\n }\n } else {\n setLng(lng);\n }\n return deferred;\n }\n }, {\n key: \"getFixedT\",\n value: function getFixedT(lng, ns, keyPrefix) {\n var _this5 = this;\n var fixedT = function fixedT(key, opts) {\n var options;\n if (_typeof__default[\"default\"](opts) !== 'object') {\n for (var _len3 = arguments.length, rest = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {\n rest[_key3 - 2] = arguments[_key3];\n }\n options = _this5.options.overloadTranslationOptionHandler([key, opts].concat(rest));\n } else {\n options = _objectSpread({}, opts);\n }\n options.lng = options.lng || fixedT.lng;\n options.lngs = options.lngs || fixedT.lngs;\n options.ns = options.ns || fixedT.ns;\n options.keyPrefix = options.keyPrefix || keyPrefix || fixedT.keyPrefix;\n var keySeparator = _this5.options.keySeparator || '.';\n var resultKey = options.keyPrefix ? \"\".concat(options.keyPrefix).concat(keySeparator).concat(key) : key;\n return _this5.t(resultKey, options);\n };\n if (typeof lng === 'string') {\n fixedT.lng = lng;\n } else {\n fixedT.lngs = lng;\n }\n fixedT.ns = ns;\n fixedT.keyPrefix = keyPrefix;\n return fixedT;\n }\n }, {\n key: \"t\",\n value: function t() {\n var _this$translator;\n return this.translator && (_this$translator = this.translator).translate.apply(_this$translator, arguments);\n }\n }, {\n key: \"exists\",\n value: function exists() {\n var _this$translator2;\n return this.translator && (_this$translator2 = this.translator).exists.apply(_this$translator2, arguments);\n }\n }, {\n key: \"setDefaultNamespace\",\n value: function setDefaultNamespace(ns) {\n this.options.defaultNS = ns;\n }\n }, {\n key: \"hasLoadedNamespace\",\n value: function hasLoadedNamespace(ns) {\n var _this6 = this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (!this.isInitialized) {\n this.logger.warn('hasLoadedNamespace: i18next was not initialized', this.languages);\n return false;\n }\n if (!this.languages || !this.languages.length) {\n this.logger.warn('hasLoadedNamespace: i18n.languages were undefined or empty', this.languages);\n return false;\n }\n var lng = this.resolvedLanguage || this.languages[0];\n var fallbackLng = this.options ? this.options.fallbackLng : false;\n var lastLng = this.languages[this.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n var loadNotPending = function loadNotPending(l, n) {\n var loadState = _this6.services.backendConnector.state[\"\".concat(l, \"|\").concat(n)];\n return loadState === -1 || loadState === 2;\n };\n if (options.precheck) {\n var preResult = options.precheck(this, loadNotPending);\n if (preResult !== undefined) return preResult;\n }\n if (this.hasResourceBundle(lng, ns)) return true;\n if (!this.services.backendConnector.backend || this.options.resources && !this.options.partialBundledLanguages) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n }\n }, {\n key: \"loadNamespaces\",\n value: function loadNamespaces(ns, callback) {\n var _this7 = this;\n var deferred = defer();\n if (!this.options.ns) {\n callback && callback();\n return Promise.resolve();\n }\n if (typeof ns === 'string') ns = [ns];\n ns.forEach(function (n) {\n if (_this7.options.ns.indexOf(n) < 0) _this7.options.ns.push(n);\n });\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"loadLanguages\",\n value: function loadLanguages(lngs, callback) {\n var deferred = defer();\n if (typeof lngs === 'string') lngs = [lngs];\n var preloaded = this.options.preload || [];\n var newLngs = lngs.filter(function (lng) {\n return preloaded.indexOf(lng) < 0;\n });\n if (!newLngs.length) {\n if (callback) callback();\n return Promise.resolve();\n }\n this.options.preload = preloaded.concat(newLngs);\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"dir\",\n value: function dir(lng) {\n if (!lng) lng = this.resolvedLanguage || (this.languages && this.languages.length > 0 ? this.languages[0] : this.language);\n if (!lng) return 'rtl';\n var rtlLngs = ['ar', 'shu', 'sqr', 'ssh', 'xaa', 'yhd', 'yud', 'aao', 'abh', 'abv', 'acm', 'acq', 'acw', 'acx', 'acy', 'adf', 'ads', 'aeb', 'aec', 'afb', 'ajp', 'apc', 'apd', 'arb', 'arq', 'ars', 'ary', 'arz', 'auz', 'avl', 'ayh', 'ayl', 'ayn', 'ayp', 'bbz', 'pga', 'he', 'iw', 'ps', 'pbt', 'pbu', 'pst', 'prp', 'prd', 'ug', 'ur', 'ydd', 'yds', 'yih', 'ji', 'yi', 'hbo', 'men', 'xmn', 'fa', 'jpr', 'peo', 'pes', 'prs', 'dv', 'sam', 'ckb'];\n var languageUtils = this.services && this.services.languageUtils || new LanguageUtil(get());\n return rtlLngs.indexOf(languageUtils.getLanguagePartFromCode(lng)) > -1 || lng.toLowerCase().indexOf('-arab') > 1 ? 'rtl' : 'ltr';\n }\n }, {\n key: \"cloneInstance\",\n value: function cloneInstance() {\n var _this8 = this;\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n var mergedOptions = _objectSpread(_objectSpread(_objectSpread({}, this.options), options), {\n isClone: true\n });\n var clone = new I18n(mergedOptions);\n if (options.debug !== undefined || options.prefix !== undefined) {\n clone.logger = clone.logger.clone(options);\n }\n var membersToCopy = ['store', 'services', 'language'];\n membersToCopy.forEach(function (m) {\n clone[m] = _this8[m];\n });\n clone.services = _objectSpread({}, this.services);\n clone.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n clone.translator = new Translator(clone.services, clone.options);\n clone.translator.on('*', function (event) {\n for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n args[_key4 - 1] = arguments[_key4];\n }\n clone.emit.apply(clone, [event].concat(args));\n });\n clone.init(mergedOptions, callback);\n clone.translator.options = clone.options;\n clone.translator.backendConnector.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n return clone;\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return {\n options: this.options,\n store: this.store,\n language: this.language,\n languages: this.languages,\n resolvedLanguage: this.resolvedLanguage\n };\n }\n }]);\n return I18n;\n}(EventEmitter);\n_defineProperty__default[\"default\"](I18n, \"createInstance\", function () {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n return new I18n(options, callback);\n});\nvar instance = I18n.createInstance();\ninstance.createInstance = I18n.createInstance;\n\nmodule.exports = instance;\n","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","module.exports = [\n {\"name\":\"Abkhaz\", \"local\":\"Аҧсуа\", \"1\":\"ab\", \"2\":\"abk\", \"2T\":\"abk\", \"2B\":\"abk\", \"3\":\"abk\"},\n {\"name\":\"Afar\", \"local\":\"Afaraf\", \"1\":\"aa\", \"2\":\"aar\", \"2T\":\"aar\", \"2B\":\"aar\", \"3\":\"aar\"},\n {\"name\":\"Afrikaans\", \"local\":\"Afrikaans\", \"1\":\"af\", \"2\":\"afr\", \"2T\":\"afr\", \"2B\":\"afr\", \"3\":\"afr\"},\n {\"name\":\"Akan\", \"local\":\"Akan\", \"1\":\"ak\", \"2\":\"aka\", \"2T\":\"aka\", \"2B\":\"aka\", \"3\":\"aka\"},\n {\"name\":\"Albanian\", \"local\":\"Shqip\", \"1\":\"sq\", \"2\":\"sqi\", \"2T\":\"sqi\", \"2B\":\"alb\", \"3\":\"sqi\"},\n {\"name\":\"Amharic\", \"local\":\"አማርኛ\", \"1\":\"am\", \"2\":\"amh\", \"2T\":\"amh\", \"2B\":\"amh\", \"3\":\"amh\"},\n {\"name\":\"Arabic\", \"local\":\"العربية\", \"1\":\"ar\", \"2\":\"ara\", \"2T\":\"ara\", \"2B\":\"ara\", \"3\":\"ara\"},\n {\"name\":\"Aragonese\", \"local\":\"Aragonés\", \"1\":\"an\", \"2\":\"arg\", \"2T\":\"arg\", \"2B\":\"arg\", \"3\":\"arg\"},\n {\"name\":\"Armenian\", \"local\":\"Հայերեն\", \"1\":\"hy\", \"2\":\"hye\", \"2T\":\"hye\", \"2B\":\"arm\", \"3\":\"hye\"},\n {\"name\":\"Assamese\", \"local\":\"অসমীয়া\", \"1\":\"as\", \"2\":\"asm\", \"2T\":\"asm\", \"2B\":\"asm\", \"3\":\"asm\"},\n {\"name\":\"Avaric\", \"local\":\"Авар\", \"1\":\"av\", \"2\":\"ava\", \"2T\":\"ava\", \"2B\":\"ava\", \"3\":\"ava\"},\n {\"name\":\"Avestan\", \"local\":\"avesta\", \"1\":\"ae\", \"2\":\"ave\", \"2T\":\"ave\", \"2B\":\"ave\", \"3\":\"ave\"},\n {\"name\":\"Aymara\", \"local\":\"Aymar\", \"1\":\"ay\", \"2\":\"aym\", \"2T\":\"aym\", \"2B\":\"aym\", \"3\":\"aym\"},\n {\"name\":\"Azerbaijani\", \"local\":\"Azərbaycanca\", \"1\":\"az\", \"2\":\"aze\", \"2T\":\"aze\", \"2B\":\"aze\", \"3\":\"aze\"},\n {\"name\":\"Bambara\", \"local\":\"Bamanankan\", \"1\":\"bm\", \"2\":\"bam\", \"2T\":\"bam\", \"2B\":\"bam\", \"3\":\"bam\"},\n {\"name\":\"Bashkir\", \"local\":\"Башҡортса\", \"1\":\"ba\", \"2\":\"bak\", \"2T\":\"bak\", \"2B\":\"bak\", \"3\":\"bak\"},\n {\"name\":\"Basque\", \"local\":\"Euskara\", \"1\":\"eu\", \"2\":\"eus\", \"2T\":\"eus\", \"2B\":\"baq\", \"3\":\"eus\"},\n {\"name\":\"Belarusian\", \"local\":\"Беларуская\", \"1\":\"be\", \"2\":\"bel\", \"2T\":\"bel\", \"2B\":\"bel\", \"3\":\"bel\"},\n {\"name\":\"Bengali\", \"local\":\"বাংলা\", \"1\":\"bn\", \"2\":\"ben\", \"2T\":\"ben\", \"2B\":\"ben\", \"3\":\"ben\"},\n {\"name\":\"Bihari\", \"local\":\"भोजपुरी\", \"1\":\"bh\", \"2\":\"bih\", \"2T\":\"bih\", \"2B\":\"bih\", \"3\":\"bih\"},\n {\"name\":\"Bislama\", \"local\":\"Bislama\", \"1\":\"bi\", \"2\":\"bis\", \"2T\":\"bis\", \"2B\":\"bis\", \"3\":\"bis\"},\n {\"name\":\"Bosnian\", \"local\":\"Bosanski\", \"1\":\"bs\", \"2\":\"bos\", \"2T\":\"bos\", \"2B\":\"bos\", \"3\":\"bos\"},\n {\"name\":\"Breton\", \"local\":\"Brezhoneg\", \"1\":\"br\", \"2\":\"bre\", \"2T\":\"bre\", \"2B\":\"bre\", \"3\":\"bre\"},\n {\"name\":\"Bulgarian\", \"local\":\"Български\", \"1\":\"bg\", \"2\":\"bul\", \"2T\":\"bul\", \"2B\":\"bul\", \"3\":\"bul\"},\n {\"name\":\"Burmese\", \"local\":\"မြန်မာဘာသာ\", \"1\":\"my\", \"2\":\"mya\", \"2T\":\"mya\", \"2B\":\"bur\", \"3\":\"mya\"},\n {\"name\":\"Catalan\", \"local\":\"Català\", \"1\":\"ca\", \"2\":\"cat\", \"2T\":\"cat\", \"2B\":\"cat\", \"3\":\"cat\"},\n {\"name\":\"Chamorro\", \"local\":\"Chamoru\", \"1\":\"ch\", \"2\":\"cha\", \"2T\":\"cha\", \"2B\":\"cha\", \"3\":\"cha\"},\n {\"name\":\"Chechen\", \"local\":\"Нохчийн\", \"1\":\"ce\", \"2\":\"che\", \"2T\":\"che\", \"2B\":\"che\", \"3\":\"che\"},\n {\"name\":\"Chichewa\", \"local\":\"Chichewa\", \"1\":\"ny\", \"2\":\"nya\", \"2T\":\"nya\", \"2B\":\"nya\", \"3\":\"nya\"},\n {\"name\":\"Chinese\", \"local\":\"中文\", \"1\":\"zh\", \"2\":\"zho\", \"2T\":\"zho\", \"2B\":\"chi\", \"3\":\"zho\"},\n {\"name\":\"Chuvash\", \"local\":\"Чӑвашла\", \"1\":\"cv\", \"2\":\"chv\", \"2T\":\"chv\", \"2B\":\"chv\", \"3\":\"chv\"},\n {\"name\":\"Cornish\", \"local\":\"Kernewek\", \"1\":\"kw\", \"2\":\"cor\", \"2T\":\"cor\", \"2B\":\"cor\", \"3\":\"cor\"},\n {\"name\":\"Corsican\", \"local\":\"Corsu\", \"1\":\"co\", \"2\":\"cos\", \"2T\":\"cos\", \"2B\":\"cos\", \"3\":\"cos\"},\n {\"name\":\"Cree\", \"local\":\"ᓀᐦᐃᔭᐍᐏᐣ\", \"1\":\"cr\", \"2\":\"cre\", \"2T\":\"cre\", \"2B\":\"cre\", \"3\":\"cre\"},\n {\"name\":\"Croatian\", \"local\":\"Hrvatski\", \"1\":\"hr\", \"2\":\"hrv\", \"2T\":\"hrv\", \"2B\":\"hrv\", \"3\":\"hrv\"},\n {\"name\":\"Czech\", \"local\":\"Čeština\", \"1\":\"cs\", \"2\":\"ces\", \"2T\":\"ces\", \"2B\":\"cze\", \"3\":\"ces\"},\n {\"name\":\"Danish\", \"local\":\"Dansk\", \"1\":\"da\", \"2\":\"dan\", \"2T\":\"dan\", \"2B\":\"dan\", \"3\":\"dan\"},\n {\"name\":\"Divehi\", \"local\":\"Divehi\", \"1\":\"dv\", \"2\":\"div\", \"2T\":\"div\", \"2B\":\"div\", \"3\":\"div\"},\n {\"name\":\"Dutch\", \"local\":\"Nederlands\", \"1\":\"nl\", \"2\":\"nld\", \"2T\":\"nld\", \"2B\":\"dut\", \"3\":\"nld\"},\n {\"name\":\"Dzongkha\", \"local\":\"རྫོང་ཁ\", \"1\":\"dz\", \"2\":\"dzo\", \"2T\":\"dzo\", \"2B\":\"dzo\", \"3\":\"dzo\"},\n {\"name\":\"English\", \"local\":\"English\", \"1\":\"en\", \"2\":\"eng\", \"2T\":\"eng\", \"2B\":\"eng\", \"3\":\"eng\"},\n {\"name\":\"Esperanto\", \"local\":\"Esperanto\", \"1\":\"eo\", \"2\":\"epo\", \"2T\":\"epo\", \"2B\":\"epo\", \"3\":\"epo\"},\n {\"name\":\"Estonian\", \"local\":\"Eesti\", \"1\":\"et\", \"2\":\"est\", \"2T\":\"est\", \"2B\":\"est\", \"3\":\"est\"},\n {\"name\":\"Ewe\", \"local\":\"Eʋegbe\", \"1\":\"ee\", \"2\":\"ewe\", \"2T\":\"ewe\", \"2B\":\"ewe\", \"3\":\"ewe\"},\n {\"name\":\"Faroese\", \"local\":\"Føroyskt\", \"1\":\"fo\", \"2\":\"fao\", \"2T\":\"fao\", \"2B\":\"fao\", \"3\":\"fao\"},\n {\"name\":\"Fijian\", \"local\":\"Na Vosa Vaka-Viti\", \"1\":\"fj\", \"2\":\"fij\", \"2T\":\"fij\", \"2B\":\"fij\", \"3\":\"fij\"},\n {\"name\":\"Finnish\", \"local\":\"Suomi\", \"1\":\"fi\", \"2\":\"fin\", \"2T\":\"fin\", \"2B\":\"fin\", \"3\":\"fin\"},\n {\"name\":\"French\", \"local\":\"Français\", \"1\":\"fr\", \"2\":\"fra\", \"2T\":\"fra\", \"2B\":\"fre\", \"3\":\"fra\"},\n {\"name\":\"Fula\", \"local\":\"Fulfulde\", \"1\":\"ff\", \"2\":\"ful\", \"2T\":\"ful\", \"2B\":\"ful\", \"3\":\"ful\"},\n {\"name\":\"Galician\", \"local\":\"Galego\", \"1\":\"gl\", \"2\":\"glg\", \"2T\":\"glg\", \"2B\":\"glg\", \"3\":\"glg\"},\n {\"name\":\"Georgian\", \"local\":\"ქართული\", \"1\":\"ka\", \"2\":\"kat\", \"2T\":\"kat\", \"2B\":\"geo\", \"3\":\"kat\"},\n {\"name\":\"German\", \"local\":\"Deutsch\", \"1\":\"de\", \"2\":\"deu\", \"2T\":\"deu\", \"2B\":\"ger\", \"3\":\"deu\"},\n {\"name\":\"Greek\", \"local\":\"Ελληνικά\", \"1\":\"el\", \"2\":\"ell\", \"2T\":\"ell\", \"2B\":\"gre\", \"3\":\"ell\"},\n {\"name\":\"Guaraní\", \"local\":\"Avañe'ẽ\", \"1\":\"gn\", \"2\":\"grn\", \"2T\":\"grn\", \"2B\":\"grn\", \"3\":\"grn\"},\n {\"name\":\"Gujarati\", \"local\":\"ગુજરાતી\", \"1\":\"gu\", \"2\":\"guj\", \"2T\":\"guj\", \"2B\":\"guj\", \"3\":\"guj\"},\n {\"name\":\"Haitian\", \"local\":\"Kreyòl Ayisyen\", \"1\":\"ht\", \"2\":\"hat\", \"2T\":\"hat\", \"2B\":\"hat\", \"3\":\"hat\"},\n {\"name\":\"Hausa\", \"local\":\"هَوُسَ\", \"1\":\"ha\", \"2\":\"hau\", \"2T\":\"hau\", \"2B\":\"hau\", \"3\":\"hau\"},\n {\"name\":\"Hebrew\", \"local\":\"עברית\", \"1\":\"he\", \"2\":\"heb\", \"2T\":\"heb\", \"2B\":\"heb\", \"3\":\"heb\"},\n {\"name\":\"Herero\", \"local\":\"Otjiherero\", \"1\":\"hz\", \"2\":\"her\", \"2T\":\"her\", \"2B\":\"her\", \"3\":\"her\"},\n {\"name\":\"Hindi\", \"local\":\"हिन्दी\", \"1\":\"hi\", \"2\":\"hin\", \"2T\":\"hin\", \"2B\":\"hin\", \"3\":\"hin\"},\n {\"name\":\"Hiri Motu\", \"local\":\"Hiri Motu\", \"1\":\"ho\", \"2\":\"hmo\", \"2T\":\"hmo\", \"2B\":\"hmo\", \"3\":\"hmo\"},\n {\"name\":\"Hungarian\", \"local\":\"Magyar\", \"1\":\"hu\", \"2\":\"hun\", \"2T\":\"hun\", \"2B\":\"hun\", \"3\":\"hun\"},\n {\"name\":\"Interlingua\", \"local\":\"Interlingua\", \"1\":\"ia\", \"2\":\"ina\", \"2T\":\"ina\", \"2B\":\"ina\", \"3\":\"ina\"},\n {\"name\":\"Indonesian\", \"local\":\"Bahasa Indonesia\", \"1\":\"id\", \"2\":\"ind\", \"2T\":\"ind\", \"2B\":\"ind\", \"3\":\"ind\"},\n {\"name\":\"Interlingue\", \"local\":\"Interlingue\", \"1\":\"ie\", \"2\":\"ile\", \"2T\":\"ile\", \"2B\":\"ile\", \"3\":\"ile\"},\n {\"name\":\"Irish\", \"local\":\"Gaeilge\", \"1\":\"ga\", \"2\":\"gle\", \"2T\":\"gle\", \"2B\":\"gle\", \"3\":\"gle\"},\n {\"name\":\"Igbo\", \"local\":\"Igbo\", \"1\":\"ig\", \"2\":\"ibo\", \"2T\":\"ibo\", \"2B\":\"ibo\", \"3\":\"ibo\"},\n {\"name\":\"Inupiaq\", \"local\":\"Iñupiak\", \"1\":\"ik\", \"2\":\"ipk\", \"2T\":\"ipk\", \"2B\":\"ipk\", \"3\":\"ipk\"},\n {\"name\":\"Ido\", \"local\":\"Ido\", \"1\":\"io\", \"2\":\"ido\", \"2T\":\"ido\", \"2B\":\"ido\", \"3\":\"ido\"},\n {\"name\":\"Icelandic\", \"local\":\"Íslenska\", \"1\":\"is\", \"2\":\"isl\", \"2T\":\"isl\", \"2B\":\"ice\", \"3\":\"isl\"},\n {\"name\":\"Italian\", \"local\":\"Italiano\", \"1\":\"it\", \"2\":\"ita\", \"2T\":\"ita\", \"2B\":\"ita\", \"3\":\"ita\"},\n {\"name\":\"Inuktitut\", \"local\":\"ᐃᓄᒃᑎᑐᑦ\", \"1\":\"iu\", \"2\":\"iku\", \"2T\":\"iku\", \"2B\":\"iku\", \"3\":\"iku\"},\n {\"name\":\"Japanese\", \"local\":\"日本語\", \"1\":\"ja\", \"2\":\"jpn\", \"2T\":\"jpn\", \"2B\":\"jpn\", \"3\":\"jpn\"},\n {\"name\":\"Javanese\", \"local\":\"Basa Jawa\", \"1\":\"jv\", \"2\":\"jav\", \"2T\":\"jav\", \"2B\":\"jav\", \"3\":\"jav\"},\n {\"name\":\"Kalaallisut\", \"local\":\"Kalaallisut\", \"1\":\"kl\", \"2\":\"kal\", \"2T\":\"kal\", \"2B\":\"kal\", \"3\":\"kal\"},\n {\"name\":\"Kannada\", \"local\":\"ಕನ್ನಡ\", \"1\":\"kn\", \"2\":\"kan\", \"2T\":\"kan\", \"2B\":\"kan\", \"3\":\"kan\"},\n {\"name\":\"Kanuri\", \"local\":\"Kanuri\", \"1\":\"kr\", \"2\":\"kau\", \"2T\":\"kau\", \"2B\":\"kau\", \"3\":\"kau\"},\n {\"name\":\"Kashmiri\", \"local\":\"كشميري\", \"1\":\"ks\", \"2\":\"kas\", \"2T\":\"kas\", \"2B\":\"kas\", \"3\":\"kas\"},\n {\"name\":\"Kazakh\", \"local\":\"Қазақша\", \"1\":\"kk\", \"2\":\"kaz\", \"2T\":\"kaz\", \"2B\":\"kaz\", \"3\":\"kaz\"},\n {\"name\":\"Khmer\", \"local\":\"ភាសាខ្មែរ\", \"1\":\"km\", \"2\":\"khm\", \"2T\":\"khm\", \"2B\":\"khm\", \"3\":\"khm\"},\n {\"name\":\"Kikuyu\", \"local\":\"Gĩkũyũ\", \"1\":\"ki\", \"2\":\"kik\", \"2T\":\"kik\", \"2B\":\"kik\", \"3\":\"kik\"},\n {\"name\":\"Kinyarwanda\", \"local\":\"Kinyarwanda\", \"1\":\"rw\", \"2\":\"kin\", \"2T\":\"kin\", \"2B\":\"kin\", \"3\":\"kin\"},\n {\"name\":\"Kyrgyz\", \"local\":\"Кыргызча\", \"1\":\"ky\", \"2\":\"kir\", \"2T\":\"kir\", \"2B\":\"kir\", \"3\":\"kir\"},\n {\"name\":\"Komi\", \"local\":\"Коми\", \"1\":\"kv\", \"2\":\"kom\", \"2T\":\"kom\", \"2B\":\"kom\", \"3\":\"kom\"},\n {\"name\":\"Kongo\", \"local\":\"Kongo\", \"1\":\"kg\", \"2\":\"kon\", \"2T\":\"kon\", \"2B\":\"kon\", \"3\":\"kon\"},\n {\"name\":\"Korean\", \"local\":\"한국어\", \"1\":\"ko\", \"2\":\"kor\", \"2T\":\"kor\", \"2B\":\"kor\", \"3\":\"kor\"},\n {\"name\":\"Kurdish\", \"local\":\"Kurdî\", \"1\":\"ku\", \"2\":\"kur\", \"2T\":\"kur\", \"2B\":\"kur\", \"3\":\"kur\"},\n {\"name\":\"Kwanyama\", \"local\":\"Kuanyama\", \"1\":\"kj\", \"2\":\"kua\", \"2T\":\"kua\", \"2B\":\"kua\", \"3\":\"kua\"},\n {\"name\":\"Latin\", \"local\":\"Latina\", \"1\":\"la\", \"2\":\"lat\", \"2T\":\"lat\", \"2B\":\"lat\", \"3\":\"lat\"},\n {\"name\":\"Luxembourgish\", \"local\":\"Lëtzebuergesch\", \"1\":\"lb\", \"2\":\"ltz\", \"2T\":\"ltz\", \"2B\":\"ltz\", \"3\":\"ltz\"},\n {\"name\":\"Ganda\", \"local\":\"Luganda\", \"1\":\"lg\", \"2\":\"lug\", \"2T\":\"lug\", \"2B\":\"lug\", \"3\":\"lug\"},\n {\"name\":\"Limburgish\", \"local\":\"Limburgs\", \"1\":\"li\", \"2\":\"lim\", \"2T\":\"lim\", \"2B\":\"lim\", \"3\":\"lim\"},\n {\"name\":\"Lingala\", \"local\":\"Lingála\", \"1\":\"ln\", \"2\":\"lin\", \"2T\":\"lin\", \"2B\":\"lin\", \"3\":\"lin\"},\n {\"name\":\"Lao\", \"local\":\"ພາສາລາວ\", \"1\":\"lo\", \"2\":\"lao\", \"2T\":\"lao\", \"2B\":\"lao\", \"3\":\"lao\"},\n {\"name\":\"Lithuanian\", \"local\":\"Lietuvių\", \"1\":\"lt\", \"2\":\"lit\", \"2T\":\"lit\", \"2B\":\"lit\", \"3\":\"lit\"},\n {\"name\":\"Luba-Katanga\", \"local\":\"Tshiluba\", \"1\":\"lu\", \"2\":\"lub\", \"2T\":\"lub\", \"2B\":\"lub\", \"3\":\"lub\"},\n {\"name\":\"Latvian\", \"local\":\"Latviešu\", \"1\":\"lv\", \"2\":\"lav\", \"2T\":\"lav\", \"2B\":\"lav\", \"3\":\"lav\"},\n {\"name\":\"Manx\", \"local\":\"Gaelg\", \"1\":\"gv\", \"2\":\"glv\", \"2T\":\"glv\", \"2B\":\"glv\", \"3\":\"glv\"},\n {\"name\":\"Macedonian\", \"local\":\"Македонски\", \"1\":\"mk\", \"2\":\"mkd\", \"2T\":\"mkd\", \"2B\":\"mac\", \"3\":\"mkd\"},\n {\"name\":\"Malagasy\", \"local\":\"Malagasy\", \"1\":\"mg\", \"2\":\"mlg\", \"2T\":\"mlg\", \"2B\":\"mlg\", \"3\":\"mlg\"},\n {\"name\":\"Malay\", \"local\":\"Bahasa Melayu\", \"1\":\"ms\", \"2\":\"msa\", \"2T\":\"msa\", \"2B\":\"may\", \"3\":\"msa\"},\n {\"name\":\"Malayalam\", \"local\":\"മലയാളം\", \"1\":\"ml\", \"2\":\"mal\", \"2T\":\"mal\", \"2B\":\"mal\", \"3\":\"mal\"},\n {\"name\":\"Maltese\", \"local\":\"Malti\", \"1\":\"mt\", \"2\":\"mlt\", \"2T\":\"mlt\", \"2B\":\"mlt\", \"3\":\"mlt\"},\n {\"name\":\"Māori\", \"local\":\"Māori\", \"1\":\"mi\", \"2\":\"mri\", \"2T\":\"mri\", \"2B\":\"mao\", \"3\":\"mri\"},\n {\"name\":\"Marathi\", \"local\":\"मराठी\", \"1\":\"mr\", \"2\":\"mar\", \"2T\":\"mar\", \"2B\":\"mar\", \"3\":\"mar\"},\n {\"name\":\"Marshallese\", \"local\":\"Kajin M̧ajeļ\", \"1\":\"mh\", \"2\":\"mah\", \"2T\":\"mah\", \"2B\":\"mah\", \"3\":\"mah\"},\n {\"name\":\"Mongolian\", \"local\":\"Монгол\", \"1\":\"mn\", \"2\":\"mon\", \"2T\":\"mon\", \"2B\":\"mon\", \"3\":\"mon\"},\n {\"name\":\"Nauru\", \"local\":\"Dorerin Naoero\", \"1\":\"na\", \"2\":\"nau\", \"2T\":\"nau\", \"2B\":\"nau\", \"3\":\"nau\"},\n {\"name\":\"Navajo\", \"local\":\"Diné Bizaad\", \"1\":\"nv\", \"2\":\"nav\", \"2T\":\"nav\", \"2B\":\"nav\", \"3\":\"nav\"},\n {\"name\":\"Northern Ndebele\", \"local\":\"isiNdebele\", \"1\":\"nd\", \"2\":\"nde\", \"2T\":\"nde\", \"2B\":\"nde\", \"3\":\"nde\"},\n {\"name\":\"Nepali\", \"local\":\"नेपाली\", \"1\":\"ne\", \"2\":\"nep\", \"2T\":\"nep\", \"2B\":\"nep\", \"3\":\"nep\"},\n {\"name\":\"Ndonga\", \"local\":\"Owambo\", \"1\":\"ng\", \"2\":\"ndo\", \"2T\":\"ndo\", \"2B\":\"ndo\", \"3\":\"ndo\"},\n {\"name\":\"Norwegian Bokmål\", \"local\":\"Norsk (Bokmål)\", \"1\":\"nb\", \"2\":\"nob\", \"2T\":\"nob\", \"2B\":\"nob\", \"3\":\"nob\"},\n {\"name\":\"Norwegian Nynorsk\", \"local\":\"Norsk (Nynorsk)\", \"1\":\"nn\", \"2\":\"nno\", \"2T\":\"nno\", \"2B\":\"nno\", \"3\":\"nno\"},\n {\"name\":\"Norwegian\", \"local\":\"Norsk\", \"1\":\"no\", \"2\":\"nor\", \"2T\":\"nor\", \"2B\":\"nor\", \"3\":\"nor\"},\n {\"name\":\"Nuosu\", \"local\":\"ꆈꌠ꒿ Nuosuhxop\", \"1\":\"ii\", \"2\":\"iii\", \"2T\":\"iii\", \"2B\":\"iii\", \"3\":\"iii\"},\n {\"name\":\"Southern Ndebele\", \"local\":\"isiNdebele\", \"1\":\"nr\", \"2\":\"nbl\", \"2T\":\"nbl\", \"2B\":\"nbl\", \"3\":\"nbl\"},\n {\"name\":\"Occitan\", \"local\":\"Occitan\", \"1\":\"oc\", \"2\":\"oci\", \"2T\":\"oci\", \"2B\":\"oci\", \"3\":\"oci\"},\n {\"name\":\"Ojibwe\", \"local\":\"ᐊᓂᔑᓈᐯᒧᐎᓐ\", \"1\":\"oj\", \"2\":\"oji\", \"2T\":\"oji\", \"2B\":\"oji\", \"3\":\"oji\"},\n {\"name\":\"Old Church Slavonic\", \"local\":\"Словѣ́ньскъ\", \"1\":\"cu\", \"2\":\"chu\", \"2T\":\"chu\", \"2B\":\"chu\", \"3\":\"chu\"},\n {\"name\":\"Oromo\", \"local\":\"Afaan Oromoo\", \"1\":\"om\", \"2\":\"orm\", \"2T\":\"orm\", \"2B\":\"orm\", \"3\":\"orm\"},\n {\"name\":\"Oriya\", \"local\":\"ଓଡି଼ଆ\", \"1\":\"or\", \"2\":\"ori\", \"2T\":\"ori\", \"2B\":\"ori\", \"3\":\"ori\"},\n {\"name\":\"Ossetian\", \"local\":\"Ирон æвзаг\", \"1\":\"os\", \"2\":\"oss\", \"2T\":\"oss\", \"2B\":\"oss\", \"3\":\"oss\"},\n {\"name\":\"Panjabi\", \"local\":\"ਪੰਜਾਬੀ\", \"1\":\"pa\", \"2\":\"pan\", \"2T\":\"pan\", \"2B\":\"pan\", \"3\":\"pan\"},\n {\"name\":\"Pāli\", \"local\":\"पाऴि\", \"1\":\"pi\", \"2\":\"pli\", \"2T\":\"pli\", \"2B\":\"pli\", \"3\":\"pli\"},\n {\"name\":\"Persian\", \"local\":\"فارسی\", \"1\":\"fa\", \"2\":\"fas\", \"2T\":\"fas\", \"2B\":\"per\", \"3\":\"fas\"},\n {\"name\":\"Polish\", \"local\":\"Polski\", \"1\":\"pl\", \"2\":\"pol\", \"2T\":\"pol\", \"2B\":\"pol\", \"3\":\"pol\"},\n {\"name\":\"Pashto\", \"local\":\"پښتو\", \"1\":\"ps\", \"2\":\"pus\", \"2T\":\"pus\", \"2B\":\"pus\", \"3\":\"pus\"},\n {\"name\":\"Portuguese\", \"local\":\"Português\", \"1\":\"pt\", \"2\":\"por\", \"2T\":\"por\", \"2B\":\"por\", \"3\":\"por\"},\n {\"name\":\"Quechua\", \"local\":\"Runa Simi\", \"1\":\"qu\", \"2\":\"que\", \"2T\":\"que\", \"2B\":\"que\", \"3\":\"que\"},\n {\"name\":\"Romansh\", \"local\":\"Rumantsch\", \"1\":\"rm\", \"2\":\"roh\", \"2T\":\"roh\", \"2B\":\"roh\", \"3\":\"roh\"},\n {\"name\":\"Kirundi\", \"local\":\"Kirundi\", \"1\":\"rn\", \"2\":\"run\", \"2T\":\"run\", \"2B\":\"run\", \"3\":\"run\"},\n {\"name\":\"Romanian\", \"local\":\"Română\", \"1\":\"ro\", \"2\":\"ron\", \"2T\":\"ron\", \"2B\":\"rum\", \"3\":\"ron\"},\n {\"name\":\"Russian\", \"local\":\"Русский\", \"1\":\"ru\", \"2\":\"rus\", \"2T\":\"rus\", \"2B\":\"rus\", \"3\":\"rus\"},\n {\"name\":\"Sanskrit\", \"local\":\"संस्कृतम्\", \"1\":\"sa\", \"2\":\"san\", \"2T\":\"san\", \"2B\":\"san\", \"3\":\"san\"},\n {\"name\":\"Sardinian\", \"local\":\"Sardu\", \"1\":\"sc\", \"2\":\"srd\", \"2T\":\"srd\", \"2B\":\"srd\", \"3\":\"srd\"},\n {\"name\":\"Sindhi\", \"local\":\"سنڌي‎\", \"1\":\"sd\", \"2\":\"snd\", \"2T\":\"snd\", \"2B\":\"snd\", \"3\":\"snd\"},\n {\"name\":\"Northern Sami\", \"local\":\"Sámegiella\", \"1\":\"se\", \"2\":\"sme\", \"2T\":\"sme\", \"2B\":\"sme\", \"3\":\"sme\"},\n {\"name\":\"Samoan\", \"local\":\"Gagana Sāmoa\", \"1\":\"sm\", \"2\":\"smo\", \"2T\":\"smo\", \"2B\":\"smo\", \"3\":\"smo\"},\n {\"name\":\"Sango\", \"local\":\"Sängö\", \"1\":\"sg\", \"2\":\"sag\", \"2T\":\"sag\", \"2B\":\"sag\", \"3\":\"sag\"},\n {\"name\":\"Serbian\", \"local\":\"Српски\", \"1\":\"sr\", \"2\":\"srp\", \"2T\":\"srp\", \"2B\":\"srp\", \"3\":\"srp\"},\n {\"name\":\"Gaelic\", \"local\":\"Gàidhlig\", \"1\":\"gd\", \"2\":\"gla\", \"2T\":\"gla\", \"2B\":\"gla\", \"3\":\"gla\"},\n {\"name\":\"Shona\", \"local\":\"ChiShona\", \"1\":\"sn\", \"2\":\"sna\", \"2T\":\"sna\", \"2B\":\"sna\", \"3\":\"sna\"},\n {\"name\":\"Sinhala\", \"local\":\"සිංහල\", \"1\":\"si\", \"2\":\"sin\", \"2T\":\"sin\", \"2B\":\"sin\", \"3\":\"sin\"},\n {\"name\":\"Slovak\", \"local\":\"Slovenčina\", \"1\":\"sk\", \"2\":\"slk\", \"2T\":\"slk\", \"2B\":\"slo\", \"3\":\"slk\"},\n {\"name\":\"Slovene\", \"local\":\"Slovenščina\", \"1\":\"sl\", \"2\":\"slv\", \"2T\":\"slv\", \"2B\":\"slv\", \"3\":\"slv\"},\n {\"name\":\"Somali\", \"local\":\"Soomaaliga\", \"1\":\"so\", \"2\":\"som\", \"2T\":\"som\", \"2B\":\"som\", \"3\":\"som\"},\n {\"name\":\"Southern Sotho\", \"local\":\"Sesotho\", \"1\":\"st\", \"2\":\"sot\", \"2T\":\"sot\", \"2B\":\"sot\", \"3\":\"sot\"},\n {\"name\":\"Spanish\", \"local\":\"Español\", \"1\":\"es\", \"2\":\"spa\", \"2T\":\"spa\", \"2B\":\"spa\", \"3\":\"spa\"},\n {\"name\":\"Sundanese\", \"local\":\"Basa Sunda\", \"1\":\"su\", \"2\":\"sun\", \"2T\":\"sun\", \"2B\":\"sun\", \"3\":\"sun\"},\n {\"name\":\"Swahili\", \"local\":\"Kiswahili\", \"1\":\"sw\", \"2\":\"swa\", \"2T\":\"swa\", \"2B\":\"swa\", \"3\":\"swa\"},\n {\"name\":\"Swati\", \"local\":\"SiSwati\", \"1\":\"ss\", \"2\":\"ssw\", \"2T\":\"ssw\", \"2B\":\"ssw\", \"3\":\"ssw\"},\n {\"name\":\"Swedish\", \"local\":\"Svenska\", \"1\":\"sv\", \"2\":\"swe\", \"2T\":\"swe\", \"2B\":\"swe\", \"3\":\"swe\"},\n {\"name\":\"Tamil\", \"local\":\"தமிழ்\", \"1\":\"ta\", \"2\":\"tam\", \"2T\":\"tam\", \"2B\":\"tam\", \"3\":\"tam\"},\n {\"name\":\"Telugu\", \"local\":\"తెలుగు\", \"1\":\"te\", \"2\":\"tel\", \"2T\":\"tel\", \"2B\":\"tel\", \"3\":\"tel\"},\n {\"name\":\"Tajik\", \"local\":\"Тоҷикӣ\", \"1\":\"tg\", \"2\":\"tgk\", \"2T\":\"tgk\", \"2B\":\"tgk\", \"3\":\"tgk\"},\n {\"name\":\"Thai\", \"local\":\"ภาษาไทย\", \"1\":\"th\", \"2\":\"tha\", \"2T\":\"tha\", \"2B\":\"tha\", \"3\":\"tha\"},\n {\"name\":\"Tigrinya\", \"local\":\"ትግርኛ\", \"1\":\"ti\", \"2\":\"tir\", \"2T\":\"tir\", \"2B\":\"tir\", \"3\":\"tir\"},\n {\"name\":\"Tibetan Standard\", \"local\":\"བོད་ཡིག\", \"1\":\"bo\", \"2\":\"bod\", \"2T\":\"bod\", \"2B\":\"tib\", \"3\":\"bod\"},\n {\"name\":\"Turkmen\", \"local\":\"Türkmençe\", \"1\":\"tk\", \"2\":\"tuk\", \"2T\":\"tuk\", \"2B\":\"tuk\", \"3\":\"tuk\"},\n {\"name\":\"Tagalog\", \"local\":\"Tagalog\", \"1\":\"tl\", \"2\":\"tgl\", \"2T\":\"tgl\", \"2B\":\"tgl\", \"3\":\"tgl\"},\n {\"name\":\"Tswana\", \"local\":\"Setswana\", \"1\":\"tn\", \"2\":\"tsn\", \"2T\":\"tsn\", \"2B\":\"tsn\", \"3\":\"tsn\"},\n {\"name\":\"Tonga\", \"local\":\"faka Tonga\", \"1\":\"to\", \"2\":\"ton\", \"2T\":\"ton\", \"2B\":\"ton\", \"3\":\"ton\"},\n {\"name\":\"Turkish\", \"local\":\"Türkçe\", \"1\":\"tr\", \"2\":\"tur\", \"2T\":\"tur\", \"2B\":\"tur\", \"3\":\"tur\"},\n {\"name\":\"Tsonga\", \"local\":\"Xitsonga\", \"1\":\"ts\", \"2\":\"tso\", \"2T\":\"tso\", \"2B\":\"tso\", \"3\":\"tso\"},\n {\"name\":\"Tatar\", \"local\":\"Татарча\", \"1\":\"tt\", \"2\":\"tat\", \"2T\":\"tat\", \"2B\":\"tat\", \"3\":\"tat\"},\n {\"name\":\"Twi\", \"local\":\"Twi\", \"1\":\"tw\", \"2\":\"twi\", \"2T\":\"twi\", \"2B\":\"twi\", \"3\":\"twi\"},\n {\"name\":\"Tahitian\", \"local\":\"Reo Mā’ohi\", \"1\":\"ty\", \"2\":\"tah\", \"2T\":\"tah\", \"2B\":\"tah\", \"3\":\"tah\"},\n {\"name\":\"Uyghur\", \"local\":\"ئۇيغۇرچه\", \"1\":\"ug\", \"2\":\"uig\", \"2T\":\"uig\", \"2B\":\"uig\", \"3\":\"uig\"},\n {\"name\":\"Ukrainian\", \"local\":\"Українська\", \"1\":\"uk\", \"2\":\"ukr\", \"2T\":\"ukr\", \"2B\":\"ukr\", \"3\":\"ukr\"},\n {\"name\":\"Urdu\", \"local\":\"اردو\", \"1\":\"ur\", \"2\":\"urd\", \"2T\":\"urd\", \"2B\":\"urd\", \"3\":\"urd\"},\n {\"name\":\"Uzbek\", \"local\":\"O‘zbek\", \"1\":\"uz\", \"2\":\"uzb\", \"2T\":\"uzb\", \"2B\":\"uzb\", \"3\":\"uzb\"},\n {\"name\":\"Venda\", \"local\":\"Tshivenḓa\", \"1\":\"ve\", \"2\":\"ven\", \"2T\":\"ven\", \"2B\":\"ven\", \"3\":\"ven\"},\n {\"name\":\"Vietnamese\", \"local\":\"Tiếng Việt\", \"1\":\"vi\", \"2\":\"vie\", \"2T\":\"vie\", \"2B\":\"vie\", \"3\":\"vie\"},\n {\"name\":\"Volapük\", \"local\":\"Volapük\", \"1\":\"vo\", \"2\":\"vol\", \"2T\":\"vol\", \"2B\":\"vol\", \"3\":\"vol\"},\n {\"name\":\"Walloon\", \"local\":\"Walon\", \"1\":\"wa\", \"2\":\"wln\", \"2T\":\"wln\", \"2B\":\"wln\", \"3\":\"wln\"},\n {\"name\":\"Welsh\", \"local\":\"Cymraeg\", \"1\":\"cy\", \"2\":\"cym\", \"2T\":\"cym\", \"2B\":\"wel\", \"3\":\"cym\"},\n {\"name\":\"Wolof\", \"local\":\"Wolof\", \"1\":\"wo\", \"2\":\"wol\", \"2T\":\"wol\", \"2B\":\"wol\", \"3\":\"wol\"},\n {\"name\":\"Western Frisian\", \"local\":\"Frysk\", \"1\":\"fy\", \"2\":\"fry\", \"2T\":\"fry\", \"2B\":\"fry\", \"3\":\"fry\"},\n {\"name\":\"Xhosa\", \"local\":\"isiXhosa\", \"1\":\"xh\", \"2\":\"xho\", \"2T\":\"xho\", \"2B\":\"xho\", \"3\":\"xho\"},\n {\"name\":\"Yiddish\", \"local\":\"ייִדיש\", \"1\":\"yi\", \"2\":\"yid\", \"2T\":\"yid\", \"2B\":\"yid\", \"3\":\"yid\"},\n {\"name\":\"Yoruba\", \"local\":\"Yorùbá\", \"1\":\"yo\", \"2\":\"yor\", \"2T\":\"yor\", \"2B\":\"yor\", \"3\":\"yor\"},\n {\"name\":\"Zhuang\", \"local\":\"Cuengh\", \"1\":\"za\", \"2\":\"zha\", \"2T\":\"zha\", \"2B\":\"zha\", \"3\":\"zha\"},\n {\"name\":\"Zulu\", \"local\":\"isiZulu\", \"1\":\"zu\", \"2\":\"zul\", \"2T\":\"zul\", \"2B\":\"zul\", \"3\":\"zul\"}\n];\n","var data = require('./data');\n\nvar langs = {\n all: allLanguages,\n has: hasLanguage,\n codes: getCodes,\n names: getNames,\n where: findBy\n};\n\nmodule.exports = langs;\n\n// allLanguages :: -> Language[]\nfunction allLanguages() {\n return data;\n}\n\n// hasLanguage :: String, String -> Boolean\nfunction hasLanguage(crit, val) {\n return void(0) !== findBy(crit, val);\n}\n\n// getCodes :: String -> String[]\nfunction getCodes(type) {\n if (isValidType(type)) {\n return forAll(data, function getCodesIterator(row) {\n return row[type];\n });\n }\n}\n\n// getNames :: Boolean -> String[]\nfunction getNames(local) {\n return forAll(data, function getNamesIterator(row) {\n return local ? row.local : row.name;\n });\n}\n\n// findBy :: String, String -> Language\nfunction findBy(crit, val) {\n for (var i = 0; i < data.length; i++) {\n if (val === data[i][crit]) {\n return data[i];\n }\n }\n}\n\n// forAll :: Array, Function -> Array\nfunction forAll(arr, fn) {\n var out = [], i;\n for (i = 0; i < arr.length; i++) {\n out.push(fn(arr[i], i));\n }\n\n return out;\n}\n\n// isValidType :: String -> Boolean\nfunction isValidType(type) {\n var types = [1, 2, 3, '1', '2', '2B', '2T', '3'];\n return -1 !== types.indexOf(type);\n}\n","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\ncloneableTags[boolTag] = cloneableTags[dateTag] =\ncloneableTags[float32Tag] = cloneableTags[float64Tag] =\ncloneableTags[int8Tag] = cloneableTags[int16Tag] =\ncloneableTags[int32Tag] = cloneableTags[mapTag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[setTag] =\ncloneableTags[stringTag] = cloneableTags[symbolTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[weakMapTag] = false;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/**\n * Adds the key-value `pair` to `map`.\n *\n * @private\n * @param {Object} map The map to modify.\n * @param {Array} pair The key-value pair to add.\n * @returns {Object} Returns `map`.\n */\nfunction addMapEntry(map, pair) {\n // Don't return `map.set` because it's not chainable in IE 11.\n map.set(pair[0], pair[1]);\n return map;\n}\n\n/**\n * Adds `value` to `set`.\n *\n * @private\n * @param {Object} set The set to modify.\n * @param {*} value The value to add.\n * @returns {Object} Returns `set`.\n */\nfunction addSetEntry(set, value) {\n // Don't return `set.add` because it's not chainable in IE 11.\n set.add(value);\n return set;\n}\n\n/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array ? array.length : 0;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\n/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\n/**\n * A specialized version of `_.reduce` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the first element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\nfunction arrayReduce(array, iteratee, accumulator, initAccum) {\n var index = -1,\n length = array ? array.length : 0;\n\n if (initAccum && length) {\n accumulator = array[++index];\n }\n while (++index < length) {\n accumulator = iteratee(accumulator, array[index], index, array);\n }\n return accumulator;\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n getPrototype = overArg(Object.getPrototypeOf, Object),\n objectCreate = Object.create,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols,\n nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeKeys = overArg(Object.keys, Object);\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView'),\n Map = getNative(root, 'Map'),\n Promise = getNative(root, 'Promise'),\n Set = getNative(root, 'Set'),\n WeakMap = getNative(root, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n return getMapData(this, key)['delete'](key);\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n getMapData(this, key).set(key, value);\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n this.__data__ = new ListCache(entries);\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n return this.__data__['delete'](key);\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var cache = this.__data__;\n if (cache instanceof ListCache) {\n var pairs = cache.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n return this;\n }\n cache = this.__data__ = new MapCache(pairs);\n }\n cache.set(key, value);\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n // Safari 9 makes `arguments.length` enumerable in strict mode.\n var result = (isArray(value) || isArguments(value))\n ? baseTimes(value.length, String)\n : [];\n\n var length = result.length,\n skipIndexes = !!length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (key == 'length' || isIndex(key, length)))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n object[key] = value;\n }\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n}\n\n/**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {boolean} [isFull] Specify a clone including symbols.\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, isDeep, isFull, customizer, key, object, stack) {\n var result;\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return copyArray(value, result);\n }\n } else {\n var tag = getTag(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (isBuffer(value)) {\n return cloneBuffer(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n if (isHostObject(value)) {\n return object ? value : {};\n }\n result = initCloneObject(isFunc ? {} : value);\n if (!isDeep) {\n return copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, baseClone, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new Stack);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n if (!isArr) {\n var props = isFull ? getAllKeys(value) : keys(value);\n }\n arrayEach(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n assignValue(result, key, baseClone(subValue, isDeep, isFull, customizer, key, value, stack));\n });\n return result;\n}\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} prototype The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nfunction baseCreate(proto) {\n return isObject(proto) ? objectCreate(proto) : {};\n}\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\n/**\n * The base implementation of `getTag`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n return objectToString.call(value);\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var result = new buffer.constructor(buffer.length);\n buffer.copy(result);\n return result;\n}\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\n/**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\nfunction cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n}\n\n/**\n * Creates a clone of `map`.\n *\n * @private\n * @param {Object} map The map to clone.\n * @param {Function} cloneFunc The function to clone values.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned map.\n */\nfunction cloneMap(map, isDeep, cloneFunc) {\n var array = isDeep ? cloneFunc(mapToArray(map), true) : mapToArray(map);\n return arrayReduce(array, addMapEntry, new map.constructor);\n}\n\n/**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\nfunction cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n}\n\n/**\n * Creates a clone of `set`.\n *\n * @private\n * @param {Object} set The set to clone.\n * @param {Function} cloneFunc The function to clone values.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned set.\n */\nfunction cloneSet(set, isDeep, cloneFunc) {\n var array = isDeep ? cloneFunc(setToArray(set), true) : setToArray(set);\n return arrayReduce(array, addSetEntry, new set.constructor);\n}\n\n/**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\nfunction cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n}\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\n/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n assignValue(object, key, newValue === undefined ? source[key] : newValue);\n }\n return object;\n}\n\n/**\n * Copies own symbol properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n}\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Creates an array of the own enumerable symbol properties of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = nativeGetSymbols ? overArg(nativeGetSymbols, Object) : stubArray;\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11,\n// for data views in Edge < 14, and promises in Node.js.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = objectToString.call(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : undefined;\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {Function} cloneFunc The function to clone values.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, cloneFunc, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return cloneArrayBuffer(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case dataViewTag:\n return cloneDataView(object, isDeep);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n return cloneTypedArray(object, isDeep);\n\n case mapTag:\n return cloneMap(object, isDeep, cloneFunc);\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n return cloneRegExp(object);\n\n case setTag:\n return cloneSet(object, isDeep, cloneFunc);\n\n case symbolTag:\n return cloneSymbol(object);\n }\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * This method is like `_.clone` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @returns {*} Returns the deep cloned value.\n * @see _.clone\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var deep = _.cloneDeep(objects);\n * console.log(deep[0] === objects[0]);\n * // => false\n */\nfunction cloneDeep(value) {\n return baseClone(value, true, true);\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\n/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = cloneDeep;\n","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n result = wait - timeSinceLastCall;\n\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = debounce;\n","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\n/**\n * A specialized version of `_.includes` for arrays without support for\n * specifying an index to search from.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludes(array, value) {\n var length = array ? array.length : 0;\n return !!length && baseIndexOf(array, value, 0) > -1;\n}\n\n/**\n * This function is like `arrayIncludes` except that it accepts a comparator.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludesWith(array, value, comparator) {\n var index = -1,\n length = array ? array.length : 0;\n\n while (++index < length) {\n if (comparator(value, array[index])) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array ? array.length : 0,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\n/**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseIndexOf(array, value, fromIndex) {\n if (value !== value) {\n return baseFindIndex(array, baseIsNaN, fromIndex);\n }\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.isNaN` without support for number objects.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n */\nfunction baseIsNaN(value) {\n return value !== value;\n}\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/**\n * Checks if a cache value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map'),\n nativeCreate = getNative(Object, 'create');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n return getMapData(this, key)['delete'](key);\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n getMapData(this, key).set(key, value);\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values ? values.length : 0;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\n/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of methods like `_.intersection`, without support\n * for iteratee shorthands, that accepts an array of arrays to inspect.\n *\n * @private\n * @param {Array} arrays The arrays to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of shared values.\n */\nfunction baseIntersection(arrays, iteratee, comparator) {\n var includes = comparator ? arrayIncludesWith : arrayIncludes,\n length = arrays[0].length,\n othLength = arrays.length,\n othIndex = othLength,\n caches = Array(othLength),\n maxLength = Infinity,\n result = [];\n\n while (othIndex--) {\n var array = arrays[othIndex];\n if (othIndex && iteratee) {\n array = arrayMap(array, baseUnary(iteratee));\n }\n maxLength = nativeMin(array.length, maxLength);\n caches[othIndex] = !comparator && (iteratee || (length >= 120 && array.length >= 120))\n ? new SetCache(othIndex && array)\n : undefined;\n }\n array = arrays[0];\n\n var index = -1,\n seen = caches[0];\n\n outer:\n while (++index < length && result.length < maxLength) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (!(seen\n ? cacheHas(seen, computed)\n : includes(result, computed, comparator)\n )) {\n othIndex = othLength;\n while (--othIndex) {\n var cache = caches[othIndex];\n if (!(cache\n ? cacheHas(cache, computed)\n : includes(arrays[othIndex], computed, comparator))\n ) {\n continue outer;\n }\n }\n if (seen) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = array;\n return apply(func, this, otherArgs);\n };\n}\n\n/**\n * Casts `value` to an empty array if it's not an array like object.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Array|Object} Returns the cast array-like object.\n */\nfunction castArrayLikeObject(value) {\n return isArrayLikeObject(value) ? value : [];\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Creates an array of unique values that are included in all given arrays\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons. The order of result values is determined by the\n * order they occur in the first array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of intersecting values.\n * @example\n *\n * _.intersection([2, 1], [2, 3]);\n * // => [2]\n */\nvar intersection = baseRest(function(arrays) {\n var mapped = arrayMap(arrays, castArrayLikeObject);\n return (mapped.length && mapped[0] === arrays[0])\n ? baseIntersection(mapped)\n : [];\n});\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\nmodule.exports = intersection;\n","/**\n * Lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright JS Foundation and other contributors <https://js.foundation/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n asyncTag = '[object AsyncFunction]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n nullTag = '[object Null]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n proxyTag = '[object Proxy]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n undefinedTag = '[object Undefined]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\n/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\n/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice,\n symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols,\n nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeKeys = overArg(Object.keys, Object);\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView'),\n Map = getNative(root, 'Map'),\n Promise = getNative(root, 'Promise'),\n Set = getNative(root, 'Set'),\n WeakMap = getNative(root, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\n/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(array);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\nfunction isEqual(value, other) {\n return baseIsEqual(value, other);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\n/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = isEqual;\n","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n result = wait - timeSinceLastCall;\n\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\n/**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\nfunction throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = throttle;\n","/*! magnet-uri. MIT License. WebTorrent LLC <https://webtorrent.io/opensource> */\nmodule.exports = magnetURIDecode\nmodule.exports.decode = magnetURIDecode\nmodule.exports.encode = magnetURIEncode\n\nconst base32 = require('thirty-two')\nconst bep53Range = require('bep53-range')\n\n/**\n * Parse a magnet URI and return an object of keys/values\n *\n * @param {string} uri\n * @return {Object} parsed uri\n */\nfunction magnetURIDecode (uri) {\n const result = {}\n\n // Support 'magnet:' and 'stream-magnet:' uris\n const data = uri.split('magnet:?')[1]\n\n const params = (data && data.length >= 0)\n ? data.split('&')\n : []\n\n params.forEach(param => {\n const keyval = param.split('=')\n\n // This keyval is invalid, skip it\n if (keyval.length !== 2) return\n\n const key = keyval[0]\n let val = keyval[1]\n\n // Clean up torrent name\n if (key === 'dn') val = decodeURIComponent(val).replace(/\\+/g, ' ')\n\n // Address tracker (tr), exact source (xs), and acceptable source (as) are encoded\n // URIs, so decode them\n if (key === 'tr' || key === 'xs' || key === 'as' || key === 'ws') {\n val = decodeURIComponent(val)\n }\n\n // Return keywords as an array\n if (key === 'kt') val = decodeURIComponent(val).split('+')\n\n // Cast file index (ix) to a number\n if (key === 'ix') val = Number(val)\n\n // bep53\n if (key === 'so') val = bep53Range.parse(decodeURIComponent(val).split(','))\n\n // If there are repeated parameters, return an array of values\n if (result[key]) {\n if (!Array.isArray(result[key])) {\n result[key] = [result[key]]\n }\n\n result[key].push(val)\n } else {\n result[key] = val\n }\n })\n\n // Convenience properties for parity with `parse-torrent-file` module\n let m\n if (result.xt) {\n const xts = Array.isArray(result.xt) ? result.xt : [result.xt]\n xts.forEach(xt => {\n if ((m = xt.match(/^urn:btih:(.{40})/))) {\n result.infoHash = m[1].toLowerCase()\n } else if ((m = xt.match(/^urn:btih:(.{32})/))) {\n const decodedStr = base32.decode(m[1])\n result.infoHash = Buffer.from(decodedStr, 'binary').toString('hex')\n } else if ((m = xt.match(/^urn:btmh:1220(.{64})/))) {\n result.infoHashV2 = m[1].toLowerCase()\n }\n })\n }\n\n if (result.xs) {\n const xss = Array.isArray(result.xs) ? result.xs : [result.xs]\n xss.forEach(xs => {\n if ((m = xs.match(/^urn:btpk:(.{64})/))) {\n result.publicKey = m[1].toLowerCase()\n }\n })\n }\n\n if (result.infoHash) result.infoHashBuffer = Buffer.from(result.infoHash, 'hex')\n if (result.infoHashV2) result.infoHashV2Buffer = Buffer.from(result.infoHashV2, 'hex')\n if (result.publicKey) result.publicKeyBuffer = Buffer.from(result.publicKey, 'hex')\n\n if (result.dn) result.name = result.dn\n if (result.kt) result.keywords = result.kt\n\n result.announce = []\n if (typeof result.tr === 'string' || Array.isArray(result.tr)) {\n result.announce = result.announce.concat(result.tr)\n }\n\n result.urlList = []\n if (typeof result.as === 'string' || Array.isArray(result.as)) {\n result.urlList = result.urlList.concat(result.as)\n }\n if (typeof result.ws === 'string' || Array.isArray(result.ws)) {\n result.urlList = result.urlList.concat(result.ws)\n }\n\n result.peerAddresses = []\n if (typeof result['x.pe'] === 'string' || Array.isArray(result['x.pe'])) {\n result.peerAddresses = result.peerAddresses.concat(result['x.pe'])\n }\n\n // remove duplicates by converting to Set and back\n result.announce = Array.from(new Set(result.announce))\n result.urlList = Array.from(new Set(result.urlList))\n result.peerAddresses = Array.from(new Set(result.peerAddresses))\n\n return result\n}\n\nfunction magnetURIEncode (obj) {\n obj = Object.assign({}, obj) // clone obj, so we can mutate it\n\n // support using convenience names, in addition to spec names\n // (example: `infoHash` for `xt`, `name` for `dn`)\n\n // Deduplicate xt by using a set\n let xts = new Set()\n if (obj.xt && typeof obj.xt === 'string') xts.add(obj.xt)\n if (obj.xt && Array.isArray(obj.xt)) xts = new Set(obj.xt)\n if (obj.infoHashBuffer) xts.add(`urn:btih:${obj.infoHashBuffer.toString('hex')}`)\n if (obj.infoHash) xts.add(`urn:btih:${obj.infoHash}`)\n if (obj.infoHashV2Buffer) xts.add(obj.xt = `urn:btmh:1220${obj.infoHashV2Buffer.toString('hex')}`)\n if (obj.infoHashV2) xts.add(`urn:btmh:1220${obj.infoHashV2}`)\n const xtsDeduped = Array.from(xts)\n if (xtsDeduped.length === 1) obj.xt = xtsDeduped[0]\n if (xtsDeduped.length > 1) obj.xt = xtsDeduped\n\n if (obj.publicKeyBuffer) obj.xs = `urn:btpk:${obj.publicKeyBuffer.toString('hex')}`\n if (obj.publicKey) obj.xs = `urn:btpk:${obj.publicKey}`\n if (obj.name) obj.dn = obj.name\n if (obj.keywords) obj.kt = obj.keywords\n if (obj.announce) obj.tr = obj.announce\n if (obj.urlList) {\n obj.ws = obj.urlList\n delete obj.as\n }\n if (obj.peerAddresses) obj['x.pe'] = obj.peerAddresses\n\n let result = 'magnet:?'\n Object.keys(obj)\n .filter(key => key.length === 2 || key === 'x.pe')\n .forEach((key, i) => {\n const values = Array.isArray(obj[key]) ? obj[key] : [obj[key]]\n values.forEach((val, j) => {\n if ((i > 0 || j > 0) && ((key !== 'kt' && key !== 'so') || j === 0)) result += '&'\n\n if (key === 'dn') val = encodeURIComponent(val).replace(/%20/g, '+')\n if (key === 'tr' || key === 'as' || key === 'ws') {\n val = encodeURIComponent(val)\n }\n // Don't URI encode BEP46 keys\n if (key === 'xs' && !val.startsWith('urn:btpk:')) {\n val = encodeURIComponent(val)\n }\n if (key === 'kt') val = encodeURIComponent(val)\n if (key === 'so') return\n\n if (key === 'kt' && j > 0) result += `+${val}`\n else result += `${key}=${val}`\n })\n if (key === 'so') result += `${key}=${bep53Range.compose(values)}`\n })\n\n return result\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"error-container\":\"error-container-OJnoc\",\"error-image\":\"error-image-qU9Qo\",\"error-message\":\"error-message-kW59Z\",\"buttons-container\":\"buttons-container-tQonN\",\"button-container\":\"button-container-vLSQK\",\"label\":\"label-Up_te\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"fade-in\":\"fade-in-pFkt_\",\"toasts-container\":\"toasts-container-oKECy\",\"tooltip-container\":\"tooltip-container-Qpse8\",\"router\":\"router-_65XU\",\"error-container\":\"error-container-VZXwH\",\"loader-container\":\"loader-container-vwvnb\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"addon-details-container\":\"addon-details-container-ZQqDB\",\"title-container\":\"title-container-fR02m\",\"icon\":\"icon-ScXNu\",\"logo\":\"logo-BujW_\",\"name-container\":\"name-container-Gfhqw\",\"name\":\"name-XNqfo\",\"version\":\"version-w_xoN\",\"section-container\":\"section-container-l3YaI\",\"section-header\":\"section-header-bs8iy\",\"section-label\":\"section-label-rYxQh\",\"transport-url-label\":\"transport-url-label-EW7I5\",\"disclaimer-label\":\"disclaimer-label-IGdd3\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"addon-details-modal-container\":\"addon-details-modal-container-_bwQ0\",\"addon-details-container\":\"addon-details-container-AmNx2\",\"addon-details-message-container\":\"addon-details-message-container-VEzeN\",\"cancel-button\":\"cancel-button-luYIO\",\"cancel-button-label\":\"cancel-button-label-jqVQf\",\"uninstall-button\":\"uninstall-button-X2JXr\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"button-container\":\"button-container-HNufV\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"checkbox-container\":\"checkbox-container-heGq4\",\"toggle\":\"toggle-jrHgS\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"chip\":\"chip-oNDf9\",\"active\":\"active-hnUWc\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"chips\":\"chips-2SaqO\",\"left\":\"left-g78Dv\",\"right\":\"right-xHY1L\",\"center\":\"center-r2lxe\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"color-picker-container\":\"color-picker-container-deFkW\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"color-input-container\":\"color-input-container-jRZsi\",\"transparent-label-container\":\"transparent-label-container-Tx2fI\",\"transparent-label\":\"transparent-label-omLaY\",\"color-picker-container\":\"color-picker-container-C4puR\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"event-modal\":\"event-modal-rnryK\",\"image\":\"image-e8XVK\",\"info-container\":\"info-container-wB_Hp\",\"title-container\":\"title-container-HRHiu\",\"title\":\"title-QWkHL\",\"label\":\"label-BkLRo\",\"addon-container\":\"addon-container-vbdZn\",\"icon\":\"icon-wYzOg\",\"name\":\"name-YiulJ\",\"action-button\":\"action-button-Off_h\",\"button-label\":\"button-label-j6aOz\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"main-nav-bars-container\":\"main-nav-bars-container-fA7pO\",\"horizontal-nav-bar\":\"horizontal-nav-bar-x5sxp\",\"vertical-nav-bar\":\"vertical-nav-bar-JNw53\",\"nav-content-container\":\"nav-content-container-VHwOU\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"meta-item-container\":\"meta-item-container-drt6V\",\"poster-container\":\"poster-container-Fruke\",\"dismiss-icon-layer\":\"dismiss-icon-layer-ujhD1\",\"poster-image-layer\":\"poster-image-layer-CdxrT\",\"play-icon-layer\":\"play-icon-layer-_75Lo\",\"play-icon-outer\":\"play-icon-outer-sAk71\",\"play-icon-background\":\"play-icon-background-yHWuQ\",\"title-bar-container\":\"title-bar-container-DFXJK\",\"menu-label-container\":\"menu-label-container-dlL1I\",\"poster-shape-poster\":\"poster-shape-poster-F_CO5\",\"poster-shape-square\":\"poster-shape-square-UCby3\",\"poster-shape-landscape\":\"poster-shape-landscape-BPmb1\",\"dismiss-icon\":\"dismiss-icon-w57SZ\",\"dismiss-icon-backdrop\":\"dismiss-icon-backdrop-L8zeK\",\"watched-icon-layer\":\"watched-icon-layer-wtjcc\",\"watched-icon\":\"watched-icon-oXlb3\",\"poster-image\":\"poster-image-lt9zC\",\"placeholder-icon\":\"placeholder-icon-uYwsv\",\"play-icon\":\"play-icon-d9_ll\",\"progress-bar-layer\":\"progress-bar-layer-r81Qx\",\"progress-bar\":\"progress-bar-E3QY9\",\"progress-bar-background\":\"progress-bar-background-Q7lT4\",\"new-videos\":\"new-videos-gZv0w\",\"layer\":\"layer-RqXo1\",\"icon\":\"icon-IfJ81\",\"label\":\"label-hSihm\",\"title-label\":\"title-label-dZZ_A\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"action-button-container\":\"action-button-container-TmbQ2\",\"icon-container\":\"icon-container-hvLw4\",\"icon\":\"icon-DG4TM\",\"label-container\":\"label-container-eh2bk\",\"label\":\"label-YhHvD\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"meta-links-container\":\"meta-links-container-wSrm1\",\"label-container\":\"label-container-zWFke\",\"links-container\":\"links-container-o4RUG\",\"link-container\":\"link-container-HUDqV\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"meta-preview-placeholder-container\":\"meta-preview-placeholder-container-AQ4ld\",\"meta-info-container\":\"meta-info-container-pEOFb\",\"logo-container\":\"logo-container-g5eNB\",\"duration-release-info-container\":\"duration-release-info-container-lNaI6\",\"duration-container\":\"duration-container-x2E01\",\"release-info-container\":\"release-info-container-PEmeu\",\"genres-container\":\"genres-container-v3H7A\",\"genres-header-container\":\"genres-header-container-lsPLU\",\"genre-label-container\":\"genre-label-container-z7kU8\",\"action-buttons-container\":\"action-buttons-container-U3sbl\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"meta-preview-container\":\"meta-preview-container-bgBNf\",\"compact\":\"compact-Wbl4Q\",\"meta-info-container\":\"meta-info-container-tlmcb\",\"logo\":\"logo-X9v1A\",\"logo-placeholder\":\"logo-placeholder-kIy0x\",\"runtime-release-info-container\":\"runtime-release-info-container-lXo3K\",\"release-info-label\":\"release-info-label-XmqSY\",\"runtime-label\":\"runtime-label-B29EN\",\"description-container\":\"description-container-eSGft\",\"action-buttons-container\":\"action-buttons-container-qQrnO\",\"action-button\":\"action-button-R44aX\",\"background-image-layer\":\"background-image-layer-GstuA\",\"background-image\":\"background-image-B0d6i\",\"imdb-button-container\":\"imdb-button-container-qCbl7\",\"label\":\"label-_DfnK\",\"icon\":\"icon-MBu8k\",\"label-container\":\"label-container-xChHj\",\"meta-links\":\"meta-links-mTHUo\",\"show-button\":\"show-button-Sh8P3\",\"share-prompt\":\"share-prompt-F8qOC\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"meta-row-placeholder-container\":\"meta-row-placeholder-container-wpHNk\",\"header-container\":\"header-container-GCHdB\",\"title-container\":\"title-container-Bjp93\",\"see-all-container\":\"see-all-container-FnlIf\",\"label\":\"label-dU3S2\",\"icon\":\"icon-FLhtv\",\"meta-items-container\":\"meta-items-container-dbGXx\",\"meta-item\":\"meta-item-IegjY\",\"poster-container\":\"poster-container-RlQMV\",\"title-bar-container\":\"title-bar-container-YJZrl\",\"title-label\":\"title-label-Ka1vs\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"meta-row-container\":\"meta-row-container-ucOuu\",\"header-container\":\"header-container-RherZ\",\"title-container\":\"title-container-SJ0nR\",\"see-all-container\":\"see-all-container-HlJ4b\",\"label\":\"label-isJw8\",\"icon\":\"icon-PO0GH\",\"message-container\":\"message-container-bIcjN\",\"meta-items-container\":\"meta-items-container-TqzFs\",\"meta-item\":\"meta-item-x28TU\",\"poster-shape-poster\":\"poster-shape-poster-B1QR0\",\"poster-shape-square\":\"poster-shape-square-m5r_O\",\"poster-shape-landscape\":\"poster-shape-landscape-_FSOH\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"modal-container\":\"modal-container-jZglc\",\"modal-dialog-container\":\"modal-dialog-container-QgsId\",\"modal-dialog-background\":\"modal-dialog-background-I_IoU\",\"close-button-container\":\"close-button-container-QrgQo\",\"icon\":\"icon-hRjWc\",\"modal-dialog-content\":\"modal-dialog-content-ChXwF\",\"title-container\":\"title-container-wqhp3\",\"body-container\":\"body-container-_WHlr\",\"buttons-container\":\"buttons-container-EJKJF\",\"action-button\":\"action-button-bi6FL\",\"label\":\"label-_ADoX\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"label-container\":\"label-container-ZHk2S\",\"icon\":\"icon-YGvLz\",\"label\":\"label-kz1K0\",\"modal-container\":\"modal-container-BQwj3\",\"menu-container\":\"menu-container-Z1Pou\",\"option-container\":\"option-container-yVj1o\",\"no-options-container\":\"no-options-container-NYx9Z\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"dropdown\":\"dropdown-F4S7Q\",\"open\":\"open-RbKyy\",\"back-button\":\"back-button-sQrkb\",\"back-button-icon\":\"back-button-icon-Inmcg\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"option\":\"option-SHgyE\",\"label\":\"label-gTtLc\",\"icon\":\"icon-lDn76\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"multiselect-menu\":\"multiselect-menu-ilDVi\",\"disabled\":\"disabled-gvjEF\",\"multiselect-button\":\"multiselect-button-Qry4t\",\"icon\":\"icon-spGqV\",\"open\":\"open-QN4il\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"nav-menu-popup-label\":\"nav-menu-popup-label-JmI2m\",\"nav-menu-container\":\"nav-menu-container-VSzwW\",\"user-info-container\":\"user-info-container-BR8yb\",\"avatar-container\":\"avatar-container-jmlBM\",\"user-info-details\":\"user-info-details-vvVBe\",\"email-container\":\"email-container-fvFrL\",\"email-label\":\"email-label-WBX2T\",\"logout-button-container\":\"logout-button-container-hSW_i\",\"logout-label\":\"logout-label-dUa8B\",\"nav-menu-section\":\"nav-menu-section-oMELF\",\"nav-menu-option-container\":\"nav-menu-option-container-gZ1gT\",\"icon\":\"icon-OSgm6\",\"nav-menu-option-label\":\"nav-menu-option-label-XNuY6\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"search-bar-container\":\"search-bar-container-TNPzI\",\"search-input\":\"search-input-aOiJ2\",\"placeholder-label\":\"placeholder-label-Irklk\",\"submit-button-container\":\"submit-button-container-jPP5J\",\"icon\":\"icon-FT4bG\",\"menu-container\":\"menu-container-vU2Gr\",\"label\":\"label-Pk7mj\",\"title\":\"title-CwL12\",\"search-history-clear\":\"search-history-clear-i_wja\",\"items\":\"items-XwajL\",\"item\":\"item-C5WAm\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"horizontal-nav-bar-container\":\"horizontal-nav-bar-container-jFw5Y\",\"logo-container\":\"logo-container-fnFzY\",\"logo\":\"logo-RVSxt\",\"back-button-container\":\"back-button-container-K9AwF\",\"title\":\"title-_UxXH\",\"search-bar\":\"search-bar-NopQ6\",\"buttons-container\":\"buttons-container-fHCke\",\"button-container\":\"button-container-B23qB\",\"icon\":\"icon-wrBcp\",\"menu-button-container\":\"menu-button-container-WWcwa\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"nav-tab-button-container\":\"nav-tab-button-container-r8HUb\",\"label\":\"label-mc9eB\",\"icon\":\"icon-vxKmB\",\"logo\":\"logo-ST06l\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"vertical-nav-bar-container\":\"vertical-nav-bar-container-AsGLM\",\"nav-tab-button\":\"nav-tab-button-noMv6\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"pagination-input-container\":\"pagination-input-container-vXhi6\",\"next-button-container\":\"next-button-container-zNwG6\",\"prev-button-container\":\"prev-button-container-qmJ1m\",\"icon\":\"icon-UoyQ9\",\"label-container\":\"label-container-VwInD\",\"label\":\"label-cJKC1\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"background\":\"background-FNyrF\",\"icon\":\"icon-XXj2q\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"label-container\":\"label-container-iBMb9\",\"menu-container\":\"menu-container-bfvDO\",\"menu-direction-top-left\":\"menu-direction-top-left-KpAQN\",\"menu-direction-bottom-left\":\"menu-direction-bottom-left-Uw06K\",\"menu-direction-top-right\":\"menu-direction-top-right-jOtwq\",\"menu-direction-bottom-right\":\"menu-direction-bottom-right-XZ9Ch\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"search-bar-container\":\"search-bar-container-Vb_fz\",\"search-input\":\"search-input-BWyeG\",\"icon\":\"icon-poa62\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"search-bar-container\":\"search-bar-container-MpNBA\",\"search-input\":\"search-input-ge2wu\",\"icon\":\"icon-Z_Hni\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"share-prompt-container\":\"share-prompt-container-YsJwl\",\"buttons-container\":\"buttons-container-Oc7PG\",\"button-container\":\"button-container-oMOnv\",\"icon\":\"icon-FVvQH\",\"facebook-button\":\"facebook-button-KaNwb\",\"reddit-button\":\"reddit-button-qVXIY\",\"x-button\":\"x-button-qkuNq\",\"url-container\":\"url-container-fMSp4\",\"url-text-input\":\"url-text-input-Yka4x\",\"copy-button\":\"copy-button-ShwCB\",\"label\":\"label-iOGrs\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"active-slider-within\":\"active-slider-within-lQFc1\",\"slider-container\":\"slider-container-aRzVq\",\"layer\":\"layer-FqnD7\",\"track\":\"track-jWhBI\",\"track-before\":\"track-before-FwOXh\",\"track-after\":\"track-after-iD0ee\",\"thumb\":\"thumb-tfDk6\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"warning-container\":\"warning-container-FIITF\",\"warning-statement\":\"warning-statement-I7pdD\",\"warning-button\":\"warning-button-zlx_V\",\"warning-label\":\"warning-label-XJnBc\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"text-input\":\"text-input-jR2Nr\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"toast-item-container\":\"toast-item-container-nG0uk\",\"success\":\"success-eIDTa\",\"icon-container\":\"icon-container-rjAiH\",\"icon\":\"icon-Y4I_O\",\"error\":\"error-quyOd\",\"info\":\"info-KEWq8\",\"info-container\":\"info-container-xD9V6\",\"title-container\":\"title-container-VFReJ\",\"message-container\":\"message-container-znkCj\",\"close-button-container\":\"close-button-container-YtyYE\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tooltip-placeholder\":\"tooltip-placeholder-niioe\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tooltip-item\":\"tooltip-item-gfYXu\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"addon-container\":\"addon-container-lC5KN\",\"logo-container\":\"logo-container-ZcSSC\",\"logo\":\"logo-WrsGF\",\"icon\":\"icon-GxVbY\",\"info-container\":\"info-container-AdMB6\",\"name-container\":\"name-container-qIAg8\",\"version-container\":\"version-container-zdPyN\",\"types-container\":\"types-container-DaOrg\",\"description-container\":\"description-container-v7Jhe\",\"buttons-container\":\"buttons-container-g0xXr\",\"action-buttons-container\":\"action-buttons-container-xMVmz\",\"configure-button-container\":\"configure-button-container-VwVAQ\",\"install-button-container\":\"install-button-container-yfcq5\",\"share-button-container\":\"share-button-container-s3gwP\",\"uninstall-button-container\":\"uninstall-button-container-oV4Yo\",\"label\":\"label-OnWh2\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"addons-container\":\"addons-container-ogGYu\",\"addons-content\":\"addons-content-zhFBl\",\"selectable-inputs-container\":\"selectable-inputs-container-tUul1\",\"add-button-container\":\"add-button-container-SkafT\",\"icon\":\"icon-HsyZS\",\"add-button-label\":\"add-button-label-NN6bu\",\"select-input-container\":\"select-input-container-KqG8N\",\"spacing\":\"spacing-wH1w5\",\"search-bar\":\"search-bar-k7MXd\",\"filter-button\":\"filter-button-lLJ1X\",\"filter-icon\":\"filter-icon-LUDTS\",\"message-container\":\"message-container-GBw0P\",\"addons-list-container\":\"addons-list-container-Ovr2Z\",\"addon\":\"addon-whmdO\",\"filters-modal\":\"filters-modal-w6oWY\",\"add-addon-modal-container\":\"add-addon-modal-container-KR5ny\",\"notice\":\"notice-UQkO1\",\"addon-url-input\":\"addon-url-input-ucetZ\",\"cancel-button\":\"cancel-button-R2AxR\",\"share-modal-container\":\"share-modal-container-DkzPM\",\"title-container\":\"title-container-La49g\",\"logo\":\"logo-PmYDP\",\"name-container\":\"name-container-m_Sz0\",\"name\":\"name-YD0xd\",\"version\":\"version-wuAFB\",\"share-prompt-container\":\"share-prompt-container-vaK4P\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"board-container\":\"board-container-DTN_b\",\"board-content-container\":\"board-content-container-ToQTz\",\"board-content\":\"board-content-nPWv1\",\"board-row\":\"board-row-CoJrZ\",\"board-warning-container\":\"board-warning-container-a4m04\",\"board-row-landscape\":\"board-row-landscape-FRGXx\",\"board-row-poster\":\"board-row-poster-QPQqC\",\"board-row-square\":\"board-row-square-pgaZ3\",\"continue-watching-row\":\"continue-watching-row-ZiNSa\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"discover-container\":\"discover-container-L6OGL\",\"discover-content\":\"discover-content-CRsRg\",\"catalog-container\":\"catalog-container-VNK_T\",\"selectable-inputs-container\":\"selectable-inputs-container-IRz50\",\"select-input\":\"select-input-CHDbe\",\"filter-container\":\"filter-container-BVkqT\",\"filter-icon\":\"filter-icon-zlFnX\",\"missing-addon-warning-container\":\"missing-addon-warning-container-IXGuv\",\"warning-label\":\"warning-label-f19Jg\",\"install-button\":\"install-button-SmJe1\",\"label\":\"label-ToW4S\",\"message-container\":\"message-container-Zv9eF\",\"image\":\"image-txC9E\",\"message-label\":\"message-label-mRyRX\",\"meta-items-container\":\"meta-items-container-n8vNz\",\"meta-item-placeholder\":\"meta-item-placeholder-wxG4I\",\"poster-container\":\"poster-container-Dch4R\",\"title-bar-container\":\"title-bar-container-dtDnk\",\"title-label\":\"title-label-vHdQd\",\"meta-preview-container\":\"meta-preview-container-CoWs5\",\"selectable-inputs-modal\":\"selectable-inputs-modal-ChpOa\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"consent-checkbox-container\":\"consent-checkbox-container-WV60T\",\"label\":\"label-l3LSw\",\"link\":\"link-UppYg\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"password-reset-modal-container\":\"password-reset-modal-container-KzJPQ\",\"credentials-text-input\":\"credentials-text-input-ncrIR\",\"error-message\":\"error-message-DkekN\",\"cancel-button\":\"cancel-button-AneJE\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"intro-container\":\"intro-container-tkNS6\",\"background-container\":\"background-container-aYKCH\",\"heading-container\":\"heading-container-oI70m\",\"logo-container\":\"logo-container-W49kt\",\"logo\":\"logo-WJ36F\",\"slogan-container\":\"slogan-container-UlcYd\",\"title-container\":\"title-container-CbIkM\",\"content-container\":\"content-container-A1Drn\",\"form-button\":\"form-button-vyqqj\",\"icon\":\"icon-L_6b6\",\"label\":\"label-uHD7L\",\"guest-login-button\":\"guest-login-button-D8DWZ\",\"login-form-button\":\"login-form-button-DqJUV\",\"signup-form-button\":\"signup-form-button-UGmSk\",\"submit-button\":\"submit-button-x3L8z\",\"form-container\":\"form-container-HMlEh\",\"credentials-text-input\":\"credentials-text-input-QMCZz\",\"forgot-password-link-container\":\"forgot-password-link-container-ygZqb\",\"forgot-password-link\":\"forgot-password-link-NxNUD\",\"error-message\":\"error-message-cKdzB\",\"options-container\":\"options-container-qxboQ\",\"facebook-button\":\"facebook-button-LZ_kG\",\"loading-modal-container\":\"loading-modal-container-eLyTm\",\"loader-container\":\"loader-container-oe8rU\",\"flash\":\"flash-wUFXY\",\"button\":\"button-ryGtP\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"library-container\":\"library-container-zM_bj\",\"library-content\":\"library-content-PgX4O\",\"selectable-inputs-container\":\"selectable-inputs-container-hR3or\",\"select-input-container\":\"select-input-container-H1VZ1\",\"message-container\":\"message-container-MhY5t\",\"no-user-message-container\":\"no-user-message-container-KMLpE\",\"login-button-container\":\"login-button-container-RoEh7\",\"label\":\"label-QqYmf\",\"image\":\"image-csRHm\",\"message-label\":\"message-label-UExl3\",\"meta-items-container\":\"meta-items-container-IKrND\",\"selectable-inputs-modal\":\"selectable-inputs-modal-rHlo7\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"stream-placeholder-container\":\"stream-placeholder-container-T1nxv\",\"addon-container\":\"addon-container-pm1P0\",\"addon-name\":\"addon-name-zAOKP\",\"info-container\":\"info-container-Z1Dl6\",\"description-container\":\"description-container-ZOMcn\",\"play-icon\":\"play-icon-MXqj3\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"stream-container\":\"stream-container-JPdah\",\"icon\":\"icon-rAZvO\",\"info-container\":\"info-container-TihQo\",\"thumbnail\":\"thumbnail-whoms\",\"placeholder-icon\":\"placeholder-icon-znYz0\",\"addon-name\":\"addon-name-tC8PX\",\"progress-bar-container\":\"progress-bar-container-ADRp_\",\"progress-bar\":\"progress-bar-XrEBL\",\"progress-bar-background\":\"progress-bar-background-HueVQ\",\"description-container\":\"description-container-vW_De\",\"context-menu-content\":\"context-menu-content-Xe_lN\",\"context-menu-option-container\":\"context-menu-option-container-BZGla\",\"context-menu-option-label\":\"context-menu-option-label-EbNNz\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"streams-list-container\":\"streams-list-container-xYMJo\",\"message-container\":\"message-container-f9_L4\",\"image\":\"image-rIyu6\",\"label\":\"label-luvnO\",\"addons-loading-container\":\"addons-loading-container-Vkwp3\",\"addons-loading\":\"addons-loading-zhdQr\",\"addons-loading-bar\":\"addons-loading-bar-MqT59\",\"select-choices-wrapper\":\"select-choices-wrapper-xGzfs\",\"back-button-container\":\"back-button-container-cJ4bk\",\"icon\":\"icon-SoFgF\",\"episode-title\":\"episode-title-dln_c\",\"select-input-container\":\"select-input-container-irGn_\",\"streams-container\":\"streams-container-bbSc4\",\"install-button-container\":\"install-button-container-Q60yJ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"seasons-bar-placeholder-container\":\"seasons-bar-placeholder-container-M81RN\",\"next-season-button\":\"next-season-button-oGnlT\",\"prev-season-button\":\"prev-season-button-TCbOq\",\"icon\":\"icon-UzQjF\",\"label\":\"label-lmBnj\",\"seasons-popup-label-container\":\"seasons-popup-label-container-r2UDB\",\"seasons-popup-label\":\"seasons-popup-label-xBinL\",\"seasons-popup-icon\":\"seasons-popup-icon-p1T5d\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"seasons-bar-container\":\"seasons-bar-container-nOZjG\",\"next-season-button\":\"next-season-button-RrYAq\",\"prev-season-button\":\"prev-season-button-bs1GQ\",\"disabled\":\"disabled-WJy2x\",\"label\":\"label-uJbfD\",\"icon\":\"icon-_ZBEE\",\"seasons-popup-label-container\":\"seasons-popup-label-container-fZcu4\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"video-placeholder-container\":\"video-placeholder-container-uDsav\",\"info-container\":\"info-container-KTKtT\",\"name-container\":\"name-container-Jvesr\",\"released-container\":\"released-container-uoc4E\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"video-container\":\"video-container-UBBpR\",\"thumbnail-container\":\"thumbnail-container-n_jp7\",\"thumbnail\":\"thumbnail-MiS3K\",\"placeholder-icon\":\"placeholder-icon-LzVIO\",\"progress-bar-container\":\"progress-bar-container-gMpiB\",\"progress-bar\":\"progress-bar-Yhl4z\",\"progress-bar-background\":\"progress-bar-background-briMe\",\"info-container\":\"info-container-szYxP\",\"title-container\":\"title-container-EMXpV\",\"flex-row-container\":\"flex-row-container-ExEua\",\"released-container\":\"released-container-zA91y\",\"upcoming-watched-container\":\"upcoming-watched-container-y_ijd\",\"upcoming-container\":\"upcoming-container-ASE1L\",\"watched-container\":\"watched-container-LCso2\",\"flag-icon\":\"flag-icon-IJVCW\",\"flag-label\":\"flag-label-dIdBb\",\"context-menu-content\":\"context-menu-content-MGBhW\",\"context-menu-option-container\":\"context-menu-option-container-VlNjD\",\"context-menu-option-label\":\"context-menu-option-label-hOUnH\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"videos-list-container\":\"videos-list-container-NepX5\",\"message-container\":\"message-container-_hhmQ\",\"image\":\"image-_xAbP\",\"label\":\"label-Ff1_X\",\"notifications-checkbox\":\"notifications-checkbox-E2l5g\",\"seasons-bar\":\"seasons-bar-Ma8vp\",\"search-bar\":\"search-bar-mZHWa\",\"videos-container\":\"videos-container-msX8s\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"metadetails-container\":\"metadetails-container-K_Dqa\",\"nav-bar\":\"nav-bar-MH6Vk\",\"metadetails-content\":\"metadetails-content-Uz5EV\",\"vertical-nav-bar\":\"vertical-nav-bar-B39nq\",\"background-image-layer\":\"background-image-layer-wJa90\",\"background-image\":\"background-image-tSjYu\",\"meta-message-container\":\"meta-message-container-MJZN5\",\"image\":\"image-R1LcJ\",\"message-label\":\"message-label-Uz4_P\",\"meta-preview\":\"meta-preview-ES0h3\",\"spacing\":\"spacing-rgIYg\",\"streams-list\":\"streams-list-Y1lCM\",\"videos-list\":\"videos-list-nE0LJ\",\"meta-extension-modal-container\":\"meta-extension-modal-container-gHjqy\",\"meta-extension-modal-iframe\":\"meta-extension-modal-iframe-GGHlm\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"not-found-container\":\"not-found-container-Q1qsP\",\"nav-bar\":\"nav-bar-Eu3_y\",\"not-found-content\":\"not-found-content-z_Eza\",\"not-found-image\":\"not-found-image-Qab4G\",\"not-found-label\":\"not-found-label-mmwyZ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"buffering-loader-container\":\"buffering-loader-container-P7S0m\",\"buffering-loader\":\"buffering-loader-fMSpb\",\"fadeInOut\":\"fadeInOut-WS5RD\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"seek-bar-container\":\"seek-bar-container-JGGTa\",\"label\":\"label-QFbsS\",\"slider\":\"slider-hBDOf\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"volume-slider\":\"volume-slider-G_xAt\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"control-bar-container\":\"control-bar-container-xsWA7\",\"seek-bar\":\"seek-bar-I7WeY\",\"control-bar-buttons-container\":\"control-bar-buttons-container-SWhkU\",\"control-bar-button\":\"control-bar-button-FQUsj\",\"icon\":\"icon-qy6I6\",\"volume-slider\":\"volume-slider-U9jfo\",\"spacing\":\"spacing-p8NJQ\",\"control-bar-buttons-menu-button\":\"control-bar-buttons-menu-button-h0MWd\",\"control-bar-buttons-menu-container\":\"control-bar-buttons-menu-container-M6L0_\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"error\":\"error-ty_iB\",\"error-label\":\"error-label-lyLDv\",\"error-sub\":\"error-sub-rdwAf\",\"playlist-button\":\"playlist-button-tZTCo\",\"icon\":\"icon-fIGRf\",\"label\":\"label-Z7jSJ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"info-menu-container\":\"info-menu-container-R1QKH\",\"stream\":\"stream-MY2Oy\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"next-video-popup-container\":\"next-video-popup-container-H4wnL\",\"slide-fade-in\":\"slide-fade-in-rk2M8\",\"poster-container\":\"poster-container-tXZjA\",\"poster-image\":\"poster-image-2D6wg\",\"placeholder-icon\":\"placeholder-icon-fu1rK\",\"info-container\":\"info-container-KLOMx\",\"details-container\":\"details-container-bUOTZ\",\"name\":\"name-sIiDL\",\"label\":\"label-zOq_w\",\"title\":\"title-Z5Kgo\",\"description\":\"description-gIXiC\",\"buttons-container\":\"buttons-container-iYrpZ\",\"spacing\":\"spacing-iFwsN\",\"button-container\":\"button-container-i4F7t\",\"play-button\":\"play-button-Dluk6\",\"icon\":\"icon-N3Ewm\",\"dismiss\":\"dismiss-IvEL_\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"option-container\":\"option-container-m_jZq\",\"icon\":\"icon-krR0X\",\"label\":\"label-cmqqu\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"options-menu-container\":\"options-menu-container-qlzLt\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"option\":\"option-_O96j\",\"icon\":\"icon-kqaPF\",\"label\":\"label-FEOiu\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"speed-menu-container\":\"speed-menu-container-ABjzc\",\"title\":\"title-Hu2Dm\",\"options-container\":\"options-container-DNn3D\",\"option\":\"option-GcPlB\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"statistics-menu-container\":\"statistics-menu-container-DhiHn\",\"title\":\"title-NCwWH\",\"label\":\"label-h6nN_\",\"value\":\"value-E8Ftb\",\"stats\":\"stats-Tr37t\",\"stat\":\"stat-zoq5A\",\"info-hash\":\"info-hash-GT1Cv\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"discrete-input-container\":\"discrete-input-container-CMThy\",\"header\":\"header-n0jWL\",\"input-container\":\"input-container-TNuI2\",\"button-container\":\"button-container-ciSB5\",\"icon\":\"icon-JDltr\",\"option-label\":\"option-label-tjeeT\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"subtitles-menu-container\":\"subtitles-menu-container-PxBRZ\",\"languages-container\":\"languages-container-NS7H9\",\"subtitles-settings-container\":\"subtitles-settings-container-LhRGS\",\"variants-container\":\"variants-container-XglzH\",\"languages-header\":\"languages-header-jGNcK\",\"settings-header\":\"settings-header-eaWnm\",\"variants-header\":\"variants-header-TsVSR\",\"languages-list\":\"languages-list-sxIwI\",\"variants-list\":\"variants-list-yZo6B\",\"language-option\":\"language-option-O1Yr9\",\"variant-option\":\"variant-option-t7_LA\",\"language-label\":\"language-label-FjjqA\",\"variant-label\":\"variant-label-opjnP\",\"icon\":\"icon-I1Ruh\",\"no-variants-container\":\"no-variants-container-q6u1Q\",\"no-variants-label\":\"no-variants-label-RmDKZ\",\"spacing\":\"spacing-AWJpt\",\"discrete-input\":\"discrete-input-fXELp\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"video-container\":\"video-container-v9_vA\",\"video\":\"video-tkpQm\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"videos-menu-container\":\"videos-menu-container-ATzKq\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"volume-change-indicator\":\"volume-change-indicator-EWypD\",\"volume-icon\":\"volume-icon-zn9zT\",\"volume-slider\":\"volume-slider-FKN0X\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"player-container\":\"player-container-wIELK\",\"overlayHidden\":\"overlayHidden-gyjIy\",\"control-bar-layer\":\"control-bar-layer-m2jto\",\"menu-layer\":\"menu-layer-HZFG9\",\"nav-bar-layer\":\"nav-bar-layer-r9HT5\",\"layer\":\"layer-qalDW\",\"buffering-layer\":\"buffering-layer-ZZCYp\",\"error-layer\":\"error-layer-RCEZC\",\"background-layer\":\"background-layer-ldsp8\",\"image\":\"image-XxZuJ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"search-container\":\"search-container-uXEFf\",\"search-content\":\"search-content-LX6un\",\"search-row\":\"search-row-EQLaD\",\"search-hints-wrapper\":\"search-hints-wrapper-IjhmE\",\"search-hints-title-container\":\"search-hints-title-container-MXt8W\",\"search-hints-title\":\"search-hints-title-cigX3\",\"search-hints-container\":\"search-hints-container-FHpPM\",\"search-hint-container\":\"search-hint-container-kd8iX\",\"icon\":\"icon-fOZZl\",\"label\":\"label-l6wxz\",\"message-container\":\"message-container-YAunr\",\"image\":\"image-Xuwya\",\"message-label\":\"message-label-K8LPz\",\"search-row-landscape\":\"search-row-landscape-o3Lfv\",\"search-row-poster\":\"search-row-poster-m7CUE\",\"search-row-square\":\"search-row-square-VesJA\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"settings-container\":\"settings-container-b0DCu\",\"settings-content\":\"settings-content-lLXmk\",\"side-menu-container\":\"side-menu-container-NG17D\",\"side-menu-button\":\"side-menu-button-vbkJ1\",\"selected\":\"selected-yhdng\",\"spacing\":\"spacing-fpLUM\",\"version-info-label\":\"version-info-label-uMkm7\",\"sections-container\":\"sections-container-EUKAe\",\"section-container\":\"section-container-twzKQ\",\"section-title\":\"section-title-Nt71Z\",\"section-category-container\":\"section-category-container-EOuS0\",\"label\":\"label-FFamJ\",\"icon\":\"icon-REQkK\",\"option-container\":\"option-container-EGlcv\",\"link-container\":\"link-container-ERYsD\",\"user-info-option-container\":\"user-info-option-container-oRLJc\",\"user-info-content\":\"user-info-content-ez7kZ\",\"avatar-container\":\"avatar-container-YWq9E\",\"email-logout-container\":\"email-logout-container-kYQDM\",\"email-label-container\":\"email-label-container-oVmiO\",\"logout-button-container\":\"logout-button-container-jLrU2\",\"email-label\":\"email-label-Q__sJ\",\"logout-label\":\"logout-label-zo4ES\",\"user-panel-container\":\"user-panel-container-kkrJG\",\"user-panel-label\":\"user-panel-label-beAQl\",\"option-input-container\":\"option-input-container-NPgpT\",\"option-name-container\":\"option-name-container-exGMI\",\"trakt-icon\":\"trakt-icon-_dK95\",\"button-container\":\"button-container-ENMae\",\"multiselect-container\":\"multiselect-container-w0c9l\",\"link-input-container\":\"link-input-container-TCi0w\",\"checkbox-container\":\"checkbox-container-R9LLN\",\"color-input-container\":\"color-input-container-WclA_\",\"info-container\":\"info-container-wfFcS\",\"selectable\":\"selectable-eucrJ\",\"configure-input-container\":\"configure-input-container-PMyIY\",\"configure-button-container\":\"configure-button-container-xGFgg\",\"shortcut-container\":\"shortcut-container-ZSm5O\",\"versions-section-container\":\"versions-section-container-LRCVQ\",\"configure-server-url-modal-container\":\"configure-server-url-modal-container-vSL44\",\"server-url-input\":\"server-url-input-Dfazw\",\"cancel-button\":\"cancel-button-iydew\"};","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/*! https://mths.be/punycode v1.3.2 by @mathias */\n;(function(root) {\n\n\t/** Detect free variables */\n\tvar freeExports = typeof exports == 'object' && exports &&\n\t\t!exports.nodeType && exports;\n\tvar freeModule = typeof module == 'object' && module &&\n\t\t!module.nodeType && module;\n\tvar freeGlobal = typeof global == 'object' && global;\n\tif (\n\t\tfreeGlobal.global === freeGlobal ||\n\t\tfreeGlobal.window === freeGlobal ||\n\t\tfreeGlobal.self === freeGlobal\n\t) {\n\t\troot = freeGlobal;\n\t}\n\n\t/**\n\t * The `punycode` object.\n\t * @name punycode\n\t * @type Object\n\t */\n\tvar punycode,\n\n\t/** Highest positive signed 32-bit float value */\n\tmaxInt = 2147483647, // aka. 0x7FFFFFFF or 2^31-1\n\n\t/** Bootstring parameters */\n\tbase = 36,\n\ttMin = 1,\n\ttMax = 26,\n\tskew = 38,\n\tdamp = 700,\n\tinitialBias = 72,\n\tinitialN = 128, // 0x80\n\tdelimiter = '-', // '\\x2D'\n\n\t/** Regular expressions */\n\tregexPunycode = /^xn--/,\n\tregexNonASCII = /[^\\x20-\\x7E]/, // unprintable ASCII chars + non-ASCII chars\n\tregexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g, // RFC 3490 separators\n\n\t/** Error messages */\n\terrors = {\n\t\t'overflow': 'Overflow: input needs wider integers to process',\n\t\t'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\n\t\t'invalid-input': 'Invalid input'\n\t},\n\n\t/** Convenience shortcuts */\n\tbaseMinusTMin = base - tMin,\n\tfloor = Math.floor,\n\tstringFromCharCode = String.fromCharCode,\n\n\t/** Temporary variable */\n\tkey;\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/**\n\t * A generic error utility function.\n\t * @private\n\t * @param {String} type The error type.\n\t * @returns {Error} Throws a `RangeError` with the applicable error message.\n\t */\n\tfunction error(type) {\n\t\tthrow RangeError(errors[type]);\n\t}\n\n\t/**\n\t * A generic `Array#map` utility function.\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} callback The function that gets called for every array\n\t * item.\n\t * @returns {Array} A new array of values returned by the callback function.\n\t */\n\tfunction map(array, fn) {\n\t\tvar length = array.length;\n\t\tvar result = [];\n\t\twhile (length--) {\n\t\t\tresult[length] = fn(array[length]);\n\t\t}\n\t\treturn result;\n\t}\n\n\t/**\n\t * A simple `Array#map`-like wrapper to work with domain name strings or email\n\t * addresses.\n\t * @private\n\t * @param {String} domain The domain name or email address.\n\t * @param {Function} callback The function that gets called for every\n\t * character.\n\t * @returns {Array} A new string of characters returned by the callback\n\t * function.\n\t */\n\tfunction mapDomain(string, fn) {\n\t\tvar parts = string.split('@');\n\t\tvar result = '';\n\t\tif (parts.length > 1) {\n\t\t\t// In email addresses, only the domain name should be punycoded. Leave\n\t\t\t// the local part (i.e. everything up to `@`) intact.\n\t\t\tresult = parts[0] + '@';\n\t\t\tstring = parts[1];\n\t\t}\n\t\t// Avoid `split(regex)` for IE8 compatibility. See #17.\n\t\tstring = string.replace(regexSeparators, '\\x2E');\n\t\tvar labels = string.split('.');\n\t\tvar encoded = map(labels, fn).join('.');\n\t\treturn result + encoded;\n\t}\n\n\t/**\n\t * Creates an array containing the numeric code points of each Unicode\n\t * character in the string. While JavaScript uses UCS-2 internally,\n\t * this function will convert a pair of surrogate halves (each of which\n\t * UCS-2 exposes as separate characters) into a single code point,\n\t * matching UTF-16.\n\t * @see `punycode.ucs2.encode`\n\t * @see <https://mathiasbynens.be/notes/javascript-encoding>\n\t * @memberOf punycode.ucs2\n\t * @name decode\n\t * @param {String} string The Unicode input string (UCS-2).\n\t * @returns {Array} The new array of code points.\n\t */\n\tfunction ucs2decode(string) {\n\t\tvar output = [],\n\t\t counter = 0,\n\t\t length = string.length,\n\t\t value,\n\t\t extra;\n\t\twhile (counter < length) {\n\t\t\tvalue = string.charCodeAt(counter++);\n\t\t\tif (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n\t\t\t\t// high surrogate, and there is a next character\n\t\t\t\textra = string.charCodeAt(counter++);\n\t\t\t\tif ((extra & 0xFC00) == 0xDC00) { // low surrogate\n\t\t\t\t\toutput.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n\t\t\t\t} else {\n\t\t\t\t\t// unmatched surrogate; only append this code unit, in case the next\n\t\t\t\t\t// code unit is the high surrogate of a surrogate pair\n\t\t\t\t\toutput.push(value);\n\t\t\t\t\tcounter--;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\toutput.push(value);\n\t\t\t}\n\t\t}\n\t\treturn output;\n\t}\n\n\t/**\n\t * Creates a string based on an array of numeric code points.\n\t * @see `punycode.ucs2.decode`\n\t * @memberOf punycode.ucs2\n\t * @name encode\n\t * @param {Array} codePoints The array of numeric code points.\n\t * @returns {String} The new Unicode string (UCS-2).\n\t */\n\tfunction ucs2encode(array) {\n\t\treturn map(array, function(value) {\n\t\t\tvar output = '';\n\t\t\tif (value > 0xFFFF) {\n\t\t\t\tvalue -= 0x10000;\n\t\t\t\toutput += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800);\n\t\t\t\tvalue = 0xDC00 | value & 0x3FF;\n\t\t\t}\n\t\t\toutput += stringFromCharCode(value);\n\t\t\treturn output;\n\t\t}).join('');\n\t}\n\n\t/**\n\t * Converts a basic code point into a digit/integer.\n\t * @see `digitToBasic()`\n\t * @private\n\t * @param {Number} codePoint The basic numeric code point value.\n\t * @returns {Number} The numeric value of a basic code point (for use in\n\t * representing integers) in the range `0` to `base - 1`, or `base` if\n\t * the code point does not represent a value.\n\t */\n\tfunction basicToDigit(codePoint) {\n\t\tif (codePoint - 48 < 10) {\n\t\t\treturn codePoint - 22;\n\t\t}\n\t\tif (codePoint - 65 < 26) {\n\t\t\treturn codePoint - 65;\n\t\t}\n\t\tif (codePoint - 97 < 26) {\n\t\t\treturn codePoint - 97;\n\t\t}\n\t\treturn base;\n\t}\n\n\t/**\n\t * Converts a digit/integer into a basic code point.\n\t * @see `basicToDigit()`\n\t * @private\n\t * @param {Number} digit The numeric value of a basic code point.\n\t * @returns {Number} The basic code point whose value (when used for\n\t * representing integers) is `digit`, which needs to be in the range\n\t * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is\n\t * used; else, the lowercase form is used. The behavior is undefined\n\t * if `flag` is non-zero and `digit` has no uppercase form.\n\t */\n\tfunction digitToBasic(digit, flag) {\n\t\t// 0..25 map to ASCII a..z or A..Z\n\t\t// 26..35 map to ASCII 0..9\n\t\treturn digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n\t}\n\n\t/**\n\t * Bias adaptation function as per section 3.4 of RFC 3492.\n\t * http://tools.ietf.org/html/rfc3492#section-3.4\n\t * @private\n\t */\n\tfunction adapt(delta, numPoints, firstTime) {\n\t\tvar k = 0;\n\t\tdelta = firstTime ? floor(delta / damp) : delta >> 1;\n\t\tdelta += floor(delta / numPoints);\n\t\tfor (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {\n\t\t\tdelta = floor(delta / baseMinusTMin);\n\t\t}\n\t\treturn floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n\t}\n\n\t/**\n\t * Converts a Punycode string of ASCII-only symbols to a string of Unicode\n\t * symbols.\n\t * @memberOf punycode\n\t * @param {String} input The Punycode string of ASCII-only symbols.\n\t * @returns {String} The resulting string of Unicode symbols.\n\t */\n\tfunction decode(input) {\n\t\t// Don't use UCS-2\n\t\tvar output = [],\n\t\t inputLength = input.length,\n\t\t out,\n\t\t i = 0,\n\t\t n = initialN,\n\t\t bias = initialBias,\n\t\t basic,\n\t\t j,\n\t\t index,\n\t\t oldi,\n\t\t w,\n\t\t k,\n\t\t digit,\n\t\t t,\n\t\t /** Cached calculation results */\n\t\t baseMinusT;\n\n\t\t// Handle the basic code points: let `basic` be the number of input code\n\t\t// points before the last delimiter, or `0` if there is none, then copy\n\t\t// the first basic code points to the output.\n\n\t\tbasic = input.lastIndexOf(delimiter);\n\t\tif (basic < 0) {\n\t\t\tbasic = 0;\n\t\t}\n\n\t\tfor (j = 0; j < basic; ++j) {\n\t\t\t// if it's not a basic code point\n\t\t\tif (input.charCodeAt(j) >= 0x80) {\n\t\t\t\terror('not-basic');\n\t\t\t}\n\t\t\toutput.push(input.charCodeAt(j));\n\t\t}\n\n\t\t// Main decoding loop: start just after the last delimiter if any basic code\n\t\t// points were copied; start at the beginning otherwise.\n\n\t\tfor (index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {\n\n\t\t\t// `index` is the index of the next character to be consumed.\n\t\t\t// Decode a generalized variable-length integer into `delta`,\n\t\t\t// which gets added to `i`. The overflow checking is easier\n\t\t\t// if we increase `i` as we go, then subtract off its starting\n\t\t\t// value at the end to obtain `delta`.\n\t\t\tfor (oldi = i, w = 1, k = base; /* no condition */; k += base) {\n\n\t\t\t\tif (index >= inputLength) {\n\t\t\t\t\terror('invalid-input');\n\t\t\t\t}\n\n\t\t\t\tdigit = basicToDigit(input.charCodeAt(index++));\n\n\t\t\t\tif (digit >= base || digit > floor((maxInt - i) / w)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\ti += digit * w;\n\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\n\t\t\t\tif (digit < t) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tbaseMinusT = base - t;\n\t\t\t\tif (w > floor(maxInt / baseMinusT)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tw *= baseMinusT;\n\n\t\t\t}\n\n\t\t\tout = output.length + 1;\n\t\t\tbias = adapt(i - oldi, out, oldi == 0);\n\n\t\t\t// `i` was supposed to wrap around from `out` to `0`,\n\t\t\t// incrementing `n` each time, so we'll fix that now:\n\t\t\tif (floor(i / out) > maxInt - n) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tn += floor(i / out);\n\t\t\ti %= out;\n\n\t\t\t// Insert `n` at position `i` of the output\n\t\t\toutput.splice(i++, 0, n);\n\n\t\t}\n\n\t\treturn ucs2encode(output);\n\t}\n\n\t/**\n\t * Converts a string of Unicode symbols (e.g. a domain name label) to a\n\t * Punycode string of ASCII-only symbols.\n\t * @memberOf punycode\n\t * @param {String} input The string of Unicode symbols.\n\t * @returns {String} The resulting Punycode string of ASCII-only symbols.\n\t */\n\tfunction encode(input) {\n\t\tvar n,\n\t\t delta,\n\t\t handledCPCount,\n\t\t basicLength,\n\t\t bias,\n\t\t j,\n\t\t m,\n\t\t q,\n\t\t k,\n\t\t t,\n\t\t currentValue,\n\t\t output = [],\n\t\t /** `inputLength` will hold the number of code points in `input`. */\n\t\t inputLength,\n\t\t /** Cached calculation results */\n\t\t handledCPCountPlusOne,\n\t\t baseMinusT,\n\t\t qMinusT;\n\n\t\t// Convert the input in UCS-2 to Unicode\n\t\tinput = ucs2decode(input);\n\n\t\t// Cache the length\n\t\tinputLength = input.length;\n\n\t\t// Initialize the state\n\t\tn = initialN;\n\t\tdelta = 0;\n\t\tbias = initialBias;\n\n\t\t// Handle the basic code points\n\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\tcurrentValue = input[j];\n\t\t\tif (currentValue < 0x80) {\n\t\t\t\toutput.push(stringFromCharCode(currentValue));\n\t\t\t}\n\t\t}\n\n\t\thandledCPCount = basicLength = output.length;\n\n\t\t// `handledCPCount` is the number of code points that have been handled;\n\t\t// `basicLength` is the number of basic code points.\n\n\t\t// Finish the basic string - if it is not empty - with a delimiter\n\t\tif (basicLength) {\n\t\t\toutput.push(delimiter);\n\t\t}\n\n\t\t// Main encoding loop:\n\t\twhile (handledCPCount < inputLength) {\n\n\t\t\t// All non-basic code points < n have been handled already. Find the next\n\t\t\t// larger one:\n\t\t\tfor (m = maxInt, j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\t\t\t\tif (currentValue >= n && currentValue < m) {\n\t\t\t\t\tm = currentValue;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Increase `delta` enough to advance the decoder's <n,i> state to <m,0>,\n\t\t\t// but guard against overflow\n\t\t\thandledCPCountPlusOne = handledCPCount + 1;\n\t\t\tif (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tdelta += (m - n) * handledCPCountPlusOne;\n\t\t\tn = m;\n\n\t\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\n\t\t\t\tif (currentValue < n && ++delta > maxInt) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tif (currentValue == n) {\n\t\t\t\t\t// Represent delta as a generalized variable-length integer\n\t\t\t\t\tfor (q = delta, k = base; /* no condition */; k += base) {\n\t\t\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\t\t\t\t\t\tif (q < t) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tqMinusT = q - t;\n\t\t\t\t\t\tbaseMinusT = base - t;\n\t\t\t\t\t\toutput.push(\n\t\t\t\t\t\t\tstringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))\n\t\t\t\t\t\t);\n\t\t\t\t\t\tq = floor(qMinusT / baseMinusT);\n\t\t\t\t\t}\n\n\t\t\t\t\toutput.push(stringFromCharCode(digitToBasic(q, 0)));\n\t\t\t\t\tbias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n\t\t\t\t\tdelta = 0;\n\t\t\t\t\t++handledCPCount;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t++delta;\n\t\t\t++n;\n\n\t\t}\n\t\treturn output.join('');\n\t}\n\n\t/**\n\t * Converts a Punycode string representing a domain name or an email address\n\t * to Unicode. Only the Punycoded parts of the input will be converted, i.e.\n\t * it doesn't matter if you call it on a string that has already been\n\t * converted to Unicode.\n\t * @memberOf punycode\n\t * @param {String} input The Punycoded domain name or email address to\n\t * convert to Unicode.\n\t * @returns {String} The Unicode representation of the given Punycode\n\t * string.\n\t */\n\tfunction toUnicode(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexPunycode.test(string)\n\t\t\t\t? decode(string.slice(4).toLowerCase())\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/**\n\t * Converts a Unicode string representing a domain name or an email address to\n\t * Punycode. Only the non-ASCII parts of the domain name will be converted,\n\t * i.e. it doesn't matter if you call it with a domain that's already in\n\t * ASCII.\n\t * @memberOf punycode\n\t * @param {String} input The domain name or email address to convert, as a\n\t * Unicode string.\n\t * @returns {String} The Punycode representation of the given domain name or\n\t * email address.\n\t */\n\tfunction toASCII(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexNonASCII.test(string)\n\t\t\t\t? 'xn--' + encode(string)\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/** Define the public API */\n\tpunycode = {\n\t\t/**\n\t\t * A string representing the current Punycode.js version number.\n\t\t * @memberOf punycode\n\t\t * @type String\n\t\t */\n\t\t'version': '1.3.2',\n\t\t/**\n\t\t * An object of methods to convert from JavaScript's internal character\n\t\t * representation (UCS-2) to Unicode code points, and back.\n\t\t * @see <https://mathiasbynens.be/notes/javascript-encoding>\n\t\t * @memberOf punycode\n\t\t * @type Object\n\t\t */\n\t\t'ucs2': {\n\t\t\t'decode': ucs2decode,\n\t\t\t'encode': ucs2encode\n\t\t},\n\t\t'decode': decode,\n\t\t'encode': encode,\n\t\t'toASCII': toASCII,\n\t\t'toUnicode': toUnicode\n\t};\n\n\t/** Expose `punycode` */\n\t// Some AMD build optimizers, like r.js, check for specific condition patterns\n\t// like the following:\n\tif (\n\t\ttypeof define == 'function' &&\n\t\ttypeof define.amd == 'object' &&\n\t\tdefine.amd\n\t) {\n\t\tdefine('punycode', function() {\n\t\t\treturn punycode;\n\t\t});\n\t} else if (freeExports && freeModule) {\n\t\tif (module.exports == freeExports) { // in Node.js or RingoJS v0.8.0+\n\t\t\tfreeModule.exports = punycode;\n\t\t} else { // in Narwhal or RingoJS v0.7.0-\n\t\t\tfor (key in punycode) {\n\t\t\t\tpunycode.hasOwnProperty(key) && (freeExports[key] = punycode[key]);\n\t\t\t}\n\t\t}\n\t} else { // in Rhino or a web browser\n\t\troot.punycode = punycode;\n\t}\n\n}(this));\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n// If obj.hasOwnProperty has been overridden, then calling\n// obj.hasOwnProperty(prop) will break.\n// See: https://github.com/joyent/node/issues/1707\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nmodule.exports = function(qs, sep, eq, options) {\n sep = sep || '&';\n eq = eq || '=';\n var obj = {};\n\n if (typeof qs !== 'string' || qs.length === 0) {\n return obj;\n }\n\n var regexp = /\\+/g;\n qs = qs.split(sep);\n\n var maxKeys = 1000;\n if (options && typeof options.maxKeys === 'number') {\n maxKeys = options.maxKeys;\n }\n\n var len = qs.length;\n // maxKeys <= 0 means that we should not limit keys count\n if (maxKeys > 0 && len > maxKeys) {\n len = maxKeys;\n }\n\n for (var i = 0; i < len; ++i) {\n var x = qs[i].replace(regexp, '%20'),\n idx = x.indexOf(eq),\n kstr, vstr, k, v;\n\n if (idx >= 0) {\n kstr = x.substr(0, idx);\n vstr = x.substr(idx + 1);\n } else {\n kstr = x;\n vstr = '';\n }\n\n k = decodeURIComponent(kstr);\n v = decodeURIComponent(vstr);\n\n if (!hasOwnProperty(obj, k)) {\n obj[k] = v;\n } else if (Array.isArray(obj[k])) {\n obj[k].push(v);\n } else {\n obj[k] = [obj[k], v];\n }\n }\n\n return obj;\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar stringifyPrimitive = function(v) {\n switch (typeof v) {\n case 'string':\n return v;\n\n case 'boolean':\n return v ? 'true' : 'false';\n\n case 'number':\n return isFinite(v) ? v : '';\n\n default:\n return '';\n }\n};\n\nmodule.exports = function(obj, sep, eq, name) {\n sep = sep || '&';\n eq = eq || '=';\n if (obj === null) {\n obj = undefined;\n }\n\n if (typeof obj === 'object') {\n return Object.keys(obj).map(function(k) {\n var ks = encodeURIComponent(stringifyPrimitive(k)) + eq;\n if (Array.isArray(obj[k])) {\n return obj[k].map(function(v) {\n return ks + encodeURIComponent(stringifyPrimitive(v));\n }).join(sep);\n } else {\n return ks + encodeURIComponent(stringifyPrimitive(obj[k]));\n }\n }).join(sep);\n\n }\n\n if (!name) return '';\n return encodeURIComponent(stringifyPrimitive(name)) + eq +\n encodeURIComponent(stringifyPrimitive(obj));\n};\n","'use strict';\n\nexports.decode = exports.parse = require('./decode');\nexports.encode = exports.stringify = require('./encode');\n","/**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),ca=require(\"scheduler\");function p(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c<arguments.length;c++)b+=\"&args[]=\"+encodeURIComponent(arguments[c]);return\"Minified React error #\"+a+\"; visit \"+b+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}var da=new Set,ea={};function fa(a,b){ha(a,b);ha(a+\"Capture\",b)}\nfunction ha(a,b){ea[a]=b;for(a=0;a<b.length;a++)da.add(b[a])}\nvar ia=!(\"undefined\"===typeof window||\"undefined\"===typeof window.document||\"undefined\"===typeof window.document.createElement),ja=Object.prototype.hasOwnProperty,ka=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,la=\n{},ma={};function oa(a){if(ja.call(ma,a))return!0;if(ja.call(la,a))return!1;if(ka.test(a))return ma[a]=!0;la[a]=!0;return!1}function pa(a,b,c,d){if(null!==c&&0===c.type)return!1;switch(typeof b){case \"function\":case \"symbol\":return!0;case \"boolean\":if(d)return!1;if(null!==c)return!c.acceptsBooleans;a=a.toLowerCase().slice(0,5);return\"data-\"!==a&&\"aria-\"!==a;default:return!1}}\nfunction qa(a,b,c,d){if(null===b||\"undefined\"===typeof b||pa(a,b,c,d))return!0;if(d)return!1;if(null!==c)switch(c.type){case 3:return!b;case 4:return!1===b;case 5:return isNaN(b);case 6:return isNaN(b)||1>b}return!1}function v(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var z={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){z[a]=new v(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];z[b]=new v(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){z[a]=new v(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){z[a]=new v(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){z[a]=new v(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){z[a]=new v(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){z[a]=new v(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){z[a]=new v(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){z[a]=new v(a,5,!1,a.toLowerCase(),null,!1,!1)});var ra=/[\\-:]([a-z])/g;function sa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(ra,\nsa);z[b]=new v(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!1,!1)});\nz.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction ta(a,b,c,d){var e=z.hasOwnProperty(b)?z[b]:null;if(null!==e?0!==e.type:d||!(2<b.length)||\"o\"!==b[0]&&\"O\"!==b[0]||\"n\"!==b[1]&&\"N\"!==b[1])qa(b,c,e,d)&&(c=null),d||null===e?oa(b)&&(null===c?a.removeAttribute(b):a.setAttribute(b,\"\"+c)):e.mustUseProperty?a[e.propertyName]=null===c?3===e.type?!1:\"\":c:(b=e.attributeName,d=e.attributeNamespace,null===c?a.removeAttribute(b):(e=e.type,c=3===e||4===e&&!0===c?\"\":\"\"+c,d?a.setAttributeNS(d,b,c):a.setAttribute(b,c)))}\nvar ua=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,va=Symbol.for(\"react.element\"),wa=Symbol.for(\"react.portal\"),ya=Symbol.for(\"react.fragment\"),za=Symbol.for(\"react.strict_mode\"),Aa=Symbol.for(\"react.profiler\"),Ba=Symbol.for(\"react.provider\"),Ca=Symbol.for(\"react.context\"),Da=Symbol.for(\"react.forward_ref\"),Ea=Symbol.for(\"react.suspense\"),Fa=Symbol.for(\"react.suspense_list\"),Ga=Symbol.for(\"react.memo\"),Ha=Symbol.for(\"react.lazy\");Symbol.for(\"react.scope\");Symbol.for(\"react.debug_trace_mode\");\nvar Ia=Symbol.for(\"react.offscreen\");Symbol.for(\"react.legacy_hidden\");Symbol.for(\"react.cache\");Symbol.for(\"react.tracing_marker\");var Ja=Symbol.iterator;function Ka(a){if(null===a||\"object\"!==typeof a)return null;a=Ja&&a[Ja]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}var A=Object.assign,La;function Ma(a){if(void 0===La)try{throw Error();}catch(c){var b=c.stack.trim().match(/\\n( *(at )?)/);La=b&&b[1]||\"\"}return\"\\n\"+La+a}var Na=!1;\nfunction Oa(a,b){if(!a||Na)return\"\";Na=!0;var c=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(b)if(b=function(){throw Error();},Object.defineProperty(b.prototype,\"props\",{set:function(){throw Error();}}),\"object\"===typeof Reflect&&Reflect.construct){try{Reflect.construct(b,[])}catch(l){var d=l}Reflect.construct(a,[],b)}else{try{b.call()}catch(l){d=l}a.call(b.prototype)}else{try{throw Error();}catch(l){d=l}a()}}catch(l){if(l&&d&&\"string\"===typeof l.stack){for(var e=l.stack.split(\"\\n\"),\nf=d.stack.split(\"\\n\"),g=e.length-1,h=f.length-1;1<=g&&0<=h&&e[g]!==f[h];)h--;for(;1<=g&&0<=h;g--,h--)if(e[g]!==f[h]){if(1!==g||1!==h){do if(g--,h--,0>h||e[g]!==f[h]){var k=\"\\n\"+e[g].replace(\" at new \",\" at \");a.displayName&&k.includes(\"<anonymous>\")&&(k=k.replace(\"<anonymous>\",a.displayName));return k}while(1<=g&&0<=h)}break}}}finally{Na=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Ma(a):\"\"}\nfunction Pa(a){switch(a.tag){case 5:return Ma(a.type);case 16:return Ma(\"Lazy\");case 13:return Ma(\"Suspense\");case 19:return Ma(\"SuspenseList\");case 0:case 2:case 15:return a=Oa(a.type,!1),a;case 11:return a=Oa(a.type.render,!1),a;case 1:return a=Oa(a.type,!0),a;default:return\"\"}}\nfunction Qa(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ya:return\"Fragment\";case wa:return\"Portal\";case Aa:return\"Profiler\";case za:return\"StrictMode\";case Ea:return\"Suspense\";case Fa:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case Ca:return(a.displayName||\"Context\")+\".Consumer\";case Ba:return(a._context.displayName||\"Context\")+\".Provider\";case Da:var b=a.render;a=a.displayName;a||(a=b.displayName||\nb.name||\"\",a=\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");return a;case Ga:return b=a.displayName||null,null!==b?b:Qa(a.type)||\"Memo\";case Ha:b=a._payload;a=a._init;try{return Qa(a(b))}catch(c){}}return null}\nfunction Ra(a){var b=a.type;switch(a.tag){case 24:return\"Cache\";case 9:return(b.displayName||\"Context\")+\".Consumer\";case 10:return(b._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return a=b.render,a=a.displayName||a.name||\"\",b.displayName||(\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return b;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Qa(b);case 8:return b===za?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";\ncase 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"===typeof b)return b.displayName||b.name||null;if(\"string\"===typeof b)return b}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"string\":case \"undefined\":return a;case \"object\":return a;default:return\"\"}}\nfunction Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return A({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function ab(a,b){b=b.checked;null!=b&&ta(a,\"checked\",b,!1)}\nfunction bb(a,b){ab(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?cb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&cb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction db(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction cb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}var eb=Array.isArray;\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e<c.length;e++)b[\"$\"+c[e]]=!0;for(c=0;c<a.length;c++)e=b.hasOwnProperty(\"$\"+a[c].value),a[c].selected!==e&&(a[c].selected=e),e&&d&&(a[c].defaultSelected=!0)}else{c=\"\"+Sa(c);b=null;for(e=0;e<a.length;e++){if(a[e].value===c){a[e].selected=!0;d&&(a[e].defaultSelected=!0);return}null!==b||a[e].disabled||(b=a[e])}null!==b&&(b.selected=!0)}}\nfunction gb(a,b){if(null!=b.dangerouslySetInnerHTML)throw Error(p(91));return A({},b,{value:void 0,defaultValue:void 0,children:\"\"+a._wrapperState.initialValue})}function hb(a,b){var c=b.value;if(null==c){c=b.children;b=b.defaultValue;if(null!=c){if(null!=b)throw Error(p(92));if(eb(c)){if(1<c.length)throw Error(p(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:Sa(c)}}\nfunction ib(a,b){var c=Sa(b.value),d=Sa(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function jb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}function kb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}\nfunction lb(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?kb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar mb,nb=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(\"http://www.w3.org/2000/svg\"!==a.namespaceURI||\"innerHTML\"in a)a.innerHTML=b;else{mb=mb||document.createElement(\"div\");mb.innerHTML=\"<svg>\"+b.valueOf().toString()+\"</svg>\";for(b=mb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction ob(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar pb={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,\nzoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(pb).forEach(function(a){qb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);pb[b]=pb[a]})});function rb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||pb.hasOwnProperty(a)&&pb[a]?(\"\"+b).trim():b+\"px\"}\nfunction sb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=rb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var tb=A({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction ub(a,b){if(b){if(tb[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(p(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(p(60));if(\"object\"!==typeof b.dangerouslySetInnerHTML||!(\"__html\"in b.dangerouslySetInnerHTML))throw Error(p(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(p(62));}}\nfunction vb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}var wb=null;function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(p(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;a<b.length;a++)Bb(b[a])}}function Gb(a,b){return a(b)}function Hb(){}var Ib=!1;function Jb(a,b,c){if(Ib)return a(b,c);Ib=!0;try{return Gb(a,b,c)}finally{if(Ib=!1,null!==zb||null!==Ab)Hb(),Fb()}}\nfunction Kb(a,b){var c=a.stateNode;if(null===c)return null;var d=Db(c);if(null===d)return null;c=d[b];a:switch(b){case \"onClick\":case \"onClickCapture\":case \"onDoubleClick\":case \"onDoubleClickCapture\":case \"onMouseDown\":case \"onMouseDownCapture\":case \"onMouseMove\":case \"onMouseMoveCapture\":case \"onMouseUp\":case \"onMouseUpCapture\":case \"onMouseEnter\":(d=!d.disabled)||(a=a.type,d=!(\"button\"===a||\"input\"===a||\"select\"===a||\"textarea\"===a));a=!d;break a;default:a=!1}if(a)return null;if(c&&\"function\"!==\ntypeof c)throw Error(p(231,b,typeof c));return c}var Lb=!1;if(ia)try{var Mb={};Object.defineProperty(Mb,\"passive\",{get:function(){Lb=!0}});window.addEventListener(\"test\",Mb,Mb);window.removeEventListener(\"test\",Mb,Mb)}catch(a){Lb=!1}function Nb(a,b,c,d,e,f,g,h,k){var l=Array.prototype.slice.call(arguments,3);try{b.apply(c,l)}catch(m){this.onError(m)}}var Ob=!1,Pb=null,Qb=!1,Rb=null,Sb={onError:function(a){Ob=!0;Pb=a}};function Tb(a,b,c,d,e,f,g,h,k){Ob=!1;Pb=null;Nb.apply(Sb,arguments)}\nfunction Ub(a,b,c,d,e,f,g,h,k){Tb.apply(this,arguments);if(Ob){if(Ob){var l=Pb;Ob=!1;Pb=null}else throw Error(p(198));Qb||(Qb=!0,Rb=l)}}function Vb(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else{a=b;do b=a,0!==(b.flags&4098)&&(c=b.return),a=b.return;while(a)}return 3===b.tag?c:null}function Wb(a){if(13===a.tag){var b=a.memoizedState;null===b&&(a=a.alternate,null!==a&&(b=a.memoizedState));if(null!==b)return b.dehydrated}return null}function Xb(a){if(Vb(a)!==a)throw Error(p(188));}\nfunction Yb(a){var b=a.alternate;if(!b){b=Vb(a);if(null===b)throw Error(p(188));return b!==a?null:a}for(var c=a,d=b;;){var e=c.return;if(null===e)break;var f=e.alternate;if(null===f){d=e.return;if(null!==d){c=d;continue}break}if(e.child===f.child){for(f=e.child;f;){if(f===c)return Xb(e),a;if(f===d)return Xb(e),b;f=f.sibling}throw Error(p(188));}if(c.return!==d.return)c=e,d=f;else{for(var g=!1,h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===\nc){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}if(!g)throw Error(p(189));}}if(c.alternate!==d)throw Error(p(190));}if(3!==c.tag)throw Error(p(188));return c.stateNode.current===c?a:b}function Zb(a){a=Yb(a);return null!==a?$b(a):null}function $b(a){if(5===a.tag||6===a.tag)return a;for(a=a.child;null!==a;){var b=$b(a);if(null!==b)return b;a=a.sibling}return null}\nvar ac=ca.unstable_scheduleCallback,bc=ca.unstable_cancelCallback,cc=ca.unstable_shouldYield,dc=ca.unstable_requestPaint,B=ca.unstable_now,ec=ca.unstable_getCurrentPriorityLevel,fc=ca.unstable_ImmediatePriority,gc=ca.unstable_UserBlockingPriority,hc=ca.unstable_NormalPriority,ic=ca.unstable_LowPriority,jc=ca.unstable_IdlePriority,kc=null,lc=null;function mc(a){if(lc&&\"function\"===typeof lc.onCommitFiberRoot)try{lc.onCommitFiberRoot(kc,a,void 0,128===(a.current.flags&128))}catch(b){}}\nvar oc=Math.clz32?Math.clz32:nc,pc=Math.log,qc=Math.LN2;function nc(a){a>>>=0;return 0===a?32:31-(pc(a)/qc|0)|0}var rc=64,sc=4194304;\nfunction tc(a){switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;\ndefault:return a}}function uc(a,b){var c=a.pendingLanes;if(0===c)return 0;var d=0,e=a.suspendedLanes,f=a.pingedLanes,g=c&268435455;if(0!==g){var h=g&~e;0!==h?d=tc(h):(f&=g,0!==f&&(d=tc(f)))}else g=c&~e,0!==g?d=tc(g):0!==f&&(d=tc(f));if(0===d)return 0;if(0!==b&&b!==d&&0===(b&e)&&(e=d&-d,f=b&-b,e>=f||16===e&&0!==(f&4194240)))return b;0!==(d&4)&&(d|=c&16);b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0<b;)c=31-oc(b),e=1<<c,d|=a[c],b&=~e;return d}\nfunction vc(a,b){switch(a){case 1:case 2:case 4:return b+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return b+5E3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}\nfunction wc(a,b){for(var c=a.suspendedLanes,d=a.pingedLanes,e=a.expirationTimes,f=a.pendingLanes;0<f;){var g=31-oc(f),h=1<<g,k=e[g];if(-1===k){if(0===(h&c)||0!==(h&d))e[g]=vc(h,b)}else k<=b&&(a.expiredLanes|=h);f&=~h}}function xc(a){a=a.pendingLanes&-1073741825;return 0!==a?a:a&1073741824?1073741824:0}function yc(){var a=rc;rc<<=1;0===(rc&4194240)&&(rc=64);return a}function zc(a){for(var b=[],c=0;31>c;c++)b.push(a);return b}\nfunction Ac(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-oc(b);a[b]=c}function Bc(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=b;a.mutableReadLanes&=b;a.entangledLanes&=b;b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;0<c;){var e=31-oc(c),f=1<<e;b[e]=0;d[e]=-1;a[e]=-1;c&=~f}}\nfunction Cc(a,b){var c=a.entangledLanes|=b;for(a=a.entanglements;c;){var d=31-oc(c),e=1<<d;e&b|a[d]&b&&(a[d]|=b);c&=~e}}var C=0;function Dc(a){a&=-a;return 1<a?4<a?0!==(a&268435455)?16:536870912:4:1}var Ec,Fc,Gc,Hc,Ic,Jc=!1,Kc=[],Lc=null,Mc=null,Nc=null,Oc=new Map,Pc=new Map,Qc=[],Rc=\"mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit\".split(\" \");\nfunction Sc(a,b){switch(a){case \"focusin\":case \"focusout\":Lc=null;break;case \"dragenter\":case \"dragleave\":Mc=null;break;case \"mouseover\":case \"mouseout\":Nc=null;break;case \"pointerover\":case \"pointerout\":Oc.delete(b.pointerId);break;case \"gotpointercapture\":case \"lostpointercapture\":Pc.delete(b.pointerId)}}\nfunction Tc(a,b,c,d,e,f){if(null===a||a.nativeEvent!==f)return a={blockedOn:b,domEventName:c,eventSystemFlags:d,nativeEvent:f,targetContainers:[e]},null!==b&&(b=Cb(b),null!==b&&Fc(b)),a;a.eventSystemFlags|=d;b=a.targetContainers;null!==e&&-1===b.indexOf(e)&&b.push(e);return a}\nfunction Uc(a,b,c,d,e){switch(b){case \"focusin\":return Lc=Tc(Lc,a,b,c,d,e),!0;case \"dragenter\":return Mc=Tc(Mc,a,b,c,d,e),!0;case \"mouseover\":return Nc=Tc(Nc,a,b,c,d,e),!0;case \"pointerover\":var f=e.pointerId;Oc.set(f,Tc(Oc.get(f)||null,a,b,c,d,e));return!0;case \"gotpointercapture\":return f=e.pointerId,Pc.set(f,Tc(Pc.get(f)||null,a,b,c,d,e)),!0}return!1}\nfunction Vc(a){var b=Wc(a.target);if(null!==b){var c=Vb(b);if(null!==c)if(b=c.tag,13===b){if(b=Wb(c),null!==b){a.blockedOn=b;Ic(a.priority,function(){Gc(c)});return}}else if(3===b&&c.stateNode.current.memoizedState.isDehydrated){a.blockedOn=3===c.tag?c.stateNode.containerInfo:null;return}}a.blockedOn=null}\nfunction Xc(a){if(null!==a.blockedOn)return!1;for(var b=a.targetContainers;0<b.length;){var c=Yc(a.domEventName,a.eventSystemFlags,b[0],a.nativeEvent);if(null===c){c=a.nativeEvent;var d=new c.constructor(c.type,c);wb=d;c.target.dispatchEvent(d);wb=null}else return b=Cb(c),null!==b&&Fc(b),a.blockedOn=c,!1;b.shift()}return!0}function Zc(a,b,c){Xc(a)&&c.delete(b)}function $c(){Jc=!1;null!==Lc&&Xc(Lc)&&(Lc=null);null!==Mc&&Xc(Mc)&&(Mc=null);null!==Nc&&Xc(Nc)&&(Nc=null);Oc.forEach(Zc);Pc.forEach(Zc)}\nfunction ad(a,b){a.blockedOn===b&&(a.blockedOn=null,Jc||(Jc=!0,ca.unstable_scheduleCallback(ca.unstable_NormalPriority,$c)))}\nfunction bd(a){function b(b){return ad(b,a)}if(0<Kc.length){ad(Kc[0],a);for(var c=1;c<Kc.length;c++){var d=Kc[c];d.blockedOn===a&&(d.blockedOn=null)}}null!==Lc&&ad(Lc,a);null!==Mc&&ad(Mc,a);null!==Nc&&ad(Nc,a);Oc.forEach(b);Pc.forEach(b);for(c=0;c<Qc.length;c++)d=Qc[c],d.blockedOn===a&&(d.blockedOn=null);for(;0<Qc.length&&(c=Qc[0],null===c.blockedOn);)Vc(c),null===c.blockedOn&&Qc.shift()}var cd=ua.ReactCurrentBatchConfig,dd=!0;\nfunction ed(a,b,c,d){var e=C,f=cd.transition;cd.transition=null;try{C=1,fd(a,b,c,d)}finally{C=e,cd.transition=f}}function gd(a,b,c,d){var e=C,f=cd.transition;cd.transition=null;try{C=4,fd(a,b,c,d)}finally{C=e,cd.transition=f}}\nfunction fd(a,b,c,d){if(dd){var e=Yc(a,b,c,d);if(null===e)hd(a,b,d,id,c),Sc(a,d);else if(Uc(e,a,b,c,d))d.stopPropagation();else if(Sc(a,d),b&4&&-1<Rc.indexOf(a)){for(;null!==e;){var f=Cb(e);null!==f&&Ec(f);f=Yc(a,b,c,d);null===f&&hd(a,b,d,id,c);if(f===e)break;e=f}null!==e&&d.stopPropagation()}else hd(a,b,d,null,c)}}var id=null;\nfunction Yc(a,b,c,d){id=null;a=xb(d);a=Wc(a);if(null!==a)if(b=Vb(a),null===b)a=null;else if(c=b.tag,13===c){a=Wb(b);if(null!==a)return a;a=null}else if(3===c){if(b.stateNode.current.memoizedState.isDehydrated)return 3===b.tag?b.stateNode.containerInfo:null;a=null}else b!==a&&(a=null);id=a;return null}\nfunction jd(a){switch(a){case \"cancel\":case \"click\":case \"close\":case \"contextmenu\":case \"copy\":case \"cut\":case \"auxclick\":case \"dblclick\":case \"dragend\":case \"dragstart\":case \"drop\":case \"focusin\":case \"focusout\":case \"input\":case \"invalid\":case \"keydown\":case \"keypress\":case \"keyup\":case \"mousedown\":case \"mouseup\":case \"paste\":case \"pause\":case \"play\":case \"pointercancel\":case \"pointerdown\":case \"pointerup\":case \"ratechange\":case \"reset\":case \"resize\":case \"seeked\":case \"submit\":case \"touchcancel\":case \"touchend\":case \"touchstart\":case \"volumechange\":case \"change\":case \"selectionchange\":case \"textInput\":case \"compositionstart\":case \"compositionend\":case \"compositionupdate\":case \"beforeblur\":case \"afterblur\":case \"beforeinput\":case \"blur\":case \"fullscreenchange\":case \"focus\":case \"hashchange\":case \"popstate\":case \"select\":case \"selectstart\":return 1;case \"drag\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"mousemove\":case \"mouseout\":case \"mouseover\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"scroll\":case \"toggle\":case \"touchmove\":case \"wheel\":case \"mouseenter\":case \"mouseleave\":case \"pointerenter\":case \"pointerleave\":return 4;\ncase \"message\":switch(ec()){case fc:return 1;case gc:return 4;case hc:case ic:return 16;case jc:return 536870912;default:return 16}default:return 16}}var kd=null,ld=null,md=null;function nd(){if(md)return md;var a,b=ld,c=b.length,d,e=\"value\"in kd?kd.value:kd.textContent,f=e.length;for(a=0;a<c&&b[a]===e[a];a++);var g=c-a;for(d=1;d<=g&&b[c-d]===e[f-d];d++);return md=e.slice(a,1<d?1-d:void 0)}\nfunction od(a){var b=a.keyCode;\"charCode\"in a?(a=a.charCode,0===a&&13===b&&(a=13)):a=b;10===a&&(a=13);return 32<=a||13===a?a:0}function pd(){return!0}function qd(){return!1}\nfunction rd(a){function b(b,d,e,f,g){this._reactName=b;this._targetInst=e;this.type=d;this.nativeEvent=f;this.target=g;this.currentTarget=null;for(var c in a)a.hasOwnProperty(c)&&(b=a[c],this[c]=b?b(f):f[c]);this.isDefaultPrevented=(null!=f.defaultPrevented?f.defaultPrevented:!1===f.returnValue)?pd:qd;this.isPropagationStopped=qd;return this}A(b.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():\"unknown\"!==typeof a.returnValue&&\n(a.returnValue=!1),this.isDefaultPrevented=pd)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():\"unknown\"!==typeof a.cancelBubble&&(a.cancelBubble=!0),this.isPropagationStopped=pd)},persist:function(){},isPersistent:pd});return b}\nvar sd={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(a){return a.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},td=rd(sd),ud=A({},sd,{view:0,detail:0}),vd=rd(ud),wd,xd,yd,Ad=A({},ud,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:zd,button:0,buttons:0,relatedTarget:function(a){return void 0===a.relatedTarget?a.fromElement===a.srcElement?a.toElement:a.fromElement:a.relatedTarget},movementX:function(a){if(\"movementX\"in\na)return a.movementX;a!==yd&&(yd&&\"mousemove\"===a.type?(wd=a.screenX-yd.screenX,xd=a.screenY-yd.screenY):xd=wd=0,yd=a);return wd},movementY:function(a){return\"movementY\"in a?a.movementY:xd}}),Bd=rd(Ad),Cd=A({},Ad,{dataTransfer:0}),Dd=rd(Cd),Ed=A({},ud,{relatedTarget:0}),Fd=rd(Ed),Gd=A({},sd,{animationName:0,elapsedTime:0,pseudoElement:0}),Hd=rd(Gd),Id=A({},sd,{clipboardData:function(a){return\"clipboardData\"in a?a.clipboardData:window.clipboardData}}),Jd=rd(Id),Kd=A({},sd,{data:0}),Ld=rd(Kd),Md={Esc:\"Escape\",\nSpacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},Nd={8:\"Backspace\",9:\"Tab\",12:\"Clear\",13:\"Enter\",16:\"Shift\",17:\"Control\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Escape\",32:\" \",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"ArrowLeft\",38:\"ArrowUp\",39:\"ArrowRight\",40:\"ArrowDown\",45:\"Insert\",46:\"Delete\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",116:\"F5\",117:\"F6\",118:\"F7\",\n119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"},Od={Alt:\"altKey\",Control:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};function Pd(a){var b=this.nativeEvent;return b.getModifierState?b.getModifierState(a):(a=Od[a])?!!b[a]:!1}function zd(){return Pd}\nvar Qd=A({},ud,{key:function(a){if(a.key){var b=Md[a.key]||a.key;if(\"Unidentified\"!==b)return b}return\"keypress\"===a.type?(a=od(a),13===a?\"Enter\":String.fromCharCode(a)):\"keydown\"===a.type||\"keyup\"===a.type?Nd[a.keyCode]||\"Unidentified\":\"\"},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:zd,charCode:function(a){return\"keypress\"===a.type?od(a):0},keyCode:function(a){return\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0},which:function(a){return\"keypress\"===\na.type?od(a):\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0}}),Rd=rd(Qd),Sd=A({},Ad,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Td=rd(Sd),Ud=A({},ud,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:zd}),Vd=rd(Ud),Wd=A({},sd,{propertyName:0,elapsedTime:0,pseudoElement:0}),Xd=rd(Wd),Yd=A({},Ad,{deltaX:function(a){return\"deltaX\"in a?a.deltaX:\"wheelDeltaX\"in a?-a.wheelDeltaX:0},\ndeltaY:function(a){return\"deltaY\"in a?a.deltaY:\"wheelDeltaY\"in a?-a.wheelDeltaY:\"wheelDelta\"in a?-a.wheelDelta:0},deltaZ:0,deltaMode:0}),Zd=rd(Yd),$d=[9,13,27,32],ae=ia&&\"CompositionEvent\"in window,be=null;ia&&\"documentMode\"in document&&(be=document.documentMode);var ce=ia&&\"TextEvent\"in window&&!be,de=ia&&(!ae||be&&8<be&&11>=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1<b.char.length)return b.char;if(b.which)return String.fromCharCode(b.which)}return null;case \"compositionend\":return de&&\"ko\"!==b.locale?null:b.data;default:return null}}\nvar le={color:!0,date:!0,datetime:!0,\"datetime-local\":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function me(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return\"input\"===b?!!le[a.type]:\"textarea\"===b?!0:!1}function ne(a,b,c,d){Eb(d);b=oe(b,\"onChange\");0<b.length&&(c=new td(\"onChange\",\"change\",null,c,d),a.push({event:c,listeners:b}))}var pe=null,qe=null;function re(a){se(a,0)}function te(a){var b=ue(a);if(Wa(b))return a}\nfunction ve(a,b){if(\"change\"===a)return b}var we=!1;if(ia){var xe;if(ia){var ye=\"oninput\"in document;if(!ye){var ze=document.createElement(\"div\");ze.setAttribute(\"oninput\",\"return;\");ye=\"function\"===typeof ze.oninput}xe=ye}else xe=!1;we=xe&&(!document.documentMode||9<document.documentMode)}function Ae(){pe&&(pe.detachEvent(\"onpropertychange\",Be),qe=pe=null)}function Be(a){if(\"value\"===a.propertyName&&te(qe)){var b=[];ne(b,qe,a,xb(a));Jb(re,b)}}\nfunction Ce(a,b,c){\"focusin\"===a?(Ae(),pe=b,qe=c,pe.attachEvent(\"onpropertychange\",Be)):\"focusout\"===a&&Ae()}function De(a){if(\"selectionchange\"===a||\"keyup\"===a||\"keydown\"===a)return te(qe)}function Ee(a,b){if(\"click\"===a)return te(b)}function Fe(a,b){if(\"input\"===a||\"change\"===a)return te(b)}function Ge(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var He=\"function\"===typeof Object.is?Object.is:Ge;\nfunction Ie(a,b){if(He(a,b))return!0;if(\"object\"!==typeof a||null===a||\"object\"!==typeof b||null===b)return!1;var c=Object.keys(a),d=Object.keys(b);if(c.length!==d.length)return!1;for(d=0;d<c.length;d++){var e=c[d];if(!ja.call(b,e)||!He(a[e],b[e]))return!1}return!0}function Je(a){for(;a&&a.firstChild;)a=a.firstChild;return a}\nfunction Ke(a,b){var c=Je(a);a=0;for(var d;c;){if(3===c.nodeType){d=a+c.textContent.length;if(a<=b&&d>=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Je(c)}}function Le(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Le(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Me(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Ne(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nfunction Oe(a){var b=Me(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Le(c.ownerDocument.documentElement,c)){if(null!==d&&Ne(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ke(c,f);var g=Ke(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c<b.length;c++)a=b[c],a.element.scrollLeft=a.left,a.element.scrollTop=a.top}}\nvar Pe=ia&&\"documentMode\"in document&&11>=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Ne(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Ie(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0<d.length&&(b=new td(\"onSelect\",\"select\",null,b,c),a.push({event:b,listeners:d}),b.target=Qe)))}\nfunction Ve(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;return c}var We={animationend:Ve(\"Animation\",\"AnimationEnd\"),animationiteration:Ve(\"Animation\",\"AnimationIteration\"),animationstart:Ve(\"Animation\",\"AnimationStart\"),transitionend:Ve(\"Transition\",\"TransitionEnd\")},Xe={},Ye={};\nia&&(Ye=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete We.animationend.animation,delete We.animationiteration.animation,delete We.animationstart.animation),\"TransitionEvent\"in window||delete We.transitionend.transition);function Ze(a){if(Xe[a])return Xe[a];if(!We[a])return a;var b=We[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Ye)return Xe[a]=b[c];return a}var $e=Ze(\"animationend\"),af=Ze(\"animationiteration\"),bf=Ze(\"animationstart\"),cf=Ze(\"transitionend\"),df=new Map,ef=\"abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel\".split(\" \");\nfunction ff(a,b){df.set(a,b);fa(b,[a])}for(var gf=0;gf<ef.length;gf++){var hf=ef[gf],jf=hf.toLowerCase(),kf=hf[0].toUpperCase()+hf.slice(1);ff(jf,\"on\"+kf)}ff($e,\"onAnimationEnd\");ff(af,\"onAnimationIteration\");ff(bf,\"onAnimationStart\");ff(\"dblclick\",\"onDoubleClick\");ff(\"focusin\",\"onFocus\");ff(\"focusout\",\"onBlur\");ff(cf,\"onTransitionEnd\");ha(\"onMouseEnter\",[\"mouseout\",\"mouseover\"]);ha(\"onMouseLeave\",[\"mouseout\",\"mouseover\"]);ha(\"onPointerEnter\",[\"pointerout\",\"pointerover\"]);\nha(\"onPointerLeave\",[\"pointerout\",\"pointerover\"]);fa(\"onChange\",\"change click focusin focusout input keydown keyup selectionchange\".split(\" \"));fa(\"onSelect\",\"focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange\".split(\" \"));fa(\"onBeforeInput\",[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]);fa(\"onCompositionEnd\",\"compositionend focusout keydown keypress keyup mousedown\".split(\" \"));fa(\"onCompositionStart\",\"compositionstart focusout keydown keypress keyup mousedown\".split(\" \"));\nfa(\"onCompositionUpdate\",\"compositionupdate focusout keydown keypress keyup mousedown\".split(\" \"));var lf=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),mf=new Set(\"cancel close invalid load scroll toggle\".split(\" \").concat(lf));\nfunction nf(a,b,c){var d=a.type||\"unknown-event\";a.currentTarget=c;Ub(d,b,void 0,a);a.currentTarget=null}\nfunction se(a,b){b=0!==(b&4);for(var c=0;c<a.length;c++){var d=a[c],e=d.event;d=d.listeners;a:{var f=void 0;if(b)for(var g=d.length-1;0<=g;g--){var h=d[g],k=h.instance,l=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;nf(e,h,l);f=k}else for(g=0;g<d.length;g++){h=d[g];k=h.instance;l=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;nf(e,h,l);f=k}}}if(Qb)throw a=Rb,Qb=!1,Rb=null,a;}\nfunction D(a,b){var c=b[of];void 0===c&&(c=b[of]=new Set);var d=a+\"__bubble\";c.has(d)||(pf(b,a,2,!1),c.add(d))}function qf(a,b,c){var d=0;b&&(d|=4);pf(c,a,d,b)}var rf=\"_reactListening\"+Math.random().toString(36).slice(2);function sf(a){if(!a[rf]){a[rf]=!0;da.forEach(function(b){\"selectionchange\"!==b&&(mf.has(b)||qf(b,!1,a),qf(b,!0,a))});var b=9===a.nodeType?a:a.ownerDocument;null===b||b[rf]||(b[rf]=!0,qf(\"selectionchange\",!1,b))}}\nfunction pf(a,b,c,d){switch(jd(b)){case 1:var e=ed;break;case 4:e=gd;break;default:e=fd}c=e.bind(null,b,c,a);e=void 0;!Lb||\"touchstart\"!==b&&\"touchmove\"!==b&&\"wheel\"!==b||(e=!0);d?void 0!==e?a.addEventListener(b,c,{capture:!0,passive:e}):a.addEventListener(b,c,!0):void 0!==e?a.addEventListener(b,c,{passive:e}):a.addEventListener(b,c,!1)}\nfunction hd(a,b,c,d,e){var f=d;if(0===(b&1)&&0===(b&2)&&null!==d)a:for(;;){if(null===d)return;var g=d.tag;if(3===g||4===g){var h=d.stateNode.containerInfo;if(h===e||8===h.nodeType&&h.parentNode===e)break;if(4===g)for(g=d.return;null!==g;){var k=g.tag;if(3===k||4===k)if(k=g.stateNode.containerInfo,k===e||8===k.nodeType&&k.parentNode===e)return;g=g.return}for(;null!==h;){g=Wc(h);if(null===g)return;k=g.tag;if(5===k||6===k){d=f=g;continue a}h=h.parentNode}}d=d.return}Jb(function(){var d=f,e=xb(c),g=[];\na:{var h=df.get(a);if(void 0!==h){var k=td,n=a;switch(a){case \"keypress\":if(0===od(c))break a;case \"keydown\":case \"keyup\":k=Rd;break;case \"focusin\":n=\"focus\";k=Fd;break;case \"focusout\":n=\"blur\";k=Fd;break;case \"beforeblur\":case \"afterblur\":k=Fd;break;case \"click\":if(2===c.button)break a;case \"auxclick\":case \"dblclick\":case \"mousedown\":case \"mousemove\":case \"mouseup\":case \"mouseout\":case \"mouseover\":case \"contextmenu\":k=Bd;break;case \"drag\":case \"dragend\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"dragstart\":case \"drop\":k=\nDd;break;case \"touchcancel\":case \"touchend\":case \"touchmove\":case \"touchstart\":k=Vd;break;case $e:case af:case bf:k=Hd;break;case cf:k=Xd;break;case \"scroll\":k=vd;break;case \"wheel\":k=Zd;break;case \"copy\":case \"cut\":case \"paste\":k=Jd;break;case \"gotpointercapture\":case \"lostpointercapture\":case \"pointercancel\":case \"pointerdown\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"pointerup\":k=Td}var t=0!==(b&4),J=!t&&\"scroll\"===a,x=t?null!==h?h+\"Capture\":null:h;t=[];for(var w=d,u;null!==\nw;){u=w;var F=u.stateNode;5===u.tag&&null!==F&&(u=F,null!==x&&(F=Kb(w,x),null!=F&&t.push(tf(w,F,u))));if(J)break;w=w.return}0<t.length&&(h=new k(h,n,null,c,e),g.push({event:h,listeners:t}))}}if(0===(b&7)){a:{h=\"mouseover\"===a||\"pointerover\"===a;k=\"mouseout\"===a||\"pointerout\"===a;if(h&&c!==wb&&(n=c.relatedTarget||c.fromElement)&&(Wc(n)||n[uf]))break a;if(k||h){h=e.window===e?e:(h=e.ownerDocument)?h.defaultView||h.parentWindow:window;if(k){if(n=c.relatedTarget||c.toElement,k=d,n=n?Wc(n):null,null!==\nn&&(J=Vb(n),n!==J||5!==n.tag&&6!==n.tag))n=null}else k=null,n=d;if(k!==n){t=Bd;F=\"onMouseLeave\";x=\"onMouseEnter\";w=\"mouse\";if(\"pointerout\"===a||\"pointerover\"===a)t=Td,F=\"onPointerLeave\",x=\"onPointerEnter\",w=\"pointer\";J=null==k?h:ue(k);u=null==n?h:ue(n);h=new t(F,w+\"leave\",k,c,e);h.target=J;h.relatedTarget=u;F=null;Wc(e)===d&&(t=new t(x,w+\"enter\",n,c,e),t.target=u,t.relatedTarget=J,F=t);J=F;if(k&&n)b:{t=k;x=n;w=0;for(u=t;u;u=vf(u))w++;u=0;for(F=x;F;F=vf(F))u++;for(;0<w-u;)t=vf(t),w--;for(;0<u-w;)x=\nvf(x),u--;for(;w--;){if(t===x||null!==x&&t===x.alternate)break b;t=vf(t);x=vf(x)}t=null}else t=null;null!==k&&wf(g,h,k,t,!1);null!==n&&null!==J&&wf(g,J,n,t,!0)}}}a:{h=d?ue(d):window;k=h.nodeName&&h.nodeName.toLowerCase();if(\"select\"===k||\"input\"===k&&\"file\"===h.type)var na=ve;else if(me(h))if(we)na=Fe;else{na=De;var xa=Ce}else(k=h.nodeName)&&\"input\"===k.toLowerCase()&&(\"checkbox\"===h.type||\"radio\"===h.type)&&(na=Ee);if(na&&(na=na(a,d))){ne(g,na,c,e);break a}xa&&xa(a,h,d);\"focusout\"===a&&(xa=h._wrapperState)&&\nxa.controlled&&\"number\"===h.type&&cb(h,\"number\",h.value)}xa=d?ue(d):window;switch(a){case \"focusin\":if(me(xa)||\"true\"===xa.contentEditable)Qe=xa,Re=d,Se=null;break;case \"focusout\":Se=Re=Qe=null;break;case \"mousedown\":Te=!0;break;case \"contextmenu\":case \"mouseup\":case \"dragend\":Te=!1;Ue(g,c,e);break;case \"selectionchange\":if(Pe)break;case \"keydown\":case \"keyup\":Ue(g,c,e)}var $a;if(ae)b:{switch(a){case \"compositionstart\":var ba=\"onCompositionStart\";break b;case \"compositionend\":ba=\"onCompositionEnd\";\nbreak b;case \"compositionupdate\":ba=\"onCompositionUpdate\";break b}ba=void 0}else ie?ge(a,c)&&(ba=\"onCompositionEnd\"):\"keydown\"===a&&229===c.keyCode&&(ba=\"onCompositionStart\");ba&&(de&&\"ko\"!==c.locale&&(ie||\"onCompositionStart\"!==ba?\"onCompositionEnd\"===ba&&ie&&($a=nd()):(kd=e,ld=\"value\"in kd?kd.value:kd.textContent,ie=!0)),xa=oe(d,ba),0<xa.length&&(ba=new Ld(ba,a,null,c,e),g.push({event:ba,listeners:xa}),$a?ba.data=$a:($a=he(c),null!==$a&&(ba.data=$a))));if($a=ce?je(a,c):ke(a,c))d=oe(d,\"onBeforeInput\"),\n0<d.length&&(e=new Ld(\"onBeforeInput\",\"beforeinput\",null,c,e),g.push({event:e,listeners:d}),e.data=$a)}se(g,b)})}function tf(a,b,c){return{instance:a,listener:b,currentTarget:c}}function oe(a,b){for(var c=b+\"Capture\",d=[];null!==a;){var e=a,f=e.stateNode;5===e.tag&&null!==f&&(e=f,f=Kb(a,c),null!=f&&d.unshift(tf(a,f,e)),f=Kb(a,b),null!=f&&d.push(tf(a,f,e)));a=a.return}return d}function vf(a){if(null===a)return null;do a=a.return;while(a&&5!==a.tag);return a?a:null}\nfunction wf(a,b,c,d,e){for(var f=b._reactName,g=[];null!==c&&c!==d;){var h=c,k=h.alternate,l=h.stateNode;if(null!==k&&k===d)break;5===h.tag&&null!==l&&(h=l,e?(k=Kb(c,f),null!=k&&g.unshift(tf(c,k,h))):e||(k=Kb(c,f),null!=k&&g.push(tf(c,k,h))));c=c.return}0!==g.length&&a.push({event:b,listeners:g})}var xf=/\\r\\n?/g,yf=/\\u0000|\\uFFFD/g;function zf(a){return(\"string\"===typeof a?a:\"\"+a).replace(xf,\"\\n\").replace(yf,\"\")}function Af(a,b,c){b=zf(b);if(zf(a)!==b&&c)throw Error(p(425));}function Bf(){}\nvar Cf=null,Df=null;function Ef(a,b){return\"textarea\"===a||\"noscript\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}\nvar Ff=\"function\"===typeof setTimeout?setTimeout:void 0,Gf=\"function\"===typeof clearTimeout?clearTimeout:void 0,Hf=\"function\"===typeof Promise?Promise:void 0,Jf=\"function\"===typeof queueMicrotask?queueMicrotask:\"undefined\"!==typeof Hf?function(a){return Hf.resolve(null).then(a).catch(If)}:Ff;function If(a){setTimeout(function(){throw a;})}\nfunction Kf(a,b){var c=b,d=0;do{var e=c.nextSibling;a.removeChild(c);if(e&&8===e.nodeType)if(c=e.data,\"/$\"===c){if(0===d){a.removeChild(e);bd(b);return}d--}else\"$\"!==c&&\"$?\"!==c&&\"$!\"!==c||d++;c=e}while(c);bd(b)}function Lf(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break;if(8===b){b=a.data;if(\"$\"===b||\"$!\"===b||\"$?\"===b)break;if(\"/$\"===b)return null}}return a}\nfunction Mf(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){var c=a.data;if(\"$\"===c||\"$!\"===c||\"$?\"===c){if(0===b)return a;b--}else\"/$\"===c&&b++}a=a.previousSibling}return null}var Nf=Math.random().toString(36).slice(2),Of=\"__reactFiber$\"+Nf,Pf=\"__reactProps$\"+Nf,uf=\"__reactContainer$\"+Nf,of=\"__reactEvents$\"+Nf,Qf=\"__reactListeners$\"+Nf,Rf=\"__reactHandles$\"+Nf;\nfunction Wc(a){var b=a[Of];if(b)return b;for(var c=a.parentNode;c;){if(b=c[uf]||c[Of]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=Mf(a);null!==a;){if(c=a[Of])return c;a=Mf(a)}return b}a=c;c=a.parentNode}return null}function Cb(a){a=a[Of]||a[uf];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a}function ue(a){if(5===a.tag||6===a.tag)return a.stateNode;throw Error(p(33));}function Db(a){return a[Pf]||null}var Sf=[],Tf=-1;function Uf(a){return{current:a}}\nfunction E(a){0>Tf||(a.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(a,b){Tf++;Sf[Tf]=a.current;a.current=b}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(a,b){var c=a.type.contextTypes;if(!c)return Vf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}\nfunction Zf(a){a=a.childContextTypes;return null!==a&&void 0!==a}function $f(){E(Wf);E(H)}function ag(a,b,c){if(H.current!==Vf)throw Error(p(168));G(H,b);G(Wf,c)}function bg(a,b,c){var d=a.stateNode;b=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(p(108,Ra(a)||\"Unknown\",e));return A({},c,d)}\nfunction cg(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Vf;Xf=H.current;G(H,a);G(Wf,Wf.current);return!0}function dg(a,b,c){var d=a.stateNode;if(!d)throw Error(p(169));c?(a=bg(a,b,Xf),d.__reactInternalMemoizedMergedChildContext=a,E(Wf),E(H),G(H,a)):E(Wf);G(Wf,c)}var eg=null,fg=!1,gg=!1;function hg(a){null===eg?eg=[a]:eg.push(a)}function ig(a){fg=!0;hg(a)}\nfunction jg(){if(!gg&&null!==eg){gg=!0;var a=0,b=C;try{var c=eg;for(C=1;a<c.length;a++){var d=c[a];do d=d(!0);while(null!==d)}eg=null;fg=!1}catch(e){throw null!==eg&&(eg=eg.slice(a+1)),ac(fc,jg),e;}finally{C=b,gg=!1}}return null}var kg=[],lg=0,mg=null,ng=0,og=[],pg=0,qg=null,rg=1,sg=\"\";function tg(a,b){kg[lg++]=ng;kg[lg++]=mg;mg=a;ng=b}\nfunction ug(a,b,c){og[pg++]=rg;og[pg++]=sg;og[pg++]=qg;qg=a;var d=rg;a=sg;var e=32-oc(d)-1;d&=~(1<<e);c+=1;var f=32-oc(b)+e;if(30<f){var g=e-e%5;f=(d&(1<<g)-1).toString(32);d>>=g;e-=g;rg=1<<32-oc(b)+e|c<<e|d;sg=f+a}else rg=1<<f|c<<e|d,sg=a}function vg(a){null!==a.return&&(tg(a,1),ug(a,1,0))}function wg(a){for(;a===mg;)mg=kg[--lg],kg[lg]=null,ng=kg[--lg],kg[lg]=null;for(;a===qg;)qg=og[--pg],og[pg]=null,sg=og[--pg],og[pg]=null,rg=og[--pg],og[pg]=null}var xg=null,yg=null,I=!1,zg=null;\nfunction Ag(a,b){var c=Bg(5,null,null,0);c.elementType=\"DELETED\";c.stateNode=b;c.return=a;b=a.deletions;null===b?(a.deletions=[c],a.flags|=16):b.push(c)}\nfunction Cg(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,xg=a,yg=Lf(b.firstChild),!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,xg=a,yg=null,!0):!1;case 13:return b=8!==b.nodeType?null:b,null!==b?(c=null!==qg?{id:rg,overflow:sg}:null,a.memoizedState={dehydrated:b,treeContext:c,retryLane:1073741824},c=Bg(18,null,null,0),c.stateNode=b,c.return=a,a.child=c,xg=a,yg=\nnull,!0):!1;default:return!1}}function Dg(a){return 0!==(a.mode&1)&&0===(a.flags&128)}function Eg(a){if(I){var b=yg;if(b){var c=b;if(!Cg(a,b)){if(Dg(a))throw Error(p(418));b=Lf(c.nextSibling);var d=xg;b&&Cg(a,b)?Ag(d,c):(a.flags=a.flags&-4097|2,I=!1,xg=a)}}else{if(Dg(a))throw Error(p(418));a.flags=a.flags&-4097|2;I=!1;xg=a}}}function Fg(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;xg=a}\nfunction Gg(a){if(a!==xg)return!1;if(!I)return Fg(a),I=!0,!1;var b;(b=3!==a.tag)&&!(b=5!==a.tag)&&(b=a.type,b=\"head\"!==b&&\"body\"!==b&&!Ef(a.type,a.memoizedProps));if(b&&(b=yg)){if(Dg(a))throw Hg(),Error(p(418));for(;b;)Ag(a,b),b=Lf(b.nextSibling)}Fg(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(p(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if(\"/$\"===c){if(0===b){yg=Lf(a.nextSibling);break a}b--}else\"$\"!==c&&\"$!\"!==c&&\"$?\"!==c||b++}a=a.nextSibling}yg=\nnull}}else yg=xg?Lf(a.stateNode.nextSibling):null;return!0}function Hg(){for(var a=yg;a;)a=Lf(a.nextSibling)}function Ig(){yg=xg=null;I=!1}function Jg(a){null===zg?zg=[a]:zg.push(a)}var Kg=ua.ReactCurrentBatchConfig;function Lg(a,b){if(a&&a.defaultProps){b=A({},b);a=a.defaultProps;for(var c in a)void 0===b[c]&&(b[c]=a[c]);return b}return b}var Mg=Uf(null),Ng=null,Og=null,Pg=null;function Qg(){Pg=Og=Ng=null}function Rg(a){var b=Mg.current;E(Mg);a._currentValue=b}\nfunction Sg(a,b,c){for(;null!==a;){var d=a.alternate;(a.childLanes&b)!==b?(a.childLanes|=b,null!==d&&(d.childLanes|=b)):null!==d&&(d.childLanes&b)!==b&&(d.childLanes|=b);if(a===c)break;a=a.return}}function Tg(a,b){Ng=a;Pg=Og=null;a=a.dependencies;null!==a&&null!==a.firstContext&&(0!==(a.lanes&b)&&(Ug=!0),a.firstContext=null)}\nfunction Vg(a){var b=a._currentValue;if(Pg!==a)if(a={context:a,memoizedValue:b,next:null},null===Og){if(null===Ng)throw Error(p(308));Og=a;Ng.dependencies={lanes:0,firstContext:a}}else Og=Og.next=a;return b}var Wg=null;function Xg(a){null===Wg?Wg=[a]:Wg.push(a)}function Yg(a,b,c,d){var e=b.interleaved;null===e?(c.next=c,Xg(b)):(c.next=e.next,e.next=c);b.interleaved=c;return Zg(a,d)}\nfunction Zg(a,b){a.lanes|=b;var c=a.alternate;null!==c&&(c.lanes|=b);c=a;for(a=a.return;null!==a;)a.childLanes|=b,c=a.alternate,null!==c&&(c.childLanes|=b),c=a,a=a.return;return 3===c.tag?c.stateNode:null}var $g=!1;function ah(a){a.updateQueue={baseState:a.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}\nfunction bh(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,firstBaseUpdate:a.firstBaseUpdate,lastBaseUpdate:a.lastBaseUpdate,shared:a.shared,effects:a.effects})}function ch(a,b){return{eventTime:a,lane:b,tag:0,payload:null,callback:null,next:null}}\nfunction dh(a,b,c){var d=a.updateQueue;if(null===d)return null;d=d.shared;if(0!==(K&2)){var e=d.pending;null===e?b.next=b:(b.next=e.next,e.next=b);d.pending=b;return Zg(a,c)}e=d.interleaved;null===e?(b.next=b,Xg(d)):(b.next=e.next,e.next=b);d.interleaved=b;return Zg(a,c)}function eh(a,b,c){b=b.updateQueue;if(null!==b&&(b=b.shared,0!==(c&4194240))){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nfunction fh(a,b){var c=a.updateQueue,d=a.alternate;if(null!==d&&(d=d.updateQueue,c===d)){var e=null,f=null;c=c.firstBaseUpdate;if(null!==c){do{var g={eventTime:c.eventTime,lane:c.lane,tag:c.tag,payload:c.payload,callback:c.callback,next:null};null===f?e=f=g:f=f.next=g;c=c.next}while(null!==c);null===f?e=f=b:f=f.next=b}else e=f=b;c={baseState:d.baseState,firstBaseUpdate:e,lastBaseUpdate:f,shared:d.shared,effects:d.effects};a.updateQueue=c;return}a=c.lastBaseUpdate;null===a?c.firstBaseUpdate=b:a.next=\nb;c.lastBaseUpdate=b}\nfunction gh(a,b,c,d){var e=a.updateQueue;$g=!1;var f=e.firstBaseUpdate,g=e.lastBaseUpdate,h=e.shared.pending;if(null!==h){e.shared.pending=null;var k=h,l=k.next;k.next=null;null===g?f=l:g.next=l;g=k;var m=a.alternate;null!==m&&(m=m.updateQueue,h=m.lastBaseUpdate,h!==g&&(null===h?m.firstBaseUpdate=l:h.next=l,m.lastBaseUpdate=k))}if(null!==f){var q=e.baseState;g=0;m=l=k=null;h=f;do{var r=h.lane,y=h.eventTime;if((d&r)===r){null!==m&&(m=m.next={eventTime:y,lane:0,tag:h.tag,payload:h.payload,callback:h.callback,\nnext:null});a:{var n=a,t=h;r=b;y=c;switch(t.tag){case 1:n=t.payload;if(\"function\"===typeof n){q=n.call(y,q,r);break a}q=n;break a;case 3:n.flags=n.flags&-65537|128;case 0:n=t.payload;r=\"function\"===typeof n?n.call(y,q,r):n;if(null===r||void 0===r)break a;q=A({},q,r);break a;case 2:$g=!0}}null!==h.callback&&0!==h.lane&&(a.flags|=64,r=e.effects,null===r?e.effects=[h]:r.push(h))}else y={eventTime:y,lane:r,tag:h.tag,payload:h.payload,callback:h.callback,next:null},null===m?(l=m=y,k=q):m=m.next=y,g|=r;\nh=h.next;if(null===h)if(h=e.shared.pending,null===h)break;else r=h,h=r.next,r.next=null,e.lastBaseUpdate=r,e.shared.pending=null}while(1);null===m&&(k=q);e.baseState=k;e.firstBaseUpdate=l;e.lastBaseUpdate=m;b=e.shared.interleaved;if(null!==b){e=b;do g|=e.lane,e=e.next;while(e!==b)}else null===f&&(e.shared.lanes=0);hh|=g;a.lanes=g;a.memoizedState=q}}\nfunction ih(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;b<a.length;b++){var d=a[b],e=d.callback;if(null!==e){d.callback=null;d=c;if(\"function\"!==typeof e)throw Error(p(191,e));e.call(d)}}}var jh=(new aa.Component).refs;function kh(a,b,c,d){b=a.memoizedState;c=c(d,b);c=null===c||void 0===c?b:A({},b,c);a.memoizedState=c;0===a.lanes&&(a.updateQueue.baseState=c)}\nvar nh={isMounted:function(a){return(a=a._reactInternals)?Vb(a)===a:!1},enqueueSetState:function(a,b,c){a=a._reactInternals;var d=L(),e=lh(a),f=ch(d,e);f.payload=b;void 0!==c&&null!==c&&(f.callback=c);b=dh(a,f,e);null!==b&&(mh(b,a,e,d),eh(b,a,e))},enqueueReplaceState:function(a,b,c){a=a._reactInternals;var d=L(),e=lh(a),f=ch(d,e);f.tag=1;f.payload=b;void 0!==c&&null!==c&&(f.callback=c);b=dh(a,f,e);null!==b&&(mh(b,a,e,d),eh(b,a,e))},enqueueForceUpdate:function(a,b){a=a._reactInternals;var c=L(),d=\nlh(a),e=ch(c,d);e.tag=2;void 0!==b&&null!==b&&(e.callback=b);b=dh(a,e,d);null!==b&&(mh(b,a,d,c),eh(b,a,d))}};function oh(a,b,c,d,e,f,g){a=a.stateNode;return\"function\"===typeof a.shouldComponentUpdate?a.shouldComponentUpdate(d,f,g):b.prototype&&b.prototype.isPureReactComponent?!Ie(c,d)||!Ie(e,f):!0}\nfunction ph(a,b,c){var d=!1,e=Vf;var f=b.contextType;\"object\"===typeof f&&null!==f?f=Vg(f):(e=Zf(b)?Xf:H.current,d=b.contextTypes,f=(d=null!==d&&void 0!==d)?Yf(a,e):Vf);b=new b(c,f);a.memoizedState=null!==b.state&&void 0!==b.state?b.state:null;b.updater=nh;a.stateNode=b;b._reactInternals=a;d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=e,a.__reactInternalMemoizedMaskedChildContext=f);return b}\nfunction qh(a,b,c,d){a=b.state;\"function\"===typeof b.componentWillReceiveProps&&b.componentWillReceiveProps(c,d);\"function\"===typeof b.UNSAFE_componentWillReceiveProps&&b.UNSAFE_componentWillReceiveProps(c,d);b.state!==a&&nh.enqueueReplaceState(b,b.state,null)}\nfunction rh(a,b,c,d){var e=a.stateNode;e.props=c;e.state=a.memoizedState;e.refs=jh;ah(a);var f=b.contextType;\"object\"===typeof f&&null!==f?e.context=Vg(f):(f=Zf(b)?Xf:H.current,e.context=Yf(a,f));e.state=a.memoizedState;f=b.getDerivedStateFromProps;\"function\"===typeof f&&(kh(a,b,f,c),e.state=a.memoizedState);\"function\"===typeof b.getDerivedStateFromProps||\"function\"===typeof e.getSnapshotBeforeUpdate||\"function\"!==typeof e.UNSAFE_componentWillMount&&\"function\"!==typeof e.componentWillMount||(b=e.state,\n\"function\"===typeof e.componentWillMount&&e.componentWillMount(),\"function\"===typeof e.UNSAFE_componentWillMount&&e.UNSAFE_componentWillMount(),b!==e.state&&nh.enqueueReplaceState(e,e.state,null),gh(a,c,e,d),e.state=a.memoizedState);\"function\"===typeof e.componentDidMount&&(a.flags|=4194308)}\nfunction sh(a,b,c){a=c.ref;if(null!==a&&\"function\"!==typeof a&&\"object\"!==typeof a){if(c._owner){c=c._owner;if(c){if(1!==c.tag)throw Error(p(309));var d=c.stateNode}if(!d)throw Error(p(147,a));var e=d,f=\"\"+a;if(null!==b&&null!==b.ref&&\"function\"===typeof b.ref&&b.ref._stringRef===f)return b.ref;b=function(a){var b=e.refs;b===jh&&(b=e.refs={});null===a?delete b[f]:b[f]=a};b._stringRef=f;return b}if(\"string\"!==typeof a)throw Error(p(284));if(!c._owner)throw Error(p(290,a));}return a}\nfunction th(a,b){a=Object.prototype.toString.call(b);throw Error(p(31,\"[object Object]\"===a?\"object with keys {\"+Object.keys(b).join(\", \")+\"}\":a));}function uh(a){var b=a._init;return b(a._payload)}\nfunction vh(a){function b(b,c){if(a){var d=b.deletions;null===d?(b.deletions=[c],b.flags|=16):d.push(c)}}function c(c,d){if(!a)return null;for(;null!==d;)b(c,d),d=d.sibling;return null}function d(a,b){for(a=new Map;null!==b;)null!==b.key?a.set(b.key,b):a.set(b.index,b),b=b.sibling;return a}function e(a,b){a=wh(a,b);a.index=0;a.sibling=null;return a}function f(b,c,d){b.index=d;if(!a)return b.flags|=1048576,c;d=b.alternate;if(null!==d)return d=d.index,d<c?(b.flags|=2,c):d;b.flags|=2;return c}function g(b){a&&\nnull===b.alternate&&(b.flags|=2);return b}function h(a,b,c,d){if(null===b||6!==b.tag)return b=xh(c,a.mode,d),b.return=a,b;b=e(b,c);b.return=a;return b}function k(a,b,c,d){var f=c.type;if(f===ya)return m(a,b,c.props.children,d,c.key);if(null!==b&&(b.elementType===f||\"object\"===typeof f&&null!==f&&f.$$typeof===Ha&&uh(f)===b.type))return d=e(b,c.props),d.ref=sh(a,b,c),d.return=a,d;d=yh(c.type,c.key,c.props,null,a.mode,d);d.ref=sh(a,b,c);d.return=a;return d}function l(a,b,c,d){if(null===b||4!==b.tag||\nb.stateNode.containerInfo!==c.containerInfo||b.stateNode.implementation!==c.implementation)return b=zh(c,a.mode,d),b.return=a,b;b=e(b,c.children||[]);b.return=a;return b}function m(a,b,c,d,f){if(null===b||7!==b.tag)return b=Ah(c,a.mode,d,f),b.return=a,b;b=e(b,c);b.return=a;return b}function q(a,b,c){if(\"string\"===typeof b&&\"\"!==b||\"number\"===typeof b)return b=xh(\"\"+b,a.mode,c),b.return=a,b;if(\"object\"===typeof b&&null!==b){switch(b.$$typeof){case va:return c=yh(b.type,b.key,b.props,null,a.mode,c),\nc.ref=sh(a,null,b),c.return=a,c;case wa:return b=zh(b,a.mode,c),b.return=a,b;case Ha:var d=b._init;return q(a,d(b._payload),c)}if(eb(b)||Ka(b))return b=Ah(b,a.mode,c,null),b.return=a,b;th(a,b)}return null}function r(a,b,c,d){var e=null!==b?b.key:null;if(\"string\"===typeof c&&\"\"!==c||\"number\"===typeof c)return null!==e?null:h(a,b,\"\"+c,d);if(\"object\"===typeof c&&null!==c){switch(c.$$typeof){case va:return c.key===e?k(a,b,c,d):null;case wa:return c.key===e?l(a,b,c,d):null;case Ha:return e=c._init,r(a,\nb,e(c._payload),d)}if(eb(c)||Ka(c))return null!==e?null:m(a,b,c,d,null);th(a,c)}return null}function y(a,b,c,d,e){if(\"string\"===typeof d&&\"\"!==d||\"number\"===typeof d)return a=a.get(c)||null,h(b,a,\"\"+d,e);if(\"object\"===typeof d&&null!==d){switch(d.$$typeof){case va:return a=a.get(null===d.key?c:d.key)||null,k(b,a,d,e);case wa:return a=a.get(null===d.key?c:d.key)||null,l(b,a,d,e);case Ha:var f=d._init;return y(a,b,c,f(d._payload),e)}if(eb(d)||Ka(d))return a=a.get(c)||null,m(b,a,d,e,null);th(b,d)}return null}\nfunction n(e,g,h,k){for(var l=null,m=null,u=g,w=g=0,x=null;null!==u&&w<h.length;w++){u.index>w?(x=u,u=null):x=u.sibling;var n=r(e,u,h[w],k);if(null===n){null===u&&(u=x);break}a&&u&&null===n.alternate&&b(e,u);g=f(n,g,w);null===m?l=n:m.sibling=n;m=n;u=x}if(w===h.length)return c(e,u),I&&tg(e,w),l;if(null===u){for(;w<h.length;w++)u=q(e,h[w],k),null!==u&&(g=f(u,g,w),null===m?l=u:m.sibling=u,m=u);I&&tg(e,w);return l}for(u=d(e,u);w<h.length;w++)x=y(u,e,w,h[w],k),null!==x&&(a&&null!==x.alternate&&u.delete(null===\nx.key?w:x.key),g=f(x,g,w),null===m?l=x:m.sibling=x,m=x);a&&u.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function t(e,g,h,k){var l=Ka(h);if(\"function\"!==typeof l)throw Error(p(150));h=l.call(h);if(null==h)throw Error(p(151));for(var u=l=null,m=g,w=g=0,x=null,n=h.next();null!==m&&!n.done;w++,n=h.next()){m.index>w?(x=m,m=null):x=m.sibling;var t=r(e,m,n.value,k);if(null===t){null===m&&(m=x);break}a&&m&&null===t.alternate&&b(e,m);g=f(t,g,w);null===u?l=t:u.sibling=t;u=t;m=x}if(n.done)return c(e,\nm),I&&tg(e,w),l;if(null===m){for(;!n.done;w++,n=h.next())n=q(e,n.value,k),null!==n&&(g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);I&&tg(e,w);return l}for(m=d(e,m);!n.done;w++,n=h.next())n=y(m,e,w,n.value,k),null!==n&&(a&&null!==n.alternate&&m.delete(null===n.key?w:n.key),g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);a&&m.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function J(a,d,f,h){\"object\"===typeof f&&null!==f&&f.type===ya&&null===f.key&&(f=f.props.children);if(\"object\"===typeof f&&null!==f){switch(f.$$typeof){case va:a:{for(var k=\nf.key,l=d;null!==l;){if(l.key===k){k=f.type;if(k===ya){if(7===l.tag){c(a,l.sibling);d=e(l,f.props.children);d.return=a;a=d;break a}}else if(l.elementType===k||\"object\"===typeof k&&null!==k&&k.$$typeof===Ha&&uh(k)===l.type){c(a,l.sibling);d=e(l,f.props);d.ref=sh(a,l,f);d.return=a;a=d;break a}c(a,l);break}else b(a,l);l=l.sibling}f.type===ya?(d=Ah(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=yh(f.type,f.key,f.props,null,a.mode,h),h.ref=sh(a,d,f),h.return=a,a=h)}return g(a);case wa:a:{for(l=f.key;null!==\nd;){if(d.key===l)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=zh(f,a.mode,h);d.return=a;a=d}return g(a);case Ha:return l=f._init,J(a,d,l(f._payload),h)}if(eb(f))return n(a,d,f,h);if(Ka(f))return t(a,d,f,h);th(a,f)}return\"string\"===typeof f&&\"\"!==f||\"number\"===typeof f?(f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):\n(c(a,d),d=xh(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return J}var Bh=vh(!0),Ch=vh(!1),Dh={},Eh=Uf(Dh),Fh=Uf(Dh),Gh=Uf(Dh);function Hh(a){if(a===Dh)throw Error(p(174));return a}function Ih(a,b){G(Gh,b);G(Fh,a);G(Eh,Dh);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:lb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=lb(b,a)}E(Eh);G(Eh,b)}function Jh(){E(Eh);E(Fh);E(Gh)}\nfunction Kh(a){Hh(Gh.current);var b=Hh(Eh.current);var c=lb(b,a.type);b!==c&&(G(Fh,a),G(Eh,c))}function Lh(a){Fh.current===a&&(E(Eh),E(Fh))}var M=Uf(0);\nfunction Mh(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||\"$?\"===c.data||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&128))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var Nh=[];\nfunction Oh(){for(var a=0;a<Nh.length;a++)Nh[a]._workInProgressVersionPrimary=null;Nh.length=0}var Ph=ua.ReactCurrentDispatcher,Qh=ua.ReactCurrentBatchConfig,Rh=0,N=null,O=null,P=null,Sh=!1,Th=!1,Uh=0,Vh=0;function Q(){throw Error(p(321));}function Wh(a,b){if(null===b)return!1;for(var c=0;c<b.length&&c<a.length;c++)if(!He(a[c],b[c]))return!1;return!0}\nfunction Xh(a,b,c,d,e,f){Rh=f;N=b;b.memoizedState=null;b.updateQueue=null;b.lanes=0;Ph.current=null===a||null===a.memoizedState?Yh:Zh;a=c(d,e);if(Th){f=0;do{Th=!1;Uh=0;if(25<=f)throw Error(p(301));f+=1;P=O=null;b.updateQueue=null;Ph.current=$h;a=c(d,e)}while(Th)}Ph.current=ai;b=null!==O&&null!==O.next;Rh=0;P=O=N=null;Sh=!1;if(b)throw Error(p(300));return a}function bi(){var a=0!==Uh;Uh=0;return a}\nfunction ci(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===P?N.memoizedState=P=a:P=P.next=a;return P}function di(){if(null===O){var a=N.alternate;a=null!==a?a.memoizedState:null}else a=O.next;var b=null===P?N.memoizedState:P.next;if(null!==b)P=b,O=a;else{if(null===a)throw Error(p(310));O=a;a={memoizedState:O.memoizedState,baseState:O.baseState,baseQueue:O.baseQueue,queue:O.queue,next:null};null===P?N.memoizedState=P=a:P=P.next=a}return P}\nfunction ei(a,b){return\"function\"===typeof b?b(a):b}\nfunction fi(a){var b=di(),c=b.queue;if(null===c)throw Error(p(311));c.lastRenderedReducer=a;var d=O,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){f=e.next;d=d.baseState;var h=g=null,k=null,l=f;do{var m=l.lane;if((Rh&m)===m)null!==k&&(k=k.next={lane:0,action:l.action,hasEagerState:l.hasEagerState,eagerState:l.eagerState,next:null}),d=l.hasEagerState?l.eagerState:a(d,l.action);else{var q={lane:m,action:l.action,hasEagerState:l.hasEagerState,\neagerState:l.eagerState,next:null};null===k?(h=k=q,g=d):k=k.next=q;N.lanes|=m;hh|=m}l=l.next}while(null!==l&&l!==f);null===k?g=d:k.next=h;He(d,b.memoizedState)||(Ug=!0);b.memoizedState=d;b.baseState=g;b.baseQueue=k;c.lastRenderedState=d}a=c.interleaved;if(null!==a){e=a;do f=e.lane,N.lanes|=f,hh|=f,e=e.next;while(e!==a)}else null===e&&(c.lanes=0);return[b.memoizedState,c.dispatch]}\nfunction gi(a){var b=di(),c=b.queue;if(null===c)throw Error(p(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);He(f,b.memoizedState)||(Ug=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}function hi(){}\nfunction ii(a,b){var c=N,d=di(),e=b(),f=!He(d.memoizedState,e);f&&(d.memoizedState=e,Ug=!0);d=d.queue;ji(ki.bind(null,c,d,a),[a]);if(d.getSnapshot!==b||f||null!==P&&P.memoizedState.tag&1){c.flags|=2048;li(9,mi.bind(null,c,d,e,b),void 0,null);if(null===R)throw Error(p(349));0!==(Rh&30)||ni(c,b,e)}return e}function ni(a,b,c){a.flags|=16384;a={getSnapshot:b,value:c};b=N.updateQueue;null===b?(b={lastEffect:null,stores:null},N.updateQueue=b,b.stores=[a]):(c=b.stores,null===c?b.stores=[a]:c.push(a))}\nfunction mi(a,b,c,d){b.value=c;b.getSnapshot=d;oi(b)&&pi(a)}function ki(a,b,c){return c(function(){oi(b)&&pi(a)})}function oi(a){var b=a.getSnapshot;a=a.value;try{var c=b();return!He(a,c)}catch(d){return!0}}function pi(a){var b=Zg(a,1);null!==b&&mh(b,a,1,-1)}\nfunction qi(a){var b=ci();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:ei,lastRenderedState:a};b.queue=a;a=a.dispatch=ri.bind(null,N,a);return[b.memoizedState,a]}\nfunction li(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};b=N.updateQueue;null===b?(b={lastEffect:null,stores:null},N.updateQueue=b,b.lastEffect=a.next=a):(c=b.lastEffect,null===c?b.lastEffect=a.next=a:(d=c.next,c.next=a,a.next=d,b.lastEffect=a));return a}function si(){return di().memoizedState}function ti(a,b,c,d){var e=ci();N.flags|=a;e.memoizedState=li(1|b,c,void 0,void 0===d?null:d)}\nfunction ui(a,b,c,d){var e=di();d=void 0===d?null:d;var f=void 0;if(null!==O){var g=O.memoizedState;f=g.destroy;if(null!==d&&Wh(d,g.deps)){e.memoizedState=li(b,c,f,d);return}}N.flags|=a;e.memoizedState=li(1|b,c,f,d)}function vi(a,b){return ti(8390656,8,a,b)}function ji(a,b){return ui(2048,8,a,b)}function wi(a,b){return ui(4,2,a,b)}function xi(a,b){return ui(4,4,a,b)}\nfunction yi(a,b){if(\"function\"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}function zi(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ui(4,4,yi.bind(null,b,a),c)}function Ai(){}function Bi(a,b){var c=di();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Wh(b,d[1]))return d[0];c.memoizedState=[a,b];return a}\nfunction Ci(a,b){var c=di();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Wh(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a}function Di(a,b,c){if(0===(Rh&21))return a.baseState&&(a.baseState=!1,Ug=!0),a.memoizedState=c;He(c,b)||(c=yc(),N.lanes|=c,hh|=c,a.baseState=!0);return b}function Ei(a,b){var c=C;C=0!==c&&4>c?c:4;a(!0);var d=Qh.transition;Qh.transition={};try{a(!1),b()}finally{C=c,Qh.transition=d}}function Fi(){return di().memoizedState}\nfunction Gi(a,b,c){var d=lh(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(Hi(a))Ii(b,c);else if(c=Yg(a,b,c,d),null!==c){var e=L();mh(c,a,d,e);Ji(c,b,d)}}\nfunction ri(a,b,c){var d=lh(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(Hi(a))Ii(b,e);else{var f=a.alternate;if(0===a.lanes&&(null===f||0===f.lanes)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.hasEagerState=!0;e.eagerState=h;if(He(h,g)){var k=b.interleaved;null===k?(e.next=e,Xg(b)):(e.next=k.next,k.next=e);b.interleaved=e;return}}catch(l){}finally{}c=Yg(a,b,e,d);null!==c&&(e=L(),mh(c,a,d,e),Ji(c,b,d))}}\nfunction Hi(a){var b=a.alternate;return a===N||null!==b&&b===N}function Ii(a,b){Th=Sh=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function Ji(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nvar ai={readContext:Vg,useCallback:Q,useContext:Q,useEffect:Q,useImperativeHandle:Q,useInsertionEffect:Q,useLayoutEffect:Q,useMemo:Q,useReducer:Q,useRef:Q,useState:Q,useDebugValue:Q,useDeferredValue:Q,useTransition:Q,useMutableSource:Q,useSyncExternalStore:Q,useId:Q,unstable_isNewReconciler:!1},Yh={readContext:Vg,useCallback:function(a,b){ci().memoizedState=[a,void 0===b?null:b];return a},useContext:Vg,useEffect:vi,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ti(4194308,\n4,yi.bind(null,b,a),c)},useLayoutEffect:function(a,b){return ti(4194308,4,a,b)},useInsertionEffect:function(a,b){return ti(4,2,a,b)},useMemo:function(a,b){var c=ci();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=ci();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};d.queue=a;a=a.dispatch=Gi.bind(null,N,a);return[d.memoizedState,a]},useRef:function(a){var b=\nci();a={current:a};return b.memoizedState=a},useState:qi,useDebugValue:Ai,useDeferredValue:function(a){return ci().memoizedState=a},useTransition:function(){var a=qi(!1),b=a[0];a=Ei.bind(null,a[1]);ci().memoizedState=a;return[b,a]},useMutableSource:function(){},useSyncExternalStore:function(a,b,c){var d=N,e=ci();if(I){if(void 0===c)throw Error(p(407));c=c()}else{c=b();if(null===R)throw Error(p(349));0!==(Rh&30)||ni(d,b,c)}e.memoizedState=c;var f={value:c,getSnapshot:b};e.queue=f;vi(ki.bind(null,d,\nf,a),[a]);d.flags|=2048;li(9,mi.bind(null,d,f,c,b),void 0,null);return c},useId:function(){var a=ci(),b=R.identifierPrefix;if(I){var c=sg;var d=rg;c=(d&~(1<<32-oc(d)-1)).toString(32)+c;b=\":\"+b+\"R\"+c;c=Uh++;0<c&&(b+=\"H\"+c.toString(32));b+=\":\"}else c=Vh++,b=\":\"+b+\"r\"+c.toString(32)+\":\";return a.memoizedState=b},unstable_isNewReconciler:!1},Zh={readContext:Vg,useCallback:Bi,useContext:Vg,useEffect:ji,useImperativeHandle:zi,useInsertionEffect:wi,useLayoutEffect:xi,useMemo:Ci,useReducer:fi,useRef:si,useState:function(){return fi(ei)},\nuseDebugValue:Ai,useDeferredValue:function(a){var b=di();return Di(b,O.memoizedState,a)},useTransition:function(){var a=fi(ei)[0],b=di().memoizedState;return[a,b]},useMutableSource:hi,useSyncExternalStore:ii,useId:Fi,unstable_isNewReconciler:!1},$h={readContext:Vg,useCallback:Bi,useContext:Vg,useEffect:ji,useImperativeHandle:zi,useInsertionEffect:wi,useLayoutEffect:xi,useMemo:Ci,useReducer:gi,useRef:si,useState:function(){return gi(ei)},useDebugValue:Ai,useDeferredValue:function(a){var b=di();return null===\nO?b.memoizedState=a:Di(b,O.memoizedState,a)},useTransition:function(){var a=gi(ei)[0],b=di().memoizedState;return[a,b]},useMutableSource:hi,useSyncExternalStore:ii,useId:Fi,unstable_isNewReconciler:!1};function Ki(a,b){try{var c=\"\",d=b;do c+=Pa(d),d=d.return;while(d);var e=c}catch(f){e=\"\\nError generating stack: \"+f.message+\"\\n\"+f.stack}return{value:a,source:b,stack:e,digest:null}}function Li(a,b,c){return{value:a,source:null,stack:null!=c?c:null,digest:null!=b?b:null}}\nfunction Mi(a,b){try{console.error(b.value)}catch(c){setTimeout(function(){throw c;})}}var Ni=\"function\"===typeof WeakMap?WeakMap:Map;function Oi(a,b,c){c=ch(-1,c);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){Pi||(Pi=!0,Qi=d);Mi(a,b)};return c}\nfunction Ri(a,b,c){c=ch(-1,c);c.tag=3;var d=a.type.getDerivedStateFromError;if(\"function\"===typeof d){var e=b.value;c.payload=function(){return d(e)};c.callback=function(){Mi(a,b)}}var f=a.stateNode;null!==f&&\"function\"===typeof f.componentDidCatch&&(c.callback=function(){Mi(a,b);\"function\"!==typeof d&&(null===Si?Si=new Set([this]):Si.add(this));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:\"\"})});return c}\nfunction Ti(a,b,c){var d=a.pingCache;if(null===d){d=a.pingCache=new Ni;var e=new Set;d.set(b,e)}else e=d.get(b),void 0===e&&(e=new Set,d.set(b,e));e.has(c)||(e.add(c),a=Ui.bind(null,a,b,c),b.then(a,a))}function Vi(a){do{var b;if(b=13===a.tag)b=a.memoizedState,b=null!==b?null!==b.dehydrated?!0:!1:!0;if(b)return a;a=a.return}while(null!==a);return null}\nfunction Wi(a,b,c,d,e){if(0===(a.mode&1))return a===b?a.flags|=65536:(a.flags|=128,c.flags|=131072,c.flags&=-52805,1===c.tag&&(null===c.alternate?c.tag=17:(b=ch(-1,1),b.tag=2,dh(c,b,1))),c.lanes|=1),a;a.flags|=65536;a.lanes=e;return a}var Xi=ua.ReactCurrentOwner,Ug=!1;function Yi(a,b,c,d){b.child=null===a?Ch(b,null,c,d):Bh(b,a.child,c,d)}\nfunction Zi(a,b,c,d,e){c=c.render;var f=b.ref;Tg(b,e);d=Xh(a,b,c,d,f,e);c=bi();if(null!==a&&!Ug)return b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,$i(a,b,e);I&&c&&vg(b);b.flags|=1;Yi(a,b,d,e);return b.child}\nfunction aj(a,b,c,d,e){if(null===a){var f=c.type;if(\"function\"===typeof f&&!bj(f)&&void 0===f.defaultProps&&null===c.compare&&void 0===c.defaultProps)return b.tag=15,b.type=f,cj(a,b,f,d,e);a=yh(c.type,null,d,b,b.mode,e);a.ref=b.ref;a.return=b;return b.child=a}f=a.child;if(0===(a.lanes&e)){var g=f.memoizedProps;c=c.compare;c=null!==c?c:Ie;if(c(g,d)&&a.ref===b.ref)return $i(a,b,e)}b.flags|=1;a=wh(f,d);a.ref=b.ref;a.return=b;return b.child=a}\nfunction cj(a,b,c,d,e){if(null!==a){var f=a.memoizedProps;if(Ie(f,d)&&a.ref===b.ref)if(Ug=!1,b.pendingProps=d=f,0!==(a.lanes&e))0!==(a.flags&131072)&&(Ug=!0);else return b.lanes=a.lanes,$i(a,b,e)}return dj(a,b,c,d,e)}\nfunction ej(a,b,c){var d=b.pendingProps,e=d.children,f=null!==a?a.memoizedState:null;if(\"hidden\"===d.mode)if(0===(b.mode&1))b.memoizedState={baseLanes:0,cachePool:null,transitions:null},G(fj,gj),gj|=c;else{if(0===(c&1073741824))return a=null!==f?f.baseLanes|c:c,b.lanes=b.childLanes=1073741824,b.memoizedState={baseLanes:a,cachePool:null,transitions:null},b.updateQueue=null,G(fj,gj),gj|=a,null;b.memoizedState={baseLanes:0,cachePool:null,transitions:null};d=null!==f?f.baseLanes:c;G(fj,gj);gj|=d}else null!==\nf?(d=f.baseLanes|c,b.memoizedState=null):d=c,G(fj,gj),gj|=d;Yi(a,b,e,c);return b.child}function hj(a,b){var c=b.ref;if(null===a&&null!==c||null!==a&&a.ref!==c)b.flags|=512,b.flags|=2097152}function dj(a,b,c,d,e){var f=Zf(c)?Xf:H.current;f=Yf(b,f);Tg(b,e);c=Xh(a,b,c,d,f,e);d=bi();if(null!==a&&!Ug)return b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,$i(a,b,e);I&&d&&vg(b);b.flags|=1;Yi(a,b,c,e);return b.child}\nfunction ij(a,b,c,d,e){if(Zf(c)){var f=!0;cg(b)}else f=!1;Tg(b,e);if(null===b.stateNode)jj(a,b),ph(b,c,d),rh(b,c,d,e),d=!0;else if(null===a){var g=b.stateNode,h=b.memoizedProps;g.props=h;var k=g.context,l=c.contextType;\"object\"===typeof l&&null!==l?l=Vg(l):(l=Zf(c)?Xf:H.current,l=Yf(b,l));var m=c.getDerivedStateFromProps,q=\"function\"===typeof m||\"function\"===typeof g.getSnapshotBeforeUpdate;q||\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||\n(h!==d||k!==l)&&qh(b,g,d,l);$g=!1;var r=b.memoizedState;g.state=r;gh(b,d,g,e);k=b.memoizedState;h!==d||r!==k||Wf.current||$g?(\"function\"===typeof m&&(kh(b,c,m,d),k=b.memoizedState),(h=$g||oh(b,c,h,d,r,k,l))?(q||\"function\"!==typeof g.UNSAFE_componentWillMount&&\"function\"!==typeof g.componentWillMount||(\"function\"===typeof g.componentWillMount&&g.componentWillMount(),\"function\"===typeof g.UNSAFE_componentWillMount&&g.UNSAFE_componentWillMount()),\"function\"===typeof g.componentDidMount&&(b.flags|=4194308)):\n(\"function\"===typeof g.componentDidMount&&(b.flags|=4194308),b.memoizedProps=d,b.memoizedState=k),g.props=d,g.state=k,g.context=l,d=h):(\"function\"===typeof g.componentDidMount&&(b.flags|=4194308),d=!1)}else{g=b.stateNode;bh(a,b);h=b.memoizedProps;l=b.type===b.elementType?h:Lg(b.type,h);g.props=l;q=b.pendingProps;r=g.context;k=c.contextType;\"object\"===typeof k&&null!==k?k=Vg(k):(k=Zf(c)?Xf:H.current,k=Yf(b,k));var y=c.getDerivedStateFromProps;(m=\"function\"===typeof y||\"function\"===typeof g.getSnapshotBeforeUpdate)||\n\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||(h!==q||r!==k)&&qh(b,g,d,k);$g=!1;r=b.memoizedState;g.state=r;gh(b,d,g,e);var n=b.memoizedState;h!==q||r!==n||Wf.current||$g?(\"function\"===typeof y&&(kh(b,c,y,d),n=b.memoizedState),(l=$g||oh(b,c,l,d,r,n,k)||!1)?(m||\"function\"!==typeof g.UNSAFE_componentWillUpdate&&\"function\"!==typeof g.componentWillUpdate||(\"function\"===typeof g.componentWillUpdate&&g.componentWillUpdate(d,n,k),\"function\"===typeof g.UNSAFE_componentWillUpdate&&\ng.UNSAFE_componentWillUpdate(d,n,k)),\"function\"===typeof g.componentDidUpdate&&(b.flags|=4),\"function\"===typeof g.getSnapshotBeforeUpdate&&(b.flags|=1024)):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=1024),b.memoizedProps=d,b.memoizedState=n),g.props=d,g.state=n,g.context=k,d=l):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&r===\na.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=1024),d=!1)}return kj(a,b,c,d,f,e)}\nfunction kj(a,b,c,d,e,f){hj(a,b);var g=0!==(b.flags&128);if(!d&&!g)return e&&dg(b,c,!1),$i(a,b,f);d=b.stateNode;Xi.current=b;var h=g&&\"function\"!==typeof c.getDerivedStateFromError?null:d.render();b.flags|=1;null!==a&&g?(b.child=Bh(b,a.child,null,f),b.child=Bh(b,null,h,f)):Yi(a,b,h,f);b.memoizedState=d.state;e&&dg(b,c,!0);return b.child}function lj(a){var b=a.stateNode;b.pendingContext?ag(a,b.pendingContext,b.pendingContext!==b.context):b.context&&ag(a,b.context,!1);Ih(a,b.containerInfo)}\nfunction mj(a,b,c,d,e){Ig();Jg(e);b.flags|=256;Yi(a,b,c,d);return b.child}var nj={dehydrated:null,treeContext:null,retryLane:0};function oj(a){return{baseLanes:a,cachePool:null,transitions:null}}\nfunction pj(a,b,c){var d=b.pendingProps,e=M.current,f=!1,g=0!==(b.flags&128),h;(h=g)||(h=null!==a&&null===a.memoizedState?!1:0!==(e&2));if(h)f=!0,b.flags&=-129;else if(null===a||null!==a.memoizedState)e|=1;G(M,e&1);if(null===a){Eg(b);a=b.memoizedState;if(null!==a&&(a=a.dehydrated,null!==a))return 0===(b.mode&1)?b.lanes=1:\"$!\"===a.data?b.lanes=8:b.lanes=1073741824,null;g=d.children;a=d.fallback;return f?(d=b.mode,f=b.child,g={mode:\"hidden\",children:g},0===(d&1)&&null!==f?(f.childLanes=0,f.pendingProps=\ng):f=qj(g,d,0,null),a=Ah(a,d,c,null),f.return=b,a.return=b,f.sibling=a,b.child=f,b.child.memoizedState=oj(c),b.memoizedState=nj,a):rj(b,g)}e=a.memoizedState;if(null!==e&&(h=e.dehydrated,null!==h))return sj(a,b,g,d,h,e,c);if(f){f=d.fallback;g=b.mode;e=a.child;h=e.sibling;var k={mode:\"hidden\",children:d.children};0===(g&1)&&b.child!==e?(d=b.child,d.childLanes=0,d.pendingProps=k,b.deletions=null):(d=wh(e,k),d.subtreeFlags=e.subtreeFlags&14680064);null!==h?f=wh(h,f):(f=Ah(f,g,c,null),f.flags|=2);f.return=\nb;d.return=b;d.sibling=f;b.child=d;d=f;f=b.child;g=a.child.memoizedState;g=null===g?oj(c):{baseLanes:g.baseLanes|c,cachePool:null,transitions:g.transitions};f.memoizedState=g;f.childLanes=a.childLanes&~c;b.memoizedState=nj;return d}f=a.child;a=f.sibling;d=wh(f,{mode:\"visible\",children:d.children});0===(b.mode&1)&&(d.lanes=c);d.return=b;d.sibling=null;null!==a&&(c=b.deletions,null===c?(b.deletions=[a],b.flags|=16):c.push(a));b.child=d;b.memoizedState=null;return d}\nfunction rj(a,b){b=qj({mode:\"visible\",children:b},a.mode,0,null);b.return=a;return a.child=b}function tj(a,b,c,d){null!==d&&Jg(d);Bh(b,a.child,null,c);a=rj(b,b.pendingProps.children);a.flags|=2;b.memoizedState=null;return a}\nfunction sj(a,b,c,d,e,f,g){if(c){if(b.flags&256)return b.flags&=-257,d=Li(Error(p(422))),tj(a,b,g,d);if(null!==b.memoizedState)return b.child=a.child,b.flags|=128,null;f=d.fallback;e=b.mode;d=qj({mode:\"visible\",children:d.children},e,0,null);f=Ah(f,e,g,null);f.flags|=2;d.return=b;f.return=b;d.sibling=f;b.child=d;0!==(b.mode&1)&&Bh(b,a.child,null,g);b.child.memoizedState=oj(g);b.memoizedState=nj;return f}if(0===(b.mode&1))return tj(a,b,g,null);if(\"$!\"===e.data){d=e.nextSibling&&e.nextSibling.dataset;\nif(d)var h=d.dgst;d=h;f=Error(p(419));d=Li(f,d,void 0);return tj(a,b,g,d)}h=0!==(g&a.childLanes);if(Ug||h){d=R;if(null!==d){switch(g&-g){case 4:e=2;break;case 16:e=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:e=32;break;case 536870912:e=268435456;break;default:e=0}e=0!==(e&(d.suspendedLanes|g))?0:e;\n0!==e&&e!==f.retryLane&&(f.retryLane=e,Zg(a,e),mh(d,a,e,-1))}uj();d=Li(Error(p(421)));return tj(a,b,g,d)}if(\"$?\"===e.data)return b.flags|=128,b.child=a.child,b=vj.bind(null,a),e._reactRetry=b,null;a=f.treeContext;yg=Lf(e.nextSibling);xg=b;I=!0;zg=null;null!==a&&(og[pg++]=rg,og[pg++]=sg,og[pg++]=qg,rg=a.id,sg=a.overflow,qg=b);b=rj(b,d.children);b.flags|=4096;return b}function wj(a,b,c){a.lanes|=b;var d=a.alternate;null!==d&&(d.lanes|=b);Sg(a.return,b,c)}\nfunction xj(a,b,c,d,e){var f=a.memoizedState;null===f?a.memoizedState={isBackwards:b,rendering:null,renderingStartTime:0,last:d,tail:c,tailMode:e}:(f.isBackwards=b,f.rendering=null,f.renderingStartTime=0,f.last=d,f.tail=c,f.tailMode=e)}\nfunction yj(a,b,c){var d=b.pendingProps,e=d.revealOrder,f=d.tail;Yi(a,b,d.children,c);d=M.current;if(0!==(d&2))d=d&1|2,b.flags|=128;else{if(null!==a&&0!==(a.flags&128))a:for(a=b.child;null!==a;){if(13===a.tag)null!==a.memoizedState&&wj(a,c,b);else if(19===a.tag)wj(a,c,b);else if(null!==a.child){a.child.return=a;a=a.child;continue}if(a===b)break a;for(;null===a.sibling;){if(null===a.return||a.return===b)break a;a=a.return}a.sibling.return=a.return;a=a.sibling}d&=1}G(M,d);if(0===(b.mode&1))b.memoizedState=\nnull;else switch(e){case \"forwards\":c=b.child;for(e=null;null!==c;)a=c.alternate,null!==a&&null===Mh(a)&&(e=c),c=c.sibling;c=e;null===c?(e=b.child,b.child=null):(e=c.sibling,c.sibling=null);xj(b,!1,e,c,f);break;case \"backwards\":c=null;e=b.child;for(b.child=null;null!==e;){a=e.alternate;if(null!==a&&null===Mh(a)){b.child=e;break}a=e.sibling;e.sibling=c;c=e;e=a}xj(b,!0,c,null,f);break;case \"together\":xj(b,!1,null,null,void 0);break;default:b.memoizedState=null}return b.child}\nfunction jj(a,b){0===(b.mode&1)&&null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2)}function $i(a,b,c){null!==a&&(b.dependencies=a.dependencies);hh|=b.lanes;if(0===(c&b.childLanes))return null;if(null!==a&&b.child!==a.child)throw Error(p(153));if(null!==b.child){a=b.child;c=wh(a,a.pendingProps);b.child=c;for(c.return=b;null!==a.sibling;)a=a.sibling,c=c.sibling=wh(a,a.pendingProps),c.return=b;c.sibling=null}return b.child}\nfunction zj(a,b,c){switch(b.tag){case 3:lj(b);Ig();break;case 5:Kh(b);break;case 1:Zf(b.type)&&cg(b);break;case 4:Ih(b,b.stateNode.containerInfo);break;case 10:var d=b.type._context,e=b.memoizedProps.value;G(Mg,d._currentValue);d._currentValue=e;break;case 13:d=b.memoizedState;if(null!==d){if(null!==d.dehydrated)return G(M,M.current&1),b.flags|=128,null;if(0!==(c&b.child.childLanes))return pj(a,b,c);G(M,M.current&1);a=$i(a,b,c);return null!==a?a.sibling:null}G(M,M.current&1);break;case 19:d=0!==(c&\nb.childLanes);if(0!==(a.flags&128)){if(d)return yj(a,b,c);b.flags|=128}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null,e.lastEffect=null);G(M,M.current);if(d)break;else return null;case 22:case 23:return b.lanes=0,ej(a,b,c)}return $i(a,b,c)}var Aj,Bj,Cj,Dj;\nAj=function(a,b){for(var c=b.child;null!==c;){if(5===c.tag||6===c.tag)a.appendChild(c.stateNode);else if(4!==c.tag&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return}c.sibling.return=c.return;c=c.sibling}};Bj=function(){};\nCj=function(a,b,c,d){var e=a.memoizedProps;if(e!==d){a=b.stateNode;Hh(Eh.current);var f=null;switch(c){case \"input\":e=Ya(a,e);d=Ya(a,d);f=[];break;case \"select\":e=A({},e,{value:void 0});d=A({},d,{value:void 0});f=[];break;case \"textarea\":e=gb(a,e);d=gb(a,d);f=[];break;default:\"function\"!==typeof e.onClick&&\"function\"===typeof d.onClick&&(a.onclick=Bf)}ub(c,d);var g;c=null;for(l in e)if(!d.hasOwnProperty(l)&&e.hasOwnProperty(l)&&null!=e[l])if(\"style\"===l){var h=e[l];for(g in h)h.hasOwnProperty(g)&&\n(c||(c={}),c[g]=\"\")}else\"dangerouslySetInnerHTML\"!==l&&\"children\"!==l&&\"suppressContentEditableWarning\"!==l&&\"suppressHydrationWarning\"!==l&&\"autoFocus\"!==l&&(ea.hasOwnProperty(l)?f||(f=[]):(f=f||[]).push(l,null));for(l in d){var k=d[l];h=null!=e?e[l]:void 0;if(d.hasOwnProperty(l)&&k!==h&&(null!=k||null!=h))if(\"style\"===l)if(h){for(g in h)!h.hasOwnProperty(g)||k&&k.hasOwnProperty(g)||(c||(c={}),c[g]=\"\");for(g in k)k.hasOwnProperty(g)&&h[g]!==k[g]&&(c||(c={}),c[g]=k[g])}else c||(f||(f=[]),f.push(l,\nc)),c=k;else\"dangerouslySetInnerHTML\"===l?(k=k?k.__html:void 0,h=h?h.__html:void 0,null!=k&&h!==k&&(f=f||[]).push(l,k)):\"children\"===l?\"string\"!==typeof k&&\"number\"!==typeof k||(f=f||[]).push(l,\"\"+k):\"suppressContentEditableWarning\"!==l&&\"suppressHydrationWarning\"!==l&&(ea.hasOwnProperty(l)?(null!=k&&\"onScroll\"===l&&D(\"scroll\",a),f||h===k||(f=[])):(f=f||[]).push(l,k))}c&&(f=f||[]).push(\"style\",c);var l=f;if(b.updateQueue=l)b.flags|=4}};Dj=function(a,b,c,d){c!==d&&(b.flags|=4)};\nfunction Ej(a,b){if(!I)switch(a.tailMode){case \"hidden\":b=a.tail;for(var c=null;null!==b;)null!==b.alternate&&(c=b),b=b.sibling;null===c?a.tail=null:c.sibling=null;break;case \"collapsed\":c=a.tail;for(var d=null;null!==c;)null!==c.alternate&&(d=c),c=c.sibling;null===d?b||null===a.tail?a.tail=null:a.tail.sibling=null:d.sibling=null}}\nfunction S(a){var b=null!==a.alternate&&a.alternate.child===a.child,c=0,d=0;if(b)for(var e=a.child;null!==e;)c|=e.lanes|e.childLanes,d|=e.subtreeFlags&14680064,d|=e.flags&14680064,e.return=a,e=e.sibling;else for(e=a.child;null!==e;)c|=e.lanes|e.childLanes,d|=e.subtreeFlags,d|=e.flags,e.return=a,e=e.sibling;a.subtreeFlags|=d;a.childLanes=c;return b}\nfunction Fj(a,b,c){var d=b.pendingProps;wg(b);switch(b.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return S(b),null;case 1:return Zf(b.type)&&$f(),S(b),null;case 3:d=b.stateNode;Jh();E(Wf);E(H);Oh();d.pendingContext&&(d.context=d.pendingContext,d.pendingContext=null);if(null===a||null===a.child)Gg(b)?b.flags|=4:null===a||a.memoizedState.isDehydrated&&0===(b.flags&256)||(b.flags|=1024,null!==zg&&(Gj(zg),zg=null));Bj(a,b);S(b);return null;case 5:Lh(b);var e=Hh(Gh.current);\nc=b.type;if(null!==a&&null!=b.stateNode)Cj(a,b,c,d,e),a.ref!==b.ref&&(b.flags|=512,b.flags|=2097152);else{if(!d){if(null===b.stateNode)throw Error(p(166));S(b);return null}a=Hh(Eh.current);if(Gg(b)){d=b.stateNode;c=b.type;var f=b.memoizedProps;d[Of]=b;d[Pf]=f;a=0!==(b.mode&1);switch(c){case \"dialog\":D(\"cancel\",d);D(\"close\",d);break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",d);break;case \"video\":case \"audio\":for(e=0;e<lf.length;e++)D(lf[e],d);break;case \"source\":D(\"error\",d);break;case \"img\":case \"image\":case \"link\":D(\"error\",\nd);D(\"load\",d);break;case \"details\":D(\"toggle\",d);break;case \"input\":Za(d,f);D(\"invalid\",d);break;case \"select\":d._wrapperState={wasMultiple:!!f.multiple};D(\"invalid\",d);break;case \"textarea\":hb(d,f),D(\"invalid\",d)}ub(c,f);e=null;for(var g in f)if(f.hasOwnProperty(g)){var h=f[g];\"children\"===g?\"string\"===typeof h?d.textContent!==h&&(!0!==f.suppressHydrationWarning&&Af(d.textContent,h,a),e=[\"children\",h]):\"number\"===typeof h&&d.textContent!==\"\"+h&&(!0!==f.suppressHydrationWarning&&Af(d.textContent,\nh,a),e=[\"children\",\"\"+h]):ea.hasOwnProperty(g)&&null!=h&&\"onScroll\"===g&&D(\"scroll\",d)}switch(c){case \"input\":Va(d);db(d,f,!0);break;case \"textarea\":Va(d);jb(d);break;case \"select\":case \"option\":break;default:\"function\"===typeof f.onClick&&(d.onclick=Bf)}d=e;b.updateQueue=d;null!==d&&(b.flags|=4)}else{g=9===e.nodeType?e:e.ownerDocument;\"http://www.w3.org/1999/xhtml\"===a&&(a=kb(c));\"http://www.w3.org/1999/xhtml\"===a?\"script\"===c?(a=g.createElement(\"div\"),a.innerHTML=\"<script>\\x3c/script>\",a=a.removeChild(a.firstChild)):\n\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[Of]=b;a[Pf]=d;Aj(a,b,!1,!1);b.stateNode=a;a:{g=vb(c,d);switch(c){case \"dialog\":D(\"cancel\",a);D(\"close\",a);e=d;break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;e<lf.length;e++)D(lf[e],a);e=d;break;case \"source\":D(\"error\",a);e=d;break;case \"img\":case \"image\":case \"link\":D(\"error\",\na);D(\"load\",a);e=d;break;case \"details\":D(\"toggle\",a);e=d;break;case \"input\":Za(a,d);e=Ya(a,d);D(\"invalid\",a);break;case \"option\":e=d;break;case \"select\":a._wrapperState={wasMultiple:!!d.multiple};e=A({},d,{value:void 0});D(\"invalid\",a);break;case \"textarea\":hb(a,d);e=gb(a,d);D(\"invalid\",a);break;default:e=d}ub(c,e);h=e;for(f in h)if(h.hasOwnProperty(f)){var k=h[f];\"style\"===f?sb(a,k):\"dangerouslySetInnerHTML\"===f?(k=k?k.__html:void 0,null!=k&&nb(a,k)):\"children\"===f?\"string\"===typeof k?(\"textarea\"!==\nc||\"\"!==k)&&ob(a,k):\"number\"===typeof k&&ob(a,\"\"+k):\"suppressContentEditableWarning\"!==f&&\"suppressHydrationWarning\"!==f&&\"autoFocus\"!==f&&(ea.hasOwnProperty(f)?null!=k&&\"onScroll\"===f&&D(\"scroll\",a):null!=k&&ta(a,f,k,g))}switch(c){case \"input\":Va(a);db(a,d,!1);break;case \"textarea\":Va(a);jb(a);break;case \"option\":null!=d.value&&a.setAttribute(\"value\",\"\"+Sa(d.value));break;case \"select\":a.multiple=!!d.multiple;f=d.value;null!=f?fb(a,!!d.multiple,f,!1):null!=d.defaultValue&&fb(a,!!d.multiple,d.defaultValue,\n!0);break;default:\"function\"===typeof e.onClick&&(a.onclick=Bf)}switch(c){case \"button\":case \"input\":case \"select\":case \"textarea\":d=!!d.autoFocus;break a;case \"img\":d=!0;break a;default:d=!1}}d&&(b.flags|=4)}null!==b.ref&&(b.flags|=512,b.flags|=2097152)}S(b);return null;case 6:if(a&&null!=b.stateNode)Dj(a,b,a.memoizedProps,d);else{if(\"string\"!==typeof d&&null===b.stateNode)throw Error(p(166));c=Hh(Gh.current);Hh(Eh.current);if(Gg(b)){d=b.stateNode;c=b.memoizedProps;d[Of]=b;if(f=d.nodeValue!==c)if(a=\nxg,null!==a)switch(a.tag){case 3:Af(d.nodeValue,c,0!==(a.mode&1));break;case 5:!0!==a.memoizedProps.suppressHydrationWarning&&Af(d.nodeValue,c,0!==(a.mode&1))}f&&(b.flags|=4)}else d=(9===c.nodeType?c:c.ownerDocument).createTextNode(d),d[Of]=b,b.stateNode=d}S(b);return null;case 13:E(M);d=b.memoizedState;if(null===a||null!==a.memoizedState&&null!==a.memoizedState.dehydrated){if(I&&null!==yg&&0!==(b.mode&1)&&0===(b.flags&128))Hg(),Ig(),b.flags|=98560,f=!1;else if(f=Gg(b),null!==d&&null!==d.dehydrated){if(null===\na){if(!f)throw Error(p(318));f=b.memoizedState;f=null!==f?f.dehydrated:null;if(!f)throw Error(p(317));f[Of]=b}else Ig(),0===(b.flags&128)&&(b.memoizedState=null),b.flags|=4;S(b);f=!1}else null!==zg&&(Gj(zg),zg=null),f=!0;if(!f)return b.flags&65536?b:null}if(0!==(b.flags&128))return b.lanes=c,b;d=null!==d;d!==(null!==a&&null!==a.memoizedState)&&d&&(b.child.flags|=8192,0!==(b.mode&1)&&(null===a||0!==(M.current&1)?0===T&&(T=3):uj()));null!==b.updateQueue&&(b.flags|=4);S(b);return null;case 4:return Jh(),\nBj(a,b),null===a&&sf(b.stateNode.containerInfo),S(b),null;case 10:return Rg(b.type._context),S(b),null;case 17:return Zf(b.type)&&$f(),S(b),null;case 19:E(M);f=b.memoizedState;if(null===f)return S(b),null;d=0!==(b.flags&128);g=f.rendering;if(null===g)if(d)Ej(f,!1);else{if(0!==T||null!==a&&0!==(a.flags&128))for(a=b.child;null!==a;){g=Mh(a);if(null!==g){b.flags|=128;Ej(f,!1);d=g.updateQueue;null!==d&&(b.updateQueue=d,b.flags|=4);b.subtreeFlags=0;d=c;for(c=b.child;null!==c;)f=c,a=d,f.flags&=14680066,\ng=f.alternate,null===g?(f.childLanes=0,f.lanes=a,f.child=null,f.subtreeFlags=0,f.memoizedProps=null,f.memoizedState=null,f.updateQueue=null,f.dependencies=null,f.stateNode=null):(f.childLanes=g.childLanes,f.lanes=g.lanes,f.child=g.child,f.subtreeFlags=0,f.deletions=null,f.memoizedProps=g.memoizedProps,f.memoizedState=g.memoizedState,f.updateQueue=g.updateQueue,f.type=g.type,a=g.dependencies,f.dependencies=null===a?null:{lanes:a.lanes,firstContext:a.firstContext}),c=c.sibling;G(M,M.current&1|2);return b.child}a=\na.sibling}null!==f.tail&&B()>Hj&&(b.flags|=128,d=!0,Ej(f,!1),b.lanes=4194304)}else{if(!d)if(a=Mh(g),null!==a){if(b.flags|=128,d=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Ej(f,!0),null===f.tail&&\"hidden\"===f.tailMode&&!g.alternate&&!I)return S(b),null}else 2*B()-f.renderingStartTime>Hj&&1073741824!==c&&(b.flags|=128,d=!0,Ej(f,!1),b.lanes=4194304);f.isBackwards?(g.sibling=b.child,b.child=g):(c=f.last,null!==c?c.sibling=g:b.child=g,f.last=g)}if(null!==f.tail)return b=f.tail,f.rendering=\nb,f.tail=b.sibling,f.renderingStartTime=B(),b.sibling=null,c=M.current,G(M,d?c&1|2:c&1),b;S(b);return null;case 22:case 23:return Ij(),d=null!==b.memoizedState,null!==a&&null!==a.memoizedState!==d&&(b.flags|=8192),d&&0!==(b.mode&1)?0!==(gj&1073741824)&&(S(b),b.subtreeFlags&6&&(b.flags|=8192)):S(b),null;case 24:return null;case 25:return null}throw Error(p(156,b.tag));}\nfunction Jj(a,b){wg(b);switch(b.tag){case 1:return Zf(b.type)&&$f(),a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 3:return Jh(),E(Wf),E(H),Oh(),a=b.flags,0!==(a&65536)&&0===(a&128)?(b.flags=a&-65537|128,b):null;case 5:return Lh(b),null;case 13:E(M);a=b.memoizedState;if(null!==a&&null!==a.dehydrated){if(null===b.alternate)throw Error(p(340));Ig()}a=b.flags;return a&65536?(b.flags=a&-65537|128,b):null;case 19:return E(M),null;case 4:return Jh(),null;case 10:return Rg(b.type._context),null;case 22:case 23:return Ij(),\nnull;case 24:return null;default:return null}}var Kj=!1,U=!1,Lj=\"function\"===typeof WeakSet?WeakSet:Set,V=null;function Mj(a,b){var c=a.ref;if(null!==c)if(\"function\"===typeof c)try{c(null)}catch(d){W(a,b,d)}else c.current=null}function Nj(a,b,c){try{c()}catch(d){W(a,b,d)}}var Oj=!1;\nfunction Pj(a,b){Cf=dd;a=Me();if(Ne(a)){if(\"selectionStart\"in a)var c={start:a.selectionStart,end:a.selectionEnd};else a:{c=(c=a.ownerDocument)&&c.defaultView||window;var d=c.getSelection&&c.getSelection();if(d&&0!==d.rangeCount){c=d.anchorNode;var e=d.anchorOffset,f=d.focusNode;d=d.focusOffset;try{c.nodeType,f.nodeType}catch(F){c=null;break a}var g=0,h=-1,k=-1,l=0,m=0,q=a,r=null;b:for(;;){for(var y;;){q!==c||0!==e&&3!==q.nodeType||(h=g+e);q!==f||0!==d&&3!==q.nodeType||(k=g+d);3===q.nodeType&&(g+=\nq.nodeValue.length);if(null===(y=q.firstChild))break;r=q;q=y}for(;;){if(q===a)break b;r===c&&++l===e&&(h=g);r===f&&++m===d&&(k=g);if(null!==(y=q.nextSibling))break;q=r;r=q.parentNode}q=y}c=-1===h||-1===k?null:{start:h,end:k}}else c=null}c=c||{start:0,end:0}}else c=null;Df={focusedElem:a,selectionRange:c};dd=!1;for(V=b;null!==V;)if(b=V,a=b.child,0!==(b.subtreeFlags&1028)&&null!==a)a.return=b,V=a;else for(;null!==V;){b=V;try{var n=b.alternate;if(0!==(b.flags&1024))switch(b.tag){case 0:case 11:case 15:break;\ncase 1:if(null!==n){var t=n.memoizedProps,J=n.memoizedState,x=b.stateNode,w=x.getSnapshotBeforeUpdate(b.elementType===b.type?t:Lg(b.type,t),J);x.__reactInternalSnapshotBeforeUpdate=w}break;case 3:var u=b.stateNode.containerInfo;1===u.nodeType?u.textContent=\"\":9===u.nodeType&&u.documentElement&&u.removeChild(u.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p(163));}}catch(F){W(b,b.return,F)}a=b.sibling;if(null!==a){a.return=b.return;V=a;break}V=b.return}n=Oj;Oj=!1;return n}\nfunction Qj(a,b,c){var d=b.updateQueue;d=null!==d?d.lastEffect:null;if(null!==d){var e=d=d.next;do{if((e.tag&a)===a){var f=e.destroy;e.destroy=void 0;void 0!==f&&Nj(b,c,f)}e=e.next}while(e!==d)}}function Rj(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}function Sj(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case 5:a=c;break;default:a=c}\"function\"===typeof b?b(a):b.current=a}}\nfunction Tj(a){var b=a.alternate;null!==b&&(a.alternate=null,Tj(b));a.child=null;a.deletions=null;a.sibling=null;5===a.tag&&(b=a.stateNode,null!==b&&(delete b[Of],delete b[Pf],delete b[of],delete b[Qf],delete b[Rf]));a.stateNode=null;a.return=null;a.dependencies=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.stateNode=null;a.updateQueue=null}function Uj(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Vj(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Uj(a.return))return null;a=a.return}a.sibling.return=a.return;for(a=a.sibling;5!==a.tag&&6!==a.tag&&18!==a.tag;){if(a.flags&2)continue a;if(null===a.child||4===a.tag)continue a;else a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}\nfunction Wj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=Bf));else if(4!==d&&(a=a.child,null!==a))for(Wj(a,b,c),a=a.sibling;null!==a;)Wj(a,b,c),a=a.sibling}\nfunction Xj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Xj(a,b,c),a=a.sibling;null!==a;)Xj(a,b,c),a=a.sibling}var X=null,Yj=!1;function Zj(a,b,c){for(c=c.child;null!==c;)ak(a,b,c),c=c.sibling}\nfunction ak(a,b,c){if(lc&&\"function\"===typeof lc.onCommitFiberUnmount)try{lc.onCommitFiberUnmount(kc,c)}catch(h){}switch(c.tag){case 5:U||Mj(c,b);case 6:var d=X,e=Yj;X=null;Zj(a,b,c);X=d;Yj=e;null!==X&&(Yj?(a=X,c=c.stateNode,8===a.nodeType?a.parentNode.removeChild(c):a.removeChild(c)):X.removeChild(c.stateNode));break;case 18:null!==X&&(Yj?(a=X,c=c.stateNode,8===a.nodeType?Kf(a.parentNode,c):1===a.nodeType&&Kf(a,c),bd(a)):Kf(X,c.stateNode));break;case 4:d=X;e=Yj;X=c.stateNode.containerInfo;Yj=!0;\nZj(a,b,c);X=d;Yj=e;break;case 0:case 11:case 14:case 15:if(!U&&(d=c.updateQueue,null!==d&&(d=d.lastEffect,null!==d))){e=d=d.next;do{var f=e,g=f.destroy;f=f.tag;void 0!==g&&(0!==(f&2)?Nj(c,b,g):0!==(f&4)&&Nj(c,b,g));e=e.next}while(e!==d)}Zj(a,b,c);break;case 1:if(!U&&(Mj(c,b),d=c.stateNode,\"function\"===typeof d.componentWillUnmount))try{d.props=c.memoizedProps,d.state=c.memoizedState,d.componentWillUnmount()}catch(h){W(c,b,h)}Zj(a,b,c);break;case 21:Zj(a,b,c);break;case 22:c.mode&1?(U=(d=U)||null!==\nc.memoizedState,Zj(a,b,c),U=d):Zj(a,b,c);break;default:Zj(a,b,c)}}function bk(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Lj);b.forEach(function(b){var d=ck.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction dk(a,b){var c=b.deletions;if(null!==c)for(var d=0;d<c.length;d++){var e=c[d];try{var f=a,g=b,h=g;a:for(;null!==h;){switch(h.tag){case 5:X=h.stateNode;Yj=!1;break a;case 3:X=h.stateNode.containerInfo;Yj=!0;break a;case 4:X=h.stateNode.containerInfo;Yj=!0;break a}h=h.return}if(null===X)throw Error(p(160));ak(f,g,e);X=null;Yj=!1;var k=e.alternate;null!==k&&(k.return=null);e.return=null}catch(l){W(e,b,l)}}if(b.subtreeFlags&12854)for(b=b.child;null!==b;)ek(b,a),b=b.sibling}\nfunction ek(a,b){var c=a.alternate,d=a.flags;switch(a.tag){case 0:case 11:case 14:case 15:dk(b,a);fk(a);if(d&4){try{Qj(3,a,a.return),Rj(3,a)}catch(t){W(a,a.return,t)}try{Qj(5,a,a.return)}catch(t){W(a,a.return,t)}}break;case 1:dk(b,a);fk(a);d&512&&null!==c&&Mj(c,c.return);break;case 5:dk(b,a);fk(a);d&512&&null!==c&&Mj(c,c.return);if(a.flags&32){var e=a.stateNode;try{ob(e,\"\")}catch(t){W(a,a.return,t)}}if(d&4&&(e=a.stateNode,null!=e)){var f=a.memoizedProps,g=null!==c?c.memoizedProps:f,h=a.type,k=a.updateQueue;\na.updateQueue=null;if(null!==k)try{\"input\"===h&&\"radio\"===f.type&&null!=f.name&&ab(e,f);vb(h,g);var l=vb(h,f);for(g=0;g<k.length;g+=2){var m=k[g],q=k[g+1];\"style\"===m?sb(e,q):\"dangerouslySetInnerHTML\"===m?nb(e,q):\"children\"===m?ob(e,q):ta(e,m,q,l)}switch(h){case \"input\":bb(e,f);break;case \"textarea\":ib(e,f);break;case \"select\":var r=e._wrapperState.wasMultiple;e._wrapperState.wasMultiple=!!f.multiple;var y=f.value;null!=y?fb(e,!!f.multiple,y,!1):r!==!!f.multiple&&(null!=f.defaultValue?fb(e,!!f.multiple,\nf.defaultValue,!0):fb(e,!!f.multiple,f.multiple?[]:\"\",!1))}e[Pf]=f}catch(t){W(a,a.return,t)}}break;case 6:dk(b,a);fk(a);if(d&4){if(null===a.stateNode)throw Error(p(162));e=a.stateNode;f=a.memoizedProps;try{e.nodeValue=f}catch(t){W(a,a.return,t)}}break;case 3:dk(b,a);fk(a);if(d&4&&null!==c&&c.memoizedState.isDehydrated)try{bd(b.containerInfo)}catch(t){W(a,a.return,t)}break;case 4:dk(b,a);fk(a);break;case 13:dk(b,a);fk(a);e=a.child;e.flags&8192&&(f=null!==e.memoizedState,e.stateNode.isHidden=f,!f||\nnull!==e.alternate&&null!==e.alternate.memoizedState||(gk=B()));d&4&&bk(a);break;case 22:m=null!==c&&null!==c.memoizedState;a.mode&1?(U=(l=U)||m,dk(b,a),U=l):dk(b,a);fk(a);if(d&8192){l=null!==a.memoizedState;if((a.stateNode.isHidden=l)&&!m&&0!==(a.mode&1))for(V=a,m=a.child;null!==m;){for(q=V=m;null!==V;){r=V;y=r.child;switch(r.tag){case 0:case 11:case 14:case 15:Qj(4,r,r.return);break;case 1:Mj(r,r.return);var n=r.stateNode;if(\"function\"===typeof n.componentWillUnmount){d=r;c=r.return;try{b=d,n.props=\nb.memoizedProps,n.state=b.memoizedState,n.componentWillUnmount()}catch(t){W(d,c,t)}}break;case 5:Mj(r,r.return);break;case 22:if(null!==r.memoizedState){hk(q);continue}}null!==y?(y.return=r,V=y):hk(q)}m=m.sibling}a:for(m=null,q=a;;){if(5===q.tag){if(null===m){m=q;try{e=q.stateNode,l?(f=e.style,\"function\"===typeof f.setProperty?f.setProperty(\"display\",\"none\",\"important\"):f.display=\"none\"):(h=q.stateNode,k=q.memoizedProps.style,g=void 0!==k&&null!==k&&k.hasOwnProperty(\"display\")?k.display:null,h.style.display=\nrb(\"display\",g))}catch(t){W(a,a.return,t)}}}else if(6===q.tag){if(null===m)try{q.stateNode.nodeValue=l?\"\":q.memoizedProps}catch(t){W(a,a.return,t)}}else if((22!==q.tag&&23!==q.tag||null===q.memoizedState||q===a)&&null!==q.child){q.child.return=q;q=q.child;continue}if(q===a)break a;for(;null===q.sibling;){if(null===q.return||q.return===a)break a;m===q&&(m=null);q=q.return}m===q&&(m=null);q.sibling.return=q.return;q=q.sibling}}break;case 19:dk(b,a);fk(a);d&4&&bk(a);break;case 21:break;default:dk(b,\na),fk(a)}}function fk(a){var b=a.flags;if(b&2){try{a:{for(var c=a.return;null!==c;){if(Uj(c)){var d=c;break a}c=c.return}throw Error(p(160));}switch(d.tag){case 5:var e=d.stateNode;d.flags&32&&(ob(e,\"\"),d.flags&=-33);var f=Vj(a);Xj(a,f,e);break;case 3:case 4:var g=d.stateNode.containerInfo,h=Vj(a);Wj(a,h,g);break;default:throw Error(p(161));}}catch(k){W(a,a.return,k)}a.flags&=-3}b&4096&&(a.flags&=-4097)}function ik(a,b,c){V=a;jk(a,b,c)}\nfunction jk(a,b,c){for(var d=0!==(a.mode&1);null!==V;){var e=V,f=e.child;if(22===e.tag&&d){var g=null!==e.memoizedState||Kj;if(!g){var h=e.alternate,k=null!==h&&null!==h.memoizedState||U;h=Kj;var l=U;Kj=g;if((U=k)&&!l)for(V=e;null!==V;)g=V,k=g.child,22===g.tag&&null!==g.memoizedState?kk(e):null!==k?(k.return=g,V=k):kk(e);for(;null!==f;)V=f,jk(f,b,c),f=f.sibling;V=e;Kj=h;U=l}lk(a,b,c)}else 0!==(e.subtreeFlags&8772)&&null!==f?(f.return=e,V=f):lk(a,b,c)}}\nfunction lk(a){for(;null!==V;){var b=V;if(0!==(b.flags&8772)){var c=b.alternate;try{if(0!==(b.flags&8772))switch(b.tag){case 0:case 11:case 15:U||Rj(5,b);break;case 1:var d=b.stateNode;if(b.flags&4&&!U)if(null===c)d.componentDidMount();else{var e=b.elementType===b.type?c.memoizedProps:Lg(b.type,c.memoizedProps);d.componentDidUpdate(e,c.memoizedState,d.__reactInternalSnapshotBeforeUpdate)}var f=b.updateQueue;null!==f&&ih(b,f,d);break;case 3:var g=b.updateQueue;if(null!==g){c=null;if(null!==b.child)switch(b.child.tag){case 5:c=\nb.child.stateNode;break;case 1:c=b.child.stateNode}ih(b,g,c)}break;case 5:var h=b.stateNode;if(null===c&&b.flags&4){c=h;var k=b.memoizedProps;switch(b.type){case \"button\":case \"input\":case \"select\":case \"textarea\":k.autoFocus&&c.focus();break;case \"img\":k.src&&(c.src=k.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(null===b.memoizedState){var l=b.alternate;if(null!==l){var m=l.memoizedState;if(null!==m){var q=m.dehydrated;null!==q&&bd(q)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;\ndefault:throw Error(p(163));}U||b.flags&512&&Sj(b)}catch(r){W(b,b.return,r)}}if(b===a){V=null;break}c=b.sibling;if(null!==c){c.return=b.return;V=c;break}V=b.return}}function hk(a){for(;null!==V;){var b=V;if(b===a){V=null;break}var c=b.sibling;if(null!==c){c.return=b.return;V=c;break}V=b.return}}\nfunction kk(a){for(;null!==V;){var b=V;try{switch(b.tag){case 0:case 11:case 15:var c=b.return;try{Rj(4,b)}catch(k){W(b,c,k)}break;case 1:var d=b.stateNode;if(\"function\"===typeof d.componentDidMount){var e=b.return;try{d.componentDidMount()}catch(k){W(b,e,k)}}var f=b.return;try{Sj(b)}catch(k){W(b,f,k)}break;case 5:var g=b.return;try{Sj(b)}catch(k){W(b,g,k)}}}catch(k){W(b,b.return,k)}if(b===a){V=null;break}var h=b.sibling;if(null!==h){h.return=b.return;V=h;break}V=b.return}}\nvar mk=Math.ceil,nk=ua.ReactCurrentDispatcher,ok=ua.ReactCurrentOwner,pk=ua.ReactCurrentBatchConfig,K=0,R=null,Y=null,Z=0,gj=0,fj=Uf(0),T=0,qk=null,hh=0,rk=0,sk=0,tk=null,uk=null,gk=0,Hj=Infinity,vk=null,Pi=!1,Qi=null,Si=null,wk=!1,xk=null,yk=0,zk=0,Ak=null,Bk=-1,Ck=0;function L(){return 0!==(K&6)?B():-1!==Bk?Bk:Bk=B()}\nfunction lh(a){if(0===(a.mode&1))return 1;if(0!==(K&2)&&0!==Z)return Z&-Z;if(null!==Kg.transition)return 0===Ck&&(Ck=yc()),Ck;a=C;if(0!==a)return a;a=window.event;a=void 0===a?16:jd(a.type);return a}function mh(a,b,c,d){if(50<zk)throw zk=0,Ak=null,Error(p(185));Ac(a,c,d);if(0===(K&2)||a!==R)a===R&&(0===(K&2)&&(rk|=c),4===T&&Dk(a,Z)),Ek(a,d),1===c&&0===K&&0===(b.mode&1)&&(Hj=B()+500,fg&&jg())}\nfunction Ek(a,b){var c=a.callbackNode;wc(a,b);var d=uc(a,a===R?Z:0);if(0===d)null!==c&&bc(c),a.callbackNode=null,a.callbackPriority=0;else if(b=d&-d,a.callbackPriority!==b){null!=c&&bc(c);if(1===b)0===a.tag?ig(Fk.bind(null,a)):hg(Fk.bind(null,a)),Jf(function(){0===(K&6)&&jg()}),c=null;else{switch(Dc(d)){case 1:c=fc;break;case 4:c=gc;break;case 16:c=hc;break;case 536870912:c=jc;break;default:c=hc}c=Gk(c,Hk.bind(null,a))}a.callbackPriority=b;a.callbackNode=c}}\nfunction Hk(a,b){Bk=-1;Ck=0;if(0!==(K&6))throw Error(p(327));var c=a.callbackNode;if(Ik()&&a.callbackNode!==c)return null;var d=uc(a,a===R?Z:0);if(0===d)return null;if(0!==(d&30)||0!==(d&a.expiredLanes)||b)b=Jk(a,d);else{b=d;var e=K;K|=2;var f=Kk();if(R!==a||Z!==b)vk=null,Hj=B()+500,Lk(a,b);do try{Mk();break}catch(h){Nk(a,h)}while(1);Qg();nk.current=f;K=e;null!==Y?b=0:(R=null,Z=0,b=T)}if(0!==b){2===b&&(e=xc(a),0!==e&&(d=e,b=Ok(a,e)));if(1===b)throw c=qk,Lk(a,0),Dk(a,d),Ek(a,B()),c;if(6===b)Dk(a,d);\nelse{e=a.current.alternate;if(0===(d&30)&&!Pk(e)&&(b=Jk(a,d),2===b&&(f=xc(a),0!==f&&(d=f,b=Ok(a,f))),1===b))throw c=qk,Lk(a,0),Dk(a,d),Ek(a,B()),c;a.finishedWork=e;a.finishedLanes=d;switch(b){case 0:case 1:throw Error(p(345));case 2:Qk(a,uk,vk);break;case 3:Dk(a,d);if((d&130023424)===d&&(b=gk+500-B(),10<b)){if(0!==uc(a,0))break;e=a.suspendedLanes;if((e&d)!==d){L();a.pingedLanes|=a.suspendedLanes&e;break}a.timeoutHandle=Ff(Qk.bind(null,a,uk,vk),b);break}Qk(a,uk,vk);break;case 4:Dk(a,d);if((d&4194240)===\nd)break;b=a.eventTimes;for(e=-1;0<d;){var g=31-oc(d);f=1<<g;g=b[g];g>e&&(e=g);d&=~f}d=e;d=B()-d;d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*mk(d/1960))-d;if(10<d){a.timeoutHandle=Ff(Qk.bind(null,a,uk,vk),d);break}Qk(a,uk,vk);break;case 5:Qk(a,uk,vk);break;default:throw Error(p(329));}}}Ek(a,B());return a.callbackNode===c?Hk.bind(null,a):null}\nfunction Ok(a,b){var c=tk;a.current.memoizedState.isDehydrated&&(Lk(a,b).flags|=256);a=Jk(a,b);2!==a&&(b=uk,uk=c,null!==b&&Gj(b));return a}function Gj(a){null===uk?uk=a:uk.push.apply(uk,a)}\nfunction Pk(a){for(var b=a;;){if(b.flags&16384){var c=b.updateQueue;if(null!==c&&(c=c.stores,null!==c))for(var d=0;d<c.length;d++){var e=c[d],f=e.getSnapshot;e=e.value;try{if(!He(f(),e))return!1}catch(g){return!1}}}c=b.child;if(b.subtreeFlags&16384&&null!==c)c.return=b,b=c;else{if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return!0;b=b.return}b.sibling.return=b.return;b=b.sibling}}return!0}\nfunction Dk(a,b){b&=~sk;b&=~rk;a.suspendedLanes|=b;a.pingedLanes&=~b;for(a=a.expirationTimes;0<b;){var c=31-oc(b),d=1<<c;a[c]=-1;b&=~d}}function Fk(a){if(0!==(K&6))throw Error(p(327));Ik();var b=uc(a,0);if(0===(b&1))return Ek(a,B()),null;var c=Jk(a,b);if(0!==a.tag&&2===c){var d=xc(a);0!==d&&(b=d,c=Ok(a,d))}if(1===c)throw c=qk,Lk(a,0),Dk(a,b),Ek(a,B()),c;if(6===c)throw Error(p(345));a.finishedWork=a.current.alternate;a.finishedLanes=b;Qk(a,uk,vk);Ek(a,B());return null}\nfunction Rk(a,b){var c=K;K|=1;try{return a(b)}finally{K=c,0===K&&(Hj=B()+500,fg&&jg())}}function Sk(a){null!==xk&&0===xk.tag&&0===(K&6)&&Ik();var b=K;K|=1;var c=pk.transition,d=C;try{if(pk.transition=null,C=1,a)return a()}finally{C=d,pk.transition=c,K=b,0===(K&6)&&jg()}}function Ij(){gj=fj.current;E(fj)}\nfunction Lk(a,b){a.finishedWork=null;a.finishedLanes=0;var c=a.timeoutHandle;-1!==c&&(a.timeoutHandle=-1,Gf(c));if(null!==Y)for(c=Y.return;null!==c;){var d=c;wg(d);switch(d.tag){case 1:d=d.type.childContextTypes;null!==d&&void 0!==d&&$f();break;case 3:Jh();E(Wf);E(H);Oh();break;case 5:Lh(d);break;case 4:Jh();break;case 13:E(M);break;case 19:E(M);break;case 10:Rg(d.type._context);break;case 22:case 23:Ij()}c=c.return}R=a;Y=a=wh(a.current,null);Z=gj=b;T=0;qk=null;sk=rk=hh=0;uk=tk=null;if(null!==Wg){for(b=\n0;b<Wg.length;b++)if(c=Wg[b],d=c.interleaved,null!==d){c.interleaved=null;var e=d.next,f=c.pending;if(null!==f){var g=f.next;f.next=e;d.next=g}c.pending=d}Wg=null}return a}\nfunction Nk(a,b){do{var c=Y;try{Qg();Ph.current=ai;if(Sh){for(var d=N.memoizedState;null!==d;){var e=d.queue;null!==e&&(e.pending=null);d=d.next}Sh=!1}Rh=0;P=O=N=null;Th=!1;Uh=0;ok.current=null;if(null===c||null===c.return){T=1;qk=b;Y=null;break}a:{var f=a,g=c.return,h=c,k=b;b=Z;h.flags|=32768;if(null!==k&&\"object\"===typeof k&&\"function\"===typeof k.then){var l=k,m=h,q=m.tag;if(0===(m.mode&1)&&(0===q||11===q||15===q)){var r=m.alternate;r?(m.updateQueue=r.updateQueue,m.memoizedState=r.memoizedState,\nm.lanes=r.lanes):(m.updateQueue=null,m.memoizedState=null)}var y=Vi(g);if(null!==y){y.flags&=-257;Wi(y,g,h,f,b);y.mode&1&&Ti(f,l,b);b=y;k=l;var n=b.updateQueue;if(null===n){var t=new Set;t.add(k);b.updateQueue=t}else n.add(k);break a}else{if(0===(b&1)){Ti(f,l,b);uj();break a}k=Error(p(426))}}else if(I&&h.mode&1){var J=Vi(g);if(null!==J){0===(J.flags&65536)&&(J.flags|=256);Wi(J,g,h,f,b);Jg(Ki(k,h));break a}}f=k=Ki(k,h);4!==T&&(T=2);null===tk?tk=[f]:tk.push(f);f=g;do{switch(f.tag){case 3:f.flags|=65536;\nb&=-b;f.lanes|=b;var x=Oi(f,k,b);fh(f,x);break a;case 1:h=k;var w=f.type,u=f.stateNode;if(0===(f.flags&128)&&(\"function\"===typeof w.getDerivedStateFromError||null!==u&&\"function\"===typeof u.componentDidCatch&&(null===Si||!Si.has(u)))){f.flags|=65536;b&=-b;f.lanes|=b;var F=Ri(f,h,b);fh(f,F);break a}}f=f.return}while(null!==f)}Tk(c)}catch(na){b=na;Y===c&&null!==c&&(Y=c=c.return);continue}break}while(1)}function Kk(){var a=nk.current;nk.current=ai;return null===a?ai:a}\nfunction uj(){if(0===T||3===T||2===T)T=4;null===R||0===(hh&268435455)&&0===(rk&268435455)||Dk(R,Z)}function Jk(a,b){var c=K;K|=2;var d=Kk();if(R!==a||Z!==b)vk=null,Lk(a,b);do try{Uk();break}catch(e){Nk(a,e)}while(1);Qg();K=c;nk.current=d;if(null!==Y)throw Error(p(261));R=null;Z=0;return T}function Uk(){for(;null!==Y;)Vk(Y)}function Mk(){for(;null!==Y&&!cc();)Vk(Y)}function Vk(a){var b=Wk(a.alternate,a,gj);a.memoizedProps=a.pendingProps;null===b?Tk(a):Y=b;ok.current=null}\nfunction Tk(a){var b=a;do{var c=b.alternate;a=b.return;if(0===(b.flags&32768)){if(c=Fj(c,b,gj),null!==c){Y=c;return}}else{c=Jj(c,b);if(null!==c){c.flags&=32767;Y=c;return}if(null!==a)a.flags|=32768,a.subtreeFlags=0,a.deletions=null;else{T=6;Y=null;return}}b=b.sibling;if(null!==b){Y=b;return}Y=b=a}while(null!==b);0===T&&(T=5)}function Qk(a,b,c){var d=C,e=pk.transition;try{pk.transition=null,C=1,Xk(a,b,c,d)}finally{pk.transition=e,C=d}return null}\nfunction Xk(a,b,c,d){do Ik();while(null!==xk);if(0!==(K&6))throw Error(p(327));c=a.finishedWork;var e=a.finishedLanes;if(null===c)return null;a.finishedWork=null;a.finishedLanes=0;if(c===a.current)throw Error(p(177));a.callbackNode=null;a.callbackPriority=0;var f=c.lanes|c.childLanes;Bc(a,f);a===R&&(Y=R=null,Z=0);0===(c.subtreeFlags&2064)&&0===(c.flags&2064)||wk||(wk=!0,Gk(hc,function(){Ik();return null}));f=0!==(c.flags&15990);if(0!==(c.subtreeFlags&15990)||f){f=pk.transition;pk.transition=null;\nvar g=C;C=1;var h=K;K|=4;ok.current=null;Pj(a,c);ek(c,a);Oe(Df);dd=!!Cf;Df=Cf=null;a.current=c;ik(c,a,e);dc();K=h;C=g;pk.transition=f}else a.current=c;wk&&(wk=!1,xk=a,yk=e);f=a.pendingLanes;0===f&&(Si=null);mc(c.stateNode,d);Ek(a,B());if(null!==b)for(d=a.onRecoverableError,c=0;c<b.length;c++)e=b[c],d(e.value,{componentStack:e.stack,digest:e.digest});if(Pi)throw Pi=!1,a=Qi,Qi=null,a;0!==(yk&1)&&0!==a.tag&&Ik();f=a.pendingLanes;0!==(f&1)?a===Ak?zk++:(zk=0,Ak=a):zk=0;jg();return null}\nfunction Ik(){if(null!==xk){var a=Dc(yk),b=pk.transition,c=C;try{pk.transition=null;C=16>a?16:a;if(null===xk)var d=!1;else{a=xk;xk=null;yk=0;if(0!==(K&6))throw Error(p(331));var e=K;K|=4;for(V=a.current;null!==V;){var f=V,g=f.child;if(0!==(V.flags&16)){var h=f.deletions;if(null!==h){for(var k=0;k<h.length;k++){var l=h[k];for(V=l;null!==V;){var m=V;switch(m.tag){case 0:case 11:case 15:Qj(8,m,f)}var q=m.child;if(null!==q)q.return=m,V=q;else for(;null!==V;){m=V;var r=m.sibling,y=m.return;Tj(m);if(m===\nl){V=null;break}if(null!==r){r.return=y;V=r;break}V=y}}}var n=f.alternate;if(null!==n){var t=n.child;if(null!==t){n.child=null;do{var J=t.sibling;t.sibling=null;t=J}while(null!==t)}}V=f}}if(0!==(f.subtreeFlags&2064)&&null!==g)g.return=f,V=g;else b:for(;null!==V;){f=V;if(0!==(f.flags&2048))switch(f.tag){case 0:case 11:case 15:Qj(9,f,f.return)}var x=f.sibling;if(null!==x){x.return=f.return;V=x;break b}V=f.return}}var w=a.current;for(V=w;null!==V;){g=V;var u=g.child;if(0!==(g.subtreeFlags&2064)&&null!==\nu)u.return=g,V=u;else b:for(g=w;null!==V;){h=V;if(0!==(h.flags&2048))try{switch(h.tag){case 0:case 11:case 15:Rj(9,h)}}catch(na){W(h,h.return,na)}if(h===g){V=null;break b}var F=h.sibling;if(null!==F){F.return=h.return;V=F;break b}V=h.return}}K=e;jg();if(lc&&\"function\"===typeof lc.onPostCommitFiberRoot)try{lc.onPostCommitFiberRoot(kc,a)}catch(na){}d=!0}return d}finally{C=c,pk.transition=b}}return!1}function Yk(a,b,c){b=Ki(c,b);b=Oi(a,b,1);a=dh(a,b,1);b=L();null!==a&&(Ac(a,1,b),Ek(a,b))}\nfunction W(a,b,c){if(3===a.tag)Yk(a,a,c);else for(;null!==b;){if(3===b.tag){Yk(b,a,c);break}else if(1===b.tag){var d=b.stateNode;if(\"function\"===typeof b.type.getDerivedStateFromError||\"function\"===typeof d.componentDidCatch&&(null===Si||!Si.has(d))){a=Ki(c,a);a=Ri(b,a,1);b=dh(b,a,1);a=L();null!==b&&(Ac(b,1,a),Ek(b,a));break}}b=b.return}}\nfunction Ui(a,b,c){var d=a.pingCache;null!==d&&d.delete(b);b=L();a.pingedLanes|=a.suspendedLanes&c;R===a&&(Z&c)===c&&(4===T||3===T&&(Z&130023424)===Z&&500>B()-gk?Lk(a,0):sk|=c);Ek(a,b)}function Zk(a,b){0===b&&(0===(a.mode&1)?b=1:(b=sc,sc<<=1,0===(sc&130023424)&&(sc=4194304)));var c=L();a=Zg(a,b);null!==a&&(Ac(a,b,c),Ek(a,c))}function vj(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane);Zk(a,c)}\nfunction ck(a,b){var c=0;switch(a.tag){case 13:var d=a.stateNode;var e=a.memoizedState;null!==e&&(c=e.retryLane);break;case 19:d=a.stateNode;break;default:throw Error(p(314));}null!==d&&d.delete(b);Zk(a,c)}var Wk;\nWk=function(a,b,c){if(null!==a)if(a.memoizedProps!==b.pendingProps||Wf.current)Ug=!0;else{if(0===(a.lanes&c)&&0===(b.flags&128))return Ug=!1,zj(a,b,c);Ug=0!==(a.flags&131072)?!0:!1}else Ug=!1,I&&0!==(b.flags&1048576)&&ug(b,ng,b.index);b.lanes=0;switch(b.tag){case 2:var d=b.type;jj(a,b);a=b.pendingProps;var e=Yf(b,H.current);Tg(b,c);e=Xh(null,b,d,a,e,c);var f=bi();b.flags|=1;\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof?(b.tag=1,b.memoizedState=null,b.updateQueue=\nnull,Zf(d)?(f=!0,cg(b)):f=!1,b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null,ah(b),e.updater=nh,b.stateNode=e,e._reactInternals=b,rh(b,d,a,c),b=kj(null,b,d,!0,f,c)):(b.tag=0,I&&f&&vg(b),Yi(null,b,e,c),b=b.child);return b;case 16:d=b.elementType;a:{jj(a,b);a=b.pendingProps;e=d._init;d=e(d._payload);b.type=d;e=b.tag=$k(d);a=Lg(d,a);switch(e){case 0:b=dj(null,b,d,a,c);break a;case 1:b=ij(null,b,d,a,c);break a;case 11:b=Zi(null,b,d,a,c);break a;case 14:b=aj(null,b,d,Lg(d.type,a),c);break a}throw Error(p(306,\nd,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),dj(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),ij(a,b,d,e,c);case 3:a:{lj(b);if(null===a)throw Error(p(387));d=b.pendingProps;f=b.memoizedState;e=f.element;bh(a,b);gh(b,d,null,c);var g=b.memoizedState;d=g.element;if(f.isDehydrated)if(f={element:d,isDehydrated:!1,cache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},b.updateQueue.baseState=\nf,b.memoizedState=f,b.flags&256){e=Ki(Error(p(423)),b);b=mj(a,b,d,c,e);break a}else if(d!==e){e=Ki(Error(p(424)),b);b=mj(a,b,d,c,e);break a}else for(yg=Lf(b.stateNode.containerInfo.firstChild),xg=b,I=!0,zg=null,c=Ch(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{Ig();if(d===e){b=$i(a,b,c);break a}Yi(a,b,d,c)}b=b.child}return b;case 5:return Kh(b),null===a&&Eg(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,Ef(d,e)?g=null:null!==f&&Ef(d,f)&&(b.flags|=32),\nhj(a,b),Yi(a,b,g,c),b.child;case 6:return null===a&&Eg(b),null;case 13:return pj(a,b,c);case 4:return Ih(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Bh(b,null,d,c):Yi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),Zi(a,b,d,e,c);case 7:return Yi(a,b,b.pendingProps,c),b.child;case 8:return Yi(a,b,b.pendingProps.children,c),b.child;case 12:return Yi(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;f=b.memoizedProps;\ng=e.value;G(Mg,d._currentValue);d._currentValue=g;if(null!==f)if(He(f.value,g)){if(f.children===e.children&&!Wf.current){b=$i(a,b,c);break a}}else for(f=b.child,null!==f&&(f.return=b);null!==f;){var h=f.dependencies;if(null!==h){g=f.child;for(var k=h.firstContext;null!==k;){if(k.context===d){if(1===f.tag){k=ch(-1,c&-c);k.tag=2;var l=f.updateQueue;if(null!==l){l=l.shared;var m=l.pending;null===m?k.next=k:(k.next=m.next,m.next=k);l.pending=k}}f.lanes|=c;k=f.alternate;null!==k&&(k.lanes|=c);Sg(f.return,\nc,b);h.lanes|=c;break}k=k.next}}else if(10===f.tag)g=f.type===b.type?null:f.child;else if(18===f.tag){g=f.return;if(null===g)throw Error(p(341));g.lanes|=c;h=g.alternate;null!==h&&(h.lanes|=c);Sg(g,c,b);g=f.sibling}else g=f.child;if(null!==g)g.return=f;else for(g=f;null!==g;){if(g===b){g=null;break}f=g.sibling;if(null!==f){f.return=g.return;g=f;break}g=g.return}f=g}Yi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,d=b.pendingProps.children,Tg(b,c),e=Vg(e),d=d(e),b.flags|=1,Yi(a,b,d,c),\nb.child;case 14:return d=b.type,e=Lg(d,b.pendingProps),e=Lg(d.type,e),aj(a,b,d,e,c);case 15:return cj(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),jj(a,b),b.tag=1,Zf(d)?(a=!0,cg(b)):a=!1,Tg(b,c),ph(b,d,e),rh(b,d,e,c),kj(null,b,d,!0,a,c);case 19:return yj(a,b,c);case 22:return ej(a,b,c)}throw Error(p(156,b.tag));};function Gk(a,b){return ac(a,b)}\nfunction al(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.subtreeFlags=this.flags=0;this.deletions=null;this.childLanes=this.lanes=0;this.alternate=null}function Bg(a,b,c,d){return new al(a,b,c,d)}function bj(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction $k(a){if(\"function\"===typeof a)return bj(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Da)return 11;if(a===Ga)return 14}return 2}\nfunction wh(a,b){var c=a.alternate;null===c?(c=Bg(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null);c.flags=a.flags&14680064;c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction yh(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)bj(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ya:return Ah(c.children,e,f,b);case za:g=8;e|=8;break;case Aa:return a=Bg(12,c,b,e|2),a.elementType=Aa,a.lanes=f,a;case Ea:return a=Bg(13,c,b,e),a.elementType=Ea,a.lanes=f,a;case Fa:return a=Bg(19,c,b,e),a.elementType=Fa,a.lanes=f,a;case Ia:return qj(c,e,f,b);default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case Ba:g=10;break a;case Ca:g=9;break a;case Da:g=11;\nbreak a;case Ga:g=14;break a;case Ha:g=16;d=null;break a}throw Error(p(130,null==a?a:typeof a,\"\"));}b=Bg(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Ah(a,b,c,d){a=Bg(7,a,d,b);a.lanes=c;return a}function qj(a,b,c,d){a=Bg(22,a,d,b);a.elementType=Ia;a.lanes=c;a.stateNode={isHidden:!1};return a}function xh(a,b,c){a=Bg(6,a,null,b);a.lanes=c;return a}\nfunction zh(a,b,c){b=Bg(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction bl(a,b,c,d,e){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.callbackNode=this.pendingContext=this.context=null;this.callbackPriority=0;this.eventTimes=zc(0);this.expirationTimes=zc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=zc(0);this.identifierPrefix=d;this.onRecoverableError=e;this.mutableSourceEagerHydrationData=\nnull}function cl(a,b,c,d,e,f,g,h,k){a=new bl(a,b,c,h,k);1===b?(b=1,!0===f&&(b|=8)):b=0;f=Bg(3,null,null,b);a.current=f;f.stateNode=a;f.memoizedState={element:d,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null};ah(f);return a}function dl(a,b,c){var d=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:wa,key:null==d?null:\"\"+d,children:a,containerInfo:b,implementation:c}}\nfunction el(a){if(!a)return Vf;a=a._reactInternals;a:{if(Vb(a)!==a||1!==a.tag)throw Error(p(170));var b=a;do{switch(b.tag){case 3:b=b.stateNode.context;break a;case 1:if(Zf(b.type)){b=b.stateNode.__reactInternalMemoizedMergedChildContext;break a}}b=b.return}while(null!==b);throw Error(p(171));}if(1===a.tag){var c=a.type;if(Zf(c))return bg(a,c,b)}return b}\nfunction fl(a,b,c,d,e,f,g,h,k){a=cl(c,d,!0,a,e,f,g,h,k);a.context=el(null);c=a.current;d=L();e=lh(c);f=ch(d,e);f.callback=void 0!==b&&null!==b?b:null;dh(c,f,e);a.current.lanes=e;Ac(a,e,d);Ek(a,d);return a}function gl(a,b,c,d){var e=b.current,f=L(),g=lh(e);c=el(c);null===b.context?b.context=c:b.pendingContext=c;b=ch(f,g);b.payload={element:a};d=void 0===d?null:d;null!==d&&(b.callback=d);a=dh(e,b,g);null!==a&&(mh(a,e,g,f),eh(a,e,g));return g}\nfunction hl(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function il(a,b){a=a.memoizedState;if(null!==a&&null!==a.dehydrated){var c=a.retryLane;a.retryLane=0!==c&&c<b?c:b}}function jl(a,b){il(a,b);(a=a.alternate)&&il(a,b)}function kl(){return null}var ll=\"function\"===typeof reportError?reportError:function(a){console.error(a)};function ml(a){this._internalRoot=a}\nnl.prototype.render=ml.prototype.render=function(a){var b=this._internalRoot;if(null===b)throw Error(p(409));gl(a,b,null,null)};nl.prototype.unmount=ml.prototype.unmount=function(){var a=this._internalRoot;if(null!==a){this._internalRoot=null;var b=a.containerInfo;Sk(function(){gl(null,a,null,null)});b[uf]=null}};function nl(a){this._internalRoot=a}\nnl.prototype.unstable_scheduleHydration=function(a){if(a){var b=Hc();a={blockedOn:null,target:a,priority:b};for(var c=0;c<Qc.length&&0!==b&&b<Qc[c].priority;c++);Qc.splice(c,0,a);0===c&&Vc(a)}};function ol(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType)}function pl(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType&&(8!==a.nodeType||\" react-mount-point-unstable \"!==a.nodeValue))}function ql(){}\nfunction rl(a,b,c,d,e){if(e){if(\"function\"===typeof d){var f=d;d=function(){var a=hl(g);f.call(a)}}var g=fl(b,d,a,0,null,!1,!1,\"\",ql);a._reactRootContainer=g;a[uf]=g.current;sf(8===a.nodeType?a.parentNode:a);Sk();return g}for(;e=a.lastChild;)a.removeChild(e);if(\"function\"===typeof d){var h=d;d=function(){var a=hl(k);h.call(a)}}var k=cl(a,0,!1,null,null,!1,!1,\"\",ql);a._reactRootContainer=k;a[uf]=k.current;sf(8===a.nodeType?a.parentNode:a);Sk(function(){gl(b,k,c,d)});return k}\nfunction sl(a,b,c,d,e){var f=c._reactRootContainer;if(f){var g=f;if(\"function\"===typeof e){var h=e;e=function(){var a=hl(g);h.call(a)}}gl(b,g,a,e)}else g=rl(c,b,a,e,d);return hl(g)}Ec=function(a){switch(a.tag){case 3:var b=a.stateNode;if(b.current.memoizedState.isDehydrated){var c=tc(b.pendingLanes);0!==c&&(Cc(b,c|1),Ek(b,B()),0===(K&6)&&(Hj=B()+500,jg()))}break;case 13:Sk(function(){var b=Zg(a,1);if(null!==b){var c=L();mh(b,a,1,c)}}),jl(a,1)}};\nFc=function(a){if(13===a.tag){var b=Zg(a,134217728);if(null!==b){var c=L();mh(b,a,134217728,c)}jl(a,134217728)}};Gc=function(a){if(13===a.tag){var b=lh(a),c=Zg(a,b);if(null!==c){var d=L();mh(c,a,b,d)}jl(a,b)}};Hc=function(){return C};Ic=function(a,b){var c=C;try{return C=a,b()}finally{C=c}};\nyb=function(a,b,c){switch(b){case \"input\":bb(a,c);b=c.name;if(\"radio\"===c.type&&null!=b){for(c=a;c.parentNode;)c=c.parentNode;c=c.querySelectorAll(\"input[name=\"+JSON.stringify(\"\"+b)+'][type=\"radio\"]');for(b=0;b<c.length;b++){var d=c[b];if(d!==a&&d.form===a.form){var e=Db(d);if(!e)throw Error(p(90));Wa(d);bb(d,e)}}}break;case \"textarea\":ib(a,c);break;case \"select\":b=c.value,null!=b&&fb(a,!!c.multiple,b,!1)}};Gb=Rk;Hb=Sk;\nvar tl={usingClientEntryPoint:!1,Events:[Cb,ue,Db,Eb,Fb,Rk]},ul={findFiberByHostInstance:Wc,bundleType:0,version:\"18.2.0\",rendererPackageName:\"react-dom\"};\nvar vl={bundleType:ul.bundleType,version:ul.version,rendererPackageName:ul.rendererPackageName,rendererConfig:ul.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:ua.ReactCurrentDispatcher,findHostInstanceByFiber:function(a){a=Zb(a);return null===a?null:a.stateNode},findFiberByHostInstance:ul.findFiberByHostInstance||\nkl,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:\"18.2.0-next-9e3b772b8-20220608\"};if(\"undefined\"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var wl=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!wl.isDisabled&&wl.supportsFiber)try{kc=wl.inject(vl),lc=wl}catch(a){}}exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=tl;\nexports.createPortal=function(a,b){var c=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!ol(b))throw Error(p(200));return dl(a,b,null,c)};exports.createRoot=function(a,b){if(!ol(a))throw Error(p(299));var c=!1,d=\"\",e=ll;null!==b&&void 0!==b&&(!0===b.unstable_strictMode&&(c=!0),void 0!==b.identifierPrefix&&(d=b.identifierPrefix),void 0!==b.onRecoverableError&&(e=b.onRecoverableError));b=cl(a,1,!1,null,null,c,!1,d,e);a[uf]=b.current;sf(8===a.nodeType?a.parentNode:a);return new ml(b)};\nexports.findDOMNode=function(a){if(null==a)return null;if(1===a.nodeType)return a;var b=a._reactInternals;if(void 0===b){if(\"function\"===typeof a.render)throw Error(p(188));a=Object.keys(a).join(\",\");throw Error(p(268,a));}a=Zb(b);a=null===a?null:a.stateNode;return a};exports.flushSync=function(a){return Sk(a)};exports.hydrate=function(a,b,c){if(!pl(b))throw Error(p(200));return sl(null,a,b,!0,c)};\nexports.hydrateRoot=function(a,b,c){if(!ol(a))throw Error(p(405));var d=null!=c&&c.hydratedSources||null,e=!1,f=\"\",g=ll;null!==c&&void 0!==c&&(!0===c.unstable_strictMode&&(e=!0),void 0!==c.identifierPrefix&&(f=c.identifierPrefix),void 0!==c.onRecoverableError&&(g=c.onRecoverableError));b=fl(b,null,a,1,null!=c?c:null,e,!1,f,g);a[uf]=b.current;sf(a);if(d)for(a=0;a<d.length;a++)c=d[a],e=c._getVersion,e=e(c._source),null==b.mutableSourceEagerHydrationData?b.mutableSourceEagerHydrationData=[c,e]:b.mutableSourceEagerHydrationData.push(c,\ne);return new nl(b)};exports.render=function(a,b,c){if(!pl(b))throw Error(p(200));return sl(null,a,b,!1,c)};exports.unmountComponentAtNode=function(a){if(!pl(a))throw Error(p(40));return a._reactRootContainer?(Sk(function(){sl(null,null,a,!1,function(){a._reactRootContainer=null;a[uf]=null})}),!0):!1};exports.unstable_batchedUpdates=Rk;\nexports.unstable_renderSubtreeIntoContainer=function(a,b,c,d){if(!pl(c))throw Error(p(200));if(null==a||void 0===a._reactInternals)throw Error(p(38));return sl(a,b,c,!1,d)};exports.version=\"18.2.0-next-9e3b772b8-20220608\";\n","'use strict';\n\nvar m = require('react-dom');\nif (process.env.NODE_ENV === 'production') {\n exports.createRoot = m.createRoot;\n exports.hydrateRoot = m.hydrateRoot;\n} else {\n var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n exports.createRoot = function(c, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.createRoot(c, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n exports.hydrateRoot = function(c, h, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.hydrateRoot(c, h, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n}\n","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","/**\n * defines a focus group\n */\nexport var FOCUS_GROUP = 'data-focus-lock';\n/**\n * disables element discovery inside a group marked by key\n */\nexport var FOCUS_DISABLED = 'data-focus-lock-disabled';\n/**\n * allows uncontrolled focus within the marked area, effectively disabling focus lock for it's content\n */\nexport var FOCUS_ALLOW = 'data-no-focus-lock';\n/**\n * instructs autofocus engine to pick default autofocus inside a given node\n * can be set on the element or container\n */\nexport var FOCUS_AUTO = 'data-autofocus-inside';\n/**\n * instructs autofocus to ignore elements within a given node\n * can be set on the element or container\n */\nexport var FOCUS_NO_AUTOFOCUS = 'data-no-autofocus';\n","import { assignRef } from './assignRef';\nimport { useCallbackRef } from './useRef';\n/**\n * Merges two or more refs together providing a single interface to set their value\n * @param {RefObject|Ref} refs\n * @returns {MutableRefObject} - a new ref, which translates all changes to {refs}\n *\n * @see {@link mergeRefs} a version without buit-in memoization\n * @see https://github.com/theKashey/use-callback-ref#usemergerefs\n * @example\n * const Component = React.forwardRef((props, ref) => {\n * const ownRef = useRef();\n * const domRef = useMergeRefs([ref, ownRef]); // 👈 merge together\n * return <div ref={domRef}>...</div>\n * }\n */\nexport function useMergeRefs(refs, defaultValue) {\n return useCallbackRef(defaultValue || null, function (newValue) { return refs.forEach(function (ref) { return assignRef(ref, newValue); }); });\n}\n","import { useState } from 'react';\n/**\n * creates a MutableRef with ref change callback\n * @param initialValue - initial ref value\n * @param {Function} callback - a callback to run when value changes\n *\n * @example\n * const ref = useCallbackRef(0, (newValue, oldValue) => console.log(oldValue, '->', newValue);\n * ref.current = 1;\n * // prints 0 -> 1\n *\n * @see https://reactjs.org/docs/hooks-reference.html#useref\n * @see https://github.com/theKashey/use-callback-ref#usecallbackref---to-replace-reactuseref\n * @returns {MutableRefObject}\n */\nexport function useCallbackRef(initialValue, callback) {\n var ref = useState(function () { return ({\n // value\n value: initialValue,\n // last callback\n callback: callback,\n // \"memoized\" public interface\n facade: {\n get current() {\n return ref.value;\n },\n set current(value) {\n var last = ref.value;\n if (last !== value) {\n ref.value = value;\n ref.callback(value, last);\n }\n },\n },\n }); })[0];\n // update callback\n ref.callback = callback;\n return ref.facade;\n}\n","/**\n * Assigns a value for a given ref, no matter of the ref format\n * @param {RefObject} ref - a callback function or ref object\n * @param value - a new value\n *\n * @see https://github.com/theKashey/use-callback-ref#assignref\n * @example\n * const refObject = useRef();\n * const refFn = (ref) => {....}\n *\n * assignRef(refObject, \"refValue\");\n * assignRef(refFn, \"refValue\");\n */\nexport function assignRef(ref, value) {\n if (typeof ref === 'function') {\n ref(value);\n }\n else if (ref) {\n ref.current = value;\n }\n return ref;\n}\n","import * as React from 'react';\nimport PropTypes from 'prop-types';\nexport var hiddenGuard = {\n width: '1px',\n height: '0px',\n padding: 0,\n overflow: 'hidden',\n position: 'fixed',\n top: '1px',\n left: '1px'\n};\n\nvar InFocusGuard = function InFocusGuard(_ref) {\n var children = _ref.children;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"div\", {\n key: \"guard-first\",\n \"data-focus-guard\": true,\n \"data-focus-auto-guard\": true,\n style: hiddenGuard\n }), children, children && /*#__PURE__*/React.createElement(\"div\", {\n key: \"guard-last\",\n \"data-focus-guard\": true,\n \"data-focus-auto-guard\": true,\n style: hiddenGuard\n }));\n};\n\nInFocusGuard.propTypes = process.env.NODE_ENV !== \"production\" ? {\n children: PropTypes.node\n} : {};\nInFocusGuard.defaultProps = {\n children: null\n};\nexport default InFocusGuard;","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","import { __assign } from \"tslib\";\nfunction ItoI(a) {\n return a;\n}\nfunction innerCreateMedium(defaults, middleware) {\n if (middleware === void 0) { middleware = ItoI; }\n var buffer = [];\n var assigned = false;\n var medium = {\n read: function () {\n if (assigned) {\n throw new Error('Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.');\n }\n if (buffer.length) {\n return buffer[buffer.length - 1];\n }\n return defaults;\n },\n useMedium: function (data) {\n var item = middleware(data, assigned);\n buffer.push(item);\n return function () {\n buffer = buffer.filter(function (x) { return x !== item; });\n };\n },\n assignSyncMedium: function (cb) {\n assigned = true;\n while (buffer.length) {\n var cbs = buffer;\n buffer = [];\n cbs.forEach(cb);\n }\n buffer = {\n push: function (x) { return cb(x); },\n filter: function () { return buffer; },\n };\n },\n assignMedium: function (cb) {\n assigned = true;\n var pendingQueue = [];\n if (buffer.length) {\n var cbs = buffer;\n buffer = [];\n cbs.forEach(cb);\n pendingQueue = buffer;\n }\n var executeQueue = function () {\n var cbs = pendingQueue;\n pendingQueue = [];\n cbs.forEach(cb);\n };\n var cycle = function () { return Promise.resolve().then(executeQueue); };\n cycle();\n buffer = {\n push: function (x) {\n pendingQueue.push(x);\n cycle();\n },\n filter: function (filter) {\n pendingQueue = pendingQueue.filter(filter);\n return buffer;\n },\n };\n },\n };\n return medium;\n}\nexport function createMedium(defaults, middleware) {\n if (middleware === void 0) { middleware = ItoI; }\n return innerCreateMedium(defaults, middleware);\n}\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function createSidecarMedium(options) {\n if (options === void 0) { options = {}; }\n var medium = innerCreateMedium(null);\n medium.options = __assign({ async: true, ssr: false }, options);\n return medium;\n}\n","import { createMedium, createSidecarMedium } from 'use-sidecar';\nexport var mediumFocus = createMedium({}, function (_ref) {\n var target = _ref.target,\n currentTarget = _ref.currentTarget;\n return {\n target: target,\n currentTarget: currentTarget\n };\n});\nexport var mediumBlur = createMedium();\nexport var mediumEffect = createMedium();\nexport var mediumSidecar = createSidecarMedium({\n async: true\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport { node, bool, string, any, arrayOf, oneOfType, object, func } from 'prop-types';\nimport * as constants from 'focus-lock/constants';\nimport { useMergeRefs } from 'use-callback-ref';\nimport { useEffect } from 'react';\nimport { hiddenGuard } from './FocusGuard';\nimport { mediumFocus, mediumBlur, mediumSidecar } from './medium';\nvar emptyArray = [];\nvar FocusLock = /*#__PURE__*/React.forwardRef(function FocusLockUI(props, parentRef) {\n var _extends2;\n\n var _React$useState = React.useState(),\n realObserved = _React$useState[0],\n setObserved = _React$useState[1];\n\n var observed = React.useRef();\n var isActive = React.useRef(false);\n var originalFocusedElement = React.useRef(null);\n var children = props.children,\n disabled = props.disabled,\n noFocusGuards = props.noFocusGuards,\n persistentFocus = props.persistentFocus,\n crossFrame = props.crossFrame,\n autoFocus = props.autoFocus,\n allowTextSelection = props.allowTextSelection,\n group = props.group,\n className = props.className,\n whiteList = props.whiteList,\n hasPositiveIndices = props.hasPositiveIndices,\n _props$shards = props.shards,\n shards = _props$shards === void 0 ? emptyArray : _props$shards,\n _props$as = props.as,\n Container = _props$as === void 0 ? 'div' : _props$as,\n _props$lockProps = props.lockProps,\n containerProps = _props$lockProps === void 0 ? {} : _props$lockProps,\n SideCar = props.sideCar,\n shouldReturnFocus = props.returnFocus,\n focusOptions = props.focusOptions,\n onActivationCallback = props.onActivation,\n onDeactivationCallback = props.onDeactivation;\n\n var _React$useState2 = React.useState({}),\n id = _React$useState2[0]; // SIDE EFFECT CALLBACKS\n\n\n var onActivation = React.useCallback(function () {\n originalFocusedElement.current = originalFocusedElement.current || document && document.activeElement;\n\n if (observed.current && onActivationCallback) {\n onActivationCallback(observed.current);\n }\n\n isActive.current = true;\n }, [onActivationCallback]);\n var onDeactivation = React.useCallback(function () {\n isActive.current = false;\n\n if (onDeactivationCallback) {\n onDeactivationCallback(observed.current);\n }\n }, [onDeactivationCallback]);\n useEffect(function () {\n if (!disabled) {\n // cleanup return focus on trap deactivation\n // sideEffect/returnFocus should happen by this time\n originalFocusedElement.current = null;\n }\n }, []);\n var returnFocus = React.useCallback(function (allowDefer) {\n var returnFocusTo = originalFocusedElement.current;\n\n if (returnFocusTo && returnFocusTo.focus) {\n var howToReturnFocus = typeof shouldReturnFocus === 'function' ? shouldReturnFocus(returnFocusTo) : shouldReturnFocus;\n\n if (howToReturnFocus) {\n var returnFocusOptions = typeof howToReturnFocus === 'object' ? howToReturnFocus : undefined;\n originalFocusedElement.current = null;\n\n if (allowDefer) {\n // React might return focus after update\n // it's safer to defer the action\n Promise.resolve().then(function () {\n return returnFocusTo.focus(returnFocusOptions);\n });\n } else {\n returnFocusTo.focus(returnFocusOptions);\n }\n }\n }\n }, [shouldReturnFocus]); // MEDIUM CALLBACKS\n\n var onFocus = React.useCallback(function (event) {\n if (isActive.current) {\n mediumFocus.useMedium(event);\n }\n }, []);\n var onBlur = mediumBlur.useMedium; // REF PROPAGATION\n // not using real refs due to race conditions\n\n var setObserveNode = React.useCallback(function (newObserved) {\n if (observed.current !== newObserved) {\n observed.current = newObserved;\n setObserved(newObserved);\n }\n }, []);\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof allowTextSelection !== 'undefined') {\n // eslint-disable-next-line no-console\n console.warn('React-Focus-Lock: allowTextSelection is deprecated and enabled by default');\n }\n\n React.useEffect(function () {\n if (!observed.current) {\n // eslint-disable-next-line no-console\n console.error('FocusLock: could not obtain ref to internal node');\n }\n }, []);\n }\n\n var lockProps = _extends((_extends2 = {}, _extends2[constants.FOCUS_DISABLED] = disabled && 'disabled', _extends2[constants.FOCUS_GROUP] = group, _extends2), containerProps);\n\n var hasLeadingGuards = noFocusGuards !== true;\n var hasTailingGuards = hasLeadingGuards && noFocusGuards !== 'tail';\n var mergedRef = useMergeRefs([parentRef, setObserveNode]);\n return /*#__PURE__*/React.createElement(React.Fragment, null, hasLeadingGuards && [\n /*#__PURE__*/\n // nearest focus guard\n React.createElement(\"div\", {\n key: \"guard-first\",\n \"data-focus-guard\": true,\n tabIndex: disabled ? -1 : 0,\n style: hiddenGuard\n }), // first tabbed element guard\n hasPositiveIndices ? /*#__PURE__*/React.createElement(\"div\", {\n key: \"guard-nearest\",\n \"data-focus-guard\": true,\n tabIndex: disabled ? -1 : 1,\n style: hiddenGuard\n }) : null], !disabled && /*#__PURE__*/React.createElement(SideCar, {\n id: id,\n sideCar: mediumSidecar,\n observed: realObserved,\n disabled: disabled,\n persistentFocus: persistentFocus,\n crossFrame: crossFrame,\n autoFocus: autoFocus,\n whiteList: whiteList,\n shards: shards,\n onActivation: onActivation,\n onDeactivation: onDeactivation,\n returnFocus: returnFocus,\n focusOptions: focusOptions\n }), /*#__PURE__*/React.createElement(Container, _extends({\n ref: mergedRef\n }, lockProps, {\n className: className,\n onBlur: onBlur,\n onFocus: onFocus\n }), children), hasTailingGuards && /*#__PURE__*/React.createElement(\"div\", {\n \"data-focus-guard\": true,\n tabIndex: disabled ? -1 : 0,\n style: hiddenGuard\n }));\n});\nFocusLock.propTypes = process.env.NODE_ENV !== \"production\" ? {\n children: node,\n disabled: bool,\n returnFocus: oneOfType([bool, object, func]),\n focusOptions: object,\n noFocusGuards: bool,\n hasPositiveIndices: bool,\n allowTextSelection: bool,\n autoFocus: bool,\n persistentFocus: bool,\n crossFrame: bool,\n group: string,\n className: string,\n whiteList: func,\n shards: arrayOf(any),\n as: oneOfType([string, func, object]),\n lockProps: object,\n onActivation: func,\n onDeactivation: func,\n sideCar: any.isRequired\n} : {};\nFocusLock.defaultProps = {\n children: undefined,\n disabled: false,\n returnFocus: false,\n focusOptions: undefined,\n noFocusGuards: false,\n autoFocus: true,\n persistentFocus: false,\n crossFrame: true,\n hasPositiveIndices: undefined,\n allowTextSelection: undefined,\n group: undefined,\n className: undefined,\n whiteList: undefined,\n shards: undefined,\n as: 'div',\n lockProps: {},\n onActivation: undefined,\n onDeactivation: undefined\n};\nexport default FocusLock;","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","import _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport React, { PureComponent } from 'react';\n\nfunction withSideEffect(reducePropsToState, handleStateChangeOnClient) {\n if (process.env.NODE_ENV !== \"production\") {\n if (typeof reducePropsToState !== 'function') {\n throw new Error('Expected reducePropsToState to be a function.');\n }\n\n if (typeof handleStateChangeOnClient !== 'function') {\n throw new Error('Expected handleStateChangeOnClient to be a function.');\n }\n }\n\n function getDisplayName(WrappedComponent) {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n }\n\n return function wrap(WrappedComponent) {\n if (process.env.NODE_ENV !== \"production\") {\n if (typeof WrappedComponent !== 'function') {\n throw new Error('Expected WrappedComponent to be a React component.');\n }\n }\n\n var mountedInstances = [];\n var state;\n\n function emitChange() {\n state = reducePropsToState(mountedInstances.map(function (instance) {\n return instance.props;\n }));\n handleStateChangeOnClient(state);\n }\n\n var SideEffect = /*#__PURE__*/function (_PureComponent) {\n _inheritsLoose(SideEffect, _PureComponent);\n\n function SideEffect() {\n return _PureComponent.apply(this, arguments) || this;\n }\n\n // Try to use displayName of wrapped component\n SideEffect.peek = function peek() {\n return state;\n };\n\n var _proto = SideEffect.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n mountedInstances.push(this);\n emitChange();\n };\n\n _proto.componentDidUpdate = function componentDidUpdate() {\n emitChange();\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n var index = mountedInstances.indexOf(this);\n mountedInstances.splice(index, 1);\n emitChange();\n };\n\n _proto.render = function render() {\n return /*#__PURE__*/React.createElement(WrappedComponent, this.props);\n };\n\n return SideEffect;\n }(PureComponent);\n\n _defineProperty(SideEffect, \"displayName\", \"SideEffect(\" + getDisplayName(WrappedComponent) + \")\");\n\n return SideEffect;\n };\n}\n\nexport default withSideEffect;\n","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","import { FOCUS_NO_AUTOFOCUS } from '../constants';\nvar isElementHidden = function (node) {\n // we can measure only \"elements\"\n // consider others as \"visible\"\n if (node.nodeType !== Node.ELEMENT_NODE) {\n return false;\n }\n var computedStyle = window.getComputedStyle(node, null);\n if (!computedStyle || !computedStyle.getPropertyValue) {\n return false;\n }\n return (computedStyle.getPropertyValue('display') === 'none' || computedStyle.getPropertyValue('visibility') === 'hidden');\n};\nvar getParentNode = function (node) {\n // DOCUMENT_FRAGMENT_NODE can also point on ShadowRoot. In this case .host will point on the next node\n return node.parentNode && node.parentNode.nodeType === Node.DOCUMENT_FRAGMENT_NODE\n ? // eslint-disable-next-line @typescript-eslint/no-explicit-any\n node.parentNode.host\n : node.parentNode;\n};\nvar isTopNode = function (node) {\n // @ts-ignore\n return node === document || (node && node.nodeType === Node.DOCUMENT_NODE);\n};\nvar isVisibleUncached = function (node, checkParent) {\n return !node || isTopNode(node) || (!isElementHidden(node) && checkParent(getParentNode(node)));\n};\nexport var isVisibleCached = function (visibilityCache, node) {\n var cached = visibilityCache.get(node);\n if (cached !== undefined) {\n return cached;\n }\n var result = isVisibleUncached(node, isVisibleCached.bind(undefined, visibilityCache));\n visibilityCache.set(node, result);\n return result;\n};\nvar isAutoFocusAllowedUncached = function (node, checkParent) {\n return node && !isTopNode(node) ? (isAutoFocusAllowed(node) ? checkParent(getParentNode(node)) : false) : true;\n};\nexport var isAutoFocusAllowedCached = function (cache, node) {\n var cached = cache.get(node);\n if (cached !== undefined) {\n return cached;\n }\n var result = isAutoFocusAllowedUncached(node, isAutoFocusAllowedCached.bind(undefined, cache));\n cache.set(node, result);\n return result;\n};\nexport var getDataset = function (node) {\n // @ts-ignore\n return node.dataset;\n};\nexport var isHTMLButtonElement = function (node) { return node.tagName === 'BUTTON'; };\nexport var isHTMLInputElement = function (node) { return node.tagName === 'INPUT'; };\nexport var isRadioElement = function (node) {\n return isHTMLInputElement(node) && node.type === 'radio';\n};\nexport var notHiddenInput = function (node) {\n return !((isHTMLInputElement(node) || isHTMLButtonElement(node)) && (node.type === 'hidden' || node.disabled));\n};\nexport var isAutoFocusAllowed = function (node) {\n var attribute = node.getAttribute(FOCUS_NO_AUTOFOCUS);\n return ![true, 'true', ''].includes(attribute);\n};\nexport var isGuard = function (node) { var _a; return Boolean(node && ((_a = getDataset(node)) === null || _a === void 0 ? void 0 : _a.focusGuard)); };\nexport var isNotAGuard = function (node) { return !isGuard(node); };\nexport var isDefined = function (x) { return Boolean(x); };\n","import { isRadioElement } from './is';\nvar findSelectedRadio = function (node, nodes) {\n return nodes\n .filter(isRadioElement)\n .filter(function (el) { return el.name === node.name; })\n .filter(function (el) { return el.checked; })[0] || node;\n};\nexport var correctNode = function (node, nodes) {\n if (isRadioElement(node) && node.name) {\n return findSelectedRadio(node, nodes);\n }\n return node;\n};\n/**\n * giving a set of radio inputs keeps only selected (tabbable) ones\n * @param nodes\n */\nexport var correctNodes = function (nodes) {\n // IE11 has no Set(array) constructor\n var resultSet = new Set();\n nodes.forEach(function (node) { return resultSet.add(correctNode(node, nodes)); });\n // using filter to support IE11\n return nodes.filter(function (node) { return resultSet.has(node); });\n};\n","import { correctNode } from './correctFocus';\nexport var pickFirstFocus = function (nodes) {\n if (nodes[0] && nodes.length > 1) {\n return correctNode(nodes[0], nodes);\n }\n return nodes[0];\n};\nexport var pickFocusable = function (nodes, index) {\n if (nodes.length > 1) {\n return nodes.indexOf(correctNode(nodes[index], nodes));\n }\n return index;\n};\n","import { correctNodes } from './utils/correctFocus';\nimport { pickFocusable } from './utils/firstFocus';\nimport { isGuard } from './utils/is';\nexport var NEW_FOCUS = 'NEW_FOCUS';\n/**\n * Main solver for the \"find next focus\" question\n * @param innerNodes\n * @param outerNodes\n * @param activeElement\n * @param lastNode\n * @returns {number|string|undefined|*}\n */\nexport var newFocus = function (innerNodes, outerNodes, activeElement, lastNode) {\n var cnt = innerNodes.length;\n var firstFocus = innerNodes[0];\n var lastFocus = innerNodes[cnt - 1];\n var isOnGuard = isGuard(activeElement);\n // focus is inside\n if (activeElement && innerNodes.indexOf(activeElement) >= 0) {\n return undefined;\n }\n var activeIndex = activeElement !== undefined ? outerNodes.indexOf(activeElement) : -1;\n var lastIndex = lastNode ? outerNodes.indexOf(lastNode) : activeIndex;\n var lastNodeInside = lastNode ? innerNodes.indexOf(lastNode) : -1;\n var indexDiff = activeIndex - lastIndex;\n var firstNodeIndex = outerNodes.indexOf(firstFocus);\n var lastNodeIndex = outerNodes.indexOf(lastFocus);\n var correctedNodes = correctNodes(outerNodes);\n var correctedIndex = activeElement !== undefined ? correctedNodes.indexOf(activeElement) : -1;\n var correctedIndexDiff = correctedIndex - (lastNode ? correctedNodes.indexOf(lastNode) : activeIndex);\n var returnFirstNode = pickFocusable(innerNodes, 0);\n var returnLastNode = pickFocusable(innerNodes, cnt - 1);\n // new focus\n if (activeIndex === -1 || lastNodeInside === -1) {\n return NEW_FOCUS;\n }\n // old focus\n if (!indexDiff && lastNodeInside >= 0) {\n return lastNodeInside;\n }\n // first element\n if (activeIndex <= firstNodeIndex && isOnGuard && Math.abs(indexDiff) > 1) {\n return returnLastNode;\n }\n // last element\n if (activeIndex >= lastNodeIndex && isOnGuard && Math.abs(indexDiff) > 1) {\n return returnFirstNode;\n }\n // jump out, but not on the guard\n if (indexDiff && Math.abs(correctedIndexDiff) > 1) {\n return lastNodeInside;\n }\n // focus above lock\n if (activeIndex <= firstNodeIndex) {\n return returnLastNode;\n }\n // focus below lock\n if (activeIndex > lastNodeIndex) {\n return returnFirstNode;\n }\n // index is inside tab order, but outside Lock\n if (indexDiff) {\n if (Math.abs(indexDiff) > 1) {\n return lastNodeInside;\n }\n return (cnt + lastNodeInside + indexDiff) % cnt;\n }\n // do nothing\n return undefined;\n};\n","/*\nIE11 support\n */\nexport var toArray = function (a) {\n var ret = Array(a.length);\n for (var i = 0; i < a.length; ++i) {\n ret[i] = a[i];\n }\n return ret;\n};\nexport var asArray = function (a) { return (Array.isArray(a) ? a : [a]); };\n","import { toArray } from './array';\nexport var tabSort = function (a, b) {\n var tabDiff = a.tabIndex - b.tabIndex;\n var indexDiff = a.index - b.index;\n if (tabDiff) {\n if (!a.tabIndex) {\n return 1;\n }\n if (!b.tabIndex) {\n return -1;\n }\n }\n return tabDiff || indexDiff;\n};\nexport var orderByTabIndex = function (nodes, filterNegative, keepGuards) {\n return toArray(nodes)\n .map(function (node, index) { return ({\n node: node,\n index: index,\n tabIndex: keepGuards && node.tabIndex === -1 ? ((node.dataset || {}).focusGuard ? 0 : -1) : node.tabIndex,\n }); })\n .filter(function (data) { return !filterNegative || data.tabIndex >= 0; })\n .sort(tabSort);\n};\n","import { FOCUS_AUTO } from '../constants';\nimport { toArray } from './array';\nimport { tabbables } from './tabbables';\nvar queryTabbables = tabbables.join(',');\nvar queryGuardTabbables = \"\".concat(queryTabbables, \", [data-focus-guard]\");\nvar getFocusablesWithShadowDom = function (parent, withGuards) {\n var _a;\n return toArray(((_a = parent.shadowRoot) === null || _a === void 0 ? void 0 : _a.children) || parent.children).reduce(function (acc, child) {\n return acc.concat(child.matches(withGuards ? queryGuardTabbables : queryTabbables) ? [child] : [], getFocusablesWithShadowDom(child));\n }, []);\n};\nexport var getFocusables = function (parents, withGuards) {\n return parents.reduce(function (acc, parent) {\n return acc.concat(\n // add all tabbables inside and within shadow DOMs in DOM order\n getFocusablesWithShadowDom(parent, withGuards), \n // add if node is tabbable itself\n parent.parentNode\n ? toArray(parent.parentNode.querySelectorAll(queryTabbables)).filter(function (node) { return node === parent; })\n : []);\n }, []);\n};\n/**\n * return a list of focusable nodes within an area marked as \"auto-focusable\"\n * @param parent\n */\nexport var getParentAutofocusables = function (parent) {\n var parentFocus = parent.querySelectorAll(\"[\".concat(FOCUS_AUTO, \"]\"));\n return toArray(parentFocus)\n .map(function (node) { return getFocusables([node]); })\n .reduce(function (acc, nodes) { return acc.concat(nodes); }, []);\n};\n","/**\n * list of the object to be considered as focusable\n */\nexport var tabbables = [\n 'button:enabled',\n 'select:enabled',\n 'textarea:enabled',\n 'input:enabled',\n // elements with explicit roles will also use explicit tabindex\n // '[role=\"button\"]',\n 'a[href]',\n 'area[href]',\n 'summary',\n 'iframe',\n 'object',\n 'embed',\n 'audio[controls]',\n 'video[controls]',\n '[tabindex]',\n '[contenteditable]',\n '[autofocus]',\n];\n","import { toArray } from './array';\nimport { isAutoFocusAllowedCached, isVisibleCached, notHiddenInput } from './is';\nimport { orderByTabIndex } from './tabOrder';\nimport { getFocusables, getParentAutofocusables } from './tabUtils';\n/**\n * given list of focusable elements keeps the ones user can interact with\n * @param nodes\n * @param visibilityCache\n */\nexport var filterFocusable = function (nodes, visibilityCache) {\n return toArray(nodes)\n .filter(function (node) { return isVisibleCached(visibilityCache, node); })\n .filter(function (node) { return notHiddenInput(node); });\n};\nexport var filterAutoFocusable = function (nodes, cache) {\n if (cache === void 0) { cache = new Map(); }\n return toArray(nodes).filter(function (node) { return isAutoFocusAllowedCached(cache, node); });\n};\n/**\n * only tabbable ones\n * (but with guards which would be ignored)\n */\nexport var getTabbableNodes = function (topNodes, visibilityCache, withGuards) {\n return orderByTabIndex(filterFocusable(getFocusables(topNodes, withGuards), visibilityCache), true, withGuards);\n};\n/**\n * actually anything \"focusable\", not only tabbable\n * (without guards, as long as they are not expected to be focused)\n */\nexport var getAllTabbableNodes = function (topNodes, visibilityCache) {\n return orderByTabIndex(filterFocusable(getFocusables(topNodes), visibilityCache), false);\n};\n/**\n * return list of nodes which are expected to be auto-focused\n * @param topNode\n * @param visibilityCache\n */\nexport var parentAutofocusables = function (topNode, visibilityCache) {\n return filterFocusable(getParentAutofocusables(topNode), visibilityCache);\n};\n/*\n * Determines if element is contained in scope, including nested shadow DOMs\n */\nexport var contains = function (scope, element) {\n return ((scope.shadowRoot\n ? contains(scope.shadowRoot, element)\n : Object.getPrototypeOf(scope).contains.call(scope, element)) ||\n toArray(scope.children).some(function (child) { return contains(child, element); }));\n};\n","import { FOCUS_DISABLED, FOCUS_GROUP } from '../constants';\nimport { asArray, toArray } from './array';\n/**\n * in case of multiple nodes nested inside each other\n * keeps only top ones\n * this is O(nlogn)\n * @param nodes\n * @returns {*}\n */\nvar filterNested = function (nodes) {\n var contained = new Set();\n var l = nodes.length;\n for (var i = 0; i < l; i += 1) {\n for (var j = i + 1; j < l; j += 1) {\n var position = nodes[i].compareDocumentPosition(nodes[j]);\n /* eslint-disable no-bitwise */\n if ((position & Node.DOCUMENT_POSITION_CONTAINED_BY) > 0) {\n contained.add(j);\n }\n if ((position & Node.DOCUMENT_POSITION_CONTAINS) > 0) {\n contained.add(i);\n }\n /* eslint-enable */\n }\n }\n return nodes.filter(function (_, index) { return !contained.has(index); });\n};\n/**\n * finds top most parent for a node\n * @param node\n * @returns {*}\n */\nvar getTopParent = function (node) {\n return node.parentNode ? getTopParent(node.parentNode) : node;\n};\n/**\n * returns all \"focus containers\" inside a given node\n * @param node\n * @returns {T}\n */\nexport var getAllAffectedNodes = function (node) {\n var nodes = asArray(node);\n return nodes.filter(Boolean).reduce(function (acc, currentNode) {\n var group = currentNode.getAttribute(FOCUS_GROUP);\n acc.push.apply(acc, (group\n ? filterNested(toArray(getTopParent(currentNode).querySelectorAll(\"[\".concat(FOCUS_GROUP, \"=\\\"\").concat(group, \"\\\"]:not([\").concat(FOCUS_DISABLED, \"=\\\"disabled\\\"])\"))))\n : [currentNode]));\n return acc;\n }, []);\n};\n","var getNestedShadowActiveElement = function (shadowRoot) {\n return shadowRoot.activeElement\n ? shadowRoot.activeElement.shadowRoot\n ? getNestedShadowActiveElement(shadowRoot.activeElement.shadowRoot)\n : shadowRoot.activeElement\n : undefined;\n};\n/**\n * returns active element from document or from nested shadowdoms\n */\nexport var getActiveElement = function () {\n return (document.activeElement\n ? document.activeElement.shadowRoot\n ? getNestedShadowActiveElement(document.activeElement.shadowRoot)\n : document.activeElement\n : undefined); // eslint-disable-next-line @typescript-eslint/no-explicit-any\n};\n","import { parentAutofocusables } from './DOMutils';\nimport { contains } from './DOMutils';\nimport { asArray } from './array';\nvar getParents = function (node, parents) {\n if (parents === void 0) { parents = []; }\n parents.push(node);\n if (node.parentNode) {\n getParents(node.parentNode.host || node.parentNode, parents);\n }\n return parents;\n};\n/**\n * finds a parent for both nodeA and nodeB\n * @param nodeA\n * @param nodeB\n * @returns {boolean|*}\n */\nexport var getCommonParent = function (nodeA, nodeB) {\n var parentsA = getParents(nodeA);\n var parentsB = getParents(nodeB);\n // tslint:disable-next-line:prefer-for-of\n for (var i = 0; i < parentsA.length; i += 1) {\n var currentParent = parentsA[i];\n if (parentsB.indexOf(currentParent) >= 0) {\n return currentParent;\n }\n }\n return false;\n};\nexport var getTopCommonParent = function (baseActiveElement, leftEntry, rightEntries) {\n var activeElements = asArray(baseActiveElement);\n var leftEntries = asArray(leftEntry);\n var activeElement = activeElements[0];\n var topCommon = false;\n leftEntries.filter(Boolean).forEach(function (entry) {\n topCommon = getCommonParent(topCommon || entry, entry) || topCommon;\n rightEntries.filter(Boolean).forEach(function (subEntry) {\n var common = getCommonParent(activeElement, subEntry);\n if (common) {\n if (!topCommon || contains(common, topCommon)) {\n topCommon = common;\n }\n else {\n topCommon = getCommonParent(common, topCommon);\n }\n }\n });\n });\n // TODO: add assert here?\n return topCommon;\n};\n/**\n * return list of nodes which are expected to be autofocused inside a given top nodes\n * @param entries\n * @param visibilityCache\n */\nexport var allParentAutofocusables = function (entries, visibilityCache) {\n return entries.reduce(function (acc, node) { return acc.concat(parentAutofocusables(node, visibilityCache)); }, []);\n};\n","import { NEW_FOCUS, newFocus } from './solver';\nimport { filterAutoFocusable, getAllTabbableNodes, getTabbableNodes } from './utils/DOMutils';\nimport { getAllAffectedNodes } from './utils/all-affected';\nimport { pickFirstFocus } from './utils/firstFocus';\nimport { getActiveElement } from './utils/getActiveElement';\nimport { getDataset, isDefined, isNotAGuard } from './utils/is';\nimport { allParentAutofocusables, getTopCommonParent } from './utils/parenting';\nvar findAutoFocused = function (autoFocusables) {\n return function (node) { var _a; \n // @ts-expect-error\n return node.autofocus || !!((_a = getDataset(node)) === null || _a === void 0 ? void 0 : _a.autofocus) || autoFocusables.indexOf(node) >= 0; };\n};\nvar reorderNodes = function (srcNodes, dstNodes) {\n var remap = new Map();\n // no Set(dstNodes) for IE11 :(\n dstNodes.forEach(function (entity) { return remap.set(entity.node, entity); });\n // remap to dstNodes\n return srcNodes.map(function (node) { return remap.get(node); }).filter(isDefined);\n};\n/**\n * given top node(s) and the last active element return the element to be focused next\n * @param topNode\n * @param lastNode\n */\nexport var getFocusMerge = function (topNode, lastNode) {\n var activeElement = document && getActiveElement();\n var entries = getAllAffectedNodes(topNode).filter(isNotAGuard);\n var commonParent = getTopCommonParent(activeElement || topNode, topNode, entries);\n var visibilityCache = new Map();\n var anyFocusable = getAllTabbableNodes(entries, visibilityCache);\n var innerElements = getTabbableNodes(entries, visibilityCache).filter(function (_a) {\n var node = _a.node;\n return isNotAGuard(node);\n });\n if (!innerElements[0]) {\n innerElements = anyFocusable;\n if (!innerElements[0]) {\n return undefined;\n }\n }\n var outerNodes = getAllTabbableNodes([commonParent], visibilityCache).map(function (_a) {\n var node = _a.node;\n return node;\n });\n var orderedInnerElements = reorderNodes(outerNodes, innerElements);\n var innerNodes = orderedInnerElements.map(function (_a) {\n var node = _a.node;\n return node;\n });\n var newId = newFocus(innerNodes, outerNodes, activeElement, lastNode);\n if (newId === NEW_FOCUS) {\n var autoFocusable = filterAutoFocusable(anyFocusable.map(function (_a) {\n var node = _a.node;\n return node;\n })).filter(findAutoFocused(allParentAutofocusables(entries, visibilityCache)));\n return {\n node: autoFocusable && autoFocusable.length\n ? pickFirstFocus(autoFocusable)\n : pickFirstFocus(filterAutoFocusable(innerNodes)),\n };\n }\n if (newId === undefined) {\n return newId;\n }\n return orderedInnerElements[newId];\n};\n","import { getFocusMerge } from './focusMerge';\nexport var focusOn = function (target, focusOptions) {\n if ('focus' in target) {\n target.focus(focusOptions);\n }\n if ('contentWindow' in target && target.contentWindow) {\n target.contentWindow.focus();\n }\n};\nvar guardCount = 0;\nvar lockDisabled = false;\n/**\n * Sets focus at a given node. The last focused element will help to determine which element(first or last) should be focused.\n * HTML markers (see {@link import('./constants').FOCUS_AUTO} constants) can control autofocus\n * @param topNode\n * @param lastNode\n * @param options\n */\nexport var setFocus = function (topNode, lastNode, options) {\n if (options === void 0) { options = {}; }\n var focusable = getFocusMerge(topNode, lastNode);\n if (lockDisabled) {\n return;\n }\n if (focusable) {\n if (guardCount > 2) {\n // tslint:disable-next-line:no-console\n console.error('FocusLock: focus-fighting detected. Only one focus management system could be active. ' +\n 'See https://github.com/theKashey/focus-lock/#focus-fighting');\n lockDisabled = true;\n setTimeout(function () {\n lockDisabled = false;\n }, 1);\n return;\n }\n guardCount++;\n focusOn(focusable.node, options.focusOptions);\n guardCount--;\n }\n};\n","import * as constants from './constants';\nimport { focusInside } from './focusInside';\nimport { focusIsHidden } from './focusIsHidden';\nimport { getFocusMerge as focusMerge } from './focusMerge';\nimport { getFocusabledIn, getFocusableIn } from './focusables';\nimport { setFocus } from './setFocus';\nimport { focusNextElement, focusPrevElement } from './sibling';\nimport tabHook from './tabHook';\nimport { getAllAffectedNodes } from './utils/all-affected';\nimport { getActiveElement } from './utils/getActiveElement';\nexport { tabHook, focusInside, focusIsHidden, focusMerge, getFocusableIn, getFocusabledIn, constants, getAllAffectedNodes, focusNextElement, focusPrevElement, getActiveElement, };\nexport default setFocus;\n//\n","import { FOCUS_ALLOW } from './constants';\nimport { contains } from './utils/DOMutils';\nimport { toArray } from './utils/array';\nimport { getActiveElement } from './utils/getActiveElement';\n/**\n * focus is hidden FROM the focus-lock\n * ie contained inside a node focus-lock shall ignore\n * @returns {boolean} focus is currently is in \"allow\" area\n */\nexport var focusIsHidden = function () {\n var activeElement = document && getActiveElement();\n if (!activeElement) {\n return false;\n }\n // this does not support setting FOCUS_ALLOW within shadow dom\n return toArray(document.querySelectorAll(\"[\".concat(FOCUS_ALLOW, \"]\"))).some(function (node) { return contains(node, activeElement); });\n};\n","import { contains } from './utils/DOMutils';\nimport { getAllAffectedNodes } from './utils/all-affected';\nimport { toArray } from './utils/array';\nimport { getActiveElement } from './utils/getActiveElement';\nvar focusInFrame = function (frame) { return frame === document.activeElement; };\nvar focusInsideIframe = function (topNode) {\n return Boolean(toArray(topNode.querySelectorAll('iframe')).some(function (node) { return focusInFrame(node); }));\n};\n/**\n * @returns {Boolean} true, if the current focus is inside given node or nodes\n */\nexport var focusInside = function (topNode) {\n var activeElement = document && getActiveElement();\n if (!activeElement || (activeElement.dataset && activeElement.dataset.focusGuard)) {\n return false;\n }\n return getAllAffectedNodes(topNode).some(function (node) { return contains(node, activeElement) || focusInsideIframe(node); });\n};\n","import { getTabbableNodes } from './utils/DOMutils';\nimport { getAllAffectedNodes } from './utils/all-affected';\nimport { isGuard, isNotAGuard } from './utils/is';\nimport { getTopCommonParent } from './utils/parenting';\n/**\n * return list of focusable elements inside a given top node\n * @deprecated use {@link getFocusableIn}. Yep, there is typo in the function name\n */\nexport var getFocusabledIn = function (topNode) {\n var entries = getAllAffectedNodes(topNode).filter(isNotAGuard);\n var commonParent = getTopCommonParent(topNode, topNode, entries);\n var visibilityCache = new Map();\n var outerNodes = getTabbableNodes([commonParent], visibilityCache, true);\n var innerElements = getTabbableNodes(entries, visibilityCache)\n .filter(function (_a) {\n var node = _a.node;\n return isNotAGuard(node);\n })\n .map(function (_a) {\n var node = _a.node;\n return node;\n });\n return outerNodes.map(function (_a) {\n var node = _a.node, index = _a.index;\n return ({\n node: node,\n index: index,\n lockItem: innerElements.indexOf(node) >= 0,\n guard: isGuard(node),\n });\n });\n};\n/**\n * return list of focusable elements inside a given top node\n */\nexport var getFocusableIn = getFocusabledIn;\n","export function deferAction(action) {\n // Hidding setImmediate from Webpack to avoid inserting polyfill\n var _window = window,\n setImmediate = _window.setImmediate;\n\n if (typeof setImmediate !== 'undefined') {\n setImmediate(action);\n } else {\n setTimeout(action, 1);\n }\n}\nexport var inlineProp = function inlineProp(name, value) {\n var obj = {};\n obj[name] = value;\n return obj;\n};","/* eslint-disable no-mixed-operators */\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport withSideEffect from 'react-clientside-effect';\nimport moveFocusInside, { focusInside, focusIsHidden, getFocusabledIn } from 'focus-lock';\nimport { deferAction } from './util';\nimport { mediumFocus, mediumBlur, mediumEffect } from './medium';\n\nvar focusOnBody = function focusOnBody() {\n return document && document.activeElement === document.body;\n};\n\nvar isFreeFocus = function isFreeFocus() {\n return focusOnBody() || focusIsHidden();\n};\n\nvar lastActiveTrap = null;\nvar lastActiveFocus = null;\nvar lastPortaledElement = null;\nvar focusWasOutsideWindow = false;\n\nvar defaultWhitelist = function defaultWhitelist() {\n return true;\n};\n\nvar focusWhitelisted = function focusWhitelisted(activeElement) {\n return (lastActiveTrap.whiteList || defaultWhitelist)(activeElement);\n};\n\nvar recordPortal = function recordPortal(observerNode, portaledElement) {\n lastPortaledElement = {\n observerNode: observerNode,\n portaledElement: portaledElement\n };\n};\n\nvar focusIsPortaledPair = function focusIsPortaledPair(element) {\n return lastPortaledElement && lastPortaledElement.portaledElement === element;\n};\n\nfunction autoGuard(startIndex, end, step, allNodes) {\n var lastGuard = null;\n var i = startIndex;\n\n do {\n var item = allNodes[i];\n\n if (item.guard) {\n if (item.node.dataset.focusAutoGuard) {\n lastGuard = item;\n }\n } else if (item.lockItem) {\n if (i !== startIndex) {\n // we will tab to the next element\n return;\n }\n\n lastGuard = null;\n } else {\n break;\n }\n } while ((i += step) !== end);\n\n if (lastGuard) {\n lastGuard.node.tabIndex = 0;\n }\n}\n\nvar extractRef = function extractRef(ref) {\n return ref && 'current' in ref ? ref.current : ref;\n};\n\nvar focusWasOutside = function focusWasOutside(crossFrameOption) {\n if (crossFrameOption) {\n // with cross frame return true for any value\n return Boolean(focusWasOutsideWindow);\n } // in other case return only of focus went a while aho\n\n\n return focusWasOutsideWindow === 'meanwhile';\n};\n\nvar checkInHost = function checkInHost(check, el, boundary) {\n return el && ( // find host equal to active element and check nested active element\n el.host === check && (!el.activeElement || boundary.contains(el.activeElement)) // dive up\n || el.parentNode && checkInHost(check, el.parentNode, boundary));\n};\n\nvar withinHost = function withinHost(activeElement, workingArea) {\n return workingArea.some(function (area) {\n return checkInHost(activeElement, area, area);\n });\n};\n\nvar activateTrap = function activateTrap() {\n var result = false;\n\n if (lastActiveTrap) {\n var _lastActiveTrap = lastActiveTrap,\n observed = _lastActiveTrap.observed,\n persistentFocus = _lastActiveTrap.persistentFocus,\n autoFocus = _lastActiveTrap.autoFocus,\n shards = _lastActiveTrap.shards,\n crossFrame = _lastActiveTrap.crossFrame,\n focusOptions = _lastActiveTrap.focusOptions;\n var workingNode = observed || lastPortaledElement && lastPortaledElement.portaledElement;\n var activeElement = document && document.activeElement;\n\n if (workingNode) {\n var workingArea = [workingNode].concat(shards.map(extractRef).filter(Boolean));\n\n if (!activeElement || focusWhitelisted(activeElement)) {\n if (persistentFocus || focusWasOutside(crossFrame) || !isFreeFocus() || !lastActiveFocus && autoFocus) {\n if (workingNode && !( // active element is \"inside\" working area\n focusInside(workingArea) || // check for shadow-dom contained elements\n activeElement && withinHost(activeElement, workingArea) || focusIsPortaledPair(activeElement, workingNode))) {\n if (document && !lastActiveFocus && activeElement && !autoFocus) {\n // Check if blur() exists, which is missing on certain elements on IE\n if (activeElement.blur) {\n activeElement.blur();\n }\n\n document.body.focus();\n } else {\n result = moveFocusInside(workingArea, lastActiveFocus, {\n focusOptions: focusOptions\n });\n lastPortaledElement = {};\n }\n }\n\n focusWasOutsideWindow = false;\n lastActiveFocus = document && document.activeElement;\n }\n }\n\n if (document) {\n var newActiveElement = document && document.activeElement;\n var allNodes = getFocusabledIn(workingArea);\n var focusedIndex = allNodes.map(function (_ref) {\n var node = _ref.node;\n return node;\n }).indexOf(newActiveElement);\n\n if (focusedIndex > -1) {\n // remove old focus\n allNodes.filter(function (_ref2) {\n var guard = _ref2.guard,\n node = _ref2.node;\n return guard && node.dataset.focusAutoGuard;\n }).forEach(function (_ref3) {\n var node = _ref3.node;\n return node.removeAttribute('tabIndex');\n });\n autoGuard(focusedIndex, allNodes.length, +1, allNodes);\n autoGuard(focusedIndex, -1, -1, allNodes);\n }\n }\n }\n }\n\n return result;\n};\n\nvar onTrap = function onTrap(event) {\n if (activateTrap() && event) {\n // prevent scroll jump\n event.stopPropagation();\n event.preventDefault();\n }\n};\n\nvar onBlur = function onBlur() {\n return deferAction(activateTrap);\n};\n\nvar onFocus = function onFocus(event) {\n // detect portal\n var source = event.target;\n var currentNode = event.currentTarget;\n\n if (!currentNode.contains(source)) {\n recordPortal(currentNode, source);\n }\n};\n\nvar FocusWatcher = function FocusWatcher() {\n return null;\n};\n\nvar FocusTrap = function FocusTrap(_ref4) {\n var children = _ref4.children;\n return /*#__PURE__*/React.createElement(\"div\", {\n onBlur: onBlur,\n onFocus: onFocus\n }, children);\n};\n\nFocusTrap.propTypes = process.env.NODE_ENV !== \"production\" ? {\n children: PropTypes.node.isRequired\n} : {};\n\nvar onWindowBlur = function onWindowBlur() {\n focusWasOutsideWindow = 'just'; // using setTimeout to set this variable after React/sidecar reaction\n\n setTimeout(function () {\n focusWasOutsideWindow = 'meanwhile';\n }, 0);\n};\n\nvar attachHandler = function attachHandler() {\n document.addEventListener('focusin', onTrap);\n document.addEventListener('focusout', onBlur);\n window.addEventListener('blur', onWindowBlur);\n};\n\nvar detachHandler = function detachHandler() {\n document.removeEventListener('focusin', onTrap);\n document.removeEventListener('focusout', onBlur);\n window.removeEventListener('blur', onWindowBlur);\n};\n\nfunction reducePropsToState(propsList) {\n return propsList.filter(function (_ref5) {\n var disabled = _ref5.disabled;\n return !disabled;\n });\n}\n\nfunction handleStateChangeOnClient(traps) {\n var trap = traps.slice(-1)[0];\n\n if (trap && !lastActiveTrap) {\n attachHandler();\n }\n\n var lastTrap = lastActiveTrap;\n var sameTrap = lastTrap && trap && trap.id === lastTrap.id;\n lastActiveTrap = trap;\n\n if (lastTrap && !sameTrap) {\n lastTrap.onDeactivation(); // return focus only of last trap was removed\n\n if (!traps.filter(function (_ref6) {\n var id = _ref6.id;\n return id === lastTrap.id;\n }).length) {\n // allow defer is no other trap is awaiting restore\n lastTrap.returnFocus(!trap);\n }\n }\n\n if (trap) {\n lastActiveFocus = null;\n\n if (!sameTrap || lastTrap.observed !== trap.observed) {\n trap.onActivation();\n }\n\n activateTrap(true);\n deferAction(activateTrap);\n } else {\n detachHandler();\n lastActiveFocus = null;\n }\n} // bind medium\n\n\nmediumFocus.assignSyncMedium(onFocus);\nmediumBlur.assignMedium(onBlur);\nmediumEffect.assignMedium(function (cb) {\n return cb({\n moveFocusInside: moveFocusInside,\n focusInside: focusInside\n });\n});\nexport default withSideEffect(reducePropsToState, handleStateChangeOnClient)(FocusWatcher);","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport FocusLockUI from './Lock';\nimport FocusTrap from './Trap';\n/* that would be a BREAKING CHANGE!\n// delaying sidecar execution till the first usage\nconst RequireSideCar = (props) => {\n // eslint-disable-next-line global-require\n const SideCar = require('./Trap').default;\n return <SideCar {...props} />;\n};\n*/\n\nvar FocusLockCombination = /*#__PURE__*/React.forwardRef(function FocusLockUICombination(props, ref) {\n return /*#__PURE__*/React.createElement(FocusLockUI, _extends({\n sideCar: FocusTrap,\n ref: ref\n }, props));\n});\n\nvar _ref = FocusLockUI.propTypes || {},\n sideCar = _ref.sideCar,\n propTypes = _objectWithoutPropertiesLoose(_ref, [\"sideCar\"]);\n\nFocusLockCombination.propTypes = process.env.NODE_ENV !== \"production\" ? propTypes : {};\nexport default FocusLockCombination;","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","import FocusLock from './Combination';\nexport * from './UI';\nexport default FocusLock;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.I18nextProvider = I18nextProvider;\n\nvar _react = require(\"react\");\n\nvar _context = require(\"./context.js\");\n\nfunction I18nextProvider(_ref) {\n var i18n = _ref.i18n,\n defaultNS = _ref.defaultNS,\n children = _ref.children;\n var value = (0, _react.useMemo)(function () {\n return {\n i18n: i18n,\n defaultNS: defaultNS\n };\n }, [i18n, defaultNS]);\n return (0, _react.createElement)(_context.I18nContext.Provider, {\n value: value\n }, children);\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Trans = Trans;\nObject.defineProperty(exports, \"nodesToString\", {\n enumerable: true,\n get: function get() {\n return _TransWithoutContext.nodesToString;\n }\n});\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _react = require(\"react\");\n\nvar _TransWithoutContext = require(\"./TransWithoutContext.js\");\n\nvar _context = require(\"./context.js\");\n\nvar _excluded = [\"children\", \"count\", \"parent\", \"i18nKey\", \"context\", \"tOptions\", \"values\", \"defaults\", \"components\", \"ns\", \"i18n\", \"t\", \"shouldUnescape\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2[\"default\"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction Trans(_ref) {\n var children = _ref.children,\n count = _ref.count,\n parent = _ref.parent,\n i18nKey = _ref.i18nKey,\n context = _ref.context,\n _ref$tOptions = _ref.tOptions,\n tOptions = _ref$tOptions === void 0 ? {} : _ref$tOptions,\n values = _ref.values,\n defaults = _ref.defaults,\n components = _ref.components,\n ns = _ref.ns,\n i18nFromProps = _ref.i18n,\n tFromProps = _ref.t,\n shouldUnescape = _ref.shouldUnescape,\n additionalProps = (0, _objectWithoutProperties2[\"default\"])(_ref, _excluded);\n\n var _ref2 = (0, _react.useContext)(_context.I18nContext) || {},\n i18nFromContext = _ref2.i18n,\n defaultNSFromContext = _ref2.defaultNS;\n\n var i18n = i18nFromProps || i18nFromContext || (0, _context.getI18n)();\n\n var t = tFromProps || i18n.t.bind(i18n) || function (k) {\n return k;\n };\n\n return (0, _TransWithoutContext.Trans)(_objectSpread({\n children: children,\n count: count,\n parent: parent,\n i18nKey: i18nKey,\n context: context,\n tOptions: tOptions,\n values: values,\n defaults: defaults,\n components: components,\n ns: ns || t.ns || defaultNSFromContext || i18n.options && i18n.options.defaultNS,\n i18n: i18n,\n t: tFromProps,\n shouldUnescape: shouldUnescape\n }, additionalProps));\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.nodesToString = nodesToString;\nexports.Trans = Trans;\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _typeof2 = _interopRequireDefault(require(\"@babel/runtime/helpers/typeof\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _react = require(\"react\");\n\nvar _htmlParseStringify = _interopRequireDefault(require(\"html-parse-stringify\"));\n\nvar _utils = require(\"./utils.js\");\n\nvar _defaults = require(\"./defaults.js\");\n\nvar _i18nInstance = require(\"./i18nInstance.js\");\n\nvar _excluded = [\"format\"],\n _excluded2 = [\"children\", \"count\", \"parent\", \"i18nKey\", \"context\", \"tOptions\", \"values\", \"defaults\", \"components\", \"ns\", \"i18n\", \"t\", \"shouldUnescape\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2[\"default\"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction hasChildren(node, checkLength) {\n if (!node) return false;\n var base = node.props ? node.props.children : node.children;\n if (checkLength) return base.length > 0;\n return !!base;\n}\n\nfunction getChildren(node) {\n if (!node) return [];\n return node.props ? node.props.children : node.children;\n}\n\nfunction hasValidReactChildren(children) {\n if (Object.prototype.toString.call(children) !== '[object Array]') return false;\n return children.every(function (child) {\n return (0, _react.isValidElement)(child);\n });\n}\n\nfunction getAsArray(data) {\n return Array.isArray(data) ? data : [data];\n}\n\nfunction mergeProps(source, target) {\n var newTarget = _objectSpread({}, target);\n\n newTarget.props = Object.assign(source.props, target.props);\n return newTarget;\n}\n\nfunction nodesToString(children, i18nOptions) {\n if (!children) return '';\n var stringNode = '';\n var childrenArray = getAsArray(children);\n var keepArray = i18nOptions.transSupportBasicHtmlNodes && i18nOptions.transKeepBasicHtmlNodesFor ? i18nOptions.transKeepBasicHtmlNodesFor : [];\n childrenArray.forEach(function (child, childIndex) {\n if (typeof child === 'string') {\n stringNode += \"\".concat(child);\n } else if ((0, _react.isValidElement)(child)) {\n var childPropsCount = Object.keys(child.props).length;\n var shouldKeepChild = keepArray.indexOf(child.type) > -1;\n var childChildren = child.props.children;\n\n if (!childChildren && shouldKeepChild && childPropsCount === 0) {\n stringNode += \"<\".concat(child.type, \"/>\");\n } else if (!childChildren && (!shouldKeepChild || childPropsCount !== 0)) {\n stringNode += \"<\".concat(childIndex, \"></\").concat(childIndex, \">\");\n } else if (child.props.i18nIsDynamicList) {\n stringNode += \"<\".concat(childIndex, \"></\").concat(childIndex, \">\");\n } else if (shouldKeepChild && childPropsCount === 1 && typeof childChildren === 'string') {\n stringNode += \"<\".concat(child.type, \">\").concat(childChildren, \"</\").concat(child.type, \">\");\n } else {\n var content = nodesToString(childChildren, i18nOptions);\n stringNode += \"<\".concat(childIndex, \">\").concat(content, \"</\").concat(childIndex, \">\");\n }\n } else if (child === null) {\n (0, _utils.warn)(\"Trans: the passed in value is invalid - seems you passed in a null child.\");\n } else if ((0, _typeof2[\"default\"])(child) === 'object') {\n var format = child.format,\n clone = (0, _objectWithoutProperties2[\"default\"])(child, _excluded);\n var keys = Object.keys(clone);\n\n if (keys.length === 1) {\n var value = format ? \"\".concat(keys[0], \", \").concat(format) : keys[0];\n stringNode += \"{{\".concat(value, \"}}\");\n } else {\n (0, _utils.warn)(\"react-i18next: the passed in object contained more than one variable - the object should look like {{ value, format }} where format is optional.\", child);\n }\n } else {\n (0, _utils.warn)(\"Trans: the passed in value is invalid - seems you passed in a variable like {number} - please pass in variables for interpolation as full objects like {{number}}.\", child);\n }\n });\n return stringNode;\n}\n\nfunction renderNodes(children, targetString, i18n, i18nOptions, combinedTOpts, shouldUnescape) {\n if (targetString === '') return [];\n var keepArray = i18nOptions.transKeepBasicHtmlNodesFor || [];\n var emptyChildrenButNeedsHandling = targetString && new RegExp(keepArray.join('|')).test(targetString);\n if (!children && !emptyChildrenButNeedsHandling) return [targetString];\n var data = {};\n\n function getData(childs) {\n var childrenArray = getAsArray(childs);\n childrenArray.forEach(function (child) {\n if (typeof child === 'string') return;\n if (hasChildren(child)) getData(getChildren(child));else if ((0, _typeof2[\"default\"])(child) === 'object' && !(0, _react.isValidElement)(child)) Object.assign(data, child);\n });\n }\n\n getData(children);\n\n var ast = _htmlParseStringify[\"default\"].parse(\"<0>\".concat(targetString, \"</0>\"));\n\n var opts = _objectSpread(_objectSpread({}, data), combinedTOpts);\n\n function renderInner(child, node, rootReactNode) {\n var childs = getChildren(child);\n var mappedChildren = mapAST(childs, node.children, rootReactNode);\n return hasValidReactChildren(childs) && mappedChildren.length === 0 ? childs : mappedChildren;\n }\n\n function pushTranslatedJSX(child, inner, mem, i, isVoid) {\n if (child.dummy) child.children = inner;\n mem.push((0, _react.cloneElement)(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n }), isVoid ? undefined : inner));\n }\n\n function mapAST(reactNode, astNode, rootReactNode) {\n var reactNodes = getAsArray(reactNode);\n var astNodes = getAsArray(astNode);\n return astNodes.reduce(function (mem, node, i) {\n var translationContent = node.children && node.children[0] && node.children[0].content && i18n.services.interpolator.interpolate(node.children[0].content, opts, i18n.language);\n\n if (node.type === 'tag') {\n var tmp = reactNodes[parseInt(node.name, 10)];\n if (!tmp && rootReactNode.length === 1 && rootReactNode[0][node.name]) tmp = rootReactNode[0][node.name];\n if (!tmp) tmp = {};\n var child = Object.keys(node.attrs).length !== 0 ? mergeProps({\n props: node.attrs\n }, tmp) : tmp;\n var isElement = (0, _react.isValidElement)(child);\n var isValidTranslationWithChildren = isElement && hasChildren(node, true) && !node.voidElement;\n var isEmptyTransWithHTML = emptyChildrenButNeedsHandling && (0, _typeof2[\"default\"])(child) === 'object' && child.dummy && !isElement;\n var isKnownComponent = (0, _typeof2[\"default\"])(children) === 'object' && children !== null && Object.hasOwnProperty.call(children, node.name);\n\n if (typeof child === 'string') {\n var value = i18n.services.interpolator.interpolate(child, opts, i18n.language);\n mem.push(value);\n } else if (hasChildren(child) || isValidTranslationWithChildren) {\n var inner = renderInner(child, node, rootReactNode);\n pushTranslatedJSX(child, inner, mem, i);\n } else if (isEmptyTransWithHTML) {\n var _inner = mapAST(reactNodes, node.children, rootReactNode);\n\n mem.push((0, _react.cloneElement)(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n }), _inner));\n } else if (Number.isNaN(parseFloat(node.name))) {\n if (isKnownComponent) {\n var _inner2 = renderInner(child, node, rootReactNode);\n\n pushTranslatedJSX(child, _inner2, mem, i, node.voidElement);\n } else if (i18nOptions.transSupportBasicHtmlNodes && keepArray.indexOf(node.name) > -1) {\n if (node.voidElement) {\n mem.push((0, _react.createElement)(node.name, {\n key: \"\".concat(node.name, \"-\").concat(i)\n }));\n } else {\n var _inner3 = mapAST(reactNodes, node.children, rootReactNode);\n\n mem.push((0, _react.createElement)(node.name, {\n key: \"\".concat(node.name, \"-\").concat(i)\n }, _inner3));\n }\n } else if (node.voidElement) {\n mem.push(\"<\".concat(node.name, \" />\"));\n } else {\n var _inner4 = mapAST(reactNodes, node.children, rootReactNode);\n\n mem.push(\"<\".concat(node.name, \">\").concat(_inner4, \"</\").concat(node.name, \">\"));\n }\n } else if ((0, _typeof2[\"default\"])(child) === 'object' && !isElement) {\n var content = node.children[0] ? translationContent : null;\n if (content) mem.push(content);\n } else if (node.children.length === 1 && translationContent) {\n mem.push((0, _react.cloneElement)(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n }), translationContent));\n } else {\n mem.push((0, _react.cloneElement)(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n })));\n }\n } else if (node.type === 'text') {\n var wrapTextNodes = i18nOptions.transWrapTextNodes;\n\n var _content = shouldUnescape ? i18nOptions.unescape(i18n.services.interpolator.interpolate(node.content, opts, i18n.language)) : i18n.services.interpolator.interpolate(node.content, opts, i18n.language);\n\n if (wrapTextNodes) {\n mem.push((0, _react.createElement)(wrapTextNodes, {\n key: \"\".concat(node.name, \"-\").concat(i)\n }, _content));\n } else {\n mem.push(_content);\n }\n }\n\n return mem;\n }, []);\n }\n\n var result = mapAST([{\n dummy: true,\n children: children || []\n }], ast, getAsArray(children || []));\n return getChildren(result[0]);\n}\n\nfunction Trans(_ref) {\n var children = _ref.children,\n count = _ref.count,\n parent = _ref.parent,\n i18nKey = _ref.i18nKey,\n context = _ref.context,\n _ref$tOptions = _ref.tOptions,\n tOptions = _ref$tOptions === void 0 ? {} : _ref$tOptions,\n values = _ref.values,\n defaults = _ref.defaults,\n components = _ref.components,\n ns = _ref.ns,\n i18nFromProps = _ref.i18n,\n tFromProps = _ref.t,\n shouldUnescape = _ref.shouldUnescape,\n additionalProps = (0, _objectWithoutProperties2[\"default\"])(_ref, _excluded2);\n var i18n = i18nFromProps || (0, _i18nInstance.getI18n)();\n\n if (!i18n) {\n (0, _utils.warnOnce)('You will need to pass in an i18next instance by using i18nextReactModule');\n return children;\n }\n\n var t = tFromProps || i18n.t.bind(i18n) || function (k) {\n return k;\n };\n\n if (context) tOptions.context = context;\n\n var reactI18nextOptions = _objectSpread(_objectSpread({}, (0, _defaults.getDefaults)()), i18n.options && i18n.options.react);\n\n var namespaces = ns || t.ns || i18n.options && i18n.options.defaultNS;\n namespaces = typeof namespaces === 'string' ? [namespaces] : namespaces || ['translation'];\n var defaultValue = defaults || nodesToString(children, reactI18nextOptions) || reactI18nextOptions.transEmptyNodeValue || i18nKey;\n var hashTransKey = reactI18nextOptions.hashTransKey;\n var key = i18nKey || (hashTransKey ? hashTransKey(defaultValue) : defaultValue);\n var interpolationOverride = values ? tOptions.interpolation : {\n interpolation: _objectSpread(_objectSpread({}, tOptions.interpolation), {}, {\n prefix: '#$?',\n suffix: '?$#'\n })\n };\n\n var combinedTOpts = _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, tOptions), {}, {\n count: count\n }, values), interpolationOverride), {}, {\n defaultValue: defaultValue,\n ns: namespaces\n });\n\n var translation = key ? t(key, combinedTOpts) : defaultValue;\n var content = renderNodes(components || children, translation, i18n, reactI18nextOptions, combinedTOpts, shouldUnescape);\n var useAsParent = parent !== undefined ? parent : reactI18nextOptions.defaultTransParent;\n return useAsParent ? (0, _react.createElement)(useAsParent, additionalProps, content) : content;\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Translation = Translation;\n\nvar _slicedToArray2 = _interopRequireDefault(require(\"@babel/runtime/helpers/slicedToArray\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _useTranslation3 = require(\"./useTranslation.js\");\n\nvar _excluded = [\"ns\", \"children\"];\n\nfunction Translation(props) {\n var ns = props.ns,\n children = props.children,\n options = (0, _objectWithoutProperties2[\"default\"])(props, _excluded);\n\n var _useTranslation = (0, _useTranslation3.useTranslation)(ns, options),\n _useTranslation2 = (0, _slicedToArray2[\"default\"])(_useTranslation, 3),\n t = _useTranslation2[0],\n i18n = _useTranslation2[1],\n ready = _useTranslation2[2];\n\n return children(t, {\n i18n: i18n,\n lng: i18n.language\n }, ready);\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.composeInitialProps = composeInitialProps;\nexports.getInitialProps = getInitialProps;\nObject.defineProperty(exports, \"getDefaults\", {\n enumerable: true,\n get: function get() {\n return _defaults.getDefaults;\n }\n});\nObject.defineProperty(exports, \"setDefaults\", {\n enumerable: true,\n get: function get() {\n return _defaults.setDefaults;\n }\n});\nObject.defineProperty(exports, \"getI18n\", {\n enumerable: true,\n get: function get() {\n return _i18nInstance.getI18n;\n }\n});\nObject.defineProperty(exports, \"setI18n\", {\n enumerable: true,\n get: function get() {\n return _i18nInstance.setI18n;\n }\n});\nObject.defineProperty(exports, \"initReactI18next\", {\n enumerable: true,\n get: function get() {\n return _initReactI18next.initReactI18next;\n }\n});\nexports.ReportNamespaces = exports.I18nContext = void 0;\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _react = require(\"react\");\n\nvar _defaults = require(\"./defaults.js\");\n\nvar _i18nInstance = require(\"./i18nInstance.js\");\n\nvar _initReactI18next = require(\"./initReactI18next.js\");\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2[\"default\"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nvar I18nContext = (0, _react.createContext)();\nexports.I18nContext = I18nContext;\n\nvar ReportNamespaces = function () {\n function ReportNamespaces() {\n (0, _classCallCheck2[\"default\"])(this, ReportNamespaces);\n this.usedNamespaces = {};\n }\n\n (0, _createClass2[\"default\"])(ReportNamespaces, [{\n key: \"addUsedNamespaces\",\n value: function addUsedNamespaces(namespaces) {\n var _this = this;\n\n namespaces.forEach(function (ns) {\n if (!_this.usedNamespaces[ns]) _this.usedNamespaces[ns] = true;\n });\n }\n }, {\n key: \"getUsedNamespaces\",\n value: function getUsedNamespaces() {\n return Object.keys(this.usedNamespaces);\n }\n }]);\n return ReportNamespaces;\n}();\n\nexports.ReportNamespaces = ReportNamespaces;\n\nfunction composeInitialProps(ForComponent) {\n return function (ctx) {\n return new Promise(function (resolve) {\n var i18nInitialProps = getInitialProps();\n\n if (ForComponent.getInitialProps) {\n ForComponent.getInitialProps(ctx).then(function (componentsInitialProps) {\n resolve(_objectSpread(_objectSpread({}, componentsInitialProps), i18nInitialProps));\n });\n } else {\n resolve(i18nInitialProps);\n }\n });\n };\n}\n\nfunction getInitialProps() {\n var i18n = (0, _i18nInstance.getI18n)();\n var namespaces = i18n.reportNamespaces ? i18n.reportNamespaces.getUsedNamespaces() : [];\n var ret = {};\n var initialI18nStore = {};\n i18n.languages.forEach(function (l) {\n initialI18nStore[l] = {};\n namespaces.forEach(function (ns) {\n initialI18nStore[l][ns] = i18n.getResourceBundle(l, ns) || {};\n });\n });\n ret.initialI18nStore = initialI18nStore;\n ret.initialLanguage = i18n.language;\n return ret;\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.setDefaults = setDefaults;\nexports.getDefaults = getDefaults;\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _unescape = require(\"./unescape.js\");\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2[\"default\"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nvar defaultOptions = {\n bindI18n: 'languageChanged',\n bindI18nStore: '',\n transEmptyNodeValue: '',\n transSupportBasicHtmlNodes: true,\n transWrapTextNodes: '',\n transKeepBasicHtmlNodesFor: ['br', 'strong', 'i', 'p'],\n useSuspense: true,\n unescape: _unescape.unescape\n};\n\nfunction setDefaults() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n defaultOptions = _objectSpread(_objectSpread({}, defaultOptions), options);\n}\n\nfunction getDefaults() {\n return defaultOptions;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.setI18n = setI18n;\nexports.getI18n = getI18n;\nvar i18nInstance;\n\nfunction setI18n(instance) {\n i18nInstance = instance;\n}\n\nfunction getI18n() {\n return i18nInstance;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"Trans\", {\n enumerable: true,\n get: function get() {\n return _Trans.Trans;\n }\n});\nObject.defineProperty(exports, \"TransWithoutContext\", {\n enumerable: true,\n get: function get() {\n return _TransWithoutContext.Trans;\n }\n});\nObject.defineProperty(exports, \"useTranslation\", {\n enumerable: true,\n get: function get() {\n return _useTranslation.useTranslation;\n }\n});\nObject.defineProperty(exports, \"withTranslation\", {\n enumerable: true,\n get: function get() {\n return _withTranslation.withTranslation;\n }\n});\nObject.defineProperty(exports, \"Translation\", {\n enumerable: true,\n get: function get() {\n return _Translation.Translation;\n }\n});\nObject.defineProperty(exports, \"I18nextProvider\", {\n enumerable: true,\n get: function get() {\n return _I18nextProvider.I18nextProvider;\n }\n});\nObject.defineProperty(exports, \"withSSR\", {\n enumerable: true,\n get: function get() {\n return _withSSR.withSSR;\n }\n});\nObject.defineProperty(exports, \"useSSR\", {\n enumerable: true,\n get: function get() {\n return _useSSR.useSSR;\n }\n});\nObject.defineProperty(exports, \"I18nContext\", {\n enumerable: true,\n get: function get() {\n return _context.I18nContext;\n }\n});\nObject.defineProperty(exports, \"initReactI18next\", {\n enumerable: true,\n get: function get() {\n return _context.initReactI18next;\n }\n});\nObject.defineProperty(exports, \"setDefaults\", {\n enumerable: true,\n get: function get() {\n return _context.setDefaults;\n }\n});\nObject.defineProperty(exports, \"getDefaults\", {\n enumerable: true,\n get: function get() {\n return _context.getDefaults;\n }\n});\nObject.defineProperty(exports, \"setI18n\", {\n enumerable: true,\n get: function get() {\n return _context.setI18n;\n }\n});\nObject.defineProperty(exports, \"getI18n\", {\n enumerable: true,\n get: function get() {\n return _context.getI18n;\n }\n});\nObject.defineProperty(exports, \"composeInitialProps\", {\n enumerable: true,\n get: function get() {\n return _context.composeInitialProps;\n }\n});\nObject.defineProperty(exports, \"getInitialProps\", {\n enumerable: true,\n get: function get() {\n return _context.getInitialProps;\n }\n});\nexports.selectOrdinal = exports.plural = exports.select = exports.number = exports.time = exports.date = void 0;\n\nvar _Trans = require(\"./Trans.js\");\n\nvar _TransWithoutContext = require(\"./TransWithoutContext.js\");\n\nvar _useTranslation = require(\"./useTranslation.js\");\n\nvar _withTranslation = require(\"./withTranslation.js\");\n\nvar _Translation = require(\"./Translation.js\");\n\nvar _I18nextProvider = require(\"./I18nextProvider.js\");\n\nvar _withSSR = require(\"./withSSR.js\");\n\nvar _useSSR = require(\"./useSSR.js\");\n\nvar _context = require(\"./context.js\");\n\nvar date = function date() {\n return '';\n};\n\nexports.date = date;\n\nvar time = function time() {\n return '';\n};\n\nexports.time = time;\n\nvar number = function number() {\n return '';\n};\n\nexports.number = number;\n\nvar select = function select() {\n return '';\n};\n\nexports.select = select;\n\nvar plural = function plural() {\n return '';\n};\n\nexports.plural = plural;\n\nvar selectOrdinal = function selectOrdinal() {\n return '';\n};\n\nexports.selectOrdinal = selectOrdinal;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.initReactI18next = void 0;\n\nvar _defaults = require(\"./defaults.js\");\n\nvar _i18nInstance = require(\"./i18nInstance.js\");\n\nvar initReactI18next = {\n type: '3rdParty',\n init: function init(instance) {\n (0, _defaults.setDefaults)(instance.options.react);\n (0, _i18nInstance.setI18n)(instance);\n }\n};\nexports.initReactI18next = initReactI18next;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.unescape = void 0;\nvar matchHtmlEntity = /&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g;\nvar htmlEntities = {\n '&amp;': '&',\n '&#38;': '&',\n '&lt;': '<',\n '&#60;': '<',\n '&gt;': '>',\n '&#62;': '>',\n '&apos;': \"'\",\n '&#39;': \"'\",\n '&quot;': '\"',\n '&#34;': '\"',\n '&nbsp;': ' ',\n '&#160;': ' ',\n '&copy;': '©',\n '&#169;': '©',\n '&reg;': '®',\n '&#174;': '®',\n '&hellip;': '…',\n '&#8230;': '…',\n '&#x2F;': '/',\n '&#47;': '/'\n};\n\nvar unescapeHtmlEntity = function unescapeHtmlEntity(m) {\n return htmlEntities[m];\n};\n\nvar unescape = function unescape(text) {\n return text.replace(matchHtmlEntity, unescapeHtmlEntity);\n};\n\nexports.unescape = unescape;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.useSSR = useSSR;\n\nvar _react = require(\"react\");\n\nvar _context = require(\"./context.js\");\n\nfunction useSSR(initialI18nStore, initialLanguage) {\n var props = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var i18nFromProps = props.i18n;\n\n var _ref = (0, _react.useContext)(_context.I18nContext) || {},\n i18nFromContext = _ref.i18n;\n\n var i18n = i18nFromProps || i18nFromContext || (0, _context.getI18n)();\n if (i18n.options && i18n.options.isClone) return;\n\n if (initialI18nStore && !i18n.initializedStoreOnce) {\n i18n.services.resourceStore.data = initialI18nStore;\n i18n.options.ns = Object.values(initialI18nStore).reduce(function (mem, lngResources) {\n Object.keys(lngResources).forEach(function (ns) {\n if (mem.indexOf(ns) < 0) mem.push(ns);\n });\n return mem;\n }, i18n.options.ns);\n i18n.initializedStoreOnce = true;\n i18n.isInitialized = true;\n }\n\n if (initialLanguage && !i18n.initializedLanguageOnce) {\n i18n.changeLanguage(initialLanguage);\n i18n.initializedLanguageOnce = true;\n }\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.useTranslation = useTranslation;\n\nvar _slicedToArray2 = _interopRequireDefault(require(\"@babel/runtime/helpers/slicedToArray\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _react = require(\"react\");\n\nvar _context = require(\"./context.js\");\n\nvar _utils = require(\"./utils.js\");\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2[\"default\"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nvar usePrevious = function usePrevious(value, ignore) {\n var ref = (0, _react.useRef)();\n (0, _react.useEffect)(function () {\n ref.current = ignore ? ref.current : value;\n }, [value, ignore]);\n return ref.current;\n};\n\nfunction useTranslation(ns) {\n var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var i18nFromProps = props.i18n;\n\n var _ref = (0, _react.useContext)(_context.I18nContext) || {},\n i18nFromContext = _ref.i18n,\n defaultNSFromContext = _ref.defaultNS;\n\n var i18n = i18nFromProps || i18nFromContext || (0, _context.getI18n)();\n if (i18n && !i18n.reportNamespaces) i18n.reportNamespaces = new _context.ReportNamespaces();\n\n if (!i18n) {\n (0, _utils.warnOnce)('You will need to pass in an i18next instance by using initReactI18next');\n\n var notReadyT = function notReadyT(k) {\n return Array.isArray(k) ? k[k.length - 1] : k;\n };\n\n var retNotReady = [notReadyT, {}, false];\n retNotReady.t = notReadyT;\n retNotReady.i18n = {};\n retNotReady.ready = false;\n return retNotReady;\n }\n\n if (i18n.options.react && i18n.options.react.wait !== undefined) (0, _utils.warnOnce)('It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.');\n\n var i18nOptions = _objectSpread(_objectSpread(_objectSpread({}, (0, _context.getDefaults)()), i18n.options.react), props);\n\n var useSuspense = i18nOptions.useSuspense,\n keyPrefix = i18nOptions.keyPrefix;\n var namespaces = ns || defaultNSFromContext || i18n.options && i18n.options.defaultNS;\n namespaces = typeof namespaces === 'string' ? [namespaces] : namespaces || ['translation'];\n if (i18n.reportNamespaces.addUsedNamespaces) i18n.reportNamespaces.addUsedNamespaces(namespaces);\n var ready = (i18n.isInitialized || i18n.initializedStoreOnce) && namespaces.every(function (n) {\n return (0, _utils.hasLoadedNamespace)(n, i18n, i18nOptions);\n });\n\n function getT() {\n return i18n.getFixedT(null, i18nOptions.nsMode === 'fallback' ? namespaces : namespaces[0], keyPrefix);\n }\n\n var _useState = (0, _react.useState)(getT),\n _useState2 = (0, _slicedToArray2[\"default\"])(_useState, 2),\n t = _useState2[0],\n setT = _useState2[1];\n\n var joinedNS = namespaces.join();\n var previousJoinedNS = usePrevious(joinedNS);\n var isMounted = (0, _react.useRef)(true);\n (0, _react.useEffect)(function () {\n var bindI18n = i18nOptions.bindI18n,\n bindI18nStore = i18nOptions.bindI18nStore;\n isMounted.current = true;\n\n if (!ready && !useSuspense) {\n (0, _utils.loadNamespaces)(i18n, namespaces, function () {\n if (isMounted.current) setT(getT);\n });\n }\n\n if (ready && previousJoinedNS && previousJoinedNS !== joinedNS && isMounted.current) {\n setT(getT);\n }\n\n function boundReset() {\n if (isMounted.current) setT(getT);\n }\n\n if (bindI18n && i18n) i18n.on(bindI18n, boundReset);\n if (bindI18nStore && i18n) i18n.store.on(bindI18nStore, boundReset);\n return function () {\n isMounted.current = false;\n if (bindI18n && i18n) bindI18n.split(' ').forEach(function (e) {\n return i18n.off(e, boundReset);\n });\n if (bindI18nStore && i18n) bindI18nStore.split(' ').forEach(function (e) {\n return i18n.store.off(e, boundReset);\n });\n };\n }, [i18n, joinedNS]);\n var isInitial = (0, _react.useRef)(true);\n (0, _react.useEffect)(function () {\n if (isMounted.current && !isInitial.current) {\n setT(getT);\n }\n\n isInitial.current = false;\n }, [i18n, keyPrefix]);\n var ret = [t, i18n, ready];\n ret.t = t;\n ret.i18n = i18n;\n ret.ready = ready;\n if (ready) return ret;\n if (!ready && !useSuspense) return ret;\n throw new Promise(function (resolve) {\n (0, _utils.loadNamespaces)(i18n, namespaces, function () {\n resolve();\n });\n });\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.warn = warn;\nexports.warnOnce = warnOnce;\nexports.loadNamespaces = loadNamespaces;\nexports.hasLoadedNamespace = hasLoadedNamespace;\nexports.getDisplayName = getDisplayName;\n\nfunction warn() {\n if (console && console.warn) {\n var _console;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (typeof args[0] === 'string') args[0] = \"react-i18next:: \".concat(args[0]);\n\n (_console = console).warn.apply(_console, args);\n }\n}\n\nvar alreadyWarned = {};\n\nfunction warnOnce() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n if (typeof args[0] === 'string' && alreadyWarned[args[0]]) return;\n if (typeof args[0] === 'string') alreadyWarned[args[0]] = new Date();\n warn.apply(void 0, args);\n}\n\nfunction loadNamespaces(i18n, ns, cb) {\n i18n.loadNamespaces(ns, function () {\n if (i18n.isInitialized) {\n cb();\n } else {\n var initialized = function initialized() {\n setTimeout(function () {\n i18n.off('initialized', initialized);\n }, 0);\n cb();\n };\n\n i18n.on('initialized', initialized);\n }\n });\n}\n\nfunction oldI18nextHasLoadedNamespace(ns, i18n) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var lng = i18n.languages[0];\n var fallbackLng = i18n.options ? i18n.options.fallbackLng : false;\n var lastLng = i18n.languages[i18n.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n\n var loadNotPending = function loadNotPending(l, n) {\n var loadState = i18n.services.backendConnector.state[\"\".concat(l, \"|\").concat(n)];\n return loadState === -1 || loadState === 2;\n };\n\n if (options.bindI18n && options.bindI18n.indexOf('languageChanging') > -1 && i18n.services.backendConnector.backend && i18n.isLanguageChangingTo && !loadNotPending(i18n.isLanguageChangingTo, ns)) return false;\n if (i18n.hasResourceBundle(lng, ns)) return true;\n if (!i18n.services.backendConnector.backend || i18n.options.resources && !i18n.options.partialBundledLanguages) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n}\n\nfunction hasLoadedNamespace(ns, i18n) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n if (!i18n.languages || !i18n.languages.length) {\n warnOnce('i18n.languages were undefined or empty', i18n.languages);\n return true;\n }\n\n var isNewerI18next = i18n.options.ignoreJSONStructure !== undefined;\n\n if (!isNewerI18next) {\n return oldI18nextHasLoadedNamespace(ns, i18n, options);\n }\n\n return i18n.hasLoadedNamespace(ns, {\n precheck: function precheck(i18nInstance, loadNotPending) {\n if (options.bindI18n && options.bindI18n.indexOf('languageChanging') > -1 && i18nInstance.services.backendConnector.backend && i18nInstance.isLanguageChangingTo && !loadNotPending(i18nInstance.isLanguageChangingTo, ns)) return false;\n }\n });\n}\n\nfunction getDisplayName(Component) {\n return Component.displayName || Component.name || (typeof Component === 'string' && Component.length > 0 ? Component : 'Unknown');\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.withSSR = withSSR;\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _react = require(\"react\");\n\nvar _useSSR = require(\"./useSSR.js\");\n\nvar _context = require(\"./context.js\");\n\nvar _utils = require(\"./utils.js\");\n\nvar _excluded = [\"initialI18nStore\", \"initialLanguage\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2[\"default\"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction withSSR() {\n return function Extend(WrappedComponent) {\n function I18nextWithSSR(_ref) {\n var initialI18nStore = _ref.initialI18nStore,\n initialLanguage = _ref.initialLanguage,\n rest = (0, _objectWithoutProperties2[\"default\"])(_ref, _excluded);\n (0, _useSSR.useSSR)(initialI18nStore, initialLanguage);\n return (0, _react.createElement)(WrappedComponent, _objectSpread({}, rest));\n }\n\n I18nextWithSSR.getInitialProps = (0, _context.composeInitialProps)(WrappedComponent);\n I18nextWithSSR.displayName = \"withI18nextSSR(\".concat((0, _utils.getDisplayName)(WrappedComponent), \")\");\n I18nextWithSSR.WrappedComponent = WrappedComponent;\n return I18nextWithSSR;\n };\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.withTranslation = withTranslation;\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _slicedToArray2 = _interopRequireDefault(require(\"@babel/runtime/helpers/slicedToArray\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _react = require(\"react\");\n\nvar _useTranslation3 = require(\"./useTranslation.js\");\n\nvar _utils = require(\"./utils.js\");\n\nvar _excluded = [\"forwardedRef\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2[\"default\"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction withTranslation(ns) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return function Extend(WrappedComponent) {\n function I18nextWithTranslation(_ref) {\n var forwardedRef = _ref.forwardedRef,\n rest = (0, _objectWithoutProperties2[\"default\"])(_ref, _excluded);\n\n var _useTranslation = (0, _useTranslation3.useTranslation)(ns, _objectSpread(_objectSpread({}, rest), {}, {\n keyPrefix: options.keyPrefix\n })),\n _useTranslation2 = (0, _slicedToArray2[\"default\"])(_useTranslation, 3),\n t = _useTranslation2[0],\n i18n = _useTranslation2[1],\n ready = _useTranslation2[2];\n\n var passDownProps = _objectSpread(_objectSpread({}, rest), {}, {\n t: t,\n i18n: i18n,\n tReady: ready\n });\n\n if (options.withRef && forwardedRef) {\n passDownProps.ref = forwardedRef;\n } else if (!options.withRef && forwardedRef) {\n passDownProps.forwardedRef = forwardedRef;\n }\n\n return (0, _react.createElement)(WrappedComponent, passDownProps);\n }\n\n I18nextWithTranslation.displayName = \"withI18nextTranslation(\".concat((0, _utils.getDisplayName)(WrappedComponent), \")\");\n I18nextWithTranslation.WrappedComponent = WrappedComponent;\n\n var forwardRef = function forwardRef(props, ref) {\n return (0, _react.createElement)(I18nextWithTranslation, Object.assign({}, props, {\n forwardedRef: ref\n }));\n };\n\n return options.withRef ? (0, _react.forwardRef)(forwardRef) : I18nextWithTranslation;\n };\n}","/**\n * @license React\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var b=Symbol.for(\"react.element\"),c=Symbol.for(\"react.portal\"),d=Symbol.for(\"react.fragment\"),e=Symbol.for(\"react.strict_mode\"),f=Symbol.for(\"react.profiler\"),g=Symbol.for(\"react.provider\"),h=Symbol.for(\"react.context\"),k=Symbol.for(\"react.server_context\"),l=Symbol.for(\"react.forward_ref\"),m=Symbol.for(\"react.suspense\"),n=Symbol.for(\"react.suspense_list\"),p=Symbol.for(\"react.memo\"),q=Symbol.for(\"react.lazy\"),t=Symbol.for(\"react.offscreen\"),u;u=Symbol.for(\"react.module.reference\");\nfunction v(a){if(\"object\"===typeof a&&null!==a){var r=a.$$typeof;switch(r){case b:switch(a=a.type,a){case d:case f:case e:case m:case n:return a;default:switch(a=a&&a.$$typeof,a){case k:case h:case l:case q:case p:case g:return a;default:return r}}case c:return r}}}exports.ContextConsumer=h;exports.ContextProvider=g;exports.Element=b;exports.ForwardRef=l;exports.Fragment=d;exports.Lazy=q;exports.Memo=p;exports.Portal=c;exports.Profiler=f;exports.StrictMode=e;exports.Suspense=m;\nexports.SuspenseList=n;exports.isAsyncMode=function(){return!1};exports.isConcurrentMode=function(){return!1};exports.isContextConsumer=function(a){return v(a)===h};exports.isContextProvider=function(a){return v(a)===g};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===b};exports.isForwardRef=function(a){return v(a)===l};exports.isFragment=function(a){return v(a)===d};exports.isLazy=function(a){return v(a)===q};exports.isMemo=function(a){return v(a)===p};\nexports.isPortal=function(a){return v(a)===c};exports.isProfiler=function(a){return v(a)===f};exports.isStrictMode=function(a){return v(a)===e};exports.isSuspense=function(a){return v(a)===m};exports.isSuspenseList=function(a){return v(a)===n};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===d||a===f||a===e||a===m||a===n||a===t||\"object\"===typeof a&&null!==a&&(a.$$typeof===q||a.$$typeof===p||a.$$typeof===g||a.$$typeof===h||a.$$typeof===l||a.$$typeof===u||void 0!==a.getModuleId)?!0:!1};exports.typeOf=v;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/**\n * @license React\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=Symbol.for(\"react.element\"),n=Symbol.for(\"react.portal\"),p=Symbol.for(\"react.fragment\"),q=Symbol.for(\"react.strict_mode\"),r=Symbol.for(\"react.profiler\"),t=Symbol.for(\"react.provider\"),u=Symbol.for(\"react.context\"),v=Symbol.for(\"react.forward_ref\"),w=Symbol.for(\"react.suspense\"),x=Symbol.for(\"react.memo\"),y=Symbol.for(\"react.lazy\"),z=Symbol.iterator;function A(a){if(null===a||\"object\"!==typeof a)return null;a=z&&a[z]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}\nvar B={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,D={};function E(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}E.prototype.isReactComponent={};\nE.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,a,b,\"setState\")};E.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};function F(){}F.prototype=E.prototype;function G(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}var H=G.prototype=new F;\nH.constructor=G;C(H,E.prototype);H.isPureReactComponent=!0;var I=Array.isArray,J=Object.prototype.hasOwnProperty,K={current:null},L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,e){var d,c={},k=null,h=null;if(null!=b)for(d in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(k=\"\"+b.key),b)J.call(b,d)&&!L.hasOwnProperty(d)&&(c[d]=b[d]);var g=arguments.length-2;if(1===g)c.children=e;else if(1<g){for(var f=Array(g),m=0;m<g;m++)f[m]=arguments[m+2];c.children=f}if(a&&a.defaultProps)for(d in g=a.defaultProps,g)void 0===c[d]&&(c[d]=g[d]);return{$$typeof:l,type:a,key:k,ref:h,props:c,_owner:K.current}}\nfunction N(a,b){return{$$typeof:l,type:a.type,key:b,ref:a.ref,props:a.props,_owner:a._owner}}function O(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===l}function escape(a){var b={\"=\":\"=0\",\":\":\"=2\"};return\"$\"+a.replace(/[=:]/g,function(a){return b[a]})}var P=/\\/+/g;function Q(a,b){return\"object\"===typeof a&&null!==a&&null!=a.key?escape(\"\"+a.key):b.toString(36)}\nfunction R(a,b,e,d,c){var k=typeof a;if(\"undefined\"===k||\"boolean\"===k)a=null;var h=!1;if(null===a)h=!0;else switch(k){case \"string\":case \"number\":h=!0;break;case \"object\":switch(a.$$typeof){case l:case n:h=!0}}if(h)return h=a,c=c(h),a=\"\"===d?\".\"+Q(h,0):d,I(c)?(e=\"\",null!=a&&(e=a.replace(P,\"$&/\")+\"/\"),R(c,b,e,\"\",function(a){return a})):null!=c&&(O(c)&&(c=N(c,e+(!c.key||h&&h.key===c.key?\"\":(\"\"+c.key).replace(P,\"$&/\")+\"/\")+a)),b.push(c)),1;h=0;d=\"\"===d?\".\":d+\":\";if(I(a))for(var g=0;g<a.length;g++){k=\na[g];var f=d+Q(k,g);h+=R(k,b,e,f,c)}else if(f=A(a),\"function\"===typeof f)for(a=f.call(a),g=0;!(k=a.next()).done;)k=k.value,f=d+Q(k,g++),h+=R(k,b,e,f,c);else if(\"object\"===k)throw b=String(a),Error(\"Objects are not valid as a React child (found: \"+(\"[object Object]\"===b?\"object with keys {\"+Object.keys(a).join(\", \")+\"}\":b)+\"). If you meant to render a collection of children, use an array instead.\");return h}\nfunction S(a,b,e){if(null==a)return a;var d=[],c=0;R(a,d,\"\",\"\",function(a){return b.call(e,a,c++)});return d}function T(a){if(-1===a._status){var b=a._result;b=b();b.then(function(b){if(0===a._status||-1===a._status)a._status=1,a._result=b},function(b){if(0===a._status||-1===a._status)a._status=2,a._result=b});-1===a._status&&(a._status=0,a._result=b)}if(1===a._status)return a._result.default;throw a._result;}\nvar U={current:null},V={transition:null},W={ReactCurrentDispatcher:U,ReactCurrentBatchConfig:V,ReactCurrentOwner:K};exports.Children={map:S,forEach:function(a,b,e){S(a,function(){b.apply(this,arguments)},e)},count:function(a){var b=0;S(a,function(){b++});return b},toArray:function(a){return S(a,function(a){return a})||[]},only:function(a){if(!O(a))throw Error(\"React.Children.only expected to receive a single React element child.\");return a}};exports.Component=E;exports.Fragment=p;\nexports.Profiler=r;exports.PureComponent=G;exports.StrictMode=q;exports.Suspense=w;exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=W;\nexports.cloneElement=function(a,b,e){if(null===a||void 0===a)throw Error(\"React.cloneElement(...): The argument must be a React element, but you passed \"+a+\".\");var d=C({},a.props),c=a.key,k=a.ref,h=a._owner;if(null!=b){void 0!==b.ref&&(k=b.ref,h=K.current);void 0!==b.key&&(c=\"\"+b.key);if(a.type&&a.type.defaultProps)var g=a.type.defaultProps;for(f in b)J.call(b,f)&&!L.hasOwnProperty(f)&&(d[f]=void 0===b[f]&&void 0!==g?g[f]:b[f])}var f=arguments.length-2;if(1===f)d.children=e;else if(1<f){g=Array(f);\nfor(var m=0;m<f;m++)g[m]=arguments[m+2];d.children=g}return{$$typeof:l,type:a.type,key:c,ref:k,props:d,_owner:h}};exports.createContext=function(a){a={$$typeof:u,_currentValue:a,_currentValue2:a,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null};a.Provider={$$typeof:t,_context:a};return a.Consumer=a};exports.createElement=M;exports.createFactory=function(a){var b=M.bind(null,a);b.type=a;return b};exports.createRef=function(){return{current:null}};\nexports.forwardRef=function(a){return{$$typeof:v,render:a}};exports.isValidElement=O;exports.lazy=function(a){return{$$typeof:y,_payload:{_status:-1,_result:a},_init:T}};exports.memo=function(a,b){return{$$typeof:x,type:a,compare:void 0===b?null:b}};exports.startTransition=function(a){var b=V.transition;V.transition={};try{a()}finally{V.transition=b}};exports.unstable_act=function(){throw Error(\"act(...) is not supported in production builds of React.\");};\nexports.useCallback=function(a,b){return U.current.useCallback(a,b)};exports.useContext=function(a){return U.current.useContext(a)};exports.useDebugValue=function(){};exports.useDeferredValue=function(a){return U.current.useDeferredValue(a)};exports.useEffect=function(a,b){return U.current.useEffect(a,b)};exports.useId=function(){return U.current.useId()};exports.useImperativeHandle=function(a,b,e){return U.current.useImperativeHandle(a,b,e)};\nexports.useInsertionEffect=function(a,b){return U.current.useInsertionEffect(a,b)};exports.useLayoutEffect=function(a,b){return U.current.useLayoutEffect(a,b)};exports.useMemo=function(a,b){return U.current.useMemo(a,b)};exports.useReducer=function(a,b,e){return U.current.useReducer(a,b,e)};exports.useRef=function(a){return U.current.useRef(a)};exports.useState=function(a){return U.current.useState(a)};exports.useSyncExternalStore=function(a,b,e){return U.current.useSyncExternalStore(a,b,e)};\nexports.useTransition=function(){return U.current.useTransition()};exports.version=\"18.2.0\";\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","/**\n * @license React\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';function f(a,b){var c=a.length;a.push(b);a:for(;0<c;){var d=c-1>>>1,e=a[d];if(0<g(e,b))a[d]=b,a[c]=e,c=d;else break a}}function h(a){return 0===a.length?null:a[0]}function k(a){if(0===a.length)return null;var b=a[0],c=a.pop();if(c!==b){a[0]=c;a:for(var d=0,e=a.length,w=e>>>1;d<w;){var m=2*(d+1)-1,C=a[m],n=m+1,x=a[n];if(0>g(C,c))n<e&&0>g(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(n<e&&0>g(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}\nfunction g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}var r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=\"function\"===typeof setTimeout?setTimeout:null,E=\"function\"===typeof clearTimeout?clearTimeout:null,F=\"undefined\"!==typeof setImmediate?setImmediate:null;\n\"undefined\"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){B=!1;G(a);if(!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);null!==b&&K(H,b.startTime-a)}}\nfunction J(a,b){A=!1;B&&(B=!1,E(L),L=-1);z=!0;var c=y;try{G(b);for(v=h(r);null!==v&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(\"function\"===typeof d){v.callback=null;y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?v.callback=e:v===h(r)&&k(r);G(b)}else k(r);v=h(r)}if(null!==v)var w=!0;else{var m=h(t);null!==m&&K(H,m.startTime-b);w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;\nfunction M(){return exports.unstable_now()-Q<P?!1:!0}function R(){if(null!==O){var a=exports.unstable_now();Q=a;var b=!0;try{b=O(!0,a)}finally{b?S():(N=!1,O=null)}}else N=!1}var S;if(\"function\"===typeof F)S=function(){F(R)};else if(\"undefined\"!==typeof MessageChannel){var T=new MessageChannel,U=T.port2;T.port1.onmessage=R;S=function(){U.postMessage(null)}}else S=function(){D(R,0)};function I(a){O=a;N||(N=!0,S())}function K(a,b){L=D(function(){a(exports.unstable_now())},b)}\nexports.unstable_IdlePriority=5;exports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){A||z||(A=!0,I(J))};\nexports.unstable_forceFrameRate=function(a){0>a||125<a?console.error(\"forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported\"):P=0<a?Math.floor(1E3/a):5};exports.unstable_getCurrentPriorityLevel=function(){return y};exports.unstable_getFirstCallbackNode=function(){return h(r)};exports.unstable_next=function(a){switch(y){case 1:case 2:case 3:var b=3;break;default:b=y}var c=y;y=b;try{return a()}finally{y=c}};exports.unstable_pauseExecution=function(){};\nexports.unstable_requestPaint=function(){};exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=y;y=a;try{return b()}finally{y=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();\"object\"===typeof c&&null!==c?(c=c.delay,c=\"number\"===typeof c&&0<c?d+c:d):c=d;switch(a){case 1:var e=-1;break;case 2:e=250;break;case 5:e=1073741823;break;case 4:e=1E4;break;default:e=5E3}e=c+e;a={id:u++,callback:b,priorityLevel:a,startTime:c,expirationTime:e,sortIndex:-1};c>d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","'use strict';\n\nvar isArrayish = require('is-arrayish');\n\nvar concat = Array.prototype.concat;\nvar slice = Array.prototype.slice;\n\nvar swizzle = module.exports = function swizzle(args) {\n\tvar results = [];\n\n\tfor (var i = 0, len = args.length; i < len; i++) {\n\t\tvar arg = args[i];\n\n\t\tif (isArrayish(arg)) {\n\t\t\t// http://jsperf.com/javascript-array-concat-vs-push/98\n\t\t\tresults = concat.call(results, slice.call(arg));\n\t\t} else {\n\t\t\tresults.push(arg);\n\t\t}\n\t}\n\n\treturn results;\n};\n\nswizzle.wrap = function (fn) {\n\treturn function () {\n\t\treturn fn(swizzle(arguments));\n\t};\n};\n","module.exports = function isArrayish(obj) {\n\tif (!obj || typeof obj === 'string') {\n\t\treturn false;\n\t}\n\n\treturn obj instanceof Array || Array.isArray(obj) ||\n\t\t(obj.length >= 0 && (obj.splice instanceof Function ||\n\t\t\t(Object.getOwnPropertyDescriptor(obj, (obj.length - 1)) && obj.constructor.name !== 'String')));\n};\n","/* Spatial Navigation Polyfill\n *\n * It follows W3C official specification\n * https://drafts.csswg.org/css-nav-1/\n *\n * Copyright (c) 2018-2019 LG Electronics Inc.\n * https://github.com/WICG/spatial-navigation/polyfill\n *\n * Licensed under the MIT license (MIT)\n */\n\n(function () {\n\n // The polyfill must not be executed, if it's already enabled via browser engine or browser extensions.\n if (window.navigate !== undefined) {\n return;\n }\n\n const ARROW_KEY_CODE = {37: 'left', 38: 'up', 39: 'right', 40: 'down'};\n const TAB_KEY_CODE = 9;\n let mapOfBoundRect = null;\n let startingPoint = null; // Indicates global variables for spatnav (starting position)\n\n /**\n * Initiate the spatial navigation features of the polyfill.\n * This function defines which input methods trigger the spatial navigation behavior.\n * @function initiateSpatialNavigation\n */\n function initiateSpatialNavigation() {\n /*\n * Bind the standards APIs to be exposed to the window object for authors\n */\n window.navigate = navigate;\n window.Element.prototype.spatialNavigationSearch = spatialNavigationSearch;\n window.Element.prototype.focusableAreas = focusableAreas;\n window.Element.prototype.getSpatialNavigationContainer = getSpatialNavigationContainer;\n\n /*\n * CSS.registerProperty() from the Properties and Values API\n * Reference: https://drafts.css-houdini.org/css-properties-values-api/#the-registerproperty-function\n */\n if (window.CSS && CSS.registerProperty) {\n if (window.getComputedStyle(document.documentElement).getPropertyValue('--spatial-navigation-contain') === '') {\n CSS.registerProperty({\n name: '--spatial-navigation-contain',\n syntax: 'auto | contain',\n inherits: false,\n initialValue: 'auto'\n });\n }\n\n if (window.getComputedStyle(document.documentElement).getPropertyValue('--spatial-navigation-action') === '') {\n CSS.registerProperty({\n name: '--spatial-navigation-action',\n syntax: 'auto | focus | scroll',\n inherits: false,\n initialValue: 'auto'\n });\n }\n\n if (window.getComputedStyle(document.documentElement).getPropertyValue('--spatial-navigation-function') === '') {\n CSS.registerProperty({\n name: '--spatial-navigation-function',\n syntax: 'normal | euclidean | grid',\n inherits: true,\n initialValue: 'normal'\n });\n }\n }\n\n /*\n * keydown EventListener :\n * If arrow key pressed, get the next focusing element and send it to focusing controller\n */\n window.addEventListener('keydown', e => {\n const currentKeyMode = (parent && parent.__spatialNavigation__.keyMode) || window.__spatialNavigation__.keyMode;\n const eventTarget = document.activeElement;\n const dir = ARROW_KEY_CODE[e.keyCode];\n\n if (e.keyCode === TAB_KEY_CODE)\n startingPoint = null;\n\n if (!currentKeyMode ||\n (currentKeyMode === 'NONE') ||\n ((currentKeyMode === 'SHIFTARROW') && !e.shiftKey) ||\n ((currentKeyMode === 'ARROW') && e.shiftKey))\n return;\n\n if (!e.defaultPrevented && !e.spatialNavigationPrevented) {\n let focusNavigableArrowKey = {left: true, up: true, right: true, down: true};\n\n // Edge case (text input, area) : Don't move focus, just navigate cursor in text area\n if ((eventTarget.nodeName === 'INPUT') || eventTarget.nodeName === 'TEXTAREA')\n focusNavigableArrowKey = handlingEditableElement(e);\n\n if (focusNavigableArrowKey[dir]) {\n e.preventDefault();\n mapOfBoundRect = new Map();\n\n navigate(dir);\n\n mapOfBoundRect = null;\n startingPoint = null;\n }\n }\n });\n\n /*\n * mouseup EventListener :\n * If the mouse click a point in the page, the point will be the starting point.\n * NOTE: Let UA set the spatial navigation starting point based on click\n */\n // document.addEventListener('mouseup', e => {\n // startingPoint = {x: e.clientX, y: e.clientY};\n // });\n }\n\n /**\n * Enable the author to trigger spatial navigation programmatically, as if the user had done so manually.\n * @see {@link https://drafts.csswg.org/css-nav-1/#dom-window-navigate}\n * @function navigate\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n */\n function navigate(dir) {\n // spatial navigation steps\n\n // 1\n const searchOrigin = findSearchOrigin();\n let eventTarget = searchOrigin;\n\n let elementFromPosition = null;\n\n // 2 Optional step, UA defined starting point\n if (startingPoint) {\n // if there is a starting point, set eventTarget as the element from position for getting the spatnav container\n elementFromPosition = document.elementFromPoint(startingPoint.x, startingPoint.y);\n\n // Use starting point if the starting point isn't inside the focusable element (but not container)\n // * Starting point is meaningfull when:\n // 1) starting point is inside the spatnav container\n // 2) starting point is inside the non-focusable element\n if(elementFromPosition === null) {\n elementFromPosition = document.body;\n }\n if (isFocusable(elementFromPosition) && !isContainer(elementFromPosition)) {\n startingPoint = null;\n } else if (isContainer(elementFromPosition)) {\n eventTarget = elementFromPosition;\n } else {\n eventTarget = elementFromPosition.getSpatialNavigationContainer();\n }\n }\n\n // 4\n if (eventTarget === document || eventTarget === document.documentElement) {\n eventTarget = document.body || document.documentElement;\n }\n\n // 5\n // At this point, spatialNavigationSearch can be applied.\n // If startingPoint is either a scroll container or the document,\n // find the best candidate within startingPoint\n let container = null;\n if ((isContainer(eventTarget) || eventTarget.nodeName === 'BODY') && !(eventTarget.nodeName === 'INPUT')) {\n container = eventTarget;\n\n if (eventTarget.nodeName === 'IFRAME')\n eventTarget = eventTarget.contentDocument.documentElement;\n\n let bestInsideCandidate = null;\n\n // 5-2\n if (getCSSSpatNavAction(eventTarget) === 'scroll') {\n if (scrollingController(eventTarget, dir)) return;\n } else if (getCSSSpatNavAction(eventTarget) === 'focus') {\n bestInsideCandidate = eventTarget.spatialNavigationSearch(dir, {container: eventTarget, candidates: getSpatialNavigationCandidates(eventTarget, {mode: 'all'}), inside: true});\n if (focusingController(bestInsideCandidate, dir)) return;\n } else if (getCSSSpatNavAction(eventTarget) === 'auto') {\n bestInsideCandidate = eventTarget.spatialNavigationSearch(dir, {container: eventTarget, inside: true});\n if (focusingController(bestInsideCandidate, dir) || scrollingController(eventTarget, dir)) return;\n }\n }\n\n // 6\n // Let container be the nearest ancestor of eventTarget\n container = container || eventTarget.getSpatialNavigationContainer();\n let parentContainer = (container.parentElement) ? container.getSpatialNavigationContainer() : null;\n\n // When the container is the viewport of a browsing context\n if (!parentContainer && ( window.location !== window.parent.location)) {\n parentContainer = window.parent.document.documentElement;\n }\n\n if (getCSSSpatNavAction(eventTarget) === 'scroll') {\n if (scrollingController(container, dir)) return;\n }\n else if (getCSSSpatNavAction(eventTarget) === 'focus') {\n navigateChain(eventTarget, container, parentContainer, dir, 'all');\n }\n else if (getCSSSpatNavAction(eventTarget) === 'auto') {\n navigateChain(eventTarget, container, parentContainer, dir, 'visible');\n }\n }\n\n /**\n * Move the focus to the best candidate or do nothing.\n * @function focusingController\n * @param bestCandidate {Node} - The best candidate of the spatial navigation\n * @param dir {SpatialNavigationDirection}- The directional information for the spatial navigation (e.g. LRUD)\n * @returns {boolean}\n */\n function focusingController(bestCandidate, dir) {\n // 10 & 11\n // When bestCandidate is found\n if (bestCandidate) {\n const container = bestCandidate.getSpatialNavigationContainer();\n const elementStyle = window.getComputedStyle(container, null);\n const overflowX = elementStyle.getPropertyValue('overflow-x');\n const overflowY = elementStyle.getPropertyValue('overflow-y');\n\n // Scrolling container or document when the next focusing element isn't entirely visible\n // This is for the browser compatability\n if (isScrollable(container, dir) && !isEntirelyVisible(bestCandidate));\n bestCandidate.scrollIntoView();\n\n // When bestCandidate is a focusable element and not a container : move focus\n /*\n * [event] navbeforefocus : Fired before spatial or sequential navigation changes the focus.\n */\n if (!createSpatNavEvents('beforefocus', bestCandidate, null, dir))\n return true;\n\n bestCandidate.focus();\n return true;\n }\n\n // When bestCandidate is not found within the scrollport of a container: Nothing\n return false;\n }\n\n /**\n * Directionally scroll the scrollable spatial navigation container if it can be manually scrolled more.\n * @function scrollingController\n * @param container {Node} - The spatial navigation container which can scroll\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n * @returns {boolean}\n */\n function scrollingController(container, dir) {\n\n // If there is any scrollable area among parent elements and it can be manually scrolled, scroll the document\n if (isScrollable(container, dir) && !isScrollBoundary(container, dir)) {\n moveScroll(container, dir);\n return true;\n }\n\n // If the spatnav container is document and it can be scrolled, scroll the document\n if (!container.parentElement && !isHTMLScrollBoundary(container, dir)) {\n moveScroll(document.documentElement, dir);\n return true;\n }\n return false;\n }\n\n /**\n * Find the candidates within a spatial navigation container include delegable container.\n * This function does not search inside delegable container or focusable container.\n * In other words, this return candidates set is not included focusable elements inside delegable container or focusable container.\n *\n * @function getSpatialNavigationCandidates\n * @param container {Node} - The spatial navigation container\n * @param option {FocusableAreasOptions} - 'mode' attribute takes 'visible' or 'all' for searching the boundary of focusable elements.\n * Default value is 'visible'.\n * @returns {sequence<Node>} candidate elements within the container\n */\n function getSpatialNavigationCandidates (container, option = {mode: 'visible'}) {\n let candidates = [];\n\n if (container.childElementCount > 0) {\n if (!container.parentElement) {\n container = container.getElementsByTagName('body')[0] || document.body;\n }\n const children = container.children;\n for (const elem of children) {\n if (isDelegableContainer(elem)) {\n candidates.push(elem);\n } else if(isFocusable(elem)) {\n candidates.push(elem);\n\n if(!isContainer(elem) && elem.childElementCount) {\n candidates = candidates.concat(getSpatialNavigationCandidates(elem, {mode: 'all'}));\n }\n } else if (elem.childElementCount) {\n candidates = candidates.concat(getSpatialNavigationCandidates(elem, {mode: 'all'}));\n }\n }\n }\n return (option.mode === 'all') ? candidates : candidates.filter(isVisible);\n }\n\n /**\n * Find the candidates among focusable elements within a spatial navigation container from the search origin (currently focused element)\n * depending on the directional information.\n * @function getFilteredSpatialNavigationCandidates\n * @param element {Node} - The currently focused element which is defined as 'search origin' in the spec\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n * @param candidates {sequence<Node>} - The candidates for spatial navigation without the directional information\n * @param container {Node} - The spatial navigation container\n * @returns {Node} The candidates for spatial navigation considering the directional information\n */\n function getFilteredSpatialNavigationCandidates (element, dir, candidates, container) {\n const targetElement = element;\n // Removed below line due to a bug. (iframe body rect is sometime weird.)\n // const targetElement = (element.nodeName === 'IFRAME') ? element.contentDocument.body : element;\n // If the container is unknown, get the closest container from the element\n container = container || targetElement.getSpatialNavigationContainer();\n\n // If the candidates is unknown, find candidates\n // 5-1\n candidates = (!candidates || candidates.length <= 0) ? getSpatialNavigationCandidates(container) : candidates;\n return filteredCandidates(targetElement, candidates, dir, container);\n }\n\n /**\n * Find the best candidate among the candidates within the container from the search origin (currently focused element)\n * @see {@link https://drafts.csswg.org/css-nav-1/#dom-element-spatialnavigationsearch}\n * @function spatialNavigationSearch\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n * @param candidates {sequence<Node>} - The candidates for spatial navigation\n * @param container {Node} - The spatial navigation container\n * @param inside {boolean} - Whether candidates should be elements outside of the target element or not.\n * @returns {Node} The best candidate which will gain the focus\n */\n function spatialNavigationSearch (dir, args) {\n const targetElement = this;\n let internalCandidates = [];\n let externalCandidates = [];\n let bestTarget;\n\n // Set default parameter value\n if (!args)\n args = {};\n const container = args.container || targetElement.getSpatialNavigationContainer();\n const candidates = (args.candidates && args.candidates.length > 0) ?\n args.candidates.filter((candidate) => container.contains(candidate)) : getSpatialNavigationCandidates(container);\n const inside = args.inside || false;\n\n // Find the best candidate\n // 5\n // If startingPoint is either a scroll container or the document,\n // find the best candidate within startingPoint\n if (candidates && candidates.length > 0) {\n\n // Divide internal or external candidates\n candidates.forEach(candidate => {\n (targetElement.contains(candidate) && targetElement !== candidate ? internalCandidates : externalCandidates).push(candidate);\n });\n if (!(args.candidates && args.candidates.length > 0) && (internalCandidates.length === 0)) {\n // If targetElement is focusable container or delegable container,\n // getFilteredSpatialNavigationCandidates not return internal candidate.\n internalCandidates = getSpatialNavigationCandidates(targetElement);\n }\n // Filter external Candidates\n if (externalCandidates.length > 0) {\n externalCandidates = getFilteredSpatialNavigationCandidates (targetElement, dir, externalCandidates, container);\n }\n\n if (inside && (isContainer(targetElement) || targetElement.nodeName === 'BODY') && !(targetElement.nodeName === 'INPUT')) {\n bestTarget = selectBestCandidateFromEdge(targetElement, internalCandidates, dir);\n }\n bestTarget = bestTarget || selectBestCandidate(targetElement, externalCandidates, dir);\n\n if (bestTarget && isDelegableContainer(bestTarget)) {\n // if best target is delegable container, then find descendants candidate inside delegable container.\n const innerTarget = getSpatialNavigationCandidates(bestTarget, {mode: 'all'});\n const descendantsBest = innerTarget.length > 0 ? targetElement.spatialNavigationSearch(dir, {candidates: innerTarget, container: bestTarget}) : null;\n if (descendantsBest) {\n bestTarget = descendantsBest;\n } else if (!isFocusable(bestTarget)) {\n // if there is no target inside bestTarget and delegable container is not focusable,\n // then try to find another best target without curren best target.\n candidates.splice(candidates.indexOf(bestTarget), 1);\n bestTarget = candidates.length ? targetElement.spatialNavigationSearch(dir, {candidates: candidates, container: container}) : null;\n }\n }\n return bestTarget;\n }\n\n return null;\n }\n\n /**\n * Get the filtered candidate among candidates.\n * @see {@link https://drafts.csswg.org/css-nav-1/#select-the-best-candidate}\n * @function filteredCandidates\n * @param currentElm {Node} - The currently focused element which is defined as 'search origin' in the spec\n * @param candidates {sequence<Node>} - The candidates for spatial navigation\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n * @param container {Node} - The spatial navigation container\n * @returns {sequence<Node>} The filtered candidates which are not the search origin and not in the given spatial navigation direction from the search origin\n */\n function filteredCandidates(currentElm, candidates, dir, container) {\n const originalContainer = currentElm.getSpatialNavigationContainer();\n let eventTargetRect;\n\n // If D(dir) is null, let candidates be the same as visibles\n if (dir === undefined)\n return candidates;\n\n // to do\n // Offscreen handling when originalContainer is not <HTML>\n if (originalContainer.parentElement && container !== originalContainer && !isVisible(currentElm))\n eventTargetRect = getBoundingClientRect(originalContainer);\n else eventTargetRect = getBoundingClientRect(currentElm);\n\n /*\n * Else, let candidates be the subset of the elements in visibles\n * whose principal box’s geometric center is within the closed half plane\n * whose boundary goes through the geometric center of starting point and is perpendicular to D.\n */\n if ((isContainer(currentElm) || currentElm.nodeName === 'BODY') && !(currentElm.nodeName === 'INPUT')) {\n return candidates.filter(candidate => {\n const candidateRect = getBoundingClientRect(candidate);\n return container.contains(candidate) &&\n ((currentElm.contains(candidate) && isInside(eventTargetRect, candidateRect) && candidate !== currentElm) ||\n isOutside(candidateRect, eventTargetRect, dir));\n });\n } else {\n return candidates.filter(candidate => {\n const candidateRect = getBoundingClientRect(candidate);\n const candidateBody = (candidate.nodeName === 'IFRAME') ? candidate.contentDocument.body : null;\n return container.contains(candidate) &&\n candidate !== currentElm && candidateBody !== currentElm &&\n isOutside(candidateRect, eventTargetRect, dir);\n });\n }\n }\n\n /**\n * Select the best candidate among given candidates.\n * @see {@link https://drafts.csswg.org/css-nav-1/#select-the-best-candidate}\n * @function selectBestCandidate\n * @param currentElm {Node} - The currently focused element which is defined as 'search origin' in the spec\n * @param candidates {sequence<Node>} - The candidates for spatial navigation\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n * @returns {Node} The best candidate which will gain the focus\n */\n function selectBestCandidate(currentElm, candidates, dir) {\n const spatialNavigationFunction = getComputedStyle(currentElm).getPropertyValue('--spatial-navigation-function');\n const currentElmRect = getBoundingClientRect(currentElm);\n let distanceFunction;\n let alignedCandidates;\n\n switch (spatialNavigationFunction) {\n case 'grid':\n alignedCandidates = candidates.filter(elm => isAligned(currentElmRect, getBoundingClientRect(elm), dir));\n if (alignedCandidates.length > 0) {\n candidates = alignedCandidates;\n }\n distanceFunction = getAbsoluteDistance;\n break;\n case 'euclidean':\n distanceFunction = getEuclideanDistance;\n break;\n default:\n distanceFunction = getDistance;\n break;\n }\n return getClosestElement(currentElm, candidates, dir, distanceFunction);\n }\n\n /**\n * Select the best candidate among candidates by finding the closet candidate from the edge of the currently focused element (search origin).\n * @see {@link https://drafts.csswg.org/css-nav-1/#select-the-best-candidate (Step 5)}\n * @function selectBestCandidateFromEdge\n * @param currentElm {Node} - The currently focused element which is defined as 'search origin' in the spec\n * @param candidates {sequence<Node>} - The candidates for spatial navigation\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n * @returns {Node} The best candidate which will gain the focus\n */\n function selectBestCandidateFromEdge(currentElm, candidates, dir) {\n if (startingPoint)\n return getClosestElement(currentElm, candidates, dir, getDistanceFromPoint);\n else\n return getClosestElement(currentElm, candidates, dir, getInnerDistance);\n }\n\n /**\n * Select the closest candidate from the currently focused element (search origin) among candidates by using the distance function.\n * @function getClosestElement\n * @param currentElm {Node} - The currently focused element which is defined as 'search origin' in the spec\n * @param candidates {sequence<Node>} - The candidates for spatial navigation\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n * @param distanceFunction {function} - The distance function which measures the distance from the search origin to each candidate\n * @returns {Node} The candidate which is the closest one from the search origin\n */\n function getClosestElement(currentElm, candidates, dir, distanceFunction) {\n let eventTargetRect = null;\n if (( window.location !== window.parent.location ) && (currentElm.nodeName === 'BODY' || currentElm.nodeName === 'HTML')) {\n // If the eventTarget is iframe, then get rect of it based on its containing document\n // Set the iframe's position as (0,0) because the rects of elements inside the iframe don't know the real iframe's position.\n eventTargetRect = window.frameElement.getBoundingClientRect();\n eventTargetRect.x = 0;\n eventTargetRect.y = 0;\n }\n else \n eventTargetRect = currentElm.getBoundingClientRect();\n\n let minDistance = Number.POSITIVE_INFINITY;\n let minDistanceElements = [];\n\n if (candidates) {\n for (let i = 0; i < candidates.length; i++) {\n const distance = distanceFunction(eventTargetRect, getBoundingClientRect(candidates[i]), dir);\n\n // If the same distance, the candidate will be selected in the DOM order\n if (distance < minDistance) {\n minDistance = distance;\n minDistanceElements = [candidates[i]];\n } else if (distance === minDistance) {\n minDistanceElements.push(candidates[i]);\n }\n }\n }\n if (minDistanceElements.length === 0)\n return null;\n\n return (minDistanceElements.length > 1 && distanceFunction === getAbsoluteDistance) ?\n getClosestElement(currentElm, minDistanceElements, dir, getEuclideanDistance) : minDistanceElements[0];\n }\n\n /**\n * Get container of an element.\n * @see {@link https://drafts.csswg.org/css-nav-1/#dom-element-getspatialnavigationcontainer}\n * @module Element\n * @function getSpatialNavigationContainer\n * @returns {Node} The spatial navigation container\n */\n function getSpatialNavigationContainer() {\n let container = this;\n\n do {\n if (!container.parentElement) {\n if (window.location !== window.parent.location)\n container = window.parent.document.documentElement;\n else\n container = window.document.documentElement;\n break;\n }\n else {\n container = container.parentElement;\n }\n } while (!isContainer(container));\n return container;\n }\n\n /**\n * Find focusable elements within the spatial navigation container.\n * @see {@link https://drafts.csswg.org/css-nav-1/#dom-element-focusableareas}\n * @function focusableAreas\n * @param option {FocusableAreasOptions} - 'mode' attribute takes 'visible' or 'all' for searching the boundary of focusable elements.\n * Default value is 'visible'.\n * @returns {sequence<Node>} All focusable elements or only visible focusable elements within the container\n */\n function focusableAreas(option = {mode: 'visible'}) {\n const container = this.parentElement ? this : document.body;\n const focusables = Array.prototype.filter.call(container.getElementsByTagName('*'), isFocusable);\n return (option.mode === 'all') ? focusables : focusables.filter(isVisible);\n }\n\n /**\n * Create the NavigationEvent: navbeforefocus, navnotarget\n * @see {@link https://drafts.csswg.org/css-nav-1/#events-navigationevent}\n * @function createSpatNavEvents\n * @param option {string} - Type of the navigation event (beforefocus, notarget)\n * @param element {Node} - The target element of the event\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n */\n function createSpatNavEvents(eventType, containerElement, currentElement, direction) {\n if(['beforefocus', 'notarget'].includes(eventType)) {\n const data = {\n causedTarget: currentElement,\n dir: direction\n };\n const triggeredEvent = new CustomEvent('nav' + eventType, {bubbles: true, cancelable: true, detail: data});\n return containerElement.dispatchEvent(triggeredEvent);\n }\n }\n\n /**\n * Get the value of the CSS custom property of the element\n * @function readCssVar\n * @param element {Node}\n * @param varName {string} - The name of the css custom property without '--'\n * @returns {string} The value of the css custom property\n */\n function readCssVar(element, varName) {\n return window.getComputedStyle(element).getPropertyValue(`--${varName}`).trim();\n }\n\n /**\n * Decide whether or not the 'contain' value is given to 'spatial-navigation-contain' css property of an element\n * @function isCSSSpatNavContain\n * @param element {Node}\n * @returns {boolean}\n */\n function isCSSSpatNavContain(element) {\n return readCssVar(element, 'spatial-navigation-contain') === 'contain';\n }\n\n /**\n * Return the value of 'spatial-navigation-action' css property of an element\n * @function getCSSSpatNavAction\n * @param element {Node} - would be the spatial navigation container\n * @returns {string} auto | focus | scroll\n */\n function getCSSSpatNavAction(element) {\n return readCssVar(element, 'spatial-navigation-action') || 'auto';\n }\n\n /**\n * Only move the focus with spatial navigation. Manually scrolling isn't available.\n * @function navigateChain\n * @param eventTarget {Node} - currently focused element\n * @param container {SpatialNavigationContainer} - container\n * @param parentContainer {SpatialNavigationContainer} - parent container\n * @param option - visible || all\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n */\n function navigateChain(eventTarget, container, parentContainer, dir, option) {\n let currentOption = {candidates: getSpatialNavigationCandidates(container, {mode: option}), container};\n\n while (parentContainer) {\n if (focusingController(eventTarget.spatialNavigationSearch(dir, currentOption), dir)) {\n return;\n }\n else {\n if ((option === 'visible') && scrollingController(container, dir)) return;\n else {\n if (!createSpatNavEvents('notarget', container, eventTarget, dir)) return;\n\n // find the container\n if (container === document || container === document.documentElement) {\n if ( window.location !== window.parent.location ) {\n // The page is in an iframe. eventTarget needs to be reset because the position of the element in the iframe\n eventTarget = window.frameElement;\n container = window.parent.document.documentElement;\n\n if (container.parentElement)\n parentContainer = container.getSpatialNavigationContainer();\n else {\n parentContainer = null;\n break;\n }\n }\n }\n else {\n container = parentContainer;\n currentOption = {candidates: getSpatialNavigationCandidates(container, {mode: option}), container};\n\n if (container.parentElement)\n parentContainer = container.getSpatialNavigationContainer();\n else {\n parentContainer = null;\n break;\n }\n }\n }\n }\n }\n\n currentOption = {candidates: getSpatialNavigationCandidates(container, {mode: option}), container};\n\n // Behavior after 'navnotarget' - Getting out from the current spatnav container\n if ((!parentContainer && container) && focusingController(eventTarget.spatialNavigationSearch(dir, currentOption), dir)) return;\n\n if (!createSpatNavEvents('notarget', currentOption.container, eventTarget, dir)) return;\n\n if ((getCSSSpatNavAction(container) === 'auto') && (option === 'visible'))\n if (scrollingController(container, dir)) return;\n }\n\n /**\n * Find search origin\n * @see {@link https://drafts.csswg.org/css-nav-1/#nav}\n * @function findSearchOrigin\n * @returns {Node} The search origin for the spatial navigation\n */\n function findSearchOrigin() {\n let searchOrigin = document.activeElement;\n if (!searchOrigin ||\n (searchOrigin === document.body && !document.querySelector(':focus')) /* body isn't actually focused*/\n ) {\n searchOrigin = document;\n }\n return searchOrigin;\n }\n\n /**\n * Move the scroll of an element depending on the given spatial navigation directrion\n * (Assume that User Agent defined distance is '40px')\n * @see {@link https://drafts.csswg.org/css-nav-1/#directionally-scroll-an-element}\n * @function moveScroll\n * @param element {Node} - The scrollable element\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n * @param offset {Number} - The explicit amount of offset for scrolling. Default value is 0.\n */\n function moveScroll(element, dir, offset = 0) {\n if (element) {\n switch (dir) {\n case 'left': element.scrollLeft -= (40 + offset); break;\n case 'right': element.scrollLeft += (40 + offset); break;\n case 'up': element.scrollTop -= (40 + offset); break;\n case 'down': element.scrollTop += (40 + offset); break;\n }\n }\n }\n\n /**\n * Decide whether an element is container or not.\n * @function isContainer\n * @param element {Node} element\n * @returns {boolean}\n */\n function isContainer(element) {\n return (!element.parentElement) ||\n (element.nodeName === 'IFRAME') ||\n (isScrollContainer(element)) ||\n (isCSSSpatNavContain(element));\n }\n\n /**\n * Decide whether an element is delegable container or not.\n * NOTE: THIS IS NON-NORMATIVE API. \n * @function isDelegableContainer\n * @param element {Node} element\n * @returns {boolean}\n */\n function isDelegableContainer(element) {\n return readCssVar(element, 'spatial-navigation-contain') === 'delegable';\n }\n\n /**\n * Decide whether an element is a scrollable container or not.\n * @see {@link https://drafts.csswg.org/css-overflow-3/#scroll-container}\n * @function isScrollContainer\n * @param element {Node}\n * @returns {boolean}\n */\n function isScrollContainer(element) {\n const elementStyle = window.getComputedStyle(element, null);\n const overflowX = elementStyle.getPropertyValue('overflow-x');\n const overflowY = elementStyle.getPropertyValue('overflow-y');\n\n return ((overflowX !== 'visible' && overflowX !== 'clip' && isOverflow(element, 'left')) ||\n (overflowY !== 'visible' && overflowY !== 'clip' && isOverflow(element, 'down'))) ?\n true : false;\n }\n\n /**\n * Decide whether this element is scrollable or not.\n * NOTE: If the value of 'overflow' is given to either 'visible', 'clip', or 'hidden', the element isn't scrollable.\n * If the value is 'hidden', the element can be only programmically scrollable. (https://drafts.csswg.org/css-overflow-3/#valdef-overflow-hidden)\n * @function isScrollable\n * @param element {Node}\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n * @returns {boolean}\n */\n function isScrollable(element, dir) { // element, dir\n if (element && typeof element === 'object') {\n if (dir && typeof dir === 'string') { // parameter: dir, element\n if (isOverflow(element, dir)) {\n // style property\n const elementStyle = window.getComputedStyle(element, null);\n const overflowX = elementStyle.getPropertyValue('overflow-x');\n const overflowY = elementStyle.getPropertyValue('overflow-y');\n\n switch (dir) {\n case 'left':\n /* falls through */\n case 'right':\n return (overflowX !== 'visible' && overflowX !== 'clip' && overflowX !== 'hidden');\n case 'up':\n /* falls through */\n case 'down':\n return (overflowY !== 'visible' && overflowY !== 'clip' && overflowY !== 'hidden');\n }\n }\n return false;\n } else { // parameter: element\n return (element.nodeName === 'HTML' || element.nodeName === 'BODY') ||\n (isScrollContainer(element) && isOverflow(element));\n }\n }\n }\n\n /**\n * Decide whether an element is overflow or not.\n * @function isOverflow\n * @param element {Node}\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n * @returns {boolean}\n */\n function isOverflow(element, dir) {\n if (element && typeof element === 'object') {\n if (dir && typeof dir === 'string') { // parameter: element, dir\n switch (dir) {\n case 'left':\n /* falls through */\n case 'right':\n return (element.scrollWidth > element.clientWidth);\n case 'up':\n /* falls through */\n case 'down':\n return (element.scrollHeight > element.clientHeight);\n }\n } else { // parameter: element\n return (element.scrollWidth > element.clientWidth || element.scrollHeight > element.clientHeight);\n }\n return false;\n }\n }\n\n /**\n * Decide whether the scrollbar of the browsing context reaches to the end or not.\n * @function isHTMLScrollBoundary\n * @param element {Node} - The top browsing context\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n * @returns {boolean}\n */\n function isHTMLScrollBoundary(element, dir) {\n let result = false;\n switch (dir) {\n case 'left':\n result = window.scrollX === 0;\n break;\n case 'right':\n result = (element.scrollWidth - element.scrollLeft - element.clientWidth) === 0;\n break;\n case 'up':\n result = window.scrollY === 0;\n break;\n case 'down':\n result = (element.scrollHeight - element.scrollTop - element.clientHeight) === 0;\n break;\n }\n return result;\n }\n\n /**\n * Decide whether the scrollbar of an element reaches to the end or not.\n * @function isScrollBoundary\n * @param element {Node}\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n * @returns {boolean}\n */\n function isScrollBoundary(element, dir) {\n if (isScrollable(element, dir)) {\n const winScrollY = element.scrollTop;\n const winScrollX = element.scrollLeft;\n\n const height = element.scrollHeight - element.clientHeight;\n const width = element.scrollWidth - element.clientWidth;\n\n switch (dir) {\n case 'left': return (winScrollX === 0);\n case 'right': return (Math.abs(winScrollX - width) <= 1);\n case 'up': return (winScrollY === 0);\n case 'down': return (Math.abs(winScrollY - height) <= 1);\n }\n }\n return false;\n }\n\n /**\n * Decide whether an element is focusable for spatial navigation.\n * 1. If element is the browsing context (document, iframe), then it's focusable,\n * 2. If the element is scrollable container (regardless of scrollable axis), then it's focusable,\n * 3. The value of tabIndex >= 0, then it's focusable,\n * 4. If the element is disabled, it isn't focusable,\n * 5. If the element is expressly inert, it isn't focusable,\n * 6. Whether the element is being rendered or not.\n *\n * @function isFocusable\n * @param element {Node}\n * @returns {boolean}\n *\n * @see {@link https://html.spec.whatwg.org/multipage/interaction.html#focusable-area}\n */\n function isFocusable(element) {\n if ((element.tabIndex < 0) || isAtagWithoutHref(element) || isActuallyDisabled(element) || isExpresslyInert(element) || !isBeingRendered(element))\n return false;\n else if ((!element.parentElement) || (isScrollable(element) && isOverflow(element)) || (element.tabIndex >= 0))\n return true;\n }\n\n /**\n * Decide whether an element is a tag without href attribute or not.\n *\n * @function isAtagWithoutHref\n * @param element {Node}\n * @returns {boolean}\n */\n function isAtagWithoutHref(element) {\n return (element.tagName === 'A' && element.getAttribute('href') === null && element.getAttribute('tabIndex') === null);\n }\n\n /**\n * Decide whether an element is actually disabled or not.\n *\n * @function isActuallyDisabled\n * @param element {Node}\n * @returns {boolean}\n *\n * @see {@link https://html.spec.whatwg.org/multipage/semantics-other.html#concept-element-disabled}\n */\n function isActuallyDisabled(element) {\n if (['BUTTON', 'INPUT', 'SELECT', 'TEXTAREA', 'OPTGROUP', 'OPTION', 'FIELDSET'].includes(element.tagName))\n return (element.disabled);\n else\n return false;\n }\n\n /**\n * Decide whether the element is expressly inert or not.\n * @see {@link https://html.spec.whatwg.org/multipage/interaction.html#expressly-inert}\n * @function isExpresslyInert\n * @param element {Node}\n * @returns {boolean}\n */\n function isExpresslyInert(element) {\n return ((element.inert) && (!element.ownerDocument.documentElement.inert));\n }\n\n /**\n * Decide whether the element is being rendered or not.\n * 1. If an element has the style as \"visibility: hidden | collapse\" or \"display: none\", it is not being rendered.\n * 2. If an element has the style as \"opacity: 0\", it is not being rendered.(that is, invisible).\n * 3. If width and height of an element are explicitly set to 0, it is not being rendered.\n * 4. If a parent element is hidden, an element itself is not being rendered.\n * (CSS visibility property and display property are inherited.)\n * @see {@link https://html.spec.whatwg.org/multipage/rendering.html#being-rendered}\n * @function isBeingRendered\n * @param element {Node}\n * @returns {boolean}\n */\n function isBeingRendered(element) {\n if (!isVisibleStyleProperty(element.parentElement))\n return false;\n if (!isVisibleStyleProperty(element) || (element.style.opacity === 0) ||\n ((element.style.width === '0px' || element.style.width === 0) && (element.style.height === '0px' || element.style.height === 0)))\n return false;\n return true;\n }\n\n /**\n * Decide whether this element is partially or completely visible to user agent.\n * @function isVisible\n * @param element {Node}\n * @returns {boolean}\n */\n function isVisible(element) {\n return (!element.parentElement) || (isVisibleStyleProperty(element) && hitTest(element));\n }\n\n /**\n * Decide whether this element is completely visible in this viewport for the arrow direction.\n * @function isEntirelyVisible\n * @param element {Node}\n * @returns {boolean}\n */\n function isEntirelyVisible(element) {\n const rect = getBoundingClientRect(element);\n const containerRect = getBoundingClientRect(element.getSpatialNavigationContainer());\n\n // FIXME: when element is bigger than container?\n const entirelyVisible = !((rect.left < containerRect.left) ||\n (rect.right > containerRect.right) ||\n (rect.top < containerRect.top) ||\n (rect.bottom > containerRect.bottom));\n\n return entirelyVisible;\n }\n\n /**\n * Decide the style property of this element is specified whether it's visible or not.\n * @function isVisibleStyleProperty\n * @param element {CSSStyleDeclaration}\n * @returns {boolean}\n */\n function isVisibleStyleProperty(element) {\n const elementStyle = window.getComputedStyle(element, null);\n const thisVisibility = elementStyle.getPropertyValue('visibility');\n const thisDisplay = elementStyle.getPropertyValue('display');\n const invisibleStyle = ['hidden', 'collapse'];\n\n return (thisDisplay !== 'none' && !invisibleStyle.includes(thisVisibility));\n }\n\n /**\n * Decide whether this element is entirely or partially visible within the viewport.\n * @function hitTest\n * @param element {Node}\n * @returns {boolean}\n */\n function hitTest(element) {\n const elementRect = getBoundingClientRect(element);\n if (element.nodeName !== 'IFRAME' && (elementRect.top < 0 || elementRect.left < 0 ||\n elementRect.top > window.innerHeight || elementRect.left > window.innerWidth))\n return false;\n\n let offsetX = parseInt(element.offsetWidth) / 10;\n let offsetY = parseInt(element.offsetHeight) / 10;\n\n offsetX = isNaN(offsetX) ? 1 : offsetX;\n offsetY = isNaN(offsetY) ? 1 : offsetY;\n\n const hitTestPoint = {\n middle: [(elementRect.left + elementRect.right) / 2, (elementRect.top + elementRect.bottom) / 2],\n leftTop: [elementRect.left + offsetX, elementRect.top + offsetY],\n // For performance\n // leftBoottom: [elementRect.left + offsetX, elementRect.bottom - offsetY],\n // rightTop: [elementRect.right - offsetX, elementRect.top + offsetY],\n rightBottom: [elementRect.right - offsetX, elementRect.bottom - offsetY]\n };\n\n for(const point in hitTestPoint) {\n const elemFromPoint = document.elementFromPoint(...hitTestPoint[point]);\n if (element === elemFromPoint || element.contains(elemFromPoint)) {\n return true;\n }\n }\n return false;\n }\n\n /**\n * Decide whether a child element is entirely or partially Included within container visually.\n * @function isInside\n * @param containerRect {DOMRect}\n * @param childRect {DOMRect}\n * @returns {boolean}\n */\n function isInside(containerRect, childRect) {\n const rightEdgeCheck = (containerRect.left <= childRect.right && containerRect.right >= childRect.right);\n const leftEdgeCheck = (containerRect.left <= childRect.left && containerRect.right >= childRect.left);\n const topEdgeCheck = (containerRect.top <= childRect.top && containerRect.bottom >= childRect.top);\n const bottomEdgeCheck = (containerRect.top <= childRect.bottom && containerRect.bottom >= childRect.bottom);\n return (rightEdgeCheck || leftEdgeCheck) && (topEdgeCheck || bottomEdgeCheck);\n }\n\n /**\n * Decide whether this element is entirely or partially visible within the viewport.\n * Note: rect1 is outside of rect2 for the dir\n * @function isOutside\n * @param rect1 {DOMRect}\n * @param rect2 {DOMRect}\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n * @returns {boolean}\n */\n function isOutside(rect1, rect2, dir) {\n switch (dir) {\n case 'left':\n return isRightSide(rect2, rect1);\n case 'right':\n return isRightSide(rect1, rect2);\n case 'up':\n return isBelow(rect2, rect1);\n case 'down':\n return isBelow(rect1, rect2);\n default:\n return false;\n }\n }\n\n /* rect1 is right of rect2 */\n function isRightSide(rect1, rect2) {\n return rect1.left >= rect2.right || (rect1.left >= rect2.left && rect1.right > rect2.right && rect1.bottom > rect2.top && rect1.top < rect2.bottom);\n }\n\n /* rect1 is below of rect2 */\n function isBelow(rect1, rect2) {\n return rect1.top >= rect2.bottom || (rect1.top >= rect2.top && rect1.bottom > rect2.bottom && rect1.left < rect2.right && rect1.right > rect2.left);\n }\n\n /* rect1 is completely aligned or partially aligned for the direction */\n function isAligned(rect1, rect2, dir) {\n switch (dir) {\n case 'left' :\n /* falls through */\n case 'right' :\n return rect1.bottom > rect2.top && rect1.top < rect2.bottom;\n case 'up' :\n /* falls through */\n case 'down' :\n return rect1.right > rect2.left && rect1.left < rect2.right;\n default:\n return false;\n }\n }\n\n /**\n * Get distance between the search origin and a candidate element along the direction when candidate element is inside the search origin.\n * @see {@link https://drafts.csswg.org/css-nav-1/#find-the-shortest-distance}\n * @function getDistanceFromPoint\n * @param point {Point} - The search origin\n * @param element {DOMRect} - A candidate element\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n * @returns {Number} The euclidian distance between the spatial navigation container and an element inside it\n */\n function getDistanceFromPoint(point, element, dir) {\n point = startingPoint;\n // Get exit point, entry point -> {x: '', y: ''};\n const points = getEntryAndExitPoints(dir, point, element);\n\n // Find the points P1 inside the border box of starting point and P2 inside the border box of candidate\n // that minimize the distance between these two points\n const P1 = Math.abs(points.entryPoint.x - points.exitPoint.x);\n const P2 = Math.abs(points.entryPoint.y - points.exitPoint.y);\n\n // The result is euclidian distance between P1 and P2.\n return Math.sqrt(Math.pow(P1, 2) + Math.pow(P2, 2));\n }\n\n /**\n * Get distance between the search origin and a candidate element along the direction when candidate element is inside the search origin.\n * @see {@link https://drafts.csswg.org/css-nav-1/#find-the-shortest-distance}\n * @function getInnerDistance\n * @param rect1 {DOMRect} - The search origin\n * @param rect2 {DOMRect} - A candidate element\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n * @returns {Number} The euclidean distance between the spatial navigation container and an element inside it\n */\n function getInnerDistance(rect1, rect2, dir) {\n const baseEdgeForEachDirection = {left: 'right', right: 'left', up: 'bottom', down: 'top'};\n const baseEdge = baseEdgeForEachDirection[dir];\n\n return Math.abs(rect1[baseEdge] - rect2[baseEdge]);\n }\n\n /**\n * Get the distance between the search origin and a candidate element considering the direction.\n * @see {@link https://drafts.csswg.org/css-nav-1/#calculating-the-distance}\n * @function getDistance\n * @param searchOrigin {DOMRect || Point} - The search origin\n * @param candidateRect {DOMRect} - A candidate element\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n * @returns {Number} The distance scoring between two elements\n */\n function getDistance(searchOrigin, candidateRect, dir) {\n const kOrthogonalWeightForLeftRight = 30;\n const kOrthogonalWeightForUpDown = 2;\n\n let orthogonalBias = 0;\n let alignBias = 0;\n const alignWeight = 5.0;\n\n // Get exit point, entry point -> {x: '', y: ''};\n const points = getEntryAndExitPoints(dir, searchOrigin, candidateRect);\n\n // Find the points P1 inside the border box of starting point and P2 inside the border box of candidate\n // that minimize the distance between these two points\n const P1 = Math.abs(points.entryPoint.x - points.exitPoint.x);\n const P2 = Math.abs(points.entryPoint.y - points.exitPoint.y);\n\n // A: The euclidean distance between P1 and P2.\n const A = Math.sqrt(Math.pow(P1, 2) + Math.pow(P2, 2));\n let B, C;\n\n // B: The absolute distance in the direction which is orthogonal to dir between P1 and P2, or 0 if dir is null.\n // C: The intersection edges between a candidate and the starting point.\n\n // D: The square root of the area of intersection between the border boxes of candidate and starting point\n const intersectionRect = getIntersectionRect(searchOrigin, candidateRect);\n const D = intersectionRect.area;\n\n switch (dir) {\n case 'left':\n /* falls through */\n case 'right' :\n // If two elements are aligned, add align bias\n // else, add orthogonal bias\n if (isAligned(searchOrigin, candidateRect, dir))\n alignBias = Math.min(intersectionRect.height / searchOrigin.height , 1);\n else\n orthogonalBias = (searchOrigin.height / 2);\n\n B = (P2 + orthogonalBias) * kOrthogonalWeightForLeftRight;\n C = alignWeight * alignBias;\n break;\n\n case 'up' :\n /* falls through */\n case 'down' :\n // If two elements are aligned, add align bias\n // else, add orthogonal bias\n if (isAligned(searchOrigin, candidateRect, dir))\n alignBias = Math.min(intersectionRect.width / searchOrigin.width , 1);\n else\n orthogonalBias = (searchOrigin.width / 2);\n\n B = (P1 + orthogonalBias) * kOrthogonalWeightForUpDown;\n C = alignWeight * alignBias;\n break;\n\n default:\n B = 0;\n C = 0;\n break;\n }\n\n return (A + B - C - D);\n }\n\n /**\n * Get the euclidean distance between the search origin and a candidate element considering the direction.\n * @function getEuclideanDistance\n * @param rect1 {DOMRect} - The search origin\n * @param rect2 {DOMRect} - A candidate element\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n * @returns {Number} The distance scoring between two elements\n */\n function getEuclideanDistance(rect1, rect2, dir) {\n // Get exit point, entry point\n const points = getEntryAndExitPoints(dir, rect1, rect2);\n\n // Find the points P1 inside the border box of starting point and P2 inside the border box of candidate\n // that minimize the distance between these two points\n const P1 = Math.abs(points.entryPoint.x - points.exitPoint.x);\n const P2 = Math.abs(points.entryPoint.y - points.exitPoint.y);\n\n // Return the euclidean distance between P1 and P2.\n return Math.sqrt(Math.pow(P1, 2) + Math.pow(P2, 2));\n }\n\n /**\n * Get the absolute distance between the search origin and a candidate element considering the direction.\n * @function getAbsoluteDistance\n * @param rect1 {DOMRect} - The search origin\n * @param rect2 {DOMRect} - A candidate element\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n * @returns {Number} The distance scoring between two elements\n */\n function getAbsoluteDistance(rect1, rect2, dir) {\n // Get exit point, entry point\n const points = getEntryAndExitPoints(dir, rect1, rect2);\n\n // Return the absolute distance in the dir direction between P1 and P.\n return ((dir === 'left') || (dir === 'right')) ?\n Math.abs(points.entryPoint.x - points.exitPoint.x) : Math.abs(points.entryPoint.y - points.exitPoint.y);\n }\n\n /**\n * Get entry point and exit point of two elements considering the direction.\n * @function getEntryAndExitPoints\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD). Default value for dir is 'down'.\n * @param searchOrigin {DOMRect | Point} - The search origin which contains the exit point\n * @param candidateRect {DOMRect} - One of candidates which contains the entry point\n * @returns {Points} The exit point from the search origin and the entry point from a candidate\n */\n function getEntryAndExitPoints(dir = 'down', searchOrigin, candidateRect) {\n /**\n * User type definition for Point\n * @typeof {Object} Points\n * @property {Point} Points.entryPoint\n * @property {Point} Points.exitPoint\n */\n const points = {entryPoint: {x: 0, y: 0}, exitPoint:{x: 0, y: 0}};\n\n if (startingPoint) {\n points.exitPoint = searchOrigin;\n\n switch (dir) {\n case 'left':\n points.entryPoint.x = candidateRect.right;\n break;\n case 'up':\n points.entryPoint.y = candidateRect.bottom;\n break;\n case 'right':\n points.entryPoint.x = candidateRect.left;\n break;\n case 'down':\n points.entryPoint.y = candidateRect.top;\n break;\n }\n\n // Set orthogonal direction\n switch (dir) {\n case 'left':\n case 'right':\n if (startingPoint.y <= candidateRect.top) {\n points.entryPoint.y = candidateRect.top;\n } else if (startingPoint.y < candidateRect.bottom) {\n points.entryPoint.y = startingPoint.y;\n } else {\n points.entryPoint.y = candidateRect.bottom;\n }\n break;\n\n case 'up':\n case 'down':\n if (startingPoint.x <= candidateRect.left) {\n points.entryPoint.x = candidateRect.left;\n } else if (startingPoint.x < candidateRect.right) {\n points.entryPoint.x = startingPoint.x;\n } else {\n points.entryPoint.x = candidateRect.right;\n }\n break;\n }\n }\n else {\n // Set direction\n switch (dir) {\n case 'left':\n points.exitPoint.x = searchOrigin.left;\n points.entryPoint.x = (candidateRect.right < searchOrigin.left) ? candidateRect.right : searchOrigin.left;\n break;\n case 'up':\n points.exitPoint.y = searchOrigin.top;\n points.entryPoint.y = (candidateRect.bottom < searchOrigin.top) ? candidateRect.bottom : searchOrigin.top;\n break;\n case 'right':\n points.exitPoint.x = searchOrigin.right;\n points.entryPoint.x = (candidateRect.left > searchOrigin.right) ? candidateRect.left : searchOrigin.right;\n break;\n case 'down':\n points.exitPoint.y = searchOrigin.bottom;\n points.entryPoint.y = (candidateRect.top > searchOrigin.bottom) ? candidateRect.top : searchOrigin.bottom;\n break;\n }\n\n // Set orthogonal direction\n switch (dir) {\n case 'left':\n case 'right':\n if (isBelow(searchOrigin, candidateRect)) {\n points.exitPoint.y = searchOrigin.top;\n points.entryPoint.y = (candidateRect.bottom < searchOrigin.top) ? candidateRect.bottom : searchOrigin.top;\n } else if (isBelow(candidateRect, searchOrigin)) {\n points.exitPoint.y = searchOrigin.bottom;\n points.entryPoint.y = (candidateRect.top > searchOrigin.bottom) ? candidateRect.top : searchOrigin.bottom;\n } else {\n points.exitPoint.y = Math.max(searchOrigin.top, candidateRect.top);\n points.entryPoint.y = points.exitPoint.y;\n }\n break;\n\n case 'up':\n case 'down':\n if (isRightSide(searchOrigin, candidateRect)) {\n points.exitPoint.x = searchOrigin.left;\n points.entryPoint.x = (candidateRect.right < searchOrigin.left) ? candidateRect.right : searchOrigin.left;\n } else if (isRightSide(candidateRect, searchOrigin)) {\n points.exitPoint.x = searchOrigin.right;\n points.entryPoint.x = (candidateRect.left > searchOrigin.right) ? candidateRect.left : searchOrigin.right;\n } else {\n points.exitPoint.x = Math.max(searchOrigin.left, candidateRect.left);\n points.entryPoint.x = points.exitPoint.x;\n }\n break;\n }\n }\n\n return points;\n }\n\n /**\n * Find focusable elements within the container\n * @see {@link https://drafts.csswg.org/css-nav-1/#find-the-shortest-distance}\n * @function getIntersectionRect\n * @param rect1 {DOMRect} - The search origin which contains the exit point\n * @param rect2 {DOMRect} - One of candidates which contains the entry point\n * @returns {IntersectionArea} The intersection area between two elements.\n *\n * @typeof {Object} IntersectionArea\n * @property {Number} IntersectionArea.width\n * @property {Number} IntersectionArea.height\n */\n function getIntersectionRect(rect1, rect2) {\n const intersection_rect = {width: 0, height: 0, area: 0};\n\n const new_location = [Math.max(rect1.left, rect2.left), Math.max(rect1.top, rect2.top)];\n const new_max_point = [Math.min(rect1.right, rect2.right), Math.min(rect1.bottom, rect2.bottom)];\n\n intersection_rect.width = Math.abs(new_location[0] - new_max_point[0]);\n intersection_rect.height = Math.abs(new_location[1] - new_max_point[1]);\n\n if (!(new_location[0] >= new_max_point[0] || new_location[1] >= new_max_point[1])) {\n // intersecting-cases\n intersection_rect.area = Math.sqrt(intersection_rect.width * intersection_rect.height);\n }\n\n return intersection_rect;\n }\n\n /**\n * Handle the spatial navigation behavior for HTMLInputElement, HTMLTextAreaElement\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input|HTMLInputElement (MDN)}\n * @function handlingEditableElement\n * @param e {Event} - keydownEvent\n * @returns {boolean}\n */\n function handlingEditableElement(e) {\n const SPINNABLE_INPUT_TYPES = ['email', 'date', 'month', 'number', 'time', 'week'],\n TEXT_INPUT_TYPES = ['password', 'text', 'search', 'tel', 'url', null];\n const eventTarget = document.activeElement;\n const startPosition = eventTarget.selectionStart;\n const endPosition = eventTarget.selectionEnd;\n const focusNavigableArrowKey = {left: false, up: false, right: false, down: false};\n\n const dir = ARROW_KEY_CODE[e.keyCode];\n if (dir === undefined) {\n return focusNavigableArrowKey;\n }\n\n if (SPINNABLE_INPUT_TYPES.includes(eventTarget.getAttribute('type')) &&\n (dir === 'up' || dir === 'down')) {\n focusNavigableArrowKey[dir] = true;\n } else if (TEXT_INPUT_TYPES.includes(eventTarget.getAttribute('type')) || eventTarget.nodeName === 'TEXTAREA') {\n if (startPosition === endPosition) { // if there isn't any selected text\n if (startPosition === 0) {\n focusNavigableArrowKey.left = true;\n focusNavigableArrowKey.up = true;\n }\n if (endPosition === eventTarget.value.length) {\n focusNavigableArrowKey.right = true;\n focusNavigableArrowKey.down = true;\n }\n }\n } else { // HTMLDataListElement, HTMLSelectElement, HTMLOptGroup\n focusNavigableArrowKey[dir] = true;\n }\n\n return focusNavigableArrowKey;\n }\n\n /**\n * Get the DOMRect of an element\n * @function getBoundingClientRect\n * @param element {Node}\n * @returns {DOMRect}\n */\n function getBoundingClientRect(element) {\n // memoization\n let rect = mapOfBoundRect && mapOfBoundRect.get(element);\n if (!rect) {\n const boundingClientRect = element.getBoundingClientRect();\n rect = {\n top: Number(boundingClientRect.top.toFixed(2)),\n right: Number(boundingClientRect.right.toFixed(2)),\n bottom: Number(boundingClientRect.bottom.toFixed(2)),\n left: Number(boundingClientRect.left.toFixed(2)),\n width: Number(boundingClientRect.width.toFixed(2)),\n height: Number(boundingClientRect.height.toFixed(2))\n };\n mapOfBoundRect && mapOfBoundRect.set(element, rect);\n }\n return rect;\n }\n\n /**\n * Get the list of the experimental APIs\n * @function getExperimentalAPI\n */\n function getExperimentalAPI() {\n function canScroll(container, dir) {\n return (isScrollable(container, dir) && !isScrollBoundary(container, dir)) ||\n (!container.parentElement && !isHTMLScrollBoundary(container, dir));\n }\n\n function findTarget(findCandidate, element, dir, option) {\n let eventTarget = element;\n let bestNextTarget = null;\n\n // 4\n if (eventTarget === document || eventTarget === document.documentElement) {\n eventTarget = document.body || document.documentElement;\n }\n\n // 5\n // At this point, spatialNavigationSearch can be applied.\n // If startingPoint is either a scroll container or the document,\n // find the best candidate within startingPoint\n if ((isContainer(eventTarget) || eventTarget.nodeName === 'BODY') && !(eventTarget.nodeName === 'INPUT')) {\n if (eventTarget.nodeName === 'IFRAME')\n eventTarget = eventTarget.contentDocument.body;\n\n const candidates = getSpatialNavigationCandidates(eventTarget, option);\n\n // 5-2\n if (Array.isArray(candidates) && candidates.length > 0) {\n return findCandidate ? getFilteredSpatialNavigationCandidates(eventTarget, dir, candidates) : eventTarget.spatialNavigationSearch(dir, {candidates});\n }\n if (canScroll(eventTarget, dir)) {\n return findCandidate ? [] : eventTarget;\n }\n }\n\n // 6\n // Let container be the nearest ancestor of eventTarget\n let container = eventTarget.getSpatialNavigationContainer();\n let parentContainer = (container.parentElement) ? container.getSpatialNavigationContainer() : null;\n\n // When the container is the viewport of a browsing context\n if (!parentContainer && ( window.location !== window.parent.location)) {\n parentContainer = window.parent.document.documentElement;\n }\n\n // 7\n while (parentContainer) {\n const candidates = filteredCandidates(eventTarget, getSpatialNavigationCandidates(container, option), dir, container);\n\n if (Array.isArray(candidates) && candidates.length > 0) {\n bestNextTarget = eventTarget.spatialNavigationSearch(dir, {candidates, container});\n if (bestNextTarget) {\n return findCandidate ? candidates : bestNextTarget;\n }\n }\n\n // If there isn't any candidate and the best candidate among candidate:\n // 1) Scroll or 2) Find candidates of the ancestor container\n // 8 - if\n else if (canScroll(container, dir)) {\n return findCandidate ? [] : eventTarget;\n } else if (container === document || container === document.documentElement) {\n container = window.document.documentElement;\n\n // The page is in an iframe\n if ( window.location !== window.parent.location ) {\n\n // eventTarget needs to be reset because the position of the element in the IFRAME\n // is unuseful when the focus moves out of the iframe\n eventTarget = window.frameElement;\n container = window.parent.document.documentElement;\n if (container.parentElement)\n parentContainer = container.getSpatialNavigationContainer();\n else {\n parentContainer = null;\n break;\n }\n }\n } else {\n // avoiding when spatnav container with tabindex=-1\n if (isFocusable(container)) {\n eventTarget = container;\n }\n\n container = parentContainer;\n if (container.parentElement)\n parentContainer = container.getSpatialNavigationContainer();\n else {\n parentContainer = null;\n break;\n }\n }\n }\n\n if (!parentContainer && container) {\n // Getting out from the current spatnav container\n const candidates = filteredCandidates(eventTarget, getSpatialNavigationCandidates(container, option), dir, container);\n\n // 9\n if (Array.isArray(candidates) && candidates.length > 0) {\n bestNextTarget = eventTarget.spatialNavigationSearch(dir, {candidates, container});\n if (bestNextTarget) {\n return findCandidate ? candidates : bestNextTarget;\n }\n }\n }\n\n if (canScroll(container, dir)) {\n bestNextTarget = eventTarget;\n return bestNextTarget;\n }\n }\n\n return {\n isContainer,\n isScrollContainer,\n findCandidates: findTarget.bind(null, true),\n findNextTarget: findTarget.bind(null, false),\n getDistanceFromTarget: (element, candidateElement, dir) => {\n if ((isContainer(element) || element.nodeName === 'BODY') && !(element.nodeName === 'INPUT')) {\n if (getSpatialNavigationCandidates(element).includes(candidateElement)) {\n return getInnerDistance(getBoundingClientRect(element), getBoundingClientRect(candidateElement), dir);\n }\n }\n return getDistance(getBoundingClientRect(element), getBoundingClientRect(candidateElement), dir);\n }\n };\n }\n\n /**\n * Makes to use the experimental APIs.\n * @function enableExperimentalAPIs\n * @param option {boolean} - If it is true, the experimental APIs can be used or it cannot.\n */\n function enableExperimentalAPIs (option) {\n const currentKeyMode = window.__spatialNavigation__ && window.__spatialNavigation__.keyMode;\n window.__spatialNavigation__ = (option === false) ? getInitialAPIs() : Object.assign(getInitialAPIs(), getExperimentalAPI());\n window.__spatialNavigation__.keyMode = currentKeyMode;\n Object.seal(window.__spatialNavigation__);\n }\n\n /**\n * Set the environment for using the spatial navigation polyfill.\n * @function getInitialAPIs\n */\n function getInitialAPIs() {\n return {\n enableExperimentalAPIs,\n get keyMode() { return this._keymode ? this._keymode : 'ARROW'; },\n set keyMode(mode) { this._keymode = (['SHIFTARROW', 'ARROW', 'NONE'].includes(mode)) ? mode : 'ARROW'; },\n setStartingPoint: function (x, y) {startingPoint = (x && y) ? {x, y} : null;}\n };\n }\n\n window.addEventListener('load', () => {\n initiateSpatialNavigation();\n enableExperimentalAPIs(false);\n });\n})();\n","// No automatic generation: we don't want to depend on fs, as we want to keep this universal\n// ls *-*.json | while read line; do printf \"\\\"`printf $line | cut -d '.' -f1`\\\",\\n\"; done\n\nvar languages = [\n\t\"ar-AR\",\n\t\"bg-BG\",\n\t\"ca-CA\",\n\t\"cs-CZ\",\n\t\"da-DK\",\n\t\"de-DE\",\n\t\"el-GR\",\n\t\"en-US\",\n\t\"eo-EO\",\n\t\"es-ES\",\n\t\"eu-ES\",\n\t\"fa-IR\",\n\t\"fi-FI\",\n\t\"fr-FR\",\n\t\"he-IL\",\n\t\"hi-IN\",\n\t\"hr-HR\",\n\t\"hu-HU\",\n\t\"id-ID\",\n\t\"it-IT\",\n\t\"ja-JP\",\n\t\"ko-KR\",\n\t\"mk-MK\",\n\t\"my-BM\",\n\t\"nb-NO\",\n\t\"ne-NP\",\n\t\"nl-NL\",\n\t\"nn-NO\",\n\t\"pl-PL\",\n\t\"pt-BR\",\n\t\"pt-PT\",\n\t\"ro-RO\",\n\t\"ru-RU\",\n\t\"sl-SL\",\n\t\"sr-RS\",\n\t\"sv-SE\",\n\t\"te-IN\",\n\t\"tr-TR\",\n\t\"uk-UA\",\n\t\"vi-VN\",\n\t\"zh-CN\",\n\t\"zh-HK\",\n\t\"zh-TW\",\n\t\"bn-BD\",\n];\n\nmodule.exports = function () {\n\treturn {\n\t\t\"ar-AR\": require(\"./ar-AR.json\"),\n\t\t\"bg-BG\": require(\"./bg-BG.json\"),\n\t\t\"ca-CA\": require(\"./ca-CA.json\"),\n\t\t\"cs-CZ\": require(\"./cs-CZ.json\"),\n\t\t\"da-DK\": require(\"./da-DK.json\"),\n\t\t\"de-DE\": require(\"./de-DE.json\"),\n\t\t\"el-GR\": require(\"./el-GR.json\"),\n\t\t\"en-US\": require(\"./en-US.json\"),\n\t\t\"eo-EO\": require(\"./eo-EO.json\"),\n\t\t\"es-ES\": require(\"./es-ES.json\"),\n\t\t\"eu-ES\": require(\"./eu-ES.json\"),\n\t\t\"fa-IR\": require(\"./fa-IR.json\"),\n\t\t\"fi-FI\": require(\"./fi-FI.json\"),\n\t\t\"fr-FR\": require(\"./fr-FR.json\"),\n\t\t\"he-IL\": require(\"./he-IL.json\"),\n\t\t\"hi-IN\": require(\"./hi-IN.json\"),\n\t\t\"hr-HR\": require(\"./hr-HR.json\"),\n\t\t\"hu-HU\": require(\"./hu-HU.json\"),\n\t\t\"id-ID\": require(\"./id-ID.json\"),\n\t\t\"it-IT\": require(\"./it-IT.json\"),\n\t\t\"ja-JP\": require(\"./ja-JP.json\"),\n\t\t\"ko-KR\": require(\"./ko-KR.json\"),\n\t\t\"mk-MK\": require(\"./mk-MK.json\"),\n\t\t\"my-BM\": require(\"./my-BM.json\"),\n\t\t\"nb-NO\": require(\"./nb-NO.json\"),\n\t\t\"ne-NP\": require(\"./ne-NP.json\"),\n\t\t\"nl-NL\": require(\"./nl-NL.json\"),\n\t\t\"nn-NO\": require(\"./nn-NO.json\"),\n\t\t\"pl-PL\": require(\"./pl-PL.json\"),\n\t\t\"pt-BR\": require(\"./pt-BR.json\"),\n\t\t\"pt-PT\": require(\"./pt-PT.json\"),\n\t\t\"ro-RO\": require(\"./ro-RO.json\"),\n\t\t\"ru-RU\": require(\"./ru-RU.json\"),\n\t\t\"sl-SL\": require(\"./sl-SL.json\"),\n\t\t\"sr-RS\": require(\"./sr-RS.json\"),\n\t\t\"sv-SE\": require(\"./sv-SE.json\"),\n\t\t\"te-IN\": require(\"./te-IN.json\"),\n\t\t\"tr-TR\": require(\"./tr-TR.json\"),\n\t\t\"uk-UA\": require(\"./uk-UA.json\"),\n\t\t\"vi-VN\": require(\"./vi-VN.json\"),\n\t\t\"zh-CN\": require(\"./zh-CN.json\"),\n\t\t\"zh-HK\": require(\"./zh-HK.json\"),\n\t\t\"zh-TW\": require(\"./zh-TW.json\"),\n\t\t\"bn-BD\": require(\"./bn-BD.json\"),\n\t};\n};\n\nmodule.exports.all = languages;\n","/* \nCopyright (c) 2011, Chris Umbel\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in \nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN \nTHE SOFTWARE.\n*/\n\nvar base32 = require('./thirty-two');\n\nexports.encode = base32.encode;\nexports.decode = base32.decode;\n","/*\nCopyright (c) 2011, Chris Umbel\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n*/\n'use strict';\n\nvar charTable = \"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567\";\nvar byteTable = [\n 0xff, 0xff, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\n 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,\n 0xff, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06,\n 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e,\n 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16,\n 0x17, 0x18, 0x19, 0xff, 0xff, 0xff, 0xff, 0xff,\n 0xff, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06,\n 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e,\n 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16,\n 0x17, 0x18, 0x19, 0xff, 0xff, 0xff, 0xff, 0xff\n];\n\nfunction quintetCount(buff) {\n var quintets = Math.floor(buff.length / 5);\n return buff.length % 5 === 0 ? quintets: quintets + 1;\n}\n\nexports.encode = function(plain) {\n if(!Buffer.isBuffer(plain)){\n \tplain = new Buffer(plain);\n }\n var i = 0;\n var j = 0;\n var shiftIndex = 0;\n var digit = 0;\n var encoded = new Buffer(quintetCount(plain) * 8);\n\n /* byte by byte isn't as pretty as quintet by quintet but tests a bit\n faster. will have to revisit. */\n while(i < plain.length) {\n var current = plain[i];\n\n if(shiftIndex > 3) {\n digit = current & (0xff >> shiftIndex);\n shiftIndex = (shiftIndex + 5) % 8;\n digit = (digit << shiftIndex) | ((i + 1 < plain.length) ?\n plain[i + 1] : 0) >> (8 - shiftIndex);\n i++;\n } else {\n digit = (current >> (8 - (shiftIndex + 5))) & 0x1f;\n shiftIndex = (shiftIndex + 5) % 8;\n if(shiftIndex === 0) i++;\n }\n\n encoded[j] = charTable.charCodeAt(digit);\n j++;\n }\n\n for(i = j; i < encoded.length; i++) {\n encoded[i] = 0x3d; //'='.charCodeAt(0)\n }\n\n return encoded;\n};\n\nexports.decode = function(encoded) {\n var shiftIndex = 0;\n var plainDigit = 0;\n var plainChar;\n var plainPos = 0;\n if(!Buffer.isBuffer(encoded)){\n \tencoded = new Buffer(encoded);\n }\n var decoded = new Buffer(Math.ceil(encoded.length * 5 / 8));\n\n /* byte by byte isn't as pretty as octet by octet but tests a bit\n faster. will have to revisit. */\n for(var i = 0; i < encoded.length; i++) {\n \tif(encoded[i] === 0x3d){ //'='\n \t\tbreak;\n \t}\n\n var encodedByte = encoded[i] - 0x30;\n\n if(encodedByte < byteTable.length) {\n plainDigit = byteTable[encodedByte];\n\n if(shiftIndex <= 3) {\n shiftIndex = (shiftIndex + 5) % 8;\n\n if(shiftIndex === 0) {\n plainChar |= plainDigit;\n decoded[plainPos] = plainChar;\n plainPos++;\n plainChar = 0;\n } else {\n plainChar |= 0xff & (plainDigit << (8 - shiftIndex));\n }\n } else {\n shiftIndex = (shiftIndex + 5) % 8;\n plainChar |= 0xff & (plainDigit >>> shiftIndex);\n decoded[plainPos] = plainChar;\n plainPos++;\n\n plainChar = 0xff & (plainDigit << (8 - shiftIndex));\n }\n } else {\n \tthrow new Error('Invalid input - it is not base32 encoded string');\n }\n }\n\n return decoded.slice(0, plainPos);\n};\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar classnames_1 = __importDefault(require(\"classnames\"));\nvar Button_1 = __importDefault(require(\"stremio/common/Button\"));\nvar Chip_less_1 = __importDefault(require(\"./Chip.less\"));\nvar Chip = (0, react_1.memo)(function (_a) {\n var _b;\n var label = _a.label, value = _a.value, active = _a.active, onSelect = _a.onSelect;\n var ref = (0, react_1.useRef)(null);\n var onClick = (0, react_1.useCallback)(function (_a) {\n var currentTarget = _a.currentTarget;\n var value = currentTarget.dataset['value'];\n value && onSelect(value);\n }, [onselect]);\n (0, react_1.useEffect)(function () {\n var _a;\n active && ((_a = ref.current) === null || _a === void 0 ? void 0 : _a.scrollIntoView({\n block: 'nearest',\n inline: 'center',\n behavior: 'smooth',\n }));\n }, [active]);\n return (react_1.default.createElement(Button_1.default, { ref: ref, key: value, className: (0, classnames_1.default)(Chip_less_1.default['chip'], (_b = {}, _b[Chip_less_1.default['active']] = active, _b)), tabIndex: -1, \"data-value\": value, onClick: onClick }, label));\n});\nexports.default = Chip;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Chip_1 = __importDefault(require(\"./Chip\"));\nexports.default = Chip_1.default;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar classnames_1 = __importDefault(require(\"classnames\"));\nvar Chip_1 = __importDefault(require(\"./Chip\"));\nvar Chips_less_1 = __importDefault(require(\"./Chips.less\"));\nvar SCROLL_THRESHOLD = 1;\nvar Chips = (0, react_1.memo)(function (_a) {\n var options = _a.options, selected = _a.selected, onSelect = _a.onSelect;\n var ref = (0, react_1.useRef)(null);\n var _b = (0, react_1.useState)('left'), scrollPosition = _b[0], setScrollPosition = _b[1];\n (0, react_1.useEffect)(function () {\n var _a;\n var onScroll = function (_a) {\n var target = _a.target;\n var _b = target, scrollLeft = _b.scrollLeft, scrollWidth = _b.scrollWidth, offsetWidth = _b.offsetWidth;\n var position = (scrollLeft - SCROLL_THRESHOLD) <= 0 ? 'left' :\n (scrollLeft + offsetWidth + SCROLL_THRESHOLD) >= scrollWidth ? 'right' :\n 'center';\n setScrollPosition(position);\n };\n (_a = ref.current) === null || _a === void 0 ? void 0 : _a.addEventListener('scroll', onScroll);\n return function () { var _a; return (_a = ref.current) === null || _a === void 0 ? void 0 : _a.removeEventListener('scroll', onScroll); };\n }, []);\n return (react_1.default.createElement(\"div\", { ref: ref, className: (0, classnames_1.default)(Chips_less_1.default['chips'], [Chips_less_1.default[scrollPosition]]) }, options.map(function (_a) {\n var label = _a.label, value = _a.value;\n return (react_1.default.createElement(Chip_1.default, { key: value, label: label, value: value, active: selected.includes(value), onSelect: onSelect }));\n })));\n});\nexports.default = Chips;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Chips_1 = __importDefault(require(\"./Chips\"));\nexports.default = Chips_1.default;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nvar Button_1 = __importDefault(require(\"stremio/common/Button\"));\nvar react_i18next_1 = require(\"react-i18next\");\nvar classnames_1 = __importDefault(require(\"classnames\"));\nvar Option_1 = __importDefault(require(\"./Option\"));\nvar react_2 = __importDefault(require(\"@stremio/stremio-icons/react\"));\nvar Dropdown_less_1 = __importDefault(require(\"./Dropdown.less\"));\nvar Dropdown = function (_a) {\n var _b;\n var level = _a.level, setLevel = _a.setLevel, options = _a.options, onSelect = _a.onSelect, selectedOption = _a.selectedOption, menuOpen = _a.menuOpen;\n var t = (0, react_i18next_1.useTranslation)().t;\n var onBackButtonClick = function () {\n setLevel(level - 1);\n };\n return (react_1.default.createElement(\"div\", { className: (0, classnames_1.default)(Dropdown_less_1.default['dropdown'], (_b = {}, _b[Dropdown_less_1.default['open']] = menuOpen, _b)), role: 'listbox' },\n level > 0 ?\n react_1.default.createElement(Button_1.default, { className: Dropdown_less_1.default['back-button'], onClick: onBackButtonClick },\n react_1.default.createElement(react_2.default, { name: 'caret-left', className: Dropdown_less_1.default['back-button-icon'] }),\n t('BACK'))\n : null,\n options\n .filter(function (option) { return !option.hidden; })\n .map(function (option, index) { return (react_1.default.createElement(Option_1.default, { key: index, option: option, onSelect: onSelect, selectedOption: selectedOption })); })));\n};\nexports.default = Dropdown;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar classnames_1 = __importDefault(require(\"classnames\"));\nvar Button_1 = __importDefault(require(\"stremio/common/Button\"));\nvar Option_less_1 = __importDefault(require(\"./Option.less\"));\nvar react_2 = __importDefault(require(\"@stremio/stremio-icons/react\"));\nvar Option = function (_a) {\n var _b;\n var option = _a.option, selectedOption = _a.selectedOption, onSelect = _a.onSelect;\n // consider using option.id === selectedOption?.id instead\n var selected = (0, react_1.useMemo)(function () { return (option === null || option === void 0 ? void 0 : option.value) === (selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.value); }, [option, selectedOption]);\n var handleClick = (0, react_1.useCallback)(function () {\n onSelect(option.value);\n }, [onSelect, option.value]);\n return (react_1.default.createElement(Button_1.default, { className: (0, classnames_1.default)(Option_less_1.default['option'], (_b = {}, _b[Option_less_1.default['selected']] = selected, _b)), key: option.id, onClick: handleClick, \"aria-selected\": selected },\n react_1.default.createElement(\"div\", { className: Option_less_1.default['label'] }, option.label),\n selected && !option.level ?\n react_1.default.createElement(\"div\", { className: Option_less_1.default['icon'] })\n : null,\n option.level ?\n react_1.default.createElement(react_2.default, { name: 'caret-right', className: Option_less_1.default['option-caret'] })\n : null));\n};\nexports.default = Option;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Option_1 = __importDefault(require(\"./Option\"));\nexports.default = Option_1.default;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Dropdown_1 = __importDefault(require(\"./Dropdown\"));\nexports.default = Dropdown_1.default;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nvar Button_1 = __importDefault(require(\"stremio/common/Button\"));\nvar useBinaryState_1 = __importDefault(require(\"stremio/common/useBinaryState\"));\nvar Dropdown_1 = __importDefault(require(\"./Dropdown\"));\nvar classnames_1 = __importDefault(require(\"classnames\"));\nvar react_2 = __importDefault(require(\"@stremio/stremio-icons/react\"));\nvar MultiselectMenu_less_1 = __importDefault(require(\"./MultiselectMenu.less\"));\nvar useOutsideClick_1 = __importDefault(require(\"stremio/common/useOutsideClick\"));\nvar MultiselectMenu = function (_a) {\n var _b, _c;\n var className = _a.className, title = _a.title, options = _a.options, selectedOption = _a.selectedOption, onSelect = _a.onSelect;\n var _d = (0, useBinaryState_1.default)(false), menuOpen = _d[0], closeMenu = _d[2], toggleMenu = _d[3];\n var multiselectMenuRef = (0, useOutsideClick_1.default)(function () { return closeMenu(); });\n var _e = react_1.default.useState(0), level = _e[0], setLevel = _e[1];\n var onOptionSelect = function (value) {\n level ? setLevel(level + 1) : onSelect(value), closeMenu();\n };\n return (react_1.default.createElement(\"div\", { className: (0, classnames_1.default)(MultiselectMenu_less_1.default['multiselect-menu'], className), ref: multiselectMenuRef },\n react_1.default.createElement(Button_1.default, { className: (0, classnames_1.default)(MultiselectMenu_less_1.default['multiselect-button'], (_b = {}, _b[MultiselectMenu_less_1.default['open']] = menuOpen, _b)), onClick: toggleMenu, tabIndex: 0, \"aria-haspopup\": 'listbox', \"aria-expanded\": menuOpen },\n title,\n react_1.default.createElement(react_2.default, { name: 'caret-down', className: (0, classnames_1.default)(MultiselectMenu_less_1.default['icon'], (_c = {}, _c[MultiselectMenu_less_1.default['open']] = menuOpen, _c)) })),\n menuOpen ?\n react_1.default.createElement(Dropdown_1.default, { level: level, setLevel: setLevel, options: options, onSelect: onOptionSelect, menuOpen: menuOpen, selectedOption: selectedOption })\n : null));\n};\nexports.default = MultiselectMenu;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar MultiselectMenu_1 = __importDefault(require(\"./MultiselectMenu\"));\nexports.default = MultiselectMenu_1.default;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.usePlatform = exports.PlatformProvider = void 0;\nvar react_1 = __importStar(require(\"react\"));\nvar CONSTANTS_1 = require(\"stremio/common/CONSTANTS\");\nvar useShell_1 = __importDefault(require(\"./useShell\"));\nvar device_1 = require(\"./device\");\nvar PlatformContext = (0, react_1.createContext)({});\nvar PlatformProvider = function (_a) {\n var children = _a.children;\n var shell = (0, useShell_1.default)();\n var openExternal = function (url) {\n try {\n var hostname_1 = new URL(url).hostname;\n var isWhitelisted = CONSTANTS_1.WHITELISTED_HOSTS.some(function (host) { return hostname_1.endsWith(host); });\n var finalUrl = !isWhitelisted ? \"https://www.stremio.com/warning#\".concat(encodeURIComponent(url)) : url;\n if (shell.active) {\n shell.send('open-external', finalUrl);\n }\n else {\n window.open(finalUrl, '_blank');\n }\n }\n catch (e) {\n console.error('Failed to parse external url:', e);\n }\n };\n return (react_1.default.createElement(PlatformContext.Provider, { value: { openExternal: openExternal, name: device_1.name, isMobile: device_1.isMobile } }, children));\n};\nexports.PlatformProvider = PlatformProvider;\nvar usePlatform = function () {\n return (0, react_1.useContext)(PlatformContext);\n};\nexports.usePlatform = usePlatform;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isMobile = exports.name = void 0;\nvar bowser_1 = __importDefault(require(\"bowser\"));\nvar APPLE_MOBILE_DEVICES = [\n 'iPad Simulator',\n 'iPhone Simulator',\n 'iPod Simulator',\n 'iPad',\n 'iPhone',\n 'iPod',\n];\nvar _a = globalThis.navigator, userAgent = _a.userAgent, platform = _a.platform, maxTouchPoints = _a.maxTouchPoints;\n// this detects ipad properly in safari\n// while bowser does not\nvar isIOS = APPLE_MOBILE_DEVICES.includes(platform) || (userAgent.includes('Mac') && 'ontouchend' in document);\n// Edge case: iPad is included in this function\n// Keep in mind maxTouchPoints for Vision Pro might change in the future\nvar isVisionOS = userAgent.includes('Macintosh') && maxTouchPoints === 5;\nvar bowser = bowser_1.default.getParser(userAgent);\nvar os = bowser.getOSName().toLowerCase();\nvar name = isVisionOS ? 'visionos' : isIOS ? 'ios' : os || 'unknown';\nexports.name = name;\nvar isMobile = ['ios', 'android'].includes(name);\nexports.isMobile = isMobile;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.usePlatform = exports.PlatformProvider = void 0;\nvar Platform_1 = require(\"./Platform\");\nObject.defineProperty(exports, \"PlatformProvider\", { enumerable: true, get: function () { return Platform_1.PlatformProvider; } });\nObject.defineProperty(exports, \"usePlatform\", { enumerable: true, get: function () { return Platform_1.usePlatform; } });\n","\"use strict\";\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar createId = function () { return Math.floor(Math.random() * 9999) + 1; };\nvar useShell = function () {\n var _a;\n var transport = (_a = globalThis === null || globalThis === void 0 ? void 0 : globalThis.qt) === null || _a === void 0 ? void 0 : _a.webChannelTransport;\n var send = function (method) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n transport === null || transport === void 0 ? void 0 : transport.send(JSON.stringify({\n id: createId(),\n type: 6,\n object: 'transport',\n method: 'onEvent',\n args: __spreadArray([method], args, true),\n }));\n };\n return {\n active: !!transport,\n send: send,\n };\n};\nexports.default = useShell;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = require(\"react\");\nvar useOutsideClick = function (callback) {\n var ref = (0, react_1.useRef)(null);\n (0, react_1.useEffect)(function () {\n var handleClickOutside = function (event) {\n if (ref.current && !ref.current.contains(event.target)) {\n callback();\n }\n };\n document.addEventListener('mouseup', handleClickOutside);\n document.addEventListener('touchend', handleClickOutside);\n return function () {\n document.removeEventListener('mouseup', handleClickOutside);\n document.removeEventListener('touchend', handleClickOutside);\n };\n }, [callback]);\n return ref;\n};\nexports.default = useOutsideClick;\n","\"use strict\";\n// Copyright (C) 2017-2023 Smart code 203358507\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = require(\"react\");\nvar hat_1 = __importDefault(require(\"hat\"));\nvar common_1 = require(\"stremio/common\");\nvar STREMIO_URL = 'https://www.strem.io';\nvar MAX_TRIES = 25;\nvar getCredentials = function (state) { return __awaiter(void 0, void 0, void 0, function () {\n var response, user, e_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 3, , 4]);\n return [4 /*yield*/, fetch(\"\".concat(STREMIO_URL, \"/login-fb-get-acc/\").concat(state))];\n case 1:\n response = _a.sent();\n return [4 /*yield*/, response.json()];\n case 2:\n user = (_a.sent()).user;\n return [2 /*return*/, Promise.resolve({\n email: user.email,\n password: user.fbLoginToken,\n })];\n case 3:\n e_1 = _a.sent();\n console.error('Failed to get credentials from facebook auth', e_1);\n return [2 /*return*/, Promise.reject(e_1)];\n case 4: return [2 /*return*/];\n }\n });\n}); };\nvar useFacebookLogin = function () {\n var platform = (0, common_1.usePlatform)();\n var started = (0, react_1.useRef)(false);\n var timeout = (0, react_1.useRef)(null);\n var start = (0, react_1.useCallback)(function () { return new Promise(function (resolve, reject) {\n started.current = true;\n var state = (0, hat_1.default)(128);\n var tries = 0;\n platform.openExternal(\"\".concat(STREMIO_URL, \"/login-fb/\").concat(state));\n var waitForCredentials = function () {\n if (started.current) {\n timeout.current && clearTimeout(timeout.current);\n timeout.current = setTimeout(function () {\n if (tries >= MAX_TRIES)\n return reject(new Error('Failed to authenticate with facebook'));\n tries++;\n getCredentials(state)\n .then(resolve)\n .catch(waitForCredentials);\n }, 1000);\n }\n };\n waitForCredentials();\n }); }, []);\n var stop = (0, react_1.useCallback)(function () {\n started.current = false;\n timeout.current && clearTimeout(timeout.current);\n }, []);\n (0, react_1.useEffect)(function () {\n return function () { return stop(); };\n }, []);\n return [\n start,\n stop,\n ];\n};\nmodule.exports = useFacebookLogin;\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar punycode = require('punycode');\nvar util = require('./util');\n\nexports.parse = urlParse;\nexports.resolve = urlResolve;\nexports.resolveObject = urlResolveObject;\nexports.format = urlFormat;\n\nexports.Url = Url;\n\nfunction Url() {\n this.protocol = null;\n this.slashes = null;\n this.auth = null;\n this.host = null;\n this.port = null;\n this.hostname = null;\n this.hash = null;\n this.search = null;\n this.query = null;\n this.pathname = null;\n this.path = null;\n this.href = null;\n}\n\n// Reference: RFC 3986, RFC 1808, RFC 2396\n\n// define these here so at least they only have to be\n// compiled once on the first module load.\nvar protocolPattern = /^([a-z0-9.+-]+:)/i,\n portPattern = /:[0-9]*$/,\n\n // Special case for a simple path URL\n simplePathPattern = /^(\\/\\/?(?!\\/)[^\\?\\s]*)(\\?[^\\s]*)?$/,\n\n // RFC 2396: characters reserved for delimiting URLs.\n // We actually just auto-escape these.\n delims = ['<', '>', '\"', '`', ' ', '\\r', '\\n', '\\t'],\n\n // RFC 2396: characters not allowed for various reasons.\n unwise = ['{', '}', '|', '\\\\', '^', '`'].concat(delims),\n\n // Allowed by RFCs, but cause of XSS attacks. Always escape these.\n autoEscape = ['\\''].concat(unwise),\n // Characters that are never ever allowed in a hostname.\n // Note that any invalid chars are also handled, but these\n // are the ones that are *expected* to be seen, so we fast-path\n // them.\n nonHostChars = ['%', '/', '?', ';', '#'].concat(autoEscape),\n hostEndingChars = ['/', '?', '#'],\n hostnameMaxLen = 255,\n hostnamePartPattern = /^[+a-z0-9A-Z_-]{0,63}$/,\n hostnamePartStart = /^([+a-z0-9A-Z_-]{0,63})(.*)$/,\n // protocols that can allow \"unsafe\" and \"unwise\" chars.\n unsafeProtocol = {\n 'javascript': true,\n 'javascript:': true\n },\n // protocols that never have a hostname.\n hostlessProtocol = {\n 'javascript': true,\n 'javascript:': true\n },\n // protocols that always contain a // bit.\n slashedProtocol = {\n 'http': true,\n 'https': true,\n 'ftp': true,\n 'gopher': true,\n 'file': true,\n 'http:': true,\n 'https:': true,\n 'ftp:': true,\n 'gopher:': true,\n 'file:': true\n },\n querystring = require('querystring');\n\nfunction urlParse(url, parseQueryString, slashesDenoteHost) {\n if (url && util.isObject(url) && url instanceof Url) return url;\n\n var u = new Url;\n u.parse(url, parseQueryString, slashesDenoteHost);\n return u;\n}\n\nUrl.prototype.parse = function(url, parseQueryString, slashesDenoteHost) {\n if (!util.isString(url)) {\n throw new TypeError(\"Parameter 'url' must be a string, not \" + typeof url);\n }\n\n // Copy chrome, IE, opera backslash-handling behavior.\n // Back slashes before the query string get converted to forward slashes\n // See: https://code.google.com/p/chromium/issues/detail?id=25916\n var queryIndex = url.indexOf('?'),\n splitter =\n (queryIndex !== -1 && queryIndex < url.indexOf('#')) ? '?' : '#',\n uSplit = url.split(splitter),\n slashRegex = /\\\\/g;\n uSplit[0] = uSplit[0].replace(slashRegex, '/');\n url = uSplit.join(splitter);\n\n var rest = url;\n\n // trim before proceeding.\n // This is to support parse stuff like \" http://foo.com \\n\"\n rest = rest.trim();\n\n if (!slashesDenoteHost && url.split('#').length === 1) {\n // Try fast path regexp\n var simplePath = simplePathPattern.exec(rest);\n if (simplePath) {\n this.path = rest;\n this.href = rest;\n this.pathname = simplePath[1];\n if (simplePath[2]) {\n this.search = simplePath[2];\n if (parseQueryString) {\n this.query = querystring.parse(this.search.substr(1));\n } else {\n this.query = this.search.substr(1);\n }\n } else if (parseQueryString) {\n this.search = '';\n this.query = {};\n }\n return this;\n }\n }\n\n var proto = protocolPattern.exec(rest);\n if (proto) {\n proto = proto[0];\n var lowerProto = proto.toLowerCase();\n this.protocol = lowerProto;\n rest = rest.substr(proto.length);\n }\n\n // figure out if it's got a host\n // user@server is *always* interpreted as a hostname, and url\n // resolution will treat //foo/bar as host=foo,path=bar because that's\n // how the browser resolves relative URLs.\n if (slashesDenoteHost || proto || rest.match(/^\\/\\/[^@\\/]+@[^@\\/]+/)) {\n var slashes = rest.substr(0, 2) === '//';\n if (slashes && !(proto && hostlessProtocol[proto])) {\n rest = rest.substr(2);\n this.slashes = true;\n }\n }\n\n if (!hostlessProtocol[proto] &&\n (slashes || (proto && !slashedProtocol[proto]))) {\n\n // there's a hostname.\n // the first instance of /, ?, ;, or # ends the host.\n //\n // If there is an @ in the hostname, then non-host chars *are* allowed\n // to the left of the last @ sign, unless some host-ending character\n // comes *before* the @-sign.\n // URLs are obnoxious.\n //\n // ex:\n // http://a@b@c/ => user:a@b host:c\n // http://a@b?@c => user:a host:c path:/?@c\n\n // v0.12 TODO(isaacs): This is not quite how Chrome does things.\n // Review our test case against browsers more comprehensively.\n\n // find the first instance of any hostEndingChars\n var hostEnd = -1;\n for (var i = 0; i < hostEndingChars.length; i++) {\n var hec = rest.indexOf(hostEndingChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))\n hostEnd = hec;\n }\n\n // at this point, either we have an explicit point where the\n // auth portion cannot go past, or the last @ char is the decider.\n var auth, atSign;\n if (hostEnd === -1) {\n // atSign can be anywhere.\n atSign = rest.lastIndexOf('@');\n } else {\n // atSign must be in auth portion.\n // http://a@b/c@d => host:b auth:a path:/c@d\n atSign = rest.lastIndexOf('@', hostEnd);\n }\n\n // Now we have a portion which is definitely the auth.\n // Pull that off.\n if (atSign !== -1) {\n auth = rest.slice(0, atSign);\n rest = rest.slice(atSign + 1);\n this.auth = decodeURIComponent(auth);\n }\n\n // the host is the remaining to the left of the first non-host char\n hostEnd = -1;\n for (var i = 0; i < nonHostChars.length; i++) {\n var hec = rest.indexOf(nonHostChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))\n hostEnd = hec;\n }\n // if we still have not hit it, then the entire thing is a host.\n if (hostEnd === -1)\n hostEnd = rest.length;\n\n this.host = rest.slice(0, hostEnd);\n rest = rest.slice(hostEnd);\n\n // pull out port.\n this.parseHost();\n\n // we've indicated that there is a hostname,\n // so even if it's empty, it has to be present.\n this.hostname = this.hostname || '';\n\n // if hostname begins with [ and ends with ]\n // assume that it's an IPv6 address.\n var ipv6Hostname = this.hostname[0] === '[' &&\n this.hostname[this.hostname.length - 1] === ']';\n\n // validate a little.\n if (!ipv6Hostname) {\n var hostparts = this.hostname.split(/\\./);\n for (var i = 0, l = hostparts.length; i < l; i++) {\n var part = hostparts[i];\n if (!part) continue;\n if (!part.match(hostnamePartPattern)) {\n var newpart = '';\n for (var j = 0, k = part.length; j < k; j++) {\n if (part.charCodeAt(j) > 127) {\n // we replace non-ASCII char with a temporary placeholder\n // we need this to make sure size of hostname is not\n // broken by replacing non-ASCII by nothing\n newpart += 'x';\n } else {\n newpart += part[j];\n }\n }\n // we test again with ASCII char only\n if (!newpart.match(hostnamePartPattern)) {\n var validParts = hostparts.slice(0, i);\n var notHost = hostparts.slice(i + 1);\n var bit = part.match(hostnamePartStart);\n if (bit) {\n validParts.push(bit[1]);\n notHost.unshift(bit[2]);\n }\n if (notHost.length) {\n rest = '/' + notHost.join('.') + rest;\n }\n this.hostname = validParts.join('.');\n break;\n }\n }\n }\n }\n\n if (this.hostname.length > hostnameMaxLen) {\n this.hostname = '';\n } else {\n // hostnames are always lower case.\n this.hostname = this.hostname.toLowerCase();\n }\n\n if (!ipv6Hostname) {\n // IDNA Support: Returns a punycoded representation of \"domain\".\n // It only converts parts of the domain name that\n // have non-ASCII characters, i.e. it doesn't matter if\n // you call it with a domain that already is ASCII-only.\n this.hostname = punycode.toASCII(this.hostname);\n }\n\n var p = this.port ? ':' + this.port : '';\n var h = this.hostname || '';\n this.host = h + p;\n this.href += this.host;\n\n // strip [ and ] from the hostname\n // the host field still retains them, though\n if (ipv6Hostname) {\n this.hostname = this.hostname.substr(1, this.hostname.length - 2);\n if (rest[0] !== '/') {\n rest = '/' + rest;\n }\n }\n }\n\n // now rest is set to the post-host stuff.\n // chop off any delim chars.\n if (!unsafeProtocol[lowerProto]) {\n\n // First, make 100% sure that any \"autoEscape\" chars get\n // escaped, even if encodeURIComponent doesn't think they\n // need to be.\n for (var i = 0, l = autoEscape.length; i < l; i++) {\n var ae = autoEscape[i];\n if (rest.indexOf(ae) === -1)\n continue;\n var esc = encodeURIComponent(ae);\n if (esc === ae) {\n esc = escape(ae);\n }\n rest = rest.split(ae).join(esc);\n }\n }\n\n\n // chop off from the tail first.\n var hash = rest.indexOf('#');\n if (hash !== -1) {\n // got a fragment string.\n this.hash = rest.substr(hash);\n rest = rest.slice(0, hash);\n }\n var qm = rest.indexOf('?');\n if (qm !== -1) {\n this.search = rest.substr(qm);\n this.query = rest.substr(qm + 1);\n if (parseQueryString) {\n this.query = querystring.parse(this.query);\n }\n rest = rest.slice(0, qm);\n } else if (parseQueryString) {\n // no query string, but parseQueryString still requested\n this.search = '';\n this.query = {};\n }\n if (rest) this.pathname = rest;\n if (slashedProtocol[lowerProto] &&\n this.hostname && !this.pathname) {\n this.pathname = '/';\n }\n\n //to support http.request\n if (this.pathname || this.search) {\n var p = this.pathname || '';\n var s = this.search || '';\n this.path = p + s;\n }\n\n // finally, reconstruct the href based on what has been validated.\n this.href = this.format();\n return this;\n};\n\n// format a parsed object into a url string\nfunction urlFormat(obj) {\n // ensure it's an object, and not a string url.\n // If it's an obj, this is a no-op.\n // this way, you can call url_format() on strings\n // to clean up potentially wonky urls.\n if (util.isString(obj)) obj = urlParse(obj);\n if (!(obj instanceof Url)) return Url.prototype.format.call(obj);\n return obj.format();\n}\n\nUrl.prototype.format = function() {\n var auth = this.auth || '';\n if (auth) {\n auth = encodeURIComponent(auth);\n auth = auth.replace(/%3A/i, ':');\n auth += '@';\n }\n\n var protocol = this.protocol || '',\n pathname = this.pathname || '',\n hash = this.hash || '',\n host = false,\n query = '';\n\n if (this.host) {\n host = auth + this.host;\n } else if (this.hostname) {\n host = auth + (this.hostname.indexOf(':') === -1 ?\n this.hostname :\n '[' + this.hostname + ']');\n if (this.port) {\n host += ':' + this.port;\n }\n }\n\n if (this.query &&\n util.isObject(this.query) &&\n Object.keys(this.query).length) {\n query = querystring.stringify(this.query);\n }\n\n var search = this.search || (query && ('?' + query)) || '';\n\n if (protocol && protocol.substr(-1) !== ':') protocol += ':';\n\n // only the slashedProtocols get the //. Not mailto:, xmpp:, etc.\n // unless they had them to begin with.\n if (this.slashes ||\n (!protocol || slashedProtocol[protocol]) && host !== false) {\n host = '//' + (host || '');\n if (pathname && pathname.charAt(0) !== '/') pathname = '/' + pathname;\n } else if (!host) {\n host = '';\n }\n\n if (hash && hash.charAt(0) !== '#') hash = '#' + hash;\n if (search && search.charAt(0) !== '?') search = '?' + search;\n\n pathname = pathname.replace(/[?#]/g, function(match) {\n return encodeURIComponent(match);\n });\n search = search.replace('#', '%23');\n\n return protocol + host + pathname + search + hash;\n};\n\nfunction urlResolve(source, relative) {\n return urlParse(source, false, true).resolve(relative);\n}\n\nUrl.prototype.resolve = function(relative) {\n return this.resolveObject(urlParse(relative, false, true)).format();\n};\n\nfunction urlResolveObject(source, relative) {\n if (!source) return relative;\n return urlParse(source, false, true).resolveObject(relative);\n}\n\nUrl.prototype.resolveObject = function(relative) {\n if (util.isString(relative)) {\n var rel = new Url();\n rel.parse(relative, false, true);\n relative = rel;\n }\n\n var result = new Url();\n var tkeys = Object.keys(this);\n for (var tk = 0; tk < tkeys.length; tk++) {\n var tkey = tkeys[tk];\n result[tkey] = this[tkey];\n }\n\n // hash is always overridden, no matter what.\n // even href=\"\" will remove it.\n result.hash = relative.hash;\n\n // if the relative url is empty, then there's nothing left to do here.\n if (relative.href === '') {\n result.href = result.format();\n return result;\n }\n\n // hrefs like //foo/bar always cut to the protocol.\n if (relative.slashes && !relative.protocol) {\n // take everything except the protocol from relative\n var rkeys = Object.keys(relative);\n for (var rk = 0; rk < rkeys.length; rk++) {\n var rkey = rkeys[rk];\n if (rkey !== 'protocol')\n result[rkey] = relative[rkey];\n }\n\n //urlParse appends trailing / to urls like http://www.example.com\n if (slashedProtocol[result.protocol] &&\n result.hostname && !result.pathname) {\n result.path = result.pathname = '/';\n }\n\n result.href = result.format();\n return result;\n }\n\n if (relative.protocol && relative.protocol !== result.protocol) {\n // if it's a known url protocol, then changing\n // the protocol does weird things\n // first, if it's not file:, then we MUST have a host,\n // and if there was a path\n // to begin with, then we MUST have a path.\n // if it is file:, then the host is dropped,\n // because that's known to be hostless.\n // anything else is assumed to be absolute.\n if (!slashedProtocol[relative.protocol]) {\n var keys = Object.keys(relative);\n for (var v = 0; v < keys.length; v++) {\n var k = keys[v];\n result[k] = relative[k];\n }\n result.href = result.format();\n return result;\n }\n\n result.protocol = relative.protocol;\n if (!relative.host && !hostlessProtocol[relative.protocol]) {\n var relPath = (relative.pathname || '').split('/');\n while (relPath.length && !(relative.host = relPath.shift()));\n if (!relative.host) relative.host = '';\n if (!relative.hostname) relative.hostname = '';\n if (relPath[0] !== '') relPath.unshift('');\n if (relPath.length < 2) relPath.unshift('');\n result.pathname = relPath.join('/');\n } else {\n result.pathname = relative.pathname;\n }\n result.search = relative.search;\n result.query = relative.query;\n result.host = relative.host || '';\n result.auth = relative.auth;\n result.hostname = relative.hostname || relative.host;\n result.port = relative.port;\n // to support http.request\n if (result.pathname || result.search) {\n var p = result.pathname || '';\n var s = result.search || '';\n result.path = p + s;\n }\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n }\n\n var isSourceAbs = (result.pathname && result.pathname.charAt(0) === '/'),\n isRelAbs = (\n relative.host ||\n relative.pathname && relative.pathname.charAt(0) === '/'\n ),\n mustEndAbs = (isRelAbs || isSourceAbs ||\n (result.host && relative.pathname)),\n removeAllDots = mustEndAbs,\n srcPath = result.pathname && result.pathname.split('/') || [],\n relPath = relative.pathname && relative.pathname.split('/') || [],\n psychotic = result.protocol && !slashedProtocol[result.protocol];\n\n // if the url is a non-slashed url, then relative\n // links like ../.. should be able\n // to crawl up to the hostname, as well. This is strange.\n // result.protocol has already been set by now.\n // Later on, put the first path part into the host field.\n if (psychotic) {\n result.hostname = '';\n result.port = null;\n if (result.host) {\n if (srcPath[0] === '') srcPath[0] = result.host;\n else srcPath.unshift(result.host);\n }\n result.host = '';\n if (relative.protocol) {\n relative.hostname = null;\n relative.port = null;\n if (relative.host) {\n if (relPath[0] === '') relPath[0] = relative.host;\n else relPath.unshift(relative.host);\n }\n relative.host = null;\n }\n mustEndAbs = mustEndAbs && (relPath[0] === '' || srcPath[0] === '');\n }\n\n if (isRelAbs) {\n // it's absolute.\n result.host = (relative.host || relative.host === '') ?\n relative.host : result.host;\n result.hostname = (relative.hostname || relative.hostname === '') ?\n relative.hostname : result.hostname;\n result.search = relative.search;\n result.query = relative.query;\n srcPath = relPath;\n // fall through to the dot-handling below.\n } else if (relPath.length) {\n // it's relative\n // throw away the existing file, and take the new path instead.\n if (!srcPath) srcPath = [];\n srcPath.pop();\n srcPath = srcPath.concat(relPath);\n result.search = relative.search;\n result.query = relative.query;\n } else if (!util.isNullOrUndefined(relative.search)) {\n // just pull out the search.\n // like href='?foo'.\n // Put this after the other two cases because it simplifies the booleans\n if (psychotic) {\n result.hostname = result.host = srcPath.shift();\n //occationaly the auth can get stuck only in host\n //this especially happens in cases like\n //url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n var authInHost = result.host && result.host.indexOf('@') > 0 ?\n result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.host = result.hostname = authInHost.shift();\n }\n }\n result.search = relative.search;\n result.query = relative.query;\n //to support http.request\n if (!util.isNull(result.pathname) || !util.isNull(result.search)) {\n result.path = (result.pathname ? result.pathname : '') +\n (result.search ? result.search : '');\n }\n result.href = result.format();\n return result;\n }\n\n if (!srcPath.length) {\n // no path at all. easy.\n // we've already handled the other stuff above.\n result.pathname = null;\n //to support http.request\n if (result.search) {\n result.path = '/' + result.search;\n } else {\n result.path = null;\n }\n result.href = result.format();\n return result;\n }\n\n // if a url ENDs in . or .., then it must get a trailing slash.\n // however, if it ends in anything else non-slashy,\n // then it must NOT get a trailing slash.\n var last = srcPath.slice(-1)[0];\n var hasTrailingSlash = (\n (result.host || relative.host || srcPath.length > 1) &&\n (last === '.' || last === '..') || last === '');\n\n // strip single dots, resolve double dots to parent dir\n // if the path tries to go above the root, `up` ends up > 0\n var up = 0;\n for (var i = srcPath.length; i >= 0; i--) {\n last = srcPath[i];\n if (last === '.') {\n srcPath.splice(i, 1);\n } else if (last === '..') {\n srcPath.splice(i, 1);\n up++;\n } else if (up) {\n srcPath.splice(i, 1);\n up--;\n }\n }\n\n // if the path is allowed to go above the root, restore leading ..s\n if (!mustEndAbs && !removeAllDots) {\n for (; up--; up) {\n srcPath.unshift('..');\n }\n }\n\n if (mustEndAbs && srcPath[0] !== '' &&\n (!srcPath[0] || srcPath[0].charAt(0) !== '/')) {\n srcPath.unshift('');\n }\n\n if (hasTrailingSlash && (srcPath.join('/').substr(-1) !== '/')) {\n srcPath.push('');\n }\n\n var isAbsolute = srcPath[0] === '' ||\n (srcPath[0] && srcPath[0].charAt(0) === '/');\n\n // put the host back\n if (psychotic) {\n result.hostname = result.host = isAbsolute ? '' :\n srcPath.length ? srcPath.shift() : '';\n //occationaly the auth can get stuck only in host\n //this especially happens in cases like\n //url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n var authInHost = result.host && result.host.indexOf('@') > 0 ?\n result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.host = result.hostname = authInHost.shift();\n }\n }\n\n mustEndAbs = mustEndAbs || (result.host && srcPath.length);\n\n if (mustEndAbs && !isAbsolute) {\n srcPath.unshift('');\n }\n\n if (!srcPath.length) {\n result.pathname = null;\n result.path = null;\n } else {\n result.pathname = srcPath.join('/');\n }\n\n //to support request.http\n if (!util.isNull(result.pathname) || !util.isNull(result.search)) {\n result.path = (result.pathname ? result.pathname : '') +\n (result.search ? result.search : '');\n }\n result.auth = relative.auth || result.auth;\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n};\n\nUrl.prototype.parseHost = function() {\n var host = this.host;\n var port = portPattern.exec(host);\n if (port) {\n port = port[0];\n if (port !== ':') {\n this.port = port.substr(1);\n }\n host = host.substr(0, host.length - port.length);\n }\n if (host) this.hostname = host;\n};\n","'use strict';\n\nmodule.exports = {\n isString: function(arg) {\n return typeof(arg) === 'string';\n },\n isObject: function(arg) {\n return typeof(arg) === 'object' && arg !== null;\n },\n isNull: function(arg) {\n return arg === null;\n },\n isNullOrUndefined: function(arg) {\n return arg == null;\n }\n};\n","\"use strict\";Object.defineProperty(exports,Symbol.toStringTag,{value:\"Module\"});const o=require(\"react\");var c=(e=>(e.Mouse=\"mouse\",e.Touch=\"touch\",e.Pointer=\"pointer\",e))(c||{}),a=(e=>(e.CancelledByMovement=\"cancelled-by-movement\",e.CancelledByRelease=\"cancelled-by-release\",e.CancelledOutsideElement=\"cancelled-outside-element\",e))(a||{});const j=()=>typeof window==\"object\"?window?.PointerEvent??null:null,Y=()=>typeof window==\"object\"?window?.TouchEvent??null:null;function D(e){const{nativeEvent:t}=e;if(!t)return!1;const s=Y();return s&&t instanceof s||\"touches\"in t}function A(e){const t=j();return e.nativeEvent instanceof MouseEvent&&!(t&&e.nativeEvent instanceof t)}function S(e){const{nativeEvent:t}=e;if(!t)return!1;const s=j();return s&&t instanceof s||\"pointerId\"in t}function R(e){return A(e)||D(e)||S(e)}function B(e){return D(e)?{x:e.touches[0].pageX,y:e.touches[0].pageY}:A(e)||S(e)?{x:e.pageX,y:e.pageY}:null}function q(e){return{target:e.target,currentTarget:e.currentTarget,nativeEvent:e,persist:()=>{}}}function I(e,{threshold:t=400,captureEvent:s=!1,detect:p=c.Pointer,cancelOnMovement:w=!1,cancelOutsideElement:P=!0,filterEvents:g,onStart:T,onMove:y,onFinish:M,onCancel:C}={}){const h=o.useRef(!1),f=o.useRef(!1),U=o.useRef(),l=o.useRef(),m=o.useRef(e),d=o.useRef(null),E=o.useCallback(n=>r=>{f.current||R(r)&&(g!==void 0&&!g(r)||(s&&r.persist(),T?.(r,{context:n}),d.current=B(r),f.current=!0,U.current=r.currentTarget,l.current=setTimeout(()=>{m.current&&(m.current(r,{context:n}),h.current=!0)},t)))},[s,g,T,t]),i=o.useCallback(n=>(r,u)=>{R(r)&&f.current&&(d.current=null,s&&r.persist(),h.current?M?.(r,{context:n}):f.current&&C?.(r,{context:n,reason:u??a.CancelledByRelease}),h.current=!1,f.current=!1,l.current!==void 0&&clearTimeout(l.current))},[s,M,C]),v=o.useCallback(n=>r=>{if(y?.(r,{context:n}),w&&d.current){const u=B(r);if(u){const b=w===!0?25:w,L={x:Math.abs(u.x-d.current.x),y:Math.abs(u.y-d.current.y)};(L.x>b||L.y>b)&&i(n)(r,a.CancelledByMovement)}}},[i,w,y]),X=o.useCallback(n=>{if(e===null)return{};switch(p){case c.Mouse:{const r={onMouseDown:E(n),onMouseMove:v(n),onMouseUp:i(n)};return P&&(r.onMouseLeave=u=>{i(n)(u,a.CancelledOutsideElement)}),r}case c.Touch:return{onTouchStart:E(n),onTouchMove:v(n),onTouchEnd:i(n)};case c.Pointer:{const r={onPointerDown:E(n),onPointerMove:v(n),onPointerUp:i(n)};return P&&(r.onPointerLeave=u=>i(n)(u,a.CancelledOutsideElement)),r}}},[e,i,P,p,v,E]);return o.useEffect(()=>{if(!window)return;function n(r){const u=q(r);i()(u)}return window.addEventListener(\"mouseup\",n),window.addEventListener(\"touchend\",n),window.addEventListener(\"pointerup\",n),()=>{window.removeEventListener(\"mouseup\",n),window.removeEventListener(\"touchend\",n),window.removeEventListener(\"pointerup\",n)}},[i]),o.useEffect(()=>()=>{l.current!==void 0&&clearTimeout(l.current)},[]),o.useEffect(()=>{m.current=e},[e]),X}exports.LongPressCallbackReason=a;exports.LongPressEventType=c;exports.useLongPress=I;\n","/**\n * This file automatically generated from `pre-publish.js`.\n * Do not manually edit.\n */\n\nmodule.exports = {\n \"area\": true,\n \"base\": true,\n \"br\": true,\n \"col\": true,\n \"embed\": true,\n \"hr\": true,\n \"img\": true,\n \"input\": true,\n \"link\": true,\n \"meta\": true,\n \"param\": true,\n \"source\": true,\n \"track\": true,\n \"wbr\": true\n};\n","/**\n * Copyright 2013 vtt.js Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n// Default exports for Node. Export the extended versions of VTTCue and\n// VTTRegion in Node since we likely want the capability to convert back and\n// forth between JSON. If we don't then it's not that big of a deal since we're\n// off browser.\nmodule.exports = {\n WebVTT: require(\"./vtt.js\").WebVTT,\n VTTCue: require(\"./vttcue-extended.js\").VTTCue,\n VTTRegion: require(\"./vttregion-extended.js\").VTTRegion\n};\n","/**\n * Copyright 2013 vtt.js Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */\n/* vim: set shiftwidth=2 tabstop=2 autoindent cindent expandtab: */\n\n(function(global) {\n function makeColorSet(color, opacity) {\n if(opacity === undefined) {\n opacity = 1;\n }\n return \"rgba(\" + [parseInt(color.substring(0, 2), 16),\n parseInt(color.substring(2, 4), 16),\n parseInt(color.substring(4, 6), 16),\n opacity].join(\",\") + \")\";\n }\n\n var WebVTTPrefs = ['webvtt.font.color', 'webvtt.font.opacity', 'webvtt.font.scale',\n 'webvtt.bg.color', 'webvtt.bg.opacity',\n 'webvtt.edge.color', 'webvtt.edge.type'];\n\n var fontScale = 1;\n\n function observe(subject, topic, data) {\n switch (data) {\n case \"webvtt.font.color\":\n case \"webvtt.font.opacity\":\n var fontColor = Services.prefs.getCharPref(\"webvtt.font.color\");\n var fontOpacity = Services.prefs.getIntPref(\"webvtt.font.opacity\") / 100;\n WebVTTSet.fontSet = makeColorSet(fontColor, fontOpacity);\n break;\n case \"webvtt.font.scale\":\n fontScale = Services.prefs.getIntPref(\"webvtt.font.scale\") / 100;\n break;\n case \"webvtt.bg.color\":\n case \"webvtt.bg.opacity\":\n var backgroundColor = Services.prefs.getCharPref(\"webvtt.bg.color\");\n var backgroundOpacity = Services.prefs.getIntPref(\"webvtt.bg.opacity\") / 100;\n WebVTTSet.backgroundSet = makeColorSet(backgroundColor, backgroundOpacity);\n break;\n case \"webvtt.edge.color\":\n case \"webvtt.edge.type\":\n var edgeTypeList = [\"\", \"0px 0px \", \"4px 4px 4px \", \"-2px -2px \", \"2px 2px \"];\n var edgeType = Services.prefs.getIntPref(\"webvtt.edge.type\");\n var edgeColor = Services.prefs.getCharPref(\"webvtt.edge.color\");\n WebVTTSet.edgeSet = edgeTypeList[edgeType] + makeColorSet(edgeColor);\n break;\n }\n }\n\n if(typeof Services !== \"undefined\") {\n var WebVTTSet = {};\n WebVTTPrefs.forEach(function (pref) {\n observe(undefined, undefined, pref);\n Services.prefs.addObserver(pref, observe, false);\n });\n }\n\n var _objCreate = Object.create || (function() {\n function F() {}\n return function(o) {\n if (arguments.length !== 1) {\n throw new Error('Object.create shim only accepts one parameter.');\n }\n F.prototype = o;\n return new F();\n };\n })();\n\n // Creates a new ParserError object from an errorData object. The errorData\n // object should have default code and message properties. The default message\n // property can be overriden by passing in a message parameter.\n // See ParsingError.Errors below for acceptable errors.\n function ParsingError(errorData, message) {\n this.name = \"ParsingError\";\n this.code = errorData.code;\n this.message = message || errorData.message;\n }\n ParsingError.prototype = _objCreate(Error.prototype);\n ParsingError.prototype.constructor = ParsingError;\n\n // ParsingError metadata for acceptable ParsingErrors.\n ParsingError.Errors = {\n BadSignature: {\n code: 0,\n message: \"Malformed WebVTT signature.\"\n },\n BadTimeStamp: {\n code: 1,\n message: \"Malformed time stamp.\"\n }\n };\n\n // Try to parse input as a time stamp.\n function parseTimeStamp(input) {\n\n function computeSeconds(h, m, s, f) {\n return (h | 0) * 3600 + (m | 0) * 60 + (s | 0) + (f | 0) / 1000;\n }\n\n var m = input.match(/^(\\d+):(\\d{2})(:\\d{2})?\\.(\\d{3})/);\n if (!m) {\n return null;\n }\n\n if (m[3]) {\n // Timestamp takes the form of [hours]:[minutes]:[seconds].[milliseconds]\n return computeSeconds(m[1], m[2], m[3].replace(\":\", \"\"), m[4]);\n } else if (m[1] > 59) {\n // Timestamp takes the form of [hours]:[minutes].[milliseconds]\n // First position is hours as it's over 59.\n return computeSeconds(m[1], m[2], 0, m[4]);\n } else {\n // Timestamp takes the form of [minutes]:[seconds].[milliseconds]\n return computeSeconds(0, m[1], m[2], m[4]);\n }\n }\n\n // A settings object holds key/value pairs and will ignore anything but the first\n // assignment to a specific key.\n function Settings() {\n this.values = _objCreate(null);\n }\n\n Settings.prototype = {\n // Only accept the first assignment to any key.\n set: function(k, v) {\n if (!this.get(k) && v !== \"\") {\n this.values[k] = v;\n }\n },\n // Return the value for a key, or a default value.\n // If 'defaultKey' is passed then 'dflt' is assumed to be an object with\n // a number of possible default values as properties where 'defaultKey' is\n // the key of the property that will be chosen; otherwise it's assumed to be\n // a single value.\n get: function(k, dflt, defaultKey) {\n if (defaultKey) {\n return this.has(k) ? this.values[k] : dflt[defaultKey];\n }\n return this.has(k) ? this.values[k] : dflt;\n },\n // Check whether we have a value for a key.\n has: function(k) {\n return k in this.values;\n },\n // Accept a setting if its one of the given alternatives.\n alt: function(k, v, a) {\n for (var n = 0; n < a.length; ++n) {\n if (v === a[n]) {\n this.set(k, v);\n break;\n }\n }\n },\n // Accept a setting if its a valid (signed) integer.\n integer: function(k, v) {\n if (/^-?\\d+$/.test(v)) { // integer\n this.set(k, parseInt(v, 10));\n }\n },\n // Accept a setting if its a valid percentage.\n percent: function(k, v) {\n var m;\n if ((m = v.match(/^([\\d]{1,3})(\\.[\\d]*)?%$/))) {\n v = parseFloat(v);\n if (v >= 0 && v <= 100) {\n this.set(k, v);\n return true;\n }\n }\n return false;\n }\n };\n\n // Helper function to parse input into groups separated by 'groupDelim', and\n // interprete each group as a key/value pair separated by 'keyValueDelim'.\n function parseOptions(input, callback, keyValueDelim, groupDelim) {\n var groups = groupDelim ? input.split(groupDelim) : [input];\n for (var i in groups) {\n if (typeof groups[i] !== \"string\") {\n continue;\n }\n var kv = groups[i].split(keyValueDelim);\n if (kv.length !== 2) {\n continue;\n }\n var k = kv[0];\n var v = kv[1];\n callback(k, v);\n }\n }\n\n function parseCue(input, cue, regionList, successCb, errCb) {\n // Remember the original input if we need to throw an error.\n var oInput = input;\n // 4.1 WebVTT timestamp\n function consumeTimeStamp() {\n var ts = parseTimeStamp(input);\n if (ts === null) {\n if (errCb) {\n errCb(new ParsingError(ParsingError.Errors.BadTimeStamp,\n \"Malformed timestamp: \" + oInput));\n return;\n }\n }\n // Remove time stamp from input.\n input = input.replace(/^[^\\sa-zA-Z-]+/, \"\");\n return ts;\n }\n\n // 4.4.2 WebVTT cue settings\n function consumeCueSettings(input, cue) {\n var settings = new Settings();\n\n parseOptions(input, function (k, v) {\n switch (k) {\n case \"region\":\n // Find the last region we parsed with the same region id.\n for (var i = regionList.length - 1; i >= 0; i--) {\n if (regionList[i].id === v) {\n settings.set(k, regionList[i].region);\n break;\n }\n }\n break;\n case \"vertical\":\n settings.alt(k, v, [\"rl\", \"lr\"]);\n break;\n case \"line\":\n var vals = v.split(\",\"),\n vals0 = vals[0];\n settings.integer(k, vals0);\n settings.percent(k, vals0) ? settings.set(\"snapToLines\", false) : null;\n settings.alt(k, vals0, [\"auto\"]);\n if (vals.length === 2) {\n settings.alt(\"lineAlign\", vals[1], [\"start\", \"middle\", \"end\"]);\n }\n break;\n case \"position\":\n vals = v.split(\",\");\n settings.percent(k, vals[0]);\n if (vals.length === 2) {\n settings.alt(\"positionAlign\", vals[1], [\"start\", \"middle\", \"end\"]);\n }\n break;\n case \"size\":\n settings.percent(k, v);\n break;\n case \"align\":\n settings.alt(k, v, [\"start\", \"middle\", \"end\", \"left\", \"right\"]);\n break;\n }\n }, /:/, /\\s/);\n\n // Apply default values for any missing fields.\n cue.region = settings.get(\"region\", null);\n cue.vertical = settings.get(\"vertical\", \"\");\n cue.line = settings.get(\"line\", \"auto\");\n cue.lineAlign = settings.get(\"lineAlign\", \"start\");\n cue.snapToLines = settings.get(\"snapToLines\", true);\n cue.size = settings.get(\"size\", 100);\n cue.align = settings.get(\"align\", \"center\");\n cue.position = settings.get(\"position\", \"auto\");\n cue.positionAlign = settings.get(\"positionAlign\", {\n start: \"start\",\n left: \"start\",\n middle: \"middle\",\n end: \"end\",\n right: \"end\",\n center: \"center\"\n }, cue.align);\n\n successCb();\n }\n\n function skipWhitespace() {\n input = input.replace(/^\\s+/, \"\");\n }\n\n // 4.1 WebVTT cue timings.\n skipWhitespace();\n\n var timestamp = consumeTimeStamp()\n if (timestamp === undefined) return\n cue.startTime = timestamp; // (1) collect cue start time\n skipWhitespace();\n if (input.substr(0, 3) !== \"-->\") {\n // (3) next characters must match \"-->\"\n errCb(new ParsingError(ParsingError.Errors.BadTimeStamp,\n \"Malformed time stamp (time stamps must be separated by '-->'): \" +\n oInput));\n return;\n }\n input = input.substr(3);\n skipWhitespace();\n var timestamp = consumeTimeStamp()\n if (timestamp === undefined) return\n cue.endTime = timestamp; // (5) collect cue end time\n\n // 4.1 WebVTT cue settings list.\n skipWhitespace();\n consumeCueSettings(input, cue);\n }\n\n var ESCAPE = {\n \"&amp;\": \"&\",\n \"&lt;\": \"<\",\n \"&gt;\": \">\",\n \"&lrm;\": \"\\u200e\",\n \"&rlm;\": \"\\u200f\",\n \"&nbsp;\": \"\\u00a0\"\n };\n\n var TAG_NAME = {\n c: \"span\",\n i: \"i\",\n b: \"b\",\n u: \"u\",\n ruby: \"ruby\",\n rt: \"rt\",\n v: \"span\",\n lang: \"span\"\n };\n\n var TAG_ANNOTATION = {\n v: \"title\",\n lang: \"lang\"\n };\n\n var NEEDS_PARENT = {\n rt: \"ruby\"\n };\n\n // Parse content into a document fragment.\n function parseContent(window, input) {\n function nextToken() {\n // Check for end-of-string.\n if (!input) {\n return null;\n }\n\n // Consume 'n' characters from the input.\n function consume(result) {\n input = input.substr(result.length);\n return result;\n }\n\n var m = input.match(/^([^<]*)(<[^>]+>?)?/);\n // If there is some text before the next tag, return it, otherwise return\n // the tag.\n return consume(m[1] ? m[1] : m[2]);\n }\n\n // Unescape a string 's'.\n function unescape1(e) {\n return ESCAPE[e];\n }\n function unescape(s) {\n while ((m = s.match(/&(amp|lt|gt|lrm|rlm|nbsp);/))) {\n s = s.replace(m[0], unescape1);\n }\n return s;\n }\n\n function shouldAdd(current, element) {\n return !NEEDS_PARENT[element.localName] ||\n NEEDS_PARENT[element.localName] === current.localName;\n }\n\n // Create an element for this tag.\n function createElement(type, annotation) {\n var tagName = TAG_NAME[type];\n if (!tagName) {\n return null;\n }\n var element = window.document.createElement(tagName);\n element.localName = tagName;\n var name = TAG_ANNOTATION[type];\n if (name && annotation) {\n element[name] = annotation.trim();\n }\n return element;\n }\n\n var rootDiv = window.document.createElement(\"div\"),\n current = rootDiv,\n t,\n tagStack = [];\n\n while ((t = nextToken()) !== null) {\n if (t[0] === '<') {\n if (t[1] === \"/\") {\n // If the closing tag matches, move back up to the parent node.\n if (tagStack.length &&\n tagStack[tagStack.length - 1] === t.substr(2).replace(\">\", \"\")) {\n tagStack.pop();\n current = current.parentNode;\n }\n // Otherwise just ignore the end tag.\n continue;\n }\n var ts = parseTimeStamp(t.substr(1, t.length - 2));\n var node;\n if (ts) {\n // Timestamps are lead nodes as well.\n node = window.document.createProcessingInstruction(\"timestamp\", ts);\n current.appendChild(node);\n continue;\n }\n var m = t.match(/^<([^.\\s/0-9>]+)(\\.[^\\s\\\\>]+)?([^>\\\\]+)?(\\\\?)>?$/);\n // If we can't parse the tag, skip to the next tag.\n if (!m) {\n continue;\n }\n // Try to construct an element, and ignore the tag if we couldn't.\n node = createElement(m[1], m[3]);\n if (!node) {\n continue;\n }\n // Determine if the tag should be added based on the context of where it\n // is placed in the cuetext.\n if (!shouldAdd(current, node)) {\n continue;\n }\n // Set the class list (as a list of classes, separated by space).\n if (m[2]) {\n node.className = m[2].substr(1).replace('.', ' ');\n }\n // Append the node to the current node, and enter the scope of the new\n // node.\n tagStack.push(m[1]);\n current.appendChild(node);\n current = node;\n continue;\n }\n\n // Text nodes are leaf nodes.\n current.appendChild(window.document.createTextNode(unescape(t)));\n }\n\n return rootDiv;\n }\n\n // This is a list of all the Unicode characters that have a strong\n // right-to-left category. What this means is that these characters are\n // written right-to-left for sure. It was generated by pulling all the strong\n // right-to-left characters out of the Unicode data table. That table can\n // found at: http://www.unicode.org/Public/UNIDATA/UnicodeData.txt\n var strongRTLRanges = [[0x5be, 0x5be], [0x5c0, 0x5c0], [0x5c3, 0x5c3], [0x5c6, 0x5c6],\n [0x5d0, 0x5ea], [0x5f0, 0x5f4], [0x608, 0x608], [0x60b, 0x60b], [0x60d, 0x60d],\n [0x61b, 0x61b], [0x61e, 0x64a], [0x66d, 0x66f], [0x671, 0x6d5], [0x6e5, 0x6e6],\n [0x6ee, 0x6ef], [0x6fa, 0x70d], [0x70f, 0x710], [0x712, 0x72f], [0x74d, 0x7a5],\n [0x7b1, 0x7b1], [0x7c0, 0x7ea], [0x7f4, 0x7f5], [0x7fa, 0x7fa], [0x800, 0x815],\n [0x81a, 0x81a], [0x824, 0x824], [0x828, 0x828], [0x830, 0x83e], [0x840, 0x858],\n [0x85e, 0x85e], [0x8a0, 0x8a0], [0x8a2, 0x8ac], [0x200f, 0x200f],\n [0xfb1d, 0xfb1d], [0xfb1f, 0xfb28], [0xfb2a, 0xfb36], [0xfb38, 0xfb3c],\n [0xfb3e, 0xfb3e], [0xfb40, 0xfb41], [0xfb43, 0xfb44], [0xfb46, 0xfbc1],\n [0xfbd3, 0xfd3d], [0xfd50, 0xfd8f], [0xfd92, 0xfdc7], [0xfdf0, 0xfdfc],\n [0xfe70, 0xfe74], [0xfe76, 0xfefc], [0x10800, 0x10805], [0x10808, 0x10808],\n [0x1080a, 0x10835], [0x10837, 0x10838], [0x1083c, 0x1083c], [0x1083f, 0x10855],\n [0x10857, 0x1085f], [0x10900, 0x1091b], [0x10920, 0x10939], [0x1093f, 0x1093f],\n [0x10980, 0x109b7], [0x109be, 0x109bf], [0x10a00, 0x10a00], [0x10a10, 0x10a13],\n [0x10a15, 0x10a17], [0x10a19, 0x10a33], [0x10a40, 0x10a47], [0x10a50, 0x10a58],\n [0x10a60, 0x10a7f], [0x10b00, 0x10b35], [0x10b40, 0x10b55], [0x10b58, 0x10b72],\n [0x10b78, 0x10b7f], [0x10c00, 0x10c48], [0x1ee00, 0x1ee03], [0x1ee05, 0x1ee1f],\n [0x1ee21, 0x1ee22], [0x1ee24, 0x1ee24], [0x1ee27, 0x1ee27], [0x1ee29, 0x1ee32],\n [0x1ee34, 0x1ee37], [0x1ee39, 0x1ee39], [0x1ee3b, 0x1ee3b], [0x1ee42, 0x1ee42],\n [0x1ee47, 0x1ee47], [0x1ee49, 0x1ee49], [0x1ee4b, 0x1ee4b], [0x1ee4d, 0x1ee4f],\n [0x1ee51, 0x1ee52], [0x1ee54, 0x1ee54], [0x1ee57, 0x1ee57], [0x1ee59, 0x1ee59],\n [0x1ee5b, 0x1ee5b], [0x1ee5d, 0x1ee5d], [0x1ee5f, 0x1ee5f], [0x1ee61, 0x1ee62],\n [0x1ee64, 0x1ee64], [0x1ee67, 0x1ee6a], [0x1ee6c, 0x1ee72], [0x1ee74, 0x1ee77],\n [0x1ee79, 0x1ee7c], [0x1ee7e, 0x1ee7e], [0x1ee80, 0x1ee89], [0x1ee8b, 0x1ee9b],\n [0x1eea1, 0x1eea3], [0x1eea5, 0x1eea9], [0x1eeab, 0x1eebb], [0x10fffd, 0x10fffd]];\n\n function isStrongRTLChar(charCode) {\n for (var i = 0; i < strongRTLRanges.length; i++) {\n var currentRange = strongRTLRanges[i];\n if (charCode >= currentRange[0] && charCode <= currentRange[1]) {\n return true;\n }\n }\n\n return false;\n }\n\n function determineBidi(cueDiv) {\n var nodeStack = [],\n text = \"\",\n charCode;\n\n if (!cueDiv || !cueDiv.childNodes) {\n return \"ltr\";\n }\n\n function pushNodes(nodeStack, node) {\n for (var i = node.childNodes.length - 1; i >= 0; i--) {\n nodeStack.push(node.childNodes[i]);\n }\n }\n\n function nextTextNode(nodeStack) {\n if (!nodeStack || !nodeStack.length) {\n return null;\n }\n\n var node = nodeStack.pop(),\n text = node.textContent || node.innerText;\n if (text) {\n // TODO: This should match all unicode type B characters (paragraph\n // separator characters). See issue #115.\n var m = text.match(/^.*(\\n|\\r)/);\n if (m) {\n nodeStack.length = 0;\n return m[0];\n }\n return text;\n }\n if (node.tagName === \"ruby\") {\n return nextTextNode(nodeStack);\n }\n if (node.childNodes) {\n pushNodes(nodeStack, node);\n return nextTextNode(nodeStack);\n }\n }\n\n pushNodes(nodeStack, cueDiv);\n while ((text = nextTextNode(nodeStack))) {\n for (var i = 0; i < text.length; i++) {\n charCode = text.charCodeAt(i);\n if (isStrongRTLChar(charCode)) {\n return \"rtl\";\n }\n }\n }\n return \"ltr\";\n }\n\n function computeLinePos(cue) {\n if (typeof cue.line === \"number\" &&\n (cue.snapToLines || (cue.line >= 0 && cue.line <= 100))) {\n return cue.line;\n }\n if (!cue.track || !cue.track.textTrackList ||\n !cue.track.textTrackList.mediaElement) {\n return -1;\n }\n var track = cue.track,\n trackList = track.textTrackList,\n count = 0;\n for (var i = 0; i < trackList.length && trackList[i] !== track; i++) {\n if (trackList[i].mode === \"showing\") {\n count++;\n }\n }\n return ++count * -1;\n }\n\n function StyleBox() {\n }\n\n // Apply styles to a div. If there is no div passed then it defaults to the\n // div on 'this'.\n StyleBox.prototype.applyStyles = function(styles, div) {\n div = div || this.div;\n for (var prop in styles) {\n if (styles.hasOwnProperty(prop)) {\n div.style[prop] = styles[prop];\n }\n }\n };\n\n StyleBox.prototype.formatStyle = function(val, unit) {\n return val === 0 ? 0 : val + unit;\n };\n\n // Constructs the computed display state of the cue (a div). Places the div\n // into the overlay which should be a block level element (usually a div).\n function CueStyleBox(window, cue, styleOptions) {\n var isIE8 = (typeof navigator !== \"undefined\") &&\n (/MSIE\\s8\\.0/).test(navigator.userAgent);\n var color = \"rgba(255, 255, 255, 1)\";\n var backgroundColor = \"rgba(0, 0, 0, 0.8)\";\n var textShadow = \"\";\n\n if(typeof WebVTTSet !== \"undefined\") {\n color = WebVTTSet.fontSet;\n backgroundColor = WebVTTSet.backgroundSet;\n textShadow = WebVTTSet.edgeSet;\n }\n\n if (isIE8) {\n color = \"rgb(255, 255, 255)\";\n backgroundColor = \"rgb(0, 0, 0)\";\n }\n\n StyleBox.call(this);\n this.cue = cue;\n\n // Parse our cue's text into a DOM tree rooted at 'cueDiv'. This div will\n // have inline positioning and will function as the cue background box.\n this.cueDiv = parseContent(window, cue.text);\n var styles = {\n color: color,\n backgroundColor: backgroundColor,\n textShadow: textShadow,\n position: \"relative\",\n left: 0,\n right: 0,\n top: 0,\n bottom: 0,\n display: \"inline\"\n };\n\n if (!isIE8) {\n styles.writingMode = cue.vertical === \"\" ? \"horizontal-tb\"\n : cue.vertical === \"lr\" ? \"vertical-lr\"\n : \"vertical-rl\";\n styles.unicodeBidi = \"plaintext\";\n }\n this.applyStyles(styles, this.cueDiv);\n\n // Create an absolutely positioned div that will be used to position the cue\n // div. Note, all WebVTT cue-setting alignments are equivalent to the CSS\n // mirrors of them except \"middle\" which is \"center\" in CSS.\n this.div = window.document.createElement(\"div\");\n styles = {\n textAlign: cue.align === \"middle\" ? \"center\" : cue.align,\n font: styleOptions.font,\n whiteSpace: \"pre-line\",\n position: \"absolute\"\n };\n\n if (!isIE8) {\n styles.direction = determineBidi(this.cueDiv);\n styles.writingMode = cue.vertical === \"\" ? \"horizontal-tb\"\n : cue.vertical === \"lr\" ? \"vertical-lr\"\n : \"vertical-rl\".\n stylesunicodeBidi = \"plaintext\";\n }\n\n this.applyStyles(styles);\n\n this.div.appendChild(this.cueDiv);\n\n // Calculate the distance from the reference edge of the viewport to the text\n // position of the cue box. The reference edge will be resolved later when\n // the box orientation styles are applied.\n var textPos = 0;\n switch (cue.positionAlign) {\n case \"start\":\n textPos = cue.position;\n break;\n case \"middle\":\n textPos = cue.position - (cue.size / 2);\n break;\n case \"end\":\n textPos = cue.position - cue.size;\n break;\n }\n\n // Horizontal box orientation; textPos is the distance from the left edge of the\n // area to the left edge of the box and cue.size is the distance extending to\n // the right from there.\n if (cue.vertical === \"\") {\n this.applyStyles({\n left: this.formatStyle(textPos, \"%\"),\n width: this.formatStyle(cue.size, \"%\")\n });\n // Vertical box orientation; textPos is the distance from the top edge of the\n // area to the top edge of the box and cue.size is the height extending\n // downwards from there.\n } else {\n this.applyStyles({\n top: this.formatStyle(textPos, \"%\"),\n height: this.formatStyle(cue.size, \"%\")\n });\n }\n\n this.move = function(box) {\n this.applyStyles({\n top: this.formatStyle(box.top, \"px\"),\n bottom: this.formatStyle(box.bottom, \"px\"),\n left: this.formatStyle(box.left, \"px\"),\n right: this.formatStyle(box.right, \"px\"),\n height: this.formatStyle(box.height, \"px\"),\n width: this.formatStyle(box.width, \"px\")\n });\n };\n }\n CueStyleBox.prototype = _objCreate(StyleBox.prototype);\n CueStyleBox.prototype.constructor = CueStyleBox;\n\n // Represents the co-ordinates of an Element in a way that we can easily\n // compute things with such as if it overlaps or intersects with another Element.\n // Can initialize it with either a StyleBox or another BoxPosition.\n function BoxPosition(obj) {\n var isIE8 = (typeof navigator !== \"undefined\") &&\n (/MSIE\\s8\\.0/).test(navigator.userAgent);\n\n // Either a BoxPosition was passed in and we need to copy it, or a StyleBox\n // was passed in and we need to copy the results of 'getBoundingClientRect'\n // as the object returned is readonly. All co-ordinate values are in reference\n // to the viewport origin (top left).\n var lh, height, width, top;\n if (obj.div) {\n height = obj.div.offsetHeight;\n width = obj.div.offsetWidth;\n top = obj.div.offsetTop;\n\n var rects = (rects = obj.div.childNodes) && (rects = rects[0]) &&\n rects.getClientRects && rects.getClientRects();\n obj = obj.div.getBoundingClientRect();\n // In certain cases the outter div will be slightly larger then the sum of\n // the inner div's lines. This could be due to bold text, etc, on some platforms.\n // In this case we should get the average line height and use that. This will\n // result in the desired behaviour.\n lh = rects ? Math.max((rects[0] && rects[0].height) || 0, obj.height / rects.length)\n : 0;\n\n }\n this.left = obj.left;\n this.right = obj.right;\n this.top = obj.top || top;\n this.height = obj.height || height;\n this.bottom = obj.bottom || (top + (obj.height || height));\n this.width = obj.width || width;\n this.lineHeight = lh !== undefined ? lh : obj.lineHeight;\n\n if (isIE8 && !this.lineHeight) {\n this.lineHeight = 13;\n }\n }\n\n // Move the box along a particular axis. Optionally pass in an amount to move\n // the box. If no amount is passed then the default is the line height of the\n // box.\n BoxPosition.prototype.move = function(axis, toMove) {\n toMove = toMove !== undefined ? toMove : this.lineHeight;\n switch (axis) {\n case \"+x\":\n this.left += toMove;\n this.right += toMove;\n break;\n case \"-x\":\n this.left -= toMove;\n this.right -= toMove;\n break;\n case \"+y\":\n this.top += toMove;\n this.bottom += toMove;\n break;\n case \"-y\":\n this.top -= toMove;\n this.bottom -= toMove;\n break;\n }\n };\n\n // Check if this box overlaps another box, b2.\n BoxPosition.prototype.overlaps = function(b2) {\n return this.left < b2.right &&\n this.right > b2.left &&\n this.top < b2.bottom &&\n this.bottom > b2.top;\n };\n\n // Check if this box overlaps any other boxes in boxes.\n BoxPosition.prototype.overlapsAny = function(boxes) {\n for (var i = 0; i < boxes.length; i++) {\n if (this.overlaps(boxes[i])) {\n return true;\n }\n }\n return false;\n };\n\n // Check if this box is within another box.\n BoxPosition.prototype.within = function(container) {\n return this.top >= container.top &&\n this.bottom <= container.bottom &&\n this.left >= container.left &&\n this.right <= container.right;\n };\n\n // Check if this box is entirely within the container or it is overlapping\n // on the edge opposite of the axis direction passed. For example, if \"+x\" is\n // passed and the box is overlapping on the left edge of the container, then\n // return true.\n BoxPosition.prototype.overlapsOppositeAxis = function(container, axis) {\n switch (axis) {\n case \"+x\":\n return this.left < container.left;\n case \"-x\":\n return this.right > container.right;\n case \"+y\":\n return this.top < container.top;\n case \"-y\":\n return this.bottom > container.bottom;\n }\n };\n\n // Find the percentage of the area that this box is overlapping with another\n // box.\n BoxPosition.prototype.intersectPercentage = function(b2) {\n var x = Math.max(0, Math.min(this.right, b2.right) - Math.max(this.left, b2.left)),\n y = Math.max(0, Math.min(this.bottom, b2.bottom) - Math.max(this.top, b2.top)),\n intersectArea = x * y;\n return intersectArea / (this.height * this.width);\n };\n\n // Convert the positions from this box to CSS compatible positions using\n // the reference container's positions. This has to be done because this\n // box's positions are in reference to the viewport origin, whereas, CSS\n // values are in referecne to their respective edges.\n BoxPosition.prototype.toCSSCompatValues = function(reference) {\n return {\n top: this.top - reference.top,\n bottom: reference.bottom - this.bottom,\n left: this.left - reference.left,\n right: reference.right - this.right,\n height: this.height,\n width: this.width\n };\n };\n\n // Get an object that represents the box's position without anything extra.\n // Can pass a StyleBox, HTMLElement, or another BoxPositon.\n BoxPosition.getSimpleBoxPosition = function(obj) {\n var height = obj.div ? obj.div.offsetHeight : obj.tagName ? obj.offsetHeight : 0;\n var width = obj.div ? obj.div.offsetWidth : obj.tagName ? obj.offsetWidth : 0;\n var top = obj.div ? obj.div.offsetTop : obj.tagName ? obj.offsetTop : 0;\n\n obj = obj.div ? obj.div.getBoundingClientRect() :\n obj.tagName ? obj.getBoundingClientRect() : obj;\n var ret = {\n left: obj.left,\n right: obj.right,\n top: obj.top || top,\n height: obj.height || height,\n bottom: obj.bottom || (top + (obj.height || height)),\n width: obj.width || width\n };\n return ret;\n };\n\n // Move a StyleBox to its specified, or next best, position. The containerBox\n // is the box that contains the StyleBox, such as a div. boxPositions are\n // a list of other boxes that the styleBox can't overlap with.\n function moveBoxToLinePosition(window, styleBox, containerBox, boxPositions) {\n\n // Find the best position for a cue box, b, on the video. The axis parameter\n // is a list of axis, the order of which, it will move the box along. For example:\n // Passing [\"+x\", \"-x\"] will move the box first along the x axis in the positive\n // direction. If it doesn't find a good position for it there it will then move\n // it along the x axis in the negative direction.\n function findBestPosition(b, axis) {\n var bestPosition,\n specifiedPosition = new BoxPosition(b),\n percentage = 1; // Highest possible so the first thing we get is better.\n\n for (var i = 0; i < axis.length; i++) {\n while (b.overlapsOppositeAxis(containerBox, axis[i]) ||\n (b.within(containerBox) && b.overlapsAny(boxPositions))) {\n b.move(axis[i]);\n }\n // We found a spot where we aren't overlapping anything. This is our\n // best position.\n if (b.within(containerBox)) {\n return b;\n }\n var p = b.intersectPercentage(containerBox);\n // If we're outside the container box less then we were on our last try\n // then remember this position as the best position.\n if (percentage > p) {\n bestPosition = new BoxPosition(b);\n percentage = p;\n }\n // Reset the box position to the specified position.\n b = new BoxPosition(specifiedPosition);\n }\n return bestPosition || specifiedPosition;\n }\n\n var boxPosition = new BoxPosition(styleBox),\n cue = styleBox.cue,\n linePos = computeLinePos(cue),\n axis = [];\n\n // If we have a line number to align the cue to.\n if (cue.snapToLines) {\n var size;\n switch (cue.vertical) {\n case \"\":\n axis = [ \"+y\", \"-y\" ];\n size = \"height\";\n break;\n case \"rl\":\n axis = [ \"+x\", \"-x\" ];\n size = \"width\";\n break;\n case \"lr\":\n axis = [ \"-x\", \"+x\" ];\n size = \"width\";\n break;\n }\n\n var step = boxPosition.lineHeight,\n position = step * Math.round(linePos),\n maxPosition = containerBox[size] + step,\n initialAxis = axis[0];\n\n // If the specified intial position is greater then the max position then\n // clamp the box to the amount of steps it would take for the box to\n // reach the max position.\n if (Math.abs(position) > maxPosition) {\n position = position < 0 ? -1 : 1;\n position *= Math.ceil(maxPosition / step) * step;\n }\n\n // If computed line position returns negative then line numbers are\n // relative to the bottom of the video instead of the top. Therefore, we\n // need to increase our initial position by the length or width of the\n // video, depending on the writing direction, and reverse our axis directions.\n if (linePos < 0) {\n position += cue.vertical === \"\" ? containerBox.height : containerBox.width;\n axis = axis.reverse();\n }\n\n // Move the box to the specified position. This may not be its best\n // position.\n boxPosition.move(initialAxis, position);\n\n } else {\n // If we have a percentage line value for the cue.\n var calculatedPercentage = (boxPosition.lineHeight / containerBox.height) * 100;\n\n switch (cue.lineAlign) {\n case \"middle\":\n linePos -= (calculatedPercentage / 2);\n break;\n case \"end\":\n linePos -= calculatedPercentage;\n break;\n }\n\n // Apply initial line position to the cue box.\n switch (cue.vertical) {\n case \"\":\n styleBox.applyStyles({\n top: styleBox.formatStyle(linePos, \"%\")\n });\n break;\n case \"rl\":\n styleBox.applyStyles({\n left: styleBox.formatStyle(linePos, \"%\")\n });\n break;\n case \"lr\":\n styleBox.applyStyles({\n right: styleBox.formatStyle(linePos, \"%\")\n });\n break;\n }\n\n axis = [ \"+y\", \"-x\", \"+x\", \"-y\" ];\n\n // Get the box position again after we've applied the specified positioning\n // to it.\n boxPosition = new BoxPosition(styleBox);\n }\n\n var bestPosition = findBestPosition(boxPosition, axis);\n styleBox.move(bestPosition.toCSSCompatValues(containerBox));\n }\n\n function WebVTT() {\n // Nothing\n }\n\n // Helper to allow strings to be decoded instead of the default binary utf8 data.\n WebVTT.StringDecoder = function() {\n return {\n decode: function(data) {\n if (!data) {\n return \"\";\n }\n if (typeof data !== \"string\") {\n throw new Error(\"Error - expected string data.\");\n }\n return decodeURIComponent(encodeURIComponent(data));\n }\n };\n };\n\n WebVTT.convertCueToDOMTree = function(window, cuetext) {\n if (!window || !cuetext) {\n return null;\n }\n return parseContent(window, cuetext);\n };\n\n var FONT_SIZE_PERCENT = 0.05;\n var FONT_STYLE = \"sans-serif\";\n var CUE_BACKGROUND_PADDING = \"1.5%\";\n\n // Runs the processing model over the cues and regions passed to it.\n // @param overlay A block level element (usually a div) that the computed cues\n // and regions will be placed into.\n WebVTT.processCues = function(window, cues, overlay) {\n if (!window || !cues || !overlay) {\n return null;\n }\n\n // Remove all previous children.\n while (overlay.firstChild) {\n overlay.removeChild(overlay.firstChild);\n }\n\n var paddedOverlay = window.document.createElement(\"div\");\n paddedOverlay.style.position = \"absolute\";\n paddedOverlay.style.left = \"0\";\n paddedOverlay.style.right = \"0\";\n paddedOverlay.style.top = \"0\";\n paddedOverlay.style.bottom = \"0\";\n paddedOverlay.style.margin = CUE_BACKGROUND_PADDING;\n overlay.appendChild(paddedOverlay);\n\n // Determine if we need to compute the display states of the cues. This could\n // be the case if a cue's state has been changed since the last computation or\n // if it has not been computed yet.\n function shouldCompute(cues) {\n for (var i = 0; i < cues.length; i++) {\n if (cues[i].hasBeenReset || !cues[i].displayState) {\n return true;\n }\n }\n return false;\n }\n\n // We don't need to recompute the cues' display states. Just reuse them.\n if (!shouldCompute(cues)) {\n for (var i = 0; i < cues.length; i++) {\n paddedOverlay.appendChild(cues[i].displayState);\n }\n return;\n }\n\n var boxPositions = [],\n containerBox = BoxPosition.getSimpleBoxPosition(paddedOverlay),\n fontSize = Math.round(containerBox.height * FONT_SIZE_PERCENT * 100) / 100;\n var styleOptions = {\n font: (fontSize * fontScale) + \"px \" + FONT_STYLE\n };\n\n (function() {\n var styleBox, cue;\n\n for (var i = 0; i < cues.length; i++) {\n cue = cues[i];\n\n // Compute the intial position and styles of the cue div.\n styleBox = new CueStyleBox(window, cue, styleOptions);\n paddedOverlay.appendChild(styleBox.div);\n\n // Move the cue div to it's correct line position.\n moveBoxToLinePosition(window, styleBox, containerBox, boxPositions);\n\n // Remember the computed div so that we don't have to recompute it later\n // if we don't have too.\n cue.displayState = styleBox.div;\n\n boxPositions.push(BoxPosition.getSimpleBoxPosition(styleBox));\n }\n })();\n };\n\n WebVTT.Parser = function(window, decoder, VTTCue) {\n this.window = window;\n this.state = \"INITIAL\";\n this.buffer = \"\";\n this.decoder = decoder || new TextDecoder(\"utf8\");\n this.regionList = [];\n this.VTTCue = VTTCue\n };\n\n WebVTT.Parser.prototype = {\n // If the error is a ParsingError then report it to the consumer if\n // possible. If it's not a ParsingError then throw it like normal.\n reportOrThrowError: function(e) {\n if (e instanceof ParsingError) {\n this.onparsingerror && this.onparsingerror(e);\n } else {\n throw e;\n }\n },\n parse: function (data) {\n var self = this;\n\n // If there is no data then we won't decode it, but will just try to parse\n // whatever is in buffer already. This may occur in circumstances, for\n // example when flush() is called.\n if (data) {\n // Try to decode the data that we received.\n self.buffer += self.decoder.decode(data, {stream: true});\n }\n\n function collectNextLine() {\n var buffer = self.buffer;\n var pos = 0;\n while (pos < buffer.length && buffer[pos] !== '\\r' && buffer[pos] !== '\\n') {\n ++pos;\n }\n var line = buffer.substr(0, pos);\n // Advance the buffer early in case we fail below.\n if (buffer[pos] === '\\r') {\n ++pos;\n }\n if (buffer[pos] === '\\n') {\n ++pos;\n }\n self.buffer = buffer.substr(pos);\n return line;\n }\n\n // 3.4 WebVTT region and WebVTT region settings syntax\n function parseRegion(input) {\n var settings = new Settings();\n\n parseOptions(input, function (k, v) {\n switch (k) {\n case \"id\":\n settings.set(k, v);\n break;\n case \"width\":\n settings.percent(k, v);\n break;\n case \"lines\":\n settings.integer(k, v);\n break;\n case \"regionanchor\":\n case \"viewportanchor\":\n var xy = v.split(',');\n if (xy.length !== 2) {\n break;\n }\n // We have to make sure both x and y parse, so use a temporary\n // settings object here.\n var anchor = new Settings();\n anchor.percent(\"x\", xy[0]);\n anchor.percent(\"y\", xy[1]);\n if (!anchor.has(\"x\") || !anchor.has(\"y\")) {\n break;\n }\n settings.set(k + \"X\", anchor.get(\"x\"));\n settings.set(k + \"Y\", anchor.get(\"y\"));\n break;\n case \"scroll\":\n settings.alt(k, v, [\"up\"]);\n break;\n }\n }, /=/, /\\s/);\n\n // Create the region, using default values for any values that were not\n // specified.\n if (settings.has(\"id\")) {\n var region = new self.window.VTTRegion();\n region.width = settings.get(\"width\", 100);\n region.lines = settings.get(\"lines\", 3);\n region.regionAnchorX = settings.get(\"regionanchorX\", 0);\n region.regionAnchorY = settings.get(\"regionanchorY\", 100);\n region.viewportAnchorX = settings.get(\"viewportanchorX\", 0);\n region.viewportAnchorY = settings.get(\"viewportanchorY\", 100);\n region.scroll = settings.get(\"scroll\", \"\");\n // Register the region.\n self.onregion && self.onregion(region);\n // Remember the VTTRegion for later in case we parse any VTTCues that\n // reference it.\n self.regionList.push({\n id: settings.get(\"id\"),\n region: region\n });\n }\n }\n\n // draft-pantos-http-live-streaming-20\n // https://tools.ietf.org/html/draft-pantos-http-live-streaming-20#section-3.5\n // 3.5 WebVTT\n function parseTimestampMap(input) {\n var settings = new Settings();\n\n parseOptions(input, function(k, v) {\n switch (k) {\n case \"MPEGT\":\n settings.integer(k + 'S', v);\n break;\n case \"LOCA\":\n settings.set(k + 'L', parseTimeStamp(v));\n break;\n }\n }, /[^\\d]:/, /,/);\n\n self.ontimestampmap && self.ontimestampmap({\n \"MPEGTS\": settings.get(\"MPEGTS\"),\n \"LOCAL\": settings.get(\"LOCAL\")\n });\n }\n\n // 3.2 WebVTT metadata header syntax\n function parseHeader(input) {\n if (input.match(/X-TIMESTAMP-MAP/)) {\n // This line contains HLS X-TIMESTAMP-MAP metadata\n parseOptions(input, function(k, v) {\n switch (k) {\n case \"X-TIMESTAMP-MAP\":\n parseTimestampMap(v);\n break;\n }\n }, /=/);\n } else {\n parseOptions(input, function (k, v) {\n switch (k) {\n case \"Region\":\n // 3.3 WebVTT region metadata header syntax\n parseRegion(v);\n break;\n }\n }, /:/);\n }\n }\n\n // 5.1 WebVTT file parsing.\n\n function fail(e) {\n\n self.reportOrThrowError(e);\n\n // If we are currently parsing a cue, report what we have.\n if (self.state === \"CUETEXT\" && self.cue && self.oncue) {\n self.oncue(self.cue);\n }\n self.cue = null;\n // Enter BADWEBVTT state if header was not parsed correctly otherwise\n // another exception occurred so enter BADCUE state.\n self.state = self.state === \"INITIAL\" ? \"BADWEBVTT\" : \"BADCUE\";\n\n }\n\n var line;\n\n if (self.state === \"INITIAL\") {\n // We can't start parsing until we have the first line.\n if (!/\\r\\n|\\n/.test(self.buffer)) {\n return this;\n }\n\n line = collectNextLine();\n\n var m = line.match(/^WEBVTT([ \\t].*)?$/);\n if (!m || !m[0]) {\n fail(new ParsingError(ParsingError.Errors.BadSignature))\n return\n }\n\n self.state = \"HEADER\";\n }\n\n var alreadyCollectedLine = false;\n\n var lineparse = function() {\n // We can't parse a line until we have the full line.\n if (!self.buffer || !/\\r\\n|\\n/.test(self.buffer)) {\n self.flush()\n return\n }\n\n if (!alreadyCollectedLine) {\n line = collectNextLine();\n } else {\n alreadyCollectedLine = false;\n }\n\n switch (self.state) {\n case \"HEADER\":\n // 13-18 - Allow a header (metadata) under the WEBVTT line.\n if (/:/.test(line)) {\n parseHeader(line);\n } else if (!line) {\n // An empty line terminates the header and starts the body (cues).\n self.state = \"ID\";\n }\n linebyline();\n break;\n case \"NOTE\":\n // Ignore NOTE blocks.\n if (!line) {\n self.state = \"ID\";\n }\n linebyline();\n break;\n case \"ID\":\n // Check for the start of NOTE blocks.\n if (/^NOTE($|[ \\t])/.test(line)) {\n self.state = \"NOTE\";\n linebyline();\n break;\n }\n // 19-29 - Allow any number of line terminators, then initialize new cue values.\n if (!line) {\n linebyline();\n break;\n }\n self.cue = new (self.VTTCue || self.window.VTTCue)(0, 0, \"\");\n self.state = \"CUE\";\n // 30-39 - Check if self line contains an optional identifier or timing data.\n if (line.indexOf(\"-->\") === -1) {\n self.cue.id = line;\n linebyline();\n break;\n }\n // Process line as start of a cue.\n /*falls through*/\n case \"CUE\":\n // 40 - Collect cue timings and settings.\n\n parseCue(line, self.cue, self.regionList, function successCb() {\n\n self.state = \"CUETEXT\";\n\n linebyline();\n\n }, function errCb(err) {\n\n self.reportOrThrowError(err);\n\n // In case of an error ignore rest of the cue.\n self.cue = null;\n self.state = \"BADCUE\";\n\n linebyline();\n\n });\n\n break;\n case \"CUETEXT\":\n var hasSubstring = line.indexOf(\"-->\") !== -1;\n // 34 - If we have an empty line then report the cue.\n // 35 - If we have the special substring '-->' then report the cue,\n // but do not collect the line as we need to process the current\n // one as a new cue.\n if (!line || hasSubstring && (alreadyCollectedLine = true)) {\n // We are done parsing self cue.\n self.oncue && self.oncue(self.cue);\n self.cue = null;\n self.state = \"ID\";\n linebyline();\n break;\n }\n if (self.cue.text) {\n self.cue.text += \"\\n\";\n }\n self.cue.text += line;\n linebyline();\n break;\n case \"BADCUE\":\n // BADCUE\n // 54-62 - Collect and discard the remaining cue.\n if (!line) {\n self.state = \"ID\";\n }\n linebyline();\n break;\n }\n };\n\n var STACK_LIMIT = 1000;\n\n var count = 0\n\n function unwrapStack(fn) {\n return function() {\n count++\n if (count < STACK_LIMIT) return fn()\n setTimeout(function() {\n count = 0\n fn()\n })\n }\n }\n\n var linebyline = unwrapStack(lineparse)\n\n linebyline();\n\n return this;\n },\n flush: function () {\n var self = this;\n try {\n // Finish decoding the stream.\n self.buffer += self.decoder.decode();\n // Synthesize the end of the current cue or region.\n if (self.cue || self.state === \"HEADER\") {\n self.buffer += \"\\n\\n\";\n self.parse();\n }\n // If we've flushed, parsed, and we're still on the INITIAL state then\n // that means we don't have enough of the stream to parse the first\n // line.\n if (self.state === \"INITIAL\") {\n throw new ParsingError(ParsingError.Errors.BadSignature);\n }\n } catch(e) {\n self.reportOrThrowError(e);\n }\n self.onflush && self.onflush();\n return this;\n }\n };\n\n global.WebVTT = WebVTT;\n\n}(this));\n","/**\n * Copyright 2013 vtt.js Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n// If we're in Node.js then require VTTCue so we can extend it, otherwise assume\n// VTTCue is on the global.\nif (typeof module !== \"undefined\" && module.exports) {\n this.VTTCue = this.VTTCue || require(\"./vttcue\").VTTCue;\n}\n\n// Extend VTTCue with methods to convert to JSON, from JSON, and construct a\n// VTTCue from an options object. The primary purpose of this is for use in the\n// vtt.js test suite (for testing only properties that we care about). It's also\n// useful if you need to work with VTTCues in JSON format.\n(function(root) {\n\n root.VTTCue.prototype.toJSON = function() {\n var cue = {},\n self = this;\n // Filter out getCueAsHTML as it's a function and hasBeenReset and displayState as\n // they're only used when running the processing model algorithm.\n Object.keys(this).forEach(function(key) {\n if (key !== \"getCueAsHTML\" && key !== \"hasBeenReset\" && key !== \"displayState\") {\n cue[key] = self[key];\n }\n });\n return cue;\n };\n\n root.VTTCue.create = function(options) {\n if (!options.hasOwnProperty(\"startTime\") || !options.hasOwnProperty(\"endTime\") ||\n !options.hasOwnProperty(\"text\")) {\n throw new Error(\"You must at least have start time, end time, and text.\");\n }\n var cue = new root.VTTCue(options.startTime, options.endTime, options.text);\n for (var key in options) {\n if (cue.hasOwnProperty(key)) {\n cue[key] = options[key];\n }\n }\n return cue;\n };\n\n root.VTTCue.fromJSON = function(json) {\n return this.create(JSON.parse(json));\n };\n\n}(this));\n","/**\n * Copyright 2013 vtt.js Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root) {\n\n var autoKeyword = \"auto\";\n var directionSetting = {\n \"\": true,\n \"lr\": true,\n \"rl\": true\n };\n var alignSetting = {\n \"start\": true,\n \"middle\": true,\n \"end\": true,\n \"left\": true,\n \"right\": true\n };\n\n function findDirectionSetting(value) {\n if (typeof value !== \"string\") {\n return false;\n }\n var dir = directionSetting[value.toLowerCase()];\n return dir ? value.toLowerCase() : false;\n }\n\n function findAlignSetting(value) {\n if (typeof value !== \"string\") {\n return false;\n }\n var align = alignSetting[value.toLowerCase()];\n return align ? value.toLowerCase() : false;\n }\n\n function extend(obj) {\n var i = 1;\n for (; i < arguments.length; i++) {\n var cobj = arguments[i];\n for (var p in cobj) {\n obj[p] = cobj[p];\n }\n }\n\n return obj;\n }\n\n function VTTCue(startTime, endTime, text) {\n var cue = this;\n var isIE8 = (/MSIE\\s8\\.0/).test(navigator.userAgent);\n var baseObj = {};\n\n if (isIE8) {\n cue = document.createElement('custom');\n } else {\n baseObj.enumerable = true;\n }\n\n /**\n * Shim implementation specific properties. These properties are not in\n * the spec.\n */\n\n // Lets us know when the VTTCue's data has changed in such a way that we need\n // to recompute its display state. This lets us compute its display state\n // lazily.\n cue.hasBeenReset = false;\n\n /**\n * VTTCue and TextTrackCue properties\n * http://dev.w3.org/html5/webvtt/#vttcue-interface\n */\n\n var _id = \"\";\n var _pauseOnExit = false;\n var _startTime = startTime;\n var _endTime = endTime;\n var _text = text;\n var _region = null;\n var _vertical = \"\";\n var _snapToLines = true;\n var _line = \"auto\";\n var _lineAlign = \"start\";\n var _position = 50;\n var _positionAlign = \"middle\";\n var _size = 50;\n var _align = \"middle\";\n\n Object.defineProperty(cue,\n \"id\", extend({}, baseObj, {\n get: function() {\n return _id;\n },\n set: function(value) {\n _id = \"\" + value;\n }\n }));\n\n Object.defineProperty(cue,\n \"pauseOnExit\", extend({}, baseObj, {\n get: function() {\n return _pauseOnExit;\n },\n set: function(value) {\n _pauseOnExit = !!value;\n }\n }));\n\n Object.defineProperty(cue,\n \"startTime\", extend({}, baseObj, {\n get: function() {\n return _startTime;\n },\n set: function(value) {\n if (typeof value !== \"number\") {\n throw new TypeError(\"Start time must be set to a number.\");\n }\n _startTime = value;\n this.hasBeenReset = true;\n }\n }));\n\n Object.defineProperty(cue,\n \"endTime\", extend({}, baseObj, {\n get: function() {\n return _endTime;\n },\n set: function(value) {\n if (typeof value !== \"number\") {\n throw new TypeError(\"End time must be set to a number.\");\n }\n _endTime = value;\n this.hasBeenReset = true;\n }\n }));\n\n Object.defineProperty(cue,\n \"text\", extend({}, baseObj, {\n get: function() {\n return _text;\n },\n set: function(value) {\n _text = \"\" + value;\n this.hasBeenReset = true;\n }\n }));\n\n Object.defineProperty(cue,\n \"region\", extend({}, baseObj, {\n get: function() {\n return _region;\n },\n set: function(value) {\n _region = value;\n this.hasBeenReset = true;\n }\n }));\n\n Object.defineProperty(cue,\n \"vertical\", extend({}, baseObj, {\n get: function() {\n return _vertical;\n },\n set: function(value) {\n var setting = findDirectionSetting(value);\n // Have to check for false because the setting an be an empty string.\n if (setting === false) {\n throw new SyntaxError(\"An invalid or illegal string was specified.\");\n }\n _vertical = setting;\n this.hasBeenReset = true;\n }\n }));\n\n Object.defineProperty(cue,\n \"snapToLines\", extend({}, baseObj, {\n get: function() {\n return _snapToLines;\n },\n set: function(value) {\n _snapToLines = !!value;\n this.hasBeenReset = true;\n }\n }));\n\n Object.defineProperty(cue,\n \"line\", extend({}, baseObj, {\n get: function() {\n return _line;\n },\n set: function(value) {\n if (typeof value !== \"number\" && value !== autoKeyword) {\n throw new SyntaxError(\"An invalid number or illegal string was specified.\");\n }\n _line = value;\n this.hasBeenReset = true;\n }\n }));\n\n Object.defineProperty(cue,\n \"lineAlign\", extend({}, baseObj, {\n get: function() {\n return _lineAlign;\n },\n set: function(value) {\n var setting = findAlignSetting(value);\n if (!setting) {\n throw new SyntaxError(\"An invalid or illegal string was specified.\");\n }\n _lineAlign = setting;\n this.hasBeenReset = true;\n }\n }));\n\n Object.defineProperty(cue,\n \"position\", extend({}, baseObj, {\n get: function() {\n return _position;\n },\n set: function(value) {\n if (value < 0 || value > 100) {\n throw new Error(\"Position must be between 0 and 100.\");\n }\n _position = value;\n this.hasBeenReset = true;\n }\n }));\n\n Object.defineProperty(cue,\n \"positionAlign\", extend({}, baseObj, {\n get: function() {\n return _positionAlign;\n },\n set: function(value) {\n var setting = findAlignSetting(value);\n if (!setting) {\n throw new SyntaxError(\"An invalid or illegal string was specified.\");\n }\n _positionAlign = setting;\n this.hasBeenReset = true;\n }\n }));\n\n Object.defineProperty(cue,\n \"size\", extend({}, baseObj, {\n get: function() {\n return _size;\n },\n set: function(value) {\n if (value < 0 || value > 100) {\n throw new Error(\"Size must be between 0 and 100.\");\n }\n _size = value;\n this.hasBeenReset = true;\n }\n }));\n\n Object.defineProperty(cue,\n \"align\", extend({}, baseObj, {\n get: function() {\n return _align;\n },\n set: function(value) {\n var setting = findAlignSetting(value);\n if (!setting) {\n throw new SyntaxError(\"An invalid or illegal string was specified.\");\n }\n _align = setting;\n this.hasBeenReset = true;\n }\n }));\n\n /**\n * Other <track> spec defined properties\n */\n\n // http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#text-track-cue-display-state\n cue.displayState = undefined;\n\n if (isIE8) {\n return cue;\n }\n }\n\n /**\n * VTTCue methods\n */\n\n VTTCue.prototype.getCueAsHTML = function() {\n // Assume WebVTT.convertCueToDOMTree is on the global.\n return WebVTT.convertCueToDOMTree(window, this.text);\n };\n\n root.VTTCue = root.VTTCue || VTTCue;\n}(this));\n","/**\n * Copyright 2013 vtt.js Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n// If we're in Node.js then require VTTRegion so we can extend it, otherwise assume\n// VTTRegion is on the global.\nif (typeof module !== \"undefined\" && module.exports) {\n this.VTTRegion = require(\"./vttregion\").VTTRegion;\n}\n\n// Extend VTTRegion with methods to convert to JSON, from JSON, and construct a\n// VTTRegion from an options object. The primary purpose of this is for use in the\n// vtt.js test suite. It's also useful if you need to work with VTTRegions in\n// JSON format.\n(function(root) {\n\n root.VTTRegion.create = function(options) {\n var region = new root.VTTRegion();\n for (var key in options) {\n if (region.hasOwnProperty(key)) {\n region[key] = options[key];\n }\n }\n return region;\n };\n\n root.VTTRegion.fromJSON = function(json) {\n return this.create(JSON.parse(json));\n };\n\n}(this));\n","/**\n * Copyright 2013 vtt.js Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root) {\n\n var scrollSetting = {\n \"\": true,\n \"up\": true\n };\n\n function findScrollSetting(value) {\n if (typeof value !== \"string\") {\n return false;\n }\n var scroll = scrollSetting[value.toLowerCase()];\n return scroll ? value.toLowerCase() : false;\n }\n\n function isValidPercentValue(value) {\n return typeof value === \"number\" && (value >= 0 && value <= 100);\n }\n\n // VTTRegion shim http://dev.w3.org/html5/webvtt/#vttregion-interface\n function VTTRegion() {\n var _width = 100;\n var _lines = 3;\n var _regionAnchorX = 0;\n var _regionAnchorY = 100;\n var _viewportAnchorX = 0;\n var _viewportAnchorY = 100;\n var _scroll = \"\";\n\n Object.defineProperties(this, {\n \"width\": {\n enumerable: true,\n get: function() {\n return _width;\n },\n set: function(value) {\n if (!isValidPercentValue(value)) {\n throw new Error(\"Width must be between 0 and 100.\");\n }\n _width = value;\n }\n },\n \"lines\": {\n enumerable: true,\n get: function() {\n return _lines;\n },\n set: function(value) {\n if (typeof value !== \"number\") {\n throw new TypeError(\"Lines must be set to a number.\");\n }\n _lines = value;\n }\n },\n \"regionAnchorY\": {\n enumerable: true,\n get: function() {\n return _regionAnchorY;\n },\n set: function(value) {\n if (!isValidPercentValue(value)) {\n throw new Error(\"RegionAnchorX must be between 0 and 100.\");\n }\n _regionAnchorY = value;\n }\n },\n \"regionAnchorX\": {\n enumerable: true,\n get: function() {\n return _regionAnchorX;\n },\n set: function(value) {\n if(!isValidPercentValue(value)) {\n throw new Error(\"RegionAnchorY must be between 0 and 100.\");\n }\n _regionAnchorX = value;\n }\n },\n \"viewportAnchorY\": {\n enumerable: true,\n get: function() {\n return _viewportAnchorY;\n },\n set: function(value) {\n if (!isValidPercentValue(value)) {\n throw new Error(\"ViewportAnchorY must be between 0 and 100.\");\n }\n _viewportAnchorY = value;\n }\n },\n \"viewportAnchorX\": {\n enumerable: true,\n get: function() {\n return _viewportAnchorX;\n },\n set: function(value) {\n if (!isValidPercentValue(value)) {\n throw new Error(\"ViewportAnchorX must be between 0 and 100.\");\n }\n _viewportAnchorX = value;\n }\n },\n \"scroll\": {\n enumerable: true,\n get: function() {\n return _scroll;\n },\n set: function(value) {\n var setting = findScrollSetting(value);\n // Have to check for false as an empty string is a legal value.\n if (setting === false) {\n throw new SyntaxError(\"An invalid or illegal string was specified.\");\n }\n _scroll = setting;\n }\n }\n });\n }\n\n root.VTTRegion = root.VTTRegion || VTTRegion;\n}(this));\n","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nfunction _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}\nmodule.exports = _asyncToGenerator, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n module.exports = _regeneratorRuntime = function _regeneratorRuntime() {\n return e;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var t,\n e = {},\n r = Object.prototype,\n n = r.hasOwnProperty,\n o = Object.defineProperty || function (t, e, r) {\n t[e] = r.value;\n },\n i = \"function\" == typeof Symbol ? Symbol : {},\n a = i.iterator || \"@@iterator\",\n c = i.asyncIterator || \"@@asyncIterator\",\n u = i.toStringTag || \"@@toStringTag\";\n function define(t, e, r) {\n return Object.defineProperty(t, e, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), t[e];\n }\n try {\n define({}, \"\");\n } catch (t) {\n define = function define(t, e, r) {\n return t[e] = r;\n };\n }\n function wrap(t, e, r, n) {\n var i = e && e.prototype instanceof Generator ? e : Generator,\n a = Object.create(i.prototype),\n c = new Context(n || []);\n return o(a, \"_invoke\", {\n value: makeInvokeMethod(t, r, c)\n }), a;\n }\n function tryCatch(t, e, r) {\n try {\n return {\n type: \"normal\",\n arg: t.call(e, r)\n };\n } catch (t) {\n return {\n type: \"throw\",\n arg: t\n };\n }\n }\n e.wrap = wrap;\n var h = \"suspendedStart\",\n l = \"suspendedYield\",\n f = \"executing\",\n s = \"completed\",\n y = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var p = {};\n define(p, a, function () {\n return this;\n });\n var d = Object.getPrototypeOf,\n v = d && d(d(values([])));\n v && v !== r && n.call(v, a) && (p = v);\n var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);\n function defineIteratorMethods(t) {\n [\"next\", \"throw\", \"return\"].forEach(function (e) {\n define(t, e, function (t) {\n return this._invoke(e, t);\n });\n });\n }\n function AsyncIterator(t, e) {\n function invoke(r, o, i, a) {\n var c = tryCatch(t[r], t, o);\n if (\"throw\" !== c.type) {\n var u = c.arg,\n h = u.value;\n return h && \"object\" == _typeof(h) && n.call(h, \"__await\") ? e.resolve(h.__await).then(function (t) {\n invoke(\"next\", t, i, a);\n }, function (t) {\n invoke(\"throw\", t, i, a);\n }) : e.resolve(h).then(function (t) {\n u.value = t, i(u);\n }, function (t) {\n return invoke(\"throw\", t, i, a);\n });\n }\n a(c.arg);\n }\n var r;\n o(this, \"_invoke\", {\n value: function value(t, n) {\n function callInvokeWithMethodAndArg() {\n return new e(function (e, r) {\n invoke(t, n, e, r);\n });\n }\n return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(e, r, n) {\n var o = h;\n return function (i, a) {\n if (o === f) throw Error(\"Generator is already running\");\n if (o === s) {\n if (\"throw\" === i) throw a;\n return {\n value: t,\n done: !0\n };\n }\n for (n.method = i, n.arg = a;;) {\n var c = n.delegate;\n if (c) {\n var u = maybeInvokeDelegate(c, n);\n if (u) {\n if (u === y) continue;\n return u;\n }\n }\n if (\"next\" === n.method) n.sent = n._sent = n.arg;else if (\"throw\" === n.method) {\n if (o === h) throw o = s, n.arg;\n n.dispatchException(n.arg);\n } else \"return\" === n.method && n.abrupt(\"return\", n.arg);\n o = f;\n var p = tryCatch(e, r, n);\n if (\"normal\" === p.type) {\n if (o = n.done ? s : l, p.arg === y) continue;\n return {\n value: p.arg,\n done: n.done\n };\n }\n \"throw\" === p.type && (o = s, n.method = \"throw\", n.arg = p.arg);\n }\n };\n }\n function maybeInvokeDelegate(e, r) {\n var n = r.method,\n o = e.iterator[n];\n if (o === t) return r.delegate = null, \"throw\" === n && e.iterator[\"return\"] && (r.method = \"return\", r.arg = t, maybeInvokeDelegate(e, r), \"throw\" === r.method) || \"return\" !== n && (r.method = \"throw\", r.arg = new TypeError(\"The iterator does not provide a '\" + n + \"' method\")), y;\n var i = tryCatch(o, e.iterator, r.arg);\n if (\"throw\" === i.type) return r.method = \"throw\", r.arg = i.arg, r.delegate = null, y;\n var a = i.arg;\n return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, \"return\" !== r.method && (r.method = \"next\", r.arg = t), r.delegate = null, y) : a : (r.method = \"throw\", r.arg = new TypeError(\"iterator result is not an object\"), r.delegate = null, y);\n }\n function pushTryEntry(t) {\n var e = {\n tryLoc: t[0]\n };\n 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);\n }\n function resetTryEntry(t) {\n var e = t.completion || {};\n e.type = \"normal\", delete e.arg, t.completion = e;\n }\n function Context(t) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], t.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(e) {\n if (e || \"\" === e) {\n var r = e[a];\n if (r) return r.call(e);\n if (\"function\" == typeof e.next) return e;\n if (!isNaN(e.length)) {\n var o = -1,\n i = function next() {\n for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;\n return next.value = t, next.done = !0, next;\n };\n return i.next = i;\n }\n }\n throw new TypeError(_typeof(e) + \" is not iterable\");\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), o(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, \"GeneratorFunction\"), e.isGeneratorFunction = function (t) {\n var e = \"function\" == typeof t && t.constructor;\n return !!e && (e === GeneratorFunction || \"GeneratorFunction\" === (e.displayName || e.name));\n }, e.mark = function (t) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, \"GeneratorFunction\")), t.prototype = Object.create(g), t;\n }, e.awrap = function (t) {\n return {\n __await: t\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {\n return this;\n }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {\n void 0 === i && (i = Promise);\n var a = new AsyncIterator(wrap(t, r, n, o), i);\n return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {\n return t.done ? t.value : a.next();\n });\n }, defineIteratorMethods(g), define(g, u, \"Generator\"), define(g, a, function () {\n return this;\n }), define(g, \"toString\", function () {\n return \"[object Generator]\";\n }), e.keys = function (t) {\n var e = Object(t),\n r = [];\n for (var n in e) r.push(n);\n return r.reverse(), function next() {\n for (; r.length;) {\n var t = r.pop();\n if (t in e) return next.value = t, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, e.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(e) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) \"t\" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);\n },\n stop: function stop() {\n this.done = !0;\n var t = this.tryEntries[0].completion;\n if (\"throw\" === t.type) throw t.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(e) {\n if (this.done) throw e;\n var r = this;\n function handle(n, o) {\n return a.type = \"throw\", a.arg = e, r.next = n, o && (r.method = \"next\", r.arg = t), !!o;\n }\n for (var o = this.tryEntries.length - 1; o >= 0; --o) {\n var i = this.tryEntries[o],\n a = i.completion;\n if (\"root\" === i.tryLoc) return handle(\"end\");\n if (i.tryLoc <= this.prev) {\n var c = n.call(i, \"catchLoc\"),\n u = n.call(i, \"finallyLoc\");\n if (c && u) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n } else if (c) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n } else {\n if (!u) throw Error(\"try statement without catch or finally\");\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(t, e) {\n for (var r = this.tryEntries.length - 1; r >= 0; --r) {\n var o = this.tryEntries[r];\n if (o.tryLoc <= this.prev && n.call(o, \"finallyLoc\") && this.prev < o.finallyLoc) {\n var i = o;\n break;\n }\n }\n i && (\"break\" === t || \"continue\" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);\n var a = i ? i.completion : {};\n return a.type = t, a.arg = e, i ? (this.method = \"next\", this.next = i.finallyLoc, y) : this.complete(a);\n },\n complete: function complete(t, e) {\n if (\"throw\" === t.type) throw t.arg;\n return \"break\" === t.type || \"continue\" === t.type ? this.next = t.arg : \"return\" === t.type ? (this.rval = this.arg = t.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === t.type && e && (this.next = e), y;\n },\n finish: function finish(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;\n }\n },\n \"catch\": function _catch(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.tryLoc === t) {\n var n = r.completion;\n if (\"throw\" === n.type) {\n var o = n.arg;\n resetTryEntry(r);\n }\n return o;\n }\n }\n throw Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(e, r, n) {\n return this.delegate = {\n iterator: values(e),\n resultName: r,\n nextLoc: n\n }, \"next\" === this.method && (this.arg = t), y;\n }\n }, e;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// TODO(Babel 8): Remove this file.\n\nvar runtime = require(\"../helpers/regeneratorRuntime\")();\nmodule.exports = runtime;\n\n// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n return arr2;\n}\nmodule.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\nmodule.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}\nmodule.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nmodule.exports = _classCallCheck, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\nmodule.exports = _createClass, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _getPrototypeOf(o);\n}\nmodule.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}\nmodule.exports = _inherits, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nmodule.exports = _iterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nmodule.exports = _nonIterableRest, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar assertThisInitialized = require(\"./assertThisInitialized.js\");\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}\nmodule.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _setPrototypeOf(o, p);\n}\nmodule.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithHoles = require(\"./arrayWithHoles.js\");\nvar iterableToArray = require(\"./iterableToArray.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableRest = require(\"./nonIterableRest.js\");\nfunction _toArray(arr) {\n return arrayWithHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableRest();\n}\nmodule.exports = _toArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}\nmodule.exports = _toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar toPrimitive = require(\"./toPrimitive.js\");\nfunction _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}\nmodule.exports = _toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(obj);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\nmodule.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// src/Icon.tsx\nimport React from \"react\";\n\n// src/icons.json\nvar icons_default = { symbol: { viewBox: \"0 0 512 512\", paths: [{ d: \"M267.1 52.7a16.057 16.057 0 0 0-22.6 0L52.7 244.5a16.055 16.055 0 0 0 0 22.6l191.8 191.8a16.054 16.054 0 0 0 22.6 0l191.8-191.8a16.056 16.056 0 0 0 0-22.6z m60.3 212.5a10.933 10.933 0 0 0 0-18l-84.5-59.1a11 11 0 0 0-11.383-0.753 10.99 10.99 0 0 0-5.917 9.753v118.2a10.99 10.99 0 0 0 11.714 10.969 11 11 0 0 0 5.586-1.969z\", style: { fill: \"currentcolor\", fillRule: \"evenodd\", clipRule: \"evenodd\" } }] }, \"imdb-outline\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M450.6700000000001 122.26200000000006H60.932000000000016a39 39 0 0 0-27.747 11.425 39.03 39.03 0 0 0-11.425 27.747v189.529a39.27 39.27 0 0 0 11.501 27.67 39.3 39.3 0 0 0 27.671 11.5h389.738a39.3 39.3 0 0 0 27.67-11.5 39.25 39.25 0 0 0 11.5-27.67V161.43400000000008a39.25 39.25 0 0 0-11.5-27.671 39.26 39.26 0 0 0-27.67-11.501m18.99 228.701c0 2.49-0.49 4.96-1.44 7.27-0.95 2.3-2.35 4.4-4.12 6.16a18.7 18.7 0 0 1-6.16 4.12c-2.3 0.95-4.78 1.44-7.27 1.44H60.932000000000016a19.25 19.25 0 0 1-13.351-5.64 19.28 19.28 0 0 1-5.641-13.35V161.43400000000008a19.254 19.254 0 0 1 18.992-18.992h389.738a18.98 18.98 0 0 1 13.43 5.562 19.15 19.15 0 0 1 4.12 6.162 19.1 19.1 0 0 1 1.44 7.268z\", style: { fill: \"currentcolor\" } }, { d: \"M83.48500000000001 189.92500000000007h24.532v124.24h-24.532z\", style: { fill: \"currentcolor\" } }, { d: \"M181.216 273.80600000000004l-23.74-83.881H126.61000000000001v124.24h21.37V227.51300000000003l22.949 72.8h20.575l22.949-74.386v88.235h21.366V189.92500000000007h-30.862z\", style: { fill: \"currentcolor\" } }, { d: \"M297.544 189.923h-41.15v124.24h41.15a49.74 49.74 0 0 0 36.006-11.87 41.08 41.08 0 0 0 13.06-32.841v-35.214a42.97 42.97 0 0 0-13.057-32.841 51.22 51.22 0 0 0-36.009-11.474m24.927 80.321a19.8 19.8 0 0 1-6.33 15.828A27.6 27.6 0 0 1 297.94000000000005 291.61300000000006h-18.2v-79.138h18.2a27.6 27.6 0 0 1 18.2 5.54 19.8 19.8 0 0 1 6.33 15.827z\", style: { fill: \"currentcolor\" } }, { d: \"M406.75 223.9520000000001a22.5 22.5 0 0 0-13.06 4.352 23.94 23.94 0 0 0-7.52 9.1v-47.876h-23.74v124.637h23.74v-11.87a20.77 20.77 0 0 0 8.18 9.859 20.78 20.78 0 0 0 12.4 3.198 25.88 25.88 0 0 0 21.76-9.892 43.46 43.46 0 0 0 7.92-28.489v-14.244a42.85 42.85 0 0 0-7.92-28.488 26.235 26.235 0 0 0-21.76-10.287m6.33 53.019c0.29 4.38-0.97 8.722-3.56 12.266a11.4 11.4 0 0 1-4.57 3.528 11.4 11.4 0 0 1-5.72 0.825c-2.37 0.4-4.75-0.4-7.12-1.583a7.9 7.9 0 0 1-2.62-1.73 7.7 7.7 0 0 1-1.73-2.622 17.1 17.1 0 0 1-1.59-7.518v-20.179a17.1 17.1 0 0 1 1.59-7.518 8.6 8.6 0 0 1 4.35-4.748c2.19-1.2 4.63-1.878 7.12-1.979 1.97-0.054 3.92 0.347 5.7 1.17a12.7 12.7 0 0 1 4.59 3.579 19.84 19.84 0 0 1 3.56 12.661z\", style: { fill: \"currentcolor\" } }] }, imdb: { viewBox: \"0 0 512 512\", paths: [{ d: \"M294.5 217.5c-1.3-0.7-3.8-1-7.4-1v77.9c4.8 0 7.8-0.9 8.9-2.7s1.7-6.6 1.7-14.5v-46c0-5.4-0.2-8.8-0.6-10.3a5.37 5.37 0 0 0-2.6-3.4\", style: { fill: \"currentcolor\" } }, { d: \"M384 255.60000000000002v28.1c0 5.3-0.3 8.7-0.8 10-0.5 1.4-3.2 2.1-5 2.1s-4.3-0.8-4.9-2.1v-47.6c0.5-1.2 3.2-2 4.9-2s4.2 0.9 4.8 2.3c0.7 1.5 1 4.6 1 9.2\", style: { fill: \"currentcolor\" } }, { d: \"M45 176.4a26.375 26.375 0 0 1 26.4-26.4h369.2a26.38 26.38 0 0 1 18.68 7.722 26.5 26.5 0 0 1 5.72 8.57c1.32 3.205 2 6.64 2 10.108v158.2c0 3.468-0.68 6.903-2 10.108a26.5 26.5 0 0 1-5.72 8.569 26.5 26.5 0 0 1-8.57 5.722A26.4 26.4 0 0 1 440.5999999999999 361H71.39999999999998a26.375 26.375 0 0 1-26.4-26.4z m52.8 138.4h33V196.2h-33z m95.9-63.2l7.4-55.4h41.7v118.7h-27.9l-0.1-80.1-11.2 80.1h-19.9L172 236.5l-0.1 78.4h-28V196.2h41.4c1.2 7.2 2.5 15.6 3.8 25.3z m62.3 63.2V196.2h51.5a21.064 21.064 0 0 1 21.1 20.9v76.8a20.934 20.934 0 0 1-21.1 20.9z m136.8-88.9h-2.1a22.05 22.05 0 0 0-17.4 8.4v-38.1h-31.6v117.2h29.6l1.9-7.3a21.7 21.7 0 0 0 7.7 6.486 21.7 21.7 0 0 0 9.8 2.314h2.1c11.8 0 21.4-9.3 21.4-20.7v-47.6c0-11.5-9.5-20.7-21.4-20.7\", style: { fill: \"currentcolor\", fillRule: \"evenodd\", clipRule: \"evenodd\" } }] }, reddit: { viewBox: \"0 0 512 512\", paths: [{ d: \"M309.6500000000001 125.026c4.57 19.375 21.98 33.808 42.76 33.808 24.26 0 43.93-19.663 43.93-43.917S376.6700000000001 71 352.40999999999985 71c-21.22 0-38.91 15.03-43.03 35.022-35.52 3.809-63.27 33.931-63.27 70.436v0.226c-38.63 1.627-73.91 12.622-101.92 29.978a61.28 61.28 0 0 0-37.63-12.847c-34 0-61.56 27.548-61.56 61.541 0 24.666 14.5 45.914 35.44 55.735 2.04 71.444 79.91 128.909 175.7 128.909s173.77-57.526 175.7-129.033c20.78-9.882 35.16-31.069 35.16-55.591 0-33.992-27.56-61.541-61.56-61.541-14.11 0-27.1 4.756-37.48 12.745-28.26-17.48-63.93-28.475-102.96-29.937v-0.164c0-26.149 19.44-47.85 44.65-51.412z m-167.93 169.388c1.03-22.319 15.85-39.449 33.09-39.449s30.42 18.098 29.39 40.416c-1.03 22.319-13.9 30.431-31.16 30.431s-32.35-9.08-31.32-31.398m195.78-39.449c17.25 0 32.08 17.13 33.09 39.449 1.03 22.318-14.08 31.398-31.32 31.398s-30.13-8.091-31.16-30.431c-1.03-22.318 12.13-40.416 29.39-40.416m-20.52 91.086c3.24 0.33 5.3 3.686 4.04 6.692-10.61 25.345-35.65 43.155-64.88 43.155-29.22 0-54.24-17.81-64.87-43.155-1.26-3.006 0.8-6.362 4.04-6.692 18.94-1.914 39.44-2.964 60.83-2.964 21.4 0 41.87 1.05 60.84 2.964\", style: { fill: \"currentcolor\" } }] }, x: { viewBox: \"0 0 512 512\", paths: [{ d: \"M284.53999999999996 231.994L396.2199999999998 102h-26.46l-96.98 112.872L195.32999999999993 102H106l117.12 170.682L106 409h26.47l102.4-119.196L316.6700000000001 409H406l-121.47-177.006z m-36.25 42.192l-11.87-16.996L142 121.95h40.65l76.2 109.143 11.87 16.996 99.05 141.868h-40.65l-80.83-115.765z\", style: { fill: \"currentcolor\" } }] }, facebook: { viewBox: \"0 0 512 512\", paths: [{ d: \"M338.0999999999999 196.9h-54.7v-37.1c0-14.1 8.8-17.7 15.9-17.7h38.8v-60h-54.7a69.4 69.4 0 0 0-50.36 16.812 69.43 69.43 0 0 0-23.74 47.488c-0.2 3.264-0.2 6.537 0 9.8v40.6H174v63.5h35.3v178.3h74.1V260.4h49.4z\", style: { fill: \"currentcolor\" } }] }, youtube: { viewBox: \"0 0 512 512\", paths: [{ d: \"M476.0999999999999 161.6c0-39.2-28.8-70.7-64.5-70.7-48.3-2.3-97.5-3.1-147.8-3.1h-15.7c-50.2 0-99.5 0.9-147.7 3.1-35.5 0-64.4 31.7-64.4 70.9-2.2 31-3.1 62-3.1 93-0.1 31 0.9 62.1 3 93.1 0 39.2 28.8 71 64.4 71 50.7 2.4 102.7 3.4 155.6 3.3 53 0.2 104.87-0.9 155.6-3.3 35.6 0 64.5-31.8 64.5-71 2.1-31.1 3.1-62.1 3-93.2 0.1-31-0.8-62-2.9-93.1m-262.8 178.7V169.1l126.3 85.5z\", style: { fill: \"currentcolor\" } }] }, vlc: { viewBox: \"0 0 512 512\", paths: [{ d: \"M385.5 325.1999999999998c-7.9-25.1-8-25-34-23.6h-0.8c-4.8 0-7.2 1.6-5.9 7.1 1.8 7.6-1.7 13.3-7.2 18.2-7.8 6.8-17.2 10.8-27 13.8-29.3 8.9-59.2 9.4-89.1 4.8-16.6-2.6-33-6.6-46.5-17.8-4.9-4-8.6-8.7-8.7-15.2-0.2-10.9-0.1-10.9-11.6-10.8-2.8 0-5.5 0.3-8.3 0.1-9.1-0.7-14.1 3.4-16.7 12.2-9.7 32.2-20 64.1-29.9 96.2a80.5 80.5 0 0 0-3.4 16.1c-0.6 6.7 2.3 11.1 9.9 11.2 7.4 0.2 14.8 1.2 22.2 1.2 42.7 0.1 85.4 0.13 128.1 0.1 45.2 0 90.3 0.1 135.5-0.1 23.9-0.1 27.2-4.7 20.2-27.5-8.8-28.7-17.7-57.3-26.8-86\", style: { fill: \"currentcolor\" } }, { d: \"M200.39999999999964 196.19999999999982c-4.8 16.4-9.7 32.73-14.7 49-3.7 12.2-2.2 16.6 9.3 22.5a92 92 0 0 0 15.3 6c14.53 4.41 29.75 6.1 44.9 5 6 0 12.1 0.5 18.1-0.1 16.8-1.6 33.4-4 47.9-13.6 4.2-2.8 8.3-6.4 6.7-12.1-5.7-19.6-11.7-39-17.5-58.5-0.8-2.6-1.6-4.4-5.2-2.7-23 11.1-47.5 10.2-72 7.8-8.5-0.8-17.2-1.9-24.5-6.7-5.2-3.4-6.8-1.8-8.3 3.4\", style: { fill: \"currentcolor\" } }, { d: \"M283.2999999999993 127.80000000000018c5.2-1.3 6.3-4.4 4.7-9.3-2.8-8.6-5-17.4-7.9-26.1-5.1-15.5-7.5-17.2-23.6-17.2-17.4 0-20.8 2.5-25.8 19.1-2.4 8.2-4.7 16.4-7.3 24.5-1.5 4.6-0.2 7.6 4.4 8.8 18.19 4.71 37.27 4.78 55.5 0.2\", style: { fill: \"currentcolor\" } }] }, trakt: { viewBox: \"0 0 512 512\", paths: [{ d: \"M114.80000000000018 386.4a192.6 192.6 0 0 0 103.68 58.236A192.63 192.63 0 0 0 336.60000000000036 430.9l-133.3-133z\", style: { fill: \"currentcolor\" } }, { d: \"M202.5999999999999 217.4l-101 100.7-13.5-13.5 106.3-106.3 124.1-124.1a192.4 192.4 0 0 0-120.28-1.237 192.4 192.4 0 0 0-97.5 70.437 192.33 192.33 0 0 0-36.61 114.576A192.34 192.34 0 0 0 102.69999999999982 371.9l100.7-100.7 6.9 6.6L354.5 422a57.5 57.5 0 0 0 8.2-5.3l-159.4-159.4-96.7 96.7-13.5-13.5 110.2-110.2 6.9 6.6 168.3 168c2.6-2 4.9-4.3 7.3-6.3l-181.5-181.5z\", style: { fill: \"currentcolor\" } }, { d: \"M399.3000000000002 385.1a192.1 192.1 0 0 0 42.69-78.033 192.1 192.1 0 0 0 2.99-88.899 192.24 192.24 0 0 0-37.37-80.719A192.2 192.2 0 0 0 337.89999999999964 82.2L216.80000000000018 203z m-136-147.2l-13.5-13.5 95.4-95.4 13.5 13.5z m90.5-131l-109.9 109.9-13.5-13.5 109.9-109.9z\", style: { fill: \"currentcolor\" } }] }, \"in-cinema\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M457.40000000000055 196.3l-38-38a17.2 17.2 0 0 0-11.38-4.913A17.18 17.18 0 0 0 396.3000000000002 157.4a26.42 26.42 0 0 1-18.19 6.353 26.42 26.42 0 0 1-17.67-7.694 26.4 26.4 0 0 1-7.74-17.648 26.4 26.4 0 0 1 6.3-18.211 17.17 17.17 0 0 0 4.01-11.724 17.23 17.23 0 0 0-4.91-11.376l-37.8-38a17.08 17.08 0 0 0-12.1-5.024 17.09 17.09 0 0 0-12.1 5.024l-60.5 60.5a34.1 34.1 0 0 0-8.2 13.2 6.7 6.7 0 0 1-1.61 2.588 6.9 6.9 0 0 1-2.59 1.612c-5 1.679-9.52 4.525-13.2 8.3l-155.2 155.2a17.09 17.09 0 0 0-5.03 12.1c0 2.249 0.45 4.475 1.31 6.551a17.1 17.1 0 0 0 3.72 5.549l37.6 38a17.2 17.2 0 0 0 11.38 4.913c4.27 0.167 8.45-1.264 11.72-4.013a26.48 26.48 0 0 1 18.7-7.85c3.47-0.014 6.92 0.658 10.14 1.978a26.4 26.4 0 0 1 8.61 5.718 26.4 26.4 0 0 1 5.77 8.582 26.3 26.3 0 0 1 2.03 10.135 26.46 26.46 0 0 1-7.75 18.737 17.17 17.17 0 0 0-4.01 11.724c0.17 4.27 1.92 8.326 4.91 11.376l37.9 37.9a17.089 17.089 0 0 0 18.65 3.718 17.1 17.1 0 0 0 5.55-3.718l155.2-155.2a34.4 34.4 0 0 0 8.3-13.2c0.33-0.975 0.88-1.861 1.61-2.587a6.85 6.85 0 0 1 2.59-1.613 34.2 34.2 0 0 0 13.2-8.2l60.5-60.5a17.4 17.4 0 0 0 4.95-12.15 17.4 17.4 0 0 0-4.95-12.15m-196.6-25.5a13.762 13.762 0 0 1-19.5 0l-9.9-9.9a13.78 13.78 0 0 1-4.47-9.527 13.75 13.75 0 0 1 3.54-9.912 13.78 13.78 0 0 1 9.5-4.536 13.8 13.8 0 0 1 9.93 3.475c0.36 0.308 0.69 0.642 1 1l9.9 9.9c1.28 1.28 2.3 2.799 3 4.47 1.4 3.381 1.4 7.179 0 10.559a13.9 13.9 0 0 1-3 4.471m37.9 37.8a13.762 13.762 0 0 1-19.5 0l-9.4-9.4a13.8 13.8 0 0 1-3.55-9.602 13.81 13.81 0 0 1 13.45-13.446 13.82 13.82 0 0 1 9.6 3.548l9.4 9.4a13.936 13.936 0 0 1 0 19.5m38.1 37.9a13.762 13.762 0 0 1-19.5 0l-9.4-9.4a13.78 13.78 0 0 1-4.47-9.527 13.75 13.75 0 0 1 3.54-9.912 13.78 13.78 0 0 1 9.5-4.536 13.8 13.8 0 0 1 9.93 3.475c0.36 0.308 0.69 0.642 1 1l9.4 9.5a13.85 13.85 0 0 1 3.97 9.7c0 3.629-1.43 7.113-3.97 9.7m38.2 38.3a13.762 13.762 0 0 1-19.5 0l-9.9-9.9a13.7 13.7 0 0 1-3.1-4.397 13.8 13.8 0 0 1-1.19-5.249c-0.04-1.811 0.27-3.613 0.92-5.304a13.75 13.75 0 0 1 7.27-7.653 13.8 13.8 0 0 1 5.25-1.185c1.81-0.047 3.61 0.264 5.3 0.914s3.24 1.627 4.55 2.874l0.5 0.5 9.9 9.9c1.28 1.28 2.3 2.799 3 4.47 1.4 3.381 1.4 7.179 0 10.559a13.9 13.9 0 0 1-3 4.471\", style: { fill: \"currentcolor\" } }] }, remote: { viewBox: \"0 0 512 512\", paths: [{ d: \"M292.89999999999964 119.1a28.4 28.4 0 0 0-9.43-6.584 28.5 28.5 0 0 0-11.27-2.316 29.22 29.22 0 0 0-21.7 8.9l-20.7 20.7-177.5 177.4a29.2 29.2 0 0 0-7.85 8.26 29.16 29.16 0 0 0-3.79 22.031 29.2 29.2 0 0 0 4.64 10.409 25.8 25.8 0 0 0 3 3.6q45.9 47.25 91.8 91.6a27.47 27.47 0 0 0 38.8 0.6l1.5-1.5c5.9-4.9 10.8-10.8 16.8-15.8L379.5 254c15.8-15.8 16.8-31.5 2-45.4-28.5-30.4-58.1-60-88.6-89.5m-179.3 243.3c-2.6 0.239-5.22-0.037-7.72-0.812a19.8 19.8 0 0 1-6.81-3.707A19.84 19.84 0 0 1 92 344.4c-0.08-0.865-0.11-1.733-0.1-2.6-0.17-2.682 0.19-5.371 1.07-7.912a20.2 20.2 0 0 1 4.03-6.892 20.333 20.333 0 0 1 14.1-6.796h1.5c2.54-0.307 5.11-0.111 7.57 0.578a19.403 19.403 0 0 1 14.03 16.422c0.13 1.228 0.17 2.466 0.1 3.7a19.5 19.5 0 0 1-0.57 7.567 19.42 19.42 0 0 1-9.21 11.696 19.4 19.4 0 0 1-7.22 2.337c-1.3 0-2.5 0-3.7-0.1m47.3 48.3c-3.93 0.175-7.82-0.821-11.18-2.862a19.87 19.87 0 0 1-7.7-8.599 20.1 20.1 0 0 1-1.82-7.539c-0.02-0.868 0.01-1.737 0.1-2.6a19.22 19.22 0 0 1 17.5-20.7c1.06-0.1 2.14-0.1 3.2 0 2.69-0.035 5.35 0.461 7.85 1.458 2.49 0.997 4.76 2.475 6.69 4.351a20.5 20.5 0 0 1 4.51 6.582 20.4 20.4 0 0 1 1.65 7.809v1.5a19.62 19.62 0 0 1-4.97 14.174 19.65 19.65 0 0 1-13.53 6.526c-0.76-0.08-1.53-0.113-2.3-0.1m0-95.6c-3.93 0.175-7.82-0.821-11.18-2.862a19.87 19.87 0 0 1-7.7-8.599 20.1 20.1 0 0 1-1.82-7.539c-0.02-0.868 0.01-1.737 0.1-2.6a22.113 22.113 0 0 1 21.5-22.7h0.1a21.13 21.13 0 0 1 14.51 7.17 21.17 21.17 0 0 1 5.19 15.33v0.2c0.17 2.679-0.18 5.367-1.05 7.909a20.2 20.2 0 0 1-4 6.904 20.4 20.4 0 0 1-6.34 4.843 20.4 20.4 0 0 1-7.71 2.044 8.2 8.2 0 0 1-1.6-0.1m47.3 47.3a19.66 19.66 0 0 1-14.17-4.976 19.66 19.66 0 0 1-6.53-13.524v-2.1a21.08 21.08 0 0 1 21.4-20.7h0.3a21.744 21.744 0 0 1 21.7 20.7c-0.08 2.806-0.71 5.57-1.85 8.133a21.4 21.4 0 0 1-4.84 6.795 21.31 21.31 0 0 1-15.31 5.772c-0.23-0.076-0.46-0.11-0.7-0.1m56-63a61.63 61.63 0 0 1-34.13-10.653 61.593 61.593 0 0 1-25.69-63.416 61.58 61.58 0 0 1 48.73-48.029 61.604 61.604 0 0 1 63.04 26.619 61.57 61.57 0 0 1 10.15 34.279 60.9 60.9 0 0 1-4.6 23.353 61 61 0 0 1-13.19 19.814 61 61 0 0 1-43.11 17.933h-1.2z m168.5-199a120.83 120.83 0 0 0-78.7-52.2c-15.8-1-22.7 3.9-23.6 12.8 0 10.8 6.9 14.8 15.8 15.8a66.8 66.8 0 0 1 27.6 9.8 101.1 101.1 0 0 1 33.46 29.192A101.3 101.3 0 0 1 425 156.5a15.64 15.64 0 0 0 4.39 11.055 15.6 15.6 0 0 0 10.91 4.745h0.4c8.9 0 13.8-6.9 13.8-17.7a97.08 97.08 0 0 0-21.8-54.2m-93.5-4c-8 0-14.8 3-15.8 11.8-0.91 3.42-0.43 7.061 1.33 10.131a13.45 13.45 0 0 0 8.07 6.269c0.81 0.238 1.65 0.373 2.5 0.4a50.3 50.3 0 0 1 28.21 14.189 50.28 50.28 0 0 1 14.19 28.211 14.6 14.6 0 0 0 16.1 12.9c0.2 0 0.5-0.1 0.7-0.1a12.87 12.87 0 0 0 11.8-13.8 76.81 76.81 0 0 0-67.1-70m-73.9 108.4c-4.2-0.202-8.41 0.427-12.37 1.852a32.2 32.2 0 0 0-10.71 6.449 32 32 0 0 0-7.42 10.061 31.9 31.9 0 0 0-3 12.138v3a31.3 31.3 0 0 0 7.6 22.691 31.34 31.34 0 0 0 21.4 10.709c1.2 0.1 2.3 0.1 3.5 0.1 4.2 0.214 8.41-0.403 12.37-1.815a32.1 32.1 0 0 0 10.74-6.417 32 32 0 0 0 7.45-10.039 32.1 32.1 0 0 0 3.04-12.129c0.1-1.031 0.1-2.069 0-3.1a31.92 31.92 0 0 0-8.14-22.96 31.92 31.92 0 0 0-21.96-10.54z\", style: { fill: \"currentcolor\" } }] }, link: { viewBox: \"0 0 512 512\", paths: [{ d: \"M472.8299999999999 100.5c-15.83-39.171-54.21-64.1-96.55-63.307a95.7 95.7 0 0 0-66.08 22.157c-13.05 10.683-24.53 22.949-36.79 34.424-13.06 12.661-25.72 25.323-38.78 37.984a20.2 20.2 0 0 0-5.79 10.347 20.14 20.14 0 0 0 1.04 11.811 17.905 17.905 0 0 0 16.22 12.266c7.52 0.4 14.64-3.165 19.79-9.1l62.91-61.725c25.32-25.718 66.47-26.114 92.59-1.582a63.05 63.05 0 0 1 18.59 44.432 63.06 63.06 0 0 1-18.2 44.594 8.4 8.4 0 0 1-1.98 1.583c-29.27 29.279-58.55 57.768-87.83 86.652-4.8 4.386-9.97 8.357-15.44 11.87a65.49 65.49 0 0 1-82.69-17.409 21.45 21.45 0 0 0-26.51-9.1c-13.45 5.54-15.83 19.784-5.15 33.632 36.41 45.9 103.28 53.416 149.17 17.014 2.38-1.978 4.75-4.352 7.13-6.726 30.46-29.28 60.93-58.956 91-89.027a102 102 0 0 0 28.59-52.039 102 102 0 0 0-5.24-59.144m-225.14 253.624a4725 4725 0 0 0-63.71 62.512 66.32 66.32 0 0 1-45.89 19.83 66.33 66.33 0 0 1-46.69-17.85 62.6 62.6 0 0 1-13.91-20.28 62.5 62.5 0 0 1-5.04-24.068 62.68 62.68 0 0 1 18.16-44.676l2.37-2.374c28.88-28.488 58.16-56.977 87.05-85.466a69.7 69.7 0 0 1 16.22-12.265 66.4 66.4 0 0 1 44.11-6.352 66.37 66.37 0 0 1 38.19 22.97 19.5 19.5 0 0 0 5.43 5.45 19.355 19.355 0 0 0 21.87-0.306 19.9 19.9 0 0 0 5.46-5.552 19.9 19.9 0 0 0 2.89-7.226c0.48-2.576 0.44-5.221-0.11-7.783a19.7 19.7 0 0 0-3.1-7.139c-0.39-0.792-1.18-1.583-1.58-2.374a106.514 106.514 0 0 0-149.56-14.64 41.6 41.6 0 0 0-4.35 3.561c-32.05 30.467-63.31 61.329-94.57 92.587a100.2 100.2 0 0 0-27.41 51.981 100.25 100.25 0 0 0 6.44 58.412 101.78 101.78 0 0 0 38.43 46.09 101.8 101.8 0 0 0 57.72 16.43 97.13 97.13 0 0 0 68.45-24.14c24.93-22.95 48.67-47.48 72.8-71.22a18.754 18.754 0 0 0 4.36-22.159 20.4 20.4 0 0 0-11.52-10.239 20.4 20.4 0 0 0-15.39 0.739 17.74 17.74 0 0 0-7.52 5.54z\", style: { fill: \"currentcolor\" } }] }, \"magnet-link\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M410.3000000000002 285.3a134.1 134.1 0 0 0 38.34-94.526 134.1 134.1 0 0 0-39.27-94.141 134.08 134.08 0 0 0-94.14-39.268A134.09 134.09 0 0 0 220.69999999999982 95.7\", style: { stroke: \"currentcolor\", strokeMiterlimit: \"10\", strokeWidth: \"31.764\", fill: \"none\" } }, { d: \"M347.09999999999945 222.1a44.7 44.7 0 0 0 13.09-31.6 44.693 44.693 0 0 0-44.69-44.689 44.7 44.7 0 0 0-31.6 13.089\", style: { stroke: \"currentcolor\", strokeMiterlimit: \"10\", strokeWidth: \"31.764\", fill: \"none\" } }, { d: \"M189.19999999999982 443.8v-46\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"31.764\", fill: \"none\" } }, { d: \"M101.59999999999945 404.499l31.6-31.6\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"31.764\", fill: \"none\" } }, { d: \"M66.69999999999982 305.899h46\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"31.764\", fill: \"none\" } }, { d: \"M284 158.9L178.69999999999982 264.2a29.82 29.82 0 0 1-21.05 8.7c-7.89 0-15.46-3.129-21.05-8.7l-21.2-21a29.82 29.82 0 0 1-8.7-21.05c0-7.892 3.13-15.461 8.7-21.05l105.4-105.3\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"31.764\", fill: \"none\" } }, { d: \"M410.3000000000002 285.3l-105.3 105.4a29.82 29.82 0 0 1-21.05 8.7c-7.89 0-15.46-3.129-21.05-8.7l-21-21.1a29.82 29.82 0 0 1 0-42.1l105.3-105.4\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"31.764\", fill: \"none\" } }, { d: \"M147.59999999999945 170l63.2 63.2\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"31.764\", fill: \"none\" } }, { d: \"M274 296.399l63.2 63.2\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"31.764\", fill: \"none\" } }] }, help: { viewBox: \"0 0 512 512\", paths: [{ d: \"M155.70000000000073 438.8c98.6 56.9 224.6 23.1 281.5-75.4 56.9-98.6 23.1-224.6-75.4-281.5-98.6-56.9-224.6-23.1-281.5 75.4-56.9 98.6-23.2 224.6 75.4 281.5\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"34.354\", fill: \"none\" } }, { d: \"M224.40000000000055 319.9a68.683 68.683 0 0 0 102.58-67.313 68.68 68.68 0 0 0-22.94-43.79 68.69 68.69 0 0 0-92.24 1.501 68.68 68.68 0 0 0-21.5 44.513 68.7 68.7 0 0 0 13.96 47.423 68.7 68.7 0 0 0 20.14 17.666\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"34.354\", fill: \"none\" } }, { d: \"M320.40000000000055 63.6l-47.1 125.801\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"34.354\", fill: \"none\" } }, { d: \"M313 212.301l85.4-103.7\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"34.354\", fill: \"none\" } }, { d: \"M119.20000000000073 412.1l85.4-103.7\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"34.354\", fill: \"none\" } }, { d: \"M244.30000000000018 331.301l-47.1 125.8\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"34.354\", fill: \"none\" } }, { d: \"M455.5 322l-125.8-47.1\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"34.354\", fill: \"none\" } }, { d: \"M306.8000000000002 314.5l103.8 85.3\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"34.354\", fill: \"none\" } }, { d: \"M107 120.801l103.7 85.4\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"34.354\", fill: \"none\" } }, { d: \"M187.80000000000018 245.801l-125.8-47.2\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"34.354\", fill: \"none\" } }] }, \"search-outline\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M221.1 64a156.968 156.968 0 0 0-156.146 141.65 156.972 156.972 0 0 0 125.651 169.29c38.22 7.59 77.896 0.7 111.313-19.35a156.96 156.96 0 0 0 69.488-89.08 157 157 0 0 0-8.336-112.68 157 157 0 0 0-81.841-77.89 157 157 0 0 0-60.129-11.94Z\", style: { stroke: \"currentcolor\", strokeMiterlimit: \"10\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M338.3 338.29999999999995L448 448\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"32\", fill: \"none\" } }] }, search: { viewBox: \"0 0 512 512\", paths: [{ d: \"M456.7 437.4000000000001l-94.1-94.1a173.25 173.25 0 0 0 34.8-104.6c0-96.3-78.4-174.7-174.7-174.7S48 142.4000000000001 48 238.79999999999973c0 96.3 78.4 174.7 174.7 174.7 37.71 0 74.406-12.21 104.6-34.8l94.1 94.1a24.96 24.96 0 0 0 12.646 6.09c4.711 0.78 9.546 0.19 13.933-1.69a25.05 25.05 0 0 0 10.823-8.94 25 25 0 0 0 4.298-13.36 25.94 25.94 0 0 0-6.4-17.5M97.9 238.79999999999973a124.67 124.67 0 0 1 32.268-83.74 124.674 124.674 0 0 1 166.653-16.49 124.7 124.7 0 0 1 48.049 75.8c6.054 30.36 0.6 61.88-15.299 88.43a124.73 124.73 0 0 1-70.722 55.26c-29.615 9-61.519 6.66-89.507-6.56A124.69 124.69 0 0 1 97.9 238.79999999999973\", style: { fill: \"currentcolor\" } }] }, \"home-outline\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M86.89999999999998 228.79999999999995v208.6c0.012 1.99 0.419 3.96 1.196 5.79 0.776 1.84 1.909 3.5 3.331 4.9a15.1 15.1 0 0 0 4.955 3.23c1.849 0.74 3.827 1.11 5.818 1.08H194v-127.5a22.75 22.75 0 0 1 6.804-15.98 22.74 22.74 0 0 1 16.096-6.52h76.5c2.982-0.03 5.939 0.53 8.704 1.65a22.9 22.9 0 0 1 7.409 4.85 22.7 22.7 0 0 1 4.985 7.33 22.7 22.7 0 0 1 1.802 8.67v127.5h91.8c1.99 0.02 3.97-0.34 5.82-1.09 1.84-0.74 3.53-1.84 4.95-3.23s2.55-3.06 3.33-4.89 1.19-3.8 1.2-5.79v-208.6\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M476.29999999999995 270.4000000000001l-210.4-206.9a16.295 16.295 0 0 0-21.5 0l-210.2 206.9\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }] }, home: { viewBox: \"0 0 512 512\", paths: [{ d: \"M260.4 99a7.98 7.98 0 0 0-5.55-2.25c-2.072 0-4.063 0.81-5.55 2.25l-184.8 176.5a7.944 7.944 0 0 0-2.5 5.8v165.7a32.14 32.14 0 0 0 9.41 22.69 32.13 32.13 0 0 0 22.69 9.41h96.5a16.1 16.1 0 0 0 11.384-4.72 16.07 16.07 0 0 0 4.716-11.38v-136.5a8.024 8.024 0 0 1 8-8H295a8.024 8.024 0 0 1 8 8v136.5c-0.002 2.12 0.412 4.21 1.22 6.16a16 16 0 0 0 3.49 5.23 16.091 16.091 0 0 0 11.39 4.71h96.4c8.51-0.01 16.67-3.39 22.69-9.41s9.4-14.18 9.41-22.69v-165.7c0-1.09-0.22-2.16-0.65-3.16s-1.06-1.9-1.85-2.64z\", style: { fill: \"currentcolor\" } }, { d: \"M490.70000000000005 242.4000000000001l-75.1-71.8a943 943 0 0 0-80.3-76.9l-58.1-55.6a31.7 31.7 0 0 0-22.2-8.7 30.5 30.5 0 0 0-22.2 8.7l-213.5 204.3a16.43 16.43 0 0 0-1.3 22.5 16 16 0 0 0 4.938 3.83c1.882 0.95 3.931 1.51 6.03 1.65a15.9 15.9 0 0 0 6.203-0.78c1.996-0.67 3.84-1.72 5.429-3.1l0.6-0.6 208.3-199a7.98 7.98 0 0 1 5.55-2.25c2.072 0 4.063 0.81 5.55 2.25l208.3 199c3.08 2.93 7.18 4.53 11.43 4.45 4.25-0.07 8.3-1.82 11.27-4.85a16.582 16.582 0 0 0-0.9-23.1\", style: { fill: \"currentcolor\" } }] }, \"discover-outline\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M448 256c0-106-86-192-192-192s-192 86-192 192 86 192 192 192 192-86 192-192Z\", style: { stroke: \"currentcolor\", strokeMiterlimit: \"10\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M350.70000000000005 150.9000000000001l-117.2 46.9a63 63 0 0 0-21.5 14.2 66 66 0 0 0-14.2 21.5l-46.9 117.2a7.95 7.95 0 0 0-0.4 4.6 8.74 8.74 0 0 0 2.2 4.1 7.8 7.8 0 0 0 4.1 2.2c1.54 0.32 3.14 0.18 4.6-0.4l117.2-46.9c8.07-3.2 15.39-8.04 21.5-14.2a66.1 66.1 0 0 0 14.2-21.5l46.9-117.2c0.59-1.46 0.73-3.06 0.4-4.6a8.74 8.74 0 0 0-2.2-4.1 8.1 8.1 0 0 0-8.7-1.8m-94.7 129.1c-4.73 0.01-9.36-1.38-13.3-4a23.3 23.3 0 0 1-8.8-10.8c-1.81-4.4-2.29-9.23-1.4-13.9 0.91-4.67 3.21-8.96 6.6-12.3 2.23-2.23 4.87-4 7.78-5.22 2.91-1.21 6.03-1.83 9.18-1.84 3.16 0 6.28 0.62 9.19 1.82 2.92 1.2 5.57 2.96 7.8 5.19s4 4.87 5.22 7.78c1.21 2.91 1.83 6.03 1.84 9.18 0 3.16-0.62 6.28-1.82 9.19-1.2 2.92-2.96 5.57-5.19 7.8a24.32 24.32 0 0 1-17.1 7.1\", style: { fill: \"currentcolor\" } }] }, discover: { viewBox: \"0 0 512 512\", paths: [{ d: \"M256 280c5.57 0.02 10.97-1.9 15.28-5.42 4.32-3.53 7.28-8.44 8.37-13.9 1.1-5.46 0.27-11.13-2.34-16.04a24.03 24.03 0 0 0-12-10.91 24.065 24.065 0 0 0-29.24 8.83 24.04 24.04 0 0 0-3.95 15.73 24.03 24.03 0 0 0 6.93 14.66c4.5 4.5 10.59 7.03 16.95 7.05\", style: { fill: \"currentcolor\" } }, { d: \"M256 48c-114.7 0-208 93.3-208 208s93.3 208 208 208 208-93.3 208-208-93.3-208-208-208m105.1 113.4l-46.9 117.2a63 63 0 0 1-14.2 21.5 66 66 0 0 1-21.5 14.2l-117.2 46.9c-1.46 0.59-3.06 0.73-4.6 0.4a8.74 8.74 0 0 1-4.1-2.2 7.8 7.8 0 0 1-2.2-4.1c-0.32-1.54-0.18-3.14 0.4-4.6l46.9-117.2c3.2-8.07 8.04-15.39 14.2-21.5a66 66 0 0 1 21.5-14.2l117.2-46.9c1.46-0.58 3.06-0.72 4.6-0.4 1.54 0.35 2.96 1.11 4.1 2.2a7.8 7.8 0 0 1 2.2 4.1c0.32 1.54 0.18 3.14-0.4 4.6\", style: { fill: \"currentcolor\" } }] }, \"library-outline\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M419.0999999999999 176h-326.3a28.9 28.9 0 0 0-20.43 8.47 28.9 28.9 0 0 0-8.47 20.43V403.20000000000005a28.9 28.9 0 0 0 8.47 20.43 28.9 28.9 0 0 0 20.43 8.47h326.3a28.9 28.9 0 0 0 20.43-8.47A28.9 28.9 0 0 0 448 403.20000000000005v-198.3c0.01-3.8-0.74-7.56-2.19-11.07a29 29 0 0 0-6.26-9.38 29 29 0 0 0-9.38-6.26c-3.51-1.45-7.27-2.2-11.07-2.19Z\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M144 80h224\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M112 128h288\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"32\", fill: \"none\" } }] }, library: { viewBox: \"0 0 512 512\", paths: [{ d: \"M368 96h-224c-4.24 0-8.31-1.69-11.31-4.69s-4.69-7.07-4.69-11.31 1.69-8.31 4.69-11.31 7.07-4.69 11.31-4.69h224c4.24 0 8.31 1.69 11.31 4.69s4.69 7.07 4.69 11.31-1.69 8.31-4.69 11.31-7.07 4.69-11.31 4.69\", style: { fill: \"currentcolor\" } }, { d: \"M400 144h-288c-4.24 0-8.31-1.69-11.31-4.69s-4.69-7.07-4.69-11.31 1.69-8.31 4.69-11.31 7.07-4.69 11.31-4.69h288c4.24 0 8.31 1.69 11.31 4.69s4.69 7.07 4.69 11.31-1.69 8.31-4.69 11.31-7.07 4.69-11.31 4.69\", style: { fill: \"currentcolor\" } }, { d: \"M419.0999999999999 448h-326.3a45.06 45.06 0 0 1-31.7-13.2 45.04 45.04 0 0 1-13.2-31.7v-198.3a45.06 45.06 0 0 1 13.2-31.7 45.1 45.1 0 0 1 31.7-13.2h326.3a44.48 44.48 0 0 1 31.7 13.2 45.3 45.3 0 0 1 13.2 31.7V403.0999999999999a45.04 45.04 0 0 1-13.2 31.7 45.06 45.06 0 0 1-31.7 13.2\", style: { fill: \"currentcolor\" } }] }, \"addons-outline\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M413.6999999999998 246.10000000000014H386c-0.53-0.01-1.03-0.23-1.4-0.6s-0.59-0.87-0.6-1.4v-77.2a38.94 38.94 0 0 0-11.4-27.5 38.94 38.94 0 0 0-27.5-11.4h-77.2c-0.53-0.01-1.03-0.23-1.4-0.6s-0.59-0.87-0.6-1.4v-27.7c0-27.1-21.5-49.9-48.6-50.3-6.57-0.1-13.09 1.09-19.2 3.5a49.6 49.6 0 0 0-16.4 10.7 49.8 49.8 0 0 0-11 16.2 48.9 48.9 0 0 0-3.9 19.2v28.5c-0.01 0.53-0.23 1.03-0.6 1.4s-0.87 0.59-1.4 0.6h-77.2c-10.5 0-20.57 4.17-28 11.6a39.6 39.6 0 0 0-11.6 28v70.4c0.01 0.53 0.23 1.03 0.6 1.4s0.87 0.59 1.4 0.6h26.9c29.4 0 53.7 25.5 54.1 54.8 0.4 29.9-23.5 57.2-53.3 57.2H50c-0.53 0.01-1.03 0.23-1.4 0.6s-0.59 0.87-0.6 1.4v70.4c0 10.5 4.17 20.57 11.6 28s17.5 11.6 28 11.6h70.4c0.53-0.01 1.03-0.23 1.4-0.6s0.59-0.87 0.6-1.4V441.20000000000005c0-30.3 24.8-56.4 55-57.1 30.1-0.7 57 20.3 57 50.3v27.7c0.01 0.53 0.23 1.03 0.6 1.4s0.87 0.59 1.4 0.6h71.1a38.94 38.94 0 0 0 27.5-11.4 38.96 38.96 0 0 0 11.4-27.5v-78c0.01-0.53 0.23-1.03 0.6-1.4s0.87-0.59 1.4-0.6h28.5c27.6 0 49.5-22.7 49.5-50.4s-23.2-48.7-50.3-48.7\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }] }, addons: { viewBox: \"0 0 512 512\", paths: [{ d: \"M345.0999999999999 480H274c-2.36 0.01-4.71-0.45-6.89-1.36s-4.16-2.25-5.81-3.94a18 18 0 0 1-5.3-12.7v-27.7c0.03-4.26-0.82-8.48-2.5-12.4a32.3 32.3 0 0 0-7.2-10.4c-7.8-7.6-19.1-11.8-30.9-11.5-21.4 0.5-39.4 19.3-39.4 41.1v20.9c0.01 2.36-0.45 4.71-1.36 6.89s-2.25 4.16-3.94 5.81a18.02 18.02 0 0 1-12.7 5.3h-70.4a55.67 55.67 0 0 1-39.36-16.26 55.64 55.64 0 0 1-16.34-39.34v-70.4a18.1 18.1 0 0 1 5.3-12.7 18.1 18.1 0 0 1 12.7-5.3h27.7c9.2 0 18.1-3.9 25.1-11 3.9-3.92 7-8.58 9.1-13.7a40.7 40.7 0 0 0 3.1-16.2c-0.3-21.2-17.7-39.1-38.1-39.1H50c-2.36 0.01-4.71-0.45-6.89-1.36s-4.16-2.25-5.81-3.94a18 18 0 0 1-5.3-12.7v-70.4a55.8 55.8 0 0 1 4.2-21.3 53.9 53.9 0 0 1 12.1-18 55.7 55.7 0 0 1 39.3-16.3h55.2a8.08 8.08 0 0 0 5.7-2.3c0.74-0.75 1.33-1.64 1.72-2.62 0.4-0.98 0.6-2.02 0.58-3.08v-6.5a64.7 64.7 0 0 1 5.1-25.3 66.6 66.6 0 0 1 14.5-21.4 65.2 65.2 0 0 1 21.7-14.1c8.08-3.2 16.71-4.8 25.4-4.7 35.5 0.6 64.4 30.4 64.4 66.3v5.7a7.8 7.8 0 0 0 1.3 4.48 7.8 7.8 0 0 0 3.62 2.95c0.98 0.39 2.03 0.59 3.08 0.57h55.2c7.21-0.01 14.35 1.42 21 4.2a55 55 0 0 1 29.7 29.7 54.3 54.3 0 0 1 4.2 21v55.2a7.8 7.8 0 0 0 1.3 4.48 7.8 7.8 0 0 0 3.62 2.95c0.98 0.39 2.03 0.59 3.08 0.57h5.7c36.6 0 66.3 29 66.3 64.6 0 36.6-29.4 66.4-65.5 66.4h-6.5c-2.13-0.01-4.17 0.82-5.7 2.3-0.74 0.75-1.33 1.64-1.72 2.62-0.4 0.98-0.6 2.03-0.58 3.08v56c0.01 7.21-1.42 14.35-4.2 21a55 55 0 0 1-29.7 29.7 53.9 53.9 0 0 1-21 4.2\", style: { fill: \"currentcolor\" } }] }, \"settings-outline\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M456.6999999999998 242.29999999999995l-26.1-4.2a8.2 8.2 0 0 1-4.4-2.3 8.3 8.3 0 0 1-2.2-4.5c-0.5-3.2-1-6.4-1.7-9.5-0.31-1.66-0.1-3.37 0.6-4.9a8.57 8.57 0 0 1 3.3-3.7l23.1-12.8a7.75 7.75 0 0 0 3.8-4.2c0.68-1.83 0.72-3.84 0.1-5.7l-4-11c-0.68-1.83-2-3.35-3.7-4.3a8 8 0 0 0-5.7-0.7l-25.9 5c-1.69 0.3-3.43 0.09-5-0.6a7.22 7.22 0 0 1-3.6-3.5q-2.25-4.2-4.8-8.4a8.16 8.16 0 0 1-1.2-4.91c0.13-1.73 0.79-3.37 1.9-4.69l17.3-19.9a8.42 8.42 0 0 0 2.2-5.2c0.09-1.98-0.59-3.91-1.9-5.4l-7.5-9a7.87 7.87 0 0 0-5-2.8 7.72 7.72 0 0 0-5.5 1.3l-22.7 13.6a8.14 8.14 0 0 1-4.8 1.1 7.4 7.4 0 0 1-4.6-2c-2.4-2.1-4.9-4.2-7.4-6.2a8.3 8.3 0 0 1-2.7-4.21c-0.45-1.64-0.38-3.39 0.2-4.99l9.4-24.8c0.8-1.81 0.9-3.85 0.29-5.73a8.08 8.08 0 0 0-3.59-4.47l-10.2-5.9a7.83 7.83 0 0 0-5.6-0.9 8.14 8.14 0 0 0-4.8 3.1l-16.6 20.8a6.93 6.93 0 0 1-3.8 2.7 7.63 7.63 0 0 1-4.7-0.2s-5.6-2.3-9.8-3.7a8.17 8.17 0 0 1-3.98-2.97 8.1 8.1 0 0 1-1.52-4.73l0.4-26.4c0.1-1.98-0.5-3.93-1.7-5.5a8.7 8.7 0 0 0-4.9-3l-11.6-2c-1.94-0.29-3.92 0.1-5.6 1.1a8.17 8.17 0 0 0-3.5 4.5l-8.6 25.1c-0.58 1.6-1.62 3-3 4-1.39 1-3.09 1.49-4.8 1.4h-9.8c-1.7 0-3.37-0.49-4.8-1.4a7.88 7.88 0 0 1-3-4l-8.6-25.1a7.9 7.9 0 0 0-3.5-4.5c-1.68-1-3.66-1.39-5.6-1.1l-11.6 2a8.17 8.17 0 0 0-4.9 3 8.36 8.36 0 0 0-1.7 5.5l0.4 26.4c0.01 1.72-0.51 3.39-1.5 4.8a8.5 8.5 0 0 1-4 3c-2.3 0.9-7.3 2.8-9.7 3.7-2.8 1-6.1 0.2-8.8-2.9L167 75.20000000000005a8.14 8.14 0 0 0-4.8-3.1 7.83 7.83 0 0 0-5.6 0.9l-10.2 5.9c-1.71 0.96-3 2.53-3.6 4.4s-0.5 3.9 0.3 5.7l9.4 24.8c0.62 1.6 0.69 3.36 0.2 5a8.33 8.33 0 0 1-2.7 4.2c-2.5 2-5 4.1-7.4 6.2a8.7 8.7 0 0 1-4.6 2c-1.68 0.2-3.38-0.19-4.8-1.1l-22.4-13.8a7.7 7.7 0 0 0-5.5-1.2 8.43 8.43 0 0 0-5 2.8l-7.5 9a8.13 8.13 0 0 0-1.9 5.4c0.07 1.94 0.85 3.8 2.2 5.2l17.3 19.9a7.9 7.9 0 0 1 1.9 4.6c0.11 1.72-0.31 3.43-1.2 4.9q-2.55 4.05-4.8 8.4a7.9 7.9 0 0 1-3.6 3.4c-1.56 0.73-3.3 0.98-5 0.7l-25.9-5a7.74 7.74 0 0 0-5.6 0.7 8.37 8.37 0 0 0-3.8 4.3l-4 11c-0.72 1.84-0.68 3.89 0.1 5.7a8.12 8.12 0 0 0 3.8 4.2l23.1 12.8a7.6 7.6 0 0 1 3.4 3.7c0.71 1.53 0.89 3.26 0.5 4.9-0.6 3.2-1.2 6.3-1.7 9.5-0.21 1.7-0.99 3.29-2.2 4.5a8.2 8.2 0 0 1-4.4 2.3l-26.1 4.2c-1.92 0.24-3.7 1.17-5 2.6a8.65 8.65 0 0 0-2.1 5.3v11.7c-0.01 1.96 0.71 3.86 2.02 5.32a7.95 7.95 0 0 0 5.08 2.58l26.1 4.2a8.2 8.2 0 0 1 4.4 2.3 8.3 8.3 0 0 1 2.2 4.5c0.5 3.2 1 6.4 1.7 9.5 0.31 1.66 0.1 3.37-0.6 4.9a9 9 0 0 1-3.3 3.7l-23.1 12.8a7.75 7.75 0 0 0-3.8 4.2 8.57 8.57 0 0 0-0.1 5.7l4 11c0.68 1.83 2 3.35 3.7 4.3 1.75 0.93 3.78 1.18 5.7 0.7l25.9-5c1.69-0.3 3.43-0.09 5 0.6a7.64 7.64 0 0 1 3.6 3.5q2.25 4.2 4.8 8.4a8.16 8.16 0 0 1 1.2 4.91 8.23 8.23 0 0 1-1.9 4.69l-17.3 20a8.4 8.4 0 0 0-2.2 5.2c-0.09 1.98 0.59 3.91 1.9 5.4l7.5 9a7.87 7.87 0 0 0 5 2.8c1.93 0.28 3.9-0.19 5.5-1.3l22.7-13.6a8.3 8.3 0 0 1 4.8-1.1c1.71 0.16 3.32 0.86 4.6 2 2.4 2.1 4.9 4.2 7.4 6.2a7.87 7.87 0 0 1 2.7 4.2 8.6 8.6 0 0 1-0.2 5l-9.4 24.8c-0.8 1.8-0.9 3.83-0.3 5.7s1.89 3.44 3.6 4.4l10.2 5.9c1.69 0.99 3.69 1.31 5.6 0.9a8.14 8.14 0 0 0 4.8-3.1l16.8-20.6c2.1-2.6 5.5-3.7 8.2-2.6 3.4 1.4 5.7 2.2 9.9 3.6 1.62 0.54 3.03 1.59 4 3 0.99 1.4 1.51 3.08 1.5 4.8l-0.4 26.4c-0.1 1.98 0.5 3.93 1.7 5.5a8.17 8.17 0 0 0 4.9 3l11.6 2c1.94 0.29 3.92-0.1 5.6-1.1a8.17 8.17 0 0 0 3.5-4.5l8.6-25c0.58-1.6 1.62-3 3-4 1.39-1 3.09-1.49 4.8-1.4h9.8c1.7 0 3.37 0.49 4.8 1.4 1.41 0.97 2.46 2.38 3 4l8.6 25a7.9 7.9 0 0 0 3.5 4.5c1.68 1 3.66 1.39 5.6 1.1l11.6-2a8.23 8.23 0 0 0 4.9-3.01 8.16 8.16 0 0 0 1.7-5.49l-0.4-26.4c-0.01-1.72 0.51-3.4 1.5-4.8 1-1.38 2.4-2.42 4-3 4.2-1.4 7-2.5 9.6-3.5a6.835 6.835 0 0 1 8.3 2.1l17 20.9a8.14 8.14 0 0 0 4.8 3.1c1.91 0.41 3.91 0.09 5.6-0.9l10.2-5.9a8.2 8.2 0 0 0 3.6-4.4c0.6-1.87 0.5-3.9-0.3-5.7l-9.4-24.8c-0.62-1.6-0.69-3.36-0.2-5a9 9 0 0 1 2.7-4.2c2.5-2 5-4.1 7.4-6.2a8.7 8.7 0 0 1 4.6-2c1.68-0.2 3.38 0.19 4.8 1.1l22.6 13.7a7.64 7.64 0 0 0 5.5 1.2 8.43 8.43 0 0 0 5-2.8l7.5-9a8.13 8.13 0 0 0 1.9-5.4 7.68 7.68 0 0 0-2.2-5.2l-17.3-19.9a7.9 7.9 0 0 1-1.9-4.6c-0.11-1.72 0.31-3.43 1.2-4.9q2.55-4.05 4.8-8.4c0.83-1.5 2.08-2.71 3.6-3.5 1.56-0.73 3.3-0.98 5-0.7l25.9 5c1.89 0.48 3.89 0.23 5.6-0.7 1.75-0.92 3.1-2.45 3.8-4.3l4-11c0.72-1.84 0.68-3.89-0.1-5.7a8.12 8.12 0 0 0-3.8-4.2l-23.1-12.8a7.64 7.64 0 0 1-3.4-3.7 7.82 7.82 0 0 1-0.5-5c0.6-3.2 1.2-6.3 1.7-9.5 0.21-1.7 0.98-3.29 2.2-4.5a8.2 8.2 0 0 1 4.4-2.3l26.1-4.2c1.92-0.24 3.7-1.17 5-2.6a8.65 8.65 0 0 0 2.1-5.3v-11.7a8.4 8.4 0 0 0-2.2-5.2 8.02 8.02 0 0 0-5-2.5M256 112a143.96 143.96 0 0 1 139.4 108.1c0.58 2.36 0.62 4.82 0.1 7.2-0.52 2.36-1.55 4.57-3 6.5-1.48 1.92-3.4 3.47-5.6 4.5a15.6 15.6 0 0 1-7 1.6h-105.2a16.27 16.27 0 0 1-14-8.1l-52.1-91.7a16.75 16.75 0 0 1-2.1-7c-0.1-2.46 0.31-4.91 1.2-7.2 0.92-2.29 2.4-4.32 4.3-5.9a15.8 15.8 0 0 1 6.4-3.4c12.3-3.03 24.93-4.57 37.6-4.6m-144 144c-0.02-19.28 3.82-38.36 11.31-56.12a143.9 143.9 0 0 1 32.29-47.28c1.77-1.69 3.89-2.99 6.2-3.8a16 16 0 0 1 7.2-0.7c2.44 0.31 4.77 1.2 6.8 2.6 2.01 1.38 3.68 3.19 4.9 5.3l52.2 91.9c1.38 2.4 2.1 5.13 2.1 7.9 0.02 2.77-0.71 5.5-2.1 7.9l-52.7 91.7c-1.2 2.15-2.92 3.97-5 5.3-2.08 1.3-4.39 2.18-6.8 2.6-2.42 0.32-4.89 0.08-7.2-0.7-2.31-0.81-4.43-2.11-6.2-3.8a143.3 143.3 0 0 1-32-47.1 147 147 0 0 1-11-55.7m144 144c-12.89 0.02-25.73-1.62-38.2-4.9-2.38-0.6-4.57-1.77-6.4-3.4a15.65 15.65 0 0 1-4.2-5.9c-0.95-2.28-1.36-4.74-1.2-7.21 0.16-2.46 0.87-4.85 2.1-6.99l52.6-91.5a15.9 15.9 0 0 1 5.87-5.88c2.44-1.41 5.21-2.14 8.03-2.12H380c2.43-0.02 4.82 0.53 7 1.6 3.28 1.61 5.91 4.29 7.45 7.6 1.55 3.31 1.92 7.05 1.05 10.6a144 144 0 0 1-51.24 77.93 143.97 143.97 0 0 1-88.26 30.17\", style: { fill: \"currentcolor\" } }] }, \"filters-outline\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M46.5 107.29999999999995l160.3 186.7c2.37 2.76 3.71 6.26 3.8 9.9v113.4c-0.03 1.59 0.45 3.14 1.37 4.44a7.46 7.46 0 0 0 3.73 2.76l76.2 25.3a7.694 7.694 0 0 0 9.6-4.7c0.29-0.8 0.42-1.65 0.4-2.5v-138.8c0.01-3.65 1.36-7.18 3.8-9.9l160.2-186.7c2.29-2.68 3.43-6.17 3.17-9.69s-1.9-6.79-4.57-9.11c-2.39-2.07-5.44-3.2-8.6-3.2h-399.1c-1.75-0.01-3.48 0.33-5.1 0.99-1.62 0.67-3.09 1.64-4.33 2.88a13.3 13.3 0 0 0-2.88 4.33c-0.66 1.62-1 3.35-0.99 5.1a12.1 12.1 0 0 0 3 8.8\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }] }, filters: { viewBox: \"0 0 512 512\", paths: [{ d: \"M46.5 107.40000000000009l160.3 186.7c2.37 2.76 3.71 6.26 3.8 9.9v113.4c-0.03 1.59 0.45 3.14 1.37 4.44a7.46 7.46 0 0 0 3.73 2.76l76.2 25.3c1.9 0.61 3.96 0.47 5.75-0.41a7.73 7.73 0 0 0 3.85-4.29c0.29-0.8 0.42-1.65 0.4-2.5V304c0.01-3.65 1.36-7.18 3.8-9.9l160.2-186.7c2.29-2.69 3.43-6.17 3.17-9.69s-1.9-6.79-4.57-9.11a13.07 13.07 0 0 0-8.6-3.2h-399.1c-1.75-0.01-3.48 0.33-5.1 0.99-1.62 0.67-3.09 1.64-4.33 2.88a13.3 13.3 0 0 0-2.88 4.33c-0.66 1.62-1 3.35-0.99 5.1-0.17 3.18 0.9 6.3 3 8.7\", style: { fill: \"currentcolor\" } }] }, \"calendar-outline\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M101.30000000000018 81h320a48.003 48.003 0 0 1 48 48v288a48.003 48.003 0 0 1-48 48h-320a48.003 48.003 0 0 1-48-48v-288a48.003 48.003 0 0 1 48-48Z\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M301.3000000000002 257c5.95 0.01 11.69-2.2 16.11-6.19 4.41-3.99 7.19-9.48 7.78-15.4 0.59-5.93-1.04-11.86-4.58-16.64a23.9 23.9 0 0 0-14.57-9.25 23.97 23.97 0 0 0-17 2.92 23.983 23.983 0 0 0-9.4 30.8 24.04 24.04 0 0 0 12.48 11.92c2.91 1.21 6.03 1.83 9.18 1.84\", style: { fill: \"currentcolor\" } }, { d: \"M381.3000000000002 257c5.95 0.01 11.69-2.2 16.11-6.19 4.41-3.99 7.19-9.48 7.78-15.4 0.59-5.93-1.04-11.86-4.58-16.64a23.9 23.9 0 0 0-14.57-9.25 23.97 23.97 0 0 0-17 2.92 23.983 23.983 0 0 0-9.4 30.8 24.04 24.04 0 0 0 12.48 11.92c2.91 1.21 6.03 1.83 9.18 1.84\", style: { fill: \"currentcolor\" } }, { d: \"M301.3000000000002 337c5.95 0.01 11.69-2.2 16.11-6.19 4.41-3.99 7.19-9.48 7.78-15.4 0.59-5.93-1.04-11.86-4.58-16.64a23.9 23.9 0 0 0-14.57-9.25 23.97 23.97 0 0 0-17 2.92 23.983 23.983 0 0 0-9.4 30.8 24.04 24.04 0 0 0 12.48 11.92c2.91 1.21 6.03 1.83 9.18 1.84\", style: { fill: \"currentcolor\" } }, { d: \"M381.3000000000002 337c5.95 0.01 11.69-2.2 16.11-6.19 4.41-3.99 7.19-9.48 7.78-15.4 0.59-5.93-1.04-11.86-4.58-16.64a23.9 23.9 0 0 0-14.57-9.25 23.97 23.97 0 0 0-17 2.92 23.983 23.983 0 0 0-9.4 30.8 24.04 24.04 0 0 0 12.48 11.92c2.91 1.21 6.03 1.83 9.18 1.84\", style: { fill: \"currentcolor\" } }, { d: \"M141.30000000000018 337c5.95 0.01 11.69-2.2 16.11-6.19 4.41-3.99 7.19-9.48 7.78-15.4 0.59-5.93-1.04-11.86-4.58-16.64a23.9 23.9 0 0 0-14.57-9.25 23.97 23.97 0 0 0-17 2.92 23.983 23.983 0 0 0-9.4 30.8 24.04 24.04 0 0 0 12.48 11.92c2.91 1.21 6.03 1.83 9.18 1.84\", style: { fill: \"currentcolor\" } }, { d: \"M221.30000000000018 337c5.95 0.01 11.69-2.2 16.11-6.19 4.41-3.99 7.19-9.48 7.78-15.4 0.59-5.93-1.04-11.86-4.58-16.64a23.9 23.9 0 0 0-14.57-9.25 23.97 23.97 0 0 0-17 2.92 23.983 23.983 0 0 0-9.4 30.8 24.04 24.04 0 0 0 12.48 11.92c2.91 1.21 6.03 1.83 9.18 1.84\", style: { fill: \"currentcolor\" } }, { d: \"M141.30000000000018 417c5.95 0.01 11.69-2.2 16.11-6.19 4.41-3.99 7.19-9.48 7.78-15.4 0.59-5.93-1.04-11.86-4.58-16.64a23.9 23.9 0 0 0-14.57-9.25 23.97 23.97 0 0 0-17 2.92 23.983 23.983 0 0 0-9.4 30.8 24.04 24.04 0 0 0 12.48 11.92c2.91 1.21 6.03 1.83 9.18 1.84\", style: { fill: \"currentcolor\" } }, { d: \"M221.30000000000018 417c5.95 0.01 11.69-2.2 16.11-6.19 4.41-3.99 7.19-9.48 7.78-15.4 0.59-5.93-1.04-11.86-4.58-16.64a23.9 23.9 0 0 0-14.57-9.25 23.97 23.97 0 0 0-17 2.92 23.983 23.983 0 0 0-9.4 30.8 24.04 24.04 0 0 0 12.48 11.92c2.91 1.21 6.03 1.83 9.18 1.84\", style: { fill: \"currentcolor\" } }, { d: \"M301.3000000000002 417c5.95 0.01 11.69-2.2 16.11-6.19 4.41-3.99 7.19-9.48 7.78-15.4 0.59-5.93-1.04-11.86-4.58-16.64a23.9 23.9 0 0 0-14.57-9.25 23.97 23.97 0 0 0-17 2.92 23.983 23.983 0 0 0-9.4 30.8 24.04 24.04 0 0 0 12.48 11.92c2.91 1.21 6.03 1.83 9.18 1.84\", style: { fill: \"currentcolor\" } }, { d: \"M133.30000000000018 49v32\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M389.3000000000002 49v32\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M469.3000000000002 161h-416\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }] }, calendar: { viewBox: \"0 0 512 512\", paths: [{ d: \"M480 128a64.03 64.03 0 0 0-18.76-45.24c-12-12-28.27-18.75-45.24-18.76h-16v-15.6c0-8.6-6.6-16-15.2-16.4-4.24-0.18-8.37 1.31-11.52 4.16a16.13 16.13 0 0 0-5.28 11.04v16.8h-224v-15.6c0-8.6-6.6-16-15.2-16.4-4.24-0.18-8.37 1.31-11.52 4.16a16.13 16.13 0 0 0-5.28 11.04v16.8h-16a64.03 64.03 0 0 0-45.24 18.76c-12 12-18.75 28.27-18.76 45.24v12a4.014 4.014 0 0 0 4 4h440a4.014 4.014 0 0 0 4-4z\", style: { fill: \"currentcolor\" } }, { d: \"M32 416a64.03 64.03 0 0 0 18.76 45.24c12 12 28.27 18.75 45.24 18.76h320a64.03 64.03 0 0 0 45.24-18.76c12-12 18.75-28.27 18.76-45.24v-237c0.01-0.4-0.06-0.79-0.21-1.16s-0.37-0.7-0.65-0.98-0.61-0.5-0.98-0.65-0.76-0.22-1.16-0.21h-442c-0.4-0.01-0.79 0.06-1.16 0.21s-0.7 0.37-0.98 0.65-0.5 0.61-0.65 0.98-0.22 0.76-0.21 1.16z m344-208a23.97 23.97 0 0 1 16.08 6.24c4.4 4.01 7.15 9.51 7.72 15.43 0.58 5.92-1.08 11.84-4.63 16.61a23.9 23.9 0 0 1-14.59 9.2c-5.84 1.15-11.89 0.09-16.99-2.98-5.1-3.06-8.87-7.92-10.59-13.61a23.94 23.94 0 0 1 1.3-17.21 23.97 23.97 0 0 1 21.7-13.68m0 80a23.97 23.97 0 0 1 16.08 6.24c4.4 4.01 7.15 9.51 7.72 15.43 0.58 5.92-1.08 11.84-4.63 16.61a23.9 23.9 0 0 1-14.59 9.2c-5.84 1.15-11.89 0.09-16.99-2.98-5.1-3.06-8.87-7.92-10.59-13.61a23.94 23.94 0 0 1 1.3-17.21 23.97 23.97 0 0 1 21.7-13.68m-80-80a23.97 23.97 0 0 1 16.08 6.24c4.4 4.01 7.15 9.51 7.72 15.43 0.58 5.92-1.08 11.84-4.63 16.61a23.9 23.9 0 0 1-14.59 9.2c-5.84 1.15-11.89 0.09-16.99-2.98-5.1-3.06-8.87-7.92-10.59-13.61a23.94 23.94 0 0 1 1.3-17.21 23.97 23.97 0 0 1 21.7-13.68m0 80a23.97 23.97 0 0 1 16.08 6.24c4.4 4.01 7.15 9.51 7.72 15.43 0.58 5.92-1.08 11.84-4.63 16.61a23.9 23.9 0 0 1-14.59 9.2c-5.84 1.15-11.89 0.09-16.99-2.98-5.1-3.06-8.87-7.92-10.59-13.61a23.94 23.94 0 0 1 1.3-17.21 23.97 23.97 0 0 1 21.7-13.68m0 80a23.97 23.97 0 0 1 16.08 6.24c4.4 4.01 7.15 9.51 7.72 15.43 0.58 5.92-1.08 11.84-4.63 16.61a23.9 23.9 0 0 1-14.59 9.2c-5.84 1.15-11.89 0.09-16.99-2.98-5.1-3.06-8.87-7.92-10.59-13.61a23.94 23.94 0 0 1 1.3-17.21 23.97 23.97 0 0 1 21.7-13.68m-80-80a23.97 23.97 0 0 1 16.08 6.24c4.4 4.01 7.15 9.51 7.72 15.43 0.58 5.92-1.08 11.84-4.63 16.61a23.9 23.9 0 0 1-14.59 9.2c-5.84 1.15-11.89 0.09-16.99-2.98-5.1-3.06-8.87-7.92-10.59-13.61a23.94 23.94 0 0 1 1.3-17.21 23.97 23.97 0 0 1 21.7-13.68m0 80a23.97 23.97 0 0 1 16.08 6.24c4.4 4.01 7.15 9.51 7.72 15.43 0.58 5.92-1.08 11.84-4.63 16.61a23.9 23.9 0 0 1-14.59 9.2c-5.84 1.15-11.89 0.09-16.99-2.98-5.1-3.06-8.87-7.92-10.59-13.61a23.94 23.94 0 0 1 1.3-17.21 23.97 23.97 0 0 1 21.7-13.68m-80-80a23.97 23.97 0 0 1 16.08 6.24c4.4 4.01 7.15 9.51 7.72 15.43 0.58 5.92-1.08 11.84-4.63 16.61a23.9 23.9 0 0 1-14.59 9.2c-5.84 1.15-11.89 0.09-16.99-2.98-5.1-3.06-8.87-7.92-10.59-13.61a23.94 23.94 0 0 1 1.3-17.21 23.97 23.97 0 0 1 21.7-13.68m0 80a23.97 23.97 0 0 1 16.08 6.24c4.4 4.01 7.15 9.51 7.72 15.43 0.58 5.92-1.08 11.84-4.63 16.61a23.9 23.9 0 0 1-14.59 9.2c-5.84 1.15-11.89 0.09-16.99-2.98-5.1-3.06-8.87-7.92-10.59-13.61a23.94 23.94 0 0 1 1.3-17.21 23.97 23.97 0 0 1 21.7-13.68\", style: { fill: \"currentcolor\" } }] }, settings: { viewBox: \"0 0 512 512\", paths: [{ d: \"M464 250a10 10 0 0 0-2.9-6.7 10.8 10.8 0 0 0-6.5-3.3l-25.6-4.2a5.87 5.87 0 0 1-3-1.6 5.7 5.7 0 0 1-1.5-3.1c-0.5-3.2-1-6.4-1.7-9.5a5.36 5.36 0 0 1 0.4-3.3 6.63 6.63 0 0 1 2.2-2.5l22.8-12.7c2.26-1.16 4.01-3.12 4.9-5.5 0.93-2.37 0.97-5 0.1-7.4l-3.9-10.9a10.6 10.6 0 0 0-4.8-5.6 10.29 10.29 0 0 0-7.3-0.9l-25.5 5c-1.16 0.18-2.34 0.01-3.4-0.5a5.34 5.34 0 0 1-2.4-2.3q-2.25-4.2-4.8-8.4c-0.6-0.99-0.88-2.14-0.8-3.3 0.07-1.18 0.53-2.3 1.3-3.2l17-19.6c1.69-1.87 2.68-4.28 2.8-6.8 0.08-2.52-0.78-4.97-2.4-6.9l-7.4-8.9a10.3 10.3 0 0 0-13.6-2l-22.4 13.4c-1 0.58-2.15 0.83-3.3 0.7a5.24 5.24 0 0 1-3.1-1.4c-2.5-2.2-5-4.3-7.4-6.2a5.43 5.43 0 0 1-1.9-2.8c-0.28-1.13-0.21-2.31 0.2-3.4l9.3-24.4c0.99-2.33 1.1-4.95 0.31-7.36s-2.43-4.45-4.61-5.74l-10.1-5.9a10.34 10.34 0 0 0-7.3-1.2 9.96 9.96 0 0 0-6.2 4l-16.4 20.5a5.24 5.24 0 0 1-2.5 1.9c-1.02 0.33-2.13 0.26-3.1-0.2-0.6-0.2-5.8-2.4-9.8-3.7a5.5 5.5 0 0 1-2.7-2 5.3 5.3 0 0 1-1-3.2l0.4-26.1c0.15-2.55-0.63-5.08-2.2-7.1-1.55-2.01-3.8-3.36-6.3-3.8l-11.4-2c-2.49-0.4-5.04 0.09-7.2 1.4a10.5 10.5 0 0 0-4.5 5.8l-8.5 24.8a5.12 5.12 0 0 1-2.1 2.7c-0.98 0.64-2.13 0.96-3.3 0.9h-9.8c-1.15 0.04-2.28-0.31-3.2-1-0.97-0.66-1.7-1.6-2.1-2.7l-8.5-24.7c-0.71-2.43-2.32-4.51-4.5-5.8-2.16-1.3-4.71-1.79-7.2-1.4l-11.5 2c-2.48 0.48-4.72 1.83-6.3 3.8a9.97 9.97 0 0 0-2.2 7l0.4 26.2c-0.01 1.19-0.4 2.34-1.1 3.3-0.73 0.91-1.7 1.61-2.8 2-2.3 0.9-7.3 2.8-9.5 3.6-2 0.7-4.2-0.1-5.9-2.1l-16.3-20a9.96 9.96 0 0 0-6.2-4c-2.49-0.5-5.07-0.11-7.3 1.1l-10.1 5.8c-2.23 1.29-3.9 3.35-4.7 5.8-0.82 2.43-0.68 5.08 0.4 7.4l9.2 24.3c0.43 1.09 0.47 2.29 0.1 3.4-0.28 1.1-0.91 2.09-1.8 2.8-2.4 2-4.9 4-7.4 6.2-0.86 0.78-1.94 1.27-3.09 1.4s-2.31-0.12-3.31-0.7l-22.1-13.7a10.68 10.68 0 0 0-7.2-1.6c-2.51 0.36-4.79 1.64-6.4 3.6l-7.4 8.9a10.22 10.22 0 0 0-2.4 6.9c0.1 2.53 1.09 4.94 2.8 6.8l17.1 19.6c0.77 0.9 1.23 2.02 1.3 3.2a5.47 5.47 0 0 1-0.8 3.3c-1.7 2.7-3.3 5.6-4.8 8.4a5.8 5.8 0 0 1-2.5 2.4c-1.05 0.51-2.24 0.69-3.4 0.5l-25.5-4.9a10.2 10.2 0 0 0-7.31 0.91c-2.24 1.2-3.94 3.19-4.79 5.59l-4 10.9c-0.92 2.39-0.88 5.04 0.1 7.4 0.92 2.36 2.66 4.31 4.9 5.5l22.8 12.7c1.01 0.57 1.81 1.45 2.3 2.5 0.49 1.06 0.6 2.27 0.3 3.4l-0.2 1.3c-0.5 2.8-1 5.4-1.5 8.2a5.7 5.7 0 0 1-1.5 3c-0.81 0.84-1.86 1.4-3 1.6l-25.7 4.2c-2.51 0.3-4.82 1.51-6.5 3.4a10.22 10.22 0 0 0-2.6 6.9v11.6c-0.01 2.54 0.91 4.99 2.59 6.89 1.67 1.9 3.99 3.11 6.51 3.41l25.7 4.1c1.15 0.18 2.21 0.75 3 1.6 0.81 0.85 1.33 1.94 1.5 3.1 0.5 3.2 1 6.4 1.7 9.5 0.21 1.15 0.08 2.33-0.4 3.4a6.63 6.63 0 0 1-2.2 2.5l-22.8 12.7a10.2 10.2 0 0 0-4.9 5.5c-0.88 2.38-0.92 5-0.1 7.4l4 10.9a10.6 10.6 0 0 0 4.8 5.6c2.24 1.19 4.84 1.52 7.3 0.9l25.6-4.9c1.16-0.23 2.36-0.05 3.4 0.5 1.02 0.5 1.86 1.3 2.4 2.3q2.25 4.2 4.8 8.4c0.6 0.99 0.88 2.14 0.8 3.3a5.4 5.4 0 0 1-1.3 3.2l-17 19.6a10.312 10.312 0 0 0-0.5 13.8l7.4 8.9a10.3 10.3 0 0 0 13.6 2l22.4-13.4c1-0.58 2.15-0.83 3.3-0.7 1.16 0.11 2.25 0.6 3.1 1.4 2.5 2.2 5 4.3 7.4 6.2 0.92 0.71 1.58 1.69 1.9 2.8 0.32 1.12 0.28 2.3-0.1 3.4l-9.3 24.4c-0.99 2.33-1.1 4.95-0.31 7.36s2.43 4.45 4.61 5.74l10.1 5.8c2.2 1.29 4.8 1.71 7.3 1.2a9.96 9.96 0 0 0 6.2-4l16.6-20.3c1.4-1.7 3.6-2.5 5.2-1.8 3.5 1.4 5.8 2.2 9.9 3.6 1.09 0.37 2.03 1.07 2.7 2a5.3 5.3 0 0 1 1 3.2l-0.4 26.1a11.3 11.3 0 0 0 2.2 7.1c1.55 2.01 3.8 3.36 6.3 3.8l11.4 2c2.49 0.41 5.04-0.09 7.2-1.4 2.18-1.29 3.79-3.37 4.5-5.8l8.5-24.8a5.12 5.12 0 0 1 2.1-2.7c0.95-0.69 2.13-1.01 3.3-0.9h9.8c1.15-0.04 2.28 0.32 3.2 1 0.97 0.66 1.7 1.6 2.1 2.7l8.5 24.7a10.66 10.66 0 0 0 10 7.4c0.6-0.02 1.21-0.08 1.8-0.2l11.5-2c2.49-0.47 4.72-1.82 6.3-3.8a9.97 9.97 0 0 0 2.2-7l-0.4-26.2c-0.04-1.15 0.31-2.28 1-3.2 0.69-0.91 1.63-1.6 2.7-2 3.8-1.3 6.5-2.3 8.9-3.2l0.6-0.2c3.1-1.1 4.6 0.2 5.5 1.3l16.8 20.6a10.28 10.28 0 0 0 13.5 2.8l10.1-5.8a9.95 9.95 0 0 0 4.6-5.7c0.8-2.42 0.7-5.05-0.3-7.4l-9.2-24.3a5.72 5.72 0 0 1-0.2-3.4 4.88 4.88 0 0 1 1.9-2.8c2.4-2 4.9-4 7.4-6.2 0.87-0.76 1.95-1.25 3.1-1.4 1.15-0.12 2.3 0.13 3.3 0.7l22.4 13.4a10.68 10.68 0 0 0 7.2 1.6c2.51-0.36 4.79-1.64 6.4-3.6l7.4-8.9c1.64-1.95 2.5-4.45 2.4-7-0.1-2.53-1.09-4.94-2.8-6.8l-17.1-19.7c-0.76-0.89-1.21-2-1.3-3.17s0.19-2.33 0.8-3.33c1.7-2.7 3.3-5.6 4.8-8.4a6.5 6.5 0 0 1 2.5-2.4c1.05-0.51 2.24-0.69 3.4-0.5l25.5 5c2.46 0.62 5.07 0.3 7.31-0.9s3.95-3.2 4.79-5.6l3.9-10.9c0.92-2.39 0.88-5.04-0.1-7.4-0.92-2.36-2.66-4.31-4.9-5.5l-22.8-12.7a5.57 5.57 0 0 1-2.3-2.5c-0.5-1.06-0.6-2.27-0.3-3.4l0.2-1.3c0.5-2.8 1-5.4 1.5-8.2 0.19-1.13 0.71-2.17 1.5-3 0.81-0.84 1.86-1.4 3-1.6l25.7-4.1c2.51-0.3 4.82-1.51 6.5-3.4 1.69-1.9 2.62-4.36 2.6-6.9v-11.8z m-282.4 94a15.5 15.5 0 0 1-5.1 5.4c-2.1 1.37-4.5 2.23-7 2.5-2.48 0.27-4.99-0.07-7.3-1-2.34-0.9-4.43-2.34-6.1-4.2a135.03 135.03 0 0 1-34.9-90.88 135.02 135.02 0 0 1 35.3-90.72c1.67-1.86 3.76-3.3 6.1-4.2 2.32-0.89 4.83-1.2 7.3-0.9 2.5 0.27 4.9 1.13 7 2.5a16.56 16.56 0 0 1 5.1 5.4l45.6 80.4c1.38 2.41 2.1 5.13 2.1 7.9s-0.72 5.49-2.1 7.9z m74.4 47.2c-9.51 0-19-1-28.3-3a15.52 15.52 0 0 1-11-9.1c-0.97-2.27-1.41-4.73-1.3-7.2 0.13-2.47 0.85-4.87 2.1-7l46-80c1.4-2.4 3.4-4.4 5.8-5.8 2.4-1.39 5.13-2.12 7.9-2.1h92.1c2.47 0.01 4.9 0.59 7.1 1.7a15.9 15.9 0 0 1 5.6 4.7c1.47 2.02 2.46 4.34 2.9 6.8 0.39 2.44 0.22 4.94-0.5 7.3-17.5 54.2-68.4 93.7-128.4 93.7m7.5-163.9L218 147.0999999999999a17.25 17.25 0 0 1-2.1-7c-0.22-3.72 0.91-7.4 3.16-10.37s5.5-5.04 9.14-5.83c9.11-1.91 18.39-2.89 27.7-2.9 60 0 110.9 39.4 128.4 93.8 0.71 2.37 0.88 4.86 0.5 7.3-0.41 2.45-1.4 4.77-2.88 6.77-1.47 1.99-3.4 3.62-5.62 4.73-2.21 1.1-4.63 1.68-7.1 1.7h-92c-2.8 0-5.56-0.72-8-2.1-2.33-1.5-4.28-3.52-5.7-5.9\", style: { fill: \"currentcolor\" } }] }, trailer: { viewBox: \"0 0 512 512\", paths: [{ d: \"M434.4 215.4000000000001l-270.2 2.1c36.8-14.4 74.6-28.9 112.8-43.5 48.7-18.7 97.4-37.3 143.2-55.4a15.34 15.34 0 0 0 8.092-8.42 15.33 15.33 0 0 0-0.192-11.68l-1.9-4.5a541 541 0 0 0-30.2-67.4 14.75 14.75 0 0 0-7.795-5.46 14.7 14.7 0 0 0-9.505 0.46c-7.2 2.8-64.4 25-129.9 50.2-75.2 29.1-161.2 62.2-194.5 75.2a14.75 14.75 0 0 0-8.037 7.63 14.75 14.75 0 0 0-0.463 11.07c5.3 14.7 8.7 24.1 11.2 30.6a48.86 48.86 0 0 0-14.2 23.9l-0.8 3.7-0.3 1.4a18.4 18.4 0 0 0-0.3 3.2v7.6c0.088 1.45 0.322 2.89 0.7 4.3a50.06 50.06 0 0 0 34.9 39.2c0.2 37.9 0.7 155.2 0.7 177.9 0.005 3.9 1.555 7.63 4.31 10.39a14.76 14.76 0 0 0 10.39 4.31c52.3 0 344.4 1.3 344.4 1.3 3.865 0 7.577-1.52 10.329-4.23a14.7 14.7 0 0 0 4.371-10.27c0-1.7 2.3-168.2 2.3-224.7-0.2-16.7-15.5-18.9-19.4-18.9m-155.8 68.8l23.9-38.5 53.6-0.4-24.1 38.9z m-10.8-38.2l-23.7 38.2h-52.9l23.4-37.9z m-36.5-86c-16.6 6.4-32.9 12.7-49.2 19l6-52.3 49.2-19z m35.2-13.6l-4.4 1.7 6-52.4 50.5-19.4-6.1 52.5z m129.1-49.8c-17 6.7-34.5 13.4-52 20.2l6.1-52.5 27.6-10.6c5.3 11.8 13.2 30.5 18.3 42.9m-312.1 86.6l-5.2-14.1c19.4-7.6 47.4-18.4 78.8-30.5l-6 52.4c-6.4 2.5-12.9 5-19.2 7.5a45.6 45.6 0 0 0-16.213-12.17A45.5 45.5 0 0 0 95.8 182.4000000000001c-0.8 0-1.9 0.2-2.8 0.2-2.642-0.03-5.283 0.13-7.9 0.5-0.535-0.01-1.07 0.02-1.6 0.1M70.6 234.4000000000001l0.6-7c1.493-5.09 4.8-9.46 9.297-12.28a21.72 21.72 0 0 1 15.103-3.02c5.217 0.69 9.978 3.33 13.319 7.4a20.75 20.75 0 0 1 4.681 14.5 19.9 19.9 0 0 1-5.9 12.1 21.95 21.95 0 0 1-14.6 6.6 20.75 20.75 0 0 1-22.2-17.3c-0.06-0.34-0.16-0.68-0.3-1m35.6 46c1-0.3 1.8-0.9 2.8-1.3a47.5 47.5 0 0 0 10.2-4.8l0.2-0.1a52.1 52.1 0 0 0 10.8-9.1c0.3-0.3 0.6-0.5 0.8-0.7s0.7-1 1.1-1.4c0.8-1 1.5-2 2.2-3a46 46 0 0 0 7.2-13l38.4-0.3-23.3 37.6h-50.4z m316 163.7c-54.8-0.2-248.7-1.1-315.2-1.2-0.1-29.5-0.3-88-0.5-129.3h317.4c-0.6 49.6-1.3 104.9-1.7 130.5m1.8-159.9h-57.6l24.2-39.2 33.5-0.3c0.1 11.1-0.1 24.7-0.1 39.5\", style: { fill: \"currentcolor\" } }] }, \"add-to-library\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M140.5999999999999 72.5h213c9.1-0.3 16.2-7.3 16-15.8-0.3-8.1-7.3-14.6-16-14.9h-213c-9.1 0.3-16.2 7.3-16 15.8 0.3 8.1 7.3 14.6 16 14.9\", style: { fill: \"currentcolor\" } }, { d: \"M116.79999999999995 118.59999999999991h255.1c8.9 0 16.1-6.9 16.1-15.3 0-8.5-7.2-15.3-16.1-15.3H116.79999999999995c-8.9 0-16.1 6.9-16.1 15.3 0.1 8.4 7.3 15.3 16.1 15.3\", style: { fill: \"currentcolor\" } }, { d: \"M391.29999999999995 311.5999999999999h-40.8v-40.7c0-3.66-1.454-7.17-4.042-9.76a13.8 13.8 0 0 0-9.758-4.04c-3.66 0-7.17 1.45-9.758 4.04a13.8 13.8 0 0 0-4.042 9.76v40.7h-40.7c-3.66 0-7.17 1.45-9.758 4.04a13.81 13.81 0 0 0 0 19.52 13.8 13.8 0 0 0 9.758 4.04h40.7v40.7c0 3.66 1.454 7.17 4.042 9.76a13.8 13.8 0 0 0 9.758 4.04c3.66 0 7.17-1.45 9.758-4.04a13.8 13.8 0 0 0 4.042-9.76v-40.7h40.8a13.8 13.8 0 0 0 13.8-13.8 13.8 13.8 0 0 0-13.8-13.8\", style: { fill: \"currentcolor\" } }, { d: \"M424.0999999999999 210.5999999999999v-30a47.6 47.6 0 0 0-13.93-33.57 47.6 47.6 0 0 0-33.57-13.93H98.49999999999989a47.528 47.528 0 0 0-47.5 47.5v179a47.557 47.557 0 0 0 47.5 47.5h119a144.4 144.4 0 0 0 45.184 42.53 144.3 144.3 0 0 0 58.863 19.65 144.4 144.4 0 0 0 61.673-6.86 144.3 144.3 0 0 0 53.1-32.11 144.3 144.3 0 0 0 34.73-51.43 144.3 144.3 0 0 0 9.95-61.25c-1.17-20.9-6.86-41.29-16.68-59.77a144.5 144.5 0 0 0-40.22-47.26m-325.6 165.8a16.93 16.93 0 0 1-11.94-4.96 16.94 16.94 0 0 1-4.96-11.94v-179a16.94 16.94 0 0 1 4.96-11.94 16.93 16.93 0 0 1 11.94-4.96h278.1a16.93 16.93 0 0 1 16.9 16.9v12a144.25 144.25 0 0 0-82.717-9.45 144.29 144.29 0 0 0-115.109 110.31 144.3 144.3 0 0 0 5.926 83.04z m238.3 66a116.8 116.8 0 0 1-46.637-9.74 116.8 116.8 0 0 1-38.863-27.56l-4.5-5.5a122.5 122.5 0 0 1-13.5-20.7l-1.3-2.5h-0.5a117.002 117.002 0 0 1 27.188-138.12 117.006 117.006 0 0 1 187.392 45.29 117.03 117.03 0 0 1 3.18 74.15 117.02 117.02 0 0 1-112.46 84.68\", style: { fill: \"currentcolor\" } }] }, \"remove-from-library\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M391.20000000000005 311.5999999999999h-109.1a13.8 13.8 0 0 0-13.8 13.8 13.8 13.8 0 0 0 13.8 13.8h109.1a13.8 13.8 0 0 0 13.8-13.8 13.8 13.8 0 0 0-13.8-13.8\", style: { fill: \"currentcolor\" } }, { d: \"M424.0999999999999 210.5999999999999v-30a47.523 47.523 0 0 0-47.5-47.5h-278.1a47.6 47.6 0 0 0-33.57 13.93 47.6 47.6 0 0 0-13.93 33.57v179a47.6 47.6 0 0 0 13.93 33.57c8.9 8.9 20.98 13.91 33.57 13.93h119c11.8 17.28 27.22 31.8 45.18 42.53a144.3 144.3 0 0 0 58.87 19.65c20.81 2.21 41.85-0.13 61.67-6.86a144.3 144.3 0 0 0 53.1-32.11 144.3 144.3 0 0 0 34.73-51.43 144.3 144.3 0 0 0 9.95-61.25c-1.17-20.9-6.86-41.29-16.68-59.77a144.5 144.5 0 0 0-40.22-47.26m-325.6 165.8a16.93 16.93 0 0 1-16.9-16.9v-179a16.93 16.93 0 0 1 16.9-16.9h278.1a16.93 16.93 0 0 1 16.9 16.9v12a144.24 144.24 0 0 0-82.72-9.45c-27.9 5.04-53.7 18.19-74.17 37.81a144.33 144.33 0 0 0-40.94 72.5 144.36 144.36 0 0 0 5.93 83.04z m238.2 66c-16.05-0.01-31.93-3.32-46.64-9.74a116.8 116.8 0 0 1-38.86-27.56l-4.5-5.5c-5.19-6.43-9.71-13.36-13.5-20.7l-1.3-2.5h-0.5a116.9 116.9 0 0 1-10.51-67.04c3.2-22.89 13.12-44.32 28.51-61.58a116.8 116.8 0 0 1 57.91-35.36c22.38-5.81 45.97-4.84 67.8 2.76a116.96 116.96 0 0 1 54.84 39.97 116.97 116.97 0 0 1 23.39 63.7c1.32 23.08-4.22 46.04-15.94 65.96a116.9 116.9 0 0 1-49.9 45.99 115.34 115.34 0 0 1-50.8 11.6\", style: { fill: \"currentcolor\" } }, { d: \"M140.5999999999999 72.5h213c9.1-0.3 16.2-7.3 16-15.8-0.3-8.1-7.3-14.6-16-14.9h-213c-9.1 0.3-16.2 7.3-16 15.8 0.3 8.1 7.3 14.6 16 14.9\", style: { fill: \"currentcolor\" } }, { d: \"M116.79999999999995 118.59999999999991H372c8.9 0 16.1-6.9 16.1-15.3 0-8.5-7.2-15.3-16.1-15.3h-255.1c-8.9 0-16.1 6.9-16.1 15.3s7.2 15.3 16 15.3\", style: { fill: \"currentcolor\" } }] }, details: { viewBox: \"0 0 512 512\", paths: [{ d: \"M413.9000000000001 80h-315.6a53.4 53.4 0 0 0-37.66 15.64 53.4 53.4 0 0 0-15.64 37.66v246.2a53.4 53.4 0 0 0 15.64 37.66 53.4 53.4 0 0 0 37.66 15.64h315.6a53.4 53.4 0 0 0 37.66-15.64 53.4 53.4 0 0 0 15.64-37.66v-246.2a53.45 53.45 0 0 0-15.66-37.64 53.45 53.45 0 0 0-37.64-15.66m19.8 299.5a19.84 19.84 0 0 1-19.8 19.8h-315.6a19.84 19.84 0 0 1-19.8-19.8v-246.2a19.84 19.84 0 0 1 19.8-19.8h315.6a19.84 19.84 0 0 1 19.8 19.8z\", style: { fill: \"currentcolor\" } }, { d: \"M128.70000000000005 184.5999999999999h204.6a16.55 16.55 0 0 0 10.95-5.21c2.86-3.07 4.45-7.1 4.45-11.29s-1.59-8.22-4.45-11.29a16.55 16.55 0 0 0-10.95-5.21h-204.6c-4.18 0.29-8.1 2.15-10.95 5.21-2.86 3.07-4.45 7.1-4.45 11.29s1.59 8.22 4.45 11.29c2.85 3.06 6.77 4.92 10.95 5.21\", style: { fill: \"currentcolor\" } }, { d: \"M218.4000000000001 299.1999999999998h-89.7c-4.19 0.29-8.11 2.16-10.98 5.23a16.595 16.595 0 0 0 0 22.64c2.87 3.07 6.79 4.94 10.98 5.23h87.8c4.19-0.29 8.11-2.16 10.98-5.23 2.86-3.07 4.46-7.12 4.46-11.32s-1.6-8.24-4.46-11.32a16.6 16.6 0 0 0-10.98-5.23\", style: { fill: \"currentcolor\" } }, { d: \"M335.4000000000001 223.4000000000001h-206.7c-4.19 0.29-8.11 2.16-10.98 5.23a16.595 16.595 0 0 0 0 22.64c2.87 3.07 6.79 4.94 10.98 5.23h205.1c4.19-0.29 8.11-2.16 10.98-5.23s4.46-7.12 4.46-11.32-1.59-8.24-4.46-11.32a16.6 16.6 0 0 0-10.98-5.23\", style: { fill: \"currentcolor\" } }] }, memory: { viewBox: \"0 0 512 512\", paths: [{ d: \"M436.9000000000001 143.0999999999999l-59.9-59.9a38.56 38.56 0 0 0-27.6-11.4h-213.2a52.036 52.036 0 0 0-52 52v260.1a52.036 52.036 0 0 0 52 52h260.1a52.036 52.036 0 0 0 52-52v-213.2c0.02-5.13-0.97-10.21-2.93-14.94a38.8 38.8 0 0 0-8.47-12.66m-281.2-6.3h143a6.46 6.46 0 0 1 4.6 1.9c0.6 0.6 1.08 1.32 1.41 2.11 0.32 0.79 0.49 1.64 0.49 2.49v39c0 0.85-0.17 1.7-0.49 2.49a6.53 6.53 0 0 1-3.52 3.52c-0.79 0.32-1.64 0.49-2.49 0.49h-143c-0.85 0-1.7-0.17-2.49-0.49a6.53 6.53 0 0 1-3.52-3.52c-0.32-0.79-0.49-1.64-0.49-2.49v-39c0-0.85 0.17-1.7 0.49-2.49a6.45 6.45 0 0 1 2.39-2.92 6.55 6.55 0 0 1 3.62-1.09m113.6 260.1c-12.85 0.6-25.58-2.62-36.6-9.25a65.06 65.06 0 0 1-25.29-28.03 65.06 65.06 0 0 1-5.46-37.35 65.04 65.04 0 0 1 16.22-34.09 64.993 64.993 0 0 1 70.12-17.4 64.93 64.93 0 0 1 30.27 22.55 64.95 64.95 0 0 1 12.64 35.57c0.1 2 0.1 4.1 0 6.1a65.05 65.05 0 0 1-18.99 42.91 65.12 65.12 0 0 1-42.91 18.99\", style: { fill: \"currentcolor\" } }] }, \"play-outline\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M133.49999999999994 106.60000000000036V401.3000000000002c0 17.7 15.1 29 27.6 20.5l220.5-150.7c8.8-6.9 10.7-20.2 4.2-29.7a22.2 22.2 0 0 0-4.2-4.5l-220.5-150.8c-12.5-8.5-27.6 2.9-27.6 20.5Z\", style: { stroke: \"currentcolor\", strokeMiterlimit: \"10\", strokeWidth: \"36.752\", fill: \"none\" } }] }, play: { viewBox: \"0 0 512 512\", paths: [{ d: \"M396.09999999999997 246.09999999999945l-231.9-160.6c-1.443-1-3.07-1.71-4.787-2.08a13.3 13.3 0 0 0-5.219-0.08 13.32 13.32 0 0 0-8.594 5.56 13.7 13.7 0 0 0-2.4 7.6v321.4c0.003 1.75 0.352 3.49 1.028 5.11a13.2 13.2 0 0 0 2.91 4.32 13.2 13.2 0 0 0 4.346 2.88c1.624 0.66 3.363 1 5.116 0.99 2.723 0.02 5.383-0.82 7.6-2.4L396.09999999999997 268.1999999999998c1.448-1 2.684-2.27 3.639-3.74a13.4 13.4 0 0 0 1.925-4.85 13.35 13.35 0 0 0-2.164-10.01 13.7 13.7 0 0 0-3.4-3.4z\", style: { fill: \"currentcolor\" } }] }, \"external-player\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M433.8000000000002 255.80000000000018c0.1 25.8 0 51.6 0.1 77.5z\", style: { fill: \"currentcolor\" } }, { d: \"M469.3000000000002 137.30000000000018c0-11.6-4.5-20.1-14.2-26.6-4.7-3.2-10.3-4.7-17-4.7h-364a30.06 30.06 0 0 0-17 4.7c-9.7 6.5-14.2 15-14.2 26.6v0.1c0.1 38.2 0.13 76.4 0.1 114.6v74.7c0 16.3 0 32.5-0.1 48.8-0.04 2.02 0.16 4.03 0.6 6 0.84 4.75 2.84 9.21 5.82 13s6.86 6.78 11.28 8.7c1.66 0.69 3.36 1.25 5.1 1.7 2.57 0.72 5.23 1.09 7.9 1.1h46.7l14.8-34.8-33.4-0.2c-3.9 0-7.9-0.1-11.9 0.1-4.2 0.2-10.5 0.4-11.3-6.7-0.09-0.8-0.12-1.6-0.1-2.4v-212.1c0-2.4 0-5 2.1-7.1s4.8-2.1 7.1-2l34.7 0.2h268.1l34.7-0.2c2.3 0 5 0 7.1 2 2.1 2.1 2.1 4.8 2.1 7.1v212.2c0.02 0.8-0.01 1.6-0.1 2.4-0.9 7.2-7.1 6.9-11.3 6.7-3.9-0.2-7.9-0.1-11.9-0.1l-26.7 0.2 16 34.8h38.7c2.67-0.07 5.32-0.44 7.9-1.1 1.76-0.38 3.47-0.95 5.1-1.7 4.43-1.91 8.31-4.9 11.3-8.69 2.98-3.78 4.98-8.26 5.8-13.01 0.48-1.96 0.68-3.98 0.6-6-0.1-16-0.1-32-0.1-48v-75.5c0-38.2-0.1-76.4 0.1-114.6-0.4-0.1-0.4-0.2-0.4-0.2\", style: { fill: \"currentcolor\" } }, { d: \"M339 336.8000000000002c-4.8-15.3-4.9-15.3-20.8-14.4h-0.5c-2.9 0-4.4 1-3.6 4.3 1.1 4.6-1 8.1-4.4 11.1-4.8 4.2-10.5 6.6-16.5 8.4-17.9 5.4-36.1 5.7-54.3 2.9-10.1-1.6-20.1-4-28.4-10.8-3-2.5-5.2-5.3-5.3-9.3-0.1-6.6-0.1-6.6-7.1-6.6-1.67 0.1-3.33 0.1-5 0-5.6-0.4-8.6 2.1-10.2 7.4-5.9 19.6-12.2 39.1-18.2 58.7a41.4 41.4 0 0 0-2 9.8c-0.3 4.1 1.4 6.7 6 6.9 4.5 0.1 9 0.7 13.6 0.7 26 0.1 52.1 0 78.1 0 27.5 0 55.1 0.1 82.6 0 14.6-0.1 16.6-2.9 12.3-16.8-5.3-17.4-10.8-34.8-16.3-52.3\", style: { fill: \"currentcolor\" } }, { d: \"M226.0999999999999 258.0999999999999c-2.9 10-5.9 20-8.9 29.9-2.3 7.4-1.3 10.1 5.7 13.7 3 1.46 6.11 2.7 9.3 3.7a76.7 76.7 0 0 0 27.4 3.1c3.7 0.17 7.4 0.13 11.1-0.1 10.2-1 20.4-2.4 29.2-8.3 2.6-1.7 5.1-3.9 4.1-7.4-3.4-11.9-7.1-23.8-10.7-35.7-0.5-1.6-1-2.7-3.2-1.6-14.1 6.8-29 6.2-43.9 4.7-5.2-0.5-10.5-1.2-14.9-4.1-3.3-2-4.2-1.1-5.2 2.1\", style: { fill: \"currentcolor\" } }, { d: \"M276.6999999999998 216.4000000000001c3.1-0.8 3.9-2.7 2.9-5.7-1.7-5.3-3.1-10.6-4.8-15.9-3.1-9.5-4.6-10.5-14.4-10.5-10.6 0-12.7 1.5-15.7 11.6-1.5 5-2.9 10-4.5 14.9-0.9 2.8-0.1 4.6 2.7 5.4a67.76 67.76 0 0 0 33.8 0.2\", style: { fill: \"currentcolor\" } }] }, \"series-outline\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M462.6999999999998 132.59999999999945c-7.8-5.5-16.7-6.3-25.7-6.3h-150.8c-3.4 0-7 0.9-11.3-1.8 12.7-13.4 24.9-26.2 37-39.1 8.4-8.9 16.8-17.7 25-26.7 4.5-5 6.6-10.7 1.1-16.2s-11-3.1-16 1.4c-1.5 1.4-2.9 2.9-4.3 4.3-18.2 19.1-36.5 38.2-54.4 57.6-4.7 5-8.1 6.5-13 0.5-4.7-5.6-10-10.5-15-15.8-14.9-15.5-29.6-31.1-44.6-46.6-4.4-4.7-9.5-7.3-15.3-2.3s-4.7 10.8-0.4 16.2c1.9 2.2 3.8 4.4 5.9 6.4 17 17.9 34.1 35.7 51 53.8 1.8 1.9 5.8 3.6 4.2 6.8-1.4 2.8-5.3 1.5-8.1 1.5h-152.5c-27.5 0.1-39.9 12.7-39.9 40.1v233.6c0 27.6 12.3 40 39.7 40h360.8c5.23-0.02 10.45-0.49 15.6-1.4a30.17 30.17 0 0 0 17.24-10.28c4.4-5.29 6.86-11.93 6.96-18.82 0.1-84 0.1-167.97 0-251.9 0.4-11-4.6-18.9-13.2-25m-101.1 243.1a28.04 28.04 0 0 1-8.21 19.79 28.04 28.04 0 0 1-19.79 8.21h-230.6a28.04 28.04 0 0 1-19.79-8.21 28.04 28.04 0 0 1-8.21-19.79V188.39999999999964c0.01-7.42 2.96-14.54 8.21-19.79s12.37-8.2 19.79-8.21h230.6c7.42 0.01 14.54 2.96 19.79 8.21s8.2 12.37 8.21 19.79z m58.3-103.7c-5.7-0.12-11.13-2.4-15.22-6.37-4.08-3.97-6.5-9.34-6.78-15.03a21.32 21.32 0 0 1 6.1-15.11c3.96-4.04 9.35-6.33 15-6.39h0.4c12.9-0.1 21.4 8.1 21.5 20.8a21.69 21.69 0 0 1-21 22.1m-0.5-67.5a21.525 21.525 0 0 1-19.88-13.27 21.5 21.5 0 0 1-1.22-12.43c0.83-4.18 2.87-8.01 5.88-11.02s6.84-5.05 11.02-5.88a21.5 21.5 0 0 1 12.43 1.22c3.93 1.63 7.29 4.39 9.65 7.93a21.55 21.55 0 0 1 3.62 11.95 21.18 21.18 0 0 1-5.88 14.99 21.2 21.2 0 0 1-14.72 6.51z\", style: { fill: \"currentcolor\" } }] }, series: { viewBox: \"0 0 512 512\", paths: [{ d: \"M462.6999999999998 132.59999999999945c-7.8-5.5-16.7-6.3-25.7-6.3h-150.8c-3.4 0-7 0.9-11.3-1.8 12.7-13.4 24.9-26.2 37-39.1 8.4-8.9 16.8-17.7 25-26.7 4.5-5 6.6-10.7 1.1-16.2s-11-3.1-16 1.4c-1.5 1.4-2.9 2.9-4.3 4.3-18.2 19.1-36.5 38.2-54.4 57.6-4.7 5-8.1 6.5-13 0.5-4.7-5.6-10-10.5-15-15.8-14.9-15.5-29.6-31.1-44.6-46.6-4.4-4.7-9.5-7.3-15.3-2.3s-4.7 10.8-0.4 16.2c1.9 2.2 3.8 4.4 5.9 6.4 17 17.9 34.1 35.7 51 53.8 1.8 1.9 5.8 3.6 4.2 6.8-1.4 2.8-5.3 1.5-8.1 1.5h-152.5c-27.5 0.1-39.9 12.7-39.9 40.1v233.6c0 27.6 12.3 40 39.7 40h360.8c5.23-0.02 10.45-0.49 15.6-1.4a30.1 30.1 0 0 0 17.24-10.28c4.4-5.29 6.86-11.93 6.96-18.82 0.1-84 0.1-167.97 0-251.9 0.4-11-4.6-18.9-13.2-25m-101.1 243.1a28.04 28.04 0 0 1-8.21 19.79 28.04 28.04 0 0 1-19.79 8.21h-230.6a28.04 28.04 0 0 1-19.79-8.21 28.04 28.04 0 0 1-8.21-19.79v-187.3c0.01-7.42 2.96-14.54 8.21-19.79s12.37-8.2 19.79-8.21h230.6c7.42 0.01 14.54 2.96 19.79 8.21s8.2 12.37 8.21 19.79z m58.3-103.7a22.48 22.48 0 0 1-15.22-6.37c-4.08-3.97-6.5-9.34-6.78-15.03a21.32 21.32 0 0 1 6.1-15.11c3.96-4.03 9.35-6.33 15-6.39h0.4c12.9-0.1 21.4 8.1 21.5 20.8a21.687 21.687 0 0 1-21 22.1m-0.5-67.5c-4.25 0-8.41-1.26-11.95-3.62a21.45 21.45 0 0 1-7.91-9.65 21.47 21.47 0 0 1 4.66-23.43 21.47 21.47 0 0 1 23.43-4.66 21.493 21.493 0 0 1 13.27 19.86c0.09 5.58-2.02 10.96-5.88 14.99a21.2 21.2 0 0 1-14.72 6.51z\", style: { fill: \"currentcolor\" } }, { d: \"M115.79999999999973 185.19999999999982h208s12 0 12 12v169s0 12-12 12h-208s-12 0-12-12v-169s0-12 12-12\", style: { fill: \"currentcolor\" } }] }, megaphone: { viewBox: \"0 0 512 512\", paths: [{ d: \"M374.1700000000001 66.3100000000004s-74.52 92.73-144.69 92.73h-137.86c-3.68 0-7.2 1.46-9.81 4.06-2.6 2.6-4.06 6.13-4.06 9.81v82.8c0.04 3.64 1.53 7.13 4.12 9.68 2.6 2.56 6.1 3.99 9.75 3.98h137.86c70.17 0 144.69 93.36 144.69 93.36 5.38 6.83 20.69 2.07 20.69-8.49V74.80000000000018c0-10.77-14.48-16.36-20.69-8.49\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"16\", fill: \"none\" } }, { d: \"M77.76000000000022 241.84000000000015s-13.67-5.17-13.67-27.53 13.67-27.53 13.67-27.53\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"16\", fill: \"none\" } }, { d: \"M408.7399999999998 233.35000000000036c5.01-1.71 9.15-5.3 11.55-10.02a20.34 20.34 0 0 0 1.28-15.23 20.8 20.8 0 0 0-4.94-7.89 20.8 20.8 0 0 0-7.89-4.94\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"16\", fill: \"none\" } }, { d: \"M243.55000000000018 160.48999999999978v104.74\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"16\", fill: \"none\" } }, { d: \"M116.46000000000004 160.48999999999978v104.74\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"16\", fill: \"none\" } }, { d: \"M146.89000000000033 269.3699999999999v144.9c-0.01 1.35 0.38 2.68 1.13 3.81a6.73 6.73 0 0 0 3.08 2.52c0.83 0.34 1.72 0.51 2.62 0.5h45.54c1.82 0 3.63-0.36 5.31-1.05 1.69-0.7 3.22-1.72 4.5-3.01a13.815 13.815 0 0 0 4.06-9.81c0-1.34-0.21-2.66-0.62-3.93-7.25-23.19-24.22-49.27-24.22-92.53h13.66c3.65 0.01 7.15-1.42 9.75-3.98 2.59-2.56 4.08-6.04 4.12-9.68v-13.87c0.01-3.65-1.42-7.15-3.98-9.74-2.56-2.6-6.04-4.08-9.68-4.13h-13.87\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"16\", fill: \"none\" } }] }, \"channels-outline\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M196.19999999999982 301.1999999999998v-126.9c-0.01-2.72 0.79-5.38 2.29-7.65a13.7 13.7 0 0 1 6.15-5.09c1.67-0.69 3.45-1.05 5.26-1.06 2.34 0.02 4.64 0.6 6.7 1.7l114.2 63.4c2.98 1.62 5.24 4.29 6.37 7.49 1.12 3.19 1.01 6.69-0.3 9.82-1.2 2.88-3.34 5.28-6.07 6.79l-114.2 63.5a13.7 13.7 0 0 1-6.85 1.77 13.64 13.64 0 0 1-6.81-1.89 13.6 13.6 0 0 1-4.96-5.04 13.64 13.64 0 0 1-1.78-6.84\", style: { fill: \"currentcolor\" } }, { d: \"M411.2999999999997 438.7999999999993h-301.9a14.714 14.714 0 0 1-10.02-24.89c2.63-2.74 6.22-4.36 10.02-4.51h301.9a14.714 14.714 0 0 1 14.12 14.7 14.714 14.714 0 0 1-14.12 14.7\", style: { fill: \"currentcolor\" } }, { d: \"M456.39999999999964 387h-389.9c-5.11 0-10.17-1.01-14.89-2.96a38.8 38.8 0 0 1-12.62-8.43c-3.61-3.61-6.48-7.9-8.43-12.62a38.8 38.8 0 0 1-2.96-14.89V127.39999999999964c0-5.11 1-10.17 2.96-14.89 1.95-4.72 4.82-9.01 8.43-12.62s7.9-6.48 12.62-8.43c4.72-1.96 9.78-2.96 14.89-2.96h389.9c5.11 0 10.17 1 14.89 2.96 4.72 1.95 9.01 4.82 12.62 8.43s6.48 7.9 8.43 12.62 2.96 9.78 2.96 14.89v220.7a38.99 38.99 0 0 1-11.41 27.49 38.99 38.99 0 0 1-27.49 11.41m-390-273.3a13.826 13.826 0 0 0-13.8 13.8v220.6a13.826 13.826 0 0 0 13.8 13.8h389.9a13.826 13.826 0 0 0 13.8-13.8V127.39999999999964a13.826 13.826 0 0 0-13.8-13.8h-389.9z\", style: { fill: \"currentcolor\" } }] }, channels: { viewBox: \"0 0 512 512\", paths: [{ d: \"M456.39999999999964 387h-389.9c-5.11 0-10.17-1-14.89-2.96a38.8 38.8 0 0 1-12.62-8.43c-3.61-3.61-6.48-7.9-8.43-12.62a38.8 38.8 0 0 1-2.96-14.89v-220.7c0-5.11 1-10.17 2.96-14.89 1.95-4.72 4.82-9.01 8.43-12.62s7.9-6.48 12.62-8.43 9.78-2.96 14.89-2.96h389.9c5.11 0 10.17 1.01 14.89 2.96s9.01 4.82 12.62 8.43 6.48 7.9 8.43 12.62 2.96 9.78 2.96 14.89v220.7a38.99 38.99 0 0 1-11.41 27.49 38.95 38.95 0 0 1-27.49 11.41m-246.5-226.5c-1.81 0.01-3.59 0.37-5.26 1.06a13.76 13.76 0 0 0-8.44 12.74V301.1999999999998c-0.03 3.62 1.39 7.11 3.93 9.69s6 4.05 9.62 4.08h0.12c2.36 0 4.68-0.61 6.73-1.77l114.2-63.5c1.76-0.96 3.29-2.3 4.48-3.92a13.7 13.7 0 0 0 2.4-5.44 13.775 13.775 0 0 0-2.76-11.29 13.7 13.7 0 0 0-4.12-3.45l-114.2-63.4c-2.06-1.1-4.36-1.68-6.7-1.7\", style: { fill: \"currentcolor\" } }, { d: \"M411.2999999999997 438.8000000000002h-301.9a14.714 14.714 0 0 1-10.02-24.89c2.63-2.74 6.22-4.36 10.02-4.51h301.9a14.714 14.714 0 0 1 14.12 14.7 14.714 14.714 0 0 1-14.12 14.7\", style: { fill: \"currentcolor\" } }] }, actors: { viewBox: \"0 0 512 512\", paths: [{ d: \"M124.17000000000007 327.6899999999996c6.86 5.15 11.74 11.66 15.82 21.09 18.83 43.43 50.67 70.54 94.62 80.59 7.65 1.77 15.47 2.68 23.32 2.69 24.09 0 47.93-8.91 70.88-26.51 21.43-16.45 36.82-37.04 45.74-61.22 2.7-7.33 7.55-11.59 12.7-15.66 18.39-14.55 27.28-32.6 27.18-55.21-0.04-9.34-3.02-16.56-9.1-22.07-7.73-7.01-7.57-15.18-6.78-20.72l1.25-8.52c1.73-11.54 3.36-22.46 3.89-33.66 1.64-34.48-11.66-64.68-40.65-92.32-20.77-19.79-44.89-32.92-73.73-40.17a290 290 0 0 0-38.25-2.9c-11.09 0-20.06 0.94-26.69 2.76-43.19 11.92-74.96 33.83-97.15 66.99-12.92 19.32-18.37 42.71-16.63 71.49 0.5 8.2 1.43 16.62 2.34 24.76 0.42 3.83 0.84 7.66 1.23 11.5 0.42 4.06 1.26 12.52-5.82 19.57-11.86 11.8-13.78 25.81-6.45 46.87a63.98 63.98 0 0 0 22.28 30.65m-6.31-56.48c1.71-9.23 6.87-15.63 14.54-18.03 2.29-0.72 3.07-0.96 2.74-5.89-0.99-14.88 2.68-29 6.81-42.05a57.05 57.05 0 0 1 18.62-27.69c1.98-1.62 5.08-3.76 9.05-3.76 2.43 0 8.4 0.94 11.04 9.58 5.61 18.23 18.48 29.23 44.43 37.93 8.46 2.9 17.34 4.41 26.29 4.46 1.61 0 3.22-0.05 4.84-0.15 2.57-0.12 5.12-0.48 7.62-1.09-4.6-6.61-9.52-19.95-9.19-25.5l1.34-21.69 13.25 17.23c12.2 15.84 29.57 19.97 46.54 22.07 3.67 0.45 7.36 0.67 11.05 0.67 10.48 0 20.9-1.6 33.33-3.99 2.11-0.47 4.25-0.74 6.41-0.8 11.66 0 11.8 11.65 11.84 15.49 0.08 8.44-0.14 15.99-0.72 23.06-0.04 0.36-0.05 0.73-0.02 1.09 0.33 0.21 0.67 0.4 1.03 0.55 13.8 6.31 18.79 15.72 16.2 30.5-2.53 14.44-8.53 34.72-31.26 44.02-0.62 1.07-1.1 2.21-1.42 3.41l-0.65 1.94c-7.4 20.71-17.77 37.17-31.73 50.32-20.85 19.64-44.28 30.31-69.64 31.7-1.71 0.09-3.4 0.14-5.08 0.14-20.17 0-39.95-6.76-58.82-20.13a119.1 119.1 0 0 1-45.83-62.51c-1.26-3.99-2.45-5.46-5.59-6.9-17.53-8.02-30.67-34.25-27.02-53.98\", style: { fill: \"currentcolor\" } }] }, \"anime-outline\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M358.40999999999985 135.22999999999956c15.61-18.37 35.63-26.75 59.44-23.24 16.6 2.45 30.16 11.11 40.67 24.69 19.83 25.65 19.19 76.55-30.25 98.09 0.16 2.19 0.2 4.55 0.51 6.89 1.48 11 3.48 21.95 4.45 33 1.23 14.14-3.39 19.1-17.54 20.39-1.02 0.18-2.03 0.44-3.01 0.78 6.04 26.7 12.06 53.33 18.07 79.88 0.73 3.22 1.5 6.44 2.01 9.7 1.33 8.43-2.84 15.12-10.14 16.51-7.86 1.49-14.36-3.1-16.4-11.74-3.1-13.16-6.09-26.35-9.17-39.52-0.33-1.38-0.93-2.7-1.81-5.23-30.42 55.78-75.5 87.65-138.92 87.7-63.53 0.05-108.75-31.67-139.57-88.23-1.99 8.07-3.67 14.6-5.2 21.17-1.97 8.49-3.61 17.05-5.77 25.49-0.87 3.56-3.11 6.64-6.22 8.56a13.94 13.94 0 0 1-10.45 1.73c-6.83-1.6-11.33-8.33-9.67-16.05 5.1-23.79 10.6-47.49 15.93-71.23 1.38-6.14 2.7-12.3 4.04-18.43-0.59-0.35-1.07-0.86-1.59-0.9-15.83-1.45-20.23-6.24-18.76-22 1-10.75 3.01-21.39 4.51-32.09 0.29-2.06 0.31-4.15 0.51-6.91-22.11-8.93-37.23-24.65-41.61-48.35-3.42-18.46 0.62-35.97 12.61-51.07 20.27-25.53 65.46-36.84 99.09 0.15 67.47-41.75 135.21-42.06 204.24 0.25m-12.05 26.43c-51.83-41.47-131.95-39.77-179.9-0.23 3.98 41.02-14.94 65.83-54.53 76.35l-5.35 28.96h57.48c3.02-9.43 5.84-18.6 8.89-27.68 2.91-8.65 10.17-13.2 17.09-11.02 8.15 2.58 11.61 9.55 9.04 18.76-1.84 6.58-4 13.08-6.09 19.82h49.83c0-8.53-0.16-16.32 0.04-24.11 0.23-8.95 5.92-15.14 13.43-15.02 7.55 0.12 12.82 6.21 13.11 15.36 0.15 4.52-0.02 9.05 0.07 13.58 0.08 3.48 0.34 6.95 0.52 10.38h49.4c-2.38-7.52-4.77-14.29-6.63-21.19-2.15-7.99 1.46-14.67 8.91-17.37 6.47-2.36 13.3 1.14 16.66 8.64 0.73 1.63 1.09 3.43 1.66 5.13 2.77 8.23 5.56 16.45 8.31 24.58h57.46c-1.99-10.31-3.79-19.63-5.68-29.43-17.72-3.78-32.68-11.45-43.12-26.27-10.4-14.77-14.07-31.03-10.6-49.24m34.04 134.14h-248.61a125.12 125.12 0 0 0 41.11 78.96 125.15 125.15 0 0 0 83.2 31.66c30.67 0 60.28-11.27 83.19-31.66a125.12 125.12 0 0 0 41.11-78.96m-276.77-86.33c18.44 1.93 36.39-15.68 36.35-34.63-0.04-19.77-15.44-35.83-35.13-36.1-20.27-0.28-36.77 15.88-36.52 35.77 0.11 9.3 3.88 18.17 10.48 24.71a35.36 35.36 0 0 0 24.82 10.25m304.29 0c15.8 1.55 35.26-11.81 35.9-35.18 0.52-19.57-15.93-35.29-35.76-35.61-21.7-0.35-35.98 19.45-35.91 35.47 0.08 20.66 19.27 37.19 35.77 35.32\", style: { fill: \"currentcolor\" } }, { d: \"M181.15999999999985 344.25c-4.06-4.81-3.28-12.06-1.69-15.34 4.01-8.28 14.01-9.79 21.32-2.88 6.75 6.37 13.14 8.34 21.9 4.04 7.52-3.69 15.67-0.42 18.49 6.05 3.19 7.3 0.1 14.51-7.64 18.82-18.99 10.6-40.19 3.85-52.38-10.7\", style: { fill: \"currentcolor\" } }, { d: \"M331.35000000000036 344.25c4.05-4.81 3.28-12.06 1.69-15.34-4.01-8.28-14.02-9.79-21.33-2.88-6.74 6.37-13.13 8.34-21.89 4.04-7.52-3.69-15.67-0.42-18.5 6.05-3.18 7.3-0.09 14.51 7.64 18.82 18.99 10.6 40.19 3.85 52.39-10.7\", style: { fill: \"currentcolor\" } }] }, anime: { viewBox: \"0 0 512 512\", paths: [{ d: \"M95.36999999999989 314.5799999999999c-5.33 23.74-10.83 47.44-15.93 71.23-1.66 7.72 2.84 14.46 9.67 16.06a13.943 13.943 0 0 0 16.67-10.3c2.16-8.43 3.8-17 5.77-25.49 1.53-6.57 3.21-13.1 5.2-21.17 30.82 56.56 76.04 88.28 139.57 88.23 63.42-0.05 108.5-31.92 138.92-87.7 0.88 2.53 1.48 3.85 1.81 5.24 3.07 13.16 6.07 26.35 9.17 39.51 2.03 8.64 8.54 13.23 16.4 11.74 7.3-1.38 11.47-8.08 10.14-16.51-0.51-3.26-1.28-6.48-2.01-9.7-5.9-26.14-11.82-52.31-17.76-78.52h-313.81c-1.26 5.78-2.51 11.59-3.81 17.38m193.59 15.3c9.17 4.07 15.86 2.93 22.67-4.07 4.3-4.42 9.94-5.54 15.76-2.36 4.59 2.51 6.57 6 6.94 10.2 0.15 2.09-0.11 4.18-0.77 6.17s-1.71 3.82-3.09 5.4c-11.74 13.78-33 20.33-52.04 9.61-4.1-2.31-7.38-5.03-8.14-10.07-1.74-11.54 7.73-19.73 18.67-14.88m-110.23 1.05c0.18-0.69 0.43-1.37 0.74-2.01 4.01-8.28 14.02-9.79 21.33-2.88 6.74 6.37 13.14 8.33 21.89 4.04 7.53-3.69 15.67-0.43 18.5 6.05 3.18 7.3 0.09 14.5-7.65 18.82-18.4 10.27-38.89 4.24-51.06-9.18a15.9 15.9 0 0 1-3.77-6.94c-0.66-2.59-0.65-5.31 0.02-7.9\", style: { fill: \"currentcolor\" } }, { d: \"M458.52000000000044 136.67999999999938c-10.5-13.58-24.07-22.24-40.67-24.69-23.81-3.51-43.83 4.88-59.44 23.24-69.03-42.31-136.78-42-204.24-0.25-33.63-36.99-78.82-25.68-99.09-0.15-12 15.1-16.03 32.61-12.61 51.07 4.38 23.7 19.49 39.42 41.61 48.35-0.2 2.76-0.23 4.85-0.51 6.91-0.53 3.75-1.11 7.5-1.69 11.24-0.3 1.95-0.17 3.93 0.37 5.83a13.7 13.7 0 0 0 2.76 5.14c1.28 1.49 2.87 2.69 4.66 3.52 1.79 0.82 3.74 1.25 5.71 1.25h65.75c3.02-9.43 5.84-18.6 8.89-27.69 2.91-8.64 10.17-13.2 17.09-11.02 8.15 2.58 11.61 9.55 9.04 18.76-1.84 6.58-4 13.08-6.09 19.82h49.83c0-8.52-0.16-16.32 0.04-24.11 0.23-8.95 5.92-15.14 13.43-15.01 7.55 0.12 12.82 6.21 13.11 15.36 0.15 4.52-0.02 9.05 0.07 13.57 0.08 3.48 0.34 6.95 0.52 10.38h49.4c-2.38-7.52-4.77-14.28-6.63-21.19-2.15-7.99 1.46-14.66 8.91-17.37 6.47-2.36 13.3 1.15 16.66 8.65 0.73 1.63 1.09 3.42 1.66 5.12 2.77 8.23 5.56 16.45 8.31 24.59h71.43c1.96 0 3.91-0.42 5.69-1.24 1.79-0.82 3.38-2.01 4.66-3.5s2.23-3.23 2.77-5.12c0.55-1.89 0.68-3.87 0.4-5.81-0.53-3.56-1.06-7.11-1.54-10.67-0.31-2.33-0.36-4.7-0.51-6.89 49.43-21.54 50.07-72.44 30.24-98.09m-354.88 72.79a35.42 35.42 0 0 1-24.81-10.25 35.44 35.44 0 0 1-10.49-24.71c-0.25-19.89 16.25-36.05 36.52-35.78 19.69 0.27 35.09 16.34 35.13 36.1 0.04 18.96-17.91 36.57-36.35 34.64m304.29 0c-16.5 1.87-35.69-14.65-35.77-35.32-0.06-16.02 14.21-35.82 35.91-35.47 19.83 0.32 36.28 16.05 35.76 35.61-0.63 23.38-20.1 36.73-35.9 35.18\", style: { fill: \"currentcolor\" } }] }, \"tv-outline\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M374.7999999999997 308.7999999999993l82.7 58.2a15.94 15.94 0 0 0 7.8 1.3c2.66-0.22 5.24-1.08 7.5-2.5 2.22-1.46 4.03-3.45 5.29-5.79s1.91-4.96 1.91-7.61v-192.8c0.04-4.03-1.46-7.92-4.19-10.87a15.73 15.73 0 0 0-10.51-5.03c-2.67-0.22-5.35 0.22-7.8 1.3l-82.7 58.2c-2.1 1.47-3.81 3.43-5 5.7a15.86 15.86 0 0 0-1.8 7.4v79.4c-0.01 2.58 0.61 5.12 1.8 7.4 1.19 2.27 2.9 4.22 5 5.7\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M268 384h-184a51.8 51.8 0 0 1-19.88-3.97 51.7 51.7 0 0 1-16.82-11.33 52.77 52.77 0 0 1-15.3-36.7v-152c0-6.83 1.35-13.58 3.97-19.88 2.63-6.3 6.48-12.02 11.33-16.82 9.76-9.7 22.94-15.2 36.7-15.3h184.5c13.65 0.05 26.72 5.48 36.4 15.1a51.3 51.3 0 0 1 11.18 16.69 51.5 51.5 0 0 1 3.92 19.71v152.5a52.23 52.23 0 0 1-15.3 36.7 52.23 52.23 0 0 1-36.7 15.3Z\", style: { stroke: \"currentcolor\", strokeMiterlimit: \"10\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M91.39999999999964 207.79999999999927h83.9\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M133.39999999999964 313.5v-105.7\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M180.0999999999999 208.79999999999927l38.1 104.7 37.8-104.7\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"32\", fill: \"none\" } }] }, tv: { viewBox: \"0 0 512 512\", paths: [{ d: \"M466.3199999999997 127.94999999999982c-5.29-0.42-10.6 0.47-15.46 2.6-0.97 0.43-1.9 0.95-2.77 1.57l-82.7 58.2a32 32 0 0 0-10 11.43 32.1 32.1 0 0 0-3.59 14.75v79.34a31.85 31.85 0 0 0 3.58 14.79c2.36 4.57 5.8 8.49 10.01 11.45l82.7 58.2c0.86 0.61 1.78 1.13 2.75 1.56 4.06 1.79 8.46 2.72 12.9 2.72 0.9 0 1.79-0.04 2.68-0.12 5.22-0.44 10.25-2.11 14.69-4.89 0.1-0.07 0.2-0.13 0.3-0.2 4.43-2.91 8.07-6.89 10.58-11.56a31.96 31.96 0 0 0 3.81-15.19v-192.73c0.05-8.07-2.96-15.85-8.44-21.78a31.77 31.77 0 0 0-21.04-10.14\", style: { fill: \"currentcolor\" } }, { d: \"M268.2999999999997 112.19999999999982h-184.62a68.23 68.23 0 0 0-67.88 68v152.14c0.1 17.98 7.29 35.2 20.02 47.91a68.28 68.28 0 0 0 47.93 19.95h184.12a68.46 68.46 0 0 0 47.9-20.07 68.44 68.44 0 0 0 20.03-47.93v-152.49a67.57 67.57 0 0 0-19.78-47.72 67.54 67.54 0 0 0-47.72-19.79m2.55 102.23l-37.8 104.7a16.04 16.04 0 0 1-5.85 7.66 15.96 15.96 0 0 1-9.18 2.91h-0.02c-3.28 0-6.49-1.01-9.18-2.89a15.94 15.94 0 0 1-5.85-7.64l-34.64-95.17h-19.13v89.7c0 4.24-1.69 8.31-4.69 11.31s-7.07 4.69-11.31 4.69-8.31-1.69-11.31-4.69-4.69-7.07-4.69-11.31v-89.7h-26c-4.24 0-8.31-1.69-11.31-4.69s-4.69-7.07-4.69-11.31 1.69-8.31 4.69-11.31 7.07-4.69 11.31-4.69h83.9c4.95 0.6 9.78 1.99 14.29 4.12 2.54 1.87 4.47 4.45 5.55 7.41l23 63.22 22.81-63.18c1.46-3.96 4.43-7.19 8.26-8.97s8.21-1.98 12.18-0.55c3.98 1.44 7.22 4.39 9.03 8.2 1.81 3.82 2.04 8.2 0.63 12.18\", style: { fill: \"currentcolor\" } }] }, \"calendar-thin\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M114.45000000000073 100.30000000000018h283.1c11.26 0.01 22.06 4.48 30.03 12.45a42.5 42.5 0 0 1 12.44 30.02v254.78a42.52 42.52 0 0 1-12.45 30.02 42.46 42.46 0 0 1-30.02 12.44h-283.1c-11.26 0-22.06-4.48-30.02-12.44a42.46 42.46 0 0 1-12.44-30.02v-254.78c0-11.26 4.47-22.06 12.44-30.03a42.46 42.46 0 0 1 30.02-12.44Z\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"16\", fill: \"none\" } }, { d: \"M291.3899999999994 256c4.93 0.02 9.72-1.68 13.54-4.8s6.44-7.47 7.41-12.3c0.98-4.84 0.24-9.86-2.07-14.22a21.335 21.335 0 0 0-24.98-10.39c-4.72 1.43-8.8 4.45-11.54 8.55-2.75 4.1-3.98 9.02-3.5 13.93a21.3 21.3 0 0 0 6.14 12.99 21.27 21.27 0 0 0 15 6.24\", style: { fill: \"currentcolor\" } }, { d: \"M362.15999999999985 256c4.93 0.01 9.71-1.68 13.52-4.8a21.28 21.28 0 0 0 5.33-26.49 21.3 21.3 0 0 0-10.61-9.66 21.36 21.36 0 0 0-14.34-0.72 21.304 21.304 0 0 0-15.03 22.45c0.48 4.91 2.65 9.49 6.13 12.98a21.27 21.27 0 0 0 15 6.24\", style: { fill: \"currentcolor\" } }, { d: \"M291.3899999999994 326.77000000000044c5.26 0 10.33-1.95 14.23-5.48 3.89-3.53 6.34-8.39 6.86-13.62 0.51-5.23-0.93-10.47-4.06-14.7a21.2 21.2 0 0 0-12.88-8.16c-5.16-1.03-10.51-0.1-15.02 2.6-4.52 2.7-7.86 6.98-9.39 12.01a21.17 21.17 0 0 0 1.11 15.21 21.18 21.18 0 0 0 19.15 12.14\", style: { fill: \"currentcolor\" } }, { d: \"M362.15999999999985 326.77000000000044c5.26 0 10.33-1.95 14.23-5.48 3.89-3.53 6.34-8.39 6.86-13.62 0.51-5.23-0.93-10.47-4.06-14.7a21.2 21.2 0 0 0-12.88-8.16c-5.16-1.03-10.51-0.1-15.02 2.6-4.52 2.7-7.86 6.98-9.39 12.01a21.17 21.17 0 0 0 1.11 15.21 21.18 21.18 0 0 0 19.15 12.14\", style: { fill: \"currentcolor\" } }, { d: \"M149.84000000000015 326.77000000000044c4.93 0.02 9.72-1.68 13.54-4.79a21.26 21.26 0 0 0 7.42-12.31c0.98-4.83 0.25-9.86-2.07-14.21a21.33 21.33 0 0 0-10.62-9.67c-4.56-1.9-9.63-2.15-14.35-0.73a21.3 21.3 0 0 0-11.55 8.55c-2.74 4.1-3.98 9.02-3.5 13.93a21.3 21.3 0 0 0 6.14 12.99 21.35 21.35 0 0 0 14.99 6.24\", style: { fill: \"currentcolor\" } }, { d: \"M220.60000000000036 326.77000000000044a21.3 21.3 0 0 0 13.53-4.79 21.33 21.33 0 0 0 7.41-12.29c0.97-4.83 0.24-9.85-2.08-14.2a21.2 21.2 0 0 0-10.61-9.66 21.27 21.27 0 0 0-14.33-0.73c-4.72 1.42-8.8 4.44-11.54 8.54a21.28 21.28 0 0 0 2.63 26.89c3.98 3.97 9.37 6.21 14.99 6.24\", style: { fill: \"currentcolor\" } }, { d: \"M149.84000000000015 397.53999999999996c4.92 0.01 9.7-1.69 13.51-4.81a21.276 21.276 0 0 0 5.31-26.47 21.297 21.297 0 0 0-24.94-10.36 21.28 21.28 0 0 0-11.52 8.54 21.27 21.27 0 0 0 17.64 33.1\", style: { fill: \"currentcolor\" } }, { d: \"M220.60000000000036 397.53999999999996c5.25 0 10.31-1.95 14.19-5.48a21.08 21.08 0 0 0 6.84-13.58c0.52-5.23-0.93-10.45-4.05-14.67-3.12-4.21-7.7-7.12-12.85-8.14a21.1 21.1 0 0 0-14.99 2.59c-4.5 2.69-7.84 6.96-9.37 11.98a21.14 21.14 0 0 0 1.11 15.18c2.23 4.74 6.16 8.49 11 10.5 2.57 1.07 5.33 1.62 8.12 1.62\", style: { fill: \"currentcolor\" } }, { d: \"M291.3899999999994 397.53999999999996c5.26 0 10.33-1.95 14.23-5.48 3.89-3.53 6.34-8.39 6.86-13.62 0.51-5.23-0.93-10.47-4.06-14.7a21.2 21.2 0 0 0-12.88-8.16c-5.16-1.03-10.51-0.1-15.02 2.6-4.52 2.7-7.86 6.98-9.39 12.01a21.17 21.17 0 0 0 1.11 15.21 21.18 21.18 0 0 0 19.15 12.14\", style: { fill: \"currentcolor\" } }, { d: \"M142.76000000000022 71.98999999999978v28.31\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"16\", fill: \"none\" } }, { d: \"M369.2399999999998 71.98999999999978v28.31\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"16\", fill: \"none\" } }, { d: \"M440.0100000000002 171.0699999999997h-368.02\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"16\", fill: \"none\" } }] }, android: { viewBox: \"0 0 512 512\", paths: [{ d: \"M317.5199999999986 57.850000000000364l23.96-34.79c0.37-0.44 0.65-0.95 0.82-1.5 0.16-0.55 0.21-1.13 0.13-1.7s-0.27-1.12-0.57-1.61-0.7-0.91-1.17-1.24c-0.71-0.49-1.57-0.75-2.43-0.73-0.87 0.02-1.71 0.32-2.4 0.84-0.46 0.35-0.83 0.79-1.11 1.3l-24.9 36.15a148.96 148.96 0 0 0-107.69 0l-24.9-36.15c-0.27-0.51-0.65-0.95-1.11-1.3s-0.99-0.6-1.55-0.73-1.14-0.15-1.71-0.05c-0.57 0.11-1.1 0.33-1.58 0.66a4.111 4.111 0 0 0-0.78 6.06l23.97 34.8c-38.12 17.72-64.84 51.42-68.25 90.73h259.5c-3.4-39.32-30.13-73.01-68.23-90.74m-115.72 54.85c-3.33 0-6.55-1.14-9.12-3.25a14.34 14.34 0 0 1-4.99-8.3c-0.66-3.26-0.16-6.65 1.41-9.58 1.56-2.94 4.1-5.24 7.17-6.51 3.07-1.28 6.49-1.45 9.67-0.49a14.39 14.39 0 0 1 10.14 15.16c-0.33 3.31-1.79 6.41-4.14 8.76a14.3 14.3 0 0 1-4.65 3.11c-1.74 0.73-3.61 1.1-5.49 1.1m108.4 0a14.43 14.43 0 0 1-14.39-13c-0.35-3.56 0.63-7.14 2.76-10.02s5.26-4.86 8.77-5.57a14.44 14.44 0 0 1 16.64 9.96 14.44 14.44 0 0 1-8.28 17.53c-1.74 0.72-3.61 1.1-5.5 1.1\", style: { fill: \"currentcolor\" } }, { d: \"M109.59000000000015 312.5699999999997c0 7.68-3.05 15.04-8.48 20.47a28.944 28.944 0 0 1-40.94 0 28.94 28.94 0 0 1-8.48-20.47v-117.08c0-7.68 3.05-15.04 8.48-20.47a28.944 28.944 0 0 1 40.94 0 28.94 28.94 0 0 1 8.48 20.47z\", style: { fill: \"currentcolor\" } }, { d: \"M126.25 167.4300000000003v211.48c0 6.03 2.4 11.81 6.66 16.07a22.73 22.73 0 0 0 16.08 6.66h26.9v65.07c0 7.68 3.05 15.04 8.48 20.47a28.944 28.944 0 0 0 40.94 0 28.94 28.94 0 0 0 8.48-20.47v-65.07h44.42v65.07c0 7.68 3.05 15.04 8.48 20.47a28.944 28.944 0 0 0 40.94 0 28.94 28.94 0 0 0 8.48-20.47v-65.07h26.9c6.03 0 11.81-2.39 16.08-6.66a22.73 22.73 0 0 0 6.66-16.07v-211.48z\", style: { fill: \"currentcolor\" } }, { d: \"M402.40999999999985 312.5699999999997c0 7.68 3.05 15.04 8.48 20.47a28.938 28.938 0 0 0 40.93 0 28.94 28.94 0 0 0 8.48-20.47v-117.08c0-7.68-3.05-15.04-8.48-20.47a28.94 28.94 0 0 0-40.93 0 28.94 28.94 0 0 0-8.48 20.47z\", style: { fill: \"currentcolor\" } }] }, linux: { viewBox: \"0 0 512 512\", paths: [{ d: \"M108.5 346.1800000000003c1.3 2.6 1.9 5.44 1.9 8.31 0 2.88-0.6 5.72-1.8 8.32-4.4 10.27-13.3 13.43-23.6 14.01-3.8 0.21-7.7-0.22-11.6-0.09-5.1 0.18-6.8 2.05-6.9 7.15 0.1 2.92 0.8 5.79 2.2 8.37 2 4.14 3.8 8.4 5.3 12.76 0.9 2.46 1.2 5.08 1 7.69s-0.9 5.15-2.1 7.46c-1.8 3.23-3.4 6.57-4.8 9.93-3 6.99-1.6 10.06 5.8 12.42 9.9 3.16 20.1 4.79 30.3 6.8 16.1 3.19 31.9 7.42 47.4 12.68 8.8 2.97 17.7 5.13 26.9 4.26 16.1-1.5 24.3-10.51 21.2-29.03-1.7-10.22-6.5-19.23-11.9-27.81-9-14.3-18.4-28.4-28-42.38-6.6-9.68-13.9-18.84-22.9-26.48-5.9-4.99-12.3-7.55-20-3.36-3.8 2.09-5.4-0.6-6-3.83-2-10.2-0.2-20.79 5.3-29.66 7.3-12.34 12.6-25.45 17.2-38.96 6.5-19.25 15.5-37.16 29.2-52.57 9-10.08 15.8-21.86 23.2-33.1 4.8-7.3 3.8-15.17 3.1-23.07-2-20-2.1-40.06-3-60.11-0.6-11.46 0.2-22.95 2.4-34.22 2.6-12.69 9.8-22.52 19.5-30.8 16.4-13.88 35.4-15.82 55.8-12.41 8.1 1.36 15.9 3.13 23.6 6.52 14.7 6.57 24.8 17.7 32.3 31.26a92.6 92.6 0 0 1 11.6 50.45c-1 24.35 5.1 47.42 15.2 69.46 5.6 12.11 13.9 22.62 23 32.2 11.4 11.9 19.7 25.58 26.9 40.11 8.2 16.69 14.2 34.37 17.8 52.6 2.6 11.57 2.8 23.53 0.6 35.17-1.1 5.3-3.1 9.71-8.8 11.88-4.1 1.51-5.7 5.9-8.2 9.15-6.9 8.96-15 15.49-27.2 15.92-12 0.41-20-4.06-24.9-15.28-1.3-3.13-2.7-6.2-5.2-8.61-4.2-4-8.3-3.16-10.5 2.05-4.4 9.88-4 19.91-1.1 30.1 4.7 16.48 3.4 33.08 1.1 49.66-0.9 5.46-1 11.01-0.3 16.5 1.7 13.91 14.7 21.99 29.2 18.29 6.3-1.63 12.1-4.73 16.9-9.06 13.1-11.6 28.5-20.24 45.1-25.32 8-2.4 16-4.89 22.9-9.83 6.5-4.75 6.7-9.43 0.2-14.33a33.2 33.2 0 0 0-11.5-5.97c-3.2-0.79-6.2-2.25-8.9-4.3-2.6-2.04-4.8-4.62-6.4-7.56-5.3-9.37-6.2-19.46-3.2-29.78 0.4-1.45 1.1-3.21 3-2.82 1.7 0.34 1.5 2.15 1.5 3.48 0.5 17.63 8.9 30.18 24.9 37.85 1 0.45 2 0.97 2.9 1.54 11.5 7.28 12.5 16.34 2.8 25.58-5.7 5.38-12.6 8.98-19.6 11.96-21.3 8.99-40 21.72-56.8 37.32-4.8 4.47-11.1 5.45-17.1 6.21-7.8 0.99-15.7-0.3-23.3-2.62-6.3-1.92-10.7-6.25-13.8-11.76-3.6-6.53-9.1-9.12-16.3-9.46-19.9-1.07-39.9-0.98-59.8 0.26-5.6 0.39-11.4-0.3-17 0.88-9.1 1.88-17.6 4.96-24.7 10.99-13.8 11.8-29 11.46-44.7 4.92-22.6-9.36-46.2-15.01-70.2-19.03-6.6-0.99-13-2.78-19.2-5.34-7.3-3.2-10.5-8.96-8.9-16.7 0.6-2.69 1-5.62 2.4-7.87 6.7-10.68 4.8-21.7 1.8-32.89-0.7-2.81-1.3-5.65-1.8-8.53-1.3-9.1 3.3-13.18 13.1-14.47 4-0.51 8-0.39 12-0.74 4.2-0.38 7.6-2.02 11.2-3.98 2.8-1.44 5.2-3.54 7.1-6.11 1.8-2.57 3-5.55 3.4-8.67 0.2-0.89 0.5-1.78 0.8-2.64 0-0.12 0.2-0.2 1-0.92m248.6-22.27q-1.2-0.075-2.4 0.03c-9.7 1.62-14.2-3.41-14.4-13.18-0.3-15.17-0.8-30.27-4.6-45.13-3-11.81-6.1-23.6-14.4-33.02-2.7-2.9-4.6-6.45-5.5-10.31-3.5-14.78-8.6-28.86-18.3-40.9-2.5-3.05-4.3-6.58-5.4-10.37-1-3.79-1.3-7.75-0.8-11.65 0.5-3.61 1.9-7.09 2.7-10.65 1.6-6.53-0.1-10.46-6.5-11.98-7.5-1.78-14.1-5.6-21.1-8.28-6.1-2.3-7.8-6.28-7.8-12.06 0.1-3.06 0.7-6.08 1.8-8.93 2.2-6.09 5.8-9.21 11.3-9.21 5.9 0 10.4 2.64 13.1 7.99 2.7 5.51 2.7 11.23 0.8 16.98-1.2 3.96-0.2 5.34 4.1 5.25 2.8-0.07 4.7-1.2 5.1-4.18 1-9.07 0.6-17.96-3-26.56-3.6-8.48-12.4-14.19-20.4-13-11.7 1.74-19.5 9.15-20 19.37-0.3 4.43 0 8.89 0.2 13.32 0.2 4.75 0 5.03-4.4 3.37-2.9-1.13-6-1.56-9.1-1.25-8.6 0.83-9.1 0.3-9.2-8.44 0-7.05-1.5-13.74-5.8-19.53-3.9-5.18-10.2-6.11-15.2-2.42-8.8 6.56-10.3 31.59-2.4 39.3 1.4 1.4 2.6 1.34 3.9 0.06 1.6-1.48 0.5-2.14-0.7-3.14-3.1-2.59-5.2-6.16-5.9-10.1-0.8-3.95-0.1-8.03 1.8-11.55 2.6-4.55 9.4-6.41 13.8-3.74 7.4 4.62 8.5 19.85 2 25.56-5 4.68-10.5 8.94-16.2 12.76-5.2 3.3-5 8.14-0.2 11.88 2.5 1.98 4.9 4.23 7 6.71 3.7 4.59 8.5 6.06 14.3 6.3 13.2 0.59 25.7-2.78 38-6.82 6.6-2.15 13.5-3.77 17.9-9.89 1.4-2.03 3.8-2.05 5.7-0.3 2 1.89 1.9 4.11 0.1 6.12-1.4 1.3-3 2.2-4.8 2.61-8.8 2.7-17 6.59-25.4 10.14-9.8 4.17-19.8 7.64-30.9 6.42-2.7-0.29-5.4-0.07-8.6-0.09 5.6 7.2 12.6 9.24 20.8 8.13 8.2-1.23 16.2-4 23.4-8.15 5.6-3.11 10.9-6.93 17.1-8.97 2.7-0.89 5.5-0.95 6.7 2.22 1.1 3-1.1 4.34-3.4 5.6-8.3 4.48-16.8 8.42-24.3 14.13-5.5 4.18-11.1 8.34-17.3 11.5-9.2 4.76-16.4 3.33-23.1-4.55-3-3.3-5.7-6.87-8.1-10.66-1.5-2.7-3-5.9-6.5-7.3-0.4 2.49-0.5 4.63-0.9 6.71-1.5 7.85-5.8 14.44-9.4 21.35-5.1 9.75-10.2 19.47-4.7 30.84 0.3 0.55 0.4 1.19 0.3 1.81-0.1 0.61-0.5 1.17-1 1.56-8.4 7.1-12.7 16.86-16.9 26.5-6.2 14.33-11.8 28.9-10.7 45.11 0.4 5.92 0.6 11.97-0.8 17.85-1.5 6.47-4.9 7.47-9.6 2.76-7.3-7.19-9.3-16.44-9.9-26.05-0.3-3.96 0.5-7.97 0.9-12.13-0.5 0.18-0.9 0.51-1.2 0.93-0.3 0.43-0.5 0.93-0.5 1.45-2.4 10.34-0.9 20.43 2.8 30.2 1.3 3.52 2.4 7.36 5.4 10.08 4.9 4.46 9.8 8.97 14.8 13.35 14 12.31 28.9 23.54 43.5 35.21 9.8 7.84 9.4 22.61-0.7 28.08-6.7 3.61-6.7 3.61-2.4 9.99 0.6 0.89 1.3 1.76 2 2.6 5 6.24 8.2 13.83 9 21.84 0.2 2.72 0.1 5.64 1.6 8.58 1.3-1.05 2.3-2.45 2.8-4.04 0.6-1.59 0.7-3.3 0.3-4.94-0.9-6-3-11.57-7-16.29-1.6-1.81-4-3.72-1.1-6.18 2.5-2.17 5.6-3.19 8.3-0.64 8.8 7.94 19.4 9.65 30.6 9.87 10.7 0.11 21.3-1.56 31.4-4.96 11.4-3.67 21.6-9.15 27.5-20.25 0.6-1.05 1.4-1.99 2.3-2.8 1.6-1.47 3.1-3.25 5.6-2.47s2.8 3.04 3.3 5.16c2 8.29-0.1 16.06-2.6 23.87-1.7 5.51-4 10.96-4 16.9 0 1.8 0.4 3.63 2.4 3.87 2.3 0.27 2.1-1.91 2.4-3.27 1.3-5.99 2.4-12 3.7-17.97 2.7-12.28 3.3-24.94 1.7-37.43-1-8.5-3.5-16.89-2.8-25.53 0.7-8.49 1.4-18.02 9.8-22.03 6.2-2.95 10.7-6.23 14.1-12.02 3-5.05 9-5.41 14.1-6.96 7.1-0.79 13.9 0.92 21.4 2.79-1.5-1.95-3.6-3.39-5.9-4.16-3.7-1.45-4.6-3.61-3.7-7.51 1.8-7.11 4-14.33 2.9-21.75-2.4-17.29-4.3-34.79-14.4-49.96-3.4-5.16-7.2-10.08-10.8-15.1 3 6.12 5.9 12.17 9 18.12 3.2 6.17 5.5 12.69 7.9 19.17 3.7 10.32 6.2 21.07 5.5 31.96-0.6 10-0.4 21.02-11.8 26.49\", style: { fill: \"currentcolor\" } }] }, windows: { viewBox: \"0 0 512 512\", paths: [{ d: \"M426.10000000000036 457.3699999999999c-27.4-3.99-54.8-7.99-82.2-11.99q-47.25-6.885-94.5-13.74c-6.6-0.96-13.2-1.95-19.8-2.75-1.9-0.25-2.8-0.97-2.6-2.9 0.1-0.7 0.1-1.42 0-2.12V259.1999999999998c77.5 0.41 154.5 0.84 231.7 1.26v201.6c-11-1.58-21.8-3.12-32.6-4.69m-401.8-57.39v-141.85c57.9 0.32 115.6 0.64 173.5 0.95v165.48c-57.9-8.21-115.6-16.38-173.5-24.58m202.9-169.76c0-1.27-0.1-2.51-0.2-3.75v-160.45c0-3.24 1-4.12 4.1-4.53 42.3-5.81 84.6-11.69 126.9-17.63 33.2-4.63 66.5-9.25 99.7-13.85 0.3 0 0.7 0.03 1 0.09v201.39c-77.1-0.42-154.1-0.84-231.5-1.27m-203-1.15v-140.4c57.9-7.49 115.6-14.96 173.6-22.46v163.81c-57.9-0.31-115.6-0.62-173.6-0.95\", style: { fill: \"currentcolor\" } }] }, macos: { viewBox: \"0 0 512 512\", paths: [{ d: \"M156.79999999999927 464.21000000000004c-12.5-8.49-22.4-19.61-31-31.84-21.5-30.65-37.9-63.77-47.9-99.84-8.9-32.09-11.4-64.6-6.4-97.49 4.4-29.01 15.3-55.14 35.8-76.67 21.3-22.32 47.4-31.41 78.1-28.22 15.4 1.6 30.1 6.12 44.9 10.48 6.1 1.8 12.3 3.16 18.5 4.73 8.7 2.23 17.3 1.23 25.8-1.17 12-3.44 23.9-7.37 35.9-10.85 19-5.52 38.3-6.77 57.7-2.24 22.5 5.21 40.2 17.8 55.2 34.78 2.2 2.45 4.3 4.95 6.3 7.28-7.5 7.32-15 14.05-21.8 21.39-17.3 18.46-26.3 40.39-26.5 65.75-0.3 23.09 7.2 45.61 21.2 63.96 9.3 12.4 20.2 22.81 34.9 28.83 1.7 0.7 3.4 1.33 5.6 2.15-2 5.23-3.7 10.43-5.8 15.45-12 28.73-27.5 55.28-48.7 78.29-4 4.27-8.4 8.23-13 11.85-15.5 12.45-32.9 17.13-52.5 11.38-9.8-2.87-19.5-6.13-29.3-9.18-10-3.15-20.2-5.68-30.7-6-13.1-0.4-25.3 3.44-37.4 7.82-9.2 3.31-18.4 6.77-27.9 8.97-3.3 0.76-6.6 1.14-10 1.15-11.1 0-21.4-4.25-31-10.76m183-437.14c0.4 3.42 1.1 6.81 1 10.18-0.2 24.37-8.6 45.87-23.7 64.82-8.3 10.41-18 19.3-29.8 25.78-8.4 4.62-17.7 5.94-27 7.05-3 0.35-6.1 0.58-9.2 0.87 0.5-56.6 30-97.6 88.7-108.7\", style: { fill: \"currentcolor\" } }] }, \"star-rating-full\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M253.60000000000036 34.32999999999993l59.2 169.6 177.8 4.6-141.1 109.4 50.6 172.44-146.5-101.97-146.6 101.97 50.7-172.44-141.2-109.41 177.8-4.6z\", style: { fill: \"currentcolor\" } }] }, \"star-rating-half\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M256.5 35.76000000000022l-0.5-1.43-59.2 169.59-177.6 4.6 141 109.41-50.5 172.44 146.3-101.97 0.5 0.35z m236 172.76v0.21l0.3-0.2z\", style: { fill: \"currentcolor\", fillRule: \"evenodd\", clipRule: \"evenodd\" } }] }, download: { viewBox: \"0 0 512 512\", paths: [{ d: \"M336 173h40c5.3 0 10.5 1.03 15.3 3.04 4.9 2.01 9.3 4.96 13 8.67 3.7 3.72 6.7 8.13 8.7 12.98s3 10.06 3 15.31v208c0 5.25-1 10.46-3 15.31s-5 9.26-8.7 12.98c-3.7 3.71-8.1 6.66-13 8.67-4.8 2.01-10 3.04-15.3 3.04h-240c-5.3 0-10.5-1.03-15.3-3.04-4.9-2.01-9.3-4.96-13-8.67-3.7-3.72-6.7-8.13-8.7-12.98s-3-10.06-3-15.31v-208c0-5.25 1-10.46 3-15.31s5-9.26 8.7-12.98c3.7-3.71 8.1-6.66 13-8.67 4.8-2.01 10-3.04 15.3-3.04h40\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M176 269l80 80 80-80\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M256 45v288\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }] }, language: { viewBox: \"0 0 512 512\", paths: [{ d: \"M478.2999999999993 433.5999999999999l-90-218c-1.2-3.01-3.1-5.7-5.5-7.89s-5.3-3.81-8.4-4.76-6.4-1.19-9.6-0.71-6.3 1.66-9 3.47c-3.7 2.38-6.5 5.83-8.1 9.89l-90 218c-2.2 5.4-2.3 11.46-0.1 16.89 1.1 2.69 2.7 5.13 4.8 7.16 3.1 3.09 7 5.19 11.3 6.04 4.3 0.84 8.7 0.39 12.7-1.3 2.7-1.1 5.1-2.72 7.2-4.78 2-2.07 3.6-4.52 4.7-7.22l18.4-44.39h102.6l18.4 44.39c1.6 4.06 4.4 7.51 8.1 9.89 3.6 2.44 7.9 3.73 12.2 3.72 3.6 0 7.2-0.89 10.4-2.6 4.8-2.57 8.5-6.84 10.3-11.98 1.9-5.15 1.7-10.79-0.4-15.82m-143.5-71.6l33.2-80.35 33.2 80.35z\", style: { fill: \"currentcolor\" } }, { d: \"M267.7999999999993 342.9200000000001c1.7-2.32 3-4.97 3.6-7.78 0.7-2.81 0.8-5.73 0.3-8.58-0.4-2.84-1.4-5.58-2.9-8.04s-3.5-4.6-5.8-6.3c-0.2-0.15-15-11.13-36.5-34.73 39.6-53.68 62.1-114.75 71.2-143.49h32.3c5.8-0.02 11.4-2.33 15.6-6.44 4.1-4.14 6.4-9.73 6.4-15.56s-2.3-11.42-6.4-15.56c-4.2-4.11-9.8-6.42-15.6-6.44h-116v-20c0-5.83-2.3-11.42-6.4-15.56-4.1-4.12-9.8-6.44-15.6-6.44s-11.5 2.32-15.6 6.44c-4.1 4.14-6.4 9.73-6.4 15.56v20h-116c-5.8 0.02-11.4 2.33-15.6 6.44-4.1 4.14-6.4 9.73-6.4 15.56s2.3 11.42 6.4 15.56c4.2 4.11 9.8 6.42 15.6 6.44h197.2c-9.5 26.95-27 69.5-53.7 108.36-31.4-41.68-43.1-68.65-43.2-68.87-2.3-5.32-6.6-9.52-12-11.69-5.3-2.17-11.4-2.13-16.7 0.11-5.4 2.24-9.6 6.49-11.8 11.84-2.3 5.36-2.3 11.37-0.1 16.74 0.6 1.38 14.6 34.23 52.9 83.93 0.9 1.19 1.8 2.35 2.7 3.51-39.2 44.35-77.7 71.86-93.8 80.74-2.5 1.38-4.8 3.25-6.6 5.49-1.8 2.25-3.2 4.84-4 7.61s-1.1 5.68-0.8 8.55c0.3 2.88 1.2 5.66 2.6 8.2 1.4 2.53 3.2 4.77 5.5 6.58 2.2 1.82 4.8 3.17 7.6 3.98 2.7 0.82 5.6 1.08 8.5 0.78 2.9-0.31 5.7-1.18 8.2-2.56 2.2-1.18 48.6-26.89 101.7-85.59 22.5 24.08 38 35.44 38.9 36.1 2.3 1.7 5 2.93 7.8 3.59 2.8 0.68 5.7 0.79 8.6 0.34 5.7-0.95 10.9-4.12 14.3-8.83z\", style: { fill: \"currentcolor\" } }] }, \"movies-outline\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M436 96h-360c-3.68-0.01-7.32 0.71-10.72 2.12-3.4 1.4-6.49 3.47-9.09 6.07s-4.66 5.69-6.07 9.09-2.13 7.04-2.12 10.72v264a27.96 27.96 0 0 0 17.28 25.88c3.4 1.4 7.04 2.12 10.72 2.12h360c3.68 0 7.32-0.72 10.72-2.12 3.4-1.41 6.49-3.47 9.09-6.07s4.66-5.69 6.07-9.09c1.4-3.4 2.13-7.04 2.12-10.72v-264a28.04 28.04 0 0 0-8.21-19.79 28.04 28.04 0 0 0-19.79-8.21Z\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M436 336h-24c-3.68-0.01-7.32 0.71-10.72 2.12-3.4 1.4-6.49 3.47-9.09 6.07s-4.66 5.69-6.07 9.09-2.13 7.04-2.12 10.72v24a27.96 27.96 0 0 0 17.28 25.88c3.4 1.4 7.04 2.12 10.72 2.12h24c3.68 0 7.32-0.72 10.72-2.12 3.4-1.41 6.49-3.47 9.09-6.07s4.66-5.69 6.07-9.09c1.4-3.4 2.13-7.04 2.12-10.72v-24a28.04 28.04 0 0 0-8.21-19.79 28.04 28.04 0 0 0-19.79-8.21Z\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M436 256h-24c-3.68-0.01-7.32 0.71-10.72 2.12-3.4 1.4-6.49 3.47-9.09 6.07s-4.66 5.69-6.07 9.09-2.13 7.04-2.12 10.72v24a27.96 27.96 0 0 0 17.28 25.88c3.4 1.4 7.04 2.12 10.72 2.12h24c3.68 0 7.32-0.72 10.72-2.12 3.4-1.41 6.49-3.47 9.09-6.07s4.66-5.69 6.07-9.09c1.4-3.4 2.13-7.04 2.12-10.72v-24a28.04 28.04 0 0 0-8.21-19.79 28.04 28.04 0 0 0-19.79-8.21Z\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M436 176h-24c-3.68-0.01-7.32 0.71-10.72 2.12-3.4 1.4-6.49 3.47-9.09 6.07s-4.66 5.69-6.07 9.09-2.13 7.04-2.12 10.72v24a27.96 27.96 0 0 0 17.28 25.88c3.4 1.4 7.04 2.12 10.72 2.12h24c3.68 0 7.32-0.72 10.72-2.12 3.4-1.41 6.49-3.47 9.09-6.07s4.66-5.69 6.07-9.09c1.4-3.4 2.13-7.04 2.12-10.72v-24a28.04 28.04 0 0 0-8.21-19.79 28.04 28.04 0 0 0-19.79-8.21Z\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M436 96h-24c-3.68-0.01-7.32 0.71-10.72 2.12-3.4 1.4-6.49 3.47-9.09 6.07s-4.66 5.69-6.07 9.09-2.13 7.04-2.12 10.72v24a27.96 27.96 0 0 0 17.28 25.88c3.4 1.4 7.04 2.12 10.72 2.12h24c3.68 0 7.32-0.72 10.72-2.12 3.4-1.41 6.49-3.47 9.09-6.07s4.66-5.69 6.07-9.09c1.4-3.4 2.13-7.04 2.12-10.72v-24a28.04 28.04 0 0 0-8.21-19.79 28.04 28.04 0 0 0-19.79-8.21Z\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M100 336h-24c-3.68-0.01-7.32 0.71-10.72 2.12-3.4 1.4-6.49 3.47-9.09 6.07s-4.66 5.69-6.07 9.09-2.13 7.04-2.12 10.72v24a27.96 27.96 0 0 0 17.28 25.88c3.4 1.4 7.04 2.12 10.72 2.12h24c3.68 0 7.32-0.72 10.72-2.12 3.4-1.41 6.49-3.47 9.09-6.07s4.66-5.69 6.07-9.09c1.4-3.4 2.13-7.04 2.12-10.72v-24a28.04 28.04 0 0 0-8.21-19.79 28.04 28.04 0 0 0-19.79-8.21Z\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M100 256h-24c-3.68-0.01-7.32 0.71-10.72 2.12-3.4 1.4-6.49 3.47-9.09 6.07s-4.66 5.69-6.07 9.09-2.13 7.04-2.12 10.72v24a27.96 27.96 0 0 0 17.28 25.88c3.4 1.4 7.04 2.12 10.72 2.12h24c3.68 0 7.32-0.72 10.72-2.12 3.4-1.41 6.49-3.47 9.09-6.07s4.66-5.69 6.07-9.09c1.4-3.4 2.13-7.04 2.12-10.72v-24a28.04 28.04 0 0 0-8.21-19.79 28.04 28.04 0 0 0-19.79-8.21Z\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M100 176h-24c-3.68-0.01-7.32 0.71-10.72 2.12-3.4 1.4-6.49 3.47-9.09 6.07s-4.66 5.69-6.07 9.09-2.13 7.04-2.12 10.72v24a27.96 27.96 0 0 0 17.28 25.88c3.4 1.4 7.04 2.12 10.72 2.12h24c3.68 0 7.32-0.72 10.72-2.12 3.4-1.41 6.49-3.47 9.09-6.07s4.66-5.69 6.07-9.09c1.4-3.4 2.13-7.04 2.12-10.72v-24a28.04 28.04 0 0 0-8.21-19.79 28.04 28.04 0 0 0-19.79-8.21Z\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M100 96h-24c-3.68-0.01-7.32 0.71-10.72 2.12-3.4 1.4-6.49 3.47-9.09 6.07s-4.66 5.69-6.07 9.09-2.13 7.04-2.12 10.72v24a27.96 27.96 0 0 0 17.28 25.88c3.4 1.4 7.04 2.12 10.72 2.12h24c3.68 0 7.32-0.72 10.72-2.12 3.4-1.41 6.49-3.47 9.09-6.07s4.66-5.69 6.07-9.09c1.4-3.4 2.13-7.04 2.12-10.72v-24a28.04 28.04 0 0 0-8.21-19.79 28.04 28.04 0 0 0-19.79-8.21Z\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M356 96h-200c-3.68-0.01-7.32 0.71-10.72 2.12-3.4 1.4-6.49 3.47-9.09 6.07s-4.66 5.69-6.07 9.09-2.13 7.04-2.12 10.72v104a27.96 27.96 0 0 0 17.28 25.88c3.4 1.4 7.04 2.12 10.72 2.12h200c3.68 0 7.32-0.72 10.72-2.12 3.4-1.41 6.49-3.47 9.09-6.07s4.66-5.69 6.07-9.09c1.4-3.4 2.13-7.04 2.12-10.72v-104a28.04 28.04 0 0 0-8.21-19.79 28.04 28.04 0 0 0-19.79-8.21Z\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M356 256h-200c-3.68-0.01-7.32 0.71-10.72 2.12-3.4 1.4-6.49 3.47-9.09 6.07s-4.66 5.69-6.07 9.09-2.13 7.04-2.12 10.72v104a27.96 27.96 0 0 0 17.28 25.88c3.4 1.4 7.04 2.12 10.72 2.12h200c3.68 0 7.32-0.72 10.72-2.12 3.4-1.41 6.49-3.47 9.09-6.07s4.66-5.69 6.07-9.09c1.4-3.4 2.13-7.04 2.12-10.72v-104a28.04 28.04 0 0 0-8.21-19.79 28.04 28.04 0 0 0-19.79-8.21Z\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }] }, movies: { viewBox: \"0 0 512 512\", paths: [{ d: \"M435.79999999999995 80.19999999999982h-360a44.03 44.03 0 0 0-31.1 12.9 44.03 44.03 0 0 0-12.9 31.1v264a44.03 44.03 0 0 0 12.9 31.1 44.03 44.03 0 0 0 31.1 12.9h360a44.03 44.03 0 0 0 31.1-12.9 44.03 44.03 0 0 0 12.9-31.1v-264a44.03 44.03 0 0 0-12.9-31.1 44.03 44.03 0 0 0-31.1-12.9m-324 308a11.997 11.997 0 0 1-12 12h-24c-1.58 0-3.14-0.31-4.6-0.91a12 12 0 0 1-3.89-2.6c-1.12-1.11-2-2.44-2.6-3.9-0.6-1.45-0.91-3.01-0.91-4.59v-24c0-1.58 0.31-3.14 0.91-4.59 0.6-1.46 1.48-2.79 2.6-3.9 1.11-1.11 2.44-2 3.89-2.6 1.46-0.6 3.02-0.91 4.6-0.91h24a11.997 11.997 0 0 1 12 12z m0-80a11.997 11.997 0 0 1-12 12h-24c-1.58 0-3.14-0.31-4.6-0.91a12 12 0 0 1-3.89-2.6c-1.12-1.11-2-2.44-2.6-3.9-0.6-1.45-0.91-3.01-0.91-4.59v-24c0-1.58 0.31-3.14 0.91-4.59 0.6-1.46 1.48-2.79 2.6-3.9 1.11-1.11 2.44-2 3.89-2.6 1.46-0.6 3.02-0.91 4.6-0.91h24a11.997 11.997 0 0 1 12 12z m0-80a11.997 11.997 0 0 1-12 12h-24c-1.58 0-3.14-0.31-4.6-0.91a12 12 0 0 1-3.89-2.6c-1.12-1.11-2-2.44-2.6-3.9-0.6-1.45-0.91-3.01-0.91-4.59v-24c0-1.58 0.31-3.14 0.91-4.59 0.6-1.46 1.48-2.79 2.6-3.9 1.11-1.11 2.44-2 3.89-2.6 1.46-0.6 3.02-0.91 4.6-0.91h24a11.997 11.997 0 0 1 12 12z m0-80a11.997 11.997 0 0 1-12 12h-24c-1.58 0-3.14-0.31-4.6-0.91a12 12 0 0 1-3.89-2.6c-1.12-1.11-2-2.44-2.6-3.9-0.6-1.45-0.91-3.01-0.91-4.59v-24c0-1.58 0.31-3.14 0.91-4.59 0.6-1.46 1.48-2.79 2.6-3.9 1.11-1.11 2.44-2 3.89-2.6 1.46-0.6 3.02-0.91 4.6-0.91h24a11.997 11.997 0 0 1 12 12z m241.68 124h-195.36c-4.24 0-8.31-1.69-11.31-4.69s-4.69-7.07-4.69-11.31 1.69-8.31 4.69-11.31 7.07-4.69 11.31-4.69h195.36c4.24 0 8.31 1.69 11.31 4.69s4.69 7.07 4.69 11.31-1.69 8.31-4.69 11.31-7.07 4.69-11.31 4.69m94.32 116a11.997 11.997 0 0 1-12 12h-24c-1.58 0-3.14-0.31-4.6-0.91a12 12 0 0 1-3.89-2.6c-1.12-1.11-2-2.44-2.6-3.9-0.6-1.45-0.91-3.01-0.91-4.59v-24c0-1.58 0.31-3.14 0.91-4.59 0.6-1.46 1.48-2.79 2.6-3.9 1.11-1.11 2.44-2 3.89-2.6 1.46-0.6 3.02-0.91 4.6-0.91h24a11.997 11.997 0 0 1 12 12z m0-80a11.997 11.997 0 0 1-12 12h-24c-1.58 0-3.14-0.31-4.6-0.91a12 12 0 0 1-3.89-2.6c-1.12-1.11-2-2.44-2.6-3.9-0.6-1.45-0.91-3.01-0.91-4.59v-24c0-1.58 0.31-3.14 0.91-4.59 0.6-1.46 1.48-2.79 2.6-3.9 1.11-1.11 2.44-2 3.89-2.6 1.46-0.6 3.02-0.91 4.6-0.91h24a11.997 11.997 0 0 1 12 12z m0-80a11.997 11.997 0 0 1-12 12h-24c-1.58 0-3.14-0.31-4.6-0.91a12 12 0 0 1-3.89-2.6c-1.12-1.11-2-2.44-2.6-3.9-0.6-1.45-0.91-3.01-0.91-4.59v-24c0-1.58 0.31-3.14 0.91-4.59 0.6-1.46 1.48-2.79 2.6-3.9 1.11-1.11 2.44-2 3.89-2.6 1.46-0.6 3.02-0.91 4.6-0.91h24a11.997 11.997 0 0 1 12 12z m0-80a11.997 11.997 0 0 1-12 12h-24c-1.58 0-3.14-0.31-4.6-0.91a12 12 0 0 1-3.89-2.6c-1.12-1.11-2-2.44-2.6-3.9-0.6-1.45-0.91-3.01-0.91-4.59v-24c0-1.58 0.31-3.14 0.91-4.59 0.6-1.46 1.48-2.79 2.6-3.9 1.11-1.11 2.44-2 3.89-2.6 1.46-0.6 3.02-0.91 4.6-0.91h24a11.997 11.997 0 0 1 12 12z\", style: { fill: \"currentcolor\" } }] }, \"cloud-library\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M415.5100000000002 404.5500000000002l0.37-0.04h0.04l0.88-0.13a90.47 90.47 0 0 0 57.9-30.97 90.45 90.45 0 0 0 21.74-61.95 90.5 90.5 0 0 0-25.86-60.36 90.5 90.5 0 0 0-59.85-27l-6.42-0.36-0.13-6.42c-1.62-73.55-63.06-133.4-136.96-133.4-66.36 0-123.05 47.13-134.81 112.05l-1.1 6.02-6.11-0.32c-1.86-0.1-3.73-0.15-5.62-0.16-56.35 0-102.21 45.67-102.21 101.8a101.4 101.4 0 0 0 26.59 68.77 101.45 101.45 0 0 0 66.14 32.58l0.08 0.01c3.17 0.29 6.34 0.43 9.4 0.43 3.12 0 6.3-0.14 9.5-0.44l0.32-0.03h0.31l265.2-0.11h0.37l0.37 0.04q4.935 0.54 9.9 0.54c3.33 0 6.66-0.19 9.97-0.55m-20.6-16.34l-265.21 0.11c-0.7 0-1.41 0.04-2.11 0.1-2.7 0.24-5.39 0.37-8.01 0.37-2.57 0-5.24-0.12-7.92-0.37a85.18 85.18 0 0 1-55.6-27.34 85.25 85.25 0 0 1-22.38-57.77c0-47.14 38.53-85.49 85.9-85.49 1.59 0 3.18 0.05 4.75 0.13q0.63 0.03 1.26 0.03c5.45 0 10.72-1.91 14.9-5.4 4.18-3.5 7-8.35 7.97-13.71 10.34-57.15 60.29-98.63 118.75-98.63 65.1 0 119.23 52.68 120.65 117.44 0.15 5.84 2.49 11.42 6.55 15.62 4.06 4.21 9.55 6.74 15.39 7.09 18.56 0.96 36.08 8.85 49.11 22.11a74.19 74.19 0 0 1 21.22 49.5 74.2 74.2 0 0 1-17.83 50.82 74.2 74.2 0 0 1-47.5 25.38l-0.61 0.08c-2.87 0.33-5.76 0.5-8.65 0.51-2.72 0-5.44-0.15-8.15-0.45-0.83-0.09-1.66-0.13-2.49-0.13\", style: { fill: \"currentcolor\" } }, { d: \"M321.39999999999964 209.82999999999993c-0.68-2.95-2.51-5.5-5.07-7.1a11.38 11.38 0 0 0-8.61-1.44c-2.95 0.68-5.5 2.5-7.1 5.07s-2.12 5.66-1.44 8.61l25 108.09c0.72 2.9 2.56 5.41 5.11 6.97a11.42 11.42 0 0 0 8.52 1.39 11.43 11.43 0 0 0 7.06-5c1.6-2.52 2.15-5.58 1.52-8.5z\", style: { fill: \"currentcolor\" } }, { d: \"M277.03999999999996 198.14000000000033c-3.02 0.01-5.92 1.21-8.06 3.35a11.4 11.4 0 0 0-3.34 8.06v110.94a11.43 11.43 0 0 0 3.45 7.84c2.13 2.07 4.98 3.22 7.95 3.22 2.96 0 5.81-1.15 7.94-3.22a11.43 11.43 0 0 0 3.45-7.84v-110.94c0-1.5-0.29-2.98-0.86-4.37-0.86-2.08-2.33-3.87-4.2-5.12a11.44 11.44 0 0 0-6.34-1.92\", style: { fill: \"currentcolor\" } }, { d: \"M200.4300000000003 198.14000000000033c-1.5 0-2.98 0.29-4.37 0.86-1.38 0.58-2.64 1.42-3.7 2.48s-1.9 2.32-2.47 3.7a11.5 11.5 0 0 0-0.86 4.37v110.94a11.43 11.43 0 0 0 3.45 7.84c2.13 2.07 4.98 3.22 7.95 3.22 2.96 0 5.81-1.15 7.94-3.22a11.43 11.43 0 0 0 3.45-7.84v-110.94c0-1.5-0.29-2.98-0.86-4.37-0.58-1.38-1.42-2.64-2.48-3.7-1.05-1.06-2.31-1.9-3.69-2.47a11.5 11.5 0 0 0-4.37-0.87\", style: { fill: \"currentcolor\" } }, { d: \"M238.72999999999956 220.51000000000022c-3.02 0.01-5.91 1.21-8.05 3.35a11.43 11.43 0 0 0-3.35 8.05V320.5a11.43 11.43 0 0 0 3.45 7.84 11.4 11.4 0 0 0 7.94 3.22c2.97 0 5.82-1.15 7.95-3.22a11.43 11.43 0 0 0 3.45-7.84v-88.59c-0.01-3.02-1.21-5.91-3.35-8.05a11.43 11.43 0 0 0-8.05-3.35\", style: { fill: \"currentcolor\" } }] }, \"chevron-back\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M328 112.00000000000006l-144 144 144 144\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"48\", fill: \"none\" } }] }, \"sort-up-down\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M158.59000000000015 319.22499999999997l86.18 100.576a14.78 14.78 0 0 0 11.24 5.165 14.8 14.8 0 0 0 11.23-5.165l86.19-100.576a14.8 14.8 0 0 0 2.21-15.812 14.87 14.87 0 0 0-5.46-6.276 14.85 14.85 0 0 0-7.99-2.341H169.79999999999927c-2.84 0-5.61 0.812-7.99 2.34a14.87 14.87 0 0 0-5.46 6.279 14.84 14.84 0 0 0-1.2 8.232c0.4 2.803 1.59 5.433 3.44 7.578\", style: { fill: \"currentcolor\" } }, { d: \"M158.59000000000015 192.78000000000003l86.18-100.58a14.8 14.8 0 0 1 5.06-3.812 14.8 14.8 0 0 1 17.41 3.812l86.19 100.58a14.8 14.8 0 0 1 2.21 15.813 14.87 14.87 0 0 1-5.46 6.277 14.85 14.85 0 0 1-7.99 2.34h-172.4c-2.83 0-5.6-0.812-7.98-2.34a14.8 14.8 0 0 1-5.46-6.28 14.84 14.84 0 0 1-1.2-8.232c0.4-2.803 1.59-5.433 3.44-7.578\", style: { fill: \"currentcolor\" } }] }, \"caret-down\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M91.79999999999927 213.79899999999998l145.3 169.6c2.1 2.536 4.7 4.592 7.7 6.031 2.9 1.487 6.1 2.382 9.4 2.633 3.2 0.251 6.5-0.147 9.6-1.171 3.1-1.035 6-2.662 8.5-4.793 1-0.797 1.9-1.703 2.7-2.7l145.3-169.6c3.1-3.647 5-8.083 5.7-12.8 0.7-4.719 0-9.539-2-13.869-2-4.344-5.2-8.023-9.2-10.599s-8.7-3.942-13.5-3.932h-290.7c-3.3-0.01-6.6 0.626-9.6 1.873-4.6 1.86-8.5 5.058-11.2 9.175-2.7 4.109-4.2 8.924-4.2 13.852 0.1 5.99 2.3 11.756 6.2 16.3\", style: { fill: \"currentcolor\" } }] }, \"caret-up\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M91.79999999999927 314.9l145.3-169.6c2.1-2.535 4.7-4.591 7.7-6.031 2.9-1.487 6.1-2.381 9.4-2.632 3.2-0.251 6.5 0.147 9.6 1.17 3.1 1.036 6 2.663 8.5 4.793 1 0.797 1.9 1.703 2.7 2.7l145.3 169.6c3.1 3.647 5 8.083 5.7 12.8 0.7 4.719 0 9.538-2 13.869a25.1 25.1 0 0 1-9.2 10.599c-4 2.576-8.7 3.94-13.5 3.931h-290.7c-3.3 0.011-6.6-0.625-9.6-1.873a24.23 24.23 0 0 1-11.2-9.175c-2.7-4.109-4.2-8.924-4.2-13.852 0.1-5.99 2.3-11.755 6.2-16.299\", style: { fill: \"currentcolor\" } }] }, \"chevron-forward\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M184 400.00000000000006l144-144-144-144\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"48\", fill: \"none\" } }] }, \"chevron-down\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M112 184.00000000000006l144 144 144-144\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"48\", fill: \"none\" } }] }, \"chevron-up\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M400 328.00000000000006l-144-144-144 144\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"48\", fill: \"none\" } }] }, \"more-vertical\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M256 293.591c7.4-0.016 14.7-2.22 20.9-6.339 6.2-4.109 11-9.989 13.8-16.872 2.9-6.862 3.6-14.421 2.2-21.719-1.5-7.273-5.1-13.956-10.3-19.246a38.2 38.2 0 0 0-15.7-9.4 37.47 37.47 0 0 0-18.2-0.9c-9.2 1.827-17.3 6.988-22.9 14.482-5.5 7.495-8.1 16.788-7.2 26.077 0.6 6.164 2.7 12.087 6.1 17.234 3.5 5.147 8.1 9.356 13.6 12.246 5.4 2.922 11.5 4.447 17.7 4.437\", style: { fill: \"currentcolor\" } }, { d: \"M256 418.899c7.4-0.016 14.7-2.22 20.9-6.339 6.2-4.109 11-9.989 13.8-16.872 2.9-6.862 3.6-14.421 2.2-21.719-1.5-7.273-5.1-13.956-10.3-19.246a38.2 38.2 0 0 0-15.7-9.4 37.45 37.45 0 0 0-18.2-0.9c-6.1 1.211-11.7 3.894-16.5 7.814s-8.5 8.955-10.9 14.662-3.3 11.92-2.7 18.075c0.6 6.164 2.7 12.087 6.1 17.234 3.5 5.147 8.1 9.356 13.6 12.246 5.4 2.925 11.5 4.453 17.7 4.445\", style: { fill: \"currentcolor\" } }, { d: \"M256 168.28200000000004c7.4-0.016 14.7-2.22 20.9-6.339 6.2-4.109 11-9.989 13.8-16.872 2.9-6.862 3.6-14.421 2.2-21.72-1.5-7.273-5.1-13.955-10.3-19.245a38.2 38.2 0 0 0-15.7-9.4 37.45 37.45 0 0 0-18.2-0.9c-6.1 1.211-11.7 3.896-16.5 7.817s-8.5 8.958-10.9 14.666-3.3 11.92-2.7 18.075c0.6 6.164 2.7 12.087 6.1 17.234 3.5 5.147 8.1 9.356 13.6 12.246 5.4 2.922 11.5 4.447 17.7 4.438\", style: { fill: \"currentcolor\" } }] }, \"more-horizontal\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M293.60000000000036 256c0-7.435-2.2-14.701-6.3-20.881-4.2-6.181-10.1-10.998-16.9-13.844-6.9-2.846-14.4-3.593-21.7-2.147s-14 5.021-19.3 10.272c-5.2 5.293-8.8 11.977-10.3 19.252-1.4 7.3-0.7 14.861 2.2 21.725a36.93 36.93 0 0 0 13.8 16.876c4.2 2.833 9 4.777 14 5.711s10.1 0.842 15.1-0.273 9.7-3.23 13.8-6.214 7.6-6.777 10.2-11.147c3.6-5.818 5.4-12.512 5.4-19.333z\", style: { fill: \"currentcolor\" } }, { d: \"M418.89999999999964 256c0-7.435-2.2-14.701-6.4-20.881-4.1-6.18-10-10.997-16.8-13.843-6.9-2.846-14.5-3.593-21.7-2.147-7.3 1.446-14 5.02-19.3 10.271-5.2 5.292-8.8 11.977-10.3 19.252-1.4 7.299-0.7 14.86 2.2 21.725a36.93 36.93 0 0 0 13.8 16.876c5.1 3.435 11.1 5.549 17.2 6.156 6.2 0.607 12.4-0.312 18.1-2.675 4.6-1.877 8.7-4.647 12.2-8.148 3.5-3.461 6.3-7.616 8.1-12.2 1.9-4.557 2.9-9.447 2.9-14.386\", style: { fill: \"currentcolor\" } }, { d: \"M168.29999999999927 256c0-7.435-2.2-14.701-6.4-20.881-4.1-6.18-10-10.997-16.8-13.843-6.9-2.846-14.5-3.593-21.7-2.147-7.3 1.446-14 5.02-19.3 10.271-5.2 5.292-8.8 11.977-10.3 19.252-1.4 7.299-0.7 14.86 2.2 21.725a36.93 36.93 0 0 0 13.8 16.876c4.2 2.833 9 4.776 14 5.711s10.1 0.842 15.1-0.274c5-1.115 9.7-3.229 13.8-6.214 4.1-2.984 7.6-6.777 10.2-11.146 3.6-5.818 5.4-12.513 5.4-19.333z\", style: { fill: \"currentcolor\" } }] }, \"open-in-browser\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M372.10000000000036 225.5999999999999V376.29999999999995c0 4.75-0.93 9.46-2.75 13.86a36.1 36.1 0 0 1-7.85 11.74 36.1 36.1 0 0 1-11.74 7.85c-4.4 1.82-9.11 2.75-13.86 2.75h-217.1c-4.75 0-9.46-0.93-13.86-2.75a36.23 36.23 0 0 1-19.59-19.6c-1.82-4.39-2.75-9.1-2.75-13.85v-217.1c0-4.76 0.93-9.46 2.75-13.86 1.82-4.39 4.48-8.38 7.85-11.74 3.36-3.37 7.35-6.03 11.74-7.85 4.4-1.82 9.11-2.75 13.86-2.75h151.5\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"39.699\", fill: \"none\" } }, { d: \"M328.7000000000007 65.20000000000005h101.2v101.2\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"39.699\", fill: \"none\" } }, { d: \"M221.60000000000036 263.70000000000005l198.5-178.7\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"39.699\", fill: \"none\" } }] }, maximize: { viewBox: \"0 0 512 512\", paths: [{ d: \"M406.5 311.89999999999986v95.8h-95.8\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"39.027\", fill: \"none\" } }, { d: \"M105.5 202.5v-95.8h95.8\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"39.027\", fill: \"none\" } }, { d: \"M310.7000000000007 106.70000000000005h95.8v95.8\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"39.027\", fill: \"none\" } }, { d: \"M201.30000000000018 407.70000000000005h-95.8v-95.8\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"39.027\", fill: \"none\" } }] }, minimize: { viewBox: \"0 0 512 512\", paths: [{ d: \"M310.7000000000007 407.7000000000003v-95.8h95.8\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"39.027\", fill: \"none\" } }, { d: \"M201.30000000000018 106.70000000000005v95.8h-95.8\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"39.027\", fill: \"none\" } }, { d: \"M406.5 202.5h-95.8v-95.8\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"39.027\", fill: \"none\" } }, { d: \"M105.5 312h95.8v95.8\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"39.027\", fill: \"none\" } }] }, scale: { viewBox: \"0 0 512 512\", paths: [{ d: \"M320 80h112v112\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M421.7699999999995 90.19999999999982l-117.77 117.8\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M192 432h-112v-112\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M90.22999999999956 421.7999999999997l117.77-117.8\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }] }, \"notifications-outline\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M413.7999999999993 343.70000000000005c-23.6-28.9-40.3-43.6-40.3-123.2 0-73-37.2-98.9-67.9-111.6-2.12-0.88-4.03-2.19-5.6-3.87a16.1 16.1 0 0 1-3.5-5.83 41.06 41.06 0 0 0-13.92-24.66 41.02 41.02 0 0 0-26.58-9.77c-9.74 0-19.16 3.46-26.58 9.77a41.06 41.06 0 0 0-13.92 24.66c-0.76 2.16-1.96 4.14-3.52 5.81-1.57 1.67-3.47 3-5.58 3.89-30.7 12.6-67.9 38.5-67.9 111.6 0 79.7-16.7 94.4-40.3 123.2a18.552 18.552 0 0 0 3.1 26c3.62 2.8 8.13 4.19 12.7 3.9h284a18.554 18.554 0 0 0 19.6-17.4 18.9 18.9 0 0 0-3.8-12.5\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"37\", fill: \"none\" } }, { d: \"M314.7999999999993 373.70000000000005v14.6c0 15.59-6.19 30.55-17.22 41.58a58.85 58.85 0 0 1-41.58 17.22c-15.59 0-30.55-6.2-41.58-17.22a58.85 58.85 0 0 1-17.22-41.58v-14.6\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"37\", fill: \"none\" } }] }, notifications: { viewBox: \"0 0 512 512\", paths: [{ d: \"M413.7999999999993 343.8000000000002c-23.6-28.9-40.3-43.6-40.3-123.2 0-73-37.2-98.9-67.9-111.6-2.12-0.88-4.03-2.19-5.6-3.87a16.1 16.1 0 0 1-3.5-5.83 41.06 41.06 0 0 0-13.92-24.66 41.02 41.02 0 0 0-26.58-9.77c-9.74 0-19.16 3.46-26.58 9.77a41.06 41.06 0 0 0-13.92 24.66c-0.76 2.16-1.96 4.14-3.52 5.81-1.57 1.67-3.47 3-5.58 3.89-30.7 12.6-67.9 38.5-67.9 111.6 0 79.7-16.7 94.4-40.3 123.2a18.552 18.552 0 0 0 3.1 26c3.62 2.8 8.13 4.19 12.7 3.9h284c3.55 0.2 7.09-0.63 10.19-2.38 3.09-1.76 5.63-4.36 7.29-7.51 1.66-3.14 2.39-6.7 2.09-10.25a18.67 18.67 0 0 0-3.77-9.76\", style: { fill: \"currentcolor\" } }, { d: \"M213.79999999999927 429.4000000000001a58.7 58.7 0 0 0 19.25 13.17c7.23 3.06 15 4.63 22.85 4.63s15.62-1.57 22.85-4.63A58.7 58.7 0 0 0 298 429.4000000000001z\", style: { fill: \"none\", stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"37\" } }] }, \"person-outline\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M327.60000000000036 151.69999999999982c-3.2 43.1-35.9 78.3-71.7 78.3-35.9 0-68.6-35.1-71.7-78.3a71.98 71.98 0 0 1 16.72-52.36 71.94 71.94 0 0 1 48.8-25.29 71.98 71.98 0 0 1 52.42 16.54 71.95 71.95 0 0 1 25.46 48.71c0.4 4.12 0.4 8.28 0 12.4\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"37\", fill: \"none\" } }, { d: \"M256 282.1999999999998c-70.9 0-142.9 39.1-156.2 113a13.635 13.635 0 0 0 4.64 14.48c1.41 1.11 3.03 1.94 4.76 2.42 1.11 0.32 2.25 0.49 3.4 0.5h287c2.71-0.07 5.34-0.95 7.55-2.52s3.91-3.76 4.87-6.3c1.03-2.78 1.16-5.82 0.38-8.68-13.4-73.8-85.5-112.9-156.4-112.9\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"37\", fill: \"none\" } }] }, person: { viewBox: \"0 0 512 512\", paths: [{ d: \"M321 87.5c-16.5-17.7-39.5-27.5-64.8-27.5-25.5 0-48.6 9.7-65 27.3-16.6 17.8-24.6 42-22.8 68.2 3.8 51.6 43.1 93.5 87.7 93.5s83.9-41.9 87.7-93.5c2-25.9-6.1-50.1-22.8-68\", style: { fill: \"currentcolor\" } }, { d: \"M404.3000000000011 437h-296.1c-3.87 0.06-7.7-0.76-11.2-2.4a25.8 25.8 0 0 1-9.1-7c-2.76-3.4-4.73-7.37-5.77-11.62a29.5 29.5 0 0 1-0.23-12.98c7.1-39.5 29.3-72.7 64.1-96 30.9-20.7 70.1-32.1 110.4-32.1s79.4 11.4 110.4 32.1c34.8 23.3 57 56.5 64.1 96a30.3 30.3 0 0 1-0.31 12.96 30.5 30.5 0 0 1-5.69 11.64 25.8 25.8 0 0 1-9.1 7 27.6 27.6 0 0 1-11.5 2.4\", style: { fill: \"currentcolor\" } }] }, glasses: { viewBox: \"0 0 512 512\", paths: [{ d: \"M288 250.8399999999997s16.6-16.57 82.8-16.57c66.3 0 82.8 16.57 82.8 16.57v1.25c-0.1 98.43-16.8 131.29-82.8 131.29-66.2 0-82.8-33.11-82.8-132.54m-232 1.25v-1.25s16.6-16.57 82.8-16.57c66.3 0 82.9 16.57 82.9 16.57 0 99.43-16.6 132.54-82.9 132.54-65.9 0-82.7-32.86-82.8-131.29m165.7 2.32c0-1.95 14.8-3.57 33.1-3.57s33.2 1.62 33.2 3.57z m191.9-83.39c6.5 5.1 58.1 74.77 58.1 74.77z m-315.2 0l-58.1 74.77s51.6-69.67 58.1-74.77\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }] }, \"star-outline\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M256 84.89999999999986l51 90.5c4.1 7.25 9.8 13.5 16.6 18.31s14.6 8.05 22.8 9.49l103.3 17.9-71 70.8c-6.2 6.17-10.8 13.7-13.6 21.97-2.8 8.28-3.6 17.08-2.4 25.73l14 98.6-97.4-44.7c-7.4-3.36-15.4-5.1-23.5-5.1s-16.1 1.74-23.5 5.1l-97.3 44.7 14-98.6c1.2-8.66 0.4-17.48-2.4-25.78-2.8-8.29-7.4-15.83-13.6-22.02l-71-70.8 103.4-17.9c8.2-1.41 16-4.63 22.8-9.44s12.4-11.09 16.5-18.36z m0-40.1c-4.3 0-8.5 1.14-12.2 3.3-3.7 2.17-6.8 5.27-8.9 9l-57.8 102.5c-1.8 3.09-4.2 5.78-7.1 7.87-2.9 2.07-6.3 3.48-9.8 4.13l-118.2 20.4c-4.4 0.76-8.5 2.71-11.8 5.64-2.5 2.18-4.5 4.87-5.9 7.87s-2.2 6.26-2.3 9.57 0.5 6.61 1.7 9.69 3.1 5.88 5.4 8.23l81.6 81.4c2.7 2.65 4.7 5.9 5.9 9.48s1.5 7.39 1 11.12l-16 112.7c-0.7 4.6 0 9.3 2 13.5a24.36 24.36 0 0 0 13.6 12.59c6 2.23 12.7 1.98 18.5-0.69l110.3-50.7c3.2-1.45 6.6-2.2 10.1-2.2s6.9 0.75 10.1 2.2l110.4 50.7c3.2 1.47 6.6 2.22 10.1 2.2 1.1 0 2.3-0.1 3.4-0.2 4.7-0.68 9.2-2.75 12.7-5.95 3.6-3.2 6.1-7.38 7.3-12.02 0.8-3.08 1-6.29 0.5-9.43l-16-112.7c-0.5-3.73-0.2-7.54 1-11.12s3.2-6.83 5.9-9.48l81.7-81.4c4.1-4.01 6.6-9.34 7.1-15.03 0.5-5.7-1-11.39-4.3-16.06-1.9-2.58-4.2-4.8-6.9-6.52-2.7-1.68-5.7-2.83-8.8-3.39l-118.2-20.4c-3.5-0.59-6.9-1.98-9.8-4.05-3-2.04-5.4-4.77-7.1-7.95l-57.8-102.5c-2.2-3.82-5.4-6.99-9.2-9.2-3.8-1.99-7.9-3.06-12.2-3.1\", style: { fill: \"currentcolor\" } }] }, star: { viewBox: \"0 0 512 512\", paths: [{ d: \"M234.89999999999964 57.19999999999982c3.2-5.59 8.4-9.7 14.6-11.43 6.2-1.72 12.8-0.92 18.4 2.23 3.8 2.21 7 5.38 9.2 9.2l57.8 102.5c1.8 3.09 4.2 5.78 7.1 7.87 2.9 2.07 6.3 3.48 9.8 4.13l118.2 20.4c4.4 0.73 8.5 2.68 11.8 5.62 2.5 2.2 4.5 4.87 6 7.86 1.4 3.01 2.2 6.27 2.3 9.59 0.1 3.33-0.5 6.64-1.7 9.73s-3.1 5.88-5.5 8.2l-81.7 81.4c-2.7 2.65-4.7 5.9-5.9 9.48s-1.5 7.39-1 11.12l16 112.7c0.9 6.35-0.8 12.79-4.6 17.93-3.8 5.13-9.6 8.54-15.9 9.47-4.6 0.7-9.3 0-13.5-2l-110.4-50.7a24.5 24.5 0 0 0-10.1-2.18c-3.5 0-6.9 0.74-10.1 2.18l-110.3 50.7c-2.9 1.33-6 2.08-9.2 2.2s-6.3-0.38-9.3-1.49c-3-1.12-5.7-2.8-8.1-4.95-2.3-2.17-4.2-4.77-5.5-7.66-1.9-4.23-2.6-8.9-2-13.5l16-112.7c0.5-3.73 0.2-7.54-1-11.12s-3.2-6.83-5.9-9.48l-81.6-81.4a22.8 22.8 0 0 1-5.3-7.83c-1.8-4.42-2.3-9.28-1.4-13.97 0.9-4.7 3.2-9.01 6.6-12.4 3.6-3.5 8.1-5.86 13-6.8l118.2-20.4c3.5-0.59 6.9-1.97 9.8-4.05 3-2.04 5.4-4.77 7.1-7.95z\", style: { fill: \"currentcolor\" } }] }, close: { viewBox: \"0 0 512 512\", paths: [{ d: \"M289.90000000000146 256l95-95c4.5-4.53 7-10.63 7.1-17 0-6.38-2.5-12.5-7-17.02s-10.6-7.07-17-7.08c-3.2-0.01-6.3 0.61-9.2 1.81s-5.6 2.96-7.8 5.19l-95 95-95-95c-3.4-3.33-7.6-5.6-12.3-6.51-4.6-0.91-9.4-0.42-13.8 1.4-4.4 1.79-8.1 4.86-10.8 8.81-2.6 3.94-4 8.58-4 13.33-0.1 3.15 0.5 6.28 1.7 9.19 1.2 2.92 3 5.57 5.2 7.78l95 95-95 95c-2.8 2.8-4.8 6.24-6 10.02-1.1 3.78-1.3 7.78-0.5 11.64 0.8 3.87 2.5 7.48 5 10.52 2.5 3.05 5.8 5.43 9.4 6.93 4.4 1.81 9.2 2.29 13.8 1.39 4.7-0.91 8.9-3.17 12.3-6.5l95-95 95 95c3.4 3.34 7.6 5.6 12.3 6.51 4.6 0.92 9.4 0.43 13.8-1.39 4.4-1.8 8.1-4.87 10.8-8.82 2.6-3.94 4-8.58 4-13.33 0.1-3.15-0.5-6.28-1.7-9.2-1.2-2.91-3-5.56-5.2-7.77z\", style: { fill: \"currentcolor\" } }] }, checkmark: { viewBox: \"0 0 512 512\", paths: [{ d: \"M416 128l-224 256-96-96\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"60\", fill: \"none\" } }] }, network: { viewBox: \"0 0 512 512\", paths: [{ d: \"M256 74.90000000000009c-103.9 0-188.2 84.22-188.2 188.2 0 103.9 84.2 188.2 188.2 188.2 49.9 0 97.8-19.83 133.1-55.12 35.3-35.3 55.1-83.17 55.1-133.08s-19.8-97.78-55.1-133.08a188.3 188.3 0 0 0-133.1-55.12m0 28.3c1.6 0 3.1 0.17 4.6 0.25a233.3 233.3 0 0 0-68.4 79.23c-4.8-1.15-9.8-1.07-14.6 0.23-4.7 1.3-9.1 3.78-12.6 7.21-3.6 3.42-6.2 7.68-7.7 12.39-1.4 4.71-1.7 9.72-0.7 14.55a276.8 276.8 0 0 0-60.1 39.62c1.7-41.21 19.2-80.18 48.9-108.78s69.4-44.62 110.6-44.7m54.1 87.85c-6.6 0.95-12.8 3.55-18.1 7.55-5.3 4.01-9.5 9.28-12.2 15.34-21.5-4.07-43.4-5.91-65.3-5.49-0.6-6.78-3.5-13.15-8.3-17.99-0.4-0.34-0.7-0.51-1.1-0.85 18.3-34.23 45.2-63.14 78-83.88 1.4 0.25 2.8 0.34 4.2 0.59 11.7 26.9 19.4 55.4 22.7 84.56z m-4.7-79.91c37.2 12.17 68.7 37.53 88.5 71.29-13.6 10.72-29.4 18.47-46.2 22.72-0.8-0.93-1.4-2.02-2.3-2.95-5.6-5.55-12.7-9.37-20.4-10.98 0-0.54-0.1-1.08-0.2-1.61-3.2-26.86-9.7-53.22-19.4-78.47m-15.9 149.85c-22 26.88-49.7 48.45-81.2 63.1-0.6-0.83-1.3-1.62-2-2.37-2.8-2.85-6.3-5.08-10-6.55-3.8-1.47-7.8-2.14-11.8-1.98-6-23.83-5.9-48.8 0.4-72.56 5.8 0.15 11.4-1.43 16.3-4.53s8.7-7.58 11-12.87c21.5-0.58 43 1.09 64.1 4.98-0.4 5.75 0.4 11.52 2.4 16.93 2 5.42 5.1 10.33 9.2 14.41 0.5 0.53 1 1.01 1.6 1.44m-126.4-30.75c0.5 0.66 1 1.28 1.6 1.86 1.8 1.77 3.8 3.28 6 4.48-7.2 26.45-7.3 54.32-0.3 80.83-2.1 1.22-4 2.67-5.7 4.31-5.1 5.14-8.1 12.01-8.5 19.26-14.6-0.34-29.1-2.7-43-7.01-9.1-18.17-14.7-37.93-16.3-58.2 19.8-18.3 42-33.64 66.2-45.53m-4.1 125.52h0.3c2.9 6.12 7.9 10.99 14.1 13.76a28.7 28.7 0 0 0 19.7 1.36c11.9 19.5 27.1 36.74 45 50.94-23.1-2.62-45.3-10.23-65.1-22.29-19.9-12.06-36.8-28.29-49.8-47.57 11.8 2.53 23.8 3.8 35.8 3.8m46.9 7.86c0.1-0.08 0.2-0.17 0.3-0.25 3.3-3.33 5.8-7.4 7.2-11.88 1.5-4.48 1.8-9.25 1-13.89 34.2-15.78 64.2-39.32 87.7-68.76 2.7 0.99 5.5 1.7 8.3 2.12-6.1 52.11-22 102.6-46.8 148.83-24.1-13.02-44-32.47-57.7-56.17m73.7 57.27c24.4-46.86 39.9-97.84 45.7-150.36 7.7-1.6 14.7-5.42 20.2-10.98 1-1.05 1.9-2.18 2.7-3.38a96 96 0 0 1 36.2 17.38c10.7 8.27 19.6 18.69 26 30.6-8.1 30.07-24.8 57.14-48 77.87-23.2 20.74-52 34.25-82.8 38.87m75.6-177.89c2.5-8.05 2.4-16.66-0.2-24.67 16.5-4.67 32-12.31 45.8-22.55 12.7 27 17.5 57.05 13.8 86.66-15.3-18.93-36-32.7-59.4-39.44\", style: { fill: \"currentcolor\" } }] }, about: { viewBox: \"0 0 512 512\", paths: [{ d: \"M251.3000000000011 83.90000000000009c-42.8 0-84 15.91-115.7 44.63s-51.5 68.2-55.7 110.75c-4.2 42.56 7.6 85.15 33.1 119.49 25.4 34.35 62.8 57.99 104.7 66.32 42 8.34 85.5 0.78 122.2-21.21s63.8-56.83 76.3-97.75c12.4-40.93 9.1-85-9.2-123.65a172.33 172.33 0 0 0-89.8-85.48c-20.9-8.65-43.3-13.1-65.9-13.1Z\", style: { stroke: \"currentcolor\", strokeMiterlimit: \"10\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M225.20000000000073 229.80999999999995h29.9v102.06\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M218 335.7199999999998h77.1\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M251.3000000000011 145.5899999999997c-4.8 0-9.5 1.42-13.5 4.09-3 2-5.5 4.62-7.4 7.7-1.8 3.1-3 6.55-3.4 10.12-0.3 3.59 0.1 7.21 1.4 10.59 1.2 3.4 3.1 6.48 5.7 9 3.4 3.41 7.7 5.74 12.4 6.68 4.8 0.94 9.7 0.45 14.1-1.4 4.4-1.87 8.2-4.98 10.9-8.95 2.7-3.99 4.1-8.7 4.1-13.51 0-3.19-0.6-6.35-1.8-9.31-1.3-2.92-3.1-5.6-5.3-7.89-4.6-4.56-10.8-7.12-17.2-7.12\", style: { fill: \"currentcolor\" } }] }, list: { viewBox: \"0 0 512 512\", paths: [{ d: \"M100.69999999999891 107h74.5c2.44 0 4.86 0.48 7.12 1.41s4.31 2.3 6.04 4.03 3.1 3.78 4.03 6.04 1.41 4.68 1.41 7.12v74.5c0 2.44-0.48 4.86-1.41 7.12s-2.3 4.31-4.03 6.04-3.78 3.1-6.04 4.03-4.68 1.41-7.12 1.41h-74.5c-2.44 0-4.86-0.48-7.12-1.41s-4.31-2.3-6.04-4.03-3.1-3.78-4.03-6.04-1.41-4.68-1.41-7.12v-74.5c0.01-4.93 1.97-9.65 5.46-13.14s8.21-5.45 13.14-5.46\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"37.252\", fill: \"none\" } }, { d: \"M100.69999999999891 293.2999999999997h74.5c2.44 0 4.86 0.48 7.12 1.41s4.31 2.3 6.04 4.03 3.1 3.78 4.03 6.04 1.41 4.68 1.41 7.12v74.5c0 2.44-0.48 4.86-1.41 7.12s-2.3 4.31-4.03 6.04-3.78 3.1-6.04 4.03-4.68 1.41-7.12 1.41h-74.5c-2.44 0-4.86-0.48-7.12-1.41s-4.31-2.3-6.04-4.03-3.1-3.78-4.03-6.04-1.41-4.68-1.41-7.12v-74.5c0-2.44 0.48-4.86 1.41-7.12s2.3-4.31 4.03-6.04 3.78-3.1 6.04-4.03 4.68-1.41 7.12-1.41\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"37.252\", fill: \"none\" } }, { d: \"M286.89999999999964 144.29999999999973h149c4.93 0 9.66 1.96 13.15 5.45s5.45 8.22 5.45 13.15-1.96 9.66-5.45 13.15a18.6 18.6 0 0 1-13.15 5.45h-149c-4.93 0-9.66-1.96-13.15-5.45a18.6 18.6 0 0 1-5.45-13.15c0-4.93 1.96-9.66 5.45-13.15s8.22-5.45 13.15-5.45Z\", style: { stroke: \"currentcolor\", strokeWidth: \"37.252\", fill: \"none\" } }, { d: \"M286.89999999999964 330.5h149c4.93 0 9.66 1.96 13.15 5.45s5.45 8.22 5.45 13.15-1.96 9.66-5.45 13.15a18.6 18.6 0 0 1-13.15 5.45h-149c-4.93 0-9.66-1.96-13.15-5.45a18.6 18.6 0 0 1-5.45-13.15c0-4.93 1.96-9.66 5.45-13.15s8.22-5.45 13.15-5.45Z\", style: { stroke: \"currentcolor\", strokeWidth: \"37.252\", fill: \"none\" } }] }, grid: { viewBox: \"0 0 512 512\", paths: [{ d: \"M125.59999999999854 107h74.5c2.44 0 4.86 0.48 7.12 1.41s4.31 2.3 6.04 4.03 3.1 3.78 4.03 6.04 1.41 4.68 1.41 7.12v74.5c0 2.44-0.48 4.86-1.41 7.12s-2.3 4.31-4.03 6.04-3.78 3.1-6.04 4.03-4.68 1.41-7.12 1.41h-74.5c-2.44 0-4.86-0.48-7.12-1.41s-4.31-2.3-6.04-4.03-3.1-3.78-4.03-6.04-1.41-4.68-1.41-7.12v-74.5a18.52 18.52 0 0 1 5.42-13.18 18.522 18.522 0 0 1 13.18-5.42\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"37.252\", fill: \"none\" } }, { d: \"M311.7999999999993 107h74.5c2.44 0 4.86 0.48 7.12 1.41s4.31 2.3 6.04 4.03 3.1 3.78 4.03 6.04 1.41 4.68 1.41 7.12v74.5c0 2.44-0.48 4.86-1.41 7.12s-2.3 4.31-4.03 6.04-3.78 3.1-6.04 4.03-4.68 1.41-7.12 1.41h-74.5c-2.44 0-4.86-0.48-7.12-1.41s-4.31-2.3-6.04-4.03-3.1-3.78-4.03-6.04-1.41-4.68-1.41-7.12v-74.5c0.01-4.93 1.97-9.65 5.46-13.14s8.21-5.45 13.14-5.46\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"37.252\", fill: \"none\" } }, { d: \"M125.59999999999854 293.2999999999997h74.5c2.44 0 4.86 0.48 7.12 1.41s4.31 2.3 6.04 4.03 3.1 3.78 4.03 6.04 1.41 4.68 1.41 7.12v74.5c0 2.44-0.48 4.86-1.41 7.12s-2.3 4.31-4.03 6.04-3.78 3.1-6.04 4.03-4.68 1.41-7.12 1.41h-74.5c-2.44 0-4.86-0.48-7.12-1.41s-4.31-2.3-6.04-4.03-3.1-3.78-4.03-6.04-1.41-4.68-1.41-7.12v-74.5a18.52 18.52 0 0 1 5.42-13.18 18.522 18.522 0 0 1 13.18-5.42\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"37.252\", fill: \"none\" } }, { d: \"M311.7999999999993 293.2999999999997h74.5c2.44 0 4.86 0.48 7.12 1.41 2.26 0.94 4.31 2.3 6.04 4.03s3.1 3.78 4.03 6.04 1.41 4.68 1.41 7.12v74.5c0 2.44-0.48 4.86-1.41 7.12s-2.3 4.31-4.03 6.04-3.78 3.1-6.04 4.03-4.68 1.41-7.12 1.41h-74.5c-2.44 0-4.86-0.48-7.12-1.41s-4.31-2.3-6.04-4.03-3.1-3.78-4.03-6.04-1.41-4.68-1.41-7.12v-74.5c0.01-4.93 1.97-9.65 5.46-13.14 3.49-3.48 8.21-5.45 13.14-5.46\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"37.252\", fill: \"none\" } }] }, share: { viewBox: \"0 0 512 512\", paths: [{ d: \"M396 459.89999999999964c-18.1 0.12-35.6-6.92-48.5-19.6-13-12.68-20.4-29.97-20.7-48.1v-1.5l-138.3-45.6a78.16 78.16 0 0 1-27.5 21.83 78.1 78.1 0 0 1-34.3 7.57c-20.25 0.8-39.99-6.47-54.89-20.22a76.497 76.497 0 0 1-4.45-108.01 76.46 76.46 0 0 1 53.04-24.67q3.15-0.15 6.3 0c17.5 0.17 34.4 5.84 48.5 16.2l101.7-66.2c-6.3-12.85-9.8-26.89-10.3-41.2-0.9-19.1 3.9-38.03 13.9-54.36 10-16.32 24.6-29.29 42-37.23 17.4-7.93 36.8-10.48 55.6-7.3 18.9 3.17 36.3 11.93 50.2 25.13 13.8 13.2 23.4 30.24 27.4 48.92 4.1 18.69 2.5 38.16-4.6 55.91-7.1 17.76-19.4 32.97-35.3 43.69a95.6 95.6 0 0 1-53.6 16.44c-12.2 0.2-24.4-2.04-35.8-6.59-11.3-4.55-21.7-11.32-30.4-19.91l-100 64.7c5.7 10.87 8.7 22.93 8.8 35.2-0.3 6.45-1.3 12.85-2.9 19.1l132.3 42.6a70.4 70.4 0 0 1 33.3-29.66c14-6 29.6-7.27 44.4-3.6 14.8 3.66 28 12.06 37.6 23.91s15.1 26.51 15.6 41.75c-0.1 18.45-7.4 36.13-20.3 49.33s-30.4 20.9-48.8 21.47m0-104.4c-6.9 0.3-13.6 2.62-19.2 6.68-5.6 4.05-9.8 9.67-12.3 16.14-2.4 6.47-2.9 13.51-1.4 20.25 1.6 6.74 5.1 12.88 10 17.66 5 4.78 11.3 7.99 18.1 9.22s13.9 0.44 20.2-2.28c6.4-2.72 11.8-7.25 15.6-13.02s5.8-12.54 5.8-19.45c-0.2-9.54-4.2-18.59-11.1-25.19s-16.2-10.19-25.7-10.01m-270.6-102.9a45.6 45.6 0 0 0-17.53 3.05 45.7 45.7 0 0 0-15.04 9.53 45.8 45.8 0 0 0-10.24 14.55 45.61 45.61 0 0 0-0.84 34.9 45.7 45.7 0 0 0 9.53 15.04c4.13 4.33 9.08 7.81 14.55 10.24a45.6 45.6 0 0 0 17.37 3.89h2.2c5.99 0.14 12-0.89 17.5-3.05 5.6-2.16 10.7-5.4 15.1-9.53 4.3-4.13 7.8-9.08 10.2-14.55 2.4-5.48 3.8-11.38 3.9-17.37 0.2-5.99-0.9-11.95-3-17.53-2.2-5.59-5.4-10.7-9.6-15.04-4.1-4.33-9.1-7.81-14.5-10.24a45.9 45.9 0 0 0-17.4-3.89z m236.8-180.9c-8-0.26-16 1.06-23.6 3.89-7.5 2.83-14.4 7.12-20.3 12.62-5.8 5.49-10.6 12.09-13.9 19.42s-5.1 15.23-5.4 23.27v1.1c0.3 16.24 7 31.72 18.6 43.02 11.7 11.31 27.4 17.52 43.6 17.28h1.1c8.2 0.39 16.3-0.89 24-3.75 7.6-2.86 14.6-7.24 20.5-12.88 6-5.65 10.7-12.43 13.9-19.95 3.2-7.51 4.8-15.6 4.8-23.77 0-8.18-1.6-16.26-4.9-23.77-3.2-7.51-7.9-14.29-13.8-19.92s-13-10.01-20.6-12.85c-7.7-2.85-15.8-4.11-24-3.71\", style: { fill: \"currentcolor\" } }] }, warning: { viewBox: \"0 0 512 512\", paths: [{ d: \"M449.10000000000036 399.0999999999999l-170.5-316.5c-12-22.4-44.2-22.4-56.3 0l-170.4 316.5c-2.7 4.85-4 10.35-3.8 15.9 0.1 5.52 1.7 10.92 4.5 15.67s6.8 8.69 11.6 11.43c4.8 2.72 10.3 4.17 15.8 4.2h340.9c5.5 0.01 11-1.44 15.8-4.2s8.8-6.68 11.7-11.4c2.8-4.76 4.4-10.17 4.5-15.71 0.1-5.53-1.2-11-3.8-15.89m-198.6-1.9c-3 0.01-5.9-0.65-8.6-1.92s-5-3.13-6.9-5.43c-1.9-2.29-3.2-4.98-3.9-7.86s-0.8-5.88-0.2-8.79c0.7-3.88 2.6-7.44 5.4-10.2 2.8-2.81 6.4-4.72 10.3-5.5 3.9-0.76 7.9-0.36 11.5 1.15a19.9 19.9 0 0 1 9 7.35c2.2 3.28 3.4 7.14 3.4 11.1 0 2.65-0.5 5.28-1.6 7.7-1.5 3.66-4 6.79-7.3 9s-7.1 3.39-11.1 3.4m21.7-201.1l-5.7 122c0 4.24-1.7 8.31-4.7 11.31s-7.1 4.69-11.3 4.69-8.3-1.69-11.3-4.69-4.7-7.07-4.7-11.31l-5.8-121.9c-0.2-5.87 1.9-11.59 5.9-15.9 2.1-2.04 4.5-3.73 7.1-5 2.7-1.18 5.6-1.79 8.5-1.8h0.2c2.9 0 5.9 0.58 8.6 1.7 2.7 1.16 5.1 2.86 7.1 5 2.1 2.09 3.7 4.62 4.7 7.4 1 2.72 1.5 5.6 1.4 8.5\", style: { fill: \"currentcolor\" } }] }, \"cloud-sync\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M472.6999999999989 189.5c-13.3-8.4-29.8-14.6-48.1-17.9-3-0.6-5.9-2.06-8.1-4.2-2.2-2.19-3.8-4.96-4.5-8-7.9-34.5-24.6-64.1-49.1-86.6-28.8-26.2-66.7-40.7-106.9-40.7-35.4 0-68 11.1-94.4 32-17.8 14.2-32.1 32.25-41.9 52.8-1.1 2.3-2.8 4.32-4.8 5.89-2 1.56-4.4 2.63-6.9 3.11-27.1 4.9-50.5 14.7-68.4 28.7-25.9 20.3-39.6 49.1-39.6 83.1 0 67.4 55.9 114.4 136 114.4h72v-83c0-12.73 5.1-24.94 14.1-33.94s21.2-14.06 33.9-14.06 24.9 5.06 33.9 14.06 14.1 21.21 14.1 33.94v83h92c72.6 0 116-34.2 116-91.6 0-30.2-13.6-54.7-39.3-71\", style: { fill: \"currentcolor\" } }, { d: \"M256 253c-4.2 0.01-8.3 1.7-11.3 4.7s-4.7 7.06-4.7 11.3v156.4l-36.7-36.6c-1.5-1.44-3.3-2.59-5.2-3.38-1.9-0.78-4-1.16-6.1-1.12-4.2 0.03-8.2 1.71-11.2 4.68-1.5 1.47-2.6 3.22-3.4 5.15s-1.2 3.99-1.2 6.07c0 4.2 1.6 8.25 4.5 11.3l64 63.9c1.5 1.5 3.2 2.69 5.2 3.48 1.9 0.81 4 1.22 6.1 1.22s4.2-0.41 6.1-1.22c2-0.79 3.7-1.98 5.2-3.48l64-63.9c1.5-1.49 2.6-3.26 3.4-5.2 0.7-1.96 1.1-4.02 1.1-6.1 0-3.13-0.9-6.18-2.7-8.79-1.7-2.61-4.1-4.66-7-5.89-1.9-0.81-4-1.23-6.1-1.22-4.2-0.03-8.3 1.59-11.3 4.5l-36.7 36.6v-156.4c0-2.1-0.4-4.18-1.2-6.13s-2-3.71-3.5-5.19-3.3-2.66-5.2-3.47c-1.9-0.8-4-1.21-6.1-1.21\", style: { fill: \"currentcolor\" } }] }, hourglass: { viewBox: \"0 0 512 512\", paths: [{ d: \"M214.60000000000036 235.32999999999993c-31.8-58.12-54.8-118.18-16.4-184.81-4-2.97-7.6-6.29-11-9.92-0.7-1.21-1.5-2.41-2.1-3.69-2.5-4.67-0.6-11.01 4.4-12.54 10-3.03 23.7-1.25 33.4 0.17 73 11.87 143.2 36.67 207.5 73.24a99.7 99.7 0 0 1 19.7 15.56c7 7.18 4.8 12.76-5.3 14.59-5.9 0.83-11.8 1.31-17.9 1.56-10.7 76.05-65.9 109.28-125.6 134.84 6.8 16.1 13.9 31.45 20.1 47.1 16.7 36.58 19 78.14 6.3 116.31-0.2 0.98-6.8 19.54 3.2 26.69 10.5 11.65 1.2 28.63-7.8 27.44-0.4-0.02-0.8-0.01-1.2 0.02-16.4-0.26-32.9-1.68-49.1-4.22a636 636 0 0 1-182.8-65.68c-8.6-5.21-16.9-11.02-24.7-17.38-2.9-2.16-4.8-5.28-5.6-8.78-0.7-3.51-0.1-7.14 1.6-10.27 0.7-3.2 2.6-6 5.3-7.87s5.9-2.71 9.2-2.36c10.9 1.21 13.3-3.79 15.7-13.63 9.7-35.18 32.7-65.22 64.1-83.81 18.8-12.15 39.1-21.65 59-32.56m84.5 195.45c11.7-21.88 15.4-47.18 10.4-71.49-5.9-31.81-18.6-61.98-37.1-88.51-7.9-12.47-4.9-20.19 8.5-26.07 21.6-8.88 42.5-19.11 62.8-30.62 27-15.29 46.9-40.64 55.3-70.52 4.5-16.24 3.1-17.04-12.7-21.31-29.9-8.17-59.9-16.18-89.2-26.15-23.1-7.97-45.5-18.53-67.9-28.37-7.2-3.11-11.1-2.45-15.2 5.26-11.1 22.85-14.2 48.8-8.6 73.6 6.7 30.9 19.4 60.21 37.2 86.32 1.7 1.93 2.9 4.29 3.4 6.82s0.3 5.15-0.5 7.6c-0.9 2.44-2.4 4.6-4.4 6.26-2 1.65-4.4 2.75-6.9 3.18-7.9 2.89-16 5.82-23.7 9.19a175.14 175.14 0 0 0-83.8 65.27 67 67 0 0 0-12.6 37.63 88.4 88.4 0 0 0 22.9 0.79c20-4.64 58.4 0.14 84.9-13.48 7.7-2.34 15.8-2.3 23.5 0.11 7.6 2.4 14.4 7.06 19.3 13.37 13.1 14.46 13.8 26 24.2 42.58 6.3 9.36 0 14.61 10.2 18.54\", style: { fill: \"currentcolor\" } }, { d: \"M335.10000000000036 167.03999999999996c-1.5 0.21-3 0.35-4.3 0.53-0.2 0.03-0.3 0.09-0.6 0.12-28.4 6.25-58.1 3.91-85.2-6.72-0.4-0.13-0.9-0.3-1.2-0.43-1.8-0.4-3.6-0.44-5.4-0.13-1.8 0.3-3.5 0.97-5 1.96s-2.6 2.4-3.3 4.05c-1.6 3.62-1.9 7.66-1 11.5 0.1 0.45 0.2 0.88 0.4 1.3 7.1 17.78 14.9 35.15 23.2 52 0.5 1.06 1.3 2 2.2 2.74 1.2 1.03 2.6 1.78 4.1 2.18 1.6 0.4 3.2 0.44 4.7 0.12 0.4-0.06 0.8-0.25 1.2-0.34 27.5-10.1 52.7-25.56 74.2-45.5 0.3-0.31 0.6-0.53 0.9-0.88 3.2-3.82 5.2-8.54 5.6-13.51 0-1.69-0.5-3.34-1.5-4.72-1-1.45-2.3-2.61-3.9-3.36s-3.3-1.07-5.1-0.91\", style: { fill: \"currentcolor\" } }, { d: \"M266.2000000000007 325.75c-0.2 4.23-2 8.22-5.1 11.11s-7.2 4.46-11.4 4.35c-0.1-0.03-0.3 0.03-0.4-0.01-3.2-0.17-6.2-1.27-8.8-3.17-2.6-1.89-4.5-4.5-5.6-7.5-1.1-2.99-1.3-6.26-0.5-9.35 0.8-3.1 2.4-5.91 4.8-8.06 2.3-2.17 5.3-3.59 8.4-4.07 3.2-0.51 6.4-0.07 9.3 1.26s5.3 3.49 7 6.21c1.7 2.71 2.5 5.85 2.4 9.04 0 0.02-0.1 0.04-0.1 0.08z\", style: { fill: \"currentcolor\" } }, { d: \"M261.7999999999993 278.64999999999986c-0.9 6.16-4 9.64-10.2 9.38-1.2 0.06-2.3-0.1-3.4-0.48a7.25 7.25 0 0 1-2.9-1.73c-0.9-0.75-1.6-1.68-2.1-2.73s-0.7-2.17-0.8-3.31c0-0.62 0-1.24 0.1-1.86-0.1-1.17 0.1-2.35 0.5-3.45 0.3-1.13 0.9-2.16 1.7-3.01 0.8-0.84 1.8-1.55 2.8-2.08 1.1-0.5 2.2-0.78 3.4-0.83 0.6-0.03 1.1-0.02 1.7 0.05 6.1 0.21 8.9 4.13 9.2 10.05\", style: { fill: \"currentcolor\" } }] }, pause: { viewBox: \"0 0 512 512\", paths: [{ d: \"M182.60000000000002 93h-18.4v330.5h18.4z\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"36.719\", fill: \"none\" } }, { d: \"M347.79999999999995 93h-18.4v330.5h18.4z\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"36.719\", fill: \"none\" } }] }, next: { viewBox: \"0 0 512 512\", paths: [{ d: \"M120.90000000000009 119.19999999999982v278.5c0 16.7 15.2 27.4 27.8 19.4l222-142.4c2.12-1.56 3.91-3.52 5.27-5.77 1.36-2.26 2.26-4.76 2.65-7.36s0.26-5.25-0.38-7.8a19.9 19.9 0 0 0-3.34-7.07 18.6 18.6 0 0 0-4.2-4.2l-222-142.5c-12.6-8.2-27.8 2.5-27.8 19.2Z\", style: { stroke: \"currentcolor\", strokeMiterlimit: \"10\", strokeWidth: \"35.851\", fill: \"none\" } }, { d: \"M391.0999999999999 90.30000000000018v337.9\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"35.851\", fill: \"none\" } }] }, \"skip-back\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M475.5999999999999 145.5v221c0 13.3-13 21.7-23.6 15.4l-188.9-113c-9.2-5.5-9.2-20.1 0-25.6l188.9-113c10.6-6.5 23.6 1.9 23.6 15.2Z\", style: { stroke: \"currentcolor\", strokeMiterlimit: \"10\", strokeWidth: \"35.851\", fill: \"none\" } }, { d: \"M247 145.5v221c0 13.3-13 21.7-23.6 15.4l-188.9-113c-9.2-5.5-9.2-20.1 0-25.6l188.9-113c10.6-6.5 23.6 1.9 23.6 15.2Z\", style: { stroke: \"currentcolor\", strokeMiterlimit: \"10\", strokeWidth: \"35.851\", fill: \"none\" } }] }, \"skip-forward\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M36.30000000000018 145.5v221c0 13.3 13 21.7 23.6 15.4l188.9-113c9.2-5.5 9.2-20.1 0-25.6l-188.9-113c-10.6-6.5-23.6 1.9-23.6 15.2Z\", style: { stroke: \"currentcolor\", strokeMiterlimit: \"10\", strokeWidth: \"35.851\", fill: \"none\" } }, { d: \"M264.9000000000001 145.5v221c0 13.3 13 21.7 23.6 15.4l188.9-113c9.2-5.5 9.2-20.1 0-25.6l-188.9-113c-10.6-6.5-23.6 1.9-23.6 15.2Z\", style: { stroke: \"currentcolor\", strokeMiterlimit: \"10\", strokeWidth: \"35.851\", fill: \"none\" } }] }, \"volume-off\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M236.9000000000001 187h-72.6c-1.09 0-2.17 0.21-3.18 0.63a8.3 8.3 0 0 0-4.49 4.49 8.3 8.3 0 0 0-0.63 3.18v116.8a8.27 8.27 0 0 0 2.43 5.87 8.274 8.274 0 0 0 5.87 2.43h72.6c3.87-0.02 7.63 1.32 10.6 3.8l95.4 78.1c1.8 1.3 4.03 1.84 6.22 1.5a8.42 8.42 0 0 0 5.48-3.3 8.03 8.03 0 0 0 1.6-5v-283.9a8.27 8.27 0 0 0-2.43-5.87 8.274 8.274 0 0 0-5.87-2.43c-1.76 0.01-3.47 0.57-4.9 1.6l-95.4 78.1c-2.95 2.6-6.76 4.03-10.7 4\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"31.897\", fill: \"none\" } }] }, \"volume-low\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M186.9000000000001 188h-72.6c-1.09 0-2.17 0.21-3.18 0.63a8.3 8.3 0 0 0-4.49 4.49 8.3 8.3 0 0 0-0.63 3.18v116.8a8.27 8.27 0 0 0 2.43 5.87 8.274 8.274 0 0 0 5.87 2.43h72.6c3.87-0.02 7.63 1.32 10.6 3.8l95.4 78.1c1.8 1.3 4.03 1.84 6.22 1.5a8.42 8.42 0 0 0 5.48-3.3 8.03 8.03 0 0 0 1.6-5v-283.9a8.27 8.27 0 0 0-2.43-5.87 8.274 8.274 0 0 0-5.87-2.43c-1.76 0.01-3.47 0.57-4.9 1.6l-95.4 78.1c-2.95 2.6-6.76 4.03-10.7 4\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"31.897\", fill: \"none\" } }, { d: \"M389.5 321.40000000000055a149 149 0 0 0 16.7-66.7c-0.08-23.26-5.81-46.15-16.7-66.7\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"31.897\", fill: \"none\" } }] }, \"volume-medium\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M152.89999999999964 188h-72.6c-1.09 0-2.17 0.21-3.18 0.63a8.1 8.1 0 0 0-2.7 1.8c-0.77 0.77-1.38 1.68-1.79 2.69a8.3 8.3 0 0 0-0.63 3.18v116.8a8.27 8.27 0 0 0 2.43 5.87 8.274 8.274 0 0 0 5.87 2.43h72.6c3.87-0.02 7.63 1.32 10.6 3.8l95.4 78.1c1.8 1.3 4.03 1.84 6.22 1.5a8.42 8.42 0 0 0 5.48-3.3 8.03 8.03 0 0 0 1.6-5v-283.9a8.27 8.27 0 0 0-2.43-5.87 8.274 8.274 0 0 0-5.87-2.43c-1.76 0.01-3.47 0.57-4.9 1.6l-95.4 78.1a16.55 16.55 0 0 1-10.7 4\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"31.897\", fill: \"none\" } }, { d: \"M355.60000000000036 321.40000000000055a149 149 0 0 0 16.7-66.7c-0.09-23.26-5.82-46.14-16.7-66.7\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"31.897\", fill: \"none\" } }, { d: \"M405.60000000000036 371.5a213.6 213.6 0 0 0 33.4-116.8c0.71-41.39-10.92-82.05-33.4-116.8\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"31.897\", fill: \"none\" } }] }, \"volume-high\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M121.89999999999964 188.90000000000055h-72.6c-1.09 0-2.17 0.21-3.18 0.63a8.1 8.1 0 0 0-2.7 1.8c-0.77 0.77-1.38 1.68-1.79 2.69a8.3 8.3 0 0 0-0.63 3.18v116.8c0 1.09 0.21 2.17 0.63 3.18a8.1 8.1 0 0 0 1.8 2.7c0.77 0.77 1.68 1.38 2.69 1.79 1.01 0.42 2.09 0.63 3.18 0.63h72.6c3.87-0.02 7.63 1.32 10.6 3.8l95.4 78.1c1.8 1.3 4.03 1.84 6.22 1.5a8.42 8.42 0 0 0 5.48-3.3 8.03 8.03 0 0 0 1.6-5v-283.9a8.27 8.27 0 0 0-2.43-5.87 8.274 8.274 0 0 0-5.87-2.43c-1.76 0.01-3.47 0.57-4.9 1.6l-95.4 78.1a16.55 16.55 0 0 1-10.7 4\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"31.897\", fill: \"none\" } }, { d: \"M324.5 322.3000000000002a149 149 0 0 0 16.7-66.7c-0.08-23.26-5.81-46.15-16.7-66.7\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"31.897\", fill: \"none\" } }, { d: \"M374.60000000000036 372.40000000000055a213.6 213.6 0 0 0 33.4-116.8c0.71-41.39-10.92-82.05-33.4-116.8\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"31.897\", fill: \"none\" } }, { d: \"M421.6999999999998 415.60000000000036c69.4-88.2 61.4-242.3-1.3-321.3\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"31.897\", fill: \"none\" } }] }, \"volume-mute\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M423.8000000000002 441.5L54.69999999999982 72.30000000000018\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"33.557\", fill: \"none\" } }, { d: \"M222.39999999999964 132v35.4c-0.01 1.12 0.42 2.2 1.2 3l25.2 25.2c0.48 0.49 1.08 0.85 1.74 1.04 0.66 0.2 1.36 0.23 2.03 0.1 0.68-0.13 1.31-0.43 1.84-0.87s0.94-1 1.2-1.64c0.21-0.52 0.31-1.07 0.29-1.63v-77.7c0.05-4.65-1.16-9.22-3.5-13.24a25.7 25.7 0 0 0-9.8-9.56 25.04 25.04 0 0 0-13.68-2.95c-4.74 0.34-9.3 2.02-13.12 4.85-0.2 0.2-0.5 0.3-0.7 0.5l-33.5 27.4c-0.43 0.35-0.79 0.78-1.05 1.26a4.2 4.2 0 0 0-0.49 1.57c-0.05 0.55 0 1.1 0.16 1.63s0.43 1.02 0.78 1.44l0.3 0.3 17.9 17.9c0.74 0.72 1.71 1.14 2.74 1.2 1.03 0.05 2.05-0.26 2.86-0.9z\", style: { fill: \"currentcolor\" } }, { d: \"M222.39999999999964 381.8000000000002l-81.9-67a33.5 33.5 0 0 0-21.3-7.5h-64.6v-100.7h53.2c0.83-0.01 1.64-0.26 2.33-0.72 0.69-0.47 1.22-1.13 1.54-1.89a4.3 4.3 0 0 0 0.26-2.43c-0.15-0.82-0.55-1.57-1.13-2.16l-25.2-25.2a4.08 4.08 0 0 0-3-1.2h-36.4a25.25 25.25 0 0 0-17.81 7.39 25.25 25.25 0 0 0-7.39 17.81v117.4a25.25 25.25 0 0 0 7.39 17.81 25.25 25.25 0 0 0 17.81 7.39h73.2l95.8 78.4c0.21 0.2 0.44 0.37 0.7 0.5 3.87 2.87 8.48 4.56 13.29 4.88 4.8 0.32 9.6-0.75 13.81-3.08a25.74 25.74 0 0 0 13-22.6V346.3000000000002c0.01-1.12-0.42-2.2-1.2-3l-25.2-25.2a4.23 4.23 0 0 0-5.9 0c-0.39 0.39-0.7 0.86-0.91 1.38-0.21 0.51-0.31 1.07-0.29 1.62v60.7z\", style: { fill: \"currentcolor\" } }, { d: \"M356.6999999999998 256.90000000000055c0-25.8-6.1-50.2-18.6-74.7-2.1-3.84-5.61-6.71-9.8-7.99-4.18-1.29-8.7-0.9-12.59 1.1-3.9 1.99-6.86 5.42-8.26 9.57-1.41 4.14-1.13 8.67 0.75 12.62 10.1 19.7 14.9 39.2 14.9 59.5 0 2.8-0.1 5.6-0.3 8.5-0.09 1.21 0.08 2.42 0.5 3.55a8.6 8.6 0 0 0 1.9 3.05l20.6 20.6a4.23 4.23 0 0 0 5.9 0c0.59-0.56 0.98-1.3 1.1-2.1 2.59-11.05 3.9-22.35 3.9-33.7\", style: { fill: \"currentcolor\" } }, { d: \"M423.8000000000002 256.90000000000055c0-53.7-13.7-88-35.8-125.9a16.82 16.82 0 0 0-10.22-7.57 16.79 16.79 0 0 0-20.33 11.85c-1.16 4.25-0.6 8.78 1.55 12.62 19.8 34 31.3 62.7 31.3 109 0 25-3.5 45-9.8 63.6-0.5 1.49-0.58 3.1-0.23 4.63a8.5 8.5 0 0 0 2.23 4.07l17.6 17.6a4.23 4.23 0 0 0 5.9 0c0.39-0.37 0.69-0.81 0.9-1.3 10.7-25.8 16.9-53 16.9-88.6\", style: { fill: \"currentcolor\" } }, { d: \"M490.89999999999964 256.90000000000055c0-77.9-21.2-127-53-176.8a16.77 16.77 0 0 0-10.53-7.11c-4.3-0.9-8.79-0.08-12.49 2.29s-6.33 6.1-7.32 10.38a16.8 16.8 0 0 0 2.04 12.54c28.7 44.9 47.7 89 47.7 158.8 0 49.8-9.3 86.1-24.7 118.5-0.37 0.79-0.49 1.66-0.35 2.52s0.54 1.66 1.15 2.28l18.7 18.7c0.58 0.59 1.32 1 2.13 1.16s1.66 0.08 2.42-0.24a4.372 4.372 0 0 0 2.15-2.02c22.5-44.3 32.1-87.5 32.1-141\", style: { fill: \"currentcolor\" } }] }, subtitles: { viewBox: \"0 0 512 512\", paths: [{ d: \"M482.5 216.69999999999982v-81.3c0-31.9-25.5-41-38.7-40.7h-377.2c-17.9 0-37.1 10.8-37.1 38.7v232.4c0 23.9 15.9 38.6 38.7 38.6h275l31 31c3.9 3.71 9.1 5.77 14.5 5.77s10.6-2.06 14.5-5.77l31-31h17.4c14.5 0 31-9 31-36.7z m-32.9 0v143.2c0 5.8 0 11.6-7.7 11.6h-19.4l-34.9 32.9-32.8-32.9h-282.8c-1.3 0.02-2.5-0.21-3.7-0.69s-2.3-1.19-3.2-2.1c-0.9-0.9-1.6-1.98-2.1-3.17s-0.7-2.46-0.7-3.74v-224.6c0-5.8 0-11.6 7.7-11.6h369.8c6.9 0 9.7 5.8 9.7 9.7v81.4z\", style: { fill: \"currentcolor\" } }, { d: \"M192.10000000000036 249.60000000000036h-75.5q-3.45-0.015-6.6 1.29c-2.2 0.86-4.1 2.14-5.7 3.75s-2.9 3.52-3.8 5.62c-0.8 2.1-1.3 4.36-1.3 6.64v0.1c0 2.28 0.4 4.54 1.3 6.65s2.1 4.03 3.7 5.64c1.7 1.62 3.6 2.9 5.7 3.78s4.3 1.33 6.6 1.33h75.6c3.4 0.01 6.8-0.99 9.7-2.89 2.8-1.9 5.1-4.6 6.4-7.77 0.8-2.11 1.3-4.36 1.3-6.64v-0.1c0-2.29-0.4-4.55-1.3-6.67-0.9-2.11-2.2-4.03-3.8-5.65s-3.5-2.9-5.6-3.77-4.4-1.32-6.7-1.31\", style: { fill: \"currentcolor\" } }, { d: \"M228.8000000000011 267.10000000000036c0 2.28 0.4 4.54 1.3 6.65s2.1 4.03 3.7 5.64c1.7 1.62 3.6 2.9 5.7 3.78s4.3 1.33 6.6 1.33h151.1c2.3 0.01 4.5-0.42 6.7-1.29 2.1-0.87 4-2.14 5.6-3.75s2.9-3.52 3.8-5.62c0.8-2.1 1.3-4.36 1.3-6.64v-0.1c0-2.28-0.4-4.54-1.3-6.65-0.8-2.11-2.1-4.03-3.7-5.64-1.6-1.62-3.6-2.9-5.7-3.78s-4.3-1.33-6.6-1.33H244.20000000000073c-4.3 0.42-8.3 2.44-11.1 5.67-2.9 3.23-4.4 7.42-4.3 11.73\", style: { fill: \"currentcolor\" } }, { d: \"M321.8000000000011 340.60000000000036h75.5c2.3 0.01 4.5-0.43 6.7-1.29 2.1-0.87 4-2.14 5.6-3.75s2.9-3.52 3.8-5.62 1.3-4.36 1.3-6.64v-0.1c0-2.28-0.4-4.54-1.3-6.65s-2.1-4.03-3.7-5.64c-1.6-1.62-3.6-2.91-5.7-3.78-2.1-0.88-4.3-1.33-6.6-1.33h-75.6c-3.4-0.01-6.8 0.99-9.6 2.89-2.9 1.9-5.1 4.6-6.5 7.77-0.8 2.1-1.3 4.36-1.3 6.64v0.1c0 2.28 0.4 4.54 1.3 6.65s2.1 4.03 3.7 5.64c1.6 1.62 3.6 2.9 5.7 3.78s4.3 1.33 6.6 1.33z\", style: { fill: \"currentcolor\" } }, { d: \"M116.5 340.60000000000036h153c2.3 0.01 4.5-0.42 6.7-1.29 2.1-0.86 4-2.14 5.6-3.75s2.9-3.52 3.8-5.62 1.3-4.36 1.3-6.64v-0.1c0-2.28-0.4-4.54-1.3-6.65s-2.1-4.03-3.7-5.64c-1.6-1.62-3.5-2.91-5.7-3.78-2.1-0.88-4.3-1.33-6.6-1.33h-153.1c-3.4-0.01-6.8 0.99-9.6 2.89-2.9 1.9-5.1 4.6-6.5 7.77-0.8 2.1-1.3 4.36-1.3 6.64v0.1c0 2.29 0.4 4.55 1.3 6.67 0.9 2.11 2.2 4.03 3.8 5.65s3.5 2.9 5.6 3.77c2.2 0.87 4.4 1.32 6.7 1.31\", style: { fill: \"currentcolor\" } }] }, \"audio-tracks\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M57.4900000000016 223.5699999999997v75.87c-0.01 2.31 0.44 4.59 1.31 6.72 0.88 2.13 2.17 4.06 3.8 5.69 1.63 1.62 3.56 2.91 5.69 3.79s4.41 1.32 6.71 1.31c2.3 0.01 4.58-0.43 6.71-1.31s4.06-2.17 5.69-3.79c1.63-1.63 2.92-3.56 3.8-5.69 0.87-2.13 1.32-4.41 1.31-6.72v-75.87c0.01-2.3-0.44-4.58-1.31-6.71-0.88-2.13-2.17-4.06-3.8-5.69a17.3 17.3 0 0 0-5.69-3.79c-2.13-0.88-4.41-1.33-6.71-1.32-2.3-0.01-4.58 0.44-6.71 1.32-2.13 0.87-4.06 2.16-5.69 3.79a17.5 17.5 0 0 0-3.8 5.69c-0.87 2.13-1.32 4.41-1.31 6.71\", style: { fill: \"currentcolor\" } }, { d: \"M454.5100000000002 223.5699999999997v75.88c0.01 2.3-0.44 4.58-1.32 6.71-0.87 2.13-2.16 4.06-3.79 5.69a17.5 17.5 0 0 1-5.69 3.79c-2.13 0.88-4.41 1.32-6.71 1.31-2.3 0.01-4.58-0.43-6.71-1.31s-4.07-2.16-5.69-3.79a17.5 17.5 0 0 1-3.8-5.69c-0.87-2.13-1.32-4.41-1.31-6.71v-75.88c-0.01-2.3 0.44-4.58 1.31-6.71 0.88-2.13 2.17-4.06 3.8-5.69 1.62-1.63 3.56-2.92 5.69-3.79 2.13-0.88 4.41-1.32 6.71-1.31 2.3-0.01 4.58 0.43 6.71 1.31 2.13 0.87 4.06 2.16 5.69 3.79s2.92 3.56 3.79 5.69c0.88 2.13 1.33 4.41 1.32 6.71\", style: { fill: \"currentcolor\" } }, { d: \"M177.4900000000016 188.03999999999996v146.94c-0.01 2.3 0.44 4.58 1.31 6.71 0.88 2.13 2.17 4.06 3.8 5.69s3.56 2.92 5.69 3.79c2.13 0.88 4.41 1.33 6.71 1.32 2.3 0.01 4.58-0.44 6.71-1.32 2.13-0.87 4.06-2.16 5.69-3.79s2.92-3.56 3.8-5.69c0.87-2.13 1.32-4.41 1.31-6.71v-146.94c0.01-2.3-0.44-4.58-1.31-6.71-0.88-2.13-2.17-4.06-3.8-5.69a17.5 17.5 0 0 0-5.69-3.8c-2.13-0.87-4.41-1.32-6.71-1.31-2.3-0.01-4.58 0.44-6.71 1.31-2.13 0.88-4.06 2.17-5.69 3.8a17.5 17.5 0 0 0-3.8 5.69c-0.87 2.13-1.32 4.41-1.31 6.71\", style: { fill: \"currentcolor\" } }, { d: \"M333.5100000000002 188.03999999999996v146.94c0.01 2.3-0.44 4.58-1.31 6.71-0.88 2.13-2.17 4.06-3.8 5.69a17.3 17.3 0 0 1-5.69 3.79c-2.13 0.88-4.41 1.33-6.71 1.32-2.3 0.01-4.58-0.44-6.71-1.32-2.13-0.87-4.07-2.16-5.69-3.79a17.5 17.5 0 0 1-3.8-5.69c-0.87-2.13-1.32-4.41-1.31-6.71v-146.94c-0.01-2.3 0.44-4.58 1.31-6.71 0.88-2.13 2.17-4.06 3.8-5.69 1.62-1.63 3.56-2.92 5.69-3.8 2.13-0.87 4.41-1.32 6.71-1.31 2.3-0.01 4.58 0.44 6.71 1.31 2.13 0.88 4.06 2.17 5.69 3.8s2.92 3.56 3.8 5.69c0.87 2.13 1.32 4.41 1.31 6.71\", style: { fill: \"currentcolor\" } }, { d: \"M152.51000000000022 377.2600000000002v-242.52c0.01-2.3-0.44-4.58-1.31-6.71-0.88-2.13-2.17-4.07-3.8-5.69a17.5 17.5 0 0 0-5.69-3.8c-2.13-0.87-4.41-1.32-6.71-1.31-2.3-0.01-4.58 0.44-6.71 1.31-2.13 0.88-4.06 2.17-5.69 3.8a17.4 17.4 0 0 0-3.8 5.69c-0.87 2.13-1.32 4.41-1.31 6.71v242.52c-0.01 2.3 0.44 4.58 1.31 6.71 0.88 2.13 2.17 4.07 3.8 5.69 1.63 1.63 3.56 2.92 5.69 3.8 2.13 0.87 4.41 1.32 6.71 1.31 2.3 0.01 4.58-0.44 6.71-1.31 2.13-0.88 4.06-2.17 5.69-3.8 1.63-1.62 2.92-3.56 3.8-5.69 0.87-2.13 1.32-4.41 1.31-6.71\", style: { fill: \"currentcolor\" } }, { d: \"M358.4900000000016 377.2600000000002v-242.52c-0.01-2.3 0.44-4.58 1.31-6.71 0.88-2.13 2.17-4.06 3.8-5.69 1.62-1.63 3.56-2.92 5.69-3.8 2.13-0.87 4.41-1.32 6.71-1.31 2.3-0.01 4.58 0.44 6.71 1.31 2.13 0.88 4.06 2.17 5.69 3.8s2.92 3.56 3.79 5.69c0.88 2.13 1.33 4.41 1.32 6.71v242.52c0.01 2.3-0.44 4.59-1.32 6.71-0.87 2.13-2.16 4.07-3.79 5.69a17.5 17.5 0 0 1-5.69 3.8c-2.13 0.87-4.41 1.32-6.71 1.31-2.3 0.01-4.58-0.44-6.71-1.31-2.13-0.88-4.07-2.17-5.69-3.8a17.38 17.38 0 0 1-5.11-12.4\", style: { fill: \"currentcolor\" } }, { d: \"M273.5100000000002 430.5600000000004v-349.12c0.01-2.3-0.44-4.58-1.31-6.71-0.88-2.13-2.17-4.07-3.8-5.69a17.5 17.5 0 0 0-5.69-3.8c-2.13-0.87-4.41-1.32-6.71-1.31-2.3-0.01-4.58 0.44-6.71 1.31-2.13 0.88-4.06 2.17-5.69 3.8a17.4 17.4 0 0 0-3.8 5.69c-0.87 2.13-1.32 4.41-1.31 6.71v349.12c-0.01 2.3 0.44 4.58 1.31 6.71 0.88 2.13 2.17 4.07 3.8 5.69 1.63 1.63 3.56 2.92 5.69 3.8 2.13 0.87 4.41 1.32 6.71 1.31 2.3 0.01 4.58-0.44 6.71-1.31 2.13-0.88 4.06-2.17 5.69-3.8 1.63-1.62 2.92-3.56 3.8-5.69 0.87-2.13 1.32-4.41 1.31-6.71\", style: { fill: \"currentcolor\" } }] }, chapters: { viewBox: \"0 0 512 512\", paths: [{ d: \"M256 178.25c14.96-59.06 71.47-89.22 194.51-89.77 1.97-0.01 3.92 0.37 5.73 1.12 1.82 0.75 3.48 1.85 4.87 3.24s2.49 3.05 3.24 4.87c0.75 1.81 1.13 3.76 1.12 5.73v269.32a14.958 14.958 0 0 1-9.23 13.82c-1.82 0.75-3.77 1.14-5.73 1.14-119.7 0-165.94 24.14-194.51 59.85-28.4-35.53-74.81-59.85-194.5-59.85-9.24 0-14.97-7.53-14.97-16.76v-267.52c0-1.97 0.38-3.91 1.13-5.73 1.13-2.74 3.05-5.08 5.52-6.72 2.46-1.65 5.36-2.52 8.32-2.51 123.03 0.55 179.54 30.71 194.5 89.77\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"34\", fill: \"none\" } }, { d: \"M256.3000000000002 165.89999999999964v282\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"34\", fill: \"none\" } }] }, \"skip-15-forward\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M428.7999999999993 249.60000000000036c-3.95 0.01-7.74 1.58-10.53 4.37a14.95 14.95 0 0 0-4.37 10.53c0 87.1-70.8 157.9-157.9 157.9s-157.9-70.8-157.9-157.9c0-86.8 70.4-157.4 157.1-157.9l-27.1 26.8a13.3 13.3 0 0 0-2.94 4.35 13.37 13.37 0 0 0 0 10.3c0.68 1.63 1.68 3.11 2.94 4.35 2.61 2.5 6.08 3.9 9.7 3.9s7.09-1.4 9.7-3.9l51.9-51.2c1.26-1.24 2.26-2.72 2.94-4.35a13.37 13.37 0 0 0 0-10.3c-0.68-1.63-1.68-3.11-2.94-4.35l-51.9-51.2c-2.61-2.5-6.08-3.9-9.7-3.9s-7.09 1.4-9.7 3.9a13.3 13.3 0 0 0-2.94 4.35 13.37 13.37 0 0 0 0 10.3c0.68 1.63 1.68 3.11 2.94 4.35l27.2 26.9c-103.1 0.4-186.9 84.4-186.9 187.6 0 103.5 84.2 187.6 187.6 187.6s187.7-84.2 187.7-187.7c-0.01-3.94-1.59-7.71-4.38-10.49-2.8-2.77-6.58-4.32-10.52-4.31\", style: { fill: \"currentcolor\" } }, { d: \"M195.20000000000073 252v69.9h25.5v-120.8h-21l-38.9 31 12.3 15.4 13.9-11.2c3.07-2.61 6.01-5.38 8.8-8.3l-0.4 12.6z\", style: { fill: \"currentcolor\" } }, { d: \"M321.39999999999964 222.80000000000018v-21.6h-65.5l-4.5 61.6 10.2 5.5c2.82-0.82 5.7-1.45 8.6-1.9 3.2-0.58 6.45-0.88 9.7-0.9 16.1 0 24.2 6.1 24.2 18.3q0 19.2-23.4 19.2a73 73 0 0 1-31.6-7.9v22.1c8.3 4.4 19.1 6.5 32.6 6.5 15.5 0 27.4-3.6 35.7-10.9s12.5-17.7 12.5-31.2c0-11.4-3.5-20.4-10.4-26.9-6.9-6.6-16.2-9.8-27.9-9.8-4.2-0.08-8.39 0.32-12.5 1.2l-2.9 0.6 2.2-23.7h43z\", style: { fill: \"currentcolor\" } }] }, \"skip-15-back\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M256.60000000000036 78.10000000000036l27-26.7c1.26-1.23 2.26-2.7 2.94-4.32a13.275 13.275 0 0 0 0-10.26c-0.68-1.62-1.68-3.09-2.94-4.32a13.76 13.76 0 0 0-19.2 0l-51.5 50.8c-1.26 1.23-2.26 2.7-2.94 4.32-0.68 1.63-1.03 3.37-1.03 5.13s0.35 3.5 1.03 5.13c0.68 1.62 1.68 3.09 2.94 4.32l51.5 50.8a13.76 13.76 0 0 0 19.2 0c1.26-1.23 2.26-2.7 2.94-4.32a13.275 13.275 0 0 0 0-10.26c-0.68-1.62-1.68-3.09-2.94-4.32l-26.9-26.6c86 0.4 155.9 70.5 155.9 156.6 0 86.4-70.3 156.7-156.7 156.7s-156.7-70.3-156.7-156.7c0-3.93-1.56-7.69-4.33-10.47a14.83 14.83 0 0 0-10.47-4.33c-3.93 0-7.69 1.56-10.47 4.33a14.83 14.83 0 0 0-4.33 10.47c0 102.7 83.5 186.2 186.2 186.2s186.2-83.5 186.2-186.2c0.2-102.3-83-185.6-185.4-186\", style: { fill: \"currentcolor\" } }, { d: \"M187.5 236.30000000000018c1.6-1.3 4.6-4.1 8.8-8.3l-0.4 12.5-0.2 11.4v69.4h25.3v-119.9h-20.8l-38.6 30.7 12.2 15.2z\", style: { fill: \"currentcolor\" } }, { d: \"M280.2999999999993 302.3000000000002c-5.51-0.03-10.98-0.77-16.3-2.2a65.6 65.6 0 0 1-15.1-5.6v21.9c8.2 4.3 19 6.5 32.3 6.5q23.1 0 35.4-10.8c8.3-7.2 12.4-17.5 12.4-30.9 0-11.3-3.4-20.2-10.3-26.7s-16.1-9.8-27.7-9.8c-4.16-0.05-8.31 0.32-12.4 1.1l-2.9 0.6 2.2-23.5h42.8v-21.5h-65l-4.5 61.1 10.1 5.4c2.78-0.83 5.62-1.43 8.5-1.8 3.17-0.57 6.38-0.87 9.6-0.9 16 0 24 6 24 18.1 0.1 12.7-7.6 19-23.1 19\", style: { fill: \"currentcolor\" } }] }, reset: { viewBox: \"0 0 512 512\", paths: [{ d: \"M114.39000000000033 169.4399999999996l18.89-21.97a171.2 171.2 0 0 1 56.63-39.34 171.25 171.25 0 0 1 67.55-13.81c94.79 0 171.69 76.9 171.69 171.69s-76.9 171.69-171.69 171.69c-35.51 0-70.14-11.01-99.14-31.5a171.84 171.84 0 0 1-62.77-82.95\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"34\", fill: \"none\" } }, { d: \"M57.159999999999854 124.21000000000004v98.88c0 1.88 0.37 3.74 1.09 5.47 0.72 1.74 1.77 3.32 3.1 4.64 1.33 1.33 2.91 2.39 4.65 3.1 1.73 0.72 3.59 1.09 5.47 1.09h98.88c2.83 0 5.6-0.83 7.95-2.4 2.36-1.58 4.19-3.81 5.28-6.43 1.08-2.61 1.36-5.49 0.81-8.26-0.55-2.78-1.92-5.33-3.92-7.33l-98.89-98.88c-2-2-4.55-3.37-7.33-3.92a14.36 14.36 0 0 0-8.27 0.81 14.26 14.26 0 0 0-6.42 5.27 14.3 14.3 0 0 0-2.4 7.96\", style: { fill: \"currentcolor\" } }] }, audio: { viewBox: \"0 0 512 512\", paths: [{ d: \"M153.5 190.20000000000027h-72.6c-1.1 0-2.2 0.21-3.2 0.63-1 0.43-1.9 1.03-2.7 1.79-0.8 0.77-1.4 1.69-1.8 2.7s-0.6 2.09-0.6 3.18v116.8c0 1.09 0.2 2.17 0.6 3.18s1 1.93 1.8 2.7c0.8 0.76 1.7 1.36 2.7 1.79 1 0.42 2.1 0.63 3.2 0.63h72.6c3.9-0.02 7.6 1.32 10.6 3.8l95.4 78.1c1.8 1.3 4 1.83 6.2 1.5 2.2-0.34 4.2-1.52 5.5-3.3 1.1-1.44 1.6-3.2 1.6-5v-283.9c0-1.09-0.2-2.17-0.6-3.18s-1-1.93-1.8-2.7c-0.8-0.76-1.7-1.36-2.7-1.79-1.3-0.55-2.8-0.74-4.2-0.57s-2.7 0.7-3.9 1.54l-95.4 78.1c-3 2.57-6.8 3.99-10.7 4\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"31.897\", fill: \"none\" } }, { d: \"M356.10000000000036 323.7000000000003c10.7-20.63 16.4-43.47 16.7-66.7-0.1-23.26-5.8-46.15-16.7-66.7\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"31.897\", fill: \"none\" } }, { d: \"M406.10000000000036 373.7000000000003c22.2-34.88 33.8-75.46 33.4-116.8 0.7-41.39-10.9-82.05-33.4-116.8\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"31.897\", fill: \"none\" } }] }, speed: { viewBox: \"0 0 512 512\", paths: [{ d: \"M312.90000000000146 231.2100000000005l-38.8 61.69c-1.6 2.2-3.6 4.14-5.8 5.75-2.6 1.9-5.6 3.25-8.8 3.95-3.2 0.72-6.4 0.82-9.6 0.29-6.4-1.08-12.2-4.67-16-9.99-1.9-2.63-3.2-5.61-3.9-8.77s-0.8-6.42-0.3-9.61 1.7-6.25 3.4-8.99 4-5.11 6.6-7l61.7-38.81a8.55 8.55 0 0 1 4.8-1.48c1.7 0 3.4 0.52 4.8 1.48 1.8 1.28 2.9 3.2 3.3 5.35 0.2 1.07 0.2 2.16-0.1 3.22-0.2 1.05-0.7 2.05-1.3 2.92\", style: { fill: \"currentcolor\" } }, { d: \"M255.60000000000036 93.95000000000027c-101.1 0-183.1 81.88-183.1 182.95 0 44.76 16.3 87.99 46 121.51 0.9 0.98 1.7 1.97 2.6 2.87 3.7 4.02 8.9 6.39 14.4 6.61 5.4 0.21 10.8-1.75 14.8-5.46l1.2-1.23c25.4-27.63 60.8-44.03 98.3-45.6s74.1 11.82 101.7 37.23q4.35 4.065 8.4 8.37c3.7 4.02 8.8 6.41 14.3 6.66 5.4 0.25 10.8-1.68 14.8-5.35l1.2-1.23 2.7-2.87c67-75.64 60-191.41-15.7-258.44-33.5-29.7-76.8-46.07-121.6-46.02\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M249.5 151.7100000000005v15.67\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M390.5 276.99000000000024h-31.4\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M155.5 276.99000000000024h-31.3\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M181.60000000000036 203.07000000000016l-18.5-18.46\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M329.60000000000036 203.07000000000016l18.5-18.46\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"32\", fill: \"none\" } }] }, episodes: { viewBox: \"0 0 512 512\", paths: [{ d: \"M499.60000000000036 161.79999999999973v-65.2c0.2-5.92-1.5-11.74-4.7-16.7-2.7-4.5-6.6-8.19-11.2-10.69-4.6-2.49-9.8-3.71-15.1-3.51q-53.7 0.15-107.4 0h-189.8q-3 0.075-6 0.6c-4.7 0.82-9.1 2.8-12.8 5.77-3.5 2.95-6.3 6.6-8.3 10.72-2 4.13-3 8.63-3.1 13.21v31.2h-31q-3 0.15-6 0.6c-4.7 0.82-9.1 2.8-12.8 5.77-5.1 4.08-8.8 9.76-10.3 16.13-0.7 2.5-1.1 5.1-1.1 7.7v30.9h-32.9q-3 0-6 0.6c-5.6 1.02-10.7 3.64-14.8 7.53-4.1 3.88-7 8.88-8.3 14.37-0.7 2.54-1.1 5.16-1.2 7.8v184.3c-0.1 5.55 1.4 11.02 4.2 15.82 2.8 4.79 6.8 8.75 11.7 11.43 4.6 2.46 9.8 3.65 15 3.45h0.1c36-0.1 72-0.1 108.1 0h143.3c15.2 0 30.4 0 45.6 0.1q3 0 6-0.6c4.7-0.82 9.1-2.8 12.8-5.77 3.7-2.96 6.7-6.78 8.6-11.13 0.7-1.63 1.2-3.3 1.7-5l0.1-0.4c0.6-2.43 0.9-4.91 1-7.4v-31c11 0 21.9 0 32.9 0.1q3 0 6-0.6c4.7-0.82 9.1-2.8 12.8-5.77 3.7-2.96 6.7-6.78 8.6-11.13 0.7-1.63 1.2-3.3 1.7-5l0.1-0.4c0.6-2.43 0.9-4.91 1-7.4v-31.3h31q3 0 6-0.6c4.7-0.82 9.1-2.8 12.8-5.77 3.7-2.96 6.7-6.78 8.6-11.13 0.7-1.63 1.2-3.3 1.7-5l0.1-0.4c0.6-2.43 0.9-4.91 1-7.4v-31.3z m-162.1 124.5V391.4000000000001c0.2 3.6 0.4 8-5 8.6h-270.4c-1 0.13-2 0.07-3-0.19-0.9-0.29-1.8-0.73-2.6-1.31-0.6-0.77-1.1-1.67-1.3-2.64-0.3-0.95-0.4-1.97-0.2-2.96l0.2-17.9v-144.2c0-3.7-0.4-8.4 5-9.1h270.5c1-0.15 2-0.09 3 0.17 0.9 0.26 1.8 0.71 2.6 1.33 0.6 0.77 1.1 1.67 1.3 2.64 0.3 0.95 0.4 1.97 0.2 2.96l-0.2 17.9v14z m63-61.2v105c0.1 3.6 0.3 8-5 8.6h-20.1v-119.6c0.1-8.02-2.9-15.76-8.5-21.53s-13.2-9.11-21.2-9.27h-1.2c-35.8 0.1-71.6 0.1-107.3 0h-118.9v-18.4c-0.1-4-0.4-8.4 5-9.1h270.4c1-0.15 2-0.09 3 0.17 0.9 0.26 1.8 0.71 2.6 1.33 0.6 0.77 1.1 1.67 1.3 2.64 0.3 0.95 0.4 1.97 0.2 2.96l-0.2 17.9v14z m61.2-61.5v105.1c0.1 3.6 0.4 8-5 8.6h-18.2v-119.4c0.1-8.03-2.9-15.77-8.5-21.56s-13.2-9.14-21.2-9.34h-1.3c-35.8 0.1-71.6 0.1-107.3 0h-120.8v-18.8c0-3.8-0.4-8.4 5-9.1h270.5c1-0.15 2-0.09 3 0.17 0.9 0.26 1.8 0.71 2.6 1.33 0.6 0.77 1.1 1.67 1.3 2.64 0.3 0.95 0.4 1.97 0.2 2.96l-0.2 17.9v14z\", style: { fill: \"currentcolor\" } }] }, cast: { viewBox: \"0 0 512 512\", paths: [{ d: \"M91.60000000000036 104c-26.3 0-43.5 24-43.5 48.1v51.5c5.3-0.4 10.6-0.7 16-0.7s10.7 0.2 16 0.7V152.0999999999999c0-11.3 7.4-16.1 11.5-16.1h328.9c4.2 0 11.5 4.8 11.5 16.1v207.7c0 11.3-7.4 16.1-11.5 16.1h-168.1c0.4 5.3 0.7 10.6 0.7 16s-0.2 10.7-0.7 16h168.1c26.3 0 43.5-24 43.5-48.1V152.0999999999999c0-24.2-17.3-48.1-43.5-48.1z\", style: { fill: \"currentcolor\" } }, { d: \"M214.20000000000073 408c0.6-5.31 0.8-10.66 0.8-16 0-19.83-3.9-39.47-11.5-57.79s-18.7-34.97-32.72-48.99a150.989 150.989 0 0 0-106.78-44.22c-5.4 0-10.7 0.3-16 0.8v32.2c5.3-0.72 10.65-1.09 16-1.1 31.56 0 61.82 12.54 84.14 34.86a118.99 118.99 0 0 1 34.86 84.14c0 5.35-0.4 10.7-1.1 16z\", style: { fill: \"currentcolor\" } }, { d: \"M158.70000000000073 408c0.89-5.29 1.32-10.64 1.3-16a96.04 96.04 0 0 0-28.13-67.87c-18-18-42.41-28.12-67.87-28.13-5.36-0.03-10.71 0.41-16 1.3v32.7c5.23-1.33 10.6-2 16-2a63.95 63.95 0 0 1 45.28 18.72 63.95 63.95 0 0 1 18.72 45.28c0 5.4-0.67 10.77-2 16z\", style: { fill: \"currentcolor\" } }, { d: \"M101.80000000000109 408a40.5 40.5 0 0 0 3.2-16 41.03 41.03 0 0 0-12.02-28.98 41.03 41.03 0 0 0-28.98-12.02c-5.5-0.03-10.94 1.06-16 3.2v7.8c0.01 12.2 4.85 23.89 13.48 32.52a46.07 46.07 0 0 0 32.52 13.48z\", style: { fill: \"currentcolor\" } }] }, \"cast-connected\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M91.60000000000036 104c-26.3 0-43.5 24-43.5 48.1v51.5c5.3-0.4 10.6-0.7 16-0.7s10.7 0.2 16 0.7V152.0999999999999c0-11.3 7.4-16.1 11.5-16.1h328.9c4.2 0 11.5 4.8 11.5 16.1v207.7c0 11.3-7.4 16.1-11.5 16.1h-168.1c0.4 5.3 0.7 10.6 0.7 16s-0.2 10.7-0.7 16h168.1c26.3 0 43.5-24 43.5-48.1V152.0999999999999c0-24.2-17.3-48.1-43.5-48.1z\", style: { fill: \"currentcolor\" } }, { d: \"M214.20000000000073 408c0.6-5.31 0.8-10.66 0.8-16 0-19.83-3.9-39.47-11.5-57.79s-18.7-34.97-32.72-48.99a150.989 150.989 0 0 0-106.78-44.22c-5.4 0-10.7 0.3-16 0.8v32.2c5.3-0.72 10.65-1.09 16-1.1 31.56 0 61.82 12.54 84.14 34.86a118.99 118.99 0 0 1 34.86 84.14c0 5.35-0.4 10.7-1.1 16z\", style: { fill: \"currentcolor\" } }, { d: \"M158.70000000000073 408c0.89-5.29 1.32-10.64 1.3-16a96.04 96.04 0 0 0-28.13-67.87c-18-18-42.41-28.12-67.87-28.13-5.36-0.03-10.71 0.41-16 1.3v32.7c5.23-1.33 10.6-2 16-2a63.95 63.95 0 0 1 45.28 18.72 63.95 63.95 0 0 1 18.72 45.28c0 5.4-0.67 10.77-2 16z\", style: { fill: \"currentcolor\" } }, { d: \"M101.80000000000109 408a40.5 40.5 0 0 0 3.2-16 41.03 41.03 0 0 0-12.02-28.98 41.03 41.03 0 0 0-28.98-12.02c-5.5-0.03-10.94 1.06-16 3.2v7.8c0.01 12.2 4.85 23.89 13.48 32.52a46.07 46.07 0 0 0 32.52 13.48z\", style: { fill: \"currentcolor\" } }, { d: \"M133 169c-1.71 0-3.4 0.33-4.98 0.98a12.9 12.9 0 0 0-4.22 2.82 12.9 12.9 0 0 0-2.82 4.22c-0.65 1.58-0.98 3.27-0.98 4.98v30.2c31.73 7.31 60.7 23.49 83.6 46.65s38.8 52.34 45.7 84.15h128.7c1.7 0 3.4-0.33 5-0.98s3-1.61 4.2-2.82c1.2-1.2 2.2-2.64 2.8-4.22 0.7-1.58 1-3.27 1-4.98v-148c0-1.71-0.3-3.4-1-4.98-0.6-1.58-1.6-3.01-2.8-4.22a12.5 12.5 0 0 0-4.2-2.82c-1.6-0.65-3.3-0.98-5-0.98z\", style: { fill: \"currentcolor\" } }] }, add: { viewBox: \"0 0 512 512\", paths: [{ d: \"M256 112v288\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"50\", fill: \"none\" } }, { d: \"M400 256h-288\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"50\", fill: \"none\" } }] }, remove: { viewBox: \"0 0 512 512\", paths: [{ d: \"M400 256h-288\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"50\", fill: \"none\" } }] }, eye: { viewBox: \"0 0 512 512\", paths: [{ d: \"M256 320c14.8 0 29.2-5.13 40.6-14.52 11.5-9.4 19.3-22.47 22.2-36.99 2.9-14.53 0.7-29.61-6.3-42.67s-18.3-23.3-32-28.97a64.05 64.05 0 0 0-43.1-2.12c-14.1 4.29-26.4 13.37-34.6 25.69-8.2 12.31-11.9 27.1-10.5 41.84 1.5 14.74 8 28.52 18.5 38.99 5.9 5.95 12.9 10.66 20.7 13.88s16.1 4.87 24.5 4.87\", style: { fill: \"currentcolor\" } }, { d: \"M490.8000000000011 238.5999999999999c-26.5-40.9-60.8-75.7-99.3-100.5-42.6-27.5-89.6-42.1-135.9-42.1-42.5 0-84.3 12.1-124.3 36.1-40.7 24.4-77.6 60.1-109.7 106.1a32.06 32.06 0 0 0-5.7 17.71c-0.1 6.34 1.7 12.56 5.1 17.89 26.4 41.3 60.4 76.1 98.3 100.7 42.7 27.6 88.5 41.6 136.3 41.6 46.7 0 93.8-14.4 136.2-41.7 38.5-24.8 72.7-59.7 99.1-100.9 3.3-5.23 5-11.29 5-17.46 0-6.18-1.8-12.23-5.1-17.44m-234.8 113.4c-14.2 0.02-28.2-3.12-41.1-9.18-12.8-6.07-24.2-14.9-33.2-25.88-9-10.97-15.5-23.81-18.9-37.59-3.5-13.77-3.8-28.15-1.1-42.08 2.8-13.93 8.6-27.08 17.1-38.49 8.4-11.4 19.3-20.79 31.9-27.49a95.6 95.6 0 0 1 40.5-11.21c14.2-0.69 28.4 1.77 41.5 7.22a97.3 97.3 0 0 1 43.1 35.4c9.6 14.46 15.2 31.25 16 48.6 0.8 17.36-3 34.61-11.2 49.93a96.24 96.24 0 0 1-35.3 37.08 95.94 95.94 0 0 1-49.3 13.69\", style: { fill: \"currentcolor\" } }] }, \"eye-off\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M432 448c-2.1 0.01-4.2-0.4-6.1-1.2-2-0.79-3.7-1.98-5.2-3.5l-352-352c-2.9-3.03-4.4-7.04-4.4-11.2 0-2.07 0.4-4.12 1.2-6.03s2-3.63 3.5-5.07c3-2.91 6.9-4.59 11.1-4.7 2.1-0.05 4.1 0.32 6 1.07 2 0.76 3.7 1.89 5.2 3.33l352 352c2.2 2.23 3.8 5.07 4.4 8.17s0.3 6.31-0.9 9.23-3.3 5.42-5.9 7.2c-2.6 1.8-5.7 2.74-8.9 2.7\", style: { fill: \"currentcolor\" } }, { d: \"M248 315.9000000000001l-51.8-51.8c-0.3-0.29-0.7-0.5-1.1-0.6-0.4-0.08-0.8-0.01-1.2 0.2-0.4 0.19-0.7 0.51-0.9 0.9-0.2 0.36-0.3 0.79-0.2 1.2 2.1 13.45 8.4 25.88 18 35.5s22.1 15.92 35.5 18c0.4 0.08 0.8 0.01 1.2-0.2 0.4-0.19 0.7-0.51 0.9-0.9 0.2-0.38 0.2-0.79 0.2-1.2-0.1-0.41-0.3-0.79-0.6-1.1\", style: { fill: \"currentcolor\" } }, { d: \"M264 196.19999999999982l51.9 51.9c0.3 0.29 0.7 0.5 1.1 0.6 0.4 0.08 0.8 0.01 1.2-0.2 0.4-0.19 0.7-0.51 0.9-0.9 0.2-0.36 0.3-0.79 0.2-1.2a64.3 64.3 0 0 0-18-35.5c-9.6-9.62-22.1-15.93-35.5-18-0.4-0.08-0.8-0.01-1.2 0.2-0.4 0.19-0.7 0.51-0.9 0.9-0.2 0.36-0.3 0.79-0.2 1.2 0 0.19 0.1 0.38 0.1 0.55 0.1 0.16 0.3 0.31 0.4 0.45\", style: { fill: \"currentcolor\" } }, { d: \"M491 273.4000000000001c3.3-5.19 5.1-11.24 5-17.4 0-6.17-1.8-12.2-5.1-17.4-26.5-40.9-60.8-75.7-99.3-100.5-42.6-27.5-89.6-42.1-136-42.1-24.4 0.01-48.7 3.99-71.8 11.8-0.6 0.23-1.2 0.61-1.7 1.1-0.5 0.48-0.8 1.12-0.9 1.8-0.2 0.66-0.2 1.34 0 2 0.1 0.66 0.5 1.25 1 1.7l47.2 47.2c0.5 0.52 1.1 0.87 1.8 1 0.7 0.2 1.3 0.2 2 0 16-3.92 32.8-3.64 48.6 0.8 15.9 4.44 30.4 12.9 42 24.56 11.7 11.65 20.2 26.12 24.6 42 4.4 15.87 4.7 32.63 0.8 48.64-0.2 0.65-0.2 1.35 0 2 0.2 0.67 0.5 1.29 1 1.8l67.9 68c0.7 0.7 1.7 1.13 2.7 1.2 1 0.06 2-0.26 2.8-0.9 26.3-22.18 49-48.24 67.4-77.3\", style: { fill: \"currentcolor\" } }, { d: \"M256 352c-14.5 0.03-28.9-3.25-42-9.58-13-6.33-24.5-15.55-33.5-26.96-9-11.42-15.3-24.72-18.4-38.92s-2.9-28.92 0.5-43.04c0.2-0.65 0.2-1.35 0-2-0.2-0.68-0.5-1.3-1-1.8l-66.8-66.9c-0.7-0.69-1.7-1.12-2.7-1.2-1-0.06-2 0.26-2.8 0.9-24.4 20.8-47 46.03-67.7 75.7-3.6 5.2-5.6 11.36-5.7 17.7-0.1 6.33 1.7 12.55 5.1 17.9 26.4 41.3 60.4 76.1 98.3 100.7 42.7 27.6 88.5 41.6 136.3 41.6 24.7-0.09 49.1-4 72.6-11.6 0.7-0.21 1.2-0.59 1.7-1.1s0.8-1.13 1-1.8c0.2-0.65 0.2-1.35 0-2-0.2-0.68-0.5-1.3-1-1.8l-47.5-47.5c-0.5-0.49-1.1-0.84-1.8-1-0.7-0.2-1.3-0.2-2 0-7.4 1.8-15 2.7-22.6 2.7\", style: { fill: \"currentcolor\" } }] }, \"local-import\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M83.60000000000036 202.5v-64.6a35.8 35.8 0 0 1 10.49-25.31 35.82 35.82 0 0 1 25.31-10.49h68.2a36.55 36.55 0 0 1 19.9 6l25 16.7a35.25 35.25 0 0 0 19.9 6h139.9a35.82 35.82 0 0 1 35.8 35.8v35.8\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M456.89999999999964 233.4l-14.6 148.4a35.85 35.85 0 0 1-10.49 25.309 35.82 35.82 0 0 1-25.31 10.491h-301a35.82 35.82 0 0 1-35.8-35.8l-14.6-148.4a28.755 28.755 0 0 1 26.3-30.9c0.8 0 1.5-0.2 2.3-0.2h344.6c7.61 0.03 14.9 3.08 20.26 8.48a28.74 28.74 0 0 1 8.34 20.32z\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }] } };\n\n// src/Icon.tsx\nvar ICONS = icons_default;\nvar Icon = React.memo(React.forwardRef((props, ref) => {\n const icon = ICONS[props.name];\n return icon ? /* @__PURE__ */ React.createElement(\"svg\", { ref, className: props.className, viewBox: icon.viewBox }, icon.paths.map((path, index) => /* @__PURE__ */ React.createElement(\"path\", { key: index, d: path.d, style: path.style }))) : null;\n}));\nvar Icon_default = Icon;\n\n// src/index.ts\nvar src_default = Icon_default;\nexport {\n src_default as default\n};\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) scriptUrl = scripts[scripts.length - 1].src\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl + \"../../\";","// Copyright (C) 2017-2023 Smart code 203358507\n\nif (typeof process.env.SENTRY_DSN === 'string') {\n const Sentry = require('@sentry/browser');\n Sentry.init({ dsn: process.env.SENTRY_DSN });\n}\n\nconst Bowser = require('bowser');\nconst browser = Bowser.parse(window.navigator?.userAgent || '');\nif (browser?.platform?.type === 'desktop') {\n document.querySelector('meta[name=\"viewport\"]')?.setAttribute('content', '');\n}\n\nconst React = require('react');\nconst ReactDOM = require('react-dom/client');\nconst i18n = require('i18next');\nconst { initReactI18next } = require('react-i18next');\nconst stremioTranslations = require('stremio-translations');\nconst App = require('./App');\n\nconst translations = Object.fromEntries(Object.entries(stremioTranslations()).map(([key, value]) => [key, {\n translation: value\n}]));\n\ni18n\n .use(initReactI18next)\n .init({\n resources: translations,\n lng: 'en-US',\n fallbackLng: 'en-US',\n interpolation: {\n escapeValue: false\n }\n });\n\nconst root = ReactDOM.createRoot(document.getElementById('app'));\nroot.render(<App />);\n\nif (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n window.addEventListener('load', () => {\n navigator.serviceWorker.register('service-worker.js')\n .catch((registrationError) => {\n console.error('SW registration failed: ', registrationError);\n });\n });\n}\n"],"names":["module","exports","arr","len","length","i","arr2","Array","__esModule","isArray","instance","Constructor","TypeError","_defineProperties","target","props","descriptor","enumerable","configurable","writable","Object","defineProperty","key","protoProps","staticProps","prototype","obj","value","_i","Symbol","iterator","_s","_e","_arr","_n","_d","call","next","done","push","err","objectWithoutPropertiesLoose","source","excluded","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","arrayWithHoles","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","_typeof","constructor","arrayLikeToArray","o","minLen","n","toString","slice","name","from","test","_interopRequireDefault","_regenerator","_asyncToGenerator2","scope","handler","addEventListener","_ref2","mark","_callee","_ref","request","id","path","args","data","thisArg","wrap","_context","prev","abrupt","reduce","prop","apply","sent","postMessage","response","result","t0","error","stop","_x","this","arguments","_ref3","_callee2","_context2","Math","random","Promise","resolve","reject","onMessage","_ref4","removeEventListener","_x2","_x3","EventEmitter","ERROR","ChromecastSenderVideo","options","containerElement","HTMLElement","Error","chromecastTransport","device","getCastDevice","deviceNameContainerElement","document","createElement","style","display","flexDirection","alignItems","justifyContent","width","height","backgroundColor","deviceNameLabelElement","flex","maxWidth","fontSize","lineHeight","maxHeight","textAlign","color","innerText","friendlyName","appendChild","on","onMessageReceivedError","events","destroyed","observedProps","stream","loaded","paused","time","duration","buffering","buffered","audioTracks","selectedAudioTrackId","subtitlesTracks","selectedSubtitlesTrackId","subtitlesOffset","subtitlesSize","subtitlesTextColor","subtitlesBackgroundColor","subtitlesOutlineColor","volume","muted","playbackSpeed","videoParams","extraSubtitlesTracks","selectedExtraSubtitlesTrackId","extraSubtitlesDelay","extraSubtitlesSize","extraSubtitlesOffset","extraSubtitlesTextColor","extraSubtitlesBackgroundColor","extraSubtitlesOutlineColor","onMessageSendError","action","emit","assign","CHROMECAST_SENDER_VIDEO","MESSAGE_SEND_FAILED","INVALID_MESSAGE_RECEIVED","message","event","concat","onPropChanged","propName","propValue","eventName","listener","dispatch","type","hasOwnProperty","sendMessage","catch","commandName","commandArgs","removeAllListeners","off","removeChild","JSON","stringify","canPlayStream","manifest","external","commands","Hls","cloneDeep","deepFreeze","Color","getContentType","HLS_CONFIG","HTMLVideo","styleElement","sheet","insertRule","videoElement","controls","playsInline","onerror","code","HTML_VIDEO","MEDIA_ERR_ABORTED","MEDIA_ERR_NETWORK","MEDIA_ERR_DECODE","MEDIA_ERR_SRC_NOT_SUPPORTED","UNKNOWN_ERROR","onError","critical","onVideoError","onended","onpause","onplay","ontimeupdate","ondurationchange","onwaiting","onseeking","onseeked","onstalled","onplaying","oncanplay","canplaythrough","onloadedmetadata","onloadeddata","onvolumechange","onratechange","textTracks","onchange","onCueChange","forEach","track","oncuechange","hls","getProp","readyState","HAVE_METADATA","currentTime","isFinite","floor","HAVE_FUTURE_DATA","start","end","map","index","freeze","String","lang","language","label","origin","embedded","mode","parseInt","cssRules","textShadow","audioTrack","playbackRate","cues","cue","snapToLines","line","command","url","autoplay","then","contentType","isSupported","Events","AUDIO_TRACKS_UPDATED","AUDIO_TRACK_SWITCHED","loadSource","attachMedia","src","UNSUPPORTED_STREAM","detachMedia","destroy","removeAttribute","load","pause","play","selecterdSubtitlesTrack","find","max","min","rgb","string","console","selecterdAudioTrack","split","pop","parseFloat","setProp","behaviorHints","notWebReady","canPlayType","proxyHeaders","fetch","method","resp","ok","headers","get","status","statusText","debug","enableWorker","lowLatencyMode","backBufferLength","maxBufferLength","maxMaxBufferLength","maxFragLookUpTolerance","maxBufferHole","appendErrorMaxRetry","nudgeMaxRetry","manifestLoadingTimeOut","manifestLoadingMaxRetry","fragLoadPolicy","default","maxTimeToFirstByteMs","maxLoadTimeMs","timeoutRetry","maxNumRetry","retryDelayMs","maxRetryDelayMs","errorRetry","IFrameVideo","iframeElement","border","allowFullscreen","allow","contentWindow","playerFrameUrl","window","onload","SUBS_SCALE_FACTOR","stremioToMPVProps","parseVersion","version","v","ShellVideo","resolveMPVVersion","ipc","shellTransport","stremioProps","waitForMPVVersion","send","avgDuration","setBackground","visible","bg","container","parentElement","background","logProp","log","last_time","mpvVersion","windowRenderer","navigator","platform","videoOutput","mpvSeparateWindow","separateWindow","b","versionA","versionB","startAt","speed","aid","mute","sid","intDuration","round","embeddedProp","filter","x","undefined","title","current_time","actualId","argb","replace","selectVideoImplementation","StremioVideo","video","Video","TizenVideo","WebOsVideo","YouTubeVideo","withStreamingServer","withHTMLSubtitles","withVideoParams","externalUrl","getCastState","cast","framework","CastState","CONNECTED","ytId","streamingServerURL","SCOPE","transport","getState","getCurrentTime","getDuration","getTotalTrackInfo","getCurrentStreamInfo","open","prepareAsync","async","successHandler","errorHandler","handlerResult","seekTo","setSpeed","rate","setSelectTrack","setDisplayRect","y","setDisplayMethod","setListener","handlers","listen","getTracksData","createAVPlay","isBuffering","videoSpeed","currentSubTrack","currentAudioTrack","lastSub","AVPlay","promiseAudioTrackChange","size","offset","textColor","outlineColor","subtitlesOpacity","objElement","disabledSubs","refreshSubtitle","lastSubDurationDiff","now","renderSubtitle","text","subtitleTimeout","clearTimeout","subtitlesElement","hasChildNodes","lastChild","bottom","opacity","cueNode","innerHTML","padding","setTimeout","onbufferingstart","onbufferingprogress","onbufferingcomplete","oncurrentplaytime","onsubtitlechange","onstreamcompleted","position","right","left","zIndex","retries","isLoaded","gotTraktData","tracksData","audio","subs","isPaused","totalTrackInfo","textTrack","textTrackId","extra","parse","extra_info","e","textTrackLang","track_lang","trim","extendedTrackData","el","currentTracks","currentIndex","audioTrackId","audioTrackLang","tizenVersion","g","tizen","systeminfo","getCapability","innerWidth","innerHeight","STREAM_FAILED_TO_LOAD","observeProp","willPause","lastKnownProp","selectedSubtitlesTrack","selectedAudioTrack","luna","params","fail","onSuccess","onFailure","errorCode","errorText","webOS","service","launchVideoApp","success","failure","parameters","webOsColors","stremioColors","unsupportedAudio","unsupportedSubs","fetchedDeviceInfo","retrieveDeviceInfo","configs","edidType","toLowerCase","includes","subSize","subStyles","font_size","bg_color","bg_opacity","char_opacity","toggleSubtitles","mediaId","startTime","lastSubColor","lastSubBgColor","lastPlaybackSpeed","retrieveExtendedTracks","nrSubs","nrAudio","codec","charColor","bgColor","bgOpacity","charOpacity","trackIndex","successCb","nextOffset","nextSubSize","nextColor","nextSubOpacity","enabled","count","cb","timer","setInterval","clearInterval","timeChangedTimeout","apiScriptElement","YT","ready","onAPIError","PlayerState","Player","videoContainerElement","playerVars","cc_load_policy","disablekb","enablejsapi","fs","iv_load_policy","loop","modestbranding","playsinline","rel","onReady","onVideoReady","onApiChange","onVideoAPIChange","onStateChange","onVideoStateChange","timeChangedIntervalId","pendingLoadArgs","YOUTUBE_VIDEO","API_LOAD_FAILED","videoError","INVALID_PARAMETER","HTML5_VIDEO","VIDEO_NOT_FOUND","VIDEO_NOT_EMBEDDABLE","loadModule","setOption","state","ENDED","CUED","UNSTARTED","PAUSED","PLAYING","getPlayerState","BUFFERING","getVolume","isMuted","getPlaybackRate","getOption","languageCode","displayName","loadVideoById","videoId","startSeconds","cueVideoById","stopVideo","pauseVideo","playVideo","unMute","setVolume","setPlaybackRate","selecterdTrack","WITH_HTML_SUBTITLES","LOAD_FAILED","WITH_STREAMING_SERVER","CONVERT_FAILED","mediaElement","formats","VIDEO_CODEC_CONFIGS","force","chrome","mime","aliases","AUDIO_CODEC_CONFIGS","canPlay","config","videoCodecs","audioCodecs","maxAudioChannels","userAgent","AudioContext","maxChannelCount","destination","getMaxAudioChannels","qt","encodeURIComponent","json","tracks","subsTracks","array","middle","convertSrtCue","caption","s","splice","match","m","convert","srt","cuelist","srt2webvtt","VTTJS","binarySearchUpperBound","parser","WebVTT","Parser","StringDecoder","errors","cuesByTime","oncue","c","endTime","onparsingerror","onflush","warn","times","sort","t1","t2","j","k","c1","c2","render","nodes","timeIndex","cuesForTime","node","convertCueToDOMTree","subtitlesParser","subtitlesRenderer","subtitlesConverter","VideoWithHTMLSubtitles","onVideoPropEvent","bind","onOtherVideoEvent","videoState","selectedTrackId","delay","extraSubtitlesOpacity","renderSubtitles","whiteSpace","videoPropValue","selectedTrack","findIndex","t","subtitles","exclusive","magnet","createTorrent","buildProxyUrl","streamURL","requestHeaders","responseHeaders","parsedStreamURL","URL","proxyOptions","URLSearchParams","set","entries","entry","append","pathname","search","seriesInfo","streamingServerSettings","infoHash","fileIdx","announce","torrent","parsedMagnetURI","decode","sources","proxyStreamsEnabled","buildTorrent","query","body","peerSearch","guessFileIdx","season","episode","guessedFileIdx","fetchOpensubtitlesParams","mediaURL","hash","videoHash","videoSize","queryParams","fetchFilename","filename","streamName","decodeURIComponent","allSettled","results","reason","hat","mediaCapabilities","convertStream","fetchVideoParams","isPlayerLoaded","supportsTranscoding","VideoWithStreamingServer","self","loadArgs","actionsQueue","canPlayStreamOptions","forceTranscoding","videoCodec","audioCodec","shift","flushActionsQueue","supported","probe","isFormatSupported","some","format","areStreamsSupported","streams","every","channels","VideoWithVideoParams","r","l","d","toStringTag","create","p","VERSION","PALETTE_MATERIAL_CHROME","PALETTE_MATERIAL_500","COLOR_NAMES","getLuminance","intToRgb","rgbToInt","rgbToHsv","rgbToHsl","hslToRgb","rgbToHex","parseColor","parseColorToHsla","parseColorToHsl","parseColorToRgba","parseColorToRgb","createPicker","a","return","u","h","attachTo","showHSL","showRGB","showHEX","showAlpha","palette","paletteEditable","useAlphaInPalette","slBarSize","hueBarSize","alphaBarSize","f","NodeList","querySelector","jquery","getContext","createLinearGradient","addColorStop","setHue","fillStyle","fillRect","globalCompositeOperation","grabColor","getImageData","findColor","A","Number","nvl","hasAttribute","getAttribute","H","S","L","R","G","B","element","className","setupHueCanvas","hueBarHelper","huePointer","setupSlCanvas","slBarHelper","slPointer","preview","setupClipboard","setupInput","inputH","inputS","inputL","remove","inputR","inputG","inputB","inputRGBHEX","setPalette","paletteRow","setupAlphaCanvas","alphaPointer","onValueChanged","limit","clientX","getBoundingClientRect","clientY","top","toFixed","select","returnValue","execCommand","ensureArray","setAttribute","insertBefore","onPaletteColorAdd","onPaletteColorRemove","querySelectorAll","shiftKey","silent","updatePointerH","updateInputHSL","updateInputRGB","updateInputRGBHEX","updatePointerSL","F","E","updatePointerA","C","cssColorToRgb","w","T","I","P","D","oncoloradd","oncolorremove","listeners","change","coloradd","colorremove","hsl","rgbhex","all","hex","rgba","hsla","setColor","updatePalette","show","classList","hide","add","toggle","ctrl","cssHslaToHsla","cssHslToHsl","cssRgbaToRgba","cssRgbToRgb","cssColorToRgba","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgrey","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgrey","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","isNaN","exec","pow","btoa","unescape","sourceRoot","join","require","React","useTranslation","Router","Core","Shell","Chromecast","DragAndDrop","KeyboardShortcuts","ServicesProvider","NotFound","PlatformProvider","ToastProvider","TooltipProvider","CONSTANTS","withCoreSuspender","ServicesToaster","DeepLinkHandler","SearchParamsHandler","ErrorDialog","withProtectedRoutes","routerViewsConfig","styles","RouterWithProtectedRoutes","i18n","onPathNotMatch","useCallback","services","useMemo","core","appVersion","process","shellVersion","shell","chromecast","keyboardShortcuts","dragAndDrop","useState","initialized","setInitialized","useEffect","prevPath","location","onLocationHashChange","active","analytics","onCoreStateChanged","onShellStateChanged","onChromecastStateChange","setOptions","receiverApplicationId","CHROMECAST_RECEIVER_APP_ID","autoJoinPolicy","AutoJoinPolicy","PAGE_SCOPED","resumeSavedSession","androidReceiverCompatible","onCoreEvent","settings","interfaceLanguage","changeLanguage","onWindowFocus","profile","StrictMode","viewsConfig","useStreamingServer","streamingServer","content","deepLinks","metaDetailsVideos","PropTypes","classnames","Button","Image","dataCleared","setDataCleared","reload","clearData","localStorage","clear","alt","onClick","disabled","propTypes","isEqual","useProfile","useToast","useServices","toast","searchParams","setSearchParams","onLocationChange","previousSearchParams","currentSearchParams","fromEntries","streamingServerUrl","timeout","uid","transport_url","startsWith","dataset","onDragAndDropError","file","App","routes","routesRegexp","board","component","Board","intro","Intro","discover","Discover","library","Library","continuewatching","Search","metadetails","MetaDetails","addons","Addons","Settings","player","Component","previousAuthRef","useRef","auth","current","onRouteChange","routeConfig","Icon","AddonDetails","logo","description","types","transportUrl","official","renderLogoFallback","renderFallback","arrayOf","bool","ModalDialog","usePlatform","AddonDetailsWithRemoteAndLocalAddon","withRemoteAndLocalAddon","remoteAddon","localAddon","addon","flags","useAddonDetails","AddonDetailsModal","onCloseRequest","addonDetails","modalButtons","cancelButton","reactEvent","nativeEvent","configureButton","openExternal","toggleButton","configurationRequired","modalBackground","buttons","selected","func","AddonDetailsModalFallback","useModelState","model","useLongPress","forwardRef","ref","href","children","onLongPress","onDoubleClick","longPress","detect","onKeyDown","preventDefault","buttonClickPrevented","currentTarget","click","onMouseDown","buttonBlurPrevented","activeElement","blur","tabIndex","TYPE_PRIORITIES","movie","series","channel","tv","music","radio","podcast","game","book","adult","other","Infinity","ICON_FOR_TYPE","Map","SUBTITLES_SIZES","SUBTITLES_FONTS","SEEK_TIME_DURATIONS","NEXT_VIDEO_POPUP_DURATIONS","CATALOG_PREVIEW_SIZE","CATALOG_PAGE_SIZE","NONE_EXTRA_VALUE","SKIP_EXTRA_NAME","META_LINK_CATEGORY","IMDB_LINK_CATEGORY","SHARE_LINK_CATEGORY","WRITERS_LINK_CATEGORY","EXTERNAL_PLAYERS","platforms","WHITELISTED_HOSTS","Checkbox","checked","AColorPicker","useBinaryState","ColorPicker","ColorInput","onChange","modalOpen","openModal","closeModal","tempValue","setTempValue","labelButtonStyle","isTransparent","endsWith","labelButtonOnClick","openModalPrevented","modalDialogOnClick","colorPickerOnInput","useLayoutEffect","onInput","object","pickerRef","pickerElementRef","pickerClipboard","picker","nextValue","LibItem","ContinueWatchingItem","_id","notifications","metaDetailsStreams","onPlayClick","stopPropagation","onDismissClick","posterChangeCursor","shape","ContineWatchingItem","CoreSuspenderContext","createContext","wrapPromise","promise","suspender","read","useCoreSuspender","useContext","Fallback","parentSuspender","setRender","statesRef","streamsRef","decodeStream","Suspense","fallback","Provider","DelayedRenderer","number","useEvents","pullEvents","dismissEvent","modal","onClose","imageUrl","manifestUrl","EventModal","ctx","fallbackSrc","broken","setBroken","loading","MetaItem","removable","watched","newVideos","items","progress","option","optionOnSelect","optionSelectPrevented","is_watched","VerticalNavBar","HorizontalNavBar","TABS","icon","MainNavBars","memo","route","backButton","searchBar","addonsButton","fullscreenButton","navMenu","tabs","filterInvalidDOMProps","Multiselect","poster","posterShape","menuOpen","onMenuOpen","onMenuClose","metaItemOnClick","selectPrevented","menuOnClick","menuOnSelect","renderPosterFallback","has","renderMenuLabelContent","renderLabelContent","onOpen","onSelect","oneOf","Tooltip","ActionButton","tooltip","MetaLinks","links","toUpperCase","UrlUtils","SharePrompt","MetaPreviewPlaceholder","ALLOWED_LINK_REDIRECTS","regexp","MetaPreview","compact","runtime","releaseInfo","released","trailerStreams","inLibrary","toggleInLibrary","shareModalOpen","openShareModal","closeShareModal","linksGroups","link","category","protocol","hostname","showHref","trailerHref","Date","getTime","getFullYear","Fragment","Placeholder","instanceOf","ReactIs","useTranslate","MetaRowPlaceholder","MetaRow","catalog","itemComponent","catalogTitle","isValidElementType","item","fill","_","oneOfType","elementType","useRouteFocused","useModalsContainer","Modal","routeFocused","modalsContainer","modalContainerRef","closeButtonOnClick","onModalContainerMouseDown","closeModalDialogPrevented","onModalDialogContainerMouseDown","childNodes","childElementCount","backgroundImage","Popup","direction","renderLabelText","closeMenu","toggleMenu","labelOnClick","toggleMenuPrevented","menuOnKeyDown","optionOnClick","closeMenuPrevented","mountedRef","renderLabel","renderMenu","renderPopupLabel","labelProps","any","useFullscreen","usePWA","SearchBar","NavMenu","backButtonOnClick","history","back","fullscreen","requestFullscreen","exitFullscreen","isIOSPWA","renderNavMenuLabel","NavMenuContent","popupLabelOnClick","togglePopupPrevented","popupMenuOnClick","useTorrent","createTorrentFromMagnet","isAndroidPWA","logoutButtonOnClick","onPlayMagnetLinkClick","clipboard","readText","clipboardText","user","avatar","email","debounce","TextInput","useSearchHistory","useLocalSearch","searchHistory","localSearch","historyOpen","openHistory","closeHistory","currentQuery","setCurrentQuery","searchInputRef","containerRef","searchBarOnClick","searchHistoryOnClose","contains","queryInputOnChange","queryInputOnSubmit","searchValue","queryInputClear","updateLocalSearchDebounced","focus","cancel","placeholder","defaultValue","onSubmit","SearchBarFallback","searchQuery","maxResults","NavTabButton","scrollTop","scrollTo","behavior","tab","PaginationInput","prevNextButtonOnClick","PlayIconCircleCentered","viewBox","cx","cy","FocusLock","getAnchorElement","documentElement","getComputedStyle","overflowY","labelRef","menuRef","autoDirection","setAutoDirection","menuOnMouseDown","closePopupPrevented","onCloseEvent","closeEvent","anchorRect","labelRect","menuRect","labelPosition","autoFocus","lockProps","isRequired","SearchBarPlaceholder","inputRef","selectInputContent","copyToClipboard","readOnly","useAnimationFrame","useLiveRef","Slider","minimumValue","maximumValue","onSlide","onComplete","minimumValueRef","maximumValueRef","valueRef","bufferedRef","onSlideRef","onCompleteRef","sliderContainerRef","requestThumbAnimation","cancelThumbAnimation","calculateValueForMouseX","mouseX","sliderX","sliderWidth","retainThumb","onBlur","onMouseUp","onMouseMove","releaseThumb","classIndex","button","thumbPosition","bufferedPosition","marginLeft","StreamingServerWarning","onLaterClick","streamingServerWarningDismissed","setMonth","getMonth","setFullYear","submitPrevented","autoCorrect","autoCapitalize","autoComplete","spellCheck","ToastContext","ToastItem","toastOnClick","selectToastPrevented","closeToastPrevented","setContainer","useReducer","itemOnClose","filters","addFilter","removeFilter","useTooltip","margin","substring","onMouseEnter","update","onMouseLeave","parent","TooltipContext","classNames","TooltipItem","setStyle","onTransitionEnd","tooltipBounds","parentBounds","tooltips","setTooltips","priorities","localeCompare","NEGATIVE_INFINITY","child","elementTop","offsetTop","elementBottom","clientHeight","containerTop","containerBottom","isChildVisible","Chips","MultiselectMenu","comparatorWithPriorities","getVisibleChildrenRange","interfaceLanguages","languageNames","useNotifications","useOnScrollToBottom","urlParamsNames","animationFrameId","cancelAnimationFrame","requestAnimationFrame","initialValue","setValue","fullscreenElement","setFullscreen","toggleFullscreen","onFullscreenChange","throttle","intersection","deps","prevState","nextState","setState","useInsertionEffect","onNewState","models","onNewStateThrottled","threshold","triggeredRef","onScroll","scrollHeight","standalone","matchMedia","matches","NaN","createTorrentTimeout","parsed","stringWithPrefix","prefix","charAt","withType","partialKey","translatedName","translatedType","ReactDOM","createPortal","ModalsContainerContext","ModalsContainerProvider","Route","RouteFocusedContext","RouteFocusedProvider","routeConfigForPath","urlParamsForPath","views","setViews","urlParams","routeViewIndex","vc","routeIndex","rc","view","exact","RegExp","Addon","installed","onToggle","onConfigure","onShare","toggleButtonOnClick","configureButtonOnClick","shareButtonOnClick","p2p","useInstalledAddons","useRemoteAddons","useAddonDetailsTransportUrl","useSelectableInputs","installedAddons","remoteAddons","addonDetailsTransportUrl","setAddonDetailsTransportUrl","selectInputs","filtersModalOpen","openFiltersModal","closeFiltersModal","addAddonModalOpen","openAddAddonModal","closeAddAddonModal","addAddonUrlInputRef","addAddonOnSubmit","addAddonModalButtons","setSearch","searchInputOnChange","sharedAddon","setSharedAddon","clearSharedAddon","onAddonShare","onAddonToggle","onAddonConfigure","closeAddonDetails","searchFilterPredicate","selectInput","selectable","catalogId","setTransportUrl","nextQueryParams","base","resource","selectableInputs","catalogSelect","catalogs","selectableCatalog","typeSelect","mapSelectableInputs","useBoard","useContinueWatchingPreview","continueWatchingPreview","loadBoardRows","boardCatalogsOffset","scrollContainerRef","onVisibleRangeChange","range","loadRange","useDiscover","loadNextPage","hasNextPage","inputsModalOpen","openInputsModal","closeInputsModal","addonModalOpen","openAddonModal","closeAddonModal","selectedMetaItemIndex","setSelectedMetaItemIndex","metasContainerRef","selectedMetaItem","addToLibrary","removeFromLibrary","metaItemsOnFocusCapture","onScrollToBottom","onFocusCapture","metaItem","playname","extraSelects","nextPage","ConsentCheckbox","checkboxOnClick","togglePrevented","linkOnClick","CredentialsTextInput","navigationPrevented","spatialNavigationPrevented","navigate","PasswordResetModal","useFacebookLogin","SIGNUP_FORM","LOGIN_FORM","startFacebookLogin","stopFacebookLogin","emailRef","passwordRef","confirmPasswordRef","termsRef","privacyPolicyRef","marketingRef","errorRef","passwordRestModalOpen","openPasswordRestModal","closePasswordResetModal","loaderModalOpen","openLoaderModal","closeLoaderModal","form","password","confirmPassword","termsAccepted","privacyPolicyAccepted","marketingAccepted","loginWithFacebook","facebook","cancelLoginWithFacebook","loginWithEmail","validity","valid","loginAsGuest","signup","gdpr_consent","tos","privacy","marketing","emailOnChange","emailOnSubmit","passwordOnChange","passwordOnSubmit","confirmPasswordOnChange","confirmPasswordOnSubmit","toggleTermsAccepted","togglePrivacyPolicyAccepted","toggleMarketingAccepted","switchFormOnClick","scrollIntoView","setError","goToPasswordReset","passwordResetModalButtons","useLibrary","sortChips","page","libItem","LibraryFallback","withModel","sorts","StreamsList","VideosList","useMetaDetails","useSeason","useMetaExtensionTabs","metaDetails","setSeason","metaExtensions","metaExtension","clearMetaExtension","metaPath","streamPath","videos","toggleNotifications","libraryItem","noNotif","seasonOnSelect","renderBackgroundImageFallback","overview","sandbox","StreamPlaceholder","Stream","videoReleased","addonName","thumbnail","popupLabelOnMouseUp","ctrlKey","popupLabelOnContextMenu","popupLabelOnLongPress","pointerType","popupMenuOnPointerDown","popupMenuOnContextMenu","popupMenuOnKeyDown","externalPlayer","web","openPlayer","playlist","download","fileName","streamLink","markVideoAsWatched","playerType","copyStreamLink","writeText","renderThumbnailFallback","onPointerDown","onContextMenu","streaming","ios","android","windows","macos","linux","ALL_ADDONS_KEY","selectedAddon","setSelectedAddon","onAddonSelected","countLoadingAddons","streamsByAddon","filteredStreams","values","flat","selectableOptions","SeasonsBarPlaceholder","SeasonsBar","seasons","selectedSeason","seasonIndex","valueIndex","prevDisabled","nextDisabled","selectedOption","VideoPlaceholder","upcoming","scheduled","toggleWatchedOnClick","videoButtonOnClick","toLocaleString","year","month","day","showNotificationsToggle","MAX_SAFE_INTEGER","nonSpecialSeasons","videosForSeason","guessStream","extension","setSelected","BufferingLoader","SeekBar","VolumeSlider","ControlBar","nextVideo","statistics","onPlayRequested","onPauseRequested","onNextVideoRequested","onMuteRequested","onUnmuteRequested","onVolumeChangeRequested","onSeekRequested","onToggleSubtitlesMenu","onToggleInfoMenu","onToggleSpeedMenu","onToggleVideosMenu","onToggleOptionsMenu","onToggleStatisticsMenu","chromecastServiceActive","setChromecastServiceActive","buttonsMenuOpen","toogleButtonsMenu","onSubtitlesButtonMouseDown","subtitlesMenuClosePrevented","onInfoButtonMouseDown","infoMenuClosePrevented","onSpeedButtonMouseDown","speedMenuClosePrevented","onVideosButtonMouseDown","videosMenuClosePrevented","onOptionsButtonMouseDown","optionsMenuClosePrevented","onStatisticsButtonMouseDown","statisticsMenuClosePrevented","onPlayPauseButtonClick","onNextVideoButtonClick","onMuteButtonClick","onChromecastButtonClick","requestSession","onStateChanged","formatTime","seekTime","setSeekTime","remainingTimeMode","toggleRemainingTimeMode","resetTimeDebounced","formatUnit","hours","minutes","seconds","slidingVolume","setSlidingVolume","resetVolumeDebounced","InfoMenu","NextVideoPopup","onDismiss","watchNowButtonRef","animationEnded","setAnimationEnded","videoName","onAnimationEnd","onDismissButtonClick","onWatchNowButtonClick","Option","deviceId","onButtonClick","OptionsMenu","playbackDevices","streamingUrl","downloadUrl","externalDevices","onCopyStreamButtonClick","onDownloadVideoButtonClick","onExternalDeviceRequested","langs","VolumeChangeIndicator","StatisticsMenu","VideosMenu","SubtitlesMenu","SpeedMenu","usePlayer","useSettings","useStatistics","useVideo","videoParamsChanged","timeChanged","seek","pausedChanged","ended","updateSettings","seeking","setSeeking","casting","setCasting","immersed","setImmersed","setImmersedDebounced","optionsMenuOpen","closeOptionsMenu","toggleOptionsMenu","subtitlesMenuOpen","closeSubtitlesMenu","toggleSubtitlesMenu","infoMenuOpen","closeInfoMenu","toggleInfoMenu","speedMenuOpen","closeSpeedMenu","toggleSpeedMenu","videosMenuOpen","closeVideosMenu","toggleVideosMenu","statisticsMenuOpen","closeStatisticsMenu","toggleStatisticsMenu","nextVideoPopupOpen","openNextVideoPopup","closeNextVideoPopup","menusOpen","closeMenus","overlayHidden","nextVideoPopupDismissed","defaultSubtitlesSelected","defaultAudioTrackSelected","onImplementationChanged","onEnded","onSubtitlesTrackLoaded","onExtraSubtitlesTrackLoaded","onPlayRequestedDebounced","onPauseRequestedDebounced","onPlaybackSpeedChanged","onSubtitlesTrackSelected","onExtraSubtitlesTrackSelected","onAudioTrackSelected","onExtraSubtitlesDelayChanged","onSubtitlesSizeChanged","onSubtitlesOffsetChanged","onDismissNextVideoPopup","onVideoClick","onVideoDoubleClick","onContainerMouseDown","onContainerMouseMove","immersePrevented","onContainerMouseLeave","onBarMouseMove","unload","metaRequest","streamRequest","video_id","timeOffset","surroundSound","baseUrl","addExtraSubtitlesTracks","bingeWatching","nextVideoNotificationDuration","findTrackByLang","where","subtitlesTrack","subtitlesLanguage","extraSubtitlesTrack","audioLanguage","toastFilter","onCastStateChange","onChromecastServiceStateChange","CastContextEventType","CAST_STATE_CHANGED","seekDuration","seekShortTimeDuration","seekTimeDuration","onKeyUp","onWheel","deltaY","onMouseOver","onExtraSubtitlesOffsetChanged","onExtraSubtitlesSizeChanged","streamTransportUrl","metaTransportUrl","OptionButton","RATES","reverse","onOptionSelect","peers","completed","DiscreteSelectInput","buttonOnClick","ORIGIN_PRIORITIES","LANGUAGE_PRIORITIES","subtitlesLanguages","selectedSubtitlesLanguage","subtitlesTracksForLanguage","subtitlesLanguageOnClick","subtitlesTrackOnClick","onSubtitlesDelayChanged","delta","extraDelay","sizeIndex","extraSizeIndex","extraSize","audioTrackOnClick","volumeIndicatorOpen","openVolumeIndicator","closeVolumeIndicator","volumeChangeTimeout","prevVolume","iconName","subtitlesPath","downloadSpeed","streamProgress","getStatistics","interval","useSearch","loadSearchRows","reduceRight","SearchFallback","useProfileSettingsInputs","useStreamingServerSettingsInputs","useDataExport","GENERAL_SECTION","PLAYER_SECTION","STREAMING_SECTION","SHORTCUTS_SECTION","dataExport","loadDataExport","interfaceLanguageSelect","subtitlesLanguageSelect","subtitlesSizeSelect","subtitlesTextColorInput","subtitlesBackgroundColorInput","subtitlesOutlineColorInput","audioLanguageSelect","surroundSoundCheckbox","seekTimeDurationSelect","seekShortTimeDurationSelect","escExitFullscreenCheckbox","playInExternalPlayerSelect","nextVideoPopupDurationSelect","bingeWatchingCheckbox","playInBackgroundCheckbox","hardwareDecodingCheckbox","streamingServerUrlInput","streamingServerRemoteUrlInput","remoteEndpointSelect","cacheSizeSelect","torrentProfileSelect","transcodingProfileSelect","configureServerUrlModalOpen","openConfigureServerUrlModal","closeConfigureServerUrlModal","configureServerUrlInputRef","configureServerUrlOnSubmit","traktAuthStarted","setTraktAuthStarted","isTraktAuthenticated","trakt","created_at","expires_in","configureServerUrlModalButtons","toggleTraktOnClick","subscribeCalendarOnClick","exportDataOnClick","reloadStreamingServer","onCopyRemoteUrlClick","remoteUrl","sectionsContainerRef","generalSectionRef","playerSectionRef","streamingServerSectionRef","shortcutsSectionRef","sections","selectedSectionId","setSelectedSectionId","updateSelectedSectionId","sideMenuButtonOnClick","section","sectionsContainerOnScroll","exportUrl","serverVersion","codes","escExitFullscreen","playInBackground","hardwareDecoding","CACHE_SIZES","cacheSizeToString","ceil","EPSILON","TORRENT_PROFILES","btDownloadSpeedHardLimit","btDownloadSpeedSoftLimit","btHandshakeTimeout","btMaxConnections","btMinPeersForStable","btRequestTimeout","soft","fast","networkInfo","availableInterfaces","address","remoteHttps","cacheSize","selectedTorrentProfile","isCustomTorrentProfileSelected","torrentProfile","profileName","deviceInfo","availableHardwareAccelerations","transcodeProfile","ChromecastTransport","starting","onTransportInit","onTransportInitError","cause","defineProperties","MESSAGE_NAMESPACE","CHUNK_SIZE","castAPIAvailable","castAPIEvents","available","messages","chunk","parsedMessage","onApplicationStatusChanged","CastSession","APPLICATION_STATUS_CHANGED","onApplicationMetadataChanged","APPLICATION_METADATA_CHANGED","onActiveInputStateChanged","ACTIVE_INPUT_STATE_CHANGED","onVolumeChanged","VOLUME_CHANGED","onMediaSessionChanged","MEDIA_SESSION","onCastStateChanged","onSesstionStateChanged","SESSION_STATE_CHANGED","sessionState","SessionState","SESSION_STARTED","session","addMessageListener","SESSION_ENDED","removeMessageListener","onCastAPIAvailabilityChanged","CastContext","getInstance","getSessionState","getCurrentSession","endCurrentSession","stopCasting","castSession","serializedMessage","chunksCount","chunks","CoreTransport","onTransportError","Bridge","worker","Worker","bridge","field","getDebugState","onDragOver","onDrop","dataTransfer","files","FileList","arrayBuffer","Uint8Array","keyboardShortcutPrevented","tagName","altKey","metaKey","forward","ServicesContext","ShellTransport","shellAvailable","shellEvents","QtMsgTypes","QtObjId","initShellComm","onShellAvailabilityChanged","webChannelTransport","msg","onmessage","properties","shellVersionArr","signals","sig","signal","onEvent","methods","ev","byteLength","b64","lens","getLens","validLen","placeHoldersLen","toByteArray","tmp","Arr","_byteLength","curByte","revLookup","charCodeAt","fromByteArray","uint8","extraBytes","parts","maxChunkLength","len2","encodeChunk","lookup","num","output","parseRange","acc","cur","idx","generateRange","compose","getFirstMatch","getSecondMatch","matchAndReturnConst","getWindowsVersionName","getMacOSVersionName","getAndroidVersionName","getVersionPrecision","compareVersions","getBrowserAlias","BROWSER_ALIASES_MAP","getBrowserTypeByAlias","BROWSER_MAP","ENGINE_MAP","OS_MAP","PLATFORMS_MAP","Bada","BlackBerry","Chrome","Chromium","Electron","Epiphany","Firefox","Focus","Generic","Googlebot","Maxthon","Opera","PhantomJS","Puffin","QupZilla","QQ","QQLite","Safari","Sailfish","SeaMonkey","Sleipnir","Swing","Tizen","Vivaldi","WeChat","Roku","amazon_silk","bada","blackberry","chromium","electron","epiphany","firefox","generic","googlebot","google_search","ie","k_meleon","maxthon","edge","mz","naver","opera","opera_coast","phantomjs","puffin","qupzilla","qq","qqlite","safari","sailfish","samsung_internet","seamonkey","sleipnir","swing","uc","vivaldi","webos","wechat","yandex","tablet","mobile","desktop","WindowsPhone","Windows","MacOS","iOS","Android","WebOS","Linux","ChromeOS","PlayStation4","EdgeHTML","Blink","Trident","Presto","Gecko","WebKit","getParser","getResult","_ua","parsedResult","getUA","parseBrowser","browser","describe","getBrowser","getBrowserName","getBrowserVersion","getOS","os","parseOS","getOSName","getOSVersion","getPlatform","parsePlatform","getPlatformType","getEngine","engine","parseEngine","getEngineName","satisfies","isOS","isPlatform","isBrowser","compareVersion","substr","isEngine","is","versionName","vendor","base64","ieee754","customInspectSymbol","Buffer","SlowBuffer","alloc","INSPECT_MAX_BYTES","K_MAX_LENGTH","createBuffer","RangeError","buf","setPrototypeOf","arg","encodingOrOffset","allocUnsafe","encoding","isEncoding","actual","write","fromString","ArrayBuffer","isView","arrayView","isInstance","copy","fromArrayBuffer","buffer","byteOffset","fromArrayLike","fromArrayView","SharedArrayBuffer","valueOf","isBuffer","numberIsNaN","fromObject","toPrimitive","assertSize","mustMatch","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","bidirectionalIndexOf","val","dir","arrayIndexOf","lastIndexOf","indexSize","arrLength","valLength","readUInt16BE","foundIndex","found","hexWrite","remaining","strLen","utf8Write","blitBuffer","asciiWrite","str","byteArray","asciiToBytes","base64Write","ucs2Write","units","hi","lo","utf16leToBytes","res","firstByte","codePoint","bytesPerSequence","secondByte","thirdByte","fourthByte","tempCodePoint","codePoints","MAX_ARGUMENTS_LENGTH","fromCharCode","decodeCodePointsArray","kMaxLength","TYPED_ARRAY_SUPPORT","proto","foo","typedArraySupport","poolSize","allocUnsafeSlow","_isBuffer","compare","list","pos","swap16","swap32","swap64","equals","inspect","thisStart","thisEnd","thisCopy","targetCopy","toJSON","ret","out","hexSliceLookupTable","bytes","checkOffset","ext","checkInt","wrtBigUInt64LE","checkIntBI","BigInt","wrtBigUInt64BE","checkIEEE754","writeFloat","littleEndian","noAssert","writeDouble","newBuf","subarray","readUintLE","readUIntLE","mul","readUintBE","readUIntBE","readUint8","readUInt8","readUint16LE","readUInt16LE","readUint16BE","readUint32LE","readUInt32LE","readUint32BE","readUInt32BE","readBigUInt64LE","defineBigIntMethod","validateNumber","first","last","boundsError","readBigUInt64BE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readBigInt64LE","readBigInt64BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUintLE","writeUIntLE","writeUintBE","writeUIntBE","writeUint8","writeUInt8","writeUint16LE","writeUInt16LE","writeUint16BE","writeUInt16BE","writeUint32LE","writeUInt32LE","writeUint32BE","writeUInt32BE","writeBigUInt64LE","writeBigUInt64BE","writeIntLE","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeBigInt64LE","writeBigInt64BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","copyWithin","sym","getMessage","Base","super","stack","addNumericalSeparator","ERR_OUT_OF_RANGE","checkBounds","ERR_INVALID_ARG_TYPE","ERR_BUFFER_OUT_OF_BOUNDS","input","received","isInteger","abs","INVALID_BASE64_RE","leadSurrogate","base64clean","dst","alphabet","table","i16","fn","BufferBigIntNotDefined","hasOwn","classes","argType","inner","colorNames","swizzle","reverseNames","cs","to","clamp","hexDouble","hwb","hexAlpha","i2","alpha","percent","hwba","keyword","colorString","skippedModels","hashedModelKeys","labels","limiters","valpha","newArray","zeroArray","hashedKeys","places","percentString","unitArray","unitObject","roundToPlace","getset","maxfn","hue","saturationl","lightness","saturationv","chroma","wblack","z","hexa","rgbArray","alphaHex","rgbNumber","luminosity","lum","chan","contrast","color2","lum1","lum2","level","contrastRatio","isDark","isLight","negate","lighten","ratio","darken","saturate","desaturate","whiten","blacken","grayscale","fade","opaquer","rotate","degrees","mix","mixinColor","weight","color1","w1","w2","raw","roundTo","modifier","cssKeywords","reverseKeywords","hsv","cmyk","xyz","lab","lch","ansi16","ansi256","hcg","apple","rdif","gdif","bdif","diff","diffc","reversed","currentClosestKeyword","currentClosestDistance","distance","t3","smin","lmin","q","vmin","sl","wh","bl","y2","x2","z2","atan2","PI","sqrt","hr","cos","sin","saturation","ansi","mult","rem","char","integer","pure","mg","conversions","fromModel","toModel","wrappedFn","arg0","conversion","wrapRounded","wrapRaw","deriveBFS","graph","buildGraph","queue","adjacents","adjacent","unshift","wrapConversion","getOwnPropertyNames","isFrozen","EE","context","once","addListener","emitter","evt","_events","_eventsCount","clearEvent","__proto__","eventNames","names","ee","listenerCount","a1","a2","a3","a4","a5","removeListener","prefixed","domProps","isValidDOMProp","_htmlAttributes","_htmlAttributes2","eventProps","onCopy","onCut","onPaste","onLoad","onCompositionEnd","onCompositionStart","onCompositionUpdate","onKeyPress","onFocus","onDrag","onDragEnd","onDragEnter","onDragExit","onDragLeave","onDragStart","onMouseOut","onTouchCancel","onTouchEnd","onTouchMove","onTouchStart","onAnimationStart","onAnimationIteration","bits","digits","rack","expandBy","iters","hats","__HLS_WORKER_BUNDLE__","__IN_WORKER__","ownKeys","getOwnPropertyDescriptor","_objectSpread2","_defineProperty","getOwnPropertyDescriptors","_toPrimitive","_toPropertyKey","_createClass","_extends","_inheritsLoose","subClass","superClass","_setPrototypeOf","_getPrototypeOf","getPrototypeOf","_isNativeReflectConstruct","Reflect","construct","sham","Proxy","Boolean","_construct","Parent","Class","Function","_isNativeFunction","_wrapNativeSuper","_cache","Wrapper","_assertThisInitialized","ReferenceError","_unsupportedIterableToArray","_arrayLikeToArray","_createForOfIteratorHelperLoose","allowArrayLike","it","getDefaultExportFromCjs","urlToolkit","URL_REGEX","FIRST_SEGMENT_REGEX","SLASH_DOT_REGEX","SLASH_DOT_DOT_REGEX","URLToolkit","buildAbsoluteURL","baseURL","relativeURL","opts","alwaysNormalize","basePartsForNormalise","parseURL","normalizePath","buildURLFromParts","relativeParts","scheme","baseParts","netLoc","pathParts","builtParts","fragment","baseURLPath","newPath","urlToolkitExports","isFiniteNumber","isSafeInteger","ErrorTypes","ErrorDetails","noop","fakeLogger","trace","info","exportedLogger","consolePrintFn","exportLoggerFunctions","debugConfig","_len","functions","_key","enableLogs","logger","DECIMAL_RESOLUTION_REGEX","ATTR_LIST_REGEX","AttrList","attrs","parseAttrList","_proto","decimalInteger","attrName","intValue","hexadecimalInteger","stringValue","hexadecimalIntegerAsNumber","decimalFloatingPoint","optionalFloat","enumeratedString","decimalResolution","quote","lastIndex","attr","isDateRangeCueAttribute","isSCTE35Attribute","DateRange","dateRangeAttr","dateRangeWithSameId","_startDate","_endDate","_badValueForSameId","previousAttr","ID","endDate","CLASS","startDate","endOnNext","class","LoadStats","aborted","retry","total","chunkCount","bwEstimate","parsing","ElementaryStreamTypes","AUDIO","VIDEO","AUDIOVIDEO","BaseSegment","baseurl","_this$elementaryStrea","_byteRange","_url","relurl","elementaryStreams","setByteRange","previous","byteRangeEndOffset","byteRange","_BaseSegment","_this","_decryptdata","rawProgramDateTime","programDateTime","tagList","sn","levelkeys","loader","keyLoader","cc","startPTS","endPTS","startDTS","endDTS","deltaPTS","maxStartPTS","minEndPTS","stats","bitrateTest","initSegment","endList","gap","urlId","_proto2","setKeyFormat","keyFormat","getDecryptData","abortRequests","_this$loader","_this$keyLoader","abort","setElementaryStreamInfo","partial","clearElementaryStreamInfo","NONE","_key2","identity","keyFormats","_this$_decryptdata","encrypted","Part","_BaseSegment2","partAttrs","frag","_this2","fragOffset","independent","audiovideo","DEFAULT_TARGET_DURATION","LevelDetails","PTSKnown","alignedSliding","averagetargetduration","endCC","endSN","fragments","fragmentHint","partList","dateRanges","live","ageHeader","advancedDateTime","updated","advanced","availabilityDelay","misses","startCC","startSN","startTimeOffset","targetduration","totalduration","m3u8","canBlockReload","canSkipUntil","canSkipDateRanges","skippedSegments","recentlyRemovedDateranges","partHoldBack","holdBack","partTarget","preloadHint","renditionReports","tuneInGoal","deltaUpdateFailed","driftStartTime","driftEndTime","driftStart","driftEnd","encryptedFragments","playlistParsingError","variableList","hasVariableRefs","reloaded","partSnDiff","lastPartSn","partIndexDiff","lastPartIndex","runTime","partEnd","fragmentEnd","_this$partList","_this$fragments","_this$partList2","_this$partList3","base64Decode","base64encodedStr","atob","getKeyIdBytes","keyIdbytes","strToUtf8array","paddedkeyIdbytes","changeEndianness","keyId","convertDataUriToArrayBytes","uri","colonsplit","keydata","semicolonsplit","commasplit","isbase64","optionalSelf","KeySystems","CLEARKEY","FAIRPLAY","PLAYREADY","WIDEVINE","KeySystemFormats","keySystemFormatToKeySystemDomain","KeySystemIds","keySystemIdToKeySystemDomain","systemId","keySystemDomainToKeySystemFormat","keySystem","getKeySystemsForConfig","drmSystems","widevineLicenseUrl","keySystemsToAttempt","_optionalSelf$navigat","requestMediaKeySystemAccess","getSupportedMediaKeySystemConfigurations","drmSystemOptions","initDataTypes","createMediaKeySystemConfigurations","persistentState","distinctiveIdentifier","sessionTypes","sessionType","audioCapabilities","robustness","audioRobustness","encryptionScheme","audioEncryptionScheme","videoCapabilities","videoRobustness","videoEncryptionScheme","sliceUint8","decoder","isHeader$2","isFooter","getID3Data","front","readSize","canParse$2","getTimeStamp","frames","getID3Frames","frame","isTimeStampFrame","readTimeStamp","getFrameData","id3Data","frameData","decodeFrame","decodePrivFrame","decodeURLFrame","decodeTextFrame","owner","utf8ArrayToStr","privateData","timeStampFrame","pts33Bit","timestamp","exitOnNull","getTextDecoder","decoded","char2","char3","TextDecoder","Hex","hexDump","UINT32_MAX$1","RemuxerTrackIdConfig","id3","bin2str","readUint16","readUint32","readSint32","readUint64","writeUint32","hasMoofData","findBox","endbox","subresults","parseSegmentIndex","sidx","references","timescale","earliestPresentationTime","firstOffset","startByte","referencesCount","referenceIndex","referenceInfo","referenceSize","subsegmentDuration","parseInitSegment","traks","trak","tkhd","trackId","mdhd","hdlr","hdlrType","soun","vide","stsdData","parseStsd","trex","stsd","sampleEntries","sampleEntriesEnd","fourCC","encBox","sinf","schm","frma","avcCBox","toHex","codecBox","esdsBox","skipBERInteger","objectType","audioObjectType","hvcCBox","profileByte","profileSpace","generalProfileIdc","profileCompat","tierFlag","levelIDC","constraintIndicator","constraintString","_byte","dvcCBox","addLeadingZero","vpcCBox","_profile","_level","bitDepth","av1CBox","_profile2","_level2","_tierFlag","highBitDepth","twelveBit","_bitDepth","monochrome","chromaSubsamplingX","chromaSubsamplingY","chromaSamplePosition","colorPrimaries","transferCharacteristics","matrixCoefficients","videoFullRangeFlag","patchEncyptionData","decryptdata","isCommonEncryption","encBoxes","isAudio","enc","tenc","parseSinf","tencKeyId","getStartDTS","initData","fmp4","traf","tfdt","tfhd","baseTime","sidxMinStart","sidxMaxEnd","sidxDuration","sidxs","subSegmentDuration","dur","rawDuration","videoDuration","audioDuration","trafs","_i2","trackDefault","tfhdFlags","sampleDuration","truns","computeRawDurationFromSamples","trun","sampleCount","offsetStartDTS","baseMediaDecodeTime","upper","lower","segmentValidRange","segmentedRange","remainder","moofs","appendUint8Array","data1","data2","temp","parseSamples","seiSamples","videoData","samples","isHEVCFlavor","moof","moofOffset","defaultSampleDuration","defaultSampleSizePresent","defaultSampleSize","defaultSampleFlagsPresent","tfhdOffset","isHEVC","dataOffsetPresent","dataOffset","firstSampleFlagsPresent","sampleDurationPresent","sampleSizePresent","sampleSize","sampleFlagsPresent","sampleCompositionOffsetsPresent","compositionOffset","trunOffset","sampleOffset","ix","naluTotalSize","naluSize","isSEIMessage","parseSEIMessageFromNALu","delimit","baseCodec","naluHeader","naluType","unescapedData","headerSize","pts","discardEPB","seiPtr","payloadType","payloadSize","leftOver","payPtr","providerCode","userStructure","userDataType","totalBytes","uuidStrArray","_i3","_b","userDataBytes","_i4","uuid","userData","EPBPositions","newLength","newData","sourceIndex","parseEmsg","schemeIdUri","timeScale","presentationTimeDelta","presentationTime","eventDuration","leftPresentationTime","rightPresentationTime","payload","mp4Box","mp4pssh","keyids","kids","kidCount","DataView","setUint32","dataSize","parsePssh","boxSize","getUint32","dataSizeOrKidCount","keyUriToKeyIdMap","LevelKey","formatversions","iv","keyFormatVersions","pssh","clearKeyUriToKeyIdMap","createInitializationVector","keyBytes","PlayReadyKeySystemUUID","keyBytesUtf16","Uint16Array","keyByteStr","xmlKeyBytes","keyData","DOMParser","parseFromString","getElementsByTagName","nodeValue","keyIdArray","padded","_keyId","segmentNumber","uint8View","VARIABLE_REPLACEMENT_REGEX","hasVariableReferences","substituteVariablesInAttributes","attributeNames","substituteVariables","variableReference","variableName","variableValue","addVariableDefinition","parentUrl","NAME","VALUE","QUERYPARAM","importVariableDefinition","sourceVariableList","IMPORT","getMediaSource","preferManagedMediaSource","MediaSource","ManagedMediaSource","WebKitMediaSource","sampleEntryCodesISO","a3ds","alac","alaw","dra1","dtsc","dtse","dtsh","enca","fLaC","flac","FLAC","g719","g726","m4ae","mha1","mha2","mhm1","mhm2","mlpa","mp4a","Opus","opus","samr","sawb","sawp","sevc","sqcp","ssmv","twos","ulaw","avc1","avc2","avc3","avc4","avcp","av01","drac","dva1","dvav","dvh1","dvhe","encv","hev1","hvc1","mjp2","mp4v","mvc1","mvc2","mvc3","mvc4","resv","rv60","s263","svc1","svc2","vp08","vp09","stpp","wvtt","isCodecType","typeCodes","areCodecsMediaSourceSupported","codecs","isCodecMediaSourceSupported","_MediaSource$isTypeSu","isTypeSupported","mimeTypeForCodec","videoCodecPreferenceValue","codecsSetSelectionPreferenceValue","codecSet","preferenceValue","CODEC_COMPATIBLE_NAMES","getCodecCompatibleNameLower","lowerCaseCodec","codecsToCheck","AUDIO_CODEC_REGEXP","getCodecCompatibleName","pickMostCompleteCodecName","parsedCodec","levelCodec","convertAVC1ToAVCOTI","avcdata","MASTER_PLAYLIST_REGEX","MASTER_PLAYLIST_MEDIA_REGEX","IS_MEDIA_PLAYLIST","LEVEL_PLAYLIST_REGEX_FAST","LEVEL_PLAYLIST_REGEX_SLOW","M3U8Parser","findGroup","groups","mediaGroupId","group","isMediaPlaylist","parseMasterPlaylist","contentSteering","levels","sessionData","sessionKeys","levelsWithKnownCodecs","_level$unknownCodecs","bitrate","resolution","setCodecs","CODECS","unknownCodecs","tag","attributes","sessionAttrs","dataId","sessionKey","parseKey","variableAttributes","contentSteeringAttributes","pathwayId","parseStartTimeOffset","stripUnknownCodecLevels","parseMasterPlaylistMedia","groupsByType","SUBTITLES","textCodec","TYPE","medias","LANGUAGE","assocLang","CHANNELS","characteristics","CHARACTERISTICS","instreamId","media","groupId","autoselect","forced","URI","groupCodec","assignCodec","parseLevelPlaylist","levelUrlId","multivariantVariableList","currentInitSegment","currentSN","currentPart","discontinuityCounter","prevFrag","firstPdtIndex","createNextFrag","nextByteRange","setFragLevelKeys","assignProgramDateTime","value1","value2","skipAttrs","clientAttrs","dateRange","isValid","levelKey","mapAttrs","init","setInitSegment","byteRangeStartOffset","serverControlAttrs","partInfAttrs","previousFragmentPart","part","preloadHintAttrs","renditionReportAttrs","fragmentLength","firstFragment","lastFragment","lastSn","backfillProgramDateTimes","keyTagAttributes","_keyAttrs$METHOD","_keyAttrs$KEYFORMAT","keyAttrs","decryptmethod","METHOD","decrypturi","decryptiv","decryptkeyformatversions","KEYFORMATVERSIONS","decryptkeyformat","KEYFORMAT","IV","resolvedUri","startAttributes","codecsAttributeValue","filtered","groupItem","codecProperty","codecValue","fragPrev","endProgramDateTime","BYTERANGE","PlaylistContextType","MANIFEST","LEVEL","AUDIO_TRACK","SUBTITLE_TRACK","PlaylistLevelType","MAIN","SUBTITLE","mapContextToLevelType","getResponseUrl","PlaylistLoader","loaders","registerListeners","startLoad","startPosition","stopLoad","destroyInternalLoaders","MANIFEST_LOADING","onManifestLoading","LEVEL_LOADING","onLevelLoading","AUDIO_TRACK_LOADING","onAudioTrackLoading","SUBTITLE_TRACK_LOADING","onSubtitleTrackLoading","unregisterListeners","createInternalLoader","PLoader","pLoader","Loader","getInternalLoader","resetInternalLoader","contextType","responseType","deliveryDirectives","_context$deliveryDire","loadPolicy","levelDetails","loaderContext","manifestLoadPolicy","playlistLoadPolicy","details","subtitleTracks","targetDuration","maxLowLatencyPlaylistRefresh","legacyRetryCompatibility","loaderConfig","maxRetry","retryDelay","maxRetryDelay","loaderCallbacks","networkDetails","performance","handleTrackOrLevelPlaylist","handleMasterPlaylist","handleManifestParsingError","handleNetworkError","onTimeout","_M3U8Parser$parseMast","_M3U8Parser$parseMast2","captions","trigger","MANIFEST_LOADED","levelId","levelType","singleLevel","handlePlaylistLoaded","NETWORK_ERROR","MANIFEST_PARSING_ERROR","fatal","UNKNOWN","MANIFEST_LOAD_TIMEOUT","MANIFEST_LOAD_ERROR","LEVEL_LOAD_TIMEOUT","LEVEL_LOAD_ERROR","AUDIO_TRACK_LOAD_TIMEOUT","AUDIO_TRACK_LOAD_ERROR","SUBTITLE_TRACK_LOAD_TIMEOUT","SUBTITLE_LOAD_ERROR","errorData","levelIndex","LEVEL_PARSING_ERROR","getCacheAge","LEVEL_LOADED","AUDIO_TRACK_LOADED","SUBTITLE_TRACK_LOADED","_error","LEVEL_EMPTY_ERROR","sendAddTrackEvent","videoEl","Event","createEvent","initEvent","dispatchEvent","addCueToTrack","getCueById","addCue","textTrackCue","TextTrackCue","err2","clearCurrentCues","removeCue","removeCuesInRange","predicate","getCuesInRange","getFirstCueIndexAfterTime","mid","cuesFound","firstCueInRange","_cue","filterSubtitleTracks","textTrackList","kind","MetadataSchema","audioId3","emsg","MIN_CUE_DURATION","getCueClass","VTTCue","createCueWithDataFields","Cue","MAX_CUE_ENDTIME","POSITIVE_INFINITY","MAX_VALUE","dateRangeDateToTimelineSeconds","date","hexToArrayBuffer","ID3TrackController","id3Track","dateRangeCuesAppended","_registerListeners","_unregisterListeners","MEDIA_ATTACHED","onMediaAttached","MEDIA_DETACHING","onMediaDetaching","FRAG_PARSING_METADATA","onFragParsingMetadata","BUFFER_FLUSHING","onBufferFlushing","LEVEL_UPDATED","onLevelUpdated","createTrack","getID3Track","addTextTrack","_this$hls$config","enableEmsgMetadataCues","enableID3MetadataCues","updateId3CueEnds","_this$id3Track","startOffset","endOffset","_hls$config","hasProgramDateTime","enableDateRangeMetadataCues","ids","idsToRemove","_loop","dateTimeOffset","_loop2","appendedDateRangeCues","durationKnown","nextDateRangeWithSameClass","candidateDateRange","otherDateRange","LatencyController","stallCount","_latency","timeupdateHandler","timeupdate","_this$levelDetails","BUFFER_STALLED_ERROR","latency","computeLatency","_this$config","maxLiveSyncPlaybackRate","targetLatency","distanceFromTarget","maxLatency","forwardBufferLength","exp","edgeStalled","estimateLiveEdge","age","liveEdge","liveMaxLatencyDuration","liveMaxLatencyDurationCount","_this$config2","liveSyncDuration","liveSyncDurationCount","userConfig","maxLiveSyncOnStallIncrease","liveSyncOnStallIncrease","syncPosition","drift","maxLevelUpdateAge","bufferedRanges","HdcpLevels","isHdcpLevel","VideoRangeValues","isVideoRange","HlsSkip","No","Yes","v2","getSkipValue","msn","HlsUrlParameters","skip","addDirectives","Level","_attrs","frameRate","fragmentError","loadError","realBitrate","supportedPromise","supportedResult","_avgBitrate","_audioGroups","_subtitleGroups","_urlId","addGroupId","hasAudioGroup","hasGroup","hasSubtitleGroup","audioGroups","subtitleGroups","addFallback","audioGroupId","textGroupId","_this$audioGroups","_this$subtitleGroups","updateFromToPTS","fragFrom","fragTo","fragToPTS","updateFragPTSDTS","fragStartPts","fragEndPts","fragIdx","mergeDetails","oldDetails","newDetails","oldFragments","oldInit","PTSFrag","ccOffset","mapFragmentIntersection","oldFrag","newFrag","_currentInitSegment","mergeDateRanges","newFragments","mapPartIntersection","oldPart","newPart","adjustSliding","oldDateRanges","deltaDateRanges","oldParts","newParts","intersectionFn","_oldPart","_newPart","newFrags","oldFrags","_oldFrag","_newFrag","addSliding","computeReloadInterval","distanceToLiveEdgeMs","reloadInterval","liveEdgeMaxTargetDurations","lastSegmentDuration","getFragmentWithSN","fragCurrent","getPartWith","partIndex","_level$details","findPart","reassignFragmentLevelIndexes","isTimeoutError","FRAG_LOAD_TIMEOUT","KEY_LOAD_TIMEOUT","getRetryConfig","isTimeout","getRetryDelay","retryConfig","retryCount","backoffFactor","backoff","getLoaderConfigWithoutReties","loderConfig","shouldRetry","loaderResponse","httpStatus","retryForHttpStatus","onLine","BinarySearch","comparisonFn","minIndex","maxIndex","currentElement","comparisonResult","findFragmentByPDT","PDTValue","seg","pdtWithinToleranceTest","findFragmentByPTS","fragPrevious","bufferEnd","fragNext","bufferEdgeError","fragmentWithinToleranceTest","foundFragment","candidate","candidateLookupTolerance","pdtBufferEnd","findFragWithCC","NetworkErrorAction","DoNothing","SendEndCallback","SendAlternateToPenaltyBox","RemoveAlternatePermanently","InsertDiscontinuity","RetryRequest","ErrorActionFlags","None","MoveAllAlternatesMatchingHost","MoveAllAlternatesMatchingHDCP","SwitchToSDR","ErrorController","playlistError","penalizedRenditions","onErrorOut","getVariantLevelIndex","loadLevel","_data$frag","_data$level","FRAG_LOAD_ERROR","KEY_LOAD_ERROR","errorAction","getFragRetryOrSwitchAction","FRAG_PARSING_ERROR","FRAG_GAP","FRAG_DECRYPT_ERROR","_data$context","_data$context$levelDe","getPlaylistRetryOrSwitchAction","levelRetry","getLevelSwitchAction","KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED","restrictedHdcpLevel","hdcpLevel","keySystemError","BUFFER_ADD_CODEC_ERROR","REMUX_ALLOC_ERROR","BUFFER_APPEND_ERROR","INTERNAL_EXCEPTION","BUFFER_APPENDING_ERROR","BUFFER_FULL_ERROR","LEVEL_SWITCH_ERROR","BUFFER_SEEK_OVER_HOLE","BUFFER_NUDGE_ON_STALL","KEY_SYSTEM_ERROR","variantLevelIndex","keyLoadPolicy","fragmentErrors","_data$frag2","_data$context2","errorDetails","nextLevel","minAutoLevel","maxAutoLevel","autoLevelEnabled","_ret","fragErrorType","findAudioCodecAlternate","sourceBufferName","findVideoCodecAlternate","playlistErrorType","playlistErrorGroupId","_level$audioGroups","_level$subtitleGroups","levelCandidate","fragCandidate","nextAutoLevel","_data$errorAction","sendAlternateToPenaltyBox","resolved","recoverMediaError","switchLevel","maxHdcpLevel","nextLoadLevel","BasePlaylistController","logPrefix","requestScheduled","canLoad","clearTimer","loadPlaylist","switchParams","playlistUri","_attr","currentGoal","hlsUrlParameters","shouldLoadPlaylist","shouldReloadPlaylist","playlistLoaded","previousDetails","elapsed","endSn","lastPart","lastAdvanced","cdnAge","segments","getDeliveryDirectives","bufferInfo","mainForwardBufferInfo","estimatedTimeUntilUpdate","previousDeliveryDirectives","checkRetry","errorEvent","_ref$retryCount","_errorEvent$context","EWMA","halfLife","estimate","alpha_","estimate_","totalWeight_","sample","adjAlpha","getTotalWeight","getEstimate","zeroFactor","EwmaBandWidthEstimator","slow","defaultEstimate","defaultTTFB","defaultEstimate_","minWeight_","minDelayMs_","slow_","fast_","defaultTTFB_","ttfb_","durationMs","numBytes","durationS","bandwidthInBps","sampleTTFB","ttfb","canEstimate","getEstimateTTFB","SUPPORTED_INFO_DEFAULT","configurations","decodingInfoResults","powerEfficient","smooth","SUPPORTED_INFO_CACHE","requiresMediaCapabilitiesDecodingInfo","audioTracksByGroup","currentVideoRange","currentFrameRate","currentBw","audioPreference","audioCodecPreference","channelsPreference","maxChannels","audioChannels","audioTrackGroup","videoRange","getMediaDecodingInfoPromise","baseVideoConfiguration","averageBitrate","framerate","transferFunction","_audioTracksByGroup$g","channelsNumber","configuration","decodingInfoKey","getMediaDecodingInfoKey","decodingInfo","mediaConfig","spatialRendering","isHdrSupported","mediaQueryList","badQuery","getVideoSelectionOptions","videoPreference","preferHDR","allowedVideoRanges","getStartCodecTier","codecTiers","codecSets","preferStereo","hasStereo","hasCurrentVideoRange","minHeight","minFramerate","minBitrate","selectedScore","videoRanges","_getVideoSelectionOpt","tier","matchingVideoRanges","maxFramerate","candidateTier","logStartCodecCandidateIgnored","hasDefaultAudio","maxScore","codeSet","getAudioTracksByGroup","allAudioTracks","trackGroup","hasDefault","hasAutoSelect","channelsKey","hasAutoSelectAudio","getCodecTiers","tiers","SDR","lesserWidthOrHeight","score","audioGroup","findMatchingOption","matchPredicate","matchesOption","isDefault","characteristicsMatch","characteristicsA","characteristicsB","arrA","arrB","audioMatchPredicate","findClosestLevelWithAudioGroup","searchIndex","currentLevel","renditions","variantMap","currentVideoCodec","matchingVideo","searchDownAndUpList","AbrController","_hls","lastLevelLoadSec","lastLoadedFragLevel","firstSelection","_nextAutoLevel","nextAutoLevelKey","partCurrent","bitrateTestDelay","bwEstimator","_abandonRulesCheck","timeLoading","ttfbEstimate","bufferStarvationDelay","loadedFirstByte","getBwEstimate","expectedLen","timeStreaming","loadRate","fragLoadedDelay","bwe","fragLevelNextLoadedDelay","levelNextBitrate","maxBitrate","getTimeToLoadFrag","nextLoadLevelBitrate","abrBandWidthUpFactor","resetEstimator","FRAG_LOAD_EMERGENCY_ABORTED","initEstimator","abrEwmaDefaultEstimate","abrEwmaSlowVoD","abrEwmaFastVoD","FRAG_LOADING","onFragLoading","FRAG_LOADED","onFragLoaded","FRAG_BUFFERED","onFragBuffered","LEVEL_SWITCHING","onLevelSwitching","onLevelLoaded","LEVELS_UPDATED","onLevelsUpdated","MAX_AUTO_LEVEL_UPDATED","onMaxAutoLevelUpdated","_data$part","ignoreFragment","timeToFirstByteSec","bandwidth","fragSizeBits","isSwitch","timeLoadingMs","abrEwmaSlowLive","abrEwmaFastLive","abrMaxWithRealBitrate","loadedBytes","loadedDuration","fragBufferedData","processingMs","getAutoLevelKey","_this$hls$mainForward","getNextABRAutoLevel","currentFragDuration","avgbw","bwFactor","abrBandWidthFactor","bwUpFactor","_bestLevel","findBestLevel","maxStarvationDelay","maxLoadingDelay","bestLevel","minLevel","autoLevel","maxFetchDuration","selectionBaseLevel","firstLevel","_this$hls","currentCodecSet","startTier","ttfbEstimateSec","levelsSkipped","_levelInfo$supportedR","levelInfo","upSwitch","useMediaCapabilities","removeLevel","adjustedbw","fetchDuration","forcedAutoLevel","_this$hls2","maxStartDelay","abrAutoLevel","clamped","useEstimate","loadedFirstFrag","nextABRAutoLevel","firstAutoLevel","_this$hls3","TaskLoop","_boundTick","_tickTimer","_tickInterval","_tickCallCount","tick","onHandlerDestroying","onHandlerDestroyed","clearNextTick","hasInterval","hasNextTick","millis","doTick","tickImmediate","FragmentState","NOT_LOADED","APPENDING","PARTIAL","OK","FragmentTracker","activePartLists","endListFragments","timeRanges","bufferPadding","hasGaps","BUFFER_APPENDED","onBufferAppended","getAppendedFrag","activeParts","activePart","appendedPTS","getBufferedFrag","fragmentEntity","detectEvictedFragments","elementaryStream","timeRange","playlistType","appendedPart","appendedPartSn","esData","isNotBuffered","isTimeBuffered","removeFragment","detectPartialFragments","fragKey","getFragmentKey","isFragHint","streamInfo","getBufferedTimes","isPartial","removeParts","snToKeep","fragBuffered","getPartialFragment","timePadding","bestFragment","bestOverlap","isEndListAppended","lastFragmentEntity","_this3","hasFragment","hasParts","_this$activePartLists","removeFragmentsInRange","withGapOnly","unbufferedOnly","_this4","snToRemove","removeAllFragments","_fragmentEntity$range","_fragmentEntity$range2","_fragmentEntity$range3","noopBuffered","BufferHelper","isBuffered","getBuffered","maxHoleDuration","vbuffered","bufferedInfo","nextStart","buffered2","buf2len","buf2end","bufferStartNext","bufferLen","bufferStart","ChunkMetadata","transmuxing","getNewPerformanceTiming","executeStart","executeEnd","findFirstFragWithCC","_fragments$i","shouldAlignOnDiscontinuities","lastFrag","switchDetails","findDiscontinuousReferenceFrag","prevDetails","curDetails","prevFrags","curFrags","prevStartFrag","adjustFragmentStart","sliding","adjustSlidingStart","alignStream","alignDiscontinuities","alignMediaPlaylistByPDT","referenceFrag","refDetails","refFragments","refFrag","targetCC","refPDT","targetPDT","MIN_CHUNK_SIZE","FragmentLoader","partLoadTimeout","_onProgress","LoadError","FragmentILoader","fLoader","DefaultILoader","tags","createGapLoadError","createLoaderContext","highWaterMark","resetLoader","resetIV","onAbort","INTERNAL_ABORTED","onProgress","loadPart","updateStatsFromPart","partLoadedData","fragStats","partStats","partTotal","estTotalParts","estLoadedParts","estRemainingBytes","fragLoading","partLoading","segment","rangeStart","rangeEnd","_frag$decryptdata","byteRangeStart","byteRangeEnd","fragmentLen","MEDIA_ERROR","_Error","AESCrypto","subtle","aesIV","decrypt","FastAESKey","expandKey","importKey","removePadding","outputBytes","paddingBytes","getUint8","AESDecryptor","rcon","subMix","Uint32Array","invSubMix","sBox","invSBox","ksRows","keySize","keySchedule","invKeySchedule","initTable","uint8ArrayToUint32Array_","subMix0","subMix1","subMix2","subMix3","invSubMix0","invSubMix1","invSubMix2","invSubMix3","xi","sx","x4","x8","keyBuffer","sameKey","ksRow","invKsRow","sbox","networkToHostOrderSwap","word","inputArrayBuffer","s0","s1","s2","s3","inputWords0","inputWords1","inputWords2","inputWords3","nRounds","invSBOX","initVector","initVector0","initVector1","initVector2","initVector3","inputInt32","Int32Array","outputInt32","swapWord","Decrypter","_temp","_ref$removePKCS7Paddi","removePKCS7Padding","logEnabled","softwareDecrypter","fastAesKey","remainderData","currentIV","currentResult","useSoftware","enableSoftwareAES","browserCrypto","crypto","webkitSubtle","isSync","flush","reset","softwareDecrypt","decryptResult","webCryptoDecrypt","logOnce","currentChunk","getValidChunk","aesKey","onWebCryptoError","splitPoint","TimeRanges","State","STOPPED","IDLE","KEY_LOADING","FRAG_LOADING_WAITING_RETRY","WAITING_TRACK","PARSING","PARSED","WAITING_INIT_PTS","WAITING_LEVEL","BaseStreamController","_TaskLoop","fragmentTracker","transmuxer","_state","mediaBuffer","lastCurrentTime","nextLoadPosition","loadedmetadata","retryDate","fragmentLoader","levelLastLoaded","startFragRequested","decrypter","initPTS","onvseeking","onvended","onManifestLoaded","onTickEnd","resetTransmuxer","_streamEnded","getLevelDetails","_this$levelLastLoaded","onMediaSeeking","onMediaEnded","autoStartLoad","detach","resetLoadingState","tolerance","fragStartOffset","fragEndOffset","pastFragment","loadFragment","targetBufferTime","_loadFragForPlayback","progressCallback","fragContextChanged","_handleFragmentLoadProgress","_doFragLoad","_handleFragmentLoadComplete","resetFragmentLoading","clearTrackerIfNeeded","_this$mediaBuffer","getFwdBufferInfo","minForwardBufferLength","reduceMaxBufferLength","checkLiveUpdate","flushMainBuffer","flushScope","_loadInitSegment","decryptData","decryptedData","FRAG_DECRYPTED","tstart","tdecrypt","completeInitSegmentLoad","fragBufferedComplete","_frag$startPTS","_frag$endPTS","_this$fragCurrent","_this$fragPrevious","_this$levels","seekToStartPos","fragLoadedEndData","partsLoaded","complete","fragLoaded","chunkMeta","keyLoadingPromise","loadClear","keyLoadedData","KEY_LOADED","getNextPart","_result","doFragPartsLoad","handleFragLoadError","loadedEndOfParts","dataOnProgress","progressive","fragLoadedData","fromPart","_this5","initialPartList","loadedPart","nextPart","handleFragLoadAborted","OTHER_ERROR","_handleTransmuxerFlush","getCurrentContext","updateLevelTiming","bufferFragmentData","noBacktracking","_buffer","BUFFER_APPENDING","dropped","flushBufferGap","fragDuration","segmentFraction","bufferable","getLoadPosition","getFwdBufferInfoAtPos","bufferedFragAtPos","getMaxBufferLength","levelBitrate","maxBufLen","maxBufferSize","minLength","fragOrPart","getNextFragment","fragLen","initialLiveManifestSize","getInitialLiveFragment","liveSyncPosition","getFragmentAtPosition","mapToInitFragWhenRequired","isLoopLoading","trackerState","getNextFragmentLoopLoading","gapStart","nextFragment","nextbufferInfo","contiguous","independentAttrOmitted","targetSN","liveStart","loadingParts","curSNIdx","fragState","nextFrag","synchronizeToLiveEdge","withinSlidingWindow","alignPlaylists","slidingStart","firstLevelLoad","aligned","alignedSlidingStart","waitForCdnTuneIn","advancePartLimit","setStartPosition","offsetInMultivariantPlaylist","onFragmentOrKeyLoadError","filterType","_this$fragCurrent2","gapTagEncountered","_ref2$retryCount","resetStartWhenNotLoaded","resetFragmentErrors","reduceLengthAndFlushBuffer","flushBuffer","afterBufferFlushed","bufferType","bufferedTimeRanges","resetWhenMissingContext","removeUnbufferedFrags","_this$transmuxer","_this6","parsedDuration","LEVEL_PTS_UPDATED","FRAG_PARSED","recoverWorkerError","previousState","ChunkCache","dataLength","concatUint8Arrays","dummyTrack","inputTimeScale","pid","sequenceNumber","BaseAudioDemuxer","_audioTrack","_id3Track","frameIndex","cachedData","basePTS","lastPTS","resetInitSegment","trackDuration","resetTimeStamp","deaultTimestamp","resetContiguity","canParse","appendFrame","demux","lastDataIndex","initPTSFn","dts","partialData","videoTrack","demuxSampleAes","getAudioConfig","observer","adtsObjectType","adtsExtensionSamplingIndex","adtsChannelConfig","manifestCodec","adtsSamplingRates","adtsSamplingIndex","samplerate","channelCount","isHeaderPattern$1","getHeaderLength","getFullFrameLength","canGetFrameLength","isHeader$1","canParse$1","probe$1","headerLength","frameLength","newOffset","initTrackConfig","getFrameDuration","parseFrameHeader","appendFrame$1","unit","stamp","header","_length","missing","_sample","chromeVersion$1","BitratesMap","SamplingRateMap","SamplesCoefficients","BytesInSlot","parseHeader","samplesPerFrame","sampleRate","mpegVersion","mpegLayer","bitRateIndex","sampleRateIndex","paddingBit","channelMode","bitRate","sampleCoefficient","bytesInSlot","isHeaderPattern","isHeader","AACDemuxer","_BaseAudioDemuxer","segmentCodec","emsgSchemePattern","MP4Demuxer","txtTrack","captionTrack","_initData$video","_initData$audio","_timescale","_codec","videoSamples","segmentedData","extractID3Track","emsgs","emsgInfo","getAudioBSID","bsid","numBits","mask","AC3Demuxer","_appendFrame","samplingRateCode","frameSizeCode","skipCount","lfeon","bsmod","BaseVideoParser","VideoSample","createVideoSample","getLastNalUnit","_VideoSample","lastUnit","pushAccessUnit","nbSamples","lastSample","ExpGolomb","bytesAvailable","bitsAvailable","loadWord","workingBytes","availableBytes","skipBits","skipBytes","readBits","valu","skipLZ","leadingZeroCount","skipUEG","skipEG","readUEG","clz","readEG","readBoolean","readUByte","readUShort","readUInt","skipScalingList","lastScale","nextScale","readSPS","numRefFramesInPicOrderCntCycle","scalingListCount","frameCropLeftOffset","frameCropRightOffset","frameCropTopOffset","frameCropBottomOffset","profileIdc","chromaFormatIdc","picOrderCntType","picWidthInMbsMinus1","picHeightInMapUnitsMinus1","frameMbsOnlyFlag","pixelRatio","readSliceType","AvcVideoParser","_BaseVideoParser","parseAVCPES","pes","parseAVCNALu","spsfound","audFound","_VideoSample2","iskey","sliceType","_track$pixelRatio","_track$pixelRatio2","sps","codecarray","codecstring","pps","overflow","naluState","lastState","lastUnitStart","lastUnitType","_unit","_lastUnit","SampleAesDecrypter","decryptBuffer","encryptedData","decryptAacSample","sampleIndex","callback","curUnit","encryptedBuffer","decryptedBuffer","decryptAacSamples","getAvcEncryptedData","decodedData","encryptedDataLen","Int8Array","outputPos","inputPos","getAvcDecryptedUnit","uint8DecryptedData","decryptAvcSample","unitIndex","decryptAvcSamples","curUnits","PACKET_LENGTH","TSDemuxer","typeSupported","sampleAes","pmtParsed","_duration","_pmtId","_videoTrack","_txtTrack","aacOverFlow","videoParser","syncOffset","scanwindow","foundPat","packetStart","tsPackets","parsePID","pesData","isSampleAes","videoPid","audioPid","id3Pid","audioData","unknownPID","pmtId","tsPacketErrors","stt","parsePES","parseAACPES","parseMPEGPES","parseAC3PES","parseID3PES","parsePAT","parsedPIDs","parsePMT","segmentVideoCodec","segmentAudioCodec","demuxResult","extractRemainingSamples","frameMissingBytes","sampleLength","frameOverflowBytes","recoverable","frameDuration","id3Sample","tableEnd","esInfoLength","logEncryptedSamplesFoundInUnencryptedStream","mpeg","mp3","ac3","parsePos","descriptorLen","pesLen","pesHdrLen","pesPts","pesDts","pesFlags","payloadStartOffset","dataLen","MP3Demuxer","AAC","getSilentFrame","UINT32_MAX","MP4","avcC","btrt","dinf","dref","esds","ftyp","mdat","mdia","mfhd","minf","moov","dac3","mvex","mvhd","pasp","sdtp","stbl","stco","stsc","stsz","stts","vmhd","smhd","videoHdlr","audioHdlr","HDLR_TYPES","STTS","STSC","STCO","STSZ","VMHD","SMHD","STSD","majorBrand","avc1Brand","minorVersion","FTYP","box","DINF","upperWordDuration","lowerWordDuration","boxes","dependsOn","isDependedOn","hasRedundancy","avcc","hSpacing","vSpacing","configlen","audioStsd","sampleDependencyTable","upperWordBaseMediaDecodeTime","lowerWordBaseMediaDecodeTime","cts","arraylen","isLeading","paddingValue","isNonSync","degradPrio","MPEG_TS_CLOCK_FREQ_HZ","toTimescaleFromBase","destScale","srcBase","toTimescaleFromScale","srcScale","toMsFromMpegTsClock","toMpegTsClockFromTimescale","MAX_SILENT_FRAME_DURATION","AAC_SAMPLES_PER_FRAME","MPEG_AUDIO_SAMPLE_PER_FRAME","AC3_SAMPLES_PER_FRAME","chromeVersion","safariWebkitVersion","MP4Remuxer","ISGenerated","_initPTS","_initDTS","nextAvcDts","nextAudioPts","videoSampleDuration","isAudioContiguous","isVideoContiguous","videoTrackConfig","defaultTimeStamp","resetNextTimestamp","getVideoStartPts","rolloverDetected","minPTS","normalizePts","remux","accurateTimeOffset","audioTimeOffset","videoTimeOffset","hasAudio","hasVideo","enoughAudioSamples","enoughVideoSamples","_videoTrack$pixelRati","_config$pixelRatio","_videoTrack$pixelRati2","_config$pixelRatio2","generateIS","firstKeyFramePTS","firstKeyFrameIndex","findKeyframeIndex","forceKeyFrameOnDiscontinuity","_startPTS","audiovideoTimestampDelta","remuxAudio","audioTrackLength","remuxVideo","firstKeyFrame","flushTextTrackMetadataCueSamples","flushTextTrackUserdataCueSamples","initDTS","audioSamples","computePTSDTS","metadata","firstDTS","lastDTS","inputSamples","outputSamples","mp4SampleDuration","maxPTS","sortSamples","initTime","deltadts","deltapts","inputDuration","averageSampleDuration","foundHole","foundOverlap","firstPTS","nbNalu","naluLen","dtsStep","nbUnits","sampleLen","mdatSize","MUX_ERROR","stretchedLastFrame","minDtsDelta","minPtsDelta","maxDtsDelta","maxPtsDelta","VideoSampleUnits","mp4SampleLength","_j","_nbUnits","unitData","unitDataLen","ptsDelta","lastFrameDuration","stretchShortVideoTrack","gapTolerance","deltaToFrameEnd","compositionTimeOffset","Mp4Sample","nextDts","_pts","nextPts","nb","getSamplesPerFrame","scaleFactor","inputSampleDuration","rawMPEG","alignedWithVideo","timeOffsetMpegTS","maxAudioFramesDrift","newStamp","fillFrame","_j2","_nbSamples","audioSample","_pts2","unitLen","remuxEmptyAudio","init90kHz","silentFrame","reference","isKeyframe","PassThroughRemuxer","emitInitSegment","initTracks","lastEndTime","defaultInitPTS","generateInitSegment","getParsedTrackCodec","_initData","_initData2","decodeTime","isInvalidInitPts","minDuration","muxConfig","Transmuxer","demuxer","remuxer","decryptionPromise","transmuxConfig","currentTransmuxState","configure","uintData","discontinuity","trackSwitch","initSegmentChange","defaultInitPts","initSegmentData","getEncryptionType","getDecrypter","emptyResult","resetMuxers","needsProbing","configureTransmuxer","resetInitialTimestamp","transmux","currentState","transmuxResults","demuxResultOrPromise","isPromise","flushRemux","_this$currentTransmux","remuxResult","transmuxSampleAes","transmuxUnencrypted","_demux","mux","_muxConfig$i$demux","Remuxer","Demuxer","encryptionType","TransmuxConfig","TransmuxState","eventemitter3","startWorker","forwardMessage","forwardWorkerLogs","logFn","logType","cmd","transmuxResult","emitTransmuxComplete","_transmuxResult","handleFlushResult","isEmptyResult","transferable","_transmuxResult$remux","addToTransferable","hasUMDWorker","injectWorker","blob","Blob","objectURL","createObjectURL","loadWorker","scriptURL","TransmuxerInterface","onTransmuxComplete","onFlush","useWorker","workerContext","onwmsg","m2tsTypeSupported","workerPath","onWorkerMessage","lineno","resetWorker","_this$workerContext","revokeObjectURL","terminate","_frag$initSegment","_lastFrag$initSegment","snDiff","partDiff","handleTransmuxComplete","transmuxerError","_transmuxResult2","_this$workerContext2","subtitleOptionsIdentical","trackList1","trackList2","mediaAttributesIdentical","attrs1","attrs2","customAttributes","stableRenditionId","subtitleAttribute","subtitleTrackMatchesTextTrack","subtitleTrack","TICK_INTERVAL$2","AudioStreamController","_BaseStreamController","videoBuffer","videoTrackCC","waitingVideoCC","bufferedTrack","switchingTrack","waitingData","mainDetails","flushing","bufferFlushed","cachedTrackLoadedData","onAudioTracksUpdated","AUDIO_TRACK_SWITCHING","onAudioTrackSwitching","onAudioTrackLoaded","BUFFER_RESET","onBufferReset","BUFFER_CREATED","onBufferCreated","BUFFER_FLUSHED","onBufferFlushed","INIT_PTS_FOUND","onInitPtsFound","doTickIdle","_levels$trackId","_this$media","_levels","_trackId","cache","clearWaitingFragment","startFragPrefetch","trackDetails","BUFFER_EOS","mainBufferInfo","atGap","atBufferSyncLimit","mainFrag","mainBufferLength","maxConfigBuffer","mediaPlaylist","altAudio","flushAudioIfNeeded","_track$details","defaultAudioCodec","_handleTransmuxComplete","_id3$samples","completeAudioSwitch","mapFragment","_bufferInitSegment","FRAG_PARSING_INIT_SEGMENT","emittedID3","emittedText","FRAG_PARSING_USERDATA","variantAudioCodecs","BUFFER_CODECS","_track$details2","bufferedAttributes","switchAttributes","AudioTrackController","_BasePlaylistControll","groupIds","tracksInGroup","currentTrack","selectDefaultTrack","MANIFEST_PARSED","onManifestParsed","trackInActiveGroup","currentGroups","groupIndex","allIndex","findTrackId","audioTracksUpdated","setAudioTrack","_this$groupIds","setAudioOption","audioOption","switchIndex","withoutCodecAndChannelsMatch","newId","lastTrack","trackLoaded","_track2","_track3","TICK_INTERVAL$1","SubtitleStreamController","currentTrackId","tracksBuffered","SUBTITLE_TRACKS_UPDATED","onSubtitleTracksUpdated","SUBTITLE_TRACK_SWITCH","onSubtitleTrackSwitch","onSubtitleTrackLoaded","SUBTITLE_FRAG_PROCESSED","onSubtitleFragProcessed","fragStart","fragEnd","endOffsetSubtitles","mediaBufferTimeRanges","mainSlidingStartFragment","levelTargetDuration","foundFrag","lookupTolerance","BufferableInstance","timeranges","getRange","DOMException","SubtitleTrackController","queuedDefaultTrack","asyncPollTrackChange","pollTrackChange","useTextTrackPolling","subtitlePollingInterval","_subtitleDisplay","onTextTracksChanged","renderTextTracksNatively","findTrackForTextTrack","setSubtitleTrack","subtitlePreference","subtitleTracksUpdated","selectDefault","_track","setSubtitleOption","subtitleOption","allSubtitleTracks","toggleTrackModes","nextTrack","subtitleDisplay","_track$groupId","BufferOperationQueue","sourceBufferReference","buffers","queues","operation","pending","executeNext","insertAbort","appendBlocker","execute","onStart","sb","updating","shiftAndExecuteNext","VIDEO_CODEC_PROFILE_REPLACE","BufferController","_objectUrl","operationQueue","bufferCodecEventsExpected","_bufferCodecEventsTotal","mediaSource","lastMpegAudioChunk","appendSource","appendErrors","pendingTracks","sourceBuffer","_onEndStreaming","pauseBuffering","_onStartStreaming","resumeBuffering","_onMediaSourceOpen","_onMediaEmptied","updateMediaElementDuration","checkPendingTracks","_onMediaSourceClose","_onMediaSourceEnded","mediaSrc","_initSourceBuffer","hasSourceTypes","getSourceBufferTypes","MEDIA_ATTACHING","onMediaAttaching","onBufferAppending","onBufferCodecs","onBufferEos","onFragParsed","FRAG_CHANGED","onFragChanged","codecEvents","_ms$constructor","ms","objectUrl","MMS","disableRemotePlayback","removeSourceChildren","addSource","endOfStream","MEDIA_DETACHED","resetBuffer","_this$mediaSource","removeBufferListeners","sourceBuffers","removeSourceBuffer","sourceBufferCount","trackNames","trackName","changeType","_trackCodec","_data$trackName","currentCodecFull","currentCodec","trackCodec","nextCodec","mimeType","appendChangeType","eventData","chunkStats","bufferAppendingStart","fragBuffering","partBuffering","checkTimestampOffset","timestampOffset","appendExecutor","_type","QUOTA_EXCEEDED_ERR","appendErrorCount","flushOperation","removeExecutor","_this7","buffersAppendedTo","onUnblocked","blockBuffers","trimBuffers","_this8","ending","liveBackBufferLength","maxBackBufferLength","targetBackBufferPosition","flushBackBuffer","frontBufferFlushThreshold","frontBufferLength","maxFrontBufferLength","targetFrontBufferPosition","flushFrontBuffer","_this9","BACK_BUFFER_REACHED","LIVE_BACK_BUFFER_REACHED","_this10","numBufferedRanges","levelDuration","mediaDuration","msDuration","liveDurationInfinity","updateSeekableRange","setLiveSeekableRange","pendingTracksCount","createSourceBuffers","BUFFER_INCOMPATIBLE_CODECS_ERROR","_this11","addSourceBuffer","sbName","addBufferListener","_onSBUpdateStart","_onSBUpdateEnd","_onSBUpdateError","removedRanges","_this$mediaSource2","_this$mediaSource3","removeStart","removeEnd","appendBuffer","_this12","blockingOperations","firstChild","sourceChildren","specialCea608CharsCodes","getCharForByte","charCode","NR_ROWS","NR_COLS","rowsLowCh1","rowsHighCh1","rowsLowCh2","rowsHighCh2","backgroundColors","CaptionsLogger","verboseLevel","severity","numArrayToHexArray","numArray","hexArray","PenState","foreground","underline","italics","flash","setStyles","attribs","newPenState","StyledUnicodeChar","uchar","penState","_proto3","setChar","setPenState","newChar","isEmpty","Row","chars","currPenState","cueStartTime","_proto4","empty","setCursor","absPos","moveCursor","relPos","newPos","backSpace","insertChar","_byte2","_char","clearFromPos","startPos","clearToEndOfRow","getTextString","_char2","setPenStyles","CaptionScreen","rows","currRow","nrRollUpRows","lastOutputScreen","_proto5","equal","_char3","setPen","setPAC","pacData","newRow","row","topRowIndex","prevLineTime","indent","prevPos","setBkgData","bkgData","setRollUpRows","nrRows","rollUp","getDisplayText","topRow","asOneRow","displayText","rowNr","rowText","getTextAndFormat","Cea608Channel","channelNumber","outputFilter","chNr","verbose","displayedMemory","nonDisplayedMemory","currRollUpRow","writeScreen","_proto6","getHandler","setHandler","newHandler","setMode","newMode","insertChars","screen","outputDataUpdate","ccRCL","ccBS","ccAOF","ccAON","ccDER","ccRU","ccFON","ccRDC","ccTR","ccRTD","ccEDM","ccCR","ccENM","ccEOC","ccTO","nrCols","ccMIDROW","colorIndex","colors","newCue","dispatchCue","cueSplitAtTime","Cea608Parser","out1","out2","currentChannel","cmdHistory","createCmdHistory","_proto7","addData","byteList","cmdFound","charsFound","parseCmd","parseMidrow","parsePAC","parseBackgroundAttributes","parseChars","currChNr","hasCmdRepeated","setLastCmd","interpretPAC","_byte3","pacIndex","channelNr","oneCode","charCodes","charCode1","hexCodes","OutputFilter","timelineController","cueRanges","addCues","createCaptionsTrack","AllowedDirections","AllowedAlignments","isAllowedValue","allowed","lcValue","findDirectionSetting","findAlignSetting","extend","rest","cobj","baseObj","hasBeenReset","_pauseOnExit","_startTime","_endTime","_text","_region","_vertical","_snapToLines","_line","_lineAlign","_position","_positionAlign","_size","_align","setting","SyntaxError","displayState","getCueAsHTML","parseTimeStamp","computeSeconds","dflt","defaultKey","parseOptions","keyValueDelim","groupDelim","kv","defaults","center","align","parseCue","regionList","oInput","consumeTimeStamp","ts","consumeCueSettings","vals","region","vertical","lineAlign","skipWhitespace","fixLineBreaks","VTTParser","collectNextLine","alreadyCollectedLine","hasSubstring","LINEBREAKS","inputString","searchString","cueString2millis","timeString","secs","mins","generateCueId","calculateOffset","vttCCs","currCC","prevCC","new","presentationOffset","_prevCC","parseWebVTT","vttByteArray","callBack","errorCallBack","parsingError","vttLines","cueTime","timestampMapMPEGTS","timestampMapLOCAL","inHeader","cueOffset","webVttMpegTsMapOffset","IMSC1_CODEC","HMSF_REGEX","TIME_UNIT_REGEX","textAlignToLineAlign","parseIMSC1","ttmlList","syncTime","ttml","parseTTML","tt","defaultRateInfo","subFrameRate","frameRateMultiplier","tickRate","rateInfo","styleElements","collectionToDictionary","getElementCollection","regionElements","cueElements","cueElement","cueText","getTextContent","parseTtmlTime","timestampParsingError","getTtmlStyles","fromElement","parentName","childName","elementsWithId","dict","_node$childNodes","nodeName","textContent","ttsNs","regionStyle","styleAttributes","regionStyleName","getAttributeNS","ns","hasAttributeNS","timeAttributeValue","parseHoursMinutesSecondsFrames","parseTimeUnits","TimelineController","Cues","unparsedVttFrags","captionsTracks","nonNativeCaptionsTracks","cea608Parser1","cea608Parser2","lastCc","newVTTCCs","captionsProperties","cueHandler","textTrack1","captionsTextTrack1Label","captionsTextTrack1LanguageCode","textTrack2","captionsTextTrack2Label","captionsTextTrack2LanguageCode","textTrack3","captionsTextTrack3Label","captionsTextTrack3LanguageCode","textTrack4","captionsTextTrack4Label","captionsTextTrack4LanguageCode","onFragParsingUserdata","onFragDecrypted","SUBTITLE_TRACKS_CLEARED","onSubtitleTracksCleared","initCea608Parsers","enableCEA708Captions","channel1","channel2","channel3","channel4","merged","cueRange","overlap","CUES_PARSED","getExistingTrack","canReuseVttTextTrack","createNativeTrack","createNonNativeTrack","_captionsProperties$t","existingTrack","createTextTrack","trackProperties","closedCaptions","NON_NATIVE_TEXT_TRACKS_FOUND","_cleanTracks","hasIMSC1","enableWebVTT","enableIMSC1","inUseTracks","inUseTrack","textTrackKind","captionsOrSubtitlesFromCharacteristics","unusedTextTracks","tracksList","captionsTrack","instreamIdMatch","closedCaptionsForLevel","_data$part$index","decrypted","trackPlaylistMedia","_parseIMSC1","_parseVTTs","_appendCues","maxAvCC","missingInitPTS","_fallbackToIMSC1","fragLevel","ccBytes","ccdatas","extractCea608Data","actualCCBytes","tmpByte","ccbyte1","ccbyte2","ccType","manifestTrack","x1","y1","CapLevelController","autoLevelCapping","restrictedLevels","clientRect","streamController","setStreamController","unregisterListener","stopCapping","FPS_DROP_LEVEL_CAPPING","onFpsDropLevelCapping","droppedLevel","isLevelAllowed","HTMLVideoElement","detectPlayerSize","capLevelToPlayerSize","startCapping","mediaHeight","mediaWidth","maxLevel","getMaxLevel","nextLevelSwitch","capLevelIndex","validLevels","getMaxLevelByMediaSize","getDimensions","boundsRect","restrictedLevel","atGreatestBandwidth","curLevel","maxLevelIndex","squareSize","contentScaleFactor","ignoreDevicePixelRatio","devicePixelRatio","FPSController","isVideoPlaybackQualityAvailable","lastTime","lastDroppedFrames","lastDecodedFrames","capLevelOnFPSDrop","getVideoPlaybackQuality","checkFPSInterval","fpsDroppedMonitoringPeriod","checkFPS","decodedFrames","droppedFrames","currentPeriod","currentDropped","currentDecoded","droppedFPS","FPS_DROP","totalDroppedFrames","fpsDroppedMonitoringThreshold","videoPlaybackQuality","totalVideoFrames","droppedVideoFrames","webkitDecodedFrameCount","webkitDroppedFrameCount","LOGGER_PREFIX","EMEController","keyFormatPromise","keySystemAccessPromises","_requestLicenseFailureCount","mediaKeySessions","keyIdToKeySessionPromise","setMediaKeysQueue","CDMCleanupPromise","onMediaEncrypted","_onMediaEncrypted","onWaitingForKey","_onWaitingForKey","onMediaDetached","requestMediaKeySystemAccessFunc","licenseXhrSetup","licenseResponseCallback","getLicenseServerUrl","keySystemConfiguration","licenseUrl","getServerCertificateUrl","serverCertificateUrl","attemptKeySystemAccess","uniqueCodec","attempt","keySystems","getMediaKeysPromise","mediaKeys","EMEKeyError","KEY_SYSTEM_NO_ACCESS","supportedConfigurations","errMessage","mediaKeySystemConfigs","keySystemAccess","_keySystemAccessPromises","mediaKeySystemAccess","certificateRequest","fetchServerCertificate","createMediaKeys","certificate","setMediaKeysServerCertificate","createMediaKeySessionContext","mediaKeysSession","createSession","mediaKeySessionContext","keyStatus","renewKeySession","keySessionContext","getKeyIdString","generateRequestWithPreferredKeySession","removeSession","updateKeySession","_mediaKeySessionConte","keySession","sessionId","selectKeySystemFormat","getKeyFormatPromise","keySystemsInConfig","getKeySystemSelectionPromise","keySystemFormat","loadKey","keyInfo","keyDetails","keySessionContextPromise","getKeySystemForKeyPromise","throwIfDestroyed","attemptSetMediaKeys","handleError","KEY_SYSTEM_NO_KEYS","KEY_SYSTEM_NO_CONFIGURED_LICENSE","initDataType","keySystemDomain","psshInfo","keyIdHex","keyContext","oldKeyIdHex","_keySystemToKeySystem","setMediaKeysPromise","setMediaKeys","_this$config$drmSyste","_this$config$drmSyste2","generateRequestFilter","generateRequest","mappedInitData","licenseStatus","_onmessage","messageType","renewLicense","onkeystatuseschange","_onkeystatuseschange","onKeyStatusChange","keyUsablePromise","KEY_SYSTEM_STATUS_INTERNAL_ERROR","_context$mediaKeysSes","KEY_SYSTEM_NO_SESSION","keyStatuses","certLoader","certLoadPolicy","contex","KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED","cert","setServerCertificate","KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED","keyMessage","requestLicense","KEY_SYSTEM_SESSION_UPDATE_FAILED","unpackPlayReadyKeyMessage","xhr","licenseChallenge","xmlString","setRequestHeader","keyMessageXml","_header$querySelector","_header$querySelector2","_value","challengeElement","challengeText","setupLicenseXHR","keysListItem","licenseXhrSetupResult","XMLHttpRequest","onreadystatechange","KEY_SYSTEM_LICENSE_REQUEST_FAILED","attemptsLeft","licenseXhr","DONE","_ref5","emeEnabled","_this13","mediaKeysList","keySessionCount","_ref6","_this14","close","CmObjectType","CmStreamingFormat","CmcdHeaderField","_CmcdHeaderMap","_this15","CmcdHeaderMap","OBJECT","REQUEST","SESSION","STATUS","SfItem","SfToken","DICT","Set","throwError","BARE_ITEM","BOOLEAN","BYTES","DECIMAL","INTEGER","isInvalidInt","STRING_REGEX","TOKEN","KEY","serializeError","serializeBoolean","base64encode","binary","serializeByteSequence","serializeInteger","serializeDate","roundToEven","precision","decimalShift","flooredValue","serializeDecimal","roundedValue","STRING","serializeString","symbolToStr","symbol","serializeToken","token","serializeBareItem","serializeKey","serializeParams","serializeItem","serializeInnerList","serializeDict","_options","whitespace","optionalWhiteSpace","encodeSfDict","isTokenField","urlToRelativePath","toPath","fromPath","randomUUID","_uuid","dt","toRounded","toHundred","CmcdFormatters","br","dl","mtp","nor","rtp","tb","processCmcd","formatters","formatter","encodeCmcd","cmcd","toCmcdHeaders","headerMap","customHeaderMap","shards","_headerMap$find","appendCmcdHeaders","CMCD_PARAM","toCmcdQuery","REGEX","appendCmcdQuery","separator","CMCDController","cid","useHeaders","includeKeys","starved","audioBuffer","onWaiting","onPlaying","applyPlaylistData","ot","su","applyFragmentData","getObjectType","MUXED","getTopBandwidth","getBufferLength","createPlaylistLoader","createFragmentLoader","contentId","_data$tracks$audio","_data$tracks$video","createData","sf","HLS","pr","bandwidthEstimate","isVideo","INIT","bs","TIMED_TEXT","_step","_iterator","Ctor","CmcdPlaylistLoader","callbacks","CmcdFragmentLoader","PATHWAY_PENALTY_DURATION_MS","ContentSteeringController","pathwayPriority","timeToLoad","reloadTimer","started","penalizedPathways","ttl","scheduleRefresh","loadSteeringManifest","levelToRemove","errorPathway","_pathwayId","getPathwayForGroupId","pathways","updatePathwayPriority","filterParsedLevels","pathwayLevels","getLevelsForPathway","_pathwayId2","_pathwayId3","selectedIndex","selectedLevel","levelAfterChange","defaultPathway","clonePathways","pathwayClones","audioGroupCloneMap","subtitleGroupCloneMap","pathwayClone","cloneId","baseId","uriReplacement","clonedVariants","baseLevel","clonedAudioGroupId","clonedSubtitleGroupId","performUriReplacement","clonedLevel","cloneRenditionGroups","throughput","steeringManifestLoadPolicy","steeringData","TTL","reloadUri","loadedSteeringData","steeringManifest","STEERING_MANIFEST_LOADED","getResponseHeader","retryAfter","ttlMs","_this3$hls","groupCloneMap","clonedTracks","clonedTrack","stableId","perOptionKey","perVariantUri","host","HOST","PARAMS","perOptionUris","AGE_HEADER_LINE_REGEX","XhrLoader","xhrSetup","requestTimeout","retryTimeout","abortInternal","onprogress","_this$callbacks","loadInternal","openAndSendXhr","_config$loadPolicy","readystatechange","loadprogress","loadtimeout","_status","useResponse","responseText","responseURL","_this$context","lengthComputable","getAllResponseHeaders","fetchSupported","AbortController","ReadableStream","Request","FetchLoader","fetchSetup","controller","getRequest","initParams","getRequestParameters","isArrayBuffer","LENGTH","FetchError","getContentLength","loadProgressively","responseData","chunkCache","reader","getReader","pump","credentials","Headers","getByteRangeLength","byteRangeHeader","contentRange","byteRangeLength","contentLength","chromeOrFirefox","WHITESPACE_CHAR","captionScreen","indenting","_track$cues","cueA","cueB","hlsDefaultConfig","highBufferWatchdogPeriod","nudgeOffset","startLevel","abrController","bufferController","capLevelController","errorController","fpsController","abrEwmaDefaultEstimateMax","minAutoBitrate","testBandwidth","manifestLoadingRetryDelay","manifestLoadingMaxRetryTimeout","levelLoadingTimeOut","levelLoadingMaxRetry","levelLoadingRetryDelay","levelLoadingMaxRetryTimeout","fragLoadingTimeOut","fragLoadingMaxRetry","fragLoadingRetryDelay","fragLoadingMaxRetryTimeout","timelineConfig","subtitleStreamController","subtitleTrackController","audioStreamController","audioTrackController","emeController","cmcdController","contentSteeringController","mergeConfig","defaultConfig","defaultsCopy","deepCpy","deprecatedSettings","policyName","policyNotSet","report","deprecatedSetting","enableStreamingMode","currentLoader","LevelController","_firstLevel","_maxAutoLevel","_startLevel","currentLevelIndex","manualLevelIndex","steering","onParsedComplete","resetLevels","redundantSet","generatePathwaySet","resolutionFound","videoCodecFound","audioCodecFound","levelParsed","_audioCodec","_videoCodec","FRAMERATE","HDCP","PATHWAY","RESOLUTION","VIDEO_RANGE","pathwayCount","filterAndSortMediaOptions","filteredLevels","assignTrackIdsByGroup","unsortedLevels","valueA","valueB","_valueA","_valueB","firstLevelInPlaylist","_this$hls$userConfig","firstLevelBitrate","startingBwEstimate","audioOnly","edata","forceStartLoad","MANIFEST_INCOMPATIBLE_CODECS_ERROR","_data$deliveryDirecti2","_data$deliveryDirecti","_this$currentLevel","checkMaxAutoUpdated","newLevel","lastLevelIndex","lastLevel","lastPathwayId","levelSwitchingData","audioGroupIds","textGroupIds","configStartLevel","KeyLoader","keyUriToKeyInfo","_loader$context","createKeyLoadError","loadingFrag","_keyInfo","_keyInfo2","_keyInfo$mediaKeySess","keyLoadPromise","loadKeyHTTP","loadKeyEME","getSourceBuffer","SourceBuffer","WebKitSourceBuffer","isMSESupported","codecsForVideoContainer","codecForAudioContainer","changeTypeSupported","_sourceBuffer$prototy","STALL_MINIMUM_DURATION_MS","MAX_START_GAP_JUMP","SKIP_BUFFER_HOLE_STEP_SECONDS","SKIP_BUFFER_RANGE_START","GapController","nudgeRetry","stallReported","stalled","moved","poll","activeFrag","seeked","beginSeek","hasEnoughBuffer","noBufferGap","startJump","maxStartGapJump","partialOrGap","_trySkipBufferHole","tnow","stalledDuration","_reportStall","bufferedWithHoles","_tryFixBufferStall","_stalledDuration","stalledDurationMs","_tryNudgeBuffer","bufferStarved","waiting","gapLength","startGap","startFrag","startProvisioned","moreToLoad","provisioned","targetTime","TICK_INTERVAL","StreamController","audioCodecSwap","gapController","_forceStartLoad","fragPlaying","onvplaying","onvseeked","fragLastKbps","couldBacktrack","backtrackFragment","audioCodecSwitch","onFragLoadEmergencyAborted","onAudioTrackSwitched","_currentLevel","checkBuffer","checkFragmentChanged","getMainFwdBufferInfo","lastDetails","manualLevel","_this$backtrackFragme","backtrackFrag","_loadBitrateTestFrag","followingBufferedFrag","immediateLevelSwitch","abortCurrentFrag","fetchdelay","fragPlayingCurrent","bufferedFrag","nextBufferedFrag","maxStart","startPts","onMediaPlaying","onMediaSeeked","aac","heaac","_curLevel$details","newLevelId","_getAudioCodec","fromAltAudio","mediaTrack","alternate","swapAudioCodec","isFirstFragment","isFirstInDiscontinuity","backtrack","_endPTS","_startDTS","_endDTS","ua","fragCurrentLevel","LEVEL_SWITCHED","currentFrag","epocMs","coreComponents","networkControllers","_emitter","_autoLevelCapping","_maxHdcpLevel","latencyController","levelController","_media","triggeringException","DefaultConfig","ConfigAbrController","ConfigBufferController","ConfigCapLevelController","ConfigErrorController","ConfigFpsController","playListLoader","id3TrackController","ConfigContentSteeringController","createController","AudioStreamControllerClass","SubtitleStreamControllerClass","ControllerClass","components","controllerInstance","eventObject","DESTROYING","loadedSource","loadingSource","_this$audioTrackContr","_this$subtitleTrackCo","shouldStartCapping","newCapLevelToPlayerSize","currentProgramDateTime","subtitleTrackId","factory","voidElement","comment","_classCallCheck","_inherits","_possibleConstructorReturn","_toArray","_interopDefaultLegacy","_typeof__default","_classCallCheck__default","_createClass__default","_assertThisInitialized__default","_inherits__default","_possibleConstructorReturn__default","_getPrototypeOf__default","_defineProperty__default","_toArray__default","ownKeys$6","enumerableOnly","symbols","_objectSpread$6","consoleLogger","baseLogger","Logger","concreteLogger","_len2","_len3","_key3","_len4","_key4","lvl","debugOnly","moduleName","observers","cloned","_cloned","defer","rej","makeString","getLastOfPath","Empty","cleanKey","canNotTraverseDeeper","setPath","newValue","_getLastOfPath","getPath","_getLastOfPath3","getPathWithDefaults","defaultData","deepExtend","overwrite","regexEscape","_entityMap","escape","isIE10","userAgentData","ownKeys$5","_objectSpread$5","_createSuper$3","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct$3","Super","NewTarget","deepFind","keySeparator","paths","joinedPath","ResourceStore","_EventEmitter","_super","defaultNS","ignoreJSONStructure","lng","addNamespaces","resources","addResource","deep","pack","hasResourceBundle","removeNamespaces","getResource","compatibilityAPI","getDataByLanguage","postProcessor","processors","addPostProcessor","handle","translator","processor","ownKeys$4","_objectSpread$4","_createSuper$2","_isNativeReflectConstruct$2","checkedLoadedFor","Translator","interpolation","nsSeparator","namespaces","wouldCheckForNsInKey","seemsNaturalLanguage","userDefinedKeySeparator","userDefinedNsSeparator","possibleChars","matched","ki","looksLikeObjectPath","interpolator","nestingRegexp","lastKey","overloadTranslationOptionHandler","returnDetails","_this$extractFromKey","extractFromKey","namespace","appendNamespaceToCIMode","resUsedKey","usedKey","resExactUsedKey","exactUsedKey","resType","noObject","joinArrays","handleAsObjectInI18nFormat","i18nFormat","handleAsObject","returnObjects","returnedObjectHandler","resTypeIsArray","newKeyToUse","deepKey","translate","extendTranslation","usedDefault","needsPluralHandling","hasDefaultValue","defaultValueSuffix","pluralResolver","getSuffix","isValidLookup","missingKeyNoValueFallbackToKey","resForMissing","updateMissing","fk","lngs","fallbackLngs","languageUtils","getFallbackCodes","fallbackLng","saveMissingTo","toResolveHierarchy","specificDefaultValue","defaultForMissing","missingKeyHandler","backendConnector","saveMissing","saveMissingPlurals","getSuffixes","suffix","appendNamespaceToMissingKey","parseMissingKeyHandler","defaultVariables","usedLng","usedNS","skipInterpolation","nestBef","skipOnVariables","interpolate","na","nest","postProcess","postProcessorNames","applyPostProcessor","postProcessPassResolved","i18nResolved","extracted","fallbackNS","needsZeroSuffixLookup","ordinal","shouldUseIntlApi","needsContextHandling","utils","hasLoadedNamespace","possibleKey","finalKeys","addLookupKeys","pluralSuffix","zeroSuffix","pluralSeparator","contextKey","contextSeparator","returnNull","returnEmptyString","resourceStore","capitalize","LanguageUtil","supportedLngs","formatLanguageCode","specialCases","lowerCaseLng","cleanCode","nonExplicitSupportedLngs","getLanguagePartFromCode","cleanedLng","isSupportedCode","lngOnly","supportedLng","fallbacks","getScriptPartFromCode","fallbackCode","fallbackCodes","addCode","fc","sets","nr","_rulesPluralsTypes","deprecatedJsonVersions","suffixesOrder","zero","one","two","few","many","createRules","rules","numbers","plurals","PluralResolver","compatibilityJSON","Intl","PluralRules","_unused","rule","getRule","resolvedOptions","pluralCategories","pluralCategory1","pluralCategory2","pluralCategory","prepend","getSuffixRetroCompatible","noAbs","simplifyPluralSuffix","returnSuffix","ownKeys$3","_objectSpread$3","Interpolator","escapeValue","iOpts","useRawValueToEscape","prefixEscaped","suffixEscaped","formatSeparator","unescapePrefix","unescapeSuffix","nestingPrefix","nestingPrefixEscaped","nestingSuffix","nestingSuffixEscaped","nestingOptionsSeparator","maxReplaces","alwaysFormat","resetRegExp","regexpStr","regexpUnescapeStr","regexpUnescape","nestingRegexpStr","replaces","regexSafe","handleFormat","interpolationkey","missingInterpolationHandler","regex","safeValue","todo","matchedVar","clonedOptions","handleHasOptions","inheritedOptions","sep","optionsString","matchedSingleQuotes","matchedDoubleQuotes","doReduce","elem","ownKeys$2","_objectSpread$2","createCachedFormatter","Formatter","NumberFormat","currency","datetime","DateTimeFormat","relativetime","RelativeTimeFormat","ListFormat","_format","mem","_parseFormatStr","formatStr","formatName","formatOptions","optStr","opt","_opt$split","_opt$split2","parseFormatStr","formatted","valOptions","formatParams","locale","ownKeys$1","_objectSpread$1","_createSuper$1","_isNativeReflectConstruct$1","Connector","backend","store","waitingReads","maxParallelReads","readingCalls","maxRetries","languages","toLoad","toLoadLanguages","toLoadNamespaces","hasAllNamespaces","pendingCount","addResourceBundle","_getLastOfPath2","removePending","loadedKeys","fcName","tried","wait","resolver","queueLoad","loadOne","prepareLoading","fallbackValue","isUpdate","clb","initImmediate","preload","partialBundledLanguages","tDescription","transformOptions","_objectSpread","_createSuper","bindMemberFunctions","inst","I18n","modules","isInitialized","isClone","defOpts","createClassOnDemand","ClassOrObject","lu","languageDetector","detection","storeApi","_this2$store","storeApiChained","_this2$store2","deferred","finish","initializedStoreOnce","usedCallback","resolvedLanguage","setResolvedLanguage","li","lngInLngs","hasLanguageSomeTranslations","isLanguageChangingTo","setLngProps","setLng","getBestMatchFromCodes","cacheUserLanguage","loadResources","keyPrefix","fixedT","resultKey","_this$translator","_this$translator2","exists","lastLng","loadNotPending","loadState","precheck","preResult","preloaded","newLngs","mergedOptions","clone","membersToCopy","createInstance","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","rt","LN2","crit","findBy","isValidType","forAll","local","HASH_UNDEFINED","argsTag","boolTag","dateTag","funcTag","genTag","mapTag","numberTag","objectTag","promiseTag","regexpTag","setTag","stringTag","symbolTag","weakMapTag","arrayBufferTag","dataViewTag","float32Tag","float64Tag","int8Tag","int16Tag","int32Tag","uint8Tag","uint8ClampedTag","uint16Tag","uint32Tag","reFlags","reIsHostCtor","reIsUint","cloneableTags","freeGlobal","freeSelf","root","freeExports","nodeType","freeModule","moduleExports","addMapEntry","pair","addSetEntry","arrayReduce","iteratee","accumulator","initAccum","isHostObject","mapToArray","overArg","transform","setToArray","arrayProto","funcProto","objectProto","coreJsData","maskSrcKey","IE_PROTO","funcToString","objectToString","reIsNative","getPrototype","objectCreate","nativeGetSymbols","nativeIsBuffer","nativeKeys","getNative","WeakMap","nativeCreate","dataViewCtorString","toSource","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","symbolProto","symbolValueOf","Hash","ListCache","MapCache","Stack","__data__","arrayLikeKeys","inherited","isObjectLike","isArrayLike","isArrayLikeObject","isArguments","baseTimes","skipIndexes","isIndex","assignValue","objValue","eq","assocIndexOf","baseClone","isDeep","isFull","customizer","isObject","isArr","initCloneArray","copyArray","getTag","isFunc","cloneBuffer","isPrototype","initCloneObject","copyObject","getSymbols","copySymbols","baseAssign","cloneFunc","cloneArrayBuffer","dataView","cloneDataView","typedArray","cloneTypedArray","cloneMap","cloneRegExp","cloneSet","initCloneByTag","stacked","keysFunc","symbolsFunc","arrayPush","baseGetAllKeys","getAllKeys","arrayEach","subValue","baseIsNative","isFunction","getMapData","getValue","pairs","LARGE_ARRAY_SIZE","ctorString","isLength","baseKeys","reTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","nativeMax","nativeMin","toNumber","isSymbol","isBinary","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","invokeFunc","leadingEdge","timerExpired","shouldInvoke","timeSinceLastCall","trailingEdge","remainingWait","debounced","isInvoking","arrayIncludes","fromIndex","fromRight","baseFindIndex","baseIsNaN","baseIndexOf","arrayIncludesWith","comparator","arrayMap","baseUnary","cacheHas","SetCache","pattern","castArrayLikeObject","arrays","mapped","othLength","othIndex","caches","maxLength","seen","outer","computed","baseIntersection","otherArgs","arrayTag","errorTag","typedArrayTags","freeProcess","nodeUtil","binding","nodeIsTypedArray","isTypedArray","arraySome","nativeObjectToString","symToStringTag","isArg","isBuff","isType","baseGetTag","isOwn","unmasked","getRawTag","baseIsArguments","baseIsEqual","bitmask","equalFunc","objIsArr","othIsArr","objTag","othTag","objIsObj","othIsObj","isSameTag","equalArrays","equalByTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","objProps","objLength","skipCtor","othValue","compared","objCtor","othCtor","equalObjects","baseIsEqualDeep","isMasked","arrValue","resIndex","arrayFilter","FUNC_ERROR_TEXT","magnetURIDecode","encode","xts","xt","infoHashBuffer","infoHashV2Buffer","infoHashV2","xtsDeduped","publicKeyBuffer","xs","publicKey","dn","keywords","kt","tr","urlList","ws","as","peerAddresses","bep53Range","base32","param","keyval","decodedStr","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","componentName","propFullName","secret","getShim","ReactPropTypes","objectOf","checkPropTypes","global","punycode","maxInt","regexPunycode","regexNonASCII","regexSeparators","stringFromCharCode","mapDomain","ucs2decode","counter","ucs2encode","digitToBasic","digit","flag","adapt","numPoints","firstTime","baseMinusTMin","basic","oldi","baseMinusT","inputLength","bias","handledCPCount","basicLength","currentValue","handledCPCountPlusOne","qMinusT","qs","maxKeys","kstr","vstr","stringifyPrimitive","ks","aa","ca","da","ea","fa","ha","ia","ja","ka","la","ma","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","removeEmptyString","ra","sa","ta","pa","qa","oa","setAttributeNS","xlinkHref","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","va","for","wa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","Ma","Na","Oa","prepareStackTrace","Pa","Qa","$$typeof","_payload","_init","Ra","Sa","Ta","Va","_valueTracker","stopTracking","Ua","Wa","Xa","Ya","defaultChecked","_wrapperState","initialChecked","Za","controlled","ab","bb","db","ownerDocument","eb","fb","defaultSelected","gb","dangerouslySetInnerHTML","hb","ib","jb","kb","lb","mb","namespaceURI","MSApp","execUnsafeLocalFunction","ob","pb","animationIterationCount","aspectRatio","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","order","orphans","tabSize","widows","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","qb","rb","setProperty","menuitem","area","col","embed","img","keygen","meta","wbr","ub","vb","wb","xb","srcElement","correspondingUseElement","parentNode","yb","zb","Ab","Bb","Cb","stateNode","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Nb","Ob","Pb","Qb","Rb","Sb","Tb","Vb","Wb","memoizedState","dehydrated","Xb","Zb","sibling","Yb","$b","ac","unstable_scheduleCallback","bc","unstable_cancelCallback","unstable_shouldYield","dc","unstable_requestPaint","unstable_now","ec","unstable_getCurrentPriorityLevel","unstable_ImmediatePriority","gc","unstable_UserBlockingPriority","hc","unstable_NormalPriority","jc","unstable_LowPriority","unstable_IdlePriority","kc","lc","oc","clz32","pc","qc","sc","tc","pendingLanes","suspendedLanes","pingedLanes","entangledLanes","entanglements","xc","yc","zc","Ac","eventTimes","Cc","Dc","Ec","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Pc","Qc","Rc","Sc","delete","pointerId","Tc","blockedOn","domEventName","eventSystemFlags","targetContainers","Vc","Wc","priority","isDehydrated","containerInfo","Xc","Yc","Zc","$c","ad","bd","cd","ReactCurrentBatchConfig","dd","ed","transition","fd","gd","hd","Uc","jd","kd","ld","md","nd","od","keyCode","pd","qd","rd","_reactName","_targetInst","isDefaultPrevented","defaultPrevented","isPropagationStopped","cancelBubble","persist","isPersistent","wd","xd","yd","sd","eventPhase","bubbles","cancelable","timeStamp","isTrusted","td","ud","detail","vd","Ad","screenX","screenY","pageX","pageY","getModifierState","zd","relatedTarget","toElement","movementX","movementY","Bd","Dd","Fd","Hd","animationName","elapsedTime","pseudoElement","Id","clipboardData","Jd","Ld","Md","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","Nd","Od","Alt","Control","Meta","Shift","Pd","Qd","repeat","which","Rd","Td","pressure","tangentialPressure","tiltX","tiltY","twist","isPrimary","Vd","touches","targetTouches","changedTouches","Xd","Yd","deltaX","wheelDeltaX","wheelDeltaY","wheelDelta","deltaZ","deltaMode","Zd","$d","ae","be","documentMode","ce","de","fe","ge","he","le","tel","week","me","ne","oe","pe","qe","re","se","te","ue","ve","we","xe","ye","ze","oninput","Ae","detachEvent","Be","Ce","attachEvent","De","Ee","Fe","He","Ie","Je","Ke","nextSibling","Le","compareDocumentPosition","Me","HTMLIFrameElement","Ne","contentEditable","Oe","focusedElem","selectionRange","selectionStart","selectionEnd","defaultView","getSelection","rangeCount","anchorNode","anchorOffset","focusNode","focusOffset","createRange","setStart","removeAllRanges","addRange","setEnd","scrollLeft","Pe","Qe","Re","Se","Te","Ue","Ve","We","animationend","animationiteration","animationstart","transitionend","Xe","Ye","Ze","animation","$e","af","bf","cf","df","ef","ff","gf","hf","lf","mf","nf","Ub","of","pf","qf","rf","capture","passive","J","tf","uf","parentWindow","vf","wf","xa","$a","ba","je","ke","xf","yf","zf","Af","Bf","Cf","Df","Ef","__html","Ff","Gf","Hf","Jf","queueMicrotask","If","Kf","Lf","Mf","previousSibling","Nf","Of","Pf","Qf","Rf","Sf","Tf","Uf","Vf","Wf","Xf","Yf","contextTypes","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Zf","childContextTypes","$f","ag","getChildContext","cg","__reactInternalMemoizedMergedChildContext","dg","eg","fg","gg","hg","jg","kg","lg","ng","og","pg","qg","rg","sg","tg","ug","vg","wg","xg","yg","zg","Ag","Bg","deletions","Cg","pendingProps","treeContext","retryLane","Dg","Eg","Fg","Gg","memoizedProps","Hg","Ig","Jg","Kg","Lg","defaultProps","Mg","Ng","Og","Pg","Qg","Rg","_currentValue","Sg","childLanes","Tg","dependencies","firstContext","lanes","Ug","Vg","memoizedValue","Wg","Xg","Yg","interleaved","Zg","$g","ah","updateQueue","baseState","firstBaseUpdate","lastBaseUpdate","shared","effects","bh","ch","eventTime","lane","dh","K","eh","fh","gh","hh","ih","jh","refs","kh","nh","isMounted","_reactInternals","enqueueSetState","lh","mh","enqueueReplaceState","enqueueForceUpdate","oh","shouldComponentUpdate","isPureReactComponent","ph","updater","qh","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","rh","getDerivedStateFromProps","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","componentDidMount","sh","_owner","_stringRef","th","uh","vh","xh","yh","implementation","zh","Ah","Bh","Ch","Dh","Eh","Fh","Gh","Hh","Ih","Jh","Kh","Lh","M","Mh","revealOrder","Nh","Oh","_workInProgressVersionPrimary","Ph","ReactCurrentDispatcher","Qh","Rh","N","O","Sh","Th","Uh","Vh","Q","Wh","Xh","Yh","Zh","$h","ai","bi","ci","baseQueue","di","ei","fi","lastRenderedReducer","hasEagerState","eagerState","lastRenderedState","gi","ii","ji","getSnapshot","mi","ni","lastEffect","stores","oi","pi","qi","ri","si","ti","ui","vi","wi","yi","zi","Ai","Bi","Ci","Di","Ei","Fi","Gi","Hi","Ii","Ji","readContext","useImperativeHandle","useDebugValue","useDeferredValue","useTransition","useMutableSource","useSyncExternalStore","useId","unstable_isNewReconciler","identifierPrefix","Ki","digest","Li","Mi","Ni","Oi","Pi","Qi","Ri","getDerivedStateFromError","componentDidCatch","Si","componentStack","Ti","pingCache","Ui","Vi","Wi","Xi","ReactCurrentOwner","Yi","Zi","$i","aj","bj","cj","dj","ej","baseLanes","cachePool","transitions","fj","gj","hj","ij","jj","UNSAFE_componentWillUpdate","componentWillUpdate","componentDidUpdate","kj","lj","pendingContext","mj","Aj","Cj","Dj","nj","oj","pj","qj","rj","tj","dgst","uj","vj","_reactRetry","sj","subtreeFlags","wj","xj","isBackwards","rendering","renderingStartTime","tail","tailMode","yj","Ej","Fj","Gj","wasMultiple","multiple","suppressHydrationWarning","onclick","createElementNS","createTextNode","Hj","Ij","Jj","Kj","U","Lj","WeakSet","V","Mj","W","Nj","Oj","Qj","Rj","Sj","Tj","Uj","Vj","Wj","_reactRootContainer","Xj","X","Yj","Zj","ak","onCommitFiberUnmount","componentWillUnmount","bk","ck","dk","ek","isHidden","gk","hk","ik","jk","kk","lk","__reactInternalSnapshotBeforeUpdate","Wk","mk","nk","pk","Y","Z","qk","rk","sk","tk","uk","vk","wk","xk","yk","zk","Ak","Bk","Ck","Dk","Ek","callbackNode","expirationTimes","expiredLanes","wc","callbackPriority","ig","Fk","Gk","Hk","Ik","Jk","Kk","Lk","Mk","Nk","Ok","Pk","finishedWork","finishedLanes","Qk","timeoutHandle","Rk","Sk","Tk","Uk","Vk","mutableReadLanes","Bc","Pj","onCommitFiberRoot","mc","onRecoverableError","Xk","onPostCommitFiberRoot","Yk","Zk","al","isReactComponent","pendingChildren","mutableSourceEagerHydrationData","cl","pendingSuspenseBoundaries","fl","gl","hl","il","jl","zj","$k","ll","reportError","ml","_internalRoot","nl","ol","pl","ql","rl","unmount","unstable_scheduleHydration","tl","usingClientEntryPoint","ul","findFiberByHostInstance","bundleType","rendererPackageName","vl","rendererConfig","overrideHookState","overrideHookStateDeletePath","overrideHookStateRenamePath","overrideProps","overridePropsDeletePath","overridePropsRenamePath","setErrorHandler","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","reconcilerVersion","__REACT_DEVTOOLS_GLOBAL_HOOK__","wl","isDisabled","supportsFiber","inject","createRoot","unstable_strictMode","findDOMNode","flushSync","hydrate","hydrateRoot","hydratedSources","_getVersion","_source","unmountComponentAtNode","unstable_batchedUpdates","unstable_renderSubtreeIntoContainer","checkDCE","FOCUS_GROUP","FOCUS_DISABLED","useMergeRefs","assignRef","facade","hiddenGuard","InFocusGuard","__assign","ItoI","innerCreateMedium","middleware","assigned","useMedium","assignSyncMedium","cbs","assignMedium","pendingQueue","executeQueue","cycle","createMedium","mediumFocus","mediumBlur","mediumEffect","mediumSidecar","medium","ssr","createSidecarMedium","emptyArray","parentRef","_extends2","_React$useState","realObserved","setObserved","observed","isActive","originalFocusedElement","noFocusGuards","persistentFocus","crossFrame","allowTextSelection","whiteList","hasPositiveIndices","_props$shards","_props$as","Container","_props$lockProps","containerProps","SideCar","sideCar","shouldReturnFocus","returnFocus","focusOptions","onActivationCallback","onActivation","onDeactivationCallback","onDeactivation","allowDefer","returnFocusTo","howToReturnFocus","returnFocusOptions","setObserveNode","newObserved","hasLeadingGuards","hasTailingGuards","mergedRef","reducePropsToState","handleStateChangeOnClient","WrappedComponent","mountedInstances","emitChange","SideEffect","_PureComponent","peek","PureComponent","getDisplayName","getParentNode","Node","DOCUMENT_FRAGMENT_NODE","isTopNode","DOCUMENT_NODE","isVisibleUncached","checkParent","ELEMENT_NODE","computedStyle","getPropertyValue","isElementHidden","isVisibleCached","visibilityCache","cached","isAutoFocusAllowedCached","isAutoFocusAllowed","isAutoFocusAllowedUncached","getDataset","isHTMLInputElement","isRadioElement","attribute","isGuard","_a","focusGuard","isNotAGuard","isDefined","correctNode","findSelectedRadio","pickFirstFocus","pickFocusable","NEW_FOCUS","newFocus","innerNodes","outerNodes","lastNode","cnt","firstFocus","lastFocus","isOnGuard","resultSet","activeIndex","lastNodeInside","indexDiff","firstNodeIndex","lastNodeIndex","correctedNodes","correctedIndexDiff","returnFirstNode","returnLastNode","toArray","asArray","tabSort","tabDiff","orderByTabIndex","filterNegative","keepGuards","queryTabbables","queryGuardTabbables","getFocusablesWithShadowDom","withGuards","shadowRoot","getFocusables","parents","filterFocusable","isHTMLButtonElement","notHiddenInput","filterAutoFocusable","getTabbableNodes","topNodes","getAllTabbableNodes","parentAutofocusables","topNode","parentFocus","getParentAutofocusables","getTopParent","getAllAffectedNodes","currentNode","contained","DOCUMENT_POSITION_CONTAINED_BY","DOCUMENT_POSITION_CONTAINS","filterNested","getNestedShadowActiveElement","getActiveElement","getParents","getCommonParent","nodeA","nodeB","parentsA","parentsB","currentParent","getTopCommonParent","baseActiveElement","leftEntry","rightEntries","activeElements","leftEntries","topCommon","subEntry","common","getFocusMerge","commonParent","anyFocusable","innerElements","srcNodes","dstNodes","remap","autoFocusables","orderedInnerElements","entity","autoFocusable","allParentAutofocusables","autofocus","guardCount","lockDisabled","focusable","focusInsideIframe","focusInside","getFocusabledIn","lockItem","guard","deferAction","setImmediate","isFreeFocus","lastActiveTrap","lastActiveFocus","lastPortaledElement","focusWasOutsideWindow","defaultWhitelist","autoGuard","startIndex","step","allNodes","lastGuard","focusAutoGuard","extractRef","checkInHost","check","boundary","activateTrap","_lastActiveTrap","workingNode","portaledElement","workingArea","focusWhitelisted","withinHost","newActiveElement","focusedIndex","onTrap","observerNode","onWindowBlur","moveFocusInside","propsList","traps","trap","lastTrap","sameTrap","FocusLockCombination","_objectWithoutPropertiesLoose","I18nextProvider","_react","I18nContext","Trans","i18nKey","_ref$tOptions","tOptions","i18nFromProps","tFromProps","shouldUnescape","additionalProps","_objectWithoutProperties2","_excluded","i18nFromContext","defaultNSFromContext","getI18n","_TransWithoutContext","_defineProperty2","nodesToString","_excluded2","_i18nInstance","_utils","warnOnce","reactI18nextOptions","_defaults","getDefaults","react","transEmptyNodeValue","hashTransKey","interpolationOverride","combinedTOpts","translation","targetString","i18nOptions","keepArray","transKeepBasicHtmlNodesFor","emptyChildrenButNeedsHandling","getData","childs","getAsArray","hasChildren","getChildren","_typeof2","isValidElement","ast","_htmlParseStringify","renderInner","rootReactNode","mappedChildren","mapAST","hasValidReactChildren","pushTranslatedJSX","isVoid","dummy","cloneElement","reactNode","astNode","reactNodes","newTarget","translationContent","isElement","isValidTranslationWithChildren","isEmptyTransWithHTML","isKnownComponent","_inner","transSupportBasicHtmlNodes","_inner3","_inner4","wrapTextNodes","transWrapTextNodes","_content","renderNodes","useAsParent","defaultTransParent","checkLength","stringNode","childrenArray","childIndex","childPropsCount","shouldKeepChild","childChildren","i18nIsDynamicList","Translation","_useTranslation","_useTranslation3","_useTranslation2","_slicedToArray2","composeInitialProps","ForComponent","i18nInitialProps","getInitialProps","componentsInitialProps","setDefaults","setI18n","_initReactI18next","initReactI18next","ReportNamespaces","_classCallCheck2","_createClass2","usedNamespaces","reportNamespaces","getUsedNamespaces","initialI18nStore","getResourceBundle","initialLanguage","defaultOptions","bindI18n","bindI18nStore","useSuspense","i18nInstance","_Trans","_withTranslation","withTranslation","_Translation","_I18nextProvider","_withSSR","withSSR","_useSSR","useSSR","selectOrdinal","plural","matchHtmlEntity","htmlEntities","unescapeHtmlEntity","lngResources","initializedLanguageOnce","notReadyT","retNotReady","addUsedNamespaces","getT","getFixedT","nsMode","_useState","_useState2","setT","joinedNS","previousJoinedNS","usePrevious","boundReset","loadNamespaces","isInitial","ignore","_console","isNewerI18next","oldI18nextHasLoadedNamespace","alreadyWarned","I18nextWithSSR","I18nextWithTranslation","forwardedRef","passDownProps","tReady","withRef","ContextConsumer","ContextProvider","Element","ForwardRef","Lazy","Memo","Portal","Profiler","SuspenseList","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isForwardRef","isFragment","isLazy","isMemo","isPortal","isProfiler","isStrictMode","isSuspense","isSuspenseList","getModuleId","typeOf","forceUpdate","__self","__source","Children","only","_currentValue2","_threadCount","Consumer","_defaultValue","_globalName","createFactory","createRef","lazy","startTransition","unstable_act","sortIndex","expirationTime","priorityLevel","scheduling","isInputPending","MessageChannel","port2","port1","unstable_Profiling","unstable_continueExecution","unstable_forceFrameRate","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_runWithPriority","unstable_wrapCallback","isArrayish","ARROW_KEY_CODE","mapOfBoundRect","startingPoint","initiateSpatialNavigation","spatialNavigationSearch","focusableAreas","getSpatialNavigationContainer","CSS","registerProperty","syntax","inherits","currentKeyMode","__spatialNavigation__","keyMode","eventTarget","focusNavigableArrowKey","up","down","SPINNABLE_INPUT_TYPES","TEXT_INPUT_TYPES","endPosition","handlingEditableElement","searchOrigin","findSearchOrigin","elementFromPosition","elementFromPoint","isFocusable","isContainer","contentDocument","bestInsideCandidate","getCSSSpatNavAction","scrollingController","candidates","getSpatialNavigationCandidates","inside","focusingController","parentContainer","navigateChain","bestCandidate","elementStyle","isScrollable","rect","containerRect","isEntirelyVisible","createSpatNavEvents","isScrollBoundary","moveScroll","isHTMLScrollBoundary","isDelegableContainer","isVisible","getFilteredSpatialNavigationCandidates","targetElement","filteredCandidates","bestTarget","internalCandidates","externalCandidates","currentElm","getClosestElement","getDistanceFromPoint","getInnerDistance","selectBestCandidateFromEdge","spatialNavigationFunction","currentElmRect","distanceFunction","alignedCandidates","elm","isAligned","getAbsoluteDistance","getEuclideanDistance","getDistance","selectBestCandidate","innerTarget","descendantsBest","originalContainer","eventTargetRect","candidateRect","candidateBody","isOutside","childRect","rightEdgeCheck","leftEdgeCheck","topEdgeCheck","bottomEdgeCheck","isInside","frameElement","minDistance","minDistanceElements","focusables","eventType","triggeredEvent","CustomEvent","causedTarget","readCssVar","varName","currentOption","isScrollContainer","overflowX","isOverflow","scrollWidth","clientWidth","scrollX","scrollY","winScrollY","winScrollX","isAtagWithoutHref","isActuallyDisabled","inert","isExpresslyInert","isVisibleStyleProperty","isBeingRendered","elementRect","offsetX","offsetWidth","offsetY","offsetHeight","hitTestPoint","leftTop","rightBottom","point","elemFromPoint","hitTest","thisVisibility","rect1","rect2","isRightSide","isBelow","points","getEntryAndExitPoints","P1","entryPoint","exitPoint","P2","baseEdge","orthogonalBias","alignBias","intersectionRect","intersection_rect","new_location","new_max_point","getIntersectionRect","boundingClientRect","enableExperimentalAPIs","getInitialAPIs","canScroll","findTarget","findCandidate","bestNextTarget","findCandidates","findNextTarget","getDistanceFromTarget","candidateElement","getExperimentalAPI","seal","_keymode","setStartingPoint","byteTable","plain","buff","quintets","shiftIndex","encoded","plainChar","plainDigit","plainPos","encodedByte","__createBinding","k2","desc","__setModuleDefault","__importStar","mod","__importDefault","react_1","classnames_1","Button_1","Chip_less_1","Chip","onselect","block","inline","Chip_1","Chips_less_1","scrollPosition","setScrollPosition","Chips_1","react_i18next_1","Option_1","react_2","Dropdown_less_1","setLevel","role","hidden","Option_less_1","handleClick","Dropdown_1","useBinaryState_1","MultiselectMenu_less_1","useOutsideClick_1","_c","multiselectMenuRef","MultiselectMenu_1","CONSTANTS_1","useShell_1","device_1","PlatformContext","hostname_1","finalUrl","isMobile","bowser_1","globalThis","maxTouchPoints","isIOS","isVisionOS","Platform_1","__spreadArray","ar","createId","handleClickOutside","__awaiter","_arguments","generator","fulfilled","rejected","__generator","trys","ops","verb","op","hat_1","common_1","STREMIO_URL","tries","waitForCredentials","e_1","fbLoginToken","getCredentials","util","Url","slashes","port","urlParse","relative","resolveObject","isString","protocolPattern","portPattern","simplePathPattern","unwise","autoEscape","nonHostChars","hostEndingChars","hostnamePartPattern","hostnamePartStart","unsafeProtocol","hostlessProtocol","slashedProtocol","querystring","parseQueryString","slashesDenoteHost","queryIndex","splitter","uSplit","simplePath","lowerProto","atSign","hostEnd","hec","parseHost","ipv6Hostname","hostparts","newpart","validParts","notHost","bit","toASCII","esc","qm","tkeys","tkey","rkeys","rkey","relPath","isSourceAbs","isRelAbs","mustEndAbs","removeAllDots","srcPath","psychotic","isNullOrUndefined","authInHost","isNull","hasTrailingSlash","isAbsolute","Mouse","Touch","Pointer","CancelledByMovement","CancelledByRelease","CancelledOutsideElement","PointerEvent","TouchEvent","MouseEvent","LongPressCallbackReason","LongPressEventType","captureEvent","cancelOnMovement","cancelOutsideElement","filterEvents","onMove","onFinish","onCancel","onPointerMove","onPointerUp","onPointerLeave","VTTRegion","makeColorSet","fontScale","observe","subject","topic","fontColor","Services","prefs","getCharPref","fontOpacity","getIntPref","WebVTTSet","fontSet","backgroundOpacity","backgroundSet","edgeType","edgeColor","edgeSet","pref","addObserver","_objCreate","ParsingError","Errors","BadSignature","BadTimeStamp","ESCAPE","TAG_NAME","ruby","TAG_ANNOTATION","NEEDS_PARENT","parseContent","nextToken","unescape1","shouldAdd","localName","annotation","rootDiv","tagStack","createProcessingInstruction","strongRTLRanges","isStrongRTLChar","currentRange","StyleBox","CueStyleBox","styleOptions","isIE8","cueDiv","writingMode","unicodeBidi","applyStyles","div","font","nodeStack","pushNodes","nextTextNode","determineBidi","stylesunicodeBidi","textPos","positionAlign","formatStyle","move","BoxPosition","rects","getClientRects","moveBoxToLinePosition","styleBox","containerBox","boxPositions","boxPosition","linePos","trackList","computeLinePos","axis","maxPosition","initialAxis","calculatedPercentage","bestPosition","specifiedPosition","percentage","overlapsOppositeAxis","within","overlapsAny","intersectPercentage","findBestPosition","toCSSCompatValues","toMove","overlaps","b2","getSimpleBoxPosition","cuetext","processCues","overlay","paddedOverlay","shouldCompute","reportOrThrowError","ontimestampmap","parseTimestampMap","xy","anchor","lines","regionAnchorX","regionAnchorY","viewportAnchorX","viewportAnchorY","scroll","onregion","parseRegion","linebyline","errCb","vals0","fromJSON","directionSetting","alignSetting","scrollSetting","isValidPercentValue","_width","_lines","_regionAnchorX","_regionAnchorY","_viewportAnchorX","_viewportAnchorY","_scroll","findScrollSetting","asyncGeneratorStep","gen","_next","_throw","_regeneratorRuntime","asyncIterator","define","Generator","Context","makeInvokeMethod","tryCatch","GeneratorFunction","GeneratorFunctionPrototype","defineIteratorMethods","_invoke","AsyncIterator","invoke","__await","callInvokeWithMethodAndArg","delegate","maybeInvokeDelegate","_sent","dispatchException","resultName","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","isGeneratorFunction","awrap","rval","delegateYield","regeneratorRuntime","accidentalStrictMode","toPropertyKey","iter","assertThisInitialized","iterableToArray","hint","prim","ICONS","fillRule","clipRule","imdb","reddit","youtube","vlc","remote","stroke","strokeLinecap","strokeLinejoin","help","home","calendar","trailer","memory","megaphone","actors","anime","movies","maximize","minimize","scale","person","glasses","star","checkmark","network","about","grid","share","warning","hourglass","chapters","episodes","eye","src_default","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","definition","nmd","scriptUrl","importScripts","currentScript","scripts","stremioTranslations","translations","use","getElementById","serviceWorker","register","registrationError"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"db0f16b81e41b3901bcf5e0a624af142b1dd9f00/scripts/main.js","mappings":"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","sources":["webpack://stremio/./node_modules/@babel/runtime/helpers/arrayLikeToArray.js","webpack://stremio/./node_modules/@babel/runtime/helpers/arrayWithHoles.js","webpack://stremio/./node_modules/@babel/runtime/helpers/classCallCheck.js","webpack://stremio/./node_modules/@babel/runtime/helpers/createClass.js","webpack://stremio/./node_modules/@babel/runtime/helpers/defineProperty.js","webpack://stremio/./node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack://stremio/./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","webpack://stremio/./node_modules/@babel/runtime/helpers/nonIterableRest.js","webpack://stremio/./node_modules/@babel/runtime/helpers/objectWithoutProperties.js","webpack://stremio/./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","webpack://stremio/./node_modules/@babel/runtime/helpers/slicedToArray.js","webpack://stremio/./node_modules/@babel/runtime/helpers/typeof.js","webpack://stremio/./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","webpack://stremio/./node_modules/@stremio/stremio-core-web/bridge.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/ChromecastSenderVideo/ChromecastSenderVideo.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/ChromecastSenderVideo/index.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/HTMLVideo/HTMLVideo.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/HTMLVideo/getContentType.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/HTMLVideo/hlsConfig.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/HTMLVideo/index.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/IFrameVideo/IFrameVideo.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/IFrameVideo/index.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/ShellVideo/ShellVideo.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/ShellVideo/index.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/StremioVideo/StremioVideo.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/StremioVideo/index.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/StremioVideo/selectVideoImplementation.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/TizenVideo/AVPlay.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/TizenVideo/TizenVideo.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/TizenVideo/index.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/WebOsVideo/WebOsVideo.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/WebOsVideo/index.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/YouTubeVideo/YouTubeVideo.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/YouTubeVideo/index.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/error.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/index.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/mediaCapabilities.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/supportsTranscoding.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/tracksData.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/withHTMLSubtitles/binarySearchUpperBound.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/withHTMLSubtitles/index.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/withHTMLSubtitles/subtitlesConverter.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/withHTMLSubtitles/subtitlesParser.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/withHTMLSubtitles/subtitlesRenderer.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/withHTMLSubtitles/withHTMLSubtitles.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/withStreamingServer/convertStream.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/withStreamingServer/createTorrent.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/withStreamingServer/fetchVideoParams.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/withStreamingServer/index.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/withStreamingServer/isPlayerLoaded.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/withStreamingServer/withStreamingServer.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/withVideoParams/index.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/withVideoParams/withVideoParams.js","webpack://stremio/./node_modules/a-color-picker/dist/acolorpicker.js","webpack://stremio/./src/App/App.js","webpack://stremio/./src/App/DeepLinkHandler.js","webpack://stremio/./src/App/ErrorDialog/ErrorDialog.js","webpack://stremio/./src/App/ErrorDialog/index.js","webpack://stremio/./src/App/SearchParamsHandler.js","webpack://stremio/./src/App/ServicesToaster.js","webpack://stremio/./src/App/index.js","webpack://stremio/./src/App/routerViewsConfig.js","webpack://stremio/./src/App/withProtectedRoutes.js","webpack://stremio/./src/common/AddonDetailsModal/AddonDetails/AddonDetails.js","webpack://stremio/./src/common/AddonDetailsModal/AddonDetails/index.js","webpack://stremio/./src/common/AddonDetailsModal/AddonDetailsModal.js","webpack://stremio/./src/common/AddonDetailsModal/index.js","webpack://stremio/./src/common/AddonDetailsModal/useAddonDetails.js","webpack://stremio/./src/common/Button/Button.js","webpack://stremio/./src/common/Button/index.js","webpack://stremio/./src/common/CONSTANTS.js","webpack://stremio/./src/common/Checkbox/Checkbox.js","webpack://stremio/./src/common/Checkbox/index.js","webpack://stremio/./src/common/ColorInput/ColorInput.js","webpack://stremio/./src/common/ColorInput/ColorPicker/ColorPicker.js","webpack://stremio/./src/common/ColorInput/ColorPicker/index.js","webpack://stremio/./src/common/ColorInput/index.js","webpack://stremio/./src/common/ContinueWatchingItem/ContinueWatchingItem.js","webpack://stremio/./src/common/ContinueWatchingItem/index.js","webpack://stremio/./src/common/CoreSuspender.js","webpack://stremio/./src/common/DelayedRenderer/DelayedRenderer.js","webpack://stremio/./src/common/DelayedRenderer/index.js","webpack://stremio/./src/common/EventModal/EventModal.js","webpack://stremio/./src/common/EventModal/index.js","webpack://stremio/./src/common/EventModal/useEvents.js","webpack://stremio/./src/common/Image/Image.js","webpack://stremio/./src/common/Image/index.js","webpack://stremio/./src/common/LibItem/LibItem.js","webpack://stremio/./src/common/LibItem/index.js","webpack://stremio/./src/common/MainNavBars/MainNavBars.js","webpack://stremio/./src/common/MainNavBars/index.js","webpack://stremio/./src/common/MetaItem/MetaItem.js","webpack://stremio/./src/common/MetaItem/index.js","webpack://stremio/./src/common/MetaPreview/ActionButton/ActionButton.js","webpack://stremio/./src/common/MetaPreview/ActionButton/index.js","webpack://stremio/./src/common/MetaPreview/MetaLinks/MetaLinks.js","webpack://stremio/./src/common/MetaPreview/MetaLinks/index.js","webpack://stremio/./src/common/MetaPreview/MetaPreview.js","webpack://stremio/./src/common/MetaPreview/MetaPreviewPlaceholder/MetaPreviewPlaceholder.js","webpack://stremio/./src/common/MetaPreview/MetaPreviewPlaceholder/index.js","webpack://stremio/./src/common/MetaPreview/index.js","webpack://stremio/./src/common/MetaRow/MetaRow.js","webpack://stremio/./src/common/MetaRow/MetaRowPlaceholder/MetaRowPlaceholder.js","webpack://stremio/./src/common/MetaRow/MetaRowPlaceholder/index.js","webpack://stremio/./src/common/MetaRow/index.js","webpack://stremio/./src/common/ModalDialog/ModalDialog.js","webpack://stremio/./src/common/ModalDialog/index.js","webpack://stremio/./src/common/Multiselect/Multiselect.js","webpack://stremio/./src/common/Multiselect/index.js","webpack://stremio/./src/common/NavBar/HorizontalNavBar/HorizontalNavBar.js","webpack://stremio/./src/common/NavBar/HorizontalNavBar/NavMenu/NavMenu.js","webpack://stremio/./src/common/NavBar/HorizontalNavBar/NavMenu/NavMenuContent.js","webpack://stremio/./src/common/NavBar/HorizontalNavBar/NavMenu/index.js","webpack://stremio/./src/common/NavBar/HorizontalNavBar/SearchBar/SearchBar.js","webpack://stremio/./src/common/NavBar/HorizontalNavBar/SearchBar/index.js","webpack://stremio/./src/common/NavBar/HorizontalNavBar/SearchBar/useLocalSearch.js","webpack://stremio/./src/common/NavBar/HorizontalNavBar/SearchBar/useSearchHistory.js","webpack://stremio/./src/common/NavBar/HorizontalNavBar/index.js","webpack://stremio/./src/common/NavBar/VerticalNavBar/NavTabButton/NavTabButton.js","webpack://stremio/./src/common/NavBar/VerticalNavBar/NavTabButton/index.js","webpack://stremio/./src/common/NavBar/VerticalNavBar/VerticalNavBar.js","webpack://stremio/./src/common/NavBar/VerticalNavBar/index.js","webpack://stremio/./src/common/NavBar/index.js","webpack://stremio/./src/common/PaginationInput/PaginationInput.js","webpack://stremio/./src/common/PaginationInput/index.js","webpack://stremio/./src/common/PlayIconCircleCentered/PlayIconCircleCentered.js","webpack://stremio/./src/common/PlayIconCircleCentered/index.js","webpack://stremio/./src/common/Popup/Popup.js","webpack://stremio/./src/common/Popup/index.js","webpack://stremio/./src/common/SearchBar/SearchBar.js","webpack://stremio/./src/common/SearchBar/SearchBarPlaceholder/SearchBarPlaceholder.js","webpack://stremio/./src/common/SearchBar/SearchBarPlaceholder/index.js","webpack://stremio/./src/common/SearchBar/index.js","webpack://stremio/./src/common/SharePrompt/SharePrompt.js","webpack://stremio/./src/common/SharePrompt/index.js","webpack://stremio/./src/common/Slider/Slider.js","webpack://stremio/./src/common/Slider/index.js","webpack://stremio/./src/common/StreamingServerWarning/StreamingServerWarning.js","webpack://stremio/./src/common/StreamingServerWarning/index.js","webpack://stremio/./src/common/TextInput/TextInput.js","webpack://stremio/./src/common/TextInput/index.js","webpack://stremio/./src/common/Toast/ToastContext.js","webpack://stremio/./src/common/Toast/ToastItem/ToastItem.js","webpack://stremio/./src/common/Toast/ToastItem/index.js","webpack://stremio/./src/common/Toast/ToastProvider.js","webpack://stremio/./src/common/Toast/index.js","webpack://stremio/./src/common/Toast/useToast.js","webpack://stremio/./src/common/Tooltips/Tooltip/Tooltip.js","webpack://stremio/./src/common/Tooltips/Tooltip/index.js","webpack://stremio/./src/common/Tooltips/TooltipContext.js","webpack://stremio/./src/common/Tooltips/TooltipItem/TooltipItem.js","webpack://stremio/./src/common/Tooltips/TooltipItem/index.js","webpack://stremio/./src/common/Tooltips/TooltipProvider.js","webpack://stremio/./src/common/Tooltips/index.js","webpack://stremio/./src/common/Tooltips/useTooltip.js","webpack://stremio/./src/common/comparatorWithPriorities.js","webpack://stremio/./src/common/getVisibleChildrenRange.js","webpack://stremio/./src/common/index.js","webpack://stremio/./src/common/routesRegexp.js","webpack://stremio/./src/common/useAnimationFrame.js","webpack://stremio/./src/common/useBinaryState.js","webpack://stremio/./src/common/useFullscreen.js","webpack://stremio/./src/common/useLiveRef.js","webpack://stremio/./src/common/useModelState.js","webpack://stremio/./src/common/useNotifications.js","webpack://stremio/./src/common/useOnScrollToBottom.js","webpack://stremio/./src/common/usePWA.js","webpack://stremio/./src/common/useProfile.js","webpack://stremio/./src/common/useStreamingServer.js","webpack://stremio/./src/common/useTorrent.js","webpack://stremio/./src/common/useTranslate.js","webpack://stremio/./src/router/Modal/Modal.js","webpack://stremio/./src/router/Modal/index.js","webpack://stremio/./src/router/ModalsContainerContext/ModalsContainerContext.js","webpack://stremio/./src/router/ModalsContainerContext/ModalsContainerProvider.js","webpack://stremio/./src/router/ModalsContainerContext/index.js","webpack://stremio/./src/router/ModalsContainerContext/useModalsContainer.js","webpack://stremio/./src/router/Route/Route.js","webpack://stremio/./src/router/Route/index.js","webpack://stremio/./src/router/RouteFocusedContext/RouteFocusedContext.js","webpack://stremio/./src/router/RouteFocusedContext/index.js","webpack://stremio/./src/router/RouteFocusedContext/useRouteFocused.js","webpack://stremio/./src/router/Router/Router.js","webpack://stremio/./src/router/Router/index.js","webpack://stremio/./src/router/Router/routeConfigForPath.js","webpack://stremio/./src/router/Router/urlParamsForPath.js","webpack://stremio/./src/router/index.js","webpack://stremio/./src/routes/Addons/Addon/Addon.js","webpack://stremio/./src/routes/Addons/Addon/index.js","webpack://stremio/./src/routes/Addons/Addons.js","webpack://stremio/./src/routes/Addons/index.js","webpack://stremio/./src/routes/Addons/useAddonDetailsTransportUrl.js","webpack://stremio/./src/routes/Addons/useInstalledAddons.js","webpack://stremio/./src/routes/Addons/useRemoteAddons.js","webpack://stremio/./src/routes/Addons/useSelectableInputs.js","webpack://stremio/./src/routes/Board/Board.js","webpack://stremio/./src/routes/Board/index.js","webpack://stremio/./src/routes/Board/useBoard.js","webpack://stremio/./src/routes/Board/useContinueWatchingPreview.js","webpack://stremio/./src/routes/Discover/Discover.js","webpack://stremio/./src/routes/Discover/index.js","webpack://stremio/./src/routes/Discover/useDiscover.js","webpack://stremio/./src/routes/Discover/useSelectableInputs.js","webpack://stremio/./src/routes/Intro/ConsentCheckbox/ConsentCheckbox.js","webpack://stremio/./src/routes/Intro/ConsentCheckbox/index.js","webpack://stremio/./src/routes/Intro/CredentialsTextInput/CredentialsTextInput.js","webpack://stremio/./src/routes/Intro/CredentialsTextInput/index.js","webpack://stremio/./src/routes/Intro/Intro.js","webpack://stremio/./src/routes/Intro/PasswordResetModal/PasswordResetModal.js","webpack://stremio/./src/routes/Intro/PasswordResetModal/index.js","webpack://stremio/./src/routes/Intro/index.js","webpack://stremio/./src/routes/Library/Library.js","webpack://stremio/./src/routes/Library/index.js","webpack://stremio/./src/routes/Library/useLibrary.js","webpack://stremio/./src/routes/Library/useSelectableInputs.js","webpack://stremio/./src/routes/MetaDetails/MetaDetails.js","webpack://stremio/./src/routes/MetaDetails/StreamsList/Stream/Stream.js","webpack://stremio/./src/routes/MetaDetails/StreamsList/Stream/StreamPlaceholder/StreamPlaceholder.js","webpack://stremio/./src/routes/MetaDetails/StreamsList/Stream/StreamPlaceholder/index.js","webpack://stremio/./src/routes/MetaDetails/StreamsList/Stream/index.js","webpack://stremio/./src/routes/MetaDetails/StreamsList/StreamsList.js","webpack://stremio/./src/routes/MetaDetails/StreamsList/index.js","webpack://stremio/./src/routes/MetaDetails/VideosList/SeasonsBar/SeasonsBar.js","webpack://stremio/./src/routes/MetaDetails/VideosList/SeasonsBar/SeasonsBarPlaceholder/SeasonsBarPlaceholder.js","webpack://stremio/./src/routes/MetaDetails/VideosList/SeasonsBar/SeasonsBarPlaceholder/index.js","webpack://stremio/./src/routes/MetaDetails/VideosList/SeasonsBar/index.js","webpack://stremio/./src/routes/MetaDetails/VideosList/Video/Video.js","webpack://stremio/./src/routes/MetaDetails/VideosList/Video/VideoPlaceholder/VideoPlaceholder.js","webpack://stremio/./src/routes/MetaDetails/VideosList/Video/VideoPlaceholder/index.js","webpack://stremio/./src/routes/MetaDetails/VideosList/Video/index.js","webpack://stremio/./src/routes/MetaDetails/VideosList/VideosList.js","webpack://stremio/./src/routes/MetaDetails/VideosList/index.js","webpack://stremio/./src/routes/MetaDetails/index.js","webpack://stremio/./src/routes/MetaDetails/useMetaDetails.js","webpack://stremio/./src/routes/MetaDetails/useMetaExtensionTabs.js","webpack://stremio/./src/routes/MetaDetails/useSeason.js","webpack://stremio/./src/routes/NotFound/NotFound.js","webpack://stremio/./src/routes/NotFound/index.js","webpack://stremio/./src/routes/Player/BufferingLoader/BufferingLoader.js","webpack://stremio/./src/routes/Player/BufferingLoader/index.js","webpack://stremio/./src/routes/Player/ControlBar/ControlBar.js","webpack://stremio/./src/routes/Player/ControlBar/SeekBar/SeekBar.js","webpack://stremio/./src/routes/Player/ControlBar/SeekBar/formatTime.js","webpack://stremio/./src/routes/Player/ControlBar/SeekBar/index.js","webpack://stremio/./src/routes/Player/ControlBar/VolumeSlider/VolumeSlider.js","webpack://stremio/./src/routes/Player/ControlBar/VolumeSlider/index.js","webpack://stremio/./src/routes/Player/ControlBar/index.js","webpack://stremio/./src/routes/Player/Error/Error.js","webpack://stremio/./src/routes/Player/Error/index.js","webpack://stremio/./src/routes/Player/InfoMenu/InfoMenu.js","webpack://stremio/./src/routes/Player/InfoMenu/index.js","webpack://stremio/./src/routes/Player/NextVideoPopup/NextVideoPopup.js","webpack://stremio/./src/routes/Player/NextVideoPopup/index.js","webpack://stremio/./src/routes/Player/OptionsMenu/Option/Option.js","webpack://stremio/./src/routes/Player/OptionsMenu/Option/index.js","webpack://stremio/./src/routes/Player/OptionsMenu/OptionsMenu.js","webpack://stremio/./src/routes/Player/OptionsMenu/index.js","webpack://stremio/./src/routes/Player/Player.js","webpack://stremio/./src/routes/Player/SpeedMenu/Option/Option.js","webpack://stremio/./src/routes/Player/SpeedMenu/Option/index.js","webpack://stremio/./src/routes/Player/SpeedMenu/SpeedMenu.js","webpack://stremio/./src/routes/Player/SpeedMenu/index.js","webpack://stremio/./src/routes/Player/StatisticsMenu/StatisticsMenu.js","webpack://stremio/./src/routes/Player/StatisticsMenu/index.js","webpack://stremio/./src/routes/Player/SubtitlesMenu/DiscreteSelectInput/DiscreteSelectInput.js","webpack://stremio/./src/routes/Player/SubtitlesMenu/DiscreteSelectInput/index.js","webpack://stremio/./src/routes/Player/SubtitlesMenu/SubtitlesMenu.js","webpack://stremio/./src/routes/Player/SubtitlesMenu/index.js","webpack://stremio/./src/routes/Player/Video/Video.js","webpack://stremio/./src/routes/Player/Video/index.js","webpack://stremio/./src/routes/Player/VideosMenu/VideosMenu.js","webpack://stremio/./src/routes/Player/VideosMenu/index.js","webpack://stremio/./src/routes/Player/VolumeChangeIndicator/VolumeChangeIndicator.js","webpack://stremio/./src/routes/Player/VolumeChangeIndicator/index.js","webpack://stremio/./src/routes/Player/index.js","webpack://stremio/./src/routes/Player/usePlayer.js","webpack://stremio/./src/routes/Player/useSettings.js","webpack://stremio/./src/routes/Player/useStatistics.js","webpack://stremio/./src/routes/Player/useVideo.js","webpack://stremio/./src/routes/Search/Search.js","webpack://stremio/./src/routes/Search/index.js","webpack://stremio/./src/routes/Search/useSearch.js","webpack://stremio/./src/routes/Settings/Settings.js","webpack://stremio/./src/routes/Settings/index.js","webpack://stremio/./src/routes/Settings/useDataExport.js","webpack://stremio/./src/routes/Settings/useProfileSettingsInputs.js","webpack://stremio/./src/routes/Settings/useStreamingServerSettingsInputs.js","webpack://stremio/./src/routes/index.js","webpack://stremio/./src/services/Chromecast/Chromecast.js","webpack://stremio/./src/services/Chromecast/ChromecastTransport.js","webpack://stremio/./src/services/Chromecast/index.js","webpack://stremio/./src/services/Core/Core.js","webpack://stremio/./src/services/Core/CoreTransport.js","webpack://stremio/./src/services/Core/index.js","webpack://stremio/./src/services/DragAndDrop/DragAndDrop.js","webpack://stremio/./src/services/DragAndDrop/index.js","webpack://stremio/./src/services/KeyboardShortcuts/KeyboardShortcuts.js","webpack://stremio/./src/services/KeyboardShortcuts/index.js","webpack://stremio/./src/services/ServicesContext/ServicesContext.js","webpack://stremio/./src/services/ServicesContext/ServicesProvider.js","webpack://stremio/./src/services/ServicesContext/index.js","webpack://stremio/./src/services/ServicesContext/useServices.js","webpack://stremio/./src/services/Shell/Shell.js","webpack://stremio/./src/services/Shell/ShellTransport.js","webpack://stremio/./src/services/Shell/index.js","webpack://stremio/./src/services/index.js","webpack://stremio/./node_modules/base64-js/index.js","webpack://stremio/./node_modules/bep53-range/index.js","webpack://stremio/./node_modules/bowser/es5.js","webpack://stremio/./node_modules/buffer/index.js","webpack://stremio/./node_modules/classnames/index.js","webpack://stremio/./node_modules/color-name/index.js","webpack://stremio/./node_modules/color-string/index.js","webpack://stremio/./node_modules/color/index.js","webpack://stremio/./node_modules/color/node_modules/color-convert/conversions.js","webpack://stremio/./node_modules/color/node_modules/color-convert/index.js","webpack://stremio/./node_modules/color/node_modules/color-convert/route.js","webpack://stremio/./node_modules/color/node_modules/color-name/index.js","webpack://stremio/./node_modules/deep-freeze/index.js","webpack://stremio/./node_modules/eventemitter3/index.js","webpack://stremio/./node_modules/filter-invalid-dom-props/dist/index.js","webpack://stremio/./node_modules/hat/index.js","webpack://stremio/./node_modules/hls.js/dist/hls.js","webpack://stremio/./node_modules/html-attributes/lib/html-attributes.js","webpack://stremio/./node_modules/html-parse-stringify/dist/html-parse-stringify.module.js","webpack://stremio/./node_modules/i18next/dist/cjs/i18next.js","webpack://stremio/./node_modules/ieee754/index.js","webpack://stremio/./node_modules/langs/data.js","webpack://stremio/./node_modules/langs/index.js","webpack://stremio/./node_modules/lodash.clonedeep/index.js","webpack://stremio/./node_modules/lodash.debounce/index.js","webpack://stremio/./node_modules/lodash.intersection/index.js","webpack://stremio/./node_modules/lodash.isequal/index.js","webpack://stremio/./node_modules/lodash.throttle/index.js","webpack://stremio/./node_modules/magnet-uri/index.js","webpack://stremio/./src/App/ErrorDialog/styles.less?f866","webpack://stremio/./src/App/styles.less?a3a2","webpack://stremio/./src/common/AddonDetailsModal/AddonDetails/styles.less?e44e","webpack://stremio/./src/common/AddonDetailsModal/styles.less?daa0","webpack://stremio/./src/common/Button/styles.less?f6ef","webpack://stremio/./src/common/Checkbox/styles.less?e7d7","webpack://stremio/./src/common/Chips/Chip/Chip.less?f16b","webpack://stremio/./src/common/Chips/Chips.less?d314","webpack://stremio/./src/common/ColorInput/ColorPicker/styles.less?01f5","webpack://stremio/./src/common/ColorInput/styles.less?b975","webpack://stremio/./src/common/EventModal/styles.less?3c73","webpack://stremio/./src/common/MainNavBars/styles.less?149d","webpack://stremio/./src/common/MetaItem/styles.less?0aa2","webpack://stremio/./src/common/MetaPreview/ActionButton/styles.less?f962","webpack://stremio/./src/common/MetaPreview/MetaLinks/styles.less?a7b3","webpack://stremio/./src/common/MetaPreview/MetaPreviewPlaceholder/styles.less?d29c","webpack://stremio/./src/common/MetaPreview/styles.less?b078","webpack://stremio/./src/common/MetaRow/MetaRowPlaceholder/styles.less?4cee","webpack://stremio/./src/common/MetaRow/styles.less?e19b","webpack://stremio/./src/common/ModalDialog/styles.less?f557","webpack://stremio/./src/common/Multiselect/styles.less?00ba","webpack://stremio/./src/common/MultiselectMenu/Dropdown/Dropdown.less?42ff","webpack://stremio/./src/common/MultiselectMenu/Dropdown/Option/Option.less?7cbc","webpack://stremio/./src/common/MultiselectMenu/MultiselectMenu.less?145a","webpack://stremio/./src/common/NavBar/HorizontalNavBar/NavMenu/styles.less?a82f","webpack://stremio/./src/common/NavBar/HorizontalNavBar/SearchBar/styles.less?ed38","webpack://stremio/./src/common/NavBar/HorizontalNavBar/styles.less?bd4a","webpack://stremio/./src/common/NavBar/VerticalNavBar/NavTabButton/styles.less?9e13","webpack://stremio/./src/common/NavBar/VerticalNavBar/styles.less?8a94","webpack://stremio/./src/common/PaginationInput/styles.less?83da","webpack://stremio/./src/common/PlayIconCircleCentered/styles.less?3cb2","webpack://stremio/./src/common/Popup/styles.less?ce0a","webpack://stremio/./src/common/SearchBar/SearchBarPlaceholder/styles.less?cb7f","webpack://stremio/./src/common/SearchBar/styles.less?8a38","webpack://stremio/./src/common/SharePrompt/styles.less?769b","webpack://stremio/./src/common/Slider/styles.less?a28a","webpack://stremio/./src/common/StreamingServerWarning/styles.less?3dce","webpack://stremio/./src/common/TextInput/styles.less?a53f","webpack://stremio/./src/common/Toast/ToastItem/styles.less?e523","webpack://stremio/./src/common/Tooltips/Tooltip/styles.less?87c2","webpack://stremio/./src/common/Tooltips/TooltipItem/styles.less?04dc","webpack://stremio/./src/routes/Addons/Addon/styles.less?787c","webpack://stremio/./src/routes/Addons/styles.less?c489","webpack://stremio/./src/routes/Board/styles.less?32b2","webpack://stremio/./src/routes/Discover/styles.less?67aa","webpack://stremio/./src/routes/Intro/ConsentCheckbox/styles.less?2122","webpack://stremio/./src/routes/Intro/PasswordResetModal/styles.less?a4a7","webpack://stremio/./src/routes/Intro/styles.less?1949","webpack://stremio/./src/routes/Library/styles.less?d437","webpack://stremio/./src/routes/MetaDetails/StreamsList/Stream/StreamPlaceholder/styles.less?94f4","webpack://stremio/./src/routes/MetaDetails/StreamsList/Stream/styles.less?951b","webpack://stremio/./src/routes/MetaDetails/StreamsList/styles.less?6933","webpack://stremio/./src/routes/MetaDetails/VideosList/SeasonsBar/SeasonsBarPlaceholder/styles.less?6425","webpack://stremio/./src/routes/MetaDetails/VideosList/SeasonsBar/styles.less?4d31","webpack://stremio/./src/routes/MetaDetails/VideosList/Video/VideoPlaceholder/styles.less?3cd7","webpack://stremio/./src/routes/MetaDetails/VideosList/Video/styles.less?6f1f","webpack://stremio/./src/routes/MetaDetails/VideosList/styles.less?085a","webpack://stremio/./src/routes/MetaDetails/styles.less?4963","webpack://stremio/./src/routes/NotFound/styles.less?b178","webpack://stremio/./src/routes/Player/BufferingLoader/styles.less?ac36","webpack://stremio/./src/routes/Player/ControlBar/SeekBar/styles.less?c452","webpack://stremio/./src/routes/Player/ControlBar/VolumeSlider/styles.less?1808","webpack://stremio/./src/routes/Player/ControlBar/styles.less?4100","webpack://stremio/./src/routes/Player/Error/styles.less?d9be","webpack://stremio/./src/routes/Player/InfoMenu/styles.less?78f1","webpack://stremio/./src/routes/Player/NextVideoPopup/styles.less?fc91","webpack://stremio/./src/routes/Player/OptionsMenu/Option/styles.less?b489","webpack://stremio/./src/routes/Player/OptionsMenu/styles.less?fddd","webpack://stremio/./src/routes/Player/SpeedMenu/Option/styles.less?9561","webpack://stremio/./src/routes/Player/SpeedMenu/styles.less?784c","webpack://stremio/./src/routes/Player/StatisticsMenu/styles.less?7116","webpack://stremio/./src/routes/Player/SubtitlesMenu/DiscreteSelectInput/styles.less?a694","webpack://stremio/./src/routes/Player/SubtitlesMenu/styles.less?53a7","webpack://stremio/./src/routes/Player/Video/styles.less?2b2e","webpack://stremio/./src/routes/Player/VideosMenu/styles.less?178e","webpack://stremio/./src/routes/Player/VolumeChangeIndicator/styles.less?1abc","webpack://stremio/./src/routes/Player/styles.less?fe0e","webpack://stremio/./src/routes/Search/styles.less?d16b","webpack://stremio/./src/routes/Settings/styles.less?f385","webpack://stremio/./node_modules/prop-types/factoryWithThrowingShims.js","webpack://stremio/./node_modules/prop-types/index.js","webpack://stremio/./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://stremio/./node_modules/punycode/punycode.js","webpack://stremio/./node_modules/querystring/decode.js","webpack://stremio/./node_modules/querystring/encode.js","webpack://stremio/./node_modules/querystring/index.js","webpack://stremio/./node_modules/react-dom/cjs/react-dom.production.min.js","webpack://stremio/./node_modules/react-dom/client.js","webpack://stremio/./node_modules/react-dom/index.js","webpack://stremio/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://stremio/./node_modules/focus-lock/dist/es2015/constants.js","webpack://stremio/./node_modules/use-callback-ref/dist/es2015/useMergeRef.js","webpack://stremio/./node_modules/use-callback-ref/dist/es2015/useRef.js","webpack://stremio/./node_modules/use-callback-ref/dist/es2015/assignRef.js","webpack://stremio/./node_modules/react-focus-lock/dist/es2015/FocusGuard.js","webpack://stremio/./node_modules/use-sidecar/node_modules/tslib/tslib.es6.js","webpack://stremio/./node_modules/use-sidecar/dist/es2015/medium.js","webpack://stremio/./node_modules/react-focus-lock/dist/es2015/medium.js","webpack://stremio/./node_modules/react-focus-lock/dist/es2015/Lock.js","webpack://stremio/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://stremio/./node_modules/react-clientside-effect/lib/index.es.js","webpack://stremio/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://stremio/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://stremio/./node_modules/focus-lock/dist/es2015/utils/is.js","webpack://stremio/./node_modules/focus-lock/dist/es2015/utils/correctFocus.js","webpack://stremio/./node_modules/focus-lock/dist/es2015/utils/firstFocus.js","webpack://stremio/./node_modules/focus-lock/dist/es2015/solver.js","webpack://stremio/./node_modules/focus-lock/dist/es2015/utils/array.js","webpack://stremio/./node_modules/focus-lock/dist/es2015/utils/tabOrder.js","webpack://stremio/./node_modules/focus-lock/dist/es2015/utils/tabUtils.js","webpack://stremio/./node_modules/focus-lock/dist/es2015/utils/tabbables.js","webpack://stremio/./node_modules/focus-lock/dist/es2015/utils/DOMutils.js","webpack://stremio/./node_modules/focus-lock/dist/es2015/utils/all-affected.js","webpack://stremio/./node_modules/focus-lock/dist/es2015/utils/getActiveElement.js","webpack://stremio/./node_modules/focus-lock/dist/es2015/utils/parenting.js","webpack://stremio/./node_modules/focus-lock/dist/es2015/focusMerge.js","webpack://stremio/./node_modules/focus-lock/dist/es2015/setFocus.js","webpack://stremio/./node_modules/focus-lock/dist/es2015/index.js","webpack://stremio/./node_modules/focus-lock/dist/es2015/focusIsHidden.js","webpack://stremio/./node_modules/focus-lock/dist/es2015/focusInside.js","webpack://stremio/./node_modules/focus-lock/dist/es2015/focusables.js","webpack://stremio/./node_modules/react-focus-lock/dist/es2015/util.js","webpack://stremio/./node_modules/react-focus-lock/dist/es2015/Trap.js","webpack://stremio/./node_modules/react-focus-lock/dist/es2015/Combination.js","webpack://stremio/./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack://stremio/./node_modules/react-focus-lock/dist/es2015/index.js","webpack://stremio/./node_modules/react-i18next/dist/commonjs/I18nextProvider.js","webpack://stremio/./node_modules/react-i18next/dist/commonjs/Trans.js","webpack://stremio/./node_modules/react-i18next/dist/commonjs/TransWithoutContext.js","webpack://stremio/./node_modules/react-i18next/dist/commonjs/Translation.js","webpack://stremio/./node_modules/react-i18next/dist/commonjs/context.js","webpack://stremio/./node_modules/react-i18next/dist/commonjs/defaults.js","webpack://stremio/./node_modules/react-i18next/dist/commonjs/i18nInstance.js","webpack://stremio/./node_modules/react-i18next/dist/commonjs/index.js","webpack://stremio/./node_modules/react-i18next/dist/commonjs/initReactI18next.js","webpack://stremio/./node_modules/react-i18next/dist/commonjs/unescape.js","webpack://stremio/./node_modules/react-i18next/dist/commonjs/useSSR.js","webpack://stremio/./node_modules/react-i18next/dist/commonjs/useTranslation.js","webpack://stremio/./node_modules/react-i18next/dist/commonjs/utils.js","webpack://stremio/./node_modules/react-i18next/dist/commonjs/withSSR.js","webpack://stremio/./node_modules/react-i18next/dist/commonjs/withTranslation.js","webpack://stremio/./node_modules/react-is/cjs/react-is.production.min.js","webpack://stremio/./node_modules/react-is/index.js","webpack://stremio/./node_modules/react/cjs/react.production.min.js","webpack://stremio/./node_modules/react/index.js","webpack://stremio/./node_modules/scheduler/cjs/scheduler.production.min.js","webpack://stremio/./node_modules/scheduler/index.js","webpack://stremio/./node_modules/simple-swizzle/index.js","webpack://stremio/./node_modules/simple-swizzle/node_modules/is-arrayish/index.js","webpack://stremio/./node_modules/spatial-navigation-polyfill/polyfill/spatial-navigation-polyfill.js","webpack://stremio/./node_modules/stremio-translations/index.js","webpack://stremio/./node_modules/thirty-two/lib/thirty-two/index.js","webpack://stremio/./node_modules/thirty-two/lib/thirty-two/thirty-two.js","webpack://stremio/./src/common/Chips/Chip/Chip.tsx","webpack://stremio/./src/common/Chips/Chip/index.ts","webpack://stremio/./src/common/Chips/Chips.tsx","webpack://stremio/./src/common/Chips/index.ts","webpack://stremio/./src/common/MultiselectMenu/Dropdown/Dropdown.tsx","webpack://stremio/./src/common/MultiselectMenu/Dropdown/Option/Option.tsx","webpack://stremio/./src/common/MultiselectMenu/Dropdown/Option/index.ts","webpack://stremio/./src/common/MultiselectMenu/Dropdown/index.ts","webpack://stremio/./src/common/MultiselectMenu/MultiselectMenu.tsx","webpack://stremio/./src/common/MultiselectMenu/index.ts","webpack://stremio/./src/common/Platform/Platform.tsx","webpack://stremio/./src/common/Platform/device.ts","webpack://stremio/./src/common/Platform/index.ts","webpack://stremio/./src/common/Platform/useShell.ts","webpack://stremio/./src/common/useOutsideClick.ts","webpack://stremio/./src/routes/Intro/useFacebookLogin.ts","webpack://stremio/./node_modules/url/url.js","webpack://stremio/./node_modules/url/util.js","webpack://stremio/./node_modules/use-long-press/index.js","webpack://stremio/./node_modules/void-elements/index.js","webpack://stremio/./node_modules/vtt.js/lib/index.js","webpack://stremio/./node_modules/vtt.js/lib/vtt.js","webpack://stremio/./node_modules/vtt.js/lib/vttcue-extended.js","webpack://stremio/./node_modules/vtt.js/lib/vttcue.js","webpack://stremio/./node_modules/vtt.js/lib/vttregion-extended.js","webpack://stremio/./node_modules/vtt.js/lib/vttregion.js","webpack://stremio/./node_modules/@stremio/stremio-core-web/node_modules/@babel/runtime/helpers/asyncToGenerator.js","webpack://stremio/./node_modules/@stremio/stremio-core-web/node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack://stremio/./node_modules/@stremio/stremio-core-web/node_modules/@babel/runtime/helpers/regeneratorRuntime.js","webpack://stremio/./node_modules/@stremio/stremio-core-web/node_modules/@babel/runtime/helpers/typeof.js","webpack://stremio/./node_modules/@stremio/stremio-core-web/node_modules/@babel/runtime/regenerator/index.js","webpack://stremio/./node_modules/i18next/node_modules/@babel/runtime/helpers/arrayLikeToArray.js","webpack://stremio/./node_modules/i18next/node_modules/@babel/runtime/helpers/arrayWithHoles.js","webpack://stremio/./node_modules/i18next/node_modules/@babel/runtime/helpers/assertThisInitialized.js","webpack://stremio/./node_modules/i18next/node_modules/@babel/runtime/helpers/classCallCheck.js","webpack://stremio/./node_modules/i18next/node_modules/@babel/runtime/helpers/createClass.js","webpack://stremio/./node_modules/i18next/node_modules/@babel/runtime/helpers/defineProperty.js","webpack://stremio/./node_modules/i18next/node_modules/@babel/runtime/helpers/getPrototypeOf.js","webpack://stremio/./node_modules/i18next/node_modules/@babel/runtime/helpers/inherits.js","webpack://stremio/./node_modules/i18next/node_modules/@babel/runtime/helpers/iterableToArray.js","webpack://stremio/./node_modules/i18next/node_modules/@babel/runtime/helpers/nonIterableRest.js","webpack://stremio/./node_modules/i18next/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","webpack://stremio/./node_modules/i18next/node_modules/@babel/runtime/helpers/setPrototypeOf.js","webpack://stremio/./node_modules/i18next/node_modules/@babel/runtime/helpers/toArray.js","webpack://stremio/./node_modules/i18next/node_modules/@babel/runtime/helpers/toPrimitive.js","webpack://stremio/./node_modules/i18next/node_modules/@babel/runtime/helpers/toPropertyKey.js","webpack://stremio/./node_modules/i18next/node_modules/@babel/runtime/helpers/typeof.js","webpack://stremio/./node_modules/i18next/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","webpack://stremio/./node_modules/@stremio/stremio-icons/react/dist/index.js","webpack://stremio/webpack/bootstrap","webpack://stremio/webpack/runtime/compat get default export","webpack://stremio/webpack/runtime/define property getters","webpack://stremio/webpack/runtime/global","webpack://stremio/webpack/runtime/hasOwnProperty shorthand","webpack://stremio/webpack/runtime/make namespace object","webpack://stremio/webpack/runtime/node module decorator","webpack://stremio/webpack/runtime/publicPath","webpack://stremio/./src/index.js"],"sourcesContent":["function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nmodule.exports = _arrayLikeToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nmodule.exports = _arrayWithHoles;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nmodule.exports = _classCallCheck;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nmodule.exports = _createClass;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nmodule.exports = _interopRequireDefault;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nmodule.exports = _iterableToArrayLimit;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableRest;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var objectWithoutPropertiesLoose = require(\"./objectWithoutPropertiesLoose.js\");\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutProperties;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutPropertiesLoose;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var arrayWithHoles = require(\"./arrayWithHoles.js\");\n\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit.js\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\n\nvar nonIterableRest = require(\"./nonIterableRest.js\");\n\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\n\nmodule.exports = _slicedToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return typeof obj;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\n\nmodule.exports = _unsupportedIterableToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nvar _regenerator = _interopRequireDefault(require(\"@babel/runtime/regenerator\"));\nvar _asyncToGenerator2 = _interopRequireDefault(require(\"@babel/runtime/helpers/asyncToGenerator\"));\nfunction getId() {\n return Math.random().toString(32).slice(2);\n}\nfunction Bridge(scope, handler) {\n handler.addEventListener('message', /*#__PURE__*/function () {\n var _ref2 = (0, _asyncToGenerator2[\"default\"])( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee(_ref) {\n var request, id, path, args, value, data, thisArg;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n request = _ref.data.request;\n if (request) {\n _context.next = 3;\n break;\n }\n return _context.abrupt(\"return\");\n case 3:\n id = request.id, path = request.path, args = request.args;\n _context.prev = 4;\n value = path.reduce(function (value, prop) {\n return value[prop];\n }, scope);\n if (!(typeof value === 'function')) {\n _context.next = 13;\n break;\n }\n thisArg = path.slice(0, path.length - 1).reduce(function (value, prop) {\n return value[prop];\n }, scope);\n _context.next = 10;\n return value.apply(thisArg, args);\n case 10:\n data = _context.sent;\n _context.next = 16;\n break;\n case 13:\n _context.next = 15;\n return value;\n case 15:\n data = _context.sent;\n case 16:\n handler.postMessage({\n response: {\n id: id,\n result: {\n data: data\n }\n }\n });\n _context.next = 22;\n break;\n case 19:\n _context.prev = 19;\n _context.t0 = _context[\"catch\"](4);\n handler.postMessage({\n response: {\n id: id,\n result: {\n error: _context.t0\n }\n }\n });\n case 22:\n case \"end\":\n return _context.stop();\n }\n }, _callee, null, [[4, 19]]);\n }));\n return function (_x) {\n return _ref2.apply(this, arguments);\n };\n }());\n this.call = /*#__PURE__*/function () {\n var _ref3 = (0, _asyncToGenerator2[\"default\"])( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2(path, args) {\n var id;\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n id = getId();\n return _context2.abrupt(\"return\", new Promise(function (resolve, reject) {\n var onMessage = function onMessage(_ref4) {\n var response = _ref4.data.response;\n if (!response || response.id !== id) return;\n handler.removeEventListener('message', onMessage);\n if ('error' in response.result) {\n reject(response.result.error);\n } else {\n resolve(response.result.data);\n }\n };\n handler.addEventListener('message', onMessage);\n handler.postMessage({\n request: {\n id: id,\n path: path,\n args: args\n }\n });\n }));\n case 2:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2);\n }));\n return function (_x2, _x3) {\n return _ref3.apply(this, arguments);\n };\n }();\n}\nmodule.exports = Bridge;\n","var EventEmitter = require('eventemitter3');\nvar ERROR = require('../error');\n\nfunction ChromecastSenderVideo(options) {\n options = options || {};\n\n var containerElement = options.containerElement;\n if (!(containerElement instanceof HTMLElement)) {\n throw new Error('Container element required to be instance of HTMLElement');\n }\n\n var chromecastTransport = options.chromecastTransport;\n if (!chromecastTransport) {\n throw new Error('Chromecast transport required');\n }\n\n var device = chromecastTransport.getCastDevice();\n if (device === null) {\n throw new Error('Chromecast session must be started');\n }\n\n var deviceNameContainerElement = document.createElement('div');\n deviceNameContainerElement.style.display = 'flex';\n deviceNameContainerElement.style.flexDirection = 'row';\n deviceNameContainerElement.style.alignItems = 'center';\n deviceNameContainerElement.style.justifyContent = 'center';\n deviceNameContainerElement.style.width = '100%';\n deviceNameContainerElement.style.height = '100%';\n deviceNameContainerElement.style.backgroundColor = 'black';\n var deviceNameLabelElement = document.createElement('div');\n deviceNameLabelElement.style.flex = 'none';\n deviceNameLabelElement.style.maxWidth = '80%';\n deviceNameLabelElement.style.fontSize = '5vmin';\n deviceNameLabelElement.style.lineHeight = '1.2em';\n deviceNameLabelElement.style.maxHeight = '3.6em';\n deviceNameLabelElement.style.textAlign = 'center';\n deviceNameLabelElement.style.color = '#FFFFFF90';\n deviceNameLabelElement.innerText = 'Casting to ' + device.friendlyName;\n deviceNameContainerElement.appendChild(deviceNameLabelElement);\n containerElement.appendChild(deviceNameContainerElement);\n chromecastTransport.on('message', onMessage);\n chromecastTransport.on('message-error', onMessageReceivedError);\n\n var events = new EventEmitter();\n var destroyed = false;\n var observedProps = {\n stream: false,\n loaded: false,\n paused: false,\n time: false,\n duration: false,\n buffering: false,\n buffered: false,\n audioTracks: false,\n selectedAudioTrackId: false,\n subtitlesTracks: false,\n selectedSubtitlesTrackId: false,\n subtitlesOffset: false,\n subtitlesSize: false,\n subtitlesTextColor: false,\n subtitlesBackgroundColor: false,\n subtitlesOutlineColor: false,\n volume: false,\n muted: false,\n playbackSpeed: false,\n videoParams: false,\n extraSubtitlesTracks: false,\n selectedExtraSubtitlesTrackId: false,\n extraSubtitlesDelay: false,\n extraSubtitlesSize: false,\n extraSubtitlesOffset: false,\n extraSubtitlesTextColor: false,\n extraSubtitlesBackgroundColor: false,\n extraSubtitlesOutlineColor: false\n };\n\n function onMessageSendError(error, action) {\n events.emit('error', Object.assign({}, ERROR.CHROMECAST_SENDER_VIDEO.MESSAGE_SEND_FAILED, {\n error: error,\n action: action\n }));\n }\n function onMessageReceivedError(error) {\n events.emit('error', Object.assign({}, ERROR.CHROMECAST_SENDER_VIDEO.INVALID_MESSAGE_RECEIVED, {\n error: error\n }));\n }\n function onMessage(message) {\n if (!message || typeof message.event !== 'string') {\n onMessageReceivedError(new Error('Invalid message: ' + message));\n return;\n }\n\n var args = Array.isArray(message.args) ? message.args : [];\n events.emit.apply(events, [message.event].concat(args));\n }\n function onPropChanged(propName, propValue) {\n if (observedProps[propName]) {\n events.emit('propChanged', propName, propValue);\n }\n }\n function observeProp(propName) {\n if (observedProps.hasOwnProperty(propName)) {\n observedProps[propName] = true;\n }\n }\n function command(commandName) {\n switch (commandName) {\n case 'destroy': {\n destroyed = true;\n onPropChanged('stream', null);\n onPropChanged('loaded', null);\n onPropChanged('paused', null);\n onPropChanged('time', null);\n onPropChanged('duration', null);\n onPropChanged('buffering', null);\n onPropChanged('buffered', null);\n onPropChanged('audioTracks', []);\n onPropChanged('selectedAudioTrackId', []);\n onPropChanged('subtitlesTracks', []);\n onPropChanged('selectedSubtitlesTrackId', null);\n onPropChanged('subtitlesOffset', null);\n onPropChanged('subtitlesSize', null);\n onPropChanged('subtitlesTextColor', null);\n onPropChanged('subtitlesBackgroundColor', null);\n onPropChanged('subtitlesOutlineColor', null);\n onPropChanged('volume', null);\n onPropChanged('muted', null);\n onPropChanged('playbackSpeed', null);\n onPropChanged('videoParams', null);\n onPropChanged('extraSubtitlesTracks', []);\n onPropChanged('selectedExtraSubtitlesTrackId', null);\n onPropChanged('extraSubtitlesDelay', null);\n onPropChanged('extraSubtitlesSize', null);\n onPropChanged('extraSubtitlesOffset', null);\n onPropChanged('extraSubtitlesTextColor', null);\n onPropChanged('extraSubtitlesBackgroundColor', null);\n onPropChanged('extraSubtitlesOutlineColor', null);\n events.removeAllListeners();\n chromecastTransport.off('message', onMessage);\n containerElement.removeChild(deviceNameContainerElement);\n break;\n }\n }\n }\n\n this.on = function(eventName, listener) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n events.on(eventName, listener);\n };\n this.dispatch = function(action) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n if (action) {\n switch (action.type) {\n case 'observeProp': {\n observeProp(action.propName);\n chromecastTransport.sendMessage(action).catch(function(error) {\n onMessageSendError(error, action);\n });\n return;\n }\n case 'setProp': {\n chromecastTransport.sendMessage(action).catch(function(error) {\n onMessageSendError(error, action);\n });\n return;\n }\n case 'command': {\n command(action.commandName, action.commandArgs);\n chromecastTransport.sendMessage(action).catch(function(error) {\n onMessageSendError(error, action);\n });\n return;\n }\n }\n }\n\n throw new Error('Invalid action dispatched: ' + JSON.stringify(action));\n };\n}\n\nChromecastSenderVideo.canPlayStream = function() {\n return Promise.resolve(true);\n};\n\nChromecastSenderVideo.manifest = {\n name: 'ChromecastSenderVideo',\n external: true,\n props: ['stream', 'loaded', 'paused', 'time', 'duration', 'buffering', 'buffered', 'audioTracks', 'selectedAudioTrackId', 'subtitlesTracks', 'selectedSubtitlesTrackId', 'subtitlesOffset', 'subtitlesSize', 'subtitlesTextColor', 'subtitlesBackgroundColor', 'subtitlesOutlineColor', 'volume', 'muted', 'playbackSpeed', 'videoParams', 'extraSubtitlesTracks', 'selectedExtraSubtitlesTrackId', 'extraSubtitlesDelay', 'extraSubtitlesSize', 'extraSubtitlesOffset', 'extraSubtitlesTextColor', 'extraSubtitlesBackgroundColor', 'extraSubtitlesOutlineColor'],\n commands: ['load', 'unload', 'destroy', 'addExtraSubtitlesTracks'],\n events: ['propValue', 'propChanged', 'ended', 'error', 'subtitlesTrackLoaded', 'audioTrackLoaded', 'extraSubtitlesTrackLoaded', 'implementationChanged']\n};\n\nmodule.exports = ChromecastSenderVideo;\n","var ChromecastSenderVideo = require('./ChromecastSenderVideo');\n\nmodule.exports = ChromecastSenderVideo;\n","var EventEmitter = require('eventemitter3');\nvar Hls = require('hls.js');\nvar cloneDeep = require('lodash.clonedeep');\nvar deepFreeze = require('deep-freeze');\nvar Color = require('color');\nvar ERROR = require('../error');\nvar getContentType = require('./getContentType');\nvar HLS_CONFIG = require('./hlsConfig');\n\nfunction HTMLVideo(options) {\n options = options || {};\n\n var containerElement = options.containerElement;\n if (!(containerElement instanceof HTMLElement)) {\n throw new Error('Container element required to be instance of HTMLElement');\n }\n\n var styleElement = document.createElement('style');\n containerElement.appendChild(styleElement);\n styleElement.sheet.insertRule('video::cue { font-size: 4vmin; color: rgb(255, 255, 255); background-color: rgba(0, 0, 0, 0); text-shadow: rgb(34, 34, 34) 1px 1px 0.1em; }');\n var videoElement = document.createElement('video');\n videoElement.style.width = '100%';\n videoElement.style.height = '100%';\n videoElement.style.backgroundColor = 'black';\n videoElement.controls = false;\n videoElement.playsInline = true;\n videoElement.onerror = function() {\n onVideoError();\n };\n videoElement.onended = function() {\n onEnded();\n };\n videoElement.onpause = function() {\n onPropChanged('paused');\n };\n videoElement.onplay = function() {\n onPropChanged('paused');\n };\n videoElement.ontimeupdate = function() {\n onPropChanged('time');\n onPropChanged('buffered');\n };\n videoElement.ondurationchange = function() {\n onPropChanged('duration');\n };\n videoElement.onwaiting = function() {\n onPropChanged('buffering');\n onPropChanged('buffered');\n };\n videoElement.onseeking = function() {\n onPropChanged('time');\n onPropChanged('buffering');\n onPropChanged('buffered');\n };\n videoElement.onseeked = function() {\n onPropChanged('time');\n onPropChanged('buffering');\n onPropChanged('buffered');\n };\n videoElement.onstalled = function() {\n onPropChanged('buffering');\n onPropChanged('buffered');\n };\n videoElement.onplaying = function() {\n onPropChanged('time');\n onPropChanged('buffering');\n onPropChanged('buffered');\n };\n videoElement.oncanplay = function() {\n onPropChanged('buffering');\n onPropChanged('buffered');\n };\n videoElement.canplaythrough = function() {\n onPropChanged('buffering');\n onPropChanged('buffered');\n };\n videoElement.onloadedmetadata = function() {\n onPropChanged('loaded');\n };\n videoElement.onloadeddata = function() {\n onPropChanged('buffering');\n onPropChanged('buffered');\n };\n videoElement.onvolumechange = function() {\n onPropChanged('volume');\n onPropChanged('muted');\n };\n videoElement.onratechange = function() {\n onPropChanged('playbackSpeed');\n };\n videoElement.textTracks.onchange = function() {\n onPropChanged('subtitlesTracks');\n onPropChanged('selectedSubtitlesTrackId');\n onCueChange();\n Array.from(videoElement.textTracks).forEach(function(track) {\n track.oncuechange = onCueChange;\n });\n };\n containerElement.appendChild(videoElement);\n\n var hls = null;\n var events = new EventEmitter();\n var destroyed = false;\n var stream = null;\n var subtitlesOffset = 0;\n var observedProps = {\n stream: false,\n loaded: false,\n paused: false,\n time: false,\n duration: false,\n buffering: false,\n buffered: false,\n subtitlesTracks: false,\n selectedSubtitlesTrackId: false,\n subtitlesOffset: false,\n subtitlesSize: false,\n subtitlesTextColor: false,\n subtitlesBackgroundColor: false,\n subtitlesOutlineColor: false,\n audioTracks: false,\n selectedAudioTrackId: false,\n volume: false,\n muted: false,\n playbackSpeed: false\n };\n\n function getProp(propName) {\n switch (propName) {\n case 'stream': {\n return stream;\n }\n case 'loaded': {\n if (stream === null) {\n return null;\n }\n\n return videoElement.readyState >= videoElement.HAVE_METADATA;\n }\n case 'paused': {\n if (stream === null) {\n return null;\n }\n\n return !!videoElement.paused;\n }\n case 'time': {\n if (stream === null || videoElement.currentTime === null || !isFinite(videoElement.currentTime)) {\n return null;\n }\n\n return Math.floor(videoElement.currentTime * 1000);\n }\n case 'duration': {\n if (stream === null || videoElement.duration === null || !isFinite(videoElement.duration)) {\n return null;\n }\n\n return Math.floor(videoElement.duration * 1000);\n }\n case 'buffering': {\n if (stream === null) {\n return null;\n }\n\n return videoElement.readyState < videoElement.HAVE_FUTURE_DATA;\n }\n case 'buffered': {\n if (stream === null) {\n return null;\n }\n\n var time = videoElement.currentTime !== null && isFinite(videoElement.currentTime) ? videoElement.currentTime : 0;\n for (var i = 0; i < videoElement.buffered.length; i++) {\n if (videoElement.buffered.start(i) <= time && time <= videoElement.buffered.end(i)) {\n return Math.floor(videoElement.buffered.end(i) * 1000);\n }\n }\n\n return Math.floor(time * 1000);\n }\n case 'subtitlesTracks': {\n if (stream === null) {\n return [];\n }\n\n return Array.from(videoElement.textTracks)\n .map(function(track, index) {\n return Object.freeze({\n id: 'EMBEDDED_' + String(index),\n lang: track.language,\n label: track.label,\n origin: 'EMBEDDED',\n embedded: true\n });\n });\n }\n case 'selectedSubtitlesTrackId': {\n if (stream === null) {\n return null;\n }\n\n return Array.from(videoElement.textTracks)\n .reduce(function(result, track, index) {\n if (result === null && track.mode === 'showing') {\n return 'EMBEDDED_' + String(index);\n }\n\n return result;\n }, null);\n }\n case 'subtitlesOffset': {\n if (destroyed) {\n return null;\n }\n\n return subtitlesOffset;\n }\n case 'subtitlesSize': {\n if (destroyed) {\n return null;\n }\n\n return parseInt(styleElement.sheet.cssRules[0].style.fontSize, 10) * 25;\n }\n case 'subtitlesTextColor': {\n if (destroyed) {\n return null;\n }\n\n return styleElement.sheet.cssRules[0].style.color;\n }\n case 'subtitlesBackgroundColor': {\n if (destroyed) {\n return null;\n }\n\n return styleElement.sheet.cssRules[0].style.backgroundColor;\n }\n case 'subtitlesOutlineColor': {\n if (destroyed) {\n return null;\n }\n\n return styleElement.sheet.cssRules[0].style.textShadow.slice(0, styleElement.sheet.cssRules[0].style.textShadow.indexOf(')') + 1);\n }\n case 'audioTracks': {\n if (hls === null || !Array.isArray(hls.audioTracks)) {\n return [];\n }\n\n return hls.audioTracks\n .map(function(track) {\n return Object.freeze({\n id: 'EMBEDDED_' + String(track.id),\n lang: typeof track.lang === 'string' && track.lang.length > 0 ?\n track.lang\n :\n typeof track.name === 'string' && track.name.length > 0 ?\n track.name\n :\n String(track.id),\n label: typeof track.name === 'string' && track.name.length > 0 ?\n track.name\n :\n typeof track.lang === 'string' && track.lang.length > 0 ?\n track.lang\n :\n String(track.id),\n origin: 'EMBEDDED',\n embedded: true\n });\n });\n }\n case 'selectedAudioTrackId': {\n if (hls === null || hls.audioTrack === null || !isFinite(hls.audioTrack) || hls.audioTrack === -1) {\n return null;\n }\n\n return 'EMBEDDED_' + String(hls.audioTrack);\n }\n case 'volume': {\n if (destroyed || videoElement.volume === null || !isFinite(videoElement.volume)) {\n return null;\n }\n\n return Math.floor(videoElement.volume * 100);\n }\n case 'muted': {\n if (destroyed) {\n return null;\n }\n\n return !!videoElement.muted;\n }\n case 'playbackSpeed': {\n if (destroyed || videoElement.playbackRate === null || !isFinite(videoElement.playbackRate)) {\n return null;\n }\n\n return videoElement.playbackRate;\n }\n default: {\n return null;\n }\n }\n }\n function onCueChange() {\n Array.from(videoElement.textTracks).forEach(function(track) {\n Array.from(track.cues || []).forEach(function(cue) {\n cue.snapToLines = false;\n cue.line = 100 - subtitlesOffset;\n });\n });\n }\n function onVideoError() {\n if (destroyed) {\n return;\n }\n\n var error;\n switch (videoElement.error.code) {\n case 1: {\n error = ERROR.HTML_VIDEO.MEDIA_ERR_ABORTED;\n break;\n }\n case 2: {\n error = ERROR.HTML_VIDEO.MEDIA_ERR_NETWORK;\n break;\n }\n case 3: {\n error = ERROR.HTML_VIDEO.MEDIA_ERR_DECODE;\n break;\n }\n case 4: {\n error = ERROR.HTML_VIDEO.MEDIA_ERR_SRC_NOT_SUPPORTED;\n break;\n }\n default: {\n error = ERROR.UNKNOWN_ERROR;\n }\n }\n onError(Object.assign({}, error, {\n critical: true,\n error: videoElement.error\n }));\n }\n function onError(error) {\n events.emit('error', error);\n if (error.critical) {\n command('unload');\n }\n }\n function onEnded() {\n events.emit('ended');\n }\n function onPropChanged(propName) {\n if (observedProps[propName]) {\n events.emit('propChanged', propName, getProp(propName));\n }\n }\n function observeProp(propName) {\n if (observedProps.hasOwnProperty(propName)) {\n events.emit('propValue', propName, getProp(propName));\n observedProps[propName] = true;\n }\n }\n function setProp(propName, propValue) {\n switch (propName) {\n case 'paused': {\n if (stream !== null) {\n propValue ? videoElement.pause() : videoElement.play();\n onPropChanged('paused');\n }\n\n break;\n }\n case 'time': {\n if (stream !== null && propValue !== null && isFinite(propValue)) {\n videoElement.currentTime = parseInt(propValue, 10) / 1000;\n onPropChanged('time');\n }\n\n break;\n }\n case 'selectedSubtitlesTrackId': {\n if (stream !== null) {\n Array.from(videoElement.textTracks)\n .forEach(function(track, index) {\n track.mode = 'EMBEDDED_' + String(index) === propValue ? 'showing' : 'disabled';\n });\n var selecterdSubtitlesTrack = getProp('subtitlesTracks')\n .find(function(track) {\n return track.id === propValue;\n });\n if (selecterdSubtitlesTrack) {\n onPropChanged('selectedSubtitlesTrackId');\n events.emit('subtitlesTrackLoaded', selecterdSubtitlesTrack);\n }\n }\n\n break;\n }\n case 'subtitlesOffset': {\n if (propValue !== null && isFinite(propValue)) {\n subtitlesOffset = Math.max(0, Math.min(100, parseInt(propValue, 10)));\n onCueChange();\n onPropChanged('subtitlesOffset');\n }\n\n break;\n }\n case 'subtitlesSize': {\n if (propValue !== null && isFinite(propValue)) {\n styleElement.sheet.cssRules[0].style.fontSize = Math.floor(Math.max(0, parseInt(propValue, 10)) / 25) + 'vmin';\n onPropChanged('subtitlesSize');\n }\n\n break;\n }\n case 'subtitlesTextColor': {\n if (typeof propValue === 'string') {\n try {\n styleElement.sheet.cssRules[0].style.color = Color(propValue).rgb().string();\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('HTMLVideo', error);\n }\n\n onPropChanged('subtitlesTextColor');\n }\n\n break;\n }\n case 'subtitlesBackgroundColor': {\n if (typeof propValue === 'string') {\n try {\n styleElement.sheet.cssRules[0].style.backgroundColor = Color(propValue).rgb().string();\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('HTMLVideo', error);\n }\n\n onPropChanged('subtitlesBackgroundColor');\n }\n\n break;\n }\n case 'subtitlesOutlineColor': {\n if (typeof propValue === 'string') {\n try {\n styleElement.sheet.cssRules[0].style.textShadow = Color(propValue).rgb().string() + ' 1px 1px 0.1em';\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('HTMLVideo', error);\n }\n\n onPropChanged('subtitlesOutlineColor');\n }\n\n break;\n }\n case 'selectedAudioTrackId': {\n if (hls !== null) {\n var selecterdAudioTrack = getProp('audioTracks')\n .find(function(track) {\n return track.id === propValue;\n });\n hls.audioTrack = selecterdAudioTrack ? parseInt(selecterdAudioTrack.id.split('_').pop(), 10) : -1;\n if (selecterdAudioTrack) {\n onPropChanged('selectedAudioTrackId');\n events.emit('audioTrackLoaded', selecterdAudioTrack);\n }\n }\n\n break;\n }\n case 'volume': {\n if (propValue !== null && isFinite(propValue)) {\n videoElement.muted = false;\n videoElement.volume = Math.max(0, Math.min(100, parseInt(propValue, 10))) / 100;\n onPropChanged('muted');\n onPropChanged('volume');\n }\n\n break;\n }\n case 'muted': {\n videoElement.muted = !!propValue;\n onPropChanged('muted');\n break;\n }\n case 'playbackSpeed': {\n if (propValue !== null && isFinite(propValue)) {\n videoElement.playbackRate = parseFloat(propValue);\n onPropChanged('playbackSpeed');\n }\n\n break;\n }\n }\n }\n function command(commandName, commandArgs) {\n switch (commandName) {\n case 'load': {\n command('unload');\n if (commandArgs && commandArgs.stream && typeof commandArgs.stream.url === 'string') {\n stream = commandArgs.stream;\n onPropChanged('stream');\n onPropChanged('loaded');\n videoElement.autoplay = typeof commandArgs.autoplay === 'boolean' ? commandArgs.autoplay : true;\n videoElement.currentTime = commandArgs.time !== null && isFinite(commandArgs.time) ? parseInt(commandArgs.time, 10) / 1000 : 0;\n onPropChanged('paused');\n onPropChanged('time');\n onPropChanged('duration');\n onPropChanged('buffering');\n onPropChanged('buffered');\n onPropChanged('subtitlesTracks');\n onPropChanged('selectedSubtitlesTrackId');\n onPropChanged('audioTracks');\n onPropChanged('selectedAudioTrackId');\n getContentType(stream)\n .then(function(contentType) {\n if (stream !== commandArgs.stream) {\n return;\n }\n\n if (contentType === 'application/vnd.apple.mpegurl' && Hls.isSupported()) {\n hls = new Hls(HLS_CONFIG);\n hls.on(Hls.Events.AUDIO_TRACKS_UPDATED, function() {\n onPropChanged('audioTracks');\n onPropChanged('selectedAudioTrackId');\n });\n hls.on(Hls.Events.AUDIO_TRACK_SWITCHED, function() {\n onPropChanged('audioTracks');\n onPropChanged('selectedAudioTrackId');\n });\n hls.loadSource(stream.url);\n hls.attachMedia(videoElement);\n } else {\n videoElement.src = stream.url;\n }\n })\n .catch(function() {\n if (stream !== commandArgs.stream) {\n return;\n }\n\n videoElement.src = stream.url;\n });\n } else {\n onError(Object.assign({}, ERROR.UNSUPPORTED_STREAM, {\n critical: true,\n stream: commandArgs ? commandArgs.stream : null\n }));\n }\n break;\n }\n case 'unload': {\n stream = null;\n Array.from(videoElement.textTracks).forEach(function(track) {\n track.oncuechange = null;\n });\n if (hls !== null) {\n hls.removeAllListeners();\n hls.detachMedia(videoElement);\n hls.destroy();\n hls = null;\n }\n videoElement.removeAttribute('src');\n videoElement.load();\n videoElement.currentTime = 0;\n onPropChanged('stream');\n onPropChanged('loaded');\n onPropChanged('paused');\n onPropChanged('time');\n onPropChanged('duration');\n onPropChanged('buffering');\n onPropChanged('buffered');\n onPropChanged('subtitlesTracks');\n onPropChanged('selectedSubtitlesTrackId');\n onPropChanged('audioTracks');\n onPropChanged('selectedAudioTrackId');\n break;\n }\n case 'destroy': {\n command('unload');\n destroyed = true;\n onPropChanged('subtitlesOffset');\n onPropChanged('subtitlesSize');\n onPropChanged('subtitlesTextColor');\n onPropChanged('subtitlesBackgroundColor');\n onPropChanged('subtitlesOutlineColor');\n onPropChanged('volume');\n onPropChanged('muted');\n onPropChanged('playbackSpeed');\n events.removeAllListeners();\n videoElement.onerror = null;\n videoElement.onended = null;\n videoElement.onpause = null;\n videoElement.onplay = null;\n videoElement.ontimeupdate = null;\n videoElement.ondurationchange = null;\n videoElement.onwaiting = null;\n videoElement.onseeking = null;\n videoElement.onseeked = null;\n videoElement.onstalled = null;\n videoElement.onplaying = null;\n videoElement.oncanplay = null;\n videoElement.canplaythrough = null;\n videoElement.onloadeddata = null;\n videoElement.onvolumechange = null;\n videoElement.onratechange = null;\n videoElement.textTracks.onchange = null;\n containerElement.removeChild(videoElement);\n containerElement.removeChild(styleElement);\n break;\n }\n }\n }\n\n this.on = function(eventName, listener) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n events.on(eventName, listener);\n };\n this.dispatch = function(action) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n if (action) {\n action = deepFreeze(cloneDeep(action));\n switch (action.type) {\n case 'observeProp': {\n observeProp(action.propName);\n return;\n }\n case 'setProp': {\n setProp(action.propName, action.propValue);\n return;\n }\n case 'command': {\n command(action.commandName, action.commandArgs);\n return;\n }\n }\n }\n\n throw new Error('Invalid action dispatched: ' + JSON.stringify(action));\n };\n}\n\nHTMLVideo.canPlayStream = function(stream) {\n if (!stream || (stream.behaviorHints && stream.behaviorHints.notWebReady)) {\n return Promise.resolve(false);\n }\n\n return getContentType(stream)\n .then(function(contentType) {\n var video = document.createElement('video');\n return !!video.canPlayType(contentType) || (contentType === 'application/vnd.apple.mpegurl' && Hls.isSupported());\n })\n .catch(function() {\n return false;\n });\n};\n\nHTMLVideo.manifest = {\n name: 'HTMLVideo',\n external: false,\n props: ['stream', 'loaded', 'paused', 'time', 'duration', 'buffering', 'buffered', 'audioTracks', 'selectedAudioTrackId', 'subtitlesTracks', 'selectedSubtitlesTrackId', 'subtitlesOffset', 'subtitlesSize', 'subtitlesTextColor', 'subtitlesBackgroundColor', 'subtitlesOutlineColor', 'volume', 'muted', 'playbackSpeed'],\n commands: ['load', 'unload', 'destroy'],\n events: ['propValue', 'propChanged', 'ended', 'error', 'subtitlesTrackLoaded', 'audioTrackLoaded']\n};\n\nmodule.exports = HTMLVideo;\n","function getContentType(stream) {\n if (!stream || typeof stream.url !== 'string') {\n return Promise.reject(new Error('Invalid stream parameter!'));\n }\n\n if (stream.behaviorHints && stream.behaviorHints.proxyHeaders && stream.behaviorHints.proxyHeaders.response && typeof stream.behaviorHints.proxyHeaders.response['content-type'] === 'string') {\n return Promise.resolve(stream.behaviorHints.proxyHeaders.response['content-type']);\n }\n\n return fetch(stream.url, { method: 'HEAD' })\n .then(function(resp) {\n if (resp.ok) {\n return resp.headers.get('content-type');\n }\n\n throw new Error(resp.status + ' (' + resp.statusText + ')');\n });\n}\n\nmodule.exports = getContentType;\n","module.exports = {\n debug: false,\n enableWorker: true,\n lowLatencyMode: false,\n backBufferLength: 30,\n maxBufferLength: 50,\n maxMaxBufferLength: 80,\n maxFragLookUpTolerance: 0,\n maxBufferHole: 0,\n appendErrorMaxRetry: 20,\n nudgeMaxRetry: 20,\n manifestLoadingTimeOut: 30000,\n manifestLoadingMaxRetry: 10,\n fragLoadPolicy: {\n default: {\n maxTimeToFirstByteMs: 10000,\n maxLoadTimeMs: 120000,\n timeoutRetry: {\n maxNumRetry: 20,\n retryDelayMs: 0,\n maxRetryDelayMs: 15\n },\n errorRetry: {\n maxNumRetry: 6,\n retryDelayMs: 1000,\n maxRetryDelayMs: 15\n }\n }\n }\n // liveDurationInfinity: false\n};\n","var HTMLVideo = require('./HTMLVideo');\n\nmodule.exports = HTMLVideo;\n","var EventEmitter = require('eventemitter3');\nvar cloneDeep = require('lodash.clonedeep');\nvar deepFreeze = require('deep-freeze');\nvar ERROR = require('../error');\n\nfunction IFrameVideo(options) {\n options = options || {};\n\n var containerElement = options.containerElement;\n if (!(containerElement instanceof HTMLElement)) {\n throw new Error('Container element required to be instance of HTMLElement');\n }\n\n var iframeElement = document.createElement('iframe');\n iframeElement.style.width = '100%';\n iframeElement.style.height = '100%';\n iframeElement.style.border = 0;\n iframeElement.style.backgroundColor = 'black';\n iframeElement.allowFullscreen = false;\n iframeElement.allow = 'autoplay';\n containerElement.appendChild(iframeElement);\n\n var events = new EventEmitter();\n var destroyed = false;\n var observedProps = {\n stream: false,\n loaded: false,\n paused: false,\n time: false,\n duration: false,\n buffering: false,\n buffered: false,\n volume: false,\n muted: false,\n playbackSpeed: false\n };\n\n function onMessage(event) {\n if (event.source !== iframeElement.contentWindow) {\n return;\n }\n\n var data = event.data || event.message;\n if (!data || typeof data.event !== 'string') {\n return;\n }\n\n var eventName = data.event;\n var args = Array.isArray(data.args) ? data.args : [];\n events.emit.apply(events, [eventName].concat(args));\n }\n function sendMessage(action) {\n iframeElement.contentWindow.postMessage(action, '*');\n }\n function onError(error) {\n events.emit('error', error);\n if (error.critical) {\n command('unload');\n }\n }\n function onPropChanged(propName, propValue) {\n if (observedProps[propName]) {\n events.emit('propChanged', propName, propValue);\n }\n }\n function observeProp(propName) {\n if (observedProps.hasOwnProperty(propName)) {\n observedProps[propName] = true;\n }\n }\n function command(commandName, commandArgs) {\n switch (commandName) {\n case 'load': {\n command('unload');\n if (commandArgs && commandArgs.stream && typeof commandArgs.stream.playerFrameUrl === 'string') {\n window.addEventListener('message', onMessage, false);\n iframeElement.onload = function() {\n sendMessage({\n type: 'command',\n commandName: commandName,\n commandArgs: commandArgs\n });\n };\n iframeElement.src = commandArgs.stream.playerFrameUrl;\n } else {\n onError(Object.assign({}, ERROR.UNSUPPORTED_STREAM, {\n critical: true,\n stream: commandArgs ? commandArgs.stream : null\n }));\n }\n\n return true;\n }\n case 'unload': {\n window.removeEventListener('message', onMessage);\n iframeElement.onload = null;\n iframeElement.removeAttribute('src');\n onPropChanged('stream', null);\n onPropChanged('loaded', null);\n onPropChanged('paused', null);\n onPropChanged('time', null);\n onPropChanged('duration', null);\n onPropChanged('buffering', null);\n onPropChanged('buffered', null);\n onPropChanged('volume', null);\n onPropChanged('muted', null);\n onPropChanged('playbackSpeed', null);\n return true;\n }\n case 'destroy': {\n command('unload');\n destroyed = true;\n events.removeAllListeners();\n containerElement.removeChild(iframeElement);\n return true;\n }\n }\n }\n\n this.on = function(eventName, listener) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n events.on(eventName, listener);\n };\n this.dispatch = function(action) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n if (action) {\n action = deepFreeze(cloneDeep(action));\n switch (action.type) {\n case 'observeProp': {\n observeProp(action.propName);\n sendMessage(action);\n return;\n }\n case 'setProp': {\n sendMessage(action);\n return;\n }\n case 'command': {\n if (!command(action.commandName, action.commandArgs)) {\n sendMessage(action);\n }\n\n return;\n }\n }\n }\n\n throw new Error('Invalid action dispatched: ' + JSON.stringify(action));\n };\n}\n\nIFrameVideo.canPlayStream = function(stream) {\n return Promise.resolve(stream && typeof stream.playerFrameUrl === 'string');\n};\n\nIFrameVideo.manifest = {\n name: 'IFrameVideo',\n external: true,\n props: ['stream', 'loaded', 'paused', 'time', 'duration', 'buffering', 'buffered', 'audioTracks', 'selectedAudioTrackId', 'subtitlesTracks', 'selectedSubtitlesTrackId', 'subtitlesOffset', 'subtitlesSize', 'subtitlesTextColor', 'subtitlesBackgroundColor', 'subtitlesOutlineColor', 'volume', 'muted', 'playbackSpeed', 'extraSubtitlesTracks', 'selectedExtraSubtitlesTrackId', 'extraSubtitlesDelay', 'extraSubtitlesSize', 'extraSubtitlesOffset', 'extraSubtitlesTextColor', 'extraSubtitlesBackgroundColor', 'extraSubtitlesOutlineColor'],\n commands: ['load', 'unload', 'destroy', 'addExtraSubtitlesTracks'],\n events: ['propValue', 'propChanged', 'ended', 'error', 'subtitlesTrackLoaded', 'audioTrackLoaded', 'extraSubtitlesTrackLoaded', 'implementationChanged']\n};\n\nmodule.exports = IFrameVideo;\n","var IFrameVideo = require('./IFrameVideo');\n\nmodule.exports = IFrameVideo;\n","var EventEmitter = require('eventemitter3');\nvar cloneDeep = require('lodash.clonedeep');\nvar deepFreeze = require('deep-freeze');\nvar ERROR = require('../error');\n\nvar SUBS_SCALE_FACTOR = 0.0066;\n\nvar stremioToMPVProps = {\n 'loaded': 'loaded',\n 'stream': null,\n 'paused': 'pause',\n 'time': 'time-pos',\n 'duration': 'duration',\n 'buffering': 'buffering',\n 'volume': 'volume',\n 'muted': 'mute',\n 'playbackSpeed': 'speed',\n 'audioTracks': 'audioTracks',\n 'selectedAudioTrackId': 'aid',\n 'subtitlesTracks': 'subtitlesTracks',\n 'selectedSubtitlesTrackId': 'sid',\n 'subtitlesSize': 'sub-scale',\n 'subtitlesTextColor': 'sub-color',\n 'subtitlesBackgroundColor': 'sub-back-color',\n 'subtitlesOutlineColor': 'sub-border-color',\n};\n\nfunction parseVersion(version) {\n return version.split('.').slice(0, 2).map(function (v) { return parseInt(v); });\n}\n\nfunction versionGTE(a, b) {\n var versionA = parseVersion(a);\n var versionB = parseVersion(b);\n if (versionA[0] > versionB[0]) return true;\n if (versionA[0] < versionB[0]) return false;\n return versionA[1] >= versionB[1];\n}\n\nfunction ShellVideo(options) {\n options = options || {};\n\n var ipc = options.shellTransport;\n var observedProps = {};\n var props = {};\n var stremioProps = {};\n Object.keys(stremioToMPVProps).forEach(function(key) {\n if(stremioToMPVProps[key]) {\n stremioProps[stremioToMPVProps[key]] = key;\n }\n });\n var resolveMPVVersion;\n var waitForMPVVersion = new Promise(function (resolve) {\n resolveMPVVersion = resolve;\n });\n command('unload');\n\n ipc.send('mpv-command', ['stop']);\n ipc.send('mpv-observe-prop', 'path');\n\n ipc.send('mpv-observe-prop', 'time-pos');\n ipc.send('mpv-observe-prop', 'volume');\n ipc.send('mpv-observe-prop', 'pause');\n ipc.send('mpv-observe-prop', 'seeking');\n ipc.send('mpv-observe-prop', 'eof-reached');\n\n ipc.send('mpv-observe-prop', 'duration');\n ipc.send('mpv-observe-prop', 'metadata');\n ipc.send('mpv-observe-prop', 'video-params'); // video width/height\n ipc.send('mpv-observe-prop', 'track-list');\n\n ipc.send('mpv-observe-prop', 'paused-for-cache');\n ipc.send('mpv-observe-prop', 'cache-buffering-state');\n\n ipc.send('mpv-observe-prop', 'aid');\n ipc.send('mpv-observe-prop', 'vid');\n ipc.send('mpv-observe-prop', 'sid');\n ipc.send('mpv-observe-prop', 'sub-scale');\n ipc.send('mpv-observe-prop', 'sub-pos');\n ipc.send('mpv-observe-prop', 'speed');\n\n ipc.send('mpv-observe-prop', 'mpv-version');\n ipc.send('mpv-observe-prop', 'ffmpeg-version');\n\n var events = new EventEmitter();\n var destroyed = false;\n var stream = null;\n\n var avgDuration = 0;\n var minClipDuration = 30;\n\n function setBackground(visible) {\n // This is a bit of a hack but there is no better way so far\n var bg = visible ? '' : 'transparent';\n for(var container = options.containerElement; container; container = container.parentElement) {\n container.style.background = bg;\n }\n }\n function logProp(args) {\n // eslint-disable-next-line no-console\n console.log(args.name+': '+args.data);\n }\n function embeddedProp(args) {\n return args.data ? 'EMBEDDED_' + args.data.toString() : null;\n }\n\n var last_time = 0;\n ipc.on('mpv-prop-change', function(args) {\n switch (args.name) {\n case 'mpv-version':\n resolveMPVVersion(args.data);\n props[args.name] = logProp(args);\n break;\n case 'ffmpeg-version': {\n props[args.name] = logProp(args);\n break;\n }\n case 'duration': {\n var intDuration = args.data | 0;\n // Accumulate average duration over time. if it is greater than minClipDuration\n // and equal to the currently reported duration, it is returned as video length.\n // If the reported duration changes over time the average duration is always\n // smaller than the currently reported one so we set the video length to 0 as\n // this is a live stream.\n props[args.name] = args.data >= minClipDuration && (!avgDuration || intDuration === avgDuration) ? Math.round(args.data * 1000) : null;\n // The average duration is calculated using right bit shifting by one of the sum of\n // the previous average and the currently reported value. This method is not very precise\n // as we get integer value but we avoid floating point errors. JS uses 32 bit values\n // for bitwise maths so the maximum supported video duration is 1073741823 (2 ^ 30 - 1)\n // which is around 34 years of playback time.\n avgDuration = avgDuration ? (avgDuration + intDuration) >> 1 : intDuration;\n props.loaded = intDuration > 0;\n if(props.loaded) onPropChanged('loaded');\n break;\n }\n case 'time-pos': {\n props[args.name] = Math.round(args.data*1000);\n break;\n }\n case 'sub-scale': {\n props[args.name] = Math.round(args.data / SUBS_SCALE_FACTOR);\n break;\n }\n case 'paused-for-cache':\n case 'seeking':\n {\n if(props.buffering !== args.data) {\n props.buffering = args.data;\n onPropChanged('buffering');\n }\n break;\n }\n case 'aid':\n case 'sid':\n case 'vid': {\n props[args.name] = embeddedProp(args);\n break;\n }\n // In that case onPropChanged() is manually invoked as track-list contains all\n // the tracks but we have different event for each track type\n case 'track-list': {\n props.audioTracks = args.data.filter(function(x) { return x.type === 'audio'; })\n .map(function(x, index) {\n return {\n id: 'EMBEDDED_' + x.id,\n lang: x.lang === undefined ? 'Track' + (index + 1) : x.lang,\n label: x.title === undefined || x.lang === undefined ? '' : x.title || x.lang,\n origin: 'EMBEDDED',\n embedded: true,\n mode: x.id === props.aid ? 'showing' : 'disabled',\n };\n });\n onPropChanged('audioTracks');\n\n props.subtitlesTracks = args.data\n .filter(function(x) { return x.type === 'sub'; })\n .map(function(x, index) {\n return {\n id: 'EMBEDDED_' + x.id,\n lang: x.lang === undefined ? 'Track ' + (index + 1) : x.lang,\n label: x.title === undefined || x.lang === undefined ? '' : x.title || x.lang,\n origin: 'EMBEDDED',\n embedded: true,\n mode: x.id === props.sid ? 'showing' : 'disabled',\n };\n });\n onPropChanged('subtitlesTracks');\n break;\n }\n default: {\n props[args.name] = args.data;\n break;\n }\n }\n\n // Cap time update to update only when a second passes\n var current_time = args.name === 'time-pos' ? Math.floor(props['time-pos'] / 1000) : null;\n if((!current_time || last_time !== current_time)&& stremioProps[args.name]) {\n if(current_time) {\n last_time = current_time;\n }\n onPropChanged(stremioProps[args.name]);\n }\n });\n ipc.on('mpv-event-ended', function(args) {\n if (args.error) onError(args.error);\n else onEnded();\n });\n\n function getProp(propName) {\n if(stremioToMPVProps[propName]) return props[stremioToMPVProps[propName]];\n // eslint-disable-next-line no-console\n console.log('Unsupported prop requested', propName);\n return null;\n }\n function onError(error) {\n events.emit('error', error);\n if (error.critical) {\n command('unload');\n }\n }\n function onEnded() {\n events.emit('ended');\n }\n function onPropChanged(propName) {\n if (observedProps[propName]) {\n events.emit('propChanged', propName, getProp(propName));\n }\n }\n function observeProp(propName) {\n events.emit('propValue', propName, getProp(propName));\n observedProps[propName] = true;\n }\n function setProp(propName, propValue) {\n switch (propName) {\n case 'paused': {\n if (stream !== null) {\n ipc.send('mpv-set-prop', ['pause', propValue]);\n }\n\n break;\n }\n case 'time': {\n if (stream !== null && propValue !== null && isFinite(propValue)) {\n ipc.send('mpv-set-prop', ['time-pos', propValue/1000]);\n }\n\n break;\n }\n case 'playbackSpeed': {\n if (stream !== null && propValue !== null && isFinite(propValue)) {\n ipc.send('mpv-set-prop', ['speed', propValue]);\n }\n break;\n }\n case 'volume': {\n if (stream !== null && propValue !== null && isFinite(propValue)) {\n props.mute = false;\n ipc.send('mpv-set-prop', ['mute', 'no']);\n ipc.send('mpv-set-prop', ['volume', propValue]);\n onPropChanged('muted');\n onPropChanged('volume');\n }\n break;\n }\n case 'muted': {\n if (stream !== null) {\n ipc.send('mpv-set-prop', ['mute', propValue ? 'yes' : 'no']);\n props.mute = propValue;\n onPropChanged('muted');\n }\n break;\n }\n case 'selectedAudioTrackId': {\n if (stream !== null) {\n var actualId = propValue.slice('EMBEDDED_'.length);\n ipc.send('mpv-set-prop', ['aid', actualId]);\n }\n break;\n }\n case 'selectedSubtitlesTrackId': {\n if (stream !== null) {\n if(propValue) {\n var actualId = propValue.slice('EMBEDDED_'.length);\n ipc.send('mpv-set-prop', ['sid', actualId]);\n events.emit('subtitlesTrackLoaded', propValue);\n } else {\n // turn off subs\n ipc.send('mpv-set-prop', ['sid', 'no']);\n props.sid = null;\n }\n }\n onPropChanged('selectedSubtitlesTrackId');\n break;\n }\n case 'subtitlesSize': {\n ipc.send('mpv-set-prop', [stremioToMPVProps[propName], propValue * SUBS_SCALE_FACTOR]);\n break;\n }\n case 'subtitlesOffset': {\n ipc.send('mpv-set-prop', [stremioToMPVProps[propName], propValue]);\n break;\n }\n case 'subtitlesTextColor':\n case 'subtitlesBackgroundColor':\n case 'subtitlesOutlineColor':\n {\n // MPV accepts color in #AARRGGBB\n var argb = propValue.replace(/^#(\\w{6})(\\w{2})$/, '#$2$1');\n ipc.send('mpv-set-prop', [stremioToMPVProps[propName], argb]);\n break;\n }\n default: {\n // eslint-disable-next-line no-console\n console.log('Unhandled setProp for', propName);\n }\n }\n }\n function command(commandName, commandArgs) {\n switch (commandName) {\n case 'load': {\n command('unload');\n if (commandArgs && commandArgs.stream && typeof commandArgs.stream.url === 'string') {\n waitForMPVVersion.then(function (mpvVersion) {\n stream = commandArgs.stream;\n onPropChanged('stream');\n\n setBackground(false);\n\n ipc.send('mpv-set-prop', ['no-sub-ass']);\n\n // opengl-cb is an alias for the new name \"libmpv\", as shown in mpv's video/out/vo.c aliases\n // opengl is an alias for the new name \"gpu\"\n // When on Windows we use d3d for the rendering in separate window\n var windowRenderer = navigator.platform === 'Win32' ? 'direct3d' : 'opengl';\n var videoOutput = options.mpvSeparateWindow ? windowRenderer : 'opengl-cb';\n var separateWindow = options.mpvSeparateWindow ? 'yes' : 'no';\n ipc.send('mpv-set-prop', ['vo', videoOutput]);\n ipc.send('mpv-set-prop', ['osc', separateWindow]);\n ipc.send('mpv-set-prop', ['input-defalt-bindings', separateWindow]);\n ipc.send('mpv-set-prop', ['input-vo-keyboard', separateWindow]);\n\n var startAt = Math.floor(parseInt(commandArgs.time, 10) / 1000) || 0;\n if (startAt !== 0) {\n if (versionGTE(mpvVersion, '0.39')) {\n ipc.send('mpv-command', ['loadfile', stream.url, 'replace', '-1', 'start=+' + startAt]);\n } else {\n ipc.send('mpv-command', ['loadfile', stream.url, 'replace', 'start=+' + startAt]);\n }\n } else {\n ipc.send('mpv-command', ['loadfile', stream.url]);\n }\n ipc.send('mpv-set-prop', ['pause', false]);\n ipc.send('mpv-set-prop', ['speed', props.speed]);\n ipc.send('mpv-set-prop', ['aid', props.aid]);\n ipc.send('mpv-set-prop', ['mute', 'no']);\n\n onPropChanged('paused');\n onPropChanged('time');\n onPropChanged('duration');\n onPropChanged('buffering');\n onPropChanged('volume');\n onPropChanged('muted');\n onPropChanged('subtitlesTracks');\n onPropChanged('selectedSubtitlesTrackId');\n });\n } else {\n onError(Object.assign({}, ERROR.UNSUPPORTED_STREAM, {\n critical: true,\n stream: commandArgs ? commandArgs.stream : null\n }));\n }\n break;\n }\n case 'unload': {\n props = {\n loaded: false,\n pause: false,\n mute: false,\n speed: 1,\n subtitlesTracks: [],\n audioTracks: [],\n buffering: false,\n aid: null,\n sid: null,\n };\n avgDuration = 0;\n ipc.send('mpv-command', ['stop']);\n onPropChanged('loaded');\n onPropChanged('stream');\n onPropChanged('paused');\n onPropChanged('time');\n onPropChanged('duration');\n onPropChanged('buffering');\n onPropChanged('volume');\n onPropChanged('muted');\n onPropChanged('subtitlesTracks');\n onPropChanged('selectedSubtitlesTrackId');\n setBackground(true);\n break;\n }\n case 'destroy': {\n command('unload');\n destroyed = true;\n events.removeAllListeners();\n break;\n }\n }\n }\n\n this.on = function (eventName, listener) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n events.on(eventName, listener);\n };\n this.dispatch = function (action) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n if (action) {\n action = deepFreeze(cloneDeep(action));\n switch (action.type) {\n case 'observeProp': {\n observeProp(action.propName);\n break;\n }\n case 'setProp': {\n setProp(action.propName, action.propValue);\n return;\n }\n case 'command': {\n command(\n action.commandName,\n action.commandArgs\n );\n return;\n }\n }\n }\n };\n}\nShellVideo.canPlayStream = function() {\n return Promise.resolve(true);\n};\n\nShellVideo.manifest = {\n name: 'ShellVideo',\n external: false,\n props: Object.keys(stremioToMPVProps),\n commands: ['load', 'unload', 'destroy'],\n events: [\n 'propValue',\n 'propChanged',\n 'ended',\n 'error',\n 'subtitlesTrackLoaded',\n ],\n};\n\nmodule.exports = ShellVideo;\n","var ShellVideo = require('./ShellVideo');\n\nmodule.exports = ShellVideo;\n","var EventEmitter = require('eventemitter3');\nvar cloneDeep = require('lodash.clonedeep');\nvar deepFreeze = require('deep-freeze');\nvar selectVideoImplementation = require('./selectVideoImplementation');\nvar ERROR = require('../error');\n\nfunction StremioVideo() {\n var video = null;\n var events = new EventEmitter();\n var destroyed = false;\n\n this.on = function(eventName, listener) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n events.on(eventName, listener);\n };\n this.dispatch = function(action, options) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n if (action) {\n action = deepFreeze(cloneDeep(action));\n options = options || {};\n if (action.type === 'command' && action.commandName === 'load' && action.commandArgs) {\n var Video = selectVideoImplementation(action.commandArgs, options);\n if (video !== null && video.constructor !== Video) {\n video.dispatch({ type: 'command', commandName: 'destroy' });\n video = null;\n }\n if (video === null) {\n if (Video === null) {\n events.emit('error', Object.assign({}, ERROR.UNSUPPORTED_STREAM, {\n error: new Error('No video implementation was selected'),\n critical: true,\n stream: action.commandArgs.stream\n }));\n return;\n }\n\n video = new Video(options);\n video.on('ended', function() {\n events.emit('ended');\n });\n video.on('error', function(args) {\n events.emit('error', args);\n });\n video.on('propValue', function(propName, propValue) {\n events.emit('propValue', propName, propValue);\n });\n video.on('propChanged', function(propName, propValue) {\n events.emit('propChanged', propName, propValue);\n });\n video.on('subtitlesTrackLoaded', function(track) {\n events.emit('subtitlesTrackLoaded', track);\n });\n video.on('audioTrackLoaded', function(track) {\n events.emit('audioTrackLoaded', track);\n });\n video.on('extraSubtitlesTrackLoaded', function(track) {\n events.emit('extraSubtitlesTrackLoaded', track);\n });\n if (Video.manifest.external) {\n video.on('implementationChanged', function(manifest) {\n events.emit('implementationChanged', manifest);\n });\n } else {\n events.emit('implementationChanged', Video.manifest);\n }\n }\n }\n\n if (video !== null) {\n try {\n video.dispatch(action);\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(video.constructor.manifest.name, error);\n }\n }\n\n if (action.type === 'command' && action.commandName === 'destroy') {\n video = null;\n }\n\n return;\n }\n\n throw new Error('Invalid action dispatched: ' + JSON.stringify(action));\n };\n this.destroy = function() {\n destroyed = true;\n if (video !== null) {\n video.dispatch({ type: 'command', commandName: 'destroy' });\n video = null;\n }\n\n events.removeAllListeners();\n };\n}\n\nStremioVideo.ERROR = ERROR;\n\nmodule.exports = StremioVideo;\n","var StremioVideo = require('./StremioVideo');\n\nmodule.exports = StremioVideo;\n","var ChromecastSenderVideo = require('../ChromecastSenderVideo');\nvar ShellVideo = require('../ShellVideo');\nvar HTMLVideo = require('../HTMLVideo');\nvar TizenVideo = require('../TizenVideo');\nvar WebOsVideo = require('../WebOsVideo');\nvar IFrameVideo = require('../IFrameVideo');\nvar YouTubeVideo = require('../YouTubeVideo');\nvar withStreamingServer = require('../withStreamingServer');\nvar withHTMLSubtitles = require('../withHTMLSubtitles');\nvar withVideoParams = require('../withVideoParams');\n\nfunction selectVideoImplementation(commandArgs, options) {\n if (!commandArgs.stream || typeof commandArgs.stream.externalUrl === 'string') {\n return null;\n }\n\n if (options.chromecastTransport && options.chromecastTransport.getCastState() === cast.framework.CastState.CONNECTED) {\n return ChromecastSenderVideo;\n }\n\n if (typeof commandArgs.stream.ytId === 'string') {\n return withVideoParams(withHTMLSubtitles(YouTubeVideo));\n }\n\n if (typeof commandArgs.stream.playerFrameUrl === 'string') {\n return withVideoParams(IFrameVideo);\n }\n\n if (options.shellTransport) {\n return withStreamingServer(withHTMLSubtitles(ShellVideo));\n }\n\n if (typeof commandArgs.streamingServerURL === 'string') {\n if (commandArgs.platform === 'Tizen') {\n return withStreamingServer(withHTMLSubtitles(TizenVideo));\n }\n if (commandArgs.platform === 'webOS') {\n return withStreamingServer(withHTMLSubtitles(WebOsVideo));\n }\n return withStreamingServer(withHTMLSubtitles(HTMLVideo));\n }\n\n if (typeof commandArgs.stream.url === 'string') {\n if (commandArgs.platform === 'Tizen') {\n return withVideoParams(withHTMLSubtitles(TizenVideo));\n }\n if (commandArgs.platform === 'webOS') {\n return withVideoParams(withHTMLSubtitles(WebOsVideo));\n }\n return withVideoParams(withHTMLSubtitles(HTMLVideo));\n }\n\n return null;\n}\n\nmodule.exports = selectVideoImplementation;\n","const SCOPE = 'AVPlay';\n\nconst createAVPlay = (transport) => {\n const getState = () => {\n return transport.request(SCOPE, 'getState');\n };\n\n const getCurrentTime = () => {\n return transport.request(SCOPE, 'getCurrentTime');\n };\n\n const getDuration = () => {\n return transport.request(SCOPE, 'getDuration');\n };\n\n const getTotalTrackInfo = () => {\n return transport.request(SCOPE, 'getTotalTrackInfo');\n };\n\n const getCurrentStreamInfo = () => {\n return transport.request(SCOPE, 'getCurrentStreamInfo');\n };\n\n const open = (path) => {\n return transport.request(SCOPE, 'open', path);\n };\n\n const prepareAsync = async (successHandler, errorHandler) => {\n const [handler, handlerResult] = await transport.request(SCOPE, 'prepareAsync', 'handler:success', 'handler:error');\n if (handler === 'handler:success') successHandler();\n if (handler === 'handler:error') errorHandler(...handlerResult);\n };\n\n const pause = () => {\n return transport.request(SCOPE, 'pause');\n };\n\n const play = () => {\n return transport.request(SCOPE, 'play');\n };\n\n const stop = () => {\n return transport.request(SCOPE, 'stop');\n };\n\n const seekTo = (time) => {\n return transport.request(SCOPE, 'seekTo', time);\n };\n\n const setSpeed = (rate) => {\n return transport.request(SCOPE, 'setSpeed', rate);\n };\n\n const setSelectTrack = (type, id) => {\n return transport.request(SCOPE, 'setSelectTrack', type, id);\n };\n\n const setDisplayRect = (x, y, width, height) => {\n return transport.request(SCOPE, 'setDisplayRect', x, y, width, height);\n };\n\n const setDisplayMethod = (method) => {\n return transport.request(SCOPE, 'setDisplayMethod', method);\n };\n\n const setListener = (listener) => {\n const handlers = Object.keys(listener).map((name) => `handler:${name}`);\n const onHandlerResponse = (handler, handlerResult) => {\n const name = handler.replace('handler:', '');\n if (listener[name]) {\n handlerResult ? listener[name](...handlerResult) : listener[name]();\n }\n };\n\n transport.listen(SCOPE, 'setListener', onHandlerResponse, ...handlers);\n };\n\n return {\n getState,\n getCurrentTime,\n getDuration,\n getTotalTrackInfo,\n getCurrentStreamInfo,\n open,\n prepareAsync,\n pause,\n play,\n stop,\n seekTo,\n setSpeed,\n setSelectTrack,\n setDisplayRect,\n setDisplayMethod,\n setListener,\n };\n};\n\nmodule.exports = createAVPlay;\n","var EventEmitter = require('eventemitter3');\nvar cloneDeep = require('lodash.clonedeep');\nvar deepFreeze = require('deep-freeze');\nvar Color = require('color');\nvar ERROR = require('../error');\nvar getTracksData = require('../tracksData');\nvar createAVPlay = require('./AVPlay');\n\nfunction TizenVideo(options) {\n options = options || {};\n\n var isBuffering = true;\n var videoSpeed = 1;\n var currentSubTrack = null;\n var currentAudioTrack = null;\n\n var containerElement = options.containerElement;\n if (!(containerElement instanceof HTMLElement)) {\n throw new Error('Container element required to be instance of HTMLElement');\n }\n\n var AVPlay = createAVPlay(options.transport);\n\n var promiseAudioTrackChange = false;\n\n var size = 100;\n var offset = 0;\n var textColor = 'rgb(255, 255, 255)';\n var backgroundColor = 'rgba(0, 0, 0, 0)';\n var outlineColor = 'rgb(34, 34, 34)';\n var subtitlesOpacity = 1;\n\n var objElement = document.createElement('object');\n objElement.type = 'application/avplayer';\n objElement.style.width = '100%';\n objElement.style.height = '100%';\n objElement.style.backgroundColor = 'black';\n\n var lastSub;\n var disabledSubs = false;\n\n async function refreshSubtitle() {\n if (lastSub) {\n var currentTime = await getProp('time');\n var lastSubDurationDiff = lastSub.duration - (currentTime - lastSub.now);\n if (lastSubDurationDiff > 0) renderSubtitle(lastSubDurationDiff, lastSub.text);\n }\n }\n\n async function renderSubtitle(duration, text) {\n if (disabledSubs) return;\n var now = await getProp('time');\n // we ignore custom delay here, it's not needed for embedded subs\n lastSub = {\n duration: duration,\n text: text,\n now: now,\n };\n if (subtitleTimeout) {\n clearTimeout(subtitleTimeout);\n subtitleTimeout = false;\n }\n\n while (subtitlesElement.hasChildNodes()) {\n subtitlesElement.removeChild(subtitlesElement.lastChild);\n }\n\n subtitlesElement.style.bottom = offset + '%';\n subtitlesElement.style.opacity = subtitlesOpacity;\n\n var cueNode = document.createElement('span');\n cueNode.innerHTML = text;\n cueNode.style.display = 'inline-block';\n cueNode.style.padding = '0.2em';\n cueNode.style.fontSize = Math.floor(size / 25) + 'vmin';\n cueNode.style.color = textColor;\n cueNode.style.backgroundColor = backgroundColor;\n cueNode.style.textShadow = '1px 1px 0.1em ' + outlineColor;\n\n subtitlesElement.appendChild(cueNode);\n subtitlesElement.appendChild(document.createElement('br'));\n\n if (duration) {\n subtitleTimeout = setTimeout(function() {\n while (subtitlesElement.hasChildNodes()) {\n subtitlesElement.removeChild(subtitlesElement.lastChild);\n }\n }, parseInt(duration * videoSpeed));\n }\n }\n\n var subtitleTimeout = false;\n\n AVPlay.setListener({\n onbufferingstart: function() {\n isBuffering = true;\n onPropChanged('buffering');\n },\n onbufferingprogress: function() {\n isBuffering = true;\n onPropChanged('buffering');\n },\n onbufferingcomplete: function() {\n isBuffering = false;\n onPropChanged('buffering');\n },\n oncurrentplaytime: function() {\n onPropChanged('time');\n },\n onsubtitlechange: function(duration, text) {\n renderSubtitle(duration, text);\n },\n onstreamcompleted: function() {\n onEnded();\n }\n });\n\n containerElement.appendChild(objElement);\n\n var subtitlesElement = document.createElement('div');\n subtitlesElement.style.position = 'absolute';\n subtitlesElement.style.right = '0';\n subtitlesElement.style.bottom = '0';\n subtitlesElement.style.left = '0';\n subtitlesElement.style.zIndex = '1';\n subtitlesElement.style.textAlign = 'center';\n containerElement.style.position = 'relative';\n containerElement.style.zIndex = '0';\n containerElement.appendChild(subtitlesElement);\n\n var events = new EventEmitter();\n var destroyed = false;\n var stream = null;\n var retries = 0;\n var maxRetries = 5;\n var isLoaded = null;\n var observedProps = {\n stream: false,\n loaded: false,\n paused: false,\n time: false,\n duration: false,\n buffering: false,\n subtitlesTracks: false,\n selectedSubtitlesTrackId: false,\n subtitlesOffset: false,\n subtitlesSize: false,\n subtitlesTextColor: false,\n subtitlesBackgroundColor: false,\n subtitlesOutlineColor: false,\n subtitlesOpacity: false,\n audioTracks: false,\n selectedAudioTrackId: false,\n playbackSpeed: false\n };\n\n var gotTraktData = false;\n var tracksData = { audio: [], subs: [] };\n\n function retrieveExtendedTracks() {\n if (!gotTraktData && stream !== null) {\n gotTraktData = true;\n getTracksData(stream.url, function(resp) {\n if (resp) {\n tracksData = resp;\n }\n if (((tracksData || {}).subs || []).length) {\n onPropChanged('subtitlesTracks');\n }\n if (((tracksData || {}).audio || []).length) {\n onPropChanged('audioTracks');\n }\n });\n }\n }\n\n async function getProp(propName) {\n switch (propName) {\n case 'stream': {\n return stream;\n }\n case 'loaded': {\n return isLoaded;\n }\n case 'paused': {\n if (stream === null) {\n return null;\n }\n\n var state = await AVPlay.getState();\n var isPaused = !!(state === 'PAUSED');\n\n if (!isPaused && promiseAudioTrackChange) {\n AVPlay.setSelectTrack('AUDIO', parseInt(promiseAudioTrackChange.replace('EMBEDDED_', '')));\n promiseAudioTrackChange = false;\n }\n\n return isPaused;\n }\n case 'time': {\n var currentTime = await AVPlay.getCurrentTime();\n if (stream === null || currentTime === null || !isFinite(currentTime)) {\n return null;\n }\n\n return Math.floor(currentTime);\n }\n case 'duration': {\n var duration = await AVPlay.getDuration();\n if (stream === null || duration === null || !isFinite(duration)) {\n return null;\n }\n\n return Math.floor(duration);\n }\n case 'buffering': {\n if (stream === null) {\n return null;\n }\n\n return isBuffering;\n }\n case 'subtitlesTracks': {\n if (stream === null) {\n return [];\n }\n\n var totalTrackInfo = await AVPlay.getTotalTrackInfo();\n var textTracks = [];\n\n for (var i = 0; i < totalTrackInfo.length; i++) {\n if (totalTrackInfo[i].type === 'TEXT') {\n var textTrack = totalTrackInfo[i];\n var textTrackId = 'EMBEDDED_' + String(textTrack.index);\n if (!currentSubTrack && !textTracks.length) {\n currentSubTrack = textTrackId;\n }\n var extra = {};\n try {\n extra = JSON.parse(textTrack.extra_info);\n } catch(e) {}\n var textTrackLang = typeof extra.track_lang === 'string' && extra.track_lang.length > 0 ? extra.track_lang.trim() : null;\n if (((tracksData || {}).subs || []).length) {\n var extendedTrackData = tracksData.subs.find(function(el) {\n return (el || {}).id-1 === textTrack.index;\n });\n if (extendedTrackData) {\n textTrackLang = extendedTrackData.lang || 'eng';\n }\n }\n textTracks.push({\n id: textTrackId,\n lang: textTrackLang,\n label: textTrackLang,\n origin: 'EMBEDDED',\n embedded: true,\n mode: !disabledSubs && textTrackId === currentSubTrack ? 'showing' : 'disabled',\n });\n }\n }\n\n return textTracks;\n }\n case 'selectedSubtitlesTrackId': {\n if (stream === null || disabledSubs) {\n return null;\n }\n\n var currentTracks = await AVPlay.getCurrentStreamInfo();\n var currentIndex;\n\n for (var i = 0; i < currentTracks.length; i++) {\n if (currentTracks[i].type === 'TEXT') {\n currentIndex = currentTracks[i].index;\n\n break;\n }\n }\n\n return currentIndex ? 'EMBEDDED_' + String(currentIndex) : null;\n\n }\n case 'subtitlesOffset': {\n if (destroyed) {\n return null;\n }\n\n return offset;\n }\n case 'subtitlesSize': {\n if (destroyed) {\n return null;\n }\n\n return size;\n }\n case 'subtitlesTextColor': {\n if (destroyed) {\n return null;\n }\n\n return textColor;\n }\n case 'subtitlesBackgroundColor': {\n if (destroyed) {\n return null;\n }\n\n return backgroundColor;\n }\n case 'subtitlesOutlineColor': {\n if (destroyed) {\n return null;\n }\n\n return outlineColor;\n }\n case 'subtitlesOpacity': {\n if (destroyed) {\n return null;\n }\n\n return subtitlesOpacity;\n }\n case 'audioTracks': {\n if (stream === null) {\n return [];\n }\n\n var totalTrackInfo = await AVPlay.getTotalTrackInfo();\n var audioTracks = [];\n\n for (var i = 0; i < totalTrackInfo.length; i++) {\n if (totalTrackInfo[i].type === 'AUDIO') {\n var audioTrack = totalTrackInfo[i];\n var audioTrackId = 'EMBEDDED_' + String(audioTrack.index);\n if (!currentAudioTrack && !audioTracks.length) {\n currentAudioTrack = audioTrackId;\n }\n var extra = {};\n try {\n extra = JSON.parse(audioTrack.extra_info);\n } catch(e) {}\n var audioTrackLang = typeof extra.language === 'string' && extra.language.length > 0 ? extra.language : null;\n if (((tracksData || {}).audio || []).length) {\n var extendedTrackData = tracksData.audio.find(function(el) {\n return (el || {}).id-1 === audioTrack.index;\n });\n if (extendedTrackData) {\n audioTrackLang = extendedTrackData.lang || 'eng';\n }\n }\n audioTracks.push({\n id: audioTrackId,\n lang: audioTrackLang,\n label: audioTrackLang,\n origin: 'EMBEDDED',\n embedded: true,\n mode: audioTrackId === currentAudioTrack ? 'showing' : 'disabled',\n });\n }\n }\n\n return audioTracks;\n }\n case 'selectedAudioTrackId': {\n if (stream === null) {\n return null;\n }\n\n if (promiseAudioTrackChange) {\n return promiseAudioTrackChange;\n }\n\n var currentTracks = await AVPlay.getCurrentStreamInfo();\n var currentIndex = false;\n\n for (var i = 0; i < currentTracks.length; i++) {\n if (currentTracks[i].type === 'AUDIO') {\n currentIndex = currentTracks[i].index;\n\n break;\n }\n }\n\n return currentIndex !== false ? 'EMBEDDED_' + String(currentIndex) : null;\n }\n case 'playbackSpeed': {\n if (destroyed || videoSpeed === null || !isFinite(videoSpeed)) {\n return null;\n }\n\n return videoSpeed;\n }\n default: {\n return null;\n }\n }\n }\n function onError(error) {\n events.emit('error', error);\n if (error.critical) {\n command('unload');\n }\n }\n function onEnded() {\n events.emit('ended');\n }\n async function onPropChanged(propName) {\n if (observedProps[propName]) {\n var propValue = await getProp(propName);\n events.emit('propChanged', propName, propValue);\n }\n }\n async function observeProp(propName) {\n if (observedProps.hasOwnProperty(propName)) {\n var propValue = await getProp(propName);\n events.emit('propValue', propName, propValue);\n observedProps[propName] = true;\n }\n }\n async function setProp(propName, propValue) {\n switch (propName) {\n case 'paused': {\n if (stream !== null) {\n var willPause = !!propValue;\n willPause ? AVPlay.pause() : AVPlay.play();\n if (willPause) {\n if (subtitleTimeout) {\n clearTimeout(subtitleTimeout);\n }\n } else {\n refreshSubtitle();\n }\n }\n\n onPropChanged('paused');\n\n // the paused state is usually correct, but i have seen it not change on tizen 3\n // which causes all kinds of issues in the UI: (only happens with some videos)\n var lastKnownProp = await getProp('paused');\n\n setTimeout(async function() {\n if (await getProp('paused') !== lastKnownProp) {\n onPropChanged('paused');\n }\n }, 1000);\n\n break;\n }\n case 'time': {\n if (stream !== null && propValue !== null && isFinite(propValue)) {\n AVPlay.seekTo(parseInt(propValue, 10));\n renderSubtitle(1, '');\n onPropChanged('time');\n }\n\n break;\n }\n case 'selectedSubtitlesTrackId': {\n if (stream !== null) {\n if ((currentSubTrack || '').indexOf('EMBEDDED_') === 0) {\n if ((propValue || '').indexOf('EMBEDDED_') === -1) {\n renderSubtitle(1, '');\n disabledSubs = true;\n onPropChanged('selectedSubtitlesTrackId');\n return;\n }\n disabledSubs = false;\n\n currentSubTrack = propValue;\n\n var subtitlesTracks = await getProp('subtitlesTracks');\n var selectedSubtitlesTrack = subtitlesTracks\n .find(function(track) {\n return track.id === propValue;\n });\n\n AVPlay.setSelectTrack('TEXT', parseInt(currentSubTrack.replace('EMBEDDED_', '')));\n\n if (selectedSubtitlesTrack) {\n events.emit('subtitlesTrackLoaded', selectedSubtitlesTrack);\n onPropChanged('selectedSubtitlesTrackId');\n }\n } else if (!propValue) {\n renderSubtitle(1, '');\n disabledSubs = true;\n onPropChanged('selectedSubtitlesTrackId');\n }\n }\n\n break;\n }\n case 'subtitlesOffset': {\n if (propValue !== null && isFinite(propValue)) {\n offset = Math.max(0, Math.min(100, parseInt(propValue, 10)));\n refreshSubtitle();\n onPropChanged('subtitlesOffset');\n }\n\n break;\n }\n case 'subtitlesSize': {\n if (propValue !== null && isFinite(propValue)) {\n size = Math.max(0, parseInt(propValue, 10));\n refreshSubtitle();\n onPropChanged('subtitlesSize');\n }\n\n break;\n }\n case 'subtitlesTextColor': {\n if (typeof propValue === 'string') {\n try {\n textColor = Color(propValue).rgb().string();\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Tizen player with HTML Subtitles', error);\n }\n\n refreshSubtitle();\n onPropChanged('subtitlesTextColor');\n }\n\n break;\n }\n case 'subtitlesBackgroundColor': {\n if (typeof propValue === 'string') {\n try {\n backgroundColor = Color(propValue).rgb().string();\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Tizen player with HTML Subtitles', error);\n }\n\n refreshSubtitle();\n\n onPropChanged('subtitlesBackgroundColor');\n }\n\n break;\n }\n case 'subtitlesOutlineColor': {\n if (typeof propValue === 'string') {\n try {\n outlineColor = Color(propValue).rgb().string();\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Tizen player with HTML Subtitles', error);\n }\n\n refreshSubtitle();\n\n onPropChanged('subtitlesOutlineColor');\n }\n\n break;\n }\n case 'subtitlesOpacity': {\n if (typeof propValue === 'number') {\n try {\n subtitlesOpacity = Math.min(Math.max(propValue / 100, 0), 1);\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Tizen player with HTML Subtitles', error);\n }\n\n refreshSubtitle();\n\n onPropChanged('subtitlesOpacity');\n }\n\n break;\n }\n case 'selectedAudioTrackId': {\n if (stream !== null) {\n currentAudioTrack = propValue;\n\n var audioTracks = await getProp('audioTracks');\n var selectedAudioTrack = audioTracks\n .find(function(track) {\n return track.id === propValue;\n });\n\n if (await getProp('paused')) {\n // issues before this logic:\n // tizen 3 does not allow changing audio track when paused\n // tizen 5 does, but it will only change getProp('selectedAudioTrackId') after playback starts\n\n // will be changed on next play event, until then we will overwrite the result of getProp('selectedAudioTrackId')\n promiseAudioTrackChange = propValue;\n onPropChanged('selectedAudioTrackId');\n } else {\n AVPlay.setSelectTrack('AUDIO', parseInt(currentAudioTrack.replace('EMBEDDED_', '')));\n }\n if (selectedAudioTrack) {\n events.emit('audioTrackLoaded', selectedAudioTrack);\n onPropChanged('selectedAudioTrackId');\n }\n }\n\n break;\n }\n case 'playbackSpeed': {\n if (propValue !== null && isFinite(propValue)) {\n videoSpeed = parseFloat(propValue);\n\n try {\n AVPlay.setSpeed(videoSpeed);\n } catch (e) {}\n\n onPropChanged('playbackSpeed');\n }\n\n break;\n }\n }\n }\n function command(commandName, commandArgs) {\n switch (commandName) {\n case 'load': {\n if (commandArgs && commandArgs.stream && typeof commandArgs.stream.url === 'string') {\n stream = commandArgs.stream;\n\n if (stream !== commandArgs.stream) {\n return;\n }\n onPropChanged('buffering');\n\n var tizenVersion = false;\n\n try {\n tizenVersion = parseFloat(global.tizen.systeminfo.getCapability('http://tizen.org/feature/platform.version'));\n } catch(e) {}\n\n if (!tizenVersion || tizenVersion >= 6) {\n retrieveExtendedTracks();\n }\n\n AVPlay.open(stream.url);\n AVPlay.setDisplayRect(0, 0, window.innerWidth, window.innerHeight);\n AVPlay.setDisplayMethod('PLAYER_DISPLAY_MODE_LETTER_BOX');\n AVPlay.seekTo(commandArgs.time !== null && isFinite(commandArgs.time) ? parseInt(commandArgs.time, 10) : 0);\n\n function onPrepareSuccess() {\n onPropChanged('duration');\n AVPlay.play();\n\n isLoaded = true;\n onPropChanged('loaded');\n onPropChanged('stream');\n onPropChanged('paused');\n onPropChanged('time');\n onPropChanged('duration');\n onPropChanged('subtitlesTracks');\n onPropChanged('selectedSubtitlesTrackId');\n onPropChanged('audioTracks');\n onPropChanged('selectedAudioTrackId');\n }\n\n function onPrepareError(error) {\n if (retries < maxRetries) {\n retries++;\n try {\n AVPlay.stop();\n } catch(e) {}\n command('load', commandArgs);\n } else {\n onError(Object.assign({}, ERROR.STREAM_FAILED_TO_LOAD, {\n critical: true,\n stream: commandArgs ? commandArgs.stream : null,\n error: error,\n }));\n }\n }\n\n AVPlay.prepareAsync(onPrepareSuccess, onPrepareError);\n } else {\n onError(Object.assign({}, ERROR.UNSUPPORTED_STREAM, {\n critical: true,\n stream: commandArgs ? commandArgs.stream : null\n }));\n }\n break;\n }\n case 'unload': {\n stream = null;\n AVPlay.stop();\n isLoaded = false;\n onPropChanged('loaded');\n onPropChanged('stream');\n onPropChanged('paused');\n onPropChanged('time');\n onPropChanged('duration');\n onPropChanged('buffering');\n onPropChanged('subtitlesTracks');\n onPropChanged('selectedSubtitlesTrackId');\n onPropChanged('audioTracks');\n onPropChanged('selectedAudioTrackId');\n break;\n }\n case 'destroy': {\n command('unload');\n destroyed = true;\n AVPlay.stop();\n onPropChanged('subtitlesOffset');\n onPropChanged('subtitlesSize');\n onPropChanged('subtitlesTextColor');\n onPropChanged('subtitlesBackgroundColor');\n onPropChanged('subtitlesOutlineColor');\n onPropChanged('subtitlesOpacity');\n onPropChanged('playbackSpeed');\n events.removeAllListeners();\n containerElement.removeChild(objElement);\n break;\n }\n }\n }\n\n this.on = function(eventName, listener) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n events.on(eventName, listener);\n };\n this.dispatch = function(action) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n if (action) {\n action = deepFreeze(cloneDeep(action));\n switch (action.type) {\n case 'observeProp': {\n observeProp(action.propName);\n return;\n }\n case 'setProp': {\n setProp(action.propName, action.propValue);\n return;\n }\n case 'command': {\n command(action.commandName, action.commandArgs);\n return;\n }\n }\n }\n\n throw new Error('Invalid action dispatched: ' + JSON.stringify(action));\n };\n}\n\nTizenVideo.canPlayStream = function() {\n return Promise.resolve(true);\n};\n\nTizenVideo.manifest = {\n name: 'TizenVideo',\n external: false,\n props: ['stream', 'loaded', 'paused', 'time', 'duration', 'buffering', 'audioTracks', 'selectedAudioTrackId', 'subtitlesTracks', 'selectedSubtitlesTrackId', 'subtitlesOffset', 'subtitlesSize', 'subtitlesTextColor', 'subtitlesBackgroundColor', 'subtitlesOutlineColor', 'subtitlesOpacity', 'playbackSpeed'],\n commands: ['load', 'unload', 'destroy'],\n events: ['propValue', 'propChanged', 'ended', 'error', 'subtitlesTrackLoaded', 'audioTrackLoaded']\n};\n\nmodule.exports = TizenVideo;\n","var TizenVideo = require('./TizenVideo');\n\nmodule.exports = TizenVideo;\n","var EventEmitter = require('eventemitter3');\nvar cloneDeep = require('lodash.clonedeep');\nvar deepFreeze = require('deep-freeze');\nvar ERROR = require('../error');\nvar getTracksData = require('../tracksData');\n\nfunction luna(params, call, fail, method) {\n if (call) params.onSuccess = call || function() {};\n\n params.onFailure = function (result) {\n // eslint-disable-next-line no-console\n console.log('WebOS', (params.method || method) + ' [fail][' + result.errorCode + '] ' + result.errorText );\n\n // eslint-disable-next-line no-console\n console.log('fail result', JSON.stringify(result));\n\n if (fail) fail();\n };\n\n window.webOS.service.request(method || 'luna://com.webos.media', params);\n}\n\nfunction launchVideoApp(params, success, failure) {\n window.webOS.service.request('luna://com.webos.applicationManager', {\n method: 'launch',\n parameters: {\n 'id': params.id,\n 'params': {\n 'payload':[\n {\n 'fullPath': params.url,\n 'artist':'',\n 'subtitle':'',\n 'dlnaInfo':{\n 'flagVal':4096,\n 'cleartextSize':'-1',\n 'contentLength':'-1',\n 'opVal':1,\n 'protocolInfo':'http-get:*:video/x-matroska:DLNA.ORG_OP=01;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=01700000000000000000000000000000',\n 'duration':0\n },\n 'mediaType':'VIDEO',\n 'thumbnail':'',\n 'deviceType':'DMR',\n 'album':'',\n 'fileName': params.name,\n 'lastPlayPosition': params.position\n }\n ]\n }\n },\n onSuccess: function () {\n success && success();\n },\n onFailure: function () {\n failure && failure(new Error('Failed to launch' + params.id));\n\n if (params.id === 'com.webos.app.photovideo') {\n params.id = 'com.webos.app.smartshare';\n launchVideoApp(params, success, failure);\n } else if(params.id === 'com.webos.app.smartshare') {\n params.id = 'com.webos.app.mediadiscovery';\n launchVideoApp(params, success, failure);\n }\n }\n });\n}\n\nvar webOsColors = ['none', 'black', 'white', 'yellow', 'red', 'green', 'blue'];\nvar stremioColors = {\n // rgba\n 'rgba(0, 0, 0, 0)': 'none',\n 'rgba(0, 0, 0, 255)': 'black',\n 'rgba(255, 255, 255, 255)': 'white',\n 'rgba(255, 255, 0, 255)': 'yellow',\n 'rgba(255, 0, 0, 255)': 'red',\n 'rgba(0, 255, 0, 255)': 'green',\n 'rgba(0, 0, 255, 255)': 'blue',\n // rgba case 2\n 'rgba(0, 0, 0, 1)': 'black',\n 'rgba(255, 255, 255, 1)': 'white',\n 'rgba(255, 255, 0, 1)': 'yellow',\n 'rgba(255, 0, 0, 1)': 'red',\n 'rgba(0, 255, 0, 1)': 'green',\n 'rgba(0, 0, 255, 1)': 'blue',\n // rgb\n 'rgb(0, 0, 0)': 'black',\n 'rgb(255, 255, 255)': 'white',\n 'rgb(255, 255, 0)': 'yellow',\n 'rgb(255, 0, 0)': 'red',\n 'rgb(0, 255, 0)': 'green',\n 'rgb(0, 0, 255)': 'blue',\n // 8-digit hex\n '#000000FF': 'black',\n '#FFFFFFFF': 'white',\n '#FFFF00FF': 'yellow',\n '#FF0000FF': 'red',\n '#00FF00FF': 'green',\n '#0000FFFF': 'blue',\n // 6-digit hex\n '#000000': 'black',\n '#FFFFFF': 'white',\n '#FFFF00': 'yellow',\n '#FF0000': 'red',\n '#00FF00': 'green',\n '#0000FF': 'blue'\n};\n\nfunction stremioSubOffsets(offset) {\n if (offset <= 0) {\n return -3;\n } else if (offset <= 5) {\n return -2;\n } else if (offset <= 10) {\n return 0;\n } else if (offset <= 15) {\n return 2;\n } else if (offset <= 20) {\n return 4;\n }\n return false;\n}\n\nfunction stremioSubSizes(size) {\n // there is also: 0 (tiny)\n if (size <= 100) {\n return 1;\n } else if (size <= 125) {\n // not used because of 50% step\n return 2;\n } else if (size <= 150) {\n return 3;\n } else if (size <= 200) {\n return 4;\n }\n return false;\n}\n\nvar device = {\n unsupportedAudio: ['DTS', 'TRUEHD'],\n unsupportedSubs: ['HDMV/PGS', 'VOBSUB']\n};\n\nvar fetchedDeviceInfo = false;\n\nfunction retrieveDeviceInfo() {\n if (fetchedDeviceInfo) {\n return;\n }\n window.webOS.service.request('luna://com.webos.service.config', {\n method: 'getConfigs',\n parameters: {\n 'configNames': [\n 'tv.model.edidType'\n ]\n },\n onSuccess: function (result) {\n if (((result || {}).configs || {})['tv.model.edidType']) {\n fetchedDeviceInfo = true;\n var edidType = result.configs['tv.model.edidType'].toLowerCase();\n if (edidType.includes('dts')) {\n device.unsupportedAudio = device.unsupportedAudio.filter(function(e) {\n return e !== 'DTS';\n });\n }\n if (edidType.includes('truehd')) {\n device.unsupportedAudio = device.unsupportedAudio.filter(function(e) {\n return e !== 'TRUEHD';\n });\n }\n }\n },\n onFailure: function (err) {\n // eslint-disable-next-line no-console\n console.log('could not get deviceInfo', err);\n }\n });\n}\n\nfunction WebOsVideo(options) {\n\n options = options || {};\n\n var containerElement = options.containerElement;\n if (!(containerElement instanceof HTMLElement)) {\n throw new Error('Container element required to be instance of HTMLElement');\n }\n\n var isLoaded = null;\n\n var subSize = 75;\n\n var disabledSubs = true;\n\n var currentSubTrack = false;\n\n var currentAudioTrack = false;\n\n var textTracks = [];\n\n var audioTracks = [];\n\n var count_message = 0;\n\n var subStyles = {\n color: 'white',\n font_size: 1,\n bg_color: 'none',\n position: -1,\n bg_opacity: 0,\n char_opacity: 255\n };\n\n var toggleSubtitles = function (status) {\n if (!videoElement.mediaId) return;\n\n disabledSubs = !status;\n\n luna({\n method: 'setSubtitleEnable',\n parameters: {\n 'mediaId': videoElement.mediaId,\n 'enable': status\n }\n });\n };\n\n var styleElement = document.createElement('style');\n containerElement.appendChild(styleElement);\n styleElement.sheet.insertRule('video::cue { font-size: 4vmin; color: rgb(255, 255, 255); background-color: rgba(0, 0, 0, 0); text-shadow: rgb(34, 34, 34) 1px 1px 0.1em; }');\n var videoElement = document.createElement('video');\n videoElement.style.width = '100%';\n videoElement.style.height = '100%';\n videoElement.style.backgroundColor = 'black';\n // videoElement.crossOrigin = 'anonymous';\n videoElement.controls = false;\n videoElement.onerror = function() {\n onVideoError();\n };\n videoElement.onended = function() {\n onEnded();\n };\n videoElement.onpause = function() {\n onPropChanged('paused');\n };\n videoElement.onplay = function() {\n onPropChanged('paused');\n };\n videoElement.ontimeupdate = function() {\n onPropChanged('time');\n onPropChanged('buffered');\n };\n videoElement.ondurationchange = function() {\n onPropChanged('duration');\n };\n videoElement.onwaiting = function() {\n onPropChanged('buffering');\n onPropChanged('buffered');\n };\n videoElement.onseeking = function() {\n onPropChanged('buffering');\n onPropChanged('buffered');\n };\n videoElement.onseeked = function() {\n onPropChanged('buffering');\n onPropChanged('buffered');\n };\n videoElement.onstalled = function() {\n onPropChanged('buffering');\n onPropChanged('buffered');\n };\n videoElement.onplaying = function() {\n onPropChanged('buffering');\n onPropChanged('buffered');\n if (!isLoaded) {\n isLoaded = true;\n onPropChanged('loaded');\n }\n };\n videoElement.oncanplay = function() {\n onPropChanged('buffering');\n onPropChanged('buffered');\n };\n videoElement.canplaythrough = function() {\n onPropChanged('buffering');\n onPropChanged('buffered');\n };\n videoElement.onloadeddata = function() {\n onPropChanged('buffering');\n onPropChanged('buffered');\n };\n videoElement.onloadedmetadata = function() {\n onPropChanged('buffering');\n onPropChanged('buffered');\n setProp('time', startTime);\n };\n videoElement.onvolumechange = function() {\n onPropChanged('volume');\n onPropChanged('muted');\n };\n videoElement.onratechange = function() {\n onPropChanged('playbackSpeed');\n };\n videoElement.textTracks.onchange = function() {\n onPropChanged('subtitlesTracks');\n onPropChanged('selectedSubtitlesTrackId');\n onCueChange();\n Array.from(videoElement.textTracks).forEach(function(track) {\n track.oncuechange = onCueChange;\n });\n };\n containerElement.appendChild(videoElement);\n\n var lastSubColor = null;\n var lastSubBgColor = null;\n var lastPlaybackSpeed = 1;\n\n var events = new EventEmitter();\n var destroyed = false;\n var stream = null;\n var startTime = null;\n var subtitlesOffset = 0;\n var subtitlesOpacity = 100;\n var observedProps = {\n stream: false,\n loaded: false,\n paused: false,\n time: false,\n duration: false,\n buffering: false,\n buffered: false,\n subtitlesTracks: false,\n selectedSubtitlesTrackId: false,\n subtitlesOffset: false,\n subtitlesSize: false,\n subtitlesTextColor: false,\n subtitlesBackgroundColor: false,\n subtitlesOpacity: false,\n audioTracks: false,\n selectedAudioTrackId: false,\n volume: false,\n muted: false,\n playbackSpeed: false\n };\n\n var gotTraktData = false;\n var tracksData = { audio: [], subs: [] };\n\n function retrieveExtendedTracks() {\n if (!gotTraktData && stream !== null) {\n gotTraktData = true;\n getTracksData(stream.url, function(resp) {\n var nrSubs = 0;\n var nrAudio = 0;\n textTracks = [];\n audioTracks = [];\n if (resp) {\n tracksData = resp;\n }\n if (((tracksData || {}).subs || []).length) {\n tracksData.subs.forEach(function(track) {\n if (device.unsupportedSubs.includes(track.codec || '')) {\n return;\n }\n var textTrackId = nrSubs;\n nrSubs++;\n if (!currentSubTrack && !textTracks.length) {\n currentSubTrack = textTrackId;\n }\n textTracks.push({\n id: 'EMBEDDED_' + textTrackId,\n lang: track.lang || 'eng',\n label: track.lang || 'eng',\n origin: 'EMBEDDED',\n embedded: true,\n mode: textTrackId === currentSubTrack ? 'showing' : 'disabled',\n });\n });\n onPropChanged('subtitlesTracks');\n onPropChanged('selectedSubtitlesTrackId');\n }\n if (((tracksData || {}).audio || []).length) {\n tracksData.audio.forEach(function(track) {\n if (device.unsupportedAudio.includes(track.codec || '')) {\n return;\n }\n var audioTrackId = nrAudio;\n nrAudio++;\n if (!currentAudioTrack && !audioTracks.length) {\n currentAudioTrack = audioTrackId;\n }\n audioTracks.push({\n id: 'EMBEDDED_' + audioTrackId,\n lang: track.lang || 'eng',\n label: track.lang || 'eng',\n origin: 'EMBEDDED',\n embedded: true,\n mode: audioTrackId === currentAudioTrack ? 'showing' : 'disabled',\n });\n });\n currentAudioTrack = 'EMBEDDED_0';\n onPropChanged('audioTracks');\n onPropChanged('selectedAudioTrackId');\n }\n });\n }\n }\n\n function getProp(propName) {\n switch (propName) {\n case 'stream': {\n return stream;\n }\n case 'loaded': {\n return isLoaded;\n }\n case 'paused': {\n if (stream === null) {\n return null;\n }\n\n return !!videoElement.paused;\n }\n case 'time': {\n if (stream === null || videoElement.currentTime === null || !isFinite(videoElement.currentTime)) {\n return null;\n }\n\n return Math.floor(videoElement.currentTime * 1000);\n }\n case 'duration': {\n if (stream === null || videoElement.duration === null || !isFinite(videoElement.duration)) {\n return null;\n }\n\n return Math.floor(videoElement.duration * 1000);\n }\n case 'buffering': {\n if (stream === null) {\n return null;\n }\n\n return videoElement.readyState < videoElement.HAVE_FUTURE_DATA;\n }\n case 'buffered': {\n if (stream === null) {\n return null;\n }\n\n var time = videoElement.currentTime !== null && isFinite(videoElement.currentTime) ? videoElement.currentTime : 0;\n for (var i = 0; i < videoElement.buffered.length; i++) {\n if (videoElement.buffered.start(i) <= time && time <= videoElement.buffered.end(i)) {\n return Math.floor(videoElement.buffered.end(i) * 1000);\n }\n }\n\n return Math.floor(time * 1000);\n }\n case 'subtitlesTracks': {\n if (stream === null) {\n return [];\n }\n\n return textTracks;\n }\n case 'selectedSubtitlesTrackId': {\n if (stream === null || disabledSubs) {\n return null;\n }\n\n return currentSubTrack;\n }\n case 'subtitlesOffset': {\n if (destroyed) {\n return null;\n }\n\n return subtitlesOffset;\n }\n case 'subtitlesSize': {\n if (destroyed) {\n return null;\n }\n\n return subSize;\n }\n case 'subtitlesTextColor': {\n if (destroyed) {\n return null;\n }\n\n return lastSubColor || 'rgb(255, 255, 255)';\n }\n case 'subtitlesBackgroundColor': {\n if (destroyed) {\n return null;\n }\n\n return lastSubBgColor || 'rgba(0, 0, 0, 0)';\n }\n case 'subtitlesOpacity': {\n if (destroyed) {\n return null;\n }\n\n return subtitlesOpacity || 100;\n }\n case 'audioTracks': {\n return audioTracks;\n }\n case 'selectedAudioTrackId': {\n return currentAudioTrack;\n }\n case 'volume': {\n if (destroyed || videoElement.volume === null || !isFinite(videoElement.volume)) {\n return null;\n }\n\n return Math.floor(videoElement.volume * 100);\n }\n case 'muted': {\n if (destroyed) {\n return null;\n }\n\n return !!videoElement.muted;\n }\n case 'playbackSpeed': {\n if (destroyed || lastPlaybackSpeed === null || !isFinite(lastPlaybackSpeed)) {\n return null;\n }\n\n return lastPlaybackSpeed;\n }\n default: {\n return null;\n }\n }\n }\n function onCueChange() {\n Array.from(videoElement.textTracks).forEach(function(track) {\n Array.from(track.cues || []).forEach(function(cue) {\n cue.snapToLines = false;\n cue.line = 100 - subtitlesOffset;\n });\n });\n }\n function onVideoError() {\n if (destroyed) {\n return;\n }\n\n var error;\n switch ((videoElement.error || {}).code) {\n case 1: {\n error = ERROR.HTML_VIDEO.MEDIA_ERR_ABORTED;\n break;\n }\n case 2: {\n error = ERROR.HTML_VIDEO.MEDIA_ERR_NETWORK;\n break;\n }\n case 3: {\n error = ERROR.HTML_VIDEO.MEDIA_ERR_DECODE;\n launchVideoApp({\n id: 'com.webos.app.photovideo',\n url: stream.url,\n name: 'Stremio',\n position: -1,\n }, null, function(e) {\n // eslint-disable-next-line no-console\n console.error(e);\n });\n break;\n }\n case 4: {\n error = ERROR.HTML_VIDEO.MEDIA_ERR_SRC_NOT_SUPPORTED;\n launchVideoApp({\n id: 'com.webos.app.photovideo',\n url: stream.url,\n name: 'Stremio',\n position: -1,\n }, null, function(e) {\n // eslint-disable-next-line no-console\n console.error(e);\n });\n break;\n }\n default: {\n error = ERROR.UNKNOWN_ERROR;\n }\n }\n onError(Object.assign({}, error, {\n critical: true,\n error: videoElement.error\n }));\n }\n function onError(error) {\n events.emit('error', error);\n if (error.critical) {\n command('unload');\n }\n }\n function onEnded() {\n events.emit('ended');\n }\n function onPropChanged(propName) {\n if (observedProps[propName]) {\n events.emit('propChanged', propName, getProp(propName));\n }\n }\n function observeProp(propName) {\n if (observedProps.hasOwnProperty(propName)) {\n events.emit('propValue', propName, getProp(propName));\n observedProps[propName] = true;\n }\n }\n function setProp(propName, propValue) {\n switch (propName) {\n case 'paused': {\n if (stream !== null) {\n propValue ? videoElement.pause() : videoElement.play();\n }\n\n break;\n }\n case 'time': {\n if (stream !== null && videoElement.readyState >= videoElement.HAVE_METADATA && propValue !== null && isFinite(propValue)) {\n try {\n videoElement.currentTime = parseInt(propValue, 10) / 1000;\n onPropChanged('time');\n } catch(e) {\n // console.log('webos video change time error');\n // console.error(e);\n }\n }\n\n break;\n }\n case 'selectedSubtitlesTrackId': {\n if (videoElement.mediaId && stream !== null) {\n if ((propValue || '').indexOf('EMBEDDED_') === 0) {\n toggleSubtitles(true);\n\n subStyles.bg_opacity = subStyles.bg_color === 'none' ? 0 : 255;\n\n [\n 'setSubtitleCharacterColor',\n 'setSubtitleBackgroundColor',\n 'setSubtitlePosition',\n 'setSubtitleFontSize',\n 'setSubtitleBackgroundOpacity',\n 'setSubtitleCharacterOpacity'\n ].forEach(function(key) {\n luna({\n method: key,\n parameters: {\n mediaId: videoElement.mediaId,\n charColor: subStyles.color,\n bgColor: subStyles.bg_color === 'none' ? 'black' : subStyles.bg_color,\n position: subStyles.position,\n fontSize: subStyles.font_size,\n bgOpacity: subStyles.bg_opacity,\n charOpacity: subStyles.char_opacity\n }\n });\n });\n\n // eslint-disable-next-line no-console\n console.log('WebOS', 'change subtitles for id: ', videoElement.mediaId, ' index:', propValue);\n\n currentSubTrack = propValue;\n var trackIndex = parseInt(propValue.replace('EMBEDDED_', ''));\n // eslint-disable-next-line no-console\n console.log('set subs to track idx: ' + trackIndex);\n setTimeout(function() {\n var successCb = function() {\n var selectedSubtitlesTrack = getProp('subtitlesTracks')\n .find(function(track) {\n return track.id === propValue;\n });\n textTracks = textTracks.map(function(track) {\n track.mode = track.id === currentSubTrack ? 'showing' : 'disabled';\n return track;\n });\n if (selectedSubtitlesTrack) {\n events.emit('subtitlesTrackLoaded', selectedSubtitlesTrack);\n onPropChanged('selectedSubtitlesTrackId');\n }\n };\n luna({\n method: 'selectTrack',\n parameters: {\n 'type': 'text',\n 'mediaId': videoElement.mediaId,\n 'index': trackIndex\n }\n }, successCb, successCb);\n }, 500);\n }\n }\n\n if ((propValue || '').indexOf('EMBEDDED_') === -1) {\n currentSubTrack = null;\n onPropChanged('selectedSubtitlesTrackId');\n toggleSubtitles(false);\n }\n\n break;\n }\n case 'subtitlesOffset': {\n if (propValue !== null && isFinite(propValue)) {\n subtitlesOffset = propValue;\n var nextOffset = stremioSubOffsets(Math.max(0, Math.min(100, parseInt(subtitlesOffset, 10))));\n if (nextOffset === false) { // use default\n nextOffset = -2;\n }\n subStyles.position = nextOffset;\n if (videoElement.mediaId) {\n luna({\n method: 'setSubtitlePosition',\n parameters: {\n 'mediaId': videoElement.mediaId,\n 'position': nextOffset,\n }\n });\n }\n\n onPropChanged('subtitlesOffset');\n }\n\n break;\n }\n case 'subtitlesSize': {\n if (propValue !== null && isFinite(propValue)) {\n subSize = propValue;\n var nextSubSize = stremioSubSizes(Math.max(0, parseInt(subSize, 10)));\n if (nextSubSize === false) { // use default\n nextSubSize = 1;\n }\n subStyles.font_size = nextSubSize;\n if (videoElement.mediaId) {\n luna({\n method: 'setSubtitleFontSize',\n parameters: {\n 'mediaId': videoElement.mediaId,\n 'fontSize': nextSubSize,\n }\n });\n }\n\n onPropChanged('subtitlesSize');\n }\n\n break;\n }\n case 'subtitlesTextColor': {\n if (typeof propValue === 'string') {\n // we use setSubtitleCharacterColor instead of setSubtitleColor\n // because it has the same color options as the sub background\n var nextColor = 'white';\n if (stremioColors[propValue] && webOsColors.indexOf(stremioColors[propValue]) > -1) {\n nextColor = stremioColors[propValue];\n }\n subStyles.color = nextColor;\n if (videoElement.mediaId) {\n luna({\n method: 'setSubtitleCharacterColor',\n parameters: {\n 'mediaId': videoElement.mediaId,\n 'charColor': nextColor,\n }\n });\n }\n lastSubColor = propValue;\n onPropChanged('subtitlesTextColor');\n }\n\n break;\n }\n case 'subtitlesBackgroundColor': {\n if (typeof propValue === 'string') {\n if (stremioColors[propValue] && webOsColors.indexOf(stremioColors[propValue]) > -1) {\n subStyles.bg_color = stremioColors[propValue];\n if (videoElement.mediaId) {\n luna({\n method: 'setSubtitleBackgroundColor',\n parameters: {\n 'mediaId': videoElement.mediaId,\n 'bgColor': stremioColors[propValue] === 'none' ? 'black' : stremioColors[propValue],\n }\n });\n if (stremioColors[propValue] === 'none') {\n luna({\n method: 'setSubtitleBackgroundOpacity',\n parameters: {\n 'mediaId': videoElement.mediaId,\n 'bgOpacity': 0,\n }\n });\n } else {\n luna({\n method: 'setSubtitleBackgroundOpacity',\n parameters: {\n 'mediaId': videoElement.mediaId,\n 'bgOpacity': 255,\n }\n });\n }\n }\n }\n lastSubBgColor = propValue;\n onPropChanged('subtitlesBackgroundColor');\n }\n\n break;\n }\n case 'subtitlesOpacity': {\n if (typeof propValue === 'number') {\n var nextSubOpacity = Math.floor(propValue / 100 * 255);\n subStyles.char_opacity = nextSubOpacity;\n if (videoElement.mediaId) {\n luna({\n method: 'setSubtitleCharacterOpacity',\n parameters: {\n 'mediaId': videoElement.mediaId,\n 'charOpacity': nextSubOpacity,\n }\n });\n }\n\n subtitlesOpacity = propValue;\n onPropChanged('subtitlesOpacity');\n }\n\n break;\n }\n case 'selectedAudioTrackId': {\n if ((propValue || '').indexOf('EMBEDDED_') === 0) {\n currentAudioTrack = propValue;\n var trackIndex = parseInt(propValue.replace('EMBEDDED_', ''));\n if (videoElement.mediaId) {\n luna({\n method: 'selectTrack',\n parameters: {\n 'type': 'audio',\n 'mediaId': videoElement.mediaId,\n 'index': trackIndex\n }\n }, function() {\n var selectedAudioTrack = getProp('audioTracks')\n .find(function(track) {\n return track.id === propValue;\n });\n\n audioTracks = audioTracks.map(function(track) {\n track.mode = track.id === currentAudioTrack ? 'showing' : 'disabled';\n return track;\n });\n\n if (selectedAudioTrack) {\n events.emit('audioTrackLoaded', selectedAudioTrack);\n onPropChanged('selectedAudioTrackId');\n }\n });\n }\n if (videoElement && videoElement.audioTracks) {\n for (var i = 0; i < videoElement.audioTracks.length; i++) {\n videoElement.audioTracks[i].enabled = false;\n }\n\n if(videoElement.audioTracks[trackIndex]) {\n videoElement.audioTracks[trackIndex].enabled = true;\n }\n }\n\n }\n\n break;\n }\n case 'volume': {\n if (propValue !== null && isFinite(propValue)) {\n videoElement.muted = false;\n videoElement.volume = Math.max(0, Math.min(100, parseInt(propValue, 10))) / 100;\n }\n\n break;\n }\n case 'muted': {\n videoElement.muted = !!propValue;\n break;\n }\n case 'playbackSpeed': {\n if (propValue !== null && isFinite(propValue)) {\n lastPlaybackSpeed = parseFloat(propValue);\n if (videoElement.mediaId) {\n luna({\n method: 'setPlayRate',\n parameters: {\n 'mediaId': videoElement.mediaId,\n 'playRate': lastPlaybackSpeed,\n 'audioOutput': true,\n }\n });\n }\n onPropChanged('playbackSpeed');\n }\n\n break;\n }\n }\n }\n function command(commandName, commandArgs) {\n switch (commandName) {\n case 'load': {\n // not sure about this\n // command('unload');\n if (commandArgs && commandArgs.stream && typeof commandArgs.stream.url === 'string') {\n stream = commandArgs.stream;\n startTime = commandArgs.time;\n\n onPropChanged('stream');\n videoElement.autoplay = typeof commandArgs.autoplay === 'boolean' ? commandArgs.autoplay : true;\n\n onPropChanged('loaded');\n onPropChanged('paused');\n onPropChanged('time');\n onPropChanged('duration');\n onPropChanged('buffering');\n onPropChanged('buffered');\n onPropChanged('subtitlesTracks');\n onPropChanged('selectedSubtitlesTrackId');\n onPropChanged('audioTracks');\n onPropChanged('selectedAudioTrackId');\n\n var count = 0;\n\n var initMediaId = function (cb) {\n function retrieveMediaId() {\n if (videoElement.mediaId) {\n clearInterval(timer);\n retrieveExtendedTracks();\n retrieveDeviceInfo();\n cb();\n return;\n }\n count++;\n if (count > 4) {\n // console.log('failed to get media id');\n clearInterval(timer);\n retrieveExtendedTracks();\n retrieveDeviceInfo();\n cb();\n }\n }\n var timer = setInterval(retrieveMediaId, 300);\n };\n\n var startVideo = function () {\n // console.log('startVideo');\n // not needed?\n // videoElement.src = stream.url;\n\n try {\n videoElement.load();\n } catch(e) {\n // console.log('can\\'t load video');\n // console.error(e);\n }\n\n try {\n // console.log('try play');\n videoElement.play();\n } catch(e) {\n // console.log('can\\'t start video');\n // console.error(e);\n }\n };\n\n videoElement.src = stream.url;\n\n initMediaId(startVideo);\n } else {\n onError(Object.assign({}, ERROR.UNSUPPORTED_STREAM, {\n critical: true,\n stream: commandArgs ? commandArgs.stream : null\n }));\n }\n break;\n }\n case 'unload': {\n stream = null;\n startTime = null;\n Array.from(videoElement.textTracks).forEach(function(track) {\n track.oncuechange = null;\n });\n videoElement.removeAttribute('src');\n videoElement.load();\n // not sure about this:\n // try {\n // videoElement.currentTime = 0;\n // } catch(e) {\n // console.log('webos video unload error');\n // console.error(e);\n // }\n onPropChanged('stream');\n onPropChanged('paused');\n onPropChanged('time');\n onPropChanged('duration');\n onPropChanged('buffering');\n onPropChanged('buffered');\n onPropChanged('subtitlesTracks');\n onPropChanged('selectedSubtitlesTrackId');\n onPropChanged('audioTracks');\n onPropChanged('selectedAudioTrackId');\n // not sure about this:\n // unload(function() {});\n break;\n }\n case 'destroy': {\n command('unload');\n destroyed = true;\n onPropChanged('subtitlesOffset');\n onPropChanged('subtitlesSize');\n onPropChanged('subtitlesTextColor');\n onPropChanged('subtitlesBackgroundColor');\n onPropChanged('subtitlesOpacity');\n onPropChanged('volume');\n onPropChanged('muted');\n onPropChanged('playbackSpeed');\n events.removeAllListeners();\n videoElement.onerror = null;\n videoElement.onended = null;\n videoElement.onpause = null;\n videoElement.onplay = null;\n videoElement.ontimeupdate = null;\n videoElement.ondurationchange = null;\n videoElement.onwaiting = null;\n videoElement.onseeking = null;\n videoElement.onseeked = null;\n videoElement.onstalled = null;\n videoElement.onplaying = null;\n videoElement.oncanplay = null;\n videoElement.canplaythrough = null;\n videoElement.onloadeddata = null;\n videoElement.onloadedmetadata = null;\n videoElement.onvolumechange = null;\n videoElement.onratechange = null;\n videoElement.textTracks.onchange = null;\n containerElement.removeChild(videoElement);\n containerElement.removeChild(styleElement);\n break;\n }\n }\n }\n\n this.on = function(eventName, listener) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n events.on(eventName, listener);\n };\n this.dispatch = function(action) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n if (action) {\n action = deepFreeze(cloneDeep(action));\n switch (action.type) {\n case 'observeProp': {\n observeProp(action.propName);\n return;\n }\n case 'setProp': {\n setProp(action.propName, action.propValue);\n return;\n }\n case 'command': {\n command(action.commandName, action.commandArgs);\n return;\n }\n }\n }\n\n throw new Error('Invalid action dispatched: ' + JSON.stringify(action));\n };\n}\n\nWebOsVideo.canPlayStream = function() { // function(stream)\n return Promise.resolve(true);\n};\n\nWebOsVideo.manifest = {\n name: 'WebOsVideo',\n external: false,\n props: ['stream', 'loaded', 'paused', 'time', 'duration', 'buffering', 'buffered', 'audioTracks', 'selectedAudioTrackId', 'subtitlesTracks', 'selectedSubtitlesTrackId', 'subtitlesOffset', 'subtitlesSize', 'subtitlesTextColor', 'subtitlesBackgroundColor', 'subtitlesOpacity', 'volume', 'muted', 'playbackSpeed'],\n commands: ['load', 'unload', 'destroy'],\n events: ['propValue', 'propChanged', 'ended', 'error', 'subtitlesTrackLoaded', 'audioTrackLoaded']\n};\n\nmodule.exports = WebOsVideo;\n","var WebOsVideo = require('./WebOsVideo');\n\nmodule.exports = WebOsVideo;\n","var EventEmitter = require('eventemitter3');\nvar cloneDeep = require('lodash.clonedeep');\nvar deepFreeze = require('deep-freeze');\nvar ERROR = require('../error');\n\nfunction YouTubeVideo(options) {\n options = options || {};\n\n var timeChangedTimeout = options.timeChangedTimeout !== null && isFinite(options.timeChangedTimeout) ? parseInt(options.timeChangedTimeout, 10) : 100;\n\n var containerElement = options.containerElement;\n if (!(containerElement instanceof HTMLElement)) {\n throw new Error('Container element required to be instance of HTMLElement');\n }\n\n var apiScriptElement = document.createElement('script');\n apiScriptElement.type = 'text/javascript';\n apiScriptElement.src = 'https://www.youtube.com/iframe_api';\n apiScriptElement.onload = onAPILoaded;\n apiScriptElement.onerror = onAPIError;\n containerElement.appendChild(apiScriptElement);\n var videoContainerElement = document.createElement('div');\n videoContainerElement.style.width = '100%';\n videoContainerElement.style.height = '100%';\n videoContainerElement.style.backgroundColor = 'black';\n containerElement.appendChild(videoContainerElement);\n var timeChangedIntervalId = window.setInterval(function() {\n onPropChanged('time');\n onPropChanged('volume');\n onPropChanged('muted');\n onPropChanged('playbackSpeed');\n }, timeChangedTimeout);\n\n var video = null;\n var ready = false;\n var pendingLoadArgs = null;\n var events = new EventEmitter();\n var destroyed = false;\n var stream = null;\n var selectedSubtitlesTrackId = null;\n var observedProps = {\n stream: false,\n loaded: false,\n paused: false,\n time: false,\n duration: false,\n buffering: false,\n volume: false,\n muted: false,\n playbackSpeed: false,\n subtitlesTracks: false,\n selectedSubtitlesTrackId: false\n };\n\n function onAPIError() {\n if (destroyed) {\n return;\n }\n\n onError(Object.assign({}, ERROR.YOUTUBE_VIDEO.API_LOAD_FAILED, {\n critical: true\n }));\n }\n function onAPILoaded() {\n if (destroyed) {\n return;\n }\n\n if (!YT || typeof YT.ready !== 'function') {\n onAPIError();\n return;\n }\n\n YT.ready(function() {\n if (destroyed) {\n return;\n }\n\n if (!YT || !YT.PlayerState || typeof YT.Player !== 'function') {\n onAPIError();\n return;\n }\n\n video = new YT.Player(videoContainerElement, {\n width: '100%',\n height: '100%',\n playerVars: {\n autoplay: 1,\n cc_load_policy: 3,\n controls: 0,\n disablekb: 1,\n enablejsapi: 1,\n fs: 0,\n iv_load_policy: 3,\n loop: 0,\n modestbranding: 1,\n playsinline: 1,\n rel: 0\n },\n events: {\n onError: onVideoError,\n onReady: onVideoReady,\n onApiChange: onVideoAPIChange,\n onStateChange: onVideoStateChange\n }\n });\n });\n }\n function onVideoError(videoError) {\n if (destroyed) {\n return;\n }\n\n var error;\n switch (videoError.data) {\n case 2: {\n error = ERROR.YOUTUBE_VIDEO.INVALID_PARAMETER;\n break;\n }\n case 5: {\n error = ERROR.YOUTUBE_VIDEO.HTML5_VIDEO;\n break;\n }\n case 100: {\n error = ERROR.YOUTUBE_VIDEO.VIDEO_NOT_FOUND;\n break;\n }\n case 101:\n case 150: {\n error = ERROR.YOUTUBE_VIDEO.VIDEO_NOT_EMBEDDABLE;\n break;\n }\n default: {\n error = ERROR.UNKNOWN_ERROR;\n }\n }\n onError(Object.assign({}, error, {\n critical: true,\n error: videoError\n }));\n }\n function onVideoReady() {\n if (destroyed) {\n return;\n }\n\n ready = true;\n if (pendingLoadArgs !== null) {\n command('load', pendingLoadArgs);\n pendingLoadArgs = null;\n }\n }\n function onVideoAPIChange() {\n if (destroyed) {\n return;\n }\n\n if (typeof video.loadModule === 'function') {\n video.loadModule('captions');\n }\n if (typeof video.setOption === 'function') {\n video.setOption('captions', 'track', {});\n }\n onPropChanged('paused');\n onPropChanged('time');\n onPropChanged('duration');\n onPropChanged('buffering');\n onPropChanged('volume');\n onPropChanged('muted');\n onPropChanged('playbackSpeed');\n onPropChanged('subtitlesTracks');\n onPropChanged('selectedSubtitlesTrackId');\n }\n function onVideoStateChange(state) {\n onPropChanged('buffering');\n switch (state.data) {\n case YT.PlayerState.ENDED: {\n onEnded();\n break;\n }\n case YT.PlayerState.CUED:\n case YT.PlayerState.UNSTARTED:\n case YT.PlayerState.PAUSED:\n case YT.PlayerState.PLAYING: {\n onPropChanged('paused');\n onPropChanged('time');\n onPropChanged('duration');\n break;\n }\n }\n }\n function getProp(propName) {\n switch (propName) {\n case 'stream': {\n return stream;\n }\n case 'loaded': {\n if (stream === null) {\n return null;\n }\n\n return true;\n }\n case 'paused': {\n if (stream === null || typeof video.getPlayerState !== 'function') {\n return null;\n }\n\n return video.getPlayerState() !== YT.PlayerState.PLAYING;\n }\n case 'time': {\n if (stream === null || typeof video.getCurrentTime !== 'function' || video.getCurrentTime() === null || !isFinite(video.getCurrentTime())) {\n return null;\n }\n\n return Math.floor(video.getCurrentTime() * 1000);\n }\n case 'duration': {\n if (stream === null || typeof video.getDuration !== 'function' || video.getDuration() === null || !isFinite(video.getDuration())) {\n return null;\n }\n\n return Math.floor(video.getDuration() * 1000);\n }\n case 'buffering': {\n if (stream === null || typeof video.getPlayerState !== 'function') {\n return null;\n }\n\n return video.getPlayerState() === YT.PlayerState.BUFFERING;\n }\n case 'volume': {\n if (stream === null || typeof video.getVolume !== 'function' || video.getVolume() === null || !isFinite(video.getVolume())) {\n return null;\n }\n\n return video.getVolume();\n }\n case 'muted': {\n if (stream === null || typeof video.isMuted !== 'function') {\n return null;\n }\n\n return video.isMuted();\n }\n case 'playbackSpeed': {\n if (stream === null || typeof video.getPlaybackRate !== 'function' || video.getPlaybackRate() === null || !isFinite(video.getPlaybackRate())) {\n return null;\n }\n\n return video.getPlaybackRate();\n }\n case 'subtitlesTracks': {\n if (stream === null || typeof video.getOption !== 'function') {\n return [];\n }\n\n return (video.getOption('captions', 'tracklist') || [])\n .filter(function(track) {\n return track && typeof track.languageCode === 'string';\n })\n .map(function(track, index) {\n return Object.freeze({\n id: 'EMBEDDED_' + String(index),\n lang: track.languageCode,\n label: typeof track.displayName === 'string' ? track.displayName : track.languageCode,\n origin: 'EMBEDDED',\n embedded: true\n });\n });\n }\n case 'selectedSubtitlesTrackId': {\n if (stream === null) {\n return null;\n }\n\n return selectedSubtitlesTrackId;\n }\n default: {\n return null;\n }\n }\n }\n function onError(error) {\n events.emit('error', error);\n if (error.critical) {\n command('unload');\n }\n }\n function onEnded() {\n events.emit('ended');\n }\n function onPropChanged(propName) {\n if (observedProps[propName]) {\n events.emit('propChanged', propName, getProp(propName));\n }\n }\n function observeProp(propName) {\n if (observedProps.hasOwnProperty(propName)) {\n events.emit('propValue', propName, getProp(propName));\n observedProps[propName] = true;\n }\n }\n function setProp(propName, propValue) {\n switch (propName) {\n case 'paused': {\n if (stream !== null) {\n propValue ?\n typeof video.pauseVideo === 'function' && video.pauseVideo()\n :\n typeof video.playVideo === 'function' && video.playVideo();\n }\n\n break;\n }\n case 'time': {\n if (stream !== null && typeof video.seekTo === 'function' && propValue !== null && isFinite(propValue)) {\n video.seekTo(parseInt(propValue, 10) / 1000);\n }\n\n break;\n }\n case 'volume': {\n if (stream !== null && propValue !== null && isFinite(propValue)) {\n if (typeof video.unMute === 'function') {\n video.unMute();\n }\n if (typeof video.setVolume === 'function') {\n video.setVolume(Math.max(0, Math.min(100, parseInt(propValue, 10))));\n }\n onPropChanged('muted');\n onPropChanged('volume');\n }\n\n break;\n }\n case 'muted': {\n if (stream !== null) {\n propValue ?\n typeof video.mute === 'function' && video.mute()\n :\n typeof video.unMute === 'function' && video.unMute();\n onPropChanged('muted');\n }\n\n break;\n }\n case 'playbackSpeed': {\n if (stream !== null && typeof video.setPlaybackRate === 'function' && isFinite(propValue)) {\n video.setPlaybackRate(propValue);\n onPropChanged('playbackSpeed');\n }\n\n break;\n }\n case 'selectedSubtitlesTrackId': {\n if (stream !== null) {\n selectedSubtitlesTrackId = null;\n var selecterdTrack = getProp('subtitlesTracks')\n .find(function(track) {\n return track.id === propValue;\n });\n if (typeof video.setOption === 'function') {\n if (selecterdTrack) {\n selectedSubtitlesTrackId = selecterdTrack.id;\n video.setOption('captions', 'track', {\n languageCode: selecterdTrack.lang\n });\n events.emit('subtitlesTrackLoaded', selecterdTrack);\n } else {\n video.setOption('captions', 'track', {});\n }\n }\n onPropChanged('selectedSubtitlesTrackId');\n }\n\n break;\n }\n }\n }\n function command(commandName, commandArgs) {\n switch (commandName) {\n case 'load': {\n command('unload');\n if (commandArgs && commandArgs.stream && typeof commandArgs.stream.ytId === 'string') {\n if (ready) {\n stream = commandArgs.stream;\n onPropChanged('stream');\n onPropChanged('loaded');\n var autoplay = typeof commandArgs.autoplay === 'boolean' ? commandArgs.autoplay : true;\n var time = commandArgs.time !== null && isFinite(commandArgs.time) ? parseInt(commandArgs.time, 10) / 1000 : 0;\n if (autoplay && typeof video.loadVideoById === 'function') {\n video.loadVideoById({\n videoId: commandArgs.stream.ytId,\n startSeconds: time\n });\n } else if (typeof video.cueVideoById === 'function') {\n video.cueVideoById({\n videoId: commandArgs.stream.ytId,\n startSeconds: time\n });\n }\n onPropChanged('paused');\n onPropChanged('time');\n onPropChanged('duration');\n onPropChanged('buffering');\n onPropChanged('volume');\n onPropChanged('muted');\n onPropChanged('playbackSpeed');\n onPropChanged('subtitlesTracks');\n onPropChanged('selectedSubtitlesTrackId');\n } else {\n pendingLoadArgs = commandArgs;\n }\n } else {\n onError(Object.assign({}, ERROR.UNSUPPORTED_STREAM, {\n critical: true,\n stream: commandArgs ? commandArgs.stream : null\n }));\n }\n\n break;\n }\n case 'unload': {\n pendingLoadArgs = null;\n stream = null;\n onPropChanged('stream');\n onPropChanged('loaded');\n selectedSubtitlesTrackId = null;\n if (ready && typeof video.stopVideo === 'function') {\n video.stopVideo();\n }\n onPropChanged('paused');\n onPropChanged('time');\n onPropChanged('duration');\n onPropChanged('buffering');\n onPropChanged('volume');\n onPropChanged('muted');\n onPropChanged('playbackSpeed');\n onPropChanged('subtitlesTracks');\n onPropChanged('selectedSubtitlesTrackId');\n break;\n }\n case 'destroy': {\n command('unload');\n destroyed = true;\n events.removeAllListeners();\n clearInterval(timeChangedIntervalId);\n if (ready && typeof video.destroy === 'function') {\n video.destroy();\n }\n containerElement.removeChild(apiScriptElement);\n containerElement.removeChild(videoContainerElement);\n break;\n }\n }\n }\n\n this.on = function(eventName, listener) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n events.on(eventName, listener);\n };\n this.dispatch = function(action) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n if (action) {\n action = deepFreeze(cloneDeep(action));\n switch (action.type) {\n case 'observeProp': {\n observeProp(action.propName);\n return;\n }\n case 'setProp': {\n setProp(action.propName, action.propValue);\n return;\n }\n case 'command': {\n command(action.commandName, action.commandArgs);\n return;\n }\n }\n }\n\n throw new Error('Invalid action dispatched: ' + JSON.stringify(action));\n };\n}\n\nYouTubeVideo.canPlayStream = function(stream) {\n return Promise.resolve(stream && typeof stream.ytId === 'string');\n};\n\nYouTubeVideo.manifest = {\n name: 'YouTubeVideo',\n external: false,\n props: ['stream', 'loaded', 'paused', 'time', 'duration', 'buffering', 'volume', 'muted', 'playbackSpeed', 'subtitlesTracks', 'selectedSubtitlesTrackId'],\n commands: ['load', 'unload', 'destroy'],\n events: ['propValue', 'propChanged', 'ended', 'error', 'subtitlesTrackLoaded']\n};\n\nmodule.exports = YouTubeVideo;\n","var YouTubeVideo = require('./YouTubeVideo');\n\nmodule.exports = YouTubeVideo;\n","var ERROR = {\n CHROMECAST_SENDER_VIDEO: {\n INVALID_MESSAGE_RECEIVED: {\n code: 100,\n message: 'Invalid message received'\n },\n MESSAGE_SEND_FAILED: {\n code: 101,\n message: 'Failed to send message'\n }\n },\n YOUTUBE_VIDEO: {\n API_LOAD_FAILED: {\n code: 90,\n message: 'YouTube player iframe API failed to load',\n },\n INVALID_PARAMETER: {\n code: 91,\n message: 'The request contains an invalid parameter value'\n },\n HTML5_VIDEO: {\n code: 92,\n message: 'The requested content cannot be played in an HTML5 player'\n },\n VIDEO_NOT_FOUND: {\n code: 93,\n message: 'The video requested was not found'\n },\n VIDEO_NOT_EMBEDDABLE: {\n code: 94,\n message: 'The owner of the requested video does not allow it to be played in embedded players'\n }\n },\n HTML_VIDEO: {\n MEDIA_ERR_ABORTED: {\n code: 80,\n message: 'Fetching process aborted'\n },\n MEDIA_ERR_NETWORK: {\n code: 81,\n message: 'Error occurred when downloading'\n },\n MEDIA_ERR_DECODE: {\n code: 82,\n message: 'Error occurred when decoding'\n },\n MEDIA_ERR_SRC_NOT_SUPPORTED: {\n code: 83,\n message: 'Video is not supported'\n }\n },\n WITH_HTML_SUBTITLES: {\n LOAD_FAILED: {\n code: 70,\n message: 'Failed to load external subtitles'\n }\n },\n WITH_STREAMING_SERVER: {\n CONVERT_FAILED: {\n code: 60,\n message: 'Your device does not support the stream'\n }\n },\n UNKNOWN_ERROR: {\n code: 1,\n message: 'Unknown error'\n },\n UNSUPPORTED_STREAM: {\n code: 2,\n message: 'Stream is not supported'\n },\n STREAM_FAILED_TO_LOAD: {\n code: 3,\n message: 'Stream failed to load'\n }\n};\n\nmodule.exports = ERROR;\n","var StremioVideo = require('./StremioVideo');\n\nmodule.exports = StremioVideo;\n","var VIDEO_CODEC_CONFIGS = [\n {\n codec: 'h264',\n force: window.chrome || window.cast,\n mime: 'video/mp4; codecs=\"avc1.42E01E\"',\n },\n {\n codec: 'h265',\n // Disabled because chrome only has partial support for h265/hvec,\n // force: window.chrome || window.cast,\n mime: 'video/mp4; codecs=\"hev1.1.6.L150.B0\"',\n aliases: ['hevc']\n },\n {\n codec: 'vp8',\n mime: 'video/mp4; codecs=\"vp8\"'\n },\n {\n codec: 'vp9',\n mime: 'video/mp4; codecs=\"vp9\"'\n }\n];\n\nvar AUDIO_CODEC_CONFIGS = [\n {\n codec: 'aac',\n mime: 'audio/mp4; codecs=\"mp4a.40.2\"'\n },\n {\n codec: 'mp3',\n mime: 'audio/mp4; codecs=\"mp3\"'\n },\n {\n codec: 'ac3',\n mime: 'audio/mp4; codecs=\"ac-3\"'\n },\n {\n codec: 'eac3',\n mime: 'audio/mp4; codecs=\"ec-3\"'\n },\n {\n codec: 'vorbis',\n mime: 'audio/mp4; codecs=\"vorbis\"'\n },\n {\n codec: 'opus',\n mime: 'audio/mp4; codecs=\"opus\"'\n }\n];\n\nfunction canPlay(config, options) {\n return config.force || options.mediaElement.canPlayType(config.mime)\n ? [config.codec].concat(config.aliases || [])\n : [];\n}\n\nfunction getMaxAudioChannels() {\n if (/firefox/i.test(window.navigator.userAgent)) {\n return 6;\n }\n\n if (!window.AudioContext || window.chrome || window.cast) {\n return 2;\n }\n\n var maxChannelCount = new AudioContext().destination.maxChannelCount;\n return maxChannelCount > 0 ? maxChannelCount : 2;\n}\n\nfunction getMediaCapabilities() {\n var mediaElement = document.createElement('video');\n var formats = ['mp4'];\n if (window.chrome || window.cast) {\n formats.push('matroska,webm');\n }\n var videoCodecs = VIDEO_CODEC_CONFIGS\n .map(function(config) {\n return canPlay(config, { mediaElement: mediaElement });\n })\n .reduce(function(result, value) {\n return result.concat(value);\n }, []);\n var audioCodecs = AUDIO_CODEC_CONFIGS\n .map(function(config) {\n return canPlay(config, { mediaElement: mediaElement });\n })\n .reduce(function(result, value) {\n return result.concat(value);\n }, []);\n var maxAudioChannels = getMaxAudioChannels();\n return {\n formats: formats,\n videoCodecs: videoCodecs,\n audioCodecs: audioCodecs,\n maxAudioChannels: maxAudioChannels\n };\n}\n\nmodule.exports = getMediaCapabilities();\n","function supportsTranscoding() {\n if (typeof global.tizen !== 'undefined' || typeof global.webOS !== 'undefined' || typeof window.qt !== 'undefined') {\n return Promise.resolve(false);\n }\n return Promise.resolve(true);\n}\n\nmodule.exports = supportsTranscoding;\n","module.exports = function(url, cb) {\n fetch('http://127.0.0.1:11470/tracks/'+encodeURIComponent(url)).then(function(resp) {\n return resp.json();\n }).then(function(tracks) {\n var audioTracks = tracks.filter(function(el) { return (el || {}).type === 'audio'; });\n var subsTracks = tracks.filter(function(el) { return (el || {}).type === 'text'; });\n cb({ audio: audioTracks, subs: subsTracks });\n }).catch(function(err) {\n // eslint-disable-next-line no-console\n console.error(err);\n cb(false);\n });\n};\n","function binarySearchUpperBound(array, value) {\n if (value < array[0] || array[array.length - 1] < value) {\n return -1;\n }\n\n var left = 0;\n var right = array.length - 1;\n var index = -1;\n while (left <= right) {\n var middle = Math.floor((left + right) / 2);\n if (array[middle] > value) {\n right = middle - 1;\n } else if (array[middle] < value) {\n left = middle + 1;\n } else {\n index = middle;\n left = middle + 1;\n }\n }\n\n return index !== -1 ? index : right;\n}\n\nmodule.exports = binarySearchUpperBound;\n","var withHTMLSubtitles = require('./withHTMLSubtitles');\n\nmodule.exports = withHTMLSubtitles;\n","// from: https://github.com/silviapfeiffer/silviapfeiffer.github.io/blob/master/index.html#L150-L216\n\nfunction srt2webvtt(data) {\n // remove dos newlines\n var srt = data.replace(/\\r+/g, '');\n // trim white space start and end\n srt = srt.replace(/^\\s+|\\s+$/g, '');\n // get cues\n var cuelist = srt.split('\\n\\n');\n var result = '';\n if (cuelist.length > 0) {\n result += 'WEBVTT\\n\\n';\n for (var i = 0; i < cuelist.length; i = i + 1) {\n result += convertSrtCue(cuelist[i]);\n }\n }\n return result;\n}\n\nfunction convertSrtCue(caption) {\n // remove all html tags for security reasons\n caption = caption.replace(/<[a-zA-Z/][^>]*>/g, '');\n\n var cue = '';\n var s = caption.split(/\\n/);\n // concatenate muilt-line string separated in array into one\n while (s.length > 3) {\n for (var i = 3; i < s.length; i++) {\n s[2] += '\\n' + s[i];\n }\n s.splice(3, s.length - 3);\n }\n var line = 0;\n // detect identifier\n if (!s[0].match(/\\d+:\\d+:\\d+/) && s[1].match(/\\d+:\\d+:\\d+/)) {\n cue += s[0].match(/\\w+/) + '\\n';\n line += 1;\n }\n // get time strings\n if (s[line].match(/\\d+:\\d+:\\d+/)) {\n // convert time string\n var m = s[1].match(/(\\d+):(\\d+):(\\d+)(?:,(\\d+))?\\s*--?>\\s*(\\d+):(\\d+):(\\d+)(?:,(\\d+))?/);\n if (m) {\n cue += m[1] + ':' + m[2] + ':' + m[3] + '.' + m[4] + ' --> '\n + m[5] + ':' + m[6] + ':' + m[7] + '.' + m[8] + '\\n';\n line += 1;\n } else {\n // Unrecognized timestring\n return '';\n }\n } else {\n // file format error or comment lines\n return '';\n }\n // get cue text\n if (s[line]) {\n cue += s[line] + '\\n\\n';\n }\n return cue;\n}\n\nmodule.exports = {\n convert: function(text) {\n // presume all to be SRT if not WEBVTT\n if (text.includes('WEBVTT')) {\n return text;\n }\n\n try {\n return srt2webvtt(text);\n } catch (error) {\n throw new Error('Failed to convert srt to webvtt: ' + error.message);\n }\n }\n};\n","var VTTJS = require('vtt.js');\nvar binarySearchUpperBound = require('./binarySearchUpperBound');\n\nvar CRITICAL_ERROR_CODE = 0;\n\nfunction parse(text) {\n return new Promise(function(resolve, reject) {\n var parser = new VTTJS.WebVTT.Parser(window, VTTJS.WebVTT.StringDecoder());\n var errors = [];\n var cues = [];\n var cuesByTime = {};\n\n parser.oncue = function(c) {\n var cue = {\n startTime: (c.startTime * 1000) | 0,\n endTime: (c.endTime * 1000) | 0,\n text: c.text\n };\n cues.push(cue);\n cuesByTime[cue.startTime] = cuesByTime[cue.startTime] || [];\n cuesByTime[cue.endTime] = cuesByTime[cue.endTime] || [];\n };\n\n parser.onparsingerror = function(error) {\n if (error.code === CRITICAL_ERROR_CODE) {\n parser.oncue = null;\n parser.onparsingerror = null;\n parser.onflush = null;\n reject(error);\n } else {\n console.warn('Subtitles parsing error', error);\n errors.push(error);\n }\n };\n\n parser.onflush = function() {\n cuesByTime.times = Object.keys(cuesByTime)\n .map(function(time) {\n return parseInt(time, 10);\n })\n .sort(function(t1, t2) {\n return t1 - t2;\n });\n for (var i = 0; i < cues.length; i++) {\n cuesByTime[cues[i].startTime].push(cues[i]);\n var startTimeIndex = binarySearchUpperBound(cuesByTime.times, cues[i].startTime);\n for (var j = startTimeIndex + 1; j < cuesByTime.times.length; j++) {\n if (cues[i].endTime <= cuesByTime.times[j]) {\n break;\n }\n\n cuesByTime[cuesByTime.times[j]].push(cues[i]);\n }\n }\n\n for (var k = 0; k < cuesByTime.times.length; k++) {\n cuesByTime[cuesByTime.times[k]].sort(function(c1, c2) {\n return c1.startTime - c2.startTime ||\n c1.endTime - c2.endTime;\n });\n }\n\n parser.oncue = null;\n parser.onparsingerror = null;\n parser.onflush = null;\n // we may have multiple parsing errors here, but will only respond with the first\n // if subtitle cues are available, we will not reject the promise\n if (cues.length === 0 && errors.length) {\n reject(errors[0]);\n } else if (cuesByTime.times.length === 0) {\n reject(new Error('Missing subtitle track cues'));\n } else {\n resolve(cuesByTime);\n }\n };\n\n parser.parse(text);\n });\n}\n\nmodule.exports = {\n parse: parse\n};\n","var VTTJS = require('vtt.js');\nvar binarySearchUpperBound = require('./binarySearchUpperBound');\n\nfunction render(cuesByTime, time) {\n var nodes = [];\n var timeIndex = binarySearchUpperBound(cuesByTime.times, time);\n if (timeIndex !== -1) {\n var cuesForTime = cuesByTime[cuesByTime.times[timeIndex]];\n for (var i = 0; i < cuesForTime.length; i++) {\n var node = VTTJS.WebVTT.convertCueToDOMTree(window, cuesForTime[i].text);\n nodes.push(node);\n }\n }\n\n return nodes;\n}\n\nmodule.exports = {\n render: render\n};\n","var EventEmitter = require('eventemitter3');\nvar cloneDeep = require('lodash.clonedeep');\nvar deepFreeze = require('deep-freeze');\nvar Color = require('color');\nvar ERROR = require('../error');\nvar subtitlesParser = require('./subtitlesParser');\nvar subtitlesRenderer = require('./subtitlesRenderer');\nvar subtitlesConverter = require('./subtitlesConverter');\n\nfunction withHTMLSubtitles(Video) {\n function VideoWithHTMLSubtitles(options) {\n options = options || {};\n\n var video = new Video(options);\n video.on('error', onVideoError);\n video.on('propValue', onVideoPropEvent.bind(null, 'propValue'));\n video.on('propChanged', onVideoPropEvent.bind(null, 'propChanged'));\n Video.manifest.events\n .filter(function(eventName) {\n return !['error', 'propValue', 'propChanged'].includes(eventName);\n })\n .forEach(function(eventName) {\n video.on(eventName, onOtherVideoEvent(eventName));\n });\n\n var containerElement = options.containerElement;\n if (!(containerElement instanceof HTMLElement)) {\n throw new Error('Container element required to be instance of HTMLElement');\n }\n\n var subtitlesElement = document.createElement('div');\n subtitlesElement.style.position = 'absolute';\n subtitlesElement.style.right = '0';\n subtitlesElement.style.bottom = '0';\n subtitlesElement.style.left = '0';\n subtitlesElement.style.zIndex = '1';\n subtitlesElement.style.textAlign = 'center';\n containerElement.style.position = 'relative';\n containerElement.style.zIndex = '0';\n containerElement.appendChild(subtitlesElement);\n\n var videoState = {\n time: null\n };\n var cuesByTime = null;\n var events = new EventEmitter();\n var destroyed = false;\n var tracks = [];\n var selectedTrackId = null;\n var delay = null;\n var size = 100;\n var offset = 0;\n var textColor = 'rgb(255, 255, 255)';\n var backgroundColor = 'rgba(0, 0, 0, 0)';\n var outlineColor = 'rgb(34, 34, 34)';\n var opacity = 1;\n var observedProps = {\n extraSubtitlesTracks: false,\n selectedExtraSubtitlesTrackId: false,\n extraSubtitlesDelay: false,\n extraSubtitlesSize: false,\n extraSubtitlesOffset: false,\n extraSubtitlesTextColor: false,\n extraSubtitlesBackgroundColor: false,\n extraSubtitlesOutlineColor: false,\n extraSubtitlesOpacity: false\n };\n\n function renderSubtitles() {\n while (subtitlesElement.hasChildNodes()) {\n subtitlesElement.removeChild(subtitlesElement.lastChild);\n }\n\n if (cuesByTime === null || videoState.time === null || !isFinite(videoState.time)) {\n return;\n }\n\n subtitlesElement.style.bottom = offset + '%';\n subtitlesElement.style.opacity = opacity;\n subtitlesRenderer.render(cuesByTime, videoState.time - delay).forEach(function(cueNode) {\n cueNode.style.display = 'inline-block';\n cueNode.style.padding = '0.2em';\n cueNode.style.whiteSpace = 'pre-wrap';\n cueNode.style.fontSize = Math.floor(size / 25) + 'vmin';\n cueNode.style.color = textColor;\n cueNode.style.backgroundColor = backgroundColor;\n cueNode.style.textShadow = '1px 1px 0.1em ' + outlineColor;\n subtitlesElement.appendChild(cueNode);\n subtitlesElement.appendChild(document.createElement('br'));\n });\n }\n function onVideoError(error) {\n events.emit('error', error);\n if (error.critical) {\n command('unload');\n }\n }\n function onVideoPropEvent(eventName, propName, propValue) {\n switch (propName) {\n case 'time': {\n videoState.time = propValue;\n renderSubtitles();\n break;\n }\n }\n\n events.emit(eventName, propName, getProp(propName, propValue));\n }\n function onOtherVideoEvent(eventName) {\n return function() {\n events.emit.apply(events, [eventName].concat(Array.from(arguments)));\n };\n }\n function onPropChanged(propName) {\n if (observedProps[propName]) {\n events.emit('propChanged', propName, getProp(propName, null));\n }\n }\n function onError(error) {\n events.emit('error', error);\n if (error.critical) {\n command('unload');\n video.dispatch({ type: 'command', commandName: 'unload' });\n }\n }\n function getProp(propName, videoPropValue) {\n switch (propName) {\n case 'extraSubtitlesTracks': {\n if (destroyed) {\n return [];\n }\n\n return tracks.slice();\n }\n case 'selectedExtraSubtitlesTrackId': {\n if (destroyed) {\n return null;\n }\n\n return selectedTrackId;\n }\n case 'extraSubtitlesDelay': {\n if (destroyed) {\n return null;\n }\n\n return delay;\n }\n case 'extraSubtitlesSize': {\n if (destroyed) {\n return null;\n }\n\n return size;\n }\n case 'extraSubtitlesOffset': {\n if (destroyed) {\n return null;\n }\n\n return offset;\n }\n case 'extraSubtitlesTextColor': {\n if (destroyed) {\n return null;\n }\n\n return textColor;\n }\n case 'extraSubtitlesBackgroundColor': {\n if (destroyed) {\n return null;\n }\n\n return backgroundColor;\n }\n case 'extraSubtitlesOutlineColor': {\n if (destroyed) {\n return null;\n }\n\n return outlineColor;\n }\n case 'extraSubtitlesOpacity': {\n if (destroyed) {\n return null;\n }\n\n return opacity;\n }\n default: {\n return videoPropValue;\n }\n }\n }\n function observeProp(propName) {\n switch (propName) {\n case 'extraSubtitlesTracks':\n case 'selectedExtraSubtitlesTrackId':\n case 'extraSubtitlesDelay':\n case 'extraSubtitlesSize':\n case 'extraSubtitlesOffset':\n case 'extraSubtitlesTextColor':\n case 'extraSubtitlesBackgroundColor':\n case 'extraSubtitlesOutlineColor':\n case 'extraSubtitlesOpacity': {\n events.emit('propValue', propName, getProp(propName, null));\n observedProps[propName] = true;\n return true;\n }\n default: {\n return false;\n }\n }\n }\n function setProp(propName, propValue) {\n switch (propName) {\n case 'selectedExtraSubtitlesTrackId': {\n cuesByTime = null;\n selectedTrackId = null;\n delay = null;\n var selectedTrack = tracks.find(function(track) {\n return track.id === propValue;\n });\n if (selectedTrack) {\n selectedTrackId = selectedTrack.id;\n delay = 0;\n fetch(selectedTrack.url)\n .then(function(resp) {\n if (resp.ok) {\n return resp.text();\n }\n\n throw new Error(resp.status + ' (' + resp.statusText + ')');\n })\n .then(function(text) {\n return subtitlesConverter.convert(text);\n })\n .then(function(text) {\n return subtitlesParser.parse(text);\n })\n .then(function(result) {\n if (selectedTrackId !== selectedTrack.id) {\n return;\n }\n\n cuesByTime = result;\n renderSubtitles();\n events.emit('extraSubtitlesTrackLoaded', selectedTrack);\n })\n .catch(function(error) {\n if (selectedTrackId !== selectedTrack.id) {\n return;\n }\n\n onError(Object.assign({}, ERROR.WITH_HTML_SUBTITLES.LOAD_FAILED, {\n error: error,\n track: selectedTrack,\n critical: false\n }));\n });\n }\n renderSubtitles();\n onPropChanged('selectedExtraSubtitlesTrackId');\n onPropChanged('extraSubtitlesDelay');\n return true;\n }\n case 'extraSubtitlesDelay': {\n if (selectedTrackId !== null && propValue !== null && isFinite(propValue)) {\n delay = parseInt(propValue, 10);\n renderSubtitles();\n onPropChanged('extraSubtitlesDelay');\n }\n\n return true;\n }\n case 'extraSubtitlesSize': {\n if (propValue !== null && isFinite(propValue)) {\n size = Math.max(0, parseInt(propValue, 10));\n renderSubtitles();\n onPropChanged('extraSubtitlesSize');\n }\n\n return true;\n }\n case 'extraSubtitlesOffset': {\n if (propValue !== null && isFinite(propValue)) {\n offset = Math.max(0, Math.min(100, parseInt(propValue, 10)));\n renderSubtitles();\n onPropChanged('extraSubtitlesOffset');\n }\n\n return true;\n }\n case 'extraSubtitlesTextColor': {\n if (typeof propValue === 'string') {\n try {\n textColor = Color(propValue).rgb().string();\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('withHTMLSubtitles', error);\n }\n\n renderSubtitles();\n onPropChanged('extraSubtitlesTextColor');\n }\n\n return true;\n }\n case 'extraSubtitlesBackgroundColor': {\n if (typeof propValue === 'string') {\n try {\n backgroundColor = Color(propValue).rgb().string();\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('withHTMLSubtitles', error);\n }\n\n renderSubtitles();\n onPropChanged('extraSubtitlesBackgroundColor');\n }\n\n return true;\n }\n case 'extraSubtitlesOutlineColor': {\n if (typeof propValue === 'string') {\n try {\n outlineColor = Color(propValue).rgb().string();\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('withHTMLSubtitles', error);\n }\n\n renderSubtitles();\n onPropChanged('extraSubtitlesOutlineColor');\n }\n\n return true;\n }\n case 'extraSubtitlesOpacity': {\n if (typeof propValue === 'number') {\n try {\n opacity = Math.min(Math.max(propValue / 100, 0), 1);\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('withHTMLSubtitles', error);\n }\n\n renderSubtitles();\n onPropChanged('extraSubtitlesOpacity');\n }\n\n return true;\n }\n default: {\n return false;\n }\n }\n }\n function command(commandName, commandArgs) {\n switch (commandName) {\n case 'addExtraSubtitlesTracks': {\n if (commandArgs && Array.isArray(commandArgs.tracks)) {\n tracks = tracks\n .concat(commandArgs.tracks)\n .filter(function(track, index, tracks) {\n return track &&\n typeof track.id === 'string' &&\n typeof track.url === 'string' &&\n typeof track.lang === 'string' &&\n typeof track.label === 'string' &&\n typeof track.origin === 'string' &&\n !track.embedded &&\n index === tracks.findIndex(function(t) { return t.id === track.id; });\n });\n onPropChanged('extraSubtitlesTracks');\n }\n\n return true;\n }\n case 'load': {\n command('unload');\n if (commandArgs.stream && Array.isArray(commandArgs.stream.subtitles)) {\n command('addExtraSubtitlesTracks', {\n tracks: commandArgs.stream.subtitles.map(function(track) {\n return Object.assign({}, track, {\n origin: 'EXCLUSIVE',\n exclusive: true,\n embedded: false\n });\n })\n });\n }\n\n return false;\n }\n case 'unload': {\n cuesByTime = null;\n tracks = [];\n selectedTrackId = null;\n delay = null;\n renderSubtitles();\n onPropChanged('extraSubtitlesTracks');\n onPropChanged('selectedExtraSubtitlesTrackId');\n onPropChanged('extraSubtitlesDelay');\n return false;\n }\n case 'destroy': {\n command('unload');\n destroyed = true;\n onPropChanged('extraSubtitlesSize');\n onPropChanged('extraSubtitlesOffset');\n onPropChanged('extraSubtitlesTextColor');\n onPropChanged('extraSubtitlesBackgroundColor');\n onPropChanged('extraSubtitlesOutlineColor');\n onPropChanged('extraSubtitlesOpacity');\n video.dispatch({ type: 'command', commandName: 'destroy' });\n events.removeAllListeners();\n containerElement.removeChild(subtitlesElement);\n return true;\n }\n default: {\n return false;\n }\n }\n }\n\n this.on = function(eventName, listener) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n events.on(eventName, listener);\n };\n this.dispatch = function(action) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n if (action) {\n action = deepFreeze(cloneDeep(action));\n switch (action.type) {\n case 'observeProp': {\n if (observeProp(action.propName)) {\n return;\n }\n\n break;\n }\n case 'setProp': {\n if (setProp(action.propName, action.propValue)) {\n return;\n }\n\n break;\n }\n case 'command': {\n if (command(action.commandName, action.commandArgs)) {\n return;\n }\n\n break;\n }\n }\n }\n\n video.dispatch(action);\n };\n }\n\n VideoWithHTMLSubtitles.canPlayStream = function(stream) {\n return Video.canPlayStream(stream);\n };\n\n VideoWithHTMLSubtitles.manifest = {\n name: Video.manifest.name + 'WithHTMLSubtitles',\n external: Video.manifest.external,\n props: Video.manifest.props.concat(['extraSubtitlesTracks', 'selectedExtraSubtitlesTrackId', 'extraSubtitlesDelay', 'extraSubtitlesSize', 'extraSubtitlesOffset', 'extraSubtitlesTextColor', 'extraSubtitlesBackgroundColor', 'extraSubtitlesOutlineColor', 'extraSubtitlesOpacity'])\n .filter(function(value, index, array) { return array.indexOf(value) === index; }),\n commands: Video.manifest.commands.concat(['load', 'unload', 'destroy', 'addExtraSubtitlesTracks'])\n .filter(function(value, index, array) { return array.indexOf(value) === index; }),\n events: Video.manifest.events.concat(['propValue', 'propChanged', 'error', 'extraSubtitlesTrackLoaded'])\n .filter(function(value, index, array) { return array.indexOf(value) === index; })\n };\n\n return VideoWithHTMLSubtitles;\n}\n\nmodule.exports = withHTMLSubtitles;\n","var url = require('url');\nvar magnet = require('magnet-uri');\nvar createTorrent = require('./createTorrent');\n\nfunction buildProxyUrl(streamingServerURL, streamURL, requestHeaders, responseHeaders) {\n var parsedStreamURL = new URL(streamURL);\n var proxyOptions = new URLSearchParams();\n proxyOptions.set('d', parsedStreamURL.origin);\n Object.entries(requestHeaders).forEach(function(entry) {\n proxyOptions.append('h', entry[0] + ':' + entry[1]);\n });\n Object.entries(responseHeaders).forEach(function(entry) {\n proxyOptions.append('r', entry[0] + ':' + entry[1]);\n });\n return url.resolve(streamingServerURL, '/proxy/' + proxyOptions.toString() + parsedStreamURL.pathname) + parsedStreamURL.search;\n}\n\nfunction convertStream(streamingServerURL, stream, seriesInfo, streamingServerSettings) {\n return new Promise(function(resolve, reject) {\n if (typeof stream.url === 'string') {\n if (stream.url.indexOf('magnet:') === 0) {\n var parsedMagnetURI;\n try {\n parsedMagnetURI = magnet.decode(stream.url);\n if (!parsedMagnetURI || typeof parsedMagnetURI.infoHash !== 'string') {\n throw new Error('Failed to decode magnet url');\n }\n } catch (error) {\n reject(error);\n return;\n }\n\n var sources = Array.isArray(parsedMagnetURI.announce) ?\n parsedMagnetURI.announce.map(function(source) {\n return 'tracker:' + source;\n })\n :\n [];\n createTorrent(streamingServerURL, parsedMagnetURI.infoHash, null, sources, seriesInfo)\n .then(function(torrent) {\n resolve({ url: torrent.url, infoHash: torrent.infoHash, fileIdx: torrent.fileIdx });\n })\n .catch(function(error) {\n reject(error);\n });\n } else {\n var proxyStreamsEnabled = streamingServerSettings && streamingServerSettings.proxyStreamsEnabled;\n var proxyHeaders = stream.behaviorHints && stream.behaviorHints.proxyHeaders;\n if (proxyStreamsEnabled || proxyHeaders) {\n var requestHeaders = proxyHeaders && proxyHeaders.request ? proxyHeaders.request : {};\n var responseHeaders = proxyHeaders && proxyHeaders.response ? proxyHeaders.response : {};\n resolve({ url: buildProxyUrl(streamingServerURL, stream.url, requestHeaders, responseHeaders) });\n } else {\n resolve({ url: stream.url });\n }\n }\n\n return;\n }\n\n if (typeof stream.infoHash === 'string') {\n createTorrent(streamingServerURL, stream.infoHash, stream.fileIdx, stream.announce, seriesInfo)\n .then(function(torrent) {\n resolve({ url: torrent.url, infoHash: torrent.infoHash, fileIdx: torrent.fileIdx });\n })\n .catch(function(error) {\n reject(error);\n });\n\n return;\n }\n\n reject(new Error('Stream cannot be converted'));\n });\n}\n\nmodule.exports = convertStream;\n","var url = require('url');\n\nfunction buildTorrent(streamingServerURL, infoHash, fileIdx, sources) {\n var query = Array.isArray(sources) && sources.length > 0 ?\n '?' + new URLSearchParams(sources.map(function(source) {\n return ['tr', source];\n }))\n :\n '';\n return {\n url: url.resolve(streamingServerURL, '/' + encodeURIComponent(infoHash) + '/' + encodeURIComponent(fileIdx)) + query,\n infoHash: infoHash,\n fileIdx: fileIdx,\n sources: sources\n };\n}\n\nfunction createTorrent(streamingServerURL, infoHash, fileIdx, sources, seriesInfo) {\n if ((!Array.isArray(sources) || sources.length === 0) && (fileIdx !== null && isFinite(fileIdx))) {\n return Promise.resolve(buildTorrent(streamingServerURL, infoHash, fileIdx, sources));\n }\n\n var body = {\n torrent: {\n infoHash: infoHash,\n }\n };\n\n if (Array.isArray(sources) && sources.length > 0) {\n body.peerSearch = {\n sources: ['dht:' + infoHash].concat(sources).filter(function(source, index, sources) {\n return sources.indexOf(source) === index;\n }),\n min: 40,\n max: 200\n };\n }\n\n if (fileIdx === null || !isFinite(fileIdx)) {\n body.guessFileIdx = {};\n if (seriesInfo) {\n if (seriesInfo.season !== null && isFinite(seriesInfo.season)) {\n body.guessFileIdx.season = seriesInfo.season;\n }\n if (seriesInfo.episode !== null && isFinite(seriesInfo.episode)) {\n body.guessFileIdx.episode = seriesInfo.episode;\n }\n }\n } else {\n body.guessFileIdx = false;\n }\n\n return fetch(url.resolve(streamingServerURL, '/' + encodeURIComponent(infoHash) + '/create'), {\n method: 'POST',\n headers: {\n 'content-type': 'application/json'\n },\n body: JSON.stringify(body)\n }).then(function(resp) {\n if (resp.ok) {\n return resp.json();\n }\n\n throw new Error(resp.status + ' (' + resp.statusText + ')');\n }).then(function(resp) {\n return buildTorrent(streamingServerURL, infoHash, body.guessFileIdx ? resp.guessedFileIdx : fileIdx, body.peerSearch ? body.peerSearch.sources : []);\n });\n}\n\nmodule.exports = createTorrent;\n","var url = require('url');\n\nfunction fetchOpensubtitlesParams(streamingServerURL, mediaURL, behaviorHints) {\n var hash = behaviorHints && typeof behaviorHints.videoHash === 'string' ? behaviorHints.videoHash : null;\n var size = behaviorHints && isFinite(behaviorHints.videoSize) ? behaviorHints.videoSize : null;\n if (typeof hash === 'string' && size !== null && isFinite(size)) {\n return Promise.resolve({ hash: hash, size: size });\n }\n\n var queryParams = new URLSearchParams([['videoUrl', mediaURL]]);\n return fetch(url.resolve(streamingServerURL, '/opensubHash?' + queryParams.toString()))\n .then(function(resp) {\n if (resp.ok) {\n return resp.json();\n }\n\n throw new Error(resp.status + ' (' + resp.statusText + ')');\n })\n .then(function(resp) {\n if (resp.error) {\n throw new Error(resp.error);\n }\n\n return {\n hash: typeof hash === 'string' ?\n hash\n :\n resp.result && typeof resp.result.hash === 'string' ?\n resp.result.hash\n :\n null,\n size: size !== null && isFinite(size) ?\n size\n :\n resp.result && typeof resp.result.size ?\n resp.result.size\n :\n null\n };\n });\n}\n\nfunction fetchFilename(streamingServerURL, mediaURL, infoHash, fileIdx, behaviorHints) {\n if (behaviorHints && typeof behaviorHints.filename === 'string') {\n return Promise.resolve(behaviorHints.filename);\n }\n\n if (infoHash) {\n return fetch(url.resolve(streamingServerURL, '/' + encodeURIComponent(infoHash) + '/' + encodeURIComponent(fileIdx) + '/stats.json'))\n .then(function(resp) {\n if (resp.ok) {\n return resp.json();\n }\n\n throw new Error(resp.status + ' (' + resp.statusText + ')');\n })\n .then(function(resp) {\n if (!resp || typeof resp.streamName !== 'string') {\n throw new Error('Could not retrieve filename from torrent');\n }\n\n return resp.streamName;\n });\n }\n\n return Promise.resolve(decodeURIComponent(mediaURL.split('/').pop()));\n}\n\nfunction fetchVideoParams(streamingServerURL, mediaURL, infoHash, fileIdx, behaviorHints) {\n return Promise.allSettled([\n fetchOpensubtitlesParams(streamingServerURL, mediaURL, behaviorHints),\n fetchFilename(streamingServerURL, mediaURL, infoHash, fileIdx, behaviorHints)\n ]).then(function(results) {\n var result = { hash: null, size: null, filename: null };\n\n if (results[0].status === 'fulfilled') {\n result.hash = results[0].value.hash;\n result.size = results[0].value.size;\n } else if (results[0].reason) {\n // eslint-disable-next-line no-console\n console.error(results[0].reason);\n }\n\n if (results[1].status === 'fulfilled') {\n result.filename = results[1].value;\n } else if (results[1].reason) {\n // eslint-disable-next-line no-console\n console.error(results[1].reason);\n }\n\n return result;\n });\n}\n\nmodule.exports = fetchVideoParams;\n","var withStreamingServer = require('./withStreamingServer');\n\nmodule.exports = withStreamingServer;\n","function isPlayerLoaded(video, props) {\n if (!props.includes('loaded')) {\n return Promise.resolve(true);\n }\n return new Promise(function(resolve, reject) {\n var isLoaded = null;\n video.on('propChanged', function(propName, propValue) {\n if (propName === 'loaded' && propValue !== null && isLoaded === null) {\n isLoaded = propValue;\n if (propValue === true) {\n resolve(true);\n } else if (propValue === false) {\n reject(Error('Player failed to load, will not retrieve video params'));\n }\n }\n });\n video.dispatch({\n type: 'observeProp',\n propName: 'loaded'\n });\n });\n}\n\nmodule.exports = isPlayerLoaded;\n","var EventEmitter = require('eventemitter3');\nvar url = require('url');\nvar hat = require('hat');\nvar cloneDeep = require('lodash.clonedeep');\nvar deepFreeze = require('deep-freeze');\nvar mediaCapabilities = require('../mediaCapabilities');\nvar convertStream = require('./convertStream');\nvar fetchVideoParams = require('./fetchVideoParams');\nvar isPlayerLoaded = require('./isPlayerLoaded');\nvar supportsTranscoding = require('../supportsTranscoding');\nvar ERROR = require('../error');\n\nfunction withStreamingServer(Video) {\n function VideoWithStreamingServer(options) {\n options = options || {};\n\n var video = new Video(options);\n video.on('error', onVideoError);\n video.on('propValue', onVideoPropEvent.bind(null, 'propValue'));\n video.on('propChanged', onVideoPropEvent.bind(null, 'propChanged'));\n Video.manifest.events\n .filter(function(eventName) {\n return !['error', 'propValue', 'propChanged'].includes(eventName);\n })\n .forEach(function(eventName) {\n video.on(eventName, onOtherVideoEvent(eventName));\n });\n\n var self = this;\n var loadArgs = null;\n var loaded = false;\n var actionsQueue = [];\n var videoParams = null;\n var events = new EventEmitter();\n var destroyed = false;\n var observedProps = {\n stream: false,\n videoParams: false\n };\n\n function flushActionsQueue() {\n while (actionsQueue.length > 0) {\n var action = actionsQueue.shift();\n self.dispatch.call(self, action);\n }\n }\n function onVideoError(error) {\n events.emit('error', error);\n if (error.critical) {\n command('unload');\n }\n }\n function onVideoPropEvent(eventName, propName, propValue) {\n events.emit(eventName, propName, getProp(propName, propValue));\n }\n function onOtherVideoEvent(eventName) {\n return function() {\n events.emit.apply(events, [eventName].concat(Array.from(arguments)));\n };\n }\n function onPropChanged(propName) {\n if (observedProps[propName]) {\n events.emit('propChanged', propName, getProp(propName, null));\n }\n }\n function onError(error) {\n events.emit('error', error);\n if (error.critical) {\n command('unload');\n video.dispatch({ type: 'command', commandName: 'unload' });\n }\n }\n function getProp(propName, videoPropValue) {\n switch (propName) {\n case 'stream': {\n return loadArgs !== null ? loadArgs.stream : null;\n }\n case 'videoParams': {\n return videoParams;\n }\n default: {\n return videoPropValue;\n }\n }\n }\n function observeProp(propName) {\n switch (propName) {\n case 'stream':\n case 'videoParams': {\n events.emit('propValue', propName, getProp(propName, null));\n observedProps[propName] = true;\n return true;\n }\n default: {\n return false;\n }\n }\n }\n function command(commandName, commandArgs) {\n switch (commandName) {\n case 'load': {\n if (commandArgs && commandArgs.stream && typeof commandArgs.streamingServerURL === 'string') {\n command('unload');\n video.dispatch({ type: 'command', commandName: 'unload' });\n loadArgs = commandArgs;\n onPropChanged('stream');\n convertStream(commandArgs.streamingServerURL, commandArgs.stream, commandArgs.seriesInfo, commandArgs.streamingServerSettings)\n .then(function(result) {\n var mediaURL = result.url;\n var infoHash = result.infoHash;\n var fileIdx = result.fileIdx;\n var formats = Array.isArray(commandArgs.formats) ?\n commandArgs.formats\n :\n mediaCapabilities.formats;\n var videoCodecs = Array.isArray(commandArgs.videoCodecs) ?\n commandArgs.videoCodecs\n :\n mediaCapabilities.videoCodecs;\n var audioCodecs = Array.isArray(commandArgs.audioCodecs) ?\n commandArgs.audioCodecs\n :\n mediaCapabilities.audioCodecs;\n var maxAudioChannels = commandArgs.maxAudioChannels !== null && isFinite(commandArgs.maxAudioChannels) ?\n commandArgs.maxAudioChannels\n :\n mediaCapabilities.maxAudioChannels;\n var canPlayStreamOptions = Object.assign({}, commandArgs, {\n formats: formats,\n videoCodecs: videoCodecs,\n audioCodecs: audioCodecs,\n maxAudioChannels: maxAudioChannels\n });\n return (commandArgs.forceTranscoding ? Promise.resolve(false) : VideoWithStreamingServer.canPlayStream({ url: mediaURL }, canPlayStreamOptions))\n .catch(function(error) {\n console.warn('Media probe error', error);\n return false;\n })\n .then(function(canPlay) {\n if (canPlay) {\n return {\n mediaURL: mediaURL,\n infoHash: infoHash,\n fileIdx: fileIdx,\n stream: {\n url: mediaURL\n }\n };\n }\n\n var id = hat();\n var queryParams = new URLSearchParams([['mediaURL', mediaURL]]);\n if (commandArgs.forceTranscoding) {\n queryParams.set('forceTranscoding', '1');\n }\n\n videoCodecs.forEach(function(videoCodec) {\n queryParams.append('videoCodecs', videoCodec);\n });\n\n audioCodecs.forEach(function(audioCodec) {\n queryParams.append('audioCodecs', audioCodec);\n });\n\n queryParams.set('maxAudioChannels', maxAudioChannels);\n\n return {\n mediaURL: mediaURL,\n infoHash: infoHash,\n fileIdx: fileIdx,\n stream: {\n url: url.resolve(commandArgs.streamingServerURL, '/hlsv2/' + id + '/master.m3u8?' + queryParams.toString()),\n subtitles: Array.isArray(commandArgs.stream.subtitles) ?\n commandArgs.stream.subtitles.map(function(track) {\n return Object.assign({}, track, {\n url: typeof track.url === 'string' ?\n url.resolve(commandArgs.streamingServerURL, '/subtitles.vtt?' + new URLSearchParams([['from', track.url]]).toString())\n :\n track.url\n });\n })\n :\n [],\n behaviorHints: {\n headers: {\n 'content-type': 'application/vnd.apple.mpegurl'\n }\n }\n }\n };\n });\n })\n .then(function(result) {\n if (commandArgs !== loadArgs) {\n return;\n }\n\n video.dispatch({\n type: 'command',\n commandName: 'load',\n commandArgs: Object.assign({}, commandArgs, {\n stream: result.stream\n })\n });\n loaded = true;\n flushActionsQueue();\n\n isPlayerLoaded(video, Video.manifest.props)\n .then(function() {\n return fetchVideoParams(commandArgs.streamingServerURL, result.mediaURL, result.infoHash, result.fileIdx, commandArgs.stream.behaviorHints);\n })\n .then(function(result) {\n if (commandArgs !== loadArgs) {\n return;\n }\n\n videoParams = result;\n onPropChanged('videoParams');\n })\n .catch(function(error) {\n if (commandArgs !== loadArgs) {\n return;\n }\n\n // eslint-disable-next-line no-console\n console.error(error);\n videoParams = { hash: null, size: null, filename: null };\n onPropChanged('videoParams');\n });\n })\n .catch(function(error) {\n if (commandArgs !== loadArgs) {\n return;\n }\n\n onError(Object.assign({}, ERROR.WITH_STREAMING_SERVER.CONVERT_FAILED, {\n error: error,\n critical: true,\n stream: commandArgs.stream,\n streamingServerURL: commandArgs.streamingServerURL\n }));\n });\n } else {\n onError(Object.assign({}, ERROR.UNSUPPORTED_STREAM, {\n critical: true,\n stream: commandArgs ? commandArgs.stream : null,\n streamingServerURL: commandArgs && typeof commandArgs.streamingServerURL === 'string' ? commandArgs.streamingServerURL : null\n }));\n }\n\n return true;\n }\n case 'addExtraSubtitlesTracks': {\n if (loadArgs && commandArgs && Array.isArray(commandArgs.tracks)) {\n if (loaded) {\n video.dispatch({\n type: 'command',\n commandName: 'addExtraSubtitlesTracks',\n commandArgs: Object.assign({}, commandArgs, {\n tracks: commandArgs.tracks.map(function(track) {\n return Object.assign({}, track, {\n url: typeof track.url === 'string' ?\n url.resolve(loadArgs.streamingServerURL, '/subtitles.vtt?' + new URLSearchParams([['from', track.url]]).toString())\n :\n track.url\n });\n })\n })\n });\n } else {\n actionsQueue.push({\n type: 'command',\n commandName: 'addExtraSubtitlesTracks',\n commandArgs: commandArgs\n });\n }\n }\n\n return true;\n }\n case 'unload': {\n loadArgs = null;\n loaded = false;\n actionsQueue = [];\n videoParams = null;\n onPropChanged('stream');\n onPropChanged('videoParams');\n return false;\n }\n case 'destroy': {\n command('unload');\n destroyed = true;\n video.dispatch({ type: 'command', commandName: 'destroy' });\n events.removeAllListeners();\n return true;\n }\n default: {\n if (!loaded) {\n actionsQueue.push({\n type: 'command',\n commandName: commandName,\n commandArgs: commandArgs\n });\n\n return true;\n }\n\n return false;\n }\n }\n }\n\n this.on = function(eventName, listener) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n events.on(eventName, listener);\n };\n this.dispatch = function(action) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n if (action) {\n action = deepFreeze(cloneDeep(action));\n switch (action.type) {\n case 'observeProp': {\n if (observeProp(action.propName)) {\n return;\n }\n\n break;\n }\n case 'command': {\n if (command(action.commandName, action.commandArgs)) {\n return;\n }\n\n break;\n }\n }\n }\n\n video.dispatch(action);\n };\n }\n\n VideoWithStreamingServer.canPlayStream = function(stream, options) {\n return supportsTranscoding()\n .then(function(supported) {\n if (!supported) {\n // we cannot probe the video in this case\n return Video.canPlayStream(stream);\n }\n // probing normally gives more accurate results\n var queryParams = new URLSearchParams([['mediaURL', stream.url]]);\n return fetch(url.resolve(options.streamingServerURL, '/hlsv2/probe?' + queryParams.toString()))\n .then(function(resp) {\n return resp.json();\n })\n .then(function(probe) {\n var isFormatSupported = options.formats.some(function(format) {\n return probe.format.name.indexOf(format) !== -1;\n });\n var areStreamsSupported = probe.streams.every(function(stream) {\n if (stream.track === 'audio') {\n return stream.channels <= options.maxAudioChannels &&\n options.audioCodecs.indexOf(stream.codec) !== -1;\n } else if (stream.track === 'video') {\n return options.videoCodecs.indexOf(stream.codec) !== -1;\n }\n\n return true;\n });\n return isFormatSupported && areStreamsSupported;\n })\n .catch(function() {\n // this uses content-type header in HTMLVideo which\n // is unreliable, check can also fail due to CORS\n return Video.canPlayStream(stream);\n });\n });\n };\n\n VideoWithStreamingServer.manifest = {\n name: Video.manifest.name + 'WithStreamingServer',\n external: Video.manifest.external,\n props: Video.manifest.props.concat(['stream', 'videoParams'])\n .filter(function(value, index, array) { return array.indexOf(value) === index; }),\n commands: Video.manifest.commands.concat(['load', 'unload', 'destroy', 'addExtraSubtitlesTracks'])\n .filter(function(value, index, array) { return array.indexOf(value) === index; }),\n events: Video.manifest.events.concat(['propValue', 'propChanged', 'error'])\n .filter(function(value, index, array) { return array.indexOf(value) === index; })\n };\n\n return VideoWithStreamingServer;\n}\n\nmodule.exports = withStreamingServer;\n","var withVideoParams = require('./withVideoParams');\n\nmodule.exports = withVideoParams;\n","var EventEmitter = require('eventemitter3');\nvar cloneDeep = require('lodash.clonedeep');\nvar deepFreeze = require('deep-freeze');\n\nfunction withVideoParams(Video) {\n function VideoWithVideoParams(options) {\n options = options || {};\n\n var video = new Video(options);\n video.on('propValue', onVideoPropEvent.bind(null, 'propValue'));\n video.on('propChanged', onVideoPropEvent.bind(null, 'propChanged'));\n Video.manifest.events\n .filter(function(eventName) {\n return !['propValue', 'propChanged'].includes(eventName);\n })\n .forEach(function(eventName) {\n video.on(eventName, onOtherVideoEvent(eventName));\n });\n\n var stream = null;\n var events = new EventEmitter();\n var destroyed = false;\n var observedProps = {\n videoParams: false\n };\n\n function onVideoPropEvent(eventName, propName, propValue) {\n if (propName !== 'videoParams') {\n events.emit(eventName, propName, getProp(propName, propValue));\n }\n if (propName === 'stream') {\n stream = propValue;\n onPropChanged('videoParams');\n }\n }\n function onOtherVideoEvent(eventName) {\n return function() {\n events.emit.apply(events, [eventName].concat(Array.from(arguments)));\n };\n }\n function onPropChanged(propName) {\n if (observedProps[propName]) {\n events.emit('propChanged', propName, getProp(propName, null));\n }\n }\n function getProp(propName, videoPropValue) {\n switch (propName) {\n case 'videoParams': {\n if (stream === null) {\n return null;\n }\n\n var hash = stream.behaviorHints && typeof stream.behaviorHints.videoHash === 'string' ? stream.behaviorHints.videoHash : null;\n var size = stream.behaviorHints && stream.behaviorHints.videoSize !== null && isFinite(stream.behaviorHints.videoSize) ? stream.behaviorHints.videoSize : null;\n var filename = stream.behaviorHints && typeof stream.behaviorHints.filename === 'string' ? stream.behaviorHints.filename : null;\n return { hash: hash, size: size, filename: filename };\n }\n default: {\n return videoPropValue;\n }\n }\n }\n function observeProp(propName) {\n switch (propName) {\n case 'videoParams': {\n events.emit('propValue', propName, getProp(propName, null));\n observedProps[propName] = true;\n return true;\n }\n default: {\n return false;\n }\n }\n }\n function command(commandName) {\n switch (commandName) {\n case 'destroy': {\n destroyed = true;\n video.dispatch({ type: 'command', commandName: 'destroy' });\n events.removeAllListeners();\n return true;\n }\n default: {\n return false;\n }\n }\n }\n\n this.on = function(eventName, listener) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n events.on(eventName, listener);\n };\n this.dispatch = function(action) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n if (action) {\n action = deepFreeze(cloneDeep(action));\n switch (action.type) {\n case 'observeProp': {\n if (observeProp(action.propName)) {\n return;\n }\n\n break;\n }\n case 'command': {\n if (command(action.commandName, action.commandArgs)) {\n return;\n }\n\n break;\n }\n }\n }\n\n video.dispatch(action);\n };\n }\n\n VideoWithVideoParams.canPlayStream = function(stream, options) {\n return Video.canPlayStream(stream, options);\n };\n\n VideoWithVideoParams.manifest = {\n name: Video.manifest.name + 'WithVideoParams',\n external: Video.manifest.external,\n props: Video.manifest.props.concat(['videoParams'])\n .filter(function(value, index, array) { return array.indexOf(value) === index; }),\n commands: Video.manifest.commands.concat(['destroy'])\n .filter(function(value, index, array) { return array.indexOf(value) === index; }),\n events: Video.manifest.events.concat(['propValue', 'propChanged'])\n .filter(function(value, index, array) { return array.indexOf(value) === index; })\n };\n\n return VideoWithVideoParams;\n}\n\nmodule.exports = withVideoParams;\n","/*!\n * a-color-picker (https://github.com/narsenico/a-color-picker)\n * \n * Copyright (c) 2017-2018, Gianfranco Caldi.\n * Released under the MIT License.\n */\n!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(\"AColorPicker\",[],t):\"object\"==typeof exports?exports.AColorPicker=t():e.AColorPicker=t()}(\"undefined\"!=typeof self?self:this,function(){return function(e){var t={};function r(i){if(t[i])return t[i].exports;var o=t[i]={i:i,l:!1,exports:{}};return e[i].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,i){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},r.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var o in e)r.d(i,o,function(t){return e[t]}.bind(null,o));return i},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,\"a\",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p=\"\",r(r.s=1)}([function(e,t,r){\"use strict\";\n/*!\n * is-plain-object <https://github.com/jonschlinkert/is-plain-object>\n *\n * Copyright (c) 2014-2017, Jon Schlinkert.\n * Released under the MIT License.\n */var i=r(3);function o(e){return!0===i(e)&&\"[object Object]\"===Object.prototype.toString.call(e)}e.exports=function(e){var t,r;return!1!==o(e)&&\"function\"==typeof(t=e.constructor)&&!1!==o(r=t.prototype)&&!1!==r.hasOwnProperty(\"isPrototypeOf\")}},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.VERSION=t.PALETTE_MATERIAL_CHROME=t.PALETTE_MATERIAL_500=t.COLOR_NAMES=t.getLuminance=t.intToRgb=t.rgbToInt=t.rgbToHsv=t.rgbToHsl=t.hslToRgb=t.rgbToHex=t.parseColor=t.parseColorToHsla=t.parseColorToHsl=t.parseColorToRgba=t.parseColorToRgb=t.from=t.createPicker=void 0;var i=function(){function e(e,t){for(var r=0;r<t.length;r++){var i=t[r];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,r,i){return r&&e(t.prototype,r),i&&e(t,i),t}}(),o=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var r=[],i=!0,o=!1,n=void 0;try{for(var s,a=e[Symbol.iterator]();!(i=(s=a.next()).done)&&(r.push(s.value),!t||r.length!==t);i=!0);}catch(e){o=!0,n=e}finally{try{!i&&a.return&&a.return()}finally{if(o)throw n}}return r}(e,t);throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")},n=r(2),s=l(r(0)),a=l(r(4));function l(e){return e&&e.__esModule?e:{default:e}}function c(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function u(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t<e.length;t++)r[t]=e[t];return r}return Array.from(e)}\n/*!\n * a-color-picker\n * https://github.com/narsenico/a-color-picker\n *\n * Copyright (c) 2017-2019, Gianfranco Caldi.\n * Released under the MIT License.\n */var h=\"undefined\"!=typeof window&&window.navigator.userAgent.indexOf(\"Edge\")>-1,p=\"undefined\"!=typeof window&&window.navigator.userAgent.indexOf(\"rv:\")>-1,d={id:null,attachTo:\"body\",showHSL:!0,showRGB:!0,showHEX:!0,showAlpha:!1,color:\"#ff0000\",palette:null,paletteEditable:!1,useAlphaInPalette:\"auto\",slBarSize:[232,150],hueBarSize:[150,11],alphaBarSize:[150,11]},f=\"COLOR\",g=\"RGBA_USER\",b=\"HSLA_USER\";function v(e,t,r){return e?e instanceof HTMLElement?e:e instanceof NodeList?e[0]:\"string\"==typeof e?document.querySelector(e):e.jquery?e.get(0):r?t:null:t}function m(e){var t=e.getContext(\"2d\"),r=+e.width,i=+e.height,s=t.createLinearGradient(1,1,1,i-1);return s.addColorStop(0,\"white\"),s.addColorStop(1,\"black\"),{setHue:function(e){var o=t.createLinearGradient(1,0,r-1,0);o.addColorStop(0,\"hsla(\"+e+\", 100%, 50%, 0)\"),o.addColorStop(1,\"hsla(\"+e+\", 100%, 50%, 1)\"),t.fillStyle=s,t.fillRect(0,0,r,i),t.fillStyle=o,t.globalCompositeOperation=\"multiply\",t.fillRect(0,0,r,i),t.globalCompositeOperation=\"source-over\"},grabColor:function(e,r){return t.getImageData(e,r,1,1).data},findColor:function(e,t,s){var a=(0,n.rgbToHsv)(e,t,s),l=o(a,3),c=l[1],u=l[2];return[c*r,i-u*i]}}}function A(e,t,r){return null===e?t:/^\\s*$/.test(e)?r:!!/true|yes|1/i.test(e)||!/false|no|0/i.test(e)&&t}function y(e,t,r){if(null===e)return t;if(/^\\s*$/.test(e))return r;var i=e.split(\",\").map(Number);return 2===i.length&&i[0]&&i[1]?i:t}var k=function(){function e(t,r){if(c(this,e),r?(t=v(t),this.options=Object.assign({},d,r)):t&&(0,s.default)(t)?(this.options=Object.assign({},d,t),t=v(this.options.attachTo)):(this.options=Object.assign({},d),t=v((0,n.nvl)(t,this.options.attachTo))),!t)throw new Error(\"Container not found: \"+this.options.attachTo);!function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\"acp-\";if(t.hasAttribute(r+\"show-hsl\")&&(e.showHSL=A(t.getAttribute(r+\"show-hsl\"),d.showHSL,!0)),t.hasAttribute(r+\"show-rgb\")&&(e.showRGB=A(t.getAttribute(r+\"show-rgb\"),d.showRGB,!0)),t.hasAttribute(r+\"show-hex\")&&(e.showHEX=A(t.getAttribute(r+\"show-hex\"),d.showHEX,!0)),t.hasAttribute(r+\"show-alpha\")&&(e.showAlpha=A(t.getAttribute(r+\"show-alpha\"),d.showAlpha,!0)),t.hasAttribute(r+\"palette-editable\")&&(e.paletteEditable=A(t.getAttribute(r+\"palette-editable\"),d.paletteEditable,!0)),t.hasAttribute(r+\"sl-bar-size\")&&(e.slBarSize=y(t.getAttribute(r+\"sl-bar-size\"),d.slBarSize,[232,150])),t.hasAttribute(r+\"hue-bar-size\")&&(e.hueBarSize=y(t.getAttribute(r+\"hue-bar-size\"),d.hueBarSize,[150,11]),e.alphaBarSize=e.hueBarSize),t.hasAttribute(r+\"palette\")){var i=t.getAttribute(r+\"palette\");switch(i){case\"PALETTE_MATERIAL_500\":e.palette=n.PALETTE_MATERIAL_500;break;case\"PALETTE_MATERIAL_CHROME\":case\"\":e.palette=n.PALETTE_MATERIAL_CHROME;break;default:e.palette=i.split(/[;|]/)}}t.hasAttribute(r+\"color\")&&(e.color=t.getAttribute(r+\"color\"))}(this.options,t),this.H=0,this.S=0,this.L=0,this.R=0,this.G=0,this.B=0,this.A=1,this.palette={},this.element=document.createElement(\"div\"),this.options.id&&(this.element.id=this.options.id),this.element.className=\"a-color-picker\",this.element.innerHTML=a.default,t.appendChild(this.element);var i=this.element.querySelector(\".a-color-picker-h\");this.setupHueCanvas(i),this.hueBarHelper=m(i),this.huePointer=this.element.querySelector(\".a-color-picker-h+.a-color-picker-dot\");var o=this.element.querySelector(\".a-color-picker-sl\");this.setupSlCanvas(o),this.slBarHelper=m(o),this.slPointer=this.element.querySelector(\".a-color-picker-sl+.a-color-picker-dot\"),this.preview=this.element.querySelector(\".a-color-picker-preview\"),this.setupClipboard(this.preview.querySelector(\".a-color-picker-clipbaord\")),this.options.showHSL?(this.setupInput(this.inputH=this.element.querySelector(\".a-color-picker-hsl>input[nameref=H]\")),this.setupInput(this.inputS=this.element.querySelector(\".a-color-picker-hsl>input[nameref=S]\")),this.setupInput(this.inputL=this.element.querySelector(\".a-color-picker-hsl>input[nameref=L]\"))):this.element.querySelector(\".a-color-picker-hsl\").remove(),this.options.showRGB?(this.setupInput(this.inputR=this.element.querySelector(\".a-color-picker-rgb>input[nameref=R]\")),this.setupInput(this.inputG=this.element.querySelector(\".a-color-picker-rgb>input[nameref=G]\")),this.setupInput(this.inputB=this.element.querySelector(\".a-color-picker-rgb>input[nameref=B]\"))):this.element.querySelector(\".a-color-picker-rgb\").remove(),this.options.showHEX?this.setupInput(this.inputRGBHEX=this.element.querySelector(\"input[nameref=RGBHEX]\")):this.element.querySelector(\".a-color-picker-rgbhex\").remove(),this.options.paletteEditable||this.options.palette&&this.options.palette.length>0?this.setPalette(this.paletteRow=this.element.querySelector(\".a-color-picker-palette\")):(this.paletteRow=this.element.querySelector(\".a-color-picker-palette\"),this.paletteRow.remove()),this.options.showAlpha?(this.setupAlphaCanvas(this.element.querySelector(\".a-color-picker-a\")),this.alphaPointer=this.element.querySelector(\".a-color-picker-a+.a-color-picker-dot\")):this.element.querySelector(\".a-color-picker-alpha\").remove(),this.element.style.width=this.options.slBarSize[0]+\"px\",this.onValueChanged(f,this.options.color)}return i(e,[{key:\"setupHueCanvas\",value:function(e){var t=this;e.width=this.options.hueBarSize[0],e.height=this.options.hueBarSize[1];for(var r=e.getContext(\"2d\"),i=r.createLinearGradient(0,0,this.options.hueBarSize[0],0),o=0;o<=1;o+=1/360)i.addColorStop(o,\"hsl(\"+360*o+\", 100%, 50%)\");r.fillStyle=i,r.fillRect(0,0,this.options.hueBarSize[0],this.options.hueBarSize[1]);var s=function(r){var i=(0,n.limit)(r.clientX-e.getBoundingClientRect().left,0,t.options.hueBarSize[0]),o=Math.round(360*i/t.options.hueBarSize[0]);t.huePointer.style.left=i-7+\"px\",t.onValueChanged(\"H\",o)},a=function e(){document.removeEventListener(\"mousemove\",s),document.removeEventListener(\"mouseup\",e)};e.addEventListener(\"mousedown\",function(e){s(e),document.addEventListener(\"mousemove\",s),document.addEventListener(\"mouseup\",a)})}},{key:\"setupSlCanvas\",value:function(e){var t=this;e.width=this.options.slBarSize[0],e.height=this.options.slBarSize[1];var r=function(r){var i=(0,n.limit)(r.clientX-e.getBoundingClientRect().left,0,t.options.slBarSize[0]-1),o=(0,n.limit)(r.clientY-e.getBoundingClientRect().top,0,t.options.slBarSize[1]-1),s=t.slBarHelper.grabColor(i,o);t.slPointer.style.left=i-7+\"px\",t.slPointer.style.top=o-7+\"px\",t.onValueChanged(\"RGB\",s)},i=function e(){document.removeEventListener(\"mousemove\",r),document.removeEventListener(\"mouseup\",e)};e.addEventListener(\"mousedown\",function(e){r(e),document.addEventListener(\"mousemove\",r),document.addEventListener(\"mouseup\",i)})}},{key:\"setupAlphaCanvas\",value:function(e){var t=this;e.width=this.options.alphaBarSize[0],e.height=this.options.alphaBarSize[1];var r=e.getContext(\"2d\"),i=r.createLinearGradient(0,0,e.width-1,0);i.addColorStop(0,\"hsla(0, 0%, 50%, 0)\"),i.addColorStop(1,\"hsla(0, 0%, 50%, 1)\"),r.fillStyle=i,r.fillRect(0,0,this.options.alphaBarSize[0],this.options.alphaBarSize[1]);var o=function(r){var i=(0,n.limit)(r.clientX-e.getBoundingClientRect().left,0,t.options.alphaBarSize[0]),o=+(i/t.options.alphaBarSize[0]).toFixed(2);t.alphaPointer.style.left=i-7+\"px\",t.onValueChanged(\"ALPHA\",o)},s=function e(){document.removeEventListener(\"mousemove\",o),document.removeEventListener(\"mouseup\",e)};e.addEventListener(\"mousedown\",function(e){o(e),document.addEventListener(\"mousemove\",o),document.addEventListener(\"mouseup\",s)})}},{key:\"setupInput\",value:function(e){var t=this,r=+e.min,i=+e.max,o=e.getAttribute(\"nameref\");e.hasAttribute(\"select-on-focus\")&&e.addEventListener(\"focus\",function(){e.select()}),\"text\"===e.type?e.addEventListener(\"change\",function(){t.onValueChanged(o,e.value)}):((h||p)&&e.addEventListener(\"keydown\",function(s){\"Up\"===s.key?(e.value=(0,n.limit)(+e.value+1,r,i),t.onValueChanged(o,e.value),s.returnValue=!1):\"Down\"===s.key&&(e.value=(0,n.limit)(+e.value-1,r,i),t.onValueChanged(o,e.value),s.returnValue=!1)}),e.addEventListener(\"change\",function(){var s=+e.value;t.onValueChanged(o,(0,n.limit)(s,r,i))}))}},{key:\"setupClipboard\",value:function(e){var t=this;e.title=\"click to copy\",e.addEventListener(\"click\",function(){e.value=(0,n.parseColor)([t.R,t.G,t.B,t.A],\"hexcss4\"),e.select(),document.execCommand(\"copy\")})}},{key:\"setPalette\",value:function(e){var t=this,r=\"auto\"===this.options.useAlphaInPalette?this.options.showAlpha:this.options.useAlphaInPalette,i=null;switch(this.options.palette){case\"PALETTE_MATERIAL_500\":i=n.PALETTE_MATERIAL_500;break;case\"PALETTE_MATERIAL_CHROME\":i=n.PALETTE_MATERIAL_CHROME;break;default:i=(0,n.ensureArray)(this.options.palette)}if(this.options.paletteEditable||i.length>0){var o=function(r,i,o){var n=e.querySelector('.a-color-picker-palette-color[data-color=\"'+r+'\"]')||document.createElement(\"div\");n.className=\"a-color-picker-palette-color\",n.style.backgroundColor=r,n.setAttribute(\"data-color\",r),n.title=r,e.insertBefore(n,i),t.palette[r]=!0,o&&t.onPaletteColorAdd(r)},s=function(r,i){r?(e.removeChild(r),t.palette[r.getAttribute(\"data-color\")]=!1,i&&t.onPaletteColorRemove(r.getAttribute(\"data-color\"))):(e.querySelectorAll(\".a-color-picker-palette-color[data-color]\").forEach(function(t){e.removeChild(t)}),Object.keys(t.palette).forEach(function(e){t.palette[e]=!1}),i&&t.onPaletteColorRemove())};if(i.map(function(e){return(0,n.parseColor)(e,r?\"rgbcss4\":\"hex\")}).filter(function(e){return!!e}).forEach(function(e){return o(e)}),this.options.paletteEditable){var a=document.createElement(\"div\");a.className=\"a-color-picker-palette-color a-color-picker-palette-add\",a.innerHTML=\"+\",e.appendChild(a),e.addEventListener(\"click\",function(e){/a-color-picker-palette-add/.test(e.target.className)?e.shiftKey?s(null,!0):o(r?(0,n.parseColor)([t.R,t.G,t.B,t.A],\"rgbcss4\"):(0,n.rgbToHex)(t.R,t.G,t.B),e.target,!0):/a-color-picker-palette-color/.test(e.target.className)&&(e.shiftKey?s(e.target,!0):t.onValueChanged(f,e.target.getAttribute(\"data-color\")))})}else e.addEventListener(\"click\",function(e){/a-color-picker-palette-color/.test(e.target.className)&&t.onValueChanged(f,e.target.getAttribute(\"data-color\"))})}else e.style.display=\"none\"}},{key:\"updatePalette\",value:function(e){this.paletteRow.innerHTML=\"\",this.palette={},this.paletteRow.parentElement||this.element.appendChild(this.paletteRow),this.options.palette=e,this.setPalette(this.paletteRow)}},{key:\"onValueChanged\",value:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{silent:!1};switch(e){case\"H\":this.H=t;var i=(0,n.hslToRgb)(this.H,this.S,this.L),s=o(i,3);this.R=s[0],this.G=s[1],this.B=s[2],this.slBarHelper.setHue(t),this.updatePointerH(this.H),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGB(this.R,this.G,this.B),this.updateInputRGBHEX(this.R,this.G,this.B);break;case\"S\":this.S=t;var a=(0,n.hslToRgb)(this.H,this.S,this.L),l=o(a,3);this.R=l[0],this.G=l[1],this.B=l[2],this.updatePointerSL(this.H,this.S,this.L),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGB(this.R,this.G,this.B),this.updateInputRGBHEX(this.R,this.G,this.B);break;case\"L\":this.L=t;var c=(0,n.hslToRgb)(this.H,this.S,this.L),u=o(c,3);this.R=u[0],this.G=u[1],this.B=u[2],this.updatePointerSL(this.H,this.S,this.L),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGB(this.R,this.G,this.B),this.updateInputRGBHEX(this.R,this.G,this.B);break;case\"R\":this.R=t;var h=(0,n.rgbToHsl)(this.R,this.G,this.B),p=o(h,3);this.H=p[0],this.S=p[1],this.L=p[2],this.slBarHelper.setHue(this.H),this.updatePointerH(this.H),this.updatePointerSL(this.H,this.S,this.L),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGBHEX(this.R,this.G,this.B);break;case\"G\":this.G=t;var d=(0,n.rgbToHsl)(this.R,this.G,this.B),v=o(d,3);this.H=v[0],this.S=v[1],this.L=v[2],this.slBarHelper.setHue(this.H),this.updatePointerH(this.H),this.updatePointerSL(this.H,this.S,this.L),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGBHEX(this.R,this.G,this.B);break;case\"B\":this.B=t;var m=(0,n.rgbToHsl)(this.R,this.G,this.B),A=o(m,3);this.H=A[0],this.S=A[1],this.L=A[2],this.slBarHelper.setHue(this.H),this.updatePointerH(this.H),this.updatePointerSL(this.H,this.S,this.L),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGBHEX(this.R,this.G,this.B);break;case\"RGB\":var y=o(t,3);this.R=y[0],this.G=y[1],this.B=y[2];var k=(0,n.rgbToHsl)(this.R,this.G,this.B),F=o(k,3);this.H=F[0],this.S=F[1],this.L=F[2],this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGB(this.R,this.G,this.B),this.updateInputRGBHEX(this.R,this.G,this.B);break;case g:var E=o(t,4);this.R=E[0],this.G=E[1],this.B=E[2],this.A=E[3];var H=(0,n.rgbToHsl)(this.R,this.G,this.B),B=o(H,3);this.H=B[0],this.S=B[1],this.L=B[2],this.slBarHelper.setHue(this.H),this.updatePointerH(this.H),this.updatePointerSL(this.H,this.S,this.L),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGB(this.R,this.G,this.B),this.updateInputRGBHEX(this.R,this.G,this.B),this.updatePointerA(this.A);break;case b:var R=o(t,4);this.H=R[0],this.S=R[1],this.L=R[2],this.A=R[3];var C=(0,n.hslToRgb)(this.H,this.S,this.L),S=o(C,3);this.R=S[0],this.G=S[1],this.B=S[2],this.slBarHelper.setHue(this.H),this.updatePointerH(this.H),this.updatePointerSL(this.H,this.S,this.L),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGB(this.R,this.G,this.B),this.updateInputRGBHEX(this.R,this.G,this.B),this.updatePointerA(this.A);break;case\"RGBHEX\":var L=(0,n.cssColorToRgb)(t)||[this.R,this.G,this.B],w=o(L,3);this.R=w[0],this.G=w[1],this.B=w[2];var T=(0,n.rgbToHsl)(this.R,this.G,this.B),x=o(T,3);this.H=x[0],this.S=x[1],this.L=x[2],this.slBarHelper.setHue(this.H),this.updatePointerH(this.H),this.updatePointerSL(this.H,this.S,this.L),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGB(this.R,this.G,this.B);break;case f:var G=(0,n.parseColor)(t,\"rgba\")||[0,0,0,1],I=o(G,4);this.R=I[0],this.G=I[1],this.B=I[2],this.A=I[3];var P=(0,n.rgbToHsl)(this.R,this.G,this.B),D=o(P,3);this.H=D[0],this.S=D[1],this.L=D[2],this.slBarHelper.setHue(this.H),this.updatePointerH(this.H),this.updatePointerSL(this.H,this.S,this.L),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGB(this.R,this.G,this.B),this.updateInputRGBHEX(this.R,this.G,this.B),this.updatePointerA(this.A);break;case\"ALPHA\":this.A=t}1===this.A?this.preview.style.backgroundColor=\"rgb(\"+this.R+\",\"+this.G+\",\"+this.B+\")\":this.preview.style.backgroundColor=\"rgba(\"+this.R+\",\"+this.G+\",\"+this.B+\",\"+this.A+\")\",r&&r.silent||this.onchange&&this.onchange(this.preview.style.backgroundColor)}},{key:\"onPaletteColorAdd\",value:function(e){this.oncoloradd&&this.oncoloradd(e)}},{key:\"onPaletteColorRemove\",value:function(e){this.oncolorremove&&this.oncolorremove(e)}},{key:\"updateInputHSL\",value:function(e,t,r){this.options.showHSL&&(this.inputH.value=e,this.inputS.value=t,this.inputL.value=r)}},{key:\"updateInputRGB\",value:function(e,t,r){this.options.showRGB&&(this.inputR.value=e,this.inputG.value=t,this.inputB.value=r)}},{key:\"updateInputRGBHEX\",value:function(e,t,r){this.options.showHEX&&(this.inputRGBHEX.value=(0,n.rgbToHex)(e,t,r))}},{key:\"updatePointerH\",value:function(e){var t=this.options.hueBarSize[0]*e/360;this.huePointer.style.left=t-7+\"px\"}},{key:\"updatePointerSL\",value:function(e,t,r){var i=(0,n.hslToRgb)(e,t,r),s=o(i,3),a=s[0],l=s[1],c=s[2],u=this.slBarHelper.findColor(a,l,c),h=o(u,2),p=h[0],d=h[1];p>=0&&(this.slPointer.style.left=p-7+\"px\",this.slPointer.style.top=d-7+\"px\")}},{key:\"updatePointerA\",value:function(e){if(this.options.showAlpha){var t=this.options.alphaBarSize[0]*e;this.alphaPointer.style.left=t-7+\"px\"}}}]),e}(),F=function(){function e(t){c(this,e),this.name=t,this.listeners=[]}return i(e,[{key:\"on\",value:function(e){e&&this.listeners.push(e)}},{key:\"off\",value:function(e){this.listeners=e?this.listeners.filter(function(t){return t!==e}):[]}},{key:\"emit\",value:function(e,t){for(var r=this.listeners.slice(0),i=0;i<r.length;i++)r[i].apply(t,e)}}]),e}();function E(e,t){var r=new k(e,t),i={change:new F(\"change\"),coloradd:new F(\"coloradd\"),colorremove:new F(\"colorremove\")},s=!0,a={},l={get element(){return r.element},get rgb(){return[r.R,r.G,r.B]},set rgb(e){var t=o(e,3),i=t[0],s=t[1],a=t[2],l=[(0,n.limit)(i,0,255),(0,n.limit)(s,0,255),(0,n.limit)(a,0,255)];i=l[0],s=l[1],a=l[2],r.onValueChanged(g,[i,s,a,1])},get hsl(){return[r.H,r.S,r.L]},set hsl(e){var t=o(e,3),i=t[0],s=t[1],a=t[2],l=[(0,n.limit)(i,0,360),(0,n.limit)(s,0,100),(0,n.limit)(a,0,100)];i=l[0],s=l[1],a=l[2],r.onValueChanged(b,[i,s,a,1])},get rgbhex(){return this.all.hex},get rgba(){return[r.R,r.G,r.B,r.A]},set rgba(e){var t=o(e,4),i=t[0],s=t[1],a=t[2],l=t[3],c=[(0,n.limit)(i,0,255),(0,n.limit)(s,0,255),(0,n.limit)(a,0,255),(0,n.limit)(l,0,1)];i=c[0],s=c[1],a=c[2],l=c[3],r.onValueChanged(g,[i,s,a,l])},get hsla(){return[r.H,r.S,r.L,r.A]},set hsla(e){var t=o(e,4),i=t[0],s=t[1],a=t[2],l=t[3],c=[(0,n.limit)(i,0,360),(0,n.limit)(s,0,100),(0,n.limit)(a,0,100),(0,n.limit)(l,0,1)];i=c[0],s=c[1],a=c[2],l=c[3],r.onValueChanged(b,[i,s,a,l])},get color(){return this.all.toString()},set color(e){r.onValueChanged(f,e)},setColor:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];r.onValueChanged(f,e,{silent:t})},get all(){if(s){var e=[r.R,r.G,r.B,r.A],t=r.A<1?\"rgba(\"+r.R+\",\"+r.G+\",\"+r.B+\",\"+r.A+\")\":n.rgbToHex.apply(void 0,e);(a=(0,n.parseColor)(e,a)).toString=function(){return t},s=!1}return Object.assign({},a)},get onchange(){return i.change&&i.change.listeners[0]},set onchange(e){this.off(\"change\").on(\"change\",e)},get oncoloradd(){return i.coloradd&&i.coloradd.listeners[0]},set oncoloradd(e){this.off(\"coloradd\").on(\"coloradd\",e)},get oncolorremove(){return i.colorremove&&i.colorremove.listeners[0]},set oncolorremove(e){this.off(\"colorremove\").on(\"colorremove\",e)},get palette(){return Object.keys(r.palette).filter(function(e){return r.palette[e]})},set palette(e){r.updatePalette(e)},show:function(){r.element.classList.remove(\"hidden\")},hide:function(){r.element.classList.add(\"hidden\")},toggle:function(){r.element.classList.toggle(\"hidden\")},on:function(e,t){return e&&i[e]&&i[e].on(t),this},off:function(e,t){return e&&i[e]&&i[e].off(t),this},destroy:function(){i.change.off(),i.coloradd.off(),i.colorremove.off(),r.element.remove(),i=null,r=null}};return r.onchange=function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];s=!0,i.change.emit([l].concat(t),l)},r.oncoloradd=function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];i.coloradd.emit([l].concat(t),l)},r.oncolorremove=function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];i.colorremove.emit([l].concat(t),l)},r.element.ctrl=l,l}if(\"undefined\"!=typeof window&&!document.querySelector('head>style[data-source=\"a-color-picker\"]')){var H=r(5).toString(),B=document.createElement(\"style\");B.setAttribute(\"type\",\"text/css\"),B.setAttribute(\"data-source\",\"a-color-picker\"),B.innerHTML=H,document.querySelector(\"head\").appendChild(B)}t.createPicker=E,t.from=function(e,t){var r=function(e){return e?Array.isArray(e)?e:e instanceof HTMLElement?[e]:e instanceof NodeList?[].concat(u(e)):\"string\"==typeof e?[].concat(u(document.querySelectorAll(e))):e.jquery?e.get():[]:[]}(e).map(function(e,r){var i=E(e,t);return i.index=r,i});return r.on=function(e,t){return r.forEach(function(r){return r.on(e,t)}),this},r.off=function(e){return r.forEach(function(t){return t.off(e)}),this},r},t.parseColorToRgb=n.parseColorToRgb,t.parseColorToRgba=n.parseColorToRgba,t.parseColorToHsl=n.parseColorToHsl,t.parseColorToHsla=n.parseColorToHsla,t.parseColor=n.parseColor,t.rgbToHex=n.rgbToHex,t.hslToRgb=n.hslToRgb,t.rgbToHsl=n.rgbToHsl,t.rgbToHsv=n.rgbToHsv,t.rgbToInt=n.rgbToInt,t.intToRgb=n.intToRgb,t.getLuminance=n.getLuminance,t.COLOR_NAMES=n.COLOR_NAMES,t.PALETTE_MATERIAL_500=n.PALETTE_MATERIAL_500,t.PALETTE_MATERIAL_CHROME=n.PALETTE_MATERIAL_CHROME,t.VERSION=\"1.2.1\"},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.nvl=t.ensureArray=t.limit=t.getLuminance=t.parseColor=t.parseColorToHsla=t.parseColorToHsl=t.cssHslaToHsla=t.cssHslToHsl=t.parseColorToRgba=t.parseColorToRgb=t.cssRgbaToRgba=t.cssRgbToRgb=t.cssColorToRgba=t.cssColorToRgb=t.intToRgb=t.rgbToInt=t.rgbToHsv=t.rgbToHsl=t.hslToRgb=t.rgbToHex=t.PALETTE_MATERIAL_CHROME=t.PALETTE_MATERIAL_500=t.COLOR_NAMES=void 0;var i=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var r=[],i=!0,o=!1,n=void 0;try{for(var s,a=e[Symbol.iterator]();!(i=(s=a.next()).done)&&(r.push(s.value),!t||r.length!==t);i=!0);}catch(e){o=!0,n=e}finally{try{!i&&a.return&&a.return()}finally{if(o)throw n}}return r}(e,t);throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")},o=function(e){return e&&e.__esModule?e:{default:e}}(r(0));function n(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t<e.length;t++)r[t]=e[t];return r}return Array.from(e)}var s={aliceblue:\"#F0F8FF\",antiquewhite:\"#FAEBD7\",aqua:\"#00FFFF\",aquamarine:\"#7FFFD4\",azure:\"#F0FFFF\",beige:\"#F5F5DC\",bisque:\"#FFE4C4\",black:\"#000000\",blanchedalmond:\"#FFEBCD\",blue:\"#0000FF\",blueviolet:\"#8A2BE2\",brown:\"#A52A2A\",burlywood:\"#DEB887\",cadetblue:\"#5F9EA0\",chartreuse:\"#7FFF00\",chocolate:\"#D2691E\",coral:\"#FF7F50\",cornflowerblue:\"#6495ED\",cornsilk:\"#FFF8DC\",crimson:\"#DC143C\",cyan:\"#00FFFF\",darkblue:\"#00008B\",darkcyan:\"#008B8B\",darkgoldenrod:\"#B8860B\",darkgray:\"#A9A9A9\",darkgrey:\"#A9A9A9\",darkgreen:\"#006400\",darkkhaki:\"#BDB76B\",darkmagenta:\"#8B008B\",darkolivegreen:\"#556B2F\",darkorange:\"#FF8C00\",darkorchid:\"#9932CC\",darkred:\"#8B0000\",darksalmon:\"#E9967A\",darkseagreen:\"#8FBC8F\",darkslateblue:\"#483D8B\",darkslategray:\"#2F4F4F\",darkslategrey:\"#2F4F4F\",darkturquoise:\"#00CED1\",darkviolet:\"#9400D3\",deeppink:\"#FF1493\",deepskyblue:\"#00BFFF\",dimgray:\"#696969\",dimgrey:\"#696969\",dodgerblue:\"#1E90FF\",firebrick:\"#B22222\",floralwhite:\"#FFFAF0\",forestgreen:\"#228B22\",fuchsia:\"#FF00FF\",gainsboro:\"#DCDCDC\",ghostwhite:\"#F8F8FF\",gold:\"#FFD700\",goldenrod:\"#DAA520\",gray:\"#808080\",grey:\"#808080\",green:\"#008000\",greenyellow:\"#ADFF2F\",honeydew:\"#F0FFF0\",hotpink:\"#FF69B4\",\"indianred \":\"#CD5C5C\",\"indigo \":\"#4B0082\",ivory:\"#FFFFF0\",khaki:\"#F0E68C\",lavender:\"#E6E6FA\",lavenderblush:\"#FFF0F5\",lawngreen:\"#7CFC00\",lemonchiffon:\"#FFFACD\",lightblue:\"#ADD8E6\",lightcoral:\"#F08080\",lightcyan:\"#E0FFFF\",lightgoldenrodyellow:\"#FAFAD2\",lightgray:\"#D3D3D3\",lightgrey:\"#D3D3D3\",lightgreen:\"#90EE90\",lightpink:\"#FFB6C1\",lightsalmon:\"#FFA07A\",lightseagreen:\"#20B2AA\",lightskyblue:\"#87CEFA\",lightslategray:\"#778899\",lightslategrey:\"#778899\",lightsteelblue:\"#B0C4DE\",lightyellow:\"#FFFFE0\",lime:\"#00FF00\",limegreen:\"#32CD32\",linen:\"#FAF0E6\",magenta:\"#FF00FF\",maroon:\"#800000\",mediumaquamarine:\"#66CDAA\",mediumblue:\"#0000CD\",mediumorchid:\"#BA55D3\",mediumpurple:\"#9370DB\",mediumseagreen:\"#3CB371\",mediumslateblue:\"#7B68EE\",mediumspringgreen:\"#00FA9A\",mediumturquoise:\"#48D1CC\",mediumvioletred:\"#C71585\",midnightblue:\"#191970\",mintcream:\"#F5FFFA\",mistyrose:\"#FFE4E1\",moccasin:\"#FFE4B5\",navajowhite:\"#FFDEAD\",navy:\"#000080\",oldlace:\"#FDF5E6\",olive:\"#808000\",olivedrab:\"#6B8E23\",orange:\"#FFA500\",orangered:\"#FF4500\",orchid:\"#DA70D6\",palegoldenrod:\"#EEE8AA\",palegreen:\"#98FB98\",paleturquoise:\"#AFEEEE\",palevioletred:\"#DB7093\",papayawhip:\"#FFEFD5\",peachpuff:\"#FFDAB9\",peru:\"#CD853F\",pink:\"#FFC0CB\",plum:\"#DDA0DD\",powderblue:\"#B0E0E6\",purple:\"#800080\",rebeccapurple:\"#663399\",red:\"#FF0000\",rosybrown:\"#BC8F8F\",royalblue:\"#4169E1\",saddlebrown:\"#8B4513\",salmon:\"#FA8072\",sandybrown:\"#F4A460\",seagreen:\"#2E8B57\",seashell:\"#FFF5EE\",sienna:\"#A0522D\",silver:\"#C0C0C0\",skyblue:\"#87CEEB\",slateblue:\"#6A5ACD\",slategray:\"#708090\",slategrey:\"#708090\",snow:\"#FFFAFA\",springgreen:\"#00FF7F\",steelblue:\"#4682B4\",tan:\"#D2B48C\",teal:\"#008080\",thistle:\"#D8BFD8\",tomato:\"#FF6347\",turquoise:\"#40E0D0\",violet:\"#EE82EE\",wheat:\"#F5DEB3\",white:\"#FFFFFF\",whitesmoke:\"#F5F5F5\",yellow:\"#FFFF00\",yellowgreen:\"#9ACD32\"};function a(e,t,r){return e=+e,isNaN(e)?t:e<t?t:e>r?r:e}function l(e,t){return null==e?t:e}function c(e,t,r){var i=[a(e,0,255),a(t,0,255),a(r,0,255)];return\"#\"+(\"000000\"+((e=i[0])<<16|(t=i[1])<<8|(r=i[2])).toString(16)).slice(-6)}function u(e,t,r){var i=void 0,o=void 0,n=void 0,s=[a(e,0,360)/360,a(t,0,100)/100,a(r,0,100)/100];if(e=s[0],r=s[2],0==(t=s[1]))i=o=n=r;else{var l=function(e,t,r){return r<0&&(r+=1),r>1&&(r-=1),r<1/6?e+6*(t-e)*r:r<.5?t:r<2/3?e+(t-e)*(2/3-r)*6:e},c=r<.5?r*(1+t):r+t-r*t,u=2*r-c;i=l(u,c,e+1/3),o=l(u,c,e),n=l(u,c,e-1/3)}return[255*i,255*o,255*n].map(Math.round)}function h(e,t,r){var i=[a(e,0,255)/255,a(t,0,255)/255,a(r,0,255)/255];e=i[0],t=i[1],r=i[2];var o=Math.max(e,t,r),n=Math.min(e,t,r),s=void 0,l=void 0,c=(o+n)/2;if(o==n)s=l=0;else{var u=o-n;switch(l=c>.5?u/(2-o-n):u/(o+n),o){case e:s=(t-r)/u+(t<r?6:0);break;case t:s=(r-e)/u+2;break;case r:s=(e-t)/u+4}s/=6}return[360*s,100*l,100*c].map(Math.round)}function p(e,t,r){return e<<16|t<<8|r}function d(e){if(e){var t=s[e.toString().toLowerCase()],r=/^\\s*#?((([0-9A-F])([0-9A-F])([0-9A-F]))|(([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})))\\s*$/i.exec(t||e)||[],o=i(r,10),n=o[3],a=o[4],l=o[5],c=o[7],u=o[8],h=o[9];if(void 0!==n)return[parseInt(n+n,16),parseInt(a+a,16),parseInt(l+l,16)];if(void 0!==c)return[parseInt(c,16),parseInt(u,16),parseInt(h,16)]}}function f(e){if(e){var t=s[e.toString().toLowerCase()],r=/^\\s*#?((([0-9A-F])([0-9A-F])([0-9A-F])([0-9A-F])?)|(([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})?))\\s*$/i.exec(t||e)||[],o=i(r,12),n=o[3],a=o[4],l=o[5],c=o[6],u=o[8],h=o[9],p=o[10],d=o[11];if(void 0!==n)return[parseInt(n+n,16),parseInt(a+a,16),parseInt(l+l,16),c?+(parseInt(c+c,16)/255).toFixed(2):1];if(void 0!==u)return[parseInt(u,16),parseInt(h,16),parseInt(p,16),d?+(parseInt(d,16)/255).toFixed(2):1]}}function g(e){if(e){var t=/^rgb\\((\\d+)[\\s,](\\d+)[\\s,](\\d+)\\)/i.exec(e)||[],r=i(t,4),o=r[0],n=r[1],s=r[2],l=r[3];return o?[a(n,0,255),a(s,0,255),a(l,0,255)]:void 0}}function b(e){if(e){var t=/^rgba?\\((\\d+)\\s*[\\s,]\\s*(\\d+)\\s*[\\s,]\\s*(\\d+)(\\s*[\\s,]\\s*(\\d*(.\\d+)?))?\\)/i.exec(e)||[],r=i(t,6),o=r[0],n=r[1],s=r[2],c=r[3],u=r[5];return o?[a(n,0,255),a(s,0,255),a(c,0,255),a(l(u,1),0,1)]:void 0}}function v(e){if(Array.isArray(e))return[a(e[0],0,255),a(e[1],0,255),a(e[2],0,255),a(l(e[3],1),0,1)];var t=f(e)||b(e);return t&&3===t.length&&t.push(1),t}function m(e){if(e){var t=/^hsl\\((\\d+)[\\s,](\\d+)[\\s,](\\d+)\\)/i.exec(e)||[],r=i(t,4),o=r[0],n=r[1],s=r[2],l=r[3];return o?[a(n,0,360),a(s,0,100),a(l,0,100)]:void 0}}function A(e){if(e){var t=/^hsla?\\((\\d+)\\s*[\\s,]\\s*(\\d+)\\s*[\\s,]\\s*(\\d+)(\\s*[\\s,]\\s*(\\d*(.\\d+)?))?\\)/i.exec(e)||[],r=i(t,6),o=r[0],n=r[1],s=r[2],c=r[3],u=r[5];return o?[a(n,0,255),a(s,0,255),a(c,0,255),a(l(u,1),0,1)]:void 0}}function y(e){if(Array.isArray(e))return[a(e[0],0,360),a(e[1],0,100),a(e[2],0,100),a(l(e[3],1),0,1)];var t=A(e);return t&&3===t.length&&t.push(1),t}function k(e,t){switch(t){case\"rgb\":default:return e.slice(0,3);case\"rgbcss\":return\"rgb(\"+e[0]+\", \"+e[1]+\", \"+e[2]+\")\";case\"rgbcss4\":return\"rgb(\"+e[0]+\", \"+e[1]+\", \"+e[2]+\", \"+e[3]+\")\";case\"rgba\":return e;case\"rgbacss\":return\"rgba(\"+e[0]+\", \"+e[1]+\", \"+e[2]+\", \"+e[3]+\")\";case\"hsl\":return h.apply(void 0,n(e));case\"hslcss\":return\"hsl(\"+(e=h.apply(void 0,n(e)))[0]+\", \"+e[1]+\", \"+e[2]+\")\";case\"hslcss4\":var r=h.apply(void 0,n(e));return\"hsl(\"+r[0]+\", \"+r[1]+\", \"+r[2]+\", \"+e[3]+\")\";case\"hsla\":return[].concat(n(h.apply(void 0,n(e))),[e[3]]);case\"hslacss\":var i=h.apply(void 0,n(e));return\"hsla(\"+i[0]+\", \"+i[1]+\", \"+i[2]+\", \"+e[3]+\")\";case\"hex\":return c.apply(void 0,n(e));case\"hexcss4\":return c.apply(void 0,n(e))+(\"00\"+parseInt(255*e[3]).toString(16)).slice(-2);case\"int\":return p.apply(void 0,n(e))}}t.COLOR_NAMES=s,t.PALETTE_MATERIAL_500=[\"#F44336\",\"#E91E63\",\"#E91E63\",\"#9C27B0\",\"#9C27B0\",\"#673AB7\",\"#673AB7\",\"#3F51B5\",\"#3F51B5\",\"#2196F3\",\"#2196F3\",\"#03A9F4\",\"#03A9F4\",\"#00BCD4\",\"#00BCD4\",\"#009688\",\"#009688\",\"#4CAF50\",\"#4CAF50\",\"#8BC34A\",\"#8BC34A\",\"#CDDC39\",\"#CDDC39\",\"#FFEB3B\",\"#FFEB3B\",\"#FFC107\",\"#FFC107\",\"#FF9800\",\"#FF9800\",\"#FF5722\",\"#FF5722\",\"#795548\",\"#795548\",\"#9E9E9E\",\"#9E9E9E\",\"#607D8B\",\"#607D8B\"],t.PALETTE_MATERIAL_CHROME=[\"#f44336\",\"#e91e63\",\"#9c27b0\",\"#673ab7\",\"#3f51b5\",\"#2196f3\",\"#03a9f4\",\"#00bcd4\",\"#009688\",\"#4caf50\",\"#8bc34a\",\"#cddc39\",\"#ffeb3b\",\"#ffc107\",\"#ff9800\",\"#ff5722\",\"#795548\",\"#9e9e9e\",\"#607d8b\"],t.rgbToHex=c,t.hslToRgb=u,t.rgbToHsl=h,t.rgbToHsv=function(e,t,r){var i=[a(e,0,255)/255,a(t,0,255)/255,a(r,0,255)/255];e=i[0],t=i[1],r=i[2];var o,n=Math.max(e,t,r),s=Math.min(e,t,r),l=void 0,c=n,u=n-s;if(o=0===n?0:u/n,n==s)l=0;else{switch(n){case e:l=(t-r)/u+(t<r?6:0);break;case t:l=(r-e)/u+2;break;case r:l=(e-t)/u+4}l/=6}return[l,o,c]},t.rgbToInt=p,t.intToRgb=function(e){return[e>>16&255,e>>8&255,255&e]},t.cssColorToRgb=d,t.cssColorToRgba=f,t.cssRgbToRgb=g,t.cssRgbaToRgba=b,t.parseColorToRgb=function(e){return Array.isArray(e)?e=[a(e[0],0,255),a(e[1],0,255),a(e[2],0,255)]:d(e)||g(e)},t.parseColorToRgba=v,t.cssHslToHsl=m,t.cssHslaToHsla=A,t.parseColorToHsl=function(e){return Array.isArray(e)?e=[a(e[0],0,360),a(e[1],0,100),a(e[2],0,100)]:m(e)},t.parseColorToHsla=y,t.parseColor=function(e,t){if(t=t||\"rgb\",null!=e){var r=void 0;if((r=v(e))||(r=y(e))&&(r=[].concat(n(u.apply(void 0,n(r))),[r[3]])))return(0,o.default)(t)?[\"rgb\",\"rgbcss\",\"rgbcss4\",\"rgba\",\"rgbacss\",\"hsl\",\"hslcss\",\"hslcss4\",\"hsla\",\"hslacss\",\"hex\",\"hexcss4\",\"int\"].reduce(function(e,t){return e[t]=k(r,t),e},t||{}):k(r,t.toString().toLowerCase())}},t.getLuminance=function(e,t,r){return.2126*(e=(e/=255)<.03928?e/12.92:Math.pow((e+.055)/1.055,2.4))+.7152*(t=(t/=255)<.03928?t/12.92:Math.pow((t+.055)/1.055,2.4))+.0722*((r/=255)<.03928?r/12.92:Math.pow((r+.055)/1.055,2.4))},t.limit=a,t.ensureArray=function(e){return e?Array.from(e):[]},t.nvl=l},function(e,t,r){\"use strict\";\n/*!\n * isobject <https://github.com/jonschlinkert/isobject>\n *\n * Copyright (c) 2014-2017, Jon Schlinkert.\n * Released under the MIT License.\n */e.exports=function(e){return null!=e&&\"object\"==typeof e&&!1===Array.isArray(e)}},function(e,t){e.exports='<div class=\"a-color-picker-row a-color-picker-stack a-color-picker-row-top\"> <canvas class=\"a-color-picker-sl a-color-picker-transparent\"></canvas> <div class=a-color-picker-dot></div> </div> <div class=a-color-picker-row> <div class=\"a-color-picker-stack a-color-picker-transparent a-color-picker-circle\"> <div class=a-color-picker-preview> <input class=a-color-picker-clipbaord type=text> </div> </div> <div class=a-color-picker-column> <div class=\"a-color-picker-cell a-color-picker-stack\"> <canvas class=a-color-picker-h></canvas> <div class=a-color-picker-dot></div> </div> <div class=\"a-color-picker-cell a-color-picker-alpha a-color-picker-stack\" show-on-alpha> <canvas class=\"a-color-picker-a a-color-picker-transparent\"></canvas> <div class=a-color-picker-dot></div> </div> </div> </div> <div class=\"a-color-picker-row a-color-picker-hsl\" show-on-hsl> <label>H</label> <input nameref=H type=number maxlength=3 min=0 max=360 value=0> <label>S</label> <input nameref=S type=number maxlength=3 min=0 max=100 value=0> <label>L</label> <input nameref=L type=number maxlength=3 min=0 max=100 value=0> </div> <div class=\"a-color-picker-row a-color-picker-rgb\" show-on-rgb> <label>R</label> <input nameref=R type=number maxlength=3 min=0 max=255 value=0> <label>G</label> <input nameref=G type=number maxlength=3 min=0 max=255 value=0> <label>B</label> <input nameref=B type=number maxlength=3 min=0 max=255 value=0> </div> <div class=\"a-color-picker-row a-color-picker-rgbhex a-color-picker-single-input\" show-on-single-input> <label>HEX</label> <input nameref=RGBHEX type=text select-on-focus> </div> <div class=\"a-color-picker-row a-color-picker-palette\"></div>'},function(e,t,r){var i=r(6);e.exports=\"string\"==typeof i?i:i.toString()},function(e,t,r){(e.exports=r(7)(!1)).push([e.i,\"/*!\\n * a-color-picker\\n * https://github.com/narsenico/a-color-picker\\n *\\n * Copyright (c) 2017-2018, Gianfranco Caldi.\\n * Released under the MIT License.\\n */.a-color-picker{background-color:#fff;padding:0;display:inline-flex;flex-direction:column;user-select:none;width:232px;font:400 10px Helvetica,Arial,sans-serif;border-radius:3px;box-shadow:0 0 0 1px rgba(0,0,0,.05),0 2px 4px rgba(0,0,0,.25)}.a-color-picker,.a-color-picker-row,.a-color-picker input{box-sizing:border-box}.a-color-picker-row{padding:15px;display:flex;flex-direction:row;align-items:center;justify-content:space-between;user-select:none}.a-color-picker-row-top{padding:0}.a-color-picker-row:not(:first-child){border-top:1px solid #f5f5f5}.a-color-picker-column{display:flex;flex-direction:column}.a-color-picker-cell{flex:1 1 auto;margin-bottom:4px}.a-color-picker-cell:last-child{margin-bottom:0}.a-color-picker-stack{position:relative}.a-color-picker-dot{position:absolute;width:14px;height:14px;top:0;left:0;background:#fff;pointer-events:none;border-radius:50px;z-index:1000;box-shadow:0 1px 2px rgba(0,0,0,.75)}.a-color-picker-a,.a-color-picker-h,.a-color-picker-sl{cursor:cell}.a-color-picker-a+.a-color-picker-dot,.a-color-picker-h+.a-color-picker-dot{top:-2px}.a-color-picker-a,.a-color-picker-h{border-radius:2px}.a-color-picker-preview{box-sizing:border-box;width:30px;height:30px;user-select:none;border-radius:15px}.a-color-picker-circle{border-radius:50px;border:1px solid #eee}.a-color-picker-hsl,.a-color-picker-rgb,.a-color-picker-single-input{justify-content:space-evenly}.a-color-picker-hsl>label,.a-color-picker-rgb>label,.a-color-picker-single-input>label{padding:0 8px;flex:0 0 auto;color:#969696}.a-color-picker-hsl>input,.a-color-picker-rgb>input,.a-color-picker-single-input>input{text-align:center;padding:2px 0;width:0;flex:1 1 auto;border:1px solid #e0e0e0;line-height:20px}.a-color-picker-hsl>input::-webkit-inner-spin-button,.a-color-picker-rgb>input::-webkit-inner-spin-button,.a-color-picker-single-input>input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.a-color-picker-hsl>input:focus,.a-color-picker-rgb>input:focus,.a-color-picker-single-input>input:focus{border-color:#04a9f4;outline:none}.a-color-picker-transparent{background-image:linear-gradient(-45deg,#cdcdcd 25%,transparent 0),linear-gradient(45deg,#cdcdcd 25%,transparent 0),linear-gradient(-45deg,transparent 75%,#cdcdcd 0),linear-gradient(45deg,transparent 75%,#cdcdcd 0);background-size:11px 11px;background-position:0 0,0 -5.5px,-5.5px 5.5px,5.5px 0}.a-color-picker-sl{border-radius:3px 3px 0 0}.a-color-picker.hide-alpha [show-on-alpha],.a-color-picker.hide-hsl [show-on-hsl],.a-color-picker.hide-rgb [show-on-rgb],.a-color-picker.hide-single-input [show-on-single-input]{display:none}.a-color-picker-clipbaord{width:100%;height:100%;opacity:0;cursor:pointer}.a-color-picker-palette{flex-flow:wrap;flex-direction:row;justify-content:flex-start;padding:10px}.a-color-picker-palette-color{width:15px;height:15px;flex:0 1 15px;margin:3px;box-sizing:border-box;cursor:pointer;border-radius:3px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1)}.a-color-picker-palette-add{text-align:center;line-height:13px;color:#607d8b}.a-color-picker.hidden{display:none}\",\"\"])},function(e,t){e.exports=function(e){var t=[];return t.toString=function(){return this.map(function(t){var r=function(e,t){var r=e[1]||\"\",i=e[3];if(!i)return r;if(t&&\"function\"==typeof btoa){var o=function(e){return\"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(e))))+\" */\"}(i),n=i.sources.map(function(e){return\"/*# sourceURL=\"+i.sourceRoot+e+\" */\"});return[r].concat(n).concat([o]).join(\"\\n\")}return[r].join(\"\\n\")}(t,e);return t[2]?\"@media \"+t[2]+\"{\"+r+\"}\":r}).join(\"\")},t.i=function(e,r){\"string\"==typeof e&&(e=[[null,e,\"\"]]);for(var i={},o=0;o<this.length;o++){var n=this[o][0];\"number\"==typeof n&&(i[n]=!0)}for(o=0;o<e.length;o++){var s=e[o];\"number\"==typeof s[0]&&i[s[0]]||(r&&!s[2]?s[2]=r:r&&(s[2]=\"(\"+s[2]+\") and (\"+r+\")\"),t.push(s))}},t}}])});","// Copyright (C) 2017-2023 Smart code 203358507\n\nrequire('spatial-navigation-polyfill');\nconst React = require('react');\nconst { useTranslation } = require('react-i18next');\nconst { Router } = require('stremio-router');\nconst { Core, Shell, Chromecast, DragAndDrop, KeyboardShortcuts, ServicesProvider } = require('stremio/services');\nconst { NotFound } = require('stremio/routes');\nconst { PlatformProvider, ToastProvider, TooltipProvider, CONSTANTS, withCoreSuspender } = require('stremio/common');\nconst ServicesToaster = require('./ServicesToaster');\nconst DeepLinkHandler = require('./DeepLinkHandler');\nconst SearchParamsHandler = require('./SearchParamsHandler');\nconst ErrorDialog = require('./ErrorDialog');\nconst withProtectedRoutes = require('./withProtectedRoutes');\nconst routerViewsConfig = require('./routerViewsConfig');\nconst styles = require('./styles');\n\nconst RouterWithProtectedRoutes = withCoreSuspender(withProtectedRoutes(Router));\n\nconst App = () => {\n const { i18n } = useTranslation();\n const onPathNotMatch = React.useCallback(() => {\n return NotFound;\n }, []);\n const services = React.useMemo(() => {\n const core = new Core({\n appVersion: process.env.VERSION,\n shellVersion: null\n });\n return {\n core,\n shell: new Shell(),\n chromecast: new Chromecast(),\n keyboardShortcuts: new KeyboardShortcuts(),\n dragAndDrop: new DragAndDrop({ core })\n };\n }, []);\n const [initialized, setInitialized] = React.useState(false);\n React.useEffect(() => {\n let prevPath = window.location.hash.slice(1);\n const onLocationHashChange = () => {\n if (services.core.active) {\n services.core.transport.analytics({\n event: 'LocationPathChanged',\n args: { prevPath }\n });\n }\n prevPath = window.location.hash.slice(1);\n };\n window.addEventListener('hashchange', onLocationHashChange);\n return () => {\n window.removeEventListener('hashchange', onLocationHashChange);\n };\n }, []);\n React.useEffect(() => {\n const onCoreStateChanged = () => {\n setInitialized(\n (services.core.active || services.core.error instanceof Error) &&\n (services.shell.active || services.shell.error instanceof Error)\n );\n };\n const onShellStateChanged = () => {\n setInitialized(\n (services.core.active || services.core.error instanceof Error) &&\n (services.shell.active || services.shell.error instanceof Error)\n );\n };\n const onChromecastStateChange = () => {\n if (services.chromecast.active) {\n services.chromecast.transport.setOptions({\n receiverApplicationId: CONSTANTS.CHROMECAST_RECEIVER_APP_ID,\n autoJoinPolicy: chrome.cast.AutoJoinPolicy.PAGE_SCOPED,\n resumeSavedSession: false,\n language: null,\n androidReceiverCompatible: true\n });\n }\n };\n services.core.on('stateChanged', onCoreStateChanged);\n services.shell.on('stateChanged', onShellStateChanged);\n services.chromecast.on('stateChanged', onChromecastStateChange);\n services.core.start();\n services.shell.start();\n services.chromecast.start();\n services.keyboardShortcuts.start();\n services.dragAndDrop.start();\n window.services = services;\n return () => {\n services.core.stop();\n services.shell.stop();\n services.chromecast.stop();\n services.keyboardShortcuts.stop();\n services.dragAndDrop.stop();\n services.core.off('stateChanged', onCoreStateChanged);\n services.shell.off('stateChanged', onShellStateChanged);\n services.chromecast.off('stateChanged', onChromecastStateChange);\n };\n }, []);\n React.useEffect(() => {\n const onCoreEvent = ({ event, args }) => {\n switch (event) {\n case 'SettingsUpdated': {\n if (args && args.settings && typeof args.settings.interfaceLanguage === 'string') {\n i18n.changeLanguage(args.settings.interfaceLanguage);\n }\n break;\n }\n }\n };\n const onCtxState = (state) => {\n if (state && state.profile && state.profile.settings && typeof state.profile.settings.interfaceLanguage === 'string') {\n i18n.changeLanguage(state.profile.settings.interfaceLanguage);\n }\n };\n const onWindowFocus = () => {\n services.core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'PullAddonsFromAPI'\n }\n });\n services.core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'PullUserFromAPI'\n }\n });\n services.core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'SyncLibraryWithAPI'\n }\n });\n services.core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'PullNotifications'\n }\n });\n };\n if (services.core.active) {\n onWindowFocus();\n window.addEventListener('focus', onWindowFocus);\n services.core.transport.on('CoreEvent', onCoreEvent);\n services.core.transport\n .getState('ctx')\n .then(onCtxState)\n .catch((e) => console.error(e));\n }\n return () => {\n if (services.core.active) {\n window.removeEventListener('focus', onWindowFocus);\n services.core.transport.off('CoreEvent', onCoreEvent);\n }\n };\n }, [initialized]);\n return (\n <React.StrictMode>\n <ServicesProvider services={services}>\n {\n initialized ?\n services.core.error instanceof Error ?\n <ErrorDialog className={styles['error-container']} />\n :\n <PlatformProvider>\n <ToastProvider className={styles['toasts-container']}>\n <TooltipProvider className={styles['tooltip-container']}>\n <ServicesToaster />\n <DeepLinkHandler />\n <SearchParamsHandler />\n <RouterWithProtectedRoutes\n className={styles['router']}\n viewsConfig={routerViewsConfig}\n onPathNotMatch={onPathNotMatch}\n />\n </TooltipProvider>\n </ToastProvider>\n </PlatformProvider>\n :\n <div className={styles['loader-container']} />\n }\n </ServicesProvider>\n </React.StrictMode>\n );\n};\n\nmodule.exports = App;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { withCoreSuspender, useStreamingServer } = require('stremio/common');\n\nconst DeepLinkHandler = () => {\n const streamingServer = useStreamingServer();\n React.useEffect(() => {\n if (streamingServer.torrent !== null) {\n const [, { type, content }] = streamingServer.torrent;\n if (type === 'Ready') {\n const [, deepLinks] = content;\n if (typeof deepLinks.metaDetailsVideos === 'string') {\n window.location = deepLinks.metaDetailsVideos;\n }\n }\n }\n }, [streamingServer.torrent]);\n return null;\n};\n\nmodule.exports = withCoreSuspender(DeepLinkHandler);\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useTranslation } = require('react-i18next');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { Button, Image } = require('stremio/common');\nconst styles = require('./styles');\n\nconst ErrorDialog = ({ className }) => {\n const { t } = useTranslation();\n\n const [dataCleared, setDataCleared] = React.useState(false);\n const reload = React.useCallback(() => {\n window.location.reload();\n }, []);\n const clearData = React.useCallback(() => {\n window.localStorage.clear();\n setDataCleared(true);\n }, []);\n return (\n <div className={classnames(className, styles['error-container'])}>\n <Image\n className={styles['error-image']}\n src={require('/images/empty.png')}\n alt={' '}\n />\n <div className={styles['error-message']}>\n { t('GENERIC_ERROR_MESSAGE') }\n </div>\n <div className={styles['buttons-container']}>\n <Button className={styles['button-container']} title={t('TRY_AGAIN')} onClick={reload}>\n <div className={styles['label']}>\n { t('TRY_AGAIN') }\n </div>\n </Button>\n <Button className={styles['button-container']} disabled={dataCleared} title={t('CLEAR_DATA')} onClick={clearData}>\n <div className={styles['label']}>\n { t('CLEAR_DATA') }\n </div>\n </Button>\n </div>\n </div>\n );\n};\n\nErrorDialog.displayName = 'ErrorDialog';\n\nErrorDialog.propTypes = {\n className: PropTypes.string\n};\n\nmodule.exports = ErrorDialog;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst ErrorDialog = require('./ErrorDialog');\n\nmodule.exports = ErrorDialog;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst isEqual = require('lodash.isequal');\nconst { withCoreSuspender, useProfile, useToast } = require('stremio/common');\nconst { useServices } = require('stremio/services');\n\nconst SearchParamsHandler = () => {\n const { core } = useServices();\n const profile = useProfile();\n const toast = useToast();\n\n const [searchParams, setSearchParams] = React.useState({});\n\n const onLocationChange = () => {\n const { origin, hash, search } = window.location;\n const { searchParams } = new URL(`${origin}${hash.replace('#', '')}${search}`);\n\n setSearchParams((previousSearchParams) => {\n const currentSearchParams = Object.fromEntries(searchParams.entries());\n return isEqual(previousSearchParams, currentSearchParams) ? previousSearchParams : currentSearchParams;\n });\n };\n\n React.useEffect(() => {\n const { streamingServerUrl } = searchParams;\n\n if (streamingServerUrl) {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: {\n ...profile.settings,\n streamingServerUrl,\n },\n },\n });\n\n toast.show({\n type: 'success',\n title: `Using streaming server at ${streamingServerUrl}`,\n timeout: 4000,\n });\n }\n }, [searchParams]);\n\n React.useEffect(() => {\n onLocationChange();\n window.addEventListener('hashchange', onLocationChange);\n return () => window.removeEventListener('hashchange', onLocationChange);\n }, []);\n\n return null;\n};\n\nmodule.exports = withCoreSuspender(SearchParamsHandler);\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useServices } = require('stremio/services');\nconst { useToast } = require('stremio/common');\n\nconst ServicesToaster = () => {\n const { core, dragAndDrop } = useServices();\n const toast = useToast();\n React.useEffect(() => {\n const onCoreEvent = ({ event, args }) => {\n switch (event) {\n case 'Error': {\n if (args.source.event === 'UserPulledFromAPI' && args.source.args.uid === null) {\n break;\n }\n\n if (args.source.event === 'LibrarySyncWithAPIPlanned' && args.source.args.uid === null) {\n break;\n }\n\n if (args.error.type === 'Other' && args.error.code === 3 && args.source.event === 'AddonInstalled' && args.source.args.transport_url.startsWith('https://www.strem.io/trakt/addon')) {\n break;\n }\n\n toast.show({\n type: 'error',\n title: args.source.event,\n message: args.error.message,\n timeout: 4000,\n dataset: {\n type: 'CoreEvent'\n }\n });\n break;\n }\n case 'TorrentParsed': {\n toast.show({\n type: 'success',\n title: 'Torrent file parsed',\n timeout: 4000\n });\n break;\n }\n case 'MagnetParsed': {\n toast.show({\n type: 'success',\n title: 'Magnet link parsed',\n timeout: 4000\n });\n break;\n }\n case 'PlayingOnDevice': {\n toast.show({\n type: 'success',\n title: `Stream opened in ${args.device}`,\n timeout: 4000\n });\n break;\n }\n }\n };\n const onDragAndDropError = (error) => {\n toast.show({\n type: 'error',\n title: error.message,\n message: error.file?.name,\n timeout: 4000\n });\n };\n core.transport.on('CoreEvent', onCoreEvent);\n dragAndDrop.on('error', onDragAndDropError);\n return () => {\n core.transport.off('CoreEvent', onCoreEvent);\n dragAndDrop.off('error', onDragAndDropError);\n };\n }, []);\n return null;\n};\n\nmodule.exports = ServicesToaster;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst App = require('./App');\n\nmodule.exports = App;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst routes = require('stremio/routes');\nconst { routesRegexp } = require('stremio/common');\n\nconst routerViewsConfig = [\n [\n {\n ...routesRegexp.board,\n component: routes.Board\n }\n ],\n [\n {\n ...routesRegexp.intro,\n component: routes.Intro\n },\n {\n ...routesRegexp.discover,\n component: routes.Discover\n },\n {\n ...routesRegexp.library,\n component: routes.Library\n },\n {\n ...routesRegexp.continuewatching,\n component: routes.Library\n },\n {\n ...routesRegexp.search,\n component: routes.Search\n }\n ],\n [\n {\n ...routesRegexp.metadetails,\n component: routes.MetaDetails\n }\n ],\n [\n {\n ...routesRegexp.addons,\n component: routes.Addons\n },\n {\n ...routesRegexp.settings,\n component: routes.Settings\n }\n ],\n [\n {\n ...routesRegexp.player,\n component: routes.Player\n }\n ]\n];\n\nmodule.exports = routerViewsConfig;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { Intro } = require('stremio/routes');\nconst { useProfile } = require('stremio/common');\n\nconst withProtectedRoutes = (Component) => {\n return function withProtectedRoutes(props) {\n const profile = useProfile();\n const previousAuthRef = React.useRef(profile.auth);\n React.useEffect(() => {\n if (previousAuthRef.current !== null && profile.auth === null) {\n window.location = '#/intro';\n }\n previousAuthRef.current = profile.auth;\n }, [profile]);\n const onRouteChange = React.useCallback((routeConfig) => {\n if (profile.auth !== null && routeConfig.component === Intro) {\n window.location.replace('#/');\n return true;\n }\n }, [profile]);\n return (\n <Component {...props} onRouteChange={onRouteChange} />\n );\n };\n};\n\nmodule.exports = withProtectedRoutes;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst Image = require('stremio/common/Image');\nconst styles = require('./styles');\n\nconst AddonDetails = ({ className, id, name, version, logo, description, types, transportUrl, official }) => {\n const renderLogoFallback = React.useCallback(() => (\n <Icon className={styles['icon']} name={'addons'} />\n ), []);\n return (\n <div className={classnames(className, styles['addon-details-container'])}>\n <div className={styles['title-container']}>\n <Image\n className={styles['logo']}\n src={logo}\n alt={' '}\n renderFallback={renderLogoFallback}\n />\n <div className={styles['name-container']}>\n <span className={styles['name']}>{typeof name === 'string' && name.length > 0 ? name : id}</span>\n {\n typeof version === 'string' && version.length > 0 ?\n <span className={styles['version']}>v. {version}</span>\n :\n null\n }\n </div>\n </div>\n {\n typeof description === 'string' && description.length > 0 ?\n <div className={styles['section-container']}>\n <span className={styles['section-label']}>{description}</span>\n </div>\n :\n null\n }\n {\n typeof transportUrl === 'string' && transportUrl.length > 0 ?\n <div className={styles['section-container']}>\n <span className={styles['section-header']}>URL: </span>\n <span className={classnames(styles['section-label'], styles['transport-url-label'])}>{transportUrl}</span>\n </div>\n :\n null\n }\n {\n Array.isArray(types) && types.length > 0 ?\n <div className={styles['section-container']}>\n <span className={styles['section-header']}>Supported types: </span>\n <span className={styles['section-label']}>\n {\n types.length === 1 ?\n types[0]\n :\n types.slice(0, -1).join(', ') + ' & ' + types[types.length - 1]\n }\n </span>\n </div>\n :\n null\n }\n {\n !official ?\n <div className={styles['section-container']}>\n <div className={classnames(styles['section-label'], styles['disclaimer-label'])}>Using third-party add-ons will always be subject to your responsibility and the governing law of the jurisdiction you are located.</div>\n </div>\n :\n null\n }\n </div>\n );\n};\n\nAddonDetails.propTypes = {\n className: PropTypes.string,\n id: PropTypes.string,\n name: PropTypes.string,\n version: PropTypes.string,\n logo: PropTypes.string,\n description: PropTypes.string,\n types: PropTypes.arrayOf(PropTypes.string),\n transportUrl: PropTypes.string,\n official: PropTypes.bool,\n};\n\nmodule.exports = AddonDetails;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst AddonDetails = require('./AddonDetails');\n\nmodule.exports = AddonDetails;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst ModalDialog = require('stremio/common/ModalDialog');\nconst { withCoreSuspender } = require('stremio/common/CoreSuspender');\nconst { usePlatform } = require('stremio/common/Platform');\nconst { useServices } = require('stremio/services');\nconst AddonDetailsWithRemoteAndLocalAddon = withRemoteAndLocalAddon(require('./AddonDetails'));\nconst useAddonDetails = require('./useAddonDetails');\nconst styles = require('./styles');\n\nfunction withRemoteAndLocalAddon(AddonDetails) {\n const withRemoteAndLocalAddon = ({ remoteAddon, localAddon, ...props }) => {\n const addon = remoteAddon !== null && remoteAddon.content.type === 'Ready' ?\n remoteAddon.content.content\n :\n localAddon !== null ?\n localAddon\n :\n null;\n if (addon === null) {\n return null;\n }\n\n return (\n <AddonDetails\n {...props}\n id={addon.manifest.id}\n name={addon.manifest.name}\n version={addon.manifest.version}\n background={addon.manifest.background}\n logo={addon.manifest.logo}\n description={addon.manifest.description}\n types={addon.manifest.types}\n transportUrl={addon.transportUrl}\n official={addon.flags.official}\n />\n );\n };\n withRemoteAndLocalAddon.displayName = 'withRemoteAndLocalAddon';\n return withRemoteAndLocalAddon;\n}\n\nconst AddonDetailsModal = ({ transportUrl, onCloseRequest }) => {\n const { core } = useServices();\n const platform = usePlatform();\n const addonDetails = useAddonDetails(transportUrl);\n const modalButtons = React.useMemo(() => {\n const cancelButton = {\n className: styles['cancel-button'],\n label: 'Cancel',\n props: {\n onClick: (event) => {\n if (typeof onCloseRequest === 'function') {\n onCloseRequest({\n type: 'cancel',\n reactEvent: event,\n nativeEvent: event.nativeEvent\n });\n }\n }\n }\n };\n const configureButton = addonDetails.remoteAddon !== null &&\n addonDetails.remoteAddon.content.type === 'Ready' &&\n addonDetails.remoteAddon.content.content.manifest.behaviorHints.configurable ?\n {\n className: styles['configure-button'],\n label: 'Configure',\n props: {\n onClick: (event) => {\n platform.openExternal(transportUrl.replace('manifest.json', 'configure'));\n if (typeof onCloseRequest === 'function') {\n onCloseRequest({\n type: 'configure',\n reactEvent: event,\n nativeEvent: event.nativeEvent\n });\n }\n }\n }\n }\n :\n null;\n const toggleButton = addonDetails.localAddon !== null ?\n {\n className: styles['uninstall-button'],\n label: 'Uninstall',\n props: {\n onClick: (event) => {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UninstallAddon',\n args: addonDetails.localAddon\n }\n });\n if (typeof onCloseRequest === 'function') {\n onCloseRequest({\n type: 'uninstall',\n reactEvent: event,\n nativeEvent: event.nativeEvent\n });\n }\n }\n }\n }\n :\n addonDetails.remoteAddon !== null &&\n addonDetails.remoteAddon.content.type === 'Ready' &&\n !addonDetails.remoteAddon.content.content.manifest.behaviorHints.configurationRequired ?\n {\n\n className: styles['install-button'],\n label: 'Install',\n props: {\n onClick: (event) => {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'InstallAddon',\n args: addonDetails.remoteAddon.content.content\n }\n });\n if (typeof onCloseRequest === 'function') {\n onCloseRequest({\n type: 'install',\n reactEvent: event,\n nativeEvent: event.nativeEvent\n });\n }\n }\n }\n }\n :\n null;\n return configureButton && toggleButton ? [cancelButton, configureButton, toggleButton] : configureButton ? [cancelButton, configureButton] : toggleButton ? [cancelButton, toggleButton] : [cancelButton];\n }, [addonDetails, onCloseRequest]);\n const modalBackground = React.useMemo(() => {\n return addonDetails.remoteAddon?.content.type === 'Ready' ? addonDetails.remoteAddon.content.content.manifest.background : null;\n }, [addonDetails.remoteAddon]);\n return (\n <ModalDialog className={styles['addon-details-modal-container']} title={'Stremio addon'} buttons={modalButtons} background={modalBackground} onCloseRequest={onCloseRequest}>\n {\n addonDetails.selected === null ?\n <div className={styles['addon-details-message-container']}>\n Loading addon manifest\n </div>\n :\n addonDetails.remoteAddon === null || addonDetails.remoteAddon.content.type === 'Loading' ?\n <div className={styles['addon-details-message-container']}>\n Loading addon manifest from {addonDetails.selected.transportUrl}\n </div>\n :\n addonDetails.remoteAddon.content.type === 'Err' && addonDetails.localAddon === null ?\n <div className={styles['addon-details-message-container']}>\n Failed to get addon manifest from {addonDetails.selected.transportUrl}\n <div>{addonDetails.remoteAddon.content.content.message}</div>\n </div>\n :\n <AddonDetailsWithRemoteAndLocalAddon\n className={styles['addon-details-container']}\n remoteAddon={addonDetails.remoteAddon}\n localAddon={addonDetails.localAddon}\n />\n }\n </ModalDialog>\n );\n};\n\nAddonDetailsModal.propTypes = {\n transportUrl: PropTypes.string,\n onCloseRequest: PropTypes.func\n};\n\nconst AddonDetailsModalFallback = ({ onCloseRequest }) => (\n <ModalDialog\n className={styles['addon-details-modal-container']}\n title={'Stremio addon'}\n onCloseRequest={onCloseRequest}\n >\n <div className={styles['addon-details-message-container']}>\n Loading addon manifest\n </div>\n </ModalDialog>\n);\n\nAddonDetailsModalFallback.propTypes = AddonDetailsModal.propTypes;\n\nmodule.exports = withCoreSuspender(AddonDetailsModal, AddonDetailsModalFallback);\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst AddonDetailsModal = require('./AddonDetailsModal');\n\nmodule.exports = AddonDetailsModal;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst useModelState = require('stremio/common/useModelState');\n\nconst useAddonDetails = (transportUrl) => {\n const action = React.useMemo(() => {\n if (typeof transportUrl === 'string') {\n return {\n action: 'Load',\n args: {\n model: 'AddonDetails',\n args: {\n transportUrl\n }\n }\n };\n } else {\n return {\n action: 'Unload'\n };\n }\n }, [transportUrl]);\n return useModelState({ model: 'addon_details', action });\n};\n\nmodule.exports = useAddonDetails;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst styles = require('./styles');\nconst { useLongPress } = require('use-long-press');\n\nconst Button = React.forwardRef(({ className, href, disabled, children, onLongPress, onDoubleClick, ...props }, ref) => {\n const longPress = useLongPress(onLongPress, { detect: 'pointer' });\n const onKeyDown = React.useCallback((event) => {\n if (typeof props.onKeyDown === 'function') {\n props.onKeyDown(event);\n }\n\n if (event.key === 'Enter') {\n event.preventDefault();\n if (!event.nativeEvent.buttonClickPrevented) {\n event.currentTarget.click();\n }\n }\n }, [props.onKeyDown]);\n const onMouseDown = React.useCallback((event) => {\n if (typeof props.onMouseDown === 'function') {\n props.onMouseDown(event);\n }\n\n if (!event.nativeEvent.buttonBlurPrevented) {\n event.preventDefault();\n if (document.activeElement instanceof HTMLElement) {\n document.activeElement.blur();\n }\n }\n }, [props.onMouseDown]);\n return React.createElement(\n typeof href === 'string' && href.length > 0 ? 'a' : 'div',\n {\n tabIndex: 0,\n ...props,\n ref,\n className: classnames(className, styles['button-container'], { 'disabled': disabled }),\n href,\n onKeyDown,\n onMouseDown,\n onDoubleClick,\n ...longPress()\n },\n children\n );\n});\n\nButton.displayName = 'Button';\n\nButton.propTypes = {\n className: PropTypes.string,\n href: PropTypes.string,\n disabled: PropTypes.bool,\n children: PropTypes.node,\n onKeyDown: PropTypes.func,\n onMouseDown: PropTypes.func,\n onLongPress: PropTypes.func,\n onDoubleClick: PropTypes.func\n};\n\nmodule.exports = Button;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Button = require('./Button');\n\nmodule.exports = Button;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst CHROMECAST_RECEIVER_APP_ID = '1634F54B';\nconst SUBTITLES_SIZES = [75, 100, 125, 150, 175, 200, 250];\nconst SUBTITLES_FONTS = ['PlusJakartaSans', 'Arial', 'Halvetica', 'Times New Roman', 'Verdana', 'Courier', 'Lucida Console', 'sans-serif', 'serif', 'monospace'];\nconst SEEK_TIME_DURATIONS = [3000, 5000, 10000, 15000, 20000, 30000];\nconst NEXT_VIDEO_POPUP_DURATIONS = [0, 5000, 10000, 15000, 20000, 25000, 30000, 35000, 40000, 45000, 50000, 55000, 60000, 65000, 70000, 75000, 80000, 85000, 90000];\nconst CATALOG_PREVIEW_SIZE = 10;\nconst CATALOG_PAGE_SIZE = 100;\nconst NONE_EXTRA_VALUE = 'None';\nconst SKIP_EXTRA_NAME = 'skip';\nconst META_LINK_CATEGORY = 'meta';\nconst IMDB_LINK_CATEGORY = 'imdb';\nconst SHARE_LINK_CATEGORY = 'share';\nconst WRITERS_LINK_CATEGORY = 'Writers';\nconst TYPE_PRIORITIES = {\n movie: 10,\n series: 9,\n channel: 8,\n tv: 7,\n music: 6,\n radio: 5,\n podcast: 4,\n game: 3,\n book: 2,\n adult: 1,\n other: -Infinity\n};\nconst ICON_FOR_TYPE = new Map([\n ['movie', 'movies'],\n ['series', 'series'],\n ['channel', 'channels'],\n ['tv', 'tv'],\n ['book', 'ic_book'],\n ['game', 'ic_games'],\n ['music', 'ic_music'],\n ['adult', 'ic_adult'],\n ['radio', 'ic_radio'],\n ['podcast', 'ic_podcast'],\n ['other', 'movies'],\n]);\n\nconst EXTERNAL_PLAYERS = [\n {\n label: 'EXTERNAL_PLAYER_DISABLED',\n value: null,\n platforms: ['ios', 'visionos', 'android', 'windows', 'linux', 'macos'],\n },\n {\n label: 'EXTERNAL_PLAYER_ALLOW_CHOOSING',\n value: 'choose',\n platforms: ['android'],\n },\n {\n label: 'VLC',\n value: 'vlc',\n platforms: ['ios', 'visionos', 'android'],\n },\n {\n label: 'MPV',\n value: 'mpv',\n platforms: ['macos'],\n },\n {\n label: 'IINA',\n value: 'iina',\n platforms: ['macos'],\n },\n {\n label: 'MX Player',\n value: 'mxplayer',\n platforms: ['android'],\n },\n {\n label: 'Just Player',\n value: 'justplayer',\n platforms: ['android'],\n },\n {\n label: 'Outplayer',\n value: 'outplayer',\n platforms: ['ios', 'visionos'],\n },\n {\n label: 'Moonplayer (VisionOS)',\n value: 'moonplayer',\n platforms: ['visionos'],\n },\n {\n label: 'M3U Playlist',\n value: 'm3u',\n platforms: ['ios', 'visionos', 'android', 'windows', 'linux', 'macos'],\n },\n];\n\nconst WHITELISTED_HOSTS = ['stremio.com', 'strem.io', 'stremio.zendesk.com', 'google.com', 'youtube.com', 'twitch.tv', 'twitter.com', 'x.com', 'netflix.com', 'adex.network', 'amazon.com', 'forms.gle'];\n\nmodule.exports = {\n CHROMECAST_RECEIVER_APP_ID,\n SUBTITLES_SIZES,\n SUBTITLES_FONTS,\n SEEK_TIME_DURATIONS,\n NEXT_VIDEO_POPUP_DURATIONS,\n CATALOG_PREVIEW_SIZE,\n CATALOG_PAGE_SIZE,\n NONE_EXTRA_VALUE,\n SKIP_EXTRA_NAME,\n META_LINK_CATEGORY,\n IMDB_LINK_CATEGORY,\n SHARE_LINK_CATEGORY,\n WRITERS_LINK_CATEGORY,\n TYPE_PRIORITIES,\n ICON_FOR_TYPE,\n EXTERNAL_PLAYERS,\n WHITELISTED_HOSTS,\n};\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst Button = require('stremio/common/Button');\nconst styles = require('./styles');\n\nconst Checkbox = React.forwardRef(({ className, checked, children, ...props }, ref) => {\n return (\n <Button {...props} ref={ref} className={classnames(className, styles['checkbox-container'], { 'checked': checked })}>\n <div className={styles['toggle']} />\n {children}\n </Button>\n );\n});\n\nCheckbox.displayName = 'Checkbox';\n\nCheckbox.propTypes = {\n className: PropTypes.string,\n checked: PropTypes.bool,\n children: PropTypes.node\n};\n\nmodule.exports = Checkbox;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Checkbox = require('./Checkbox');\n\nmodule.exports = Checkbox;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst AColorPicker = require('a-color-picker');\nconst { useTranslation } = require('react-i18next');\nconst Button = require('stremio/common/Button');\nconst ModalDialog = require('stremio/common/ModalDialog');\nconst useBinaryState = require('stremio/common/useBinaryState');\nconst ColorPicker = require('./ColorPicker');\nconst styles = require('./styles');\n\nconst parseColor = (value) => {\n const color = AColorPicker.parseColor(value, 'hexcss4');\n return typeof color === 'string' ? color : '#ffffffff';\n};\n\nconst ColorInput = ({ className, value, dataset, onChange, ...props }) => {\n const { t } = useTranslation();\n const [modalOpen, openModal, closeModal] = useBinaryState(false);\n const [tempValue, setTempValue] = React.useState(() => {\n return parseColor(value);\n });\n const labelButtonStyle = React.useMemo(() => ({\n backgroundColor: value\n }), [value]);\n const isTransparent = React.useMemo(() => {\n return parseColor(value).endsWith('00');\n }, [value]);\n const labelButtonOnClick = React.useCallback((event) => {\n if (typeof props.onClick === 'function') {\n props.onClick(event);\n }\n\n if (!event.nativeEvent.openModalPrevented) {\n openModal();\n }\n }, [props.onClick]);\n const modalDialogOnClick = React.useCallback((event) => {\n event.nativeEvent.openModalPrevented = true;\n }, []);\n const modalButtons = React.useMemo(() => {\n const selectButtonOnClick = (event) => {\n if (typeof onChange === 'function') {\n onChange({\n type: 'change',\n value: tempValue,\n dataset: dataset,\n reactEvent: event,\n nativeEvent: event.nativeEvent\n });\n }\n\n closeModal();\n };\n return [\n {\n label: 'Select',\n props: {\n 'data-autofocus': true,\n onClick: selectButtonOnClick\n }\n }\n ];\n }, [tempValue, dataset, onChange]);\n const colorPickerOnInput = React.useCallback((event) => {\n setTempValue(parseColor(event.value));\n }, []);\n React.useLayoutEffect(() => {\n setTempValue(parseColor(value));\n }, [value, modalOpen]);\n return (\n <Button title={isTransparent ? t('BUTTON_COLOR_TRANSPARENT') : value} {...props} style={labelButtonStyle} className={classnames(className, styles['color-input-container'])} onClick={labelButtonOnClick}>\n {\n isTransparent ?\n <div className={styles['transparent-label-container']}>\n <div className={styles['transparent-label']}>{ t('BUTTON_COLOR_TRANSPARENT') }</div>\n </div>\n :\n null\n }\n {\n modalOpen ?\n <ModalDialog title={'Choose a color:'} buttons={modalButtons} onCloseRequest={closeModal} onClick={modalDialogOnClick}>\n <ColorPicker className={styles['color-picker-container']} value={tempValue} onInput={colorPickerOnInput} />\n </ModalDialog>\n :\n null\n }\n </Button>\n );\n};\n\nColorInput.propTypes = {\n className: PropTypes.string,\n value: PropTypes.string,\n dataset: PropTypes.object,\n onChange: PropTypes.func,\n onClick: PropTypes.func\n};\n\nmodule.exports = ColorInput;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst AColorPicker = require('a-color-picker');\nconst styles = require('./styles');\n\nconst parseColor = (value) => {\n return AColorPicker.parseColor(value, 'hexcss4');\n};\n\nconst ColorPicker = ({ className, value, onInput }) => {\n const pickerRef = React.useRef(null);\n const pickerElementRef = React.useRef(null);\n React.useLayoutEffect(() => {\n pickerRef.current = AColorPicker.createPicker(pickerElementRef.current, {\n color: parseColor(value),\n showHSL: false,\n showHEX: false,\n showRGB: false,\n showAlpha: true\n });\n const pickerClipboard = pickerElementRef.current.querySelector('.a-color-picker-clipbaord');\n if (pickerClipboard instanceof HTMLElement) {\n pickerClipboard.tabIndex = -1;\n }\n }, []);\n React.useLayoutEffect(() => {\n if (typeof onInput === 'function') {\n pickerRef.current.on('change', (picker, value) => {\n onInput({\n type: 'input',\n value: parseColor(value)\n });\n });\n }\n return () => {\n pickerRef.current.off('change');\n };\n }, [onInput]);\n React.useLayoutEffect(() => {\n const nextValue = parseColor(value);\n if (nextValue !== parseColor(pickerRef.current.color)) {\n pickerRef.current.color = nextValue;\n }\n }, [value]);\n return (\n <div ref={pickerElementRef} className={classnames(className, styles['color-picker-container'])} />\n );\n};\n\nColorPicker.propTypes = {\n className: PropTypes.string,\n value: PropTypes.string,\n onInput: PropTypes.func\n};\n\nmodule.exports = ColorPicker;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst ColorPicker = require('./ColorPicker');\n\nmodule.exports = ColorPicker;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst ColorInput = require('./ColorInput');\n\nmodule.exports = ColorInput;\n\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst { useServices } = require('stremio/services');\nconst LibItem = require('stremio/common/LibItem');\n\nconst ContinueWatchingItem = ({ _id, notifications, deepLinks, ...props }) => {\n const { core } = useServices();\n\n const onClick = React.useCallback(() => {\n if (deepLinks?.metaDetailsVideos ?? deepLinks?.metaDetailsStreams) {\n window.location = deepLinks?.metaDetailsVideos ?? deepLinks?.metaDetailsStreams;\n }\n }, [deepLinks]);\n\n const onPlayClick = React.useCallback((event) => {\n event.stopPropagation();\n if (deepLinks?.player ?? deepLinks?.metaDetailsStreams ?? deepLinks?.metaDetailsVideos) {\n window.location = deepLinks?.player ?? deepLinks?.metaDetailsStreams ?? deepLinks?.metaDetailsVideos;\n }\n }, [deepLinks]);\n\n const onDismissClick = React.useCallback((event) => {\n event.stopPropagation();\n if (typeof _id === 'string') {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'RewindLibraryItem',\n args: _id\n }\n });\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'DismissNotificationItem',\n args: _id\n }\n });\n }\n }, [_id]);\n\n return (\n <LibItem\n {...props}\n _id={_id}\n posterChangeCursor={true}\n notifications={notifications}\n onClick={onClick}\n onPlayClick={onPlayClick}\n onDismissClick={onDismissClick}\n />\n );\n};\n\nContinueWatchingItem.propTypes = {\n _id: PropTypes.string,\n notifications: PropTypes.object,\n deepLinks: PropTypes.shape({\n metaDetailsVideos: PropTypes.string,\n metaDetailsStreams: PropTypes.string,\n player: PropTypes.string\n }),\n};\n\nmodule.exports = ContinueWatchingItem;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst ContineWatchingItem = require('./ContinueWatchingItem');\n\nmodule.exports = ContineWatchingItem;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useServices } = require('stremio/services');\n\nconst CoreSuspenderContext = React.createContext(null);\n\nCoreSuspenderContext.displayName = 'CoreSuspenderContext';\n\nfunction wrapPromise(promise) {\n let status = 'pending';\n let result;\n const suspender = promise.then(\n (resp) => {\n status = 'success';\n result = resp;\n },\n (error) => {\n status = 'error';\n result = error;\n }\n );\n return {\n read() {\n if (status === 'pending') {\n throw suspender;\n } else if (status === 'error') {\n throw result;\n } else if (status === 'success') {\n return result;\n }\n }\n };\n}\n\nconst useCoreSuspender = () => {\n return React.useContext(CoreSuspenderContext);\n};\n\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nconst withCoreSuspender = (Component, Fallback = () => { }) => {\n return function withCoreSuspender(props) {\n const { core } = useServices();\n const parentSuspender = useCoreSuspender();\n const [render, setRender] = React.useState(parentSuspender === null);\n const statesRef = React.useRef({});\n const streamsRef = React.useRef({});\n const getState = React.useCallback((model) => {\n if (!statesRef.current[model]) {\n statesRef.current[model] = wrapPromise(core.transport.getState(model));\n }\n\n return statesRef.current[model].read();\n }, []);\n const decodeStream = React.useCallback((stream) => {\n if (!streamsRef.current[stream]) {\n streamsRef.current[stream] = wrapPromise(core.transport.decodeStream(stream));\n }\n\n return streamsRef.current[stream].read();\n }, []);\n const suspender = React.useMemo(() => ({ getState, decodeStream }), []);\n React.useLayoutEffect(() => {\n if (!render) {\n setRender(true);\n }\n }, []);\n return render ?\n <React.Suspense fallback={<Fallback {...props} />}>\n <CoreSuspenderContext.Provider value={suspender}>\n <Component {...props} />\n </CoreSuspenderContext.Provider>\n </React.Suspense>\n :\n null;\n };\n};\n\nmodule.exports = { withCoreSuspender, useCoreSuspender };\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\n\nconst DelayedRenderer = ({ children, delay }) => {\n const [render, setRender] = React.useState(false);\n React.useEffect(() => {\n const timeout = setTimeout(() => {\n setRender(true);\n }, delay);\n return () => {\n clearTimeout(timeout);\n };\n }, []);\n return render ? children : null;\n};\n\nDelayedRenderer.propTypes = {\n children: PropTypes.node,\n delay: PropTypes.number,\n};\n\nmodule.exports = DelayedRenderer;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst DelayedRenderer = require('./DelayedRenderer');\n\nmodule.exports = DelayedRenderer;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useTranslation } = require('react-i18next');\nconst Button = require('stremio/common/Button');\nconst ModalDialog = require('stremio/common/ModalDialog');\nconst useEvents = require('./useEvents');\nconst styles = require('./styles');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\n\nconst EventModal = () => {\n const { t } = useTranslation();\n\n const { events, pullEvents, dismissEvent } = useEvents();\n\n const modal = React.useMemo(() => {\n return events?.modal?.type === 'Ready' ?\n events.modal.content\n :\n null;\n }, [events]);\n\n const onClose = React.useCallback(() => {\n modal?.id && dismissEvent(modal.id);\n }, [modal]);\n\n React.useEffect(() => {\n pullEvents();\n }, []);\n\n return (\n modal !== null ?\n <ModalDialog className={styles['event-modal']} onCloseRequest={onClose}>\n {\n modal.imageUrl ?\n <img className={styles['image']} src={modal.imageUrl} />\n :\n null\n }\n <div className={styles['info-container']}>\n <div className={styles['title-container']}>\n {\n modal.title ?\n <div className={styles['title']}>{modal.title}</div>\n :\n null\n }\n {\n modal.message ?\n <div className={styles['label']}>{modal.message}</div>\n :\n null\n }\n </div>\n {\n modal?.addon?.name ?\n <div className={styles['addon-container']}>\n <Icon className={styles['icon']} name={'addons'} />\n <div className={styles['name']}>\n { modal.addon.name }\n </div>\n </div>\n :\n null\n }\n {\n modal?.addon?.manifestUrl ?\n <Button className={styles['action-button']} href={`#/addons?addon=${encodeURIComponent(modal.addon.manifestUrl)}`} onClick={onClose}>\n <div className={styles['button-label']}>\n { t('INSTALL_ADDON') }\n </div>\n </Button>\n :\n modal.externalUrl ?\n <Button className={styles['action-button']} href={modal.externalUrl} target={'_blank'}>\n <div className={styles['button-label']}>\n { t('LEARN_MORE') }\n </div>\n </Button>\n :\n null\n }\n </div>\n </ModalDialog>\n :\n null\n );\n};\n\nmodule.exports = EventModal;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst EventModal = require('./EventModal');\n\nmodule.exports = EventModal;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst useModelState = require('stremio/common/useModelState');\nconst { useServices } = require('stremio/services');\n\nconst map = (ctx) => ({\n ...ctx.events,\n});\n\nconst useEvents = () => {\n const { core } = useServices();\n\n const pullEvents = () => {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'GetEvents',\n },\n });\n };\n\n const dismissEvent = (id) => {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'DismissEvent',\n args: id,\n },\n });\n };\n\n const events = useModelState({ model: 'ctx', map });\n return { events, pullEvents, dismissEvent };\n};\n\nmodule.exports = useEvents;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\n\nconst Image = ({ className, src, alt, fallbackSrc, renderFallback, ...props }) => {\n const [broken, setBroken] = React.useState(false);\n const onError = React.useCallback((event) => {\n if (typeof props.onError === 'function') {\n props.onError(event);\n }\n\n setBroken(true);\n }, [props.onError]);\n React.useLayoutEffect(() => {\n setBroken(false);\n }, [src]);\n return (broken || typeof src !== 'string' || src.length === 0) && (typeof renderFallback === 'function' || typeof fallbackSrc === 'string') ?\n typeof renderFallback === 'function' ?\n renderFallback()\n :\n <img {...props} className={className} src={fallbackSrc} alt={alt} loading='lazy'/>\n :\n <img {...props} className={className} src={src} alt={alt} loading='lazy' onError={onError} />;\n};\n\nImage.propTypes = {\n className: PropTypes.string,\n src: PropTypes.string,\n alt: PropTypes.string,\n fallbackSrc: PropTypes.string,\n renderFallback: PropTypes.func,\n onError: PropTypes.func\n};\n\nmodule.exports = Image;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Image = require('./Image');\n\nmodule.exports = Image;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useServices } = require('stremio/services');\nconst PropTypes = require('prop-types');\nconst MetaItem = require('stremio/common/MetaItem');\nconst { t } = require('i18next');\n\nconst LibItem = ({ _id, removable, notifications, watched, ...props }) => {\n\n const { core } = useServices();\n\n const newVideos = React.useMemo(() => {\n const count = notifications.items?.[_id]?.length ?? 0;\n return Math.min(Math.max(count, 0), 99);\n }, [_id, notifications]);\n\n const options = React.useMemo(() => {\n return [\n { label: 'LIBRARY_PLAY', value: 'play' },\n { label: 'LIBRARY_DETAILS', value: 'details' },\n { label: 'LIBRARY_RESUME_DISMISS', value: 'dismiss' },\n { label: watched ? 'CTX_MARK_UNWATCHED' : 'CTX_MARK_WATCHED', value: 'watched' },\n { label: 'LIBRARY_REMOVE', value: 'remove' },\n ].filter(({ value }) => {\n switch (value) {\n case 'play':\n return props.deepLinks && typeof props.deepLinks.player === 'string';\n case 'details':\n return props.deepLinks && (typeof props.deepLinks.metaDetailsVideos === 'string' || typeof props.deepLinks.metaDetailsStreams === 'string');\n case 'watched':\n return props.deepLinks && (typeof props.deepLinks.metaDetailsVideos === 'string' || typeof props.deepLinks.metaDetailsStreams === 'string');\n case 'dismiss':\n return typeof _id === 'string' && props.progress !== null && !isNaN(props.progress) && props.progress > 0;\n case 'remove':\n return typeof _id === 'string' && removable;\n }\n }).map((option) => ({\n ...option,\n label: t(option.label)\n }));\n }, [_id, removable, props.progress, props.deepLinks, watched]);\n\n const optionOnSelect = React.useCallback((event) => {\n if (typeof props.optionOnSelect === 'function') {\n props.optionOnSelect(event);\n }\n\n if (!event.nativeEvent.optionSelectPrevented) {\n switch (event.value) {\n case 'play': {\n if (props.deepLinks && typeof props.deepLinks.player === 'string') {\n window.location = props.deepLinks.player;\n }\n\n break;\n }\n case 'details': {\n if (props.deepLinks) {\n if (typeof props.deepLinks.metaDetailsVideos === 'string') {\n window.location = props.deepLinks.metaDetailsVideos;\n } else if (typeof props.deepLinks.metaDetailsStreams === 'string') {\n window.location = props.deepLinks.metaDetailsStreams;\n }\n }\n\n break;\n }\n case 'watched': {\n if (typeof _id === 'string') {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'LibraryItemMarkAsWatched',\n args: {\n id: _id,\n is_watched: !watched\n }\n }\n });\n }\n\n break;\n }\n case 'dismiss': {\n if (typeof _id === 'string') {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'RewindLibraryItem',\n args: _id\n }\n });\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'DismissNotificationItem',\n args: _id\n }\n });\n }\n\n break;\n }\n case 'remove': {\n if (typeof _id === 'string') {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'RemoveFromLibrary',\n args: _id\n }\n });\n }\n\n break;\n }\n }\n }\n }, [_id, props.deepLinks, props.optionOnSelect]);\n\n return (\n <MetaItem\n {...props}\n watched={watched}\n newVideos={newVideos}\n options={options}\n optionOnSelect={optionOnSelect}\n />\n );\n};\n\nLibItem.propTypes = {\n _id: PropTypes.string,\n removable: PropTypes.bool,\n progress: PropTypes.number,\n notifications: PropTypes.object,\n watched: PropTypes.bool,\n deepLinks: PropTypes.shape({\n metaDetailsVideos: PropTypes.string,\n metaDetailsStreams: PropTypes.string,\n player: PropTypes.string\n }),\n optionOnSelect: PropTypes.func\n};\n\nmodule.exports = LibItem;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst LibItem = require('./LibItem');\n\nmodule.exports = LibItem;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { VerticalNavBar, HorizontalNavBar } = require('stremio/common/NavBar');\nconst styles = require('./styles');\n\nconst TABS = [\n { id: 'board', label: 'Board', icon: 'home', href: '#/' },\n { id: 'discover', label: 'Discover', icon: 'discover', href: '#/discover' },\n { id: 'library', label: 'Library', icon: 'library', href: '#/library' },\n { id: 'addons', label: 'ADDONS', icon: 'addons', href: '#/addons' },\n { id: 'settings', label: 'SETTINGS', icon: 'settings', href: '#/settings' },\n];\n\nconst MainNavBars = React.memo(({ className, route, query, children }) => {\n return (\n <div className={classnames(className, styles['main-nav-bars-container'])}>\n <HorizontalNavBar\n className={styles['horizontal-nav-bar']}\n route={route}\n query={query}\n backButton={false}\n searchBar={true}\n addonsButton={true}\n fullscreenButton={true}\n navMenu={true}\n />\n <VerticalNavBar\n className={styles['vertical-nav-bar']}\n selected={route}\n tabs={TABS}\n />\n <div className={styles['nav-content-container']}>{children}</div>\n </div>\n );\n});\n\nMainNavBars.displayName = 'MainNavBars';\n\nMainNavBars.propTypes = {\n className: PropTypes.string,\n route: PropTypes.string,\n query: PropTypes.string,\n children: PropTypes.node\n};\n\nmodule.exports = MainNavBars;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst MainNavBars = require('./MainNavBars');\n\nmodule.exports = MainNavBars;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { useTranslation } = require('react-i18next');\nconst filterInvalidDOMProps = require('filter-invalid-dom-props').default;\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst Button = require('stremio/common/Button');\nconst Image = require('stremio/common/Image');\nconst Multiselect = require('stremio/common/Multiselect');\nconst useBinaryState = require('stremio/common/useBinaryState');\nconst { ICON_FOR_TYPE } = require('stremio/common/CONSTANTS');\nconst styles = require('./styles');\n\nconst MetaItem = React.memo(({ className, type, name, poster, posterShape, posterChangeCursor, progress, newVideos, options, deepLinks, dataset, optionOnSelect, onDismissClick, onPlayClick, watched, ...props }) => {\n const { t } = useTranslation();\n const [menuOpen, onMenuOpen, onMenuClose] = useBinaryState(false);\n const href = React.useMemo(() => {\n return deepLinks ?\n typeof deepLinks.player === 'string' ?\n deepLinks.player\n :\n typeof deepLinks.metaDetailsStreams === 'string' ?\n deepLinks.metaDetailsStreams\n :\n typeof deepLinks.metaDetailsVideos === 'string' ?\n deepLinks.metaDetailsVideos\n :\n null\n :\n null;\n }, [deepLinks]);\n const metaItemOnClick = React.useCallback((event) => {\n if (event.nativeEvent.selectPrevented) {\n event.preventDefault();\n } else if (typeof props.onClick === 'function') {\n props.onClick(event);\n }\n }, [props.onClick]);\n const menuOnClick = React.useCallback((event) => {\n event.nativeEvent.selectPrevented = true;\n }, []);\n const menuOnSelect = React.useCallback((event) => {\n if (typeof optionOnSelect === 'function') {\n optionOnSelect({\n type: 'select-option',\n value: event.value,\n dataset: dataset,\n reactEvent: event.reactEvent,\n nativeEvent: event.nativeEvent\n });\n }\n }, [dataset, optionOnSelect]);\n const renderPosterFallback = React.useCallback(() => (\n <Icon\n className={styles['placeholder-icon']}\n name={ICON_FOR_TYPE.has(type) ? ICON_FOR_TYPE.get(type) : ICON_FOR_TYPE.get('other')}\n />\n ), [type]);\n const renderMenuLabelContent = React.useCallback(() => (\n <Icon className={styles['icon']} name={'more-vertical'} />\n ), []);\n return (\n <Button title={name} href={href} {...filterInvalidDOMProps(props)} className={classnames(className, styles['meta-item-container'], styles['poster-shape-poster'], styles[`poster-shape-${posterShape}`], { 'active': menuOpen })} onClick={metaItemOnClick}>\n <div className={classnames(styles['poster-container'], { 'poster-change-cursor': posterChangeCursor })}>\n {\n onDismissClick ?\n <div title={t('LIBRARY_RESUME_DISMISS')} className={styles['dismiss-icon-layer']} onClick={onDismissClick}>\n <Icon className={styles['dismiss-icon']} name={'close'} />\n <div className={styles['dismiss-icon-backdrop']} />\n </div>\n :\n null\n }\n {\n watched ?\n <div className={styles['watched-icon-layer']}>\n <Icon className={styles['watched-icon']} name={'checkmark'} />\n </div>\n :\n null\n }\n <div className={styles['poster-image-layer']}>\n <Image\n className={styles['poster-image']}\n src={poster}\n alt={' '}\n renderFallback={renderPosterFallback}\n />\n </div>\n {\n onPlayClick ?\n <div title={t('CONTINUE_WATCHING')} className={styles['play-icon-layer']} onClick={onPlayClick}>\n <Icon className={styles['play-icon']} name={'play'} />\n <div className={styles['play-icon-outer']} />\n <div className={styles['play-icon-background']} />\n </div>\n :\n null\n }\n {\n progress > 0 ?\n <div className={styles['progress-bar-layer']}>\n <div className={styles['progress-bar']} style={{ width: `${progress}%` }} />\n <div className={styles['progress-bar-background']} />\n </div>\n :\n null\n }\n {\n newVideos > 0 ?\n <div className={styles['new-videos']}>\n <div className={styles['layer']} />\n <div className={styles['layer']} />\n <div className={styles['layer']}>\n <Icon className={styles['icon']} name={'add'} />\n <div className={styles['label']}>\n {newVideos}\n </div>\n </div>\n </div>\n :\n null\n }\n </div>\n {\n (typeof name === 'string' && name.length > 0) || (Array.isArray(options) && options.length > 0) ?\n <div className={styles['title-bar-container']}>\n <div className={styles['title-label']}>\n {typeof name === 'string' && name.length > 0 ? name : ''}\n </div>\n {\n Array.isArray(options) && options.length > 0 ?\n <Multiselect\n className={styles['menu-label-container']}\n renderLabelContent={renderMenuLabelContent}\n options={options}\n onOpen={onMenuOpen}\n onClose={onMenuClose}\n onSelect={menuOnSelect}\n tabIndex={-1}\n onClick={menuOnClick}\n />\n :\n null\n }\n </div>\n :\n null\n }\n </Button>\n );\n});\n\nMetaItem.displayName = 'MetaItem';\n\nMetaItem.propTypes = {\n className: PropTypes.string,\n type: PropTypes.string,\n name: PropTypes.string,\n poster: PropTypes.string,\n posterShape: PropTypes.oneOf(['poster', 'landscape', 'square']),\n posterChangeCursor: PropTypes.bool,\n progress: PropTypes.number,\n newVideos: PropTypes.number,\n options: PropTypes.array,\n deepLinks: PropTypes.shape({\n metaDetailsVideos: PropTypes.string,\n metaDetailsStreams: PropTypes.string,\n player: PropTypes.string\n }),\n dataset: PropTypes.object,\n optionOnSelect: PropTypes.func,\n onDismissClick: PropTypes.func,\n onPlayClick: PropTypes.func,\n onClick: PropTypes.func,\n watched: PropTypes.bool\n};\n\nmodule.exports = MetaItem;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst MetaItem = require('./MetaItem');\n\nmodule.exports = MetaItem;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst Button = require('stremio/common/Button');\nconst styles = require('./styles');\nconst { Tooltip } = require('stremio/common/Tooltips');\n\nconst ActionButton = ({ className, icon, label, tooltip, ...props }) => {\n return (\n <Button title={tooltip ? '' : label} {...props} className={classnames(className, styles['action-button-container'], { 'wide': typeof label === 'string' && !tooltip })}>\n {\n tooltip === true ?\n <Tooltip label={label} position={'top'} />\n :\n null\n }\n {\n typeof icon === 'string' && icon.length > 0 ?\n <div className={styles['icon-container']}>\n <Icon className={styles['icon']} name={icon} />\n </div>\n :\n null\n }\n {\n !tooltip && typeof label === 'string' && label.length > 0 ?\n <div className={styles['label-container']}>\n <div className={styles['label']}>{label}</div>\n </div>\n :\n null\n }\n </Button>\n );\n};\n\nActionButton.propTypes = {\n className: PropTypes.string,\n icon: PropTypes.string,\n label: PropTypes.string,\n tooltip: PropTypes.bool\n};\n\nmodule.exports = ActionButton;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst ActionButton = require('./ActionButton');\n\nmodule.exports = ActionButton;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { useTranslation } = require('react-i18next');\nconst Button = require('stremio/common/Button');\nconst styles = require('./styles');\n\nconst MetaLinks = ({ className, label, links }) => {\n const { t } = useTranslation();\n return (\n <div className={classnames(className, styles['meta-links-container'])}>\n {\n typeof label === 'string' && label.length > 0 ?\n <div className={styles['label-container']}>\n {t(`LINKS_${label.toUpperCase()}`)}\n </div>\n :\n null\n }\n {\n Array.isArray(links) && links.length > 0 ?\n <div className={styles['links-container']}>\n {links.map(({ label, href }, index) => (\n <Button key={index} className={styles['link-container']} title={label} href={href}>\n { t(label) }\n </Button>\n ))}\n </div>\n :\n null\n }\n </div>\n );\n};\n\nMetaLinks.propTypes = {\n className: PropTypes.string,\n label: PropTypes.string,\n links: PropTypes.arrayOf(PropTypes.shape({\n label: PropTypes.string,\n href: PropTypes.string\n }))\n};\n\nmodule.exports = MetaLinks;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst MetaLinks = require('./MetaLinks');\n\nmodule.exports = MetaLinks;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst UrlUtils = require('url');\nconst { useTranslation } = require('react-i18next');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst Button = require('stremio/common/Button');\nconst Image = require('stremio/common/Image');\nconst ModalDialog = require('stremio/common/ModalDialog');\nconst SharePrompt = require('stremio/common/SharePrompt');\nconst CONSTANTS = require('stremio/common/CONSTANTS');\nconst routesRegexp = require('stremio/common/routesRegexp');\nconst useBinaryState = require('stremio/common/useBinaryState');\nconst ActionButton = require('./ActionButton');\nconst MetaLinks = require('./MetaLinks');\nconst MetaPreviewPlaceholder = require('./MetaPreviewPlaceholder');\nconst styles = require('./styles');\n\nconst ALLOWED_LINK_REDIRECTS = [\n routesRegexp.search.regexp,\n routesRegexp.discover.regexp,\n routesRegexp.metadetails.regexp\n];\n\nconst MetaPreview = ({ className, compact, name, logo, background, runtime, releaseInfo, released, description, deepLinks, links, trailerStreams, inLibrary, toggleInLibrary }) => {\n const { t } = useTranslation();\n const [shareModalOpen, openShareModal, closeShareModal] = useBinaryState(false);\n const linksGroups = React.useMemo(() => {\n return Array.isArray(links) ?\n links\n .filter((link) => link && typeof link.category === 'string' && typeof link.url === 'string')\n .reduce((linksGroups, { category, name, url }) => {\n const { protocol, path, pathname, hostname } = UrlUtils.parse(url);\n if (category === CONSTANTS.IMDB_LINK_CATEGORY) {\n if (hostname === 'imdb.com') {\n linksGroups.set(category, {\n label: name,\n href: `https://www.stremio.com/warning#${encodeURIComponent(url)}`\n });\n }\n } else if (category === CONSTANTS.SHARE_LINK_CATEGORY) {\n linksGroups.set(category, {\n label: name,\n href: url\n });\n } else {\n if (protocol === 'stremio:') {\n if (pathname !== null && ALLOWED_LINK_REDIRECTS.some((regexp) => pathname.match(regexp))) {\n if (!linksGroups.has(category)) {\n linksGroups.set(category, []);\n }\n linksGroups.get(category).push({\n label: name,\n href: `#${path}`\n });\n }\n } else if (typeof hostname === 'string' && hostname.length > 0) {\n if (!linksGroups.has(category)) {\n linksGroups.set(category, []);\n }\n linksGroups.get(category).push({\n label: name,\n href: `https://www.stremio.com/warning#${encodeURIComponent(url)}`\n });\n }\n }\n\n return linksGroups;\n }, new Map())\n :\n new Map();\n }, [links]);\n const showHref = React.useMemo(() => {\n return deepLinks ?\n typeof deepLinks.player === 'string' ?\n deepLinks.player\n :\n typeof deepLinks.metaDetailsStreams === 'string' ?\n deepLinks.metaDetailsStreams\n :\n typeof deepLinks.metaDetailsVideos === 'string' ?\n deepLinks.metaDetailsVideos\n :\n null\n :\n null;\n }, [deepLinks]);\n const trailerHref = React.useMemo(() => {\n if (!Array.isArray(trailerStreams) || trailerStreams.length === 0) {\n return null;\n }\n\n return trailerStreams[0].deepLinks.player;\n }, [trailerStreams]);\n const renderLogoFallback = React.useCallback(() => (\n <div className={styles['logo-placeholder']}>{name}</div>\n ), [name]);\n return (\n <div className={classnames(className, styles['meta-preview-container'], { [styles['compact']]: compact })}>\n {\n typeof background === 'string' && background.length > 0 ?\n <div className={styles['background-image-layer']}>\n <Image className={styles['background-image']} src={background} alt={' '} />\n </div>\n :\n null\n }\n <div className={styles['meta-info-container']}>\n {\n typeof logo === 'string' && logo.length > 0 ?\n <Image\n className={styles['logo']}\n src={logo}\n alt={' '}\n title={name}\n renderFallback={renderLogoFallback}\n />\n :\n renderLogoFallback()\n }\n {\n (typeof releaseInfo === 'string' && releaseInfo.length > 0) || (released instanceof Date && !isNaN(released.getTime())) || (typeof runtime === 'string' && runtime.length > 0) || linksGroups.has(CONSTANTS.IMDB_LINK_CATEGORY) ?\n <div className={styles['runtime-release-info-container']}>\n {\n typeof runtime === 'string' && runtime.length > 0 ?\n <div className={styles['runtime-label']}>{runtime}</div>\n :\n null\n }\n {\n typeof releaseInfo === 'string' && releaseInfo.length > 0 ?\n <div className={styles['release-info-label']}>{releaseInfo}</div>\n :\n released instanceof Date && !isNaN(released.getTime()) ?\n <div className={styles['release-info-label']}>{released.getFullYear()}</div>\n :\n null\n }\n {\n linksGroups.has(CONSTANTS.IMDB_LINK_CATEGORY) ?\n <Button\n className={styles['imdb-button-container']}\n title={linksGroups.get(CONSTANTS.IMDB_LINK_CATEGORY).label}\n href={linksGroups.get(CONSTANTS.IMDB_LINK_CATEGORY).href}\n target={'_blank'}\n {...(compact ? { tabIndex: -1 } : null)}\n >\n <div className={styles['label']}>{linksGroups.get(CONSTANTS.IMDB_LINK_CATEGORY).label}</div>\n <Icon className={styles['icon']} name={'imdb'} />\n </Button>\n :\n null\n }\n </div>\n :\n null\n }\n {\n compact && typeof description === 'string' && description.length > 0 ?\n <div className={styles['description-container']}>\n {description}\n </div>\n :\n null\n }\n {\n Array.from(linksGroups.keys())\n .filter((category) => {\n return category !== CONSTANTS.IMDB_LINK_CATEGORY &&\n category !== CONSTANTS.SHARE_LINK_CATEGORY &&\n category !== CONSTANTS.WRITERS_LINK_CATEGORY;\n })\n .map((category, index) => (\n <MetaLinks\n key={index}\n className={styles['meta-links']}\n label={category}\n links={linksGroups.get(category)}\n />\n ))\n }\n {\n !compact && typeof description === 'string' && description.length > 0 ?\n <div className={styles['description-container']}>\n <div className={styles['label-container']}>\n {t('SUMMARY')}\n </div>\n {description}\n </div>\n :\n null\n }\n </div>\n <div className={styles['action-buttons-container']}>\n {\n typeof toggleInLibrary === 'function' ?\n <ActionButton\n className={styles['action-button']}\n icon={inLibrary ? 'remove-from-library' : 'add-to-library'}\n label={inLibrary ? t('REMOVE_FROM_LIB') : t('ADD_TO_LIB')}\n tooltip={compact}\n tabIndex={compact ? -1 : 0}\n onClick={toggleInLibrary}\n />\n :\n null\n }\n {\n typeof trailerHref === 'string' ?\n <ActionButton\n className={styles['action-button']}\n icon={'trailer'}\n label={t('TRAILER')}\n tabIndex={compact ? -1 : 0}\n href={trailerHref}\n tooltip={compact}\n />\n :\n null\n }\n {\n typeof showHref === 'string' && compact ?\n <ActionButton\n className={classnames(styles['action-button'], styles['show-button'])}\n icon={'play'}\n label={t('SHOW')}\n tabIndex={compact ? -1 : 0}\n href={showHref}\n />\n :\n null\n }\n {\n linksGroups.has(CONSTANTS.SHARE_LINK_CATEGORY) && !compact ?\n <React.Fragment>\n <ActionButton\n className={styles['action-button']}\n icon={'share'}\n label={t('CTX_SHARE')}\n tooltip={true}\n tabIndex={compact ? -1 : 0}\n onClick={openShareModal}\n />\n {\n shareModalOpen ?\n <ModalDialog title={t('CTX_SHARE')} onCloseRequest={closeShareModal}>\n <SharePrompt\n className={styles['share-prompt']}\n url={linksGroups.get(CONSTANTS.SHARE_LINK_CATEGORY).href}\n />\n </ModalDialog>\n :\n null\n }\n </React.Fragment>\n :\n null\n }\n </div>\n </div>\n );\n};\n\nMetaPreview.Placeholder = MetaPreviewPlaceholder;\n\nMetaPreview.propTypes = {\n className: PropTypes.string,\n compact: PropTypes.bool,\n name: PropTypes.string,\n logo: PropTypes.string,\n background: PropTypes.string,\n runtime: PropTypes.string,\n releaseInfo: PropTypes.string,\n released: PropTypes.instanceOf(Date),\n description: PropTypes.string,\n deepLinks: PropTypes.shape({\n metaDetailsVideos: PropTypes.string,\n metaDetailsStreams: PropTypes.string,\n player: PropTypes.string\n }),\n links: PropTypes.arrayOf(PropTypes.shape({\n category: PropTypes.string,\n name: PropTypes.string,\n url: PropTypes.string\n })),\n trailerStreams: PropTypes.array,\n inLibrary: PropTypes.bool,\n toggleInLibrary: PropTypes.func\n};\n\nmodule.exports = MetaPreview;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst styles = require('./styles');\n\nconst MetaPreviewPlaceholder = ({ className }) => {\n return (\n <div className={classnames(className, styles['meta-preview-placeholder-container'])}>\n <div className={styles['meta-info-container']}>\n <div className={styles['logo-container']} />\n <div className={styles['duration-release-info-container']}>\n <div className={styles['duration-container']} />\n <div className={styles['release-info-container']} />\n </div>\n <div className={styles['genres-container']}>\n <div className={styles['genres-header-container']} />\n <div className={styles['genre-label-container']} />\n </div>\n <div className={styles['genres-container']}>\n <div className={styles['genres-header-container']} />\n <div className={styles['genre-label-container']} />\n </div>\n <div className={styles['genres-container']}>\n <div className={styles['genres-header-container']} />\n <div className={styles['genre-label-container']} />\n </div>\n </div>\n <div className={styles['action-buttons-container']} />\n </div>\n );\n};\n\nMetaPreviewPlaceholder.propTypes = {\n className: PropTypes.string\n};\n\nmodule.exports = MetaPreviewPlaceholder;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst MetaPreviewPlaceholder = require('./MetaPreviewPlaceholder');\n\nmodule.exports = MetaPreviewPlaceholder;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst MetaPreview = require('./MetaPreview');\n\nmodule.exports = MetaPreview;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst ReactIs = require('react-is');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst Button = require('stremio/common/Button');\nconst CONSTANTS = require('stremio/common/CONSTANTS');\nconst useTranslate = require('stremio/common/useTranslate');\nconst MetaRowPlaceholder = require('./MetaRowPlaceholder');\nconst styles = require('./styles');\n\nconst MetaRow = ({ className, title, catalog, message, itemComponent, notifications }) => {\n const t = useTranslate();\n\n const catalogTitle = React.useMemo(() => {\n return title ?? t.catalogTitle(catalog);\n }, [title, catalog, t.catalogTitle]);\n\n const items = React.useMemo(() => {\n return catalog?.items ?? catalog?.content?.content;\n }, [catalog]);\n\n const href = React.useMemo(() => {\n return catalog?.deepLinks?.discover ?? catalog?.deepLinks?.library;\n }, [catalog]);\n\n return (\n <div className={classnames(className, styles['meta-row-container'])}>\n <div className={styles['header-container']}>\n {\n typeof catalogTitle === 'string' && catalogTitle.length > 0 ?\n <div className={styles['title-container']} title={catalogTitle}>{catalogTitle}</div>\n :\n null\n }\n {\n href ?\n <Button className={styles['see-all-container']} title={t.string('BUTTON_SEE_ALL')} href={href} tabIndex={-1}>\n <div className={styles['label']}>{ t.string('BUTTON_SEE_ALL') }</div>\n <Icon className={styles['icon']} name={'chevron-forward'} />\n </Button>\n :\n null\n }\n </div>\n {\n typeof message === 'string' && message.length > 0 ?\n <div className={styles['message-container']} title={message}>{message}</div>\n :\n <div className={styles['meta-items-container']}>\n {\n ReactIs.isValidElementType(itemComponent) ?\n items.slice(0, CONSTANTS.CATALOG_PREVIEW_SIZE).map((item, index) => {\n return React.createElement(itemComponent, {\n ...item,\n key: index,\n className: classnames(styles['meta-item'], styles['poster-shape-poster'], styles[`poster-shape-${item.posterShape}`]),\n notifications,\n });\n })\n :\n null\n }\n {Array(Math.max(0, CONSTANTS.CATALOG_PREVIEW_SIZE - items.length)).fill(null).map((_, index) => (\n <div key={index} className={classnames(styles['meta-item'], styles['poster-shape-poster'])} />\n ))}\n </div>\n }\n </div>\n );\n};\n\nMetaRow.Placeholder = MetaRowPlaceholder;\n\nMetaRow.propTypes = {\n className: PropTypes.string,\n title: PropTypes.string,\n message: PropTypes.string,\n catalog: PropTypes.shape({\n id: PropTypes.string,\n name: PropTypes.string,\n type: PropTypes.string,\n addon: PropTypes.shape({\n manifest: PropTypes.shape({\n id: PropTypes.string,\n name: PropTypes.string,\n }),\n }),\n content: PropTypes.shape({\n content: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.shape({\n posterShape: PropTypes.string,\n })),\n ]),\n }),\n items: PropTypes.arrayOf(PropTypes.shape({\n posterShape: PropTypes.string,\n })),\n deepLinks: PropTypes.shape({\n discover: PropTypes.string,\n library: PropTypes.string,\n }),\n }),\n itemComponent: PropTypes.elementType,\n notifications: PropTypes.object,\n};\n\nmodule.exports = MetaRow;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { useTranslation } = require('react-i18next');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst Button = require('stremio/common/Button');\nconst CONSTANTS = require('stremio/common/CONSTANTS');\nconst styles = require('./styles');\n\nconst MetaRowPlaceholder = ({ className, title, deepLinks }) => {\n const { t } = useTranslation();\n return (\n <div className={classnames(className, styles['meta-row-placeholder-container'])}>\n <div className={styles['header-container']}>\n <div className={styles['title-container']} title={typeof title === 'string' && title.length > 0 ? title : null}>\n {typeof title === 'string' && title.length > 0 ? title : null}\n </div>\n {\n deepLinks && typeof deepLinks.discover === 'string' ?\n <Button className={styles['see-all-container']} title={t('BUTTON_SEE_ALL')} href={deepLinks.discover} tabIndex={-1}>\n <div className={styles['label']}>{ t('BUTTON_SEE_ALL') }</div>\n <Icon className={styles['icon']} name={'chevron-forward'} />\n </Button>\n :\n null\n }\n </div>\n <div className={styles['meta-items-container']}>\n {Array(CONSTANTS.CATALOG_PREVIEW_SIZE).fill(null).map((_, index) => (\n <div key={index} className={styles['meta-item']}>\n <div className={styles['poster-container']} />\n <div className={styles['title-bar-container']}>\n <div className={styles['title-label']} />\n </div>\n </div>\n ))}\n </div>\n </div>\n );\n};\n\nMetaRowPlaceholder.propTypes = {\n className: PropTypes.string,\n title: PropTypes.string,\n deepLinks: PropTypes.shape({\n discover: PropTypes.string\n })\n};\n\nmodule.exports = MetaRowPlaceholder;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst MetaRowPlaceholder = require('./MetaRowPlaceholder');\n\nmodule.exports = MetaRowPlaceholder;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst MetaRow = require('./MetaRow');\n\nmodule.exports = MetaRow;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { useRouteFocused, useModalsContainer } = require('stremio-router');\nconst Button = require('stremio/common/Button');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { Modal } = require('stremio-router');\nconst styles = require('./styles');\n\nconst ModalDialog = ({ className, title, buttons, children, dataset, onCloseRequest, background, ...props }) => {\n const routeFocused = useRouteFocused();\n const modalsContainer = useModalsContainer();\n const modalContainerRef = React.useRef(null);\n const closeButtonOnClick = React.useCallback((event) => {\n if (typeof onCloseRequest === 'function') {\n onCloseRequest({\n type: 'close',\n dataset: dataset,\n reactEvent: event,\n nativeEvent: event.nativeEvent\n });\n }\n }, [dataset, onCloseRequest]);\n const onModalContainerMouseDown = React.useCallback((event) => {\n if (!event.nativeEvent.closeModalDialogPrevented && typeof onCloseRequest === 'function') {\n onCloseRequest({\n type: 'close',\n dataset: dataset,\n reactEvent: event,\n nativeEvent: event.nativeEvent\n });\n }\n }, [dataset, onCloseRequest]);\n const onModalDialogContainerMouseDown = React.useCallback((event) => {\n event.nativeEvent.closeModalDialogPrevented = true;\n }, []);\n React.useEffect(() => {\n const onKeyDown = (event) => {\n // its `-2` because focus lock render locking divs around its content\n if (event.code === 'Escape' && modalsContainer.childNodes[modalsContainer.childElementCount - 2] === modalContainerRef.current) {\n if (typeof onCloseRequest === 'function') {\n onCloseRequest({\n type: 'close',\n dataset: dataset,\n nativeEvent: event\n });\n }\n }\n };\n if (routeFocused) {\n window.addEventListener('keydown', onKeyDown);\n }\n return () => {\n window.removeEventListener('keydown', onKeyDown);\n };\n }, [routeFocused, dataset, onCloseRequest]);\n return (\n <Modal ref={modalContainerRef} {...props} className={classnames(className, styles['modal-container'])} onMouseDown={onModalContainerMouseDown}>\n <div className={styles['modal-dialog-container']} onMouseDown={onModalDialogContainerMouseDown}>\n <div className={styles['modal-dialog-background']} style={{backgroundImage: `url('${background}')`}} />\n <Button className={styles['close-button-container']} title={'Close'} onClick={closeButtonOnClick}>\n <Icon className={styles['icon']} name={'close'} />\n </Button>\n <div className={styles['modal-dialog-content']}>\n {\n typeof title === 'string' && title.length > 0 ?\n <div className={styles['title-container']} title={title}>{title}</div>\n :\n null\n }\n <div className={styles['body-container']}>\n {children}\n </div>\n {\n Array.isArray(buttons) && buttons.length > 0 ?\n <div className={styles['buttons-container']}>\n {buttons.map(({ className, label, icon, props }, index) => (\n <Button title={label} {...props} key={index} className={classnames(className, styles['action-button'])}>\n {\n typeof icon === 'string' && icon.length > 0 ?\n <Icon className={styles['icon']} name={icon} />\n :\n null\n }\n {\n typeof label === 'string' && label.length > 0 ?\n <div className={styles['label']}>{label}</div>\n :\n null\n }\n </Button>\n ))}\n </div>\n :\n null\n }\n </div>\n </div>\n </Modal>\n );\n};\n\nModalDialog.propTypes = {\n className: PropTypes.string,\n title: PropTypes.string,\n background: PropTypes.string,\n buttons: PropTypes.arrayOf(PropTypes.shape({\n className: PropTypes.string,\n label: PropTypes.string,\n icon: PropTypes.string,\n props: PropTypes.object\n })),\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node\n ]),\n dataset: PropTypes.object,\n onCloseRequest: PropTypes.func\n};\n\nmodule.exports = ModalDialog;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst ModalDialog = require('./ModalDialog');\n\nmodule.exports = ModalDialog;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst Button = require('stremio/common/Button');\nconst Popup = require('stremio/common/Popup');\nconst ModalDialog = require('stremio/common/ModalDialog');\nconst useBinaryState = require('stremio/common/useBinaryState');\nconst styles = require('./styles');\n\nconst Multiselect = ({ className, mode, direction, title, disabled, dataset, renderLabelContent, renderLabelText, onOpen, onClose, onSelect, ...props }) => {\n const [menuOpen, , closeMenu, toggleMenu] = useBinaryState(false);\n const options = React.useMemo(() => {\n return Array.isArray(props.options) ?\n props.options.filter((option) => {\n return option && (typeof option.value === 'string' || option.value === null);\n })\n :\n [];\n }, [props.options]);\n const selected = React.useMemo(() => {\n return Array.isArray(props.selected) ?\n props.selected.filter((value) => {\n return typeof value === 'string' || value === null;\n })\n :\n [];\n }, [props.selected]);\n const labelOnClick = React.useCallback((event) => {\n if (typeof props.onClick === 'function') {\n props.onClick(event);\n }\n\n if (!event.nativeEvent.toggleMenuPrevented) {\n toggleMenu();\n }\n }, [props.onClick, toggleMenu]);\n const menuOnClick = React.useCallback((event) => {\n event.nativeEvent.toggleMenuPrevented = true;\n }, []);\n const menuOnKeyDown = React.useCallback((event) => {\n event.nativeEvent.buttonClickPrevented = true;\n }, []);\n const optionOnClick = React.useCallback((event) => {\n if (typeof onSelect === 'function') {\n onSelect({\n type: 'select',\n value: event.currentTarget.dataset.value,\n reactEvent: event,\n nativeEvent: event.nativeEvent,\n dataset: dataset\n });\n }\n\n if (!event.nativeEvent.closeMenuPrevented) {\n closeMenu();\n }\n }, [dataset, onSelect]);\n const mountedRef = React.useRef(false);\n React.useLayoutEffect(() => {\n if (mountedRef.current) {\n if (menuOpen) {\n if (typeof onOpen === 'function') {\n onOpen({\n type: 'open',\n dataset: dataset\n });\n }\n } else {\n if (typeof onClose === 'function') {\n onClose({\n type: 'close',\n dataset: dataset\n });\n }\n }\n }\n\n mountedRef.current = true;\n }, [menuOpen]);\n const renderLabel = React.useCallback(({ children, className, ...props }) => (\n <Button {...props} className={classnames(className, styles['label-container'], { 'active': menuOpen })} title={title} disabled={disabled} onClick={labelOnClick}>\n {\n typeof renderLabelContent === 'function' ?\n renderLabelContent()\n :\n <React.Fragment>\n <div className={styles['label']}>\n {\n typeof renderLabelText === 'function' ?\n renderLabelText()\n :\n selected.length > 0 ?\n selected.map((value) => {\n const option = options.find((option) => option.value === value);\n return option && typeof option.label === 'string' ?\n option.label\n :\n value;\n }).join(', ')\n :\n title\n }\n </div>\n <Icon className={styles['icon']} name={'caret-down'} />\n </React.Fragment>\n }\n {children}\n </Button>\n ), [menuOpen, title, disabled, options, selected, labelOnClick, renderLabelContent, renderLabelText]);\n const renderMenu = React.useCallback(() => (\n <div className={styles['menu-container']} onKeyDown={menuOnKeyDown} onClick={menuOnClick}>\n {\n options.length > 0 ?\n options.map(({ label, title, value }) => (\n <Button key={value} className={classnames(styles['option-container'], { 'selected': selected.includes(value) })} title={typeof title === 'string' ? title : typeof label === 'string' ? label : value} data-value={value} onClick={optionOnClick}>\n <div className={styles['label']}>{typeof label === 'string' ? label : value}</div>\n <div className={styles['icon']} />\n </Button>\n ))\n :\n <div className={styles['no-options-container']}>\n <div className={styles['label']}>No options available</div>\n </div>\n }\n </div>\n ), [options, selected, menuOnKeyDown, menuOnClick, optionOnClick]);\n const renderPopupLabel = React.useMemo(() => (labelProps) => {\n return renderLabel({\n ...labelProps,\n ...props,\n className: classnames(className, labelProps.className)\n });\n }, [props, className, renderLabel]);\n return mode === 'modal' ?\n renderLabel({\n ...props,\n className,\n children: menuOpen ?\n <ModalDialog className={styles['modal-container']} title={title} onCloseRequest={closeMenu} onKeyDown={menuOnKeyDown} onClick={menuOnClick}>\n {renderMenu()}\n </ModalDialog>\n :\n null\n })\n :\n <Popup\n open={menuOpen}\n direction={direction}\n onCloseRequest={closeMenu}\n renderLabel={renderPopupLabel}\n renderMenu={renderMenu}\n />;\n};\n\nMultiselect.propTypes = {\n className: PropTypes.string,\n mode: PropTypes.oneOf(['popup', 'modal']),\n direction: PropTypes.any,\n title: PropTypes.string,\n options: PropTypes.arrayOf(PropTypes.shape({\n value: PropTypes.string,\n title: PropTypes.string,\n label: PropTypes.string\n })),\n selected: PropTypes.arrayOf(PropTypes.string),\n disabled: PropTypes.bool,\n dataset: PropTypes.object,\n renderLabelContent: PropTypes.func,\n renderLabelText: PropTypes.func,\n onOpen: PropTypes.func,\n onClose: PropTypes.func,\n onSelect: PropTypes.func,\n onClick: PropTypes.func\n};\n\nmodule.exports = Multiselect;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Multiselect = require('./Multiselect');\n\nmodule.exports = Multiselect;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst Button = require('stremio/common/Button');\nconst Image = require('stremio/common/Image');\nconst useFullscreen = require('stremio/common/useFullscreen');\nconst usePWA = require('stremio/common/usePWA');\nconst SearchBar = require('./SearchBar');\nconst NavMenu = require('./NavMenu');\nconst styles = require('./styles');\nconst { t } = require('i18next');\n\nconst HorizontalNavBar = React.memo(({ className, route, query, title, backButton, searchBar, addonsButton, fullscreenButton, navMenu, ...props }) => {\n const backButtonOnClick = React.useCallback(() => {\n window.history.back();\n }, []);\n const [fullscreen, requestFullscreen, exitFullscreen] = useFullscreen();\n const [isIOSPWA] = usePWA();\n const renderNavMenuLabel = React.useCallback(({ ref, className, onClick, children, }) => (\n <Button ref={ref} className={classnames(className, styles['button-container'], styles['menu-button-container'])} tabIndex={-1} onClick={onClick}>\n <Icon className={styles['icon']} name={'person-outline'} />\n {children}\n </Button>\n ), []);\n return (\n <nav {...props} className={classnames(className, styles['horizontal-nav-bar-container'])}>\n {\n backButton ?\n <Button className={classnames(styles['button-container'], styles['back-button-container'])} tabIndex={-1} onClick={backButtonOnClick}>\n <Icon className={styles['icon']} name={'chevron-back'} />\n </Button>\n :\n <div className={styles['logo-container']}>\n <Image\n className={styles['logo']}\n src={require('/images/stremio_symbol.png')}\n alt={' '}\n />\n </div>\n }\n {\n typeof title === 'string' && title.length > 0 ?\n <h2 className={styles['title']}>{title}</h2>\n :\n null\n }\n {\n searchBar && route !== 'addons' ?\n <SearchBar className={styles['search-bar']} query={query} active={route === 'search'} />\n :\n null\n }\n <div className={styles['buttons-container']}>\n {\n addonsButton ?\n <Button className={styles['button-container']} href={'#/addons'} title={t('ADDONS')} tabIndex={-1}>\n <Icon className={styles['icon']} name={'addons-outline'} />\n </Button>\n :\n null\n }\n {\n !isIOSPWA && fullscreenButton ?\n <Button className={styles['button-container']} title={fullscreen ? t('EXIT_FULLSCREEN') : t('ENTER_FULLSCREEN')} tabIndex={-1} onClick={fullscreen ? exitFullscreen : requestFullscreen}>\n <Icon className={styles['icon']} name={fullscreen ? 'minimize' : 'maximize'} />\n </Button>\n :\n null\n }\n {\n navMenu ?\n <NavMenu renderLabel={renderNavMenuLabel} />\n :\n null\n }\n </div>\n </nav>\n );\n});\n\nHorizontalNavBar.displayName = 'HorizontalNavBar';\n\nHorizontalNavBar.propTypes = {\n className: PropTypes.string,\n route: PropTypes.string,\n query: PropTypes.string,\n title: PropTypes.string,\n backButton: PropTypes.bool,\n searchBar: PropTypes.bool,\n addonsButton: PropTypes.bool,\n fullscreenButton: PropTypes.bool,\n navMenu: PropTypes.bool\n};\n\nmodule.exports = HorizontalNavBar;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { useRouteFocused } = require('stremio-router');\nconst Popup = require('stremio/common/Popup');\nconst useBinaryState = require('stremio/common/useBinaryState');\nconst NavMenuContent = require('./NavMenuContent');\nconst styles = require('./styles.less');\n\nconst NavMenu = (props) => {\n const routeFocused = useRouteFocused();\n const [menuOpen, , closeMenu, toggleMenu] = useBinaryState(false);\n const popupLabelOnClick = React.useCallback((event) => {\n if (!event.nativeEvent.togglePopupPrevented) {\n toggleMenu();\n }\n }, [toggleMenu]);\n const popupMenuOnClick = React.useCallback((event) => {\n event.nativeEvent.togglePopupPrevented = true;\n }, []);\n const renderLabel = React.useMemo(() => ({ ref, className, children }) => (\n props.renderLabel({\n ref,\n className: classnames(className, { 'active': menuOpen }),\n onClick: popupLabelOnClick,\n children,\n })\n ), [menuOpen, popupLabelOnClick, props.renderLabel]);\n const renderMenu = React.useCallback(() => (\n <NavMenuContent onClick={popupMenuOnClick} />\n ), []);\n React.useEffect(() => {\n if (!routeFocused) {\n closeMenu();\n }\n }, [routeFocused]);\n return (\n <Popup\n open={menuOpen}\n direction={'bottom-left'}\n onCloseRequest={closeMenu}\n renderLabel={renderLabel}\n renderMenu={renderMenu}\n className={styles['nav-menu-popup-label']}\n />\n );\n};\n\nNavMenu.propTypes = {\n renderLabel: PropTypes.func\n};\n\nmodule.exports = NavMenu;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { useTranslation } = require('react-i18next');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { useServices } = require('stremio/services');\nconst Button = require('stremio/common/Button');\nconst useFullscreen = require('stremio/common/useFullscreen');\nconst useProfile = require('stremio/common/useProfile');\nconst usePWA = require('stremio/common/usePWA');\nconst useTorrent = require('stremio/common/useTorrent');\nconst { withCoreSuspender } = require('stremio/common/CoreSuspender');\nconst styles = require('./styles');\n\nconst NavMenuContent = ({ onClick }) => {\n const { t } = useTranslation();\n const { core } = useServices();\n const profile = useProfile();\n const { createTorrentFromMagnet } = useTorrent();\n const [fullscreen, requestFullscreen, exitFullscreen] = useFullscreen();\n const [isIOSPWA, isAndroidPWA] = usePWA();\n const logoutButtonOnClick = React.useCallback(() => {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'Logout'\n }\n });\n }, []);\n const onPlayMagnetLinkClick = React.useCallback(async () => {\n try {\n const clipboardText = await navigator.clipboard.readText();\n createTorrentFromMagnet(clipboardText);\n } catch(e) {\n console.error(e);\n }\n }, []);\n return (\n <div className={classnames(styles['nav-menu-container'], 'animation-fade-in')} onClick={onClick}>\n <div className={styles['user-info-container']}>\n <div\n className={styles['avatar-container']}\n style={{\n backgroundImage: profile.auth === null ?\n `url('${require('/images/anonymous.png')}')`\n :\n profile.auth.user.avatar ?\n `url('${profile.auth.user.avatar}')`\n :\n `url('${require('/images/default_avatar.png')}')`\n }}\n />\n <div className={styles['user-info-details']}>\n <div className={styles['email-container']}>\n <div className={styles['email-label']}>{profile.auth === null ? t('ANONYMOUS_USER') : profile.auth.user.email}</div>\n </div>\n <Button className={styles['logout-button-container']} title={profile.auth === null ? `${t('LOG_IN')} / ${t('SIGN_UP')}` : t('LOG_OUT')} href={profile.auth === null ? '#/intro' : null} onClick={profile.auth !== null ? logoutButtonOnClick : null}>\n <div className={styles['logout-label']}>{profile.auth === null ? `${t('LOG_IN')} / ${t('SIGN_UP')}` : t('LOG_OUT')}</div>\n </Button>\n </div>\n </div>\n {\n !isIOSPWA && !isAndroidPWA ?\n <div className={styles['nav-menu-section']}>\n <Button className={styles['nav-menu-option-container']} title={fullscreen ? t('EXIT_FULLSCREEN') : t('ENTER_FULLSCREEN')} onClick={fullscreen ? exitFullscreen : requestFullscreen}>\n <Icon className={styles['icon']} name={fullscreen ? 'minimize' : 'maximize'} />\n <div className={styles['nav-menu-option-label']}>{fullscreen ? t('EXIT_FULLSCREEN') : t('ENTER_FULLSCREEN')}</div>\n </Button>\n </div>\n :\n null\n }\n <div className={styles['nav-menu-section']}>\n <Button className={styles['nav-menu-option-container']} title={ t('SETTINGS') } href={'#/settings'}>\n <Icon className={styles['icon']} name={'settings'} />\n <div className={styles['nav-menu-option-label']}>{ t('SETTINGS') }</div>\n </Button>\n <Button className={styles['nav-menu-option-container']} title={ t('ADDONS') } href={'#/addons'}>\n <Icon className={styles['icon']} name={'addons-outline'} />\n <div className={styles['nav-menu-option-label']}>{ t('ADDONS') }</div>\n </Button>\n <Button className={styles['nav-menu-option-container']} title={ t('PLAY_URL_MAGNET_LINK') } onClick={onPlayMagnetLinkClick}>\n <Icon className={styles['icon']} name={'magnet-link'} />\n <div className={styles['nav-menu-option-label']}>{ t('PLAY_URL_MAGNET_LINK') }</div>\n </Button>\n <Button className={styles['nav-menu-option-container']} title={ t('HELP_FEEDBACK') } href={'https://stremio.zendesk.com/'} target={'_blank'}>\n <Icon className={styles['icon']} name={'help'} />\n <div className={styles['nav-menu-option-label']}>{ t('HELP_FEEDBACK') }</div>\n </Button>\n </div>\n <div className={styles['nav-menu-section']}>\n <Button className={styles['nav-menu-option-container']} title={ t('TERMS_OF_SERVICE') } href={'https://www.stremio.com/tos'} target={'_blank'}>\n <div className={styles['nav-menu-option-label']}>{ t('TERMS_OF_SERVICE') }</div>\n </Button>\n <Button className={styles['nav-menu-option-container']} title={ t('PRIVACY_POLICY') } href={'https://www.stremio.com/privacy'} target={'_blank'}>\n <div className={styles['nav-menu-option-label']}>{ t('PRIVACY_POLICY') }</div>\n </Button>\n {\n profile.auth !== null ?\n <Button className={styles['nav-menu-option-container']} title={ t('USER_PANEL') } href={'https://www.stremio.com/acc-settings'} target={'_blank'}>\n <div className={styles['nav-menu-option-label']}>{ t('USER_PANEL') }</div>\n </Button>\n :\n null\n }\n </div>\n </div>\n );\n};\n\nNavMenuContent.propTypes = {\n onClick: PropTypes.func\n};\n\nconst NavMenuContentFallback = () => (\n <div className={styles['nav-menu-container']} />\n);\n\nmodule.exports = withCoreSuspender(NavMenuContent, NavMenuContentFallback);\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst NavMenu = require('./NavMenu');\n\nmodule.exports = NavMenu;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst debounce = require('lodash.debounce');\nconst { useTranslation } = require('react-i18next');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { useRouteFocused } = require('stremio-router');\nconst Button = require('stremio/common/Button');\nconst TextInput = require('stremio/common/TextInput');\nconst useTorrent = require('stremio/common/useTorrent');\nconst { withCoreSuspender } = require('stremio/common/CoreSuspender');\nconst useSearchHistory = require('./useSearchHistory');\nconst useLocalSearch = require('./useLocalSearch');\nconst styles = require('./styles');\nconst useBinaryState = require('stremio/common/useBinaryState');\n\nconst SearchBar = React.memo(({ className, query, active }) => {\n const { t } = useTranslation();\n const routeFocused = useRouteFocused();\n const searchHistory = useSearchHistory();\n const localSearch = useLocalSearch();\n const { createTorrentFromMagnet } = useTorrent();\n\n const [historyOpen, openHistory, closeHistory, ] = useBinaryState(query === null ? true : false);\n const [currentQuery, setCurrentQuery] = React.useState(query || '');\n\n const searchInputRef = React.useRef(null);\n const containerRef = React.useRef(null);\n\n const searchBarOnClick = React.useCallback(() => {\n if (!active) {\n window.location = '#/search';\n }\n }, [active]);\n\n const searchHistoryOnClose = React.useCallback((event) => {\n if (historyOpen && containerRef.current && !containerRef.current.contains(event.target)) {\n closeHistory();\n }\n }, [historyOpen]);\n\n React.useEffect(() => {\n document.addEventListener('mousedown', searchHistoryOnClose);\n return () => {\n document.removeEventListener('mousedown', searchHistoryOnClose);\n };\n }, [searchHistoryOnClose]);\n\n const queryInputOnChange = React.useCallback(() => {\n const value = searchInputRef.current.value;\n setCurrentQuery(value);\n openHistory();\n try {\n createTorrentFromMagnet(value);\n } catch (error) {\n console.error('Failed to create torrent from magnet:', error);\n }\n }, [createTorrentFromMagnet]);\n\n const queryInputOnSubmit = React.useCallback((event) => {\n event.preventDefault();\n const searchValue = `/search?search=${event.target.value}`;\n setCurrentQuery(searchValue);\n if (searchInputRef.current && searchValue) {\n window.location.hash = searchValue;\n closeHistory();\n }\n }, []);\n\n const queryInputClear = React.useCallback(() => {\n searchInputRef.current.value = '';\n setCurrentQuery('');\n window.location.hash = '/search';\n }, []);\n\n const updateLocalSearchDebounced = React.useCallback(debounce((query) => {\n localSearch.search(query);\n }, 250), []);\n\n React.useEffect(() => {\n updateLocalSearchDebounced(currentQuery);\n }, [currentQuery]);\n\n React.useEffect(() => {\n if (routeFocused && active) {\n searchInputRef.current.focus();\n }\n }, [routeFocused, active]);\n\n React.useEffect(() => {\n return () => {\n updateLocalSearchDebounced.cancel();\n };\n }, []);\n\n return (\n <div className={classnames(className, styles['search-bar-container'], { 'active': active })} onClick={searchBarOnClick} ref={containerRef}>\n {\n active ?\n <TextInput\n key={query}\n ref={searchInputRef}\n className={styles['search-input']}\n type={'text'}\n placeholder={t('SEARCH_OR_PASTE_LINK')}\n defaultValue={query}\n tabIndex={-1}\n onChange={queryInputOnChange}\n onSubmit={queryInputOnSubmit}\n onClick={openHistory}\n />\n :\n <div className={styles['search-input']}>\n <div className={styles['placeholder-label']}>{ t('SEARCH_OR_PASTE_LINK') }</div>\n </div>\n }\n {\n currentQuery.length > 0 ?\n <Button className={styles['submit-button-container']} onClick={queryInputClear}>\n <Icon className={styles['icon']} name={'close'} />\n </Button>\n :\n <Button className={styles['submit-button-container']}>\n <Icon className={styles['icon']} name={'search'} />\n </Button>\n }\n {\n historyOpen && (searchHistory?.items?.length || localSearch?.items?.length) ?\n <div className={styles['menu-container']}>\n {\n searchHistory?.items?.length > 0 ?\n <div className={styles['items']}>\n <div className={styles['title']}>\n <div className={styles['label']}>{ t('STREMIO_TV_SEARCH_HISTORY_TITLE') }</div>\n <button className={styles['search-history-clear']} onClick={searchHistory.clear}>\n { t('CLEAR_HISTORY') }\n </button>\n </div>\n {\n searchHistory.items.slice(0, 8).map(({ query, deepLinks }, index) => (\n <Button key={index} className={styles['item']} href={deepLinks.search} onClick={closeHistory}>\n {query}\n </Button>\n ))\n }\n </div>\n :\n null\n }\n {\n localSearch?.items?.length ?\n <div className={styles['items']}>\n <div className={styles['title']}>\n <div className={styles['label']}>{ t('SEARCH_SUGGESTIONS') }</div>\n </div>\n {\n localSearch.items.map(({ query, deepLinks }, index) => (\n <Button key={index} className={styles['item']} href={deepLinks.search} onClick={closeHistory}>\n {query}\n </Button>\n ))\n }\n </div>\n :\n null\n }\n </div>\n :\n null\n }\n </div>\n );\n});\n\nSearchBar.displayName = 'SearchBar';\n\nSearchBar.propTypes = {\n className: PropTypes.string,\n query: PropTypes.string,\n active: PropTypes.bool\n};\n\nconst SearchBarFallback = ({ className }) => {\n const { t } = useTranslation();\n return (\n <label className={classnames(className, styles['search-bar-container'])}>\n <div className={styles['search-input']}>\n <div className={styles['placeholder-label']}>{ t('SEARCH_OR_PASTE_LINK') }</div>\n </div>\n <Button className={styles['submit-button-container']} tabIndex={-1}>\n <Icon className={styles['icon']} name={'search'} />\n </Button>\n </label>\n );\n};\n\nSearchBarFallback.propTypes = SearchBar.propTypes;\n\nmodule.exports = withCoreSuspender(SearchBar, SearchBarFallback);\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst SearchBar = require('./SearchBar');\n\nmodule.exports = SearchBar;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useServices } = require('stremio/services');\nconst useModelState = require('stremio/common/useModelState');\n\nconst useLocalSearch = () => {\n const { core } = useServices();\n\n const action = React.useMemo(() => ({\n action: 'Load',\n args: {\n model: 'LocalSearch',\n }\n }), []);\n\n const { items } = useModelState({ model: 'local_search', action });\n\n const search = React.useCallback((query) => {\n core.transport.dispatch({\n action: 'Search',\n args: {\n action: 'Search',\n args: {\n searchQuery: query,\n maxResults: 5\n }\n },\n });\n }, []);\n\n return {\n items,\n search,\n };\n};\n\nmodule.exports = useLocalSearch;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst useModelState = require('stremio/common/useModelState');\nconst { useServices } = require('stremio/services');\n\nconst useSearchHistory = () => {\n const { core } = useServices();\n const { searchHistory: items } = useModelState({ model: 'ctx' });\n\n const clear = React.useCallback(() => {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'ClearSearchHistory',\n },\n });\n }, []);\n\n return {\n items,\n clear,\n };\n};\n\nmodule.exports = useSearchHistory;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst HorizontalNavBar = require('./HorizontalNavBar');\n\nmodule.exports = HorizontalNavBar;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst Button = require('stremio/common/Button');\nconst Image = require('stremio/common/Image');\nconst styles = require('./styles');\n\nconst NavTabButton = ({ className, logo, icon, label, href, selected, onClick }) => {\n const renderLogoFallback = React.useCallback(() => (\n typeof icon === 'string' && icon.length > 0 ?\n <Icon className={styles['icon']} name={icon} />\n :\n null\n ), [icon]);\n const onDoubleClick = () => {\n const scrollableElements = document.querySelectorAll('div');\n\n scrollableElements.forEach((element) => {\n if (element.scrollTop > 0) {\n element.scrollTo({ top: 0, behavior: 'smooth' });\n }\n });\n };\n return (\n <Button className={classnames(className, styles['nav-tab-button-container'], { 'selected': selected })} title={label} tabIndex={-1} href={href} onClick={onClick} onDoubleClick={onDoubleClick}>\n {\n typeof logo === 'string' && logo.length > 0 ?\n <Image\n className={styles['logo']}\n src={logo}\n alt={' '}\n renderFallback={renderLogoFallback}\n />\n :\n typeof icon === 'string' && icon.length > 0 ?\n <Icon className={styles['icon']} name={selected ? icon : `${icon}-outline`} />\n :\n null\n }\n {\n typeof label === 'string' && label.length > 0 ?\n <div className={styles['label']}>{label}</div>\n :\n null\n }\n </Button>\n );\n};\n\nNavTabButton.propTypes = {\n className: PropTypes.string,\n logo: PropTypes.string,\n icon: PropTypes.string,\n label: PropTypes.string,\n href: PropTypes.string,\n selected: PropTypes.bool,\n onClick: PropTypes.func\n};\n\nmodule.exports = NavTabButton;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst NavTabButton = require('./NavTabButton');\n\nmodule.exports = NavTabButton;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { useTranslation } = require('react-i18next');\nconst NavTabButton = require('./NavTabButton');\nconst styles = require('./styles');\n\nconst VerticalNavBar = React.memo(({ className, selected, tabs }) => {\n const { t } = useTranslation();\n return (\n <nav className={classnames(className, styles['vertical-nav-bar-container'])}>\n {\n Array.isArray(tabs) ?\n tabs.map((tab, index) => (\n <NavTabButton\n key={index}\n className={styles['nav-tab-button']}\n selected={tab.id === selected}\n href={tab.href}\n logo={tab.logo}\n icon={tab.icon}\n label={t(tab.label)}\n onClick={tab.onClick}\n />\n ))\n :\n null\n }\n </nav>\n );\n});\n\nVerticalNavBar.displayName = 'VerticalNavBar';\n\nVerticalNavBar.propTypes = {\n className: PropTypes.string,\n selected: PropTypes.string,\n tabs: PropTypes.arrayOf(PropTypes.shape({\n id: PropTypes.string,\n label: PropTypes.string,\n logo: PropTypes.string,\n icon: PropTypes.string,\n href: PropTypes.string,\n onClick: PropTypes.func\n }))\n};\n\nmodule.exports = VerticalNavBar;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst VerticalNavBar = require('./VerticalNavBar');\n\nmodule.exports = VerticalNavBar;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst HorizontalNavBar = require('./HorizontalNavBar');\nconst VerticalNavBar = require('./VerticalNavBar');\n\nmodule.exports = {\n HorizontalNavBar,\n VerticalNavBar\n};\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst Button = require('stremio/common/Button');\nconst styles = require('./styles');\n\nconst PaginationInput = ({ className, label, dataset, onSelect, ...props }) => {\n const prevNextButtonOnClick = React.useCallback((event) => {\n if (typeof onSelect === 'function') {\n onSelect({\n type: 'change-page',\n value: event.currentTarget.dataset.value,\n dataset: dataset,\n reactEvent: event,\n nativeEvent: event.nativeEvent\n });\n }\n }, [dataset, onSelect]);\n return (\n <div {...props} className={classnames(className, styles['pagination-input-container'])} >\n <Button className={styles['prev-button-container']} title={'Previous page'} data-value={'prev'} onClick={prevNextButtonOnClick}>\n <Icon className={styles['icon']} name={'chevron-back'} />\n </Button>\n <div className={styles['label-container']} title={label}>\n <div className={styles['label']}>{label}</div>\n </div>\n <Button className={styles['next-button-container']} title={'Next page'} data-value={'next'} onClick={prevNextButtonOnClick}>\n <Icon className={styles['icon']} name={'chevron-forward'} />\n </Button>\n </div>\n );\n};\n\nPaginationInput.propTypes = {\n className: PropTypes.string,\n label: PropTypes.string,\n dataset: PropTypes.object,\n onSelect: PropTypes.func\n};\n\nmodule.exports = PaginationInput;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst PaginationInput = require('./PaginationInput');\n\nmodule.exports = PaginationInput;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst styles = require('./styles');\n\nconst PlayIconCircleCentered = ({ className }) => {\n return (\n <svg className={className} viewBox={'0 0 100 100'}>\n <circle className={styles['background']} cx={'50'} cy={'50'} r={'50'} />\n <svg className={styles['icon']} x={'0'} y={'25'} width={'100'} height={'50'} viewBox={'0 0 37.14 32'}>\n <path d={'M 9.14,0 37.14,16 9.14,32 Z'} />\n </svg>\n </svg>\n );\n};\n\nPlayIconCircleCentered.propTypes = {\n className: PropTypes.string\n};\n\nmodule.exports = PlayIconCircleCentered;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst PlayIconCircleCentered = require('./PlayIconCircleCentered');\n\nmodule.exports = PlayIconCircleCentered;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst FocusLock = require('react-focus-lock').default;\nconst { useRouteFocused } = require('stremio-router');\nconst styles = require('./styles');\n\nconst getAnchorElement = (element) => {\n if (element === document.documentElement) {\n return element;\n }\n\n const style = window.getComputedStyle(element);\n if (style.overflowY.indexOf('auto') !== -1 || style.overflowY.indexOf('scroll') !== -1) {\n return element;\n }\n\n return getAnchorElement(element.parentElement);\n};\n\nconst Popup = ({ open, direction, renderLabel, renderMenu, dataset, onCloseRequest, ...props }) => {\n const routeFocused = useRouteFocused();\n const labelRef = React.useRef(null);\n const menuRef = React.useRef(null);\n const [autoDirection, setAutoDirection] = React.useState(null);\n const menuOnMouseDown = React.useCallback((event) => {\n event.nativeEvent.closePopupPrevented = true;\n }, []);\n React.useEffect(() => {\n const onCloseEvent = (event) => {\n if (!event.closePopupPrevented && typeof onCloseRequest === 'function') {\n const closeEvent = {\n type: 'close',\n nativeEvent: event,\n dataset: dataset\n };\n switch (event.type) {\n case 'keydown':\n if (event.code === 'Escape') {\n onCloseRequest(closeEvent);\n }\n break;\n case 'mousedown':\n if (event.target !== document.documentElement && !labelRef.current.contains(event.target)) {\n onCloseRequest(closeEvent);\n }\n break;\n case 'pointerdown':\n if (event.target !== document.documentElement && !labelRef.current.contains(event.target)) {\n onCloseRequest(closeEvent);\n }\n break;\n }\n }\n };\n if (routeFocused && open) {\n window.addEventListener('keydown', onCloseEvent);\n window.addEventListener('mousedown', onCloseEvent);\n window.addEventListener('pointerdown', onCloseEvent);\n }\n return () => {\n window.removeEventListener('keydown', onCloseEvent);\n window.removeEventListener('mousedown', onCloseEvent);\n window.removeEventListener('pointerdown', onCloseEvent);\n };\n }, [routeFocused, open, onCloseRequest, dataset]);\n React.useLayoutEffect(() => {\n if (open) {\n const autoDirection = [];\n const anchor = getAnchorElement(labelRef.current);\n const anchorRect = anchor.getBoundingClientRect();\n\n const labelRect = labelRef.current.getBoundingClientRect();\n const menuRect = menuRef.current.getBoundingClientRect();\n const labelPosition = {\n left: labelRect.left - anchorRect.left,\n top: labelRect.top - anchorRect.top,\n right: (anchorRect.width + anchorRect.left) - (labelRect.left + labelRect.width),\n bottom: (anchorRect.height + anchorRect.top) - (labelRect.top + labelRect.height)\n };\n\n if (menuRect.height <= labelPosition.bottom) {\n autoDirection.push('bottom');\n } else if (menuRect.height <= labelPosition.top) {\n autoDirection.push('top');\n } else if (labelPosition.bottom >= labelPosition.top) {\n autoDirection.push('bottom');\n } else {\n autoDirection.push('top');\n }\n\n if (menuRect.width <= (labelPosition.right + labelRect.width)) {\n autoDirection.push('right');\n } else if (menuRect.width <= (labelPosition.left + labelRect.width)) {\n autoDirection.push('left');\n } else if (labelPosition.right > labelPosition.left) {\n autoDirection.push('right');\n } else {\n autoDirection.push('left');\n }\n\n setAutoDirection(autoDirection.join('-'));\n } else {\n setAutoDirection(null);\n }\n }, [open]);\n return renderLabel({\n ...props,\n ref: labelRef,\n className: classnames(styles['label-container'], props.className, { 'active': open }),\n children: open ?\n <FocusLock ref={menuRef} className={classnames(styles['menu-container'], { [styles[`menu-direction-${autoDirection}`]]: !direction }, { [styles[`menu-direction-${direction}`]]: direction })} autoFocus={false} lockProps={{ onMouseDown: menuOnMouseDown }}>\n {renderMenu()}\n </FocusLock>\n :\n null\n });\n};\n\nPopup.propTypes = {\n open: PropTypes.bool,\n direction: PropTypes.oneOf(['top-left', 'bottom-left', 'top-right', 'bottom-right']),\n renderLabel: PropTypes.func.isRequired,\n renderMenu: PropTypes.func.isRequired,\n dataset: PropTypes.object,\n onCloseRequest: PropTypes.func\n};\n\nmodule.exports = Popup;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Popup = require('./Popup');\n\nmodule.exports = Popup;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst TextInput = require('stremio/common/TextInput');\nconst SearchBarPlaceholder = require('./SearchBarPlaceholder');\nconst styles = require('./styles');\n\nconst SearchBar = ({ className, title, value, onChange }) => {\n return (\n <label title={title} className={classnames(className, styles['search-bar-container'])}>\n <TextInput\n className={styles['search-input']}\n type={'text'}\n placeholder={title}\n value={value}\n onChange={onChange}\n />\n <Icon className={styles['icon']} name={'search'} />\n </label>\n );\n};\n\nSearchBar.Placeholder = SearchBarPlaceholder;\n\nSearchBar.propTypes = {\n className: PropTypes.string,\n title: PropTypes.string,\n value: PropTypes.string,\n onChange: PropTypes.func\n};\n\nmodule.exports = SearchBar;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst styles = require('./styles');\n\nconst SearchBarPlaceholder = ({ className, title }) => {\n return (\n <div className={classnames(className, styles['search-bar-container'])}>\n <div className={styles['search-input']}>{title}</div>\n <Icon className={styles['icon']} name={'search'} />\n </div>\n );\n};\n\nSearchBarPlaceholder.propTypes = {\n className: PropTypes.string,\n title: PropTypes.string\n};\n\nmodule.exports = SearchBarPlaceholder;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst SearchBarPlaceholder = require('./SearchBarPlaceholder');\n\nmodule.exports = SearchBarPlaceholder;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst SearchBar = require('./SearchBar');\n\nmodule.exports = SearchBar;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { useTranslation } = require('react-i18next');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { useRouteFocused } = require('stremio-router');\nconst { useServices } = require('stremio/services');\nconst useToast = require('stremio/common/Toast/useToast');\nconst Button = require('stremio/common/Button');\nconst TextInput = require('stremio/common/TextInput');\nconst styles = require('./styles');\n\nconst SharePrompt = ({ className, url }) => {\n const { t } = useTranslation();\n const { core } = useServices();\n const toast = useToast();\n const inputRef = React.useRef(null);\n const routeFocused = useRouteFocused();\n const selectInputContent = React.useCallback(() => {\n if (inputRef.current !== null) {\n inputRef.current.select();\n }\n }, []);\n const copyToClipboard = React.useCallback(() => {\n if (inputRef.current !== null) {\n inputRef.current.select();\n document.execCommand('copy');\n toast.show({\n type: 'success',\n title: 'Copied to clipboard',\n timeout: 3000,\n });\n }\n }, []);\n React.useEffect(() => {\n if (routeFocused && inputRef.current !== null) {\n inputRef.current.select();\n }\n }, [routeFocused]);\n React.useEffect(() => {\n core.transport.analytics({\n event: 'Share',\n args: {\n url: url\n }\n });\n }, [url]);\n return (\n <div className={classnames(className, styles['share-prompt-container'])}>\n <div className={styles['buttons-container']}>\n <Button className={classnames(styles['button-container'], styles['facebook-button'])} title={'Facebook'} href={`https://www.facebook.com/sharer/sharer.php?u=${url}`} target={'_blank'}>\n <Icon className={styles['icon']} name={'facebook'} />\n </Button>\n <Button className={classnames(styles['button-container'], styles['x-button'])} title={'X (Twitter)'} href={`https://twitter.com/intent/tweet?text=${url}`} target={'_blank'}>\n <Icon className={styles['icon']} name={'x'} />\n </Button>\n <Button className={classnames(styles['button-container'], styles['reddit-button'])} title={'Reddit'} href={`https://www.reddit.com/submit?url=${url}`} target={'_blank'}>\n <Icon className={styles['icon']} name={'reddit'} />\n </Button>\n </div>\n <div className={styles['url-container']}>\n <TextInput\n ref={inputRef}\n className={styles['url-text-input']}\n type={'text'}\n readOnly={true}\n defaultValue={url}\n onClick={selectInputContent}\n tabIndex={-1}\n />\n <Button className={styles['copy-button']} title={'Copy to clipboard'} onClick={copyToClipboard}>\n <Icon className={styles['icon']} name={'link'} />\n <div className={styles['label']}>{ t('COPY') }</div>\n </Button>\n </div>\n </div>\n );\n};\n\nSharePrompt.propTypes = {\n className: PropTypes.string,\n url: PropTypes.string\n};\n\nmodule.exports = SharePrompt;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst SharePrompt = require('./SharePrompt');\n\nmodule.exports = SharePrompt;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { useRouteFocused } = require('stremio-router');\nconst useAnimationFrame = require('stremio/common/useAnimationFrame');\nconst useLiveRef = require('stremio/common/useLiveRef');\nconst styles = require('./styles');\n\nconst Slider = ({ className, value, buffered, minimumValue, maximumValue, disabled, onSlide, onComplete }) => {\n const minimumValueRef = useLiveRef(minimumValue !== null && !isNaN(minimumValue) ? minimumValue : 0);\n const maximumValueRef = useLiveRef(maximumValue !== null && !isNaN(maximumValue) ? maximumValue : 100);\n const valueRef = useLiveRef(value !== null && !isNaN(value) ? Math.min(maximumValueRef.current, Math.max(minimumValueRef.current, value)) : 0);\n const bufferedRef = useLiveRef(buffered !== null && !isNaN(buffered) ? Math.min(maximumValueRef.current, Math.max(minimumValueRef.current, buffered)) : 0);\n const onSlideRef = useLiveRef(onSlide);\n const onCompleteRef = useLiveRef(onComplete);\n const sliderContainerRef = React.useRef(null);\n const routeFocused = useRouteFocused();\n const [requestThumbAnimation, cancelThumbAnimation] = useAnimationFrame();\n const calculateValueForMouseX = React.useCallback((mouseX) => {\n if (sliderContainerRef.current === null) {\n return 0;\n }\n\n const { x: sliderX, width: sliderWidth } = sliderContainerRef.current.getBoundingClientRect();\n const thumbStart = Math.min(Math.max(mouseX - sliderX, 0), sliderWidth);\n const value = (thumbStart / sliderWidth) * (maximumValueRef.current - minimumValueRef.current) + minimumValueRef.current;\n return value;\n }, []);\n const retainThumb = React.useCallback(() => {\n window.addEventListener('blur', onBlur);\n window.addEventListener('mouseup', onMouseUp);\n window.addEventListener('mousemove', onMouseMove);\n document.documentElement.className = classnames(document.documentElement.className, styles['active-slider-within']);\n }, []);\n const releaseThumb = React.useCallback(() => {\n cancelThumbAnimation();\n window.removeEventListener('blur', onBlur);\n window.removeEventListener('mouseup', onMouseUp);\n window.removeEventListener('mousemove', onMouseMove);\n const classList = document.documentElement.className.split(' ');\n const classIndex = classList.indexOf(styles['active-slider-within']);\n if (classIndex !== -1) {\n classList.splice(classIndex, 1);\n document.documentElement.className = classnames(classList);\n }\n }, []);\n const onBlur = React.useCallback(() => {\n if (typeof onSlideRef.current === 'function') {\n onSlideRef.current(valueRef.current);\n }\n\n if (typeof onCompleteRef.current === 'function') {\n onCompleteRef.current(valueRef.current);\n }\n\n releaseThumb();\n }, []);\n const onMouseUp = React.useCallback((event) => {\n const value = calculateValueForMouseX(event.clientX);\n if (typeof onCompleteRef.current === 'function') {\n onCompleteRef.current(value);\n }\n\n releaseThumb();\n }, []);\n const onMouseMove = React.useCallback((event) => {\n requestThumbAnimation(() => {\n const value = calculateValueForMouseX(event.clientX);\n if (typeof onSlideRef.current === 'function') {\n onSlideRef.current(value);\n }\n });\n }, []);\n const onMouseDown = React.useCallback((event) => {\n if (event.button !== 0) {\n return;\n }\n\n const value = calculateValueForMouseX(event.clientX);\n if (typeof onSlideRef.current === 'function') {\n onSlideRef.current(value);\n }\n\n retainThumb();\n }, []);\n React.useLayoutEffect(() => {\n if (!routeFocused || disabled) {\n releaseThumb();\n }\n }, [routeFocused, disabled]);\n React.useLayoutEffect(() => {\n return () => {\n releaseThumb();\n };\n }, []);\n const thumbPosition = Math.max(0, Math.min(1, (valueRef.current - minimumValueRef.current) / (maximumValueRef.current - minimumValueRef.current)));\n const bufferedPosition = Math.max(0, Math.min(1, (bufferedRef.current - minimumValueRef.current) / (maximumValueRef.current - minimumValueRef.current)));\n return (\n <div ref={sliderContainerRef} className={classnames(className, styles['slider-container'], { 'disabled': disabled })} onMouseDown={onMouseDown}>\n <div className={styles['layer']}>\n <div className={styles['track']} />\n </div>\n <div className={styles['layer']}>\n <div className={styles['track-before']} style={{ width: `calc(100% * ${bufferedPosition})` }} />\n </div>\n <div className={styles['layer']}>\n <div className={styles['track-after']} style={{ width: `calc(100% * ${thumbPosition})` }} />\n </div>\n <div className={styles['layer']}>\n <div className={styles['thumb']} style={{ marginLeft: `calc(100% * ${thumbPosition})` }} />\n </div>\n </div>\n );\n};\n\nSlider.propTypes = {\n className: PropTypes.string,\n value: PropTypes.number,\n buffered: PropTypes.number,\n minimumValue: PropTypes.number,\n maximumValue: PropTypes.number,\n disabled: PropTypes.bool,\n onSlide: PropTypes.func,\n onComplete: PropTypes.func\n};\n\nmodule.exports = Slider;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Slider = require('./Slider');\n\nmodule.exports = Slider;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useServices } = require('stremio/services');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { useTranslation } = require('react-i18next');\nconst Button = require('stremio/common/Button');\nconst useProfile = require('stremio/common/useProfile');\nconst { withCoreSuspender } = require('stremio/common/CoreSuspender');\nconst styles = require('./styles');\n\nconst StreamingServerWarning = ({ className }) => {\n const { t } = useTranslation();\n const { core } = useServices();\n const profile = useProfile();\n const onLaterClick = React.useCallback(() => {\n const streamingServerWarningDismissed = new Date();\n streamingServerWarningDismissed.setMonth(streamingServerWarningDismissed.getMonth() + 1);\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: {\n ...profile.settings,\n streamingServerWarningDismissed\n }\n }\n });\n }, [profile.settings]);\n const onDismissClick = React.useCallback(() => {\n const streamingServerWarningDismissed = new Date();\n streamingServerWarningDismissed.setFullYear(streamingServerWarningDismissed.getFullYear() + 50);\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: {\n ...profile.settings,\n streamingServerWarningDismissed\n }\n }\n });\n }, [profile.settings]);\n\n if (!isNaN(profile.settings.streamingServerWarningDismissed.getTime()) &&\n profile.settings.streamingServerWarningDismissed.getTime() > Date.now()) {\n return null;\n }\n\n return (\n <div className={classnames(className, styles['warning-container'])}>\n <div className={styles['warning-statement']}>{ t('SETTINGS_SERVER_UNAVAILABLE') }</div>\n <a href=\"https://www.stremio.com/download-service\" target=\"_blank\" rel=\"noreferrer\">\n <Button className={styles['warning-button']} title={t('SERVICE_INSTALL')} tabIndex={-1}>\n <div className={styles['warning-label']}>{ t('SERVICE_INSTALL') }</div>\n </Button>\n </a>\n <Button className={styles['warning-button']} title={t('WARNING_STREAMING_SERVER_LATER')} onClick={onLaterClick} tabIndex={-1}>\n <div className={styles['warning-label']}>{ t('WARNING_STREAMING_SERVER_LATER') }</div>\n </Button>\n <Button className={styles['warning-button']} title={t('DONT_SHOW_AGAIN')} onClick={onDismissClick} tabIndex={-1}>\n <div className={styles['warning-label']}>{ t('DONT_SHOW_AGAIN') }</div>\n </Button>\n </div>\n );\n};\n\nStreamingServerWarning.propTypes = {\n className: PropTypes.string\n};\n\nmodule.exports = withCoreSuspender(StreamingServerWarning);\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst StreamingServerWarning = require('./StreamingServerWarning');\n\nmodule.exports = StreamingServerWarning;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst styles = require('./styles');\n\nconst TextInput = React.forwardRef((props, ref) => {\n const onKeyDown = React.useCallback((event) => {\n if (typeof props.onKeyDown === 'function') {\n props.onKeyDown(event);\n }\n\n if (event.key === 'Enter' && !event.nativeEvent.submitPrevented && typeof props.onSubmit === 'function') {\n props.onSubmit(event);\n }\n }, [props.onKeyDown, props.onSubmit]);\n return (\n <input\n size={1}\n autoCorrect={'off'}\n autoCapitalize={'off'}\n autoComplete={'off'}\n spellCheck={false}\n tabIndex={0}\n {...props}\n ref={ref}\n className={classnames(props.className, styles['text-input'], { 'disabled': props.disabled })}\n onKeyDown={onKeyDown}\n />\n );\n});\n\nTextInput.displayName = 'TextInput';\n\nTextInput.propTypes = {\n className: PropTypes.string,\n disabled: PropTypes.bool,\n onKeyDown: PropTypes.func,\n onSubmit: PropTypes.func\n};\n\nmodule.exports = TextInput;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst TextInput = require('./TextInput');\n\nmodule.exports = TextInput;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\n/* eslint-disable @typescript-eslint/no-empty-function */\n\nconst React = require('react');\n\nconst ToastContext = React.createContext({\n show: () => { },\n clear: () => { }\n});\n\nToastContext.displayName = 'ToastContext';\n\nmodule.exports = ToastContext;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst Button = require('stremio/common/Button');\nconst styles = require('./styles');\n\nconst ToastItem = ({ title, message, dataset, onSelect, onClose, ...props }) => {\n const type = React.useMemo(() => {\n return ['success', 'alert', 'info', 'error'].includes(props.type) ?\n props.type\n :\n 'success';\n }, [props.type]);\n const icon = React.useMemo(() => {\n return typeof props.icon === 'string' ? props.icon :\n type === 'success' ? 'checkmark' :\n type === 'error' ? 'close' :\n type === 'info' ? 'about' :\n null;\n }, [type, props.icon]);\n const toastOnClick = React.useCallback((event) => {\n if (!event.nativeEvent.selectToastPrevented && typeof onSelect === 'function') {\n onSelect({\n type: 'select',\n dataset: dataset,\n reactEvent: event,\n nativeEvent: event.nativeEvent\n });\n }\n if (!event.nativeEvent.closeToastPrevented && typeof onClose === 'function') {\n onClose({\n type: 'close',\n dataset: dataset,\n reactEvent: event,\n nativeEvent: event.nativeEvent\n });\n }\n }, [dataset, onSelect, onClose]);\n const closeButtonOnClick = React.useCallback((event) => {\n event.nativeEvent.selectToastPrevented = true;\n if (typeof onClose === 'function') {\n onClose({\n type: 'close',\n dataset: dataset,\n reactEvent: event,\n nativeEvent: event.nativeEvent\n });\n }\n }, [dataset, onClose]);\n return (\n <Button className={classnames(styles['toast-item-container'], styles[type])} tabIndex={-1} onClick={toastOnClick}>\n {\n typeof icon === 'string' && icon.length > 0 ?\n <div className={styles['icon-container']}>\n <Icon className={styles['icon']} name={icon} />\n </div>\n :\n null\n }\n <div className={styles['info-container']}>\n {\n typeof title === 'string' && title.length > 0 ?\n <div className={styles['title-container']}>{title}</div>\n :\n null\n }\n {\n typeof message === 'string' && message.length > 0 ?\n <div className={styles['message-container']}>{message}</div>\n :\n null\n }\n </div>\n <Button className={styles['close-button-container']} title={'Close'} tabIndex={-1} onClick={closeButtonOnClick}>\n <Icon className={styles['icon']} name={'close'} />\n </Button>\n </Button>\n );\n};\n\nToastItem.propTypes = {\n type: PropTypes.oneOf(['success', 'alert', 'info', 'error']),\n title: PropTypes.string,\n message: PropTypes.string,\n icon: PropTypes.string,\n dataset: PropTypes.object,\n onSelect: PropTypes.func,\n onClose: PropTypes.func\n};\n\nmodule.exports = ToastItem;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst ToastItem = require('./ToastItem');\n\nmodule.exports = ToastItem;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst ToastItem = require('./ToastItem');\nconst ToastContext = require('./ToastContext');\n\nconst DEFAULT_TIMEOUT = 3000;\n\nconst ToastProvider = ({ className, children }) => {\n const [container, setContainer] = React.useState(null);\n const [items, dispatch] = React.useReducer(\n (items, action) => {\n switch (action.type) {\n case 'add':\n return items.concat(action.item);\n case 'remove':\n return items.filter((item) => item.id !== action.id);\n case 'clear':\n return [];\n default:\n return items;\n }\n },\n []\n );\n const itemOnClose = React.useCallback((event) => {\n clearTimeout(event.dataset.id);\n dispatch({ type: 'remove', id: event.dataset.id });\n }, []);\n const toast = React.useMemo(() => {\n const filters = [];\n return {\n addFilter: (filter) => {\n filters.push(filter);\n },\n removeFilter: (filter) => {\n const index = filters.indexOf(filter);\n if (index > -1) {\n filters.splice(index, 1);\n }\n },\n show: (item) => {\n if (filters.some((filter) => filter(item))) {\n return;\n }\n\n const timeout = typeof item.timeout === 'number' && !isNaN(item.timeout) ?\n item.timeout\n :\n DEFAULT_TIMEOUT;\n const id = setTimeout(() => {\n dispatch({ type: 'remove', id });\n }, timeout);\n dispatch({\n type: 'add',\n item: {\n ...item,\n id,\n dataset: {\n ...item.dataset,\n id\n },\n onClose: itemOnClose\n }\n });\n },\n clear: () => {\n dispatch({ type: 'clear' });\n }\n };\n }, []);\n return (\n <ToastContext.Provider value={toast}>\n {container instanceof HTMLElement ? children : null}\n <div ref={setContainer} className={className}>\n {items.map((item, index) => (\n <ToastItem key={index} {...item} />\n ))}\n </div>\n </ToastContext.Provider>\n );\n};\n\nToastProvider.propTypes = {\n className: PropTypes.string,\n children: PropTypes.node\n};\n\nmodule.exports = ToastProvider;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst ToastProvider = require('./ToastProvider');\nconst useToast = require('./useToast');\n\nmodule.exports = {\n ToastProvider,\n useToast\n};\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst ToastContext = require('./ToastContext');\n\nconst useToast = () => {\n return React.useContext(ToastContext);\n};\n\nmodule.exports = useToast;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst useTooltip = require('../useTooltip');\nconst styles = require('./styles');\n\nconst createId = () => (Math.random() + 1).toString(36).substring(7);\n\nconst Tooltip = ({ label, position, margin = 15 }) => {\n const tooltip = useTooltip();\n\n const id = React.useRef(createId());\n const element = React.useRef(null);\n\n const onMouseEnter = () => {\n tooltip.update(id.current, {\n active: true,\n });\n };\n\n const onMouseLeave = () => {\n tooltip.update(id.current, {\n active: false,\n });\n };\n\n React.useEffect(() => {\n tooltip.update(id.current, {\n label,\n });\n }, [label]);\n\n React.useLayoutEffect(() => {\n if (element.current && element.current.parentElement) {\n const parentElement = element.current.parentElement;\n tooltip.add({\n id: id.current,\n label,\n position,\n margin,\n parent: parentElement,\n });\n\n parentElement.addEventListener('mouseenter', onMouseEnter);\n parentElement.addEventListener('mouseleave', onMouseLeave);\n }\n\n return () => {\n if (element.current && element.current.parentElement) {\n const parentElement = element.current.parentElement;\n parentElement.removeEventListener('mouseenter', onMouseEnter);\n parentElement.removeEventListener('mouseleave', onMouseLeave);\n\n tooltip.remove(id.current);\n }\n };\n }, []);\n\n return (\n <div ref={element} className={styles['tooltip-placeholder']} />\n );\n};\n\nTooltip.propTypes = {\n label: PropTypes.string.isRequired,\n position: PropTypes.string.isRequired,\n margin: PropTypes.number,\n};\n\nmodule.exports = Tooltip;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Tooltip = require('./Tooltip');\n\nmodule.exports = Tooltip;\n\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst { createContext } = require('react');\n\nconst TooltipContext = createContext(null);\n\nmodule.exports = TooltipContext;\n\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classNames = require('classnames');\nconst styles = require('./styles');\n\nconst TooltipItem = React.memo(({ className, active, label, position, margin, parent }) => {\n const ref = React.useRef(null);\n\n const [style, setStyle] = React.useState(null);\n\n const onTransitionEnd = React.useCallback(() => {\n if (!active) {\n setStyle(null);\n }\n }, [active]);\n\n React.useEffect(() => {\n if (!ref.current) return setStyle(null);\n\n const tooltipBounds = ref.current.getBoundingClientRect();\n const parentBounds = parent.getBoundingClientRect();\n\n switch (position) {\n case 'top':\n return setStyle({\n top: `${parentBounds.top - tooltipBounds.height - margin}px`,\n left: `${(parentBounds.left + (parentBounds.width / 2)) - (tooltipBounds.width / 2)}px`,\n });\n case 'bottom':\n return setStyle({\n top: `${parentBounds.top + parentBounds.height + margin}px`,\n left: `${(parentBounds.left + (parentBounds.width / 2)) - (tooltipBounds.width / 2)}px`,\n });\n case 'left':\n return setStyle({\n top: `${parentBounds.top + (parentBounds.height / 2) - (tooltipBounds.height / 2)}px`,\n left: `${(parentBounds.left - tooltipBounds.width - margin)}px`,\n });\n case 'right':\n return setStyle({\n top: `${parentBounds.top + (parentBounds.height / 2) - (tooltipBounds.height / 2)}px`,\n left: `${(parentBounds.left + parentBounds.width + margin)}px`,\n });\n }\n }, [active, position, margin, parent, label]);\n\n return (\n <div ref={ref} className={classNames(className, styles['tooltip-item'], { 'active': active })} style={style} onTransitionEnd={onTransitionEnd}>\n { label }\n </div>\n );\n});\n\nTooltipItem.displayName = 'TooltipItem';\n\nTooltipItem.propTypes = {\n className: PropTypes.string,\n active: PropTypes.bool,\n label: PropTypes.string,\n position: PropTypes.string,\n margin: PropTypes.number,\n parent: PropTypes.instanceOf(HTMLElement),\n};\n\nmodule.exports = TooltipItem;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst TooltipItem = require('./TooltipItem');\n\nmodule.exports = TooltipItem;\n\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst TooltipContext = require('./TooltipContext');\nconst TooltipItem = require('./TooltipItem');\n\nconst TooltipProvider = ({ children, className }) => {\n const [tooltips, setTooltips] = React.useState([]);\n\n const add = (options) => {\n const tooltip = {\n ...options,\n active: false,\n };\n\n setTooltips((tooltips) => ([\n ...tooltips,\n tooltip,\n ]));\n };\n\n const remove = (id) => {\n setTooltips((tooltips) => (\n tooltips.filter((tooltip) => tooltip.id !== id)\n ));\n };\n\n const update = (id, state) => {\n setTooltips((tooltips) => (\n tooltips.map((tooltip) => {\n if (tooltip.id === id) {\n tooltip = {\n ...tooltip,\n ...state,\n };\n }\n return tooltip;\n })\n ));\n };\n\n return (\n <TooltipContext.Provider value={{ add, remove, update }}>\n { children }\n <div className={'tooltips-items-container'}>\n {\n tooltips.map(({ id, ...tooltip }) => (\n <TooltipItem\n key={id}\n className={className}\n {...tooltip}\n />\n ))\n }\n </div>\n </TooltipContext.Provider>\n );\n};\n\nTooltipProvider.propTypes = {\n children: PropTypes.node,\n className: PropTypes.string,\n};\n\nmodule.exports = TooltipProvider;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst TooltipProvider = require('./TooltipProvider');\nconst Tooltip = require('./Tooltip');\n\nmodule.exports = {\n TooltipProvider,\n Tooltip,\n};\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst TooltipContext = require('./TooltipContext');\n\nconst useTooltip = () => {\n return React.useContext(TooltipContext);\n};\n\nmodule.exports = useTooltip;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst comparatorWithPriorities = (priorities) => {\n return (a, b) => {\n if (isNaN(priorities[a]) && isNaN(priorities[b])) {\n return a.localeCompare(b);\n } else if (isNaN(priorities[a])) {\n if (priorities[b] === Number.NEGATIVE_INFINITY) {\n return -1;\n } else {\n return 1;\n }\n } else if (isNaN(priorities[b])) {\n if (priorities[a] === Number.NEGATIVE_INFINITY) {\n return 1;\n } else {\n return -1;\n }\n } else {\n return priorities[b] - priorities[a];\n }\n };\n};\n\nmodule.exports = comparatorWithPriorities;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst isChildVisible = (container, element) => {\n const elementTop = element.offsetTop;\n const elementBottom = element.offsetTop + element.clientHeight;\n const containerTop = container.scrollTop;\n const containerBottom = container.scrollTop + container.clientHeight;\n return (elementTop >= containerTop && elementBottom <= containerBottom) ||\n (elementTop < containerTop && containerTop < elementBottom) ||\n (elementTop < containerBottom && containerBottom < elementBottom);\n};\n\nconst getVisibleChildrenRange = (container) => {\n return Array.from(container.children).reduce((result, child, index) => {\n if (isChildVisible(container, child)) {\n if (result === null) {\n result = {\n start: index,\n end: index\n };\n } else {\n result.end = index;\n }\n }\n\n return result;\n }, null);\n};\n\nmodule.exports = getVisibleChildrenRange;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst AddonDetailsModal = require('./AddonDetailsModal');\nconst Button = require('./Button');\nconst Checkbox = require('./Checkbox');\nconst { default: Chips } = require('./Chips');\nconst ColorInput = require('./ColorInput');\nconst ContinueWatchingItem = require('./ContinueWatchingItem');\nconst DelayedRenderer = require('./DelayedRenderer');\nconst Image = require('./Image');\nconst LibItem = require('./LibItem');\nconst MainNavBars = require('./MainNavBars');\nconst MetaItem = require('./MetaItem');\nconst MetaPreview = require('./MetaPreview');\nconst MetaRow = require('./MetaRow');\nconst ModalDialog = require('./ModalDialog');\nconst Multiselect = require('./Multiselect');\nconst { default: MultiselectMenu } = require('./MultiselectMenu');\nconst { HorizontalNavBar, VerticalNavBar } = require('./NavBar');\nconst PaginationInput = require('./PaginationInput');\nconst { PlatformProvider, usePlatform } = require('./Platform');\nconst PlayIconCircleCentered = require('./PlayIconCircleCentered');\nconst Popup = require('./Popup');\nconst SearchBar = require('./SearchBar');\nconst StreamingServerWarning = require('./StreamingServerWarning');\nconst SharePrompt = require('./SharePrompt');\nconst Slider = require('./Slider');\nconst TextInput = require('./TextInput');\nconst { ToastProvider, useToast } = require('./Toast');\nconst { TooltipProvider, Tooltip } = require('./Tooltips');\nconst comparatorWithPriorities = require('./comparatorWithPriorities');\nconst CONSTANTS = require('./CONSTANTS');\nconst { withCoreSuspender, useCoreSuspender } = require('./CoreSuspender');\nconst getVisibleChildrenRange = require('./getVisibleChildrenRange');\nconst interfaceLanguages = require('./interfaceLanguages.json');\nconst languageNames = require('./languageNames.json');\nconst routesRegexp = require('./routesRegexp');\nconst useAnimationFrame = require('./useAnimationFrame');\nconst useBinaryState = require('./useBinaryState');\nconst useFullscreen = require('./useFullscreen');\nconst useLiveRef = require('./useLiveRef');\nconst useModelState = require('./useModelState');\nconst useNotifications = require('./useNotifications');\nconst useOnScrollToBottom = require('./useOnScrollToBottom');\nconst useProfile = require('./useProfile');\nconst useStreamingServer = require('./useStreamingServer');\nconst useTorrent = require('./useTorrent');\nconst useTranslate = require('./useTranslate');\nconst EventModal = require('./EventModal');\n\nmodule.exports = {\n AddonDetailsModal,\n Button,\n Checkbox,\n Chips,\n ColorInput,\n ContinueWatchingItem,\n DelayedRenderer,\n Image,\n LibItem,\n MainNavBars,\n MetaItem,\n MetaPreview,\n MetaRow,\n ModalDialog,\n Multiselect,\n MultiselectMenu,\n HorizontalNavBar,\n VerticalNavBar,\n PaginationInput,\n PlatformProvider,\n usePlatform,\n PlayIconCircleCentered,\n Popup,\n SearchBar,\n StreamingServerWarning,\n SharePrompt,\n Slider,\n TextInput,\n ToastProvider,\n useToast,\n TooltipProvider,\n Tooltip,\n comparatorWithPriorities,\n CONSTANTS,\n withCoreSuspender,\n useCoreSuspender,\n getVisibleChildrenRange,\n interfaceLanguages,\n languageNames,\n routesRegexp,\n useAnimationFrame,\n useBinaryState,\n useFullscreen,\n useLiveRef,\n useModelState,\n useNotifications,\n useOnScrollToBottom,\n useProfile,\n useStreamingServer,\n useTorrent,\n useTranslate,\n EventModal,\n};\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst routesRegexp = {\n intro: {\n regexp: /^\\/intro$/,\n urlParamsNames: []\n },\n board: {\n regexp: /^\\/?$/,\n urlParamsNames: []\n },\n discover: {\n regexp: /^\\/discover(?:\\/([^/]*)\\/([^/]*)\\/([^/]*))?$/,\n urlParamsNames: ['transportUrl', 'type', 'catalogId']\n },\n library: {\n regexp: /^\\/library(?:\\/([^/]*))?$/,\n urlParamsNames: ['type']\n },\n continuewatching: {\n regexp: /^\\/continuewatching(?:\\/([^/]*))?$/,\n urlParamsNames: ['type']\n },\n search: {\n regexp: /^\\/search$/,\n urlParamsNames: []\n },\n metadetails: {\n regexp: /^\\/(?:metadetails|detail)\\/([^/]*)\\/([^/]*)(?:\\/([^/]*))?$/,\n urlParamsNames: ['type', 'id', 'videoId']\n },\n addons: {\n regexp: /^\\/addons(?:\\/([^/]*)(?:\\/([^/]*)\\/([^/]*))?)?$/,\n urlParamsNames: ['type', 'transportUrl', 'catalogId']\n },\n settings: {\n regexp: /^\\/settings$/,\n urlParamsNames: []\n },\n player: {\n regexp: /^\\/player\\/([^/]*)(?:\\/([^/]*)\\/([^/]*)\\/([^/]*)\\/([^/]*)\\/([^/]*))?$/,\n urlParamsNames: ['stream', 'streamTransportUrl', 'metaTransportUrl', 'type', 'id', 'videoId']\n }\n};\n\nmodule.exports = routesRegexp;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\n\nconst useAnimationFrame = () => {\n const animationFrameId = React.useRef(null);\n const cancel = React.useCallback(() => {\n cancelAnimationFrame(animationFrameId.current);\n animationFrameId.current = null;\n }, []);\n const request = React.useCallback((cb) => {\n cancel();\n animationFrameId.current = requestAnimationFrame(() => {\n cb();\n animationFrameId.current = null;\n });\n }, []);\n return [request, cancel];\n};\n\nmodule.exports = useAnimationFrame;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\n\nconst useBinaryState = (initialValue) => {\n const [value, setValue] = React.useState(!!initialValue);\n const on = React.useCallback(() => {\n setValue(true);\n }, []);\n const off = React.useCallback(() => {\n setValue(false);\n }, []);\n const toggle = React.useCallback(() => {\n setValue(!value);\n }, [value]);\n return [value, on, off, toggle];\n};\n\nmodule.exports = useBinaryState;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\n\nconst useFullscreen = () => {\n const [fullscreen, setFullscreen] = React.useState(document.fullscreenElement === document.documentElement);\n const requestFullscreen = React.useCallback(() => {\n document.documentElement.requestFullscreen();\n }, []);\n const exitFullscreen = React.useCallback(() => {\n document.exitFullscreen();\n }, []);\n const toggleFullscreen = React.useCallback(() => {\n if (fullscreen) {\n exitFullscreen();\n } else {\n requestFullscreen();\n }\n }, [fullscreen]);\n React.useEffect(() => {\n const onFullscreenChange = () => {\n setFullscreen(document.fullscreenElement === document.documentElement);\n };\n document.addEventListener('fullscreenchange', onFullscreenChange);\n return () => {\n document.removeEventListener('fullscreenchange', onFullscreenChange);\n };\n }, []);\n return [fullscreen, requestFullscreen, exitFullscreen, toggleFullscreen];\n};\n\nmodule.exports = useFullscreen;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\n\nconst useLiveRef = (value) => {\n const ref = React.useRef();\n ref.current = value;\n return ref;\n};\n\nmodule.exports = useLiveRef;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst throttle = require('lodash.throttle');\nconst isEqual = require('lodash.isequal');\nconst intersection = require('lodash.intersection');\nconst { useCoreSuspender } = require('stremio/common/CoreSuspender');\nconst { useRouteFocused } = require('stremio-router');\nconst { useServices } = require('stremio/services');\n\nconst useModelState = ({ action, ...args }) => {\n const { core } = useServices();\n const routeFocused = useRouteFocused();\n const mountedRef = React.useRef(false);\n const [model, timeout, map, deps] = React.useMemo(() => {\n return [args.model, args.timeout, args.map, args.deps];\n }, []);\n const { getState } = useCoreSuspender();\n const [state, setState] = React.useReducer(\n (prevState, nextState) => {\n return Object.keys(prevState).reduce((result, key) => {\n result[key] = isEqual(prevState[key], nextState[key]) ? prevState[key] : nextState[key];\n return result;\n }, {});\n },\n undefined,\n () => {\n if (typeof map === 'function') {\n return map(getState(model));\n } else {\n return getState(model);\n }\n }\n );\n React.useInsertionEffect(() => {\n if (action) {\n core.transport.dispatch(action, model);\n }\n }, [action]);\n React.useInsertionEffect(() => {\n return () => {\n core.transport.dispatch({ action: 'Unload' }, model);\n };\n }, []);\n React.useInsertionEffect(() => {\n const onNewState = async (models) => {\n if (models.indexOf(model) === -1 && (!Array.isArray(deps) || intersection(deps, models).length === 0)) {\n return;\n }\n\n const state = await core.transport.getState(model);\n if (typeof map === 'function') {\n setState(map(state));\n } else {\n setState(state);\n }\n };\n const onNewStateThrottled = throttle(onNewState, timeout);\n if (routeFocused) {\n core.transport.on('NewState', onNewStateThrottled);\n if (mountedRef.current) {\n onNewState([model]);\n }\n }\n return () => {\n onNewStateThrottled.cancel();\n core.transport.off('NewState', onNewStateThrottled);\n };\n }, [routeFocused]);\n React.useInsertionEffect(() => {\n mountedRef.current = true;\n }, []);\n return state;\n};\n\nmodule.exports = useModelState;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst useModelState = require('stremio/common/useModelState');\n\nconst map = (ctx) => ctx.notifications;\n\nconst useNotifications = () => {\n return useModelState({ model: 'ctx', map });\n};\n\nmodule.exports = useNotifications;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\n\nconst useOnScrollToBottom = (cb, threshold = 0) => {\n const triggeredRef = React.useRef(false);\n const onScroll = React.useCallback((event) => {\n if (event.target.scrollTop + event.target.clientHeight >= event.target.scrollHeight - threshold) {\n if (!triggeredRef.current) {\n triggeredRef.current = true;\n if (typeof cb === 'function') {\n cb(event);\n }\n }\n } else {\n triggeredRef.current = false;\n }\n }, [cb]);\n return onScroll;\n};\n\nmodule.exports = useOnScrollToBottom;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\n\nconst usePWA = () => {\n const isPWA = React.useMemo(() => {\n const isIOSPWA = window.navigator.standalone;\n const isAndroidPWA = window.matchMedia('(display-mode: standalone)').matches;\n return [isIOSPWA, isAndroidPWA];\n }, []);\n return isPWA;\n};\n\nmodule.exports = usePWA;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst useModelState = require('stremio/common/useModelState');\n\nconst map = (ctx) => ({\n ...ctx.profile,\n settings: {\n ...ctx.profile.settings,\n streamingServerWarningDismissed: new Date(\n typeof ctx.profile.settings.streamingServerWarningDismissed === 'string' ?\n ctx.profile.settings.streamingServerWarningDismissed\n :\n NaN\n )\n }\n});\n\nconst useProfile = () => {\n return useModelState({ model: 'ctx', map });\n};\n\nmodule.exports = useProfile;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst useModelState = require('stremio/common/useModelState');\n\nconst useStreamingServer = () => {\n return useModelState({ model: 'streaming_server' });\n};\n\nmodule.exports = useStreamingServer;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst magnet = require('magnet-uri');\nconst { useServices } = require('stremio/services');\nconst useToast = require('stremio/common/Toast/useToast');\nconst useStreamingServer = require('stremio/common/useStreamingServer');\n\nconst useTorrent = () => {\n const { core } = useServices();\n const streamingServer = useStreamingServer();\n const toast = useToast();\n const createTorrentTimeout = React.useRef(null);\n const createTorrentFromMagnet = React.useCallback((text) => {\n const parsed = magnet.decode(text);\n if (parsed && typeof parsed.infoHash === 'string') {\n core.transport.dispatch({\n action: 'StreamingServer',\n args: {\n action: 'CreateTorrent',\n args: text\n }\n });\n clearTimeout(createTorrentTimeout.current);\n createTorrentTimeout.current = setTimeout(() => {\n toast.show({\n type: 'error',\n title: 'It\\'s taking a long time to get metadata from the torrent.',\n timeout: 10000\n });\n }, 10000);\n }\n }, []);\n React.useEffect(() => {\n if (streamingServer.torrent !== null) {\n const [, { type }] = streamingServer.torrent;\n if (type === 'Ready') {\n clearTimeout(createTorrentTimeout.current);\n }\n }\n }, [streamingServer.torrent]);\n React.useEffect(() => {\n return () => clearTimeout(createTorrentTimeout.current);\n }, []);\n return {\n createTorrentFromMagnet\n };\n};\n\nmodule.exports = useTorrent;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst { useCallback } = require('react');\nconst { useTranslation } = require('react-i18next');\n\nconst useTranslate = () => {\n const { t } = useTranslation();\n\n const string = useCallback((key) => t(key), [t]);\n\n const stringWithPrefix = useCallback((value, prefix, fallback = null) => {\n const key = `${prefix}${value}`;\n const defaultValue = fallback ?? value.charAt(0).toUpperCase() + value.slice(1);\n\n return t(key, {\n defaultValue,\n });\n }, [t]);\n\n const catalogTitle = useCallback(({ addon, id, name, type } = {}, withType = true) => {\n if (addon && id && name) {\n const partialKey = `${addon.manifest.id.split('.').join('_')}_${id}`;\n const translatedName = stringWithPrefix(partialKey, 'CATALOG_', name);\n\n if (type && withType) {\n const translatedType = stringWithPrefix(type, 'TYPE_');\n return `${translatedName} - ${translatedType}`;\n }\n\n return translatedName;\n }\n\n return null;\n }, [stringWithPrefix]);\n\n return {\n string,\n stringWithPrefix,\n catalogTitle,\n };\n};\n\nmodule.exports = useTranslate;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst ReactDOM = require('react-dom');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst FocusLock = require('react-focus-lock').default;\nconst { useModalsContainer } = require('../ModalsContainerContext');\n\nconst Modal = React.forwardRef(({ className, autoFocus, disabled, children, ...props }, ref) => {\n const modalsContainer = useModalsContainer();\n return ReactDOM.createPortal(\n <FocusLock ref={ref} className={classnames(className, 'modal-container')} autoFocus={!!autoFocus} disabled={!!disabled} lockProps={props}>\n {children}\n </FocusLock>,\n modalsContainer\n );\n});\n\nModal.displayName = 'Modal';\n\nModal.propTypes = {\n className: PropTypes.string,\n autoFocus: PropTypes.bool,\n disabled: PropTypes.bool,\n children: PropTypes.node\n};\n\nmodule.exports = Modal;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Modal = require('./Modal');\n\nmodule.exports = Modal;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\n\nconst ModalsContainerContext = React.createContext(null);\n\nModalsContainerContext.displayName = 'ModalsContainerContext';\n\nmodule.exports = ModalsContainerContext;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst ModalsContainerContext = require('./ModalsContainerContext');\n\nconst ModalsContainerProvider = ({ children }) => {\n const [container, setContainer] = React.useState(null);\n return (\n <ModalsContainerContext.Provider value={container}>\n {container instanceof HTMLElement ? children : null}\n <div ref={setContainer} className={'modals-container'} />\n </ModalsContainerContext.Provider>\n );\n};\n\nModalsContainerProvider.propTypes = {\n children: PropTypes.node\n};\n\nmodule.exports = ModalsContainerProvider;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst ModalsContainerProvider = require('./ModalsContainerProvider');\nconst useModalsContainer = require('./useModalsContainer');\n\nmodule.exports = {\n ModalsContainerProvider,\n useModalsContainer\n};\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst ModalsContainerContext = require('./ModalsContainerContext');\n\nconst useModalsContainer = () => {\n return React.useContext(ModalsContainerContext);\n};\n\nmodule.exports = useModalsContainer;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst { ModalsContainerProvider } = require('../ModalsContainerContext');\n\nconst Route = ({ children }) => {\n return (\n <div className={'route-container'}>\n <ModalsContainerProvider>\n <div className={'route-content'}>\n {children}\n </div>\n </ModalsContainerProvider>\n </div>\n );\n};\n\nRoute.propTypes = {\n children: PropTypes.node\n};\n\nmodule.exports = Route;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Route = require('./Route');\n\nmodule.exports = Route;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\n\nconst RouteFocusedContext = React.createContext(true);\n\nRouteFocusedContext.displayName = 'RouteFocusedContext';\n\nmodule.exports = RouteFocusedContext;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst RouteFocusedContext = require('./RouteFocusedContext');\nconst useRouteFocused = require('./useRouteFocused');\n\nmodule.exports = {\n RouteFocusedProvider: RouteFocusedContext.Provider,\n useRouteFocused\n};\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst RouteFocusedContext = require('./RouteFocusedContext');\n\nconst useRouteFocused = () => {\n return React.useContext(RouteFocusedContext);\n};\n\nmodule.exports = useRouteFocused;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst ReactIs = require('react-is');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst UrlUtils = require('url');\nconst isEqual = require('lodash.isequal');\nconst { RouteFocusedProvider } = require('../RouteFocusedContext');\nconst Route = require('../Route');\nconst routeConfigForPath = require('./routeConfigForPath');\nconst urlParamsForPath = require('./urlParamsForPath');\n\nconst Router = ({ className, onPathNotMatch, onRouteChange, ...props }) => {\n const viewsConfig = React.useMemo(() => props.viewsConfig, []);\n const [views, setViews] = React.useState(() => {\n return Array(viewsConfig.length).fill(null);\n });\n React.useLayoutEffect(() => {\n const onLocationHashChange = () => {\n const { pathname, query } = UrlUtils.parse(window.location.hash.slice(1));\n const queryParams = new URLSearchParams(typeof query === 'string' ? query : '');\n const routeConfig = routeConfigForPath(viewsConfig, typeof pathname === 'string' ? pathname : '');\n if (routeConfig === null) {\n if (typeof onPathNotMatch === 'function') {\n const component = onPathNotMatch();\n if (ReactIs.isValidElementType(component)) {\n setViews((views) => {\n return views\n .slice(0, viewsConfig.length)\n .concat({\n key: '-1',\n component\n });\n });\n }\n }\n\n return;\n }\n\n const urlParams = urlParamsForPath(routeConfig, typeof pathname === 'string' ? pathname : '');\n const routeViewIndex = viewsConfig.findIndex((vc) => vc.includes(routeConfig));\n const routeIndex = viewsConfig[routeViewIndex].findIndex((rc) => rc === routeConfig);\n const handled = typeof onRouteChange === 'function' && onRouteChange(routeConfig, urlParams, queryParams);\n if (!handled) {\n setViews((views) => {\n return views\n .slice(0, viewsConfig.length)\n .map((view, index) => {\n if (index < routeViewIndex) {\n return view;\n } else if (index === routeViewIndex) {\n return {\n key: `${routeViewIndex}${routeIndex}`,\n component: routeConfig.component,\n urlParams: view !== null && isEqual(view.urlParams, urlParams) ?\n view.urlParams\n :\n urlParams,\n queryParams: view !== null && isEqual(Array.from(view.queryParams.entries()), Array.from(queryParams.entries())) ?\n view.queryParams\n :\n queryParams\n };\n } else {\n return null;\n }\n });\n });\n }\n };\n window.addEventListener('hashchange', onLocationHashChange);\n onLocationHashChange();\n return () => {\n window.removeEventListener('hashchange', onLocationHashChange);\n };\n }, [onPathNotMatch, onRouteChange]);\n return (\n <div className={classnames(className, 'routes-container')}>\n {\n views\n .filter((view) => view !== null)\n .map(({ key, component, urlParams, queryParams }, index, views) => (\n <RouteFocusedProvider key={key} value={index === views.length - 1}>\n <Route>\n {React.createElement(component, { urlParams, queryParams })}\n </Route>\n </RouteFocusedProvider>\n ))\n }\n </div>\n );\n};\n\nRouter.propTypes = {\n className: PropTypes.string,\n onPathNotMatch: PropTypes.func,\n onRouteChange: PropTypes.func,\n viewsConfig: PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.exact({\n regexp: PropTypes.instanceOf(RegExp).isRequired,\n urlParamsNames: PropTypes.arrayOf(PropTypes.string).isRequired,\n component: PropTypes.elementType.isRequired\n }))).isRequired\n};\n\nmodule.exports = Router;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Router = require('./Router');\n\nmodule.exports = Router;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst routeConfigForPath = (viewsConfig, path) => {\n for (const viewConfig of viewsConfig) {\n for (const routeConfig of viewConfig) {\n if (path.match(routeConfig.regexp)) {\n return routeConfig;\n }\n }\n }\n\n return null;\n};\n\nmodule.exports = routeConfigForPath;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst urlParamsForPath = (routeConfig, path) => {\n const matches = path.match(routeConfig.regexp);\n return routeConfig.urlParamsNames.reduce((urlParams, name, index) => {\n if (Array.isArray(matches) && typeof matches[index + 1] === 'string') {\n urlParams[name] = decodeURIComponent(matches[index + 1]);\n } else {\n urlParams[name] = null;\n }\n\n return urlParams;\n }, { path });\n};\n\nmodule.exports = urlParamsForPath;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst { useRouteFocused } = require('./RouteFocusedContext');\nconst { useModalsContainer } = require('./ModalsContainerContext');\nconst Modal = require('./Modal');\nconst Router = require('./Router');\n\nmodule.exports = {\n useRouteFocused,\n useModalsContainer,\n Modal,\n Router\n};\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { useTranslation } = require('react-i18next');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { Button, Image } = require('stremio/common');\nconst styles = require('./styles');\n\nconst Addon = ({ className, id, name, version, logo, description, types, behaviorHints, installed, onToggle, onConfigure, onShare, dataset }) => {\n const { t } = useTranslation();\n const toggleButtonOnClick = React.useCallback((event) => {\n if (typeof onToggle === 'function') {\n onToggle({\n type: 'toggle',\n nativeEvent: event.nativeEvent,\n reactEvent: event,\n dataset: dataset\n });\n }\n }, [onToggle, dataset]);\n const configureButtonOnClick = React.useCallback((event) => {\n if (typeof onConfigure === 'function') {\n onConfigure({\n type: 'configure',\n nativeEvent: event.nativeEvent,\n reactEvent: event,\n dataset: dataset\n });\n }\n }, [onConfigure, dataset]);\n const shareButtonOnClick = React.useCallback((event) => {\n if (typeof onShare === 'function') {\n onShare({\n type: 'share',\n nativeEvent: event.nativeEvent,\n reactEvent: event,\n dataset: dataset\n });\n }\n }, [onShare, dataset]);\n const onKeyDown = React.useCallback((event) => {\n if (event.key === 'Enter' && typeof onToggle === 'function') {\n onToggle({\n type: 'toggle',\n nativeEvent: event.nativeEvent,\n reactEvent: event,\n dataset: dataset\n });\n }\n }, [onToggle, dataset]);\n const renderLogoFallback = React.useCallback(() => (\n <Icon className={styles['icon']} name={'addons'} />\n ), []);\n return (\n <Button className={classnames(className, styles['addon-container'])} onKeyDown={onKeyDown}>\n <div className={styles['logo-container']}>\n <Image\n className={styles['logo']}\n src={logo}\n alt={' '}\n renderFallback={renderLogoFallback}\n />\n </div>\n <div className={styles['info-container']}>\n <div className={styles['name-container']} title={typeof name === 'string' && name.length > 0 ? name : id}>\n {typeof name === 'string' && name.length > 0 ? name : id}\n </div>\n {\n typeof version === 'string' && version.length > 0 ?\n <div className={styles['version-container']} title={`v.${version}`}>v.{version}</div>\n :\n null\n }\n {\n Array.isArray(types) && types.length > 0 ?\n <div className={styles['types-container']}>\n {\n types.length === 1 ?\n types.join('')\n :\n types.slice(0, -1).join(', ') + ' & ' + types[types.length - 1]\n }\n </div>\n :\n null\n }\n {\n typeof description === 'string' && description.length > 0 ?\n <div className={styles['description-container']} title={description}>{description}</div>\n :\n null\n }\n </div>\n <div className={styles['buttons-container']}>\n <div className={styles['action-buttons-container']}>\n {\n !behaviorHints.configurationRequired && behaviorHints.configurable ?\n <Button className={styles['configure-button-container']} title={t('ADDON_CONFIGURE')} tabIndex={-1} onClick={configureButtonOnClick}>\n <Icon className={styles['icon']} name={'settings'} />\n </Button>\n :\n null\n }\n <Button\n className={installed ? styles['uninstall-button-container'] : styles['install-button-container']}\n title={installed ? t('ADDON_UNINSTALL') : behaviorHints.configurationRequired ? t('ADDON_CONFIGURE') : t('ADDON_INSTALL')}\n tabIndex={-1}\n onClick={!installed && behaviorHints.configurationRequired ? configureButtonOnClick : toggleButtonOnClick}\n >\n <div className={styles['label']}>{installed ? t('ADDON_UNINSTALL') : behaviorHints.configurationRequired ? t('ADDON_CONFIGURE') : t('ADDON_INSTALL')}</div>\n </Button>\n </div>\n <Button className={styles['share-button-container']} title={t('SHARE_ADDON')} tabIndex={-1} onClick={shareButtonOnClick}>\n <Icon className={styles['icon']} name={'share'} />\n <div className={styles['label']}>{ t('SHARE_ADDON') }</div>\n </Button>\n </div>\n </Button>\n );\n};\n\nAddon.propTypes = {\n className: PropTypes.string,\n id: PropTypes.string,\n name: PropTypes.string,\n version: PropTypes.string,\n logo: PropTypes.string,\n description: PropTypes.string,\n types: PropTypes.arrayOf(PropTypes.string),\n behaviorHints: PropTypes.shape({\n adult: PropTypes.bool,\n configurable: PropTypes.bool,\n configurationRequired: PropTypes.bool,\n p2p: PropTypes.bool,\n }),\n installed: PropTypes.bool,\n onToggle: PropTypes.func,\n onConfigure: PropTypes.func,\n onShare: PropTypes.func,\n dataset: PropTypes.object\n};\n\nmodule.exports = Addon;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Addon = require('./Addon');\n\nmodule.exports = Addon;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { useTranslation } = require('react-i18next');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { AddonDetailsModal, Button, Image, Multiselect, MainNavBars, TextInput, SearchBar, SharePrompt, ModalDialog, usePlatform, useBinaryState, withCoreSuspender } = require('stremio/common');\nconst Addon = require('./Addon');\nconst useInstalledAddons = require('./useInstalledAddons');\nconst useRemoteAddons = require('./useRemoteAddons');\nconst useAddonDetailsTransportUrl = require('./useAddonDetailsTransportUrl');\nconst useSelectableInputs = require('./useSelectableInputs');\nconst styles = require('./styles');\n\nconst Addons = ({ urlParams, queryParams }) => {\n const { t } = useTranslation();\n const platform = usePlatform();\n const installedAddons = useInstalledAddons(urlParams);\n const remoteAddons = useRemoteAddons(urlParams);\n const [addonDetailsTransportUrl, setAddonDetailsTransportUrl] = useAddonDetailsTransportUrl(urlParams, queryParams);\n const selectInputs = useSelectableInputs(installedAddons, remoteAddons);\n const [filtersModalOpen, openFiltersModal, closeFiltersModal] = useBinaryState(false);\n const [addAddonModalOpen, openAddAddonModal, closeAddAddonModal] = useBinaryState(false);\n const addAddonUrlInputRef = React.useRef(null);\n const addAddonOnSubmit = React.useCallback(() => {\n if (addAddonUrlInputRef.current !== null) {\n setAddonDetailsTransportUrl(addAddonUrlInputRef.current.value);\n }\n }, [setAddonDetailsTransportUrl]);\n const addAddonModalButtons = React.useMemo(() => {\n return [\n {\n className: styles['cancel-button'],\n label: t('BUTTON_CANCEL'),\n props: {\n onClick: closeAddAddonModal\n }\n },\n {\n label: t('ADDON_ADD'),\n props: {\n onClick: addAddonOnSubmit\n }\n }\n ];\n }, [addAddonOnSubmit]);\n const [search, setSearch] = React.useState('');\n const searchInputOnChange = React.useCallback((event) => {\n setSearch(event.currentTarget.value);\n }, []);\n const [sharedAddon, setSharedAddon] = React.useState(null);\n const clearSharedAddon = React.useCallback(() => {\n setSharedAddon(null);\n }, []);\n const onAddonShare = React.useCallback((event) => {\n setSharedAddon(event.dataset.addon);\n }, []);\n const onAddonToggle = React.useCallback((event) => {\n setAddonDetailsTransportUrl(event.dataset.addon.transportUrl);\n }, [setAddonDetailsTransportUrl]);\n const onAddonConfigure = React.useCallback((event) => {\n platform.openExternal(event.dataset.addon.transportUrl.replace('manifest.json', 'configure'));\n }, []);\n const closeAddonDetails = React.useCallback(() => {\n setAddonDetailsTransportUrl(null);\n }, [setAddonDetailsTransportUrl]);\n const searchFilterPredicate = React.useCallback((addon) => {\n return search.length === 0 ||\n (\n (typeof addon.manifest.name === 'string' && addon.manifest.name.toLowerCase().includes(search.toLowerCase())) ||\n (typeof addon.manifest.description === 'string' && addon.manifest.description.toLowerCase().includes(search.toLowerCase()))\n );\n }, [search]);\n const renderLogoFallback = React.useCallback(() => (\n <Icon className={styles['icon']} name={'addons'} />\n ), []);\n React.useLayoutEffect(() => {\n closeAddAddonModal();\n setSearch('');\n clearSharedAddon();\n }, [urlParams, queryParams]);\n return (\n <MainNavBars className={styles['addons-container']} route={'addons'}>\n <div className={styles['addons-content']}>\n <div className={styles['selectable-inputs-container']}>\n {selectInputs.map((selectInput, index) => (\n <Multiselect\n {...selectInput}\n key={index}\n className={styles['select-input-container']}\n />\n ))}\n <div className={styles['spacing']} />\n <Button className={styles['add-button-container']} title={t('ADD_ADDON')} onClick={openAddAddonModal}>\n <Icon className={styles['icon']} name={'add'} />\n <div className={styles['add-button-label']}>{ t('ADD_ADDON') }</div>\n </Button>\n <SearchBar\n className={styles['search-bar']}\n title={t('ADDON_SEARCH')}\n value={search}\n onChange={searchInputOnChange}\n />\n <Button className={styles['filter-button']} title={'All filters'} onClick={openFiltersModal}>\n <Icon className={styles['filter-icon']} name={'filters'} />\n </Button>\n </div>\n {\n installedAddons.selected !== null ?\n installedAddons.selectable.types.length === 0 ?\n <div className={styles['message-container']}>\n No addons ware installed!\n </div>\n :\n installedAddons.catalog.length === 0 ?\n <div className={styles['message-container']}>\n No addons ware installed for that type!\n </div>\n :\n <div className={styles['addons-list-container']}>\n {\n installedAddons.catalog\n .filter(searchFilterPredicate)\n .map((addon, index) => (\n <Addon\n key={index}\n className={classnames(styles['addon'], 'animation-fade-in')}\n id={addon.manifest.id}\n name={addon.manifest.name}\n version={addon.manifest.version}\n logo={addon.manifest.logo}\n description={addon.manifest.description}\n types={addon.manifest.types}\n behaviorHints={addon.manifest.behaviorHints}\n installed={addon.installed}\n onToggle={onAddonToggle}\n onConfigure={onAddonConfigure}\n onShare={onAddonShare}\n dataset={{ addon }}\n />\n ))\n }\n </div>\n :\n remoteAddons.selected !== null ?\n remoteAddons.catalog.content.type === 'Err' ?\n <div className={styles['message-container']}>\n {remoteAddons.catalog.content.content}\n </div>\n :\n remoteAddons.catalog.content.type === 'Loading' ?\n <div className={styles['message-container']}>\n Loading!\n </div>\n :\n <div className={styles['addons-list-container']}>\n {\n remoteAddons.catalog.content.content\n .filter(searchFilterPredicate)\n .map((addon, index) => (\n <Addon\n key={index}\n className={classnames(styles['addon'], 'animation-fade-in')}\n id={addon.manifest.id}\n name={addon.manifest.name}\n version={addon.manifest.version}\n logo={addon.manifest.logo}\n description={addon.manifest.description}\n types={addon.manifest.types}\n behaviorHints={addon.manifest.behaviorHints}\n installed={addon.installed}\n onToggle={onAddonToggle}\n onConfigure={onAddonConfigure}\n onShare={onAddonShare}\n dataset={{ addon }}\n />\n ))\n }\n </div>\n :\n <div className={styles['message-container']}>\n No select\n </div>\n }\n </div>\n {\n filtersModalOpen ?\n <ModalDialog title={'Addons filters'} className={styles['filters-modal']} onCloseRequest={closeFiltersModal}>\n {selectInputs.map((selectInput, index) => (\n <Multiselect\n {...selectInput}\n key={index}\n className={styles['select-input-container']}\n />\n ))}\n </ModalDialog>\n :\n null\n }\n {\n addAddonModalOpen ?\n <ModalDialog\n className={styles['add-addon-modal-container']}\n title={t('ADD_ADDON')}\n buttons={addAddonModalButtons}\n onCloseRequest={closeAddAddonModal}>\n <div className={styles['notice']}>{ t('ADD_ADDON_DESCRIPTION') }</div>\n <TextInput\n ref={addAddonUrlInputRef}\n className={styles['addon-url-input']}\n type={'text'}\n placeholder={t('PASTE_ADDON_URL')}\n autoFocus={true}\n onSubmit={addAddonOnSubmit}\n />\n </ModalDialog>\n :\n null\n }\n {\n sharedAddon !== null ?\n <ModalDialog\n className={styles['share-modal-container']}\n title={t('SHARE_ADDON')}\n onCloseRequest={clearSharedAddon}>\n <div className={styles['title-container']}>\n <Image\n className={styles['logo']}\n src={sharedAddon.manifest.logo}\n alt={' '}\n renderFallback={renderLogoFallback}\n />\n <div className={styles['name-container']}>\n <span className={styles['name']}>{typeof sharedAddon.manifest.name === 'string' && sharedAddon.manifest.name.length > 0 ? sharedAddon.manifest.name : sharedAddon.manifest.id}</span>\n {\n typeof sharedAddon.manifest.version === 'string' && sharedAddon.manifest.version.length > 0 ?\n <span className={styles['version']}>v. {sharedAddon.manifest.version}</span>\n :\n null\n }\n </div>\n </div>\n <SharePrompt\n className={styles['share-prompt-container']}\n url={sharedAddon.transportUrl}\n />\n </ModalDialog>\n :\n null\n }\n {\n typeof addonDetailsTransportUrl === 'string' ?\n <AddonDetailsModal\n transportUrl={addonDetailsTransportUrl}\n onCloseRequest={closeAddonDetails}\n />\n :\n null\n }\n </MainNavBars>\n );\n};\n\nAddons.propTypes = {\n urlParams: PropTypes.shape({\n path: PropTypes.string,\n transportUrl: PropTypes.string,\n catalogId: PropTypes.string,\n type: PropTypes.string\n }),\n queryParams: PropTypes.instanceOf(URLSearchParams)\n};\n\nconst AddonsFallback = () => (\n <MainNavBars className={styles['addons-container']} route={'addons'} />\n);\n\nmodule.exports = withCoreSuspender(Addons, AddonsFallback);\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Addons = require('./Addons');\n\nmodule.exports = Addons;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\n\nconst useAddonDetailsTransportUrl = (urlParams, queryParams) => {\n const transportUrl = React.useMemo(() => {\n return queryParams.get('addon');\n }, [queryParams]);\n const setTransportUrl = React.useCallback((transportUrl) => {\n const nextQueryParams = new URLSearchParams(queryParams);\n if (typeof transportUrl === 'string') {\n nextQueryParams.set('addon', transportUrl);\n } else {\n nextQueryParams.delete('addon');\n }\n\n window.location.replace(`#${urlParams.path}?${nextQueryParams}`);\n }, [urlParams, queryParams]);\n return [transportUrl, setTransportUrl];\n};\n\nmodule.exports = useAddonDetailsTransportUrl;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useModelState } = require('stremio/common');\n\nconst useInstalledAddons = (urlParams) => {\n const action = React.useMemo(() => {\n if (typeof urlParams.transportUrl !== 'string' && typeof urlParams.catalogId !== 'string') {\n return {\n action: 'Load',\n args: {\n model: 'InstalledAddonsWithFilters',\n args: {\n request: {\n type: typeof urlParams.type === 'string' ? urlParams.type : null\n }\n }\n }\n };\n } else {\n return {\n action: 'Unload'\n };\n }\n }, [urlParams]);\n return useModelState({ model: 'installed_addons', action });\n};\n\nmodule.exports = useInstalledAddons;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useModelState } = require('stremio/common');\n\nconst useRemoteAddons = (urlParams) => {\n const action = React.useMemo(() => {\n if (typeof urlParams.type === 'string' && typeof urlParams.transportUrl === 'string' && typeof urlParams.catalogId === 'string') {\n return {\n action: 'Load',\n args: {\n model: 'CatalogWithFilters',\n args: {\n request: {\n base: urlParams.transportUrl,\n path: {\n resource: 'addon_catalog',\n type: urlParams.type,\n id: urlParams.catalogId,\n extra: []\n }\n }\n }\n }\n };\n } else {\n return {\n action: 'Unload'\n };\n }\n }, [urlParams]);\n return useModelState({ model: 'remote_addons', action, deps: ['ctx'] });\n};\n\nmodule.exports = useRemoteAddons;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useTranslate } = require('stremio/common');\n\nconst mapSelectableInputs = (installedAddons, remoteAddons, t) => {\n const catalogSelect = {\n title: t.string('SELECT_CATALOG'),\n options: remoteAddons.selectable.catalogs\n .concat(installedAddons.selectable.catalogs)\n .map(({ name, deepLinks }) => ({\n value: deepLinks.addons,\n label: t.stringWithPrefix(name, 'ADDON_'),\n title: t.stringWithPrefix(name, 'ADDON_'),\n })),\n selected: remoteAddons.selectable.catalogs\n .concat(installedAddons.selectable.catalogs)\n .filter(({ selected }) => selected)\n .map(({ deepLinks }) => deepLinks.addons),\n renderLabelText: remoteAddons.selected !== null ?\n () => {\n const selectableCatalog = remoteAddons.selectable.catalogs\n .find(({ id }) => id === remoteAddons.selected.request.path.id);\n return selectableCatalog ? t.stringWithPrefix(selectableCatalog.name, 'ADDON_') : remoteAddons.selected.request.path.id;\n }\n :\n null,\n onSelect: (event) => {\n window.location = event.value;\n }\n };\n const typeSelect = {\n title: t.string('SELECT_TYPE'),\n options: installedAddons.selected !== null ?\n installedAddons.selectable.types.map(({ type, deepLinks }) => ({\n value: deepLinks.addons,\n label: type !== null ? t.stringWithPrefix(type, 'TYPE_') : t.string('TYPE_ALL')\n }))\n :\n remoteAddons.selectable.types.map(({ type, deepLinks }) => ({\n value: deepLinks.addons,\n label: t.stringWithPrefix(type, 'TYPE_')\n })),\n selected: installedAddons.selected !== null ?\n installedAddons.selectable.types\n .filter(({ selected }) => selected)\n .map(({ deepLinks }) => deepLinks.addons)\n :\n remoteAddons.selectable.types\n .filter(({ selected }) => selected)\n .map(({ deepLinks }) => deepLinks.addons),\n renderLabelText: () => {\n return installedAddons.selected !== null ?\n installedAddons.selected.request.type === null ?\n t.string('TYPE_ALL')\n :\n t.stringWithPrefix(installedAddons.selected.request.type, 'TYPE_')\n :\n remoteAddons.selected !== null ?\n t.stringWithPrefix(remoteAddons.selected.request.path.type, 'TYPE_')\n :\n typeSelect.title;\n },\n onSelect: (event) => {\n window.location = event.value;\n }\n };\n return [catalogSelect, typeSelect];\n};\n\nconst useSelectableInputs = (installedAddons, remoteAddons) => {\n const t = useTranslate();\n const selectableInputs = React.useMemo(() => {\n return mapSelectableInputs(installedAddons, remoteAddons, t);\n }, [installedAddons, remoteAddons]);\n return selectableInputs;\n};\n\nmodule.exports = useSelectableInputs;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst classnames = require('classnames');\nconst debounce = require('lodash.debounce');\nconst { useTranslation } = require('react-i18next');\nconst { MainNavBars, MetaRow, ContinueWatchingItem, MetaItem, StreamingServerWarning, useStreamingServer, useNotifications, withCoreSuspender, getVisibleChildrenRange, EventModal } = require('stremio/common');\nconst useBoard = require('./useBoard');\nconst useContinueWatchingPreview = require('./useContinueWatchingPreview');\nconst styles = require('./styles');\n\nconst THRESHOLD = 5;\n\nconst Board = () => {\n const { t } = useTranslation();\n const streamingServer = useStreamingServer();\n const continueWatchingPreview = useContinueWatchingPreview();\n const [board, loadBoardRows] = useBoard();\n const notifications = useNotifications();\n const boardCatalogsOffset = continueWatchingPreview.items.length > 0 ? 1 : 0;\n const scrollContainerRef = React.useRef();\n const onVisibleRangeChange = React.useCallback(() => {\n const range = getVisibleChildrenRange(scrollContainerRef.current);\n if (range === null) {\n return;\n }\n\n const start = Math.max(0, range.start - boardCatalogsOffset - THRESHOLD);\n const end = range.end - boardCatalogsOffset + THRESHOLD;\n if (end < start) {\n return;\n }\n\n loadBoardRows({ start, end });\n }, [boardCatalogsOffset]);\n const onScroll = React.useCallback(debounce(onVisibleRangeChange, 250), [onVisibleRangeChange]);\n React.useLayoutEffect(() => {\n onVisibleRangeChange();\n }, [board.catalogs, onVisibleRangeChange]);\n return (\n <div className={styles['board-container']}>\n <EventModal />\n <MainNavBars className={styles['board-content-container']} route={'board'}>\n <div ref={scrollContainerRef} className={styles['board-content']} onScroll={onScroll}>\n {\n continueWatchingPreview.items.length > 0 ?\n <MetaRow\n className={classnames(styles['board-row'], styles['continue-watching-row'], 'animation-fade-in')}\n title={t('BOARD_CONTINUE_WATCHING')}\n catalog={continueWatchingPreview}\n itemComponent={ContinueWatchingItem}\n notifications={notifications}\n />\n :\n null\n }\n {board.catalogs.map((catalog, index) => {\n switch (catalog.content?.type) {\n case 'Ready': {\n return (\n <MetaRow\n key={index}\n className={classnames(styles['board-row'], styles[`board-row-${catalog.content.content[0].posterShape}`], 'animation-fade-in')}\n catalog={catalog}\n itemComponent={MetaItem}\n />\n );\n }\n case 'Err': {\n return (\n <MetaRow\n key={index}\n className={classnames(styles['board-row'], 'animation-fade-in')}\n catalog={catalog}\n message={catalog.content.content}\n />\n );\n }\n default: {\n return (\n <MetaRow.Placeholder\n key={index}\n className={classnames(styles['board-row'], styles['board-row-poster'], 'animation-fade-in')}\n catalog={catalog}\n />\n );\n }\n }\n })}\n </div>\n </MainNavBars>\n {\n streamingServer.settings !== null && streamingServer.settings.type === 'Err' ?\n <StreamingServerWarning className={styles['board-warning-container']} />\n :\n null\n }\n </div>\n );\n};\n\nconst BoardFallback = () => (\n <div className={styles['board-container']}>\n <MainNavBars className={styles['board-content-container']} route={'board'} />\n </div>\n);\n\nmodule.exports = withCoreSuspender(Board, BoardFallback);\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Board = require('./Board');\n\nmodule.exports = Board;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useServices } = require('stremio/services');\nconst { useModelState } = require('stremio/common');\n\nconst useBoard = () => {\n const { core } = useServices();\n const action = React.useMemo(() => ({\n action: 'Load',\n args: {\n model: 'CatalogsWithExtra',\n args: { extra: [] }\n }\n }), []);\n const loadRange = React.useCallback((range) => {\n core.transport.dispatch({\n action: 'CatalogsWithExtra',\n args: {\n action: 'LoadRange',\n args: range\n }\n }, 'board');\n }, []);\n const board = useModelState({ model: 'board', action });\n return [board, loadRange];\n};\n\nmodule.exports = useBoard;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst { useModelState } = require('stremio/common');\n\nconst useContinueWatchingPreview = () => {\n return useModelState({ model: 'continue_watching_preview' });\n};\n\nmodule.exports = useContinueWatchingPreview;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { useServices } = require('stremio/services');\nconst { AddonDetailsModal, DelayedRenderer, Button, MainNavBars, MetaItem, Image, MetaPreview, Multiselect, ModalDialog, CONSTANTS, useBinaryState, useOnScrollToBottom, withCoreSuspender } = require('stremio/common');\nconst useDiscover = require('./useDiscover');\nconst useSelectableInputs = require('./useSelectableInputs');\nconst styles = require('./styles');\n\nconst SCROLL_TO_BOTTOM_TRESHOLD = 400;\n\nconst Discover = ({ urlParams, queryParams }) => {\n const { core } = useServices();\n const [discover, loadNextPage] = useDiscover(urlParams, queryParams);\n const [selectInputs, hasNextPage] = useSelectableInputs(discover);\n const [inputsModalOpen, openInputsModal, closeInputsModal] = useBinaryState(false);\n const [addonModalOpen, openAddonModal, closeAddonModal] = useBinaryState(false);\n const [selectedMetaItemIndex, setSelectedMetaItemIndex] = React.useState(0);\n const metasContainerRef = React.useRef();\n React.useEffect(() => {\n if (discover.catalog?.content.type === 'Loading') {\n metasContainerRef.current.scrollTop = 0;\n }\n }, [discover.catalog]);\n const selectedMetaItem = React.useMemo(() => {\n return discover.catalog !== null &&\n discover.catalog.content.type === 'Ready' &&\n discover.catalog.content.content[selectedMetaItemIndex] ?\n discover.catalog.content.content[selectedMetaItemIndex]\n :\n null;\n }, [discover.catalog, selectedMetaItemIndex]);\n const addToLibrary = React.useCallback(() => {\n if (selectedMetaItem === null) {\n return;\n }\n\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'AddToLibrary',\n args: selectedMetaItem\n }\n });\n }, [selectedMetaItem]);\n const removeFromLibrary = React.useCallback(() => {\n if (selectedMetaItem === null) {\n return;\n }\n\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'RemoveFromLibrary',\n args: selectedMetaItem.id\n }\n });\n }, [selectedMetaItem]);\n const metaItemsOnFocusCapture = React.useCallback((event) => {\n if (event.target.dataset.index !== null && !isNaN(event.target.dataset.index)) {\n setSelectedMetaItemIndex(parseInt(event.target.dataset.index, 10));\n }\n }, []);\n const metaItemOnClick = React.useCallback((event) => {\n if (event.currentTarget.dataset.index !== selectedMetaItemIndex.toString()) {\n event.preventDefault();\n event.currentTarget.focus();\n }\n }, [selectedMetaItemIndex]);\n const onScrollToBottom = React.useCallback(() => {\n if (hasNextPage) {\n loadNextPage();\n }\n }, [hasNextPage, loadNextPage]);\n const onScroll = useOnScrollToBottom(onScrollToBottom, SCROLL_TO_BOTTOM_TRESHOLD);\n React.useEffect(() => {\n closeInputsModal();\n closeAddonModal();\n setSelectedMetaItemIndex(0);\n }, [discover.selected]);\n return (\n <MainNavBars className={styles['discover-container']} route={'discover'}>\n <div className={styles['discover-content']}>\n <div className={styles['catalog-container']}>\n <div className={styles['selectable-inputs-container']}>\n {selectInputs.map(({ title, options, selected, renderLabelText, onSelect }, index) => (\n <Multiselect\n key={index}\n className={styles['select-input']}\n title={title}\n options={options}\n selected={selected}\n renderLabelText={renderLabelText}\n onSelect={onSelect}\n />\n ))}\n <Button className={styles['filter-container']} title={'All filters'} onClick={openInputsModal}>\n <Icon className={styles['filter-icon']} name={'filters'} />\n </Button>\n </div>\n {\n discover.catalog !== null && !discover.catalog.installed ?\n <div className={styles['missing-addon-warning-container']}>\n <div className={styles['warning-label']}>Addon is not installed. Install now?</div>\n <Button className={styles['install-button']} title={'Install addon'} onClick={openAddonModal}>\n <div className={styles['label']}>Install</div>\n </Button>\n </div>\n :\n null\n }\n {\n discover.catalog === null ?\n <DelayedRenderer delay={500}>\n <div className={styles['message-container']}>\n <Image className={styles['image']} src={require('/images/empty.png')} alt={' '} />\n <div className={styles['message-label']}>No catalog selected!</div>\n </div>\n </DelayedRenderer>\n :\n discover.catalog.content.type === 'Err' ?\n <div className={styles['message-container']}>\n <Image className={styles['image']} src={require('/images/empty.png')} alt={' '} />\n <div className={styles['message-label']}>{discover.catalog.content.content}</div>\n </div>\n :\n discover.catalog.content.type === 'Loading' ?\n <div ref={metasContainerRef} className={classnames(styles['meta-items-container'], 'animation-fade-in')}>\n {Array(CONSTANTS.CATALOG_PAGE_SIZE).fill(null).map((_, index) => (\n <div key={index} className={styles['meta-item-placeholder']}>\n <div className={styles['poster-container']} />\n <div className={styles['title-bar-container']}>\n <div className={styles['title-label']} />\n </div>\n </div>\n ))}\n </div>\n :\n <div ref={metasContainerRef} className={classnames(styles['meta-items-container'], 'animation-fade-in')} onScroll={onScroll} onFocusCapture={metaItemsOnFocusCapture}>\n {discover.catalog.content.content.map((metaItem, index) => (\n <MetaItem\n key={index}\n className={classnames({ 'selected': selectedMetaItemIndex === index })}\n type={metaItem.type}\n name={metaItem.name}\n poster={metaItem.poster}\n posterShape={metaItem.posterShape}\n playname={selectedMetaItemIndex === index}\n deepLinks={metaItem.deepLinks}\n watched={metaItem.watched}\n data-index={index}\n onClick={metaItemOnClick}\n />\n ))}\n </div>\n }\n </div>\n {\n selectedMetaItem !== null ?\n <MetaPreview\n className={styles['meta-preview-container']}\n compact={true}\n name={selectedMetaItem.name}\n logo={selectedMetaItem.logo}\n background={selectedMetaItem.poster}\n runtime={selectedMetaItem.runtime}\n releaseInfo={selectedMetaItem.releaseInfo}\n released={selectedMetaItem.released}\n description={selectedMetaItem.description}\n links={selectedMetaItem.links}\n deepLinks={selectedMetaItem.deepLinks}\n trailerStreams={selectedMetaItem.trailerStreams}\n inLibrary={selectedMetaItem.inLibrary}\n toggleInLibrary={selectedMetaItem.inLibrary ? removeFromLibrary : addToLibrary}\n />\n :\n discover.catalog !== null && discover.catalog.content.type === 'Loading' ?\n <div className={styles['meta-preview-container']} />\n :\n null\n }\n </div>\n {\n inputsModalOpen ?\n <ModalDialog title={'Catalog filters'} className={styles['selectable-inputs-modal']} onCloseRequest={closeInputsModal}>\n {selectInputs.map(({ title, options, selected, renderLabelText, onSelect }, index) => (\n <Multiselect\n key={index}\n className={styles['select-input']}\n title={title}\n options={options}\n selected={selected}\n renderLabelText={renderLabelText}\n onSelect={onSelect}\n />\n ))}\n </ModalDialog>\n :\n null\n }\n {\n addonModalOpen && discover.selected !== null ?\n <AddonDetailsModal transportUrl={discover.selected.request.base} onCloseRequest={closeAddonModal} />\n :\n null\n }\n </MainNavBars>\n );\n};\n\nDiscover.propTypes = {\n urlParams: PropTypes.shape({\n transportUrl: PropTypes.string,\n type: PropTypes.string,\n catalogId: PropTypes.string\n }),\n queryParams: PropTypes.instanceOf(URLSearchParams)\n};\n\nconst DiscoverFallback = () => (\n <MainNavBars className={styles['discover-container']} route={'discover'} />\n);\n\nmodule.exports = withCoreSuspender(Discover, DiscoverFallback);\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Discover = require('./Discover');\n\nmodule.exports = Discover;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst UrlUtils = require('url');\nconst { useServices } = require('stremio/services');\nconst { useModelState } = require('stremio/common');\n\nconst map = (discover) => ({\n ...discover,\n catalog: discover.catalog !== null && discover.catalog.content.type === 'Ready' ?\n {\n ...discover.catalog,\n content: {\n ...discover.catalog.content,\n content: discover.catalog.content.content.map((metaItem) => ({\n ...metaItem,\n released: new Date(typeof metaItem.released === 'string' ? metaItem.released : NaN),\n }))\n }\n }\n :\n discover.catalog\n});\n\nconst useDiscover = (urlParams, queryParams) => {\n const { core } = useServices();\n const loadNextPage = React.useCallback(() => {\n core.transport.dispatch({\n action: 'CatalogWithFilters',\n args: {\n action: 'LoadNextPage'\n }\n }, 'discover');\n }, []);\n const action = React.useMemo(() => {\n if (typeof urlParams.transportUrl === 'string' && typeof urlParams.type === 'string' && typeof urlParams.catalogId === 'string') {\n const { hostname } = UrlUtils.parse(urlParams.transportUrl);\n if (typeof hostname === 'string' && hostname.length > 0) {\n return {\n action: 'Load',\n args: {\n model: 'CatalogWithFilters',\n args: {\n request: {\n base: urlParams.transportUrl,\n path: {\n resource: 'catalog',\n type: urlParams.type,\n id: urlParams.catalogId,\n extra: Array.from(queryParams.entries())\n }\n }\n }\n }\n };\n }\n } else {\n return {\n action: 'Load',\n args: {\n model: 'CatalogWithFilters',\n args: null\n }\n };\n }\n\n return {\n action: 'Unload'\n };\n }, [urlParams, queryParams]);\n const discover = useModelState({ model: 'discover', action, map, deps: ['ctx'] });\n return [discover, loadNextPage];\n};\n\nmodule.exports = useDiscover;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useTranslate } = require('stremio/common');\n\nconst mapSelectableInputs = (discover, t) => {\n const typeSelect = {\n title: t.string('SELECT_TYPE'),\n options: discover.selectable.types\n .map(({ type, deepLinks }) => ({\n value: deepLinks.discover,\n label: t.stringWithPrefix(type, 'TYPE_')\n })),\n selected: discover.selectable.types\n .filter(({ selected }) => selected)\n .map(({ deepLinks }) => deepLinks.discover),\n renderLabelText: discover.selected !== null ?\n () => t.stringWithPrefix(discover.selected.request.path.type, 'TYPE_')\n :\n null,\n onSelect: (event) => {\n window.location = event.value;\n }\n };\n const catalogSelect = {\n title: t.string('SELECT_CATALOG'),\n options: discover.selectable.catalogs\n .map(({ id, name, addon, deepLinks }) => ({\n value: deepLinks.discover,\n label: t.catalogTitle({ addon, id, name }),\n title: `${name} (${addon.manifest.name})`\n })),\n selected: discover.selectable.catalogs\n .filter(({ selected }) => selected)\n .map(({ deepLinks }) => deepLinks.discover),\n renderLabelText: discover.selected !== null ?\n () => {\n const selectableCatalog = discover.selectable.catalogs\n .find(({ id }) => id === discover.selected.request.path.id);\n return selectableCatalog ? t.catalogTitle(selectableCatalog, false) : discover.selected.request.path.id;\n }\n :\n null,\n onSelect: (event) => {\n window.location = event.value;\n }\n };\n const extraSelects = discover.selectable.extra.map(({ name, isRequired, options }) => ({\n title: t.stringWithPrefix(name, 'SELECT_'),\n isRequired: isRequired,\n options: options.map(({ value, deepLinks }) => ({\n label: typeof value === 'string' ? t.stringWithPrefix(value) : t.string('NONE'),\n value: JSON.stringify({\n href: deepLinks.discover,\n value\n })\n })),\n selected: options\n .filter(({ selected }) => selected)\n .map(({ value, deepLinks }) => JSON.stringify({\n href: deepLinks.discover,\n value\n })),\n renderLabelText: options.some(({ selected, value }) => selected && value === null) ?\n () => t.stringWithPrefix(name, 'SELECT_')\n :\n null,\n onSelect: (event) => {\n const { href } = JSON.parse(event.value);\n window.location = href;\n }\n }));\n return [[typeSelect, catalogSelect, ...extraSelects], discover.selectable.nextPage];\n};\n\nconst useSelectableInputs = (discover) => {\n const t = useTranslate();\n const selectableInputs = React.useMemo(() => {\n return mapSelectableInputs(discover, t);\n }, [discover.selected, discover.selectable]);\n return selectableInputs;\n};\n\nmodule.exports = useSelectableInputs;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { Button, Checkbox } = require('stremio/common');\nconst styles = require('./styles');\n\nconst ConsentCheckbox = React.forwardRef(({ className, label, link, href, onToggle, ...props }, ref) => {\n const checkboxOnClick = React.useCallback((event) => {\n if (typeof props.onClick === 'function') {\n props.onClick(event);\n }\n\n if (!event.nativeEvent.togglePrevented && typeof onToggle === 'function') {\n onToggle({\n type: 'toggle',\n reactEvent: event,\n nativeEvent: event.nativeEvent\n });\n }\n }, [onToggle, props.onClick]);\n const linkOnClick = React.useCallback((event) => {\n event.nativeEvent.togglePrevented = true;\n }, []);\n return (\n <Checkbox {...props} ref={ref} className={classnames(className, styles['consent-checkbox-container'])} onClick={checkboxOnClick}>\n <div className={styles['label']}>\n {label}\n {' '}\n {\n typeof link === 'string' && link.length > 0 && typeof href === 'string' && href.length > 0 ?\n <Button className={styles['link']} href={href} target={'_blank'} tabIndex={-1} onClick={linkOnClick}>\n {link}\n </Button>\n :\n null\n }\n </div>\n </Checkbox>\n );\n});\n\nConsentCheckbox.displayName = 'ConsentCheckbox';\n\nConsentCheckbox.propTypes = {\n className: PropTypes.string,\n checked: PropTypes.bool,\n label: PropTypes.string,\n link: PropTypes.string,\n href: PropTypes.string,\n onToggle: PropTypes.func,\n onClick: PropTypes.func\n};\n\nmodule.exports = ConsentCheckbox;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst ConsentCheckbox = require('./ConsentCheckbox');\n\nmodule.exports = ConsentCheckbox;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst { TextInput } = require('stremio/common');\n\nconst CredentialsTextInput = React.forwardRef((props, ref) => {\n const onKeyDown = React.useCallback((event) => {\n if (typeof props.onKeyDown === 'function') {\n props.onKeyDown(event);\n }\n\n if (!event.nativeEvent.navigationPrevented) {\n if (['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'].includes(event.key)) {\n event.nativeEvent.spatialNavigationPrevented = true;\n }\n\n if (!event.shiftKey) {\n if (event.key === 'ArrowDown') {\n window.navigate('down');\n } else if (event.key === 'ArrowUp') {\n window.navigate('up');\n }\n }\n }\n }, [props.onKeyDown]);\n return (\n <TextInput {...props} ref={ref} onKeyDown={onKeyDown} />\n );\n});\n\nCredentialsTextInput.displayName = 'CredentialsTextInput';\n\nCredentialsTextInput.propTypes = {\n onKeyDown: PropTypes.func\n};\n\nmodule.exports = CredentialsTextInput;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst CredentialsTextInput = require('./CredentialsTextInput');\n\nmodule.exports = CredentialsTextInput;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useTranslation } = require('react-i18next');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { Modal, useRouteFocused } = require('stremio-router');\nconst { useServices } = require('stremio/services');\nconst { Button, Image, useBinaryState } = require('stremio/common');\nconst CredentialsTextInput = require('./CredentialsTextInput');\nconst ConsentCheckbox = require('./ConsentCheckbox');\nconst PasswordResetModal = require('./PasswordResetModal');\nconst useFacebookLogin = require('./useFacebookLogin');\nconst styles = require('./styles');\n\nconst SIGNUP_FORM = 'signup';\nconst LOGIN_FORM = 'login';\n\nconst Intro = ({ queryParams }) => {\n const { core } = useServices();\n const { t } = useTranslation();\n const routeFocused = useRouteFocused();\n const [startFacebookLogin, stopFacebookLogin] = useFacebookLogin();\n const emailRef = React.useRef(null);\n const passwordRef = React.useRef(null);\n const confirmPasswordRef = React.useRef(null);\n const termsRef = React.useRef(null);\n const privacyPolicyRef = React.useRef(null);\n const marketingRef = React.useRef(null);\n const errorRef = React.useRef(null);\n const [passwordRestModalOpen, openPasswordRestModal, closePasswordResetModal] = useBinaryState(false);\n const [loaderModalOpen, openLoaderModal, closeLoaderModal] = useBinaryState(false);\n const [state, dispatch] = React.useReducer(\n (state, action) => {\n switch (action.type) {\n case 'set-form':\n if (state.form !== action.form) {\n return {\n form: action.form,\n email: '',\n password: '',\n confirmPassword: '',\n termsAccepted: false,\n privacyPolicyAccepted: false,\n marketingAccepted: false,\n error: ''\n };\n }\n return state;\n case 'change-credentials':\n return {\n ...state,\n error: '',\n [action.name]: action.value\n };\n case 'toggle-checkbox':\n return {\n ...state,\n error: '',\n [action.name]: !state[action.name]\n };\n case 'error':\n return {\n ...state,\n error: action.error\n };\n default:\n return state;\n }\n },\n {\n form: [LOGIN_FORM, SIGNUP_FORM].includes(queryParams.get('form')) ? queryParams.get('form') : SIGNUP_FORM,\n email: '',\n password: '',\n confirmPassword: '',\n termsAccepted: false,\n privacyPolicyAccepted: false,\n marketingAccepted: false,\n error: ''\n }\n );\n const loginWithFacebook = React.useCallback(() => {\n openLoaderModal();\n startFacebookLogin()\n .then(({ email, password }) => {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'Authenticate',\n args: {\n type: 'Login',\n email,\n password,\n facebook: true\n }\n }\n });\n })\n .catch((error) => {\n closeLoaderModal();\n dispatch({ type: 'error', error: error.message });\n });\n }, []);\n const cancelLoginWithFacebook = React.useCallback(() => {\n stopFacebookLogin();\n closeLoaderModal();\n }, []);\n const loginWithEmail = React.useCallback(() => {\n if (typeof state.email !== 'string' || state.email.length === 0 || !emailRef.current.validity.valid) {\n dispatch({ type: 'error', error: 'Invalid email' });\n return;\n }\n if (typeof state.password !== 'string' || state.password.length === 0) {\n dispatch({ type: 'error', error: 'Invalid password' });\n return;\n }\n openLoaderModal();\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'Authenticate',\n args: {\n type: 'Login',\n email: state.email,\n password: state.password\n }\n }\n });\n }, [state.email, state.password]);\n const loginAsGuest = React.useCallback(() => {\n if (!state.termsAccepted) {\n dispatch({ type: 'error', error: 'You must accept the Terms of Service' });\n return;\n }\n window.location = '#/';\n }, [state.termsAccepted]);\n const signup = React.useCallback(() => {\n if (typeof state.email !== 'string' || state.email.length === 0 || !emailRef.current.validity.valid) {\n dispatch({ type: 'error', error: 'Invalid email' });\n return;\n }\n if (typeof state.password !== 'string' || state.password.length === 0) {\n dispatch({ type: 'error', error: 'Invalid password' });\n return;\n }\n if (state.password !== state.confirmPassword) {\n dispatch({ type: 'error', error: 'Passwords do not match' });\n return;\n }\n if (!state.termsAccepted) {\n dispatch({ type: 'error', error: 'You must accept the Terms of Service' });\n return;\n }\n if (!state.privacyPolicyAccepted) {\n dispatch({ type: 'error', error: 'You must accept the Privacy Policy' });\n return;\n }\n openLoaderModal();\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'Authenticate',\n args: {\n type: 'Register',\n email: state.email,\n password: state.password,\n gdpr_consent: {\n tos: state.termsAccepted,\n privacy: state.privacyPolicyAccepted,\n marketing: state.marketingAccepted,\n from: 'web'\n }\n }\n }\n });\n }, [state.email, state.password, state.confirmPassword, state.termsAccepted, state.privacyPolicyAccepted, state.marketingAccepted]);\n const emailOnChange = React.useCallback((event) => {\n dispatch({\n type: 'change-credentials',\n name: 'email',\n value: event.currentTarget.value\n });\n }, []);\n const emailOnSubmit = React.useCallback(() => {\n passwordRef.current.focus();\n }, []);\n const passwordOnChange = React.useCallback((event) => {\n dispatch({\n type: 'change-credentials',\n name: 'password',\n value: event.currentTarget.value\n });\n }, []);\n const passwordOnSubmit = React.useCallback(() => {\n if (state.form === SIGNUP_FORM) {\n confirmPasswordRef.current.focus();\n } else {\n loginWithEmail();\n }\n }, [state.form, loginWithEmail]);\n const confirmPasswordOnChange = React.useCallback((event) => {\n dispatch({\n type: 'change-credentials',\n name: 'confirmPassword',\n value: event.currentTarget.value\n });\n }, []);\n const confirmPasswordOnSubmit = React.useCallback(() => {\n termsRef.current.focus();\n }, []);\n const toggleTermsAccepted = React.useCallback(() => {\n dispatch({ type: 'toggle-checkbox', name: 'termsAccepted' });\n }, []);\n const togglePrivacyPolicyAccepted = React.useCallback(() => {\n dispatch({ type: 'toggle-checkbox', name: 'privacyPolicyAccepted' });\n }, []);\n const toggleMarketingAccepted = React.useCallback(() => {\n dispatch({ type: 'toggle-checkbox', name: 'marketingAccepted' });\n }, []);\n const switchFormOnClick = React.useCallback(() => {\n const queryParams = new URLSearchParams([['form', state.form === SIGNUP_FORM ? LOGIN_FORM : SIGNUP_FORM]]);\n window.location = `#/intro?${queryParams.toString()}`;\n }, [state.form]);\n React.useEffect(() => {\n if ([LOGIN_FORM, SIGNUP_FORM].includes(queryParams.get('form'))) {\n dispatch({ type: 'set-form', form: queryParams.get('form') });\n }\n }, [queryParams]);\n React.useEffect(() => {\n if (routeFocused && typeof state.error === 'string' && state.error.length > 0) {\n errorRef.current.scrollIntoView();\n }\n }, [state.error]);\n React.useEffect(() => {\n if (routeFocused) {\n emailRef.current.focus();\n }\n }, [state.form, routeFocused]);\n React.useEffect(() => {\n const onCoreEvent = ({ event, args }) => {\n switch (event) {\n case 'UserAuthenticated': {\n closeLoaderModal();\n if (routeFocused) {\n window.location = '#/';\n }\n break;\n }\n case 'Error': {\n if (args.source.event === 'UserAuthenticated') {\n closeLoaderModal();\n }\n\n break;\n }\n }\n };\n core.transport.on('CoreEvent', onCoreEvent);\n return () => {\n core.transport.off('CoreEvent', onCoreEvent);\n };\n }, [routeFocused]);\n return (\n <div className={styles['intro-container']}>\n <div className={styles['background-container']} />\n <div className={styles['heading-container']}>\n <div className={styles['logo-container']}>\n <Image className={styles['logo']} src={require('/images/logo.png')} alt={' '} />\n </div>\n <div className={styles['title-container']}>\n Freedom to Stream\n </div>\n <div className={styles['slogan-container']}>\n All the Video Content You Enjoy in One Place\n </div>\n </div>\n <div className={styles['content-container']}>\n <div className={styles['form-container']}>\n <CredentialsTextInput\n ref={emailRef}\n className={styles['credentials-text-input']}\n type={'email'}\n placeholder={'Email'}\n value={state.email}\n onChange={emailOnChange}\n onSubmit={emailOnSubmit}\n />\n <CredentialsTextInput\n ref={passwordRef}\n className={styles['credentials-text-input']}\n type={'password'}\n placeholder={'Password'}\n value={state.password}\n onChange={passwordOnChange}\n onSubmit={passwordOnSubmit}\n />\n {\n state.form === SIGNUP_FORM ?\n <React.Fragment>\n <CredentialsTextInput\n ref={confirmPasswordRef}\n className={styles['credentials-text-input']}\n type={'password'}\n placeholder={'Confirm Password'}\n value={state.confirmPassword}\n onChange={confirmPasswordOnChange}\n onSubmit={confirmPasswordOnSubmit}\n />\n <ConsentCheckbox\n ref={termsRef}\n className={styles['consent-checkbox']}\n label={'I have read and agree with the Stremio'}\n link={'Terms and conditions'}\n href={'https://www.stremio.com/tos'}\n checked={state.termsAccepted}\n onToggle={toggleTermsAccepted}\n />\n <ConsentCheckbox\n ref={privacyPolicyRef}\n className={styles['consent-checkbox']}\n label={'I have read and agree with the Stremio'}\n link={'Privacy Policy'}\n href={'https://www.stremio.com/privacy'}\n checked={state.privacyPolicyAccepted}\n onToggle={togglePrivacyPolicyAccepted}\n />\n <ConsentCheckbox\n ref={marketingRef}\n className={styles['consent-checkbox']}\n label={'I agree to receive marketing communications from Stremio'}\n checked={state.marketingAccepted}\n onToggle={toggleMarketingAccepted}\n />\n </React.Fragment>\n :\n <div className={styles['forgot-password-link-container']}>\n <Button className={styles['forgot-password-link']} onClick={openPasswordRestModal}>Forgot password?</Button>\n </div>\n }\n {\n state.error.length > 0 ?\n <div ref={errorRef} className={styles['error-message']}>{state.error}</div>\n :\n null\n }\n <Button className={classnames(styles['form-button'], styles['submit-button'])} onClick={state.form === SIGNUP_FORM ? signup : loginWithEmail}>\n <div className={styles['label']}>{state.form === SIGNUP_FORM ? 'Sign up' : 'Log in'}</div>\n </Button>\n </div>\n <div className={styles['options-container']}>\n <Button className={classnames(styles['form-button'], styles['facebook-button'])} onClick={loginWithFacebook}>\n <Icon className={styles['icon']} name={'facebook'} />\n <div className={styles['label']}>Continue with Facebook</div>\n </Button>\n {\n state.form === SIGNUP_FORM ?\n <Button className={classnames(styles['form-button'], styles['login-form-button'])} onClick={switchFormOnClick}>\n <div className={styles['label']}>LOG IN</div>\n </Button>\n :\n null\n }\n {\n state.form === LOGIN_FORM ?\n <Button className={classnames(styles['form-button'], styles['signup-form-button'])} onClick={switchFormOnClick}>\n <div className={styles['label']}>SIGN UP WITH EMAIL</div>\n </Button>\n :\n null\n }\n {\n state.form === SIGNUP_FORM ?\n <Button className={classnames(styles['form-button'], styles['guest-login-button'])} onClick={loginAsGuest}>\n <div className={styles['label']}>GUEST LOGIN</div>\n </Button>\n :\n null\n }\n </div>\n </div>\n {\n passwordRestModalOpen ?\n <PasswordResetModal email={state.email} onCloseRequest={closePasswordResetModal} />\n :\n null\n }\n {\n loaderModalOpen ?\n <Modal className={styles['loading-modal-container']}>\n <div className={styles['loader-container']}>\n <Icon className={styles['icon']} name={'person'} />\n <div className={styles['label']}>Authenticating...</div>\n <Button className={styles['button']} onClick={cancelLoginWithFacebook}>\n {t('BUTTON_CANCEL')}\n </Button>\n </div>\n </Modal>\n :\n null\n }\n </div>\n );\n};\n\nIntro.propTypes = {\n queryParams: PropTypes.instanceOf(URLSearchParams)\n};\n\nmodule.exports = Intro;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst { useRouteFocused } = require('stremio-router');\nconst { ModalDialog, usePlatform } = require('stremio/common');\nconst CredentialsTextInput = require('../CredentialsTextInput');\nconst styles = require('./styles');\n\nconst PasswordResetModal = ({ email, onCloseRequest }) => {\n const routeFocused = useRouteFocused();\n const platform = usePlatform();\n const [error, setError] = React.useState('');\n const emailRef = React.useRef(null);\n const goToPasswordReset = React.useCallback(() => {\n emailRef.current.value.length > 0 && emailRef.current.validity.valid ?\n platform.openExternal('https://www.strem.io/reset-password/' + emailRef.current.value, '_blank')\n :\n setError('Invalid email');\n }, []);\n const passwordResetModalButtons = React.useMemo(() => {\n return [\n {\n className: styles['cancel-button'],\n label: 'Cancel',\n props: {\n onClick: onCloseRequest\n }\n },\n {\n label: 'Send',\n props: {\n onClick: goToPasswordReset\n }\n }\n ];\n }, [onCloseRequest]);\n const emailOnChange = React.useCallback(() => {\n setError('');\n }, []);\n React.useEffect(() => {\n if (routeFocused) {\n emailRef.current.focus();\n }\n }, [routeFocused]);\n return (\n <ModalDialog className={styles['password-reset-modal-container']} title={'Password reset'} buttons={passwordResetModalButtons} onCloseRequest={onCloseRequest}>\n <CredentialsTextInput\n ref={emailRef}\n className={styles['credentials-text-input']}\n type={'email'}\n placeholder={'Email'}\n defaultValue={typeof email === 'string' ? email : ''}\n onChange={emailOnChange}\n onSubmit={goToPasswordReset}\n />\n {\n error.length > 0 ?\n <div className={styles['error-message']}>{error}</div>\n :\n null\n }\n </ModalDialog>\n );\n};\n\nPasswordResetModal.propTypes = {\n email: PropTypes.string,\n onCloseRequest: PropTypes.func\n};\n\nmodule.exports = PasswordResetModal;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst PasswordResetModal = require('./PasswordResetModal');\n\nmodule.exports = PasswordResetModal;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Intro = require('./Intro');\n\nmodule.exports = Intro;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst NotFound = require('stremio/routes/NotFound');\nconst { Button, Chips, DelayedRenderer, Multiselect, MainNavBars, LibItem, Image, useProfile, useNotifications, routesRegexp, useOnScrollToBottom, withCoreSuspender } = require('stremio/common');\nconst useLibrary = require('./useLibrary');\nconst useSelectableInputs = require('./useSelectableInputs');\nconst styles = require('./styles');\n\nconst SCROLL_TO_BOTTOM_TRESHOLD = 400;\n\nfunction withModel(Library) {\n const withModel = ({ urlParams, queryParams }) => {\n const model = React.useMemo(() => {\n return typeof urlParams.path === 'string' ?\n urlParams.path.match(routesRegexp.library.regexp) ?\n 'library'\n :\n urlParams.path.match(routesRegexp.continuewatching.regexp) ?\n 'continue_watching'\n :\n null\n :\n null;\n }, [urlParams.path]);\n if (model === null) {\n return (\n <NotFound />\n );\n }\n\n return (\n <Library\n key={model}\n model={model}\n urlParams={urlParams}\n queryParams={queryParams}\n />\n );\n };\n withModel.displayName = 'withModel';\n return withModel;\n}\n\nconst Library = ({ model, urlParams, queryParams }) => {\n const profile = useProfile();\n const notifications = useNotifications();\n const [library, loadNextPage] = useLibrary(model, urlParams, queryParams);\n const [typeSelect, sortChips, hasNextPage] = useSelectableInputs(library);\n const scrollContainerRef = React.useRef(null);\n const onScrollToBottom = React.useCallback(() => {\n if (hasNextPage) {\n loadNextPage();\n }\n }, [hasNextPage, loadNextPage]);\n const onScroll = useOnScrollToBottom(onScrollToBottom, SCROLL_TO_BOTTOM_TRESHOLD);\n React.useLayoutEffect(() => {\n if (profile.auth !== null && library.selected && library.selected.request.page === 1 && library.catalog.length !== 0 ) {\n scrollContainerRef.current.scrollTop = 0;\n }\n }, [profile.auth, library.selected]);\n return (\n <MainNavBars className={styles['library-container']} route={model}>\n <div className={styles['library-content']}>\n {\n model === 'continue_watching' || profile.auth !== null ?\n <div className={styles['selectable-inputs-container']}>\n <Multiselect {...typeSelect} className={styles['select-input-container']} />\n <Chips {...sortChips} className={styles['select-input-container']} />\n </div>\n :\n null\n }\n {\n model === 'library' && profile.auth === null ?\n <div className={classnames(styles['message-container'], styles['no-user-message-container'])}>\n <Image\n className={styles['image']}\n src={require('/images/anonymous.png')}\n alt={' '}\n />\n <div className={styles['message-label']}>Library is only available for logged in users!</div>\n <Button className={styles['login-button-container']} href={'#/intro'}>\n <div className={styles['label']}>LOG IN</div>\n </Button>\n </div>\n :\n library.selected === null ?\n <DelayedRenderer delay={500}>\n <div className={styles['message-container']}>\n <Image\n className={styles['image']}\n src={require('/images/empty.png')}\n alt={' '}\n />\n <div className={styles['message-label']}>{model === 'library' ? 'Library' : 'Continue Watching'} not loaded!</div>\n </div>\n </DelayedRenderer>\n :\n library.catalog.length === 0 ?\n <div className={styles['message-container']}>\n <Image\n className={styles['image']}\n src={require('/images/empty.png')}\n alt={' '}\n />\n <div className={styles['message-label']}>Empty {model === 'library' ? 'Library' : 'Continue Watching'}</div>\n </div>\n :\n <div ref={scrollContainerRef} className={classnames(styles['meta-items-container'], 'animation-fade-in')} onScroll={onScroll}>\n {library.catalog.map((libItem, index) => (\n <LibItem {...libItem} notifications={notifications} removable={model === 'library'} key={index} />\n ))}\n </div>\n }\n </div>\n </MainNavBars>\n );\n};\n\nLibrary.propTypes = {\n model: PropTypes.oneOf(['library', 'continue_watching']),\n urlParams: PropTypes.shape({\n type: PropTypes.string\n }),\n queryParams: PropTypes.instanceOf(URLSearchParams)\n};\n\nconst LibraryFallback = ({ model }) => (\n <MainNavBars className={styles['library-container']} route={model} />\n);\n\nLibraryFallback.propTypes = Library.propTypes;\n\nmodule.exports = withModel(withCoreSuspender(Library, LibraryFallback));\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Library = require('./Library');\n\nmodule.exports = Library;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useServices } = require('stremio/services');\nconst { useModelState } = require('stremio/common');\n\nconst useLibrary = (model, urlParams, queryParams) => {\n const { core } = useServices();\n const loadNextPage = React.useCallback(() => {\n core.transport.dispatch({\n action: 'LibraryWithFilters',\n args: {\n action: 'LoadNextPage',\n }\n }, 'library');\n }, []);\n const action = React.useMemo(() => ({\n action: 'Load',\n args: {\n model: 'LibraryWithFilters',\n args: {\n request: {\n type: typeof urlParams.type === 'string' ? urlParams.type : null,\n sort: queryParams.has('sort') ? queryParams.get('sort') : undefined,\n }\n }\n }\n }), [urlParams, queryParams]);\n const library = useModelState({ model, action });\n return [library, loadNextPage];\n};\n\nmodule.exports = useLibrary;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useTranslate } = require('stremio/common');\n\nconst mapSelectableInputs = (library, t) => {\n const typeSelect = {\n title: t.string('SELECT_TYPE'),\n options: library.selectable.types\n .map(({ type, deepLinks }) => ({\n value: deepLinks.library,\n label: type === null ? t.string('TYPE_ALL') : t.stringWithPrefix(type, 'TYPE_')\n })),\n selected: library.selectable.types\n .filter(({ selected }) => selected)\n .map(({ deepLinks }) => deepLinks.library),\n onSelect: (event) => {\n window.location = event.value;\n }\n };\n const sortChips = {\n options: library.selectable.sorts\n .map(({ sort, deepLinks }) => ({\n value: deepLinks.library,\n label: t.stringWithPrefix(sort.toUpperCase(), 'SORT_')\n })),\n selected: library.selectable.sorts\n .filter(({ selected }) => selected)\n .map(({ deepLinks }) => deepLinks.library),\n onSelect: (value) => {\n window.location = value;\n }\n };\n return [typeSelect, sortChips, library.selectable.nextPage];\n};\n\nconst useSelectableInputs = (library) => {\n const t = useTranslate();\n const selectableInputs = React.useMemo(() => {\n return mapSelectableInputs(library, t);\n }, [library]);\n return selectableInputs;\n};\n\nmodule.exports = useSelectableInputs;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { useServices } = require('stremio/services');\nconst { VerticalNavBar, HorizontalNavBar, MetaPreview, ModalDialog, Image, DelayedRenderer, withCoreSuspender } = require('stremio/common');\nconst StreamsList = require('./StreamsList');\nconst VideosList = require('./VideosList');\nconst useMetaDetails = require('./useMetaDetails');\nconst useSeason = require('./useSeason');\nconst useMetaExtensionTabs = require('./useMetaExtensionTabs');\nconst styles = require('./styles');\n\nconst MetaDetails = ({ urlParams, queryParams }) => {\n const { core } = useServices();\n const metaDetails = useMetaDetails(urlParams);\n const [season, setSeason] = useSeason(urlParams, queryParams);\n const [tabs, metaExtension, clearMetaExtension] = useMetaExtensionTabs(metaDetails.metaExtensions);\n const [metaPath, streamPath] = React.useMemo(() => {\n return metaDetails.selected !== null ?\n [metaDetails.selected.metaPath, metaDetails.selected.streamPath]\n :\n [null, null];\n }, [metaDetails.selected]);\n const video = React.useMemo(() => {\n return streamPath !== null && metaDetails.metaItem !== null && metaDetails.metaItem.content.type === 'Ready' ?\n metaDetails.metaItem.content.content.videos.reduce((result, video) => {\n if (video.id === streamPath.id) {\n return video;\n }\n\n return result;\n }, null)\n :\n null;\n }, [metaDetails.metaItem, streamPath]);\n const addToLibrary = React.useCallback(() => {\n if (metaDetails.metaItem === null || metaDetails.metaItem.content.type !== 'Ready') {\n return;\n }\n\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'AddToLibrary',\n args: metaDetails.metaItem.content.content\n }\n });\n }, [metaDetails]);\n const removeFromLibrary = React.useCallback(() => {\n if (metaDetails.metaItem === null || metaDetails.metaItem.content.type !== 'Ready') {\n return;\n }\n\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'RemoveFromLibrary',\n args: metaDetails.metaItem.content.content.id\n }\n });\n }, [metaDetails]);\n const toggleNotifications = React.useCallback(() => {\n if (metaDetails.libraryItem) {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'ToggleLibraryItemNotifications',\n args: [metaDetails.libraryItem._id, !metaDetails.libraryItem.state.noNotif],\n }\n });\n }\n }, [metaDetails.libraryItem]);\n const seasonOnSelect = React.useCallback((event) => {\n setSeason(event.value);\n }, [setSeason]);\n const renderBackgroundImageFallback = React.useCallback(() => null, []);\n return (\n <div className={styles['metadetails-container']}>\n <HorizontalNavBar\n className={styles['nav-bar']}\n backButton={true}\n addonsButton={true}\n fullscreenButton={true}\n navMenu={true}\n />\n <div className={styles['metadetails-content']}>\n {\n tabs.length > 0 ?\n <VerticalNavBar\n className={styles['vertical-nav-bar']}\n tabs={tabs}\n selected={metaExtension !== null ? metaExtension.url : null}\n />\n :\n null\n }\n {\n metaPath === null ?\n <DelayedRenderer delay={500}>\n <div className={styles['meta-message-container']}>\n <Image className={styles['image']} src={require('/images/empty.png')} alt={' '} />\n <div className={styles['message-label']}>No meta was selected!</div>\n </div>\n </DelayedRenderer>\n :\n metaDetails.metaItem === null ?\n <div className={styles['meta-message-container']}>\n <Image className={styles['image']} src={require('/images/empty.png')} alt={' '} />\n <div className={styles['message-label']}>No addons ware requested for this meta!</div>\n </div>\n :\n metaDetails.metaItem.content.type === 'Err' ?\n <div className={styles['meta-message-container']}>\n <Image className={styles['image']} src={require('/images/empty.png')} alt={' '} />\n <div className={styles['message-label']}>No metadata was found!</div>\n </div>\n :\n metaDetails.metaItem.content.type === 'Loading' ?\n <MetaPreview.Placeholder className={styles['meta-preview']} />\n :\n <React.Fragment>\n {\n typeof metaDetails.metaItem.content.content.background === 'string' &&\n metaDetails.metaItem.content.content.background.length > 0 ?\n <div className={styles['background-image-layer']}>\n <Image\n className={styles['background-image']}\n src={metaDetails.metaItem.content.content.background}\n renderFallback={renderBackgroundImageFallback}\n alt={' '}\n />\n </div>\n :\n null\n }\n <MetaPreview\n className={classnames(styles['meta-preview'], 'animation-fade-in')}\n name={metaDetails.metaItem.content.content.name}\n logo={metaDetails.metaItem.content.content.logo}\n runtime={metaDetails.metaItem.content.content.runtime}\n releaseInfo={metaDetails.metaItem.content.content.releaseInfo}\n released={metaDetails.metaItem.content.content.released}\n description={\n video !== null && typeof video.overview === 'string' && video.overview.length > 0 ?\n video.overview\n :\n metaDetails.metaItem.content.content.description\n }\n links={metaDetails.metaItem.content.content.links}\n trailerStreams={metaDetails.metaItem.content.content.trailerStreams}\n inLibrary={metaDetails.metaItem.content.content.inLibrary}\n toggleInLibrary={metaDetails.metaItem.content.content.inLibrary ? removeFromLibrary : addToLibrary}\n />\n </React.Fragment>\n }\n <div className={styles['spacing']} />\n {\n streamPath !== null ?\n <StreamsList\n className={styles['streams-list']}\n streams={metaDetails.streams}\n video={video}\n />\n :\n metaPath !== null ?\n <VideosList\n className={styles['videos-list']}\n metaItem={metaDetails.metaItem}\n libraryItem={metaDetails.libraryItem}\n season={season}\n seasonOnSelect={seasonOnSelect}\n toggleNotifications={toggleNotifications}\n />\n :\n null\n }\n </div>\n {\n metaExtension !== null ?\n <ModalDialog\n className={styles['meta-extension-modal-container']}\n title={metaExtension.name}\n onCloseRequest={clearMetaExtension}>\n <iframe\n className={styles['meta-extension-modal-iframe']}\n sandbox={'allow-forms allow-scripts allow-same-origin'}\n src={metaExtension.url}\n />\n </ModalDialog>\n :\n null\n }\n </div>\n );\n};\n\nMetaDetails.propTypes = {\n urlParams: PropTypes.shape({\n type: PropTypes.string,\n id: PropTypes.string,\n videoId: PropTypes.string\n }),\n queryParams: PropTypes.instanceOf(URLSearchParams)\n};\n\nconst MetaDetailsFallback = () => (\n <div className={styles['metadetails-container']}>\n <HorizontalNavBar\n className={styles['nav-bar']}\n backButton={true}\n addonsButton={true}\n fullscreenButton={true}\n navMenu={true}\n />\n </div>\n);\n\nmodule.exports = withCoreSuspender(MetaDetails, MetaDetailsFallback);\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { t } = require('i18next');\nconst { Button, Image, useProfile, usePlatform, useToast, Popup, useBinaryState } = require('stremio/common');\nconst { useServices } = require('stremio/services');\nconst { useRouteFocused } = require('stremio-router');\nconst StreamPlaceholder = require('./StreamPlaceholder');\nconst styles = require('./styles');\n\nconst Stream = ({ className, videoId, videoReleased, addonName, name, description, thumbnail, progress, deepLinks, ...props }) => {\n const profile = useProfile();\n const toast = useToast();\n const platform = usePlatform();\n const { core } = useServices();\n const routeFocused = useRouteFocused();\n\n const [menuOpen, , closeMenu, toggleMenu] = useBinaryState(false);\n\n const popupLabelOnMouseUp = React.useCallback((event) => {\n if (!event.nativeEvent.togglePopupPrevented) {\n if (event.nativeEvent.ctrlKey || event.nativeEvent.button === 2) {\n event.preventDefault();\n toggleMenu();\n }\n }\n }, []);\n const popupLabelOnContextMenu = React.useCallback((event) => {\n if (!event.nativeEvent.togglePopupPrevented && !event.nativeEvent.ctrlKey) {\n event.preventDefault();\n }\n }, [toggleMenu]);\n const popupLabelOnLongPress = React.useCallback((event) => {\n if (event.nativeEvent.pointerType !== 'mouse' && !event.nativeEvent.togglePopupPrevented) {\n toggleMenu();\n }\n }, [toggleMenu]);\n const popupMenuOnPointerDown = React.useCallback((event) => {\n event.nativeEvent.togglePopupPrevented = true;\n }, []);\n const popupMenuOnContextMenu = React.useCallback((event) => {\n event.nativeEvent.togglePopupPrevented = true;\n }, []);\n const popupMenuOnClick = React.useCallback((event) => {\n event.nativeEvent.togglePopupPrevented = true;\n }, []);\n const popupMenuOnKeyDown = React.useCallback((event) => {\n event.nativeEvent.buttonClickPrevented = true;\n }, []);\n\n const href = React.useMemo(() => {\n return deepLinks ?\n deepLinks.externalPlayer ?\n deepLinks.externalPlayer.web ?\n deepLinks.externalPlayer.web\n :\n deepLinks.externalPlayer.openPlayer ?\n deepLinks.externalPlayer.openPlayer[platform.name] ?\n deepLinks.externalPlayer.openPlayer[platform.name]\n :\n deepLinks.externalPlayer.playlist\n :\n deepLinks.player\n :\n deepLinks.player\n :\n null;\n }, [deepLinks]);\n\n const download = React.useMemo(() => {\n return href === deepLinks?.externalPlayer?.playlist ?\n deepLinks.externalPlayer.fileName\n :\n null;\n }, [href, deepLinks]);\n\n const target = React.useMemo(() => {\n return href === deepLinks?.externalPlayer?.web ?\n '_blank'\n :\n null;\n }, [href, deepLinks]);\n\n const streamLink = React.useMemo(() => {\n return deepLinks?.externalPlayer?.download;\n }, [deepLinks]);\n\n const markVideoAsWatched = React.useCallback(() => {\n if (typeof videoId === 'string') {\n core.transport.dispatch({\n action: 'MetaDetails',\n args: {\n action: 'MarkVideoAsWatched',\n args: [{ id: videoId, released: videoReleased }, true]\n }\n });\n }\n }, [videoId, videoReleased]);\n\n const onClick = React.useCallback((event) => {\n if (profile.settings.playerType !== null) {\n markVideoAsWatched();\n toast.show({\n type: 'success',\n title: 'Stream opened in external player',\n timeout: 4000\n });\n }\n\n if (typeof props.onClick === 'function') {\n props.onClick(event);\n }\n }, [props.onClick, profile.settings, markVideoAsWatched]);\n\n const copyStreamLink = React.useCallback((event) => {\n event.preventDefault();\n closeMenu();\n if (streamLink) {\n navigator.clipboard.writeText(streamLink)\n .then(() => {\n toast.show({\n type: 'success',\n title: t('PLAYER_COPY_STREAM_SUCCESS'),\n timeout: 4000\n });\n })\n .catch(() => {\n toast.show({\n type: 'error',\n title: t('PLAYER_COPY_STREAM_ERROR'),\n timeout: 4000,\n });\n });\n }\n }, [streamLink]);\n\n const renderThumbnailFallback = React.useCallback(() => (\n <Icon className={styles['placeholder-icon']} name={'ic_broken_link'} />\n ), []);\n\n const renderLabel = React.useMemo(() => function renderLabel({ className, children, ...props }) {\n return (\n <Button className={classnames(className, styles['stream-container'])} title={addonName} href={href} target={target} download={download} onClick={onClick} {...props}>\n <div className={styles['info-container']}>\n {\n typeof thumbnail === 'string' && thumbnail.length > 0 ?\n <div className={styles['thumbnail-container']} title={name || addonName}>\n <Image\n className={styles['thumbnail']}\n src={thumbnail}\n alt={' '}\n renderFallback={renderThumbnailFallback}\n />\n </div>\n :\n <div className={styles['addon-name-container']} title={name || addonName}>\n <div className={styles['addon-name']}>{name || addonName}</div>\n </div>\n }\n {\n progress !== null && !isNaN(progress) && progress > 0 ?\n <div className={styles['progress-bar-container']}>\n <div className={styles['progress-bar']} style={{ width: `${progress}%` }} />\n <div className={styles['progress-bar-background']} />\n </div>\n :\n null\n }\n </div>\n <div className={styles['description-container']} title={description}>{description}</div>\n <Icon className={styles['icon']} name={'play'} />\n {children}\n </Button>\n );\n }, [thumbnail, progress, addonName, name, description, href, target, download, onClick]);\n\n const renderMenu = React.useMemo(() => function renderMenu() {\n return (\n <div className={styles['context-menu-content']} onPointerDown={popupMenuOnPointerDown} onContextMenu={popupMenuOnContextMenu} onClick={popupMenuOnClick} onKeyDown={popupMenuOnKeyDown}>\n <Button className={styles['context-menu-option-container']} title={t('CTX_PLAY')}>\n <div className={styles['context-menu-option-label']}>{t('CTX_PLAY')}</div>\n </Button>\n {\n streamLink &&\n <Button className={styles['context-menu-option-container']} title={t('CTX_COPY_STREAM_LINK')} onClick={copyStreamLink}>\n <div className={styles['context-menu-option-label']}>{t('CTX_COPY_STREAM_LINK')}</div>\n </Button>\n }\n </div>\n );\n }, [copyStreamLink, onClick]);\n\n React.useEffect(() => {\n if (!routeFocused) {\n closeMenu();\n }\n }, [routeFocused]);\n\n return (\n <Popup\n className={className}\n onMouseUp={popupLabelOnMouseUp}\n onLongPress={popupLabelOnLongPress}\n onContextMenu={popupLabelOnContextMenu}\n open={menuOpen}\n onCloseRequest={closeMenu}\n renderLabel={renderLabel}\n renderMenu={renderMenu}\n />\n );\n};\n\nStream.Placeholder = StreamPlaceholder;\n\nStream.propTypes = {\n className: PropTypes.string,\n videoId: PropTypes.string,\n videoReleased: PropTypes.instanceOf(Date),\n addonName: PropTypes.string,\n name: PropTypes.string,\n description: PropTypes.string,\n thumbnail: PropTypes.string,\n progress: PropTypes.number,\n deepLinks: PropTypes.shape({\n player: PropTypes.string,\n externalPlayer: PropTypes.shape({\n download: PropTypes.string,\n streaming: PropTypes.string,\n playlist: PropTypes.string,\n fileName: PropTypes.string,\n web: PropTypes.string,\n openPlayer: PropTypes.shape({\n ios: PropTypes.string,\n android: PropTypes.string,\n windows: PropTypes.string,\n macos: PropTypes.string,\n linux: PropTypes.string,\n })\n })\n }),\n onClick: PropTypes.func\n};\n\nmodule.exports = Stream;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst PlayIconCircleCentered = require('stremio/common/PlayIconCircleCentered');\nconst styles = require('./styles');\n\nconst StreamPlaceholder = ({ className }) => {\n return (\n <div className={classnames(className, styles['stream-placeholder-container'])}>\n <div className={styles['addon-container']}>\n <div className={styles['addon-name']} />\n </div>\n <div className={styles['info-container']}>\n <div className={styles['description-container']} />\n <div className={styles['description-container']} />\n </div>\n <PlayIconCircleCentered className={styles['play-icon']} />\n </div>\n );\n};\n\nStreamPlaceholder.propTypes = {\n className: PropTypes.string\n};\n\nmodule.exports = StreamPlaceholder;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst StreamPlaceholder = require('./StreamPlaceholder');\n\nmodule.exports = StreamPlaceholder;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Stream = require('./Stream');\n\nmodule.exports = Stream;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { useTranslation } = require('react-i18next');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { Button, Image, Multiselect } = require('stremio/common');\nconst { useServices } = require('stremio/services');\nconst Stream = require('./Stream');\nconst styles = require('./styles');\n\nconst ALL_ADDONS_KEY = 'ALL';\n\nconst StreamsList = ({ className, video, ...props }) => {\n const { t } = useTranslation();\n const { core } = useServices();\n const [selectedAddon, setSelectedAddon] = React.useState(ALL_ADDONS_KEY);\n const onAddonSelected = React.useCallback((event) => {\n setSelectedAddon(event.value);\n }, []);\n const backButtonOnClick = React.useCallback(() => {\n if (video.deepLinks && typeof video.deepLinks.metaDetailsVideos === 'string') {\n window.location.replace(video.deepLinks.metaDetailsVideos + (\n typeof video.season === 'number' ?\n `?${new URLSearchParams({'season': video.season})}`\n :\n null\n ));\n } else {\n window.history.back();\n }\n }, [video]);\n const countLoadingAddons = React.useMemo(() => {\n return props.streams.filter((stream) => stream.content.type === 'Loading').length;\n }, [props.streams]);\n const streamsByAddon = React.useMemo(() => {\n return props.streams\n .filter((streams) => streams.content.type === 'Ready')\n .reduce((streamsByAddon, streams) => {\n streamsByAddon[streams.addon.transportUrl] = {\n addon: streams.addon,\n streams: streams.content.content.map((stream) => ({\n ...stream,\n onClick: () => {\n core.transport.analytics({\n event: 'StreamClicked',\n args: {\n stream\n }\n });\n },\n addonName: streams.addon.manifest.name\n }))\n };\n\n return streamsByAddon;\n }, {});\n }, [props.streams]);\n const filteredStreams = React.useMemo(() => {\n return selectedAddon === ALL_ADDONS_KEY ?\n Object.values(streamsByAddon).map(({ streams }) => streams).flat(1)\n :\n streamsByAddon[selectedAddon] ?\n streamsByAddon[selectedAddon].streams\n :\n [];\n }, [streamsByAddon, selectedAddon]);\n const selectableOptions = React.useMemo(() => {\n return {\n title: 'Select Addon',\n options: [\n {\n value: ALL_ADDONS_KEY,\n label: t('ALL_ADDONS'),\n title: t('ALL_ADDONS')\n },\n ...Object.keys(streamsByAddon).map((transportUrl) => ({\n value: transportUrl,\n label: streamsByAddon[transportUrl].addon.manifest.name,\n title: streamsByAddon[transportUrl].addon.manifest.name,\n }))\n ],\n selected: [selectedAddon],\n onSelect: onAddonSelected\n };\n }, [streamsByAddon, selectedAddon]);\n return (\n <div className={classnames(className, styles['streams-list-container'])}>\n <div className={styles['select-choices-wrapper']}>\n {\n video ?\n <React.Fragment>\n <Button className={classnames(styles['button-container'], styles['back-button-container'])} tabIndex={-1} onClick={backButtonOnClick}>\n <Icon className={styles['icon']} name={'chevron-back'} />\n </Button>\n <div className={styles['episode-title']}>\n {`S${video?.season}E${video?.episode} ${(video?.title)}`}\n </div>\n </React.Fragment>\n :\n null\n }\n {\n Object.keys(streamsByAddon).length > 1 ?\n <Multiselect\n {...selectableOptions}\n className={styles['select-input-container']}\n />\n :\n null\n }\n </div>\n {\n props.streams.length === 0 ?\n <div className={styles['message-container']}>\n <Image className={styles['image']} src={require('/images/empty.png')} alt={' '} />\n <div className={styles['label']}>No addons were requested for streams!</div>\n </div>\n :\n props.streams.every((streams) => streams.content.type === 'Err') ?\n <div className={styles['message-container']}>\n <Image className={styles['image']} src={require('/images/empty.png')} alt={' '} />\n <div className={styles['label']}>{t('NO_STREAM')}</div>\n </div>\n :\n filteredStreams.length === 0 ?\n <div className={styles['streams-container']}>\n <Stream.Placeholder />\n <Stream.Placeholder />\n </div>\n :\n <React.Fragment>\n {\n countLoadingAddons > 0 ?\n <div className={styles['addons-loading-container']}>\n <div className={styles['addons-loading']}>\n {countLoadingAddons} {t('MOBILE_ADDONS_LOADING')}\n </div>\n <span className={styles['addons-loading-bar']}></span>\n </div>\n :\n null\n }\n <div className={styles['streams-container']}>\n {filteredStreams.map((stream, index) => (\n <Stream\n key={index}\n videoId={video?.id}\n videoReleased={video?.released}\n addonName={stream.addonName}\n name={stream.name}\n description={stream.description}\n thumbnail={stream.thumbnail}\n progress={stream.progress}\n deepLinks={stream.deepLinks}\n onClick={stream.onClick}\n />\n ))}\n </div>\n </React.Fragment>\n }\n <Button className={styles['install-button-container']} title={t('ADDON_CATALOGUE_MORE')} href={'#/addons'}>\n <Icon className={styles['icon']} name={'addons'} />\n <div className={styles['label']}>{ t('ADDON_CATALOGUE_MORE') }</div>\n </Button>\n </div>\n );\n};\n\nStreamsList.propTypes = {\n className: PropTypes.string,\n streams: PropTypes.arrayOf(PropTypes.object).isRequired,\n video: PropTypes.object\n};\n\nmodule.exports = StreamsList;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst StreamsList = require('./StreamsList');\n\nmodule.exports = StreamsList;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { t } = require('i18next');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { Button } = require('stremio/common');\nconst SeasonsBarPlaceholder = require('./SeasonsBarPlaceholder');\nconst styles = require('./styles');\nconst { MultiselectMenu } = require('stremio/common');\n\nconst SeasonsBar = ({ className, seasons, season, onSelect }) => {\n const options = React.useMemo(() => {\n return seasons.map((season) => ({\n value: String(season),\n label: season > 0 ? `${t('SEASON')} ${season}` : t('SPECIAL')\n }));\n }, [seasons]);\n const selectedSeason = React.useMemo(() => {\n return { label: String(season), value: String(season) };\n }, [season]);\n const prevNextButtonOnClick = React.useCallback((event) => {\n if (typeof onSelect === 'function') {\n const seasonIndex = seasons.indexOf(season);\n const valueIndex = event.currentTarget.dataset.action === 'next' ?\n seasonIndex + 1 < seasons.length ? seasonIndex + 1 : seasons.length - 1\n :\n seasonIndex - 1 >= 0 ? seasonIndex - 1 : 0;\n const value = seasons[valueIndex];\n onSelect({\n type: 'select',\n value: value,\n reactEvent: event,\n nativeEvent: event.nativeEvent\n });\n }\n }, [season, seasons, onSelect]);\n const seasonOnSelect = React.useCallback((value) => {\n if (typeof onSelect === 'function') {\n onSelect({\n type: 'select',\n value: value,\n reactEvent: event.reactEvent,\n nativeEvent: event.nativeEvent\n });\n }\n }, [onSelect]);\n\n const [prevDisabled, nextDisabled] = React.useMemo(() => {\n const currentIndex = seasons.indexOf(season);\n return [\n currentIndex === 0,\n currentIndex === seasons.length - 1\n ];\n }, [season, seasons]);\n\n return (\n <div className={classnames(className, styles['seasons-bar-container'])}>\n <Button className={classnames(styles['prev-season-button'], { 'disabled': prevDisabled })} title={'Previous season'} data-action={'prev'} onClick={prevNextButtonOnClick}>\n <Icon className={styles['icon']} name={'chevron-back'} />\n <div className={styles['label']}>Prev</div>\n </Button>\n <MultiselectMenu\n className={styles['seasons-popup-label-container']}\n options={options}\n title={season > 0 ? `${t('SEASON')} ${season}` : t('SPECIAL')}\n selectedOption={selectedSeason}\n onSelect={seasonOnSelect}\n />\n <Button className={classnames(styles['next-season-button'], { 'disabled': nextDisabled })} title={'Next season'} data-action={'next'} onClick={prevNextButtonOnClick}>\n <div className={styles['label']}>Next</div>\n <Icon className={styles['icon']} name={'chevron-forward'} />\n </Button>\n </div>\n );\n};\n\nSeasonsBar.Placeholder = SeasonsBarPlaceholder;\n\nSeasonsBar.propTypes = {\n className: PropTypes.string,\n seasons: PropTypes.arrayOf(PropTypes.number).isRequired,\n season: PropTypes.number.isRequired,\n onSelect: PropTypes.func\n};\n\nmodule.exports = SeasonsBar;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst styles = require('./styles');\n\nconst SeasonsBarPlaceholder = ({ className }) => {\n return (\n <div className={classnames(className, styles['seasons-bar-placeholder-container'])}>\n <div className={styles['prev-season-button']}>\n <Icon className={styles['icon']} name={'chevron-back'} />\n <div className={styles['label']}>Prev</div>\n </div>\n <div className={styles['seasons-popup-label-container']}>\n <div className={styles['seasons-popup-label']}>Season 1</div>\n <Icon className={styles['seasons-popup-icon']} name={'caret-down'} />\n </div>\n <div className={styles['next-season-button']}>\n <div className={styles['label']}>Next</div>\n <Icon className={styles['icon']} name={'chevron-forward'} />\n </div>\n </div>\n );\n};\n\nSeasonsBarPlaceholder.propTypes = {\n className: PropTypes.string\n};\n\nmodule.exports = SeasonsBarPlaceholder;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst SeasonsBarPlaceholder = require('./SeasonsBarPlaceholder');\n\nmodule.exports = SeasonsBarPlaceholder;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst SeasonsBar = require('./SeasonsBar');\n\nmodule.exports = SeasonsBar;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { t } = require('i18next');\nconst { useServices } = require('stremio/services');\nconst { useRouteFocused } = require('stremio-router');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { Button, Image, Popup, useBinaryState } = require('stremio/common');\nconst VideoPlaceholder = require('./VideoPlaceholder');\nconst styles = require('./styles');\n\nconst Video = ({ className, id, title, thumbnail, episode, released, upcoming, watched, progress, scheduled, deepLinks, ...props }) => {\n const { core } = useServices();\n const routeFocused = useRouteFocused();\n const [menuOpen, , closeMenu, toggleMenu] = useBinaryState(false);\n const popupLabelOnMouseUp = React.useCallback((event) => {\n if (!event.nativeEvent.togglePopupPrevented) {\n if (event.nativeEvent.ctrlKey || event.nativeEvent.button === 2) {\n event.preventDefault();\n toggleMenu();\n }\n }\n }, []);\n const popupLabelOnContextMenu = React.useCallback((event) => {\n if (!event.nativeEvent.togglePopupPrevented && !event.nativeEvent.ctrlKey) {\n event.preventDefault();\n }\n }, [toggleMenu]);\n const popupLabelOnLongPress = React.useCallback((event) => {\n if (event.nativeEvent.pointerType !== 'mouse' && !event.nativeEvent.togglePopupPrevented) {\n toggleMenu();\n }\n }, [toggleMenu]);\n const popupMenuOnPointerDown = React.useCallback((event) => {\n event.nativeEvent.togglePopupPrevented = true;\n }, []);\n const popupMenuOnContextMenu = React.useCallback((event) => {\n event.nativeEvent.togglePopupPrevented = true;\n }, []);\n const popupMenuOnClick = React.useCallback((event) => {\n event.nativeEvent.togglePopupPrevented = true;\n }, []);\n const popupMenuOnKeyDown = React.useCallback((event) => {\n event.nativeEvent.buttonClickPrevented = true;\n }, []);\n const toggleWatchedOnClick = React.useCallback((event) => {\n event.preventDefault();\n closeMenu();\n core.transport.dispatch({\n action: 'MetaDetails',\n args: {\n action: 'MarkVideoAsWatched',\n args: [{ id, released }, !watched]\n }\n });\n }, [id, released, watched]);\n const videoButtonOnClick = React.useCallback(() => {\n if (deepLinks) {\n if (typeof deepLinks.player === 'string') {\n window.location = deepLinks.player;\n } else if (typeof deepLinks.metaDetailsStreams === 'string') {\n window.location.replace(deepLinks.metaDetailsStreams);\n }\n }\n }, [deepLinks]);\n const renderLabel = React.useMemo(() => function renderLabel({ className, id, title, thumbnail, episode, released, upcoming, watched, progress, scheduled, children, ...props }) {\n return (\n <Button {...props} className={classnames(className, styles['video-container'])} title={title}>\n {\n typeof thumbnail === 'string' && thumbnail.length > 0 ?\n <div className={styles['thumbnail-container']}>\n <Image\n className={styles['thumbnail']}\n src={thumbnail}\n alt={' '}\n renderFallback={() => (\n <Icon\n className={styles['placeholder-icon']}\n name={'symbol'}\n />\n )}\n />\n {\n progress !== null && !isNaN(progress) && progress > 0 ?\n <div className={styles['progress-bar-container']}>\n <div className={styles['progress-bar']} style={{ width: `${progress}%` }} />\n <div className={styles['progress-bar-background']} />\n </div>\n :\n null\n }\n </div>\n :\n null\n }\n <div className={styles['info-container']}>\n <div className={styles['title-container']}>\n {episode !== null && !isNaN(episode) ? `${episode}. ` : null}\n {typeof title === 'string' && title.length > 0 ? title : id}\n </div>\n <div className={styles['flex-row-container']}>\n {\n released instanceof Date && !isNaN(released.getTime()) ?\n <div className={styles['released-container']}>\n {released.toLocaleString(undefined, { year: 'numeric', month: 'short', day: 'numeric' })}\n </div>\n :\n scheduled ?\n <div className={styles['released-container']} title={'To be announced'}>\n TBA\n </div>\n :\n null\n }\n <div className={styles['upcoming-watched-container']}>\n {\n upcoming && !watched ?\n <div className={styles['upcoming-container']}>\n <div className={styles['flag-label']}>Upcoming</div>\n </div>\n :\n null\n }\n {\n watched ?\n <div className={styles['watched-container']}>\n <Icon className={styles['flag-icon']} name={'eye'} />\n <div className={styles['flag-label']}>Watched</div>\n </div>\n :\n null\n }\n </div>\n </div>\n </div>\n {children}\n </Button>\n );\n }, []);\n const renderMenu = React.useMemo(() => function renderMenu() {\n return (\n <div className={styles['context-menu-content']} onPointerDown={popupMenuOnPointerDown} onContextMenu={popupMenuOnContextMenu} onClick={popupMenuOnClick} onKeyDown={popupMenuOnKeyDown}>\n <Button className={styles['context-menu-option-container']} title={'Watch'}>\n <div className={styles['context-menu-option-label']}>{t('CTX_WATCH')}</div>\n </Button>\n <Button className={styles['context-menu-option-container']} title={watched ? 'Mark as non-watched' : 'Mark as watched'} onClick={toggleWatchedOnClick}>\n <div className={styles['context-menu-option-label']}>{watched ? t('CTX_MARK_NON_WATCHED') : t('CTX_MARK_WATCHED')}</div>\n </Button>\n </div>\n );\n }, [watched, toggleWatchedOnClick]);\n React.useEffect(() => {\n if (!routeFocused) {\n closeMenu();\n }\n }, [routeFocused]);\n return (\n <Popup\n className={className}\n id={id}\n title={title}\n thumbnail={thumbnail}\n episode={episode}\n released={released}\n upcoming={upcoming}\n watched={watched}\n progress={progress}\n scheduled={scheduled}\n onClick={videoButtonOnClick}\n {...props}\n onMouseUp={popupLabelOnMouseUp}\n onLongPress={popupLabelOnLongPress}\n onContextMenu={popupLabelOnContextMenu}\n open={menuOpen}\n onCloseRequest={closeMenu}\n renderLabel={renderLabel}\n renderMenu={renderMenu}\n />\n );\n};\n\nVideo.Placeholder = VideoPlaceholder;\n\nVideo.propTypes = {\n className: PropTypes.string,\n id: PropTypes.string,\n title: PropTypes.string,\n thumbnail: PropTypes.string,\n episode: PropTypes.number,\n released: PropTypes.instanceOf(Date),\n upcoming: PropTypes.bool,\n watched: PropTypes.bool,\n progress: PropTypes.number,\n scheduled: PropTypes.bool,\n deepLinks: PropTypes.shape({\n metaDetailsStreams: PropTypes.string,\n player: PropTypes.string\n })\n};\n\nmodule.exports = Video;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst styles = require('./styles');\n\nconst VideoPlaceholder = ({ className }) => {\n return (\n <div className={classnames(className, styles['video-placeholder-container'])}>\n <div className={styles['info-container']}>\n <div className={styles['name-container']} />\n <div className={styles['released-container']} />\n </div>\n </div>\n );\n};\n\nVideoPlaceholder.propTypes = {\n className: PropTypes.string\n};\n\nmodule.exports = VideoPlaceholder;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst VideoPlaceholder = require('./VideoPlaceholder');\n\nmodule.exports = VideoPlaceholder;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Video = require('./Video');\n\nmodule.exports = Video;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { t } = require('i18next');\nconst { Image, SearchBar, Checkbox } = require('stremio/common');\nconst SeasonsBar = require('./SeasonsBar');\nconst Video = require('./Video');\nconst styles = require('./styles');\n\nconst VideosList = ({ className, metaItem, libraryItem, season, seasonOnSelect, toggleNotifications }) => {\n const showNotificationsToggle = React.useMemo(() => {\n return metaItem?.content?.content?.inLibrary && metaItem?.content?.content?.videos?.length;\n }, [metaItem]);\n const videos = React.useMemo(() => {\n return metaItem && metaItem.content.type === 'Ready' ?\n metaItem.content.content.videos\n :\n [];\n }, [metaItem]);\n const seasons = React.useMemo(() => {\n return videos\n .map(({ season }) => season)\n .filter((season, index, seasons) => {\n return season !== null &&\n !isNaN(season) &&\n typeof season === 'number' &&\n seasons.indexOf(season) === index;\n })\n .sort((a, b) => (a || Number.MAX_SAFE_INTEGER) - (b || Number.MAX_SAFE_INTEGER));\n }, [videos]);\n const selectedSeason = React.useMemo(() => {\n if (seasons.includes(season)) {\n return season;\n }\n\n const nonSpecialSeasons = seasons.filter((season) => season !== 0);\n if (nonSpecialSeasons.length > 0) {\n return nonSpecialSeasons[nonSpecialSeasons.length - 1];\n }\n\n if (seasons.length > 0) {\n return seasons[seasons.length - 1];\n }\n\n return null;\n }, [seasons, season]);\n const videosForSeason = React.useMemo(() => {\n return videos\n .filter((video) => {\n return selectedSeason === null || video.season === selectedSeason;\n })\n .sort((a, b) => {\n return a.episode - b.episode;\n });\n }, [videos, selectedSeason]);\n const [search, setSearch] = React.useState('');\n const searchInputOnChange = React.useCallback((event) => {\n setSearch(event.currentTarget.value);\n }, []);\n return (\n <div className={classnames(className, styles['videos-list-container'])}>\n {\n !metaItem || metaItem.content.type === 'Loading' ?\n <React.Fragment>\n <SeasonsBar.Placeholder className={styles['seasons-bar']} />\n <SearchBar.Placeholder className={styles['search-bar']} title={t('SEARCH_VIDEOS')} />\n <div className={styles['videos-scroll-container']}>\n <Video.Placeholder />\n <Video.Placeholder />\n <Video.Placeholder />\n <Video.Placeholder />\n <Video.Placeholder />\n </div>\n </React.Fragment>\n :\n metaItem.content.type === 'Err' || videosForSeason.length === 0 ?\n <div className={styles['message-container']}>\n <Image className={styles['image']} src={require('/images/empty.png')} alt={' '} />\n <div className={styles['label']}>No videos found for this meta!</div>\n </div>\n :\n <React.Fragment>\n {\n showNotificationsToggle && libraryItem ?\n <Checkbox className={styles['notifications-checkbox']} checked={!libraryItem.state.noNotif} onClick={toggleNotifications}>\n {t('DETAIL_RECEIVE_NOTIF_SERIES')}\n </Checkbox>\n :\n null\n }\n {\n seasons.length > 0 ?\n <SeasonsBar\n className={styles['seasons-bar']}\n season={selectedSeason}\n seasons={seasons}\n onSelect={seasonOnSelect}\n />\n :\n null\n }\n <SearchBar\n className={styles['search-bar']}\n title={t('SEARCH_VIDEOS')}\n value={search}\n onChange={searchInputOnChange}\n />\n <div className={styles['videos-container']}>\n {\n videosForSeason\n .filter((video) => {\n return search.length === 0 ||\n (\n (typeof video.title === 'string' && video.title.toLowerCase().includes(search.toLowerCase())) ||\n (!isNaN(video.released.getTime()) && video.released.toLocaleString(undefined, { year: '2-digit', month: 'short', day: 'numeric' }).toLowerCase().includes(search.toLowerCase()))\n );\n })\n .map((video, index) => (\n <Video\n key={index}\n id={video.id}\n title={video.title}\n thumbnail={video.thumbnail}\n episode={video.episode}\n released={video.released}\n upcoming={video.upcoming}\n watched={video.watched}\n progress={video.progress}\n deepLinks={video.deepLinks}\n scheduled={video.scheduled}\n />\n ))\n }\n </div>\n </React.Fragment>\n }\n </div>\n );\n};\n\nVideosList.propTypes = {\n className: PropTypes.string,\n metaItem: PropTypes.object,\n libraryItem: PropTypes.object,\n season: PropTypes.number,\n seasonOnSelect: PropTypes.func,\n toggleNotifications: PropTypes.func,\n};\n\nmodule.exports = VideosList;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst VideosList = require('./VideosList');\n\nmodule.exports = VideosList;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst MetaDetails = require('./MetaDetails');\n\nmodule.exports = MetaDetails;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useModelState } = require('stremio/common');\n\nconst map = (metaDetails) => ({\n ...metaDetails,\n metaItem: metaDetails.metaItem !== null && metaDetails.metaItem.content.type === 'Ready' ?\n {\n ...metaDetails.metaItem,\n content: {\n ...metaDetails.metaItem.content,\n content: {\n ...metaDetails.metaItem.content.content,\n released: new Date(\n typeof metaDetails.metaItem.content.content.released === 'string' ?\n metaDetails.metaItem.content.content.released\n :\n NaN\n ),\n videos: metaDetails.metaItem.content.content.videos.map((video) => ({\n ...video,\n released: new Date(\n typeof video.released === 'string' ?\n video.released\n :\n NaN\n ),\n }))\n }\n }\n }\n :\n metaDetails.metaItem\n});\n\nconst useMetaDetails = (urlParams) => {\n const action = React.useMemo(() => {\n if (typeof urlParams.type === 'string' && typeof urlParams.id === 'string') {\n return {\n action: 'Load',\n args: {\n model: 'MetaDetails',\n args: {\n metaPath: {\n resource: 'meta',\n type: urlParams.type,\n id: urlParams.id,\n extra: []\n },\n streamPath: typeof urlParams.videoId === 'string' ?\n {\n resource: 'stream',\n type: urlParams.type,\n id: urlParams.videoId,\n extra: []\n }\n :\n null,\n guessStream: true,\n }\n }\n };\n } else {\n return {\n action: 'Unload'\n };\n }\n }, [urlParams]);\n return useModelState({ model: 'meta_details', action, map });\n};\n\nmodule.exports = useMetaDetails;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\n\nconst useMetaExtensionTabs = (metaExtensions) => {\n const tabs = React.useMemo(() => {\n return metaExtensions\n .map((extension) => ({\n id: extension.url,\n label: extension.addon.manifest.name,\n logo: extension.addon.manifest.logo,\n icon: 'addons',\n onClick: () => setSelected(extension)\n }));\n }, [metaExtensions]);\n const [selected, setSelected] = React.useState(null);\n const clear = React.useCallback(() => {\n setSelected(null);\n }, []);\n return [tabs, selected, clear];\n};\n\nmodule.exports = useMetaExtensionTabs;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\n\nconst useSeason = (urlParams, queryParams) => {\n const season = React.useMemo(() => {\n return queryParams.has('season') && !isNaN(queryParams.get('season')) ?\n parseInt(queryParams.get('season'), 10)\n :\n null;\n }, [queryParams]);\n const setSeason = React.useCallback((season) => {\n const nextQueryParams = new URLSearchParams(queryParams);\n nextQueryParams.set('season', season);\n window.location.replace(`#${urlParams.path}?${nextQueryParams}`);\n }, [urlParams, queryParams]);\n return [season, setSeason];\n};\n\nmodule.exports = useSeason;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { Image, HorizontalNavBar } = require('stremio/common');\nconst styles = require('./styles');\n\nconst NotFound = () => {\n return (\n <div className={styles['not-found-container']}>\n <HorizontalNavBar\n className={styles['nav-bar']}\n title={'Page not found'}\n backButton={true}\n fullscreenButton={true}\n navMenu={true}\n />\n <div className={styles['not-found-content']}>\n <Image\n className={styles['not-found-image']}\n src={require('/images/empty.png')}\n alt={' '}\n />\n <div className={styles['not-found-label']}>Page not found!</div>\n </div>\n </div>\n );\n};\n\nmodule.exports = NotFound;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst NotFound = require('./NotFound');\n\nmodule.exports = NotFound;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { Image } = require('stremio/common');\nconst styles = require('./styles');\n\nconst BufferingLoader = ({ className, logo }) => {\n return (\n <div className={classnames(className, styles['buffering-loader-container'])}>\n <Image\n className={styles['buffering-loader']}\n src={logo}\n alt={' '}\n fallbackSrc={require('/images/stremio_symbol.png')}\n />\n </div>\n );\n};\n\nBufferingLoader.propTypes = {\n className: PropTypes.string,\n logo: PropTypes.string\n};\n\nmodule.exports = BufferingLoader;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst BufferingLoader = require('./BufferingLoader');\n\nmodule.exports = BufferingLoader;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { Button } = require('stremio/common');\nconst { useServices } = require('stremio/services');\nconst SeekBar = require('./SeekBar');\nconst VolumeSlider = require('./VolumeSlider');\nconst styles = require('./styles');\nconst { useBinaryState } = require('stremio/common');\nconst { t } = require('i18next');\n\nconst ControlBar = ({\n className,\n paused,\n time,\n duration,\n buffered,\n volume,\n muted,\n playbackSpeed,\n subtitlesTracks,\n audioTracks,\n metaItem,\n nextVideo,\n stream,\n statistics,\n onPlayRequested,\n onPauseRequested,\n onNextVideoRequested,\n onMuteRequested,\n onUnmuteRequested,\n onVolumeChangeRequested,\n onSeekRequested,\n onToggleSubtitlesMenu,\n onToggleInfoMenu,\n onToggleSpeedMenu,\n onToggleVideosMenu,\n onToggleOptionsMenu,\n onToggleStatisticsMenu,\n ...props\n}) => {\n const { chromecast } = useServices();\n const [chromecastServiceActive, setChromecastServiceActive] = React.useState(() => chromecast.active);\n const [buttonsMenuOpen, , , toogleButtonsMenu] = useBinaryState(false);\n const onSubtitlesButtonMouseDown = React.useCallback((event) => {\n event.nativeEvent.subtitlesMenuClosePrevented = true;\n }, []);\n const onInfoButtonMouseDown = React.useCallback((event) => {\n event.nativeEvent.infoMenuClosePrevented = true;\n }, []);\n const onSpeedButtonMouseDown = React.useCallback((event) => {\n event.nativeEvent.speedMenuClosePrevented = true;\n }, []);\n const onVideosButtonMouseDown = React.useCallback((event) => {\n event.nativeEvent.videosMenuClosePrevented = true;\n }, []);\n const onOptionsButtonMouseDown = React.useCallback((event) => {\n event.nativeEvent.optionsMenuClosePrevented = true;\n }, []);\n const onStatisticsButtonMouseDown = React.useCallback((event) => {\n event.nativeEvent.statisticsMenuClosePrevented = true;\n }, []);\n const onPlayPauseButtonClick = React.useCallback(() => {\n if (paused) {\n if (typeof onPlayRequested === 'function') {\n onPlayRequested();\n }\n } else {\n if (typeof onPauseRequested === 'function') {\n onPauseRequested();\n }\n }\n }, [paused, onPlayRequested, onPauseRequested]);\n const onNextVideoButtonClick = React.useCallback(() => {\n if (nextVideo !== null && typeof onNextVideoRequested === 'function') {\n onNextVideoRequested();\n }\n }, [nextVideo, onNextVideoRequested]);\n const onMuteButtonClick = React.useCallback(() => {\n if (muted) {\n if (typeof onUnmuteRequested === 'function') {\n onUnmuteRequested();\n }\n } else {\n if (typeof onMuteRequested === 'function') {\n onMuteRequested();\n }\n }\n }, [muted, onMuteRequested, onUnmuteRequested]);\n const onChromecastButtonClick = React.useCallback(() => {\n chromecast.transport.requestSession();\n }, []);\n React.useEffect(() => {\n const onStateChanged = () => {\n setChromecastServiceActive(chromecast.active);\n };\n chromecast.on('stateChanged', onStateChanged);\n return () => {\n chromecast.off('stateChanged', onStateChanged);\n };\n }, []);\n return (\n <div {...props} className={classnames(className, styles['control-bar-container'])}>\n <SeekBar\n className={styles['seek-bar']}\n time={time}\n duration={duration}\n buffered={buffered}\n onSeekRequested={onSeekRequested}\n />\n <div className={styles['control-bar-buttons-container']}>\n <Button className={classnames(styles['control-bar-button'], { 'disabled': typeof paused !== 'boolean' })} title={paused ? t('PLAYER_PLAY') : t('PLAYER_PAUSE')} tabIndex={-1} onClick={onPlayPauseButtonClick}>\n <Icon className={styles['icon']} name={typeof paused !== 'boolean' || paused ? 'play' : 'pause'} />\n </Button>\n {\n nextVideo !== null ?\n <Button className={classnames(styles['control-bar-button'])} title={t('PLAYER_NEXT_VIDEO')} tabIndex={-1} onClick={onNextVideoButtonClick}>\n <Icon className={styles['icon']} name={'next'} />\n </Button>\n :\n null\n }\n <Button className={classnames(styles['control-bar-button'], { 'disabled': typeof muted !== 'boolean' })} title={muted ? t('PLAYER_UNMUTE') : t('PLAYER_MUTE')} tabIndex={-1} onClick={onMuteButtonClick}>\n <Icon\n className={styles['icon']}\n name={\n (typeof muted === 'boolean' && muted) ? 'volume-mute' :\n (volume === null || isNaN(volume)) ? 'volume-off' :\n volume < 30 ? 'volume-low' :\n volume < 70 ? 'volume-medium' :\n 'volume-high'\n }\n />\n </Button>\n <VolumeSlider\n className={styles['volume-slider']}\n volume={volume}\n onVolumeChangeRequested={onVolumeChangeRequested}\n />\n <div className={styles['spacing']} />\n <Button className={styles['control-bar-buttons-menu-button']} onClick={toogleButtonsMenu}>\n <Icon className={styles['icon']} name={'more-vertical'} />\n </Button>\n <div className={classnames(styles['control-bar-buttons-menu-container'], { 'open': buttonsMenuOpen })}>\n <Button className={classnames(styles['control-bar-button'], { 'disabled': statistics === null || statistics.type === 'Err' || stream === null || typeof stream.infoHash !== 'string' || typeof stream.fileIdx !== 'number' })} tabIndex={-1} onMouseDown={onStatisticsButtonMouseDown} onClick={onToggleStatisticsMenu}>\n <Icon className={styles['icon']} name={'network'} />\n </Button>\n <Button className={classnames(styles['control-bar-button'], { 'disabled': playbackSpeed === null })} tabIndex={-1} onMouseDown={onSpeedButtonMouseDown} onClick={onToggleSpeedMenu}>\n <Icon className={styles['icon']} name={'speed'} />\n </Button>\n <Button className={classnames(styles['control-bar-button'], { 'disabled': metaItem === null || metaItem.type !== 'Ready' })} tabIndex={-1} onMouseDown={onInfoButtonMouseDown} onClick={onToggleInfoMenu}>\n <Icon className={styles['icon']} name={'about'} />\n </Button>\n <Button className={classnames(styles['control-bar-button'], { 'disabled': !chromecastServiceActive })} tabIndex={-1} onClick={onChromecastButtonClick}>\n <Icon className={styles['icon']} name={'cast'} />\n </Button>\n <Button className={classnames(styles['control-bar-button'], { 'disabled': (!Array.isArray(subtitlesTracks) || subtitlesTracks.length === 0) && (!Array.isArray(audioTracks) || audioTracks.length === 0) })} tabIndex={-1} onMouseDown={onSubtitlesButtonMouseDown} onClick={onToggleSubtitlesMenu}>\n <Icon className={styles['icon']} name={'subtitles'} />\n </Button>\n {\n metaItem?.content?.videos?.length > 0 ?\n <Button className={styles['control-bar-button']} tabIndex={-1} onMouseDown={onVideosButtonMouseDown} onClick={onToggleVideosMenu}>\n <Icon className={styles['icon']} name={'episodes'} />\n </Button>\n :\n null\n }\n <Button className={styles['control-bar-button']} tabIndex={-1} onMouseDown={onOptionsButtonMouseDown} onClick={onToggleOptionsMenu}>\n <Icon className={styles['icon']} name={'more-horizontal'} />\n </Button>\n </div>\n </div>\n </div>\n );\n};\n\nControlBar.propTypes = {\n className: PropTypes.string,\n paused: PropTypes.bool,\n time: PropTypes.number,\n duration: PropTypes.number,\n buffered: PropTypes.number,\n volume: PropTypes.number,\n muted: PropTypes.bool,\n playbackSpeed: PropTypes.number,\n subtitlesTracks: PropTypes.array,\n audioTracks: PropTypes.array,\n metaItem: PropTypes.object,\n nextVideo: PropTypes.object,\n stream: PropTypes.object,\n statistics: PropTypes.object,\n onPlayRequested: PropTypes.func,\n onPauseRequested: PropTypes.func,\n onNextVideoRequested: PropTypes.func,\n onMuteRequested: PropTypes.func,\n onUnmuteRequested: PropTypes.func,\n onVolumeChangeRequested: PropTypes.func,\n onSeekRequested: PropTypes.func,\n onToggleSubtitlesMenu: PropTypes.func,\n onToggleInfoMenu: PropTypes.func,\n onToggleSpeedMenu: PropTypes.func,\n onToggleVideosMenu: PropTypes.func,\n onToggleOptionsMenu: PropTypes.func,\n onToggleStatisticsMenu: PropTypes.func,\n};\n\nmodule.exports = ControlBar;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst debounce = require('lodash.debounce');\nconst { useRouteFocused } = require('stremio-router');\nconst { Slider, Button, useBinaryState } = require('stremio/common');\nconst formatTime = require('./formatTime');\nconst styles = require('./styles');\n\nconst SeekBar = ({ className, time, duration, buffered, onSeekRequested }) => {\n const disabled = time === null || isNaN(time) || duration === null || isNaN(duration);\n const routeFocused = useRouteFocused();\n const [seekTime, setSeekTime] = React.useState(null);\n\n const [remainingTimeMode,,, toggleRemainingTimeMode] = useBinaryState(false);\n const resetTimeDebounced = React.useCallback(debounce(() => {\n setSeekTime(null);\n }, 1500), []);\n const onSlide = React.useCallback((time) => {\n resetTimeDebounced.cancel();\n setSeekTime(time);\n }, []);\n const onComplete = React.useCallback((time) => {\n resetTimeDebounced();\n setSeekTime(time);\n if (typeof onSeekRequested === 'function') {\n onSeekRequested(time);\n }\n }, [onSeekRequested]);\n React.useLayoutEffect(() => {\n if (!routeFocused || disabled) {\n resetTimeDebounced.cancel();\n setSeekTime(null);\n }\n }, [routeFocused, disabled]);\n React.useEffect(() => {\n return () => {\n resetTimeDebounced.cancel();\n };\n }, []);\n return (\n <div className={classnames(className, styles['seek-bar-container'], { 'active': seekTime !== null })}>\n <div className={styles['label']}>{formatTime(seekTime !== null ? seekTime : time)}</div>\n <Slider\n className={classnames(styles['slider'], { 'active': seekTime !== null })}\n value={\n !disabled ?\n seekTime !== null ? seekTime : time\n :\n 0\n }\n buffered={buffered}\n minimumValue={0}\n maximumValue={duration}\n disabled={disabled}\n onSlide={onSlide}\n onComplete={onComplete}\n />\n <Button onClick={toggleRemainingTimeMode} tabIndex={-1}>\n <div className={styles['label']}>\n {remainingTimeMode && duration !== null && !isNaN(duration)\n ? formatTime(duration - time, '-')\n : formatTime(duration) }\n </div>\n </Button>\n </div>\n );\n};\n\nSeekBar.propTypes = {\n className: PropTypes.string,\n time: PropTypes.number,\n duration: PropTypes.number,\n buffered: PropTypes.number,\n onSeekRequested: PropTypes.func\n};\n\nmodule.exports = SeekBar;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst formatUnit = (value) => {\n return ('0' + value).slice(-1 * Math.max(value.toString().length, 2));\n};\n\nconst formatTime = (time, prefix = '') => {\n if (time === null || isNaN(time)) {\n return '--:--:--';\n }\n\n const hours = Math.floor(time / (1000 * 60 * 60));\n const minutes = Math.floor((time / (1000 * 60)) % 60);\n const seconds = Math.floor((time / 1000) % 60);\n return `${formatUnit(hours)}:${formatUnit(minutes)}:${formatUnit(seconds)}${prefix}`;\n};\n\nmodule.exports = formatTime;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst SeekBar = require('./SeekBar');\n\nmodule.exports = SeekBar;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst debounce = require('lodash.debounce');\nconst { useRouteFocused } = require('stremio-router');\nconst { Slider } = require('stremio/common');\nconst styles = require('./styles');\n\nconst VolumeSlider = ({ className, volume, onVolumeChangeRequested }) => {\n const disabled = volume === null || isNaN(volume);\n const routeFocused = useRouteFocused();\n const [slidingVolume, setSlidingVolume] = React.useState(null);\n const resetVolumeDebounced = React.useCallback(debounce(() => {\n setSlidingVolume(null);\n }, 100), []);\n const onSlide = React.useCallback((volume) => {\n resetVolumeDebounced.cancel();\n setSlidingVolume(volume);\n if (typeof onVolumeChangeRequested === 'function') {\n onVolumeChangeRequested(volume);\n }\n }, [onVolumeChangeRequested]);\n const onComplete = React.useCallback((volume) => {\n resetVolumeDebounced();\n setSlidingVolume(volume);\n if (typeof onVolumeChangeRequested === 'function') {\n onVolumeChangeRequested(volume);\n }\n }, [onVolumeChangeRequested]);\n React.useLayoutEffect(() => {\n if (!routeFocused || disabled) {\n resetVolumeDebounced.cancel();\n setSlidingVolume(null);\n }\n }, [routeFocused, disabled]);\n React.useEffect(() => {\n return () => {\n resetVolumeDebounced.cancel();\n };\n }, []);\n return (\n <Slider\n className={classnames(className, styles['volume-slider'], { 'active': slidingVolume !== null })}\n value={\n !disabled ?\n slidingVolume !== null ? slidingVolume : volume\n :\n 100\n }\n minimumValue={0}\n maximumValue={100}\n disabled={disabled}\n onSlide={onSlide}\n onComplete={onComplete}\n />\n );\n};\n\nVolumeSlider.propTypes = {\n className: PropTypes.string,\n volume: PropTypes.number,\n onVolumeChangeRequested: PropTypes.func\n};\n\nmodule.exports = VolumeSlider;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst VolumeSlider = require('./VolumeSlider');\n\nmodule.exports = VolumeSlider;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst ControlBar = require('./ControlBar');\n\nmodule.exports = ControlBar;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useTranslation } = require('react-i18next');\nconst PropTypes = require('prop-types');\nconst classNames = require('classnames');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst Button = require('stremio/common/Button');\nconst styles = require('./styles');\n\nconst Error = ({ className, code, message, stream }) => {\n const { t } = useTranslation();\n\n const [playlist, fileName] = React.useMemo(() => {\n return [\n stream?.deepLinks?.externalPlayer?.playlist,\n stream?.deepLinks?.externalPlayer?.fileName,\n ];\n }, [stream]);\n\n return (\n <div className={classNames(className, styles['error'])}>\n <div className={styles['error-label']} title={message}>{message}</div>\n {\n code === 2 ?\n <div className={styles['error-sub']} title={t('EXTERNAL_PLAYER_HINT')}>{t('EXTERNAL_PLAYER_HINT')}</div>\n :\n null\n }\n {\n playlist && fileName ?\n <Button\n className={styles['playlist-button']}\n title={t('PLAYER_OPEN_IN_EXTERNAL')}\n href={playlist}\n download={fileName}\n target={'_blank'}\n >\n <Icon className={styles['icon']} name={'ic_downloads'} />\n <div className={styles['label']}>{t('PLAYER_OPEN_IN_EXTERNAL')}</div>\n </Button>\n :\n null\n }\n </div>\n );\n};\n\nError.propTypes = {\n className: PropTypes.string,\n code: PropTypes.number,\n message: PropTypes.string,\n stream: PropTypes.object,\n};\n\nmodule.exports = Error;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Error = require('./Error');\n\nmodule.exports = Error;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\n// const Stream = require('stremio/routes/MetaDetails/StreamsList/Stream');\n// const AddonDetails = require('stremio/common/AddonDetailsModal/AddonDetails');\nconst { MetaPreview, CONSTANTS } = require('stremio/common');\nconst styles = require('./styles');\n\nconst InfoMenu = ({ className, ...props }) => {\n const metaItem = React.useMemo(() => {\n return props.metaItem !== null ?\n {\n ...props.metaItem,\n links: props.metaItem.links.filter(({ category }) => category === CONSTANTS.SHARE_LINK_CATEGORY)\n }\n :\n null;\n }, [props.metaItem]);\n const onMouseDown = React.useCallback((event) => {\n event.nativeEvent.infoMenuClosePrevented = true;\n }, []);\n return (\n <div className={classnames(className, styles['info-menu-container'])} onMouseDown={onMouseDown}>\n {\n metaItem !== null ?\n <MetaPreview\n className={styles['meta-preview']}\n compact={true}\n name={metaItem.name}\n logo={metaItem.logo}\n runtime={metaItem.runtime}\n releaseInfo={metaItem.releaseInfo}\n released={metaItem.released}\n description={metaItem.description}\n links={metaItem.links}\n />\n :\n null\n }\n {/* {\n props.stream !== null ?\n <Stream\n {...props.stream}\n className={classnames(styles['stream'], 'active')}\n addonName={props.addon !== null ? props.addon.manifest.name : ''}\n />\n :\n null\n } */}\n {/* {\n props.addon !== null ?\n <AddonDetails\n id={props.addon.manifest.id}\n name={props.addon.manifest.name}\n version={props.addon.manifest.version}\n logo={props.addon.manifest.logo}\n description={props.addon.manifest.description}\n types={props.addon.manifest.types}\n transportUrl={props.addon.transportUrl}\n />\n :\n null\n } */}\n </div>\n );\n};\n\nInfoMenu.propTypes = {\n className: PropTypes.string,\n metaItem: PropTypes.object,\n addon: PropTypes.object,\n stream: PropTypes.object\n};\n\nmodule.exports = InfoMenu;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst InfoMenu = require('./InfoMenu');\n\nmodule.exports = InfoMenu;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { Image, Button, CONSTANTS } = require('stremio/common');\nconst styles = require('./styles');\n\nconst NextVideoPopup = ({ className, metaItem, nextVideo, onDismiss, onNextVideoRequested }) => {\n const watchNowButtonRef = React.useRef(null);\n const [animationEnded, setAnimationEnded] = React.useState(false);\n const videoName = React.useMemo(() => {\n const title = nextVideo && nextVideo.title || metaItem && metaItem.title;\n return nextVideo !== null &&\n typeof nextVideo.season === 'number' &&\n typeof nextVideo.episode === 'number' ?\n `${title} (S${nextVideo.season}E${nextVideo.episode})`\n :\n title;\n }, [metaItem, nextVideo]);\n const onAnimationEnd = React.useCallback(() => {\n setAnimationEnded(true);\n }, []);\n const renderPosterFallback = React.useCallback(() => {\n return metaItem !== null && typeof metaItem.type === 'string' ?\n <Icon\n className={styles['placeholder-icon']}\n name={CONSTANTS.ICON_FOR_TYPE.has(metaItem.type) ? CONSTANTS.ICON_FOR_TYPE.get(metaItem.type) : CONSTANTS.ICON_FOR_TYPE.get('other')}\n />\n :\n null;\n }, [metaItem]);\n const onDismissButtonClick = React.useCallback(() => {\n if (typeof onDismiss === 'function') {\n onDismiss();\n }\n }, [onDismiss]);\n const onWatchNowButtonClick = React.useCallback(() => {\n if (typeof onNextVideoRequested === 'function') {\n onNextVideoRequested();\n }\n }, [onNextVideoRequested]);\n React.useLayoutEffect(() => {\n if (animationEnded === true && watchNowButtonRef.current !== null) {\n watchNowButtonRef.current.focus();\n }\n }, [animationEnded]);\n return (\n <div className={classnames(className, styles['next-video-popup-container'])} onAnimationEnd={onAnimationEnd}>\n <div className={styles['poster-container']}>\n <Image\n className={styles['poster-image']}\n src={nextVideo?.thumbnail}\n alt={' '}\n fallbackSrc={metaItem?.poster}\n renderFallback={renderPosterFallback}\n />\n </div>\n <div className={styles['info-container']}>\n <div className={styles['details-container']}>\n {\n typeof metaItem?.name === 'string' ?\n <div className={styles['name']}>\n <span className={styles['label']}>Next on</span> { metaItem.name }\n </div>\n :\n null\n }\n {\n typeof videoName === 'string' ?\n <div className={styles['title']}>\n { videoName }\n </div>\n :\n null\n }\n {\n nextVideo !== null && typeof nextVideo.overview === 'string' ?\n <div className={styles['description']}>\n { nextVideo.overview }\n </div>\n :\n null\n }\n </div>\n <div className={styles['buttons-container']}>\n <Button className={classnames(styles['button-container'], styles['dismiss'])} onClick={onDismissButtonClick}>\n <Icon className={styles['icon']} name={'close'} />\n <div className={styles['label']}>Dismiss</div>\n </Button>\n <Button ref={watchNowButtonRef} className={classnames(styles['button-container'], styles['play-button'])} onClick={onWatchNowButtonClick}>\n <Icon className={styles['icon']} name={'play'} />\n <div className={styles['label']}>Watch Now</div>\n </Button>\n </div>\n </div>\n </div>\n );\n};\n\nNextVideoPopup.propTypes = {\n className: PropTypes.string,\n metaItem: PropTypes.object,\n nextVideo: PropTypes.object,\n onDismiss: PropTypes.func,\n onNextVideoRequested: PropTypes.func\n};\n\nmodule.exports = NextVideoPopup;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst NextVideoPopup = require('./NextVideoPopup');\n\nmodule.exports = NextVideoPopup;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { Button } = require('stremio/common');\nconst styles = require('./styles');\n\nconst Option = ({ icon, label, deviceId, disabled, onClick }) => {\n const onButtonClick = React.useCallback(() => {\n if (typeof onClick === 'function') {\n onClick(deviceId);\n }\n }, [onClick, deviceId]);\n return (\n <Button className={classnames(styles['option-container'], { 'disabled': disabled })} disabled={disabled} onClick={onButtonClick}>\n <Icon className={styles['icon']} name={icon} />\n <div className={styles['label']}>{ label }</div>\n </Button>\n );\n};\n\nOption.propTypes = {\n icon: PropTypes.string,\n label: PropTypes.string,\n deviceId: PropTypes.string,\n disabled: PropTypes.bool,\n onClick: PropTypes.func,\n};\n\nmodule.exports = Option;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Option = require('./Option');\n\nmodule.exports = Option;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { useTranslation } = require('react-i18next');\nconst { usePlatform, useToast } = require('stremio/common');\nconst { useServices } = require('stremio/services');\nconst Option = require('./Option');\nconst styles = require('./styles');\n\nconst OptionsMenu = ({ className, stream, playbackDevices }) => {\n const { t } = useTranslation();\n const { core } = useServices();\n const platform = usePlatform();\n const toast = useToast();\n const [streamingUrl, downloadUrl] = React.useMemo(() => {\n return stream !== null ?\n stream.deepLinks &&\n stream.deepLinks.externalPlayer &&\n [stream.deepLinks.externalPlayer.streaming, stream.deepLinks.externalPlayer.download]\n :\n [null, null];\n }, [stream]);\n const externalDevices = React.useMemo(() => {\n return playbackDevices.filter(({ type }) => type === 'external');\n }, [playbackDevices]);\n const onCopyStreamButtonClick = React.useCallback(() => {\n if (streamingUrl || downloadUrl) {\n navigator.clipboard.writeText(streamingUrl || downloadUrl)\n .then(() => {\n toast.show({\n type: 'success',\n title: 'Copied',\n message: t('PLAYER_COPY_STREAM_SUCCESS'),\n timeout: 3000\n });\n })\n .catch((e) => {\n console.error(e);\n toast.show({\n type: 'error',\n title: t('Error'),\n message: `${t('PLAYER_COPY_STREAM_ERROR')}: ${streamingUrl || downloadUrl}`,\n timeout: 3000\n });\n });\n }\n }, [streamingUrl, downloadUrl]);\n const onDownloadVideoButtonClick = React.useCallback(() => {\n if (streamingUrl || downloadUrl) {\n platform.openExternal(streamingUrl || downloadUrl);\n }\n }, [streamingUrl, downloadUrl]);\n const onExternalDeviceRequested = React.useCallback((deviceId) => {\n if (streamingUrl) {\n core.transport.dispatch({\n action: 'StreamingServer',\n args: {\n action: 'PlayOnDevice',\n args: {\n device: deviceId,\n source: streamingUrl,\n }\n }\n });\n }\n }, [streamingUrl]);\n const onMouseDown = React.useCallback((event) => {\n event.nativeEvent.optionsMenuClosePrevented = true;\n }, []);\n return (\n <div className={classnames(className, styles['options-menu-container'])} onMouseDown={onMouseDown}>\n {\n streamingUrl || downloadUrl ?\n <Option\n icon={'link'}\n label={t('CTX_COPY_STREAM_LINK')}\n disabled={stream === null}\n onClick={onCopyStreamButtonClick}\n />\n :\n null\n }\n {\n streamingUrl || downloadUrl ?\n <Option\n icon={'download'}\n label={t('CTX_DOWNLOAD_VIDEO')}\n disabled={stream === null}\n onClick={onDownloadVideoButtonClick}\n />\n :\n null\n }\n {\n streamingUrl && externalDevices.map(({ id, name }) => (\n <Option\n key={id}\n icon={'vlc'}\n label={t('PLAYER_PLAY_IN', { device: name })}\n deviceId={id}\n disabled={stream === null}\n onClick={onExternalDeviceRequested}\n />\n ))\n }\n </div>\n );\n};\n\nOptionsMenu.propTypes = {\n className: PropTypes.string,\n stream: PropTypes.object,\n playbackDevices: PropTypes.array\n};\n\nmodule.exports = OptionsMenu;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst OptionsMenu = require('./OptionsMenu');\n\nmodule.exports = OptionsMenu;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst debounce = require('lodash.debounce');\nconst langs = require('langs');\nconst { useTranslation } = require('react-i18next');\nconst { useRouteFocused } = require('stremio-router');\nconst { useServices } = require('stremio/services');\nconst { HorizontalNavBar, useFullscreen, useBinaryState, useToast, useStreamingServer, withCoreSuspender } = require('stremio/common');\nconst BufferingLoader = require('./BufferingLoader');\nconst VolumeChangeIndicator = require('./VolumeChangeIndicator');\nconst Error = require('./Error');\nconst ControlBar = require('./ControlBar');\nconst NextVideoPopup = require('./NextVideoPopup');\nconst StatisticsMenu = require('./StatisticsMenu');\nconst InfoMenu = require('./InfoMenu');\nconst OptionsMenu = require('./OptionsMenu');\nconst VideosMenu = require('./VideosMenu');\nconst SubtitlesMenu = require('./SubtitlesMenu');\nconst SpeedMenu = require('./SpeedMenu');\nconst usePlayer = require('./usePlayer');\nconst useSettings = require('./useSettings');\nconst useStatistics = require('./useStatistics');\nconst useVideo = require('./useVideo');\nconst styles = require('./styles');\nconst Video = require('./Video');\n\nconst Player = ({ urlParams, queryParams }) => {\n const { t } = useTranslation();\n const { chromecast, shell, core } = useServices();\n const forceTranscoding = React.useMemo(() => {\n return queryParams.has('forceTranscoding');\n }, [queryParams]);\n\n const [player, videoParamsChanged, timeChanged, seek, pausedChanged, ended, nextVideo] = usePlayer(urlParams);\n const [settings, updateSettings] = useSettings();\n const streamingServer = useStreamingServer();\n const statistics = useStatistics(player, streamingServer);\n const video = useVideo();\n const routeFocused = useRouteFocused();\n const toast = useToast();\n\n const [seeking, setSeeking] = React.useState(false);\n\n const [casting, setCasting] = React.useState(() => {\n return chromecast.active && chromecast.transport.getCastState() === cast.framework.CastState.CONNECTED;\n });\n\n const [immersed, setImmersed] = React.useState(true);\n const setImmersedDebounced = React.useCallback(debounce(setImmersed, 3000), []);\n const [, , , toggleFullscreen] = useFullscreen();\n\n const [optionsMenuOpen, , closeOptionsMenu, toggleOptionsMenu] = useBinaryState(false);\n const [subtitlesMenuOpen, , closeSubtitlesMenu, toggleSubtitlesMenu] = useBinaryState(false);\n const [infoMenuOpen, , closeInfoMenu, toggleInfoMenu] = useBinaryState(false);\n const [speedMenuOpen, , closeSpeedMenu, toggleSpeedMenu] = useBinaryState(false);\n const [videosMenuOpen, , closeVideosMenu, toggleVideosMenu] = useBinaryState(false);\n const [statisticsMenuOpen, , closeStatisticsMenu, toggleStatisticsMenu] = useBinaryState(false);\n const [nextVideoPopupOpen, openNextVideoPopup, closeNextVideoPopup] = useBinaryState(false);\n\n const menusOpen = React.useMemo(() => {\n return optionsMenuOpen || subtitlesMenuOpen || infoMenuOpen || speedMenuOpen || videosMenuOpen || statisticsMenuOpen;\n }, [optionsMenuOpen, subtitlesMenuOpen, infoMenuOpen, speedMenuOpen, videosMenuOpen, statisticsMenuOpen]);\n\n const closeMenus = React.useCallback(() => {\n closeOptionsMenu();\n closeSubtitlesMenu();\n closeInfoMenu();\n closeSpeedMenu();\n closeVideosMenu();\n closeStatisticsMenu();\n }, []);\n\n const overlayHidden = React.useMemo(() => {\n return immersed && !casting && video.state.paused !== null && !video.state.paused && !menusOpen && !nextVideoPopupOpen;\n }, [immersed, casting, video.state.paused, menusOpen, nextVideoPopupOpen]);\n\n const nextVideoPopupDismissed = React.useRef(false);\n const defaultSubtitlesSelected = React.useRef(false);\n const defaultAudioTrackSelected = React.useRef(false);\n const [error, setError] = React.useState(null);\n\n const onImplementationChanged = React.useCallback(() => {\n video.setProp('subtitlesSize', settings.subtitlesSize);\n video.setProp('subtitlesOffset', settings.subtitlesOffset);\n video.setProp('subtitlesTextColor', settings.subtitlesTextColor);\n video.setProp('subtitlesBackgroundColor', settings.subtitlesBackgroundColor);\n video.setProp('subtitlesOutlineColor', settings.subtitlesOutlineColor);\n video.setProp('extraSubtitlesSize', settings.subtitlesSize);\n video.setProp('extraSubtitlesOffset', settings.subtitlesOffset);\n video.setProp('extraSubtitlesTextColor', settings.subtitlesTextColor);\n video.setProp('extraSubtitlesBackgroundColor', settings.subtitlesBackgroundColor);\n video.setProp('extraSubtitlesOutlineColor', settings.subtitlesOutlineColor);\n }, [settings.subtitlesSize, settings.subtitlesOffset, settings.subtitlesTextColor, settings.subtitlesBackgroundColor, settings.subtitlesOutlineColor]);\n\n const onEnded = React.useCallback(() => {\n ended();\n if (player.nextVideo !== null) {\n onNextVideoRequested();\n } else {\n window.history.back();\n }\n }, [player.nextVideo, onNextVideoRequested]);\n\n const onError = React.useCallback((error) => {\n console.error('Player', error);\n if (error.critical) {\n setError(error);\n } else {\n toast.show({\n type: 'error',\n title: t('ERROR'),\n message: error.message,\n timeout: 3000\n });\n }\n }, []);\n\n const onSubtitlesTrackLoaded = React.useCallback(() => {\n toast.show({\n type: 'success',\n title: t('PLAYER_SUBTITLES_LOADED'),\n message: t('PLAYER_SUBTITLES_LOADED_EMBEDDED'),\n timeout: 3000\n });\n }, []);\n\n const onExtraSubtitlesTrackLoaded = React.useCallback((track) => {\n toast.show({\n type: 'success',\n title: t('PLAYER_SUBTITLES_LOADED'),\n message: track.exclusive ? t('PLAYER_SUBTITLES_LOADED_EXCLUSIVE') : t('PLAYER_SUBTITLES_LOADED_ORIGIN', { origin: track.origin }),\n timeout: 3000\n });\n }, []);\n\n const onPlayRequested = React.useCallback(() => {\n video.setProp('paused', false);\n setSeeking(false);\n }, []);\n\n const onPlayRequestedDebounced = React.useCallback(debounce(onPlayRequested, 200), []);\n\n const onPauseRequested = React.useCallback(() => {\n video.setProp('paused', true);\n }, []);\n\n const onPauseRequestedDebounced = React.useCallback(debounce(onPauseRequested, 200), []);\n const onMuteRequested = React.useCallback(() => {\n video.setProp('muted', true);\n }, []);\n\n const onUnmuteRequested = React.useCallback(() => {\n video.setProp('muted', false);\n }, []);\n\n const onVolumeChangeRequested = React.useCallback((volume) => {\n video.setProp('volume', volume);\n }, []);\n\n const onSeekRequested = React.useCallback((time) => {\n !seeking && setSeeking(true);\n video.setProp('time', time);\n }, []);\n\n const onPlaybackSpeedChanged = React.useCallback((rate) => {\n video.setProp('playbackSpeed', rate);\n }, []);\n\n const onSubtitlesTrackSelected = React.useCallback((id) => {\n video.setProp('selectedSubtitlesTrackId', id);\n video.setProp('selectedExtraSubtitlesTrackId', null);\n }, []);\n\n const onExtraSubtitlesTrackSelected = React.useCallback((id) => {\n video.setProp('selectedSubtitlesTrackId', null);\n video.setProp('selectedExtraSubtitlesTrackId', id);\n }, []);\n\n const onAudioTrackSelected = React.useCallback((id) => {\n video.setProp('selectedAudioTrackId', id);\n }, []);\n\n const onExtraSubtitlesDelayChanged = React.useCallback((delay) => {\n video.setProp('extraSubtitlesDelay', delay);\n }, []);\n\n const onSubtitlesSizeChanged = React.useCallback((size) => {\n updateSettings({ subtitlesSize: size });\n }, [updateSettings]);\n\n const onSubtitlesOffsetChanged = React.useCallback((offset) => {\n updateSettings({ subtitlesOffset: offset });\n }, [updateSettings]);\n\n const onDismissNextVideoPopup = React.useCallback(() => {\n closeNextVideoPopup();\n nextVideoPopupDismissed.current = true;\n }, []);\n\n const onNextVideoRequested = React.useCallback(() => {\n if (player.nextVideo !== null) {\n nextVideo();\n\n const deepLinks = player.nextVideo.deepLinks;\n if (deepLinks.metaDetailsStreams && deepLinks.player) {\n window.location.replace(deepLinks.metaDetailsStreams);\n window.location.href = deepLinks.player;\n } else {\n window.location.replace(deepLinks.player ?? deepLinks.metaDetailsStreams);\n }\n }\n }, [player.nextVideo]);\n\n const onVideoClick = React.useCallback(() => {\n if (video.state.paused !== null) {\n if (video.state.paused) {\n onPlayRequestedDebounced();\n } else {\n onPauseRequestedDebounced();\n }\n }\n }, [video.state.paused]);\n\n const onVideoDoubleClick = React.useCallback(() => {\n onPlayRequestedDebounced.cancel();\n onPauseRequestedDebounced.cancel();\n toggleFullscreen();\n }, [toggleFullscreen]);\n\n const onContainerMouseDown = React.useCallback((event) => {\n if (!event.nativeEvent.optionsMenuClosePrevented) {\n closeOptionsMenu();\n }\n if (!event.nativeEvent.subtitlesMenuClosePrevented) {\n closeSubtitlesMenu();\n }\n if (!event.nativeEvent.infoMenuClosePrevented) {\n closeInfoMenu();\n }\n if (!event.nativeEvent.speedMenuClosePrevented) {\n closeSpeedMenu();\n }\n if (!event.nativeEvent.videosMenuClosePrevented) {\n closeVideosMenu();\n }\n if (!event.nativeEvent.statisticsMenuClosePrevented) {\n closeStatisticsMenu();\n }\n }, []);\n\n const onContainerMouseMove = React.useCallback((event) => {\n setImmersed(false);\n if (!event.nativeEvent.immersePrevented) {\n setImmersedDebounced(true);\n } else {\n setImmersedDebounced.cancel();\n }\n }, []);\n\n const onContainerMouseLeave = React.useCallback(() => {\n setImmersedDebounced.cancel();\n setImmersed(true);\n }, []);\n\n const onBarMouseMove = React.useCallback((event) => {\n event.nativeEvent.immersePrevented = true;\n }, []);\n\n React.useEffect(() => {\n setError(null);\n if (player.selected === null) {\n video.unload();\n } else if (streamingServer.settings !== null && streamingServer.settings.type !== 'Loading' &&\n (player.selected.metaRequest === null || (player.metaItem !== null && player.metaItem.type !== 'Loading'))) {\n video.load({\n stream: {\n ...player.selected.stream,\n subtitles: Array.isArray(player.selected.stream.subtitles) ?\n player.selected.stream.subtitles.map((subtitles) => ({\n ...subtitles,\n label: subtitles.url\n }))\n :\n []\n },\n autoplay: true,\n time: player.libraryItem !== null &&\n player.selected.streamRequest !== null &&\n player.selected.streamRequest.path !== null &&\n player.libraryItem.state.video_id === player.selected.streamRequest.path.id ?\n player.libraryItem.state.timeOffset\n :\n 0,\n forceTranscoding: forceTranscoding || casting,\n maxAudioChannels: settings.surroundSound ? 32 : 2,\n streamingServerURL: streamingServer.baseUrl ?\n casting ?\n streamingServer.baseUrl\n :\n streamingServer.selected.transportUrl\n :\n null,\n seriesInfo: player.seriesInfo\n }, {\n chromecastTransport: chromecast.active ? chromecast.transport : null,\n shellTransport: shell.active ? shell.transport : null,\n });\n }\n }, [streamingServer.baseUrl, player.selected, player.metaItem, forceTranscoding, casting]);\n React.useEffect(() => {\n if (video.state.stream !== null) {\n const tracks = player.subtitles.map((subtitles) => ({\n ...subtitles,\n label: subtitles.url\n }));\n video.addExtraSubtitlesTracks(tracks);\n }\n }, [player.subtitles, video.state.stream]);\n\n React.useEffect(() => {\n video.setProp('subtitlesSize', settings.subtitlesSize);\n video.setProp('extraSubtitlesSize', settings.subtitlesSize);\n }, [settings.subtitlesSize]);\n\n React.useEffect(() => {\n video.setProp('subtitlesOffset', settings.subtitlesOffset);\n video.setProp('extraSubtitlesOffset', settings.subtitlesOffset);\n }, [settings.subtitlesOffset]);\n\n React.useEffect(() => {\n video.setProp('subtitlesTextColor', settings.subtitlesTextColor);\n video.setProp('extraSubtitlesTextColor', settings.subtitlesTextColor);\n }, [settings.subtitlesTextColor]);\n\n React.useEffect(() => {\n video.setProp('subtitlesBackgroundColor', settings.subtitlesBackgroundColor);\n video.setProp('extraSubtitlesBackgroundColor', settings.subtitlesBackgroundColor);\n }, [settings.subtitlesBackgroundColor]);\n\n React.useEffect(() => {\n video.setProp('subtitlesOutlineColor', settings.subtitlesOutlineColor);\n video.setProp('extraSubtitlesOutlineColor', settings.subtitlesOutlineColor);\n }, [settings.subtitlesOutlineColor]);\n\n React.useEffect(() => {\n if (video.state.time !== null && !isNaN(video.state.time) &&\n video.state.duration !== null && !isNaN(video.state.duration) &&\n video.state.manifest !== null && typeof video.state.manifest.name === 'string') {\n seeking ?\n seek(video.state.time, video.state.duration, video.state.manifest.name)\n :\n timeChanged(video.state.time, video.state.duration, video.state.manifest.name);\n }\n }, [video.state.time, video.state.duration, video.state.manifest]);\n\n React.useEffect(() => {\n if (video.state.paused !== null) {\n pausedChanged(video.state.paused);\n }\n }, [video.state.paused]);\n\n React.useEffect(() => {\n videoParamsChanged(video.state.videoParams);\n }, [video.state.videoParams]);\n\n React.useEffect(() => {\n if (!!settings.bingeWatching && player.nextVideo !== null && !nextVideoPopupDismissed.current) {\n if (video.state.time !== null && video.state.duration !== null && video.state.time < video.state.duration && (video.state.duration - video.state.time) <= settings.nextVideoNotificationDuration) {\n openNextVideoPopup();\n } else {\n closeNextVideoPopup();\n }\n }\n }, [player.nextVideo, video.state.time, video.state.duration]);\n\n React.useEffect(() => {\n if (!defaultSubtitlesSelected.current) {\n const findTrackByLang = (tracks, lang) => tracks.find((track) => track.lang === lang || langs.where('1', track.lang)?.[2] === lang);\n\n const subtitlesTrack = findTrackByLang(video.state.subtitlesTracks, settings.subtitlesLanguage);\n const extraSubtitlesTrack = findTrackByLang(video.state.extraSubtitlesTracks, settings.subtitlesLanguage);\n\n if (subtitlesTrack && subtitlesTrack.id) {\n onSubtitlesTrackSelected(subtitlesTrack.id);\n defaultSubtitlesSelected.current = true;\n } else if (extraSubtitlesTrack && extraSubtitlesTrack.id) {\n onExtraSubtitlesTrackSelected(extraSubtitlesTrack.id);\n defaultSubtitlesSelected.current = true;\n }\n }\n }, [video.state.subtitlesTracks, video.state.extraSubtitlesTracks]);\n\n React.useEffect(() => {\n if (!defaultAudioTrackSelected.current) {\n const findTrackByLang = (tracks, lang) => tracks.find((track) => track.lang === lang || langs.where('1', track.lang)?.[2] === lang);\n const audioTrack = findTrackByLang(video.state.audioTracks, settings.audioLanguage);\n\n if (audioTrack && audioTrack.id) {\n onAudioTrackSelected(audioTrack.id);\n defaultAudioTrackSelected.current = true;\n }\n }\n }, [video.state.audioTracks]);\n\n React.useEffect(() => {\n defaultSubtitlesSelected.current = false;\n defaultAudioTrackSelected.current = false;\n nextVideoPopupDismissed.current = false;\n }, [video.state.stream]);\n\n React.useEffect(() => {\n if ((!Array.isArray(video.state.subtitlesTracks) || video.state.subtitlesTracks.length === 0) &&\n (!Array.isArray(video.state.extraSubtitlesTracks) || video.state.extraSubtitlesTracks.length === 0) &&\n (!Array.isArray(video.state.audioTracks) || video.state.audioTracks.length === 0)) {\n closeSubtitlesMenu();\n }\n }, [video.state.audioTracks, video.state.subtitlesTracks, video.state.extraSubtitlesTracks]);\n\n React.useEffect(() => {\n if (player.metaItem === null || player.metaItem.type !== 'Ready') {\n closeInfoMenu();\n closeVideosMenu();\n }\n }, [player.metaItem]);\n\n React.useEffect(() => {\n if (video.state.playbackSpeed === null) {\n closeSpeedMenu();\n }\n }, [video.state.playbackSpeed]);\n\n React.useEffect(() => {\n const toastFilter = (item) => item?.dataset?.type === 'CoreEvent';\n toast.addFilter(toastFilter);\n const onCastStateChange = () => {\n setCasting(chromecast.active && chromecast.transport.getCastState() === cast.framework.CastState.CONNECTED);\n };\n const onChromecastServiceStateChange = () => {\n onCastStateChange();\n if (chromecast.active) {\n chromecast.transport.on(\n cast.framework.CastContextEventType.CAST_STATE_CHANGED,\n onCastStateChange\n );\n }\n };\n const onCoreEvent = ({ event }) => {\n if (event === 'PlayingOnDevice') {\n onPauseRequested();\n }\n };\n chromecast.on('stateChanged', onChromecastServiceStateChange);\n core.transport.on('CoreEvent', onCoreEvent);\n onChromecastServiceStateChange();\n return () => {\n toast.removeFilter(toastFilter);\n chromecast.off('stateChanged', onChromecastServiceStateChange);\n core.transport.off('CoreEvent', onCoreEvent);\n if (chromecast.active) {\n chromecast.transport.off(\n cast.framework.CastContextEventType.CAST_STATE_CHANGED,\n onCastStateChange\n );\n }\n };\n }, []);\n\n React.useLayoutEffect(() => {\n const onKeyDown = (event) => {\n switch (event.code) {\n case 'Space': {\n if (!menusOpen && !nextVideoPopupOpen && video.state.paused !== null) {\n if (video.state.paused) {\n onPlayRequested();\n setSeeking(false);\n } else {\n onPauseRequested();\n }\n }\n\n break;\n }\n case 'ArrowRight': {\n if (!menusOpen && !nextVideoPopupOpen && video.state.time !== null) {\n const seekDuration = event.shiftKey ? settings.seekShortTimeDuration : settings.seekTimeDuration;\n onSeekRequested(video.state.time + seekDuration);\n }\n\n break;\n }\n case 'ArrowLeft': {\n if (!menusOpen && !nextVideoPopupOpen && video.state.time !== null) {\n const seekDuration = event.shiftKey ? settings.seekShortTimeDuration : settings.seekTimeDuration;\n onSeekRequested(video.state.time - seekDuration);\n }\n\n break;\n }\n case 'ArrowUp': {\n if (!menusOpen && !nextVideoPopupOpen && video.state.volume !== null) {\n onVolumeChangeRequested(video.state.volume + 5);\n }\n\n break;\n }\n case 'ArrowDown': {\n if (!menusOpen && !nextVideoPopupOpen && video.state.volume !== null) {\n onVolumeChangeRequested(video.state.volume - 5);\n }\n\n break;\n }\n case 'KeyS': {\n closeMenus();\n if ((Array.isArray(video.state.subtitlesTracks) && video.state.subtitlesTracks.length > 0) ||\n (Array.isArray(video.state.extraSubtitlesTracks) && video.state.extraSubtitlesTracks.length > 0) ||\n (Array.isArray(video.state.audioTracks) && video.state.audioTracks.length > 0)) {\n toggleSubtitlesMenu();\n }\n\n break;\n }\n case 'KeyI': {\n closeMenus();\n if (player.metaItem !== null && player.metaItem.type === 'Ready') {\n toggleInfoMenu();\n }\n\n break;\n }\n case 'KeyR': {\n closeMenus();\n if (video.state.playbackSpeed !== null) {\n toggleSpeedMenu();\n }\n\n break;\n }\n case 'KeyV': {\n closeMenus();\n if (player.metaItem !== null && player.metaItem.type === 'Ready' && player.metaItem?.content?.videos?.length > 0) {\n toggleVideosMenu();\n }\n\n break;\n }\n case 'KeyD': {\n closeMenus();\n if (streamingServer.statistics !== null && streamingServer.statistics.type !== 'Err' && player.selected && typeof player.selected.stream.infoHash === 'string' && typeof player.selected.stream.fileIdx === 'number') {\n toggleStatisticsMenu();\n }\n\n break;\n }\n case 'Escape': {\n closeMenus();\n break;\n }\n }\n };\n const onKeyUp = (event) => {\n if (event.code === 'ArrowRight' || event.code === 'ArrowLeft') {\n seeking && setSeeking(false);\n }\n };\n const onWheel = ({ deltaY }) => {\n if (deltaY > 0) {\n if (!menusOpen && video.state.volume !== null) {\n onVolumeChangeRequested(video.state.volume - 5);\n }\n } else {\n if (!menusOpen && video.state.volume !== null) {\n onVolumeChangeRequested(video.state.volume + 5);\n }\n }\n };\n if (routeFocused) {\n window.addEventListener('keydown', onKeyDown);\n window.addEventListener('keyup', onKeyUp);\n window.addEventListener('wheel', onWheel);\n }\n return () => {\n window.removeEventListener('keydown', onKeyDown);\n window.removeEventListener('keyup', onKeyUp);\n window.removeEventListener('wheel', onWheel);\n };\n }, [player.metaItem, player.selected, streamingServer.statistics, settings.seekTimeDuration, settings.seekShortTimeDuration, routeFocused, menusOpen, nextVideoPopupOpen, video.state.paused, video.state.time, video.state.volume, video.state.audioTracks, video.state.subtitlesTracks, video.state.extraSubtitlesTracks, video.state.playbackSpeed, toggleSubtitlesMenu, toggleInfoMenu, toggleVideosMenu, toggleStatisticsMenu]);\n\n React.useEffect(() => {\n video.events.on('error', onError);\n video.events.on('ended', onEnded);\n video.events.on('subtitlesTrackLoaded', onSubtitlesTrackLoaded);\n video.events.on('extraSubtitlesTrackLoaded', onExtraSubtitlesTrackLoaded);\n video.events.on('implementationChanged', onImplementationChanged);\n\n return () => {\n video.events.off('error', onError);\n video.events.off('ended', onEnded);\n video.events.off('subtitlesTrackLoaded', onSubtitlesTrackLoaded);\n video.events.off('extraSubtitlesTrackLoaded', onExtraSubtitlesTrackLoaded);\n video.events.off('implementationChanged', onImplementationChanged);\n };\n }, []);\n\n React.useLayoutEffect(() => {\n return () => {\n setImmersedDebounced.cancel();\n onPlayRequestedDebounced.cancel();\n onPauseRequestedDebounced.cancel();\n };\n }, []);\n\n return (\n <div className={classnames(styles['player-container'], { [styles['overlayHidden']]: overlayHidden })}\n onMouseDown={onContainerMouseDown}\n onMouseMove={onContainerMouseMove}\n onMouseOver={onContainerMouseMove}\n onMouseLeave={onContainerMouseLeave}>\n <Video\n ref={video.containerElement}\n className={styles['layer']}\n onClick={onVideoClick}\n onDoubleClick={onVideoDoubleClick}\n />\n {\n !video.state.loaded ?\n <div className={classnames(styles['layer'], styles['background-layer'])}>\n <img className={styles['image']} src={player?.metaItem?.content?.background} />\n </div>\n :\n null\n }\n {\n (video.state.buffering || !video.state.loaded) && !error ?\n <BufferingLoader className={classnames(styles['layer'], styles['buffering-layer'])} logo={player?.metaItem?.content?.logo} />\n :\n null\n }\n {\n error !== null ?\n <Error\n className={classnames(styles['layer'], styles['error-layer'])}\n stream={video.state.stream}\n {...error}\n />\n :\n null\n }\n {\n menusOpen ?\n <div className={styles['layer']} />\n :\n null\n }\n {\n video.state.volume !== null && overlayHidden ?\n <VolumeChangeIndicator\n muted={video.state.muted}\n volume={video.state.volume}\n />\n :\n null\n }\n <HorizontalNavBar\n className={classnames(styles['layer'], styles['nav-bar-layer'])}\n title={player.title !== null ? player.title : ''}\n backButton={true}\n fullscreenButton={true}\n onMouseMove={onBarMouseMove}\n onMouseOver={onBarMouseMove}\n />\n <ControlBar\n className={classnames(styles['layer'], styles['control-bar-layer'])}\n paused={video.state.paused}\n time={video.state.time}\n duration={video.state.duration}\n buffered={video.state.buffered}\n volume={video.state.volume}\n muted={video.state.muted}\n playbackSpeed={video.state.playbackSpeed}\n subtitlesTracks={video.state.subtitlesTracks.concat(video.state.extraSubtitlesTracks)}\n audioTracks={video.state.audioTracks}\n metaItem={player.metaItem}\n nextVideo={player.nextVideo}\n stream={player.selected !== null ? player.selected.stream : null}\n statistics={statistics}\n onPlayRequested={onPlayRequested}\n onPauseRequested={onPauseRequested}\n onNextVideoRequested={onNextVideoRequested}\n onMuteRequested={onMuteRequested}\n onUnmuteRequested={onUnmuteRequested}\n onVolumeChangeRequested={onVolumeChangeRequested}\n onSeekRequested={onSeekRequested}\n onToggleOptionsMenu={toggleOptionsMenu}\n onToggleSubtitlesMenu={toggleSubtitlesMenu}\n onToggleInfoMenu={toggleInfoMenu}\n onToggleSpeedMenu={toggleSpeedMenu}\n onToggleVideosMenu={toggleVideosMenu}\n onToggleStatisticsMenu={toggleStatisticsMenu}\n onMouseMove={onBarMouseMove}\n onMouseOver={onBarMouseMove}\n />\n {\n nextVideoPopupOpen ?\n <NextVideoPopup\n className={classnames(styles['layer'], styles['menu-layer'])}\n metaItem={player.metaItem !== null && player.metaItem.type === 'Ready' ? player.metaItem.content : null}\n nextVideo={player.nextVideo}\n onDismiss={onDismissNextVideoPopup}\n onNextVideoRequested={onNextVideoRequested}\n />\n :\n null\n }\n {\n statisticsMenuOpen ?\n <StatisticsMenu\n className={classnames(styles['layer'], styles['menu-layer'])}\n {...statistics}\n />\n :\n null\n }\n {\n subtitlesMenuOpen ?\n <SubtitlesMenu\n className={classnames(styles['layer'], styles['menu-layer'])}\n audioTracks={video.state.audioTracks}\n selectedAudioTrackId={video.state.selectedAudioTrackId}\n subtitlesTracks={video.state.subtitlesTracks}\n selectedSubtitlesTrackId={video.state.selectedSubtitlesTrackId}\n subtitlesOffset={video.state.subtitlesOffset}\n subtitlesSize={video.state.subtitlesSize}\n extraSubtitlesTracks={video.state.extraSubtitlesTracks}\n selectedExtraSubtitlesTrackId={video.state.selectedExtraSubtitlesTrackId}\n extraSubtitlesOffset={video.state.extraSubtitlesOffset}\n extraSubtitlesDelay={video.state.extraSubtitlesDelay}\n extraSubtitlesSize={video.state.extraSubtitlesSize}\n onSubtitlesTrackSelected={onSubtitlesTrackSelected}\n onExtraSubtitlesTrackSelected={onExtraSubtitlesTrackSelected}\n onAudioTrackSelected={onAudioTrackSelected}\n onSubtitlesOffsetChanged={onSubtitlesOffsetChanged}\n onSubtitlesSizeChanged={onSubtitlesSizeChanged}\n onExtraSubtitlesOffsetChanged={onSubtitlesOffsetChanged}\n onExtraSubtitlesDelayChanged={onExtraSubtitlesDelayChanged}\n onExtraSubtitlesSizeChanged={onSubtitlesSizeChanged}\n />\n :\n null\n }\n {\n infoMenuOpen ?\n <InfoMenu\n className={classnames(styles['layer'], styles['menu-layer'])}\n stream={player.selected !== null ? player.selected.stream : null}\n addon={player.addon}\n metaItem={player.metaItem !== null && player.metaItem.type === 'Ready' ? player.metaItem.content : null}\n />\n :\n null\n }\n {\n speedMenuOpen ?\n <SpeedMenu\n className={classnames(styles['layer'], styles['menu-layer'])}\n playbackSpeed={video.state.playbackSpeed}\n onPlaybackSpeedChanged={onPlaybackSpeedChanged}\n />\n :\n null\n }\n {\n videosMenuOpen ?\n <VideosMenu\n className={classnames(styles['layer'], styles['menu-layer'])}\n metaItem={player.metaItem !== null && player.metaItem.type === 'Ready' ? player.metaItem.content : null}\n seriesInfo={player.seriesInfo}\n />\n :\n null\n }\n {\n optionsMenuOpen ?\n <OptionsMenu\n className={classnames(styles['layer'], styles['menu-layer'])}\n stream={player.selected.stream}\n playbackDevices={streamingServer.playbackDevices !== null && streamingServer.playbackDevices.type === 'Ready' ? streamingServer.playbackDevices.content : []}\n />\n :\n null\n }\n </div>\n );\n};\n\nPlayer.propTypes = {\n urlParams: PropTypes.shape({\n stream: PropTypes.string,\n streamTransportUrl: PropTypes.string,\n metaTransportUrl: PropTypes.string,\n type: PropTypes.string,\n id: PropTypes.string,\n videoId: PropTypes.string\n }),\n queryParams: PropTypes.instanceOf(URLSearchParams)\n};\n\nconst PlayerFallback = () => (\n <div className={classnames(styles['player-container'])} />\n);\n\nmodule.exports = withCoreSuspender(Player, PlayerFallback);\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { Button } = require('stremio/common');\nconst styles = require('./styles');\n\nconst OptionButton = ({ className, value, selected, onSelect }) => {\n const onClick = React.useCallback(() => {\n if (typeof onSelect === 'function') {\n onSelect(value);\n }\n }, [onSelect, value]);\n return (\n <Button\n className={classnames(className, styles['option'], { 'selected': selected })}\n onClick={onClick}\n >\n <div className={styles['label']}>{ value }x</div>\n <div className={styles['icon']} />\n </Button>\n );\n};\n\nOptionButton.propTypes = {\n className: PropTypes.string,\n value: PropTypes.number,\n selected: PropTypes.bool,\n onSelect: PropTypes.func,\n};\n\nmodule.exports = OptionButton;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Option = require('./Option');\n\nmodule.exports = Option;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { useTranslation } = require('react-i18next');\nconst Option = require('./Option');\nconst styles = require('./styles');\n\nconst RATES = Array.from(Array(8).keys(), (n) => n * 0.25 + 0.25).reverse();\n\nconst SpeedMenu = ({ className, playbackSpeed, onPlaybackSpeedChanged }) => {\n const { t } = useTranslation();\n const onMouseDown = React.useCallback((event) => {\n event.nativeEvent.speedMenuClosePrevented = true;\n }, []);\n const onOptionSelect = React.useCallback((value) => {\n if (typeof onPlaybackSpeedChanged === 'function') {\n onPlaybackSpeedChanged(value);\n }\n }, [onPlaybackSpeedChanged]);\n return (\n <div className={classnames(className, styles['speed-menu-container'])} onMouseDown={onMouseDown}>\n <div className={styles['title']}>\n { t('PLAYBACK_SPEED') }\n </div>\n <div className={styles['options-container']}>\n {\n RATES.map((rate) => (\n <Option\n className={styles['option']}\n key={rate}\n value={rate}\n selected={rate === playbackSpeed}\n onSelect={onOptionSelect}\n />\n ))\n }\n </div>\n </div>\n );\n};\n\nSpeedMenu.propTypes = {\n className: PropTypes.string,\n playbackSpeed: PropTypes.number,\n onPlaybackSpeedChanged: PropTypes.func,\n};\n\nmodule.exports = SpeedMenu;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst SpeedMenu = require('./SpeedMenu');\n\nmodule.exports = SpeedMenu;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst classNames = require('classnames');\nconst PropTypes = require('prop-types');\nconst styles = require('./styles.less');\n\nconst StatisticsMenu = ({ className, peers, speed, completed, infoHash }) => {\n return (\n <div className={classNames(className, styles['statistics-menu-container'])}>\n <div className={styles['title']}>\n Statistics\n </div>\n <div className={styles['stats']}>\n <div className={styles['stat']}>\n <div className={styles['label']}>\n Peers\n </div>\n <div className={styles['value']}>\n { peers }\n </div>\n </div>\n <div className={styles['stat']}>\n <div className={styles['label']}>\n Speed\n </div>\n <div className={styles['value']}>\n { speed } MB/s\n </div>\n </div>\n <div className={styles['stat']}>\n <div className={styles['label']}>\n Completed\n </div>\n <div className={styles['value']}>\n { completed } %\n </div>\n </div>\n </div>\n <div className={styles['info-hash']}>\n <div className={styles['label']}>\n Info Hash\n </div>\n <div className={styles['value']}>\n { infoHash }\n </div>\n </div>\n </div>\n );\n};\n\nStatisticsMenu.propTypes = {\n className: PropTypes.string,\n peers: PropTypes.number,\n speed: PropTypes.number,\n completed: PropTypes.number,\n infoHash: PropTypes.string,\n};\n\nmodule.exports = StatisticsMenu;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst StatisticsMenu = require('./StatisticsMenu');\nmodule.exports = StatisticsMenu;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { Button } = require('stremio/common');\nconst styles = require('./styles');\n\nconst DiscreteSelectInput = ({ className, value, label, disabled, dataset, onChange }) => {\n const buttonOnClick = React.useCallback((event) => {\n if (typeof onChange === 'function') {\n onChange({\n type: 'change',\n value: event.currentTarget.dataset.type,\n dataset: dataset,\n reactEvent: event,\n nativeEvent: event.nativeEvent\n });\n }\n }, [dataset, onChange]);\n return (\n <div className={classnames(className, styles['discrete-input-container'], { 'disabled': disabled })}>\n <div className={styles['header']}>{label}</div>\n <div className={styles['input-container']} title={disabled ? `${label} is not configurable` : null}>\n <Button className={classnames(styles['button-container'], { 'disabled': disabled })} data-type={'decrement'} onClick={buttonOnClick}>\n <Icon className={styles['icon']} name={'remove'} />\n </Button>\n <div className={styles['option-label']} title={value}>{value}</div>\n <Button className={classnames(styles['button-container'], { 'disabled': disabled })} data-type={'increment'} onClick={buttonOnClick}>\n <Icon className={styles['icon']} name={'add'} />\n </Button>\n </div>\n </div>\n );\n};\n\nDiscreteSelectInput.propTypes = {\n className: PropTypes.string,\n value: PropTypes.string,\n label: PropTypes.string,\n disabled: PropTypes.bool,\n dataset: PropTypes.object,\n onChange: PropTypes.func\n};\n\nmodule.exports = DiscreteSelectInput;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst DiscreteSelectInput = require('./DiscreteSelectInput');\n\nmodule.exports = DiscreteSelectInput;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { Button, CONSTANTS, comparatorWithPriorities, languageNames } = require('stremio/common');\nconst DiscreteSelectInput = require('./DiscreteSelectInput');\nconst styles = require('./styles');\nconst { t } = require('i18next');\n\nconst ORIGIN_PRIORITIES = {\n 'EMBEDDED': 2,\n 'EXCLUSIVE': 1\n};\nconst LANGUAGE_PRIORITIES = {\n 'eng': 1\n};\n\nconst SubtitlesMenu = React.memo((props) => {\n const subtitlesLanguages = React.useMemo(() => {\n return (Array.isArray(props.subtitlesTracks) ? props.subtitlesTracks : [])\n .concat(Array.isArray(props.extraSubtitlesTracks) ? props.extraSubtitlesTracks : [])\n .reduce((subtitlesLanguages, { lang }) => {\n if (!subtitlesLanguages.includes(lang)) {\n subtitlesLanguages.push(lang);\n }\n\n return subtitlesLanguages;\n }, [])\n .sort(comparatorWithPriorities(LANGUAGE_PRIORITIES));\n }, [props.subtitlesTracks, props.extraSubtitlesTracks]);\n const selectedSubtitlesLanguage = React.useMemo(() => {\n return typeof props.selectedSubtitlesTrackId === 'string' ?\n (Array.isArray(props.subtitlesTracks) ? props.subtitlesTracks : [])\n .reduce((selectedSubtitlesLanguage, { id, lang }) => {\n if (id === props.selectedSubtitlesTrackId) {\n return lang;\n }\n\n return selectedSubtitlesLanguage;\n }, null)\n :\n typeof props.selectedExtraSubtitlesTrackId === 'string' ?\n (Array.isArray(props.extraSubtitlesTracks) ? props.extraSubtitlesTracks : [])\n .reduce((selectedSubtitlesLanguage, { id, lang }) => {\n if (id === props.selectedExtraSubtitlesTrackId) {\n return lang;\n }\n\n return selectedSubtitlesLanguage;\n }, null)\n :\n null;\n }, [props.subtitlesTracks, props.extraSubtitlesTracks, props.selectedSubtitlesTrackId, props.selectedExtraSubtitlesTrackId]);\n const subtitlesTracksForLanguage = React.useMemo(() => {\n return (Array.isArray(props.subtitlesTracks) ? props.subtitlesTracks : [])\n .concat(Array.isArray(props.extraSubtitlesTracks) ? props.extraSubtitlesTracks : [])\n .filter(({ lang }) => lang === selectedSubtitlesLanguage)\n .sort((t1, t2) => comparatorWithPriorities(ORIGIN_PRIORITIES)(t1.origin, t2.origin));\n }, [props.subtitlesTracks, props.extraSubtitlesTracks, selectedSubtitlesLanguage]);\n const onMouseDown = React.useCallback((event) => {\n event.nativeEvent.subtitlesMenuClosePrevented = true;\n }, []);\n const subtitlesLanguageOnClick = React.useCallback((event) => {\n const track = (Array.isArray(props.subtitlesTracks) ? props.subtitlesTracks : [])\n .concat(Array.isArray(props.extraSubtitlesTracks) ? props.extraSubtitlesTracks : [])\n .filter(({ lang }) => lang === event.currentTarget.dataset.lang)\n .sort((t1, t2) => comparatorWithPriorities(ORIGIN_PRIORITIES)(t1.origin, t2.origin))\n .shift();\n if (!track) {\n if (typeof props.onSubtitlesTrackSelected === 'function') {\n props.onSubtitlesTrackSelected(null);\n }\n if (typeof props.onExtraSubtitlesTrackSelected === 'function') {\n props.onExtraSubtitlesTrackSelected(null);\n }\n } else if (track.embedded) {\n if (typeof props.onSubtitlesTrackSelected === 'function') {\n props.onSubtitlesTrackSelected(track.id);\n }\n } else {\n if (typeof props.onExtraSubtitlesTrackSelected === 'function') {\n props.onExtraSubtitlesTrackSelected(track.id);\n }\n }\n }, [props.subtitlesTracks, props.extraSubtitlesTracks, props.onSubtitlesTrackSelected, props.onExtraSubtitlesTrackSelected]);\n const subtitlesTrackOnClick = React.useCallback((event) => {\n if (event.currentTarget.dataset.embedded === 'true') {\n if (typeof props.onSubtitlesTrackSelected === 'function') {\n props.onSubtitlesTrackSelected(event.currentTarget.dataset.id);\n }\n } else {\n if (typeof props.onExtraSubtitlesTrackSelected === 'function') {\n props.onExtraSubtitlesTrackSelected(event.currentTarget.dataset.id);\n }\n }\n }, [props.onSubtitlesTrackSelected, props.onExtraSubtitlesTrackSelected]);\n const onSubtitlesDelayChanged = React.useCallback((event) => {\n const delta = event.value === 'increment' ? 250 : -250;\n if (typeof props.selectedExtraSubtitlesTrackId === 'string') {\n if (props.extraSubtitlesDelay !== null && !isNaN(props.extraSubtitlesDelay)) {\n const extraDelay = props.extraSubtitlesDelay + delta;\n if (typeof props.onExtraSubtitlesDelayChanged === 'function') {\n props.onExtraSubtitlesDelayChanged(extraDelay);\n }\n }\n }\n }, [props.selectedExtraSubtitlesTrackId, props.extraSubtitlesDelay, props.onExtraSubtitlesDelayChanged]);\n const onSubtitlesSizeChanged = React.useCallback((event) => {\n const delta = event.value === 'increment' ? 1 : -1;\n if (typeof props.selectedSubtitlesTrackId === 'string') {\n if (props.subtitlesSize !== null && !isNaN(props.subtitlesSize)) {\n const sizeIndex = CONSTANTS.SUBTITLES_SIZES.indexOf(props.subtitlesSize);\n const size = CONSTANTS.SUBTITLES_SIZES[Math.max(0, Math.min(CONSTANTS.SUBTITLES_SIZES.length - 1, sizeIndex + delta))];\n if (typeof props.onSubtitlesSizeChanged === 'function') {\n props.onSubtitlesSizeChanged(size);\n }\n }\n } else if (typeof props.selectedExtraSubtitlesTrackId === 'string') {\n if (props.extraSubtitlesSize !== null && !isNaN(props.extraSubtitlesSize)) {\n const extraSizeIndex = CONSTANTS.SUBTITLES_SIZES.indexOf(props.extraSubtitlesSize);\n const extraSize = CONSTANTS.SUBTITLES_SIZES[Math.max(0, Math.min(CONSTANTS.SUBTITLES_SIZES.length - 1, extraSizeIndex + delta))];\n if (typeof props.onExtraSubtitlesSizeChanged === 'function') {\n props.onExtraSubtitlesSizeChanged(extraSize);\n }\n }\n }\n }, [props.selectedSubtitlesTrackId, props.selectedExtraSubtitlesTrackId, props.subtitlesSize, props.extraSubtitlesSize, props.onSubtitlesSizeChanged, props.onExtraSubtitlesSizeChanged]);\n const onSubtitlesOffsetChanged = React.useCallback((event) => {\n const delta = event.value === 'increment' ? 1 : -1;\n if (typeof props.selectedSubtitlesTrackId === 'string') {\n if (props.extraSubtitlesOffset !== null && !isNaN(props.extraSubtitlesOffset)) {\n const offset = Math.max(0, Math.min(100, Math.floor(props.extraSubtitlesOffset + delta)));\n if (typeof props.onExtraSubtitlesOffsetChanged === 'function') {\n props.onExtraSubtitlesOffsetChanged(offset);\n }\n }\n } else if (typeof props.selectedExtraSubtitlesTrackId === 'string') {\n if (props.subtitlesOffset !== null && !isNaN(props.subtitlesOffset)) {\n const offset = Math.max(0, Math.min(100, Math.floor(props.subtitlesOffset + delta)));\n if (typeof props.onSubtitlesOffsetChanged === 'function') {\n props.onSubtitlesOffsetChanged(offset);\n }\n }\n }\n }, [props.selectedSubtitlesTrackId, props.selectedExtraSubtitlesTrackId, props.subtitlesOffset, props.extraSubtitlesOffset, props.onSubtitlesOffsetChanged, props.onExtraSubtitlesOffsetChanged]);\n const audioTrackOnClick = React.useCallback((event) => {\n if (typeof props.onAudioTrackSelected === 'function') {\n props.onAudioTrackSelected(event.currentTarget.dataset.id);\n }\n }, [props.onAudioTrackSelected]);\n return (\n <div className={classnames(props.className, styles['subtitles-menu-container'])} onMouseDown={onMouseDown}>\n {\n Array.isArray(props.audioTracks) && props.audioTracks.length > 1 ?\n <div className={styles['languages-container']}>\n <div className={styles['languages-header']}>Audio Languages</div>\n <div className={styles['languages-list']}>\n {props.audioTracks.map(({ id, label, lang }, index) => (\n <Button key={index} title={label} className={classnames(styles['language-option'], { 'selected': props.selectedAudioTrackId === id })} data-id={id} onClick={audioTrackOnClick}>\n <div className={styles['language-label']}>{typeof languageNames[lang] === 'string' ? languageNames[lang] : lang}</div>\n {\n props.selectedAudioTrackId === id ?\n <div className={styles['icon']} />\n :\n null\n }\n </Button>\n ))}\n </div>\n </div>\n :\n null\n }\n <div className={styles['languages-container']}>\n <div className={styles['languages-header']}>{ t('PLAYER_SUBTITLES_LANGUAGES') }</div>\n <div className={styles['languages-list']}>\n <Button title={t('OFF')} className={classnames(styles['language-option'], { 'selected': selectedSubtitlesLanguage === null })} onClick={subtitlesLanguageOnClick}>\n <div className={styles['language-label']}>{ t('OFF') }</div>\n {\n selectedSubtitlesLanguage === null ?\n <div className={styles['icon']} />\n :\n null\n }\n </Button>\n {subtitlesLanguages.map((lang, index) => (\n <Button key={index} title={typeof languageNames[lang] === 'string' ? languageNames[lang] : lang} className={classnames(styles['language-option'], { 'selected': selectedSubtitlesLanguage === lang })} data-lang={lang} onClick={subtitlesLanguageOnClick}>\n <div className={styles['language-label']}>{typeof languageNames[lang] === 'string' ? languageNames[lang] : lang}</div>\n {\n selectedSubtitlesLanguage === lang ?\n <div className={styles['icon']} />\n :\n null\n }\n </Button>\n ))}\n </div>\n </div>\n <div className={styles['variants-container']}>\n <div className={styles['variants-header']}>{ t('PLAYER_SUBTITLES_VARIANTS') }</div>\n {\n subtitlesTracksForLanguage.length > 0 ?\n <div className={styles['variants-list']}>\n {subtitlesTracksForLanguage.map((track, index) => (\n <Button key={index} title={track.label} className={classnames(styles['variant-option'], { 'selected': props.selectedSubtitlesTrackId === track.id || props.selectedExtraSubtitlesTrackId === track.id })} data-id={track.id} data-origin={track.origin} data-embedded={track.embedded} onClick={subtitlesTrackOnClick}>\n <div className={styles['variant-label']}>{track.origin}</div>\n {\n props.selectedSubtitlesTrackId === track.id || props.selectedExtraSubtitlesTrackId === track.id ?\n <div className={styles['icon']} />\n :\n null\n }\n </Button>\n ))}\n </div>\n :\n <div className={styles['no-variants-container']}>\n <div className={styles['no-variants-label']}>\n { t('PLAYER_SUBTITLES_DISABLED') }\n </div>\n </div>\n }\n </div>\n <div className={styles['subtitles-settings-container']}>\n <div className={styles['settings-header']}>Subtitles Settings</div>\n <DiscreteSelectInput\n className={styles['discrete-input']}\n label={t('DELAY')}\n value={typeof props.selectedExtraSubtitlesTrackId === 'string' && props.extraSubtitlesDelay !== null && !isNaN(props.extraSubtitlesDelay) ? `${(props.extraSubtitlesDelay / 1000).toFixed(2)}s` : '--'}\n disabled={typeof props.selectedExtraSubtitlesTrackId !== 'string' || props.extraSubtitlesDelay === null || isNaN(props.extraSubtitlesDelay)}\n onChange={onSubtitlesDelayChanged}\n />\n <DiscreteSelectInput\n className={styles['discrete-input']}\n label={t('SIZE')}\n value={\n typeof props.selectedSubtitlesTrackId === 'string' ?\n props.subtitlesSize !== null && !isNaN(props.subtitlesSize) ? `${props.subtitlesSize}%` : '--'\n :\n typeof props.selectedExtraSubtitlesTrackId === 'string' ?\n props.extraSubtitlesSize !== null && !isNaN(props.extraSubtitlesSize) ? `${props.extraSubtitlesSize}%` : '--'\n :\n '--'\n }\n disabled={\n typeof props.selectedSubtitlesTrackId === 'string' ?\n props.subtitlesSize === null || isNaN(props.subtitlesSize)\n :\n typeof props.selectedExtraSubtitlesTrackId === 'string' ?\n props.extraSubtitlesSize === null || isNaN(props.extraSubtitlesSize)\n :\n true\n }\n onChange={onSubtitlesSizeChanged}\n />\n <DiscreteSelectInput\n className={styles['discrete-input']}\n label={t('PLAYER_SUBTITLES_VERTICAL_POSIITON')}\n value={\n typeof props.selectedSubtitlesTrackId === 'string' ?\n props.subtitlesOffset !== null && !isNaN(props.subtitlesOffset) ? `${props.subtitlesOffset}%` : '--'\n :\n typeof props.selectedExtraSubtitlesTrackId === 'string' ?\n props.extraSubtitlesOffset !== null && !isNaN(props.extraSubtitlesOffset) ? `${props.extraSubtitlesOffset}%` : '--'\n :\n '--'\n }\n disabled={\n typeof props.selectedSubtitlesTrackId === 'string' ?\n props.subtitlesOffset === null || isNaN(props.subtitlesOffset)\n :\n typeof props.selectedExtraSubtitlesTrackId === 'string' ?\n props.extraSubtitlesOffset === null || isNaN(props.extraSubtitlesOffset)\n :\n true\n }\n onChange={onSubtitlesOffsetChanged}\n />\n </div>\n </div>\n );\n});\n\nSubtitlesMenu.displayName = 'MainNavBars';\n\nSubtitlesMenu.propTypes = {\n className: PropTypes.string,\n subtitlesTracks: PropTypes.arrayOf(PropTypes.shape({\n id: PropTypes.string.isRequired,\n lang: PropTypes.string.isRequired,\n origin: PropTypes.string.isRequired\n })),\n selectedSubtitlesTrackId: PropTypes.string,\n subtitlesOffset: PropTypes.number,\n subtitlesSize: PropTypes.number,\n extraSubtitlesTracks: PropTypes.arrayOf(PropTypes.shape({\n id: PropTypes.string.isRequired,\n lang: PropTypes.string.isRequired,\n origin: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired\n })),\n selectedExtraSubtitlesTrackId: PropTypes.string,\n extraSubtitlesOffset: PropTypes.number,\n extraSubtitlesDelay: PropTypes.number,\n extraSubtitlesSize: PropTypes.number,\n audioTracks: PropTypes.arrayOf(PropTypes.shape({\n id: PropTypes.string.isRequired,\n lang: PropTypes.string.isRequired,\n origin: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired\n })),\n selectedAudioTrackId: PropTypes.string,\n onSubtitlesTrackSelected: PropTypes.func,\n onExtraSubtitlesTrackSelected: PropTypes.func,\n onAudioTrackSelected: PropTypes.func,\n onSubtitlesOffsetChanged: PropTypes.func,\n onSubtitlesSizeChanged: PropTypes.func,\n onExtraSubtitlesOffsetChanged: PropTypes.func,\n onExtraSubtitlesDelayChanged: PropTypes.func,\n onExtraSubtitlesSizeChanged: PropTypes.func\n};\n\nmodule.exports = SubtitlesMenu;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst SubtitlesMenu = require('./SubtitlesMenu');\n\nmodule.exports = SubtitlesMenu;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst styles = require('./styles');\n\nconst Video = React.forwardRef(({ className, onClick, onDoubleClick }, ref) => {\n return (\n <div className={classnames(className, styles['video-container'])} onClick={onClick} onDoubleClick={onDoubleClick}>\n <div ref={ref} className={styles['video']} />\n </div>\n );\n});\n\nVideo.displayName = 'Video';\n\nVideo.propTypes = {\n className: PropTypes.string,\n onClick: PropTypes.func,\n onDoubleClick: PropTypes.func,\n};\n\nmodule.exports = Video;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Video = require('./Video');\n\nmodule.exports = Video;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst Video = require('../../MetaDetails/VideosList/Video');\nconst styles = require('./styles');\n\nconst VideosMenu = ({ className, metaItem, seriesInfo }) => {\n const onMouseDown = React.useCallback((event) => {\n event.nativeEvent.videosMenuClosePrevented = true;\n }, []);\n const videos = React.useMemo(() => {\n return seriesInfo && typeof seriesInfo.season === 'number' && Array.isArray(metaItem.videos) ?\n metaItem.videos.filter(({ season }) => season === seriesInfo.season)\n :\n metaItem.videos;\n }, [metaItem, seriesInfo]);\n return (\n <div className={classnames(className, styles['videos-menu-container'])} onMouseDown={onMouseDown}>\n {\n videos.map((video, index) => (\n <Video\n key={index}\n id={video.id}\n title={video.title}\n thumbnail={video.thumbnail}\n episode={video.episode}\n released={video.released}\n upcoming={video.upcoming}\n watched={video.watched}\n progress={video.progress}\n deepLinks={video.deepLinks}\n scheduled={video.scheduled}\n />\n ))\n }\n </div>\n );\n};\n\nVideosMenu.propTypes = {\n className: PropTypes.string,\n metaItem: PropTypes.object,\n seriesInfo: PropTypes.shape({\n season: PropTypes.number,\n episode: PropTypes.number,\n }),\n};\n\nmodule.exports = VideosMenu;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst VideosMenu = require('./VideosMenu');\n\nmodule.exports = VideosMenu;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst VolumeSlider = require('../ControlBar/VolumeSlider');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { default: classNames } = require('classnames');\nconst PropTypes = require('prop-types');\nconst styles = require('./styles');\nconst { useBinaryState } = require('stremio/common');\n\nconst VolumeChangeIndicator = React.memo(({ muted, volume }) => {\n const [volumeIndicatorOpen, openVolumeIndicator, closeVolumeIndicator] = useBinaryState(false);\n const volumeChangeTimeout = React.useRef(null);\n const prevVolume = React.useRef(volume);\n\n const iconName = React.useMemo(() => {\n return typeof muted === 'boolean' && muted ? 'volume-mute' :\n volume === null || isNaN(volume) ? 'volume-off' :\n volume < 30 ? 'volume-low' :\n volume < 70 ? 'volume-medium' :\n 'volume-high';\n }, [muted, volume]);\n\n React.useEffect(() => {\n if (prevVolume.current !== volume) {\n openVolumeIndicator();\n if (volumeChangeTimeout.current) clearTimeout(volumeChangeTimeout.current);\n volumeChangeTimeout.current = setTimeout(closeVolumeIndicator, 1500);\n }\n\n prevVolume.current = volume;\n }, [volume]);\n\n React.useEffect(() => {\n return () => {\n if (volumeChangeTimeout.current) clearTimeout(volumeChangeTimeout.current);\n };\n }, []);\n\n return (\n <React.Fragment>\n {\n volumeIndicatorOpen ?\n <div className={classNames(styles['layer'], styles['volume-change-indicator'])}>\n <Icon name={iconName} className={styles['volume-icon']} />\n <VolumeSlider volume={volume} className={styles['volume-slider']} />\n </div>\n :\n null\n }\n </React.Fragment>\n );\n});\n\nVolumeChangeIndicator.displayName = 'VolumeChangeIndicator';\n\nmodule.exports = VolumeChangeIndicator;\n\nVolumeChangeIndicator.propTypes = {\n muted: PropTypes.bool,\n volume: PropTypes.number\n};\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst VolumeChangeIndicator = require('./VolumeChangeIndicator');\n\nmodule.exports = VolumeChangeIndicator;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Player = require('./Player');\n\nmodule.exports = Player;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useServices } = require('stremio/services');\nconst { useModelState, useCoreSuspender } = require('stremio/common');\n\nconst map = (player) => ({\n ...player,\n metaItem: player.metaItem !== null && player.metaItem.type === 'Ready' ?\n {\n ...player.metaItem,\n content: {\n ...player.metaItem.content,\n released: new Date(\n typeof player.metaItem.content.released === 'string' ?\n player.metaItem.content.released\n :\n NaN\n ),\n videos: player.metaItem.content.videos.map((video) => ({\n ...video,\n released: new Date(\n typeof video.released === 'string' ?\n video.released\n :\n NaN\n ),\n }))\n }\n }\n :\n player.metaItem,\n});\n\nconst usePlayer = (urlParams) => {\n const { core } = useServices();\n const { decodeStream } = useCoreSuspender();\n const stream = decodeStream(urlParams.stream);\n const action = React.useMemo(() => {\n if (stream !== null) {\n return {\n action: 'Load',\n args: {\n model: 'Player',\n args: {\n stream,\n streamRequest: typeof urlParams.streamTransportUrl === 'string' && typeof urlParams.type === 'string' && typeof urlParams.videoId === 'string' ?\n {\n base: urlParams.streamTransportUrl,\n path: {\n resource: 'stream',\n type: urlParams.type,\n id: urlParams.videoId,\n extra: []\n }\n }\n :\n null,\n metaRequest: typeof urlParams.metaTransportUrl === 'string' && typeof urlParams.type === 'string' && typeof urlParams.id === 'string' ?\n {\n base: urlParams.metaTransportUrl,\n path: {\n resource: 'meta',\n type: urlParams.type,\n id: urlParams.id,\n extra: []\n }\n }\n :\n null,\n subtitlesPath: typeof urlParams.type === 'string' && typeof urlParams.videoId === 'string' ?\n {\n resource: 'subtitles',\n type: urlParams.type,\n id: urlParams.videoId,\n extra: []\n }\n :\n null\n }\n }\n };\n } else {\n console.warn('Player Unload triggered');\n return {\n action: 'Unload'\n };\n }\n }, [urlParams]);\n const videoParamsChanged = React.useCallback((videoParams) => {\n core.transport.dispatch({\n action: 'Player',\n args: {\n action: 'VideoParamsChanged',\n args: { videoParams }\n }\n }, 'player');\n }, []);\n const timeChanged = React.useCallback((time, duration, device) => {\n core.transport.dispatch({\n action: 'Player',\n args: {\n action: 'TimeChanged',\n args: { time, duration, device }\n }\n }, 'player');\n }, []);\n\n const seek = React.useCallback((time, duration, device) => {\n core.transport.dispatch({\n action: 'Player',\n args: {\n action: 'Seek',\n args: { time, duration, device }\n }\n }, 'player');\n }, []);\n\n const ended = React.useCallback(() => {\n core.transport.dispatch({\n action: 'Player',\n args: {\n action: 'Ended'\n }\n }, 'player');\n }, []);\n const pausedChanged = React.useCallback((paused) => {\n core.transport.dispatch({\n action: 'Player',\n args: {\n action: 'PausedChanged',\n args: { paused }\n }\n }, 'player');\n }, []);\n const nextVideo = React.useCallback(() => {\n core.transport.dispatch({\n action: 'Player',\n args: {\n action: 'NextVideo'\n }\n }, 'player');\n }, []);\n\n const player = useModelState({ model: 'player', action, map });\n return [player, videoParamsChanged, timeChanged, seek, pausedChanged, ended, nextVideo];\n};\n\nmodule.exports = usePlayer;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useServices } = require('stremio/services');\nconst { useProfile } = require('stremio/common');\n\nconst useSettings = () => {\n const { core } = useServices();\n const profile = useProfile();\n const updateSettings = React.useCallback((settings) => {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: {\n ...profile.settings,\n ...settings\n }\n }\n });\n }, [profile]);\n return [profile.settings, updateSettings];\n};\n\nmodule.exports = useSettings;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useServices } = require('stremio/services');\n\nconst useStatistics = (player, streamingServer) => {\n const { core } = useServices();\n\n const stream = React.useMemo(() => {\n return player.selected?.stream ?\n player.selected.stream\n :\n null;\n }, [player.selected]);\n\n const infoHash = React.useMemo(() => {\n return stream?.infoHash ?\n stream?.infoHash\n :\n null;\n }, [stream]);\n\n const statistics = React.useMemo(() => {\n return streamingServer.statistics?.type === 'Ready' ?\n streamingServer.statistics.content\n :\n null;\n }, [streamingServer.statistics]);\n\n const peers = React.useMemo(() => {\n return statistics?.peers ?\n statistics.peers\n :\n 0;\n }, [statistics]);\n\n const speed = React.useMemo(() => {\n return statistics?.downloadSpeed ?\n parseFloat((statistics.downloadSpeed / 1000 / 1000).toFixed(2))\n :\n 0;\n }, [statistics]);\n\n const completed = React.useMemo(() => {\n return statistics?.streamProgress ?\n parseFloat((statistics.streamProgress * 100).toFixed(2))\n :\n 0;\n }, [statistics]);\n\n const getStatistics = React.useCallback(() => {\n if (stream) {\n const { infoHash, fileIdx } = stream;\n if (typeof infoHash === 'string' && typeof fileIdx === 'number') {\n core.transport.dispatch({\n action: 'StreamingServer',\n args: {\n action: 'GetStatistics',\n args: {\n infoHash,\n fileIdx,\n }\n }\n });\n }\n }\n }, [stream]);\n\n React.useEffect(() => {\n getStatistics();\n const interval = setInterval(getStatistics, 5000);\n return () => clearInterval(interval);\n }, [getStatistics]);\n\n return {\n infoHash,\n peers,\n speed,\n completed,\n };\n};\n\nmodule.exports = useStatistics;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst Video = require('@stremio/stremio-video');\nconst EventEmitter = require('eventemitter3');\n\nconst events = new EventEmitter();\n\nconst useVideo = () => {\n const video = React.useRef(null);\n const containerElement = React.useRef(null);\n\n const [state, setState] = React.useState({\n manifest: null,\n stream: null,\n paused: null,\n time: null,\n duration: null,\n buffering: null,\n buffered: null,\n volume: null,\n muted: null,\n playbackSpeed: null,\n videoParams: null,\n audioTracks: [],\n selectedAudioTrackId: null,\n subtitlesTracks: [],\n selectedSubtitlesTrackId: null,\n subtitlesOffset: null,\n subtitlesSize: null,\n subtitlesTextColor: null,\n subtitlesBackgroundColor: null,\n subtitlesOutlineColor: null,\n extraSubtitlesTracks: [],\n selectedExtraSubtitlesTrackId: null,\n extraSubtitlesSize: null,\n extraSubtitlesDelay: null,\n extraSubtitlesOffset: null,\n extraSubtitlesTextColor: null,\n extraSubtitlesBackgroundColor: null,\n extraSubtitlesOutlineColor: null,\n });\n\n const dispatch = (action, options) => {\n if (video.current && containerElement.current) {\n try {\n video.current.dispatch(action, {\n ...options,\n containerElement: containerElement.current,\n });\n } catch (error) {\n console.error('Video:', error);\n }\n }\n };\n\n const load = (args, options) => {\n dispatch({\n type: 'command',\n commandName: 'load',\n commandArgs: args\n }, options);\n };\n\n const unload = () => {\n dispatch({\n type: 'command',\n commandName: 'unload',\n });\n };\n\n const addExtraSubtitlesTracks = (tracks) => {\n dispatch({\n type: 'command',\n commandName: 'addExtraSubtitlesTracks',\n commandArgs: {\n tracks,\n },\n });\n };\n\n const setProp = (name, value) => {\n dispatch({ type: 'setProp', propName: name, propValue: value });\n };\n\n const onError = (error) => {\n events.emit('error', error);\n };\n\n const onEnded = () => {\n events.emit('ended');\n };\n\n const onSubtitlesTrackLoaded = (track) => {\n events.emit('subtitlesTrackLoaded', track);\n };\n\n const onExtraSubtitlesTrackLoaded = (track) => {\n events.emit('extraSubtitlesTrackLoaded', track);\n };\n\n const onPropChanged = (name, value) => {\n setState((state) => ({\n ...state,\n [name]: value\n }));\n };\n\n const onImplementationChanged = (manifest) => {\n manifest.props.forEach((propName) => dispatch(({ type: 'observeProp', propName })));\n setState((state) => ({\n ...state,\n manifest\n }));\n\n events.emit('implementationChanged', manifest);\n };\n\n React.useEffect(() => {\n video.current = new Video();\n video.current.on('error', onError);\n video.current.on('ended', onEnded);\n video.current.on('propChanged', onPropChanged);\n video.current.on('propValue', onPropChanged);\n video.current.on('implementationChanged', onImplementationChanged);\n video.current.on('subtitlesTrackLoaded', onSubtitlesTrackLoaded);\n video.current.on('extraSubtitlesTrackLoaded', onExtraSubtitlesTrackLoaded);\n\n return () => video.current.destroy();\n }, []);\n\n return {\n events,\n containerElement,\n state,\n load,\n unload,\n addExtraSubtitlesTracks,\n setProp,\n };\n};\n\nmodule.exports = useVideo;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst debounce = require('lodash.debounce');\nconst { useTranslation } = require('react-i18next');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { Image, MainNavBars, MetaRow, MetaItem, withCoreSuspender, getVisibleChildrenRange } = require('stremio/common');\nconst useSearch = require('./useSearch');\nconst styles = require('./styles');\n\nconst THRESHOLD = 100;\n\nconst Search = ({ queryParams }) => {\n const { t } = useTranslation();\n const [search, loadSearchRows] = useSearch(queryParams);\n const query = React.useMemo(() => {\n return search.selected !== null ?\n search.selected.extra.reduceRight((query, [name, value]) => {\n if (name === 'search') {\n return value;\n }\n\n return query;\n }, null)\n :\n null;\n }, [search.selected]);\n const scrollContainerRef = React.useRef();\n const onVisibleRangeChange = React.useCallback(() => {\n if (search.catalogs.length === 0) {\n return;\n }\n\n const range = getVisibleChildrenRange(scrollContainerRef.current, THRESHOLD);\n if (range === null) {\n return;\n }\n\n loadSearchRows(range);\n }, [search.catalogs]);\n const onScroll = React.useCallback(debounce(onVisibleRangeChange, 250), [onVisibleRangeChange]);\n React.useLayoutEffect(() => {\n onVisibleRangeChange();\n }, [search.catalogs, onVisibleRangeChange]);\n return (\n <MainNavBars className={styles['search-container']} route={'search'} query={query}>\n <div ref={scrollContainerRef} className={styles['search-content']} onScroll={onScroll}>\n {\n query === null ?\n <div className={classnames(styles['search-hints-wrapper'])}>\n <div className={classnames(styles['search-hints-title-container'], 'animation-fade-in')}>\n <div className={styles['search-hints-title']}>{t('SEARCH_ANYTHING')}</div>\n </div>\n <div className={classnames(styles['search-hints-container'], 'animation-fade-in')}>\n <div className={styles['search-hint-container']}>\n <Icon className={styles['icon']} name={'trailer'} />\n <div className={styles['label']}>{t('SEARCH_CATEGORIES')}</div>\n </div>\n <div className={styles['search-hint-container']}>\n <Icon className={styles['icon']} name={'actors'} />\n <div className={styles['label']}>{t('SEARCH_PERSONS')}</div>\n </div>\n <div className={styles['search-hint-container']}>\n <Icon className={styles['icon']} name={'link'} />\n <div className={styles['label']}>{t('SEARCH_PROTOCOLS')}</div>\n </div>\n <div className={styles['search-hint-container']}>\n <Icon className={styles['icon']} name={'imdb-outline'} />\n <div className={styles['label']}>{t('SEARCH_TYPES')}</div>\n </div>\n </div>\n </div>\n :\n search.catalogs.length === 0 ?\n <div className={styles['message-container']}>\n <Image\n className={styles['image']}\n src={require('/images/empty.png')}\n alt={' '}\n />\n <div className={styles['message-label']}>{ t('STREMIO_TV_SEARCH_NO_ADDONS') }</div>\n </div>\n :\n search.catalogs.map((catalog, index) => {\n switch (catalog.content?.type) {\n case 'Ready': {\n return (\n <MetaRow\n key={index}\n className={classnames(styles['search-row'], styles[`search-row-${catalog.content.content[0].posterShape}`], 'animation-fade-in')}\n catalog={catalog}\n itemComponent={MetaItem}\n />\n );\n }\n case 'Err': {\n return (\n <MetaRow\n key={index}\n className={classnames(styles['search-row'], 'animation-fade-in')}\n catalog={catalog}\n message={catalog.content.content}\n />\n );\n }\n default: {\n return (\n <MetaRow.Placeholder\n key={index}\n className={classnames(styles['search-row'], styles['search-row-poster'], 'animation-fade-in')}\n catalog={catalog}\n />\n );\n }\n }\n })\n }\n </div>\n </MainNavBars>\n );\n};\n\nSearch.propTypes = {\n queryParams: PropTypes.instanceOf(URLSearchParams)\n};\n\nconst SearchFallback = ({ queryParams }) => (\n <MainNavBars className={styles['search-container']} route={'search'} query={queryParams.get('search') ?? queryParams.get('query')} />\n);\n\nSearchFallback.propTypes = Search.propTypes;\n\nmodule.exports = withCoreSuspender(Search, SearchFallback);\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Search = require('./Search');\n\nmodule.exports = Search;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useModelState } = require('stremio/common');\nconst { useServices } = require('stremio/services');\n\nconst useSearch = (queryParams) => {\n const { core } = useServices();\n // TODO: refactor this to be in stremio-core-web\n // React.useEffect(() => {\n // let timerId = setTimeout(emitSearchEvent, 500);\n // function emitSearchEvent() {\n // timerId = null;\n // const state = core.transport.getState('search');\n // if (state.selected !== null) {\n // const [, query] = state.selected.extra.find(([name]) => name === 'search');\n // const responses = state.catalogs.filter((catalog) => catalog.content?.type === 'Ready');\n // core.transport.analytics({\n // event: 'Search',\n // args: {\n // query,\n // responsesCount: responses.length\n // }\n // });\n // }\n // }\n // return () => {\n // if (timerId !== null) {\n // clearTimeout(timerId);\n // emitSearchEvent();\n // }\n // };\n // }, [queryParams.get('search')]);\n const action = React.useMemo(() => {\n const query = queryParams.get('search') ?? queryParams.get('query');\n if (query?.length > 0) {\n return {\n action: 'Load',\n args: {\n model: 'CatalogsWithExtra',\n args: {\n extra: [\n ['search', query]\n ]\n }\n }\n };\n } else {\n return {\n action: 'Unload'\n };\n }\n }, [queryParams]);\n const loadRange = React.useCallback((range) => {\n core.transport.dispatch({\n action: 'CatalogsWithExtra',\n args: {\n action: 'LoadRange',\n args: range\n }\n }, 'search');\n }, []);\n const search = useModelState({ model: 'search', action });\n return [search, loadRange];\n};\n\nmodule.exports = useSearch;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst classnames = require('classnames');\nconst throttle = require('lodash.throttle');\nconst { useTranslation } = require('react-i18next');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { useRouteFocused } = require('stremio-router');\nconst { useServices } = require('stremio/services');\nconst { Button, Checkbox, MainNavBars, Multiselect, ColorInput, TextInput, ModalDialog, useProfile, usePlatform, useStreamingServer, useBinaryState, withCoreSuspender, useToast } = require('stremio/common');\nconst useProfileSettingsInputs = require('./useProfileSettingsInputs');\nconst useStreamingServerSettingsInputs = require('./useStreamingServerSettingsInputs');\nconst useDataExport = require('./useDataExport');\nconst styles = require('./styles');\n\nconst GENERAL_SECTION = 'general';\nconst PLAYER_SECTION = 'player';\nconst STREAMING_SECTION = 'streaming';\nconst SHORTCUTS_SECTION = 'shortcuts';\n\nconst Settings = () => {\n const { t } = useTranslation();\n const { core, shell } = useServices();\n const { routeFocused } = useRouteFocused();\n const profile = useProfile();\n const [dataExport, loadDataExport] = useDataExport();\n const streamingServer = useStreamingServer();\n const platform = usePlatform();\n const toast = useToast();\n const {\n interfaceLanguageSelect,\n subtitlesLanguageSelect,\n subtitlesSizeSelect,\n subtitlesTextColorInput,\n subtitlesBackgroundColorInput,\n subtitlesOutlineColorInput,\n audioLanguageSelect,\n surroundSoundCheckbox,\n seekTimeDurationSelect,\n seekShortTimeDurationSelect,\n escExitFullscreenCheckbox,\n playInExternalPlayerSelect,\n nextVideoPopupDurationSelect,\n bingeWatchingCheckbox,\n playInBackgroundCheckbox,\n hardwareDecodingCheckbox,\n streamingServerUrlInput\n } = useProfileSettingsInputs(profile);\n const {\n streamingServerRemoteUrlInput,\n remoteEndpointSelect,\n cacheSizeSelect,\n torrentProfileSelect,\n transcodingProfileSelect,\n } = useStreamingServerSettingsInputs(streamingServer);\n const [configureServerUrlModalOpen, openConfigureServerUrlModal, closeConfigureServerUrlModal] = useBinaryState(false);\n const configureServerUrlInputRef = React.useRef(null);\n const configureServerUrlOnSubmit = React.useCallback(() => {\n streamingServerUrlInput.onChange(configureServerUrlInputRef.current.value);\n closeConfigureServerUrlModal();\n }, [streamingServerUrlInput]);\n const [traktAuthStarted, setTraktAuthStarted] = React.useState(false);\n const isTraktAuthenticated = React.useMemo(() => {\n return profile.auth !== null && profile.auth.user !== null && profile.auth.user.trakt !== null &&\n (Date.now() / 1000) < (profile.auth.user.trakt.created_at + profile.auth.user.trakt.expires_in);\n }, [profile.auth]);\n const configureServerUrlModalButtons = React.useMemo(() => {\n return [\n {\n className: styles['cancel-button'],\n label: 'Cancel',\n props: {\n onClick: closeConfigureServerUrlModal\n }\n },\n {\n label: 'Submit',\n props: {\n onClick: configureServerUrlOnSubmit,\n }\n }\n ];\n }, [configureServerUrlOnSubmit]);\n const logoutButtonOnClick = React.useCallback(() => {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'Logout'\n }\n });\n }, []);\n const toggleTraktOnClick = React.useCallback(() => {\n if (!isTraktAuthenticated && profile.auth !== null && profile.auth.user !== null && typeof profile.auth.user._id === 'string') {\n platform.openExternal(`https://www.strem.io/trakt/auth/${profile.auth.user._id}`);\n setTraktAuthStarted(true);\n } else {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'LogoutTrakt'\n }\n });\n }\n }, [isTraktAuthenticated, profile.auth]);\n const subscribeCalendarOnClick = React.useCallback(() => {\n if (!profile.auth) return;\n\n const protocol = platform.name === 'ios' ? 'webcal' : 'https';\n const url = `${protocol}://www.strem.io/calendar/${profile.auth.user._id}.ics`;\n platform.openExternal(url);\n toast.show({\n type: 'success',\n title: platform.name === 'ios' ? t('SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST') : t('SETTINGS_SUBSCRIBE_CALENDAR_TOAST'),\n timeout: 25000\n });\n // Stremio 4 emits not documented event subscribeCalendar\n }, [profile.auth]);\n const exportDataOnClick = React.useCallback(() => {\n loadDataExport();\n }, []);\n const reloadStreamingServer = React.useCallback(() => {\n core.transport.dispatch({\n action: 'StreamingServer',\n args: {\n action: 'Reload'\n }\n });\n }, []);\n const onCopyRemoteUrlClick = React.useCallback(() => {\n if (streamingServer.remoteUrl) {\n navigator.clipboard.writeText(streamingServer.remoteUrl);\n toast.show({\n type: 'success',\n title: t('SETTINGS_REMOTE_URL_COPIED'),\n timeout: 2500,\n });\n }\n }, [streamingServer.remoteUrl]);\n const sectionsContainerRef = React.useRef(null);\n const generalSectionRef = React.useRef(null);\n const playerSectionRef = React.useRef(null);\n const streamingServerSectionRef = React.useRef(null);\n const shortcutsSectionRef = React.useRef(null);\n const sections = React.useMemo(() => ([\n { ref: generalSectionRef, id: GENERAL_SECTION },\n { ref: playerSectionRef, id: PLAYER_SECTION },\n { ref: streamingServerSectionRef, id: STREAMING_SECTION },\n { ref: shortcutsSectionRef, id: SHORTCUTS_SECTION },\n ]), []);\n const [selectedSectionId, setSelectedSectionId] = React.useState(GENERAL_SECTION);\n const updateSelectedSectionId = React.useCallback(() => {\n if (sectionsContainerRef.current.scrollTop + sectionsContainerRef.current.clientHeight >= sectionsContainerRef.current.scrollHeight - 50) {\n setSelectedSectionId(sections[sections.length - 1].id);\n } else {\n for (let i = sections.length - 1; i >= 0; i--) {\n if (sections[i].ref.current.offsetTop - sectionsContainerRef.current.offsetTop <= sectionsContainerRef.current.scrollTop) {\n setSelectedSectionId(sections[i].id);\n break;\n }\n }\n }\n }, []);\n const sideMenuButtonOnClick = React.useCallback((event) => {\n const section = sections.find((section) => {\n return section.id === event.currentTarget.dataset.section;\n });\n sectionsContainerRef.current.scrollTo({\n top: section.ref.current.offsetTop - sectionsContainerRef.current.offsetTop,\n behavior: 'smooth'\n });\n }, []);\n const sectionsContainerOnScroll = React.useCallback(throttle(() => {\n updateSelectedSectionId();\n }, 50), []);\n React.useEffect(() => {\n if (isTraktAuthenticated && traktAuthStarted) {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'InstallTraktAddon'\n }\n });\n setTraktAuthStarted(false);\n }\n }, [isTraktAuthenticated, traktAuthStarted]);\n React.useEffect(() => {\n if (dataExport.exportUrl !== null && typeof dataExport.exportUrl === 'string') {\n platform.openExternal(dataExport.exportUrl);\n }\n }, [dataExport.exportUrl]);\n React.useLayoutEffect(() => {\n if (routeFocused) {\n updateSelectedSectionId();\n }\n closeConfigureServerUrlModal();\n }, [routeFocused]);\n return (\n <MainNavBars className={styles['settings-container']} route={'settings'}>\n <div className={classnames(styles['settings-content'], 'animation-fade-in')}>\n <div className={styles['side-menu-container']}>\n <Button className={classnames(styles['side-menu-button'], { [styles['selected']]: selectedSectionId === GENERAL_SECTION })} title={ t('SETTINGS_NAV_GENERAL') } data-section={GENERAL_SECTION} onClick={sideMenuButtonOnClick}>\n { t('SETTINGS_NAV_GENERAL') }\n </Button>\n <Button className={classnames(styles['side-menu-button'], { [styles['selected']]: selectedSectionId === PLAYER_SECTION })} title={ t('SETTINGS_NAV_PLAYER') }data-section={PLAYER_SECTION} onClick={sideMenuButtonOnClick}>\n { t('SETTINGS_NAV_PLAYER') }\n </Button>\n <Button className={classnames(styles['side-menu-button'], { [styles['selected']]: selectedSectionId === STREAMING_SECTION })} title={ t('SETTINGS_NAV_STREAMING') } data-section={STREAMING_SECTION} onClick={sideMenuButtonOnClick}>\n { t('SETTINGS_NAV_STREAMING') }\n </Button>\n <Button className={classnames(styles['side-menu-button'], { [styles['selected']]: selectedSectionId === SHORTCUTS_SECTION })} title={ t('SETTINGS_NAV_SHORTCUTS') } data-section={SHORTCUTS_SECTION} onClick={sideMenuButtonOnClick}>\n { t('SETTINGS_NAV_SHORTCUTS') }\n </Button>\n <div className={styles['spacing']} />\n <div className={styles['version-info-label']} title={process.env.VERSION}>App Version: {process.env.VERSION}</div>\n {\n streamingServer.settings !== null && streamingServer.settings.type === 'Ready' ?\n <div className={styles['version-info-label']} title={streamingServer.settings.content.serverVersion}>Server Version: {streamingServer.settings.content.serverVersion}</div>\n :\n null\n }\n </div>\n <div ref={sectionsContainerRef} className={styles['sections-container']} onScroll={sectionsContainerOnScroll}>\n <div ref={generalSectionRef} className={styles['section-container']}>\n <div className={classnames(styles['option-container'], styles['user-info-option-container'])}>\n <div className={styles['user-info-content']}>\n <div\n className={styles['avatar-container']}\n style={{\n backgroundImage: profile.auth === null ?\n `url('${require('/images/anonymous.png')}')`\n :\n profile.auth.user.avatar ?\n `url('${profile.auth.user.avatar}')`\n :\n `url('${require('/images/default_avatar.png')}')`\n }}\n />\n <div className={styles['email-logout-container']}>\n <div className={styles['email-label-container']} title={profile.auth === null ? 'Anonymous user' : profile.auth.user.email}>\n <div className={styles['email-label']}>\n {profile.auth === null ? 'Anonymous user' : profile.auth.user.email}\n </div>\n </div>\n {\n profile.auth !== null ?\n <Button className={styles['logout-button-container']} title={ t('LOG_OUT') } onClick={logoutButtonOnClick}>\n <div className={styles['logout-label']}>{ t('LOG_OUT') }</div>\n </Button>\n :\n null\n }\n </div>\n </div>\n </div>\n {\n profile.auth === null ?\n <div className={styles['option-container']}>\n <Button className={classnames(styles['option-input-container'], styles['button-container'])} title={`${t('LOG_IN')} / ${t('SIGN_UP')}`} href={'#/intro'}>\n <div className={styles['label']}>{ t('LOG_IN') } / { t('SIGN_UP') }</div>\n </Button>\n </div>\n :\n null\n }\n </div>\n <div className={styles['section-container']}>\n <div className={classnames(styles['option-container'], styles['link-container'])}>\n {\n profile.auth ?\n <Button className={classnames(styles['option-input-container'], styles['link-input-container'])} title={t('SETTINGS_DATA_EXPORT')} tabIndex={-1} onClick={exportDataOnClick}>\n <div className={styles['label']}>{ t('SETTINGS_DATA_EXPORT') }</div>\n </Button>\n :\n null\n }\n </div>\n {\n profile.auth !== null && profile.auth.user !== null && typeof profile.auth.user._id === 'string' ?\n <div className={classnames(styles['option-container'], styles['link-container'])}>\n <Button className={classnames(styles['option-input-container'], styles['link-input-container'])} title={t('SETTINGS_SUBSCRIBE_CALENDAR')} tabIndex={-1} onClick={subscribeCalendarOnClick}>\n <div className={styles['label']}>{ t('SETTINGS_SUBSCRIBE_CALENDAR') }</div>\n </Button>\n </div>\n :\n null\n }\n <div className={classnames(styles['option-container'], styles['link-container'])}>\n <Button className={classnames(styles['option-input-container'], styles['link-input-container'])} title={t('SETTINGS_SUPPORT')} target={'_blank'} href={'https://stremio.zendesk.com/hc/en-us'}>\n <div className={styles['label']}>{ t('SETTINGS_SUPPORT') }</div>\n </Button>\n </div>\n <div className={classnames(styles['option-container'], styles['link-container'])}>\n <Button className={classnames(styles['option-input-container'], styles['link-input-container'])} title={'Source code'} target={'_blank'} href={`https://github.com/stremio/stremio-web/tree/${process.env.COMMIT_HASH}`}>\n <div className={styles['label']}>Source code</div>\n </Button>\n </div>\n <div className={classnames(styles['option-container'], styles['link-container'])}>\n <Button className={classnames(styles['option-input-container'], styles['link-input-container'])} title={t('TERMS_OF_SERVICE')} target={'_blank'} href={'https://www.stremio.com/tos'}>\n <div className={styles['label']}>{ t('TERMS_OF_SERVICE') }</div>\n </Button>\n </div>\n <div className={classnames(styles['option-container'], styles['link-container'])}>\n <Button className={classnames(styles['option-input-container'], styles['link-input-container'])} title={t('PRIVACY_POLICY')} target={'_blank'} href={'https://www.stremio.com/privacy'}>\n <div className={styles['label']}>{ t('PRIVACY_POLICY') }</div>\n </Button>\n </div>\n {\n profile.auth !== null && profile.auth.user !== null ?\n <div className={classnames(styles['option-container'], styles['link-container'])}>\n <Button className={classnames(styles['option-input-container'], styles['link-input-container'])} title={t('SETTINGS_ACC_DELETE')} target={'_blank'} href={'https://stremio.zendesk.com/hc/en-us/articles/360021428911-How-to-delete-my-account'}>\n <div className={styles['label']}>{ t('SETTINGS_ACC_DELETE') }</div>\n </Button>\n </div>\n :\n null\n }\n {\n profile.auth !== null && profile.auth.user !== null && typeof profile.auth.user.email === 'string' ?\n <div className={styles['option-container']}>\n <Button className={classnames(styles['option-input-container'], styles['link-input-container'])} title={t('SETTINGS_CHANGE_PASSWORD')} target={'_blank'} href={`https://www.strem.io/reset-password/${profile.auth.user.email}`}>\n <div className={styles['label']}>{ t('SETTINGS_CHANGE_PASSWORD') }</div>\n </Button>\n </div>\n :\n null\n }\n <div className={styles['option-container']}>\n <div className={classnames(styles['option-name-container'], styles['trakt-icon'])}>\n <Icon className={styles['icon']} name={'trakt'} />\n <div className={styles['label']}>Trakt Scrobbling</div>\n </div>\n <Button className={classnames(styles['option-input-container'], styles['button-container'])} title={'Authenticate'} disabled={profile.auth === null} tabIndex={-1} onClick={toggleTraktOnClick}>\n <div className={styles['label']}>\n { profile.auth !== null && profile.auth.user !== null && profile.auth.user.trakt !== null ? t('LOG_OUT') : t('SETTINGS_TRAKT_AUTHENTICATE') }\n </div>\n </Button>\n </div>\n </div>\n <div className={styles['section-container']}>\n <div className={styles['option-container']}>\n <div className={styles['option-name-container']}>\n <div className={styles['label']}>{ t('SETTINGS_UI_LANGUAGE') }</div>\n </div>\n <Multiselect\n className={classnames(styles['option-input-container'], styles['multiselect-container'])}\n tabIndex={-1}\n {...interfaceLanguageSelect}\n />\n </div>\n </div>\n <div ref={playerSectionRef} className={styles['section-container']}>\n <div className={styles['section-title']}>{ t('SETTINGS_NAV_PLAYER') }</div>\n <div className={styles['section-category-container']}>\n <Icon className={styles['icon']} name={'subtitles'} />\n <div className={styles['label']}>{t('SETTINGS_SECTION_SUBTITLES')}</div>\n </div>\n <div className={styles['option-container']}>\n <div className={styles['option-name-container']}>\n <div className={styles['label']}>{ t('SETTINGS_SUBTITLES_LANGUAGE') }</div>\n </div>\n <Multiselect\n className={classnames(styles['option-input-container'], styles['multiselect-container'])}\n {...subtitlesLanguageSelect}\n />\n </div>\n {\n shell.active ?\n <div className={styles['option-container']}>\n <div className={styles['option-name-container']}>\n <div className={styles['label']}>{ t('SETTINGS_FULLSCREEN_EXIT') }</div>\n </div>\n <Checkbox\n className={classnames(styles['option-input-container'], styles['checkbox-container'])}\n {...escExitFullscreenCheckbox}\n />\n </div>\n :\n null\n }\n <div className={styles['option-container']}>\n <div className={styles['option-name-container']}>\n <div className={styles['label']}>{ t('SETTINGS_SUBTITLES_SIZE') }</div>\n </div>\n <Multiselect\n className={classnames(styles['option-input-container'], styles['multiselect-container'])}\n {...subtitlesSizeSelect}\n />\n </div>\n <div className={styles['option-container']}>\n <div className={styles['option-name-container']}>\n <div className={styles['label']}>{ t('SETTINGS_SUBTITLES_COLOR') }</div>\n </div>\n <ColorInput\n className={classnames(styles['option-input-container'], styles['color-input-container'])}\n {...subtitlesTextColorInput}\n />\n </div>\n <div className={styles['option-container']}>\n <div className={styles['option-name-container']}>\n <div className={styles['label']}>{ t('SETTINGS_SUBTITLES_COLOR_BACKGROUND') }</div>\n </div>\n <ColorInput\n className={classnames(styles['option-input-container'], styles['color-input-container'])}\n {...subtitlesBackgroundColorInput}\n />\n </div>\n <div className={styles['option-container']}>\n <div className={styles['option-name-container']}>\n <div className={styles['label']}>{ t('SETTINGS_SUBTITLES_COLOR_OUTLINE') }</div>\n </div>\n <ColorInput\n className={classnames(styles['option-input-container'], styles['color-input-container'])}\n {...subtitlesOutlineColorInput}\n />\n </div>\n </div>\n <div className={styles['section-container']}>\n <div className={styles['section-category-container']}>\n <Icon className={styles['icon']} name={'volume-medium'} />\n <div className={styles['label']}>{t('SETTINGS_SECTION_AUDIO')}</div>\n </div>\n <div className={styles['option-container']}>\n <div className={styles['option-name-container']}>\n <div className={styles['label']}>{ t('SETTINGS_DEFAULT_AUDIO_TRACK') }</div>\n </div>\n <Multiselect\n className={classnames(styles['option-input-container'], styles['multiselect-container'])}\n {...audioLanguageSelect}\n />\n </div>\n <div className={styles['option-container']}>\n <div className={styles['option-name-container']}>\n <div className={styles['label']}>{ t('SETTINGS_SURROUND_SOUND') }</div>\n </div>\n <Checkbox\n className={classnames(styles['option-input-container'], styles['checkbox-container'])}\n tabIndex={-1}\n {...surroundSoundCheckbox}\n />\n </div>\n </div>\n <div className={styles['section-container']}>\n <div className={styles['section-category-container']}>\n <Icon className={styles['icon']} name={'remote'} />\n <div className={styles['label']}>{t('SETTINGS_SECTION_CONTROLS')}</div>\n </div>\n <div className={styles['option-container']}>\n <div className={styles['option-name-container']}>\n <div className={styles['label']}>{ t('SETTINGS_SEEK_KEY') }</div>\n </div>\n <Multiselect\n className={classnames(styles['option-input-container'], styles['multiselect-container'])}\n {...seekTimeDurationSelect}\n />\n </div>\n <div className={styles['option-container']}>\n <div className={styles['option-name-container']}>\n <div className={styles['label']}>{ t('SETTINGS_SEEK_KEY_SHIFT') }</div>\n </div>\n <Multiselect\n className={classnames(styles['option-input-container'], styles['multiselect-container'])}\n {...seekShortTimeDurationSelect}\n />\n </div>\n <div className={styles['option-container']}>\n <div className={styles['option-name-container']}>\n <div className={styles['label']}>{ t('SETTINGS_PLAY_IN_BACKGROUND') }</div>\n </div>\n <Checkbox\n className={classnames(styles['option-input-container'], styles['checkbox-container'])}\n disabled={true}\n tabIndex={-1}\n {...playInBackgroundCheckbox}\n />\n </div>\n </div>\n <div className={styles['section-container']}>\n <div className={styles['section-category-container']}>\n <Icon className={styles['icon']} name={'play'} />\n <div className={styles['label']}>{t('SETTINGS_SECTION_AUTO_PLAY')}</div>\n </div>\n <div className={styles['option-container']}>\n <div className={styles['option-name-container']}>\n <div className={styles['label']}>{ t('AUTO_PLAY') }</div>\n </div>\n <Checkbox\n className={classnames(styles['option-input-container'], styles['checkbox-container'])}\n {...bingeWatchingCheckbox}\n />\n </div>\n <div className={styles['option-container']}>\n <div className={styles['option-name-container']}>\n <div className={styles['label']}>{ t('SETTINGS_NEXT_VIDEO_POPUP_DURATION') }</div>\n </div>\n <Multiselect\n className={classnames(styles['option-input-container'], styles['multiselect-container'])}\n disabled={!profile.settings.bingeWatching}\n {...nextVideoPopupDurationSelect}\n />\n </div>\n </div>\n <div className={styles['section-container']}>\n <div className={styles['section-category-container']}>\n <Icon className={styles['icon']} name={'glasses'} />\n <div className={styles['label']}>{t('SETTINGS_SECTION_ADVANCED')}</div>\n </div>\n <div className={styles['option-container']}>\n <div className={styles['option-name-container']}>\n <div className={styles['label']}>{ t('SETTINGS_PLAY_IN_EXTERNAL_PLAYER') }</div>\n </div>\n <Multiselect\n className={classnames(styles['option-input-container'], styles['multiselect-container'])}\n {...playInExternalPlayerSelect}\n />\n </div>\n <div className={styles['option-container']}>\n <div className={styles['option-name-container']}>\n <div className={styles['label']}>{ t('SETTINGS_HWDEC') }</div>\n </div>\n <Checkbox\n className={classnames(styles['option-input-container'], styles['checkbox-container'])}\n disabled={true}\n tabIndex={-1}\n {...hardwareDecodingCheckbox}\n />\n </div>\n </div>\n <div ref={streamingServerSectionRef} className={styles['section-container']}>\n <div className={styles['section-title']}>{ t('SETTINGS_NAV_STREAMING') }</div>\n <div className={styles['option-container']}>\n <Button className={classnames(styles['option-input-container'], styles['button-container'])} title={'Reload'} onClick={reloadStreamingServer}>\n <div className={styles['label']}>{ t('RELOAD') }</div>\n </Button>\n </div>\n <div className={styles['option-container']}>\n <div className={styles['option-name-container']}>\n <div className={styles['label']}>{ t('STATUS') }</div>\n </div>\n <div className={classnames(styles['option-input-container'], styles['info-container'])}>\n <div className={styles['label']}>\n {\n streamingServer.settings === null ?\n 'NotLoaded'\n :\n streamingServer.settings.type === 'Ready' ?\n t('SETTINGS_SERVER_STATUS_ONLINE')\n :\n streamingServer.settings.type === 'Err' ?\n t('SETTINGS_SERVER_STATUS_ERROR')\n :\n streamingServer.settings.type\n }\n </div>\n </div>\n </div>\n <div className={styles['option-container']}>\n <div className={styles['option-name-container']}>\n <div className={styles['label']}>Url</div>\n </div>\n <div className={classnames(styles['option-input-container'], styles['configure-input-container'])}>\n <div className={styles['label']} title={streamingServerUrlInput.value}>{streamingServerUrlInput.value}</div>\n <Button className={styles['configure-button-container']} title={'Configure server url'} onClick={openConfigureServerUrlModal}>\n <Icon className={styles['icon']} name={'settings'} />\n </Button>\n </div>\n </div>\n {\n streamingServerRemoteUrlInput.value !== null ?\n <div className={styles['option-container']}>\n <div className={styles['option-name-container']}>\n <div className={styles['label']}>{t('SETTINGS_REMOTE_URL')}</div>\n </div>\n <div className={classnames(styles['option-input-container'], styles['configure-input-container'])}>\n <div className={styles['label']} title={streamingServerRemoteUrlInput.value}>{streamingServerRemoteUrlInput.value}</div>\n <Button className={styles['configure-button-container']} title={t('SETTINGS_COPY_REMOTE_URL')} onClick={onCopyRemoteUrlClick}>\n <Icon className={styles['icon']} name={'link'} />\n </Button>\n </div>\n </div>\n :\n null\n }\n {\n profile.auth !== null && profile.auth.user !== null && remoteEndpointSelect !== null ?\n <div className={styles['option-container']}>\n <div className={styles['option-name-container']}>\n <div className={styles['label']}>{ t('SETTINGS_HTTPS_ENDPOINT') }</div>\n </div>\n <Multiselect\n className={classnames(styles['option-input-container'], styles['multiselect-container'])}\n {...remoteEndpointSelect}\n />\n </div>\n :\n null\n }\n {\n cacheSizeSelect !== null ?\n <div className={styles['option-container']}>\n <div className={styles['option-name-container']}>\n <div className={styles['label']}>{ t('SETTINGS_SERVER_CACHE_SIZE') }</div>\n </div>\n <Multiselect\n className={classnames(styles['option-input-container'], styles['multiselect-container'])}\n {...cacheSizeSelect}\n />\n </div>\n :\n null\n }\n {\n torrentProfileSelect !== null ?\n <div className={styles['option-container']}>\n <div className={styles['option-name-container']}>\n <div className={styles['label']}>{ t('SETTINGS_SERVER_TORRENT_PROFILE') }</div>\n </div>\n <Multiselect\n className={classnames(styles['option-input-container'], styles['multiselect-container'])}\n {...torrentProfileSelect}\n />\n </div>\n :\n null\n }\n {\n transcodingProfileSelect !== null ?\n <div className={styles['option-container']}>\n <div className={styles['option-name-container']}>\n <div className={styles['label']}>{ t('SETTINGS_TRANSCODE_PROFILE') }</div>\n </div>\n <Multiselect\n className={classnames(styles['option-input-container'], styles['multiselect-container'])}\n {...transcodingProfileSelect}\n />\n </div>\n :\n null\n }\n </div>\n <div ref={shortcutsSectionRef} className={styles['section-container']}>\n <div className={styles['section-title']}>{ t('SETTINGS_NAV_SHORTCUTS') }</div>\n <div className={styles['option-container']}>\n <div className={styles['option-name-container']}>\n <div className={styles['label']}>{ t('SETTINGS_SHORTCUT_PLAY_PAUSE') }</div>\n </div>\n <div className={classnames(styles['option-input-container'], styles['shortcut-container'])}>\n <kbd>{ t('SETTINGS_SHORTCUT_SPACE') }</kbd>\n </div>\n </div>\n <div className={styles['option-container']}>\n <div className={styles['option-name-container']}>\n <div className={styles['label']}>{ t('SETTINGS_SHORTCUT_SEEK_FORWARD') }</div>\n </div>\n <div className={classnames(styles['option-input-container'], styles['shortcut-container'])}>\n <kbd>→</kbd>\n <div className={styles['label']}>{ t('SETTINGS_SHORTCUT_OR') }</div>\n <kbd>⇧ { t('SETTINGS_SHORTCUT_SHIFT') }</kbd>\n <div className={styles['label']}>+</div>\n <kbd>→</kbd>\n </div>\n </div>\n <div className={styles['option-container']}>\n <div className={styles['option-name-container']}>\n <div className={styles['label']}>{ t('SETTINGS_SHORTCUT_SEEK_BACKWARD') }</div>\n </div>\n <div className={classnames(styles['option-input-container'], styles['shortcut-container'])}>\n <kbd>←</kbd>\n <div className={styles['label']}>{ t('SETTINGS_SHORTCUT_OR') }</div>\n <kbd>⇧ { t('SETTINGS_SHORTCUT_SHIFT') }</kbd>\n <div className={styles['label']}>+</div>\n <kbd>←</kbd>\n </div>\n </div>\n <div className={styles['option-container']}>\n <div className={styles['option-name-container']}>\n <div className={styles['label']}>{ t('SETTINGS_SHORTCUT_VOLUME_UP') }</div>\n </div>\n <div className={classnames(styles['option-input-container'], styles['shortcut-container'])}>\n <kbd>↑</kbd>\n </div>\n </div>\n <div className={styles['option-container']}>\n <div className={styles['option-name-container']}>\n <div className={styles['label']}>{ t('SETTINGS_SHORTCUT_VOLUME_DOWN') }</div>\n </div>\n <div className={classnames(styles['option-input-container'], styles['shortcut-container'])}>\n <kbd>↓</kbd>\n </div>\n </div>\n <div className={styles['option-container']}>\n <div className={styles['option-name-container']}>\n <div className={styles['label']}>{ t('SETTINGS_SHORTCUT_MENU_SUBTITLES') }</div>\n </div>\n <div className={classnames(styles['option-input-container'], styles['shortcut-container'])}>\n <kbd>S</kbd>\n </div>\n </div>\n <div className={styles['option-container']}>\n <div className={styles['option-name-container']}>\n <div className={styles['label']}>{ t('SETTINGS_SHORTCUT_MENU_INFO') }</div>\n </div>\n <div className={classnames(styles['option-input-container'], styles['shortcut-container'])}>\n <kbd>I</kbd>\n </div>\n </div>\n <div className={styles['option-container']}>\n <div className={styles['option-name-container']}>\n <div className={styles['label']}>{ t('SETTINGS_SHORTCUT_MENU_VIDEOS') }</div>\n </div>\n <div className={classnames(styles['option-input-container'], styles['shortcut-container'])}>\n <kbd>V</kbd>\n </div>\n </div>\n <div className={styles['option-container']}>\n <div className={styles['option-name-container']}>\n <div className={styles['label']}>{ t('SETTINGS_SHORTCUT_FULLSCREEN') }</div>\n </div>\n <div className={classnames(styles['option-input-container'], styles['shortcut-container'])}>\n <kbd>F</kbd>\n </div>\n </div>\n <div className={styles['option-container']}>\n <div className={styles['option-name-container']}>\n <div className={styles['label']}>{ t('SETTINGS_SHORTCUT_NAVIGATE_MENUS') }</div>\n </div>\n <div className={classnames(styles['option-input-container'], styles['shortcut-container'])}>\n <kbd>1</kbd>\n <div className={styles['label']}>{ t('SETTINGS_SHORTCUT_TO') }</div>\n <kbd>5</kbd>\n </div>\n </div>\n <div className={styles['option-container']}>\n <div className={styles['option-name-container']}>\n <div className={styles['label']}>{ t('SETTINGS_SHORTCUT_GO_TO_SEARCH') }</div>\n </div>\n <div className={classnames(styles['option-input-container'], styles['shortcut-container'])}>\n <kbd>0</kbd>\n </div>\n </div>\n <div className={styles['option-container']}>\n <div className={styles['option-name-container']}>\n <div className={styles['label']}>{ t('SETTINGS_SHORTCUT_EXIT_BACK') }</div>\n </div>\n <div className={classnames(styles['option-input-container'], styles['shortcut-container'])}>\n <kbd>{ t('SETTINGS_SHORTCUT_ESC') }</kbd>\n </div>\n </div>\n </div>\n <div className={classnames(styles['section-container'], styles['versions-section-container'])}>\n <div className={styles['option-container']}>\n <div className={styles['option-name-container']}>\n <div className={styles['label']}>\n App Version\n </div>\n </div>\n <div className={classnames(styles['option-input-container'], styles['info-container'])}>\n <div className={styles['label']}>\n {process.env.VERSION}\n </div>\n </div>\n </div>\n {\n streamingServer.settings !== null && streamingServer.settings.type === 'Ready' ?\n <div className={styles['option-container']}>\n <div className={styles['option-name-container']}>\n <div className={styles['label']}>\n Server Version\n </div>\n </div>\n <div className={classnames(styles['option-input-container'], styles['info-container'])}>\n <div className={styles['label']}>\n {streamingServer.settings.content.serverVersion}\n </div>\n </div>\n </div>\n :\n null\n }\n </div>\n </div>\n </div>\n {\n configureServerUrlModalOpen ?\n <ModalDialog\n className={styles['configure-server-url-modal-container']}\n title={t('SETTINGS_SERVER_CONFIGURE_TITLE')}\n buttons={configureServerUrlModalButtons}\n onCloseRequest={closeConfigureServerUrlModal}>\n <TextInput\n ref={configureServerUrlInputRef}\n autoFocus={true}\n className={styles['server-url-input']}\n type={'text'}\n defaultValue={streamingServerUrlInput.value}\n placeholder={t('SETTINGS_SERVER_CONFIGURE_INPUT')}\n onSubmit={configureServerUrlOnSubmit}\n />\n </ModalDialog>\n :\n null\n }\n </MainNavBars>\n );\n};\n\nconst SettingsFallback = () => (\n <MainNavBars className={styles['settings-container']} route={'settings'} />\n);\n\nmodule.exports = withCoreSuspender(Settings, SettingsFallback);\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Settings = require('./Settings');\n\nmodule.exports = Settings;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useServices } = require('stremio/services');\nconst { useModelState } = require('stremio/common');\n\nconst map = (dataExport) => ({\n ...dataExport,\n exportUrl: dataExport !== null && dataExport.exportUrl !== null && dataExport.exportUrl.type === 'Ready' ?\n dataExport.exportUrl.content\n :\n null\n});\n\nconst useDataExport = () => {\n const { core } = useServices();\n const loadDataExport = React.useCallback(() => {\n core.transport.dispatch({\n action: 'Load',\n args: {\n model: 'DataExport',\n }\n }, 'data_export');\n }, []);\n const dataExport = useModelState({ model: 'data_export', map });\n return [\n dataExport,\n loadDataExport\n ];\n};\n\nmodule.exports = useDataExport;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useTranslation } = require('react-i18next');\nconst { useServices } = require('stremio/services');\nconst { CONSTANTS, usePlatform, interfaceLanguages, languageNames } = require('stremio/common');\n\nconst useProfileSettingsInputs = (profile) => {\n const { t } = useTranslation();\n const { core } = useServices();\n const platform = usePlatform();\n // TODO combine those useMemo in one\n const interfaceLanguageSelect = React.useMemo(() => ({\n options: interfaceLanguages.map(({ name, codes }) => ({\n value: codes[0],\n label: name,\n })),\n selected: [\n interfaceLanguages.find(({ codes }) => codes[1] === profile.settings.interfaceLanguage)?.codes?.[0] || profile.settings.interfaceLanguage\n ],\n onSelect: (event) => {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: {\n ...profile.settings,\n interfaceLanguage: event.value\n }\n }\n });\n }\n }), [profile.settings]);\n const subtitlesLanguageSelect = React.useMemo(() => ({\n options: Object.keys(languageNames).map((code) => ({\n value: code,\n label: languageNames[code]\n })),\n selected: [profile.settings.subtitlesLanguage],\n onSelect: (event) => {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: {\n ...profile.settings,\n subtitlesLanguage: event.value\n }\n }\n });\n }\n }), [profile.settings]);\n const subtitlesSizeSelect = React.useMemo(() => ({\n options: CONSTANTS.SUBTITLES_SIZES.map((size) => ({\n value: `${size}`,\n label: `${size}%`\n })),\n selected: [`${profile.settings.subtitlesSize}`],\n renderLabelText: () => {\n return `${profile.settings.subtitlesSize}%`;\n },\n onSelect: (event) => {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: {\n ...profile.settings,\n subtitlesSize: parseInt(event.value, 10)\n }\n }\n });\n }\n }), [profile.settings]);\n const subtitlesTextColorInput = React.useMemo(() => ({\n value: profile.settings.subtitlesTextColor,\n onChange: (event) => {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: {\n ...profile.settings,\n subtitlesTextColor: event.value\n }\n }\n });\n }\n }), [profile.settings]);\n const subtitlesBackgroundColorInput = React.useMemo(() => ({\n value: profile.settings.subtitlesBackgroundColor,\n onChange: (event) => {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: {\n ...profile.settings,\n subtitlesBackgroundColor: event.value\n }\n }\n });\n }\n }), [profile.settings]);\n const subtitlesOutlineColorInput = React.useMemo(() => ({\n value: profile.settings.subtitlesOutlineColor,\n onChange: (event) => {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: {\n ...profile.settings,\n subtitlesOutlineColor: event.value\n }\n }\n });\n }\n }), [profile.settings]);\n const audioLanguageSelect = React.useMemo(() => ({\n options: Object.keys(languageNames).map((code) => ({\n value: code,\n label: languageNames[code]\n })),\n selected: [profile.settings.audioLanguage],\n onSelect: (event) => {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: {\n ...profile.settings,\n audioLanguage: event.value\n }\n }\n });\n }\n }), [profile.settings]);\n const surroundSoundCheckbox = React.useMemo(() => ({\n checked: profile.settings.surroundSound,\n onClick: () => {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: {\n ...profile.settings,\n surroundSound: !profile.settings.surroundSound\n }\n }\n });\n }\n }), [profile.settings]);\n const escExitFullscreenCheckbox = React.useMemo(() => ({\n checked: profile.settings.escExitFullscreen,\n onClick: () => {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: {\n ...profile.settings,\n escExitFullscreen: !profile.settings.escExitFullscreen\n }\n }\n });\n }\n }), [profile.settings]);\n\n const seekTimeDurationSelect = React.useMemo(() => ({\n options: CONSTANTS.SEEK_TIME_DURATIONS.map((size) => ({\n value: `${size}`,\n label: `${size / 1000} ${t('SECONDS')}`\n })),\n selected: [`${profile.settings.seekTimeDuration}`],\n renderLabelText: () => {\n return `${profile.settings.seekTimeDuration / 1000} ${t('SECONDS')}`;\n },\n onSelect: (event) => {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: {\n ...profile.settings,\n seekTimeDuration: parseInt(event.value, 10)\n }\n }\n });\n }\n }), [profile.settings]);\n const seekShortTimeDurationSelect = React.useMemo(() => ({\n options: CONSTANTS.SEEK_TIME_DURATIONS.map((size) => ({\n value: `${size}`,\n label: `${size / 1000} ${t('SECONDS')}`\n })),\n selected: [`${profile.settings.seekShortTimeDuration}`],\n renderLabelText: () => {\n return `${profile.settings.seekShortTimeDuration / 1000} ${t('SECONDS')}`;\n },\n onSelect: (event) => {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: {\n ...profile.settings,\n seekShortTimeDuration: parseInt(event.value, 10)\n }\n }\n });\n }\n }), [profile.settings]);\n const playInExternalPlayerSelect = React.useMemo(() => ({\n options: CONSTANTS.EXTERNAL_PLAYERS\n .filter(({ platforms }) => platforms.includes(platform.name))\n .map(({ label, value }) => ({\n value,\n label: t(label),\n })),\n selected: [profile.settings.playerType],\n renderLabelText: () => {\n const selectedOption = CONSTANTS.EXTERNAL_PLAYERS.find(({ value }) => value === profile.settings.playerType);\n return selectedOption ? t(selectedOption.label, { defaultValue: selectedOption.label }) : profile.settings.playerType;\n },\n onSelect: (event) => {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: {\n ...profile.settings,\n playerType: event.value\n }\n }\n });\n }\n }), [profile.settings]);\n const nextVideoPopupDurationSelect = React.useMemo(() => ({\n options: CONSTANTS.NEXT_VIDEO_POPUP_DURATIONS.map((duration) => ({\n value: `${duration}`,\n label: duration === 0 ? 'Disabled' : `${duration / 1000} ${t('SECONDS')}`\n })),\n selected: [`${profile.settings.nextVideoNotificationDuration}`],\n renderLabelText: () => {\n return profile.settings.nextVideoNotificationDuration === 0 ?\n 'Disabled'\n :\n `${profile.settings.nextVideoNotificationDuration / 1000} ${t('SECONDS')}`;\n },\n onSelect: (event) => {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: {\n ...profile.settings,\n nextVideoNotificationDuration: parseInt(event.value, 10)\n }\n }\n });\n }\n }), [profile.settings]);\n const bingeWatchingCheckbox = React.useMemo(() => ({\n checked: profile.settings.bingeWatching,\n onClick: () => {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: {\n ...profile.settings,\n bingeWatching: !profile.settings.bingeWatching\n }\n }\n });\n }\n }), [profile.settings]);\n const playInBackgroundCheckbox = React.useMemo(() => ({\n checked: profile.settings.playInBackground,\n onClick: () => {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: {\n ...profile.settings,\n playInBackground: !profile.settings.playInBackground\n }\n }\n });\n }\n }), [profile.settings]);\n const hardwareDecodingCheckbox = React.useMemo(() => ({\n checked: profile.settings.hardwareDecoding,\n onClick: () => {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: {\n ...profile.settings,\n hardwareDecoding: !profile.settings.hardwareDecoding\n }\n }\n });\n }\n }), [profile.settings]);\n const streamingServerUrlInput = React.useMemo(() => ({\n value: profile.settings.streamingServerUrl,\n onChange: (value) => {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: {\n ...profile.settings,\n streamingServerUrl: value\n }\n }\n });\n }\n }), [profile.settings]);\n return {\n interfaceLanguageSelect,\n subtitlesLanguageSelect,\n subtitlesSizeSelect,\n subtitlesTextColorInput,\n subtitlesBackgroundColorInput,\n subtitlesOutlineColorInput,\n audioLanguageSelect,\n surroundSoundCheckbox,\n escExitFullscreenCheckbox,\n seekTimeDurationSelect,\n seekShortTimeDurationSelect,\n playInExternalPlayerSelect,\n nextVideoPopupDurationSelect,\n bingeWatchingCheckbox,\n playInBackgroundCheckbox,\n hardwareDecodingCheckbox,\n streamingServerUrlInput\n };\n};\n\nmodule.exports = useProfileSettingsInputs;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useTranslation } = require('react-i18next');\nconst isEqual = require('lodash.isequal');\nconst { useServices } = require('stremio/services');\n\nconst CACHE_SIZES = [0, 2147483648, 5368709120, 10737418240, null];\n\nconst cacheSizeToString = (size) => {\n return size === null ?\n 'Infinite'\n :\n size === 0 ?\n 'No caching'\n :\n `${Math.ceil(((size / 1024 / 1024 / 1024) + Number.EPSILON) * 100) / 100}GiB`;\n};\n\nconst TORRENT_PROFILES = {\n default: {\n btDownloadSpeedHardLimit: 3670016,\n btDownloadSpeedSoftLimit: 2621440,\n btHandshakeTimeout: 20000,\n btMaxConnections: 55,\n btMinPeersForStable: 5,\n btRequestTimeout: 4000\n },\n soft: {\n btDownloadSpeedHardLimit: 1677721.6,\n btDownloadSpeedSoftLimit: 1677721.6,\n btHandshakeTimeout: 20000,\n btMaxConnections: 35,\n btMinPeersForStable: 5,\n btRequestTimeout: 4000\n },\n fast: {\n btDownloadSpeedHardLimit: 39321600,\n btDownloadSpeedSoftLimit: 4194304,\n btHandshakeTimeout: 20000,\n btMaxConnections: 200,\n btMinPeersForStable: 10,\n btRequestTimeout: 4000\n },\n 'ultra fast': {\n btDownloadSpeedHardLimit: 78643200,\n btDownloadSpeedSoftLimit: 8388608,\n btHandshakeTimeout: 25000,\n btMaxConnections: 400,\n btMinPeersForStable: 10,\n btRequestTimeout: 6000\n }\n};\n\nconst useStreamingServerSettingsInputs = (streamingServer) => {\n const { core } = useServices();\n const { t } = useTranslation();\n // TODO combine those useMemo in one\n\n const streamingServerRemoteUrlInput = React.useMemo(() => ({\n value: streamingServer.remoteUrl,\n }), [streamingServer.remoteUrl]);\n\n const remoteEndpointSelect = React.useMemo(() => {\n if (streamingServer.settings?.type !== 'Ready' || streamingServer.networkInfo?.type !== 'Ready') {\n return null;\n }\n\n return {\n options: [\n {\n label: t('SETTINGS_DISABLED'),\n value: '',\n },\n ...streamingServer.networkInfo.content.availableInterfaces.map((address) => ({\n label: address,\n value: address,\n }))\n ],\n selected: [streamingServer.settings.content.remoteHttps],\n onSelect: (event) => {\n core.transport.dispatch({\n action: 'StreamingServer',\n args: {\n action: 'UpdateSettings',\n args: {\n ...streamingServer.settings.content,\n remoteHttps: event.value,\n }\n }\n });\n }\n };\n }, [streamingServer.settings, streamingServer.networkInfo]);\n\n const cacheSizeSelect = React.useMemo(() => {\n if (streamingServer.settings === null || streamingServer.settings.type !== 'Ready') {\n return null;\n }\n\n return {\n options: CACHE_SIZES.map((size) => ({\n label: cacheSizeToString(size),\n value: JSON.stringify(size)\n })),\n selected: [JSON.stringify(streamingServer.settings.content.cacheSize)],\n renderLabelText: () => {\n return cacheSizeToString(streamingServer.settings.content.cacheSize);\n },\n onSelect: (event) => {\n core.transport.dispatch({\n action: 'StreamingServer',\n args: {\n action: 'UpdateSettings',\n args: {\n ...streamingServer.settings.content,\n cacheSize: JSON.parse(event.value),\n }\n }\n });\n }\n };\n }, [streamingServer.settings]);\n const torrentProfileSelect = React.useMemo(() => {\n if (streamingServer.settings === null || streamingServer.settings.type !== 'Ready') {\n return null;\n }\n\n const selectedTorrentProfile = {\n btDownloadSpeedHardLimit: streamingServer.settings.content.btDownloadSpeedHardLimit,\n btDownloadSpeedSoftLimit: streamingServer.settings.content.btDownloadSpeedSoftLimit,\n btHandshakeTimeout: streamingServer.settings.content.btHandshakeTimeout,\n btMaxConnections: streamingServer.settings.content.btMaxConnections,\n btMinPeersForStable: streamingServer.settings.content.btMinPeersForStable,\n btRequestTimeout: streamingServer.settings.content.btRequestTimeout\n };\n const isCustomTorrentProfileSelected = Object.values(TORRENT_PROFILES).every((torrentProfile) => {\n return !isEqual(torrentProfile, selectedTorrentProfile);\n });\n return {\n options: Object.keys(TORRENT_PROFILES)\n .map((profileName) => ({\n label: profileName,\n value: JSON.stringify(TORRENT_PROFILES[profileName])\n }))\n .concat(\n isCustomTorrentProfileSelected ?\n [{\n label: 'custom',\n value: JSON.stringify(selectedTorrentProfile)\n }]\n :\n []\n ),\n selected: [JSON.stringify(selectedTorrentProfile)],\n onSelect: (event) => {\n core.transport.dispatch({\n action: 'StreamingServer',\n args: {\n action: 'UpdateSettings',\n args: {\n ...streamingServer.settings.content,\n ...JSON.parse(event.value),\n }\n }\n });\n }\n };\n }, [streamingServer.settings]);\n const transcodingProfileSelect = React.useMemo(() => {\n if (streamingServer.settings?.type !== 'Ready' || streamingServer.deviceInfo?.type !== 'Ready') {\n return null;\n }\n\n return {\n options: [\n {\n label: t('SETTINGS_DISABLED'),\n value: null,\n },\n ...streamingServer.deviceInfo.content.availableHardwareAccelerations.map((name) => ({\n label: name,\n value: name,\n }))\n ],\n selected: [streamingServer.settings.content.transcodeProfile],\n onSelect: (event) => {\n core.transport.dispatch({\n action: 'StreamingServer',\n args: {\n action: 'UpdateSettings',\n args: {\n ...streamingServer.settings.content,\n transcodeProfile: event.value,\n }\n }\n });\n }\n };\n }, [streamingServer.settings, streamingServer.deviceInfo]);\n return { streamingServerRemoteUrlInput, remoteEndpointSelect, cacheSizeSelect, torrentProfileSelect, transcodingProfileSelect };\n};\n\nmodule.exports = useStreamingServerSettingsInputs;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Addons = require('./Addons');\nconst Board = require('./Board');\nconst Discover = require('./Discover');\nconst Library = require('./Library');\nconst MetaDetails = require('./MetaDetails');\nconst NotFound = require('./NotFound');\nconst Search = require('./Search');\nconst Settings = require('./Settings');\nconst Player = require('./Player');\nconst Intro = require('./Intro');\n\nmodule.exports = {\n Addons,\n Board,\n Discover,\n Library,\n MetaDetails,\n NotFound,\n Search,\n Settings,\n Player,\n Intro\n};\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst EventEmitter = require('eventemitter3');\nconst ChromecastTransport = require('./ChromecastTransport');\n\nfunction Chromecast() {\n let active = false;\n let error = null;\n let starting = false;\n let transport = null;\n\n const events = new EventEmitter();\n\n function onTransportInit() {\n active = true;\n error = null;\n starting = false;\n onStateChanged();\n }\n function onTransportInitError(args) {\n console.error(args);\n active = false;\n error = new Error('Google Cast API not available', { cause: args });\n starting = false;\n onStateChanged();\n transport = null;\n }\n function onStateChanged() {\n events.emit('stateChanged');\n }\n\n Object.defineProperties(this, {\n active: {\n configurable: false,\n enumerable: true,\n get: function() {\n return active;\n }\n },\n error: {\n configurable: false,\n enumerable: true,\n get: function() {\n return error;\n }\n },\n starting: {\n configurable: false,\n enumerable: true,\n get: function() {\n return starting;\n }\n },\n transport: {\n configurable: false,\n enumerable: true,\n get: function() {\n return transport;\n }\n }\n });\n\n this.start = function() {\n if (active || error instanceof Error || starting) {\n return;\n }\n\n starting = true;\n transport = new ChromecastTransport();\n transport.on('init', onTransportInit);\n transport.on('init-error', onTransportInitError);\n onStateChanged();\n };\n this.stop = function() {\n active = false;\n error = null;\n starting = false;\n onStateChanged();\n if (transport !== null) {\n transport.removeAllListeners();\n transport = null;\n }\n };\n this.on = function(name, listener) {\n events.on(name, listener);\n };\n this.off = function(name, listener) {\n events.off(name, listener);\n };\n}\n\nmodule.exports = Chromecast;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst EventEmitter = require('eventemitter3');\nconst hat = require('hat');\n\nconst MESSAGE_NAMESPACE = 'urn:x-cast:com.stremio';\nconst CHUNK_SIZE = 20000;\n\nlet castAPIAvailable = null;\nconst castAPIEvents = new EventEmitter();\nwindow['__onGCastApiAvailable'] = function(available) {\n delete window['__onGCastApiAvailable'];\n castAPIAvailable = !!available;\n castAPIEvents.emit('availabilityChanged');\n};\n\nconst initialize = () => {\n return new Promise((resolve, reject) => {\n function onCastAPIAvailabilityChanged() {\n castAPIEvents.off('availabilityChanged', onCastAPIAvailabilityChanged);\n if (castAPIAvailable) {\n resolve();\n } else {\n reject(new Error('window.cast api not available'));\n }\n }\n if (castAPIAvailable !== null) {\n onCastAPIAvailabilityChanged();\n } else {\n castAPIEvents.on('availabilityChanged', onCastAPIAvailabilityChanged);\n }\n });\n};\n\nfunction ChromecastTransport() {\n const events = new EventEmitter();\n const messages = {};\n\n initialize()\n .then(() => {\n cast.framework.CastContext.getInstance().addEventListener(\n cast.framework.CastContextEventType.CAST_STATE_CHANGED,\n onCastStateChanged\n );\n cast.framework.CastContext.getInstance().addEventListener(\n cast.framework.CastContextEventType.SESSION_STATE_CHANGED,\n onSesstionStateChanged\n );\n })\n .then(() => {\n try {\n events.emit('init');\n } catch (error) {\n console.error('ChromecastTransport', error);\n }\n })\n .catch((error) => {\n events.emit('init-error', error);\n });\n\n function onMessage(_, message) {\n try {\n const { id, chunk, index, length } = JSON.parse(message);\n messages[id] = messages[id] || [];\n messages[id][index] = chunk;\n if (Object.keys(messages[id]).length === length) {\n const parsedMessage = JSON.parse(messages[id].join(''));\n delete messages[id];\n events.emit('message', parsedMessage);\n }\n } catch (error) {\n events.emit('message-error', error);\n }\n }\n function onApplicationStatusChanged(event) {\n events.emit(cast.framework.CastSession.APPLICATION_STATUS_CHANGED, event);\n }\n function onApplicationMetadataChanged(event) {\n events.emit(cast.framework.CastSession.APPLICATION_METADATA_CHANGED, event);\n }\n function onActiveInputStateChanged(event) {\n events.emit(cast.framework.CastSession.ACTIVE_INPUT_STATE_CHANGED, event);\n }\n function onVolumeChanged(event) {\n events.emit(cast.framework.CastSession.VOLUME_CHANGED, event);\n }\n function onMediaSessionChanged(event) {\n events.emit(cast.framework.CastSession.MEDIA_SESSION, event);\n }\n function onCastStateChanged(event) {\n events.emit(cast.framework.CastContextEventType.CAST_STATE_CHANGED, event);\n }\n function onSesstionStateChanged(event) {\n events.emit(cast.framework.CastContextEventType.SESSION_STATE_CHANGED, event);\n switch (event.sessionState) {\n case cast.framework.SessionState.SESSION_STARTED: {\n event.session.addMessageListener(MESSAGE_NAMESPACE, onMessage);\n event.session.addEventListener(cast.framework.CastSession.APPLICATION_STATUS_CHANGED, onApplicationStatusChanged);\n event.session.addEventListener(cast.framework.CastSession.APPLICATION_METADATA_CHANGED, onApplicationMetadataChanged);\n event.session.addEventListener(cast.framework.CastSession.ACTIVE_INPUT_STATE_CHANGED, onActiveInputStateChanged);\n event.session.addEventListener(cast.framework.CastSession.VOLUME_CHANGED, onVolumeChanged);\n event.session.addEventListener(cast.framework.CastSession.MEDIA_SESSION, onMediaSessionChanged);\n break;\n }\n case cast.framework.SessionState.SESSION_ENDED: {\n event.session.removeMessageListener(MESSAGE_NAMESPACE, onMessage);\n event.session.removeEventListener(cast.framework.CastSession.APPLICATION_STATUS_CHANGED, onApplicationStatusChanged);\n event.session.removeEventListener(cast.framework.CastSession.APPLICATION_METADATA_CHANGED, onApplicationMetadataChanged);\n event.session.removeEventListener(cast.framework.CastSession.ACTIVE_INPUT_STATE_CHANGED, onActiveInputStateChanged);\n event.session.removeEventListener(cast.framework.CastSession.VOLUME_CHANGED, onVolumeChanged);\n event.session.removeEventListener(cast.framework.CastSession.MEDIA_SESSION, onMediaSessionChanged);\n break;\n }\n }\n }\n\n this.on = function(name, listener) {\n events.on(name, listener);\n };\n this.off = function(name, listener) {\n events.off(name, listener);\n };\n this.removeAllListeners = function() {\n events.removeAllListeners();\n };\n this.getCastState = function() {\n return cast.framework.CastContext.getInstance().getCastState();\n };\n this.getSessionState = function() {\n return cast.framework.CastContext.getInstance().getSessionState();\n };\n this.getCastDevice = function() {\n const session = cast.framework.CastContext.getInstance().getCurrentSession();\n if (session !== null) {\n return session.getCastDevice();\n }\n\n return null;\n };\n this.setOptions = function(options) {\n cast.framework.CastContext.getInstance().setOptions(options);\n };\n this.requestSession = function() {\n return cast.framework.CastContext.getInstance().requestSession();\n };\n this.endCurrentSession = function(stopCasting) {\n cast.framework.CastContext.getInstance().endCurrentSession(stopCasting);\n };\n this.sendMessage = function(message) {\n const castSession = cast.framework.CastContext.getInstance().getCurrentSession();\n if (castSession !== null) {\n const serializedMessage = JSON.stringify(message);\n const chunksCount = Math.ceil(serializedMessage.length / CHUNK_SIZE);\n const chunks = [];\n for (let i = 0; i < chunksCount; i++) {\n const start = i * CHUNK_SIZE;\n const chunk = serializedMessage.slice(start, start + CHUNK_SIZE);\n chunks.push(chunk);\n }\n const id = hat();\n return Promise.all(chunks.map((chunk, index) => {\n return castSession.sendMessage(MESSAGE_NAMESPACE, {\n id,\n chunk,\n index,\n length: chunks.length\n });\n }));\n } else {\n return Promise.reject(new Error('Session not started'));\n }\n };\n}\n\nmodule.exports = ChromecastTransport;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Chromecast = require('./Chromecast');\n\nmodule.exports = Chromecast;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst EventEmitter = require('eventemitter3');\nconst CoreTransport = require('./CoreTransport');\n\nfunction Core(args) {\n let active = false;\n let error = null;\n let starting = false;\n let transport = null;\n\n const events = new EventEmitter();\n\n function onTransportInit() {\n active = true;\n error = null;\n starting = false;\n onStateChanged();\n }\n function onTransportError(args) {\n console.error(args);\n active = false;\n error = new Error('Stremio Core Transport initialization failed', { cause: args });\n starting = false;\n onStateChanged();\n transport = null;\n }\n function onStateChanged() {\n events.emit('stateChanged');\n }\n\n Object.defineProperties(this, {\n active: {\n configurable: false,\n enumerable: true,\n get: function() {\n return active;\n }\n },\n error: {\n configurable: false,\n enumerable: true,\n get: function() {\n return error;\n }\n },\n starting: {\n configurable: false,\n enumerable: true,\n get: function() {\n return starting;\n }\n },\n transport: {\n configurable: false,\n enumerable: true,\n get: function() {\n return transport;\n }\n }\n });\n\n this.start = function() {\n if (active || error instanceof Error || starting) {\n return;\n }\n\n starting = true;\n transport = new CoreTransport(args);\n transport.on('init', onTransportInit);\n transport.on('error', onTransportError);\n onStateChanged();\n };\n this.stop = function() {\n active = false;\n error = null;\n starting = false;\n onStateChanged();\n if (transport !== null) {\n transport.removeAllListeners();\n transport = null;\n }\n };\n this.on = function(name, listener) {\n events.on(name, listener);\n };\n this.off = function(name, listener) {\n events.off(name, listener);\n };\n}\n\nmodule.exports = Core;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst EventEmitter = require('eventemitter3');\nconst Bridge = require('@stremio/stremio-core-web/bridge');\n\nfunction CoreTransport(args) {\n const events = new EventEmitter();\n const worker = new Worker(`${process.env.COMMIT_HASH}/scripts/worker.js`);\n const bridge = new Bridge(window, worker);\n\n window.onCoreEvent = ({ name, args }) => {\n try {\n events.emit(name, args);\n } catch (error) {\n console.error('CoreTransport', error);\n }\n };\n\n bridge.call(['init'], [args])\n .then(() => {\n try {\n events.emit('init');\n } catch (error) {\n console.error('CoreTransport', error);\n }\n })\n .catch((error) => {\n events.emit('error', error);\n });\n\n this.on = function(name, listener) {\n events.on(name, listener);\n };\n this.off = function(name, listener) {\n events.off(name, listener);\n };\n this.removeAllListeners = function() {\n events.removeAllListeners();\n };\n this.getState = async function(field) {\n return bridge.call(['getState'], [field]);\n };\n this.getDebugState = async function() {\n return bridge.call(['getDebugState'], []);\n };\n this.dispatch = async function(action, field) {\n return bridge.call(['dispatch'], [action, field, location.hash]);\n };\n this.analytics = async function(event) {\n return bridge.call(['analytics'], [event, location.hash]);\n };\n this.decodeStream = async function(stream) {\n return bridge.call(['decodeStream'], [stream]);\n };\n}\n\nmodule.exports = CoreTransport;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Core = require('./Core');\n\nmodule.exports = Core;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst EventEmitter = require('eventemitter3');\n\nfunction DragAndDrop({ core }) {\n let active = false;\n\n const events = new EventEmitter();\n\n function onDragOver(event) {\n event.preventDefault();\n }\n async function onDrop(event) {\n event.preventDefault();\n if (event.dataTransfer.files instanceof FileList && event.dataTransfer.files.length > 0) {\n const file = event.dataTransfer.files[0];\n switch (file.type) {\n case 'application/x-bittorrent': {\n try {\n const torrent = await file.arrayBuffer();\n core.transport.dispatch({\n action: 'StreamingServer',\n args: {\n action: 'CreateTorrent',\n args: Array.from(new Uint8Array(torrent))\n }\n });\n } catch (_error) {\n events.emit('error', {\n message: 'Failed to process file',\n file: {\n name: file.name,\n type: file.type\n }\n });\n }\n break;\n }\n default: {\n events.emit('error', {\n message: 'Unsupported file',\n file: {\n name: file.name,\n type: file.type\n }\n });\n }\n }\n }\n }\n function onStateChanged() {\n events.emit('stateChanged');\n }\n\n Object.defineProperties(this, {\n active: {\n configurable: false,\n enumerable: true,\n get: function() {\n return active;\n }\n }\n });\n\n this.start = function() {\n if (active) {\n return;\n }\n\n window.addEventListener('dragover', onDragOver);\n window.addEventListener('drop', onDrop);\n active = true;\n onStateChanged();\n };\n this.stop = function() {\n window.removeEventListener('dragover', onDragOver);\n window.removeEventListener('drop', onDrop);\n active = false;\n onStateChanged();\n };\n this.on = function(name, listener) {\n events.on(name, listener);\n };\n this.off = function(name, listener) {\n events.off(name, listener);\n };\n}\n\nmodule.exports = DragAndDrop;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst DragAndDrop = require('./DragAndDrop');\n\nmodule.exports = DragAndDrop;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst EventEmitter = require('eventemitter3');\n\nfunction KeyboardShortcuts() {\n let active = false;\n\n const events = new EventEmitter();\n\n function onKeyDown(event) {\n if (event.keyboardShortcutPrevented || event.target.tagName === 'INPUT' || event.ctrlKey || event.altKey || event.shiftKey || event.metaKey) {\n return;\n }\n\n switch (event.code) {\n case 'Digit0': {\n event.preventDefault();\n window.location = '#/search';\n break;\n }\n case 'Digit1': {\n event.preventDefault();\n window.location = '#/';\n break;\n }\n case 'Digit2': {\n event.preventDefault();\n window.location = '#/discover';\n break;\n }\n case 'Digit3': {\n event.preventDefault();\n window.location = '#/library';\n break;\n }\n case 'Digit4': {\n event.preventDefault();\n window.location = '#/addons';\n break;\n }\n case 'Digit5': {\n event.preventDefault();\n window.location = '#/settings';\n break;\n }\n case 'Backspace': {\n event.preventDefault();\n if (event.ctrlKey) {\n window.history.forward();\n } else {\n window.history.back();\n }\n\n break;\n }\n case 'KeyF': {\n event.preventDefault();\n if (document.fullscreenElement === document.documentElement) {\n document.exitFullscreen();\n } else {\n document.documentElement.requestFullscreen();\n }\n\n break;\n }\n }\n }\n function onStateChanged() {\n events.emit('stateChanged');\n }\n\n Object.defineProperties(this, {\n active: {\n configurable: false,\n enumerable: true,\n get: function() {\n return active;\n }\n }\n });\n\n this.start = function() {\n if (active) {\n return;\n }\n\n window.addEventListener('keydown', onKeyDown);\n active = true;\n onStateChanged();\n };\n this.stop = function() {\n window.removeEventListener('keydown', onKeyDown);\n active = false;\n onStateChanged();\n };\n}\n\nmodule.exports = KeyboardShortcuts;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst KeyboardShortcuts = require('./KeyboardShortcuts');\n\nmodule.exports = KeyboardShortcuts;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\n\nconst ServicesContext = React.createContext({});\n\nServicesContext.displayName = 'ServicesContext';\n\nmodule.exports = ServicesContext;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst ServicesContext = require('./ServicesContext');\n\nconst ServicesProvider = ({ services = {}, children }) => {\n return (\n <ServicesContext.Provider value={services}>\n {children}\n </ServicesContext.Provider>\n );\n};\n\nServicesProvider.propTypes = {\n services: PropTypes.object,\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node\n ])\n};\n\nmodule.exports = ServicesProvider;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst ServicesProvider = require('./ServicesProvider');\nconst useServices = require('./useServices');\n\nmodule.exports = {\n ServicesProvider,\n useServices\n};\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst ServicesContext = require('./ServicesContext');\n\nconst useServices = () => {\n return React.useContext(ServicesContext);\n};\n\nmodule.exports = useServices;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst EventEmitter = require('eventemitter3');\nconst ShellTransport = require('./ShellTransport');\n\nfunction Shell() {\n let active = false;\n let error = null;\n let starting = false;\n let transport = null;\n\n const events = new EventEmitter();\n\n function onTransportInit() {\n active = true;\n error = null;\n starting = false;\n onStateChanged();\n }\n function onTransportInitError(err) {\n console.error(err);\n active = false;\n error = new Error(err);\n starting = false;\n onStateChanged();\n transport = null;\n }\n\n function onStateChanged() {\n events.emit('stateChanged');\n }\n\n Object.defineProperties(this, {\n active: {\n configurable: false,\n enumerable: true,\n get: function() {\n return active;\n }\n },\n error: {\n configurable: false,\n enumerable: true,\n get: function() {\n return error;\n }\n },\n starting: {\n configurable: false,\n enumerable: true,\n get: function() {\n return starting;\n }\n },\n transport: {\n configurable: false,\n enumerable: true,\n get: function() {\n return transport;\n }\n }\n });\n\n this.start = function() {\n if (active || error instanceof Error || starting) {\n return;\n }\n\n active = false;\n starting = true;\n transport = new ShellTransport();\n transport.on('init', onTransportInit);\n transport.on('init-error', onTransportInitError);\n onStateChanged();\n };\n this.stop = function() {\n active = false;\n error = null;\n starting = false;\n onStateChanged();\n };\n this.on = function(name, listener) {\n events.on(name, listener);\n };\n this.off = function(name, listener) {\n events.off(name, listener);\n };\n}\n\nmodule.exports = Shell;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst EventEmitter = require('eventemitter3');\n\nlet shellAvailable = false;\nconst shellEvents = new EventEmitter();\n\nconst QtMsgTypes = {\n signal: 1,\n propertyUpdate: 2,\n init: 3,\n idle: 4,\n debug: 5,\n invokeMethod: 6,\n connectToSignal: 7,\n disconnectFromSignal: 8,\n setProperty: 9,\n response: 10,\n};\nconst QtObjId = 'transport'; // the ID of our transport object\n\nwindow.initShellComm = function () {\n delete window.initShellComm;\n shellEvents.emit('availabilityChanged');\n};\n\nconst initialize = () => {\n if(!window.qt) return Promise.reject('Qt API not found');\n return new Promise((resolve) => {\n function onShellAvailabilityChanged() {\n shellEvents.off('availabilityChanged', onShellAvailabilityChanged);\n shellAvailable = true;\n resolve();\n }\n if (shellAvailable) {\n onShellAvailabilityChanged();\n } else {\n shellEvents.on('availabilityChanged', onShellAvailabilityChanged);\n }\n });\n};\n\nfunction ShellTransport() {\n const events = new EventEmitter();\n\n this.props = {};\n\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const shell = this;\n initialize()\n .then(() => {\n const transport = window.qt && window.qt.webChannelTransport;\n if (!transport) throw 'no viable transport found (qt.webChannelTransport)';\n\n let id = 0;\n function send(msg) {\n msg.id = id++;\n transport.send(JSON.stringify(msg));\n }\n\n transport.onmessage = function (message) {\n const msg = JSON.parse(message.data);\n if (msg.id === 0) {\n const obj = msg.data[QtObjId];\n\n obj.properties.slice(1).forEach(function (prop) {\n shell.props[prop[1]] = prop[3];\n });\n if (typeof shell.props.shellVersion === 'string') {\n shell.shellVersionArr = (\n shell.props.shellVersion.match(/(\\d+)\\.(\\d+)\\.(\\d+)/) || []\n )\n .slice(1, 4)\n .map(Number);\n }\n events.emit('received-props', shell.props);\n\n obj.signals.forEach(function (sig) {\n send({\n type: QtMsgTypes.connectToSignal,\n object: QtObjId,\n signal: sig[1],\n });\n });\n\n const onEvent = obj.methods.filter(function (x) {\n return x[0] === 'onEvent';\n })[0];\n\n shell.send = function (ev, args) {\n send({\n type: QtMsgTypes.invokeMethod,\n object: QtObjId,\n method: onEvent[1],\n args: [ev, args || {}],\n });\n };\n\n shell.send('app-ready', {}); // signal that we're ready to take events\n }\n\n if (msg.object === QtObjId && msg.type === QtMsgTypes.signal)\n events.emit(msg.args[0], msg.args[1]);\n events.emit('init');\n };\n send({ type: QtMsgTypes.init });\n }) .catch((error) => {\n events.emit('init-error', error);\n });\n\n this.on = function(name, listener) {\n events.on(name, listener);\n };\n this.off = function(name, listener) {\n events.off(name, listener);\n };\n this.removeAllListeners = function() {\n events.removeAllListeners();\n };\n}\n\nmodule.exports = ShellTransport;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Shell = require('./Shell');\n\nmodule.exports = Shell;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Chromecast = require('./Chromecast');\nconst Core = require('./Core');\nconst DragAndDrop = require('./DragAndDrop');\nconst KeyboardShortcuts = require('./KeyboardShortcuts');\nconst { ServicesProvider, useServices } = require('./ServicesContext');\nconst Shell = require('./Shell');\n\nmodule.exports = {\n Chromecast,\n Core,\n DragAndDrop,\n KeyboardShortcuts,\n ServicesProvider,\n useServices,\n Shell\n};\n","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","module.exports = parseRange\nmodule.exports.parse = parseRange\nmodule.exports.compose = composeRange\n\nfunction composeRange (range) {\n return range\n .reduce((acc, cur, idx, arr) => {\n if (idx === 0 || cur !== arr[idx - 1] + 1) acc.push([])\n acc[acc.length - 1].push(cur)\n return acc\n }, [])\n .map((cur) => {\n return cur.length > 1 ? `${cur[0]}-${cur[cur.length - 1]}` : `${cur[0]}`\n })\n}\n\nfunction parseRange (range) {\n const generateRange = (start, end = start) => Array.from({ length: end - start + 1 }, (cur, idx) => idx + start)\n\n return range\n .reduce((acc, cur, idx, arr) => {\n const r = cur.split('-').map(cur => parseInt(cur))\n return acc.concat(generateRange(...r))\n }, [])\n}\n","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.bowser=t():e.bowser=t()}(this,(function(){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var i in e)r.d(n,i,function(t){return e[t]}.bind(null,i));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,\"a\",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p=\"\",r(r.s=90)}({17:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n=r(18),i=function(){function e(){}return e.getFirstMatch=function(e,t){var r=t.match(e);return r&&r.length>0&&r[1]||\"\"},e.getSecondMatch=function(e,t){var r=t.match(e);return r&&r.length>1&&r[2]||\"\"},e.matchAndReturnConst=function(e,t,r){if(e.test(t))return r},e.getWindowsVersionName=function(e){switch(e){case\"NT\":return\"NT\";case\"XP\":return\"XP\";case\"NT 5.0\":return\"2000\";case\"NT 5.1\":return\"XP\";case\"NT 5.2\":return\"2003\";case\"NT 6.0\":return\"Vista\";case\"NT 6.1\":return\"7\";case\"NT 6.2\":return\"8\";case\"NT 6.3\":return\"8.1\";case\"NT 10.0\":return\"10\";default:return}},e.getMacOSVersionName=function(e){var t=e.split(\".\").splice(0,2).map((function(e){return parseInt(e,10)||0}));if(t.push(0),10===t[0])switch(t[1]){case 5:return\"Leopard\";case 6:return\"Snow Leopard\";case 7:return\"Lion\";case 8:return\"Mountain Lion\";case 9:return\"Mavericks\";case 10:return\"Yosemite\";case 11:return\"El Capitan\";case 12:return\"Sierra\";case 13:return\"High Sierra\";case 14:return\"Mojave\";case 15:return\"Catalina\";default:return}},e.getAndroidVersionName=function(e){var t=e.split(\".\").splice(0,2).map((function(e){return parseInt(e,10)||0}));if(t.push(0),!(1===t[0]&&t[1]<5))return 1===t[0]&&t[1]<6?\"Cupcake\":1===t[0]&&t[1]>=6?\"Donut\":2===t[0]&&t[1]<2?\"Eclair\":2===t[0]&&2===t[1]?\"Froyo\":2===t[0]&&t[1]>2?\"Gingerbread\":3===t[0]?\"Honeycomb\":4===t[0]&&t[1]<1?\"Ice Cream Sandwich\":4===t[0]&&t[1]<4?\"Jelly Bean\":4===t[0]&&t[1]>=4?\"KitKat\":5===t[0]?\"Lollipop\":6===t[0]?\"Marshmallow\":7===t[0]?\"Nougat\":8===t[0]?\"Oreo\":9===t[0]?\"Pie\":void 0},e.getVersionPrecision=function(e){return e.split(\".\").length},e.compareVersions=function(t,r,n){void 0===n&&(n=!1);var i=e.getVersionPrecision(t),s=e.getVersionPrecision(r),a=Math.max(i,s),o=0,u=e.map([t,r],(function(t){var r=a-e.getVersionPrecision(t),n=t+new Array(r+1).join(\".0\");return e.map(n.split(\".\"),(function(e){return new Array(20-e.length).join(\"0\")+e})).reverse()}));for(n&&(o=a-Math.min(i,s)),a-=1;a>=o;){if(u[0][a]>u[1][a])return 1;if(u[0][a]===u[1][a]){if(a===o)return 0;a-=1}else if(u[0][a]<u[1][a])return-1}},e.map=function(e,t){var r,n=[];if(Array.prototype.map)return Array.prototype.map.call(e,t);for(r=0;r<e.length;r+=1)n.push(t(e[r]));return n},e.find=function(e,t){var r,n;if(Array.prototype.find)return Array.prototype.find.call(e,t);for(r=0,n=e.length;r<n;r+=1){var i=e[r];if(t(i,r))return i}},e.assign=function(e){for(var t,r,n=e,i=arguments.length,s=new Array(i>1?i-1:0),a=1;a<i;a++)s[a-1]=arguments[a];if(Object.assign)return Object.assign.apply(Object,[e].concat(s));var o=function(){var e=s[t];\"object\"==typeof e&&null!==e&&Object.keys(e).forEach((function(t){n[t]=e[t]}))};for(t=0,r=s.length;t<r;t+=1)o();return e},e.getBrowserAlias=function(e){return n.BROWSER_ALIASES_MAP[e]},e.getBrowserTypeByAlias=function(e){return n.BROWSER_MAP[e]||\"\"},e}();t.default=i,e.exports=t.default},18:function(e,t,r){\"use strict\";t.__esModule=!0,t.ENGINE_MAP=t.OS_MAP=t.PLATFORMS_MAP=t.BROWSER_MAP=t.BROWSER_ALIASES_MAP=void 0;t.BROWSER_ALIASES_MAP={\"Amazon Silk\":\"amazon_silk\",\"Android Browser\":\"android\",Bada:\"bada\",BlackBerry:\"blackberry\",Chrome:\"chrome\",Chromium:\"chromium\",Electron:\"electron\",Epiphany:\"epiphany\",Firefox:\"firefox\",Focus:\"focus\",Generic:\"generic\",\"Google Search\":\"google_search\",Googlebot:\"googlebot\",\"Internet Explorer\":\"ie\",\"K-Meleon\":\"k_meleon\",Maxthon:\"maxthon\",\"Microsoft Edge\":\"edge\",\"MZ Browser\":\"mz\",\"NAVER Whale Browser\":\"naver\",Opera:\"opera\",\"Opera Coast\":\"opera_coast\",PhantomJS:\"phantomjs\",Puffin:\"puffin\",QupZilla:\"qupzilla\",QQ:\"qq\",QQLite:\"qqlite\",Safari:\"safari\",Sailfish:\"sailfish\",\"Samsung Internet for Android\":\"samsung_internet\",SeaMonkey:\"seamonkey\",Sleipnir:\"sleipnir\",Swing:\"swing\",Tizen:\"tizen\",\"UC Browser\":\"uc\",Vivaldi:\"vivaldi\",\"WebOS Browser\":\"webos\",WeChat:\"wechat\",\"Yandex Browser\":\"yandex\",Roku:\"roku\"};t.BROWSER_MAP={amazon_silk:\"Amazon Silk\",android:\"Android Browser\",bada:\"Bada\",blackberry:\"BlackBerry\",chrome:\"Chrome\",chromium:\"Chromium\",electron:\"Electron\",epiphany:\"Epiphany\",firefox:\"Firefox\",focus:\"Focus\",generic:\"Generic\",googlebot:\"Googlebot\",google_search:\"Google Search\",ie:\"Internet Explorer\",k_meleon:\"K-Meleon\",maxthon:\"Maxthon\",edge:\"Microsoft Edge\",mz:\"MZ Browser\",naver:\"NAVER Whale Browser\",opera:\"Opera\",opera_coast:\"Opera Coast\",phantomjs:\"PhantomJS\",puffin:\"Puffin\",qupzilla:\"QupZilla\",qq:\"QQ Browser\",qqlite:\"QQ Browser Lite\",safari:\"Safari\",sailfish:\"Sailfish\",samsung_internet:\"Samsung Internet for Android\",seamonkey:\"SeaMonkey\",sleipnir:\"Sleipnir\",swing:\"Swing\",tizen:\"Tizen\",uc:\"UC Browser\",vivaldi:\"Vivaldi\",webos:\"WebOS Browser\",wechat:\"WeChat\",yandex:\"Yandex Browser\"};t.PLATFORMS_MAP={tablet:\"tablet\",mobile:\"mobile\",desktop:\"desktop\",tv:\"tv\"};t.OS_MAP={WindowsPhone:\"Windows Phone\",Windows:\"Windows\",MacOS:\"macOS\",iOS:\"iOS\",Android:\"Android\",WebOS:\"WebOS\",BlackBerry:\"BlackBerry\",Bada:\"Bada\",Tizen:\"Tizen\",Linux:\"Linux\",ChromeOS:\"Chrome OS\",PlayStation4:\"PlayStation 4\",Roku:\"Roku\"};t.ENGINE_MAP={EdgeHTML:\"EdgeHTML\",Blink:\"Blink\",Trident:\"Trident\",Presto:\"Presto\",Gecko:\"Gecko\",WebKit:\"WebKit\"}},90:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n,i=(n=r(91))&&n.__esModule?n:{default:n},s=r(18);function a(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var o=function(){function e(){}var t,r,n;return e.getParser=function(e,t){if(void 0===t&&(t=!1),\"string\"!=typeof e)throw new Error(\"UserAgent should be a string\");return new i.default(e,t)},e.parse=function(e){return new i.default(e).getResult()},t=e,n=[{key:\"BROWSER_MAP\",get:function(){return s.BROWSER_MAP}},{key:\"ENGINE_MAP\",get:function(){return s.ENGINE_MAP}},{key:\"OS_MAP\",get:function(){return s.OS_MAP}},{key:\"PLATFORMS_MAP\",get:function(){return s.PLATFORMS_MAP}}],(r=null)&&a(t.prototype,r),n&&a(t,n),e}();t.default=o,e.exports=t.default},91:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n=u(r(92)),i=u(r(93)),s=u(r(94)),a=u(r(95)),o=u(r(17));function u(e){return e&&e.__esModule?e:{default:e}}var d=function(){function e(e,t){if(void 0===t&&(t=!1),null==e||\"\"===e)throw new Error(\"UserAgent parameter can't be empty\");this._ua=e,this.parsedResult={},!0!==t&&this.parse()}var t=e.prototype;return t.getUA=function(){return this._ua},t.test=function(e){return e.test(this._ua)},t.parseBrowser=function(){var e=this;this.parsedResult.browser={};var t=o.default.find(n.default,(function(t){if(\"function\"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some((function(t){return e.test(t)}));throw new Error(\"Browser's test function is not valid\")}));return t&&(this.parsedResult.browser=t.describe(this.getUA())),this.parsedResult.browser},t.getBrowser=function(){return this.parsedResult.browser?this.parsedResult.browser:this.parseBrowser()},t.getBrowserName=function(e){return e?String(this.getBrowser().name).toLowerCase()||\"\":this.getBrowser().name||\"\"},t.getBrowserVersion=function(){return this.getBrowser().version},t.getOS=function(){return this.parsedResult.os?this.parsedResult.os:this.parseOS()},t.parseOS=function(){var e=this;this.parsedResult.os={};var t=o.default.find(i.default,(function(t){if(\"function\"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some((function(t){return e.test(t)}));throw new Error(\"Browser's test function is not valid\")}));return t&&(this.parsedResult.os=t.describe(this.getUA())),this.parsedResult.os},t.getOSName=function(e){var t=this.getOS().name;return e?String(t).toLowerCase()||\"\":t||\"\"},t.getOSVersion=function(){return this.getOS().version},t.getPlatform=function(){return this.parsedResult.platform?this.parsedResult.platform:this.parsePlatform()},t.getPlatformType=function(e){void 0===e&&(e=!1);var t=this.getPlatform().type;return e?String(t).toLowerCase()||\"\":t||\"\"},t.parsePlatform=function(){var e=this;this.parsedResult.platform={};var t=o.default.find(s.default,(function(t){if(\"function\"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some((function(t){return e.test(t)}));throw new Error(\"Browser's test function is not valid\")}));return t&&(this.parsedResult.platform=t.describe(this.getUA())),this.parsedResult.platform},t.getEngine=function(){return this.parsedResult.engine?this.parsedResult.engine:this.parseEngine()},t.getEngineName=function(e){return e?String(this.getEngine().name).toLowerCase()||\"\":this.getEngine().name||\"\"},t.parseEngine=function(){var e=this;this.parsedResult.engine={};var t=o.default.find(a.default,(function(t){if(\"function\"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some((function(t){return e.test(t)}));throw new Error(\"Browser's test function is not valid\")}));return t&&(this.parsedResult.engine=t.describe(this.getUA())),this.parsedResult.engine},t.parse=function(){return this.parseBrowser(),this.parseOS(),this.parsePlatform(),this.parseEngine(),this},t.getResult=function(){return o.default.assign({},this.parsedResult)},t.satisfies=function(e){var t=this,r={},n=0,i={},s=0;if(Object.keys(e).forEach((function(t){var a=e[t];\"string\"==typeof a?(i[t]=a,s+=1):\"object\"==typeof a&&(r[t]=a,n+=1)})),n>0){var a=Object.keys(r),u=o.default.find(a,(function(e){return t.isOS(e)}));if(u){var d=this.satisfies(r[u]);if(void 0!==d)return d}var c=o.default.find(a,(function(e){return t.isPlatform(e)}));if(c){var f=this.satisfies(r[c]);if(void 0!==f)return f}}if(s>0){var l=Object.keys(i),h=o.default.find(l,(function(e){return t.isBrowser(e,!0)}));if(void 0!==h)return this.compareVersion(i[h])}},t.isBrowser=function(e,t){void 0===t&&(t=!1);var r=this.getBrowserName().toLowerCase(),n=e.toLowerCase(),i=o.default.getBrowserTypeByAlias(n);return t&&i&&(n=i.toLowerCase()),n===r},t.compareVersion=function(e){var t=[0],r=e,n=!1,i=this.getBrowserVersion();if(\"string\"==typeof i)return\">\"===e[0]||\"<\"===e[0]?(r=e.substr(1),\"=\"===e[1]?(n=!0,r=e.substr(2)):t=[],\">\"===e[0]?t.push(1):t.push(-1)):\"=\"===e[0]?r=e.substr(1):\"~\"===e[0]&&(n=!0,r=e.substr(1)),t.indexOf(o.default.compareVersions(i,r,n))>-1},t.isOS=function(e){return this.getOSName(!0)===String(e).toLowerCase()},t.isPlatform=function(e){return this.getPlatformType(!0)===String(e).toLowerCase()},t.isEngine=function(e){return this.getEngineName(!0)===String(e).toLowerCase()},t.is=function(e,t){return void 0===t&&(t=!1),this.isBrowser(e,t)||this.isOS(e)||this.isPlatform(e)},t.some=function(e){var t=this;return void 0===e&&(e=[]),e.some((function(e){return t.is(e)}))},e}();t.default=d,e.exports=t.default},92:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n,i=(n=r(17))&&n.__esModule?n:{default:n};var s=/version\\/(\\d+(\\.?_?\\d+)+)/i,a=[{test:[/googlebot/i],describe:function(e){var t={name:\"Googlebot\"},r=i.default.getFirstMatch(/googlebot\\/(\\d+(\\.\\d+))/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/opera/i],describe:function(e){var t={name:\"Opera\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:opera)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/opr\\/|opios/i],describe:function(e){var t={name:\"Opera\"},r=i.default.getFirstMatch(/(?:opr|opios)[\\s/](\\S+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/SamsungBrowser/i],describe:function(e){var t={name:\"Samsung Internet for Android\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:SamsungBrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/Whale/i],describe:function(e){var t={name:\"NAVER Whale Browser\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:whale)[\\s/](\\d+(?:\\.\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/MZBrowser/i],describe:function(e){var t={name:\"MZ Browser\"},r=i.default.getFirstMatch(/(?:MZBrowser)[\\s/](\\d+(?:\\.\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/focus/i],describe:function(e){var t={name:\"Focus\"},r=i.default.getFirstMatch(/(?:focus)[\\s/](\\d+(?:\\.\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/swing/i],describe:function(e){var t={name:\"Swing\"},r=i.default.getFirstMatch(/(?:swing)[\\s/](\\d+(?:\\.\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/coast/i],describe:function(e){var t={name:\"Opera Coast\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:coast)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/opt\\/\\d+(?:.?_?\\d+)+/i],describe:function(e){var t={name:\"Opera Touch\"},r=i.default.getFirstMatch(/(?:opt)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/yabrowser/i],describe:function(e){var t={name:\"Yandex Browser\"},r=i.default.getFirstMatch(/(?:yabrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/ucbrowser/i],describe:function(e){var t={name:\"UC Browser\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:ucbrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/Maxthon|mxios/i],describe:function(e){var t={name:\"Maxthon\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:Maxthon|mxios)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/epiphany/i],describe:function(e){var t={name:\"Epiphany\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:epiphany)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/puffin/i],describe:function(e){var t={name:\"Puffin\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:puffin)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/sleipnir/i],describe:function(e){var t={name:\"Sleipnir\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:sleipnir)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/k-meleon/i],describe:function(e){var t={name:\"K-Meleon\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:k-meleon)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/micromessenger/i],describe:function(e){var t={name:\"WeChat\"},r=i.default.getFirstMatch(/(?:micromessenger)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/qqbrowser/i],describe:function(e){var t={name:/qqbrowserlite/i.test(e)?\"QQ Browser Lite\":\"QQ Browser\"},r=i.default.getFirstMatch(/(?:qqbrowserlite|qqbrowser)[/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/msie|trident/i],describe:function(e){var t={name:\"Internet Explorer\"},r=i.default.getFirstMatch(/(?:msie |rv:)(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/\\sedg\\//i],describe:function(e){var t={name:\"Microsoft Edge\"},r=i.default.getFirstMatch(/\\sedg\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/edg([ea]|ios)/i],describe:function(e){var t={name:\"Microsoft Edge\"},r=i.default.getSecondMatch(/edg([ea]|ios)\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/vivaldi/i],describe:function(e){var t={name:\"Vivaldi\"},r=i.default.getFirstMatch(/vivaldi\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/seamonkey/i],describe:function(e){var t={name:\"SeaMonkey\"},r=i.default.getFirstMatch(/seamonkey\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/sailfish/i],describe:function(e){var t={name:\"Sailfish\"},r=i.default.getFirstMatch(/sailfish\\s?browser\\/(\\d+(\\.\\d+)?)/i,e);return r&&(t.version=r),t}},{test:[/silk/i],describe:function(e){var t={name:\"Amazon Silk\"},r=i.default.getFirstMatch(/silk\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/phantom/i],describe:function(e){var t={name:\"PhantomJS\"},r=i.default.getFirstMatch(/phantomjs\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/slimerjs/i],describe:function(e){var t={name:\"SlimerJS\"},r=i.default.getFirstMatch(/slimerjs\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/blackberry|\\bbb\\d+/i,/rim\\stablet/i],describe:function(e){var t={name:\"BlackBerry\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/blackberry[\\d]+\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t={name:\"WebOS Browser\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/w(?:eb)?[o0]sbrowser\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/bada/i],describe:function(e){var t={name:\"Bada\"},r=i.default.getFirstMatch(/dolfin\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/tizen/i],describe:function(e){var t={name:\"Tizen\"},r=i.default.getFirstMatch(/(?:tizen\\s?)?browser\\/(\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/qupzilla/i],describe:function(e){var t={name:\"QupZilla\"},r=i.default.getFirstMatch(/(?:qupzilla)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/firefox|iceweasel|fxios/i],describe:function(e){var t={name:\"Firefox\"},r=i.default.getFirstMatch(/(?:firefox|iceweasel|fxios)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/electron/i],describe:function(e){var t={name:\"Electron\"},r=i.default.getFirstMatch(/(?:electron)\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/MiuiBrowser/i],describe:function(e){var t={name:\"Miui\"},r=i.default.getFirstMatch(/(?:MiuiBrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/chromium/i],describe:function(e){var t={name:\"Chromium\"},r=i.default.getFirstMatch(/(?:chromium)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/chrome|crios|crmo/i],describe:function(e){var t={name:\"Chrome\"},r=i.default.getFirstMatch(/(?:chrome|crios|crmo)\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/GSA/i],describe:function(e){var t={name:\"Google Search\"},r=i.default.getFirstMatch(/(?:GSA)\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:function(e){var t=!e.test(/like android/i),r=e.test(/android/i);return t&&r},describe:function(e){var t={name:\"Android Browser\"},r=i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/playstation 4/i],describe:function(e){var t={name:\"PlayStation 4\"},r=i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/safari|applewebkit/i],describe:function(e){var t={name:\"Safari\"},r=i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/.*/i],describe:function(e){var t=-1!==e.search(\"\\\\(\")?/^(.*)\\/(.*)[ \\t]\\((.*)/:/^(.*)\\/(.*) /;return{name:i.default.getFirstMatch(t,e),version:i.default.getSecondMatch(t,e)}}}];t.default=a,e.exports=t.default},93:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n,i=(n=r(17))&&n.__esModule?n:{default:n},s=r(18);var a=[{test:[/Roku\\/DVP/],describe:function(e){var t=i.default.getFirstMatch(/Roku\\/DVP-(\\d+\\.\\d+)/i,e);return{name:s.OS_MAP.Roku,version:t}}},{test:[/windows phone/i],describe:function(e){var t=i.default.getFirstMatch(/windows phone (?:os)?\\s?(\\d+(\\.\\d+)*)/i,e);return{name:s.OS_MAP.WindowsPhone,version:t}}},{test:[/windows /i],describe:function(e){var t=i.default.getFirstMatch(/Windows ((NT|XP)( \\d\\d?.\\d)?)/i,e),r=i.default.getWindowsVersionName(t);return{name:s.OS_MAP.Windows,version:t,versionName:r}}},{test:[/Macintosh(.*?) FxiOS(.*?)\\//],describe:function(e){var t={name:s.OS_MAP.iOS},r=i.default.getSecondMatch(/(Version\\/)(\\d[\\d.]+)/,e);return r&&(t.version=r),t}},{test:[/macintosh/i],describe:function(e){var t=i.default.getFirstMatch(/mac os x (\\d+(\\.?_?\\d+)+)/i,e).replace(/[_\\s]/g,\".\"),r=i.default.getMacOSVersionName(t),n={name:s.OS_MAP.MacOS,version:t};return r&&(n.versionName=r),n}},{test:[/(ipod|iphone|ipad)/i],describe:function(e){var t=i.default.getFirstMatch(/os (\\d+([_\\s]\\d+)*) like mac os x/i,e).replace(/[_\\s]/g,\".\");return{name:s.OS_MAP.iOS,version:t}}},{test:function(e){var t=!e.test(/like android/i),r=e.test(/android/i);return t&&r},describe:function(e){var t=i.default.getFirstMatch(/android[\\s/-](\\d+(\\.\\d+)*)/i,e),r=i.default.getAndroidVersionName(t),n={name:s.OS_MAP.Android,version:t};return r&&(n.versionName=r),n}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t=i.default.getFirstMatch(/(?:web|hpw)[o0]s\\/(\\d+(\\.\\d+)*)/i,e),r={name:s.OS_MAP.WebOS};return t&&t.length&&(r.version=t),r}},{test:[/blackberry|\\bbb\\d+/i,/rim\\stablet/i],describe:function(e){var t=i.default.getFirstMatch(/rim\\stablet\\sos\\s(\\d+(\\.\\d+)*)/i,e)||i.default.getFirstMatch(/blackberry\\d+\\/(\\d+([_\\s]\\d+)*)/i,e)||i.default.getFirstMatch(/\\bbb(\\d+)/i,e);return{name:s.OS_MAP.BlackBerry,version:t}}},{test:[/bada/i],describe:function(e){var t=i.default.getFirstMatch(/bada\\/(\\d+(\\.\\d+)*)/i,e);return{name:s.OS_MAP.Bada,version:t}}},{test:[/tizen/i],describe:function(e){var t=i.default.getFirstMatch(/tizen[/\\s](\\d+(\\.\\d+)*)/i,e);return{name:s.OS_MAP.Tizen,version:t}}},{test:[/linux/i],describe:function(){return{name:s.OS_MAP.Linux}}},{test:[/CrOS/],describe:function(){return{name:s.OS_MAP.ChromeOS}}},{test:[/PlayStation 4/],describe:function(e){var t=i.default.getFirstMatch(/PlayStation 4[/\\s](\\d+(\\.\\d+)*)/i,e);return{name:s.OS_MAP.PlayStation4,version:t}}}];t.default=a,e.exports=t.default},94:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n,i=(n=r(17))&&n.__esModule?n:{default:n},s=r(18);var a=[{test:[/googlebot/i],describe:function(){return{type:\"bot\",vendor:\"Google\"}}},{test:[/huawei/i],describe:function(e){var t=i.default.getFirstMatch(/(can-l01)/i,e)&&\"Nova\",r={type:s.PLATFORMS_MAP.mobile,vendor:\"Huawei\"};return t&&(r.model=t),r}},{test:[/nexus\\s*(?:7|8|9|10).*/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\"Nexus\"}}},{test:[/ipad/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\"Apple\",model:\"iPad\"}}},{test:[/Macintosh(.*?) FxiOS(.*?)\\//],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\"Apple\",model:\"iPad\"}}},{test:[/kftt build/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\"Amazon\",model:\"Kindle Fire HD 7\"}}},{test:[/silk/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\"Amazon\"}}},{test:[/tablet(?! pc)/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet}}},{test:function(e){var t=e.test(/ipod|iphone/i),r=e.test(/like (ipod|iphone)/i);return t&&!r},describe:function(e){var t=i.default.getFirstMatch(/(ipod|iphone)/i,e);return{type:s.PLATFORMS_MAP.mobile,vendor:\"Apple\",model:t}}},{test:[/nexus\\s*[0-6].*/i,/galaxy nexus/i],describe:function(){return{type:s.PLATFORMS_MAP.mobile,vendor:\"Nexus\"}}},{test:[/[^-]mobi/i],describe:function(){return{type:s.PLATFORMS_MAP.mobile}}},{test:function(e){return\"blackberry\"===e.getBrowserName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.mobile,vendor:\"BlackBerry\"}}},{test:function(e){return\"bada\"===e.getBrowserName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.mobile}}},{test:function(e){return\"windows phone\"===e.getBrowserName()},describe:function(){return{type:s.PLATFORMS_MAP.mobile,vendor:\"Microsoft\"}}},{test:function(e){var t=Number(String(e.getOSVersion()).split(\".\")[0]);return\"android\"===e.getOSName(!0)&&t>=3},describe:function(){return{type:s.PLATFORMS_MAP.tablet}}},{test:function(e){return\"android\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.mobile}}},{test:function(e){return\"macos\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.desktop,vendor:\"Apple\"}}},{test:function(e){return\"windows\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.desktop}}},{test:function(e){return\"linux\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.desktop}}},{test:function(e){return\"playstation 4\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.tv}}},{test:function(e){return\"roku\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.tv}}}];t.default=a,e.exports=t.default},95:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n,i=(n=r(17))&&n.__esModule?n:{default:n},s=r(18);var a=[{test:function(e){return\"microsoft edge\"===e.getBrowserName(!0)},describe:function(e){if(/\\sedg\\//i.test(e))return{name:s.ENGINE_MAP.Blink};var t=i.default.getFirstMatch(/edge\\/(\\d+(\\.?_?\\d+)+)/i,e);return{name:s.ENGINE_MAP.EdgeHTML,version:t}}},{test:[/trident/i],describe:function(e){var t={name:s.ENGINE_MAP.Trident},r=i.default.getFirstMatch(/trident\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:function(e){return e.test(/presto/i)},describe:function(e){var t={name:s.ENGINE_MAP.Presto},r=i.default.getFirstMatch(/presto\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:function(e){var t=e.test(/gecko/i),r=e.test(/like gecko/i);return t&&!r},describe:function(e){var t={name:s.ENGINE_MAP.Gecko},r=i.default.getFirstMatch(/gecko\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/(apple)?webkit\\/537\\.36/i],describe:function(){return{name:s.ENGINE_MAP.Blink}}},{test:[/(apple)?webkit/i],describe:function(e){var t={name:s.ENGINE_MAP.WebKit},r=i.default.getFirstMatch(/webkit\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}}];t.default=a,e.exports=t.default}})}));","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh <https://feross.org>\n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nconst base64 = require('base64-js')\nconst ieee754 = require('ieee754')\nconst customInspectSymbol =\n (typeof Symbol === 'function' && typeof Symbol['for'] === 'function') // eslint-disable-line dot-notation\n ? Symbol['for']('nodejs.util.inspect.custom') // eslint-disable-line dot-notation\n : null\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\nconst K_MAX_LENGTH = 0x7fffffff\nexports.kMaxLength = K_MAX_LENGTH\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Print warning and recommend using `buffer` v4.x which has an Object\n * implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * We report that the browser does not support typed arrays if the are not subclassable\n * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n * for __proto__ and has a buggy typed array implementation.\n */\nBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport()\n\nif (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&\n typeof console.error === 'function') {\n console.error(\n 'This browser lacks typed array (Uint8Array) support which is required by ' +\n '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'\n )\n}\n\nfunction typedArraySupport () {\n // Can typed array instances can be augmented?\n try {\n const arr = new Uint8Array(1)\n const proto = { foo: function () { return 42 } }\n Object.setPrototypeOf(proto, Uint8Array.prototype)\n Object.setPrototypeOf(arr, proto)\n return arr.foo() === 42\n } catch (e) {\n return false\n }\n}\n\nObject.defineProperty(Buffer.prototype, 'parent', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.buffer\n }\n})\n\nObject.defineProperty(Buffer.prototype, 'offset', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.byteOffset\n }\n})\n\nfunction createBuffer (length) {\n if (length > K_MAX_LENGTH) {\n throw new RangeError('The value \"' + length + '\" is invalid for option \"size\"')\n }\n // Return an augmented `Uint8Array` instance\n const buf = new Uint8Array(length)\n Object.setPrototypeOf(buf, Buffer.prototype)\n return buf\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new TypeError(\n 'The \"string\" argument must be of type string. Received type number'\n )\n }\n return allocUnsafe(arg)\n }\n return from(arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\nfunction from (value, encodingOrOffset, length) {\n if (typeof value === 'string') {\n return fromString(value, encodingOrOffset)\n }\n\n if (ArrayBuffer.isView(value)) {\n return fromArrayView(value)\n }\n\n if (value == null) {\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n }\n\n if (isInstance(value, ArrayBuffer) ||\n (value && isInstance(value.buffer, ArrayBuffer))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof SharedArrayBuffer !== 'undefined' &&\n (isInstance(value, SharedArrayBuffer) ||\n (value && isInstance(value.buffer, SharedArrayBuffer)))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof value === 'number') {\n throw new TypeError(\n 'The \"value\" argument must not be of type number. Received type number'\n )\n }\n\n const valueOf = value.valueOf && value.valueOf()\n if (valueOf != null && valueOf !== value) {\n return Buffer.from(valueOf, encodingOrOffset, length)\n }\n\n const b = fromObject(value)\n if (b) return b\n\n if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&\n typeof value[Symbol.toPrimitive] === 'function') {\n return Buffer.from(value[Symbol.toPrimitive]('string'), encodingOrOffset, length)\n }\n\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(value, encodingOrOffset, length)\n}\n\n// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n// https://github.com/feross/buffer/pull/148\nObject.setPrototypeOf(Buffer.prototype, Uint8Array.prototype)\nObject.setPrototypeOf(Buffer, Uint8Array)\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be of type number')\n } else if (size < 0) {\n throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n }\n}\n\nfunction alloc (size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpreted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(size).fill(fill, encoding)\n : createBuffer(size).fill(fill)\n }\n return createBuffer(size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(size, fill, encoding)\n}\n\nfunction allocUnsafe (size) {\n assertSize(size)\n return createBuffer(size < 0 ? 0 : checked(size) | 0)\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(size)\n}\n\nfunction fromString (string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n\n const length = byteLength(string, encoding) | 0\n let buf = createBuffer(length)\n\n const actual = buf.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n buf = buf.slice(0, actual)\n }\n\n return buf\n}\n\nfunction fromArrayLike (array) {\n const length = array.length < 0 ? 0 : checked(array.length) | 0\n const buf = createBuffer(length)\n for (let i = 0; i < length; i += 1) {\n buf[i] = array[i] & 255\n }\n return buf\n}\n\nfunction fromArrayView (arrayView) {\n if (isInstance(arrayView, Uint8Array)) {\n const copy = new Uint8Array(arrayView)\n return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength)\n }\n return fromArrayLike(arrayView)\n}\n\nfunction fromArrayBuffer (array, byteOffset, length) {\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\"offset\" is outside of buffer bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\"length\" is outside of buffer bounds')\n }\n\n let buf\n if (byteOffset === undefined && length === undefined) {\n buf = new Uint8Array(array)\n } else if (length === undefined) {\n buf = new Uint8Array(array, byteOffset)\n } else {\n buf = new Uint8Array(array, byteOffset, length)\n }\n\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(buf, Buffer.prototype)\n\n return buf\n}\n\nfunction fromObject (obj) {\n if (Buffer.isBuffer(obj)) {\n const len = checked(obj.length) | 0\n const buf = createBuffer(len)\n\n if (buf.length === 0) {\n return buf\n }\n\n obj.copy(buf, 0, 0, len)\n return buf\n }\n\n if (obj.length !== undefined) {\n if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n return createBuffer(0)\n }\n return fromArrayLike(obj)\n }\n\n if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n return fromArrayLike(obj.data)\n }\n}\n\nfunction checked (length) {\n // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= K_MAX_LENGTH) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return b != null && b._isBuffer === true &&\n b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false\n}\n\nBuffer.compare = function compare (a, b) {\n if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength)\n if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength)\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError(\n 'The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array'\n )\n }\n\n if (a === b) return 0\n\n let x = a.length\n let y = b.length\n\n for (let i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!Array.isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n let i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n const buffer = Buffer.allocUnsafe(length)\n let pos = 0\n for (i = 0; i < list.length; ++i) {\n let buf = list[i]\n if (isInstance(buf, Uint8Array)) {\n if (pos + buf.length > buffer.length) {\n if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf)\n buf.copy(buffer, pos)\n } else {\n Uint8Array.prototype.set.call(\n buffer,\n buf,\n pos\n )\n }\n } else if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n } else {\n buf.copy(buffer, pos)\n }\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n throw new TypeError(\n 'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. ' +\n 'Received type ' + typeof string\n )\n }\n\n const len = string.length\n const mustMatch = (arguments.length > 2 && arguments[2] === true)\n if (!mustMatch && len === 0) return 0\n\n // Use a for loop to avoid recursion\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) {\n return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8\n }\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n let loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coercion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n// reliably in a browserify context because there could be multiple different\n// copies of the 'buffer' package in use. This method works even for Buffer\n// instances that were created from another copy of the `buffer` package.\n// See: https://github.com/feross/buffer/issues/154\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n const i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n const len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (let i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n const len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (let i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n const len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (let i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n const length = this.length\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.toLocaleString = Buffer.prototype.toString\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n let str = ''\n const max = exports.INSPECT_MAX_BYTES\n str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim()\n if (this.length > max) str += ' ... '\n return '<Buffer ' + str + '>'\n}\nif (customInspectSymbol) {\n Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (isInstance(target, Uint8Array)) {\n target = Buffer.from(target, target.offset, target.byteLength)\n }\n if (!Buffer.isBuffer(target)) {\n throw new TypeError(\n 'The \"target\" argument must be one of type Buffer or Uint8Array. ' +\n 'Received type ' + (typeof target)\n )\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n let x = thisEnd - thisStart\n let y = end - start\n const len = Math.min(x, y)\n\n const thisCopy = this.slice(thisStart, thisEnd)\n const targetCopy = target.slice(start, end)\n\n for (let i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (numberIsNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n let indexSize = 1\n let arrLength = arr.length\n let valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n let i\n if (dir) {\n let foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n let found = true\n for (let j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n const remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n const strLen = string.length\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n let i\n for (i = 0; i < length; ++i) {\n const parsed = parseInt(string.substr(i * 2, 2), 16)\n if (numberIsNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset >>> 0\n if (isFinite(length)) {\n length = length >>> 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n const remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n case 'latin1':\n case 'binary':\n return asciiWrite(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n const res = []\n\n let i = start\n while (i < end) {\n const firstByte = buf[i]\n let codePoint = null\n let bytesPerSequence = (firstByte > 0xEF)\n ? 4\n : (firstByte > 0xDF)\n ? 3\n : (firstByte > 0xBF)\n ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n let secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nconst MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n const len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n let res = ''\n let i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n const len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n let out = ''\n for (let i = start; i < end; ++i) {\n out += hexSliceLookupTable[buf[i]]\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n const bytes = buf.slice(start, end)\n let res = ''\n // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)\n for (let i = 0; i < bytes.length - 1; i += 2) {\n res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256))\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n const len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n const newBuf = this.subarray(start, end)\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(newBuf, Buffer.prototype)\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUintLE =\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUintBE =\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n let val = this[offset + --byteLength]\n let mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUint8 =\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUint16LE =\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUint16BE =\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUint32LE =\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUint32BE =\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readBigUInt64LE = defineBigIntMethod(function readBigUInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const lo = first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24\n\n const hi = this[++offset] +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n last * 2 ** 24\n\n return BigInt(lo) + (BigInt(hi) << BigInt(32))\n})\n\nBuffer.prototype.readBigUInt64BE = defineBigIntMethod(function readBigUInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const hi = first * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n const lo = this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last\n\n return (BigInt(hi) << BigInt(32)) + BigInt(lo)\n})\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let i = byteLength\n let mul = 1\n let val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readBigInt64LE = defineBigIntMethod(function readBigInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = this[offset + 4] +\n this[offset + 5] * 2 ** 8 +\n this[offset + 6] * 2 ** 16 +\n (last << 24) // Overflow\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24)\n})\n\nBuffer.prototype.readBigInt64BE = defineBigIntMethod(function readBigInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = (first << 24) + // Overflow\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last)\n})\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUintLE =\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let mul = 1\n let i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUintBE =\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let i = byteLength - 1\n let mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUint8 =\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeUint16LE =\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeUint16BE =\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeUint32LE =\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeUint32BE =\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nfunction wrtBigUInt64LE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n return offset\n}\n\nfunction wrtBigUInt64BE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset + 7] = lo\n lo = lo >> 8\n buf[offset + 6] = lo\n lo = lo >> 8\n buf[offset + 5] = lo\n lo = lo >> 8\n buf[offset + 4] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset + 3] = hi\n hi = hi >> 8\n buf[offset + 2] = hi\n hi = hi >> 8\n buf[offset + 1] = hi\n hi = hi >> 8\n buf[offset] = hi\n return offset + 8\n}\n\nBuffer.prototype.writeBigUInt64LE = defineBigIntMethod(function writeBigUInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeBigUInt64BE = defineBigIntMethod(function writeBigUInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = 0\n let mul = 1\n let sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = byteLength - 1\n let mul = 1\n let sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeBigInt64LE = defineBigIntMethod(function writeBigInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nBuffer.prototype.writeBigInt64BE = defineBigIntMethod(function writeBigInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('Index out of range')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n const len = end - start\n\n if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') {\n // Use built-in when available, missing from IE11\n this.copyWithin(targetStart, start, end)\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, end),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n if (val.length === 1) {\n const code = val.charCodeAt(0)\n if ((encoding === 'utf8' && code < 128) ||\n encoding === 'latin1') {\n // Fast path: If `val` fits into a single byte, use that numeric value.\n val = code\n }\n }\n } else if (typeof val === 'number') {\n val = val & 255\n } else if (typeof val === 'boolean') {\n val = Number(val)\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n let i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n const bytes = Buffer.isBuffer(val)\n ? val\n : Buffer.from(val, encoding)\n const len = bytes.length\n if (len === 0) {\n throw new TypeError('The value \"' + val +\n '\" is invalid for argument \"value\"')\n }\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// CUSTOM ERRORS\n// =============\n\n// Simplified versions from Node, changed for Buffer-only usage\nconst errors = {}\nfunction E (sym, getMessage, Base) {\n errors[sym] = class NodeError extends Base {\n constructor () {\n super()\n\n Object.defineProperty(this, 'message', {\n value: getMessage.apply(this, arguments),\n writable: true,\n configurable: true\n })\n\n // Add the error code to the name to include it in the stack trace.\n this.name = `${this.name} [${sym}]`\n // Access the stack to generate the error message including the error code\n // from the name.\n this.stack // eslint-disable-line no-unused-expressions\n // Reset the name to the actual name.\n delete this.name\n }\n\n get code () {\n return sym\n }\n\n set code (value) {\n Object.defineProperty(this, 'code', {\n configurable: true,\n enumerable: true,\n value,\n writable: true\n })\n }\n\n toString () {\n return `${this.name} [${sym}]: ${this.message}`\n }\n }\n}\n\nE('ERR_BUFFER_OUT_OF_BOUNDS',\n function (name) {\n if (name) {\n return `${name} is outside of buffer bounds`\n }\n\n return 'Attempt to access memory outside buffer bounds'\n }, RangeError)\nE('ERR_INVALID_ARG_TYPE',\n function (name, actual) {\n return `The \"${name}\" argument must be of type number. Received type ${typeof actual}`\n }, TypeError)\nE('ERR_OUT_OF_RANGE',\n function (str, range, input) {\n let msg = `The value of \"${str}\" is out of range.`\n let received = input\n if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {\n received = addNumericalSeparator(String(input))\n } else if (typeof input === 'bigint') {\n received = String(input)\n if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) {\n received = addNumericalSeparator(received)\n }\n received += 'n'\n }\n msg += ` It must be ${range}. Received ${received}`\n return msg\n }, RangeError)\n\nfunction addNumericalSeparator (val) {\n let res = ''\n let i = val.length\n const start = val[0] === '-' ? 1 : 0\n for (; i >= start + 4; i -= 3) {\n res = `_${val.slice(i - 3, i)}${res}`\n }\n return `${val.slice(0, i)}${res}`\n}\n\n// CHECK FUNCTIONS\n// ===============\n\nfunction checkBounds (buf, offset, byteLength) {\n validateNumber(offset, 'offset')\n if (buf[offset] === undefined || buf[offset + byteLength] === undefined) {\n boundsError(offset, buf.length - (byteLength + 1))\n }\n}\n\nfunction checkIntBI (value, min, max, buf, offset, byteLength) {\n if (value > max || value < min) {\n const n = typeof min === 'bigint' ? 'n' : ''\n let range\n if (byteLength > 3) {\n if (min === 0 || min === BigInt(0)) {\n range = `>= 0${n} and < 2${n} ** ${(byteLength + 1) * 8}${n}`\n } else {\n range = `>= -(2${n} ** ${(byteLength + 1) * 8 - 1}${n}) and < 2 ** ` +\n `${(byteLength + 1) * 8 - 1}${n}`\n }\n } else {\n range = `>= ${min}${n} and <= ${max}${n}`\n }\n throw new errors.ERR_OUT_OF_RANGE('value', range, value)\n }\n checkBounds(buf, offset, byteLength)\n}\n\nfunction validateNumber (value, name) {\n if (typeof value !== 'number') {\n throw new errors.ERR_INVALID_ARG_TYPE(name, 'number', value)\n }\n}\n\nfunction boundsError (value, length, type) {\n if (Math.floor(value) !== value) {\n validateNumber(value, type)\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset', 'an integer', value)\n }\n\n if (length < 0) {\n throw new errors.ERR_BUFFER_OUT_OF_BOUNDS()\n }\n\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset',\n `>= ${type ? 1 : 0} and <= ${length}`,\n value)\n}\n\n// HELPER FUNCTIONS\n// ================\n\nconst INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node takes equal signs as end of the Base64 encoding\n str = str.split('=')[0]\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = str.trim().replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n let codePoint\n const length = string.length\n let leadSurrogate = null\n const bytes = []\n\n for (let i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n let c, hi, lo\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n let i\n for (i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\n// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n// the `instanceof` check but they should be treated as of that type.\n// See: https://github.com/feross/buffer/issues/166\nfunction isInstance (obj, type) {\n return obj instanceof type ||\n (obj != null && obj.constructor != null && obj.constructor.name != null &&\n obj.constructor.name === type.name)\n}\nfunction numberIsNaN (obj) {\n // For IE11 support\n return obj !== obj // eslint-disable-line no-self-compare\n}\n\n// Create lookup table for `toString('hex')`\n// See: https://github.com/feross/buffer/issues/219\nconst hexSliceLookupTable = (function () {\n const alphabet = '0123456789abcdef'\n const table = new Array(256)\n for (let i = 0; i < 16; ++i) {\n const i16 = i * 16\n for (let j = 0; j < 16; ++j) {\n table[i16 + j] = alphabet[i] + alphabet[j]\n }\n }\n return table\n})()\n\n// Return not function with Error if BigInt not supported\nfunction defineBigIntMethod (fn) {\n return typeof BigInt === 'undefined' ? BufferBigIntNotDefined : fn\n}\n\nfunction BufferBigIntNotDefined () {\n throw new Error('BigInt not supported')\n}\n","/*!\n Copyright (c) 2018 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString === Object.prototype.toString) {\n\t\t\t\t\tfor (var key in arg) {\n\t\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","'use strict'\r\n\r\nmodule.exports = {\r\n\t\"aliceblue\": [240, 248, 255],\r\n\t\"antiquewhite\": [250, 235, 215],\r\n\t\"aqua\": [0, 255, 255],\r\n\t\"aquamarine\": [127, 255, 212],\r\n\t\"azure\": [240, 255, 255],\r\n\t\"beige\": [245, 245, 220],\r\n\t\"bisque\": [255, 228, 196],\r\n\t\"black\": [0, 0, 0],\r\n\t\"blanchedalmond\": [255, 235, 205],\r\n\t\"blue\": [0, 0, 255],\r\n\t\"blueviolet\": [138, 43, 226],\r\n\t\"brown\": [165, 42, 42],\r\n\t\"burlywood\": [222, 184, 135],\r\n\t\"cadetblue\": [95, 158, 160],\r\n\t\"chartreuse\": [127, 255, 0],\r\n\t\"chocolate\": [210, 105, 30],\r\n\t\"coral\": [255, 127, 80],\r\n\t\"cornflowerblue\": [100, 149, 237],\r\n\t\"cornsilk\": [255, 248, 220],\r\n\t\"crimson\": [220, 20, 60],\r\n\t\"cyan\": [0, 255, 255],\r\n\t\"darkblue\": [0, 0, 139],\r\n\t\"darkcyan\": [0, 139, 139],\r\n\t\"darkgoldenrod\": [184, 134, 11],\r\n\t\"darkgray\": [169, 169, 169],\r\n\t\"darkgreen\": [0, 100, 0],\r\n\t\"darkgrey\": [169, 169, 169],\r\n\t\"darkkhaki\": [189, 183, 107],\r\n\t\"darkmagenta\": [139, 0, 139],\r\n\t\"darkolivegreen\": [85, 107, 47],\r\n\t\"darkorange\": [255, 140, 0],\r\n\t\"darkorchid\": [153, 50, 204],\r\n\t\"darkred\": [139, 0, 0],\r\n\t\"darksalmon\": [233, 150, 122],\r\n\t\"darkseagreen\": [143, 188, 143],\r\n\t\"darkslateblue\": [72, 61, 139],\r\n\t\"darkslategray\": [47, 79, 79],\r\n\t\"darkslategrey\": [47, 79, 79],\r\n\t\"darkturquoise\": [0, 206, 209],\r\n\t\"darkviolet\": [148, 0, 211],\r\n\t\"deeppink\": [255, 20, 147],\r\n\t\"deepskyblue\": [0, 191, 255],\r\n\t\"dimgray\": [105, 105, 105],\r\n\t\"dimgrey\": [105, 105, 105],\r\n\t\"dodgerblue\": [30, 144, 255],\r\n\t\"firebrick\": [178, 34, 34],\r\n\t\"floralwhite\": [255, 250, 240],\r\n\t\"forestgreen\": [34, 139, 34],\r\n\t\"fuchsia\": [255, 0, 255],\r\n\t\"gainsboro\": [220, 220, 220],\r\n\t\"ghostwhite\": [248, 248, 255],\r\n\t\"gold\": [255, 215, 0],\r\n\t\"goldenrod\": [218, 165, 32],\r\n\t\"gray\": [128, 128, 128],\r\n\t\"green\": [0, 128, 0],\r\n\t\"greenyellow\": [173, 255, 47],\r\n\t\"grey\": [128, 128, 128],\r\n\t\"honeydew\": [240, 255, 240],\r\n\t\"hotpink\": [255, 105, 180],\r\n\t\"indianred\": [205, 92, 92],\r\n\t\"indigo\": [75, 0, 130],\r\n\t\"ivory\": [255, 255, 240],\r\n\t\"khaki\": [240, 230, 140],\r\n\t\"lavender\": [230, 230, 250],\r\n\t\"lavenderblush\": [255, 240, 245],\r\n\t\"lawngreen\": [124, 252, 0],\r\n\t\"lemonchiffon\": [255, 250, 205],\r\n\t\"lightblue\": [173, 216, 230],\r\n\t\"lightcoral\": [240, 128, 128],\r\n\t\"lightcyan\": [224, 255, 255],\r\n\t\"lightgoldenrodyellow\": [250, 250, 210],\r\n\t\"lightgray\": [211, 211, 211],\r\n\t\"lightgreen\": [144, 238, 144],\r\n\t\"lightgrey\": [211, 211, 211],\r\n\t\"lightpink\": [255, 182, 193],\r\n\t\"lightsalmon\": [255, 160, 122],\r\n\t\"lightseagreen\": [32, 178, 170],\r\n\t\"lightskyblue\": [135, 206, 250],\r\n\t\"lightslategray\": [119, 136, 153],\r\n\t\"lightslategrey\": [119, 136, 153],\r\n\t\"lightsteelblue\": [176, 196, 222],\r\n\t\"lightyellow\": [255, 255, 224],\r\n\t\"lime\": [0, 255, 0],\r\n\t\"limegreen\": [50, 205, 50],\r\n\t\"linen\": [250, 240, 230],\r\n\t\"magenta\": [255, 0, 255],\r\n\t\"maroon\": [128, 0, 0],\r\n\t\"mediumaquamarine\": [102, 205, 170],\r\n\t\"mediumblue\": [0, 0, 205],\r\n\t\"mediumorchid\": [186, 85, 211],\r\n\t\"mediumpurple\": [147, 112, 219],\r\n\t\"mediumseagreen\": [60, 179, 113],\r\n\t\"mediumslateblue\": [123, 104, 238],\r\n\t\"mediumspringgreen\": [0, 250, 154],\r\n\t\"mediumturquoise\": [72, 209, 204],\r\n\t\"mediumvioletred\": [199, 21, 133],\r\n\t\"midnightblue\": [25, 25, 112],\r\n\t\"mintcream\": [245, 255, 250],\r\n\t\"mistyrose\": [255, 228, 225],\r\n\t\"moccasin\": [255, 228, 181],\r\n\t\"navajowhite\": [255, 222, 173],\r\n\t\"navy\": [0, 0, 128],\r\n\t\"oldlace\": [253, 245, 230],\r\n\t\"olive\": [128, 128, 0],\r\n\t\"olivedrab\": [107, 142, 35],\r\n\t\"orange\": [255, 165, 0],\r\n\t\"orangered\": [255, 69, 0],\r\n\t\"orchid\": [218, 112, 214],\r\n\t\"palegoldenrod\": [238, 232, 170],\r\n\t\"palegreen\": [152, 251, 152],\r\n\t\"paleturquoise\": [175, 238, 238],\r\n\t\"palevioletred\": [219, 112, 147],\r\n\t\"papayawhip\": [255, 239, 213],\r\n\t\"peachpuff\": [255, 218, 185],\r\n\t\"peru\": [205, 133, 63],\r\n\t\"pink\": [255, 192, 203],\r\n\t\"plum\": [221, 160, 221],\r\n\t\"powderblue\": [176, 224, 230],\r\n\t\"purple\": [128, 0, 128],\r\n\t\"rebeccapurple\": [102, 51, 153],\r\n\t\"red\": [255, 0, 0],\r\n\t\"rosybrown\": [188, 143, 143],\r\n\t\"royalblue\": [65, 105, 225],\r\n\t\"saddlebrown\": [139, 69, 19],\r\n\t\"salmon\": [250, 128, 114],\r\n\t\"sandybrown\": [244, 164, 96],\r\n\t\"seagreen\": [46, 139, 87],\r\n\t\"seashell\": [255, 245, 238],\r\n\t\"sienna\": [160, 82, 45],\r\n\t\"silver\": [192, 192, 192],\r\n\t\"skyblue\": [135, 206, 235],\r\n\t\"slateblue\": [106, 90, 205],\r\n\t\"slategray\": [112, 128, 144],\r\n\t\"slategrey\": [112, 128, 144],\r\n\t\"snow\": [255, 250, 250],\r\n\t\"springgreen\": [0, 255, 127],\r\n\t\"steelblue\": [70, 130, 180],\r\n\t\"tan\": [210, 180, 140],\r\n\t\"teal\": [0, 128, 128],\r\n\t\"thistle\": [216, 191, 216],\r\n\t\"tomato\": [255, 99, 71],\r\n\t\"turquoise\": [64, 224, 208],\r\n\t\"violet\": [238, 130, 238],\r\n\t\"wheat\": [245, 222, 179],\r\n\t\"white\": [255, 255, 255],\r\n\t\"whitesmoke\": [245, 245, 245],\r\n\t\"yellow\": [255, 255, 0],\r\n\t\"yellowgreen\": [154, 205, 50]\r\n};\r\n","/* MIT license */\nvar colorNames = require('color-name');\nvar swizzle = require('simple-swizzle');\nvar hasOwnProperty = Object.hasOwnProperty;\n\nvar reverseNames = Object.create(null);\n\n// create a list of reverse color names\nfor (var name in colorNames) {\n\tif (hasOwnProperty.call(colorNames, name)) {\n\t\treverseNames[colorNames[name]] = name;\n\t}\n}\n\nvar cs = module.exports = {\n\tto: {},\n\tget: {}\n};\n\ncs.get = function (string) {\n\tvar prefix = string.substring(0, 3).toLowerCase();\n\tvar val;\n\tvar model;\n\tswitch (prefix) {\n\t\tcase 'hsl':\n\t\t\tval = cs.get.hsl(string);\n\t\t\tmodel = 'hsl';\n\t\t\tbreak;\n\t\tcase 'hwb':\n\t\t\tval = cs.get.hwb(string);\n\t\t\tmodel = 'hwb';\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tval = cs.get.rgb(string);\n\t\t\tmodel = 'rgb';\n\t\t\tbreak;\n\t}\n\n\tif (!val) {\n\t\treturn null;\n\t}\n\n\treturn {model: model, value: val};\n};\n\ncs.get.rgb = function (string) {\n\tif (!string) {\n\t\treturn null;\n\t}\n\n\tvar abbr = /^#([a-f0-9]{3,4})$/i;\n\tvar hex = /^#([a-f0-9]{6})([a-f0-9]{2})?$/i;\n\tvar rgba = /^rgba?\\(\\s*([+-]?\\d+)(?=[\\s,])\\s*(?:,\\s*)?([+-]?\\d+)(?=[\\s,])\\s*(?:,\\s*)?([+-]?\\d+)\\s*(?:[,|\\/]\\s*([+-]?[\\d\\.]+)(%?)\\s*)?\\)$/;\n\tvar per = /^rgba?\\(\\s*([+-]?[\\d\\.]+)\\%\\s*,?\\s*([+-]?[\\d\\.]+)\\%\\s*,?\\s*([+-]?[\\d\\.]+)\\%\\s*(?:[,|\\/]\\s*([+-]?[\\d\\.]+)(%?)\\s*)?\\)$/;\n\tvar keyword = /^(\\w+)$/;\n\n\tvar rgb = [0, 0, 0, 1];\n\tvar match;\n\tvar i;\n\tvar hexAlpha;\n\n\tif (match = string.match(hex)) {\n\t\thexAlpha = match[2];\n\t\tmatch = match[1];\n\n\t\tfor (i = 0; i < 3; i++) {\n\t\t\t// https://jsperf.com/slice-vs-substr-vs-substring-methods-long-string/19\n\t\t\tvar i2 = i * 2;\n\t\t\trgb[i] = parseInt(match.slice(i2, i2 + 2), 16);\n\t\t}\n\n\t\tif (hexAlpha) {\n\t\t\trgb[3] = parseInt(hexAlpha, 16) / 255;\n\t\t}\n\t} else if (match = string.match(abbr)) {\n\t\tmatch = match[1];\n\t\thexAlpha = match[3];\n\n\t\tfor (i = 0; i < 3; i++) {\n\t\t\trgb[i] = parseInt(match[i] + match[i], 16);\n\t\t}\n\n\t\tif (hexAlpha) {\n\t\t\trgb[3] = parseInt(hexAlpha + hexAlpha, 16) / 255;\n\t\t}\n\t} else if (match = string.match(rgba)) {\n\t\tfor (i = 0; i < 3; i++) {\n\t\t\trgb[i] = parseInt(match[i + 1], 0);\n\t\t}\n\n\t\tif (match[4]) {\n\t\t\tif (match[5]) {\n\t\t\t\trgb[3] = parseFloat(match[4]) * 0.01;\n\t\t\t} else {\n\t\t\t\trgb[3] = parseFloat(match[4]);\n\t\t\t}\n\t\t}\n\t} else if (match = string.match(per)) {\n\t\tfor (i = 0; i < 3; i++) {\n\t\t\trgb[i] = Math.round(parseFloat(match[i + 1]) * 2.55);\n\t\t}\n\n\t\tif (match[4]) {\n\t\t\tif (match[5]) {\n\t\t\t\trgb[3] = parseFloat(match[4]) * 0.01;\n\t\t\t} else {\n\t\t\t\trgb[3] = parseFloat(match[4]);\n\t\t\t}\n\t\t}\n\t} else if (match = string.match(keyword)) {\n\t\tif (match[1] === 'transparent') {\n\t\t\treturn [0, 0, 0, 0];\n\t\t}\n\n\t\tif (!hasOwnProperty.call(colorNames, match[1])) {\n\t\t\treturn null;\n\t\t}\n\n\t\trgb = colorNames[match[1]];\n\t\trgb[3] = 1;\n\n\t\treturn rgb;\n\t} else {\n\t\treturn null;\n\t}\n\n\tfor (i = 0; i < 3; i++) {\n\t\trgb[i] = clamp(rgb[i], 0, 255);\n\t}\n\trgb[3] = clamp(rgb[3], 0, 1);\n\n\treturn rgb;\n};\n\ncs.get.hsl = function (string) {\n\tif (!string) {\n\t\treturn null;\n\t}\n\n\tvar hsl = /^hsla?\\(\\s*([+-]?(?:\\d{0,3}\\.)?\\d+)(?:deg)?\\s*,?\\s*([+-]?[\\d\\.]+)%\\s*,?\\s*([+-]?[\\d\\.]+)%\\s*(?:[,|\\/]\\s*([+-]?(?=\\.\\d|\\d)(?:0|[1-9]\\d*)?(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)\\s*)?\\)$/;\n\tvar match = string.match(hsl);\n\n\tif (match) {\n\t\tvar alpha = parseFloat(match[4]);\n\t\tvar h = ((parseFloat(match[1]) % 360) + 360) % 360;\n\t\tvar s = clamp(parseFloat(match[2]), 0, 100);\n\t\tvar l = clamp(parseFloat(match[3]), 0, 100);\n\t\tvar a = clamp(isNaN(alpha) ? 1 : alpha, 0, 1);\n\n\t\treturn [h, s, l, a];\n\t}\n\n\treturn null;\n};\n\ncs.get.hwb = function (string) {\n\tif (!string) {\n\t\treturn null;\n\t}\n\n\tvar hwb = /^hwb\\(\\s*([+-]?\\d{0,3}(?:\\.\\d+)?)(?:deg)?\\s*,\\s*([+-]?[\\d\\.]+)%\\s*,\\s*([+-]?[\\d\\.]+)%\\s*(?:,\\s*([+-]?(?=\\.\\d|\\d)(?:0|[1-9]\\d*)?(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)\\s*)?\\)$/;\n\tvar match = string.match(hwb);\n\n\tif (match) {\n\t\tvar alpha = parseFloat(match[4]);\n\t\tvar h = ((parseFloat(match[1]) % 360) + 360) % 360;\n\t\tvar w = clamp(parseFloat(match[2]), 0, 100);\n\t\tvar b = clamp(parseFloat(match[3]), 0, 100);\n\t\tvar a = clamp(isNaN(alpha) ? 1 : alpha, 0, 1);\n\t\treturn [h, w, b, a];\n\t}\n\n\treturn null;\n};\n\ncs.to.hex = function () {\n\tvar rgba = swizzle(arguments);\n\n\treturn (\n\t\t'#' +\n\t\thexDouble(rgba[0]) +\n\t\thexDouble(rgba[1]) +\n\t\thexDouble(rgba[2]) +\n\t\t(rgba[3] < 1\n\t\t\t? (hexDouble(Math.round(rgba[3] * 255)))\n\t\t\t: '')\n\t);\n};\n\ncs.to.rgb = function () {\n\tvar rgba = swizzle(arguments);\n\n\treturn rgba.length < 4 || rgba[3] === 1\n\t\t? 'rgb(' + Math.round(rgba[0]) + ', ' + Math.round(rgba[1]) + ', ' + Math.round(rgba[2]) + ')'\n\t\t: 'rgba(' + Math.round(rgba[0]) + ', ' + Math.round(rgba[1]) + ', ' + Math.round(rgba[2]) + ', ' + rgba[3] + ')';\n};\n\ncs.to.rgb.percent = function () {\n\tvar rgba = swizzle(arguments);\n\n\tvar r = Math.round(rgba[0] / 255 * 100);\n\tvar g = Math.round(rgba[1] / 255 * 100);\n\tvar b = Math.round(rgba[2] / 255 * 100);\n\n\treturn rgba.length < 4 || rgba[3] === 1\n\t\t? 'rgb(' + r + '%, ' + g + '%, ' + b + '%)'\n\t\t: 'rgba(' + r + '%, ' + g + '%, ' + b + '%, ' + rgba[3] + ')';\n};\n\ncs.to.hsl = function () {\n\tvar hsla = swizzle(arguments);\n\treturn hsla.length < 4 || hsla[3] === 1\n\t\t? 'hsl(' + hsla[0] + ', ' + hsla[1] + '%, ' + hsla[2] + '%)'\n\t\t: 'hsla(' + hsla[0] + ', ' + hsla[1] + '%, ' + hsla[2] + '%, ' + hsla[3] + ')';\n};\n\n// hwb is a bit different than rgb(a) & hsl(a) since there is no alpha specific syntax\n// (hwb have alpha optional & 1 is default value)\ncs.to.hwb = function () {\n\tvar hwba = swizzle(arguments);\n\n\tvar a = '';\n\tif (hwba.length >= 4 && hwba[3] !== 1) {\n\t\ta = ', ' + hwba[3];\n\t}\n\n\treturn 'hwb(' + hwba[0] + ', ' + hwba[1] + '%, ' + hwba[2] + '%' + a + ')';\n};\n\ncs.to.keyword = function (rgb) {\n\treturn reverseNames[rgb.slice(0, 3)];\n};\n\n// helpers\nfunction clamp(num, min, max) {\n\treturn Math.min(Math.max(min, num), max);\n}\n\nfunction hexDouble(num) {\n\tvar str = Math.round(num).toString(16).toUpperCase();\n\treturn (str.length < 2) ? '0' + str : str;\n}\n","const colorString = require('color-string');\nconst convert = require('color-convert');\n\nconst skippedModels = [\n\t// To be honest, I don't really feel like keyword belongs in color convert, but eh.\n\t'keyword',\n\n\t// Gray conflicts with some method names, and has its own method defined.\n\t'gray',\n\n\t// Shouldn't really be in color-convert either...\n\t'hex',\n];\n\nconst hashedModelKeys = {};\nfor (const model of Object.keys(convert)) {\n\thashedModelKeys[[...convert[model].labels].sort().join('')] = model;\n}\n\nconst limiters = {};\n\nfunction Color(object, model) {\n\tif (!(this instanceof Color)) {\n\t\treturn new Color(object, model);\n\t}\n\n\tif (model && model in skippedModels) {\n\t\tmodel = null;\n\t}\n\n\tif (model && !(model in convert)) {\n\t\tthrow new Error('Unknown model: ' + model);\n\t}\n\n\tlet i;\n\tlet channels;\n\n\tif (object == null) { // eslint-disable-line no-eq-null,eqeqeq\n\t\tthis.model = 'rgb';\n\t\tthis.color = [0, 0, 0];\n\t\tthis.valpha = 1;\n\t} else if (object instanceof Color) {\n\t\tthis.model = object.model;\n\t\tthis.color = [...object.color];\n\t\tthis.valpha = object.valpha;\n\t} else if (typeof object === 'string') {\n\t\tconst result = colorString.get(object);\n\t\tif (result === null) {\n\t\t\tthrow new Error('Unable to parse color from string: ' + object);\n\t\t}\n\n\t\tthis.model = result.model;\n\t\tchannels = convert[this.model].channels;\n\t\tthis.color = result.value.slice(0, channels);\n\t\tthis.valpha = typeof result.value[channels] === 'number' ? result.value[channels] : 1;\n\t} else if (object.length > 0) {\n\t\tthis.model = model || 'rgb';\n\t\tchannels = convert[this.model].channels;\n\t\tconst newArray = Array.prototype.slice.call(object, 0, channels);\n\t\tthis.color = zeroArray(newArray, channels);\n\t\tthis.valpha = typeof object[channels] === 'number' ? object[channels] : 1;\n\t} else if (typeof object === 'number') {\n\t\t// This is always RGB - can be converted later on.\n\t\tthis.model = 'rgb';\n\t\tthis.color = [\n\t\t\t(object >> 16) & 0xFF,\n\t\t\t(object >> 8) & 0xFF,\n\t\t\tobject & 0xFF,\n\t\t];\n\t\tthis.valpha = 1;\n\t} else {\n\t\tthis.valpha = 1;\n\n\t\tconst keys = Object.keys(object);\n\t\tif ('alpha' in object) {\n\t\t\tkeys.splice(keys.indexOf('alpha'), 1);\n\t\t\tthis.valpha = typeof object.alpha === 'number' ? object.alpha : 0;\n\t\t}\n\n\t\tconst hashedKeys = keys.sort().join('');\n\t\tif (!(hashedKeys in hashedModelKeys)) {\n\t\t\tthrow new Error('Unable to parse color from object: ' + JSON.stringify(object));\n\t\t}\n\n\t\tthis.model = hashedModelKeys[hashedKeys];\n\n\t\tconst {labels} = convert[this.model];\n\t\tconst color = [];\n\t\tfor (i = 0; i < labels.length; i++) {\n\t\t\tcolor.push(object[labels[i]]);\n\t\t}\n\n\t\tthis.color = zeroArray(color);\n\t}\n\n\t// Perform limitations (clamping, etc.)\n\tif (limiters[this.model]) {\n\t\tchannels = convert[this.model].channels;\n\t\tfor (i = 0; i < channels; i++) {\n\t\t\tconst limit = limiters[this.model][i];\n\t\t\tif (limit) {\n\t\t\t\tthis.color[i] = limit(this.color[i]);\n\t\t\t}\n\t\t}\n\t}\n\n\tthis.valpha = Math.max(0, Math.min(1, this.valpha));\n\n\tif (Object.freeze) {\n\t\tObject.freeze(this);\n\t}\n}\n\nColor.prototype = {\n\ttoString() {\n\t\treturn this.string();\n\t},\n\n\ttoJSON() {\n\t\treturn this[this.model]();\n\t},\n\n\tstring(places) {\n\t\tlet self = this.model in colorString.to ? this : this.rgb();\n\t\tself = self.round(typeof places === 'number' ? places : 1);\n\t\tconst args = self.valpha === 1 ? self.color : [...self.color, this.valpha];\n\t\treturn colorString.to[self.model](args);\n\t},\n\n\tpercentString(places) {\n\t\tconst self = this.rgb().round(typeof places === 'number' ? places : 1);\n\t\tconst args = self.valpha === 1 ? self.color : [...self.color, this.valpha];\n\t\treturn colorString.to.rgb.percent(args);\n\t},\n\n\tarray() {\n\t\treturn this.valpha === 1 ? [...this.color] : [...this.color, this.valpha];\n\t},\n\n\tobject() {\n\t\tconst result = {};\n\t\tconst {channels} = convert[this.model];\n\t\tconst {labels} = convert[this.model];\n\n\t\tfor (let i = 0; i < channels; i++) {\n\t\t\tresult[labels[i]] = this.color[i];\n\t\t}\n\n\t\tif (this.valpha !== 1) {\n\t\t\tresult.alpha = this.valpha;\n\t\t}\n\n\t\treturn result;\n\t},\n\n\tunitArray() {\n\t\tconst rgb = this.rgb().color;\n\t\trgb[0] /= 255;\n\t\trgb[1] /= 255;\n\t\trgb[2] /= 255;\n\n\t\tif (this.valpha !== 1) {\n\t\t\trgb.push(this.valpha);\n\t\t}\n\n\t\treturn rgb;\n\t},\n\n\tunitObject() {\n\t\tconst rgb = this.rgb().object();\n\t\trgb.r /= 255;\n\t\trgb.g /= 255;\n\t\trgb.b /= 255;\n\n\t\tif (this.valpha !== 1) {\n\t\t\trgb.alpha = this.valpha;\n\t\t}\n\n\t\treturn rgb;\n\t},\n\n\tround(places) {\n\t\tplaces = Math.max(places || 0, 0);\n\t\treturn new Color([...this.color.map(roundToPlace(places)), this.valpha], this.model);\n\t},\n\n\talpha(value) {\n\t\tif (value !== undefined) {\n\t\t\treturn new Color([...this.color, Math.max(0, Math.min(1, value))], this.model);\n\t\t}\n\n\t\treturn this.valpha;\n\t},\n\n\t// Rgb\n\tred: getset('rgb', 0, maxfn(255)),\n\tgreen: getset('rgb', 1, maxfn(255)),\n\tblue: getset('rgb', 2, maxfn(255)),\n\n\thue: getset(['hsl', 'hsv', 'hsl', 'hwb', 'hcg'], 0, value => ((value % 360) + 360) % 360),\n\n\tsaturationl: getset('hsl', 1, maxfn(100)),\n\tlightness: getset('hsl', 2, maxfn(100)),\n\n\tsaturationv: getset('hsv', 1, maxfn(100)),\n\tvalue: getset('hsv', 2, maxfn(100)),\n\n\tchroma: getset('hcg', 1, maxfn(100)),\n\tgray: getset('hcg', 2, maxfn(100)),\n\n\twhite: getset('hwb', 1, maxfn(100)),\n\twblack: getset('hwb', 2, maxfn(100)),\n\n\tcyan: getset('cmyk', 0, maxfn(100)),\n\tmagenta: getset('cmyk', 1, maxfn(100)),\n\tyellow: getset('cmyk', 2, maxfn(100)),\n\tblack: getset('cmyk', 3, maxfn(100)),\n\n\tx: getset('xyz', 0, maxfn(95.047)),\n\ty: getset('xyz', 1, maxfn(100)),\n\tz: getset('xyz', 2, maxfn(108.833)),\n\n\tl: getset('lab', 0, maxfn(100)),\n\ta: getset('lab', 1),\n\tb: getset('lab', 2),\n\n\tkeyword(value) {\n\t\tif (value !== undefined) {\n\t\t\treturn new Color(value);\n\t\t}\n\n\t\treturn convert[this.model].keyword(this.color);\n\t},\n\n\thex(value) {\n\t\tif (value !== undefined) {\n\t\t\treturn new Color(value);\n\t\t}\n\n\t\treturn colorString.to.hex(this.rgb().round().color);\n\t},\n\n\thexa(value) {\n\t\tif (value !== undefined) {\n\t\t\treturn new Color(value);\n\t\t}\n\n\t\tconst rgbArray = this.rgb().round().color;\n\n\t\tlet alphaHex = Math.round(this.valpha * 255).toString(16).toUpperCase();\n\t\tif (alphaHex.length === 1) {\n\t\t\talphaHex = '0' + alphaHex;\n\t\t}\n\n\t\treturn colorString.to.hex(rgbArray) + alphaHex;\n\t},\n\n\trgbNumber() {\n\t\tconst rgb = this.rgb().color;\n\t\treturn ((rgb[0] & 0xFF) << 16) | ((rgb[1] & 0xFF) << 8) | (rgb[2] & 0xFF);\n\t},\n\n\tluminosity() {\n\t\t// http://www.w3.org/TR/WCAG20/#relativeluminancedef\n\t\tconst rgb = this.rgb().color;\n\n\t\tconst lum = [];\n\t\tfor (const [i, element] of rgb.entries()) {\n\t\t\tconst chan = element / 255;\n\t\t\tlum[i] = (chan <= 0.04045) ? chan / 12.92 : ((chan + 0.055) / 1.055) ** 2.4;\n\t\t}\n\n\t\treturn 0.2126 * lum[0] + 0.7152 * lum[1] + 0.0722 * lum[2];\n\t},\n\n\tcontrast(color2) {\n\t\t// http://www.w3.org/TR/WCAG20/#contrast-ratiodef\n\t\tconst lum1 = this.luminosity();\n\t\tconst lum2 = color2.luminosity();\n\n\t\tif (lum1 > lum2) {\n\t\t\treturn (lum1 + 0.05) / (lum2 + 0.05);\n\t\t}\n\n\t\treturn (lum2 + 0.05) / (lum1 + 0.05);\n\t},\n\n\tlevel(color2) {\n\t\t// https://www.w3.org/TR/WCAG/#contrast-enhanced\n\t\tconst contrastRatio = this.contrast(color2);\n\t\tif (contrastRatio >= 7) {\n\t\t\treturn 'AAA';\n\t\t}\n\n\t\treturn (contrastRatio >= 4.5) ? 'AA' : '';\n\t},\n\n\tisDark() {\n\t\t// YIQ equation from http://24ways.org/2010/calculating-color-contrast\n\t\tconst rgb = this.rgb().color;\n\t\tconst yiq = (rgb[0] * 2126 + rgb[1] * 7152 + rgb[2] * 722) / 10000;\n\t\treturn yiq < 128;\n\t},\n\n\tisLight() {\n\t\treturn !this.isDark();\n\t},\n\n\tnegate() {\n\t\tconst rgb = this.rgb();\n\t\tfor (let i = 0; i < 3; i++) {\n\t\t\trgb.color[i] = 255 - rgb.color[i];\n\t\t}\n\n\t\treturn rgb;\n\t},\n\n\tlighten(ratio) {\n\t\tconst hsl = this.hsl();\n\t\thsl.color[2] += hsl.color[2] * ratio;\n\t\treturn hsl;\n\t},\n\n\tdarken(ratio) {\n\t\tconst hsl = this.hsl();\n\t\thsl.color[2] -= hsl.color[2] * ratio;\n\t\treturn hsl;\n\t},\n\n\tsaturate(ratio) {\n\t\tconst hsl = this.hsl();\n\t\thsl.color[1] += hsl.color[1] * ratio;\n\t\treturn hsl;\n\t},\n\n\tdesaturate(ratio) {\n\t\tconst hsl = this.hsl();\n\t\thsl.color[1] -= hsl.color[1] * ratio;\n\t\treturn hsl;\n\t},\n\n\twhiten(ratio) {\n\t\tconst hwb = this.hwb();\n\t\thwb.color[1] += hwb.color[1] * ratio;\n\t\treturn hwb;\n\t},\n\n\tblacken(ratio) {\n\t\tconst hwb = this.hwb();\n\t\thwb.color[2] += hwb.color[2] * ratio;\n\t\treturn hwb;\n\t},\n\n\tgrayscale() {\n\t\t// http://en.wikipedia.org/wiki/Grayscale#Converting_color_to_grayscale\n\t\tconst rgb = this.rgb().color;\n\t\tconst value = rgb[0] * 0.3 + rgb[1] * 0.59 + rgb[2] * 0.11;\n\t\treturn Color.rgb(value, value, value);\n\t},\n\n\tfade(ratio) {\n\t\treturn this.alpha(this.valpha - (this.valpha * ratio));\n\t},\n\n\topaquer(ratio) {\n\t\treturn this.alpha(this.valpha + (this.valpha * ratio));\n\t},\n\n\trotate(degrees) {\n\t\tconst hsl = this.hsl();\n\t\tlet hue = hsl.color[0];\n\t\thue = (hue + degrees) % 360;\n\t\thue = hue < 0 ? 360 + hue : hue;\n\t\thsl.color[0] = hue;\n\t\treturn hsl;\n\t},\n\n\tmix(mixinColor, weight) {\n\t\t// Ported from sass implementation in C\n\t\t// https://github.com/sass/libsass/blob/0e6b4a2850092356aa3ece07c6b249f0221caced/functions.cpp#L209\n\t\tif (!mixinColor || !mixinColor.rgb) {\n\t\t\tthrow new Error('Argument to \"mix\" was not a Color instance, but rather an instance of ' + typeof mixinColor);\n\t\t}\n\n\t\tconst color1 = mixinColor.rgb();\n\t\tconst color2 = this.rgb();\n\t\tconst p = weight === undefined ? 0.5 : weight;\n\n\t\tconst w = 2 * p - 1;\n\t\tconst a = color1.alpha() - color2.alpha();\n\n\t\tconst w1 = (((w * a === -1) ? w : (w + a) / (1 + w * a)) + 1) / 2;\n\t\tconst w2 = 1 - w1;\n\n\t\treturn Color.rgb(\n\t\t\tw1 * color1.red() + w2 * color2.red(),\n\t\t\tw1 * color1.green() + w2 * color2.green(),\n\t\t\tw1 * color1.blue() + w2 * color2.blue(),\n\t\t\tcolor1.alpha() * p + color2.alpha() * (1 - p));\n\t},\n};\n\n// Model conversion methods and static constructors\nfor (const model of Object.keys(convert)) {\n\tif (skippedModels.includes(model)) {\n\t\tcontinue;\n\t}\n\n\tconst {channels} = convert[model];\n\n\t// Conversion methods\n\tColor.prototype[model] = function (...args) {\n\t\tif (this.model === model) {\n\t\t\treturn new Color(this);\n\t\t}\n\n\t\tif (args.length > 0) {\n\t\t\treturn new Color(args, model);\n\t\t}\n\n\t\treturn new Color([...assertArray(convert[this.model][model].raw(this.color)), this.valpha], model);\n\t};\n\n\t// 'static' construction methods\n\tColor[model] = function (...args) {\n\t\tlet color = args[0];\n\t\tif (typeof color === 'number') {\n\t\t\tcolor = zeroArray(args, channels);\n\t\t}\n\n\t\treturn new Color(color, model);\n\t};\n}\n\nfunction roundTo(number, places) {\n\treturn Number(number.toFixed(places));\n}\n\nfunction roundToPlace(places) {\n\treturn function (number) {\n\t\treturn roundTo(number, places);\n\t};\n}\n\nfunction getset(model, channel, modifier) {\n\tmodel = Array.isArray(model) ? model : [model];\n\n\tfor (const m of model) {\n\t\t(limiters[m] || (limiters[m] = []))[channel] = modifier;\n\t}\n\n\tmodel = model[0];\n\n\treturn function (value) {\n\t\tlet result;\n\n\t\tif (value !== undefined) {\n\t\t\tif (modifier) {\n\t\t\t\tvalue = modifier(value);\n\t\t\t}\n\n\t\t\tresult = this[model]();\n\t\t\tresult.color[channel] = value;\n\t\t\treturn result;\n\t\t}\n\n\t\tresult = this[model]().color[channel];\n\t\tif (modifier) {\n\t\t\tresult = modifier(result);\n\t\t}\n\n\t\treturn result;\n\t};\n}\n\nfunction maxfn(max) {\n\treturn function (v) {\n\t\treturn Math.max(0, Math.min(max, v));\n\t};\n}\n\nfunction assertArray(value) {\n\treturn Array.isArray(value) ? value : [value];\n}\n\nfunction zeroArray(array, length) {\n\tfor (let i = 0; i < length; i++) {\n\t\tif (typeof array[i] !== 'number') {\n\t\t\tarray[i] = 0;\n\t\t}\n\t}\n\n\treturn array;\n}\n\nmodule.exports = Color;\n","/* MIT license */\n/* eslint-disable no-mixed-operators */\nconst cssKeywords = require('color-name');\n\n// NOTE: conversions should only return primitive values (i.e. arrays, or\n// values that give correct `typeof` results).\n// do not use box values types (i.e. Number(), String(), etc.)\n\nconst reverseKeywords = {};\nfor (const key of Object.keys(cssKeywords)) {\n\treverseKeywords[cssKeywords[key]] = key;\n}\n\nconst convert = {\n\trgb: {channels: 3, labels: 'rgb'},\n\thsl: {channels: 3, labels: 'hsl'},\n\thsv: {channels: 3, labels: 'hsv'},\n\thwb: {channels: 3, labels: 'hwb'},\n\tcmyk: {channels: 4, labels: 'cmyk'},\n\txyz: {channels: 3, labels: 'xyz'},\n\tlab: {channels: 3, labels: 'lab'},\n\tlch: {channels: 3, labels: 'lch'},\n\thex: {channels: 1, labels: ['hex']},\n\tkeyword: {channels: 1, labels: ['keyword']},\n\tansi16: {channels: 1, labels: ['ansi16']},\n\tansi256: {channels: 1, labels: ['ansi256']},\n\thcg: {channels: 3, labels: ['h', 'c', 'g']},\n\tapple: {channels: 3, labels: ['r16', 'g16', 'b16']},\n\tgray: {channels: 1, labels: ['gray']}\n};\n\nmodule.exports = convert;\n\n// Hide .channels and .labels properties\nfor (const model of Object.keys(convert)) {\n\tif (!('channels' in convert[model])) {\n\t\tthrow new Error('missing channels property: ' + model);\n\t}\n\n\tif (!('labels' in convert[model])) {\n\t\tthrow new Error('missing channel labels property: ' + model);\n\t}\n\n\tif (convert[model].labels.length !== convert[model].channels) {\n\t\tthrow new Error('channel and label counts mismatch: ' + model);\n\t}\n\n\tconst {channels, labels} = convert[model];\n\tdelete convert[model].channels;\n\tdelete convert[model].labels;\n\tObject.defineProperty(convert[model], 'channels', {value: channels});\n\tObject.defineProperty(convert[model], 'labels', {value: labels});\n}\n\nconvert.rgb.hsl = function (rgb) {\n\tconst r = rgb[0] / 255;\n\tconst g = rgb[1] / 255;\n\tconst b = rgb[2] / 255;\n\tconst min = Math.min(r, g, b);\n\tconst max = Math.max(r, g, b);\n\tconst delta = max - min;\n\tlet h;\n\tlet s;\n\n\tif (max === min) {\n\t\th = 0;\n\t} else if (r === max) {\n\t\th = (g - b) / delta;\n\t} else if (g === max) {\n\t\th = 2 + (b - r) / delta;\n\t} else if (b === max) {\n\t\th = 4 + (r - g) / delta;\n\t}\n\n\th = Math.min(h * 60, 360);\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tconst l = (min + max) / 2;\n\n\tif (max === min) {\n\t\ts = 0;\n\t} else if (l <= 0.5) {\n\t\ts = delta / (max + min);\n\t} else {\n\t\ts = delta / (2 - max - min);\n\t}\n\n\treturn [h, s * 100, l * 100];\n};\n\nconvert.rgb.hsv = function (rgb) {\n\tlet rdif;\n\tlet gdif;\n\tlet bdif;\n\tlet h;\n\tlet s;\n\n\tconst r = rgb[0] / 255;\n\tconst g = rgb[1] / 255;\n\tconst b = rgb[2] / 255;\n\tconst v = Math.max(r, g, b);\n\tconst diff = v - Math.min(r, g, b);\n\tconst diffc = function (c) {\n\t\treturn (v - c) / 6 / diff + 1 / 2;\n\t};\n\n\tif (diff === 0) {\n\t\th = 0;\n\t\ts = 0;\n\t} else {\n\t\ts = diff / v;\n\t\trdif = diffc(r);\n\t\tgdif = diffc(g);\n\t\tbdif = diffc(b);\n\n\t\tif (r === v) {\n\t\t\th = bdif - gdif;\n\t\t} else if (g === v) {\n\t\t\th = (1 / 3) + rdif - bdif;\n\t\t} else if (b === v) {\n\t\t\th = (2 / 3) + gdif - rdif;\n\t\t}\n\n\t\tif (h < 0) {\n\t\t\th += 1;\n\t\t} else if (h > 1) {\n\t\t\th -= 1;\n\t\t}\n\t}\n\n\treturn [\n\t\th * 360,\n\t\ts * 100,\n\t\tv * 100\n\t];\n};\n\nconvert.rgb.hwb = function (rgb) {\n\tconst r = rgb[0];\n\tconst g = rgb[1];\n\tlet b = rgb[2];\n\tconst h = convert.rgb.hsl(rgb)[0];\n\tconst w = 1 / 255 * Math.min(r, Math.min(g, b));\n\n\tb = 1 - 1 / 255 * Math.max(r, Math.max(g, b));\n\n\treturn [h, w * 100, b * 100];\n};\n\nconvert.rgb.cmyk = function (rgb) {\n\tconst r = rgb[0] / 255;\n\tconst g = rgb[1] / 255;\n\tconst b = rgb[2] / 255;\n\n\tconst k = Math.min(1 - r, 1 - g, 1 - b);\n\tconst c = (1 - r - k) / (1 - k) || 0;\n\tconst m = (1 - g - k) / (1 - k) || 0;\n\tconst y = (1 - b - k) / (1 - k) || 0;\n\n\treturn [c * 100, m * 100, y * 100, k * 100];\n};\n\nfunction comparativeDistance(x, y) {\n\t/*\n\t\tSee https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance\n\t*/\n\treturn (\n\t\t((x[0] - y[0]) ** 2) +\n\t\t((x[1] - y[1]) ** 2) +\n\t\t((x[2] - y[2]) ** 2)\n\t);\n}\n\nconvert.rgb.keyword = function (rgb) {\n\tconst reversed = reverseKeywords[rgb];\n\tif (reversed) {\n\t\treturn reversed;\n\t}\n\n\tlet currentClosestDistance = Infinity;\n\tlet currentClosestKeyword;\n\n\tfor (const keyword of Object.keys(cssKeywords)) {\n\t\tconst value = cssKeywords[keyword];\n\n\t\t// Compute comparative distance\n\t\tconst distance = comparativeDistance(rgb, value);\n\n\t\t// Check if its less, if so set as closest\n\t\tif (distance < currentClosestDistance) {\n\t\t\tcurrentClosestDistance = distance;\n\t\t\tcurrentClosestKeyword = keyword;\n\t\t}\n\t}\n\n\treturn currentClosestKeyword;\n};\n\nconvert.keyword.rgb = function (keyword) {\n\treturn cssKeywords[keyword];\n};\n\nconvert.rgb.xyz = function (rgb) {\n\tlet r = rgb[0] / 255;\n\tlet g = rgb[1] / 255;\n\tlet b = rgb[2] / 255;\n\n\t// Assume sRGB\n\tr = r > 0.04045 ? (((r + 0.055) / 1.055) ** 2.4) : (r / 12.92);\n\tg = g > 0.04045 ? (((g + 0.055) / 1.055) ** 2.4) : (g / 12.92);\n\tb = b > 0.04045 ? (((b + 0.055) / 1.055) ** 2.4) : (b / 12.92);\n\n\tconst x = (r * 0.4124) + (g * 0.3576) + (b * 0.1805);\n\tconst y = (r * 0.2126) + (g * 0.7152) + (b * 0.0722);\n\tconst z = (r * 0.0193) + (g * 0.1192) + (b * 0.9505);\n\n\treturn [x * 100, y * 100, z * 100];\n};\n\nconvert.rgb.lab = function (rgb) {\n\tconst xyz = convert.rgb.xyz(rgb);\n\tlet x = xyz[0];\n\tlet y = xyz[1];\n\tlet z = xyz[2];\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? (x ** (1 / 3)) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? (y ** (1 / 3)) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? (z ** (1 / 3)) : (7.787 * z) + (16 / 116);\n\n\tconst l = (116 * y) - 16;\n\tconst a = 500 * (x - y);\n\tconst b = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.hsl.rgb = function (hsl) {\n\tconst h = hsl[0] / 360;\n\tconst s = hsl[1] / 100;\n\tconst l = hsl[2] / 100;\n\tlet t2;\n\tlet t3;\n\tlet val;\n\n\tif (s === 0) {\n\t\tval = l * 255;\n\t\treturn [val, val, val];\n\t}\n\n\tif (l < 0.5) {\n\t\tt2 = l * (1 + s);\n\t} else {\n\t\tt2 = l + s - l * s;\n\t}\n\n\tconst t1 = 2 * l - t2;\n\n\tconst rgb = [0, 0, 0];\n\tfor (let i = 0; i < 3; i++) {\n\t\tt3 = h + 1 / 3 * -(i - 1);\n\t\tif (t3 < 0) {\n\t\t\tt3++;\n\t\t}\n\n\t\tif (t3 > 1) {\n\t\t\tt3--;\n\t\t}\n\n\t\tif (6 * t3 < 1) {\n\t\t\tval = t1 + (t2 - t1) * 6 * t3;\n\t\t} else if (2 * t3 < 1) {\n\t\t\tval = t2;\n\t\t} else if (3 * t3 < 2) {\n\t\t\tval = t1 + (t2 - t1) * (2 / 3 - t3) * 6;\n\t\t} else {\n\t\t\tval = t1;\n\t\t}\n\n\t\trgb[i] = val * 255;\n\t}\n\n\treturn rgb;\n};\n\nconvert.hsl.hsv = function (hsl) {\n\tconst h = hsl[0];\n\tlet s = hsl[1] / 100;\n\tlet l = hsl[2] / 100;\n\tlet smin = s;\n\tconst lmin = Math.max(l, 0.01);\n\n\tl *= 2;\n\ts *= (l <= 1) ? l : 2 - l;\n\tsmin *= lmin <= 1 ? lmin : 2 - lmin;\n\tconst v = (l + s) / 2;\n\tconst sv = l === 0 ? (2 * smin) / (lmin + smin) : (2 * s) / (l + s);\n\n\treturn [h, sv * 100, v * 100];\n};\n\nconvert.hsv.rgb = function (hsv) {\n\tconst h = hsv[0] / 60;\n\tconst s = hsv[1] / 100;\n\tlet v = hsv[2] / 100;\n\tconst hi = Math.floor(h) % 6;\n\n\tconst f = h - Math.floor(h);\n\tconst p = 255 * v * (1 - s);\n\tconst q = 255 * v * (1 - (s * f));\n\tconst t = 255 * v * (1 - (s * (1 - f)));\n\tv *= 255;\n\n\tswitch (hi) {\n\t\tcase 0:\n\t\t\treturn [v, t, p];\n\t\tcase 1:\n\t\t\treturn [q, v, p];\n\t\tcase 2:\n\t\t\treturn [p, v, t];\n\t\tcase 3:\n\t\t\treturn [p, q, v];\n\t\tcase 4:\n\t\t\treturn [t, p, v];\n\t\tcase 5:\n\t\t\treturn [v, p, q];\n\t}\n};\n\nconvert.hsv.hsl = function (hsv) {\n\tconst h = hsv[0];\n\tconst s = hsv[1] / 100;\n\tconst v = hsv[2] / 100;\n\tconst vmin = Math.max(v, 0.01);\n\tlet sl;\n\tlet l;\n\n\tl = (2 - s) * v;\n\tconst lmin = (2 - s) * vmin;\n\tsl = s * vmin;\n\tsl /= (lmin <= 1) ? lmin : 2 - lmin;\n\tsl = sl || 0;\n\tl /= 2;\n\n\treturn [h, sl * 100, l * 100];\n};\n\n// http://dev.w3.org/csswg/css-color/#hwb-to-rgb\nconvert.hwb.rgb = function (hwb) {\n\tconst h = hwb[0] / 360;\n\tlet wh = hwb[1] / 100;\n\tlet bl = hwb[2] / 100;\n\tconst ratio = wh + bl;\n\tlet f;\n\n\t// Wh + bl cant be > 1\n\tif (ratio > 1) {\n\t\twh /= ratio;\n\t\tbl /= ratio;\n\t}\n\n\tconst i = Math.floor(6 * h);\n\tconst v = 1 - bl;\n\tf = 6 * h - i;\n\n\tif ((i & 0x01) !== 0) {\n\t\tf = 1 - f;\n\t}\n\n\tconst n = wh + f * (v - wh); // Linear interpolation\n\n\tlet r;\n\tlet g;\n\tlet b;\n\t/* eslint-disable max-statements-per-line,no-multi-spaces */\n\tswitch (i) {\n\t\tdefault:\n\t\tcase 6:\n\t\tcase 0: r = v; g = n; b = wh; break;\n\t\tcase 1: r = n; g = v; b = wh; break;\n\t\tcase 2: r = wh; g = v; b = n; break;\n\t\tcase 3: r = wh; g = n; b = v; break;\n\t\tcase 4: r = n; g = wh; b = v; break;\n\t\tcase 5: r = v; g = wh; b = n; break;\n\t}\n\t/* eslint-enable max-statements-per-line,no-multi-spaces */\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.cmyk.rgb = function (cmyk) {\n\tconst c = cmyk[0] / 100;\n\tconst m = cmyk[1] / 100;\n\tconst y = cmyk[2] / 100;\n\tconst k = cmyk[3] / 100;\n\n\tconst r = 1 - Math.min(1, c * (1 - k) + k);\n\tconst g = 1 - Math.min(1, m * (1 - k) + k);\n\tconst b = 1 - Math.min(1, y * (1 - k) + k);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.rgb = function (xyz) {\n\tconst x = xyz[0] / 100;\n\tconst y = xyz[1] / 100;\n\tconst z = xyz[2] / 100;\n\tlet r;\n\tlet g;\n\tlet b;\n\n\tr = (x * 3.2406) + (y * -1.5372) + (z * -0.4986);\n\tg = (x * -0.9689) + (y * 1.8758) + (z * 0.0415);\n\tb = (x * 0.0557) + (y * -0.2040) + (z * 1.0570);\n\n\t// Assume sRGB\n\tr = r > 0.0031308\n\t\t? ((1.055 * (r ** (1.0 / 2.4))) - 0.055)\n\t\t: r * 12.92;\n\n\tg = g > 0.0031308\n\t\t? ((1.055 * (g ** (1.0 / 2.4))) - 0.055)\n\t\t: g * 12.92;\n\n\tb = b > 0.0031308\n\t\t? ((1.055 * (b ** (1.0 / 2.4))) - 0.055)\n\t\t: b * 12.92;\n\n\tr = Math.min(Math.max(0, r), 1);\n\tg = Math.min(Math.max(0, g), 1);\n\tb = Math.min(Math.max(0, b), 1);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.lab = function (xyz) {\n\tlet x = xyz[0];\n\tlet y = xyz[1];\n\tlet z = xyz[2];\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? (x ** (1 / 3)) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? (y ** (1 / 3)) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? (z ** (1 / 3)) : (7.787 * z) + (16 / 116);\n\n\tconst l = (116 * y) - 16;\n\tconst a = 500 * (x - y);\n\tconst b = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.lab.xyz = function (lab) {\n\tconst l = lab[0];\n\tconst a = lab[1];\n\tconst b = lab[2];\n\tlet x;\n\tlet y;\n\tlet z;\n\n\ty = (l + 16) / 116;\n\tx = a / 500 + y;\n\tz = y - b / 200;\n\n\tconst y2 = y ** 3;\n\tconst x2 = x ** 3;\n\tconst z2 = z ** 3;\n\ty = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787;\n\tx = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787;\n\tz = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787;\n\n\tx *= 95.047;\n\ty *= 100;\n\tz *= 108.883;\n\n\treturn [x, y, z];\n};\n\nconvert.lab.lch = function (lab) {\n\tconst l = lab[0];\n\tconst a = lab[1];\n\tconst b = lab[2];\n\tlet h;\n\n\tconst hr = Math.atan2(b, a);\n\th = hr * 360 / 2 / Math.PI;\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tconst c = Math.sqrt(a * a + b * b);\n\n\treturn [l, c, h];\n};\n\nconvert.lch.lab = function (lch) {\n\tconst l = lch[0];\n\tconst c = lch[1];\n\tconst h = lch[2];\n\n\tconst hr = h / 360 * 2 * Math.PI;\n\tconst a = c * Math.cos(hr);\n\tconst b = c * Math.sin(hr);\n\n\treturn [l, a, b];\n};\n\nconvert.rgb.ansi16 = function (args, saturation = null) {\n\tconst [r, g, b] = args;\n\tlet value = saturation === null ? convert.rgb.hsv(args)[2] : saturation; // Hsv -> ansi16 optimization\n\n\tvalue = Math.round(value / 50);\n\n\tif (value === 0) {\n\t\treturn 30;\n\t}\n\n\tlet ansi = 30\n\t\t+ ((Math.round(b / 255) << 2)\n\t\t| (Math.round(g / 255) << 1)\n\t\t| Math.round(r / 255));\n\n\tif (value === 2) {\n\t\tansi += 60;\n\t}\n\n\treturn ansi;\n};\n\nconvert.hsv.ansi16 = function (args) {\n\t// Optimization here; we already know the value and don't need to get\n\t// it converted for us.\n\treturn convert.rgb.ansi16(convert.hsv.rgb(args), args[2]);\n};\n\nconvert.rgb.ansi256 = function (args) {\n\tconst r = args[0];\n\tconst g = args[1];\n\tconst b = args[2];\n\n\t// We use the extended greyscale palette here, with the exception of\n\t// black and white. normal palette only has 4 greyscale shades.\n\tif (r === g && g === b) {\n\t\tif (r < 8) {\n\t\t\treturn 16;\n\t\t}\n\n\t\tif (r > 248) {\n\t\t\treturn 231;\n\t\t}\n\n\t\treturn Math.round(((r - 8) / 247) * 24) + 232;\n\t}\n\n\tconst ansi = 16\n\t\t+ (36 * Math.round(r / 255 * 5))\n\t\t+ (6 * Math.round(g / 255 * 5))\n\t\t+ Math.round(b / 255 * 5);\n\n\treturn ansi;\n};\n\nconvert.ansi16.rgb = function (args) {\n\tlet color = args % 10;\n\n\t// Handle greyscale\n\tif (color === 0 || color === 7) {\n\t\tif (args > 50) {\n\t\t\tcolor += 3.5;\n\t\t}\n\n\t\tcolor = color / 10.5 * 255;\n\n\t\treturn [color, color, color];\n\t}\n\n\tconst mult = (~~(args > 50) + 1) * 0.5;\n\tconst r = ((color & 1) * mult) * 255;\n\tconst g = (((color >> 1) & 1) * mult) * 255;\n\tconst b = (((color >> 2) & 1) * mult) * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.ansi256.rgb = function (args) {\n\t// Handle greyscale\n\tif (args >= 232) {\n\t\tconst c = (args - 232) * 10 + 8;\n\t\treturn [c, c, c];\n\t}\n\n\targs -= 16;\n\n\tlet rem;\n\tconst r = Math.floor(args / 36) / 5 * 255;\n\tconst g = Math.floor((rem = args % 36) / 6) / 5 * 255;\n\tconst b = (rem % 6) / 5 * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hex = function (args) {\n\tconst integer = ((Math.round(args[0]) & 0xFF) << 16)\n\t\t+ ((Math.round(args[1]) & 0xFF) << 8)\n\t\t+ (Math.round(args[2]) & 0xFF);\n\n\tconst string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.hex.rgb = function (args) {\n\tconst match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);\n\tif (!match) {\n\t\treturn [0, 0, 0];\n\t}\n\n\tlet colorString = match[0];\n\n\tif (match[0].length === 3) {\n\t\tcolorString = colorString.split('').map(char => {\n\t\t\treturn char + char;\n\t\t}).join('');\n\t}\n\n\tconst integer = parseInt(colorString, 16);\n\tconst r = (integer >> 16) & 0xFF;\n\tconst g = (integer >> 8) & 0xFF;\n\tconst b = integer & 0xFF;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hcg = function (rgb) {\n\tconst r = rgb[0] / 255;\n\tconst g = rgb[1] / 255;\n\tconst b = rgb[2] / 255;\n\tconst max = Math.max(Math.max(r, g), b);\n\tconst min = Math.min(Math.min(r, g), b);\n\tconst chroma = (max - min);\n\tlet grayscale;\n\tlet hue;\n\n\tif (chroma < 1) {\n\t\tgrayscale = min / (1 - chroma);\n\t} else {\n\t\tgrayscale = 0;\n\t}\n\n\tif (chroma <= 0) {\n\t\thue = 0;\n\t} else\n\tif (max === r) {\n\t\thue = ((g - b) / chroma) % 6;\n\t} else\n\tif (max === g) {\n\t\thue = 2 + (b - r) / chroma;\n\t} else {\n\t\thue = 4 + (r - g) / chroma;\n\t}\n\n\thue /= 6;\n\thue %= 1;\n\n\treturn [hue * 360, chroma * 100, grayscale * 100];\n};\n\nconvert.hsl.hcg = function (hsl) {\n\tconst s = hsl[1] / 100;\n\tconst l = hsl[2] / 100;\n\n\tconst c = l < 0.5 ? (2.0 * s * l) : (2.0 * s * (1.0 - l));\n\n\tlet f = 0;\n\tif (c < 1.0) {\n\t\tf = (l - 0.5 * c) / (1.0 - c);\n\t}\n\n\treturn [hsl[0], c * 100, f * 100];\n};\n\nconvert.hsv.hcg = function (hsv) {\n\tconst s = hsv[1] / 100;\n\tconst v = hsv[2] / 100;\n\n\tconst c = s * v;\n\tlet f = 0;\n\n\tif (c < 1.0) {\n\t\tf = (v - c) / (1 - c);\n\t}\n\n\treturn [hsv[0], c * 100, f * 100];\n};\n\nconvert.hcg.rgb = function (hcg) {\n\tconst h = hcg[0] / 360;\n\tconst c = hcg[1] / 100;\n\tconst g = hcg[2] / 100;\n\n\tif (c === 0.0) {\n\t\treturn [g * 255, g * 255, g * 255];\n\t}\n\n\tconst pure = [0, 0, 0];\n\tconst hi = (h % 1) * 6;\n\tconst v = hi % 1;\n\tconst w = 1 - v;\n\tlet mg = 0;\n\n\t/* eslint-disable max-statements-per-line */\n\tswitch (Math.floor(hi)) {\n\t\tcase 0:\n\t\t\tpure[0] = 1; pure[1] = v; pure[2] = 0; break;\n\t\tcase 1:\n\t\t\tpure[0] = w; pure[1] = 1; pure[2] = 0; break;\n\t\tcase 2:\n\t\t\tpure[0] = 0; pure[1] = 1; pure[2] = v; break;\n\t\tcase 3:\n\t\t\tpure[0] = 0; pure[1] = w; pure[2] = 1; break;\n\t\tcase 4:\n\t\t\tpure[0] = v; pure[1] = 0; pure[2] = 1; break;\n\t\tdefault:\n\t\t\tpure[0] = 1; pure[1] = 0; pure[2] = w;\n\t}\n\t/* eslint-enable max-statements-per-line */\n\n\tmg = (1.0 - c) * g;\n\n\treturn [\n\t\t(c * pure[0] + mg) * 255,\n\t\t(c * pure[1] + mg) * 255,\n\t\t(c * pure[2] + mg) * 255\n\t];\n};\n\nconvert.hcg.hsv = function (hcg) {\n\tconst c = hcg[1] / 100;\n\tconst g = hcg[2] / 100;\n\n\tconst v = c + g * (1.0 - c);\n\tlet f = 0;\n\n\tif (v > 0.0) {\n\t\tf = c / v;\n\t}\n\n\treturn [hcg[0], f * 100, v * 100];\n};\n\nconvert.hcg.hsl = function (hcg) {\n\tconst c = hcg[1] / 100;\n\tconst g = hcg[2] / 100;\n\n\tconst l = g * (1.0 - c) + 0.5 * c;\n\tlet s = 0;\n\n\tif (l > 0.0 && l < 0.5) {\n\t\ts = c / (2 * l);\n\t} else\n\tif (l >= 0.5 && l < 1.0) {\n\t\ts = c / (2 * (1 - l));\n\t}\n\n\treturn [hcg[0], s * 100, l * 100];\n};\n\nconvert.hcg.hwb = function (hcg) {\n\tconst c = hcg[1] / 100;\n\tconst g = hcg[2] / 100;\n\tconst v = c + g * (1.0 - c);\n\treturn [hcg[0], (v - c) * 100, (1 - v) * 100];\n};\n\nconvert.hwb.hcg = function (hwb) {\n\tconst w = hwb[1] / 100;\n\tconst b = hwb[2] / 100;\n\tconst v = 1 - b;\n\tconst c = v - w;\n\tlet g = 0;\n\n\tif (c < 1) {\n\t\tg = (v - c) / (1 - c);\n\t}\n\n\treturn [hwb[0], c * 100, g * 100];\n};\n\nconvert.apple.rgb = function (apple) {\n\treturn [(apple[0] / 65535) * 255, (apple[1] / 65535) * 255, (apple[2] / 65535) * 255];\n};\n\nconvert.rgb.apple = function (rgb) {\n\treturn [(rgb[0] / 255) * 65535, (rgb[1] / 255) * 65535, (rgb[2] / 255) * 65535];\n};\n\nconvert.gray.rgb = function (args) {\n\treturn [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255];\n};\n\nconvert.gray.hsl = function (args) {\n\treturn [0, 0, args[0]];\n};\n\nconvert.gray.hsv = convert.gray.hsl;\n\nconvert.gray.hwb = function (gray) {\n\treturn [0, 100, gray[0]];\n};\n\nconvert.gray.cmyk = function (gray) {\n\treturn [0, 0, 0, gray[0]];\n};\n\nconvert.gray.lab = function (gray) {\n\treturn [gray[0], 0, 0];\n};\n\nconvert.gray.hex = function (gray) {\n\tconst val = Math.round(gray[0] / 100 * 255) & 0xFF;\n\tconst integer = (val << 16) + (val << 8) + val;\n\n\tconst string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.rgb.gray = function (rgb) {\n\tconst val = (rgb[0] + rgb[1] + rgb[2]) / 3;\n\treturn [val / 255 * 100];\n};\n","const conversions = require('./conversions');\nconst route = require('./route');\n\nconst convert = {};\n\nconst models = Object.keys(conversions);\n\nfunction wrapRaw(fn) {\n\tconst wrappedFn = function (...args) {\n\t\tconst arg0 = args[0];\n\t\tif (arg0 === undefined || arg0 === null) {\n\t\t\treturn arg0;\n\t\t}\n\n\t\tif (arg0.length > 1) {\n\t\t\targs = arg0;\n\t\t}\n\n\t\treturn fn(args);\n\t};\n\n\t// Preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nfunction wrapRounded(fn) {\n\tconst wrappedFn = function (...args) {\n\t\tconst arg0 = args[0];\n\n\t\tif (arg0 === undefined || arg0 === null) {\n\t\t\treturn arg0;\n\t\t}\n\n\t\tif (arg0.length > 1) {\n\t\t\targs = arg0;\n\t\t}\n\n\t\tconst result = fn(args);\n\n\t\t// We're assuming the result is an array here.\n\t\t// see notice in conversions.js; don't use box types\n\t\t// in conversion functions.\n\t\tif (typeof result === 'object') {\n\t\t\tfor (let len = result.length, i = 0; i < len; i++) {\n\t\t\t\tresult[i] = Math.round(result[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t};\n\n\t// Preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nmodels.forEach(fromModel => {\n\tconvert[fromModel] = {};\n\n\tObject.defineProperty(convert[fromModel], 'channels', {value: conversions[fromModel].channels});\n\tObject.defineProperty(convert[fromModel], 'labels', {value: conversions[fromModel].labels});\n\n\tconst routes = route(fromModel);\n\tconst routeModels = Object.keys(routes);\n\n\trouteModels.forEach(toModel => {\n\t\tconst fn = routes[toModel];\n\n\t\tconvert[fromModel][toModel] = wrapRounded(fn);\n\t\tconvert[fromModel][toModel].raw = wrapRaw(fn);\n\t});\n});\n\nmodule.exports = convert;\n","const conversions = require('./conversions');\n\n/*\n\tThis function routes a model to all other models.\n\n\tall functions that are routed have a property `.conversion` attached\n\tto the returned synthetic function. This property is an array\n\tof strings, each with the steps in between the 'from' and 'to'\n\tcolor models (inclusive).\n\n\tconversions that are not possible simply are not included.\n*/\n\nfunction buildGraph() {\n\tconst graph = {};\n\t// https://jsperf.com/object-keys-vs-for-in-with-closure/3\n\tconst models = Object.keys(conversions);\n\n\tfor (let len = models.length, i = 0; i < len; i++) {\n\t\tgraph[models[i]] = {\n\t\t\t// http://jsperf.com/1-vs-infinity\n\t\t\t// micro-opt, but this is simple.\n\t\t\tdistance: -1,\n\t\t\tparent: null\n\t\t};\n\t}\n\n\treturn graph;\n}\n\n// https://en.wikipedia.org/wiki/Breadth-first_search\nfunction deriveBFS(fromModel) {\n\tconst graph = buildGraph();\n\tconst queue = [fromModel]; // Unshift -> queue -> pop\n\n\tgraph[fromModel].distance = 0;\n\n\twhile (queue.length) {\n\t\tconst current = queue.pop();\n\t\tconst adjacents = Object.keys(conversions[current]);\n\n\t\tfor (let len = adjacents.length, i = 0; i < len; i++) {\n\t\t\tconst adjacent = adjacents[i];\n\t\t\tconst node = graph[adjacent];\n\n\t\t\tif (node.distance === -1) {\n\t\t\t\tnode.distance = graph[current].distance + 1;\n\t\t\t\tnode.parent = current;\n\t\t\t\tqueue.unshift(adjacent);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn graph;\n}\n\nfunction link(from, to) {\n\treturn function (args) {\n\t\treturn to(from(args));\n\t};\n}\n\nfunction wrapConversion(toModel, graph) {\n\tconst path = [graph[toModel].parent, toModel];\n\tlet fn = conversions[graph[toModel].parent][toModel];\n\n\tlet cur = graph[toModel].parent;\n\twhile (graph[cur].parent) {\n\t\tpath.unshift(graph[cur].parent);\n\t\tfn = link(conversions[graph[cur].parent][cur], fn);\n\t\tcur = graph[cur].parent;\n\t}\n\n\tfn.conversion = path;\n\treturn fn;\n}\n\nmodule.exports = function (fromModel) {\n\tconst graph = deriveBFS(fromModel);\n\tconst conversion = {};\n\n\tconst models = Object.keys(graph);\n\tfor (let len = models.length, i = 0; i < len; i++) {\n\t\tconst toModel = models[i];\n\t\tconst node = graph[toModel];\n\n\t\tif (node.parent === null) {\n\t\t\t// No possible conversion, or this node is the source model.\n\t\t\tcontinue;\n\t\t}\n\n\t\tconversion[toModel] = wrapConversion(toModel, graph);\n\t}\n\n\treturn conversion;\n};\n\n","'use strict'\r\n\r\nmodule.exports = {\r\n\t\"aliceblue\": [240, 248, 255],\r\n\t\"antiquewhite\": [250, 235, 215],\r\n\t\"aqua\": [0, 255, 255],\r\n\t\"aquamarine\": [127, 255, 212],\r\n\t\"azure\": [240, 255, 255],\r\n\t\"beige\": [245, 245, 220],\r\n\t\"bisque\": [255, 228, 196],\r\n\t\"black\": [0, 0, 0],\r\n\t\"blanchedalmond\": [255, 235, 205],\r\n\t\"blue\": [0, 0, 255],\r\n\t\"blueviolet\": [138, 43, 226],\r\n\t\"brown\": [165, 42, 42],\r\n\t\"burlywood\": [222, 184, 135],\r\n\t\"cadetblue\": [95, 158, 160],\r\n\t\"chartreuse\": [127, 255, 0],\r\n\t\"chocolate\": [210, 105, 30],\r\n\t\"coral\": [255, 127, 80],\r\n\t\"cornflowerblue\": [100, 149, 237],\r\n\t\"cornsilk\": [255, 248, 220],\r\n\t\"crimson\": [220, 20, 60],\r\n\t\"cyan\": [0, 255, 255],\r\n\t\"darkblue\": [0, 0, 139],\r\n\t\"darkcyan\": [0, 139, 139],\r\n\t\"darkgoldenrod\": [184, 134, 11],\r\n\t\"darkgray\": [169, 169, 169],\r\n\t\"darkgreen\": [0, 100, 0],\r\n\t\"darkgrey\": [169, 169, 169],\r\n\t\"darkkhaki\": [189, 183, 107],\r\n\t\"darkmagenta\": [139, 0, 139],\r\n\t\"darkolivegreen\": [85, 107, 47],\r\n\t\"darkorange\": [255, 140, 0],\r\n\t\"darkorchid\": [153, 50, 204],\r\n\t\"darkred\": [139, 0, 0],\r\n\t\"darksalmon\": [233, 150, 122],\r\n\t\"darkseagreen\": [143, 188, 143],\r\n\t\"darkslateblue\": [72, 61, 139],\r\n\t\"darkslategray\": [47, 79, 79],\r\n\t\"darkslategrey\": [47, 79, 79],\r\n\t\"darkturquoise\": [0, 206, 209],\r\n\t\"darkviolet\": [148, 0, 211],\r\n\t\"deeppink\": [255, 20, 147],\r\n\t\"deepskyblue\": [0, 191, 255],\r\n\t\"dimgray\": [105, 105, 105],\r\n\t\"dimgrey\": [105, 105, 105],\r\n\t\"dodgerblue\": [30, 144, 255],\r\n\t\"firebrick\": [178, 34, 34],\r\n\t\"floralwhite\": [255, 250, 240],\r\n\t\"forestgreen\": [34, 139, 34],\r\n\t\"fuchsia\": [255, 0, 255],\r\n\t\"gainsboro\": [220, 220, 220],\r\n\t\"ghostwhite\": [248, 248, 255],\r\n\t\"gold\": [255, 215, 0],\r\n\t\"goldenrod\": [218, 165, 32],\r\n\t\"gray\": [128, 128, 128],\r\n\t\"green\": [0, 128, 0],\r\n\t\"greenyellow\": [173, 255, 47],\r\n\t\"grey\": [128, 128, 128],\r\n\t\"honeydew\": [240, 255, 240],\r\n\t\"hotpink\": [255, 105, 180],\r\n\t\"indianred\": [205, 92, 92],\r\n\t\"indigo\": [75, 0, 130],\r\n\t\"ivory\": [255, 255, 240],\r\n\t\"khaki\": [240, 230, 140],\r\n\t\"lavender\": [230, 230, 250],\r\n\t\"lavenderblush\": [255, 240, 245],\r\n\t\"lawngreen\": [124, 252, 0],\r\n\t\"lemonchiffon\": [255, 250, 205],\r\n\t\"lightblue\": [173, 216, 230],\r\n\t\"lightcoral\": [240, 128, 128],\r\n\t\"lightcyan\": [224, 255, 255],\r\n\t\"lightgoldenrodyellow\": [250, 250, 210],\r\n\t\"lightgray\": [211, 211, 211],\r\n\t\"lightgreen\": [144, 238, 144],\r\n\t\"lightgrey\": [211, 211, 211],\r\n\t\"lightpink\": [255, 182, 193],\r\n\t\"lightsalmon\": [255, 160, 122],\r\n\t\"lightseagreen\": [32, 178, 170],\r\n\t\"lightskyblue\": [135, 206, 250],\r\n\t\"lightslategray\": [119, 136, 153],\r\n\t\"lightslategrey\": [119, 136, 153],\r\n\t\"lightsteelblue\": [176, 196, 222],\r\n\t\"lightyellow\": [255, 255, 224],\r\n\t\"lime\": [0, 255, 0],\r\n\t\"limegreen\": [50, 205, 50],\r\n\t\"linen\": [250, 240, 230],\r\n\t\"magenta\": [255, 0, 255],\r\n\t\"maroon\": [128, 0, 0],\r\n\t\"mediumaquamarine\": [102, 205, 170],\r\n\t\"mediumblue\": [0, 0, 205],\r\n\t\"mediumorchid\": [186, 85, 211],\r\n\t\"mediumpurple\": [147, 112, 219],\r\n\t\"mediumseagreen\": [60, 179, 113],\r\n\t\"mediumslateblue\": [123, 104, 238],\r\n\t\"mediumspringgreen\": [0, 250, 154],\r\n\t\"mediumturquoise\": [72, 209, 204],\r\n\t\"mediumvioletred\": [199, 21, 133],\r\n\t\"midnightblue\": [25, 25, 112],\r\n\t\"mintcream\": [245, 255, 250],\r\n\t\"mistyrose\": [255, 228, 225],\r\n\t\"moccasin\": [255, 228, 181],\r\n\t\"navajowhite\": [255, 222, 173],\r\n\t\"navy\": [0, 0, 128],\r\n\t\"oldlace\": [253, 245, 230],\r\n\t\"olive\": [128, 128, 0],\r\n\t\"olivedrab\": [107, 142, 35],\r\n\t\"orange\": [255, 165, 0],\r\n\t\"orangered\": [255, 69, 0],\r\n\t\"orchid\": [218, 112, 214],\r\n\t\"palegoldenrod\": [238, 232, 170],\r\n\t\"palegreen\": [152, 251, 152],\r\n\t\"paleturquoise\": [175, 238, 238],\r\n\t\"palevioletred\": [219, 112, 147],\r\n\t\"papayawhip\": [255, 239, 213],\r\n\t\"peachpuff\": [255, 218, 185],\r\n\t\"peru\": [205, 133, 63],\r\n\t\"pink\": [255, 192, 203],\r\n\t\"plum\": [221, 160, 221],\r\n\t\"powderblue\": [176, 224, 230],\r\n\t\"purple\": [128, 0, 128],\r\n\t\"rebeccapurple\": [102, 51, 153],\r\n\t\"red\": [255, 0, 0],\r\n\t\"rosybrown\": [188, 143, 143],\r\n\t\"royalblue\": [65, 105, 225],\r\n\t\"saddlebrown\": [139, 69, 19],\r\n\t\"salmon\": [250, 128, 114],\r\n\t\"sandybrown\": [244, 164, 96],\r\n\t\"seagreen\": [46, 139, 87],\r\n\t\"seashell\": [255, 245, 238],\r\n\t\"sienna\": [160, 82, 45],\r\n\t\"silver\": [192, 192, 192],\r\n\t\"skyblue\": [135, 206, 235],\r\n\t\"slateblue\": [106, 90, 205],\r\n\t\"slategray\": [112, 128, 144],\r\n\t\"slategrey\": [112, 128, 144],\r\n\t\"snow\": [255, 250, 250],\r\n\t\"springgreen\": [0, 255, 127],\r\n\t\"steelblue\": [70, 130, 180],\r\n\t\"tan\": [210, 180, 140],\r\n\t\"teal\": [0, 128, 128],\r\n\t\"thistle\": [216, 191, 216],\r\n\t\"tomato\": [255, 99, 71],\r\n\t\"turquoise\": [64, 224, 208],\r\n\t\"violet\": [238, 130, 238],\r\n\t\"wheat\": [245, 222, 179],\r\n\t\"white\": [255, 255, 255],\r\n\t\"whitesmoke\": [245, 245, 245],\r\n\t\"yellow\": [255, 255, 0],\r\n\t\"yellowgreen\": [154, 205, 50]\r\n};\r\n","module.exports = function deepFreeze (o) {\n Object.freeze(o);\n\n Object.getOwnPropertyNames(o).forEach(function (prop) {\n if (o.hasOwnProperty(prop)\n && o[prop] !== null\n && (typeof o[prop] === \"object\" || typeof o[prop] === \"function\")\n && !Object.isFrozen(o[prop])) {\n deepFreeze(o[prop]);\n }\n });\n \n return o;\n};\n","'use strict';\n\nvar has = Object.prototype.hasOwnProperty\n , prefix = '~';\n\n/**\n * Constructor to create a storage for our `EE` objects.\n * An `Events` instance is a plain object whose properties are event names.\n *\n * @constructor\n * @private\n */\nfunction Events() {}\n\n//\n// We try to not inherit from `Object.prototype`. In some engines creating an\n// instance in this way is faster than calling `Object.create(null)` directly.\n// If `Object.create(null)` is not supported we prefix the event names with a\n// character to make sure that the built-in object properties are not\n// overridden or used as an attack vector.\n//\nif (Object.create) {\n Events.prototype = Object.create(null);\n\n //\n // This hack is needed because the `__proto__` property is still inherited in\n // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n //\n if (!new Events().__proto__) prefix = false;\n}\n\n/**\n * Representation of a single event listener.\n *\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n * @constructor\n * @private\n */\nfunction EE(fn, context, once) {\n this.fn = fn;\n this.context = context;\n this.once = once || false;\n}\n\n/**\n * Add a listener for a given event.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} once Specify if the listener is a one-time listener.\n * @returns {EventEmitter}\n * @private\n */\nfunction addListener(emitter, event, fn, context, once) {\n if (typeof fn !== 'function') {\n throw new TypeError('The listener must be a function');\n }\n\n var listener = new EE(fn, context || emitter, once)\n , evt = prefix ? prefix + event : event;\n\n if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;\n else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);\n else emitter._events[evt] = [emitter._events[evt], listener];\n\n return emitter;\n}\n\n/**\n * Clear event by name.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} evt The Event name.\n * @private\n */\nfunction clearEvent(emitter, evt) {\n if (--emitter._eventsCount === 0) emitter._events = new Events();\n else delete emitter._events[evt];\n}\n\n/**\n * Minimal `EventEmitter` interface that is molded against the Node.js\n * `EventEmitter` interface.\n *\n * @constructor\n * @public\n */\nfunction EventEmitter() {\n this._events = new Events();\n this._eventsCount = 0;\n}\n\n/**\n * Return an array listing the events for which the emitter has registered\n * listeners.\n *\n * @returns {Array}\n * @public\n */\nEventEmitter.prototype.eventNames = function eventNames() {\n var names = []\n , events\n , name;\n\n if (this._eventsCount === 0) return names;\n\n for (name in (events = this._events)) {\n if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n }\n\n if (Object.getOwnPropertySymbols) {\n return names.concat(Object.getOwnPropertySymbols(events));\n }\n\n return names;\n};\n\n/**\n * Return the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Array} The registered listeners.\n * @public\n */\nEventEmitter.prototype.listeners = function listeners(event) {\n var evt = prefix ? prefix + event : event\n , handlers = this._events[evt];\n\n if (!handlers) return [];\n if (handlers.fn) return [handlers.fn];\n\n for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {\n ee[i] = handlers[i].fn;\n }\n\n return ee;\n};\n\n/**\n * Return the number of listeners listening to a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Number} The number of listeners.\n * @public\n */\nEventEmitter.prototype.listenerCount = function listenerCount(event) {\n var evt = prefix ? prefix + event : event\n , listeners = this._events[evt];\n\n if (!listeners) return 0;\n if (listeners.fn) return 1;\n return listeners.length;\n};\n\n/**\n * Calls each of the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Boolean} `true` if the event had listeners, else `false`.\n * @public\n */\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return false;\n\n var listeners = this._events[evt]\n , len = arguments.length\n , args\n , i;\n\n if (listeners.fn) {\n if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n switch (len) {\n case 1: return listeners.fn.call(listeners.context), true;\n case 2: return listeners.fn.call(listeners.context, a1), true;\n case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n }\n\n for (i = 1, args = new Array(len -1); i < len; i++) {\n args[i - 1] = arguments[i];\n }\n\n listeners.fn.apply(listeners.context, args);\n } else {\n var length = listeners.length\n , j;\n\n for (i = 0; i < length; i++) {\n if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n switch (len) {\n case 1: listeners[i].fn.call(listeners[i].context); break;\n case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\n default:\n if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n args[j - 1] = arguments[j];\n }\n\n listeners[i].fn.apply(listeners[i].context, args);\n }\n }\n }\n\n return true;\n};\n\n/**\n * Add a listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.on = function on(event, fn, context) {\n return addListener(this, event, fn, context, false);\n};\n\n/**\n * Add a one-time listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.once = function once(event, fn, context) {\n return addListener(this, event, fn, context, true);\n};\n\n/**\n * Remove the listeners of a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn Only remove the listeners that match this function.\n * @param {*} context Only remove the listeners that have this context.\n * @param {Boolean} once Only remove one-time listeners.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return this;\n if (!fn) {\n clearEvent(this, evt);\n return this;\n }\n\n var listeners = this._events[evt];\n\n if (listeners.fn) {\n if (\n listeners.fn === fn &&\n (!once || listeners.once) &&\n (!context || listeners.context === context)\n ) {\n clearEvent(this, evt);\n }\n } else {\n for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n if (\n listeners[i].fn !== fn ||\n (once && !listeners[i].once) ||\n (context && listeners[i].context !== context)\n ) {\n events.push(listeners[i]);\n }\n }\n\n //\n // Reset the array, or remove it completely if we have no more listeners.\n //\n if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n else clearEvent(this, evt);\n }\n\n return this;\n};\n\n/**\n * Remove all listeners, or those of the specified event.\n *\n * @param {(String|Symbol)} [event] The event name.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n var evt;\n\n if (event) {\n evt = prefix ? prefix + event : event;\n if (this._events[evt]) clearEvent(this, evt);\n } else {\n this._events = new Events();\n this._eventsCount = 0;\n }\n\n return this;\n};\n\n//\n// Alias methods names because people roll like that.\n//\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n//\n// Expose the prefix.\n//\nEventEmitter.prefixed = prefix;\n\n//\n// Allow `EventEmitter` to be imported as module namespace.\n//\nEventEmitter.EventEmitter = EventEmitter;\n\n//\n// Expose the module.\n//\nif ('undefined' !== typeof module) {\n module.exports = EventEmitter;\n}\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.default = filterInvalidDOMProps;\n\nvar _htmlAttributes = require(\"html-attributes\");\n\nvar _htmlAttributes2 = _interopRequireDefault(_htmlAttributes);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar eventProps = {\n\tonCopy: true,\n\tonCut: true,\n\tonPaste: true,\n\tonLoad: true,\n\tonError: true,\n\tonWheel: true,\n\tonScroll: true,\n\tonCompositionEnd: true,\n\tonCompositionStart: true,\n\tonCompositionUpdate: true,\n\tonKeyDown: true,\n\tonKeyPress: true,\n\tonKeyUp: true,\n\tonFocus: true,\n\tonBlur: true,\n\tonChange: true,\n\tonInput: true,\n\tonSubmit: true,\n\tonClick: true,\n\tonContextMenu: true,\n\tonDoubleClick: true,\n\tonDrag: true,\n\tonDragEnd: true,\n\tonDragEnter: true,\n\tonDragExit: true,\n\tonDragLeave: true,\n\tonDragOver: true,\n\tonDragStart: true,\n\tonDrop: true,\n\tonMouseDown: true,\n\tonMouseEnter: true,\n\tonMouseLeave: true,\n\tonMouseMove: true,\n\tonMouseOut: true,\n\tonMouseOver: true,\n\tonMouseUp: true,\n\tonSelect: true,\n\tonTouchCancel: true,\n\tonTouchEnd: true,\n\tonTouchMove: true,\n\tonTouchStart: true,\n\tonAnimationStart: true,\n\tonAnimationEnd: true,\n\tonAnimationIteration: true,\n\tonTransitionEnd: true\n};\n\nfunction isValidDOMProp(prop) {\n\treturn eventProps[prop] || _htmlAttributes2.default[prop] || /^(data|aria)-/.test(prop);\n}\n\nfunction filterInvalidDOMProps(props) {\n\tvar domProps = {};\n\tfor (var prop in props) {\n\t\tif (props.hasOwnProperty(prop) && isValidDOMProp(prop)) {\n\t\t\tdomProps[prop] = props[prop];\n\t\t}\n\t}\n\treturn domProps;\n}","var hat = module.exports = function (bits, base) {\n if (!base) base = 16;\n if (bits === undefined) bits = 128;\n if (bits <= 0) return '0';\n \n var digits = Math.log(Math.pow(2, bits)) / Math.log(base);\n for (var i = 2; digits === Infinity; i *= 2) {\n digits = Math.log(Math.pow(2, bits / i)) / Math.log(base) * i;\n }\n \n var rem = digits - Math.floor(digits);\n \n var res = '';\n \n for (var i = 0; i < Math.floor(digits); i++) {\n var x = Math.floor(Math.random() * base).toString(base);\n res = x + res;\n }\n \n if (rem) {\n var b = Math.pow(base, rem);\n var x = Math.floor(Math.random() * b).toString(base);\n res = x + res;\n }\n \n var parsed = parseInt(res, base);\n if (parsed !== Infinity && parsed >= Math.pow(2, bits)) {\n return hat(bits, base)\n }\n else return res;\n};\n\nhat.rack = function (bits, base, expandBy) {\n var fn = function (data) {\n var iters = 0;\n do {\n if (iters ++ > 10) {\n if (expandBy) bits += expandBy;\n else throw new Error('too many ID collisions, use more bits')\n }\n \n var id = hat(bits, base);\n } while (Object.hasOwnProperty.call(hats, id));\n \n hats[id] = data;\n return id;\n };\n var hats = fn.hats = {};\n \n fn.get = function (id) {\n return fn.hats[id];\n };\n \n fn.set = function (id, value) {\n fn.hats[id] = value;\n return fn;\n };\n \n fn.bits = bits || 128;\n fn.base = base || 16;\n return fn;\n};\n","(function __HLS_WORKER_BUNDLE__(__IN_WORKER__){\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Hls = factory());\n})(this, (function () { 'use strict';\n\n function ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n }\n function _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n _defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n }\n function _toPrimitive(t, r) {\n if (\"object\" != typeof t || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n }\n function _toPropertyKey(t) {\n var i = _toPrimitive(t, \"string\");\n return \"symbol\" == typeof i ? i : String(i);\n }\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);\n }\n }\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n }\n function _defineProperty(obj, key, value) {\n key = _toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n }\n function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n }\n function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n _setPrototypeOf(subClass, superClass);\n }\n function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n }\n function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n }\n function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n }\n function _construct(Parent, args, Class) {\n if (_isNativeReflectConstruct()) {\n _construct = Reflect.construct.bind();\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) _setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n return _construct.apply(null, arguments);\n }\n function _isNativeFunction(fn) {\n try {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n } catch (e) {\n return typeof fn === \"function\";\n }\n }\n function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !_isNativeFunction(Class)) return Class;\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return _construct(Class, arguments, _getPrototypeOf(this).constructor);\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return _setPrototypeOf(Wrapper, Class);\n };\n return _wrapNativeSuper(Class);\n }\n function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n }\n function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n }\n function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n }\n function _createForOfIteratorHelperLoose(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n if (it) return (it = it.call(o)).next.bind(it);\n if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n return function () {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n };\n }\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n function getDefaultExportFromCjs (x) {\n \treturn x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;\n }\n\n var urlToolkit = {exports: {}};\n\n (function (module, exports) {\n \t// see https://tools.ietf.org/html/rfc1808\n\n \t(function (root) {\n \t var URL_REGEX =\n \t /^(?=((?:[a-zA-Z0-9+\\-.]+:)?))\\1(?=((?:\\/\\/[^\\/?#]*)?))\\2(?=((?:(?:[^?#\\/]*\\/)*[^;?#\\/]*)?))\\3((?:;[^?#]*)?)(\\?[^#]*)?(#[^]*)?$/;\n \t var FIRST_SEGMENT_REGEX = /^(?=([^\\/?#]*))\\1([^]*)$/;\n \t var SLASH_DOT_REGEX = /(?:\\/|^)\\.(?=\\/)/g;\n \t var SLASH_DOT_DOT_REGEX = /(?:\\/|^)\\.\\.\\/(?!\\.\\.\\/)[^\\/]*(?=\\/)/g;\n\n \t var URLToolkit = {\n \t // If opts.alwaysNormalize is true then the path will always be normalized even when it starts with / or //\n \t // E.g\n \t // With opts.alwaysNormalize = false (default, spec compliant)\n \t // http://a.com/b/cd + /e/f/../g => http://a.com/e/f/../g\n \t // With opts.alwaysNormalize = true (not spec compliant)\n \t // http://a.com/b/cd + /e/f/../g => http://a.com/e/g\n \t buildAbsoluteURL: function (baseURL, relativeURL, opts) {\n \t opts = opts || {};\n \t // remove any remaining space and CRLF\n \t baseURL = baseURL.trim();\n \t relativeURL = relativeURL.trim();\n \t if (!relativeURL) {\n \t // 2a) If the embedded URL is entirely empty, it inherits the\n \t // entire base URL (i.e., is set equal to the base URL)\n \t // and we are done.\n \t if (!opts.alwaysNormalize) {\n \t return baseURL;\n \t }\n \t var basePartsForNormalise = URLToolkit.parseURL(baseURL);\n \t if (!basePartsForNormalise) {\n \t throw new Error('Error trying to parse base URL.');\n \t }\n \t basePartsForNormalise.path = URLToolkit.normalizePath(\n \t basePartsForNormalise.path\n \t );\n \t return URLToolkit.buildURLFromParts(basePartsForNormalise);\n \t }\n \t var relativeParts = URLToolkit.parseURL(relativeURL);\n \t if (!relativeParts) {\n \t throw new Error('Error trying to parse relative URL.');\n \t }\n \t if (relativeParts.scheme) {\n \t // 2b) If the embedded URL starts with a scheme name, it is\n \t // interpreted as an absolute URL and we are done.\n \t if (!opts.alwaysNormalize) {\n \t return relativeURL;\n \t }\n \t relativeParts.path = URLToolkit.normalizePath(relativeParts.path);\n \t return URLToolkit.buildURLFromParts(relativeParts);\n \t }\n \t var baseParts = URLToolkit.parseURL(baseURL);\n \t if (!baseParts) {\n \t throw new Error('Error trying to parse base URL.');\n \t }\n \t if (!baseParts.netLoc && baseParts.path && baseParts.path[0] !== '/') {\n \t // If netLoc missing and path doesn't start with '/', assume everthing before the first '/' is the netLoc\n \t // This causes 'example.com/a' to be handled as '//example.com/a' instead of '/example.com/a'\n \t var pathParts = FIRST_SEGMENT_REGEX.exec(baseParts.path);\n \t baseParts.netLoc = pathParts[1];\n \t baseParts.path = pathParts[2];\n \t }\n \t if (baseParts.netLoc && !baseParts.path) {\n \t baseParts.path = '/';\n \t }\n \t var builtParts = {\n \t // 2c) Otherwise, the embedded URL inherits the scheme of\n \t // the base URL.\n \t scheme: baseParts.scheme,\n \t netLoc: relativeParts.netLoc,\n \t path: null,\n \t params: relativeParts.params,\n \t query: relativeParts.query,\n \t fragment: relativeParts.fragment,\n \t };\n \t if (!relativeParts.netLoc) {\n \t // 3) If the embedded URL's <net_loc> is non-empty, we skip to\n \t // Step 7. Otherwise, the embedded URL inherits the <net_loc>\n \t // (if any) of the base URL.\n \t builtParts.netLoc = baseParts.netLoc;\n \t // 4) If the embedded URL path is preceded by a slash \"/\", the\n \t // path is not relative and we skip to Step 7.\n \t if (relativeParts.path[0] !== '/') {\n \t if (!relativeParts.path) {\n \t // 5) If the embedded URL path is empty (and not preceded by a\n \t // slash), then the embedded URL inherits the base URL path\n \t builtParts.path = baseParts.path;\n \t // 5a) if the embedded URL's <params> is non-empty, we skip to\n \t // step 7; otherwise, it inherits the <params> of the base\n \t // URL (if any) and\n \t if (!relativeParts.params) {\n \t builtParts.params = baseParts.params;\n \t // 5b) if the embedded URL's <query> is non-empty, we skip to\n \t // step 7; otherwise, it inherits the <query> of the base\n \t // URL (if any) and we skip to step 7.\n \t if (!relativeParts.query) {\n \t builtParts.query = baseParts.query;\n \t }\n \t }\n \t } else {\n \t // 6) The last segment of the base URL's path (anything\n \t // following the rightmost slash \"/\", or the entire path if no\n \t // slash is present) is removed and the embedded URL's path is\n \t // appended in its place.\n \t var baseURLPath = baseParts.path;\n \t var newPath =\n \t baseURLPath.substring(0, baseURLPath.lastIndexOf('/') + 1) +\n \t relativeParts.path;\n \t builtParts.path = URLToolkit.normalizePath(newPath);\n \t }\n \t }\n \t }\n \t if (builtParts.path === null) {\n \t builtParts.path = opts.alwaysNormalize\n \t ? URLToolkit.normalizePath(relativeParts.path)\n \t : relativeParts.path;\n \t }\n \t return URLToolkit.buildURLFromParts(builtParts);\n \t },\n \t parseURL: function (url) {\n \t var parts = URL_REGEX.exec(url);\n \t if (!parts) {\n \t return null;\n \t }\n \t return {\n \t scheme: parts[1] || '',\n \t netLoc: parts[2] || '',\n \t path: parts[3] || '',\n \t params: parts[4] || '',\n \t query: parts[5] || '',\n \t fragment: parts[6] || '',\n \t };\n \t },\n \t normalizePath: function (path) {\n \t // The following operations are\n \t // then applied, in order, to the new path:\n \t // 6a) All occurrences of \"./\", where \".\" is a complete path\n \t // segment, are removed.\n \t // 6b) If the path ends with \".\" as a complete path segment,\n \t // that \".\" is removed.\n \t path = path.split('').reverse().join('').replace(SLASH_DOT_REGEX, '');\n \t // 6c) All occurrences of \"<segment>/../\", where <segment> is a\n \t // complete path segment not equal to \"..\", are removed.\n \t // Removal of these path segments is performed iteratively,\n \t // removing the leftmost matching pattern on each iteration,\n \t // until no matching pattern remains.\n \t // 6d) If the path ends with \"<segment>/..\", where <segment> is a\n \t // complete path segment not equal to \"..\", that\n \t // \"<segment>/..\" is removed.\n \t while (\n \t path.length !== (path = path.replace(SLASH_DOT_DOT_REGEX, '')).length\n \t ) {}\n \t return path.split('').reverse().join('');\n \t },\n \t buildURLFromParts: function (parts) {\n \t return (\n \t parts.scheme +\n \t parts.netLoc +\n \t parts.path +\n \t parts.params +\n \t parts.query +\n \t parts.fragment\n \t );\n \t },\n \t };\n\n \t module.exports = URLToolkit;\n \t})(); \n } (urlToolkit));\n\n var urlToolkitExports = urlToolkit.exports;\n\n // https://caniuse.com/mdn-javascript_builtins_number_isfinite\n var isFiniteNumber = Number.isFinite || function (value) {\n return typeof value === 'number' && isFinite(value);\n };\n\n // https://caniuse.com/mdn-javascript_builtins_number_issafeinteger\n var isSafeInteger = Number.isSafeInteger || function (value) {\n return typeof value === 'number' && Math.abs(value) <= MAX_SAFE_INTEGER;\n };\n var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991;\n\n var Events = /*#__PURE__*/function (Events) {\n Events[\"MEDIA_ATTACHING\"] = \"hlsMediaAttaching\";\n Events[\"MEDIA_ATTACHED\"] = \"hlsMediaAttached\";\n Events[\"MEDIA_DETACHING\"] = \"hlsMediaDetaching\";\n Events[\"MEDIA_DETACHED\"] = \"hlsMediaDetached\";\n Events[\"BUFFER_RESET\"] = \"hlsBufferReset\";\n Events[\"BUFFER_CODECS\"] = \"hlsBufferCodecs\";\n Events[\"BUFFER_CREATED\"] = \"hlsBufferCreated\";\n Events[\"BUFFER_APPENDING\"] = \"hlsBufferAppending\";\n Events[\"BUFFER_APPENDED\"] = \"hlsBufferAppended\";\n Events[\"BUFFER_EOS\"] = \"hlsBufferEos\";\n Events[\"BUFFER_FLUSHING\"] = \"hlsBufferFlushing\";\n Events[\"BUFFER_FLUSHED\"] = \"hlsBufferFlushed\";\n Events[\"MANIFEST_LOADING\"] = \"hlsManifestLoading\";\n Events[\"MANIFEST_LOADED\"] = \"hlsManifestLoaded\";\n Events[\"MANIFEST_PARSED\"] = \"hlsManifestParsed\";\n Events[\"LEVEL_SWITCHING\"] = \"hlsLevelSwitching\";\n Events[\"LEVEL_SWITCHED\"] = \"hlsLevelSwitched\";\n Events[\"LEVEL_LOADING\"] = \"hlsLevelLoading\";\n Events[\"LEVEL_LOADED\"] = \"hlsLevelLoaded\";\n Events[\"LEVEL_UPDATED\"] = \"hlsLevelUpdated\";\n Events[\"LEVEL_PTS_UPDATED\"] = \"hlsLevelPtsUpdated\";\n Events[\"LEVELS_UPDATED\"] = \"hlsLevelsUpdated\";\n Events[\"AUDIO_TRACKS_UPDATED\"] = \"hlsAudioTracksUpdated\";\n Events[\"AUDIO_TRACK_SWITCHING\"] = \"hlsAudioTrackSwitching\";\n Events[\"AUDIO_TRACK_SWITCHED\"] = \"hlsAudioTrackSwitched\";\n Events[\"AUDIO_TRACK_LOADING\"] = \"hlsAudioTrackLoading\";\n Events[\"AUDIO_TRACK_LOADED\"] = \"hlsAudioTrackLoaded\";\n Events[\"SUBTITLE_TRACKS_UPDATED\"] = \"hlsSubtitleTracksUpdated\";\n Events[\"SUBTITLE_TRACKS_CLEARED\"] = \"hlsSubtitleTracksCleared\";\n Events[\"SUBTITLE_TRACK_SWITCH\"] = \"hlsSubtitleTrackSwitch\";\n Events[\"SUBTITLE_TRACK_LOADING\"] = \"hlsSubtitleTrackLoading\";\n Events[\"SUBTITLE_TRACK_LOADED\"] = \"hlsSubtitleTrackLoaded\";\n Events[\"SUBTITLE_FRAG_PROCESSED\"] = \"hlsSubtitleFragProcessed\";\n Events[\"CUES_PARSED\"] = \"hlsCuesParsed\";\n Events[\"NON_NATIVE_TEXT_TRACKS_FOUND\"] = \"hlsNonNativeTextTracksFound\";\n Events[\"INIT_PTS_FOUND\"] = \"hlsInitPtsFound\";\n Events[\"FRAG_LOADING\"] = \"hlsFragLoading\";\n Events[\"FRAG_LOAD_EMERGENCY_ABORTED\"] = \"hlsFragLoadEmergencyAborted\";\n Events[\"FRAG_LOADED\"] = \"hlsFragLoaded\";\n Events[\"FRAG_DECRYPTED\"] = \"hlsFragDecrypted\";\n Events[\"FRAG_PARSING_INIT_SEGMENT\"] = \"hlsFragParsingInitSegment\";\n Events[\"FRAG_PARSING_USERDATA\"] = \"hlsFragParsingUserdata\";\n Events[\"FRAG_PARSING_METADATA\"] = \"hlsFragParsingMetadata\";\n Events[\"FRAG_PARSED\"] = \"hlsFragParsed\";\n Events[\"FRAG_BUFFERED\"] = \"hlsFragBuffered\";\n Events[\"FRAG_CHANGED\"] = \"hlsFragChanged\";\n Events[\"FPS_DROP\"] = \"hlsFpsDrop\";\n Events[\"FPS_DROP_LEVEL_CAPPING\"] = \"hlsFpsDropLevelCapping\";\n Events[\"MAX_AUTO_LEVEL_UPDATED\"] = \"hlsMaxAutoLevelUpdated\";\n Events[\"ERROR\"] = \"hlsError\";\n Events[\"DESTROYING\"] = \"hlsDestroying\";\n Events[\"KEY_LOADING\"] = \"hlsKeyLoading\";\n Events[\"KEY_LOADED\"] = \"hlsKeyLoaded\";\n Events[\"LIVE_BACK_BUFFER_REACHED\"] = \"hlsLiveBackBufferReached\";\n Events[\"BACK_BUFFER_REACHED\"] = \"hlsBackBufferReached\";\n Events[\"STEERING_MANIFEST_LOADED\"] = \"hlsSteeringManifestLoaded\";\n return Events;\n }({});\n\n /**\n * Defines each Event type and payload by Event name. Used in {@link hls.js#HlsEventEmitter} to strongly type the event listener API.\n */\n\n var ErrorTypes = /*#__PURE__*/function (ErrorTypes) {\n ErrorTypes[\"NETWORK_ERROR\"] = \"networkError\";\n ErrorTypes[\"MEDIA_ERROR\"] = \"mediaError\";\n ErrorTypes[\"KEY_SYSTEM_ERROR\"] = \"keySystemError\";\n ErrorTypes[\"MUX_ERROR\"] = \"muxError\";\n ErrorTypes[\"OTHER_ERROR\"] = \"otherError\";\n return ErrorTypes;\n }({});\n var ErrorDetails = /*#__PURE__*/function (ErrorDetails) {\n ErrorDetails[\"KEY_SYSTEM_NO_KEYS\"] = \"keySystemNoKeys\";\n ErrorDetails[\"KEY_SYSTEM_NO_ACCESS\"] = \"keySystemNoAccess\";\n ErrorDetails[\"KEY_SYSTEM_NO_SESSION\"] = \"keySystemNoSession\";\n ErrorDetails[\"KEY_SYSTEM_NO_CONFIGURED_LICENSE\"] = \"keySystemNoConfiguredLicense\";\n ErrorDetails[\"KEY_SYSTEM_LICENSE_REQUEST_FAILED\"] = \"keySystemLicenseRequestFailed\";\n ErrorDetails[\"KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED\"] = \"keySystemServerCertificateRequestFailed\";\n ErrorDetails[\"KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED\"] = \"keySystemServerCertificateUpdateFailed\";\n ErrorDetails[\"KEY_SYSTEM_SESSION_UPDATE_FAILED\"] = \"keySystemSessionUpdateFailed\";\n ErrorDetails[\"KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED\"] = \"keySystemStatusOutputRestricted\";\n ErrorDetails[\"KEY_SYSTEM_STATUS_INTERNAL_ERROR\"] = \"keySystemStatusInternalError\";\n ErrorDetails[\"MANIFEST_LOAD_ERROR\"] = \"manifestLoadError\";\n ErrorDetails[\"MANIFEST_LOAD_TIMEOUT\"] = \"manifestLoadTimeOut\";\n ErrorDetails[\"MANIFEST_PARSING_ERROR\"] = \"manifestParsingError\";\n ErrorDetails[\"MANIFEST_INCOMPATIBLE_CODECS_ERROR\"] = \"manifestIncompatibleCodecsError\";\n ErrorDetails[\"LEVEL_EMPTY_ERROR\"] = \"levelEmptyError\";\n ErrorDetails[\"LEVEL_LOAD_ERROR\"] = \"levelLoadError\";\n ErrorDetails[\"LEVEL_LOAD_TIMEOUT\"] = \"levelLoadTimeOut\";\n ErrorDetails[\"LEVEL_PARSING_ERROR\"] = \"levelParsingError\";\n ErrorDetails[\"LEVEL_SWITCH_ERROR\"] = \"levelSwitchError\";\n ErrorDetails[\"AUDIO_TRACK_LOAD_ERROR\"] = \"audioTrackLoadError\";\n ErrorDetails[\"AUDIO_TRACK_LOAD_TIMEOUT\"] = \"audioTrackLoadTimeOut\";\n ErrorDetails[\"SUBTITLE_LOAD_ERROR\"] = \"subtitleTrackLoadError\";\n ErrorDetails[\"SUBTITLE_TRACK_LOAD_TIMEOUT\"] = \"subtitleTrackLoadTimeOut\";\n ErrorDetails[\"FRAG_LOAD_ERROR\"] = \"fragLoadError\";\n ErrorDetails[\"FRAG_LOAD_TIMEOUT\"] = \"fragLoadTimeOut\";\n ErrorDetails[\"FRAG_DECRYPT_ERROR\"] = \"fragDecryptError\";\n ErrorDetails[\"FRAG_PARSING_ERROR\"] = \"fragParsingError\";\n ErrorDetails[\"FRAG_GAP\"] = \"fragGap\";\n ErrorDetails[\"REMUX_ALLOC_ERROR\"] = \"remuxAllocError\";\n ErrorDetails[\"KEY_LOAD_ERROR\"] = \"keyLoadError\";\n ErrorDetails[\"KEY_LOAD_TIMEOUT\"] = \"keyLoadTimeOut\";\n ErrorDetails[\"BUFFER_ADD_CODEC_ERROR\"] = \"bufferAddCodecError\";\n ErrorDetails[\"BUFFER_INCOMPATIBLE_CODECS_ERROR\"] = \"bufferIncompatibleCodecsError\";\n ErrorDetails[\"BUFFER_APPEND_ERROR\"] = \"bufferAppendError\";\n ErrorDetails[\"BUFFER_APPENDING_ERROR\"] = \"bufferAppendingError\";\n ErrorDetails[\"BUFFER_STALLED_ERROR\"] = \"bufferStalledError\";\n ErrorDetails[\"BUFFER_FULL_ERROR\"] = \"bufferFullError\";\n ErrorDetails[\"BUFFER_SEEK_OVER_HOLE\"] = \"bufferSeekOverHole\";\n ErrorDetails[\"BUFFER_NUDGE_ON_STALL\"] = \"bufferNudgeOnStall\";\n ErrorDetails[\"INTERNAL_EXCEPTION\"] = \"internalException\";\n ErrorDetails[\"INTERNAL_ABORTED\"] = \"aborted\";\n ErrorDetails[\"UNKNOWN\"] = \"unknown\";\n return ErrorDetails;\n }({});\n\n var noop = function noop() {};\n var fakeLogger = {\n trace: noop,\n debug: noop,\n log: noop,\n warn: noop,\n info: noop,\n error: noop\n };\n var exportedLogger = fakeLogger;\n\n // let lastCallTime;\n // function formatMsgWithTimeInfo(type, msg) {\n // const now = Date.now();\n // const diff = lastCallTime ? '+' + (now - lastCallTime) : '0';\n // lastCallTime = now;\n // msg = (new Date(now)).toISOString() + ' | [' + type + '] > ' + msg + ' ( ' + diff + ' ms )';\n // return msg;\n // }\n\n function consolePrintFn(type) {\n var func = self.console[type];\n if (func) {\n return func.bind(self.console, \"[\" + type + \"] >\");\n }\n return noop;\n }\n function exportLoggerFunctions(debugConfig) {\n for (var _len = arguments.length, functions = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n functions[_key - 1] = arguments[_key];\n }\n functions.forEach(function (type) {\n exportedLogger[type] = debugConfig[type] ? debugConfig[type].bind(debugConfig) : consolePrintFn(type);\n });\n }\n function enableLogs(debugConfig, id) {\n // check that console is available\n if (typeof console === 'object' && debugConfig === true || typeof debugConfig === 'object') {\n exportLoggerFunctions(debugConfig,\n // Remove out from list here to hard-disable a log-level\n // 'trace',\n 'debug', 'log', 'info', 'warn', 'error');\n // Some browsers don't allow to use bind on console object anyway\n // fallback to default if needed\n try {\n exportedLogger.log(\"Debug logs enabled for \\\"\" + id + \"\\\" in hls.js version \" + \"1.5.5-0.canary.9893\");\n } catch (e) {\n exportedLogger = fakeLogger;\n }\n } else {\n exportedLogger = fakeLogger;\n }\n }\n var logger = exportedLogger;\n\n var DECIMAL_RESOLUTION_REGEX = /^(\\d+)x(\\d+)$/;\n var ATTR_LIST_REGEX = /(.+?)=(\".*?\"|.*?)(?:,|$)/g;\n\n // adapted from https://github.com/kanongil/node-m3u8parse/blob/master/attrlist.js\n var AttrList = /*#__PURE__*/function () {\n function AttrList(attrs) {\n if (typeof attrs === 'string') {\n attrs = AttrList.parseAttrList(attrs);\n }\n _extends(this, attrs);\n }\n var _proto = AttrList.prototype;\n _proto.decimalInteger = function decimalInteger(attrName) {\n var intValue = parseInt(this[attrName], 10);\n if (intValue > Number.MAX_SAFE_INTEGER) {\n return Infinity;\n }\n return intValue;\n };\n _proto.hexadecimalInteger = function hexadecimalInteger(attrName) {\n if (this[attrName]) {\n var stringValue = (this[attrName] || '0x').slice(2);\n stringValue = (stringValue.length & 1 ? '0' : '') + stringValue;\n var value = new Uint8Array(stringValue.length / 2);\n for (var i = 0; i < stringValue.length / 2; i++) {\n value[i] = parseInt(stringValue.slice(i * 2, i * 2 + 2), 16);\n }\n return value;\n } else {\n return null;\n }\n };\n _proto.hexadecimalIntegerAsNumber = function hexadecimalIntegerAsNumber(attrName) {\n var intValue = parseInt(this[attrName], 16);\n if (intValue > Number.MAX_SAFE_INTEGER) {\n return Infinity;\n }\n return intValue;\n };\n _proto.decimalFloatingPoint = function decimalFloatingPoint(attrName) {\n return parseFloat(this[attrName]);\n };\n _proto.optionalFloat = function optionalFloat(attrName, defaultValue) {\n var value = this[attrName];\n return value ? parseFloat(value) : defaultValue;\n };\n _proto.enumeratedString = function enumeratedString(attrName) {\n return this[attrName];\n };\n _proto.bool = function bool(attrName) {\n return this[attrName] === 'YES';\n };\n _proto.decimalResolution = function decimalResolution(attrName) {\n var res = DECIMAL_RESOLUTION_REGEX.exec(this[attrName]);\n if (res === null) {\n return undefined;\n }\n return {\n width: parseInt(res[1], 10),\n height: parseInt(res[2], 10)\n };\n };\n AttrList.parseAttrList = function parseAttrList(input) {\n var match;\n var attrs = {};\n var quote = '\"';\n ATTR_LIST_REGEX.lastIndex = 0;\n while ((match = ATTR_LIST_REGEX.exec(input)) !== null) {\n var value = match[2];\n if (value.indexOf(quote) === 0 && value.lastIndexOf(quote) === value.length - 1) {\n value = value.slice(1, -1);\n }\n var name = match[1].trim();\n attrs[name] = value;\n }\n return attrs;\n };\n _createClass(AttrList, [{\n key: \"clientAttrs\",\n get: function get() {\n return Object.keys(this).filter(function (attr) {\n return attr.substring(0, 2) === 'X-';\n });\n }\n }]);\n return AttrList;\n }();\n\n // Avoid exporting const enum so that these values can be inlined\n\n function isDateRangeCueAttribute(attrName) {\n return attrName !== \"ID\" && attrName !== \"CLASS\" && attrName !== \"START-DATE\" && attrName !== \"DURATION\" && attrName !== \"END-DATE\" && attrName !== \"END-ON-NEXT\";\n }\n function isSCTE35Attribute(attrName) {\n return attrName === \"SCTE35-OUT\" || attrName === \"SCTE35-IN\";\n }\n var DateRange = /*#__PURE__*/function () {\n function DateRange(dateRangeAttr, dateRangeWithSameId) {\n this.attr = void 0;\n this._startDate = void 0;\n this._endDate = void 0;\n this._badValueForSameId = void 0;\n if (dateRangeWithSameId) {\n var previousAttr = dateRangeWithSameId.attr;\n for (var key in previousAttr) {\n if (Object.prototype.hasOwnProperty.call(dateRangeAttr, key) && dateRangeAttr[key] !== previousAttr[key]) {\n logger.warn(\"DATERANGE tag attribute: \\\"\" + key + \"\\\" does not match for tags with ID: \\\"\" + dateRangeAttr.ID + \"\\\"\");\n this._badValueForSameId = key;\n break;\n }\n }\n // Merge DateRange tags with the same ID\n dateRangeAttr = _extends(new AttrList({}), previousAttr, dateRangeAttr);\n }\n this.attr = dateRangeAttr;\n this._startDate = new Date(dateRangeAttr[\"START-DATE\"]);\n if (\"END-DATE\" in this.attr) {\n var endDate = new Date(this.attr[\"END-DATE\"]);\n if (isFiniteNumber(endDate.getTime())) {\n this._endDate = endDate;\n }\n }\n }\n _createClass(DateRange, [{\n key: \"id\",\n get: function get() {\n return this.attr.ID;\n }\n }, {\n key: \"class\",\n get: function get() {\n return this.attr.CLASS;\n }\n }, {\n key: \"startDate\",\n get: function get() {\n return this._startDate;\n }\n }, {\n key: \"endDate\",\n get: function get() {\n if (this._endDate) {\n return this._endDate;\n }\n var duration = this.duration;\n if (duration !== null) {\n return new Date(this._startDate.getTime() + duration * 1000);\n }\n return null;\n }\n }, {\n key: \"duration\",\n get: function get() {\n if (\"DURATION\" in this.attr) {\n var duration = this.attr.decimalFloatingPoint(\"DURATION\");\n if (isFiniteNumber(duration)) {\n return duration;\n }\n } else if (this._endDate) {\n return (this._endDate.getTime() - this._startDate.getTime()) / 1000;\n }\n return null;\n }\n }, {\n key: \"plannedDuration\",\n get: function get() {\n if (\"PLANNED-DURATION\" in this.attr) {\n return this.attr.decimalFloatingPoint(\"PLANNED-DURATION\");\n }\n return null;\n }\n }, {\n key: \"endOnNext\",\n get: function get() {\n return this.attr.bool(\"END-ON-NEXT\");\n }\n }, {\n key: \"isValid\",\n get: function get() {\n return !!this.id && !this._badValueForSameId && isFiniteNumber(this.startDate.getTime()) && (this.duration === null || this.duration >= 0) && (!this.endOnNext || !!this.class);\n }\n }]);\n return DateRange;\n }();\n\n var LoadStats = function LoadStats() {\n this.aborted = false;\n this.loaded = 0;\n this.retry = 0;\n this.total = 0;\n this.chunkCount = 0;\n this.bwEstimate = 0;\n this.loading = {\n start: 0,\n first: 0,\n end: 0\n };\n this.parsing = {\n start: 0,\n end: 0\n };\n this.buffering = {\n start: 0,\n first: 0,\n end: 0\n };\n };\n\n var ElementaryStreamTypes = {\n AUDIO: \"audio\",\n VIDEO: \"video\",\n AUDIOVIDEO: \"audiovideo\"\n };\n var BaseSegment = /*#__PURE__*/function () {\n function BaseSegment(baseurl) {\n var _this$elementaryStrea;\n this._byteRange = null;\n this._url = null;\n // baseurl is the URL to the playlist\n this.baseurl = void 0;\n // relurl is the portion of the URL that comes from inside the playlist.\n this.relurl = void 0;\n // Holds the types of data this fragment supports\n this.elementaryStreams = (_this$elementaryStrea = {}, _this$elementaryStrea[ElementaryStreamTypes.AUDIO] = null, _this$elementaryStrea[ElementaryStreamTypes.VIDEO] = null, _this$elementaryStrea[ElementaryStreamTypes.AUDIOVIDEO] = null, _this$elementaryStrea);\n this.baseurl = baseurl;\n }\n\n // setByteRange converts a EXT-X-BYTERANGE attribute into a two element array\n var _proto = BaseSegment.prototype;\n _proto.setByteRange = function setByteRange(value, previous) {\n var params = value.split('@', 2);\n var start;\n if (params.length === 1) {\n start = (previous == null ? void 0 : previous.byteRangeEndOffset) || 0;\n } else {\n start = parseInt(params[1]);\n }\n this._byteRange = [start, parseInt(params[0]) + start];\n };\n _createClass(BaseSegment, [{\n key: \"byteRange\",\n get: function get() {\n if (!this._byteRange) {\n return [];\n }\n return this._byteRange;\n }\n }, {\n key: \"byteRangeStartOffset\",\n get: function get() {\n return this.byteRange[0];\n }\n }, {\n key: \"byteRangeEndOffset\",\n get: function get() {\n return this.byteRange[1];\n }\n }, {\n key: \"url\",\n get: function get() {\n if (!this._url && this.baseurl && this.relurl) {\n this._url = urlToolkitExports.buildAbsoluteURL(this.baseurl, this.relurl, {\n alwaysNormalize: true\n });\n }\n return this._url || '';\n },\n set: function set(value) {\n this._url = value;\n }\n }]);\n return BaseSegment;\n }();\n\n /**\n * Object representing parsed data from an HLS Segment. Found in {@link hls.js#LevelDetails.fragments}.\n */\n var Fragment = /*#__PURE__*/function (_BaseSegment) {\n _inheritsLoose(Fragment, _BaseSegment);\n function Fragment(type, baseurl) {\n var _this;\n _this = _BaseSegment.call(this, baseurl) || this;\n _this._decryptdata = null;\n _this.rawProgramDateTime = null;\n _this.programDateTime = null;\n _this.tagList = [];\n // EXTINF has to be present for a m3u8 to be considered valid\n _this.duration = 0;\n // sn notates the sequence number for a segment, and if set to a string can be 'initSegment'\n _this.sn = 0;\n // levelkeys are the EXT-X-KEY tags that apply to this segment for decryption\n // core difference from the private field _decryptdata is the lack of the initialized IV\n // _decryptdata will set the IV for this segment based on the segment number in the fragment\n _this.levelkeys = void 0;\n // A string representing the fragment type\n _this.type = void 0;\n // A reference to the loader. Set while the fragment is loading, and removed afterwards. Used to abort fragment loading\n _this.loader = null;\n // A reference to the key loader. Set while the key is loading, and removed afterwards. Used to abort key loading\n _this.keyLoader = null;\n // The level/track index to which the fragment belongs\n _this.level = -1;\n // The continuity counter of the fragment\n _this.cc = 0;\n // The starting Presentation Time Stamp (PTS) of the fragment. Set after transmux complete.\n _this.startPTS = void 0;\n // The ending Presentation Time Stamp (PTS) of the fragment. Set after transmux complete.\n _this.endPTS = void 0;\n // The starting Decode Time Stamp (DTS) of the fragment. Set after transmux complete.\n _this.startDTS = void 0;\n // The ending Decode Time Stamp (DTS) of the fragment. Set after transmux complete.\n _this.endDTS = void 0;\n // The start time of the fragment, as listed in the manifest. Updated after transmux complete.\n _this.start = 0;\n // Set by `updateFragPTSDTS` in level-helper\n _this.deltaPTS = void 0;\n // The maximum starting Presentation Time Stamp (audio/video PTS) of the fragment. Set after transmux complete.\n _this.maxStartPTS = void 0;\n // The minimum ending Presentation Time Stamp (audio/video PTS) of the fragment. Set after transmux complete.\n _this.minEndPTS = void 0;\n // Load/parse timing information\n _this.stats = new LoadStats();\n // Init Segment bytes (unset for media segments)\n _this.data = void 0;\n // A flag indicating whether the segment was downloaded in order to test bitrate, and was not buffered\n _this.bitrateTest = false;\n // #EXTINF segment title\n _this.title = null;\n // The Media Initialization Section for this segment\n _this.initSegment = null;\n // Fragment is the last fragment in the media playlist\n _this.endList = void 0;\n // Fragment is marked by an EXT-X-GAP tag indicating that it does not contain media data and should not be loaded\n _this.gap = void 0;\n // Deprecated\n _this.urlId = 0;\n _this.type = type;\n return _this;\n }\n var _proto2 = Fragment.prototype;\n _proto2.setKeyFormat = function setKeyFormat(keyFormat) {\n if (this.levelkeys) {\n var _key = this.levelkeys[keyFormat];\n if (_key && !this._decryptdata) {\n this._decryptdata = _key.getDecryptData(this.sn);\n }\n }\n };\n _proto2.abortRequests = function abortRequests() {\n var _this$loader, _this$keyLoader;\n (_this$loader = this.loader) == null ? void 0 : _this$loader.abort();\n (_this$keyLoader = this.keyLoader) == null ? void 0 : _this$keyLoader.abort();\n };\n _proto2.setElementaryStreamInfo = function setElementaryStreamInfo(type, startPTS, endPTS, startDTS, endDTS, partial) {\n if (partial === void 0) {\n partial = false;\n }\n var elementaryStreams = this.elementaryStreams;\n var info = elementaryStreams[type];\n if (!info) {\n elementaryStreams[type] = {\n startPTS: startPTS,\n endPTS: endPTS,\n startDTS: startDTS,\n endDTS: endDTS,\n partial: partial\n };\n return;\n }\n info.startPTS = Math.min(info.startPTS, startPTS);\n info.endPTS = Math.max(info.endPTS, endPTS);\n info.startDTS = Math.min(info.startDTS, startDTS);\n info.endDTS = Math.max(info.endDTS, endDTS);\n };\n _proto2.clearElementaryStreamInfo = function clearElementaryStreamInfo() {\n var elementaryStreams = this.elementaryStreams;\n elementaryStreams[ElementaryStreamTypes.AUDIO] = null;\n elementaryStreams[ElementaryStreamTypes.VIDEO] = null;\n elementaryStreams[ElementaryStreamTypes.AUDIOVIDEO] = null;\n };\n _createClass(Fragment, [{\n key: \"decryptdata\",\n get: function get() {\n var levelkeys = this.levelkeys;\n if (!levelkeys && !this._decryptdata) {\n return null;\n }\n if (!this._decryptdata && this.levelkeys && !this.levelkeys.NONE) {\n var _key2 = this.levelkeys.identity;\n if (_key2) {\n this._decryptdata = _key2.getDecryptData(this.sn);\n } else {\n var keyFormats = Object.keys(this.levelkeys);\n if (keyFormats.length === 1) {\n return this._decryptdata = this.levelkeys[keyFormats[0]].getDecryptData(this.sn);\n }\n }\n }\n return this._decryptdata;\n }\n }, {\n key: \"end\",\n get: function get() {\n return this.start + this.duration;\n }\n }, {\n key: \"endProgramDateTime\",\n get: function get() {\n if (this.programDateTime === null) {\n return null;\n }\n if (!isFiniteNumber(this.programDateTime)) {\n return null;\n }\n var duration = !isFiniteNumber(this.duration) ? 0 : this.duration;\n return this.programDateTime + duration * 1000;\n }\n }, {\n key: \"encrypted\",\n get: function get() {\n var _this$_decryptdata;\n // At the m3u8-parser level we need to add support for manifest signalled keyformats\n // when we want the fragment to start reporting that it is encrypted.\n // Currently, keyFormat will only be set for identity keys\n if ((_this$_decryptdata = this._decryptdata) != null && _this$_decryptdata.encrypted) {\n return true;\n } else if (this.levelkeys) {\n var keyFormats = Object.keys(this.levelkeys);\n var len = keyFormats.length;\n if (len > 1 || len === 1 && this.levelkeys[keyFormats[0]].encrypted) {\n return true;\n }\n }\n return false;\n }\n }]);\n return Fragment;\n }(BaseSegment);\n\n /**\n * Object representing parsed data from an HLS Partial Segment. Found in {@link hls.js#LevelDetails.partList}.\n */\n var Part = /*#__PURE__*/function (_BaseSegment2) {\n _inheritsLoose(Part, _BaseSegment2);\n function Part(partAttrs, frag, baseurl, index, previous) {\n var _this2;\n _this2 = _BaseSegment2.call(this, baseurl) || this;\n _this2.fragOffset = 0;\n _this2.duration = 0;\n _this2.gap = false;\n _this2.independent = false;\n _this2.relurl = void 0;\n _this2.fragment = void 0;\n _this2.index = void 0;\n _this2.stats = new LoadStats();\n _this2.duration = partAttrs.decimalFloatingPoint('DURATION');\n _this2.gap = partAttrs.bool('GAP');\n _this2.independent = partAttrs.bool('INDEPENDENT');\n _this2.relurl = partAttrs.enumeratedString('URI');\n _this2.fragment = frag;\n _this2.index = index;\n var byteRange = partAttrs.enumeratedString('BYTERANGE');\n if (byteRange) {\n _this2.setByteRange(byteRange, previous);\n }\n if (previous) {\n _this2.fragOffset = previous.fragOffset + previous.duration;\n }\n return _this2;\n }\n _createClass(Part, [{\n key: \"start\",\n get: function get() {\n return this.fragment.start + this.fragOffset;\n }\n }, {\n key: \"end\",\n get: function get() {\n return this.start + this.duration;\n }\n }, {\n key: \"loaded\",\n get: function get() {\n var elementaryStreams = this.elementaryStreams;\n return !!(elementaryStreams.audio || elementaryStreams.video || elementaryStreams.audiovideo);\n }\n }]);\n return Part;\n }(BaseSegment);\n\n var DEFAULT_TARGET_DURATION = 10;\n\n /**\n * Object representing parsed data from an HLS Media Playlist. Found in {@link hls.js#Level.details}.\n */\n var LevelDetails = /*#__PURE__*/function () {\n function LevelDetails(baseUrl) {\n this.PTSKnown = false;\n this.alignedSliding = false;\n this.averagetargetduration = void 0;\n this.endCC = 0;\n this.endSN = 0;\n this.fragments = void 0;\n this.fragmentHint = void 0;\n this.partList = null;\n this.dateRanges = void 0;\n this.live = true;\n this.ageHeader = 0;\n this.advancedDateTime = void 0;\n this.updated = true;\n this.advanced = true;\n this.availabilityDelay = void 0;\n // Manifest reload synchronization\n this.misses = 0;\n this.startCC = 0;\n this.startSN = 0;\n this.startTimeOffset = null;\n this.targetduration = 0;\n this.totalduration = 0;\n this.type = null;\n this.url = void 0;\n this.m3u8 = '';\n this.version = null;\n this.canBlockReload = false;\n this.canSkipUntil = 0;\n this.canSkipDateRanges = false;\n this.skippedSegments = 0;\n this.recentlyRemovedDateranges = void 0;\n this.partHoldBack = 0;\n this.holdBack = 0;\n this.partTarget = 0;\n this.preloadHint = void 0;\n this.renditionReports = void 0;\n this.tuneInGoal = 0;\n this.deltaUpdateFailed = void 0;\n this.driftStartTime = 0;\n this.driftEndTime = 0;\n this.driftStart = 0;\n this.driftEnd = 0;\n this.encryptedFragments = void 0;\n this.playlistParsingError = null;\n this.variableList = null;\n this.hasVariableRefs = false;\n this.fragments = [];\n this.encryptedFragments = [];\n this.dateRanges = {};\n this.url = baseUrl;\n }\n var _proto = LevelDetails.prototype;\n _proto.reloaded = function reloaded(previous) {\n if (!previous) {\n this.advanced = true;\n this.updated = true;\n return;\n }\n var partSnDiff = this.lastPartSn - previous.lastPartSn;\n var partIndexDiff = this.lastPartIndex - previous.lastPartIndex;\n this.updated = this.endSN !== previous.endSN || !!partIndexDiff || !!partSnDiff || !this.live;\n this.advanced = this.endSN > previous.endSN || partSnDiff > 0 || partSnDiff === 0 && partIndexDiff > 0;\n if (this.updated || this.advanced) {\n this.misses = Math.floor(previous.misses * 0.6);\n } else {\n this.misses = previous.misses + 1;\n }\n this.availabilityDelay = previous.availabilityDelay;\n };\n _createClass(LevelDetails, [{\n key: \"hasProgramDateTime\",\n get: function get() {\n if (this.fragments.length) {\n return isFiniteNumber(this.fragments[this.fragments.length - 1].programDateTime);\n }\n return false;\n }\n }, {\n key: \"levelTargetDuration\",\n get: function get() {\n return this.averagetargetduration || this.targetduration || DEFAULT_TARGET_DURATION;\n }\n }, {\n key: \"drift\",\n get: function get() {\n var runTime = this.driftEndTime - this.driftStartTime;\n if (runTime > 0) {\n var runDuration = this.driftEnd - this.driftStart;\n return runDuration * 1000 / runTime;\n }\n return 1;\n }\n }, {\n key: \"edge\",\n get: function get() {\n return this.partEnd || this.fragmentEnd;\n }\n }, {\n key: \"partEnd\",\n get: function get() {\n var _this$partList;\n if ((_this$partList = this.partList) != null && _this$partList.length) {\n return this.partList[this.partList.length - 1].end;\n }\n return this.fragmentEnd;\n }\n }, {\n key: \"fragmentEnd\",\n get: function get() {\n var _this$fragments;\n if ((_this$fragments = this.fragments) != null && _this$fragments.length) {\n return this.fragments[this.fragments.length - 1].end;\n }\n return 0;\n }\n }, {\n key: \"age\",\n get: function get() {\n if (this.advancedDateTime) {\n return Math.max(Date.now() - this.advancedDateTime, 0) / 1000;\n }\n return 0;\n }\n }, {\n key: \"lastPartIndex\",\n get: function get() {\n var _this$partList2;\n if ((_this$partList2 = this.partList) != null && _this$partList2.length) {\n return this.partList[this.partList.length - 1].index;\n }\n return -1;\n }\n }, {\n key: \"lastPartSn\",\n get: function get() {\n var _this$partList3;\n if ((_this$partList3 = this.partList) != null && _this$partList3.length) {\n return this.partList[this.partList.length - 1].fragment.sn;\n }\n return this.endSN;\n }\n }]);\n return LevelDetails;\n }();\n\n function base64Decode(base64encodedStr) {\n return Uint8Array.from(atob(base64encodedStr), function (c) {\n return c.charCodeAt(0);\n });\n }\n\n function getKeyIdBytes(str) {\n var keyIdbytes = strToUtf8array(str).subarray(0, 16);\n var paddedkeyIdbytes = new Uint8Array(16);\n paddedkeyIdbytes.set(keyIdbytes, 16 - keyIdbytes.length);\n return paddedkeyIdbytes;\n }\n function changeEndianness(keyId) {\n var swap = function swap(array, from, to) {\n var cur = array[from];\n array[from] = array[to];\n array[to] = cur;\n };\n swap(keyId, 0, 3);\n swap(keyId, 1, 2);\n swap(keyId, 4, 5);\n swap(keyId, 6, 7);\n }\n function convertDataUriToArrayBytes(uri) {\n // data:[<media type][;attribute=value][;base64],<data>\n var colonsplit = uri.split(':');\n var keydata = null;\n if (colonsplit[0] === 'data' && colonsplit.length === 2) {\n var semicolonsplit = colonsplit[1].split(';');\n var commasplit = semicolonsplit[semicolonsplit.length - 1].split(',');\n if (commasplit.length === 2) {\n var isbase64 = commasplit[0] === 'base64';\n var data = commasplit[1];\n if (isbase64) {\n semicolonsplit.splice(-1, 1); // remove from processing\n keydata = base64Decode(data);\n } else {\n keydata = getKeyIdBytes(data);\n }\n }\n }\n return keydata;\n }\n function strToUtf8array(str) {\n return Uint8Array.from(unescape(encodeURIComponent(str)), function (c) {\n return c.charCodeAt(0);\n });\n }\n\n /** returns `undefined` is `self` is missing, e.g. in node */\n var optionalSelf = typeof self !== 'undefined' ? self : undefined;\n\n /**\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Navigator/requestMediaKeySystemAccess\n */\n var KeySystems = {\n CLEARKEY: \"org.w3.clearkey\",\n FAIRPLAY: \"com.apple.fps\",\n PLAYREADY: \"com.microsoft.playready\",\n WIDEVINE: \"com.widevine.alpha\"\n };\n\n // Playlist #EXT-X-KEY KEYFORMAT values\n var KeySystemFormats = {\n CLEARKEY: \"org.w3.clearkey\",\n FAIRPLAY: \"com.apple.streamingkeydelivery\",\n PLAYREADY: \"com.microsoft.playready\",\n WIDEVINE: \"urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed\"\n };\n function keySystemFormatToKeySystemDomain(format) {\n switch (format) {\n case KeySystemFormats.FAIRPLAY:\n return KeySystems.FAIRPLAY;\n case KeySystemFormats.PLAYREADY:\n return KeySystems.PLAYREADY;\n case KeySystemFormats.WIDEVINE:\n return KeySystems.WIDEVINE;\n case KeySystemFormats.CLEARKEY:\n return KeySystems.CLEARKEY;\n }\n }\n\n // System IDs for which we can extract a key ID from \"encrypted\" event PSSH\n var KeySystemIds = {\n WIDEVINE: \"edef8ba979d64acea3c827dcd51d21ed\"\n };\n function keySystemIdToKeySystemDomain(systemId) {\n if (systemId === KeySystemIds.WIDEVINE) {\n return KeySystems.WIDEVINE;\n // } else if (systemId === KeySystemIds.PLAYREADY) {\n // return KeySystems.PLAYREADY;\n // } else if (systemId === KeySystemIds.CENC || systemId === KeySystemIds.CLEARKEY) {\n // return KeySystems.CLEARKEY;\n }\n }\n function keySystemDomainToKeySystemFormat(keySystem) {\n switch (keySystem) {\n case KeySystems.FAIRPLAY:\n return KeySystemFormats.FAIRPLAY;\n case KeySystems.PLAYREADY:\n return KeySystemFormats.PLAYREADY;\n case KeySystems.WIDEVINE:\n return KeySystemFormats.WIDEVINE;\n case KeySystems.CLEARKEY:\n return KeySystemFormats.CLEARKEY;\n }\n }\n function getKeySystemsForConfig(config) {\n var drmSystems = config.drmSystems,\n widevineLicenseUrl = config.widevineLicenseUrl;\n var keySystemsToAttempt = drmSystems ? [KeySystems.FAIRPLAY, KeySystems.WIDEVINE, KeySystems.PLAYREADY, KeySystems.CLEARKEY].filter(function (keySystem) {\n return !!drmSystems[keySystem];\n }) : [];\n if (!keySystemsToAttempt[KeySystems.WIDEVINE] && widevineLicenseUrl) {\n keySystemsToAttempt.push(KeySystems.WIDEVINE);\n }\n return keySystemsToAttempt;\n }\n var requestMediaKeySystemAccess = function (_optionalSelf$navigat) {\n if (optionalSelf != null && (_optionalSelf$navigat = optionalSelf.navigator) != null && _optionalSelf$navigat.requestMediaKeySystemAccess) {\n return self.navigator.requestMediaKeySystemAccess.bind(self.navigator);\n } else {\n return null;\n }\n }();\n\n /**\n * @see https://developer.mozilla.org/en-US/docs/Web/API/MediaKeySystemConfiguration\n */\n function getSupportedMediaKeySystemConfigurations(keySystem, audioCodecs, videoCodecs, drmSystemOptions) {\n var initDataTypes;\n switch (keySystem) {\n case KeySystems.FAIRPLAY:\n initDataTypes = ['cenc', 'sinf'];\n break;\n case KeySystems.WIDEVINE:\n case KeySystems.PLAYREADY:\n initDataTypes = ['cenc'];\n break;\n case KeySystems.CLEARKEY:\n initDataTypes = ['cenc', 'keyids'];\n break;\n default:\n throw new Error(\"Unknown key-system: \" + keySystem);\n }\n return createMediaKeySystemConfigurations(initDataTypes, audioCodecs, videoCodecs, drmSystemOptions);\n }\n function createMediaKeySystemConfigurations(initDataTypes, audioCodecs, videoCodecs, drmSystemOptions) {\n var baseConfig = {\n initDataTypes: initDataTypes,\n persistentState: drmSystemOptions.persistentState || 'optional',\n distinctiveIdentifier: drmSystemOptions.distinctiveIdentifier || 'optional',\n sessionTypes: drmSystemOptions.sessionTypes || [drmSystemOptions.sessionType || 'temporary'],\n audioCapabilities: audioCodecs.map(function (codec) {\n return {\n contentType: \"audio/mp4; codecs=\\\"\" + codec + \"\\\"\",\n robustness: drmSystemOptions.audioRobustness || '',\n encryptionScheme: drmSystemOptions.audioEncryptionScheme || null\n };\n }),\n videoCapabilities: videoCodecs.map(function (codec) {\n return {\n contentType: \"video/mp4; codecs=\\\"\" + codec + \"\\\"\",\n robustness: drmSystemOptions.videoRobustness || '',\n encryptionScheme: drmSystemOptions.videoEncryptionScheme || null\n };\n })\n };\n return [baseConfig];\n }\n\n function sliceUint8(array, start, end) {\n // @ts-expect-error This polyfills IE11 usage of Uint8Array slice.\n // It always exists in the TypeScript definition so fails, but it fails at runtime on IE11.\n return Uint8Array.prototype.slice ? array.slice(start, end) : new Uint8Array(Array.prototype.slice.call(array, start, end));\n }\n\n // breaking up those two types in order to clarify what is happening in the decoding path.\n\n /**\n * Returns true if an ID3 header can be found at offset in data\n * @param data - The data to search\n * @param offset - The offset at which to start searching\n */\n var isHeader$2 = function isHeader(data, offset) {\n /*\n * http://id3.org/id3v2.3.0\n * [0] = 'I'\n * [1] = 'D'\n * [2] = '3'\n * [3,4] = {Version}\n * [5] = {Flags}\n * [6-9] = {ID3 Size}\n *\n * An ID3v2 tag can be detected with the following pattern:\n * $49 44 33 yy yy xx zz zz zz zz\n * Where yy is less than $FF, xx is the 'flags' byte and zz is less than $80\n */\n if (offset + 10 <= data.length) {\n // look for 'ID3' identifier\n if (data[offset] === 0x49 && data[offset + 1] === 0x44 && data[offset + 2] === 0x33) {\n // check version is within range\n if (data[offset + 3] < 0xff && data[offset + 4] < 0xff) {\n // check size is within range\n if (data[offset + 6] < 0x80 && data[offset + 7] < 0x80 && data[offset + 8] < 0x80 && data[offset + 9] < 0x80) {\n return true;\n }\n }\n }\n }\n return false;\n };\n\n /**\n * Returns true if an ID3 footer can be found at offset in data\n * @param data - The data to search\n * @param offset - The offset at which to start searching\n */\n var isFooter = function isFooter(data, offset) {\n /*\n * The footer is a copy of the header, but with a different identifier\n */\n if (offset + 10 <= data.length) {\n // look for '3DI' identifier\n if (data[offset] === 0x33 && data[offset + 1] === 0x44 && data[offset + 2] === 0x49) {\n // check version is within range\n if (data[offset + 3] < 0xff && data[offset + 4] < 0xff) {\n // check size is within range\n if (data[offset + 6] < 0x80 && data[offset + 7] < 0x80 && data[offset + 8] < 0x80 && data[offset + 9] < 0x80) {\n return true;\n }\n }\n }\n }\n return false;\n };\n\n /**\n * Returns any adjacent ID3 tags found in data starting at offset, as one block of data\n * @param data - The data to search in\n * @param offset - The offset at which to start searching\n * @returns the block of data containing any ID3 tags found\n * or *undefined* if no header is found at the starting offset\n */\n var getID3Data = function getID3Data(data, offset) {\n var front = offset;\n var length = 0;\n while (isHeader$2(data, offset)) {\n // ID3 header is 10 bytes\n length += 10;\n var size = readSize(data, offset + 6);\n length += size;\n if (isFooter(data, offset + 10)) {\n // ID3 footer is 10 bytes\n length += 10;\n }\n offset += length;\n }\n if (length > 0) {\n return data.subarray(front, front + length);\n }\n return undefined;\n };\n var readSize = function readSize(data, offset) {\n var size = 0;\n size = (data[offset] & 0x7f) << 21;\n size |= (data[offset + 1] & 0x7f) << 14;\n size |= (data[offset + 2] & 0x7f) << 7;\n size |= data[offset + 3] & 0x7f;\n return size;\n };\n var canParse$2 = function canParse(data, offset) {\n return isHeader$2(data, offset) && readSize(data, offset + 6) + 10 <= data.length - offset;\n };\n\n /**\n * Searches for the Elementary Stream timestamp found in the ID3 data chunk\n * @param data - Block of data containing one or more ID3 tags\n */\n var getTimeStamp = function getTimeStamp(data) {\n var frames = getID3Frames(data);\n for (var i = 0; i < frames.length; i++) {\n var frame = frames[i];\n if (isTimeStampFrame(frame)) {\n return readTimeStamp(frame);\n }\n }\n return undefined;\n };\n\n /**\n * Returns true if the ID3 frame is an Elementary Stream timestamp frame\n */\n var isTimeStampFrame = function isTimeStampFrame(frame) {\n return frame && frame.key === 'PRIV' && frame.info === 'com.apple.streaming.transportStreamTimestamp';\n };\n var getFrameData = function getFrameData(data) {\n /*\n Frame ID $xx xx xx xx (four characters)\n Size $xx xx xx xx\n Flags $xx xx\n */\n var type = String.fromCharCode(data[0], data[1], data[2], data[3]);\n var size = readSize(data, 4);\n\n // skip frame id, size, and flags\n var offset = 10;\n return {\n type: type,\n size: size,\n data: data.subarray(offset, offset + size)\n };\n };\n\n /**\n * Returns an array of ID3 frames found in all the ID3 tags in the id3Data\n * @param id3Data - The ID3 data containing one or more ID3 tags\n */\n var getID3Frames = function getID3Frames(id3Data) {\n var offset = 0;\n var frames = [];\n while (isHeader$2(id3Data, offset)) {\n var size = readSize(id3Data, offset + 6);\n // skip past ID3 header\n offset += 10;\n var end = offset + size;\n // loop through frames in the ID3 tag\n while (offset + 8 < end) {\n var frameData = getFrameData(id3Data.subarray(offset));\n var frame = decodeFrame(frameData);\n if (frame) {\n frames.push(frame);\n }\n\n // skip frame header and frame data\n offset += frameData.size + 10;\n }\n if (isFooter(id3Data, offset)) {\n offset += 10;\n }\n }\n return frames;\n };\n var decodeFrame = function decodeFrame(frame) {\n if (frame.type === 'PRIV') {\n return decodePrivFrame(frame);\n } else if (frame.type[0] === 'W') {\n return decodeURLFrame(frame);\n }\n return decodeTextFrame(frame);\n };\n var decodePrivFrame = function decodePrivFrame(frame) {\n /*\n Format: <text string>\\0<binary data>\n */\n if (frame.size < 2) {\n return undefined;\n }\n var owner = utf8ArrayToStr(frame.data, true);\n var privateData = new Uint8Array(frame.data.subarray(owner.length + 1));\n return {\n key: frame.type,\n info: owner,\n data: privateData.buffer\n };\n };\n var decodeTextFrame = function decodeTextFrame(frame) {\n if (frame.size < 2) {\n return undefined;\n }\n if (frame.type === 'TXXX') {\n /*\n Format:\n [0] = {Text Encoding}\n [1-?] = {Description}\\0{Value}\n */\n var index = 1;\n var description = utf8ArrayToStr(frame.data.subarray(index), true);\n index += description.length + 1;\n var value = utf8ArrayToStr(frame.data.subarray(index));\n return {\n key: frame.type,\n info: description,\n data: value\n };\n }\n /*\n Format:\n [0] = {Text Encoding}\n [1-?] = {Value}\n */\n var text = utf8ArrayToStr(frame.data.subarray(1));\n return {\n key: frame.type,\n data: text\n };\n };\n var decodeURLFrame = function decodeURLFrame(frame) {\n if (frame.type === 'WXXX') {\n /*\n Format:\n [0] = {Text Encoding}\n [1-?] = {Description}\\0{URL}\n */\n if (frame.size < 2) {\n return undefined;\n }\n var index = 1;\n var description = utf8ArrayToStr(frame.data.subarray(index), true);\n index += description.length + 1;\n var value = utf8ArrayToStr(frame.data.subarray(index));\n return {\n key: frame.type,\n info: description,\n data: value\n };\n }\n /*\n Format:\n [0-?] = {URL}\n */\n var url = utf8ArrayToStr(frame.data);\n return {\n key: frame.type,\n data: url\n };\n };\n var readTimeStamp = function readTimeStamp(timeStampFrame) {\n if (timeStampFrame.data.byteLength === 8) {\n var data = new Uint8Array(timeStampFrame.data);\n // timestamp is 33 bit expressed as a big-endian eight-octet number,\n // with the upper 31 bits set to zero.\n var pts33Bit = data[3] & 0x1;\n var timestamp = (data[4] << 23) + (data[5] << 15) + (data[6] << 7) + data[7];\n timestamp /= 45;\n if (pts33Bit) {\n timestamp += 47721858.84;\n } // 2^32 / 90\n\n return Math.round(timestamp);\n }\n return undefined;\n };\n\n // http://stackoverflow.com/questions/8936984/uint8array-to-string-in-javascript/22373197\n // http://www.onicos.com/staff/iz/amuse/javascript/expert/utf.txt\n /* utf.js - UTF-8 <=> UTF-16 convertion\n *\n * Copyright (C) 1999 Masanao Izumo <iz@onicos.co.jp>\n * Version: 1.0\n * LastModified: Dec 25 1999\n * This library is free. You can redistribute it and/or modify it.\n */\n var utf8ArrayToStr = function utf8ArrayToStr(array, exitOnNull) {\n if (exitOnNull === void 0) {\n exitOnNull = false;\n }\n var decoder = getTextDecoder();\n if (decoder) {\n var decoded = decoder.decode(array);\n if (exitOnNull) {\n // grab up to the first null\n var idx = decoded.indexOf('\\0');\n return idx !== -1 ? decoded.substring(0, idx) : decoded;\n }\n\n // remove any null characters\n return decoded.replace(/\\0/g, '');\n }\n var len = array.length;\n var c;\n var char2;\n var char3;\n var out = '';\n var i = 0;\n while (i < len) {\n c = array[i++];\n if (c === 0x00 && exitOnNull) {\n return out;\n } else if (c === 0x00 || c === 0x03) {\n // If the character is 3 (END_OF_TEXT) or 0 (NULL) then skip it\n continue;\n }\n switch (c >> 4) {\n case 0:\n case 1:\n case 2:\n case 3:\n case 4:\n case 5:\n case 6:\n case 7:\n // 0xxxxxxx\n out += String.fromCharCode(c);\n break;\n case 12:\n case 13:\n // 110x xxxx 10xx xxxx\n char2 = array[i++];\n out += String.fromCharCode((c & 0x1f) << 6 | char2 & 0x3f);\n break;\n case 14:\n // 1110 xxxx 10xx xxxx 10xx xxxx\n char2 = array[i++];\n char3 = array[i++];\n out += String.fromCharCode((c & 0x0f) << 12 | (char2 & 0x3f) << 6 | (char3 & 0x3f) << 0);\n break;\n }\n }\n return out;\n };\n var decoder;\n function getTextDecoder() {\n // On Play Station 4, TextDecoder is defined but partially implemented.\n // Manual decoding option is preferable\n if (navigator.userAgent.includes('PlayStation 4')) {\n return;\n }\n if (!decoder && typeof self.TextDecoder !== 'undefined') {\n decoder = new self.TextDecoder('utf-8');\n }\n return decoder;\n }\n\n /**\n * hex dump helper class\n */\n\n var Hex = {\n hexDump: function hexDump(array) {\n var str = '';\n for (var i = 0; i < array.length; i++) {\n var h = array[i].toString(16);\n if (h.length < 2) {\n h = '0' + h;\n }\n str += h;\n }\n return str;\n }\n };\n\n var UINT32_MAX$1 = Math.pow(2, 32) - 1;\n var push = [].push;\n\n // We are using fixed track IDs for driving the MP4 remuxer\n // instead of following the TS PIDs.\n // There is no reason not to do this and some browsers/SourceBuffer-demuxers\n // may not like if there are TrackID \"switches\"\n // See https://github.com/video-dev/hls.js/issues/1331\n // Here we are mapping our internal track types to constant MP4 track IDs\n // With MSE currently one can only have one track of each, and we are muxing\n // whatever video/audio rendition in them.\n var RemuxerTrackIdConfig = {\n video: 1,\n audio: 2,\n id3: 3,\n text: 4\n };\n function bin2str(data) {\n return String.fromCharCode.apply(null, data);\n }\n function readUint16(buffer, offset) {\n var val = buffer[offset] << 8 | buffer[offset + 1];\n return val < 0 ? 65536 + val : val;\n }\n function readUint32(buffer, offset) {\n var val = readSint32(buffer, offset);\n return val < 0 ? 4294967296 + val : val;\n }\n function readUint64(buffer, offset) {\n var result = readUint32(buffer, offset);\n result *= Math.pow(2, 32);\n result += readUint32(buffer, offset + 4);\n return result;\n }\n function readSint32(buffer, offset) {\n return buffer[offset] << 24 | buffer[offset + 1] << 16 | buffer[offset + 2] << 8 | buffer[offset + 3];\n }\n function writeUint32(buffer, offset, value) {\n buffer[offset] = value >> 24;\n buffer[offset + 1] = value >> 16 & 0xff;\n buffer[offset + 2] = value >> 8 & 0xff;\n buffer[offset + 3] = value & 0xff;\n }\n\n // Find \"moof\" box\n function hasMoofData(data) {\n var end = data.byteLength;\n for (var i = 0; i < end;) {\n var size = readUint32(data, i);\n if (size > 8 && data[i + 4] === 0x6d && data[i + 5] === 0x6f && data[i + 6] === 0x6f && data[i + 7] === 0x66) {\n return true;\n }\n i = size > 1 ? i + size : end;\n }\n return false;\n }\n\n // Find the data for a box specified by its path\n function findBox(data, path) {\n var results = [];\n if (!path.length) {\n // short-circuit the search for empty paths\n return results;\n }\n var end = data.byteLength;\n for (var i = 0; i < end;) {\n var size = readUint32(data, i);\n var type = bin2str(data.subarray(i + 4, i + 8));\n var endbox = size > 1 ? i + size : end;\n if (type === path[0]) {\n if (path.length === 1) {\n // this is the end of the path and we've found the box we were\n // looking for\n results.push(data.subarray(i + 8, endbox));\n } else {\n // recursively search for the next box along the path\n var subresults = findBox(data.subarray(i + 8, endbox), path.slice(1));\n if (subresults.length) {\n push.apply(results, subresults);\n }\n }\n }\n i = endbox;\n }\n\n // we've finished searching all of data\n return results;\n }\n function parseSegmentIndex(sidx) {\n var references = [];\n var version = sidx[0];\n\n // set initial offset, we skip the reference ID (not needed)\n var index = 8;\n var timescale = readUint32(sidx, index);\n index += 4;\n var earliestPresentationTime = 0;\n var firstOffset = 0;\n if (version === 0) {\n earliestPresentationTime = readUint32(sidx, index);\n firstOffset = readUint32(sidx, index + 4);\n index += 8;\n } else {\n earliestPresentationTime = readUint64(sidx, index);\n firstOffset = readUint64(sidx, index + 8);\n index += 16;\n }\n\n // skip reserved\n index += 2;\n var startByte = sidx.length + firstOffset;\n var referencesCount = readUint16(sidx, index);\n index += 2;\n for (var i = 0; i < referencesCount; i++) {\n var referenceIndex = index;\n var referenceInfo = readUint32(sidx, referenceIndex);\n referenceIndex += 4;\n var referenceSize = referenceInfo & 0x7fffffff;\n var referenceType = (referenceInfo & 0x80000000) >>> 31;\n if (referenceType === 1) {\n logger.warn('SIDX has hierarchical references (not supported)');\n return null;\n }\n var subsegmentDuration = readUint32(sidx, referenceIndex);\n referenceIndex += 4;\n references.push({\n referenceSize: referenceSize,\n subsegmentDuration: subsegmentDuration,\n // unscaled\n info: {\n duration: subsegmentDuration / timescale,\n start: startByte,\n end: startByte + referenceSize - 1\n }\n });\n startByte += referenceSize;\n\n // Skipping 1 bit for |startsWithSap|, 3 bits for |sapType|, and 28 bits\n // for |sapDelta|.\n referenceIndex += 4;\n\n // skip to next ref\n index = referenceIndex;\n }\n return {\n earliestPresentationTime: earliestPresentationTime,\n timescale: timescale,\n version: version,\n referencesCount: referencesCount,\n references: references\n };\n }\n\n /**\n * Parses an MP4 initialization segment and extracts stream type and\n * timescale values for any declared tracks. Timescale values indicate the\n * number of clock ticks per second to assume for time-based values\n * elsewhere in the MP4.\n *\n * To determine the start time of an MP4, you need two pieces of\n * information: the timescale unit and the earliest base media decode\n * time. Multiple timescales can be specified within an MP4 but the\n * base media decode time is always expressed in the timescale from\n * the media header box for the track:\n * ```\n * moov > trak > mdia > mdhd.timescale\n * moov > trak > mdia > hdlr\n * ```\n * @param initSegment the bytes of the init segment\n * @returns a hash of track type to timescale values or null if\n * the init segment is malformed.\n */\n\n function parseInitSegment(initSegment) {\n var result = [];\n var traks = findBox(initSegment, ['moov', 'trak']);\n for (var i = 0; i < traks.length; i++) {\n var trak = traks[i];\n var tkhd = findBox(trak, ['tkhd'])[0];\n if (tkhd) {\n var version = tkhd[0];\n var trackId = readUint32(tkhd, version === 0 ? 12 : 20);\n var mdhd = findBox(trak, ['mdia', 'mdhd'])[0];\n if (mdhd) {\n version = mdhd[0];\n var timescale = readUint32(mdhd, version === 0 ? 12 : 20);\n var hdlr = findBox(trak, ['mdia', 'hdlr'])[0];\n if (hdlr) {\n var hdlrType = bin2str(hdlr.subarray(8, 12));\n var type = {\n soun: ElementaryStreamTypes.AUDIO,\n vide: ElementaryStreamTypes.VIDEO\n }[hdlrType];\n if (type) {\n // Parse codec details\n var stsd = findBox(trak, ['mdia', 'minf', 'stbl', 'stsd'])[0];\n var stsdData = parseStsd(stsd);\n result[trackId] = {\n timescale: timescale,\n type: type\n };\n result[type] = _objectSpread2({\n timescale: timescale,\n id: trackId\n }, stsdData);\n }\n }\n }\n }\n }\n var trex = findBox(initSegment, ['moov', 'mvex', 'trex']);\n trex.forEach(function (trex) {\n var trackId = readUint32(trex, 4);\n var track = result[trackId];\n if (track) {\n track.default = {\n duration: readUint32(trex, 12),\n flags: readUint32(trex, 20)\n };\n }\n });\n return result;\n }\n function parseStsd(stsd) {\n var sampleEntries = stsd.subarray(8);\n var sampleEntriesEnd = sampleEntries.subarray(8 + 78);\n var fourCC = bin2str(sampleEntries.subarray(4, 8));\n var codec = fourCC;\n var encrypted = fourCC === 'enca' || fourCC === 'encv';\n if (encrypted) {\n var encBox = findBox(sampleEntries, [fourCC])[0];\n var encBoxChildren = encBox.subarray(fourCC === 'enca' ? 28 : 78);\n var sinfs = findBox(encBoxChildren, ['sinf']);\n sinfs.forEach(function (sinf) {\n var schm = findBox(sinf, ['schm'])[0];\n if (schm) {\n var scheme = bin2str(schm.subarray(4, 8));\n if (scheme === 'cbcs' || scheme === 'cenc') {\n var frma = findBox(sinf, ['frma'])[0];\n if (frma) {\n // for encrypted content codec fourCC will be in frma\n codec = bin2str(frma);\n }\n }\n }\n });\n }\n switch (codec) {\n case 'avc1':\n case 'avc2':\n case 'avc3':\n case 'avc4':\n {\n // extract profile + compatibility + level out of avcC box\n var avcCBox = findBox(sampleEntriesEnd, ['avcC'])[0];\n codec += '.' + toHex(avcCBox[1]) + toHex(avcCBox[2]) + toHex(avcCBox[3]);\n break;\n }\n case 'mp4a':\n {\n var codecBox = findBox(sampleEntries, [fourCC])[0];\n var esdsBox = findBox(codecBox.subarray(28), ['esds'])[0];\n if (esdsBox && esdsBox.length > 12) {\n var i = 4;\n // ES Descriptor tag\n if (esdsBox[i++] !== 0x03) {\n break;\n }\n i = skipBERInteger(esdsBox, i);\n i += 2; // skip es_id;\n var flags = esdsBox[i++];\n if (flags & 0x80) {\n i += 2; // skip dependency es_id\n }\n if (flags & 0x40) {\n i += esdsBox[i++]; // skip URL\n }\n // Decoder config descriptor\n if (esdsBox[i++] !== 0x04) {\n break;\n }\n i = skipBERInteger(esdsBox, i);\n var objectType = esdsBox[i++];\n if (objectType === 0x40) {\n codec += '.' + toHex(objectType);\n } else {\n break;\n }\n i += 12;\n // Decoder specific info\n if (esdsBox[i++] !== 0x05) {\n break;\n }\n i = skipBERInteger(esdsBox, i);\n var firstByte = esdsBox[i++];\n var audioObjectType = (firstByte & 0xf8) >> 3;\n if (audioObjectType === 31) {\n audioObjectType += 1 + ((firstByte & 0x7) << 3) + ((esdsBox[i] & 0xe0) >> 5);\n }\n codec += '.' + audioObjectType;\n }\n break;\n }\n case 'hvc1':\n case 'hev1':\n {\n var hvcCBox = findBox(sampleEntriesEnd, ['hvcC'])[0];\n var profileByte = hvcCBox[1];\n var profileSpace = ['', 'A', 'B', 'C'][profileByte >> 6];\n var generalProfileIdc = profileByte & 0x1f;\n var profileCompat = readUint32(hvcCBox, 2);\n var tierFlag = (profileByte & 0x20) >> 5 ? 'H' : 'L';\n var levelIDC = hvcCBox[12];\n var constraintIndicator = hvcCBox.subarray(6, 12);\n codec += '.' + profileSpace + generalProfileIdc;\n codec += '.' + profileCompat.toString(16).toUpperCase();\n codec += '.' + tierFlag + levelIDC;\n var constraintString = '';\n for (var _i = constraintIndicator.length; _i--;) {\n var _byte = constraintIndicator[_i];\n if (_byte || constraintString) {\n var encodedByte = _byte.toString(16).toUpperCase();\n constraintString = '.' + encodedByte + constraintString;\n }\n }\n codec += constraintString;\n break;\n }\n case 'dvh1':\n case 'dvhe':\n {\n var dvcCBox = findBox(sampleEntriesEnd, ['dvcC'])[0];\n var profile = dvcCBox[2] >> 1 & 0x7f;\n var level = dvcCBox[2] << 5 & 0x20 | dvcCBox[3] >> 3 & 0x1f;\n codec += '.' + addLeadingZero(profile) + '.' + addLeadingZero(level);\n break;\n }\n case 'vp09':\n {\n var vpcCBox = findBox(sampleEntriesEnd, ['vpcC'])[0];\n var _profile = vpcCBox[4];\n var _level = vpcCBox[5];\n var bitDepth = vpcCBox[6] >> 4 & 0x0f;\n codec += '.' + addLeadingZero(_profile) + '.' + addLeadingZero(_level) + '.' + addLeadingZero(bitDepth);\n break;\n }\n case 'av01':\n {\n var av1CBox = findBox(sampleEntriesEnd, ['av1C'])[0];\n var _profile2 = av1CBox[1] >>> 5;\n var _level2 = av1CBox[1] & 0x1f;\n var _tierFlag = av1CBox[2] >>> 7 ? 'H' : 'M';\n var highBitDepth = (av1CBox[2] & 0x40) >> 6;\n var twelveBit = (av1CBox[2] & 0x20) >> 5;\n var _bitDepth = _profile2 === 2 && highBitDepth ? twelveBit ? 12 : 10 : highBitDepth ? 10 : 8;\n var monochrome = (av1CBox[2] & 0x10) >> 4;\n var chromaSubsamplingX = (av1CBox[2] & 0x08) >> 3;\n var chromaSubsamplingY = (av1CBox[2] & 0x04) >> 2;\n var chromaSamplePosition = av1CBox[2] & 0x03;\n // TODO: parse color_description_present_flag\n // default it to BT.709/limited range for now\n // more info https://aomediacodec.github.io/av1-isobmff/#av1codecconfigurationbox-syntax\n var colorPrimaries = 1;\n var transferCharacteristics = 1;\n var matrixCoefficients = 1;\n var videoFullRangeFlag = 0;\n codec += '.' + _profile2 + '.' + addLeadingZero(_level2) + _tierFlag + '.' + addLeadingZero(_bitDepth) + '.' + monochrome + '.' + chromaSubsamplingX + chromaSubsamplingY + chromaSamplePosition + '.' + addLeadingZero(colorPrimaries) + '.' + addLeadingZero(transferCharacteristics) + '.' + addLeadingZero(matrixCoefficients) + '.' + videoFullRangeFlag;\n break;\n }\n }\n return {\n codec: codec,\n encrypted: encrypted\n };\n }\n function skipBERInteger(bytes, i) {\n var limit = i + 5;\n while (bytes[i++] & 0x80 && i < limit) {}\n return i;\n }\n function toHex(x) {\n return ('0' + x.toString(16).toUpperCase()).slice(-2);\n }\n function addLeadingZero(num) {\n return (num < 10 ? '0' : '') + num;\n }\n function patchEncyptionData(initSegment, decryptdata) {\n if (!initSegment || !decryptdata) {\n return initSegment;\n }\n var keyId = decryptdata.keyId;\n if (keyId && decryptdata.isCommonEncryption) {\n var traks = findBox(initSegment, ['moov', 'trak']);\n traks.forEach(function (trak) {\n var stsd = findBox(trak, ['mdia', 'minf', 'stbl', 'stsd'])[0];\n\n // skip the sample entry count\n var sampleEntries = stsd.subarray(8);\n var encBoxes = findBox(sampleEntries, ['enca']);\n var isAudio = encBoxes.length > 0;\n if (!isAudio) {\n encBoxes = findBox(sampleEntries, ['encv']);\n }\n encBoxes.forEach(function (enc) {\n var encBoxChildren = isAudio ? enc.subarray(28) : enc.subarray(78);\n var sinfBoxes = findBox(encBoxChildren, ['sinf']);\n sinfBoxes.forEach(function (sinf) {\n var tenc = parseSinf(sinf);\n if (tenc) {\n // Look for default key id (keyID offset is always 8 within the tenc box):\n var tencKeyId = tenc.subarray(8, 24);\n if (!tencKeyId.some(function (b) {\n return b !== 0;\n })) {\n logger.log(\"[eme] Patching keyId in 'enc\" + (isAudio ? 'a' : 'v') + \">sinf>>tenc' box: \" + Hex.hexDump(tencKeyId) + \" -> \" + Hex.hexDump(keyId));\n tenc.set(keyId, 8);\n }\n }\n });\n });\n });\n }\n return initSegment;\n }\n function parseSinf(sinf) {\n var schm = findBox(sinf, ['schm'])[0];\n if (schm) {\n var scheme = bin2str(schm.subarray(4, 8));\n if (scheme === 'cbcs' || scheme === 'cenc') {\n return findBox(sinf, ['schi', 'tenc'])[0];\n }\n }\n logger.error(\"[eme] missing 'schm' box\");\n return null;\n }\n\n /**\n * Determine the base media decode start time, in seconds, for an MP4\n * fragment. If multiple fragments are specified, the earliest time is\n * returned.\n *\n * The base media decode time can be parsed from track fragment\n * metadata:\n * ```\n * moof > traf > tfdt.baseMediaDecodeTime\n * ```\n * It requires the timescale value from the mdhd to interpret.\n *\n * @param initData - a hash of track type to timescale values\n * @param fmp4 - the bytes of the mp4 fragment\n * @returns the earliest base media decode start time for the\n * fragment, in seconds\n */\n function getStartDTS(initData, fmp4) {\n // we need info from two children of each track fragment box\n return findBox(fmp4, ['moof', 'traf']).reduce(function (result, traf) {\n var tfdt = findBox(traf, ['tfdt'])[0];\n var version = tfdt[0];\n var start = findBox(traf, ['tfhd']).reduce(function (result, tfhd) {\n // get the track id from the tfhd\n var id = readUint32(tfhd, 4);\n var track = initData[id];\n if (track) {\n var baseTime = readUint32(tfdt, 4);\n if (version === 1) {\n // If value is too large, assume signed 64-bit. Negative track fragment decode times are invalid, but they exist in the wild.\n // This prevents large values from being used for initPTS, which can cause playlist sync issues.\n // https://github.com/video-dev/hls.js/issues/5303\n if (baseTime === UINT32_MAX$1) {\n logger.warn(\"[mp4-demuxer]: Ignoring assumed invalid signed 64-bit track fragment decode time\");\n return result;\n }\n baseTime *= UINT32_MAX$1 + 1;\n baseTime += readUint32(tfdt, 8);\n }\n // assume a 90kHz clock if no timescale was specified\n var scale = track.timescale || 90e3;\n // convert base time to seconds\n var startTime = baseTime / scale;\n if (isFiniteNumber(startTime) && (result === null || startTime < result)) {\n return startTime;\n }\n }\n return result;\n }, null);\n if (start !== null && isFiniteNumber(start) && (result === null || start < result)) {\n return start;\n }\n return result;\n }, null);\n }\n\n /*\n For Reference:\n aligned(8) class TrackFragmentHeaderBox\n extends FullBox(‘tfhd’, 0, tf_flags){\n unsigned int(32) track_ID;\n // all the following are optional fields\n unsigned int(64) base_data_offset;\n unsigned int(32) sample_description_index;\n unsigned int(32) default_sample_duration;\n unsigned int(32) default_sample_size;\n unsigned int(32) default_sample_flags\n }\n */\n function getDuration(data, initData) {\n var sidxMinStart = Infinity;\n var sidxMaxEnd = 0;\n var sidxDuration = 0;\n var sidxs = findBox(data, ['sidx']);\n for (var i = 0; i < sidxs.length; i++) {\n var sidx = parseSegmentIndex(sidxs[i]);\n if (sidx != null && sidx.references) {\n sidxMinStart = Math.min(sidxMinStart, sidx.earliestPresentationTime / sidx.timescale);\n var subSegmentDuration = sidx.references.reduce(function (dur, ref) {\n return dur + ref.info.duration || 0;\n }, 0);\n sidxMaxEnd = Math.max(sidxMaxEnd, subSegmentDuration + sidx.earliestPresentationTime / sidx.timescale);\n sidxDuration = sidxMaxEnd - sidxMinStart;\n }\n }\n if (sidxDuration && isFiniteNumber(sidxDuration)) {\n return sidxDuration;\n }\n var rawDuration = 0;\n var videoDuration = 0;\n var audioDuration = 0;\n var trafs = findBox(data, ['moof', 'traf']);\n for (var _i2 = 0; _i2 < trafs.length; _i2++) {\n var traf = trafs[_i2];\n // There is only one tfhd & trun per traf\n // This is true for CMAF style content, and we should perhaps check the ftyp\n // and only look for a single trun then, but for ISOBMFF we should check\n // for multiple track runs.\n var tfhd = findBox(traf, ['tfhd'])[0];\n // get the track id from the tfhd\n var id = readUint32(tfhd, 4);\n var track = initData[id];\n if (!track) {\n continue;\n }\n var trackDefault = track.default;\n var tfhdFlags = readUint32(tfhd, 0) | (trackDefault == null ? void 0 : trackDefault.flags);\n var sampleDuration = trackDefault == null ? void 0 : trackDefault.duration;\n if (tfhdFlags & 0x000008) {\n // 0x000008 indicates the presence of the default_sample_duration field\n if (tfhdFlags & 0x000002) {\n // 0x000002 indicates the presence of the sample_description_index field, which precedes default_sample_duration\n // If present, the default_sample_duration exists at byte offset 12\n sampleDuration = readUint32(tfhd, 12);\n } else {\n // Otherwise, the duration is at byte offset 8\n sampleDuration = readUint32(tfhd, 8);\n }\n }\n // assume a 90kHz clock if no timescale was specified\n var timescale = track.timescale || 90e3;\n var truns = findBox(traf, ['trun']);\n for (var j = 0; j < truns.length; j++) {\n rawDuration = computeRawDurationFromSamples(truns[j]);\n if (!rawDuration && sampleDuration) {\n var sampleCount = readUint32(truns[j], 4);\n rawDuration = sampleDuration * sampleCount;\n }\n if (track.type === ElementaryStreamTypes.VIDEO) {\n videoDuration += rawDuration / timescale;\n } else if (track.type === ElementaryStreamTypes.AUDIO) {\n audioDuration += rawDuration / timescale;\n }\n }\n }\n if (videoDuration) {\n return videoDuration;\n }\n return audioDuration;\n }\n\n /*\n For Reference:\n aligned(8) class TrackRunBox\n extends FullBox(‘trun’, version, tr_flags) {\n unsigned int(32) sample_count;\n // the following are optional fields\n signed int(32) data_offset;\n unsigned int(32) first_sample_flags;\n // all fields in the following array are optional\n {\n unsigned int(32) sample_duration;\n unsigned int(32) sample_size;\n unsigned int(32) sample_flags\n if (version == 0)\n { unsigned int(32)\n else\n { signed int(32)\n }[ sample_count ]\n }\n */\n function computeRawDurationFromSamples(trun) {\n var flags = readUint32(trun, 0);\n // Flags are at offset 0, non-optional sample_count is at offset 4. Therefore we start 8 bytes in.\n // Each field is an int32, which is 4 bytes\n var offset = 8;\n // data-offset-present flag\n if (flags & 0x000001) {\n offset += 4;\n }\n // first-sample-flags-present flag\n if (flags & 0x000004) {\n offset += 4;\n }\n var duration = 0;\n var sampleCount = readUint32(trun, 4);\n for (var i = 0; i < sampleCount; i++) {\n // sample-duration-present flag\n if (flags & 0x000100) {\n var sampleDuration = readUint32(trun, offset);\n duration += sampleDuration;\n offset += 4;\n }\n // sample-size-present flag\n if (flags & 0x000200) {\n offset += 4;\n }\n // sample-flags-present flag\n if (flags & 0x000400) {\n offset += 4;\n }\n // sample-composition-time-offsets-present flag\n if (flags & 0x000800) {\n offset += 4;\n }\n }\n return duration;\n }\n function offsetStartDTS(initData, fmp4, timeOffset) {\n findBox(fmp4, ['moof', 'traf']).forEach(function (traf) {\n findBox(traf, ['tfhd']).forEach(function (tfhd) {\n // get the track id from the tfhd\n var id = readUint32(tfhd, 4);\n var track = initData[id];\n if (!track) {\n return;\n }\n // assume a 90kHz clock if no timescale was specified\n var timescale = track.timescale || 90e3;\n // get the base media decode time from the tfdt\n findBox(traf, ['tfdt']).forEach(function (tfdt) {\n var version = tfdt[0];\n var offset = timeOffset * timescale;\n if (offset) {\n var baseMediaDecodeTime = readUint32(tfdt, 4);\n if (version === 0) {\n baseMediaDecodeTime -= offset;\n baseMediaDecodeTime = Math.max(baseMediaDecodeTime, 0);\n writeUint32(tfdt, 4, baseMediaDecodeTime);\n } else {\n baseMediaDecodeTime *= Math.pow(2, 32);\n baseMediaDecodeTime += readUint32(tfdt, 8);\n baseMediaDecodeTime -= offset;\n baseMediaDecodeTime = Math.max(baseMediaDecodeTime, 0);\n var upper = Math.floor(baseMediaDecodeTime / (UINT32_MAX$1 + 1));\n var lower = Math.floor(baseMediaDecodeTime % (UINT32_MAX$1 + 1));\n writeUint32(tfdt, 4, upper);\n writeUint32(tfdt, 8, lower);\n }\n }\n });\n });\n });\n }\n\n // TODO: Check if the last moof+mdat pair is part of the valid range\n function segmentValidRange(data) {\n var segmentedRange = {\n valid: null,\n remainder: null\n };\n var moofs = findBox(data, ['moof']);\n if (moofs.length < 2) {\n segmentedRange.remainder = data;\n return segmentedRange;\n }\n var last = moofs[moofs.length - 1];\n // Offset by 8 bytes; findBox offsets the start by as much\n segmentedRange.valid = sliceUint8(data, 0, last.byteOffset - 8);\n segmentedRange.remainder = sliceUint8(data, last.byteOffset - 8);\n return segmentedRange;\n }\n function appendUint8Array(data1, data2) {\n var temp = new Uint8Array(data1.length + data2.length);\n temp.set(data1);\n temp.set(data2, data1.length);\n return temp;\n }\n function parseSamples(timeOffset, track) {\n var seiSamples = [];\n var videoData = track.samples;\n var timescale = track.timescale;\n var trackId = track.id;\n var isHEVCFlavor = false;\n var moofs = findBox(videoData, ['moof']);\n moofs.map(function (moof) {\n var moofOffset = moof.byteOffset - 8;\n var trafs = findBox(moof, ['traf']);\n trafs.map(function (traf) {\n // get the base media decode time from the tfdt\n var baseTime = findBox(traf, ['tfdt']).map(function (tfdt) {\n var version = tfdt[0];\n var result = readUint32(tfdt, 4);\n if (version === 1) {\n result *= Math.pow(2, 32);\n result += readUint32(tfdt, 8);\n }\n return result / timescale;\n })[0];\n if (baseTime !== undefined) {\n timeOffset = baseTime;\n }\n return findBox(traf, ['tfhd']).map(function (tfhd) {\n var id = readUint32(tfhd, 4);\n var tfhdFlags = readUint32(tfhd, 0) & 0xffffff;\n var baseDataOffsetPresent = (tfhdFlags & 0x000001) !== 0;\n var sampleDescriptionIndexPresent = (tfhdFlags & 0x000002) !== 0;\n var defaultSampleDurationPresent = (tfhdFlags & 0x000008) !== 0;\n var defaultSampleDuration = 0;\n var defaultSampleSizePresent = (tfhdFlags & 0x000010) !== 0;\n var defaultSampleSize = 0;\n var defaultSampleFlagsPresent = (tfhdFlags & 0x000020) !== 0;\n var tfhdOffset = 8;\n if (id === trackId) {\n if (baseDataOffsetPresent) {\n tfhdOffset += 8;\n }\n if (sampleDescriptionIndexPresent) {\n tfhdOffset += 4;\n }\n if (defaultSampleDurationPresent) {\n defaultSampleDuration = readUint32(tfhd, tfhdOffset);\n tfhdOffset += 4;\n }\n if (defaultSampleSizePresent) {\n defaultSampleSize = readUint32(tfhd, tfhdOffset);\n tfhdOffset += 4;\n }\n if (defaultSampleFlagsPresent) {\n tfhdOffset += 4;\n }\n if (track.type === 'video') {\n isHEVCFlavor = isHEVC(track.codec);\n }\n findBox(traf, ['trun']).map(function (trun) {\n var version = trun[0];\n var flags = readUint32(trun, 0) & 0xffffff;\n var dataOffsetPresent = (flags & 0x000001) !== 0;\n var dataOffset = 0;\n var firstSampleFlagsPresent = (flags & 0x000004) !== 0;\n var sampleDurationPresent = (flags & 0x000100) !== 0;\n var sampleDuration = 0;\n var sampleSizePresent = (flags & 0x000200) !== 0;\n var sampleSize = 0;\n var sampleFlagsPresent = (flags & 0x000400) !== 0;\n var sampleCompositionOffsetsPresent = (flags & 0x000800) !== 0;\n var compositionOffset = 0;\n var sampleCount = readUint32(trun, 4);\n var trunOffset = 8; // past version, flags, and sample count\n\n if (dataOffsetPresent) {\n dataOffset = readUint32(trun, trunOffset);\n trunOffset += 4;\n }\n if (firstSampleFlagsPresent) {\n trunOffset += 4;\n }\n var sampleOffset = dataOffset + moofOffset;\n for (var ix = 0; ix < sampleCount; ix++) {\n if (sampleDurationPresent) {\n sampleDuration = readUint32(trun, trunOffset);\n trunOffset += 4;\n } else {\n sampleDuration = defaultSampleDuration;\n }\n if (sampleSizePresent) {\n sampleSize = readUint32(trun, trunOffset);\n trunOffset += 4;\n } else {\n sampleSize = defaultSampleSize;\n }\n if (sampleFlagsPresent) {\n trunOffset += 4;\n }\n if (sampleCompositionOffsetsPresent) {\n if (version === 0) {\n compositionOffset = readUint32(trun, trunOffset);\n } else {\n compositionOffset = readSint32(trun, trunOffset);\n }\n trunOffset += 4;\n }\n if (track.type === ElementaryStreamTypes.VIDEO) {\n var naluTotalSize = 0;\n while (naluTotalSize < sampleSize) {\n var naluSize = readUint32(videoData, sampleOffset);\n sampleOffset += 4;\n if (isSEIMessage(isHEVCFlavor, videoData[sampleOffset])) {\n var data = videoData.subarray(sampleOffset, sampleOffset + naluSize);\n parseSEIMessageFromNALu(data, isHEVCFlavor ? 2 : 1, timeOffset + compositionOffset / timescale, seiSamples);\n }\n sampleOffset += naluSize;\n naluTotalSize += naluSize + 4;\n }\n }\n timeOffset += sampleDuration / timescale;\n }\n });\n }\n });\n });\n });\n return seiSamples;\n }\n function isHEVC(codec) {\n if (!codec) {\n return false;\n }\n var delimit = codec.indexOf('.');\n var baseCodec = delimit < 0 ? codec : codec.substring(0, delimit);\n return baseCodec === 'hvc1' || baseCodec === 'hev1' ||\n // Dolby Vision\n baseCodec === 'dvh1' || baseCodec === 'dvhe';\n }\n function isSEIMessage(isHEVCFlavor, naluHeader) {\n if (isHEVCFlavor) {\n var naluType = naluHeader >> 1 & 0x3f;\n return naluType === 39 || naluType === 40;\n } else {\n var _naluType = naluHeader & 0x1f;\n return _naluType === 6;\n }\n }\n function parseSEIMessageFromNALu(unescapedData, headerSize, pts, samples) {\n var data = discardEPB(unescapedData);\n var seiPtr = 0;\n // skip nal header\n seiPtr += headerSize;\n var payloadType = 0;\n var payloadSize = 0;\n var b = 0;\n while (seiPtr < data.length) {\n payloadType = 0;\n do {\n if (seiPtr >= data.length) {\n break;\n }\n b = data[seiPtr++];\n payloadType += b;\n } while (b === 0xff);\n\n // Parse payload size.\n payloadSize = 0;\n do {\n if (seiPtr >= data.length) {\n break;\n }\n b = data[seiPtr++];\n payloadSize += b;\n } while (b === 0xff);\n var leftOver = data.length - seiPtr;\n // Create a variable to process the payload\n var payPtr = seiPtr;\n\n // Increment the seiPtr to the end of the payload\n if (payloadSize < leftOver) {\n seiPtr += payloadSize;\n } else if (payloadSize > leftOver) {\n // Some type of corruption has happened?\n logger.error(\"Malformed SEI payload. \" + payloadSize + \" is too small, only \" + leftOver + \" bytes left to parse.\");\n // We might be able to parse some data, but let's be safe and ignore it.\n break;\n }\n if (payloadType === 4) {\n var countryCode = data[payPtr++];\n if (countryCode === 181) {\n var providerCode = readUint16(data, payPtr);\n payPtr += 2;\n if (providerCode === 49) {\n var userStructure = readUint32(data, payPtr);\n payPtr += 4;\n if (userStructure === 0x47413934) {\n var userDataType = data[payPtr++];\n\n // Raw CEA-608 bytes wrapped in CEA-708 packet\n if (userDataType === 3) {\n var firstByte = data[payPtr++];\n var totalCCs = 0x1f & firstByte;\n var enabled = 0x40 & firstByte;\n var totalBytes = enabled ? 2 + totalCCs * 3 : 0;\n var byteArray = new Uint8Array(totalBytes);\n if (enabled) {\n byteArray[0] = firstByte;\n for (var i = 1; i < totalBytes; i++) {\n byteArray[i] = data[payPtr++];\n }\n }\n samples.push({\n type: userDataType,\n payloadType: payloadType,\n pts: pts,\n bytes: byteArray\n });\n }\n }\n }\n }\n } else if (payloadType === 5) {\n if (payloadSize > 16) {\n var uuidStrArray = [];\n for (var _i3 = 0; _i3 < 16; _i3++) {\n var _b = data[payPtr++].toString(16);\n uuidStrArray.push(_b.length == 1 ? '0' + _b : _b);\n if (_i3 === 3 || _i3 === 5 || _i3 === 7 || _i3 === 9) {\n uuidStrArray.push('-');\n }\n }\n var length = payloadSize - 16;\n var userDataBytes = new Uint8Array(length);\n for (var _i4 = 0; _i4 < length; _i4++) {\n userDataBytes[_i4] = data[payPtr++];\n }\n samples.push({\n payloadType: payloadType,\n pts: pts,\n uuid: uuidStrArray.join(''),\n userData: utf8ArrayToStr(userDataBytes),\n userDataBytes: userDataBytes\n });\n }\n }\n }\n }\n\n /**\n * remove Emulation Prevention bytes from a RBSP\n */\n function discardEPB(data) {\n var length = data.byteLength;\n var EPBPositions = [];\n var i = 1;\n\n // Find all `Emulation Prevention Bytes`\n while (i < length - 2) {\n if (data[i] === 0 && data[i + 1] === 0 && data[i + 2] === 0x03) {\n EPBPositions.push(i + 2);\n i += 2;\n } else {\n i++;\n }\n }\n\n // If no Emulation Prevention Bytes were found just return the original\n // array\n if (EPBPositions.length === 0) {\n return data;\n }\n\n // Create a new array to hold the NAL unit data\n var newLength = length - EPBPositions.length;\n var newData = new Uint8Array(newLength);\n var sourceIndex = 0;\n for (i = 0; i < newLength; sourceIndex++, i++) {\n if (sourceIndex === EPBPositions[0]) {\n // Skip this byte\n sourceIndex++;\n // Remove this position index\n EPBPositions.shift();\n }\n newData[i] = data[sourceIndex];\n }\n return newData;\n }\n function parseEmsg(data) {\n var version = data[0];\n var schemeIdUri = '';\n var value = '';\n var timeScale = 0;\n var presentationTimeDelta = 0;\n var presentationTime = 0;\n var eventDuration = 0;\n var id = 0;\n var offset = 0;\n if (version === 0) {\n while (bin2str(data.subarray(offset, offset + 1)) !== '\\0') {\n schemeIdUri += bin2str(data.subarray(offset, offset + 1));\n offset += 1;\n }\n schemeIdUri += bin2str(data.subarray(offset, offset + 1));\n offset += 1;\n while (bin2str(data.subarray(offset, offset + 1)) !== '\\0') {\n value += bin2str(data.subarray(offset, offset + 1));\n offset += 1;\n }\n value += bin2str(data.subarray(offset, offset + 1));\n offset += 1;\n timeScale = readUint32(data, 12);\n presentationTimeDelta = readUint32(data, 16);\n eventDuration = readUint32(data, 20);\n id = readUint32(data, 24);\n offset = 28;\n } else if (version === 1) {\n offset += 4;\n timeScale = readUint32(data, offset);\n offset += 4;\n var leftPresentationTime = readUint32(data, offset);\n offset += 4;\n var rightPresentationTime = readUint32(data, offset);\n offset += 4;\n presentationTime = Math.pow(2, 32) * leftPresentationTime + rightPresentationTime;\n if (!isSafeInteger(presentationTime)) {\n presentationTime = Number.MAX_SAFE_INTEGER;\n logger.warn('Presentation time exceeds safe integer limit and wrapped to max safe integer in parsing emsg box');\n }\n eventDuration = readUint32(data, offset);\n offset += 4;\n id = readUint32(data, offset);\n offset += 4;\n while (bin2str(data.subarray(offset, offset + 1)) !== '\\0') {\n schemeIdUri += bin2str(data.subarray(offset, offset + 1));\n offset += 1;\n }\n schemeIdUri += bin2str(data.subarray(offset, offset + 1));\n offset += 1;\n while (bin2str(data.subarray(offset, offset + 1)) !== '\\0') {\n value += bin2str(data.subarray(offset, offset + 1));\n offset += 1;\n }\n value += bin2str(data.subarray(offset, offset + 1));\n offset += 1;\n }\n var payload = data.subarray(offset, data.byteLength);\n return {\n schemeIdUri: schemeIdUri,\n value: value,\n timeScale: timeScale,\n presentationTime: presentationTime,\n presentationTimeDelta: presentationTimeDelta,\n eventDuration: eventDuration,\n id: id,\n payload: payload\n };\n }\n function mp4Box(type) {\n for (var _len = arguments.length, payload = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n payload[_key - 1] = arguments[_key];\n }\n var len = payload.length;\n var size = 8;\n var i = len;\n while (i--) {\n size += payload[i].byteLength;\n }\n var result = new Uint8Array(size);\n result[0] = size >> 24 & 0xff;\n result[1] = size >> 16 & 0xff;\n result[2] = size >> 8 & 0xff;\n result[3] = size & 0xff;\n result.set(type, 4);\n for (i = 0, size = 8; i < len; i++) {\n result.set(payload[i], size);\n size += payload[i].byteLength;\n }\n return result;\n }\n function mp4pssh(systemId, keyids, data) {\n if (systemId.byteLength !== 16) {\n throw new RangeError('Invalid system id');\n }\n var version;\n var kids;\n if (keyids) {\n version = 1;\n kids = new Uint8Array(keyids.length * 16);\n for (var ix = 0; ix < keyids.length; ix++) {\n var k = keyids[ix]; // uint8array\n if (k.byteLength !== 16) {\n throw new RangeError('Invalid key');\n }\n kids.set(k, ix * 16);\n }\n } else {\n version = 0;\n kids = new Uint8Array();\n }\n var kidCount;\n if (version > 0) {\n kidCount = new Uint8Array(4);\n if (keyids.length > 0) {\n new DataView(kidCount.buffer).setUint32(0, keyids.length, false);\n }\n } else {\n kidCount = new Uint8Array();\n }\n var dataSize = new Uint8Array(4);\n if (data && data.byteLength > 0) {\n new DataView(dataSize.buffer).setUint32(0, data.byteLength, false);\n }\n return mp4Box([112, 115, 115, 104], new Uint8Array([version, 0x00, 0x00, 0x00 // Flags\n ]), systemId,\n // 16 bytes\n kidCount, kids, dataSize, data || new Uint8Array());\n }\n function parsePssh(initData) {\n if (!(initData instanceof ArrayBuffer) || initData.byteLength < 32) {\n return null;\n }\n var result = {\n version: 0,\n systemId: '',\n kids: null,\n data: null\n };\n var view = new DataView(initData);\n var boxSize = view.getUint32(0);\n if (initData.byteLength !== boxSize && boxSize > 44) {\n return null;\n }\n var type = view.getUint32(4);\n if (type !== 0x70737368) {\n return null;\n }\n result.version = view.getUint32(8) >>> 24;\n if (result.version > 1) {\n return null;\n }\n result.systemId = Hex.hexDump(new Uint8Array(initData, 12, 16));\n var dataSizeOrKidCount = view.getUint32(28);\n if (result.version === 0) {\n if (boxSize - 32 < dataSizeOrKidCount) {\n return null;\n }\n result.data = new Uint8Array(initData, 32, dataSizeOrKidCount);\n } else if (result.version === 1) {\n result.kids = [];\n for (var i = 0; i < dataSizeOrKidCount; i++) {\n result.kids.push(new Uint8Array(initData, 32 + i * 16, 16));\n }\n }\n return result;\n }\n\n var keyUriToKeyIdMap = {};\n var LevelKey = /*#__PURE__*/function () {\n LevelKey.clearKeyUriToKeyIdMap = function clearKeyUriToKeyIdMap() {\n keyUriToKeyIdMap = {};\n };\n function LevelKey(method, uri, format, formatversions, iv) {\n if (formatversions === void 0) {\n formatversions = [1];\n }\n if (iv === void 0) {\n iv = null;\n }\n this.uri = void 0;\n this.method = void 0;\n this.keyFormat = void 0;\n this.keyFormatVersions = void 0;\n this.encrypted = void 0;\n this.isCommonEncryption = void 0;\n this.iv = null;\n this.key = null;\n this.keyId = null;\n this.pssh = null;\n this.method = method;\n this.uri = uri;\n this.keyFormat = format;\n this.keyFormatVersions = formatversions;\n this.iv = iv;\n this.encrypted = method ? method !== 'NONE' : false;\n this.isCommonEncryption = this.encrypted && method !== 'AES-128';\n }\n var _proto = LevelKey.prototype;\n _proto.isSupported = function isSupported() {\n // If it's Segment encryption or No encryption, just select that key system\n if (this.method) {\n if (this.method === 'AES-128' || this.method === 'NONE') {\n return true;\n }\n if (this.keyFormat === 'identity') {\n // Maintain support for clear SAMPLE-AES with MPEG-3 TS\n return this.method === 'SAMPLE-AES';\n } else {\n switch (this.keyFormat) {\n case KeySystemFormats.FAIRPLAY:\n case KeySystemFormats.WIDEVINE:\n case KeySystemFormats.PLAYREADY:\n case KeySystemFormats.CLEARKEY:\n return ['ISO-23001-7', 'SAMPLE-AES', 'SAMPLE-AES-CENC', 'SAMPLE-AES-CTR'].indexOf(this.method) !== -1;\n }\n }\n }\n return false;\n };\n _proto.getDecryptData = function getDecryptData(sn) {\n if (!this.encrypted || !this.uri) {\n return null;\n }\n if (this.method === 'AES-128' && this.uri && !this.iv) {\n if (typeof sn !== 'number') {\n // We are fetching decryption data for a initialization segment\n // If the segment was encrypted with AES-128\n // It must have an IV defined. We cannot substitute the Segment Number in.\n if (this.method === 'AES-128' && !this.iv) {\n logger.warn(\"missing IV for initialization segment with method=\\\"\" + this.method + \"\\\" - compliance issue\");\n }\n // Explicitly set sn to resulting value from implicit conversions 'initSegment' values for IV generation.\n sn = 0;\n }\n var iv = createInitializationVector(sn);\n var decryptdata = new LevelKey(this.method, this.uri, 'identity', this.keyFormatVersions, iv);\n return decryptdata;\n }\n\n // Initialize keyId if possible\n var keyBytes = convertDataUriToArrayBytes(this.uri);\n if (keyBytes) {\n switch (this.keyFormat) {\n case KeySystemFormats.WIDEVINE:\n this.pssh = keyBytes;\n // In case of widevine keyID is embedded in PSSH box. Read Key ID.\n if (keyBytes.length >= 22) {\n this.keyId = keyBytes.subarray(keyBytes.length - 22, keyBytes.length - 6);\n }\n break;\n case KeySystemFormats.PLAYREADY:\n {\n var PlayReadyKeySystemUUID = new Uint8Array([0x9a, 0x04, 0xf0, 0x79, 0x98, 0x40, 0x42, 0x86, 0xab, 0x92, 0xe6, 0x5b, 0xe0, 0x88, 0x5f, 0x95]);\n this.pssh = mp4pssh(PlayReadyKeySystemUUID, null, keyBytes);\n var keyBytesUtf16 = new Uint16Array(keyBytes.buffer, keyBytes.byteOffset, keyBytes.byteLength / 2);\n var keyByteStr = String.fromCharCode.apply(null, Array.from(keyBytesUtf16));\n\n // Parse Playready WRMHeader XML\n var xmlKeyBytes = keyByteStr.substring(keyByteStr.indexOf('<'), keyByteStr.length);\n var parser = new DOMParser();\n var xmlDoc = parser.parseFromString(xmlKeyBytes, 'text/xml');\n var keyData = xmlDoc.getElementsByTagName('KID')[0];\n if (keyData) {\n var keyId = keyData.childNodes[0] ? keyData.childNodes[0].nodeValue : keyData.getAttribute('VALUE');\n if (keyId) {\n var keyIdArray = base64Decode(keyId).subarray(0, 16);\n // KID value in PRO is a base64-encoded little endian GUID interpretation of UUID\n // KID value in ‘tenc’ is a big endian UUID GUID interpretation of UUID\n changeEndianness(keyIdArray);\n this.keyId = keyIdArray;\n }\n }\n break;\n }\n default:\n {\n var keydata = keyBytes.subarray(0, 16);\n if (keydata.length !== 16) {\n var padded = new Uint8Array(16);\n padded.set(keydata, 16 - keydata.length);\n keydata = padded;\n }\n this.keyId = keydata;\n break;\n }\n }\n }\n\n // Default behavior: assign a new keyId for each uri\n if (!this.keyId || this.keyId.byteLength !== 16) {\n var _keyId = keyUriToKeyIdMap[this.uri];\n if (!_keyId) {\n var val = Object.keys(keyUriToKeyIdMap).length % Number.MAX_SAFE_INTEGER;\n _keyId = new Uint8Array(16);\n var dv = new DataView(_keyId.buffer, 12, 4); // Just set the last 4 bytes\n dv.setUint32(0, val);\n keyUriToKeyIdMap[this.uri] = _keyId;\n }\n this.keyId = _keyId;\n }\n return this;\n };\n return LevelKey;\n }();\n function createInitializationVector(segmentNumber) {\n var uint8View = new Uint8Array(16);\n for (var i = 12; i < 16; i++) {\n uint8View[i] = segmentNumber >> 8 * (15 - i) & 0xff;\n }\n return uint8View;\n }\n\n var VARIABLE_REPLACEMENT_REGEX = /\\{\\$([a-zA-Z0-9-_]+)\\}/g;\n function hasVariableReferences(str) {\n return VARIABLE_REPLACEMENT_REGEX.test(str);\n }\n function substituteVariablesInAttributes(parsed, attr, attributeNames) {\n if (parsed.variableList !== null || parsed.hasVariableRefs) {\n for (var i = attributeNames.length; i--;) {\n var name = attributeNames[i];\n var value = attr[name];\n if (value) {\n attr[name] = substituteVariables(parsed, value);\n }\n }\n }\n }\n function substituteVariables(parsed, value) {\n if (parsed.variableList !== null || parsed.hasVariableRefs) {\n var variableList = parsed.variableList;\n return value.replace(VARIABLE_REPLACEMENT_REGEX, function (variableReference) {\n var variableName = variableReference.substring(2, variableReference.length - 1);\n var variableValue = variableList == null ? void 0 : variableList[variableName];\n if (variableValue === undefined) {\n parsed.playlistParsingError || (parsed.playlistParsingError = new Error(\"Missing preceding EXT-X-DEFINE tag for Variable Reference: \\\"\" + variableName + \"\\\"\"));\n return variableReference;\n }\n return variableValue;\n });\n }\n return value;\n }\n function addVariableDefinition(parsed, attr, parentUrl) {\n var variableList = parsed.variableList;\n if (!variableList) {\n parsed.variableList = variableList = {};\n }\n var NAME;\n var VALUE;\n if ('QUERYPARAM' in attr) {\n NAME = attr.QUERYPARAM;\n try {\n var searchParams = new self.URL(parentUrl).searchParams;\n if (searchParams.has(NAME)) {\n VALUE = searchParams.get(NAME);\n } else {\n throw new Error(\"\\\"\" + NAME + \"\\\" does not match any query parameter in URI: \\\"\" + parentUrl + \"\\\"\");\n }\n } catch (error) {\n parsed.playlistParsingError || (parsed.playlistParsingError = new Error(\"EXT-X-DEFINE QUERYPARAM: \" + error.message));\n }\n } else {\n NAME = attr.NAME;\n VALUE = attr.VALUE;\n }\n if (NAME in variableList) {\n parsed.playlistParsingError || (parsed.playlistParsingError = new Error(\"EXT-X-DEFINE duplicate Variable Name declarations: \\\"\" + NAME + \"\\\"\"));\n } else {\n variableList[NAME] = VALUE || '';\n }\n }\n function importVariableDefinition(parsed, attr, sourceVariableList) {\n var IMPORT = attr.IMPORT;\n if (sourceVariableList && IMPORT in sourceVariableList) {\n var variableList = parsed.variableList;\n if (!variableList) {\n parsed.variableList = variableList = {};\n }\n variableList[IMPORT] = sourceVariableList[IMPORT];\n } else {\n parsed.playlistParsingError || (parsed.playlistParsingError = new Error(\"EXT-X-DEFINE IMPORT attribute not found in Multivariant Playlist: \\\"\" + IMPORT + \"\\\"\"));\n }\n }\n\n /**\n * MediaSource helper\n */\n\n function getMediaSource(preferManagedMediaSource) {\n if (preferManagedMediaSource === void 0) {\n preferManagedMediaSource = true;\n }\n if (typeof self === 'undefined') return undefined;\n var mms = (preferManagedMediaSource || !self.MediaSource) && self.ManagedMediaSource;\n return mms || self.MediaSource || self.WebKitMediaSource;\n }\n\n // from http://mp4ra.org/codecs.html\n // values indicate codec selection preference (lower is higher priority)\n var sampleEntryCodesISO = {\n audio: {\n a3ds: 1,\n 'ac-3': 0.95,\n 'ac-4': 1,\n alac: 0.9,\n alaw: 1,\n dra1: 1,\n 'dts+': 1,\n 'dts-': 1,\n dtsc: 1,\n dtse: 1,\n dtsh: 1,\n 'ec-3': 0.9,\n enca: 1,\n fLaC: 0.9,\n // MP4-RA listed codec entry for FLAC\n flac: 0.9,\n // legacy browser codec name for FLAC\n FLAC: 0.9,\n // some manifests may list \"FLAC\" with Apple's tools\n g719: 1,\n g726: 1,\n m4ae: 1,\n mha1: 1,\n mha2: 1,\n mhm1: 1,\n mhm2: 1,\n mlpa: 1,\n mp4a: 1,\n 'raw ': 1,\n Opus: 1,\n opus: 1,\n // browsers expect this to be lowercase despite MP4RA says 'Opus'\n samr: 1,\n sawb: 1,\n sawp: 1,\n sevc: 1,\n sqcp: 1,\n ssmv: 1,\n twos: 1,\n ulaw: 1\n },\n video: {\n avc1: 1,\n avc2: 1,\n avc3: 1,\n avc4: 1,\n avcp: 1,\n av01: 0.8,\n drac: 1,\n dva1: 1,\n dvav: 1,\n dvh1: 0.7,\n dvhe: 0.7,\n encv: 1,\n hev1: 0.75,\n hvc1: 0.75,\n mjp2: 1,\n mp4v: 1,\n mvc1: 1,\n mvc2: 1,\n mvc3: 1,\n mvc4: 1,\n resv: 1,\n rv60: 1,\n s263: 1,\n svc1: 1,\n svc2: 1,\n 'vc-1': 1,\n vp08: 1,\n vp09: 0.9\n },\n text: {\n stpp: 1,\n wvtt: 1\n }\n };\n function isCodecType(codec, type) {\n var typeCodes = sampleEntryCodesISO[type];\n return !!typeCodes && !!typeCodes[codec.slice(0, 4)];\n }\n function areCodecsMediaSourceSupported(codecs, type, preferManagedMediaSource) {\n if (preferManagedMediaSource === void 0) {\n preferManagedMediaSource = true;\n }\n return !codecs.split(',').some(function (codec) {\n return !isCodecMediaSourceSupported(codec, type, preferManagedMediaSource);\n });\n }\n function isCodecMediaSourceSupported(codec, type, preferManagedMediaSource) {\n var _MediaSource$isTypeSu;\n if (preferManagedMediaSource === void 0) {\n preferManagedMediaSource = true;\n }\n var MediaSource = getMediaSource(preferManagedMediaSource);\n return (_MediaSource$isTypeSu = MediaSource == null ? void 0 : MediaSource.isTypeSupported(mimeTypeForCodec(codec, type))) != null ? _MediaSource$isTypeSu : false;\n }\n function mimeTypeForCodec(codec, type) {\n return type + \"/mp4;codecs=\\\"\" + codec + \"\\\"\";\n }\n function videoCodecPreferenceValue(videoCodec) {\n if (videoCodec) {\n var fourCC = videoCodec.substring(0, 4);\n return sampleEntryCodesISO.video[fourCC];\n }\n return 2;\n }\n function codecsSetSelectionPreferenceValue(codecSet) {\n return codecSet.split(',').reduce(function (num, fourCC) {\n var preferenceValue = sampleEntryCodesISO.video[fourCC];\n if (preferenceValue) {\n return (preferenceValue * 2 + num) / (num ? 3 : 2);\n }\n return (sampleEntryCodesISO.audio[fourCC] + num) / (num ? 2 : 1);\n }, 0);\n }\n var CODEC_COMPATIBLE_NAMES = {};\n function getCodecCompatibleNameLower(lowerCaseCodec, preferManagedMediaSource) {\n if (preferManagedMediaSource === void 0) {\n preferManagedMediaSource = true;\n }\n if (CODEC_COMPATIBLE_NAMES[lowerCaseCodec]) {\n return CODEC_COMPATIBLE_NAMES[lowerCaseCodec];\n }\n\n // Idealy fLaC and Opus would be first (spec-compliant) but\n // some browsers will report that fLaC is supported then fail.\n // see: https://bugs.chromium.org/p/chromium/issues/detail?id=1422728\n var codecsToCheck = {\n flac: ['flac', 'fLaC', 'FLAC'],\n opus: ['opus', 'Opus']\n }[lowerCaseCodec];\n for (var i = 0; i < codecsToCheck.length; i++) {\n if (isCodecMediaSourceSupported(codecsToCheck[i], 'audio', preferManagedMediaSource)) {\n CODEC_COMPATIBLE_NAMES[lowerCaseCodec] = codecsToCheck[i];\n return codecsToCheck[i];\n }\n }\n return lowerCaseCodec;\n }\n var AUDIO_CODEC_REGEXP = /flac|opus/i;\n function getCodecCompatibleName(codec, preferManagedMediaSource) {\n if (preferManagedMediaSource === void 0) {\n preferManagedMediaSource = true;\n }\n return codec.replace(AUDIO_CODEC_REGEXP, function (m) {\n return getCodecCompatibleNameLower(m.toLowerCase(), preferManagedMediaSource);\n });\n }\n function pickMostCompleteCodecName(parsedCodec, levelCodec) {\n // Parsing of mp4a codecs strings in mp4-tools from media is incomplete as of d8c6c7a\n // so use level codec is parsed codec is unavailable or incomplete\n if (parsedCodec && parsedCodec !== 'mp4a') {\n return parsedCodec;\n }\n return levelCodec;\n }\n function convertAVC1ToAVCOTI(codec) {\n // Convert avc1 codec string from RFC-4281 to RFC-6381 for MediaSource.isTypeSupported\n var avcdata = codec.split('.');\n if (avcdata.length > 2) {\n var result = avcdata.shift() + '.';\n result += parseInt(avcdata.shift()).toString(16);\n result += ('000' + parseInt(avcdata.shift()).toString(16)).slice(-4);\n return result;\n }\n return codec;\n }\n\n var MASTER_PLAYLIST_REGEX = /#EXT-X-STREAM-INF:([^\\r\\n]*)(?:[\\r\\n](?:#[^\\r\\n]*)?)*([^\\r\\n]+)|#EXT-X-(SESSION-DATA|SESSION-KEY|DEFINE|CONTENT-STEERING|START):([^\\r\\n]*)[\\r\\n]+/g;\n var MASTER_PLAYLIST_MEDIA_REGEX = /#EXT-X-MEDIA:(.*)/g;\n var IS_MEDIA_PLAYLIST = /^#EXT(?:INF|-X-TARGETDURATION):/m; // Handle empty Media Playlist (first EXTINF not signaled, but TARGETDURATION present)\n\n var LEVEL_PLAYLIST_REGEX_FAST = new RegExp([/#EXTINF:\\s*(\\d*(?:\\.\\d+)?)(?:,(.*)\\s+)?/.source,\n // duration (#EXTINF:<duration>,<title>), group 1 => duration, group 2 => title\n /(?!#) *(\\S[\\S ]*)/.source,\n // segment URI, group 3 => the URI (note newline is not eaten)\n /#EXT-X-BYTERANGE:*(.+)/.source,\n // next segment's byterange, group 4 => range spec (x@y)\n /#EXT-X-PROGRAM-DATE-TIME:(.+)/.source,\n // next segment's program date/time group 5 => the datetime spec\n /#.*/.source // All other non-segment oriented tags will match with all groups empty\n ].join('|'), 'g');\n var LEVEL_PLAYLIST_REGEX_SLOW = new RegExp([/#(EXTM3U)/.source, /#EXT-X-(DATERANGE|DEFINE|KEY|MAP|PART|PART-INF|PLAYLIST-TYPE|PRELOAD-HINT|RENDITION-REPORT|SERVER-CONTROL|SKIP|START):(.+)/.source, /#EXT-X-(BITRATE|DISCONTINUITY-SEQUENCE|MEDIA-SEQUENCE|TARGETDURATION|VERSION): *(\\d+)/.source, /#EXT-X-(DISCONTINUITY|ENDLIST|GAP|INDEPENDENT-SEGMENTS)/.source, /(#)([^:]*):(.*)/.source, /(#)(.*)(?:.*)\\r?\\n?/.source].join('|'));\n var M3U8Parser = /*#__PURE__*/function () {\n function M3U8Parser() {}\n M3U8Parser.findGroup = function findGroup(groups, mediaGroupId) {\n for (var i = 0; i < groups.length; i++) {\n var group = groups[i];\n if (group.id === mediaGroupId) {\n return group;\n }\n }\n };\n M3U8Parser.resolve = function resolve(url, baseUrl) {\n return urlToolkitExports.buildAbsoluteURL(baseUrl, url, {\n alwaysNormalize: true\n });\n };\n M3U8Parser.isMediaPlaylist = function isMediaPlaylist(str) {\n return IS_MEDIA_PLAYLIST.test(str);\n };\n M3U8Parser.parseMasterPlaylist = function parseMasterPlaylist(string, baseurl) {\n var hasVariableRefs = hasVariableReferences(string) ;\n var parsed = {\n contentSteering: null,\n levels: [],\n playlistParsingError: null,\n sessionData: null,\n sessionKeys: null,\n startTimeOffset: null,\n variableList: null,\n hasVariableRefs: hasVariableRefs\n };\n var levelsWithKnownCodecs = [];\n MASTER_PLAYLIST_REGEX.lastIndex = 0;\n var result;\n while ((result = MASTER_PLAYLIST_REGEX.exec(string)) != null) {\n if (result[1]) {\n var _level$unknownCodecs;\n // '#EXT-X-STREAM-INF' is found, parse level tag in group 1\n var attrs = new AttrList(result[1]);\n {\n substituteVariablesInAttributes(parsed, attrs, ['CODECS', 'SUPPLEMENTAL-CODECS', 'ALLOWED-CPC', 'PATHWAY-ID', 'STABLE-VARIANT-ID', 'AUDIO', 'VIDEO', 'SUBTITLES', 'CLOSED-CAPTIONS', 'NAME']);\n }\n var uri = substituteVariables(parsed, result[2]) ;\n var level = {\n attrs: attrs,\n bitrate: attrs.decimalInteger('BANDWIDTH') || attrs.decimalInteger('AVERAGE-BANDWIDTH'),\n name: attrs.NAME,\n url: M3U8Parser.resolve(uri, baseurl)\n };\n var resolution = attrs.decimalResolution('RESOLUTION');\n if (resolution) {\n level.width = resolution.width;\n level.height = resolution.height;\n }\n setCodecs(attrs.CODECS, level);\n if (!((_level$unknownCodecs = level.unknownCodecs) != null && _level$unknownCodecs.length)) {\n levelsWithKnownCodecs.push(level);\n }\n parsed.levels.push(level);\n } else if (result[3]) {\n var tag = result[3];\n var attributes = result[4];\n switch (tag) {\n case 'SESSION-DATA':\n {\n // #EXT-X-SESSION-DATA\n var sessionAttrs = new AttrList(attributes);\n {\n substituteVariablesInAttributes(parsed, sessionAttrs, ['DATA-ID', 'LANGUAGE', 'VALUE', 'URI']);\n }\n var dataId = sessionAttrs['DATA-ID'];\n if (dataId) {\n if (parsed.sessionData === null) {\n parsed.sessionData = {};\n }\n parsed.sessionData[dataId] = sessionAttrs;\n }\n break;\n }\n case 'SESSION-KEY':\n {\n // #EXT-X-SESSION-KEY\n var sessionKey = parseKey(attributes, baseurl, parsed);\n if (sessionKey.encrypted && sessionKey.isSupported()) {\n if (parsed.sessionKeys === null) {\n parsed.sessionKeys = [];\n }\n parsed.sessionKeys.push(sessionKey);\n } else {\n logger.warn(\"[Keys] Ignoring invalid EXT-X-SESSION-KEY tag: \\\"\" + attributes + \"\\\"\");\n }\n break;\n }\n case 'DEFINE':\n {\n // #EXT-X-DEFINE\n {\n var variableAttributes = new AttrList(attributes);\n substituteVariablesInAttributes(parsed, variableAttributes, ['NAME', 'VALUE', 'QUERYPARAM']);\n addVariableDefinition(parsed, variableAttributes, baseurl);\n }\n break;\n }\n case 'CONTENT-STEERING':\n {\n // #EXT-X-CONTENT-STEERING\n var contentSteeringAttributes = new AttrList(attributes);\n {\n substituteVariablesInAttributes(parsed, contentSteeringAttributes, ['SERVER-URI', 'PATHWAY-ID']);\n }\n parsed.contentSteering = {\n uri: M3U8Parser.resolve(contentSteeringAttributes['SERVER-URI'], baseurl),\n pathwayId: contentSteeringAttributes['PATHWAY-ID'] || '.'\n };\n break;\n }\n case 'START':\n {\n // #EXT-X-START\n parsed.startTimeOffset = parseStartTimeOffset(attributes);\n break;\n }\n }\n }\n }\n // Filter out levels with unknown codecs if it does not remove all levels\n var stripUnknownCodecLevels = levelsWithKnownCodecs.length > 0 && levelsWithKnownCodecs.length < parsed.levels.length;\n parsed.levels = stripUnknownCodecLevels ? levelsWithKnownCodecs : parsed.levels;\n if (parsed.levels.length === 0) {\n parsed.playlistParsingError = new Error('no levels found in manifest');\n }\n return parsed;\n };\n M3U8Parser.parseMasterPlaylistMedia = function parseMasterPlaylistMedia(string, baseurl, parsed) {\n var result;\n var results = {};\n var levels = parsed.levels;\n var groupsByType = {\n AUDIO: levels.map(function (level) {\n return {\n id: level.attrs.AUDIO,\n audioCodec: level.audioCodec\n };\n }),\n SUBTITLES: levels.map(function (level) {\n return {\n id: level.attrs.SUBTITLES,\n textCodec: level.textCodec\n };\n }),\n 'CLOSED-CAPTIONS': []\n };\n var id = 0;\n MASTER_PLAYLIST_MEDIA_REGEX.lastIndex = 0;\n while ((result = MASTER_PLAYLIST_MEDIA_REGEX.exec(string)) !== null) {\n var attrs = new AttrList(result[1]);\n var type = attrs.TYPE;\n if (type) {\n var groups = groupsByType[type];\n var medias = results[type] || [];\n results[type] = medias;\n {\n substituteVariablesInAttributes(parsed, attrs, ['URI', 'GROUP-ID', 'LANGUAGE', 'ASSOC-LANGUAGE', 'STABLE-RENDITION-ID', 'NAME', 'INSTREAM-ID', 'CHARACTERISTICS', 'CHANNELS']);\n }\n var lang = attrs.LANGUAGE;\n var assocLang = attrs['ASSOC-LANGUAGE'];\n var channels = attrs.CHANNELS;\n var characteristics = attrs.CHARACTERISTICS;\n var instreamId = attrs['INSTREAM-ID'];\n var media = {\n attrs: attrs,\n bitrate: 0,\n id: id++,\n groupId: attrs['GROUP-ID'] || '',\n name: attrs.NAME || lang || '',\n type: type,\n default: attrs.bool('DEFAULT'),\n autoselect: attrs.bool('AUTOSELECT'),\n forced: attrs.bool('FORCED'),\n lang: lang,\n url: attrs.URI ? M3U8Parser.resolve(attrs.URI, baseurl) : ''\n };\n if (assocLang) {\n media.assocLang = assocLang;\n }\n if (channels) {\n media.channels = channels;\n }\n if (characteristics) {\n media.characteristics = characteristics;\n }\n if (instreamId) {\n media.instreamId = instreamId;\n }\n if (groups != null && groups.length) {\n // If there are audio or text groups signalled in the manifest, let's look for a matching codec string for this track\n // If we don't find the track signalled, lets use the first audio groups codec we have\n // Acting as a best guess\n var groupCodec = M3U8Parser.findGroup(groups, media.groupId) || groups[0];\n assignCodec(media, groupCodec, 'audioCodec');\n assignCodec(media, groupCodec, 'textCodec');\n }\n medias.push(media);\n }\n }\n return results;\n };\n M3U8Parser.parseLevelPlaylist = function parseLevelPlaylist(string, baseurl, id, type, levelUrlId, multivariantVariableList) {\n var level = new LevelDetails(baseurl);\n var fragments = level.fragments;\n // The most recent init segment seen (applies to all subsequent segments)\n var currentInitSegment = null;\n var currentSN = 0;\n var currentPart = 0;\n var totalduration = 0;\n var discontinuityCounter = 0;\n var prevFrag = null;\n var frag = new Fragment(type, baseurl);\n var result;\n var i;\n var levelkeys;\n var firstPdtIndex = -1;\n var createNextFrag = false;\n var nextByteRange = null;\n LEVEL_PLAYLIST_REGEX_FAST.lastIndex = 0;\n level.m3u8 = string;\n level.hasVariableRefs = hasVariableReferences(string) ;\n while ((result = LEVEL_PLAYLIST_REGEX_FAST.exec(string)) !== null) {\n if (createNextFrag) {\n createNextFrag = false;\n frag = new Fragment(type, baseurl);\n // setup the next fragment for part loading\n frag.start = totalduration;\n frag.sn = currentSN;\n frag.cc = discontinuityCounter;\n frag.level = id;\n if (currentInitSegment) {\n frag.initSegment = currentInitSegment;\n frag.rawProgramDateTime = currentInitSegment.rawProgramDateTime;\n currentInitSegment.rawProgramDateTime = null;\n if (nextByteRange) {\n frag.setByteRange(nextByteRange);\n nextByteRange = null;\n }\n }\n }\n var duration = result[1];\n if (duration) {\n // INF\n frag.duration = parseFloat(duration);\n // avoid sliced strings https://github.com/video-dev/hls.js/issues/939\n var title = (' ' + result[2]).slice(1);\n frag.title = title || null;\n frag.tagList.push(title ? ['INF', duration, title] : ['INF', duration]);\n } else if (result[3]) {\n // url\n if (isFiniteNumber(frag.duration)) {\n frag.start = totalduration;\n if (levelkeys) {\n setFragLevelKeys(frag, levelkeys, level);\n }\n frag.sn = currentSN;\n frag.level = id;\n frag.cc = discontinuityCounter;\n fragments.push(frag);\n // avoid sliced strings https://github.com/video-dev/hls.js/issues/939\n var uri = (' ' + result[3]).slice(1);\n frag.relurl = substituteVariables(level, uri) ;\n assignProgramDateTime(frag, prevFrag);\n prevFrag = frag;\n totalduration += frag.duration;\n currentSN++;\n currentPart = 0;\n createNextFrag = true;\n }\n } else if (result[4]) {\n // X-BYTERANGE\n var data = (' ' + result[4]).slice(1);\n if (prevFrag) {\n frag.setByteRange(data, prevFrag);\n } else {\n frag.setByteRange(data);\n }\n } else if (result[5]) {\n // PROGRAM-DATE-TIME\n // avoid sliced strings https://github.com/video-dev/hls.js/issues/939\n frag.rawProgramDateTime = (' ' + result[5]).slice(1);\n frag.tagList.push(['PROGRAM-DATE-TIME', frag.rawProgramDateTime]);\n if (firstPdtIndex === -1) {\n firstPdtIndex = fragments.length;\n }\n } else {\n result = result[0].match(LEVEL_PLAYLIST_REGEX_SLOW);\n if (!result) {\n logger.warn('No matches on slow regex match for level playlist!');\n continue;\n }\n for (i = 1; i < result.length; i++) {\n if (typeof result[i] !== 'undefined') {\n break;\n }\n }\n\n // avoid sliced strings https://github.com/video-dev/hls.js/issues/939\n var tag = (' ' + result[i]).slice(1);\n var value1 = (' ' + result[i + 1]).slice(1);\n var value2 = result[i + 2] ? (' ' + result[i + 2]).slice(1) : '';\n switch (tag) {\n case 'PLAYLIST-TYPE':\n level.type = value1.toUpperCase();\n break;\n case 'MEDIA-SEQUENCE':\n currentSN = level.startSN = parseInt(value1);\n break;\n case 'SKIP':\n {\n var skipAttrs = new AttrList(value1);\n {\n substituteVariablesInAttributes(level, skipAttrs, ['RECENTLY-REMOVED-DATERANGES']);\n }\n var skippedSegments = skipAttrs.decimalInteger('SKIPPED-SEGMENTS');\n if (isFiniteNumber(skippedSegments)) {\n level.skippedSegments = skippedSegments;\n // This will result in fragments[] containing undefined values, which we will fill in with `mergeDetails`\n for (var _i = skippedSegments; _i--;) {\n fragments.unshift(null);\n }\n currentSN += skippedSegments;\n }\n var recentlyRemovedDateranges = skipAttrs.enumeratedString('RECENTLY-REMOVED-DATERANGES');\n if (recentlyRemovedDateranges) {\n level.recentlyRemovedDateranges = recentlyRemovedDateranges.split('\\t');\n }\n break;\n }\n case 'TARGETDURATION':\n level.targetduration = Math.max(parseInt(value1), 1);\n break;\n case 'VERSION':\n level.version = parseInt(value1);\n break;\n case 'INDEPENDENT-SEGMENTS':\n case 'EXTM3U':\n break;\n case 'ENDLIST':\n level.live = false;\n break;\n case '#':\n if (value1 || value2) {\n frag.tagList.push(value2 ? [value1, value2] : [value1]);\n }\n break;\n case 'DISCONTINUITY':\n discontinuityCounter++;\n frag.tagList.push(['DIS']);\n break;\n case 'GAP':\n frag.gap = true;\n frag.tagList.push([tag]);\n break;\n case 'BITRATE':\n frag.tagList.push([tag, value1]);\n break;\n case 'DATERANGE':\n {\n var dateRangeAttr = new AttrList(value1);\n {\n substituteVariablesInAttributes(level, dateRangeAttr, ['ID', 'CLASS', 'START-DATE', 'END-DATE', 'SCTE35-CMD', 'SCTE35-OUT', 'SCTE35-IN']);\n substituteVariablesInAttributes(level, dateRangeAttr, dateRangeAttr.clientAttrs);\n }\n var dateRange = new DateRange(dateRangeAttr, level.dateRanges[dateRangeAttr.ID]);\n if (dateRange.isValid || level.skippedSegments) {\n level.dateRanges[dateRange.id] = dateRange;\n } else {\n logger.warn(\"Ignoring invalid DATERANGE tag: \\\"\" + value1 + \"\\\"\");\n }\n // Add to fragment tag list for backwards compatibility (< v1.2.0)\n frag.tagList.push(['EXT-X-DATERANGE', value1]);\n break;\n }\n case 'DEFINE':\n {\n {\n var variableAttributes = new AttrList(value1);\n substituteVariablesInAttributes(level, variableAttributes, ['NAME', 'VALUE', 'IMPORT', 'QUERYPARAM']);\n if ('IMPORT' in variableAttributes) {\n importVariableDefinition(level, variableAttributes, multivariantVariableList);\n } else {\n addVariableDefinition(level, variableAttributes, baseurl);\n }\n }\n break;\n }\n case 'DISCONTINUITY-SEQUENCE':\n discontinuityCounter = parseInt(value1);\n break;\n case 'KEY':\n {\n var levelKey = parseKey(value1, baseurl, level);\n if (levelKey.isSupported()) {\n if (levelKey.method === 'NONE') {\n levelkeys = undefined;\n break;\n }\n if (!levelkeys) {\n levelkeys = {};\n }\n if (levelkeys[levelKey.keyFormat]) {\n levelkeys = _extends({}, levelkeys);\n }\n levelkeys[levelKey.keyFormat] = levelKey;\n } else {\n logger.warn(\"[Keys] Ignoring invalid EXT-X-KEY tag: \\\"\" + value1 + \"\\\"\");\n }\n break;\n }\n case 'START':\n level.startTimeOffset = parseStartTimeOffset(value1);\n break;\n case 'MAP':\n {\n var mapAttrs = new AttrList(value1);\n {\n substituteVariablesInAttributes(level, mapAttrs, ['BYTERANGE', 'URI']);\n }\n if (frag.duration) {\n // Initial segment tag is after segment duration tag.\n // #EXTINF: 6.0\n // #EXT-X-MAP:URI=\"init.mp4\n var init = new Fragment(type, baseurl);\n setInitSegment(init, mapAttrs, id, levelkeys);\n currentInitSegment = init;\n frag.initSegment = currentInitSegment;\n if (currentInitSegment.rawProgramDateTime && !frag.rawProgramDateTime) {\n frag.rawProgramDateTime = currentInitSegment.rawProgramDateTime;\n }\n } else {\n // Initial segment tag is before segment duration tag\n // Handle case where EXT-X-MAP is declared after EXT-X-BYTERANGE\n var end = frag.byteRangeEndOffset;\n if (end) {\n var start = frag.byteRangeStartOffset;\n nextByteRange = end - start + \"@\" + start;\n } else {\n nextByteRange = null;\n }\n setInitSegment(frag, mapAttrs, id, levelkeys);\n currentInitSegment = frag;\n createNextFrag = true;\n }\n break;\n }\n case 'SERVER-CONTROL':\n {\n var serverControlAttrs = new AttrList(value1);\n level.canBlockReload = serverControlAttrs.bool('CAN-BLOCK-RELOAD');\n level.canSkipUntil = serverControlAttrs.optionalFloat('CAN-SKIP-UNTIL', 0);\n level.canSkipDateRanges = level.canSkipUntil > 0 && serverControlAttrs.bool('CAN-SKIP-DATERANGES');\n level.partHoldBack = serverControlAttrs.optionalFloat('PART-HOLD-BACK', 0);\n level.holdBack = serverControlAttrs.optionalFloat('HOLD-BACK', 0);\n break;\n }\n case 'PART-INF':\n {\n var partInfAttrs = new AttrList(value1);\n level.partTarget = partInfAttrs.decimalFloatingPoint('PART-TARGET');\n break;\n }\n case 'PART':\n {\n var partList = level.partList;\n if (!partList) {\n partList = level.partList = [];\n }\n var previousFragmentPart = currentPart > 0 ? partList[partList.length - 1] : undefined;\n var index = currentPart++;\n var partAttrs = new AttrList(value1);\n {\n substituteVariablesInAttributes(level, partAttrs, ['BYTERANGE', 'URI']);\n }\n var part = new Part(partAttrs, frag, baseurl, index, previousFragmentPart);\n partList.push(part);\n frag.duration += part.duration;\n break;\n }\n case 'PRELOAD-HINT':\n {\n var preloadHintAttrs = new AttrList(value1);\n {\n substituteVariablesInAttributes(level, preloadHintAttrs, ['URI']);\n }\n level.preloadHint = preloadHintAttrs;\n break;\n }\n case 'RENDITION-REPORT':\n {\n var renditionReportAttrs = new AttrList(value1);\n {\n substituteVariablesInAttributes(level, renditionReportAttrs, ['URI']);\n }\n level.renditionReports = level.renditionReports || [];\n level.renditionReports.push(renditionReportAttrs);\n break;\n }\n default:\n logger.warn(\"line parsed but not handled: \" + result);\n break;\n }\n }\n }\n if (prevFrag && !prevFrag.relurl) {\n fragments.pop();\n totalduration -= prevFrag.duration;\n if (level.partList) {\n level.fragmentHint = prevFrag;\n }\n } else if (level.partList) {\n assignProgramDateTime(frag, prevFrag);\n frag.cc = discontinuityCounter;\n level.fragmentHint = frag;\n if (levelkeys) {\n setFragLevelKeys(frag, levelkeys, level);\n }\n }\n var fragmentLength = fragments.length;\n var firstFragment = fragments[0];\n var lastFragment = fragments[fragmentLength - 1];\n totalduration += level.skippedSegments * level.targetduration;\n if (totalduration > 0 && fragmentLength && lastFragment) {\n level.averagetargetduration = totalduration / fragmentLength;\n var lastSn = lastFragment.sn;\n level.endSN = lastSn !== 'initSegment' ? lastSn : 0;\n if (!level.live) {\n lastFragment.endList = true;\n }\n if (firstFragment) {\n level.startCC = firstFragment.cc;\n }\n } else {\n level.endSN = 0;\n level.startCC = 0;\n }\n if (level.fragmentHint) {\n totalduration += level.fragmentHint.duration;\n }\n level.totalduration = totalduration;\n level.endCC = discontinuityCounter;\n\n /**\n * Backfill any missing PDT values\n * \"If the first EXT-X-PROGRAM-DATE-TIME tag in a Playlist appears after\n * one or more Media Segment URIs, the client SHOULD extrapolate\n * backward from that tag (using EXTINF durations and/or media\n * timestamps) to associate dates with those segments.\"\n * We have already extrapolated forward, but all fragments up to the first instance of PDT do not have their PDTs\n * computed.\n */\n if (firstPdtIndex > 0) {\n backfillProgramDateTimes(fragments, firstPdtIndex);\n }\n return level;\n };\n return M3U8Parser;\n }();\n function parseKey(keyTagAttributes, baseurl, parsed) {\n var _keyAttrs$METHOD, _keyAttrs$KEYFORMAT;\n // https://tools.ietf.org/html/rfc8216#section-4.3.2.4\n var keyAttrs = new AttrList(keyTagAttributes);\n {\n substituteVariablesInAttributes(parsed, keyAttrs, ['KEYFORMAT', 'KEYFORMATVERSIONS', 'URI', 'IV', 'URI']);\n }\n var decryptmethod = (_keyAttrs$METHOD = keyAttrs.METHOD) != null ? _keyAttrs$METHOD : '';\n var decrypturi = keyAttrs.URI;\n var decryptiv = keyAttrs.hexadecimalInteger('IV');\n var decryptkeyformatversions = keyAttrs.KEYFORMATVERSIONS;\n // From RFC: This attribute is OPTIONAL; its absence indicates an implicit value of \"identity\".\n var decryptkeyformat = (_keyAttrs$KEYFORMAT = keyAttrs.KEYFORMAT) != null ? _keyAttrs$KEYFORMAT : 'identity';\n if (decrypturi && keyAttrs.IV && !decryptiv) {\n logger.error(\"Invalid IV: \" + keyAttrs.IV);\n }\n // If decrypturi is a URI with a scheme, then baseurl will be ignored\n // No uri is allowed when METHOD is NONE\n var resolvedUri = decrypturi ? M3U8Parser.resolve(decrypturi, baseurl) : '';\n var keyFormatVersions = (decryptkeyformatversions ? decryptkeyformatversions : '1').split('/').map(Number).filter(Number.isFinite);\n return new LevelKey(decryptmethod, resolvedUri, decryptkeyformat, keyFormatVersions, decryptiv);\n }\n function parseStartTimeOffset(startAttributes) {\n var startAttrs = new AttrList(startAttributes);\n var startTimeOffset = startAttrs.decimalFloatingPoint('TIME-OFFSET');\n if (isFiniteNumber(startTimeOffset)) {\n return startTimeOffset;\n }\n return null;\n }\n function setCodecs(codecsAttributeValue, level) {\n var codecs = (codecsAttributeValue || '').split(/[ ,]+/).filter(function (c) {\n return c;\n });\n ['video', 'audio', 'text'].forEach(function (type) {\n var filtered = codecs.filter(function (codec) {\n return isCodecType(codec, type);\n });\n if (filtered.length) {\n // Comma separated list of all codecs for type\n level[type + \"Codec\"] = filtered.join(',');\n // Remove known codecs so that only unknownCodecs are left after iterating through each type\n codecs = codecs.filter(function (codec) {\n return filtered.indexOf(codec) === -1;\n });\n }\n });\n level.unknownCodecs = codecs;\n }\n function assignCodec(media, groupItem, codecProperty) {\n var codecValue = groupItem[codecProperty];\n if (codecValue) {\n media[codecProperty] = codecValue;\n }\n }\n function backfillProgramDateTimes(fragments, firstPdtIndex) {\n var fragPrev = fragments[firstPdtIndex];\n for (var i = firstPdtIndex; i--;) {\n var frag = fragments[i];\n // Exit on delta-playlist skipped segments\n if (!frag) {\n return;\n }\n frag.programDateTime = fragPrev.programDateTime - frag.duration * 1000;\n fragPrev = frag;\n }\n }\n function assignProgramDateTime(frag, prevFrag) {\n if (frag.rawProgramDateTime) {\n frag.programDateTime = Date.parse(frag.rawProgramDateTime);\n } else if (prevFrag != null && prevFrag.programDateTime) {\n frag.programDateTime = prevFrag.endProgramDateTime;\n }\n if (!isFiniteNumber(frag.programDateTime)) {\n frag.programDateTime = null;\n frag.rawProgramDateTime = null;\n }\n }\n function setInitSegment(frag, mapAttrs, id, levelkeys) {\n frag.relurl = mapAttrs.URI;\n if (mapAttrs.BYTERANGE) {\n frag.setByteRange(mapAttrs.BYTERANGE);\n }\n frag.level = id;\n frag.sn = 'initSegment';\n if (levelkeys) {\n frag.levelkeys = levelkeys;\n }\n frag.initSegment = null;\n }\n function setFragLevelKeys(frag, levelkeys, level) {\n frag.levelkeys = levelkeys;\n var encryptedFragments = level.encryptedFragments;\n if ((!encryptedFragments.length || encryptedFragments[encryptedFragments.length - 1].levelkeys !== levelkeys) && Object.keys(levelkeys).some(function (format) {\n return levelkeys[format].isCommonEncryption;\n })) {\n encryptedFragments.push(frag);\n }\n }\n\n var PlaylistContextType = {\n MANIFEST: \"manifest\",\n LEVEL: \"level\",\n AUDIO_TRACK: \"audioTrack\",\n SUBTITLE_TRACK: \"subtitleTrack\"\n };\n var PlaylistLevelType = {\n MAIN: \"main\",\n AUDIO: \"audio\",\n SUBTITLE: \"subtitle\"\n };\n\n function mapContextToLevelType(context) {\n var type = context.type;\n switch (type) {\n case PlaylistContextType.AUDIO_TRACK:\n return PlaylistLevelType.AUDIO;\n case PlaylistContextType.SUBTITLE_TRACK:\n return PlaylistLevelType.SUBTITLE;\n default:\n return PlaylistLevelType.MAIN;\n }\n }\n function getResponseUrl(response, context) {\n var url = response.url;\n // responseURL not supported on some browsers (it is used to detect URL redirection)\n // data-uri mode also not supported (but no need to detect redirection)\n if (url === undefined || url.indexOf('data:') === 0) {\n // fallback to initial URL\n url = context.url;\n }\n return url;\n }\n var PlaylistLoader = /*#__PURE__*/function () {\n function PlaylistLoader(hls) {\n this.hls = void 0;\n this.loaders = Object.create(null);\n this.variableList = null;\n this.hls = hls;\n this.registerListeners();\n }\n var _proto = PlaylistLoader.prototype;\n _proto.startLoad = function startLoad(startPosition) {};\n _proto.stopLoad = function stopLoad() {\n this.destroyInternalLoaders();\n };\n _proto.registerListeners = function registerListeners() {\n var hls = this.hls;\n hls.on(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.on(Events.LEVEL_LOADING, this.onLevelLoading, this);\n hls.on(Events.AUDIO_TRACK_LOADING, this.onAudioTrackLoading, this);\n hls.on(Events.SUBTITLE_TRACK_LOADING, this.onSubtitleTrackLoading, this);\n };\n _proto.unregisterListeners = function unregisterListeners() {\n var hls = this.hls;\n hls.off(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.off(Events.LEVEL_LOADING, this.onLevelLoading, this);\n hls.off(Events.AUDIO_TRACK_LOADING, this.onAudioTrackLoading, this);\n hls.off(Events.SUBTITLE_TRACK_LOADING, this.onSubtitleTrackLoading, this);\n }\n\n /**\n * Returns defaults or configured loader-type overloads (pLoader and loader config params)\n */;\n _proto.createInternalLoader = function createInternalLoader(context) {\n var config = this.hls.config;\n var PLoader = config.pLoader;\n var Loader = config.loader;\n var InternalLoader = PLoader || Loader;\n var loader = new InternalLoader(config);\n this.loaders[context.type] = loader;\n return loader;\n };\n _proto.getInternalLoader = function getInternalLoader(context) {\n return this.loaders[context.type];\n };\n _proto.resetInternalLoader = function resetInternalLoader(contextType) {\n if (this.loaders[contextType]) {\n delete this.loaders[contextType];\n }\n }\n\n /**\n * Call `destroy` on all internal loader instances mapped (one per context type)\n */;\n _proto.destroyInternalLoaders = function destroyInternalLoaders() {\n for (var contextType in this.loaders) {\n var loader = this.loaders[contextType];\n if (loader) {\n loader.destroy();\n }\n this.resetInternalLoader(contextType);\n }\n };\n _proto.destroy = function destroy() {\n this.variableList = null;\n this.unregisterListeners();\n this.destroyInternalLoaders();\n };\n _proto.onManifestLoading = function onManifestLoading(event, data) {\n var url = data.url;\n this.variableList = null;\n this.load({\n id: null,\n level: 0,\n responseType: 'text',\n type: PlaylistContextType.MANIFEST,\n url: url,\n deliveryDirectives: null\n });\n };\n _proto.onLevelLoading = function onLevelLoading(event, data) {\n var id = data.id,\n level = data.level,\n pathwayId = data.pathwayId,\n url = data.url,\n deliveryDirectives = data.deliveryDirectives;\n this.load({\n id: id,\n level: level,\n pathwayId: pathwayId,\n responseType: 'text',\n type: PlaylistContextType.LEVEL,\n url: url,\n deliveryDirectives: deliveryDirectives\n });\n };\n _proto.onAudioTrackLoading = function onAudioTrackLoading(event, data) {\n var id = data.id,\n groupId = data.groupId,\n url = data.url,\n deliveryDirectives = data.deliveryDirectives;\n this.load({\n id: id,\n groupId: groupId,\n level: null,\n responseType: 'text',\n type: PlaylistContextType.AUDIO_TRACK,\n url: url,\n deliveryDirectives: deliveryDirectives\n });\n };\n _proto.onSubtitleTrackLoading = function onSubtitleTrackLoading(event, data) {\n var id = data.id,\n groupId = data.groupId,\n url = data.url,\n deliveryDirectives = data.deliveryDirectives;\n this.load({\n id: id,\n groupId: groupId,\n level: null,\n responseType: 'text',\n type: PlaylistContextType.SUBTITLE_TRACK,\n url: url,\n deliveryDirectives: deliveryDirectives\n });\n };\n _proto.load = function load(context) {\n var _context$deliveryDire,\n _this = this;\n var config = this.hls.config;\n\n // logger.debug(`[playlist-loader]: Loading playlist of type ${context.type}, level: ${context.level}, id: ${context.id}`);\n\n // Check if a loader for this context already exists\n var loader = this.getInternalLoader(context);\n if (loader) {\n var loaderContext = loader.context;\n if (loaderContext && loaderContext.url === context.url && loaderContext.level === context.level) {\n // same URL can't overlap\n logger.trace('[playlist-loader]: playlist request ongoing');\n return;\n }\n logger.log(\"[playlist-loader]: aborting previous loader for type: \" + context.type);\n loader.abort();\n }\n\n // apply different configs for retries depending on\n // context (manifest, level, audio/subs playlist)\n var loadPolicy;\n if (context.type === PlaylistContextType.MANIFEST) {\n loadPolicy = config.manifestLoadPolicy.default;\n } else {\n loadPolicy = _extends({}, config.playlistLoadPolicy.default, {\n timeoutRetry: null,\n errorRetry: null\n });\n }\n loader = this.createInternalLoader(context);\n\n // Override level/track timeout for LL-HLS requests\n // (the default of 10000ms is counter productive to blocking playlist reload requests)\n if (isFiniteNumber((_context$deliveryDire = context.deliveryDirectives) == null ? void 0 : _context$deliveryDire.part)) {\n var levelDetails;\n if (context.type === PlaylistContextType.LEVEL && context.level !== null) {\n levelDetails = this.hls.levels[context.level].details;\n } else if (context.type === PlaylistContextType.AUDIO_TRACK && context.id !== null) {\n levelDetails = this.hls.audioTracks[context.id].details;\n } else if (context.type === PlaylistContextType.SUBTITLE_TRACK && context.id !== null) {\n levelDetails = this.hls.subtitleTracks[context.id].details;\n }\n if (levelDetails) {\n var partTarget = levelDetails.partTarget;\n var targetDuration = levelDetails.targetduration;\n if (partTarget && targetDuration) {\n var maxLowLatencyPlaylistRefresh = Math.max(partTarget * 3, targetDuration * 0.8) * 1000;\n loadPolicy = _extends({}, loadPolicy, {\n maxTimeToFirstByteMs: Math.min(maxLowLatencyPlaylistRefresh, loadPolicy.maxTimeToFirstByteMs),\n maxLoadTimeMs: Math.min(maxLowLatencyPlaylistRefresh, loadPolicy.maxTimeToFirstByteMs)\n });\n }\n }\n }\n var legacyRetryCompatibility = loadPolicy.errorRetry || loadPolicy.timeoutRetry || {};\n var loaderConfig = {\n loadPolicy: loadPolicy,\n timeout: loadPolicy.maxLoadTimeMs,\n maxRetry: legacyRetryCompatibility.maxNumRetry || 0,\n retryDelay: legacyRetryCompatibility.retryDelayMs || 0,\n maxRetryDelay: legacyRetryCompatibility.maxRetryDelayMs || 0\n };\n var loaderCallbacks = {\n onSuccess: function onSuccess(response, stats, context, networkDetails) {\n var loader = _this.getInternalLoader(context);\n _this.resetInternalLoader(context.type);\n var string = response.data;\n\n // Validate if it is an M3U8 at all\n if (string.indexOf('#EXTM3U') !== 0) {\n _this.handleManifestParsingError(response, context, new Error('no EXTM3U delimiter'), networkDetails || null, stats);\n return;\n }\n stats.parsing.start = performance.now();\n if (M3U8Parser.isMediaPlaylist(string)) {\n _this.handleTrackOrLevelPlaylist(response, stats, context, networkDetails || null, loader);\n } else {\n _this.handleMasterPlaylist(response, stats, context, networkDetails);\n }\n },\n onError: function onError(response, context, networkDetails, stats) {\n _this.handleNetworkError(context, networkDetails, false, response, stats);\n },\n onTimeout: function onTimeout(stats, context, networkDetails) {\n _this.handleNetworkError(context, networkDetails, true, undefined, stats);\n }\n };\n\n // logger.debug(`[playlist-loader]: Calling internal loader delegate for URL: ${context.url}`);\n\n loader.load(context, loaderConfig, loaderCallbacks);\n };\n _proto.handleMasterPlaylist = function handleMasterPlaylist(response, stats, context, networkDetails) {\n var hls = this.hls;\n var string = response.data;\n var url = getResponseUrl(response, context);\n var parsedResult = M3U8Parser.parseMasterPlaylist(string, url);\n if (parsedResult.playlistParsingError) {\n this.handleManifestParsingError(response, context, parsedResult.playlistParsingError, networkDetails, stats);\n return;\n }\n var contentSteering = parsedResult.contentSteering,\n levels = parsedResult.levels,\n sessionData = parsedResult.sessionData,\n sessionKeys = parsedResult.sessionKeys,\n startTimeOffset = parsedResult.startTimeOffset,\n variableList = parsedResult.variableList;\n this.variableList = variableList;\n var _M3U8Parser$parseMast = M3U8Parser.parseMasterPlaylistMedia(string, url, parsedResult),\n _M3U8Parser$parseMast2 = _M3U8Parser$parseMast.AUDIO,\n audioTracks = _M3U8Parser$parseMast2 === void 0 ? [] : _M3U8Parser$parseMast2,\n subtitles = _M3U8Parser$parseMast.SUBTITLES,\n captions = _M3U8Parser$parseMast['CLOSED-CAPTIONS'];\n if (audioTracks.length) {\n // check if we have found an audio track embedded in main playlist (audio track without URI attribute)\n var embeddedAudioFound = audioTracks.some(function (audioTrack) {\n return !audioTrack.url;\n });\n\n // if no embedded audio track defined, but audio codec signaled in quality level,\n // we need to signal this main audio track this could happen with playlists with\n // alt audio rendition in which quality levels (main)\n // contains both audio+video. but with mixed audio track not signaled\n if (!embeddedAudioFound && levels[0].audioCodec && !levels[0].attrs.AUDIO) {\n logger.log('[playlist-loader]: audio codec signaled in quality level, but no embedded audio track signaled, create one');\n audioTracks.unshift({\n type: 'main',\n name: 'main',\n groupId: 'main',\n default: false,\n autoselect: false,\n forced: false,\n id: -1,\n attrs: new AttrList({}),\n bitrate: 0,\n url: ''\n });\n }\n }\n hls.trigger(Events.MANIFEST_LOADED, {\n levels: levels,\n audioTracks: audioTracks,\n subtitles: subtitles,\n captions: captions,\n contentSteering: contentSteering,\n url: url,\n stats: stats,\n networkDetails: networkDetails,\n sessionData: sessionData,\n sessionKeys: sessionKeys,\n startTimeOffset: startTimeOffset,\n variableList: variableList\n });\n };\n _proto.handleTrackOrLevelPlaylist = function handleTrackOrLevelPlaylist(response, stats, context, networkDetails, loader) {\n var hls = this.hls;\n var id = context.id,\n level = context.level,\n type = context.type;\n var url = getResponseUrl(response, context);\n var levelUrlId = 0;\n var levelId = isFiniteNumber(level) ? level : isFiniteNumber(id) ? id : 0;\n var levelType = mapContextToLevelType(context);\n var levelDetails = M3U8Parser.parseLevelPlaylist(response.data, url, levelId, levelType, levelUrlId, this.variableList);\n\n // We have done our first request (Manifest-type) and receive\n // not a master playlist but a chunk-list (track/level)\n // We fire the manifest-loaded event anyway with the parsed level-details\n // by creating a single-level structure for it.\n if (type === PlaylistContextType.MANIFEST) {\n var singleLevel = {\n attrs: new AttrList({}),\n bitrate: 0,\n details: levelDetails,\n name: '',\n url: url\n };\n hls.trigger(Events.MANIFEST_LOADED, {\n levels: [singleLevel],\n audioTracks: [],\n url: url,\n stats: stats,\n networkDetails: networkDetails,\n sessionData: null,\n sessionKeys: null,\n contentSteering: null,\n startTimeOffset: null,\n variableList: null\n });\n }\n\n // save parsing time\n stats.parsing.end = performance.now();\n\n // extend the context with the new levelDetails property\n context.levelDetails = levelDetails;\n this.handlePlaylistLoaded(levelDetails, response, stats, context, networkDetails, loader);\n };\n _proto.handleManifestParsingError = function handleManifestParsingError(response, context, error, networkDetails, stats) {\n this.hls.trigger(Events.ERROR, {\n type: ErrorTypes.NETWORK_ERROR,\n details: ErrorDetails.MANIFEST_PARSING_ERROR,\n fatal: context.type === PlaylistContextType.MANIFEST,\n url: response.url,\n err: error,\n error: error,\n reason: error.message,\n response: response,\n context: context,\n networkDetails: networkDetails,\n stats: stats\n });\n };\n _proto.handleNetworkError = function handleNetworkError(context, networkDetails, timeout, response, stats) {\n if (timeout === void 0) {\n timeout = false;\n }\n var message = \"A network \" + (timeout ? 'timeout' : 'error' + (response ? ' (status ' + response.code + ')' : '')) + \" occurred while loading \" + context.type;\n if (context.type === PlaylistContextType.LEVEL) {\n message += \": \" + context.level + \" id: \" + context.id;\n } else if (context.type === PlaylistContextType.AUDIO_TRACK || context.type === PlaylistContextType.SUBTITLE_TRACK) {\n message += \" id: \" + context.id + \" group-id: \\\"\" + context.groupId + \"\\\"\";\n }\n var error = new Error(message);\n logger.warn(\"[playlist-loader]: \" + message);\n var details = ErrorDetails.UNKNOWN;\n var fatal = false;\n var loader = this.getInternalLoader(context);\n switch (context.type) {\n case PlaylistContextType.MANIFEST:\n details = timeout ? ErrorDetails.MANIFEST_LOAD_TIMEOUT : ErrorDetails.MANIFEST_LOAD_ERROR;\n fatal = true;\n break;\n case PlaylistContextType.LEVEL:\n details = timeout ? ErrorDetails.LEVEL_LOAD_TIMEOUT : ErrorDetails.LEVEL_LOAD_ERROR;\n fatal = false;\n break;\n case PlaylistContextType.AUDIO_TRACK:\n details = timeout ? ErrorDetails.AUDIO_TRACK_LOAD_TIMEOUT : ErrorDetails.AUDIO_TRACK_LOAD_ERROR;\n fatal = false;\n break;\n case PlaylistContextType.SUBTITLE_TRACK:\n details = timeout ? ErrorDetails.SUBTITLE_TRACK_LOAD_TIMEOUT : ErrorDetails.SUBTITLE_LOAD_ERROR;\n fatal = false;\n break;\n }\n if (loader) {\n this.resetInternalLoader(context.type);\n }\n var errorData = {\n type: ErrorTypes.NETWORK_ERROR,\n details: details,\n fatal: fatal,\n url: context.url,\n loader: loader,\n context: context,\n error: error,\n networkDetails: networkDetails,\n stats: stats\n };\n if (response) {\n var url = (networkDetails == null ? void 0 : networkDetails.url) || context.url;\n errorData.response = _objectSpread2({\n url: url,\n data: undefined\n }, response);\n }\n this.hls.trigger(Events.ERROR, errorData);\n };\n _proto.handlePlaylistLoaded = function handlePlaylistLoaded(levelDetails, response, stats, context, networkDetails, loader) {\n var hls = this.hls;\n var type = context.type,\n level = context.level,\n id = context.id,\n groupId = context.groupId,\n deliveryDirectives = context.deliveryDirectives;\n var url = getResponseUrl(response, context);\n var parent = mapContextToLevelType(context);\n var levelIndex = typeof context.level === 'number' && parent === PlaylistLevelType.MAIN ? level : undefined;\n if (!levelDetails.fragments.length) {\n var _error = new Error('No Segments found in Playlist');\n hls.trigger(Events.ERROR, {\n type: ErrorTypes.NETWORK_ERROR,\n details: ErrorDetails.LEVEL_EMPTY_ERROR,\n fatal: false,\n url: url,\n error: _error,\n reason: _error.message,\n response: response,\n context: context,\n level: levelIndex,\n parent: parent,\n networkDetails: networkDetails,\n stats: stats\n });\n return;\n }\n if (!levelDetails.targetduration) {\n levelDetails.playlistParsingError = new Error('Missing Target Duration');\n }\n var error = levelDetails.playlistParsingError;\n if (error) {\n hls.trigger(Events.ERROR, {\n type: ErrorTypes.NETWORK_ERROR,\n details: ErrorDetails.LEVEL_PARSING_ERROR,\n fatal: false,\n url: url,\n error: error,\n reason: error.message,\n response: response,\n context: context,\n level: levelIndex,\n parent: parent,\n networkDetails: networkDetails,\n stats: stats\n });\n return;\n }\n if (levelDetails.live && loader) {\n if (loader.getCacheAge) {\n levelDetails.ageHeader = loader.getCacheAge() || 0;\n }\n if (!loader.getCacheAge || isNaN(levelDetails.ageHeader)) {\n levelDetails.ageHeader = 0;\n }\n }\n switch (type) {\n case PlaylistContextType.MANIFEST:\n case PlaylistContextType.LEVEL:\n hls.trigger(Events.LEVEL_LOADED, {\n details: levelDetails,\n level: levelIndex || 0,\n id: id || 0,\n stats: stats,\n networkDetails: networkDetails,\n deliveryDirectives: deliveryDirectives\n });\n break;\n case PlaylistContextType.AUDIO_TRACK:\n hls.trigger(Events.AUDIO_TRACK_LOADED, {\n details: levelDetails,\n id: id || 0,\n groupId: groupId || '',\n stats: stats,\n networkDetails: networkDetails,\n deliveryDirectives: deliveryDirectives\n });\n break;\n case PlaylistContextType.SUBTITLE_TRACK:\n hls.trigger(Events.SUBTITLE_TRACK_LOADED, {\n details: levelDetails,\n id: id || 0,\n groupId: groupId || '',\n stats: stats,\n networkDetails: networkDetails,\n deliveryDirectives: deliveryDirectives\n });\n break;\n }\n };\n return PlaylistLoader;\n }();\n\n function sendAddTrackEvent(track, videoEl) {\n var event;\n try {\n event = new Event('addtrack');\n } catch (err) {\n // for IE11\n event = document.createEvent('Event');\n event.initEvent('addtrack', false, false);\n }\n event.track = track;\n videoEl.dispatchEvent(event);\n }\n function addCueToTrack(track, cue) {\n // Sometimes there are cue overlaps on segmented vtts so the same\n // cue can appear more than once in different vtt files.\n // This avoid showing duplicated cues with same timecode and text.\n var mode = track.mode;\n if (mode === 'disabled') {\n track.mode = 'hidden';\n }\n if (track.cues && !track.cues.getCueById(cue.id)) {\n try {\n track.addCue(cue);\n if (!track.cues.getCueById(cue.id)) {\n throw new Error(\"addCue is failed for: \" + cue);\n }\n } catch (err) {\n logger.debug(\"[texttrack-utils]: \" + err);\n try {\n var textTrackCue = new self.TextTrackCue(cue.startTime, cue.endTime, cue.text);\n textTrackCue.id = cue.id;\n track.addCue(textTrackCue);\n } catch (err2) {\n logger.debug(\"[texttrack-utils]: Legacy TextTrackCue fallback failed: \" + err2);\n }\n }\n }\n if (mode === 'disabled') {\n track.mode = mode;\n }\n }\n function clearCurrentCues(track) {\n // When track.mode is disabled, track.cues will be null.\n // To guarantee the removal of cues, we need to temporarily\n // change the mode to hidden\n var mode = track.mode;\n if (mode === 'disabled') {\n track.mode = 'hidden';\n }\n if (track.cues) {\n for (var i = track.cues.length; i--;) {\n track.removeCue(track.cues[i]);\n }\n }\n if (mode === 'disabled') {\n track.mode = mode;\n }\n }\n function removeCuesInRange(track, start, end, predicate) {\n var mode = track.mode;\n if (mode === 'disabled') {\n track.mode = 'hidden';\n }\n if (track.cues && track.cues.length > 0) {\n var cues = getCuesInRange(track.cues, start, end);\n for (var i = 0; i < cues.length; i++) {\n if (!predicate || predicate(cues[i])) {\n track.removeCue(cues[i]);\n }\n }\n }\n if (mode === 'disabled') {\n track.mode = mode;\n }\n }\n\n // Find first cue starting after given time.\n // Modified version of binary search O(log(n)).\n function getFirstCueIndexAfterTime(cues, time) {\n // If first cue starts after time, start there\n if (time < cues[0].startTime) {\n return 0;\n }\n // If the last cue ends before time there is no overlap\n var len = cues.length - 1;\n if (time > cues[len].endTime) {\n return -1;\n }\n var left = 0;\n var right = len;\n while (left <= right) {\n var mid = Math.floor((right + left) / 2);\n if (time < cues[mid].startTime) {\n right = mid - 1;\n } else if (time > cues[mid].startTime && left < len) {\n left = mid + 1;\n } else {\n // If it's not lower or higher, it must be equal.\n return mid;\n }\n }\n // At this point, left and right have swapped.\n // No direct match was found, left or right element must be the closest. Check which one has the smallest diff.\n return cues[left].startTime - time < time - cues[right].startTime ? left : right;\n }\n function getCuesInRange(cues, start, end) {\n var cuesFound = [];\n var firstCueInRange = getFirstCueIndexAfterTime(cues, start);\n if (firstCueInRange > -1) {\n for (var i = firstCueInRange, len = cues.length; i < len; i++) {\n var _cue = cues[i];\n if (_cue.startTime >= start && _cue.endTime <= end) {\n cuesFound.push(_cue);\n } else if (_cue.startTime > end) {\n return cuesFound;\n }\n }\n }\n return cuesFound;\n }\n function filterSubtitleTracks(textTrackList) {\n var tracks = [];\n for (var i = 0; i < textTrackList.length; i++) {\n var track = textTrackList[i];\n // Edge adds a track without a label; we don't want to use it\n if ((track.kind === 'subtitles' || track.kind === 'captions') && track.label) {\n tracks.push(textTrackList[i]);\n }\n }\n return tracks;\n }\n\n var MetadataSchema = {\n audioId3: \"org.id3\",\n dateRange: \"com.apple.quicktime.HLS\",\n emsg: \"https://aomedia.org/emsg/ID3\"\n };\n\n var MIN_CUE_DURATION = 0.25;\n function getCueClass() {\n if (typeof self === 'undefined') return undefined;\n return self.VTTCue || self.TextTrackCue;\n }\n function createCueWithDataFields(Cue, startTime, endTime, data, type) {\n var cue = new Cue(startTime, endTime, '');\n try {\n cue.value = data;\n if (type) {\n cue.type = type;\n }\n } catch (e) {\n cue = new Cue(startTime, endTime, JSON.stringify(type ? _objectSpread2({\n type: type\n }, data) : data));\n }\n return cue;\n }\n\n // VTTCue latest draft allows an infinite duration, fallback\n // to MAX_VALUE if necessary\n var MAX_CUE_ENDTIME = function () {\n var Cue = getCueClass();\n try {\n Cue && new Cue(0, Number.POSITIVE_INFINITY, '');\n } catch (e) {\n return Number.MAX_VALUE;\n }\n return Number.POSITIVE_INFINITY;\n }();\n function dateRangeDateToTimelineSeconds(date, offset) {\n return date.getTime() / 1000 - offset;\n }\n function hexToArrayBuffer(str) {\n return Uint8Array.from(str.replace(/^0x/, '').replace(/([\\da-fA-F]{2}) ?/g, '0x$1 ').replace(/ +$/, '').split(' ')).buffer;\n }\n var ID3TrackController = /*#__PURE__*/function () {\n function ID3TrackController(hls) {\n this.hls = void 0;\n this.id3Track = null;\n this.media = null;\n this.dateRangeCuesAppended = {};\n this.hls = hls;\n this._registerListeners();\n }\n var _proto = ID3TrackController.prototype;\n _proto.destroy = function destroy() {\n this._unregisterListeners();\n this.id3Track = null;\n this.media = null;\n this.dateRangeCuesAppended = {};\n // @ts-ignore\n this.hls = null;\n };\n _proto._registerListeners = function _registerListeners() {\n var hls = this.hls;\n hls.on(Events.MEDIA_ATTACHED, this.onMediaAttached, this);\n hls.on(Events.MEDIA_DETACHING, this.onMediaDetaching, this);\n hls.on(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.on(Events.FRAG_PARSING_METADATA, this.onFragParsingMetadata, this);\n hls.on(Events.BUFFER_FLUSHING, this.onBufferFlushing, this);\n hls.on(Events.LEVEL_UPDATED, this.onLevelUpdated, this);\n };\n _proto._unregisterListeners = function _unregisterListeners() {\n var hls = this.hls;\n hls.off(Events.MEDIA_ATTACHED, this.onMediaAttached, this);\n hls.off(Events.MEDIA_DETACHING, this.onMediaDetaching, this);\n hls.off(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.off(Events.FRAG_PARSING_METADATA, this.onFragParsingMetadata, this);\n hls.off(Events.BUFFER_FLUSHING, this.onBufferFlushing, this);\n hls.off(Events.LEVEL_UPDATED, this.onLevelUpdated, this);\n }\n\n // Add ID3 metatadata text track.\n ;\n _proto.onMediaAttached = function onMediaAttached(event, data) {\n this.media = data.media;\n };\n _proto.onMediaDetaching = function onMediaDetaching() {\n if (!this.id3Track) {\n return;\n }\n clearCurrentCues(this.id3Track);\n this.id3Track = null;\n this.media = null;\n this.dateRangeCuesAppended = {};\n };\n _proto.onManifestLoading = function onManifestLoading() {\n this.dateRangeCuesAppended = {};\n };\n _proto.createTrack = function createTrack(media) {\n var track = this.getID3Track(media.textTracks);\n track.mode = 'hidden';\n return track;\n };\n _proto.getID3Track = function getID3Track(textTracks) {\n if (!this.media) {\n return;\n }\n for (var i = 0; i < textTracks.length; i++) {\n var textTrack = textTracks[i];\n if (textTrack.kind === 'metadata' && textTrack.label === 'id3') {\n // send 'addtrack' when reusing the textTrack for metadata,\n // same as what we do for captions\n sendAddTrackEvent(textTrack, this.media);\n return textTrack;\n }\n }\n return this.media.addTextTrack('metadata', 'id3');\n };\n _proto.onFragParsingMetadata = function onFragParsingMetadata(event, data) {\n if (!this.media) {\n return;\n }\n var _this$hls$config = this.hls.config,\n enableEmsgMetadataCues = _this$hls$config.enableEmsgMetadataCues,\n enableID3MetadataCues = _this$hls$config.enableID3MetadataCues;\n if (!enableEmsgMetadataCues && !enableID3MetadataCues) {\n return;\n }\n var samples = data.samples;\n\n // create track dynamically\n if (!this.id3Track) {\n this.id3Track = this.createTrack(this.media);\n }\n var Cue = getCueClass();\n if (!Cue) {\n return;\n }\n for (var i = 0; i < samples.length; i++) {\n var type = samples[i].type;\n if (type === MetadataSchema.emsg && !enableEmsgMetadataCues || !enableID3MetadataCues) {\n continue;\n }\n var frames = getID3Frames(samples[i].data);\n if (frames) {\n var startTime = samples[i].pts;\n var endTime = startTime + samples[i].duration;\n if (endTime > MAX_CUE_ENDTIME) {\n endTime = MAX_CUE_ENDTIME;\n }\n var timeDiff = endTime - startTime;\n if (timeDiff <= 0) {\n endTime = startTime + MIN_CUE_DURATION;\n }\n for (var j = 0; j < frames.length; j++) {\n var frame = frames[j];\n // Safari doesn't put the timestamp frame in the TextTrack\n if (!isTimeStampFrame(frame)) {\n // add a bounds to any unbounded cues\n this.updateId3CueEnds(startTime, type);\n var cue = createCueWithDataFields(Cue, startTime, endTime, frame, type);\n if (cue) {\n this.id3Track.addCue(cue);\n }\n }\n }\n }\n }\n };\n _proto.updateId3CueEnds = function updateId3CueEnds(startTime, type) {\n var _this$id3Track;\n var cues = (_this$id3Track = this.id3Track) == null ? void 0 : _this$id3Track.cues;\n if (cues) {\n for (var i = cues.length; i--;) {\n var cue = cues[i];\n if (cue.type === type && cue.startTime < startTime && cue.endTime === MAX_CUE_ENDTIME) {\n cue.endTime = startTime;\n }\n }\n }\n };\n _proto.onBufferFlushing = function onBufferFlushing(event, _ref) {\n var startOffset = _ref.startOffset,\n endOffset = _ref.endOffset,\n type = _ref.type;\n var id3Track = this.id3Track,\n hls = this.hls;\n if (!hls) {\n return;\n }\n var _hls$config = hls.config,\n enableEmsgMetadataCues = _hls$config.enableEmsgMetadataCues,\n enableID3MetadataCues = _hls$config.enableID3MetadataCues;\n if (id3Track && (enableEmsgMetadataCues || enableID3MetadataCues)) {\n var predicate;\n if (type === 'audio') {\n predicate = function predicate(cue) {\n return cue.type === MetadataSchema.audioId3 && enableID3MetadataCues;\n };\n } else if (type === 'video') {\n predicate = function predicate(cue) {\n return cue.type === MetadataSchema.emsg && enableEmsgMetadataCues;\n };\n } else {\n predicate = function predicate(cue) {\n return cue.type === MetadataSchema.audioId3 && enableID3MetadataCues || cue.type === MetadataSchema.emsg && enableEmsgMetadataCues;\n };\n }\n removeCuesInRange(id3Track, startOffset, endOffset, predicate);\n }\n };\n _proto.onLevelUpdated = function onLevelUpdated(event, _ref2) {\n var _this = this;\n var details = _ref2.details;\n if (!this.media || !details.hasProgramDateTime || !this.hls.config.enableDateRangeMetadataCues) {\n return;\n }\n var dateRangeCuesAppended = this.dateRangeCuesAppended,\n id3Track = this.id3Track;\n var dateRanges = details.dateRanges;\n var ids = Object.keys(dateRanges);\n // Remove cues from track not found in details.dateRanges\n if (id3Track) {\n var idsToRemove = Object.keys(dateRangeCuesAppended).filter(function (id) {\n return !ids.includes(id);\n });\n var _loop = function _loop() {\n var id = idsToRemove[i];\n Object.keys(dateRangeCuesAppended[id].cues).forEach(function (key) {\n id3Track.removeCue(dateRangeCuesAppended[id].cues[key]);\n });\n delete dateRangeCuesAppended[id];\n };\n for (var i = idsToRemove.length; i--;) {\n _loop();\n }\n }\n // Exit if the playlist does not have Date Ranges or does not have Program Date Time\n var lastFragment = details.fragments[details.fragments.length - 1];\n if (ids.length === 0 || !isFiniteNumber(lastFragment == null ? void 0 : lastFragment.programDateTime)) {\n return;\n }\n if (!this.id3Track) {\n this.id3Track = this.createTrack(this.media);\n }\n var dateTimeOffset = lastFragment.programDateTime / 1000 - lastFragment.start;\n var Cue = getCueClass();\n var _loop2 = function _loop2() {\n var id = ids[_i];\n var dateRange = dateRanges[id];\n var startTime = dateRangeDateToTimelineSeconds(dateRange.startDate, dateTimeOffset);\n\n // Process DateRanges to determine end-time (known DURATION, END-DATE, or END-ON-NEXT)\n var appendedDateRangeCues = dateRangeCuesAppended[id];\n var cues = (appendedDateRangeCues == null ? void 0 : appendedDateRangeCues.cues) || {};\n var durationKnown = (appendedDateRangeCues == null ? void 0 : appendedDateRangeCues.durationKnown) || false;\n var endTime = MAX_CUE_ENDTIME;\n var endDate = dateRange.endDate;\n if (endDate) {\n endTime = dateRangeDateToTimelineSeconds(endDate, dateTimeOffset);\n durationKnown = true;\n } else if (dateRange.endOnNext && !durationKnown) {\n var nextDateRangeWithSameClass = ids.reduce(function (candidateDateRange, id) {\n if (id !== dateRange.id) {\n var otherDateRange = dateRanges[id];\n if (otherDateRange.class === dateRange.class && otherDateRange.startDate > dateRange.startDate && (!candidateDateRange || dateRange.startDate < candidateDateRange.startDate)) {\n return otherDateRange;\n }\n }\n return candidateDateRange;\n }, null);\n if (nextDateRangeWithSameClass) {\n endTime = dateRangeDateToTimelineSeconds(nextDateRangeWithSameClass.startDate, dateTimeOffset);\n durationKnown = true;\n }\n }\n\n // Create TextTrack Cues for each MetadataGroup Item (select DateRange attribute)\n // This is to emulate Safari HLS playback handling of DateRange tags\n var attributes = Object.keys(dateRange.attr);\n for (var j = 0; j < attributes.length; j++) {\n var key = attributes[j];\n if (!isDateRangeCueAttribute(key)) {\n continue;\n }\n var cue = cues[key];\n if (cue) {\n if (durationKnown && !appendedDateRangeCues.durationKnown) {\n cue.endTime = endTime;\n }\n } else if (Cue) {\n var data = dateRange.attr[key];\n if (isSCTE35Attribute(key)) {\n data = hexToArrayBuffer(data);\n }\n var _cue = createCueWithDataFields(Cue, startTime, endTime, {\n key: key,\n data: data\n }, MetadataSchema.dateRange);\n if (_cue) {\n _cue.id = id;\n _this.id3Track.addCue(_cue);\n cues[key] = _cue;\n }\n }\n }\n\n // Keep track of processed DateRanges by ID for updating cues with new DateRange tag attributes\n dateRangeCuesAppended[id] = {\n cues: cues,\n dateRange: dateRange,\n durationKnown: durationKnown\n };\n };\n for (var _i = 0; _i < ids.length; _i++) {\n _loop2();\n }\n };\n return ID3TrackController;\n }();\n\n var LatencyController = /*#__PURE__*/function () {\n function LatencyController(hls) {\n var _this = this;\n this.hls = void 0;\n this.config = void 0;\n this.media = null;\n this.levelDetails = null;\n this.currentTime = 0;\n this.stallCount = 0;\n this._latency = null;\n this.timeupdateHandler = function () {\n return _this.timeupdate();\n };\n this.hls = hls;\n this.config = hls.config;\n this.registerListeners();\n }\n var _proto = LatencyController.prototype;\n _proto.destroy = function destroy() {\n this.unregisterListeners();\n this.onMediaDetaching();\n this.levelDetails = null;\n // @ts-ignore\n this.hls = this.timeupdateHandler = null;\n };\n _proto.registerListeners = function registerListeners() {\n this.hls.on(Events.MEDIA_ATTACHED, this.onMediaAttached, this);\n this.hls.on(Events.MEDIA_DETACHING, this.onMediaDetaching, this);\n this.hls.on(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n this.hls.on(Events.LEVEL_UPDATED, this.onLevelUpdated, this);\n this.hls.on(Events.ERROR, this.onError, this);\n };\n _proto.unregisterListeners = function unregisterListeners() {\n this.hls.off(Events.MEDIA_ATTACHED, this.onMediaAttached, this);\n this.hls.off(Events.MEDIA_DETACHING, this.onMediaDetaching, this);\n this.hls.off(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n this.hls.off(Events.LEVEL_UPDATED, this.onLevelUpdated, this);\n this.hls.off(Events.ERROR, this.onError, this);\n };\n _proto.onMediaAttached = function onMediaAttached(event, data) {\n this.media = data.media;\n this.media.addEventListener('timeupdate', this.timeupdateHandler);\n };\n _proto.onMediaDetaching = function onMediaDetaching() {\n if (this.media) {\n this.media.removeEventListener('timeupdate', this.timeupdateHandler);\n this.media = null;\n }\n };\n _proto.onManifestLoading = function onManifestLoading() {\n this.levelDetails = null;\n this._latency = null;\n this.stallCount = 0;\n };\n _proto.onLevelUpdated = function onLevelUpdated(event, _ref) {\n var details = _ref.details;\n this.levelDetails = details;\n if (details.advanced) {\n this.timeupdate();\n }\n if (!details.live && this.media) {\n this.media.removeEventListener('timeupdate', this.timeupdateHandler);\n }\n };\n _proto.onError = function onError(event, data) {\n var _this$levelDetails;\n if (data.details !== ErrorDetails.BUFFER_STALLED_ERROR) {\n return;\n }\n this.stallCount++;\n if ((_this$levelDetails = this.levelDetails) != null && _this$levelDetails.live) {\n logger.warn('[playback-rate-controller]: Stall detected, adjusting target latency');\n }\n };\n _proto.timeupdate = function timeupdate() {\n var media = this.media,\n levelDetails = this.levelDetails;\n if (!media || !levelDetails) {\n return;\n }\n this.currentTime = media.currentTime;\n var latency = this.computeLatency();\n if (latency === null) {\n return;\n }\n this._latency = latency;\n\n // Adapt playbackRate to meet target latency in low-latency mode\n var _this$config = this.config,\n lowLatencyMode = _this$config.lowLatencyMode,\n maxLiveSyncPlaybackRate = _this$config.maxLiveSyncPlaybackRate;\n if (!lowLatencyMode || maxLiveSyncPlaybackRate === 1 || !levelDetails.live) {\n return;\n }\n var targetLatency = this.targetLatency;\n if (targetLatency === null) {\n return;\n }\n var distanceFromTarget = latency - targetLatency;\n // Only adjust playbackRate when within one target duration of targetLatency\n // and more than one second from under-buffering.\n // Playback further than one target duration from target can be considered DVR playback.\n var liveMinLatencyDuration = Math.min(this.maxLatency, targetLatency + levelDetails.targetduration);\n var inLiveRange = distanceFromTarget < liveMinLatencyDuration;\n if (inLiveRange && distanceFromTarget > 0.05 && this.forwardBufferLength > 1) {\n var max = Math.min(2, Math.max(1.0, maxLiveSyncPlaybackRate));\n var rate = Math.round(2 / (1 + Math.exp(-0.75 * distanceFromTarget - this.edgeStalled)) * 20) / 20;\n media.playbackRate = Math.min(max, Math.max(1, rate));\n } else if (media.playbackRate !== 1 && media.playbackRate !== 0) {\n media.playbackRate = 1;\n }\n };\n _proto.estimateLiveEdge = function estimateLiveEdge() {\n var levelDetails = this.levelDetails;\n if (levelDetails === null) {\n return null;\n }\n return levelDetails.edge + levelDetails.age;\n };\n _proto.computeLatency = function computeLatency() {\n var liveEdge = this.estimateLiveEdge();\n if (liveEdge === null) {\n return null;\n }\n return liveEdge - this.currentTime;\n };\n _createClass(LatencyController, [{\n key: \"latency\",\n get: function get() {\n return this._latency || 0;\n }\n }, {\n key: \"maxLatency\",\n get: function get() {\n var config = this.config,\n levelDetails = this.levelDetails;\n if (config.liveMaxLatencyDuration !== undefined) {\n return config.liveMaxLatencyDuration;\n }\n return levelDetails ? config.liveMaxLatencyDurationCount * levelDetails.targetduration : 0;\n }\n }, {\n key: \"targetLatency\",\n get: function get() {\n var levelDetails = this.levelDetails;\n if (levelDetails === null) {\n return null;\n }\n var holdBack = levelDetails.holdBack,\n partHoldBack = levelDetails.partHoldBack,\n targetduration = levelDetails.targetduration;\n var _this$config2 = this.config,\n liveSyncDuration = _this$config2.liveSyncDuration,\n liveSyncDurationCount = _this$config2.liveSyncDurationCount,\n lowLatencyMode = _this$config2.lowLatencyMode;\n var userConfig = this.hls.userConfig;\n var targetLatency = lowLatencyMode ? partHoldBack || holdBack : holdBack;\n if (userConfig.liveSyncDuration || userConfig.liveSyncDurationCount || targetLatency === 0) {\n targetLatency = liveSyncDuration !== undefined ? liveSyncDuration : liveSyncDurationCount * targetduration;\n }\n var maxLiveSyncOnStallIncrease = targetduration;\n var liveSyncOnStallIncrease = 1.0;\n return targetLatency + Math.min(this.stallCount * liveSyncOnStallIncrease, maxLiveSyncOnStallIncrease);\n }\n }, {\n key: \"liveSyncPosition\",\n get: function get() {\n var liveEdge = this.estimateLiveEdge();\n var targetLatency = this.targetLatency;\n var levelDetails = this.levelDetails;\n if (liveEdge === null || targetLatency === null || levelDetails === null) {\n return null;\n }\n var edge = levelDetails.edge;\n var syncPosition = liveEdge - targetLatency - this.edgeStalled;\n var min = edge - levelDetails.totalduration;\n var max = edge - (this.config.lowLatencyMode && levelDetails.partTarget || levelDetails.targetduration);\n return Math.min(Math.max(min, syncPosition), max);\n }\n }, {\n key: \"drift\",\n get: function get() {\n var levelDetails = this.levelDetails;\n if (levelDetails === null) {\n return 1;\n }\n return levelDetails.drift;\n }\n }, {\n key: \"edgeStalled\",\n get: function get() {\n var levelDetails = this.levelDetails;\n if (levelDetails === null) {\n return 0;\n }\n var maxLevelUpdateAge = (this.config.lowLatencyMode && levelDetails.partTarget || levelDetails.targetduration) * 3;\n return Math.max(levelDetails.age - maxLevelUpdateAge, 0);\n }\n }, {\n key: \"forwardBufferLength\",\n get: function get() {\n var media = this.media,\n levelDetails = this.levelDetails;\n if (!media || !levelDetails) {\n return 0;\n }\n var bufferedRanges = media.buffered.length;\n return (bufferedRanges ? media.buffered.end(bufferedRanges - 1) : levelDetails.edge) - this.currentTime;\n }\n }]);\n return LatencyController;\n }();\n\n var HdcpLevels = ['NONE', 'TYPE-0', 'TYPE-1', null];\n function isHdcpLevel(value) {\n return HdcpLevels.indexOf(value) > -1;\n }\n var VideoRangeValues = ['SDR', 'PQ', 'HLG'];\n function isVideoRange(value) {\n return !!value && VideoRangeValues.indexOf(value) > -1;\n }\n var HlsSkip = {\n No: \"\",\n Yes: \"YES\",\n v2: \"v2\"\n };\n function getSkipValue(details, msn) {\n var canSkipUntil = details.canSkipUntil,\n canSkipDateRanges = details.canSkipDateRanges,\n endSN = details.endSN;\n var snChangeGoal = msn !== undefined ? msn - endSN : 0;\n if (canSkipUntil && snChangeGoal < canSkipUntil) {\n if (canSkipDateRanges) {\n return HlsSkip.v2;\n }\n return HlsSkip.Yes;\n }\n return HlsSkip.No;\n }\n var HlsUrlParameters = /*#__PURE__*/function () {\n function HlsUrlParameters(msn, part, skip) {\n this.msn = void 0;\n this.part = void 0;\n this.skip = void 0;\n this.msn = msn;\n this.part = part;\n this.skip = skip;\n }\n var _proto = HlsUrlParameters.prototype;\n _proto.addDirectives = function addDirectives(uri) {\n var url = new self.URL(uri);\n if (this.msn !== undefined) {\n url.searchParams.set('_HLS_msn', this.msn.toString());\n }\n if (this.part !== undefined) {\n url.searchParams.set('_HLS_part', this.part.toString());\n }\n if (this.skip) {\n url.searchParams.set('_HLS_skip', this.skip);\n }\n return url.href;\n };\n return HlsUrlParameters;\n }();\n var Level = /*#__PURE__*/function () {\n function Level(data) {\n this._attrs = void 0;\n this.audioCodec = void 0;\n this.bitrate = void 0;\n this.codecSet = void 0;\n this.url = void 0;\n this.frameRate = void 0;\n this.height = void 0;\n this.id = void 0;\n this.name = void 0;\n this.videoCodec = void 0;\n this.width = void 0;\n this.details = void 0;\n this.fragmentError = 0;\n this.loadError = 0;\n this.loaded = void 0;\n this.realBitrate = 0;\n this.supportedPromise = void 0;\n this.supportedResult = void 0;\n this._avgBitrate = 0;\n this._audioGroups = void 0;\n this._subtitleGroups = void 0;\n // Deprecated (retained for backwards compatibility)\n this._urlId = 0;\n this.url = [data.url];\n this._attrs = [data.attrs];\n this.bitrate = data.bitrate;\n if (data.details) {\n this.details = data.details;\n }\n this.id = data.id || 0;\n this.name = data.name;\n this.width = data.width || 0;\n this.height = data.height || 0;\n this.frameRate = data.attrs.optionalFloat('FRAME-RATE', 0);\n this._avgBitrate = data.attrs.decimalInteger('AVERAGE-BANDWIDTH');\n this.audioCodec = data.audioCodec;\n this.videoCodec = data.videoCodec;\n this.codecSet = [data.videoCodec, data.audioCodec].filter(function (c) {\n return !!c;\n }).map(function (s) {\n return s.substring(0, 4);\n }).join(',');\n this.addGroupId('audio', data.attrs.AUDIO);\n this.addGroupId('text', data.attrs.SUBTITLES);\n }\n var _proto2 = Level.prototype;\n _proto2.hasAudioGroup = function hasAudioGroup(groupId) {\n return hasGroup(this._audioGroups, groupId);\n };\n _proto2.hasSubtitleGroup = function hasSubtitleGroup(groupId) {\n return hasGroup(this._subtitleGroups, groupId);\n };\n _proto2.addGroupId = function addGroupId(type, groupId) {\n if (!groupId) {\n return;\n }\n if (type === 'audio') {\n var audioGroups = this._audioGroups;\n if (!audioGroups) {\n audioGroups = this._audioGroups = [];\n }\n if (audioGroups.indexOf(groupId) === -1) {\n audioGroups.push(groupId);\n }\n } else if (type === 'text') {\n var subtitleGroups = this._subtitleGroups;\n if (!subtitleGroups) {\n subtitleGroups = this._subtitleGroups = [];\n }\n if (subtitleGroups.indexOf(groupId) === -1) {\n subtitleGroups.push(groupId);\n }\n }\n }\n\n // Deprecated methods (retained for backwards compatibility)\n ;\n _proto2.addFallback = function addFallback() {};\n _createClass(Level, [{\n key: \"maxBitrate\",\n get: function get() {\n return Math.max(this.realBitrate, this.bitrate);\n }\n }, {\n key: \"averageBitrate\",\n get: function get() {\n return this._avgBitrate || this.realBitrate || this.bitrate;\n }\n }, {\n key: \"attrs\",\n get: function get() {\n return this._attrs[0];\n }\n }, {\n key: \"codecs\",\n get: function get() {\n return this.attrs.CODECS || '';\n }\n }, {\n key: \"pathwayId\",\n get: function get() {\n return this.attrs['PATHWAY-ID'] || '.';\n }\n }, {\n key: \"videoRange\",\n get: function get() {\n return this.attrs['VIDEO-RANGE'] || 'SDR';\n }\n }, {\n key: \"score\",\n get: function get() {\n return this.attrs.optionalFloat('SCORE', 0);\n }\n }, {\n key: \"uri\",\n get: function get() {\n return this.url[0] || '';\n }\n }, {\n key: \"audioGroups\",\n get: function get() {\n return this._audioGroups;\n }\n }, {\n key: \"subtitleGroups\",\n get: function get() {\n return this._subtitleGroups;\n }\n }, {\n key: \"urlId\",\n get: function get() {\n return 0;\n },\n set: function set(value) {}\n }, {\n key: \"audioGroupIds\",\n get: function get() {\n return this.audioGroups ? [this.audioGroupId] : undefined;\n }\n }, {\n key: \"textGroupIds\",\n get: function get() {\n return this.subtitleGroups ? [this.textGroupId] : undefined;\n }\n }, {\n key: \"audioGroupId\",\n get: function get() {\n var _this$audioGroups;\n return (_this$audioGroups = this.audioGroups) == null ? void 0 : _this$audioGroups[0];\n }\n }, {\n key: \"textGroupId\",\n get: function get() {\n var _this$subtitleGroups;\n return (_this$subtitleGroups = this.subtitleGroups) == null ? void 0 : _this$subtitleGroups[0];\n }\n }]);\n return Level;\n }();\n function hasGroup(groups, groupId) {\n if (!groupId || !groups) {\n return false;\n }\n return groups.indexOf(groupId) !== -1;\n }\n\n function updateFromToPTS(fragFrom, fragTo) {\n var fragToPTS = fragTo.startPTS;\n // if we know startPTS[toIdx]\n if (isFiniteNumber(fragToPTS)) {\n // update fragment duration.\n // it helps to fix drifts between playlist reported duration and fragment real duration\n var duration = 0;\n var frag;\n if (fragTo.sn > fragFrom.sn) {\n duration = fragToPTS - fragFrom.start;\n frag = fragFrom;\n } else {\n duration = fragFrom.start - fragToPTS;\n frag = fragTo;\n }\n if (frag.duration !== duration) {\n frag.duration = duration;\n }\n // we dont know startPTS[toIdx]\n } else if (fragTo.sn > fragFrom.sn) {\n var contiguous = fragFrom.cc === fragTo.cc;\n // TODO: With part-loading end/durations we need to confirm the whole fragment is loaded before using (or setting) minEndPTS\n if (contiguous && fragFrom.minEndPTS) {\n fragTo.start = fragFrom.start + (fragFrom.minEndPTS - fragFrom.start);\n } else {\n fragTo.start = fragFrom.start + fragFrom.duration;\n }\n } else {\n fragTo.start = Math.max(fragFrom.start - fragTo.duration, 0);\n }\n }\n function updateFragPTSDTS(details, frag, startPTS, endPTS, startDTS, endDTS) {\n var parsedMediaDuration = endPTS - startPTS;\n if (parsedMediaDuration <= 0) {\n logger.warn('Fragment should have a positive duration', frag);\n endPTS = startPTS + frag.duration;\n endDTS = startDTS + frag.duration;\n }\n var maxStartPTS = startPTS;\n var minEndPTS = endPTS;\n var fragStartPts = frag.startPTS;\n var fragEndPts = frag.endPTS;\n if (isFiniteNumber(fragStartPts)) {\n // delta PTS between audio and video\n var deltaPTS = Math.abs(fragStartPts - startPTS);\n if (!isFiniteNumber(frag.deltaPTS)) {\n frag.deltaPTS = deltaPTS;\n } else {\n frag.deltaPTS = Math.max(deltaPTS, frag.deltaPTS);\n }\n maxStartPTS = Math.max(startPTS, fragStartPts);\n startPTS = Math.min(startPTS, fragStartPts);\n startDTS = Math.min(startDTS, frag.startDTS);\n minEndPTS = Math.min(endPTS, fragEndPts);\n endPTS = Math.max(endPTS, fragEndPts);\n endDTS = Math.max(endDTS, frag.endDTS);\n }\n var drift = startPTS - frag.start;\n if (frag.start !== 0) {\n frag.start = startPTS;\n }\n frag.duration = endPTS - frag.start;\n frag.startPTS = startPTS;\n frag.maxStartPTS = maxStartPTS;\n frag.startDTS = startDTS;\n frag.endPTS = endPTS;\n frag.minEndPTS = minEndPTS;\n frag.endDTS = endDTS;\n var sn = frag.sn; // 'initSegment'\n // exit if sn out of range\n if (!details || sn < details.startSN || sn > details.endSN) {\n return 0;\n }\n var i;\n var fragIdx = sn - details.startSN;\n var fragments = details.fragments;\n // update frag reference in fragments array\n // rationale is that fragments array might not contain this frag object.\n // this will happen if playlist has been refreshed between frag loading and call to updateFragPTSDTS()\n // if we don't update frag, we won't be able to propagate PTS info on the playlist\n // resulting in invalid sliding computation\n fragments[fragIdx] = frag;\n // adjust fragment PTS/duration from seqnum-1 to frag 0\n for (i = fragIdx; i > 0; i--) {\n updateFromToPTS(fragments[i], fragments[i - 1]);\n }\n\n // adjust fragment PTS/duration from seqnum to last frag\n for (i = fragIdx; i < fragments.length - 1; i++) {\n updateFromToPTS(fragments[i], fragments[i + 1]);\n }\n if (details.fragmentHint) {\n updateFromToPTS(fragments[fragments.length - 1], details.fragmentHint);\n }\n details.PTSKnown = details.alignedSliding = true;\n return drift;\n }\n function mergeDetails(oldDetails, newDetails) {\n // Track the last initSegment processed. Initialize it to the last one on the timeline.\n var currentInitSegment = null;\n var oldFragments = oldDetails.fragments;\n for (var i = oldFragments.length - 1; i >= 0; i--) {\n var oldInit = oldFragments[i].initSegment;\n if (oldInit) {\n currentInitSegment = oldInit;\n break;\n }\n }\n if (oldDetails.fragmentHint) {\n // prevent PTS and duration from being adjusted on the next hint\n delete oldDetails.fragmentHint.endPTS;\n }\n // check if old/new playlists have fragments in common\n // loop through overlapping SN and update startPTS , cc, and duration if any found\n var ccOffset = 0;\n var PTSFrag;\n mapFragmentIntersection(oldDetails, newDetails, function (oldFrag, newFrag) {\n if (oldFrag.relurl) {\n // Do not compare CC if the old fragment has no url. This is a level.fragmentHint used by LL-HLS parts.\n // It maybe be off by 1 if it was created before any parts or discontinuity tags were appended to the end\n // of the playlist.\n ccOffset = oldFrag.cc - newFrag.cc;\n }\n if (isFiniteNumber(oldFrag.startPTS) && isFiniteNumber(oldFrag.endPTS)) {\n newFrag.start = newFrag.startPTS = oldFrag.startPTS;\n newFrag.startDTS = oldFrag.startDTS;\n newFrag.maxStartPTS = oldFrag.maxStartPTS;\n newFrag.endPTS = oldFrag.endPTS;\n newFrag.endDTS = oldFrag.endDTS;\n newFrag.minEndPTS = oldFrag.minEndPTS;\n newFrag.duration = oldFrag.endPTS - oldFrag.startPTS;\n if (newFrag.duration) {\n PTSFrag = newFrag;\n }\n\n // PTS is known when any segment has startPTS and endPTS\n newDetails.PTSKnown = newDetails.alignedSliding = true;\n }\n newFrag.elementaryStreams = oldFrag.elementaryStreams;\n newFrag.loader = oldFrag.loader;\n newFrag.stats = oldFrag.stats;\n if (oldFrag.initSegment) {\n newFrag.initSegment = oldFrag.initSegment;\n currentInitSegment = oldFrag.initSegment;\n }\n });\n if (currentInitSegment) {\n var fragmentsToCheck = newDetails.fragmentHint ? newDetails.fragments.concat(newDetails.fragmentHint) : newDetails.fragments;\n fragmentsToCheck.forEach(function (frag) {\n var _currentInitSegment;\n if (frag && (!frag.initSegment || frag.initSegment.relurl === ((_currentInitSegment = currentInitSegment) == null ? void 0 : _currentInitSegment.relurl))) {\n frag.initSegment = currentInitSegment;\n }\n });\n }\n if (newDetails.skippedSegments) {\n newDetails.deltaUpdateFailed = newDetails.fragments.some(function (frag) {\n return !frag;\n });\n if (newDetails.deltaUpdateFailed) {\n logger.warn('[level-helper] Previous playlist missing segments skipped in delta playlist');\n for (var _i = newDetails.skippedSegments; _i--;) {\n newDetails.fragments.shift();\n }\n newDetails.startSN = newDetails.fragments[0].sn;\n newDetails.startCC = newDetails.fragments[0].cc;\n } else if (newDetails.canSkipDateRanges) {\n newDetails.dateRanges = mergeDateRanges(oldDetails.dateRanges, newDetails.dateRanges, newDetails.recentlyRemovedDateranges);\n }\n }\n var newFragments = newDetails.fragments;\n if (ccOffset) {\n logger.warn('discontinuity sliding from playlist, take drift into account');\n for (var _i2 = 0; _i2 < newFragments.length; _i2++) {\n newFragments[_i2].cc += ccOffset;\n }\n }\n if (newDetails.skippedSegments) {\n newDetails.startCC = newDetails.fragments[0].cc;\n }\n\n // Merge parts\n mapPartIntersection(oldDetails.partList, newDetails.partList, function (oldPart, newPart) {\n newPart.elementaryStreams = oldPart.elementaryStreams;\n newPart.stats = oldPart.stats;\n });\n\n // if at least one fragment contains PTS info, recompute PTS information for all fragments\n if (PTSFrag) {\n updateFragPTSDTS(newDetails, PTSFrag, PTSFrag.startPTS, PTSFrag.endPTS, PTSFrag.startDTS, PTSFrag.endDTS);\n } else {\n // ensure that delta is within oldFragments range\n // also adjust sliding in case delta is 0 (we could have old=[50-60] and new=old=[50-61])\n // in that case we also need to adjust start offset of all fragments\n adjustSliding(oldDetails, newDetails);\n }\n if (newFragments.length) {\n newDetails.totalduration = newDetails.edge - newFragments[0].start;\n }\n newDetails.driftStartTime = oldDetails.driftStartTime;\n newDetails.driftStart = oldDetails.driftStart;\n var advancedDateTime = newDetails.advancedDateTime;\n if (newDetails.advanced && advancedDateTime) {\n var edge = newDetails.edge;\n if (!newDetails.driftStart) {\n newDetails.driftStartTime = advancedDateTime;\n newDetails.driftStart = edge;\n }\n newDetails.driftEndTime = advancedDateTime;\n newDetails.driftEnd = edge;\n } else {\n newDetails.driftEndTime = oldDetails.driftEndTime;\n newDetails.driftEnd = oldDetails.driftEnd;\n newDetails.advancedDateTime = oldDetails.advancedDateTime;\n }\n }\n function mergeDateRanges(oldDateRanges, deltaDateRanges, recentlyRemovedDateranges) {\n var dateRanges = _extends({}, oldDateRanges);\n if (recentlyRemovedDateranges) {\n recentlyRemovedDateranges.forEach(function (id) {\n delete dateRanges[id];\n });\n }\n Object.keys(deltaDateRanges).forEach(function (id) {\n var dateRange = new DateRange(deltaDateRanges[id].attr, dateRanges[id]);\n if (dateRange.isValid) {\n dateRanges[id] = dateRange;\n } else {\n logger.warn(\"Ignoring invalid Playlist Delta Update DATERANGE tag: \\\"\" + JSON.stringify(deltaDateRanges[id].attr) + \"\\\"\");\n }\n });\n return dateRanges;\n }\n function mapPartIntersection(oldParts, newParts, intersectionFn) {\n if (oldParts && newParts) {\n var delta = 0;\n for (var i = 0, len = oldParts.length; i <= len; i++) {\n var _oldPart = oldParts[i];\n var _newPart = newParts[i + delta];\n if (_oldPart && _newPart && _oldPart.index === _newPart.index && _oldPart.fragment.sn === _newPart.fragment.sn) {\n intersectionFn(_oldPart, _newPart);\n } else {\n delta--;\n }\n }\n }\n }\n function mapFragmentIntersection(oldDetails, newDetails, intersectionFn) {\n var skippedSegments = newDetails.skippedSegments;\n var start = Math.max(oldDetails.startSN, newDetails.startSN) - newDetails.startSN;\n var end = (oldDetails.fragmentHint ? 1 : 0) + (skippedSegments ? newDetails.endSN : Math.min(oldDetails.endSN, newDetails.endSN)) - newDetails.startSN;\n var delta = newDetails.startSN - oldDetails.startSN;\n var newFrags = newDetails.fragmentHint ? newDetails.fragments.concat(newDetails.fragmentHint) : newDetails.fragments;\n var oldFrags = oldDetails.fragmentHint ? oldDetails.fragments.concat(oldDetails.fragmentHint) : oldDetails.fragments;\n for (var i = start; i <= end; i++) {\n var _oldFrag = oldFrags[delta + i];\n var _newFrag = newFrags[i];\n if (skippedSegments && !_newFrag && i < skippedSegments) {\n // Fill in skipped segments in delta playlist\n _newFrag = newDetails.fragments[i] = _oldFrag;\n }\n if (_oldFrag && _newFrag) {\n intersectionFn(_oldFrag, _newFrag);\n }\n }\n }\n function adjustSliding(oldDetails, newDetails) {\n var delta = newDetails.startSN + newDetails.skippedSegments - oldDetails.startSN;\n var oldFragments = oldDetails.fragments;\n if (delta < 0 || delta >= oldFragments.length) {\n return;\n }\n addSliding(newDetails, oldFragments[delta].start);\n }\n function addSliding(details, start) {\n if (start) {\n var fragments = details.fragments;\n for (var i = details.skippedSegments; i < fragments.length; i++) {\n fragments[i].start += start;\n }\n if (details.fragmentHint) {\n details.fragmentHint.start += start;\n }\n }\n }\n function computeReloadInterval(newDetails, distanceToLiveEdgeMs) {\n if (distanceToLiveEdgeMs === void 0) {\n distanceToLiveEdgeMs = Infinity;\n }\n var reloadInterval = 1000 * newDetails.targetduration;\n if (newDetails.updated) {\n // Use last segment duration when shorter than target duration and near live edge\n var fragments = newDetails.fragments;\n var liveEdgeMaxTargetDurations = 4;\n if (fragments.length && reloadInterval * liveEdgeMaxTargetDurations > distanceToLiveEdgeMs) {\n var lastSegmentDuration = fragments[fragments.length - 1].duration * 1000;\n if (lastSegmentDuration < reloadInterval) {\n reloadInterval = lastSegmentDuration;\n }\n }\n } else {\n // estimate = 'miss half average';\n // follow HLS Spec, If the client reloads a Playlist file and finds that it has not\n // changed then it MUST wait for a period of one-half the target\n // duration before retrying.\n reloadInterval /= 2;\n }\n return Math.round(reloadInterval);\n }\n function getFragmentWithSN(level, sn, fragCurrent) {\n if (!(level != null && level.details)) {\n return null;\n }\n var levelDetails = level.details;\n var fragment = levelDetails.fragments[sn - levelDetails.startSN];\n if (fragment) {\n return fragment;\n }\n fragment = levelDetails.fragmentHint;\n if (fragment && fragment.sn === sn) {\n return fragment;\n }\n if (sn < levelDetails.startSN && fragCurrent && fragCurrent.sn === sn) {\n return fragCurrent;\n }\n return null;\n }\n function getPartWith(level, sn, partIndex) {\n var _level$details;\n if (!(level != null && level.details)) {\n return null;\n }\n return findPart((_level$details = level.details) == null ? void 0 : _level$details.partList, sn, partIndex);\n }\n function findPart(partList, sn, partIndex) {\n if (partList) {\n for (var i = partList.length; i--;) {\n var part = partList[i];\n if (part.index === partIndex && part.fragment.sn === sn) {\n return part;\n }\n }\n }\n return null;\n }\n function reassignFragmentLevelIndexes(levels) {\n levels.forEach(function (level, index) {\n var details = level.details;\n if (details != null && details.fragments) {\n details.fragments.forEach(function (fragment) {\n fragment.level = index;\n });\n }\n });\n }\n\n function isTimeoutError(error) {\n switch (error.details) {\n case ErrorDetails.FRAG_LOAD_TIMEOUT:\n case ErrorDetails.KEY_LOAD_TIMEOUT:\n case ErrorDetails.LEVEL_LOAD_TIMEOUT:\n case ErrorDetails.MANIFEST_LOAD_TIMEOUT:\n return true;\n }\n return false;\n }\n function getRetryConfig(loadPolicy, error) {\n var isTimeout = isTimeoutError(error);\n return loadPolicy.default[(isTimeout ? 'timeout' : 'error') + \"Retry\"];\n }\n function getRetryDelay(retryConfig, retryCount) {\n // exponential backoff capped to max retry delay\n var backoffFactor = retryConfig.backoff === 'linear' ? 1 : Math.pow(2, retryCount);\n return Math.min(backoffFactor * retryConfig.retryDelayMs, retryConfig.maxRetryDelayMs);\n }\n function getLoaderConfigWithoutReties(loderConfig) {\n return _objectSpread2(_objectSpread2({}, loderConfig), {\n errorRetry: null,\n timeoutRetry: null\n });\n }\n function shouldRetry(retryConfig, retryCount, isTimeout, loaderResponse) {\n if (!retryConfig) {\n return false;\n }\n var httpStatus = loaderResponse == null ? void 0 : loaderResponse.code;\n var retry = retryCount < retryConfig.maxNumRetry && (retryForHttpStatus(httpStatus) || !!isTimeout);\n return retryConfig.shouldRetry ? retryConfig.shouldRetry(retryConfig, retryCount, isTimeout, loaderResponse, retry) : retry;\n }\n function retryForHttpStatus(httpStatus) {\n // Do not retry on status 4xx, status 0 (CORS error), or undefined (decrypt/gap/parse error)\n return httpStatus === 0 && navigator.onLine === false || !!httpStatus && (httpStatus < 400 || httpStatus > 499);\n }\n\n var BinarySearch = {\n /**\n * Searches for an item in an array which matches a certain condition.\n * This requires the condition to only match one item in the array,\n * and for the array to be ordered.\n *\n * @param list The array to search.\n * @param comparisonFn\n * Called and provided a candidate item as the first argument.\n * Should return:\n * > -1 if the item should be located at a lower index than the provided item.\n * > 1 if the item should be located at a higher index than the provided item.\n * > 0 if the item is the item you're looking for.\n *\n * @returns the object if found, otherwise returns null\n */\n search: function search(list, comparisonFn) {\n var minIndex = 0;\n var maxIndex = list.length - 1;\n var currentIndex = null;\n var currentElement = null;\n while (minIndex <= maxIndex) {\n currentIndex = (minIndex + maxIndex) / 2 | 0;\n currentElement = list[currentIndex];\n var comparisonResult = comparisonFn(currentElement);\n if (comparisonResult > 0) {\n minIndex = currentIndex + 1;\n } else if (comparisonResult < 0) {\n maxIndex = currentIndex - 1;\n } else {\n return currentElement;\n }\n }\n return null;\n }\n };\n\n /**\n * Returns first fragment whose endPdt value exceeds the given PDT, or null.\n * @param fragments - The array of candidate fragments\n * @param PDTValue - The PDT value which must be exceeded\n * @param maxFragLookUpTolerance - The amount of time that a fragment's start/end can be within in order to be considered contiguous\n */\n function findFragmentByPDT(fragments, PDTValue, maxFragLookUpTolerance) {\n if (PDTValue === null || !Array.isArray(fragments) || !fragments.length || !isFiniteNumber(PDTValue)) {\n return null;\n }\n\n // if less than start\n var startPDT = fragments[0].programDateTime;\n if (PDTValue < (startPDT || 0)) {\n return null;\n }\n var endPDT = fragments[fragments.length - 1].endProgramDateTime;\n if (PDTValue >= (endPDT || 0)) {\n return null;\n }\n maxFragLookUpTolerance = maxFragLookUpTolerance || 0;\n for (var seg = 0; seg < fragments.length; ++seg) {\n var frag = fragments[seg];\n if (pdtWithinToleranceTest(PDTValue, maxFragLookUpTolerance, frag)) {\n return frag;\n }\n }\n return null;\n }\n\n /**\n * Finds a fragment based on the SN of the previous fragment; or based on the needs of the current buffer.\n * This method compensates for small buffer gaps by applying a tolerance to the start of any candidate fragment, thus\n * breaking any traps which would cause the same fragment to be continuously selected within a small range.\n * @param fragPrevious - The last frag successfully appended\n * @param fragments - The array of candidate fragments\n * @param bufferEnd - The end of the contiguous buffered range the playhead is currently within\n * @param maxFragLookUpTolerance - The amount of time that a fragment's start/end can be within in order to be considered contiguous\n * @returns a matching fragment or null\n */\n function findFragmentByPTS(fragPrevious, fragments, bufferEnd, maxFragLookUpTolerance) {\n if (bufferEnd === void 0) {\n bufferEnd = 0;\n }\n if (maxFragLookUpTolerance === void 0) {\n maxFragLookUpTolerance = 0;\n }\n var fragNext = null;\n if (fragPrevious) {\n fragNext = fragments[fragPrevious.sn - fragments[0].sn + 1] || null;\n // check for buffer-end rounding error\n var bufferEdgeError = fragPrevious.endDTS - bufferEnd;\n if (bufferEdgeError > 0 && bufferEdgeError < 0.0000015) {\n bufferEnd += 0.0000015;\n }\n } else if (bufferEnd === 0 && fragments[0].start === 0) {\n fragNext = fragments[0];\n }\n // Prefer the next fragment if it's within tolerance\n if (fragNext && (!fragPrevious || fragPrevious.level === fragNext.level) && fragmentWithinToleranceTest(bufferEnd, maxFragLookUpTolerance, fragNext) === 0) {\n return fragNext;\n }\n // We might be seeking past the tolerance so find the best match\n var foundFragment = BinarySearch.search(fragments, fragmentWithinToleranceTest.bind(null, bufferEnd, maxFragLookUpTolerance));\n if (foundFragment && (foundFragment !== fragPrevious || !fragNext)) {\n return foundFragment;\n }\n // If no match was found return the next fragment after fragPrevious, or null\n return fragNext;\n }\n\n /**\n * The test function used by the findFragmentBySn's BinarySearch to look for the best match to the current buffer conditions.\n * @param candidate - The fragment to test\n * @param bufferEnd - The end of the current buffered range the playhead is currently within\n * @param maxFragLookUpTolerance - The amount of time that a fragment's start can be within in order to be considered contiguous\n * @returns 0 if it matches, 1 if too low, -1 if too high\n */\n function fragmentWithinToleranceTest(bufferEnd, maxFragLookUpTolerance, candidate) {\n if (bufferEnd === void 0) {\n bufferEnd = 0;\n }\n if (maxFragLookUpTolerance === void 0) {\n maxFragLookUpTolerance = 0;\n }\n // eagerly accept an accurate match (no tolerance)\n if (candidate.start <= bufferEnd && candidate.start + candidate.duration > bufferEnd) {\n return 0;\n }\n // offset should be within fragment boundary - config.maxFragLookUpTolerance\n // this is to cope with situations like\n // bufferEnd = 9.991\n // frag[Ø] : [0,10]\n // frag[1] : [10,20]\n // bufferEnd is within frag[0] range ... although what we are expecting is to return frag[1] here\n // frag start frag start+duration\n // |-----------------------------|\n // <---> <--->\n // ...--------><-----------------------------><---------....\n // previous frag matching fragment next frag\n // return -1 return 0 return 1\n // logger.log(`level/sn/start/end/bufEnd:${level}/${candidate.sn}/${candidate.start}/${(candidate.start+candidate.duration)}/${bufferEnd}`);\n // Set the lookup tolerance to be small enough to detect the current segment - ensures we don't skip over very small segments\n var candidateLookupTolerance = Math.min(maxFragLookUpTolerance, candidate.duration + (candidate.deltaPTS ? candidate.deltaPTS : 0));\n if (candidate.start + candidate.duration - candidateLookupTolerance <= bufferEnd) {\n return 1;\n } else if (candidate.start - candidateLookupTolerance > bufferEnd && candidate.start) {\n // if maxFragLookUpTolerance will have negative value then don't return -1 for first element\n return -1;\n }\n return 0;\n }\n\n /**\n * The test function used by the findFragmentByPdt's BinarySearch to look for the best match to the current buffer conditions.\n * This function tests the candidate's program date time values, as represented in Unix time\n * @param candidate - The fragment to test\n * @param pdtBufferEnd - The Unix time representing the end of the current buffered range\n * @param maxFragLookUpTolerance - The amount of time that a fragment's start can be within in order to be considered contiguous\n * @returns true if contiguous, false otherwise\n */\n function pdtWithinToleranceTest(pdtBufferEnd, maxFragLookUpTolerance, candidate) {\n var candidateLookupTolerance = Math.min(maxFragLookUpTolerance, candidate.duration + (candidate.deltaPTS ? candidate.deltaPTS : 0)) * 1000;\n\n // endProgramDateTime can be null, default to zero\n var endProgramDateTime = candidate.endProgramDateTime || 0;\n return endProgramDateTime - candidateLookupTolerance > pdtBufferEnd;\n }\n function findFragWithCC(fragments, cc) {\n return BinarySearch.search(fragments, function (candidate) {\n if (candidate.cc < cc) {\n return 1;\n } else if (candidate.cc > cc) {\n return -1;\n } else {\n return 0;\n }\n });\n }\n\n var NetworkErrorAction = {\n DoNothing: 0,\n SendEndCallback: 1,\n SendAlternateToPenaltyBox: 2,\n RemoveAlternatePermanently: 3,\n InsertDiscontinuity: 4,\n RetryRequest: 5\n };\n var ErrorActionFlags = {\n None: 0,\n MoveAllAlternatesMatchingHost: 1,\n MoveAllAlternatesMatchingHDCP: 2,\n SwitchToSDR: 4\n }; // Reserved for future use\n var ErrorController = /*#__PURE__*/function () {\n function ErrorController(hls) {\n this.hls = void 0;\n this.playlistError = 0;\n this.penalizedRenditions = {};\n this.log = void 0;\n this.warn = void 0;\n this.error = void 0;\n this.hls = hls;\n this.log = logger.log.bind(logger, \"[info]:\");\n this.warn = logger.warn.bind(logger, \"[warning]:\");\n this.error = logger.error.bind(logger, \"[error]:\");\n this.registerListeners();\n }\n var _proto = ErrorController.prototype;\n _proto.registerListeners = function registerListeners() {\n var hls = this.hls;\n hls.on(Events.ERROR, this.onError, this);\n hls.on(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.on(Events.LEVEL_UPDATED, this.onLevelUpdated, this);\n };\n _proto.unregisterListeners = function unregisterListeners() {\n var hls = this.hls;\n if (!hls) {\n return;\n }\n hls.off(Events.ERROR, this.onError, this);\n hls.off(Events.ERROR, this.onErrorOut, this);\n hls.off(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.off(Events.LEVEL_UPDATED, this.onLevelUpdated, this);\n };\n _proto.destroy = function destroy() {\n this.unregisterListeners();\n // @ts-ignore\n this.hls = null;\n this.penalizedRenditions = {};\n };\n _proto.startLoad = function startLoad(startPosition) {};\n _proto.stopLoad = function stopLoad() {\n this.playlistError = 0;\n };\n _proto.getVariantLevelIndex = function getVariantLevelIndex(frag) {\n return (frag == null ? void 0 : frag.type) === PlaylistLevelType.MAIN ? frag.level : this.hls.loadLevel;\n };\n _proto.onManifestLoading = function onManifestLoading() {\n this.playlistError = 0;\n this.penalizedRenditions = {};\n };\n _proto.onLevelUpdated = function onLevelUpdated() {\n this.playlistError = 0;\n };\n _proto.onError = function onError(event, data) {\n var _data$frag, _data$level;\n if (data.fatal) {\n return;\n }\n var hls = this.hls;\n var context = data.context;\n switch (data.details) {\n case ErrorDetails.FRAG_LOAD_ERROR:\n case ErrorDetails.FRAG_LOAD_TIMEOUT:\n case ErrorDetails.KEY_LOAD_ERROR:\n case ErrorDetails.KEY_LOAD_TIMEOUT:\n data.errorAction = this.getFragRetryOrSwitchAction(data);\n return;\n case ErrorDetails.FRAG_PARSING_ERROR:\n // ignore empty segment errors marked as gap\n if ((_data$frag = data.frag) != null && _data$frag.gap) {\n data.errorAction = {\n action: NetworkErrorAction.DoNothing,\n flags: ErrorActionFlags.None\n };\n return;\n }\n // falls through\n case ErrorDetails.FRAG_GAP:\n case ErrorDetails.FRAG_DECRYPT_ERROR:\n {\n // Switch level if possible, otherwise allow retry count to reach max error retries\n data.errorAction = this.getFragRetryOrSwitchAction(data);\n data.errorAction.action = NetworkErrorAction.SendAlternateToPenaltyBox;\n return;\n }\n case ErrorDetails.LEVEL_EMPTY_ERROR:\n case ErrorDetails.LEVEL_PARSING_ERROR:\n {\n var _data$context, _data$context$levelDe;\n // Only retry when empty and live\n var levelIndex = data.parent === PlaylistLevelType.MAIN ? data.level : hls.loadLevel;\n if (data.details === ErrorDetails.LEVEL_EMPTY_ERROR && !!((_data$context = data.context) != null && (_data$context$levelDe = _data$context.levelDetails) != null && _data$context$levelDe.live)) {\n data.errorAction = this.getPlaylistRetryOrSwitchAction(data, levelIndex);\n } else {\n // Escalate to fatal if not retrying or switching\n data.levelRetry = false;\n data.errorAction = this.getLevelSwitchAction(data, levelIndex);\n }\n }\n return;\n case ErrorDetails.LEVEL_LOAD_ERROR:\n case ErrorDetails.LEVEL_LOAD_TIMEOUT:\n if (typeof (context == null ? void 0 : context.level) === 'number') {\n data.errorAction = this.getPlaylistRetryOrSwitchAction(data, context.level);\n }\n return;\n case ErrorDetails.AUDIO_TRACK_LOAD_ERROR:\n case ErrorDetails.AUDIO_TRACK_LOAD_TIMEOUT:\n case ErrorDetails.SUBTITLE_LOAD_ERROR:\n case ErrorDetails.SUBTITLE_TRACK_LOAD_TIMEOUT:\n if (context) {\n var level = hls.levels[hls.loadLevel];\n if (level && (context.type === PlaylistContextType.AUDIO_TRACK && level.hasAudioGroup(context.groupId) || context.type === PlaylistContextType.SUBTITLE_TRACK && level.hasSubtitleGroup(context.groupId))) {\n // Perform Pathway switch or Redundant failover if possible for fastest recovery\n // otherwise allow playlist retry count to reach max error retries\n data.errorAction = this.getPlaylistRetryOrSwitchAction(data, hls.loadLevel);\n data.errorAction.action = NetworkErrorAction.SendAlternateToPenaltyBox;\n data.errorAction.flags = ErrorActionFlags.MoveAllAlternatesMatchingHost;\n return;\n }\n }\n return;\n case ErrorDetails.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED:\n {\n var _level = hls.levels[hls.loadLevel];\n var restrictedHdcpLevel = _level == null ? void 0 : _level.attrs['HDCP-LEVEL'];\n if (restrictedHdcpLevel) {\n data.errorAction = {\n action: NetworkErrorAction.SendAlternateToPenaltyBox,\n flags: ErrorActionFlags.MoveAllAlternatesMatchingHDCP,\n hdcpLevel: restrictedHdcpLevel\n };\n } else {\n this.keySystemError(data);\n }\n }\n return;\n case ErrorDetails.BUFFER_ADD_CODEC_ERROR:\n case ErrorDetails.REMUX_ALLOC_ERROR:\n case ErrorDetails.BUFFER_APPEND_ERROR:\n data.errorAction = this.getLevelSwitchAction(data, (_data$level = data.level) != null ? _data$level : hls.loadLevel);\n return;\n case ErrorDetails.INTERNAL_EXCEPTION:\n case ErrorDetails.BUFFER_APPENDING_ERROR:\n case ErrorDetails.BUFFER_FULL_ERROR:\n case ErrorDetails.LEVEL_SWITCH_ERROR:\n case ErrorDetails.BUFFER_STALLED_ERROR:\n case ErrorDetails.BUFFER_SEEK_OVER_HOLE:\n case ErrorDetails.BUFFER_NUDGE_ON_STALL:\n data.errorAction = {\n action: NetworkErrorAction.DoNothing,\n flags: ErrorActionFlags.None\n };\n return;\n }\n if (data.type === ErrorTypes.KEY_SYSTEM_ERROR) {\n this.keySystemError(data);\n }\n };\n _proto.keySystemError = function keySystemError(data) {\n var levelIndex = this.getVariantLevelIndex(data.frag);\n // Do not retry level. Escalate to fatal if switching levels fails.\n data.levelRetry = false;\n data.errorAction = this.getLevelSwitchAction(data, levelIndex);\n };\n _proto.getPlaylistRetryOrSwitchAction = function getPlaylistRetryOrSwitchAction(data, levelIndex) {\n var hls = this.hls;\n var retryConfig = getRetryConfig(hls.config.playlistLoadPolicy, data);\n var retryCount = this.playlistError++;\n var retry = shouldRetry(retryConfig, retryCount, isTimeoutError(data), data.response);\n if (retry) {\n return {\n action: NetworkErrorAction.RetryRequest,\n flags: ErrorActionFlags.None,\n retryConfig: retryConfig,\n retryCount: retryCount\n };\n }\n var errorAction = this.getLevelSwitchAction(data, levelIndex);\n if (retryConfig) {\n errorAction.retryConfig = retryConfig;\n errorAction.retryCount = retryCount;\n }\n return errorAction;\n };\n _proto.getFragRetryOrSwitchAction = function getFragRetryOrSwitchAction(data) {\n var hls = this.hls;\n // Share fragment error count accross media options (main, audio, subs)\n // This allows for level based rendition switching when media option assets fail\n var variantLevelIndex = this.getVariantLevelIndex(data.frag);\n var level = hls.levels[variantLevelIndex];\n var _hls$config = hls.config,\n fragLoadPolicy = _hls$config.fragLoadPolicy,\n keyLoadPolicy = _hls$config.keyLoadPolicy;\n var retryConfig = getRetryConfig(data.details.startsWith('key') ? keyLoadPolicy : fragLoadPolicy, data);\n var fragmentErrors = hls.levels.reduce(function (acc, level) {\n return acc + level.fragmentError;\n }, 0);\n // Switch levels when out of retried or level index out of bounds\n if (level) {\n if (data.details !== ErrorDetails.FRAG_GAP) {\n level.fragmentError++;\n }\n var retry = shouldRetry(retryConfig, fragmentErrors, isTimeoutError(data), data.response);\n if (retry) {\n return {\n action: NetworkErrorAction.RetryRequest,\n flags: ErrorActionFlags.None,\n retryConfig: retryConfig,\n retryCount: fragmentErrors\n };\n }\n }\n // Reach max retry count, or Missing level reference\n // Switch to valid index\n var errorAction = this.getLevelSwitchAction(data, variantLevelIndex);\n // Add retry details to allow skipping of FRAG_PARSING_ERROR\n if (retryConfig) {\n errorAction.retryConfig = retryConfig;\n errorAction.retryCount = fragmentErrors;\n }\n return errorAction;\n };\n _proto.getLevelSwitchAction = function getLevelSwitchAction(data, levelIndex) {\n var hls = this.hls;\n if (levelIndex === null || levelIndex === undefined) {\n levelIndex = hls.loadLevel;\n }\n var level = this.hls.levels[levelIndex];\n if (level) {\n var _data$frag2, _data$context2;\n var errorDetails = data.details;\n level.loadError++;\n if (errorDetails === ErrorDetails.BUFFER_APPEND_ERROR) {\n level.fragmentError++;\n }\n // Search for next level to retry\n var nextLevel = -1;\n var levels = hls.levels,\n loadLevel = hls.loadLevel,\n minAutoLevel = hls.minAutoLevel,\n maxAutoLevel = hls.maxAutoLevel;\n if (!hls.autoLevelEnabled) {\n hls.loadLevel = -1;\n }\n var fragErrorType = (_data$frag2 = data.frag) == null ? void 0 : _data$frag2.type;\n // Find alternate audio codec if available on audio codec error\n var isAudioCodecError = fragErrorType === PlaylistLevelType.AUDIO && errorDetails === ErrorDetails.FRAG_PARSING_ERROR || data.sourceBufferName === 'audio' && (errorDetails === ErrorDetails.BUFFER_ADD_CODEC_ERROR || errorDetails === ErrorDetails.BUFFER_APPEND_ERROR);\n var findAudioCodecAlternate = isAudioCodecError && levels.some(function (_ref) {\n var audioCodec = _ref.audioCodec;\n return level.audioCodec !== audioCodec;\n });\n // Find alternate video codec if available on video codec error\n var isVideoCodecError = data.sourceBufferName === 'video' && (errorDetails === ErrorDetails.BUFFER_ADD_CODEC_ERROR || errorDetails === ErrorDetails.BUFFER_APPEND_ERROR);\n var findVideoCodecAlternate = isVideoCodecError && levels.some(function (_ref2) {\n var codecSet = _ref2.codecSet,\n audioCodec = _ref2.audioCodec;\n return level.codecSet !== codecSet && level.audioCodec === audioCodec;\n });\n var _ref3 = (_data$context2 = data.context) != null ? _data$context2 : {},\n playlistErrorType = _ref3.type,\n playlistErrorGroupId = _ref3.groupId;\n var _loop = function _loop() {\n var candidate = (i + loadLevel) % levels.length;\n if (candidate !== loadLevel && candidate >= minAutoLevel && candidate <= maxAutoLevel && levels[candidate].loadError === 0) {\n var _level$audioGroups, _level$subtitleGroups;\n var levelCandidate = levels[candidate];\n // Skip level switch if GAP tag is found in next level at same position\n if (errorDetails === ErrorDetails.FRAG_GAP && data.frag) {\n var levelDetails = levels[candidate].details;\n if (levelDetails) {\n var fragCandidate = findFragmentByPTS(data.frag, levelDetails.fragments, data.frag.start);\n if (fragCandidate != null && fragCandidate.gap) {\n return 0; // continue\n }\n }\n } else if (playlistErrorType === PlaylistContextType.AUDIO_TRACK && levelCandidate.hasAudioGroup(playlistErrorGroupId) || playlistErrorType === PlaylistContextType.SUBTITLE_TRACK && levelCandidate.hasSubtitleGroup(playlistErrorGroupId)) {\n // For audio/subs playlist errors find another group ID or fallthrough to redundant fail-over\n return 0; // continue\n } else if (fragErrorType === PlaylistLevelType.AUDIO && (_level$audioGroups = level.audioGroups) != null && _level$audioGroups.some(function (groupId) {\n return levelCandidate.hasAudioGroup(groupId);\n }) || fragErrorType === PlaylistLevelType.SUBTITLE && (_level$subtitleGroups = level.subtitleGroups) != null && _level$subtitleGroups.some(function (groupId) {\n return levelCandidate.hasSubtitleGroup(groupId);\n }) || findAudioCodecAlternate && level.audioCodec === levelCandidate.audioCodec || !findAudioCodecAlternate && level.audioCodec !== levelCandidate.audioCodec || findVideoCodecAlternate && level.codecSet === levelCandidate.codecSet) {\n // For video/audio/subs frag errors find another group ID or fallthrough to redundant fail-over\n return 0; // continue\n }\n nextLevel = candidate;\n return 1; // break\n }\n },\n _ret;\n for (var i = levels.length; i--;) {\n _ret = _loop();\n if (_ret === 0) continue;\n if (_ret === 1) break;\n }\n if (nextLevel > -1 && hls.loadLevel !== nextLevel) {\n data.levelRetry = true;\n this.playlistError = 0;\n return {\n action: NetworkErrorAction.SendAlternateToPenaltyBox,\n flags: ErrorActionFlags.None,\n nextAutoLevel: nextLevel\n };\n }\n }\n // No levels to switch / Manual level selection / Level not found\n // Resolve with Pathway switch, Redundant fail-over, or stay on lowest Level\n return {\n action: NetworkErrorAction.SendAlternateToPenaltyBox,\n flags: ErrorActionFlags.MoveAllAlternatesMatchingHost\n };\n };\n _proto.onErrorOut = function onErrorOut(event, data) {\n var _data$errorAction;\n switch ((_data$errorAction = data.errorAction) == null ? void 0 : _data$errorAction.action) {\n case NetworkErrorAction.DoNothing:\n break;\n case NetworkErrorAction.SendAlternateToPenaltyBox:\n this.sendAlternateToPenaltyBox(data);\n if (!data.errorAction.resolved && data.details !== ErrorDetails.FRAG_GAP) {\n data.fatal = true;\n } else if (/MediaSource readyState: ended/.test(data.error.message)) {\n this.warn(\"MediaSource ended after \\\"\" + data.sourceBufferName + \"\\\" sourceBuffer append error. Attempting to recover from media error.\");\n this.hls.recoverMediaError();\n }\n break;\n }\n if (data.fatal) {\n this.hls.stopLoad();\n return;\n }\n };\n _proto.sendAlternateToPenaltyBox = function sendAlternateToPenaltyBox(data) {\n var hls = this.hls;\n var errorAction = data.errorAction;\n if (!errorAction) {\n return;\n }\n var flags = errorAction.flags,\n hdcpLevel = errorAction.hdcpLevel,\n nextAutoLevel = errorAction.nextAutoLevel;\n switch (flags) {\n case ErrorActionFlags.None:\n this.switchLevel(data, nextAutoLevel);\n break;\n case ErrorActionFlags.MoveAllAlternatesMatchingHDCP:\n if (hdcpLevel) {\n hls.maxHdcpLevel = HdcpLevels[HdcpLevels.indexOf(hdcpLevel) - 1];\n errorAction.resolved = true;\n }\n this.warn(\"Restricting playback to HDCP-LEVEL of \\\"\" + hls.maxHdcpLevel + \"\\\" or lower\");\n break;\n }\n // If not resolved by previous actions try to switch to next level\n if (!errorAction.resolved) {\n this.switchLevel(data, nextAutoLevel);\n }\n };\n _proto.switchLevel = function switchLevel(data, levelIndex) {\n if (levelIndex !== undefined && data.errorAction) {\n this.warn(\"switching to level \" + levelIndex + \" after \" + data.details);\n this.hls.nextAutoLevel = levelIndex;\n data.errorAction.resolved = true;\n // Stream controller is responsible for this but won't switch on false start\n this.hls.nextLoadLevel = this.hls.nextAutoLevel;\n }\n };\n return ErrorController;\n }();\n\n var BasePlaylistController = /*#__PURE__*/function () {\n function BasePlaylistController(hls, logPrefix) {\n this.hls = void 0;\n this.timer = -1;\n this.requestScheduled = -1;\n this.canLoad = false;\n this.log = void 0;\n this.warn = void 0;\n this.log = logger.log.bind(logger, logPrefix + \":\");\n this.warn = logger.warn.bind(logger, logPrefix + \":\");\n this.hls = hls;\n }\n var _proto = BasePlaylistController.prototype;\n _proto.destroy = function destroy() {\n this.clearTimer();\n // @ts-ignore\n this.hls = this.log = this.warn = null;\n };\n _proto.clearTimer = function clearTimer() {\n if (this.timer !== -1) {\n self.clearTimeout(this.timer);\n this.timer = -1;\n }\n };\n _proto.startLoad = function startLoad() {\n this.canLoad = true;\n this.requestScheduled = -1;\n this.loadPlaylist();\n };\n _proto.stopLoad = function stopLoad() {\n this.canLoad = false;\n this.clearTimer();\n };\n _proto.switchParams = function switchParams(playlistUri, previous) {\n var renditionReports = previous == null ? void 0 : previous.renditionReports;\n if (renditionReports) {\n var foundIndex = -1;\n for (var i = 0; i < renditionReports.length; i++) {\n var attr = renditionReports[i];\n var uri = void 0;\n try {\n uri = new self.URL(attr.URI, previous.url).href;\n } catch (error) {\n logger.warn(\"Could not construct new URL for Rendition Report: \" + error);\n uri = attr.URI || '';\n }\n // Use exact match. Otherwise, the last partial match, if any, will be used\n // (Playlist URI includes a query string that the Rendition Report does not)\n if (uri === playlistUri) {\n foundIndex = i;\n break;\n } else if (uri === playlistUri.substring(0, uri.length)) {\n foundIndex = i;\n }\n }\n if (foundIndex !== -1) {\n var _attr = renditionReports[foundIndex];\n var msn = parseInt(_attr['LAST-MSN']) || (previous == null ? void 0 : previous.lastPartSn);\n var part = parseInt(_attr['LAST-PART']) || (previous == null ? void 0 : previous.lastPartIndex);\n if (this.hls.config.lowLatencyMode) {\n var currentGoal = Math.min(previous.age - previous.partTarget, previous.targetduration);\n if (part >= 0 && currentGoal > previous.partTarget) {\n part += 1;\n }\n }\n return new HlsUrlParameters(msn, part >= 0 ? part : undefined, HlsSkip.No);\n }\n }\n };\n _proto.loadPlaylist = function loadPlaylist(hlsUrlParameters) {\n if (this.requestScheduled === -1) {\n this.requestScheduled = self.performance.now();\n }\n // Loading is handled by the subclasses\n };\n _proto.shouldLoadPlaylist = function shouldLoadPlaylist(playlist) {\n return this.canLoad && !!playlist && !!playlist.url && (!playlist.details || playlist.details.live);\n };\n _proto.shouldReloadPlaylist = function shouldReloadPlaylist(playlist) {\n return this.timer === -1 && this.requestScheduled === -1 && this.shouldLoadPlaylist(playlist);\n };\n _proto.playlistLoaded = function playlistLoaded(index, data, previousDetails) {\n var _this = this;\n var details = data.details,\n stats = data.stats;\n\n // Set last updated date-time\n var now = self.performance.now();\n var elapsed = stats.loading.first ? Math.max(0, now - stats.loading.first) : 0;\n details.advancedDateTime = Date.now() - elapsed;\n\n // if current playlist is a live playlist, arm a timer to reload it\n if (details.live || previousDetails != null && previousDetails.live) {\n details.reloaded(previousDetails);\n if (previousDetails) {\n this.log(\"live playlist \" + index + \" \" + (details.advanced ? 'REFRESHED ' + details.lastPartSn + '-' + details.lastPartIndex : details.updated ? 'UPDATED' : 'MISSED'));\n }\n // Merge live playlists to adjust fragment starts and fill in delta playlist skipped segments\n if (previousDetails && details.fragments.length > 0) {\n mergeDetails(previousDetails, details);\n }\n if (!this.canLoad || !details.live) {\n return;\n }\n var deliveryDirectives;\n var msn = undefined;\n var part = undefined;\n if (details.canBlockReload && details.endSN && details.advanced) {\n // Load level with LL-HLS delivery directives\n var lowLatencyMode = this.hls.config.lowLatencyMode;\n var lastPartSn = details.lastPartSn;\n var endSn = details.endSN;\n var lastPartIndex = details.lastPartIndex;\n var hasParts = lastPartIndex !== -1;\n var lastPart = lastPartSn === endSn;\n // When low latency mode is disabled, we'll skip part requests once the last part index is found\n var nextSnStartIndex = lowLatencyMode ? 0 : lastPartIndex;\n if (hasParts) {\n msn = lastPart ? endSn + 1 : lastPartSn;\n part = lastPart ? nextSnStartIndex : lastPartIndex + 1;\n } else {\n msn = endSn + 1;\n }\n // Low-Latency CDN Tune-in: \"age\" header and time since load indicates we're behind by more than one part\n // Update directives to obtain the Playlist that has the estimated additional duration of media\n var lastAdvanced = details.age;\n var cdnAge = lastAdvanced + details.ageHeader;\n var currentGoal = Math.min(cdnAge - details.partTarget, details.targetduration * 1.5);\n if (currentGoal > 0) {\n if (previousDetails && currentGoal > previousDetails.tuneInGoal) {\n // If we attempted to get the next or latest playlist update, but currentGoal increased,\n // then we either can't catchup, or the \"age\" header cannot be trusted.\n this.warn(\"CDN Tune-in goal increased from: \" + previousDetails.tuneInGoal + \" to: \" + currentGoal + \" with playlist age: \" + details.age);\n currentGoal = 0;\n } else {\n var segments = Math.floor(currentGoal / details.targetduration);\n msn += segments;\n if (part !== undefined) {\n var parts = Math.round(currentGoal % details.targetduration / details.partTarget);\n part += parts;\n }\n this.log(\"CDN Tune-in age: \" + details.ageHeader + \"s last advanced \" + lastAdvanced.toFixed(2) + \"s goal: \" + currentGoal + \" skip sn \" + segments + \" to part \" + part);\n }\n details.tuneInGoal = currentGoal;\n }\n deliveryDirectives = this.getDeliveryDirectives(details, data.deliveryDirectives, msn, part);\n if (lowLatencyMode || !lastPart) {\n this.loadPlaylist(deliveryDirectives);\n return;\n }\n } else if (details.canBlockReload || details.canSkipUntil) {\n deliveryDirectives = this.getDeliveryDirectives(details, data.deliveryDirectives, msn, part);\n }\n var bufferInfo = this.hls.mainForwardBufferInfo;\n var position = bufferInfo ? bufferInfo.end - bufferInfo.len : 0;\n var distanceToLiveEdgeMs = (details.edge - position) * 1000;\n var reloadInterval = computeReloadInterval(details, distanceToLiveEdgeMs);\n if (details.updated && now > this.requestScheduled + reloadInterval) {\n this.requestScheduled = stats.loading.start;\n }\n if (msn !== undefined && details.canBlockReload) {\n this.requestScheduled = stats.loading.first + reloadInterval - (details.partTarget * 1000 || 1000);\n } else if (this.requestScheduled === -1 || this.requestScheduled + reloadInterval < now) {\n this.requestScheduled = now;\n } else if (this.requestScheduled - now <= 0) {\n this.requestScheduled += reloadInterval;\n }\n var estimatedTimeUntilUpdate = this.requestScheduled - now;\n estimatedTimeUntilUpdate = Math.max(0, estimatedTimeUntilUpdate);\n this.log(\"reload live playlist \" + index + \" in \" + Math.round(estimatedTimeUntilUpdate) + \" ms\");\n // this.log(\n // `live reload ${details.updated ? 'REFRESHED' : 'MISSED'}\n // reload in ${estimatedTimeUntilUpdate / 1000}\n // round trip ${(stats.loading.end - stats.loading.start) / 1000}\n // diff ${\n // (reloadInterval -\n // (estimatedTimeUntilUpdate +\n // stats.loading.end -\n // stats.loading.start)) /\n // 1000\n // }\n // reload interval ${reloadInterval / 1000}\n // target duration ${details.targetduration}\n // distance to edge ${distanceToLiveEdgeMs / 1000}`\n // );\n\n this.timer = self.setTimeout(function () {\n return _this.loadPlaylist(deliveryDirectives);\n }, estimatedTimeUntilUpdate);\n } else {\n this.clearTimer();\n }\n };\n _proto.getDeliveryDirectives = function getDeliveryDirectives(details, previousDeliveryDirectives, msn, part) {\n var skip = getSkipValue(details, msn);\n if (previousDeliveryDirectives != null && previousDeliveryDirectives.skip && details.deltaUpdateFailed) {\n msn = previousDeliveryDirectives.msn;\n part = previousDeliveryDirectives.part;\n skip = HlsSkip.No;\n }\n return new HlsUrlParameters(msn, part, skip);\n };\n _proto.checkRetry = function checkRetry(errorEvent) {\n var _this2 = this;\n var errorDetails = errorEvent.details;\n var isTimeout = isTimeoutError(errorEvent);\n var errorAction = errorEvent.errorAction;\n var _ref = errorAction || {},\n action = _ref.action,\n _ref$retryCount = _ref.retryCount,\n retryCount = _ref$retryCount === void 0 ? 0 : _ref$retryCount,\n retryConfig = _ref.retryConfig;\n var retry = !!errorAction && !!retryConfig && (action === NetworkErrorAction.RetryRequest || !errorAction.resolved && action === NetworkErrorAction.SendAlternateToPenaltyBox);\n if (retry) {\n var _errorEvent$context;\n this.requestScheduled = -1;\n if (retryCount >= retryConfig.maxNumRetry) {\n return false;\n }\n if (isTimeout && (_errorEvent$context = errorEvent.context) != null && _errorEvent$context.deliveryDirectives) {\n // The LL-HLS request already timed out so retry immediately\n this.warn(\"Retrying playlist loading \" + (retryCount + 1) + \"/\" + retryConfig.maxNumRetry + \" after \\\"\" + errorDetails + \"\\\" without delivery-directives\");\n this.loadPlaylist();\n } else {\n var delay = getRetryDelay(retryConfig, retryCount);\n // Schedule level/track reload\n this.timer = self.setTimeout(function () {\n return _this2.loadPlaylist();\n }, delay);\n this.warn(\"Retrying playlist loading \" + (retryCount + 1) + \"/\" + retryConfig.maxNumRetry + \" after \\\"\" + errorDetails + \"\\\" in \" + delay + \"ms\");\n }\n // `levelRetry = true` used to inform other controllers that a retry is happening\n errorEvent.levelRetry = true;\n errorAction.resolved = true;\n }\n return retry;\n };\n return BasePlaylistController;\n }();\n\n /*\n * compute an Exponential Weighted moving average\n * - https://en.wikipedia.org/wiki/Moving_average#Exponential_moving_average\n * - heavily inspired from shaka-player\n */\n var EWMA = /*#__PURE__*/function () {\n // About half of the estimated value will be from the last |halfLife| samples by weight.\n function EWMA(halfLife, estimate, weight) {\n if (estimate === void 0) {\n estimate = 0;\n }\n if (weight === void 0) {\n weight = 0;\n }\n this.halfLife = void 0;\n this.alpha_ = void 0;\n this.estimate_ = void 0;\n this.totalWeight_ = void 0;\n this.halfLife = halfLife;\n // Larger values of alpha expire historical data more slowly.\n this.alpha_ = halfLife ? Math.exp(Math.log(0.5) / halfLife) : 0;\n this.estimate_ = estimate;\n this.totalWeight_ = weight;\n }\n var _proto = EWMA.prototype;\n _proto.sample = function sample(weight, value) {\n var adjAlpha = Math.pow(this.alpha_, weight);\n this.estimate_ = value * (1 - adjAlpha) + adjAlpha * this.estimate_;\n this.totalWeight_ += weight;\n };\n _proto.getTotalWeight = function getTotalWeight() {\n return this.totalWeight_;\n };\n _proto.getEstimate = function getEstimate() {\n if (this.alpha_) {\n var zeroFactor = 1 - Math.pow(this.alpha_, this.totalWeight_);\n if (zeroFactor) {\n return this.estimate_ / zeroFactor;\n }\n }\n return this.estimate_;\n };\n return EWMA;\n }();\n\n /*\n * EWMA Bandwidth Estimator\n * - heavily inspired from shaka-player\n * Tracks bandwidth samples and estimates available bandwidth.\n * Based on the minimum of two exponentially-weighted moving averages with\n * different half-lives.\n */\n\n var EwmaBandWidthEstimator = /*#__PURE__*/function () {\n function EwmaBandWidthEstimator(slow, fast, defaultEstimate, defaultTTFB) {\n if (defaultTTFB === void 0) {\n defaultTTFB = 100;\n }\n this.defaultEstimate_ = void 0;\n this.minWeight_ = void 0;\n this.minDelayMs_ = void 0;\n this.slow_ = void 0;\n this.fast_ = void 0;\n this.defaultTTFB_ = void 0;\n this.ttfb_ = void 0;\n this.defaultEstimate_ = defaultEstimate;\n this.minWeight_ = 0.001;\n this.minDelayMs_ = 50;\n this.slow_ = new EWMA(slow);\n this.fast_ = new EWMA(fast);\n this.defaultTTFB_ = defaultTTFB;\n this.ttfb_ = new EWMA(slow);\n }\n var _proto = EwmaBandWidthEstimator.prototype;\n _proto.update = function update(slow, fast) {\n var slow_ = this.slow_,\n fast_ = this.fast_,\n ttfb_ = this.ttfb_;\n if (slow_.halfLife !== slow) {\n this.slow_ = new EWMA(slow, slow_.getEstimate(), slow_.getTotalWeight());\n }\n if (fast_.halfLife !== fast) {\n this.fast_ = new EWMA(fast, fast_.getEstimate(), fast_.getTotalWeight());\n }\n if (ttfb_.halfLife !== slow) {\n this.ttfb_ = new EWMA(slow, ttfb_.getEstimate(), ttfb_.getTotalWeight());\n }\n };\n _proto.sample = function sample(durationMs, numBytes) {\n durationMs = Math.max(durationMs, this.minDelayMs_);\n var numBits = 8 * numBytes;\n // weight is duration in seconds\n var durationS = durationMs / 1000;\n // value is bandwidth in bits/s\n var bandwidthInBps = numBits / durationS;\n this.fast_.sample(durationS, bandwidthInBps);\n this.slow_.sample(durationS, bandwidthInBps);\n };\n _proto.sampleTTFB = function sampleTTFB(ttfb) {\n // weight is frequency curve applied to TTFB in seconds\n // (longer times have less weight with expected input under 1 second)\n var seconds = ttfb / 1000;\n var weight = Math.sqrt(2) * Math.exp(-Math.pow(seconds, 2) / 2);\n this.ttfb_.sample(weight, Math.max(ttfb, 5));\n };\n _proto.canEstimate = function canEstimate() {\n return this.fast_.getTotalWeight() >= this.minWeight_;\n };\n _proto.getEstimate = function getEstimate() {\n if (this.canEstimate()) {\n // console.log('slow estimate:'+ Math.round(this.slow_.getEstimate()));\n // console.log('fast estimate:'+ Math.round(this.fast_.getEstimate()));\n // Take the minimum of these two estimates. This should have the effect of\n // adapting down quickly, but up more slowly.\n return Math.min(this.fast_.getEstimate(), this.slow_.getEstimate());\n } else {\n return this.defaultEstimate_;\n }\n };\n _proto.getEstimateTTFB = function getEstimateTTFB() {\n if (this.ttfb_.getTotalWeight() >= this.minWeight_) {\n return this.ttfb_.getEstimate();\n } else {\n return this.defaultTTFB_;\n }\n };\n _proto.destroy = function destroy() {};\n return EwmaBandWidthEstimator;\n }();\n\n var SUPPORTED_INFO_DEFAULT = {\n supported: true,\n configurations: [],\n decodingInfoResults: [{\n supported: true,\n powerEfficient: true,\n smooth: true\n }]\n };\n var SUPPORTED_INFO_CACHE = {};\n function requiresMediaCapabilitiesDecodingInfo(level, audioTracksByGroup, currentVideoRange, currentFrameRate, currentBw, audioPreference) {\n // Only test support when configuration is exceeds minimum options\n var audioGroups = level.audioCodec ? level.audioGroups : null;\n var audioCodecPreference = audioPreference == null ? void 0 : audioPreference.audioCodec;\n var channelsPreference = audioPreference == null ? void 0 : audioPreference.channels;\n var maxChannels = channelsPreference ? parseInt(channelsPreference) : audioCodecPreference ? Infinity : 2;\n var audioChannels = null;\n if (audioGroups != null && audioGroups.length) {\n try {\n if (audioGroups.length === 1 && audioGroups[0]) {\n audioChannels = audioTracksByGroup.groups[audioGroups[0]].channels;\n } else {\n audioChannels = audioGroups.reduce(function (acc, groupId) {\n if (groupId) {\n var audioTrackGroup = audioTracksByGroup.groups[groupId];\n if (!audioTrackGroup) {\n throw new Error(\"Audio track group \" + groupId + \" not found\");\n }\n // Sum all channel key values\n Object.keys(audioTrackGroup.channels).forEach(function (key) {\n acc[key] = (acc[key] || 0) + audioTrackGroup.channels[key];\n });\n }\n return acc;\n }, {\n 2: 0\n });\n }\n } catch (error) {\n return true;\n }\n }\n return level.videoCodec !== undefined && (level.width > 1920 && level.height > 1088 || level.height > 1920 && level.width > 1088 || level.frameRate > Math.max(currentFrameRate, 30) || level.videoRange !== 'SDR' && level.videoRange !== currentVideoRange || level.bitrate > Math.max(currentBw, 8e6)) || !!audioChannels && isFiniteNumber(maxChannels) && Object.keys(audioChannels).some(function (channels) {\n return parseInt(channels) > maxChannels;\n });\n }\n function getMediaDecodingInfoPromise(level, audioTracksByGroup, mediaCapabilities) {\n var videoCodecs = level.videoCodec;\n var audioCodecs = level.audioCodec;\n if (!videoCodecs || !audioCodecs || !mediaCapabilities) {\n return Promise.resolve(SUPPORTED_INFO_DEFAULT);\n }\n var baseVideoConfiguration = {\n width: level.width,\n height: level.height,\n bitrate: Math.ceil(Math.max(level.bitrate * 0.9, level.averageBitrate)),\n // Assume a framerate of 30fps since MediaCapabilities will not accept Level default of 0.\n framerate: level.frameRate || 30\n };\n var videoRange = level.videoRange;\n if (videoRange !== 'SDR') {\n baseVideoConfiguration.transferFunction = videoRange.toLowerCase();\n }\n var configurations = videoCodecs.split(',').map(function (videoCodec) {\n return {\n type: 'media-source',\n video: _objectSpread2(_objectSpread2({}, baseVideoConfiguration), {}, {\n contentType: mimeTypeForCodec(videoCodec, 'video')\n })\n };\n });\n if (audioCodecs && level.audioGroups) {\n level.audioGroups.forEach(function (audioGroupId) {\n var _audioTracksByGroup$g;\n if (!audioGroupId) {\n return;\n }\n (_audioTracksByGroup$g = audioTracksByGroup.groups[audioGroupId]) == null ? void 0 : _audioTracksByGroup$g.tracks.forEach(function (audioTrack) {\n if (audioTrack.groupId === audioGroupId) {\n var channels = audioTrack.channels || '';\n var channelsNumber = parseFloat(channels);\n if (isFiniteNumber(channelsNumber) && channelsNumber > 2) {\n configurations.push.apply(configurations, audioCodecs.split(',').map(function (audioCodec) {\n return {\n type: 'media-source',\n audio: {\n contentType: mimeTypeForCodec(audioCodec, 'audio'),\n channels: '' + channelsNumber\n // spatialRendering:\n // audioCodec === 'ec-3' && channels.indexOf('JOC'),\n }\n };\n }));\n }\n }\n });\n });\n }\n return Promise.all(configurations.map(function (configuration) {\n // Cache MediaCapabilities promises\n var decodingInfoKey = getMediaDecodingInfoKey(configuration);\n return SUPPORTED_INFO_CACHE[decodingInfoKey] || (SUPPORTED_INFO_CACHE[decodingInfoKey] = mediaCapabilities.decodingInfo(configuration));\n })).then(function (decodingInfoResults) {\n return {\n supported: !decodingInfoResults.some(function (info) {\n return !info.supported;\n }),\n configurations: configurations,\n decodingInfoResults: decodingInfoResults\n };\n }).catch(function (error) {\n return {\n supported: false,\n configurations: configurations,\n decodingInfoResults: [],\n error: error\n };\n });\n }\n function getMediaDecodingInfoKey(config) {\n var audio = config.audio,\n video = config.video;\n var mediaConfig = video || audio;\n if (mediaConfig) {\n var codec = mediaConfig.contentType.split('\"')[1];\n if (video) {\n return \"r\" + video.height + \"x\" + video.width + \"f\" + Math.ceil(video.framerate) + (video.transferFunction || 'sd') + \"_\" + codec + \"_\" + Math.ceil(video.bitrate / 1e5);\n }\n if (audio) {\n return \"c\" + audio.channels + (audio.spatialRendering ? 's' : 'n') + \"_\" + codec;\n }\n }\n return '';\n }\n\n /**\n * @returns Whether we can detect and validate HDR capability within the window context\n */\n function isHdrSupported() {\n if (typeof matchMedia === 'function') {\n var mediaQueryList = matchMedia('(dynamic-range: high)');\n var badQuery = matchMedia('bad query');\n if (mediaQueryList.media !== badQuery.media) {\n return mediaQueryList.matches === true;\n }\n }\n return false;\n }\n\n /**\n * Sanitizes inputs to return the active video selection options for HDR/SDR.\n * When both inputs are null:\n *\n * `{ preferHDR: false, allowedVideoRanges: [] }`\n *\n * When `currentVideoRange` non-null, maintain the active range:\n *\n * `{ preferHDR: currentVideoRange !== 'SDR', allowedVideoRanges: [currentVideoRange] }`\n *\n * When VideoSelectionOption non-null:\n *\n * - Allow all video ranges if `allowedVideoRanges` unspecified.\n * - If `preferHDR` is non-null use the value to filter `allowedVideoRanges`.\n * - Else check window for HDR support and set `preferHDR` to the result.\n *\n * @param currentVideoRange\n * @param videoPreference\n */\n function getVideoSelectionOptions(currentVideoRange, videoPreference) {\n var preferHDR = false;\n var allowedVideoRanges = [];\n if (currentVideoRange) {\n preferHDR = currentVideoRange !== 'SDR';\n allowedVideoRanges = [currentVideoRange];\n }\n if (videoPreference) {\n allowedVideoRanges = videoPreference.allowedVideoRanges || VideoRangeValues.slice(0);\n preferHDR = videoPreference.preferHDR !== undefined ? videoPreference.preferHDR : isHdrSupported();\n if (preferHDR) {\n allowedVideoRanges = allowedVideoRanges.filter(function (range) {\n return range !== 'SDR';\n });\n } else {\n allowedVideoRanges = ['SDR'];\n }\n }\n return {\n preferHDR: preferHDR,\n allowedVideoRanges: allowedVideoRanges\n };\n }\n\n function getStartCodecTier(codecTiers, currentVideoRange, currentBw, audioPreference, videoPreference) {\n var codecSets = Object.keys(codecTiers);\n var channelsPreference = audioPreference == null ? void 0 : audioPreference.channels;\n var audioCodecPreference = audioPreference == null ? void 0 : audioPreference.audioCodec;\n var preferStereo = channelsPreference && parseInt(channelsPreference) === 2;\n // Use first level set to determine stereo, and minimum resolution and framerate\n var hasStereo = true;\n var hasCurrentVideoRange = false;\n var minHeight = Infinity;\n var minFramerate = Infinity;\n var minBitrate = Infinity;\n var selectedScore = 0;\n var videoRanges = [];\n var _getVideoSelectionOpt = getVideoSelectionOptions(currentVideoRange, videoPreference),\n preferHDR = _getVideoSelectionOpt.preferHDR,\n allowedVideoRanges = _getVideoSelectionOpt.allowedVideoRanges;\n var _loop = function _loop() {\n var tier = codecTiers[codecSets[i]];\n hasStereo = tier.channels[2] > 0;\n minHeight = Math.min(minHeight, tier.minHeight);\n minFramerate = Math.min(minFramerate, tier.minFramerate);\n minBitrate = Math.min(minBitrate, tier.minBitrate);\n var matchingVideoRanges = allowedVideoRanges.filter(function (range) {\n return tier.videoRanges[range] > 0;\n });\n if (matchingVideoRanges.length > 0) {\n hasCurrentVideoRange = true;\n videoRanges = matchingVideoRanges;\n }\n };\n for (var i = codecSets.length; i--;) {\n _loop();\n }\n minHeight = isFiniteNumber(minHeight) ? minHeight : 0;\n minFramerate = isFiniteNumber(minFramerate) ? minFramerate : 0;\n var maxHeight = Math.max(1080, minHeight);\n var maxFramerate = Math.max(30, minFramerate);\n minBitrate = isFiniteNumber(minBitrate) ? minBitrate : currentBw;\n currentBw = Math.max(minBitrate, currentBw);\n // If there are no variants with matching preference, set currentVideoRange to undefined\n if (!hasCurrentVideoRange) {\n currentVideoRange = undefined;\n videoRanges = [];\n }\n var codecSet = codecSets.reduce(function (selected, candidate) {\n // Remove candiates which do not meet bitrate, default audio, stereo or channels preference, 1080p or lower, 30fps or lower, or SDR/HDR selection if present\n var candidateTier = codecTiers[candidate];\n if (candidate === selected) {\n return selected;\n }\n if (candidateTier.minBitrate > currentBw) {\n logStartCodecCandidateIgnored(candidate, \"min bitrate of \" + candidateTier.minBitrate + \" > current estimate of \" + currentBw);\n return selected;\n }\n if (!candidateTier.hasDefaultAudio) {\n logStartCodecCandidateIgnored(candidate, \"no renditions with default or auto-select sound found\");\n return selected;\n }\n if (audioCodecPreference && candidate.indexOf(audioCodecPreference.substring(0, 4)) % 5 !== 0) {\n logStartCodecCandidateIgnored(candidate, \"audio codec preference \\\"\" + audioCodecPreference + \"\\\" not found\");\n return selected;\n }\n if (channelsPreference && !preferStereo) {\n if (!candidateTier.channels[channelsPreference]) {\n logStartCodecCandidateIgnored(candidate, \"no renditions with \" + channelsPreference + \" channel sound found (channels options: \" + Object.keys(candidateTier.channels) + \")\");\n return selected;\n }\n } else if ((!audioCodecPreference || preferStereo) && hasStereo && candidateTier.channels['2'] === 0) {\n logStartCodecCandidateIgnored(candidate, \"no renditions with stereo sound found\");\n return selected;\n }\n if (candidateTier.minHeight > maxHeight) {\n logStartCodecCandidateIgnored(candidate, \"min resolution of \" + candidateTier.minHeight + \" > maximum of \" + maxHeight);\n return selected;\n }\n if (candidateTier.minFramerate > maxFramerate) {\n logStartCodecCandidateIgnored(candidate, \"min framerate of \" + candidateTier.minFramerate + \" > maximum of \" + maxFramerate);\n return selected;\n }\n if (!videoRanges.some(function (range) {\n return candidateTier.videoRanges[range] > 0;\n })) {\n logStartCodecCandidateIgnored(candidate, \"no variants with VIDEO-RANGE of \" + JSON.stringify(videoRanges) + \" found\");\n return selected;\n }\n if (candidateTier.maxScore < selectedScore) {\n logStartCodecCandidateIgnored(candidate, \"max score of \" + candidateTier.maxScore + \" < selected max of \" + selectedScore);\n return selected;\n }\n // Remove candiates with less preferred codecs or more errors\n if (selected && (codecsSetSelectionPreferenceValue(candidate) >= codecsSetSelectionPreferenceValue(selected) || candidateTier.fragmentError > codecTiers[selected].fragmentError)) {\n return selected;\n }\n selectedScore = candidateTier.maxScore;\n return candidate;\n }, undefined);\n return {\n codecSet: codecSet,\n videoRanges: videoRanges,\n preferHDR: preferHDR,\n minFramerate: minFramerate,\n minBitrate: minBitrate\n };\n }\n function logStartCodecCandidateIgnored(codeSet, reason) {\n logger.log(\"[abr] start candidates with \\\"\" + codeSet + \"\\\" ignored because \" + reason);\n }\n function getAudioTracksByGroup(allAudioTracks) {\n return allAudioTracks.reduce(function (audioTracksByGroup, track) {\n var trackGroup = audioTracksByGroup.groups[track.groupId];\n if (!trackGroup) {\n trackGroup = audioTracksByGroup.groups[track.groupId] = {\n tracks: [],\n channels: {\n 2: 0\n },\n hasDefault: false,\n hasAutoSelect: false\n };\n }\n trackGroup.tracks.push(track);\n var channelsKey = track.channels || '2';\n trackGroup.channels[channelsKey] = (trackGroup.channels[channelsKey] || 0) + 1;\n trackGroup.hasDefault = trackGroup.hasDefault || track.default;\n trackGroup.hasAutoSelect = trackGroup.hasAutoSelect || track.autoselect;\n if (trackGroup.hasDefault) {\n audioTracksByGroup.hasDefaultAudio = true;\n }\n if (trackGroup.hasAutoSelect) {\n audioTracksByGroup.hasAutoSelectAudio = true;\n }\n return audioTracksByGroup;\n }, {\n hasDefaultAudio: false,\n hasAutoSelectAudio: false,\n groups: {}\n });\n }\n function getCodecTiers(levels, audioTracksByGroup, minAutoLevel, maxAutoLevel) {\n return levels.slice(minAutoLevel, maxAutoLevel + 1).reduce(function (tiers, level) {\n if (!level.codecSet) {\n return tiers;\n }\n var audioGroups = level.audioGroups;\n var tier = tiers[level.codecSet];\n if (!tier) {\n tiers[level.codecSet] = tier = {\n minBitrate: Infinity,\n minHeight: Infinity,\n minFramerate: Infinity,\n maxScore: 0,\n videoRanges: {\n SDR: 0\n },\n channels: {\n '2': 0\n },\n hasDefaultAudio: !audioGroups,\n fragmentError: 0\n };\n }\n tier.minBitrate = Math.min(tier.minBitrate, level.bitrate);\n var lesserWidthOrHeight = Math.min(level.height, level.width);\n tier.minHeight = Math.min(tier.minHeight, lesserWidthOrHeight);\n tier.minFramerate = Math.min(tier.minFramerate, level.frameRate);\n tier.maxScore = Math.max(tier.maxScore, level.score);\n tier.fragmentError += level.fragmentError;\n tier.videoRanges[level.videoRange] = (tier.videoRanges[level.videoRange] || 0) + 1;\n if (audioGroups) {\n audioGroups.forEach(function (audioGroupId) {\n if (!audioGroupId) {\n return;\n }\n var audioGroup = audioTracksByGroup.groups[audioGroupId];\n // Default audio is any group with DEFAULT=YES, or if missing then any group with AUTOSELECT=YES, or all variants\n tier.hasDefaultAudio = tier.hasDefaultAudio || audioTracksByGroup.hasDefaultAudio ? audioGroup.hasDefault : audioGroup.hasAutoSelect || !audioTracksByGroup.hasDefaultAudio && !audioTracksByGroup.hasAutoSelectAudio;\n Object.keys(audioGroup.channels).forEach(function (channels) {\n tier.channels[channels] = (tier.channels[channels] || 0) + audioGroup.channels[channels];\n });\n });\n }\n return tiers;\n }, {});\n }\n function findMatchingOption(option, tracks, matchPredicate) {\n if ('attrs' in option) {\n var index = tracks.indexOf(option);\n if (index !== -1) {\n return index;\n }\n }\n for (var i = 0; i < tracks.length; i++) {\n var _track = tracks[i];\n if (matchesOption(option, _track, matchPredicate)) {\n return i;\n }\n }\n return -1;\n }\n function matchesOption(option, track, matchPredicate) {\n var groupId = option.groupId,\n name = option.name,\n lang = option.lang,\n assocLang = option.assocLang,\n characteristics = option.characteristics,\n isDefault = option.default;\n var forced = option.forced;\n return (groupId === undefined || track.groupId === groupId) && (name === undefined || track.name === name) && (lang === undefined || track.lang === lang) && (lang === undefined || track.assocLang === assocLang) && (isDefault === undefined || track.default === isDefault) && (forced === undefined || track.forced === forced) && (characteristics === undefined || characteristicsMatch(characteristics, track.characteristics)) && (matchPredicate === undefined || matchPredicate(option, track));\n }\n function characteristicsMatch(characteristicsA, characteristicsB) {\n if (characteristicsB === void 0) {\n characteristicsB = '';\n }\n var arrA = characteristicsA.split(',');\n var arrB = characteristicsB.split(',');\n // Expects each item to be unique:\n return arrA.length === arrB.length && !arrA.some(function (el) {\n return arrB.indexOf(el) === -1;\n });\n }\n function audioMatchPredicate(option, track) {\n var audioCodec = option.audioCodec,\n channels = option.channels;\n return (audioCodec === undefined || (track.audioCodec || '').substring(0, 4) === audioCodec.substring(0, 4)) && (channels === undefined || channels === (track.channels || '2'));\n }\n function findClosestLevelWithAudioGroup(option, levels, allAudioTracks, searchIndex, matchPredicate) {\n var currentLevel = levels[searchIndex];\n // Are there variants with same URI as current level?\n // If so, find a match that does not require any level URI change\n var variants = levels.reduce(function (variantMap, level, index) {\n var uri = level.uri;\n var renditions = variantMap[uri] || (variantMap[uri] = []);\n renditions.push(index);\n return variantMap;\n }, {});\n var renditions = variants[currentLevel.uri];\n if (renditions.length > 1) {\n searchIndex = Math.max.apply(Math, renditions);\n }\n // Find best match\n var currentVideoRange = currentLevel.videoRange;\n var currentFrameRate = currentLevel.frameRate;\n var currentVideoCodec = currentLevel.codecSet.substring(0, 4);\n var matchingVideo = searchDownAndUpList(levels, searchIndex, function (level) {\n if (level.videoRange !== currentVideoRange || level.frameRate !== currentFrameRate || level.codecSet.substring(0, 4) !== currentVideoCodec) {\n return false;\n }\n var audioGroups = level.audioGroups;\n var tracks = allAudioTracks.filter(function (track) {\n return !audioGroups || audioGroups.indexOf(track.groupId) !== -1;\n });\n return findMatchingOption(option, tracks, matchPredicate) > -1;\n });\n if (matchingVideo > -1) {\n return matchingVideo;\n }\n return searchDownAndUpList(levels, searchIndex, function (level) {\n var audioGroups = level.audioGroups;\n var tracks = allAudioTracks.filter(function (track) {\n return !audioGroups || audioGroups.indexOf(track.groupId) !== -1;\n });\n return findMatchingOption(option, tracks, matchPredicate) > -1;\n });\n }\n function searchDownAndUpList(arr, searchIndex, predicate) {\n for (var i = searchIndex; i; i--) {\n if (predicate(arr[i])) {\n return i;\n }\n }\n for (var _i = searchIndex + 1; _i < arr.length; _i++) {\n if (predicate(arr[_i])) {\n return _i;\n }\n }\n return -1;\n }\n\n var AbrController = /*#__PURE__*/function () {\n function AbrController(_hls) {\n var _this = this;\n this.hls = void 0;\n this.lastLevelLoadSec = 0;\n this.lastLoadedFragLevel = -1;\n this.firstSelection = -1;\n this._nextAutoLevel = -1;\n this.nextAutoLevelKey = '';\n this.audioTracksByGroup = null;\n this.codecTiers = null;\n this.timer = -1;\n this.fragCurrent = null;\n this.partCurrent = null;\n this.bitrateTestDelay = 0;\n this.bwEstimator = void 0;\n /*\n This method monitors the download rate of the current fragment, and will downswitch if that fragment will not load\n quickly enough to prevent underbuffering\n */\n this._abandonRulesCheck = function () {\n var frag = _this.fragCurrent,\n part = _this.partCurrent,\n hls = _this.hls;\n var autoLevelEnabled = hls.autoLevelEnabled,\n media = hls.media;\n if (!frag || !media) {\n return;\n }\n var now = performance.now();\n var stats = part ? part.stats : frag.stats;\n var duration = part ? part.duration : frag.duration;\n var timeLoading = now - stats.loading.start;\n var minAutoLevel = hls.minAutoLevel;\n // If frag loading is aborted, complete, or from lowest level, stop timer and return\n if (stats.aborted || stats.loaded && stats.loaded === stats.total || frag.level <= minAutoLevel) {\n _this.clearTimer();\n // reset forced auto level value so that next level will be selected\n _this._nextAutoLevel = -1;\n return;\n }\n\n // This check only runs if we're in ABR mode and actually playing\n if (!autoLevelEnabled || media.paused || !media.playbackRate || !media.readyState) {\n return;\n }\n var bufferInfo = hls.mainForwardBufferInfo;\n if (bufferInfo === null) {\n return;\n }\n var ttfbEstimate = _this.bwEstimator.getEstimateTTFB();\n var playbackRate = Math.abs(media.playbackRate);\n // To maintain stable adaptive playback, only begin monitoring frag loading after half or more of its playback duration has passed\n if (timeLoading <= Math.max(ttfbEstimate, 1000 * (duration / (playbackRate * 2)))) {\n return;\n }\n\n // bufferStarvationDelay is an estimate of the amount time (in seconds) it will take to exhaust the buffer\n var bufferStarvationDelay = bufferInfo.len / playbackRate;\n var ttfb = stats.loading.first ? stats.loading.first - stats.loading.start : -1;\n var loadedFirstByte = stats.loaded && ttfb > -1;\n var bwEstimate = _this.getBwEstimate();\n var levels = hls.levels;\n var level = levels[frag.level];\n var expectedLen = stats.total || Math.max(stats.loaded, Math.round(duration * level.averageBitrate / 8));\n var timeStreaming = loadedFirstByte ? timeLoading - ttfb : timeLoading;\n if (timeStreaming < 1 && loadedFirstByte) {\n timeStreaming = Math.min(timeLoading, stats.loaded * 8 / bwEstimate);\n }\n var loadRate = loadedFirstByte ? stats.loaded * 1000 / timeStreaming : 0;\n // fragLoadDelay is an estimate of the time (in seconds) it will take to buffer the remainder of the fragment\n var fragLoadedDelay = loadRate ? (expectedLen - stats.loaded) / loadRate : expectedLen * 8 / bwEstimate + ttfbEstimate / 1000;\n // Only downswitch if the time to finish loading the current fragment is greater than the amount of buffer left\n if (fragLoadedDelay <= bufferStarvationDelay) {\n return;\n }\n var bwe = loadRate ? loadRate * 8 : bwEstimate;\n var fragLevelNextLoadedDelay = Number.POSITIVE_INFINITY;\n var nextLoadLevel;\n // Iterate through lower level and try to find the largest one that avoids rebuffering\n for (nextLoadLevel = frag.level - 1; nextLoadLevel > minAutoLevel; nextLoadLevel--) {\n // compute time to load next fragment at lower level\n // 8 = bits per byte (bps/Bps)\n var levelNextBitrate = levels[nextLoadLevel].maxBitrate;\n fragLevelNextLoadedDelay = _this.getTimeToLoadFrag(ttfbEstimate / 1000, bwe, duration * levelNextBitrate, !levels[nextLoadLevel].details);\n if (fragLevelNextLoadedDelay < bufferStarvationDelay) {\n break;\n }\n }\n // Only emergency switch down if it takes less time to load a new fragment at lowest level instead of continuing\n // to load the current one\n if (fragLevelNextLoadedDelay >= fragLoadedDelay) {\n return;\n }\n\n // if estimated load time of new segment is completely unreasonable, ignore and do not emergency switch down\n if (fragLevelNextLoadedDelay > duration * 10) {\n return;\n }\n hls.nextLoadLevel = hls.nextAutoLevel = nextLoadLevel;\n if (loadedFirstByte) {\n // If there has been loading progress, sample bandwidth using loading time offset by minimum TTFB time\n _this.bwEstimator.sample(timeLoading - Math.min(ttfbEstimate, ttfb), stats.loaded);\n } else {\n // If there has been no loading progress, sample TTFB\n _this.bwEstimator.sampleTTFB(timeLoading);\n }\n var nextLoadLevelBitrate = levels[nextLoadLevel].maxBitrate;\n if (_this.getBwEstimate() * _this.hls.config.abrBandWidthUpFactor > nextLoadLevelBitrate) {\n _this.resetEstimator(nextLoadLevelBitrate);\n }\n _this.clearTimer();\n logger.warn(\"[abr] Fragment \" + frag.sn + (part ? ' part ' + part.index : '') + \" of level \" + frag.level + \" is loading too slowly;\\n Time to underbuffer: \" + bufferStarvationDelay.toFixed(3) + \" s\\n Estimated load time for current fragment: \" + fragLoadedDelay.toFixed(3) + \" s\\n Estimated load time for down switch fragment: \" + fragLevelNextLoadedDelay.toFixed(3) + \" s\\n TTFB estimate: \" + (ttfb | 0) + \" ms\\n Current BW estimate: \" + (isFiniteNumber(bwEstimate) ? bwEstimate | 0 : 'Unknown') + \" bps\\n New BW estimate: \" + (_this.getBwEstimate() | 0) + \" bps\\n Switching to level \" + nextLoadLevel + \" @ \" + (nextLoadLevelBitrate | 0) + \" bps\");\n hls.trigger(Events.FRAG_LOAD_EMERGENCY_ABORTED, {\n frag: frag,\n part: part,\n stats: stats\n });\n };\n this.hls = _hls;\n this.bwEstimator = this.initEstimator();\n this.registerListeners();\n }\n var _proto = AbrController.prototype;\n _proto.resetEstimator = function resetEstimator(abrEwmaDefaultEstimate) {\n if (abrEwmaDefaultEstimate) {\n logger.log(\"setting initial bwe to \" + abrEwmaDefaultEstimate);\n this.hls.config.abrEwmaDefaultEstimate = abrEwmaDefaultEstimate;\n }\n this.firstSelection = -1;\n this.bwEstimator = this.initEstimator();\n };\n _proto.initEstimator = function initEstimator() {\n var config = this.hls.config;\n return new EwmaBandWidthEstimator(config.abrEwmaSlowVoD, config.abrEwmaFastVoD, config.abrEwmaDefaultEstimate);\n };\n _proto.registerListeners = function registerListeners() {\n var hls = this.hls;\n hls.on(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.on(Events.FRAG_LOADING, this.onFragLoading, this);\n hls.on(Events.FRAG_LOADED, this.onFragLoaded, this);\n hls.on(Events.FRAG_BUFFERED, this.onFragBuffered, this);\n hls.on(Events.LEVEL_SWITCHING, this.onLevelSwitching, this);\n hls.on(Events.LEVEL_LOADED, this.onLevelLoaded, this);\n hls.on(Events.LEVELS_UPDATED, this.onLevelsUpdated, this);\n hls.on(Events.MAX_AUTO_LEVEL_UPDATED, this.onMaxAutoLevelUpdated, this);\n hls.on(Events.ERROR, this.onError, this);\n };\n _proto.unregisterListeners = function unregisterListeners() {\n var hls = this.hls;\n if (!hls) {\n return;\n }\n hls.off(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.off(Events.FRAG_LOADING, this.onFragLoading, this);\n hls.off(Events.FRAG_LOADED, this.onFragLoaded, this);\n hls.off(Events.FRAG_BUFFERED, this.onFragBuffered, this);\n hls.off(Events.LEVEL_SWITCHING, this.onLevelSwitching, this);\n hls.off(Events.LEVEL_LOADED, this.onLevelLoaded, this);\n hls.off(Events.LEVELS_UPDATED, this.onLevelsUpdated, this);\n hls.off(Events.MAX_AUTO_LEVEL_UPDATED, this.onMaxAutoLevelUpdated, this);\n hls.off(Events.ERROR, this.onError, this);\n };\n _proto.destroy = function destroy() {\n this.unregisterListeners();\n this.clearTimer();\n // @ts-ignore\n this.hls = this._abandonRulesCheck = null;\n this.fragCurrent = this.partCurrent = null;\n };\n _proto.onManifestLoading = function onManifestLoading(event, data) {\n this.lastLoadedFragLevel = -1;\n this.firstSelection = -1;\n this.lastLevelLoadSec = 0;\n this.fragCurrent = this.partCurrent = null;\n this.onLevelsUpdated();\n this.clearTimer();\n };\n _proto.onLevelsUpdated = function onLevelsUpdated() {\n if (this.lastLoadedFragLevel > -1 && this.fragCurrent) {\n this.lastLoadedFragLevel = this.fragCurrent.level;\n }\n this._nextAutoLevel = -1;\n this.onMaxAutoLevelUpdated();\n this.codecTiers = null;\n this.audioTracksByGroup = null;\n };\n _proto.onMaxAutoLevelUpdated = function onMaxAutoLevelUpdated() {\n this.firstSelection = -1;\n this.nextAutoLevelKey = '';\n };\n _proto.onFragLoading = function onFragLoading(event, data) {\n var frag = data.frag;\n if (this.ignoreFragment(frag)) {\n return;\n }\n if (!frag.bitrateTest) {\n var _data$part;\n this.fragCurrent = frag;\n this.partCurrent = (_data$part = data.part) != null ? _data$part : null;\n }\n this.clearTimer();\n this.timer = self.setInterval(this._abandonRulesCheck, 100);\n };\n _proto.onLevelSwitching = function onLevelSwitching(event, data) {\n this.clearTimer();\n };\n _proto.onError = function onError(event, data) {\n if (data.fatal) {\n return;\n }\n switch (data.details) {\n case ErrorDetails.BUFFER_ADD_CODEC_ERROR:\n case ErrorDetails.BUFFER_APPEND_ERROR:\n // Reset last loaded level so that a new selection can be made after calling recoverMediaError\n this.lastLoadedFragLevel = -1;\n this.firstSelection = -1;\n break;\n case ErrorDetails.FRAG_LOAD_TIMEOUT:\n {\n var frag = data.frag;\n var fragCurrent = this.fragCurrent,\n part = this.partCurrent;\n if (frag && fragCurrent && frag.sn === fragCurrent.sn && frag.level === fragCurrent.level) {\n var now = performance.now();\n var stats = part ? part.stats : frag.stats;\n var timeLoading = now - stats.loading.start;\n var ttfb = stats.loading.first ? stats.loading.first - stats.loading.start : -1;\n var loadedFirstByte = stats.loaded && ttfb > -1;\n if (loadedFirstByte) {\n var ttfbEstimate = this.bwEstimator.getEstimateTTFB();\n this.bwEstimator.sample(timeLoading - Math.min(ttfbEstimate, ttfb), stats.loaded);\n } else {\n this.bwEstimator.sampleTTFB(timeLoading);\n }\n }\n break;\n }\n }\n };\n _proto.getTimeToLoadFrag = function getTimeToLoadFrag(timeToFirstByteSec, bandwidth, fragSizeBits, isSwitch) {\n var fragLoadSec = timeToFirstByteSec + fragSizeBits / bandwidth;\n var playlistLoadSec = isSwitch ? this.lastLevelLoadSec : 0;\n return fragLoadSec + playlistLoadSec;\n };\n _proto.onLevelLoaded = function onLevelLoaded(event, data) {\n var config = this.hls.config;\n var loading = data.stats.loading;\n var timeLoadingMs = loading.end - loading.start;\n if (isFiniteNumber(timeLoadingMs)) {\n this.lastLevelLoadSec = timeLoadingMs / 1000;\n }\n if (data.details.live) {\n this.bwEstimator.update(config.abrEwmaSlowLive, config.abrEwmaFastLive);\n } else {\n this.bwEstimator.update(config.abrEwmaSlowVoD, config.abrEwmaFastVoD);\n }\n };\n _proto.onFragLoaded = function onFragLoaded(event, _ref) {\n var frag = _ref.frag,\n part = _ref.part;\n var stats = part ? part.stats : frag.stats;\n if (frag.type === PlaylistLevelType.MAIN) {\n this.bwEstimator.sampleTTFB(stats.loading.first - stats.loading.start);\n }\n if (this.ignoreFragment(frag)) {\n return;\n }\n // stop monitoring bw once frag loaded\n this.clearTimer();\n // reset forced auto level value so that next level will be selected\n if (frag.level === this._nextAutoLevel) {\n this._nextAutoLevel = -1;\n }\n this.firstSelection = -1;\n\n // compute level average bitrate\n if (this.hls.config.abrMaxWithRealBitrate) {\n var duration = part ? part.duration : frag.duration;\n var level = this.hls.levels[frag.level];\n var loadedBytes = (level.loaded ? level.loaded.bytes : 0) + stats.loaded;\n var loadedDuration = (level.loaded ? level.loaded.duration : 0) + duration;\n level.loaded = {\n bytes: loadedBytes,\n duration: loadedDuration\n };\n level.realBitrate = Math.round(8 * loadedBytes / loadedDuration);\n }\n if (frag.bitrateTest) {\n var fragBufferedData = {\n stats: stats,\n frag: frag,\n part: part,\n id: frag.type\n };\n this.onFragBuffered(Events.FRAG_BUFFERED, fragBufferedData);\n frag.bitrateTest = false;\n } else {\n // store level id after successful fragment load for playback\n this.lastLoadedFragLevel = frag.level;\n }\n };\n _proto.onFragBuffered = function onFragBuffered(event, data) {\n var frag = data.frag,\n part = data.part;\n var stats = part != null && part.stats.loaded ? part.stats : frag.stats;\n if (stats.aborted) {\n return;\n }\n if (this.ignoreFragment(frag)) {\n return;\n }\n // Use the difference between parsing and request instead of buffering and request to compute fragLoadingProcessing;\n // rationale is that buffer appending only happens once media is attached. This can happen when config.startFragPrefetch\n // is used. If we used buffering in that case, our BW estimate sample will be very large.\n var processingMs = stats.parsing.end - stats.loading.start - Math.min(stats.loading.first - stats.loading.start, this.bwEstimator.getEstimateTTFB());\n this.bwEstimator.sample(processingMs, stats.loaded);\n stats.bwEstimate = this.getBwEstimate();\n if (frag.bitrateTest) {\n this.bitrateTestDelay = processingMs / 1000;\n } else {\n this.bitrateTestDelay = 0;\n }\n };\n _proto.ignoreFragment = function ignoreFragment(frag) {\n // Only count non-alt-audio frags which were actually buffered in our BW calculations\n return frag.type !== PlaylistLevelType.MAIN || frag.sn === 'initSegment';\n };\n _proto.clearTimer = function clearTimer() {\n if (this.timer > -1) {\n self.clearInterval(this.timer);\n this.timer = -1;\n }\n };\n _proto.getAutoLevelKey = function getAutoLevelKey() {\n var _this$hls$mainForward;\n return this.getBwEstimate() + \"_\" + ((_this$hls$mainForward = this.hls.mainForwardBufferInfo) == null ? void 0 : _this$hls$mainForward.len);\n };\n _proto.getNextABRAutoLevel = function getNextABRAutoLevel() {\n var fragCurrent = this.fragCurrent,\n partCurrent = this.partCurrent,\n hls = this.hls;\n var maxAutoLevel = hls.maxAutoLevel,\n config = hls.config,\n minAutoLevel = hls.minAutoLevel,\n media = hls.media;\n var currentFragDuration = partCurrent ? partCurrent.duration : fragCurrent ? fragCurrent.duration : 0;\n\n // playbackRate is the absolute value of the playback rate; if media.playbackRate is 0, we use 1 to load as\n // if we're playing back at the normal rate.\n var playbackRate = media && media.playbackRate !== 0 ? Math.abs(media.playbackRate) : 1.0;\n var avgbw = this.getBwEstimate();\n // bufferStarvationDelay is the wall-clock time left until the playback buffer is exhausted.\n var bufferInfo = hls.mainForwardBufferInfo;\n var bufferStarvationDelay = (bufferInfo ? bufferInfo.len : 0) / playbackRate;\n var bwFactor = config.abrBandWidthFactor;\n var bwUpFactor = config.abrBandWidthUpFactor;\n\n // First, look to see if we can find a level matching with our avg bandwidth AND that could also guarantee no rebuffering at all\n if (bufferStarvationDelay) {\n var _bestLevel = this.findBestLevel(avgbw, minAutoLevel, maxAutoLevel, bufferStarvationDelay, 0, bwFactor, bwUpFactor);\n if (_bestLevel >= 0) {\n return _bestLevel;\n }\n }\n // not possible to get rid of rebuffering... try to find level that will guarantee less than maxStarvationDelay of rebuffering\n var maxStarvationDelay = currentFragDuration ? Math.min(currentFragDuration, config.maxStarvationDelay) : config.maxStarvationDelay;\n if (!bufferStarvationDelay) {\n // in case buffer is empty, let's check if previous fragment was loaded to perform a bitrate test\n var bitrateTestDelay = this.bitrateTestDelay;\n if (bitrateTestDelay) {\n // if it is the case, then we need to adjust our max starvation delay using maxLoadingDelay config value\n // max video loading delay used in automatic start level selection :\n // in that mode ABR controller will ensure that video loading time (ie the time to fetch the first fragment at lowest quality level +\n // the time to fetch the fragment at the appropriate quality level is less than ```maxLoadingDelay``` )\n // cap maxLoadingDelay and ensure it is not bigger 'than bitrate test' frag duration\n var maxLoadingDelay = currentFragDuration ? Math.min(currentFragDuration, config.maxLoadingDelay) : config.maxLoadingDelay;\n maxStarvationDelay = maxLoadingDelay - bitrateTestDelay;\n logger.info(\"[abr] bitrate test took \" + Math.round(1000 * bitrateTestDelay) + \"ms, set first fragment max fetchDuration to \" + Math.round(1000 * maxStarvationDelay) + \" ms\");\n // don't use conservative factor on bitrate test\n bwFactor = bwUpFactor = 1;\n }\n }\n var bestLevel = this.findBestLevel(avgbw, minAutoLevel, maxAutoLevel, bufferStarvationDelay, maxStarvationDelay, bwFactor, bwUpFactor);\n logger.info(\"[abr] \" + (bufferStarvationDelay ? 'rebuffering expected' : 'buffer is empty') + \", optimal quality level \" + bestLevel);\n if (bestLevel > -1) {\n return bestLevel;\n }\n // If no matching level found, see if min auto level would be a better option\n var minLevel = hls.levels[minAutoLevel];\n var autoLevel = hls.levels[hls.loadLevel];\n if ((minLevel == null ? void 0 : minLevel.bitrate) < (autoLevel == null ? void 0 : autoLevel.bitrate)) {\n return minAutoLevel;\n }\n // or if bitrate is not lower, continue to use loadLevel\n return hls.loadLevel;\n };\n _proto.getBwEstimate = function getBwEstimate() {\n return this.bwEstimator.canEstimate() ? this.bwEstimator.getEstimate() : this.hls.config.abrEwmaDefaultEstimate;\n };\n _proto.findBestLevel = function findBestLevel(currentBw, minAutoLevel, maxAutoLevel, bufferStarvationDelay, maxStarvationDelay, bwFactor, bwUpFactor) {\n var _level$details,\n _this2 = this;\n var maxFetchDuration = bufferStarvationDelay + maxStarvationDelay;\n var lastLoadedFragLevel = this.lastLoadedFragLevel;\n var selectionBaseLevel = lastLoadedFragLevel === -1 ? this.hls.firstLevel : lastLoadedFragLevel;\n var fragCurrent = this.fragCurrent,\n partCurrent = this.partCurrent;\n var _this$hls = this.hls,\n levels = _this$hls.levels,\n allAudioTracks = _this$hls.allAudioTracks,\n loadLevel = _this$hls.loadLevel,\n config = _this$hls.config;\n if (levels.length === 1) {\n return 0;\n }\n var level = levels[selectionBaseLevel];\n var live = !!(level != null && (_level$details = level.details) != null && _level$details.live);\n var firstSelection = loadLevel === -1 || lastLoadedFragLevel === -1;\n var currentCodecSet;\n var currentVideoRange = 'SDR';\n var currentFrameRate = (level == null ? void 0 : level.frameRate) || 0;\n var audioPreference = config.audioPreference,\n videoPreference = config.videoPreference;\n var audioTracksByGroup = this.audioTracksByGroup || (this.audioTracksByGroup = getAudioTracksByGroup(allAudioTracks));\n if (firstSelection) {\n if (this.firstSelection !== -1) {\n return this.firstSelection;\n }\n var codecTiers = this.codecTiers || (this.codecTiers = getCodecTiers(levels, audioTracksByGroup, minAutoLevel, maxAutoLevel));\n var startTier = getStartCodecTier(codecTiers, currentVideoRange, currentBw, audioPreference, videoPreference);\n var codecSet = startTier.codecSet,\n videoRanges = startTier.videoRanges,\n minFramerate = startTier.minFramerate,\n minBitrate = startTier.minBitrate,\n preferHDR = startTier.preferHDR;\n currentCodecSet = codecSet;\n currentVideoRange = preferHDR ? videoRanges[videoRanges.length - 1] : videoRanges[0];\n currentFrameRate = minFramerate;\n currentBw = Math.max(currentBw, minBitrate);\n logger.log(\"[abr] picked start tier \" + JSON.stringify(startTier));\n } else {\n currentCodecSet = level == null ? void 0 : level.codecSet;\n currentVideoRange = level == null ? void 0 : level.videoRange;\n }\n var currentFragDuration = partCurrent ? partCurrent.duration : fragCurrent ? fragCurrent.duration : 0;\n var ttfbEstimateSec = this.bwEstimator.getEstimateTTFB() / 1000;\n var levelsSkipped = [];\n var _loop = function _loop() {\n var _levelInfo$supportedR;\n var levelInfo = levels[i];\n var upSwitch = i > selectionBaseLevel;\n if (!levelInfo) {\n return 0; // continue\n }\n if (config.useMediaCapabilities && !levelInfo.supportedResult && !levelInfo.supportedPromise) {\n var mediaCapabilities = navigator.mediaCapabilities;\n if (typeof (mediaCapabilities == null ? void 0 : mediaCapabilities.decodingInfo) === 'function' && requiresMediaCapabilitiesDecodingInfo(levelInfo, audioTracksByGroup, currentVideoRange, currentFrameRate, currentBw, audioPreference)) {\n levelInfo.supportedPromise = getMediaDecodingInfoPromise(levelInfo, audioTracksByGroup, mediaCapabilities);\n levelInfo.supportedPromise.then(function (decodingInfo) {\n levelInfo.supportedResult = decodingInfo;\n var levels = _this2.hls.levels;\n var index = levels.indexOf(levelInfo);\n if (decodingInfo.error) {\n logger.warn(\"[abr] MediaCapabilities decodingInfo error: \\\"\" + decodingInfo.error + \"\\\" for level \" + index + \" \" + JSON.stringify(decodingInfo));\n } else if (!decodingInfo.supported) {\n logger.warn(\"[abr] Unsupported MediaCapabilities decodingInfo result for level \" + index + \" \" + JSON.stringify(decodingInfo));\n if (index > -1 && levels.length > 1) {\n logger.log(\"[abr] Removing unsupported level \" + index);\n _this2.hls.removeLevel(index);\n }\n }\n });\n } else {\n levelInfo.supportedResult = SUPPORTED_INFO_DEFAULT;\n }\n }\n\n // skip candidates which change codec-family or video-range,\n // and which decrease or increase frame-rate for up and down-switch respectfully\n if (currentCodecSet && levelInfo.codecSet !== currentCodecSet || currentVideoRange && levelInfo.videoRange !== currentVideoRange || upSwitch && currentFrameRate > levelInfo.frameRate || !upSwitch && currentFrameRate > 0 && currentFrameRate < levelInfo.frameRate || levelInfo.supportedResult && !((_levelInfo$supportedR = levelInfo.supportedResult.decodingInfoResults) != null && _levelInfo$supportedR[0].smooth)) {\n levelsSkipped.push(i);\n return 0; // continue\n }\n var levelDetails = levelInfo.details;\n var avgDuration = (partCurrent ? levelDetails == null ? void 0 : levelDetails.partTarget : levelDetails == null ? void 0 : levelDetails.averagetargetduration) || currentFragDuration;\n var adjustedbw;\n // follow algorithm captured from stagefright :\n // https://android.googlesource.com/platform/frameworks/av/+/master/media/libstagefright/httplive/LiveSession.cpp\n // Pick the highest bandwidth stream below or equal to estimated bandwidth.\n // consider only 80% of the available bandwidth, but if we are switching up,\n // be even more conservative (70%) to avoid overestimating and immediately\n // switching back.\n if (!upSwitch) {\n adjustedbw = bwFactor * currentBw;\n } else {\n adjustedbw = bwUpFactor * currentBw;\n }\n\n // Use average bitrate when starvation delay (buffer length) is gt or eq two segment durations and rebuffering is not expected (maxStarvationDelay > 0)\n var bitrate = currentFragDuration && bufferStarvationDelay >= currentFragDuration * 2 && maxStarvationDelay === 0 ? levels[i].averageBitrate : levels[i].maxBitrate;\n var fetchDuration = _this2.getTimeToLoadFrag(ttfbEstimateSec, adjustedbw, bitrate * avgDuration, levelDetails === undefined);\n var canSwitchWithinTolerance =\n // if adjusted bw is greater than level bitrate AND\n adjustedbw >= bitrate && (\n // no level change, or new level has no error history\n i === lastLoadedFragLevel || levelInfo.loadError === 0 && levelInfo.fragmentError === 0) && (\n // fragment fetchDuration unknown OR live stream OR fragment fetchDuration less than max allowed fetch duration, then this level matches\n // we don't account for max Fetch Duration for live streams, this is to avoid switching down when near the edge of live sliding window ...\n // special case to support startLevel = -1 (bitrateTest) on live streams : in that case we should not exit loop so that findBestLevel will return -1\n fetchDuration <= ttfbEstimateSec || !isFiniteNumber(fetchDuration) || live && !_this2.bitrateTestDelay || fetchDuration < maxFetchDuration);\n if (canSwitchWithinTolerance) {\n var forcedAutoLevel = _this2.forcedAutoLevel;\n if (i !== loadLevel && (forcedAutoLevel === -1 || forcedAutoLevel !== loadLevel)) {\n if (levelsSkipped.length) {\n logger.trace(\"[abr] Skipped level(s) \" + levelsSkipped.join(',') + \" of \" + maxAutoLevel + \" max with CODECS and VIDEO-RANGE:\\\"\" + levels[levelsSkipped[0]].codecs + \"\\\" \" + levels[levelsSkipped[0]].videoRange + \"; not compatible with \\\"\" + level.codecs + \"\\\" \" + currentVideoRange);\n }\n logger.info(\"[abr] switch candidate:\" + selectionBaseLevel + \"->\" + i + \" adjustedbw(\" + Math.round(adjustedbw) + \")-bitrate=\" + Math.round(adjustedbw - bitrate) + \" ttfb:\" + ttfbEstimateSec.toFixed(1) + \" avgDuration:\" + avgDuration.toFixed(1) + \" maxFetchDuration:\" + maxFetchDuration.toFixed(1) + \" fetchDuration:\" + fetchDuration.toFixed(1) + \" firstSelection:\" + firstSelection + \" codecSet:\" + currentCodecSet + \" videoRange:\" + currentVideoRange + \" hls.loadLevel:\" + loadLevel);\n }\n if (firstSelection) {\n _this2.firstSelection = i;\n }\n // as we are looping from highest to lowest, this will return the best achievable quality level\n return {\n v: i\n };\n }\n },\n _ret;\n for (var i = maxAutoLevel; i >= minAutoLevel; i--) {\n _ret = _loop();\n if (_ret === 0) continue;\n if (_ret) return _ret.v;\n }\n // not enough time budget even with quality level 0 ... rebuffering might happen\n return -1;\n };\n _createClass(AbrController, [{\n key: \"firstAutoLevel\",\n get: function get() {\n var _this$hls2 = this.hls,\n maxAutoLevel = _this$hls2.maxAutoLevel,\n minAutoLevel = _this$hls2.minAutoLevel;\n var bwEstimate = this.getBwEstimate();\n var maxStartDelay = this.hls.config.maxStarvationDelay;\n var abrAutoLevel = this.findBestLevel(bwEstimate, minAutoLevel, maxAutoLevel, 0, maxStartDelay, 1, 1);\n if (abrAutoLevel > -1) {\n return abrAutoLevel;\n }\n var firstLevel = this.hls.firstLevel;\n var clamped = Math.min(Math.max(firstLevel, minAutoLevel), maxAutoLevel);\n logger.warn(\"[abr] Could not find best starting auto level. Defaulting to first in playlist \" + firstLevel + \" clamped to \" + clamped);\n return clamped;\n }\n }, {\n key: \"forcedAutoLevel\",\n get: function get() {\n if (this.nextAutoLevelKey) {\n return -1;\n }\n return this._nextAutoLevel;\n }\n\n // return next auto level\n }, {\n key: \"nextAutoLevel\",\n get: function get() {\n var forcedAutoLevel = this.forcedAutoLevel;\n var bwEstimator = this.bwEstimator;\n var useEstimate = bwEstimator.canEstimate();\n var loadedFirstFrag = this.lastLoadedFragLevel > -1;\n // in case next auto level has been forced, and bw not available or not reliable, return forced value\n if (forcedAutoLevel !== -1 && (!useEstimate || !loadedFirstFrag || this.nextAutoLevelKey === this.getAutoLevelKey())) {\n return forcedAutoLevel;\n }\n\n // compute next level using ABR logic\n var nextABRAutoLevel = useEstimate && loadedFirstFrag ? this.getNextABRAutoLevel() : this.firstAutoLevel;\n\n // use forced auto level while it hasn't errored more than ABR selection\n if (forcedAutoLevel !== -1) {\n var levels = this.hls.levels;\n if (levels.length > Math.max(forcedAutoLevel, nextABRAutoLevel) && levels[forcedAutoLevel].loadError <= levels[nextABRAutoLevel].loadError) {\n return forcedAutoLevel;\n }\n }\n\n // save result until state has changed\n this._nextAutoLevel = nextABRAutoLevel;\n this.nextAutoLevelKey = this.getAutoLevelKey();\n return nextABRAutoLevel;\n },\n set: function set(nextLevel) {\n var _this$hls3 = this.hls,\n maxAutoLevel = _this$hls3.maxAutoLevel,\n minAutoLevel = _this$hls3.minAutoLevel;\n var value = Math.min(Math.max(nextLevel, minAutoLevel), maxAutoLevel);\n if (this._nextAutoLevel !== value) {\n this.nextAutoLevelKey = '';\n this._nextAutoLevel = value;\n }\n }\n }]);\n return AbrController;\n }();\n\n /**\n * @ignore\n * Sub-class specialization of EventHandler base class.\n *\n * TaskLoop allows to schedule a task function being called (optionnaly repeatedly) on the main loop,\n * scheduled asynchroneously, avoiding recursive calls in the same tick.\n *\n * The task itself is implemented in `doTick`. It can be requested and called for single execution\n * using the `tick` method.\n *\n * It will be assured that the task execution method (`tick`) only gets called once per main loop \"tick\",\n * no matter how often it gets requested for execution. Execution in further ticks will be scheduled accordingly.\n *\n * If further execution requests have already been scheduled on the next tick, it can be checked with `hasNextTick`,\n * and cancelled with `clearNextTick`.\n *\n * The task can be scheduled as an interval repeatedly with a period as parameter (see `setInterval`, `clearInterval`).\n *\n * Sub-classes need to implement the `doTick` method which will effectively have the task execution routine.\n *\n * Further explanations:\n *\n * The baseclass has a `tick` method that will schedule the doTick call. It may be called synchroneously\n * only for a stack-depth of one. On re-entrant calls, sub-sequent calls are scheduled for next main loop ticks.\n *\n * When the task execution (`tick` method) is called in re-entrant way this is detected and\n * we are limiting the task execution per call stack to exactly one, but scheduling/post-poning further\n * task processing on the next main loop iteration (also known as \"next tick\" in the Node/JS runtime lingo).\n */\n var TaskLoop = /*#__PURE__*/function () {\n function TaskLoop() {\n this._boundTick = void 0;\n this._tickTimer = null;\n this._tickInterval = null;\n this._tickCallCount = 0;\n this._boundTick = this.tick.bind(this);\n }\n var _proto = TaskLoop.prototype;\n _proto.destroy = function destroy() {\n this.onHandlerDestroying();\n this.onHandlerDestroyed();\n };\n _proto.onHandlerDestroying = function onHandlerDestroying() {\n // clear all timers before unregistering from event bus\n this.clearNextTick();\n this.clearInterval();\n };\n _proto.onHandlerDestroyed = function onHandlerDestroyed() {};\n _proto.hasInterval = function hasInterval() {\n return !!this._tickInterval;\n };\n _proto.hasNextTick = function hasNextTick() {\n return !!this._tickTimer;\n }\n\n /**\n * @param millis - Interval time (ms)\n * @eturns True when interval has been scheduled, false when already scheduled (no effect)\n */;\n _proto.setInterval = function setInterval(millis) {\n if (!this._tickInterval) {\n this._tickCallCount = 0;\n this._tickInterval = self.setInterval(this._boundTick, millis);\n return true;\n }\n return false;\n }\n\n /**\n * @returns True when interval was cleared, false when none was set (no effect)\n */;\n _proto.clearInterval = function clearInterval() {\n if (this._tickInterval) {\n self.clearInterval(this._tickInterval);\n this._tickInterval = null;\n return true;\n }\n return false;\n }\n\n /**\n * @returns True when timeout was cleared, false when none was set (no effect)\n */;\n _proto.clearNextTick = function clearNextTick() {\n if (this._tickTimer) {\n self.clearTimeout(this._tickTimer);\n this._tickTimer = null;\n return true;\n }\n return false;\n }\n\n /**\n * Will call the subclass doTick implementation in this main loop tick\n * or in the next one (via setTimeout(,0)) in case it has already been called\n * in this tick (in case this is a re-entrant call).\n */;\n _proto.tick = function tick() {\n this._tickCallCount++;\n if (this._tickCallCount === 1) {\n this.doTick();\n // re-entrant call to tick from previous doTick call stack\n // -> schedule a call on the next main loop iteration to process this task processing request\n if (this._tickCallCount > 1) {\n // make sure only one timer exists at any time at max\n this.tickImmediate();\n }\n this._tickCallCount = 0;\n }\n };\n _proto.tickImmediate = function tickImmediate() {\n this.clearNextTick();\n this._tickTimer = self.setTimeout(this._boundTick, 0);\n }\n\n /**\n * For subclass to implement task logic\n * @abstract\n */;\n _proto.doTick = function doTick() {};\n return TaskLoop;\n }();\n\n var FragmentState = {\n NOT_LOADED: \"NOT_LOADED\",\n APPENDING: \"APPENDING\",\n PARTIAL: \"PARTIAL\",\n OK: \"OK\"\n };\n var FragmentTracker = /*#__PURE__*/function () {\n function FragmentTracker(hls) {\n this.activePartLists = Object.create(null);\n this.endListFragments = Object.create(null);\n this.fragments = Object.create(null);\n this.timeRanges = Object.create(null);\n this.bufferPadding = 0.2;\n this.hls = void 0;\n this.hasGaps = false;\n this.hls = hls;\n this._registerListeners();\n }\n var _proto = FragmentTracker.prototype;\n _proto._registerListeners = function _registerListeners() {\n var hls = this.hls;\n hls.on(Events.BUFFER_APPENDED, this.onBufferAppended, this);\n hls.on(Events.FRAG_BUFFERED, this.onFragBuffered, this);\n hls.on(Events.FRAG_LOADED, this.onFragLoaded, this);\n };\n _proto._unregisterListeners = function _unregisterListeners() {\n var hls = this.hls;\n hls.off(Events.BUFFER_APPENDED, this.onBufferAppended, this);\n hls.off(Events.FRAG_BUFFERED, this.onFragBuffered, this);\n hls.off(Events.FRAG_LOADED, this.onFragLoaded, this);\n };\n _proto.destroy = function destroy() {\n this._unregisterListeners();\n // @ts-ignore\n this.fragments =\n // @ts-ignore\n this.activePartLists =\n // @ts-ignore\n this.endListFragments = this.timeRanges = null;\n }\n\n /**\n * Return a Fragment or Part with an appended range that matches the position and levelType\n * Otherwise, return null\n */;\n _proto.getAppendedFrag = function getAppendedFrag(position, levelType) {\n var activeParts = this.activePartLists[levelType];\n if (activeParts) {\n for (var i = activeParts.length; i--;) {\n var activePart = activeParts[i];\n if (!activePart) {\n break;\n }\n var appendedPTS = activePart.end;\n if (activePart.start <= position && appendedPTS !== null && position <= appendedPTS) {\n return activePart;\n }\n }\n }\n return this.getBufferedFrag(position, levelType);\n }\n\n /**\n * Return a buffered Fragment that matches the position and levelType.\n * A buffered Fragment is one whose loading, parsing and appending is done (completed or \"partial\" meaning aborted).\n * If not found any Fragment, return null\n */;\n _proto.getBufferedFrag = function getBufferedFrag(position, levelType) {\n var fragments = this.fragments;\n var keys = Object.keys(fragments);\n for (var i = keys.length; i--;) {\n var fragmentEntity = fragments[keys[i]];\n if ((fragmentEntity == null ? void 0 : fragmentEntity.body.type) === levelType && fragmentEntity.buffered) {\n var frag = fragmentEntity.body;\n if (frag.start <= position && position <= frag.end) {\n return frag;\n }\n }\n }\n return null;\n }\n\n /**\n * Partial fragments effected by coded frame eviction will be removed\n * The browser will unload parts of the buffer to free up memory for new buffer data\n * Fragments will need to be reloaded when the buffer is freed up, removing partial fragments will allow them to reload(since there might be parts that are still playable)\n */;\n _proto.detectEvictedFragments = function detectEvictedFragments(elementaryStream, timeRange, playlistType, appendedPart) {\n var _this = this;\n if (this.timeRanges) {\n this.timeRanges[elementaryStream] = timeRange;\n }\n // Check if any flagged fragments have been unloaded\n // excluding anything newer than appendedPartSn\n var appendedPartSn = (appendedPart == null ? void 0 : appendedPart.fragment.sn) || -1;\n Object.keys(this.fragments).forEach(function (key) {\n var fragmentEntity = _this.fragments[key];\n if (!fragmentEntity) {\n return;\n }\n if (appendedPartSn >= fragmentEntity.body.sn) {\n return;\n }\n if (!fragmentEntity.buffered && !fragmentEntity.loaded) {\n if (fragmentEntity.body.type === playlistType) {\n _this.removeFragment(fragmentEntity.body);\n }\n return;\n }\n var esData = fragmentEntity.range[elementaryStream];\n if (!esData) {\n return;\n }\n esData.time.some(function (time) {\n var isNotBuffered = !_this.isTimeBuffered(time.startPTS, time.endPTS, timeRange);\n if (isNotBuffered) {\n // Unregister partial fragment as it needs to load again to be reused\n _this.removeFragment(fragmentEntity.body);\n }\n return isNotBuffered;\n });\n });\n }\n\n /**\n * Checks if the fragment passed in is loaded in the buffer properly\n * Partially loaded fragments will be registered as a partial fragment\n */;\n _proto.detectPartialFragments = function detectPartialFragments(data) {\n var _this2 = this;\n var timeRanges = this.timeRanges;\n var frag = data.frag,\n part = data.part;\n if (!timeRanges || frag.sn === 'initSegment') {\n return;\n }\n var fragKey = getFragmentKey(frag);\n var fragmentEntity = this.fragments[fragKey];\n if (!fragmentEntity || fragmentEntity.buffered && frag.gap) {\n return;\n }\n var isFragHint = !frag.relurl;\n Object.keys(timeRanges).forEach(function (elementaryStream) {\n var streamInfo = frag.elementaryStreams[elementaryStream];\n if (!streamInfo) {\n return;\n }\n var timeRange = timeRanges[elementaryStream];\n var partial = isFragHint || streamInfo.partial === true;\n fragmentEntity.range[elementaryStream] = _this2.getBufferedTimes(frag, part, partial, timeRange);\n });\n fragmentEntity.loaded = null;\n if (Object.keys(fragmentEntity.range).length) {\n fragmentEntity.buffered = true;\n var endList = fragmentEntity.body.endList = frag.endList || fragmentEntity.body.endList;\n if (endList) {\n this.endListFragments[fragmentEntity.body.type] = fragmentEntity;\n }\n if (!isPartial(fragmentEntity)) {\n // Remove older fragment parts from lookup after frag is tracked as buffered\n this.removeParts(frag.sn - 1, frag.type);\n }\n } else {\n // remove fragment if nothing was appended\n this.removeFragment(fragmentEntity.body);\n }\n };\n _proto.removeParts = function removeParts(snToKeep, levelType) {\n var activeParts = this.activePartLists[levelType];\n if (!activeParts) {\n return;\n }\n this.activePartLists[levelType] = activeParts.filter(function (part) {\n return part.fragment.sn >= snToKeep;\n });\n };\n _proto.fragBuffered = function fragBuffered(frag, force) {\n var fragKey = getFragmentKey(frag);\n var fragmentEntity = this.fragments[fragKey];\n if (!fragmentEntity && force) {\n fragmentEntity = this.fragments[fragKey] = {\n body: frag,\n appendedPTS: null,\n loaded: null,\n buffered: false,\n range: Object.create(null)\n };\n if (frag.gap) {\n this.hasGaps = true;\n }\n }\n if (fragmentEntity) {\n fragmentEntity.loaded = null;\n fragmentEntity.buffered = true;\n }\n };\n _proto.getBufferedTimes = function getBufferedTimes(fragment, part, partial, timeRange) {\n var buffered = {\n time: [],\n partial: partial\n };\n var startPTS = fragment.start;\n var endPTS = fragment.end;\n var minEndPTS = fragment.minEndPTS || endPTS;\n var maxStartPTS = fragment.maxStartPTS || startPTS;\n for (var i = 0; i < timeRange.length; i++) {\n var startTime = timeRange.start(i) - this.bufferPadding;\n var endTime = timeRange.end(i) + this.bufferPadding;\n if (maxStartPTS >= startTime && minEndPTS <= endTime) {\n // Fragment is entirely contained in buffer\n // No need to check the other timeRange times since it's completely playable\n buffered.time.push({\n startPTS: Math.max(startPTS, timeRange.start(i)),\n endPTS: Math.min(endPTS, timeRange.end(i))\n });\n break;\n } else if (startPTS < endTime && endPTS > startTime) {\n var start = Math.max(startPTS, timeRange.start(i));\n var end = Math.min(endPTS, timeRange.end(i));\n if (end > start) {\n buffered.partial = true;\n // Check for intersection with buffer\n // Get playable sections of the fragment\n buffered.time.push({\n startPTS: start,\n endPTS: end\n });\n }\n } else if (endPTS <= startTime) {\n // No need to check the rest of the timeRange as it is in order\n break;\n }\n }\n return buffered;\n }\n\n /**\n * Gets the partial fragment for a certain time\n */;\n _proto.getPartialFragment = function getPartialFragment(time) {\n var bestFragment = null;\n var timePadding;\n var startTime;\n var endTime;\n var bestOverlap = 0;\n var bufferPadding = this.bufferPadding,\n fragments = this.fragments;\n Object.keys(fragments).forEach(function (key) {\n var fragmentEntity = fragments[key];\n if (!fragmentEntity) {\n return;\n }\n if (isPartial(fragmentEntity)) {\n startTime = fragmentEntity.body.start - bufferPadding;\n endTime = fragmentEntity.body.end + bufferPadding;\n if (time >= startTime && time <= endTime) {\n // Use the fragment that has the most padding from start and end time\n timePadding = Math.min(time - startTime, endTime - time);\n if (bestOverlap <= timePadding) {\n bestFragment = fragmentEntity.body;\n bestOverlap = timePadding;\n }\n }\n }\n });\n return bestFragment;\n };\n _proto.isEndListAppended = function isEndListAppended(type) {\n var lastFragmentEntity = this.endListFragments[type];\n return lastFragmentEntity !== undefined && (lastFragmentEntity.buffered || isPartial(lastFragmentEntity));\n };\n _proto.getState = function getState(fragment) {\n var fragKey = getFragmentKey(fragment);\n var fragmentEntity = this.fragments[fragKey];\n if (fragmentEntity) {\n if (!fragmentEntity.buffered) {\n return FragmentState.APPENDING;\n } else if (isPartial(fragmentEntity)) {\n return FragmentState.PARTIAL;\n } else {\n return FragmentState.OK;\n }\n }\n return FragmentState.NOT_LOADED;\n };\n _proto.isTimeBuffered = function isTimeBuffered(startPTS, endPTS, timeRange) {\n var startTime;\n var endTime;\n for (var i = 0; i < timeRange.length; i++) {\n startTime = timeRange.start(i) - this.bufferPadding;\n endTime = timeRange.end(i) + this.bufferPadding;\n if (startPTS >= startTime && endPTS <= endTime) {\n return true;\n }\n if (endPTS <= startTime) {\n // No need to check the rest of the timeRange as it is in order\n return false;\n }\n }\n return false;\n };\n _proto.onFragLoaded = function onFragLoaded(event, data) {\n var frag = data.frag,\n part = data.part;\n // don't track initsegment (for which sn is not a number)\n // don't track frags used for bitrateTest, they're irrelevant.\n if (frag.sn === 'initSegment' || frag.bitrateTest) {\n return;\n }\n\n // Fragment entity `loaded` FragLoadedData is null when loading parts\n var loaded = part ? null : data;\n var fragKey = getFragmentKey(frag);\n this.fragments[fragKey] = {\n body: frag,\n appendedPTS: null,\n loaded: loaded,\n buffered: false,\n range: Object.create(null)\n };\n };\n _proto.onBufferAppended = function onBufferAppended(event, data) {\n var _this3 = this;\n var frag = data.frag,\n part = data.part,\n timeRanges = data.timeRanges;\n if (frag.sn === 'initSegment') {\n return;\n }\n var playlistType = frag.type;\n if (part) {\n var activeParts = this.activePartLists[playlistType];\n if (!activeParts) {\n this.activePartLists[playlistType] = activeParts = [];\n }\n activeParts.push(part);\n }\n // Store the latest timeRanges loaded in the buffer\n this.timeRanges = timeRanges;\n Object.keys(timeRanges).forEach(function (elementaryStream) {\n var timeRange = timeRanges[elementaryStream];\n _this3.detectEvictedFragments(elementaryStream, timeRange, playlistType, part);\n });\n };\n _proto.onFragBuffered = function onFragBuffered(event, data) {\n this.detectPartialFragments(data);\n };\n _proto.hasFragment = function hasFragment(fragment) {\n var fragKey = getFragmentKey(fragment);\n return !!this.fragments[fragKey];\n };\n _proto.hasParts = function hasParts(type) {\n var _this$activePartLists;\n return !!((_this$activePartLists = this.activePartLists[type]) != null && _this$activePartLists.length);\n };\n _proto.removeFragmentsInRange = function removeFragmentsInRange(start, end, playlistType, withGapOnly, unbufferedOnly) {\n var _this4 = this;\n if (withGapOnly && !this.hasGaps) {\n return;\n }\n Object.keys(this.fragments).forEach(function (key) {\n var fragmentEntity = _this4.fragments[key];\n if (!fragmentEntity) {\n return;\n }\n var frag = fragmentEntity.body;\n if (frag.type !== playlistType || withGapOnly && !frag.gap) {\n return;\n }\n if (frag.start < end && frag.end > start && (fragmentEntity.buffered || unbufferedOnly)) {\n _this4.removeFragment(frag);\n }\n });\n };\n _proto.removeFragment = function removeFragment(fragment) {\n var fragKey = getFragmentKey(fragment);\n fragment.stats.loaded = 0;\n fragment.clearElementaryStreamInfo();\n var activeParts = this.activePartLists[fragment.type];\n if (activeParts) {\n var snToRemove = fragment.sn;\n this.activePartLists[fragment.type] = activeParts.filter(function (part) {\n return part.fragment.sn !== snToRemove;\n });\n }\n delete this.fragments[fragKey];\n if (fragment.endList) {\n delete this.endListFragments[fragment.type];\n }\n };\n _proto.removeAllFragments = function removeAllFragments() {\n this.fragments = Object.create(null);\n this.endListFragments = Object.create(null);\n this.activePartLists = Object.create(null);\n this.hasGaps = false;\n };\n return FragmentTracker;\n }();\n function isPartial(fragmentEntity) {\n var _fragmentEntity$range, _fragmentEntity$range2, _fragmentEntity$range3;\n return fragmentEntity.buffered && (fragmentEntity.body.gap || ((_fragmentEntity$range = fragmentEntity.range.video) == null ? void 0 : _fragmentEntity$range.partial) || ((_fragmentEntity$range2 = fragmentEntity.range.audio) == null ? void 0 : _fragmentEntity$range2.partial) || ((_fragmentEntity$range3 = fragmentEntity.range.audiovideo) == null ? void 0 : _fragmentEntity$range3.partial));\n }\n function getFragmentKey(fragment) {\n return fragment.type + \"_\" + fragment.level + \"_\" + fragment.sn;\n }\n\n /**\n * Provides methods dealing with buffer length retrieval for example.\n *\n * In general, a helper around HTML5 MediaElement TimeRanges gathered from `buffered` property.\n *\n * Also @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/buffered\n */\n\n var noopBuffered = {\n length: 0,\n start: function start() {\n return 0;\n },\n end: function end() {\n return 0;\n }\n };\n var BufferHelper = /*#__PURE__*/function () {\n function BufferHelper() {}\n /**\n * Return true if `media`'s buffered include `position`\n */\n BufferHelper.isBuffered = function isBuffered(media, position) {\n try {\n if (media) {\n var buffered = BufferHelper.getBuffered(media);\n for (var i = 0; i < buffered.length; i++) {\n if (position >= buffered.start(i) && position <= buffered.end(i)) {\n return true;\n }\n }\n }\n } catch (error) {\n // this is to catch\n // InvalidStateError: Failed to read the 'buffered' property from 'SourceBuffer':\n // This SourceBuffer has been removed from the parent media source\n }\n return false;\n };\n BufferHelper.bufferInfo = function bufferInfo(media, pos, maxHoleDuration) {\n try {\n if (media) {\n var vbuffered = BufferHelper.getBuffered(media);\n var buffered = [];\n var i;\n for (i = 0; i < vbuffered.length; i++) {\n buffered.push({\n start: vbuffered.start(i),\n end: vbuffered.end(i)\n });\n }\n return this.bufferedInfo(buffered, pos, maxHoleDuration);\n }\n } catch (error) {\n // this is to catch\n // InvalidStateError: Failed to read the 'buffered' property from 'SourceBuffer':\n // This SourceBuffer has been removed from the parent media source\n }\n return {\n len: 0,\n start: pos,\n end: pos,\n nextStart: undefined\n };\n };\n BufferHelper.bufferedInfo = function bufferedInfo(buffered, pos, maxHoleDuration) {\n pos = Math.max(0, pos);\n // sort on buffer.start/smaller end (IE does not always return sorted buffered range)\n buffered.sort(function (a, b) {\n var diff = a.start - b.start;\n if (diff) {\n return diff;\n } else {\n return b.end - a.end;\n }\n });\n var buffered2 = [];\n if (maxHoleDuration) {\n // there might be some small holes between buffer time range\n // consider that holes smaller than maxHoleDuration are irrelevant and build another\n // buffer time range representations that discards those holes\n for (var i = 0; i < buffered.length; i++) {\n var buf2len = buffered2.length;\n if (buf2len) {\n var buf2end = buffered2[buf2len - 1].end;\n // if small hole (value between 0 or maxHoleDuration ) or overlapping (negative)\n if (buffered[i].start - buf2end < maxHoleDuration) {\n // merge overlapping time ranges\n // update lastRange.end only if smaller than item.end\n // e.g. [ 1, 15] with [ 2,8] => [ 1,15] (no need to modify lastRange.end)\n // whereas [ 1, 8] with [ 2,15] => [ 1,15] ( lastRange should switch from [1,8] to [1,15])\n if (buffered[i].end > buf2end) {\n buffered2[buf2len - 1].end = buffered[i].end;\n }\n } else {\n // big hole\n buffered2.push(buffered[i]);\n }\n } else {\n // first value\n buffered2.push(buffered[i]);\n }\n }\n } else {\n buffered2 = buffered;\n }\n var bufferLen = 0;\n\n // bufferStartNext can possibly be undefined based on the conditional logic below\n var bufferStartNext;\n\n // bufferStart and bufferEnd are buffer boundaries around current video position\n var bufferStart = pos;\n var bufferEnd = pos;\n for (var _i = 0; _i < buffered2.length; _i++) {\n var start = buffered2[_i].start;\n var end = buffered2[_i].end;\n // logger.log('buf start/end:' + buffered.start(i) + '/' + buffered.end(i));\n if (pos + maxHoleDuration >= start && pos < end) {\n // play position is inside this buffer TimeRange, retrieve end of buffer position and buffer length\n bufferStart = start;\n bufferEnd = end;\n bufferLen = bufferEnd - pos;\n } else if (pos + maxHoleDuration < start) {\n bufferStartNext = start;\n break;\n }\n }\n return {\n len: bufferLen,\n start: bufferStart || 0,\n end: bufferEnd || 0,\n nextStart: bufferStartNext\n };\n }\n\n /**\n * Safe method to get buffered property.\n * SourceBuffer.buffered may throw if SourceBuffer is removed from it's MediaSource\n */;\n BufferHelper.getBuffered = function getBuffered(media) {\n try {\n return media.buffered;\n } catch (e) {\n logger.log('failed to get media.buffered', e);\n return noopBuffered;\n }\n };\n return BufferHelper;\n }();\n\n var ChunkMetadata = function ChunkMetadata(level, sn, id, size, part, partial) {\n if (size === void 0) {\n size = 0;\n }\n if (part === void 0) {\n part = -1;\n }\n if (partial === void 0) {\n partial = false;\n }\n this.level = void 0;\n this.sn = void 0;\n this.part = void 0;\n this.id = void 0;\n this.size = void 0;\n this.partial = void 0;\n this.transmuxing = getNewPerformanceTiming();\n this.buffering = {\n audio: getNewPerformanceTiming(),\n video: getNewPerformanceTiming(),\n audiovideo: getNewPerformanceTiming()\n };\n this.level = level;\n this.sn = sn;\n this.id = id;\n this.size = size;\n this.part = part;\n this.partial = partial;\n };\n function getNewPerformanceTiming() {\n return {\n start: 0,\n executeStart: 0,\n executeEnd: 0,\n end: 0\n };\n }\n\n function findFirstFragWithCC(fragments, cc) {\n for (var i = 0, len = fragments.length; i < len; i++) {\n var _fragments$i;\n if (((_fragments$i = fragments[i]) == null ? void 0 : _fragments$i.cc) === cc) {\n return fragments[i];\n }\n }\n return null;\n }\n function shouldAlignOnDiscontinuities(lastFrag, switchDetails, details) {\n if (switchDetails) {\n if (details.endCC > details.startCC || lastFrag && lastFrag.cc < details.startCC) {\n return true;\n }\n }\n return false;\n }\n\n // Find the first frag in the previous level which matches the CC of the first frag of the new level\n function findDiscontinuousReferenceFrag(prevDetails, curDetails) {\n var prevFrags = prevDetails.fragments;\n var curFrags = curDetails.fragments;\n if (!curFrags.length || !prevFrags.length) {\n logger.log('No fragments to align');\n return;\n }\n var prevStartFrag = findFirstFragWithCC(prevFrags, curFrags[0].cc);\n if (!prevStartFrag || prevStartFrag && !prevStartFrag.startPTS) {\n logger.log('No frag in previous level to align on');\n return;\n }\n return prevStartFrag;\n }\n function adjustFragmentStart(frag, sliding) {\n if (frag) {\n var start = frag.start + sliding;\n frag.start = frag.startPTS = start;\n frag.endPTS = start + frag.duration;\n }\n }\n function adjustSlidingStart(sliding, details) {\n // Update segments\n var fragments = details.fragments;\n for (var i = 0, len = fragments.length; i < len; i++) {\n adjustFragmentStart(fragments[i], sliding);\n }\n // Update LL-HLS parts at the end of the playlist\n if (details.fragmentHint) {\n adjustFragmentStart(details.fragmentHint, sliding);\n }\n details.alignedSliding = true;\n }\n\n /**\n * Using the parameters of the last level, this function computes PTS' of the new fragments so that they form a\n * contiguous stream with the last fragments.\n * The PTS of a fragment lets Hls.js know where it fits into a stream - by knowing every PTS, we know which fragment to\n * download at any given time. PTS is normally computed when the fragment is demuxed, so taking this step saves us time\n * and an extra download.\n * @param lastFrag\n * @param lastLevel\n * @param details\n */\n function alignStream(lastFrag, switchDetails, details) {\n if (!switchDetails) {\n return;\n }\n alignDiscontinuities(lastFrag, details, switchDetails);\n if (!details.alignedSliding && switchDetails) {\n // If the PTS wasn't figured out via discontinuity sequence that means there was no CC increase within the level.\n // Aligning via Program Date Time should therefore be reliable, since PDT should be the same within the same\n // discontinuity sequence.\n alignMediaPlaylistByPDT(details, switchDetails);\n }\n if (!details.alignedSliding && switchDetails && !details.skippedSegments) {\n // Try to align on sn so that we pick a better start fragment.\n // Do not perform this on playlists with delta updates as this is only to align levels on switch\n // and adjustSliding only adjusts fragments after skippedSegments.\n adjustSliding(switchDetails, details);\n }\n }\n\n /**\n * Computes the PTS if a new level's fragments using the PTS of a fragment in the last level which shares the same\n * discontinuity sequence.\n * @param lastFrag - The last Fragment which shares the same discontinuity sequence\n * @param lastLevel - The details of the last loaded level\n * @param details - The details of the new level\n */\n function alignDiscontinuities(lastFrag, details, switchDetails) {\n if (shouldAlignOnDiscontinuities(lastFrag, switchDetails, details)) {\n var referenceFrag = findDiscontinuousReferenceFrag(switchDetails, details);\n if (referenceFrag && isFiniteNumber(referenceFrag.start)) {\n logger.log(\"Adjusting PTS using last level due to CC increase within current level \" + details.url);\n adjustSlidingStart(referenceFrag.start, details);\n }\n }\n }\n\n /**\n * Ensures appropriate time-alignment between renditions based on PDT.\n * This function assumes the timelines represented in `refDetails` are accurate, including the PDTs\n * for the last discontinuity sequence number shared by both playlists when present,\n * and uses the \"wallclock\"/PDT timeline as a cross-reference to `details`, adjusting the presentation\n * times/timelines of `details` accordingly.\n * Given the asynchronous nature of fetches and initial loads of live `main` and audio/subtitle tracks,\n * the primary purpose of this function is to ensure the \"local timelines\" of audio/subtitle tracks\n * are aligned to the main/video timeline, using PDT as the cross-reference/\"anchor\" that should\n * be consistent across playlists, per the HLS spec.\n * @param details - The details of the rendition you'd like to time-align (e.g. an audio rendition).\n * @param refDetails - The details of the reference rendition with start and PDT times for alignment.\n */\n function alignMediaPlaylistByPDT(details, refDetails) {\n if (!details.hasProgramDateTime || !refDetails.hasProgramDateTime) {\n return;\n }\n var fragments = details.fragments;\n var refFragments = refDetails.fragments;\n if (!fragments.length || !refFragments.length) {\n return;\n }\n\n // Calculate a delta to apply to all fragments according to the delta in PDT times and start times\n // of a fragment in the reference details, and a fragment in the target details of the same discontinuity.\n // If a fragment of the same discontinuity was not found use the middle fragment of both.\n var refFrag;\n var frag;\n var targetCC = Math.min(refDetails.endCC, details.endCC);\n if (refDetails.startCC < targetCC && details.startCC < targetCC) {\n refFrag = findFirstFragWithCC(refFragments, targetCC);\n frag = findFirstFragWithCC(fragments, targetCC);\n }\n if (!refFrag || !frag) {\n refFrag = refFragments[Math.floor(refFragments.length / 2)];\n frag = findFirstFragWithCC(fragments, refFrag.cc) || fragments[Math.floor(fragments.length / 2)];\n }\n var refPDT = refFrag.programDateTime;\n var targetPDT = frag.programDateTime;\n if (!refPDT || !targetPDT) {\n return;\n }\n var delta = (targetPDT - refPDT) / 1000 - (frag.start - refFrag.start);\n adjustSlidingStart(delta, details);\n }\n\n var MIN_CHUNK_SIZE = Math.pow(2, 17); // 128kb\n var FragmentLoader = /*#__PURE__*/function () {\n function FragmentLoader(config) {\n this.config = void 0;\n this.loader = null;\n this.partLoadTimeout = -1;\n this.config = config;\n }\n var _proto = FragmentLoader.prototype;\n _proto.destroy = function destroy() {\n if (this.loader) {\n this.loader.destroy();\n this.loader = null;\n }\n };\n _proto.abort = function abort() {\n if (this.loader) {\n // Abort the loader for current fragment. Only one may load at any given time\n this.loader.abort();\n }\n };\n _proto.load = function load(frag, _onProgress) {\n var _this = this;\n var url = frag.url;\n if (!url) {\n return Promise.reject(new LoadError({\n type: ErrorTypes.NETWORK_ERROR,\n details: ErrorDetails.FRAG_LOAD_ERROR,\n fatal: false,\n frag: frag,\n error: new Error(\"Fragment does not have a \" + (url ? 'part list' : 'url')),\n networkDetails: null\n }));\n }\n this.abort();\n var config = this.config;\n var FragmentILoader = config.fLoader;\n var DefaultILoader = config.loader;\n return new Promise(function (resolve, reject) {\n if (_this.loader) {\n _this.loader.destroy();\n }\n if (frag.gap) {\n if (frag.tagList.some(function (tags) {\n return tags[0] === 'GAP';\n })) {\n reject(createGapLoadError(frag));\n return;\n } else {\n // Reset temporary treatment as GAP tag\n frag.gap = false;\n }\n }\n var loader = _this.loader = frag.loader = FragmentILoader ? new FragmentILoader(config) : new DefaultILoader(config);\n var loaderContext = createLoaderContext(frag);\n var loadPolicy = getLoaderConfigWithoutReties(config.fragLoadPolicy.default);\n var loaderConfig = {\n loadPolicy: loadPolicy,\n timeout: loadPolicy.maxLoadTimeMs,\n maxRetry: 0,\n retryDelay: 0,\n maxRetryDelay: 0,\n highWaterMark: frag.sn === 'initSegment' ? Infinity : MIN_CHUNK_SIZE\n };\n // Assign frag stats to the loader's stats reference\n frag.stats = loader.stats;\n loader.load(loaderContext, loaderConfig, {\n onSuccess: function onSuccess(response, stats, context, networkDetails) {\n _this.resetLoader(frag, loader);\n var payload = response.data;\n if (context.resetIV && frag.decryptdata) {\n frag.decryptdata.iv = new Uint8Array(payload.slice(0, 16));\n payload = payload.slice(16);\n }\n resolve({\n frag: frag,\n part: null,\n payload: payload,\n networkDetails: networkDetails\n });\n },\n onError: function onError(response, context, networkDetails, stats) {\n _this.resetLoader(frag, loader);\n reject(new LoadError({\n type: ErrorTypes.NETWORK_ERROR,\n details: ErrorDetails.FRAG_LOAD_ERROR,\n fatal: false,\n frag: frag,\n response: _objectSpread2({\n url: url,\n data: undefined\n }, response),\n error: new Error(\"HTTP Error \" + response.code + \" \" + response.text),\n networkDetails: networkDetails,\n stats: stats\n }));\n },\n onAbort: function onAbort(stats, context, networkDetails) {\n _this.resetLoader(frag, loader);\n reject(new LoadError({\n type: ErrorTypes.NETWORK_ERROR,\n details: ErrorDetails.INTERNAL_ABORTED,\n fatal: false,\n frag: frag,\n error: new Error('Aborted'),\n networkDetails: networkDetails,\n stats: stats\n }));\n },\n onTimeout: function onTimeout(stats, context, networkDetails) {\n _this.resetLoader(frag, loader);\n reject(new LoadError({\n type: ErrorTypes.NETWORK_ERROR,\n details: ErrorDetails.FRAG_LOAD_TIMEOUT,\n fatal: false,\n frag: frag,\n error: new Error(\"Timeout after \" + loaderConfig.timeout + \"ms\"),\n networkDetails: networkDetails,\n stats: stats\n }));\n },\n onProgress: function onProgress(stats, context, data, networkDetails) {\n if (_onProgress) {\n _onProgress({\n frag: frag,\n part: null,\n payload: data,\n networkDetails: networkDetails\n });\n }\n }\n });\n });\n };\n _proto.loadPart = function loadPart(frag, part, onProgress) {\n var _this2 = this;\n this.abort();\n var config = this.config;\n var FragmentILoader = config.fLoader;\n var DefaultILoader = config.loader;\n return new Promise(function (resolve, reject) {\n if (_this2.loader) {\n _this2.loader.destroy();\n }\n if (frag.gap || part.gap) {\n reject(createGapLoadError(frag, part));\n return;\n }\n var loader = _this2.loader = frag.loader = FragmentILoader ? new FragmentILoader(config) : new DefaultILoader(config);\n var loaderContext = createLoaderContext(frag, part);\n // Should we define another load policy for parts?\n var loadPolicy = getLoaderConfigWithoutReties(config.fragLoadPolicy.default);\n var loaderConfig = {\n loadPolicy: loadPolicy,\n timeout: loadPolicy.maxLoadTimeMs,\n maxRetry: 0,\n retryDelay: 0,\n maxRetryDelay: 0,\n highWaterMark: MIN_CHUNK_SIZE\n };\n // Assign part stats to the loader's stats reference\n part.stats = loader.stats;\n loader.load(loaderContext, loaderConfig, {\n onSuccess: function onSuccess(response, stats, context, networkDetails) {\n _this2.resetLoader(frag, loader);\n _this2.updateStatsFromPart(frag, part);\n var partLoadedData = {\n frag: frag,\n part: part,\n payload: response.data,\n networkDetails: networkDetails\n };\n onProgress(partLoadedData);\n resolve(partLoadedData);\n },\n onError: function onError(response, context, networkDetails, stats) {\n _this2.resetLoader(frag, loader);\n reject(new LoadError({\n type: ErrorTypes.NETWORK_ERROR,\n details: ErrorDetails.FRAG_LOAD_ERROR,\n fatal: false,\n frag: frag,\n part: part,\n response: _objectSpread2({\n url: loaderContext.url,\n data: undefined\n }, response),\n error: new Error(\"HTTP Error \" + response.code + \" \" + response.text),\n networkDetails: networkDetails,\n stats: stats\n }));\n },\n onAbort: function onAbort(stats, context, networkDetails) {\n frag.stats.aborted = part.stats.aborted;\n _this2.resetLoader(frag, loader);\n reject(new LoadError({\n type: ErrorTypes.NETWORK_ERROR,\n details: ErrorDetails.INTERNAL_ABORTED,\n fatal: false,\n frag: frag,\n part: part,\n error: new Error('Aborted'),\n networkDetails: networkDetails,\n stats: stats\n }));\n },\n onTimeout: function onTimeout(stats, context, networkDetails) {\n _this2.resetLoader(frag, loader);\n reject(new LoadError({\n type: ErrorTypes.NETWORK_ERROR,\n details: ErrorDetails.FRAG_LOAD_TIMEOUT,\n fatal: false,\n frag: frag,\n part: part,\n error: new Error(\"Timeout after \" + loaderConfig.timeout + \"ms\"),\n networkDetails: networkDetails,\n stats: stats\n }));\n }\n });\n });\n };\n _proto.updateStatsFromPart = function updateStatsFromPart(frag, part) {\n var fragStats = frag.stats;\n var partStats = part.stats;\n var partTotal = partStats.total;\n fragStats.loaded += partStats.loaded;\n if (partTotal) {\n var estTotalParts = Math.round(frag.duration / part.duration);\n var estLoadedParts = Math.min(Math.round(fragStats.loaded / partTotal), estTotalParts);\n var estRemainingParts = estTotalParts - estLoadedParts;\n var estRemainingBytes = estRemainingParts * Math.round(fragStats.loaded / estLoadedParts);\n fragStats.total = fragStats.loaded + estRemainingBytes;\n } else {\n fragStats.total = Math.max(fragStats.loaded, fragStats.total);\n }\n var fragLoading = fragStats.loading;\n var partLoading = partStats.loading;\n if (fragLoading.start) {\n // add to fragment loader latency\n fragLoading.first += partLoading.first - partLoading.start;\n } else {\n fragLoading.start = partLoading.start;\n fragLoading.first = partLoading.first;\n }\n fragLoading.end = partLoading.end;\n };\n _proto.resetLoader = function resetLoader(frag, loader) {\n frag.loader = null;\n if (this.loader === loader) {\n self.clearTimeout(this.partLoadTimeout);\n this.loader = null;\n }\n loader.destroy();\n };\n return FragmentLoader;\n }();\n function createLoaderContext(frag, part) {\n if (part === void 0) {\n part = null;\n }\n var segment = part || frag;\n var loaderContext = {\n frag: frag,\n part: part,\n responseType: 'arraybuffer',\n url: segment.url,\n headers: {},\n rangeStart: 0,\n rangeEnd: 0\n };\n var start = segment.byteRangeStartOffset;\n var end = segment.byteRangeEndOffset;\n if (isFiniteNumber(start) && isFiniteNumber(end)) {\n var _frag$decryptdata;\n var byteRangeStart = start;\n var byteRangeEnd = end;\n if (frag.sn === 'initSegment' && ((_frag$decryptdata = frag.decryptdata) == null ? void 0 : _frag$decryptdata.method) === 'AES-128') {\n // MAP segment encrypted with method 'AES-128', when served with HTTP Range,\n // has the unencrypted size specified in the range.\n // Ref: https://tools.ietf.org/html/draft-pantos-hls-rfc8216bis-08#section-6.3.6\n var fragmentLen = end - start;\n if (fragmentLen % 16) {\n byteRangeEnd = end + (16 - fragmentLen % 16);\n }\n if (start !== 0) {\n loaderContext.resetIV = true;\n byteRangeStart = start - 16;\n }\n }\n loaderContext.rangeStart = byteRangeStart;\n loaderContext.rangeEnd = byteRangeEnd;\n }\n return loaderContext;\n }\n function createGapLoadError(frag, part) {\n var error = new Error(\"GAP \" + (frag.gap ? 'tag' : 'attribute') + \" found\");\n var errorData = {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.FRAG_GAP,\n fatal: false,\n frag: frag,\n error: error,\n networkDetails: null\n };\n if (part) {\n errorData.part = part;\n }\n (part ? part : frag).stats.aborted = true;\n return new LoadError(errorData);\n }\n var LoadError = /*#__PURE__*/function (_Error) {\n _inheritsLoose(LoadError, _Error);\n function LoadError(data) {\n var _this3;\n _this3 = _Error.call(this, data.error.message) || this;\n _this3.data = void 0;\n _this3.data = data;\n return _this3;\n }\n return LoadError;\n }( /*#__PURE__*/_wrapNativeSuper(Error));\n\n var AESCrypto = /*#__PURE__*/function () {\n function AESCrypto(subtle, iv) {\n this.subtle = void 0;\n this.aesIV = void 0;\n this.subtle = subtle;\n this.aesIV = iv;\n }\n var _proto = AESCrypto.prototype;\n _proto.decrypt = function decrypt(data, key) {\n return this.subtle.decrypt({\n name: 'AES-CBC',\n iv: this.aesIV\n }, key, data);\n };\n return AESCrypto;\n }();\n\n var FastAESKey = /*#__PURE__*/function () {\n function FastAESKey(subtle, key) {\n this.subtle = void 0;\n this.key = void 0;\n this.subtle = subtle;\n this.key = key;\n }\n var _proto = FastAESKey.prototype;\n _proto.expandKey = function expandKey() {\n return this.subtle.importKey('raw', this.key, {\n name: 'AES-CBC'\n }, false, ['encrypt', 'decrypt']);\n };\n return FastAESKey;\n }();\n\n // PKCS7\n function removePadding(array) {\n var outputBytes = array.byteLength;\n var paddingBytes = outputBytes && new DataView(array.buffer).getUint8(outputBytes - 1);\n if (paddingBytes) {\n return sliceUint8(array, 0, outputBytes - paddingBytes);\n }\n return array;\n }\n var AESDecryptor = /*#__PURE__*/function () {\n function AESDecryptor() {\n this.rcon = [0x0, 0x1, 0x2, 0x4, 0x8, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36];\n this.subMix = [new Uint32Array(256), new Uint32Array(256), new Uint32Array(256), new Uint32Array(256)];\n this.invSubMix = [new Uint32Array(256), new Uint32Array(256), new Uint32Array(256), new Uint32Array(256)];\n this.sBox = new Uint32Array(256);\n this.invSBox = new Uint32Array(256);\n this.key = new Uint32Array(0);\n this.ksRows = 0;\n this.keySize = 0;\n this.keySchedule = void 0;\n this.invKeySchedule = void 0;\n this.initTable();\n }\n\n // Using view.getUint32() also swaps the byte order.\n var _proto = AESDecryptor.prototype;\n _proto.uint8ArrayToUint32Array_ = function uint8ArrayToUint32Array_(arrayBuffer) {\n var view = new DataView(arrayBuffer);\n var newArray = new Uint32Array(4);\n for (var i = 0; i < 4; i++) {\n newArray[i] = view.getUint32(i * 4);\n }\n return newArray;\n };\n _proto.initTable = function initTable() {\n var sBox = this.sBox;\n var invSBox = this.invSBox;\n var subMix = this.subMix;\n var subMix0 = subMix[0];\n var subMix1 = subMix[1];\n var subMix2 = subMix[2];\n var subMix3 = subMix[3];\n var invSubMix = this.invSubMix;\n var invSubMix0 = invSubMix[0];\n var invSubMix1 = invSubMix[1];\n var invSubMix2 = invSubMix[2];\n var invSubMix3 = invSubMix[3];\n var d = new Uint32Array(256);\n var x = 0;\n var xi = 0;\n var i = 0;\n for (i = 0; i < 256; i++) {\n if (i < 128) {\n d[i] = i << 1;\n } else {\n d[i] = i << 1 ^ 0x11b;\n }\n }\n for (i = 0; i < 256; i++) {\n var sx = xi ^ xi << 1 ^ xi << 2 ^ xi << 3 ^ xi << 4;\n sx = sx >>> 8 ^ sx & 0xff ^ 0x63;\n sBox[x] = sx;\n invSBox[sx] = x;\n\n // Compute multiplication\n var x2 = d[x];\n var x4 = d[x2];\n var x8 = d[x4];\n\n // Compute sub/invSub bytes, mix columns tables\n var t = d[sx] * 0x101 ^ sx * 0x1010100;\n subMix0[x] = t << 24 | t >>> 8;\n subMix1[x] = t << 16 | t >>> 16;\n subMix2[x] = t << 8 | t >>> 24;\n subMix3[x] = t;\n\n // Compute inv sub bytes, inv mix columns tables\n t = x8 * 0x1010101 ^ x4 * 0x10001 ^ x2 * 0x101 ^ x * 0x1010100;\n invSubMix0[sx] = t << 24 | t >>> 8;\n invSubMix1[sx] = t << 16 | t >>> 16;\n invSubMix2[sx] = t << 8 | t >>> 24;\n invSubMix3[sx] = t;\n\n // Compute next counter\n if (!x) {\n x = xi = 1;\n } else {\n x = x2 ^ d[d[d[x8 ^ x2]]];\n xi ^= d[d[xi]];\n }\n }\n };\n _proto.expandKey = function expandKey(keyBuffer) {\n // convert keyBuffer to Uint32Array\n var key = this.uint8ArrayToUint32Array_(keyBuffer);\n var sameKey = true;\n var offset = 0;\n while (offset < key.length && sameKey) {\n sameKey = key[offset] === this.key[offset];\n offset++;\n }\n if (sameKey) {\n return;\n }\n this.key = key;\n var keySize = this.keySize = key.length;\n if (keySize !== 4 && keySize !== 6 && keySize !== 8) {\n throw new Error('Invalid aes key size=' + keySize);\n }\n var ksRows = this.ksRows = (keySize + 6 + 1) * 4;\n var ksRow;\n var invKsRow;\n var keySchedule = this.keySchedule = new Uint32Array(ksRows);\n var invKeySchedule = this.invKeySchedule = new Uint32Array(ksRows);\n var sbox = this.sBox;\n var rcon = this.rcon;\n var invSubMix = this.invSubMix;\n var invSubMix0 = invSubMix[0];\n var invSubMix1 = invSubMix[1];\n var invSubMix2 = invSubMix[2];\n var invSubMix3 = invSubMix[3];\n var prev;\n var t;\n for (ksRow = 0; ksRow < ksRows; ksRow++) {\n if (ksRow < keySize) {\n prev = keySchedule[ksRow] = key[ksRow];\n continue;\n }\n t = prev;\n if (ksRow % keySize === 0) {\n // Rot word\n t = t << 8 | t >>> 24;\n\n // Sub word\n t = sbox[t >>> 24] << 24 | sbox[t >>> 16 & 0xff] << 16 | sbox[t >>> 8 & 0xff] << 8 | sbox[t & 0xff];\n\n // Mix Rcon\n t ^= rcon[ksRow / keySize | 0] << 24;\n } else if (keySize > 6 && ksRow % keySize === 4) {\n // Sub word\n t = sbox[t >>> 24] << 24 | sbox[t >>> 16 & 0xff] << 16 | sbox[t >>> 8 & 0xff] << 8 | sbox[t & 0xff];\n }\n keySchedule[ksRow] = prev = (keySchedule[ksRow - keySize] ^ t) >>> 0;\n }\n for (invKsRow = 0; invKsRow < ksRows; invKsRow++) {\n ksRow = ksRows - invKsRow;\n if (invKsRow & 3) {\n t = keySchedule[ksRow];\n } else {\n t = keySchedule[ksRow - 4];\n }\n if (invKsRow < 4 || ksRow <= 4) {\n invKeySchedule[invKsRow] = t;\n } else {\n invKeySchedule[invKsRow] = invSubMix0[sbox[t >>> 24]] ^ invSubMix1[sbox[t >>> 16 & 0xff]] ^ invSubMix2[sbox[t >>> 8 & 0xff]] ^ invSubMix3[sbox[t & 0xff]];\n }\n invKeySchedule[invKsRow] = invKeySchedule[invKsRow] >>> 0;\n }\n }\n\n // Adding this as a method greatly improves performance.\n ;\n _proto.networkToHostOrderSwap = function networkToHostOrderSwap(word) {\n return word << 24 | (word & 0xff00) << 8 | (word & 0xff0000) >> 8 | word >>> 24;\n };\n _proto.decrypt = function decrypt(inputArrayBuffer, offset, aesIV) {\n var nRounds = this.keySize + 6;\n var invKeySchedule = this.invKeySchedule;\n var invSBOX = this.invSBox;\n var invSubMix = this.invSubMix;\n var invSubMix0 = invSubMix[0];\n var invSubMix1 = invSubMix[1];\n var invSubMix2 = invSubMix[2];\n var invSubMix3 = invSubMix[3];\n var initVector = this.uint8ArrayToUint32Array_(aesIV);\n var initVector0 = initVector[0];\n var initVector1 = initVector[1];\n var initVector2 = initVector[2];\n var initVector3 = initVector[3];\n var inputInt32 = new Int32Array(inputArrayBuffer);\n var outputInt32 = new Int32Array(inputInt32.length);\n var t0, t1, t2, t3;\n var s0, s1, s2, s3;\n var inputWords0, inputWords1, inputWords2, inputWords3;\n var ksRow, i;\n var swapWord = this.networkToHostOrderSwap;\n while (offset < inputInt32.length) {\n inputWords0 = swapWord(inputInt32[offset]);\n inputWords1 = swapWord(inputInt32[offset + 1]);\n inputWords2 = swapWord(inputInt32[offset + 2]);\n inputWords3 = swapWord(inputInt32[offset + 3]);\n s0 = inputWords0 ^ invKeySchedule[0];\n s1 = inputWords3 ^ invKeySchedule[1];\n s2 = inputWords2 ^ invKeySchedule[2];\n s3 = inputWords1 ^ invKeySchedule[3];\n ksRow = 4;\n\n // Iterate through the rounds of decryption\n for (i = 1; i < nRounds; i++) {\n t0 = invSubMix0[s0 >>> 24] ^ invSubMix1[s1 >> 16 & 0xff] ^ invSubMix2[s2 >> 8 & 0xff] ^ invSubMix3[s3 & 0xff] ^ invKeySchedule[ksRow];\n t1 = invSubMix0[s1 >>> 24] ^ invSubMix1[s2 >> 16 & 0xff] ^ invSubMix2[s3 >> 8 & 0xff] ^ invSubMix3[s0 & 0xff] ^ invKeySchedule[ksRow + 1];\n t2 = invSubMix0[s2 >>> 24] ^ invSubMix1[s3 >> 16 & 0xff] ^ invSubMix2[s0 >> 8 & 0xff] ^ invSubMix3[s1 & 0xff] ^ invKeySchedule[ksRow + 2];\n t3 = invSubMix0[s3 >>> 24] ^ invSubMix1[s0 >> 16 & 0xff] ^ invSubMix2[s1 >> 8 & 0xff] ^ invSubMix3[s2 & 0xff] ^ invKeySchedule[ksRow + 3];\n // Update state\n s0 = t0;\n s1 = t1;\n s2 = t2;\n s3 = t3;\n ksRow = ksRow + 4;\n }\n\n // Shift rows, sub bytes, add round key\n t0 = invSBOX[s0 >>> 24] << 24 ^ invSBOX[s1 >> 16 & 0xff] << 16 ^ invSBOX[s2 >> 8 & 0xff] << 8 ^ invSBOX[s3 & 0xff] ^ invKeySchedule[ksRow];\n t1 = invSBOX[s1 >>> 24] << 24 ^ invSBOX[s2 >> 16 & 0xff] << 16 ^ invSBOX[s3 >> 8 & 0xff] << 8 ^ invSBOX[s0 & 0xff] ^ invKeySchedule[ksRow + 1];\n t2 = invSBOX[s2 >>> 24] << 24 ^ invSBOX[s3 >> 16 & 0xff] << 16 ^ invSBOX[s0 >> 8 & 0xff] << 8 ^ invSBOX[s1 & 0xff] ^ invKeySchedule[ksRow + 2];\n t3 = invSBOX[s3 >>> 24] << 24 ^ invSBOX[s0 >> 16 & 0xff] << 16 ^ invSBOX[s1 >> 8 & 0xff] << 8 ^ invSBOX[s2 & 0xff] ^ invKeySchedule[ksRow + 3];\n\n // Write\n outputInt32[offset] = swapWord(t0 ^ initVector0);\n outputInt32[offset + 1] = swapWord(t3 ^ initVector1);\n outputInt32[offset + 2] = swapWord(t2 ^ initVector2);\n outputInt32[offset + 3] = swapWord(t1 ^ initVector3);\n\n // reset initVector to last 4 unsigned int\n initVector0 = inputWords0;\n initVector1 = inputWords1;\n initVector2 = inputWords2;\n initVector3 = inputWords3;\n offset = offset + 4;\n }\n return outputInt32.buffer;\n };\n return AESDecryptor;\n }();\n\n var CHUNK_SIZE = 16; // 16 bytes, 128 bits\n var Decrypter = /*#__PURE__*/function () {\n function Decrypter(config, _temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n _ref$removePKCS7Paddi = _ref.removePKCS7Padding,\n removePKCS7Padding = _ref$removePKCS7Paddi === void 0 ? true : _ref$removePKCS7Paddi;\n this.logEnabled = true;\n this.removePKCS7Padding = void 0;\n this.subtle = null;\n this.softwareDecrypter = null;\n this.key = null;\n this.fastAesKey = null;\n this.remainderData = null;\n this.currentIV = null;\n this.currentResult = null;\n this.useSoftware = void 0;\n this.useSoftware = config.enableSoftwareAES;\n this.removePKCS7Padding = removePKCS7Padding;\n // built in decryptor expects PKCS7 padding\n if (removePKCS7Padding) {\n try {\n var browserCrypto = self.crypto;\n if (browserCrypto) {\n this.subtle = browserCrypto.subtle || browserCrypto.webkitSubtle;\n }\n } catch (e) {\n /* no-op */\n }\n }\n if (this.subtle === null) {\n this.useSoftware = true;\n }\n }\n var _proto = Decrypter.prototype;\n _proto.destroy = function destroy() {\n this.subtle = null;\n this.softwareDecrypter = null;\n this.key = null;\n this.fastAesKey = null;\n this.remainderData = null;\n this.currentIV = null;\n this.currentResult = null;\n };\n _proto.isSync = function isSync() {\n return this.useSoftware;\n };\n _proto.flush = function flush() {\n var currentResult = this.currentResult,\n remainderData = this.remainderData;\n if (!currentResult || remainderData) {\n this.reset();\n return null;\n }\n var data = new Uint8Array(currentResult);\n this.reset();\n if (this.removePKCS7Padding) {\n return removePadding(data);\n }\n return data;\n };\n _proto.reset = function reset() {\n this.currentResult = null;\n this.currentIV = null;\n this.remainderData = null;\n if (this.softwareDecrypter) {\n this.softwareDecrypter = null;\n }\n };\n _proto.decrypt = function decrypt(data, key, iv) {\n var _this = this;\n if (this.useSoftware) {\n return new Promise(function (resolve, reject) {\n _this.softwareDecrypt(new Uint8Array(data), key, iv);\n var decryptResult = _this.flush();\n if (decryptResult) {\n resolve(decryptResult.buffer);\n } else {\n reject(new Error('[softwareDecrypt] Failed to decrypt data'));\n }\n });\n }\n return this.webCryptoDecrypt(new Uint8Array(data), key, iv);\n }\n\n // Software decryption is progressive. Progressive decryption may not return a result on each call. Any cached\n // data is handled in the flush() call\n ;\n _proto.softwareDecrypt = function softwareDecrypt(data, key, iv) {\n var currentIV = this.currentIV,\n currentResult = this.currentResult,\n remainderData = this.remainderData;\n this.logOnce('JS AES decrypt');\n // The output is staggered during progressive parsing - the current result is cached, and emitted on the next call\n // This is done in order to strip PKCS7 padding, which is found at the end of each segment. We only know we've reached\n // the end on flush(), but by that time we have already received all bytes for the segment.\n // Progressive decryption does not work with WebCrypto\n\n if (remainderData) {\n data = appendUint8Array(remainderData, data);\n this.remainderData = null;\n }\n\n // Byte length must be a multiple of 16 (AES-128 = 128 bit blocks = 16 bytes)\n var currentChunk = this.getValidChunk(data);\n if (!currentChunk.length) {\n return null;\n }\n if (currentIV) {\n iv = currentIV;\n }\n var softwareDecrypter = this.softwareDecrypter;\n if (!softwareDecrypter) {\n softwareDecrypter = this.softwareDecrypter = new AESDecryptor();\n }\n softwareDecrypter.expandKey(key);\n var result = currentResult;\n this.currentResult = softwareDecrypter.decrypt(currentChunk.buffer, 0, iv);\n this.currentIV = sliceUint8(currentChunk, -16).buffer;\n if (!result) {\n return null;\n }\n return result;\n };\n _proto.webCryptoDecrypt = function webCryptoDecrypt(data, key, iv) {\n var _this2 = this;\n var subtle = this.subtle;\n if (this.key !== key || !this.fastAesKey) {\n this.key = key;\n this.fastAesKey = new FastAESKey(subtle, key);\n }\n return this.fastAesKey.expandKey().then(function (aesKey) {\n // decrypt using web crypto\n if (!subtle) {\n return Promise.reject(new Error('web crypto not initialized'));\n }\n _this2.logOnce('WebCrypto AES decrypt');\n var crypto = new AESCrypto(subtle, new Uint8Array(iv));\n return crypto.decrypt(data.buffer, aesKey);\n }).catch(function (err) {\n logger.warn(\"[decrypter]: WebCrypto Error, disable WebCrypto API, \" + err.name + \": \" + err.message);\n return _this2.onWebCryptoError(data, key, iv);\n });\n };\n _proto.onWebCryptoError = function onWebCryptoError(data, key, iv) {\n this.useSoftware = true;\n this.logEnabled = true;\n this.softwareDecrypt(data, key, iv);\n var decryptResult = this.flush();\n if (decryptResult) {\n return decryptResult.buffer;\n }\n throw new Error('WebCrypto and softwareDecrypt: failed to decrypt data');\n };\n _proto.getValidChunk = function getValidChunk(data) {\n var currentChunk = data;\n var splitPoint = data.length - data.length % CHUNK_SIZE;\n if (splitPoint !== data.length) {\n currentChunk = sliceUint8(data, 0, splitPoint);\n this.remainderData = sliceUint8(data, splitPoint);\n }\n return currentChunk;\n };\n _proto.logOnce = function logOnce(msg) {\n if (!this.logEnabled) {\n return;\n }\n logger.log(\"[decrypter]: \" + msg);\n this.logEnabled = false;\n };\n return Decrypter;\n }();\n\n /**\n * TimeRanges to string helper\n */\n\n var TimeRanges = {\n toString: function toString(r) {\n var log = '';\n var len = r.length;\n for (var i = 0; i < len; i++) {\n log += \"[\" + r.start(i).toFixed(3) + \"-\" + r.end(i).toFixed(3) + \"]\";\n }\n return log;\n }\n };\n\n var State = {\n STOPPED: 'STOPPED',\n IDLE: 'IDLE',\n KEY_LOADING: 'KEY_LOADING',\n FRAG_LOADING: 'FRAG_LOADING',\n FRAG_LOADING_WAITING_RETRY: 'FRAG_LOADING_WAITING_RETRY',\n WAITING_TRACK: 'WAITING_TRACK',\n PARSING: 'PARSING',\n PARSED: 'PARSED',\n ENDED: 'ENDED',\n ERROR: 'ERROR',\n WAITING_INIT_PTS: 'WAITING_INIT_PTS',\n WAITING_LEVEL: 'WAITING_LEVEL'\n };\n var BaseStreamController = /*#__PURE__*/function (_TaskLoop) {\n _inheritsLoose(BaseStreamController, _TaskLoop);\n function BaseStreamController(hls, fragmentTracker, keyLoader, logPrefix, playlistType) {\n var _this;\n _this = _TaskLoop.call(this) || this;\n _this.hls = void 0;\n _this.fragPrevious = null;\n _this.fragCurrent = null;\n _this.fragmentTracker = void 0;\n _this.transmuxer = null;\n _this._state = State.STOPPED;\n _this.playlistType = void 0;\n _this.media = null;\n _this.mediaBuffer = null;\n _this.config = void 0;\n _this.bitrateTest = false;\n _this.lastCurrentTime = 0;\n _this.nextLoadPosition = 0;\n _this.startPosition = 0;\n _this.startTimeOffset = null;\n _this.loadedmetadata = false;\n _this.retryDate = 0;\n _this.levels = null;\n _this.fragmentLoader = void 0;\n _this.keyLoader = void 0;\n _this.levelLastLoaded = null;\n _this.startFragRequested = false;\n _this.decrypter = void 0;\n _this.initPTS = [];\n _this.onvseeking = null;\n _this.onvended = null;\n _this.logPrefix = '';\n _this.log = void 0;\n _this.warn = void 0;\n _this.playlistType = playlistType;\n _this.logPrefix = logPrefix;\n _this.log = logger.log.bind(logger, logPrefix + \":\");\n _this.warn = logger.warn.bind(logger, logPrefix + \":\");\n _this.hls = hls;\n _this.fragmentLoader = new FragmentLoader(hls.config);\n _this.keyLoader = keyLoader;\n _this.fragmentTracker = fragmentTracker;\n _this.config = hls.config;\n _this.decrypter = new Decrypter(hls.config);\n hls.on(Events.MANIFEST_LOADED, _this.onManifestLoaded, _assertThisInitialized(_this));\n return _this;\n }\n var _proto = BaseStreamController.prototype;\n _proto.doTick = function doTick() {\n this.onTickEnd();\n };\n _proto.onTickEnd = function onTickEnd() {}\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n ;\n _proto.startLoad = function startLoad(startPosition) {};\n _proto.stopLoad = function stopLoad() {\n this.fragmentLoader.abort();\n this.keyLoader.abort(this.playlistType);\n var frag = this.fragCurrent;\n if (frag != null && frag.loader) {\n frag.abortRequests();\n this.fragmentTracker.removeFragment(frag);\n }\n this.resetTransmuxer();\n this.fragCurrent = null;\n this.fragPrevious = null;\n this.clearInterval();\n this.clearNextTick();\n this.state = State.STOPPED;\n };\n _proto._streamEnded = function _streamEnded(bufferInfo, levelDetails) {\n // If playlist is live, there is another buffered range after the current range, nothing buffered, media is detached,\n // of nothing loading/loaded return false\n if (levelDetails.live || bufferInfo.nextStart || !bufferInfo.end || !this.media) {\n return false;\n }\n var partList = levelDetails.partList;\n // Since the last part isn't guaranteed to correspond to the last playlist segment for Low-Latency HLS,\n // check instead if the last part is buffered.\n if (partList != null && partList.length) {\n var lastPart = partList[partList.length - 1];\n\n // Checking the midpoint of the part for potential margin of error and related issues.\n // NOTE: Technically I believe parts could yield content that is < the computed duration (including potential a duration of 0)\n // and still be spec-compliant, so there may still be edge cases here. Likewise, there could be issues in end of stream\n // part mismatches for independent audio and video playlists/segments.\n var lastPartBuffered = BufferHelper.isBuffered(this.media, lastPart.start + lastPart.duration / 2);\n return lastPartBuffered;\n }\n var playlistType = levelDetails.fragments[levelDetails.fragments.length - 1].type;\n return this.fragmentTracker.isEndListAppended(playlistType);\n };\n _proto.getLevelDetails = function getLevelDetails() {\n if (this.levels && this.levelLastLoaded !== null) {\n var _this$levelLastLoaded;\n return (_this$levelLastLoaded = this.levelLastLoaded) == null ? void 0 : _this$levelLastLoaded.details;\n }\n };\n _proto.onMediaAttached = function onMediaAttached(event, data) {\n var media = this.media = this.mediaBuffer = data.media;\n this.onvseeking = this.onMediaSeeking.bind(this);\n this.onvended = this.onMediaEnded.bind(this);\n media.addEventListener('seeking', this.onvseeking);\n media.addEventListener('ended', this.onvended);\n var config = this.config;\n if (this.levels && config.autoStartLoad && this.state === State.STOPPED) {\n this.startLoad(config.startPosition);\n }\n };\n _proto.onMediaDetaching = function onMediaDetaching() {\n var media = this.media;\n if (media != null && media.ended) {\n this.log('MSE detaching and video ended, reset startPosition');\n this.startPosition = this.lastCurrentTime = 0;\n }\n\n // remove video listeners\n if (media && this.onvseeking && this.onvended) {\n media.removeEventListener('seeking', this.onvseeking);\n media.removeEventListener('ended', this.onvended);\n this.onvseeking = this.onvended = null;\n }\n if (this.keyLoader) {\n this.keyLoader.detach();\n }\n this.media = this.mediaBuffer = null;\n this.loadedmetadata = false;\n this.fragmentTracker.removeAllFragments();\n this.stopLoad();\n };\n _proto.onMediaSeeking = function onMediaSeeking() {\n var config = this.config,\n fragCurrent = this.fragCurrent,\n media = this.media,\n mediaBuffer = this.mediaBuffer,\n state = this.state;\n var currentTime = media ? media.currentTime : 0;\n var bufferInfo = BufferHelper.bufferInfo(mediaBuffer ? mediaBuffer : media, currentTime, config.maxBufferHole);\n this.log(\"media seeking to \" + (isFiniteNumber(currentTime) ? currentTime.toFixed(3) : currentTime) + \", state: \" + state);\n if (this.state === State.ENDED) {\n this.resetLoadingState();\n } else if (fragCurrent) {\n // Seeking while frag load is in progress\n var tolerance = config.maxFragLookUpTolerance;\n var fragStartOffset = fragCurrent.start - tolerance;\n var fragEndOffset = fragCurrent.start + fragCurrent.duration + tolerance;\n // if seeking out of buffered range or into new one\n if (!bufferInfo.len || fragEndOffset < bufferInfo.start || fragStartOffset > bufferInfo.end) {\n var pastFragment = currentTime > fragEndOffset;\n // if the seek position is outside the current fragment range\n if (currentTime < fragStartOffset || pastFragment) {\n if (pastFragment && fragCurrent.loader) {\n this.log('seeking outside of buffer while fragment load in progress, cancel fragment load');\n fragCurrent.abortRequests();\n this.resetLoadingState();\n }\n this.fragPrevious = null;\n }\n }\n }\n if (media) {\n // Remove gap fragments\n this.fragmentTracker.removeFragmentsInRange(currentTime, Infinity, this.playlistType, true);\n this.lastCurrentTime = currentTime;\n }\n\n // in case seeking occurs although no media buffered, adjust startPosition and nextLoadPosition to seek target\n if (!this.loadedmetadata && !bufferInfo.len) {\n this.nextLoadPosition = this.startPosition = currentTime;\n }\n\n // Async tick to speed up processing\n this.tickImmediate();\n };\n _proto.onMediaEnded = function onMediaEnded() {\n // reset startPosition and lastCurrentTime to restart playback @ stream beginning\n this.startPosition = this.lastCurrentTime = 0;\n };\n _proto.onManifestLoaded = function onManifestLoaded(event, data) {\n this.startTimeOffset = data.startTimeOffset;\n this.initPTS = [];\n };\n _proto.onHandlerDestroying = function onHandlerDestroying() {\n this.hls.off(Events.MANIFEST_LOADED, this.onManifestLoaded, this);\n this.stopLoad();\n _TaskLoop.prototype.onHandlerDestroying.call(this);\n // @ts-ignore\n this.hls = null;\n };\n _proto.onHandlerDestroyed = function onHandlerDestroyed() {\n this.state = State.STOPPED;\n if (this.fragmentLoader) {\n this.fragmentLoader.destroy();\n }\n if (this.keyLoader) {\n this.keyLoader.destroy();\n }\n if (this.decrypter) {\n this.decrypter.destroy();\n }\n this.hls = this.log = this.warn = this.decrypter = this.keyLoader = this.fragmentLoader = this.fragmentTracker = null;\n _TaskLoop.prototype.onHandlerDestroyed.call(this);\n };\n _proto.loadFragment = function loadFragment(frag, level, targetBufferTime) {\n this._loadFragForPlayback(frag, level, targetBufferTime);\n };\n _proto._loadFragForPlayback = function _loadFragForPlayback(frag, level, targetBufferTime) {\n var _this2 = this;\n var progressCallback = function progressCallback(data) {\n if (_this2.fragContextChanged(frag)) {\n _this2.warn(\"Fragment \" + frag.sn + (data.part ? ' p: ' + data.part.index : '') + \" of level \" + frag.level + \" was dropped during download.\");\n _this2.fragmentTracker.removeFragment(frag);\n return;\n }\n frag.stats.chunkCount++;\n _this2._handleFragmentLoadProgress(data);\n };\n this._doFragLoad(frag, level, targetBufferTime, progressCallback).then(function (data) {\n if (!data) {\n // if we're here we probably needed to backtrack or are waiting for more parts\n return;\n }\n var state = _this2.state;\n if (_this2.fragContextChanged(frag)) {\n if (state === State.FRAG_LOADING || !_this2.fragCurrent && state === State.PARSING) {\n _this2.fragmentTracker.removeFragment(frag);\n _this2.state = State.IDLE;\n }\n return;\n }\n if ('payload' in data) {\n _this2.log(\"Loaded fragment \" + frag.sn + \" of level \" + frag.level);\n _this2.hls.trigger(Events.FRAG_LOADED, data);\n }\n\n // Pass through the whole payload; controllers not implementing progressive loading receive data from this callback\n _this2._handleFragmentLoadComplete(data);\n }).catch(function (reason) {\n if (_this2.state === State.STOPPED || _this2.state === State.ERROR) {\n return;\n }\n _this2.warn(reason);\n _this2.resetFragmentLoading(frag);\n });\n };\n _proto.clearTrackerIfNeeded = function clearTrackerIfNeeded(frag) {\n var _this$mediaBuffer;\n var fragmentTracker = this.fragmentTracker;\n var fragState = fragmentTracker.getState(frag);\n if (fragState === FragmentState.APPENDING) {\n // Lower the buffer size and try again\n var playlistType = frag.type;\n var bufferedInfo = this.getFwdBufferInfo(this.mediaBuffer, playlistType);\n var minForwardBufferLength = Math.max(frag.duration, bufferedInfo ? bufferedInfo.len : this.config.maxBufferLength);\n if (this.reduceMaxBufferLength(minForwardBufferLength)) {\n fragmentTracker.removeFragment(frag);\n }\n } else if (((_this$mediaBuffer = this.mediaBuffer) == null ? void 0 : _this$mediaBuffer.buffered.length) === 0) {\n // Stop gap for bad tracker / buffer flush behavior\n fragmentTracker.removeAllFragments();\n } else if (fragmentTracker.hasParts(frag.type)) {\n // In low latency mode, remove fragments for which only some parts were buffered\n fragmentTracker.detectPartialFragments({\n frag: frag,\n part: null,\n stats: frag.stats,\n id: frag.type\n });\n if (fragmentTracker.getState(frag) === FragmentState.PARTIAL) {\n fragmentTracker.removeFragment(frag);\n }\n }\n };\n _proto.checkLiveUpdate = function checkLiveUpdate(details) {\n if (details.updated && !details.live) {\n // Live stream ended, update fragment tracker\n var lastFragment = details.fragments[details.fragments.length - 1];\n this.fragmentTracker.detectPartialFragments({\n frag: lastFragment,\n part: null,\n stats: lastFragment.stats,\n id: lastFragment.type\n });\n }\n if (!details.fragments[0]) {\n details.deltaUpdateFailed = true;\n }\n };\n _proto.flushMainBuffer = function flushMainBuffer(startOffset, endOffset, type) {\n if (type === void 0) {\n type = null;\n }\n if (!(startOffset - endOffset)) {\n return;\n }\n // When alternate audio is playing, the audio-stream-controller is responsible for the audio buffer. Otherwise,\n // passing a null type flushes both buffers\n var flushScope = {\n startOffset: startOffset,\n endOffset: endOffset,\n type: type\n };\n this.hls.trigger(Events.BUFFER_FLUSHING, flushScope);\n };\n _proto._loadInitSegment = function _loadInitSegment(frag, level) {\n var _this3 = this;\n this._doFragLoad(frag, level).then(function (data) {\n if (!data || _this3.fragContextChanged(frag) || !_this3.levels) {\n throw new Error('init load aborted');\n }\n return data;\n }).then(function (data) {\n var hls = _this3.hls;\n var payload = data.payload;\n var decryptData = frag.decryptdata;\n\n // check to see if the payload needs to be decrypted\n if (payload && payload.byteLength > 0 && decryptData != null && decryptData.key && decryptData.iv && decryptData.method === 'AES-128') {\n var startTime = self.performance.now();\n // decrypt init segment data\n return _this3.decrypter.decrypt(new Uint8Array(payload), decryptData.key.buffer, decryptData.iv.buffer).catch(function (err) {\n hls.trigger(Events.ERROR, {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.FRAG_DECRYPT_ERROR,\n fatal: false,\n error: err,\n reason: err.message,\n frag: frag\n });\n throw err;\n }).then(function (decryptedData) {\n var endTime = self.performance.now();\n hls.trigger(Events.FRAG_DECRYPTED, {\n frag: frag,\n payload: decryptedData,\n stats: {\n tstart: startTime,\n tdecrypt: endTime\n }\n });\n data.payload = decryptedData;\n return _this3.completeInitSegmentLoad(data);\n });\n }\n return _this3.completeInitSegmentLoad(data);\n }).catch(function (reason) {\n if (_this3.state === State.STOPPED || _this3.state === State.ERROR) {\n return;\n }\n _this3.warn(reason);\n _this3.resetFragmentLoading(frag);\n });\n };\n _proto.completeInitSegmentLoad = function completeInitSegmentLoad(data) {\n var levels = this.levels;\n if (!levels) {\n throw new Error('init load aborted, missing levels');\n }\n var stats = data.frag.stats;\n this.state = State.IDLE;\n data.frag.data = new Uint8Array(data.payload);\n stats.parsing.start = stats.buffering.start = self.performance.now();\n stats.parsing.end = stats.buffering.end = self.performance.now();\n this.tick();\n };\n _proto.fragContextChanged = function fragContextChanged(frag) {\n var fragCurrent = this.fragCurrent;\n return !frag || !fragCurrent || frag.sn !== fragCurrent.sn || frag.level !== fragCurrent.level;\n };\n _proto.fragBufferedComplete = function fragBufferedComplete(frag, part) {\n var _frag$startPTS, _frag$endPTS, _this$fragCurrent, _this$fragPrevious;\n var media = this.mediaBuffer ? this.mediaBuffer : this.media;\n this.log(\"Buffered \" + frag.type + \" sn: \" + frag.sn + (part ? ' part: ' + part.index : '') + \" of \" + (this.playlistType === PlaylistLevelType.MAIN ? 'level' : 'track') + \" \" + frag.level + \" (frag:[\" + ((_frag$startPTS = frag.startPTS) != null ? _frag$startPTS : NaN).toFixed(3) + \"-\" + ((_frag$endPTS = frag.endPTS) != null ? _frag$endPTS : NaN).toFixed(3) + \"] > buffer:\" + (media ? TimeRanges.toString(BufferHelper.getBuffered(media)) : '(detached)') + \")\");\n if (frag.sn !== 'initSegment') {\n var _this$levels;\n if (frag.type !== PlaylistLevelType.SUBTITLE) {\n var el = frag.elementaryStreams;\n if (!Object.keys(el).some(function (type) {\n return !!el[type];\n })) {\n // empty segment\n this.state = State.IDLE;\n return;\n }\n }\n var level = (_this$levels = this.levels) == null ? void 0 : _this$levels[frag.level];\n if (level != null && level.fragmentError) {\n this.log(\"Resetting level fragment error count of \" + level.fragmentError + \" on frag buffered\");\n level.fragmentError = 0;\n }\n }\n this.state = State.IDLE;\n if (!media) {\n return;\n }\n if (!this.loadedmetadata && frag.type == PlaylistLevelType.MAIN && media.buffered.length && ((_this$fragCurrent = this.fragCurrent) == null ? void 0 : _this$fragCurrent.sn) === ((_this$fragPrevious = this.fragPrevious) == null ? void 0 : _this$fragPrevious.sn)) {\n this.loadedmetadata = true;\n this.seekToStartPos();\n }\n this.tick();\n };\n _proto.seekToStartPos = function seekToStartPos() {};\n _proto._handleFragmentLoadComplete = function _handleFragmentLoadComplete(fragLoadedEndData) {\n var transmuxer = this.transmuxer;\n if (!transmuxer) {\n return;\n }\n var frag = fragLoadedEndData.frag,\n part = fragLoadedEndData.part,\n partsLoaded = fragLoadedEndData.partsLoaded;\n // If we did not load parts, or loaded all parts, we have complete (not partial) fragment data\n var complete = !partsLoaded || partsLoaded.length === 0 || partsLoaded.some(function (fragLoaded) {\n return !fragLoaded;\n });\n var chunkMeta = new ChunkMetadata(frag.level, frag.sn, frag.stats.chunkCount + 1, 0, part ? part.index : -1, !complete);\n transmuxer.flush(chunkMeta);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n ;\n _proto._handleFragmentLoadProgress = function _handleFragmentLoadProgress(frag) {};\n _proto._doFragLoad = function _doFragLoad(frag, level, targetBufferTime, progressCallback) {\n var _frag$decryptdata,\n _this4 = this;\n if (targetBufferTime === void 0) {\n targetBufferTime = null;\n }\n var details = level == null ? void 0 : level.details;\n if (!this.levels || !details) {\n throw new Error(\"frag load aborted, missing level\" + (details ? '' : ' detail') + \"s\");\n }\n var keyLoadingPromise = null;\n if (frag.encrypted && !((_frag$decryptdata = frag.decryptdata) != null && _frag$decryptdata.key)) {\n this.log(\"Loading key for \" + frag.sn + \" of [\" + details.startSN + \"-\" + details.endSN + \"], \" + (this.logPrefix === '[stream-controller]' ? 'level' : 'track') + \" \" + frag.level);\n this.state = State.KEY_LOADING;\n this.fragCurrent = frag;\n keyLoadingPromise = this.keyLoader.load(frag).then(function (keyLoadedData) {\n if (!_this4.fragContextChanged(keyLoadedData.frag)) {\n _this4.hls.trigger(Events.KEY_LOADED, keyLoadedData);\n if (_this4.state === State.KEY_LOADING) {\n _this4.state = State.IDLE;\n }\n return keyLoadedData;\n }\n });\n this.hls.trigger(Events.KEY_LOADING, {\n frag: frag\n });\n if (this.fragCurrent === null) {\n keyLoadingPromise = Promise.reject(new Error(\"frag load aborted, context changed in KEY_LOADING\"));\n }\n } else if (!frag.encrypted && details.encryptedFragments.length) {\n this.keyLoader.loadClear(frag, details.encryptedFragments);\n }\n targetBufferTime = Math.max(frag.start, targetBufferTime || 0);\n if (this.config.lowLatencyMode && frag.sn !== 'initSegment') {\n var partList = details.partList;\n if (partList && progressCallback) {\n if (targetBufferTime > frag.end && details.fragmentHint) {\n frag = details.fragmentHint;\n }\n var partIndex = this.getNextPart(partList, frag, targetBufferTime);\n if (partIndex > -1) {\n var part = partList[partIndex];\n this.log(\"Loading part sn: \" + frag.sn + \" p: \" + part.index + \" cc: \" + frag.cc + \" of playlist [\" + details.startSN + \"-\" + details.endSN + \"] parts [0-\" + partIndex + \"-\" + (partList.length - 1) + \"] \" + (this.logPrefix === '[stream-controller]' ? 'level' : 'track') + \": \" + frag.level + \", target: \" + parseFloat(targetBufferTime.toFixed(3)));\n this.nextLoadPosition = part.start + part.duration;\n this.state = State.FRAG_LOADING;\n var _result;\n if (keyLoadingPromise) {\n _result = keyLoadingPromise.then(function (keyLoadedData) {\n if (!keyLoadedData || _this4.fragContextChanged(keyLoadedData.frag)) {\n return null;\n }\n return _this4.doFragPartsLoad(frag, part, level, progressCallback);\n }).catch(function (error) {\n return _this4.handleFragLoadError(error);\n });\n } else {\n _result = this.doFragPartsLoad(frag, part, level, progressCallback).catch(function (error) {\n return _this4.handleFragLoadError(error);\n });\n }\n this.hls.trigger(Events.FRAG_LOADING, {\n frag: frag,\n part: part,\n targetBufferTime: targetBufferTime\n });\n if (this.fragCurrent === null) {\n return Promise.reject(new Error(\"frag load aborted, context changed in FRAG_LOADING parts\"));\n }\n return _result;\n } else if (!frag.url || this.loadedEndOfParts(partList, targetBufferTime)) {\n // Fragment hint has no parts\n return Promise.resolve(null);\n }\n }\n }\n this.log(\"Loading fragment \" + frag.sn + \" cc: \" + frag.cc + \" \" + (details ? 'of [' + details.startSN + '-' + details.endSN + '] ' : '') + (this.logPrefix === '[stream-controller]' ? 'level' : 'track') + \": \" + frag.level + \", target: \" + parseFloat(targetBufferTime.toFixed(3)));\n // Don't update nextLoadPosition for fragments which are not buffered\n if (isFiniteNumber(frag.sn) && !this.bitrateTest) {\n this.nextLoadPosition = frag.start + frag.duration;\n }\n this.state = State.FRAG_LOADING;\n\n // Load key before streaming fragment data\n var dataOnProgress = this.config.progressive;\n var result;\n if (dataOnProgress && keyLoadingPromise) {\n result = keyLoadingPromise.then(function (keyLoadedData) {\n if (!keyLoadedData || _this4.fragContextChanged(keyLoadedData == null ? void 0 : keyLoadedData.frag)) {\n return null;\n }\n return _this4.fragmentLoader.load(frag, progressCallback);\n }).catch(function (error) {\n return _this4.handleFragLoadError(error);\n });\n } else {\n // load unencrypted fragment data with progress event,\n // or handle fragment result after key and fragment are finished loading\n result = Promise.all([this.fragmentLoader.load(frag, dataOnProgress ? progressCallback : undefined), keyLoadingPromise]).then(function (_ref) {\n var fragLoadedData = _ref[0];\n if (!dataOnProgress && fragLoadedData && progressCallback) {\n progressCallback(fragLoadedData);\n }\n return fragLoadedData;\n }).catch(function (error) {\n return _this4.handleFragLoadError(error);\n });\n }\n this.hls.trigger(Events.FRAG_LOADING, {\n frag: frag,\n targetBufferTime: targetBufferTime\n });\n if (this.fragCurrent === null) {\n return Promise.reject(new Error(\"frag load aborted, context changed in FRAG_LOADING\"));\n }\n return result;\n };\n _proto.doFragPartsLoad = function doFragPartsLoad(frag, fromPart, level, progressCallback) {\n var _this5 = this;\n return new Promise(function (resolve, reject) {\n var _level$details;\n var partsLoaded = [];\n var initialPartList = (_level$details = level.details) == null ? void 0 : _level$details.partList;\n var loadPart = function loadPart(part) {\n _this5.fragmentLoader.loadPart(frag, part, progressCallback).then(function (partLoadedData) {\n partsLoaded[part.index] = partLoadedData;\n var loadedPart = partLoadedData.part;\n _this5.hls.trigger(Events.FRAG_LOADED, partLoadedData);\n var nextPart = getPartWith(level, frag.sn, part.index + 1) || findPart(initialPartList, frag.sn, part.index + 1);\n if (nextPart) {\n loadPart(nextPart);\n } else {\n return resolve({\n frag: frag,\n part: loadedPart,\n partsLoaded: partsLoaded\n });\n }\n }).catch(reject);\n };\n loadPart(fromPart);\n });\n };\n _proto.handleFragLoadError = function handleFragLoadError(error) {\n if ('data' in error) {\n var data = error.data;\n if (error.data && data.details === ErrorDetails.INTERNAL_ABORTED) {\n this.handleFragLoadAborted(data.frag, data.part);\n } else {\n this.hls.trigger(Events.ERROR, data);\n }\n } else {\n this.hls.trigger(Events.ERROR, {\n type: ErrorTypes.OTHER_ERROR,\n details: ErrorDetails.INTERNAL_EXCEPTION,\n err: error,\n error: error,\n fatal: true\n });\n }\n return null;\n };\n _proto._handleTransmuxerFlush = function _handleTransmuxerFlush(chunkMeta) {\n var context = this.getCurrentContext(chunkMeta);\n if (!context || this.state !== State.PARSING) {\n if (!this.fragCurrent && this.state !== State.STOPPED && this.state !== State.ERROR) {\n this.state = State.IDLE;\n }\n return;\n }\n var frag = context.frag,\n part = context.part,\n level = context.level;\n var now = self.performance.now();\n frag.stats.parsing.end = now;\n if (part) {\n part.stats.parsing.end = now;\n }\n this.updateLevelTiming(frag, part, level, chunkMeta.partial);\n };\n _proto.getCurrentContext = function getCurrentContext(chunkMeta) {\n var levels = this.levels,\n fragCurrent = this.fragCurrent;\n var levelIndex = chunkMeta.level,\n sn = chunkMeta.sn,\n partIndex = chunkMeta.part;\n if (!(levels != null && levels[levelIndex])) {\n this.warn(\"Levels object was unset while buffering fragment \" + sn + \" of level \" + levelIndex + \". The current chunk will not be buffered.\");\n return null;\n }\n var level = levels[levelIndex];\n var part = partIndex > -1 ? getPartWith(level, sn, partIndex) : null;\n var frag = part ? part.fragment : getFragmentWithSN(level, sn, fragCurrent);\n if (!frag) {\n return null;\n }\n if (fragCurrent && fragCurrent !== frag) {\n frag.stats = fragCurrent.stats;\n }\n return {\n frag: frag,\n part: part,\n level: level\n };\n };\n _proto.bufferFragmentData = function bufferFragmentData(data, frag, part, chunkMeta, noBacktracking) {\n var _buffer;\n if (!data || this.state !== State.PARSING) {\n return;\n }\n var data1 = data.data1,\n data2 = data.data2;\n var buffer = data1;\n if (data1 && data2) {\n // Combine the moof + mdat so that we buffer with a single append\n buffer = appendUint8Array(data1, data2);\n }\n if (!((_buffer = buffer) != null && _buffer.length)) {\n return;\n }\n var segment = {\n type: data.type,\n frag: frag,\n part: part,\n chunkMeta: chunkMeta,\n parent: frag.type,\n data: buffer\n };\n this.hls.trigger(Events.BUFFER_APPENDING, segment);\n if (data.dropped && data.independent && !part) {\n if (noBacktracking) {\n return;\n }\n // Clear buffer so that we reload previous segments sequentially if required\n this.flushBufferGap(frag);\n }\n };\n _proto.flushBufferGap = function flushBufferGap(frag) {\n var media = this.media;\n if (!media) {\n return;\n }\n // If currentTime is not buffered, clear the back buffer so that we can backtrack as much as needed\n if (!BufferHelper.isBuffered(media, media.currentTime)) {\n this.flushMainBuffer(0, frag.start);\n return;\n }\n // Remove back-buffer without interrupting playback to allow back tracking\n var currentTime = media.currentTime;\n var bufferInfo = BufferHelper.bufferInfo(media, currentTime, 0);\n var fragDuration = frag.duration;\n var segmentFraction = Math.min(this.config.maxFragLookUpTolerance * 2, fragDuration * 0.25);\n var start = Math.max(Math.min(frag.start - segmentFraction, bufferInfo.end - segmentFraction), currentTime + segmentFraction);\n if (frag.start - start > segmentFraction) {\n this.flushMainBuffer(start, frag.start);\n }\n };\n _proto.getFwdBufferInfo = function getFwdBufferInfo(bufferable, type) {\n var pos = this.getLoadPosition();\n if (!isFiniteNumber(pos)) {\n return null;\n }\n return this.getFwdBufferInfoAtPos(bufferable, pos, type);\n };\n _proto.getFwdBufferInfoAtPos = function getFwdBufferInfoAtPos(bufferable, pos, type) {\n var maxBufferHole = this.config.maxBufferHole;\n var bufferInfo = BufferHelper.bufferInfo(bufferable, pos, maxBufferHole);\n // Workaround flaw in getting forward buffer when maxBufferHole is smaller than gap at current pos\n if (bufferInfo.len === 0 && bufferInfo.nextStart !== undefined) {\n var bufferedFragAtPos = this.fragmentTracker.getBufferedFrag(pos, type);\n if (bufferedFragAtPos && bufferInfo.nextStart < bufferedFragAtPos.end) {\n return BufferHelper.bufferInfo(bufferable, pos, Math.max(bufferInfo.nextStart, maxBufferHole));\n }\n }\n return bufferInfo;\n };\n _proto.getMaxBufferLength = function getMaxBufferLength(levelBitrate) {\n var config = this.config;\n var maxBufLen;\n if (levelBitrate) {\n maxBufLen = Math.max(8 * config.maxBufferSize / levelBitrate, config.maxBufferLength);\n } else {\n maxBufLen = config.maxBufferLength;\n }\n return Math.min(maxBufLen, config.maxMaxBufferLength);\n };\n _proto.reduceMaxBufferLength = function reduceMaxBufferLength(threshold) {\n var config = this.config;\n var minLength = threshold || config.maxBufferLength;\n if (config.maxMaxBufferLength >= minLength) {\n // reduce max buffer length as it might be too high. we do this to avoid loop flushing ...\n config.maxMaxBufferLength /= 2;\n this.warn(\"Reduce max buffer length to \" + config.maxMaxBufferLength + \"s\");\n return true;\n }\n return false;\n };\n _proto.getAppendedFrag = function getAppendedFrag(position, playlistType) {\n var fragOrPart = this.fragmentTracker.getAppendedFrag(position, PlaylistLevelType.MAIN);\n if (fragOrPart && 'fragment' in fragOrPart) {\n return fragOrPart.fragment;\n }\n return fragOrPart;\n };\n _proto.getNextFragment = function getNextFragment(pos, levelDetails) {\n var fragments = levelDetails.fragments;\n var fragLen = fragments.length;\n if (!fragLen) {\n return null;\n }\n\n // find fragment index, contiguous with end of buffer position\n var config = this.config;\n var start = fragments[0].start;\n var frag;\n if (levelDetails.live) {\n var initialLiveManifestSize = config.initialLiveManifestSize;\n if (fragLen < initialLiveManifestSize) {\n this.warn(\"Not enough fragments to start playback (have: \" + fragLen + \", need: \" + initialLiveManifestSize + \")\");\n return null;\n }\n // The real fragment start times for a live stream are only known after the PTS range for that level is known.\n // In order to discover the range, we load the best matching fragment for that level and demux it.\n // Do not load using live logic if the starting frag is requested - we want to use getFragmentAtPosition() so that\n // we get the fragment matching that start time\n if (!levelDetails.PTSKnown && !this.startFragRequested && this.startPosition === -1 || pos < start) {\n frag = this.getInitialLiveFragment(levelDetails, fragments);\n this.startPosition = this.nextLoadPosition = frag ? this.hls.liveSyncPosition || frag.start : pos;\n }\n } else if (pos <= start) {\n // VoD playlist: if loadPosition before start of playlist, load first fragment\n frag = fragments[0];\n }\n\n // If we haven't run into any special cases already, just load the fragment most closely matching the requested position\n if (!frag) {\n var end = config.lowLatencyMode ? levelDetails.partEnd : levelDetails.fragmentEnd;\n frag = this.getFragmentAtPosition(pos, end, levelDetails);\n }\n return this.mapToInitFragWhenRequired(frag);\n };\n _proto.isLoopLoading = function isLoopLoading(frag, targetBufferTime) {\n var trackerState = this.fragmentTracker.getState(frag);\n return (trackerState === FragmentState.OK || trackerState === FragmentState.PARTIAL && !!frag.gap) && this.nextLoadPosition > targetBufferTime;\n };\n _proto.getNextFragmentLoopLoading = function getNextFragmentLoopLoading(frag, levelDetails, bufferInfo, playlistType, maxBufLen) {\n var gapStart = frag.gap;\n var nextFragment = this.getNextFragment(this.nextLoadPosition, levelDetails);\n if (nextFragment === null) {\n return nextFragment;\n }\n frag = nextFragment;\n if (gapStart && frag && !frag.gap && bufferInfo.nextStart) {\n // Media buffered after GAP tags should not make the next buffer timerange exceed forward buffer length\n var nextbufferInfo = this.getFwdBufferInfoAtPos(this.mediaBuffer ? this.mediaBuffer : this.media, bufferInfo.nextStart, playlistType);\n if (nextbufferInfo !== null && bufferInfo.len + nextbufferInfo.len >= maxBufLen) {\n // Returning here might result in not finding an audio and video candiate to skip to\n this.log(\"buffer full after gaps in \\\"\" + playlistType + \"\\\" playlist starting at sn: \" + frag.sn);\n return null;\n }\n }\n return frag;\n };\n _proto.mapToInitFragWhenRequired = function mapToInitFragWhenRequired(frag) {\n // If an initSegment is present, it must be buffered first\n if (frag != null && frag.initSegment && !(frag != null && frag.initSegment.data) && !this.bitrateTest) {\n return frag.initSegment;\n }\n return frag;\n };\n _proto.getNextPart = function getNextPart(partList, frag, targetBufferTime) {\n var nextPart = -1;\n var contiguous = false;\n var independentAttrOmitted = true;\n for (var i = 0, len = partList.length; i < len; i++) {\n var part = partList[i];\n independentAttrOmitted = independentAttrOmitted && !part.independent;\n if (nextPart > -1 && targetBufferTime < part.start) {\n break;\n }\n var loaded = part.loaded;\n if (loaded) {\n nextPart = -1;\n } else if ((contiguous || part.independent || independentAttrOmitted) && part.fragment === frag) {\n nextPart = i;\n }\n contiguous = loaded;\n }\n return nextPart;\n };\n _proto.loadedEndOfParts = function loadedEndOfParts(partList, targetBufferTime) {\n var lastPart = partList[partList.length - 1];\n return lastPart && targetBufferTime > lastPart.start && lastPart.loaded;\n }\n\n /*\n This method is used find the best matching first fragment for a live playlist. This fragment is used to calculate the\n \"sliding\" of the playlist, which is its offset from the start of playback. After sliding we can compute the real\n start and end times for each fragment in the playlist (after which this method will not need to be called).\n */;\n _proto.getInitialLiveFragment = function getInitialLiveFragment(levelDetails, fragments) {\n var fragPrevious = this.fragPrevious;\n var frag = null;\n if (fragPrevious) {\n if (levelDetails.hasProgramDateTime) {\n // Prefer using PDT, because it can be accurate enough to choose the correct fragment without knowing the level sliding\n this.log(\"Live playlist, switching playlist, load frag with same PDT: \" + fragPrevious.programDateTime);\n frag = findFragmentByPDT(fragments, fragPrevious.endProgramDateTime, this.config.maxFragLookUpTolerance);\n }\n if (!frag) {\n // SN does not need to be accurate between renditions, but depending on the packaging it may be so.\n var targetSN = fragPrevious.sn + 1;\n if (targetSN >= levelDetails.startSN && targetSN <= levelDetails.endSN) {\n var fragNext = fragments[targetSN - levelDetails.startSN];\n // Ensure that we're staying within the continuity range, since PTS resets upon a new range\n if (fragPrevious.cc === fragNext.cc) {\n frag = fragNext;\n this.log(\"Live playlist, switching playlist, load frag with next SN: \" + frag.sn);\n }\n }\n // It's important to stay within the continuity range if available; otherwise the fragments in the playlist\n // will have the wrong start times\n if (!frag) {\n frag = findFragWithCC(fragments, fragPrevious.cc);\n if (frag) {\n this.log(\"Live playlist, switching playlist, load frag with same CC: \" + frag.sn);\n }\n }\n }\n } else {\n // Find a new start fragment when fragPrevious is null\n var liveStart = this.hls.liveSyncPosition;\n if (liveStart !== null) {\n frag = this.getFragmentAtPosition(liveStart, this.bitrateTest ? levelDetails.fragmentEnd : levelDetails.edge, levelDetails);\n }\n }\n return frag;\n }\n\n /*\n This method finds the best matching fragment given the provided position.\n */;\n _proto.getFragmentAtPosition = function getFragmentAtPosition(bufferEnd, end, levelDetails) {\n var config = this.config;\n var fragPrevious = this.fragPrevious;\n var fragments = levelDetails.fragments,\n endSN = levelDetails.endSN;\n var fragmentHint = levelDetails.fragmentHint;\n var tolerance = config.maxFragLookUpTolerance;\n var partList = levelDetails.partList;\n var loadingParts = !!(config.lowLatencyMode && partList != null && partList.length && fragmentHint);\n if (loadingParts && fragmentHint && !this.bitrateTest) {\n // Include incomplete fragment with parts at end\n fragments = fragments.concat(fragmentHint);\n endSN = fragmentHint.sn;\n }\n var frag;\n if (bufferEnd < end) {\n var lookupTolerance = bufferEnd > end - tolerance ? 0 : tolerance;\n // Remove the tolerance if it would put the bufferEnd past the actual end of stream\n // Uses buffer and sequence number to calculate switch segment (required if using EXT-X-DISCONTINUITY-SEQUENCE)\n frag = findFragmentByPTS(fragPrevious, fragments, bufferEnd, lookupTolerance);\n } else {\n // reach end of playlist\n frag = fragments[fragments.length - 1];\n }\n if (frag) {\n var curSNIdx = frag.sn - levelDetails.startSN;\n // Move fragPrevious forward to support forcing the next fragment to load\n // when the buffer catches up to a previously buffered range.\n var fragState = this.fragmentTracker.getState(frag);\n if (fragState === FragmentState.OK || fragState === FragmentState.PARTIAL && frag.gap) {\n fragPrevious = frag;\n }\n if (fragPrevious && frag.sn === fragPrevious.sn && (!loadingParts || partList[0].fragment.sn > frag.sn)) {\n // Force the next fragment to load if the previous one was already selected. This can occasionally happen with\n // non-uniform fragment durations\n var sameLevel = fragPrevious && frag.level === fragPrevious.level;\n if (sameLevel) {\n var nextFrag = fragments[curSNIdx + 1];\n if (frag.sn < endSN && this.fragmentTracker.getState(nextFrag) !== FragmentState.OK) {\n frag = nextFrag;\n } else {\n frag = null;\n }\n }\n }\n }\n return frag;\n };\n _proto.synchronizeToLiveEdge = function synchronizeToLiveEdge(levelDetails) {\n var config = this.config,\n media = this.media;\n if (!media) {\n return;\n }\n var liveSyncPosition = this.hls.liveSyncPosition;\n var currentTime = media.currentTime;\n var start = levelDetails.fragments[0].start;\n var end = levelDetails.edge;\n var withinSlidingWindow = currentTime >= start - config.maxFragLookUpTolerance && currentTime <= end;\n // Continue if we can seek forward to sync position or if current time is outside of sliding window\n if (liveSyncPosition !== null && media.duration > liveSyncPosition && (currentTime < liveSyncPosition || !withinSlidingWindow)) {\n // Continue if buffer is starving or if current time is behind max latency\n var maxLatency = config.liveMaxLatencyDuration !== undefined ? config.liveMaxLatencyDuration : config.liveMaxLatencyDurationCount * levelDetails.targetduration;\n if (!withinSlidingWindow && media.readyState < 4 || currentTime < end - maxLatency) {\n if (!this.loadedmetadata) {\n this.nextLoadPosition = liveSyncPosition;\n }\n // Only seek if ready and there is not a significant forward buffer available for playback\n if (media.readyState) {\n this.warn(\"Playback: \" + currentTime.toFixed(3) + \" is located too far from the end of live sliding playlist: \" + end + \", reset currentTime to : \" + liveSyncPosition.toFixed(3));\n media.currentTime = liveSyncPosition;\n }\n }\n }\n };\n _proto.alignPlaylists = function alignPlaylists(details, previousDetails, switchDetails) {\n // FIXME: If not for `shouldAlignOnDiscontinuities` requiring fragPrevious.cc,\n // this could all go in level-helper mergeDetails()\n var length = details.fragments.length;\n if (!length) {\n this.warn(\"No fragments in live playlist\");\n return 0;\n }\n var slidingStart = details.fragments[0].start;\n var firstLevelLoad = !previousDetails;\n var aligned = details.alignedSliding && isFiniteNumber(slidingStart);\n if (firstLevelLoad || !aligned && !slidingStart) {\n var fragPrevious = this.fragPrevious;\n alignStream(fragPrevious, switchDetails, details);\n var alignedSlidingStart = details.fragments[0].start;\n this.log(\"Live playlist sliding: \" + alignedSlidingStart.toFixed(2) + \" start-sn: \" + (previousDetails ? previousDetails.startSN : 'na') + \"->\" + details.startSN + \" prev-sn: \" + (fragPrevious ? fragPrevious.sn : 'na') + \" fragments: \" + length);\n return alignedSlidingStart;\n }\n return slidingStart;\n };\n _proto.waitForCdnTuneIn = function waitForCdnTuneIn(details) {\n // Wait for Low-Latency CDN Tune-in to get an updated playlist\n var advancePartLimit = 3;\n return details.live && details.canBlockReload && details.partTarget && details.tuneInGoal > Math.max(details.partHoldBack, details.partTarget * advancePartLimit);\n };\n _proto.setStartPosition = function setStartPosition(details, sliding) {\n // compute start position if set to -1. use it straight away if value is defined\n var startPosition = this.startPosition;\n if (startPosition < sliding) {\n startPosition = -1;\n }\n if (startPosition === -1 || this.lastCurrentTime === -1) {\n // Use Playlist EXT-X-START:TIME-OFFSET when set\n // Prioritize Multivariant Playlist offset so that main, audio, and subtitle stream-controller start times match\n var offsetInMultivariantPlaylist = this.startTimeOffset !== null;\n var startTimeOffset = offsetInMultivariantPlaylist ? this.startTimeOffset : details.startTimeOffset;\n if (startTimeOffset !== null && isFiniteNumber(startTimeOffset)) {\n startPosition = sliding + startTimeOffset;\n if (startTimeOffset < 0) {\n startPosition += details.totalduration;\n }\n startPosition = Math.min(Math.max(sliding, startPosition), sliding + details.totalduration);\n this.log(\"Start time offset \" + startTimeOffset + \" found in \" + (offsetInMultivariantPlaylist ? 'multivariant' : 'media') + \" playlist, adjust startPosition to \" + startPosition);\n this.startPosition = startPosition;\n } else if (details.live) {\n // Leave this.startPosition at -1, so that we can use `getInitialLiveFragment` logic when startPosition has\n // not been specified via the config or an as an argument to startLoad (#3736).\n startPosition = this.hls.liveSyncPosition || sliding;\n } else {\n this.startPosition = startPosition = 0;\n }\n this.lastCurrentTime = startPosition;\n }\n this.nextLoadPosition = startPosition;\n };\n _proto.getLoadPosition = function getLoadPosition() {\n var media = this.media;\n // if we have not yet loaded any fragment, start loading from start position\n var pos = 0;\n if (this.loadedmetadata && media) {\n pos = media.currentTime;\n } else if (this.nextLoadPosition) {\n pos = this.nextLoadPosition;\n }\n return pos;\n };\n _proto.handleFragLoadAborted = function handleFragLoadAborted(frag, part) {\n if (this.transmuxer && frag.sn !== 'initSegment' && frag.stats.aborted) {\n this.warn(\"Fragment \" + frag.sn + (part ? ' part ' + part.index : '') + \" of level \" + frag.level + \" was aborted\");\n this.resetFragmentLoading(frag);\n }\n };\n _proto.resetFragmentLoading = function resetFragmentLoading(frag) {\n if (!this.fragCurrent || !this.fragContextChanged(frag) && this.state !== State.FRAG_LOADING_WAITING_RETRY) {\n this.state = State.IDLE;\n }\n };\n _proto.onFragmentOrKeyLoadError = function onFragmentOrKeyLoadError(filterType, data) {\n if (data.chunkMeta && !data.frag) {\n var context = this.getCurrentContext(data.chunkMeta);\n if (context) {\n data.frag = context.frag;\n }\n }\n var frag = data.frag;\n // Handle frag error related to caller's filterType\n if (!frag || frag.type !== filterType || !this.levels) {\n return;\n }\n if (this.fragContextChanged(frag)) {\n var _this$fragCurrent2;\n this.warn(\"Frag load error must match current frag to retry \" + frag.url + \" > \" + ((_this$fragCurrent2 = this.fragCurrent) == null ? void 0 : _this$fragCurrent2.url));\n return;\n }\n var gapTagEncountered = data.details === ErrorDetails.FRAG_GAP;\n if (gapTagEncountered) {\n this.fragmentTracker.fragBuffered(frag, true);\n }\n // keep retrying until the limit will be reached\n var errorAction = data.errorAction;\n var _ref2 = errorAction || {},\n action = _ref2.action,\n _ref2$retryCount = _ref2.retryCount,\n retryCount = _ref2$retryCount === void 0 ? 0 : _ref2$retryCount,\n retryConfig = _ref2.retryConfig;\n if (errorAction && action === NetworkErrorAction.RetryRequest && retryConfig) {\n this.resetStartWhenNotLoaded(this.levelLastLoaded);\n var delay = getRetryDelay(retryConfig, retryCount);\n this.warn(\"Fragment \" + frag.sn + \" of \" + filterType + \" \" + frag.level + \" errored with \" + data.details + \", retrying loading \" + (retryCount + 1) + \"/\" + retryConfig.maxNumRetry + \" in \" + delay + \"ms\");\n errorAction.resolved = true;\n this.retryDate = self.performance.now() + delay;\n this.state = State.FRAG_LOADING_WAITING_RETRY;\n } else if (retryConfig && errorAction) {\n this.resetFragmentErrors(filterType);\n if (retryCount < retryConfig.maxNumRetry) {\n // Network retry is skipped when level switch is preferred\n if (!gapTagEncountered && action !== NetworkErrorAction.RemoveAlternatePermanently) {\n errorAction.resolved = true;\n }\n } else {\n logger.warn(data.details + \" reached or exceeded max retry (\" + retryCount + \")\");\n return;\n }\n } else if ((errorAction == null ? void 0 : errorAction.action) === NetworkErrorAction.SendAlternateToPenaltyBox) {\n this.state = State.WAITING_LEVEL;\n } else {\n this.state = State.ERROR;\n }\n // Perform next async tick sooner to speed up error action resolution\n this.tickImmediate();\n };\n _proto.reduceLengthAndFlushBuffer = function reduceLengthAndFlushBuffer(data) {\n // if in appending state\n if (this.state === State.PARSING || this.state === State.PARSED) {\n var playlistType = data.parent;\n var bufferedInfo = this.getFwdBufferInfo(this.mediaBuffer, playlistType);\n // 0.5 : tolerance needed as some browsers stalls playback before reaching buffered end\n // reduce max buf len if current position is buffered\n var buffered = bufferedInfo && bufferedInfo.len > 0.5;\n if (buffered) {\n this.reduceMaxBufferLength(bufferedInfo.len);\n }\n var flushBuffer = !buffered;\n if (flushBuffer) {\n // current position is not buffered, but browser is still complaining about buffer full error\n // this happens on IE/Edge, refer to https://github.com/video-dev/hls.js/pull/708\n // in that case flush the whole audio buffer to recover\n this.warn(\"Buffer full error while media.currentTime is not buffered, flush \" + playlistType + \" buffer\");\n }\n if (data.frag) {\n this.fragmentTracker.removeFragment(data.frag);\n this.nextLoadPosition = data.frag.start;\n }\n this.resetLoadingState();\n return flushBuffer;\n }\n return false;\n };\n _proto.resetFragmentErrors = function resetFragmentErrors(filterType) {\n if (filterType === PlaylistLevelType.AUDIO) {\n // Reset current fragment since audio track audio is essential and may not have a fail-over track\n this.fragCurrent = null;\n }\n // Fragment errors that result in a level switch or redundant fail-over\n // should reset the stream controller state to idle\n if (!this.loadedmetadata) {\n this.startFragRequested = false;\n }\n if (this.state !== State.STOPPED) {\n this.state = State.IDLE;\n }\n };\n _proto.afterBufferFlushed = function afterBufferFlushed(media, bufferType, playlistType) {\n if (!media) {\n return;\n }\n // After successful buffer flushing, filter flushed fragments from bufferedFrags use mediaBuffered instead of media\n // (so that we will check against video.buffered ranges in case of alt audio track)\n var bufferedTimeRanges = BufferHelper.getBuffered(media);\n this.fragmentTracker.detectEvictedFragments(bufferType, bufferedTimeRanges, playlistType);\n if (this.state === State.ENDED) {\n this.resetLoadingState();\n }\n };\n _proto.resetLoadingState = function resetLoadingState() {\n this.log('Reset loading state');\n this.fragCurrent = null;\n this.fragPrevious = null;\n this.state = State.IDLE;\n };\n _proto.resetStartWhenNotLoaded = function resetStartWhenNotLoaded(level) {\n // if loadedmetadata is not set, it means that first frag request failed\n // in that case, reset startFragRequested flag\n if (!this.loadedmetadata) {\n this.startFragRequested = false;\n var details = level ? level.details : null;\n if (details != null && details.live) {\n // Update the start position and return to IDLE to recover live start\n this.startPosition = -1;\n this.setStartPosition(details, 0);\n this.resetLoadingState();\n } else {\n this.nextLoadPosition = this.startPosition;\n }\n }\n };\n _proto.resetWhenMissingContext = function resetWhenMissingContext(chunkMeta) {\n this.warn(\"The loading context changed while buffering fragment \" + chunkMeta.sn + \" of level \" + chunkMeta.level + \". This chunk will not be buffered.\");\n this.removeUnbufferedFrags();\n this.resetStartWhenNotLoaded(this.levelLastLoaded);\n this.resetLoadingState();\n };\n _proto.removeUnbufferedFrags = function removeUnbufferedFrags(start) {\n if (start === void 0) {\n start = 0;\n }\n this.fragmentTracker.removeFragmentsInRange(start, Infinity, this.playlistType, false, true);\n };\n _proto.updateLevelTiming = function updateLevelTiming(frag, part, level, partial) {\n var _this6 = this,\n _this$transmuxer;\n var details = level.details;\n if (!details) {\n this.warn('level.details undefined');\n return;\n }\n var parsed = Object.keys(frag.elementaryStreams).reduce(function (result, type) {\n var info = frag.elementaryStreams[type];\n if (info) {\n var parsedDuration = info.endPTS - info.startPTS;\n if (parsedDuration <= 0) {\n // Destroy the transmuxer after it's next time offset failed to advance because duration was <= 0.\n // The new transmuxer will be configured with a time offset matching the next fragment start,\n // preventing the timeline from shifting.\n _this6.warn(\"Could not parse fragment \" + frag.sn + \" \" + type + \" duration reliably (\" + parsedDuration + \")\");\n return result || false;\n }\n var drift = partial ? 0 : updateFragPTSDTS(details, frag, info.startPTS, info.endPTS, info.startDTS, info.endDTS);\n _this6.hls.trigger(Events.LEVEL_PTS_UPDATED, {\n details: details,\n level: level,\n drift: drift,\n type: type,\n frag: frag,\n start: info.startPTS,\n end: info.endPTS\n });\n return true;\n }\n return result;\n }, false);\n if (!parsed && ((_this$transmuxer = this.transmuxer) == null ? void 0 : _this$transmuxer.error) === null) {\n var error = new Error(\"Found no media in fragment \" + frag.sn + \" of level \" + frag.level + \" resetting transmuxer to fallback to playlist timing\");\n if (level.fragmentError === 0) {\n // Mark and track the odd empty segment as a gap to avoid reloading\n level.fragmentError++;\n frag.gap = true;\n this.fragmentTracker.removeFragment(frag);\n this.fragmentTracker.fragBuffered(frag, true);\n }\n this.warn(error.message);\n this.hls.trigger(Events.ERROR, {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.FRAG_PARSING_ERROR,\n fatal: false,\n error: error,\n frag: frag,\n reason: \"Found no media in msn \" + frag.sn + \" of level \\\"\" + level.url + \"\\\"\"\n });\n if (!this.hls) {\n return;\n }\n this.resetTransmuxer();\n // For this error fallthrough. Marking parsed will allow advancing to next fragment.\n }\n this.state = State.PARSED;\n this.hls.trigger(Events.FRAG_PARSED, {\n frag: frag,\n part: part\n });\n };\n _proto.resetTransmuxer = function resetTransmuxer() {\n if (this.transmuxer) {\n this.transmuxer.destroy();\n this.transmuxer = null;\n }\n };\n _proto.recoverWorkerError = function recoverWorkerError(data) {\n if (data.event === 'demuxerWorker') {\n this.fragmentTracker.removeAllFragments();\n this.resetTransmuxer();\n this.resetStartWhenNotLoaded(this.levelLastLoaded);\n this.resetLoadingState();\n }\n };\n _createClass(BaseStreamController, [{\n key: \"state\",\n get: function get() {\n return this._state;\n },\n set: function set(nextState) {\n var previousState = this._state;\n if (previousState !== nextState) {\n this._state = nextState;\n this.log(previousState + \"->\" + nextState);\n }\n }\n }]);\n return BaseStreamController;\n }(TaskLoop);\n\n var ChunkCache = /*#__PURE__*/function () {\n function ChunkCache() {\n this.chunks = [];\n this.dataLength = 0;\n }\n var _proto = ChunkCache.prototype;\n _proto.push = function push(chunk) {\n this.chunks.push(chunk);\n this.dataLength += chunk.length;\n };\n _proto.flush = function flush() {\n var chunks = this.chunks,\n dataLength = this.dataLength;\n var result;\n if (!chunks.length) {\n return new Uint8Array(0);\n } else if (chunks.length === 1) {\n result = chunks[0];\n } else {\n result = concatUint8Arrays(chunks, dataLength);\n }\n this.reset();\n return result;\n };\n _proto.reset = function reset() {\n this.chunks.length = 0;\n this.dataLength = 0;\n };\n return ChunkCache;\n }();\n function concatUint8Arrays(chunks, dataLength) {\n var result = new Uint8Array(dataLength);\n var offset = 0;\n for (var i = 0; i < chunks.length; i++) {\n var chunk = chunks[i];\n result.set(chunk, offset);\n offset += chunk.length;\n }\n return result;\n }\n\n function dummyTrack(type, inputTimeScale) {\n if (type === void 0) {\n type = '';\n }\n if (inputTimeScale === void 0) {\n inputTimeScale = 90000;\n }\n return {\n type: type,\n id: -1,\n pid: -1,\n inputTimeScale: inputTimeScale,\n sequenceNumber: -1,\n samples: [],\n dropped: 0\n };\n }\n\n var BaseAudioDemuxer = /*#__PURE__*/function () {\n function BaseAudioDemuxer() {\n this._audioTrack = void 0;\n this._id3Track = void 0;\n this.frameIndex = 0;\n this.cachedData = null;\n this.basePTS = null;\n this.initPTS = null;\n this.lastPTS = null;\n }\n var _proto = BaseAudioDemuxer.prototype;\n _proto.resetInitSegment = function resetInitSegment(initSegment, audioCodec, videoCodec, trackDuration) {\n this._id3Track = {\n type: 'id3',\n id: 3,\n pid: -1,\n inputTimeScale: 90000,\n sequenceNumber: 0,\n samples: [],\n dropped: 0\n };\n };\n _proto.resetTimeStamp = function resetTimeStamp(deaultTimestamp) {\n this.initPTS = deaultTimestamp;\n this.resetContiguity();\n };\n _proto.resetContiguity = function resetContiguity() {\n this.basePTS = null;\n this.lastPTS = null;\n this.frameIndex = 0;\n };\n _proto.canParse = function canParse(data, offset) {\n return false;\n };\n _proto.appendFrame = function appendFrame(track, data, offset) {}\n\n // feed incoming data to the front of the parsing pipeline\n ;\n _proto.demux = function demux(data, timeOffset) {\n if (this.cachedData) {\n data = appendUint8Array(this.cachedData, data);\n this.cachedData = null;\n }\n var id3Data = getID3Data(data, 0);\n var offset = id3Data ? id3Data.length : 0;\n var lastDataIndex;\n var track = this._audioTrack;\n var id3Track = this._id3Track;\n var timestamp = id3Data ? getTimeStamp(id3Data) : undefined;\n var length = data.length;\n if (this.basePTS === null || this.frameIndex === 0 && isFiniteNumber(timestamp)) {\n this.basePTS = initPTSFn(timestamp, timeOffset, this.initPTS);\n this.lastPTS = this.basePTS;\n }\n if (this.lastPTS === null) {\n this.lastPTS = this.basePTS;\n }\n\n // more expressive than alternative: id3Data?.length\n if (id3Data && id3Data.length > 0) {\n id3Track.samples.push({\n pts: this.lastPTS,\n dts: this.lastPTS,\n data: id3Data,\n type: MetadataSchema.audioId3,\n duration: Number.POSITIVE_INFINITY\n });\n }\n while (offset < length) {\n if (this.canParse(data, offset)) {\n var frame = this.appendFrame(track, data, offset);\n if (frame) {\n this.frameIndex++;\n this.lastPTS = frame.sample.pts;\n offset += frame.length;\n lastDataIndex = offset;\n } else {\n offset = length;\n }\n } else if (canParse$2(data, offset)) {\n // after a ID3.canParse, a call to ID3.getID3Data *should* always returns some data\n id3Data = getID3Data(data, offset);\n id3Track.samples.push({\n pts: this.lastPTS,\n dts: this.lastPTS,\n data: id3Data,\n type: MetadataSchema.audioId3,\n duration: Number.POSITIVE_INFINITY\n });\n offset += id3Data.length;\n lastDataIndex = offset;\n } else {\n offset++;\n }\n if (offset === length && lastDataIndex !== length) {\n var partialData = sliceUint8(data, lastDataIndex);\n if (this.cachedData) {\n this.cachedData = appendUint8Array(this.cachedData, partialData);\n } else {\n this.cachedData = partialData;\n }\n }\n }\n return {\n audioTrack: track,\n videoTrack: dummyTrack(),\n id3Track: id3Track,\n textTrack: dummyTrack()\n };\n };\n _proto.demuxSampleAes = function demuxSampleAes(data, keyData, timeOffset) {\n return Promise.reject(new Error(\"[\" + this + \"] This demuxer does not support Sample-AES decryption\"));\n };\n _proto.flush = function flush(timeOffset) {\n // Parse cache in case of remaining frames.\n var cachedData = this.cachedData;\n if (cachedData) {\n this.cachedData = null;\n this.demux(cachedData, 0);\n }\n return {\n audioTrack: this._audioTrack,\n videoTrack: dummyTrack(),\n id3Track: this._id3Track,\n textTrack: dummyTrack()\n };\n };\n _proto.destroy = function destroy() {};\n return BaseAudioDemuxer;\n }();\n /**\n * Initialize PTS\n * <p>\n * use timestamp unless it is undefined, NaN or Infinity\n * </p>\n */\n var initPTSFn = function initPTSFn(timestamp, timeOffset, initPTS) {\n if (isFiniteNumber(timestamp)) {\n return timestamp * 90;\n }\n var init90kHz = initPTS ? initPTS.baseTime * 90000 / initPTS.timescale : 0;\n return timeOffset * 90000 + init90kHz;\n };\n\n /**\n * ADTS parser helper\n * @link https://wiki.multimedia.cx/index.php?title=ADTS\n */\n function getAudioConfig(observer, data, offset, audioCodec) {\n var adtsObjectType;\n var adtsExtensionSamplingIndex;\n var adtsChannelConfig;\n var config;\n var userAgent = navigator.userAgent.toLowerCase();\n var manifestCodec = audioCodec;\n var adtsSamplingRates = [96000, 88200, 64000, 48000, 44100, 32000, 24000, 22050, 16000, 12000, 11025, 8000, 7350];\n // byte 2\n adtsObjectType = ((data[offset + 2] & 0xc0) >>> 6) + 1;\n var adtsSamplingIndex = (data[offset + 2] & 0x3c) >>> 2;\n if (adtsSamplingIndex > adtsSamplingRates.length - 1) {\n var error = new Error(\"invalid ADTS sampling index:\" + adtsSamplingIndex);\n observer.emit(Events.ERROR, Events.ERROR, {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.FRAG_PARSING_ERROR,\n fatal: true,\n error: error,\n reason: error.message\n });\n return;\n }\n adtsChannelConfig = (data[offset + 2] & 0x01) << 2;\n // byte 3\n adtsChannelConfig |= (data[offset + 3] & 0xc0) >>> 6;\n logger.log(\"manifest codec:\" + audioCodec + \", ADTS type:\" + adtsObjectType + \", samplingIndex:\" + adtsSamplingIndex);\n // firefox: freq less than 24kHz = AAC SBR (HE-AAC)\n if (/firefox/i.test(userAgent)) {\n if (adtsSamplingIndex >= 6) {\n adtsObjectType = 5;\n config = new Array(4);\n // HE-AAC uses SBR (Spectral Band Replication) , high frequencies are constructed from low frequencies\n // there is a factor 2 between frame sample rate and output sample rate\n // multiply frequency by 2 (see table below, equivalent to substract 3)\n adtsExtensionSamplingIndex = adtsSamplingIndex - 3;\n } else {\n adtsObjectType = 2;\n config = new Array(2);\n adtsExtensionSamplingIndex = adtsSamplingIndex;\n }\n // Android : always use AAC\n } else if (userAgent.indexOf('android') !== -1) {\n adtsObjectType = 2;\n config = new Array(2);\n adtsExtensionSamplingIndex = adtsSamplingIndex;\n } else {\n /* for other browsers (Chrome/Vivaldi/Opera ...)\n always force audio type to be HE-AAC SBR, as some browsers do not support audio codec switch properly (like Chrome ...)\n */\n adtsObjectType = 5;\n config = new Array(4);\n // if (manifest codec is HE-AAC or HE-AACv2) OR (manifest codec not specified AND frequency less than 24kHz)\n if (audioCodec && (audioCodec.indexOf('mp4a.40.29') !== -1 || audioCodec.indexOf('mp4a.40.5') !== -1) || !audioCodec && adtsSamplingIndex >= 6) {\n // HE-AAC uses SBR (Spectral Band Replication) , high frequencies are constructed from low frequencies\n // there is a factor 2 between frame sample rate and output sample rate\n // multiply frequency by 2 (see table below, equivalent to substract 3)\n adtsExtensionSamplingIndex = adtsSamplingIndex - 3;\n } else {\n // if (manifest codec is AAC) AND (frequency less than 24kHz AND nb channel is 1) OR (manifest codec not specified and mono audio)\n // Chrome fails to play back with low frequency AAC LC mono when initialized with HE-AAC. This is not a problem with stereo.\n if (audioCodec && audioCodec.indexOf('mp4a.40.2') !== -1 && (adtsSamplingIndex >= 6 && adtsChannelConfig === 1 || /vivaldi/i.test(userAgent)) || !audioCodec && adtsChannelConfig === 1) {\n adtsObjectType = 2;\n config = new Array(2);\n }\n adtsExtensionSamplingIndex = adtsSamplingIndex;\n }\n }\n /* refer to http://wiki.multimedia.cx/index.php?title=MPEG-4_Audio#Audio_Specific_Config\n ISO 14496-3 (AAC).pdf - Table 1.13 — Syntax of AudioSpecificConfig()\n Audio Profile / Audio Object Type\n 0: Null\n 1: AAC Main\n 2: AAC LC (Low Complexity)\n 3: AAC SSR (Scalable Sample Rate)\n 4: AAC LTP (Long Term Prediction)\n 5: SBR (Spectral Band Replication)\n 6: AAC Scalable\n sampling freq\n 0: 96000 Hz\n 1: 88200 Hz\n 2: 64000 Hz\n 3: 48000 Hz\n 4: 44100 Hz\n 5: 32000 Hz\n 6: 24000 Hz\n 7: 22050 Hz\n 8: 16000 Hz\n 9: 12000 Hz\n 10: 11025 Hz\n 11: 8000 Hz\n 12: 7350 Hz\n 13: Reserved\n 14: Reserved\n 15: frequency is written explictly\n Channel Configurations\n These are the channel configurations:\n 0: Defined in AOT Specifc Config\n 1: 1 channel: front-center\n 2: 2 channels: front-left, front-right\n */\n // audioObjectType = profile => profile, the MPEG-4 Audio Object Type minus 1\n config[0] = adtsObjectType << 3;\n // samplingFrequencyIndex\n config[0] |= (adtsSamplingIndex & 0x0e) >> 1;\n config[1] |= (adtsSamplingIndex & 0x01) << 7;\n // channelConfiguration\n config[1] |= adtsChannelConfig << 3;\n if (adtsObjectType === 5) {\n // adtsExtensionSamplingIndex\n config[1] |= (adtsExtensionSamplingIndex & 0x0e) >> 1;\n config[2] = (adtsExtensionSamplingIndex & 0x01) << 7;\n // adtsObjectType (force to 2, chrome is checking that object type is less than 5 ???\n // https://chromium.googlesource.com/chromium/src.git/+/master/media/formats/mp4/aac.cc\n config[2] |= 2 << 2;\n config[3] = 0;\n }\n return {\n config: config,\n samplerate: adtsSamplingRates[adtsSamplingIndex],\n channelCount: adtsChannelConfig,\n codec: 'mp4a.40.' + adtsObjectType,\n manifestCodec: manifestCodec\n };\n }\n function isHeaderPattern$1(data, offset) {\n return data[offset] === 0xff && (data[offset + 1] & 0xf6) === 0xf0;\n }\n function getHeaderLength(data, offset) {\n return data[offset + 1] & 0x01 ? 7 : 9;\n }\n function getFullFrameLength(data, offset) {\n return (data[offset + 3] & 0x03) << 11 | data[offset + 4] << 3 | (data[offset + 5] & 0xe0) >>> 5;\n }\n function canGetFrameLength(data, offset) {\n return offset + 5 < data.length;\n }\n function isHeader$1(data, offset) {\n // Look for ADTS header | 1111 1111 | 1111 X00X | where X can be either 0 or 1\n // Layer bits (position 14 and 15) in header should be always 0 for ADTS\n // More info https://wiki.multimedia.cx/index.php?title=ADTS\n return offset + 1 < data.length && isHeaderPattern$1(data, offset);\n }\n function canParse$1(data, offset) {\n return canGetFrameLength(data, offset) && isHeaderPattern$1(data, offset) && getFullFrameLength(data, offset) <= data.length - offset;\n }\n function probe$1(data, offset) {\n // same as isHeader but we also check that ADTS frame follows last ADTS frame\n // or end of data is reached\n if (isHeader$1(data, offset)) {\n // ADTS header Length\n var headerLength = getHeaderLength(data, offset);\n if (offset + headerLength >= data.length) {\n return false;\n }\n // ADTS frame Length\n var frameLength = getFullFrameLength(data, offset);\n if (frameLength <= headerLength) {\n return false;\n }\n var newOffset = offset + frameLength;\n return newOffset === data.length || isHeader$1(data, newOffset);\n }\n return false;\n }\n function initTrackConfig(track, observer, data, offset, audioCodec) {\n if (!track.samplerate) {\n var config = getAudioConfig(observer, data, offset, audioCodec);\n if (!config) {\n return;\n }\n track.config = config.config;\n track.samplerate = config.samplerate;\n track.channelCount = config.channelCount;\n track.codec = config.codec;\n track.manifestCodec = config.manifestCodec;\n logger.log(\"parsed codec:\" + track.codec + \", rate:\" + config.samplerate + \", channels:\" + config.channelCount);\n }\n }\n function getFrameDuration(samplerate) {\n return 1024 * 90000 / samplerate;\n }\n function parseFrameHeader(data, offset) {\n // The protection skip bit tells us if we have 2 bytes of CRC data at the end of the ADTS header\n var headerLength = getHeaderLength(data, offset);\n if (offset + headerLength <= data.length) {\n // retrieve frame size\n var frameLength = getFullFrameLength(data, offset) - headerLength;\n if (frameLength > 0) {\n // logger.log(`AAC frame, offset/length/total/pts:${offset+headerLength}/${frameLength}/${data.byteLength}`);\n return {\n headerLength: headerLength,\n frameLength: frameLength\n };\n }\n }\n }\n function appendFrame$1(track, data, offset, pts, frameIndex) {\n var frameDuration = getFrameDuration(track.samplerate);\n var stamp = pts + frameIndex * frameDuration;\n var header = parseFrameHeader(data, offset);\n var unit;\n if (header) {\n var frameLength = header.frameLength,\n headerLength = header.headerLength;\n var _length = headerLength + frameLength;\n var missing = Math.max(0, offset + _length - data.length);\n // logger.log(`AAC frame ${frameIndex}, pts:${stamp} length@offset/total: ${frameLength}@${offset+headerLength}/${data.byteLength} missing: ${missing}`);\n if (missing) {\n unit = new Uint8Array(_length - headerLength);\n unit.set(data.subarray(offset + headerLength, data.length), 0);\n } else {\n unit = data.subarray(offset + headerLength, offset + _length);\n }\n var _sample = {\n unit: unit,\n pts: stamp\n };\n if (!missing) {\n track.samples.push(_sample);\n }\n return {\n sample: _sample,\n length: _length,\n missing: missing\n };\n }\n // overflow incomplete header\n var length = data.length - offset;\n unit = new Uint8Array(length);\n unit.set(data.subarray(offset, data.length), 0);\n var sample = {\n unit: unit,\n pts: stamp\n };\n return {\n sample: sample,\n length: length,\n missing: -1\n };\n }\n\n /**\n * MPEG parser helper\n */\n\n var chromeVersion$1 = null;\n var BitratesMap = [32, 64, 96, 128, 160, 192, 224, 256, 288, 320, 352, 384, 416, 448, 32, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320, 384, 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320, 32, 48, 56, 64, 80, 96, 112, 128, 144, 160, 176, 192, 224, 256, 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160];\n var SamplingRateMap = [44100, 48000, 32000, 22050, 24000, 16000, 11025, 12000, 8000];\n var SamplesCoefficients = [\n // MPEG 2.5\n [0,\n // Reserved\n 72,\n // Layer3\n 144,\n // Layer2\n 12 // Layer1\n ],\n // Reserved\n [0,\n // Reserved\n 0,\n // Layer3\n 0,\n // Layer2\n 0 // Layer1\n ],\n // MPEG 2\n [0,\n // Reserved\n 72,\n // Layer3\n 144,\n // Layer2\n 12 // Layer1\n ],\n // MPEG 1\n [0,\n // Reserved\n 144,\n // Layer3\n 144,\n // Layer2\n 12 // Layer1\n ]];\n var BytesInSlot = [0,\n // Reserved\n 1,\n // Layer3\n 1,\n // Layer2\n 4 // Layer1\n ];\n function appendFrame(track, data, offset, pts, frameIndex) {\n // Using http://www.datavoyage.com/mpgscript/mpeghdr.htm as a reference\n if (offset + 24 > data.length) {\n return;\n }\n var header = parseHeader(data, offset);\n if (header && offset + header.frameLength <= data.length) {\n var frameDuration = header.samplesPerFrame * 90000 / header.sampleRate;\n var stamp = pts + frameIndex * frameDuration;\n var sample = {\n unit: data.subarray(offset, offset + header.frameLength),\n pts: stamp,\n dts: stamp\n };\n track.config = [];\n track.channelCount = header.channelCount;\n track.samplerate = header.sampleRate;\n track.samples.push(sample);\n return {\n sample: sample,\n length: header.frameLength,\n missing: 0\n };\n }\n }\n function parseHeader(data, offset) {\n var mpegVersion = data[offset + 1] >> 3 & 3;\n var mpegLayer = data[offset + 1] >> 1 & 3;\n var bitRateIndex = data[offset + 2] >> 4 & 15;\n var sampleRateIndex = data[offset + 2] >> 2 & 3;\n if (mpegVersion !== 1 && bitRateIndex !== 0 && bitRateIndex !== 15 && sampleRateIndex !== 3) {\n var paddingBit = data[offset + 2] >> 1 & 1;\n var channelMode = data[offset + 3] >> 6;\n var columnInBitrates = mpegVersion === 3 ? 3 - mpegLayer : mpegLayer === 3 ? 3 : 4;\n var bitRate = BitratesMap[columnInBitrates * 14 + bitRateIndex - 1] * 1000;\n var columnInSampleRates = mpegVersion === 3 ? 0 : mpegVersion === 2 ? 1 : 2;\n var sampleRate = SamplingRateMap[columnInSampleRates * 3 + sampleRateIndex];\n var channelCount = channelMode === 3 ? 1 : 2; // If bits of channel mode are `11` then it is a single channel (Mono)\n var sampleCoefficient = SamplesCoefficients[mpegVersion][mpegLayer];\n var bytesInSlot = BytesInSlot[mpegLayer];\n var samplesPerFrame = sampleCoefficient * 8 * bytesInSlot;\n var frameLength = Math.floor(sampleCoefficient * bitRate / sampleRate + paddingBit) * bytesInSlot;\n if (chromeVersion$1 === null) {\n var userAgent = navigator.userAgent || '';\n var result = userAgent.match(/Chrome\\/(\\d+)/i);\n chromeVersion$1 = result ? parseInt(result[1]) : 0;\n }\n var needChromeFix = !!chromeVersion$1 && chromeVersion$1 <= 87;\n if (needChromeFix && mpegLayer === 2 && bitRate >= 224000 && channelMode === 0) {\n // Work around bug in Chromium by setting channelMode to dual-channel (01) instead of stereo (00)\n data[offset + 3] = data[offset + 3] | 0x80;\n }\n return {\n sampleRate: sampleRate,\n channelCount: channelCount,\n frameLength: frameLength,\n samplesPerFrame: samplesPerFrame\n };\n }\n }\n function isHeaderPattern(data, offset) {\n return data[offset] === 0xff && (data[offset + 1] & 0xe0) === 0xe0 && (data[offset + 1] & 0x06) !== 0x00;\n }\n function isHeader(data, offset) {\n // Look for MPEG header | 1111 1111 | 111X XYZX | where X can be either 0 or 1 and Y or Z should be 1\n // Layer bits (position 14 and 15) in header should be always different from 0 (Layer I or Layer II or Layer III)\n // More info http://www.mp3-tech.org/programmer/frame_header.html\n return offset + 1 < data.length && isHeaderPattern(data, offset);\n }\n function canParse(data, offset) {\n var headerSize = 4;\n return isHeaderPattern(data, offset) && headerSize <= data.length - offset;\n }\n function probe(data, offset) {\n // same as isHeader but we also check that MPEG frame follows last MPEG frame\n // or end of data is reached\n if (offset + 1 < data.length && isHeaderPattern(data, offset)) {\n // MPEG header Length\n var headerLength = 4;\n // MPEG frame Length\n var header = parseHeader(data, offset);\n var frameLength = headerLength;\n if (header != null && header.frameLength) {\n frameLength = header.frameLength;\n }\n var newOffset = offset + frameLength;\n return newOffset === data.length || isHeader(data, newOffset);\n }\n return false;\n }\n\n var AACDemuxer = /*#__PURE__*/function (_BaseAudioDemuxer) {\n _inheritsLoose(AACDemuxer, _BaseAudioDemuxer);\n function AACDemuxer(observer, config) {\n var _this;\n _this = _BaseAudioDemuxer.call(this) || this;\n _this.observer = void 0;\n _this.config = void 0;\n _this.observer = observer;\n _this.config = config;\n return _this;\n }\n var _proto = AACDemuxer.prototype;\n _proto.resetInitSegment = function resetInitSegment(initSegment, audioCodec, videoCodec, trackDuration) {\n _BaseAudioDemuxer.prototype.resetInitSegment.call(this, initSegment, audioCodec, videoCodec, trackDuration);\n this._audioTrack = {\n container: 'audio/adts',\n type: 'audio',\n id: 2,\n pid: -1,\n sequenceNumber: 0,\n segmentCodec: 'aac',\n samples: [],\n manifestCodec: audioCodec,\n duration: trackDuration,\n inputTimeScale: 90000,\n dropped: 0\n };\n }\n\n // Source for probe info - https://wiki.multimedia.cx/index.php?title=ADTS\n ;\n AACDemuxer.probe = function probe$2(data) {\n if (!data) {\n return false;\n }\n\n // Check for the ADTS sync word\n // Look for ADTS header | 1111 1111 | 1111 X00X | where X can be either 0 or 1\n // Layer bits (position 14 and 15) in header should be always 0 for ADTS\n // More info https://wiki.multimedia.cx/index.php?title=ADTS\n var id3Data = getID3Data(data, 0);\n var offset = (id3Data == null ? void 0 : id3Data.length) || 0;\n if (probe(data, offset)) {\n return false;\n }\n for (var length = data.length; offset < length; offset++) {\n if (probe$1(data, offset)) {\n logger.log('ADTS sync word found !');\n return true;\n }\n }\n return false;\n };\n _proto.canParse = function canParse(data, offset) {\n return canParse$1(data, offset);\n };\n _proto.appendFrame = function appendFrame(track, data, offset) {\n initTrackConfig(track, this.observer, data, offset, track.manifestCodec);\n var frame = appendFrame$1(track, data, offset, this.basePTS, this.frameIndex);\n if (frame && frame.missing === 0) {\n return frame;\n }\n };\n return AACDemuxer;\n }(BaseAudioDemuxer);\n\n var emsgSchemePattern = /\\/emsg[-/]ID3/i;\n var MP4Demuxer = /*#__PURE__*/function () {\n function MP4Demuxer(observer, config) {\n this.remainderData = null;\n this.timeOffset = 0;\n this.config = void 0;\n this.videoTrack = void 0;\n this.audioTrack = void 0;\n this.id3Track = void 0;\n this.txtTrack = void 0;\n this.config = config;\n }\n var _proto = MP4Demuxer.prototype;\n _proto.resetTimeStamp = function resetTimeStamp() {};\n _proto.resetInitSegment = function resetInitSegment(initSegment, audioCodec, videoCodec, trackDuration) {\n var videoTrack = this.videoTrack = dummyTrack('video', 1);\n var audioTrack = this.audioTrack = dummyTrack('audio', 1);\n var captionTrack = this.txtTrack = dummyTrack('text', 1);\n this.id3Track = dummyTrack('id3', 1);\n this.timeOffset = 0;\n if (!(initSegment != null && initSegment.byteLength)) {\n return;\n }\n var initData = parseInitSegment(initSegment);\n if (initData.video) {\n var _initData$video = initData.video,\n id = _initData$video.id,\n timescale = _initData$video.timescale,\n codec = _initData$video.codec;\n videoTrack.id = id;\n videoTrack.timescale = captionTrack.timescale = timescale;\n videoTrack.codec = codec;\n }\n if (initData.audio) {\n var _initData$audio = initData.audio,\n _id = _initData$audio.id,\n _timescale = _initData$audio.timescale,\n _codec = _initData$audio.codec;\n audioTrack.id = _id;\n audioTrack.timescale = _timescale;\n audioTrack.codec = _codec;\n }\n captionTrack.id = RemuxerTrackIdConfig.text;\n videoTrack.sampleDuration = 0;\n videoTrack.duration = audioTrack.duration = trackDuration;\n };\n _proto.resetContiguity = function resetContiguity() {\n this.remainderData = null;\n };\n MP4Demuxer.probe = function probe(data) {\n return hasMoofData(data);\n };\n _proto.demux = function demux(data, timeOffset) {\n this.timeOffset = timeOffset;\n // Load all data into the avc track. The CMAF remuxer will look for the data in the samples object; the rest of the fields do not matter\n var videoSamples = data;\n var videoTrack = this.videoTrack;\n var textTrack = this.txtTrack;\n if (this.config.progressive) {\n // Split the bytestream into two ranges: one encompassing all data up until the start of the last moof, and everything else.\n // This is done to guarantee that we're sending valid data to MSE - when demuxing progressively, we have no guarantee\n // that the fetch loader gives us flush moof+mdat pairs. If we push jagged data to MSE, it will throw an exception.\n if (this.remainderData) {\n videoSamples = appendUint8Array(this.remainderData, data);\n }\n var segmentedData = segmentValidRange(videoSamples);\n this.remainderData = segmentedData.remainder;\n videoTrack.samples = segmentedData.valid || new Uint8Array();\n } else {\n videoTrack.samples = videoSamples;\n }\n var id3Track = this.extractID3Track(videoTrack, timeOffset);\n textTrack.samples = parseSamples(timeOffset, videoTrack);\n return {\n videoTrack: videoTrack,\n audioTrack: this.audioTrack,\n id3Track: id3Track,\n textTrack: this.txtTrack\n };\n };\n _proto.flush = function flush() {\n var timeOffset = this.timeOffset;\n var videoTrack = this.videoTrack;\n var textTrack = this.txtTrack;\n videoTrack.samples = this.remainderData || new Uint8Array();\n this.remainderData = null;\n var id3Track = this.extractID3Track(videoTrack, this.timeOffset);\n textTrack.samples = parseSamples(timeOffset, videoTrack);\n return {\n videoTrack: videoTrack,\n audioTrack: dummyTrack(),\n id3Track: id3Track,\n textTrack: dummyTrack()\n };\n };\n _proto.extractID3Track = function extractID3Track(videoTrack, timeOffset) {\n var id3Track = this.id3Track;\n if (videoTrack.samples.length) {\n var emsgs = findBox(videoTrack.samples, ['emsg']);\n if (emsgs) {\n emsgs.forEach(function (data) {\n var emsgInfo = parseEmsg(data);\n if (emsgSchemePattern.test(emsgInfo.schemeIdUri)) {\n var pts = isFiniteNumber(emsgInfo.presentationTime) ? emsgInfo.presentationTime / emsgInfo.timeScale : timeOffset + emsgInfo.presentationTimeDelta / emsgInfo.timeScale;\n var duration = emsgInfo.eventDuration === 0xffffffff ? Number.POSITIVE_INFINITY : emsgInfo.eventDuration / emsgInfo.timeScale;\n // Safari takes anything <= 0.001 seconds and maps it to Infinity\n if (duration <= 0.001) {\n duration = Number.POSITIVE_INFINITY;\n }\n var payload = emsgInfo.payload;\n id3Track.samples.push({\n data: payload,\n len: payload.byteLength,\n dts: pts,\n pts: pts,\n type: MetadataSchema.emsg,\n duration: duration\n });\n }\n });\n }\n }\n return id3Track;\n };\n _proto.demuxSampleAes = function demuxSampleAes(data, keyData, timeOffset) {\n return Promise.reject(new Error('The MP4 demuxer does not support SAMPLE-AES decryption'));\n };\n _proto.destroy = function destroy() {};\n return MP4Demuxer;\n }();\n\n var getAudioBSID = function getAudioBSID(data, offset) {\n // check the bsid to confirm ac-3 | ec-3\n var bsid = 0;\n var numBits = 5;\n offset += numBits;\n var temp = new Uint32Array(1); // unsigned 32 bit for temporary storage\n var mask = new Uint32Array(1); // unsigned 32 bit mask value\n var _byte = new Uint8Array(1); // unsigned 8 bit for temporary storage\n while (numBits > 0) {\n _byte[0] = data[offset];\n // read remaining bits, upto 8 bits at a time\n var bits = Math.min(numBits, 8);\n var shift = 8 - bits;\n mask[0] = 0xff000000 >>> 24 + shift << shift;\n temp[0] = (_byte[0] & mask[0]) >> shift;\n bsid = !bsid ? temp[0] : bsid << bits | temp[0];\n offset += 1;\n numBits -= bits;\n }\n return bsid;\n };\n\n var AC3Demuxer = /*#__PURE__*/function (_BaseAudioDemuxer) {\n _inheritsLoose(AC3Demuxer, _BaseAudioDemuxer);\n function AC3Demuxer(observer) {\n var _this;\n _this = _BaseAudioDemuxer.call(this) || this;\n _this.observer = void 0;\n _this.observer = observer;\n return _this;\n }\n var _proto = AC3Demuxer.prototype;\n _proto.resetInitSegment = function resetInitSegment(initSegment, audioCodec, videoCodec, trackDuration) {\n _BaseAudioDemuxer.prototype.resetInitSegment.call(this, initSegment, audioCodec, videoCodec, trackDuration);\n this._audioTrack = {\n container: 'audio/ac-3',\n type: 'audio',\n id: 2,\n pid: -1,\n sequenceNumber: 0,\n segmentCodec: 'ac3',\n samples: [],\n manifestCodec: audioCodec,\n duration: trackDuration,\n inputTimeScale: 90000,\n dropped: 0\n };\n };\n _proto.canParse = function canParse(data, offset) {\n return offset + 64 < data.length;\n };\n _proto.appendFrame = function appendFrame(track, data, offset) {\n var frameLength = _appendFrame(track, data, offset, this.basePTS, this.frameIndex);\n if (frameLength !== -1) {\n var sample = track.samples[track.samples.length - 1];\n return {\n sample: sample,\n length: frameLength,\n missing: 0\n };\n }\n };\n AC3Demuxer.probe = function probe(data) {\n if (!data) {\n return false;\n }\n var id3Data = getID3Data(data, 0);\n if (!id3Data) {\n return false;\n }\n\n // look for the ac-3 sync bytes\n var offset = id3Data.length;\n if (data[offset] === 0x0b && data[offset + 1] === 0x77 && getTimeStamp(id3Data) !== undefined &&\n // check the bsid to confirm ac-3\n getAudioBSID(data, offset) < 16) {\n return true;\n }\n return false;\n };\n return AC3Demuxer;\n }(BaseAudioDemuxer);\n function _appendFrame(track, data, start, pts, frameIndex) {\n if (start + 8 > data.length) {\n return -1; // not enough bytes left\n }\n if (data[start] !== 0x0b || data[start + 1] !== 0x77) {\n return -1; // invalid magic\n }\n\n // get sample rate\n var samplingRateCode = data[start + 4] >> 6;\n if (samplingRateCode >= 3) {\n return -1; // invalid sampling rate\n }\n var samplingRateMap = [48000, 44100, 32000];\n var sampleRate = samplingRateMap[samplingRateCode];\n\n // get frame size\n var frameSizeCode = data[start + 4] & 0x3f;\n var frameSizeMap = [64, 69, 96, 64, 70, 96, 80, 87, 120, 80, 88, 120, 96, 104, 144, 96, 105, 144, 112, 121, 168, 112, 122, 168, 128, 139, 192, 128, 140, 192, 160, 174, 240, 160, 175, 240, 192, 208, 288, 192, 209, 288, 224, 243, 336, 224, 244, 336, 256, 278, 384, 256, 279, 384, 320, 348, 480, 320, 349, 480, 384, 417, 576, 384, 418, 576, 448, 487, 672, 448, 488, 672, 512, 557, 768, 512, 558, 768, 640, 696, 960, 640, 697, 960, 768, 835, 1152, 768, 836, 1152, 896, 975, 1344, 896, 976, 1344, 1024, 1114, 1536, 1024, 1115, 1536, 1152, 1253, 1728, 1152, 1254, 1728, 1280, 1393, 1920, 1280, 1394, 1920];\n var frameLength = frameSizeMap[frameSizeCode * 3 + samplingRateCode] * 2;\n if (start + frameLength > data.length) {\n return -1;\n }\n\n // get channel count\n var channelMode = data[start + 6] >> 5;\n var skipCount = 0;\n if (channelMode === 2) {\n skipCount += 2;\n } else {\n if (channelMode & 1 && channelMode !== 1) {\n skipCount += 2;\n }\n if (channelMode & 4) {\n skipCount += 2;\n }\n }\n var lfeon = (data[start + 6] << 8 | data[start + 7]) >> 12 - skipCount & 1;\n var channelsMap = [2, 1, 2, 3, 3, 4, 4, 5];\n var channelCount = channelsMap[channelMode] + lfeon;\n\n // build dac3 box\n var bsid = data[start + 5] >> 3;\n var bsmod = data[start + 5] & 7;\n var config = new Uint8Array([samplingRateCode << 6 | bsid << 1 | bsmod >> 2, (bsmod & 3) << 6 | channelMode << 3 | lfeon << 2 | frameSizeCode >> 4, frameSizeCode << 4 & 0xe0]);\n var frameDuration = 1536 / sampleRate * 90000;\n var stamp = pts + frameIndex * frameDuration;\n var unit = data.subarray(start, start + frameLength);\n track.config = config;\n track.channelCount = channelCount;\n track.samplerate = sampleRate;\n track.samples.push({\n unit: unit,\n pts: stamp\n });\n return frameLength;\n }\n\n var BaseVideoParser = /*#__PURE__*/function () {\n function BaseVideoParser() {\n this.VideoSample = null;\n }\n var _proto = BaseVideoParser.prototype;\n _proto.createVideoSample = function createVideoSample(key, pts, dts, debug) {\n return {\n key: key,\n frame: false,\n pts: pts,\n dts: dts,\n units: [],\n debug: debug,\n length: 0\n };\n };\n _proto.getLastNalUnit = function getLastNalUnit(samples) {\n var _VideoSample;\n var VideoSample = this.VideoSample;\n var lastUnit;\n // try to fallback to previous sample if current one is empty\n if (!VideoSample || VideoSample.units.length === 0) {\n VideoSample = samples[samples.length - 1];\n }\n if ((_VideoSample = VideoSample) != null && _VideoSample.units) {\n var units = VideoSample.units;\n lastUnit = units[units.length - 1];\n }\n return lastUnit;\n };\n _proto.pushAccessUnit = function pushAccessUnit(VideoSample, videoTrack) {\n if (VideoSample.units.length && VideoSample.frame) {\n // if sample does not have PTS/DTS, patch with last sample PTS/DTS\n if (VideoSample.pts === undefined) {\n var samples = videoTrack.samples;\n var nbSamples = samples.length;\n if (nbSamples) {\n var lastSample = samples[nbSamples - 1];\n VideoSample.pts = lastSample.pts;\n VideoSample.dts = lastSample.dts;\n } else {\n // dropping samples, no timestamp found\n videoTrack.dropped++;\n return;\n }\n }\n videoTrack.samples.push(VideoSample);\n }\n if (VideoSample.debug.length) {\n logger.log(VideoSample.pts + '/' + VideoSample.dts + ':' + VideoSample.debug);\n }\n };\n return BaseVideoParser;\n }();\n\n /**\n * Parser for exponential Golomb codes, a variable-bitwidth number encoding scheme used by h264.\n */\n\n var ExpGolomb = /*#__PURE__*/function () {\n function ExpGolomb(data) {\n this.data = void 0;\n this.bytesAvailable = void 0;\n this.word = void 0;\n this.bitsAvailable = void 0;\n this.data = data;\n // the number of bytes left to examine in this.data\n this.bytesAvailable = data.byteLength;\n // the current word being examined\n this.word = 0; // :uint\n // the number of bits left to examine in the current word\n this.bitsAvailable = 0; // :uint\n }\n\n // ():void\n var _proto = ExpGolomb.prototype;\n _proto.loadWord = function loadWord() {\n var data = this.data;\n var bytesAvailable = this.bytesAvailable;\n var position = data.byteLength - bytesAvailable;\n var workingBytes = new Uint8Array(4);\n var availableBytes = Math.min(4, bytesAvailable);\n if (availableBytes === 0) {\n throw new Error('no bytes available');\n }\n workingBytes.set(data.subarray(position, position + availableBytes));\n this.word = new DataView(workingBytes.buffer).getUint32(0);\n // track the amount of this.data that has been processed\n this.bitsAvailable = availableBytes * 8;\n this.bytesAvailable -= availableBytes;\n }\n\n // (count:int):void\n ;\n _proto.skipBits = function skipBits(count) {\n var skipBytes; // :int\n count = Math.min(count, this.bytesAvailable * 8 + this.bitsAvailable);\n if (this.bitsAvailable > count) {\n this.word <<= count;\n this.bitsAvailable -= count;\n } else {\n count -= this.bitsAvailable;\n skipBytes = count >> 3;\n count -= skipBytes << 3;\n this.bytesAvailable -= skipBytes;\n this.loadWord();\n this.word <<= count;\n this.bitsAvailable -= count;\n }\n }\n\n // (size:int):uint\n ;\n _proto.readBits = function readBits(size) {\n var bits = Math.min(this.bitsAvailable, size); // :uint\n var valu = this.word >>> 32 - bits; // :uint\n if (size > 32) {\n logger.error('Cannot read more than 32 bits at a time');\n }\n this.bitsAvailable -= bits;\n if (this.bitsAvailable > 0) {\n this.word <<= bits;\n } else if (this.bytesAvailable > 0) {\n this.loadWord();\n } else {\n throw new Error('no bits available');\n }\n bits = size - bits;\n if (bits > 0 && this.bitsAvailable) {\n return valu << bits | this.readBits(bits);\n } else {\n return valu;\n }\n }\n\n // ():uint\n ;\n _proto.skipLZ = function skipLZ() {\n var leadingZeroCount; // :uint\n for (leadingZeroCount = 0; leadingZeroCount < this.bitsAvailable; ++leadingZeroCount) {\n if ((this.word & 0x80000000 >>> leadingZeroCount) !== 0) {\n // the first bit of working word is 1\n this.word <<= leadingZeroCount;\n this.bitsAvailable -= leadingZeroCount;\n return leadingZeroCount;\n }\n }\n // we exhausted word and still have not found a 1\n this.loadWord();\n return leadingZeroCount + this.skipLZ();\n }\n\n // ():void\n ;\n _proto.skipUEG = function skipUEG() {\n this.skipBits(1 + this.skipLZ());\n }\n\n // ():void\n ;\n _proto.skipEG = function skipEG() {\n this.skipBits(1 + this.skipLZ());\n }\n\n // ():uint\n ;\n _proto.readUEG = function readUEG() {\n var clz = this.skipLZ(); // :uint\n return this.readBits(clz + 1) - 1;\n }\n\n // ():int\n ;\n _proto.readEG = function readEG() {\n var valu = this.readUEG(); // :int\n if (0x01 & valu) {\n // the number is odd if the low order bit is set\n return 1 + valu >>> 1; // add 1 to make it even, and divide by 2\n } else {\n return -1 * (valu >>> 1); // divide by two then make it negative\n }\n }\n\n // Some convenience functions\n // :Boolean\n ;\n _proto.readBoolean = function readBoolean() {\n return this.readBits(1) === 1;\n }\n\n // ():int\n ;\n _proto.readUByte = function readUByte() {\n return this.readBits(8);\n }\n\n // ():int\n ;\n _proto.readUShort = function readUShort() {\n return this.readBits(16);\n }\n\n // ():int\n ;\n _proto.readUInt = function readUInt() {\n return this.readBits(32);\n }\n\n /**\n * Advance the ExpGolomb decoder past a scaling list. The scaling\n * list is optionally transmitted as part of a sequence parameter\n * set and is not relevant to transmuxing.\n * @param count the number of entries in this scaling list\n * @see Recommendation ITU-T H.264, Section 7.3.2.1.1.1\n */;\n _proto.skipScalingList = function skipScalingList(count) {\n var lastScale = 8;\n var nextScale = 8;\n var deltaScale;\n for (var j = 0; j < count; j++) {\n if (nextScale !== 0) {\n deltaScale = this.readEG();\n nextScale = (lastScale + deltaScale + 256) % 256;\n }\n lastScale = nextScale === 0 ? lastScale : nextScale;\n }\n }\n\n /**\n * Read a sequence parameter set and return some interesting video\n * properties. A sequence parameter set is the H264 metadata that\n * describes the properties of upcoming video frames.\n * @returns an object with configuration parsed from the\n * sequence parameter set, including the dimensions of the\n * associated video frames.\n */;\n _proto.readSPS = function readSPS() {\n var frameCropLeftOffset = 0;\n var frameCropRightOffset = 0;\n var frameCropTopOffset = 0;\n var frameCropBottomOffset = 0;\n var numRefFramesInPicOrderCntCycle;\n var scalingListCount;\n var i;\n var readUByte = this.readUByte.bind(this);\n var readBits = this.readBits.bind(this);\n var readUEG = this.readUEG.bind(this);\n var readBoolean = this.readBoolean.bind(this);\n var skipBits = this.skipBits.bind(this);\n var skipEG = this.skipEG.bind(this);\n var skipUEG = this.skipUEG.bind(this);\n var skipScalingList = this.skipScalingList.bind(this);\n readUByte();\n var profileIdc = readUByte(); // profile_idc\n readBits(5); // profileCompat constraint_set[0-4]_flag, u(5)\n skipBits(3); // reserved_zero_3bits u(3),\n readUByte(); // level_idc u(8)\n skipUEG(); // seq_parameter_set_id\n // some profiles have more optional data we don't need\n if (profileIdc === 100 || profileIdc === 110 || profileIdc === 122 || profileIdc === 244 || profileIdc === 44 || profileIdc === 83 || profileIdc === 86 || profileIdc === 118 || profileIdc === 128) {\n var chromaFormatIdc = readUEG();\n if (chromaFormatIdc === 3) {\n skipBits(1);\n } // separate_colour_plane_flag\n\n skipUEG(); // bit_depth_luma_minus8\n skipUEG(); // bit_depth_chroma_minus8\n skipBits(1); // qpprime_y_zero_transform_bypass_flag\n if (readBoolean()) {\n // seq_scaling_matrix_present_flag\n scalingListCount = chromaFormatIdc !== 3 ? 8 : 12;\n for (i = 0; i < scalingListCount; i++) {\n if (readBoolean()) {\n // seq_scaling_list_present_flag[ i ]\n if (i < 6) {\n skipScalingList(16);\n } else {\n skipScalingList(64);\n }\n }\n }\n }\n }\n skipUEG(); // log2_max_frame_num_minus4\n var picOrderCntType = readUEG();\n if (picOrderCntType === 0) {\n readUEG(); // log2_max_pic_order_cnt_lsb_minus4\n } else if (picOrderCntType === 1) {\n skipBits(1); // delta_pic_order_always_zero_flag\n skipEG(); // offset_for_non_ref_pic\n skipEG(); // offset_for_top_to_bottom_field\n numRefFramesInPicOrderCntCycle = readUEG();\n for (i = 0; i < numRefFramesInPicOrderCntCycle; i++) {\n skipEG();\n } // offset_for_ref_frame[ i ]\n }\n skipUEG(); // max_num_ref_frames\n skipBits(1); // gaps_in_frame_num_value_allowed_flag\n var picWidthInMbsMinus1 = readUEG();\n var picHeightInMapUnitsMinus1 = readUEG();\n var frameMbsOnlyFlag = readBits(1);\n if (frameMbsOnlyFlag === 0) {\n skipBits(1);\n } // mb_adaptive_frame_field_flag\n\n skipBits(1); // direct_8x8_inference_flag\n if (readBoolean()) {\n // frame_cropping_flag\n frameCropLeftOffset = readUEG();\n frameCropRightOffset = readUEG();\n frameCropTopOffset = readUEG();\n frameCropBottomOffset = readUEG();\n }\n var pixelRatio = [1, 1];\n if (readBoolean()) {\n // vui_parameters_present_flag\n if (readBoolean()) {\n // aspect_ratio_info_present_flag\n var aspectRatioIdc = readUByte();\n switch (aspectRatioIdc) {\n case 1:\n pixelRatio = [1, 1];\n break;\n case 2:\n pixelRatio = [12, 11];\n break;\n case 3:\n pixelRatio = [10, 11];\n break;\n case 4:\n pixelRatio = [16, 11];\n break;\n case 5:\n pixelRatio = [40, 33];\n break;\n case 6:\n pixelRatio = [24, 11];\n break;\n case 7:\n pixelRatio = [20, 11];\n break;\n case 8:\n pixelRatio = [32, 11];\n break;\n case 9:\n pixelRatio = [80, 33];\n break;\n case 10:\n pixelRatio = [18, 11];\n break;\n case 11:\n pixelRatio = [15, 11];\n break;\n case 12:\n pixelRatio = [64, 33];\n break;\n case 13:\n pixelRatio = [160, 99];\n break;\n case 14:\n pixelRatio = [4, 3];\n break;\n case 15:\n pixelRatio = [3, 2];\n break;\n case 16:\n pixelRatio = [2, 1];\n break;\n case 255:\n {\n pixelRatio = [readUByte() << 8 | readUByte(), readUByte() << 8 | readUByte()];\n break;\n }\n }\n }\n }\n return {\n width: Math.ceil((picWidthInMbsMinus1 + 1) * 16 - frameCropLeftOffset * 2 - frameCropRightOffset * 2),\n height: (2 - frameMbsOnlyFlag) * (picHeightInMapUnitsMinus1 + 1) * 16 - (frameMbsOnlyFlag ? 2 : 4) * (frameCropTopOffset + frameCropBottomOffset),\n pixelRatio: pixelRatio\n };\n };\n _proto.readSliceType = function readSliceType() {\n // skip NALu type\n this.readUByte();\n // discard first_mb_in_slice\n this.readUEG();\n // return slice_type\n return this.readUEG();\n };\n return ExpGolomb;\n }();\n\n var AvcVideoParser = /*#__PURE__*/function (_BaseVideoParser) {\n _inheritsLoose(AvcVideoParser, _BaseVideoParser);\n function AvcVideoParser() {\n return _BaseVideoParser.apply(this, arguments) || this;\n }\n var _proto = AvcVideoParser.prototype;\n _proto.parseAVCPES = function parseAVCPES(track, textTrack, pes, last, duration) {\n var _this = this;\n var units = this.parseAVCNALu(track, pes.data);\n var VideoSample = this.VideoSample;\n var push;\n var spsfound = false;\n // free pes.data to save up some memory\n pes.data = null;\n\n // if new NAL units found and last sample still there, let's push ...\n // this helps parsing streams with missing AUD (only do this if AUD never found)\n if (VideoSample && units.length && !track.audFound) {\n this.pushAccessUnit(VideoSample, track);\n VideoSample = this.VideoSample = this.createVideoSample(false, pes.pts, pes.dts, '');\n }\n units.forEach(function (unit) {\n var _VideoSample2;\n switch (unit.type) {\n // NDR\n case 1:\n {\n var iskey = false;\n push = true;\n var data = unit.data;\n // only check slice type to detect KF in case SPS found in same packet (any keyframe is preceded by SPS ...)\n if (spsfound && data.length > 4) {\n // retrieve slice type by parsing beginning of NAL unit (follow H264 spec, slice_header definition) to detect keyframe embedded in NDR\n var sliceType = new ExpGolomb(data).readSliceType();\n // 2 : I slice, 4 : SI slice, 7 : I slice, 9: SI slice\n // SI slice : A slice that is coded using intra prediction only and using quantisation of the prediction samples.\n // An SI slice can be coded such that its decoded samples can be constructed identically to an SP slice.\n // I slice: A slice that is not an SI slice that is decoded using intra prediction only.\n // if (sliceType === 2 || sliceType === 7) {\n if (sliceType === 2 || sliceType === 4 || sliceType === 7 || sliceType === 9) {\n iskey = true;\n }\n }\n if (iskey) {\n var _VideoSample;\n // if we have non-keyframe data already, that cannot belong to the same frame as a keyframe, so force a push\n if ((_VideoSample = VideoSample) != null && _VideoSample.frame && !VideoSample.key) {\n _this.pushAccessUnit(VideoSample, track);\n VideoSample = _this.VideoSample = null;\n }\n }\n if (!VideoSample) {\n VideoSample = _this.VideoSample = _this.createVideoSample(true, pes.pts, pes.dts, '');\n }\n VideoSample.frame = true;\n VideoSample.key = iskey;\n break;\n // IDR\n }\n case 5:\n push = true;\n // handle PES not starting with AUD\n // if we have frame data already, that cannot belong to the same frame, so force a push\n if ((_VideoSample2 = VideoSample) != null && _VideoSample2.frame && !VideoSample.key) {\n _this.pushAccessUnit(VideoSample, track);\n VideoSample = _this.VideoSample = null;\n }\n if (!VideoSample) {\n VideoSample = _this.VideoSample = _this.createVideoSample(true, pes.pts, pes.dts, '');\n }\n VideoSample.key = true;\n VideoSample.frame = true;\n break;\n // SEI\n case 6:\n {\n push = true;\n parseSEIMessageFromNALu(unit.data, 1, pes.pts, textTrack.samples);\n break;\n // SPS\n }\n case 7:\n {\n var _track$pixelRatio, _track$pixelRatio2;\n push = true;\n spsfound = true;\n var sps = unit.data;\n var expGolombDecoder = new ExpGolomb(sps);\n var config = expGolombDecoder.readSPS();\n if (!track.sps || track.width !== config.width || track.height !== config.height || ((_track$pixelRatio = track.pixelRatio) == null ? void 0 : _track$pixelRatio[0]) !== config.pixelRatio[0] || ((_track$pixelRatio2 = track.pixelRatio) == null ? void 0 : _track$pixelRatio2[1]) !== config.pixelRatio[1]) {\n track.width = config.width;\n track.height = config.height;\n track.pixelRatio = config.pixelRatio;\n track.sps = [sps];\n track.duration = duration;\n var codecarray = sps.subarray(1, 4);\n var codecstring = 'avc1.';\n for (var i = 0; i < 3; i++) {\n var h = codecarray[i].toString(16);\n if (h.length < 2) {\n h = '0' + h;\n }\n codecstring += h;\n }\n track.codec = codecstring;\n }\n break;\n }\n // PPS\n case 8:\n push = true;\n track.pps = [unit.data];\n break;\n // AUD\n case 9:\n push = true;\n track.audFound = true;\n if (VideoSample) {\n _this.pushAccessUnit(VideoSample, track);\n }\n VideoSample = _this.VideoSample = _this.createVideoSample(false, pes.pts, pes.dts, '');\n break;\n // Filler Data\n case 12:\n push = true;\n break;\n default:\n push = false;\n if (VideoSample) {\n VideoSample.debug += 'unknown NAL ' + unit.type + ' ';\n }\n break;\n }\n if (VideoSample && push) {\n var _units = VideoSample.units;\n _units.push(unit);\n }\n });\n // if last PES packet, push samples\n if (last && VideoSample) {\n this.pushAccessUnit(VideoSample, track);\n this.VideoSample = null;\n }\n };\n _proto.parseAVCNALu = function parseAVCNALu(track, array) {\n var len = array.byteLength;\n var state = track.naluState || 0;\n var lastState = state;\n var units = [];\n var i = 0;\n var value;\n var overflow;\n var unitType;\n var lastUnitStart = -1;\n var lastUnitType = 0;\n // logger.log('PES:' + Hex.hexDump(array));\n\n if (state === -1) {\n // special use case where we found 3 or 4-byte start codes exactly at the end of previous PES packet\n lastUnitStart = 0;\n // NALu type is value read from offset 0\n lastUnitType = array[0] & 0x1f;\n state = 0;\n i = 1;\n }\n while (i < len) {\n value = array[i++];\n // optimization. state 0 and 1 are the predominant case. let's handle them outside of the switch/case\n if (!state) {\n state = value ? 0 : 1;\n continue;\n }\n if (state === 1) {\n state = value ? 0 : 2;\n continue;\n }\n // here we have state either equal to 2 or 3\n if (!value) {\n state = 3;\n } else if (value === 1) {\n overflow = i - state - 1;\n if (lastUnitStart >= 0) {\n var unit = {\n data: array.subarray(lastUnitStart, overflow),\n type: lastUnitType\n };\n // logger.log('pushing NALU, type/size:' + unit.type + '/' + unit.data.byteLength);\n units.push(unit);\n } else {\n // lastUnitStart is undefined => this is the first start code found in this PES packet\n // first check if start code delimiter is overlapping between 2 PES packets,\n // ie it started in last packet (lastState not zero)\n // and ended at the beginning of this PES packet (i <= 4 - lastState)\n var lastUnit = this.getLastNalUnit(track.samples);\n if (lastUnit) {\n if (lastState && i <= 4 - lastState) {\n // start delimiter overlapping between PES packets\n // strip start delimiter bytes from the end of last NAL unit\n // check if lastUnit had a state different from zero\n if (lastUnit.state) {\n // strip last bytes\n lastUnit.data = lastUnit.data.subarray(0, lastUnit.data.byteLength - lastState);\n }\n }\n // If NAL units are not starting right at the beginning of the PES packet, push preceding data into previous NAL unit.\n\n if (overflow > 0) {\n // logger.log('first NALU found with overflow:' + overflow);\n lastUnit.data = appendUint8Array(lastUnit.data, array.subarray(0, overflow));\n lastUnit.state = 0;\n }\n }\n }\n // check if we can read unit type\n if (i < len) {\n unitType = array[i] & 0x1f;\n // logger.log('find NALU @ offset:' + i + ',type:' + unitType);\n lastUnitStart = i;\n lastUnitType = unitType;\n state = 0;\n } else {\n // not enough byte to read unit type. let's read it on next PES parsing\n state = -1;\n }\n } else {\n state = 0;\n }\n }\n if (lastUnitStart >= 0 && state >= 0) {\n var _unit = {\n data: array.subarray(lastUnitStart, len),\n type: lastUnitType,\n state: state\n };\n units.push(_unit);\n // logger.log('pushing NALU, type/size/state:' + unit.type + '/' + unit.data.byteLength + '/' + state);\n }\n // no NALu found\n if (units.length === 0) {\n // append pes.data to previous NAL unit\n var _lastUnit = this.getLastNalUnit(track.samples);\n if (_lastUnit) {\n _lastUnit.data = appendUint8Array(_lastUnit.data, array);\n }\n }\n track.naluState = state;\n return units;\n };\n return AvcVideoParser;\n }(BaseVideoParser);\n\n /**\n * SAMPLE-AES decrypter\n */\n\n var SampleAesDecrypter = /*#__PURE__*/function () {\n function SampleAesDecrypter(observer, config, keyData) {\n this.keyData = void 0;\n this.decrypter = void 0;\n this.keyData = keyData;\n this.decrypter = new Decrypter(config, {\n removePKCS7Padding: false\n });\n }\n var _proto = SampleAesDecrypter.prototype;\n _proto.decryptBuffer = function decryptBuffer(encryptedData) {\n return this.decrypter.decrypt(encryptedData, this.keyData.key.buffer, this.keyData.iv.buffer);\n }\n\n // AAC - encrypt all full 16 bytes blocks starting from offset 16\n ;\n _proto.decryptAacSample = function decryptAacSample(samples, sampleIndex, callback) {\n var _this = this;\n var curUnit = samples[sampleIndex].unit;\n if (curUnit.length <= 16) {\n // No encrypted portion in this sample (first 16 bytes is not\n // encrypted, see https://developer.apple.com/library/archive/documentation/AudioVideo/Conceptual/HLS_Sample_Encryption/Encryption/Encryption.html),\n return;\n }\n var encryptedData = curUnit.subarray(16, curUnit.length - curUnit.length % 16);\n var encryptedBuffer = encryptedData.buffer.slice(encryptedData.byteOffset, encryptedData.byteOffset + encryptedData.length);\n this.decryptBuffer(encryptedBuffer).then(function (decryptedBuffer) {\n var decryptedData = new Uint8Array(decryptedBuffer);\n curUnit.set(decryptedData, 16);\n if (!_this.decrypter.isSync()) {\n _this.decryptAacSamples(samples, sampleIndex + 1, callback);\n }\n });\n };\n _proto.decryptAacSamples = function decryptAacSamples(samples, sampleIndex, callback) {\n for (;; sampleIndex++) {\n if (sampleIndex >= samples.length) {\n callback();\n return;\n }\n if (samples[sampleIndex].unit.length < 32) {\n continue;\n }\n this.decryptAacSample(samples, sampleIndex, callback);\n if (!this.decrypter.isSync()) {\n return;\n }\n }\n }\n\n // AVC - encrypt one 16 bytes block out of ten, starting from offset 32\n ;\n _proto.getAvcEncryptedData = function getAvcEncryptedData(decodedData) {\n var encryptedDataLen = Math.floor((decodedData.length - 48) / 160) * 16 + 16;\n var encryptedData = new Int8Array(encryptedDataLen);\n var outputPos = 0;\n for (var inputPos = 32; inputPos < decodedData.length - 16; inputPos += 160, outputPos += 16) {\n encryptedData.set(decodedData.subarray(inputPos, inputPos + 16), outputPos);\n }\n return encryptedData;\n };\n _proto.getAvcDecryptedUnit = function getAvcDecryptedUnit(decodedData, decryptedData) {\n var uint8DecryptedData = new Uint8Array(decryptedData);\n var inputPos = 0;\n for (var outputPos = 32; outputPos < decodedData.length - 16; outputPos += 160, inputPos += 16) {\n decodedData.set(uint8DecryptedData.subarray(inputPos, inputPos + 16), outputPos);\n }\n return decodedData;\n };\n _proto.decryptAvcSample = function decryptAvcSample(samples, sampleIndex, unitIndex, callback, curUnit) {\n var _this2 = this;\n var decodedData = discardEPB(curUnit.data);\n var encryptedData = this.getAvcEncryptedData(decodedData);\n this.decryptBuffer(encryptedData.buffer).then(function (decryptedBuffer) {\n curUnit.data = _this2.getAvcDecryptedUnit(decodedData, decryptedBuffer);\n if (!_this2.decrypter.isSync()) {\n _this2.decryptAvcSamples(samples, sampleIndex, unitIndex + 1, callback);\n }\n });\n };\n _proto.decryptAvcSamples = function decryptAvcSamples(samples, sampleIndex, unitIndex, callback) {\n if (samples instanceof Uint8Array) {\n throw new Error('Cannot decrypt samples of type Uint8Array');\n }\n for (;; sampleIndex++, unitIndex = 0) {\n if (sampleIndex >= samples.length) {\n callback();\n return;\n }\n var curUnits = samples[sampleIndex].units;\n for (;; unitIndex++) {\n if (unitIndex >= curUnits.length) {\n break;\n }\n var curUnit = curUnits[unitIndex];\n if (curUnit.data.length <= 48 || curUnit.type !== 1 && curUnit.type !== 5) {\n continue;\n }\n this.decryptAvcSample(samples, sampleIndex, unitIndex, callback, curUnit);\n if (!this.decrypter.isSync()) {\n return;\n }\n }\n }\n };\n return SampleAesDecrypter;\n }();\n\n var PACKET_LENGTH = 188;\n var TSDemuxer = /*#__PURE__*/function () {\n function TSDemuxer(observer, config, typeSupported) {\n this.observer = void 0;\n this.config = void 0;\n this.typeSupported = void 0;\n this.sampleAes = null;\n this.pmtParsed = false;\n this.audioCodec = void 0;\n this.videoCodec = void 0;\n this._duration = 0;\n this._pmtId = -1;\n this._videoTrack = void 0;\n this._audioTrack = void 0;\n this._id3Track = void 0;\n this._txtTrack = void 0;\n this.aacOverFlow = null;\n this.remainderData = null;\n this.videoParser = void 0;\n this.observer = observer;\n this.config = config;\n this.typeSupported = typeSupported;\n this.videoParser = new AvcVideoParser();\n }\n TSDemuxer.probe = function probe(data) {\n var syncOffset = TSDemuxer.syncOffset(data);\n if (syncOffset > 0) {\n logger.warn(\"MPEG2-TS detected but first sync word found @ offset \" + syncOffset);\n }\n return syncOffset !== -1;\n };\n TSDemuxer.syncOffset = function syncOffset(data) {\n var length = data.length;\n var scanwindow = Math.min(PACKET_LENGTH * 5, length - PACKET_LENGTH) + 1;\n var i = 0;\n while (i < scanwindow) {\n // a TS init segment should contain at least 2 TS packets: PAT and PMT, each starting with 0x47\n var foundPat = false;\n var packetStart = -1;\n var tsPackets = 0;\n for (var j = i; j < length; j += PACKET_LENGTH) {\n if (data[j] === 0x47 && (length - j === PACKET_LENGTH || data[j + PACKET_LENGTH] === 0x47)) {\n tsPackets++;\n if (packetStart === -1) {\n packetStart = j;\n // First sync word found at offset, increase scan length (#5251)\n if (packetStart !== 0) {\n scanwindow = Math.min(packetStart + PACKET_LENGTH * 99, data.length - PACKET_LENGTH) + 1;\n }\n }\n if (!foundPat) {\n foundPat = parsePID(data, j) === 0;\n }\n // Sync word found at 0 with 3 packets, or found at offset least 2 packets up to scanwindow (#5501)\n if (foundPat && tsPackets > 1 && (packetStart === 0 && tsPackets > 2 || j + PACKET_LENGTH > scanwindow)) {\n return packetStart;\n }\n } else if (tsPackets) {\n // Exit if sync word found, but does not contain contiguous packets\n return -1;\n } else {\n break;\n }\n }\n i++;\n }\n return -1;\n }\n\n /**\n * Creates a track model internal to demuxer used to drive remuxing input\n */;\n TSDemuxer.createTrack = function createTrack(type, duration) {\n return {\n container: type === 'video' || type === 'audio' ? 'video/mp2t' : undefined,\n type: type,\n id: RemuxerTrackIdConfig[type],\n pid: -1,\n inputTimeScale: 90000,\n sequenceNumber: 0,\n samples: [],\n dropped: 0,\n duration: type === 'audio' ? duration : undefined\n };\n }\n\n /**\n * Initializes a new init segment on the demuxer/remuxer interface. Needed for discontinuities/track-switches (or at stream start)\n * Resets all internal track instances of the demuxer.\n */;\n var _proto = TSDemuxer.prototype;\n _proto.resetInitSegment = function resetInitSegment(initSegment, audioCodec, videoCodec, trackDuration) {\n this.pmtParsed = false;\n this._pmtId = -1;\n this._videoTrack = TSDemuxer.createTrack('video');\n this._audioTrack = TSDemuxer.createTrack('audio', trackDuration);\n this._id3Track = TSDemuxer.createTrack('id3');\n this._txtTrack = TSDemuxer.createTrack('text');\n this._audioTrack.segmentCodec = 'aac';\n\n // flush any partial content\n this.aacOverFlow = null;\n this.remainderData = null;\n this.audioCodec = audioCodec;\n this.videoCodec = videoCodec;\n this._duration = trackDuration;\n };\n _proto.resetTimeStamp = function resetTimeStamp() {};\n _proto.resetContiguity = function resetContiguity() {\n var _audioTrack = this._audioTrack,\n _videoTrack = this._videoTrack,\n _id3Track = this._id3Track;\n if (_audioTrack) {\n _audioTrack.pesData = null;\n }\n if (_videoTrack) {\n _videoTrack.pesData = null;\n }\n if (_id3Track) {\n _id3Track.pesData = null;\n }\n this.aacOverFlow = null;\n this.remainderData = null;\n };\n _proto.demux = function demux(data, timeOffset, isSampleAes, flush) {\n if (isSampleAes === void 0) {\n isSampleAes = false;\n }\n if (flush === void 0) {\n flush = false;\n }\n if (!isSampleAes) {\n this.sampleAes = null;\n }\n var pes;\n var videoTrack = this._videoTrack;\n var audioTrack = this._audioTrack;\n var id3Track = this._id3Track;\n var textTrack = this._txtTrack;\n var videoPid = videoTrack.pid;\n var videoData = videoTrack.pesData;\n var audioPid = audioTrack.pid;\n var id3Pid = id3Track.pid;\n var audioData = audioTrack.pesData;\n var id3Data = id3Track.pesData;\n var unknownPID = null;\n var pmtParsed = this.pmtParsed;\n var pmtId = this._pmtId;\n var len = data.length;\n if (this.remainderData) {\n data = appendUint8Array(this.remainderData, data);\n len = data.length;\n this.remainderData = null;\n }\n if (len < PACKET_LENGTH && !flush) {\n this.remainderData = data;\n return {\n audioTrack: audioTrack,\n videoTrack: videoTrack,\n id3Track: id3Track,\n textTrack: textTrack\n };\n }\n var syncOffset = Math.max(0, TSDemuxer.syncOffset(data));\n len -= (len - syncOffset) % PACKET_LENGTH;\n if (len < data.byteLength && !flush) {\n this.remainderData = new Uint8Array(data.buffer, len, data.buffer.byteLength - len);\n }\n\n // loop through TS packets\n var tsPacketErrors = 0;\n for (var start = syncOffset; start < len; start += PACKET_LENGTH) {\n if (data[start] === 0x47) {\n var stt = !!(data[start + 1] & 0x40);\n var pid = parsePID(data, start);\n var atf = (data[start + 3] & 0x30) >> 4;\n\n // if an adaption field is present, its length is specified by the fifth byte of the TS packet header.\n var offset = void 0;\n if (atf > 1) {\n offset = start + 5 + data[start + 4];\n // continue if there is only adaptation field\n if (offset === start + PACKET_LENGTH) {\n continue;\n }\n } else {\n offset = start + 4;\n }\n switch (pid) {\n case videoPid:\n if (stt) {\n if (videoData && (pes = parsePES(videoData))) {\n this.videoParser.parseAVCPES(videoTrack, textTrack, pes, false, this._duration);\n }\n videoData = {\n data: [],\n size: 0\n };\n }\n if (videoData) {\n videoData.data.push(data.subarray(offset, start + PACKET_LENGTH));\n videoData.size += start + PACKET_LENGTH - offset;\n }\n break;\n case audioPid:\n if (stt) {\n if (audioData && (pes = parsePES(audioData))) {\n switch (audioTrack.segmentCodec) {\n case 'aac':\n this.parseAACPES(audioTrack, pes);\n break;\n case 'mp3':\n this.parseMPEGPES(audioTrack, pes);\n break;\n case 'ac3':\n {\n this.parseAC3PES(audioTrack, pes);\n }\n break;\n }\n }\n audioData = {\n data: [],\n size: 0\n };\n }\n if (audioData) {\n audioData.data.push(data.subarray(offset, start + PACKET_LENGTH));\n audioData.size += start + PACKET_LENGTH - offset;\n }\n break;\n case id3Pid:\n if (stt) {\n if (id3Data && (pes = parsePES(id3Data))) {\n this.parseID3PES(id3Track, pes);\n }\n id3Data = {\n data: [],\n size: 0\n };\n }\n if (id3Data) {\n id3Data.data.push(data.subarray(offset, start + PACKET_LENGTH));\n id3Data.size += start + PACKET_LENGTH - offset;\n }\n break;\n case 0:\n if (stt) {\n offset += data[offset] + 1;\n }\n pmtId = this._pmtId = parsePAT(data, offset);\n // logger.log('PMT PID:' + this._pmtId);\n break;\n case pmtId:\n {\n if (stt) {\n offset += data[offset] + 1;\n }\n var parsedPIDs = parsePMT(data, offset, this.typeSupported, isSampleAes);\n\n // only update track id if track PID found while parsing PMT\n // this is to avoid resetting the PID to -1 in case\n // track PID transiently disappears from the stream\n // this could happen in case of transient missing audio samples for example\n // NOTE this is only the PID of the track as found in TS,\n // but we are not using this for MP4 track IDs.\n videoPid = parsedPIDs.videoPid;\n if (videoPid > 0) {\n videoTrack.pid = videoPid;\n videoTrack.segmentCodec = parsedPIDs.segmentVideoCodec;\n }\n audioPid = parsedPIDs.audioPid;\n if (audioPid > 0) {\n audioTrack.pid = audioPid;\n audioTrack.segmentCodec = parsedPIDs.segmentAudioCodec;\n }\n id3Pid = parsedPIDs.id3Pid;\n if (id3Pid > 0) {\n id3Track.pid = id3Pid;\n }\n if (unknownPID !== null && !pmtParsed) {\n logger.warn(\"MPEG-TS PMT found at \" + start + \" after unknown PID '\" + unknownPID + \"'. Backtracking to sync byte @\" + syncOffset + \" to parse all TS packets.\");\n unknownPID = null;\n // we set it to -188, the += 188 in the for loop will reset start to 0\n start = syncOffset - 188;\n }\n pmtParsed = this.pmtParsed = true;\n break;\n }\n case 0x11:\n case 0x1fff:\n break;\n default:\n unknownPID = pid;\n break;\n }\n } else {\n tsPacketErrors++;\n }\n }\n if (tsPacketErrors > 0) {\n var error = new Error(\"Found \" + tsPacketErrors + \" TS packet/s that do not start with 0x47\");\n this.observer.emit(Events.ERROR, Events.ERROR, {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.FRAG_PARSING_ERROR,\n fatal: false,\n error: error,\n reason: error.message\n });\n }\n videoTrack.pesData = videoData;\n audioTrack.pesData = audioData;\n id3Track.pesData = id3Data;\n var demuxResult = {\n audioTrack: audioTrack,\n videoTrack: videoTrack,\n id3Track: id3Track,\n textTrack: textTrack\n };\n if (flush) {\n this.extractRemainingSamples(demuxResult);\n }\n return demuxResult;\n };\n _proto.flush = function flush() {\n var remainderData = this.remainderData;\n this.remainderData = null;\n var result;\n if (remainderData) {\n result = this.demux(remainderData, -1, false, true);\n } else {\n result = {\n videoTrack: this._videoTrack,\n audioTrack: this._audioTrack,\n id3Track: this._id3Track,\n textTrack: this._txtTrack\n };\n }\n this.extractRemainingSamples(result);\n if (this.sampleAes) {\n return this.decrypt(result, this.sampleAes);\n }\n return result;\n };\n _proto.extractRemainingSamples = function extractRemainingSamples(demuxResult) {\n var audioTrack = demuxResult.audioTrack,\n videoTrack = demuxResult.videoTrack,\n id3Track = demuxResult.id3Track,\n textTrack = demuxResult.textTrack;\n var videoData = videoTrack.pesData;\n var audioData = audioTrack.pesData;\n var id3Data = id3Track.pesData;\n // try to parse last PES packets\n var pes;\n if (videoData && (pes = parsePES(videoData))) {\n this.videoParser.parseAVCPES(videoTrack, textTrack, pes, true, this._duration);\n videoTrack.pesData = null;\n } else {\n // either avcData null or PES truncated, keep it for next frag parsing\n videoTrack.pesData = videoData;\n }\n if (audioData && (pes = parsePES(audioData))) {\n switch (audioTrack.segmentCodec) {\n case 'aac':\n this.parseAACPES(audioTrack, pes);\n break;\n case 'mp3':\n this.parseMPEGPES(audioTrack, pes);\n break;\n case 'ac3':\n {\n this.parseAC3PES(audioTrack, pes);\n }\n break;\n }\n audioTrack.pesData = null;\n } else {\n if (audioData != null && audioData.size) {\n logger.log('last AAC PES packet truncated,might overlap between fragments');\n }\n\n // either audioData null or PES truncated, keep it for next frag parsing\n audioTrack.pesData = audioData;\n }\n if (id3Data && (pes = parsePES(id3Data))) {\n this.parseID3PES(id3Track, pes);\n id3Track.pesData = null;\n } else {\n // either id3Data null or PES truncated, keep it for next frag parsing\n id3Track.pesData = id3Data;\n }\n };\n _proto.demuxSampleAes = function demuxSampleAes(data, keyData, timeOffset) {\n var demuxResult = this.demux(data, timeOffset, true, !this.config.progressive);\n var sampleAes = this.sampleAes = new SampleAesDecrypter(this.observer, this.config, keyData);\n return this.decrypt(demuxResult, sampleAes);\n };\n _proto.decrypt = function decrypt(demuxResult, sampleAes) {\n return new Promise(function (resolve) {\n var audioTrack = demuxResult.audioTrack,\n videoTrack = demuxResult.videoTrack;\n if (audioTrack.samples && audioTrack.segmentCodec === 'aac') {\n sampleAes.decryptAacSamples(audioTrack.samples, 0, function () {\n if (videoTrack.samples) {\n sampleAes.decryptAvcSamples(videoTrack.samples, 0, 0, function () {\n resolve(demuxResult);\n });\n } else {\n resolve(demuxResult);\n }\n });\n } else if (videoTrack.samples) {\n sampleAes.decryptAvcSamples(videoTrack.samples, 0, 0, function () {\n resolve(demuxResult);\n });\n }\n });\n };\n _proto.destroy = function destroy() {\n this._duration = 0;\n };\n _proto.parseAACPES = function parseAACPES(track, pes) {\n var startOffset = 0;\n var aacOverFlow = this.aacOverFlow;\n var data = pes.data;\n if (aacOverFlow) {\n this.aacOverFlow = null;\n var frameMissingBytes = aacOverFlow.missing;\n var sampleLength = aacOverFlow.sample.unit.byteLength;\n // logger.log(`AAC: append overflowing ${sampleLength} bytes to beginning of new PES`);\n if (frameMissingBytes === -1) {\n data = appendUint8Array(aacOverFlow.sample.unit, data);\n } else {\n var frameOverflowBytes = sampleLength - frameMissingBytes;\n aacOverFlow.sample.unit.set(data.subarray(0, frameMissingBytes), frameOverflowBytes);\n track.samples.push(aacOverFlow.sample);\n startOffset = aacOverFlow.missing;\n }\n }\n // look for ADTS header (0xFFFx)\n var offset;\n var len;\n for (offset = startOffset, len = data.length; offset < len - 1; offset++) {\n if (isHeader$1(data, offset)) {\n break;\n }\n }\n // if ADTS header does not start straight from the beginning of the PES payload, raise an error\n if (offset !== startOffset) {\n var reason;\n var recoverable = offset < len - 1;\n if (recoverable) {\n reason = \"AAC PES did not start with ADTS header,offset:\" + offset;\n } else {\n reason = 'No ADTS header found in AAC PES';\n }\n var error = new Error(reason);\n logger.warn(\"parsing error: \" + reason);\n this.observer.emit(Events.ERROR, Events.ERROR, {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.FRAG_PARSING_ERROR,\n fatal: false,\n levelRetry: recoverable,\n error: error,\n reason: reason\n });\n if (!recoverable) {\n return;\n }\n }\n initTrackConfig(track, this.observer, data, offset, this.audioCodec);\n var pts;\n if (pes.pts !== undefined) {\n pts = pes.pts;\n } else if (aacOverFlow) {\n // if last AAC frame is overflowing, we should ensure timestamps are contiguous:\n // first sample PTS should be equal to last sample PTS + frameDuration\n var frameDuration = getFrameDuration(track.samplerate);\n pts = aacOverFlow.sample.pts + frameDuration;\n } else {\n logger.warn('[tsdemuxer]: AAC PES unknown PTS');\n return;\n }\n\n // scan for aac samples\n var frameIndex = 0;\n var frame;\n while (offset < len) {\n frame = appendFrame$1(track, data, offset, pts, frameIndex);\n offset += frame.length;\n if (!frame.missing) {\n frameIndex++;\n for (; offset < len - 1; offset++) {\n if (isHeader$1(data, offset)) {\n break;\n }\n }\n } else {\n this.aacOverFlow = frame;\n break;\n }\n }\n };\n _proto.parseMPEGPES = function parseMPEGPES(track, pes) {\n var data = pes.data;\n var length = data.length;\n var frameIndex = 0;\n var offset = 0;\n var pts = pes.pts;\n if (pts === undefined) {\n logger.warn('[tsdemuxer]: MPEG PES unknown PTS');\n return;\n }\n while (offset < length) {\n if (isHeader(data, offset)) {\n var frame = appendFrame(track, data, offset, pts, frameIndex);\n if (frame) {\n offset += frame.length;\n frameIndex++;\n } else {\n // logger.log('Unable to parse Mpeg audio frame');\n break;\n }\n } else {\n // nothing found, keep looking\n offset++;\n }\n }\n };\n _proto.parseAC3PES = function parseAC3PES(track, pes) {\n {\n var data = pes.data;\n var pts = pes.pts;\n if (pts === undefined) {\n logger.warn('[tsdemuxer]: AC3 PES unknown PTS');\n return;\n }\n var length = data.length;\n var frameIndex = 0;\n var offset = 0;\n var parsed;\n while (offset < length && (parsed = _appendFrame(track, data, offset, pts, frameIndex++)) > 0) {\n offset += parsed;\n }\n }\n };\n _proto.parseID3PES = function parseID3PES(id3Track, pes) {\n if (pes.pts === undefined) {\n logger.warn('[tsdemuxer]: ID3 PES unknown PTS');\n return;\n }\n var id3Sample = _extends({}, pes, {\n type: this._videoTrack ? MetadataSchema.emsg : MetadataSchema.audioId3,\n duration: Number.POSITIVE_INFINITY\n });\n id3Track.samples.push(id3Sample);\n };\n return TSDemuxer;\n }();\n function parsePID(data, offset) {\n // pid is a 13-bit field starting at the last bit of TS[1]\n return ((data[offset + 1] & 0x1f) << 8) + data[offset + 2];\n }\n function parsePAT(data, offset) {\n // skip the PSI header and parse the first PMT entry\n return (data[offset + 10] & 0x1f) << 8 | data[offset + 11];\n }\n function parsePMT(data, offset, typeSupported, isSampleAes) {\n var result = {\n audioPid: -1,\n videoPid: -1,\n id3Pid: -1,\n segmentVideoCodec: 'avc',\n segmentAudioCodec: 'aac'\n };\n var sectionLength = (data[offset + 1] & 0x0f) << 8 | data[offset + 2];\n var tableEnd = offset + 3 + sectionLength - 4;\n // to determine where the table is, we have to figure out how\n // long the program info descriptors are\n var programInfoLength = (data[offset + 10] & 0x0f) << 8 | data[offset + 11];\n // advance the offset to the first entry in the mapping table\n offset += 12 + programInfoLength;\n while (offset < tableEnd) {\n var pid = parsePID(data, offset);\n var esInfoLength = (data[offset + 3] & 0x0f) << 8 | data[offset + 4];\n switch (data[offset]) {\n case 0xcf:\n // SAMPLE-AES AAC\n if (!isSampleAes) {\n logEncryptedSamplesFoundInUnencryptedStream('ADTS AAC');\n break;\n }\n /* falls through */\n case 0x0f:\n // ISO/IEC 13818-7 ADTS AAC (MPEG-2 lower bit-rate audio)\n // logger.log('AAC PID:' + pid);\n if (result.audioPid === -1) {\n result.audioPid = pid;\n }\n break;\n\n // Packetized metadata (ID3)\n case 0x15:\n // logger.log('ID3 PID:' + pid);\n if (result.id3Pid === -1) {\n result.id3Pid = pid;\n }\n break;\n case 0xdb:\n // SAMPLE-AES AVC\n if (!isSampleAes) {\n logEncryptedSamplesFoundInUnencryptedStream('H.264');\n break;\n }\n /* falls through */\n case 0x1b:\n // ITU-T Rec. H.264 and ISO/IEC 14496-10 (lower bit-rate video)\n // logger.log('AVC PID:' + pid);\n if (result.videoPid === -1) {\n result.videoPid = pid;\n result.segmentVideoCodec = 'avc';\n }\n break;\n\n // ISO/IEC 11172-3 (MPEG-1 audio)\n // or ISO/IEC 13818-3 (MPEG-2 halved sample rate audio)\n case 0x03:\n case 0x04:\n // logger.log('MPEG PID:' + pid);\n if (!typeSupported.mpeg && !typeSupported.mp3) {\n logger.log('MPEG audio found, not supported in this browser');\n } else if (result.audioPid === -1) {\n result.audioPid = pid;\n result.segmentAudioCodec = 'mp3';\n }\n break;\n case 0xc1:\n // SAMPLE-AES AC3\n if (!isSampleAes) {\n logEncryptedSamplesFoundInUnencryptedStream('AC-3');\n break;\n }\n /* falls through */\n case 0x81:\n {\n if (!typeSupported.ac3) {\n logger.log('AC-3 audio found, not supported in this browser');\n } else if (result.audioPid === -1) {\n result.audioPid = pid;\n result.segmentAudioCodec = 'ac3';\n }\n }\n break;\n case 0x06:\n // stream_type 6 can mean a lot of different things in case of DVB.\n // We need to look at the descriptors. Right now, we're only interested\n // in AC-3 audio, so we do the descriptor parsing only when we don't have\n // an audio PID yet.\n if (result.audioPid === -1 && esInfoLength > 0) {\n var parsePos = offset + 5;\n var remaining = esInfoLength;\n while (remaining > 2) {\n var descriptorId = data[parsePos];\n switch (descriptorId) {\n case 0x6a:\n // DVB Descriptor for AC-3\n {\n if (typeSupported.ac3 !== true) {\n logger.log('AC-3 audio found, not supported in this browser for now');\n } else {\n result.audioPid = pid;\n result.segmentAudioCodec = 'ac3';\n }\n }\n break;\n }\n var descriptorLen = data[parsePos + 1] + 2;\n parsePos += descriptorLen;\n remaining -= descriptorLen;\n }\n }\n break;\n case 0xc2: // SAMPLE-AES EC3\n /* falls through */\n case 0x87:\n logger.warn('Unsupported EC-3 in M2TS found');\n break;\n case 0x24:\n logger.warn('Unsupported HEVC in M2TS found');\n break;\n }\n // move to the next table entry\n // skip past the elementary stream descriptors, if present\n offset += esInfoLength + 5;\n }\n return result;\n }\n function logEncryptedSamplesFoundInUnencryptedStream(type) {\n logger.log(type + \" with AES-128-CBC encryption found in unencrypted stream\");\n }\n function parsePES(stream) {\n var i = 0;\n var frag;\n var pesLen;\n var pesHdrLen;\n var pesPts;\n var pesDts;\n var data = stream.data;\n // safety check\n if (!stream || stream.size === 0) {\n return null;\n }\n\n // we might need up to 19 bytes to read PES header\n // if first chunk of data is less than 19 bytes, let's merge it with following ones until we get 19 bytes\n // usually only one merge is needed (and this is rare ...)\n while (data[0].length < 19 && data.length > 1) {\n data[0] = appendUint8Array(data[0], data[1]);\n data.splice(1, 1);\n }\n // retrieve PTS/DTS from first fragment\n frag = data[0];\n var pesPrefix = (frag[0] << 16) + (frag[1] << 8) + frag[2];\n if (pesPrefix === 1) {\n pesLen = (frag[4] << 8) + frag[5];\n // if PES parsed length is not zero and greater than total received length, stop parsing. PES might be truncated\n // minus 6 : PES header size\n if (pesLen && pesLen > stream.size - 6) {\n return null;\n }\n var pesFlags = frag[7];\n if (pesFlags & 0xc0) {\n /* PES header described here : http://dvd.sourceforge.net/dvdinfo/pes-hdr.html\n as PTS / DTS is 33 bit we cannot use bitwise operator in JS,\n as Bitwise operators treat their operands as a sequence of 32 bits */\n pesPts = (frag[9] & 0x0e) * 536870912 +\n // 1 << 29\n (frag[10] & 0xff) * 4194304 +\n // 1 << 22\n (frag[11] & 0xfe) * 16384 +\n // 1 << 14\n (frag[12] & 0xff) * 128 +\n // 1 << 7\n (frag[13] & 0xfe) / 2;\n if (pesFlags & 0x40) {\n pesDts = (frag[14] & 0x0e) * 536870912 +\n // 1 << 29\n (frag[15] & 0xff) * 4194304 +\n // 1 << 22\n (frag[16] & 0xfe) * 16384 +\n // 1 << 14\n (frag[17] & 0xff) * 128 +\n // 1 << 7\n (frag[18] & 0xfe) / 2;\n if (pesPts - pesDts > 60 * 90000) {\n logger.warn(Math.round((pesPts - pesDts) / 90000) + \"s delta between PTS and DTS, align them\");\n pesPts = pesDts;\n }\n } else {\n pesDts = pesPts;\n }\n }\n pesHdrLen = frag[8];\n // 9 bytes : 6 bytes for PES header + 3 bytes for PES extension\n var payloadStartOffset = pesHdrLen + 9;\n if (stream.size <= payloadStartOffset) {\n return null;\n }\n stream.size -= payloadStartOffset;\n // reassemble PES packet\n var pesData = new Uint8Array(stream.size);\n for (var j = 0, dataLen = data.length; j < dataLen; j++) {\n frag = data[j];\n var len = frag.byteLength;\n if (payloadStartOffset) {\n if (payloadStartOffset > len) {\n // trim full frag if PES header bigger than frag\n payloadStartOffset -= len;\n continue;\n } else {\n // trim partial frag if PES header smaller than frag\n frag = frag.subarray(payloadStartOffset);\n len -= payloadStartOffset;\n payloadStartOffset = 0;\n }\n }\n pesData.set(frag, i);\n i += len;\n }\n if (pesLen) {\n // payload size : remove PES header + PES extension\n pesLen -= pesHdrLen + 3;\n }\n return {\n data: pesData,\n pts: pesPts,\n dts: pesDts,\n len: pesLen\n };\n }\n return null;\n }\n\n var MP3Demuxer = /*#__PURE__*/function (_BaseAudioDemuxer) {\n _inheritsLoose(MP3Demuxer, _BaseAudioDemuxer);\n function MP3Demuxer() {\n return _BaseAudioDemuxer.apply(this, arguments) || this;\n }\n var _proto = MP3Demuxer.prototype;\n _proto.resetInitSegment = function resetInitSegment(initSegment, audioCodec, videoCodec, trackDuration) {\n _BaseAudioDemuxer.prototype.resetInitSegment.call(this, initSegment, audioCodec, videoCodec, trackDuration);\n this._audioTrack = {\n container: 'audio/mpeg',\n type: 'audio',\n id: 2,\n pid: -1,\n sequenceNumber: 0,\n segmentCodec: 'mp3',\n samples: [],\n manifestCodec: audioCodec,\n duration: trackDuration,\n inputTimeScale: 90000,\n dropped: 0\n };\n };\n MP3Demuxer.probe = function probe$1(data) {\n if (!data) {\n return false;\n }\n\n // check if data contains ID3 timestamp and MPEG sync word\n // Look for MPEG header | 1111 1111 | 111X XYZX | where X can be either 0 or 1 and Y or Z should be 1\n // Layer bits (position 14 and 15) in header should be always different from 0 (Layer I or Layer II or Layer III)\n // More info http://www.mp3-tech.org/programmer/frame_header.html\n var id3Data = getID3Data(data, 0);\n var offset = (id3Data == null ? void 0 : id3Data.length) || 0;\n\n // Check for ac-3|ec-3 sync bytes and return false if present\n if (id3Data && data[offset] === 0x0b && data[offset + 1] === 0x77 && getTimeStamp(id3Data) !== undefined &&\n // check the bsid to confirm ac-3 or ec-3 (not mp3)\n getAudioBSID(data, offset) <= 16) {\n return false;\n }\n for (var length = data.length; offset < length; offset++) {\n if (probe(data, offset)) {\n logger.log('MPEG Audio sync word found !');\n return true;\n }\n }\n return false;\n };\n _proto.canParse = function canParse$1(data, offset) {\n return canParse(data, offset);\n };\n _proto.appendFrame = function appendFrame$1(track, data, offset) {\n if (this.basePTS === null) {\n return;\n }\n return appendFrame(track, data, offset, this.basePTS, this.frameIndex);\n };\n return MP3Demuxer;\n }(BaseAudioDemuxer);\n\n /**\n * AAC helper\n */\n var AAC = /*#__PURE__*/function () {\n function AAC() {}\n AAC.getSilentFrame = function getSilentFrame(codec, channelCount) {\n switch (codec) {\n case 'mp4a.40.2':\n if (channelCount === 1) {\n return new Uint8Array([0x00, 0xc8, 0x00, 0x80, 0x23, 0x80]);\n } else if (channelCount === 2) {\n return new Uint8Array([0x21, 0x00, 0x49, 0x90, 0x02, 0x19, 0x00, 0x23, 0x80]);\n } else if (channelCount === 3) {\n return new Uint8Array([0x00, 0xc8, 0x00, 0x80, 0x20, 0x84, 0x01, 0x26, 0x40, 0x08, 0x64, 0x00, 0x8e]);\n } else if (channelCount === 4) {\n return new Uint8Array([0x00, 0xc8, 0x00, 0x80, 0x20, 0x84, 0x01, 0x26, 0x40, 0x08, 0x64, 0x00, 0x80, 0x2c, 0x80, 0x08, 0x02, 0x38]);\n } else if (channelCount === 5) {\n return new Uint8Array([0x00, 0xc8, 0x00, 0x80, 0x20, 0x84, 0x01, 0x26, 0x40, 0x08, 0x64, 0x00, 0x82, 0x30, 0x04, 0x99, 0x00, 0x21, 0x90, 0x02, 0x38]);\n } else if (channelCount === 6) {\n return new Uint8Array([0x00, 0xc8, 0x00, 0x80, 0x20, 0x84, 0x01, 0x26, 0x40, 0x08, 0x64, 0x00, 0x82, 0x30, 0x04, 0x99, 0x00, 0x21, 0x90, 0x02, 0x00, 0xb2, 0x00, 0x20, 0x08, 0xe0]);\n }\n break;\n // handle HE-AAC below (mp4a.40.5 / mp4a.40.29)\n default:\n if (channelCount === 1) {\n // ffmpeg -y -f lavfi -i \"aevalsrc=0:d=0.05\" -c:a libfdk_aac -profile:a aac_he -b:a 4k output.aac && hexdump -v -e '16/1 \"0x%x,\" \"\\n\"' -v output.aac\n return new Uint8Array([0x1, 0x40, 0x22, 0x80, 0xa3, 0x4e, 0xe6, 0x80, 0xba, 0x8, 0x0, 0x0, 0x0, 0x1c, 0x6, 0xf1, 0xc1, 0xa, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5e]);\n } else if (channelCount === 2) {\n // ffmpeg -y -f lavfi -i \"aevalsrc=0|0:d=0.05\" -c:a libfdk_aac -profile:a aac_he_v2 -b:a 4k output.aac && hexdump -v -e '16/1 \"0x%x,\" \"\\n\"' -v output.aac\n return new Uint8Array([0x1, 0x40, 0x22, 0x80, 0xa3, 0x5e, 0xe6, 0x80, 0xba, 0x8, 0x0, 0x0, 0x0, 0x0, 0x95, 0x0, 0x6, 0xf1, 0xa1, 0xa, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5e]);\n } else if (channelCount === 3) {\n // ffmpeg -y -f lavfi -i \"aevalsrc=0|0|0:d=0.05\" -c:a libfdk_aac -profile:a aac_he_v2 -b:a 4k output.aac && hexdump -v -e '16/1 \"0x%x,\" \"\\n\"' -v output.aac\n return new Uint8Array([0x1, 0x40, 0x22, 0x80, 0xa3, 0x5e, 0xe6, 0x80, 0xba, 0x8, 0x0, 0x0, 0x0, 0x0, 0x95, 0x0, 0x6, 0xf1, 0xa1, 0xa, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5e]);\n }\n break;\n }\n return undefined;\n };\n return AAC;\n }();\n\n /**\n * Generate MP4 Box\n */\n\n var UINT32_MAX = Math.pow(2, 32) - 1;\n var MP4 = /*#__PURE__*/function () {\n function MP4() {}\n MP4.init = function init() {\n MP4.types = {\n avc1: [],\n // codingname\n avcC: [],\n btrt: [],\n dinf: [],\n dref: [],\n esds: [],\n ftyp: [],\n hdlr: [],\n mdat: [],\n mdhd: [],\n mdia: [],\n mfhd: [],\n minf: [],\n moof: [],\n moov: [],\n mp4a: [],\n '.mp3': [],\n dac3: [],\n 'ac-3': [],\n mvex: [],\n mvhd: [],\n pasp: [],\n sdtp: [],\n stbl: [],\n stco: [],\n stsc: [],\n stsd: [],\n stsz: [],\n stts: [],\n tfdt: [],\n tfhd: [],\n traf: [],\n trak: [],\n trun: [],\n trex: [],\n tkhd: [],\n vmhd: [],\n smhd: []\n };\n var i;\n for (i in MP4.types) {\n if (MP4.types.hasOwnProperty(i)) {\n MP4.types[i] = [i.charCodeAt(0), i.charCodeAt(1), i.charCodeAt(2), i.charCodeAt(3)];\n }\n }\n var videoHdlr = new Uint8Array([0x00,\n // version 0\n 0x00, 0x00, 0x00,\n // flags\n 0x00, 0x00, 0x00, 0x00,\n // pre_defined\n 0x76, 0x69, 0x64, 0x65,\n // handler_type: 'vide'\n 0x00, 0x00, 0x00, 0x00,\n // reserved\n 0x00, 0x00, 0x00, 0x00,\n // reserved\n 0x00, 0x00, 0x00, 0x00,\n // reserved\n 0x56, 0x69, 0x64, 0x65, 0x6f, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x00 // name: 'VideoHandler'\n ]);\n var audioHdlr = new Uint8Array([0x00,\n // version 0\n 0x00, 0x00, 0x00,\n // flags\n 0x00, 0x00, 0x00, 0x00,\n // pre_defined\n 0x73, 0x6f, 0x75, 0x6e,\n // handler_type: 'soun'\n 0x00, 0x00, 0x00, 0x00,\n // reserved\n 0x00, 0x00, 0x00, 0x00,\n // reserved\n 0x00, 0x00, 0x00, 0x00,\n // reserved\n 0x53, 0x6f, 0x75, 0x6e, 0x64, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x00 // name: 'SoundHandler'\n ]);\n MP4.HDLR_TYPES = {\n video: videoHdlr,\n audio: audioHdlr\n };\n var dref = new Uint8Array([0x00,\n // version 0\n 0x00, 0x00, 0x00,\n // flags\n 0x00, 0x00, 0x00, 0x01,\n // entry_count\n 0x00, 0x00, 0x00, 0x0c,\n // entry_size\n 0x75, 0x72, 0x6c, 0x20,\n // 'url' type\n 0x00,\n // version 0\n 0x00, 0x00, 0x01 // entry_flags\n ]);\n var stco = new Uint8Array([0x00,\n // version\n 0x00, 0x00, 0x00,\n // flags\n 0x00, 0x00, 0x00, 0x00 // entry_count\n ]);\n MP4.STTS = MP4.STSC = MP4.STCO = stco;\n MP4.STSZ = new Uint8Array([0x00,\n // version\n 0x00, 0x00, 0x00,\n // flags\n 0x00, 0x00, 0x00, 0x00,\n // sample_size\n 0x00, 0x00, 0x00, 0x00 // sample_count\n ]);\n MP4.VMHD = new Uint8Array([0x00,\n // version\n 0x00, 0x00, 0x01,\n // flags\n 0x00, 0x00,\n // graphicsmode\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // opcolor\n ]);\n MP4.SMHD = new Uint8Array([0x00,\n // version\n 0x00, 0x00, 0x00,\n // flags\n 0x00, 0x00,\n // balance\n 0x00, 0x00 // reserved\n ]);\n MP4.STSD = new Uint8Array([0x00,\n // version 0\n 0x00, 0x00, 0x00,\n // flags\n 0x00, 0x00, 0x00, 0x01]); // entry_count\n\n var majorBrand = new Uint8Array([105, 115, 111, 109]); // isom\n var avc1Brand = new Uint8Array([97, 118, 99, 49]); // avc1\n var minorVersion = new Uint8Array([0, 0, 0, 1]);\n MP4.FTYP = MP4.box(MP4.types.ftyp, majorBrand, minorVersion, majorBrand, avc1Brand);\n MP4.DINF = MP4.box(MP4.types.dinf, MP4.box(MP4.types.dref, dref));\n };\n MP4.box = function box(type) {\n var size = 8;\n for (var _len = arguments.length, payload = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n payload[_key - 1] = arguments[_key];\n }\n var i = payload.length;\n var len = i;\n // calculate the total size we need to allocate\n while (i--) {\n size += payload[i].byteLength;\n }\n var result = new Uint8Array(size);\n result[0] = size >> 24 & 0xff;\n result[1] = size >> 16 & 0xff;\n result[2] = size >> 8 & 0xff;\n result[3] = size & 0xff;\n result.set(type, 4);\n // copy the payload into the result\n for (i = 0, size = 8; i < len; i++) {\n // copy payload[i] array @ offset size\n result.set(payload[i], size);\n size += payload[i].byteLength;\n }\n return result;\n };\n MP4.hdlr = function hdlr(type) {\n return MP4.box(MP4.types.hdlr, MP4.HDLR_TYPES[type]);\n };\n MP4.mdat = function mdat(data) {\n return MP4.box(MP4.types.mdat, data);\n };\n MP4.mdhd = function mdhd(timescale, duration) {\n duration *= timescale;\n var upperWordDuration = Math.floor(duration / (UINT32_MAX + 1));\n var lowerWordDuration = Math.floor(duration % (UINT32_MAX + 1));\n return MP4.box(MP4.types.mdhd, new Uint8Array([0x01,\n // version 1\n 0x00, 0x00, 0x00,\n // flags\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,\n // creation_time\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03,\n // modification_time\n timescale >> 24 & 0xff, timescale >> 16 & 0xff, timescale >> 8 & 0xff, timescale & 0xff,\n // timescale\n upperWordDuration >> 24, upperWordDuration >> 16 & 0xff, upperWordDuration >> 8 & 0xff, upperWordDuration & 0xff, lowerWordDuration >> 24, lowerWordDuration >> 16 & 0xff, lowerWordDuration >> 8 & 0xff, lowerWordDuration & 0xff, 0x55, 0xc4,\n // 'und' language (undetermined)\n 0x00, 0x00]));\n };\n MP4.mdia = function mdia(track) {\n return MP4.box(MP4.types.mdia, MP4.mdhd(track.timescale, track.duration), MP4.hdlr(track.type), MP4.minf(track));\n };\n MP4.mfhd = function mfhd(sequenceNumber) {\n return MP4.box(MP4.types.mfhd, new Uint8Array([0x00, 0x00, 0x00, 0x00,\n // flags\n sequenceNumber >> 24, sequenceNumber >> 16 & 0xff, sequenceNumber >> 8 & 0xff, sequenceNumber & 0xff // sequence_number\n ]));\n };\n MP4.minf = function minf(track) {\n if (track.type === 'audio') {\n return MP4.box(MP4.types.minf, MP4.box(MP4.types.smhd, MP4.SMHD), MP4.DINF, MP4.stbl(track));\n } else {\n return MP4.box(MP4.types.minf, MP4.box(MP4.types.vmhd, MP4.VMHD), MP4.DINF, MP4.stbl(track));\n }\n };\n MP4.moof = function moof(sn, baseMediaDecodeTime, track) {\n return MP4.box(MP4.types.moof, MP4.mfhd(sn), MP4.traf(track, baseMediaDecodeTime));\n };\n MP4.moov = function moov(tracks) {\n var i = tracks.length;\n var boxes = [];\n while (i--) {\n boxes[i] = MP4.trak(tracks[i]);\n }\n return MP4.box.apply(null, [MP4.types.moov, MP4.mvhd(tracks[0].timescale, tracks[0].duration)].concat(boxes).concat(MP4.mvex(tracks)));\n };\n MP4.mvex = function mvex(tracks) {\n var i = tracks.length;\n var boxes = [];\n while (i--) {\n boxes[i] = MP4.trex(tracks[i]);\n }\n return MP4.box.apply(null, [MP4.types.mvex].concat(boxes));\n };\n MP4.mvhd = function mvhd(timescale, duration) {\n duration *= timescale;\n var upperWordDuration = Math.floor(duration / (UINT32_MAX + 1));\n var lowerWordDuration = Math.floor(duration % (UINT32_MAX + 1));\n var bytes = new Uint8Array([0x01,\n // version 1\n 0x00, 0x00, 0x00,\n // flags\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,\n // creation_time\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03,\n // modification_time\n timescale >> 24 & 0xff, timescale >> 16 & 0xff, timescale >> 8 & 0xff, timescale & 0xff,\n // timescale\n upperWordDuration >> 24, upperWordDuration >> 16 & 0xff, upperWordDuration >> 8 & 0xff, upperWordDuration & 0xff, lowerWordDuration >> 24, lowerWordDuration >> 16 & 0xff, lowerWordDuration >> 8 & 0xff, lowerWordDuration & 0xff, 0x00, 0x01, 0x00, 0x00,\n // 1.0 rate\n 0x01, 0x00,\n // 1.0 volume\n 0x00, 0x00,\n // reserved\n 0x00, 0x00, 0x00, 0x00,\n // reserved\n 0x00, 0x00, 0x00, 0x00,\n // reserved\n 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,\n // transformation: unity matrix\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n // pre_defined\n 0xff, 0xff, 0xff, 0xff // next_track_ID\n ]);\n return MP4.box(MP4.types.mvhd, bytes);\n };\n MP4.sdtp = function sdtp(track) {\n var samples = track.samples || [];\n var bytes = new Uint8Array(4 + samples.length);\n var i;\n var flags;\n // leave the full box header (4 bytes) all zero\n // write the sample table\n for (i = 0; i < samples.length; i++) {\n flags = samples[i].flags;\n bytes[i + 4] = flags.dependsOn << 4 | flags.isDependedOn << 2 | flags.hasRedundancy;\n }\n return MP4.box(MP4.types.sdtp, bytes);\n };\n MP4.stbl = function stbl(track) {\n return MP4.box(MP4.types.stbl, MP4.stsd(track), MP4.box(MP4.types.stts, MP4.STTS), MP4.box(MP4.types.stsc, MP4.STSC), MP4.box(MP4.types.stsz, MP4.STSZ), MP4.box(MP4.types.stco, MP4.STCO));\n };\n MP4.avc1 = function avc1(track) {\n var sps = [];\n var pps = [];\n var i;\n var data;\n var len;\n // assemble the SPSs\n\n for (i = 0; i < track.sps.length; i++) {\n data = track.sps[i];\n len = data.byteLength;\n sps.push(len >>> 8 & 0xff);\n sps.push(len & 0xff);\n\n // SPS\n sps = sps.concat(Array.prototype.slice.call(data));\n }\n\n // assemble the PPSs\n for (i = 0; i < track.pps.length; i++) {\n data = track.pps[i];\n len = data.byteLength;\n pps.push(len >>> 8 & 0xff);\n pps.push(len & 0xff);\n pps = pps.concat(Array.prototype.slice.call(data));\n }\n var avcc = MP4.box(MP4.types.avcC, new Uint8Array([0x01,\n // version\n sps[3],\n // profile\n sps[4],\n // profile compat\n sps[5],\n // level\n 0xfc | 3,\n // lengthSizeMinusOne, hard-coded to 4 bytes\n 0xe0 | track.sps.length // 3bit reserved (111) + numOfSequenceParameterSets\n ].concat(sps).concat([track.pps.length // numOfPictureParameterSets\n ]).concat(pps))); // \"PPS\"\n var width = track.width;\n var height = track.height;\n var hSpacing = track.pixelRatio[0];\n var vSpacing = track.pixelRatio[1];\n return MP4.box(MP4.types.avc1, new Uint8Array([0x00, 0x00, 0x00,\n // reserved\n 0x00, 0x00, 0x00,\n // reserved\n 0x00, 0x01,\n // data_reference_index\n 0x00, 0x00,\n // pre_defined\n 0x00, 0x00,\n // reserved\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n // pre_defined\n width >> 8 & 0xff, width & 0xff,\n // width\n height >> 8 & 0xff, height & 0xff,\n // height\n 0x00, 0x48, 0x00, 0x00,\n // horizresolution\n 0x00, 0x48, 0x00, 0x00,\n // vertresolution\n 0x00, 0x00, 0x00, 0x00,\n // reserved\n 0x00, 0x01,\n // frame_count\n 0x12, 0x64, 0x61, 0x69, 0x6c,\n // dailymotion/hls.js\n 0x79, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x68, 0x6c, 0x73, 0x2e, 0x6a, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n // compressorname\n 0x00, 0x18,\n // depth = 24\n 0x11, 0x11]),\n // pre_defined = -1\n avcc, MP4.box(MP4.types.btrt, new Uint8Array([0x00, 0x1c, 0x9c, 0x80,\n // bufferSizeDB\n 0x00, 0x2d, 0xc6, 0xc0,\n // maxBitrate\n 0x00, 0x2d, 0xc6, 0xc0])),\n // avgBitrate\n MP4.box(MP4.types.pasp, new Uint8Array([hSpacing >> 24,\n // hSpacing\n hSpacing >> 16 & 0xff, hSpacing >> 8 & 0xff, hSpacing & 0xff, vSpacing >> 24,\n // vSpacing\n vSpacing >> 16 & 0xff, vSpacing >> 8 & 0xff, vSpacing & 0xff])));\n };\n MP4.esds = function esds(track) {\n var configlen = track.config.length;\n return new Uint8Array([0x00,\n // version 0\n 0x00, 0x00, 0x00,\n // flags\n\n 0x03,\n // descriptor_type\n 0x17 + configlen,\n // length\n 0x00, 0x01,\n // es_id\n 0x00,\n // stream_priority\n\n 0x04,\n // descriptor_type\n 0x0f + configlen,\n // length\n 0x40,\n // codec : mpeg4_audio\n 0x15,\n // stream_type\n 0x00, 0x00, 0x00,\n // buffer_size\n 0x00, 0x00, 0x00, 0x00,\n // maxBitrate\n 0x00, 0x00, 0x00, 0x00,\n // avgBitrate\n\n 0x05 // descriptor_type\n ].concat([configlen]).concat(track.config).concat([0x06, 0x01, 0x02])); // GASpecificConfig)); // length + audio config descriptor\n };\n MP4.audioStsd = function audioStsd(track) {\n var samplerate = track.samplerate;\n return new Uint8Array([0x00, 0x00, 0x00,\n // reserved\n 0x00, 0x00, 0x00,\n // reserved\n 0x00, 0x01,\n // data_reference_index\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n // reserved\n 0x00, track.channelCount,\n // channelcount\n 0x00, 0x10,\n // sampleSize:16bits\n 0x00, 0x00, 0x00, 0x00,\n // reserved2\n samplerate >> 8 & 0xff, samplerate & 0xff,\n //\n 0x00, 0x00]);\n };\n MP4.mp4a = function mp4a(track) {\n return MP4.box(MP4.types.mp4a, MP4.audioStsd(track), MP4.box(MP4.types.esds, MP4.esds(track)));\n };\n MP4.mp3 = function mp3(track) {\n return MP4.box(MP4.types['.mp3'], MP4.audioStsd(track));\n };\n MP4.ac3 = function ac3(track) {\n return MP4.box(MP4.types['ac-3'], MP4.audioStsd(track), MP4.box(MP4.types.dac3, track.config));\n };\n MP4.stsd = function stsd(track) {\n if (track.type === 'audio') {\n if (track.segmentCodec === 'mp3' && track.codec === 'mp3') {\n return MP4.box(MP4.types.stsd, MP4.STSD, MP4.mp3(track));\n }\n if (track.segmentCodec === 'ac3') {\n return MP4.box(MP4.types.stsd, MP4.STSD, MP4.ac3(track));\n }\n return MP4.box(MP4.types.stsd, MP4.STSD, MP4.mp4a(track));\n } else {\n return MP4.box(MP4.types.stsd, MP4.STSD, MP4.avc1(track));\n }\n };\n MP4.tkhd = function tkhd(track) {\n var id = track.id;\n var duration = track.duration * track.timescale;\n var width = track.width;\n var height = track.height;\n var upperWordDuration = Math.floor(duration / (UINT32_MAX + 1));\n var lowerWordDuration = Math.floor(duration % (UINT32_MAX + 1));\n return MP4.box(MP4.types.tkhd, new Uint8Array([0x01,\n // version 1\n 0x00, 0x00, 0x07,\n // flags\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,\n // creation_time\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03,\n // modification_time\n id >> 24 & 0xff, id >> 16 & 0xff, id >> 8 & 0xff, id & 0xff,\n // track_ID\n 0x00, 0x00, 0x00, 0x00,\n // reserved\n upperWordDuration >> 24, upperWordDuration >> 16 & 0xff, upperWordDuration >> 8 & 0xff, upperWordDuration & 0xff, lowerWordDuration >> 24, lowerWordDuration >> 16 & 0xff, lowerWordDuration >> 8 & 0xff, lowerWordDuration & 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n // reserved\n 0x00, 0x00,\n // layer\n 0x00, 0x00,\n // alternate_group\n 0x00, 0x00,\n // non-audio track volume\n 0x00, 0x00,\n // reserved\n 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,\n // transformation: unity matrix\n width >> 8 & 0xff, width & 0xff, 0x00, 0x00,\n // width\n height >> 8 & 0xff, height & 0xff, 0x00, 0x00 // height\n ]));\n };\n MP4.traf = function traf(track, baseMediaDecodeTime) {\n var sampleDependencyTable = MP4.sdtp(track);\n var id = track.id;\n var upperWordBaseMediaDecodeTime = Math.floor(baseMediaDecodeTime / (UINT32_MAX + 1));\n var lowerWordBaseMediaDecodeTime = Math.floor(baseMediaDecodeTime % (UINT32_MAX + 1));\n return MP4.box(MP4.types.traf, MP4.box(MP4.types.tfhd, new Uint8Array([0x00,\n // version 0\n 0x00, 0x00, 0x00,\n // flags\n id >> 24, id >> 16 & 0xff, id >> 8 & 0xff, id & 0xff // track_ID\n ])), MP4.box(MP4.types.tfdt, new Uint8Array([0x01,\n // version 1\n 0x00, 0x00, 0x00,\n // flags\n upperWordBaseMediaDecodeTime >> 24, upperWordBaseMediaDecodeTime >> 16 & 0xff, upperWordBaseMediaDecodeTime >> 8 & 0xff, upperWordBaseMediaDecodeTime & 0xff, lowerWordBaseMediaDecodeTime >> 24, lowerWordBaseMediaDecodeTime >> 16 & 0xff, lowerWordBaseMediaDecodeTime >> 8 & 0xff, lowerWordBaseMediaDecodeTime & 0xff])), MP4.trun(track, sampleDependencyTable.length + 16 +\n // tfhd\n 20 +\n // tfdt\n 8 +\n // traf header\n 16 +\n // mfhd\n 8 +\n // moof header\n 8),\n // mdat header\n sampleDependencyTable);\n }\n\n /**\n * Generate a track box.\n * @param track a track definition\n */;\n MP4.trak = function trak(track) {\n track.duration = track.duration || 0xffffffff;\n return MP4.box(MP4.types.trak, MP4.tkhd(track), MP4.mdia(track));\n };\n MP4.trex = function trex(track) {\n var id = track.id;\n return MP4.box(MP4.types.trex, new Uint8Array([0x00,\n // version 0\n 0x00, 0x00, 0x00,\n // flags\n id >> 24, id >> 16 & 0xff, id >> 8 & 0xff, id & 0xff,\n // track_ID\n 0x00, 0x00, 0x00, 0x01,\n // default_sample_description_index\n 0x00, 0x00, 0x00, 0x00,\n // default_sample_duration\n 0x00, 0x00, 0x00, 0x00,\n // default_sample_size\n 0x00, 0x01, 0x00, 0x01 // default_sample_flags\n ]));\n };\n MP4.trun = function trun(track, offset) {\n var samples = track.samples || [];\n var len = samples.length;\n var arraylen = 12 + 16 * len;\n var array = new Uint8Array(arraylen);\n var i;\n var sample;\n var duration;\n var size;\n var flags;\n var cts;\n offset += 8 + arraylen;\n array.set([track.type === 'video' ? 0x01 : 0x00,\n // version 1 for video with signed-int sample_composition_time_offset\n 0x00, 0x0f, 0x01,\n // flags\n len >>> 24 & 0xff, len >>> 16 & 0xff, len >>> 8 & 0xff, len & 0xff,\n // sample_count\n offset >>> 24 & 0xff, offset >>> 16 & 0xff, offset >>> 8 & 0xff, offset & 0xff // data_offset\n ], 0);\n for (i = 0; i < len; i++) {\n sample = samples[i];\n duration = sample.duration;\n size = sample.size;\n flags = sample.flags;\n cts = sample.cts;\n array.set([duration >>> 24 & 0xff, duration >>> 16 & 0xff, duration >>> 8 & 0xff, duration & 0xff,\n // sample_duration\n size >>> 24 & 0xff, size >>> 16 & 0xff, size >>> 8 & 0xff, size & 0xff,\n // sample_size\n flags.isLeading << 2 | flags.dependsOn, flags.isDependedOn << 6 | flags.hasRedundancy << 4 | flags.paddingValue << 1 | flags.isNonSync, flags.degradPrio & 0xf0 << 8, flags.degradPrio & 0x0f,\n // sample_flags\n cts >>> 24 & 0xff, cts >>> 16 & 0xff, cts >>> 8 & 0xff, cts & 0xff // sample_composition_time_offset\n ], 12 + 16 * i);\n }\n return MP4.box(MP4.types.trun, array);\n };\n MP4.initSegment = function initSegment(tracks) {\n if (!MP4.types) {\n MP4.init();\n }\n var movie = MP4.moov(tracks);\n var result = appendUint8Array(MP4.FTYP, movie);\n return result;\n };\n return MP4;\n }();\n MP4.types = void 0;\n MP4.HDLR_TYPES = void 0;\n MP4.STTS = void 0;\n MP4.STSC = void 0;\n MP4.STCO = void 0;\n MP4.STSZ = void 0;\n MP4.VMHD = void 0;\n MP4.SMHD = void 0;\n MP4.STSD = void 0;\n MP4.FTYP = void 0;\n MP4.DINF = void 0;\n\n var MPEG_TS_CLOCK_FREQ_HZ = 90000;\n function toTimescaleFromBase(baseTime, destScale, srcBase, round) {\n if (srcBase === void 0) {\n srcBase = 1;\n }\n if (round === void 0) {\n round = false;\n }\n var result = baseTime * destScale * srcBase; // equivalent to `(value * scale) / (1 / base)`\n return round ? Math.round(result) : result;\n }\n function toTimescaleFromScale(baseTime, destScale, srcScale, round) {\n if (srcScale === void 0) {\n srcScale = 1;\n }\n if (round === void 0) {\n round = false;\n }\n return toTimescaleFromBase(baseTime, destScale, 1 / srcScale, round);\n }\n function toMsFromMpegTsClock(baseTime, round) {\n if (round === void 0) {\n round = false;\n }\n return toTimescaleFromBase(baseTime, 1000, 1 / MPEG_TS_CLOCK_FREQ_HZ, round);\n }\n function toMpegTsClockFromTimescale(baseTime, srcScale) {\n if (srcScale === void 0) {\n srcScale = 1;\n }\n return toTimescaleFromBase(baseTime, MPEG_TS_CLOCK_FREQ_HZ, 1 / srcScale);\n }\n\n var MAX_SILENT_FRAME_DURATION = 10 * 1000; // 10 seconds\n var AAC_SAMPLES_PER_FRAME = 1024;\n var MPEG_AUDIO_SAMPLE_PER_FRAME = 1152;\n var AC3_SAMPLES_PER_FRAME = 1536;\n var chromeVersion = null;\n var safariWebkitVersion = null;\n var MP4Remuxer = /*#__PURE__*/function () {\n function MP4Remuxer(observer, config, typeSupported, vendor) {\n this.observer = void 0;\n this.config = void 0;\n this.typeSupported = void 0;\n this.ISGenerated = false;\n this._initPTS = null;\n this._initDTS = null;\n this.nextAvcDts = null;\n this.nextAudioPts = null;\n this.videoSampleDuration = null;\n this.isAudioContiguous = false;\n this.isVideoContiguous = false;\n this.videoTrackConfig = void 0;\n this.observer = observer;\n this.config = config;\n this.typeSupported = typeSupported;\n this.ISGenerated = false;\n if (chromeVersion === null) {\n var userAgent = navigator.userAgent || '';\n var result = userAgent.match(/Chrome\\/(\\d+)/i);\n chromeVersion = result ? parseInt(result[1]) : 0;\n }\n if (safariWebkitVersion === null) {\n var _result = navigator.userAgent.match(/Safari\\/(\\d+)/i);\n safariWebkitVersion = _result ? parseInt(_result[1]) : 0;\n }\n }\n var _proto = MP4Remuxer.prototype;\n _proto.destroy = function destroy() {\n // @ts-ignore\n this.config = this.videoTrackConfig = this._initPTS = this._initDTS = null;\n };\n _proto.resetTimeStamp = function resetTimeStamp(defaultTimeStamp) {\n logger.log('[mp4-remuxer]: initPTS & initDTS reset');\n this._initPTS = this._initDTS = defaultTimeStamp;\n };\n _proto.resetNextTimestamp = function resetNextTimestamp() {\n logger.log('[mp4-remuxer]: reset next timestamp');\n this.isVideoContiguous = false;\n this.isAudioContiguous = false;\n };\n _proto.resetInitSegment = function resetInitSegment() {\n logger.log('[mp4-remuxer]: ISGenerated flag reset');\n this.ISGenerated = false;\n this.videoTrackConfig = undefined;\n };\n _proto.getVideoStartPts = function getVideoStartPts(videoSamples) {\n var rolloverDetected = false;\n var startPTS = videoSamples.reduce(function (minPTS, sample) {\n var delta = sample.pts - minPTS;\n if (delta < -4294967296) {\n // 2^32, see PTSNormalize for reasoning, but we're hitting a rollover here, and we don't want that to impact the timeOffset calculation\n rolloverDetected = true;\n return normalizePts(minPTS, sample.pts);\n } else if (delta > 0) {\n return minPTS;\n } else {\n return sample.pts;\n }\n }, videoSamples[0].pts);\n if (rolloverDetected) {\n logger.debug('PTS rollover detected');\n }\n return startPTS;\n };\n _proto.remux = function remux(audioTrack, videoTrack, id3Track, textTrack, timeOffset, accurateTimeOffset, flush, playlistType) {\n var video;\n var audio;\n var initSegment;\n var text;\n var id3;\n var independent;\n var audioTimeOffset = timeOffset;\n var videoTimeOffset = timeOffset;\n\n // If we're remuxing audio and video progressively, wait until we've received enough samples for each track before proceeding.\n // This is done to synchronize the audio and video streams. We know if the current segment will have samples if the \"pid\"\n // parameter is greater than -1. The pid is set when the PMT is parsed, which contains the tracks list.\n // However, if the initSegment has already been generated, or we've reached the end of a segment (flush),\n // then we can remux one track without waiting for the other.\n var hasAudio = audioTrack.pid > -1;\n var hasVideo = videoTrack.pid > -1;\n var length = videoTrack.samples.length;\n var enoughAudioSamples = audioTrack.samples.length > 0;\n var enoughVideoSamples = flush && length > 0 || length > 1;\n var canRemuxAvc = (!hasAudio || enoughAudioSamples) && (!hasVideo || enoughVideoSamples) || this.ISGenerated || flush;\n if (canRemuxAvc) {\n if (this.ISGenerated) {\n var _videoTrack$pixelRati, _config$pixelRatio, _videoTrack$pixelRati2, _config$pixelRatio2;\n var config = this.videoTrackConfig;\n if (config && (videoTrack.width !== config.width || videoTrack.height !== config.height || ((_videoTrack$pixelRati = videoTrack.pixelRatio) == null ? void 0 : _videoTrack$pixelRati[0]) !== ((_config$pixelRatio = config.pixelRatio) == null ? void 0 : _config$pixelRatio[0]) || ((_videoTrack$pixelRati2 = videoTrack.pixelRatio) == null ? void 0 : _videoTrack$pixelRati2[1]) !== ((_config$pixelRatio2 = config.pixelRatio) == null ? void 0 : _config$pixelRatio2[1]))) {\n this.resetInitSegment();\n }\n } else {\n initSegment = this.generateIS(audioTrack, videoTrack, timeOffset, accurateTimeOffset);\n }\n var isVideoContiguous = this.isVideoContiguous;\n var firstKeyFrameIndex = -1;\n var firstKeyFramePTS;\n if (enoughVideoSamples) {\n firstKeyFrameIndex = findKeyframeIndex(videoTrack.samples);\n if (!isVideoContiguous && this.config.forceKeyFrameOnDiscontinuity) {\n independent = true;\n if (firstKeyFrameIndex > 0) {\n logger.warn(\"[mp4-remuxer]: Dropped \" + firstKeyFrameIndex + \" out of \" + length + \" video samples due to a missing keyframe\");\n var startPTS = this.getVideoStartPts(videoTrack.samples);\n videoTrack.samples = videoTrack.samples.slice(firstKeyFrameIndex);\n videoTrack.dropped += firstKeyFrameIndex;\n videoTimeOffset += (videoTrack.samples[0].pts - startPTS) / videoTrack.inputTimeScale;\n firstKeyFramePTS = videoTimeOffset;\n } else if (firstKeyFrameIndex === -1) {\n logger.warn(\"[mp4-remuxer]: No keyframe found out of \" + length + \" video samples\");\n independent = false;\n }\n }\n }\n if (this.ISGenerated) {\n if (enoughAudioSamples && enoughVideoSamples) {\n // timeOffset is expected to be the offset of the first timestamp of this fragment (first DTS)\n // if first audio DTS is not aligned with first video DTS then we need to take that into account\n // when providing timeOffset to remuxAudio / remuxVideo. if we don't do that, there might be a permanent / small\n // drift between audio and video streams\n var _startPTS = this.getVideoStartPts(videoTrack.samples);\n var tsDelta = normalizePts(audioTrack.samples[0].pts, _startPTS) - _startPTS;\n var audiovideoTimestampDelta = tsDelta / videoTrack.inputTimeScale;\n audioTimeOffset += Math.max(0, audiovideoTimestampDelta);\n videoTimeOffset += Math.max(0, -audiovideoTimestampDelta);\n }\n\n // Purposefully remuxing audio before video, so that remuxVideo can use nextAudioPts, which is calculated in remuxAudio.\n if (enoughAudioSamples) {\n // if initSegment was generated without audio samples, regenerate it again\n if (!audioTrack.samplerate) {\n logger.warn('[mp4-remuxer]: regenerate InitSegment as audio detected');\n initSegment = this.generateIS(audioTrack, videoTrack, timeOffset, accurateTimeOffset);\n }\n audio = this.remuxAudio(audioTrack, audioTimeOffset, this.isAudioContiguous, accurateTimeOffset, hasVideo || enoughVideoSamples || playlistType === PlaylistLevelType.AUDIO ? videoTimeOffset : undefined);\n if (enoughVideoSamples) {\n var audioTrackLength = audio ? audio.endPTS - audio.startPTS : 0;\n // if initSegment was generated without video samples, regenerate it again\n if (!videoTrack.inputTimeScale) {\n logger.warn('[mp4-remuxer]: regenerate InitSegment as video detected');\n initSegment = this.generateIS(audioTrack, videoTrack, timeOffset, accurateTimeOffset);\n }\n video = this.remuxVideo(videoTrack, videoTimeOffset, isVideoContiguous, audioTrackLength);\n }\n } else if (enoughVideoSamples) {\n video = this.remuxVideo(videoTrack, videoTimeOffset, isVideoContiguous, 0);\n }\n if (video) {\n video.firstKeyFrame = firstKeyFrameIndex;\n video.independent = firstKeyFrameIndex !== -1;\n video.firstKeyFramePTS = firstKeyFramePTS;\n }\n }\n }\n\n // Allow ID3 and text to remux, even if more audio/video samples are required\n if (this.ISGenerated && this._initPTS && this._initDTS) {\n if (id3Track.samples.length) {\n id3 = flushTextTrackMetadataCueSamples(id3Track, timeOffset, this._initPTS, this._initDTS);\n }\n if (textTrack.samples.length) {\n text = flushTextTrackUserdataCueSamples(textTrack, timeOffset, this._initPTS);\n }\n }\n return {\n audio: audio,\n video: video,\n initSegment: initSegment,\n independent: independent,\n text: text,\n id3: id3\n };\n };\n _proto.generateIS = function generateIS(audioTrack, videoTrack, timeOffset, accurateTimeOffset) {\n var audioSamples = audioTrack.samples;\n var videoSamples = videoTrack.samples;\n var typeSupported = this.typeSupported;\n var tracks = {};\n var _initPTS = this._initPTS;\n var computePTSDTS = !_initPTS || accurateTimeOffset;\n var container = 'audio/mp4';\n var initPTS;\n var initDTS;\n var timescale;\n if (computePTSDTS) {\n initPTS = initDTS = Infinity;\n }\n if (audioTrack.config && audioSamples.length) {\n // let's use audio sampling rate as MP4 time scale.\n // rationale is that there is a integer nb of audio frames per audio sample (1024 for AAC)\n // using audio sampling rate here helps having an integer MP4 frame duration\n // this avoids potential rounding issue and AV sync issue\n audioTrack.timescale = audioTrack.samplerate;\n switch (audioTrack.segmentCodec) {\n case 'mp3':\n if (typeSupported.mpeg) {\n // Chrome and Safari\n container = 'audio/mpeg';\n audioTrack.codec = '';\n } else if (typeSupported.mp3) {\n // Firefox\n audioTrack.codec = 'mp3';\n }\n break;\n case 'ac3':\n audioTrack.codec = 'ac-3';\n break;\n }\n tracks.audio = {\n id: 'audio',\n container: container,\n codec: audioTrack.codec,\n initSegment: audioTrack.segmentCodec === 'mp3' && typeSupported.mpeg ? new Uint8Array(0) : MP4.initSegment([audioTrack]),\n metadata: {\n channelCount: audioTrack.channelCount\n }\n };\n if (computePTSDTS) {\n timescale = audioTrack.inputTimeScale;\n if (!_initPTS || timescale !== _initPTS.timescale) {\n // remember first PTS of this demuxing context. for audio, PTS = DTS\n initPTS = initDTS = audioSamples[0].pts - Math.round(timescale * timeOffset);\n } else {\n computePTSDTS = false;\n }\n }\n }\n if (videoTrack.sps && videoTrack.pps && videoSamples.length) {\n // let's use input time scale as MP4 video timescale\n // we use input time scale straight away to avoid rounding issues on frame duration / cts computation\n videoTrack.timescale = videoTrack.inputTimeScale;\n tracks.video = {\n id: 'main',\n container: 'video/mp4',\n codec: videoTrack.codec,\n initSegment: MP4.initSegment([videoTrack]),\n metadata: {\n width: videoTrack.width,\n height: videoTrack.height\n }\n };\n if (computePTSDTS) {\n timescale = videoTrack.inputTimeScale;\n if (!_initPTS || timescale !== _initPTS.timescale) {\n var startPTS = this.getVideoStartPts(videoSamples);\n var startOffset = Math.round(timescale * timeOffset);\n initDTS = Math.min(initDTS, normalizePts(videoSamples[0].dts, startPTS) - startOffset);\n initPTS = Math.min(initPTS, startPTS - startOffset);\n } else {\n computePTSDTS = false;\n }\n }\n this.videoTrackConfig = {\n width: videoTrack.width,\n height: videoTrack.height,\n pixelRatio: videoTrack.pixelRatio\n };\n }\n if (Object.keys(tracks).length) {\n this.ISGenerated = true;\n if (computePTSDTS) {\n this._initPTS = {\n baseTime: initPTS,\n timescale: timescale\n };\n this._initDTS = {\n baseTime: initDTS,\n timescale: timescale\n };\n } else {\n initPTS = timescale = undefined;\n }\n return {\n tracks: tracks,\n initPTS: initPTS,\n timescale: timescale\n };\n }\n };\n _proto.remuxVideo = function remuxVideo(track, timeOffset, contiguous, audioTrackLength) {\n var timeScale = track.inputTimeScale;\n var inputSamples = track.samples;\n var outputSamples = [];\n var nbSamples = inputSamples.length;\n var initPTS = this._initPTS;\n var nextAvcDts = this.nextAvcDts;\n var offset = 8;\n var mp4SampleDuration = this.videoSampleDuration;\n var firstDTS;\n var lastDTS;\n var minPTS = Number.POSITIVE_INFINITY;\n var maxPTS = Number.NEGATIVE_INFINITY;\n var sortSamples = false;\n\n // if parsed fragment is contiguous with last one, let's use last DTS value as reference\n if (!contiguous || nextAvcDts === null) {\n var pts = timeOffset * timeScale;\n var cts = inputSamples[0].pts - normalizePts(inputSamples[0].dts, inputSamples[0].pts);\n if (chromeVersion && nextAvcDts !== null && Math.abs(pts - cts - nextAvcDts) < 15000) {\n // treat as contigous to adjust samples that would otherwise produce video buffer gaps in Chrome\n contiguous = true;\n } else {\n // if not contiguous, let's use target timeOffset\n nextAvcDts = pts - cts;\n }\n }\n\n // PTS is coded on 33bits, and can loop from -2^32 to 2^32\n // PTSNormalize will make PTS/DTS value monotonic, we use last known DTS value as reference value\n var initTime = initPTS.baseTime * timeScale / initPTS.timescale;\n for (var i = 0; i < nbSamples; i++) {\n var sample = inputSamples[i];\n sample.pts = normalizePts(sample.pts - initTime, nextAvcDts);\n sample.dts = normalizePts(sample.dts - initTime, nextAvcDts);\n if (sample.dts < inputSamples[i > 0 ? i - 1 : i].dts) {\n sortSamples = true;\n }\n }\n\n // sort video samples by DTS then PTS then demux id order\n if (sortSamples) {\n inputSamples.sort(function (a, b) {\n var deltadts = a.dts - b.dts;\n var deltapts = a.pts - b.pts;\n return deltadts || deltapts;\n });\n }\n\n // Get first/last DTS\n firstDTS = inputSamples[0].dts;\n lastDTS = inputSamples[inputSamples.length - 1].dts;\n\n // Sample duration (as expected by trun MP4 boxes), should be the delta between sample DTS\n // set this constant duration as being the avg delta between consecutive DTS.\n var inputDuration = lastDTS - firstDTS;\n var averageSampleDuration = inputDuration ? Math.round(inputDuration / (nbSamples - 1)) : mp4SampleDuration || track.inputTimeScale / 30;\n\n // if fragment are contiguous, detect hole/overlapping between fragments\n if (contiguous) {\n // check timestamp continuity across consecutive fragments (this is to remove inter-fragment gap/hole)\n var delta = firstDTS - nextAvcDts;\n var foundHole = delta > averageSampleDuration;\n var foundOverlap = delta < -1;\n if (foundHole || foundOverlap) {\n if (foundHole) {\n logger.warn(\"AVC: \" + toMsFromMpegTsClock(delta, true) + \" ms (\" + delta + \"dts) hole between fragments detected at \" + timeOffset.toFixed(3));\n } else {\n logger.warn(\"AVC: \" + toMsFromMpegTsClock(-delta, true) + \" ms (\" + delta + \"dts) overlapping between fragments detected at \" + timeOffset.toFixed(3));\n }\n if (!foundOverlap || nextAvcDts >= inputSamples[0].pts || chromeVersion) {\n firstDTS = nextAvcDts;\n var firstPTS = inputSamples[0].pts - delta;\n if (foundHole) {\n inputSamples[0].dts = firstDTS;\n inputSamples[0].pts = firstPTS;\n } else {\n for (var _i = 0; _i < inputSamples.length; _i++) {\n if (inputSamples[_i].dts > firstPTS) {\n break;\n }\n inputSamples[_i].dts -= delta;\n inputSamples[_i].pts -= delta;\n }\n }\n logger.log(\"Video: Initial PTS/DTS adjusted: \" + toMsFromMpegTsClock(firstPTS, true) + \"/\" + toMsFromMpegTsClock(firstDTS, true) + \", delta: \" + toMsFromMpegTsClock(delta, true) + \" ms\");\n }\n }\n }\n firstDTS = Math.max(0, firstDTS);\n var nbNalu = 0;\n var naluLen = 0;\n var dtsStep = firstDTS;\n for (var _i2 = 0; _i2 < nbSamples; _i2++) {\n // compute total/avc sample length and nb of NAL units\n var _sample = inputSamples[_i2];\n var units = _sample.units;\n var nbUnits = units.length;\n var sampleLen = 0;\n for (var j = 0; j < nbUnits; j++) {\n sampleLen += units[j].data.length;\n }\n naluLen += sampleLen;\n nbNalu += nbUnits;\n _sample.length = sampleLen;\n\n // ensure sample monotonic DTS\n if (_sample.dts < dtsStep) {\n _sample.dts = dtsStep;\n dtsStep += averageSampleDuration / 4 | 0 || 1;\n } else {\n dtsStep = _sample.dts;\n }\n minPTS = Math.min(_sample.pts, minPTS);\n maxPTS = Math.max(_sample.pts, maxPTS);\n }\n lastDTS = inputSamples[nbSamples - 1].dts;\n\n /* concatenate the video data and construct the mdat in place\n (need 8 more bytes to fill length and mpdat type) */\n var mdatSize = naluLen + 4 * nbNalu + 8;\n var mdat;\n try {\n mdat = new Uint8Array(mdatSize);\n } catch (err) {\n this.observer.emit(Events.ERROR, Events.ERROR, {\n type: ErrorTypes.MUX_ERROR,\n details: ErrorDetails.REMUX_ALLOC_ERROR,\n fatal: false,\n error: err,\n bytes: mdatSize,\n reason: \"fail allocating video mdat \" + mdatSize\n });\n return;\n }\n var view = new DataView(mdat.buffer);\n view.setUint32(0, mdatSize);\n mdat.set(MP4.types.mdat, 4);\n var stretchedLastFrame = false;\n var minDtsDelta = Number.POSITIVE_INFINITY;\n var minPtsDelta = Number.POSITIVE_INFINITY;\n var maxDtsDelta = Number.NEGATIVE_INFINITY;\n var maxPtsDelta = Number.NEGATIVE_INFINITY;\n for (var _i3 = 0; _i3 < nbSamples; _i3++) {\n var _VideoSample = inputSamples[_i3];\n var VideoSampleUnits = _VideoSample.units;\n var mp4SampleLength = 0;\n // convert NALU bitstream to MP4 format (prepend NALU with size field)\n for (var _j = 0, _nbUnits = VideoSampleUnits.length; _j < _nbUnits; _j++) {\n var unit = VideoSampleUnits[_j];\n var unitData = unit.data;\n var unitDataLen = unit.data.byteLength;\n view.setUint32(offset, unitDataLen);\n offset += 4;\n mdat.set(unitData, offset);\n offset += unitDataLen;\n mp4SampleLength += 4 + unitDataLen;\n }\n\n // expected sample duration is the Decoding Timestamp diff of consecutive samples\n var ptsDelta = void 0;\n if (_i3 < nbSamples - 1) {\n mp4SampleDuration = inputSamples[_i3 + 1].dts - _VideoSample.dts;\n ptsDelta = inputSamples[_i3 + 1].pts - _VideoSample.pts;\n } else {\n var config = this.config;\n var lastFrameDuration = _i3 > 0 ? _VideoSample.dts - inputSamples[_i3 - 1].dts : averageSampleDuration;\n ptsDelta = _i3 > 0 ? _VideoSample.pts - inputSamples[_i3 - 1].pts : averageSampleDuration;\n if (config.stretchShortVideoTrack && this.nextAudioPts !== null) {\n // In some cases, a segment's audio track duration may exceed the video track duration.\n // Since we've already remuxed audio, and we know how long the audio track is, we look to\n // see if the delta to the next segment is longer than maxBufferHole.\n // If so, playback would potentially get stuck, so we artificially inflate\n // the duration of the last frame to minimize any potential gap between segments.\n var gapTolerance = Math.floor(config.maxBufferHole * timeScale);\n var deltaToFrameEnd = (audioTrackLength ? minPTS + audioTrackLength * timeScale : this.nextAudioPts) - _VideoSample.pts;\n if (deltaToFrameEnd > gapTolerance) {\n // We subtract lastFrameDuration from deltaToFrameEnd to try to prevent any video\n // frame overlap. maxBufferHole should be >> lastFrameDuration anyway.\n mp4SampleDuration = deltaToFrameEnd - lastFrameDuration;\n if (mp4SampleDuration < 0) {\n mp4SampleDuration = lastFrameDuration;\n } else {\n stretchedLastFrame = true;\n }\n logger.log(\"[mp4-remuxer]: It is approximately \" + deltaToFrameEnd / 90 + \" ms to the next segment; using duration \" + mp4SampleDuration / 90 + \" ms for the last video frame.\");\n } else {\n mp4SampleDuration = lastFrameDuration;\n }\n } else {\n mp4SampleDuration = lastFrameDuration;\n }\n }\n var compositionTimeOffset = Math.round(_VideoSample.pts - _VideoSample.dts);\n minDtsDelta = Math.min(minDtsDelta, mp4SampleDuration);\n maxDtsDelta = Math.max(maxDtsDelta, mp4SampleDuration);\n minPtsDelta = Math.min(minPtsDelta, ptsDelta);\n maxPtsDelta = Math.max(maxPtsDelta, ptsDelta);\n outputSamples.push(new Mp4Sample(_VideoSample.key, mp4SampleDuration, mp4SampleLength, compositionTimeOffset));\n }\n if (outputSamples.length) {\n if (chromeVersion) {\n if (chromeVersion < 70) {\n // Chrome workaround, mark first sample as being a Random Access Point (keyframe) to avoid sourcebuffer append issue\n // https://code.google.com/p/chromium/issues/detail?id=229412\n var flags = outputSamples[0].flags;\n flags.dependsOn = 2;\n flags.isNonSync = 0;\n }\n } else if (safariWebkitVersion) {\n // Fix for \"CNN special report, with CC\" in test-streams (Safari browser only)\n // Ignore DTS when frame durations are irregular. Safari MSE does not handle this leading to gaps.\n if (maxPtsDelta - minPtsDelta < maxDtsDelta - minDtsDelta && averageSampleDuration / maxDtsDelta < 0.025 && outputSamples[0].cts === 0) {\n logger.warn('Found irregular gaps in sample duration. Using PTS instead of DTS to determine MP4 sample duration.');\n var dts = firstDTS;\n for (var _i4 = 0, len = outputSamples.length; _i4 < len; _i4++) {\n var nextDts = dts + outputSamples[_i4].duration;\n var _pts = dts + outputSamples[_i4].cts;\n if (_i4 < len - 1) {\n var nextPts = nextDts + outputSamples[_i4 + 1].cts;\n outputSamples[_i4].duration = nextPts - _pts;\n } else {\n outputSamples[_i4].duration = _i4 ? outputSamples[_i4 - 1].duration : averageSampleDuration;\n }\n outputSamples[_i4].cts = 0;\n dts = nextDts;\n }\n }\n }\n }\n // next AVC sample DTS should be equal to last sample DTS + last sample duration (in PES timescale)\n mp4SampleDuration = stretchedLastFrame || !mp4SampleDuration ? averageSampleDuration : mp4SampleDuration;\n this.nextAvcDts = nextAvcDts = lastDTS + mp4SampleDuration;\n this.videoSampleDuration = mp4SampleDuration;\n this.isVideoContiguous = true;\n var moof = MP4.moof(track.sequenceNumber++, firstDTS, _extends({}, track, {\n samples: outputSamples\n }));\n var type = 'video';\n var data = {\n data1: moof,\n data2: mdat,\n startPTS: minPTS / timeScale,\n endPTS: (maxPTS + mp4SampleDuration) / timeScale,\n startDTS: firstDTS / timeScale,\n endDTS: nextAvcDts / timeScale,\n type: type,\n hasAudio: false,\n hasVideo: true,\n nb: outputSamples.length,\n dropped: track.dropped\n };\n track.samples = [];\n track.dropped = 0;\n return data;\n };\n _proto.getSamplesPerFrame = function getSamplesPerFrame(track) {\n switch (track.segmentCodec) {\n case 'mp3':\n return MPEG_AUDIO_SAMPLE_PER_FRAME;\n case 'ac3':\n return AC3_SAMPLES_PER_FRAME;\n default:\n return AAC_SAMPLES_PER_FRAME;\n }\n };\n _proto.remuxAudio = function remuxAudio(track, timeOffset, contiguous, accurateTimeOffset, videoTimeOffset) {\n var inputTimeScale = track.inputTimeScale;\n var mp4timeScale = track.samplerate ? track.samplerate : inputTimeScale;\n var scaleFactor = inputTimeScale / mp4timeScale;\n var mp4SampleDuration = this.getSamplesPerFrame(track);\n var inputSampleDuration = mp4SampleDuration * scaleFactor;\n var initPTS = this._initPTS;\n var rawMPEG = track.segmentCodec === 'mp3' && this.typeSupported.mpeg;\n var outputSamples = [];\n var alignedWithVideo = videoTimeOffset !== undefined;\n var inputSamples = track.samples;\n var offset = rawMPEG ? 0 : 8;\n var nextAudioPts = this.nextAudioPts || -1;\n\n // window.audioSamples ? window.audioSamples.push(inputSamples.map(s => s.pts)) : (window.audioSamples = [inputSamples.map(s => s.pts)]);\n\n // for audio samples, also consider consecutive fragments as being contiguous (even if a level switch occurs),\n // for sake of clarity:\n // consecutive fragments are frags with\n // - less than 100ms gaps between new time offset (if accurate) and next expected PTS OR\n // - less than 20 audio frames distance\n // contiguous fragments are consecutive fragments from same quality level (same level, new SN = old SN + 1)\n // this helps ensuring audio continuity\n // and this also avoids audio glitches/cut when switching quality, or reporting wrong duration on first audio frame\n var timeOffsetMpegTS = timeOffset * inputTimeScale;\n var initTime = initPTS.baseTime * inputTimeScale / initPTS.timescale;\n this.isAudioContiguous = contiguous = contiguous || inputSamples.length && nextAudioPts > 0 && (accurateTimeOffset && Math.abs(timeOffsetMpegTS - nextAudioPts) < 9000 || Math.abs(normalizePts(inputSamples[0].pts - initTime, timeOffsetMpegTS) - nextAudioPts) < 20 * inputSampleDuration);\n\n // compute normalized PTS\n inputSamples.forEach(function (sample) {\n sample.pts = normalizePts(sample.pts - initTime, timeOffsetMpegTS);\n });\n if (!contiguous || nextAudioPts < 0) {\n // filter out sample with negative PTS that are not playable anyway\n // if we don't remove these negative samples, they will shift all audio samples forward.\n // leading to audio overlap between current / next fragment\n inputSamples = inputSamples.filter(function (sample) {\n return sample.pts >= 0;\n });\n\n // in case all samples have negative PTS, and have been filtered out, return now\n if (!inputSamples.length) {\n return;\n }\n if (videoTimeOffset === 0) {\n // Set the start to 0 to match video so that start gaps larger than inputSampleDuration are filled with silence\n nextAudioPts = 0;\n } else if (accurateTimeOffset && !alignedWithVideo) {\n // When not seeking, not live, and LevelDetails.PTSKnown, use fragment start as predicted next audio PTS\n nextAudioPts = Math.max(0, timeOffsetMpegTS);\n } else {\n // if frags are not contiguous and if we cant trust time offset, let's use first sample PTS as next audio PTS\n nextAudioPts = inputSamples[0].pts;\n }\n }\n\n // If the audio track is missing samples, the frames seem to get \"left-shifted\" within the\n // resulting mp4 segment, causing sync issues and leaving gaps at the end of the audio segment.\n // In an effort to prevent this from happening, we inject frames here where there are gaps.\n // When possible, we inject a silent frame; when that's not possible, we duplicate the last\n // frame.\n\n if (track.segmentCodec === 'aac') {\n var maxAudioFramesDrift = this.config.maxAudioFramesDrift;\n for (var i = 0, nextPts = nextAudioPts; i < inputSamples.length; i++) {\n // First, let's see how far off this frame is from where we expect it to be\n var sample = inputSamples[i];\n var pts = sample.pts;\n var delta = pts - nextPts;\n var duration = Math.abs(1000 * delta / inputTimeScale);\n\n // When remuxing with video, if we're overlapping by more than a duration, drop this sample to stay in sync\n if (delta <= -maxAudioFramesDrift * inputSampleDuration && alignedWithVideo) {\n if (i === 0) {\n logger.warn(\"Audio frame @ \" + (pts / inputTimeScale).toFixed(3) + \"s overlaps nextAudioPts by \" + Math.round(1000 * delta / inputTimeScale) + \" ms.\");\n this.nextAudioPts = nextAudioPts = nextPts = pts;\n }\n } // eslint-disable-line brace-style\n\n // Insert missing frames if:\n // 1: We're more than maxAudioFramesDrift frame away\n // 2: Not more than MAX_SILENT_FRAME_DURATION away\n // 3: currentTime (aka nextPtsNorm) is not 0\n // 4: remuxing with video (videoTimeOffset !== undefined)\n else if (delta >= maxAudioFramesDrift * inputSampleDuration && duration < MAX_SILENT_FRAME_DURATION && alignedWithVideo) {\n var missing = Math.round(delta / inputSampleDuration);\n // Adjust nextPts so that silent samples are aligned with media pts. This will prevent media samples from\n // later being shifted if nextPts is based on timeOffset and delta is not a multiple of inputSampleDuration.\n nextPts = pts - missing * inputSampleDuration;\n if (nextPts < 0) {\n missing--;\n nextPts += inputSampleDuration;\n }\n if (i === 0) {\n this.nextAudioPts = nextAudioPts = nextPts;\n }\n logger.warn(\"[mp4-remuxer]: Injecting \" + missing + \" audio frame @ \" + (nextPts / inputTimeScale).toFixed(3) + \"s due to \" + Math.round(1000 * delta / inputTimeScale) + \" ms gap.\");\n for (var j = 0; j < missing; j++) {\n var newStamp = Math.max(nextPts, 0);\n var fillFrame = AAC.getSilentFrame(track.manifestCodec || track.codec, track.channelCount);\n if (!fillFrame) {\n logger.log('[mp4-remuxer]: Unable to get silent frame for given audio codec; duplicating last frame instead.');\n fillFrame = sample.unit.subarray();\n }\n inputSamples.splice(i, 0, {\n unit: fillFrame,\n pts: newStamp\n });\n nextPts += inputSampleDuration;\n i++;\n }\n }\n sample.pts = nextPts;\n nextPts += inputSampleDuration;\n }\n }\n var firstPTS = null;\n var lastPTS = null;\n var mdat;\n var mdatSize = 0;\n var sampleLength = inputSamples.length;\n while (sampleLength--) {\n mdatSize += inputSamples[sampleLength].unit.byteLength;\n }\n for (var _j2 = 0, _nbSamples = inputSamples.length; _j2 < _nbSamples; _j2++) {\n var audioSample = inputSamples[_j2];\n var unit = audioSample.unit;\n var _pts2 = audioSample.pts;\n if (lastPTS !== null) {\n // If we have more than one sample, set the duration of the sample to the \"real\" duration; the PTS diff with\n // the previous sample\n var prevSample = outputSamples[_j2 - 1];\n prevSample.duration = Math.round((_pts2 - lastPTS) / scaleFactor);\n } else {\n if (contiguous && track.segmentCodec === 'aac') {\n // set PTS/DTS to expected PTS/DTS\n _pts2 = nextAudioPts;\n }\n // remember first PTS of our audioSamples\n firstPTS = _pts2;\n if (mdatSize > 0) {\n /* concatenate the audio data and construct the mdat in place\n (need 8 more bytes to fill length and mdat type) */\n mdatSize += offset;\n try {\n mdat = new Uint8Array(mdatSize);\n } catch (err) {\n this.observer.emit(Events.ERROR, Events.ERROR, {\n type: ErrorTypes.MUX_ERROR,\n details: ErrorDetails.REMUX_ALLOC_ERROR,\n fatal: false,\n error: err,\n bytes: mdatSize,\n reason: \"fail allocating audio mdat \" + mdatSize\n });\n return;\n }\n if (!rawMPEG) {\n var view = new DataView(mdat.buffer);\n view.setUint32(0, mdatSize);\n mdat.set(MP4.types.mdat, 4);\n }\n } else {\n // no audio samples\n return;\n }\n }\n mdat.set(unit, offset);\n var unitLen = unit.byteLength;\n offset += unitLen;\n // Default the sample's duration to the computed mp4SampleDuration, which will either be 1024 for AAC or 1152 for MPEG\n // In the case that we have 1 sample, this will be the duration. If we have more than one sample, the duration\n // becomes the PTS diff with the previous sample\n outputSamples.push(new Mp4Sample(true, mp4SampleDuration, unitLen, 0));\n lastPTS = _pts2;\n }\n\n // We could end up with no audio samples if all input samples were overlapping with the previously remuxed ones\n var nbSamples = outputSamples.length;\n if (!nbSamples) {\n return;\n }\n\n // The next audio sample PTS should be equal to last sample PTS + duration\n var lastSample = outputSamples[outputSamples.length - 1];\n this.nextAudioPts = nextAudioPts = lastPTS + scaleFactor * lastSample.duration;\n\n // Set the track samples from inputSamples to outputSamples before remuxing\n var moof = rawMPEG ? new Uint8Array(0) : MP4.moof(track.sequenceNumber++, firstPTS / scaleFactor, _extends({}, track, {\n samples: outputSamples\n }));\n\n // Clear the track samples. This also clears the samples array in the demuxer, since the reference is shared\n track.samples = [];\n var start = firstPTS / inputTimeScale;\n var end = nextAudioPts / inputTimeScale;\n var type = 'audio';\n var audioData = {\n data1: moof,\n data2: mdat,\n startPTS: start,\n endPTS: end,\n startDTS: start,\n endDTS: end,\n type: type,\n hasAudio: true,\n hasVideo: false,\n nb: nbSamples\n };\n this.isAudioContiguous = true;\n return audioData;\n };\n _proto.remuxEmptyAudio = function remuxEmptyAudio(track, timeOffset, contiguous, videoData) {\n var inputTimeScale = track.inputTimeScale;\n var mp4timeScale = track.samplerate ? track.samplerate : inputTimeScale;\n var scaleFactor = inputTimeScale / mp4timeScale;\n var nextAudioPts = this.nextAudioPts;\n // sync with video's timestamp\n var initDTS = this._initDTS;\n var init90kHz = initDTS.baseTime * 90000 / initDTS.timescale;\n var startDTS = (nextAudioPts !== null ? nextAudioPts : videoData.startDTS * inputTimeScale) + init90kHz;\n var endDTS = videoData.endDTS * inputTimeScale + init90kHz;\n // one sample's duration value\n var frameDuration = scaleFactor * AAC_SAMPLES_PER_FRAME;\n // samples count of this segment's duration\n var nbSamples = Math.ceil((endDTS - startDTS) / frameDuration);\n // silent frame\n var silentFrame = AAC.getSilentFrame(track.manifestCodec || track.codec, track.channelCount);\n logger.warn('[mp4-remuxer]: remux empty Audio');\n // Can't remux if we can't generate a silent frame...\n if (!silentFrame) {\n logger.trace('[mp4-remuxer]: Unable to remuxEmptyAudio since we were unable to get a silent frame for given audio codec');\n return;\n }\n var samples = [];\n for (var i = 0; i < nbSamples; i++) {\n var stamp = startDTS + i * frameDuration;\n samples.push({\n unit: silentFrame,\n pts: stamp,\n dts: stamp\n });\n }\n track.samples = samples;\n return this.remuxAudio(track, timeOffset, contiguous, false);\n };\n return MP4Remuxer;\n }();\n function normalizePts(value, reference) {\n var offset;\n if (reference === null) {\n return value;\n }\n if (reference < value) {\n // - 2^33\n offset = -8589934592;\n } else {\n // + 2^33\n offset = 8589934592;\n }\n /* PTS is 33bit (from 0 to 2^33 -1)\n if diff between value and reference is bigger than half of the amplitude (2^32) then it means that\n PTS looping occured. fill the gap */\n while (Math.abs(value - reference) > 4294967296) {\n value += offset;\n }\n return value;\n }\n function findKeyframeIndex(samples) {\n for (var i = 0; i < samples.length; i++) {\n if (samples[i].key) {\n return i;\n }\n }\n return -1;\n }\n function flushTextTrackMetadataCueSamples(track, timeOffset, initPTS, initDTS) {\n var length = track.samples.length;\n if (!length) {\n return;\n }\n var inputTimeScale = track.inputTimeScale;\n for (var index = 0; index < length; index++) {\n var sample = track.samples[index];\n // setting id3 pts, dts to relative time\n // using this._initPTS and this._initDTS to calculate relative time\n sample.pts = normalizePts(sample.pts - initPTS.baseTime * inputTimeScale / initPTS.timescale, timeOffset * inputTimeScale) / inputTimeScale;\n sample.dts = normalizePts(sample.dts - initDTS.baseTime * inputTimeScale / initDTS.timescale, timeOffset * inputTimeScale) / inputTimeScale;\n }\n var samples = track.samples;\n track.samples = [];\n return {\n samples: samples\n };\n }\n function flushTextTrackUserdataCueSamples(track, timeOffset, initPTS) {\n var length = track.samples.length;\n if (!length) {\n return;\n }\n var inputTimeScale = track.inputTimeScale;\n for (var index = 0; index < length; index++) {\n var sample = track.samples[index];\n // setting text pts, dts to relative time\n // using this._initPTS and this._initDTS to calculate relative time\n sample.pts = normalizePts(sample.pts - initPTS.baseTime * inputTimeScale / initPTS.timescale, timeOffset * inputTimeScale) / inputTimeScale;\n }\n track.samples.sort(function (a, b) {\n return a.pts - b.pts;\n });\n var samples = track.samples;\n track.samples = [];\n return {\n samples: samples\n };\n }\n var Mp4Sample = function Mp4Sample(isKeyframe, duration, size, cts) {\n this.size = void 0;\n this.duration = void 0;\n this.cts = void 0;\n this.flags = void 0;\n this.duration = duration;\n this.size = size;\n this.cts = cts;\n this.flags = {\n isLeading: 0,\n isDependedOn: 0,\n hasRedundancy: 0,\n degradPrio: 0,\n dependsOn: isKeyframe ? 2 : 1,\n isNonSync: isKeyframe ? 0 : 1\n };\n };\n\n var PassThroughRemuxer = /*#__PURE__*/function () {\n function PassThroughRemuxer() {\n this.emitInitSegment = false;\n this.audioCodec = void 0;\n this.videoCodec = void 0;\n this.initData = void 0;\n this.initPTS = null;\n this.initTracks = void 0;\n this.lastEndTime = null;\n }\n var _proto = PassThroughRemuxer.prototype;\n _proto.destroy = function destroy() {};\n _proto.resetTimeStamp = function resetTimeStamp(defaultInitPTS) {\n this.initPTS = defaultInitPTS;\n this.lastEndTime = null;\n };\n _proto.resetNextTimestamp = function resetNextTimestamp() {\n this.lastEndTime = null;\n };\n _proto.resetInitSegment = function resetInitSegment(initSegment, audioCodec, videoCodec, decryptdata) {\n this.audioCodec = audioCodec;\n this.videoCodec = videoCodec;\n this.generateInitSegment(patchEncyptionData(initSegment, decryptdata));\n this.emitInitSegment = true;\n };\n _proto.generateInitSegment = function generateInitSegment(initSegment) {\n var audioCodec = this.audioCodec,\n videoCodec = this.videoCodec;\n if (!(initSegment != null && initSegment.byteLength)) {\n this.initTracks = undefined;\n this.initData = undefined;\n return;\n }\n var initData = this.initData = parseInitSegment(initSegment);\n\n // Get codec from initSegment or fallback to default\n if (initData.audio) {\n audioCodec = getParsedTrackCodec(initData.audio, ElementaryStreamTypes.AUDIO);\n }\n if (initData.video) {\n videoCodec = getParsedTrackCodec(initData.video, ElementaryStreamTypes.VIDEO);\n }\n var tracks = {};\n if (initData.audio && initData.video) {\n tracks.audiovideo = {\n container: 'video/mp4',\n codec: audioCodec + ',' + videoCodec,\n initSegment: initSegment,\n id: 'main'\n };\n } else if (initData.audio) {\n tracks.audio = {\n container: 'audio/mp4',\n codec: audioCodec,\n initSegment: initSegment,\n id: 'audio'\n };\n } else if (initData.video) {\n tracks.video = {\n container: 'video/mp4',\n codec: videoCodec,\n initSegment: initSegment,\n id: 'main'\n };\n } else {\n logger.warn('[passthrough-remuxer.ts]: initSegment does not contain moov or trak boxes.');\n }\n this.initTracks = tracks;\n };\n _proto.remux = function remux(audioTrack, videoTrack, id3Track, textTrack, timeOffset, accurateTimeOffset) {\n var _initData, _initData2;\n var initPTS = this.initPTS,\n lastEndTime = this.lastEndTime;\n var result = {\n audio: undefined,\n video: undefined,\n text: textTrack,\n id3: id3Track,\n initSegment: undefined\n };\n\n // If we haven't yet set a lastEndDTS, or it was reset, set it to the provided timeOffset. We want to use the\n // lastEndDTS over timeOffset whenever possible; during progressive playback, the media source will not update\n // the media duration (which is what timeOffset is provided as) before we need to process the next chunk.\n if (!isFiniteNumber(lastEndTime)) {\n lastEndTime = this.lastEndTime = timeOffset || 0;\n }\n\n // The binary segment data is added to the videoTrack in the mp4demuxer. We don't check to see if the data is only\n // audio or video (or both); adding it to video was an arbitrary choice.\n var data = videoTrack.samples;\n if (!(data != null && data.length)) {\n return result;\n }\n var initSegment = {\n initPTS: undefined,\n timescale: 1\n };\n var initData = this.initData;\n if (!((_initData = initData) != null && _initData.length)) {\n this.generateInitSegment(data);\n initData = this.initData;\n }\n if (!((_initData2 = initData) != null && _initData2.length)) {\n // We can't remux if the initSegment could not be generated\n logger.warn('[passthrough-remuxer.ts]: Failed to generate initSegment.');\n return result;\n }\n if (this.emitInitSegment) {\n initSegment.tracks = this.initTracks;\n this.emitInitSegment = false;\n }\n var duration = getDuration(data, initData);\n var startDTS = getStartDTS(initData, data);\n var decodeTime = startDTS === null ? timeOffset : startDTS;\n if (isInvalidInitPts(initPTS, decodeTime, timeOffset, duration) || initSegment.timescale !== initPTS.timescale && accurateTimeOffset) {\n initSegment.initPTS = decodeTime - timeOffset;\n if (initPTS && initPTS.timescale === 1) {\n logger.warn(\"Adjusting initPTS by \" + (initSegment.initPTS - initPTS.baseTime));\n }\n this.initPTS = initPTS = {\n baseTime: initSegment.initPTS,\n timescale: 1\n };\n }\n var startTime = audioTrack ? decodeTime - initPTS.baseTime / initPTS.timescale : lastEndTime;\n var endTime = startTime + duration;\n offsetStartDTS(initData, data, initPTS.baseTime / initPTS.timescale);\n if (duration > 0) {\n this.lastEndTime = endTime;\n } else {\n logger.warn('Duration parsed from mp4 should be greater than zero');\n this.resetNextTimestamp();\n }\n var hasAudio = !!initData.audio;\n var hasVideo = !!initData.video;\n var type = '';\n if (hasAudio) {\n type += 'audio';\n }\n if (hasVideo) {\n type += 'video';\n }\n var track = {\n data1: data,\n startPTS: startTime,\n startDTS: startTime,\n endPTS: endTime,\n endDTS: endTime,\n type: type,\n hasAudio: hasAudio,\n hasVideo: hasVideo,\n nb: 1,\n dropped: 0\n };\n result.audio = track.type === 'audio' ? track : undefined;\n result.video = track.type !== 'audio' ? track : undefined;\n result.initSegment = initSegment;\n result.id3 = flushTextTrackMetadataCueSamples(id3Track, timeOffset, initPTS, initPTS);\n if (textTrack.samples.length) {\n result.text = flushTextTrackUserdataCueSamples(textTrack, timeOffset, initPTS);\n }\n return result;\n };\n return PassThroughRemuxer;\n }();\n function isInvalidInitPts(initPTS, startDTS, timeOffset, duration) {\n if (initPTS === null) {\n return true;\n }\n // InitPTS is invalid when distance from program would be more than segment duration or a minimum of one second\n var minDuration = Math.max(duration, 1);\n var startTime = startDTS - initPTS.baseTime / initPTS.timescale;\n return Math.abs(startTime - timeOffset) > minDuration;\n }\n function getParsedTrackCodec(track, type) {\n var parsedCodec = track == null ? void 0 : track.codec;\n if (parsedCodec && parsedCodec.length > 4) {\n return parsedCodec;\n }\n if (type === ElementaryStreamTypes.AUDIO) {\n if (parsedCodec === 'ec-3' || parsedCodec === 'ac-3' || parsedCodec === 'alac') {\n return parsedCodec;\n }\n if (parsedCodec === 'fLaC' || parsedCodec === 'Opus') {\n // Opting not to get `preferManagedMediaSource` from player config for isSupported() check for simplicity\n var preferManagedMediaSource = false;\n return getCodecCompatibleName(parsedCodec, preferManagedMediaSource);\n }\n var result = 'mp4a.40.5';\n logger.info(\"Parsed audio codec \\\"\" + parsedCodec + \"\\\" or audio object type not handled. Using \\\"\" + result + \"\\\"\");\n return result;\n }\n // Provide defaults based on codec type\n // This allows for some playback of some fmp4 playlists without CODECS defined in manifest\n logger.warn(\"Unhandled video codec \\\"\" + parsedCodec + \"\\\"\");\n if (parsedCodec === 'hvc1' || parsedCodec === 'hev1') {\n return 'hvc1.1.6.L120.90';\n }\n if (parsedCodec === 'av01') {\n return 'av01.0.04M.08';\n }\n return 'avc1.42e01e';\n }\n\n var now;\n // performance.now() not available on WebWorker, at least on Safari Desktop\n try {\n now = self.performance.now.bind(self.performance);\n } catch (err) {\n logger.debug('Unable to use Performance API on this environment');\n now = optionalSelf == null ? void 0 : optionalSelf.Date.now;\n }\n var muxConfig = [{\n demux: MP4Demuxer,\n remux: PassThroughRemuxer\n }, {\n demux: TSDemuxer,\n remux: MP4Remuxer\n }, {\n demux: AACDemuxer,\n remux: MP4Remuxer\n }, {\n demux: MP3Demuxer,\n remux: MP4Remuxer\n }];\n {\n muxConfig.splice(2, 0, {\n demux: AC3Demuxer,\n remux: MP4Remuxer\n });\n }\n var Transmuxer = /*#__PURE__*/function () {\n function Transmuxer(observer, typeSupported, config, vendor, id) {\n this.async = false;\n this.observer = void 0;\n this.typeSupported = void 0;\n this.config = void 0;\n this.vendor = void 0;\n this.id = void 0;\n this.demuxer = void 0;\n this.remuxer = void 0;\n this.decrypter = void 0;\n this.probe = void 0;\n this.decryptionPromise = null;\n this.transmuxConfig = void 0;\n this.currentTransmuxState = void 0;\n this.observer = observer;\n this.typeSupported = typeSupported;\n this.config = config;\n this.vendor = vendor;\n this.id = id;\n }\n var _proto = Transmuxer.prototype;\n _proto.configure = function configure(transmuxConfig) {\n this.transmuxConfig = transmuxConfig;\n if (this.decrypter) {\n this.decrypter.reset();\n }\n };\n _proto.push = function push(data, decryptdata, chunkMeta, state) {\n var _this = this;\n var stats = chunkMeta.transmuxing;\n stats.executeStart = now();\n var uintData = new Uint8Array(data);\n var currentTransmuxState = this.currentTransmuxState,\n transmuxConfig = this.transmuxConfig;\n if (state) {\n this.currentTransmuxState = state;\n }\n var _ref = state || currentTransmuxState,\n contiguous = _ref.contiguous,\n discontinuity = _ref.discontinuity,\n trackSwitch = _ref.trackSwitch,\n accurateTimeOffset = _ref.accurateTimeOffset,\n timeOffset = _ref.timeOffset,\n initSegmentChange = _ref.initSegmentChange;\n var audioCodec = transmuxConfig.audioCodec,\n videoCodec = transmuxConfig.videoCodec,\n defaultInitPts = transmuxConfig.defaultInitPts,\n duration = transmuxConfig.duration,\n initSegmentData = transmuxConfig.initSegmentData;\n var keyData = getEncryptionType(uintData, decryptdata);\n if (keyData && keyData.method === 'AES-128') {\n var decrypter = this.getDecrypter();\n // Software decryption is synchronous; webCrypto is not\n if (decrypter.isSync()) {\n // Software decryption is progressive. Progressive decryption may not return a result on each call. Any cached\n // data is handled in the flush() call\n var decryptedData = decrypter.softwareDecrypt(uintData, keyData.key.buffer, keyData.iv.buffer);\n // For Low-Latency HLS Parts, decrypt in place, since part parsing is expected on push progress\n var loadingParts = chunkMeta.part > -1;\n if (loadingParts) {\n decryptedData = decrypter.flush();\n }\n if (!decryptedData) {\n stats.executeEnd = now();\n return emptyResult(chunkMeta);\n }\n uintData = new Uint8Array(decryptedData);\n } else {\n this.decryptionPromise = decrypter.webCryptoDecrypt(uintData, keyData.key.buffer, keyData.iv.buffer).then(function (decryptedData) {\n // Calling push here is important; if flush() is called while this is still resolving, this ensures that\n // the decrypted data has been transmuxed\n var result = _this.push(decryptedData, null, chunkMeta);\n _this.decryptionPromise = null;\n return result;\n });\n return this.decryptionPromise;\n }\n }\n var resetMuxers = this.needsProbing(discontinuity, trackSwitch);\n if (resetMuxers) {\n var error = this.configureTransmuxer(uintData);\n if (error) {\n logger.warn(\"[transmuxer] \" + error.message);\n this.observer.emit(Events.ERROR, Events.ERROR, {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.FRAG_PARSING_ERROR,\n fatal: false,\n error: error,\n reason: error.message\n });\n stats.executeEnd = now();\n return emptyResult(chunkMeta);\n }\n }\n if (discontinuity || trackSwitch || initSegmentChange || resetMuxers) {\n this.resetInitSegment(initSegmentData, audioCodec, videoCodec, duration, decryptdata);\n }\n if (discontinuity || initSegmentChange || resetMuxers) {\n this.resetInitialTimestamp(defaultInitPts);\n }\n if (!contiguous) {\n this.resetContiguity();\n }\n var result = this.transmux(uintData, keyData, timeOffset, accurateTimeOffset, chunkMeta);\n var currentState = this.currentTransmuxState;\n currentState.contiguous = true;\n currentState.discontinuity = false;\n currentState.trackSwitch = false;\n stats.executeEnd = now();\n return result;\n }\n\n // Due to data caching, flush calls can produce more than one TransmuxerResult (hence the Array type)\n ;\n _proto.flush = function flush(chunkMeta) {\n var _this2 = this;\n var stats = chunkMeta.transmuxing;\n stats.executeStart = now();\n var decrypter = this.decrypter,\n currentTransmuxState = this.currentTransmuxState,\n decryptionPromise = this.decryptionPromise;\n if (decryptionPromise) {\n // Upon resolution, the decryption promise calls push() and returns its TransmuxerResult up the stack. Therefore\n // only flushing is required for async decryption\n return decryptionPromise.then(function () {\n return _this2.flush(chunkMeta);\n });\n }\n var transmuxResults = [];\n var timeOffset = currentTransmuxState.timeOffset;\n if (decrypter) {\n // The decrypter may have data cached, which needs to be demuxed. In this case we'll have two TransmuxResults\n // This happens in the case that we receive only 1 push call for a segment (either for non-progressive downloads,\n // or for progressive downloads with small segments)\n var decryptedData = decrypter.flush();\n if (decryptedData) {\n // Push always returns a TransmuxerResult if decryptdata is null\n transmuxResults.push(this.push(decryptedData, null, chunkMeta));\n }\n }\n var demuxer = this.demuxer,\n remuxer = this.remuxer;\n if (!demuxer || !remuxer) {\n // If probing failed, then Hls.js has been given content its not able to handle\n stats.executeEnd = now();\n return [emptyResult(chunkMeta)];\n }\n var demuxResultOrPromise = demuxer.flush(timeOffset);\n if (isPromise(demuxResultOrPromise)) {\n // Decrypt final SAMPLE-AES samples\n return demuxResultOrPromise.then(function (demuxResult) {\n _this2.flushRemux(transmuxResults, demuxResult, chunkMeta);\n return transmuxResults;\n });\n }\n this.flushRemux(transmuxResults, demuxResultOrPromise, chunkMeta);\n return transmuxResults;\n };\n _proto.flushRemux = function flushRemux(transmuxResults, demuxResult, chunkMeta) {\n var audioTrack = demuxResult.audioTrack,\n videoTrack = demuxResult.videoTrack,\n id3Track = demuxResult.id3Track,\n textTrack = demuxResult.textTrack;\n var _this$currentTransmux = this.currentTransmuxState,\n accurateTimeOffset = _this$currentTransmux.accurateTimeOffset,\n timeOffset = _this$currentTransmux.timeOffset;\n logger.log(\"[transmuxer.ts]: Flushed fragment \" + chunkMeta.sn + (chunkMeta.part > -1 ? ' p: ' + chunkMeta.part : '') + \" of level \" + chunkMeta.level);\n var remuxResult = this.remuxer.remux(audioTrack, videoTrack, id3Track, textTrack, timeOffset, accurateTimeOffset, true, this.id);\n transmuxResults.push({\n remuxResult: remuxResult,\n chunkMeta: chunkMeta\n });\n chunkMeta.transmuxing.executeEnd = now();\n };\n _proto.resetInitialTimestamp = function resetInitialTimestamp(defaultInitPts) {\n var demuxer = this.demuxer,\n remuxer = this.remuxer;\n if (!demuxer || !remuxer) {\n return;\n }\n demuxer.resetTimeStamp(defaultInitPts);\n remuxer.resetTimeStamp(defaultInitPts);\n };\n _proto.resetContiguity = function resetContiguity() {\n var demuxer = this.demuxer,\n remuxer = this.remuxer;\n if (!demuxer || !remuxer) {\n return;\n }\n demuxer.resetContiguity();\n remuxer.resetNextTimestamp();\n };\n _proto.resetInitSegment = function resetInitSegment(initSegmentData, audioCodec, videoCodec, trackDuration, decryptdata) {\n var demuxer = this.demuxer,\n remuxer = this.remuxer;\n if (!demuxer || !remuxer) {\n return;\n }\n demuxer.resetInitSegment(initSegmentData, audioCodec, videoCodec, trackDuration);\n remuxer.resetInitSegment(initSegmentData, audioCodec, videoCodec, decryptdata);\n };\n _proto.destroy = function destroy() {\n if (this.demuxer) {\n this.demuxer.destroy();\n this.demuxer = undefined;\n }\n if (this.remuxer) {\n this.remuxer.destroy();\n this.remuxer = undefined;\n }\n };\n _proto.transmux = function transmux(data, keyData, timeOffset, accurateTimeOffset, chunkMeta) {\n var result;\n if (keyData && keyData.method === 'SAMPLE-AES') {\n result = this.transmuxSampleAes(data, keyData, timeOffset, accurateTimeOffset, chunkMeta);\n } else {\n result = this.transmuxUnencrypted(data, timeOffset, accurateTimeOffset, chunkMeta);\n }\n return result;\n };\n _proto.transmuxUnencrypted = function transmuxUnencrypted(data, timeOffset, accurateTimeOffset, chunkMeta) {\n var _demux = this.demuxer.demux(data, timeOffset, false, !this.config.progressive),\n audioTrack = _demux.audioTrack,\n videoTrack = _demux.videoTrack,\n id3Track = _demux.id3Track,\n textTrack = _demux.textTrack;\n var remuxResult = this.remuxer.remux(audioTrack, videoTrack, id3Track, textTrack, timeOffset, accurateTimeOffset, false, this.id);\n return {\n remuxResult: remuxResult,\n chunkMeta: chunkMeta\n };\n };\n _proto.transmuxSampleAes = function transmuxSampleAes(data, decryptData, timeOffset, accurateTimeOffset, chunkMeta) {\n var _this3 = this;\n return this.demuxer.demuxSampleAes(data, decryptData, timeOffset).then(function (demuxResult) {\n var remuxResult = _this3.remuxer.remux(demuxResult.audioTrack, demuxResult.videoTrack, demuxResult.id3Track, demuxResult.textTrack, timeOffset, accurateTimeOffset, false, _this3.id);\n return {\n remuxResult: remuxResult,\n chunkMeta: chunkMeta\n };\n });\n };\n _proto.configureTransmuxer = function configureTransmuxer(data) {\n var config = this.config,\n observer = this.observer,\n typeSupported = this.typeSupported,\n vendor = this.vendor;\n // probe for content type\n var mux;\n for (var i = 0, len = muxConfig.length; i < len; i++) {\n var _muxConfig$i$demux;\n if ((_muxConfig$i$demux = muxConfig[i].demux) != null && _muxConfig$i$demux.probe(data)) {\n mux = muxConfig[i];\n break;\n }\n }\n if (!mux) {\n return new Error('Failed to find demuxer by probing fragment data');\n }\n // so let's check that current remuxer and demuxer are still valid\n var demuxer = this.demuxer;\n var remuxer = this.remuxer;\n var Remuxer = mux.remux;\n var Demuxer = mux.demux;\n if (!remuxer || !(remuxer instanceof Remuxer)) {\n this.remuxer = new Remuxer(observer, config, typeSupported, vendor);\n }\n if (!demuxer || !(demuxer instanceof Demuxer)) {\n this.demuxer = new Demuxer(observer, config, typeSupported);\n this.probe = Demuxer.probe;\n }\n };\n _proto.needsProbing = function needsProbing(discontinuity, trackSwitch) {\n // in case of continuity change, or track switch\n // we might switch from content type (AAC container to TS container, or TS to fmp4 for example)\n return !this.demuxer || !this.remuxer || discontinuity || trackSwitch;\n };\n _proto.getDecrypter = function getDecrypter() {\n var decrypter = this.decrypter;\n if (!decrypter) {\n decrypter = this.decrypter = new Decrypter(this.config);\n }\n return decrypter;\n };\n return Transmuxer;\n }();\n function getEncryptionType(data, decryptData) {\n var encryptionType = null;\n if (data.byteLength > 0 && (decryptData == null ? void 0 : decryptData.key) != null && decryptData.iv !== null && decryptData.method != null) {\n encryptionType = decryptData;\n }\n return encryptionType;\n }\n var emptyResult = function emptyResult(chunkMeta) {\n return {\n remuxResult: {},\n chunkMeta: chunkMeta\n };\n };\n function isPromise(p) {\n return 'then' in p && p.then instanceof Function;\n }\n var TransmuxConfig = function TransmuxConfig(audioCodec, videoCodec, initSegmentData, duration, defaultInitPts) {\n this.audioCodec = void 0;\n this.videoCodec = void 0;\n this.initSegmentData = void 0;\n this.duration = void 0;\n this.defaultInitPts = void 0;\n this.audioCodec = audioCodec;\n this.videoCodec = videoCodec;\n this.initSegmentData = initSegmentData;\n this.duration = duration;\n this.defaultInitPts = defaultInitPts || null;\n };\n var TransmuxState = function TransmuxState(discontinuity, contiguous, accurateTimeOffset, trackSwitch, timeOffset, initSegmentChange) {\n this.discontinuity = void 0;\n this.contiguous = void 0;\n this.accurateTimeOffset = void 0;\n this.trackSwitch = void 0;\n this.timeOffset = void 0;\n this.initSegmentChange = void 0;\n this.discontinuity = discontinuity;\n this.contiguous = contiguous;\n this.accurateTimeOffset = accurateTimeOffset;\n this.trackSwitch = trackSwitch;\n this.timeOffset = timeOffset;\n this.initSegmentChange = initSegmentChange;\n };\n\n var eventemitter3 = {exports: {}};\n\n (function (module) {\n\n \tvar has = Object.prototype.hasOwnProperty\n \t , prefix = '~';\n\n \t/**\n \t * Constructor to create a storage for our `EE` objects.\n \t * An `Events` instance is a plain object whose properties are event names.\n \t *\n \t * @constructor\n \t * @private\n \t */\n \tfunction Events() {}\n\n \t//\n \t// We try to not inherit from `Object.prototype`. In some engines creating an\n \t// instance in this way is faster than calling `Object.create(null)` directly.\n \t// If `Object.create(null)` is not supported we prefix the event names with a\n \t// character to make sure that the built-in object properties are not\n \t// overridden or used as an attack vector.\n \t//\n \tif (Object.create) {\n \t Events.prototype = Object.create(null);\n\n \t //\n \t // This hack is needed because the `__proto__` property is still inherited in\n \t // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n \t //\n \t if (!new Events().__proto__) prefix = false;\n \t}\n\n \t/**\n \t * Representation of a single event listener.\n \t *\n \t * @param {Function} fn The listener function.\n \t * @param {*} context The context to invoke the listener with.\n \t * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n \t * @constructor\n \t * @private\n \t */\n \tfunction EE(fn, context, once) {\n \t this.fn = fn;\n \t this.context = context;\n \t this.once = once || false;\n \t}\n\n \t/**\n \t * Add a listener for a given event.\n \t *\n \t * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n \t * @param {(String|Symbol)} event The event name.\n \t * @param {Function} fn The listener function.\n \t * @param {*} context The context to invoke the listener with.\n \t * @param {Boolean} once Specify if the listener is a one-time listener.\n \t * @returns {EventEmitter}\n \t * @private\n \t */\n \tfunction addListener(emitter, event, fn, context, once) {\n \t if (typeof fn !== 'function') {\n \t throw new TypeError('The listener must be a function');\n \t }\n\n \t var listener = new EE(fn, context || emitter, once)\n \t , evt = prefix ? prefix + event : event;\n\n \t if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;\n \t else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);\n \t else emitter._events[evt] = [emitter._events[evt], listener];\n\n \t return emitter;\n \t}\n\n \t/**\n \t * Clear event by name.\n \t *\n \t * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n \t * @param {(String|Symbol)} evt The Event name.\n \t * @private\n \t */\n \tfunction clearEvent(emitter, evt) {\n \t if (--emitter._eventsCount === 0) emitter._events = new Events();\n \t else delete emitter._events[evt];\n \t}\n\n \t/**\n \t * Minimal `EventEmitter` interface that is molded against the Node.js\n \t * `EventEmitter` interface.\n \t *\n \t * @constructor\n \t * @public\n \t */\n \tfunction EventEmitter() {\n \t this._events = new Events();\n \t this._eventsCount = 0;\n \t}\n\n \t/**\n \t * Return an array listing the events for which the emitter has registered\n \t * listeners.\n \t *\n \t * @returns {Array}\n \t * @public\n \t */\n \tEventEmitter.prototype.eventNames = function eventNames() {\n \t var names = []\n \t , events\n \t , name;\n\n \t if (this._eventsCount === 0) return names;\n\n \t for (name in (events = this._events)) {\n \t if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n \t }\n\n \t if (Object.getOwnPropertySymbols) {\n \t return names.concat(Object.getOwnPropertySymbols(events));\n \t }\n\n \t return names;\n \t};\n\n \t/**\n \t * Return the listeners registered for a given event.\n \t *\n \t * @param {(String|Symbol)} event The event name.\n \t * @returns {Array} The registered listeners.\n \t * @public\n \t */\n \tEventEmitter.prototype.listeners = function listeners(event) {\n \t var evt = prefix ? prefix + event : event\n \t , handlers = this._events[evt];\n\n \t if (!handlers) return [];\n \t if (handlers.fn) return [handlers.fn];\n\n \t for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {\n \t ee[i] = handlers[i].fn;\n \t }\n\n \t return ee;\n \t};\n\n \t/**\n \t * Return the number of listeners listening to a given event.\n \t *\n \t * @param {(String|Symbol)} event The event name.\n \t * @returns {Number} The number of listeners.\n \t * @public\n \t */\n \tEventEmitter.prototype.listenerCount = function listenerCount(event) {\n \t var evt = prefix ? prefix + event : event\n \t , listeners = this._events[evt];\n\n \t if (!listeners) return 0;\n \t if (listeners.fn) return 1;\n \t return listeners.length;\n \t};\n\n \t/**\n \t * Calls each of the listeners registered for a given event.\n \t *\n \t * @param {(String|Symbol)} event The event name.\n \t * @returns {Boolean} `true` if the event had listeners, else `false`.\n \t * @public\n \t */\n \tEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n \t var evt = prefix ? prefix + event : event;\n\n \t if (!this._events[evt]) return false;\n\n \t var listeners = this._events[evt]\n \t , len = arguments.length\n \t , args\n \t , i;\n\n \t if (listeners.fn) {\n \t if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n \t switch (len) {\n \t case 1: return listeners.fn.call(listeners.context), true;\n \t case 2: return listeners.fn.call(listeners.context, a1), true;\n \t case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n \t case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n \t case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n \t case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n \t }\n\n \t for (i = 1, args = new Array(len -1); i < len; i++) {\n \t args[i - 1] = arguments[i];\n \t }\n\n \t listeners.fn.apply(listeners.context, args);\n \t } else {\n \t var length = listeners.length\n \t , j;\n\n \t for (i = 0; i < length; i++) {\n \t if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n \t switch (len) {\n \t case 1: listeners[i].fn.call(listeners[i].context); break;\n \t case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n \t case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n \t case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\n \t default:\n \t if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n \t args[j - 1] = arguments[j];\n \t }\n\n \t listeners[i].fn.apply(listeners[i].context, args);\n \t }\n \t }\n \t }\n\n \t return true;\n \t};\n\n \t/**\n \t * Add a listener for a given event.\n \t *\n \t * @param {(String|Symbol)} event The event name.\n \t * @param {Function} fn The listener function.\n \t * @param {*} [context=this] The context to invoke the listener with.\n \t * @returns {EventEmitter} `this`.\n \t * @public\n \t */\n \tEventEmitter.prototype.on = function on(event, fn, context) {\n \t return addListener(this, event, fn, context, false);\n \t};\n\n \t/**\n \t * Add a one-time listener for a given event.\n \t *\n \t * @param {(String|Symbol)} event The event name.\n \t * @param {Function} fn The listener function.\n \t * @param {*} [context=this] The context to invoke the listener with.\n \t * @returns {EventEmitter} `this`.\n \t * @public\n \t */\n \tEventEmitter.prototype.once = function once(event, fn, context) {\n \t return addListener(this, event, fn, context, true);\n \t};\n\n \t/**\n \t * Remove the listeners of a given event.\n \t *\n \t * @param {(String|Symbol)} event The event name.\n \t * @param {Function} fn Only remove the listeners that match this function.\n \t * @param {*} context Only remove the listeners that have this context.\n \t * @param {Boolean} once Only remove one-time listeners.\n \t * @returns {EventEmitter} `this`.\n \t * @public\n \t */\n \tEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n \t var evt = prefix ? prefix + event : event;\n\n \t if (!this._events[evt]) return this;\n \t if (!fn) {\n \t clearEvent(this, evt);\n \t return this;\n \t }\n\n \t var listeners = this._events[evt];\n\n \t if (listeners.fn) {\n \t if (\n \t listeners.fn === fn &&\n \t (!once || listeners.once) &&\n \t (!context || listeners.context === context)\n \t ) {\n \t clearEvent(this, evt);\n \t }\n \t } else {\n \t for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n \t if (\n \t listeners[i].fn !== fn ||\n \t (once && !listeners[i].once) ||\n \t (context && listeners[i].context !== context)\n \t ) {\n \t events.push(listeners[i]);\n \t }\n \t }\n\n \t //\n \t // Reset the array, or remove it completely if we have no more listeners.\n \t //\n \t if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n \t else clearEvent(this, evt);\n \t }\n\n \t return this;\n \t};\n\n \t/**\n \t * Remove all listeners, or those of the specified event.\n \t *\n \t * @param {(String|Symbol)} [event] The event name.\n \t * @returns {EventEmitter} `this`.\n \t * @public\n \t */\n \tEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n \t var evt;\n\n \t if (event) {\n \t evt = prefix ? prefix + event : event;\n \t if (this._events[evt]) clearEvent(this, evt);\n \t } else {\n \t this._events = new Events();\n \t this._eventsCount = 0;\n \t }\n\n \t return this;\n \t};\n\n \t//\n \t// Alias methods names because people roll like that.\n \t//\n \tEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n \tEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n \t//\n \t// Expose the prefix.\n \t//\n \tEventEmitter.prefixed = prefix;\n\n \t//\n \t// Allow `EventEmitter` to be imported as module namespace.\n \t//\n \tEventEmitter.EventEmitter = EventEmitter;\n\n \t//\n \t// Expose the module.\n \t//\n \t{\n \t module.exports = EventEmitter;\n \t} \n } (eventemitter3));\n\n var eventemitter3Exports = eventemitter3.exports;\n var EventEmitter = /*@__PURE__*/getDefaultExportFromCjs(eventemitter3Exports);\n\n if (typeof __IN_WORKER__ !== 'undefined' && __IN_WORKER__) {\n startWorker(self);\n }\n function startWorker(self) {\n var observer = new EventEmitter();\n var forwardMessage = function forwardMessage(ev, data) {\n self.postMessage({\n event: ev,\n data: data\n });\n };\n\n // forward events to main thread\n observer.on(Events.FRAG_DECRYPTED, forwardMessage);\n observer.on(Events.ERROR, forwardMessage);\n\n // forward logger events to main thread\n var forwardWorkerLogs = function forwardWorkerLogs() {\n var _loop = function _loop(logFn) {\n var func = function func(message) {\n forwardMessage('workerLog', {\n logType: logFn,\n message: message\n });\n };\n logger[logFn] = func;\n };\n for (var logFn in logger) {\n _loop(logFn);\n }\n };\n self.addEventListener('message', function (ev) {\n var data = ev.data;\n switch (data.cmd) {\n case 'init':\n {\n var config = JSON.parse(data.config);\n self.transmuxer = new Transmuxer(observer, data.typeSupported, config, data.vendor, data.id);\n enableLogs(config.debug, data.id);\n forwardWorkerLogs();\n forwardMessage('init', null);\n break;\n }\n case 'configure':\n {\n self.transmuxer.configure(data.config);\n break;\n }\n case 'demux':\n {\n var transmuxResult = self.transmuxer.push(data.data, data.decryptdata, data.chunkMeta, data.state);\n if (isPromise(transmuxResult)) {\n self.transmuxer.async = true;\n transmuxResult.then(function (data) {\n emitTransmuxComplete(self, data);\n }).catch(function (error) {\n forwardMessage(Events.ERROR, {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.FRAG_PARSING_ERROR,\n chunkMeta: data.chunkMeta,\n fatal: false,\n error: error,\n err: error,\n reason: \"transmuxer-worker push error\"\n });\n });\n } else {\n self.transmuxer.async = false;\n emitTransmuxComplete(self, transmuxResult);\n }\n break;\n }\n case 'flush':\n {\n var id = data.chunkMeta;\n var _transmuxResult = self.transmuxer.flush(id);\n var asyncFlush = isPromise(_transmuxResult);\n if (asyncFlush || self.transmuxer.async) {\n if (!isPromise(_transmuxResult)) {\n _transmuxResult = Promise.resolve(_transmuxResult);\n }\n _transmuxResult.then(function (results) {\n handleFlushResult(self, results, id);\n }).catch(function (error) {\n forwardMessage(Events.ERROR, {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.FRAG_PARSING_ERROR,\n chunkMeta: data.chunkMeta,\n fatal: false,\n error: error,\n err: error,\n reason: \"transmuxer-worker flush error\"\n });\n });\n } else {\n handleFlushResult(self, _transmuxResult, id);\n }\n break;\n }\n }\n });\n }\n function emitTransmuxComplete(self, transmuxResult) {\n if (isEmptyResult(transmuxResult.remuxResult)) {\n return false;\n }\n var transferable = [];\n var _transmuxResult$remux = transmuxResult.remuxResult,\n audio = _transmuxResult$remux.audio,\n video = _transmuxResult$remux.video;\n if (audio) {\n addToTransferable(transferable, audio);\n }\n if (video) {\n addToTransferable(transferable, video);\n }\n self.postMessage({\n event: 'transmuxComplete',\n data: transmuxResult\n }, transferable);\n return true;\n }\n\n // Converts data to a transferable object https://developers.google.com/web/updates/2011/12/Transferable-Objects-Lightning-Fast)\n // in order to minimize message passing overhead\n function addToTransferable(transferable, track) {\n if (track.data1) {\n transferable.push(track.data1.buffer);\n }\n if (track.data2) {\n transferable.push(track.data2.buffer);\n }\n }\n function handleFlushResult(self, results, chunkMeta) {\n var parsed = results.reduce(function (parsed, result) {\n return emitTransmuxComplete(self, result) || parsed;\n }, false);\n if (!parsed) {\n // Emit at least one \"transmuxComplete\" message even if media is not found to update stream-controller state to PARSING\n self.postMessage({\n event: 'transmuxComplete',\n data: results[0]\n });\n }\n self.postMessage({\n event: 'flush',\n data: chunkMeta\n });\n }\n function isEmptyResult(remuxResult) {\n return !remuxResult.audio && !remuxResult.video && !remuxResult.text && !remuxResult.id3 && !remuxResult.initSegment;\n }\n\n // ensure the worker ends up in the bundle\n // If the worker should not be included this gets aliased to empty.js\n function hasUMDWorker() {\n return typeof __HLS_WORKER_BUNDLE__ === 'function';\n }\n function injectWorker() {\n var blob = new self.Blob([\"var exports={};var module={exports:exports};function define(f){f()};define.amd=true;(\" + __HLS_WORKER_BUNDLE__.toString() + \")(true);\"], {\n type: 'text/javascript'\n });\n var objectURL = self.URL.createObjectURL(blob);\n var worker = new self.Worker(objectURL);\n return {\n worker: worker,\n objectURL: objectURL\n };\n }\n function loadWorker(path) {\n var scriptURL = new self.URL(path, self.location.href).href;\n var worker = new self.Worker(scriptURL);\n return {\n worker: worker,\n scriptURL: scriptURL\n };\n }\n\n var TransmuxerInterface = /*#__PURE__*/function () {\n function TransmuxerInterface(hls, id, onTransmuxComplete, onFlush) {\n var _this = this;\n this.error = null;\n this.hls = void 0;\n this.id = void 0;\n this.observer = void 0;\n this.frag = null;\n this.part = null;\n this.useWorker = void 0;\n this.workerContext = null;\n this.onwmsg = void 0;\n this.transmuxer = null;\n this.onTransmuxComplete = void 0;\n this.onFlush = void 0;\n var config = hls.config;\n this.hls = hls;\n this.id = id;\n this.useWorker = !!config.enableWorker;\n this.onTransmuxComplete = onTransmuxComplete;\n this.onFlush = onFlush;\n var forwardMessage = function forwardMessage(ev, data) {\n data = data || {};\n data.frag = _this.frag;\n data.id = _this.id;\n if (ev === Events.ERROR) {\n _this.error = data.error;\n }\n _this.hls.trigger(ev, data);\n };\n\n // forward events to main thread\n this.observer = new EventEmitter();\n this.observer.on(Events.FRAG_DECRYPTED, forwardMessage);\n this.observer.on(Events.ERROR, forwardMessage);\n var MediaSource = getMediaSource(config.preferManagedMediaSource) || {\n isTypeSupported: function isTypeSupported() {\n return false;\n }\n };\n var m2tsTypeSupported = {\n mpeg: MediaSource.isTypeSupported('audio/mpeg'),\n mp3: MediaSource.isTypeSupported('audio/mp4; codecs=\"mp3\"'),\n ac3: MediaSource.isTypeSupported('audio/mp4; codecs=\"ac-3\"') \n };\n\n // navigator.vendor is not always available in Web Worker\n // refer to https://developer.mozilla.org/en-US/docs/Web/API/WorkerGlobalScope/navigator\n var vendor = navigator.vendor;\n if (this.useWorker && typeof Worker !== 'undefined') {\n var canCreateWorker = config.workerPath || hasUMDWorker();\n if (canCreateWorker) {\n try {\n if (config.workerPath) {\n logger.log(\"loading Web Worker \" + config.workerPath + \" for \\\"\" + id + \"\\\"\");\n this.workerContext = loadWorker(config.workerPath);\n } else {\n logger.log(\"injecting Web Worker for \\\"\" + id + \"\\\"\");\n this.workerContext = injectWorker();\n }\n this.onwmsg = function (ev) {\n return _this.onWorkerMessage(ev);\n };\n var worker = this.workerContext.worker;\n worker.addEventListener('message', this.onwmsg);\n worker.onerror = function (event) {\n var error = new Error(event.message + \" (\" + event.filename + \":\" + event.lineno + \")\");\n config.enableWorker = false;\n logger.warn(\"Error in \\\"\" + id + \"\\\" Web Worker, fallback to inline\");\n _this.hls.trigger(Events.ERROR, {\n type: ErrorTypes.OTHER_ERROR,\n details: ErrorDetails.INTERNAL_EXCEPTION,\n fatal: false,\n event: 'demuxerWorker',\n error: error\n });\n };\n worker.postMessage({\n cmd: 'init',\n typeSupported: m2tsTypeSupported,\n vendor: vendor,\n id: id,\n config: JSON.stringify(config)\n });\n } catch (err) {\n logger.warn(\"Error setting up \\\"\" + id + \"\\\" Web Worker, fallback to inline\", err);\n this.resetWorker();\n this.error = null;\n this.transmuxer = new Transmuxer(this.observer, m2tsTypeSupported, config, vendor, id);\n }\n return;\n }\n }\n this.transmuxer = new Transmuxer(this.observer, m2tsTypeSupported, config, vendor, id);\n }\n var _proto = TransmuxerInterface.prototype;\n _proto.resetWorker = function resetWorker() {\n if (this.workerContext) {\n var _this$workerContext = this.workerContext,\n worker = _this$workerContext.worker,\n objectURL = _this$workerContext.objectURL;\n if (objectURL) {\n // revoke the Object URL that was used to create transmuxer worker, so as not to leak it\n self.URL.revokeObjectURL(objectURL);\n }\n worker.removeEventListener('message', this.onwmsg);\n worker.onerror = null;\n worker.terminate();\n this.workerContext = null;\n }\n };\n _proto.destroy = function destroy() {\n if (this.workerContext) {\n this.resetWorker();\n this.onwmsg = undefined;\n } else {\n var transmuxer = this.transmuxer;\n if (transmuxer) {\n transmuxer.destroy();\n this.transmuxer = null;\n }\n }\n var observer = this.observer;\n if (observer) {\n observer.removeAllListeners();\n }\n this.frag = null;\n // @ts-ignore\n this.observer = null;\n // @ts-ignore\n this.hls = null;\n };\n _proto.push = function push(data, initSegmentData, audioCodec, videoCodec, frag, part, duration, accurateTimeOffset, chunkMeta, defaultInitPTS) {\n var _frag$initSegment,\n _lastFrag$initSegment,\n _this2 = this;\n chunkMeta.transmuxing.start = self.performance.now();\n var transmuxer = this.transmuxer;\n var timeOffset = part ? part.start : frag.start;\n // TODO: push \"clear-lead\" decrypt data for unencrypted fragments in streams with encrypted ones\n var decryptdata = frag.decryptdata;\n var lastFrag = this.frag;\n var discontinuity = !(lastFrag && frag.cc === lastFrag.cc);\n var trackSwitch = !(lastFrag && chunkMeta.level === lastFrag.level);\n var snDiff = lastFrag ? chunkMeta.sn - lastFrag.sn : -1;\n var partDiff = this.part ? chunkMeta.part - this.part.index : -1;\n var progressive = snDiff === 0 && chunkMeta.id > 1 && chunkMeta.id === (lastFrag == null ? void 0 : lastFrag.stats.chunkCount);\n var contiguous = !trackSwitch && (snDiff === 1 || snDiff === 0 && (partDiff === 1 || progressive && partDiff <= 0));\n var now = self.performance.now();\n if (trackSwitch || snDiff || frag.stats.parsing.start === 0) {\n frag.stats.parsing.start = now;\n }\n if (part && (partDiff || !contiguous)) {\n part.stats.parsing.start = now;\n }\n var initSegmentChange = !(lastFrag && ((_frag$initSegment = frag.initSegment) == null ? void 0 : _frag$initSegment.url) === ((_lastFrag$initSegment = lastFrag.initSegment) == null ? void 0 : _lastFrag$initSegment.url));\n var state = new TransmuxState(discontinuity, contiguous, accurateTimeOffset, trackSwitch, timeOffset, initSegmentChange);\n if (!contiguous || discontinuity || initSegmentChange) {\n logger.log(\"[transmuxer-interface, \" + frag.type + \"]: Starting new transmux session for sn: \" + chunkMeta.sn + \" p: \" + chunkMeta.part + \" level: \" + chunkMeta.level + \" id: \" + chunkMeta.id + \"\\n discontinuity: \" + discontinuity + \"\\n trackSwitch: \" + trackSwitch + \"\\n contiguous: \" + contiguous + \"\\n accurateTimeOffset: \" + accurateTimeOffset + \"\\n timeOffset: \" + timeOffset + \"\\n initSegmentChange: \" + initSegmentChange);\n var config = new TransmuxConfig(audioCodec, videoCodec, initSegmentData, duration, defaultInitPTS);\n this.configureTransmuxer(config);\n }\n this.frag = frag;\n this.part = part;\n\n // Frags with sn of 'initSegment' are not transmuxed\n if (this.workerContext) {\n // post fragment payload as transferable objects for ArrayBuffer (no copy)\n this.workerContext.worker.postMessage({\n cmd: 'demux',\n data: data,\n decryptdata: decryptdata,\n chunkMeta: chunkMeta,\n state: state\n }, data instanceof ArrayBuffer ? [data] : []);\n } else if (transmuxer) {\n var _transmuxResult = transmuxer.push(data, decryptdata, chunkMeta, state);\n if (isPromise(_transmuxResult)) {\n transmuxer.async = true;\n _transmuxResult.then(function (data) {\n _this2.handleTransmuxComplete(data);\n }).catch(function (error) {\n _this2.transmuxerError(error, chunkMeta, 'transmuxer-interface push error');\n });\n } else {\n transmuxer.async = false;\n this.handleTransmuxComplete(_transmuxResult);\n }\n }\n };\n _proto.flush = function flush(chunkMeta) {\n var _this3 = this;\n chunkMeta.transmuxing.start = self.performance.now();\n var transmuxer = this.transmuxer;\n if (this.workerContext) {\n this.workerContext.worker.postMessage({\n cmd: 'flush',\n chunkMeta: chunkMeta\n });\n } else if (transmuxer) {\n var _transmuxResult2 = transmuxer.flush(chunkMeta);\n var asyncFlush = isPromise(_transmuxResult2);\n if (asyncFlush || transmuxer.async) {\n if (!isPromise(_transmuxResult2)) {\n _transmuxResult2 = Promise.resolve(_transmuxResult2);\n }\n _transmuxResult2.then(function (data) {\n _this3.handleFlushResult(data, chunkMeta);\n }).catch(function (error) {\n _this3.transmuxerError(error, chunkMeta, 'transmuxer-interface flush error');\n });\n } else {\n this.handleFlushResult(_transmuxResult2, chunkMeta);\n }\n }\n };\n _proto.transmuxerError = function transmuxerError(error, chunkMeta, reason) {\n if (!this.hls) {\n return;\n }\n this.error = error;\n this.hls.trigger(Events.ERROR, {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.FRAG_PARSING_ERROR,\n chunkMeta: chunkMeta,\n fatal: false,\n error: error,\n err: error,\n reason: reason\n });\n };\n _proto.handleFlushResult = function handleFlushResult(results, chunkMeta) {\n var _this4 = this;\n results.forEach(function (result) {\n _this4.handleTransmuxComplete(result);\n });\n this.onFlush(chunkMeta);\n };\n _proto.onWorkerMessage = function onWorkerMessage(ev) {\n var data = ev.data;\n var hls = this.hls;\n switch (data.event) {\n case 'init':\n {\n var _this$workerContext2;\n var objectURL = (_this$workerContext2 = this.workerContext) == null ? void 0 : _this$workerContext2.objectURL;\n if (objectURL) {\n // revoke the Object URL that was used to create transmuxer worker, so as not to leak it\n self.URL.revokeObjectURL(objectURL);\n }\n break;\n }\n case 'transmuxComplete':\n {\n this.handleTransmuxComplete(data.data);\n break;\n }\n case 'flush':\n {\n this.onFlush(data.data);\n break;\n }\n\n // pass logs from the worker thread to the main logger\n case 'workerLog':\n if (logger[data.data.logType]) {\n logger[data.data.logType](data.data.message);\n }\n break;\n default:\n {\n data.data = data.data || {};\n data.data.frag = this.frag;\n data.data.id = this.id;\n hls.trigger(data.event, data.data);\n break;\n }\n }\n };\n _proto.configureTransmuxer = function configureTransmuxer(config) {\n var transmuxer = this.transmuxer;\n if (this.workerContext) {\n this.workerContext.worker.postMessage({\n cmd: 'configure',\n config: config\n });\n } else if (transmuxer) {\n transmuxer.configure(config);\n }\n };\n _proto.handleTransmuxComplete = function handleTransmuxComplete(result) {\n result.chunkMeta.transmuxing.end = self.performance.now();\n this.onTransmuxComplete(result);\n };\n return TransmuxerInterface;\n }();\n\n function subtitleOptionsIdentical(trackList1, trackList2) {\n if (trackList1.length !== trackList2.length) {\n return false;\n }\n for (var i = 0; i < trackList1.length; i++) {\n if (!mediaAttributesIdentical(trackList1[i].attrs, trackList2[i].attrs)) {\n return false;\n }\n }\n return true;\n }\n function mediaAttributesIdentical(attrs1, attrs2, customAttributes) {\n // Media options with the same rendition ID must be bit identical\n var stableRenditionId = attrs1['STABLE-RENDITION-ID'];\n if (stableRenditionId && !customAttributes) {\n return stableRenditionId === attrs2['STABLE-RENDITION-ID'];\n }\n // When rendition ID is not present, compare attributes\n return !(customAttributes || ['LANGUAGE', 'NAME', 'CHARACTERISTICS', 'AUTOSELECT', 'DEFAULT', 'FORCED', 'ASSOC-LANGUAGE']).some(function (subtitleAttribute) {\n return attrs1[subtitleAttribute] !== attrs2[subtitleAttribute];\n });\n }\n function subtitleTrackMatchesTextTrack(subtitleTrack, textTrack) {\n return textTrack.label.toLowerCase() === subtitleTrack.name.toLowerCase() && (!textTrack.language || textTrack.language.toLowerCase() === (subtitleTrack.lang || '').toLowerCase());\n }\n\n var TICK_INTERVAL$2 = 100; // how often to tick in ms\n var AudioStreamController = /*#__PURE__*/function (_BaseStreamController) {\n _inheritsLoose(AudioStreamController, _BaseStreamController);\n function AudioStreamController(hls, fragmentTracker, keyLoader) {\n var _this;\n _this = _BaseStreamController.call(this, hls, fragmentTracker, keyLoader, '[audio-stream-controller]', PlaylistLevelType.AUDIO) || this;\n _this.videoBuffer = null;\n _this.videoTrackCC = -1;\n _this.waitingVideoCC = -1;\n _this.bufferedTrack = null;\n _this.switchingTrack = null;\n _this.trackId = -1;\n _this.waitingData = null;\n _this.mainDetails = null;\n _this.flushing = false;\n _this.bufferFlushed = false;\n _this.cachedTrackLoadedData = null;\n _this._registerListeners();\n return _this;\n }\n var _proto = AudioStreamController.prototype;\n _proto.onHandlerDestroying = function onHandlerDestroying() {\n this._unregisterListeners();\n _BaseStreamController.prototype.onHandlerDestroying.call(this);\n this.mainDetails = null;\n this.bufferedTrack = null;\n this.switchingTrack = null;\n };\n _proto._registerListeners = function _registerListeners() {\n var hls = this.hls;\n hls.on(Events.MEDIA_ATTACHED, this.onMediaAttached, this);\n hls.on(Events.MEDIA_DETACHING, this.onMediaDetaching, this);\n hls.on(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.on(Events.LEVEL_LOADED, this.onLevelLoaded, this);\n hls.on(Events.AUDIO_TRACKS_UPDATED, this.onAudioTracksUpdated, this);\n hls.on(Events.AUDIO_TRACK_SWITCHING, this.onAudioTrackSwitching, this);\n hls.on(Events.AUDIO_TRACK_LOADED, this.onAudioTrackLoaded, this);\n hls.on(Events.ERROR, this.onError, this);\n hls.on(Events.BUFFER_RESET, this.onBufferReset, this);\n hls.on(Events.BUFFER_CREATED, this.onBufferCreated, this);\n hls.on(Events.BUFFER_FLUSHING, this.onBufferFlushing, this);\n hls.on(Events.BUFFER_FLUSHED, this.onBufferFlushed, this);\n hls.on(Events.INIT_PTS_FOUND, this.onInitPtsFound, this);\n hls.on(Events.FRAG_BUFFERED, this.onFragBuffered, this);\n };\n _proto._unregisterListeners = function _unregisterListeners() {\n var hls = this.hls;\n hls.off(Events.MEDIA_ATTACHED, this.onMediaAttached, this);\n hls.off(Events.MEDIA_DETACHING, this.onMediaDetaching, this);\n hls.off(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.off(Events.LEVEL_LOADED, this.onLevelLoaded, this);\n hls.off(Events.AUDIO_TRACKS_UPDATED, this.onAudioTracksUpdated, this);\n hls.off(Events.AUDIO_TRACK_SWITCHING, this.onAudioTrackSwitching, this);\n hls.off(Events.AUDIO_TRACK_LOADED, this.onAudioTrackLoaded, this);\n hls.off(Events.ERROR, this.onError, this);\n hls.off(Events.BUFFER_RESET, this.onBufferReset, this);\n hls.off(Events.BUFFER_CREATED, this.onBufferCreated, this);\n hls.off(Events.BUFFER_FLUSHING, this.onBufferFlushing, this);\n hls.off(Events.BUFFER_FLUSHED, this.onBufferFlushed, this);\n hls.off(Events.INIT_PTS_FOUND, this.onInitPtsFound, this);\n hls.off(Events.FRAG_BUFFERED, this.onFragBuffered, this);\n }\n\n // INIT_PTS_FOUND is triggered when the video track parsed in the stream-controller has a new PTS value\n ;\n _proto.onInitPtsFound = function onInitPtsFound(event, _ref) {\n var frag = _ref.frag,\n id = _ref.id,\n initPTS = _ref.initPTS,\n timescale = _ref.timescale;\n // Always update the new INIT PTS\n // Can change due level switch\n if (id === 'main') {\n var cc = frag.cc;\n this.initPTS[frag.cc] = {\n baseTime: initPTS,\n timescale: timescale\n };\n this.log(\"InitPTS for cc: \" + cc + \" found from main: \" + initPTS);\n this.videoTrackCC = cc;\n // If we are waiting, tick immediately to unblock audio fragment transmuxing\n if (this.state === State.WAITING_INIT_PTS) {\n this.tick();\n }\n }\n };\n _proto.startLoad = function startLoad(startPosition) {\n if (!this.levels) {\n this.startPosition = startPosition;\n this.state = State.STOPPED;\n return;\n }\n var lastCurrentTime = this.lastCurrentTime;\n this.stopLoad();\n this.setInterval(TICK_INTERVAL$2);\n if (lastCurrentTime > 0 && startPosition === -1) {\n this.log(\"Override startPosition with lastCurrentTime @\" + lastCurrentTime.toFixed(3));\n startPosition = lastCurrentTime;\n this.state = State.IDLE;\n } else {\n this.loadedmetadata = false;\n this.state = State.WAITING_TRACK;\n }\n this.nextLoadPosition = this.startPosition = this.lastCurrentTime = startPosition;\n this.tick();\n };\n _proto.doTick = function doTick() {\n switch (this.state) {\n case State.IDLE:\n this.doTickIdle();\n break;\n case State.WAITING_TRACK:\n {\n var _levels$trackId;\n var levels = this.levels,\n trackId = this.trackId;\n var details = levels == null ? void 0 : (_levels$trackId = levels[trackId]) == null ? void 0 : _levels$trackId.details;\n if (details) {\n if (this.waitForCdnTuneIn(details)) {\n break;\n }\n this.state = State.WAITING_INIT_PTS;\n }\n break;\n }\n case State.FRAG_LOADING_WAITING_RETRY:\n {\n var _this$media;\n var now = performance.now();\n var retryDate = this.retryDate;\n // if current time is gt than retryDate, or if media seeking let's switch to IDLE state to retry loading\n if (!retryDate || now >= retryDate || (_this$media = this.media) != null && _this$media.seeking) {\n var _levels = this.levels,\n _trackId = this.trackId;\n this.log('RetryDate reached, switch back to IDLE state');\n this.resetStartWhenNotLoaded((_levels == null ? void 0 : _levels[_trackId]) || null);\n this.state = State.IDLE;\n }\n break;\n }\n case State.WAITING_INIT_PTS:\n {\n // Ensure we don't get stuck in the WAITING_INIT_PTS state if the waiting frag CC doesn't match any initPTS\n var waitingData = this.waitingData;\n if (waitingData) {\n var frag = waitingData.frag,\n part = waitingData.part,\n cache = waitingData.cache,\n complete = waitingData.complete;\n if (this.initPTS[frag.cc] !== undefined) {\n this.waitingData = null;\n this.waitingVideoCC = -1;\n this.state = State.FRAG_LOADING;\n var payload = cache.flush();\n var data = {\n frag: frag,\n part: part,\n payload: payload,\n networkDetails: null\n };\n this._handleFragmentLoadProgress(data);\n if (complete) {\n _BaseStreamController.prototype._handleFragmentLoadComplete.call(this, data);\n }\n } else if (this.videoTrackCC !== this.waitingVideoCC) {\n // Drop waiting fragment if videoTrackCC has changed since waitingFragment was set and initPTS was not found\n this.log(\"Waiting fragment cc (\" + frag.cc + \") cancelled because video is at cc \" + this.videoTrackCC);\n this.clearWaitingFragment();\n } else {\n // Drop waiting fragment if an earlier fragment is needed\n var pos = this.getLoadPosition();\n var bufferInfo = BufferHelper.bufferInfo(this.mediaBuffer, pos, this.config.maxBufferHole);\n var waitingFragmentAtPosition = fragmentWithinToleranceTest(bufferInfo.end, this.config.maxFragLookUpTolerance, frag);\n if (waitingFragmentAtPosition < 0) {\n this.log(\"Waiting fragment cc (\" + frag.cc + \") @ \" + frag.start + \" cancelled because another fragment at \" + bufferInfo.end + \" is needed\");\n this.clearWaitingFragment();\n }\n }\n } else {\n this.state = State.IDLE;\n }\n }\n }\n this.onTickEnd();\n };\n _proto.clearWaitingFragment = function clearWaitingFragment() {\n var waitingData = this.waitingData;\n if (waitingData) {\n this.fragmentTracker.removeFragment(waitingData.frag);\n this.waitingData = null;\n this.waitingVideoCC = -1;\n this.state = State.IDLE;\n }\n };\n _proto.resetLoadingState = function resetLoadingState() {\n this.clearWaitingFragment();\n _BaseStreamController.prototype.resetLoadingState.call(this);\n };\n _proto.onTickEnd = function onTickEnd() {\n var media = this.media;\n if (!(media != null && media.readyState)) {\n // Exit early if we don't have media or if the media hasn't buffered anything yet (readyState 0)\n return;\n }\n this.lastCurrentTime = media.currentTime;\n };\n _proto.doTickIdle = function doTickIdle() {\n var hls = this.hls,\n levels = this.levels,\n media = this.media,\n trackId = this.trackId;\n var config = hls.config;\n\n // 1. if video not attached AND\n // start fragment already requested OR start frag prefetch not enabled\n // 2. if tracks or track not loaded and selected\n // then exit loop\n // => if media not attached but start frag prefetch is enabled and start frag not requested yet, we will not exit loop\n if (!media && (this.startFragRequested || !config.startFragPrefetch) || !(levels != null && levels[trackId])) {\n return;\n }\n var levelInfo = levels[trackId];\n var trackDetails = levelInfo.details;\n if (!trackDetails || trackDetails.live && this.levelLastLoaded !== levelInfo || this.waitForCdnTuneIn(trackDetails)) {\n this.state = State.WAITING_TRACK;\n return;\n }\n var bufferable = this.mediaBuffer ? this.mediaBuffer : this.media;\n if (this.bufferFlushed && bufferable) {\n this.bufferFlushed = false;\n this.afterBufferFlushed(bufferable, ElementaryStreamTypes.AUDIO, PlaylistLevelType.AUDIO);\n }\n var bufferInfo = this.getFwdBufferInfo(bufferable, PlaylistLevelType.AUDIO);\n if (bufferInfo === null) {\n return;\n }\n var bufferedTrack = this.bufferedTrack,\n switchingTrack = this.switchingTrack;\n if (!switchingTrack && this._streamEnded(bufferInfo, trackDetails)) {\n hls.trigger(Events.BUFFER_EOS, {\n type: 'audio'\n });\n this.state = State.ENDED;\n return;\n }\n var mainBufferInfo = this.getFwdBufferInfo(this.videoBuffer ? this.videoBuffer : this.media, PlaylistLevelType.MAIN);\n var bufferLen = bufferInfo.len;\n var maxBufLen = this.getMaxBufferLength(mainBufferInfo == null ? void 0 : mainBufferInfo.len);\n var fragments = trackDetails.fragments;\n var start = fragments[0].start;\n var targetBufferTime = this.flushing ? this.getLoadPosition() : bufferInfo.end;\n if (switchingTrack && media) {\n var pos = this.getLoadPosition();\n // STABLE\n if (bufferedTrack && !mediaAttributesIdentical(switchingTrack.attrs, bufferedTrack.attrs)) {\n targetBufferTime = pos;\n }\n // if currentTime (pos) is less than alt audio playlist start time, it means that alt audio is ahead of currentTime\n if (trackDetails.PTSKnown && pos < start) {\n // if everything is buffered from pos to start or if audio buffer upfront, let's seek to start\n if (bufferInfo.end > start || bufferInfo.nextStart) {\n this.log('Alt audio track ahead of main track, seek to start of alt audio track');\n media.currentTime = start + 0.05;\n }\n }\n }\n\n // if buffer length is less than maxBufLen, or near the end, find a fragment to load\n if (bufferLen >= maxBufLen && !switchingTrack && targetBufferTime < fragments[fragments.length - 1].start) {\n return;\n }\n var frag = this.getNextFragment(targetBufferTime, trackDetails);\n var atGap = false;\n // Avoid loop loading by using nextLoadPosition set for backtracking and skipping consecutive GAP tags\n if (frag && this.isLoopLoading(frag, targetBufferTime)) {\n atGap = !!frag.gap;\n frag = this.getNextFragmentLoopLoading(frag, trackDetails, bufferInfo, PlaylistLevelType.MAIN, maxBufLen);\n }\n if (!frag) {\n this.bufferFlushed = true;\n return;\n }\n\n // Buffer audio up to one target duration ahead of main buffer\n var atBufferSyncLimit = mainBufferInfo && frag.start > mainBufferInfo.end + trackDetails.targetduration;\n if (atBufferSyncLimit ||\n // Or wait for main buffer after buffing some audio\n !(mainBufferInfo != null && mainBufferInfo.len) && bufferInfo.len) {\n // Check fragment-tracker for main fragments since GAP segments do not show up in bufferInfo\n var mainFrag = this.getAppendedFrag(frag.start, PlaylistLevelType.MAIN);\n if (mainFrag === null) {\n return;\n }\n // Bridge gaps in main buffer\n atGap || (atGap = !!mainFrag.gap || !!atBufferSyncLimit && mainBufferInfo.len === 0);\n if (atBufferSyncLimit && !atGap || atGap && bufferInfo.nextStart && bufferInfo.nextStart < mainFrag.end) {\n return;\n }\n }\n this.loadFragment(frag, levelInfo, targetBufferTime);\n };\n _proto.getMaxBufferLength = function getMaxBufferLength(mainBufferLength) {\n var maxConfigBuffer = _BaseStreamController.prototype.getMaxBufferLength.call(this);\n if (!mainBufferLength) {\n return maxConfigBuffer;\n }\n return Math.min(Math.max(maxConfigBuffer, mainBufferLength), this.config.maxMaxBufferLength);\n };\n _proto.onMediaDetaching = function onMediaDetaching() {\n this.videoBuffer = null;\n this.bufferFlushed = this.flushing = false;\n _BaseStreamController.prototype.onMediaDetaching.call(this);\n };\n _proto.onAudioTracksUpdated = function onAudioTracksUpdated(event, _ref2) {\n var audioTracks = _ref2.audioTracks;\n // Reset tranxmuxer is essential for large context switches (Content Steering)\n this.resetTransmuxer();\n this.levels = audioTracks.map(function (mediaPlaylist) {\n return new Level(mediaPlaylist);\n });\n };\n _proto.onAudioTrackSwitching = function onAudioTrackSwitching(event, data) {\n // if any URL found on new audio track, it is an alternate audio track\n var altAudio = !!data.url;\n this.trackId = data.id;\n var fragCurrent = this.fragCurrent;\n if (fragCurrent) {\n fragCurrent.abortRequests();\n this.removeUnbufferedFrags(fragCurrent.start);\n }\n this.resetLoadingState();\n // destroy useless transmuxer when switching audio to main\n if (!altAudio) {\n this.resetTransmuxer();\n } else {\n // switching to audio track, start timer if not already started\n this.setInterval(TICK_INTERVAL$2);\n }\n\n // should we switch tracks ?\n if (altAudio) {\n this.switchingTrack = data;\n // main audio track are handled by stream-controller, just do something if switching to alt audio track\n this.state = State.IDLE;\n this.flushAudioIfNeeded(data);\n } else {\n this.switchingTrack = null;\n this.bufferedTrack = data;\n this.state = State.STOPPED;\n }\n this.tick();\n };\n _proto.onManifestLoading = function onManifestLoading() {\n this.fragmentTracker.removeAllFragments();\n this.startPosition = this.lastCurrentTime = 0;\n this.bufferFlushed = this.flushing = false;\n this.levels = this.mainDetails = this.waitingData = this.bufferedTrack = this.cachedTrackLoadedData = this.switchingTrack = null;\n this.startFragRequested = false;\n this.trackId = this.videoTrackCC = this.waitingVideoCC = -1;\n };\n _proto.onLevelLoaded = function onLevelLoaded(event, data) {\n this.mainDetails = data.details;\n if (this.cachedTrackLoadedData !== null) {\n this.hls.trigger(Events.AUDIO_TRACK_LOADED, this.cachedTrackLoadedData);\n this.cachedTrackLoadedData = null;\n }\n };\n _proto.onAudioTrackLoaded = function onAudioTrackLoaded(event, data) {\n var _track$details;\n if (this.mainDetails == null) {\n this.cachedTrackLoadedData = data;\n return;\n }\n var levels = this.levels;\n var newDetails = data.details,\n trackId = data.id;\n if (!levels) {\n this.warn(\"Audio tracks were reset while loading level \" + trackId);\n return;\n }\n this.log(\"Audio track \" + trackId + \" loaded [\" + newDetails.startSN + \",\" + newDetails.endSN + \"]\" + (newDetails.lastPartSn ? \"[part-\" + newDetails.lastPartSn + \"-\" + newDetails.lastPartIndex + \"]\" : '') + \",duration:\" + newDetails.totalduration);\n var track = levels[trackId];\n var sliding = 0;\n if (newDetails.live || (_track$details = track.details) != null && _track$details.live) {\n this.checkLiveUpdate(newDetails);\n var mainDetails = this.mainDetails;\n if (newDetails.deltaUpdateFailed || !mainDetails) {\n return;\n }\n if (!track.details && newDetails.hasProgramDateTime && mainDetails.hasProgramDateTime) {\n // Make sure our audio rendition is aligned with the \"main\" rendition, using\n // pdt as our reference times.\n alignMediaPlaylistByPDT(newDetails, mainDetails);\n sliding = newDetails.fragments[0].start;\n } else {\n var _this$levelLastLoaded;\n sliding = this.alignPlaylists(newDetails, track.details, (_this$levelLastLoaded = this.levelLastLoaded) == null ? void 0 : _this$levelLastLoaded.details);\n }\n }\n track.details = newDetails;\n this.levelLastLoaded = track;\n\n // compute start position if we are aligned with the main playlist\n if (!this.startFragRequested && (this.mainDetails || !newDetails.live)) {\n this.setStartPosition(this.mainDetails || newDetails, sliding);\n }\n // only switch back to IDLE state if we were waiting for track to start downloading a new fragment\n if (this.state === State.WAITING_TRACK && !this.waitForCdnTuneIn(newDetails)) {\n this.state = State.IDLE;\n }\n\n // trigger handler right now\n this.tick();\n };\n _proto._handleFragmentLoadProgress = function _handleFragmentLoadProgress(data) {\n var _frag$initSegment;\n var frag = data.frag,\n part = data.part,\n payload = data.payload;\n var config = this.config,\n trackId = this.trackId,\n levels = this.levels;\n if (!levels) {\n this.warn(\"Audio tracks were reset while fragment load was in progress. Fragment \" + frag.sn + \" of level \" + frag.level + \" will not be buffered\");\n return;\n }\n var track = levels[trackId];\n if (!track) {\n this.warn('Audio track is undefined on fragment load progress');\n return;\n }\n var details = track.details;\n if (!details) {\n this.warn('Audio track details undefined on fragment load progress');\n this.removeUnbufferedFrags(frag.start);\n return;\n }\n var audioCodec = config.defaultAudioCodec || track.audioCodec || 'mp4a.40.2';\n var transmuxer = this.transmuxer;\n if (!transmuxer) {\n transmuxer = this.transmuxer = new TransmuxerInterface(this.hls, PlaylistLevelType.AUDIO, this._handleTransmuxComplete.bind(this), this._handleTransmuxerFlush.bind(this));\n }\n\n // Check if we have video initPTS\n // If not we need to wait for it\n var initPTS = this.initPTS[frag.cc];\n var initSegmentData = (_frag$initSegment = frag.initSegment) == null ? void 0 : _frag$initSegment.data;\n if (initPTS !== undefined) {\n // this.log(`Transmuxing ${sn} of [${details.startSN} ,${details.endSN}],track ${trackId}`);\n // time Offset is accurate if level PTS is known, or if playlist is not sliding (not live)\n var accurateTimeOffset = false; // details.PTSKnown || !details.live;\n var partIndex = part ? part.index : -1;\n var partial = partIndex !== -1;\n var chunkMeta = new ChunkMetadata(frag.level, frag.sn, frag.stats.chunkCount, payload.byteLength, partIndex, partial);\n transmuxer.push(payload, initSegmentData, audioCodec, '', frag, part, details.totalduration, accurateTimeOffset, chunkMeta, initPTS);\n } else {\n this.log(\"Unknown video PTS for cc \" + frag.cc + \", waiting for video PTS before demuxing audio frag \" + frag.sn + \" of [\" + details.startSN + \" ,\" + details.endSN + \"],track \" + trackId);\n var _this$waitingData = this.waitingData = this.waitingData || {\n frag: frag,\n part: part,\n cache: new ChunkCache(),\n complete: false\n },\n cache = _this$waitingData.cache;\n cache.push(new Uint8Array(payload));\n this.waitingVideoCC = this.videoTrackCC;\n this.state = State.WAITING_INIT_PTS;\n }\n };\n _proto._handleFragmentLoadComplete = function _handleFragmentLoadComplete(fragLoadedData) {\n if (this.waitingData) {\n this.waitingData.complete = true;\n return;\n }\n _BaseStreamController.prototype._handleFragmentLoadComplete.call(this, fragLoadedData);\n };\n _proto.onBufferReset = function onBufferReset( /* event: Events.BUFFER_RESET */\n ) {\n // reset reference to sourcebuffers\n this.mediaBuffer = this.videoBuffer = null;\n this.loadedmetadata = false;\n };\n _proto.onBufferCreated = function onBufferCreated(event, data) {\n var audioTrack = data.tracks.audio;\n if (audioTrack) {\n this.mediaBuffer = audioTrack.buffer || null;\n }\n if (data.tracks.video) {\n this.videoBuffer = data.tracks.video.buffer || null;\n }\n };\n _proto.onFragBuffered = function onFragBuffered(event, data) {\n var frag = data.frag,\n part = data.part;\n if (frag.type !== PlaylistLevelType.AUDIO) {\n if (!this.loadedmetadata && frag.type === PlaylistLevelType.MAIN) {\n var bufferable = this.videoBuffer || this.media;\n if (bufferable) {\n var bufferedTimeRanges = BufferHelper.getBuffered(bufferable);\n if (bufferedTimeRanges.length) {\n this.loadedmetadata = true;\n }\n }\n }\n return;\n }\n if (this.fragContextChanged(frag)) {\n // If a level switch was requested while a fragment was buffering, it will emit the FRAG_BUFFERED event upon completion\n // Avoid setting state back to IDLE or concluding the audio switch; otherwise, the switched-to track will not buffer\n this.warn(\"Fragment \" + frag.sn + (part ? ' p: ' + part.index : '') + \" of level \" + frag.level + \" finished buffering, but was aborted. state: \" + this.state + \", audioSwitch: \" + (this.switchingTrack ? this.switchingTrack.name : 'false'));\n return;\n }\n if (frag.sn !== 'initSegment') {\n this.fragPrevious = frag;\n var track = this.switchingTrack;\n if (track) {\n this.bufferedTrack = track;\n this.switchingTrack = null;\n this.hls.trigger(Events.AUDIO_TRACK_SWITCHED, _objectSpread2({}, track));\n }\n }\n this.fragBufferedComplete(frag, part);\n };\n _proto.onError = function onError(event, data) {\n var _data$context;\n if (data.fatal) {\n this.state = State.ERROR;\n return;\n }\n switch (data.details) {\n case ErrorDetails.FRAG_GAP:\n case ErrorDetails.FRAG_PARSING_ERROR:\n case ErrorDetails.FRAG_DECRYPT_ERROR:\n case ErrorDetails.FRAG_LOAD_ERROR:\n case ErrorDetails.FRAG_LOAD_TIMEOUT:\n case ErrorDetails.KEY_LOAD_ERROR:\n case ErrorDetails.KEY_LOAD_TIMEOUT:\n this.onFragmentOrKeyLoadError(PlaylistLevelType.AUDIO, data);\n break;\n case ErrorDetails.AUDIO_TRACK_LOAD_ERROR:\n case ErrorDetails.AUDIO_TRACK_LOAD_TIMEOUT:\n case ErrorDetails.LEVEL_PARSING_ERROR:\n // in case of non fatal error while loading track, if not retrying to load track, switch back to IDLE\n if (!data.levelRetry && this.state === State.WAITING_TRACK && ((_data$context = data.context) == null ? void 0 : _data$context.type) === PlaylistContextType.AUDIO_TRACK) {\n this.state = State.IDLE;\n }\n break;\n case ErrorDetails.BUFFER_APPEND_ERROR:\n case ErrorDetails.BUFFER_FULL_ERROR:\n if (!data.parent || data.parent !== 'audio') {\n return;\n }\n if (data.details === ErrorDetails.BUFFER_APPEND_ERROR) {\n this.resetLoadingState();\n return;\n }\n if (this.reduceLengthAndFlushBuffer(data)) {\n this.bufferedTrack = null;\n _BaseStreamController.prototype.flushMainBuffer.call(this, 0, Number.POSITIVE_INFINITY, 'audio');\n }\n break;\n case ErrorDetails.INTERNAL_EXCEPTION:\n this.recoverWorkerError(data);\n break;\n }\n };\n _proto.onBufferFlushing = function onBufferFlushing(event, _ref3) {\n var type = _ref3.type;\n if (type !== ElementaryStreamTypes.VIDEO) {\n this.flushing = true;\n }\n };\n _proto.onBufferFlushed = function onBufferFlushed(event, _ref4) {\n var type = _ref4.type;\n if (type !== ElementaryStreamTypes.VIDEO) {\n this.flushing = false;\n this.bufferFlushed = true;\n if (this.state === State.ENDED) {\n this.state = State.IDLE;\n }\n var mediaBuffer = this.mediaBuffer || this.media;\n if (mediaBuffer) {\n this.afterBufferFlushed(mediaBuffer, type, PlaylistLevelType.AUDIO);\n this.tick();\n }\n }\n };\n _proto._handleTransmuxComplete = function _handleTransmuxComplete(transmuxResult) {\n var _id3$samples;\n var id = 'audio';\n var hls = this.hls;\n var remuxResult = transmuxResult.remuxResult,\n chunkMeta = transmuxResult.chunkMeta;\n var context = this.getCurrentContext(chunkMeta);\n if (!context) {\n this.resetWhenMissingContext(chunkMeta);\n return;\n }\n var frag = context.frag,\n part = context.part,\n level = context.level;\n var details = level.details;\n var audio = remuxResult.audio,\n text = remuxResult.text,\n id3 = remuxResult.id3,\n initSegment = remuxResult.initSegment;\n\n // Check if the current fragment has been aborted. We check this by first seeing if we're still playing the current level.\n // If we are, subsequently check if the currently loading fragment (fragCurrent) has changed.\n if (this.fragContextChanged(frag) || !details) {\n this.fragmentTracker.removeFragment(frag);\n return;\n }\n this.state = State.PARSING;\n if (this.switchingTrack && audio) {\n this.completeAudioSwitch(this.switchingTrack);\n }\n if (initSegment != null && initSegment.tracks) {\n var mapFragment = frag.initSegment || frag;\n this._bufferInitSegment(level, initSegment.tracks, mapFragment, chunkMeta);\n hls.trigger(Events.FRAG_PARSING_INIT_SEGMENT, {\n frag: mapFragment,\n id: id,\n tracks: initSegment.tracks\n });\n // Only flush audio from old audio tracks when PTS is known on new audio track\n }\n if (audio) {\n var startPTS = audio.startPTS,\n endPTS = audio.endPTS,\n startDTS = audio.startDTS,\n endDTS = audio.endDTS;\n if (part) {\n part.elementaryStreams[ElementaryStreamTypes.AUDIO] = {\n startPTS: startPTS,\n endPTS: endPTS,\n startDTS: startDTS,\n endDTS: endDTS\n };\n }\n frag.setElementaryStreamInfo(ElementaryStreamTypes.AUDIO, startPTS, endPTS, startDTS, endDTS);\n this.bufferFragmentData(audio, frag, part, chunkMeta);\n }\n if (id3 != null && (_id3$samples = id3.samples) != null && _id3$samples.length) {\n var emittedID3 = _extends({\n id: id,\n frag: frag,\n details: details\n }, id3);\n hls.trigger(Events.FRAG_PARSING_METADATA, emittedID3);\n }\n if (text) {\n var emittedText = _extends({\n id: id,\n frag: frag,\n details: details\n }, text);\n hls.trigger(Events.FRAG_PARSING_USERDATA, emittedText);\n }\n };\n _proto._bufferInitSegment = function _bufferInitSegment(currentLevel, tracks, frag, chunkMeta) {\n if (this.state !== State.PARSING) {\n return;\n }\n // delete any video track found on audio transmuxer\n if (tracks.video) {\n delete tracks.video;\n }\n\n // include levelCodec in audio and video tracks\n var track = tracks.audio;\n if (!track) {\n return;\n }\n track.id = 'audio';\n var variantAudioCodecs = currentLevel.audioCodec;\n this.log(\"Init audio buffer, container:\" + track.container + \", codecs[level/parsed]=[\" + variantAudioCodecs + \"/\" + track.codec + \"]\");\n // SourceBuffer will use track.levelCodec if defined\n if (variantAudioCodecs && variantAudioCodecs.split(',').length === 1) {\n track.levelCodec = variantAudioCodecs;\n }\n this.hls.trigger(Events.BUFFER_CODECS, tracks);\n var initSegment = track.initSegment;\n if (initSegment != null && initSegment.byteLength) {\n var segment = {\n type: 'audio',\n frag: frag,\n part: null,\n chunkMeta: chunkMeta,\n parent: frag.type,\n data: initSegment\n };\n this.hls.trigger(Events.BUFFER_APPENDING, segment);\n }\n // trigger handler right now\n this.tickImmediate();\n };\n _proto.loadFragment = function loadFragment(frag, track, targetBufferTime) {\n // only load if fragment is not loaded or if in audio switch\n var fragState = this.fragmentTracker.getState(frag);\n this.fragCurrent = frag;\n\n // we force a frag loading in audio switch as fragment tracker might not have evicted previous frags in case of quick audio switch\n if (this.switchingTrack || fragState === FragmentState.NOT_LOADED || fragState === FragmentState.PARTIAL) {\n var _track$details2;\n if (frag.sn === 'initSegment') {\n this._loadInitSegment(frag, track);\n } else if ((_track$details2 = track.details) != null && _track$details2.live && !this.initPTS[frag.cc]) {\n this.log(\"Waiting for video PTS in continuity counter \" + frag.cc + \" of live stream before loading audio fragment \" + frag.sn + \" of level \" + this.trackId);\n this.state = State.WAITING_INIT_PTS;\n var mainDetails = this.mainDetails;\n if (mainDetails && mainDetails.fragments[0].start !== track.details.fragments[0].start) {\n alignMediaPlaylistByPDT(track.details, mainDetails);\n }\n } else {\n this.startFragRequested = true;\n _BaseStreamController.prototype.loadFragment.call(this, frag, track, targetBufferTime);\n }\n } else {\n this.clearTrackerIfNeeded(frag);\n }\n };\n _proto.flushAudioIfNeeded = function flushAudioIfNeeded(switchingTrack) {\n var media = this.media,\n bufferedTrack = this.bufferedTrack;\n var bufferedAttributes = bufferedTrack == null ? void 0 : bufferedTrack.attrs;\n var switchAttributes = switchingTrack.attrs;\n if (media && bufferedAttributes && (bufferedAttributes.CHANNELS !== switchAttributes.CHANNELS || bufferedTrack.name !== switchingTrack.name || bufferedTrack.lang !== switchingTrack.lang)) {\n this.log('Switching audio track : flushing all audio');\n _BaseStreamController.prototype.flushMainBuffer.call(this, 0, Number.POSITIVE_INFINITY, 'audio');\n this.bufferedTrack = null;\n }\n };\n _proto.completeAudioSwitch = function completeAudioSwitch(switchingTrack) {\n var hls = this.hls;\n this.flushAudioIfNeeded(switchingTrack);\n this.bufferedTrack = switchingTrack;\n this.switchingTrack = null;\n hls.trigger(Events.AUDIO_TRACK_SWITCHED, _objectSpread2({}, switchingTrack));\n };\n return AudioStreamController;\n }(BaseStreamController);\n\n var AudioTrackController = /*#__PURE__*/function (_BasePlaylistControll) {\n _inheritsLoose(AudioTrackController, _BasePlaylistControll);\n function AudioTrackController(hls) {\n var _this;\n _this = _BasePlaylistControll.call(this, hls, '[audio-track-controller]') || this;\n _this.tracks = [];\n _this.groupIds = null;\n _this.tracksInGroup = [];\n _this.trackId = -1;\n _this.currentTrack = null;\n _this.selectDefaultTrack = true;\n _this.registerListeners();\n return _this;\n }\n var _proto = AudioTrackController.prototype;\n _proto.registerListeners = function registerListeners() {\n var hls = this.hls;\n hls.on(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.on(Events.MANIFEST_PARSED, this.onManifestParsed, this);\n hls.on(Events.LEVEL_LOADING, this.onLevelLoading, this);\n hls.on(Events.LEVEL_SWITCHING, this.onLevelSwitching, this);\n hls.on(Events.AUDIO_TRACK_LOADED, this.onAudioTrackLoaded, this);\n hls.on(Events.ERROR, this.onError, this);\n };\n _proto.unregisterListeners = function unregisterListeners() {\n var hls = this.hls;\n hls.off(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.off(Events.MANIFEST_PARSED, this.onManifestParsed, this);\n hls.off(Events.LEVEL_LOADING, this.onLevelLoading, this);\n hls.off(Events.LEVEL_SWITCHING, this.onLevelSwitching, this);\n hls.off(Events.AUDIO_TRACK_LOADED, this.onAudioTrackLoaded, this);\n hls.off(Events.ERROR, this.onError, this);\n };\n _proto.destroy = function destroy() {\n this.unregisterListeners();\n this.tracks.length = 0;\n this.tracksInGroup.length = 0;\n this.currentTrack = null;\n _BasePlaylistControll.prototype.destroy.call(this);\n };\n _proto.onManifestLoading = function onManifestLoading() {\n this.tracks = [];\n this.tracksInGroup = [];\n this.groupIds = null;\n this.currentTrack = null;\n this.trackId = -1;\n this.selectDefaultTrack = true;\n };\n _proto.onManifestParsed = function onManifestParsed(event, data) {\n this.tracks = data.audioTracks || [];\n };\n _proto.onAudioTrackLoaded = function onAudioTrackLoaded(event, data) {\n var id = data.id,\n groupId = data.groupId,\n details = data.details;\n var trackInActiveGroup = this.tracksInGroup[id];\n if (!trackInActiveGroup || trackInActiveGroup.groupId !== groupId) {\n this.warn(\"Audio track with id:\" + id + \" and group:\" + groupId + \" not found in active group \" + (trackInActiveGroup == null ? void 0 : trackInActiveGroup.groupId));\n return;\n }\n var curDetails = trackInActiveGroup.details;\n trackInActiveGroup.details = data.details;\n this.log(\"Audio track \" + id + \" \\\"\" + trackInActiveGroup.name + \"\\\" lang:\" + trackInActiveGroup.lang + \" group:\" + groupId + \" loaded [\" + details.startSN + \"-\" + details.endSN + \"]\");\n if (id === this.trackId) {\n this.playlistLoaded(id, data, curDetails);\n }\n };\n _proto.onLevelLoading = function onLevelLoading(event, data) {\n this.switchLevel(data.level);\n };\n _proto.onLevelSwitching = function onLevelSwitching(event, data) {\n this.switchLevel(data.level);\n };\n _proto.switchLevel = function switchLevel(levelIndex) {\n var levelInfo = this.hls.levels[levelIndex];\n if (!levelInfo) {\n return;\n }\n var audioGroups = levelInfo.audioGroups || null;\n var currentGroups = this.groupIds;\n var currentTrack = this.currentTrack;\n if (!audioGroups || (currentGroups == null ? void 0 : currentGroups.length) !== (audioGroups == null ? void 0 : audioGroups.length) || audioGroups != null && audioGroups.some(function (groupId) {\n return (currentGroups == null ? void 0 : currentGroups.indexOf(groupId)) === -1;\n })) {\n this.groupIds = audioGroups;\n this.trackId = -1;\n this.currentTrack = null;\n var audioTracks = this.tracks.filter(function (track) {\n return !audioGroups || audioGroups.indexOf(track.groupId) !== -1;\n });\n if (audioTracks.length) {\n // Disable selectDefaultTrack if there are no default tracks\n if (this.selectDefaultTrack && !audioTracks.some(function (track) {\n return track.default;\n })) {\n this.selectDefaultTrack = false;\n }\n // track.id should match hls.audioTracks index\n audioTracks.forEach(function (track, i) {\n track.id = i;\n });\n } else if (!currentTrack && !this.tracksInGroup.length) {\n // Do not dispatch AUDIO_TRACKS_UPDATED when there were and are no tracks\n return;\n }\n this.tracksInGroup = audioTracks;\n\n // Find preferred track\n var audioPreference = this.hls.config.audioPreference;\n if (!currentTrack && audioPreference) {\n var groupIndex = findMatchingOption(audioPreference, audioTracks, audioMatchPredicate);\n if (groupIndex > -1) {\n currentTrack = audioTracks[groupIndex];\n } else {\n var allIndex = findMatchingOption(audioPreference, this.tracks);\n currentTrack = this.tracks[allIndex];\n }\n }\n\n // Select initial track\n var trackId = this.findTrackId(currentTrack);\n if (trackId === -1 && currentTrack) {\n trackId = this.findTrackId(null);\n }\n\n // Dispatch events and load track if needed\n var audioTracksUpdated = {\n audioTracks: audioTracks\n };\n this.log(\"Updating audio tracks, \" + audioTracks.length + \" track(s) found in group(s): \" + (audioGroups == null ? void 0 : audioGroups.join(',')));\n this.hls.trigger(Events.AUDIO_TRACKS_UPDATED, audioTracksUpdated);\n var selectedTrackId = this.trackId;\n if (trackId !== -1 && selectedTrackId === -1) {\n this.setAudioTrack(trackId);\n } else if (audioTracks.length && selectedTrackId === -1) {\n var _this$groupIds;\n var error = new Error(\"No audio track selected for current audio group-ID(s): \" + ((_this$groupIds = this.groupIds) == null ? void 0 : _this$groupIds.join(',')) + \" track count: \" + audioTracks.length);\n this.warn(error.message);\n this.hls.trigger(Events.ERROR, {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.AUDIO_TRACK_LOAD_ERROR,\n fatal: true,\n error: error\n });\n }\n } else if (this.shouldReloadPlaylist(currentTrack)) {\n // Retry playlist loading if no playlist is or has been loaded yet\n this.setAudioTrack(this.trackId);\n }\n };\n _proto.onError = function onError(event, data) {\n if (data.fatal || !data.context) {\n return;\n }\n if (data.context.type === PlaylistContextType.AUDIO_TRACK && data.context.id === this.trackId && (!this.groupIds || this.groupIds.indexOf(data.context.groupId) !== -1)) {\n this.requestScheduled = -1;\n this.checkRetry(data);\n }\n };\n _proto.setAudioOption = function setAudioOption(audioOption) {\n var hls = this.hls;\n hls.config.audioPreference = audioOption;\n if (audioOption) {\n var allAudioTracks = this.allAudioTracks;\n this.selectDefaultTrack = false;\n if (allAudioTracks.length) {\n // First see if current option matches (no switch op)\n var currentTrack = this.currentTrack;\n if (currentTrack && matchesOption(audioOption, currentTrack, audioMatchPredicate)) {\n return currentTrack;\n }\n // Find option in available tracks (tracksInGroup)\n var groupIndex = findMatchingOption(audioOption, this.tracksInGroup, audioMatchPredicate);\n if (groupIndex > -1) {\n var track = this.tracksInGroup[groupIndex];\n this.setAudioTrack(groupIndex);\n return track;\n } else if (currentTrack) {\n // Find option in nearest level audio group\n var searchIndex = hls.loadLevel;\n if (searchIndex === -1) {\n searchIndex = hls.firstAutoLevel;\n }\n var switchIndex = findClosestLevelWithAudioGroup(audioOption, hls.levels, allAudioTracks, searchIndex, audioMatchPredicate);\n if (switchIndex === -1) {\n // could not find matching variant\n return null;\n }\n // and switch level to acheive the audio group switch\n hls.nextLoadLevel = switchIndex;\n }\n if (audioOption.channels || audioOption.audioCodec) {\n // Could not find a match with codec / channels predicate\n // Find a match without channels or codec\n var withoutCodecAndChannelsMatch = findMatchingOption(audioOption, allAudioTracks);\n if (withoutCodecAndChannelsMatch > -1) {\n return allAudioTracks[withoutCodecAndChannelsMatch];\n }\n }\n }\n }\n return null;\n };\n _proto.setAudioTrack = function setAudioTrack(newId) {\n var tracks = this.tracksInGroup;\n\n // check if level idx is valid\n if (newId < 0 || newId >= tracks.length) {\n this.warn(\"Invalid audio track id: \" + newId);\n return;\n }\n\n // stopping live reloading timer if any\n this.clearTimer();\n this.selectDefaultTrack = false;\n var lastTrack = this.currentTrack;\n var track = tracks[newId];\n var trackLoaded = track.details && !track.details.live;\n if (newId === this.trackId && track === lastTrack && trackLoaded) {\n return;\n }\n this.log(\"Switching to audio-track \" + newId + \" \\\"\" + track.name + \"\\\" lang:\" + track.lang + \" group:\" + track.groupId + \" channels:\" + track.channels);\n this.trackId = newId;\n this.currentTrack = track;\n this.hls.trigger(Events.AUDIO_TRACK_SWITCHING, _objectSpread2({}, track));\n // Do not reload track unless live\n if (trackLoaded) {\n return;\n }\n var hlsUrlParameters = this.switchParams(track.url, lastTrack == null ? void 0 : lastTrack.details);\n this.loadPlaylist(hlsUrlParameters);\n };\n _proto.findTrackId = function findTrackId(currentTrack) {\n var audioTracks = this.tracksInGroup;\n for (var i = 0; i < audioTracks.length; i++) {\n var track = audioTracks[i];\n if (this.selectDefaultTrack && !track.default) {\n continue;\n }\n if (!currentTrack || matchesOption(currentTrack, track, audioMatchPredicate)) {\n return i;\n }\n }\n if (currentTrack) {\n var name = currentTrack.name,\n lang = currentTrack.lang,\n assocLang = currentTrack.assocLang,\n characteristics = currentTrack.characteristics,\n audioCodec = currentTrack.audioCodec,\n channels = currentTrack.channels;\n for (var _i = 0; _i < audioTracks.length; _i++) {\n var _track = audioTracks[_i];\n if (matchesOption({\n name: name,\n lang: lang,\n assocLang: assocLang,\n characteristics: characteristics,\n audioCodec: audioCodec,\n channels: channels\n }, _track, audioMatchPredicate)) {\n return _i;\n }\n }\n for (var _i2 = 0; _i2 < audioTracks.length; _i2++) {\n var _track2 = audioTracks[_i2];\n if (mediaAttributesIdentical(currentTrack.attrs, _track2.attrs, ['LANGUAGE', 'ASSOC-LANGUAGE', 'CHARACTERISTICS'])) {\n return _i2;\n }\n }\n for (var _i3 = 0; _i3 < audioTracks.length; _i3++) {\n var _track3 = audioTracks[_i3];\n if (mediaAttributesIdentical(currentTrack.attrs, _track3.attrs, ['LANGUAGE'])) {\n return _i3;\n }\n }\n }\n return -1;\n };\n _proto.loadPlaylist = function loadPlaylist(hlsUrlParameters) {\n var audioTrack = this.currentTrack;\n if (this.shouldLoadPlaylist(audioTrack) && audioTrack) {\n _BasePlaylistControll.prototype.loadPlaylist.call(this);\n var id = audioTrack.id;\n var groupId = audioTrack.groupId;\n var url = audioTrack.url;\n if (hlsUrlParameters) {\n try {\n url = hlsUrlParameters.addDirectives(url);\n } catch (error) {\n this.warn(\"Could not construct new URL with HLS Delivery Directives: \" + error);\n }\n }\n // track not retrieved yet, or live playlist we need to (re)load it\n this.log(\"loading audio-track playlist \" + id + \" \\\"\" + audioTrack.name + \"\\\" lang:\" + audioTrack.lang + \" group:\" + groupId);\n this.clearTimer();\n this.hls.trigger(Events.AUDIO_TRACK_LOADING, {\n url: url,\n id: id,\n groupId: groupId,\n deliveryDirectives: hlsUrlParameters || null\n });\n }\n };\n _createClass(AudioTrackController, [{\n key: \"allAudioTracks\",\n get: function get() {\n return this.tracks;\n }\n }, {\n key: \"audioTracks\",\n get: function get() {\n return this.tracksInGroup;\n }\n }, {\n key: \"audioTrack\",\n get: function get() {\n return this.trackId;\n },\n set: function set(newId) {\n // If audio track is selected from API then don't choose from the manifest default track\n this.selectDefaultTrack = false;\n this.setAudioTrack(newId);\n }\n }]);\n return AudioTrackController;\n }(BasePlaylistController);\n\n var TICK_INTERVAL$1 = 500; // how often to tick in ms\n\n var SubtitleStreamController = /*#__PURE__*/function (_BaseStreamController) {\n _inheritsLoose(SubtitleStreamController, _BaseStreamController);\n function SubtitleStreamController(hls, fragmentTracker, keyLoader) {\n var _this;\n _this = _BaseStreamController.call(this, hls, fragmentTracker, keyLoader, '[subtitle-stream-controller]', PlaylistLevelType.SUBTITLE) || this;\n _this.currentTrackId = -1;\n _this.tracksBuffered = [];\n _this.mainDetails = null;\n _this._registerListeners();\n return _this;\n }\n var _proto = SubtitleStreamController.prototype;\n _proto.onHandlerDestroying = function onHandlerDestroying() {\n this._unregisterListeners();\n _BaseStreamController.prototype.onHandlerDestroying.call(this);\n this.mainDetails = null;\n };\n _proto._registerListeners = function _registerListeners() {\n var hls = this.hls;\n hls.on(Events.MEDIA_ATTACHED, this.onMediaAttached, this);\n hls.on(Events.MEDIA_DETACHING, this.onMediaDetaching, this);\n hls.on(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.on(Events.LEVEL_LOADED, this.onLevelLoaded, this);\n hls.on(Events.ERROR, this.onError, this);\n hls.on(Events.SUBTITLE_TRACKS_UPDATED, this.onSubtitleTracksUpdated, this);\n hls.on(Events.SUBTITLE_TRACK_SWITCH, this.onSubtitleTrackSwitch, this);\n hls.on(Events.SUBTITLE_TRACK_LOADED, this.onSubtitleTrackLoaded, this);\n hls.on(Events.SUBTITLE_FRAG_PROCESSED, this.onSubtitleFragProcessed, this);\n hls.on(Events.BUFFER_FLUSHING, this.onBufferFlushing, this);\n hls.on(Events.FRAG_BUFFERED, this.onFragBuffered, this);\n };\n _proto._unregisterListeners = function _unregisterListeners() {\n var hls = this.hls;\n hls.off(Events.MEDIA_ATTACHED, this.onMediaAttached, this);\n hls.off(Events.MEDIA_DETACHING, this.onMediaDetaching, this);\n hls.off(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.off(Events.LEVEL_LOADED, this.onLevelLoaded, this);\n hls.off(Events.ERROR, this.onError, this);\n hls.off(Events.SUBTITLE_TRACKS_UPDATED, this.onSubtitleTracksUpdated, this);\n hls.off(Events.SUBTITLE_TRACK_SWITCH, this.onSubtitleTrackSwitch, this);\n hls.off(Events.SUBTITLE_TRACK_LOADED, this.onSubtitleTrackLoaded, this);\n hls.off(Events.SUBTITLE_FRAG_PROCESSED, this.onSubtitleFragProcessed, this);\n hls.off(Events.BUFFER_FLUSHING, this.onBufferFlushing, this);\n hls.off(Events.FRAG_BUFFERED, this.onFragBuffered, this);\n };\n _proto.startLoad = function startLoad(startPosition) {\n this.stopLoad();\n this.state = State.IDLE;\n this.setInterval(TICK_INTERVAL$1);\n this.nextLoadPosition = this.startPosition = this.lastCurrentTime = startPosition;\n this.tick();\n };\n _proto.onManifestLoading = function onManifestLoading() {\n this.mainDetails = null;\n this.fragmentTracker.removeAllFragments();\n };\n _proto.onMediaDetaching = function onMediaDetaching() {\n this.tracksBuffered = [];\n _BaseStreamController.prototype.onMediaDetaching.call(this);\n };\n _proto.onLevelLoaded = function onLevelLoaded(event, data) {\n this.mainDetails = data.details;\n };\n _proto.onSubtitleFragProcessed = function onSubtitleFragProcessed(event, data) {\n var frag = data.frag,\n success = data.success;\n this.fragPrevious = frag;\n this.state = State.IDLE;\n if (!success) {\n return;\n }\n var buffered = this.tracksBuffered[this.currentTrackId];\n if (!buffered) {\n return;\n }\n\n // Create/update a buffered array matching the interface used by BufferHelper.bufferedInfo\n // so we can re-use the logic used to detect how much has been buffered\n var timeRange;\n var fragStart = frag.start;\n for (var i = 0; i < buffered.length; i++) {\n if (fragStart >= buffered[i].start && fragStart <= buffered[i].end) {\n timeRange = buffered[i];\n break;\n }\n }\n var fragEnd = frag.start + frag.duration;\n if (timeRange) {\n timeRange.end = fragEnd;\n } else {\n timeRange = {\n start: fragStart,\n end: fragEnd\n };\n buffered.push(timeRange);\n }\n this.fragmentTracker.fragBuffered(frag);\n this.fragBufferedComplete(frag, null);\n };\n _proto.onBufferFlushing = function onBufferFlushing(event, data) {\n var startOffset = data.startOffset,\n endOffset = data.endOffset;\n if (startOffset === 0 && endOffset !== Number.POSITIVE_INFINITY) {\n var endOffsetSubtitles = endOffset - 1;\n if (endOffsetSubtitles <= 0) {\n return;\n }\n data.endOffsetSubtitles = Math.max(0, endOffsetSubtitles);\n this.tracksBuffered.forEach(function (buffered) {\n for (var i = 0; i < buffered.length;) {\n if (buffered[i].end <= endOffsetSubtitles) {\n buffered.shift();\n continue;\n } else if (buffered[i].start < endOffsetSubtitles) {\n buffered[i].start = endOffsetSubtitles;\n } else {\n break;\n }\n i++;\n }\n });\n this.fragmentTracker.removeFragmentsInRange(startOffset, endOffsetSubtitles, PlaylistLevelType.SUBTITLE);\n }\n };\n _proto.onFragBuffered = function onFragBuffered(event, data) {\n if (!this.loadedmetadata && data.frag.type === PlaylistLevelType.MAIN) {\n var _this$media;\n if ((_this$media = this.media) != null && _this$media.buffered.length) {\n this.loadedmetadata = true;\n }\n }\n }\n\n // If something goes wrong, proceed to next frag, if we were processing one.\n ;\n _proto.onError = function onError(event, data) {\n var frag = data.frag;\n if ((frag == null ? void 0 : frag.type) === PlaylistLevelType.SUBTITLE) {\n if (this.fragCurrent) {\n this.fragCurrent.abortRequests();\n }\n if (this.state !== State.STOPPED) {\n this.state = State.IDLE;\n }\n }\n }\n\n // Got all new subtitle levels.\n ;\n _proto.onSubtitleTracksUpdated = function onSubtitleTracksUpdated(event, _ref) {\n var _this2 = this;\n var subtitleTracks = _ref.subtitleTracks;\n if (!this.levels || subtitleOptionsIdentical(this.levels, subtitleTracks)) {\n this.levels = subtitleTracks.map(function (mediaPlaylist) {\n return new Level(mediaPlaylist);\n });\n return;\n }\n this.tracksBuffered = [];\n this.levels = subtitleTracks.map(function (mediaPlaylist) {\n var level = new Level(mediaPlaylist);\n _this2.tracksBuffered[level.id] = [];\n return level;\n });\n this.fragmentTracker.removeFragmentsInRange(0, Number.POSITIVE_INFINITY, PlaylistLevelType.SUBTITLE);\n this.fragPrevious = null;\n this.mediaBuffer = null;\n };\n _proto.onSubtitleTrackSwitch = function onSubtitleTrackSwitch(event, data) {\n var _this$levels;\n this.currentTrackId = data.id;\n if (!((_this$levels = this.levels) != null && _this$levels.length) || this.currentTrackId === -1) {\n this.clearInterval();\n return;\n }\n\n // Check if track has the necessary details to load fragments\n var currentTrack = this.levels[this.currentTrackId];\n if (currentTrack != null && currentTrack.details) {\n this.mediaBuffer = this.mediaBufferTimeRanges;\n } else {\n this.mediaBuffer = null;\n }\n if (currentTrack) {\n this.setInterval(TICK_INTERVAL$1);\n }\n }\n\n // Got a new set of subtitle fragments.\n ;\n _proto.onSubtitleTrackLoaded = function onSubtitleTrackLoaded(event, data) {\n var _track$details;\n var currentTrackId = this.currentTrackId,\n levels = this.levels;\n var newDetails = data.details,\n trackId = data.id;\n if (!levels) {\n this.warn(\"Subtitle tracks were reset while loading level \" + trackId);\n return;\n }\n var track = levels[currentTrackId];\n if (trackId >= levels.length || trackId !== currentTrackId || !track) {\n return;\n }\n this.log(\"Subtitle track \" + trackId + \" loaded [\" + newDetails.startSN + \",\" + newDetails.endSN + \"]\" + (newDetails.lastPartSn ? \"[part-\" + newDetails.lastPartSn + \"-\" + newDetails.lastPartIndex + \"]\" : '') + \",duration:\" + newDetails.totalduration);\n this.mediaBuffer = this.mediaBufferTimeRanges;\n var sliding = 0;\n if (newDetails.live || (_track$details = track.details) != null && _track$details.live) {\n var mainDetails = this.mainDetails;\n if (newDetails.deltaUpdateFailed || !mainDetails) {\n return;\n }\n var mainSlidingStartFragment = mainDetails.fragments[0];\n if (!track.details) {\n if (newDetails.hasProgramDateTime && mainDetails.hasProgramDateTime) {\n alignMediaPlaylistByPDT(newDetails, mainDetails);\n sliding = newDetails.fragments[0].start;\n } else if (mainSlidingStartFragment) {\n // line up live playlist with main so that fragments in range are loaded\n sliding = mainSlidingStartFragment.start;\n addSliding(newDetails, sliding);\n }\n } else {\n var _this$levelLastLoaded;\n sliding = this.alignPlaylists(newDetails, track.details, (_this$levelLastLoaded = this.levelLastLoaded) == null ? void 0 : _this$levelLastLoaded.details);\n if (sliding === 0 && mainSlidingStartFragment) {\n // realign with main when there is no overlap with last refresh\n sliding = mainSlidingStartFragment.start;\n addSliding(newDetails, sliding);\n }\n }\n }\n track.details = newDetails;\n this.levelLastLoaded = track;\n if (!this.startFragRequested && (this.mainDetails || !newDetails.live)) {\n this.setStartPosition(this.mainDetails || newDetails, sliding);\n }\n\n // trigger handler right now\n this.tick();\n\n // If playlist is misaligned because of bad PDT or drift, delete details to resync with main on reload\n if (newDetails.live && !this.fragCurrent && this.media && this.state === State.IDLE) {\n var foundFrag = findFragmentByPTS(null, newDetails.fragments, this.media.currentTime, 0);\n if (!foundFrag) {\n this.warn('Subtitle playlist not aligned with playback');\n track.details = undefined;\n }\n }\n };\n _proto._handleFragmentLoadComplete = function _handleFragmentLoadComplete(fragLoadedData) {\n var _this3 = this;\n var frag = fragLoadedData.frag,\n payload = fragLoadedData.payload;\n var decryptData = frag.decryptdata;\n var hls = this.hls;\n if (this.fragContextChanged(frag)) {\n return;\n }\n // check to see if the payload needs to be decrypted\n if (payload && payload.byteLength > 0 && decryptData != null && decryptData.key && decryptData.iv && decryptData.method === 'AES-128') {\n var startTime = performance.now();\n // decrypt the subtitles\n this.decrypter.decrypt(new Uint8Array(payload), decryptData.key.buffer, decryptData.iv.buffer).catch(function (err) {\n hls.trigger(Events.ERROR, {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.FRAG_DECRYPT_ERROR,\n fatal: false,\n error: err,\n reason: err.message,\n frag: frag\n });\n throw err;\n }).then(function (decryptedData) {\n var endTime = performance.now();\n hls.trigger(Events.FRAG_DECRYPTED, {\n frag: frag,\n payload: decryptedData,\n stats: {\n tstart: startTime,\n tdecrypt: endTime\n }\n });\n }).catch(function (err) {\n _this3.warn(err.name + \": \" + err.message);\n _this3.state = State.IDLE;\n });\n }\n };\n _proto.doTick = function doTick() {\n if (!this.media) {\n this.state = State.IDLE;\n return;\n }\n if (this.state === State.IDLE) {\n var currentTrackId = this.currentTrackId,\n levels = this.levels;\n var track = levels == null ? void 0 : levels[currentTrackId];\n if (!track || !levels.length || !track.details) {\n return;\n }\n var config = this.config;\n var currentTime = this.getLoadPosition();\n var bufferedInfo = BufferHelper.bufferedInfo(this.tracksBuffered[this.currentTrackId] || [], currentTime, config.maxBufferHole);\n var targetBufferTime = bufferedInfo.end,\n bufferLen = bufferedInfo.len;\n var mainBufferInfo = this.getFwdBufferInfo(this.media, PlaylistLevelType.MAIN);\n var trackDetails = track.details;\n var maxBufLen = this.getMaxBufferLength(mainBufferInfo == null ? void 0 : mainBufferInfo.len) + trackDetails.levelTargetDuration;\n if (bufferLen > maxBufLen) {\n return;\n }\n var fragments = trackDetails.fragments;\n var fragLen = fragments.length;\n var end = trackDetails.edge;\n var foundFrag = null;\n var fragPrevious = this.fragPrevious;\n if (targetBufferTime < end) {\n var tolerance = config.maxFragLookUpTolerance;\n var lookupTolerance = targetBufferTime > end - tolerance ? 0 : tolerance;\n foundFrag = findFragmentByPTS(fragPrevious, fragments, Math.max(fragments[0].start, targetBufferTime), lookupTolerance);\n if (!foundFrag && fragPrevious && fragPrevious.start < fragments[0].start) {\n foundFrag = fragments[0];\n }\n } else {\n foundFrag = fragments[fragLen - 1];\n }\n if (!foundFrag) {\n return;\n }\n foundFrag = this.mapToInitFragWhenRequired(foundFrag);\n if (foundFrag.sn !== 'initSegment') {\n // Load earlier fragment in same discontinuity to make up for misaligned playlists and cues that extend beyond end of segment\n var curSNIdx = foundFrag.sn - trackDetails.startSN;\n var prevFrag = fragments[curSNIdx - 1];\n if (prevFrag && prevFrag.cc === foundFrag.cc && this.fragmentTracker.getState(prevFrag) === FragmentState.NOT_LOADED) {\n foundFrag = prevFrag;\n }\n }\n if (this.fragmentTracker.getState(foundFrag) === FragmentState.NOT_LOADED) {\n // only load if fragment is not loaded\n this.loadFragment(foundFrag, track, targetBufferTime);\n }\n }\n };\n _proto.getMaxBufferLength = function getMaxBufferLength(mainBufferLength) {\n var maxConfigBuffer = _BaseStreamController.prototype.getMaxBufferLength.call(this);\n if (!mainBufferLength) {\n return maxConfigBuffer;\n }\n return Math.max(maxConfigBuffer, mainBufferLength);\n };\n _proto.loadFragment = function loadFragment(frag, level, targetBufferTime) {\n this.fragCurrent = frag;\n if (frag.sn === 'initSegment') {\n this._loadInitSegment(frag, level);\n } else {\n this.startFragRequested = true;\n _BaseStreamController.prototype.loadFragment.call(this, frag, level, targetBufferTime);\n }\n };\n _createClass(SubtitleStreamController, [{\n key: \"mediaBufferTimeRanges\",\n get: function get() {\n return new BufferableInstance(this.tracksBuffered[this.currentTrackId] || []);\n }\n }]);\n return SubtitleStreamController;\n }(BaseStreamController);\n var BufferableInstance = function BufferableInstance(timeranges) {\n this.buffered = void 0;\n var getRange = function getRange(name, index, length) {\n index = index >>> 0;\n if (index > length - 1) {\n throw new DOMException(\"Failed to execute '\" + name + \"' on 'TimeRanges': The index provided (\" + index + \") is greater than the maximum bound (\" + length + \")\");\n }\n return timeranges[index][name];\n };\n this.buffered = {\n get length() {\n return timeranges.length;\n },\n end: function end(index) {\n return getRange('end', index, timeranges.length);\n },\n start: function start(index) {\n return getRange('start', index, timeranges.length);\n }\n };\n };\n\n var SubtitleTrackController = /*#__PURE__*/function (_BasePlaylistControll) {\n _inheritsLoose(SubtitleTrackController, _BasePlaylistControll);\n function SubtitleTrackController(hls) {\n var _this;\n _this = _BasePlaylistControll.call(this, hls, '[subtitle-track-controller]') || this;\n _this.media = null;\n _this.tracks = [];\n _this.groupIds = null;\n _this.tracksInGroup = [];\n _this.trackId = -1;\n _this.currentTrack = null;\n _this.selectDefaultTrack = true;\n _this.queuedDefaultTrack = -1;\n _this.asyncPollTrackChange = function () {\n return _this.pollTrackChange(0);\n };\n _this.useTextTrackPolling = false;\n _this.subtitlePollingInterval = -1;\n _this._subtitleDisplay = true;\n _this.onTextTracksChanged = function () {\n if (!_this.useTextTrackPolling) {\n self.clearInterval(_this.subtitlePollingInterval);\n }\n // Media is undefined when switching streams via loadSource()\n if (!_this.media || !_this.hls.config.renderTextTracksNatively) {\n return;\n }\n var textTrack = null;\n var tracks = filterSubtitleTracks(_this.media.textTracks);\n for (var i = 0; i < tracks.length; i++) {\n if (tracks[i].mode === 'hidden') {\n // Do not break in case there is a following track with showing.\n textTrack = tracks[i];\n } else if (tracks[i].mode === 'showing') {\n textTrack = tracks[i];\n break;\n }\n }\n\n // Find internal track index for TextTrack\n var trackId = _this.findTrackForTextTrack(textTrack);\n if (_this.subtitleTrack !== trackId) {\n _this.setSubtitleTrack(trackId);\n }\n };\n _this.registerListeners();\n return _this;\n }\n var _proto = SubtitleTrackController.prototype;\n _proto.destroy = function destroy() {\n this.unregisterListeners();\n this.tracks.length = 0;\n this.tracksInGroup.length = 0;\n this.currentTrack = null;\n this.onTextTracksChanged = this.asyncPollTrackChange = null;\n _BasePlaylistControll.prototype.destroy.call(this);\n };\n _proto.registerListeners = function registerListeners() {\n var hls = this.hls;\n hls.on(Events.MEDIA_ATTACHED, this.onMediaAttached, this);\n hls.on(Events.MEDIA_DETACHING, this.onMediaDetaching, this);\n hls.on(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.on(Events.MANIFEST_PARSED, this.onManifestParsed, this);\n hls.on(Events.LEVEL_LOADING, this.onLevelLoading, this);\n hls.on(Events.LEVEL_SWITCHING, this.onLevelSwitching, this);\n hls.on(Events.SUBTITLE_TRACK_LOADED, this.onSubtitleTrackLoaded, this);\n hls.on(Events.ERROR, this.onError, this);\n };\n _proto.unregisterListeners = function unregisterListeners() {\n var hls = this.hls;\n hls.off(Events.MEDIA_ATTACHED, this.onMediaAttached, this);\n hls.off(Events.MEDIA_DETACHING, this.onMediaDetaching, this);\n hls.off(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.off(Events.MANIFEST_PARSED, this.onManifestParsed, this);\n hls.off(Events.LEVEL_LOADING, this.onLevelLoading, this);\n hls.off(Events.LEVEL_SWITCHING, this.onLevelSwitching, this);\n hls.off(Events.SUBTITLE_TRACK_LOADED, this.onSubtitleTrackLoaded, this);\n hls.off(Events.ERROR, this.onError, this);\n }\n\n // Listen for subtitle track change, then extract the current track ID.\n ;\n _proto.onMediaAttached = function onMediaAttached(event, data) {\n this.media = data.media;\n if (!this.media) {\n return;\n }\n if (this.queuedDefaultTrack > -1) {\n this.subtitleTrack = this.queuedDefaultTrack;\n this.queuedDefaultTrack = -1;\n }\n this.useTextTrackPolling = !(this.media.textTracks && 'onchange' in this.media.textTracks);\n if (this.useTextTrackPolling) {\n this.pollTrackChange(500);\n } else {\n this.media.textTracks.addEventListener('change', this.asyncPollTrackChange);\n }\n };\n _proto.pollTrackChange = function pollTrackChange(timeout) {\n self.clearInterval(this.subtitlePollingInterval);\n this.subtitlePollingInterval = self.setInterval(this.onTextTracksChanged, timeout);\n };\n _proto.onMediaDetaching = function onMediaDetaching() {\n if (!this.media) {\n return;\n }\n self.clearInterval(this.subtitlePollingInterval);\n if (!this.useTextTrackPolling) {\n this.media.textTracks.removeEventListener('change', this.asyncPollTrackChange);\n }\n if (this.trackId > -1) {\n this.queuedDefaultTrack = this.trackId;\n }\n var textTracks = filterSubtitleTracks(this.media.textTracks);\n // Clear loaded cues on media detachment from tracks\n textTracks.forEach(function (track) {\n clearCurrentCues(track);\n });\n // Disable all subtitle tracks before detachment so when reattached only tracks in that content are enabled.\n this.subtitleTrack = -1;\n this.media = null;\n };\n _proto.onManifestLoading = function onManifestLoading() {\n this.tracks = [];\n this.groupIds = null;\n this.tracksInGroup = [];\n this.trackId = -1;\n this.currentTrack = null;\n this.selectDefaultTrack = true;\n }\n\n // Fired whenever a new manifest is loaded.\n ;\n _proto.onManifestParsed = function onManifestParsed(event, data) {\n this.tracks = data.subtitleTracks;\n };\n _proto.onSubtitleTrackLoaded = function onSubtitleTrackLoaded(event, data) {\n var id = data.id,\n groupId = data.groupId,\n details = data.details;\n var trackInActiveGroup = this.tracksInGroup[id];\n if (!trackInActiveGroup || trackInActiveGroup.groupId !== groupId) {\n this.warn(\"Subtitle track with id:\" + id + \" and group:\" + groupId + \" not found in active group \" + (trackInActiveGroup == null ? void 0 : trackInActiveGroup.groupId));\n return;\n }\n var curDetails = trackInActiveGroup.details;\n trackInActiveGroup.details = data.details;\n this.log(\"Subtitle track \" + id + \" \\\"\" + trackInActiveGroup.name + \"\\\" lang:\" + trackInActiveGroup.lang + \" group:\" + groupId + \" loaded [\" + details.startSN + \"-\" + details.endSN + \"]\");\n if (id === this.trackId) {\n this.playlistLoaded(id, data, curDetails);\n }\n };\n _proto.onLevelLoading = function onLevelLoading(event, data) {\n this.switchLevel(data.level);\n };\n _proto.onLevelSwitching = function onLevelSwitching(event, data) {\n this.switchLevel(data.level);\n };\n _proto.switchLevel = function switchLevel(levelIndex) {\n var levelInfo = this.hls.levels[levelIndex];\n if (!levelInfo) {\n return;\n }\n var subtitleGroups = levelInfo.subtitleGroups || null;\n var currentGroups = this.groupIds;\n var currentTrack = this.currentTrack;\n if (!subtitleGroups || (currentGroups == null ? void 0 : currentGroups.length) !== (subtitleGroups == null ? void 0 : subtitleGroups.length) || subtitleGroups != null && subtitleGroups.some(function (groupId) {\n return (currentGroups == null ? void 0 : currentGroups.indexOf(groupId)) === -1;\n })) {\n this.groupIds = subtitleGroups;\n this.trackId = -1;\n this.currentTrack = null;\n var subtitleTracks = this.tracks.filter(function (track) {\n return !subtitleGroups || subtitleGroups.indexOf(track.groupId) !== -1;\n });\n if (subtitleTracks.length) {\n // Disable selectDefaultTrack if there are no default tracks\n if (this.selectDefaultTrack && !subtitleTracks.some(function (track) {\n return track.default;\n })) {\n this.selectDefaultTrack = false;\n }\n // track.id should match hls.audioTracks index\n subtitleTracks.forEach(function (track, i) {\n track.id = i;\n });\n } else if (!currentTrack && !this.tracksInGroup.length) {\n // Do not dispatch SUBTITLE_TRACKS_UPDATED when there were and are no tracks\n return;\n }\n this.tracksInGroup = subtitleTracks;\n\n // Find preferred track\n var subtitlePreference = this.hls.config.subtitlePreference;\n if (!currentTrack && subtitlePreference) {\n this.selectDefaultTrack = false;\n var groupIndex = findMatchingOption(subtitlePreference, subtitleTracks);\n if (groupIndex > -1) {\n currentTrack = subtitleTracks[groupIndex];\n } else {\n var allIndex = findMatchingOption(subtitlePreference, this.tracks);\n currentTrack = this.tracks[allIndex];\n }\n }\n\n // Select initial track\n var trackId = this.findTrackId(currentTrack);\n if (trackId === -1 && currentTrack) {\n trackId = this.findTrackId(null);\n }\n\n // Dispatch events and load track if needed\n var subtitleTracksUpdated = {\n subtitleTracks: subtitleTracks\n };\n this.log(\"Updating subtitle tracks, \" + subtitleTracks.length + \" track(s) found in \\\"\" + (subtitleGroups == null ? void 0 : subtitleGroups.join(',')) + \"\\\" group-id\");\n this.hls.trigger(Events.SUBTITLE_TRACKS_UPDATED, subtitleTracksUpdated);\n if (trackId !== -1 && this.trackId === -1) {\n this.setSubtitleTrack(trackId);\n }\n } else if (this.shouldReloadPlaylist(currentTrack)) {\n // Retry playlist loading if no playlist is or has been loaded yet\n this.setSubtitleTrack(this.trackId);\n }\n };\n _proto.findTrackId = function findTrackId(currentTrack) {\n var tracks = this.tracksInGroup;\n var selectDefault = this.selectDefaultTrack;\n for (var i = 0; i < tracks.length; i++) {\n var track = tracks[i];\n if (selectDefault && !track.default || !selectDefault && !currentTrack) {\n continue;\n }\n if (!currentTrack || matchesOption(track, currentTrack)) {\n return i;\n }\n }\n if (currentTrack) {\n for (var _i = 0; _i < tracks.length; _i++) {\n var _track = tracks[_i];\n if (mediaAttributesIdentical(currentTrack.attrs, _track.attrs, ['LANGUAGE', 'ASSOC-LANGUAGE', 'CHARACTERISTICS'])) {\n return _i;\n }\n }\n for (var _i2 = 0; _i2 < tracks.length; _i2++) {\n var _track2 = tracks[_i2];\n if (mediaAttributesIdentical(currentTrack.attrs, _track2.attrs, ['LANGUAGE'])) {\n return _i2;\n }\n }\n }\n return -1;\n };\n _proto.findTrackForTextTrack = function findTrackForTextTrack(textTrack) {\n if (textTrack) {\n var tracks = this.tracksInGroup;\n for (var i = 0; i < tracks.length; i++) {\n var track = tracks[i];\n if (subtitleTrackMatchesTextTrack(track, textTrack)) {\n return i;\n }\n }\n }\n return -1;\n };\n _proto.onError = function onError(event, data) {\n if (data.fatal || !data.context) {\n return;\n }\n if (data.context.type === PlaylistContextType.SUBTITLE_TRACK && data.context.id === this.trackId && (!this.groupIds || this.groupIds.indexOf(data.context.groupId) !== -1)) {\n this.checkRetry(data);\n }\n };\n _proto.setSubtitleOption = function setSubtitleOption(subtitleOption) {\n this.hls.config.subtitlePreference = subtitleOption;\n if (subtitleOption) {\n var allSubtitleTracks = this.allSubtitleTracks;\n this.selectDefaultTrack = false;\n if (allSubtitleTracks.length) {\n // First see if current option matches (no switch op)\n var currentTrack = this.currentTrack;\n if (currentTrack && matchesOption(subtitleOption, currentTrack)) {\n return currentTrack;\n }\n // Find option in current group\n var groupIndex = findMatchingOption(subtitleOption, this.tracksInGroup);\n if (groupIndex > -1) {\n var track = this.tracksInGroup[groupIndex];\n this.setSubtitleTrack(groupIndex);\n return track;\n } else if (currentTrack) {\n // If this is not the initial selection return null\n // option should have matched one in active group\n return null;\n } else {\n // Find the option in all tracks for initial selection\n var allIndex = findMatchingOption(subtitleOption, allSubtitleTracks);\n if (allIndex > -1) {\n return allSubtitleTracks[allIndex];\n }\n }\n }\n }\n return null;\n };\n _proto.loadPlaylist = function loadPlaylist(hlsUrlParameters) {\n _BasePlaylistControll.prototype.loadPlaylist.call(this);\n var currentTrack = this.currentTrack;\n if (this.shouldLoadPlaylist(currentTrack) && currentTrack) {\n var id = currentTrack.id;\n var groupId = currentTrack.groupId;\n var url = currentTrack.url;\n if (hlsUrlParameters) {\n try {\n url = hlsUrlParameters.addDirectives(url);\n } catch (error) {\n this.warn(\"Could not construct new URL with HLS Delivery Directives: \" + error);\n }\n }\n this.log(\"Loading subtitle playlist for id \" + id);\n this.hls.trigger(Events.SUBTITLE_TRACK_LOADING, {\n url: url,\n id: id,\n groupId: groupId,\n deliveryDirectives: hlsUrlParameters || null\n });\n }\n }\n\n /**\n * Disables the old subtitleTrack and sets current mode on the next subtitleTrack.\n * This operates on the DOM textTracks.\n * A value of -1 will disable all subtitle tracks.\n */;\n _proto.toggleTrackModes = function toggleTrackModes() {\n var media = this.media;\n if (!media) {\n return;\n }\n var textTracks = filterSubtitleTracks(media.textTracks);\n var currentTrack = this.currentTrack;\n var nextTrack;\n if (currentTrack) {\n nextTrack = textTracks.filter(function (textTrack) {\n return subtitleTrackMatchesTextTrack(currentTrack, textTrack);\n })[0];\n if (!nextTrack) {\n this.warn(\"Unable to find subtitle TextTrack with name \\\"\" + currentTrack.name + \"\\\" and language \\\"\" + currentTrack.lang + \"\\\"\");\n }\n }\n [].slice.call(textTracks).forEach(function (track) {\n if (track.mode !== 'disabled' && track !== nextTrack) {\n track.mode = 'disabled';\n }\n });\n if (nextTrack) {\n var mode = this.subtitleDisplay ? 'showing' : 'hidden';\n if (nextTrack.mode !== mode) {\n nextTrack.mode = mode;\n }\n }\n }\n\n /**\n * This method is responsible for validating the subtitle index and periodically reloading if live.\n * Dispatches the SUBTITLE_TRACK_SWITCH event, which instructs the subtitle-stream-controller to load the selected track.\n */;\n _proto.setSubtitleTrack = function setSubtitleTrack(newId) {\n var tracks = this.tracksInGroup;\n\n // setting this.subtitleTrack will trigger internal logic\n // if media has not been attached yet, it will fail\n // we keep a reference to the default track id\n // and we'll set subtitleTrack when onMediaAttached is triggered\n if (!this.media) {\n this.queuedDefaultTrack = newId;\n return;\n }\n\n // exit if track id as already set or invalid\n if (newId < -1 || newId >= tracks.length || !isFiniteNumber(newId)) {\n this.warn(\"Invalid subtitle track id: \" + newId);\n return;\n }\n\n // stopping live reloading timer if any\n this.clearTimer();\n this.selectDefaultTrack = false;\n var lastTrack = this.currentTrack;\n var track = tracks[newId] || null;\n this.trackId = newId;\n this.currentTrack = track;\n this.toggleTrackModes();\n if (!track) {\n // switch to -1\n this.hls.trigger(Events.SUBTITLE_TRACK_SWITCH, {\n id: newId\n });\n return;\n }\n var trackLoaded = !!track.details && !track.details.live;\n if (newId === this.trackId && track === lastTrack && trackLoaded) {\n return;\n }\n this.log(\"Switching to subtitle-track \" + newId + (track ? \" \\\"\" + track.name + \"\\\" lang:\" + track.lang + \" group:\" + track.groupId : ''));\n var id = track.id,\n _track$groupId = track.groupId,\n groupId = _track$groupId === void 0 ? '' : _track$groupId,\n name = track.name,\n type = track.type,\n url = track.url;\n this.hls.trigger(Events.SUBTITLE_TRACK_SWITCH, {\n id: id,\n groupId: groupId,\n name: name,\n type: type,\n url: url\n });\n var hlsUrlParameters = this.switchParams(track.url, lastTrack == null ? void 0 : lastTrack.details);\n this.loadPlaylist(hlsUrlParameters);\n };\n _createClass(SubtitleTrackController, [{\n key: \"subtitleDisplay\",\n get: function get() {\n return this._subtitleDisplay;\n },\n set: function set(value) {\n this._subtitleDisplay = value;\n if (this.trackId > -1) {\n this.toggleTrackModes();\n }\n }\n }, {\n key: \"allSubtitleTracks\",\n get: function get() {\n return this.tracks;\n }\n\n /** get alternate subtitle tracks list from playlist **/\n }, {\n key: \"subtitleTracks\",\n get: function get() {\n return this.tracksInGroup;\n }\n\n /** get/set index of the selected subtitle track (based on index in subtitle track lists) **/\n }, {\n key: \"subtitleTrack\",\n get: function get() {\n return this.trackId;\n },\n set: function set(newId) {\n this.selectDefaultTrack = false;\n this.setSubtitleTrack(newId);\n }\n }]);\n return SubtitleTrackController;\n }(BasePlaylistController);\n\n var BufferOperationQueue = /*#__PURE__*/function () {\n function BufferOperationQueue(sourceBufferReference) {\n this.buffers = void 0;\n this.queues = {\n video: [],\n audio: [],\n audiovideo: []\n };\n this.buffers = sourceBufferReference;\n }\n var _proto = BufferOperationQueue.prototype;\n _proto.append = function append(operation, type, pending) {\n var queue = this.queues[type];\n queue.push(operation);\n if (queue.length === 1 && !pending) {\n this.executeNext(type);\n }\n };\n _proto.insertAbort = function insertAbort(operation, type) {\n var queue = this.queues[type];\n queue.unshift(operation);\n this.executeNext(type);\n };\n _proto.appendBlocker = function appendBlocker(type) {\n var execute;\n var promise = new Promise(function (resolve) {\n execute = resolve;\n });\n var operation = {\n execute: execute,\n onStart: function onStart() {},\n onComplete: function onComplete() {},\n onError: function onError() {}\n };\n this.append(operation, type);\n return promise;\n };\n _proto.executeNext = function executeNext(type) {\n var queue = this.queues[type];\n if (queue.length) {\n var operation = queue[0];\n try {\n // Operations are expected to result in an 'updateend' event being fired. If not, the queue will lock. Operations\n // which do not end with this event must call _onSBUpdateEnd manually\n operation.execute();\n } catch (error) {\n logger.warn(\"[buffer-operation-queue]: Exception executing \\\"\" + type + \"\\\" SourceBuffer operation: \" + error);\n operation.onError(error);\n\n // Only shift the current operation off, otherwise the updateend handler will do this for us\n var sb = this.buffers[type];\n if (!(sb != null && sb.updating)) {\n this.shiftAndExecuteNext(type);\n }\n }\n }\n };\n _proto.shiftAndExecuteNext = function shiftAndExecuteNext(type) {\n this.queues[type].shift();\n this.executeNext(type);\n };\n _proto.current = function current(type) {\n return this.queues[type][0];\n };\n return BufferOperationQueue;\n }();\n\n var VIDEO_CODEC_PROFILE_REPLACE = /(avc[1234]|hvc1|hev1|dvh[1e]|vp09|av01)(?:\\.[^.,]+)+/;\n var BufferController = /*#__PURE__*/function () {\n function BufferController(hls) {\n var _this = this;\n // The level details used to determine duration, target-duration and live\n this.details = null;\n // cache the self generated object url to detect hijack of video tag\n this._objectUrl = null;\n // A queue of buffer operations which require the SourceBuffer to not be updating upon execution\n this.operationQueue = void 0;\n // References to event listeners for each SourceBuffer, so that they can be referenced for event removal\n this.listeners = void 0;\n this.hls = void 0;\n // The number of BUFFER_CODEC events received before any sourceBuffers are created\n this.bufferCodecEventsExpected = 0;\n // The total number of BUFFER_CODEC events received\n this._bufferCodecEventsTotal = 0;\n // A reference to the attached media element\n this.media = null;\n // A reference to the active media source\n this.mediaSource = null;\n // Last MP3 audio chunk appended\n this.lastMpegAudioChunk = null;\n this.appendSource = void 0;\n // counters\n this.appendErrors = {\n audio: 0,\n video: 0,\n audiovideo: 0\n };\n this.tracks = {};\n this.pendingTracks = {};\n this.sourceBuffer = void 0;\n this.log = void 0;\n this.warn = void 0;\n this.error = void 0;\n this._onEndStreaming = function (event) {\n if (!_this.hls) {\n return;\n }\n _this.hls.pauseBuffering();\n };\n this._onStartStreaming = function (event) {\n if (!_this.hls) {\n return;\n }\n _this.hls.resumeBuffering();\n };\n // Keep as arrow functions so that we can directly reference these functions directly as event listeners\n this._onMediaSourceOpen = function () {\n var media = _this.media,\n mediaSource = _this.mediaSource;\n _this.log('Media source opened');\n if (media) {\n media.removeEventListener('emptied', _this._onMediaEmptied);\n _this.updateMediaElementDuration();\n _this.hls.trigger(Events.MEDIA_ATTACHED, {\n media: media,\n mediaSource: mediaSource\n });\n }\n if (mediaSource) {\n // once received, don't listen anymore to sourceopen event\n mediaSource.removeEventListener('sourceopen', _this._onMediaSourceOpen);\n }\n _this.checkPendingTracks();\n };\n this._onMediaSourceClose = function () {\n _this.log('Media source closed');\n };\n this._onMediaSourceEnded = function () {\n _this.log('Media source ended');\n };\n this._onMediaEmptied = function () {\n var mediaSrc = _this.mediaSrc,\n _objectUrl = _this._objectUrl;\n if (mediaSrc !== _objectUrl) {\n logger.error(\"Media element src was set while attaching MediaSource (\" + _objectUrl + \" > \" + mediaSrc + \")\");\n }\n };\n this.hls = hls;\n var logPrefix = '[buffer-controller]';\n this.appendSource = hls.config.preferManagedMediaSource;\n this.log = logger.log.bind(logger, logPrefix);\n this.warn = logger.warn.bind(logger, logPrefix);\n this.error = logger.error.bind(logger, logPrefix);\n this._initSourceBuffer();\n this.registerListeners();\n }\n var _proto = BufferController.prototype;\n _proto.hasSourceTypes = function hasSourceTypes() {\n return this.getSourceBufferTypes().length > 0 || Object.keys(this.pendingTracks).length > 0;\n };\n _proto.destroy = function destroy() {\n this.unregisterListeners();\n this.details = null;\n this.lastMpegAudioChunk = null;\n // @ts-ignore\n this.hls = null;\n };\n _proto.registerListeners = function registerListeners() {\n var hls = this.hls;\n hls.on(Events.MEDIA_ATTACHING, this.onMediaAttaching, this);\n hls.on(Events.MEDIA_DETACHING, this.onMediaDetaching, this);\n hls.on(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.on(Events.MANIFEST_PARSED, this.onManifestParsed, this);\n hls.on(Events.BUFFER_RESET, this.onBufferReset, this);\n hls.on(Events.BUFFER_APPENDING, this.onBufferAppending, this);\n hls.on(Events.BUFFER_CODECS, this.onBufferCodecs, this);\n hls.on(Events.BUFFER_EOS, this.onBufferEos, this);\n hls.on(Events.BUFFER_FLUSHING, this.onBufferFlushing, this);\n hls.on(Events.LEVEL_UPDATED, this.onLevelUpdated, this);\n hls.on(Events.FRAG_PARSED, this.onFragParsed, this);\n hls.on(Events.FRAG_CHANGED, this.onFragChanged, this);\n };\n _proto.unregisterListeners = function unregisterListeners() {\n var hls = this.hls;\n hls.off(Events.MEDIA_ATTACHING, this.onMediaAttaching, this);\n hls.off(Events.MEDIA_DETACHING, this.onMediaDetaching, this);\n hls.off(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.off(Events.MANIFEST_PARSED, this.onManifestParsed, this);\n hls.off(Events.BUFFER_RESET, this.onBufferReset, this);\n hls.off(Events.BUFFER_APPENDING, this.onBufferAppending, this);\n hls.off(Events.BUFFER_CODECS, this.onBufferCodecs, this);\n hls.off(Events.BUFFER_EOS, this.onBufferEos, this);\n hls.off(Events.BUFFER_FLUSHING, this.onBufferFlushing, this);\n hls.off(Events.LEVEL_UPDATED, this.onLevelUpdated, this);\n hls.off(Events.FRAG_PARSED, this.onFragParsed, this);\n hls.off(Events.FRAG_CHANGED, this.onFragChanged, this);\n };\n _proto._initSourceBuffer = function _initSourceBuffer() {\n this.sourceBuffer = {};\n this.operationQueue = new BufferOperationQueue(this.sourceBuffer);\n this.listeners = {\n audio: [],\n video: [],\n audiovideo: []\n };\n this.appendErrors = {\n audio: 0,\n video: 0,\n audiovideo: 0\n };\n this.lastMpegAudioChunk = null;\n };\n _proto.onManifestLoading = function onManifestLoading() {\n this.bufferCodecEventsExpected = this._bufferCodecEventsTotal = 0;\n this.details = null;\n };\n _proto.onManifestParsed = function onManifestParsed(event, data) {\n // in case of alt audio 2 BUFFER_CODECS events will be triggered, one per stream controller\n // sourcebuffers will be created all at once when the expected nb of tracks will be reached\n // in case alt audio is not used, only one BUFFER_CODEC event will be fired from main stream controller\n // it will contain the expected nb of source buffers, no need to compute it\n var codecEvents = 2;\n if (data.audio && !data.video || !data.altAudio || !true) {\n codecEvents = 1;\n }\n this.bufferCodecEventsExpected = this._bufferCodecEventsTotal = codecEvents;\n this.log(this.bufferCodecEventsExpected + \" bufferCodec event(s) expected\");\n };\n _proto.onMediaAttaching = function onMediaAttaching(event, data) {\n var media = this.media = data.media;\n var MediaSource = getMediaSource(this.appendSource);\n if (media && MediaSource) {\n var _ms$constructor;\n var ms = this.mediaSource = new MediaSource();\n this.log(\"created media source: \" + ((_ms$constructor = ms.constructor) == null ? void 0 : _ms$constructor.name));\n // MediaSource listeners are arrow functions with a lexical scope, and do not need to be bound\n ms.addEventListener('sourceopen', this._onMediaSourceOpen);\n ms.addEventListener('sourceended', this._onMediaSourceEnded);\n ms.addEventListener('sourceclose', this._onMediaSourceClose);\n ms.addEventListener('startstreaming', this._onStartStreaming);\n ms.addEventListener('endstreaming', this._onEndStreaming);\n\n // cache the locally generated object url\n var objectUrl = this._objectUrl = self.URL.createObjectURL(ms);\n // link video and media Source\n if (this.appendSource) {\n try {\n media.removeAttribute('src');\n // ManagedMediaSource will not open without disableRemotePlayback set to false or source alternatives\n var MMS = self.ManagedMediaSource;\n media.disableRemotePlayback = media.disableRemotePlayback || MMS && ms instanceof MMS;\n removeSourceChildren(media);\n addSource(media, objectUrl);\n media.load();\n } catch (error) {\n media.src = objectUrl;\n }\n } else {\n media.src = objectUrl;\n }\n media.addEventListener('emptied', this._onMediaEmptied);\n }\n };\n _proto.onMediaDetaching = function onMediaDetaching() {\n var media = this.media,\n mediaSource = this.mediaSource,\n _objectUrl = this._objectUrl;\n if (mediaSource) {\n this.log('media source detaching');\n if (mediaSource.readyState === 'open') {\n try {\n // endOfStream could trigger exception if any sourcebuffer is in updating state\n // we don't really care about checking sourcebuffer state here,\n // as we are anyway detaching the MediaSource\n // let's just avoid this exception to propagate\n mediaSource.endOfStream();\n } catch (err) {\n this.warn(\"onMediaDetaching: \" + err.message + \" while calling endOfStream\");\n }\n }\n // Clean up the SourceBuffers by invoking onBufferReset\n this.onBufferReset();\n mediaSource.removeEventListener('sourceopen', this._onMediaSourceOpen);\n mediaSource.removeEventListener('sourceended', this._onMediaSourceEnded);\n mediaSource.removeEventListener('sourceclose', this._onMediaSourceClose);\n mediaSource.removeEventListener('startstreaming', this._onStartStreaming);\n mediaSource.removeEventListener('endstreaming', this._onEndStreaming);\n\n // Detach properly the MediaSource from the HTMLMediaElement as\n // suggested in https://github.com/w3c/media-source/issues/53.\n if (media) {\n media.removeEventListener('emptied', this._onMediaEmptied);\n if (_objectUrl) {\n self.URL.revokeObjectURL(_objectUrl);\n }\n\n // clean up video tag src only if it's our own url. some external libraries might\n // hijack the video tag and change its 'src' without destroying the Hls instance first\n if (this.mediaSrc === _objectUrl) {\n media.removeAttribute('src');\n if (this.appendSource) {\n removeSourceChildren(media);\n }\n media.load();\n } else {\n this.warn('media|source.src was changed by a third party - skip cleanup');\n }\n }\n this.mediaSource = null;\n this.media = null;\n this._objectUrl = null;\n this.bufferCodecEventsExpected = this._bufferCodecEventsTotal;\n this.pendingTracks = {};\n this.tracks = {};\n }\n this.hls.trigger(Events.MEDIA_DETACHED, undefined);\n };\n _proto.onBufferReset = function onBufferReset() {\n var _this2 = this;\n this.getSourceBufferTypes().forEach(function (type) {\n _this2.resetBuffer(type);\n });\n this._initSourceBuffer();\n };\n _proto.resetBuffer = function resetBuffer(type) {\n var sb = this.sourceBuffer[type];\n try {\n if (sb) {\n var _this$mediaSource;\n this.removeBufferListeners(type);\n // Synchronously remove the SB from the map before the next call in order to prevent an async function from\n // accessing it\n this.sourceBuffer[type] = undefined;\n if ((_this$mediaSource = this.mediaSource) != null && _this$mediaSource.sourceBuffers.length) {\n this.mediaSource.removeSourceBuffer(sb);\n }\n }\n } catch (err) {\n this.warn(\"onBufferReset \" + type, err);\n }\n };\n _proto.onBufferCodecs = function onBufferCodecs(event, data) {\n var _this3 = this;\n var sourceBufferCount = this.getSourceBufferTypes().length;\n var trackNames = Object.keys(data);\n trackNames.forEach(function (trackName) {\n if (sourceBufferCount) {\n // check if SourceBuffer codec needs to change\n var track = _this3.tracks[trackName];\n if (track && typeof track.buffer.changeType === 'function') {\n var _trackCodec;\n var _data$trackName = data[trackName],\n id = _data$trackName.id,\n codec = _data$trackName.codec,\n levelCodec = _data$trackName.levelCodec,\n container = _data$trackName.container,\n metadata = _data$trackName.metadata;\n var currentCodecFull = pickMostCompleteCodecName(track.codec, track.levelCodec);\n var currentCodec = currentCodecFull == null ? void 0 : currentCodecFull.replace(VIDEO_CODEC_PROFILE_REPLACE, '$1');\n var trackCodec = pickMostCompleteCodecName(codec, levelCodec);\n var nextCodec = (_trackCodec = trackCodec) == null ? void 0 : _trackCodec.replace(VIDEO_CODEC_PROFILE_REPLACE, '$1');\n if (trackCodec && currentCodec !== nextCodec) {\n if (trackName.slice(0, 5) === 'audio') {\n trackCodec = getCodecCompatibleName(trackCodec, _this3.hls.config.preferManagedMediaSource);\n }\n var mimeType = container + \";codecs=\" + trackCodec;\n _this3.appendChangeType(trackName, mimeType);\n _this3.log(\"switching codec \" + currentCodecFull + \" to \" + trackCodec);\n _this3.tracks[trackName] = {\n buffer: track.buffer,\n codec: codec,\n container: container,\n levelCodec: levelCodec,\n metadata: metadata,\n id: id\n };\n }\n }\n } else {\n // if source buffer(s) not created yet, appended buffer tracks in this.pendingTracks\n _this3.pendingTracks[trackName] = data[trackName];\n }\n });\n\n // if sourcebuffers already created, do nothing ...\n if (sourceBufferCount) {\n return;\n }\n var bufferCodecEventsExpected = Math.max(this.bufferCodecEventsExpected - 1, 0);\n if (this.bufferCodecEventsExpected !== bufferCodecEventsExpected) {\n this.log(bufferCodecEventsExpected + \" bufferCodec event(s) expected \" + trackNames.join(','));\n this.bufferCodecEventsExpected = bufferCodecEventsExpected;\n }\n if (this.mediaSource && this.mediaSource.readyState === 'open') {\n this.checkPendingTracks();\n }\n };\n _proto.appendChangeType = function appendChangeType(type, mimeType) {\n var _this4 = this;\n var operationQueue = this.operationQueue;\n var operation = {\n execute: function execute() {\n var sb = _this4.sourceBuffer[type];\n if (sb) {\n _this4.log(\"changing \" + type + \" sourceBuffer type to \" + mimeType);\n sb.changeType(mimeType);\n }\n operationQueue.shiftAndExecuteNext(type);\n },\n onStart: function onStart() {},\n onComplete: function onComplete() {},\n onError: function onError(error) {\n _this4.warn(\"Failed to change \" + type + \" SourceBuffer type\", error);\n }\n };\n operationQueue.append(operation, type, !!this.pendingTracks[type]);\n };\n _proto.onBufferAppending = function onBufferAppending(event, eventData) {\n var _this5 = this;\n var hls = this.hls,\n operationQueue = this.operationQueue,\n tracks = this.tracks;\n var data = eventData.data,\n type = eventData.type,\n frag = eventData.frag,\n part = eventData.part,\n chunkMeta = eventData.chunkMeta;\n var chunkStats = chunkMeta.buffering[type];\n var bufferAppendingStart = self.performance.now();\n chunkStats.start = bufferAppendingStart;\n var fragBuffering = frag.stats.buffering;\n var partBuffering = part ? part.stats.buffering : null;\n if (fragBuffering.start === 0) {\n fragBuffering.start = bufferAppendingStart;\n }\n if (partBuffering && partBuffering.start === 0) {\n partBuffering.start = bufferAppendingStart;\n }\n\n // TODO: Only update timestampOffset when audio/mpeg fragment or part is not contiguous with previously appended\n // Adjusting `SourceBuffer.timestampOffset` (desired point in the timeline where the next frames should be appended)\n // in Chrome browser when we detect MPEG audio container and time delta between level PTS and `SourceBuffer.timestampOffset`\n // is greater than 100ms (this is enough to handle seek for VOD or level change for LIVE videos).\n // More info here: https://github.com/video-dev/hls.js/issues/332#issuecomment-257986486\n var audioTrack = tracks.audio;\n var checkTimestampOffset = false;\n if (type === 'audio' && (audioTrack == null ? void 0 : audioTrack.container) === 'audio/mpeg') {\n checkTimestampOffset = !this.lastMpegAudioChunk || chunkMeta.id === 1 || this.lastMpegAudioChunk.sn !== chunkMeta.sn;\n this.lastMpegAudioChunk = chunkMeta;\n }\n var fragStart = frag.start;\n var operation = {\n execute: function execute() {\n chunkStats.executeStart = self.performance.now();\n if (checkTimestampOffset) {\n var sb = _this5.sourceBuffer[type];\n if (sb) {\n var delta = fragStart - sb.timestampOffset;\n if (Math.abs(delta) >= 0.1) {\n _this5.log(\"Updating audio SourceBuffer timestampOffset to \" + fragStart + \" (delta: \" + delta + \") sn: \" + frag.sn + \")\");\n sb.timestampOffset = fragStart;\n }\n }\n }\n _this5.appendExecutor(data, type);\n },\n onStart: function onStart() {\n // logger.debug(`[buffer-controller]: ${type} SourceBuffer updatestart`);\n },\n onComplete: function onComplete() {\n // logger.debug(`[buffer-controller]: ${type} SourceBuffer updateend`);\n var end = self.performance.now();\n chunkStats.executeEnd = chunkStats.end = end;\n if (fragBuffering.first === 0) {\n fragBuffering.first = end;\n }\n if (partBuffering && partBuffering.first === 0) {\n partBuffering.first = end;\n }\n var sourceBuffer = _this5.sourceBuffer;\n var timeRanges = {};\n for (var _type in sourceBuffer) {\n timeRanges[_type] = BufferHelper.getBuffered(sourceBuffer[_type]);\n }\n _this5.appendErrors[type] = 0;\n if (type === 'audio' || type === 'video') {\n _this5.appendErrors.audiovideo = 0;\n } else {\n _this5.appendErrors.audio = 0;\n _this5.appendErrors.video = 0;\n }\n _this5.hls.trigger(Events.BUFFER_APPENDED, {\n type: type,\n frag: frag,\n part: part,\n chunkMeta: chunkMeta,\n parent: frag.type,\n timeRanges: timeRanges\n });\n },\n onError: function onError(error) {\n // in case any error occured while appending, put back segment in segments table\n var event = {\n type: ErrorTypes.MEDIA_ERROR,\n parent: frag.type,\n details: ErrorDetails.BUFFER_APPEND_ERROR,\n sourceBufferName: type,\n frag: frag,\n part: part,\n chunkMeta: chunkMeta,\n error: error,\n err: error,\n fatal: false\n };\n if (error.code === DOMException.QUOTA_EXCEEDED_ERR) {\n // QuotaExceededError: http://www.w3.org/TR/html5/infrastructure.html#quotaexceedederror\n // let's stop appending any segments, and report BUFFER_FULL_ERROR error\n event.details = ErrorDetails.BUFFER_FULL_ERROR;\n } else {\n var appendErrorCount = ++_this5.appendErrors[type];\n event.details = ErrorDetails.BUFFER_APPEND_ERROR;\n /* with UHD content, we could get loop of quota exceeded error until\n browser is able to evict some data from sourcebuffer. Retrying can help recover.\n */\n _this5.warn(\"Failed \" + appendErrorCount + \"/\" + hls.config.appendErrorMaxRetry + \" times to append segment in \\\"\" + type + \"\\\" sourceBuffer\");\n if (appendErrorCount >= hls.config.appendErrorMaxRetry) {\n event.fatal = true;\n }\n }\n hls.trigger(Events.ERROR, event);\n }\n };\n operationQueue.append(operation, type, !!this.pendingTracks[type]);\n };\n _proto.onBufferFlushing = function onBufferFlushing(event, data) {\n var _this6 = this;\n var operationQueue = this.operationQueue;\n var flushOperation = function flushOperation(type) {\n return {\n execute: _this6.removeExecutor.bind(_this6, type, data.startOffset, data.endOffset),\n onStart: function onStart() {\n // logger.debug(`[buffer-controller]: Started flushing ${data.startOffset} -> ${data.endOffset} for ${type} Source Buffer`);\n },\n onComplete: function onComplete() {\n // logger.debug(`[buffer-controller]: Finished flushing ${data.startOffset} -> ${data.endOffset} for ${type} Source Buffer`);\n _this6.hls.trigger(Events.BUFFER_FLUSHED, {\n type: type\n });\n },\n onError: function onError(error) {\n _this6.warn(\"Failed to remove from \" + type + \" SourceBuffer\", error);\n }\n };\n };\n if (data.type) {\n operationQueue.append(flushOperation(data.type), data.type);\n } else {\n this.getSourceBufferTypes().forEach(function (type) {\n operationQueue.append(flushOperation(type), type);\n });\n }\n };\n _proto.onFragParsed = function onFragParsed(event, data) {\n var _this7 = this;\n var frag = data.frag,\n part = data.part;\n var buffersAppendedTo = [];\n var elementaryStreams = part ? part.elementaryStreams : frag.elementaryStreams;\n if (elementaryStreams[ElementaryStreamTypes.AUDIOVIDEO]) {\n buffersAppendedTo.push('audiovideo');\n } else {\n if (elementaryStreams[ElementaryStreamTypes.AUDIO]) {\n buffersAppendedTo.push('audio');\n }\n if (elementaryStreams[ElementaryStreamTypes.VIDEO]) {\n buffersAppendedTo.push('video');\n }\n }\n var onUnblocked = function onUnblocked() {\n var now = self.performance.now();\n frag.stats.buffering.end = now;\n if (part) {\n part.stats.buffering.end = now;\n }\n var stats = part ? part.stats : frag.stats;\n _this7.hls.trigger(Events.FRAG_BUFFERED, {\n frag: frag,\n part: part,\n stats: stats,\n id: frag.type\n });\n };\n if (buffersAppendedTo.length === 0) {\n this.warn(\"Fragments must have at least one ElementaryStreamType set. type: \" + frag.type + \" level: \" + frag.level + \" sn: \" + frag.sn);\n }\n this.blockBuffers(onUnblocked, buffersAppendedTo);\n };\n _proto.onFragChanged = function onFragChanged(event, data) {\n this.trimBuffers();\n }\n\n // on BUFFER_EOS mark matching sourcebuffer(s) as ended and trigger checkEos()\n // an undefined data.type will mark all buffers as EOS.\n ;\n _proto.onBufferEos = function onBufferEos(event, data) {\n var _this8 = this;\n var ended = this.getSourceBufferTypes().reduce(function (acc, type) {\n var sb = _this8.sourceBuffer[type];\n if (sb && (!data.type || data.type === type)) {\n sb.ending = true;\n if (!sb.ended) {\n sb.ended = true;\n _this8.log(type + \" sourceBuffer now EOS\");\n }\n }\n return acc && !!(!sb || sb.ended);\n }, true);\n if (ended) {\n this.log(\"Queueing mediaSource.endOfStream()\");\n this.blockBuffers(function () {\n _this8.getSourceBufferTypes().forEach(function (type) {\n var sb = _this8.sourceBuffer[type];\n if (sb) {\n sb.ending = false;\n }\n });\n var mediaSource = _this8.mediaSource;\n if (!mediaSource || mediaSource.readyState !== 'open') {\n if (mediaSource) {\n _this8.log(\"Could not call mediaSource.endOfStream(). mediaSource.readyState: \" + mediaSource.readyState);\n }\n return;\n }\n _this8.log(\"Calling mediaSource.endOfStream()\");\n // Allow this to throw and be caught by the enqueueing function\n mediaSource.endOfStream();\n });\n }\n };\n _proto.onLevelUpdated = function onLevelUpdated(event, _ref) {\n var details = _ref.details;\n if (!details.fragments.length) {\n return;\n }\n this.details = details;\n if (this.getSourceBufferTypes().length) {\n this.blockBuffers(this.updateMediaElementDuration.bind(this));\n } else {\n this.updateMediaElementDuration();\n }\n };\n _proto.trimBuffers = function trimBuffers() {\n var hls = this.hls,\n details = this.details,\n media = this.media;\n if (!media || details === null) {\n return;\n }\n var sourceBufferTypes = this.getSourceBufferTypes();\n if (!sourceBufferTypes.length) {\n return;\n }\n var config = hls.config;\n var currentTime = media.currentTime;\n var targetDuration = details.levelTargetDuration;\n\n // Support for deprecated liveBackBufferLength\n var backBufferLength = details.live && config.liveBackBufferLength !== null ? config.liveBackBufferLength : config.backBufferLength;\n if (isFiniteNumber(backBufferLength) && backBufferLength > 0) {\n var maxBackBufferLength = Math.max(backBufferLength, targetDuration);\n var targetBackBufferPosition = Math.floor(currentTime / targetDuration) * targetDuration - maxBackBufferLength;\n this.flushBackBuffer(currentTime, targetDuration, targetBackBufferPosition);\n }\n if (isFiniteNumber(config.frontBufferFlushThreshold) && config.frontBufferFlushThreshold > 0) {\n var frontBufferLength = Math.max(config.maxBufferLength, config.frontBufferFlushThreshold);\n var maxFrontBufferLength = Math.max(frontBufferLength, targetDuration);\n var targetFrontBufferPosition = Math.floor(currentTime / targetDuration) * targetDuration + maxFrontBufferLength;\n this.flushFrontBuffer(currentTime, targetDuration, targetFrontBufferPosition);\n }\n };\n _proto.flushBackBuffer = function flushBackBuffer(currentTime, targetDuration, targetBackBufferPosition) {\n var _this9 = this;\n var details = this.details,\n sourceBuffer = this.sourceBuffer;\n var sourceBufferTypes = this.getSourceBufferTypes();\n sourceBufferTypes.forEach(function (type) {\n var sb = sourceBuffer[type];\n if (sb) {\n var buffered = BufferHelper.getBuffered(sb);\n // when target buffer start exceeds actual buffer start\n if (buffered.length > 0 && targetBackBufferPosition > buffered.start(0)) {\n _this9.hls.trigger(Events.BACK_BUFFER_REACHED, {\n bufferEnd: targetBackBufferPosition\n });\n\n // Support for deprecated event:\n if (details != null && details.live) {\n _this9.hls.trigger(Events.LIVE_BACK_BUFFER_REACHED, {\n bufferEnd: targetBackBufferPosition\n });\n } else if (sb.ended && buffered.end(buffered.length - 1) - currentTime < targetDuration * 2) {\n _this9.log(\"Cannot flush \" + type + \" back buffer while SourceBuffer is in ended state\");\n return;\n }\n _this9.hls.trigger(Events.BUFFER_FLUSHING, {\n startOffset: 0,\n endOffset: targetBackBufferPosition,\n type: type\n });\n }\n }\n });\n };\n _proto.flushFrontBuffer = function flushFrontBuffer(currentTime, targetDuration, targetFrontBufferPosition) {\n var _this10 = this;\n var sourceBuffer = this.sourceBuffer;\n var sourceBufferTypes = this.getSourceBufferTypes();\n sourceBufferTypes.forEach(function (type) {\n var sb = sourceBuffer[type];\n if (sb) {\n var buffered = BufferHelper.getBuffered(sb);\n var numBufferedRanges = buffered.length;\n // The buffer is either empty or contiguous\n if (numBufferedRanges < 2) {\n return;\n }\n var bufferStart = buffered.start(numBufferedRanges - 1);\n var bufferEnd = buffered.end(numBufferedRanges - 1);\n // No flush if we can tolerate the current buffer length or the current buffer range we would flush is contiguous with current position\n if (targetFrontBufferPosition > bufferStart || currentTime >= bufferStart && currentTime <= bufferEnd) {\n return;\n } else if (sb.ended && currentTime - bufferEnd < 2 * targetDuration) {\n _this10.log(\"Cannot flush \" + type + \" front buffer while SourceBuffer is in ended state\");\n return;\n }\n _this10.hls.trigger(Events.BUFFER_FLUSHING, {\n startOffset: bufferStart,\n endOffset: Infinity,\n type: type\n });\n }\n });\n }\n\n /**\n * Update Media Source duration to current level duration or override to Infinity if configuration parameter\n * 'liveDurationInfinity` is set to `true`\n * More details: https://github.com/video-dev/hls.js/issues/355\n */;\n _proto.updateMediaElementDuration = function updateMediaElementDuration() {\n if (!this.details || !this.media || !this.mediaSource || this.mediaSource.readyState !== 'open') {\n return;\n }\n var details = this.details,\n hls = this.hls,\n media = this.media,\n mediaSource = this.mediaSource;\n var levelDuration = details.fragments[0].start + details.totalduration;\n var mediaDuration = media.duration;\n var msDuration = isFiniteNumber(mediaSource.duration) ? mediaSource.duration : 0;\n if (details.live && hls.config.liveDurationInfinity) {\n // Override duration to Infinity\n mediaSource.duration = Infinity;\n this.updateSeekableRange(details);\n } else if (levelDuration > msDuration && levelDuration > mediaDuration || !isFiniteNumber(mediaDuration)) {\n // levelDuration was the last value we set.\n // not using mediaSource.duration as the browser may tweak this value\n // only update Media Source duration if its value increase, this is to avoid\n // flushing already buffered portion when switching between quality level\n this.log(\"Updating Media Source duration to \" + levelDuration.toFixed(3));\n mediaSource.duration = levelDuration;\n }\n };\n _proto.updateSeekableRange = function updateSeekableRange(levelDetails) {\n var mediaSource = this.mediaSource;\n var fragments = levelDetails.fragments;\n var len = fragments.length;\n if (len && levelDetails.live && mediaSource != null && mediaSource.setLiveSeekableRange) {\n var start = Math.max(0, fragments[0].start);\n var end = Math.max(start, start + levelDetails.totalduration);\n this.log(\"Media Source duration is set to \" + mediaSource.duration + \". Setting seekable range to \" + start + \"-\" + end + \".\");\n mediaSource.setLiveSeekableRange(start, end);\n }\n };\n _proto.checkPendingTracks = function checkPendingTracks() {\n var bufferCodecEventsExpected = this.bufferCodecEventsExpected,\n operationQueue = this.operationQueue,\n pendingTracks = this.pendingTracks;\n\n // Check if we've received all of the expected bufferCodec events. When none remain, create all the sourceBuffers at once.\n // This is important because the MSE spec allows implementations to throw QuotaExceededErrors if creating new sourceBuffers after\n // data has been appended to existing ones.\n // 2 tracks is the max (one for audio, one for video). If we've reach this max go ahead and create the buffers.\n var pendingTracksCount = Object.keys(pendingTracks).length;\n if (pendingTracksCount && (!bufferCodecEventsExpected || pendingTracksCount === 2 || 'audiovideo' in pendingTracks)) {\n // ok, let's create them now !\n this.createSourceBuffers(pendingTracks);\n this.pendingTracks = {};\n // append any pending segments now !\n var buffers = this.getSourceBufferTypes();\n if (buffers.length) {\n this.hls.trigger(Events.BUFFER_CREATED, {\n tracks: this.tracks\n });\n buffers.forEach(function (type) {\n operationQueue.executeNext(type);\n });\n } else {\n var error = new Error('could not create source buffer for media codec(s)');\n this.hls.trigger(Events.ERROR, {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.BUFFER_INCOMPATIBLE_CODECS_ERROR,\n fatal: true,\n error: error,\n reason: error.message\n });\n }\n }\n };\n _proto.createSourceBuffers = function createSourceBuffers(tracks) {\n var _this11 = this;\n var sourceBuffer = this.sourceBuffer,\n mediaSource = this.mediaSource;\n if (!mediaSource) {\n throw Error('createSourceBuffers called when mediaSource was null');\n }\n var _loop = function _loop(trackName) {\n if (!sourceBuffer[trackName]) {\n var track = tracks[trackName];\n if (!track) {\n throw Error(\"source buffer exists for track \" + trackName + \", however track does not\");\n }\n // use levelCodec as first priority\n var codec = track.levelCodec || track.codec;\n if (codec) {\n if (trackName.slice(0, 5) === 'audio') {\n codec = getCodecCompatibleName(codec, _this11.hls.config.preferManagedMediaSource);\n }\n }\n var mimeType = track.container + \";codecs=\" + codec;\n _this11.log(\"creating sourceBuffer(\" + mimeType + \")\");\n try {\n var sb = sourceBuffer[trackName] = mediaSource.addSourceBuffer(mimeType);\n var sbName = trackName;\n _this11.addBufferListener(sbName, 'updatestart', _this11._onSBUpdateStart);\n _this11.addBufferListener(sbName, 'updateend', _this11._onSBUpdateEnd);\n _this11.addBufferListener(sbName, 'error', _this11._onSBUpdateError);\n // ManagedSourceBuffer bufferedchange event\n _this11.addBufferListener(sbName, 'bufferedchange', function (type, event) {\n // If media was ejected check for a change. Added ranges are redundant with changes on 'updateend' event.\n var removedRanges = event.removedRanges;\n if (removedRanges != null && removedRanges.length) {\n _this11.hls.trigger(Events.BUFFER_FLUSHED, {\n type: trackName\n });\n }\n });\n _this11.tracks[trackName] = {\n buffer: sb,\n codec: codec,\n container: track.container,\n levelCodec: track.levelCodec,\n metadata: track.metadata,\n id: track.id\n };\n } catch (err) {\n _this11.error(\"error while trying to add sourceBuffer: \" + err.message);\n _this11.hls.trigger(Events.ERROR, {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.BUFFER_ADD_CODEC_ERROR,\n fatal: false,\n error: err,\n sourceBufferName: trackName,\n mimeType: mimeType\n });\n }\n }\n };\n for (var trackName in tracks) {\n _loop(trackName);\n }\n };\n _proto._onSBUpdateStart = function _onSBUpdateStart(type) {\n var operationQueue = this.operationQueue;\n var operation = operationQueue.current(type);\n operation.onStart();\n };\n _proto._onSBUpdateEnd = function _onSBUpdateEnd(type) {\n var _this$mediaSource2;\n if (((_this$mediaSource2 = this.mediaSource) == null ? void 0 : _this$mediaSource2.readyState) === 'closed') {\n this.resetBuffer(type);\n return;\n }\n var operationQueue = this.operationQueue;\n var operation = operationQueue.current(type);\n operation.onComplete();\n operationQueue.shiftAndExecuteNext(type);\n };\n _proto._onSBUpdateError = function _onSBUpdateError(type, event) {\n var _this$mediaSource3;\n var error = new Error(type + \" SourceBuffer error. MediaSource readyState: \" + ((_this$mediaSource3 = this.mediaSource) == null ? void 0 : _this$mediaSource3.readyState));\n this.error(\"\" + error, event);\n // according to http://www.w3.org/TR/media-source/#sourcebuffer-append-error\n // SourceBuffer errors are not necessarily fatal; if so, the HTMLMediaElement will fire an error event\n this.hls.trigger(Events.ERROR, {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.BUFFER_APPENDING_ERROR,\n sourceBufferName: type,\n error: error,\n fatal: false\n });\n // updateend is always fired after error, so we'll allow that to shift the current operation off of the queue\n var operation = this.operationQueue.current(type);\n if (operation) {\n operation.onError(error);\n }\n }\n\n // This method must result in an updateend event; if remove is not called, _onSBUpdateEnd must be called manually\n ;\n _proto.removeExecutor = function removeExecutor(type, startOffset, endOffset) {\n var media = this.media,\n mediaSource = this.mediaSource,\n operationQueue = this.operationQueue,\n sourceBuffer = this.sourceBuffer;\n var sb = sourceBuffer[type];\n if (!media || !mediaSource || !sb) {\n this.warn(\"Attempting to remove from the \" + type + \" SourceBuffer, but it does not exist\");\n operationQueue.shiftAndExecuteNext(type);\n return;\n }\n var mediaDuration = isFiniteNumber(media.duration) ? media.duration : Infinity;\n var msDuration = isFiniteNumber(mediaSource.duration) ? mediaSource.duration : Infinity;\n var removeStart = Math.max(0, startOffset);\n var removeEnd = Math.min(endOffset, mediaDuration, msDuration);\n if (removeEnd > removeStart && (!sb.ending || sb.ended)) {\n sb.ended = false;\n this.log(\"Removing [\" + removeStart + \",\" + removeEnd + \"] from the \" + type + \" SourceBuffer\");\n sb.remove(removeStart, removeEnd);\n } else {\n // Cycle the queue\n operationQueue.shiftAndExecuteNext(type);\n }\n }\n\n // This method must result in an updateend event; if append is not called, _onSBUpdateEnd must be called manually\n ;\n _proto.appendExecutor = function appendExecutor(data, type) {\n var sb = this.sourceBuffer[type];\n if (!sb) {\n if (!this.pendingTracks[type]) {\n throw new Error(\"Attempting to append to the \" + type + \" SourceBuffer, but it does not exist\");\n }\n return;\n }\n sb.ended = false;\n sb.appendBuffer(data);\n }\n\n // Enqueues an operation to each SourceBuffer queue which, upon execution, resolves a promise. When all promises\n // resolve, the onUnblocked function is executed. Functions calling this method do not need to unblock the queue\n // upon completion, since we already do it here\n ;\n _proto.blockBuffers = function blockBuffers(onUnblocked, buffers) {\n var _this12 = this;\n if (buffers === void 0) {\n buffers = this.getSourceBufferTypes();\n }\n if (!buffers.length) {\n this.log('Blocking operation requested, but no SourceBuffers exist');\n Promise.resolve().then(onUnblocked);\n return;\n }\n var operationQueue = this.operationQueue;\n\n // logger.debug(`[buffer-controller]: Blocking ${buffers} SourceBuffer`);\n var blockingOperations = buffers.map(function (type) {\n return operationQueue.appendBlocker(type);\n });\n Promise.all(blockingOperations).then(function () {\n // logger.debug(`[buffer-controller]: Blocking operation resolved; unblocking ${buffers} SourceBuffer`);\n onUnblocked();\n buffers.forEach(function (type) {\n var sb = _this12.sourceBuffer[type];\n // Only cycle the queue if the SB is not updating. There's a bug in Chrome which sets the SB updating flag to\n // true when changing the MediaSource duration (https://bugs.chromium.org/p/chromium/issues/detail?id=959359&can=2&q=mediasource%20duration)\n // While this is a workaround, it's probably useful to have around\n if (!(sb != null && sb.updating)) {\n operationQueue.shiftAndExecuteNext(type);\n }\n });\n });\n };\n _proto.getSourceBufferTypes = function getSourceBufferTypes() {\n return Object.keys(this.sourceBuffer);\n };\n _proto.addBufferListener = function addBufferListener(type, event, fn) {\n var buffer = this.sourceBuffer[type];\n if (!buffer) {\n return;\n }\n var listener = fn.bind(this, type);\n this.listeners[type].push({\n event: event,\n listener: listener\n });\n buffer.addEventListener(event, listener);\n };\n _proto.removeBufferListeners = function removeBufferListeners(type) {\n var buffer = this.sourceBuffer[type];\n if (!buffer) {\n return;\n }\n this.listeners[type].forEach(function (l) {\n buffer.removeEventListener(l.event, l.listener);\n });\n };\n _createClass(BufferController, [{\n key: \"mediaSrc\",\n get: function get() {\n var _this$media;\n var media = ((_this$media = this.media) == null ? void 0 : _this$media.firstChild) || this.media;\n return media == null ? void 0 : media.src;\n }\n }]);\n return BufferController;\n }();\n function removeSourceChildren(node) {\n var sourceChildren = node.querySelectorAll('source');\n [].slice.call(sourceChildren).forEach(function (source) {\n node.removeChild(source);\n });\n }\n function addSource(media, url) {\n var source = self.document.createElement('source');\n source.type = 'video/mp4';\n source.src = url;\n media.appendChild(source);\n }\n\n /**\n *\n * This code was ported from the dash.js project at:\n * https://github.com/Dash-Industry-Forum/dash.js/blob/development/externals/cea608-parser.js\n * https://github.com/Dash-Industry-Forum/dash.js/commit/8269b26a761e0853bb21d78780ed945144ecdd4d#diff-71bc295a2d6b6b7093a1d3290d53a4b2\n *\n * The original copyright appears below:\n *\n * The copyright in this software is being made available under the BSD License,\n * included below. This software may be subject to other third party and contributor\n * rights, including patent rights, and no such rights are granted under this license.\n *\n * Copyright (c) 2015-2016, DASH Industry Forum.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without modification,\n * are permitted provided that the following conditions are met:\n * 1. Redistributions of source code must retain the above copyright notice, this\n * list of conditions and the following disclaimer.\n * * Redistributions in binary form must reproduce the above copyright notice,\n * this list of conditions and the following disclaimer in the documentation and/or\n * other materials provided with the distribution.\n * 2. Neither the name of Dash Industry Forum nor the names of its\n * contributors may be used to endorse or promote products derived from this software\n * without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS AS IS AND ANY\n * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.\n * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,\n * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT\n * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\n * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\n * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\n * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\n * POSSIBILITY OF SUCH DAMAGE.\n */\n /**\n * Exceptions from regular ASCII. CodePoints are mapped to UTF-16 codes\n */\n\n var specialCea608CharsCodes = {\n 0x2a: 0xe1,\n // lowercase a, acute accent\n 0x5c: 0xe9,\n // lowercase e, acute accent\n 0x5e: 0xed,\n // lowercase i, acute accent\n 0x5f: 0xf3,\n // lowercase o, acute accent\n 0x60: 0xfa,\n // lowercase u, acute accent\n 0x7b: 0xe7,\n // lowercase c with cedilla\n 0x7c: 0xf7,\n // division symbol\n 0x7d: 0xd1,\n // uppercase N tilde\n 0x7e: 0xf1,\n // lowercase n tilde\n 0x7f: 0x2588,\n // Full block\n // THIS BLOCK INCLUDES THE 16 EXTENDED (TWO-BYTE) LINE 21 CHARACTERS\n // THAT COME FROM HI BYTE=0x11 AND LOW BETWEEN 0x30 AND 0x3F\n // THIS MEANS THAT \\x50 MUST BE ADDED TO THE VALUES\n 0x80: 0xae,\n // Registered symbol (R)\n 0x81: 0xb0,\n // degree sign\n 0x82: 0xbd,\n // 1/2 symbol\n 0x83: 0xbf,\n // Inverted (open) question mark\n 0x84: 0x2122,\n // Trademark symbol (TM)\n 0x85: 0xa2,\n // Cents symbol\n 0x86: 0xa3,\n // Pounds sterling\n 0x87: 0x266a,\n // Music 8'th note\n 0x88: 0xe0,\n // lowercase a, grave accent\n 0x89: 0x20,\n // transparent space (regular)\n 0x8a: 0xe8,\n // lowercase e, grave accent\n 0x8b: 0xe2,\n // lowercase a, circumflex accent\n 0x8c: 0xea,\n // lowercase e, circumflex accent\n 0x8d: 0xee,\n // lowercase i, circumflex accent\n 0x8e: 0xf4,\n // lowercase o, circumflex accent\n 0x8f: 0xfb,\n // lowercase u, circumflex accent\n // THIS BLOCK INCLUDES THE 32 EXTENDED (TWO-BYTE) LINE 21 CHARACTERS\n // THAT COME FROM HI BYTE=0x12 AND LOW BETWEEN 0x20 AND 0x3F\n 0x90: 0xc1,\n // capital letter A with acute\n 0x91: 0xc9,\n // capital letter E with acute\n 0x92: 0xd3,\n // capital letter O with acute\n 0x93: 0xda,\n // capital letter U with acute\n 0x94: 0xdc,\n // capital letter U with diaresis\n 0x95: 0xfc,\n // lowercase letter U with diaeresis\n 0x96: 0x2018,\n // opening single quote\n 0x97: 0xa1,\n // inverted exclamation mark\n 0x98: 0x2a,\n // asterisk\n 0x99: 0x2019,\n // closing single quote\n 0x9a: 0x2501,\n // box drawings heavy horizontal\n 0x9b: 0xa9,\n // copyright sign\n 0x9c: 0x2120,\n // Service mark\n 0x9d: 0x2022,\n // (round) bullet\n 0x9e: 0x201c,\n // Left double quotation mark\n 0x9f: 0x201d,\n // Right double quotation mark\n 0xa0: 0xc0,\n // uppercase A, grave accent\n 0xa1: 0xc2,\n // uppercase A, circumflex\n 0xa2: 0xc7,\n // uppercase C with cedilla\n 0xa3: 0xc8,\n // uppercase E, grave accent\n 0xa4: 0xca,\n // uppercase E, circumflex\n 0xa5: 0xcb,\n // capital letter E with diaresis\n 0xa6: 0xeb,\n // lowercase letter e with diaresis\n 0xa7: 0xce,\n // uppercase I, circumflex\n 0xa8: 0xcf,\n // uppercase I, with diaresis\n 0xa9: 0xef,\n // lowercase i, with diaresis\n 0xaa: 0xd4,\n // uppercase O, circumflex\n 0xab: 0xd9,\n // uppercase U, grave accent\n 0xac: 0xf9,\n // lowercase u, grave accent\n 0xad: 0xdb,\n // uppercase U, circumflex\n 0xae: 0xab,\n // left-pointing double angle quotation mark\n 0xaf: 0xbb,\n // right-pointing double angle quotation mark\n // THIS BLOCK INCLUDES THE 32 EXTENDED (TWO-BYTE) LINE 21 CHARACTERS\n // THAT COME FROM HI BYTE=0x13 AND LOW BETWEEN 0x20 AND 0x3F\n 0xb0: 0xc3,\n // Uppercase A, tilde\n 0xb1: 0xe3,\n // Lowercase a, tilde\n 0xb2: 0xcd,\n // Uppercase I, acute accent\n 0xb3: 0xcc,\n // Uppercase I, grave accent\n 0xb4: 0xec,\n // Lowercase i, grave accent\n 0xb5: 0xd2,\n // Uppercase O, grave accent\n 0xb6: 0xf2,\n // Lowercase o, grave accent\n 0xb7: 0xd5,\n // Uppercase O, tilde\n 0xb8: 0xf5,\n // Lowercase o, tilde\n 0xb9: 0x7b,\n // Open curly brace\n 0xba: 0x7d,\n // Closing curly brace\n 0xbb: 0x5c,\n // Backslash\n 0xbc: 0x5e,\n // Caret\n 0xbd: 0x5f,\n // Underscore\n 0xbe: 0x7c,\n // Pipe (vertical line)\n 0xbf: 0x223c,\n // Tilde operator\n 0xc0: 0xc4,\n // Uppercase A, umlaut\n 0xc1: 0xe4,\n // Lowercase A, umlaut\n 0xc2: 0xd6,\n // Uppercase O, umlaut\n 0xc3: 0xf6,\n // Lowercase o, umlaut\n 0xc4: 0xdf,\n // Esszett (sharp S)\n 0xc5: 0xa5,\n // Yen symbol\n 0xc6: 0xa4,\n // Generic currency sign\n 0xc7: 0x2503,\n // Box drawings heavy vertical\n 0xc8: 0xc5,\n // Uppercase A, ring\n 0xc9: 0xe5,\n // Lowercase A, ring\n 0xca: 0xd8,\n // Uppercase O, stroke\n 0xcb: 0xf8,\n // Lowercase o, strok\n 0xcc: 0x250f,\n // Box drawings heavy down and right\n 0xcd: 0x2513,\n // Box drawings heavy down and left\n 0xce: 0x2517,\n // Box drawings heavy up and right\n 0xcf: 0x251b // Box drawings heavy up and left\n };\n\n /**\n * Utils\n */\n var getCharForByte = function getCharForByte(_byte) {\n var charCode = _byte;\n if (specialCea608CharsCodes.hasOwnProperty(_byte)) {\n charCode = specialCea608CharsCodes[_byte];\n }\n return String.fromCharCode(charCode);\n };\n var NR_ROWS = 15;\n var NR_COLS = 100;\n // Tables to look up row from PAC data\n var rowsLowCh1 = {\n 0x11: 1,\n 0x12: 3,\n 0x15: 5,\n 0x16: 7,\n 0x17: 9,\n 0x10: 11,\n 0x13: 12,\n 0x14: 14\n };\n var rowsHighCh1 = {\n 0x11: 2,\n 0x12: 4,\n 0x15: 6,\n 0x16: 8,\n 0x17: 10,\n 0x13: 13,\n 0x14: 15\n };\n var rowsLowCh2 = {\n 0x19: 1,\n 0x1a: 3,\n 0x1d: 5,\n 0x1e: 7,\n 0x1f: 9,\n 0x18: 11,\n 0x1b: 12,\n 0x1c: 14\n };\n var rowsHighCh2 = {\n 0x19: 2,\n 0x1a: 4,\n 0x1d: 6,\n 0x1e: 8,\n 0x1f: 10,\n 0x1b: 13,\n 0x1c: 15\n };\n var backgroundColors = ['white', 'green', 'blue', 'cyan', 'red', 'yellow', 'magenta', 'black', 'transparent'];\n var CaptionsLogger = /*#__PURE__*/function () {\n function CaptionsLogger() {\n this.time = null;\n this.verboseLevel = 0;\n }\n var _proto = CaptionsLogger.prototype;\n _proto.log = function log(severity, msg) {\n if (this.verboseLevel >= severity) {\n var m = typeof msg === 'function' ? msg() : msg;\n logger.log(this.time + \" [\" + severity + \"] \" + m);\n }\n };\n return CaptionsLogger;\n }();\n var numArrayToHexArray = function numArrayToHexArray(numArray) {\n var hexArray = [];\n for (var j = 0; j < numArray.length; j++) {\n hexArray.push(numArray[j].toString(16));\n }\n return hexArray;\n };\n var PenState = /*#__PURE__*/function () {\n function PenState() {\n this.foreground = 'white';\n this.underline = false;\n this.italics = false;\n this.background = 'black';\n this.flash = false;\n }\n var _proto2 = PenState.prototype;\n _proto2.reset = function reset() {\n this.foreground = 'white';\n this.underline = false;\n this.italics = false;\n this.background = 'black';\n this.flash = false;\n };\n _proto2.setStyles = function setStyles(styles) {\n var attribs = ['foreground', 'underline', 'italics', 'background', 'flash'];\n for (var i = 0; i < attribs.length; i++) {\n var style = attribs[i];\n if (styles.hasOwnProperty(style)) {\n this[style] = styles[style];\n }\n }\n };\n _proto2.isDefault = function isDefault() {\n return this.foreground === 'white' && !this.underline && !this.italics && this.background === 'black' && !this.flash;\n };\n _proto2.equals = function equals(other) {\n return this.foreground === other.foreground && this.underline === other.underline && this.italics === other.italics && this.background === other.background && this.flash === other.flash;\n };\n _proto2.copy = function copy(newPenState) {\n this.foreground = newPenState.foreground;\n this.underline = newPenState.underline;\n this.italics = newPenState.italics;\n this.background = newPenState.background;\n this.flash = newPenState.flash;\n };\n _proto2.toString = function toString() {\n return 'color=' + this.foreground + ', underline=' + this.underline + ', italics=' + this.italics + ', background=' + this.background + ', flash=' + this.flash;\n };\n return PenState;\n }();\n /**\n * Unicode character with styling and background.\n * @constructor\n */\n var StyledUnicodeChar = /*#__PURE__*/function () {\n function StyledUnicodeChar() {\n this.uchar = ' ';\n this.penState = new PenState();\n }\n var _proto3 = StyledUnicodeChar.prototype;\n _proto3.reset = function reset() {\n this.uchar = ' ';\n this.penState.reset();\n };\n _proto3.setChar = function setChar(uchar, newPenState) {\n this.uchar = uchar;\n this.penState.copy(newPenState);\n };\n _proto3.setPenState = function setPenState(newPenState) {\n this.penState.copy(newPenState);\n };\n _proto3.equals = function equals(other) {\n return this.uchar === other.uchar && this.penState.equals(other.penState);\n };\n _proto3.copy = function copy(newChar) {\n this.uchar = newChar.uchar;\n this.penState.copy(newChar.penState);\n };\n _proto3.isEmpty = function isEmpty() {\n return this.uchar === ' ' && this.penState.isDefault();\n };\n return StyledUnicodeChar;\n }();\n /**\n * CEA-608 row consisting of NR_COLS instances of StyledUnicodeChar.\n * @constructor\n */\n var Row = /*#__PURE__*/function () {\n function Row(logger) {\n this.chars = [];\n this.pos = 0;\n this.currPenState = new PenState();\n this.cueStartTime = null;\n this.logger = void 0;\n for (var i = 0; i < NR_COLS; i++) {\n this.chars.push(new StyledUnicodeChar());\n }\n this.logger = logger;\n }\n var _proto4 = Row.prototype;\n _proto4.equals = function equals(other) {\n for (var i = 0; i < NR_COLS; i++) {\n if (!this.chars[i].equals(other.chars[i])) {\n return false;\n }\n }\n return true;\n };\n _proto4.copy = function copy(other) {\n for (var i = 0; i < NR_COLS; i++) {\n this.chars[i].copy(other.chars[i]);\n }\n };\n _proto4.isEmpty = function isEmpty() {\n var empty = true;\n for (var i = 0; i < NR_COLS; i++) {\n if (!this.chars[i].isEmpty()) {\n empty = false;\n break;\n }\n }\n return empty;\n }\n\n /**\n * Set the cursor to a valid column.\n */;\n _proto4.setCursor = function setCursor(absPos) {\n if (this.pos !== absPos) {\n this.pos = absPos;\n }\n if (this.pos < 0) {\n this.logger.log(3, 'Negative cursor position ' + this.pos);\n this.pos = 0;\n } else if (this.pos > NR_COLS) {\n this.logger.log(3, 'Too large cursor position ' + this.pos);\n this.pos = NR_COLS;\n }\n }\n\n /**\n * Move the cursor relative to current position.\n */;\n _proto4.moveCursor = function moveCursor(relPos) {\n var newPos = this.pos + relPos;\n if (relPos > 1) {\n for (var i = this.pos + 1; i < newPos + 1; i++) {\n this.chars[i].setPenState(this.currPenState);\n }\n }\n this.setCursor(newPos);\n }\n\n /**\n * Backspace, move one step back and clear character.\n */;\n _proto4.backSpace = function backSpace() {\n this.moveCursor(-1);\n this.chars[this.pos].setChar(' ', this.currPenState);\n };\n _proto4.insertChar = function insertChar(_byte2) {\n var _this = this;\n if (_byte2 >= 0x90) {\n // Extended char\n this.backSpace();\n }\n var _char = getCharForByte(_byte2);\n if (this.pos >= NR_COLS) {\n this.logger.log(0, function () {\n return 'Cannot insert ' + _byte2.toString(16) + ' (' + _char + ') at position ' + _this.pos + '. Skipping it!';\n });\n return;\n }\n this.chars[this.pos].setChar(_char, this.currPenState);\n this.moveCursor(1);\n };\n _proto4.clearFromPos = function clearFromPos(startPos) {\n var i;\n for (i = startPos; i < NR_COLS; i++) {\n this.chars[i].reset();\n }\n };\n _proto4.clear = function clear() {\n this.clearFromPos(0);\n this.pos = 0;\n this.currPenState.reset();\n };\n _proto4.clearToEndOfRow = function clearToEndOfRow() {\n this.clearFromPos(this.pos);\n };\n _proto4.getTextString = function getTextString() {\n var chars = [];\n var empty = true;\n for (var i = 0; i < NR_COLS; i++) {\n var _char2 = this.chars[i].uchar;\n if (_char2 !== ' ') {\n empty = false;\n }\n chars.push(_char2);\n }\n if (empty) {\n return '';\n } else {\n return chars.join('');\n }\n };\n _proto4.setPenStyles = function setPenStyles(styles) {\n this.currPenState.setStyles(styles);\n var currChar = this.chars[this.pos];\n currChar.setPenState(this.currPenState);\n };\n return Row;\n }();\n\n /**\n * Keep a CEA-608 screen of 32x15 styled characters\n * @constructor\n */\n var CaptionScreen = /*#__PURE__*/function () {\n function CaptionScreen(logger) {\n this.rows = [];\n this.currRow = NR_ROWS - 1;\n this.nrRollUpRows = null;\n this.lastOutputScreen = null;\n this.logger = void 0;\n for (var i = 0; i < NR_ROWS; i++) {\n this.rows.push(new Row(logger));\n }\n this.logger = logger;\n }\n var _proto5 = CaptionScreen.prototype;\n _proto5.reset = function reset() {\n for (var i = 0; i < NR_ROWS; i++) {\n this.rows[i].clear();\n }\n this.currRow = NR_ROWS - 1;\n };\n _proto5.equals = function equals(other) {\n var equal = true;\n for (var i = 0; i < NR_ROWS; i++) {\n if (!this.rows[i].equals(other.rows[i])) {\n equal = false;\n break;\n }\n }\n return equal;\n };\n _proto5.copy = function copy(other) {\n for (var i = 0; i < NR_ROWS; i++) {\n this.rows[i].copy(other.rows[i]);\n }\n };\n _proto5.isEmpty = function isEmpty() {\n var empty = true;\n for (var i = 0; i < NR_ROWS; i++) {\n if (!this.rows[i].isEmpty()) {\n empty = false;\n break;\n }\n }\n return empty;\n };\n _proto5.backSpace = function backSpace() {\n var row = this.rows[this.currRow];\n row.backSpace();\n };\n _proto5.clearToEndOfRow = function clearToEndOfRow() {\n var row = this.rows[this.currRow];\n row.clearToEndOfRow();\n }\n\n /**\n * Insert a character (without styling) in the current row.\n */;\n _proto5.insertChar = function insertChar(_char3) {\n var row = this.rows[this.currRow];\n row.insertChar(_char3);\n };\n _proto5.setPen = function setPen(styles) {\n var row = this.rows[this.currRow];\n row.setPenStyles(styles);\n };\n _proto5.moveCursor = function moveCursor(relPos) {\n var row = this.rows[this.currRow];\n row.moveCursor(relPos);\n };\n _proto5.setCursor = function setCursor(absPos) {\n this.logger.log(2, 'setCursor: ' + absPos);\n var row = this.rows[this.currRow];\n row.setCursor(absPos);\n };\n _proto5.setPAC = function setPAC(pacData) {\n this.logger.log(2, function () {\n return 'pacData = ' + JSON.stringify(pacData);\n });\n var newRow = pacData.row - 1;\n if (this.nrRollUpRows && newRow < this.nrRollUpRows - 1) {\n newRow = this.nrRollUpRows - 1;\n }\n\n // Make sure this only affects Roll-up Captions by checking this.nrRollUpRows\n if (this.nrRollUpRows && this.currRow !== newRow) {\n // clear all rows first\n for (var i = 0; i < NR_ROWS; i++) {\n this.rows[i].clear();\n }\n\n // Copy this.nrRollUpRows rows from lastOutputScreen and place it in the newRow location\n // topRowIndex - the start of rows to copy (inclusive index)\n var topRowIndex = this.currRow + 1 - this.nrRollUpRows;\n // We only copy if the last position was already shown.\n // We use the cueStartTime value to check this.\n var lastOutputScreen = this.lastOutputScreen;\n if (lastOutputScreen) {\n var prevLineTime = lastOutputScreen.rows[topRowIndex].cueStartTime;\n var time = this.logger.time;\n if (prevLineTime !== null && time !== null && prevLineTime < time) {\n for (var _i = 0; _i < this.nrRollUpRows; _i++) {\n this.rows[newRow - this.nrRollUpRows + _i + 1].copy(lastOutputScreen.rows[topRowIndex + _i]);\n }\n }\n }\n }\n this.currRow = newRow;\n var row = this.rows[this.currRow];\n if (pacData.indent !== null) {\n var indent = pacData.indent;\n var prevPos = Math.max(indent - 1, 0);\n row.setCursor(pacData.indent);\n pacData.color = row.chars[prevPos].penState.foreground;\n }\n var styles = {\n foreground: pacData.color,\n underline: pacData.underline,\n italics: pacData.italics,\n background: 'black',\n flash: false\n };\n this.setPen(styles);\n }\n\n /**\n * Set background/extra foreground, but first do back_space, and then insert space (backwards compatibility).\n */;\n _proto5.setBkgData = function setBkgData(bkgData) {\n this.logger.log(2, function () {\n return 'bkgData = ' + JSON.stringify(bkgData);\n });\n this.backSpace();\n this.setPen(bkgData);\n this.insertChar(0x20); // Space\n };\n _proto5.setRollUpRows = function setRollUpRows(nrRows) {\n this.nrRollUpRows = nrRows;\n };\n _proto5.rollUp = function rollUp() {\n var _this2 = this;\n if (this.nrRollUpRows === null) {\n this.logger.log(3, 'roll_up but nrRollUpRows not set yet');\n return; // Not properly setup\n }\n this.logger.log(1, function () {\n return _this2.getDisplayText();\n });\n var topRowIndex = this.currRow + 1 - this.nrRollUpRows;\n var topRow = this.rows.splice(topRowIndex, 1)[0];\n topRow.clear();\n this.rows.splice(this.currRow, 0, topRow);\n this.logger.log(2, 'Rolling up');\n // this.logger.log(VerboseLevel.TEXT, this.get_display_text())\n }\n\n /**\n * Get all non-empty rows with as unicode text.\n */;\n _proto5.getDisplayText = function getDisplayText(asOneRow) {\n asOneRow = asOneRow || false;\n var displayText = [];\n var text = '';\n var rowNr = -1;\n for (var i = 0; i < NR_ROWS; i++) {\n var rowText = this.rows[i].getTextString();\n if (rowText) {\n rowNr = i + 1;\n if (asOneRow) {\n displayText.push('Row ' + rowNr + \": '\" + rowText + \"'\");\n } else {\n displayText.push(rowText.trim());\n }\n }\n }\n if (displayText.length > 0) {\n if (asOneRow) {\n text = '[' + displayText.join(' | ') + ']';\n } else {\n text = displayText.join('\\n');\n }\n }\n return text;\n };\n _proto5.getTextAndFormat = function getTextAndFormat() {\n return this.rows;\n };\n return CaptionScreen;\n }();\n\n // var modes = ['MODE_ROLL-UP', 'MODE_POP-ON', 'MODE_PAINT-ON', 'MODE_TEXT'];\n var Cea608Channel = /*#__PURE__*/function () {\n function Cea608Channel(channelNumber, outputFilter, logger) {\n this.chNr = void 0;\n this.outputFilter = void 0;\n this.mode = void 0;\n this.verbose = void 0;\n this.displayedMemory = void 0;\n this.nonDisplayedMemory = void 0;\n this.lastOutputScreen = void 0;\n this.currRollUpRow = void 0;\n this.writeScreen = void 0;\n this.cueStartTime = void 0;\n this.logger = void 0;\n this.chNr = channelNumber;\n this.outputFilter = outputFilter;\n this.mode = null;\n this.verbose = 0;\n this.displayedMemory = new CaptionScreen(logger);\n this.nonDisplayedMemory = new CaptionScreen(logger);\n this.lastOutputScreen = new CaptionScreen(logger);\n this.currRollUpRow = this.displayedMemory.rows[NR_ROWS - 1];\n this.writeScreen = this.displayedMemory;\n this.mode = null;\n this.cueStartTime = null; // Keeps track of where a cue started.\n this.logger = logger;\n }\n var _proto6 = Cea608Channel.prototype;\n _proto6.reset = function reset() {\n this.mode = null;\n this.displayedMemory.reset();\n this.nonDisplayedMemory.reset();\n this.lastOutputScreen.reset();\n this.outputFilter.reset();\n this.currRollUpRow = this.displayedMemory.rows[NR_ROWS - 1];\n this.writeScreen = this.displayedMemory;\n this.mode = null;\n this.cueStartTime = null;\n };\n _proto6.getHandler = function getHandler() {\n return this.outputFilter;\n };\n _proto6.setHandler = function setHandler(newHandler) {\n this.outputFilter = newHandler;\n };\n _proto6.setPAC = function setPAC(pacData) {\n this.writeScreen.setPAC(pacData);\n };\n _proto6.setBkgData = function setBkgData(bkgData) {\n this.writeScreen.setBkgData(bkgData);\n };\n _proto6.setMode = function setMode(newMode) {\n if (newMode === this.mode) {\n return;\n }\n this.mode = newMode;\n this.logger.log(2, function () {\n return 'MODE=' + newMode;\n });\n if (this.mode === 'MODE_POP-ON') {\n this.writeScreen = this.nonDisplayedMemory;\n } else {\n this.writeScreen = this.displayedMemory;\n this.writeScreen.reset();\n }\n if (this.mode !== 'MODE_ROLL-UP') {\n this.displayedMemory.nrRollUpRows = null;\n this.nonDisplayedMemory.nrRollUpRows = null;\n }\n this.mode = newMode;\n };\n _proto6.insertChars = function insertChars(chars) {\n var _this3 = this;\n for (var i = 0; i < chars.length; i++) {\n this.writeScreen.insertChar(chars[i]);\n }\n var screen = this.writeScreen === this.displayedMemory ? 'DISP' : 'NON_DISP';\n this.logger.log(2, function () {\n return screen + ': ' + _this3.writeScreen.getDisplayText(true);\n });\n if (this.mode === 'MODE_PAINT-ON' || this.mode === 'MODE_ROLL-UP') {\n this.logger.log(1, function () {\n return 'DISPLAYED: ' + _this3.displayedMemory.getDisplayText(true);\n });\n this.outputDataUpdate();\n }\n };\n _proto6.ccRCL = function ccRCL() {\n // Resume Caption Loading (switch mode to Pop On)\n this.logger.log(2, 'RCL - Resume Caption Loading');\n this.setMode('MODE_POP-ON');\n };\n _proto6.ccBS = function ccBS() {\n // BackSpace\n this.logger.log(2, 'BS - BackSpace');\n if (this.mode === 'MODE_TEXT') {\n return;\n }\n this.writeScreen.backSpace();\n if (this.writeScreen === this.displayedMemory) {\n this.outputDataUpdate();\n }\n };\n _proto6.ccAOF = function ccAOF() {\n // Reserved (formerly Alarm Off)\n };\n _proto6.ccAON = function ccAON() {\n // Reserved (formerly Alarm On)\n };\n _proto6.ccDER = function ccDER() {\n // Delete to End of Row\n this.logger.log(2, 'DER- Delete to End of Row');\n this.writeScreen.clearToEndOfRow();\n this.outputDataUpdate();\n };\n _proto6.ccRU = function ccRU(nrRows) {\n // Roll-Up Captions-2,3,or 4 Rows\n this.logger.log(2, 'RU(' + nrRows + ') - Roll Up');\n this.writeScreen = this.displayedMemory;\n this.setMode('MODE_ROLL-UP');\n this.writeScreen.setRollUpRows(nrRows);\n };\n _proto6.ccFON = function ccFON() {\n // Flash On\n this.logger.log(2, 'FON - Flash On');\n this.writeScreen.setPen({\n flash: true\n });\n };\n _proto6.ccRDC = function ccRDC() {\n // Resume Direct Captioning (switch mode to PaintOn)\n this.logger.log(2, 'RDC - Resume Direct Captioning');\n this.setMode('MODE_PAINT-ON');\n };\n _proto6.ccTR = function ccTR() {\n // Text Restart in text mode (not supported, however)\n this.logger.log(2, 'TR');\n this.setMode('MODE_TEXT');\n };\n _proto6.ccRTD = function ccRTD() {\n // Resume Text Display in Text mode (not supported, however)\n this.logger.log(2, 'RTD');\n this.setMode('MODE_TEXT');\n };\n _proto6.ccEDM = function ccEDM() {\n // Erase Displayed Memory\n this.logger.log(2, 'EDM - Erase Displayed Memory');\n this.displayedMemory.reset();\n this.outputDataUpdate(true);\n };\n _proto6.ccCR = function ccCR() {\n // Carriage Return\n this.logger.log(2, 'CR - Carriage Return');\n this.writeScreen.rollUp();\n this.outputDataUpdate(true);\n };\n _proto6.ccENM = function ccENM() {\n // Erase Non-Displayed Memory\n this.logger.log(2, 'ENM - Erase Non-displayed Memory');\n this.nonDisplayedMemory.reset();\n };\n _proto6.ccEOC = function ccEOC() {\n var _this4 = this;\n // End of Caption (Flip Memories)\n this.logger.log(2, 'EOC - End Of Caption');\n if (this.mode === 'MODE_POP-ON') {\n var tmp = this.displayedMemory;\n this.displayedMemory = this.nonDisplayedMemory;\n this.nonDisplayedMemory = tmp;\n this.writeScreen = this.nonDisplayedMemory;\n this.logger.log(1, function () {\n return 'DISP: ' + _this4.displayedMemory.getDisplayText();\n });\n }\n this.outputDataUpdate(true);\n };\n _proto6.ccTO = function ccTO(nrCols) {\n // Tab Offset 1,2, or 3 columns\n this.logger.log(2, 'TO(' + nrCols + ') - Tab Offset');\n this.writeScreen.moveCursor(nrCols);\n };\n _proto6.ccMIDROW = function ccMIDROW(secondByte) {\n // Parse MIDROW command\n var styles = {\n flash: false\n };\n styles.underline = secondByte % 2 === 1;\n styles.italics = secondByte >= 0x2e;\n if (!styles.italics) {\n var colorIndex = Math.floor(secondByte / 2) - 0x10;\n var colors = ['white', 'green', 'blue', 'cyan', 'red', 'yellow', 'magenta'];\n styles.foreground = colors[colorIndex];\n } else {\n styles.foreground = 'white';\n }\n this.logger.log(2, 'MIDROW: ' + JSON.stringify(styles));\n this.writeScreen.setPen(styles);\n };\n _proto6.outputDataUpdate = function outputDataUpdate(dispatch) {\n if (dispatch === void 0) {\n dispatch = false;\n }\n var time = this.logger.time;\n if (time === null) {\n return;\n }\n if (this.outputFilter) {\n if (this.cueStartTime === null && !this.displayedMemory.isEmpty()) {\n // Start of a new cue\n this.cueStartTime = time;\n } else {\n if (!this.displayedMemory.equals(this.lastOutputScreen)) {\n this.outputFilter.newCue(this.cueStartTime, time, this.lastOutputScreen);\n if (dispatch && this.outputFilter.dispatchCue) {\n this.outputFilter.dispatchCue();\n }\n this.cueStartTime = this.displayedMemory.isEmpty() ? null : time;\n }\n }\n this.lastOutputScreen.copy(this.displayedMemory);\n }\n };\n _proto6.cueSplitAtTime = function cueSplitAtTime(t) {\n if (this.outputFilter) {\n if (!this.displayedMemory.isEmpty()) {\n if (this.outputFilter.newCue) {\n this.outputFilter.newCue(this.cueStartTime, t, this.displayedMemory);\n }\n this.cueStartTime = t;\n }\n }\n };\n return Cea608Channel;\n }(); // Will be 1 or 2 when parsing captions\n var Cea608Parser = /*#__PURE__*/function () {\n function Cea608Parser(field, out1, out2) {\n this.channels = void 0;\n this.currentChannel = 0;\n this.cmdHistory = createCmdHistory();\n this.logger = void 0;\n var logger = this.logger = new CaptionsLogger();\n this.channels = [null, new Cea608Channel(field, out1, logger), new Cea608Channel(field + 1, out2, logger)];\n }\n var _proto7 = Cea608Parser.prototype;\n _proto7.getHandler = function getHandler(channel) {\n return this.channels[channel].getHandler();\n };\n _proto7.setHandler = function setHandler(channel, newHandler) {\n this.channels[channel].setHandler(newHandler);\n }\n\n /**\n * Add data for time t in forms of list of bytes (unsigned ints). The bytes are treated as pairs.\n */;\n _proto7.addData = function addData(time, byteList) {\n var cmdFound;\n var a;\n var b;\n var charsFound = false;\n this.logger.time = time;\n for (var i = 0; i < byteList.length; i += 2) {\n a = byteList[i] & 0x7f;\n b = byteList[i + 1] & 0x7f;\n if (a === 0 && b === 0) {\n continue;\n } else {\n this.logger.log(3, '[' + numArrayToHexArray([byteList[i], byteList[i + 1]]) + '] -> (' + numArrayToHexArray([a, b]) + ')');\n }\n cmdFound = this.parseCmd(a, b);\n if (!cmdFound) {\n cmdFound = this.parseMidrow(a, b);\n }\n if (!cmdFound) {\n cmdFound = this.parsePAC(a, b);\n }\n if (!cmdFound) {\n cmdFound = this.parseBackgroundAttributes(a, b);\n }\n if (!cmdFound) {\n charsFound = this.parseChars(a, b);\n if (charsFound) {\n var currChNr = this.currentChannel;\n if (currChNr && currChNr > 0) {\n var channel = this.channels[currChNr];\n channel.insertChars(charsFound);\n } else {\n this.logger.log(2, 'No channel found yet. TEXT-MODE?');\n }\n }\n }\n if (!cmdFound && !charsFound) {\n this.logger.log(2, \"Couldn't parse cleaned data \" + numArrayToHexArray([a, b]) + ' orig: ' + numArrayToHexArray([byteList[i], byteList[i + 1]]));\n }\n }\n }\n\n /**\n * Parse Command.\n * @returns True if a command was found\n */;\n _proto7.parseCmd = function parseCmd(a, b) {\n var cmdHistory = this.cmdHistory;\n var cond1 = (a === 0x14 || a === 0x1c || a === 0x15 || a === 0x1d) && b >= 0x20 && b <= 0x2f;\n var cond2 = (a === 0x17 || a === 0x1f) && b >= 0x21 && b <= 0x23;\n if (!(cond1 || cond2)) {\n return false;\n }\n if (hasCmdRepeated(a, b, cmdHistory)) {\n setLastCmd(null, null, cmdHistory);\n this.logger.log(3, 'Repeated command (' + numArrayToHexArray([a, b]) + ') is dropped');\n return true;\n }\n var chNr = a === 0x14 || a === 0x15 || a === 0x17 ? 1 : 2;\n var channel = this.channels[chNr];\n if (a === 0x14 || a === 0x15 || a === 0x1c || a === 0x1d) {\n if (b === 0x20) {\n channel.ccRCL();\n } else if (b === 0x21) {\n channel.ccBS();\n } else if (b === 0x22) {\n channel.ccAOF();\n } else if (b === 0x23) {\n channel.ccAON();\n } else if (b === 0x24) {\n channel.ccDER();\n } else if (b === 0x25) {\n channel.ccRU(2);\n } else if (b === 0x26) {\n channel.ccRU(3);\n } else if (b === 0x27) {\n channel.ccRU(4);\n } else if (b === 0x28) {\n channel.ccFON();\n } else if (b === 0x29) {\n channel.ccRDC();\n } else if (b === 0x2a) {\n channel.ccTR();\n } else if (b === 0x2b) {\n channel.ccRTD();\n } else if (b === 0x2c) {\n channel.ccEDM();\n } else if (b === 0x2d) {\n channel.ccCR();\n } else if (b === 0x2e) {\n channel.ccENM();\n } else if (b === 0x2f) {\n channel.ccEOC();\n }\n } else {\n // a == 0x17 || a == 0x1F\n channel.ccTO(b - 0x20);\n }\n setLastCmd(a, b, cmdHistory);\n this.currentChannel = chNr;\n return true;\n }\n\n /**\n * Parse midrow styling command\n */;\n _proto7.parseMidrow = function parseMidrow(a, b) {\n var chNr = 0;\n if ((a === 0x11 || a === 0x19) && b >= 0x20 && b <= 0x2f) {\n if (a === 0x11) {\n chNr = 1;\n } else {\n chNr = 2;\n }\n if (chNr !== this.currentChannel) {\n this.logger.log(0, 'Mismatch channel in midrow parsing');\n return false;\n }\n var channel = this.channels[chNr];\n if (!channel) {\n return false;\n }\n channel.ccMIDROW(b);\n this.logger.log(3, 'MIDROW (' + numArrayToHexArray([a, b]) + ')');\n return true;\n }\n return false;\n }\n\n /**\n * Parse Preable Access Codes (Table 53).\n * @returns {Boolean} Tells if PAC found\n */;\n _proto7.parsePAC = function parsePAC(a, b) {\n var row;\n var cmdHistory = this.cmdHistory;\n var case1 = (a >= 0x11 && a <= 0x17 || a >= 0x19 && a <= 0x1f) && b >= 0x40 && b <= 0x7f;\n var case2 = (a === 0x10 || a === 0x18) && b >= 0x40 && b <= 0x5f;\n if (!(case1 || case2)) {\n return false;\n }\n if (hasCmdRepeated(a, b, cmdHistory)) {\n setLastCmd(null, null, cmdHistory);\n return true; // Repeated commands are dropped (once)\n }\n var chNr = a <= 0x17 ? 1 : 2;\n if (b >= 0x40 && b <= 0x5f) {\n row = chNr === 1 ? rowsLowCh1[a] : rowsLowCh2[a];\n } else {\n // 0x60 <= b <= 0x7F\n row = chNr === 1 ? rowsHighCh1[a] : rowsHighCh2[a];\n }\n var channel = this.channels[chNr];\n if (!channel) {\n return false;\n }\n channel.setPAC(this.interpretPAC(row, b));\n setLastCmd(a, b, cmdHistory);\n this.currentChannel = chNr;\n return true;\n }\n\n /**\n * Interpret the second byte of the pac, and return the information.\n * @returns pacData with style parameters\n */;\n _proto7.interpretPAC = function interpretPAC(row, _byte3) {\n var pacIndex;\n var pacData = {\n color: null,\n italics: false,\n indent: null,\n underline: false,\n row: row\n };\n if (_byte3 > 0x5f) {\n pacIndex = _byte3 - 0x60;\n } else {\n pacIndex = _byte3 - 0x40;\n }\n pacData.underline = (pacIndex & 1) === 1;\n if (pacIndex <= 0xd) {\n pacData.color = ['white', 'green', 'blue', 'cyan', 'red', 'yellow', 'magenta', 'white'][Math.floor(pacIndex / 2)];\n } else if (pacIndex <= 0xf) {\n pacData.italics = true;\n pacData.color = 'white';\n } else {\n pacData.indent = Math.floor((pacIndex - 0x10) / 2) * 4;\n }\n return pacData; // Note that row has zero offset. The spec uses 1.\n }\n\n /**\n * Parse characters.\n * @returns An array with 1 to 2 codes corresponding to chars, if found. null otherwise.\n */;\n _proto7.parseChars = function parseChars(a, b) {\n var channelNr;\n var charCodes = null;\n var charCode1 = null;\n if (a >= 0x19) {\n channelNr = 2;\n charCode1 = a - 8;\n } else {\n channelNr = 1;\n charCode1 = a;\n }\n if (charCode1 >= 0x11 && charCode1 <= 0x13) {\n // Special character\n var oneCode;\n if (charCode1 === 0x11) {\n oneCode = b + 0x50;\n } else if (charCode1 === 0x12) {\n oneCode = b + 0x70;\n } else {\n oneCode = b + 0x90;\n }\n this.logger.log(2, \"Special char '\" + getCharForByte(oneCode) + \"' in channel \" + channelNr);\n charCodes = [oneCode];\n } else if (a >= 0x20 && a <= 0x7f) {\n charCodes = b === 0 ? [a] : [a, b];\n }\n if (charCodes) {\n var hexCodes = numArrayToHexArray(charCodes);\n this.logger.log(3, 'Char codes = ' + hexCodes.join(','));\n setLastCmd(a, b, this.cmdHistory);\n }\n return charCodes;\n }\n\n /**\n * Parse extended background attributes as well as new foreground color black.\n * @returns True if background attributes are found\n */;\n _proto7.parseBackgroundAttributes = function parseBackgroundAttributes(a, b) {\n var case1 = (a === 0x10 || a === 0x18) && b >= 0x20 && b <= 0x2f;\n var case2 = (a === 0x17 || a === 0x1f) && b >= 0x2d && b <= 0x2f;\n if (!(case1 || case2)) {\n return false;\n }\n var index;\n var bkgData = {};\n if (a === 0x10 || a === 0x18) {\n index = Math.floor((b - 0x20) / 2);\n bkgData.background = backgroundColors[index];\n if (b % 2 === 1) {\n bkgData.background = bkgData.background + '_semi';\n }\n } else if (b === 0x2d) {\n bkgData.background = 'transparent';\n } else {\n bkgData.foreground = 'black';\n if (b === 0x2f) {\n bkgData.underline = true;\n }\n }\n var chNr = a <= 0x17 ? 1 : 2;\n var channel = this.channels[chNr];\n channel.setBkgData(bkgData);\n setLastCmd(a, b, this.cmdHistory);\n return true;\n }\n\n /**\n * Reset state of parser and its channels.\n */;\n _proto7.reset = function reset() {\n for (var i = 0; i < Object.keys(this.channels).length; i++) {\n var channel = this.channels[i];\n if (channel) {\n channel.reset();\n }\n }\n this.cmdHistory = createCmdHistory();\n }\n\n /**\n * Trigger the generation of a cue, and the start of a new one if displayScreens are not empty.\n */;\n _proto7.cueSplitAtTime = function cueSplitAtTime(t) {\n for (var i = 0; i < this.channels.length; i++) {\n var channel = this.channels[i];\n if (channel) {\n channel.cueSplitAtTime(t);\n }\n }\n };\n return Cea608Parser;\n }();\n function setLastCmd(a, b, cmdHistory) {\n cmdHistory.a = a;\n cmdHistory.b = b;\n }\n function hasCmdRepeated(a, b, cmdHistory) {\n return cmdHistory.a === a && cmdHistory.b === b;\n }\n function createCmdHistory() {\n return {\n a: null,\n b: null\n };\n }\n\n var OutputFilter = /*#__PURE__*/function () {\n function OutputFilter(timelineController, trackName) {\n this.timelineController = void 0;\n this.cueRanges = [];\n this.trackName = void 0;\n this.startTime = null;\n this.endTime = null;\n this.screen = null;\n this.timelineController = timelineController;\n this.trackName = trackName;\n }\n var _proto = OutputFilter.prototype;\n _proto.dispatchCue = function dispatchCue() {\n if (this.startTime === null) {\n return;\n }\n this.timelineController.addCues(this.trackName, this.startTime, this.endTime, this.screen, this.cueRanges);\n this.startTime = null;\n };\n _proto.newCue = function newCue(startTime, endTime, screen) {\n if (this.startTime === null || this.startTime > startTime) {\n this.startTime = startTime;\n }\n this.endTime = endTime;\n this.screen = screen;\n this.timelineController.createCaptionsTrack(this.trackName);\n };\n _proto.reset = function reset() {\n this.cueRanges = [];\n this.startTime = null;\n };\n return OutputFilter;\n }();\n\n /**\n * Copyright 2013 vtt.js Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the 'License');\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an 'AS IS' BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n var VTTCue = (function () {\n if (optionalSelf != null && optionalSelf.VTTCue) {\n return self.VTTCue;\n }\n var AllowedDirections = ['', 'lr', 'rl'];\n var AllowedAlignments = ['start', 'middle', 'end', 'left', 'right'];\n function isAllowedValue(allowed, value) {\n if (typeof value !== 'string') {\n return false;\n }\n // necessary for assuring the generic conforms to the Array interface\n if (!Array.isArray(allowed)) {\n return false;\n }\n // reset the type so that the next narrowing works well\n var lcValue = value.toLowerCase();\n // use the allow list to narrow the type to a specific subset of strings\n if (~allowed.indexOf(lcValue)) {\n return lcValue;\n }\n return false;\n }\n function findDirectionSetting(value) {\n return isAllowedValue(AllowedDirections, value);\n }\n function findAlignSetting(value) {\n return isAllowedValue(AllowedAlignments, value);\n }\n function extend(obj) {\n for (var _len = arguments.length, rest = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n rest[_key - 1] = arguments[_key];\n }\n var i = 1;\n for (; i < arguments.length; i++) {\n var cobj = arguments[i];\n for (var p in cobj) {\n obj[p] = cobj[p];\n }\n }\n return obj;\n }\n function VTTCue(startTime, endTime, text) {\n var cue = this;\n var baseObj = {\n enumerable: true\n };\n /**\n * Shim implementation specific properties. These properties are not in\n * the spec.\n */\n\n // Lets us know when the VTTCue's data has changed in such a way that we need\n // to recompute its display state. This lets us compute its display state\n // lazily.\n cue.hasBeenReset = false;\n\n /**\n * VTTCue and TextTrackCue properties\n * http://dev.w3.org/html5/webvtt/#vttcue-interface\n */\n\n var _id = '';\n var _pauseOnExit = false;\n var _startTime = startTime;\n var _endTime = endTime;\n var _text = text;\n var _region = null;\n var _vertical = '';\n var _snapToLines = true;\n var _line = 'auto';\n var _lineAlign = 'start';\n var _position = 50;\n var _positionAlign = 'middle';\n var _size = 50;\n var _align = 'middle';\n Object.defineProperty(cue, 'id', extend({}, baseObj, {\n get: function get() {\n return _id;\n },\n set: function set(value) {\n _id = '' + value;\n }\n }));\n Object.defineProperty(cue, 'pauseOnExit', extend({}, baseObj, {\n get: function get() {\n return _pauseOnExit;\n },\n set: function set(value) {\n _pauseOnExit = !!value;\n }\n }));\n Object.defineProperty(cue, 'startTime', extend({}, baseObj, {\n get: function get() {\n return _startTime;\n },\n set: function set(value) {\n if (typeof value !== 'number') {\n throw new TypeError('Start time must be set to a number.');\n }\n _startTime = value;\n this.hasBeenReset = true;\n }\n }));\n Object.defineProperty(cue, 'endTime', extend({}, baseObj, {\n get: function get() {\n return _endTime;\n },\n set: function set(value) {\n if (typeof value !== 'number') {\n throw new TypeError('End time must be set to a number.');\n }\n _endTime = value;\n this.hasBeenReset = true;\n }\n }));\n Object.defineProperty(cue, 'text', extend({}, baseObj, {\n get: function get() {\n return _text;\n },\n set: function set(value) {\n _text = '' + value;\n this.hasBeenReset = true;\n }\n }));\n\n // todo: implement VTTRegion polyfill?\n Object.defineProperty(cue, 'region', extend({}, baseObj, {\n get: function get() {\n return _region;\n },\n set: function set(value) {\n _region = value;\n this.hasBeenReset = true;\n }\n }));\n Object.defineProperty(cue, 'vertical', extend({}, baseObj, {\n get: function get() {\n return _vertical;\n },\n set: function set(value) {\n var setting = findDirectionSetting(value);\n // Have to check for false because the setting an be an empty string.\n if (setting === false) {\n throw new SyntaxError('An invalid or illegal string was specified.');\n }\n _vertical = setting;\n this.hasBeenReset = true;\n }\n }));\n Object.defineProperty(cue, 'snapToLines', extend({}, baseObj, {\n get: function get() {\n return _snapToLines;\n },\n set: function set(value) {\n _snapToLines = !!value;\n this.hasBeenReset = true;\n }\n }));\n Object.defineProperty(cue, 'line', extend({}, baseObj, {\n get: function get() {\n return _line;\n },\n set: function set(value) {\n if (typeof value !== 'number' && value !== 'auto') {\n throw new SyntaxError('An invalid number or illegal string was specified.');\n }\n _line = value;\n this.hasBeenReset = true;\n }\n }));\n Object.defineProperty(cue, 'lineAlign', extend({}, baseObj, {\n get: function get() {\n return _lineAlign;\n },\n set: function set(value) {\n var setting = findAlignSetting(value);\n if (!setting) {\n throw new SyntaxError('An invalid or illegal string was specified.');\n }\n _lineAlign = setting;\n this.hasBeenReset = true;\n }\n }));\n Object.defineProperty(cue, 'position', extend({}, baseObj, {\n get: function get() {\n return _position;\n },\n set: function set(value) {\n if (value < 0 || value > 100) {\n throw new Error('Position must be between 0 and 100.');\n }\n _position = value;\n this.hasBeenReset = true;\n }\n }));\n Object.defineProperty(cue, 'positionAlign', extend({}, baseObj, {\n get: function get() {\n return _positionAlign;\n },\n set: function set(value) {\n var setting = findAlignSetting(value);\n if (!setting) {\n throw new SyntaxError('An invalid or illegal string was specified.');\n }\n _positionAlign = setting;\n this.hasBeenReset = true;\n }\n }));\n Object.defineProperty(cue, 'size', extend({}, baseObj, {\n get: function get() {\n return _size;\n },\n set: function set(value) {\n if (value < 0 || value > 100) {\n throw new Error('Size must be between 0 and 100.');\n }\n _size = value;\n this.hasBeenReset = true;\n }\n }));\n Object.defineProperty(cue, 'align', extend({}, baseObj, {\n get: function get() {\n return _align;\n },\n set: function set(value) {\n var setting = findAlignSetting(value);\n if (!setting) {\n throw new SyntaxError('An invalid or illegal string was specified.');\n }\n _align = setting;\n this.hasBeenReset = true;\n }\n }));\n\n /**\n * Other <track> spec defined properties\n */\n\n // http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#text-track-cue-display-state\n cue.displayState = undefined;\n }\n\n /**\n * VTTCue methods\n */\n\n VTTCue.prototype.getCueAsHTML = function () {\n // Assume WebVTT.convertCueToDOMTree is on the global.\n var WebVTT = self.WebVTT;\n return WebVTT.convertCueToDOMTree(self, this.text);\n };\n // this is a polyfill hack\n return VTTCue;\n })();\n\n /*\n * Source: https://github.com/mozilla/vtt.js/blob/master/dist/vtt.js\n */\n\n var StringDecoder = /*#__PURE__*/function () {\n function StringDecoder() {}\n var _proto = StringDecoder.prototype;\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n _proto.decode = function decode(data, options) {\n if (!data) {\n return '';\n }\n if (typeof data !== 'string') {\n throw new Error('Error - expected string data.');\n }\n return decodeURIComponent(encodeURIComponent(data));\n };\n return StringDecoder;\n }(); // Try to parse input as a time stamp.\n function parseTimeStamp(input) {\n function computeSeconds(h, m, s, f) {\n return (h | 0) * 3600 + (m | 0) * 60 + (s | 0) + parseFloat(f || 0);\n }\n var m = input.match(/^(?:(\\d+):)?(\\d{2}):(\\d{2})(\\.\\d+)?/);\n if (!m) {\n return null;\n }\n if (parseFloat(m[2]) > 59) {\n // Timestamp takes the form of [hours]:[minutes].[milliseconds]\n // First position is hours as it's over 59.\n return computeSeconds(m[2], m[3], 0, m[4]);\n }\n // Timestamp takes the form of [hours (optional)]:[minutes]:[seconds].[milliseconds]\n return computeSeconds(m[1], m[2], m[3], m[4]);\n }\n\n // A settings object holds key/value pairs and will ignore anything but the first\n // assignment to a specific key.\n var Settings = /*#__PURE__*/function () {\n function Settings() {\n this.values = Object.create(null);\n }\n var _proto2 = Settings.prototype;\n // Only accept the first assignment to any key.\n _proto2.set = function set(k, v) {\n if (!this.get(k) && v !== '') {\n this.values[k] = v;\n }\n }\n // Return the value for a key, or a default value.\n // If 'defaultKey' is passed then 'dflt' is assumed to be an object with\n // a number of possible default values as properties where 'defaultKey' is\n // the key of the property that will be chosen; otherwise it's assumed to be\n // a single value.\n ;\n _proto2.get = function get(k, dflt, defaultKey) {\n if (defaultKey) {\n return this.has(k) ? this.values[k] : dflt[defaultKey];\n }\n return this.has(k) ? this.values[k] : dflt;\n }\n // Check whether we have a value for a key.\n ;\n _proto2.has = function has(k) {\n return k in this.values;\n }\n // Accept a setting if its one of the given alternatives.\n ;\n _proto2.alt = function alt(k, v, a) {\n for (var n = 0; n < a.length; ++n) {\n if (v === a[n]) {\n this.set(k, v);\n break;\n }\n }\n }\n // Accept a setting if its a valid (signed) integer.\n ;\n _proto2.integer = function integer(k, v) {\n if (/^-?\\d+$/.test(v)) {\n // integer\n this.set(k, parseInt(v, 10));\n }\n }\n // Accept a setting if its a valid percentage.\n ;\n _proto2.percent = function percent(k, v) {\n if (/^([\\d]{1,3})(\\.[\\d]*)?%$/.test(v)) {\n var percent = parseFloat(v);\n if (percent >= 0 && percent <= 100) {\n this.set(k, percent);\n return true;\n }\n }\n return false;\n };\n return Settings;\n }(); // Helper function to parse input into groups separated by 'groupDelim', and\n // interpret each group as a key/value pair separated by 'keyValueDelim'.\n function parseOptions(input, callback, keyValueDelim, groupDelim) {\n var groups = groupDelim ? input.split(groupDelim) : [input];\n for (var i in groups) {\n if (typeof groups[i] !== 'string') {\n continue;\n }\n var kv = groups[i].split(keyValueDelim);\n if (kv.length !== 2) {\n continue;\n }\n var _k = kv[0];\n var _v = kv[1];\n callback(_k, _v);\n }\n }\n var defaults = new VTTCue(0, 0, '');\n // 'middle' was changed to 'center' in the spec: https://github.com/w3c/webvtt/pull/244\n // Safari doesn't yet support this change, but FF and Chrome do.\n var center = defaults.align === 'middle' ? 'middle' : 'center';\n function parseCue(input, cue, regionList) {\n // Remember the original input if we need to throw an error.\n var oInput = input;\n // 4.1 WebVTT timestamp\n function consumeTimeStamp() {\n var ts = parseTimeStamp(input);\n if (ts === null) {\n throw new Error('Malformed timestamp: ' + oInput);\n }\n\n // Remove time stamp from input.\n input = input.replace(/^[^\\sa-zA-Z-]+/, '');\n return ts;\n }\n\n // 4.4.2 WebVTT cue settings\n function consumeCueSettings(input, cue) {\n var settings = new Settings();\n parseOptions(input, function (k, v) {\n var vals;\n switch (k) {\n case 'region':\n // Find the last region we parsed with the same region id.\n for (var i = regionList.length - 1; i >= 0; i--) {\n if (regionList[i].id === v) {\n settings.set(k, regionList[i].region);\n break;\n }\n }\n break;\n case 'vertical':\n settings.alt(k, v, ['rl', 'lr']);\n break;\n case 'line':\n vals = v.split(',');\n settings.integer(k, vals[0]);\n if (settings.percent(k, vals[0])) {\n settings.set('snapToLines', false);\n }\n settings.alt(k, vals[0], ['auto']);\n if (vals.length === 2) {\n settings.alt('lineAlign', vals[1], ['start', center, 'end']);\n }\n break;\n case 'position':\n vals = v.split(',');\n settings.percent(k, vals[0]);\n if (vals.length === 2) {\n settings.alt('positionAlign', vals[1], ['start', center, 'end', 'line-left', 'line-right', 'auto']);\n }\n break;\n case 'size':\n settings.percent(k, v);\n break;\n case 'align':\n settings.alt(k, v, ['start', center, 'end', 'left', 'right']);\n break;\n }\n }, /:/, /\\s/);\n\n // Apply default values for any missing fields.\n cue.region = settings.get('region', null);\n cue.vertical = settings.get('vertical', '');\n var line = settings.get('line', 'auto');\n if (line === 'auto' && defaults.line === -1) {\n // set numeric line number for Safari\n line = -1;\n }\n cue.line = line;\n cue.lineAlign = settings.get('lineAlign', 'start');\n cue.snapToLines = settings.get('snapToLines', true);\n cue.size = settings.get('size', 100);\n cue.align = settings.get('align', center);\n var position = settings.get('position', 'auto');\n if (position === 'auto' && defaults.position === 50) {\n // set numeric position for Safari\n position = cue.align === 'start' || cue.align === 'left' ? 0 : cue.align === 'end' || cue.align === 'right' ? 100 : 50;\n }\n cue.position = position;\n }\n function skipWhitespace() {\n input = input.replace(/^\\s+/, '');\n }\n\n // 4.1 WebVTT cue timings.\n skipWhitespace();\n cue.startTime = consumeTimeStamp(); // (1) collect cue start time\n skipWhitespace();\n if (input.slice(0, 3) !== '-->') {\n // (3) next characters must match '-->'\n throw new Error(\"Malformed time stamp (time stamps must be separated by '-->'): \" + oInput);\n }\n input = input.slice(3);\n skipWhitespace();\n cue.endTime = consumeTimeStamp(); // (5) collect cue end time\n\n // 4.1 WebVTT cue settings list.\n skipWhitespace();\n consumeCueSettings(input, cue);\n }\n function fixLineBreaks(input) {\n return input.replace(/<br(?: \\/)?>/gi, '\\n');\n }\n var VTTParser = /*#__PURE__*/function () {\n function VTTParser() {\n this.state = 'INITIAL';\n this.buffer = '';\n this.decoder = new StringDecoder();\n this.regionList = [];\n this.cue = null;\n this.oncue = void 0;\n this.onparsingerror = void 0;\n this.onflush = void 0;\n }\n var _proto3 = VTTParser.prototype;\n _proto3.parse = function parse(data) {\n var _this = this;\n\n // If there is no data then we won't decode it, but will just try to parse\n // whatever is in buffer already. This may occur in circumstances, for\n // example when flush() is called.\n if (data) {\n // Try to decode the data that we received.\n _this.buffer += _this.decoder.decode(data, {\n stream: true\n });\n }\n function collectNextLine() {\n var buffer = _this.buffer;\n var pos = 0;\n buffer = fixLineBreaks(buffer);\n while (pos < buffer.length && buffer[pos] !== '\\r' && buffer[pos] !== '\\n') {\n ++pos;\n }\n var line = buffer.slice(0, pos);\n // Advance the buffer early in case we fail below.\n if (buffer[pos] === '\\r') {\n ++pos;\n }\n if (buffer[pos] === '\\n') {\n ++pos;\n }\n _this.buffer = buffer.slice(pos);\n return line;\n }\n\n // 3.2 WebVTT metadata header syntax\n function parseHeader(input) {\n parseOptions(input, function (k, v) {\n // switch (k) {\n // case 'region':\n // 3.3 WebVTT region metadata header syntax\n // console.log('parse region', v);\n // parseRegion(v);\n // break;\n // }\n }, /:/);\n }\n\n // 5.1 WebVTT file parsing.\n try {\n var line = '';\n if (_this.state === 'INITIAL') {\n // We can't start parsing until we have the first line.\n if (!/\\r\\n|\\n/.test(_this.buffer)) {\n return this;\n }\n line = collectNextLine();\n // strip of UTF-8 BOM if any\n // https://en.wikipedia.org/wiki/Byte_order_mark#UTF-8\n var m = line.match(/^()?WEBVTT([ \\t].*)?$/);\n if (!(m != null && m[0])) {\n throw new Error('Malformed WebVTT signature.');\n }\n _this.state = 'HEADER';\n }\n var alreadyCollectedLine = false;\n while (_this.buffer) {\n // We can't parse a line until we have the full line.\n if (!/\\r\\n|\\n/.test(_this.buffer)) {\n return this;\n }\n if (!alreadyCollectedLine) {\n line = collectNextLine();\n } else {\n alreadyCollectedLine = false;\n }\n switch (_this.state) {\n case 'HEADER':\n // 13-18 - Allow a header (metadata) under the WEBVTT line.\n if (/:/.test(line)) {\n parseHeader(line);\n } else if (!line) {\n // An empty line terminates the header and starts the body (cues).\n _this.state = 'ID';\n }\n continue;\n case 'NOTE':\n // Ignore NOTE blocks.\n if (!line) {\n _this.state = 'ID';\n }\n continue;\n case 'ID':\n // Check for the start of NOTE blocks.\n if (/^NOTE($|[ \\t])/.test(line)) {\n _this.state = 'NOTE';\n break;\n }\n // 19-29 - Allow any number of line terminators, then initialize new cue values.\n if (!line) {\n continue;\n }\n _this.cue = new VTTCue(0, 0, '');\n _this.state = 'CUE';\n // 30-39 - Check if self line contains an optional identifier or timing data.\n if (line.indexOf('-->') === -1) {\n _this.cue.id = line;\n continue;\n }\n // Process line as start of a cue.\n /* falls through */\n case 'CUE':\n // 40 - Collect cue timings and settings.\n if (!_this.cue) {\n _this.state = 'BADCUE';\n continue;\n }\n try {\n parseCue(line, _this.cue, _this.regionList);\n } catch (e) {\n // In case of an error ignore rest of the cue.\n _this.cue = null;\n _this.state = 'BADCUE';\n continue;\n }\n _this.state = 'CUETEXT';\n continue;\n case 'CUETEXT':\n {\n var hasSubstring = line.indexOf('-->') !== -1;\n // 34 - If we have an empty line then report the cue.\n // 35 - If we have the special substring '-->' then report the cue,\n // but do not collect the line as we need to process the current\n // one as a new cue.\n if (!line || hasSubstring && (alreadyCollectedLine = true)) {\n // We are done parsing self cue.\n if (_this.oncue && _this.cue) {\n _this.oncue(_this.cue);\n }\n _this.cue = null;\n _this.state = 'ID';\n continue;\n }\n if (_this.cue === null) {\n continue;\n }\n if (_this.cue.text) {\n _this.cue.text += '\\n';\n }\n _this.cue.text += line;\n }\n continue;\n case 'BADCUE':\n // 54-62 - Collect and discard the remaining cue.\n if (!line) {\n _this.state = 'ID';\n }\n }\n }\n } catch (e) {\n // If we are currently parsing a cue, report what we have.\n if (_this.state === 'CUETEXT' && _this.cue && _this.oncue) {\n _this.oncue(_this.cue);\n }\n _this.cue = null;\n // Enter BADWEBVTT state if header was not parsed correctly otherwise\n // another exception occurred so enter BADCUE state.\n _this.state = _this.state === 'INITIAL' ? 'BADWEBVTT' : 'BADCUE';\n }\n return this;\n };\n _proto3.flush = function flush() {\n var _this = this;\n try {\n // Finish decoding the stream.\n // _this.buffer += _this.decoder.decode();\n // Synthesize the end of the current cue or region.\n if (_this.cue || _this.state === 'HEADER') {\n _this.buffer += '\\n\\n';\n _this.parse();\n }\n // If we've flushed, parsed, and we're still on the INITIAL state then\n // that means we don't have enough of the stream to parse the first\n // line.\n if (_this.state === 'INITIAL' || _this.state === 'BADWEBVTT') {\n throw new Error('Malformed WebVTT signature.');\n }\n } catch (e) {\n if (_this.onparsingerror) {\n _this.onparsingerror(e);\n }\n }\n if (_this.onflush) {\n _this.onflush();\n }\n return this;\n };\n return VTTParser;\n }();\n\n var LINEBREAKS = /\\r\\n|\\n\\r|\\n|\\r/g;\n\n // String.prototype.startsWith is not supported in IE11\n var startsWith = function startsWith(inputString, searchString, position) {\n if (position === void 0) {\n position = 0;\n }\n return inputString.slice(position, position + searchString.length) === searchString;\n };\n var cueString2millis = function cueString2millis(timeString) {\n var ts = parseInt(timeString.slice(-3));\n var secs = parseInt(timeString.slice(-6, -4));\n var mins = parseInt(timeString.slice(-9, -7));\n var hours = timeString.length > 9 ? parseInt(timeString.substring(0, timeString.indexOf(':'))) : 0;\n if (!isFiniteNumber(ts) || !isFiniteNumber(secs) || !isFiniteNumber(mins) || !isFiniteNumber(hours)) {\n throw Error(\"Malformed X-TIMESTAMP-MAP: Local:\" + timeString);\n }\n ts += 1000 * secs;\n ts += 60 * 1000 * mins;\n ts += 60 * 60 * 1000 * hours;\n return ts;\n };\n\n // From https://github.com/darkskyapp/string-hash\n var hash = function hash(text) {\n var hash = 5381;\n var i = text.length;\n while (i) {\n hash = hash * 33 ^ text.charCodeAt(--i);\n }\n return (hash >>> 0).toString();\n };\n\n // Create a unique hash id for a cue based on start/end times and text.\n // This helps timeline-controller to avoid showing repeated captions.\n function generateCueId(startTime, endTime, text) {\n return hash(startTime.toString()) + hash(endTime.toString()) + hash(text);\n }\n var calculateOffset = function calculateOffset(vttCCs, cc, presentationTime) {\n var currCC = vttCCs[cc];\n var prevCC = vttCCs[currCC.prevCC];\n\n // This is the first discontinuity or cues have been processed since the last discontinuity\n // Offset = current discontinuity time\n if (!prevCC || !prevCC.new && currCC.new) {\n vttCCs.ccOffset = vttCCs.presentationOffset = currCC.start;\n currCC.new = false;\n return;\n }\n\n // There have been discontinuities since cues were last parsed.\n // Offset = time elapsed\n while ((_prevCC = prevCC) != null && _prevCC.new) {\n var _prevCC;\n vttCCs.ccOffset += currCC.start - prevCC.start;\n currCC.new = false;\n currCC = prevCC;\n prevCC = vttCCs[currCC.prevCC];\n }\n vttCCs.presentationOffset = presentationTime;\n };\n function parseWebVTT(vttByteArray, initPTS, vttCCs, cc, timeOffset, callBack, errorCallBack) {\n var parser = new VTTParser();\n // Convert byteArray into string, replacing any somewhat exotic linefeeds with \"\\n\", then split on that character.\n // Uint8Array.prototype.reduce is not implemented in IE11\n var vttLines = utf8ArrayToStr(new Uint8Array(vttByteArray)).trim().replace(LINEBREAKS, '\\n').split('\\n');\n var cues = [];\n var init90kHz = initPTS ? toMpegTsClockFromTimescale(initPTS.baseTime, initPTS.timescale) : 0;\n var cueTime = '00:00.000';\n var timestampMapMPEGTS = 0;\n var timestampMapLOCAL = 0;\n var parsingError;\n var inHeader = true;\n parser.oncue = function (cue) {\n // Adjust cue timing; clamp cues to start no earlier than - and drop cues that don't end after - 0 on timeline.\n var currCC = vttCCs[cc];\n var cueOffset = vttCCs.ccOffset;\n\n // Calculate subtitle PTS offset\n var webVttMpegTsMapOffset = (timestampMapMPEGTS - init90kHz) / 90000;\n\n // Update offsets for new discontinuities\n if (currCC != null && currCC.new) {\n if (timestampMapLOCAL !== undefined) {\n // When local time is provided, offset = discontinuity start time - local time\n cueOffset = vttCCs.ccOffset = currCC.start;\n } else {\n calculateOffset(vttCCs, cc, webVttMpegTsMapOffset);\n }\n }\n if (webVttMpegTsMapOffset) {\n if (!initPTS) {\n parsingError = new Error('Missing initPTS for VTT MPEGTS');\n return;\n }\n // If we have MPEGTS, offset = presentation time + discontinuity offset\n cueOffset = webVttMpegTsMapOffset - vttCCs.presentationOffset;\n }\n var duration = cue.endTime - cue.startTime;\n var startTime = normalizePts((cue.startTime + cueOffset - timestampMapLOCAL) * 90000, timeOffset * 90000) / 90000;\n cue.startTime = Math.max(startTime, 0);\n cue.endTime = Math.max(startTime + duration, 0);\n\n //trim trailing webvtt block whitespaces\n var text = cue.text.trim();\n\n // Fix encoding of special characters\n cue.text = decodeURIComponent(encodeURIComponent(text));\n\n // If the cue was not assigned an id from the VTT file (line above the content), create one.\n if (!cue.id) {\n cue.id = generateCueId(cue.startTime, cue.endTime, text);\n }\n if (cue.endTime > 0) {\n cues.push(cue);\n }\n };\n parser.onparsingerror = function (error) {\n parsingError = error;\n };\n parser.onflush = function () {\n if (parsingError) {\n errorCallBack(parsingError);\n return;\n }\n callBack(cues);\n };\n\n // Go through contents line by line.\n vttLines.forEach(function (line) {\n if (inHeader) {\n // Look for X-TIMESTAMP-MAP in header.\n if (startsWith(line, 'X-TIMESTAMP-MAP=')) {\n // Once found, no more are allowed anyway, so stop searching.\n inHeader = false;\n // Extract LOCAL and MPEGTS.\n line.slice(16).split(',').forEach(function (timestamp) {\n if (startsWith(timestamp, 'LOCAL:')) {\n cueTime = timestamp.slice(6);\n } else if (startsWith(timestamp, 'MPEGTS:')) {\n timestampMapMPEGTS = parseInt(timestamp.slice(7));\n }\n });\n try {\n // Convert cue time to seconds\n timestampMapLOCAL = cueString2millis(cueTime) / 1000;\n } catch (error) {\n parsingError = error;\n }\n // Return without parsing X-TIMESTAMP-MAP line.\n return;\n } else if (line === '') {\n inHeader = false;\n }\n }\n // Parse line by default.\n parser.parse(line + '\\n');\n });\n parser.flush();\n }\n\n var IMSC1_CODEC = 'stpp.ttml.im1t';\n\n // Time format: h:m:s:frames(.subframes)\n var HMSF_REGEX = /^(\\d{2,}):(\\d{2}):(\\d{2}):(\\d{2})\\.?(\\d+)?$/;\n\n // Time format: hours, minutes, seconds, milliseconds, frames, ticks\n var TIME_UNIT_REGEX = /^(\\d*(?:\\.\\d*)?)(h|m|s|ms|f|t)$/;\n var textAlignToLineAlign = {\n left: 'start',\n center: 'center',\n right: 'end',\n start: 'start',\n end: 'end'\n };\n function parseIMSC1(payload, initPTS, callBack, errorCallBack) {\n var results = findBox(new Uint8Array(payload), ['mdat']);\n if (results.length === 0) {\n errorCallBack(new Error('Could not parse IMSC1 mdat'));\n return;\n }\n var ttmlList = results.map(function (mdat) {\n return utf8ArrayToStr(mdat);\n });\n var syncTime = toTimescaleFromScale(initPTS.baseTime, 1, initPTS.timescale);\n try {\n ttmlList.forEach(function (ttml) {\n return callBack(parseTTML(ttml, syncTime));\n });\n } catch (error) {\n errorCallBack(error);\n }\n }\n function parseTTML(ttml, syncTime) {\n var parser = new DOMParser();\n var xmlDoc = parser.parseFromString(ttml, 'text/xml');\n var tt = xmlDoc.getElementsByTagName('tt')[0];\n if (!tt) {\n throw new Error('Invalid ttml');\n }\n var defaultRateInfo = {\n frameRate: 30,\n subFrameRate: 1,\n frameRateMultiplier: 0,\n tickRate: 0\n };\n var rateInfo = Object.keys(defaultRateInfo).reduce(function (result, key) {\n result[key] = tt.getAttribute(\"ttp:\" + key) || defaultRateInfo[key];\n return result;\n }, {});\n var trim = tt.getAttribute('xml:space') !== 'preserve';\n var styleElements = collectionToDictionary(getElementCollection(tt, 'styling', 'style'));\n var regionElements = collectionToDictionary(getElementCollection(tt, 'layout', 'region'));\n var cueElements = getElementCollection(tt, 'body', '[begin]');\n return [].map.call(cueElements, function (cueElement) {\n var cueText = getTextContent(cueElement, trim);\n if (!cueText || !cueElement.hasAttribute('begin')) {\n return null;\n }\n var startTime = parseTtmlTime(cueElement.getAttribute('begin'), rateInfo);\n var duration = parseTtmlTime(cueElement.getAttribute('dur'), rateInfo);\n var endTime = parseTtmlTime(cueElement.getAttribute('end'), rateInfo);\n if (startTime === null) {\n throw timestampParsingError(cueElement);\n }\n if (endTime === null) {\n if (duration === null) {\n throw timestampParsingError(cueElement);\n }\n endTime = startTime + duration;\n }\n var cue = new VTTCue(startTime - syncTime, endTime - syncTime, cueText);\n cue.id = generateCueId(cue.startTime, cue.endTime, cue.text);\n var region = regionElements[cueElement.getAttribute('region')];\n var style = styleElements[cueElement.getAttribute('style')];\n\n // Apply styles to cue\n var styles = getTtmlStyles(region, style, styleElements);\n var textAlign = styles.textAlign;\n if (textAlign) {\n // cue.positionAlign not settable in FF~2016\n var lineAlign = textAlignToLineAlign[textAlign];\n if (lineAlign) {\n cue.lineAlign = lineAlign;\n }\n cue.align = textAlign;\n }\n _extends(cue, styles);\n return cue;\n }).filter(function (cue) {\n return cue !== null;\n });\n }\n function getElementCollection(fromElement, parentName, childName) {\n var parent = fromElement.getElementsByTagName(parentName)[0];\n if (parent) {\n return [].slice.call(parent.querySelectorAll(childName));\n }\n return [];\n }\n function collectionToDictionary(elementsWithId) {\n return elementsWithId.reduce(function (dict, element) {\n var id = element.getAttribute('xml:id');\n if (id) {\n dict[id] = element;\n }\n return dict;\n }, {});\n }\n function getTextContent(element, trim) {\n return [].slice.call(element.childNodes).reduce(function (str, node, i) {\n var _node$childNodes;\n if (node.nodeName === 'br' && i) {\n return str + '\\n';\n }\n if ((_node$childNodes = node.childNodes) != null && _node$childNodes.length) {\n return getTextContent(node, trim);\n } else if (trim) {\n return str + node.textContent.trim().replace(/\\s+/g, ' ');\n }\n return str + node.textContent;\n }, '');\n }\n function getTtmlStyles(region, style, styleElements) {\n var ttsNs = 'http://www.w3.org/ns/ttml#styling';\n var regionStyle = null;\n var styleAttributes = ['displayAlign', 'textAlign', 'color', 'backgroundColor', 'fontSize', 'fontFamily'\n // 'fontWeight',\n // 'lineHeight',\n // 'wrapOption',\n // 'fontStyle',\n // 'direction',\n // 'writingMode'\n ];\n var regionStyleName = region != null && region.hasAttribute('style') ? region.getAttribute('style') : null;\n if (regionStyleName && styleElements.hasOwnProperty(regionStyleName)) {\n regionStyle = styleElements[regionStyleName];\n }\n return styleAttributes.reduce(function (styles, name) {\n var value = getAttributeNS(style, ttsNs, name) || getAttributeNS(region, ttsNs, name) || getAttributeNS(regionStyle, ttsNs, name);\n if (value) {\n styles[name] = value;\n }\n return styles;\n }, {});\n }\n function getAttributeNS(element, ns, name) {\n if (!element) {\n return null;\n }\n return element.hasAttributeNS(ns, name) ? element.getAttributeNS(ns, name) : null;\n }\n function timestampParsingError(node) {\n return new Error(\"Could not parse ttml timestamp \" + node);\n }\n function parseTtmlTime(timeAttributeValue, rateInfo) {\n if (!timeAttributeValue) {\n return null;\n }\n var seconds = parseTimeStamp(timeAttributeValue);\n if (seconds === null) {\n if (HMSF_REGEX.test(timeAttributeValue)) {\n seconds = parseHoursMinutesSecondsFrames(timeAttributeValue, rateInfo);\n } else if (TIME_UNIT_REGEX.test(timeAttributeValue)) {\n seconds = parseTimeUnits(timeAttributeValue, rateInfo);\n }\n }\n return seconds;\n }\n function parseHoursMinutesSecondsFrames(timeAttributeValue, rateInfo) {\n var m = HMSF_REGEX.exec(timeAttributeValue);\n var frames = (m[4] | 0) + (m[5] | 0) / rateInfo.subFrameRate;\n return (m[1] | 0) * 3600 + (m[2] | 0) * 60 + (m[3] | 0) + frames / rateInfo.frameRate;\n }\n function parseTimeUnits(timeAttributeValue, rateInfo) {\n var m = TIME_UNIT_REGEX.exec(timeAttributeValue);\n var value = Number(m[1]);\n var unit = m[2];\n switch (unit) {\n case 'h':\n return value * 3600;\n case 'm':\n return value * 60;\n case 'ms':\n return value * 1000;\n case 'f':\n return value / rateInfo.frameRate;\n case 't':\n return value / rateInfo.tickRate;\n }\n return value;\n }\n\n var TimelineController = /*#__PURE__*/function () {\n function TimelineController(hls) {\n this.hls = void 0;\n this.media = null;\n this.config = void 0;\n this.enabled = true;\n this.Cues = void 0;\n this.textTracks = [];\n this.tracks = [];\n this.initPTS = [];\n this.unparsedVttFrags = [];\n this.captionsTracks = {};\n this.nonNativeCaptionsTracks = {};\n this.cea608Parser1 = void 0;\n this.cea608Parser2 = void 0;\n this.lastCc = -1;\n // Last video (CEA-608) fragment CC\n this.lastSn = -1;\n // Last video (CEA-608) fragment MSN\n this.lastPartIndex = -1;\n // Last video (CEA-608) fragment Part Index\n this.prevCC = -1;\n // Last subtitle fragment CC\n this.vttCCs = newVTTCCs();\n this.captionsProperties = void 0;\n this.hls = hls;\n this.config = hls.config;\n this.Cues = hls.config.cueHandler;\n this.captionsProperties = {\n textTrack1: {\n label: this.config.captionsTextTrack1Label,\n languageCode: this.config.captionsTextTrack1LanguageCode\n },\n textTrack2: {\n label: this.config.captionsTextTrack2Label,\n languageCode: this.config.captionsTextTrack2LanguageCode\n },\n textTrack3: {\n label: this.config.captionsTextTrack3Label,\n languageCode: this.config.captionsTextTrack3LanguageCode\n },\n textTrack4: {\n label: this.config.captionsTextTrack4Label,\n languageCode: this.config.captionsTextTrack4LanguageCode\n }\n };\n hls.on(Events.MEDIA_ATTACHING, this.onMediaAttaching, this);\n hls.on(Events.MEDIA_DETACHING, this.onMediaDetaching, this);\n hls.on(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.on(Events.MANIFEST_LOADED, this.onManifestLoaded, this);\n hls.on(Events.SUBTITLE_TRACKS_UPDATED, this.onSubtitleTracksUpdated, this);\n hls.on(Events.FRAG_LOADING, this.onFragLoading, this);\n hls.on(Events.FRAG_LOADED, this.onFragLoaded, this);\n hls.on(Events.FRAG_PARSING_USERDATA, this.onFragParsingUserdata, this);\n hls.on(Events.FRAG_DECRYPTED, this.onFragDecrypted, this);\n hls.on(Events.INIT_PTS_FOUND, this.onInitPtsFound, this);\n hls.on(Events.SUBTITLE_TRACKS_CLEARED, this.onSubtitleTracksCleared, this);\n hls.on(Events.BUFFER_FLUSHING, this.onBufferFlushing, this);\n }\n var _proto = TimelineController.prototype;\n _proto.destroy = function destroy() {\n var hls = this.hls;\n hls.off(Events.MEDIA_ATTACHING, this.onMediaAttaching, this);\n hls.off(Events.MEDIA_DETACHING, this.onMediaDetaching, this);\n hls.off(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.off(Events.MANIFEST_LOADED, this.onManifestLoaded, this);\n hls.off(Events.SUBTITLE_TRACKS_UPDATED, this.onSubtitleTracksUpdated, this);\n hls.off(Events.FRAG_LOADING, this.onFragLoading, this);\n hls.off(Events.FRAG_LOADED, this.onFragLoaded, this);\n hls.off(Events.FRAG_PARSING_USERDATA, this.onFragParsingUserdata, this);\n hls.off(Events.FRAG_DECRYPTED, this.onFragDecrypted, this);\n hls.off(Events.INIT_PTS_FOUND, this.onInitPtsFound, this);\n hls.off(Events.SUBTITLE_TRACKS_CLEARED, this.onSubtitleTracksCleared, this);\n hls.off(Events.BUFFER_FLUSHING, this.onBufferFlushing, this);\n // @ts-ignore\n this.hls = this.config = null;\n this.cea608Parser1 = this.cea608Parser2 = undefined;\n };\n _proto.initCea608Parsers = function initCea608Parsers() {\n if (this.config.enableCEA708Captions && (!this.cea608Parser1 || !this.cea608Parser2)) {\n var channel1 = new OutputFilter(this, 'textTrack1');\n var channel2 = new OutputFilter(this, 'textTrack2');\n var channel3 = new OutputFilter(this, 'textTrack3');\n var channel4 = new OutputFilter(this, 'textTrack4');\n this.cea608Parser1 = new Cea608Parser(1, channel1, channel2);\n this.cea608Parser2 = new Cea608Parser(3, channel3, channel4);\n }\n };\n _proto.addCues = function addCues(trackName, startTime, endTime, screen, cueRanges) {\n // skip cues which overlap more than 50% with previously parsed time ranges\n var merged = false;\n for (var i = cueRanges.length; i--;) {\n var cueRange = cueRanges[i];\n var overlap = intersection(cueRange[0], cueRange[1], startTime, endTime);\n if (overlap >= 0) {\n cueRange[0] = Math.min(cueRange[0], startTime);\n cueRange[1] = Math.max(cueRange[1], endTime);\n merged = true;\n if (overlap / (endTime - startTime) > 0.5) {\n return;\n }\n }\n }\n if (!merged) {\n cueRanges.push([startTime, endTime]);\n }\n if (this.config.renderTextTracksNatively) {\n var track = this.captionsTracks[trackName];\n this.Cues.newCue(track, startTime, endTime, screen);\n } else {\n var cues = this.Cues.newCue(null, startTime, endTime, screen);\n this.hls.trigger(Events.CUES_PARSED, {\n type: 'captions',\n cues: cues,\n track: trackName\n });\n }\n }\n\n // Triggered when an initial PTS is found; used for synchronisation of WebVTT.\n ;\n _proto.onInitPtsFound = function onInitPtsFound(event, _ref) {\n var _this = this;\n var frag = _ref.frag,\n id = _ref.id,\n initPTS = _ref.initPTS,\n timescale = _ref.timescale;\n var unparsedVttFrags = this.unparsedVttFrags;\n if (id === 'main') {\n this.initPTS[frag.cc] = {\n baseTime: initPTS,\n timescale: timescale\n };\n }\n\n // Due to asynchronous processing, initial PTS may arrive later than the first VTT fragments are loaded.\n // Parse any unparsed fragments upon receiving the initial PTS.\n if (unparsedVttFrags.length) {\n this.unparsedVttFrags = [];\n unparsedVttFrags.forEach(function (frag) {\n _this.onFragLoaded(Events.FRAG_LOADED, frag);\n });\n }\n };\n _proto.getExistingTrack = function getExistingTrack(label, language) {\n var media = this.media;\n if (media) {\n for (var i = 0; i < media.textTracks.length; i++) {\n var textTrack = media.textTracks[i];\n if (canReuseVttTextTrack(textTrack, {\n name: label,\n lang: language,\n attrs: {}\n })) {\n return textTrack;\n }\n }\n }\n return null;\n };\n _proto.createCaptionsTrack = function createCaptionsTrack(trackName) {\n if (this.config.renderTextTracksNatively) {\n this.createNativeTrack(trackName);\n } else {\n this.createNonNativeTrack(trackName);\n }\n };\n _proto.createNativeTrack = function createNativeTrack(trackName) {\n if (this.captionsTracks[trackName]) {\n return;\n }\n var captionsProperties = this.captionsProperties,\n captionsTracks = this.captionsTracks,\n media = this.media;\n var _captionsProperties$t = captionsProperties[trackName],\n label = _captionsProperties$t.label,\n languageCode = _captionsProperties$t.languageCode;\n // Enable reuse of existing text track.\n var existingTrack = this.getExistingTrack(label, languageCode);\n if (!existingTrack) {\n var textTrack = this.createTextTrack('captions', label, languageCode);\n if (textTrack) {\n // Set a special property on the track so we know it's managed by Hls.js\n textTrack[trackName] = true;\n captionsTracks[trackName] = textTrack;\n }\n } else {\n captionsTracks[trackName] = existingTrack;\n clearCurrentCues(captionsTracks[trackName]);\n sendAddTrackEvent(captionsTracks[trackName], media);\n }\n };\n _proto.createNonNativeTrack = function createNonNativeTrack(trackName) {\n if (this.nonNativeCaptionsTracks[trackName]) {\n return;\n }\n // Create a list of a single track for the provider to consume\n var trackProperties = this.captionsProperties[trackName];\n if (!trackProperties) {\n return;\n }\n var label = trackProperties.label;\n var track = {\n _id: trackName,\n label: label,\n kind: 'captions',\n default: trackProperties.media ? !!trackProperties.media.default : false,\n closedCaptions: trackProperties.media\n };\n this.nonNativeCaptionsTracks[trackName] = track;\n this.hls.trigger(Events.NON_NATIVE_TEXT_TRACKS_FOUND, {\n tracks: [track]\n });\n };\n _proto.createTextTrack = function createTextTrack(kind, label, lang) {\n var media = this.media;\n if (!media) {\n return;\n }\n return media.addTextTrack(kind, label, lang);\n };\n _proto.onMediaAttaching = function onMediaAttaching(event, data) {\n this.media = data.media;\n this._cleanTracks();\n };\n _proto.onMediaDetaching = function onMediaDetaching() {\n var captionsTracks = this.captionsTracks;\n Object.keys(captionsTracks).forEach(function (trackName) {\n clearCurrentCues(captionsTracks[trackName]);\n delete captionsTracks[trackName];\n });\n this.nonNativeCaptionsTracks = {};\n };\n _proto.onManifestLoading = function onManifestLoading() {\n // Detect discontinuity in video fragment (CEA-608) parsing\n this.lastCc = -1;\n this.lastSn = -1;\n this.lastPartIndex = -1;\n // Detect discontinuity in subtitle manifests\n this.prevCC = -1;\n this.vttCCs = newVTTCCs();\n // Reset tracks\n this._cleanTracks();\n this.tracks = [];\n this.captionsTracks = {};\n this.nonNativeCaptionsTracks = {};\n this.textTracks = [];\n this.unparsedVttFrags = [];\n this.initPTS = [];\n if (this.cea608Parser1 && this.cea608Parser2) {\n this.cea608Parser1.reset();\n this.cea608Parser2.reset();\n }\n };\n _proto._cleanTracks = function _cleanTracks() {\n // clear outdated subtitles\n var media = this.media;\n if (!media) {\n return;\n }\n var textTracks = media.textTracks;\n if (textTracks) {\n for (var i = 0; i < textTracks.length; i++) {\n clearCurrentCues(textTracks[i]);\n }\n }\n };\n _proto.onSubtitleTracksUpdated = function onSubtitleTracksUpdated(event, data) {\n var _this2 = this;\n var tracks = data.subtitleTracks || [];\n var hasIMSC1 = tracks.some(function (track) {\n return track.textCodec === IMSC1_CODEC;\n });\n if (this.config.enableWebVTT || hasIMSC1 && this.config.enableIMSC1) {\n var listIsIdentical = subtitleOptionsIdentical(this.tracks, tracks);\n if (listIsIdentical) {\n this.tracks = tracks;\n return;\n }\n this.textTracks = [];\n this.tracks = tracks;\n if (this.config.renderTextTracksNatively) {\n var media = this.media;\n var inUseTracks = media ? filterSubtitleTracks(media.textTracks) : null;\n this.tracks.forEach(function (track, index) {\n // Reuse tracks with the same label and lang, but do not reuse 608/708 tracks\n var textTrack;\n if (inUseTracks) {\n var inUseTrack = null;\n for (var i = 0; i < inUseTracks.length; i++) {\n if (inUseTracks[i] && canReuseVttTextTrack(inUseTracks[i], track)) {\n inUseTrack = inUseTracks[i];\n inUseTracks[i] = null;\n break;\n }\n }\n if (inUseTrack) {\n textTrack = inUseTrack;\n }\n }\n if (textTrack) {\n clearCurrentCues(textTrack);\n } else {\n var textTrackKind = captionsOrSubtitlesFromCharacteristics(track);\n textTrack = _this2.createTextTrack(textTrackKind, track.name, track.lang);\n if (textTrack) {\n textTrack.mode = 'disabled';\n }\n }\n if (textTrack) {\n _this2.textTracks.push(textTrack);\n }\n });\n // Warn when video element has captions or subtitle TextTracks carried over from another source\n if (inUseTracks != null && inUseTracks.length) {\n var unusedTextTracks = inUseTracks.filter(function (t) {\n return t !== null;\n }).map(function (t) {\n return t.label;\n });\n if (unusedTextTracks.length) {\n logger.warn(\"Media element contains unused subtitle tracks: \" + unusedTextTracks.join(', ') + \". Replace media element for each source to clear TextTracks and captions menu.\");\n }\n }\n } else if (this.tracks.length) {\n // Create a list of tracks for the provider to consume\n var tracksList = this.tracks.map(function (track) {\n return {\n label: track.name,\n kind: track.type.toLowerCase(),\n default: track.default,\n subtitleTrack: track\n };\n });\n this.hls.trigger(Events.NON_NATIVE_TEXT_TRACKS_FOUND, {\n tracks: tracksList\n });\n }\n }\n };\n _proto.onManifestLoaded = function onManifestLoaded(event, data) {\n var _this3 = this;\n if (this.config.enableCEA708Captions && data.captions) {\n data.captions.forEach(function (captionsTrack) {\n var instreamIdMatch = /(?:CC|SERVICE)([1-4])/.exec(captionsTrack.instreamId);\n if (!instreamIdMatch) {\n return;\n }\n var trackName = \"textTrack\" + instreamIdMatch[1];\n var trackProperties = _this3.captionsProperties[trackName];\n if (!trackProperties) {\n return;\n }\n trackProperties.label = captionsTrack.name;\n if (captionsTrack.lang) {\n // optional attribute\n trackProperties.languageCode = captionsTrack.lang;\n }\n trackProperties.media = captionsTrack;\n });\n }\n };\n _proto.closedCaptionsForLevel = function closedCaptionsForLevel(frag) {\n var level = this.hls.levels[frag.level];\n return level == null ? void 0 : level.attrs['CLOSED-CAPTIONS'];\n };\n _proto.onFragLoading = function onFragLoading(event, data) {\n this.initCea608Parsers();\n var cea608Parser1 = this.cea608Parser1,\n cea608Parser2 = this.cea608Parser2,\n lastCc = this.lastCc,\n lastSn = this.lastSn,\n lastPartIndex = this.lastPartIndex;\n if (!this.enabled || !cea608Parser1 || !cea608Parser2) {\n return;\n }\n // if this frag isn't contiguous, clear the parser so cues with bad start/end times aren't added to the textTrack\n if (data.frag.type === PlaylistLevelType.MAIN) {\n var _data$part$index, _data$part;\n var _data$frag = data.frag,\n cc = _data$frag.cc,\n sn = _data$frag.sn;\n var partIndex = (_data$part$index = data == null ? void 0 : (_data$part = data.part) == null ? void 0 : _data$part.index) != null ? _data$part$index : -1;\n if (!(sn === lastSn + 1 || sn === lastSn && partIndex === lastPartIndex + 1 || cc === lastCc)) {\n cea608Parser1.reset();\n cea608Parser2.reset();\n }\n this.lastCc = cc;\n this.lastSn = sn;\n this.lastPartIndex = partIndex;\n }\n };\n _proto.onFragLoaded = function onFragLoaded(event, data) {\n var frag = data.frag,\n payload = data.payload;\n if (frag.type === PlaylistLevelType.SUBTITLE) {\n // If fragment is subtitle type, parse as WebVTT.\n if (payload.byteLength) {\n var decryptData = frag.decryptdata;\n // fragment after decryption has a stats object\n var decrypted = ('stats' in data);\n // If the subtitles are not encrypted, parse VTTs now. Otherwise, we need to wait.\n if (decryptData == null || !decryptData.encrypted || decrypted) {\n var trackPlaylistMedia = this.tracks[frag.level];\n var vttCCs = this.vttCCs;\n if (!vttCCs[frag.cc]) {\n vttCCs[frag.cc] = {\n start: frag.start,\n prevCC: this.prevCC,\n new: true\n };\n this.prevCC = frag.cc;\n }\n if (trackPlaylistMedia && trackPlaylistMedia.textCodec === IMSC1_CODEC) {\n this._parseIMSC1(frag, payload);\n } else {\n this._parseVTTs(data);\n }\n }\n } else {\n // In case there is no payload, finish unsuccessfully.\n this.hls.trigger(Events.SUBTITLE_FRAG_PROCESSED, {\n success: false,\n frag: frag,\n error: new Error('Empty subtitle payload')\n });\n }\n }\n };\n _proto._parseIMSC1 = function _parseIMSC1(frag, payload) {\n var _this4 = this;\n var hls = this.hls;\n parseIMSC1(payload, this.initPTS[frag.cc], function (cues) {\n _this4._appendCues(cues, frag.level);\n hls.trigger(Events.SUBTITLE_FRAG_PROCESSED, {\n success: true,\n frag: frag\n });\n }, function (error) {\n logger.log(\"Failed to parse IMSC1: \" + error);\n hls.trigger(Events.SUBTITLE_FRAG_PROCESSED, {\n success: false,\n frag: frag,\n error: error\n });\n });\n };\n _proto._parseVTTs = function _parseVTTs(data) {\n var _frag$initSegment,\n _this5 = this;\n var frag = data.frag,\n payload = data.payload;\n // We need an initial synchronisation PTS. Store fragments as long as none has arrived\n var initPTS = this.initPTS,\n unparsedVttFrags = this.unparsedVttFrags;\n var maxAvCC = initPTS.length - 1;\n if (!initPTS[frag.cc] && maxAvCC === -1) {\n unparsedVttFrags.push(data);\n return;\n }\n var hls = this.hls;\n // Parse the WebVTT file contents.\n var payloadWebVTT = (_frag$initSegment = frag.initSegment) != null && _frag$initSegment.data ? appendUint8Array(frag.initSegment.data, new Uint8Array(payload)) : payload;\n parseWebVTT(payloadWebVTT, this.initPTS[frag.cc], this.vttCCs, frag.cc, frag.start, function (cues) {\n _this5._appendCues(cues, frag.level);\n hls.trigger(Events.SUBTITLE_FRAG_PROCESSED, {\n success: true,\n frag: frag\n });\n }, function (error) {\n var missingInitPTS = error.message === 'Missing initPTS for VTT MPEGTS';\n if (missingInitPTS) {\n unparsedVttFrags.push(data);\n } else {\n _this5._fallbackToIMSC1(frag, payload);\n }\n // Something went wrong while parsing. Trigger event with success false.\n logger.log(\"Failed to parse VTT cue: \" + error);\n if (missingInitPTS && maxAvCC > frag.cc) {\n return;\n }\n hls.trigger(Events.SUBTITLE_FRAG_PROCESSED, {\n success: false,\n frag: frag,\n error: error\n });\n });\n };\n _proto._fallbackToIMSC1 = function _fallbackToIMSC1(frag, payload) {\n var _this6 = this;\n // If textCodec is unknown, try parsing as IMSC1. Set textCodec based on the result\n var trackPlaylistMedia = this.tracks[frag.level];\n if (!trackPlaylistMedia.textCodec) {\n parseIMSC1(payload, this.initPTS[frag.cc], function () {\n trackPlaylistMedia.textCodec = IMSC1_CODEC;\n _this6._parseIMSC1(frag, payload);\n }, function () {\n trackPlaylistMedia.textCodec = 'wvtt';\n });\n }\n };\n _proto._appendCues = function _appendCues(cues, fragLevel) {\n var hls = this.hls;\n if (this.config.renderTextTracksNatively) {\n var textTrack = this.textTracks[fragLevel];\n // WebVTTParser.parse is an async method and if the currently selected text track mode is set to \"disabled\"\n // before parsing is done then don't try to access currentTrack.cues.getCueById as cues will be null\n // and trying to access getCueById method of cues will throw an exception\n // Because we check if the mode is disabled, we can force check `cues` below. They can't be null.\n if (!textTrack || textTrack.mode === 'disabled') {\n return;\n }\n cues.forEach(function (cue) {\n return addCueToTrack(textTrack, cue);\n });\n } else {\n var currentTrack = this.tracks[fragLevel];\n if (!currentTrack) {\n return;\n }\n var track = currentTrack.default ? 'default' : 'subtitles' + fragLevel;\n hls.trigger(Events.CUES_PARSED, {\n type: 'subtitles',\n cues: cues,\n track: track\n });\n }\n };\n _proto.onFragDecrypted = function onFragDecrypted(event, data) {\n var frag = data.frag;\n if (frag.type === PlaylistLevelType.SUBTITLE) {\n this.onFragLoaded(Events.FRAG_LOADED, data);\n }\n };\n _proto.onSubtitleTracksCleared = function onSubtitleTracksCleared() {\n this.tracks = [];\n this.captionsTracks = {};\n };\n _proto.onFragParsingUserdata = function onFragParsingUserdata(event, data) {\n this.initCea608Parsers();\n var cea608Parser1 = this.cea608Parser1,\n cea608Parser2 = this.cea608Parser2;\n if (!this.enabled || !cea608Parser1 || !cea608Parser2) {\n return;\n }\n var frag = data.frag,\n samples = data.samples;\n if (frag.type === PlaylistLevelType.MAIN && this.closedCaptionsForLevel(frag) === 'NONE') {\n return;\n }\n // If the event contains captions (found in the bytes property), push all bytes into the parser immediately\n // It will create the proper timestamps based on the PTS value\n for (var i = 0; i < samples.length; i++) {\n var ccBytes = samples[i].bytes;\n if (ccBytes) {\n var ccdatas = this.extractCea608Data(ccBytes);\n cea608Parser1.addData(samples[i].pts, ccdatas[0]);\n cea608Parser2.addData(samples[i].pts, ccdatas[1]);\n }\n }\n };\n _proto.onBufferFlushing = function onBufferFlushing(event, _ref2) {\n var startOffset = _ref2.startOffset,\n endOffset = _ref2.endOffset,\n endOffsetSubtitles = _ref2.endOffsetSubtitles,\n type = _ref2.type;\n var media = this.media;\n if (!media || media.currentTime < endOffset) {\n return;\n }\n // Clear 608 caption cues from the captions TextTracks when the video back buffer is flushed\n // Forward cues are never removed because we can loose streamed 608 content from recent fragments\n if (!type || type === 'video') {\n var captionsTracks = this.captionsTracks;\n Object.keys(captionsTracks).forEach(function (trackName) {\n return removeCuesInRange(captionsTracks[trackName], startOffset, endOffset);\n });\n }\n if (this.config.renderTextTracksNatively) {\n // Clear VTT/IMSC1 subtitle cues from the subtitle TextTracks when the back buffer is flushed\n if (startOffset === 0 && endOffsetSubtitles !== undefined) {\n var textTracks = this.textTracks;\n Object.keys(textTracks).forEach(function (trackName) {\n return removeCuesInRange(textTracks[trackName], startOffset, endOffsetSubtitles);\n });\n }\n }\n };\n _proto.extractCea608Data = function extractCea608Data(byteArray) {\n var actualCCBytes = [[], []];\n var count = byteArray[0] & 0x1f;\n var position = 2;\n for (var j = 0; j < count; j++) {\n var tmpByte = byteArray[position++];\n var ccbyte1 = 0x7f & byteArray[position++];\n var ccbyte2 = 0x7f & byteArray[position++];\n if (ccbyte1 === 0 && ccbyte2 === 0) {\n continue;\n }\n var ccValid = (0x04 & tmpByte) !== 0; // Support all four channels\n if (ccValid) {\n var ccType = 0x03 & tmpByte;\n if (0x00 /* CEA608 field1*/ === ccType || 0x01 /* CEA608 field2*/ === ccType) {\n // Exclude CEA708 CC data.\n actualCCBytes[ccType].push(ccbyte1);\n actualCCBytes[ccType].push(ccbyte2);\n }\n }\n }\n return actualCCBytes;\n };\n return TimelineController;\n }();\n function captionsOrSubtitlesFromCharacteristics(track) {\n if (track.characteristics) {\n if (/transcribes-spoken-dialog/gi.test(track.characteristics) && /describes-music-and-sound/gi.test(track.characteristics)) {\n return 'captions';\n }\n }\n return 'subtitles';\n }\n function canReuseVttTextTrack(inUseTrack, manifestTrack) {\n return !!inUseTrack && inUseTrack.kind === captionsOrSubtitlesFromCharacteristics(manifestTrack) && subtitleTrackMatchesTextTrack(manifestTrack, inUseTrack);\n }\n function intersection(x1, x2, y1, y2) {\n return Math.min(x2, y2) - Math.max(x1, y1);\n }\n function newVTTCCs() {\n return {\n ccOffset: 0,\n presentationOffset: 0,\n 0: {\n start: 0,\n prevCC: -1,\n new: true\n }\n };\n }\n\n var CapLevelController = /*#__PURE__*/function () {\n function CapLevelController(hls) {\n this.hls = void 0;\n this.autoLevelCapping = void 0;\n this.firstLevel = void 0;\n this.media = void 0;\n this.restrictedLevels = void 0;\n this.timer = void 0;\n this.clientRect = void 0;\n this.streamController = void 0;\n this.hls = hls;\n this.autoLevelCapping = Number.POSITIVE_INFINITY;\n this.firstLevel = -1;\n this.media = null;\n this.restrictedLevels = [];\n this.timer = undefined;\n this.clientRect = null;\n this.registerListeners();\n }\n var _proto = CapLevelController.prototype;\n _proto.setStreamController = function setStreamController(streamController) {\n this.streamController = streamController;\n };\n _proto.destroy = function destroy() {\n if (this.hls) {\n this.unregisterListener();\n }\n if (this.timer) {\n this.stopCapping();\n }\n this.media = null;\n this.clientRect = null;\n // @ts-ignore\n this.hls = this.streamController = null;\n };\n _proto.registerListeners = function registerListeners() {\n var hls = this.hls;\n hls.on(Events.FPS_DROP_LEVEL_CAPPING, this.onFpsDropLevelCapping, this);\n hls.on(Events.MEDIA_ATTACHING, this.onMediaAttaching, this);\n hls.on(Events.MANIFEST_PARSED, this.onManifestParsed, this);\n hls.on(Events.LEVELS_UPDATED, this.onLevelsUpdated, this);\n hls.on(Events.BUFFER_CODECS, this.onBufferCodecs, this);\n hls.on(Events.MEDIA_DETACHING, this.onMediaDetaching, this);\n };\n _proto.unregisterListener = function unregisterListener() {\n var hls = this.hls;\n hls.off(Events.FPS_DROP_LEVEL_CAPPING, this.onFpsDropLevelCapping, this);\n hls.off(Events.MEDIA_ATTACHING, this.onMediaAttaching, this);\n hls.off(Events.MANIFEST_PARSED, this.onManifestParsed, this);\n hls.off(Events.LEVELS_UPDATED, this.onLevelsUpdated, this);\n hls.off(Events.BUFFER_CODECS, this.onBufferCodecs, this);\n hls.off(Events.MEDIA_DETACHING, this.onMediaDetaching, this);\n };\n _proto.onFpsDropLevelCapping = function onFpsDropLevelCapping(event, data) {\n // Don't add a restricted level more than once\n var level = this.hls.levels[data.droppedLevel];\n if (this.isLevelAllowed(level)) {\n this.restrictedLevels.push({\n bitrate: level.bitrate,\n height: level.height,\n width: level.width\n });\n }\n };\n _proto.onMediaAttaching = function onMediaAttaching(event, data) {\n this.media = data.media instanceof HTMLVideoElement ? data.media : null;\n this.clientRect = null;\n if (this.timer && this.hls.levels.length) {\n this.detectPlayerSize();\n }\n };\n _proto.onManifestParsed = function onManifestParsed(event, data) {\n var hls = this.hls;\n this.restrictedLevels = [];\n this.firstLevel = data.firstLevel;\n if (hls.config.capLevelToPlayerSize && data.video) {\n // Start capping immediately if the manifest has signaled video codecs\n this.startCapping();\n }\n };\n _proto.onLevelsUpdated = function onLevelsUpdated(event, data) {\n if (this.timer && isFiniteNumber(this.autoLevelCapping)) {\n this.detectPlayerSize();\n }\n }\n\n // Only activate capping when playing a video stream; otherwise, multi-bitrate audio-only streams will be restricted\n // to the first level\n ;\n _proto.onBufferCodecs = function onBufferCodecs(event, data) {\n var hls = this.hls;\n if (hls.config.capLevelToPlayerSize && data.video) {\n // If the manifest did not signal a video codec capping has been deferred until we're certain video is present\n this.startCapping();\n }\n };\n _proto.onMediaDetaching = function onMediaDetaching() {\n this.stopCapping();\n };\n _proto.detectPlayerSize = function detectPlayerSize() {\n if (this.media) {\n if (this.mediaHeight <= 0 || this.mediaWidth <= 0) {\n this.clientRect = null;\n return;\n }\n var levels = this.hls.levels;\n if (levels.length) {\n var hls = this.hls;\n var maxLevel = this.getMaxLevel(levels.length - 1);\n if (maxLevel !== this.autoLevelCapping) {\n logger.log(\"Setting autoLevelCapping to \" + maxLevel + \": \" + levels[maxLevel].height + \"p@\" + levels[maxLevel].bitrate + \" for media \" + this.mediaWidth + \"x\" + this.mediaHeight);\n }\n hls.autoLevelCapping = maxLevel;\n if (hls.autoLevelCapping > this.autoLevelCapping && this.streamController) {\n // if auto level capping has a higher value for the previous one, flush the buffer using nextLevelSwitch\n // usually happen when the user go to the fullscreen mode.\n this.streamController.nextLevelSwitch();\n }\n this.autoLevelCapping = hls.autoLevelCapping;\n }\n }\n }\n\n /*\n * returns level should be the one with the dimensions equal or greater than the media (player) dimensions (so the video will be downscaled)\n */;\n _proto.getMaxLevel = function getMaxLevel(capLevelIndex) {\n var _this = this;\n var levels = this.hls.levels;\n if (!levels.length) {\n return -1;\n }\n var validLevels = levels.filter(function (level, index) {\n return _this.isLevelAllowed(level) && index <= capLevelIndex;\n });\n this.clientRect = null;\n return CapLevelController.getMaxLevelByMediaSize(validLevels, this.mediaWidth, this.mediaHeight);\n };\n _proto.startCapping = function startCapping() {\n if (this.timer) {\n // Don't reset capping if started twice; this can happen if the manifest signals a video codec\n return;\n }\n this.autoLevelCapping = Number.POSITIVE_INFINITY;\n self.clearInterval(this.timer);\n this.timer = self.setInterval(this.detectPlayerSize.bind(this), 1000);\n this.detectPlayerSize();\n };\n _proto.stopCapping = function stopCapping() {\n this.restrictedLevels = [];\n this.firstLevel = -1;\n this.autoLevelCapping = Number.POSITIVE_INFINITY;\n if (this.timer) {\n self.clearInterval(this.timer);\n this.timer = undefined;\n }\n };\n _proto.getDimensions = function getDimensions() {\n if (this.clientRect) {\n return this.clientRect;\n }\n var media = this.media;\n var boundsRect = {\n width: 0,\n height: 0\n };\n if (media) {\n var clientRect = media.getBoundingClientRect();\n boundsRect.width = clientRect.width;\n boundsRect.height = clientRect.height;\n if (!boundsRect.width && !boundsRect.height) {\n // When the media element has no width or height (equivalent to not being in the DOM),\n // then use its width and height attributes (media.width, media.height)\n boundsRect.width = clientRect.right - clientRect.left || media.width || 0;\n boundsRect.height = clientRect.bottom - clientRect.top || media.height || 0;\n }\n }\n this.clientRect = boundsRect;\n return boundsRect;\n };\n _proto.isLevelAllowed = function isLevelAllowed(level) {\n var restrictedLevels = this.restrictedLevels;\n return !restrictedLevels.some(function (restrictedLevel) {\n return level.bitrate === restrictedLevel.bitrate && level.width === restrictedLevel.width && level.height === restrictedLevel.height;\n });\n };\n CapLevelController.getMaxLevelByMediaSize = function getMaxLevelByMediaSize(levels, width, height) {\n if (!(levels != null && levels.length)) {\n return -1;\n }\n\n // Levels can have the same dimensions but differing bandwidths - since levels are ordered, we can look to the next\n // to determine whether we've chosen the greatest bandwidth for the media's dimensions\n var atGreatestBandwidth = function atGreatestBandwidth(curLevel, nextLevel) {\n if (!nextLevel) {\n return true;\n }\n return curLevel.width !== nextLevel.width || curLevel.height !== nextLevel.height;\n };\n\n // If we run through the loop without breaking, the media's dimensions are greater than every level, so default to\n // the max level\n var maxLevelIndex = levels.length - 1;\n // Prevent changes in aspect-ratio from causing capping to toggle back and forth\n var squareSize = Math.max(width, height);\n for (var i = 0; i < levels.length; i += 1) {\n var level = levels[i];\n if ((level.width >= squareSize || level.height >= squareSize) && atGreatestBandwidth(level, levels[i + 1])) {\n maxLevelIndex = i;\n break;\n }\n }\n return maxLevelIndex;\n };\n _createClass(CapLevelController, [{\n key: \"mediaWidth\",\n get: function get() {\n return this.getDimensions().width * this.contentScaleFactor;\n }\n }, {\n key: \"mediaHeight\",\n get: function get() {\n return this.getDimensions().height * this.contentScaleFactor;\n }\n }, {\n key: \"contentScaleFactor\",\n get: function get() {\n var pixelRatio = 1;\n if (!this.hls.config.ignoreDevicePixelRatio) {\n try {\n pixelRatio = self.devicePixelRatio;\n } catch (e) {\n /* no-op */\n }\n }\n return pixelRatio;\n }\n }]);\n return CapLevelController;\n }();\n\n var FPSController = /*#__PURE__*/function () {\n function FPSController(hls) {\n this.hls = void 0;\n this.isVideoPlaybackQualityAvailable = false;\n this.timer = void 0;\n this.media = null;\n this.lastTime = void 0;\n this.lastDroppedFrames = 0;\n this.lastDecodedFrames = 0;\n // stream controller must be provided as a dependency!\n this.streamController = void 0;\n this.hls = hls;\n this.registerListeners();\n }\n var _proto = FPSController.prototype;\n _proto.setStreamController = function setStreamController(streamController) {\n this.streamController = streamController;\n };\n _proto.registerListeners = function registerListeners() {\n this.hls.on(Events.MEDIA_ATTACHING, this.onMediaAttaching, this);\n };\n _proto.unregisterListeners = function unregisterListeners() {\n this.hls.off(Events.MEDIA_ATTACHING, this.onMediaAttaching, this);\n };\n _proto.destroy = function destroy() {\n if (this.timer) {\n clearInterval(this.timer);\n }\n this.unregisterListeners();\n this.isVideoPlaybackQualityAvailable = false;\n this.media = null;\n };\n _proto.onMediaAttaching = function onMediaAttaching(event, data) {\n var config = this.hls.config;\n if (config.capLevelOnFPSDrop) {\n var media = data.media instanceof self.HTMLVideoElement ? data.media : null;\n this.media = media;\n if (media && typeof media.getVideoPlaybackQuality === 'function') {\n this.isVideoPlaybackQualityAvailable = true;\n }\n self.clearInterval(this.timer);\n this.timer = self.setInterval(this.checkFPSInterval.bind(this), config.fpsDroppedMonitoringPeriod);\n }\n };\n _proto.checkFPS = function checkFPS(video, decodedFrames, droppedFrames) {\n var currentTime = performance.now();\n if (decodedFrames) {\n if (this.lastTime) {\n var currentPeriod = currentTime - this.lastTime;\n var currentDropped = droppedFrames - this.lastDroppedFrames;\n var currentDecoded = decodedFrames - this.lastDecodedFrames;\n var droppedFPS = 1000 * currentDropped / currentPeriod;\n var hls = this.hls;\n hls.trigger(Events.FPS_DROP, {\n currentDropped: currentDropped,\n currentDecoded: currentDecoded,\n totalDroppedFrames: droppedFrames\n });\n if (droppedFPS > 0) {\n // logger.log('checkFPS : droppedFPS/decodedFPS:' + droppedFPS/(1000 * currentDecoded / currentPeriod));\n if (currentDropped > hls.config.fpsDroppedMonitoringThreshold * currentDecoded) {\n var currentLevel = hls.currentLevel;\n logger.warn('drop FPS ratio greater than max allowed value for currentLevel: ' + currentLevel);\n if (currentLevel > 0 && (hls.autoLevelCapping === -1 || hls.autoLevelCapping >= currentLevel)) {\n currentLevel = currentLevel - 1;\n hls.trigger(Events.FPS_DROP_LEVEL_CAPPING, {\n level: currentLevel,\n droppedLevel: hls.currentLevel\n });\n hls.autoLevelCapping = currentLevel;\n this.streamController.nextLevelSwitch();\n }\n }\n }\n }\n this.lastTime = currentTime;\n this.lastDroppedFrames = droppedFrames;\n this.lastDecodedFrames = decodedFrames;\n }\n };\n _proto.checkFPSInterval = function checkFPSInterval() {\n var video = this.media;\n if (video) {\n if (this.isVideoPlaybackQualityAvailable) {\n var videoPlaybackQuality = video.getVideoPlaybackQuality();\n this.checkFPS(video, videoPlaybackQuality.totalVideoFrames, videoPlaybackQuality.droppedVideoFrames);\n } else {\n // HTMLVideoElement doesn't include the webkit types\n this.checkFPS(video, video.webkitDecodedFrameCount, video.webkitDroppedFrameCount);\n }\n }\n };\n return FPSController;\n }();\n\n var LOGGER_PREFIX = '[eme]';\n /**\n * Controller to deal with encrypted media extensions (EME)\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Encrypted_Media_Extensions_API\n *\n * @class\n * @constructor\n */\n var EMEController = /*#__PURE__*/function () {\n function EMEController(hls) {\n this.hls = void 0;\n this.config = void 0;\n this.media = null;\n this.keyFormatPromise = null;\n this.keySystemAccessPromises = {};\n this._requestLicenseFailureCount = 0;\n this.mediaKeySessions = [];\n this.keyIdToKeySessionPromise = {};\n this.setMediaKeysQueue = EMEController.CDMCleanupPromise ? [EMEController.CDMCleanupPromise] : [];\n this.onMediaEncrypted = this._onMediaEncrypted.bind(this);\n this.onWaitingForKey = this._onWaitingForKey.bind(this);\n this.debug = logger.debug.bind(logger, LOGGER_PREFIX);\n this.log = logger.log.bind(logger, LOGGER_PREFIX);\n this.warn = logger.warn.bind(logger, LOGGER_PREFIX);\n this.error = logger.error.bind(logger, LOGGER_PREFIX);\n this.hls = hls;\n this.config = hls.config;\n this.registerListeners();\n }\n var _proto = EMEController.prototype;\n _proto.destroy = function destroy() {\n this.unregisterListeners();\n this.onMediaDetached();\n // Remove any references that could be held in config options or callbacks\n var config = this.config;\n config.requestMediaKeySystemAccessFunc = null;\n config.licenseXhrSetup = config.licenseResponseCallback = undefined;\n config.drmSystems = config.drmSystemOptions = {};\n // @ts-ignore\n this.hls = this.onMediaEncrypted = this.onWaitingForKey = this.keyIdToKeySessionPromise = null;\n // @ts-ignore\n this.config = null;\n };\n _proto.registerListeners = function registerListeners() {\n this.hls.on(Events.MEDIA_ATTACHED, this.onMediaAttached, this);\n this.hls.on(Events.MEDIA_DETACHED, this.onMediaDetached, this);\n this.hls.on(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n this.hls.on(Events.MANIFEST_LOADED, this.onManifestLoaded, this);\n };\n _proto.unregisterListeners = function unregisterListeners() {\n this.hls.off(Events.MEDIA_ATTACHED, this.onMediaAttached, this);\n this.hls.off(Events.MEDIA_DETACHED, this.onMediaDetached, this);\n this.hls.off(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n this.hls.off(Events.MANIFEST_LOADED, this.onManifestLoaded, this);\n };\n _proto.getLicenseServerUrl = function getLicenseServerUrl(keySystem) {\n var _this$config = this.config,\n drmSystems = _this$config.drmSystems,\n widevineLicenseUrl = _this$config.widevineLicenseUrl;\n var keySystemConfiguration = drmSystems[keySystem];\n if (keySystemConfiguration) {\n return keySystemConfiguration.licenseUrl;\n }\n\n // For backward compatibility\n if (keySystem === KeySystems.WIDEVINE && widevineLicenseUrl) {\n return widevineLicenseUrl;\n }\n throw new Error(\"no license server URL configured for key-system \\\"\" + keySystem + \"\\\"\");\n };\n _proto.getServerCertificateUrl = function getServerCertificateUrl(keySystem) {\n var drmSystems = this.config.drmSystems;\n var keySystemConfiguration = drmSystems[keySystem];\n if (keySystemConfiguration) {\n return keySystemConfiguration.serverCertificateUrl;\n } else {\n this.log(\"No Server Certificate in config.drmSystems[\\\"\" + keySystem + \"\\\"]\");\n }\n };\n _proto.attemptKeySystemAccess = function attemptKeySystemAccess(keySystemsToAttempt) {\n var _this = this;\n var levels = this.hls.levels;\n var uniqueCodec = function uniqueCodec(value, i, a) {\n return !!value && a.indexOf(value) === i;\n };\n var audioCodecs = levels.map(function (level) {\n return level.audioCodec;\n }).filter(uniqueCodec);\n var videoCodecs = levels.map(function (level) {\n return level.videoCodec;\n }).filter(uniqueCodec);\n if (audioCodecs.length + videoCodecs.length === 0) {\n videoCodecs.push('avc1.42e01e');\n }\n return new Promise(function (resolve, reject) {\n var attempt = function attempt(keySystems) {\n var keySystem = keySystems.shift();\n _this.getMediaKeysPromise(keySystem, audioCodecs, videoCodecs).then(function (mediaKeys) {\n return resolve({\n keySystem: keySystem,\n mediaKeys: mediaKeys\n });\n }).catch(function (error) {\n if (keySystems.length) {\n attempt(keySystems);\n } else if (error instanceof EMEKeyError) {\n reject(error);\n } else {\n reject(new EMEKeyError({\n type: ErrorTypes.KEY_SYSTEM_ERROR,\n details: ErrorDetails.KEY_SYSTEM_NO_ACCESS,\n error: error,\n fatal: true\n }, error.message));\n }\n });\n };\n attempt(keySystemsToAttempt);\n });\n };\n _proto.requestMediaKeySystemAccess = function requestMediaKeySystemAccess$1(keySystem, supportedConfigurations) {\n var requestMediaKeySystemAccessFunc = this.config.requestMediaKeySystemAccessFunc;\n if (!(typeof requestMediaKeySystemAccessFunc === 'function')) {\n var errMessage = \"Configured requestMediaKeySystemAccess is not a function \" + requestMediaKeySystemAccessFunc;\n if (requestMediaKeySystemAccess === null && self.location.protocol === 'http:') {\n errMessage = \"navigator.requestMediaKeySystemAccess is not available over insecure protocol \" + location.protocol;\n }\n return Promise.reject(new Error(errMessage));\n }\n return requestMediaKeySystemAccessFunc(keySystem, supportedConfigurations);\n };\n _proto.getMediaKeysPromise = function getMediaKeysPromise(keySystem, audioCodecs, videoCodecs) {\n var _this2 = this;\n // This can throw, but is caught in event handler callpath\n var mediaKeySystemConfigs = getSupportedMediaKeySystemConfigurations(keySystem, audioCodecs, videoCodecs, this.config.drmSystemOptions);\n var keySystemAccessPromises = this.keySystemAccessPromises[keySystem];\n var keySystemAccess = keySystemAccessPromises == null ? void 0 : keySystemAccessPromises.keySystemAccess;\n if (!keySystemAccess) {\n this.log(\"Requesting encrypted media \\\"\" + keySystem + \"\\\" key-system access with config: \" + JSON.stringify(mediaKeySystemConfigs));\n keySystemAccess = this.requestMediaKeySystemAccess(keySystem, mediaKeySystemConfigs);\n var _keySystemAccessPromises = this.keySystemAccessPromises[keySystem] = {\n keySystemAccess: keySystemAccess\n };\n keySystemAccess.catch(function (error) {\n _this2.log(\"Failed to obtain access to key-system \\\"\" + keySystem + \"\\\": \" + error);\n });\n return keySystemAccess.then(function (mediaKeySystemAccess) {\n _this2.log(\"Access for key-system \\\"\" + mediaKeySystemAccess.keySystem + \"\\\" obtained\");\n var certificateRequest = _this2.fetchServerCertificate(keySystem);\n _this2.log(\"Create media-keys for \\\"\" + keySystem + \"\\\"\");\n _keySystemAccessPromises.mediaKeys = mediaKeySystemAccess.createMediaKeys().then(function (mediaKeys) {\n _this2.log(\"Media-keys created for \\\"\" + keySystem + \"\\\"\");\n return certificateRequest.then(function (certificate) {\n if (certificate) {\n return _this2.setMediaKeysServerCertificate(mediaKeys, keySystem, certificate);\n }\n return mediaKeys;\n });\n });\n _keySystemAccessPromises.mediaKeys.catch(function (error) {\n _this2.error(\"Failed to create media-keys for \\\"\" + keySystem + \"\\\"}: \" + error);\n });\n return _keySystemAccessPromises.mediaKeys;\n });\n }\n return keySystemAccess.then(function () {\n return keySystemAccessPromises.mediaKeys;\n });\n };\n _proto.createMediaKeySessionContext = function createMediaKeySessionContext(_ref) {\n var decryptdata = _ref.decryptdata,\n keySystem = _ref.keySystem,\n mediaKeys = _ref.mediaKeys;\n this.log(\"Creating key-system session \\\"\" + keySystem + \"\\\" keyId: \" + Hex.hexDump(decryptdata.keyId || []));\n var mediaKeysSession = mediaKeys.createSession();\n var mediaKeySessionContext = {\n decryptdata: decryptdata,\n keySystem: keySystem,\n mediaKeys: mediaKeys,\n mediaKeysSession: mediaKeysSession,\n keyStatus: 'status-pending'\n };\n this.mediaKeySessions.push(mediaKeySessionContext);\n return mediaKeySessionContext;\n };\n _proto.renewKeySession = function renewKeySession(mediaKeySessionContext) {\n var decryptdata = mediaKeySessionContext.decryptdata;\n if (decryptdata.pssh) {\n var keySessionContext = this.createMediaKeySessionContext(mediaKeySessionContext);\n var _keyId = this.getKeyIdString(decryptdata);\n var scheme = 'cenc';\n this.keyIdToKeySessionPromise[_keyId] = this.generateRequestWithPreferredKeySession(keySessionContext, scheme, decryptdata.pssh, 'expired');\n } else {\n this.warn(\"Could not renew expired session. Missing pssh initData.\");\n }\n this.removeSession(mediaKeySessionContext);\n };\n _proto.getKeyIdString = function getKeyIdString(decryptdata) {\n if (!decryptdata) {\n throw new Error('Could not read keyId of undefined decryptdata');\n }\n if (decryptdata.keyId === null) {\n throw new Error('keyId is null');\n }\n return Hex.hexDump(decryptdata.keyId);\n };\n _proto.updateKeySession = function updateKeySession(mediaKeySessionContext, data) {\n var _mediaKeySessionConte;\n var keySession = mediaKeySessionContext.mediaKeysSession;\n this.log(\"Updating key-session \\\"\" + keySession.sessionId + \"\\\" for keyID \" + Hex.hexDump(((_mediaKeySessionConte = mediaKeySessionContext.decryptdata) == null ? void 0 : _mediaKeySessionConte.keyId) || []) + \"\\n } (data length: \" + (data ? data.byteLength : data) + \")\");\n return keySession.update(data);\n };\n _proto.selectKeySystemFormat = function selectKeySystemFormat(frag) {\n var keyFormats = Object.keys(frag.levelkeys || {});\n if (!this.keyFormatPromise) {\n this.log(\"Selecting key-system from fragment (sn: \" + frag.sn + \" \" + frag.type + \": \" + frag.level + \") key formats \" + keyFormats.join(', '));\n this.keyFormatPromise = this.getKeyFormatPromise(keyFormats);\n }\n return this.keyFormatPromise;\n };\n _proto.getKeyFormatPromise = function getKeyFormatPromise(keyFormats) {\n var _this3 = this;\n return new Promise(function (resolve, reject) {\n var keySystemsInConfig = getKeySystemsForConfig(_this3.config);\n var keySystemsToAttempt = keyFormats.map(keySystemFormatToKeySystemDomain).filter(function (value) {\n return !!value && keySystemsInConfig.indexOf(value) !== -1;\n });\n return _this3.getKeySystemSelectionPromise(keySystemsToAttempt).then(function (_ref2) {\n var keySystem = _ref2.keySystem;\n var keySystemFormat = keySystemDomainToKeySystemFormat(keySystem);\n if (keySystemFormat) {\n resolve(keySystemFormat);\n } else {\n reject(new Error(\"Unable to find format for key-system \\\"\" + keySystem + \"\\\"\"));\n }\n }).catch(reject);\n });\n };\n _proto.loadKey = function loadKey(data) {\n var _this4 = this;\n var decryptdata = data.keyInfo.decryptdata;\n var keyId = this.getKeyIdString(decryptdata);\n var keyDetails = \"(keyId: \" + keyId + \" format: \\\"\" + decryptdata.keyFormat + \"\\\" method: \" + decryptdata.method + \" uri: \" + decryptdata.uri + \")\";\n this.log(\"Starting session for key \" + keyDetails);\n var keySessionContextPromise = this.keyIdToKeySessionPromise[keyId];\n if (!keySessionContextPromise) {\n keySessionContextPromise = this.keyIdToKeySessionPromise[keyId] = this.getKeySystemForKeyPromise(decryptdata).then(function (_ref3) {\n var keySystem = _ref3.keySystem,\n mediaKeys = _ref3.mediaKeys;\n _this4.throwIfDestroyed();\n _this4.log(\"Handle encrypted media sn: \" + data.frag.sn + \" \" + data.frag.type + \": \" + data.frag.level + \" using key \" + keyDetails);\n return _this4.attemptSetMediaKeys(keySystem, mediaKeys).then(function () {\n _this4.throwIfDestroyed();\n var keySessionContext = _this4.createMediaKeySessionContext({\n keySystem: keySystem,\n mediaKeys: mediaKeys,\n decryptdata: decryptdata\n });\n var scheme = 'cenc';\n return _this4.generateRequestWithPreferredKeySession(keySessionContext, scheme, decryptdata.pssh, 'playlist-key');\n });\n });\n keySessionContextPromise.catch(function (error) {\n return _this4.handleError(error);\n });\n }\n return keySessionContextPromise;\n };\n _proto.throwIfDestroyed = function throwIfDestroyed(message) {\n if (!this.hls) {\n throw new Error('invalid state');\n }\n };\n _proto.handleError = function handleError(error) {\n if (!this.hls) {\n return;\n }\n this.error(error.message);\n if (error instanceof EMEKeyError) {\n this.hls.trigger(Events.ERROR, error.data);\n } else {\n this.hls.trigger(Events.ERROR, {\n type: ErrorTypes.KEY_SYSTEM_ERROR,\n details: ErrorDetails.KEY_SYSTEM_NO_KEYS,\n error: error,\n fatal: true\n });\n }\n };\n _proto.getKeySystemForKeyPromise = function getKeySystemForKeyPromise(decryptdata) {\n var keyId = this.getKeyIdString(decryptdata);\n var mediaKeySessionContext = this.keyIdToKeySessionPromise[keyId];\n if (!mediaKeySessionContext) {\n var keySystem = keySystemFormatToKeySystemDomain(decryptdata.keyFormat);\n var keySystemsToAttempt = keySystem ? [keySystem] : getKeySystemsForConfig(this.config);\n return this.attemptKeySystemAccess(keySystemsToAttempt);\n }\n return mediaKeySessionContext;\n };\n _proto.getKeySystemSelectionPromise = function getKeySystemSelectionPromise(keySystemsToAttempt) {\n if (!keySystemsToAttempt.length) {\n keySystemsToAttempt = getKeySystemsForConfig(this.config);\n }\n if (keySystemsToAttempt.length === 0) {\n throw new EMEKeyError({\n type: ErrorTypes.KEY_SYSTEM_ERROR,\n details: ErrorDetails.KEY_SYSTEM_NO_CONFIGURED_LICENSE,\n fatal: true\n }, \"Missing key-system license configuration options \" + JSON.stringify({\n drmSystems: this.config.drmSystems\n }));\n }\n return this.attemptKeySystemAccess(keySystemsToAttempt);\n };\n _proto._onMediaEncrypted = function _onMediaEncrypted(event) {\n var _this5 = this;\n var initDataType = event.initDataType,\n initData = event.initData;\n this.debug(\"\\\"\" + event.type + \"\\\" event: init data type: \\\"\" + initDataType + \"\\\"\");\n\n // Ignore event when initData is null\n if (initData === null) {\n return;\n }\n var keyId;\n var keySystemDomain;\n if (initDataType === 'sinf' && this.config.drmSystems[KeySystems.FAIRPLAY]) {\n // Match sinf keyId to playlist skd://keyId=\n var json = bin2str(new Uint8Array(initData));\n try {\n var sinf = base64Decode(JSON.parse(json).sinf);\n var tenc = parseSinf(new Uint8Array(sinf));\n if (!tenc) {\n return;\n }\n keyId = tenc.subarray(8, 24);\n keySystemDomain = KeySystems.FAIRPLAY;\n } catch (error) {\n this.warn('Failed to parse sinf \"encrypted\" event message initData');\n return;\n }\n } else {\n // Support clear-lead key-session creation (otherwise depend on playlist keys)\n var psshInfo = parsePssh(initData);\n if (psshInfo === null) {\n return;\n }\n if (psshInfo.version === 0 && psshInfo.systemId === KeySystemIds.WIDEVINE && psshInfo.data) {\n keyId = psshInfo.data.subarray(8, 24);\n }\n keySystemDomain = keySystemIdToKeySystemDomain(psshInfo.systemId);\n }\n if (!keySystemDomain || !keyId) {\n return;\n }\n var keyIdHex = Hex.hexDump(keyId);\n var keyIdToKeySessionPromise = this.keyIdToKeySessionPromise,\n mediaKeySessions = this.mediaKeySessions;\n var keySessionContextPromise = keyIdToKeySessionPromise[keyIdHex];\n var _loop = function _loop() {\n // Match playlist key\n var keyContext = mediaKeySessions[i];\n var decryptdata = keyContext.decryptdata;\n if (decryptdata.pssh || !decryptdata.keyId) {\n return 0; // continue\n }\n var oldKeyIdHex = Hex.hexDump(decryptdata.keyId);\n if (keyIdHex === oldKeyIdHex || decryptdata.uri.replace(/-/g, '').indexOf(keyIdHex) !== -1) {\n keySessionContextPromise = keyIdToKeySessionPromise[oldKeyIdHex];\n delete keyIdToKeySessionPromise[oldKeyIdHex];\n decryptdata.pssh = new Uint8Array(initData);\n decryptdata.keyId = keyId;\n keySessionContextPromise = keyIdToKeySessionPromise[keyIdHex] = keySessionContextPromise.then(function () {\n return _this5.generateRequestWithPreferredKeySession(keyContext, initDataType, initData, 'encrypted-event-key-match');\n });\n return 1; // break\n }\n },\n _ret;\n for (var i = 0; i < mediaKeySessions.length; i++) {\n _ret = _loop();\n if (_ret === 0) continue;\n if (_ret === 1) break;\n }\n if (!keySessionContextPromise) {\n // Clear-lead key (not encountered in playlist)\n keySessionContextPromise = keyIdToKeySessionPromise[keyIdHex] = this.getKeySystemSelectionPromise([keySystemDomain]).then(function (_ref4) {\n var _keySystemToKeySystem;\n var keySystem = _ref4.keySystem,\n mediaKeys = _ref4.mediaKeys;\n _this5.throwIfDestroyed();\n var decryptdata = new LevelKey('ISO-23001-7', keyIdHex, (_keySystemToKeySystem = keySystemDomainToKeySystemFormat(keySystem)) != null ? _keySystemToKeySystem : '');\n decryptdata.pssh = new Uint8Array(initData);\n decryptdata.keyId = keyId;\n return _this5.attemptSetMediaKeys(keySystem, mediaKeys).then(function () {\n _this5.throwIfDestroyed();\n var keySessionContext = _this5.createMediaKeySessionContext({\n decryptdata: decryptdata,\n keySystem: keySystem,\n mediaKeys: mediaKeys\n });\n return _this5.generateRequestWithPreferredKeySession(keySessionContext, initDataType, initData, 'encrypted-event-no-match');\n });\n });\n }\n keySessionContextPromise.catch(function (error) {\n return _this5.handleError(error);\n });\n };\n _proto._onWaitingForKey = function _onWaitingForKey(event) {\n this.log(\"\\\"\" + event.type + \"\\\" event\");\n };\n _proto.attemptSetMediaKeys = function attemptSetMediaKeys(keySystem, mediaKeys) {\n var _this6 = this;\n var queue = this.setMediaKeysQueue.slice();\n this.log(\"Setting media-keys for \\\"\" + keySystem + \"\\\"\");\n // Only one setMediaKeys() can run at one time, and multiple setMediaKeys() operations\n // can be queued for execution for multiple key sessions.\n var setMediaKeysPromise = Promise.all(queue).then(function () {\n if (!_this6.media) {\n throw new Error('Attempted to set mediaKeys without media element attached');\n }\n return _this6.media.setMediaKeys(mediaKeys);\n });\n this.setMediaKeysQueue.push(setMediaKeysPromise);\n return setMediaKeysPromise.then(function () {\n _this6.log(\"Media-keys set for \\\"\" + keySystem + \"\\\"\");\n queue.push(setMediaKeysPromise);\n _this6.setMediaKeysQueue = _this6.setMediaKeysQueue.filter(function (p) {\n return queue.indexOf(p) === -1;\n });\n });\n };\n _proto.generateRequestWithPreferredKeySession = function generateRequestWithPreferredKeySession(context, initDataType, initData, reason) {\n var _this$config$drmSyste,\n _this$config$drmSyste2,\n _this7 = this;\n var generateRequestFilter = (_this$config$drmSyste = this.config.drmSystems) == null ? void 0 : (_this$config$drmSyste2 = _this$config$drmSyste[context.keySystem]) == null ? void 0 : _this$config$drmSyste2.generateRequest;\n if (generateRequestFilter) {\n try {\n var mappedInitData = generateRequestFilter.call(this.hls, initDataType, initData, context);\n if (!mappedInitData) {\n throw new Error('Invalid response from configured generateRequest filter');\n }\n initDataType = mappedInitData.initDataType;\n initData = context.decryptdata.pssh = mappedInitData.initData ? new Uint8Array(mappedInitData.initData) : null;\n } catch (error) {\n var _this$hls;\n this.warn(error.message);\n if ((_this$hls = this.hls) != null && _this$hls.config.debug) {\n throw error;\n }\n }\n }\n if (initData === null) {\n this.log(\"Skipping key-session request for \\\"\" + reason + \"\\\" (no initData)\");\n return Promise.resolve(context);\n }\n var keyId = this.getKeyIdString(context.decryptdata);\n this.log(\"Generating key-session request for \\\"\" + reason + \"\\\": \" + keyId + \" (init data type: \" + initDataType + \" length: \" + (initData ? initData.byteLength : null) + \")\");\n var licenseStatus = new EventEmitter();\n var onmessage = context._onmessage = function (event) {\n var keySession = context.mediaKeysSession;\n if (!keySession) {\n licenseStatus.emit('error', new Error('invalid state'));\n return;\n }\n var messageType = event.messageType,\n message = event.message;\n _this7.log(\"\\\"\" + messageType + \"\\\" message event for session \\\"\" + keySession.sessionId + \"\\\" message size: \" + message.byteLength);\n if (messageType === 'license-request' || messageType === 'license-renewal') {\n _this7.renewLicense(context, message).catch(function (error) {\n _this7.handleError(error);\n licenseStatus.emit('error', error);\n });\n } else if (messageType === 'license-release') {\n if (context.keySystem === KeySystems.FAIRPLAY) {\n _this7.updateKeySession(context, strToUtf8array('acknowledged'));\n _this7.removeSession(context);\n }\n } else {\n _this7.warn(\"unhandled media key message type \\\"\" + messageType + \"\\\"\");\n }\n };\n var onkeystatuseschange = context._onkeystatuseschange = function (event) {\n var keySession = context.mediaKeysSession;\n if (!keySession) {\n licenseStatus.emit('error', new Error('invalid state'));\n return;\n }\n _this7.onKeyStatusChange(context);\n var keyStatus = context.keyStatus;\n licenseStatus.emit('keyStatus', keyStatus);\n if (keyStatus === 'expired') {\n _this7.warn(context.keySystem + \" expired for key \" + keyId);\n _this7.renewKeySession(context);\n }\n };\n context.mediaKeysSession.addEventListener('message', onmessage);\n context.mediaKeysSession.addEventListener('keystatuseschange', onkeystatuseschange);\n var keyUsablePromise = new Promise(function (resolve, reject) {\n licenseStatus.on('error', reject);\n licenseStatus.on('keyStatus', function (keyStatus) {\n if (keyStatus.startsWith('usable')) {\n resolve();\n } else if (keyStatus === 'output-restricted') {\n reject(new EMEKeyError({\n type: ErrorTypes.KEY_SYSTEM_ERROR,\n details: ErrorDetails.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED,\n fatal: false\n }, 'HDCP level output restricted'));\n } else if (keyStatus === 'internal-error') {\n reject(new EMEKeyError({\n type: ErrorTypes.KEY_SYSTEM_ERROR,\n details: ErrorDetails.KEY_SYSTEM_STATUS_INTERNAL_ERROR,\n fatal: true\n }, \"key status changed to \\\"\" + keyStatus + \"\\\"\"));\n } else if (keyStatus === 'expired') {\n reject(new Error('key expired while generating request'));\n } else {\n _this7.warn(\"unhandled key status change \\\"\" + keyStatus + \"\\\"\");\n }\n });\n });\n return context.mediaKeysSession.generateRequest(initDataType, initData).then(function () {\n var _context$mediaKeysSes;\n _this7.log(\"Request generated for key-session \\\"\" + ((_context$mediaKeysSes = context.mediaKeysSession) == null ? void 0 : _context$mediaKeysSes.sessionId) + \"\\\" keyId: \" + keyId);\n }).catch(function (error) {\n throw new EMEKeyError({\n type: ErrorTypes.KEY_SYSTEM_ERROR,\n details: ErrorDetails.KEY_SYSTEM_NO_SESSION,\n error: error,\n fatal: false\n }, \"Error generating key-session request: \" + error);\n }).then(function () {\n return keyUsablePromise;\n }).catch(function (error) {\n licenseStatus.removeAllListeners();\n _this7.removeSession(context);\n throw error;\n }).then(function () {\n licenseStatus.removeAllListeners();\n return context;\n });\n };\n _proto.onKeyStatusChange = function onKeyStatusChange(mediaKeySessionContext) {\n var _this8 = this;\n mediaKeySessionContext.mediaKeysSession.keyStatuses.forEach(function (status, keyId) {\n _this8.log(\"key status change \\\"\" + status + \"\\\" for keyStatuses keyId: \" + Hex.hexDump('buffer' in keyId ? new Uint8Array(keyId.buffer, keyId.byteOffset, keyId.byteLength) : new Uint8Array(keyId)) + \" session keyId: \" + Hex.hexDump(new Uint8Array(mediaKeySessionContext.decryptdata.keyId || [])) + \" uri: \" + mediaKeySessionContext.decryptdata.uri);\n mediaKeySessionContext.keyStatus = status;\n });\n };\n _proto.fetchServerCertificate = function fetchServerCertificate(keySystem) {\n var config = this.config;\n var Loader = config.loader;\n var certLoader = new Loader(config);\n var url = this.getServerCertificateUrl(keySystem);\n if (!url) {\n return Promise.resolve();\n }\n this.log(\"Fetching server certificate for \\\"\" + keySystem + \"\\\"\");\n return new Promise(function (resolve, reject) {\n var loaderContext = {\n responseType: 'arraybuffer',\n url: url\n };\n var loadPolicy = config.certLoadPolicy.default;\n var loaderConfig = {\n loadPolicy: loadPolicy,\n timeout: loadPolicy.maxLoadTimeMs,\n maxRetry: 0,\n retryDelay: 0,\n maxRetryDelay: 0\n };\n var loaderCallbacks = {\n onSuccess: function onSuccess(response, stats, context, networkDetails) {\n resolve(response.data);\n },\n onError: function onError(response, contex, networkDetails, stats) {\n reject(new EMEKeyError({\n type: ErrorTypes.KEY_SYSTEM_ERROR,\n details: ErrorDetails.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,\n fatal: true,\n networkDetails: networkDetails,\n response: _objectSpread2({\n url: loaderContext.url,\n data: undefined\n }, response)\n }, \"\\\"\" + keySystem + \"\\\" certificate request failed (\" + url + \"). Status: \" + response.code + \" (\" + response.text + \")\"));\n },\n onTimeout: function onTimeout(stats, context, networkDetails) {\n reject(new EMEKeyError({\n type: ErrorTypes.KEY_SYSTEM_ERROR,\n details: ErrorDetails.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,\n fatal: true,\n networkDetails: networkDetails,\n response: {\n url: loaderContext.url,\n data: undefined\n }\n }, \"\\\"\" + keySystem + \"\\\" certificate request timed out (\" + url + \")\"));\n },\n onAbort: function onAbort(stats, context, networkDetails) {\n reject(new Error('aborted'));\n }\n };\n certLoader.load(loaderContext, loaderConfig, loaderCallbacks);\n });\n };\n _proto.setMediaKeysServerCertificate = function setMediaKeysServerCertificate(mediaKeys, keySystem, cert) {\n var _this9 = this;\n return new Promise(function (resolve, reject) {\n mediaKeys.setServerCertificate(cert).then(function (success) {\n _this9.log(\"setServerCertificate \" + (success ? 'success' : 'not supported by CDM') + \" (\" + (cert == null ? void 0 : cert.byteLength) + \") on \\\"\" + keySystem + \"\\\"\");\n resolve(mediaKeys);\n }).catch(function (error) {\n reject(new EMEKeyError({\n type: ErrorTypes.KEY_SYSTEM_ERROR,\n details: ErrorDetails.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED,\n error: error,\n fatal: true\n }, error.message));\n });\n });\n };\n _proto.renewLicense = function renewLicense(context, keyMessage) {\n var _this10 = this;\n return this.requestLicense(context, new Uint8Array(keyMessage)).then(function (data) {\n return _this10.updateKeySession(context, new Uint8Array(data)).catch(function (error) {\n throw new EMEKeyError({\n type: ErrorTypes.KEY_SYSTEM_ERROR,\n details: ErrorDetails.KEY_SYSTEM_SESSION_UPDATE_FAILED,\n error: error,\n fatal: true\n }, error.message);\n });\n });\n };\n _proto.unpackPlayReadyKeyMessage = function unpackPlayReadyKeyMessage(xhr, licenseChallenge) {\n // On Edge, the raw license message is UTF-16-encoded XML. We need\n // to unpack the Challenge element (base64-encoded string containing the\n // actual license request) and any HttpHeader elements (sent as request\n // headers).\n // For PlayReady CDMs, we need to dig the Challenge out of the XML.\n var xmlString = String.fromCharCode.apply(null, new Uint16Array(licenseChallenge.buffer));\n if (!xmlString.includes('PlayReadyKeyMessage')) {\n // This does not appear to be a wrapped message as on Edge. Some\n // clients do not need this unwrapping, so we will assume this is one of\n // them. Note that \"xml\" at this point probably looks like random\n // garbage, since we interpreted UTF-8 as UTF-16.\n xhr.setRequestHeader('Content-Type', 'text/xml; charset=utf-8');\n return licenseChallenge;\n }\n var keyMessageXml = new DOMParser().parseFromString(xmlString, 'application/xml');\n // Set request headers.\n var headers = keyMessageXml.querySelectorAll('HttpHeader');\n if (headers.length > 0) {\n var header;\n for (var i = 0, len = headers.length; i < len; i++) {\n var _header$querySelector, _header$querySelector2;\n header = headers[i];\n var name = (_header$querySelector = header.querySelector('name')) == null ? void 0 : _header$querySelector.textContent;\n var _value = (_header$querySelector2 = header.querySelector('value')) == null ? void 0 : _header$querySelector2.textContent;\n if (name && _value) {\n xhr.setRequestHeader(name, _value);\n }\n }\n }\n var challengeElement = keyMessageXml.querySelector('Challenge');\n var challengeText = challengeElement == null ? void 0 : challengeElement.textContent;\n if (!challengeText) {\n throw new Error(\"Cannot find <Challenge> in key message\");\n }\n return strToUtf8array(atob(challengeText));\n };\n _proto.setupLicenseXHR = function setupLicenseXHR(xhr, url, keysListItem, licenseChallenge) {\n var _this11 = this;\n var licenseXhrSetup = this.config.licenseXhrSetup;\n if (!licenseXhrSetup) {\n xhr.open('POST', url, true);\n return Promise.resolve({\n xhr: xhr,\n licenseChallenge: licenseChallenge\n });\n }\n return Promise.resolve().then(function () {\n if (!keysListItem.decryptdata) {\n throw new Error('Key removed');\n }\n return licenseXhrSetup.call(_this11.hls, xhr, url, keysListItem, licenseChallenge);\n }).catch(function (error) {\n if (!keysListItem.decryptdata) {\n // Key session removed. Cancel license request.\n throw error;\n }\n // let's try to open before running setup\n xhr.open('POST', url, true);\n return licenseXhrSetup.call(_this11.hls, xhr, url, keysListItem, licenseChallenge);\n }).then(function (licenseXhrSetupResult) {\n // if licenseXhrSetup did not yet call open, let's do it now\n if (!xhr.readyState) {\n xhr.open('POST', url, true);\n }\n var finalLicenseChallenge = licenseXhrSetupResult ? licenseXhrSetupResult : licenseChallenge;\n return {\n xhr: xhr,\n licenseChallenge: finalLicenseChallenge\n };\n });\n };\n _proto.requestLicense = function requestLicense(keySessionContext, licenseChallenge) {\n var _this12 = this;\n var keyLoadPolicy = this.config.keyLoadPolicy.default;\n return new Promise(function (resolve, reject) {\n var url = _this12.getLicenseServerUrl(keySessionContext.keySystem);\n _this12.log(\"Sending license request to URL: \" + url);\n var xhr = new XMLHttpRequest();\n xhr.responseType = 'arraybuffer';\n xhr.onreadystatechange = function () {\n if (!_this12.hls || !keySessionContext.mediaKeysSession) {\n return reject(new Error('invalid state'));\n }\n if (xhr.readyState === 4) {\n if (xhr.status === 200) {\n _this12._requestLicenseFailureCount = 0;\n var data = xhr.response;\n _this12.log(\"License received \" + (data instanceof ArrayBuffer ? data.byteLength : data));\n var licenseResponseCallback = _this12.config.licenseResponseCallback;\n if (licenseResponseCallback) {\n try {\n data = licenseResponseCallback.call(_this12.hls, xhr, url, keySessionContext);\n } catch (error) {\n _this12.error(error);\n }\n }\n resolve(data);\n } else {\n var retryConfig = keyLoadPolicy.errorRetry;\n var maxNumRetry = retryConfig ? retryConfig.maxNumRetry : 0;\n _this12._requestLicenseFailureCount++;\n if (_this12._requestLicenseFailureCount > maxNumRetry || xhr.status >= 400 && xhr.status < 500) {\n reject(new EMEKeyError({\n type: ErrorTypes.KEY_SYSTEM_ERROR,\n details: ErrorDetails.KEY_SYSTEM_LICENSE_REQUEST_FAILED,\n fatal: true,\n networkDetails: xhr,\n response: {\n url: url,\n data: undefined,\n code: xhr.status,\n text: xhr.statusText\n }\n }, \"License Request XHR failed (\" + url + \"). Status: \" + xhr.status + \" (\" + xhr.statusText + \")\"));\n } else {\n var attemptsLeft = maxNumRetry - _this12._requestLicenseFailureCount + 1;\n _this12.warn(\"Retrying license request, \" + attemptsLeft + \" attempts left\");\n _this12.requestLicense(keySessionContext, licenseChallenge).then(resolve, reject);\n }\n }\n }\n };\n if (keySessionContext.licenseXhr && keySessionContext.licenseXhr.readyState !== XMLHttpRequest.DONE) {\n keySessionContext.licenseXhr.abort();\n }\n keySessionContext.licenseXhr = xhr;\n _this12.setupLicenseXHR(xhr, url, keySessionContext, licenseChallenge).then(function (_ref5) {\n var xhr = _ref5.xhr,\n licenseChallenge = _ref5.licenseChallenge;\n if (keySessionContext.keySystem == KeySystems.PLAYREADY) {\n licenseChallenge = _this12.unpackPlayReadyKeyMessage(xhr, licenseChallenge);\n }\n xhr.send(licenseChallenge);\n });\n });\n };\n _proto.onMediaAttached = function onMediaAttached(event, data) {\n if (!this.config.emeEnabled) {\n return;\n }\n var media = data.media;\n\n // keep reference of media\n this.media = media;\n media.addEventListener('encrypted', this.onMediaEncrypted);\n media.addEventListener('waitingforkey', this.onWaitingForKey);\n };\n _proto.onMediaDetached = function onMediaDetached() {\n var _this13 = this;\n var media = this.media;\n var mediaKeysList = this.mediaKeySessions;\n if (media) {\n media.removeEventListener('encrypted', this.onMediaEncrypted);\n media.removeEventListener('waitingforkey', this.onWaitingForKey);\n this.media = null;\n }\n this._requestLicenseFailureCount = 0;\n this.setMediaKeysQueue = [];\n this.mediaKeySessions = [];\n this.keyIdToKeySessionPromise = {};\n LevelKey.clearKeyUriToKeyIdMap();\n\n // Close all sessions and remove media keys from the video element.\n var keySessionCount = mediaKeysList.length;\n EMEController.CDMCleanupPromise = Promise.all(mediaKeysList.map(function (mediaKeySessionContext) {\n return _this13.removeSession(mediaKeySessionContext);\n }).concat(media == null ? void 0 : media.setMediaKeys(null).catch(function (error) {\n _this13.log(\"Could not clear media keys: \" + error);\n }))).then(function () {\n if (keySessionCount) {\n _this13.log('finished closing key sessions and clearing media keys');\n mediaKeysList.length = 0;\n }\n }).catch(function (error) {\n _this13.log(\"Could not close sessions and clear media keys: \" + error);\n });\n };\n _proto.onManifestLoading = function onManifestLoading() {\n this.keyFormatPromise = null;\n };\n _proto.onManifestLoaded = function onManifestLoaded(event, _ref6) {\n var sessionKeys = _ref6.sessionKeys;\n if (!sessionKeys || !this.config.emeEnabled) {\n return;\n }\n if (!this.keyFormatPromise) {\n var keyFormats = sessionKeys.reduce(function (formats, sessionKey) {\n if (formats.indexOf(sessionKey.keyFormat) === -1) {\n formats.push(sessionKey.keyFormat);\n }\n return formats;\n }, []);\n this.log(\"Selecting key-system from session-keys \" + keyFormats.join(', '));\n this.keyFormatPromise = this.getKeyFormatPromise(keyFormats);\n }\n };\n _proto.removeSession = function removeSession(mediaKeySessionContext) {\n var _this14 = this;\n var mediaKeysSession = mediaKeySessionContext.mediaKeysSession,\n licenseXhr = mediaKeySessionContext.licenseXhr;\n if (mediaKeysSession) {\n this.log(\"Remove licenses and keys and close session \" + mediaKeysSession.sessionId);\n if (mediaKeySessionContext._onmessage) {\n mediaKeysSession.removeEventListener('message', mediaKeySessionContext._onmessage);\n mediaKeySessionContext._onmessage = undefined;\n }\n if (mediaKeySessionContext._onkeystatuseschange) {\n mediaKeysSession.removeEventListener('keystatuseschange', mediaKeySessionContext._onkeystatuseschange);\n mediaKeySessionContext._onkeystatuseschange = undefined;\n }\n if (licenseXhr && licenseXhr.readyState !== XMLHttpRequest.DONE) {\n licenseXhr.abort();\n }\n mediaKeySessionContext.mediaKeysSession = mediaKeySessionContext.decryptdata = mediaKeySessionContext.licenseXhr = undefined;\n var index = this.mediaKeySessions.indexOf(mediaKeySessionContext);\n if (index > -1) {\n this.mediaKeySessions.splice(index, 1);\n }\n return mediaKeysSession.remove().catch(function (error) {\n _this14.log(\"Could not remove session: \" + error);\n }).then(function () {\n return mediaKeysSession.close();\n }).catch(function (error) {\n _this14.log(\"Could not close session: \" + error);\n });\n }\n };\n return EMEController;\n }();\n EMEController.CDMCleanupPromise = void 0;\n var EMEKeyError = /*#__PURE__*/function (_Error) {\n _inheritsLoose(EMEKeyError, _Error);\n function EMEKeyError(data, message) {\n var _this15;\n _this15 = _Error.call(this, message) || this;\n _this15.data = void 0;\n data.error || (data.error = new Error(message));\n _this15.data = data;\n data.err = data.error;\n return _this15;\n }\n return EMEKeyError;\n }( /*#__PURE__*/_wrapNativeSuper(Error));\n\n /**\n * Common Media Object Type\n *\n * @group CMCD\n * @group CMSD\n *\n * @beta\n */\n var CmObjectType;\n (function (CmObjectType) {\n /**\n * text file, such as a manifest or playlist\n */\n CmObjectType[\"MANIFEST\"] = \"m\";\n /**\n * audio only\n */\n CmObjectType[\"AUDIO\"] = \"a\";\n /**\n * video only\n */\n CmObjectType[\"VIDEO\"] = \"v\";\n /**\n * muxed audio and video\n */\n CmObjectType[\"MUXED\"] = \"av\";\n /**\n * init segment\n */\n CmObjectType[\"INIT\"] = \"i\";\n /**\n * caption or subtitle\n */\n CmObjectType[\"CAPTION\"] = \"c\";\n /**\n * ISOBMFF timed text track\n */\n CmObjectType[\"TIMED_TEXT\"] = \"tt\";\n /**\n * cryptographic key, license or certificate.\n */\n CmObjectType[\"KEY\"] = \"k\";\n /**\n * other\n */\n CmObjectType[\"OTHER\"] = \"o\";\n })(CmObjectType || (CmObjectType = {}));\n\n /**\n * Common Media Streaming Format\n *\n * @group CMCD\n * @group CMSD\n *\n * @beta\n */\n var CmStreamingFormat;\n (function (CmStreamingFormat) {\n /**\n * MPEG DASH\n */\n CmStreamingFormat[\"DASH\"] = \"d\";\n /**\n * HTTP Live Streaming (HLS)\n */\n CmStreamingFormat[\"HLS\"] = \"h\";\n /**\n * Smooth Streaming\n */\n CmStreamingFormat[\"SMOOTH\"] = \"s\";\n /**\n * Other\n */\n CmStreamingFormat[\"OTHER\"] = \"o\";\n })(CmStreamingFormat || (CmStreamingFormat = {}));\n\n /**\n * CMCD header fields.\n *\n * @group CMCD\n *\n * @beta\n */\n var CmcdHeaderField;\n (function (CmcdHeaderField) {\n /**\n * keys whose values vary with the object being requested.\n */\n CmcdHeaderField[\"OBJECT\"] = \"CMCD-Object\";\n /**\n * keys whose values vary with each request.\n */\n CmcdHeaderField[\"REQUEST\"] = \"CMCD-Request\";\n /**\n * keys whose values are expected to be invariant over the life of the session.\n */\n CmcdHeaderField[\"SESSION\"] = \"CMCD-Session\";\n /**\n * keys whose values do not vary with every request or object.\n */\n CmcdHeaderField[\"STATUS\"] = \"CMCD-Status\";\n })(CmcdHeaderField || (CmcdHeaderField = {}));\n\n var _CmcdHeaderMap;\n /**\n * The map of CMCD header fields to official CMCD keys.\n *\n * @internal\n *\n * @group CMCD\n */\n var CmcdHeaderMap = (_CmcdHeaderMap = {}, _CmcdHeaderMap[CmcdHeaderField.OBJECT] = ['br', 'd', 'ot', 'tb'], _CmcdHeaderMap[CmcdHeaderField.REQUEST] = ['bl', 'dl', 'mtp', 'nor', 'nrr', 'su'], _CmcdHeaderMap[CmcdHeaderField.SESSION] = ['cid', 'pr', 'sf', 'sid', 'st', 'v'], _CmcdHeaderMap[CmcdHeaderField.STATUS] = ['bs', 'rtp'], _CmcdHeaderMap);\n\n /**\n * Structured Field Item\n *\n * @group Structured Field\n *\n * @beta\n */\n var SfItem = function SfItem(value, params) {\n this.value = void 0;\n this.params = void 0;\n if (Array.isArray(value)) {\n value = value.map(function (v) {\n return v instanceof SfItem ? v : new SfItem(v);\n });\n }\n this.value = value;\n this.params = params;\n };\n\n /**\n * A class to represent structured field tokens when `Symbol` is not available.\n *\n * @group Structured Field\n *\n * @beta\n */\n var SfToken = function SfToken(description) {\n this.description = void 0;\n this.description = description;\n };\n\n var DICT = 'Dict';\n\n function format(value) {\n if (Array.isArray(value)) {\n return JSON.stringify(value);\n }\n if (value instanceof Map) {\n return 'Map{}';\n }\n if (value instanceof Set) {\n return 'Set{}';\n }\n if (typeof value === 'object') {\n return JSON.stringify(value);\n }\n return String(value);\n }\n function throwError(action, src, type, cause) {\n return new Error(\"failed to \" + action + \" \\\"\" + format(src) + \"\\\" as \" + type, {\n cause: cause\n });\n }\n\n var BARE_ITEM = 'Bare Item';\n\n var BOOLEAN = 'Boolean';\n\n var BYTES = 'Byte Sequence';\n\n var DECIMAL = 'Decimal';\n\n var INTEGER = 'Integer';\n\n function isInvalidInt(value) {\n return value < -999999999999999 || 999999999999999 < value;\n }\n\n var STRING_REGEX = /[\\x00-\\x1f\\x7f]+/; // eslint-disable-line no-control-regex\n\n var TOKEN = 'Token';\n\n var KEY = 'Key';\n\n function serializeError(src, type, cause) {\n return throwError('serialize', src, type, cause);\n }\n\n // 4.1.9. Serializing a Boolean\n //\n // Given a Boolean as input_boolean, return an ASCII string suitable for\n // use in a HTTP field value.\n //\n // 1. If input_boolean is not a boolean, fail serialization.\n //\n // 2. Let output be an empty string.\n //\n // 3. Append \"?\" to output.\n //\n // 4. If input_boolean is true, append \"1\" to output.\n //\n // 5. If input_boolean is false, append \"0\" to output.\n //\n // 6. Return output.\n function serializeBoolean(value) {\n if (typeof value !== 'boolean') {\n throw serializeError(value, BOOLEAN);\n }\n return value ? '?1' : '?0';\n }\n\n /**\n * Encodes binary data to base64\n *\n * @param binary - The binary data to encode\n * @returns The base64 encoded string\n *\n * @group Utils\n *\n * @beta\n */\n function base64encode(binary) {\n return btoa(String.fromCharCode.apply(String, binary));\n }\n\n // 4.1.8. Serializing a Byte Sequence\n //\n // Given a Byte Sequence as input_bytes, return an ASCII string suitable\n // for use in a HTTP field value.\n //\n // 1. If input_bytes is not a sequence of bytes, fail serialization.\n //\n // 2. Let output be an empty string.\n //\n // 3. Append \":\" to output.\n //\n // 4. Append the result of base64-encoding input_bytes as per\n // [RFC4648], Section 4, taking account of the requirements below.\n //\n // 5. Append \":\" to output.\n //\n // 6. Return output.\n //\n // The encoded data is required to be padded with \"=\", as per [RFC4648],\n // Section 3.2.\n //\n // Likewise, encoded data SHOULD have pad bits set to zero, as per\n // [RFC4648], Section 3.5, unless it is not possible to do so due to\n // implementation constraints.\n function serializeByteSequence(value) {\n if (ArrayBuffer.isView(value) === false) {\n throw serializeError(value, BYTES);\n }\n return \":\" + base64encode(value) + \":\";\n }\n\n // 4.1.4. Serializing an Integer\n //\n // Given an Integer as input_integer, return an ASCII string suitable\n // for use in a HTTP field value.\n //\n // 1. If input_integer is not an integer in the range of\n // -999,999,999,999,999 to 999,999,999,999,999 inclusive, fail\n // serialization.\n //\n // 2. Let output be an empty string.\n //\n // 3. If input_integer is less than (but not equal to) 0, append \"-\" to\n // output.\n //\n // 4. Append input_integer's numeric value represented in base 10 using\n // only decimal digits to output.\n //\n // 5. Return output.\n function serializeInteger(value) {\n if (isInvalidInt(value)) {\n throw serializeError(value, INTEGER);\n }\n return value.toString();\n }\n\n // 4.1.10. Serializing a Date\n //\n // Given a Date as input_integer, return an ASCII string suitable for\n // use in an HTTP field value.\n // 1. Let output be \"@\".\n // 2. Append to output the result of running Serializing an Integer\n // with input_date (Section 4.1.4).\n // 3. Return output.\n function serializeDate(value) {\n return \"@\" + serializeInteger(value.getTime() / 1000);\n }\n\n /**\n * This implements the rounding procedure described in step 2 of the \"Serializing a Decimal\" specification.\n * This rounding style is known as \"even rounding\", \"banker's rounding\", or \"commercial rounding\".\n *\n * @param value - The value to round\n * @param precision - The number of decimal places to round to\n * @returns The rounded value\n *\n * @group Utils\n *\n * @beta\n */\n function roundToEven(value, precision) {\n if (value < 0) {\n return -roundToEven(-value, precision);\n }\n var decimalShift = Math.pow(10, precision);\n var isEquidistant = Math.abs(value * decimalShift % 1 - 0.5) < Number.EPSILON;\n if (isEquidistant) {\n // If the tail of the decimal place is 'equidistant' we round to the nearest even value\n var flooredValue = Math.floor(value * decimalShift);\n return (flooredValue % 2 === 0 ? flooredValue : flooredValue + 1) / decimalShift;\n } else {\n // Otherwise, proceed as normal\n return Math.round(value * decimalShift) / decimalShift;\n }\n }\n\n // 4.1.5. Serializing a Decimal\n //\n // Given a decimal number as input_decimal, return an ASCII string\n // suitable for use in a HTTP field value.\n //\n // 1. If input_decimal is not a decimal number, fail serialization.\n //\n // 2. If input_decimal has more than three significant digits to the\n // right of the decimal point, round it to three decimal places,\n // rounding the final digit to the nearest value, or to the even\n // value if it is equidistant.\n //\n // 3. If input_decimal has more than 12 significant digits to the left\n // of the decimal point after rounding, fail serialization.\n //\n // 4. Let output be an empty string.\n //\n // 5. If input_decimal is less than (but not equal to) 0, append \"-\"\n // to output.\n //\n // 6. Append input_decimal's integer component represented in base 10\n // (using only decimal digits) to output; if it is zero, append\n // \"0\".\n //\n // 7. Append \".\" to output.\n //\n // 8. If input_decimal's fractional component is zero, append \"0\" to\n // output.\n //\n // 9. Otherwise, append the significant digits of input_decimal's\n // fractional component represented in base 10 (using only decimal\n // digits) to output.\n //\n // 10. Return output.\n function serializeDecimal(value) {\n var roundedValue = roundToEven(value, 3); // round to 3 decimal places\n if (Math.floor(Math.abs(roundedValue)).toString().length > 12) {\n throw serializeError(value, DECIMAL);\n }\n var stringValue = roundedValue.toString();\n return stringValue.includes('.') ? stringValue : stringValue + \".0\";\n }\n\n var STRING = 'String';\n\n // 4.1.6. Serializing a String\n //\n // Given a String as input_string, return an ASCII string suitable for\n // use in a HTTP field value.\n //\n // 1. Convert input_string into a sequence of ASCII characters; if\n // conversion fails, fail serialization.\n //\n // 2. If input_string contains characters in the range %x00-1f or %x7f\n // (i.e., not in VCHAR or SP), fail serialization.\n //\n // 3. Let output be the string DQUOTE.\n //\n // 4. For each character char in input_string:\n //\n // 1. If char is \"\\\" or DQUOTE:\n //\n // 1. Append \"\\\" to output.\n //\n // 2. Append char to output.\n //\n // 5. Append DQUOTE to output.\n //\n // 6. Return output.\n function serializeString(value) {\n if (STRING_REGEX.test(value)) {\n throw serializeError(value, STRING);\n }\n return \"\\\"\" + value.replace(/\\\\/g, \"\\\\\\\\\").replace(/\"/g, \"\\\\\\\"\") + \"\\\"\";\n }\n\n function symbolToStr(symbol) {\n return symbol.description || symbol.toString().slice(7, -1);\n }\n\n function serializeToken(token) {\n var value = symbolToStr(token);\n if (/^([a-zA-Z*])([!#$%&'*+\\-.^_`|~\\w:/]*)$/.test(value) === false) {\n throw serializeError(value, TOKEN);\n }\n return value;\n }\n\n // 4.1.3.1. Serializing a Bare Item\n //\n // Given an Item as input_item, return an ASCII string suitable for use\n // in a HTTP field value.\n //\n // 1. If input_item is an Integer, return the result of running\n // Serializing an Integer (Section 4.1.4) with input_item.\n //\n // 2. If input_item is a Decimal, return the result of running\n // Serializing a Decimal (Section 4.1.5) with input_item.\n //\n // 3. If input_item is a String, return the result of running\n // Serializing a String (Section 4.1.6) with input_item.\n //\n // 4. If input_item is a Token, return the result of running\n // Serializing a Token (Section 4.1.7) with input_item.\n //\n // 5. If input_item is a Boolean, return the result of running\n // Serializing a Boolean (Section 4.1.9) with input_item.\n //\n // 6. If input_item is a Byte Sequence, return the result of running\n // Serializing a Byte Sequence (Section 4.1.8) with input_item.\n //\n // 7. If input_item is a Date, return the result of running Serializing\n // a Date (Section 4.1.10) with input_item.\n //\n // 8. Otherwise, fail serialization.\n function serializeBareItem(value) {\n switch (typeof value) {\n case 'number':\n if (!isFiniteNumber(value)) {\n throw serializeError(value, BARE_ITEM);\n }\n if (Number.isInteger(value)) {\n return serializeInteger(value);\n }\n return serializeDecimal(value);\n case 'string':\n return serializeString(value);\n case 'symbol':\n return serializeToken(value);\n case 'boolean':\n return serializeBoolean(value);\n case 'object':\n if (value instanceof Date) {\n return serializeDate(value);\n }\n if (value instanceof Uint8Array) {\n return serializeByteSequence(value);\n }\n if (value instanceof SfToken) {\n return serializeToken(value);\n }\n default:\n // fail\n throw serializeError(value, BARE_ITEM);\n }\n }\n\n // 4.1.1.3. Serializing a Key\n //\n // Given a key as input_key, return an ASCII string suitable for use in\n // a HTTP field value.\n //\n // 1. Convert input_key into a sequence of ASCII characters; if\n // conversion fails, fail serialization.\n //\n // 2. If input_key contains characters not in lcalpha, DIGIT, \"_\", \"-\",\n // \".\", or \"*\" fail serialization.\n //\n // 3. If the first character of input_key is not lcalpha or \"*\", fail\n // serialization.\n //\n // 4. Let output be an empty string.\n //\n // 5. Append input_key to output.\n //\n // 6. Return output.\n function serializeKey(value) {\n if (/^[a-z*][a-z0-9\\-_.*]*$/.test(value) === false) {\n throw serializeError(value, KEY);\n }\n return value;\n }\n\n // 4.1.1.2. Serializing Parameters\n //\n // Given an ordered Dictionary as input_parameters (each member having a\n // param_name and a param_value), return an ASCII string suitable for\n // use in a HTTP field value.\n //\n // 1. Let output be an empty string.\n //\n // 2. For each param_name with a value of param_value in\n // input_parameters:\n //\n // 1. Append \";\" to output.\n //\n // 2. Append the result of running Serializing a Key\n // (Section 4.1.1.3) with param_name to output.\n //\n // 3. If param_value is not Boolean true:\n //\n // 1. Append \"=\" to output.\n //\n // 2. Append the result of running Serializing a bare Item\n // (Section 4.1.3.1) with param_value to output.\n //\n // 3. Return output.\n function serializeParams(params) {\n if (params == null) {\n return '';\n }\n return Object.entries(params).map(function (_ref) {\n var key = _ref[0],\n value = _ref[1];\n if (value === true) {\n return \";\" + serializeKey(key); // omit true\n }\n return \";\" + serializeKey(key) + \"=\" + serializeBareItem(value);\n }).join('');\n }\n\n // 4.1.3. Serializing an Item\n //\n // Given an Item as bare_item and Parameters as item_parameters, return\n // an ASCII string suitable for use in a HTTP field value.\n //\n // 1. Let output be an empty string.\n //\n // 2. Append the result of running Serializing a Bare Item\n // Section 4.1.3.1 with bare_item to output.\n //\n // 3. Append the result of running Serializing Parameters\n // Section 4.1.1.2 with item_parameters to output.\n //\n // 4. Return output.\n function serializeItem(value) {\n if (value instanceof SfItem) {\n return \"\" + serializeBareItem(value.value) + serializeParams(value.params);\n } else {\n return serializeBareItem(value);\n }\n }\n\n // 4.1.1.1. Serializing an Inner List\n //\n // Given an array of (member_value, parameters) tuples as inner_list,\n // and parameters as list_parameters, return an ASCII string suitable\n // for use in a HTTP field value.\n //\n // 1. Let output be the string \"(\".\n //\n // 2. For each (member_value, parameters) of inner_list:\n //\n // 1. Append the result of running Serializing an Item\n // (Section 4.1.3) with (member_value, parameters) to output.\n //\n // 2. If more values remain in inner_list, append a single SP to\n // output.\n //\n // 3. Append \")\" to output.\n //\n // 4. Append the result of running Serializing Parameters\n // (Section 4.1.1.2) with list_parameters to output.\n //\n // 5. Return output.\n function serializeInnerList(value) {\n return \"(\" + value.value.map(serializeItem).join(' ') + \")\" + serializeParams(value.params);\n }\n\n // 4.1.2. Serializing a Dictionary\n //\n // Given an ordered Dictionary as input_dictionary (each member having a\n // member_name and a tuple value of (member_value, parameters)), return\n // an ASCII string suitable for use in a HTTP field value.\n //\n // 1. Let output be an empty string.\n //\n // 2. For each member_name with a value of (member_value, parameters)\n // in input_dictionary:\n //\n // 1. Append the result of running Serializing a Key\n // (Section 4.1.1.3) with member's member_name to output.\n //\n // 2. If member_value is Boolean true:\n //\n // 1. Append the result of running Serializing Parameters\n // (Section 4.1.1.2) with parameters to output.\n //\n // 3. Otherwise:\n //\n // 1. Append \"=\" to output.\n //\n // 2. If member_value is an array, append the result of running\n // Serializing an Inner List (Section 4.1.1.1) with\n // (member_value, parameters) to output.\n //\n // 3. Otherwise, append the result of running Serializing an\n // Item (Section 4.1.3) with (member_value, parameters) to\n // output.\n //\n // 4. If more members remain in input_dictionary:\n //\n // 1. Append \",\" to output.\n //\n // 2. Append a single SP to output.\n //\n // 3. Return output.\n function serializeDict(dict, options) {\n var _options;\n if (options === void 0) {\n options = {\n whitespace: true\n };\n }\n if (typeof dict !== 'object') {\n throw serializeError(dict, DICT);\n }\n var entries = dict instanceof Map ? dict.entries() : Object.entries(dict);\n var optionalWhiteSpace = (_options = options) != null && _options.whitespace ? ' ' : '';\n return Array.from(entries).map(function (_ref) {\n var key = _ref[0],\n item = _ref[1];\n if (item instanceof SfItem === false) {\n item = new SfItem(item);\n }\n var output = serializeKey(key);\n if (item.value === true) {\n output += serializeParams(item.params);\n } else {\n output += '=';\n if (Array.isArray(item.value)) {\n output += serializeInnerList(item);\n } else {\n output += serializeItem(item);\n }\n }\n return output;\n }).join(\",\" + optionalWhiteSpace);\n }\n\n /**\n * Encode an object into a structured field dictionary\n *\n * @param input - The structured field dictionary to encode\n * @returns The structured field string\n *\n * @group Structured Field\n *\n * @beta\n */\n function encodeSfDict(value, options) {\n return serializeDict(value, options);\n }\n\n /**\n * Checks if the given key is a token field.\n *\n * @param key - The key to check.\n *\n * @returns `true` if the key is a token field.\n *\n * @internal\n *\n * @group CMCD\n */\n var isTokenField = function isTokenField(key) {\n return key === 'ot' || key === 'sf' || key === 'st';\n };\n\n var isValid = function isValid(value) {\n if (typeof value === 'number') {\n return isFiniteNumber(value);\n }\n return value != null && value !== '' && value !== false;\n };\n\n /**\n * Constructs a relative path from a URL.\n *\n * @param url - The destination URL\n * @param base - The base URL\n * @returns The relative path\n *\n * @group Utils\n *\n * @beta\n */\n function urlToRelativePath(url, base) {\n var to = new URL(url);\n var from = new URL(base);\n if (to.origin !== from.origin) {\n return url;\n }\n var toPath = to.pathname.split('/').slice(1);\n var fromPath = from.pathname.split('/').slice(1, -1);\n // remove common parents\n while (toPath[0] === fromPath[0]) {\n toPath.shift();\n fromPath.shift();\n }\n // add back paths\n while (fromPath.length) {\n fromPath.shift();\n toPath.unshift('..');\n }\n return toPath.join('/');\n }\n\n /**\n * Generate a random v4 UUID\n *\n * @returns A random v4 UUID\n *\n * @group Utils\n *\n * @beta\n */\n function uuid() {\n try {\n return crypto.randomUUID();\n } catch (error) {\n try {\n var url = URL.createObjectURL(new Blob());\n var _uuid = url.toString();\n URL.revokeObjectURL(url);\n return _uuid.slice(_uuid.lastIndexOf('/') + 1);\n } catch (error) {\n var dt = new Date().getTime();\n var _uuid2 = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\n var r = (dt + Math.random() * 16) % 16 | 0;\n dt = Math.floor(dt / 16);\n return (c == 'x' ? r : r & 0x3 | 0x8).toString(16);\n });\n return _uuid2;\n }\n }\n }\n\n var toRounded = function toRounded(value) {\n return Math.round(value);\n };\n var toUrlSafe = function toUrlSafe(value, options) {\n if (options != null && options.baseUrl) {\n value = urlToRelativePath(value, options.baseUrl);\n }\n return encodeURIComponent(value);\n };\n var toHundred = function toHundred(value) {\n return toRounded(value / 100) * 100;\n };\n /**\n * The default formatters for CMCD values.\n *\n * @group CMCD\n *\n * @beta\n */\n var CmcdFormatters = {\n /**\n * Bitrate (kbps) rounded integer\n */\n br: toRounded,\n /**\n * Duration (milliseconds) rounded integer\n */\n d: toRounded,\n /**\n * Buffer Length (milliseconds) rounded nearest 100ms\n */\n bl: toHundred,\n /**\n * Deadline (milliseconds) rounded nearest 100ms\n */\n dl: toHundred,\n /**\n * Measured Throughput (kbps) rounded nearest 100kbps\n */\n mtp: toHundred,\n /**\n * Next Object Request URL encoded\n */\n nor: toUrlSafe,\n /**\n * Requested maximum throughput (kbps) rounded nearest 100kbps\n */\n rtp: toHundred,\n /**\n * Top Bitrate (kbps) rounded integer\n */\n tb: toRounded\n };\n\n /**\n * Internal CMCD processing function.\n *\n * @param obj - The CMCD object to process.\n * @param map - The mapping function to use.\n * @param options - Options for encoding.\n *\n * @internal\n *\n * @group CMCD\n */\n function processCmcd(obj, options) {\n var results = {};\n if (obj == null || typeof obj !== 'object') {\n return results;\n }\n var keys = Object.keys(obj).sort();\n var formatters = _extends({}, CmcdFormatters, options == null ? void 0 : options.formatters);\n var filter = options == null ? void 0 : options.filter;\n keys.forEach(function (key) {\n if (filter != null && filter(key)) {\n return;\n }\n var value = obj[key];\n var formatter = formatters[key];\n if (formatter) {\n value = formatter(value, options);\n }\n // Version should only be reported if not equal to 1.\n if (key === 'v' && value === 1) {\n return;\n }\n // Playback rate should only be sent if not equal to 1.\n if (key == 'pr' && value === 1) {\n return;\n }\n // ignore invalid values\n if (!isValid(value)) {\n return;\n }\n if (isTokenField(key) && typeof value === 'string') {\n value = new SfToken(value);\n }\n results[key] = value;\n });\n return results;\n }\n\n /**\n * Encode a CMCD object to a string.\n *\n * @param cmcd - The CMCD object to encode.\n * @param options - Options for encoding.\n *\n * @returns The encoded CMCD string.\n *\n * @group CMCD\n *\n * @beta\n */\n function encodeCmcd(cmcd, options) {\n if (options === void 0) {\n options = {};\n }\n if (!cmcd) {\n return '';\n }\n return encodeSfDict(processCmcd(cmcd, options), _extends({\n whitespace: false\n }, options));\n }\n\n /**\n * Convert a CMCD data object to request headers\n *\n * @param cmcd - The CMCD data object to convert.\n * @param options - Options for encoding the CMCD object.\n *\n * @returns The CMCD header shards.\n *\n * @group CMCD\n *\n * @beta\n */\n function toCmcdHeaders(cmcd, options) {\n var _options;\n if (options === void 0) {\n options = {};\n }\n if (!cmcd) {\n return {};\n }\n var entries = Object.entries(cmcd);\n var headerMap = Object.entries(CmcdHeaderMap).concat(Object.entries(((_options = options) == null ? void 0 : _options.customHeaderMap) || {}));\n var shards = entries.reduce(function (acc, entry) {\n var _headerMap$find, _acc$field;\n var key = entry[0],\n value = entry[1];\n var field = ((_headerMap$find = headerMap.find(function (entry) {\n return entry[1].includes(key);\n })) == null ? void 0 : _headerMap$find[0]) || CmcdHeaderField.REQUEST;\n (_acc$field = acc[field]) != null ? _acc$field : acc[field] = {};\n acc[field][key] = value;\n return acc;\n }, {});\n return Object.entries(shards).reduce(function (acc, _ref) {\n var field = _ref[0],\n value = _ref[1];\n acc[field] = encodeCmcd(value, options);\n return acc;\n }, {});\n }\n\n /**\n * Append CMCD query args to a header object.\n *\n * @param headers - The headers to append to.\n * @param cmcd - The CMCD object to append.\n * @param customHeaderMap - A map of custom CMCD keys to header fields.\n *\n * @returns The headers with the CMCD header shards appended.\n *\n * @group CMCD\n *\n * @beta\n */\n function appendCmcdHeaders(headers, cmcd, options) {\n return _extends(headers, toCmcdHeaders(cmcd, options));\n }\n\n /**\n * CMCD parameter name.\n *\n * @group CMCD\n *\n * @beta\n */\n var CMCD_PARAM = 'CMCD';\n\n /**\n * Convert a CMCD data object to a query arg.\n *\n * @param cmcd - The CMCD object to convert.\n * @param options - Options for encoding the CMCD object.\n *\n * @returns The CMCD query arg.\n *\n * @group CMCD\n *\n * @beta\n */\n function toCmcdQuery(cmcd, options) {\n if (options === void 0) {\n options = {};\n }\n if (!cmcd) {\n return '';\n }\n var params = encodeCmcd(cmcd, options);\n return CMCD_PARAM + \"=\" + encodeURIComponent(params);\n }\n\n var REGEX = /CMCD=[^&#]+/;\n /**\n * Append CMCD query args to a URL.\n *\n * @param url - The URL to append to.\n * @param cmcd - The CMCD object to append.\n * @param options - Options for encoding the CMCD object.\n *\n * @returns The URL with the CMCD query args appended.\n *\n * @group CMCD\n *\n * @beta\n */\n function appendCmcdQuery(url, cmcd, options) {\n // TODO: Replace with URLSearchParams once we drop Safari < 10.1 & Chrome < 49 support.\n // https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n var query = toCmcdQuery(cmcd, options);\n if (!query) {\n return url;\n }\n if (REGEX.test(url)) {\n return url.replace(REGEX, query);\n }\n var separator = url.includes('?') ? '&' : '?';\n return \"\" + url + separator + query;\n }\n\n /**\n * Controller to deal with Common Media Client Data (CMCD)\n * @see https://cdn.cta.tech/cta/media/media/resources/standards/pdfs/cta-5004-final.pdf\n */\n var CMCDController = /*#__PURE__*/function () {\n // eslint-disable-line no-restricted-globals\n\n function CMCDController(hls) {\n var _this = this;\n this.hls = void 0;\n this.config = void 0;\n this.media = void 0;\n this.sid = void 0;\n this.cid = void 0;\n this.useHeaders = false;\n this.includeKeys = void 0;\n this.initialized = false;\n this.starved = false;\n this.buffering = true;\n this.audioBuffer = void 0;\n // eslint-disable-line no-restricted-globals\n this.videoBuffer = void 0;\n this.onWaiting = function () {\n if (_this.initialized) {\n _this.starved = true;\n }\n _this.buffering = true;\n };\n this.onPlaying = function () {\n if (!_this.initialized) {\n _this.initialized = true;\n }\n _this.buffering = false;\n };\n /**\n * Apply CMCD data to a manifest request.\n */\n this.applyPlaylistData = function (context) {\n try {\n _this.apply(context, {\n ot: CmObjectType.MANIFEST,\n su: !_this.initialized\n });\n } catch (error) {\n logger.warn('Could not generate manifest CMCD data.', error);\n }\n };\n /**\n * Apply CMCD data to a segment request\n */\n this.applyFragmentData = function (context) {\n try {\n var fragment = context.frag;\n var level = _this.hls.levels[fragment.level];\n var ot = _this.getObjectType(fragment);\n var data = {\n d: fragment.duration * 1000,\n ot: ot\n };\n if (ot === CmObjectType.VIDEO || ot === CmObjectType.AUDIO || ot == CmObjectType.MUXED) {\n data.br = level.bitrate / 1000;\n data.tb = _this.getTopBandwidth(ot) / 1000;\n data.bl = _this.getBufferLength(ot);\n }\n _this.apply(context, data);\n } catch (error) {\n logger.warn('Could not generate segment CMCD data.', error);\n }\n };\n this.hls = hls;\n var config = this.config = hls.config;\n var cmcd = config.cmcd;\n if (cmcd != null) {\n config.pLoader = this.createPlaylistLoader();\n config.fLoader = this.createFragmentLoader();\n this.sid = cmcd.sessionId || uuid();\n this.cid = cmcd.contentId;\n this.useHeaders = cmcd.useHeaders === true;\n this.includeKeys = cmcd.includeKeys;\n this.registerListeners();\n }\n }\n var _proto = CMCDController.prototype;\n _proto.registerListeners = function registerListeners() {\n var hls = this.hls;\n hls.on(Events.MEDIA_ATTACHED, this.onMediaAttached, this);\n hls.on(Events.MEDIA_DETACHED, this.onMediaDetached, this);\n hls.on(Events.BUFFER_CREATED, this.onBufferCreated, this);\n };\n _proto.unregisterListeners = function unregisterListeners() {\n var hls = this.hls;\n hls.off(Events.MEDIA_ATTACHED, this.onMediaAttached, this);\n hls.off(Events.MEDIA_DETACHED, this.onMediaDetached, this);\n hls.off(Events.BUFFER_CREATED, this.onBufferCreated, this);\n };\n _proto.destroy = function destroy() {\n this.unregisterListeners();\n this.onMediaDetached();\n\n // @ts-ignore\n this.hls = this.config = this.audioBuffer = this.videoBuffer = null;\n // @ts-ignore\n this.onWaiting = this.onPlaying = null;\n };\n _proto.onMediaAttached = function onMediaAttached(event, data) {\n this.media = data.media;\n this.media.addEventListener('waiting', this.onWaiting);\n this.media.addEventListener('playing', this.onPlaying);\n };\n _proto.onMediaDetached = function onMediaDetached() {\n if (!this.media) {\n return;\n }\n this.media.removeEventListener('waiting', this.onWaiting);\n this.media.removeEventListener('playing', this.onPlaying);\n\n // @ts-ignore\n this.media = null;\n };\n _proto.onBufferCreated = function onBufferCreated(event, data) {\n var _data$tracks$audio, _data$tracks$video;\n this.audioBuffer = (_data$tracks$audio = data.tracks.audio) == null ? void 0 : _data$tracks$audio.buffer;\n this.videoBuffer = (_data$tracks$video = data.tracks.video) == null ? void 0 : _data$tracks$video.buffer;\n };\n /**\n * Create baseline CMCD data\n */\n _proto.createData = function createData() {\n var _this$media;\n return {\n v: 1,\n sf: CmStreamingFormat.HLS,\n sid: this.sid,\n cid: this.cid,\n pr: (_this$media = this.media) == null ? void 0 : _this$media.playbackRate,\n mtp: this.hls.bandwidthEstimate / 1000\n };\n }\n\n /**\n * Apply CMCD data to a request.\n */;\n _proto.apply = function apply(context, data) {\n if (data === void 0) {\n data = {};\n }\n // apply baseline data\n _extends(data, this.createData());\n var isVideo = data.ot === CmObjectType.INIT || data.ot === CmObjectType.VIDEO || data.ot === CmObjectType.MUXED;\n if (this.starved && isVideo) {\n data.bs = true;\n data.su = true;\n this.starved = false;\n }\n if (data.su == null) {\n data.su = this.buffering;\n }\n\n // TODO: Implement rtp, nrr, nor, dl\n\n var includeKeys = this.includeKeys;\n if (includeKeys) {\n data = Object.keys(data).reduce(function (acc, key) {\n includeKeys.includes(key) && (acc[key] = data[key]);\n return acc;\n }, {});\n }\n if (this.useHeaders) {\n if (!context.headers) {\n context.headers = {};\n }\n appendCmcdHeaders(context.headers, data);\n } else {\n context.url = appendCmcdQuery(context.url, data);\n }\n };\n /**\n * The CMCD object type.\n */\n _proto.getObjectType = function getObjectType(fragment) {\n var type = fragment.type;\n if (type === 'subtitle') {\n return CmObjectType.TIMED_TEXT;\n }\n if (fragment.sn === 'initSegment') {\n return CmObjectType.INIT;\n }\n if (type === 'audio') {\n return CmObjectType.AUDIO;\n }\n if (type === 'main') {\n if (!this.hls.audioTracks.length) {\n return CmObjectType.MUXED;\n }\n return CmObjectType.VIDEO;\n }\n return undefined;\n }\n\n /**\n * Get the highest bitrate.\n */;\n _proto.getTopBandwidth = function getTopBandwidth(type) {\n var bitrate = 0;\n var levels;\n var hls = this.hls;\n if (type === CmObjectType.AUDIO) {\n levels = hls.audioTracks;\n } else {\n var max = hls.maxAutoLevel;\n var len = max > -1 ? max + 1 : hls.levels.length;\n levels = hls.levels.slice(0, len);\n }\n for (var _iterator = _createForOfIteratorHelperLoose(levels), _step; !(_step = _iterator()).done;) {\n var level = _step.value;\n if (level.bitrate > bitrate) {\n bitrate = level.bitrate;\n }\n }\n return bitrate > 0 ? bitrate : NaN;\n }\n\n /**\n * Get the buffer length for a media type in milliseconds\n */;\n _proto.getBufferLength = function getBufferLength(type) {\n var media = this.hls.media;\n var buffer = type === CmObjectType.AUDIO ? this.audioBuffer : this.videoBuffer;\n if (!buffer || !media) {\n return NaN;\n }\n var info = BufferHelper.bufferInfo(buffer, media.currentTime, this.config.maxBufferHole);\n return info.len * 1000;\n }\n\n /**\n * Create a playlist loader\n */;\n _proto.createPlaylistLoader = function createPlaylistLoader() {\n var pLoader = this.config.pLoader;\n var apply = this.applyPlaylistData;\n var Ctor = pLoader || this.config.loader;\n return /*#__PURE__*/function () {\n function CmcdPlaylistLoader(config) {\n this.loader = void 0;\n this.loader = new Ctor(config);\n }\n var _proto2 = CmcdPlaylistLoader.prototype;\n _proto2.destroy = function destroy() {\n this.loader.destroy();\n };\n _proto2.abort = function abort() {\n this.loader.abort();\n };\n _proto2.load = function load(context, config, callbacks) {\n apply(context);\n this.loader.load(context, config, callbacks);\n };\n _createClass(CmcdPlaylistLoader, [{\n key: \"stats\",\n get: function get() {\n return this.loader.stats;\n }\n }, {\n key: \"context\",\n get: function get() {\n return this.loader.context;\n }\n }]);\n return CmcdPlaylistLoader;\n }();\n }\n\n /**\n * Create a playlist loader\n */;\n _proto.createFragmentLoader = function createFragmentLoader() {\n var fLoader = this.config.fLoader;\n var apply = this.applyFragmentData;\n var Ctor = fLoader || this.config.loader;\n return /*#__PURE__*/function () {\n function CmcdFragmentLoader(config) {\n this.loader = void 0;\n this.loader = new Ctor(config);\n }\n var _proto3 = CmcdFragmentLoader.prototype;\n _proto3.destroy = function destroy() {\n this.loader.destroy();\n };\n _proto3.abort = function abort() {\n this.loader.abort();\n };\n _proto3.load = function load(context, config, callbacks) {\n apply(context);\n this.loader.load(context, config, callbacks);\n };\n _createClass(CmcdFragmentLoader, [{\n key: \"stats\",\n get: function get() {\n return this.loader.stats;\n }\n }, {\n key: \"context\",\n get: function get() {\n return this.loader.context;\n }\n }]);\n return CmcdFragmentLoader;\n }();\n };\n return CMCDController;\n }();\n\n var PATHWAY_PENALTY_DURATION_MS = 300000;\n var ContentSteeringController = /*#__PURE__*/function () {\n function ContentSteeringController(hls) {\n this.hls = void 0;\n this.log = void 0;\n this.loader = null;\n this.uri = null;\n this.pathwayId = '.';\n this.pathwayPriority = null;\n this.timeToLoad = 300;\n this.reloadTimer = -1;\n this.updated = 0;\n this.started = false;\n this.enabled = true;\n this.levels = null;\n this.audioTracks = null;\n this.subtitleTracks = null;\n this.penalizedPathways = {};\n this.hls = hls;\n this.log = logger.log.bind(logger, \"[content-steering]:\");\n this.registerListeners();\n }\n var _proto = ContentSteeringController.prototype;\n _proto.registerListeners = function registerListeners() {\n var hls = this.hls;\n hls.on(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.on(Events.MANIFEST_LOADED, this.onManifestLoaded, this);\n hls.on(Events.MANIFEST_PARSED, this.onManifestParsed, this);\n hls.on(Events.ERROR, this.onError, this);\n };\n _proto.unregisterListeners = function unregisterListeners() {\n var hls = this.hls;\n if (!hls) {\n return;\n }\n hls.off(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.off(Events.MANIFEST_LOADED, this.onManifestLoaded, this);\n hls.off(Events.MANIFEST_PARSED, this.onManifestParsed, this);\n hls.off(Events.ERROR, this.onError, this);\n };\n _proto.startLoad = function startLoad() {\n this.started = true;\n this.clearTimeout();\n if (this.enabled && this.uri) {\n if (this.updated) {\n var ttl = this.timeToLoad * 1000 - (performance.now() - this.updated);\n if (ttl > 0) {\n this.scheduleRefresh(this.uri, ttl);\n return;\n }\n }\n this.loadSteeringManifest(this.uri);\n }\n };\n _proto.stopLoad = function stopLoad() {\n this.started = false;\n if (this.loader) {\n this.loader.destroy();\n this.loader = null;\n }\n this.clearTimeout();\n };\n _proto.clearTimeout = function clearTimeout() {\n if (this.reloadTimer !== -1) {\n self.clearTimeout(this.reloadTimer);\n this.reloadTimer = -1;\n }\n };\n _proto.destroy = function destroy() {\n this.unregisterListeners();\n this.stopLoad();\n // @ts-ignore\n this.hls = null;\n this.levels = this.audioTracks = this.subtitleTracks = null;\n };\n _proto.removeLevel = function removeLevel(levelToRemove) {\n var levels = this.levels;\n if (levels) {\n this.levels = levels.filter(function (level) {\n return level !== levelToRemove;\n });\n }\n };\n _proto.onManifestLoading = function onManifestLoading() {\n this.stopLoad();\n this.enabled = true;\n this.timeToLoad = 300;\n this.updated = 0;\n this.uri = null;\n this.pathwayId = '.';\n this.levels = this.audioTracks = this.subtitleTracks = null;\n };\n _proto.onManifestLoaded = function onManifestLoaded(event, data) {\n var contentSteering = data.contentSteering;\n if (contentSteering === null) {\n return;\n }\n this.pathwayId = contentSteering.pathwayId;\n this.uri = contentSteering.uri;\n if (this.started) {\n this.startLoad();\n }\n };\n _proto.onManifestParsed = function onManifestParsed(event, data) {\n this.audioTracks = data.audioTracks;\n this.subtitleTracks = data.subtitleTracks;\n };\n _proto.onError = function onError(event, data) {\n var errorAction = data.errorAction;\n if ((errorAction == null ? void 0 : errorAction.action) === NetworkErrorAction.SendAlternateToPenaltyBox && errorAction.flags === ErrorActionFlags.MoveAllAlternatesMatchingHost) {\n var levels = this.levels;\n var pathwayPriority = this.pathwayPriority;\n var errorPathway = this.pathwayId;\n if (data.context) {\n var _data$context = data.context,\n groupId = _data$context.groupId,\n _pathwayId = _data$context.pathwayId,\n type = _data$context.type;\n if (groupId && levels) {\n errorPathway = this.getPathwayForGroupId(groupId, type, errorPathway);\n } else if (_pathwayId) {\n errorPathway = _pathwayId;\n }\n }\n if (!(errorPathway in this.penalizedPathways)) {\n this.penalizedPathways[errorPathway] = performance.now();\n }\n if (!pathwayPriority && levels) {\n // If PATHWAY-PRIORITY was not provided, list pathways for error handling\n pathwayPriority = levels.reduce(function (pathways, level) {\n if (pathways.indexOf(level.pathwayId) === -1) {\n pathways.push(level.pathwayId);\n }\n return pathways;\n }, []);\n }\n if (pathwayPriority && pathwayPriority.length > 1) {\n this.updatePathwayPriority(pathwayPriority);\n errorAction.resolved = this.pathwayId !== errorPathway;\n }\n if (!errorAction.resolved) {\n logger.warn(\"Could not resolve \" + data.details + \" (\\\"\" + data.error.message + \"\\\") with content-steering for Pathway: \" + errorPathway + \" levels: \" + (levels ? levels.length : levels) + \" priorities: \" + JSON.stringify(pathwayPriority) + \" penalized: \" + JSON.stringify(this.penalizedPathways));\n }\n }\n };\n _proto.filterParsedLevels = function filterParsedLevels(levels) {\n // Filter levels to only include those that are in the initial pathway\n this.levels = levels;\n var pathwayLevels = this.getLevelsForPathway(this.pathwayId);\n if (pathwayLevels.length === 0) {\n var _pathwayId2 = levels[0].pathwayId;\n this.log(\"No levels found in Pathway \" + this.pathwayId + \". Setting initial Pathway to \\\"\" + _pathwayId2 + \"\\\"\");\n pathwayLevels = this.getLevelsForPathway(_pathwayId2);\n this.pathwayId = _pathwayId2;\n }\n if (pathwayLevels.length !== levels.length) {\n this.log(\"Found \" + pathwayLevels.length + \"/\" + levels.length + \" levels in Pathway \\\"\" + this.pathwayId + \"\\\"\");\n return pathwayLevels;\n }\n return levels;\n };\n _proto.getLevelsForPathway = function getLevelsForPathway(pathwayId) {\n if (this.levels === null) {\n return [];\n }\n return this.levels.filter(function (level) {\n return pathwayId === level.pathwayId;\n });\n };\n _proto.updatePathwayPriority = function updatePathwayPriority(pathwayPriority) {\n this.pathwayPriority = pathwayPriority;\n var levels;\n\n // Evaluate if we should remove the pathway from the penalized list\n var penalizedPathways = this.penalizedPathways;\n var now = performance.now();\n Object.keys(penalizedPathways).forEach(function (pathwayId) {\n if (now - penalizedPathways[pathwayId] > PATHWAY_PENALTY_DURATION_MS) {\n delete penalizedPathways[pathwayId];\n }\n });\n for (var i = 0; i < pathwayPriority.length; i++) {\n var _pathwayId3 = pathwayPriority[i];\n if (_pathwayId3 in penalizedPathways) {\n continue;\n }\n if (_pathwayId3 === this.pathwayId) {\n return;\n }\n var selectedIndex = this.hls.nextLoadLevel;\n var selectedLevel = this.hls.levels[selectedIndex];\n levels = this.getLevelsForPathway(_pathwayId3);\n if (levels.length > 0) {\n this.log(\"Setting Pathway to \\\"\" + _pathwayId3 + \"\\\"\");\n this.pathwayId = _pathwayId3;\n reassignFragmentLevelIndexes(levels);\n this.hls.trigger(Events.LEVELS_UPDATED, {\n levels: levels\n });\n // Set LevelController's level to trigger LEVEL_SWITCHING which loads playlist if needed\n var levelAfterChange = this.hls.levels[selectedIndex];\n if (selectedLevel && levelAfterChange && this.levels) {\n if (levelAfterChange.attrs['STABLE-VARIANT-ID'] !== selectedLevel.attrs['STABLE-VARIANT-ID'] && levelAfterChange.bitrate !== selectedLevel.bitrate) {\n this.log(\"Unstable Pathways change from bitrate \" + selectedLevel.bitrate + \" to \" + levelAfterChange.bitrate);\n }\n this.hls.nextLoadLevel = selectedIndex;\n }\n break;\n }\n }\n };\n _proto.getPathwayForGroupId = function getPathwayForGroupId(groupId, type, defaultPathway) {\n var levels = this.getLevelsForPathway(defaultPathway).concat(this.levels || []);\n for (var i = 0; i < levels.length; i++) {\n if (type === PlaylistContextType.AUDIO_TRACK && levels[i].hasAudioGroup(groupId) || type === PlaylistContextType.SUBTITLE_TRACK && levels[i].hasSubtitleGroup(groupId)) {\n return levels[i].pathwayId;\n }\n }\n return defaultPathway;\n };\n _proto.clonePathways = function clonePathways(pathwayClones) {\n var _this = this;\n var levels = this.levels;\n if (!levels) {\n return;\n }\n var audioGroupCloneMap = {};\n var subtitleGroupCloneMap = {};\n pathwayClones.forEach(function (pathwayClone) {\n var cloneId = pathwayClone.ID,\n baseId = pathwayClone['BASE-ID'],\n uriReplacement = pathwayClone['URI-REPLACEMENT'];\n if (levels.some(function (level) {\n return level.pathwayId === cloneId;\n })) {\n return;\n }\n var clonedVariants = _this.getLevelsForPathway(baseId).map(function (baseLevel) {\n var attributes = new AttrList(baseLevel.attrs);\n attributes['PATHWAY-ID'] = cloneId;\n var clonedAudioGroupId = attributes.AUDIO && attributes.AUDIO + \"_clone_\" + cloneId;\n var clonedSubtitleGroupId = attributes.SUBTITLES && attributes.SUBTITLES + \"_clone_\" + cloneId;\n if (clonedAudioGroupId) {\n audioGroupCloneMap[attributes.AUDIO] = clonedAudioGroupId;\n attributes.AUDIO = clonedAudioGroupId;\n }\n if (clonedSubtitleGroupId) {\n subtitleGroupCloneMap[attributes.SUBTITLES] = clonedSubtitleGroupId;\n attributes.SUBTITLES = clonedSubtitleGroupId;\n }\n var url = performUriReplacement(baseLevel.uri, attributes['STABLE-VARIANT-ID'], 'PER-VARIANT-URIS', uriReplacement);\n var clonedLevel = new Level({\n attrs: attributes,\n audioCodec: baseLevel.audioCodec,\n bitrate: baseLevel.bitrate,\n height: baseLevel.height,\n name: baseLevel.name,\n url: url,\n videoCodec: baseLevel.videoCodec,\n width: baseLevel.width\n });\n if (baseLevel.audioGroups) {\n for (var i = 1; i < baseLevel.audioGroups.length; i++) {\n clonedLevel.addGroupId('audio', baseLevel.audioGroups[i] + \"_clone_\" + cloneId);\n }\n }\n if (baseLevel.subtitleGroups) {\n for (var _i = 1; _i < baseLevel.subtitleGroups.length; _i++) {\n clonedLevel.addGroupId('text', baseLevel.subtitleGroups[_i] + \"_clone_\" + cloneId);\n }\n }\n return clonedLevel;\n });\n levels.push.apply(levels, clonedVariants);\n cloneRenditionGroups(_this.audioTracks, audioGroupCloneMap, uriReplacement, cloneId);\n cloneRenditionGroups(_this.subtitleTracks, subtitleGroupCloneMap, uriReplacement, cloneId);\n });\n };\n _proto.loadSteeringManifest = function loadSteeringManifest(uri) {\n var _this2 = this;\n var config = this.hls.config;\n var Loader = config.loader;\n if (this.loader) {\n this.loader.destroy();\n }\n this.loader = new Loader(config);\n var url;\n try {\n url = new self.URL(uri);\n } catch (error) {\n this.enabled = false;\n this.log(\"Failed to parse Steering Manifest URI: \" + uri);\n return;\n }\n if (url.protocol !== 'data:') {\n var throughput = (this.hls.bandwidthEstimate || config.abrEwmaDefaultEstimate) | 0;\n url.searchParams.set('_HLS_pathway', this.pathwayId);\n url.searchParams.set('_HLS_throughput', '' + throughput);\n }\n var context = {\n responseType: 'json',\n url: url.href\n };\n var loadPolicy = config.steeringManifestLoadPolicy.default;\n var legacyRetryCompatibility = loadPolicy.errorRetry || loadPolicy.timeoutRetry || {};\n var loaderConfig = {\n loadPolicy: loadPolicy,\n timeout: loadPolicy.maxLoadTimeMs,\n maxRetry: legacyRetryCompatibility.maxNumRetry || 0,\n retryDelay: legacyRetryCompatibility.retryDelayMs || 0,\n maxRetryDelay: legacyRetryCompatibility.maxRetryDelayMs || 0\n };\n var callbacks = {\n onSuccess: function onSuccess(response, stats, context, networkDetails) {\n _this2.log(\"Loaded steering manifest: \\\"\" + url + \"\\\"\");\n var steeringData = response.data;\n if (steeringData.VERSION !== 1) {\n _this2.log(\"Steering VERSION \" + steeringData.VERSION + \" not supported!\");\n return;\n }\n _this2.updated = performance.now();\n _this2.timeToLoad = steeringData.TTL;\n var reloadUri = steeringData['RELOAD-URI'],\n pathwayClones = steeringData['PATHWAY-CLONES'],\n pathwayPriority = steeringData['PATHWAY-PRIORITY'];\n if (reloadUri) {\n try {\n _this2.uri = new self.URL(reloadUri, url).href;\n } catch (error) {\n _this2.enabled = false;\n _this2.log(\"Failed to parse Steering Manifest RELOAD-URI: \" + reloadUri);\n return;\n }\n }\n _this2.scheduleRefresh(_this2.uri || context.url);\n if (pathwayClones) {\n _this2.clonePathways(pathwayClones);\n }\n var loadedSteeringData = {\n steeringManifest: steeringData,\n url: url.toString()\n };\n _this2.hls.trigger(Events.STEERING_MANIFEST_LOADED, loadedSteeringData);\n if (pathwayPriority) {\n _this2.updatePathwayPriority(pathwayPriority);\n }\n },\n onError: function onError(error, context, networkDetails, stats) {\n _this2.log(\"Error loading steering manifest: \" + error.code + \" \" + error.text + \" (\" + context.url + \")\");\n _this2.stopLoad();\n if (error.code === 410) {\n _this2.enabled = false;\n _this2.log(\"Steering manifest \" + context.url + \" no longer available\");\n return;\n }\n var ttl = _this2.timeToLoad * 1000;\n if (error.code === 429) {\n var loader = _this2.loader;\n if (typeof (loader == null ? void 0 : loader.getResponseHeader) === 'function') {\n var retryAfter = loader.getResponseHeader('Retry-After');\n if (retryAfter) {\n ttl = parseFloat(retryAfter) * 1000;\n }\n }\n _this2.log(\"Steering manifest \" + context.url + \" rate limited\");\n return;\n }\n _this2.scheduleRefresh(_this2.uri || context.url, ttl);\n },\n onTimeout: function onTimeout(stats, context, networkDetails) {\n _this2.log(\"Timeout loading steering manifest (\" + context.url + \")\");\n _this2.scheduleRefresh(_this2.uri || context.url);\n }\n };\n this.log(\"Requesting steering manifest: \" + url);\n this.loader.load(context, loaderConfig, callbacks);\n };\n _proto.scheduleRefresh = function scheduleRefresh(uri, ttlMs) {\n var _this3 = this;\n if (ttlMs === void 0) {\n ttlMs = this.timeToLoad * 1000;\n }\n this.clearTimeout();\n this.reloadTimer = self.setTimeout(function () {\n var _this3$hls;\n var media = (_this3$hls = _this3.hls) == null ? void 0 : _this3$hls.media;\n if (media && !media.ended) {\n _this3.loadSteeringManifest(uri);\n return;\n }\n _this3.scheduleRefresh(uri, _this3.timeToLoad * 1000);\n }, ttlMs);\n };\n return ContentSteeringController;\n }();\n function cloneRenditionGroups(tracks, groupCloneMap, uriReplacement, cloneId) {\n if (!tracks) {\n return;\n }\n Object.keys(groupCloneMap).forEach(function (audioGroupId) {\n var clonedTracks = tracks.filter(function (track) {\n return track.groupId === audioGroupId;\n }).map(function (track) {\n var clonedTrack = _extends({}, track);\n clonedTrack.details = undefined;\n clonedTrack.attrs = new AttrList(clonedTrack.attrs);\n clonedTrack.url = clonedTrack.attrs.URI = performUriReplacement(track.url, track.attrs['STABLE-RENDITION-ID'], 'PER-RENDITION-URIS', uriReplacement);\n clonedTrack.groupId = clonedTrack.attrs['GROUP-ID'] = groupCloneMap[audioGroupId];\n clonedTrack.attrs['PATHWAY-ID'] = cloneId;\n return clonedTrack;\n });\n tracks.push.apply(tracks, clonedTracks);\n });\n }\n function performUriReplacement(uri, stableId, perOptionKey, uriReplacement) {\n var host = uriReplacement.HOST,\n params = uriReplacement.PARAMS,\n perOptionUris = uriReplacement[perOptionKey];\n var perVariantUri;\n if (stableId) {\n perVariantUri = perOptionUris == null ? void 0 : perOptionUris[stableId];\n if (perVariantUri) {\n uri = perVariantUri;\n }\n }\n var url = new self.URL(uri);\n if (host && !perVariantUri) {\n url.host = host;\n }\n if (params) {\n Object.keys(params).sort().forEach(function (key) {\n if (key) {\n url.searchParams.set(key, params[key]);\n }\n });\n }\n return url.href;\n }\n\n var AGE_HEADER_LINE_REGEX = /^age:\\s*[\\d.]+\\s*$/im;\n var XhrLoader = /*#__PURE__*/function () {\n function XhrLoader(config) {\n this.xhrSetup = void 0;\n this.requestTimeout = void 0;\n this.retryTimeout = void 0;\n this.retryDelay = void 0;\n this.config = null;\n this.callbacks = null;\n this.context = null;\n this.loader = null;\n this.stats = void 0;\n this.xhrSetup = config ? config.xhrSetup || null : null;\n this.stats = new LoadStats();\n this.retryDelay = 0;\n }\n var _proto = XhrLoader.prototype;\n _proto.destroy = function destroy() {\n this.callbacks = null;\n this.abortInternal();\n this.loader = null;\n this.config = null;\n this.context = null;\n this.xhrSetup = null;\n // @ts-ignore\n this.stats = null;\n };\n _proto.abortInternal = function abortInternal() {\n var loader = this.loader;\n self.clearTimeout(this.requestTimeout);\n self.clearTimeout(this.retryTimeout);\n if (loader) {\n loader.onreadystatechange = null;\n loader.onprogress = null;\n if (loader.readyState !== 4) {\n this.stats.aborted = true;\n loader.abort();\n }\n }\n };\n _proto.abort = function abort() {\n var _this$callbacks;\n this.abortInternal();\n if ((_this$callbacks = this.callbacks) != null && _this$callbacks.onAbort) {\n this.callbacks.onAbort(this.stats, this.context, this.loader);\n }\n };\n _proto.load = function load(context, config, callbacks) {\n if (this.stats.loading.start) {\n throw new Error('Loader can only be used once.');\n }\n this.stats.loading.start = self.performance.now();\n this.context = context;\n this.config = config;\n this.callbacks = callbacks;\n this.loadInternal();\n };\n _proto.loadInternal = function loadInternal() {\n var _this = this;\n var config = this.config,\n context = this.context;\n if (!config || !context) {\n return;\n }\n var xhr = this.loader = new self.XMLHttpRequest();\n var stats = this.stats;\n stats.loading.first = 0;\n stats.loaded = 0;\n stats.aborted = false;\n var xhrSetup = this.xhrSetup;\n if (xhrSetup) {\n Promise.resolve().then(function () {\n if (_this.stats.aborted) return;\n return xhrSetup(xhr, context.url);\n }).catch(function (error) {\n xhr.open('GET', context.url, true);\n return xhrSetup(xhr, context.url);\n }).then(function () {\n if (_this.stats.aborted) return;\n _this.openAndSendXhr(xhr, context, config);\n }).catch(function (error) {\n // IE11 throws an exception on xhr.open if attempting to access an HTTP resource over HTTPS\n _this.callbacks.onError({\n code: xhr.status,\n text: error.message\n }, context, xhr, stats);\n return;\n });\n } else {\n this.openAndSendXhr(xhr, context, config);\n }\n };\n _proto.openAndSendXhr = function openAndSendXhr(xhr, context, config) {\n if (!xhr.readyState) {\n xhr.open('GET', context.url, true);\n }\n var headers = context.headers;\n var _config$loadPolicy = config.loadPolicy,\n maxTimeToFirstByteMs = _config$loadPolicy.maxTimeToFirstByteMs,\n maxLoadTimeMs = _config$loadPolicy.maxLoadTimeMs;\n if (headers) {\n for (var header in headers) {\n xhr.setRequestHeader(header, headers[header]);\n }\n }\n if (context.rangeEnd) {\n xhr.setRequestHeader('Range', 'bytes=' + context.rangeStart + '-' + (context.rangeEnd - 1));\n }\n xhr.onreadystatechange = this.readystatechange.bind(this);\n xhr.onprogress = this.loadprogress.bind(this);\n xhr.responseType = context.responseType;\n // setup timeout before we perform request\n self.clearTimeout(this.requestTimeout);\n config.timeout = maxTimeToFirstByteMs && isFiniteNumber(maxTimeToFirstByteMs) ? maxTimeToFirstByteMs : maxLoadTimeMs;\n this.requestTimeout = self.setTimeout(this.loadtimeout.bind(this), config.timeout);\n xhr.send();\n };\n _proto.readystatechange = function readystatechange() {\n var context = this.context,\n xhr = this.loader,\n stats = this.stats;\n if (!context || !xhr) {\n return;\n }\n var readyState = xhr.readyState;\n var config = this.config;\n\n // don't proceed if xhr has been aborted\n if (stats.aborted) {\n return;\n }\n\n // >= HEADERS_RECEIVED\n if (readyState >= 2) {\n if (stats.loading.first === 0) {\n stats.loading.first = Math.max(self.performance.now(), stats.loading.start);\n // readyState >= 2 AND readyState !==4 (readyState = HEADERS_RECEIVED || LOADING) rearm timeout as xhr not finished yet\n if (config.timeout !== config.loadPolicy.maxLoadTimeMs) {\n self.clearTimeout(this.requestTimeout);\n config.timeout = config.loadPolicy.maxLoadTimeMs;\n this.requestTimeout = self.setTimeout(this.loadtimeout.bind(this), config.loadPolicy.maxLoadTimeMs - (stats.loading.first - stats.loading.start));\n }\n }\n if (readyState === 4) {\n self.clearTimeout(this.requestTimeout);\n xhr.onreadystatechange = null;\n xhr.onprogress = null;\n var _status = xhr.status;\n // http status between 200 to 299 are all successful\n var useResponse = xhr.responseType !== 'text';\n if (_status >= 200 && _status < 300 && (useResponse && xhr.response || xhr.responseText !== null)) {\n stats.loading.end = Math.max(self.performance.now(), stats.loading.first);\n var data = useResponse ? xhr.response : xhr.responseText;\n var len = xhr.responseType === 'arraybuffer' ? data.byteLength : data.length;\n stats.loaded = stats.total = len;\n stats.bwEstimate = stats.total * 8000 / (stats.loading.end - stats.loading.first);\n if (!this.callbacks) {\n return;\n }\n var onProgress = this.callbacks.onProgress;\n if (onProgress) {\n onProgress(stats, context, data, xhr);\n }\n if (!this.callbacks) {\n return;\n }\n var response = {\n url: xhr.responseURL,\n data: data,\n code: _status\n };\n this.callbacks.onSuccess(response, stats, context, xhr);\n } else {\n var retryConfig = config.loadPolicy.errorRetry;\n var retryCount = stats.retry;\n // if max nb of retries reached or if http status between 400 and 499 (such error cannot be recovered, retrying is useless), return error\n var _response = {\n url: context.url,\n data: undefined,\n code: _status\n };\n if (shouldRetry(retryConfig, retryCount, false, _response)) {\n this.retry(retryConfig);\n } else {\n logger.error(_status + \" while loading \" + context.url);\n this.callbacks.onError({\n code: _status,\n text: xhr.statusText\n }, context, xhr, stats);\n }\n }\n }\n }\n };\n _proto.loadtimeout = function loadtimeout() {\n var _this$config;\n var retryConfig = (_this$config = this.config) == null ? void 0 : _this$config.loadPolicy.timeoutRetry;\n var retryCount = this.stats.retry;\n if (shouldRetry(retryConfig, retryCount, true)) {\n this.retry(retryConfig);\n } else {\n var _this$context;\n logger.warn(\"timeout while loading \" + ((_this$context = this.context) == null ? void 0 : _this$context.url));\n var callbacks = this.callbacks;\n if (callbacks) {\n this.abortInternal();\n callbacks.onTimeout(this.stats, this.context, this.loader);\n }\n }\n };\n _proto.retry = function retry(retryConfig) {\n var context = this.context,\n stats = this.stats;\n this.retryDelay = getRetryDelay(retryConfig, stats.retry);\n stats.retry++;\n logger.warn((status ? 'HTTP Status ' + status : 'Timeout') + \" while loading \" + (context == null ? void 0 : context.url) + \", retrying \" + stats.retry + \"/\" + retryConfig.maxNumRetry + \" in \" + this.retryDelay + \"ms\");\n // abort and reset internal state\n this.abortInternal();\n this.loader = null;\n // schedule retry\n self.clearTimeout(this.retryTimeout);\n this.retryTimeout = self.setTimeout(this.loadInternal.bind(this), this.retryDelay);\n };\n _proto.loadprogress = function loadprogress(event) {\n var stats = this.stats;\n stats.loaded = event.loaded;\n if (event.lengthComputable) {\n stats.total = event.total;\n }\n };\n _proto.getCacheAge = function getCacheAge() {\n var result = null;\n if (this.loader && AGE_HEADER_LINE_REGEX.test(this.loader.getAllResponseHeaders())) {\n var ageHeader = this.loader.getResponseHeader('age');\n result = ageHeader ? parseFloat(ageHeader) : null;\n }\n return result;\n };\n _proto.getResponseHeader = function getResponseHeader(name) {\n if (this.loader && new RegExp(\"^\" + name + \":\\\\s*[\\\\d.]+\\\\s*$\", 'im').test(this.loader.getAllResponseHeaders())) {\n return this.loader.getResponseHeader(name);\n }\n return null;\n };\n return XhrLoader;\n }();\n\n function fetchSupported() {\n if (\n // @ts-ignore\n self.fetch && self.AbortController && self.ReadableStream && self.Request) {\n try {\n new self.ReadableStream({}); // eslint-disable-line no-new\n return true;\n } catch (e) {\n /* noop */\n }\n }\n return false;\n }\n var BYTERANGE = /(\\d+)-(\\d+)\\/(\\d+)/;\n var FetchLoader = /*#__PURE__*/function () {\n function FetchLoader(config /* HlsConfig */) {\n this.fetchSetup = void 0;\n this.requestTimeout = void 0;\n this.request = null;\n this.response = null;\n this.controller = void 0;\n this.context = null;\n this.config = null;\n this.callbacks = null;\n this.stats = void 0;\n this.loader = null;\n this.fetchSetup = config.fetchSetup || getRequest;\n this.controller = new self.AbortController();\n this.stats = new LoadStats();\n }\n var _proto = FetchLoader.prototype;\n _proto.destroy = function destroy() {\n this.loader = this.callbacks = this.context = this.config = this.request = null;\n this.abortInternal();\n this.response = null;\n // @ts-ignore\n this.fetchSetup = this.controller = this.stats = null;\n };\n _proto.abortInternal = function abortInternal() {\n if (this.controller && !this.stats.loading.end) {\n this.stats.aborted = true;\n this.controller.abort();\n }\n };\n _proto.abort = function abort() {\n var _this$callbacks;\n this.abortInternal();\n if ((_this$callbacks = this.callbacks) != null && _this$callbacks.onAbort) {\n this.callbacks.onAbort(this.stats, this.context, this.response);\n }\n };\n _proto.load = function load(context, config, callbacks) {\n var _this = this;\n var stats = this.stats;\n if (stats.loading.start) {\n throw new Error('Loader can only be used once.');\n }\n stats.loading.start = self.performance.now();\n var initParams = getRequestParameters(context, this.controller.signal);\n var onProgress = callbacks.onProgress;\n var isArrayBuffer = context.responseType === 'arraybuffer';\n var LENGTH = isArrayBuffer ? 'byteLength' : 'length';\n var _config$loadPolicy = config.loadPolicy,\n maxTimeToFirstByteMs = _config$loadPolicy.maxTimeToFirstByteMs,\n maxLoadTimeMs = _config$loadPolicy.maxLoadTimeMs;\n this.context = context;\n this.config = config;\n this.callbacks = callbacks;\n this.request = this.fetchSetup(context, initParams);\n self.clearTimeout(this.requestTimeout);\n config.timeout = maxTimeToFirstByteMs && isFiniteNumber(maxTimeToFirstByteMs) ? maxTimeToFirstByteMs : maxLoadTimeMs;\n this.requestTimeout = self.setTimeout(function () {\n _this.abortInternal();\n callbacks.onTimeout(stats, context, _this.response);\n }, config.timeout);\n self.fetch(this.request).then(function (response) {\n _this.response = _this.loader = response;\n var first = Math.max(self.performance.now(), stats.loading.start);\n self.clearTimeout(_this.requestTimeout);\n config.timeout = maxLoadTimeMs;\n _this.requestTimeout = self.setTimeout(function () {\n _this.abortInternal();\n callbacks.onTimeout(stats, context, _this.response);\n }, maxLoadTimeMs - (first - stats.loading.start));\n if (!response.ok) {\n var status = response.status,\n statusText = response.statusText;\n throw new FetchError(statusText || 'fetch, bad network response', status, response);\n }\n stats.loading.first = first;\n stats.total = getContentLength(response.headers) || stats.total;\n if (onProgress && isFiniteNumber(config.highWaterMark)) {\n return _this.loadProgressively(response, stats, context, config.highWaterMark, onProgress);\n }\n if (isArrayBuffer) {\n return response.arrayBuffer();\n }\n if (context.responseType === 'json') {\n return response.json();\n }\n return response.text();\n }).then(function (responseData) {\n var response = _this.response;\n if (!response) {\n throw new Error('loader destroyed');\n }\n self.clearTimeout(_this.requestTimeout);\n stats.loading.end = Math.max(self.performance.now(), stats.loading.first);\n var total = responseData[LENGTH];\n if (total) {\n stats.loaded = stats.total = total;\n }\n var loaderResponse = {\n url: response.url,\n data: responseData,\n code: response.status\n };\n if (onProgress && !isFiniteNumber(config.highWaterMark)) {\n onProgress(stats, context, responseData, response);\n }\n callbacks.onSuccess(loaderResponse, stats, context, response);\n }).catch(function (error) {\n self.clearTimeout(_this.requestTimeout);\n if (stats.aborted) {\n return;\n }\n // CORS errors result in an undefined code. Set it to 0 here to align with XHR's behavior\n // when destroying, 'error' itself can be undefined\n var code = !error ? 0 : error.code || 0;\n var text = !error ? null : error.message;\n callbacks.onError({\n code: code,\n text: text\n }, context, error ? error.details : null, stats);\n });\n };\n _proto.getCacheAge = function getCacheAge() {\n var result = null;\n if (this.response) {\n var ageHeader = this.response.headers.get('age');\n result = ageHeader ? parseFloat(ageHeader) : null;\n }\n return result;\n };\n _proto.getResponseHeader = function getResponseHeader(name) {\n return this.response ? this.response.headers.get(name) : null;\n };\n _proto.loadProgressively = function loadProgressively(response, stats, context, highWaterMark, onProgress) {\n if (highWaterMark === void 0) {\n highWaterMark = 0;\n }\n var chunkCache = new ChunkCache();\n var reader = response.body.getReader();\n var pump = function pump() {\n return reader.read().then(function (data) {\n if (data.done) {\n if (chunkCache.dataLength) {\n onProgress(stats, context, chunkCache.flush(), response);\n }\n return Promise.resolve(new ArrayBuffer(0));\n }\n var chunk = data.value;\n var len = chunk.length;\n stats.loaded += len;\n if (len < highWaterMark || chunkCache.dataLength) {\n // The current chunk is too small to to be emitted or the cache already has data\n // Push it to the cache\n chunkCache.push(chunk);\n if (chunkCache.dataLength >= highWaterMark) {\n // flush in order to join the typed arrays\n onProgress(stats, context, chunkCache.flush(), response);\n }\n } else {\n // If there's nothing cached already, and the chache is large enough\n // just emit the progress event\n onProgress(stats, context, chunk, response);\n }\n return pump();\n }).catch(function () {\n /* aborted */\n return Promise.reject();\n });\n };\n return pump();\n };\n return FetchLoader;\n }();\n function getRequestParameters(context, signal) {\n var initParams = {\n method: 'GET',\n mode: 'cors',\n credentials: 'same-origin',\n signal: signal,\n headers: new self.Headers(_extends({}, context.headers))\n };\n if (context.rangeEnd) {\n initParams.headers.set('Range', 'bytes=' + context.rangeStart + '-' + String(context.rangeEnd - 1));\n }\n return initParams;\n }\n function getByteRangeLength(byteRangeHeader) {\n var result = BYTERANGE.exec(byteRangeHeader);\n if (result) {\n return parseInt(result[2]) - parseInt(result[1]) + 1;\n }\n }\n function getContentLength(headers) {\n var contentRange = headers.get('Content-Range');\n if (contentRange) {\n var byteRangeLength = getByteRangeLength(contentRange);\n if (isFiniteNumber(byteRangeLength)) {\n return byteRangeLength;\n }\n }\n var contentLength = headers.get('Content-Length');\n if (contentLength) {\n return parseInt(contentLength);\n }\n }\n function getRequest(context, initParams) {\n return new self.Request(context.url, initParams);\n }\n var FetchError = /*#__PURE__*/function (_Error) {\n _inheritsLoose(FetchError, _Error);\n function FetchError(message, code, details) {\n var _this2;\n _this2 = _Error.call(this, message) || this;\n _this2.code = void 0;\n _this2.details = void 0;\n _this2.code = code;\n _this2.details = details;\n return _this2;\n }\n return FetchError;\n }( /*#__PURE__*/_wrapNativeSuper(Error));\n\n var WHITESPACE_CHAR = /\\s/;\n var Cues = {\n newCue: function newCue(track, startTime, endTime, captionScreen) {\n var result = [];\n var row;\n // the type data states this is VTTCue, but it can potentially be a TextTrackCue on old browsers\n var cue;\n var indenting;\n var indent;\n var text;\n var Cue = self.VTTCue || self.TextTrackCue;\n for (var r = 0; r < captionScreen.rows.length; r++) {\n row = captionScreen.rows[r];\n indenting = true;\n indent = 0;\n text = '';\n if (!row.isEmpty()) {\n var _track$cues;\n for (var c = 0; c < row.chars.length; c++) {\n if (WHITESPACE_CHAR.test(row.chars[c].uchar) && indenting) {\n indent++;\n } else {\n text += row.chars[c].uchar;\n indenting = false;\n }\n }\n // To be used for cleaning-up orphaned roll-up captions\n row.cueStartTime = startTime;\n\n // Give a slight bump to the endTime if it's equal to startTime to avoid a SyntaxError in IE\n if (startTime === endTime) {\n endTime += 0.0001;\n }\n if (indent >= 16) {\n indent--;\n } else {\n indent++;\n }\n var cueText = fixLineBreaks(text.trim());\n var id = generateCueId(startTime, endTime, cueText);\n\n // If this cue already exists in the track do not push it\n if (!(track != null && (_track$cues = track.cues) != null && _track$cues.getCueById(id))) {\n cue = new Cue(startTime, endTime, cueText);\n cue.id = id;\n cue.line = r + 1;\n cue.align = 'left';\n // Clamp the position between 10 and 80 percent (CEA-608 PAC indent code)\n // https://dvcs.w3.org/hg/text-tracks/raw-file/default/608toVTT/608toVTT.html#positioning-in-cea-608\n // Firefox throws an exception and captions break with out of bounds 0-100 values\n cue.position = 10 + Math.min(80, Math.floor(indent * 8 / 32) * 10);\n result.push(cue);\n }\n }\n }\n if (track && result.length) {\n // Sort bottom cues in reverse order so that they render in line order when overlapping in Chrome\n result.sort(function (cueA, cueB) {\n if (cueA.line === 'auto' || cueB.line === 'auto') {\n return 0;\n }\n if (cueA.line > 8 && cueB.line > 8) {\n return cueB.line - cueA.line;\n }\n return cueA.line - cueB.line;\n });\n result.forEach(function (cue) {\n return addCueToTrack(track, cue);\n });\n }\n return result;\n }\n };\n\n /**\n * @deprecated use fragLoadPolicy.default\n */\n\n /**\n * @deprecated use manifestLoadPolicy.default and playlistLoadPolicy.default\n */\n\n var defaultLoadPolicy = {\n maxTimeToFirstByteMs: 8000,\n maxLoadTimeMs: 20000,\n timeoutRetry: null,\n errorRetry: null\n };\n\n /**\n * @ignore\n * If possible, keep hlsDefaultConfig shallow\n * It is cloned whenever a new Hls instance is created, by keeping the config\n * shallow the properties are cloned, and we don't end up manipulating the default\n */\n var hlsDefaultConfig = _objectSpread2(_objectSpread2({\n autoStartLoad: true,\n // used by stream-controller\n startPosition: -1,\n // used by stream-controller\n defaultAudioCodec: undefined,\n // used by stream-controller\n debug: false,\n // used by logger\n capLevelOnFPSDrop: false,\n // used by fps-controller\n capLevelToPlayerSize: false,\n // used by cap-level-controller\n ignoreDevicePixelRatio: false,\n // used by cap-level-controller\n preferManagedMediaSource: true,\n initialLiveManifestSize: 1,\n // used by stream-controller\n maxBufferLength: 30,\n // used by stream-controller\n backBufferLength: Infinity,\n // used by buffer-controller\n frontBufferFlushThreshold: Infinity,\n maxBufferSize: 60 * 1000 * 1000,\n // used by stream-controller\n maxBufferHole: 0.1,\n // used by stream-controller\n highBufferWatchdogPeriod: 2,\n // used by stream-controller\n nudgeOffset: 0.1,\n // used by stream-controller\n nudgeMaxRetry: 3,\n // used by stream-controller\n maxFragLookUpTolerance: 0.25,\n // used by stream-controller\n liveSyncDurationCount: 3,\n // used by latency-controller\n liveMaxLatencyDurationCount: Infinity,\n // used by latency-controller\n liveSyncDuration: undefined,\n // used by latency-controller\n liveMaxLatencyDuration: undefined,\n // used by latency-controller\n maxLiveSyncPlaybackRate: 1,\n // used by latency-controller\n liveDurationInfinity: false,\n // used by buffer-controller\n /**\n * @deprecated use backBufferLength\n */\n liveBackBufferLength: null,\n // used by buffer-controller\n maxMaxBufferLength: 600,\n // used by stream-controller\n enableWorker: true,\n // used by transmuxer\n workerPath: null,\n // used by transmuxer\n enableSoftwareAES: true,\n // used by decrypter\n startLevel: undefined,\n // used by level-controller\n startFragPrefetch: false,\n // used by stream-controller\n fpsDroppedMonitoringPeriod: 5000,\n // used by fps-controller\n fpsDroppedMonitoringThreshold: 0.2,\n // used by fps-controller\n appendErrorMaxRetry: 3,\n // used by buffer-controller\n loader: XhrLoader,\n // loader: FetchLoader,\n fLoader: undefined,\n // used by fragment-loader\n pLoader: undefined,\n // used by playlist-loader\n xhrSetup: undefined,\n // used by xhr-loader\n licenseXhrSetup: undefined,\n // used by eme-controller\n licenseResponseCallback: undefined,\n // used by eme-controller\n abrController: AbrController,\n bufferController: BufferController,\n capLevelController: CapLevelController,\n errorController: ErrorController,\n fpsController: FPSController,\n stretchShortVideoTrack: false,\n // used by mp4-remuxer\n maxAudioFramesDrift: 1,\n // used by mp4-remuxer\n forceKeyFrameOnDiscontinuity: true,\n // used by ts-demuxer\n abrEwmaFastLive: 3,\n // used by abr-controller\n abrEwmaSlowLive: 9,\n // used by abr-controller\n abrEwmaFastVoD: 3,\n // used by abr-controller\n abrEwmaSlowVoD: 9,\n // used by abr-controller\n abrEwmaDefaultEstimate: 5e5,\n // 500 kbps // used by abr-controller\n abrEwmaDefaultEstimateMax: 5e6,\n // 5 mbps\n abrBandWidthFactor: 0.95,\n // used by abr-controller\n abrBandWidthUpFactor: 0.7,\n // used by abr-controller\n abrMaxWithRealBitrate: false,\n // used by abr-controller\n maxStarvationDelay: 4,\n // used by abr-controller\n maxLoadingDelay: 4,\n // used by abr-controller\n minAutoBitrate: 0,\n // used by hls\n emeEnabled: false,\n // used by eme-controller\n widevineLicenseUrl: undefined,\n // used by eme-controller\n drmSystems: {},\n // used by eme-controller\n drmSystemOptions: {},\n // used by eme-controller\n requestMediaKeySystemAccessFunc: requestMediaKeySystemAccess ,\n // used by eme-controller\n testBandwidth: true,\n progressive: false,\n lowLatencyMode: true,\n cmcd: undefined,\n enableDateRangeMetadataCues: true,\n enableEmsgMetadataCues: true,\n enableID3MetadataCues: true,\n useMediaCapabilities: true,\n certLoadPolicy: {\n default: defaultLoadPolicy\n },\n keyLoadPolicy: {\n default: {\n maxTimeToFirstByteMs: 8000,\n maxLoadTimeMs: 20000,\n timeoutRetry: {\n maxNumRetry: 1,\n retryDelayMs: 1000,\n maxRetryDelayMs: 20000,\n backoff: 'linear'\n },\n errorRetry: {\n maxNumRetry: 8,\n retryDelayMs: 1000,\n maxRetryDelayMs: 20000,\n backoff: 'linear'\n }\n }\n },\n manifestLoadPolicy: {\n default: {\n maxTimeToFirstByteMs: Infinity,\n maxLoadTimeMs: 20000,\n timeoutRetry: {\n maxNumRetry: 2,\n retryDelayMs: 0,\n maxRetryDelayMs: 0\n },\n errorRetry: {\n maxNumRetry: 1,\n retryDelayMs: 1000,\n maxRetryDelayMs: 8000\n }\n }\n },\n playlistLoadPolicy: {\n default: {\n maxTimeToFirstByteMs: 10000,\n maxLoadTimeMs: 20000,\n timeoutRetry: {\n maxNumRetry: 2,\n retryDelayMs: 0,\n maxRetryDelayMs: 0\n },\n errorRetry: {\n maxNumRetry: 2,\n retryDelayMs: 1000,\n maxRetryDelayMs: 8000\n }\n }\n },\n fragLoadPolicy: {\n default: {\n maxTimeToFirstByteMs: 10000,\n maxLoadTimeMs: 120000,\n timeoutRetry: {\n maxNumRetry: 4,\n retryDelayMs: 0,\n maxRetryDelayMs: 0\n },\n errorRetry: {\n maxNumRetry: 6,\n retryDelayMs: 1000,\n maxRetryDelayMs: 8000\n }\n }\n },\n steeringManifestLoadPolicy: {\n default: {\n maxTimeToFirstByteMs: 10000,\n maxLoadTimeMs: 20000,\n timeoutRetry: {\n maxNumRetry: 2,\n retryDelayMs: 0,\n maxRetryDelayMs: 0\n },\n errorRetry: {\n maxNumRetry: 1,\n retryDelayMs: 1000,\n maxRetryDelayMs: 8000\n }\n } \n },\n // These default settings are deprecated in favor of the above policies\n // and are maintained for backwards compatibility\n manifestLoadingTimeOut: 10000,\n manifestLoadingMaxRetry: 1,\n manifestLoadingRetryDelay: 1000,\n manifestLoadingMaxRetryTimeout: 64000,\n levelLoadingTimeOut: 10000,\n levelLoadingMaxRetry: 4,\n levelLoadingRetryDelay: 1000,\n levelLoadingMaxRetryTimeout: 64000,\n fragLoadingTimeOut: 20000,\n fragLoadingMaxRetry: 6,\n fragLoadingRetryDelay: 1000,\n fragLoadingMaxRetryTimeout: 64000\n }, timelineConfig()), {}, {\n subtitleStreamController: SubtitleStreamController ,\n subtitleTrackController: SubtitleTrackController ,\n timelineController: TimelineController ,\n audioStreamController: AudioStreamController ,\n audioTrackController: AudioTrackController ,\n emeController: EMEController ,\n cmcdController: CMCDController ,\n contentSteeringController: ContentSteeringController \n });\n function timelineConfig() {\n return {\n cueHandler: Cues,\n // used by timeline-controller\n enableWebVTT: true,\n // used by timeline-controller\n enableIMSC1: true,\n // used by timeline-controller\n enableCEA708Captions: true,\n // used by timeline-controller\n captionsTextTrack1Label: 'English',\n // used by timeline-controller\n captionsTextTrack1LanguageCode: 'en',\n // used by timeline-controller\n captionsTextTrack2Label: 'Spanish',\n // used by timeline-controller\n captionsTextTrack2LanguageCode: 'es',\n // used by timeline-controller\n captionsTextTrack3Label: 'Unknown CC',\n // used by timeline-controller\n captionsTextTrack3LanguageCode: '',\n // used by timeline-controller\n captionsTextTrack4Label: 'Unknown CC',\n // used by timeline-controller\n captionsTextTrack4LanguageCode: '',\n // used by timeline-controller\n renderTextTracksNatively: true\n };\n }\n\n /**\n * @ignore\n */\n function mergeConfig(defaultConfig, userConfig) {\n if ((userConfig.liveSyncDurationCount || userConfig.liveMaxLatencyDurationCount) && (userConfig.liveSyncDuration || userConfig.liveMaxLatencyDuration)) {\n throw new Error(\"Illegal hls.js config: don't mix up liveSyncDurationCount/liveMaxLatencyDurationCount and liveSyncDuration/liveMaxLatencyDuration\");\n }\n if (userConfig.liveMaxLatencyDurationCount !== undefined && (userConfig.liveSyncDurationCount === undefined || userConfig.liveMaxLatencyDurationCount <= userConfig.liveSyncDurationCount)) {\n throw new Error('Illegal hls.js config: \"liveMaxLatencyDurationCount\" must be greater than \"liveSyncDurationCount\"');\n }\n if (userConfig.liveMaxLatencyDuration !== undefined && (userConfig.liveSyncDuration === undefined || userConfig.liveMaxLatencyDuration <= userConfig.liveSyncDuration)) {\n throw new Error('Illegal hls.js config: \"liveMaxLatencyDuration\" must be greater than \"liveSyncDuration\"');\n }\n var defaultsCopy = deepCpy(defaultConfig);\n\n // Backwards compatibility with deprecated config values\n var deprecatedSettingTypes = ['manifest', 'level', 'frag'];\n var deprecatedSettings = ['TimeOut', 'MaxRetry', 'RetryDelay', 'MaxRetryTimeout'];\n deprecatedSettingTypes.forEach(function (type) {\n var policyName = (type === 'level' ? 'playlist' : type) + \"LoadPolicy\";\n var policyNotSet = userConfig[policyName] === undefined;\n var report = [];\n deprecatedSettings.forEach(function (setting) {\n var deprecatedSetting = type + \"Loading\" + setting;\n var value = userConfig[deprecatedSetting];\n if (value !== undefined && policyNotSet) {\n report.push(deprecatedSetting);\n var settings = defaultsCopy[policyName].default;\n userConfig[policyName] = {\n default: settings\n };\n switch (setting) {\n case 'TimeOut':\n settings.maxLoadTimeMs = value;\n settings.maxTimeToFirstByteMs = value;\n break;\n case 'MaxRetry':\n settings.errorRetry.maxNumRetry = value;\n settings.timeoutRetry.maxNumRetry = value;\n break;\n case 'RetryDelay':\n settings.errorRetry.retryDelayMs = value;\n settings.timeoutRetry.retryDelayMs = value;\n break;\n case 'MaxRetryTimeout':\n settings.errorRetry.maxRetryDelayMs = value;\n settings.timeoutRetry.maxRetryDelayMs = value;\n break;\n }\n }\n });\n if (report.length) {\n logger.warn(\"hls.js config: \\\"\" + report.join('\", \"') + \"\\\" setting(s) are deprecated, use \\\"\" + policyName + \"\\\": \" + JSON.stringify(userConfig[policyName]));\n }\n });\n return _objectSpread2(_objectSpread2({}, defaultsCopy), userConfig);\n }\n function deepCpy(obj) {\n if (obj && typeof obj === 'object') {\n if (Array.isArray(obj)) {\n return obj.map(deepCpy);\n }\n return Object.keys(obj).reduce(function (result, key) {\n result[key] = deepCpy(obj[key]);\n return result;\n }, {});\n }\n return obj;\n }\n\n /**\n * @ignore\n */\n function enableStreamingMode(config) {\n var currentLoader = config.loader;\n if (currentLoader !== FetchLoader && currentLoader !== XhrLoader) {\n // If a developer has configured their own loader, respect that choice\n logger.log('[config]: Custom loader detected, cannot enable progressive streaming');\n config.progressive = false;\n } else {\n var canStreamProgressively = fetchSupported();\n if (canStreamProgressively) {\n config.loader = FetchLoader;\n config.progressive = true;\n config.enableSoftwareAES = true;\n logger.log('[config]: Progressive streaming enabled, using FetchLoader');\n }\n }\n }\n\n var chromeOrFirefox;\n var LevelController = /*#__PURE__*/function (_BasePlaylistControll) {\n _inheritsLoose(LevelController, _BasePlaylistControll);\n function LevelController(hls, contentSteeringController) {\n var _this;\n _this = _BasePlaylistControll.call(this, hls, '[level-controller]') || this;\n _this._levels = [];\n _this._firstLevel = -1;\n _this._maxAutoLevel = -1;\n _this._startLevel = void 0;\n _this.currentLevel = null;\n _this.currentLevelIndex = -1;\n _this.manualLevelIndex = -1;\n _this.steering = void 0;\n _this.onParsedComplete = void 0;\n _this.steering = contentSteeringController;\n _this._registerListeners();\n return _this;\n }\n var _proto = LevelController.prototype;\n _proto._registerListeners = function _registerListeners() {\n var hls = this.hls;\n hls.on(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.on(Events.MANIFEST_LOADED, this.onManifestLoaded, this);\n hls.on(Events.LEVEL_LOADED, this.onLevelLoaded, this);\n hls.on(Events.LEVELS_UPDATED, this.onLevelsUpdated, this);\n hls.on(Events.FRAG_BUFFERED, this.onFragBuffered, this);\n hls.on(Events.ERROR, this.onError, this);\n };\n _proto._unregisterListeners = function _unregisterListeners() {\n var hls = this.hls;\n hls.off(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.off(Events.MANIFEST_LOADED, this.onManifestLoaded, this);\n hls.off(Events.LEVEL_LOADED, this.onLevelLoaded, this);\n hls.off(Events.LEVELS_UPDATED, this.onLevelsUpdated, this);\n hls.off(Events.FRAG_BUFFERED, this.onFragBuffered, this);\n hls.off(Events.ERROR, this.onError, this);\n };\n _proto.destroy = function destroy() {\n this._unregisterListeners();\n this.steering = null;\n this.resetLevels();\n _BasePlaylistControll.prototype.destroy.call(this);\n };\n _proto.stopLoad = function stopLoad() {\n var levels = this._levels;\n\n // clean up live level details to force reload them, and reset load errors\n levels.forEach(function (level) {\n level.loadError = 0;\n level.fragmentError = 0;\n });\n _BasePlaylistControll.prototype.stopLoad.call(this);\n };\n _proto.resetLevels = function resetLevels() {\n this._startLevel = undefined;\n this.manualLevelIndex = -1;\n this.currentLevelIndex = -1;\n this.currentLevel = null;\n this._levels = [];\n this._maxAutoLevel = -1;\n };\n _proto.onManifestLoading = function onManifestLoading(event, data) {\n this.resetLevels();\n };\n _proto.onManifestLoaded = function onManifestLoaded(event, data) {\n var preferManagedMediaSource = this.hls.config.preferManagedMediaSource;\n var levels = [];\n var redundantSet = {};\n var generatePathwaySet = {};\n var resolutionFound = false;\n var videoCodecFound = false;\n var audioCodecFound = false;\n data.levels.forEach(function (levelParsed) {\n var _audioCodec, _videoCodec;\n var attributes = levelParsed.attrs;\n\n // erase audio codec info if browser does not support mp4a.40.34.\n // demuxer will autodetect codec and fallback to mpeg/audio\n var audioCodec = levelParsed.audioCodec,\n videoCodec = levelParsed.videoCodec;\n if (((_audioCodec = audioCodec) == null ? void 0 : _audioCodec.indexOf('mp4a.40.34')) !== -1) {\n chromeOrFirefox || (chromeOrFirefox = /chrome|firefox/i.test(navigator.userAgent));\n if (chromeOrFirefox) {\n levelParsed.audioCodec = audioCodec = undefined;\n }\n }\n if (audioCodec) {\n levelParsed.audioCodec = audioCodec = getCodecCompatibleName(audioCodec, preferManagedMediaSource);\n }\n if (((_videoCodec = videoCodec) == null ? void 0 : _videoCodec.indexOf('avc1')) === 0) {\n videoCodec = levelParsed.videoCodec = convertAVC1ToAVCOTI(videoCodec);\n }\n\n // only keep levels with supported audio/video codecs\n var width = levelParsed.width,\n height = levelParsed.height,\n unknownCodecs = levelParsed.unknownCodecs;\n resolutionFound || (resolutionFound = !!(width && height));\n videoCodecFound || (videoCodecFound = !!videoCodec);\n audioCodecFound || (audioCodecFound = !!audioCodec);\n if (unknownCodecs != null && unknownCodecs.length || audioCodec && !areCodecsMediaSourceSupported(audioCodec, 'audio', preferManagedMediaSource) || videoCodec && !areCodecsMediaSourceSupported(videoCodec, 'video', preferManagedMediaSource)) {\n return;\n }\n var CODECS = attributes.CODECS,\n FRAMERATE = attributes['FRAME-RATE'],\n HDCP = attributes['HDCP-LEVEL'],\n PATHWAY = attributes['PATHWAY-ID'],\n RESOLUTION = attributes.RESOLUTION,\n VIDEO_RANGE = attributes['VIDEO-RANGE'];\n var contentSteeringPrefix = (PATHWAY || '.') + \"-\";\n var levelKey = \"\" + contentSteeringPrefix + levelParsed.bitrate + \"-\" + RESOLUTION + \"-\" + FRAMERATE + \"-\" + CODECS + \"-\" + VIDEO_RANGE + \"-\" + HDCP;\n if (!redundantSet[levelKey]) {\n var level = new Level(levelParsed);\n redundantSet[levelKey] = level;\n generatePathwaySet[levelKey] = 1;\n levels.push(level);\n } else if (redundantSet[levelKey].uri !== levelParsed.url && !levelParsed.attrs['PATHWAY-ID']) {\n // Assign Pathway IDs to Redundant Streams (default Pathways is \".\". Redundant Streams \"..\", \"...\", and so on.)\n // Content Steering controller to handles Pathway fallback on error\n var pathwayCount = generatePathwaySet[levelKey] += 1;\n levelParsed.attrs['PATHWAY-ID'] = new Array(pathwayCount + 1).join('.');\n var _level = new Level(levelParsed);\n redundantSet[levelKey] = _level;\n levels.push(_level);\n } else {\n redundantSet[levelKey].addGroupId('audio', attributes.AUDIO);\n redundantSet[levelKey].addGroupId('text', attributes.SUBTITLES);\n }\n });\n this.filterAndSortMediaOptions(levels, data, resolutionFound, videoCodecFound, audioCodecFound);\n };\n _proto.filterAndSortMediaOptions = function filterAndSortMediaOptions(filteredLevels, data, resolutionFound, videoCodecFound, audioCodecFound) {\n var _this2 = this;\n var audioTracks = [];\n var subtitleTracks = [];\n var levels = filteredLevels;\n\n // remove audio-only and invalid video-range levels if we also have levels with video codecs or RESOLUTION signalled\n if ((resolutionFound || videoCodecFound) && audioCodecFound) {\n levels = levels.filter(function (_ref) {\n var videoCodec = _ref.videoCodec,\n videoRange = _ref.videoRange,\n width = _ref.width,\n height = _ref.height;\n return (!!videoCodec || !!(width && height)) && isVideoRange(videoRange);\n });\n }\n if (levels.length === 0) {\n // Dispatch error after MANIFEST_LOADED is done propagating\n Promise.resolve().then(function () {\n if (_this2.hls) {\n if (data.levels.length) {\n _this2.warn(\"One or more CODECS in variant not supported: \" + JSON.stringify(data.levels[0].attrs));\n }\n var error = new Error('no level with compatible codecs found in manifest');\n _this2.hls.trigger(Events.ERROR, {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.MANIFEST_INCOMPATIBLE_CODECS_ERROR,\n fatal: true,\n url: data.url,\n error: error,\n reason: error.message\n });\n }\n });\n return;\n }\n if (data.audioTracks) {\n var preferManagedMediaSource = this.hls.config.preferManagedMediaSource;\n audioTracks = data.audioTracks.filter(function (track) {\n return !track.audioCodec || areCodecsMediaSourceSupported(track.audioCodec, 'audio', preferManagedMediaSource);\n });\n // Assign ids after filtering as array indices by group-id\n assignTrackIdsByGroup(audioTracks);\n }\n if (data.subtitles) {\n subtitleTracks = data.subtitles;\n assignTrackIdsByGroup(subtitleTracks);\n }\n // start bitrate is the first bitrate of the manifest\n var unsortedLevels = levels.slice(0);\n // sort levels from lowest to highest\n levels.sort(function (a, b) {\n if (a.attrs['HDCP-LEVEL'] !== b.attrs['HDCP-LEVEL']) {\n return (a.attrs['HDCP-LEVEL'] || '') > (b.attrs['HDCP-LEVEL'] || '') ? 1 : -1;\n }\n // sort on height before bitrate for cap-level-controller\n if (resolutionFound && a.height !== b.height) {\n return a.height - b.height;\n }\n if (a.frameRate !== b.frameRate) {\n return a.frameRate - b.frameRate;\n }\n if (a.videoRange !== b.videoRange) {\n return VideoRangeValues.indexOf(a.videoRange) - VideoRangeValues.indexOf(b.videoRange);\n }\n if (a.videoCodec !== b.videoCodec) {\n var valueA = videoCodecPreferenceValue(a.videoCodec);\n var valueB = videoCodecPreferenceValue(b.videoCodec);\n if (valueA !== valueB) {\n return valueB - valueA;\n }\n }\n if (a.uri === b.uri && a.codecSet !== b.codecSet) {\n var _valueA = codecsSetSelectionPreferenceValue(a.codecSet);\n var _valueB = codecsSetSelectionPreferenceValue(b.codecSet);\n if (_valueA !== _valueB) {\n return _valueB - _valueA;\n }\n }\n if (a.averageBitrate !== b.averageBitrate) {\n return a.averageBitrate - b.averageBitrate;\n }\n return 0;\n });\n var firstLevelInPlaylist = unsortedLevels[0];\n if (this.steering) {\n levels = this.steering.filterParsedLevels(levels);\n if (levels.length !== unsortedLevels.length) {\n for (var i = 0; i < unsortedLevels.length; i++) {\n if (unsortedLevels[i].pathwayId === levels[0].pathwayId) {\n firstLevelInPlaylist = unsortedLevels[i];\n break;\n }\n }\n }\n }\n this._levels = levels;\n\n // find index of first level in sorted levels\n for (var _i = 0; _i < levels.length; _i++) {\n if (levels[_i] === firstLevelInPlaylist) {\n var _this$hls$userConfig;\n this._firstLevel = _i;\n var firstLevelBitrate = firstLevelInPlaylist.bitrate;\n var bandwidthEstimate = this.hls.bandwidthEstimate;\n this.log(\"manifest loaded, \" + levels.length + \" level(s) found, first bitrate: \" + firstLevelBitrate);\n // Update default bwe to first variant bitrate as long it has not been configured or set\n if (((_this$hls$userConfig = this.hls.userConfig) == null ? void 0 : _this$hls$userConfig.abrEwmaDefaultEstimate) === undefined) {\n var startingBwEstimate = Math.min(firstLevelBitrate, this.hls.config.abrEwmaDefaultEstimateMax);\n if (startingBwEstimate > bandwidthEstimate && bandwidthEstimate === hlsDefaultConfig.abrEwmaDefaultEstimate) {\n this.hls.bandwidthEstimate = startingBwEstimate;\n }\n }\n break;\n }\n }\n\n // Audio is only alternate if manifest include a URI along with the audio group tag,\n // and this is not an audio-only stream where levels contain audio-only\n var audioOnly = audioCodecFound && !videoCodecFound;\n var edata = {\n levels: levels,\n audioTracks: audioTracks,\n subtitleTracks: subtitleTracks,\n sessionData: data.sessionData,\n sessionKeys: data.sessionKeys,\n firstLevel: this._firstLevel,\n stats: data.stats,\n audio: audioCodecFound,\n video: videoCodecFound,\n altAudio: !audioOnly && audioTracks.some(function (t) {\n return !!t.url;\n })\n };\n this.hls.trigger(Events.MANIFEST_PARSED, edata);\n\n // Initiate loading after all controllers have received MANIFEST_PARSED\n if (this.hls.config.autoStartLoad || this.hls.forceStartLoad) {\n this.hls.startLoad(this.hls.config.startPosition);\n }\n };\n _proto.onError = function onError(event, data) {\n if (data.fatal || !data.context) {\n return;\n }\n if (data.context.type === PlaylistContextType.LEVEL && data.context.level === this.level) {\n this.checkRetry(data);\n }\n }\n\n // reset errors on the successful load of a fragment\n ;\n _proto.onFragBuffered = function onFragBuffered(event, _ref2) {\n var frag = _ref2.frag;\n if (frag !== undefined && frag.type === PlaylistLevelType.MAIN) {\n var el = frag.elementaryStreams;\n if (!Object.keys(el).some(function (type) {\n return !!el[type];\n })) {\n return;\n }\n var level = this._levels[frag.level];\n if (level != null && level.loadError) {\n this.log(\"Resetting level error count of \" + level.loadError + \" on frag buffered\");\n level.loadError = 0;\n }\n }\n };\n _proto.onLevelLoaded = function onLevelLoaded(event, data) {\n var _data$deliveryDirecti2;\n var level = data.level,\n details = data.details;\n var curLevel = this._levels[level];\n if (!curLevel) {\n var _data$deliveryDirecti;\n this.warn(\"Invalid level index \" + level);\n if ((_data$deliveryDirecti = data.deliveryDirectives) != null && _data$deliveryDirecti.skip) {\n details.deltaUpdateFailed = true;\n }\n return;\n }\n\n // only process level loaded events matching with expected level\n if (level === this.currentLevelIndex) {\n // reset level load error counter on successful level loaded only if there is no issues with fragments\n if (curLevel.fragmentError === 0) {\n curLevel.loadError = 0;\n }\n this.playlistLoaded(level, data, curLevel.details);\n } else if ((_data$deliveryDirecti2 = data.deliveryDirectives) != null && _data$deliveryDirecti2.skip) {\n // received a delta playlist update that cannot be merged\n details.deltaUpdateFailed = true;\n }\n };\n _proto.loadPlaylist = function loadPlaylist(hlsUrlParameters) {\n _BasePlaylistControll.prototype.loadPlaylist.call(this);\n var currentLevelIndex = this.currentLevelIndex;\n var currentLevel = this.currentLevel;\n if (currentLevel && this.shouldLoadPlaylist(currentLevel)) {\n var url = currentLevel.uri;\n if (hlsUrlParameters) {\n try {\n url = hlsUrlParameters.addDirectives(url);\n } catch (error) {\n this.warn(\"Could not construct new URL with HLS Delivery Directives: \" + error);\n }\n }\n var pathwayId = currentLevel.attrs['PATHWAY-ID'];\n this.log(\"Loading level index \" + currentLevelIndex + ((hlsUrlParameters == null ? void 0 : hlsUrlParameters.msn) !== undefined ? ' at sn ' + hlsUrlParameters.msn + ' part ' + hlsUrlParameters.part : '') + \" with\" + (pathwayId ? ' Pathway ' + pathwayId : '') + \" \" + url);\n\n // console.log('Current audio track group ID:', this.hls.audioTracks[this.hls.audioTrack].groupId);\n // console.log('New video quality level audio group id:', levelObject.attrs.AUDIO, level);\n this.clearTimer();\n this.hls.trigger(Events.LEVEL_LOADING, {\n url: url,\n level: currentLevelIndex,\n pathwayId: currentLevel.attrs['PATHWAY-ID'],\n id: 0,\n // Deprecated Level urlId\n deliveryDirectives: hlsUrlParameters || null\n });\n }\n };\n _proto.removeLevel = function removeLevel(levelIndex) {\n var _this3 = this,\n _this$currentLevel;\n var levels = this._levels.filter(function (level, index) {\n if (index !== levelIndex) {\n return true;\n }\n if (_this3.steering) {\n _this3.steering.removeLevel(level);\n }\n if (level === _this3.currentLevel) {\n _this3.currentLevel = null;\n _this3.currentLevelIndex = -1;\n if (level.details) {\n level.details.fragments.forEach(function (f) {\n return f.level = -1;\n });\n }\n }\n return false;\n });\n reassignFragmentLevelIndexes(levels);\n this._levels = levels;\n if (this.currentLevelIndex > -1 && (_this$currentLevel = this.currentLevel) != null && _this$currentLevel.details) {\n this.currentLevelIndex = this.currentLevel.details.fragments[0].level;\n }\n this.hls.trigger(Events.LEVELS_UPDATED, {\n levels: levels\n });\n };\n _proto.onLevelsUpdated = function onLevelsUpdated(event, _ref3) {\n var levels = _ref3.levels;\n this._levels = levels;\n };\n _proto.checkMaxAutoUpdated = function checkMaxAutoUpdated() {\n var _this$hls = this.hls,\n autoLevelCapping = _this$hls.autoLevelCapping,\n maxAutoLevel = _this$hls.maxAutoLevel,\n maxHdcpLevel = _this$hls.maxHdcpLevel;\n if (this._maxAutoLevel !== maxAutoLevel) {\n this._maxAutoLevel = maxAutoLevel;\n this.hls.trigger(Events.MAX_AUTO_LEVEL_UPDATED, {\n autoLevelCapping: autoLevelCapping,\n levels: this.levels,\n maxAutoLevel: maxAutoLevel,\n minAutoLevel: this.hls.minAutoLevel,\n maxHdcpLevel: maxHdcpLevel\n });\n }\n };\n _createClass(LevelController, [{\n key: \"levels\",\n get: function get() {\n if (this._levels.length === 0) {\n return null;\n }\n return this._levels;\n }\n }, {\n key: \"level\",\n get: function get() {\n return this.currentLevelIndex;\n },\n set: function set(newLevel) {\n var levels = this._levels;\n if (levels.length === 0) {\n return;\n }\n // check if level idx is valid\n if (newLevel < 0 || newLevel >= levels.length) {\n // invalid level id given, trigger error\n var error = new Error('invalid level idx');\n var fatal = newLevel < 0;\n this.hls.trigger(Events.ERROR, {\n type: ErrorTypes.OTHER_ERROR,\n details: ErrorDetails.LEVEL_SWITCH_ERROR,\n level: newLevel,\n fatal: fatal,\n error: error,\n reason: error.message\n });\n if (fatal) {\n return;\n }\n newLevel = Math.min(newLevel, levels.length - 1);\n }\n var lastLevelIndex = this.currentLevelIndex;\n var lastLevel = this.currentLevel;\n var lastPathwayId = lastLevel ? lastLevel.attrs['PATHWAY-ID'] : undefined;\n var level = levels[newLevel];\n var pathwayId = level.attrs['PATHWAY-ID'];\n this.currentLevelIndex = newLevel;\n this.currentLevel = level;\n if (lastLevelIndex === newLevel && level.details && lastLevel && lastPathwayId === pathwayId) {\n return;\n }\n this.log(\"Switching to level \" + newLevel + \" (\" + (level.height ? level.height + 'p ' : '') + (level.videoRange ? level.videoRange + ' ' : '') + (level.codecSet ? level.codecSet + ' ' : '') + \"@\" + level.bitrate + \")\" + (pathwayId ? ' with Pathway ' + pathwayId : '') + \" from level \" + lastLevelIndex + (lastPathwayId ? ' with Pathway ' + lastPathwayId : ''));\n var levelSwitchingData = {\n level: newLevel,\n attrs: level.attrs,\n details: level.details,\n bitrate: level.bitrate,\n averageBitrate: level.averageBitrate,\n maxBitrate: level.maxBitrate,\n realBitrate: level.realBitrate,\n width: level.width,\n height: level.height,\n codecSet: level.codecSet,\n audioCodec: level.audioCodec,\n videoCodec: level.videoCodec,\n audioGroups: level.audioGroups,\n subtitleGroups: level.subtitleGroups,\n loaded: level.loaded,\n loadError: level.loadError,\n fragmentError: level.fragmentError,\n name: level.name,\n id: level.id,\n uri: level.uri,\n url: level.url,\n urlId: 0,\n audioGroupIds: level.audioGroupIds,\n textGroupIds: level.textGroupIds\n };\n this.hls.trigger(Events.LEVEL_SWITCHING, levelSwitchingData);\n // check if we need to load playlist for this level\n var levelDetails = level.details;\n if (!levelDetails || levelDetails.live) {\n // level not retrieved yet, or live playlist we need to (re)load it\n var hlsUrlParameters = this.switchParams(level.uri, lastLevel == null ? void 0 : lastLevel.details);\n this.loadPlaylist(hlsUrlParameters);\n }\n }\n }, {\n key: \"manualLevel\",\n get: function get() {\n return this.manualLevelIndex;\n },\n set: function set(newLevel) {\n this.manualLevelIndex = newLevel;\n if (this._startLevel === undefined) {\n this._startLevel = newLevel;\n }\n if (newLevel !== -1) {\n this.level = newLevel;\n }\n }\n }, {\n key: \"firstLevel\",\n get: function get() {\n return this._firstLevel;\n },\n set: function set(newLevel) {\n this._firstLevel = newLevel;\n }\n }, {\n key: \"startLevel\",\n get: function get() {\n // Setting hls.startLevel (this._startLevel) overrides config.startLevel\n if (this._startLevel === undefined) {\n var configStartLevel = this.hls.config.startLevel;\n if (configStartLevel !== undefined) {\n return configStartLevel;\n }\n return this.hls.firstAutoLevel;\n }\n return this._startLevel;\n },\n set: function set(newLevel) {\n this._startLevel = newLevel;\n }\n }, {\n key: \"nextLoadLevel\",\n get: function get() {\n if (this.manualLevelIndex !== -1) {\n return this.manualLevelIndex;\n } else {\n return this.hls.nextAutoLevel;\n }\n },\n set: function set(nextLevel) {\n this.level = nextLevel;\n if (this.manualLevelIndex === -1) {\n this.hls.nextAutoLevel = nextLevel;\n }\n }\n }]);\n return LevelController;\n }(BasePlaylistController);\n function assignTrackIdsByGroup(tracks) {\n var groups = {};\n tracks.forEach(function (track) {\n var groupId = track.groupId || '';\n track.id = groups[groupId] = groups[groupId] || 0;\n groups[groupId]++;\n });\n }\n\n var KeyLoader = /*#__PURE__*/function () {\n function KeyLoader(config) {\n this.config = void 0;\n this.keyUriToKeyInfo = {};\n this.emeController = null;\n this.config = config;\n }\n var _proto = KeyLoader.prototype;\n _proto.abort = function abort(type) {\n for (var uri in this.keyUriToKeyInfo) {\n var loader = this.keyUriToKeyInfo[uri].loader;\n if (loader) {\n var _loader$context;\n if (type && type !== ((_loader$context = loader.context) == null ? void 0 : _loader$context.frag.type)) {\n return;\n }\n loader.abort();\n }\n }\n };\n _proto.detach = function detach() {\n for (var uri in this.keyUriToKeyInfo) {\n var keyInfo = this.keyUriToKeyInfo[uri];\n // Remove cached EME keys on detach\n if (keyInfo.mediaKeySessionContext || keyInfo.decryptdata.isCommonEncryption) {\n delete this.keyUriToKeyInfo[uri];\n }\n }\n };\n _proto.destroy = function destroy() {\n this.detach();\n for (var uri in this.keyUriToKeyInfo) {\n var loader = this.keyUriToKeyInfo[uri].loader;\n if (loader) {\n loader.destroy();\n }\n }\n this.keyUriToKeyInfo = {};\n };\n _proto.createKeyLoadError = function createKeyLoadError(frag, details, error, networkDetails, response) {\n if (details === void 0) {\n details = ErrorDetails.KEY_LOAD_ERROR;\n }\n return new LoadError({\n type: ErrorTypes.NETWORK_ERROR,\n details: details,\n fatal: false,\n frag: frag,\n response: response,\n error: error,\n networkDetails: networkDetails\n });\n };\n _proto.loadClear = function loadClear(loadingFrag, encryptedFragments) {\n var _this = this;\n if (this.emeController && this.config.emeEnabled) {\n // access key-system with nearest key on start (loaidng frag is unencrypted)\n var sn = loadingFrag.sn,\n cc = loadingFrag.cc;\n var _loop = function _loop() {\n var frag = encryptedFragments[i];\n if (cc <= frag.cc && (sn === 'initSegment' || frag.sn === 'initSegment' || sn < frag.sn)) {\n _this.emeController.selectKeySystemFormat(frag).then(function (keySystemFormat) {\n frag.setKeyFormat(keySystemFormat);\n });\n return 1; // break\n }\n };\n for (var i = 0; i < encryptedFragments.length; i++) {\n if (_loop()) break;\n }\n }\n };\n _proto.load = function load(frag) {\n var _this2 = this;\n if (!frag.decryptdata && frag.encrypted && this.emeController) {\n // Multiple keys, but none selected, resolve in eme-controller\n return this.emeController.selectKeySystemFormat(frag).then(function (keySystemFormat) {\n return _this2.loadInternal(frag, keySystemFormat);\n });\n }\n return this.loadInternal(frag);\n };\n _proto.loadInternal = function loadInternal(frag, keySystemFormat) {\n var _keyInfo, _keyInfo2;\n if (keySystemFormat) {\n frag.setKeyFormat(keySystemFormat);\n }\n var decryptdata = frag.decryptdata;\n if (!decryptdata) {\n var error = new Error(keySystemFormat ? \"Expected frag.decryptdata to be defined after setting format \" + keySystemFormat : 'Missing decryption data on fragment in onKeyLoading');\n return Promise.reject(this.createKeyLoadError(frag, ErrorDetails.KEY_LOAD_ERROR, error));\n }\n var uri = decryptdata.uri;\n if (!uri) {\n return Promise.reject(this.createKeyLoadError(frag, ErrorDetails.KEY_LOAD_ERROR, new Error(\"Invalid key URI: \\\"\" + uri + \"\\\"\")));\n }\n var keyInfo = this.keyUriToKeyInfo[uri];\n if ((_keyInfo = keyInfo) != null && _keyInfo.decryptdata.key) {\n decryptdata.key = keyInfo.decryptdata.key;\n return Promise.resolve({\n frag: frag,\n keyInfo: keyInfo\n });\n }\n // Return key load promise as long as it does not have a mediakey session with an unusable key status\n if ((_keyInfo2 = keyInfo) != null && _keyInfo2.keyLoadPromise) {\n var _keyInfo$mediaKeySess;\n switch ((_keyInfo$mediaKeySess = keyInfo.mediaKeySessionContext) == null ? void 0 : _keyInfo$mediaKeySess.keyStatus) {\n case undefined:\n case 'status-pending':\n case 'usable':\n case 'usable-in-future':\n return keyInfo.keyLoadPromise.then(function (keyLoadedData) {\n // Return the correct fragment with updated decryptdata key and loaded keyInfo\n decryptdata.key = keyLoadedData.keyInfo.decryptdata.key;\n return {\n frag: frag,\n keyInfo: keyInfo\n };\n });\n }\n // If we have a key session and status and it is not pending or usable, continue\n // This will go back to the eme-controller for expired keys to get a new keyLoadPromise\n }\n\n // Load the key or return the loading promise\n keyInfo = this.keyUriToKeyInfo[uri] = {\n decryptdata: decryptdata,\n keyLoadPromise: null,\n loader: null,\n mediaKeySessionContext: null\n };\n switch (decryptdata.method) {\n case 'ISO-23001-7':\n case 'SAMPLE-AES':\n case 'SAMPLE-AES-CENC':\n case 'SAMPLE-AES-CTR':\n if (decryptdata.keyFormat === 'identity') {\n // loadKeyHTTP handles http(s) and data URLs\n return this.loadKeyHTTP(keyInfo, frag);\n }\n return this.loadKeyEME(keyInfo, frag);\n case 'AES-128':\n return this.loadKeyHTTP(keyInfo, frag);\n default:\n return Promise.reject(this.createKeyLoadError(frag, ErrorDetails.KEY_LOAD_ERROR, new Error(\"Key supplied with unsupported METHOD: \\\"\" + decryptdata.method + \"\\\"\")));\n }\n };\n _proto.loadKeyEME = function loadKeyEME(keyInfo, frag) {\n var keyLoadedData = {\n frag: frag,\n keyInfo: keyInfo\n };\n if (this.emeController && this.config.emeEnabled) {\n var keySessionContextPromise = this.emeController.loadKey(keyLoadedData);\n if (keySessionContextPromise) {\n return (keyInfo.keyLoadPromise = keySessionContextPromise.then(function (keySessionContext) {\n keyInfo.mediaKeySessionContext = keySessionContext;\n return keyLoadedData;\n })).catch(function (error) {\n // Remove promise for license renewal or retry\n keyInfo.keyLoadPromise = null;\n throw error;\n });\n }\n }\n return Promise.resolve(keyLoadedData);\n };\n _proto.loadKeyHTTP = function loadKeyHTTP(keyInfo, frag) {\n var _this3 = this;\n var config = this.config;\n var Loader = config.loader;\n var keyLoader = new Loader(config);\n frag.keyLoader = keyInfo.loader = keyLoader;\n return keyInfo.keyLoadPromise = new Promise(function (resolve, reject) {\n var loaderContext = {\n keyInfo: keyInfo,\n frag: frag,\n responseType: 'arraybuffer',\n url: keyInfo.decryptdata.uri\n };\n\n // maxRetry is 0 so that instead of retrying the same key on the same variant multiple times,\n // key-loader will trigger an error and rely on stream-controller to handle retry logic.\n // this will also align retry logic with fragment-loader\n var loadPolicy = config.keyLoadPolicy.default;\n var loaderConfig = {\n loadPolicy: loadPolicy,\n timeout: loadPolicy.maxLoadTimeMs,\n maxRetry: 0,\n retryDelay: 0,\n maxRetryDelay: 0\n };\n var loaderCallbacks = {\n onSuccess: function onSuccess(response, stats, context, networkDetails) {\n var frag = context.frag,\n keyInfo = context.keyInfo,\n uri = context.url;\n if (!frag.decryptdata || keyInfo !== _this3.keyUriToKeyInfo[uri]) {\n return reject(_this3.createKeyLoadError(frag, ErrorDetails.KEY_LOAD_ERROR, new Error('after key load, decryptdata unset or changed'), networkDetails));\n }\n keyInfo.decryptdata.key = frag.decryptdata.key = new Uint8Array(response.data);\n\n // detach fragment key loader on load success\n frag.keyLoader = null;\n keyInfo.loader = null;\n resolve({\n frag: frag,\n keyInfo: keyInfo\n });\n },\n onError: function onError(response, context, networkDetails, stats) {\n _this3.resetLoader(context);\n reject(_this3.createKeyLoadError(frag, ErrorDetails.KEY_LOAD_ERROR, new Error(\"HTTP Error \" + response.code + \" loading key \" + response.text), networkDetails, _objectSpread2({\n url: loaderContext.url,\n data: undefined\n }, response)));\n },\n onTimeout: function onTimeout(stats, context, networkDetails) {\n _this3.resetLoader(context);\n reject(_this3.createKeyLoadError(frag, ErrorDetails.KEY_LOAD_TIMEOUT, new Error('key loading timed out'), networkDetails));\n },\n onAbort: function onAbort(stats, context, networkDetails) {\n _this3.resetLoader(context);\n reject(_this3.createKeyLoadError(frag, ErrorDetails.INTERNAL_ABORTED, new Error('key loading aborted'), networkDetails));\n }\n };\n keyLoader.load(loaderContext, loaderConfig, loaderCallbacks);\n });\n };\n _proto.resetLoader = function resetLoader(context) {\n var frag = context.frag,\n keyInfo = context.keyInfo,\n uri = context.url;\n var loader = keyInfo.loader;\n if (frag.keyLoader === loader) {\n frag.keyLoader = null;\n keyInfo.loader = null;\n }\n delete this.keyUriToKeyInfo[uri];\n if (loader) {\n loader.destroy();\n }\n };\n return KeyLoader;\n }();\n\n function getSourceBuffer() {\n return self.SourceBuffer || self.WebKitSourceBuffer;\n }\n function isMSESupported() {\n var mediaSource = getMediaSource();\n if (!mediaSource) {\n return false;\n }\n\n // if SourceBuffer is exposed ensure its API is valid\n // Older browsers do not expose SourceBuffer globally so checking SourceBuffer.prototype is impossible\n var sourceBuffer = getSourceBuffer();\n return !sourceBuffer || sourceBuffer.prototype && typeof sourceBuffer.prototype.appendBuffer === 'function' && typeof sourceBuffer.prototype.remove === 'function';\n }\n function isSupported() {\n if (!isMSESupported()) {\n return false;\n }\n var mediaSource = getMediaSource();\n return typeof (mediaSource == null ? void 0 : mediaSource.isTypeSupported) === 'function' && (['avc1.42E01E,mp4a.40.2', 'av01.0.01M.08', 'vp09.00.50.08'].some(function (codecsForVideoContainer) {\n return mediaSource.isTypeSupported(mimeTypeForCodec(codecsForVideoContainer, 'video'));\n }) || ['mp4a.40.2', 'fLaC'].some(function (codecForAudioContainer) {\n return mediaSource.isTypeSupported(mimeTypeForCodec(codecForAudioContainer, 'audio'));\n }));\n }\n function changeTypeSupported() {\n var _sourceBuffer$prototy;\n var sourceBuffer = getSourceBuffer();\n return typeof (sourceBuffer == null ? void 0 : (_sourceBuffer$prototy = sourceBuffer.prototype) == null ? void 0 : _sourceBuffer$prototy.changeType) === 'function';\n }\n\n var STALL_MINIMUM_DURATION_MS = 250;\n var MAX_START_GAP_JUMP = 2.0;\n var SKIP_BUFFER_HOLE_STEP_SECONDS = 0.1;\n var SKIP_BUFFER_RANGE_START = 0.05;\n var GapController = /*#__PURE__*/function () {\n function GapController(config, media, fragmentTracker, hls) {\n this.config = void 0;\n this.media = null;\n this.fragmentTracker = void 0;\n this.hls = void 0;\n this.nudgeRetry = 0;\n this.stallReported = false;\n this.stalled = null;\n this.moved = false;\n this.seeking = false;\n this.config = config;\n this.media = media;\n this.fragmentTracker = fragmentTracker;\n this.hls = hls;\n }\n var _proto = GapController.prototype;\n _proto.destroy = function destroy() {\n this.media = null;\n // @ts-ignore\n this.hls = this.fragmentTracker = null;\n }\n\n /**\n * Checks if the playhead is stuck within a gap, and if so, attempts to free it.\n * A gap is an unbuffered range between two buffered ranges (or the start and the first buffered range).\n *\n * @param lastCurrentTime - Previously read playhead position\n */;\n _proto.poll = function poll(lastCurrentTime, activeFrag) {\n var config = this.config,\n media = this.media,\n stalled = this.stalled;\n if (media === null) {\n return;\n }\n var currentTime = media.currentTime,\n seeking = media.seeking;\n var seeked = this.seeking && !seeking;\n var beginSeek = !this.seeking && seeking;\n this.seeking = seeking;\n\n // The playhead is moving, no-op\n if (currentTime !== lastCurrentTime) {\n this.moved = true;\n if (!seeking) {\n this.nudgeRetry = 0;\n }\n if (stalled !== null) {\n // The playhead is now moving, but was previously stalled\n if (this.stallReported) {\n var _stalledDuration = self.performance.now() - stalled;\n logger.warn(\"playback not stuck anymore @\" + currentTime + \", after \" + Math.round(_stalledDuration) + \"ms\");\n this.stallReported = false;\n }\n this.stalled = null;\n }\n return;\n }\n\n // Clear stalled state when beginning or finishing seeking so that we don't report stalls coming out of a seek\n if (beginSeek || seeked) {\n this.stalled = null;\n return;\n }\n\n // The playhead should not be moving\n if (media.paused && !seeking || media.ended || media.playbackRate === 0 || !BufferHelper.getBuffered(media).length) {\n this.nudgeRetry = 0;\n return;\n }\n var bufferInfo = BufferHelper.bufferInfo(media, currentTime, 0);\n var nextStart = bufferInfo.nextStart || 0;\n if (seeking) {\n // Waiting for seeking in a buffered range to complete\n var hasEnoughBuffer = bufferInfo.len > MAX_START_GAP_JUMP;\n // Next buffered range is too far ahead to jump to while still seeking\n var noBufferGap = !nextStart || activeFrag && activeFrag.start <= currentTime || nextStart - currentTime > MAX_START_GAP_JUMP && !this.fragmentTracker.getPartialFragment(currentTime);\n if (hasEnoughBuffer || noBufferGap) {\n return;\n }\n // Reset moved state when seeking to a point in or before a gap\n this.moved = false;\n }\n\n // Skip start gaps if we haven't played, but the last poll detected the start of a stall\n // The addition poll gives the browser a chance to jump the gap for us\n if (!this.moved && this.stalled !== null) {\n var _level$details;\n // There is no playable buffer (seeked, waiting for buffer)\n var isBuffered = bufferInfo.len > 0;\n if (!isBuffered && !nextStart) {\n return;\n }\n // Jump start gaps within jump threshold\n var startJump = Math.max(nextStart, bufferInfo.start || 0) - currentTime;\n\n // When joining a live stream with audio tracks, account for live playlist window sliding by allowing\n // a larger jump over start gaps caused by the audio-stream-controller buffering a start fragment\n // that begins over 1 target duration after the video start position.\n var level = this.hls.levels ? this.hls.levels[this.hls.currentLevel] : null;\n var isLive = level == null ? void 0 : (_level$details = level.details) == null ? void 0 : _level$details.live;\n var maxStartGapJump = isLive ? level.details.targetduration * 2 : MAX_START_GAP_JUMP;\n var partialOrGap = this.fragmentTracker.getPartialFragment(currentTime);\n if (startJump > 0 && (startJump <= maxStartGapJump || partialOrGap)) {\n if (!media.paused) {\n this._trySkipBufferHole(partialOrGap);\n }\n return;\n }\n }\n\n // Start tracking stall time\n var tnow = self.performance.now();\n if (stalled === null) {\n this.stalled = tnow;\n return;\n }\n var stalledDuration = tnow - stalled;\n if (!seeking && stalledDuration >= STALL_MINIMUM_DURATION_MS) {\n // Report stalling after trying to fix\n this._reportStall(bufferInfo);\n if (!this.media) {\n return;\n }\n }\n var bufferedWithHoles = BufferHelper.bufferInfo(media, currentTime, config.maxBufferHole);\n this._tryFixBufferStall(bufferedWithHoles, stalledDuration);\n }\n\n /**\n * Detects and attempts to fix known buffer stalling issues.\n * @param bufferInfo - The properties of the current buffer.\n * @param stalledDurationMs - The amount of time Hls.js has been stalling for.\n * @private\n */;\n _proto._tryFixBufferStall = function _tryFixBufferStall(bufferInfo, stalledDurationMs) {\n var config = this.config,\n fragmentTracker = this.fragmentTracker,\n media = this.media;\n if (media === null) {\n return;\n }\n var currentTime = media.currentTime;\n var partial = fragmentTracker.getPartialFragment(currentTime);\n if (partial) {\n // Try to skip over the buffer hole caused by a partial fragment\n // This method isn't limited by the size of the gap between buffered ranges\n var targetTime = this._trySkipBufferHole(partial);\n // we return here in this case, meaning\n // the branch below only executes when we haven't seeked to a new position\n if (targetTime || !this.media) {\n return;\n }\n }\n\n // if we haven't had to skip over a buffer hole of a partial fragment\n // we may just have to \"nudge\" the playlist as the browser decoding/rendering engine\n // needs to cross some sort of threshold covering all source-buffers content\n // to start playing properly.\n if ((bufferInfo.len > config.maxBufferHole || bufferInfo.nextStart && bufferInfo.nextStart - currentTime < config.maxBufferHole) && stalledDurationMs > config.highBufferWatchdogPeriod * 1000) {\n logger.warn('Trying to nudge playhead over buffer-hole');\n // Try to nudge currentTime over a buffer hole if we've been stalling for the configured amount of seconds\n // We only try to jump the hole if it's under the configured size\n // Reset stalled so to rearm watchdog timer\n this.stalled = null;\n this._tryNudgeBuffer();\n }\n }\n\n /**\n * Triggers a BUFFER_STALLED_ERROR event, but only once per stall period.\n * @param bufferLen - The playhead distance from the end of the current buffer segment.\n * @private\n */;\n _proto._reportStall = function _reportStall(bufferInfo) {\n var hls = this.hls,\n media = this.media,\n stallReported = this.stallReported;\n if (!stallReported && media) {\n // Report stalled error once\n this.stallReported = true;\n var error = new Error(\"Playback stalling at @\" + media.currentTime + \" due to low buffer (\" + JSON.stringify(bufferInfo) + \")\");\n logger.warn(error.message);\n hls.trigger(Events.ERROR, {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.BUFFER_STALLED_ERROR,\n fatal: false,\n error: error,\n buffer: bufferInfo.len\n });\n }\n }\n\n /**\n * Attempts to fix buffer stalls by jumping over known gaps caused by partial fragments\n * @param partial - The partial fragment found at the current time (where playback is stalling).\n * @private\n */;\n _proto._trySkipBufferHole = function _trySkipBufferHole(partial) {\n var config = this.config,\n hls = this.hls,\n media = this.media;\n if (media === null) {\n return 0;\n }\n\n // Check if currentTime is between unbuffered regions of partial fragments\n var currentTime = media.currentTime;\n var bufferInfo = BufferHelper.bufferInfo(media, currentTime, 0);\n var startTime = currentTime < bufferInfo.start ? bufferInfo.start : bufferInfo.nextStart;\n if (startTime) {\n var bufferStarved = bufferInfo.len <= config.maxBufferHole;\n var waiting = bufferInfo.len > 0 && bufferInfo.len < 1 && media.readyState < 3;\n var gapLength = startTime - currentTime;\n if (gapLength > 0 && (bufferStarved || waiting)) {\n // Only allow large gaps to be skipped if it is a start gap, or all fragments in skip range are partial\n if (gapLength > config.maxBufferHole) {\n var fragmentTracker = this.fragmentTracker;\n var startGap = false;\n if (currentTime === 0) {\n var startFrag = fragmentTracker.getAppendedFrag(0, PlaylistLevelType.MAIN);\n if (startFrag && startTime < startFrag.end) {\n startGap = true;\n }\n }\n if (!startGap) {\n var startProvisioned = partial || fragmentTracker.getAppendedFrag(currentTime, PlaylistLevelType.MAIN);\n if (startProvisioned) {\n var moreToLoad = false;\n var pos = startProvisioned.end;\n while (pos < startTime) {\n var provisioned = fragmentTracker.getPartialFragment(pos);\n if (provisioned) {\n pos += provisioned.duration;\n } else {\n moreToLoad = true;\n break;\n }\n }\n if (moreToLoad) {\n return 0;\n }\n }\n }\n }\n var targetTime = Math.max(startTime + SKIP_BUFFER_RANGE_START, currentTime + SKIP_BUFFER_HOLE_STEP_SECONDS);\n logger.warn(\"skipping hole, adjusting currentTime from \" + currentTime + \" to \" + targetTime);\n this.moved = true;\n this.stalled = null;\n media.currentTime = targetTime;\n if (partial && !partial.gap) {\n var error = new Error(\"fragment loaded with buffer holes, seeking from \" + currentTime + \" to \" + targetTime);\n hls.trigger(Events.ERROR, {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.BUFFER_SEEK_OVER_HOLE,\n fatal: false,\n error: error,\n reason: error.message,\n frag: partial\n });\n }\n return targetTime;\n }\n }\n return 0;\n }\n\n /**\n * Attempts to fix buffer stalls by advancing the mediaElement's current time by a small amount.\n * @private\n */;\n _proto._tryNudgeBuffer = function _tryNudgeBuffer() {\n var config = this.config,\n hls = this.hls,\n media = this.media,\n nudgeRetry = this.nudgeRetry;\n if (media === null) {\n return;\n }\n var currentTime = media.currentTime;\n this.nudgeRetry++;\n if (nudgeRetry < config.nudgeMaxRetry) {\n var targetTime = currentTime + (nudgeRetry + 1) * config.nudgeOffset;\n // playback stalled in buffered area ... let's nudge currentTime to try to overcome this\n var error = new Error(\"Nudging 'currentTime' from \" + currentTime + \" to \" + targetTime);\n logger.warn(error.message);\n media.currentTime = targetTime;\n hls.trigger(Events.ERROR, {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.BUFFER_NUDGE_ON_STALL,\n error: error,\n fatal: false\n });\n } else {\n var _error = new Error(\"Playhead still not moving while enough data buffered @\" + currentTime + \" after \" + config.nudgeMaxRetry + \" nudges\");\n logger.error(_error.message);\n hls.trigger(Events.ERROR, {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.BUFFER_STALLED_ERROR,\n error: _error,\n fatal: true\n });\n }\n };\n return GapController;\n }();\n\n var TICK_INTERVAL = 100; // how often to tick in ms\n var StreamController = /*#__PURE__*/function (_BaseStreamController) {\n _inheritsLoose(StreamController, _BaseStreamController);\n function StreamController(hls, fragmentTracker, keyLoader) {\n var _this;\n _this = _BaseStreamController.call(this, hls, fragmentTracker, keyLoader, '[stream-controller]', PlaylistLevelType.MAIN) || this;\n _this.audioCodecSwap = false;\n _this.gapController = null;\n _this.level = -1;\n _this._forceStartLoad = false;\n _this.altAudio = false;\n _this.audioOnly = false;\n _this.fragPlaying = null;\n _this.onvplaying = null;\n _this.onvseeked = null;\n _this.fragLastKbps = 0;\n _this.couldBacktrack = false;\n _this.backtrackFragment = null;\n _this.audioCodecSwitch = false;\n _this.videoBuffer = null;\n _this._registerListeners();\n return _this;\n }\n var _proto = StreamController.prototype;\n _proto._registerListeners = function _registerListeners() {\n var hls = this.hls;\n hls.on(Events.MEDIA_ATTACHED, this.onMediaAttached, this);\n hls.on(Events.MEDIA_DETACHING, this.onMediaDetaching, this);\n hls.on(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.on(Events.MANIFEST_PARSED, this.onManifestParsed, this);\n hls.on(Events.LEVEL_LOADING, this.onLevelLoading, this);\n hls.on(Events.LEVEL_LOADED, this.onLevelLoaded, this);\n hls.on(Events.FRAG_LOAD_EMERGENCY_ABORTED, this.onFragLoadEmergencyAborted, this);\n hls.on(Events.ERROR, this.onError, this);\n hls.on(Events.AUDIO_TRACK_SWITCHING, this.onAudioTrackSwitching, this);\n hls.on(Events.AUDIO_TRACK_SWITCHED, this.onAudioTrackSwitched, this);\n hls.on(Events.BUFFER_CREATED, this.onBufferCreated, this);\n hls.on(Events.BUFFER_FLUSHED, this.onBufferFlushed, this);\n hls.on(Events.LEVELS_UPDATED, this.onLevelsUpdated, this);\n hls.on(Events.FRAG_BUFFERED, this.onFragBuffered, this);\n };\n _proto._unregisterListeners = function _unregisterListeners() {\n var hls = this.hls;\n hls.off(Events.MEDIA_ATTACHED, this.onMediaAttached, this);\n hls.off(Events.MEDIA_DETACHING, this.onMediaDetaching, this);\n hls.off(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.off(Events.MANIFEST_PARSED, this.onManifestParsed, this);\n hls.off(Events.LEVEL_LOADED, this.onLevelLoaded, this);\n hls.off(Events.FRAG_LOAD_EMERGENCY_ABORTED, this.onFragLoadEmergencyAborted, this);\n hls.off(Events.ERROR, this.onError, this);\n hls.off(Events.AUDIO_TRACK_SWITCHING, this.onAudioTrackSwitching, this);\n hls.off(Events.AUDIO_TRACK_SWITCHED, this.onAudioTrackSwitched, this);\n hls.off(Events.BUFFER_CREATED, this.onBufferCreated, this);\n hls.off(Events.BUFFER_FLUSHED, this.onBufferFlushed, this);\n hls.off(Events.LEVELS_UPDATED, this.onLevelsUpdated, this);\n hls.off(Events.FRAG_BUFFERED, this.onFragBuffered, this);\n };\n _proto.onHandlerDestroying = function onHandlerDestroying() {\n this._unregisterListeners();\n _BaseStreamController.prototype.onHandlerDestroying.call(this);\n };\n _proto.startLoad = function startLoad(startPosition) {\n if (this.levels) {\n var lastCurrentTime = this.lastCurrentTime,\n hls = this.hls;\n this.stopLoad();\n this.setInterval(TICK_INTERVAL);\n this.level = -1;\n if (!this.startFragRequested) {\n // determine load level\n var startLevel = hls.startLevel;\n if (startLevel === -1) {\n if (hls.config.testBandwidth && this.levels.length > 1) {\n // -1 : guess start Level by doing a bitrate test by loading first fragment of lowest quality level\n startLevel = 0;\n this.bitrateTest = true;\n } else {\n startLevel = hls.firstAutoLevel;\n }\n }\n // set new level to playlist loader : this will trigger start level load\n // hls.nextLoadLevel remains until it is set to a new value or until a new frag is successfully loaded\n hls.nextLoadLevel = startLevel;\n this.level = hls.loadLevel;\n this.loadedmetadata = false;\n }\n // if startPosition undefined but lastCurrentTime set, set startPosition to last currentTime\n if (lastCurrentTime > 0 && startPosition === -1) {\n this.log(\"Override startPosition with lastCurrentTime @\" + lastCurrentTime.toFixed(3));\n startPosition = lastCurrentTime;\n }\n this.state = State.IDLE;\n this.nextLoadPosition = this.startPosition = this.lastCurrentTime = startPosition;\n this.tick();\n } else {\n this._forceStartLoad = true;\n this.state = State.STOPPED;\n }\n };\n _proto.stopLoad = function stopLoad() {\n this._forceStartLoad = false;\n _BaseStreamController.prototype.stopLoad.call(this);\n };\n _proto.doTick = function doTick() {\n switch (this.state) {\n case State.WAITING_LEVEL:\n {\n var levels = this.levels,\n level = this.level;\n var currentLevel = levels == null ? void 0 : levels[level];\n var details = currentLevel == null ? void 0 : currentLevel.details;\n if (details && (!details.live || this.levelLastLoaded === currentLevel)) {\n if (this.waitForCdnTuneIn(details)) {\n break;\n }\n this.state = State.IDLE;\n break;\n } else if (this.hls.nextLoadLevel !== this.level) {\n this.state = State.IDLE;\n break;\n }\n break;\n }\n case State.FRAG_LOADING_WAITING_RETRY:\n {\n var _this$media;\n var now = self.performance.now();\n var retryDate = this.retryDate;\n // if current time is gt than retryDate, or if media seeking let's switch to IDLE state to retry loading\n if (!retryDate || now >= retryDate || (_this$media = this.media) != null && _this$media.seeking) {\n var _levels = this.levels,\n _level = this.level;\n var _currentLevel = _levels == null ? void 0 : _levels[_level];\n this.resetStartWhenNotLoaded(_currentLevel || null);\n this.state = State.IDLE;\n }\n }\n break;\n }\n if (this.state === State.IDLE) {\n this.doTickIdle();\n }\n this.onTickEnd();\n };\n _proto.onTickEnd = function onTickEnd() {\n _BaseStreamController.prototype.onTickEnd.call(this);\n this.checkBuffer();\n this.checkFragmentChanged();\n };\n _proto.doTickIdle = function doTickIdle() {\n var hls = this.hls,\n levelLastLoaded = this.levelLastLoaded,\n levels = this.levels,\n media = this.media;\n var config = hls.config,\n level = hls.nextLoadLevel;\n\n // if start level not parsed yet OR\n // if video not attached AND start fragment already requested OR start frag prefetch not enabled\n // exit loop, as we either need more info (level not parsed) or we need media to be attached to load new fragment\n if (levelLastLoaded === null || !media && (this.startFragRequested || !config.startFragPrefetch)) {\n return;\n }\n\n // If the \"main\" level is audio-only but we are loading an alternate track in the same group, do not load anything\n if (this.altAudio && this.audioOnly) {\n return;\n }\n if (!(levels != null && levels[level])) {\n return;\n }\n var levelInfo = levels[level];\n\n // if buffer length is less than maxBufLen try to load a new fragment\n\n var bufferInfo = this.getMainFwdBufferInfo();\n if (bufferInfo === null) {\n return;\n }\n var lastDetails = this.getLevelDetails();\n if (lastDetails && this._streamEnded(bufferInfo, lastDetails)) {\n var data = {};\n if (this.altAudio) {\n data.type = 'video';\n }\n this.hls.trigger(Events.BUFFER_EOS, data);\n this.state = State.ENDED;\n return;\n }\n\n // set next load level : this will trigger a playlist load if needed\n if (hls.loadLevel !== level && hls.manualLevel === -1) {\n this.log(\"Adapting to level \" + level + \" from level \" + this.level);\n }\n this.level = hls.nextLoadLevel = level;\n var levelDetails = levelInfo.details;\n // if level info not retrieved yet, switch state and wait for level retrieval\n // if live playlist, ensure that new playlist has been refreshed to avoid loading/try to load\n // a useless and outdated fragment (that might even introduce load error if it is already out of the live playlist)\n if (!levelDetails || this.state === State.WAITING_LEVEL || levelDetails.live && this.levelLastLoaded !== levelInfo) {\n this.level = level;\n this.state = State.WAITING_LEVEL;\n return;\n }\n var bufferLen = bufferInfo.len;\n\n // compute max Buffer Length that we could get from this load level, based on level bitrate. don't buffer more than 60 MB and more than 30s\n var maxBufLen = this.getMaxBufferLength(levelInfo.maxBitrate);\n\n // Stay idle if we are still with buffer margins\n if (bufferLen >= maxBufLen) {\n return;\n }\n if (this.backtrackFragment && this.backtrackFragment.start > bufferInfo.end) {\n this.backtrackFragment = null;\n }\n var targetBufferTime = this.backtrackFragment ? this.backtrackFragment.start : bufferInfo.end;\n var frag = this.getNextFragment(targetBufferTime, levelDetails);\n // Avoid backtracking by loading an earlier segment in streams with segments that do not start with a key frame (flagged by `couldBacktrack`)\n if (this.couldBacktrack && !this.fragPrevious && frag && frag.sn !== 'initSegment' && this.fragmentTracker.getState(frag) !== FragmentState.OK) {\n var _this$backtrackFragme;\n var backtrackSn = ((_this$backtrackFragme = this.backtrackFragment) != null ? _this$backtrackFragme : frag).sn;\n var fragIdx = backtrackSn - levelDetails.startSN;\n var backtrackFrag = levelDetails.fragments[fragIdx - 1];\n if (backtrackFrag && frag.cc === backtrackFrag.cc) {\n frag = backtrackFrag;\n this.fragmentTracker.removeFragment(backtrackFrag);\n }\n } else if (this.backtrackFragment && bufferInfo.len) {\n this.backtrackFragment = null;\n }\n // Avoid loop loading by using nextLoadPosition set for backtracking and skipping consecutive GAP tags\n if (frag && this.isLoopLoading(frag, targetBufferTime)) {\n var gapStart = frag.gap;\n if (!gapStart) {\n // Cleanup the fragment tracker before trying to find the next unbuffered fragment\n var type = this.audioOnly && !this.altAudio ? ElementaryStreamTypes.AUDIO : ElementaryStreamTypes.VIDEO;\n var mediaBuffer = (type === ElementaryStreamTypes.VIDEO ? this.videoBuffer : this.mediaBuffer) || this.media;\n if (mediaBuffer) {\n this.afterBufferFlushed(mediaBuffer, type, PlaylistLevelType.MAIN);\n }\n }\n frag = this.getNextFragmentLoopLoading(frag, levelDetails, bufferInfo, PlaylistLevelType.MAIN, maxBufLen);\n }\n if (!frag) {\n return;\n }\n if (frag.initSegment && !frag.initSegment.data && !this.bitrateTest) {\n frag = frag.initSegment;\n }\n this.loadFragment(frag, levelInfo, targetBufferTime);\n };\n _proto.loadFragment = function loadFragment(frag, level, targetBufferTime) {\n // Check if fragment is not loaded\n var fragState = this.fragmentTracker.getState(frag);\n this.fragCurrent = frag;\n if (fragState === FragmentState.NOT_LOADED || fragState === FragmentState.PARTIAL) {\n if (frag.sn === 'initSegment') {\n this._loadInitSegment(frag, level);\n } else if (this.bitrateTest) {\n this.log(\"Fragment \" + frag.sn + \" of level \" + frag.level + \" is being downloaded to test bitrate and will not be buffered\");\n this._loadBitrateTestFrag(frag, level);\n } else {\n this.startFragRequested = true;\n _BaseStreamController.prototype.loadFragment.call(this, frag, level, targetBufferTime);\n }\n } else {\n this.clearTrackerIfNeeded(frag);\n }\n };\n _proto.getBufferedFrag = function getBufferedFrag(position) {\n return this.fragmentTracker.getBufferedFrag(position, PlaylistLevelType.MAIN);\n };\n _proto.followingBufferedFrag = function followingBufferedFrag(frag) {\n if (frag) {\n // try to get range of next fragment (500ms after this range)\n return this.getBufferedFrag(frag.end + 0.5);\n }\n return null;\n }\n\n /*\n on immediate level switch :\n - pause playback if playing\n - cancel any pending load request\n - and trigger a buffer flush\n */;\n _proto.immediateLevelSwitch = function immediateLevelSwitch() {\n this.abortCurrentFrag();\n this.flushMainBuffer(0, Number.POSITIVE_INFINITY);\n }\n\n /**\n * try to switch ASAP without breaking video playback:\n * in order to ensure smooth but quick level switching,\n * we need to find the next flushable buffer range\n * we should take into account new segment fetch time\n */;\n _proto.nextLevelSwitch = function nextLevelSwitch() {\n var levels = this.levels,\n media = this.media;\n // ensure that media is defined and that metadata are available (to retrieve currentTime)\n if (media != null && media.readyState) {\n var fetchdelay;\n var fragPlayingCurrent = this.getAppendedFrag(media.currentTime);\n if (fragPlayingCurrent && fragPlayingCurrent.start > 1) {\n // flush buffer preceding current fragment (flush until current fragment start offset)\n // minus 1s to avoid video freezing, that could happen if we flush keyframe of current video ...\n this.flushMainBuffer(0, fragPlayingCurrent.start - 1);\n }\n var levelDetails = this.getLevelDetails();\n if (levelDetails != null && levelDetails.live) {\n var bufferInfo = this.getMainFwdBufferInfo();\n // Do not flush in live stream with low buffer\n if (!bufferInfo || bufferInfo.len < levelDetails.targetduration * 2) {\n return;\n }\n }\n if (!media.paused && levels) {\n // add a safety delay of 1s\n var nextLevelId = this.hls.nextLoadLevel;\n var nextLevel = levels[nextLevelId];\n var fragLastKbps = this.fragLastKbps;\n if (fragLastKbps && this.fragCurrent) {\n fetchdelay = this.fragCurrent.duration * nextLevel.maxBitrate / (1000 * fragLastKbps) + 1;\n } else {\n fetchdelay = 0;\n }\n } else {\n fetchdelay = 0;\n }\n // this.log('fetchdelay:'+fetchdelay);\n // find buffer range that will be reached once new fragment will be fetched\n var bufferedFrag = this.getBufferedFrag(media.currentTime + fetchdelay);\n if (bufferedFrag) {\n // we can flush buffer range following this one without stalling playback\n var nextBufferedFrag = this.followingBufferedFrag(bufferedFrag);\n if (nextBufferedFrag) {\n // if we are here, we can also cancel any loading/demuxing in progress, as they are useless\n this.abortCurrentFrag();\n // start flush position is in next buffered frag. Leave some padding for non-independent segments and smoother playback.\n var maxStart = nextBufferedFrag.maxStartPTS ? nextBufferedFrag.maxStartPTS : nextBufferedFrag.start;\n var fragDuration = nextBufferedFrag.duration;\n var startPts = Math.max(bufferedFrag.end, maxStart + Math.min(Math.max(fragDuration - this.config.maxFragLookUpTolerance, fragDuration * (this.couldBacktrack ? 0.5 : 0.125)), fragDuration * (this.couldBacktrack ? 0.75 : 0.25)));\n this.flushMainBuffer(startPts, Number.POSITIVE_INFINITY);\n }\n }\n }\n };\n _proto.abortCurrentFrag = function abortCurrentFrag() {\n var fragCurrent = this.fragCurrent;\n this.fragCurrent = null;\n this.backtrackFragment = null;\n if (fragCurrent) {\n fragCurrent.abortRequests();\n this.fragmentTracker.removeFragment(fragCurrent);\n }\n switch (this.state) {\n case State.KEY_LOADING:\n case State.FRAG_LOADING:\n case State.FRAG_LOADING_WAITING_RETRY:\n case State.PARSING:\n case State.PARSED:\n this.state = State.IDLE;\n break;\n }\n this.nextLoadPosition = this.getLoadPosition();\n };\n _proto.flushMainBuffer = function flushMainBuffer(startOffset, endOffset) {\n _BaseStreamController.prototype.flushMainBuffer.call(this, startOffset, endOffset, this.altAudio ? 'video' : null);\n };\n _proto.onMediaAttached = function onMediaAttached(event, data) {\n _BaseStreamController.prototype.onMediaAttached.call(this, event, data);\n var media = data.media;\n this.onvplaying = this.onMediaPlaying.bind(this);\n this.onvseeked = this.onMediaSeeked.bind(this);\n media.addEventListener('playing', this.onvplaying);\n media.addEventListener('seeked', this.onvseeked);\n this.gapController = new GapController(this.config, media, this.fragmentTracker, this.hls);\n };\n _proto.onMediaDetaching = function onMediaDetaching() {\n var media = this.media;\n if (media && this.onvplaying && this.onvseeked) {\n media.removeEventListener('playing', this.onvplaying);\n media.removeEventListener('seeked', this.onvseeked);\n this.onvplaying = this.onvseeked = null;\n this.videoBuffer = null;\n }\n this.fragPlaying = null;\n if (this.gapController) {\n this.gapController.destroy();\n this.gapController = null;\n }\n _BaseStreamController.prototype.onMediaDetaching.call(this);\n };\n _proto.onMediaPlaying = function onMediaPlaying() {\n // tick to speed up FRAG_CHANGED triggering\n this.tick();\n };\n _proto.onMediaSeeked = function onMediaSeeked() {\n var media = this.media;\n var currentTime = media ? media.currentTime : null;\n if (isFiniteNumber(currentTime)) {\n this.log(\"Media seeked to \" + currentTime.toFixed(3));\n }\n\n // If seeked was issued before buffer was appended do not tick immediately\n var bufferInfo = this.getMainFwdBufferInfo();\n if (bufferInfo === null || bufferInfo.len === 0) {\n this.warn(\"Main forward buffer length on \\\"seeked\\\" event \" + (bufferInfo ? bufferInfo.len : 'empty') + \")\");\n return;\n }\n\n // tick to speed up FRAG_CHANGED triggering\n this.tick();\n };\n _proto.onManifestLoading = function onManifestLoading() {\n // reset buffer on manifest loading\n this.log('Trigger BUFFER_RESET');\n this.hls.trigger(Events.BUFFER_RESET, undefined);\n this.fragmentTracker.removeAllFragments();\n this.couldBacktrack = false;\n this.startPosition = this.lastCurrentTime = this.fragLastKbps = 0;\n this.levels = this.fragPlaying = this.backtrackFragment = this.levelLastLoaded = null;\n this.altAudio = this.audioOnly = this.startFragRequested = false;\n };\n _proto.onManifestParsed = function onManifestParsed(event, data) {\n // detect if we have different kind of audio codecs used amongst playlists\n var aac = false;\n var heaac = false;\n data.levels.forEach(function (level) {\n var codec = level.audioCodec;\n if (codec) {\n aac = aac || codec.indexOf('mp4a.40.2') !== -1;\n heaac = heaac || codec.indexOf('mp4a.40.5') !== -1;\n }\n });\n this.audioCodecSwitch = aac && heaac && !changeTypeSupported();\n if (this.audioCodecSwitch) {\n this.log('Both AAC/HE-AAC audio found in levels; declaring level codec as HE-AAC');\n }\n this.levels = data.levels;\n this.startFragRequested = false;\n };\n _proto.onLevelLoading = function onLevelLoading(event, data) {\n var levels = this.levels;\n if (!levels || this.state !== State.IDLE) {\n return;\n }\n var level = levels[data.level];\n if (!level.details || level.details.live && this.levelLastLoaded !== level || this.waitForCdnTuneIn(level.details)) {\n this.state = State.WAITING_LEVEL;\n }\n };\n _proto.onLevelLoaded = function onLevelLoaded(event, data) {\n var _curLevel$details;\n var levels = this.levels;\n var newLevelId = data.level;\n var newDetails = data.details;\n var duration = newDetails.totalduration;\n if (!levels) {\n this.warn(\"Levels were reset while loading level \" + newLevelId);\n return;\n }\n this.log(\"Level \" + newLevelId + \" loaded [\" + newDetails.startSN + \",\" + newDetails.endSN + \"]\" + (newDetails.lastPartSn ? \"[part-\" + newDetails.lastPartSn + \"-\" + newDetails.lastPartIndex + \"]\" : '') + \", cc [\" + newDetails.startCC + \", \" + newDetails.endCC + \"] duration:\" + duration);\n var curLevel = levels[newLevelId];\n var fragCurrent = this.fragCurrent;\n if (fragCurrent && (this.state === State.FRAG_LOADING || this.state === State.FRAG_LOADING_WAITING_RETRY)) {\n if (fragCurrent.level !== data.level && fragCurrent.loader) {\n this.abortCurrentFrag();\n }\n }\n var sliding = 0;\n if (newDetails.live || (_curLevel$details = curLevel.details) != null && _curLevel$details.live) {\n var _this$levelLastLoaded;\n this.checkLiveUpdate(newDetails);\n if (newDetails.deltaUpdateFailed) {\n return;\n }\n sliding = this.alignPlaylists(newDetails, curLevel.details, (_this$levelLastLoaded = this.levelLastLoaded) == null ? void 0 : _this$levelLastLoaded.details);\n }\n // override level info\n curLevel.details = newDetails;\n this.levelLastLoaded = curLevel;\n this.hls.trigger(Events.LEVEL_UPDATED, {\n details: newDetails,\n level: newLevelId\n });\n\n // only switch back to IDLE state if we were waiting for level to start downloading a new fragment\n if (this.state === State.WAITING_LEVEL) {\n if (this.waitForCdnTuneIn(newDetails)) {\n // Wait for Low-Latency CDN Tune-in\n return;\n }\n this.state = State.IDLE;\n }\n if (!this.startFragRequested) {\n this.setStartPosition(newDetails, sliding);\n } else if (newDetails.live) {\n this.synchronizeToLiveEdge(newDetails);\n }\n\n // trigger handler right now\n this.tick();\n };\n _proto._handleFragmentLoadProgress = function _handleFragmentLoadProgress(data) {\n var _frag$initSegment;\n var frag = data.frag,\n part = data.part,\n payload = data.payload;\n var levels = this.levels;\n if (!levels) {\n this.warn(\"Levels were reset while fragment load was in progress. Fragment \" + frag.sn + \" of level \" + frag.level + \" will not be buffered\");\n return;\n }\n var currentLevel = levels[frag.level];\n var details = currentLevel.details;\n if (!details) {\n this.warn(\"Dropping fragment \" + frag.sn + \" of level \" + frag.level + \" after level details were reset\");\n this.fragmentTracker.removeFragment(frag);\n return;\n }\n var videoCodec = currentLevel.videoCodec;\n\n // time Offset is accurate if level PTS is known, or if playlist is not sliding (not live)\n var accurateTimeOffset = details.PTSKnown || !details.live;\n var initSegmentData = (_frag$initSegment = frag.initSegment) == null ? void 0 : _frag$initSegment.data;\n var audioCodec = this._getAudioCodec(currentLevel);\n\n // transmux the MPEG-TS data to ISO-BMFF segments\n // this.log(`Transmuxing ${frag.sn} of [${details.startSN} ,${details.endSN}],level ${frag.level}, cc ${frag.cc}`);\n var transmuxer = this.transmuxer = this.transmuxer || new TransmuxerInterface(this.hls, PlaylistLevelType.MAIN, this._handleTransmuxComplete.bind(this), this._handleTransmuxerFlush.bind(this));\n var partIndex = part ? part.index : -1;\n var partial = partIndex !== -1;\n var chunkMeta = new ChunkMetadata(frag.level, frag.sn, frag.stats.chunkCount, payload.byteLength, partIndex, partial);\n var initPTS = this.initPTS[frag.cc];\n transmuxer.push(payload, initSegmentData, audioCodec, videoCodec, frag, part, details.totalduration, accurateTimeOffset, chunkMeta, initPTS);\n };\n _proto.onAudioTrackSwitching = function onAudioTrackSwitching(event, data) {\n // if any URL found on new audio track, it is an alternate audio track\n var fromAltAudio = this.altAudio;\n var altAudio = !!data.url;\n // if we switch on main audio, ensure that main fragment scheduling is synced with media.buffered\n // don't do anything if we switch to alt audio: audio stream controller is handling it.\n // we will just have to change buffer scheduling on audioTrackSwitched\n if (!altAudio) {\n if (this.mediaBuffer !== this.media) {\n this.log('Switching on main audio, use media.buffered to schedule main fragment loading');\n this.mediaBuffer = this.media;\n var fragCurrent = this.fragCurrent;\n // we need to refill audio buffer from main: cancel any frag loading to speed up audio switch\n if (fragCurrent) {\n this.log('Switching to main audio track, cancel main fragment load');\n fragCurrent.abortRequests();\n this.fragmentTracker.removeFragment(fragCurrent);\n }\n // destroy transmuxer to force init segment generation (following audio switch)\n this.resetTransmuxer();\n // switch to IDLE state to load new fragment\n this.resetLoadingState();\n } else if (this.audioOnly) {\n // Reset audio transmuxer so when switching back to main audio we're not still appending where we left off\n this.resetTransmuxer();\n }\n var hls = this.hls;\n // If switching from alt to main audio, flush all audio and trigger track switched\n if (fromAltAudio) {\n hls.trigger(Events.BUFFER_FLUSHING, {\n startOffset: 0,\n endOffset: Number.POSITIVE_INFINITY,\n type: null\n });\n this.fragmentTracker.removeAllFragments();\n }\n hls.trigger(Events.AUDIO_TRACK_SWITCHED, data);\n }\n };\n _proto.onAudioTrackSwitched = function onAudioTrackSwitched(event, data) {\n var trackId = data.id;\n var altAudio = !!this.hls.audioTracks[trackId].url;\n if (altAudio) {\n var videoBuffer = this.videoBuffer;\n // if we switched on alternate audio, ensure that main fragment scheduling is synced with video sourcebuffer buffered\n if (videoBuffer && this.mediaBuffer !== videoBuffer) {\n this.log('Switching on alternate audio, use video.buffered to schedule main fragment loading');\n this.mediaBuffer = videoBuffer;\n }\n }\n this.altAudio = altAudio;\n this.tick();\n };\n _proto.onBufferCreated = function onBufferCreated(event, data) {\n var tracks = data.tracks;\n var mediaTrack;\n var name;\n var alternate = false;\n for (var type in tracks) {\n var track = tracks[type];\n if (track.id === 'main') {\n name = type;\n mediaTrack = track;\n // keep video source buffer reference\n if (type === 'video') {\n var videoTrack = tracks[type];\n if (videoTrack) {\n this.videoBuffer = videoTrack.buffer;\n }\n }\n } else {\n alternate = true;\n }\n }\n if (alternate && mediaTrack) {\n this.log(\"Alternate track found, use \" + name + \".buffered to schedule main fragment loading\");\n this.mediaBuffer = mediaTrack.buffer;\n } else {\n this.mediaBuffer = this.media;\n }\n };\n _proto.onFragBuffered = function onFragBuffered(event, data) {\n var frag = data.frag,\n part = data.part;\n if (frag && frag.type !== PlaylistLevelType.MAIN) {\n return;\n }\n if (this.fragContextChanged(frag)) {\n // If a level switch was requested while a fragment was buffering, it will emit the FRAG_BUFFERED event upon completion\n // Avoid setting state back to IDLE, since that will interfere with a level switch\n this.warn(\"Fragment \" + frag.sn + (part ? ' p: ' + part.index : '') + \" of level \" + frag.level + \" finished buffering, but was aborted. state: \" + this.state);\n if (this.state === State.PARSED) {\n this.state = State.IDLE;\n }\n return;\n }\n var stats = part ? part.stats : frag.stats;\n this.fragLastKbps = Math.round(8 * stats.total / (stats.buffering.end - stats.loading.first));\n if (frag.sn !== 'initSegment') {\n this.fragPrevious = frag;\n }\n this.fragBufferedComplete(frag, part);\n };\n _proto.onError = function onError(event, data) {\n var _data$context;\n if (data.fatal) {\n this.state = State.ERROR;\n return;\n }\n switch (data.details) {\n case ErrorDetails.FRAG_GAP:\n case ErrorDetails.FRAG_PARSING_ERROR:\n case ErrorDetails.FRAG_DECRYPT_ERROR:\n case ErrorDetails.FRAG_LOAD_ERROR:\n case ErrorDetails.FRAG_LOAD_TIMEOUT:\n case ErrorDetails.KEY_LOAD_ERROR:\n case ErrorDetails.KEY_LOAD_TIMEOUT:\n this.onFragmentOrKeyLoadError(PlaylistLevelType.MAIN, data);\n break;\n case ErrorDetails.LEVEL_LOAD_ERROR:\n case ErrorDetails.LEVEL_LOAD_TIMEOUT:\n case ErrorDetails.LEVEL_PARSING_ERROR:\n // in case of non fatal error while loading level, if level controller is not retrying to load level, switch back to IDLE\n if (!data.levelRetry && this.state === State.WAITING_LEVEL && ((_data$context = data.context) == null ? void 0 : _data$context.type) === PlaylistContextType.LEVEL) {\n this.state = State.IDLE;\n }\n break;\n case ErrorDetails.BUFFER_APPEND_ERROR:\n case ErrorDetails.BUFFER_FULL_ERROR:\n if (!data.parent || data.parent !== 'main') {\n return;\n }\n if (data.details === ErrorDetails.BUFFER_APPEND_ERROR) {\n this.resetLoadingState();\n return;\n }\n if (this.reduceLengthAndFlushBuffer(data)) {\n this.flushMainBuffer(0, Number.POSITIVE_INFINITY);\n }\n break;\n case ErrorDetails.INTERNAL_EXCEPTION:\n this.recoverWorkerError(data);\n break;\n }\n }\n\n // Checks the health of the buffer and attempts to resolve playback stalls.\n ;\n _proto.checkBuffer = function checkBuffer() {\n var media = this.media,\n gapController = this.gapController;\n if (!media || !gapController || !media.readyState) {\n // Exit early if we don't have media or if the media hasn't buffered anything yet (readyState 0)\n return;\n }\n if (this.loadedmetadata || !BufferHelper.getBuffered(media).length) {\n // Resolve gaps using the main buffer, whose ranges are the intersections of the A/V sourcebuffers\n var activeFrag = this.state !== State.IDLE ? this.fragCurrent : null;\n gapController.poll(this.lastCurrentTime, activeFrag);\n }\n this.lastCurrentTime = media.currentTime;\n };\n _proto.onFragLoadEmergencyAborted = function onFragLoadEmergencyAborted() {\n this.state = State.IDLE;\n // if loadedmetadata is not set, it means that we are emergency switch down on first frag\n // in that case, reset startFragRequested flag\n if (!this.loadedmetadata) {\n this.startFragRequested = false;\n this.nextLoadPosition = this.startPosition;\n }\n this.tickImmediate();\n };\n _proto.onBufferFlushed = function onBufferFlushed(event, _ref) {\n var type = _ref.type;\n if (type !== ElementaryStreamTypes.AUDIO || this.audioOnly && !this.altAudio) {\n var mediaBuffer = (type === ElementaryStreamTypes.VIDEO ? this.videoBuffer : this.mediaBuffer) || this.media;\n this.afterBufferFlushed(mediaBuffer, type, PlaylistLevelType.MAIN);\n this.tick();\n }\n };\n _proto.onLevelsUpdated = function onLevelsUpdated(event, data) {\n if (this.level > -1 && this.fragCurrent) {\n this.level = this.fragCurrent.level;\n }\n this.levels = data.levels;\n };\n _proto.swapAudioCodec = function swapAudioCodec() {\n this.audioCodecSwap = !this.audioCodecSwap;\n }\n\n /**\n * Seeks to the set startPosition if not equal to the mediaElement's current time.\n */;\n _proto.seekToStartPos = function seekToStartPos() {\n var media = this.media;\n if (!media) {\n return;\n }\n var currentTime = media.currentTime;\n var startPosition = this.startPosition;\n // only adjust currentTime if different from startPosition or if startPosition not buffered\n // at that stage, there should be only one buffered range, as we reach that code after first fragment has been buffered\n if (startPosition >= 0 && currentTime < startPosition) {\n if (media.seeking) {\n this.log(\"could not seek to \" + startPosition + \", already seeking at \" + currentTime);\n return;\n }\n var buffered = BufferHelper.getBuffered(media);\n var bufferStart = buffered.length ? buffered.start(0) : 0;\n var delta = bufferStart - startPosition;\n if (delta > 0 && (delta < this.config.maxBufferHole || delta < this.config.maxFragLookUpTolerance)) {\n this.log(\"adjusting start position by \" + delta + \" to match buffer start\");\n startPosition += delta;\n this.startPosition = startPosition;\n }\n this.log(\"seek to target start position \" + startPosition + \" from current time \" + currentTime);\n media.currentTime = startPosition;\n }\n };\n _proto._getAudioCodec = function _getAudioCodec(currentLevel) {\n var audioCodec = this.config.defaultAudioCodec || currentLevel.audioCodec;\n if (this.audioCodecSwap && audioCodec) {\n this.log('Swapping audio codec');\n if (audioCodec.indexOf('mp4a.40.5') !== -1) {\n audioCodec = 'mp4a.40.2';\n } else {\n audioCodec = 'mp4a.40.5';\n }\n }\n return audioCodec;\n };\n _proto._loadBitrateTestFrag = function _loadBitrateTestFrag(frag, level) {\n var _this2 = this;\n frag.bitrateTest = true;\n this._doFragLoad(frag, level).then(function (data) {\n var hls = _this2.hls;\n if (!data || _this2.fragContextChanged(frag)) {\n return;\n }\n level.fragmentError = 0;\n _this2.state = State.IDLE;\n _this2.startFragRequested = false;\n _this2.bitrateTest = false;\n var stats = frag.stats;\n // Bitrate tests fragments are neither parsed nor buffered\n stats.parsing.start = stats.parsing.end = stats.buffering.start = stats.buffering.end = self.performance.now();\n hls.trigger(Events.FRAG_LOADED, data);\n frag.bitrateTest = false;\n });\n };\n _proto._handleTransmuxComplete = function _handleTransmuxComplete(transmuxResult) {\n var _id3$samples;\n var id = 'main';\n var hls = this.hls;\n var remuxResult = transmuxResult.remuxResult,\n chunkMeta = transmuxResult.chunkMeta;\n var context = this.getCurrentContext(chunkMeta);\n if (!context) {\n this.resetWhenMissingContext(chunkMeta);\n return;\n }\n var frag = context.frag,\n part = context.part,\n level = context.level;\n var video = remuxResult.video,\n text = remuxResult.text,\n id3 = remuxResult.id3,\n initSegment = remuxResult.initSegment;\n var details = level.details;\n // The audio-stream-controller handles audio buffering if Hls.js is playing an alternate audio track\n var audio = this.altAudio ? undefined : remuxResult.audio;\n\n // Check if the current fragment has been aborted. We check this by first seeing if we're still playing the current level.\n // If we are, subsequently check if the currently loading fragment (fragCurrent) has changed.\n if (this.fragContextChanged(frag)) {\n this.fragmentTracker.removeFragment(frag);\n return;\n }\n this.state = State.PARSING;\n if (initSegment) {\n if (initSegment != null && initSegment.tracks) {\n var mapFragment = frag.initSegment || frag;\n this._bufferInitSegment(level, initSegment.tracks, mapFragment, chunkMeta);\n hls.trigger(Events.FRAG_PARSING_INIT_SEGMENT, {\n frag: mapFragment,\n id: id,\n tracks: initSegment.tracks\n });\n }\n\n // This would be nice if Number.isFinite acted as a typeguard, but it doesn't. See: https://github.com/Microsoft/TypeScript/issues/10038\n var initPTS = initSegment.initPTS;\n var timescale = initSegment.timescale;\n if (isFiniteNumber(initPTS)) {\n this.initPTS[frag.cc] = {\n baseTime: initPTS,\n timescale: timescale\n };\n hls.trigger(Events.INIT_PTS_FOUND, {\n frag: frag,\n id: id,\n initPTS: initPTS,\n timescale: timescale\n });\n }\n }\n\n // Avoid buffering if backtracking this fragment\n if (video && details && frag.sn !== 'initSegment') {\n var prevFrag = details.fragments[frag.sn - 1 - details.startSN];\n var isFirstFragment = frag.sn === details.startSN;\n var isFirstInDiscontinuity = !prevFrag || frag.cc > prevFrag.cc;\n if (remuxResult.independent !== false) {\n var startPTS = video.startPTS,\n endPTS = video.endPTS,\n startDTS = video.startDTS,\n endDTS = video.endDTS;\n if (part) {\n part.elementaryStreams[video.type] = {\n startPTS: startPTS,\n endPTS: endPTS,\n startDTS: startDTS,\n endDTS: endDTS\n };\n } else {\n if (video.firstKeyFrame && video.independent && chunkMeta.id === 1 && !isFirstInDiscontinuity) {\n this.couldBacktrack = true;\n }\n if (video.dropped && video.independent) {\n // Backtrack if dropped frames create a gap after currentTime\n\n var bufferInfo = this.getMainFwdBufferInfo();\n var targetBufferTime = (bufferInfo ? bufferInfo.end : this.getLoadPosition()) + this.config.maxBufferHole;\n var startTime = video.firstKeyFramePTS ? video.firstKeyFramePTS : startPTS;\n if (!isFirstFragment && targetBufferTime < startTime - this.config.maxBufferHole && !isFirstInDiscontinuity) {\n this.backtrack(frag);\n return;\n } else if (isFirstInDiscontinuity) {\n // Mark segment with a gap to avoid loop loading\n frag.gap = true;\n }\n // Set video stream start to fragment start so that truncated samples do not distort the timeline, and mark it partial\n frag.setElementaryStreamInfo(video.type, frag.start, endPTS, frag.start, endDTS, true);\n } else if (isFirstFragment && startPTS > MAX_START_GAP_JUMP) {\n // Mark segment with a gap to skip large start gap\n frag.gap = true;\n }\n }\n frag.setElementaryStreamInfo(video.type, startPTS, endPTS, startDTS, endDTS);\n if (this.backtrackFragment) {\n this.backtrackFragment = frag;\n }\n this.bufferFragmentData(video, frag, part, chunkMeta, isFirstFragment || isFirstInDiscontinuity);\n } else if (isFirstFragment || isFirstInDiscontinuity) {\n // Mark segment with a gap to avoid loop loading\n frag.gap = true;\n } else {\n this.backtrack(frag);\n return;\n }\n }\n if (audio) {\n var _startPTS = audio.startPTS,\n _endPTS = audio.endPTS,\n _startDTS = audio.startDTS,\n _endDTS = audio.endDTS;\n if (part) {\n part.elementaryStreams[ElementaryStreamTypes.AUDIO] = {\n startPTS: _startPTS,\n endPTS: _endPTS,\n startDTS: _startDTS,\n endDTS: _endDTS\n };\n }\n frag.setElementaryStreamInfo(ElementaryStreamTypes.AUDIO, _startPTS, _endPTS, _startDTS, _endDTS);\n this.bufferFragmentData(audio, frag, part, chunkMeta);\n }\n if (details && id3 != null && (_id3$samples = id3.samples) != null && _id3$samples.length) {\n var emittedID3 = {\n id: id,\n frag: frag,\n details: details,\n samples: id3.samples\n };\n hls.trigger(Events.FRAG_PARSING_METADATA, emittedID3);\n }\n if (details && text) {\n var emittedText = {\n id: id,\n frag: frag,\n details: details,\n samples: text.samples\n };\n hls.trigger(Events.FRAG_PARSING_USERDATA, emittedText);\n }\n };\n _proto._bufferInitSegment = function _bufferInitSegment(currentLevel, tracks, frag, chunkMeta) {\n var _this3 = this;\n if (this.state !== State.PARSING) {\n return;\n }\n this.audioOnly = !!tracks.audio && !tracks.video;\n\n // if audio track is expected to come from audio stream controller, discard any coming from main\n if (this.altAudio && !this.audioOnly) {\n delete tracks.audio;\n }\n // include levelCodec in audio and video tracks\n var audio = tracks.audio,\n video = tracks.video,\n audiovideo = tracks.audiovideo;\n if (audio) {\n var audioCodec = currentLevel.audioCodec;\n var ua = navigator.userAgent.toLowerCase();\n if (this.audioCodecSwitch) {\n if (audioCodec) {\n if (audioCodec.indexOf('mp4a.40.5') !== -1) {\n audioCodec = 'mp4a.40.2';\n } else {\n audioCodec = 'mp4a.40.5';\n }\n }\n // In the case that AAC and HE-AAC audio codecs are signalled in manifest,\n // force HE-AAC, as it seems that most browsers prefers it.\n // don't force HE-AAC if mono stream, or in Firefox\n if (audio.metadata.channelCount !== 1 && ua.indexOf('firefox') === -1) {\n audioCodec = 'mp4a.40.5';\n }\n }\n // HE-AAC is broken on Android, always signal audio codec as AAC even if variant manifest states otherwise\n if (audioCodec && audioCodec.indexOf('mp4a.40.5') !== -1 && ua.indexOf('android') !== -1 && audio.container !== 'audio/mpeg') {\n // Exclude mpeg audio\n audioCodec = 'mp4a.40.2';\n this.log(\"Android: force audio codec to \" + audioCodec);\n }\n if (currentLevel.audioCodec && currentLevel.audioCodec !== audioCodec) {\n this.log(\"Swapping manifest audio codec \\\"\" + currentLevel.audioCodec + \"\\\" for \\\"\" + audioCodec + \"\\\"\");\n }\n audio.levelCodec = audioCodec;\n audio.id = 'main';\n this.log(\"Init audio buffer, container:\" + audio.container + \", codecs[selected/level/parsed]=[\" + (audioCodec || '') + \"/\" + (currentLevel.audioCodec || '') + \"/\" + audio.codec + \"]\");\n }\n if (video) {\n video.levelCodec = currentLevel.videoCodec;\n video.id = 'main';\n this.log(\"Init video buffer, container:\" + video.container + \", codecs[level/parsed]=[\" + (currentLevel.videoCodec || '') + \"/\" + video.codec + \"]\");\n }\n if (audiovideo) {\n this.log(\"Init audiovideo buffer, container:\" + audiovideo.container + \", codecs[level/parsed]=[\" + currentLevel.codecs + \"/\" + audiovideo.codec + \"]\");\n }\n this.hls.trigger(Events.BUFFER_CODECS, tracks);\n // loop through tracks that are going to be provided to bufferController\n Object.keys(tracks).forEach(function (trackName) {\n var track = tracks[trackName];\n var initSegment = track.initSegment;\n if (initSegment != null && initSegment.byteLength) {\n _this3.hls.trigger(Events.BUFFER_APPENDING, {\n type: trackName,\n data: initSegment,\n frag: frag,\n part: null,\n chunkMeta: chunkMeta,\n parent: frag.type\n });\n }\n });\n // trigger handler right now\n this.tickImmediate();\n };\n _proto.getMainFwdBufferInfo = function getMainFwdBufferInfo() {\n return this.getFwdBufferInfo(this.mediaBuffer ? this.mediaBuffer : this.media, PlaylistLevelType.MAIN);\n };\n _proto.backtrack = function backtrack(frag) {\n this.couldBacktrack = true;\n // Causes findFragments to backtrack through fragments to find the keyframe\n this.backtrackFragment = frag;\n this.resetTransmuxer();\n this.flushBufferGap(frag);\n this.fragmentTracker.removeFragment(frag);\n this.fragPrevious = null;\n this.nextLoadPosition = frag.start;\n this.state = State.IDLE;\n };\n _proto.checkFragmentChanged = function checkFragmentChanged() {\n var video = this.media;\n var fragPlayingCurrent = null;\n if (video && video.readyState > 1 && video.seeking === false) {\n var currentTime = video.currentTime;\n /* if video element is in seeked state, currentTime can only increase.\n (assuming that playback rate is positive ...)\n As sometimes currentTime jumps back to zero after a\n media decode error, check this, to avoid seeking back to\n wrong position after a media decode error\n */\n\n if (BufferHelper.isBuffered(video, currentTime)) {\n fragPlayingCurrent = this.getAppendedFrag(currentTime);\n } else if (BufferHelper.isBuffered(video, currentTime + 0.1)) {\n /* ensure that FRAG_CHANGED event is triggered at startup,\n when first video frame is displayed and playback is paused.\n add a tolerance of 100ms, in case current position is not buffered,\n check if current pos+100ms is buffered and use that buffer range\n for FRAG_CHANGED event reporting */\n fragPlayingCurrent = this.getAppendedFrag(currentTime + 0.1);\n }\n if (fragPlayingCurrent) {\n this.backtrackFragment = null;\n var fragPlaying = this.fragPlaying;\n var fragCurrentLevel = fragPlayingCurrent.level;\n if (!fragPlaying || fragPlayingCurrent.sn !== fragPlaying.sn || fragPlaying.level !== fragCurrentLevel) {\n this.fragPlaying = fragPlayingCurrent;\n this.hls.trigger(Events.FRAG_CHANGED, {\n frag: fragPlayingCurrent\n });\n if (!fragPlaying || fragPlaying.level !== fragCurrentLevel) {\n this.hls.trigger(Events.LEVEL_SWITCHED, {\n level: fragCurrentLevel\n });\n }\n }\n }\n }\n };\n _createClass(StreamController, [{\n key: \"nextLevel\",\n get: function get() {\n var frag = this.nextBufferedFrag;\n if (frag) {\n return frag.level;\n }\n return -1;\n }\n }, {\n key: \"currentFrag\",\n get: function get() {\n var media = this.media;\n if (media) {\n return this.fragPlaying || this.getAppendedFrag(media.currentTime);\n }\n return null;\n }\n }, {\n key: \"currentProgramDateTime\",\n get: function get() {\n var media = this.media;\n if (media) {\n var currentTime = media.currentTime;\n var frag = this.currentFrag;\n if (frag && isFiniteNumber(currentTime) && isFiniteNumber(frag.programDateTime)) {\n var epocMs = frag.programDateTime + (currentTime - frag.start) * 1000;\n return new Date(epocMs);\n }\n }\n return null;\n }\n }, {\n key: \"currentLevel\",\n get: function get() {\n var frag = this.currentFrag;\n if (frag) {\n return frag.level;\n }\n return -1;\n }\n }, {\n key: \"nextBufferedFrag\",\n get: function get() {\n var frag = this.currentFrag;\n if (frag) {\n return this.followingBufferedFrag(frag);\n }\n return null;\n }\n }, {\n key: \"forceStartLoad\",\n get: function get() {\n return this._forceStartLoad;\n }\n }]);\n return StreamController;\n }(BaseStreamController);\n\n /**\n * The `Hls` class is the core of the HLS.js library used to instantiate player instances.\n * @public\n */\n var Hls = /*#__PURE__*/function () {\n /**\n * Check if the required MediaSource Extensions are available.\n */\n Hls.isMSESupported = function isMSESupported$1() {\n return isMSESupported();\n }\n\n /**\n * Check if MediaSource Extensions are available and isTypeSupported checks pass for any baseline codecs.\n */;\n Hls.isSupported = function isSupported$1() {\n return isSupported();\n }\n\n /**\n * Get the MediaSource global used for MSE playback (ManagedMediaSource, MediaSource, or WebKitMediaSource).\n */;\n Hls.getMediaSource = function getMediaSource$1() {\n return getMediaSource();\n };\n /**\n * Creates an instance of an HLS client that can attach to exactly one `HTMLMediaElement`.\n * @param userConfig - Configuration options applied over `Hls.DefaultConfig`\n */\n function Hls(userConfig) {\n if (userConfig === void 0) {\n userConfig = {};\n }\n /**\n * The runtime configuration used by the player. At instantiation this is combination of `hls.userConfig` merged over `Hls.DefaultConfig`.\n */\n this.config = void 0;\n /**\n * The configuration object provided on player instantiation.\n */\n this.userConfig = void 0;\n this.coreComponents = void 0;\n this.networkControllers = void 0;\n this.started = false;\n this._emitter = new EventEmitter();\n this._autoLevelCapping = -1;\n this._maxHdcpLevel = null;\n this.abrController = void 0;\n this.bufferController = void 0;\n this.capLevelController = void 0;\n this.latencyController = void 0;\n this.levelController = void 0;\n this.streamController = void 0;\n this.audioTrackController = void 0;\n this.subtitleTrackController = void 0;\n this.emeController = void 0;\n this.cmcdController = void 0;\n this._media = null;\n this.url = null;\n this.triggeringException = void 0;\n enableLogs(userConfig.debug || false, 'Hls instance');\n var config = this.config = mergeConfig(Hls.DefaultConfig, userConfig);\n this.userConfig = userConfig;\n if (config.progressive) {\n enableStreamingMode(config);\n }\n\n // core controllers and network loaders\n var ConfigAbrController = config.abrController,\n ConfigBufferController = config.bufferController,\n ConfigCapLevelController = config.capLevelController,\n ConfigErrorController = config.errorController,\n ConfigFpsController = config.fpsController;\n var errorController = new ConfigErrorController(this);\n var abrController = this.abrController = new ConfigAbrController(this);\n var bufferController = this.bufferController = new ConfigBufferController(this);\n var capLevelController = this.capLevelController = new ConfigCapLevelController(this);\n var fpsController = new ConfigFpsController(this);\n var playListLoader = new PlaylistLoader(this);\n var id3TrackController = new ID3TrackController(this);\n var ConfigContentSteeringController = config.contentSteeringController;\n // ConentSteeringController is defined before LevelController to receive Multivariant Playlist events first\n var contentSteering = ConfigContentSteeringController ? new ConfigContentSteeringController(this) : null;\n var levelController = this.levelController = new LevelController(this, contentSteering);\n // FragmentTracker must be defined before StreamController because the order of event handling is important\n var fragmentTracker = new FragmentTracker(this);\n var keyLoader = new KeyLoader(this.config);\n var streamController = this.streamController = new StreamController(this, fragmentTracker, keyLoader);\n\n // Cap level controller uses streamController to flush the buffer\n capLevelController.setStreamController(streamController);\n // fpsController uses streamController to switch when frames are being dropped\n fpsController.setStreamController(streamController);\n var networkControllers = [playListLoader, levelController, streamController];\n if (contentSteering) {\n networkControllers.splice(1, 0, contentSteering);\n }\n this.networkControllers = networkControllers;\n var coreComponents = [abrController, bufferController, capLevelController, fpsController, id3TrackController, fragmentTracker];\n this.audioTrackController = this.createController(config.audioTrackController, networkControllers);\n var AudioStreamControllerClass = config.audioStreamController;\n if (AudioStreamControllerClass) {\n networkControllers.push(new AudioStreamControllerClass(this, fragmentTracker, keyLoader));\n }\n // subtitleTrackController must be defined before subtitleStreamController because the order of event handling is important\n this.subtitleTrackController = this.createController(config.subtitleTrackController, networkControllers);\n var SubtitleStreamControllerClass = config.subtitleStreamController;\n if (SubtitleStreamControllerClass) {\n networkControllers.push(new SubtitleStreamControllerClass(this, fragmentTracker, keyLoader));\n }\n this.createController(config.timelineController, coreComponents);\n keyLoader.emeController = this.emeController = this.createController(config.emeController, coreComponents);\n this.cmcdController = this.createController(config.cmcdController, coreComponents);\n this.latencyController = this.createController(LatencyController, coreComponents);\n this.coreComponents = coreComponents;\n\n // Error controller handles errors before and after all other controllers\n // This listener will be invoked after all other controllers error listeners\n networkControllers.push(errorController);\n var onErrorOut = errorController.onErrorOut;\n if (typeof onErrorOut === 'function') {\n this.on(Events.ERROR, onErrorOut, errorController);\n }\n }\n var _proto = Hls.prototype;\n _proto.createController = function createController(ControllerClass, components) {\n if (ControllerClass) {\n var controllerInstance = new ControllerClass(this);\n if (components) {\n components.push(controllerInstance);\n }\n return controllerInstance;\n }\n return null;\n }\n\n // Delegate the EventEmitter through the public API of Hls.js\n ;\n _proto.on = function on(event, listener, context) {\n if (context === void 0) {\n context = this;\n }\n this._emitter.on(event, listener, context);\n };\n _proto.once = function once(event, listener, context) {\n if (context === void 0) {\n context = this;\n }\n this._emitter.once(event, listener, context);\n };\n _proto.removeAllListeners = function removeAllListeners(event) {\n this._emitter.removeAllListeners(event);\n };\n _proto.off = function off(event, listener, context, once) {\n if (context === void 0) {\n context = this;\n }\n this._emitter.off(event, listener, context, once);\n };\n _proto.listeners = function listeners(event) {\n return this._emitter.listeners(event);\n };\n _proto.emit = function emit(event, name, eventObject) {\n return this._emitter.emit(event, name, eventObject);\n };\n _proto.trigger = function trigger(event, eventObject) {\n if (this.config.debug) {\n return this.emit(event, event, eventObject);\n } else {\n try {\n return this.emit(event, event, eventObject);\n } catch (error) {\n logger.error('An internal error happened while handling event ' + event + '. Error message: \"' + error.message + '\". Here is a stacktrace:', error);\n // Prevent recursion in error event handlers that throw #5497\n if (!this.triggeringException) {\n this.triggeringException = true;\n var fatal = event === Events.ERROR;\n this.trigger(Events.ERROR, {\n type: ErrorTypes.OTHER_ERROR,\n details: ErrorDetails.INTERNAL_EXCEPTION,\n fatal: fatal,\n event: event,\n error: error\n });\n this.triggeringException = false;\n }\n }\n }\n return false;\n };\n _proto.listenerCount = function listenerCount(event) {\n return this._emitter.listenerCount(event);\n }\n\n /**\n * Dispose of the instance\n */;\n _proto.destroy = function destroy() {\n logger.log('destroy');\n this.trigger(Events.DESTROYING, undefined);\n this.detachMedia();\n this.removeAllListeners();\n this._autoLevelCapping = -1;\n this.url = null;\n this.networkControllers.forEach(function (component) {\n return component.destroy();\n });\n this.networkControllers.length = 0;\n this.coreComponents.forEach(function (component) {\n return component.destroy();\n });\n this.coreComponents.length = 0;\n // Remove any references that could be held in config options or callbacks\n var config = this.config;\n config.xhrSetup = config.fetchSetup = undefined;\n // @ts-ignore\n this.userConfig = null;\n }\n\n /**\n * Attaches Hls.js to a media element\n */;\n _proto.attachMedia = function attachMedia(media) {\n logger.log('attachMedia');\n this._media = media;\n this.trigger(Events.MEDIA_ATTACHING, {\n media: media\n });\n }\n\n /**\n * Detach Hls.js from the media\n */;\n _proto.detachMedia = function detachMedia() {\n logger.log('detachMedia');\n this.trigger(Events.MEDIA_DETACHING, undefined);\n this._media = null;\n }\n\n /**\n * Set the source URL. Can be relative or absolute.\n */;\n _proto.loadSource = function loadSource(url) {\n this.stopLoad();\n var media = this.media;\n var loadedSource = this.url;\n var loadingSource = this.url = urlToolkitExports.buildAbsoluteURL(self.location.href, url, {\n alwaysNormalize: true\n });\n this._autoLevelCapping = -1;\n this._maxHdcpLevel = null;\n logger.log(\"loadSource:\" + loadingSource);\n if (media && loadedSource && (loadedSource !== loadingSource || this.bufferController.hasSourceTypes())) {\n this.detachMedia();\n this.attachMedia(media);\n }\n // when attaching to a source URL, trigger a playlist load\n this.trigger(Events.MANIFEST_LOADING, {\n url: url\n });\n }\n\n /**\n * Start loading data from the stream source.\n * Depending on default config, client starts loading automatically when a source is set.\n *\n * @param startPosition - Set the start position to stream from.\n * Defaults to -1 (None: starts from earliest point)\n */;\n _proto.startLoad = function startLoad(startPosition) {\n if (startPosition === void 0) {\n startPosition = -1;\n }\n logger.log(\"startLoad(\" + startPosition + \")\");\n this.started = true;\n this.networkControllers.forEach(function (controller) {\n controller.startLoad(startPosition);\n });\n }\n\n /**\n * Stop loading of any stream data.\n */;\n _proto.stopLoad = function stopLoad() {\n logger.log('stopLoad');\n this.started = false;\n this.networkControllers.forEach(function (controller) {\n controller.stopLoad();\n });\n }\n\n /**\n * Resumes stream controller segment loading if previously started.\n */;\n _proto.resumeBuffering = function resumeBuffering() {\n if (this.started) {\n this.networkControllers.forEach(function (controller) {\n if ('fragmentLoader' in controller) {\n controller.startLoad(-1);\n }\n });\n }\n }\n\n /**\n * Stops stream controller segment loading without changing 'started' state like stopLoad().\n * This allows for media buffering to be paused without interupting playlist loading.\n */;\n _proto.pauseBuffering = function pauseBuffering() {\n this.networkControllers.forEach(function (controller) {\n if ('fragmentLoader' in controller) {\n controller.stopLoad();\n }\n });\n }\n\n /**\n * Swap through possible audio codecs in the stream (for example to switch from stereo to 5.1)\n */;\n _proto.swapAudioCodec = function swapAudioCodec() {\n logger.log('swapAudioCodec');\n this.streamController.swapAudioCodec();\n }\n\n /**\n * When the media-element fails, this allows to detach and then re-attach it\n * as one call (convenience method).\n *\n * Automatic recovery of media-errors by this process is configurable.\n */;\n _proto.recoverMediaError = function recoverMediaError() {\n logger.log('recoverMediaError');\n var media = this._media;\n this.detachMedia();\n if (media) {\n this.attachMedia(media);\n }\n };\n _proto.removeLevel = function removeLevel(levelIndex) {\n this.levelController.removeLevel(levelIndex);\n }\n\n /**\n * @returns an array of levels (variants) sorted by HDCP-LEVEL, RESOLUTION (height), FRAME-RATE, CODECS, VIDEO-RANGE, and BANDWIDTH\n */;\n /**\n * Find and select the best matching audio track, making a level switch when a Group change is necessary.\n * Updates `hls.config.audioPreference`. Returns the selected track, or null when no matching track is found.\n */\n _proto.setAudioOption = function setAudioOption(audioOption) {\n var _this$audioTrackContr;\n return (_this$audioTrackContr = this.audioTrackController) == null ? void 0 : _this$audioTrackContr.setAudioOption(audioOption);\n }\n /**\n * Find and select the best matching subtitle track, making a level switch when a Group change is necessary.\n * Updates `hls.config.subtitlePreference`. Returns the selected track, or null when no matching track is found.\n */;\n _proto.setSubtitleOption = function setSubtitleOption(subtitleOption) {\n var _this$subtitleTrackCo;\n (_this$subtitleTrackCo = this.subtitleTrackController) == null ? void 0 : _this$subtitleTrackCo.setSubtitleOption(subtitleOption);\n return null;\n }\n\n /**\n * Get the complete list of audio tracks across all media groups\n */;\n _createClass(Hls, [{\n key: \"levels\",\n get: function get() {\n var levels = this.levelController.levels;\n return levels ? levels : [];\n }\n\n /**\n * Index of quality level (variant) currently played\n */\n }, {\n key: \"currentLevel\",\n get: function get() {\n return this.streamController.currentLevel;\n }\n\n /**\n * Set quality level index immediately. This will flush the current buffer to replace the quality asap. That means playback will interrupt at least shortly to re-buffer and re-sync eventually. Set to -1 for automatic level selection.\n */,\n set: function set(newLevel) {\n logger.log(\"set currentLevel:\" + newLevel);\n this.levelController.manualLevel = newLevel;\n this.streamController.immediateLevelSwitch();\n }\n\n /**\n * Index of next quality level loaded as scheduled by stream controller.\n */\n }, {\n key: \"nextLevel\",\n get: function get() {\n return this.streamController.nextLevel;\n }\n\n /**\n * Set quality level index for next loaded data.\n * This will switch the video quality asap, without interrupting playback.\n * May abort current loading of data, and flush parts of buffer (outside currently played fragment region).\n * @param newLevel - Pass -1 for automatic level selection\n */,\n set: function set(newLevel) {\n logger.log(\"set nextLevel:\" + newLevel);\n this.levelController.manualLevel = newLevel;\n this.streamController.nextLevelSwitch();\n }\n\n /**\n * Return the quality level of the currently or last (of none is loaded currently) segment\n */\n }, {\n key: \"loadLevel\",\n get: function get() {\n return this.levelController.level;\n }\n\n /**\n * Set quality level index for next loaded data in a conservative way.\n * This will switch the quality without flushing, but interrupt current loading.\n * Thus the moment when the quality switch will appear in effect will only be after the already existing buffer.\n * @param newLevel - Pass -1 for automatic level selection\n */,\n set: function set(newLevel) {\n logger.log(\"set loadLevel:\" + newLevel);\n this.levelController.manualLevel = newLevel;\n }\n\n /**\n * get next quality level loaded\n */\n }, {\n key: \"nextLoadLevel\",\n get: function get() {\n return this.levelController.nextLoadLevel;\n }\n\n /**\n * Set quality level of next loaded segment in a fully \"non-destructive\" way.\n * Same as `loadLevel` but will wait for next switch (until current loading is done).\n */,\n set: function set(level) {\n this.levelController.nextLoadLevel = level;\n }\n\n /**\n * Return \"first level\": like a default level, if not set,\n * falls back to index of first level referenced in manifest\n */\n }, {\n key: \"firstLevel\",\n get: function get() {\n return Math.max(this.levelController.firstLevel, this.minAutoLevel);\n }\n\n /**\n * Sets \"first-level\", see getter.\n */,\n set: function set(newLevel) {\n logger.log(\"set firstLevel:\" + newLevel);\n this.levelController.firstLevel = newLevel;\n }\n\n /**\n * Return the desired start level for the first fragment that will be loaded.\n * The default value of -1 indicates automatic start level selection.\n * Setting hls.nextAutoLevel without setting a startLevel will result in\n * the nextAutoLevel value being used for one fragment load.\n */\n }, {\n key: \"startLevel\",\n get: function get() {\n var startLevel = this.levelController.startLevel;\n if (startLevel === -1 && this.abrController.forcedAutoLevel > -1) {\n return this.abrController.forcedAutoLevel;\n }\n return startLevel;\n }\n\n /**\n * set start level (level of first fragment that will be played back)\n * if not overrided by user, first level appearing in manifest will be used as start level\n * if -1 : automatic start level selection, playback will start from level matching download bandwidth\n * (determined from download of first segment)\n */,\n set: function set(newLevel) {\n logger.log(\"set startLevel:\" + newLevel);\n // if not in automatic start level detection, ensure startLevel is greater than minAutoLevel\n if (newLevel !== -1) {\n newLevel = Math.max(newLevel, this.minAutoLevel);\n }\n this.levelController.startLevel = newLevel;\n }\n\n /**\n * Whether level capping is enabled.\n * Default value is set via `config.capLevelToPlayerSize`.\n */\n }, {\n key: \"capLevelToPlayerSize\",\n get: function get() {\n return this.config.capLevelToPlayerSize;\n }\n\n /**\n * Enables or disables level capping. If disabled after previously enabled, `nextLevelSwitch` will be immediately called.\n */,\n set: function set(shouldStartCapping) {\n var newCapLevelToPlayerSize = !!shouldStartCapping;\n if (newCapLevelToPlayerSize !== this.config.capLevelToPlayerSize) {\n if (newCapLevelToPlayerSize) {\n this.capLevelController.startCapping(); // If capping occurs, nextLevelSwitch will happen based on size.\n } else {\n this.capLevelController.stopCapping();\n this.autoLevelCapping = -1;\n this.streamController.nextLevelSwitch(); // Now we're uncapped, get the next level asap.\n }\n this.config.capLevelToPlayerSize = newCapLevelToPlayerSize;\n }\n }\n\n /**\n * Capping/max level value that should be used by automatic level selection algorithm (`ABRController`)\n */\n }, {\n key: \"autoLevelCapping\",\n get: function get() {\n return this._autoLevelCapping;\n }\n\n /**\n * Returns the current bandwidth estimate in bits per second, when available. Otherwise, `NaN` is returned.\n */,\n set:\n /**\n * Capping/max level value that should be used by automatic level selection algorithm (`ABRController`)\n */\n function set(newLevel) {\n if (this._autoLevelCapping !== newLevel) {\n logger.log(\"set autoLevelCapping:\" + newLevel);\n this._autoLevelCapping = newLevel;\n this.levelController.checkMaxAutoUpdated();\n }\n }\n }, {\n key: \"bandwidthEstimate\",\n get: function get() {\n var bwEstimator = this.abrController.bwEstimator;\n if (!bwEstimator) {\n return NaN;\n }\n return bwEstimator.getEstimate();\n },\n set: function set(abrEwmaDefaultEstimate) {\n this.abrController.resetEstimator(abrEwmaDefaultEstimate);\n }\n\n /**\n * get time to first byte estimate\n * @type {number}\n */\n }, {\n key: \"ttfbEstimate\",\n get: function get() {\n var bwEstimator = this.abrController.bwEstimator;\n if (!bwEstimator) {\n return NaN;\n }\n return bwEstimator.getEstimateTTFB();\n }\n }, {\n key: \"maxHdcpLevel\",\n get: function get() {\n return this._maxHdcpLevel;\n },\n set: function set(value) {\n if (isHdcpLevel(value) && this._maxHdcpLevel !== value) {\n this._maxHdcpLevel = value;\n this.levelController.checkMaxAutoUpdated();\n }\n }\n\n /**\n * True when automatic level selection enabled\n */\n }, {\n key: \"autoLevelEnabled\",\n get: function get() {\n return this.levelController.manualLevel === -1;\n }\n\n /**\n * Level set manually (if any)\n */\n }, {\n key: \"manualLevel\",\n get: function get() {\n return this.levelController.manualLevel;\n }\n\n /**\n * min level selectable in auto mode according to config.minAutoBitrate\n */\n }, {\n key: \"minAutoLevel\",\n get: function get() {\n var levels = this.levels,\n minAutoBitrate = this.config.minAutoBitrate;\n if (!levels) return 0;\n var len = levels.length;\n for (var i = 0; i < len; i++) {\n if (levels[i].maxBitrate >= minAutoBitrate) {\n return i;\n }\n }\n return 0;\n }\n\n /**\n * max level selectable in auto mode according to autoLevelCapping\n */\n }, {\n key: \"maxAutoLevel\",\n get: function get() {\n var levels = this.levels,\n autoLevelCapping = this.autoLevelCapping,\n maxHdcpLevel = this.maxHdcpLevel;\n var maxAutoLevel;\n if (autoLevelCapping === -1 && levels != null && levels.length) {\n maxAutoLevel = levels.length - 1;\n } else {\n maxAutoLevel = autoLevelCapping;\n }\n if (maxHdcpLevel) {\n for (var i = maxAutoLevel; i--;) {\n var hdcpLevel = levels[i].attrs['HDCP-LEVEL'];\n if (hdcpLevel && hdcpLevel <= maxHdcpLevel) {\n return i;\n }\n }\n }\n return maxAutoLevel;\n }\n }, {\n key: \"firstAutoLevel\",\n get: function get() {\n return this.abrController.firstAutoLevel;\n }\n\n /**\n * next automatically selected quality level\n */\n }, {\n key: \"nextAutoLevel\",\n get: function get() {\n return this.abrController.nextAutoLevel;\n }\n\n /**\n * this setter is used to force next auto level.\n * this is useful to force a switch down in auto mode:\n * in case of load error on level N, hls.js can set nextAutoLevel to N-1 for example)\n * forced value is valid for one fragment. upon successful frag loading at forced level,\n * this value will be resetted to -1 by ABR controller.\n */,\n set: function set(nextLevel) {\n this.abrController.nextAutoLevel = nextLevel;\n }\n\n /**\n * get the datetime value relative to media.currentTime for the active level Program Date Time if present\n */\n }, {\n key: \"playingDate\",\n get: function get() {\n return this.streamController.currentProgramDateTime;\n }\n }, {\n key: \"mainForwardBufferInfo\",\n get: function get() {\n return this.streamController.getMainFwdBufferInfo();\n }\n }, {\n key: \"allAudioTracks\",\n get: function get() {\n var audioTrackController = this.audioTrackController;\n return audioTrackController ? audioTrackController.allAudioTracks : [];\n }\n\n /**\n * Get the list of selectable audio tracks\n */\n }, {\n key: \"audioTracks\",\n get: function get() {\n var audioTrackController = this.audioTrackController;\n return audioTrackController ? audioTrackController.audioTracks : [];\n }\n\n /**\n * index of the selected audio track (index in audio track lists)\n */\n }, {\n key: \"audioTrack\",\n get: function get() {\n var audioTrackController = this.audioTrackController;\n return audioTrackController ? audioTrackController.audioTrack : -1;\n }\n\n /**\n * selects an audio track, based on its index in audio track lists\n */,\n set: function set(audioTrackId) {\n var audioTrackController = this.audioTrackController;\n if (audioTrackController) {\n audioTrackController.audioTrack = audioTrackId;\n }\n }\n\n /**\n * get the complete list of subtitle tracks across all media groups\n */\n }, {\n key: \"allSubtitleTracks\",\n get: function get() {\n var subtitleTrackController = this.subtitleTrackController;\n return subtitleTrackController ? subtitleTrackController.allSubtitleTracks : [];\n }\n\n /**\n * get alternate subtitle tracks list from playlist\n */\n }, {\n key: \"subtitleTracks\",\n get: function get() {\n var subtitleTrackController = this.subtitleTrackController;\n return subtitleTrackController ? subtitleTrackController.subtitleTracks : [];\n }\n\n /**\n * index of the selected subtitle track (index in subtitle track lists)\n */\n }, {\n key: \"subtitleTrack\",\n get: function get() {\n var subtitleTrackController = this.subtitleTrackController;\n return subtitleTrackController ? subtitleTrackController.subtitleTrack : -1;\n },\n set:\n /**\n * select an subtitle track, based on its index in subtitle track lists\n */\n function set(subtitleTrackId) {\n var subtitleTrackController = this.subtitleTrackController;\n if (subtitleTrackController) {\n subtitleTrackController.subtitleTrack = subtitleTrackId;\n }\n }\n\n /**\n * Whether subtitle display is enabled or not\n */\n }, {\n key: \"media\",\n get: function get() {\n return this._media;\n }\n }, {\n key: \"subtitleDisplay\",\n get: function get() {\n var subtitleTrackController = this.subtitleTrackController;\n return subtitleTrackController ? subtitleTrackController.subtitleDisplay : false;\n }\n\n /**\n * Enable/disable subtitle display rendering\n */,\n set: function set(value) {\n var subtitleTrackController = this.subtitleTrackController;\n if (subtitleTrackController) {\n subtitleTrackController.subtitleDisplay = value;\n }\n }\n\n /**\n * get mode for Low-Latency HLS loading\n */\n }, {\n key: \"lowLatencyMode\",\n get: function get() {\n return this.config.lowLatencyMode;\n }\n\n /**\n * Enable/disable Low-Latency HLS part playlist and segment loading, and start live streams at playlist PART-HOLD-BACK rather than HOLD-BACK.\n */,\n set: function set(mode) {\n this.config.lowLatencyMode = mode;\n }\n\n /**\n * Position (in seconds) of live sync point (ie edge of live position minus safety delay defined by ```hls.config.liveSyncDuration```)\n * @returns null prior to loading live Playlist\n */\n }, {\n key: \"liveSyncPosition\",\n get: function get() {\n return this.latencyController.liveSyncPosition;\n }\n\n /**\n * Estimated position (in seconds) of live edge (ie edge of live playlist plus time sync playlist advanced)\n * @returns 0 before first playlist is loaded\n */\n }, {\n key: \"latency\",\n get: function get() {\n return this.latencyController.latency;\n }\n\n /**\n * maximum distance from the edge before the player seeks forward to ```hls.liveSyncPosition```\n * configured using ```liveMaxLatencyDurationCount``` (multiple of target duration) or ```liveMaxLatencyDuration```\n * @returns 0 before first playlist is loaded\n */\n }, {\n key: \"maxLatency\",\n get: function get() {\n return this.latencyController.maxLatency;\n }\n\n /**\n * target distance from the edge as calculated by the latency controller\n */\n }, {\n key: \"targetLatency\",\n get: function get() {\n return this.latencyController.targetLatency;\n }\n\n /**\n * the rate at which the edge of the current live playlist is advancing or 1 if there is none\n */\n }, {\n key: \"drift\",\n get: function get() {\n return this.latencyController.drift;\n }\n\n /**\n * set to true when startLoad is called before MANIFEST_PARSED event\n */\n }, {\n key: \"forceStartLoad\",\n get: function get() {\n return this.streamController.forceStartLoad;\n }\n }], [{\n key: \"version\",\n get:\n /**\n * Get the video-dev/hls.js package version.\n */\n function get() {\n return \"1.5.5-0.canary.9893\";\n }\n }, {\n key: \"Events\",\n get: function get() {\n return Events;\n }\n }, {\n key: \"ErrorTypes\",\n get: function get() {\n return ErrorTypes;\n }\n }, {\n key: \"ErrorDetails\",\n get: function get() {\n return ErrorDetails;\n }\n\n /**\n * Get the default configuration applied to new instances.\n */\n }, {\n key: \"DefaultConfig\",\n get: function get() {\n if (!Hls.defaultConfig) {\n return hlsDefaultConfig;\n }\n return Hls.defaultConfig;\n }\n\n /**\n * Replace the default configuration applied to new instances.\n */,\n set: function set(defaultConfig) {\n Hls.defaultConfig = defaultConfig;\n }\n }]);\n return Hls;\n }();\n Hls.defaultConfig = void 0;\n\n return Hls;\n\n}));\n})(false);\n//# sourceMappingURL=hls.js.map\n","/*!\n * html-attributes\n * https://github.com/alexmingoia/html-attributes\n */\n\n'use strict';\n\n/**\n * @module html-attributes\n */\n\nmodule.exports = {\n \"abbr\": \"abbr\",\n \"accept\": \"accept\",\n \"acceptCharset\": \"accept-charset\",\n \"accessKey\": \"accesskey\",\n \"action\": \"action\",\n \"allowFullScreen\": \"allowfullscreen\",\n \"allowTransparency\": \"allowtransparency\",\n \"alt\": \"alt\",\n \"async\": \"async\",\n \"autoComplete\": \"autocomplete\",\n \"autoFocus\": \"autofocus\",\n \"autoPlay\": \"autoplay\",\n \"cellPadding\": \"cellpadding\",\n \"cellSpacing\": \"cellspacing\",\n \"challenge\": \"challenge\",\n \"charset\": \"charset\",\n \"checked\": \"checked\",\n \"cite\": \"cite\",\n \"class\": \"class\",\n \"className\": \"class\",\n \"cols\": \"cols\",\n \"colSpan\": \"colspan\",\n \"command\": \"command\",\n \"content\": \"content\",\n \"contentEditable\": \"contenteditable\",\n \"contextMenu\": \"contextmenu\",\n \"controls\": \"controls\",\n \"coords\": \"coords\",\n \"crossOrigin\": \"crossorigin\",\n \"data\": \"data\",\n \"dateTime\": \"datetime\",\n \"default\": \"default\",\n \"defer\": \"defer\",\n \"dir\": \"dir\",\n \"disabled\": \"disabled\",\n \"download\": \"download\",\n \"draggable\": \"draggable\",\n \"dropzone\": \"dropzone\",\n \"encType\": \"enctype\",\n \"for\": \"for\",\n \"form\": \"form\",\n \"formAction\": \"formaction\",\n \"formEncType\": \"formenctype\",\n \"formMethod\": \"formmethod\",\n \"formNoValidate\": \"formnovalidate\",\n \"formTarget\": \"formtarget\",\n \"frameBorder\": \"frameBorder\",\n \"headers\": \"headers\",\n \"height\": \"height\",\n \"hidden\": \"hidden\",\n \"high\": \"high\",\n \"href\": \"href\",\n \"hrefLang\": \"hreflang\",\n \"htmlFor\": \"for\",\n \"httpEquiv\": \"http-equiv\",\n \"icon\": \"icon\",\n \"id\": \"id\",\n \"inputMode\": \"inputmode\",\n \"isMap\": \"ismap\",\n \"itemId\": \"itemid\",\n \"itemProp\": \"itemprop\",\n \"itemRef\": \"itemref\",\n \"itemScope\": \"itemscope\",\n \"itemType\": \"itemtype\",\n \"kind\": \"kind\",\n \"label\": \"label\",\n \"lang\": \"lang\",\n \"list\": \"list\",\n \"loop\": \"loop\",\n \"manifest\": \"manifest\",\n \"max\": \"max\",\n \"maxLength\": \"maxlength\",\n \"media\": \"media\",\n \"mediaGroup\": \"mediagroup\",\n \"method\": \"method\",\n \"min\": \"min\",\n \"minLength\": \"minlength\",\n \"multiple\": \"multiple\",\n \"muted\": \"muted\",\n \"name\": \"name\",\n \"noValidate\": \"novalidate\",\n \"open\": \"open\",\n \"optimum\": \"optimum\",\n \"pattern\": \"pattern\",\n \"ping\": \"ping\",\n \"placeholder\": \"placeholder\",\n \"poster\": \"poster\",\n \"preload\": \"preload\",\n \"radioGroup\": \"radiogroup\",\n \"readOnly\": \"readonly\",\n \"rel\": \"rel\",\n \"required\": \"required\",\n \"role\": \"role\",\n \"rows\": \"rows\",\n \"rowSpan\": \"rowspan\",\n \"sandbox\": \"sandbox\",\n \"scope\": \"scope\",\n \"scoped\": \"scoped\",\n \"scrolling\": \"scrolling\",\n \"seamless\": \"seamless\",\n \"selected\": \"selected\",\n \"shape\": \"shape\",\n \"size\": \"size\",\n \"sizes\": \"sizes\",\n \"sortable\": \"sortable\",\n \"span\": \"span\",\n \"spellCheck\": \"spellcheck\",\n \"src\": \"src\",\n \"srcDoc\": \"srcdoc\",\n \"srcSet\": \"srcset\",\n \"start\": \"start\",\n \"step\": \"step\",\n \"style\": \"style\",\n \"tabIndex\": \"tabindex\",\n \"target\": \"target\",\n \"title\": \"title\",\n \"translate\": \"translate\",\n \"type\": \"type\",\n \"typeMustMatch\": \"typemustmatch\",\n \"useMap\": \"usemap\",\n \"value\": \"value\",\n \"width\": \"width\",\n \"wmode\": \"wmode\",\n \"wrap\": \"wrap\"\n};\n","import e from\"void-elements\";var t=/\\s([^'\"/\\s><]+?)[\\s/>]|([^\\s=]+)=\\s?(\".*?\"|'.*?')/g;function n(n){var r={type:\"tag\",name:\"\",voidElement:!1,attrs:{},children:[]},i=n.match(/<\\/?([^\\s]+?)[/\\s>]/);if(i&&(r.name=i[1],(e[i[1]]||\"/\"===n.charAt(n.length-2))&&(r.voidElement=!0),r.name.startsWith(\"!--\"))){var s=n.indexOf(\"--\\x3e\");return{type:\"comment\",comment:-1!==s?n.slice(4,s):\"\"}}for(var a=new RegExp(t),c=null;null!==(c=a.exec(n));)if(c[0].trim())if(c[1]){var o=c[1].trim(),l=[o,\"\"];o.indexOf(\"=\")>-1&&(l=o.split(\"=\")),r.attrs[l[0]]=l[1],a.lastIndex--}else c[2]&&(r.attrs[c[2]]=c[3].trim().substring(1,c[3].length-1));return r}var r=/<[a-zA-Z0-9\\-\\!\\/](?:\"[^\"]*\"|'[^']*'|[^'\">])*>/g,i=/^\\s*$/,s=Object.create(null);function a(e,t){switch(t.type){case\"text\":return e+t.content;case\"tag\":return e+=\"<\"+t.name+(t.attrs?function(e){var t=[];for(var n in e)t.push(n+'=\"'+e[n]+'\"');return t.length?\" \"+t.join(\" \"):\"\"}(t.attrs):\"\")+(t.voidElement?\"/>\":\">\"),t.voidElement?e:e+t.children.reduce(a,\"\")+\"</\"+t.name+\">\";case\"comment\":return e+\"\\x3c!--\"+t.comment+\"--\\x3e\"}}var c={parse:function(e,t){t||(t={}),t.components||(t.components=s);var a,c=[],o=[],l=-1,m=!1;if(0!==e.indexOf(\"<\")){var u=e.indexOf(\"<\");c.push({type:\"text\",content:-1===u?e:e.substring(0,u)})}return e.replace(r,function(r,s){if(m){if(r!==\"</\"+a.name+\">\")return;m=!1}var u,f=\"/\"!==r.charAt(1),h=r.startsWith(\"\\x3c!--\"),p=s+r.length,d=e.charAt(p);if(h){var v=n(r);return l<0?(c.push(v),c):((u=o[l]).children.push(v),c)}if(f&&(l++,\"tag\"===(a=n(r)).type&&t.components[a.name]&&(a.type=\"component\",m=!0),a.voidElement||m||!d||\"<\"===d||a.children.push({type:\"text\",content:e.slice(p,e.indexOf(\"<\",p))}),0===l&&c.push(a),(u=o[l-1])&&u.children.push(a),o[l]=a),(!f||a.voidElement)&&(l>-1&&(a.voidElement||a.name===r.slice(2,-1))&&(l--,a=-1===l?c:o[l]),!m&&\"<\"!==d&&d)){u=-1===l?c:o[l].children;var x=e.indexOf(\"<\",p),g=e.slice(p,-1===x?void 0:x);i.test(g)&&(g=\" \"),(x>-1&&l+u.length>=0||\" \"!==g)&&u.push({type:\"text\",content:g})}}),c},stringify:function(e){return e.reduce(function(e,t){return e+a(\"\",t)},\"\")}};export default c;\n//# sourceMappingURL=html-parse-stringify.module.js.map\n","'use strict';\n\nvar _typeof = require('@babel/runtime/helpers/typeof');\nvar _classCallCheck = require('@babel/runtime/helpers/classCallCheck');\nvar _createClass = require('@babel/runtime/helpers/createClass');\nvar _assertThisInitialized = require('@babel/runtime/helpers/assertThisInitialized');\nvar _inherits = require('@babel/runtime/helpers/inherits');\nvar _possibleConstructorReturn = require('@babel/runtime/helpers/possibleConstructorReturn');\nvar _getPrototypeOf = require('@babel/runtime/helpers/getPrototypeOf');\nvar _defineProperty = require('@babel/runtime/helpers/defineProperty');\nvar _toArray = require('@babel/runtime/helpers/toArray');\n\nfunction _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }\n\nvar _typeof__default = /*#__PURE__*/_interopDefaultLegacy(_typeof);\nvar _classCallCheck__default = /*#__PURE__*/_interopDefaultLegacy(_classCallCheck);\nvar _createClass__default = /*#__PURE__*/_interopDefaultLegacy(_createClass);\nvar _assertThisInitialized__default = /*#__PURE__*/_interopDefaultLegacy(_assertThisInitialized);\nvar _inherits__default = /*#__PURE__*/_interopDefaultLegacy(_inherits);\nvar _possibleConstructorReturn__default = /*#__PURE__*/_interopDefaultLegacy(_possibleConstructorReturn);\nvar _getPrototypeOf__default = /*#__PURE__*/_interopDefaultLegacy(_getPrototypeOf);\nvar _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);\nvar _toArray__default = /*#__PURE__*/_interopDefaultLegacy(_toArray);\n\nfunction ownKeys$6(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$6(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$6(Object(source), !0).forEach(function (key) { _defineProperty__default[\"default\"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$6(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nvar consoleLogger = {\n type: 'logger',\n log: function log(args) {\n this.output('log', args);\n },\n warn: function warn(args) {\n this.output('warn', args);\n },\n error: function error(args) {\n this.output('error', args);\n },\n output: function output(type, args) {\n if (console && console[type]) console[type].apply(console, args);\n }\n};\nvar Logger = function () {\n function Logger(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck__default[\"default\"](this, Logger);\n this.init(concreteLogger, options);\n }\n _createClass__default[\"default\"](Logger, [{\n key: \"init\",\n value: function init(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.prefix = options.prefix || 'i18next:';\n this.logger = concreteLogger || consoleLogger;\n this.options = options;\n this.debug = options.debug;\n }\n }, {\n key: \"setDebug\",\n value: function setDebug(bool) {\n this.debug = bool;\n }\n }, {\n key: \"log\",\n value: function log() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return this.forward(args, 'log', '', true);\n }\n }, {\n key: \"warn\",\n value: function warn() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n return this.forward(args, 'warn', '', true);\n }\n }, {\n key: \"error\",\n value: function error() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n return this.forward(args, 'error', '');\n }\n }, {\n key: \"deprecate\",\n value: function deprecate() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n return this.forward(args, 'warn', 'WARNING DEPRECATED: ', true);\n }\n }, {\n key: \"forward\",\n value: function forward(args, lvl, prefix, debugOnly) {\n if (debugOnly && !this.debug) return null;\n if (typeof args[0] === 'string') args[0] = \"\".concat(prefix).concat(this.prefix, \" \").concat(args[0]);\n return this.logger[lvl](args);\n }\n }, {\n key: \"create\",\n value: function create(moduleName) {\n return new Logger(this.logger, _objectSpread$6(_objectSpread$6({}, {\n prefix: \"\".concat(this.prefix, \":\").concat(moduleName, \":\")\n }), this.options));\n }\n }, {\n key: \"clone\",\n value: function clone(options) {\n options = options || this.options;\n options.prefix = options.prefix || this.prefix;\n return new Logger(this.logger, options);\n }\n }]);\n return Logger;\n}();\nvar baseLogger = new Logger();\n\nvar EventEmitter = function () {\n function EventEmitter() {\n _classCallCheck__default[\"default\"](this, EventEmitter);\n this.observers = {};\n }\n _createClass__default[\"default\"](EventEmitter, [{\n key: \"on\",\n value: function on(events, listener) {\n var _this = this;\n events.split(' ').forEach(function (event) {\n _this.observers[event] = _this.observers[event] || [];\n _this.observers[event].push(listener);\n });\n return this;\n }\n }, {\n key: \"off\",\n value: function off(event, listener) {\n if (!this.observers[event]) return;\n if (!listener) {\n delete this.observers[event];\n return;\n }\n this.observers[event] = this.observers[event].filter(function (l) {\n return l !== listener;\n });\n }\n }, {\n key: \"emit\",\n value: function emit(event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n if (this.observers[event]) {\n var cloned = [].concat(this.observers[event]);\n cloned.forEach(function (observer) {\n observer.apply(void 0, args);\n });\n }\n if (this.observers['*']) {\n var _cloned = [].concat(this.observers['*']);\n _cloned.forEach(function (observer) {\n observer.apply(observer, [event].concat(args));\n });\n }\n }\n }]);\n return EventEmitter;\n}();\n\nfunction defer() {\n var res;\n var rej;\n var promise = new Promise(function (resolve, reject) {\n res = resolve;\n rej = reject;\n });\n promise.resolve = res;\n promise.reject = rej;\n return promise;\n}\nfunction makeString(object) {\n if (object == null) return '';\n return '' + object;\n}\nfunction copy(a, s, t) {\n a.forEach(function (m) {\n if (s[m]) t[m] = s[m];\n });\n}\nfunction getLastOfPath(object, path, Empty) {\n function cleanKey(key) {\n return key && key.indexOf('###') > -1 ? key.replace(/###/g, '.') : key;\n }\n function canNotTraverseDeeper() {\n return !object || typeof object === 'string';\n }\n var stack = typeof path !== 'string' ? [].concat(path) : path.split('.');\n while (stack.length > 1) {\n if (canNotTraverseDeeper()) return {};\n var key = cleanKey(stack.shift());\n if (!object[key] && Empty) object[key] = new Empty();\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n object = object[key];\n } else {\n object = {};\n }\n }\n if (canNotTraverseDeeper()) return {};\n return {\n obj: object,\n k: cleanKey(stack.shift())\n };\n}\nfunction setPath(object, path, newValue) {\n var _getLastOfPath = getLastOfPath(object, path, Object),\n obj = _getLastOfPath.obj,\n k = _getLastOfPath.k;\n obj[k] = newValue;\n}\nfunction pushPath(object, path, newValue, concat) {\n var _getLastOfPath2 = getLastOfPath(object, path, Object),\n obj = _getLastOfPath2.obj,\n k = _getLastOfPath2.k;\n obj[k] = obj[k] || [];\n if (concat) obj[k] = obj[k].concat(newValue);\n if (!concat) obj[k].push(newValue);\n}\nfunction getPath(object, path) {\n var _getLastOfPath3 = getLastOfPath(object, path),\n obj = _getLastOfPath3.obj,\n k = _getLastOfPath3.k;\n if (!obj) return undefined;\n return obj[k];\n}\nfunction getPathWithDefaults(data, defaultData, key) {\n var value = getPath(data, key);\n if (value !== undefined) {\n return value;\n }\n return getPath(defaultData, key);\n}\nfunction deepExtend(target, source, overwrite) {\n for (var prop in source) {\n if (prop !== '__proto__' && prop !== 'constructor') {\n if (prop in target) {\n if (typeof target[prop] === 'string' || target[prop] instanceof String || typeof source[prop] === 'string' || source[prop] instanceof String) {\n if (overwrite) target[prop] = source[prop];\n } else {\n deepExtend(target[prop], source[prop], overwrite);\n }\n } else {\n target[prop] = source[prop];\n }\n }\n }\n return target;\n}\nfunction regexEscape(str) {\n return str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\n}\nvar _entityMap = {\n '&': '&amp;',\n '<': '&lt;',\n '>': '&gt;',\n '\"': '&quot;',\n \"'\": '&#39;',\n '/': '&#x2F;'\n};\nfunction escape(data) {\n if (typeof data === 'string') {\n return data.replace(/[&<>\"'\\/]/g, function (s) {\n return _entityMap[s];\n });\n }\n return data;\n}\nvar isIE10 = typeof window !== 'undefined' && window.navigator && typeof window.navigator.userAgentData === 'undefined' && window.navigator.userAgent && window.navigator.userAgent.indexOf('MSIE') > -1;\nvar chars = [' ', ',', '?', '!', ';'];\nfunction looksLikeObjectPath(key, nsSeparator, keySeparator) {\n nsSeparator = nsSeparator || '';\n keySeparator = keySeparator || '';\n var possibleChars = chars.filter(function (c) {\n return nsSeparator.indexOf(c) < 0 && keySeparator.indexOf(c) < 0;\n });\n if (possibleChars.length === 0) return true;\n var r = new RegExp(\"(\".concat(possibleChars.map(function (c) {\n return c === '?' ? '\\\\?' : c;\n }).join('|'), \")\"));\n var matched = !r.test(key);\n if (!matched) {\n var ki = key.indexOf(keySeparator);\n if (ki > 0 && !r.test(key.substring(0, ki))) {\n matched = true;\n }\n }\n return matched;\n}\n\nfunction ownKeys$5(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$5(Object(source), !0).forEach(function (key) { _defineProperty__default[\"default\"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper$3(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$3(); return function _createSuperInternal() { var Super = _getPrototypeOf__default[\"default\"](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default[\"default\"](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default[\"default\"](this, result); }; }\nfunction _isNativeReflectConstruct$3() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction deepFind(obj, path) {\n var keySeparator = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '.';\n if (!obj) return undefined;\n if (obj[path]) return obj[path];\n var paths = path.split(keySeparator);\n var current = obj;\n for (var i = 0; i < paths.length; ++i) {\n if (!current) return undefined;\n if (typeof current[paths[i]] === 'string' && i + 1 < paths.length) {\n return undefined;\n }\n if (current[paths[i]] === undefined) {\n var j = 2;\n var p = paths.slice(i, i + j).join(keySeparator);\n var mix = current[p];\n while (mix === undefined && paths.length > i + j) {\n j++;\n p = paths.slice(i, i + j).join(keySeparator);\n mix = current[p];\n }\n if (mix === undefined) return undefined;\n if (mix === null) return null;\n if (path.endsWith(p)) {\n if (typeof mix === 'string') return mix;\n if (p && typeof mix[p] === 'string') return mix[p];\n }\n var joinedPath = paths.slice(i + j).join(keySeparator);\n if (joinedPath) return deepFind(mix, joinedPath, keySeparator);\n return undefined;\n }\n current = current[paths[i]];\n }\n return current;\n}\nvar ResourceStore = function (_EventEmitter) {\n _inherits__default[\"default\"](ResourceStore, _EventEmitter);\n var _super = _createSuper$3(ResourceStore);\n function ResourceStore(data) {\n var _this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n ns: ['translation'],\n defaultNS: 'translation'\n };\n _classCallCheck__default[\"default\"](this, ResourceStore);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized__default[\"default\"](_this));\n }\n _this.data = data || {};\n _this.options = options;\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n if (_this.options.ignoreJSONStructure === undefined) {\n _this.options.ignoreJSONStructure = true;\n }\n return _this;\n }\n _createClass__default[\"default\"](ResourceStore, [{\n key: \"addNamespaces\",\n value: function addNamespaces(ns) {\n if (this.options.ns.indexOf(ns) < 0) {\n this.options.ns.push(ns);\n }\n }\n }, {\n key: \"removeNamespaces\",\n value: function removeNamespaces(ns) {\n var index = this.options.ns.indexOf(ns);\n if (index > -1) {\n this.options.ns.splice(index, 1);\n }\n }\n }, {\n key: \"getResource\",\n value: function getResource(lng, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var ignoreJSONStructure = options.ignoreJSONStructure !== undefined ? options.ignoreJSONStructure : this.options.ignoreJSONStructure;\n var path = [lng, ns];\n if (key && typeof key !== 'string') path = path.concat(key);\n if (key && typeof key === 'string') path = path.concat(keySeparator ? key.split(keySeparator) : key);\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n }\n var result = getPath(this.data, path);\n if (result || !ignoreJSONStructure || typeof key !== 'string') return result;\n return deepFind(this.data && this.data[lng] && this.data[lng][ns], key, keySeparator);\n }\n }, {\n key: \"addResource\",\n value: function addResource(lng, ns, key, value) {\n var options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {\n silent: false\n };\n var keySeparator = this.options.keySeparator;\n if (keySeparator === undefined) keySeparator = '.';\n var path = [lng, ns];\n if (key) path = path.concat(keySeparator ? key.split(keySeparator) : key);\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n value = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n setPath(this.data, path, value);\n if (!options.silent) this.emit('added', lng, ns, key, value);\n }\n }, {\n key: \"addResources\",\n value: function addResources(lng, ns, resources) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {\n silent: false\n };\n for (var m in resources) {\n if (typeof resources[m] === 'string' || Object.prototype.toString.apply(resources[m]) === '[object Array]') this.addResource(lng, ns, m, resources[m], {\n silent: true\n });\n }\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n }, {\n key: \"addResourceBundle\",\n value: function addResourceBundle(lng, ns, resources, deep, overwrite) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {\n silent: false\n };\n var path = [lng, ns];\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n deep = resources;\n resources = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n var pack = getPath(this.data, path) || {};\n if (deep) {\n deepExtend(pack, resources, overwrite);\n } else {\n pack = _objectSpread$5(_objectSpread$5({}, pack), resources);\n }\n setPath(this.data, path, pack);\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n }, {\n key: \"removeResourceBundle\",\n value: function removeResourceBundle(lng, ns) {\n if (this.hasResourceBundle(lng, ns)) {\n delete this.data[lng][ns];\n }\n this.removeNamespaces(ns);\n this.emit('removed', lng, ns);\n }\n }, {\n key: \"hasResourceBundle\",\n value: function hasResourceBundle(lng, ns) {\n return this.getResource(lng, ns) !== undefined;\n }\n }, {\n key: \"getResourceBundle\",\n value: function getResourceBundle(lng, ns) {\n if (!ns) ns = this.options.defaultNS;\n if (this.options.compatibilityAPI === 'v1') return _objectSpread$5(_objectSpread$5({}, {}), this.getResource(lng, ns));\n return this.getResource(lng, ns);\n }\n }, {\n key: \"getDataByLanguage\",\n value: function getDataByLanguage(lng) {\n return this.data[lng];\n }\n }, {\n key: \"hasLanguageSomeTranslations\",\n value: function hasLanguageSomeTranslations(lng) {\n var data = this.getDataByLanguage(lng);\n var n = data && Object.keys(data) || [];\n return !!n.find(function (v) {\n return data[v] && Object.keys(data[v]).length > 0;\n });\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return this.data;\n }\n }]);\n return ResourceStore;\n}(EventEmitter);\n\nvar postProcessor = {\n processors: {},\n addPostProcessor: function addPostProcessor(module) {\n this.processors[module.name] = module;\n },\n handle: function handle(processors, value, key, options, translator) {\n var _this = this;\n processors.forEach(function (processor) {\n if (_this.processors[processor]) value = _this.processors[processor].process(value, key, options, translator);\n });\n return value;\n }\n};\n\nfunction ownKeys$4(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$4(Object(source), !0).forEach(function (key) { _defineProperty__default[\"default\"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$4(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper$2(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$2(); return function _createSuperInternal() { var Super = _getPrototypeOf__default[\"default\"](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default[\"default\"](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default[\"default\"](this, result); }; }\nfunction _isNativeReflectConstruct$2() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nvar checkedLoadedFor = {};\nvar Translator = function (_EventEmitter) {\n _inherits__default[\"default\"](Translator, _EventEmitter);\n var _super = _createSuper$2(Translator);\n function Translator(services) {\n var _this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck__default[\"default\"](this, Translator);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized__default[\"default\"](_this));\n }\n copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat', 'utils'], services, _assertThisInitialized__default[\"default\"](_this));\n _this.options = options;\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n _this.logger = baseLogger.create('translator');\n return _this;\n }\n _createClass__default[\"default\"](Translator, [{\n key: \"changeLanguage\",\n value: function changeLanguage(lng) {\n if (lng) this.language = lng;\n }\n }, {\n key: \"exists\",\n value: function exists(key) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n if (key === undefined || key === null) {\n return false;\n }\n var resolved = this.resolve(key, options);\n return resolved && resolved.res !== undefined;\n }\n }, {\n key: \"extractFromKey\",\n value: function extractFromKey(key, options) {\n var nsSeparator = options.nsSeparator !== undefined ? options.nsSeparator : this.options.nsSeparator;\n if (nsSeparator === undefined) nsSeparator = ':';\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var namespaces = options.ns || this.options.defaultNS || [];\n var wouldCheckForNsInKey = nsSeparator && key.indexOf(nsSeparator) > -1;\n var seemsNaturalLanguage = !this.options.userDefinedKeySeparator && !options.keySeparator && !this.options.userDefinedNsSeparator && !options.nsSeparator && !looksLikeObjectPath(key, nsSeparator, keySeparator);\n if (wouldCheckForNsInKey && !seemsNaturalLanguage) {\n var m = key.match(this.interpolator.nestingRegexp);\n if (m && m.length > 0) {\n return {\n key: key,\n namespaces: namespaces\n };\n }\n var parts = key.split(nsSeparator);\n if (nsSeparator !== keySeparator || nsSeparator === keySeparator && this.options.ns.indexOf(parts[0]) > -1) namespaces = parts.shift();\n key = parts.join(keySeparator);\n }\n if (typeof namespaces === 'string') namespaces = [namespaces];\n return {\n key: key,\n namespaces: namespaces\n };\n }\n }, {\n key: \"translate\",\n value: function translate(keys, options, lastKey) {\n var _this2 = this;\n if (_typeof__default[\"default\"](options) !== 'object' && this.options.overloadTranslationOptionHandler) {\n options = this.options.overloadTranslationOptionHandler(arguments);\n }\n if (!options) options = {};\n if (keys === undefined || keys === null) return '';\n if (!Array.isArray(keys)) keys = [String(keys)];\n var returnDetails = options.returnDetails !== undefined ? options.returnDetails : this.options.returnDetails;\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var _this$extractFromKey = this.extractFromKey(keys[keys.length - 1], options),\n key = _this$extractFromKey.key,\n namespaces = _this$extractFromKey.namespaces;\n var namespace = namespaces[namespaces.length - 1];\n var lng = options.lng || this.language;\n var appendNamespaceToCIMode = options.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode;\n if (lng && lng.toLowerCase() === 'cimode') {\n if (appendNamespaceToCIMode) {\n var nsSeparator = options.nsSeparator || this.options.nsSeparator;\n if (returnDetails) {\n resolved.res = \"\".concat(namespace).concat(nsSeparator).concat(key);\n return resolved;\n }\n return \"\".concat(namespace).concat(nsSeparator).concat(key);\n }\n if (returnDetails) {\n resolved.res = key;\n return resolved;\n }\n return key;\n }\n var resolved = this.resolve(keys, options);\n var res = resolved && resolved.res;\n var resUsedKey = resolved && resolved.usedKey || key;\n var resExactUsedKey = resolved && resolved.exactUsedKey || key;\n var resType = Object.prototype.toString.apply(res);\n var noObject = ['[object Number]', '[object Function]', '[object RegExp]'];\n var joinArrays = options.joinArrays !== undefined ? options.joinArrays : this.options.joinArrays;\n var handleAsObjectInI18nFormat = !this.i18nFormat || this.i18nFormat.handleAsObject;\n var handleAsObject = typeof res !== 'string' && typeof res !== 'boolean' && typeof res !== 'number';\n if (handleAsObjectInI18nFormat && res && handleAsObject && noObject.indexOf(resType) < 0 && !(typeof joinArrays === 'string' && resType === '[object Array]')) {\n if (!options.returnObjects && !this.options.returnObjects) {\n if (!this.options.returnedObjectHandler) {\n this.logger.warn('accessing an object - but returnObjects options is not enabled!');\n }\n var r = this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, res, _objectSpread$4(_objectSpread$4({}, options), {}, {\n ns: namespaces\n })) : \"key '\".concat(key, \" (\").concat(this.language, \")' returned an object instead of string.\");\n if (returnDetails) {\n resolved.res = r;\n return resolved;\n }\n return r;\n }\n if (keySeparator) {\n var resTypeIsArray = resType === '[object Array]';\n var copy = resTypeIsArray ? [] : {};\n var newKeyToUse = resTypeIsArray ? resExactUsedKey : resUsedKey;\n for (var m in res) {\n if (Object.prototype.hasOwnProperty.call(res, m)) {\n var deepKey = \"\".concat(newKeyToUse).concat(keySeparator).concat(m);\n copy[m] = this.translate(deepKey, _objectSpread$4(_objectSpread$4({}, options), {\n joinArrays: false,\n ns: namespaces\n }));\n if (copy[m] === deepKey) copy[m] = res[m];\n }\n }\n res = copy;\n }\n } else if (handleAsObjectInI18nFormat && typeof joinArrays === 'string' && resType === '[object Array]') {\n res = res.join(joinArrays);\n if (res) res = this.extendTranslation(res, keys, options, lastKey);\n } else {\n var usedDefault = false;\n var usedKey = false;\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n var hasDefaultValue = Translator.hasDefaultValue(options);\n var defaultValueSuffix = needsPluralHandling ? this.pluralResolver.getSuffix(lng, options.count, options) : '';\n var defaultValue = options[\"defaultValue\".concat(defaultValueSuffix)] || options.defaultValue;\n if (!this.isValidLookup(res) && hasDefaultValue) {\n usedDefault = true;\n res = defaultValue;\n }\n if (!this.isValidLookup(res)) {\n usedKey = true;\n res = key;\n }\n var missingKeyNoValueFallbackToKey = options.missingKeyNoValueFallbackToKey || this.options.missingKeyNoValueFallbackToKey;\n var resForMissing = missingKeyNoValueFallbackToKey && usedKey ? undefined : res;\n var updateMissing = hasDefaultValue && defaultValue !== res && this.options.updateMissing;\n if (usedKey || usedDefault || updateMissing) {\n this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? defaultValue : res);\n if (keySeparator) {\n var fk = this.resolve(key, _objectSpread$4(_objectSpread$4({}, options), {}, {\n keySeparator: false\n }));\n if (fk && fk.res) this.logger.warn('Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.');\n }\n var lngs = [];\n var fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, options.lng || this.language);\n if (this.options.saveMissingTo === 'fallback' && fallbackLngs && fallbackLngs[0]) {\n for (var i = 0; i < fallbackLngs.length; i++) {\n lngs.push(fallbackLngs[i]);\n }\n } else if (this.options.saveMissingTo === 'all') {\n lngs = this.languageUtils.toResolveHierarchy(options.lng || this.language);\n } else {\n lngs.push(options.lng || this.language);\n }\n var send = function send(l, k, specificDefaultValue) {\n var defaultForMissing = hasDefaultValue && specificDefaultValue !== res ? specificDefaultValue : resForMissing;\n if (_this2.options.missingKeyHandler) {\n _this2.options.missingKeyHandler(l, namespace, k, defaultForMissing, updateMissing, options);\n } else if (_this2.backendConnector && _this2.backendConnector.saveMissing) {\n _this2.backendConnector.saveMissing(l, namespace, k, defaultForMissing, updateMissing, options);\n }\n _this2.emit('missingKey', l, namespace, k, res);\n };\n if (this.options.saveMissing) {\n if (this.options.saveMissingPlurals && needsPluralHandling) {\n lngs.forEach(function (language) {\n _this2.pluralResolver.getSuffixes(language, options).forEach(function (suffix) {\n send([language], key + suffix, options[\"defaultValue\".concat(suffix)] || defaultValue);\n });\n });\n } else {\n send(lngs, key, defaultValue);\n }\n }\n }\n res = this.extendTranslation(res, keys, options, resolved, lastKey);\n if (usedKey && res === key && this.options.appendNamespaceToMissingKey) res = \"\".concat(namespace, \":\").concat(key);\n if ((usedKey || usedDefault) && this.options.parseMissingKeyHandler) {\n if (this.options.compatibilityAPI !== 'v1') {\n res = this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey ? \"\".concat(namespace, \":\").concat(key) : key, usedDefault ? res : undefined);\n } else {\n res = this.options.parseMissingKeyHandler(res);\n }\n }\n }\n if (returnDetails) {\n resolved.res = res;\n return resolved;\n }\n return res;\n }\n }, {\n key: \"extendTranslation\",\n value: function extendTranslation(res, key, options, resolved, lastKey) {\n var _this3 = this;\n if (this.i18nFormat && this.i18nFormat.parse) {\n res = this.i18nFormat.parse(res, _objectSpread$4(_objectSpread$4({}, this.options.interpolation.defaultVariables), options), resolved.usedLng, resolved.usedNS, resolved.usedKey, {\n resolved: resolved\n });\n } else if (!options.skipInterpolation) {\n if (options.interpolation) this.interpolator.init(_objectSpread$4(_objectSpread$4({}, options), {\n interpolation: _objectSpread$4(_objectSpread$4({}, this.options.interpolation), options.interpolation)\n }));\n var skipOnVariables = typeof res === 'string' && (options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables);\n var nestBef;\n if (skipOnVariables) {\n var nb = res.match(this.interpolator.nestingRegexp);\n nestBef = nb && nb.length;\n }\n var data = options.replace && typeof options.replace !== 'string' ? options.replace : options;\n if (this.options.interpolation.defaultVariables) data = _objectSpread$4(_objectSpread$4({}, this.options.interpolation.defaultVariables), data);\n res = this.interpolator.interpolate(res, data, options.lng || this.language, options);\n if (skipOnVariables) {\n var na = res.match(this.interpolator.nestingRegexp);\n var nestAft = na && na.length;\n if (nestBef < nestAft) options.nest = false;\n }\n if (options.nest !== false) res = this.interpolator.nest(res, function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n if (lastKey && lastKey[0] === args[0] && !options.context) {\n _this3.logger.warn(\"It seems you are nesting recursively key: \".concat(args[0], \" in key: \").concat(key[0]));\n return null;\n }\n return _this3.translate.apply(_this3, args.concat([key]));\n }, options);\n if (options.interpolation) this.interpolator.reset();\n }\n var postProcess = options.postProcess || this.options.postProcess;\n var postProcessorNames = typeof postProcess === 'string' ? [postProcess] : postProcess;\n if (res !== undefined && res !== null && postProcessorNames && postProcessorNames.length && options.applyPostProcessor !== false) {\n res = postProcessor.handle(postProcessorNames, res, key, this.options && this.options.postProcessPassResolved ? _objectSpread$4({\n i18nResolved: resolved\n }, options) : options, this);\n }\n return res;\n }\n }, {\n key: \"resolve\",\n value: function resolve(keys) {\n var _this4 = this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var found;\n var usedKey;\n var exactUsedKey;\n var usedLng;\n var usedNS;\n if (typeof keys === 'string') keys = [keys];\n keys.forEach(function (k) {\n if (_this4.isValidLookup(found)) return;\n var extracted = _this4.extractFromKey(k, options);\n var key = extracted.key;\n usedKey = key;\n var namespaces = extracted.namespaces;\n if (_this4.options.fallbackNS) namespaces = namespaces.concat(_this4.options.fallbackNS);\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n var needsZeroSuffixLookup = needsPluralHandling && !options.ordinal && options.count === 0 && _this4.pluralResolver.shouldUseIntlApi();\n var needsContextHandling = options.context !== undefined && (typeof options.context === 'string' || typeof options.context === 'number') && options.context !== '';\n var codes = options.lngs ? options.lngs : _this4.languageUtils.toResolveHierarchy(options.lng || _this4.language, options.fallbackLng);\n namespaces.forEach(function (ns) {\n if (_this4.isValidLookup(found)) return;\n usedNS = ns;\n if (!checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] && _this4.utils && _this4.utils.hasLoadedNamespace && !_this4.utils.hasLoadedNamespace(usedNS)) {\n checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] = true;\n _this4.logger.warn(\"key \\\"\".concat(usedKey, \"\\\" for languages \\\"\").concat(codes.join(', '), \"\\\" won't get resolved as namespace \\\"\").concat(usedNS, \"\\\" was not yet loaded\"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n }\n codes.forEach(function (code) {\n if (_this4.isValidLookup(found)) return;\n usedLng = code;\n var finalKeys = [key];\n if (_this4.i18nFormat && _this4.i18nFormat.addLookupKeys) {\n _this4.i18nFormat.addLookupKeys(finalKeys, key, code, ns, options);\n } else {\n var pluralSuffix;\n if (needsPluralHandling) pluralSuffix = _this4.pluralResolver.getSuffix(code, options.count, options);\n var zeroSuffix = \"\".concat(_this4.options.pluralSeparator, \"zero\");\n if (needsPluralHandling) {\n finalKeys.push(key + pluralSuffix);\n if (needsZeroSuffixLookup) {\n finalKeys.push(key + zeroSuffix);\n }\n }\n if (needsContextHandling) {\n var contextKey = \"\".concat(key).concat(_this4.options.contextSeparator).concat(options.context);\n finalKeys.push(contextKey);\n if (needsPluralHandling) {\n finalKeys.push(contextKey + pluralSuffix);\n if (needsZeroSuffixLookup) {\n finalKeys.push(contextKey + zeroSuffix);\n }\n }\n }\n }\n var possibleKey;\n while (possibleKey = finalKeys.pop()) {\n if (!_this4.isValidLookup(found)) {\n exactUsedKey = possibleKey;\n found = _this4.getResource(code, ns, possibleKey, options);\n }\n }\n });\n });\n });\n return {\n res: found,\n usedKey: usedKey,\n exactUsedKey: exactUsedKey,\n usedLng: usedLng,\n usedNS: usedNS\n };\n }\n }, {\n key: \"isValidLookup\",\n value: function isValidLookup(res) {\n return res !== undefined && !(!this.options.returnNull && res === null) && !(!this.options.returnEmptyString && res === '');\n }\n }, {\n key: \"getResource\",\n value: function getResource(code, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n if (this.i18nFormat && this.i18nFormat.getResource) return this.i18nFormat.getResource(code, ns, key, options);\n return this.resourceStore.getResource(code, ns, key, options);\n }\n }], [{\n key: \"hasDefaultValue\",\n value: function hasDefaultValue(options) {\n var prefix = 'defaultValue';\n for (var option in options) {\n if (Object.prototype.hasOwnProperty.call(options, option) && prefix === option.substring(0, prefix.length) && undefined !== options[option]) {\n return true;\n }\n }\n return false;\n }\n }]);\n return Translator;\n}(EventEmitter);\n\nfunction capitalize(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\nvar LanguageUtil = function () {\n function LanguageUtil(options) {\n _classCallCheck__default[\"default\"](this, LanguageUtil);\n this.options = options;\n this.supportedLngs = this.options.supportedLngs || false;\n this.logger = baseLogger.create('languageUtils');\n }\n _createClass__default[\"default\"](LanguageUtil, [{\n key: \"getScriptPartFromCode\",\n value: function getScriptPartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return null;\n var p = code.split('-');\n if (p.length === 2) return null;\n p.pop();\n if (p[p.length - 1].toLowerCase() === 'x') return null;\n return this.formatLanguageCode(p.join('-'));\n }\n }, {\n key: \"getLanguagePartFromCode\",\n value: function getLanguagePartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return code;\n var p = code.split('-');\n return this.formatLanguageCode(p[0]);\n }\n }, {\n key: \"formatLanguageCode\",\n value: function formatLanguageCode(code) {\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n var specialCases = ['hans', 'hant', 'latn', 'cyrl', 'cans', 'mong', 'arab'];\n var p = code.split('-');\n if (this.options.lowerCaseLng) {\n p = p.map(function (part) {\n return part.toLowerCase();\n });\n } else if (p.length === 2) {\n p[0] = p[0].toLowerCase();\n p[1] = p[1].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n } else if (p.length === 3) {\n p[0] = p[0].toLowerCase();\n if (p[1].length === 2) p[1] = p[1].toUpperCase();\n if (p[0] !== 'sgn' && p[2].length === 2) p[2] = p[2].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n if (specialCases.indexOf(p[2].toLowerCase()) > -1) p[2] = capitalize(p[2].toLowerCase());\n }\n return p.join('-');\n }\n return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : code;\n }\n }, {\n key: \"isSupportedCode\",\n value: function isSupportedCode(code) {\n if (this.options.load === 'languageOnly' || this.options.nonExplicitSupportedLngs) {\n code = this.getLanguagePartFromCode(code);\n }\n return !this.supportedLngs || !this.supportedLngs.length || this.supportedLngs.indexOf(code) > -1;\n }\n }, {\n key: \"getBestMatchFromCodes\",\n value: function getBestMatchFromCodes(codes) {\n var _this = this;\n if (!codes) return null;\n var found;\n codes.forEach(function (code) {\n if (found) return;\n var cleanedLng = _this.formatLanguageCode(code);\n if (!_this.options.supportedLngs || _this.isSupportedCode(cleanedLng)) found = cleanedLng;\n });\n if (!found && this.options.supportedLngs) {\n codes.forEach(function (code) {\n if (found) return;\n var lngOnly = _this.getLanguagePartFromCode(code);\n if (_this.isSupportedCode(lngOnly)) return found = lngOnly;\n found = _this.options.supportedLngs.find(function (supportedLng) {\n if (supportedLng.indexOf(lngOnly) === 0) return supportedLng;\n });\n });\n }\n if (!found) found = this.getFallbackCodes(this.options.fallbackLng)[0];\n return found;\n }\n }, {\n key: \"getFallbackCodes\",\n value: function getFallbackCodes(fallbacks, code) {\n if (!fallbacks) return [];\n if (typeof fallbacks === 'function') fallbacks = fallbacks(code);\n if (typeof fallbacks === 'string') fallbacks = [fallbacks];\n if (Object.prototype.toString.apply(fallbacks) === '[object Array]') return fallbacks;\n if (!code) return fallbacks[\"default\"] || [];\n var found = fallbacks[code];\n if (!found) found = fallbacks[this.getScriptPartFromCode(code)];\n if (!found) found = fallbacks[this.formatLanguageCode(code)];\n if (!found) found = fallbacks[this.getLanguagePartFromCode(code)];\n if (!found) found = fallbacks[\"default\"];\n return found || [];\n }\n }, {\n key: \"toResolveHierarchy\",\n value: function toResolveHierarchy(code, fallbackCode) {\n var _this2 = this;\n var fallbackCodes = this.getFallbackCodes(fallbackCode || this.options.fallbackLng || [], code);\n var codes = [];\n var addCode = function addCode(c) {\n if (!c) return;\n if (_this2.isSupportedCode(c)) {\n codes.push(c);\n } else {\n _this2.logger.warn(\"rejecting language code not found in supportedLngs: \".concat(c));\n }\n };\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n if (this.options.load !== 'languageOnly') addCode(this.formatLanguageCode(code));\n if (this.options.load !== 'languageOnly' && this.options.load !== 'currentOnly') addCode(this.getScriptPartFromCode(code));\n if (this.options.load !== 'currentOnly') addCode(this.getLanguagePartFromCode(code));\n } else if (typeof code === 'string') {\n addCode(this.formatLanguageCode(code));\n }\n fallbackCodes.forEach(function (fc) {\n if (codes.indexOf(fc) < 0) addCode(_this2.formatLanguageCode(fc));\n });\n return codes;\n }\n }]);\n return LanguageUtil;\n}();\n\nvar sets = [{\n lngs: ['ach', 'ak', 'am', 'arn', 'br', 'fil', 'gun', 'ln', 'mfe', 'mg', 'mi', 'oc', 'pt', 'pt-BR', 'tg', 'tl', 'ti', 'tr', 'uz', 'wa'],\n nr: [1, 2],\n fc: 1\n}, {\n lngs: ['af', 'an', 'ast', 'az', 'bg', 'bn', 'ca', 'da', 'de', 'dev', 'el', 'en', 'eo', 'es', 'et', 'eu', 'fi', 'fo', 'fur', 'fy', 'gl', 'gu', 'ha', 'hi', 'hu', 'hy', 'ia', 'it', 'kk', 'kn', 'ku', 'lb', 'mai', 'ml', 'mn', 'mr', 'nah', 'nap', 'nb', 'ne', 'nl', 'nn', 'no', 'nso', 'pa', 'pap', 'pms', 'ps', 'pt-PT', 'rm', 'sco', 'se', 'si', 'so', 'son', 'sq', 'sv', 'sw', 'ta', 'te', 'tk', 'ur', 'yo'],\n nr: [1, 2],\n fc: 2\n}, {\n lngs: ['ay', 'bo', 'cgg', 'fa', 'ht', 'id', 'ja', 'jbo', 'ka', 'km', 'ko', 'ky', 'lo', 'ms', 'sah', 'su', 'th', 'tt', 'ug', 'vi', 'wo', 'zh'],\n nr: [1],\n fc: 3\n}, {\n lngs: ['be', 'bs', 'cnr', 'dz', 'hr', 'ru', 'sr', 'uk'],\n nr: [1, 2, 5],\n fc: 4\n}, {\n lngs: ['ar'],\n nr: [0, 1, 2, 3, 11, 100],\n fc: 5\n}, {\n lngs: ['cs', 'sk'],\n nr: [1, 2, 5],\n fc: 6\n}, {\n lngs: ['csb', 'pl'],\n nr: [1, 2, 5],\n fc: 7\n}, {\n lngs: ['cy'],\n nr: [1, 2, 3, 8],\n fc: 8\n}, {\n lngs: ['fr'],\n nr: [1, 2],\n fc: 9\n}, {\n lngs: ['ga'],\n nr: [1, 2, 3, 7, 11],\n fc: 10\n}, {\n lngs: ['gd'],\n nr: [1, 2, 3, 20],\n fc: 11\n}, {\n lngs: ['is'],\n nr: [1, 2],\n fc: 12\n}, {\n lngs: ['jv'],\n nr: [0, 1],\n fc: 13\n}, {\n lngs: ['kw'],\n nr: [1, 2, 3, 4],\n fc: 14\n}, {\n lngs: ['lt'],\n nr: [1, 2, 10],\n fc: 15\n}, {\n lngs: ['lv'],\n nr: [1, 2, 0],\n fc: 16\n}, {\n lngs: ['mk'],\n nr: [1, 2],\n fc: 17\n}, {\n lngs: ['mnk'],\n nr: [0, 1, 2],\n fc: 18\n}, {\n lngs: ['mt'],\n nr: [1, 2, 11, 20],\n fc: 19\n}, {\n lngs: ['or'],\n nr: [2, 1],\n fc: 2\n}, {\n lngs: ['ro'],\n nr: [1, 2, 20],\n fc: 20\n}, {\n lngs: ['sl'],\n nr: [5, 1, 2, 3],\n fc: 21\n}, {\n lngs: ['he', 'iw'],\n nr: [1, 2, 20, 21],\n fc: 22\n}];\nvar _rulesPluralsTypes = {\n 1: function _(n) {\n return Number(n > 1);\n },\n 2: function _(n) {\n return Number(n != 1);\n },\n 3: function _(n) {\n return 0;\n },\n 4: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 5: function _(n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : n == 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5);\n },\n 6: function _(n) {\n return Number(n == 1 ? 0 : n >= 2 && n <= 4 ? 1 : 2);\n },\n 7: function _(n) {\n return Number(n == 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 8: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n != 8 && n != 11 ? 2 : 3);\n },\n 9: function _(n) {\n return Number(n >= 2);\n },\n 10: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4);\n },\n 11: function _(n) {\n return Number(n == 1 || n == 11 ? 0 : n == 2 || n == 12 ? 1 : n > 2 && n < 20 ? 2 : 3);\n },\n 12: function _(n) {\n return Number(n % 10 != 1 || n % 100 == 11);\n },\n 13: function _(n) {\n return Number(n !== 0);\n },\n 14: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n == 3 ? 2 : 3);\n },\n 15: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 16: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n !== 0 ? 1 : 2);\n },\n 17: function _(n) {\n return Number(n == 1 || n % 10 == 1 && n % 100 != 11 ? 0 : 1);\n },\n 18: function _(n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : 2);\n },\n 19: function _(n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 1 && n % 100 < 11 ? 1 : n % 100 > 10 && n % 100 < 20 ? 2 : 3);\n },\n 20: function _(n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 0 && n % 100 < 20 ? 1 : 2);\n },\n 21: function _(n) {\n return Number(n % 100 == 1 ? 1 : n % 100 == 2 ? 2 : n % 100 == 3 || n % 100 == 4 ? 3 : 0);\n },\n 22: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : (n < 0 || n > 10) && n % 10 == 0 ? 2 : 3);\n }\n};\nvar deprecatedJsonVersions = ['v1', 'v2', 'v3'];\nvar suffixesOrder = {\n zero: 0,\n one: 1,\n two: 2,\n few: 3,\n many: 4,\n other: 5\n};\nfunction createRules() {\n var rules = {};\n sets.forEach(function (set) {\n set.lngs.forEach(function (l) {\n rules[l] = {\n numbers: set.nr,\n plurals: _rulesPluralsTypes[set.fc]\n };\n });\n });\n return rules;\n}\nvar PluralResolver = function () {\n function PluralResolver(languageUtils) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck__default[\"default\"](this, PluralResolver);\n this.languageUtils = languageUtils;\n this.options = options;\n this.logger = baseLogger.create('pluralResolver');\n if ((!this.options.compatibilityJSON || this.options.compatibilityJSON === 'v4') && (typeof Intl === 'undefined' || !Intl.PluralRules)) {\n this.options.compatibilityJSON = 'v3';\n this.logger.error('Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.');\n }\n this.rules = createRules();\n }\n _createClass__default[\"default\"](PluralResolver, [{\n key: \"addRule\",\n value: function addRule(lng, obj) {\n this.rules[lng] = obj;\n }\n }, {\n key: \"getRule\",\n value: function getRule(code) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (this.shouldUseIntlApi()) {\n try {\n return new Intl.PluralRules(code, {\n type: options.ordinal ? 'ordinal' : 'cardinal'\n });\n } catch (_unused) {\n return;\n }\n }\n return this.rules[code] || this.rules[this.languageUtils.getLanguagePartFromCode(code)];\n }\n }, {\n key: \"needsPlural\",\n value: function needsPlural(code) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var rule = this.getRule(code, options);\n if (this.shouldUseIntlApi()) {\n return rule && rule.resolvedOptions().pluralCategories.length > 1;\n }\n return rule && rule.numbers.length > 1;\n }\n }, {\n key: \"getPluralFormsOfKey\",\n value: function getPluralFormsOfKey(code, key) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n return this.getSuffixes(code, options).map(function (suffix) {\n return \"\".concat(key).concat(suffix);\n });\n }\n }, {\n key: \"getSuffixes\",\n value: function getSuffixes(code) {\n var _this = this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var rule = this.getRule(code, options);\n if (!rule) {\n return [];\n }\n if (this.shouldUseIntlApi()) {\n return rule.resolvedOptions().pluralCategories.sort(function (pluralCategory1, pluralCategory2) {\n return suffixesOrder[pluralCategory1] - suffixesOrder[pluralCategory2];\n }).map(function (pluralCategory) {\n return \"\".concat(_this.options.prepend).concat(pluralCategory);\n });\n }\n return rule.numbers.map(function (number) {\n return _this.getSuffix(code, number, options);\n });\n }\n }, {\n key: \"getSuffix\",\n value: function getSuffix(code, count) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var rule = this.getRule(code, options);\n if (rule) {\n if (this.shouldUseIntlApi()) {\n return \"\".concat(this.options.prepend).concat(rule.select(count));\n }\n return this.getSuffixRetroCompatible(rule, count);\n }\n this.logger.warn(\"no plural rule found for: \".concat(code));\n return '';\n }\n }, {\n key: \"getSuffixRetroCompatible\",\n value: function getSuffixRetroCompatible(rule, count) {\n var _this2 = this;\n var idx = rule.noAbs ? rule.plurals(count) : rule.plurals(Math.abs(count));\n var suffix = rule.numbers[idx];\n if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n if (suffix === 2) {\n suffix = 'plural';\n } else if (suffix === 1) {\n suffix = '';\n }\n }\n var returnSuffix = function returnSuffix() {\n return _this2.options.prepend && suffix.toString() ? _this2.options.prepend + suffix.toString() : suffix.toString();\n };\n if (this.options.compatibilityJSON === 'v1') {\n if (suffix === 1) return '';\n if (typeof suffix === 'number') return \"_plural_\".concat(suffix.toString());\n return returnSuffix();\n } else if (this.options.compatibilityJSON === 'v2') {\n return returnSuffix();\n } else if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n return returnSuffix();\n }\n return this.options.prepend && idx.toString() ? this.options.prepend + idx.toString() : idx.toString();\n }\n }, {\n key: \"shouldUseIntlApi\",\n value: function shouldUseIntlApi() {\n return !deprecatedJsonVersions.includes(this.options.compatibilityJSON);\n }\n }]);\n return PluralResolver;\n}();\n\nfunction ownKeys$3(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$3(Object(source), !0).forEach(function (key) { _defineProperty__default[\"default\"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$3(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nvar Interpolator = function () {\n function Interpolator() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n _classCallCheck__default[\"default\"](this, Interpolator);\n this.logger = baseLogger.create('interpolator');\n this.options = options;\n this.format = options.interpolation && options.interpolation.format || function (value) {\n return value;\n };\n this.init(options);\n }\n _createClass__default[\"default\"](Interpolator, [{\n key: \"init\",\n value: function init() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (!options.interpolation) options.interpolation = {\n escapeValue: true\n };\n var iOpts = options.interpolation;\n this.escape = iOpts.escape !== undefined ? iOpts.escape : escape;\n this.escapeValue = iOpts.escapeValue !== undefined ? iOpts.escapeValue : true;\n this.useRawValueToEscape = iOpts.useRawValueToEscape !== undefined ? iOpts.useRawValueToEscape : false;\n this.prefix = iOpts.prefix ? regexEscape(iOpts.prefix) : iOpts.prefixEscaped || '{{';\n this.suffix = iOpts.suffix ? regexEscape(iOpts.suffix) : iOpts.suffixEscaped || '}}';\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n this.unescapePrefix = iOpts.unescapeSuffix ? '' : iOpts.unescapePrefix || '-';\n this.unescapeSuffix = this.unescapePrefix ? '' : iOpts.unescapeSuffix || '';\n this.nestingPrefix = iOpts.nestingPrefix ? regexEscape(iOpts.nestingPrefix) : iOpts.nestingPrefixEscaped || regexEscape('$t(');\n this.nestingSuffix = iOpts.nestingSuffix ? regexEscape(iOpts.nestingSuffix) : iOpts.nestingSuffixEscaped || regexEscape(')');\n this.nestingOptionsSeparator = iOpts.nestingOptionsSeparator ? iOpts.nestingOptionsSeparator : iOpts.nestingOptionsSeparator || ',';\n this.maxReplaces = iOpts.maxReplaces ? iOpts.maxReplaces : 1000;\n this.alwaysFormat = iOpts.alwaysFormat !== undefined ? iOpts.alwaysFormat : false;\n this.resetRegExp();\n }\n }, {\n key: \"reset\",\n value: function reset() {\n if (this.options) this.init(this.options);\n }\n }, {\n key: \"resetRegExp\",\n value: function resetRegExp() {\n var regexpStr = \"\".concat(this.prefix, \"(.+?)\").concat(this.suffix);\n this.regexp = new RegExp(regexpStr, 'g');\n var regexpUnescapeStr = \"\".concat(this.prefix).concat(this.unescapePrefix, \"(.+?)\").concat(this.unescapeSuffix).concat(this.suffix);\n this.regexpUnescape = new RegExp(regexpUnescapeStr, 'g');\n var nestingRegexpStr = \"\".concat(this.nestingPrefix, \"(.+?)\").concat(this.nestingSuffix);\n this.nestingRegexp = new RegExp(nestingRegexpStr, 'g');\n }\n }, {\n key: \"interpolate\",\n value: function interpolate(str, data, lng, options) {\n var _this = this;\n var match;\n var value;\n var replaces;\n var defaultData = this.options && this.options.interpolation && this.options.interpolation.defaultVariables || {};\n function regexSafe(val) {\n return val.replace(/\\$/g, '$$$$');\n }\n var handleFormat = function handleFormat(key) {\n if (key.indexOf(_this.formatSeparator) < 0) {\n var path = getPathWithDefaults(data, defaultData, key);\n return _this.alwaysFormat ? _this.format(path, undefined, lng, _objectSpread$3(_objectSpread$3(_objectSpread$3({}, options), data), {}, {\n interpolationkey: key\n })) : path;\n }\n var p = key.split(_this.formatSeparator);\n var k = p.shift().trim();\n var f = p.join(_this.formatSeparator).trim();\n return _this.format(getPathWithDefaults(data, defaultData, k), f, lng, _objectSpread$3(_objectSpread$3(_objectSpread$3({}, options), data), {}, {\n interpolationkey: k\n }));\n };\n this.resetRegExp();\n var missingInterpolationHandler = options && options.missingInterpolationHandler || this.options.missingInterpolationHandler;\n var skipOnVariables = options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables;\n var todos = [{\n regex: this.regexpUnescape,\n safeValue: function safeValue(val) {\n return regexSafe(val);\n }\n }, {\n regex: this.regexp,\n safeValue: function safeValue(val) {\n return _this.escapeValue ? regexSafe(_this.escape(val)) : regexSafe(val);\n }\n }];\n todos.forEach(function (todo) {\n replaces = 0;\n while (match = todo.regex.exec(str)) {\n var matchedVar = match[1].trim();\n value = handleFormat(matchedVar);\n if (value === undefined) {\n if (typeof missingInterpolationHandler === 'function') {\n var temp = missingInterpolationHandler(str, match, options);\n value = typeof temp === 'string' ? temp : '';\n } else if (options && options.hasOwnProperty(matchedVar)) {\n value = '';\n } else if (skipOnVariables) {\n value = match[0];\n continue;\n } else {\n _this.logger.warn(\"missed to pass in variable \".concat(matchedVar, \" for interpolating \").concat(str));\n value = '';\n }\n } else if (typeof value !== 'string' && !_this.useRawValueToEscape) {\n value = makeString(value);\n }\n var safeValue = todo.safeValue(value);\n str = str.replace(match[0], safeValue);\n if (skipOnVariables) {\n todo.regex.lastIndex += value.length;\n todo.regex.lastIndex -= match[0].length;\n } else {\n todo.regex.lastIndex = 0;\n }\n replaces++;\n if (replaces >= _this.maxReplaces) {\n break;\n }\n }\n });\n return str;\n }\n }, {\n key: \"nest\",\n value: function nest(str, fc) {\n var _this2 = this;\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var match;\n var value;\n var clonedOptions;\n function handleHasOptions(key, inheritedOptions) {\n var sep = this.nestingOptionsSeparator;\n if (key.indexOf(sep) < 0) return key;\n var c = key.split(new RegExp(\"\".concat(sep, \"[ ]*{\")));\n var optionsString = \"{\".concat(c[1]);\n key = c[0];\n optionsString = this.interpolate(optionsString, clonedOptions);\n var matchedSingleQuotes = optionsString.match(/'/g);\n var matchedDoubleQuotes = optionsString.match(/\"/g);\n if (matchedSingleQuotes && matchedSingleQuotes.length % 2 === 0 && !matchedDoubleQuotes || matchedDoubleQuotes.length % 2 !== 0) {\n optionsString = optionsString.replace(/'/g, '\"');\n }\n try {\n clonedOptions = JSON.parse(optionsString);\n if (inheritedOptions) clonedOptions = _objectSpread$3(_objectSpread$3({}, inheritedOptions), clonedOptions);\n } catch (e) {\n this.logger.warn(\"failed parsing options string in nesting for key \".concat(key), e);\n return \"\".concat(key).concat(sep).concat(optionsString);\n }\n delete clonedOptions.defaultValue;\n return key;\n }\n while (match = this.nestingRegexp.exec(str)) {\n var formatters = [];\n clonedOptions = _objectSpread$3({}, options);\n clonedOptions.applyPostProcessor = false;\n delete clonedOptions.defaultValue;\n var doReduce = false;\n if (match[0].indexOf(this.formatSeparator) !== -1 && !/{.*}/.test(match[1])) {\n var r = match[1].split(this.formatSeparator).map(function (elem) {\n return elem.trim();\n });\n match[1] = r.shift();\n formatters = r;\n doReduce = true;\n }\n value = fc(handleHasOptions.call(this, match[1].trim(), clonedOptions), clonedOptions);\n if (value && match[0] === str && typeof value !== 'string') return value;\n if (typeof value !== 'string') value = makeString(value);\n if (!value) {\n this.logger.warn(\"missed to resolve \".concat(match[1], \" for nesting \").concat(str));\n value = '';\n }\n if (doReduce) {\n value = formatters.reduce(function (v, f) {\n return _this2.format(v, f, options.lng, _objectSpread$3(_objectSpread$3({}, options), {}, {\n interpolationkey: match[1].trim()\n }));\n }, value.trim());\n }\n str = str.replace(match[0], value);\n this.regexp.lastIndex = 0;\n }\n return str;\n }\n }]);\n return Interpolator;\n}();\n\nfunction ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) { _defineProperty__default[\"default\"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction parseFormatStr(formatStr) {\n var formatName = formatStr.toLowerCase().trim();\n var formatOptions = {};\n if (formatStr.indexOf('(') > -1) {\n var p = formatStr.split('(');\n formatName = p[0].toLowerCase().trim();\n var optStr = p[1].substring(0, p[1].length - 1);\n if (formatName === 'currency' && optStr.indexOf(':') < 0) {\n if (!formatOptions.currency) formatOptions.currency = optStr.trim();\n } else if (formatName === 'relativetime' && optStr.indexOf(':') < 0) {\n if (!formatOptions.range) formatOptions.range = optStr.trim();\n } else {\n var opts = optStr.split(';');\n opts.forEach(function (opt) {\n if (!opt) return;\n var _opt$split = opt.split(':'),\n _opt$split2 = _toArray__default[\"default\"](_opt$split),\n key = _opt$split2[0],\n rest = _opt$split2.slice(1);\n var val = rest.join(':').trim().replace(/^'+|'+$/g, '');\n if (!formatOptions[key.trim()]) formatOptions[key.trim()] = val;\n if (val === 'false') formatOptions[key.trim()] = false;\n if (val === 'true') formatOptions[key.trim()] = true;\n if (!isNaN(val)) formatOptions[key.trim()] = parseInt(val, 10);\n });\n }\n }\n return {\n formatName: formatName,\n formatOptions: formatOptions\n };\n}\nfunction createCachedFormatter(fn) {\n var cache = {};\n return function invokeFormatter(val, lng, options) {\n var key = lng + JSON.stringify(options);\n var formatter = cache[key];\n if (!formatter) {\n formatter = fn(lng, options);\n cache[key] = formatter;\n }\n return formatter(val);\n };\n}\nvar Formatter = function () {\n function Formatter() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n _classCallCheck__default[\"default\"](this, Formatter);\n this.logger = baseLogger.create('formatter');\n this.options = options;\n this.formats = {\n number: createCachedFormatter(function (lng, options) {\n var formatter = new Intl.NumberFormat(lng, options);\n return function (val) {\n return formatter.format(val);\n };\n }),\n currency: createCachedFormatter(function (lng, options) {\n var formatter = new Intl.NumberFormat(lng, _objectSpread$2(_objectSpread$2({}, options), {}, {\n style: 'currency'\n }));\n return function (val) {\n return formatter.format(val);\n };\n }),\n datetime: createCachedFormatter(function (lng, options) {\n var formatter = new Intl.DateTimeFormat(lng, _objectSpread$2({}, options));\n return function (val) {\n return formatter.format(val);\n };\n }),\n relativetime: createCachedFormatter(function (lng, options) {\n var formatter = new Intl.RelativeTimeFormat(lng, _objectSpread$2({}, options));\n return function (val) {\n return formatter.format(val, options.range || 'day');\n };\n }),\n list: createCachedFormatter(function (lng, options) {\n var formatter = new Intl.ListFormat(lng, _objectSpread$2({}, options));\n return function (val) {\n return formatter.format(val);\n };\n })\n };\n this.init(options);\n }\n _createClass__default[\"default\"](Formatter, [{\n key: \"init\",\n value: function init(services) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n var iOpts = options.interpolation;\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n }\n }, {\n key: \"add\",\n value: function add(name, fc) {\n this.formats[name.toLowerCase().trim()] = fc;\n }\n }, {\n key: \"addCached\",\n value: function addCached(name, fc) {\n this.formats[name.toLowerCase().trim()] = createCachedFormatter(fc);\n }\n }, {\n key: \"format\",\n value: function format(value, _format, lng, options) {\n var _this = this;\n var formats = _format.split(this.formatSeparator);\n var result = formats.reduce(function (mem, f) {\n var _parseFormatStr = parseFormatStr(f),\n formatName = _parseFormatStr.formatName,\n formatOptions = _parseFormatStr.formatOptions;\n if (_this.formats[formatName]) {\n var formatted = mem;\n try {\n var valOptions = options && options.formatParams && options.formatParams[options.interpolationkey] || {};\n var l = valOptions.locale || valOptions.lng || options.locale || options.lng || lng;\n formatted = _this.formats[formatName](mem, l, _objectSpread$2(_objectSpread$2(_objectSpread$2({}, formatOptions), options), valOptions));\n } catch (error) {\n _this.logger.warn(error);\n }\n return formatted;\n } else {\n _this.logger.warn(\"there was no format function for \".concat(formatName));\n }\n return mem;\n }, value);\n return result;\n }\n }]);\n return Formatter;\n}();\n\nfunction ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) { _defineProperty__default[\"default\"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper$1(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$1(); return function _createSuperInternal() { var Super = _getPrototypeOf__default[\"default\"](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default[\"default\"](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default[\"default\"](this, result); }; }\nfunction _isNativeReflectConstruct$1() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction removePending(q, name) {\n if (q.pending[name] !== undefined) {\n delete q.pending[name];\n q.pendingCount--;\n }\n}\nvar Connector = function (_EventEmitter) {\n _inherits__default[\"default\"](Connector, _EventEmitter);\n var _super = _createSuper$1(Connector);\n function Connector(backend, store, services) {\n var _this;\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n _classCallCheck__default[\"default\"](this, Connector);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized__default[\"default\"](_this));\n }\n _this.backend = backend;\n _this.store = store;\n _this.services = services;\n _this.languageUtils = services.languageUtils;\n _this.options = options;\n _this.logger = baseLogger.create('backendConnector');\n _this.waitingReads = [];\n _this.maxParallelReads = options.maxParallelReads || 10;\n _this.readingCalls = 0;\n _this.maxRetries = options.maxRetries >= 0 ? options.maxRetries : 5;\n _this.retryTimeout = options.retryTimeout >= 1 ? options.retryTimeout : 350;\n _this.state = {};\n _this.queue = [];\n if (_this.backend && _this.backend.init) {\n _this.backend.init(services, options.backend, options);\n }\n return _this;\n }\n _createClass__default[\"default\"](Connector, [{\n key: \"queueLoad\",\n value: function queueLoad(languages, namespaces, options, callback) {\n var _this2 = this;\n var toLoad = {};\n var pending = {};\n var toLoadLanguages = {};\n var toLoadNamespaces = {};\n languages.forEach(function (lng) {\n var hasAllNamespaces = true;\n namespaces.forEach(function (ns) {\n var name = \"\".concat(lng, \"|\").concat(ns);\n if (!options.reload && _this2.store.hasResourceBundle(lng, ns)) {\n _this2.state[name] = 2;\n } else if (_this2.state[name] < 0) ; else if (_this2.state[name] === 1) {\n if (pending[name] === undefined) pending[name] = true;\n } else {\n _this2.state[name] = 1;\n hasAllNamespaces = false;\n if (pending[name] === undefined) pending[name] = true;\n if (toLoad[name] === undefined) toLoad[name] = true;\n if (toLoadNamespaces[ns] === undefined) toLoadNamespaces[ns] = true;\n }\n });\n if (!hasAllNamespaces) toLoadLanguages[lng] = true;\n });\n if (Object.keys(toLoad).length || Object.keys(pending).length) {\n this.queue.push({\n pending: pending,\n pendingCount: Object.keys(pending).length,\n loaded: {},\n errors: [],\n callback: callback\n });\n }\n return {\n toLoad: Object.keys(toLoad),\n pending: Object.keys(pending),\n toLoadLanguages: Object.keys(toLoadLanguages),\n toLoadNamespaces: Object.keys(toLoadNamespaces)\n };\n }\n }, {\n key: \"loaded\",\n value: function loaded(name, err, data) {\n var s = name.split('|');\n var lng = s[0];\n var ns = s[1];\n if (err) this.emit('failedLoading', lng, ns, err);\n if (data) {\n this.store.addResourceBundle(lng, ns, data);\n }\n this.state[name] = err ? -1 : 2;\n var loaded = {};\n this.queue.forEach(function (q) {\n pushPath(q.loaded, [lng], ns);\n removePending(q, name);\n if (err) q.errors.push(err);\n if (q.pendingCount === 0 && !q.done) {\n Object.keys(q.loaded).forEach(function (l) {\n if (!loaded[l]) loaded[l] = {};\n var loadedKeys = q.loaded[l];\n if (loadedKeys.length) {\n loadedKeys.forEach(function (ns) {\n if (loaded[l][ns] === undefined) loaded[l][ns] = true;\n });\n }\n });\n q.done = true;\n if (q.errors.length) {\n q.callback(q.errors);\n } else {\n q.callback();\n }\n }\n });\n this.emit('loaded', loaded);\n this.queue = this.queue.filter(function (q) {\n return !q.done;\n });\n }\n }, {\n key: \"read\",\n value: function read(lng, ns, fcName) {\n var _this3 = this;\n var tried = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n var wait = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : this.retryTimeout;\n var callback = arguments.length > 5 ? arguments[5] : undefined;\n if (!lng.length) return callback(null, {});\n if (this.readingCalls >= this.maxParallelReads) {\n this.waitingReads.push({\n lng: lng,\n ns: ns,\n fcName: fcName,\n tried: tried,\n wait: wait,\n callback: callback\n });\n return;\n }\n this.readingCalls++;\n var resolver = function resolver(err, data) {\n _this3.readingCalls--;\n if (_this3.waitingReads.length > 0) {\n var next = _this3.waitingReads.shift();\n _this3.read(next.lng, next.ns, next.fcName, next.tried, next.wait, next.callback);\n }\n if (err && data && tried < _this3.maxRetries) {\n setTimeout(function () {\n _this3.read.call(_this3, lng, ns, fcName, tried + 1, wait * 2, callback);\n }, wait);\n return;\n }\n callback(err, data);\n };\n var fc = this.backend[fcName].bind(this.backend);\n if (fc.length === 2) {\n try {\n var r = fc(lng, ns);\n if (r && typeof r.then === 'function') {\n r.then(function (data) {\n return resolver(null, data);\n })[\"catch\"](resolver);\n } else {\n resolver(null, r);\n }\n } catch (err) {\n resolver(err);\n }\n return;\n }\n return fc(lng, ns, resolver);\n }\n }, {\n key: \"prepareLoading\",\n value: function prepareLoading(languages, namespaces) {\n var _this4 = this;\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var callback = arguments.length > 3 ? arguments[3] : undefined;\n if (!this.backend) {\n this.logger.warn('No backend was added via i18next.use. Will not load resources.');\n return callback && callback();\n }\n if (typeof languages === 'string') languages = this.languageUtils.toResolveHierarchy(languages);\n if (typeof namespaces === 'string') namespaces = [namespaces];\n var toLoad = this.queueLoad(languages, namespaces, options, callback);\n if (!toLoad.toLoad.length) {\n if (!toLoad.pending.length) callback();\n return null;\n }\n toLoad.toLoad.forEach(function (name) {\n _this4.loadOne(name);\n });\n }\n }, {\n key: \"load\",\n value: function load(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {}, callback);\n }\n }, {\n key: \"reload\",\n value: function reload(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {\n reload: true\n }, callback);\n }\n }, {\n key: \"loadOne\",\n value: function loadOne(name) {\n var _this5 = this;\n var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var s = name.split('|');\n var lng = s[0];\n var ns = s[1];\n this.read(lng, ns, 'read', undefined, undefined, function (err, data) {\n if (err) _this5.logger.warn(\"\".concat(prefix, \"loading namespace \").concat(ns, \" for language \").concat(lng, \" failed\"), err);\n if (!err && data) _this5.logger.log(\"\".concat(prefix, \"loaded namespace \").concat(ns, \" for language \").concat(lng), data);\n _this5.loaded(name, err, data);\n });\n }\n }, {\n key: \"saveMissing\",\n value: function saveMissing(languages, namespace, key, fallbackValue, isUpdate) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};\n var clb = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : function () {};\n if (this.services.utils && this.services.utils.hasLoadedNamespace && !this.services.utils.hasLoadedNamespace(namespace)) {\n this.logger.warn(\"did not save key \\\"\".concat(key, \"\\\" as the namespace \\\"\").concat(namespace, \"\\\" was not yet loaded\"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n return;\n }\n if (key === undefined || key === null || key === '') return;\n if (this.backend && this.backend.create) {\n var opts = _objectSpread$1(_objectSpread$1({}, options), {}, {\n isUpdate: isUpdate\n });\n var fc = this.backend.create.bind(this.backend);\n if (fc.length < 6) {\n try {\n var r;\n if (fc.length === 5) {\n r = fc(languages, namespace, key, fallbackValue, opts);\n } else {\n r = fc(languages, namespace, key, fallbackValue);\n }\n if (r && typeof r.then === 'function') {\n r.then(function (data) {\n return clb(null, data);\n })[\"catch\"](clb);\n } else {\n clb(null, r);\n }\n } catch (err) {\n clb(err);\n }\n } else {\n fc(languages, namespace, key, fallbackValue, clb, opts);\n }\n }\n if (!languages || !languages[0]) return;\n this.store.addResource(languages[0], namespace, key, fallbackValue);\n }\n }]);\n return Connector;\n}(EventEmitter);\n\nfunction get() {\n return {\n debug: false,\n initImmediate: true,\n ns: ['translation'],\n defaultNS: ['translation'],\n fallbackLng: ['dev'],\n fallbackNS: false,\n supportedLngs: false,\n nonExplicitSupportedLngs: false,\n load: 'all',\n preload: false,\n simplifyPluralSuffix: true,\n keySeparator: '.',\n nsSeparator: ':',\n pluralSeparator: '_',\n contextSeparator: '_',\n partialBundledLanguages: false,\n saveMissing: false,\n updateMissing: false,\n saveMissingTo: 'fallback',\n saveMissingPlurals: true,\n missingKeyHandler: false,\n missingInterpolationHandler: false,\n postProcess: false,\n postProcessPassResolved: false,\n returnNull: true,\n returnEmptyString: true,\n returnObjects: false,\n joinArrays: false,\n returnedObjectHandler: false,\n parseMissingKeyHandler: false,\n appendNamespaceToMissingKey: false,\n appendNamespaceToCIMode: false,\n overloadTranslationOptionHandler: function handle(args) {\n var ret = {};\n if (_typeof__default[\"default\"](args[1]) === 'object') ret = args[1];\n if (typeof args[1] === 'string') ret.defaultValue = args[1];\n if (typeof args[2] === 'string') ret.tDescription = args[2];\n if (_typeof__default[\"default\"](args[2]) === 'object' || _typeof__default[\"default\"](args[3]) === 'object') {\n var options = args[3] || args[2];\n Object.keys(options).forEach(function (key) {\n ret[key] = options[key];\n });\n }\n return ret;\n },\n interpolation: {\n escapeValue: true,\n format: function format(value, _format, lng, options) {\n return value;\n },\n prefix: '{{',\n suffix: '}}',\n formatSeparator: ',',\n unescapePrefix: '-',\n nestingPrefix: '$t(',\n nestingSuffix: ')',\n nestingOptionsSeparator: ',',\n maxReplaces: 1000,\n skipOnVariables: true\n }\n };\n}\nfunction transformOptions(options) {\n if (typeof options.ns === 'string') options.ns = [options.ns];\n if (typeof options.fallbackLng === 'string') options.fallbackLng = [options.fallbackLng];\n if (typeof options.fallbackNS === 'string') options.fallbackNS = [options.fallbackNS];\n if (options.supportedLngs && options.supportedLngs.indexOf('cimode') < 0) {\n options.supportedLngs = options.supportedLngs.concat(['cimode']);\n }\n return options;\n}\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default[\"default\"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf__default[\"default\"](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default[\"default\"](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default[\"default\"](this, result); }; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction noop() {}\nfunction bindMemberFunctions(inst) {\n var mems = Object.getOwnPropertyNames(Object.getPrototypeOf(inst));\n mems.forEach(function (mem) {\n if (typeof inst[mem] === 'function') {\n inst[mem] = inst[mem].bind(inst);\n }\n });\n}\nvar I18n = function (_EventEmitter) {\n _inherits__default[\"default\"](I18n, _EventEmitter);\n var _super = _createSuper(I18n);\n function I18n() {\n var _this;\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n _classCallCheck__default[\"default\"](this, I18n);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized__default[\"default\"](_this));\n }\n _this.options = transformOptions(options);\n _this.services = {};\n _this.logger = baseLogger;\n _this.modules = {\n external: []\n };\n bindMemberFunctions(_assertThisInitialized__default[\"default\"](_this));\n if (callback && !_this.isInitialized && !options.isClone) {\n if (!_this.options.initImmediate) {\n _this.init(options, callback);\n return _possibleConstructorReturn__default[\"default\"](_this, _assertThisInitialized__default[\"default\"](_this));\n }\n setTimeout(function () {\n _this.init(options, callback);\n }, 0);\n }\n return _this;\n }\n _createClass__default[\"default\"](I18n, [{\n key: \"init\",\n value: function init() {\n var _this2 = this;\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n if (!options.defaultNS && options.defaultNS !== false && options.ns) {\n if (typeof options.ns === 'string') {\n options.defaultNS = options.ns;\n } else if (options.ns.indexOf('translation') < 0) {\n options.defaultNS = options.ns[0];\n }\n }\n var defOpts = get();\n this.options = _objectSpread(_objectSpread(_objectSpread({}, defOpts), this.options), transformOptions(options));\n if (this.options.compatibilityAPI !== 'v1') {\n this.options.interpolation = _objectSpread(_objectSpread({}, defOpts.interpolation), this.options.interpolation);\n }\n if (options.keySeparator !== undefined) {\n this.options.userDefinedKeySeparator = options.keySeparator;\n }\n if (options.nsSeparator !== undefined) {\n this.options.userDefinedNsSeparator = options.nsSeparator;\n }\n function createClassOnDemand(ClassOrObject) {\n if (!ClassOrObject) return null;\n if (typeof ClassOrObject === 'function') return new ClassOrObject();\n return ClassOrObject;\n }\n if (!this.options.isClone) {\n if (this.modules.logger) {\n baseLogger.init(createClassOnDemand(this.modules.logger), this.options);\n } else {\n baseLogger.init(null, this.options);\n }\n var formatter;\n if (this.modules.formatter) {\n formatter = this.modules.formatter;\n } else if (typeof Intl !== 'undefined') {\n formatter = Formatter;\n }\n var lu = new LanguageUtil(this.options);\n this.store = new ResourceStore(this.options.resources, this.options);\n var s = this.services;\n s.logger = baseLogger;\n s.resourceStore = this.store;\n s.languageUtils = lu;\n s.pluralResolver = new PluralResolver(lu, {\n prepend: this.options.pluralSeparator,\n compatibilityJSON: this.options.compatibilityJSON,\n simplifyPluralSuffix: this.options.simplifyPluralSuffix\n });\n if (formatter && (!this.options.interpolation.format || this.options.interpolation.format === defOpts.interpolation.format)) {\n s.formatter = createClassOnDemand(formatter);\n s.formatter.init(s, this.options);\n this.options.interpolation.format = s.formatter.format.bind(s.formatter);\n }\n s.interpolator = new Interpolator(this.options);\n s.utils = {\n hasLoadedNamespace: this.hasLoadedNamespace.bind(this)\n };\n s.backendConnector = new Connector(createClassOnDemand(this.modules.backend), s.resourceStore, s, this.options);\n s.backendConnector.on('*', function (event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n _this2.emit.apply(_this2, [event].concat(args));\n });\n if (this.modules.languageDetector) {\n s.languageDetector = createClassOnDemand(this.modules.languageDetector);\n if (s.languageDetector.init) s.languageDetector.init(s, this.options.detection, this.options);\n }\n if (this.modules.i18nFormat) {\n s.i18nFormat = createClassOnDemand(this.modules.i18nFormat);\n if (s.i18nFormat.init) s.i18nFormat.init(this);\n }\n this.translator = new Translator(this.services, this.options);\n this.translator.on('*', function (event) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n _this2.emit.apply(_this2, [event].concat(args));\n });\n this.modules.external.forEach(function (m) {\n if (m.init) m.init(_this2);\n });\n }\n this.format = this.options.interpolation.format;\n if (!callback) callback = noop;\n if (this.options.fallbackLng && !this.services.languageDetector && !this.options.lng) {\n var codes = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n if (codes.length > 0 && codes[0] !== 'dev') this.options.lng = codes[0];\n }\n if (!this.services.languageDetector && !this.options.lng) {\n this.logger.warn('init: no languageDetector is used and no lng is defined');\n }\n var storeApi = ['getResource', 'hasResourceBundle', 'getResourceBundle', 'getDataByLanguage'];\n storeApi.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store;\n return (_this2$store = _this2.store)[fcName].apply(_this2$store, arguments);\n };\n });\n var storeApiChained = ['addResource', 'addResources', 'addResourceBundle', 'removeResourceBundle'];\n storeApiChained.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store2;\n (_this2$store2 = _this2.store)[fcName].apply(_this2$store2, arguments);\n return _this2;\n };\n });\n var deferred = defer();\n var load = function load() {\n var finish = function finish(err, t) {\n if (_this2.isInitialized && !_this2.initializedStoreOnce) _this2.logger.warn('init: i18next is already initialized. You should call init just once!');\n _this2.isInitialized = true;\n if (!_this2.options.isClone) _this2.logger.log('initialized', _this2.options);\n _this2.emit('initialized', _this2.options);\n deferred.resolve(t);\n callback(err, t);\n };\n if (_this2.languages && _this2.options.compatibilityAPI !== 'v1' && !_this2.isInitialized) return finish(null, _this2.t.bind(_this2));\n _this2.changeLanguage(_this2.options.lng, finish);\n };\n if (this.options.resources || !this.options.initImmediate) {\n load();\n } else {\n setTimeout(load, 0);\n }\n return deferred;\n }\n }, {\n key: \"loadResources\",\n value: function loadResources(language) {\n var _this3 = this;\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n var usedCallback = callback;\n var usedLng = typeof language === 'string' ? language : this.language;\n if (typeof language === 'function') usedCallback = language;\n if (!this.options.resources || this.options.partialBundledLanguages) {\n if (usedLng && usedLng.toLowerCase() === 'cimode') return usedCallback();\n var toLoad = [];\n var append = function append(lng) {\n if (!lng) return;\n var lngs = _this3.services.languageUtils.toResolveHierarchy(lng);\n lngs.forEach(function (l) {\n if (toLoad.indexOf(l) < 0) toLoad.push(l);\n });\n };\n if (!usedLng) {\n var fallbacks = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n fallbacks.forEach(function (l) {\n return append(l);\n });\n } else {\n append(usedLng);\n }\n if (this.options.preload) {\n this.options.preload.forEach(function (l) {\n return append(l);\n });\n }\n this.services.backendConnector.load(toLoad, this.options.ns, function (e) {\n if (!e && !_this3.resolvedLanguage && _this3.language) _this3.setResolvedLanguage(_this3.language);\n usedCallback(e);\n });\n } else {\n usedCallback(null);\n }\n }\n }, {\n key: \"reloadResources\",\n value: function reloadResources(lngs, ns, callback) {\n var deferred = defer();\n if (!lngs) lngs = this.languages;\n if (!ns) ns = this.options.ns;\n if (!callback) callback = noop;\n this.services.backendConnector.reload(lngs, ns, function (err) {\n deferred.resolve();\n callback(err);\n });\n return deferred;\n }\n }, {\n key: \"use\",\n value: function use(module) {\n if (!module) throw new Error('You are passing an undefined module! Please check the object you are passing to i18next.use()');\n if (!module.type) throw new Error('You are passing a wrong module! Please check the object you are passing to i18next.use()');\n if (module.type === 'backend') {\n this.modules.backend = module;\n }\n if (module.type === 'logger' || module.log && module.warn && module.error) {\n this.modules.logger = module;\n }\n if (module.type === 'languageDetector') {\n this.modules.languageDetector = module;\n }\n if (module.type === 'i18nFormat') {\n this.modules.i18nFormat = module;\n }\n if (module.type === 'postProcessor') {\n postProcessor.addPostProcessor(module);\n }\n if (module.type === 'formatter') {\n this.modules.formatter = module;\n }\n if (module.type === '3rdParty') {\n this.modules.external.push(module);\n }\n return this;\n }\n }, {\n key: \"setResolvedLanguage\",\n value: function setResolvedLanguage(l) {\n if (!l || !this.languages) return;\n if (['cimode', 'dev'].indexOf(l) > -1) return;\n for (var li = 0; li < this.languages.length; li++) {\n var lngInLngs = this.languages[li];\n if (['cimode', 'dev'].indexOf(lngInLngs) > -1) continue;\n if (this.store.hasLanguageSomeTranslations(lngInLngs)) {\n this.resolvedLanguage = lngInLngs;\n break;\n }\n }\n }\n }, {\n key: \"changeLanguage\",\n value: function changeLanguage(lng, callback) {\n var _this4 = this;\n this.isLanguageChangingTo = lng;\n var deferred = defer();\n this.emit('languageChanging', lng);\n var setLngProps = function setLngProps(l) {\n _this4.language = l;\n _this4.languages = _this4.services.languageUtils.toResolveHierarchy(l);\n _this4.resolvedLanguage = undefined;\n _this4.setResolvedLanguage(l);\n };\n var done = function done(err, l) {\n if (l) {\n setLngProps(l);\n _this4.translator.changeLanguage(l);\n _this4.isLanguageChangingTo = undefined;\n _this4.emit('languageChanged', l);\n _this4.logger.log('languageChanged', l);\n } else {\n _this4.isLanguageChangingTo = undefined;\n }\n deferred.resolve(function () {\n return _this4.t.apply(_this4, arguments);\n });\n if (callback) callback(err, function () {\n return _this4.t.apply(_this4, arguments);\n });\n };\n var setLng = function setLng(lngs) {\n if (!lng && !lngs && _this4.services.languageDetector) lngs = [];\n var l = typeof lngs === 'string' ? lngs : _this4.services.languageUtils.getBestMatchFromCodes(lngs);\n if (l) {\n if (!_this4.language) {\n setLngProps(l);\n }\n if (!_this4.translator.language) _this4.translator.changeLanguage(l);\n if (_this4.services.languageDetector && _this4.services.languageDetector.cacheUserLanguage) _this4.services.languageDetector.cacheUserLanguage(l);\n }\n _this4.loadResources(l, function (err) {\n done(err, l);\n });\n };\n if (!lng && this.services.languageDetector && !this.services.languageDetector.async) {\n setLng(this.services.languageDetector.detect());\n } else if (!lng && this.services.languageDetector && this.services.languageDetector.async) {\n if (this.services.languageDetector.detect.length === 0) {\n this.services.languageDetector.detect().then(setLng);\n } else {\n this.services.languageDetector.detect(setLng);\n }\n } else {\n setLng(lng);\n }\n return deferred;\n }\n }, {\n key: \"getFixedT\",\n value: function getFixedT(lng, ns, keyPrefix) {\n var _this5 = this;\n var fixedT = function fixedT(key, opts) {\n var options;\n if (_typeof__default[\"default\"](opts) !== 'object') {\n for (var _len3 = arguments.length, rest = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {\n rest[_key3 - 2] = arguments[_key3];\n }\n options = _this5.options.overloadTranslationOptionHandler([key, opts].concat(rest));\n } else {\n options = _objectSpread({}, opts);\n }\n options.lng = options.lng || fixedT.lng;\n options.lngs = options.lngs || fixedT.lngs;\n options.ns = options.ns || fixedT.ns;\n options.keyPrefix = options.keyPrefix || keyPrefix || fixedT.keyPrefix;\n var keySeparator = _this5.options.keySeparator || '.';\n var resultKey = options.keyPrefix ? \"\".concat(options.keyPrefix).concat(keySeparator).concat(key) : key;\n return _this5.t(resultKey, options);\n };\n if (typeof lng === 'string') {\n fixedT.lng = lng;\n } else {\n fixedT.lngs = lng;\n }\n fixedT.ns = ns;\n fixedT.keyPrefix = keyPrefix;\n return fixedT;\n }\n }, {\n key: \"t\",\n value: function t() {\n var _this$translator;\n return this.translator && (_this$translator = this.translator).translate.apply(_this$translator, arguments);\n }\n }, {\n key: \"exists\",\n value: function exists() {\n var _this$translator2;\n return this.translator && (_this$translator2 = this.translator).exists.apply(_this$translator2, arguments);\n }\n }, {\n key: \"setDefaultNamespace\",\n value: function setDefaultNamespace(ns) {\n this.options.defaultNS = ns;\n }\n }, {\n key: \"hasLoadedNamespace\",\n value: function hasLoadedNamespace(ns) {\n var _this6 = this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (!this.isInitialized) {\n this.logger.warn('hasLoadedNamespace: i18next was not initialized', this.languages);\n return false;\n }\n if (!this.languages || !this.languages.length) {\n this.logger.warn('hasLoadedNamespace: i18n.languages were undefined or empty', this.languages);\n return false;\n }\n var lng = this.resolvedLanguage || this.languages[0];\n var fallbackLng = this.options ? this.options.fallbackLng : false;\n var lastLng = this.languages[this.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n var loadNotPending = function loadNotPending(l, n) {\n var loadState = _this6.services.backendConnector.state[\"\".concat(l, \"|\").concat(n)];\n return loadState === -1 || loadState === 2;\n };\n if (options.precheck) {\n var preResult = options.precheck(this, loadNotPending);\n if (preResult !== undefined) return preResult;\n }\n if (this.hasResourceBundle(lng, ns)) return true;\n if (!this.services.backendConnector.backend || this.options.resources && !this.options.partialBundledLanguages) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n }\n }, {\n key: \"loadNamespaces\",\n value: function loadNamespaces(ns, callback) {\n var _this7 = this;\n var deferred = defer();\n if (!this.options.ns) {\n callback && callback();\n return Promise.resolve();\n }\n if (typeof ns === 'string') ns = [ns];\n ns.forEach(function (n) {\n if (_this7.options.ns.indexOf(n) < 0) _this7.options.ns.push(n);\n });\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"loadLanguages\",\n value: function loadLanguages(lngs, callback) {\n var deferred = defer();\n if (typeof lngs === 'string') lngs = [lngs];\n var preloaded = this.options.preload || [];\n var newLngs = lngs.filter(function (lng) {\n return preloaded.indexOf(lng) < 0;\n });\n if (!newLngs.length) {\n if (callback) callback();\n return Promise.resolve();\n }\n this.options.preload = preloaded.concat(newLngs);\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"dir\",\n value: function dir(lng) {\n if (!lng) lng = this.resolvedLanguage || (this.languages && this.languages.length > 0 ? this.languages[0] : this.language);\n if (!lng) return 'rtl';\n var rtlLngs = ['ar', 'shu', 'sqr', 'ssh', 'xaa', 'yhd', 'yud', 'aao', 'abh', 'abv', 'acm', 'acq', 'acw', 'acx', 'acy', 'adf', 'ads', 'aeb', 'aec', 'afb', 'ajp', 'apc', 'apd', 'arb', 'arq', 'ars', 'ary', 'arz', 'auz', 'avl', 'ayh', 'ayl', 'ayn', 'ayp', 'bbz', 'pga', 'he', 'iw', 'ps', 'pbt', 'pbu', 'pst', 'prp', 'prd', 'ug', 'ur', 'ydd', 'yds', 'yih', 'ji', 'yi', 'hbo', 'men', 'xmn', 'fa', 'jpr', 'peo', 'pes', 'prs', 'dv', 'sam', 'ckb'];\n var languageUtils = this.services && this.services.languageUtils || new LanguageUtil(get());\n return rtlLngs.indexOf(languageUtils.getLanguagePartFromCode(lng)) > -1 || lng.toLowerCase().indexOf('-arab') > 1 ? 'rtl' : 'ltr';\n }\n }, {\n key: \"cloneInstance\",\n value: function cloneInstance() {\n var _this8 = this;\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n var mergedOptions = _objectSpread(_objectSpread(_objectSpread({}, this.options), options), {\n isClone: true\n });\n var clone = new I18n(mergedOptions);\n if (options.debug !== undefined || options.prefix !== undefined) {\n clone.logger = clone.logger.clone(options);\n }\n var membersToCopy = ['store', 'services', 'language'];\n membersToCopy.forEach(function (m) {\n clone[m] = _this8[m];\n });\n clone.services = _objectSpread({}, this.services);\n clone.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n clone.translator = new Translator(clone.services, clone.options);\n clone.translator.on('*', function (event) {\n for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n args[_key4 - 1] = arguments[_key4];\n }\n clone.emit.apply(clone, [event].concat(args));\n });\n clone.init(mergedOptions, callback);\n clone.translator.options = clone.options;\n clone.translator.backendConnector.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n return clone;\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return {\n options: this.options,\n store: this.store,\n language: this.language,\n languages: this.languages,\n resolvedLanguage: this.resolvedLanguage\n };\n }\n }]);\n return I18n;\n}(EventEmitter);\n_defineProperty__default[\"default\"](I18n, \"createInstance\", function () {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n return new I18n(options, callback);\n});\nvar instance = I18n.createInstance();\ninstance.createInstance = I18n.createInstance;\n\nmodule.exports = instance;\n","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","module.exports = [\n {\"name\":\"Abkhaz\", \"local\":\"Аҧсуа\", \"1\":\"ab\", \"2\":\"abk\", \"2T\":\"abk\", \"2B\":\"abk\", \"3\":\"abk\"},\n {\"name\":\"Afar\", \"local\":\"Afaraf\", \"1\":\"aa\", \"2\":\"aar\", \"2T\":\"aar\", \"2B\":\"aar\", \"3\":\"aar\"},\n {\"name\":\"Afrikaans\", \"local\":\"Afrikaans\", \"1\":\"af\", \"2\":\"afr\", \"2T\":\"afr\", \"2B\":\"afr\", \"3\":\"afr\"},\n {\"name\":\"Akan\", \"local\":\"Akan\", \"1\":\"ak\", \"2\":\"aka\", \"2T\":\"aka\", \"2B\":\"aka\", \"3\":\"aka\"},\n {\"name\":\"Albanian\", \"local\":\"Shqip\", \"1\":\"sq\", \"2\":\"sqi\", \"2T\":\"sqi\", \"2B\":\"alb\", \"3\":\"sqi\"},\n {\"name\":\"Amharic\", \"local\":\"አማርኛ\", \"1\":\"am\", \"2\":\"amh\", \"2T\":\"amh\", \"2B\":\"amh\", \"3\":\"amh\"},\n {\"name\":\"Arabic\", \"local\":\"العربية\", \"1\":\"ar\", \"2\":\"ara\", \"2T\":\"ara\", \"2B\":\"ara\", \"3\":\"ara\"},\n {\"name\":\"Aragonese\", \"local\":\"Aragonés\", \"1\":\"an\", \"2\":\"arg\", \"2T\":\"arg\", \"2B\":\"arg\", \"3\":\"arg\"},\n {\"name\":\"Armenian\", \"local\":\"Հայերեն\", \"1\":\"hy\", \"2\":\"hye\", \"2T\":\"hye\", \"2B\":\"arm\", \"3\":\"hye\"},\n {\"name\":\"Assamese\", \"local\":\"অসমীয়া\", \"1\":\"as\", \"2\":\"asm\", \"2T\":\"asm\", \"2B\":\"asm\", \"3\":\"asm\"},\n {\"name\":\"Avaric\", \"local\":\"Авар\", \"1\":\"av\", \"2\":\"ava\", \"2T\":\"ava\", \"2B\":\"ava\", \"3\":\"ava\"},\n {\"name\":\"Avestan\", \"local\":\"avesta\", \"1\":\"ae\", \"2\":\"ave\", \"2T\":\"ave\", \"2B\":\"ave\", \"3\":\"ave\"},\n {\"name\":\"Aymara\", \"local\":\"Aymar\", \"1\":\"ay\", \"2\":\"aym\", \"2T\":\"aym\", \"2B\":\"aym\", \"3\":\"aym\"},\n {\"name\":\"Azerbaijani\", \"local\":\"Azərbaycanca\", \"1\":\"az\", \"2\":\"aze\", \"2T\":\"aze\", \"2B\":\"aze\", \"3\":\"aze\"},\n {\"name\":\"Bambara\", \"local\":\"Bamanankan\", \"1\":\"bm\", \"2\":\"bam\", \"2T\":\"bam\", \"2B\":\"bam\", \"3\":\"bam\"},\n {\"name\":\"Bashkir\", \"local\":\"Башҡортса\", \"1\":\"ba\", \"2\":\"bak\", \"2T\":\"bak\", \"2B\":\"bak\", \"3\":\"bak\"},\n {\"name\":\"Basque\", \"local\":\"Euskara\", \"1\":\"eu\", \"2\":\"eus\", \"2T\":\"eus\", \"2B\":\"baq\", \"3\":\"eus\"},\n {\"name\":\"Belarusian\", \"local\":\"Беларуская\", \"1\":\"be\", \"2\":\"bel\", \"2T\":\"bel\", \"2B\":\"bel\", \"3\":\"bel\"},\n {\"name\":\"Bengali\", \"local\":\"বাংলা\", \"1\":\"bn\", \"2\":\"ben\", \"2T\":\"ben\", \"2B\":\"ben\", \"3\":\"ben\"},\n {\"name\":\"Bihari\", \"local\":\"भोजपुरी\", \"1\":\"bh\", \"2\":\"bih\", \"2T\":\"bih\", \"2B\":\"bih\", \"3\":\"bih\"},\n {\"name\":\"Bislama\", \"local\":\"Bislama\", \"1\":\"bi\", \"2\":\"bis\", \"2T\":\"bis\", \"2B\":\"bis\", \"3\":\"bis\"},\n {\"name\":\"Bosnian\", \"local\":\"Bosanski\", \"1\":\"bs\", \"2\":\"bos\", \"2T\":\"bos\", \"2B\":\"bos\", \"3\":\"bos\"},\n {\"name\":\"Breton\", \"local\":\"Brezhoneg\", \"1\":\"br\", \"2\":\"bre\", \"2T\":\"bre\", \"2B\":\"bre\", \"3\":\"bre\"},\n {\"name\":\"Bulgarian\", \"local\":\"Български\", \"1\":\"bg\", \"2\":\"bul\", \"2T\":\"bul\", \"2B\":\"bul\", \"3\":\"bul\"},\n {\"name\":\"Burmese\", \"local\":\"မြန်မာဘာသာ\", \"1\":\"my\", \"2\":\"mya\", \"2T\":\"mya\", \"2B\":\"bur\", \"3\":\"mya\"},\n {\"name\":\"Catalan\", \"local\":\"Català\", \"1\":\"ca\", \"2\":\"cat\", \"2T\":\"cat\", \"2B\":\"cat\", \"3\":\"cat\"},\n {\"name\":\"Chamorro\", \"local\":\"Chamoru\", \"1\":\"ch\", \"2\":\"cha\", \"2T\":\"cha\", \"2B\":\"cha\", \"3\":\"cha\"},\n {\"name\":\"Chechen\", \"local\":\"Нохчийн\", \"1\":\"ce\", \"2\":\"che\", \"2T\":\"che\", \"2B\":\"che\", \"3\":\"che\"},\n {\"name\":\"Chichewa\", \"local\":\"Chichewa\", \"1\":\"ny\", \"2\":\"nya\", \"2T\":\"nya\", \"2B\":\"nya\", \"3\":\"nya\"},\n {\"name\":\"Chinese\", \"local\":\"中文\", \"1\":\"zh\", \"2\":\"zho\", \"2T\":\"zho\", \"2B\":\"chi\", \"3\":\"zho\"},\n {\"name\":\"Chuvash\", \"local\":\"Чӑвашла\", \"1\":\"cv\", \"2\":\"chv\", \"2T\":\"chv\", \"2B\":\"chv\", \"3\":\"chv\"},\n {\"name\":\"Cornish\", \"local\":\"Kernewek\", \"1\":\"kw\", \"2\":\"cor\", \"2T\":\"cor\", \"2B\":\"cor\", \"3\":\"cor\"},\n {\"name\":\"Corsican\", \"local\":\"Corsu\", \"1\":\"co\", \"2\":\"cos\", \"2T\":\"cos\", \"2B\":\"cos\", \"3\":\"cos\"},\n {\"name\":\"Cree\", \"local\":\"ᓀᐦᐃᔭᐍᐏᐣ\", \"1\":\"cr\", \"2\":\"cre\", \"2T\":\"cre\", \"2B\":\"cre\", \"3\":\"cre\"},\n {\"name\":\"Croatian\", \"local\":\"Hrvatski\", \"1\":\"hr\", \"2\":\"hrv\", \"2T\":\"hrv\", \"2B\":\"hrv\", \"3\":\"hrv\"},\n {\"name\":\"Czech\", \"local\":\"Čeština\", \"1\":\"cs\", \"2\":\"ces\", \"2T\":\"ces\", \"2B\":\"cze\", \"3\":\"ces\"},\n {\"name\":\"Danish\", \"local\":\"Dansk\", \"1\":\"da\", \"2\":\"dan\", \"2T\":\"dan\", \"2B\":\"dan\", \"3\":\"dan\"},\n {\"name\":\"Divehi\", \"local\":\"Divehi\", \"1\":\"dv\", \"2\":\"div\", \"2T\":\"div\", \"2B\":\"div\", \"3\":\"div\"},\n {\"name\":\"Dutch\", \"local\":\"Nederlands\", \"1\":\"nl\", \"2\":\"nld\", \"2T\":\"nld\", \"2B\":\"dut\", \"3\":\"nld\"},\n {\"name\":\"Dzongkha\", \"local\":\"རྫོང་ཁ\", \"1\":\"dz\", \"2\":\"dzo\", \"2T\":\"dzo\", \"2B\":\"dzo\", \"3\":\"dzo\"},\n {\"name\":\"English\", \"local\":\"English\", \"1\":\"en\", \"2\":\"eng\", \"2T\":\"eng\", \"2B\":\"eng\", \"3\":\"eng\"},\n {\"name\":\"Esperanto\", \"local\":\"Esperanto\", \"1\":\"eo\", \"2\":\"epo\", \"2T\":\"epo\", \"2B\":\"epo\", \"3\":\"epo\"},\n {\"name\":\"Estonian\", \"local\":\"Eesti\", \"1\":\"et\", \"2\":\"est\", \"2T\":\"est\", \"2B\":\"est\", \"3\":\"est\"},\n {\"name\":\"Ewe\", \"local\":\"Eʋegbe\", \"1\":\"ee\", \"2\":\"ewe\", \"2T\":\"ewe\", \"2B\":\"ewe\", \"3\":\"ewe\"},\n {\"name\":\"Faroese\", \"local\":\"Føroyskt\", \"1\":\"fo\", \"2\":\"fao\", \"2T\":\"fao\", \"2B\":\"fao\", \"3\":\"fao\"},\n {\"name\":\"Fijian\", \"local\":\"Na Vosa Vaka-Viti\", \"1\":\"fj\", \"2\":\"fij\", \"2T\":\"fij\", \"2B\":\"fij\", \"3\":\"fij\"},\n {\"name\":\"Finnish\", \"local\":\"Suomi\", \"1\":\"fi\", \"2\":\"fin\", \"2T\":\"fin\", \"2B\":\"fin\", \"3\":\"fin\"},\n {\"name\":\"French\", \"local\":\"Français\", \"1\":\"fr\", \"2\":\"fra\", \"2T\":\"fra\", \"2B\":\"fre\", \"3\":\"fra\"},\n {\"name\":\"Fula\", \"local\":\"Fulfulde\", \"1\":\"ff\", \"2\":\"ful\", \"2T\":\"ful\", \"2B\":\"ful\", \"3\":\"ful\"},\n {\"name\":\"Galician\", \"local\":\"Galego\", \"1\":\"gl\", \"2\":\"glg\", \"2T\":\"glg\", \"2B\":\"glg\", \"3\":\"glg\"},\n {\"name\":\"Georgian\", \"local\":\"ქართული\", \"1\":\"ka\", \"2\":\"kat\", \"2T\":\"kat\", \"2B\":\"geo\", \"3\":\"kat\"},\n {\"name\":\"German\", \"local\":\"Deutsch\", \"1\":\"de\", \"2\":\"deu\", \"2T\":\"deu\", \"2B\":\"ger\", \"3\":\"deu\"},\n {\"name\":\"Greek\", \"local\":\"Ελληνικά\", \"1\":\"el\", \"2\":\"ell\", \"2T\":\"ell\", \"2B\":\"gre\", \"3\":\"ell\"},\n {\"name\":\"Guaraní\", \"local\":\"Avañe'ẽ\", \"1\":\"gn\", \"2\":\"grn\", \"2T\":\"grn\", \"2B\":\"grn\", \"3\":\"grn\"},\n {\"name\":\"Gujarati\", \"local\":\"ગુજરાતી\", \"1\":\"gu\", \"2\":\"guj\", \"2T\":\"guj\", \"2B\":\"guj\", \"3\":\"guj\"},\n {\"name\":\"Haitian\", \"local\":\"Kreyòl Ayisyen\", \"1\":\"ht\", \"2\":\"hat\", \"2T\":\"hat\", \"2B\":\"hat\", \"3\":\"hat\"},\n {\"name\":\"Hausa\", \"local\":\"هَوُسَ\", \"1\":\"ha\", \"2\":\"hau\", \"2T\":\"hau\", \"2B\":\"hau\", \"3\":\"hau\"},\n {\"name\":\"Hebrew\", \"local\":\"עברית\", \"1\":\"he\", \"2\":\"heb\", \"2T\":\"heb\", \"2B\":\"heb\", \"3\":\"heb\"},\n {\"name\":\"Herero\", \"local\":\"Otjiherero\", \"1\":\"hz\", \"2\":\"her\", \"2T\":\"her\", \"2B\":\"her\", \"3\":\"her\"},\n {\"name\":\"Hindi\", \"local\":\"हिन्दी\", \"1\":\"hi\", \"2\":\"hin\", \"2T\":\"hin\", \"2B\":\"hin\", \"3\":\"hin\"},\n {\"name\":\"Hiri Motu\", \"local\":\"Hiri Motu\", \"1\":\"ho\", \"2\":\"hmo\", \"2T\":\"hmo\", \"2B\":\"hmo\", \"3\":\"hmo\"},\n {\"name\":\"Hungarian\", \"local\":\"Magyar\", \"1\":\"hu\", \"2\":\"hun\", \"2T\":\"hun\", \"2B\":\"hun\", \"3\":\"hun\"},\n {\"name\":\"Interlingua\", \"local\":\"Interlingua\", \"1\":\"ia\", \"2\":\"ina\", \"2T\":\"ina\", \"2B\":\"ina\", \"3\":\"ina\"},\n {\"name\":\"Indonesian\", \"local\":\"Bahasa Indonesia\", \"1\":\"id\", \"2\":\"ind\", \"2T\":\"ind\", \"2B\":\"ind\", \"3\":\"ind\"},\n {\"name\":\"Interlingue\", \"local\":\"Interlingue\", \"1\":\"ie\", \"2\":\"ile\", \"2T\":\"ile\", \"2B\":\"ile\", \"3\":\"ile\"},\n {\"name\":\"Irish\", \"local\":\"Gaeilge\", \"1\":\"ga\", \"2\":\"gle\", \"2T\":\"gle\", \"2B\":\"gle\", \"3\":\"gle\"},\n {\"name\":\"Igbo\", \"local\":\"Igbo\", \"1\":\"ig\", \"2\":\"ibo\", \"2T\":\"ibo\", \"2B\":\"ibo\", \"3\":\"ibo\"},\n {\"name\":\"Inupiaq\", \"local\":\"Iñupiak\", \"1\":\"ik\", \"2\":\"ipk\", \"2T\":\"ipk\", \"2B\":\"ipk\", \"3\":\"ipk\"},\n {\"name\":\"Ido\", \"local\":\"Ido\", \"1\":\"io\", \"2\":\"ido\", \"2T\":\"ido\", \"2B\":\"ido\", \"3\":\"ido\"},\n {\"name\":\"Icelandic\", \"local\":\"Íslenska\", \"1\":\"is\", \"2\":\"isl\", \"2T\":\"isl\", \"2B\":\"ice\", \"3\":\"isl\"},\n {\"name\":\"Italian\", \"local\":\"Italiano\", \"1\":\"it\", \"2\":\"ita\", \"2T\":\"ita\", \"2B\":\"ita\", \"3\":\"ita\"},\n {\"name\":\"Inuktitut\", \"local\":\"ᐃᓄᒃᑎᑐᑦ\", \"1\":\"iu\", \"2\":\"iku\", \"2T\":\"iku\", \"2B\":\"iku\", \"3\":\"iku\"},\n {\"name\":\"Japanese\", \"local\":\"日本語\", \"1\":\"ja\", \"2\":\"jpn\", \"2T\":\"jpn\", \"2B\":\"jpn\", \"3\":\"jpn\"},\n {\"name\":\"Javanese\", \"local\":\"Basa Jawa\", \"1\":\"jv\", \"2\":\"jav\", \"2T\":\"jav\", \"2B\":\"jav\", \"3\":\"jav\"},\n {\"name\":\"Kalaallisut\", \"local\":\"Kalaallisut\", \"1\":\"kl\", \"2\":\"kal\", \"2T\":\"kal\", \"2B\":\"kal\", \"3\":\"kal\"},\n {\"name\":\"Kannada\", \"local\":\"ಕನ್ನಡ\", \"1\":\"kn\", \"2\":\"kan\", \"2T\":\"kan\", \"2B\":\"kan\", \"3\":\"kan\"},\n {\"name\":\"Kanuri\", \"local\":\"Kanuri\", \"1\":\"kr\", \"2\":\"kau\", \"2T\":\"kau\", \"2B\":\"kau\", \"3\":\"kau\"},\n {\"name\":\"Kashmiri\", \"local\":\"كشميري\", \"1\":\"ks\", \"2\":\"kas\", \"2T\":\"kas\", \"2B\":\"kas\", \"3\":\"kas\"},\n {\"name\":\"Kazakh\", \"local\":\"Қазақша\", \"1\":\"kk\", \"2\":\"kaz\", \"2T\":\"kaz\", \"2B\":\"kaz\", \"3\":\"kaz\"},\n {\"name\":\"Khmer\", \"local\":\"ភាសាខ្មែរ\", \"1\":\"km\", \"2\":\"khm\", \"2T\":\"khm\", \"2B\":\"khm\", \"3\":\"khm\"},\n {\"name\":\"Kikuyu\", \"local\":\"Gĩkũyũ\", \"1\":\"ki\", \"2\":\"kik\", \"2T\":\"kik\", \"2B\":\"kik\", \"3\":\"kik\"},\n {\"name\":\"Kinyarwanda\", \"local\":\"Kinyarwanda\", \"1\":\"rw\", \"2\":\"kin\", \"2T\":\"kin\", \"2B\":\"kin\", \"3\":\"kin\"},\n {\"name\":\"Kyrgyz\", \"local\":\"Кыргызча\", \"1\":\"ky\", \"2\":\"kir\", \"2T\":\"kir\", \"2B\":\"kir\", \"3\":\"kir\"},\n {\"name\":\"Komi\", \"local\":\"Коми\", \"1\":\"kv\", \"2\":\"kom\", \"2T\":\"kom\", \"2B\":\"kom\", \"3\":\"kom\"},\n {\"name\":\"Kongo\", \"local\":\"Kongo\", \"1\":\"kg\", \"2\":\"kon\", \"2T\":\"kon\", \"2B\":\"kon\", \"3\":\"kon\"},\n {\"name\":\"Korean\", \"local\":\"한국어\", \"1\":\"ko\", \"2\":\"kor\", \"2T\":\"kor\", \"2B\":\"kor\", \"3\":\"kor\"},\n {\"name\":\"Kurdish\", \"local\":\"Kurdî\", \"1\":\"ku\", \"2\":\"kur\", \"2T\":\"kur\", \"2B\":\"kur\", \"3\":\"kur\"},\n {\"name\":\"Kwanyama\", \"local\":\"Kuanyama\", \"1\":\"kj\", \"2\":\"kua\", \"2T\":\"kua\", \"2B\":\"kua\", \"3\":\"kua\"},\n {\"name\":\"Latin\", \"local\":\"Latina\", \"1\":\"la\", \"2\":\"lat\", \"2T\":\"lat\", \"2B\":\"lat\", \"3\":\"lat\"},\n {\"name\":\"Luxembourgish\", \"local\":\"Lëtzebuergesch\", \"1\":\"lb\", \"2\":\"ltz\", \"2T\":\"ltz\", \"2B\":\"ltz\", \"3\":\"ltz\"},\n {\"name\":\"Ganda\", \"local\":\"Luganda\", \"1\":\"lg\", \"2\":\"lug\", \"2T\":\"lug\", \"2B\":\"lug\", \"3\":\"lug\"},\n {\"name\":\"Limburgish\", \"local\":\"Limburgs\", \"1\":\"li\", \"2\":\"lim\", \"2T\":\"lim\", \"2B\":\"lim\", \"3\":\"lim\"},\n {\"name\":\"Lingala\", \"local\":\"Lingála\", \"1\":\"ln\", \"2\":\"lin\", \"2T\":\"lin\", \"2B\":\"lin\", \"3\":\"lin\"},\n {\"name\":\"Lao\", \"local\":\"ພາສາລາວ\", \"1\":\"lo\", \"2\":\"lao\", \"2T\":\"lao\", \"2B\":\"lao\", \"3\":\"lao\"},\n {\"name\":\"Lithuanian\", \"local\":\"Lietuvių\", \"1\":\"lt\", \"2\":\"lit\", \"2T\":\"lit\", \"2B\":\"lit\", \"3\":\"lit\"},\n {\"name\":\"Luba-Katanga\", \"local\":\"Tshiluba\", \"1\":\"lu\", \"2\":\"lub\", \"2T\":\"lub\", \"2B\":\"lub\", \"3\":\"lub\"},\n {\"name\":\"Latvian\", \"local\":\"Latviešu\", \"1\":\"lv\", \"2\":\"lav\", \"2T\":\"lav\", \"2B\":\"lav\", \"3\":\"lav\"},\n {\"name\":\"Manx\", \"local\":\"Gaelg\", \"1\":\"gv\", \"2\":\"glv\", \"2T\":\"glv\", \"2B\":\"glv\", \"3\":\"glv\"},\n {\"name\":\"Macedonian\", \"local\":\"Македонски\", \"1\":\"mk\", \"2\":\"mkd\", \"2T\":\"mkd\", \"2B\":\"mac\", \"3\":\"mkd\"},\n {\"name\":\"Malagasy\", \"local\":\"Malagasy\", \"1\":\"mg\", \"2\":\"mlg\", \"2T\":\"mlg\", \"2B\":\"mlg\", \"3\":\"mlg\"},\n {\"name\":\"Malay\", \"local\":\"Bahasa Melayu\", \"1\":\"ms\", \"2\":\"msa\", \"2T\":\"msa\", \"2B\":\"may\", \"3\":\"msa\"},\n {\"name\":\"Malayalam\", \"local\":\"മലയാളം\", \"1\":\"ml\", \"2\":\"mal\", \"2T\":\"mal\", \"2B\":\"mal\", \"3\":\"mal\"},\n {\"name\":\"Maltese\", \"local\":\"Malti\", \"1\":\"mt\", \"2\":\"mlt\", \"2T\":\"mlt\", \"2B\":\"mlt\", \"3\":\"mlt\"},\n {\"name\":\"Māori\", \"local\":\"Māori\", \"1\":\"mi\", \"2\":\"mri\", \"2T\":\"mri\", \"2B\":\"mao\", \"3\":\"mri\"},\n {\"name\":\"Marathi\", \"local\":\"मराठी\", \"1\":\"mr\", \"2\":\"mar\", \"2T\":\"mar\", \"2B\":\"mar\", \"3\":\"mar\"},\n {\"name\":\"Marshallese\", \"local\":\"Kajin M̧ajeļ\", \"1\":\"mh\", \"2\":\"mah\", \"2T\":\"mah\", \"2B\":\"mah\", \"3\":\"mah\"},\n {\"name\":\"Mongolian\", \"local\":\"Монгол\", \"1\":\"mn\", \"2\":\"mon\", \"2T\":\"mon\", \"2B\":\"mon\", \"3\":\"mon\"},\n {\"name\":\"Nauru\", \"local\":\"Dorerin Naoero\", \"1\":\"na\", \"2\":\"nau\", \"2T\":\"nau\", \"2B\":\"nau\", \"3\":\"nau\"},\n {\"name\":\"Navajo\", \"local\":\"Diné Bizaad\", \"1\":\"nv\", \"2\":\"nav\", \"2T\":\"nav\", \"2B\":\"nav\", \"3\":\"nav\"},\n {\"name\":\"Northern Ndebele\", \"local\":\"isiNdebele\", \"1\":\"nd\", \"2\":\"nde\", \"2T\":\"nde\", \"2B\":\"nde\", \"3\":\"nde\"},\n {\"name\":\"Nepali\", \"local\":\"नेपाली\", \"1\":\"ne\", \"2\":\"nep\", \"2T\":\"nep\", \"2B\":\"nep\", \"3\":\"nep\"},\n {\"name\":\"Ndonga\", \"local\":\"Owambo\", \"1\":\"ng\", \"2\":\"ndo\", \"2T\":\"ndo\", \"2B\":\"ndo\", \"3\":\"ndo\"},\n {\"name\":\"Norwegian Bokmål\", \"local\":\"Norsk (Bokmål)\", \"1\":\"nb\", \"2\":\"nob\", \"2T\":\"nob\", \"2B\":\"nob\", \"3\":\"nob\"},\n {\"name\":\"Norwegian Nynorsk\", \"local\":\"Norsk (Nynorsk)\", \"1\":\"nn\", \"2\":\"nno\", \"2T\":\"nno\", \"2B\":\"nno\", \"3\":\"nno\"},\n {\"name\":\"Norwegian\", \"local\":\"Norsk\", \"1\":\"no\", \"2\":\"nor\", \"2T\":\"nor\", \"2B\":\"nor\", \"3\":\"nor\"},\n {\"name\":\"Nuosu\", \"local\":\"ꆈꌠ꒿ Nuosuhxop\", \"1\":\"ii\", \"2\":\"iii\", \"2T\":\"iii\", \"2B\":\"iii\", \"3\":\"iii\"},\n {\"name\":\"Southern Ndebele\", \"local\":\"isiNdebele\", \"1\":\"nr\", \"2\":\"nbl\", \"2T\":\"nbl\", \"2B\":\"nbl\", \"3\":\"nbl\"},\n {\"name\":\"Occitan\", \"local\":\"Occitan\", \"1\":\"oc\", \"2\":\"oci\", \"2T\":\"oci\", \"2B\":\"oci\", \"3\":\"oci\"},\n {\"name\":\"Ojibwe\", \"local\":\"ᐊᓂᔑᓈᐯᒧᐎᓐ\", \"1\":\"oj\", \"2\":\"oji\", \"2T\":\"oji\", \"2B\":\"oji\", \"3\":\"oji\"},\n {\"name\":\"Old Church Slavonic\", \"local\":\"Словѣ́ньскъ\", \"1\":\"cu\", \"2\":\"chu\", \"2T\":\"chu\", \"2B\":\"chu\", \"3\":\"chu\"},\n {\"name\":\"Oromo\", \"local\":\"Afaan Oromoo\", \"1\":\"om\", \"2\":\"orm\", \"2T\":\"orm\", \"2B\":\"orm\", \"3\":\"orm\"},\n {\"name\":\"Oriya\", \"local\":\"ଓଡି଼ଆ\", \"1\":\"or\", \"2\":\"ori\", \"2T\":\"ori\", \"2B\":\"ori\", \"3\":\"ori\"},\n {\"name\":\"Ossetian\", \"local\":\"Ирон æвзаг\", \"1\":\"os\", \"2\":\"oss\", \"2T\":\"oss\", \"2B\":\"oss\", \"3\":\"oss\"},\n {\"name\":\"Panjabi\", \"local\":\"ਪੰਜਾਬੀ\", \"1\":\"pa\", \"2\":\"pan\", \"2T\":\"pan\", \"2B\":\"pan\", \"3\":\"pan\"},\n {\"name\":\"Pāli\", \"local\":\"पाऴि\", \"1\":\"pi\", \"2\":\"pli\", \"2T\":\"pli\", \"2B\":\"pli\", \"3\":\"pli\"},\n {\"name\":\"Persian\", \"local\":\"فارسی\", \"1\":\"fa\", \"2\":\"fas\", \"2T\":\"fas\", \"2B\":\"per\", \"3\":\"fas\"},\n {\"name\":\"Polish\", \"local\":\"Polski\", \"1\":\"pl\", \"2\":\"pol\", \"2T\":\"pol\", \"2B\":\"pol\", \"3\":\"pol\"},\n {\"name\":\"Pashto\", \"local\":\"پښتو\", \"1\":\"ps\", \"2\":\"pus\", \"2T\":\"pus\", \"2B\":\"pus\", \"3\":\"pus\"},\n {\"name\":\"Portuguese\", \"local\":\"Português\", \"1\":\"pt\", \"2\":\"por\", \"2T\":\"por\", \"2B\":\"por\", \"3\":\"por\"},\n {\"name\":\"Quechua\", \"local\":\"Runa Simi\", \"1\":\"qu\", \"2\":\"que\", \"2T\":\"que\", \"2B\":\"que\", \"3\":\"que\"},\n {\"name\":\"Romansh\", \"local\":\"Rumantsch\", \"1\":\"rm\", \"2\":\"roh\", \"2T\":\"roh\", \"2B\":\"roh\", \"3\":\"roh\"},\n {\"name\":\"Kirundi\", \"local\":\"Kirundi\", \"1\":\"rn\", \"2\":\"run\", \"2T\":\"run\", \"2B\":\"run\", \"3\":\"run\"},\n {\"name\":\"Romanian\", \"local\":\"Română\", \"1\":\"ro\", \"2\":\"ron\", \"2T\":\"ron\", \"2B\":\"rum\", \"3\":\"ron\"},\n {\"name\":\"Russian\", \"local\":\"Русский\", \"1\":\"ru\", \"2\":\"rus\", \"2T\":\"rus\", \"2B\":\"rus\", \"3\":\"rus\"},\n {\"name\":\"Sanskrit\", \"local\":\"संस्कृतम्\", \"1\":\"sa\", \"2\":\"san\", \"2T\":\"san\", \"2B\":\"san\", \"3\":\"san\"},\n {\"name\":\"Sardinian\", \"local\":\"Sardu\", \"1\":\"sc\", \"2\":\"srd\", \"2T\":\"srd\", \"2B\":\"srd\", \"3\":\"srd\"},\n {\"name\":\"Sindhi\", \"local\":\"سنڌي‎\", \"1\":\"sd\", \"2\":\"snd\", \"2T\":\"snd\", \"2B\":\"snd\", \"3\":\"snd\"},\n {\"name\":\"Northern Sami\", \"local\":\"Sámegiella\", \"1\":\"se\", \"2\":\"sme\", \"2T\":\"sme\", \"2B\":\"sme\", \"3\":\"sme\"},\n {\"name\":\"Samoan\", \"local\":\"Gagana Sāmoa\", \"1\":\"sm\", \"2\":\"smo\", \"2T\":\"smo\", \"2B\":\"smo\", \"3\":\"smo\"},\n {\"name\":\"Sango\", \"local\":\"Sängö\", \"1\":\"sg\", \"2\":\"sag\", \"2T\":\"sag\", \"2B\":\"sag\", \"3\":\"sag\"},\n {\"name\":\"Serbian\", \"local\":\"Српски\", \"1\":\"sr\", \"2\":\"srp\", \"2T\":\"srp\", \"2B\":\"srp\", \"3\":\"srp\"},\n {\"name\":\"Gaelic\", \"local\":\"Gàidhlig\", \"1\":\"gd\", \"2\":\"gla\", \"2T\":\"gla\", \"2B\":\"gla\", \"3\":\"gla\"},\n {\"name\":\"Shona\", \"local\":\"ChiShona\", \"1\":\"sn\", \"2\":\"sna\", \"2T\":\"sna\", \"2B\":\"sna\", \"3\":\"sna\"},\n {\"name\":\"Sinhala\", \"local\":\"සිංහල\", \"1\":\"si\", \"2\":\"sin\", \"2T\":\"sin\", \"2B\":\"sin\", \"3\":\"sin\"},\n {\"name\":\"Slovak\", \"local\":\"Slovenčina\", \"1\":\"sk\", \"2\":\"slk\", \"2T\":\"slk\", \"2B\":\"slo\", \"3\":\"slk\"},\n {\"name\":\"Slovene\", \"local\":\"Slovenščina\", \"1\":\"sl\", \"2\":\"slv\", \"2T\":\"slv\", \"2B\":\"slv\", \"3\":\"slv\"},\n {\"name\":\"Somali\", \"local\":\"Soomaaliga\", \"1\":\"so\", \"2\":\"som\", \"2T\":\"som\", \"2B\":\"som\", \"3\":\"som\"},\n {\"name\":\"Southern Sotho\", \"local\":\"Sesotho\", \"1\":\"st\", \"2\":\"sot\", \"2T\":\"sot\", \"2B\":\"sot\", \"3\":\"sot\"},\n {\"name\":\"Spanish\", \"local\":\"Español\", \"1\":\"es\", \"2\":\"spa\", \"2T\":\"spa\", \"2B\":\"spa\", \"3\":\"spa\"},\n {\"name\":\"Sundanese\", \"local\":\"Basa Sunda\", \"1\":\"su\", \"2\":\"sun\", \"2T\":\"sun\", \"2B\":\"sun\", \"3\":\"sun\"},\n {\"name\":\"Swahili\", \"local\":\"Kiswahili\", \"1\":\"sw\", \"2\":\"swa\", \"2T\":\"swa\", \"2B\":\"swa\", \"3\":\"swa\"},\n {\"name\":\"Swati\", \"local\":\"SiSwati\", \"1\":\"ss\", \"2\":\"ssw\", \"2T\":\"ssw\", \"2B\":\"ssw\", \"3\":\"ssw\"},\n {\"name\":\"Swedish\", \"local\":\"Svenska\", \"1\":\"sv\", \"2\":\"swe\", \"2T\":\"swe\", \"2B\":\"swe\", \"3\":\"swe\"},\n {\"name\":\"Tamil\", \"local\":\"தமிழ்\", \"1\":\"ta\", \"2\":\"tam\", \"2T\":\"tam\", \"2B\":\"tam\", \"3\":\"tam\"},\n {\"name\":\"Telugu\", \"local\":\"తెలుగు\", \"1\":\"te\", \"2\":\"tel\", \"2T\":\"tel\", \"2B\":\"tel\", \"3\":\"tel\"},\n {\"name\":\"Tajik\", \"local\":\"Тоҷикӣ\", \"1\":\"tg\", \"2\":\"tgk\", \"2T\":\"tgk\", \"2B\":\"tgk\", \"3\":\"tgk\"},\n {\"name\":\"Thai\", \"local\":\"ภาษาไทย\", \"1\":\"th\", \"2\":\"tha\", \"2T\":\"tha\", \"2B\":\"tha\", \"3\":\"tha\"},\n {\"name\":\"Tigrinya\", \"local\":\"ትግርኛ\", \"1\":\"ti\", \"2\":\"tir\", \"2T\":\"tir\", \"2B\":\"tir\", \"3\":\"tir\"},\n {\"name\":\"Tibetan Standard\", \"local\":\"བོད་ཡིག\", \"1\":\"bo\", \"2\":\"bod\", \"2T\":\"bod\", \"2B\":\"tib\", \"3\":\"bod\"},\n {\"name\":\"Turkmen\", \"local\":\"Türkmençe\", \"1\":\"tk\", \"2\":\"tuk\", \"2T\":\"tuk\", \"2B\":\"tuk\", \"3\":\"tuk\"},\n {\"name\":\"Tagalog\", \"local\":\"Tagalog\", \"1\":\"tl\", \"2\":\"tgl\", \"2T\":\"tgl\", \"2B\":\"tgl\", \"3\":\"tgl\"},\n {\"name\":\"Tswana\", \"local\":\"Setswana\", \"1\":\"tn\", \"2\":\"tsn\", \"2T\":\"tsn\", \"2B\":\"tsn\", \"3\":\"tsn\"},\n {\"name\":\"Tonga\", \"local\":\"faka Tonga\", \"1\":\"to\", \"2\":\"ton\", \"2T\":\"ton\", \"2B\":\"ton\", \"3\":\"ton\"},\n {\"name\":\"Turkish\", \"local\":\"Türkçe\", \"1\":\"tr\", \"2\":\"tur\", \"2T\":\"tur\", \"2B\":\"tur\", \"3\":\"tur\"},\n {\"name\":\"Tsonga\", \"local\":\"Xitsonga\", \"1\":\"ts\", \"2\":\"tso\", \"2T\":\"tso\", \"2B\":\"tso\", \"3\":\"tso\"},\n {\"name\":\"Tatar\", \"local\":\"Татарча\", \"1\":\"tt\", \"2\":\"tat\", \"2T\":\"tat\", \"2B\":\"tat\", \"3\":\"tat\"},\n {\"name\":\"Twi\", \"local\":\"Twi\", \"1\":\"tw\", \"2\":\"twi\", \"2T\":\"twi\", \"2B\":\"twi\", \"3\":\"twi\"},\n {\"name\":\"Tahitian\", \"local\":\"Reo Mā’ohi\", \"1\":\"ty\", \"2\":\"tah\", \"2T\":\"tah\", \"2B\":\"tah\", \"3\":\"tah\"},\n {\"name\":\"Uyghur\", \"local\":\"ئۇيغۇرچه\", \"1\":\"ug\", \"2\":\"uig\", \"2T\":\"uig\", \"2B\":\"uig\", \"3\":\"uig\"},\n {\"name\":\"Ukrainian\", \"local\":\"Українська\", \"1\":\"uk\", \"2\":\"ukr\", \"2T\":\"ukr\", \"2B\":\"ukr\", \"3\":\"ukr\"},\n {\"name\":\"Urdu\", \"local\":\"اردو\", \"1\":\"ur\", \"2\":\"urd\", \"2T\":\"urd\", \"2B\":\"urd\", \"3\":\"urd\"},\n {\"name\":\"Uzbek\", \"local\":\"O‘zbek\", \"1\":\"uz\", \"2\":\"uzb\", \"2T\":\"uzb\", \"2B\":\"uzb\", \"3\":\"uzb\"},\n {\"name\":\"Venda\", \"local\":\"Tshivenḓa\", \"1\":\"ve\", \"2\":\"ven\", \"2T\":\"ven\", \"2B\":\"ven\", \"3\":\"ven\"},\n {\"name\":\"Vietnamese\", \"local\":\"Tiếng Việt\", \"1\":\"vi\", \"2\":\"vie\", \"2T\":\"vie\", \"2B\":\"vie\", \"3\":\"vie\"},\n {\"name\":\"Volapük\", \"local\":\"Volapük\", \"1\":\"vo\", \"2\":\"vol\", \"2T\":\"vol\", \"2B\":\"vol\", \"3\":\"vol\"},\n {\"name\":\"Walloon\", \"local\":\"Walon\", \"1\":\"wa\", \"2\":\"wln\", \"2T\":\"wln\", \"2B\":\"wln\", \"3\":\"wln\"},\n {\"name\":\"Welsh\", \"local\":\"Cymraeg\", \"1\":\"cy\", \"2\":\"cym\", \"2T\":\"cym\", \"2B\":\"wel\", \"3\":\"cym\"},\n {\"name\":\"Wolof\", \"local\":\"Wolof\", \"1\":\"wo\", \"2\":\"wol\", \"2T\":\"wol\", \"2B\":\"wol\", \"3\":\"wol\"},\n {\"name\":\"Western Frisian\", \"local\":\"Frysk\", \"1\":\"fy\", \"2\":\"fry\", \"2T\":\"fry\", \"2B\":\"fry\", \"3\":\"fry\"},\n {\"name\":\"Xhosa\", \"local\":\"isiXhosa\", \"1\":\"xh\", \"2\":\"xho\", \"2T\":\"xho\", \"2B\":\"xho\", \"3\":\"xho\"},\n {\"name\":\"Yiddish\", \"local\":\"ייִדיש\", \"1\":\"yi\", \"2\":\"yid\", \"2T\":\"yid\", \"2B\":\"yid\", \"3\":\"yid\"},\n {\"name\":\"Yoruba\", \"local\":\"Yorùbá\", \"1\":\"yo\", \"2\":\"yor\", \"2T\":\"yor\", \"2B\":\"yor\", \"3\":\"yor\"},\n {\"name\":\"Zhuang\", \"local\":\"Cuengh\", \"1\":\"za\", \"2\":\"zha\", \"2T\":\"zha\", \"2B\":\"zha\", \"3\":\"zha\"},\n {\"name\":\"Zulu\", \"local\":\"isiZulu\", \"1\":\"zu\", \"2\":\"zul\", \"2T\":\"zul\", \"2B\":\"zul\", \"3\":\"zul\"}\n];\n","var data = require('./data');\n\nvar langs = {\n all: allLanguages,\n has: hasLanguage,\n codes: getCodes,\n names: getNames,\n where: findBy\n};\n\nmodule.exports = langs;\n\n// allLanguages :: -> Language[]\nfunction allLanguages() {\n return data;\n}\n\n// hasLanguage :: String, String -> Boolean\nfunction hasLanguage(crit, val) {\n return void(0) !== findBy(crit, val);\n}\n\n// getCodes :: String -> String[]\nfunction getCodes(type) {\n if (isValidType(type)) {\n return forAll(data, function getCodesIterator(row) {\n return row[type];\n });\n }\n}\n\n// getNames :: Boolean -> String[]\nfunction getNames(local) {\n return forAll(data, function getNamesIterator(row) {\n return local ? row.local : row.name;\n });\n}\n\n// findBy :: String, String -> Language\nfunction findBy(crit, val) {\n for (var i = 0; i < data.length; i++) {\n if (val === data[i][crit]) {\n return data[i];\n }\n }\n}\n\n// forAll :: Array, Function -> Array\nfunction forAll(arr, fn) {\n var out = [], i;\n for (i = 0; i < arr.length; i++) {\n out.push(fn(arr[i], i));\n }\n\n return out;\n}\n\n// isValidType :: String -> Boolean\nfunction isValidType(type) {\n var types = [1, 2, 3, '1', '2', '2B', '2T', '3'];\n return -1 !== types.indexOf(type);\n}\n","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\ncloneableTags[boolTag] = cloneableTags[dateTag] =\ncloneableTags[float32Tag] = cloneableTags[float64Tag] =\ncloneableTags[int8Tag] = cloneableTags[int16Tag] =\ncloneableTags[int32Tag] = cloneableTags[mapTag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[setTag] =\ncloneableTags[stringTag] = cloneableTags[symbolTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[weakMapTag] = false;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/**\n * Adds the key-value `pair` to `map`.\n *\n * @private\n * @param {Object} map The map to modify.\n * @param {Array} pair The key-value pair to add.\n * @returns {Object} Returns `map`.\n */\nfunction addMapEntry(map, pair) {\n // Don't return `map.set` because it's not chainable in IE 11.\n map.set(pair[0], pair[1]);\n return map;\n}\n\n/**\n * Adds `value` to `set`.\n *\n * @private\n * @param {Object} set The set to modify.\n * @param {*} value The value to add.\n * @returns {Object} Returns `set`.\n */\nfunction addSetEntry(set, value) {\n // Don't return `set.add` because it's not chainable in IE 11.\n set.add(value);\n return set;\n}\n\n/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array ? array.length : 0;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\n/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\n/**\n * A specialized version of `_.reduce` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the first element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\nfunction arrayReduce(array, iteratee, accumulator, initAccum) {\n var index = -1,\n length = array ? array.length : 0;\n\n if (initAccum && length) {\n accumulator = array[++index];\n }\n while (++index < length) {\n accumulator = iteratee(accumulator, array[index], index, array);\n }\n return accumulator;\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n getPrototype = overArg(Object.getPrototypeOf, Object),\n objectCreate = Object.create,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols,\n nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeKeys = overArg(Object.keys, Object);\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView'),\n Map = getNative(root, 'Map'),\n Promise = getNative(root, 'Promise'),\n Set = getNative(root, 'Set'),\n WeakMap = getNative(root, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n return getMapData(this, key)['delete'](key);\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n getMapData(this, key).set(key, value);\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n this.__data__ = new ListCache(entries);\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n return this.__data__['delete'](key);\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var cache = this.__data__;\n if (cache instanceof ListCache) {\n var pairs = cache.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n return this;\n }\n cache = this.__data__ = new MapCache(pairs);\n }\n cache.set(key, value);\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n // Safari 9 makes `arguments.length` enumerable in strict mode.\n var result = (isArray(value) || isArguments(value))\n ? baseTimes(value.length, String)\n : [];\n\n var length = result.length,\n skipIndexes = !!length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (key == 'length' || isIndex(key, length)))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n object[key] = value;\n }\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n}\n\n/**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {boolean} [isFull] Specify a clone including symbols.\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, isDeep, isFull, customizer, key, object, stack) {\n var result;\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return copyArray(value, result);\n }\n } else {\n var tag = getTag(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (isBuffer(value)) {\n return cloneBuffer(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n if (isHostObject(value)) {\n return object ? value : {};\n }\n result = initCloneObject(isFunc ? {} : value);\n if (!isDeep) {\n return copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, baseClone, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new Stack);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n if (!isArr) {\n var props = isFull ? getAllKeys(value) : keys(value);\n }\n arrayEach(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n assignValue(result, key, baseClone(subValue, isDeep, isFull, customizer, key, value, stack));\n });\n return result;\n}\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} prototype The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nfunction baseCreate(proto) {\n return isObject(proto) ? objectCreate(proto) : {};\n}\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\n/**\n * The base implementation of `getTag`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n return objectToString.call(value);\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var result = new buffer.constructor(buffer.length);\n buffer.copy(result);\n return result;\n}\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\n/**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\nfunction cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n}\n\n/**\n * Creates a clone of `map`.\n *\n * @private\n * @param {Object} map The map to clone.\n * @param {Function} cloneFunc The function to clone values.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned map.\n */\nfunction cloneMap(map, isDeep, cloneFunc) {\n var array = isDeep ? cloneFunc(mapToArray(map), true) : mapToArray(map);\n return arrayReduce(array, addMapEntry, new map.constructor);\n}\n\n/**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\nfunction cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n}\n\n/**\n * Creates a clone of `set`.\n *\n * @private\n * @param {Object} set The set to clone.\n * @param {Function} cloneFunc The function to clone values.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned set.\n */\nfunction cloneSet(set, isDeep, cloneFunc) {\n var array = isDeep ? cloneFunc(setToArray(set), true) : setToArray(set);\n return arrayReduce(array, addSetEntry, new set.constructor);\n}\n\n/**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\nfunction cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n}\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\n/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n assignValue(object, key, newValue === undefined ? source[key] : newValue);\n }\n return object;\n}\n\n/**\n * Copies own symbol properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n}\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Creates an array of the own enumerable symbol properties of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = nativeGetSymbols ? overArg(nativeGetSymbols, Object) : stubArray;\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11,\n// for data views in Edge < 14, and promises in Node.js.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = objectToString.call(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : undefined;\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {Function} cloneFunc The function to clone values.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, cloneFunc, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return cloneArrayBuffer(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case dataViewTag:\n return cloneDataView(object, isDeep);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n return cloneTypedArray(object, isDeep);\n\n case mapTag:\n return cloneMap(object, isDeep, cloneFunc);\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n return cloneRegExp(object);\n\n case setTag:\n return cloneSet(object, isDeep, cloneFunc);\n\n case symbolTag:\n return cloneSymbol(object);\n }\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * This method is like `_.clone` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @returns {*} Returns the deep cloned value.\n * @see _.clone\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var deep = _.cloneDeep(objects);\n * console.log(deep[0] === objects[0]);\n * // => false\n */\nfunction cloneDeep(value) {\n return baseClone(value, true, true);\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\n/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = cloneDeep;\n","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n result = wait - timeSinceLastCall;\n\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = debounce;\n","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\n/**\n * A specialized version of `_.includes` for arrays without support for\n * specifying an index to search from.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludes(array, value) {\n var length = array ? array.length : 0;\n return !!length && baseIndexOf(array, value, 0) > -1;\n}\n\n/**\n * This function is like `arrayIncludes` except that it accepts a comparator.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludesWith(array, value, comparator) {\n var index = -1,\n length = array ? array.length : 0;\n\n while (++index < length) {\n if (comparator(value, array[index])) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array ? array.length : 0,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\n/**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseIndexOf(array, value, fromIndex) {\n if (value !== value) {\n return baseFindIndex(array, baseIsNaN, fromIndex);\n }\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.isNaN` without support for number objects.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n */\nfunction baseIsNaN(value) {\n return value !== value;\n}\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/**\n * Checks if a cache value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map'),\n nativeCreate = getNative(Object, 'create');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n return getMapData(this, key)['delete'](key);\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n getMapData(this, key).set(key, value);\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values ? values.length : 0;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\n/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of methods like `_.intersection`, without support\n * for iteratee shorthands, that accepts an array of arrays to inspect.\n *\n * @private\n * @param {Array} arrays The arrays to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of shared values.\n */\nfunction baseIntersection(arrays, iteratee, comparator) {\n var includes = comparator ? arrayIncludesWith : arrayIncludes,\n length = arrays[0].length,\n othLength = arrays.length,\n othIndex = othLength,\n caches = Array(othLength),\n maxLength = Infinity,\n result = [];\n\n while (othIndex--) {\n var array = arrays[othIndex];\n if (othIndex && iteratee) {\n array = arrayMap(array, baseUnary(iteratee));\n }\n maxLength = nativeMin(array.length, maxLength);\n caches[othIndex] = !comparator && (iteratee || (length >= 120 && array.length >= 120))\n ? new SetCache(othIndex && array)\n : undefined;\n }\n array = arrays[0];\n\n var index = -1,\n seen = caches[0];\n\n outer:\n while (++index < length && result.length < maxLength) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (!(seen\n ? cacheHas(seen, computed)\n : includes(result, computed, comparator)\n )) {\n othIndex = othLength;\n while (--othIndex) {\n var cache = caches[othIndex];\n if (!(cache\n ? cacheHas(cache, computed)\n : includes(arrays[othIndex], computed, comparator))\n ) {\n continue outer;\n }\n }\n if (seen) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = array;\n return apply(func, this, otherArgs);\n };\n}\n\n/**\n * Casts `value` to an empty array if it's not an array like object.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Array|Object} Returns the cast array-like object.\n */\nfunction castArrayLikeObject(value) {\n return isArrayLikeObject(value) ? value : [];\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Creates an array of unique values that are included in all given arrays\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons. The order of result values is determined by the\n * order they occur in the first array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of intersecting values.\n * @example\n *\n * _.intersection([2, 1], [2, 3]);\n * // => [2]\n */\nvar intersection = baseRest(function(arrays) {\n var mapped = arrayMap(arrays, castArrayLikeObject);\n return (mapped.length && mapped[0] === arrays[0])\n ? baseIntersection(mapped)\n : [];\n});\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\nmodule.exports = intersection;\n","/**\n * Lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright JS Foundation and other contributors <https://js.foundation/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n asyncTag = '[object AsyncFunction]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n nullTag = '[object Null]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n proxyTag = '[object Proxy]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n undefinedTag = '[object Undefined]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\n/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\n/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice,\n symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols,\n nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeKeys = overArg(Object.keys, Object);\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView'),\n Map = getNative(root, 'Map'),\n Promise = getNative(root, 'Promise'),\n Set = getNative(root, 'Set'),\n WeakMap = getNative(root, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\n/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(array);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\nfunction isEqual(value, other) {\n return baseIsEqual(value, other);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\n/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = isEqual;\n","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n result = wait - timeSinceLastCall;\n\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\n/**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\nfunction throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = throttle;\n","/*! magnet-uri. MIT License. WebTorrent LLC <https://webtorrent.io/opensource> */\nmodule.exports = magnetURIDecode\nmodule.exports.decode = magnetURIDecode\nmodule.exports.encode = magnetURIEncode\n\nconst base32 = require('thirty-two')\nconst bep53Range = require('bep53-range')\n\n/**\n * Parse a magnet URI and return an object of keys/values\n *\n * @param {string} uri\n * @return {Object} parsed uri\n */\nfunction magnetURIDecode (uri) {\n const result = {}\n\n // Support 'magnet:' and 'stream-magnet:' uris\n const data = uri.split('magnet:?')[1]\n\n const params = (data && data.length >= 0)\n ? data.split('&')\n : []\n\n params.forEach(param => {\n const keyval = param.split('=')\n\n // This keyval is invalid, skip it\n if (keyval.length !== 2) return\n\n const key = keyval[0]\n let val = keyval[1]\n\n // Clean up torrent name\n if (key === 'dn') val = decodeURIComponent(val).replace(/\\+/g, ' ')\n\n // Address tracker (tr), exact source (xs), and acceptable source (as) are encoded\n // URIs, so decode them\n if (key === 'tr' || key === 'xs' || key === 'as' || key === 'ws') {\n val = decodeURIComponent(val)\n }\n\n // Return keywords as an array\n if (key === 'kt') val = decodeURIComponent(val).split('+')\n\n // Cast file index (ix) to a number\n if (key === 'ix') val = Number(val)\n\n // bep53\n if (key === 'so') val = bep53Range.parse(decodeURIComponent(val).split(','))\n\n // If there are repeated parameters, return an array of values\n if (result[key]) {\n if (!Array.isArray(result[key])) {\n result[key] = [result[key]]\n }\n\n result[key].push(val)\n } else {\n result[key] = val\n }\n })\n\n // Convenience properties for parity with `parse-torrent-file` module\n let m\n if (result.xt) {\n const xts = Array.isArray(result.xt) ? result.xt : [result.xt]\n xts.forEach(xt => {\n if ((m = xt.match(/^urn:btih:(.{40})/))) {\n result.infoHash = m[1].toLowerCase()\n } else if ((m = xt.match(/^urn:btih:(.{32})/))) {\n const decodedStr = base32.decode(m[1])\n result.infoHash = Buffer.from(decodedStr, 'binary').toString('hex')\n } else if ((m = xt.match(/^urn:btmh:1220(.{64})/))) {\n result.infoHashV2 = m[1].toLowerCase()\n }\n })\n }\n\n if (result.xs) {\n const xss = Array.isArray(result.xs) ? result.xs : [result.xs]\n xss.forEach(xs => {\n if ((m = xs.match(/^urn:btpk:(.{64})/))) {\n result.publicKey = m[1].toLowerCase()\n }\n })\n }\n\n if (result.infoHash) result.infoHashBuffer = Buffer.from(result.infoHash, 'hex')\n if (result.infoHashV2) result.infoHashV2Buffer = Buffer.from(result.infoHashV2, 'hex')\n if (result.publicKey) result.publicKeyBuffer = Buffer.from(result.publicKey, 'hex')\n\n if (result.dn) result.name = result.dn\n if (result.kt) result.keywords = result.kt\n\n result.announce = []\n if (typeof result.tr === 'string' || Array.isArray(result.tr)) {\n result.announce = result.announce.concat(result.tr)\n }\n\n result.urlList = []\n if (typeof result.as === 'string' || Array.isArray(result.as)) {\n result.urlList = result.urlList.concat(result.as)\n }\n if (typeof result.ws === 'string' || Array.isArray(result.ws)) {\n result.urlList = result.urlList.concat(result.ws)\n }\n\n result.peerAddresses = []\n if (typeof result['x.pe'] === 'string' || Array.isArray(result['x.pe'])) {\n result.peerAddresses = result.peerAddresses.concat(result['x.pe'])\n }\n\n // remove duplicates by converting to Set and back\n result.announce = Array.from(new Set(result.announce))\n result.urlList = Array.from(new Set(result.urlList))\n result.peerAddresses = Array.from(new Set(result.peerAddresses))\n\n return result\n}\n\nfunction magnetURIEncode (obj) {\n obj = Object.assign({}, obj) // clone obj, so we can mutate it\n\n // support using convenience names, in addition to spec names\n // (example: `infoHash` for `xt`, `name` for `dn`)\n\n // Deduplicate xt by using a set\n let xts = new Set()\n if (obj.xt && typeof obj.xt === 'string') xts.add(obj.xt)\n if (obj.xt && Array.isArray(obj.xt)) xts = new Set(obj.xt)\n if (obj.infoHashBuffer) xts.add(`urn:btih:${obj.infoHashBuffer.toString('hex')}`)\n if (obj.infoHash) xts.add(`urn:btih:${obj.infoHash}`)\n if (obj.infoHashV2Buffer) xts.add(obj.xt = `urn:btmh:1220${obj.infoHashV2Buffer.toString('hex')}`)\n if (obj.infoHashV2) xts.add(`urn:btmh:1220${obj.infoHashV2}`)\n const xtsDeduped = Array.from(xts)\n if (xtsDeduped.length === 1) obj.xt = xtsDeduped[0]\n if (xtsDeduped.length > 1) obj.xt = xtsDeduped\n\n if (obj.publicKeyBuffer) obj.xs = `urn:btpk:${obj.publicKeyBuffer.toString('hex')}`\n if (obj.publicKey) obj.xs = `urn:btpk:${obj.publicKey}`\n if (obj.name) obj.dn = obj.name\n if (obj.keywords) obj.kt = obj.keywords\n if (obj.announce) obj.tr = obj.announce\n if (obj.urlList) {\n obj.ws = obj.urlList\n delete obj.as\n }\n if (obj.peerAddresses) obj['x.pe'] = obj.peerAddresses\n\n let result = 'magnet:?'\n Object.keys(obj)\n .filter(key => key.length === 2 || key === 'x.pe')\n .forEach((key, i) => {\n const values = Array.isArray(obj[key]) ? obj[key] : [obj[key]]\n values.forEach((val, j) => {\n if ((i > 0 || j > 0) && ((key !== 'kt' && key !== 'so') || j === 0)) result += '&'\n\n if (key === 'dn') val = encodeURIComponent(val).replace(/%20/g, '+')\n if (key === 'tr' || key === 'as' || key === 'ws') {\n val = encodeURIComponent(val)\n }\n // Don't URI encode BEP46 keys\n if (key === 'xs' && !val.startsWith('urn:btpk:')) {\n val = encodeURIComponent(val)\n }\n if (key === 'kt') val = encodeURIComponent(val)\n if (key === 'so') return\n\n if (key === 'kt' && j > 0) result += `+${val}`\n else result += `${key}=${val}`\n })\n if (key === 'so') result += `${key}=${bep53Range.compose(values)}`\n })\n\n return result\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"error-container\":\"error-container-OJnoc\",\"error-image\":\"error-image-qU9Qo\",\"error-message\":\"error-message-kW59Z\",\"buttons-container\":\"buttons-container-tQonN\",\"button-container\":\"button-container-vLSQK\",\"label\":\"label-Up_te\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"fade-in\":\"fade-in-pFkt_\",\"toasts-container\":\"toasts-container-oKECy\",\"tooltip-container\":\"tooltip-container-Qpse8\",\"router\":\"router-_65XU\",\"error-container\":\"error-container-VZXwH\",\"loader-container\":\"loader-container-vwvnb\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"addon-details-container\":\"addon-details-container-ZQqDB\",\"title-container\":\"title-container-fR02m\",\"icon\":\"icon-ScXNu\",\"logo\":\"logo-BujW_\",\"name-container\":\"name-container-Gfhqw\",\"name\":\"name-XNqfo\",\"version\":\"version-w_xoN\",\"section-container\":\"section-container-l3YaI\",\"section-header\":\"section-header-bs8iy\",\"section-label\":\"section-label-rYxQh\",\"transport-url-label\":\"transport-url-label-EW7I5\",\"disclaimer-label\":\"disclaimer-label-IGdd3\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"addon-details-modal-container\":\"addon-details-modal-container-_bwQ0\",\"addon-details-container\":\"addon-details-container-AmNx2\",\"addon-details-message-container\":\"addon-details-message-container-VEzeN\",\"cancel-button\":\"cancel-button-luYIO\",\"cancel-button-label\":\"cancel-button-label-jqVQf\",\"uninstall-button\":\"uninstall-button-X2JXr\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"button-container\":\"button-container-HNufV\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"checkbox-container\":\"checkbox-container-heGq4\",\"toggle\":\"toggle-jrHgS\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"chip\":\"chip-oNDf9\",\"active\":\"active-hnUWc\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"chips\":\"chips-2SaqO\",\"left\":\"left-g78Dv\",\"right\":\"right-xHY1L\",\"center\":\"center-r2lxe\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"color-picker-container\":\"color-picker-container-deFkW\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"color-input-container\":\"color-input-container-jRZsi\",\"transparent-label-container\":\"transparent-label-container-Tx2fI\",\"transparent-label\":\"transparent-label-omLaY\",\"color-picker-container\":\"color-picker-container-C4puR\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"event-modal\":\"event-modal-rnryK\",\"image\":\"image-e8XVK\",\"info-container\":\"info-container-wB_Hp\",\"title-container\":\"title-container-HRHiu\",\"title\":\"title-QWkHL\",\"label\":\"label-BkLRo\",\"addon-container\":\"addon-container-vbdZn\",\"icon\":\"icon-wYzOg\",\"name\":\"name-YiulJ\",\"action-button\":\"action-button-Off_h\",\"button-label\":\"button-label-j6aOz\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"main-nav-bars-container\":\"main-nav-bars-container-fA7pO\",\"horizontal-nav-bar\":\"horizontal-nav-bar-x5sxp\",\"vertical-nav-bar\":\"vertical-nav-bar-JNw53\",\"nav-content-container\":\"nav-content-container-VHwOU\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"meta-item-container\":\"meta-item-container-drt6V\",\"poster-container\":\"poster-container-Fruke\",\"dismiss-icon-layer\":\"dismiss-icon-layer-ujhD1\",\"poster-image-layer\":\"poster-image-layer-CdxrT\",\"play-icon-layer\":\"play-icon-layer-_75Lo\",\"play-icon-outer\":\"play-icon-outer-sAk71\",\"play-icon-background\":\"play-icon-background-yHWuQ\",\"title-bar-container\":\"title-bar-container-DFXJK\",\"menu-label-container\":\"menu-label-container-dlL1I\",\"poster-shape-poster\":\"poster-shape-poster-F_CO5\",\"poster-shape-square\":\"poster-shape-square-UCby3\",\"poster-shape-landscape\":\"poster-shape-landscape-BPmb1\",\"dismiss-icon\":\"dismiss-icon-w57SZ\",\"dismiss-icon-backdrop\":\"dismiss-icon-backdrop-L8zeK\",\"watched-icon-layer\":\"watched-icon-layer-wtjcc\",\"watched-icon\":\"watched-icon-oXlb3\",\"poster-image\":\"poster-image-lt9zC\",\"placeholder-icon\":\"placeholder-icon-uYwsv\",\"play-icon\":\"play-icon-d9_ll\",\"progress-bar-layer\":\"progress-bar-layer-r81Qx\",\"progress-bar\":\"progress-bar-E3QY9\",\"progress-bar-background\":\"progress-bar-background-Q7lT4\",\"new-videos\":\"new-videos-gZv0w\",\"layer\":\"layer-RqXo1\",\"icon\":\"icon-IfJ81\",\"label\":\"label-hSihm\",\"title-label\":\"title-label-dZZ_A\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"action-button-container\":\"action-button-container-TmbQ2\",\"icon-container\":\"icon-container-hvLw4\",\"icon\":\"icon-DG4TM\",\"label-container\":\"label-container-eh2bk\",\"label\":\"label-YhHvD\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"meta-links-container\":\"meta-links-container-wSrm1\",\"label-container\":\"label-container-zWFke\",\"links-container\":\"links-container-o4RUG\",\"link-container\":\"link-container-HUDqV\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"meta-preview-placeholder-container\":\"meta-preview-placeholder-container-AQ4ld\",\"meta-info-container\":\"meta-info-container-pEOFb\",\"logo-container\":\"logo-container-g5eNB\",\"duration-release-info-container\":\"duration-release-info-container-lNaI6\",\"duration-container\":\"duration-container-x2E01\",\"release-info-container\":\"release-info-container-PEmeu\",\"genres-container\":\"genres-container-v3H7A\",\"genres-header-container\":\"genres-header-container-lsPLU\",\"genre-label-container\":\"genre-label-container-z7kU8\",\"action-buttons-container\":\"action-buttons-container-U3sbl\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"meta-preview-container\":\"meta-preview-container-bgBNf\",\"compact\":\"compact-Wbl4Q\",\"meta-info-container\":\"meta-info-container-tlmcb\",\"logo\":\"logo-X9v1A\",\"logo-placeholder\":\"logo-placeholder-kIy0x\",\"runtime-release-info-container\":\"runtime-release-info-container-lXo3K\",\"release-info-label\":\"release-info-label-XmqSY\",\"runtime-label\":\"runtime-label-B29EN\",\"description-container\":\"description-container-eSGft\",\"action-buttons-container\":\"action-buttons-container-qQrnO\",\"action-button\":\"action-button-R44aX\",\"background-image-layer\":\"background-image-layer-GstuA\",\"background-image\":\"background-image-B0d6i\",\"imdb-button-container\":\"imdb-button-container-qCbl7\",\"label\":\"label-_DfnK\",\"icon\":\"icon-MBu8k\",\"label-container\":\"label-container-xChHj\",\"meta-links\":\"meta-links-mTHUo\",\"show-button\":\"show-button-Sh8P3\",\"share-prompt\":\"share-prompt-F8qOC\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"meta-row-placeholder-container\":\"meta-row-placeholder-container-wpHNk\",\"header-container\":\"header-container-GCHdB\",\"title-container\":\"title-container-Bjp93\",\"see-all-container\":\"see-all-container-FnlIf\",\"label\":\"label-dU3S2\",\"icon\":\"icon-FLhtv\",\"meta-items-container\":\"meta-items-container-dbGXx\",\"meta-item\":\"meta-item-IegjY\",\"poster-container\":\"poster-container-RlQMV\",\"title-bar-container\":\"title-bar-container-YJZrl\",\"title-label\":\"title-label-Ka1vs\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"meta-row-container\":\"meta-row-container-ucOuu\",\"header-container\":\"header-container-RherZ\",\"title-container\":\"title-container-SJ0nR\",\"see-all-container\":\"see-all-container-HlJ4b\",\"label\":\"label-isJw8\",\"icon\":\"icon-PO0GH\",\"message-container\":\"message-container-bIcjN\",\"meta-items-container\":\"meta-items-container-TqzFs\",\"meta-item\":\"meta-item-x28TU\",\"poster-shape-poster\":\"poster-shape-poster-B1QR0\",\"poster-shape-square\":\"poster-shape-square-m5r_O\",\"poster-shape-landscape\":\"poster-shape-landscape-_FSOH\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"modal-container\":\"modal-container-jZglc\",\"modal-dialog-container\":\"modal-dialog-container-QgsId\",\"modal-dialog-background\":\"modal-dialog-background-I_IoU\",\"close-button-container\":\"close-button-container-QrgQo\",\"icon\":\"icon-hRjWc\",\"modal-dialog-content\":\"modal-dialog-content-ChXwF\",\"title-container\":\"title-container-wqhp3\",\"body-container\":\"body-container-_WHlr\",\"buttons-container\":\"buttons-container-EJKJF\",\"action-button\":\"action-button-bi6FL\",\"label\":\"label-_ADoX\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"label-container\":\"label-container-ZHk2S\",\"icon\":\"icon-YGvLz\",\"label\":\"label-kz1K0\",\"modal-container\":\"modal-container-BQwj3\",\"menu-container\":\"menu-container-Z1Pou\",\"option-container\":\"option-container-yVj1o\",\"no-options-container\":\"no-options-container-NYx9Z\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"dropdown\":\"dropdown-F4S7Q\",\"open\":\"open-RbKyy\",\"back-button\":\"back-button-sQrkb\",\"back-button-icon\":\"back-button-icon-Inmcg\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"option\":\"option-SHgyE\",\"label\":\"label-gTtLc\",\"icon\":\"icon-lDn76\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"multiselect-menu\":\"multiselect-menu-ilDVi\",\"disabled\":\"disabled-gvjEF\",\"multiselect-button\":\"multiselect-button-Qry4t\",\"icon\":\"icon-spGqV\",\"open\":\"open-QN4il\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"nav-menu-popup-label\":\"nav-menu-popup-label-JmI2m\",\"nav-menu-container\":\"nav-menu-container-VSzwW\",\"user-info-container\":\"user-info-container-BR8yb\",\"avatar-container\":\"avatar-container-jmlBM\",\"user-info-details\":\"user-info-details-vvVBe\",\"email-container\":\"email-container-fvFrL\",\"email-label\":\"email-label-WBX2T\",\"logout-button-container\":\"logout-button-container-hSW_i\",\"logout-label\":\"logout-label-dUa8B\",\"nav-menu-section\":\"nav-menu-section-oMELF\",\"nav-menu-option-container\":\"nav-menu-option-container-gZ1gT\",\"icon\":\"icon-OSgm6\",\"nav-menu-option-label\":\"nav-menu-option-label-XNuY6\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"search-bar-container\":\"search-bar-container-TNPzI\",\"search-input\":\"search-input-aOiJ2\",\"placeholder-label\":\"placeholder-label-Irklk\",\"submit-button-container\":\"submit-button-container-jPP5J\",\"icon\":\"icon-FT4bG\",\"menu-container\":\"menu-container-vU2Gr\",\"label\":\"label-Pk7mj\",\"title\":\"title-CwL12\",\"search-history-clear\":\"search-history-clear-i_wja\",\"items\":\"items-XwajL\",\"item\":\"item-C5WAm\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"horizontal-nav-bar-container\":\"horizontal-nav-bar-container-jFw5Y\",\"logo-container\":\"logo-container-fnFzY\",\"logo\":\"logo-RVSxt\",\"back-button-container\":\"back-button-container-K9AwF\",\"title\":\"title-_UxXH\",\"search-bar\":\"search-bar-NopQ6\",\"buttons-container\":\"buttons-container-fHCke\",\"button-container\":\"button-container-B23qB\",\"icon\":\"icon-wrBcp\",\"menu-button-container\":\"menu-button-container-WWcwa\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"nav-tab-button-container\":\"nav-tab-button-container-r8HUb\",\"label\":\"label-mc9eB\",\"icon\":\"icon-vxKmB\",\"logo\":\"logo-ST06l\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"vertical-nav-bar-container\":\"vertical-nav-bar-container-AsGLM\",\"nav-tab-button\":\"nav-tab-button-noMv6\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"pagination-input-container\":\"pagination-input-container-vXhi6\",\"next-button-container\":\"next-button-container-zNwG6\",\"prev-button-container\":\"prev-button-container-qmJ1m\",\"icon\":\"icon-UoyQ9\",\"label-container\":\"label-container-VwInD\",\"label\":\"label-cJKC1\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"background\":\"background-FNyrF\",\"icon\":\"icon-XXj2q\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"label-container\":\"label-container-iBMb9\",\"menu-container\":\"menu-container-bfvDO\",\"menu-direction-top-left\":\"menu-direction-top-left-KpAQN\",\"menu-direction-bottom-left\":\"menu-direction-bottom-left-Uw06K\",\"menu-direction-top-right\":\"menu-direction-top-right-jOtwq\",\"menu-direction-bottom-right\":\"menu-direction-bottom-right-XZ9Ch\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"search-bar-container\":\"search-bar-container-Vb_fz\",\"search-input\":\"search-input-BWyeG\",\"icon\":\"icon-poa62\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"search-bar-container\":\"search-bar-container-MpNBA\",\"search-input\":\"search-input-ge2wu\",\"icon\":\"icon-Z_Hni\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"share-prompt-container\":\"share-prompt-container-YsJwl\",\"buttons-container\":\"buttons-container-Oc7PG\",\"button-container\":\"button-container-oMOnv\",\"icon\":\"icon-FVvQH\",\"facebook-button\":\"facebook-button-KaNwb\",\"reddit-button\":\"reddit-button-qVXIY\",\"x-button\":\"x-button-qkuNq\",\"url-container\":\"url-container-fMSp4\",\"url-text-input\":\"url-text-input-Yka4x\",\"copy-button\":\"copy-button-ShwCB\",\"label\":\"label-iOGrs\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"active-slider-within\":\"active-slider-within-lQFc1\",\"slider-container\":\"slider-container-aRzVq\",\"layer\":\"layer-FqnD7\",\"track\":\"track-jWhBI\",\"track-before\":\"track-before-FwOXh\",\"track-after\":\"track-after-iD0ee\",\"thumb\":\"thumb-tfDk6\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"warning-container\":\"warning-container-FIITF\",\"warning-statement\":\"warning-statement-I7pdD\",\"warning-button\":\"warning-button-zlx_V\",\"warning-label\":\"warning-label-XJnBc\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"text-input\":\"text-input-jR2Nr\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"toast-item-container\":\"toast-item-container-nG0uk\",\"success\":\"success-eIDTa\",\"icon-container\":\"icon-container-rjAiH\",\"icon\":\"icon-Y4I_O\",\"error\":\"error-quyOd\",\"info\":\"info-KEWq8\",\"info-container\":\"info-container-xD9V6\",\"title-container\":\"title-container-VFReJ\",\"message-container\":\"message-container-znkCj\",\"close-button-container\":\"close-button-container-YtyYE\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tooltip-placeholder\":\"tooltip-placeholder-niioe\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tooltip-item\":\"tooltip-item-gfYXu\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"addon-container\":\"addon-container-lC5KN\",\"logo-container\":\"logo-container-ZcSSC\",\"logo\":\"logo-WrsGF\",\"icon\":\"icon-GxVbY\",\"info-container\":\"info-container-AdMB6\",\"name-container\":\"name-container-qIAg8\",\"version-container\":\"version-container-zdPyN\",\"types-container\":\"types-container-DaOrg\",\"description-container\":\"description-container-v7Jhe\",\"buttons-container\":\"buttons-container-g0xXr\",\"action-buttons-container\":\"action-buttons-container-xMVmz\",\"configure-button-container\":\"configure-button-container-VwVAQ\",\"install-button-container\":\"install-button-container-yfcq5\",\"share-button-container\":\"share-button-container-s3gwP\",\"uninstall-button-container\":\"uninstall-button-container-oV4Yo\",\"label\":\"label-OnWh2\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"addons-container\":\"addons-container-ogGYu\",\"addons-content\":\"addons-content-zhFBl\",\"selectable-inputs-container\":\"selectable-inputs-container-tUul1\",\"add-button-container\":\"add-button-container-SkafT\",\"icon\":\"icon-HsyZS\",\"add-button-label\":\"add-button-label-NN6bu\",\"select-input-container\":\"select-input-container-KqG8N\",\"spacing\":\"spacing-wH1w5\",\"search-bar\":\"search-bar-k7MXd\",\"filter-button\":\"filter-button-lLJ1X\",\"filter-icon\":\"filter-icon-LUDTS\",\"message-container\":\"message-container-GBw0P\",\"addons-list-container\":\"addons-list-container-Ovr2Z\",\"addon\":\"addon-whmdO\",\"filters-modal\":\"filters-modal-w6oWY\",\"add-addon-modal-container\":\"add-addon-modal-container-KR5ny\",\"notice\":\"notice-UQkO1\",\"addon-url-input\":\"addon-url-input-ucetZ\",\"cancel-button\":\"cancel-button-R2AxR\",\"share-modal-container\":\"share-modal-container-DkzPM\",\"title-container\":\"title-container-La49g\",\"logo\":\"logo-PmYDP\",\"name-container\":\"name-container-m_Sz0\",\"name\":\"name-YD0xd\",\"version\":\"version-wuAFB\",\"share-prompt-container\":\"share-prompt-container-vaK4P\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"board-container\":\"board-container-DTN_b\",\"board-content-container\":\"board-content-container-ToQTz\",\"board-content\":\"board-content-nPWv1\",\"board-row\":\"board-row-CoJrZ\",\"board-warning-container\":\"board-warning-container-a4m04\",\"board-row-landscape\":\"board-row-landscape-FRGXx\",\"board-row-poster\":\"board-row-poster-QPQqC\",\"board-row-square\":\"board-row-square-pgaZ3\",\"continue-watching-row\":\"continue-watching-row-ZiNSa\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"discover-container\":\"discover-container-L6OGL\",\"discover-content\":\"discover-content-CRsRg\",\"catalog-container\":\"catalog-container-VNK_T\",\"selectable-inputs-container\":\"selectable-inputs-container-IRz50\",\"select-input\":\"select-input-CHDbe\",\"filter-container\":\"filter-container-BVkqT\",\"filter-icon\":\"filter-icon-zlFnX\",\"missing-addon-warning-container\":\"missing-addon-warning-container-IXGuv\",\"warning-label\":\"warning-label-f19Jg\",\"install-button\":\"install-button-SmJe1\",\"label\":\"label-ToW4S\",\"message-container\":\"message-container-Zv9eF\",\"image\":\"image-txC9E\",\"message-label\":\"message-label-mRyRX\",\"meta-items-container\":\"meta-items-container-n8vNz\",\"meta-item-placeholder\":\"meta-item-placeholder-wxG4I\",\"poster-container\":\"poster-container-Dch4R\",\"title-bar-container\":\"title-bar-container-dtDnk\",\"title-label\":\"title-label-vHdQd\",\"meta-preview-container\":\"meta-preview-container-CoWs5\",\"selectable-inputs-modal\":\"selectable-inputs-modal-ChpOa\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"consent-checkbox-container\":\"consent-checkbox-container-WV60T\",\"label\":\"label-l3LSw\",\"link\":\"link-UppYg\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"password-reset-modal-container\":\"password-reset-modal-container-KzJPQ\",\"credentials-text-input\":\"credentials-text-input-ncrIR\",\"error-message\":\"error-message-DkekN\",\"cancel-button\":\"cancel-button-AneJE\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"intro-container\":\"intro-container-tkNS6\",\"background-container\":\"background-container-aYKCH\",\"heading-container\":\"heading-container-oI70m\",\"logo-container\":\"logo-container-W49kt\",\"logo\":\"logo-WJ36F\",\"slogan-container\":\"slogan-container-UlcYd\",\"title-container\":\"title-container-CbIkM\",\"content-container\":\"content-container-A1Drn\",\"form-button\":\"form-button-vyqqj\",\"icon\":\"icon-L_6b6\",\"label\":\"label-uHD7L\",\"guest-login-button\":\"guest-login-button-D8DWZ\",\"login-form-button\":\"login-form-button-DqJUV\",\"signup-form-button\":\"signup-form-button-UGmSk\",\"submit-button\":\"submit-button-x3L8z\",\"form-container\":\"form-container-HMlEh\",\"credentials-text-input\":\"credentials-text-input-QMCZz\",\"forgot-password-link-container\":\"forgot-password-link-container-ygZqb\",\"forgot-password-link\":\"forgot-password-link-NxNUD\",\"error-message\":\"error-message-cKdzB\",\"options-container\":\"options-container-qxboQ\",\"facebook-button\":\"facebook-button-LZ_kG\",\"loading-modal-container\":\"loading-modal-container-eLyTm\",\"loader-container\":\"loader-container-oe8rU\",\"flash\":\"flash-wUFXY\",\"button\":\"button-ryGtP\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"library-container\":\"library-container-zM_bj\",\"library-content\":\"library-content-PgX4O\",\"selectable-inputs-container\":\"selectable-inputs-container-hR3or\",\"select-input-container\":\"select-input-container-H1VZ1\",\"message-container\":\"message-container-MhY5t\",\"no-user-message-container\":\"no-user-message-container-KMLpE\",\"login-button-container\":\"login-button-container-RoEh7\",\"label\":\"label-QqYmf\",\"image\":\"image-csRHm\",\"message-label\":\"message-label-UExl3\",\"meta-items-container\":\"meta-items-container-IKrND\",\"selectable-inputs-modal\":\"selectable-inputs-modal-rHlo7\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"stream-placeholder-container\":\"stream-placeholder-container-T1nxv\",\"addon-container\":\"addon-container-pm1P0\",\"addon-name\":\"addon-name-zAOKP\",\"info-container\":\"info-container-Z1Dl6\",\"description-container\":\"description-container-ZOMcn\",\"play-icon\":\"play-icon-MXqj3\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"stream-container\":\"stream-container-JPdah\",\"icon\":\"icon-rAZvO\",\"info-container\":\"info-container-TihQo\",\"thumbnail\":\"thumbnail-whoms\",\"placeholder-icon\":\"placeholder-icon-znYz0\",\"addon-name\":\"addon-name-tC8PX\",\"progress-bar-container\":\"progress-bar-container-ADRp_\",\"progress-bar\":\"progress-bar-XrEBL\",\"progress-bar-background\":\"progress-bar-background-HueVQ\",\"description-container\":\"description-container-vW_De\",\"context-menu-content\":\"context-menu-content-Xe_lN\",\"context-menu-option-container\":\"context-menu-option-container-BZGla\",\"context-menu-option-label\":\"context-menu-option-label-EbNNz\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"streams-list-container\":\"streams-list-container-xYMJo\",\"message-container\":\"message-container-f9_L4\",\"image\":\"image-rIyu6\",\"label\":\"label-luvnO\",\"addons-loading-container\":\"addons-loading-container-Vkwp3\",\"addons-loading\":\"addons-loading-zhdQr\",\"addons-loading-bar\":\"addons-loading-bar-MqT59\",\"select-choices-wrapper\":\"select-choices-wrapper-xGzfs\",\"back-button-container\":\"back-button-container-cJ4bk\",\"icon\":\"icon-SoFgF\",\"episode-title\":\"episode-title-dln_c\",\"select-input-container\":\"select-input-container-irGn_\",\"streams-container\":\"streams-container-bbSc4\",\"install-button-container\":\"install-button-container-Q60yJ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"seasons-bar-placeholder-container\":\"seasons-bar-placeholder-container-M81RN\",\"next-season-button\":\"next-season-button-oGnlT\",\"prev-season-button\":\"prev-season-button-TCbOq\",\"icon\":\"icon-UzQjF\",\"label\":\"label-lmBnj\",\"seasons-popup-label-container\":\"seasons-popup-label-container-r2UDB\",\"seasons-popup-label\":\"seasons-popup-label-xBinL\",\"seasons-popup-icon\":\"seasons-popup-icon-p1T5d\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"seasons-bar-container\":\"seasons-bar-container-nOZjG\",\"next-season-button\":\"next-season-button-RrYAq\",\"prev-season-button\":\"prev-season-button-bs1GQ\",\"disabled\":\"disabled-WJy2x\",\"label\":\"label-uJbfD\",\"icon\":\"icon-_ZBEE\",\"seasons-popup-label-container\":\"seasons-popup-label-container-fZcu4\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"video-placeholder-container\":\"video-placeholder-container-uDsav\",\"info-container\":\"info-container-KTKtT\",\"name-container\":\"name-container-Jvesr\",\"released-container\":\"released-container-uoc4E\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"video-container\":\"video-container-UBBpR\",\"thumbnail-container\":\"thumbnail-container-n_jp7\",\"thumbnail\":\"thumbnail-MiS3K\",\"placeholder-icon\":\"placeholder-icon-LzVIO\",\"progress-bar-container\":\"progress-bar-container-gMpiB\",\"progress-bar\":\"progress-bar-Yhl4z\",\"progress-bar-background\":\"progress-bar-background-briMe\",\"info-container\":\"info-container-szYxP\",\"title-container\":\"title-container-EMXpV\",\"flex-row-container\":\"flex-row-container-ExEua\",\"released-container\":\"released-container-zA91y\",\"upcoming-watched-container\":\"upcoming-watched-container-y_ijd\",\"upcoming-container\":\"upcoming-container-ASE1L\",\"watched-container\":\"watched-container-LCso2\",\"flag-icon\":\"flag-icon-IJVCW\",\"flag-label\":\"flag-label-dIdBb\",\"context-menu-content\":\"context-menu-content-MGBhW\",\"context-menu-option-container\":\"context-menu-option-container-VlNjD\",\"context-menu-option-label\":\"context-menu-option-label-hOUnH\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"videos-list-container\":\"videos-list-container-NepX5\",\"message-container\":\"message-container-_hhmQ\",\"image\":\"image-_xAbP\",\"label\":\"label-Ff1_X\",\"notifications-checkbox\":\"notifications-checkbox-E2l5g\",\"seasons-bar\":\"seasons-bar-Ma8vp\",\"search-bar\":\"search-bar-mZHWa\",\"videos-container\":\"videos-container-msX8s\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"metadetails-container\":\"metadetails-container-K_Dqa\",\"nav-bar\":\"nav-bar-MH6Vk\",\"metadetails-content\":\"metadetails-content-Uz5EV\",\"vertical-nav-bar\":\"vertical-nav-bar-B39nq\",\"background-image-layer\":\"background-image-layer-wJa90\",\"background-image\":\"background-image-tSjYu\",\"meta-message-container\":\"meta-message-container-MJZN5\",\"image\":\"image-R1LcJ\",\"message-label\":\"message-label-Uz4_P\",\"meta-preview\":\"meta-preview-ES0h3\",\"spacing\":\"spacing-rgIYg\",\"streams-list\":\"streams-list-Y1lCM\",\"videos-list\":\"videos-list-nE0LJ\",\"meta-extension-modal-container\":\"meta-extension-modal-container-gHjqy\",\"meta-extension-modal-iframe\":\"meta-extension-modal-iframe-GGHlm\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"not-found-container\":\"not-found-container-Q1qsP\",\"nav-bar\":\"nav-bar-Eu3_y\",\"not-found-content\":\"not-found-content-z_Eza\",\"not-found-image\":\"not-found-image-Qab4G\",\"not-found-label\":\"not-found-label-mmwyZ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"buffering-loader-container\":\"buffering-loader-container-P7S0m\",\"buffering-loader\":\"buffering-loader-fMSpb\",\"fadeInOut\":\"fadeInOut-WS5RD\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"seek-bar-container\":\"seek-bar-container-JGGTa\",\"label\":\"label-QFbsS\",\"slider\":\"slider-hBDOf\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"volume-slider\":\"volume-slider-G_xAt\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"control-bar-container\":\"control-bar-container-xsWA7\",\"seek-bar\":\"seek-bar-I7WeY\",\"control-bar-buttons-container\":\"control-bar-buttons-container-SWhkU\",\"control-bar-button\":\"control-bar-button-FQUsj\",\"icon\":\"icon-qy6I6\",\"volume-slider\":\"volume-slider-U9jfo\",\"spacing\":\"spacing-p8NJQ\",\"control-bar-buttons-menu-button\":\"control-bar-buttons-menu-button-h0MWd\",\"control-bar-buttons-menu-container\":\"control-bar-buttons-menu-container-M6L0_\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"error\":\"error-ty_iB\",\"error-label\":\"error-label-lyLDv\",\"error-sub\":\"error-sub-rdwAf\",\"playlist-button\":\"playlist-button-tZTCo\",\"icon\":\"icon-fIGRf\",\"label\":\"label-Z7jSJ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"info-menu-container\":\"info-menu-container-R1QKH\",\"stream\":\"stream-MY2Oy\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"next-video-popup-container\":\"next-video-popup-container-H4wnL\",\"slide-fade-in\":\"slide-fade-in-rk2M8\",\"poster-container\":\"poster-container-tXZjA\",\"poster-image\":\"poster-image-2D6wg\",\"placeholder-icon\":\"placeholder-icon-fu1rK\",\"info-container\":\"info-container-KLOMx\",\"details-container\":\"details-container-bUOTZ\",\"name\":\"name-sIiDL\",\"label\":\"label-zOq_w\",\"title\":\"title-Z5Kgo\",\"description\":\"description-gIXiC\",\"buttons-container\":\"buttons-container-iYrpZ\",\"spacing\":\"spacing-iFwsN\",\"button-container\":\"button-container-i4F7t\",\"play-button\":\"play-button-Dluk6\",\"icon\":\"icon-N3Ewm\",\"dismiss\":\"dismiss-IvEL_\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"option-container\":\"option-container-m_jZq\",\"icon\":\"icon-krR0X\",\"label\":\"label-cmqqu\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"options-menu-container\":\"options-menu-container-qlzLt\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"option\":\"option-_O96j\",\"icon\":\"icon-kqaPF\",\"label\":\"label-FEOiu\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"speed-menu-container\":\"speed-menu-container-ABjzc\",\"title\":\"title-Hu2Dm\",\"options-container\":\"options-container-DNn3D\",\"option\":\"option-GcPlB\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"statistics-menu-container\":\"statistics-menu-container-DhiHn\",\"title\":\"title-NCwWH\",\"label\":\"label-h6nN_\",\"value\":\"value-E8Ftb\",\"stats\":\"stats-Tr37t\",\"stat\":\"stat-zoq5A\",\"info-hash\":\"info-hash-GT1Cv\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"discrete-input-container\":\"discrete-input-container-CMThy\",\"header\":\"header-n0jWL\",\"input-container\":\"input-container-TNuI2\",\"button-container\":\"button-container-ciSB5\",\"icon\":\"icon-JDltr\",\"option-label\":\"option-label-tjeeT\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"subtitles-menu-container\":\"subtitles-menu-container-PxBRZ\",\"languages-container\":\"languages-container-NS7H9\",\"subtitles-settings-container\":\"subtitles-settings-container-LhRGS\",\"variants-container\":\"variants-container-XglzH\",\"languages-header\":\"languages-header-jGNcK\",\"settings-header\":\"settings-header-eaWnm\",\"variants-header\":\"variants-header-TsVSR\",\"languages-list\":\"languages-list-sxIwI\",\"variants-list\":\"variants-list-yZo6B\",\"language-option\":\"language-option-O1Yr9\",\"variant-option\":\"variant-option-t7_LA\",\"language-label\":\"language-label-FjjqA\",\"variant-label\":\"variant-label-opjnP\",\"icon\":\"icon-I1Ruh\",\"no-variants-container\":\"no-variants-container-q6u1Q\",\"no-variants-label\":\"no-variants-label-RmDKZ\",\"spacing\":\"spacing-AWJpt\",\"discrete-input\":\"discrete-input-fXELp\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"video-container\":\"video-container-v9_vA\",\"video\":\"video-tkpQm\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"videos-menu-container\":\"videos-menu-container-ATzKq\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"volume-change-indicator\":\"volume-change-indicator-EWypD\",\"volume-icon\":\"volume-icon-zn9zT\",\"volume-slider\":\"volume-slider-FKN0X\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"player-container\":\"player-container-wIELK\",\"overlayHidden\":\"overlayHidden-gyjIy\",\"control-bar-layer\":\"control-bar-layer-m2jto\",\"menu-layer\":\"menu-layer-HZFG9\",\"nav-bar-layer\":\"nav-bar-layer-r9HT5\",\"layer\":\"layer-qalDW\",\"buffering-layer\":\"buffering-layer-ZZCYp\",\"error-layer\":\"error-layer-RCEZC\",\"background-layer\":\"background-layer-ldsp8\",\"image\":\"image-XxZuJ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"search-container\":\"search-container-uXEFf\",\"search-content\":\"search-content-LX6un\",\"search-row\":\"search-row-EQLaD\",\"search-hints-wrapper\":\"search-hints-wrapper-IjhmE\",\"search-hints-title-container\":\"search-hints-title-container-MXt8W\",\"search-hints-title\":\"search-hints-title-cigX3\",\"search-hints-container\":\"search-hints-container-FHpPM\",\"search-hint-container\":\"search-hint-container-kd8iX\",\"icon\":\"icon-fOZZl\",\"label\":\"label-l6wxz\",\"message-container\":\"message-container-YAunr\",\"image\":\"image-Xuwya\",\"message-label\":\"message-label-K8LPz\",\"search-row-landscape\":\"search-row-landscape-o3Lfv\",\"search-row-poster\":\"search-row-poster-m7CUE\",\"search-row-square\":\"search-row-square-VesJA\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"settings-container\":\"settings-container-b0DCu\",\"settings-content\":\"settings-content-lLXmk\",\"side-menu-container\":\"side-menu-container-NG17D\",\"side-menu-button\":\"side-menu-button-vbkJ1\",\"selected\":\"selected-yhdng\",\"spacing\":\"spacing-fpLUM\",\"version-info-label\":\"version-info-label-uMkm7\",\"sections-container\":\"sections-container-EUKAe\",\"section-container\":\"section-container-twzKQ\",\"section-title\":\"section-title-Nt71Z\",\"section-category-container\":\"section-category-container-EOuS0\",\"label\":\"label-FFamJ\",\"icon\":\"icon-REQkK\",\"option-container\":\"option-container-EGlcv\",\"link-container\":\"link-container-ERYsD\",\"user-info-option-container\":\"user-info-option-container-oRLJc\",\"user-info-content\":\"user-info-content-ez7kZ\",\"avatar-container\":\"avatar-container-YWq9E\",\"email-logout-container\":\"email-logout-container-kYQDM\",\"email-label-container\":\"email-label-container-oVmiO\",\"logout-button-container\":\"logout-button-container-jLrU2\",\"email-label\":\"email-label-Q__sJ\",\"logout-label\":\"logout-label-zo4ES\",\"user-panel-container\":\"user-panel-container-kkrJG\",\"user-panel-label\":\"user-panel-label-beAQl\",\"option-input-container\":\"option-input-container-NPgpT\",\"option-name-container\":\"option-name-container-exGMI\",\"trakt-icon\":\"trakt-icon-_dK95\",\"button-container\":\"button-container-ENMae\",\"multiselect-container\":\"multiselect-container-w0c9l\",\"link-input-container\":\"link-input-container-TCi0w\",\"checkbox-container\":\"checkbox-container-R9LLN\",\"color-input-container\":\"color-input-container-WclA_\",\"info-container\":\"info-container-wfFcS\",\"selectable\":\"selectable-eucrJ\",\"configure-input-container\":\"configure-input-container-PMyIY\",\"configure-button-container\":\"configure-button-container-xGFgg\",\"shortcut-container\":\"shortcut-container-ZSm5O\",\"versions-section-container\":\"versions-section-container-LRCVQ\",\"configure-server-url-modal-container\":\"configure-server-url-modal-container-vSL44\",\"server-url-input\":\"server-url-input-Dfazw\",\"cancel-button\":\"cancel-button-iydew\"};","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/*! https://mths.be/punycode v1.3.2 by @mathias */\n;(function(root) {\n\n\t/** Detect free variables */\n\tvar freeExports = typeof exports == 'object' && exports &&\n\t\t!exports.nodeType && exports;\n\tvar freeModule = typeof module == 'object' && module &&\n\t\t!module.nodeType && module;\n\tvar freeGlobal = typeof global == 'object' && global;\n\tif (\n\t\tfreeGlobal.global === freeGlobal ||\n\t\tfreeGlobal.window === freeGlobal ||\n\t\tfreeGlobal.self === freeGlobal\n\t) {\n\t\troot = freeGlobal;\n\t}\n\n\t/**\n\t * The `punycode` object.\n\t * @name punycode\n\t * @type Object\n\t */\n\tvar punycode,\n\n\t/** Highest positive signed 32-bit float value */\n\tmaxInt = 2147483647, // aka. 0x7FFFFFFF or 2^31-1\n\n\t/** Bootstring parameters */\n\tbase = 36,\n\ttMin = 1,\n\ttMax = 26,\n\tskew = 38,\n\tdamp = 700,\n\tinitialBias = 72,\n\tinitialN = 128, // 0x80\n\tdelimiter = '-', // '\\x2D'\n\n\t/** Regular expressions */\n\tregexPunycode = /^xn--/,\n\tregexNonASCII = /[^\\x20-\\x7E]/, // unprintable ASCII chars + non-ASCII chars\n\tregexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g, // RFC 3490 separators\n\n\t/** Error messages */\n\terrors = {\n\t\t'overflow': 'Overflow: input needs wider integers to process',\n\t\t'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\n\t\t'invalid-input': 'Invalid input'\n\t},\n\n\t/** Convenience shortcuts */\n\tbaseMinusTMin = base - tMin,\n\tfloor = Math.floor,\n\tstringFromCharCode = String.fromCharCode,\n\n\t/** Temporary variable */\n\tkey;\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/**\n\t * A generic error utility function.\n\t * @private\n\t * @param {String} type The error type.\n\t * @returns {Error} Throws a `RangeError` with the applicable error message.\n\t */\n\tfunction error(type) {\n\t\tthrow RangeError(errors[type]);\n\t}\n\n\t/**\n\t * A generic `Array#map` utility function.\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} callback The function that gets called for every array\n\t * item.\n\t * @returns {Array} A new array of values returned by the callback function.\n\t */\n\tfunction map(array, fn) {\n\t\tvar length = array.length;\n\t\tvar result = [];\n\t\twhile (length--) {\n\t\t\tresult[length] = fn(array[length]);\n\t\t}\n\t\treturn result;\n\t}\n\n\t/**\n\t * A simple `Array#map`-like wrapper to work with domain name strings or email\n\t * addresses.\n\t * @private\n\t * @param {String} domain The domain name or email address.\n\t * @param {Function} callback The function that gets called for every\n\t * character.\n\t * @returns {Array} A new string of characters returned by the callback\n\t * function.\n\t */\n\tfunction mapDomain(string, fn) {\n\t\tvar parts = string.split('@');\n\t\tvar result = '';\n\t\tif (parts.length > 1) {\n\t\t\t// In email addresses, only the domain name should be punycoded. Leave\n\t\t\t// the local part (i.e. everything up to `@`) intact.\n\t\t\tresult = parts[0] + '@';\n\t\t\tstring = parts[1];\n\t\t}\n\t\t// Avoid `split(regex)` for IE8 compatibility. See #17.\n\t\tstring = string.replace(regexSeparators, '\\x2E');\n\t\tvar labels = string.split('.');\n\t\tvar encoded = map(labels, fn).join('.');\n\t\treturn result + encoded;\n\t}\n\n\t/**\n\t * Creates an array containing the numeric code points of each Unicode\n\t * character in the string. While JavaScript uses UCS-2 internally,\n\t * this function will convert a pair of surrogate halves (each of which\n\t * UCS-2 exposes as separate characters) into a single code point,\n\t * matching UTF-16.\n\t * @see `punycode.ucs2.encode`\n\t * @see <https://mathiasbynens.be/notes/javascript-encoding>\n\t * @memberOf punycode.ucs2\n\t * @name decode\n\t * @param {String} string The Unicode input string (UCS-2).\n\t * @returns {Array} The new array of code points.\n\t */\n\tfunction ucs2decode(string) {\n\t\tvar output = [],\n\t\t counter = 0,\n\t\t length = string.length,\n\t\t value,\n\t\t extra;\n\t\twhile (counter < length) {\n\t\t\tvalue = string.charCodeAt(counter++);\n\t\t\tif (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n\t\t\t\t// high surrogate, and there is a next character\n\t\t\t\textra = string.charCodeAt(counter++);\n\t\t\t\tif ((extra & 0xFC00) == 0xDC00) { // low surrogate\n\t\t\t\t\toutput.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n\t\t\t\t} else {\n\t\t\t\t\t// unmatched surrogate; only append this code unit, in case the next\n\t\t\t\t\t// code unit is the high surrogate of a surrogate pair\n\t\t\t\t\toutput.push(value);\n\t\t\t\t\tcounter--;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\toutput.push(value);\n\t\t\t}\n\t\t}\n\t\treturn output;\n\t}\n\n\t/**\n\t * Creates a string based on an array of numeric code points.\n\t * @see `punycode.ucs2.decode`\n\t * @memberOf punycode.ucs2\n\t * @name encode\n\t * @param {Array} codePoints The array of numeric code points.\n\t * @returns {String} The new Unicode string (UCS-2).\n\t */\n\tfunction ucs2encode(array) {\n\t\treturn map(array, function(value) {\n\t\t\tvar output = '';\n\t\t\tif (value > 0xFFFF) {\n\t\t\t\tvalue -= 0x10000;\n\t\t\t\toutput += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800);\n\t\t\t\tvalue = 0xDC00 | value & 0x3FF;\n\t\t\t}\n\t\t\toutput += stringFromCharCode(value);\n\t\t\treturn output;\n\t\t}).join('');\n\t}\n\n\t/**\n\t * Converts a basic code point into a digit/integer.\n\t * @see `digitToBasic()`\n\t * @private\n\t * @param {Number} codePoint The basic numeric code point value.\n\t * @returns {Number} The numeric value of a basic code point (for use in\n\t * representing integers) in the range `0` to `base - 1`, or `base` if\n\t * the code point does not represent a value.\n\t */\n\tfunction basicToDigit(codePoint) {\n\t\tif (codePoint - 48 < 10) {\n\t\t\treturn codePoint - 22;\n\t\t}\n\t\tif (codePoint - 65 < 26) {\n\t\t\treturn codePoint - 65;\n\t\t}\n\t\tif (codePoint - 97 < 26) {\n\t\t\treturn codePoint - 97;\n\t\t}\n\t\treturn base;\n\t}\n\n\t/**\n\t * Converts a digit/integer into a basic code point.\n\t * @see `basicToDigit()`\n\t * @private\n\t * @param {Number} digit The numeric value of a basic code point.\n\t * @returns {Number} The basic code point whose value (when used for\n\t * representing integers) is `digit`, which needs to be in the range\n\t * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is\n\t * used; else, the lowercase form is used. The behavior is undefined\n\t * if `flag` is non-zero and `digit` has no uppercase form.\n\t */\n\tfunction digitToBasic(digit, flag) {\n\t\t// 0..25 map to ASCII a..z or A..Z\n\t\t// 26..35 map to ASCII 0..9\n\t\treturn digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n\t}\n\n\t/**\n\t * Bias adaptation function as per section 3.4 of RFC 3492.\n\t * http://tools.ietf.org/html/rfc3492#section-3.4\n\t * @private\n\t */\n\tfunction adapt(delta, numPoints, firstTime) {\n\t\tvar k = 0;\n\t\tdelta = firstTime ? floor(delta / damp) : delta >> 1;\n\t\tdelta += floor(delta / numPoints);\n\t\tfor (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {\n\t\t\tdelta = floor(delta / baseMinusTMin);\n\t\t}\n\t\treturn floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n\t}\n\n\t/**\n\t * Converts a Punycode string of ASCII-only symbols to a string of Unicode\n\t * symbols.\n\t * @memberOf punycode\n\t * @param {String} input The Punycode string of ASCII-only symbols.\n\t * @returns {String} The resulting string of Unicode symbols.\n\t */\n\tfunction decode(input) {\n\t\t// Don't use UCS-2\n\t\tvar output = [],\n\t\t inputLength = input.length,\n\t\t out,\n\t\t i = 0,\n\t\t n = initialN,\n\t\t bias = initialBias,\n\t\t basic,\n\t\t j,\n\t\t index,\n\t\t oldi,\n\t\t w,\n\t\t k,\n\t\t digit,\n\t\t t,\n\t\t /** Cached calculation results */\n\t\t baseMinusT;\n\n\t\t// Handle the basic code points: let `basic` be the number of input code\n\t\t// points before the last delimiter, or `0` if there is none, then copy\n\t\t// the first basic code points to the output.\n\n\t\tbasic = input.lastIndexOf(delimiter);\n\t\tif (basic < 0) {\n\t\t\tbasic = 0;\n\t\t}\n\n\t\tfor (j = 0; j < basic; ++j) {\n\t\t\t// if it's not a basic code point\n\t\t\tif (input.charCodeAt(j) >= 0x80) {\n\t\t\t\terror('not-basic');\n\t\t\t}\n\t\t\toutput.push(input.charCodeAt(j));\n\t\t}\n\n\t\t// Main decoding loop: start just after the last delimiter if any basic code\n\t\t// points were copied; start at the beginning otherwise.\n\n\t\tfor (index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {\n\n\t\t\t// `index` is the index of the next character to be consumed.\n\t\t\t// Decode a generalized variable-length integer into `delta`,\n\t\t\t// which gets added to `i`. The overflow checking is easier\n\t\t\t// if we increase `i` as we go, then subtract off its starting\n\t\t\t// value at the end to obtain `delta`.\n\t\t\tfor (oldi = i, w = 1, k = base; /* no condition */; k += base) {\n\n\t\t\t\tif (index >= inputLength) {\n\t\t\t\t\terror('invalid-input');\n\t\t\t\t}\n\n\t\t\t\tdigit = basicToDigit(input.charCodeAt(index++));\n\n\t\t\t\tif (digit >= base || digit > floor((maxInt - i) / w)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\ti += digit * w;\n\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\n\t\t\t\tif (digit < t) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tbaseMinusT = base - t;\n\t\t\t\tif (w > floor(maxInt / baseMinusT)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tw *= baseMinusT;\n\n\t\t\t}\n\n\t\t\tout = output.length + 1;\n\t\t\tbias = adapt(i - oldi, out, oldi == 0);\n\n\t\t\t// `i` was supposed to wrap around from `out` to `0`,\n\t\t\t// incrementing `n` each time, so we'll fix that now:\n\t\t\tif (floor(i / out) > maxInt - n) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tn += floor(i / out);\n\t\t\ti %= out;\n\n\t\t\t// Insert `n` at position `i` of the output\n\t\t\toutput.splice(i++, 0, n);\n\n\t\t}\n\n\t\treturn ucs2encode(output);\n\t}\n\n\t/**\n\t * Converts a string of Unicode symbols (e.g. a domain name label) to a\n\t * Punycode string of ASCII-only symbols.\n\t * @memberOf punycode\n\t * @param {String} input The string of Unicode symbols.\n\t * @returns {String} The resulting Punycode string of ASCII-only symbols.\n\t */\n\tfunction encode(input) {\n\t\tvar n,\n\t\t delta,\n\t\t handledCPCount,\n\t\t basicLength,\n\t\t bias,\n\t\t j,\n\t\t m,\n\t\t q,\n\t\t k,\n\t\t t,\n\t\t currentValue,\n\t\t output = [],\n\t\t /** `inputLength` will hold the number of code points in `input`. */\n\t\t inputLength,\n\t\t /** Cached calculation results */\n\t\t handledCPCountPlusOne,\n\t\t baseMinusT,\n\t\t qMinusT;\n\n\t\t// Convert the input in UCS-2 to Unicode\n\t\tinput = ucs2decode(input);\n\n\t\t// Cache the length\n\t\tinputLength = input.length;\n\n\t\t// Initialize the state\n\t\tn = initialN;\n\t\tdelta = 0;\n\t\tbias = initialBias;\n\n\t\t// Handle the basic code points\n\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\tcurrentValue = input[j];\n\t\t\tif (currentValue < 0x80) {\n\t\t\t\toutput.push(stringFromCharCode(currentValue));\n\t\t\t}\n\t\t}\n\n\t\thandledCPCount = basicLength = output.length;\n\n\t\t// `handledCPCount` is the number of code points that have been handled;\n\t\t// `basicLength` is the number of basic code points.\n\n\t\t// Finish the basic string - if it is not empty - with a delimiter\n\t\tif (basicLength) {\n\t\t\toutput.push(delimiter);\n\t\t}\n\n\t\t// Main encoding loop:\n\t\twhile (handledCPCount < inputLength) {\n\n\t\t\t// All non-basic code points < n have been handled already. Find the next\n\t\t\t// larger one:\n\t\t\tfor (m = maxInt, j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\t\t\t\tif (currentValue >= n && currentValue < m) {\n\t\t\t\t\tm = currentValue;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Increase `delta` enough to advance the decoder's <n,i> state to <m,0>,\n\t\t\t// but guard against overflow\n\t\t\thandledCPCountPlusOne = handledCPCount + 1;\n\t\t\tif (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tdelta += (m - n) * handledCPCountPlusOne;\n\t\t\tn = m;\n\n\t\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\n\t\t\t\tif (currentValue < n && ++delta > maxInt) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tif (currentValue == n) {\n\t\t\t\t\t// Represent delta as a generalized variable-length integer\n\t\t\t\t\tfor (q = delta, k = base; /* no condition */; k += base) {\n\t\t\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\t\t\t\t\t\tif (q < t) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tqMinusT = q - t;\n\t\t\t\t\t\tbaseMinusT = base - t;\n\t\t\t\t\t\toutput.push(\n\t\t\t\t\t\t\tstringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))\n\t\t\t\t\t\t);\n\t\t\t\t\t\tq = floor(qMinusT / baseMinusT);\n\t\t\t\t\t}\n\n\t\t\t\t\toutput.push(stringFromCharCode(digitToBasic(q, 0)));\n\t\t\t\t\tbias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n\t\t\t\t\tdelta = 0;\n\t\t\t\t\t++handledCPCount;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t++delta;\n\t\t\t++n;\n\n\t\t}\n\t\treturn output.join('');\n\t}\n\n\t/**\n\t * Converts a Punycode string representing a domain name or an email address\n\t * to Unicode. Only the Punycoded parts of the input will be converted, i.e.\n\t * it doesn't matter if you call it on a string that has already been\n\t * converted to Unicode.\n\t * @memberOf punycode\n\t * @param {String} input The Punycoded domain name or email address to\n\t * convert to Unicode.\n\t * @returns {String} The Unicode representation of the given Punycode\n\t * string.\n\t */\n\tfunction toUnicode(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexPunycode.test(string)\n\t\t\t\t? decode(string.slice(4).toLowerCase())\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/**\n\t * Converts a Unicode string representing a domain name or an email address to\n\t * Punycode. Only the non-ASCII parts of the domain name will be converted,\n\t * i.e. it doesn't matter if you call it with a domain that's already in\n\t * ASCII.\n\t * @memberOf punycode\n\t * @param {String} input The domain name or email address to convert, as a\n\t * Unicode string.\n\t * @returns {String} The Punycode representation of the given domain name or\n\t * email address.\n\t */\n\tfunction toASCII(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexNonASCII.test(string)\n\t\t\t\t? 'xn--' + encode(string)\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/** Define the public API */\n\tpunycode = {\n\t\t/**\n\t\t * A string representing the current Punycode.js version number.\n\t\t * @memberOf punycode\n\t\t * @type String\n\t\t */\n\t\t'version': '1.3.2',\n\t\t/**\n\t\t * An object of methods to convert from JavaScript's internal character\n\t\t * representation (UCS-2) to Unicode code points, and back.\n\t\t * @see <https://mathiasbynens.be/notes/javascript-encoding>\n\t\t * @memberOf punycode\n\t\t * @type Object\n\t\t */\n\t\t'ucs2': {\n\t\t\t'decode': ucs2decode,\n\t\t\t'encode': ucs2encode\n\t\t},\n\t\t'decode': decode,\n\t\t'encode': encode,\n\t\t'toASCII': toASCII,\n\t\t'toUnicode': toUnicode\n\t};\n\n\t/** Expose `punycode` */\n\t// Some AMD build optimizers, like r.js, check for specific condition patterns\n\t// like the following:\n\tif (\n\t\ttypeof define == 'function' &&\n\t\ttypeof define.amd == 'object' &&\n\t\tdefine.amd\n\t) {\n\t\tdefine('punycode', function() {\n\t\t\treturn punycode;\n\t\t});\n\t} else if (freeExports && freeModule) {\n\t\tif (module.exports == freeExports) { // in Node.js or RingoJS v0.8.0+\n\t\t\tfreeModule.exports = punycode;\n\t\t} else { // in Narwhal or RingoJS v0.7.0-\n\t\t\tfor (key in punycode) {\n\t\t\t\tpunycode.hasOwnProperty(key) && (freeExports[key] = punycode[key]);\n\t\t\t}\n\t\t}\n\t} else { // in Rhino or a web browser\n\t\troot.punycode = punycode;\n\t}\n\n}(this));\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n// If obj.hasOwnProperty has been overridden, then calling\n// obj.hasOwnProperty(prop) will break.\n// See: https://github.com/joyent/node/issues/1707\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nmodule.exports = function(qs, sep, eq, options) {\n sep = sep || '&';\n eq = eq || '=';\n var obj = {};\n\n if (typeof qs !== 'string' || qs.length === 0) {\n return obj;\n }\n\n var regexp = /\\+/g;\n qs = qs.split(sep);\n\n var maxKeys = 1000;\n if (options && typeof options.maxKeys === 'number') {\n maxKeys = options.maxKeys;\n }\n\n var len = qs.length;\n // maxKeys <= 0 means that we should not limit keys count\n if (maxKeys > 0 && len > maxKeys) {\n len = maxKeys;\n }\n\n for (var i = 0; i < len; ++i) {\n var x = qs[i].replace(regexp, '%20'),\n idx = x.indexOf(eq),\n kstr, vstr, k, v;\n\n if (idx >= 0) {\n kstr = x.substr(0, idx);\n vstr = x.substr(idx + 1);\n } else {\n kstr = x;\n vstr = '';\n }\n\n k = decodeURIComponent(kstr);\n v = decodeURIComponent(vstr);\n\n if (!hasOwnProperty(obj, k)) {\n obj[k] = v;\n } else if (Array.isArray(obj[k])) {\n obj[k].push(v);\n } else {\n obj[k] = [obj[k], v];\n }\n }\n\n return obj;\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar stringifyPrimitive = function(v) {\n switch (typeof v) {\n case 'string':\n return v;\n\n case 'boolean':\n return v ? 'true' : 'false';\n\n case 'number':\n return isFinite(v) ? v : '';\n\n default:\n return '';\n }\n};\n\nmodule.exports = function(obj, sep, eq, name) {\n sep = sep || '&';\n eq = eq || '=';\n if (obj === null) {\n obj = undefined;\n }\n\n if (typeof obj === 'object') {\n return Object.keys(obj).map(function(k) {\n var ks = encodeURIComponent(stringifyPrimitive(k)) + eq;\n if (Array.isArray(obj[k])) {\n return obj[k].map(function(v) {\n return ks + encodeURIComponent(stringifyPrimitive(v));\n }).join(sep);\n } else {\n return ks + encodeURIComponent(stringifyPrimitive(obj[k]));\n }\n }).join(sep);\n\n }\n\n if (!name) return '';\n return encodeURIComponent(stringifyPrimitive(name)) + eq +\n encodeURIComponent(stringifyPrimitive(obj));\n};\n","'use strict';\n\nexports.decode = exports.parse = require('./decode');\nexports.encode = exports.stringify = require('./encode');\n","/**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),ca=require(\"scheduler\");function p(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c<arguments.length;c++)b+=\"&args[]=\"+encodeURIComponent(arguments[c]);return\"Minified React error #\"+a+\"; visit \"+b+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}var da=new Set,ea={};function fa(a,b){ha(a,b);ha(a+\"Capture\",b)}\nfunction ha(a,b){ea[a]=b;for(a=0;a<b.length;a++)da.add(b[a])}\nvar ia=!(\"undefined\"===typeof window||\"undefined\"===typeof window.document||\"undefined\"===typeof window.document.createElement),ja=Object.prototype.hasOwnProperty,ka=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,la=\n{},ma={};function oa(a){if(ja.call(ma,a))return!0;if(ja.call(la,a))return!1;if(ka.test(a))return ma[a]=!0;la[a]=!0;return!1}function pa(a,b,c,d){if(null!==c&&0===c.type)return!1;switch(typeof b){case \"function\":case \"symbol\":return!0;case \"boolean\":if(d)return!1;if(null!==c)return!c.acceptsBooleans;a=a.toLowerCase().slice(0,5);return\"data-\"!==a&&\"aria-\"!==a;default:return!1}}\nfunction qa(a,b,c,d){if(null===b||\"undefined\"===typeof b||pa(a,b,c,d))return!0;if(d)return!1;if(null!==c)switch(c.type){case 3:return!b;case 4:return!1===b;case 5:return isNaN(b);case 6:return isNaN(b)||1>b}return!1}function v(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var z={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){z[a]=new v(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];z[b]=new v(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){z[a]=new v(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){z[a]=new v(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){z[a]=new v(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){z[a]=new v(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){z[a]=new v(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){z[a]=new v(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){z[a]=new v(a,5,!1,a.toLowerCase(),null,!1,!1)});var ra=/[\\-:]([a-z])/g;function sa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(ra,\nsa);z[b]=new v(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!1,!1)});\nz.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction ta(a,b,c,d){var e=z.hasOwnProperty(b)?z[b]:null;if(null!==e?0!==e.type:d||!(2<b.length)||\"o\"!==b[0]&&\"O\"!==b[0]||\"n\"!==b[1]&&\"N\"!==b[1])qa(b,c,e,d)&&(c=null),d||null===e?oa(b)&&(null===c?a.removeAttribute(b):a.setAttribute(b,\"\"+c)):e.mustUseProperty?a[e.propertyName]=null===c?3===e.type?!1:\"\":c:(b=e.attributeName,d=e.attributeNamespace,null===c?a.removeAttribute(b):(e=e.type,c=3===e||4===e&&!0===c?\"\":\"\"+c,d?a.setAttributeNS(d,b,c):a.setAttribute(b,c)))}\nvar ua=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,va=Symbol.for(\"react.element\"),wa=Symbol.for(\"react.portal\"),ya=Symbol.for(\"react.fragment\"),za=Symbol.for(\"react.strict_mode\"),Aa=Symbol.for(\"react.profiler\"),Ba=Symbol.for(\"react.provider\"),Ca=Symbol.for(\"react.context\"),Da=Symbol.for(\"react.forward_ref\"),Ea=Symbol.for(\"react.suspense\"),Fa=Symbol.for(\"react.suspense_list\"),Ga=Symbol.for(\"react.memo\"),Ha=Symbol.for(\"react.lazy\");Symbol.for(\"react.scope\");Symbol.for(\"react.debug_trace_mode\");\nvar Ia=Symbol.for(\"react.offscreen\");Symbol.for(\"react.legacy_hidden\");Symbol.for(\"react.cache\");Symbol.for(\"react.tracing_marker\");var Ja=Symbol.iterator;function Ka(a){if(null===a||\"object\"!==typeof a)return null;a=Ja&&a[Ja]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}var A=Object.assign,La;function Ma(a){if(void 0===La)try{throw Error();}catch(c){var b=c.stack.trim().match(/\\n( *(at )?)/);La=b&&b[1]||\"\"}return\"\\n\"+La+a}var Na=!1;\nfunction Oa(a,b){if(!a||Na)return\"\";Na=!0;var c=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(b)if(b=function(){throw Error();},Object.defineProperty(b.prototype,\"props\",{set:function(){throw Error();}}),\"object\"===typeof Reflect&&Reflect.construct){try{Reflect.construct(b,[])}catch(l){var d=l}Reflect.construct(a,[],b)}else{try{b.call()}catch(l){d=l}a.call(b.prototype)}else{try{throw Error();}catch(l){d=l}a()}}catch(l){if(l&&d&&\"string\"===typeof l.stack){for(var e=l.stack.split(\"\\n\"),\nf=d.stack.split(\"\\n\"),g=e.length-1,h=f.length-1;1<=g&&0<=h&&e[g]!==f[h];)h--;for(;1<=g&&0<=h;g--,h--)if(e[g]!==f[h]){if(1!==g||1!==h){do if(g--,h--,0>h||e[g]!==f[h]){var k=\"\\n\"+e[g].replace(\" at new \",\" at \");a.displayName&&k.includes(\"<anonymous>\")&&(k=k.replace(\"<anonymous>\",a.displayName));return k}while(1<=g&&0<=h)}break}}}finally{Na=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Ma(a):\"\"}\nfunction Pa(a){switch(a.tag){case 5:return Ma(a.type);case 16:return Ma(\"Lazy\");case 13:return Ma(\"Suspense\");case 19:return Ma(\"SuspenseList\");case 0:case 2:case 15:return a=Oa(a.type,!1),a;case 11:return a=Oa(a.type.render,!1),a;case 1:return a=Oa(a.type,!0),a;default:return\"\"}}\nfunction Qa(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ya:return\"Fragment\";case wa:return\"Portal\";case Aa:return\"Profiler\";case za:return\"StrictMode\";case Ea:return\"Suspense\";case Fa:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case Ca:return(a.displayName||\"Context\")+\".Consumer\";case Ba:return(a._context.displayName||\"Context\")+\".Provider\";case Da:var b=a.render;a=a.displayName;a||(a=b.displayName||\nb.name||\"\",a=\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");return a;case Ga:return b=a.displayName||null,null!==b?b:Qa(a.type)||\"Memo\";case Ha:b=a._payload;a=a._init;try{return Qa(a(b))}catch(c){}}return null}\nfunction Ra(a){var b=a.type;switch(a.tag){case 24:return\"Cache\";case 9:return(b.displayName||\"Context\")+\".Consumer\";case 10:return(b._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return a=b.render,a=a.displayName||a.name||\"\",b.displayName||(\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return b;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Qa(b);case 8:return b===za?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";\ncase 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"===typeof b)return b.displayName||b.name||null;if(\"string\"===typeof b)return b}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"string\":case \"undefined\":return a;case \"object\":return a;default:return\"\"}}\nfunction Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return A({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function ab(a,b){b=b.checked;null!=b&&ta(a,\"checked\",b,!1)}\nfunction bb(a,b){ab(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?cb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&cb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction db(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction cb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}var eb=Array.isArray;\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e<c.length;e++)b[\"$\"+c[e]]=!0;for(c=0;c<a.length;c++)e=b.hasOwnProperty(\"$\"+a[c].value),a[c].selected!==e&&(a[c].selected=e),e&&d&&(a[c].defaultSelected=!0)}else{c=\"\"+Sa(c);b=null;for(e=0;e<a.length;e++){if(a[e].value===c){a[e].selected=!0;d&&(a[e].defaultSelected=!0);return}null!==b||a[e].disabled||(b=a[e])}null!==b&&(b.selected=!0)}}\nfunction gb(a,b){if(null!=b.dangerouslySetInnerHTML)throw Error(p(91));return A({},b,{value:void 0,defaultValue:void 0,children:\"\"+a._wrapperState.initialValue})}function hb(a,b){var c=b.value;if(null==c){c=b.children;b=b.defaultValue;if(null!=c){if(null!=b)throw Error(p(92));if(eb(c)){if(1<c.length)throw Error(p(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:Sa(c)}}\nfunction ib(a,b){var c=Sa(b.value),d=Sa(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function jb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}function kb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}\nfunction lb(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?kb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar mb,nb=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(\"http://www.w3.org/2000/svg\"!==a.namespaceURI||\"innerHTML\"in a)a.innerHTML=b;else{mb=mb||document.createElement(\"div\");mb.innerHTML=\"<svg>\"+b.valueOf().toString()+\"</svg>\";for(b=mb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction ob(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar pb={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,\nzoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(pb).forEach(function(a){qb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);pb[b]=pb[a]})});function rb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||pb.hasOwnProperty(a)&&pb[a]?(\"\"+b).trim():b+\"px\"}\nfunction sb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=rb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var tb=A({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction ub(a,b){if(b){if(tb[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(p(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(p(60));if(\"object\"!==typeof b.dangerouslySetInnerHTML||!(\"__html\"in b.dangerouslySetInnerHTML))throw Error(p(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(p(62));}}\nfunction vb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}var wb=null;function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(p(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;a<b.length;a++)Bb(b[a])}}function Gb(a,b){return a(b)}function Hb(){}var Ib=!1;function Jb(a,b,c){if(Ib)return a(b,c);Ib=!0;try{return Gb(a,b,c)}finally{if(Ib=!1,null!==zb||null!==Ab)Hb(),Fb()}}\nfunction Kb(a,b){var c=a.stateNode;if(null===c)return null;var d=Db(c);if(null===d)return null;c=d[b];a:switch(b){case \"onClick\":case \"onClickCapture\":case \"onDoubleClick\":case \"onDoubleClickCapture\":case \"onMouseDown\":case \"onMouseDownCapture\":case \"onMouseMove\":case \"onMouseMoveCapture\":case \"onMouseUp\":case \"onMouseUpCapture\":case \"onMouseEnter\":(d=!d.disabled)||(a=a.type,d=!(\"button\"===a||\"input\"===a||\"select\"===a||\"textarea\"===a));a=!d;break a;default:a=!1}if(a)return null;if(c&&\"function\"!==\ntypeof c)throw Error(p(231,b,typeof c));return c}var Lb=!1;if(ia)try{var Mb={};Object.defineProperty(Mb,\"passive\",{get:function(){Lb=!0}});window.addEventListener(\"test\",Mb,Mb);window.removeEventListener(\"test\",Mb,Mb)}catch(a){Lb=!1}function Nb(a,b,c,d,e,f,g,h,k){var l=Array.prototype.slice.call(arguments,3);try{b.apply(c,l)}catch(m){this.onError(m)}}var Ob=!1,Pb=null,Qb=!1,Rb=null,Sb={onError:function(a){Ob=!0;Pb=a}};function Tb(a,b,c,d,e,f,g,h,k){Ob=!1;Pb=null;Nb.apply(Sb,arguments)}\nfunction Ub(a,b,c,d,e,f,g,h,k){Tb.apply(this,arguments);if(Ob){if(Ob){var l=Pb;Ob=!1;Pb=null}else throw Error(p(198));Qb||(Qb=!0,Rb=l)}}function Vb(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else{a=b;do b=a,0!==(b.flags&4098)&&(c=b.return),a=b.return;while(a)}return 3===b.tag?c:null}function Wb(a){if(13===a.tag){var b=a.memoizedState;null===b&&(a=a.alternate,null!==a&&(b=a.memoizedState));if(null!==b)return b.dehydrated}return null}function Xb(a){if(Vb(a)!==a)throw Error(p(188));}\nfunction Yb(a){var b=a.alternate;if(!b){b=Vb(a);if(null===b)throw Error(p(188));return b!==a?null:a}for(var c=a,d=b;;){var e=c.return;if(null===e)break;var f=e.alternate;if(null===f){d=e.return;if(null!==d){c=d;continue}break}if(e.child===f.child){for(f=e.child;f;){if(f===c)return Xb(e),a;if(f===d)return Xb(e),b;f=f.sibling}throw Error(p(188));}if(c.return!==d.return)c=e,d=f;else{for(var g=!1,h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===\nc){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}if(!g)throw Error(p(189));}}if(c.alternate!==d)throw Error(p(190));}if(3!==c.tag)throw Error(p(188));return c.stateNode.current===c?a:b}function Zb(a){a=Yb(a);return null!==a?$b(a):null}function $b(a){if(5===a.tag||6===a.tag)return a;for(a=a.child;null!==a;){var b=$b(a);if(null!==b)return b;a=a.sibling}return null}\nvar ac=ca.unstable_scheduleCallback,bc=ca.unstable_cancelCallback,cc=ca.unstable_shouldYield,dc=ca.unstable_requestPaint,B=ca.unstable_now,ec=ca.unstable_getCurrentPriorityLevel,fc=ca.unstable_ImmediatePriority,gc=ca.unstable_UserBlockingPriority,hc=ca.unstable_NormalPriority,ic=ca.unstable_LowPriority,jc=ca.unstable_IdlePriority,kc=null,lc=null;function mc(a){if(lc&&\"function\"===typeof lc.onCommitFiberRoot)try{lc.onCommitFiberRoot(kc,a,void 0,128===(a.current.flags&128))}catch(b){}}\nvar oc=Math.clz32?Math.clz32:nc,pc=Math.log,qc=Math.LN2;function nc(a){a>>>=0;return 0===a?32:31-(pc(a)/qc|0)|0}var rc=64,sc=4194304;\nfunction tc(a){switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;\ndefault:return a}}function uc(a,b){var c=a.pendingLanes;if(0===c)return 0;var d=0,e=a.suspendedLanes,f=a.pingedLanes,g=c&268435455;if(0!==g){var h=g&~e;0!==h?d=tc(h):(f&=g,0!==f&&(d=tc(f)))}else g=c&~e,0!==g?d=tc(g):0!==f&&(d=tc(f));if(0===d)return 0;if(0!==b&&b!==d&&0===(b&e)&&(e=d&-d,f=b&-b,e>=f||16===e&&0!==(f&4194240)))return b;0!==(d&4)&&(d|=c&16);b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0<b;)c=31-oc(b),e=1<<c,d|=a[c],b&=~e;return d}\nfunction vc(a,b){switch(a){case 1:case 2:case 4:return b+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return b+5E3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}\nfunction wc(a,b){for(var c=a.suspendedLanes,d=a.pingedLanes,e=a.expirationTimes,f=a.pendingLanes;0<f;){var g=31-oc(f),h=1<<g,k=e[g];if(-1===k){if(0===(h&c)||0!==(h&d))e[g]=vc(h,b)}else k<=b&&(a.expiredLanes|=h);f&=~h}}function xc(a){a=a.pendingLanes&-1073741825;return 0!==a?a:a&1073741824?1073741824:0}function yc(){var a=rc;rc<<=1;0===(rc&4194240)&&(rc=64);return a}function zc(a){for(var b=[],c=0;31>c;c++)b.push(a);return b}\nfunction Ac(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-oc(b);a[b]=c}function Bc(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=b;a.mutableReadLanes&=b;a.entangledLanes&=b;b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;0<c;){var e=31-oc(c),f=1<<e;b[e]=0;d[e]=-1;a[e]=-1;c&=~f}}\nfunction Cc(a,b){var c=a.entangledLanes|=b;for(a=a.entanglements;c;){var d=31-oc(c),e=1<<d;e&b|a[d]&b&&(a[d]|=b);c&=~e}}var C=0;function Dc(a){a&=-a;return 1<a?4<a?0!==(a&268435455)?16:536870912:4:1}var Ec,Fc,Gc,Hc,Ic,Jc=!1,Kc=[],Lc=null,Mc=null,Nc=null,Oc=new Map,Pc=new Map,Qc=[],Rc=\"mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit\".split(\" \");\nfunction Sc(a,b){switch(a){case \"focusin\":case \"focusout\":Lc=null;break;case \"dragenter\":case \"dragleave\":Mc=null;break;case \"mouseover\":case \"mouseout\":Nc=null;break;case \"pointerover\":case \"pointerout\":Oc.delete(b.pointerId);break;case \"gotpointercapture\":case \"lostpointercapture\":Pc.delete(b.pointerId)}}\nfunction Tc(a,b,c,d,e,f){if(null===a||a.nativeEvent!==f)return a={blockedOn:b,domEventName:c,eventSystemFlags:d,nativeEvent:f,targetContainers:[e]},null!==b&&(b=Cb(b),null!==b&&Fc(b)),a;a.eventSystemFlags|=d;b=a.targetContainers;null!==e&&-1===b.indexOf(e)&&b.push(e);return a}\nfunction Uc(a,b,c,d,e){switch(b){case \"focusin\":return Lc=Tc(Lc,a,b,c,d,e),!0;case \"dragenter\":return Mc=Tc(Mc,a,b,c,d,e),!0;case \"mouseover\":return Nc=Tc(Nc,a,b,c,d,e),!0;case \"pointerover\":var f=e.pointerId;Oc.set(f,Tc(Oc.get(f)||null,a,b,c,d,e));return!0;case \"gotpointercapture\":return f=e.pointerId,Pc.set(f,Tc(Pc.get(f)||null,a,b,c,d,e)),!0}return!1}\nfunction Vc(a){var b=Wc(a.target);if(null!==b){var c=Vb(b);if(null!==c)if(b=c.tag,13===b){if(b=Wb(c),null!==b){a.blockedOn=b;Ic(a.priority,function(){Gc(c)});return}}else if(3===b&&c.stateNode.current.memoizedState.isDehydrated){a.blockedOn=3===c.tag?c.stateNode.containerInfo:null;return}}a.blockedOn=null}\nfunction Xc(a){if(null!==a.blockedOn)return!1;for(var b=a.targetContainers;0<b.length;){var c=Yc(a.domEventName,a.eventSystemFlags,b[0],a.nativeEvent);if(null===c){c=a.nativeEvent;var d=new c.constructor(c.type,c);wb=d;c.target.dispatchEvent(d);wb=null}else return b=Cb(c),null!==b&&Fc(b),a.blockedOn=c,!1;b.shift()}return!0}function Zc(a,b,c){Xc(a)&&c.delete(b)}function $c(){Jc=!1;null!==Lc&&Xc(Lc)&&(Lc=null);null!==Mc&&Xc(Mc)&&(Mc=null);null!==Nc&&Xc(Nc)&&(Nc=null);Oc.forEach(Zc);Pc.forEach(Zc)}\nfunction ad(a,b){a.blockedOn===b&&(a.blockedOn=null,Jc||(Jc=!0,ca.unstable_scheduleCallback(ca.unstable_NormalPriority,$c)))}\nfunction bd(a){function b(b){return ad(b,a)}if(0<Kc.length){ad(Kc[0],a);for(var c=1;c<Kc.length;c++){var d=Kc[c];d.blockedOn===a&&(d.blockedOn=null)}}null!==Lc&&ad(Lc,a);null!==Mc&&ad(Mc,a);null!==Nc&&ad(Nc,a);Oc.forEach(b);Pc.forEach(b);for(c=0;c<Qc.length;c++)d=Qc[c],d.blockedOn===a&&(d.blockedOn=null);for(;0<Qc.length&&(c=Qc[0],null===c.blockedOn);)Vc(c),null===c.blockedOn&&Qc.shift()}var cd=ua.ReactCurrentBatchConfig,dd=!0;\nfunction ed(a,b,c,d){var e=C,f=cd.transition;cd.transition=null;try{C=1,fd(a,b,c,d)}finally{C=e,cd.transition=f}}function gd(a,b,c,d){var e=C,f=cd.transition;cd.transition=null;try{C=4,fd(a,b,c,d)}finally{C=e,cd.transition=f}}\nfunction fd(a,b,c,d){if(dd){var e=Yc(a,b,c,d);if(null===e)hd(a,b,d,id,c),Sc(a,d);else if(Uc(e,a,b,c,d))d.stopPropagation();else if(Sc(a,d),b&4&&-1<Rc.indexOf(a)){for(;null!==e;){var f=Cb(e);null!==f&&Ec(f);f=Yc(a,b,c,d);null===f&&hd(a,b,d,id,c);if(f===e)break;e=f}null!==e&&d.stopPropagation()}else hd(a,b,d,null,c)}}var id=null;\nfunction Yc(a,b,c,d){id=null;a=xb(d);a=Wc(a);if(null!==a)if(b=Vb(a),null===b)a=null;else if(c=b.tag,13===c){a=Wb(b);if(null!==a)return a;a=null}else if(3===c){if(b.stateNode.current.memoizedState.isDehydrated)return 3===b.tag?b.stateNode.containerInfo:null;a=null}else b!==a&&(a=null);id=a;return null}\nfunction jd(a){switch(a){case \"cancel\":case \"click\":case \"close\":case \"contextmenu\":case \"copy\":case \"cut\":case \"auxclick\":case \"dblclick\":case \"dragend\":case \"dragstart\":case \"drop\":case \"focusin\":case \"focusout\":case \"input\":case \"invalid\":case \"keydown\":case \"keypress\":case \"keyup\":case \"mousedown\":case \"mouseup\":case \"paste\":case \"pause\":case \"play\":case \"pointercancel\":case \"pointerdown\":case \"pointerup\":case \"ratechange\":case \"reset\":case \"resize\":case \"seeked\":case \"submit\":case \"touchcancel\":case \"touchend\":case \"touchstart\":case \"volumechange\":case \"change\":case \"selectionchange\":case \"textInput\":case \"compositionstart\":case \"compositionend\":case \"compositionupdate\":case \"beforeblur\":case \"afterblur\":case \"beforeinput\":case \"blur\":case \"fullscreenchange\":case \"focus\":case \"hashchange\":case \"popstate\":case \"select\":case \"selectstart\":return 1;case \"drag\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"mousemove\":case \"mouseout\":case \"mouseover\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"scroll\":case \"toggle\":case \"touchmove\":case \"wheel\":case \"mouseenter\":case \"mouseleave\":case \"pointerenter\":case \"pointerleave\":return 4;\ncase \"message\":switch(ec()){case fc:return 1;case gc:return 4;case hc:case ic:return 16;case jc:return 536870912;default:return 16}default:return 16}}var kd=null,ld=null,md=null;function nd(){if(md)return md;var a,b=ld,c=b.length,d,e=\"value\"in kd?kd.value:kd.textContent,f=e.length;for(a=0;a<c&&b[a]===e[a];a++);var g=c-a;for(d=1;d<=g&&b[c-d]===e[f-d];d++);return md=e.slice(a,1<d?1-d:void 0)}\nfunction od(a){var b=a.keyCode;\"charCode\"in a?(a=a.charCode,0===a&&13===b&&(a=13)):a=b;10===a&&(a=13);return 32<=a||13===a?a:0}function pd(){return!0}function qd(){return!1}\nfunction rd(a){function b(b,d,e,f,g){this._reactName=b;this._targetInst=e;this.type=d;this.nativeEvent=f;this.target=g;this.currentTarget=null;for(var c in a)a.hasOwnProperty(c)&&(b=a[c],this[c]=b?b(f):f[c]);this.isDefaultPrevented=(null!=f.defaultPrevented?f.defaultPrevented:!1===f.returnValue)?pd:qd;this.isPropagationStopped=qd;return this}A(b.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():\"unknown\"!==typeof a.returnValue&&\n(a.returnValue=!1),this.isDefaultPrevented=pd)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():\"unknown\"!==typeof a.cancelBubble&&(a.cancelBubble=!0),this.isPropagationStopped=pd)},persist:function(){},isPersistent:pd});return b}\nvar sd={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(a){return a.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},td=rd(sd),ud=A({},sd,{view:0,detail:0}),vd=rd(ud),wd,xd,yd,Ad=A({},ud,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:zd,button:0,buttons:0,relatedTarget:function(a){return void 0===a.relatedTarget?a.fromElement===a.srcElement?a.toElement:a.fromElement:a.relatedTarget},movementX:function(a){if(\"movementX\"in\na)return a.movementX;a!==yd&&(yd&&\"mousemove\"===a.type?(wd=a.screenX-yd.screenX,xd=a.screenY-yd.screenY):xd=wd=0,yd=a);return wd},movementY:function(a){return\"movementY\"in a?a.movementY:xd}}),Bd=rd(Ad),Cd=A({},Ad,{dataTransfer:0}),Dd=rd(Cd),Ed=A({},ud,{relatedTarget:0}),Fd=rd(Ed),Gd=A({},sd,{animationName:0,elapsedTime:0,pseudoElement:0}),Hd=rd(Gd),Id=A({},sd,{clipboardData:function(a){return\"clipboardData\"in a?a.clipboardData:window.clipboardData}}),Jd=rd(Id),Kd=A({},sd,{data:0}),Ld=rd(Kd),Md={Esc:\"Escape\",\nSpacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},Nd={8:\"Backspace\",9:\"Tab\",12:\"Clear\",13:\"Enter\",16:\"Shift\",17:\"Control\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Escape\",32:\" \",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"ArrowLeft\",38:\"ArrowUp\",39:\"ArrowRight\",40:\"ArrowDown\",45:\"Insert\",46:\"Delete\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",116:\"F5\",117:\"F6\",118:\"F7\",\n119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"},Od={Alt:\"altKey\",Control:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};function Pd(a){var b=this.nativeEvent;return b.getModifierState?b.getModifierState(a):(a=Od[a])?!!b[a]:!1}function zd(){return Pd}\nvar Qd=A({},ud,{key:function(a){if(a.key){var b=Md[a.key]||a.key;if(\"Unidentified\"!==b)return b}return\"keypress\"===a.type?(a=od(a),13===a?\"Enter\":String.fromCharCode(a)):\"keydown\"===a.type||\"keyup\"===a.type?Nd[a.keyCode]||\"Unidentified\":\"\"},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:zd,charCode:function(a){return\"keypress\"===a.type?od(a):0},keyCode:function(a){return\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0},which:function(a){return\"keypress\"===\na.type?od(a):\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0}}),Rd=rd(Qd),Sd=A({},Ad,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Td=rd(Sd),Ud=A({},ud,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:zd}),Vd=rd(Ud),Wd=A({},sd,{propertyName:0,elapsedTime:0,pseudoElement:0}),Xd=rd(Wd),Yd=A({},Ad,{deltaX:function(a){return\"deltaX\"in a?a.deltaX:\"wheelDeltaX\"in a?-a.wheelDeltaX:0},\ndeltaY:function(a){return\"deltaY\"in a?a.deltaY:\"wheelDeltaY\"in a?-a.wheelDeltaY:\"wheelDelta\"in a?-a.wheelDelta:0},deltaZ:0,deltaMode:0}),Zd=rd(Yd),$d=[9,13,27,32],ae=ia&&\"CompositionEvent\"in window,be=null;ia&&\"documentMode\"in document&&(be=document.documentMode);var ce=ia&&\"TextEvent\"in window&&!be,de=ia&&(!ae||be&&8<be&&11>=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1<b.char.length)return b.char;if(b.which)return String.fromCharCode(b.which)}return null;case \"compositionend\":return de&&\"ko\"!==b.locale?null:b.data;default:return null}}\nvar le={color:!0,date:!0,datetime:!0,\"datetime-local\":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function me(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return\"input\"===b?!!le[a.type]:\"textarea\"===b?!0:!1}function ne(a,b,c,d){Eb(d);b=oe(b,\"onChange\");0<b.length&&(c=new td(\"onChange\",\"change\",null,c,d),a.push({event:c,listeners:b}))}var pe=null,qe=null;function re(a){se(a,0)}function te(a){var b=ue(a);if(Wa(b))return a}\nfunction ve(a,b){if(\"change\"===a)return b}var we=!1;if(ia){var xe;if(ia){var ye=\"oninput\"in document;if(!ye){var ze=document.createElement(\"div\");ze.setAttribute(\"oninput\",\"return;\");ye=\"function\"===typeof ze.oninput}xe=ye}else xe=!1;we=xe&&(!document.documentMode||9<document.documentMode)}function Ae(){pe&&(pe.detachEvent(\"onpropertychange\",Be),qe=pe=null)}function Be(a){if(\"value\"===a.propertyName&&te(qe)){var b=[];ne(b,qe,a,xb(a));Jb(re,b)}}\nfunction Ce(a,b,c){\"focusin\"===a?(Ae(),pe=b,qe=c,pe.attachEvent(\"onpropertychange\",Be)):\"focusout\"===a&&Ae()}function De(a){if(\"selectionchange\"===a||\"keyup\"===a||\"keydown\"===a)return te(qe)}function Ee(a,b){if(\"click\"===a)return te(b)}function Fe(a,b){if(\"input\"===a||\"change\"===a)return te(b)}function Ge(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var He=\"function\"===typeof Object.is?Object.is:Ge;\nfunction Ie(a,b){if(He(a,b))return!0;if(\"object\"!==typeof a||null===a||\"object\"!==typeof b||null===b)return!1;var c=Object.keys(a),d=Object.keys(b);if(c.length!==d.length)return!1;for(d=0;d<c.length;d++){var e=c[d];if(!ja.call(b,e)||!He(a[e],b[e]))return!1}return!0}function Je(a){for(;a&&a.firstChild;)a=a.firstChild;return a}\nfunction Ke(a,b){var c=Je(a);a=0;for(var d;c;){if(3===c.nodeType){d=a+c.textContent.length;if(a<=b&&d>=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Je(c)}}function Le(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Le(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Me(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Ne(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nfunction Oe(a){var b=Me(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Le(c.ownerDocument.documentElement,c)){if(null!==d&&Ne(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ke(c,f);var g=Ke(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c<b.length;c++)a=b[c],a.element.scrollLeft=a.left,a.element.scrollTop=a.top}}\nvar Pe=ia&&\"documentMode\"in document&&11>=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Ne(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Ie(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0<d.length&&(b=new td(\"onSelect\",\"select\",null,b,c),a.push({event:b,listeners:d}),b.target=Qe)))}\nfunction Ve(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;return c}var We={animationend:Ve(\"Animation\",\"AnimationEnd\"),animationiteration:Ve(\"Animation\",\"AnimationIteration\"),animationstart:Ve(\"Animation\",\"AnimationStart\"),transitionend:Ve(\"Transition\",\"TransitionEnd\")},Xe={},Ye={};\nia&&(Ye=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete We.animationend.animation,delete We.animationiteration.animation,delete We.animationstart.animation),\"TransitionEvent\"in window||delete We.transitionend.transition);function Ze(a){if(Xe[a])return Xe[a];if(!We[a])return a;var b=We[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Ye)return Xe[a]=b[c];return a}var $e=Ze(\"animationend\"),af=Ze(\"animationiteration\"),bf=Ze(\"animationstart\"),cf=Ze(\"transitionend\"),df=new Map,ef=\"abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel\".split(\" \");\nfunction ff(a,b){df.set(a,b);fa(b,[a])}for(var gf=0;gf<ef.length;gf++){var hf=ef[gf],jf=hf.toLowerCase(),kf=hf[0].toUpperCase()+hf.slice(1);ff(jf,\"on\"+kf)}ff($e,\"onAnimationEnd\");ff(af,\"onAnimationIteration\");ff(bf,\"onAnimationStart\");ff(\"dblclick\",\"onDoubleClick\");ff(\"focusin\",\"onFocus\");ff(\"focusout\",\"onBlur\");ff(cf,\"onTransitionEnd\");ha(\"onMouseEnter\",[\"mouseout\",\"mouseover\"]);ha(\"onMouseLeave\",[\"mouseout\",\"mouseover\"]);ha(\"onPointerEnter\",[\"pointerout\",\"pointerover\"]);\nha(\"onPointerLeave\",[\"pointerout\",\"pointerover\"]);fa(\"onChange\",\"change click focusin focusout input keydown keyup selectionchange\".split(\" \"));fa(\"onSelect\",\"focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange\".split(\" \"));fa(\"onBeforeInput\",[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]);fa(\"onCompositionEnd\",\"compositionend focusout keydown keypress keyup mousedown\".split(\" \"));fa(\"onCompositionStart\",\"compositionstart focusout keydown keypress keyup mousedown\".split(\" \"));\nfa(\"onCompositionUpdate\",\"compositionupdate focusout keydown keypress keyup mousedown\".split(\" \"));var lf=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),mf=new Set(\"cancel close invalid load scroll toggle\".split(\" \").concat(lf));\nfunction nf(a,b,c){var d=a.type||\"unknown-event\";a.currentTarget=c;Ub(d,b,void 0,a);a.currentTarget=null}\nfunction se(a,b){b=0!==(b&4);for(var c=0;c<a.length;c++){var d=a[c],e=d.event;d=d.listeners;a:{var f=void 0;if(b)for(var g=d.length-1;0<=g;g--){var h=d[g],k=h.instance,l=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;nf(e,h,l);f=k}else for(g=0;g<d.length;g++){h=d[g];k=h.instance;l=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;nf(e,h,l);f=k}}}if(Qb)throw a=Rb,Qb=!1,Rb=null,a;}\nfunction D(a,b){var c=b[of];void 0===c&&(c=b[of]=new Set);var d=a+\"__bubble\";c.has(d)||(pf(b,a,2,!1),c.add(d))}function qf(a,b,c){var d=0;b&&(d|=4);pf(c,a,d,b)}var rf=\"_reactListening\"+Math.random().toString(36).slice(2);function sf(a){if(!a[rf]){a[rf]=!0;da.forEach(function(b){\"selectionchange\"!==b&&(mf.has(b)||qf(b,!1,a),qf(b,!0,a))});var b=9===a.nodeType?a:a.ownerDocument;null===b||b[rf]||(b[rf]=!0,qf(\"selectionchange\",!1,b))}}\nfunction pf(a,b,c,d){switch(jd(b)){case 1:var e=ed;break;case 4:e=gd;break;default:e=fd}c=e.bind(null,b,c,a);e=void 0;!Lb||\"touchstart\"!==b&&\"touchmove\"!==b&&\"wheel\"!==b||(e=!0);d?void 0!==e?a.addEventListener(b,c,{capture:!0,passive:e}):a.addEventListener(b,c,!0):void 0!==e?a.addEventListener(b,c,{passive:e}):a.addEventListener(b,c,!1)}\nfunction hd(a,b,c,d,e){var f=d;if(0===(b&1)&&0===(b&2)&&null!==d)a:for(;;){if(null===d)return;var g=d.tag;if(3===g||4===g){var h=d.stateNode.containerInfo;if(h===e||8===h.nodeType&&h.parentNode===e)break;if(4===g)for(g=d.return;null!==g;){var k=g.tag;if(3===k||4===k)if(k=g.stateNode.containerInfo,k===e||8===k.nodeType&&k.parentNode===e)return;g=g.return}for(;null!==h;){g=Wc(h);if(null===g)return;k=g.tag;if(5===k||6===k){d=f=g;continue a}h=h.parentNode}}d=d.return}Jb(function(){var d=f,e=xb(c),g=[];\na:{var h=df.get(a);if(void 0!==h){var k=td,n=a;switch(a){case \"keypress\":if(0===od(c))break a;case \"keydown\":case \"keyup\":k=Rd;break;case \"focusin\":n=\"focus\";k=Fd;break;case \"focusout\":n=\"blur\";k=Fd;break;case \"beforeblur\":case \"afterblur\":k=Fd;break;case \"click\":if(2===c.button)break a;case \"auxclick\":case \"dblclick\":case \"mousedown\":case \"mousemove\":case \"mouseup\":case \"mouseout\":case \"mouseover\":case \"contextmenu\":k=Bd;break;case \"drag\":case \"dragend\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"dragstart\":case \"drop\":k=\nDd;break;case \"touchcancel\":case \"touchend\":case \"touchmove\":case \"touchstart\":k=Vd;break;case $e:case af:case bf:k=Hd;break;case cf:k=Xd;break;case \"scroll\":k=vd;break;case \"wheel\":k=Zd;break;case \"copy\":case \"cut\":case \"paste\":k=Jd;break;case \"gotpointercapture\":case \"lostpointercapture\":case \"pointercancel\":case \"pointerdown\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"pointerup\":k=Td}var t=0!==(b&4),J=!t&&\"scroll\"===a,x=t?null!==h?h+\"Capture\":null:h;t=[];for(var w=d,u;null!==\nw;){u=w;var F=u.stateNode;5===u.tag&&null!==F&&(u=F,null!==x&&(F=Kb(w,x),null!=F&&t.push(tf(w,F,u))));if(J)break;w=w.return}0<t.length&&(h=new k(h,n,null,c,e),g.push({event:h,listeners:t}))}}if(0===(b&7)){a:{h=\"mouseover\"===a||\"pointerover\"===a;k=\"mouseout\"===a||\"pointerout\"===a;if(h&&c!==wb&&(n=c.relatedTarget||c.fromElement)&&(Wc(n)||n[uf]))break a;if(k||h){h=e.window===e?e:(h=e.ownerDocument)?h.defaultView||h.parentWindow:window;if(k){if(n=c.relatedTarget||c.toElement,k=d,n=n?Wc(n):null,null!==\nn&&(J=Vb(n),n!==J||5!==n.tag&&6!==n.tag))n=null}else k=null,n=d;if(k!==n){t=Bd;F=\"onMouseLeave\";x=\"onMouseEnter\";w=\"mouse\";if(\"pointerout\"===a||\"pointerover\"===a)t=Td,F=\"onPointerLeave\",x=\"onPointerEnter\",w=\"pointer\";J=null==k?h:ue(k);u=null==n?h:ue(n);h=new t(F,w+\"leave\",k,c,e);h.target=J;h.relatedTarget=u;F=null;Wc(e)===d&&(t=new t(x,w+\"enter\",n,c,e),t.target=u,t.relatedTarget=J,F=t);J=F;if(k&&n)b:{t=k;x=n;w=0;for(u=t;u;u=vf(u))w++;u=0;for(F=x;F;F=vf(F))u++;for(;0<w-u;)t=vf(t),w--;for(;0<u-w;)x=\nvf(x),u--;for(;w--;){if(t===x||null!==x&&t===x.alternate)break b;t=vf(t);x=vf(x)}t=null}else t=null;null!==k&&wf(g,h,k,t,!1);null!==n&&null!==J&&wf(g,J,n,t,!0)}}}a:{h=d?ue(d):window;k=h.nodeName&&h.nodeName.toLowerCase();if(\"select\"===k||\"input\"===k&&\"file\"===h.type)var na=ve;else if(me(h))if(we)na=Fe;else{na=De;var xa=Ce}else(k=h.nodeName)&&\"input\"===k.toLowerCase()&&(\"checkbox\"===h.type||\"radio\"===h.type)&&(na=Ee);if(na&&(na=na(a,d))){ne(g,na,c,e);break a}xa&&xa(a,h,d);\"focusout\"===a&&(xa=h._wrapperState)&&\nxa.controlled&&\"number\"===h.type&&cb(h,\"number\",h.value)}xa=d?ue(d):window;switch(a){case \"focusin\":if(me(xa)||\"true\"===xa.contentEditable)Qe=xa,Re=d,Se=null;break;case \"focusout\":Se=Re=Qe=null;break;case \"mousedown\":Te=!0;break;case \"contextmenu\":case \"mouseup\":case \"dragend\":Te=!1;Ue(g,c,e);break;case \"selectionchange\":if(Pe)break;case \"keydown\":case \"keyup\":Ue(g,c,e)}var $a;if(ae)b:{switch(a){case \"compositionstart\":var ba=\"onCompositionStart\";break b;case \"compositionend\":ba=\"onCompositionEnd\";\nbreak b;case \"compositionupdate\":ba=\"onCompositionUpdate\";break b}ba=void 0}else ie?ge(a,c)&&(ba=\"onCompositionEnd\"):\"keydown\"===a&&229===c.keyCode&&(ba=\"onCompositionStart\");ba&&(de&&\"ko\"!==c.locale&&(ie||\"onCompositionStart\"!==ba?\"onCompositionEnd\"===ba&&ie&&($a=nd()):(kd=e,ld=\"value\"in kd?kd.value:kd.textContent,ie=!0)),xa=oe(d,ba),0<xa.length&&(ba=new Ld(ba,a,null,c,e),g.push({event:ba,listeners:xa}),$a?ba.data=$a:($a=he(c),null!==$a&&(ba.data=$a))));if($a=ce?je(a,c):ke(a,c))d=oe(d,\"onBeforeInput\"),\n0<d.length&&(e=new Ld(\"onBeforeInput\",\"beforeinput\",null,c,e),g.push({event:e,listeners:d}),e.data=$a)}se(g,b)})}function tf(a,b,c){return{instance:a,listener:b,currentTarget:c}}function oe(a,b){for(var c=b+\"Capture\",d=[];null!==a;){var e=a,f=e.stateNode;5===e.tag&&null!==f&&(e=f,f=Kb(a,c),null!=f&&d.unshift(tf(a,f,e)),f=Kb(a,b),null!=f&&d.push(tf(a,f,e)));a=a.return}return d}function vf(a){if(null===a)return null;do a=a.return;while(a&&5!==a.tag);return a?a:null}\nfunction wf(a,b,c,d,e){for(var f=b._reactName,g=[];null!==c&&c!==d;){var h=c,k=h.alternate,l=h.stateNode;if(null!==k&&k===d)break;5===h.tag&&null!==l&&(h=l,e?(k=Kb(c,f),null!=k&&g.unshift(tf(c,k,h))):e||(k=Kb(c,f),null!=k&&g.push(tf(c,k,h))));c=c.return}0!==g.length&&a.push({event:b,listeners:g})}var xf=/\\r\\n?/g,yf=/\\u0000|\\uFFFD/g;function zf(a){return(\"string\"===typeof a?a:\"\"+a).replace(xf,\"\\n\").replace(yf,\"\")}function Af(a,b,c){b=zf(b);if(zf(a)!==b&&c)throw Error(p(425));}function Bf(){}\nvar Cf=null,Df=null;function Ef(a,b){return\"textarea\"===a||\"noscript\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}\nvar Ff=\"function\"===typeof setTimeout?setTimeout:void 0,Gf=\"function\"===typeof clearTimeout?clearTimeout:void 0,Hf=\"function\"===typeof Promise?Promise:void 0,Jf=\"function\"===typeof queueMicrotask?queueMicrotask:\"undefined\"!==typeof Hf?function(a){return Hf.resolve(null).then(a).catch(If)}:Ff;function If(a){setTimeout(function(){throw a;})}\nfunction Kf(a,b){var c=b,d=0;do{var e=c.nextSibling;a.removeChild(c);if(e&&8===e.nodeType)if(c=e.data,\"/$\"===c){if(0===d){a.removeChild(e);bd(b);return}d--}else\"$\"!==c&&\"$?\"!==c&&\"$!\"!==c||d++;c=e}while(c);bd(b)}function Lf(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break;if(8===b){b=a.data;if(\"$\"===b||\"$!\"===b||\"$?\"===b)break;if(\"/$\"===b)return null}}return a}\nfunction Mf(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){var c=a.data;if(\"$\"===c||\"$!\"===c||\"$?\"===c){if(0===b)return a;b--}else\"/$\"===c&&b++}a=a.previousSibling}return null}var Nf=Math.random().toString(36).slice(2),Of=\"__reactFiber$\"+Nf,Pf=\"__reactProps$\"+Nf,uf=\"__reactContainer$\"+Nf,of=\"__reactEvents$\"+Nf,Qf=\"__reactListeners$\"+Nf,Rf=\"__reactHandles$\"+Nf;\nfunction Wc(a){var b=a[Of];if(b)return b;for(var c=a.parentNode;c;){if(b=c[uf]||c[Of]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=Mf(a);null!==a;){if(c=a[Of])return c;a=Mf(a)}return b}a=c;c=a.parentNode}return null}function Cb(a){a=a[Of]||a[uf];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a}function ue(a){if(5===a.tag||6===a.tag)return a.stateNode;throw Error(p(33));}function Db(a){return a[Pf]||null}var Sf=[],Tf=-1;function Uf(a){return{current:a}}\nfunction E(a){0>Tf||(a.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(a,b){Tf++;Sf[Tf]=a.current;a.current=b}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(a,b){var c=a.type.contextTypes;if(!c)return Vf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}\nfunction Zf(a){a=a.childContextTypes;return null!==a&&void 0!==a}function $f(){E(Wf);E(H)}function ag(a,b,c){if(H.current!==Vf)throw Error(p(168));G(H,b);G(Wf,c)}function bg(a,b,c){var d=a.stateNode;b=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(p(108,Ra(a)||\"Unknown\",e));return A({},c,d)}\nfunction cg(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Vf;Xf=H.current;G(H,a);G(Wf,Wf.current);return!0}function dg(a,b,c){var d=a.stateNode;if(!d)throw Error(p(169));c?(a=bg(a,b,Xf),d.__reactInternalMemoizedMergedChildContext=a,E(Wf),E(H),G(H,a)):E(Wf);G(Wf,c)}var eg=null,fg=!1,gg=!1;function hg(a){null===eg?eg=[a]:eg.push(a)}function ig(a){fg=!0;hg(a)}\nfunction jg(){if(!gg&&null!==eg){gg=!0;var a=0,b=C;try{var c=eg;for(C=1;a<c.length;a++){var d=c[a];do d=d(!0);while(null!==d)}eg=null;fg=!1}catch(e){throw null!==eg&&(eg=eg.slice(a+1)),ac(fc,jg),e;}finally{C=b,gg=!1}}return null}var kg=[],lg=0,mg=null,ng=0,og=[],pg=0,qg=null,rg=1,sg=\"\";function tg(a,b){kg[lg++]=ng;kg[lg++]=mg;mg=a;ng=b}\nfunction ug(a,b,c){og[pg++]=rg;og[pg++]=sg;og[pg++]=qg;qg=a;var d=rg;a=sg;var e=32-oc(d)-1;d&=~(1<<e);c+=1;var f=32-oc(b)+e;if(30<f){var g=e-e%5;f=(d&(1<<g)-1).toString(32);d>>=g;e-=g;rg=1<<32-oc(b)+e|c<<e|d;sg=f+a}else rg=1<<f|c<<e|d,sg=a}function vg(a){null!==a.return&&(tg(a,1),ug(a,1,0))}function wg(a){for(;a===mg;)mg=kg[--lg],kg[lg]=null,ng=kg[--lg],kg[lg]=null;for(;a===qg;)qg=og[--pg],og[pg]=null,sg=og[--pg],og[pg]=null,rg=og[--pg],og[pg]=null}var xg=null,yg=null,I=!1,zg=null;\nfunction Ag(a,b){var c=Bg(5,null,null,0);c.elementType=\"DELETED\";c.stateNode=b;c.return=a;b=a.deletions;null===b?(a.deletions=[c],a.flags|=16):b.push(c)}\nfunction Cg(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,xg=a,yg=Lf(b.firstChild),!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,xg=a,yg=null,!0):!1;case 13:return b=8!==b.nodeType?null:b,null!==b?(c=null!==qg?{id:rg,overflow:sg}:null,a.memoizedState={dehydrated:b,treeContext:c,retryLane:1073741824},c=Bg(18,null,null,0),c.stateNode=b,c.return=a,a.child=c,xg=a,yg=\nnull,!0):!1;default:return!1}}function Dg(a){return 0!==(a.mode&1)&&0===(a.flags&128)}function Eg(a){if(I){var b=yg;if(b){var c=b;if(!Cg(a,b)){if(Dg(a))throw Error(p(418));b=Lf(c.nextSibling);var d=xg;b&&Cg(a,b)?Ag(d,c):(a.flags=a.flags&-4097|2,I=!1,xg=a)}}else{if(Dg(a))throw Error(p(418));a.flags=a.flags&-4097|2;I=!1;xg=a}}}function Fg(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;xg=a}\nfunction Gg(a){if(a!==xg)return!1;if(!I)return Fg(a),I=!0,!1;var b;(b=3!==a.tag)&&!(b=5!==a.tag)&&(b=a.type,b=\"head\"!==b&&\"body\"!==b&&!Ef(a.type,a.memoizedProps));if(b&&(b=yg)){if(Dg(a))throw Hg(),Error(p(418));for(;b;)Ag(a,b),b=Lf(b.nextSibling)}Fg(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(p(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if(\"/$\"===c){if(0===b){yg=Lf(a.nextSibling);break a}b--}else\"$\"!==c&&\"$!\"!==c&&\"$?\"!==c||b++}a=a.nextSibling}yg=\nnull}}else yg=xg?Lf(a.stateNode.nextSibling):null;return!0}function Hg(){for(var a=yg;a;)a=Lf(a.nextSibling)}function Ig(){yg=xg=null;I=!1}function Jg(a){null===zg?zg=[a]:zg.push(a)}var Kg=ua.ReactCurrentBatchConfig;function Lg(a,b){if(a&&a.defaultProps){b=A({},b);a=a.defaultProps;for(var c in a)void 0===b[c]&&(b[c]=a[c]);return b}return b}var Mg=Uf(null),Ng=null,Og=null,Pg=null;function Qg(){Pg=Og=Ng=null}function Rg(a){var b=Mg.current;E(Mg);a._currentValue=b}\nfunction Sg(a,b,c){for(;null!==a;){var d=a.alternate;(a.childLanes&b)!==b?(a.childLanes|=b,null!==d&&(d.childLanes|=b)):null!==d&&(d.childLanes&b)!==b&&(d.childLanes|=b);if(a===c)break;a=a.return}}function Tg(a,b){Ng=a;Pg=Og=null;a=a.dependencies;null!==a&&null!==a.firstContext&&(0!==(a.lanes&b)&&(Ug=!0),a.firstContext=null)}\nfunction Vg(a){var b=a._currentValue;if(Pg!==a)if(a={context:a,memoizedValue:b,next:null},null===Og){if(null===Ng)throw Error(p(308));Og=a;Ng.dependencies={lanes:0,firstContext:a}}else Og=Og.next=a;return b}var Wg=null;function Xg(a){null===Wg?Wg=[a]:Wg.push(a)}function Yg(a,b,c,d){var e=b.interleaved;null===e?(c.next=c,Xg(b)):(c.next=e.next,e.next=c);b.interleaved=c;return Zg(a,d)}\nfunction Zg(a,b){a.lanes|=b;var c=a.alternate;null!==c&&(c.lanes|=b);c=a;for(a=a.return;null!==a;)a.childLanes|=b,c=a.alternate,null!==c&&(c.childLanes|=b),c=a,a=a.return;return 3===c.tag?c.stateNode:null}var $g=!1;function ah(a){a.updateQueue={baseState:a.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}\nfunction bh(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,firstBaseUpdate:a.firstBaseUpdate,lastBaseUpdate:a.lastBaseUpdate,shared:a.shared,effects:a.effects})}function ch(a,b){return{eventTime:a,lane:b,tag:0,payload:null,callback:null,next:null}}\nfunction dh(a,b,c){var d=a.updateQueue;if(null===d)return null;d=d.shared;if(0!==(K&2)){var e=d.pending;null===e?b.next=b:(b.next=e.next,e.next=b);d.pending=b;return Zg(a,c)}e=d.interleaved;null===e?(b.next=b,Xg(d)):(b.next=e.next,e.next=b);d.interleaved=b;return Zg(a,c)}function eh(a,b,c){b=b.updateQueue;if(null!==b&&(b=b.shared,0!==(c&4194240))){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nfunction fh(a,b){var c=a.updateQueue,d=a.alternate;if(null!==d&&(d=d.updateQueue,c===d)){var e=null,f=null;c=c.firstBaseUpdate;if(null!==c){do{var g={eventTime:c.eventTime,lane:c.lane,tag:c.tag,payload:c.payload,callback:c.callback,next:null};null===f?e=f=g:f=f.next=g;c=c.next}while(null!==c);null===f?e=f=b:f=f.next=b}else e=f=b;c={baseState:d.baseState,firstBaseUpdate:e,lastBaseUpdate:f,shared:d.shared,effects:d.effects};a.updateQueue=c;return}a=c.lastBaseUpdate;null===a?c.firstBaseUpdate=b:a.next=\nb;c.lastBaseUpdate=b}\nfunction gh(a,b,c,d){var e=a.updateQueue;$g=!1;var f=e.firstBaseUpdate,g=e.lastBaseUpdate,h=e.shared.pending;if(null!==h){e.shared.pending=null;var k=h,l=k.next;k.next=null;null===g?f=l:g.next=l;g=k;var m=a.alternate;null!==m&&(m=m.updateQueue,h=m.lastBaseUpdate,h!==g&&(null===h?m.firstBaseUpdate=l:h.next=l,m.lastBaseUpdate=k))}if(null!==f){var q=e.baseState;g=0;m=l=k=null;h=f;do{var r=h.lane,y=h.eventTime;if((d&r)===r){null!==m&&(m=m.next={eventTime:y,lane:0,tag:h.tag,payload:h.payload,callback:h.callback,\nnext:null});a:{var n=a,t=h;r=b;y=c;switch(t.tag){case 1:n=t.payload;if(\"function\"===typeof n){q=n.call(y,q,r);break a}q=n;break a;case 3:n.flags=n.flags&-65537|128;case 0:n=t.payload;r=\"function\"===typeof n?n.call(y,q,r):n;if(null===r||void 0===r)break a;q=A({},q,r);break a;case 2:$g=!0}}null!==h.callback&&0!==h.lane&&(a.flags|=64,r=e.effects,null===r?e.effects=[h]:r.push(h))}else y={eventTime:y,lane:r,tag:h.tag,payload:h.payload,callback:h.callback,next:null},null===m?(l=m=y,k=q):m=m.next=y,g|=r;\nh=h.next;if(null===h)if(h=e.shared.pending,null===h)break;else r=h,h=r.next,r.next=null,e.lastBaseUpdate=r,e.shared.pending=null}while(1);null===m&&(k=q);e.baseState=k;e.firstBaseUpdate=l;e.lastBaseUpdate=m;b=e.shared.interleaved;if(null!==b){e=b;do g|=e.lane,e=e.next;while(e!==b)}else null===f&&(e.shared.lanes=0);hh|=g;a.lanes=g;a.memoizedState=q}}\nfunction ih(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;b<a.length;b++){var d=a[b],e=d.callback;if(null!==e){d.callback=null;d=c;if(\"function\"!==typeof e)throw Error(p(191,e));e.call(d)}}}var jh=(new aa.Component).refs;function kh(a,b,c,d){b=a.memoizedState;c=c(d,b);c=null===c||void 0===c?b:A({},b,c);a.memoizedState=c;0===a.lanes&&(a.updateQueue.baseState=c)}\nvar nh={isMounted:function(a){return(a=a._reactInternals)?Vb(a)===a:!1},enqueueSetState:function(a,b,c){a=a._reactInternals;var d=L(),e=lh(a),f=ch(d,e);f.payload=b;void 0!==c&&null!==c&&(f.callback=c);b=dh(a,f,e);null!==b&&(mh(b,a,e,d),eh(b,a,e))},enqueueReplaceState:function(a,b,c){a=a._reactInternals;var d=L(),e=lh(a),f=ch(d,e);f.tag=1;f.payload=b;void 0!==c&&null!==c&&(f.callback=c);b=dh(a,f,e);null!==b&&(mh(b,a,e,d),eh(b,a,e))},enqueueForceUpdate:function(a,b){a=a._reactInternals;var c=L(),d=\nlh(a),e=ch(c,d);e.tag=2;void 0!==b&&null!==b&&(e.callback=b);b=dh(a,e,d);null!==b&&(mh(b,a,d,c),eh(b,a,d))}};function oh(a,b,c,d,e,f,g){a=a.stateNode;return\"function\"===typeof a.shouldComponentUpdate?a.shouldComponentUpdate(d,f,g):b.prototype&&b.prototype.isPureReactComponent?!Ie(c,d)||!Ie(e,f):!0}\nfunction ph(a,b,c){var d=!1,e=Vf;var f=b.contextType;\"object\"===typeof f&&null!==f?f=Vg(f):(e=Zf(b)?Xf:H.current,d=b.contextTypes,f=(d=null!==d&&void 0!==d)?Yf(a,e):Vf);b=new b(c,f);a.memoizedState=null!==b.state&&void 0!==b.state?b.state:null;b.updater=nh;a.stateNode=b;b._reactInternals=a;d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=e,a.__reactInternalMemoizedMaskedChildContext=f);return b}\nfunction qh(a,b,c,d){a=b.state;\"function\"===typeof b.componentWillReceiveProps&&b.componentWillReceiveProps(c,d);\"function\"===typeof b.UNSAFE_componentWillReceiveProps&&b.UNSAFE_componentWillReceiveProps(c,d);b.state!==a&&nh.enqueueReplaceState(b,b.state,null)}\nfunction rh(a,b,c,d){var e=a.stateNode;e.props=c;e.state=a.memoizedState;e.refs=jh;ah(a);var f=b.contextType;\"object\"===typeof f&&null!==f?e.context=Vg(f):(f=Zf(b)?Xf:H.current,e.context=Yf(a,f));e.state=a.memoizedState;f=b.getDerivedStateFromProps;\"function\"===typeof f&&(kh(a,b,f,c),e.state=a.memoizedState);\"function\"===typeof b.getDerivedStateFromProps||\"function\"===typeof e.getSnapshotBeforeUpdate||\"function\"!==typeof e.UNSAFE_componentWillMount&&\"function\"!==typeof e.componentWillMount||(b=e.state,\n\"function\"===typeof e.componentWillMount&&e.componentWillMount(),\"function\"===typeof e.UNSAFE_componentWillMount&&e.UNSAFE_componentWillMount(),b!==e.state&&nh.enqueueReplaceState(e,e.state,null),gh(a,c,e,d),e.state=a.memoizedState);\"function\"===typeof e.componentDidMount&&(a.flags|=4194308)}\nfunction sh(a,b,c){a=c.ref;if(null!==a&&\"function\"!==typeof a&&\"object\"!==typeof a){if(c._owner){c=c._owner;if(c){if(1!==c.tag)throw Error(p(309));var d=c.stateNode}if(!d)throw Error(p(147,a));var e=d,f=\"\"+a;if(null!==b&&null!==b.ref&&\"function\"===typeof b.ref&&b.ref._stringRef===f)return b.ref;b=function(a){var b=e.refs;b===jh&&(b=e.refs={});null===a?delete b[f]:b[f]=a};b._stringRef=f;return b}if(\"string\"!==typeof a)throw Error(p(284));if(!c._owner)throw Error(p(290,a));}return a}\nfunction th(a,b){a=Object.prototype.toString.call(b);throw Error(p(31,\"[object Object]\"===a?\"object with keys {\"+Object.keys(b).join(\", \")+\"}\":a));}function uh(a){var b=a._init;return b(a._payload)}\nfunction vh(a){function b(b,c){if(a){var d=b.deletions;null===d?(b.deletions=[c],b.flags|=16):d.push(c)}}function c(c,d){if(!a)return null;for(;null!==d;)b(c,d),d=d.sibling;return null}function d(a,b){for(a=new Map;null!==b;)null!==b.key?a.set(b.key,b):a.set(b.index,b),b=b.sibling;return a}function e(a,b){a=wh(a,b);a.index=0;a.sibling=null;return a}function f(b,c,d){b.index=d;if(!a)return b.flags|=1048576,c;d=b.alternate;if(null!==d)return d=d.index,d<c?(b.flags|=2,c):d;b.flags|=2;return c}function g(b){a&&\nnull===b.alternate&&(b.flags|=2);return b}function h(a,b,c,d){if(null===b||6!==b.tag)return b=xh(c,a.mode,d),b.return=a,b;b=e(b,c);b.return=a;return b}function k(a,b,c,d){var f=c.type;if(f===ya)return m(a,b,c.props.children,d,c.key);if(null!==b&&(b.elementType===f||\"object\"===typeof f&&null!==f&&f.$$typeof===Ha&&uh(f)===b.type))return d=e(b,c.props),d.ref=sh(a,b,c),d.return=a,d;d=yh(c.type,c.key,c.props,null,a.mode,d);d.ref=sh(a,b,c);d.return=a;return d}function l(a,b,c,d){if(null===b||4!==b.tag||\nb.stateNode.containerInfo!==c.containerInfo||b.stateNode.implementation!==c.implementation)return b=zh(c,a.mode,d),b.return=a,b;b=e(b,c.children||[]);b.return=a;return b}function m(a,b,c,d,f){if(null===b||7!==b.tag)return b=Ah(c,a.mode,d,f),b.return=a,b;b=e(b,c);b.return=a;return b}function q(a,b,c){if(\"string\"===typeof b&&\"\"!==b||\"number\"===typeof b)return b=xh(\"\"+b,a.mode,c),b.return=a,b;if(\"object\"===typeof b&&null!==b){switch(b.$$typeof){case va:return c=yh(b.type,b.key,b.props,null,a.mode,c),\nc.ref=sh(a,null,b),c.return=a,c;case wa:return b=zh(b,a.mode,c),b.return=a,b;case Ha:var d=b._init;return q(a,d(b._payload),c)}if(eb(b)||Ka(b))return b=Ah(b,a.mode,c,null),b.return=a,b;th(a,b)}return null}function r(a,b,c,d){var e=null!==b?b.key:null;if(\"string\"===typeof c&&\"\"!==c||\"number\"===typeof c)return null!==e?null:h(a,b,\"\"+c,d);if(\"object\"===typeof c&&null!==c){switch(c.$$typeof){case va:return c.key===e?k(a,b,c,d):null;case wa:return c.key===e?l(a,b,c,d):null;case Ha:return e=c._init,r(a,\nb,e(c._payload),d)}if(eb(c)||Ka(c))return null!==e?null:m(a,b,c,d,null);th(a,c)}return null}function y(a,b,c,d,e){if(\"string\"===typeof d&&\"\"!==d||\"number\"===typeof d)return a=a.get(c)||null,h(b,a,\"\"+d,e);if(\"object\"===typeof d&&null!==d){switch(d.$$typeof){case va:return a=a.get(null===d.key?c:d.key)||null,k(b,a,d,e);case wa:return a=a.get(null===d.key?c:d.key)||null,l(b,a,d,e);case Ha:var f=d._init;return y(a,b,c,f(d._payload),e)}if(eb(d)||Ka(d))return a=a.get(c)||null,m(b,a,d,e,null);th(b,d)}return null}\nfunction n(e,g,h,k){for(var l=null,m=null,u=g,w=g=0,x=null;null!==u&&w<h.length;w++){u.index>w?(x=u,u=null):x=u.sibling;var n=r(e,u,h[w],k);if(null===n){null===u&&(u=x);break}a&&u&&null===n.alternate&&b(e,u);g=f(n,g,w);null===m?l=n:m.sibling=n;m=n;u=x}if(w===h.length)return c(e,u),I&&tg(e,w),l;if(null===u){for(;w<h.length;w++)u=q(e,h[w],k),null!==u&&(g=f(u,g,w),null===m?l=u:m.sibling=u,m=u);I&&tg(e,w);return l}for(u=d(e,u);w<h.length;w++)x=y(u,e,w,h[w],k),null!==x&&(a&&null!==x.alternate&&u.delete(null===\nx.key?w:x.key),g=f(x,g,w),null===m?l=x:m.sibling=x,m=x);a&&u.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function t(e,g,h,k){var l=Ka(h);if(\"function\"!==typeof l)throw Error(p(150));h=l.call(h);if(null==h)throw Error(p(151));for(var u=l=null,m=g,w=g=0,x=null,n=h.next();null!==m&&!n.done;w++,n=h.next()){m.index>w?(x=m,m=null):x=m.sibling;var t=r(e,m,n.value,k);if(null===t){null===m&&(m=x);break}a&&m&&null===t.alternate&&b(e,m);g=f(t,g,w);null===u?l=t:u.sibling=t;u=t;m=x}if(n.done)return c(e,\nm),I&&tg(e,w),l;if(null===m){for(;!n.done;w++,n=h.next())n=q(e,n.value,k),null!==n&&(g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);I&&tg(e,w);return l}for(m=d(e,m);!n.done;w++,n=h.next())n=y(m,e,w,n.value,k),null!==n&&(a&&null!==n.alternate&&m.delete(null===n.key?w:n.key),g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);a&&m.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function J(a,d,f,h){\"object\"===typeof f&&null!==f&&f.type===ya&&null===f.key&&(f=f.props.children);if(\"object\"===typeof f&&null!==f){switch(f.$$typeof){case va:a:{for(var k=\nf.key,l=d;null!==l;){if(l.key===k){k=f.type;if(k===ya){if(7===l.tag){c(a,l.sibling);d=e(l,f.props.children);d.return=a;a=d;break a}}else if(l.elementType===k||\"object\"===typeof k&&null!==k&&k.$$typeof===Ha&&uh(k)===l.type){c(a,l.sibling);d=e(l,f.props);d.ref=sh(a,l,f);d.return=a;a=d;break a}c(a,l);break}else b(a,l);l=l.sibling}f.type===ya?(d=Ah(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=yh(f.type,f.key,f.props,null,a.mode,h),h.ref=sh(a,d,f),h.return=a,a=h)}return g(a);case wa:a:{for(l=f.key;null!==\nd;){if(d.key===l)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=zh(f,a.mode,h);d.return=a;a=d}return g(a);case Ha:return l=f._init,J(a,d,l(f._payload),h)}if(eb(f))return n(a,d,f,h);if(Ka(f))return t(a,d,f,h);th(a,f)}return\"string\"===typeof f&&\"\"!==f||\"number\"===typeof f?(f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):\n(c(a,d),d=xh(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return J}var Bh=vh(!0),Ch=vh(!1),Dh={},Eh=Uf(Dh),Fh=Uf(Dh),Gh=Uf(Dh);function Hh(a){if(a===Dh)throw Error(p(174));return a}function Ih(a,b){G(Gh,b);G(Fh,a);G(Eh,Dh);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:lb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=lb(b,a)}E(Eh);G(Eh,b)}function Jh(){E(Eh);E(Fh);E(Gh)}\nfunction Kh(a){Hh(Gh.current);var b=Hh(Eh.current);var c=lb(b,a.type);b!==c&&(G(Fh,a),G(Eh,c))}function Lh(a){Fh.current===a&&(E(Eh),E(Fh))}var M=Uf(0);\nfunction Mh(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||\"$?\"===c.data||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&128))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var Nh=[];\nfunction Oh(){for(var a=0;a<Nh.length;a++)Nh[a]._workInProgressVersionPrimary=null;Nh.length=0}var Ph=ua.ReactCurrentDispatcher,Qh=ua.ReactCurrentBatchConfig,Rh=0,N=null,O=null,P=null,Sh=!1,Th=!1,Uh=0,Vh=0;function Q(){throw Error(p(321));}function Wh(a,b){if(null===b)return!1;for(var c=0;c<b.length&&c<a.length;c++)if(!He(a[c],b[c]))return!1;return!0}\nfunction Xh(a,b,c,d,e,f){Rh=f;N=b;b.memoizedState=null;b.updateQueue=null;b.lanes=0;Ph.current=null===a||null===a.memoizedState?Yh:Zh;a=c(d,e);if(Th){f=0;do{Th=!1;Uh=0;if(25<=f)throw Error(p(301));f+=1;P=O=null;b.updateQueue=null;Ph.current=$h;a=c(d,e)}while(Th)}Ph.current=ai;b=null!==O&&null!==O.next;Rh=0;P=O=N=null;Sh=!1;if(b)throw Error(p(300));return a}function bi(){var a=0!==Uh;Uh=0;return a}\nfunction ci(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===P?N.memoizedState=P=a:P=P.next=a;return P}function di(){if(null===O){var a=N.alternate;a=null!==a?a.memoizedState:null}else a=O.next;var b=null===P?N.memoizedState:P.next;if(null!==b)P=b,O=a;else{if(null===a)throw Error(p(310));O=a;a={memoizedState:O.memoizedState,baseState:O.baseState,baseQueue:O.baseQueue,queue:O.queue,next:null};null===P?N.memoizedState=P=a:P=P.next=a}return P}\nfunction ei(a,b){return\"function\"===typeof b?b(a):b}\nfunction fi(a){var b=di(),c=b.queue;if(null===c)throw Error(p(311));c.lastRenderedReducer=a;var d=O,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){f=e.next;d=d.baseState;var h=g=null,k=null,l=f;do{var m=l.lane;if((Rh&m)===m)null!==k&&(k=k.next={lane:0,action:l.action,hasEagerState:l.hasEagerState,eagerState:l.eagerState,next:null}),d=l.hasEagerState?l.eagerState:a(d,l.action);else{var q={lane:m,action:l.action,hasEagerState:l.hasEagerState,\neagerState:l.eagerState,next:null};null===k?(h=k=q,g=d):k=k.next=q;N.lanes|=m;hh|=m}l=l.next}while(null!==l&&l!==f);null===k?g=d:k.next=h;He(d,b.memoizedState)||(Ug=!0);b.memoizedState=d;b.baseState=g;b.baseQueue=k;c.lastRenderedState=d}a=c.interleaved;if(null!==a){e=a;do f=e.lane,N.lanes|=f,hh|=f,e=e.next;while(e!==a)}else null===e&&(c.lanes=0);return[b.memoizedState,c.dispatch]}\nfunction gi(a){var b=di(),c=b.queue;if(null===c)throw Error(p(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);He(f,b.memoizedState)||(Ug=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}function hi(){}\nfunction ii(a,b){var c=N,d=di(),e=b(),f=!He(d.memoizedState,e);f&&(d.memoizedState=e,Ug=!0);d=d.queue;ji(ki.bind(null,c,d,a),[a]);if(d.getSnapshot!==b||f||null!==P&&P.memoizedState.tag&1){c.flags|=2048;li(9,mi.bind(null,c,d,e,b),void 0,null);if(null===R)throw Error(p(349));0!==(Rh&30)||ni(c,b,e)}return e}function ni(a,b,c){a.flags|=16384;a={getSnapshot:b,value:c};b=N.updateQueue;null===b?(b={lastEffect:null,stores:null},N.updateQueue=b,b.stores=[a]):(c=b.stores,null===c?b.stores=[a]:c.push(a))}\nfunction mi(a,b,c,d){b.value=c;b.getSnapshot=d;oi(b)&&pi(a)}function ki(a,b,c){return c(function(){oi(b)&&pi(a)})}function oi(a){var b=a.getSnapshot;a=a.value;try{var c=b();return!He(a,c)}catch(d){return!0}}function pi(a){var b=Zg(a,1);null!==b&&mh(b,a,1,-1)}\nfunction qi(a){var b=ci();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:ei,lastRenderedState:a};b.queue=a;a=a.dispatch=ri.bind(null,N,a);return[b.memoizedState,a]}\nfunction li(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};b=N.updateQueue;null===b?(b={lastEffect:null,stores:null},N.updateQueue=b,b.lastEffect=a.next=a):(c=b.lastEffect,null===c?b.lastEffect=a.next=a:(d=c.next,c.next=a,a.next=d,b.lastEffect=a));return a}function si(){return di().memoizedState}function ti(a,b,c,d){var e=ci();N.flags|=a;e.memoizedState=li(1|b,c,void 0,void 0===d?null:d)}\nfunction ui(a,b,c,d){var e=di();d=void 0===d?null:d;var f=void 0;if(null!==O){var g=O.memoizedState;f=g.destroy;if(null!==d&&Wh(d,g.deps)){e.memoizedState=li(b,c,f,d);return}}N.flags|=a;e.memoizedState=li(1|b,c,f,d)}function vi(a,b){return ti(8390656,8,a,b)}function ji(a,b){return ui(2048,8,a,b)}function wi(a,b){return ui(4,2,a,b)}function xi(a,b){return ui(4,4,a,b)}\nfunction yi(a,b){if(\"function\"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}function zi(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ui(4,4,yi.bind(null,b,a),c)}function Ai(){}function Bi(a,b){var c=di();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Wh(b,d[1]))return d[0];c.memoizedState=[a,b];return a}\nfunction Ci(a,b){var c=di();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Wh(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a}function Di(a,b,c){if(0===(Rh&21))return a.baseState&&(a.baseState=!1,Ug=!0),a.memoizedState=c;He(c,b)||(c=yc(),N.lanes|=c,hh|=c,a.baseState=!0);return b}function Ei(a,b){var c=C;C=0!==c&&4>c?c:4;a(!0);var d=Qh.transition;Qh.transition={};try{a(!1),b()}finally{C=c,Qh.transition=d}}function Fi(){return di().memoizedState}\nfunction Gi(a,b,c){var d=lh(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(Hi(a))Ii(b,c);else if(c=Yg(a,b,c,d),null!==c){var e=L();mh(c,a,d,e);Ji(c,b,d)}}\nfunction ri(a,b,c){var d=lh(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(Hi(a))Ii(b,e);else{var f=a.alternate;if(0===a.lanes&&(null===f||0===f.lanes)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.hasEagerState=!0;e.eagerState=h;if(He(h,g)){var k=b.interleaved;null===k?(e.next=e,Xg(b)):(e.next=k.next,k.next=e);b.interleaved=e;return}}catch(l){}finally{}c=Yg(a,b,e,d);null!==c&&(e=L(),mh(c,a,d,e),Ji(c,b,d))}}\nfunction Hi(a){var b=a.alternate;return a===N||null!==b&&b===N}function Ii(a,b){Th=Sh=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function Ji(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nvar ai={readContext:Vg,useCallback:Q,useContext:Q,useEffect:Q,useImperativeHandle:Q,useInsertionEffect:Q,useLayoutEffect:Q,useMemo:Q,useReducer:Q,useRef:Q,useState:Q,useDebugValue:Q,useDeferredValue:Q,useTransition:Q,useMutableSource:Q,useSyncExternalStore:Q,useId:Q,unstable_isNewReconciler:!1},Yh={readContext:Vg,useCallback:function(a,b){ci().memoizedState=[a,void 0===b?null:b];return a},useContext:Vg,useEffect:vi,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ti(4194308,\n4,yi.bind(null,b,a),c)},useLayoutEffect:function(a,b){return ti(4194308,4,a,b)},useInsertionEffect:function(a,b){return ti(4,2,a,b)},useMemo:function(a,b){var c=ci();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=ci();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};d.queue=a;a=a.dispatch=Gi.bind(null,N,a);return[d.memoizedState,a]},useRef:function(a){var b=\nci();a={current:a};return b.memoizedState=a},useState:qi,useDebugValue:Ai,useDeferredValue:function(a){return ci().memoizedState=a},useTransition:function(){var a=qi(!1),b=a[0];a=Ei.bind(null,a[1]);ci().memoizedState=a;return[b,a]},useMutableSource:function(){},useSyncExternalStore:function(a,b,c){var d=N,e=ci();if(I){if(void 0===c)throw Error(p(407));c=c()}else{c=b();if(null===R)throw Error(p(349));0!==(Rh&30)||ni(d,b,c)}e.memoizedState=c;var f={value:c,getSnapshot:b};e.queue=f;vi(ki.bind(null,d,\nf,a),[a]);d.flags|=2048;li(9,mi.bind(null,d,f,c,b),void 0,null);return c},useId:function(){var a=ci(),b=R.identifierPrefix;if(I){var c=sg;var d=rg;c=(d&~(1<<32-oc(d)-1)).toString(32)+c;b=\":\"+b+\"R\"+c;c=Uh++;0<c&&(b+=\"H\"+c.toString(32));b+=\":\"}else c=Vh++,b=\":\"+b+\"r\"+c.toString(32)+\":\";return a.memoizedState=b},unstable_isNewReconciler:!1},Zh={readContext:Vg,useCallback:Bi,useContext:Vg,useEffect:ji,useImperativeHandle:zi,useInsertionEffect:wi,useLayoutEffect:xi,useMemo:Ci,useReducer:fi,useRef:si,useState:function(){return fi(ei)},\nuseDebugValue:Ai,useDeferredValue:function(a){var b=di();return Di(b,O.memoizedState,a)},useTransition:function(){var a=fi(ei)[0],b=di().memoizedState;return[a,b]},useMutableSource:hi,useSyncExternalStore:ii,useId:Fi,unstable_isNewReconciler:!1},$h={readContext:Vg,useCallback:Bi,useContext:Vg,useEffect:ji,useImperativeHandle:zi,useInsertionEffect:wi,useLayoutEffect:xi,useMemo:Ci,useReducer:gi,useRef:si,useState:function(){return gi(ei)},useDebugValue:Ai,useDeferredValue:function(a){var b=di();return null===\nO?b.memoizedState=a:Di(b,O.memoizedState,a)},useTransition:function(){var a=gi(ei)[0],b=di().memoizedState;return[a,b]},useMutableSource:hi,useSyncExternalStore:ii,useId:Fi,unstable_isNewReconciler:!1};function Ki(a,b){try{var c=\"\",d=b;do c+=Pa(d),d=d.return;while(d);var e=c}catch(f){e=\"\\nError generating stack: \"+f.message+\"\\n\"+f.stack}return{value:a,source:b,stack:e,digest:null}}function Li(a,b,c){return{value:a,source:null,stack:null!=c?c:null,digest:null!=b?b:null}}\nfunction Mi(a,b){try{console.error(b.value)}catch(c){setTimeout(function(){throw c;})}}var Ni=\"function\"===typeof WeakMap?WeakMap:Map;function Oi(a,b,c){c=ch(-1,c);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){Pi||(Pi=!0,Qi=d);Mi(a,b)};return c}\nfunction Ri(a,b,c){c=ch(-1,c);c.tag=3;var d=a.type.getDerivedStateFromError;if(\"function\"===typeof d){var e=b.value;c.payload=function(){return d(e)};c.callback=function(){Mi(a,b)}}var f=a.stateNode;null!==f&&\"function\"===typeof f.componentDidCatch&&(c.callback=function(){Mi(a,b);\"function\"!==typeof d&&(null===Si?Si=new Set([this]):Si.add(this));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:\"\"})});return c}\nfunction Ti(a,b,c){var d=a.pingCache;if(null===d){d=a.pingCache=new Ni;var e=new Set;d.set(b,e)}else e=d.get(b),void 0===e&&(e=new Set,d.set(b,e));e.has(c)||(e.add(c),a=Ui.bind(null,a,b,c),b.then(a,a))}function Vi(a){do{var b;if(b=13===a.tag)b=a.memoizedState,b=null!==b?null!==b.dehydrated?!0:!1:!0;if(b)return a;a=a.return}while(null!==a);return null}\nfunction Wi(a,b,c,d,e){if(0===(a.mode&1))return a===b?a.flags|=65536:(a.flags|=128,c.flags|=131072,c.flags&=-52805,1===c.tag&&(null===c.alternate?c.tag=17:(b=ch(-1,1),b.tag=2,dh(c,b,1))),c.lanes|=1),a;a.flags|=65536;a.lanes=e;return a}var Xi=ua.ReactCurrentOwner,Ug=!1;function Yi(a,b,c,d){b.child=null===a?Ch(b,null,c,d):Bh(b,a.child,c,d)}\nfunction Zi(a,b,c,d,e){c=c.render;var f=b.ref;Tg(b,e);d=Xh(a,b,c,d,f,e);c=bi();if(null!==a&&!Ug)return b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,$i(a,b,e);I&&c&&vg(b);b.flags|=1;Yi(a,b,d,e);return b.child}\nfunction aj(a,b,c,d,e){if(null===a){var f=c.type;if(\"function\"===typeof f&&!bj(f)&&void 0===f.defaultProps&&null===c.compare&&void 0===c.defaultProps)return b.tag=15,b.type=f,cj(a,b,f,d,e);a=yh(c.type,null,d,b,b.mode,e);a.ref=b.ref;a.return=b;return b.child=a}f=a.child;if(0===(a.lanes&e)){var g=f.memoizedProps;c=c.compare;c=null!==c?c:Ie;if(c(g,d)&&a.ref===b.ref)return $i(a,b,e)}b.flags|=1;a=wh(f,d);a.ref=b.ref;a.return=b;return b.child=a}\nfunction cj(a,b,c,d,e){if(null!==a){var f=a.memoizedProps;if(Ie(f,d)&&a.ref===b.ref)if(Ug=!1,b.pendingProps=d=f,0!==(a.lanes&e))0!==(a.flags&131072)&&(Ug=!0);else return b.lanes=a.lanes,$i(a,b,e)}return dj(a,b,c,d,e)}\nfunction ej(a,b,c){var d=b.pendingProps,e=d.children,f=null!==a?a.memoizedState:null;if(\"hidden\"===d.mode)if(0===(b.mode&1))b.memoizedState={baseLanes:0,cachePool:null,transitions:null},G(fj,gj),gj|=c;else{if(0===(c&1073741824))return a=null!==f?f.baseLanes|c:c,b.lanes=b.childLanes=1073741824,b.memoizedState={baseLanes:a,cachePool:null,transitions:null},b.updateQueue=null,G(fj,gj),gj|=a,null;b.memoizedState={baseLanes:0,cachePool:null,transitions:null};d=null!==f?f.baseLanes:c;G(fj,gj);gj|=d}else null!==\nf?(d=f.baseLanes|c,b.memoizedState=null):d=c,G(fj,gj),gj|=d;Yi(a,b,e,c);return b.child}function hj(a,b){var c=b.ref;if(null===a&&null!==c||null!==a&&a.ref!==c)b.flags|=512,b.flags|=2097152}function dj(a,b,c,d,e){var f=Zf(c)?Xf:H.current;f=Yf(b,f);Tg(b,e);c=Xh(a,b,c,d,f,e);d=bi();if(null!==a&&!Ug)return b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,$i(a,b,e);I&&d&&vg(b);b.flags|=1;Yi(a,b,c,e);return b.child}\nfunction ij(a,b,c,d,e){if(Zf(c)){var f=!0;cg(b)}else f=!1;Tg(b,e);if(null===b.stateNode)jj(a,b),ph(b,c,d),rh(b,c,d,e),d=!0;else if(null===a){var g=b.stateNode,h=b.memoizedProps;g.props=h;var k=g.context,l=c.contextType;\"object\"===typeof l&&null!==l?l=Vg(l):(l=Zf(c)?Xf:H.current,l=Yf(b,l));var m=c.getDerivedStateFromProps,q=\"function\"===typeof m||\"function\"===typeof g.getSnapshotBeforeUpdate;q||\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||\n(h!==d||k!==l)&&qh(b,g,d,l);$g=!1;var r=b.memoizedState;g.state=r;gh(b,d,g,e);k=b.memoizedState;h!==d||r!==k||Wf.current||$g?(\"function\"===typeof m&&(kh(b,c,m,d),k=b.memoizedState),(h=$g||oh(b,c,h,d,r,k,l))?(q||\"function\"!==typeof g.UNSAFE_componentWillMount&&\"function\"!==typeof g.componentWillMount||(\"function\"===typeof g.componentWillMount&&g.componentWillMount(),\"function\"===typeof g.UNSAFE_componentWillMount&&g.UNSAFE_componentWillMount()),\"function\"===typeof g.componentDidMount&&(b.flags|=4194308)):\n(\"function\"===typeof g.componentDidMount&&(b.flags|=4194308),b.memoizedProps=d,b.memoizedState=k),g.props=d,g.state=k,g.context=l,d=h):(\"function\"===typeof g.componentDidMount&&(b.flags|=4194308),d=!1)}else{g=b.stateNode;bh(a,b);h=b.memoizedProps;l=b.type===b.elementType?h:Lg(b.type,h);g.props=l;q=b.pendingProps;r=g.context;k=c.contextType;\"object\"===typeof k&&null!==k?k=Vg(k):(k=Zf(c)?Xf:H.current,k=Yf(b,k));var y=c.getDerivedStateFromProps;(m=\"function\"===typeof y||\"function\"===typeof g.getSnapshotBeforeUpdate)||\n\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||(h!==q||r!==k)&&qh(b,g,d,k);$g=!1;r=b.memoizedState;g.state=r;gh(b,d,g,e);var n=b.memoizedState;h!==q||r!==n||Wf.current||$g?(\"function\"===typeof y&&(kh(b,c,y,d),n=b.memoizedState),(l=$g||oh(b,c,l,d,r,n,k)||!1)?(m||\"function\"!==typeof g.UNSAFE_componentWillUpdate&&\"function\"!==typeof g.componentWillUpdate||(\"function\"===typeof g.componentWillUpdate&&g.componentWillUpdate(d,n,k),\"function\"===typeof g.UNSAFE_componentWillUpdate&&\ng.UNSAFE_componentWillUpdate(d,n,k)),\"function\"===typeof g.componentDidUpdate&&(b.flags|=4),\"function\"===typeof g.getSnapshotBeforeUpdate&&(b.flags|=1024)):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=1024),b.memoizedProps=d,b.memoizedState=n),g.props=d,g.state=n,g.context=k,d=l):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&r===\na.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=1024),d=!1)}return kj(a,b,c,d,f,e)}\nfunction kj(a,b,c,d,e,f){hj(a,b);var g=0!==(b.flags&128);if(!d&&!g)return e&&dg(b,c,!1),$i(a,b,f);d=b.stateNode;Xi.current=b;var h=g&&\"function\"!==typeof c.getDerivedStateFromError?null:d.render();b.flags|=1;null!==a&&g?(b.child=Bh(b,a.child,null,f),b.child=Bh(b,null,h,f)):Yi(a,b,h,f);b.memoizedState=d.state;e&&dg(b,c,!0);return b.child}function lj(a){var b=a.stateNode;b.pendingContext?ag(a,b.pendingContext,b.pendingContext!==b.context):b.context&&ag(a,b.context,!1);Ih(a,b.containerInfo)}\nfunction mj(a,b,c,d,e){Ig();Jg(e);b.flags|=256;Yi(a,b,c,d);return b.child}var nj={dehydrated:null,treeContext:null,retryLane:0};function oj(a){return{baseLanes:a,cachePool:null,transitions:null}}\nfunction pj(a,b,c){var d=b.pendingProps,e=M.current,f=!1,g=0!==(b.flags&128),h;(h=g)||(h=null!==a&&null===a.memoizedState?!1:0!==(e&2));if(h)f=!0,b.flags&=-129;else if(null===a||null!==a.memoizedState)e|=1;G(M,e&1);if(null===a){Eg(b);a=b.memoizedState;if(null!==a&&(a=a.dehydrated,null!==a))return 0===(b.mode&1)?b.lanes=1:\"$!\"===a.data?b.lanes=8:b.lanes=1073741824,null;g=d.children;a=d.fallback;return f?(d=b.mode,f=b.child,g={mode:\"hidden\",children:g},0===(d&1)&&null!==f?(f.childLanes=0,f.pendingProps=\ng):f=qj(g,d,0,null),a=Ah(a,d,c,null),f.return=b,a.return=b,f.sibling=a,b.child=f,b.child.memoizedState=oj(c),b.memoizedState=nj,a):rj(b,g)}e=a.memoizedState;if(null!==e&&(h=e.dehydrated,null!==h))return sj(a,b,g,d,h,e,c);if(f){f=d.fallback;g=b.mode;e=a.child;h=e.sibling;var k={mode:\"hidden\",children:d.children};0===(g&1)&&b.child!==e?(d=b.child,d.childLanes=0,d.pendingProps=k,b.deletions=null):(d=wh(e,k),d.subtreeFlags=e.subtreeFlags&14680064);null!==h?f=wh(h,f):(f=Ah(f,g,c,null),f.flags|=2);f.return=\nb;d.return=b;d.sibling=f;b.child=d;d=f;f=b.child;g=a.child.memoizedState;g=null===g?oj(c):{baseLanes:g.baseLanes|c,cachePool:null,transitions:g.transitions};f.memoizedState=g;f.childLanes=a.childLanes&~c;b.memoizedState=nj;return d}f=a.child;a=f.sibling;d=wh(f,{mode:\"visible\",children:d.children});0===(b.mode&1)&&(d.lanes=c);d.return=b;d.sibling=null;null!==a&&(c=b.deletions,null===c?(b.deletions=[a],b.flags|=16):c.push(a));b.child=d;b.memoizedState=null;return d}\nfunction rj(a,b){b=qj({mode:\"visible\",children:b},a.mode,0,null);b.return=a;return a.child=b}function tj(a,b,c,d){null!==d&&Jg(d);Bh(b,a.child,null,c);a=rj(b,b.pendingProps.children);a.flags|=2;b.memoizedState=null;return a}\nfunction sj(a,b,c,d,e,f,g){if(c){if(b.flags&256)return b.flags&=-257,d=Li(Error(p(422))),tj(a,b,g,d);if(null!==b.memoizedState)return b.child=a.child,b.flags|=128,null;f=d.fallback;e=b.mode;d=qj({mode:\"visible\",children:d.children},e,0,null);f=Ah(f,e,g,null);f.flags|=2;d.return=b;f.return=b;d.sibling=f;b.child=d;0!==(b.mode&1)&&Bh(b,a.child,null,g);b.child.memoizedState=oj(g);b.memoizedState=nj;return f}if(0===(b.mode&1))return tj(a,b,g,null);if(\"$!\"===e.data){d=e.nextSibling&&e.nextSibling.dataset;\nif(d)var h=d.dgst;d=h;f=Error(p(419));d=Li(f,d,void 0);return tj(a,b,g,d)}h=0!==(g&a.childLanes);if(Ug||h){d=R;if(null!==d){switch(g&-g){case 4:e=2;break;case 16:e=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:e=32;break;case 536870912:e=268435456;break;default:e=0}e=0!==(e&(d.suspendedLanes|g))?0:e;\n0!==e&&e!==f.retryLane&&(f.retryLane=e,Zg(a,e),mh(d,a,e,-1))}uj();d=Li(Error(p(421)));return tj(a,b,g,d)}if(\"$?\"===e.data)return b.flags|=128,b.child=a.child,b=vj.bind(null,a),e._reactRetry=b,null;a=f.treeContext;yg=Lf(e.nextSibling);xg=b;I=!0;zg=null;null!==a&&(og[pg++]=rg,og[pg++]=sg,og[pg++]=qg,rg=a.id,sg=a.overflow,qg=b);b=rj(b,d.children);b.flags|=4096;return b}function wj(a,b,c){a.lanes|=b;var d=a.alternate;null!==d&&(d.lanes|=b);Sg(a.return,b,c)}\nfunction xj(a,b,c,d,e){var f=a.memoizedState;null===f?a.memoizedState={isBackwards:b,rendering:null,renderingStartTime:0,last:d,tail:c,tailMode:e}:(f.isBackwards=b,f.rendering=null,f.renderingStartTime=0,f.last=d,f.tail=c,f.tailMode=e)}\nfunction yj(a,b,c){var d=b.pendingProps,e=d.revealOrder,f=d.tail;Yi(a,b,d.children,c);d=M.current;if(0!==(d&2))d=d&1|2,b.flags|=128;else{if(null!==a&&0!==(a.flags&128))a:for(a=b.child;null!==a;){if(13===a.tag)null!==a.memoizedState&&wj(a,c,b);else if(19===a.tag)wj(a,c,b);else if(null!==a.child){a.child.return=a;a=a.child;continue}if(a===b)break a;for(;null===a.sibling;){if(null===a.return||a.return===b)break a;a=a.return}a.sibling.return=a.return;a=a.sibling}d&=1}G(M,d);if(0===(b.mode&1))b.memoizedState=\nnull;else switch(e){case \"forwards\":c=b.child;for(e=null;null!==c;)a=c.alternate,null!==a&&null===Mh(a)&&(e=c),c=c.sibling;c=e;null===c?(e=b.child,b.child=null):(e=c.sibling,c.sibling=null);xj(b,!1,e,c,f);break;case \"backwards\":c=null;e=b.child;for(b.child=null;null!==e;){a=e.alternate;if(null!==a&&null===Mh(a)){b.child=e;break}a=e.sibling;e.sibling=c;c=e;e=a}xj(b,!0,c,null,f);break;case \"together\":xj(b,!1,null,null,void 0);break;default:b.memoizedState=null}return b.child}\nfunction jj(a,b){0===(b.mode&1)&&null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2)}function $i(a,b,c){null!==a&&(b.dependencies=a.dependencies);hh|=b.lanes;if(0===(c&b.childLanes))return null;if(null!==a&&b.child!==a.child)throw Error(p(153));if(null!==b.child){a=b.child;c=wh(a,a.pendingProps);b.child=c;for(c.return=b;null!==a.sibling;)a=a.sibling,c=c.sibling=wh(a,a.pendingProps),c.return=b;c.sibling=null}return b.child}\nfunction zj(a,b,c){switch(b.tag){case 3:lj(b);Ig();break;case 5:Kh(b);break;case 1:Zf(b.type)&&cg(b);break;case 4:Ih(b,b.stateNode.containerInfo);break;case 10:var d=b.type._context,e=b.memoizedProps.value;G(Mg,d._currentValue);d._currentValue=e;break;case 13:d=b.memoizedState;if(null!==d){if(null!==d.dehydrated)return G(M,M.current&1),b.flags|=128,null;if(0!==(c&b.child.childLanes))return pj(a,b,c);G(M,M.current&1);a=$i(a,b,c);return null!==a?a.sibling:null}G(M,M.current&1);break;case 19:d=0!==(c&\nb.childLanes);if(0!==(a.flags&128)){if(d)return yj(a,b,c);b.flags|=128}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null,e.lastEffect=null);G(M,M.current);if(d)break;else return null;case 22:case 23:return b.lanes=0,ej(a,b,c)}return $i(a,b,c)}var Aj,Bj,Cj,Dj;\nAj=function(a,b){for(var c=b.child;null!==c;){if(5===c.tag||6===c.tag)a.appendChild(c.stateNode);else if(4!==c.tag&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return}c.sibling.return=c.return;c=c.sibling}};Bj=function(){};\nCj=function(a,b,c,d){var e=a.memoizedProps;if(e!==d){a=b.stateNode;Hh(Eh.current);var f=null;switch(c){case \"input\":e=Ya(a,e);d=Ya(a,d);f=[];break;case \"select\":e=A({},e,{value:void 0});d=A({},d,{value:void 0});f=[];break;case \"textarea\":e=gb(a,e);d=gb(a,d);f=[];break;default:\"function\"!==typeof e.onClick&&\"function\"===typeof d.onClick&&(a.onclick=Bf)}ub(c,d);var g;c=null;for(l in e)if(!d.hasOwnProperty(l)&&e.hasOwnProperty(l)&&null!=e[l])if(\"style\"===l){var h=e[l];for(g in h)h.hasOwnProperty(g)&&\n(c||(c={}),c[g]=\"\")}else\"dangerouslySetInnerHTML\"!==l&&\"children\"!==l&&\"suppressContentEditableWarning\"!==l&&\"suppressHydrationWarning\"!==l&&\"autoFocus\"!==l&&(ea.hasOwnProperty(l)?f||(f=[]):(f=f||[]).push(l,null));for(l in d){var k=d[l];h=null!=e?e[l]:void 0;if(d.hasOwnProperty(l)&&k!==h&&(null!=k||null!=h))if(\"style\"===l)if(h){for(g in h)!h.hasOwnProperty(g)||k&&k.hasOwnProperty(g)||(c||(c={}),c[g]=\"\");for(g in k)k.hasOwnProperty(g)&&h[g]!==k[g]&&(c||(c={}),c[g]=k[g])}else c||(f||(f=[]),f.push(l,\nc)),c=k;else\"dangerouslySetInnerHTML\"===l?(k=k?k.__html:void 0,h=h?h.__html:void 0,null!=k&&h!==k&&(f=f||[]).push(l,k)):\"children\"===l?\"string\"!==typeof k&&\"number\"!==typeof k||(f=f||[]).push(l,\"\"+k):\"suppressContentEditableWarning\"!==l&&\"suppressHydrationWarning\"!==l&&(ea.hasOwnProperty(l)?(null!=k&&\"onScroll\"===l&&D(\"scroll\",a),f||h===k||(f=[])):(f=f||[]).push(l,k))}c&&(f=f||[]).push(\"style\",c);var l=f;if(b.updateQueue=l)b.flags|=4}};Dj=function(a,b,c,d){c!==d&&(b.flags|=4)};\nfunction Ej(a,b){if(!I)switch(a.tailMode){case \"hidden\":b=a.tail;for(var c=null;null!==b;)null!==b.alternate&&(c=b),b=b.sibling;null===c?a.tail=null:c.sibling=null;break;case \"collapsed\":c=a.tail;for(var d=null;null!==c;)null!==c.alternate&&(d=c),c=c.sibling;null===d?b||null===a.tail?a.tail=null:a.tail.sibling=null:d.sibling=null}}\nfunction S(a){var b=null!==a.alternate&&a.alternate.child===a.child,c=0,d=0;if(b)for(var e=a.child;null!==e;)c|=e.lanes|e.childLanes,d|=e.subtreeFlags&14680064,d|=e.flags&14680064,e.return=a,e=e.sibling;else for(e=a.child;null!==e;)c|=e.lanes|e.childLanes,d|=e.subtreeFlags,d|=e.flags,e.return=a,e=e.sibling;a.subtreeFlags|=d;a.childLanes=c;return b}\nfunction Fj(a,b,c){var d=b.pendingProps;wg(b);switch(b.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return S(b),null;case 1:return Zf(b.type)&&$f(),S(b),null;case 3:d=b.stateNode;Jh();E(Wf);E(H);Oh();d.pendingContext&&(d.context=d.pendingContext,d.pendingContext=null);if(null===a||null===a.child)Gg(b)?b.flags|=4:null===a||a.memoizedState.isDehydrated&&0===(b.flags&256)||(b.flags|=1024,null!==zg&&(Gj(zg),zg=null));Bj(a,b);S(b);return null;case 5:Lh(b);var e=Hh(Gh.current);\nc=b.type;if(null!==a&&null!=b.stateNode)Cj(a,b,c,d,e),a.ref!==b.ref&&(b.flags|=512,b.flags|=2097152);else{if(!d){if(null===b.stateNode)throw Error(p(166));S(b);return null}a=Hh(Eh.current);if(Gg(b)){d=b.stateNode;c=b.type;var f=b.memoizedProps;d[Of]=b;d[Pf]=f;a=0!==(b.mode&1);switch(c){case \"dialog\":D(\"cancel\",d);D(\"close\",d);break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",d);break;case \"video\":case \"audio\":for(e=0;e<lf.length;e++)D(lf[e],d);break;case \"source\":D(\"error\",d);break;case \"img\":case \"image\":case \"link\":D(\"error\",\nd);D(\"load\",d);break;case \"details\":D(\"toggle\",d);break;case \"input\":Za(d,f);D(\"invalid\",d);break;case \"select\":d._wrapperState={wasMultiple:!!f.multiple};D(\"invalid\",d);break;case \"textarea\":hb(d,f),D(\"invalid\",d)}ub(c,f);e=null;for(var g in f)if(f.hasOwnProperty(g)){var h=f[g];\"children\"===g?\"string\"===typeof h?d.textContent!==h&&(!0!==f.suppressHydrationWarning&&Af(d.textContent,h,a),e=[\"children\",h]):\"number\"===typeof h&&d.textContent!==\"\"+h&&(!0!==f.suppressHydrationWarning&&Af(d.textContent,\nh,a),e=[\"children\",\"\"+h]):ea.hasOwnProperty(g)&&null!=h&&\"onScroll\"===g&&D(\"scroll\",d)}switch(c){case \"input\":Va(d);db(d,f,!0);break;case \"textarea\":Va(d);jb(d);break;case \"select\":case \"option\":break;default:\"function\"===typeof f.onClick&&(d.onclick=Bf)}d=e;b.updateQueue=d;null!==d&&(b.flags|=4)}else{g=9===e.nodeType?e:e.ownerDocument;\"http://www.w3.org/1999/xhtml\"===a&&(a=kb(c));\"http://www.w3.org/1999/xhtml\"===a?\"script\"===c?(a=g.createElement(\"div\"),a.innerHTML=\"<script>\\x3c/script>\",a=a.removeChild(a.firstChild)):\n\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[Of]=b;a[Pf]=d;Aj(a,b,!1,!1);b.stateNode=a;a:{g=vb(c,d);switch(c){case \"dialog\":D(\"cancel\",a);D(\"close\",a);e=d;break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;e<lf.length;e++)D(lf[e],a);e=d;break;case \"source\":D(\"error\",a);e=d;break;case \"img\":case \"image\":case \"link\":D(\"error\",\na);D(\"load\",a);e=d;break;case \"details\":D(\"toggle\",a);e=d;break;case \"input\":Za(a,d);e=Ya(a,d);D(\"invalid\",a);break;case \"option\":e=d;break;case \"select\":a._wrapperState={wasMultiple:!!d.multiple};e=A({},d,{value:void 0});D(\"invalid\",a);break;case \"textarea\":hb(a,d);e=gb(a,d);D(\"invalid\",a);break;default:e=d}ub(c,e);h=e;for(f in h)if(h.hasOwnProperty(f)){var k=h[f];\"style\"===f?sb(a,k):\"dangerouslySetInnerHTML\"===f?(k=k?k.__html:void 0,null!=k&&nb(a,k)):\"children\"===f?\"string\"===typeof k?(\"textarea\"!==\nc||\"\"!==k)&&ob(a,k):\"number\"===typeof k&&ob(a,\"\"+k):\"suppressContentEditableWarning\"!==f&&\"suppressHydrationWarning\"!==f&&\"autoFocus\"!==f&&(ea.hasOwnProperty(f)?null!=k&&\"onScroll\"===f&&D(\"scroll\",a):null!=k&&ta(a,f,k,g))}switch(c){case \"input\":Va(a);db(a,d,!1);break;case \"textarea\":Va(a);jb(a);break;case \"option\":null!=d.value&&a.setAttribute(\"value\",\"\"+Sa(d.value));break;case \"select\":a.multiple=!!d.multiple;f=d.value;null!=f?fb(a,!!d.multiple,f,!1):null!=d.defaultValue&&fb(a,!!d.multiple,d.defaultValue,\n!0);break;default:\"function\"===typeof e.onClick&&(a.onclick=Bf)}switch(c){case \"button\":case \"input\":case \"select\":case \"textarea\":d=!!d.autoFocus;break a;case \"img\":d=!0;break a;default:d=!1}}d&&(b.flags|=4)}null!==b.ref&&(b.flags|=512,b.flags|=2097152)}S(b);return null;case 6:if(a&&null!=b.stateNode)Dj(a,b,a.memoizedProps,d);else{if(\"string\"!==typeof d&&null===b.stateNode)throw Error(p(166));c=Hh(Gh.current);Hh(Eh.current);if(Gg(b)){d=b.stateNode;c=b.memoizedProps;d[Of]=b;if(f=d.nodeValue!==c)if(a=\nxg,null!==a)switch(a.tag){case 3:Af(d.nodeValue,c,0!==(a.mode&1));break;case 5:!0!==a.memoizedProps.suppressHydrationWarning&&Af(d.nodeValue,c,0!==(a.mode&1))}f&&(b.flags|=4)}else d=(9===c.nodeType?c:c.ownerDocument).createTextNode(d),d[Of]=b,b.stateNode=d}S(b);return null;case 13:E(M);d=b.memoizedState;if(null===a||null!==a.memoizedState&&null!==a.memoizedState.dehydrated){if(I&&null!==yg&&0!==(b.mode&1)&&0===(b.flags&128))Hg(),Ig(),b.flags|=98560,f=!1;else if(f=Gg(b),null!==d&&null!==d.dehydrated){if(null===\na){if(!f)throw Error(p(318));f=b.memoizedState;f=null!==f?f.dehydrated:null;if(!f)throw Error(p(317));f[Of]=b}else Ig(),0===(b.flags&128)&&(b.memoizedState=null),b.flags|=4;S(b);f=!1}else null!==zg&&(Gj(zg),zg=null),f=!0;if(!f)return b.flags&65536?b:null}if(0!==(b.flags&128))return b.lanes=c,b;d=null!==d;d!==(null!==a&&null!==a.memoizedState)&&d&&(b.child.flags|=8192,0!==(b.mode&1)&&(null===a||0!==(M.current&1)?0===T&&(T=3):uj()));null!==b.updateQueue&&(b.flags|=4);S(b);return null;case 4:return Jh(),\nBj(a,b),null===a&&sf(b.stateNode.containerInfo),S(b),null;case 10:return Rg(b.type._context),S(b),null;case 17:return Zf(b.type)&&$f(),S(b),null;case 19:E(M);f=b.memoizedState;if(null===f)return S(b),null;d=0!==(b.flags&128);g=f.rendering;if(null===g)if(d)Ej(f,!1);else{if(0!==T||null!==a&&0!==(a.flags&128))for(a=b.child;null!==a;){g=Mh(a);if(null!==g){b.flags|=128;Ej(f,!1);d=g.updateQueue;null!==d&&(b.updateQueue=d,b.flags|=4);b.subtreeFlags=0;d=c;for(c=b.child;null!==c;)f=c,a=d,f.flags&=14680066,\ng=f.alternate,null===g?(f.childLanes=0,f.lanes=a,f.child=null,f.subtreeFlags=0,f.memoizedProps=null,f.memoizedState=null,f.updateQueue=null,f.dependencies=null,f.stateNode=null):(f.childLanes=g.childLanes,f.lanes=g.lanes,f.child=g.child,f.subtreeFlags=0,f.deletions=null,f.memoizedProps=g.memoizedProps,f.memoizedState=g.memoizedState,f.updateQueue=g.updateQueue,f.type=g.type,a=g.dependencies,f.dependencies=null===a?null:{lanes:a.lanes,firstContext:a.firstContext}),c=c.sibling;G(M,M.current&1|2);return b.child}a=\na.sibling}null!==f.tail&&B()>Hj&&(b.flags|=128,d=!0,Ej(f,!1),b.lanes=4194304)}else{if(!d)if(a=Mh(g),null!==a){if(b.flags|=128,d=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Ej(f,!0),null===f.tail&&\"hidden\"===f.tailMode&&!g.alternate&&!I)return S(b),null}else 2*B()-f.renderingStartTime>Hj&&1073741824!==c&&(b.flags|=128,d=!0,Ej(f,!1),b.lanes=4194304);f.isBackwards?(g.sibling=b.child,b.child=g):(c=f.last,null!==c?c.sibling=g:b.child=g,f.last=g)}if(null!==f.tail)return b=f.tail,f.rendering=\nb,f.tail=b.sibling,f.renderingStartTime=B(),b.sibling=null,c=M.current,G(M,d?c&1|2:c&1),b;S(b);return null;case 22:case 23:return Ij(),d=null!==b.memoizedState,null!==a&&null!==a.memoizedState!==d&&(b.flags|=8192),d&&0!==(b.mode&1)?0!==(gj&1073741824)&&(S(b),b.subtreeFlags&6&&(b.flags|=8192)):S(b),null;case 24:return null;case 25:return null}throw Error(p(156,b.tag));}\nfunction Jj(a,b){wg(b);switch(b.tag){case 1:return Zf(b.type)&&$f(),a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 3:return Jh(),E(Wf),E(H),Oh(),a=b.flags,0!==(a&65536)&&0===(a&128)?(b.flags=a&-65537|128,b):null;case 5:return Lh(b),null;case 13:E(M);a=b.memoizedState;if(null!==a&&null!==a.dehydrated){if(null===b.alternate)throw Error(p(340));Ig()}a=b.flags;return a&65536?(b.flags=a&-65537|128,b):null;case 19:return E(M),null;case 4:return Jh(),null;case 10:return Rg(b.type._context),null;case 22:case 23:return Ij(),\nnull;case 24:return null;default:return null}}var Kj=!1,U=!1,Lj=\"function\"===typeof WeakSet?WeakSet:Set,V=null;function Mj(a,b){var c=a.ref;if(null!==c)if(\"function\"===typeof c)try{c(null)}catch(d){W(a,b,d)}else c.current=null}function Nj(a,b,c){try{c()}catch(d){W(a,b,d)}}var Oj=!1;\nfunction Pj(a,b){Cf=dd;a=Me();if(Ne(a)){if(\"selectionStart\"in a)var c={start:a.selectionStart,end:a.selectionEnd};else a:{c=(c=a.ownerDocument)&&c.defaultView||window;var d=c.getSelection&&c.getSelection();if(d&&0!==d.rangeCount){c=d.anchorNode;var e=d.anchorOffset,f=d.focusNode;d=d.focusOffset;try{c.nodeType,f.nodeType}catch(F){c=null;break a}var g=0,h=-1,k=-1,l=0,m=0,q=a,r=null;b:for(;;){for(var y;;){q!==c||0!==e&&3!==q.nodeType||(h=g+e);q!==f||0!==d&&3!==q.nodeType||(k=g+d);3===q.nodeType&&(g+=\nq.nodeValue.length);if(null===(y=q.firstChild))break;r=q;q=y}for(;;){if(q===a)break b;r===c&&++l===e&&(h=g);r===f&&++m===d&&(k=g);if(null!==(y=q.nextSibling))break;q=r;r=q.parentNode}q=y}c=-1===h||-1===k?null:{start:h,end:k}}else c=null}c=c||{start:0,end:0}}else c=null;Df={focusedElem:a,selectionRange:c};dd=!1;for(V=b;null!==V;)if(b=V,a=b.child,0!==(b.subtreeFlags&1028)&&null!==a)a.return=b,V=a;else for(;null!==V;){b=V;try{var n=b.alternate;if(0!==(b.flags&1024))switch(b.tag){case 0:case 11:case 15:break;\ncase 1:if(null!==n){var t=n.memoizedProps,J=n.memoizedState,x=b.stateNode,w=x.getSnapshotBeforeUpdate(b.elementType===b.type?t:Lg(b.type,t),J);x.__reactInternalSnapshotBeforeUpdate=w}break;case 3:var u=b.stateNode.containerInfo;1===u.nodeType?u.textContent=\"\":9===u.nodeType&&u.documentElement&&u.removeChild(u.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p(163));}}catch(F){W(b,b.return,F)}a=b.sibling;if(null!==a){a.return=b.return;V=a;break}V=b.return}n=Oj;Oj=!1;return n}\nfunction Qj(a,b,c){var d=b.updateQueue;d=null!==d?d.lastEffect:null;if(null!==d){var e=d=d.next;do{if((e.tag&a)===a){var f=e.destroy;e.destroy=void 0;void 0!==f&&Nj(b,c,f)}e=e.next}while(e!==d)}}function Rj(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}function Sj(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case 5:a=c;break;default:a=c}\"function\"===typeof b?b(a):b.current=a}}\nfunction Tj(a){var b=a.alternate;null!==b&&(a.alternate=null,Tj(b));a.child=null;a.deletions=null;a.sibling=null;5===a.tag&&(b=a.stateNode,null!==b&&(delete b[Of],delete b[Pf],delete b[of],delete b[Qf],delete b[Rf]));a.stateNode=null;a.return=null;a.dependencies=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.stateNode=null;a.updateQueue=null}function Uj(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Vj(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Uj(a.return))return null;a=a.return}a.sibling.return=a.return;for(a=a.sibling;5!==a.tag&&6!==a.tag&&18!==a.tag;){if(a.flags&2)continue a;if(null===a.child||4===a.tag)continue a;else a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}\nfunction Wj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=Bf));else if(4!==d&&(a=a.child,null!==a))for(Wj(a,b,c),a=a.sibling;null!==a;)Wj(a,b,c),a=a.sibling}\nfunction Xj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Xj(a,b,c),a=a.sibling;null!==a;)Xj(a,b,c),a=a.sibling}var X=null,Yj=!1;function Zj(a,b,c){for(c=c.child;null!==c;)ak(a,b,c),c=c.sibling}\nfunction ak(a,b,c){if(lc&&\"function\"===typeof lc.onCommitFiberUnmount)try{lc.onCommitFiberUnmount(kc,c)}catch(h){}switch(c.tag){case 5:U||Mj(c,b);case 6:var d=X,e=Yj;X=null;Zj(a,b,c);X=d;Yj=e;null!==X&&(Yj?(a=X,c=c.stateNode,8===a.nodeType?a.parentNode.removeChild(c):a.removeChild(c)):X.removeChild(c.stateNode));break;case 18:null!==X&&(Yj?(a=X,c=c.stateNode,8===a.nodeType?Kf(a.parentNode,c):1===a.nodeType&&Kf(a,c),bd(a)):Kf(X,c.stateNode));break;case 4:d=X;e=Yj;X=c.stateNode.containerInfo;Yj=!0;\nZj(a,b,c);X=d;Yj=e;break;case 0:case 11:case 14:case 15:if(!U&&(d=c.updateQueue,null!==d&&(d=d.lastEffect,null!==d))){e=d=d.next;do{var f=e,g=f.destroy;f=f.tag;void 0!==g&&(0!==(f&2)?Nj(c,b,g):0!==(f&4)&&Nj(c,b,g));e=e.next}while(e!==d)}Zj(a,b,c);break;case 1:if(!U&&(Mj(c,b),d=c.stateNode,\"function\"===typeof d.componentWillUnmount))try{d.props=c.memoizedProps,d.state=c.memoizedState,d.componentWillUnmount()}catch(h){W(c,b,h)}Zj(a,b,c);break;case 21:Zj(a,b,c);break;case 22:c.mode&1?(U=(d=U)||null!==\nc.memoizedState,Zj(a,b,c),U=d):Zj(a,b,c);break;default:Zj(a,b,c)}}function bk(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Lj);b.forEach(function(b){var d=ck.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction dk(a,b){var c=b.deletions;if(null!==c)for(var d=0;d<c.length;d++){var e=c[d];try{var f=a,g=b,h=g;a:for(;null!==h;){switch(h.tag){case 5:X=h.stateNode;Yj=!1;break a;case 3:X=h.stateNode.containerInfo;Yj=!0;break a;case 4:X=h.stateNode.containerInfo;Yj=!0;break a}h=h.return}if(null===X)throw Error(p(160));ak(f,g,e);X=null;Yj=!1;var k=e.alternate;null!==k&&(k.return=null);e.return=null}catch(l){W(e,b,l)}}if(b.subtreeFlags&12854)for(b=b.child;null!==b;)ek(b,a),b=b.sibling}\nfunction ek(a,b){var c=a.alternate,d=a.flags;switch(a.tag){case 0:case 11:case 14:case 15:dk(b,a);fk(a);if(d&4){try{Qj(3,a,a.return),Rj(3,a)}catch(t){W(a,a.return,t)}try{Qj(5,a,a.return)}catch(t){W(a,a.return,t)}}break;case 1:dk(b,a);fk(a);d&512&&null!==c&&Mj(c,c.return);break;case 5:dk(b,a);fk(a);d&512&&null!==c&&Mj(c,c.return);if(a.flags&32){var e=a.stateNode;try{ob(e,\"\")}catch(t){W(a,a.return,t)}}if(d&4&&(e=a.stateNode,null!=e)){var f=a.memoizedProps,g=null!==c?c.memoizedProps:f,h=a.type,k=a.updateQueue;\na.updateQueue=null;if(null!==k)try{\"input\"===h&&\"radio\"===f.type&&null!=f.name&&ab(e,f);vb(h,g);var l=vb(h,f);for(g=0;g<k.length;g+=2){var m=k[g],q=k[g+1];\"style\"===m?sb(e,q):\"dangerouslySetInnerHTML\"===m?nb(e,q):\"children\"===m?ob(e,q):ta(e,m,q,l)}switch(h){case \"input\":bb(e,f);break;case \"textarea\":ib(e,f);break;case \"select\":var r=e._wrapperState.wasMultiple;e._wrapperState.wasMultiple=!!f.multiple;var y=f.value;null!=y?fb(e,!!f.multiple,y,!1):r!==!!f.multiple&&(null!=f.defaultValue?fb(e,!!f.multiple,\nf.defaultValue,!0):fb(e,!!f.multiple,f.multiple?[]:\"\",!1))}e[Pf]=f}catch(t){W(a,a.return,t)}}break;case 6:dk(b,a);fk(a);if(d&4){if(null===a.stateNode)throw Error(p(162));e=a.stateNode;f=a.memoizedProps;try{e.nodeValue=f}catch(t){W(a,a.return,t)}}break;case 3:dk(b,a);fk(a);if(d&4&&null!==c&&c.memoizedState.isDehydrated)try{bd(b.containerInfo)}catch(t){W(a,a.return,t)}break;case 4:dk(b,a);fk(a);break;case 13:dk(b,a);fk(a);e=a.child;e.flags&8192&&(f=null!==e.memoizedState,e.stateNode.isHidden=f,!f||\nnull!==e.alternate&&null!==e.alternate.memoizedState||(gk=B()));d&4&&bk(a);break;case 22:m=null!==c&&null!==c.memoizedState;a.mode&1?(U=(l=U)||m,dk(b,a),U=l):dk(b,a);fk(a);if(d&8192){l=null!==a.memoizedState;if((a.stateNode.isHidden=l)&&!m&&0!==(a.mode&1))for(V=a,m=a.child;null!==m;){for(q=V=m;null!==V;){r=V;y=r.child;switch(r.tag){case 0:case 11:case 14:case 15:Qj(4,r,r.return);break;case 1:Mj(r,r.return);var n=r.stateNode;if(\"function\"===typeof n.componentWillUnmount){d=r;c=r.return;try{b=d,n.props=\nb.memoizedProps,n.state=b.memoizedState,n.componentWillUnmount()}catch(t){W(d,c,t)}}break;case 5:Mj(r,r.return);break;case 22:if(null!==r.memoizedState){hk(q);continue}}null!==y?(y.return=r,V=y):hk(q)}m=m.sibling}a:for(m=null,q=a;;){if(5===q.tag){if(null===m){m=q;try{e=q.stateNode,l?(f=e.style,\"function\"===typeof f.setProperty?f.setProperty(\"display\",\"none\",\"important\"):f.display=\"none\"):(h=q.stateNode,k=q.memoizedProps.style,g=void 0!==k&&null!==k&&k.hasOwnProperty(\"display\")?k.display:null,h.style.display=\nrb(\"display\",g))}catch(t){W(a,a.return,t)}}}else if(6===q.tag){if(null===m)try{q.stateNode.nodeValue=l?\"\":q.memoizedProps}catch(t){W(a,a.return,t)}}else if((22!==q.tag&&23!==q.tag||null===q.memoizedState||q===a)&&null!==q.child){q.child.return=q;q=q.child;continue}if(q===a)break a;for(;null===q.sibling;){if(null===q.return||q.return===a)break a;m===q&&(m=null);q=q.return}m===q&&(m=null);q.sibling.return=q.return;q=q.sibling}}break;case 19:dk(b,a);fk(a);d&4&&bk(a);break;case 21:break;default:dk(b,\na),fk(a)}}function fk(a){var b=a.flags;if(b&2){try{a:{for(var c=a.return;null!==c;){if(Uj(c)){var d=c;break a}c=c.return}throw Error(p(160));}switch(d.tag){case 5:var e=d.stateNode;d.flags&32&&(ob(e,\"\"),d.flags&=-33);var f=Vj(a);Xj(a,f,e);break;case 3:case 4:var g=d.stateNode.containerInfo,h=Vj(a);Wj(a,h,g);break;default:throw Error(p(161));}}catch(k){W(a,a.return,k)}a.flags&=-3}b&4096&&(a.flags&=-4097)}function ik(a,b,c){V=a;jk(a,b,c)}\nfunction jk(a,b,c){for(var d=0!==(a.mode&1);null!==V;){var e=V,f=e.child;if(22===e.tag&&d){var g=null!==e.memoizedState||Kj;if(!g){var h=e.alternate,k=null!==h&&null!==h.memoizedState||U;h=Kj;var l=U;Kj=g;if((U=k)&&!l)for(V=e;null!==V;)g=V,k=g.child,22===g.tag&&null!==g.memoizedState?kk(e):null!==k?(k.return=g,V=k):kk(e);for(;null!==f;)V=f,jk(f,b,c),f=f.sibling;V=e;Kj=h;U=l}lk(a,b,c)}else 0!==(e.subtreeFlags&8772)&&null!==f?(f.return=e,V=f):lk(a,b,c)}}\nfunction lk(a){for(;null!==V;){var b=V;if(0!==(b.flags&8772)){var c=b.alternate;try{if(0!==(b.flags&8772))switch(b.tag){case 0:case 11:case 15:U||Rj(5,b);break;case 1:var d=b.stateNode;if(b.flags&4&&!U)if(null===c)d.componentDidMount();else{var e=b.elementType===b.type?c.memoizedProps:Lg(b.type,c.memoizedProps);d.componentDidUpdate(e,c.memoizedState,d.__reactInternalSnapshotBeforeUpdate)}var f=b.updateQueue;null!==f&&ih(b,f,d);break;case 3:var g=b.updateQueue;if(null!==g){c=null;if(null!==b.child)switch(b.child.tag){case 5:c=\nb.child.stateNode;break;case 1:c=b.child.stateNode}ih(b,g,c)}break;case 5:var h=b.stateNode;if(null===c&&b.flags&4){c=h;var k=b.memoizedProps;switch(b.type){case \"button\":case \"input\":case \"select\":case \"textarea\":k.autoFocus&&c.focus();break;case \"img\":k.src&&(c.src=k.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(null===b.memoizedState){var l=b.alternate;if(null!==l){var m=l.memoizedState;if(null!==m){var q=m.dehydrated;null!==q&&bd(q)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;\ndefault:throw Error(p(163));}U||b.flags&512&&Sj(b)}catch(r){W(b,b.return,r)}}if(b===a){V=null;break}c=b.sibling;if(null!==c){c.return=b.return;V=c;break}V=b.return}}function hk(a){for(;null!==V;){var b=V;if(b===a){V=null;break}var c=b.sibling;if(null!==c){c.return=b.return;V=c;break}V=b.return}}\nfunction kk(a){for(;null!==V;){var b=V;try{switch(b.tag){case 0:case 11:case 15:var c=b.return;try{Rj(4,b)}catch(k){W(b,c,k)}break;case 1:var d=b.stateNode;if(\"function\"===typeof d.componentDidMount){var e=b.return;try{d.componentDidMount()}catch(k){W(b,e,k)}}var f=b.return;try{Sj(b)}catch(k){W(b,f,k)}break;case 5:var g=b.return;try{Sj(b)}catch(k){W(b,g,k)}}}catch(k){W(b,b.return,k)}if(b===a){V=null;break}var h=b.sibling;if(null!==h){h.return=b.return;V=h;break}V=b.return}}\nvar mk=Math.ceil,nk=ua.ReactCurrentDispatcher,ok=ua.ReactCurrentOwner,pk=ua.ReactCurrentBatchConfig,K=0,R=null,Y=null,Z=0,gj=0,fj=Uf(0),T=0,qk=null,hh=0,rk=0,sk=0,tk=null,uk=null,gk=0,Hj=Infinity,vk=null,Pi=!1,Qi=null,Si=null,wk=!1,xk=null,yk=0,zk=0,Ak=null,Bk=-1,Ck=0;function L(){return 0!==(K&6)?B():-1!==Bk?Bk:Bk=B()}\nfunction lh(a){if(0===(a.mode&1))return 1;if(0!==(K&2)&&0!==Z)return Z&-Z;if(null!==Kg.transition)return 0===Ck&&(Ck=yc()),Ck;a=C;if(0!==a)return a;a=window.event;a=void 0===a?16:jd(a.type);return a}function mh(a,b,c,d){if(50<zk)throw zk=0,Ak=null,Error(p(185));Ac(a,c,d);if(0===(K&2)||a!==R)a===R&&(0===(K&2)&&(rk|=c),4===T&&Dk(a,Z)),Ek(a,d),1===c&&0===K&&0===(b.mode&1)&&(Hj=B()+500,fg&&jg())}\nfunction Ek(a,b){var c=a.callbackNode;wc(a,b);var d=uc(a,a===R?Z:0);if(0===d)null!==c&&bc(c),a.callbackNode=null,a.callbackPriority=0;else if(b=d&-d,a.callbackPriority!==b){null!=c&&bc(c);if(1===b)0===a.tag?ig(Fk.bind(null,a)):hg(Fk.bind(null,a)),Jf(function(){0===(K&6)&&jg()}),c=null;else{switch(Dc(d)){case 1:c=fc;break;case 4:c=gc;break;case 16:c=hc;break;case 536870912:c=jc;break;default:c=hc}c=Gk(c,Hk.bind(null,a))}a.callbackPriority=b;a.callbackNode=c}}\nfunction Hk(a,b){Bk=-1;Ck=0;if(0!==(K&6))throw Error(p(327));var c=a.callbackNode;if(Ik()&&a.callbackNode!==c)return null;var d=uc(a,a===R?Z:0);if(0===d)return null;if(0!==(d&30)||0!==(d&a.expiredLanes)||b)b=Jk(a,d);else{b=d;var e=K;K|=2;var f=Kk();if(R!==a||Z!==b)vk=null,Hj=B()+500,Lk(a,b);do try{Mk();break}catch(h){Nk(a,h)}while(1);Qg();nk.current=f;K=e;null!==Y?b=0:(R=null,Z=0,b=T)}if(0!==b){2===b&&(e=xc(a),0!==e&&(d=e,b=Ok(a,e)));if(1===b)throw c=qk,Lk(a,0),Dk(a,d),Ek(a,B()),c;if(6===b)Dk(a,d);\nelse{e=a.current.alternate;if(0===(d&30)&&!Pk(e)&&(b=Jk(a,d),2===b&&(f=xc(a),0!==f&&(d=f,b=Ok(a,f))),1===b))throw c=qk,Lk(a,0),Dk(a,d),Ek(a,B()),c;a.finishedWork=e;a.finishedLanes=d;switch(b){case 0:case 1:throw Error(p(345));case 2:Qk(a,uk,vk);break;case 3:Dk(a,d);if((d&130023424)===d&&(b=gk+500-B(),10<b)){if(0!==uc(a,0))break;e=a.suspendedLanes;if((e&d)!==d){L();a.pingedLanes|=a.suspendedLanes&e;break}a.timeoutHandle=Ff(Qk.bind(null,a,uk,vk),b);break}Qk(a,uk,vk);break;case 4:Dk(a,d);if((d&4194240)===\nd)break;b=a.eventTimes;for(e=-1;0<d;){var g=31-oc(d);f=1<<g;g=b[g];g>e&&(e=g);d&=~f}d=e;d=B()-d;d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*mk(d/1960))-d;if(10<d){a.timeoutHandle=Ff(Qk.bind(null,a,uk,vk),d);break}Qk(a,uk,vk);break;case 5:Qk(a,uk,vk);break;default:throw Error(p(329));}}}Ek(a,B());return a.callbackNode===c?Hk.bind(null,a):null}\nfunction Ok(a,b){var c=tk;a.current.memoizedState.isDehydrated&&(Lk(a,b).flags|=256);a=Jk(a,b);2!==a&&(b=uk,uk=c,null!==b&&Gj(b));return a}function Gj(a){null===uk?uk=a:uk.push.apply(uk,a)}\nfunction Pk(a){for(var b=a;;){if(b.flags&16384){var c=b.updateQueue;if(null!==c&&(c=c.stores,null!==c))for(var d=0;d<c.length;d++){var e=c[d],f=e.getSnapshot;e=e.value;try{if(!He(f(),e))return!1}catch(g){return!1}}}c=b.child;if(b.subtreeFlags&16384&&null!==c)c.return=b,b=c;else{if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return!0;b=b.return}b.sibling.return=b.return;b=b.sibling}}return!0}\nfunction Dk(a,b){b&=~sk;b&=~rk;a.suspendedLanes|=b;a.pingedLanes&=~b;for(a=a.expirationTimes;0<b;){var c=31-oc(b),d=1<<c;a[c]=-1;b&=~d}}function Fk(a){if(0!==(K&6))throw Error(p(327));Ik();var b=uc(a,0);if(0===(b&1))return Ek(a,B()),null;var c=Jk(a,b);if(0!==a.tag&&2===c){var d=xc(a);0!==d&&(b=d,c=Ok(a,d))}if(1===c)throw c=qk,Lk(a,0),Dk(a,b),Ek(a,B()),c;if(6===c)throw Error(p(345));a.finishedWork=a.current.alternate;a.finishedLanes=b;Qk(a,uk,vk);Ek(a,B());return null}\nfunction Rk(a,b){var c=K;K|=1;try{return a(b)}finally{K=c,0===K&&(Hj=B()+500,fg&&jg())}}function Sk(a){null!==xk&&0===xk.tag&&0===(K&6)&&Ik();var b=K;K|=1;var c=pk.transition,d=C;try{if(pk.transition=null,C=1,a)return a()}finally{C=d,pk.transition=c,K=b,0===(K&6)&&jg()}}function Ij(){gj=fj.current;E(fj)}\nfunction Lk(a,b){a.finishedWork=null;a.finishedLanes=0;var c=a.timeoutHandle;-1!==c&&(a.timeoutHandle=-1,Gf(c));if(null!==Y)for(c=Y.return;null!==c;){var d=c;wg(d);switch(d.tag){case 1:d=d.type.childContextTypes;null!==d&&void 0!==d&&$f();break;case 3:Jh();E(Wf);E(H);Oh();break;case 5:Lh(d);break;case 4:Jh();break;case 13:E(M);break;case 19:E(M);break;case 10:Rg(d.type._context);break;case 22:case 23:Ij()}c=c.return}R=a;Y=a=wh(a.current,null);Z=gj=b;T=0;qk=null;sk=rk=hh=0;uk=tk=null;if(null!==Wg){for(b=\n0;b<Wg.length;b++)if(c=Wg[b],d=c.interleaved,null!==d){c.interleaved=null;var e=d.next,f=c.pending;if(null!==f){var g=f.next;f.next=e;d.next=g}c.pending=d}Wg=null}return a}\nfunction Nk(a,b){do{var c=Y;try{Qg();Ph.current=ai;if(Sh){for(var d=N.memoizedState;null!==d;){var e=d.queue;null!==e&&(e.pending=null);d=d.next}Sh=!1}Rh=0;P=O=N=null;Th=!1;Uh=0;ok.current=null;if(null===c||null===c.return){T=1;qk=b;Y=null;break}a:{var f=a,g=c.return,h=c,k=b;b=Z;h.flags|=32768;if(null!==k&&\"object\"===typeof k&&\"function\"===typeof k.then){var l=k,m=h,q=m.tag;if(0===(m.mode&1)&&(0===q||11===q||15===q)){var r=m.alternate;r?(m.updateQueue=r.updateQueue,m.memoizedState=r.memoizedState,\nm.lanes=r.lanes):(m.updateQueue=null,m.memoizedState=null)}var y=Vi(g);if(null!==y){y.flags&=-257;Wi(y,g,h,f,b);y.mode&1&&Ti(f,l,b);b=y;k=l;var n=b.updateQueue;if(null===n){var t=new Set;t.add(k);b.updateQueue=t}else n.add(k);break a}else{if(0===(b&1)){Ti(f,l,b);uj();break a}k=Error(p(426))}}else if(I&&h.mode&1){var J=Vi(g);if(null!==J){0===(J.flags&65536)&&(J.flags|=256);Wi(J,g,h,f,b);Jg(Ki(k,h));break a}}f=k=Ki(k,h);4!==T&&(T=2);null===tk?tk=[f]:tk.push(f);f=g;do{switch(f.tag){case 3:f.flags|=65536;\nb&=-b;f.lanes|=b;var x=Oi(f,k,b);fh(f,x);break a;case 1:h=k;var w=f.type,u=f.stateNode;if(0===(f.flags&128)&&(\"function\"===typeof w.getDerivedStateFromError||null!==u&&\"function\"===typeof u.componentDidCatch&&(null===Si||!Si.has(u)))){f.flags|=65536;b&=-b;f.lanes|=b;var F=Ri(f,h,b);fh(f,F);break a}}f=f.return}while(null!==f)}Tk(c)}catch(na){b=na;Y===c&&null!==c&&(Y=c=c.return);continue}break}while(1)}function Kk(){var a=nk.current;nk.current=ai;return null===a?ai:a}\nfunction uj(){if(0===T||3===T||2===T)T=4;null===R||0===(hh&268435455)&&0===(rk&268435455)||Dk(R,Z)}function Jk(a,b){var c=K;K|=2;var d=Kk();if(R!==a||Z!==b)vk=null,Lk(a,b);do try{Uk();break}catch(e){Nk(a,e)}while(1);Qg();K=c;nk.current=d;if(null!==Y)throw Error(p(261));R=null;Z=0;return T}function Uk(){for(;null!==Y;)Vk(Y)}function Mk(){for(;null!==Y&&!cc();)Vk(Y)}function Vk(a){var b=Wk(a.alternate,a,gj);a.memoizedProps=a.pendingProps;null===b?Tk(a):Y=b;ok.current=null}\nfunction Tk(a){var b=a;do{var c=b.alternate;a=b.return;if(0===(b.flags&32768)){if(c=Fj(c,b,gj),null!==c){Y=c;return}}else{c=Jj(c,b);if(null!==c){c.flags&=32767;Y=c;return}if(null!==a)a.flags|=32768,a.subtreeFlags=0,a.deletions=null;else{T=6;Y=null;return}}b=b.sibling;if(null!==b){Y=b;return}Y=b=a}while(null!==b);0===T&&(T=5)}function Qk(a,b,c){var d=C,e=pk.transition;try{pk.transition=null,C=1,Xk(a,b,c,d)}finally{pk.transition=e,C=d}return null}\nfunction Xk(a,b,c,d){do Ik();while(null!==xk);if(0!==(K&6))throw Error(p(327));c=a.finishedWork;var e=a.finishedLanes;if(null===c)return null;a.finishedWork=null;a.finishedLanes=0;if(c===a.current)throw Error(p(177));a.callbackNode=null;a.callbackPriority=0;var f=c.lanes|c.childLanes;Bc(a,f);a===R&&(Y=R=null,Z=0);0===(c.subtreeFlags&2064)&&0===(c.flags&2064)||wk||(wk=!0,Gk(hc,function(){Ik();return null}));f=0!==(c.flags&15990);if(0!==(c.subtreeFlags&15990)||f){f=pk.transition;pk.transition=null;\nvar g=C;C=1;var h=K;K|=4;ok.current=null;Pj(a,c);ek(c,a);Oe(Df);dd=!!Cf;Df=Cf=null;a.current=c;ik(c,a,e);dc();K=h;C=g;pk.transition=f}else a.current=c;wk&&(wk=!1,xk=a,yk=e);f=a.pendingLanes;0===f&&(Si=null);mc(c.stateNode,d);Ek(a,B());if(null!==b)for(d=a.onRecoverableError,c=0;c<b.length;c++)e=b[c],d(e.value,{componentStack:e.stack,digest:e.digest});if(Pi)throw Pi=!1,a=Qi,Qi=null,a;0!==(yk&1)&&0!==a.tag&&Ik();f=a.pendingLanes;0!==(f&1)?a===Ak?zk++:(zk=0,Ak=a):zk=0;jg();return null}\nfunction Ik(){if(null!==xk){var a=Dc(yk),b=pk.transition,c=C;try{pk.transition=null;C=16>a?16:a;if(null===xk)var d=!1;else{a=xk;xk=null;yk=0;if(0!==(K&6))throw Error(p(331));var e=K;K|=4;for(V=a.current;null!==V;){var f=V,g=f.child;if(0!==(V.flags&16)){var h=f.deletions;if(null!==h){for(var k=0;k<h.length;k++){var l=h[k];for(V=l;null!==V;){var m=V;switch(m.tag){case 0:case 11:case 15:Qj(8,m,f)}var q=m.child;if(null!==q)q.return=m,V=q;else for(;null!==V;){m=V;var r=m.sibling,y=m.return;Tj(m);if(m===\nl){V=null;break}if(null!==r){r.return=y;V=r;break}V=y}}}var n=f.alternate;if(null!==n){var t=n.child;if(null!==t){n.child=null;do{var J=t.sibling;t.sibling=null;t=J}while(null!==t)}}V=f}}if(0!==(f.subtreeFlags&2064)&&null!==g)g.return=f,V=g;else b:for(;null!==V;){f=V;if(0!==(f.flags&2048))switch(f.tag){case 0:case 11:case 15:Qj(9,f,f.return)}var x=f.sibling;if(null!==x){x.return=f.return;V=x;break b}V=f.return}}var w=a.current;for(V=w;null!==V;){g=V;var u=g.child;if(0!==(g.subtreeFlags&2064)&&null!==\nu)u.return=g,V=u;else b:for(g=w;null!==V;){h=V;if(0!==(h.flags&2048))try{switch(h.tag){case 0:case 11:case 15:Rj(9,h)}}catch(na){W(h,h.return,na)}if(h===g){V=null;break b}var F=h.sibling;if(null!==F){F.return=h.return;V=F;break b}V=h.return}}K=e;jg();if(lc&&\"function\"===typeof lc.onPostCommitFiberRoot)try{lc.onPostCommitFiberRoot(kc,a)}catch(na){}d=!0}return d}finally{C=c,pk.transition=b}}return!1}function Yk(a,b,c){b=Ki(c,b);b=Oi(a,b,1);a=dh(a,b,1);b=L();null!==a&&(Ac(a,1,b),Ek(a,b))}\nfunction W(a,b,c){if(3===a.tag)Yk(a,a,c);else for(;null!==b;){if(3===b.tag){Yk(b,a,c);break}else if(1===b.tag){var d=b.stateNode;if(\"function\"===typeof b.type.getDerivedStateFromError||\"function\"===typeof d.componentDidCatch&&(null===Si||!Si.has(d))){a=Ki(c,a);a=Ri(b,a,1);b=dh(b,a,1);a=L();null!==b&&(Ac(b,1,a),Ek(b,a));break}}b=b.return}}\nfunction Ui(a,b,c){var d=a.pingCache;null!==d&&d.delete(b);b=L();a.pingedLanes|=a.suspendedLanes&c;R===a&&(Z&c)===c&&(4===T||3===T&&(Z&130023424)===Z&&500>B()-gk?Lk(a,0):sk|=c);Ek(a,b)}function Zk(a,b){0===b&&(0===(a.mode&1)?b=1:(b=sc,sc<<=1,0===(sc&130023424)&&(sc=4194304)));var c=L();a=Zg(a,b);null!==a&&(Ac(a,b,c),Ek(a,c))}function vj(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane);Zk(a,c)}\nfunction ck(a,b){var c=0;switch(a.tag){case 13:var d=a.stateNode;var e=a.memoizedState;null!==e&&(c=e.retryLane);break;case 19:d=a.stateNode;break;default:throw Error(p(314));}null!==d&&d.delete(b);Zk(a,c)}var Wk;\nWk=function(a,b,c){if(null!==a)if(a.memoizedProps!==b.pendingProps||Wf.current)Ug=!0;else{if(0===(a.lanes&c)&&0===(b.flags&128))return Ug=!1,zj(a,b,c);Ug=0!==(a.flags&131072)?!0:!1}else Ug=!1,I&&0!==(b.flags&1048576)&&ug(b,ng,b.index);b.lanes=0;switch(b.tag){case 2:var d=b.type;jj(a,b);a=b.pendingProps;var e=Yf(b,H.current);Tg(b,c);e=Xh(null,b,d,a,e,c);var f=bi();b.flags|=1;\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof?(b.tag=1,b.memoizedState=null,b.updateQueue=\nnull,Zf(d)?(f=!0,cg(b)):f=!1,b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null,ah(b),e.updater=nh,b.stateNode=e,e._reactInternals=b,rh(b,d,a,c),b=kj(null,b,d,!0,f,c)):(b.tag=0,I&&f&&vg(b),Yi(null,b,e,c),b=b.child);return b;case 16:d=b.elementType;a:{jj(a,b);a=b.pendingProps;e=d._init;d=e(d._payload);b.type=d;e=b.tag=$k(d);a=Lg(d,a);switch(e){case 0:b=dj(null,b,d,a,c);break a;case 1:b=ij(null,b,d,a,c);break a;case 11:b=Zi(null,b,d,a,c);break a;case 14:b=aj(null,b,d,Lg(d.type,a),c);break a}throw Error(p(306,\nd,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),dj(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),ij(a,b,d,e,c);case 3:a:{lj(b);if(null===a)throw Error(p(387));d=b.pendingProps;f=b.memoizedState;e=f.element;bh(a,b);gh(b,d,null,c);var g=b.memoizedState;d=g.element;if(f.isDehydrated)if(f={element:d,isDehydrated:!1,cache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},b.updateQueue.baseState=\nf,b.memoizedState=f,b.flags&256){e=Ki(Error(p(423)),b);b=mj(a,b,d,c,e);break a}else if(d!==e){e=Ki(Error(p(424)),b);b=mj(a,b,d,c,e);break a}else for(yg=Lf(b.stateNode.containerInfo.firstChild),xg=b,I=!0,zg=null,c=Ch(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{Ig();if(d===e){b=$i(a,b,c);break a}Yi(a,b,d,c)}b=b.child}return b;case 5:return Kh(b),null===a&&Eg(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,Ef(d,e)?g=null:null!==f&&Ef(d,f)&&(b.flags|=32),\nhj(a,b),Yi(a,b,g,c),b.child;case 6:return null===a&&Eg(b),null;case 13:return pj(a,b,c);case 4:return Ih(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Bh(b,null,d,c):Yi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),Zi(a,b,d,e,c);case 7:return Yi(a,b,b.pendingProps,c),b.child;case 8:return Yi(a,b,b.pendingProps.children,c),b.child;case 12:return Yi(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;f=b.memoizedProps;\ng=e.value;G(Mg,d._currentValue);d._currentValue=g;if(null!==f)if(He(f.value,g)){if(f.children===e.children&&!Wf.current){b=$i(a,b,c);break a}}else for(f=b.child,null!==f&&(f.return=b);null!==f;){var h=f.dependencies;if(null!==h){g=f.child;for(var k=h.firstContext;null!==k;){if(k.context===d){if(1===f.tag){k=ch(-1,c&-c);k.tag=2;var l=f.updateQueue;if(null!==l){l=l.shared;var m=l.pending;null===m?k.next=k:(k.next=m.next,m.next=k);l.pending=k}}f.lanes|=c;k=f.alternate;null!==k&&(k.lanes|=c);Sg(f.return,\nc,b);h.lanes|=c;break}k=k.next}}else if(10===f.tag)g=f.type===b.type?null:f.child;else if(18===f.tag){g=f.return;if(null===g)throw Error(p(341));g.lanes|=c;h=g.alternate;null!==h&&(h.lanes|=c);Sg(g,c,b);g=f.sibling}else g=f.child;if(null!==g)g.return=f;else for(g=f;null!==g;){if(g===b){g=null;break}f=g.sibling;if(null!==f){f.return=g.return;g=f;break}g=g.return}f=g}Yi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,d=b.pendingProps.children,Tg(b,c),e=Vg(e),d=d(e),b.flags|=1,Yi(a,b,d,c),\nb.child;case 14:return d=b.type,e=Lg(d,b.pendingProps),e=Lg(d.type,e),aj(a,b,d,e,c);case 15:return cj(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),jj(a,b),b.tag=1,Zf(d)?(a=!0,cg(b)):a=!1,Tg(b,c),ph(b,d,e),rh(b,d,e,c),kj(null,b,d,!0,a,c);case 19:return yj(a,b,c);case 22:return ej(a,b,c)}throw Error(p(156,b.tag));};function Gk(a,b){return ac(a,b)}\nfunction al(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.subtreeFlags=this.flags=0;this.deletions=null;this.childLanes=this.lanes=0;this.alternate=null}function Bg(a,b,c,d){return new al(a,b,c,d)}function bj(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction $k(a){if(\"function\"===typeof a)return bj(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Da)return 11;if(a===Ga)return 14}return 2}\nfunction wh(a,b){var c=a.alternate;null===c?(c=Bg(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null);c.flags=a.flags&14680064;c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction yh(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)bj(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ya:return Ah(c.children,e,f,b);case za:g=8;e|=8;break;case Aa:return a=Bg(12,c,b,e|2),a.elementType=Aa,a.lanes=f,a;case Ea:return a=Bg(13,c,b,e),a.elementType=Ea,a.lanes=f,a;case Fa:return a=Bg(19,c,b,e),a.elementType=Fa,a.lanes=f,a;case Ia:return qj(c,e,f,b);default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case Ba:g=10;break a;case Ca:g=9;break a;case Da:g=11;\nbreak a;case Ga:g=14;break a;case Ha:g=16;d=null;break a}throw Error(p(130,null==a?a:typeof a,\"\"));}b=Bg(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Ah(a,b,c,d){a=Bg(7,a,d,b);a.lanes=c;return a}function qj(a,b,c,d){a=Bg(22,a,d,b);a.elementType=Ia;a.lanes=c;a.stateNode={isHidden:!1};return a}function xh(a,b,c){a=Bg(6,a,null,b);a.lanes=c;return a}\nfunction zh(a,b,c){b=Bg(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction bl(a,b,c,d,e){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.callbackNode=this.pendingContext=this.context=null;this.callbackPriority=0;this.eventTimes=zc(0);this.expirationTimes=zc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=zc(0);this.identifierPrefix=d;this.onRecoverableError=e;this.mutableSourceEagerHydrationData=\nnull}function cl(a,b,c,d,e,f,g,h,k){a=new bl(a,b,c,h,k);1===b?(b=1,!0===f&&(b|=8)):b=0;f=Bg(3,null,null,b);a.current=f;f.stateNode=a;f.memoizedState={element:d,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null};ah(f);return a}function dl(a,b,c){var d=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:wa,key:null==d?null:\"\"+d,children:a,containerInfo:b,implementation:c}}\nfunction el(a){if(!a)return Vf;a=a._reactInternals;a:{if(Vb(a)!==a||1!==a.tag)throw Error(p(170));var b=a;do{switch(b.tag){case 3:b=b.stateNode.context;break a;case 1:if(Zf(b.type)){b=b.stateNode.__reactInternalMemoizedMergedChildContext;break a}}b=b.return}while(null!==b);throw Error(p(171));}if(1===a.tag){var c=a.type;if(Zf(c))return bg(a,c,b)}return b}\nfunction fl(a,b,c,d,e,f,g,h,k){a=cl(c,d,!0,a,e,f,g,h,k);a.context=el(null);c=a.current;d=L();e=lh(c);f=ch(d,e);f.callback=void 0!==b&&null!==b?b:null;dh(c,f,e);a.current.lanes=e;Ac(a,e,d);Ek(a,d);return a}function gl(a,b,c,d){var e=b.current,f=L(),g=lh(e);c=el(c);null===b.context?b.context=c:b.pendingContext=c;b=ch(f,g);b.payload={element:a};d=void 0===d?null:d;null!==d&&(b.callback=d);a=dh(e,b,g);null!==a&&(mh(a,e,g,f),eh(a,e,g));return g}\nfunction hl(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function il(a,b){a=a.memoizedState;if(null!==a&&null!==a.dehydrated){var c=a.retryLane;a.retryLane=0!==c&&c<b?c:b}}function jl(a,b){il(a,b);(a=a.alternate)&&il(a,b)}function kl(){return null}var ll=\"function\"===typeof reportError?reportError:function(a){console.error(a)};function ml(a){this._internalRoot=a}\nnl.prototype.render=ml.prototype.render=function(a){var b=this._internalRoot;if(null===b)throw Error(p(409));gl(a,b,null,null)};nl.prototype.unmount=ml.prototype.unmount=function(){var a=this._internalRoot;if(null!==a){this._internalRoot=null;var b=a.containerInfo;Sk(function(){gl(null,a,null,null)});b[uf]=null}};function nl(a){this._internalRoot=a}\nnl.prototype.unstable_scheduleHydration=function(a){if(a){var b=Hc();a={blockedOn:null,target:a,priority:b};for(var c=0;c<Qc.length&&0!==b&&b<Qc[c].priority;c++);Qc.splice(c,0,a);0===c&&Vc(a)}};function ol(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType)}function pl(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType&&(8!==a.nodeType||\" react-mount-point-unstable \"!==a.nodeValue))}function ql(){}\nfunction rl(a,b,c,d,e){if(e){if(\"function\"===typeof d){var f=d;d=function(){var a=hl(g);f.call(a)}}var g=fl(b,d,a,0,null,!1,!1,\"\",ql);a._reactRootContainer=g;a[uf]=g.current;sf(8===a.nodeType?a.parentNode:a);Sk();return g}for(;e=a.lastChild;)a.removeChild(e);if(\"function\"===typeof d){var h=d;d=function(){var a=hl(k);h.call(a)}}var k=cl(a,0,!1,null,null,!1,!1,\"\",ql);a._reactRootContainer=k;a[uf]=k.current;sf(8===a.nodeType?a.parentNode:a);Sk(function(){gl(b,k,c,d)});return k}\nfunction sl(a,b,c,d,e){var f=c._reactRootContainer;if(f){var g=f;if(\"function\"===typeof e){var h=e;e=function(){var a=hl(g);h.call(a)}}gl(b,g,a,e)}else g=rl(c,b,a,e,d);return hl(g)}Ec=function(a){switch(a.tag){case 3:var b=a.stateNode;if(b.current.memoizedState.isDehydrated){var c=tc(b.pendingLanes);0!==c&&(Cc(b,c|1),Ek(b,B()),0===(K&6)&&(Hj=B()+500,jg()))}break;case 13:Sk(function(){var b=Zg(a,1);if(null!==b){var c=L();mh(b,a,1,c)}}),jl(a,1)}};\nFc=function(a){if(13===a.tag){var b=Zg(a,134217728);if(null!==b){var c=L();mh(b,a,134217728,c)}jl(a,134217728)}};Gc=function(a){if(13===a.tag){var b=lh(a),c=Zg(a,b);if(null!==c){var d=L();mh(c,a,b,d)}jl(a,b)}};Hc=function(){return C};Ic=function(a,b){var c=C;try{return C=a,b()}finally{C=c}};\nyb=function(a,b,c){switch(b){case \"input\":bb(a,c);b=c.name;if(\"radio\"===c.type&&null!=b){for(c=a;c.parentNode;)c=c.parentNode;c=c.querySelectorAll(\"input[name=\"+JSON.stringify(\"\"+b)+'][type=\"radio\"]');for(b=0;b<c.length;b++){var d=c[b];if(d!==a&&d.form===a.form){var e=Db(d);if(!e)throw Error(p(90));Wa(d);bb(d,e)}}}break;case \"textarea\":ib(a,c);break;case \"select\":b=c.value,null!=b&&fb(a,!!c.multiple,b,!1)}};Gb=Rk;Hb=Sk;\nvar tl={usingClientEntryPoint:!1,Events:[Cb,ue,Db,Eb,Fb,Rk]},ul={findFiberByHostInstance:Wc,bundleType:0,version:\"18.2.0\",rendererPackageName:\"react-dom\"};\nvar vl={bundleType:ul.bundleType,version:ul.version,rendererPackageName:ul.rendererPackageName,rendererConfig:ul.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:ua.ReactCurrentDispatcher,findHostInstanceByFiber:function(a){a=Zb(a);return null===a?null:a.stateNode},findFiberByHostInstance:ul.findFiberByHostInstance||\nkl,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:\"18.2.0-next-9e3b772b8-20220608\"};if(\"undefined\"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var wl=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!wl.isDisabled&&wl.supportsFiber)try{kc=wl.inject(vl),lc=wl}catch(a){}}exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=tl;\nexports.createPortal=function(a,b){var c=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!ol(b))throw Error(p(200));return dl(a,b,null,c)};exports.createRoot=function(a,b){if(!ol(a))throw Error(p(299));var c=!1,d=\"\",e=ll;null!==b&&void 0!==b&&(!0===b.unstable_strictMode&&(c=!0),void 0!==b.identifierPrefix&&(d=b.identifierPrefix),void 0!==b.onRecoverableError&&(e=b.onRecoverableError));b=cl(a,1,!1,null,null,c,!1,d,e);a[uf]=b.current;sf(8===a.nodeType?a.parentNode:a);return new ml(b)};\nexports.findDOMNode=function(a){if(null==a)return null;if(1===a.nodeType)return a;var b=a._reactInternals;if(void 0===b){if(\"function\"===typeof a.render)throw Error(p(188));a=Object.keys(a).join(\",\");throw Error(p(268,a));}a=Zb(b);a=null===a?null:a.stateNode;return a};exports.flushSync=function(a){return Sk(a)};exports.hydrate=function(a,b,c){if(!pl(b))throw Error(p(200));return sl(null,a,b,!0,c)};\nexports.hydrateRoot=function(a,b,c){if(!ol(a))throw Error(p(405));var d=null!=c&&c.hydratedSources||null,e=!1,f=\"\",g=ll;null!==c&&void 0!==c&&(!0===c.unstable_strictMode&&(e=!0),void 0!==c.identifierPrefix&&(f=c.identifierPrefix),void 0!==c.onRecoverableError&&(g=c.onRecoverableError));b=fl(b,null,a,1,null!=c?c:null,e,!1,f,g);a[uf]=b.current;sf(a);if(d)for(a=0;a<d.length;a++)c=d[a],e=c._getVersion,e=e(c._source),null==b.mutableSourceEagerHydrationData?b.mutableSourceEagerHydrationData=[c,e]:b.mutableSourceEagerHydrationData.push(c,\ne);return new nl(b)};exports.render=function(a,b,c){if(!pl(b))throw Error(p(200));return sl(null,a,b,!1,c)};exports.unmountComponentAtNode=function(a){if(!pl(a))throw Error(p(40));return a._reactRootContainer?(Sk(function(){sl(null,null,a,!1,function(){a._reactRootContainer=null;a[uf]=null})}),!0):!1};exports.unstable_batchedUpdates=Rk;\nexports.unstable_renderSubtreeIntoContainer=function(a,b,c,d){if(!pl(c))throw Error(p(200));if(null==a||void 0===a._reactInternals)throw Error(p(38));return sl(a,b,c,!1,d)};exports.version=\"18.2.0-next-9e3b772b8-20220608\";\n","'use strict';\n\nvar m = require('react-dom');\nif (process.env.NODE_ENV === 'production') {\n exports.createRoot = m.createRoot;\n exports.hydrateRoot = m.hydrateRoot;\n} else {\n var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n exports.createRoot = function(c, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.createRoot(c, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n exports.hydrateRoot = function(c, h, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.hydrateRoot(c, h, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n}\n","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","/**\n * defines a focus group\n */\nexport var FOCUS_GROUP = 'data-focus-lock';\n/**\n * disables element discovery inside a group marked by key\n */\nexport var FOCUS_DISABLED = 'data-focus-lock-disabled';\n/**\n * allows uncontrolled focus within the marked area, effectively disabling focus lock for it's content\n */\nexport var FOCUS_ALLOW = 'data-no-focus-lock';\n/**\n * instructs autofocus engine to pick default autofocus inside a given node\n * can be set on the element or container\n */\nexport var FOCUS_AUTO = 'data-autofocus-inside';\n/**\n * instructs autofocus to ignore elements within a given node\n * can be set on the element or container\n */\nexport var FOCUS_NO_AUTOFOCUS = 'data-no-autofocus';\n","import { assignRef } from './assignRef';\nimport { useCallbackRef } from './useRef';\n/**\n * Merges two or more refs together providing a single interface to set their value\n * @param {RefObject|Ref} refs\n * @returns {MutableRefObject} - a new ref, which translates all changes to {refs}\n *\n * @see {@link mergeRefs} a version without buit-in memoization\n * @see https://github.com/theKashey/use-callback-ref#usemergerefs\n * @example\n * const Component = React.forwardRef((props, ref) => {\n * const ownRef = useRef();\n * const domRef = useMergeRefs([ref, ownRef]); // 👈 merge together\n * return <div ref={domRef}>...</div>\n * }\n */\nexport function useMergeRefs(refs, defaultValue) {\n return useCallbackRef(defaultValue || null, function (newValue) { return refs.forEach(function (ref) { return assignRef(ref, newValue); }); });\n}\n","import { useState } from 'react';\n/**\n * creates a MutableRef with ref change callback\n * @param initialValue - initial ref value\n * @param {Function} callback - a callback to run when value changes\n *\n * @example\n * const ref = useCallbackRef(0, (newValue, oldValue) => console.log(oldValue, '->', newValue);\n * ref.current = 1;\n * // prints 0 -> 1\n *\n * @see https://reactjs.org/docs/hooks-reference.html#useref\n * @see https://github.com/theKashey/use-callback-ref#usecallbackref---to-replace-reactuseref\n * @returns {MutableRefObject}\n */\nexport function useCallbackRef(initialValue, callback) {\n var ref = useState(function () { return ({\n // value\n value: initialValue,\n // last callback\n callback: callback,\n // \"memoized\" public interface\n facade: {\n get current() {\n return ref.value;\n },\n set current(value) {\n var last = ref.value;\n if (last !== value) {\n ref.value = value;\n ref.callback(value, last);\n }\n },\n },\n }); })[0];\n // update callback\n ref.callback = callback;\n return ref.facade;\n}\n","/**\n * Assigns a value for a given ref, no matter of the ref format\n * @param {RefObject} ref - a callback function or ref object\n * @param value - a new value\n *\n * @see https://github.com/theKashey/use-callback-ref#assignref\n * @example\n * const refObject = useRef();\n * const refFn = (ref) => {....}\n *\n * assignRef(refObject, \"refValue\");\n * assignRef(refFn, \"refValue\");\n */\nexport function assignRef(ref, value) {\n if (typeof ref === 'function') {\n ref(value);\n }\n else if (ref) {\n ref.current = value;\n }\n return ref;\n}\n","import * as React from 'react';\nimport PropTypes from 'prop-types';\nexport var hiddenGuard = {\n width: '1px',\n height: '0px',\n padding: 0,\n overflow: 'hidden',\n position: 'fixed',\n top: '1px',\n left: '1px'\n};\n\nvar InFocusGuard = function InFocusGuard(_ref) {\n var children = _ref.children;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"div\", {\n key: \"guard-first\",\n \"data-focus-guard\": true,\n \"data-focus-auto-guard\": true,\n style: hiddenGuard\n }), children, children && /*#__PURE__*/React.createElement(\"div\", {\n key: \"guard-last\",\n \"data-focus-guard\": true,\n \"data-focus-auto-guard\": true,\n style: hiddenGuard\n }));\n};\n\nInFocusGuard.propTypes = process.env.NODE_ENV !== \"production\" ? {\n children: PropTypes.node\n} : {};\nInFocusGuard.defaultProps = {\n children: null\n};\nexport default InFocusGuard;","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","import { __assign } from \"tslib\";\nfunction ItoI(a) {\n return a;\n}\nfunction innerCreateMedium(defaults, middleware) {\n if (middleware === void 0) { middleware = ItoI; }\n var buffer = [];\n var assigned = false;\n var medium = {\n read: function () {\n if (assigned) {\n throw new Error('Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.');\n }\n if (buffer.length) {\n return buffer[buffer.length - 1];\n }\n return defaults;\n },\n useMedium: function (data) {\n var item = middleware(data, assigned);\n buffer.push(item);\n return function () {\n buffer = buffer.filter(function (x) { return x !== item; });\n };\n },\n assignSyncMedium: function (cb) {\n assigned = true;\n while (buffer.length) {\n var cbs = buffer;\n buffer = [];\n cbs.forEach(cb);\n }\n buffer = {\n push: function (x) { return cb(x); },\n filter: function () { return buffer; },\n };\n },\n assignMedium: function (cb) {\n assigned = true;\n var pendingQueue = [];\n if (buffer.length) {\n var cbs = buffer;\n buffer = [];\n cbs.forEach(cb);\n pendingQueue = buffer;\n }\n var executeQueue = function () {\n var cbs = pendingQueue;\n pendingQueue = [];\n cbs.forEach(cb);\n };\n var cycle = function () { return Promise.resolve().then(executeQueue); };\n cycle();\n buffer = {\n push: function (x) {\n pendingQueue.push(x);\n cycle();\n },\n filter: function (filter) {\n pendingQueue = pendingQueue.filter(filter);\n return buffer;\n },\n };\n },\n };\n return medium;\n}\nexport function createMedium(defaults, middleware) {\n if (middleware === void 0) { middleware = ItoI; }\n return innerCreateMedium(defaults, middleware);\n}\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function createSidecarMedium(options) {\n if (options === void 0) { options = {}; }\n var medium = innerCreateMedium(null);\n medium.options = __assign({ async: true, ssr: false }, options);\n return medium;\n}\n","import { createMedium, createSidecarMedium } from 'use-sidecar';\nexport var mediumFocus = createMedium({}, function (_ref) {\n var target = _ref.target,\n currentTarget = _ref.currentTarget;\n return {\n target: target,\n currentTarget: currentTarget\n };\n});\nexport var mediumBlur = createMedium();\nexport var mediumEffect = createMedium();\nexport var mediumSidecar = createSidecarMedium({\n async: true\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport { node, bool, string, any, arrayOf, oneOfType, object, func } from 'prop-types';\nimport * as constants from 'focus-lock/constants';\nimport { useMergeRefs } from 'use-callback-ref';\nimport { useEffect } from 'react';\nimport { hiddenGuard } from './FocusGuard';\nimport { mediumFocus, mediumBlur, mediumSidecar } from './medium';\nvar emptyArray = [];\nvar FocusLock = /*#__PURE__*/React.forwardRef(function FocusLockUI(props, parentRef) {\n var _extends2;\n\n var _React$useState = React.useState(),\n realObserved = _React$useState[0],\n setObserved = _React$useState[1];\n\n var observed = React.useRef();\n var isActive = React.useRef(false);\n var originalFocusedElement = React.useRef(null);\n var children = props.children,\n disabled = props.disabled,\n noFocusGuards = props.noFocusGuards,\n persistentFocus = props.persistentFocus,\n crossFrame = props.crossFrame,\n autoFocus = props.autoFocus,\n allowTextSelection = props.allowTextSelection,\n group = props.group,\n className = props.className,\n whiteList = props.whiteList,\n hasPositiveIndices = props.hasPositiveIndices,\n _props$shards = props.shards,\n shards = _props$shards === void 0 ? emptyArray : _props$shards,\n _props$as = props.as,\n Container = _props$as === void 0 ? 'div' : _props$as,\n _props$lockProps = props.lockProps,\n containerProps = _props$lockProps === void 0 ? {} : _props$lockProps,\n SideCar = props.sideCar,\n shouldReturnFocus = props.returnFocus,\n focusOptions = props.focusOptions,\n onActivationCallback = props.onActivation,\n onDeactivationCallback = props.onDeactivation;\n\n var _React$useState2 = React.useState({}),\n id = _React$useState2[0]; // SIDE EFFECT CALLBACKS\n\n\n var onActivation = React.useCallback(function () {\n originalFocusedElement.current = originalFocusedElement.current || document && document.activeElement;\n\n if (observed.current && onActivationCallback) {\n onActivationCallback(observed.current);\n }\n\n isActive.current = true;\n }, [onActivationCallback]);\n var onDeactivation = React.useCallback(function () {\n isActive.current = false;\n\n if (onDeactivationCallback) {\n onDeactivationCallback(observed.current);\n }\n }, [onDeactivationCallback]);\n useEffect(function () {\n if (!disabled) {\n // cleanup return focus on trap deactivation\n // sideEffect/returnFocus should happen by this time\n originalFocusedElement.current = null;\n }\n }, []);\n var returnFocus = React.useCallback(function (allowDefer) {\n var returnFocusTo = originalFocusedElement.current;\n\n if (returnFocusTo && returnFocusTo.focus) {\n var howToReturnFocus = typeof shouldReturnFocus === 'function' ? shouldReturnFocus(returnFocusTo) : shouldReturnFocus;\n\n if (howToReturnFocus) {\n var returnFocusOptions = typeof howToReturnFocus === 'object' ? howToReturnFocus : undefined;\n originalFocusedElement.current = null;\n\n if (allowDefer) {\n // React might return focus after update\n // it's safer to defer the action\n Promise.resolve().then(function () {\n return returnFocusTo.focus(returnFocusOptions);\n });\n } else {\n returnFocusTo.focus(returnFocusOptions);\n }\n }\n }\n }, [shouldReturnFocus]); // MEDIUM CALLBACKS\n\n var onFocus = React.useCallback(function (event) {\n if (isActive.current) {\n mediumFocus.useMedium(event);\n }\n }, []);\n var onBlur = mediumBlur.useMedium; // REF PROPAGATION\n // not using real refs due to race conditions\n\n var setObserveNode = React.useCallback(function (newObserved) {\n if (observed.current !== newObserved) {\n observed.current = newObserved;\n setObserved(newObserved);\n }\n }, []);\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof allowTextSelection !== 'undefined') {\n // eslint-disable-next-line no-console\n console.warn('React-Focus-Lock: allowTextSelection is deprecated and enabled by default');\n }\n\n React.useEffect(function () {\n if (!observed.current) {\n // eslint-disable-next-line no-console\n console.error('FocusLock: could not obtain ref to internal node');\n }\n }, []);\n }\n\n var lockProps = _extends((_extends2 = {}, _extends2[constants.FOCUS_DISABLED] = disabled && 'disabled', _extends2[constants.FOCUS_GROUP] = group, _extends2), containerProps);\n\n var hasLeadingGuards = noFocusGuards !== true;\n var hasTailingGuards = hasLeadingGuards && noFocusGuards !== 'tail';\n var mergedRef = useMergeRefs([parentRef, setObserveNode]);\n return /*#__PURE__*/React.createElement(React.Fragment, null, hasLeadingGuards && [\n /*#__PURE__*/\n // nearest focus guard\n React.createElement(\"div\", {\n key: \"guard-first\",\n \"data-focus-guard\": true,\n tabIndex: disabled ? -1 : 0,\n style: hiddenGuard\n }), // first tabbed element guard\n hasPositiveIndices ? /*#__PURE__*/React.createElement(\"div\", {\n key: \"guard-nearest\",\n \"data-focus-guard\": true,\n tabIndex: disabled ? -1 : 1,\n style: hiddenGuard\n }) : null], !disabled && /*#__PURE__*/React.createElement(SideCar, {\n id: id,\n sideCar: mediumSidecar,\n observed: realObserved,\n disabled: disabled,\n persistentFocus: persistentFocus,\n crossFrame: crossFrame,\n autoFocus: autoFocus,\n whiteList: whiteList,\n shards: shards,\n onActivation: onActivation,\n onDeactivation: onDeactivation,\n returnFocus: returnFocus,\n focusOptions: focusOptions\n }), /*#__PURE__*/React.createElement(Container, _extends({\n ref: mergedRef\n }, lockProps, {\n className: className,\n onBlur: onBlur,\n onFocus: onFocus\n }), children), hasTailingGuards && /*#__PURE__*/React.createElement(\"div\", {\n \"data-focus-guard\": true,\n tabIndex: disabled ? -1 : 0,\n style: hiddenGuard\n }));\n});\nFocusLock.propTypes = process.env.NODE_ENV !== \"production\" ? {\n children: node,\n disabled: bool,\n returnFocus: oneOfType([bool, object, func]),\n focusOptions: object,\n noFocusGuards: bool,\n hasPositiveIndices: bool,\n allowTextSelection: bool,\n autoFocus: bool,\n persistentFocus: bool,\n crossFrame: bool,\n group: string,\n className: string,\n whiteList: func,\n shards: arrayOf(any),\n as: oneOfType([string, func, object]),\n lockProps: object,\n onActivation: func,\n onDeactivation: func,\n sideCar: any.isRequired\n} : {};\nFocusLock.defaultProps = {\n children: undefined,\n disabled: false,\n returnFocus: false,\n focusOptions: undefined,\n noFocusGuards: false,\n autoFocus: true,\n persistentFocus: false,\n crossFrame: true,\n hasPositiveIndices: undefined,\n allowTextSelection: undefined,\n group: undefined,\n className: undefined,\n whiteList: undefined,\n shards: undefined,\n as: 'div',\n lockProps: {},\n onActivation: undefined,\n onDeactivation: undefined\n};\nexport default FocusLock;","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","import _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport React, { PureComponent } from 'react';\n\nfunction withSideEffect(reducePropsToState, handleStateChangeOnClient) {\n if (process.env.NODE_ENV !== \"production\") {\n if (typeof reducePropsToState !== 'function') {\n throw new Error('Expected reducePropsToState to be a function.');\n }\n\n if (typeof handleStateChangeOnClient !== 'function') {\n throw new Error('Expected handleStateChangeOnClient to be a function.');\n }\n }\n\n function getDisplayName(WrappedComponent) {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n }\n\n return function wrap(WrappedComponent) {\n if (process.env.NODE_ENV !== \"production\") {\n if (typeof WrappedComponent !== 'function') {\n throw new Error('Expected WrappedComponent to be a React component.');\n }\n }\n\n var mountedInstances = [];\n var state;\n\n function emitChange() {\n state = reducePropsToState(mountedInstances.map(function (instance) {\n return instance.props;\n }));\n handleStateChangeOnClient(state);\n }\n\n var SideEffect = /*#__PURE__*/function (_PureComponent) {\n _inheritsLoose(SideEffect, _PureComponent);\n\n function SideEffect() {\n return _PureComponent.apply(this, arguments) || this;\n }\n\n // Try to use displayName of wrapped component\n SideEffect.peek = function peek() {\n return state;\n };\n\n var _proto = SideEffect.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n mountedInstances.push(this);\n emitChange();\n };\n\n _proto.componentDidUpdate = function componentDidUpdate() {\n emitChange();\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n var index = mountedInstances.indexOf(this);\n mountedInstances.splice(index, 1);\n emitChange();\n };\n\n _proto.render = function render() {\n return /*#__PURE__*/React.createElement(WrappedComponent, this.props);\n };\n\n return SideEffect;\n }(PureComponent);\n\n _defineProperty(SideEffect, \"displayName\", \"SideEffect(\" + getDisplayName(WrappedComponent) + \")\");\n\n return SideEffect;\n };\n}\n\nexport default withSideEffect;\n","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","import { FOCUS_NO_AUTOFOCUS } from '../constants';\nvar isElementHidden = function (node) {\n // we can measure only \"elements\"\n // consider others as \"visible\"\n if (node.nodeType !== Node.ELEMENT_NODE) {\n return false;\n }\n var computedStyle = window.getComputedStyle(node, null);\n if (!computedStyle || !computedStyle.getPropertyValue) {\n return false;\n }\n return (computedStyle.getPropertyValue('display') === 'none' || computedStyle.getPropertyValue('visibility') === 'hidden');\n};\nvar getParentNode = function (node) {\n // DOCUMENT_FRAGMENT_NODE can also point on ShadowRoot. In this case .host will point on the next node\n return node.parentNode && node.parentNode.nodeType === Node.DOCUMENT_FRAGMENT_NODE\n ? // eslint-disable-next-line @typescript-eslint/no-explicit-any\n node.parentNode.host\n : node.parentNode;\n};\nvar isTopNode = function (node) {\n // @ts-ignore\n return node === document || (node && node.nodeType === Node.DOCUMENT_NODE);\n};\nvar isVisibleUncached = function (node, checkParent) {\n return !node || isTopNode(node) || (!isElementHidden(node) && checkParent(getParentNode(node)));\n};\nexport var isVisibleCached = function (visibilityCache, node) {\n var cached = visibilityCache.get(node);\n if (cached !== undefined) {\n return cached;\n }\n var result = isVisibleUncached(node, isVisibleCached.bind(undefined, visibilityCache));\n visibilityCache.set(node, result);\n return result;\n};\nvar isAutoFocusAllowedUncached = function (node, checkParent) {\n return node && !isTopNode(node) ? (isAutoFocusAllowed(node) ? checkParent(getParentNode(node)) : false) : true;\n};\nexport var isAutoFocusAllowedCached = function (cache, node) {\n var cached = cache.get(node);\n if (cached !== undefined) {\n return cached;\n }\n var result = isAutoFocusAllowedUncached(node, isAutoFocusAllowedCached.bind(undefined, cache));\n cache.set(node, result);\n return result;\n};\nexport var getDataset = function (node) {\n // @ts-ignore\n return node.dataset;\n};\nexport var isHTMLButtonElement = function (node) { return node.tagName === 'BUTTON'; };\nexport var isHTMLInputElement = function (node) { return node.tagName === 'INPUT'; };\nexport var isRadioElement = function (node) {\n return isHTMLInputElement(node) && node.type === 'radio';\n};\nexport var notHiddenInput = function (node) {\n return !((isHTMLInputElement(node) || isHTMLButtonElement(node)) && (node.type === 'hidden' || node.disabled));\n};\nexport var isAutoFocusAllowed = function (node) {\n var attribute = node.getAttribute(FOCUS_NO_AUTOFOCUS);\n return ![true, 'true', ''].includes(attribute);\n};\nexport var isGuard = function (node) { var _a; return Boolean(node && ((_a = getDataset(node)) === null || _a === void 0 ? void 0 : _a.focusGuard)); };\nexport var isNotAGuard = function (node) { return !isGuard(node); };\nexport var isDefined = function (x) { return Boolean(x); };\n","import { isRadioElement } from './is';\nvar findSelectedRadio = function (node, nodes) {\n return nodes\n .filter(isRadioElement)\n .filter(function (el) { return el.name === node.name; })\n .filter(function (el) { return el.checked; })[0] || node;\n};\nexport var correctNode = function (node, nodes) {\n if (isRadioElement(node) && node.name) {\n return findSelectedRadio(node, nodes);\n }\n return node;\n};\n/**\n * giving a set of radio inputs keeps only selected (tabbable) ones\n * @param nodes\n */\nexport var correctNodes = function (nodes) {\n // IE11 has no Set(array) constructor\n var resultSet = new Set();\n nodes.forEach(function (node) { return resultSet.add(correctNode(node, nodes)); });\n // using filter to support IE11\n return nodes.filter(function (node) { return resultSet.has(node); });\n};\n","import { correctNode } from './correctFocus';\nexport var pickFirstFocus = function (nodes) {\n if (nodes[0] && nodes.length > 1) {\n return correctNode(nodes[0], nodes);\n }\n return nodes[0];\n};\nexport var pickFocusable = function (nodes, index) {\n if (nodes.length > 1) {\n return nodes.indexOf(correctNode(nodes[index], nodes));\n }\n return index;\n};\n","import { correctNodes } from './utils/correctFocus';\nimport { pickFocusable } from './utils/firstFocus';\nimport { isGuard } from './utils/is';\nexport var NEW_FOCUS = 'NEW_FOCUS';\n/**\n * Main solver for the \"find next focus\" question\n * @param innerNodes\n * @param outerNodes\n * @param activeElement\n * @param lastNode\n * @returns {number|string|undefined|*}\n */\nexport var newFocus = function (innerNodes, outerNodes, activeElement, lastNode) {\n var cnt = innerNodes.length;\n var firstFocus = innerNodes[0];\n var lastFocus = innerNodes[cnt - 1];\n var isOnGuard = isGuard(activeElement);\n // focus is inside\n if (activeElement && innerNodes.indexOf(activeElement) >= 0) {\n return undefined;\n }\n var activeIndex = activeElement !== undefined ? outerNodes.indexOf(activeElement) : -1;\n var lastIndex = lastNode ? outerNodes.indexOf(lastNode) : activeIndex;\n var lastNodeInside = lastNode ? innerNodes.indexOf(lastNode) : -1;\n var indexDiff = activeIndex - lastIndex;\n var firstNodeIndex = outerNodes.indexOf(firstFocus);\n var lastNodeIndex = outerNodes.indexOf(lastFocus);\n var correctedNodes = correctNodes(outerNodes);\n var correctedIndex = activeElement !== undefined ? correctedNodes.indexOf(activeElement) : -1;\n var correctedIndexDiff = correctedIndex - (lastNode ? correctedNodes.indexOf(lastNode) : activeIndex);\n var returnFirstNode = pickFocusable(innerNodes, 0);\n var returnLastNode = pickFocusable(innerNodes, cnt - 1);\n // new focus\n if (activeIndex === -1 || lastNodeInside === -1) {\n return NEW_FOCUS;\n }\n // old focus\n if (!indexDiff && lastNodeInside >= 0) {\n return lastNodeInside;\n }\n // first element\n if (activeIndex <= firstNodeIndex && isOnGuard && Math.abs(indexDiff) > 1) {\n return returnLastNode;\n }\n // last element\n if (activeIndex >= lastNodeIndex && isOnGuard && Math.abs(indexDiff) > 1) {\n return returnFirstNode;\n }\n // jump out, but not on the guard\n if (indexDiff && Math.abs(correctedIndexDiff) > 1) {\n return lastNodeInside;\n }\n // focus above lock\n if (activeIndex <= firstNodeIndex) {\n return returnLastNode;\n }\n // focus below lock\n if (activeIndex > lastNodeIndex) {\n return returnFirstNode;\n }\n // index is inside tab order, but outside Lock\n if (indexDiff) {\n if (Math.abs(indexDiff) > 1) {\n return lastNodeInside;\n }\n return (cnt + lastNodeInside + indexDiff) % cnt;\n }\n // do nothing\n return undefined;\n};\n","/*\nIE11 support\n */\nexport var toArray = function (a) {\n var ret = Array(a.length);\n for (var i = 0; i < a.length; ++i) {\n ret[i] = a[i];\n }\n return ret;\n};\nexport var asArray = function (a) { return (Array.isArray(a) ? a : [a]); };\n","import { toArray } from './array';\nexport var tabSort = function (a, b) {\n var tabDiff = a.tabIndex - b.tabIndex;\n var indexDiff = a.index - b.index;\n if (tabDiff) {\n if (!a.tabIndex) {\n return 1;\n }\n if (!b.tabIndex) {\n return -1;\n }\n }\n return tabDiff || indexDiff;\n};\nexport var orderByTabIndex = function (nodes, filterNegative, keepGuards) {\n return toArray(nodes)\n .map(function (node, index) { return ({\n node: node,\n index: index,\n tabIndex: keepGuards && node.tabIndex === -1 ? ((node.dataset || {}).focusGuard ? 0 : -1) : node.tabIndex,\n }); })\n .filter(function (data) { return !filterNegative || data.tabIndex >= 0; })\n .sort(tabSort);\n};\n","import { FOCUS_AUTO } from '../constants';\nimport { toArray } from './array';\nimport { tabbables } from './tabbables';\nvar queryTabbables = tabbables.join(',');\nvar queryGuardTabbables = \"\".concat(queryTabbables, \", [data-focus-guard]\");\nvar getFocusablesWithShadowDom = function (parent, withGuards) {\n var _a;\n return toArray(((_a = parent.shadowRoot) === null || _a === void 0 ? void 0 : _a.children) || parent.children).reduce(function (acc, child) {\n return acc.concat(child.matches(withGuards ? queryGuardTabbables : queryTabbables) ? [child] : [], getFocusablesWithShadowDom(child));\n }, []);\n};\nexport var getFocusables = function (parents, withGuards) {\n return parents.reduce(function (acc, parent) {\n return acc.concat(\n // add all tabbables inside and within shadow DOMs in DOM order\n getFocusablesWithShadowDom(parent, withGuards), \n // add if node is tabbable itself\n parent.parentNode\n ? toArray(parent.parentNode.querySelectorAll(queryTabbables)).filter(function (node) { return node === parent; })\n : []);\n }, []);\n};\n/**\n * return a list of focusable nodes within an area marked as \"auto-focusable\"\n * @param parent\n */\nexport var getParentAutofocusables = function (parent) {\n var parentFocus = parent.querySelectorAll(\"[\".concat(FOCUS_AUTO, \"]\"));\n return toArray(parentFocus)\n .map(function (node) { return getFocusables([node]); })\n .reduce(function (acc, nodes) { return acc.concat(nodes); }, []);\n};\n","/**\n * list of the object to be considered as focusable\n */\nexport var tabbables = [\n 'button:enabled',\n 'select:enabled',\n 'textarea:enabled',\n 'input:enabled',\n // elements with explicit roles will also use explicit tabindex\n // '[role=\"button\"]',\n 'a[href]',\n 'area[href]',\n 'summary',\n 'iframe',\n 'object',\n 'embed',\n 'audio[controls]',\n 'video[controls]',\n '[tabindex]',\n '[contenteditable]',\n '[autofocus]',\n];\n","import { toArray } from './array';\nimport { isAutoFocusAllowedCached, isVisibleCached, notHiddenInput } from './is';\nimport { orderByTabIndex } from './tabOrder';\nimport { getFocusables, getParentAutofocusables } from './tabUtils';\n/**\n * given list of focusable elements keeps the ones user can interact with\n * @param nodes\n * @param visibilityCache\n */\nexport var filterFocusable = function (nodes, visibilityCache) {\n return toArray(nodes)\n .filter(function (node) { return isVisibleCached(visibilityCache, node); })\n .filter(function (node) { return notHiddenInput(node); });\n};\nexport var filterAutoFocusable = function (nodes, cache) {\n if (cache === void 0) { cache = new Map(); }\n return toArray(nodes).filter(function (node) { return isAutoFocusAllowedCached(cache, node); });\n};\n/**\n * only tabbable ones\n * (but with guards which would be ignored)\n */\nexport var getTabbableNodes = function (topNodes, visibilityCache, withGuards) {\n return orderByTabIndex(filterFocusable(getFocusables(topNodes, withGuards), visibilityCache), true, withGuards);\n};\n/**\n * actually anything \"focusable\", not only tabbable\n * (without guards, as long as they are not expected to be focused)\n */\nexport var getAllTabbableNodes = function (topNodes, visibilityCache) {\n return orderByTabIndex(filterFocusable(getFocusables(topNodes), visibilityCache), false);\n};\n/**\n * return list of nodes which are expected to be auto-focused\n * @param topNode\n * @param visibilityCache\n */\nexport var parentAutofocusables = function (topNode, visibilityCache) {\n return filterFocusable(getParentAutofocusables(topNode), visibilityCache);\n};\n/*\n * Determines if element is contained in scope, including nested shadow DOMs\n */\nexport var contains = function (scope, element) {\n return ((scope.shadowRoot\n ? contains(scope.shadowRoot, element)\n : Object.getPrototypeOf(scope).contains.call(scope, element)) ||\n toArray(scope.children).some(function (child) { return contains(child, element); }));\n};\n","import { FOCUS_DISABLED, FOCUS_GROUP } from '../constants';\nimport { asArray, toArray } from './array';\n/**\n * in case of multiple nodes nested inside each other\n * keeps only top ones\n * this is O(nlogn)\n * @param nodes\n * @returns {*}\n */\nvar filterNested = function (nodes) {\n var contained = new Set();\n var l = nodes.length;\n for (var i = 0; i < l; i += 1) {\n for (var j = i + 1; j < l; j += 1) {\n var position = nodes[i].compareDocumentPosition(nodes[j]);\n /* eslint-disable no-bitwise */\n if ((position & Node.DOCUMENT_POSITION_CONTAINED_BY) > 0) {\n contained.add(j);\n }\n if ((position & Node.DOCUMENT_POSITION_CONTAINS) > 0) {\n contained.add(i);\n }\n /* eslint-enable */\n }\n }\n return nodes.filter(function (_, index) { return !contained.has(index); });\n};\n/**\n * finds top most parent for a node\n * @param node\n * @returns {*}\n */\nvar getTopParent = function (node) {\n return node.parentNode ? getTopParent(node.parentNode) : node;\n};\n/**\n * returns all \"focus containers\" inside a given node\n * @param node\n * @returns {T}\n */\nexport var getAllAffectedNodes = function (node) {\n var nodes = asArray(node);\n return nodes.filter(Boolean).reduce(function (acc, currentNode) {\n var group = currentNode.getAttribute(FOCUS_GROUP);\n acc.push.apply(acc, (group\n ? filterNested(toArray(getTopParent(currentNode).querySelectorAll(\"[\".concat(FOCUS_GROUP, \"=\\\"\").concat(group, \"\\\"]:not([\").concat(FOCUS_DISABLED, \"=\\\"disabled\\\"])\"))))\n : [currentNode]));\n return acc;\n }, []);\n};\n","var getNestedShadowActiveElement = function (shadowRoot) {\n return shadowRoot.activeElement\n ? shadowRoot.activeElement.shadowRoot\n ? getNestedShadowActiveElement(shadowRoot.activeElement.shadowRoot)\n : shadowRoot.activeElement\n : undefined;\n};\n/**\n * returns active element from document or from nested shadowdoms\n */\nexport var getActiveElement = function () {\n return (document.activeElement\n ? document.activeElement.shadowRoot\n ? getNestedShadowActiveElement(document.activeElement.shadowRoot)\n : document.activeElement\n : undefined); // eslint-disable-next-line @typescript-eslint/no-explicit-any\n};\n","import { parentAutofocusables } from './DOMutils';\nimport { contains } from './DOMutils';\nimport { asArray } from './array';\nvar getParents = function (node, parents) {\n if (parents === void 0) { parents = []; }\n parents.push(node);\n if (node.parentNode) {\n getParents(node.parentNode.host || node.parentNode, parents);\n }\n return parents;\n};\n/**\n * finds a parent for both nodeA and nodeB\n * @param nodeA\n * @param nodeB\n * @returns {boolean|*}\n */\nexport var getCommonParent = function (nodeA, nodeB) {\n var parentsA = getParents(nodeA);\n var parentsB = getParents(nodeB);\n // tslint:disable-next-line:prefer-for-of\n for (var i = 0; i < parentsA.length; i += 1) {\n var currentParent = parentsA[i];\n if (parentsB.indexOf(currentParent) >= 0) {\n return currentParent;\n }\n }\n return false;\n};\nexport var getTopCommonParent = function (baseActiveElement, leftEntry, rightEntries) {\n var activeElements = asArray(baseActiveElement);\n var leftEntries = asArray(leftEntry);\n var activeElement = activeElements[0];\n var topCommon = false;\n leftEntries.filter(Boolean).forEach(function (entry) {\n topCommon = getCommonParent(topCommon || entry, entry) || topCommon;\n rightEntries.filter(Boolean).forEach(function (subEntry) {\n var common = getCommonParent(activeElement, subEntry);\n if (common) {\n if (!topCommon || contains(common, topCommon)) {\n topCommon = common;\n }\n else {\n topCommon = getCommonParent(common, topCommon);\n }\n }\n });\n });\n // TODO: add assert here?\n return topCommon;\n};\n/**\n * return list of nodes which are expected to be autofocused inside a given top nodes\n * @param entries\n * @param visibilityCache\n */\nexport var allParentAutofocusables = function (entries, visibilityCache) {\n return entries.reduce(function (acc, node) { return acc.concat(parentAutofocusables(node, visibilityCache)); }, []);\n};\n","import { NEW_FOCUS, newFocus } from './solver';\nimport { filterAutoFocusable, getAllTabbableNodes, getTabbableNodes } from './utils/DOMutils';\nimport { getAllAffectedNodes } from './utils/all-affected';\nimport { pickFirstFocus } from './utils/firstFocus';\nimport { getActiveElement } from './utils/getActiveElement';\nimport { getDataset, isDefined, isNotAGuard } from './utils/is';\nimport { allParentAutofocusables, getTopCommonParent } from './utils/parenting';\nvar findAutoFocused = function (autoFocusables) {\n return function (node) { var _a; \n // @ts-expect-error\n return node.autofocus || !!((_a = getDataset(node)) === null || _a === void 0 ? void 0 : _a.autofocus) || autoFocusables.indexOf(node) >= 0; };\n};\nvar reorderNodes = function (srcNodes, dstNodes) {\n var remap = new Map();\n // no Set(dstNodes) for IE11 :(\n dstNodes.forEach(function (entity) { return remap.set(entity.node, entity); });\n // remap to dstNodes\n return srcNodes.map(function (node) { return remap.get(node); }).filter(isDefined);\n};\n/**\n * given top node(s) and the last active element return the element to be focused next\n * @param topNode\n * @param lastNode\n */\nexport var getFocusMerge = function (topNode, lastNode) {\n var activeElement = document && getActiveElement();\n var entries = getAllAffectedNodes(topNode).filter(isNotAGuard);\n var commonParent = getTopCommonParent(activeElement || topNode, topNode, entries);\n var visibilityCache = new Map();\n var anyFocusable = getAllTabbableNodes(entries, visibilityCache);\n var innerElements = getTabbableNodes(entries, visibilityCache).filter(function (_a) {\n var node = _a.node;\n return isNotAGuard(node);\n });\n if (!innerElements[0]) {\n innerElements = anyFocusable;\n if (!innerElements[0]) {\n return undefined;\n }\n }\n var outerNodes = getAllTabbableNodes([commonParent], visibilityCache).map(function (_a) {\n var node = _a.node;\n return node;\n });\n var orderedInnerElements = reorderNodes(outerNodes, innerElements);\n var innerNodes = orderedInnerElements.map(function (_a) {\n var node = _a.node;\n return node;\n });\n var newId = newFocus(innerNodes, outerNodes, activeElement, lastNode);\n if (newId === NEW_FOCUS) {\n var autoFocusable = filterAutoFocusable(anyFocusable.map(function (_a) {\n var node = _a.node;\n return node;\n })).filter(findAutoFocused(allParentAutofocusables(entries, visibilityCache)));\n return {\n node: autoFocusable && autoFocusable.length\n ? pickFirstFocus(autoFocusable)\n : pickFirstFocus(filterAutoFocusable(innerNodes)),\n };\n }\n if (newId === undefined) {\n return newId;\n }\n return orderedInnerElements[newId];\n};\n","import { getFocusMerge } from './focusMerge';\nexport var focusOn = function (target, focusOptions) {\n if ('focus' in target) {\n target.focus(focusOptions);\n }\n if ('contentWindow' in target && target.contentWindow) {\n target.contentWindow.focus();\n }\n};\nvar guardCount = 0;\nvar lockDisabled = false;\n/**\n * Sets focus at a given node. The last focused element will help to determine which element(first or last) should be focused.\n * HTML markers (see {@link import('./constants').FOCUS_AUTO} constants) can control autofocus\n * @param topNode\n * @param lastNode\n * @param options\n */\nexport var setFocus = function (topNode, lastNode, options) {\n if (options === void 0) { options = {}; }\n var focusable = getFocusMerge(topNode, lastNode);\n if (lockDisabled) {\n return;\n }\n if (focusable) {\n if (guardCount > 2) {\n // tslint:disable-next-line:no-console\n console.error('FocusLock: focus-fighting detected. Only one focus management system could be active. ' +\n 'See https://github.com/theKashey/focus-lock/#focus-fighting');\n lockDisabled = true;\n setTimeout(function () {\n lockDisabled = false;\n }, 1);\n return;\n }\n guardCount++;\n focusOn(focusable.node, options.focusOptions);\n guardCount--;\n }\n};\n","import * as constants from './constants';\nimport { focusInside } from './focusInside';\nimport { focusIsHidden } from './focusIsHidden';\nimport { getFocusMerge as focusMerge } from './focusMerge';\nimport { getFocusabledIn, getFocusableIn } from './focusables';\nimport { setFocus } from './setFocus';\nimport { focusNextElement, focusPrevElement } from './sibling';\nimport tabHook from './tabHook';\nimport { getAllAffectedNodes } from './utils/all-affected';\nimport { getActiveElement } from './utils/getActiveElement';\nexport { tabHook, focusInside, focusIsHidden, focusMerge, getFocusableIn, getFocusabledIn, constants, getAllAffectedNodes, focusNextElement, focusPrevElement, getActiveElement, };\nexport default setFocus;\n//\n","import { FOCUS_ALLOW } from './constants';\nimport { contains } from './utils/DOMutils';\nimport { toArray } from './utils/array';\nimport { getActiveElement } from './utils/getActiveElement';\n/**\n * focus is hidden FROM the focus-lock\n * ie contained inside a node focus-lock shall ignore\n * @returns {boolean} focus is currently is in \"allow\" area\n */\nexport var focusIsHidden = function () {\n var activeElement = document && getActiveElement();\n if (!activeElement) {\n return false;\n }\n // this does not support setting FOCUS_ALLOW within shadow dom\n return toArray(document.querySelectorAll(\"[\".concat(FOCUS_ALLOW, \"]\"))).some(function (node) { return contains(node, activeElement); });\n};\n","import { contains } from './utils/DOMutils';\nimport { getAllAffectedNodes } from './utils/all-affected';\nimport { toArray } from './utils/array';\nimport { getActiveElement } from './utils/getActiveElement';\nvar focusInFrame = function (frame) { return frame === document.activeElement; };\nvar focusInsideIframe = function (topNode) {\n return Boolean(toArray(topNode.querySelectorAll('iframe')).some(function (node) { return focusInFrame(node); }));\n};\n/**\n * @returns {Boolean} true, if the current focus is inside given node or nodes\n */\nexport var focusInside = function (topNode) {\n var activeElement = document && getActiveElement();\n if (!activeElement || (activeElement.dataset && activeElement.dataset.focusGuard)) {\n return false;\n }\n return getAllAffectedNodes(topNode).some(function (node) { return contains(node, activeElement) || focusInsideIframe(node); });\n};\n","import { getTabbableNodes } from './utils/DOMutils';\nimport { getAllAffectedNodes } from './utils/all-affected';\nimport { isGuard, isNotAGuard } from './utils/is';\nimport { getTopCommonParent } from './utils/parenting';\n/**\n * return list of focusable elements inside a given top node\n * @deprecated use {@link getFocusableIn}. Yep, there is typo in the function name\n */\nexport var getFocusabledIn = function (topNode) {\n var entries = getAllAffectedNodes(topNode).filter(isNotAGuard);\n var commonParent = getTopCommonParent(topNode, topNode, entries);\n var visibilityCache = new Map();\n var outerNodes = getTabbableNodes([commonParent], visibilityCache, true);\n var innerElements = getTabbableNodes(entries, visibilityCache)\n .filter(function (_a) {\n var node = _a.node;\n return isNotAGuard(node);\n })\n .map(function (_a) {\n var node = _a.node;\n return node;\n });\n return outerNodes.map(function (_a) {\n var node = _a.node, index = _a.index;\n return ({\n node: node,\n index: index,\n lockItem: innerElements.indexOf(node) >= 0,\n guard: isGuard(node),\n });\n });\n};\n/**\n * return list of focusable elements inside a given top node\n */\nexport var getFocusableIn = getFocusabledIn;\n","export function deferAction(action) {\n // Hidding setImmediate from Webpack to avoid inserting polyfill\n var _window = window,\n setImmediate = _window.setImmediate;\n\n if (typeof setImmediate !== 'undefined') {\n setImmediate(action);\n } else {\n setTimeout(action, 1);\n }\n}\nexport var inlineProp = function inlineProp(name, value) {\n var obj = {};\n obj[name] = value;\n return obj;\n};","/* eslint-disable no-mixed-operators */\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport withSideEffect from 'react-clientside-effect';\nimport moveFocusInside, { focusInside, focusIsHidden, getFocusabledIn } from 'focus-lock';\nimport { deferAction } from './util';\nimport { mediumFocus, mediumBlur, mediumEffect } from './medium';\n\nvar focusOnBody = function focusOnBody() {\n return document && document.activeElement === document.body;\n};\n\nvar isFreeFocus = function isFreeFocus() {\n return focusOnBody() || focusIsHidden();\n};\n\nvar lastActiveTrap = null;\nvar lastActiveFocus = null;\nvar lastPortaledElement = null;\nvar focusWasOutsideWindow = false;\n\nvar defaultWhitelist = function defaultWhitelist() {\n return true;\n};\n\nvar focusWhitelisted = function focusWhitelisted(activeElement) {\n return (lastActiveTrap.whiteList || defaultWhitelist)(activeElement);\n};\n\nvar recordPortal = function recordPortal(observerNode, portaledElement) {\n lastPortaledElement = {\n observerNode: observerNode,\n portaledElement: portaledElement\n };\n};\n\nvar focusIsPortaledPair = function focusIsPortaledPair(element) {\n return lastPortaledElement && lastPortaledElement.portaledElement === element;\n};\n\nfunction autoGuard(startIndex, end, step, allNodes) {\n var lastGuard = null;\n var i = startIndex;\n\n do {\n var item = allNodes[i];\n\n if (item.guard) {\n if (item.node.dataset.focusAutoGuard) {\n lastGuard = item;\n }\n } else if (item.lockItem) {\n if (i !== startIndex) {\n // we will tab to the next element\n return;\n }\n\n lastGuard = null;\n } else {\n break;\n }\n } while ((i += step) !== end);\n\n if (lastGuard) {\n lastGuard.node.tabIndex = 0;\n }\n}\n\nvar extractRef = function extractRef(ref) {\n return ref && 'current' in ref ? ref.current : ref;\n};\n\nvar focusWasOutside = function focusWasOutside(crossFrameOption) {\n if (crossFrameOption) {\n // with cross frame return true for any value\n return Boolean(focusWasOutsideWindow);\n } // in other case return only of focus went a while aho\n\n\n return focusWasOutsideWindow === 'meanwhile';\n};\n\nvar checkInHost = function checkInHost(check, el, boundary) {\n return el && ( // find host equal to active element and check nested active element\n el.host === check && (!el.activeElement || boundary.contains(el.activeElement)) // dive up\n || el.parentNode && checkInHost(check, el.parentNode, boundary));\n};\n\nvar withinHost = function withinHost(activeElement, workingArea) {\n return workingArea.some(function (area) {\n return checkInHost(activeElement, area, area);\n });\n};\n\nvar activateTrap = function activateTrap() {\n var result = false;\n\n if (lastActiveTrap) {\n var _lastActiveTrap = lastActiveTrap,\n observed = _lastActiveTrap.observed,\n persistentFocus = _lastActiveTrap.persistentFocus,\n autoFocus = _lastActiveTrap.autoFocus,\n shards = _lastActiveTrap.shards,\n crossFrame = _lastActiveTrap.crossFrame,\n focusOptions = _lastActiveTrap.focusOptions;\n var workingNode = observed || lastPortaledElement && lastPortaledElement.portaledElement;\n var activeElement = document && document.activeElement;\n\n if (workingNode) {\n var workingArea = [workingNode].concat(shards.map(extractRef).filter(Boolean));\n\n if (!activeElement || focusWhitelisted(activeElement)) {\n if (persistentFocus || focusWasOutside(crossFrame) || !isFreeFocus() || !lastActiveFocus && autoFocus) {\n if (workingNode && !( // active element is \"inside\" working area\n focusInside(workingArea) || // check for shadow-dom contained elements\n activeElement && withinHost(activeElement, workingArea) || focusIsPortaledPair(activeElement, workingNode))) {\n if (document && !lastActiveFocus && activeElement && !autoFocus) {\n // Check if blur() exists, which is missing on certain elements on IE\n if (activeElement.blur) {\n activeElement.blur();\n }\n\n document.body.focus();\n } else {\n result = moveFocusInside(workingArea, lastActiveFocus, {\n focusOptions: focusOptions\n });\n lastPortaledElement = {};\n }\n }\n\n focusWasOutsideWindow = false;\n lastActiveFocus = document && document.activeElement;\n }\n }\n\n if (document) {\n var newActiveElement = document && document.activeElement;\n var allNodes = getFocusabledIn(workingArea);\n var focusedIndex = allNodes.map(function (_ref) {\n var node = _ref.node;\n return node;\n }).indexOf(newActiveElement);\n\n if (focusedIndex > -1) {\n // remove old focus\n allNodes.filter(function (_ref2) {\n var guard = _ref2.guard,\n node = _ref2.node;\n return guard && node.dataset.focusAutoGuard;\n }).forEach(function (_ref3) {\n var node = _ref3.node;\n return node.removeAttribute('tabIndex');\n });\n autoGuard(focusedIndex, allNodes.length, +1, allNodes);\n autoGuard(focusedIndex, -1, -1, allNodes);\n }\n }\n }\n }\n\n return result;\n};\n\nvar onTrap = function onTrap(event) {\n if (activateTrap() && event) {\n // prevent scroll jump\n event.stopPropagation();\n event.preventDefault();\n }\n};\n\nvar onBlur = function onBlur() {\n return deferAction(activateTrap);\n};\n\nvar onFocus = function onFocus(event) {\n // detect portal\n var source = event.target;\n var currentNode = event.currentTarget;\n\n if (!currentNode.contains(source)) {\n recordPortal(currentNode, source);\n }\n};\n\nvar FocusWatcher = function FocusWatcher() {\n return null;\n};\n\nvar FocusTrap = function FocusTrap(_ref4) {\n var children = _ref4.children;\n return /*#__PURE__*/React.createElement(\"div\", {\n onBlur: onBlur,\n onFocus: onFocus\n }, children);\n};\n\nFocusTrap.propTypes = process.env.NODE_ENV !== \"production\" ? {\n children: PropTypes.node.isRequired\n} : {};\n\nvar onWindowBlur = function onWindowBlur() {\n focusWasOutsideWindow = 'just'; // using setTimeout to set this variable after React/sidecar reaction\n\n setTimeout(function () {\n focusWasOutsideWindow = 'meanwhile';\n }, 0);\n};\n\nvar attachHandler = function attachHandler() {\n document.addEventListener('focusin', onTrap);\n document.addEventListener('focusout', onBlur);\n window.addEventListener('blur', onWindowBlur);\n};\n\nvar detachHandler = function detachHandler() {\n document.removeEventListener('focusin', onTrap);\n document.removeEventListener('focusout', onBlur);\n window.removeEventListener('blur', onWindowBlur);\n};\n\nfunction reducePropsToState(propsList) {\n return propsList.filter(function (_ref5) {\n var disabled = _ref5.disabled;\n return !disabled;\n });\n}\n\nfunction handleStateChangeOnClient(traps) {\n var trap = traps.slice(-1)[0];\n\n if (trap && !lastActiveTrap) {\n attachHandler();\n }\n\n var lastTrap = lastActiveTrap;\n var sameTrap = lastTrap && trap && trap.id === lastTrap.id;\n lastActiveTrap = trap;\n\n if (lastTrap && !sameTrap) {\n lastTrap.onDeactivation(); // return focus only of last trap was removed\n\n if (!traps.filter(function (_ref6) {\n var id = _ref6.id;\n return id === lastTrap.id;\n }).length) {\n // allow defer is no other trap is awaiting restore\n lastTrap.returnFocus(!trap);\n }\n }\n\n if (trap) {\n lastActiveFocus = null;\n\n if (!sameTrap || lastTrap.observed !== trap.observed) {\n trap.onActivation();\n }\n\n activateTrap(true);\n deferAction(activateTrap);\n } else {\n detachHandler();\n lastActiveFocus = null;\n }\n} // bind medium\n\n\nmediumFocus.assignSyncMedium(onFocus);\nmediumBlur.assignMedium(onBlur);\nmediumEffect.assignMedium(function (cb) {\n return cb({\n moveFocusInside: moveFocusInside,\n focusInside: focusInside\n });\n});\nexport default withSideEffect(reducePropsToState, handleStateChangeOnClient)(FocusWatcher);","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport FocusLockUI from './Lock';\nimport FocusTrap from './Trap';\n/* that would be a BREAKING CHANGE!\n// delaying sidecar execution till the first usage\nconst RequireSideCar = (props) => {\n // eslint-disable-next-line global-require\n const SideCar = require('./Trap').default;\n return <SideCar {...props} />;\n};\n*/\n\nvar FocusLockCombination = /*#__PURE__*/React.forwardRef(function FocusLockUICombination(props, ref) {\n return /*#__PURE__*/React.createElement(FocusLockUI, _extends({\n sideCar: FocusTrap,\n ref: ref\n }, props));\n});\n\nvar _ref = FocusLockUI.propTypes || {},\n sideCar = _ref.sideCar,\n propTypes = _objectWithoutPropertiesLoose(_ref, [\"sideCar\"]);\n\nFocusLockCombination.propTypes = process.env.NODE_ENV !== \"production\" ? propTypes : {};\nexport default FocusLockCombination;","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","import FocusLock from './Combination';\nexport * from './UI';\nexport default FocusLock;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.I18nextProvider = I18nextProvider;\n\nvar _react = require(\"react\");\n\nvar _context = require(\"./context.js\");\n\nfunction I18nextProvider(_ref) {\n var i18n = _ref.i18n,\n defaultNS = _ref.defaultNS,\n children = _ref.children;\n var value = (0, _react.useMemo)(function () {\n return {\n i18n: i18n,\n defaultNS: defaultNS\n };\n }, [i18n, defaultNS]);\n return (0, _react.createElement)(_context.I18nContext.Provider, {\n value: value\n }, children);\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Trans = Trans;\nObject.defineProperty(exports, \"nodesToString\", {\n enumerable: true,\n get: function get() {\n return _TransWithoutContext.nodesToString;\n }\n});\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _react = require(\"react\");\n\nvar _TransWithoutContext = require(\"./TransWithoutContext.js\");\n\nvar _context = require(\"./context.js\");\n\nvar _excluded = [\"children\", \"count\", \"parent\", \"i18nKey\", \"context\", \"tOptions\", \"values\", \"defaults\", \"components\", \"ns\", \"i18n\", \"t\", \"shouldUnescape\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2[\"default\"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction Trans(_ref) {\n var children = _ref.children,\n count = _ref.count,\n parent = _ref.parent,\n i18nKey = _ref.i18nKey,\n context = _ref.context,\n _ref$tOptions = _ref.tOptions,\n tOptions = _ref$tOptions === void 0 ? {} : _ref$tOptions,\n values = _ref.values,\n defaults = _ref.defaults,\n components = _ref.components,\n ns = _ref.ns,\n i18nFromProps = _ref.i18n,\n tFromProps = _ref.t,\n shouldUnescape = _ref.shouldUnescape,\n additionalProps = (0, _objectWithoutProperties2[\"default\"])(_ref, _excluded);\n\n var _ref2 = (0, _react.useContext)(_context.I18nContext) || {},\n i18nFromContext = _ref2.i18n,\n defaultNSFromContext = _ref2.defaultNS;\n\n var i18n = i18nFromProps || i18nFromContext || (0, _context.getI18n)();\n\n var t = tFromProps || i18n.t.bind(i18n) || function (k) {\n return k;\n };\n\n return (0, _TransWithoutContext.Trans)(_objectSpread({\n children: children,\n count: count,\n parent: parent,\n i18nKey: i18nKey,\n context: context,\n tOptions: tOptions,\n values: values,\n defaults: defaults,\n components: components,\n ns: ns || t.ns || defaultNSFromContext || i18n.options && i18n.options.defaultNS,\n i18n: i18n,\n t: tFromProps,\n shouldUnescape: shouldUnescape\n }, additionalProps));\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.nodesToString = nodesToString;\nexports.Trans = Trans;\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _typeof2 = _interopRequireDefault(require(\"@babel/runtime/helpers/typeof\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _react = require(\"react\");\n\nvar _htmlParseStringify = _interopRequireDefault(require(\"html-parse-stringify\"));\n\nvar _utils = require(\"./utils.js\");\n\nvar _defaults = require(\"./defaults.js\");\n\nvar _i18nInstance = require(\"./i18nInstance.js\");\n\nvar _excluded = [\"format\"],\n _excluded2 = [\"children\", \"count\", \"parent\", \"i18nKey\", \"context\", \"tOptions\", \"values\", \"defaults\", \"components\", \"ns\", \"i18n\", \"t\", \"shouldUnescape\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2[\"default\"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction hasChildren(node, checkLength) {\n if (!node) return false;\n var base = node.props ? node.props.children : node.children;\n if (checkLength) return base.length > 0;\n return !!base;\n}\n\nfunction getChildren(node) {\n if (!node) return [];\n return node.props ? node.props.children : node.children;\n}\n\nfunction hasValidReactChildren(children) {\n if (Object.prototype.toString.call(children) !== '[object Array]') return false;\n return children.every(function (child) {\n return (0, _react.isValidElement)(child);\n });\n}\n\nfunction getAsArray(data) {\n return Array.isArray(data) ? data : [data];\n}\n\nfunction mergeProps(source, target) {\n var newTarget = _objectSpread({}, target);\n\n newTarget.props = Object.assign(source.props, target.props);\n return newTarget;\n}\n\nfunction nodesToString(children, i18nOptions) {\n if (!children) return '';\n var stringNode = '';\n var childrenArray = getAsArray(children);\n var keepArray = i18nOptions.transSupportBasicHtmlNodes && i18nOptions.transKeepBasicHtmlNodesFor ? i18nOptions.transKeepBasicHtmlNodesFor : [];\n childrenArray.forEach(function (child, childIndex) {\n if (typeof child === 'string') {\n stringNode += \"\".concat(child);\n } else if ((0, _react.isValidElement)(child)) {\n var childPropsCount = Object.keys(child.props).length;\n var shouldKeepChild = keepArray.indexOf(child.type) > -1;\n var childChildren = child.props.children;\n\n if (!childChildren && shouldKeepChild && childPropsCount === 0) {\n stringNode += \"<\".concat(child.type, \"/>\");\n } else if (!childChildren && (!shouldKeepChild || childPropsCount !== 0)) {\n stringNode += \"<\".concat(childIndex, \"></\").concat(childIndex, \">\");\n } else if (child.props.i18nIsDynamicList) {\n stringNode += \"<\".concat(childIndex, \"></\").concat(childIndex, \">\");\n } else if (shouldKeepChild && childPropsCount === 1 && typeof childChildren === 'string') {\n stringNode += \"<\".concat(child.type, \">\").concat(childChildren, \"</\").concat(child.type, \">\");\n } else {\n var content = nodesToString(childChildren, i18nOptions);\n stringNode += \"<\".concat(childIndex, \">\").concat(content, \"</\").concat(childIndex, \">\");\n }\n } else if (child === null) {\n (0, _utils.warn)(\"Trans: the passed in value is invalid - seems you passed in a null child.\");\n } else if ((0, _typeof2[\"default\"])(child) === 'object') {\n var format = child.format,\n clone = (0, _objectWithoutProperties2[\"default\"])(child, _excluded);\n var keys = Object.keys(clone);\n\n if (keys.length === 1) {\n var value = format ? \"\".concat(keys[0], \", \").concat(format) : keys[0];\n stringNode += \"{{\".concat(value, \"}}\");\n } else {\n (0, _utils.warn)(\"react-i18next: the passed in object contained more than one variable - the object should look like {{ value, format }} where format is optional.\", child);\n }\n } else {\n (0, _utils.warn)(\"Trans: the passed in value is invalid - seems you passed in a variable like {number} - please pass in variables for interpolation as full objects like {{number}}.\", child);\n }\n });\n return stringNode;\n}\n\nfunction renderNodes(children, targetString, i18n, i18nOptions, combinedTOpts, shouldUnescape) {\n if (targetString === '') return [];\n var keepArray = i18nOptions.transKeepBasicHtmlNodesFor || [];\n var emptyChildrenButNeedsHandling = targetString && new RegExp(keepArray.join('|')).test(targetString);\n if (!children && !emptyChildrenButNeedsHandling) return [targetString];\n var data = {};\n\n function getData(childs) {\n var childrenArray = getAsArray(childs);\n childrenArray.forEach(function (child) {\n if (typeof child === 'string') return;\n if (hasChildren(child)) getData(getChildren(child));else if ((0, _typeof2[\"default\"])(child) === 'object' && !(0, _react.isValidElement)(child)) Object.assign(data, child);\n });\n }\n\n getData(children);\n\n var ast = _htmlParseStringify[\"default\"].parse(\"<0>\".concat(targetString, \"</0>\"));\n\n var opts = _objectSpread(_objectSpread({}, data), combinedTOpts);\n\n function renderInner(child, node, rootReactNode) {\n var childs = getChildren(child);\n var mappedChildren = mapAST(childs, node.children, rootReactNode);\n return hasValidReactChildren(childs) && mappedChildren.length === 0 ? childs : mappedChildren;\n }\n\n function pushTranslatedJSX(child, inner, mem, i, isVoid) {\n if (child.dummy) child.children = inner;\n mem.push((0, _react.cloneElement)(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n }), isVoid ? undefined : inner));\n }\n\n function mapAST(reactNode, astNode, rootReactNode) {\n var reactNodes = getAsArray(reactNode);\n var astNodes = getAsArray(astNode);\n return astNodes.reduce(function (mem, node, i) {\n var translationContent = node.children && node.children[0] && node.children[0].content && i18n.services.interpolator.interpolate(node.children[0].content, opts, i18n.language);\n\n if (node.type === 'tag') {\n var tmp = reactNodes[parseInt(node.name, 10)];\n if (!tmp && rootReactNode.length === 1 && rootReactNode[0][node.name]) tmp = rootReactNode[0][node.name];\n if (!tmp) tmp = {};\n var child = Object.keys(node.attrs).length !== 0 ? mergeProps({\n props: node.attrs\n }, tmp) : tmp;\n var isElement = (0, _react.isValidElement)(child);\n var isValidTranslationWithChildren = isElement && hasChildren(node, true) && !node.voidElement;\n var isEmptyTransWithHTML = emptyChildrenButNeedsHandling && (0, _typeof2[\"default\"])(child) === 'object' && child.dummy && !isElement;\n var isKnownComponent = (0, _typeof2[\"default\"])(children) === 'object' && children !== null && Object.hasOwnProperty.call(children, node.name);\n\n if (typeof child === 'string') {\n var value = i18n.services.interpolator.interpolate(child, opts, i18n.language);\n mem.push(value);\n } else if (hasChildren(child) || isValidTranslationWithChildren) {\n var inner = renderInner(child, node, rootReactNode);\n pushTranslatedJSX(child, inner, mem, i);\n } else if (isEmptyTransWithHTML) {\n var _inner = mapAST(reactNodes, node.children, rootReactNode);\n\n mem.push((0, _react.cloneElement)(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n }), _inner));\n } else if (Number.isNaN(parseFloat(node.name))) {\n if (isKnownComponent) {\n var _inner2 = renderInner(child, node, rootReactNode);\n\n pushTranslatedJSX(child, _inner2, mem, i, node.voidElement);\n } else if (i18nOptions.transSupportBasicHtmlNodes && keepArray.indexOf(node.name) > -1) {\n if (node.voidElement) {\n mem.push((0, _react.createElement)(node.name, {\n key: \"\".concat(node.name, \"-\").concat(i)\n }));\n } else {\n var _inner3 = mapAST(reactNodes, node.children, rootReactNode);\n\n mem.push((0, _react.createElement)(node.name, {\n key: \"\".concat(node.name, \"-\").concat(i)\n }, _inner3));\n }\n } else if (node.voidElement) {\n mem.push(\"<\".concat(node.name, \" />\"));\n } else {\n var _inner4 = mapAST(reactNodes, node.children, rootReactNode);\n\n mem.push(\"<\".concat(node.name, \">\").concat(_inner4, \"</\").concat(node.name, \">\"));\n }\n } else if ((0, _typeof2[\"default\"])(child) === 'object' && !isElement) {\n var content = node.children[0] ? translationContent : null;\n if (content) mem.push(content);\n } else if (node.children.length === 1 && translationContent) {\n mem.push((0, _react.cloneElement)(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n }), translationContent));\n } else {\n mem.push((0, _react.cloneElement)(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n })));\n }\n } else if (node.type === 'text') {\n var wrapTextNodes = i18nOptions.transWrapTextNodes;\n\n var _content = shouldUnescape ? i18nOptions.unescape(i18n.services.interpolator.interpolate(node.content, opts, i18n.language)) : i18n.services.interpolator.interpolate(node.content, opts, i18n.language);\n\n if (wrapTextNodes) {\n mem.push((0, _react.createElement)(wrapTextNodes, {\n key: \"\".concat(node.name, \"-\").concat(i)\n }, _content));\n } else {\n mem.push(_content);\n }\n }\n\n return mem;\n }, []);\n }\n\n var result = mapAST([{\n dummy: true,\n children: children || []\n }], ast, getAsArray(children || []));\n return getChildren(result[0]);\n}\n\nfunction Trans(_ref) {\n var children = _ref.children,\n count = _ref.count,\n parent = _ref.parent,\n i18nKey = _ref.i18nKey,\n context = _ref.context,\n _ref$tOptions = _ref.tOptions,\n tOptions = _ref$tOptions === void 0 ? {} : _ref$tOptions,\n values = _ref.values,\n defaults = _ref.defaults,\n components = _ref.components,\n ns = _ref.ns,\n i18nFromProps = _ref.i18n,\n tFromProps = _ref.t,\n shouldUnescape = _ref.shouldUnescape,\n additionalProps = (0, _objectWithoutProperties2[\"default\"])(_ref, _excluded2);\n var i18n = i18nFromProps || (0, _i18nInstance.getI18n)();\n\n if (!i18n) {\n (0, _utils.warnOnce)('You will need to pass in an i18next instance by using i18nextReactModule');\n return children;\n }\n\n var t = tFromProps || i18n.t.bind(i18n) || function (k) {\n return k;\n };\n\n if (context) tOptions.context = context;\n\n var reactI18nextOptions = _objectSpread(_objectSpread({}, (0, _defaults.getDefaults)()), i18n.options && i18n.options.react);\n\n var namespaces = ns || t.ns || i18n.options && i18n.options.defaultNS;\n namespaces = typeof namespaces === 'string' ? [namespaces] : namespaces || ['translation'];\n var defaultValue = defaults || nodesToString(children, reactI18nextOptions) || reactI18nextOptions.transEmptyNodeValue || i18nKey;\n var hashTransKey = reactI18nextOptions.hashTransKey;\n var key = i18nKey || (hashTransKey ? hashTransKey(defaultValue) : defaultValue);\n var interpolationOverride = values ? tOptions.interpolation : {\n interpolation: _objectSpread(_objectSpread({}, tOptions.interpolation), {}, {\n prefix: '#$?',\n suffix: '?$#'\n })\n };\n\n var combinedTOpts = _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, tOptions), {}, {\n count: count\n }, values), interpolationOverride), {}, {\n defaultValue: defaultValue,\n ns: namespaces\n });\n\n var translation = key ? t(key, combinedTOpts) : defaultValue;\n var content = renderNodes(components || children, translation, i18n, reactI18nextOptions, combinedTOpts, shouldUnescape);\n var useAsParent = parent !== undefined ? parent : reactI18nextOptions.defaultTransParent;\n return useAsParent ? (0, _react.createElement)(useAsParent, additionalProps, content) : content;\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Translation = Translation;\n\nvar _slicedToArray2 = _interopRequireDefault(require(\"@babel/runtime/helpers/slicedToArray\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _useTranslation3 = require(\"./useTranslation.js\");\n\nvar _excluded = [\"ns\", \"children\"];\n\nfunction Translation(props) {\n var ns = props.ns,\n children = props.children,\n options = (0, _objectWithoutProperties2[\"default\"])(props, _excluded);\n\n var _useTranslation = (0, _useTranslation3.useTranslation)(ns, options),\n _useTranslation2 = (0, _slicedToArray2[\"default\"])(_useTranslation, 3),\n t = _useTranslation2[0],\n i18n = _useTranslation2[1],\n ready = _useTranslation2[2];\n\n return children(t, {\n i18n: i18n,\n lng: i18n.language\n }, ready);\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.composeInitialProps = composeInitialProps;\nexports.getInitialProps = getInitialProps;\nObject.defineProperty(exports, \"getDefaults\", {\n enumerable: true,\n get: function get() {\n return _defaults.getDefaults;\n }\n});\nObject.defineProperty(exports, \"setDefaults\", {\n enumerable: true,\n get: function get() {\n return _defaults.setDefaults;\n }\n});\nObject.defineProperty(exports, \"getI18n\", {\n enumerable: true,\n get: function get() {\n return _i18nInstance.getI18n;\n }\n});\nObject.defineProperty(exports, \"setI18n\", {\n enumerable: true,\n get: function get() {\n return _i18nInstance.setI18n;\n }\n});\nObject.defineProperty(exports, \"initReactI18next\", {\n enumerable: true,\n get: function get() {\n return _initReactI18next.initReactI18next;\n }\n});\nexports.ReportNamespaces = exports.I18nContext = void 0;\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _react = require(\"react\");\n\nvar _defaults = require(\"./defaults.js\");\n\nvar _i18nInstance = require(\"./i18nInstance.js\");\n\nvar _initReactI18next = require(\"./initReactI18next.js\");\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2[\"default\"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nvar I18nContext = (0, _react.createContext)();\nexports.I18nContext = I18nContext;\n\nvar ReportNamespaces = function () {\n function ReportNamespaces() {\n (0, _classCallCheck2[\"default\"])(this, ReportNamespaces);\n this.usedNamespaces = {};\n }\n\n (0, _createClass2[\"default\"])(ReportNamespaces, [{\n key: \"addUsedNamespaces\",\n value: function addUsedNamespaces(namespaces) {\n var _this = this;\n\n namespaces.forEach(function (ns) {\n if (!_this.usedNamespaces[ns]) _this.usedNamespaces[ns] = true;\n });\n }\n }, {\n key: \"getUsedNamespaces\",\n value: function getUsedNamespaces() {\n return Object.keys(this.usedNamespaces);\n }\n }]);\n return ReportNamespaces;\n}();\n\nexports.ReportNamespaces = ReportNamespaces;\n\nfunction composeInitialProps(ForComponent) {\n return function (ctx) {\n return new Promise(function (resolve) {\n var i18nInitialProps = getInitialProps();\n\n if (ForComponent.getInitialProps) {\n ForComponent.getInitialProps(ctx).then(function (componentsInitialProps) {\n resolve(_objectSpread(_objectSpread({}, componentsInitialProps), i18nInitialProps));\n });\n } else {\n resolve(i18nInitialProps);\n }\n });\n };\n}\n\nfunction getInitialProps() {\n var i18n = (0, _i18nInstance.getI18n)();\n var namespaces = i18n.reportNamespaces ? i18n.reportNamespaces.getUsedNamespaces() : [];\n var ret = {};\n var initialI18nStore = {};\n i18n.languages.forEach(function (l) {\n initialI18nStore[l] = {};\n namespaces.forEach(function (ns) {\n initialI18nStore[l][ns] = i18n.getResourceBundle(l, ns) || {};\n });\n });\n ret.initialI18nStore = initialI18nStore;\n ret.initialLanguage = i18n.language;\n return ret;\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.setDefaults = setDefaults;\nexports.getDefaults = getDefaults;\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _unescape = require(\"./unescape.js\");\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2[\"default\"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nvar defaultOptions = {\n bindI18n: 'languageChanged',\n bindI18nStore: '',\n transEmptyNodeValue: '',\n transSupportBasicHtmlNodes: true,\n transWrapTextNodes: '',\n transKeepBasicHtmlNodesFor: ['br', 'strong', 'i', 'p'],\n useSuspense: true,\n unescape: _unescape.unescape\n};\n\nfunction setDefaults() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n defaultOptions = _objectSpread(_objectSpread({}, defaultOptions), options);\n}\n\nfunction getDefaults() {\n return defaultOptions;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.setI18n = setI18n;\nexports.getI18n = getI18n;\nvar i18nInstance;\n\nfunction setI18n(instance) {\n i18nInstance = instance;\n}\n\nfunction getI18n() {\n return i18nInstance;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"Trans\", {\n enumerable: true,\n get: function get() {\n return _Trans.Trans;\n }\n});\nObject.defineProperty(exports, \"TransWithoutContext\", {\n enumerable: true,\n get: function get() {\n return _TransWithoutContext.Trans;\n }\n});\nObject.defineProperty(exports, \"useTranslation\", {\n enumerable: true,\n get: function get() {\n return _useTranslation.useTranslation;\n }\n});\nObject.defineProperty(exports, \"withTranslation\", {\n enumerable: true,\n get: function get() {\n return _withTranslation.withTranslation;\n }\n});\nObject.defineProperty(exports, \"Translation\", {\n enumerable: true,\n get: function get() {\n return _Translation.Translation;\n }\n});\nObject.defineProperty(exports, \"I18nextProvider\", {\n enumerable: true,\n get: function get() {\n return _I18nextProvider.I18nextProvider;\n }\n});\nObject.defineProperty(exports, \"withSSR\", {\n enumerable: true,\n get: function get() {\n return _withSSR.withSSR;\n }\n});\nObject.defineProperty(exports, \"useSSR\", {\n enumerable: true,\n get: function get() {\n return _useSSR.useSSR;\n }\n});\nObject.defineProperty(exports, \"I18nContext\", {\n enumerable: true,\n get: function get() {\n return _context.I18nContext;\n }\n});\nObject.defineProperty(exports, \"initReactI18next\", {\n enumerable: true,\n get: function get() {\n return _context.initReactI18next;\n }\n});\nObject.defineProperty(exports, \"setDefaults\", {\n enumerable: true,\n get: function get() {\n return _context.setDefaults;\n }\n});\nObject.defineProperty(exports, \"getDefaults\", {\n enumerable: true,\n get: function get() {\n return _context.getDefaults;\n }\n});\nObject.defineProperty(exports, \"setI18n\", {\n enumerable: true,\n get: function get() {\n return _context.setI18n;\n }\n});\nObject.defineProperty(exports, \"getI18n\", {\n enumerable: true,\n get: function get() {\n return _context.getI18n;\n }\n});\nObject.defineProperty(exports, \"composeInitialProps\", {\n enumerable: true,\n get: function get() {\n return _context.composeInitialProps;\n }\n});\nObject.defineProperty(exports, \"getInitialProps\", {\n enumerable: true,\n get: function get() {\n return _context.getInitialProps;\n }\n});\nexports.selectOrdinal = exports.plural = exports.select = exports.number = exports.time = exports.date = void 0;\n\nvar _Trans = require(\"./Trans.js\");\n\nvar _TransWithoutContext = require(\"./TransWithoutContext.js\");\n\nvar _useTranslation = require(\"./useTranslation.js\");\n\nvar _withTranslation = require(\"./withTranslation.js\");\n\nvar _Translation = require(\"./Translation.js\");\n\nvar _I18nextProvider = require(\"./I18nextProvider.js\");\n\nvar _withSSR = require(\"./withSSR.js\");\n\nvar _useSSR = require(\"./useSSR.js\");\n\nvar _context = require(\"./context.js\");\n\nvar date = function date() {\n return '';\n};\n\nexports.date = date;\n\nvar time = function time() {\n return '';\n};\n\nexports.time = time;\n\nvar number = function number() {\n return '';\n};\n\nexports.number = number;\n\nvar select = function select() {\n return '';\n};\n\nexports.select = select;\n\nvar plural = function plural() {\n return '';\n};\n\nexports.plural = plural;\n\nvar selectOrdinal = function selectOrdinal() {\n return '';\n};\n\nexports.selectOrdinal = selectOrdinal;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.initReactI18next = void 0;\n\nvar _defaults = require(\"./defaults.js\");\n\nvar _i18nInstance = require(\"./i18nInstance.js\");\n\nvar initReactI18next = {\n type: '3rdParty',\n init: function init(instance) {\n (0, _defaults.setDefaults)(instance.options.react);\n (0, _i18nInstance.setI18n)(instance);\n }\n};\nexports.initReactI18next = initReactI18next;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.unescape = void 0;\nvar matchHtmlEntity = /&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g;\nvar htmlEntities = {\n '&amp;': '&',\n '&#38;': '&',\n '&lt;': '<',\n '&#60;': '<',\n '&gt;': '>',\n '&#62;': '>',\n '&apos;': \"'\",\n '&#39;': \"'\",\n '&quot;': '\"',\n '&#34;': '\"',\n '&nbsp;': ' ',\n '&#160;': ' ',\n '&copy;': '©',\n '&#169;': '©',\n '&reg;': '®',\n '&#174;': '®',\n '&hellip;': '…',\n '&#8230;': '…',\n '&#x2F;': '/',\n '&#47;': '/'\n};\n\nvar unescapeHtmlEntity = function unescapeHtmlEntity(m) {\n return htmlEntities[m];\n};\n\nvar unescape = function unescape(text) {\n return text.replace(matchHtmlEntity, unescapeHtmlEntity);\n};\n\nexports.unescape = unescape;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.useSSR = useSSR;\n\nvar _react = require(\"react\");\n\nvar _context = require(\"./context.js\");\n\nfunction useSSR(initialI18nStore, initialLanguage) {\n var props = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var i18nFromProps = props.i18n;\n\n var _ref = (0, _react.useContext)(_context.I18nContext) || {},\n i18nFromContext = _ref.i18n;\n\n var i18n = i18nFromProps || i18nFromContext || (0, _context.getI18n)();\n if (i18n.options && i18n.options.isClone) return;\n\n if (initialI18nStore && !i18n.initializedStoreOnce) {\n i18n.services.resourceStore.data = initialI18nStore;\n i18n.options.ns = Object.values(initialI18nStore).reduce(function (mem, lngResources) {\n Object.keys(lngResources).forEach(function (ns) {\n if (mem.indexOf(ns) < 0) mem.push(ns);\n });\n return mem;\n }, i18n.options.ns);\n i18n.initializedStoreOnce = true;\n i18n.isInitialized = true;\n }\n\n if (initialLanguage && !i18n.initializedLanguageOnce) {\n i18n.changeLanguage(initialLanguage);\n i18n.initializedLanguageOnce = true;\n }\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.useTranslation = useTranslation;\n\nvar _slicedToArray2 = _interopRequireDefault(require(\"@babel/runtime/helpers/slicedToArray\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _react = require(\"react\");\n\nvar _context = require(\"./context.js\");\n\nvar _utils = require(\"./utils.js\");\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2[\"default\"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nvar usePrevious = function usePrevious(value, ignore) {\n var ref = (0, _react.useRef)();\n (0, _react.useEffect)(function () {\n ref.current = ignore ? ref.current : value;\n }, [value, ignore]);\n return ref.current;\n};\n\nfunction useTranslation(ns) {\n var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var i18nFromProps = props.i18n;\n\n var _ref = (0, _react.useContext)(_context.I18nContext) || {},\n i18nFromContext = _ref.i18n,\n defaultNSFromContext = _ref.defaultNS;\n\n var i18n = i18nFromProps || i18nFromContext || (0, _context.getI18n)();\n if (i18n && !i18n.reportNamespaces) i18n.reportNamespaces = new _context.ReportNamespaces();\n\n if (!i18n) {\n (0, _utils.warnOnce)('You will need to pass in an i18next instance by using initReactI18next');\n\n var notReadyT = function notReadyT(k) {\n return Array.isArray(k) ? k[k.length - 1] : k;\n };\n\n var retNotReady = [notReadyT, {}, false];\n retNotReady.t = notReadyT;\n retNotReady.i18n = {};\n retNotReady.ready = false;\n return retNotReady;\n }\n\n if (i18n.options.react && i18n.options.react.wait !== undefined) (0, _utils.warnOnce)('It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.');\n\n var i18nOptions = _objectSpread(_objectSpread(_objectSpread({}, (0, _context.getDefaults)()), i18n.options.react), props);\n\n var useSuspense = i18nOptions.useSuspense,\n keyPrefix = i18nOptions.keyPrefix;\n var namespaces = ns || defaultNSFromContext || i18n.options && i18n.options.defaultNS;\n namespaces = typeof namespaces === 'string' ? [namespaces] : namespaces || ['translation'];\n if (i18n.reportNamespaces.addUsedNamespaces) i18n.reportNamespaces.addUsedNamespaces(namespaces);\n var ready = (i18n.isInitialized || i18n.initializedStoreOnce) && namespaces.every(function (n) {\n return (0, _utils.hasLoadedNamespace)(n, i18n, i18nOptions);\n });\n\n function getT() {\n return i18n.getFixedT(null, i18nOptions.nsMode === 'fallback' ? namespaces : namespaces[0], keyPrefix);\n }\n\n var _useState = (0, _react.useState)(getT),\n _useState2 = (0, _slicedToArray2[\"default\"])(_useState, 2),\n t = _useState2[0],\n setT = _useState2[1];\n\n var joinedNS = namespaces.join();\n var previousJoinedNS = usePrevious(joinedNS);\n var isMounted = (0, _react.useRef)(true);\n (0, _react.useEffect)(function () {\n var bindI18n = i18nOptions.bindI18n,\n bindI18nStore = i18nOptions.bindI18nStore;\n isMounted.current = true;\n\n if (!ready && !useSuspense) {\n (0, _utils.loadNamespaces)(i18n, namespaces, function () {\n if (isMounted.current) setT(getT);\n });\n }\n\n if (ready && previousJoinedNS && previousJoinedNS !== joinedNS && isMounted.current) {\n setT(getT);\n }\n\n function boundReset() {\n if (isMounted.current) setT(getT);\n }\n\n if (bindI18n && i18n) i18n.on(bindI18n, boundReset);\n if (bindI18nStore && i18n) i18n.store.on(bindI18nStore, boundReset);\n return function () {\n isMounted.current = false;\n if (bindI18n && i18n) bindI18n.split(' ').forEach(function (e) {\n return i18n.off(e, boundReset);\n });\n if (bindI18nStore && i18n) bindI18nStore.split(' ').forEach(function (e) {\n return i18n.store.off(e, boundReset);\n });\n };\n }, [i18n, joinedNS]);\n var isInitial = (0, _react.useRef)(true);\n (0, _react.useEffect)(function () {\n if (isMounted.current && !isInitial.current) {\n setT(getT);\n }\n\n isInitial.current = false;\n }, [i18n, keyPrefix]);\n var ret = [t, i18n, ready];\n ret.t = t;\n ret.i18n = i18n;\n ret.ready = ready;\n if (ready) return ret;\n if (!ready && !useSuspense) return ret;\n throw new Promise(function (resolve) {\n (0, _utils.loadNamespaces)(i18n, namespaces, function () {\n resolve();\n });\n });\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.warn = warn;\nexports.warnOnce = warnOnce;\nexports.loadNamespaces = loadNamespaces;\nexports.hasLoadedNamespace = hasLoadedNamespace;\nexports.getDisplayName = getDisplayName;\n\nfunction warn() {\n if (console && console.warn) {\n var _console;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (typeof args[0] === 'string') args[0] = \"react-i18next:: \".concat(args[0]);\n\n (_console = console).warn.apply(_console, args);\n }\n}\n\nvar alreadyWarned = {};\n\nfunction warnOnce() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n if (typeof args[0] === 'string' && alreadyWarned[args[0]]) return;\n if (typeof args[0] === 'string') alreadyWarned[args[0]] = new Date();\n warn.apply(void 0, args);\n}\n\nfunction loadNamespaces(i18n, ns, cb) {\n i18n.loadNamespaces(ns, function () {\n if (i18n.isInitialized) {\n cb();\n } else {\n var initialized = function initialized() {\n setTimeout(function () {\n i18n.off('initialized', initialized);\n }, 0);\n cb();\n };\n\n i18n.on('initialized', initialized);\n }\n });\n}\n\nfunction oldI18nextHasLoadedNamespace(ns, i18n) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var lng = i18n.languages[0];\n var fallbackLng = i18n.options ? i18n.options.fallbackLng : false;\n var lastLng = i18n.languages[i18n.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n\n var loadNotPending = function loadNotPending(l, n) {\n var loadState = i18n.services.backendConnector.state[\"\".concat(l, \"|\").concat(n)];\n return loadState === -1 || loadState === 2;\n };\n\n if (options.bindI18n && options.bindI18n.indexOf('languageChanging') > -1 && i18n.services.backendConnector.backend && i18n.isLanguageChangingTo && !loadNotPending(i18n.isLanguageChangingTo, ns)) return false;\n if (i18n.hasResourceBundle(lng, ns)) return true;\n if (!i18n.services.backendConnector.backend || i18n.options.resources && !i18n.options.partialBundledLanguages) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n}\n\nfunction hasLoadedNamespace(ns, i18n) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n if (!i18n.languages || !i18n.languages.length) {\n warnOnce('i18n.languages were undefined or empty', i18n.languages);\n return true;\n }\n\n var isNewerI18next = i18n.options.ignoreJSONStructure !== undefined;\n\n if (!isNewerI18next) {\n return oldI18nextHasLoadedNamespace(ns, i18n, options);\n }\n\n return i18n.hasLoadedNamespace(ns, {\n precheck: function precheck(i18nInstance, loadNotPending) {\n if (options.bindI18n && options.bindI18n.indexOf('languageChanging') > -1 && i18nInstance.services.backendConnector.backend && i18nInstance.isLanguageChangingTo && !loadNotPending(i18nInstance.isLanguageChangingTo, ns)) return false;\n }\n });\n}\n\nfunction getDisplayName(Component) {\n return Component.displayName || Component.name || (typeof Component === 'string' && Component.length > 0 ? Component : 'Unknown');\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.withSSR = withSSR;\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _react = require(\"react\");\n\nvar _useSSR = require(\"./useSSR.js\");\n\nvar _context = require(\"./context.js\");\n\nvar _utils = require(\"./utils.js\");\n\nvar _excluded = [\"initialI18nStore\", \"initialLanguage\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2[\"default\"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction withSSR() {\n return function Extend(WrappedComponent) {\n function I18nextWithSSR(_ref) {\n var initialI18nStore = _ref.initialI18nStore,\n initialLanguage = _ref.initialLanguage,\n rest = (0, _objectWithoutProperties2[\"default\"])(_ref, _excluded);\n (0, _useSSR.useSSR)(initialI18nStore, initialLanguage);\n return (0, _react.createElement)(WrappedComponent, _objectSpread({}, rest));\n }\n\n I18nextWithSSR.getInitialProps = (0, _context.composeInitialProps)(WrappedComponent);\n I18nextWithSSR.displayName = \"withI18nextSSR(\".concat((0, _utils.getDisplayName)(WrappedComponent), \")\");\n I18nextWithSSR.WrappedComponent = WrappedComponent;\n return I18nextWithSSR;\n };\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.withTranslation = withTranslation;\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _slicedToArray2 = _interopRequireDefault(require(\"@babel/runtime/helpers/slicedToArray\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _react = require(\"react\");\n\nvar _useTranslation3 = require(\"./useTranslation.js\");\n\nvar _utils = require(\"./utils.js\");\n\nvar _excluded = [\"forwardedRef\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2[\"default\"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction withTranslation(ns) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return function Extend(WrappedComponent) {\n function I18nextWithTranslation(_ref) {\n var forwardedRef = _ref.forwardedRef,\n rest = (0, _objectWithoutProperties2[\"default\"])(_ref, _excluded);\n\n var _useTranslation = (0, _useTranslation3.useTranslation)(ns, _objectSpread(_objectSpread({}, rest), {}, {\n keyPrefix: options.keyPrefix\n })),\n _useTranslation2 = (0, _slicedToArray2[\"default\"])(_useTranslation, 3),\n t = _useTranslation2[0],\n i18n = _useTranslation2[1],\n ready = _useTranslation2[2];\n\n var passDownProps = _objectSpread(_objectSpread({}, rest), {}, {\n t: t,\n i18n: i18n,\n tReady: ready\n });\n\n if (options.withRef && forwardedRef) {\n passDownProps.ref = forwardedRef;\n } else if (!options.withRef && forwardedRef) {\n passDownProps.forwardedRef = forwardedRef;\n }\n\n return (0, _react.createElement)(WrappedComponent, passDownProps);\n }\n\n I18nextWithTranslation.displayName = \"withI18nextTranslation(\".concat((0, _utils.getDisplayName)(WrappedComponent), \")\");\n I18nextWithTranslation.WrappedComponent = WrappedComponent;\n\n var forwardRef = function forwardRef(props, ref) {\n return (0, _react.createElement)(I18nextWithTranslation, Object.assign({}, props, {\n forwardedRef: ref\n }));\n };\n\n return options.withRef ? (0, _react.forwardRef)(forwardRef) : I18nextWithTranslation;\n };\n}","/**\n * @license React\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var b=Symbol.for(\"react.element\"),c=Symbol.for(\"react.portal\"),d=Symbol.for(\"react.fragment\"),e=Symbol.for(\"react.strict_mode\"),f=Symbol.for(\"react.profiler\"),g=Symbol.for(\"react.provider\"),h=Symbol.for(\"react.context\"),k=Symbol.for(\"react.server_context\"),l=Symbol.for(\"react.forward_ref\"),m=Symbol.for(\"react.suspense\"),n=Symbol.for(\"react.suspense_list\"),p=Symbol.for(\"react.memo\"),q=Symbol.for(\"react.lazy\"),t=Symbol.for(\"react.offscreen\"),u;u=Symbol.for(\"react.module.reference\");\nfunction v(a){if(\"object\"===typeof a&&null!==a){var r=a.$$typeof;switch(r){case b:switch(a=a.type,a){case d:case f:case e:case m:case n:return a;default:switch(a=a&&a.$$typeof,a){case k:case h:case l:case q:case p:case g:return a;default:return r}}case c:return r}}}exports.ContextConsumer=h;exports.ContextProvider=g;exports.Element=b;exports.ForwardRef=l;exports.Fragment=d;exports.Lazy=q;exports.Memo=p;exports.Portal=c;exports.Profiler=f;exports.StrictMode=e;exports.Suspense=m;\nexports.SuspenseList=n;exports.isAsyncMode=function(){return!1};exports.isConcurrentMode=function(){return!1};exports.isContextConsumer=function(a){return v(a)===h};exports.isContextProvider=function(a){return v(a)===g};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===b};exports.isForwardRef=function(a){return v(a)===l};exports.isFragment=function(a){return v(a)===d};exports.isLazy=function(a){return v(a)===q};exports.isMemo=function(a){return v(a)===p};\nexports.isPortal=function(a){return v(a)===c};exports.isProfiler=function(a){return v(a)===f};exports.isStrictMode=function(a){return v(a)===e};exports.isSuspense=function(a){return v(a)===m};exports.isSuspenseList=function(a){return v(a)===n};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===d||a===f||a===e||a===m||a===n||a===t||\"object\"===typeof a&&null!==a&&(a.$$typeof===q||a.$$typeof===p||a.$$typeof===g||a.$$typeof===h||a.$$typeof===l||a.$$typeof===u||void 0!==a.getModuleId)?!0:!1};exports.typeOf=v;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/**\n * @license React\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=Symbol.for(\"react.element\"),n=Symbol.for(\"react.portal\"),p=Symbol.for(\"react.fragment\"),q=Symbol.for(\"react.strict_mode\"),r=Symbol.for(\"react.profiler\"),t=Symbol.for(\"react.provider\"),u=Symbol.for(\"react.context\"),v=Symbol.for(\"react.forward_ref\"),w=Symbol.for(\"react.suspense\"),x=Symbol.for(\"react.memo\"),y=Symbol.for(\"react.lazy\"),z=Symbol.iterator;function A(a){if(null===a||\"object\"!==typeof a)return null;a=z&&a[z]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}\nvar B={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,D={};function E(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}E.prototype.isReactComponent={};\nE.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,a,b,\"setState\")};E.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};function F(){}F.prototype=E.prototype;function G(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}var H=G.prototype=new F;\nH.constructor=G;C(H,E.prototype);H.isPureReactComponent=!0;var I=Array.isArray,J=Object.prototype.hasOwnProperty,K={current:null},L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,e){var d,c={},k=null,h=null;if(null!=b)for(d in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(k=\"\"+b.key),b)J.call(b,d)&&!L.hasOwnProperty(d)&&(c[d]=b[d]);var g=arguments.length-2;if(1===g)c.children=e;else if(1<g){for(var f=Array(g),m=0;m<g;m++)f[m]=arguments[m+2];c.children=f}if(a&&a.defaultProps)for(d in g=a.defaultProps,g)void 0===c[d]&&(c[d]=g[d]);return{$$typeof:l,type:a,key:k,ref:h,props:c,_owner:K.current}}\nfunction N(a,b){return{$$typeof:l,type:a.type,key:b,ref:a.ref,props:a.props,_owner:a._owner}}function O(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===l}function escape(a){var b={\"=\":\"=0\",\":\":\"=2\"};return\"$\"+a.replace(/[=:]/g,function(a){return b[a]})}var P=/\\/+/g;function Q(a,b){return\"object\"===typeof a&&null!==a&&null!=a.key?escape(\"\"+a.key):b.toString(36)}\nfunction R(a,b,e,d,c){var k=typeof a;if(\"undefined\"===k||\"boolean\"===k)a=null;var h=!1;if(null===a)h=!0;else switch(k){case \"string\":case \"number\":h=!0;break;case \"object\":switch(a.$$typeof){case l:case n:h=!0}}if(h)return h=a,c=c(h),a=\"\"===d?\".\"+Q(h,0):d,I(c)?(e=\"\",null!=a&&(e=a.replace(P,\"$&/\")+\"/\"),R(c,b,e,\"\",function(a){return a})):null!=c&&(O(c)&&(c=N(c,e+(!c.key||h&&h.key===c.key?\"\":(\"\"+c.key).replace(P,\"$&/\")+\"/\")+a)),b.push(c)),1;h=0;d=\"\"===d?\".\":d+\":\";if(I(a))for(var g=0;g<a.length;g++){k=\na[g];var f=d+Q(k,g);h+=R(k,b,e,f,c)}else if(f=A(a),\"function\"===typeof f)for(a=f.call(a),g=0;!(k=a.next()).done;)k=k.value,f=d+Q(k,g++),h+=R(k,b,e,f,c);else if(\"object\"===k)throw b=String(a),Error(\"Objects are not valid as a React child (found: \"+(\"[object Object]\"===b?\"object with keys {\"+Object.keys(a).join(\", \")+\"}\":b)+\"). If you meant to render a collection of children, use an array instead.\");return h}\nfunction S(a,b,e){if(null==a)return a;var d=[],c=0;R(a,d,\"\",\"\",function(a){return b.call(e,a,c++)});return d}function T(a){if(-1===a._status){var b=a._result;b=b();b.then(function(b){if(0===a._status||-1===a._status)a._status=1,a._result=b},function(b){if(0===a._status||-1===a._status)a._status=2,a._result=b});-1===a._status&&(a._status=0,a._result=b)}if(1===a._status)return a._result.default;throw a._result;}\nvar U={current:null},V={transition:null},W={ReactCurrentDispatcher:U,ReactCurrentBatchConfig:V,ReactCurrentOwner:K};exports.Children={map:S,forEach:function(a,b,e){S(a,function(){b.apply(this,arguments)},e)},count:function(a){var b=0;S(a,function(){b++});return b},toArray:function(a){return S(a,function(a){return a})||[]},only:function(a){if(!O(a))throw Error(\"React.Children.only expected to receive a single React element child.\");return a}};exports.Component=E;exports.Fragment=p;\nexports.Profiler=r;exports.PureComponent=G;exports.StrictMode=q;exports.Suspense=w;exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=W;\nexports.cloneElement=function(a,b,e){if(null===a||void 0===a)throw Error(\"React.cloneElement(...): The argument must be a React element, but you passed \"+a+\".\");var d=C({},a.props),c=a.key,k=a.ref,h=a._owner;if(null!=b){void 0!==b.ref&&(k=b.ref,h=K.current);void 0!==b.key&&(c=\"\"+b.key);if(a.type&&a.type.defaultProps)var g=a.type.defaultProps;for(f in b)J.call(b,f)&&!L.hasOwnProperty(f)&&(d[f]=void 0===b[f]&&void 0!==g?g[f]:b[f])}var f=arguments.length-2;if(1===f)d.children=e;else if(1<f){g=Array(f);\nfor(var m=0;m<f;m++)g[m]=arguments[m+2];d.children=g}return{$$typeof:l,type:a.type,key:c,ref:k,props:d,_owner:h}};exports.createContext=function(a){a={$$typeof:u,_currentValue:a,_currentValue2:a,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null};a.Provider={$$typeof:t,_context:a};return a.Consumer=a};exports.createElement=M;exports.createFactory=function(a){var b=M.bind(null,a);b.type=a;return b};exports.createRef=function(){return{current:null}};\nexports.forwardRef=function(a){return{$$typeof:v,render:a}};exports.isValidElement=O;exports.lazy=function(a){return{$$typeof:y,_payload:{_status:-1,_result:a},_init:T}};exports.memo=function(a,b){return{$$typeof:x,type:a,compare:void 0===b?null:b}};exports.startTransition=function(a){var b=V.transition;V.transition={};try{a()}finally{V.transition=b}};exports.unstable_act=function(){throw Error(\"act(...) is not supported in production builds of React.\");};\nexports.useCallback=function(a,b){return U.current.useCallback(a,b)};exports.useContext=function(a){return U.current.useContext(a)};exports.useDebugValue=function(){};exports.useDeferredValue=function(a){return U.current.useDeferredValue(a)};exports.useEffect=function(a,b){return U.current.useEffect(a,b)};exports.useId=function(){return U.current.useId()};exports.useImperativeHandle=function(a,b,e){return U.current.useImperativeHandle(a,b,e)};\nexports.useInsertionEffect=function(a,b){return U.current.useInsertionEffect(a,b)};exports.useLayoutEffect=function(a,b){return U.current.useLayoutEffect(a,b)};exports.useMemo=function(a,b){return U.current.useMemo(a,b)};exports.useReducer=function(a,b,e){return U.current.useReducer(a,b,e)};exports.useRef=function(a){return U.current.useRef(a)};exports.useState=function(a){return U.current.useState(a)};exports.useSyncExternalStore=function(a,b,e){return U.current.useSyncExternalStore(a,b,e)};\nexports.useTransition=function(){return U.current.useTransition()};exports.version=\"18.2.0\";\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","/**\n * @license React\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';function f(a,b){var c=a.length;a.push(b);a:for(;0<c;){var d=c-1>>>1,e=a[d];if(0<g(e,b))a[d]=b,a[c]=e,c=d;else break a}}function h(a){return 0===a.length?null:a[0]}function k(a){if(0===a.length)return null;var b=a[0],c=a.pop();if(c!==b){a[0]=c;a:for(var d=0,e=a.length,w=e>>>1;d<w;){var m=2*(d+1)-1,C=a[m],n=m+1,x=a[n];if(0>g(C,c))n<e&&0>g(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(n<e&&0>g(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}\nfunction g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}var r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=\"function\"===typeof setTimeout?setTimeout:null,E=\"function\"===typeof clearTimeout?clearTimeout:null,F=\"undefined\"!==typeof setImmediate?setImmediate:null;\n\"undefined\"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){B=!1;G(a);if(!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);null!==b&&K(H,b.startTime-a)}}\nfunction J(a,b){A=!1;B&&(B=!1,E(L),L=-1);z=!0;var c=y;try{G(b);for(v=h(r);null!==v&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(\"function\"===typeof d){v.callback=null;y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?v.callback=e:v===h(r)&&k(r);G(b)}else k(r);v=h(r)}if(null!==v)var w=!0;else{var m=h(t);null!==m&&K(H,m.startTime-b);w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;\nfunction M(){return exports.unstable_now()-Q<P?!1:!0}function R(){if(null!==O){var a=exports.unstable_now();Q=a;var b=!0;try{b=O(!0,a)}finally{b?S():(N=!1,O=null)}}else N=!1}var S;if(\"function\"===typeof F)S=function(){F(R)};else if(\"undefined\"!==typeof MessageChannel){var T=new MessageChannel,U=T.port2;T.port1.onmessage=R;S=function(){U.postMessage(null)}}else S=function(){D(R,0)};function I(a){O=a;N||(N=!0,S())}function K(a,b){L=D(function(){a(exports.unstable_now())},b)}\nexports.unstable_IdlePriority=5;exports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){A||z||(A=!0,I(J))};\nexports.unstable_forceFrameRate=function(a){0>a||125<a?console.error(\"forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported\"):P=0<a?Math.floor(1E3/a):5};exports.unstable_getCurrentPriorityLevel=function(){return y};exports.unstable_getFirstCallbackNode=function(){return h(r)};exports.unstable_next=function(a){switch(y){case 1:case 2:case 3:var b=3;break;default:b=y}var c=y;y=b;try{return a()}finally{y=c}};exports.unstable_pauseExecution=function(){};\nexports.unstable_requestPaint=function(){};exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=y;y=a;try{return b()}finally{y=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();\"object\"===typeof c&&null!==c?(c=c.delay,c=\"number\"===typeof c&&0<c?d+c:d):c=d;switch(a){case 1:var e=-1;break;case 2:e=250;break;case 5:e=1073741823;break;case 4:e=1E4;break;default:e=5E3}e=c+e;a={id:u++,callback:b,priorityLevel:a,startTime:c,expirationTime:e,sortIndex:-1};c>d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","'use strict';\n\nvar isArrayish = require('is-arrayish');\n\nvar concat = Array.prototype.concat;\nvar slice = Array.prototype.slice;\n\nvar swizzle = module.exports = function swizzle(args) {\n\tvar results = [];\n\n\tfor (var i = 0, len = args.length; i < len; i++) {\n\t\tvar arg = args[i];\n\n\t\tif (isArrayish(arg)) {\n\t\t\t// http://jsperf.com/javascript-array-concat-vs-push/98\n\t\t\tresults = concat.call(results, slice.call(arg));\n\t\t} else {\n\t\t\tresults.push(arg);\n\t\t}\n\t}\n\n\treturn results;\n};\n\nswizzle.wrap = function (fn) {\n\treturn function () {\n\t\treturn fn(swizzle(arguments));\n\t};\n};\n","module.exports = function isArrayish(obj) {\n\tif (!obj || typeof obj === 'string') {\n\t\treturn false;\n\t}\n\n\treturn obj instanceof Array || Array.isArray(obj) ||\n\t\t(obj.length >= 0 && (obj.splice instanceof Function ||\n\t\t\t(Object.getOwnPropertyDescriptor(obj, (obj.length - 1)) && obj.constructor.name !== 'String')));\n};\n","/* Spatial Navigation Polyfill\n *\n * It follows W3C official specification\n * https://drafts.csswg.org/css-nav-1/\n *\n * Copyright (c) 2018-2019 LG Electronics Inc.\n * https://github.com/WICG/spatial-navigation/polyfill\n *\n * Licensed under the MIT license (MIT)\n */\n\n(function () {\n\n // The polyfill must not be executed, if it's already enabled via browser engine or browser extensions.\n if (window.navigate !== undefined) {\n return;\n }\n\n const ARROW_KEY_CODE = {37: 'left', 38: 'up', 39: 'right', 40: 'down'};\n const TAB_KEY_CODE = 9;\n let mapOfBoundRect = null;\n let startingPoint = null; // Indicates global variables for spatnav (starting position)\n\n /**\n * Initiate the spatial navigation features of the polyfill.\n * This function defines which input methods trigger the spatial navigation behavior.\n * @function initiateSpatialNavigation\n */\n function initiateSpatialNavigation() {\n /*\n * Bind the standards APIs to be exposed to the window object for authors\n */\n window.navigate = navigate;\n window.Element.prototype.spatialNavigationSearch = spatialNavigationSearch;\n window.Element.prototype.focusableAreas = focusableAreas;\n window.Element.prototype.getSpatialNavigationContainer = getSpatialNavigationContainer;\n\n /*\n * CSS.registerProperty() from the Properties and Values API\n * Reference: https://drafts.css-houdini.org/css-properties-values-api/#the-registerproperty-function\n */\n if (window.CSS && CSS.registerProperty) {\n if (window.getComputedStyle(document.documentElement).getPropertyValue('--spatial-navigation-contain') === '') {\n CSS.registerProperty({\n name: '--spatial-navigation-contain',\n syntax: 'auto | contain',\n inherits: false,\n initialValue: 'auto'\n });\n }\n\n if (window.getComputedStyle(document.documentElement).getPropertyValue('--spatial-navigation-action') === '') {\n CSS.registerProperty({\n name: '--spatial-navigation-action',\n syntax: 'auto | focus | scroll',\n inherits: false,\n initialValue: 'auto'\n });\n }\n\n if (window.getComputedStyle(document.documentElement).getPropertyValue('--spatial-navigation-function') === '') {\n CSS.registerProperty({\n name: '--spatial-navigation-function',\n syntax: 'normal | euclidean | grid',\n inherits: true,\n initialValue: 'normal'\n });\n }\n }\n\n /*\n * keydown EventListener :\n * If arrow key pressed, get the next focusing element and send it to focusing controller\n */\n window.addEventListener('keydown', e => {\n const currentKeyMode = (parent && parent.__spatialNavigation__.keyMode) || window.__spatialNavigation__.keyMode;\n const eventTarget = document.activeElement;\n const dir = ARROW_KEY_CODE[e.keyCode];\n\n if (e.keyCode === TAB_KEY_CODE)\n startingPoint = null;\n\n if (!currentKeyMode ||\n (currentKeyMode === 'NONE') ||\n ((currentKeyMode === 'SHIFTARROW') && !e.shiftKey) ||\n ((currentKeyMode === 'ARROW') && e.shiftKey))\n return;\n\n if (!e.defaultPrevented && !e.spatialNavigationPrevented) {\n let focusNavigableArrowKey = {left: true, up: true, right: true, down: true};\n\n // Edge case (text input, area) : Don't move focus, just navigate cursor in text area\n if ((eventTarget.nodeName === 'INPUT') || eventTarget.nodeName === 'TEXTAREA')\n focusNavigableArrowKey = handlingEditableElement(e);\n\n if (focusNavigableArrowKey[dir]) {\n e.preventDefault();\n mapOfBoundRect = new Map();\n\n navigate(dir);\n\n mapOfBoundRect = null;\n startingPoint = null;\n }\n }\n });\n\n /*\n * mouseup EventListener :\n * If the mouse click a point in the page, the point will be the starting point.\n * NOTE: Let UA set the spatial navigation starting point based on click\n */\n // document.addEventListener('mouseup', e => {\n // startingPoint = {x: e.clientX, y: e.clientY};\n // });\n }\n\n /**\n * Enable the author to trigger spatial navigation programmatically, as if the user had done so manually.\n * @see {@link https://drafts.csswg.org/css-nav-1/#dom-window-navigate}\n * @function navigate\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n */\n function navigate(dir) {\n // spatial navigation steps\n\n // 1\n const searchOrigin = findSearchOrigin();\n let eventTarget = searchOrigin;\n\n let elementFromPosition = null;\n\n // 2 Optional step, UA defined starting point\n if (startingPoint) {\n // if there is a starting point, set eventTarget as the element from position for getting the spatnav container\n elementFromPosition = document.elementFromPoint(startingPoint.x, startingPoint.y);\n\n // Use starting point if the starting point isn't inside the focusable element (but not container)\n // * Starting point is meaningfull when:\n // 1) starting point is inside the spatnav container\n // 2) starting point is inside the non-focusable element\n if(elementFromPosition === null) {\n elementFromPosition = document.body;\n }\n if (isFocusable(elementFromPosition) && !isContainer(elementFromPosition)) {\n startingPoint = null;\n } else if (isContainer(elementFromPosition)) {\n eventTarget = elementFromPosition;\n } else {\n eventTarget = elementFromPosition.getSpatialNavigationContainer();\n }\n }\n\n // 4\n if (eventTarget === document || eventTarget === document.documentElement) {\n eventTarget = document.body || document.documentElement;\n }\n\n // 5\n // At this point, spatialNavigationSearch can be applied.\n // If startingPoint is either a scroll container or the document,\n // find the best candidate within startingPoint\n let container = null;\n if ((isContainer(eventTarget) || eventTarget.nodeName === 'BODY') && !(eventTarget.nodeName === 'INPUT')) {\n container = eventTarget;\n\n if (eventTarget.nodeName === 'IFRAME')\n eventTarget = eventTarget.contentDocument.documentElement;\n\n let bestInsideCandidate = null;\n\n // 5-2\n if (getCSSSpatNavAction(eventTarget) === 'scroll') {\n if (scrollingController(eventTarget, dir)) return;\n } else if (getCSSSpatNavAction(eventTarget) === 'focus') {\n bestInsideCandidate = eventTarget.spatialNavigationSearch(dir, {container: eventTarget, candidates: getSpatialNavigationCandidates(eventTarget, {mode: 'all'}), inside: true});\n if (focusingController(bestInsideCandidate, dir)) return;\n } else if (getCSSSpatNavAction(eventTarget) === 'auto') {\n bestInsideCandidate = eventTarget.spatialNavigationSearch(dir, {container: eventTarget, inside: true});\n if (focusingController(bestInsideCandidate, dir) || scrollingController(eventTarget, dir)) return;\n }\n }\n\n // 6\n // Let container be the nearest ancestor of eventTarget\n container = container || eventTarget.getSpatialNavigationContainer();\n let parentContainer = (container.parentElement) ? container.getSpatialNavigationContainer() : null;\n\n // When the container is the viewport of a browsing context\n if (!parentContainer && ( window.location !== window.parent.location)) {\n parentContainer = window.parent.document.documentElement;\n }\n\n if (getCSSSpatNavAction(eventTarget) === 'scroll') {\n if (scrollingController(container, dir)) return;\n }\n else if (getCSSSpatNavAction(eventTarget) === 'focus') {\n navigateChain(eventTarget, container, parentContainer, dir, 'all');\n }\n else if (getCSSSpatNavAction(eventTarget) === 'auto') {\n navigateChain(eventTarget, container, parentContainer, dir, 'visible');\n }\n }\n\n /**\n * Move the focus to the best candidate or do nothing.\n * @function focusingController\n * @param bestCandidate {Node} - The best candidate of the spatial navigation\n * @param dir {SpatialNavigationDirection}- The directional information for the spatial navigation (e.g. LRUD)\n * @returns {boolean}\n */\n function focusingController(bestCandidate, dir) {\n // 10 & 11\n // When bestCandidate is found\n if (bestCandidate) {\n const container = bestCandidate.getSpatialNavigationContainer();\n const elementStyle = window.getComputedStyle(container, null);\n const overflowX = elementStyle.getPropertyValue('overflow-x');\n const overflowY = elementStyle.getPropertyValue('overflow-y');\n\n // Scrolling container or document when the next focusing element isn't entirely visible\n // This is for the browser compatability\n if (isScrollable(container, dir) && !isEntirelyVisible(bestCandidate));\n bestCandidate.scrollIntoView();\n\n // When bestCandidate is a focusable element and not a container : move focus\n /*\n * [event] navbeforefocus : Fired before spatial or sequential navigation changes the focus.\n */\n if (!createSpatNavEvents('beforefocus', bestCandidate, null, dir))\n return true;\n\n bestCandidate.focus();\n return true;\n }\n\n // When bestCandidate is not found within the scrollport of a container: Nothing\n return false;\n }\n\n /**\n * Directionally scroll the scrollable spatial navigation container if it can be manually scrolled more.\n * @function scrollingController\n * @param container {Node} - The spatial navigation container which can scroll\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n * @returns {boolean}\n */\n function scrollingController(container, dir) {\n\n // If there is any scrollable area among parent elements and it can be manually scrolled, scroll the document\n if (isScrollable(container, dir) && !isScrollBoundary(container, dir)) {\n moveScroll(container, dir);\n return true;\n }\n\n // If the spatnav container is document and it can be scrolled, scroll the document\n if (!container.parentElement && !isHTMLScrollBoundary(container, dir)) {\n moveScroll(document.documentElement, dir);\n return true;\n }\n return false;\n }\n\n /**\n * Find the candidates within a spatial navigation container include delegable container.\n * This function does not search inside delegable container or focusable container.\n * In other words, this return candidates set is not included focusable elements inside delegable container or focusable container.\n *\n * @function getSpatialNavigationCandidates\n * @param container {Node} - The spatial navigation container\n * @param option {FocusableAreasOptions} - 'mode' attribute takes 'visible' or 'all' for searching the boundary of focusable elements.\n * Default value is 'visible'.\n * @returns {sequence<Node>} candidate elements within the container\n */\n function getSpatialNavigationCandidates (container, option = {mode: 'visible'}) {\n let candidates = [];\n\n if (container.childElementCount > 0) {\n if (!container.parentElement) {\n container = container.getElementsByTagName('body')[0] || document.body;\n }\n const children = container.children;\n for (const elem of children) {\n if (isDelegableContainer(elem)) {\n candidates.push(elem);\n } else if(isFocusable(elem)) {\n candidates.push(elem);\n\n if(!isContainer(elem) && elem.childElementCount) {\n candidates = candidates.concat(getSpatialNavigationCandidates(elem, {mode: 'all'}));\n }\n } else if (elem.childElementCount) {\n candidates = candidates.concat(getSpatialNavigationCandidates(elem, {mode: 'all'}));\n }\n }\n }\n return (option.mode === 'all') ? candidates : candidates.filter(isVisible);\n }\n\n /**\n * Find the candidates among focusable elements within a spatial navigation container from the search origin (currently focused element)\n * depending on the directional information.\n * @function getFilteredSpatialNavigationCandidates\n * @param element {Node} - The currently focused element which is defined as 'search origin' in the spec\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n * @param candidates {sequence<Node>} - The candidates for spatial navigation without the directional information\n * @param container {Node} - The spatial navigation container\n * @returns {Node} The candidates for spatial navigation considering the directional information\n */\n function getFilteredSpatialNavigationCandidates (element, dir, candidates, container) {\n const targetElement = element;\n // Removed below line due to a bug. (iframe body rect is sometime weird.)\n // const targetElement = (element.nodeName === 'IFRAME') ? element.contentDocument.body : element;\n // If the container is unknown, get the closest container from the element\n container = container || targetElement.getSpatialNavigationContainer();\n\n // If the candidates is unknown, find candidates\n // 5-1\n candidates = (!candidates || candidates.length <= 0) ? getSpatialNavigationCandidates(container) : candidates;\n return filteredCandidates(targetElement, candidates, dir, container);\n }\n\n /**\n * Find the best candidate among the candidates within the container from the search origin (currently focused element)\n * @see {@link https://drafts.csswg.org/css-nav-1/#dom-element-spatialnavigationsearch}\n * @function spatialNavigationSearch\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n * @param candidates {sequence<Node>} - The candidates for spatial navigation\n * @param container {Node} - The spatial navigation container\n * @param inside {boolean} - Whether candidates should be elements outside of the target element or not.\n * @returns {Node} The best candidate which will gain the focus\n */\n function spatialNavigationSearch (dir, args) {\n const targetElement = this;\n let internalCandidates = [];\n let externalCandidates = [];\n let bestTarget;\n\n // Set default parameter value\n if (!args)\n args = {};\n const container = args.container || targetElement.getSpatialNavigationContainer();\n const candidates = (args.candidates && args.candidates.length > 0) ?\n args.candidates.filter((candidate) => container.contains(candidate)) : getSpatialNavigationCandidates(container);\n const inside = args.inside || false;\n\n // Find the best candidate\n // 5\n // If startingPoint is either a scroll container or the document,\n // find the best candidate within startingPoint\n if (candidates && candidates.length > 0) {\n\n // Divide internal or external candidates\n candidates.forEach(candidate => {\n (targetElement.contains(candidate) && targetElement !== candidate ? internalCandidates : externalCandidates).push(candidate);\n });\n if (!(args.candidates && args.candidates.length > 0) && (internalCandidates.length === 0)) {\n // If targetElement is focusable container or delegable container,\n // getFilteredSpatialNavigationCandidates not return internal candidate.\n internalCandidates = getSpatialNavigationCandidates(targetElement);\n }\n // Filter external Candidates\n if (externalCandidates.length > 0) {\n externalCandidates = getFilteredSpatialNavigationCandidates (targetElement, dir, externalCandidates, container);\n }\n\n if (inside && (isContainer(targetElement) || targetElement.nodeName === 'BODY') && !(targetElement.nodeName === 'INPUT')) {\n bestTarget = selectBestCandidateFromEdge(targetElement, internalCandidates, dir);\n }\n bestTarget = bestTarget || selectBestCandidate(targetElement, externalCandidates, dir);\n\n if (bestTarget && isDelegableContainer(bestTarget)) {\n // if best target is delegable container, then find descendants candidate inside delegable container.\n const innerTarget = getSpatialNavigationCandidates(bestTarget, {mode: 'all'});\n const descendantsBest = innerTarget.length > 0 ? targetElement.spatialNavigationSearch(dir, {candidates: innerTarget, container: bestTarget}) : null;\n if (descendantsBest) {\n bestTarget = descendantsBest;\n } else if (!isFocusable(bestTarget)) {\n // if there is no target inside bestTarget and delegable container is not focusable,\n // then try to find another best target without curren best target.\n candidates.splice(candidates.indexOf(bestTarget), 1);\n bestTarget = candidates.length ? targetElement.spatialNavigationSearch(dir, {candidates: candidates, container: container}) : null;\n }\n }\n return bestTarget;\n }\n\n return null;\n }\n\n /**\n * Get the filtered candidate among candidates.\n * @see {@link https://drafts.csswg.org/css-nav-1/#select-the-best-candidate}\n * @function filteredCandidates\n * @param currentElm {Node} - The currently focused element which is defined as 'search origin' in the spec\n * @param candidates {sequence<Node>} - The candidates for spatial navigation\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n * @param container {Node} - The spatial navigation container\n * @returns {sequence<Node>} The filtered candidates which are not the search origin and not in the given spatial navigation direction from the search origin\n */\n function filteredCandidates(currentElm, candidates, dir, container) {\n const originalContainer = currentElm.getSpatialNavigationContainer();\n let eventTargetRect;\n\n // If D(dir) is null, let candidates be the same as visibles\n if (dir === undefined)\n return candidates;\n\n // to do\n // Offscreen handling when originalContainer is not <HTML>\n if (originalContainer.parentElement && container !== originalContainer && !isVisible(currentElm))\n eventTargetRect = getBoundingClientRect(originalContainer);\n else eventTargetRect = getBoundingClientRect(currentElm);\n\n /*\n * Else, let candidates be the subset of the elements in visibles\n * whose principal box’s geometric center is within the closed half plane\n * whose boundary goes through the geometric center of starting point and is perpendicular to D.\n */\n if ((isContainer(currentElm) || currentElm.nodeName === 'BODY') && !(currentElm.nodeName === 'INPUT')) {\n return candidates.filter(candidate => {\n const candidateRect = getBoundingClientRect(candidate);\n return container.contains(candidate) &&\n ((currentElm.contains(candidate) && isInside(eventTargetRect, candidateRect) && candidate !== currentElm) ||\n isOutside(candidateRect, eventTargetRect, dir));\n });\n } else {\n return candidates.filter(candidate => {\n const candidateRect = getBoundingClientRect(candidate);\n const candidateBody = (candidate.nodeName === 'IFRAME') ? candidate.contentDocument.body : null;\n return container.contains(candidate) &&\n candidate !== currentElm && candidateBody !== currentElm &&\n isOutside(candidateRect, eventTargetRect, dir);\n });\n }\n }\n\n /**\n * Select the best candidate among given candidates.\n * @see {@link https://drafts.csswg.org/css-nav-1/#select-the-best-candidate}\n * @function selectBestCandidate\n * @param currentElm {Node} - The currently focused element which is defined as 'search origin' in the spec\n * @param candidates {sequence<Node>} - The candidates for spatial navigation\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n * @returns {Node} The best candidate which will gain the focus\n */\n function selectBestCandidate(currentElm, candidates, dir) {\n const spatialNavigationFunction = getComputedStyle(currentElm).getPropertyValue('--spatial-navigation-function');\n const currentElmRect = getBoundingClientRect(currentElm);\n let distanceFunction;\n let alignedCandidates;\n\n switch (spatialNavigationFunction) {\n case 'grid':\n alignedCandidates = candidates.filter(elm => isAligned(currentElmRect, getBoundingClientRect(elm), dir));\n if (alignedCandidates.length > 0) {\n candidates = alignedCandidates;\n }\n distanceFunction = getAbsoluteDistance;\n break;\n case 'euclidean':\n distanceFunction = getEuclideanDistance;\n break;\n default:\n distanceFunction = getDistance;\n break;\n }\n return getClosestElement(currentElm, candidates, dir, distanceFunction);\n }\n\n /**\n * Select the best candidate among candidates by finding the closet candidate from the edge of the currently focused element (search origin).\n * @see {@link https://drafts.csswg.org/css-nav-1/#select-the-best-candidate (Step 5)}\n * @function selectBestCandidateFromEdge\n * @param currentElm {Node} - The currently focused element which is defined as 'search origin' in the spec\n * @param candidates {sequence<Node>} - The candidates for spatial navigation\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n * @returns {Node} The best candidate which will gain the focus\n */\n function selectBestCandidateFromEdge(currentElm, candidates, dir) {\n if (startingPoint)\n return getClosestElement(currentElm, candidates, dir, getDistanceFromPoint);\n else\n return getClosestElement(currentElm, candidates, dir, getInnerDistance);\n }\n\n /**\n * Select the closest candidate from the currently focused element (search origin) among candidates by using the distance function.\n * @function getClosestElement\n * @param currentElm {Node} - The currently focused element which is defined as 'search origin' in the spec\n * @param candidates {sequence<Node>} - The candidates for spatial navigation\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n * @param distanceFunction {function} - The distance function which measures the distance from the search origin to each candidate\n * @returns {Node} The candidate which is the closest one from the search origin\n */\n function getClosestElement(currentElm, candidates, dir, distanceFunction) {\n let eventTargetRect = null;\n if (( window.location !== window.parent.location ) && (currentElm.nodeName === 'BODY' || currentElm.nodeName === 'HTML')) {\n // If the eventTarget is iframe, then get rect of it based on its containing document\n // Set the iframe's position as (0,0) because the rects of elements inside the iframe don't know the real iframe's position.\n eventTargetRect = window.frameElement.getBoundingClientRect();\n eventTargetRect.x = 0;\n eventTargetRect.y = 0;\n }\n else \n eventTargetRect = currentElm.getBoundingClientRect();\n\n let minDistance = Number.POSITIVE_INFINITY;\n let minDistanceElements = [];\n\n if (candidates) {\n for (let i = 0; i < candidates.length; i++) {\n const distance = distanceFunction(eventTargetRect, getBoundingClientRect(candidates[i]), dir);\n\n // If the same distance, the candidate will be selected in the DOM order\n if (distance < minDistance) {\n minDistance = distance;\n minDistanceElements = [candidates[i]];\n } else if (distance === minDistance) {\n minDistanceElements.push(candidates[i]);\n }\n }\n }\n if (minDistanceElements.length === 0)\n return null;\n\n return (minDistanceElements.length > 1 && distanceFunction === getAbsoluteDistance) ?\n getClosestElement(currentElm, minDistanceElements, dir, getEuclideanDistance) : minDistanceElements[0];\n }\n\n /**\n * Get container of an element.\n * @see {@link https://drafts.csswg.org/css-nav-1/#dom-element-getspatialnavigationcontainer}\n * @module Element\n * @function getSpatialNavigationContainer\n * @returns {Node} The spatial navigation container\n */\n function getSpatialNavigationContainer() {\n let container = this;\n\n do {\n if (!container.parentElement) {\n if (window.location !== window.parent.location)\n container = window.parent.document.documentElement;\n else\n container = window.document.documentElement;\n break;\n }\n else {\n container = container.parentElement;\n }\n } while (!isContainer(container));\n return container;\n }\n\n /**\n * Find focusable elements within the spatial navigation container.\n * @see {@link https://drafts.csswg.org/css-nav-1/#dom-element-focusableareas}\n * @function focusableAreas\n * @param option {FocusableAreasOptions} - 'mode' attribute takes 'visible' or 'all' for searching the boundary of focusable elements.\n * Default value is 'visible'.\n * @returns {sequence<Node>} All focusable elements or only visible focusable elements within the container\n */\n function focusableAreas(option = {mode: 'visible'}) {\n const container = this.parentElement ? this : document.body;\n const focusables = Array.prototype.filter.call(container.getElementsByTagName('*'), isFocusable);\n return (option.mode === 'all') ? focusables : focusables.filter(isVisible);\n }\n\n /**\n * Create the NavigationEvent: navbeforefocus, navnotarget\n * @see {@link https://drafts.csswg.org/css-nav-1/#events-navigationevent}\n * @function createSpatNavEvents\n * @param option {string} - Type of the navigation event (beforefocus, notarget)\n * @param element {Node} - The target element of the event\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n */\n function createSpatNavEvents(eventType, containerElement, currentElement, direction) {\n if(['beforefocus', 'notarget'].includes(eventType)) {\n const data = {\n causedTarget: currentElement,\n dir: direction\n };\n const triggeredEvent = new CustomEvent('nav' + eventType, {bubbles: true, cancelable: true, detail: data});\n return containerElement.dispatchEvent(triggeredEvent);\n }\n }\n\n /**\n * Get the value of the CSS custom property of the element\n * @function readCssVar\n * @param element {Node}\n * @param varName {string} - The name of the css custom property without '--'\n * @returns {string} The value of the css custom property\n */\n function readCssVar(element, varName) {\n return window.getComputedStyle(element).getPropertyValue(`--${varName}`).trim();\n }\n\n /**\n * Decide whether or not the 'contain' value is given to 'spatial-navigation-contain' css property of an element\n * @function isCSSSpatNavContain\n * @param element {Node}\n * @returns {boolean}\n */\n function isCSSSpatNavContain(element) {\n return readCssVar(element, 'spatial-navigation-contain') === 'contain';\n }\n\n /**\n * Return the value of 'spatial-navigation-action' css property of an element\n * @function getCSSSpatNavAction\n * @param element {Node} - would be the spatial navigation container\n * @returns {string} auto | focus | scroll\n */\n function getCSSSpatNavAction(element) {\n return readCssVar(element, 'spatial-navigation-action') || 'auto';\n }\n\n /**\n * Only move the focus with spatial navigation. Manually scrolling isn't available.\n * @function navigateChain\n * @param eventTarget {Node} - currently focused element\n * @param container {SpatialNavigationContainer} - container\n * @param parentContainer {SpatialNavigationContainer} - parent container\n * @param option - visible || all\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n */\n function navigateChain(eventTarget, container, parentContainer, dir, option) {\n let currentOption = {candidates: getSpatialNavigationCandidates(container, {mode: option}), container};\n\n while (parentContainer) {\n if (focusingController(eventTarget.spatialNavigationSearch(dir, currentOption), dir)) {\n return;\n }\n else {\n if ((option === 'visible') && scrollingController(container, dir)) return;\n else {\n if (!createSpatNavEvents('notarget', container, eventTarget, dir)) return;\n\n // find the container\n if (container === document || container === document.documentElement) {\n if ( window.location !== window.parent.location ) {\n // The page is in an iframe. eventTarget needs to be reset because the position of the element in the iframe\n eventTarget = window.frameElement;\n container = window.parent.document.documentElement;\n\n if (container.parentElement)\n parentContainer = container.getSpatialNavigationContainer();\n else {\n parentContainer = null;\n break;\n }\n }\n }\n else {\n container = parentContainer;\n currentOption = {candidates: getSpatialNavigationCandidates(container, {mode: option}), container};\n\n if (container.parentElement)\n parentContainer = container.getSpatialNavigationContainer();\n else {\n parentContainer = null;\n break;\n }\n }\n }\n }\n }\n\n currentOption = {candidates: getSpatialNavigationCandidates(container, {mode: option}), container};\n\n // Behavior after 'navnotarget' - Getting out from the current spatnav container\n if ((!parentContainer && container) && focusingController(eventTarget.spatialNavigationSearch(dir, currentOption), dir)) return;\n\n if (!createSpatNavEvents('notarget', currentOption.container, eventTarget, dir)) return;\n\n if ((getCSSSpatNavAction(container) === 'auto') && (option === 'visible'))\n if (scrollingController(container, dir)) return;\n }\n\n /**\n * Find search origin\n * @see {@link https://drafts.csswg.org/css-nav-1/#nav}\n * @function findSearchOrigin\n * @returns {Node} The search origin for the spatial navigation\n */\n function findSearchOrigin() {\n let searchOrigin = document.activeElement;\n if (!searchOrigin ||\n (searchOrigin === document.body && !document.querySelector(':focus')) /* body isn't actually focused*/\n ) {\n searchOrigin = document;\n }\n return searchOrigin;\n }\n\n /**\n * Move the scroll of an element depending on the given spatial navigation directrion\n * (Assume that User Agent defined distance is '40px')\n * @see {@link https://drafts.csswg.org/css-nav-1/#directionally-scroll-an-element}\n * @function moveScroll\n * @param element {Node} - The scrollable element\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n * @param offset {Number} - The explicit amount of offset for scrolling. Default value is 0.\n */\n function moveScroll(element, dir, offset = 0) {\n if (element) {\n switch (dir) {\n case 'left': element.scrollLeft -= (40 + offset); break;\n case 'right': element.scrollLeft += (40 + offset); break;\n case 'up': element.scrollTop -= (40 + offset); break;\n case 'down': element.scrollTop += (40 + offset); break;\n }\n }\n }\n\n /**\n * Decide whether an element is container or not.\n * @function isContainer\n * @param element {Node} element\n * @returns {boolean}\n */\n function isContainer(element) {\n return (!element.parentElement) ||\n (element.nodeName === 'IFRAME') ||\n (isScrollContainer(element)) ||\n (isCSSSpatNavContain(element));\n }\n\n /**\n * Decide whether an element is delegable container or not.\n * NOTE: THIS IS NON-NORMATIVE API. \n * @function isDelegableContainer\n * @param element {Node} element\n * @returns {boolean}\n */\n function isDelegableContainer(element) {\n return readCssVar(element, 'spatial-navigation-contain') === 'delegable';\n }\n\n /**\n * Decide whether an element is a scrollable container or not.\n * @see {@link https://drafts.csswg.org/css-overflow-3/#scroll-container}\n * @function isScrollContainer\n * @param element {Node}\n * @returns {boolean}\n */\n function isScrollContainer(element) {\n const elementStyle = window.getComputedStyle(element, null);\n const overflowX = elementStyle.getPropertyValue('overflow-x');\n const overflowY = elementStyle.getPropertyValue('overflow-y');\n\n return ((overflowX !== 'visible' && overflowX !== 'clip' && isOverflow(element, 'left')) ||\n (overflowY !== 'visible' && overflowY !== 'clip' && isOverflow(element, 'down'))) ?\n true : false;\n }\n\n /**\n * Decide whether this element is scrollable or not.\n * NOTE: If the value of 'overflow' is given to either 'visible', 'clip', or 'hidden', the element isn't scrollable.\n * If the value is 'hidden', the element can be only programmically scrollable. (https://drafts.csswg.org/css-overflow-3/#valdef-overflow-hidden)\n * @function isScrollable\n * @param element {Node}\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n * @returns {boolean}\n */\n function isScrollable(element, dir) { // element, dir\n if (element && typeof element === 'object') {\n if (dir && typeof dir === 'string') { // parameter: dir, element\n if (isOverflow(element, dir)) {\n // style property\n const elementStyle = window.getComputedStyle(element, null);\n const overflowX = elementStyle.getPropertyValue('overflow-x');\n const overflowY = elementStyle.getPropertyValue('overflow-y');\n\n switch (dir) {\n case 'left':\n /* falls through */\n case 'right':\n return (overflowX !== 'visible' && overflowX !== 'clip' && overflowX !== 'hidden');\n case 'up':\n /* falls through */\n case 'down':\n return (overflowY !== 'visible' && overflowY !== 'clip' && overflowY !== 'hidden');\n }\n }\n return false;\n } else { // parameter: element\n return (element.nodeName === 'HTML' || element.nodeName === 'BODY') ||\n (isScrollContainer(element) && isOverflow(element));\n }\n }\n }\n\n /**\n * Decide whether an element is overflow or not.\n * @function isOverflow\n * @param element {Node}\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n * @returns {boolean}\n */\n function isOverflow(element, dir) {\n if (element && typeof element === 'object') {\n if (dir && typeof dir === 'string') { // parameter: element, dir\n switch (dir) {\n case 'left':\n /* falls through */\n case 'right':\n return (element.scrollWidth > element.clientWidth);\n case 'up':\n /* falls through */\n case 'down':\n return (element.scrollHeight > element.clientHeight);\n }\n } else { // parameter: element\n return (element.scrollWidth > element.clientWidth || element.scrollHeight > element.clientHeight);\n }\n return false;\n }\n }\n\n /**\n * Decide whether the scrollbar of the browsing context reaches to the end or not.\n * @function isHTMLScrollBoundary\n * @param element {Node} - The top browsing context\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n * @returns {boolean}\n */\n function isHTMLScrollBoundary(element, dir) {\n let result = false;\n switch (dir) {\n case 'left':\n result = window.scrollX === 0;\n break;\n case 'right':\n result = (element.scrollWidth - element.scrollLeft - element.clientWidth) === 0;\n break;\n case 'up':\n result = window.scrollY === 0;\n break;\n case 'down':\n result = (element.scrollHeight - element.scrollTop - element.clientHeight) === 0;\n break;\n }\n return result;\n }\n\n /**\n * Decide whether the scrollbar of an element reaches to the end or not.\n * @function isScrollBoundary\n * @param element {Node}\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n * @returns {boolean}\n */\n function isScrollBoundary(element, dir) {\n if (isScrollable(element, dir)) {\n const winScrollY = element.scrollTop;\n const winScrollX = element.scrollLeft;\n\n const height = element.scrollHeight - element.clientHeight;\n const width = element.scrollWidth - element.clientWidth;\n\n switch (dir) {\n case 'left': return (winScrollX === 0);\n case 'right': return (Math.abs(winScrollX - width) <= 1);\n case 'up': return (winScrollY === 0);\n case 'down': return (Math.abs(winScrollY - height) <= 1);\n }\n }\n return false;\n }\n\n /**\n * Decide whether an element is focusable for spatial navigation.\n * 1. If element is the browsing context (document, iframe), then it's focusable,\n * 2. If the element is scrollable container (regardless of scrollable axis), then it's focusable,\n * 3. The value of tabIndex >= 0, then it's focusable,\n * 4. If the element is disabled, it isn't focusable,\n * 5. If the element is expressly inert, it isn't focusable,\n * 6. Whether the element is being rendered or not.\n *\n * @function isFocusable\n * @param element {Node}\n * @returns {boolean}\n *\n * @see {@link https://html.spec.whatwg.org/multipage/interaction.html#focusable-area}\n */\n function isFocusable(element) {\n if ((element.tabIndex < 0) || isAtagWithoutHref(element) || isActuallyDisabled(element) || isExpresslyInert(element) || !isBeingRendered(element))\n return false;\n else if ((!element.parentElement) || (isScrollable(element) && isOverflow(element)) || (element.tabIndex >= 0))\n return true;\n }\n\n /**\n * Decide whether an element is a tag without href attribute or not.\n *\n * @function isAtagWithoutHref\n * @param element {Node}\n * @returns {boolean}\n */\n function isAtagWithoutHref(element) {\n return (element.tagName === 'A' && element.getAttribute('href') === null && element.getAttribute('tabIndex') === null);\n }\n\n /**\n * Decide whether an element is actually disabled or not.\n *\n * @function isActuallyDisabled\n * @param element {Node}\n * @returns {boolean}\n *\n * @see {@link https://html.spec.whatwg.org/multipage/semantics-other.html#concept-element-disabled}\n */\n function isActuallyDisabled(element) {\n if (['BUTTON', 'INPUT', 'SELECT', 'TEXTAREA', 'OPTGROUP', 'OPTION', 'FIELDSET'].includes(element.tagName))\n return (element.disabled);\n else\n return false;\n }\n\n /**\n * Decide whether the element is expressly inert or not.\n * @see {@link https://html.spec.whatwg.org/multipage/interaction.html#expressly-inert}\n * @function isExpresslyInert\n * @param element {Node}\n * @returns {boolean}\n */\n function isExpresslyInert(element) {\n return ((element.inert) && (!element.ownerDocument.documentElement.inert));\n }\n\n /**\n * Decide whether the element is being rendered or not.\n * 1. If an element has the style as \"visibility: hidden | collapse\" or \"display: none\", it is not being rendered.\n * 2. If an element has the style as \"opacity: 0\", it is not being rendered.(that is, invisible).\n * 3. If width and height of an element are explicitly set to 0, it is not being rendered.\n * 4. If a parent element is hidden, an element itself is not being rendered.\n * (CSS visibility property and display property are inherited.)\n * @see {@link https://html.spec.whatwg.org/multipage/rendering.html#being-rendered}\n * @function isBeingRendered\n * @param element {Node}\n * @returns {boolean}\n */\n function isBeingRendered(element) {\n if (!isVisibleStyleProperty(element.parentElement))\n return false;\n if (!isVisibleStyleProperty(element) || (element.style.opacity === 0) ||\n ((element.style.width === '0px' || element.style.width === 0) && (element.style.height === '0px' || element.style.height === 0)))\n return false;\n return true;\n }\n\n /**\n * Decide whether this element is partially or completely visible to user agent.\n * @function isVisible\n * @param element {Node}\n * @returns {boolean}\n */\n function isVisible(element) {\n return (!element.parentElement) || (isVisibleStyleProperty(element) && hitTest(element));\n }\n\n /**\n * Decide whether this element is completely visible in this viewport for the arrow direction.\n * @function isEntirelyVisible\n * @param element {Node}\n * @returns {boolean}\n */\n function isEntirelyVisible(element) {\n const rect = getBoundingClientRect(element);\n const containerRect = getBoundingClientRect(element.getSpatialNavigationContainer());\n\n // FIXME: when element is bigger than container?\n const entirelyVisible = !((rect.left < containerRect.left) ||\n (rect.right > containerRect.right) ||\n (rect.top < containerRect.top) ||\n (rect.bottom > containerRect.bottom));\n\n return entirelyVisible;\n }\n\n /**\n * Decide the style property of this element is specified whether it's visible or not.\n * @function isVisibleStyleProperty\n * @param element {CSSStyleDeclaration}\n * @returns {boolean}\n */\n function isVisibleStyleProperty(element) {\n const elementStyle = window.getComputedStyle(element, null);\n const thisVisibility = elementStyle.getPropertyValue('visibility');\n const thisDisplay = elementStyle.getPropertyValue('display');\n const invisibleStyle = ['hidden', 'collapse'];\n\n return (thisDisplay !== 'none' && !invisibleStyle.includes(thisVisibility));\n }\n\n /**\n * Decide whether this element is entirely or partially visible within the viewport.\n * @function hitTest\n * @param element {Node}\n * @returns {boolean}\n */\n function hitTest(element) {\n const elementRect = getBoundingClientRect(element);\n if (element.nodeName !== 'IFRAME' && (elementRect.top < 0 || elementRect.left < 0 ||\n elementRect.top > window.innerHeight || elementRect.left > window.innerWidth))\n return false;\n\n let offsetX = parseInt(element.offsetWidth) / 10;\n let offsetY = parseInt(element.offsetHeight) / 10;\n\n offsetX = isNaN(offsetX) ? 1 : offsetX;\n offsetY = isNaN(offsetY) ? 1 : offsetY;\n\n const hitTestPoint = {\n middle: [(elementRect.left + elementRect.right) / 2, (elementRect.top + elementRect.bottom) / 2],\n leftTop: [elementRect.left + offsetX, elementRect.top + offsetY],\n // For performance\n // leftBoottom: [elementRect.left + offsetX, elementRect.bottom - offsetY],\n // rightTop: [elementRect.right - offsetX, elementRect.top + offsetY],\n rightBottom: [elementRect.right - offsetX, elementRect.bottom - offsetY]\n };\n\n for(const point in hitTestPoint) {\n const elemFromPoint = document.elementFromPoint(...hitTestPoint[point]);\n if (element === elemFromPoint || element.contains(elemFromPoint)) {\n return true;\n }\n }\n return false;\n }\n\n /**\n * Decide whether a child element is entirely or partially Included within container visually.\n * @function isInside\n * @param containerRect {DOMRect}\n * @param childRect {DOMRect}\n * @returns {boolean}\n */\n function isInside(containerRect, childRect) {\n const rightEdgeCheck = (containerRect.left <= childRect.right && containerRect.right >= childRect.right);\n const leftEdgeCheck = (containerRect.left <= childRect.left && containerRect.right >= childRect.left);\n const topEdgeCheck = (containerRect.top <= childRect.top && containerRect.bottom >= childRect.top);\n const bottomEdgeCheck = (containerRect.top <= childRect.bottom && containerRect.bottom >= childRect.bottom);\n return (rightEdgeCheck || leftEdgeCheck) && (topEdgeCheck || bottomEdgeCheck);\n }\n\n /**\n * Decide whether this element is entirely or partially visible within the viewport.\n * Note: rect1 is outside of rect2 for the dir\n * @function isOutside\n * @param rect1 {DOMRect}\n * @param rect2 {DOMRect}\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n * @returns {boolean}\n */\n function isOutside(rect1, rect2, dir) {\n switch (dir) {\n case 'left':\n return isRightSide(rect2, rect1);\n case 'right':\n return isRightSide(rect1, rect2);\n case 'up':\n return isBelow(rect2, rect1);\n case 'down':\n return isBelow(rect1, rect2);\n default:\n return false;\n }\n }\n\n /* rect1 is right of rect2 */\n function isRightSide(rect1, rect2) {\n return rect1.left >= rect2.right || (rect1.left >= rect2.left && rect1.right > rect2.right && rect1.bottom > rect2.top && rect1.top < rect2.bottom);\n }\n\n /* rect1 is below of rect2 */\n function isBelow(rect1, rect2) {\n return rect1.top >= rect2.bottom || (rect1.top >= rect2.top && rect1.bottom > rect2.bottom && rect1.left < rect2.right && rect1.right > rect2.left);\n }\n\n /* rect1 is completely aligned or partially aligned for the direction */\n function isAligned(rect1, rect2, dir) {\n switch (dir) {\n case 'left' :\n /* falls through */\n case 'right' :\n return rect1.bottom > rect2.top && rect1.top < rect2.bottom;\n case 'up' :\n /* falls through */\n case 'down' :\n return rect1.right > rect2.left && rect1.left < rect2.right;\n default:\n return false;\n }\n }\n\n /**\n * Get distance between the search origin and a candidate element along the direction when candidate element is inside the search origin.\n * @see {@link https://drafts.csswg.org/css-nav-1/#find-the-shortest-distance}\n * @function getDistanceFromPoint\n * @param point {Point} - The search origin\n * @param element {DOMRect} - A candidate element\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n * @returns {Number} The euclidian distance between the spatial navigation container and an element inside it\n */\n function getDistanceFromPoint(point, element, dir) {\n point = startingPoint;\n // Get exit point, entry point -> {x: '', y: ''};\n const points = getEntryAndExitPoints(dir, point, element);\n\n // Find the points P1 inside the border box of starting point and P2 inside the border box of candidate\n // that minimize the distance between these two points\n const P1 = Math.abs(points.entryPoint.x - points.exitPoint.x);\n const P2 = Math.abs(points.entryPoint.y - points.exitPoint.y);\n\n // The result is euclidian distance between P1 and P2.\n return Math.sqrt(Math.pow(P1, 2) + Math.pow(P2, 2));\n }\n\n /**\n * Get distance between the search origin and a candidate element along the direction when candidate element is inside the search origin.\n * @see {@link https://drafts.csswg.org/css-nav-1/#find-the-shortest-distance}\n * @function getInnerDistance\n * @param rect1 {DOMRect} - The search origin\n * @param rect2 {DOMRect} - A candidate element\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n * @returns {Number} The euclidean distance between the spatial navigation container and an element inside it\n */\n function getInnerDistance(rect1, rect2, dir) {\n const baseEdgeForEachDirection = {left: 'right', right: 'left', up: 'bottom', down: 'top'};\n const baseEdge = baseEdgeForEachDirection[dir];\n\n return Math.abs(rect1[baseEdge] - rect2[baseEdge]);\n }\n\n /**\n * Get the distance between the search origin and a candidate element considering the direction.\n * @see {@link https://drafts.csswg.org/css-nav-1/#calculating-the-distance}\n * @function getDistance\n * @param searchOrigin {DOMRect || Point} - The search origin\n * @param candidateRect {DOMRect} - A candidate element\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n * @returns {Number} The distance scoring between two elements\n */\n function getDistance(searchOrigin, candidateRect, dir) {\n const kOrthogonalWeightForLeftRight = 30;\n const kOrthogonalWeightForUpDown = 2;\n\n let orthogonalBias = 0;\n let alignBias = 0;\n const alignWeight = 5.0;\n\n // Get exit point, entry point -> {x: '', y: ''};\n const points = getEntryAndExitPoints(dir, searchOrigin, candidateRect);\n\n // Find the points P1 inside the border box of starting point and P2 inside the border box of candidate\n // that minimize the distance between these two points\n const P1 = Math.abs(points.entryPoint.x - points.exitPoint.x);\n const P2 = Math.abs(points.entryPoint.y - points.exitPoint.y);\n\n // A: The euclidean distance between P1 and P2.\n const A = Math.sqrt(Math.pow(P1, 2) + Math.pow(P2, 2));\n let B, C;\n\n // B: The absolute distance in the direction which is orthogonal to dir between P1 and P2, or 0 if dir is null.\n // C: The intersection edges between a candidate and the starting point.\n\n // D: The square root of the area of intersection between the border boxes of candidate and starting point\n const intersectionRect = getIntersectionRect(searchOrigin, candidateRect);\n const D = intersectionRect.area;\n\n switch (dir) {\n case 'left':\n /* falls through */\n case 'right' :\n // If two elements are aligned, add align bias\n // else, add orthogonal bias\n if (isAligned(searchOrigin, candidateRect, dir))\n alignBias = Math.min(intersectionRect.height / searchOrigin.height , 1);\n else\n orthogonalBias = (searchOrigin.height / 2);\n\n B = (P2 + orthogonalBias) * kOrthogonalWeightForLeftRight;\n C = alignWeight * alignBias;\n break;\n\n case 'up' :\n /* falls through */\n case 'down' :\n // If two elements are aligned, add align bias\n // else, add orthogonal bias\n if (isAligned(searchOrigin, candidateRect, dir))\n alignBias = Math.min(intersectionRect.width / searchOrigin.width , 1);\n else\n orthogonalBias = (searchOrigin.width / 2);\n\n B = (P1 + orthogonalBias) * kOrthogonalWeightForUpDown;\n C = alignWeight * alignBias;\n break;\n\n default:\n B = 0;\n C = 0;\n break;\n }\n\n return (A + B - C - D);\n }\n\n /**\n * Get the euclidean distance between the search origin and a candidate element considering the direction.\n * @function getEuclideanDistance\n * @param rect1 {DOMRect} - The search origin\n * @param rect2 {DOMRect} - A candidate element\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n * @returns {Number} The distance scoring between two elements\n */\n function getEuclideanDistance(rect1, rect2, dir) {\n // Get exit point, entry point\n const points = getEntryAndExitPoints(dir, rect1, rect2);\n\n // Find the points P1 inside the border box of starting point and P2 inside the border box of candidate\n // that minimize the distance between these two points\n const P1 = Math.abs(points.entryPoint.x - points.exitPoint.x);\n const P2 = Math.abs(points.entryPoint.y - points.exitPoint.y);\n\n // Return the euclidean distance between P1 and P2.\n return Math.sqrt(Math.pow(P1, 2) + Math.pow(P2, 2));\n }\n\n /**\n * Get the absolute distance between the search origin and a candidate element considering the direction.\n * @function getAbsoluteDistance\n * @param rect1 {DOMRect} - The search origin\n * @param rect2 {DOMRect} - A candidate element\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n * @returns {Number} The distance scoring between two elements\n */\n function getAbsoluteDistance(rect1, rect2, dir) {\n // Get exit point, entry point\n const points = getEntryAndExitPoints(dir, rect1, rect2);\n\n // Return the absolute distance in the dir direction between P1 and P.\n return ((dir === 'left') || (dir === 'right')) ?\n Math.abs(points.entryPoint.x - points.exitPoint.x) : Math.abs(points.entryPoint.y - points.exitPoint.y);\n }\n\n /**\n * Get entry point and exit point of two elements considering the direction.\n * @function getEntryAndExitPoints\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD). Default value for dir is 'down'.\n * @param searchOrigin {DOMRect | Point} - The search origin which contains the exit point\n * @param candidateRect {DOMRect} - One of candidates which contains the entry point\n * @returns {Points} The exit point from the search origin and the entry point from a candidate\n */\n function getEntryAndExitPoints(dir = 'down', searchOrigin, candidateRect) {\n /**\n * User type definition for Point\n * @typeof {Object} Points\n * @property {Point} Points.entryPoint\n * @property {Point} Points.exitPoint\n */\n const points = {entryPoint: {x: 0, y: 0}, exitPoint:{x: 0, y: 0}};\n\n if (startingPoint) {\n points.exitPoint = searchOrigin;\n\n switch (dir) {\n case 'left':\n points.entryPoint.x = candidateRect.right;\n break;\n case 'up':\n points.entryPoint.y = candidateRect.bottom;\n break;\n case 'right':\n points.entryPoint.x = candidateRect.left;\n break;\n case 'down':\n points.entryPoint.y = candidateRect.top;\n break;\n }\n\n // Set orthogonal direction\n switch (dir) {\n case 'left':\n case 'right':\n if (startingPoint.y <= candidateRect.top) {\n points.entryPoint.y = candidateRect.top;\n } else if (startingPoint.y < candidateRect.bottom) {\n points.entryPoint.y = startingPoint.y;\n } else {\n points.entryPoint.y = candidateRect.bottom;\n }\n break;\n\n case 'up':\n case 'down':\n if (startingPoint.x <= candidateRect.left) {\n points.entryPoint.x = candidateRect.left;\n } else if (startingPoint.x < candidateRect.right) {\n points.entryPoint.x = startingPoint.x;\n } else {\n points.entryPoint.x = candidateRect.right;\n }\n break;\n }\n }\n else {\n // Set direction\n switch (dir) {\n case 'left':\n points.exitPoint.x = searchOrigin.left;\n points.entryPoint.x = (candidateRect.right < searchOrigin.left) ? candidateRect.right : searchOrigin.left;\n break;\n case 'up':\n points.exitPoint.y = searchOrigin.top;\n points.entryPoint.y = (candidateRect.bottom < searchOrigin.top) ? candidateRect.bottom : searchOrigin.top;\n break;\n case 'right':\n points.exitPoint.x = searchOrigin.right;\n points.entryPoint.x = (candidateRect.left > searchOrigin.right) ? candidateRect.left : searchOrigin.right;\n break;\n case 'down':\n points.exitPoint.y = searchOrigin.bottom;\n points.entryPoint.y = (candidateRect.top > searchOrigin.bottom) ? candidateRect.top : searchOrigin.bottom;\n break;\n }\n\n // Set orthogonal direction\n switch (dir) {\n case 'left':\n case 'right':\n if (isBelow(searchOrigin, candidateRect)) {\n points.exitPoint.y = searchOrigin.top;\n points.entryPoint.y = (candidateRect.bottom < searchOrigin.top) ? candidateRect.bottom : searchOrigin.top;\n } else if (isBelow(candidateRect, searchOrigin)) {\n points.exitPoint.y = searchOrigin.bottom;\n points.entryPoint.y = (candidateRect.top > searchOrigin.bottom) ? candidateRect.top : searchOrigin.bottom;\n } else {\n points.exitPoint.y = Math.max(searchOrigin.top, candidateRect.top);\n points.entryPoint.y = points.exitPoint.y;\n }\n break;\n\n case 'up':\n case 'down':\n if (isRightSide(searchOrigin, candidateRect)) {\n points.exitPoint.x = searchOrigin.left;\n points.entryPoint.x = (candidateRect.right < searchOrigin.left) ? candidateRect.right : searchOrigin.left;\n } else if (isRightSide(candidateRect, searchOrigin)) {\n points.exitPoint.x = searchOrigin.right;\n points.entryPoint.x = (candidateRect.left > searchOrigin.right) ? candidateRect.left : searchOrigin.right;\n } else {\n points.exitPoint.x = Math.max(searchOrigin.left, candidateRect.left);\n points.entryPoint.x = points.exitPoint.x;\n }\n break;\n }\n }\n\n return points;\n }\n\n /**\n * Find focusable elements within the container\n * @see {@link https://drafts.csswg.org/css-nav-1/#find-the-shortest-distance}\n * @function getIntersectionRect\n * @param rect1 {DOMRect} - The search origin which contains the exit point\n * @param rect2 {DOMRect} - One of candidates which contains the entry point\n * @returns {IntersectionArea} The intersection area between two elements.\n *\n * @typeof {Object} IntersectionArea\n * @property {Number} IntersectionArea.width\n * @property {Number} IntersectionArea.height\n */\n function getIntersectionRect(rect1, rect2) {\n const intersection_rect = {width: 0, height: 0, area: 0};\n\n const new_location = [Math.max(rect1.left, rect2.left), Math.max(rect1.top, rect2.top)];\n const new_max_point = [Math.min(rect1.right, rect2.right), Math.min(rect1.bottom, rect2.bottom)];\n\n intersection_rect.width = Math.abs(new_location[0] - new_max_point[0]);\n intersection_rect.height = Math.abs(new_location[1] - new_max_point[1]);\n\n if (!(new_location[0] >= new_max_point[0] || new_location[1] >= new_max_point[1])) {\n // intersecting-cases\n intersection_rect.area = Math.sqrt(intersection_rect.width * intersection_rect.height);\n }\n\n return intersection_rect;\n }\n\n /**\n * Handle the spatial navigation behavior for HTMLInputElement, HTMLTextAreaElement\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input|HTMLInputElement (MDN)}\n * @function handlingEditableElement\n * @param e {Event} - keydownEvent\n * @returns {boolean}\n */\n function handlingEditableElement(e) {\n const SPINNABLE_INPUT_TYPES = ['email', 'date', 'month', 'number', 'time', 'week'],\n TEXT_INPUT_TYPES = ['password', 'text', 'search', 'tel', 'url', null];\n const eventTarget = document.activeElement;\n const startPosition = eventTarget.selectionStart;\n const endPosition = eventTarget.selectionEnd;\n const focusNavigableArrowKey = {left: false, up: false, right: false, down: false};\n\n const dir = ARROW_KEY_CODE[e.keyCode];\n if (dir === undefined) {\n return focusNavigableArrowKey;\n }\n\n if (SPINNABLE_INPUT_TYPES.includes(eventTarget.getAttribute('type')) &&\n (dir === 'up' || dir === 'down')) {\n focusNavigableArrowKey[dir] = true;\n } else if (TEXT_INPUT_TYPES.includes(eventTarget.getAttribute('type')) || eventTarget.nodeName === 'TEXTAREA') {\n if (startPosition === endPosition) { // if there isn't any selected text\n if (startPosition === 0) {\n focusNavigableArrowKey.left = true;\n focusNavigableArrowKey.up = true;\n }\n if (endPosition === eventTarget.value.length) {\n focusNavigableArrowKey.right = true;\n focusNavigableArrowKey.down = true;\n }\n }\n } else { // HTMLDataListElement, HTMLSelectElement, HTMLOptGroup\n focusNavigableArrowKey[dir] = true;\n }\n\n return focusNavigableArrowKey;\n }\n\n /**\n * Get the DOMRect of an element\n * @function getBoundingClientRect\n * @param element {Node}\n * @returns {DOMRect}\n */\n function getBoundingClientRect(element) {\n // memoization\n let rect = mapOfBoundRect && mapOfBoundRect.get(element);\n if (!rect) {\n const boundingClientRect = element.getBoundingClientRect();\n rect = {\n top: Number(boundingClientRect.top.toFixed(2)),\n right: Number(boundingClientRect.right.toFixed(2)),\n bottom: Number(boundingClientRect.bottom.toFixed(2)),\n left: Number(boundingClientRect.left.toFixed(2)),\n width: Number(boundingClientRect.width.toFixed(2)),\n height: Number(boundingClientRect.height.toFixed(2))\n };\n mapOfBoundRect && mapOfBoundRect.set(element, rect);\n }\n return rect;\n }\n\n /**\n * Get the list of the experimental APIs\n * @function getExperimentalAPI\n */\n function getExperimentalAPI() {\n function canScroll(container, dir) {\n return (isScrollable(container, dir) && !isScrollBoundary(container, dir)) ||\n (!container.parentElement && !isHTMLScrollBoundary(container, dir));\n }\n\n function findTarget(findCandidate, element, dir, option) {\n let eventTarget = element;\n let bestNextTarget = null;\n\n // 4\n if (eventTarget === document || eventTarget === document.documentElement) {\n eventTarget = document.body || document.documentElement;\n }\n\n // 5\n // At this point, spatialNavigationSearch can be applied.\n // If startingPoint is either a scroll container or the document,\n // find the best candidate within startingPoint\n if ((isContainer(eventTarget) || eventTarget.nodeName === 'BODY') && !(eventTarget.nodeName === 'INPUT')) {\n if (eventTarget.nodeName === 'IFRAME')\n eventTarget = eventTarget.contentDocument.body;\n\n const candidates = getSpatialNavigationCandidates(eventTarget, option);\n\n // 5-2\n if (Array.isArray(candidates) && candidates.length > 0) {\n return findCandidate ? getFilteredSpatialNavigationCandidates(eventTarget, dir, candidates) : eventTarget.spatialNavigationSearch(dir, {candidates});\n }\n if (canScroll(eventTarget, dir)) {\n return findCandidate ? [] : eventTarget;\n }\n }\n\n // 6\n // Let container be the nearest ancestor of eventTarget\n let container = eventTarget.getSpatialNavigationContainer();\n let parentContainer = (container.parentElement) ? container.getSpatialNavigationContainer() : null;\n\n // When the container is the viewport of a browsing context\n if (!parentContainer && ( window.location !== window.parent.location)) {\n parentContainer = window.parent.document.documentElement;\n }\n\n // 7\n while (parentContainer) {\n const candidates = filteredCandidates(eventTarget, getSpatialNavigationCandidates(container, option), dir, container);\n\n if (Array.isArray(candidates) && candidates.length > 0) {\n bestNextTarget = eventTarget.spatialNavigationSearch(dir, {candidates, container});\n if (bestNextTarget) {\n return findCandidate ? candidates : bestNextTarget;\n }\n }\n\n // If there isn't any candidate and the best candidate among candidate:\n // 1) Scroll or 2) Find candidates of the ancestor container\n // 8 - if\n else if (canScroll(container, dir)) {\n return findCandidate ? [] : eventTarget;\n } else if (container === document || container === document.documentElement) {\n container = window.document.documentElement;\n\n // The page is in an iframe\n if ( window.location !== window.parent.location ) {\n\n // eventTarget needs to be reset because the position of the element in the IFRAME\n // is unuseful when the focus moves out of the iframe\n eventTarget = window.frameElement;\n container = window.parent.document.documentElement;\n if (container.parentElement)\n parentContainer = container.getSpatialNavigationContainer();\n else {\n parentContainer = null;\n break;\n }\n }\n } else {\n // avoiding when spatnav container with tabindex=-1\n if (isFocusable(container)) {\n eventTarget = container;\n }\n\n container = parentContainer;\n if (container.parentElement)\n parentContainer = container.getSpatialNavigationContainer();\n else {\n parentContainer = null;\n break;\n }\n }\n }\n\n if (!parentContainer && container) {\n // Getting out from the current spatnav container\n const candidates = filteredCandidates(eventTarget, getSpatialNavigationCandidates(container, option), dir, container);\n\n // 9\n if (Array.isArray(candidates) && candidates.length > 0) {\n bestNextTarget = eventTarget.spatialNavigationSearch(dir, {candidates, container});\n if (bestNextTarget) {\n return findCandidate ? candidates : bestNextTarget;\n }\n }\n }\n\n if (canScroll(container, dir)) {\n bestNextTarget = eventTarget;\n return bestNextTarget;\n }\n }\n\n return {\n isContainer,\n isScrollContainer,\n findCandidates: findTarget.bind(null, true),\n findNextTarget: findTarget.bind(null, false),\n getDistanceFromTarget: (element, candidateElement, dir) => {\n if ((isContainer(element) || element.nodeName === 'BODY') && !(element.nodeName === 'INPUT')) {\n if (getSpatialNavigationCandidates(element).includes(candidateElement)) {\n return getInnerDistance(getBoundingClientRect(element), getBoundingClientRect(candidateElement), dir);\n }\n }\n return getDistance(getBoundingClientRect(element), getBoundingClientRect(candidateElement), dir);\n }\n };\n }\n\n /**\n * Makes to use the experimental APIs.\n * @function enableExperimentalAPIs\n * @param option {boolean} - If it is true, the experimental APIs can be used or it cannot.\n */\n function enableExperimentalAPIs (option) {\n const currentKeyMode = window.__spatialNavigation__ && window.__spatialNavigation__.keyMode;\n window.__spatialNavigation__ = (option === false) ? getInitialAPIs() : Object.assign(getInitialAPIs(), getExperimentalAPI());\n window.__spatialNavigation__.keyMode = currentKeyMode;\n Object.seal(window.__spatialNavigation__);\n }\n\n /**\n * Set the environment for using the spatial navigation polyfill.\n * @function getInitialAPIs\n */\n function getInitialAPIs() {\n return {\n enableExperimentalAPIs,\n get keyMode() { return this._keymode ? this._keymode : 'ARROW'; },\n set keyMode(mode) { this._keymode = (['SHIFTARROW', 'ARROW', 'NONE'].includes(mode)) ? mode : 'ARROW'; },\n setStartingPoint: function (x, y) {startingPoint = (x && y) ? {x, y} : null;}\n };\n }\n\n window.addEventListener('load', () => {\n initiateSpatialNavigation();\n enableExperimentalAPIs(false);\n });\n})();\n","// No automatic generation: we don't want to depend on fs, as we want to keep this universal\n// ls *-*.json | while read line; do printf \"\\\"`printf $line | cut -d '.' -f1`\\\",\\n\"; done\n\nvar languages = [\n\t\"ar-AR\",\n\t\"bg-BG\",\n\t\"ca-CA\",\n\t\"cs-CZ\",\n\t\"da-DK\",\n\t\"de-DE\",\n\t\"el-GR\",\n\t\"en-US\",\n\t\"eo-EO\",\n\t\"es-ES\",\n\t\"eu-ES\",\n\t\"fa-IR\",\n\t\"fi-FI\",\n\t\"fr-FR\",\n\t\"he-IL\",\n\t\"hi-IN\",\n\t\"hr-HR\",\n\t\"hu-HU\",\n\t\"id-ID\",\n\t\"it-IT\",\n\t\"ja-JP\",\n\t\"ko-KR\",\n\t\"mk-MK\",\n\t\"my-BM\",\n\t\"nb-NO\",\n\t\"ne-NP\",\n\t\"nl-NL\",\n\t\"nn-NO\",\n\t\"pl-PL\",\n\t\"pt-BR\",\n\t\"pt-PT\",\n\t\"ro-RO\",\n\t\"ru-RU\",\n\t\"sl-SL\",\n\t\"sr-RS\",\n\t\"sv-SE\",\n\t\"te-IN\",\n\t\"tr-TR\",\n\t\"uk-UA\",\n\t\"vi-VN\",\n\t\"zh-CN\",\n\t\"zh-HK\",\n\t\"zh-TW\",\n\t\"bn-BD\",\n];\n\nmodule.exports = function () {\n\treturn {\n\t\t\"ar-AR\": require(\"./ar-AR.json\"),\n\t\t\"bg-BG\": require(\"./bg-BG.json\"),\n\t\t\"ca-CA\": require(\"./ca-CA.json\"),\n\t\t\"cs-CZ\": require(\"./cs-CZ.json\"),\n\t\t\"da-DK\": require(\"./da-DK.json\"),\n\t\t\"de-DE\": require(\"./de-DE.json\"),\n\t\t\"el-GR\": require(\"./el-GR.json\"),\n\t\t\"en-US\": require(\"./en-US.json\"),\n\t\t\"eo-EO\": require(\"./eo-EO.json\"),\n\t\t\"es-ES\": require(\"./es-ES.json\"),\n\t\t\"eu-ES\": require(\"./eu-ES.json\"),\n\t\t\"fa-IR\": require(\"./fa-IR.json\"),\n\t\t\"fi-FI\": require(\"./fi-FI.json\"),\n\t\t\"fr-FR\": require(\"./fr-FR.json\"),\n\t\t\"he-IL\": require(\"./he-IL.json\"),\n\t\t\"hi-IN\": require(\"./hi-IN.json\"),\n\t\t\"hr-HR\": require(\"./hr-HR.json\"),\n\t\t\"hu-HU\": require(\"./hu-HU.json\"),\n\t\t\"id-ID\": require(\"./id-ID.json\"),\n\t\t\"it-IT\": require(\"./it-IT.json\"),\n\t\t\"ja-JP\": require(\"./ja-JP.json\"),\n\t\t\"ko-KR\": require(\"./ko-KR.json\"),\n\t\t\"mk-MK\": require(\"./mk-MK.json\"),\n\t\t\"my-BM\": require(\"./my-BM.json\"),\n\t\t\"nb-NO\": require(\"./nb-NO.json\"),\n\t\t\"ne-NP\": require(\"./ne-NP.json\"),\n\t\t\"nl-NL\": require(\"./nl-NL.json\"),\n\t\t\"nn-NO\": require(\"./nn-NO.json\"),\n\t\t\"pl-PL\": require(\"./pl-PL.json\"),\n\t\t\"pt-BR\": require(\"./pt-BR.json\"),\n\t\t\"pt-PT\": require(\"./pt-PT.json\"),\n\t\t\"ro-RO\": require(\"./ro-RO.json\"),\n\t\t\"ru-RU\": require(\"./ru-RU.json\"),\n\t\t\"sl-SL\": require(\"./sl-SL.json\"),\n\t\t\"sr-RS\": require(\"./sr-RS.json\"),\n\t\t\"sv-SE\": require(\"./sv-SE.json\"),\n\t\t\"te-IN\": require(\"./te-IN.json\"),\n\t\t\"tr-TR\": require(\"./tr-TR.json\"),\n\t\t\"uk-UA\": require(\"./uk-UA.json\"),\n\t\t\"vi-VN\": require(\"./vi-VN.json\"),\n\t\t\"zh-CN\": require(\"./zh-CN.json\"),\n\t\t\"zh-HK\": require(\"./zh-HK.json\"),\n\t\t\"zh-TW\": require(\"./zh-TW.json\"),\n\t\t\"bn-BD\": require(\"./bn-BD.json\"),\n\t};\n};\n\nmodule.exports.all = languages;\n","/* \nCopyright (c) 2011, Chris Umbel\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in \nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN \nTHE SOFTWARE.\n*/\n\nvar base32 = require('./thirty-two');\n\nexports.encode = base32.encode;\nexports.decode = base32.decode;\n","/*\nCopyright (c) 2011, Chris Umbel\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n*/\n'use strict';\n\nvar charTable = \"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567\";\nvar byteTable = [\n 0xff, 0xff, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\n 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,\n 0xff, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06,\n 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e,\n 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16,\n 0x17, 0x18, 0x19, 0xff, 0xff, 0xff, 0xff, 0xff,\n 0xff, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06,\n 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e,\n 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16,\n 0x17, 0x18, 0x19, 0xff, 0xff, 0xff, 0xff, 0xff\n];\n\nfunction quintetCount(buff) {\n var quintets = Math.floor(buff.length / 5);\n return buff.length % 5 === 0 ? quintets: quintets + 1;\n}\n\nexports.encode = function(plain) {\n if(!Buffer.isBuffer(plain)){\n \tplain = new Buffer(plain);\n }\n var i = 0;\n var j = 0;\n var shiftIndex = 0;\n var digit = 0;\n var encoded = new Buffer(quintetCount(plain) * 8);\n\n /* byte by byte isn't as pretty as quintet by quintet but tests a bit\n faster. will have to revisit. */\n while(i < plain.length) {\n var current = plain[i];\n\n if(shiftIndex > 3) {\n digit = current & (0xff >> shiftIndex);\n shiftIndex = (shiftIndex + 5) % 8;\n digit = (digit << shiftIndex) | ((i + 1 < plain.length) ?\n plain[i + 1] : 0) >> (8 - shiftIndex);\n i++;\n } else {\n digit = (current >> (8 - (shiftIndex + 5))) & 0x1f;\n shiftIndex = (shiftIndex + 5) % 8;\n if(shiftIndex === 0) i++;\n }\n\n encoded[j] = charTable.charCodeAt(digit);\n j++;\n }\n\n for(i = j; i < encoded.length; i++) {\n encoded[i] = 0x3d; //'='.charCodeAt(0)\n }\n\n return encoded;\n};\n\nexports.decode = function(encoded) {\n var shiftIndex = 0;\n var plainDigit = 0;\n var plainChar;\n var plainPos = 0;\n if(!Buffer.isBuffer(encoded)){\n \tencoded = new Buffer(encoded);\n }\n var decoded = new Buffer(Math.ceil(encoded.length * 5 / 8));\n\n /* byte by byte isn't as pretty as octet by octet but tests a bit\n faster. will have to revisit. */\n for(var i = 0; i < encoded.length; i++) {\n \tif(encoded[i] === 0x3d){ //'='\n \t\tbreak;\n \t}\n\n var encodedByte = encoded[i] - 0x30;\n\n if(encodedByte < byteTable.length) {\n plainDigit = byteTable[encodedByte];\n\n if(shiftIndex <= 3) {\n shiftIndex = (shiftIndex + 5) % 8;\n\n if(shiftIndex === 0) {\n plainChar |= plainDigit;\n decoded[plainPos] = plainChar;\n plainPos++;\n plainChar = 0;\n } else {\n plainChar |= 0xff & (plainDigit << (8 - shiftIndex));\n }\n } else {\n shiftIndex = (shiftIndex + 5) % 8;\n plainChar |= 0xff & (plainDigit >>> shiftIndex);\n decoded[plainPos] = plainChar;\n plainPos++;\n\n plainChar = 0xff & (plainDigit << (8 - shiftIndex));\n }\n } else {\n \tthrow new Error('Invalid input - it is not base32 encoded string');\n }\n }\n\n return decoded.slice(0, plainPos);\n};\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar classnames_1 = __importDefault(require(\"classnames\"));\nvar Button_1 = __importDefault(require(\"stremio/common/Button\"));\nvar Chip_less_1 = __importDefault(require(\"./Chip.less\"));\nvar Chip = (0, react_1.memo)(function (_a) {\n var _b;\n var label = _a.label, value = _a.value, active = _a.active, onSelect = _a.onSelect;\n var ref = (0, react_1.useRef)(null);\n var onClick = (0, react_1.useCallback)(function (_a) {\n var currentTarget = _a.currentTarget;\n var value = currentTarget.dataset['value'];\n value && onSelect(value);\n }, [onselect]);\n (0, react_1.useEffect)(function () {\n var _a;\n active && ((_a = ref.current) === null || _a === void 0 ? void 0 : _a.scrollIntoView({\n block: 'nearest',\n inline: 'center',\n behavior: 'smooth',\n }));\n }, [active]);\n return (react_1.default.createElement(Button_1.default, { ref: ref, key: value, className: (0, classnames_1.default)(Chip_less_1.default['chip'], (_b = {}, _b[Chip_less_1.default['active']] = active, _b)), tabIndex: -1, \"data-value\": value, onClick: onClick }, label));\n});\nexports.default = Chip;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Chip_1 = __importDefault(require(\"./Chip\"));\nexports.default = Chip_1.default;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar classnames_1 = __importDefault(require(\"classnames\"));\nvar Chip_1 = __importDefault(require(\"./Chip\"));\nvar Chips_less_1 = __importDefault(require(\"./Chips.less\"));\nvar SCROLL_THRESHOLD = 1;\nvar Chips = (0, react_1.memo)(function (_a) {\n var options = _a.options, selected = _a.selected, onSelect = _a.onSelect;\n var ref = (0, react_1.useRef)(null);\n var _b = (0, react_1.useState)('left'), scrollPosition = _b[0], setScrollPosition = _b[1];\n (0, react_1.useEffect)(function () {\n var _a;\n var onScroll = function (_a) {\n var target = _a.target;\n var _b = target, scrollLeft = _b.scrollLeft, scrollWidth = _b.scrollWidth, offsetWidth = _b.offsetWidth;\n var position = (scrollLeft - SCROLL_THRESHOLD) <= 0 ? 'left' :\n (scrollLeft + offsetWidth + SCROLL_THRESHOLD) >= scrollWidth ? 'right' :\n 'center';\n setScrollPosition(position);\n };\n (_a = ref.current) === null || _a === void 0 ? void 0 : _a.addEventListener('scroll', onScroll);\n return function () { var _a; return (_a = ref.current) === null || _a === void 0 ? void 0 : _a.removeEventListener('scroll', onScroll); };\n }, []);\n return (react_1.default.createElement(\"div\", { ref: ref, className: (0, classnames_1.default)(Chips_less_1.default['chips'], [Chips_less_1.default[scrollPosition]]) }, options.map(function (_a) {\n var label = _a.label, value = _a.value;\n return (react_1.default.createElement(Chip_1.default, { key: value, label: label, value: value, active: selected.includes(value), onSelect: onSelect }));\n })));\n});\nexports.default = Chips;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Chips_1 = __importDefault(require(\"./Chips\"));\nexports.default = Chips_1.default;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nvar Button_1 = __importDefault(require(\"stremio/common/Button\"));\nvar react_i18next_1 = require(\"react-i18next\");\nvar classnames_1 = __importDefault(require(\"classnames\"));\nvar Option_1 = __importDefault(require(\"./Option\"));\nvar react_2 = __importDefault(require(\"@stremio/stremio-icons/react\"));\nvar Dropdown_less_1 = __importDefault(require(\"./Dropdown.less\"));\nvar Dropdown = function (_a) {\n var _b;\n var level = _a.level, setLevel = _a.setLevel, options = _a.options, onSelect = _a.onSelect, selectedOption = _a.selectedOption, menuOpen = _a.menuOpen;\n var t = (0, react_i18next_1.useTranslation)().t;\n var onBackButtonClick = function () {\n setLevel(level - 1);\n };\n return (react_1.default.createElement(\"div\", { className: (0, classnames_1.default)(Dropdown_less_1.default['dropdown'], (_b = {}, _b[Dropdown_less_1.default['open']] = menuOpen, _b)), role: 'listbox' },\n level > 0 ?\n react_1.default.createElement(Button_1.default, { className: Dropdown_less_1.default['back-button'], onClick: onBackButtonClick },\n react_1.default.createElement(react_2.default, { name: 'caret-left', className: Dropdown_less_1.default['back-button-icon'] }),\n t('BACK'))\n : null,\n options\n .filter(function (option) { return !option.hidden; })\n .map(function (option, index) { return (react_1.default.createElement(Option_1.default, { key: index, option: option, onSelect: onSelect, selectedOption: selectedOption })); })));\n};\nexports.default = Dropdown;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar classnames_1 = __importDefault(require(\"classnames\"));\nvar Button_1 = __importDefault(require(\"stremio/common/Button\"));\nvar Option_less_1 = __importDefault(require(\"./Option.less\"));\nvar react_2 = __importDefault(require(\"@stremio/stremio-icons/react\"));\nvar Option = function (_a) {\n var _b;\n var option = _a.option, selectedOption = _a.selectedOption, onSelect = _a.onSelect;\n // consider using option.id === selectedOption?.id instead\n var selected = (0, react_1.useMemo)(function () { return (option === null || option === void 0 ? void 0 : option.value) === (selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.value); }, [option, selectedOption]);\n var handleClick = (0, react_1.useCallback)(function () {\n onSelect(option.value);\n }, [onSelect, option.value]);\n return (react_1.default.createElement(Button_1.default, { className: (0, classnames_1.default)(Option_less_1.default['option'], (_b = {}, _b[Option_less_1.default['selected']] = selected, _b)), key: option.id, onClick: handleClick, \"aria-selected\": selected },\n react_1.default.createElement(\"div\", { className: Option_less_1.default['label'] }, option.label),\n selected && !option.level ?\n react_1.default.createElement(\"div\", { className: Option_less_1.default['icon'] })\n : null,\n option.level ?\n react_1.default.createElement(react_2.default, { name: 'caret-right', className: Option_less_1.default['option-caret'] })\n : null));\n};\nexports.default = Option;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Option_1 = __importDefault(require(\"./Option\"));\nexports.default = Option_1.default;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Dropdown_1 = __importDefault(require(\"./Dropdown\"));\nexports.default = Dropdown_1.default;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nvar Button_1 = __importDefault(require(\"stremio/common/Button\"));\nvar useBinaryState_1 = __importDefault(require(\"stremio/common/useBinaryState\"));\nvar Dropdown_1 = __importDefault(require(\"./Dropdown\"));\nvar classnames_1 = __importDefault(require(\"classnames\"));\nvar react_2 = __importDefault(require(\"@stremio/stremio-icons/react\"));\nvar MultiselectMenu_less_1 = __importDefault(require(\"./MultiselectMenu.less\"));\nvar useOutsideClick_1 = __importDefault(require(\"stremio/common/useOutsideClick\"));\nvar MultiselectMenu = function (_a) {\n var _b, _c;\n var className = _a.className, title = _a.title, options = _a.options, selectedOption = _a.selectedOption, onSelect = _a.onSelect;\n var _d = (0, useBinaryState_1.default)(false), menuOpen = _d[0], closeMenu = _d[2], toggleMenu = _d[3];\n var multiselectMenuRef = (0, useOutsideClick_1.default)(function () { return closeMenu(); });\n var _e = react_1.default.useState(0), level = _e[0], setLevel = _e[1];\n var onOptionSelect = function (value) {\n level ? setLevel(level + 1) : onSelect(value), closeMenu();\n };\n return (react_1.default.createElement(\"div\", { className: (0, classnames_1.default)(MultiselectMenu_less_1.default['multiselect-menu'], className), ref: multiselectMenuRef },\n react_1.default.createElement(Button_1.default, { className: (0, classnames_1.default)(MultiselectMenu_less_1.default['multiselect-button'], (_b = {}, _b[MultiselectMenu_less_1.default['open']] = menuOpen, _b)), onClick: toggleMenu, tabIndex: 0, \"aria-haspopup\": 'listbox', \"aria-expanded\": menuOpen },\n title,\n react_1.default.createElement(react_2.default, { name: 'caret-down', className: (0, classnames_1.default)(MultiselectMenu_less_1.default['icon'], (_c = {}, _c[MultiselectMenu_less_1.default['open']] = menuOpen, _c)) })),\n menuOpen ?\n react_1.default.createElement(Dropdown_1.default, { level: level, setLevel: setLevel, options: options, onSelect: onOptionSelect, menuOpen: menuOpen, selectedOption: selectedOption })\n : null));\n};\nexports.default = MultiselectMenu;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar MultiselectMenu_1 = __importDefault(require(\"./MultiselectMenu\"));\nexports.default = MultiselectMenu_1.default;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.usePlatform = exports.PlatformProvider = void 0;\nvar react_1 = __importStar(require(\"react\"));\nvar CONSTANTS_1 = require(\"stremio/common/CONSTANTS\");\nvar useShell_1 = __importDefault(require(\"./useShell\"));\nvar device_1 = require(\"./device\");\nvar PlatformContext = (0, react_1.createContext)({});\nvar PlatformProvider = function (_a) {\n var children = _a.children;\n var shell = (0, useShell_1.default)();\n var openExternal = function (url) {\n try {\n var hostname_1 = new URL(url).hostname;\n var isWhitelisted = CONSTANTS_1.WHITELISTED_HOSTS.some(function (host) { return hostname_1.endsWith(host); });\n var finalUrl = !isWhitelisted ? \"https://www.stremio.com/warning#\".concat(encodeURIComponent(url)) : url;\n if (shell.active) {\n shell.send('open-external', finalUrl);\n }\n else {\n window.open(finalUrl, '_blank');\n }\n }\n catch (e) {\n console.error('Failed to parse external url:', e);\n }\n };\n return (react_1.default.createElement(PlatformContext.Provider, { value: { openExternal: openExternal, name: device_1.name, isMobile: device_1.isMobile } }, children));\n};\nexports.PlatformProvider = PlatformProvider;\nvar usePlatform = function () {\n return (0, react_1.useContext)(PlatformContext);\n};\nexports.usePlatform = usePlatform;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isMobile = exports.name = void 0;\nvar bowser_1 = __importDefault(require(\"bowser\"));\nvar APPLE_MOBILE_DEVICES = [\n 'iPad Simulator',\n 'iPhone Simulator',\n 'iPod Simulator',\n 'iPad',\n 'iPhone',\n 'iPod',\n];\nvar _a = globalThis.navigator, userAgent = _a.userAgent, platform = _a.platform, maxTouchPoints = _a.maxTouchPoints;\n// this detects ipad properly in safari\n// while bowser does not\nvar isIOS = APPLE_MOBILE_DEVICES.includes(platform) || (userAgent.includes('Mac') && 'ontouchend' in document);\n// Edge case: iPad is included in this function\n// Keep in mind maxTouchPoints for Vision Pro might change in the future\nvar isVisionOS = userAgent.includes('Macintosh') && maxTouchPoints === 5;\nvar bowser = bowser_1.default.getParser(userAgent);\nvar os = bowser.getOSName().toLowerCase();\nvar name = isVisionOS ? 'visionos' : isIOS ? 'ios' : os || 'unknown';\nexports.name = name;\nvar isMobile = ['ios', 'android'].includes(name);\nexports.isMobile = isMobile;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.usePlatform = exports.PlatformProvider = void 0;\nvar Platform_1 = require(\"./Platform\");\nObject.defineProperty(exports, \"PlatformProvider\", { enumerable: true, get: function () { return Platform_1.PlatformProvider; } });\nObject.defineProperty(exports, \"usePlatform\", { enumerable: true, get: function () { return Platform_1.usePlatform; } });\n","\"use strict\";\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar createId = function () { return Math.floor(Math.random() * 9999) + 1; };\nvar useShell = function () {\n var _a;\n var transport = (_a = globalThis === null || globalThis === void 0 ? void 0 : globalThis.qt) === null || _a === void 0 ? void 0 : _a.webChannelTransport;\n var send = function (method) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n transport === null || transport === void 0 ? void 0 : transport.send(JSON.stringify({\n id: createId(),\n type: 6,\n object: 'transport',\n method: 'onEvent',\n args: __spreadArray([method], args, true),\n }));\n };\n return {\n active: !!transport,\n send: send,\n };\n};\nexports.default = useShell;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = require(\"react\");\nvar useOutsideClick = function (callback) {\n var ref = (0, react_1.useRef)(null);\n (0, react_1.useEffect)(function () {\n var handleClickOutside = function (event) {\n if (ref.current && !ref.current.contains(event.target)) {\n callback();\n }\n };\n document.addEventListener('mouseup', handleClickOutside);\n document.addEventListener('touchend', handleClickOutside);\n return function () {\n document.removeEventListener('mouseup', handleClickOutside);\n document.removeEventListener('touchend', handleClickOutside);\n };\n }, [callback]);\n return ref;\n};\nexports.default = useOutsideClick;\n","\"use strict\";\n// Copyright (C) 2017-2023 Smart code 203358507\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = require(\"react\");\nvar hat_1 = __importDefault(require(\"hat\"));\nvar common_1 = require(\"stremio/common\");\nvar STREMIO_URL = 'https://www.strem.io';\nvar MAX_TRIES = 25;\nvar getCredentials = function (state) { return __awaiter(void 0, void 0, void 0, function () {\n var response, user, e_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 3, , 4]);\n return [4 /*yield*/, fetch(\"\".concat(STREMIO_URL, \"/login-fb-get-acc/\").concat(state))];\n case 1:\n response = _a.sent();\n return [4 /*yield*/, response.json()];\n case 2:\n user = (_a.sent()).user;\n return [2 /*return*/, Promise.resolve({\n email: user.email,\n password: user.fbLoginToken,\n })];\n case 3:\n e_1 = _a.sent();\n console.error('Failed to get credentials from facebook auth', e_1);\n return [2 /*return*/, Promise.reject(e_1)];\n case 4: return [2 /*return*/];\n }\n });\n}); };\nvar useFacebookLogin = function () {\n var platform = (0, common_1.usePlatform)();\n var started = (0, react_1.useRef)(false);\n var timeout = (0, react_1.useRef)(null);\n var start = (0, react_1.useCallback)(function () { return new Promise(function (resolve, reject) {\n started.current = true;\n var state = (0, hat_1.default)(128);\n var tries = 0;\n platform.openExternal(\"\".concat(STREMIO_URL, \"/login-fb/\").concat(state));\n var waitForCredentials = function () {\n if (started.current) {\n timeout.current && clearTimeout(timeout.current);\n timeout.current = setTimeout(function () {\n if (tries >= MAX_TRIES)\n return reject(new Error('Failed to authenticate with facebook'));\n tries++;\n getCredentials(state)\n .then(resolve)\n .catch(waitForCredentials);\n }, 1000);\n }\n };\n waitForCredentials();\n }); }, []);\n var stop = (0, react_1.useCallback)(function () {\n started.current = false;\n timeout.current && clearTimeout(timeout.current);\n }, []);\n (0, react_1.useEffect)(function () {\n return function () { return stop(); };\n }, []);\n return [\n start,\n stop,\n ];\n};\nmodule.exports = useFacebookLogin;\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar punycode = require('punycode');\nvar util = require('./util');\n\nexports.parse = urlParse;\nexports.resolve = urlResolve;\nexports.resolveObject = urlResolveObject;\nexports.format = urlFormat;\n\nexports.Url = Url;\n\nfunction Url() {\n this.protocol = null;\n this.slashes = null;\n this.auth = null;\n this.host = null;\n this.port = null;\n this.hostname = null;\n this.hash = null;\n this.search = null;\n this.query = null;\n this.pathname = null;\n this.path = null;\n this.href = null;\n}\n\n// Reference: RFC 3986, RFC 1808, RFC 2396\n\n// define these here so at least they only have to be\n// compiled once on the first module load.\nvar protocolPattern = /^([a-z0-9.+-]+:)/i,\n portPattern = /:[0-9]*$/,\n\n // Special case for a simple path URL\n simplePathPattern = /^(\\/\\/?(?!\\/)[^\\?\\s]*)(\\?[^\\s]*)?$/,\n\n // RFC 2396: characters reserved for delimiting URLs.\n // We actually just auto-escape these.\n delims = ['<', '>', '\"', '`', ' ', '\\r', '\\n', '\\t'],\n\n // RFC 2396: characters not allowed for various reasons.\n unwise = ['{', '}', '|', '\\\\', '^', '`'].concat(delims),\n\n // Allowed by RFCs, but cause of XSS attacks. Always escape these.\n autoEscape = ['\\''].concat(unwise),\n // Characters that are never ever allowed in a hostname.\n // Note that any invalid chars are also handled, but these\n // are the ones that are *expected* to be seen, so we fast-path\n // them.\n nonHostChars = ['%', '/', '?', ';', '#'].concat(autoEscape),\n hostEndingChars = ['/', '?', '#'],\n hostnameMaxLen = 255,\n hostnamePartPattern = /^[+a-z0-9A-Z_-]{0,63}$/,\n hostnamePartStart = /^([+a-z0-9A-Z_-]{0,63})(.*)$/,\n // protocols that can allow \"unsafe\" and \"unwise\" chars.\n unsafeProtocol = {\n 'javascript': true,\n 'javascript:': true\n },\n // protocols that never have a hostname.\n hostlessProtocol = {\n 'javascript': true,\n 'javascript:': true\n },\n // protocols that always contain a // bit.\n slashedProtocol = {\n 'http': true,\n 'https': true,\n 'ftp': true,\n 'gopher': true,\n 'file': true,\n 'http:': true,\n 'https:': true,\n 'ftp:': true,\n 'gopher:': true,\n 'file:': true\n },\n querystring = require('querystring');\n\nfunction urlParse(url, parseQueryString, slashesDenoteHost) {\n if (url && util.isObject(url) && url instanceof Url) return url;\n\n var u = new Url;\n u.parse(url, parseQueryString, slashesDenoteHost);\n return u;\n}\n\nUrl.prototype.parse = function(url, parseQueryString, slashesDenoteHost) {\n if (!util.isString(url)) {\n throw new TypeError(\"Parameter 'url' must be a string, not \" + typeof url);\n }\n\n // Copy chrome, IE, opera backslash-handling behavior.\n // Back slashes before the query string get converted to forward slashes\n // See: https://code.google.com/p/chromium/issues/detail?id=25916\n var queryIndex = url.indexOf('?'),\n splitter =\n (queryIndex !== -1 && queryIndex < url.indexOf('#')) ? '?' : '#',\n uSplit = url.split(splitter),\n slashRegex = /\\\\/g;\n uSplit[0] = uSplit[0].replace(slashRegex, '/');\n url = uSplit.join(splitter);\n\n var rest = url;\n\n // trim before proceeding.\n // This is to support parse stuff like \" http://foo.com \\n\"\n rest = rest.trim();\n\n if (!slashesDenoteHost && url.split('#').length === 1) {\n // Try fast path regexp\n var simplePath = simplePathPattern.exec(rest);\n if (simplePath) {\n this.path = rest;\n this.href = rest;\n this.pathname = simplePath[1];\n if (simplePath[2]) {\n this.search = simplePath[2];\n if (parseQueryString) {\n this.query = querystring.parse(this.search.substr(1));\n } else {\n this.query = this.search.substr(1);\n }\n } else if (parseQueryString) {\n this.search = '';\n this.query = {};\n }\n return this;\n }\n }\n\n var proto = protocolPattern.exec(rest);\n if (proto) {\n proto = proto[0];\n var lowerProto = proto.toLowerCase();\n this.protocol = lowerProto;\n rest = rest.substr(proto.length);\n }\n\n // figure out if it's got a host\n // user@server is *always* interpreted as a hostname, and url\n // resolution will treat //foo/bar as host=foo,path=bar because that's\n // how the browser resolves relative URLs.\n if (slashesDenoteHost || proto || rest.match(/^\\/\\/[^@\\/]+@[^@\\/]+/)) {\n var slashes = rest.substr(0, 2) === '//';\n if (slashes && !(proto && hostlessProtocol[proto])) {\n rest = rest.substr(2);\n this.slashes = true;\n }\n }\n\n if (!hostlessProtocol[proto] &&\n (slashes || (proto && !slashedProtocol[proto]))) {\n\n // there's a hostname.\n // the first instance of /, ?, ;, or # ends the host.\n //\n // If there is an @ in the hostname, then non-host chars *are* allowed\n // to the left of the last @ sign, unless some host-ending character\n // comes *before* the @-sign.\n // URLs are obnoxious.\n //\n // ex:\n // http://a@b@c/ => user:a@b host:c\n // http://a@b?@c => user:a host:c path:/?@c\n\n // v0.12 TODO(isaacs): This is not quite how Chrome does things.\n // Review our test case against browsers more comprehensively.\n\n // find the first instance of any hostEndingChars\n var hostEnd = -1;\n for (var i = 0; i < hostEndingChars.length; i++) {\n var hec = rest.indexOf(hostEndingChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))\n hostEnd = hec;\n }\n\n // at this point, either we have an explicit point where the\n // auth portion cannot go past, or the last @ char is the decider.\n var auth, atSign;\n if (hostEnd === -1) {\n // atSign can be anywhere.\n atSign = rest.lastIndexOf('@');\n } else {\n // atSign must be in auth portion.\n // http://a@b/c@d => host:b auth:a path:/c@d\n atSign = rest.lastIndexOf('@', hostEnd);\n }\n\n // Now we have a portion which is definitely the auth.\n // Pull that off.\n if (atSign !== -1) {\n auth = rest.slice(0, atSign);\n rest = rest.slice(atSign + 1);\n this.auth = decodeURIComponent(auth);\n }\n\n // the host is the remaining to the left of the first non-host char\n hostEnd = -1;\n for (var i = 0; i < nonHostChars.length; i++) {\n var hec = rest.indexOf(nonHostChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))\n hostEnd = hec;\n }\n // if we still have not hit it, then the entire thing is a host.\n if (hostEnd === -1)\n hostEnd = rest.length;\n\n this.host = rest.slice(0, hostEnd);\n rest = rest.slice(hostEnd);\n\n // pull out port.\n this.parseHost();\n\n // we've indicated that there is a hostname,\n // so even if it's empty, it has to be present.\n this.hostname = this.hostname || '';\n\n // if hostname begins with [ and ends with ]\n // assume that it's an IPv6 address.\n var ipv6Hostname = this.hostname[0] === '[' &&\n this.hostname[this.hostname.length - 1] === ']';\n\n // validate a little.\n if (!ipv6Hostname) {\n var hostparts = this.hostname.split(/\\./);\n for (var i = 0, l = hostparts.length; i < l; i++) {\n var part = hostparts[i];\n if (!part) continue;\n if (!part.match(hostnamePartPattern)) {\n var newpart = '';\n for (var j = 0, k = part.length; j < k; j++) {\n if (part.charCodeAt(j) > 127) {\n // we replace non-ASCII char with a temporary placeholder\n // we need this to make sure size of hostname is not\n // broken by replacing non-ASCII by nothing\n newpart += 'x';\n } else {\n newpart += part[j];\n }\n }\n // we test again with ASCII char only\n if (!newpart.match(hostnamePartPattern)) {\n var validParts = hostparts.slice(0, i);\n var notHost = hostparts.slice(i + 1);\n var bit = part.match(hostnamePartStart);\n if (bit) {\n validParts.push(bit[1]);\n notHost.unshift(bit[2]);\n }\n if (notHost.length) {\n rest = '/' + notHost.join('.') + rest;\n }\n this.hostname = validParts.join('.');\n break;\n }\n }\n }\n }\n\n if (this.hostname.length > hostnameMaxLen) {\n this.hostname = '';\n } else {\n // hostnames are always lower case.\n this.hostname = this.hostname.toLowerCase();\n }\n\n if (!ipv6Hostname) {\n // IDNA Support: Returns a punycoded representation of \"domain\".\n // It only converts parts of the domain name that\n // have non-ASCII characters, i.e. it doesn't matter if\n // you call it with a domain that already is ASCII-only.\n this.hostname = punycode.toASCII(this.hostname);\n }\n\n var p = this.port ? ':' + this.port : '';\n var h = this.hostname || '';\n this.host = h + p;\n this.href += this.host;\n\n // strip [ and ] from the hostname\n // the host field still retains them, though\n if (ipv6Hostname) {\n this.hostname = this.hostname.substr(1, this.hostname.length - 2);\n if (rest[0] !== '/') {\n rest = '/' + rest;\n }\n }\n }\n\n // now rest is set to the post-host stuff.\n // chop off any delim chars.\n if (!unsafeProtocol[lowerProto]) {\n\n // First, make 100% sure that any \"autoEscape\" chars get\n // escaped, even if encodeURIComponent doesn't think they\n // need to be.\n for (var i = 0, l = autoEscape.length; i < l; i++) {\n var ae = autoEscape[i];\n if (rest.indexOf(ae) === -1)\n continue;\n var esc = encodeURIComponent(ae);\n if (esc === ae) {\n esc = escape(ae);\n }\n rest = rest.split(ae).join(esc);\n }\n }\n\n\n // chop off from the tail first.\n var hash = rest.indexOf('#');\n if (hash !== -1) {\n // got a fragment string.\n this.hash = rest.substr(hash);\n rest = rest.slice(0, hash);\n }\n var qm = rest.indexOf('?');\n if (qm !== -1) {\n this.search = rest.substr(qm);\n this.query = rest.substr(qm + 1);\n if (parseQueryString) {\n this.query = querystring.parse(this.query);\n }\n rest = rest.slice(0, qm);\n } else if (parseQueryString) {\n // no query string, but parseQueryString still requested\n this.search = '';\n this.query = {};\n }\n if (rest) this.pathname = rest;\n if (slashedProtocol[lowerProto] &&\n this.hostname && !this.pathname) {\n this.pathname = '/';\n }\n\n //to support http.request\n if (this.pathname || this.search) {\n var p = this.pathname || '';\n var s = this.search || '';\n this.path = p + s;\n }\n\n // finally, reconstruct the href based on what has been validated.\n this.href = this.format();\n return this;\n};\n\n// format a parsed object into a url string\nfunction urlFormat(obj) {\n // ensure it's an object, and not a string url.\n // If it's an obj, this is a no-op.\n // this way, you can call url_format() on strings\n // to clean up potentially wonky urls.\n if (util.isString(obj)) obj = urlParse(obj);\n if (!(obj instanceof Url)) return Url.prototype.format.call(obj);\n return obj.format();\n}\n\nUrl.prototype.format = function() {\n var auth = this.auth || '';\n if (auth) {\n auth = encodeURIComponent(auth);\n auth = auth.replace(/%3A/i, ':');\n auth += '@';\n }\n\n var protocol = this.protocol || '',\n pathname = this.pathname || '',\n hash = this.hash || '',\n host = false,\n query = '';\n\n if (this.host) {\n host = auth + this.host;\n } else if (this.hostname) {\n host = auth + (this.hostname.indexOf(':') === -1 ?\n this.hostname :\n '[' + this.hostname + ']');\n if (this.port) {\n host += ':' + this.port;\n }\n }\n\n if (this.query &&\n util.isObject(this.query) &&\n Object.keys(this.query).length) {\n query = querystring.stringify(this.query);\n }\n\n var search = this.search || (query && ('?' + query)) || '';\n\n if (protocol && protocol.substr(-1) !== ':') protocol += ':';\n\n // only the slashedProtocols get the //. Not mailto:, xmpp:, etc.\n // unless they had them to begin with.\n if (this.slashes ||\n (!protocol || slashedProtocol[protocol]) && host !== false) {\n host = '//' + (host || '');\n if (pathname && pathname.charAt(0) !== '/') pathname = '/' + pathname;\n } else if (!host) {\n host = '';\n }\n\n if (hash && hash.charAt(0) !== '#') hash = '#' + hash;\n if (search && search.charAt(0) !== '?') search = '?' + search;\n\n pathname = pathname.replace(/[?#]/g, function(match) {\n return encodeURIComponent(match);\n });\n search = search.replace('#', '%23');\n\n return protocol + host + pathname + search + hash;\n};\n\nfunction urlResolve(source, relative) {\n return urlParse(source, false, true).resolve(relative);\n}\n\nUrl.prototype.resolve = function(relative) {\n return this.resolveObject(urlParse(relative, false, true)).format();\n};\n\nfunction urlResolveObject(source, relative) {\n if (!source) return relative;\n return urlParse(source, false, true).resolveObject(relative);\n}\n\nUrl.prototype.resolveObject = function(relative) {\n if (util.isString(relative)) {\n var rel = new Url();\n rel.parse(relative, false, true);\n relative = rel;\n }\n\n var result = new Url();\n var tkeys = Object.keys(this);\n for (var tk = 0; tk < tkeys.length; tk++) {\n var tkey = tkeys[tk];\n result[tkey] = this[tkey];\n }\n\n // hash is always overridden, no matter what.\n // even href=\"\" will remove it.\n result.hash = relative.hash;\n\n // if the relative url is empty, then there's nothing left to do here.\n if (relative.href === '') {\n result.href = result.format();\n return result;\n }\n\n // hrefs like //foo/bar always cut to the protocol.\n if (relative.slashes && !relative.protocol) {\n // take everything except the protocol from relative\n var rkeys = Object.keys(relative);\n for (var rk = 0; rk < rkeys.length; rk++) {\n var rkey = rkeys[rk];\n if (rkey !== 'protocol')\n result[rkey] = relative[rkey];\n }\n\n //urlParse appends trailing / to urls like http://www.example.com\n if (slashedProtocol[result.protocol] &&\n result.hostname && !result.pathname) {\n result.path = result.pathname = '/';\n }\n\n result.href = result.format();\n return result;\n }\n\n if (relative.protocol && relative.protocol !== result.protocol) {\n // if it's a known url protocol, then changing\n // the protocol does weird things\n // first, if it's not file:, then we MUST have a host,\n // and if there was a path\n // to begin with, then we MUST have a path.\n // if it is file:, then the host is dropped,\n // because that's known to be hostless.\n // anything else is assumed to be absolute.\n if (!slashedProtocol[relative.protocol]) {\n var keys = Object.keys(relative);\n for (var v = 0; v < keys.length; v++) {\n var k = keys[v];\n result[k] = relative[k];\n }\n result.href = result.format();\n return result;\n }\n\n result.protocol = relative.protocol;\n if (!relative.host && !hostlessProtocol[relative.protocol]) {\n var relPath = (relative.pathname || '').split('/');\n while (relPath.length && !(relative.host = relPath.shift()));\n if (!relative.host) relative.host = '';\n if (!relative.hostname) relative.hostname = '';\n if (relPath[0] !== '') relPath.unshift('');\n if (relPath.length < 2) relPath.unshift('');\n result.pathname = relPath.join('/');\n } else {\n result.pathname = relative.pathname;\n }\n result.search = relative.search;\n result.query = relative.query;\n result.host = relative.host || '';\n result.auth = relative.auth;\n result.hostname = relative.hostname || relative.host;\n result.port = relative.port;\n // to support http.request\n if (result.pathname || result.search) {\n var p = result.pathname || '';\n var s = result.search || '';\n result.path = p + s;\n }\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n }\n\n var isSourceAbs = (result.pathname && result.pathname.charAt(0) === '/'),\n isRelAbs = (\n relative.host ||\n relative.pathname && relative.pathname.charAt(0) === '/'\n ),\n mustEndAbs = (isRelAbs || isSourceAbs ||\n (result.host && relative.pathname)),\n removeAllDots = mustEndAbs,\n srcPath = result.pathname && result.pathname.split('/') || [],\n relPath = relative.pathname && relative.pathname.split('/') || [],\n psychotic = result.protocol && !slashedProtocol[result.protocol];\n\n // if the url is a non-slashed url, then relative\n // links like ../.. should be able\n // to crawl up to the hostname, as well. This is strange.\n // result.protocol has already been set by now.\n // Later on, put the first path part into the host field.\n if (psychotic) {\n result.hostname = '';\n result.port = null;\n if (result.host) {\n if (srcPath[0] === '') srcPath[0] = result.host;\n else srcPath.unshift(result.host);\n }\n result.host = '';\n if (relative.protocol) {\n relative.hostname = null;\n relative.port = null;\n if (relative.host) {\n if (relPath[0] === '') relPath[0] = relative.host;\n else relPath.unshift(relative.host);\n }\n relative.host = null;\n }\n mustEndAbs = mustEndAbs && (relPath[0] === '' || srcPath[0] === '');\n }\n\n if (isRelAbs) {\n // it's absolute.\n result.host = (relative.host || relative.host === '') ?\n relative.host : result.host;\n result.hostname = (relative.hostname || relative.hostname === '') ?\n relative.hostname : result.hostname;\n result.search = relative.search;\n result.query = relative.query;\n srcPath = relPath;\n // fall through to the dot-handling below.\n } else if (relPath.length) {\n // it's relative\n // throw away the existing file, and take the new path instead.\n if (!srcPath) srcPath = [];\n srcPath.pop();\n srcPath = srcPath.concat(relPath);\n result.search = relative.search;\n result.query = relative.query;\n } else if (!util.isNullOrUndefined(relative.search)) {\n // just pull out the search.\n // like href='?foo'.\n // Put this after the other two cases because it simplifies the booleans\n if (psychotic) {\n result.hostname = result.host = srcPath.shift();\n //occationaly the auth can get stuck only in host\n //this especially happens in cases like\n //url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n var authInHost = result.host && result.host.indexOf('@') > 0 ?\n result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.host = result.hostname = authInHost.shift();\n }\n }\n result.search = relative.search;\n result.query = relative.query;\n //to support http.request\n if (!util.isNull(result.pathname) || !util.isNull(result.search)) {\n result.path = (result.pathname ? result.pathname : '') +\n (result.search ? result.search : '');\n }\n result.href = result.format();\n return result;\n }\n\n if (!srcPath.length) {\n // no path at all. easy.\n // we've already handled the other stuff above.\n result.pathname = null;\n //to support http.request\n if (result.search) {\n result.path = '/' + result.search;\n } else {\n result.path = null;\n }\n result.href = result.format();\n return result;\n }\n\n // if a url ENDs in . or .., then it must get a trailing slash.\n // however, if it ends in anything else non-slashy,\n // then it must NOT get a trailing slash.\n var last = srcPath.slice(-1)[0];\n var hasTrailingSlash = (\n (result.host || relative.host || srcPath.length > 1) &&\n (last === '.' || last === '..') || last === '');\n\n // strip single dots, resolve double dots to parent dir\n // if the path tries to go above the root, `up` ends up > 0\n var up = 0;\n for (var i = srcPath.length; i >= 0; i--) {\n last = srcPath[i];\n if (last === '.') {\n srcPath.splice(i, 1);\n } else if (last === '..') {\n srcPath.splice(i, 1);\n up++;\n } else if (up) {\n srcPath.splice(i, 1);\n up--;\n }\n }\n\n // if the path is allowed to go above the root, restore leading ..s\n if (!mustEndAbs && !removeAllDots) {\n for (; up--; up) {\n srcPath.unshift('..');\n }\n }\n\n if (mustEndAbs && srcPath[0] !== '' &&\n (!srcPath[0] || srcPath[0].charAt(0) !== '/')) {\n srcPath.unshift('');\n }\n\n if (hasTrailingSlash && (srcPath.join('/').substr(-1) !== '/')) {\n srcPath.push('');\n }\n\n var isAbsolute = srcPath[0] === '' ||\n (srcPath[0] && srcPath[0].charAt(0) === '/');\n\n // put the host back\n if (psychotic) {\n result.hostname = result.host = isAbsolute ? '' :\n srcPath.length ? srcPath.shift() : '';\n //occationaly the auth can get stuck only in host\n //this especially happens in cases like\n //url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n var authInHost = result.host && result.host.indexOf('@') > 0 ?\n result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.host = result.hostname = authInHost.shift();\n }\n }\n\n mustEndAbs = mustEndAbs || (result.host && srcPath.length);\n\n if (mustEndAbs && !isAbsolute) {\n srcPath.unshift('');\n }\n\n if (!srcPath.length) {\n result.pathname = null;\n result.path = null;\n } else {\n result.pathname = srcPath.join('/');\n }\n\n //to support request.http\n if (!util.isNull(result.pathname) || !util.isNull(result.search)) {\n result.path = (result.pathname ? result.pathname : '') +\n (result.search ? result.search : '');\n }\n result.auth = relative.auth || result.auth;\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n};\n\nUrl.prototype.parseHost = function() {\n var host = this.host;\n var port = portPattern.exec(host);\n if (port) {\n port = port[0];\n if (port !== ':') {\n this.port = port.substr(1);\n }\n host = host.substr(0, host.length - port.length);\n }\n if (host) this.hostname = host;\n};\n","'use strict';\n\nmodule.exports = {\n isString: function(arg) {\n return typeof(arg) === 'string';\n },\n isObject: function(arg) {\n return typeof(arg) === 'object' && arg !== null;\n },\n isNull: function(arg) {\n return arg === null;\n },\n isNullOrUndefined: function(arg) {\n return arg == null;\n }\n};\n","\"use strict\";Object.defineProperty(exports,Symbol.toStringTag,{value:\"Module\"});const o=require(\"react\");var c=(e=>(e.Mouse=\"mouse\",e.Touch=\"touch\",e.Pointer=\"pointer\",e))(c||{}),a=(e=>(e.CancelledByMovement=\"cancelled-by-movement\",e.CancelledByRelease=\"cancelled-by-release\",e.CancelledOutsideElement=\"cancelled-outside-element\",e))(a||{});const j=()=>typeof window==\"object\"?window?.PointerEvent??null:null,Y=()=>typeof window==\"object\"?window?.TouchEvent??null:null;function D(e){const{nativeEvent:t}=e;if(!t)return!1;const s=Y();return s&&t instanceof s||\"touches\"in t}function A(e){const t=j();return e.nativeEvent instanceof MouseEvent&&!(t&&e.nativeEvent instanceof t)}function S(e){const{nativeEvent:t}=e;if(!t)return!1;const s=j();return s&&t instanceof s||\"pointerId\"in t}function R(e){return A(e)||D(e)||S(e)}function B(e){return D(e)?{x:e.touches[0].pageX,y:e.touches[0].pageY}:A(e)||S(e)?{x:e.pageX,y:e.pageY}:null}function q(e){return{target:e.target,currentTarget:e.currentTarget,nativeEvent:e,persist:()=>{}}}function I(e,{threshold:t=400,captureEvent:s=!1,detect:p=c.Pointer,cancelOnMovement:w=!1,cancelOutsideElement:P=!0,filterEvents:g,onStart:T,onMove:y,onFinish:M,onCancel:C}={}){const h=o.useRef(!1),f=o.useRef(!1),U=o.useRef(),l=o.useRef(),m=o.useRef(e),d=o.useRef(null),E=o.useCallback(n=>r=>{f.current||R(r)&&(g!==void 0&&!g(r)||(s&&r.persist(),T?.(r,{context:n}),d.current=B(r),f.current=!0,U.current=r.currentTarget,l.current=setTimeout(()=>{m.current&&(m.current(r,{context:n}),h.current=!0)},t)))},[s,g,T,t]),i=o.useCallback(n=>(r,u)=>{R(r)&&f.current&&(d.current=null,s&&r.persist(),h.current?M?.(r,{context:n}):f.current&&C?.(r,{context:n,reason:u??a.CancelledByRelease}),h.current=!1,f.current=!1,l.current!==void 0&&clearTimeout(l.current))},[s,M,C]),v=o.useCallback(n=>r=>{if(y?.(r,{context:n}),w&&d.current){const u=B(r);if(u){const b=w===!0?25:w,L={x:Math.abs(u.x-d.current.x),y:Math.abs(u.y-d.current.y)};(L.x>b||L.y>b)&&i(n)(r,a.CancelledByMovement)}}},[i,w,y]),X=o.useCallback(n=>{if(e===null)return{};switch(p){case c.Mouse:{const r={onMouseDown:E(n),onMouseMove:v(n),onMouseUp:i(n)};return P&&(r.onMouseLeave=u=>{i(n)(u,a.CancelledOutsideElement)}),r}case c.Touch:return{onTouchStart:E(n),onTouchMove:v(n),onTouchEnd:i(n)};case c.Pointer:{const r={onPointerDown:E(n),onPointerMove:v(n),onPointerUp:i(n)};return P&&(r.onPointerLeave=u=>i(n)(u,a.CancelledOutsideElement)),r}}},[e,i,P,p,v,E]);return o.useEffect(()=>{if(!window)return;function n(r){const u=q(r);i()(u)}return window.addEventListener(\"mouseup\",n),window.addEventListener(\"touchend\",n),window.addEventListener(\"pointerup\",n),()=>{window.removeEventListener(\"mouseup\",n),window.removeEventListener(\"touchend\",n),window.removeEventListener(\"pointerup\",n)}},[i]),o.useEffect(()=>()=>{l.current!==void 0&&clearTimeout(l.current)},[]),o.useEffect(()=>{m.current=e},[e]),X}exports.LongPressCallbackReason=a;exports.LongPressEventType=c;exports.useLongPress=I;\n","/**\n * This file automatically generated from `pre-publish.js`.\n * Do not manually edit.\n */\n\nmodule.exports = {\n \"area\": true,\n \"base\": true,\n \"br\": true,\n \"col\": true,\n \"embed\": true,\n \"hr\": true,\n \"img\": true,\n \"input\": true,\n \"link\": true,\n \"meta\": true,\n \"param\": true,\n \"source\": true,\n \"track\": true,\n \"wbr\": true\n};\n","/**\n * Copyright 2013 vtt.js Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n// Default exports for Node. Export the extended versions of VTTCue and\n// VTTRegion in Node since we likely want the capability to convert back and\n// forth between JSON. If we don't then it's not that big of a deal since we're\n// off browser.\nmodule.exports = {\n WebVTT: require(\"./vtt.js\").WebVTT,\n VTTCue: require(\"./vttcue-extended.js\").VTTCue,\n VTTRegion: require(\"./vttregion-extended.js\").VTTRegion\n};\n","/**\n * Copyright 2013 vtt.js Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */\n/* vim: set shiftwidth=2 tabstop=2 autoindent cindent expandtab: */\n\n(function(global) {\n function makeColorSet(color, opacity) {\n if(opacity === undefined) {\n opacity = 1;\n }\n return \"rgba(\" + [parseInt(color.substring(0, 2), 16),\n parseInt(color.substring(2, 4), 16),\n parseInt(color.substring(4, 6), 16),\n opacity].join(\",\") + \")\";\n }\n\n var WebVTTPrefs = ['webvtt.font.color', 'webvtt.font.opacity', 'webvtt.font.scale',\n 'webvtt.bg.color', 'webvtt.bg.opacity',\n 'webvtt.edge.color', 'webvtt.edge.type'];\n\n var fontScale = 1;\n\n function observe(subject, topic, data) {\n switch (data) {\n case \"webvtt.font.color\":\n case \"webvtt.font.opacity\":\n var fontColor = Services.prefs.getCharPref(\"webvtt.font.color\");\n var fontOpacity = Services.prefs.getIntPref(\"webvtt.font.opacity\") / 100;\n WebVTTSet.fontSet = makeColorSet(fontColor, fontOpacity);\n break;\n case \"webvtt.font.scale\":\n fontScale = Services.prefs.getIntPref(\"webvtt.font.scale\") / 100;\n break;\n case \"webvtt.bg.color\":\n case \"webvtt.bg.opacity\":\n var backgroundColor = Services.prefs.getCharPref(\"webvtt.bg.color\");\n var backgroundOpacity = Services.prefs.getIntPref(\"webvtt.bg.opacity\") / 100;\n WebVTTSet.backgroundSet = makeColorSet(backgroundColor, backgroundOpacity);\n break;\n case \"webvtt.edge.color\":\n case \"webvtt.edge.type\":\n var edgeTypeList = [\"\", \"0px 0px \", \"4px 4px 4px \", \"-2px -2px \", \"2px 2px \"];\n var edgeType = Services.prefs.getIntPref(\"webvtt.edge.type\");\n var edgeColor = Services.prefs.getCharPref(\"webvtt.edge.color\");\n WebVTTSet.edgeSet = edgeTypeList[edgeType] + makeColorSet(edgeColor);\n break;\n }\n }\n\n if(typeof Services !== \"undefined\") {\n var WebVTTSet = {};\n WebVTTPrefs.forEach(function (pref) {\n observe(undefined, undefined, pref);\n Services.prefs.addObserver(pref, observe, false);\n });\n }\n\n var _objCreate = Object.create || (function() {\n function F() {}\n return function(o) {\n if (arguments.length !== 1) {\n throw new Error('Object.create shim only accepts one parameter.');\n }\n F.prototype = o;\n return new F();\n };\n })();\n\n // Creates a new ParserError object from an errorData object. The errorData\n // object should have default code and message properties. The default message\n // property can be overriden by passing in a message parameter.\n // See ParsingError.Errors below for acceptable errors.\n function ParsingError(errorData, message) {\n this.name = \"ParsingError\";\n this.code = errorData.code;\n this.message = message || errorData.message;\n }\n ParsingError.prototype = _objCreate(Error.prototype);\n ParsingError.prototype.constructor = ParsingError;\n\n // ParsingError metadata for acceptable ParsingErrors.\n ParsingError.Errors = {\n BadSignature: {\n code: 0,\n message: \"Malformed WebVTT signature.\"\n },\n BadTimeStamp: {\n code: 1,\n message: \"Malformed time stamp.\"\n }\n };\n\n // Try to parse input as a time stamp.\n function parseTimeStamp(input) {\n\n function computeSeconds(h, m, s, f) {\n return (h | 0) * 3600 + (m | 0) * 60 + (s | 0) + (f | 0) / 1000;\n }\n\n var m = input.match(/^(\\d+):(\\d{2})(:\\d{2})?\\.(\\d{3})/);\n if (!m) {\n return null;\n }\n\n if (m[3]) {\n // Timestamp takes the form of [hours]:[minutes]:[seconds].[milliseconds]\n return computeSeconds(m[1], m[2], m[3].replace(\":\", \"\"), m[4]);\n } else if (m[1] > 59) {\n // Timestamp takes the form of [hours]:[minutes].[milliseconds]\n // First position is hours as it's over 59.\n return computeSeconds(m[1], m[2], 0, m[4]);\n } else {\n // Timestamp takes the form of [minutes]:[seconds].[milliseconds]\n return computeSeconds(0, m[1], m[2], m[4]);\n }\n }\n\n // A settings object holds key/value pairs and will ignore anything but the first\n // assignment to a specific key.\n function Settings() {\n this.values = _objCreate(null);\n }\n\n Settings.prototype = {\n // Only accept the first assignment to any key.\n set: function(k, v) {\n if (!this.get(k) && v !== \"\") {\n this.values[k] = v;\n }\n },\n // Return the value for a key, or a default value.\n // If 'defaultKey' is passed then 'dflt' is assumed to be an object with\n // a number of possible default values as properties where 'defaultKey' is\n // the key of the property that will be chosen; otherwise it's assumed to be\n // a single value.\n get: function(k, dflt, defaultKey) {\n if (defaultKey) {\n return this.has(k) ? this.values[k] : dflt[defaultKey];\n }\n return this.has(k) ? this.values[k] : dflt;\n },\n // Check whether we have a value for a key.\n has: function(k) {\n return k in this.values;\n },\n // Accept a setting if its one of the given alternatives.\n alt: function(k, v, a) {\n for (var n = 0; n < a.length; ++n) {\n if (v === a[n]) {\n this.set(k, v);\n break;\n }\n }\n },\n // Accept a setting if its a valid (signed) integer.\n integer: function(k, v) {\n if (/^-?\\d+$/.test(v)) { // integer\n this.set(k, parseInt(v, 10));\n }\n },\n // Accept a setting if its a valid percentage.\n percent: function(k, v) {\n var m;\n if ((m = v.match(/^([\\d]{1,3})(\\.[\\d]*)?%$/))) {\n v = parseFloat(v);\n if (v >= 0 && v <= 100) {\n this.set(k, v);\n return true;\n }\n }\n return false;\n }\n };\n\n // Helper function to parse input into groups separated by 'groupDelim', and\n // interprete each group as a key/value pair separated by 'keyValueDelim'.\n function parseOptions(input, callback, keyValueDelim, groupDelim) {\n var groups = groupDelim ? input.split(groupDelim) : [input];\n for (var i in groups) {\n if (typeof groups[i] !== \"string\") {\n continue;\n }\n var kv = groups[i].split(keyValueDelim);\n if (kv.length !== 2) {\n continue;\n }\n var k = kv[0];\n var v = kv[1];\n callback(k, v);\n }\n }\n\n function parseCue(input, cue, regionList, successCb, errCb) {\n // Remember the original input if we need to throw an error.\n var oInput = input;\n // 4.1 WebVTT timestamp\n function consumeTimeStamp() {\n var ts = parseTimeStamp(input);\n if (ts === null) {\n if (errCb) {\n errCb(new ParsingError(ParsingError.Errors.BadTimeStamp,\n \"Malformed timestamp: \" + oInput));\n return;\n }\n }\n // Remove time stamp from input.\n input = input.replace(/^[^\\sa-zA-Z-]+/, \"\");\n return ts;\n }\n\n // 4.4.2 WebVTT cue settings\n function consumeCueSettings(input, cue) {\n var settings = new Settings();\n\n parseOptions(input, function (k, v) {\n switch (k) {\n case \"region\":\n // Find the last region we parsed with the same region id.\n for (var i = regionList.length - 1; i >= 0; i--) {\n if (regionList[i].id === v) {\n settings.set(k, regionList[i].region);\n break;\n }\n }\n break;\n case \"vertical\":\n settings.alt(k, v, [\"rl\", \"lr\"]);\n break;\n case \"line\":\n var vals = v.split(\",\"),\n vals0 = vals[0];\n settings.integer(k, vals0);\n settings.percent(k, vals0) ? settings.set(\"snapToLines\", false) : null;\n settings.alt(k, vals0, [\"auto\"]);\n if (vals.length === 2) {\n settings.alt(\"lineAlign\", vals[1], [\"start\", \"middle\", \"end\"]);\n }\n break;\n case \"position\":\n vals = v.split(\",\");\n settings.percent(k, vals[0]);\n if (vals.length === 2) {\n settings.alt(\"positionAlign\", vals[1], [\"start\", \"middle\", \"end\"]);\n }\n break;\n case \"size\":\n settings.percent(k, v);\n break;\n case \"align\":\n settings.alt(k, v, [\"start\", \"middle\", \"end\", \"left\", \"right\"]);\n break;\n }\n }, /:/, /\\s/);\n\n // Apply default values for any missing fields.\n cue.region = settings.get(\"region\", null);\n cue.vertical = settings.get(\"vertical\", \"\");\n cue.line = settings.get(\"line\", \"auto\");\n cue.lineAlign = settings.get(\"lineAlign\", \"start\");\n cue.snapToLines = settings.get(\"snapToLines\", true);\n cue.size = settings.get(\"size\", 100);\n cue.align = settings.get(\"align\", \"center\");\n cue.position = settings.get(\"position\", \"auto\");\n cue.positionAlign = settings.get(\"positionAlign\", {\n start: \"start\",\n left: \"start\",\n middle: \"middle\",\n end: \"end\",\n right: \"end\",\n center: \"center\"\n }, cue.align);\n\n successCb();\n }\n\n function skipWhitespace() {\n input = input.replace(/^\\s+/, \"\");\n }\n\n // 4.1 WebVTT cue timings.\n skipWhitespace();\n\n var timestamp = consumeTimeStamp()\n if (timestamp === undefined) return\n cue.startTime = timestamp; // (1) collect cue start time\n skipWhitespace();\n if (input.substr(0, 3) !== \"-->\") {\n // (3) next characters must match \"-->\"\n errCb(new ParsingError(ParsingError.Errors.BadTimeStamp,\n \"Malformed time stamp (time stamps must be separated by '-->'): \" +\n oInput));\n return;\n }\n input = input.substr(3);\n skipWhitespace();\n var timestamp = consumeTimeStamp()\n if (timestamp === undefined) return\n cue.endTime = timestamp; // (5) collect cue end time\n\n // 4.1 WebVTT cue settings list.\n skipWhitespace();\n consumeCueSettings(input, cue);\n }\n\n var ESCAPE = {\n \"&amp;\": \"&\",\n \"&lt;\": \"<\",\n \"&gt;\": \">\",\n \"&lrm;\": \"\\u200e\",\n \"&rlm;\": \"\\u200f\",\n \"&nbsp;\": \"\\u00a0\"\n };\n\n var TAG_NAME = {\n c: \"span\",\n i: \"i\",\n b: \"b\",\n u: \"u\",\n ruby: \"ruby\",\n rt: \"rt\",\n v: \"span\",\n lang: \"span\"\n };\n\n var TAG_ANNOTATION = {\n v: \"title\",\n lang: \"lang\"\n };\n\n var NEEDS_PARENT = {\n rt: \"ruby\"\n };\n\n // Parse content into a document fragment.\n function parseContent(window, input) {\n function nextToken() {\n // Check for end-of-string.\n if (!input) {\n return null;\n }\n\n // Consume 'n' characters from the input.\n function consume(result) {\n input = input.substr(result.length);\n return result;\n }\n\n var m = input.match(/^([^<]*)(<[^>]+>?)?/);\n // If there is some text before the next tag, return it, otherwise return\n // the tag.\n return consume(m[1] ? m[1] : m[2]);\n }\n\n // Unescape a string 's'.\n function unescape1(e) {\n return ESCAPE[e];\n }\n function unescape(s) {\n while ((m = s.match(/&(amp|lt|gt|lrm|rlm|nbsp);/))) {\n s = s.replace(m[0], unescape1);\n }\n return s;\n }\n\n function shouldAdd(current, element) {\n return !NEEDS_PARENT[element.localName] ||\n NEEDS_PARENT[element.localName] === current.localName;\n }\n\n // Create an element for this tag.\n function createElement(type, annotation) {\n var tagName = TAG_NAME[type];\n if (!tagName) {\n return null;\n }\n var element = window.document.createElement(tagName);\n element.localName = tagName;\n var name = TAG_ANNOTATION[type];\n if (name && annotation) {\n element[name] = annotation.trim();\n }\n return element;\n }\n\n var rootDiv = window.document.createElement(\"div\"),\n current = rootDiv,\n t,\n tagStack = [];\n\n while ((t = nextToken()) !== null) {\n if (t[0] === '<') {\n if (t[1] === \"/\") {\n // If the closing tag matches, move back up to the parent node.\n if (tagStack.length &&\n tagStack[tagStack.length - 1] === t.substr(2).replace(\">\", \"\")) {\n tagStack.pop();\n current = current.parentNode;\n }\n // Otherwise just ignore the end tag.\n continue;\n }\n var ts = parseTimeStamp(t.substr(1, t.length - 2));\n var node;\n if (ts) {\n // Timestamps are lead nodes as well.\n node = window.document.createProcessingInstruction(\"timestamp\", ts);\n current.appendChild(node);\n continue;\n }\n var m = t.match(/^<([^.\\s/0-9>]+)(\\.[^\\s\\\\>]+)?([^>\\\\]+)?(\\\\?)>?$/);\n // If we can't parse the tag, skip to the next tag.\n if (!m) {\n continue;\n }\n // Try to construct an element, and ignore the tag if we couldn't.\n node = createElement(m[1], m[3]);\n if (!node) {\n continue;\n }\n // Determine if the tag should be added based on the context of where it\n // is placed in the cuetext.\n if (!shouldAdd(current, node)) {\n continue;\n }\n // Set the class list (as a list of classes, separated by space).\n if (m[2]) {\n node.className = m[2].substr(1).replace('.', ' ');\n }\n // Append the node to the current node, and enter the scope of the new\n // node.\n tagStack.push(m[1]);\n current.appendChild(node);\n current = node;\n continue;\n }\n\n // Text nodes are leaf nodes.\n current.appendChild(window.document.createTextNode(unescape(t)));\n }\n\n return rootDiv;\n }\n\n // This is a list of all the Unicode characters that have a strong\n // right-to-left category. What this means is that these characters are\n // written right-to-left for sure. It was generated by pulling all the strong\n // right-to-left characters out of the Unicode data table. That table can\n // found at: http://www.unicode.org/Public/UNIDATA/UnicodeData.txt\n var strongRTLRanges = [[0x5be, 0x5be], [0x5c0, 0x5c0], [0x5c3, 0x5c3], [0x5c6, 0x5c6],\n [0x5d0, 0x5ea], [0x5f0, 0x5f4], [0x608, 0x608], [0x60b, 0x60b], [0x60d, 0x60d],\n [0x61b, 0x61b], [0x61e, 0x64a], [0x66d, 0x66f], [0x671, 0x6d5], [0x6e5, 0x6e6],\n [0x6ee, 0x6ef], [0x6fa, 0x70d], [0x70f, 0x710], [0x712, 0x72f], [0x74d, 0x7a5],\n [0x7b1, 0x7b1], [0x7c0, 0x7ea], [0x7f4, 0x7f5], [0x7fa, 0x7fa], [0x800, 0x815],\n [0x81a, 0x81a], [0x824, 0x824], [0x828, 0x828], [0x830, 0x83e], [0x840, 0x858],\n [0x85e, 0x85e], [0x8a0, 0x8a0], [0x8a2, 0x8ac], [0x200f, 0x200f],\n [0xfb1d, 0xfb1d], [0xfb1f, 0xfb28], [0xfb2a, 0xfb36], [0xfb38, 0xfb3c],\n [0xfb3e, 0xfb3e], [0xfb40, 0xfb41], [0xfb43, 0xfb44], [0xfb46, 0xfbc1],\n [0xfbd3, 0xfd3d], [0xfd50, 0xfd8f], [0xfd92, 0xfdc7], [0xfdf0, 0xfdfc],\n [0xfe70, 0xfe74], [0xfe76, 0xfefc], [0x10800, 0x10805], [0x10808, 0x10808],\n [0x1080a, 0x10835], [0x10837, 0x10838], [0x1083c, 0x1083c], [0x1083f, 0x10855],\n [0x10857, 0x1085f], [0x10900, 0x1091b], [0x10920, 0x10939], [0x1093f, 0x1093f],\n [0x10980, 0x109b7], [0x109be, 0x109bf], [0x10a00, 0x10a00], [0x10a10, 0x10a13],\n [0x10a15, 0x10a17], [0x10a19, 0x10a33], [0x10a40, 0x10a47], [0x10a50, 0x10a58],\n [0x10a60, 0x10a7f], [0x10b00, 0x10b35], [0x10b40, 0x10b55], [0x10b58, 0x10b72],\n [0x10b78, 0x10b7f], [0x10c00, 0x10c48], [0x1ee00, 0x1ee03], [0x1ee05, 0x1ee1f],\n [0x1ee21, 0x1ee22], [0x1ee24, 0x1ee24], [0x1ee27, 0x1ee27], [0x1ee29, 0x1ee32],\n [0x1ee34, 0x1ee37], [0x1ee39, 0x1ee39], [0x1ee3b, 0x1ee3b], [0x1ee42, 0x1ee42],\n [0x1ee47, 0x1ee47], [0x1ee49, 0x1ee49], [0x1ee4b, 0x1ee4b], [0x1ee4d, 0x1ee4f],\n [0x1ee51, 0x1ee52], [0x1ee54, 0x1ee54], [0x1ee57, 0x1ee57], [0x1ee59, 0x1ee59],\n [0x1ee5b, 0x1ee5b], [0x1ee5d, 0x1ee5d], [0x1ee5f, 0x1ee5f], [0x1ee61, 0x1ee62],\n [0x1ee64, 0x1ee64], [0x1ee67, 0x1ee6a], [0x1ee6c, 0x1ee72], [0x1ee74, 0x1ee77],\n [0x1ee79, 0x1ee7c], [0x1ee7e, 0x1ee7e], [0x1ee80, 0x1ee89], [0x1ee8b, 0x1ee9b],\n [0x1eea1, 0x1eea3], [0x1eea5, 0x1eea9], [0x1eeab, 0x1eebb], [0x10fffd, 0x10fffd]];\n\n function isStrongRTLChar(charCode) {\n for (var i = 0; i < strongRTLRanges.length; i++) {\n var currentRange = strongRTLRanges[i];\n if (charCode >= currentRange[0] && charCode <= currentRange[1]) {\n return true;\n }\n }\n\n return false;\n }\n\n function determineBidi(cueDiv) {\n var nodeStack = [],\n text = \"\",\n charCode;\n\n if (!cueDiv || !cueDiv.childNodes) {\n return \"ltr\";\n }\n\n function pushNodes(nodeStack, node) {\n for (var i = node.childNodes.length - 1; i >= 0; i--) {\n nodeStack.push(node.childNodes[i]);\n }\n }\n\n function nextTextNode(nodeStack) {\n if (!nodeStack || !nodeStack.length) {\n return null;\n }\n\n var node = nodeStack.pop(),\n text = node.textContent || node.innerText;\n if (text) {\n // TODO: This should match all unicode type B characters (paragraph\n // separator characters). See issue #115.\n var m = text.match(/^.*(\\n|\\r)/);\n if (m) {\n nodeStack.length = 0;\n return m[0];\n }\n return text;\n }\n if (node.tagName === \"ruby\") {\n return nextTextNode(nodeStack);\n }\n if (node.childNodes) {\n pushNodes(nodeStack, node);\n return nextTextNode(nodeStack);\n }\n }\n\n pushNodes(nodeStack, cueDiv);\n while ((text = nextTextNode(nodeStack))) {\n for (var i = 0; i < text.length; i++) {\n charCode = text.charCodeAt(i);\n if (isStrongRTLChar(charCode)) {\n return \"rtl\";\n }\n }\n }\n return \"ltr\";\n }\n\n function computeLinePos(cue) {\n if (typeof cue.line === \"number\" &&\n (cue.snapToLines || (cue.line >= 0 && cue.line <= 100))) {\n return cue.line;\n }\n if (!cue.track || !cue.track.textTrackList ||\n !cue.track.textTrackList.mediaElement) {\n return -1;\n }\n var track = cue.track,\n trackList = track.textTrackList,\n count = 0;\n for (var i = 0; i < trackList.length && trackList[i] !== track; i++) {\n if (trackList[i].mode === \"showing\") {\n count++;\n }\n }\n return ++count * -1;\n }\n\n function StyleBox() {\n }\n\n // Apply styles to a div. If there is no div passed then it defaults to the\n // div on 'this'.\n StyleBox.prototype.applyStyles = function(styles, div) {\n div = div || this.div;\n for (var prop in styles) {\n if (styles.hasOwnProperty(prop)) {\n div.style[prop] = styles[prop];\n }\n }\n };\n\n StyleBox.prototype.formatStyle = function(val, unit) {\n return val === 0 ? 0 : val + unit;\n };\n\n // Constructs the computed display state of the cue (a div). Places the div\n // into the overlay which should be a block level element (usually a div).\n function CueStyleBox(window, cue, styleOptions) {\n var isIE8 = (typeof navigator !== \"undefined\") &&\n (/MSIE\\s8\\.0/).test(navigator.userAgent);\n var color = \"rgba(255, 255, 255, 1)\";\n var backgroundColor = \"rgba(0, 0, 0, 0.8)\";\n var textShadow = \"\";\n\n if(typeof WebVTTSet !== \"undefined\") {\n color = WebVTTSet.fontSet;\n backgroundColor = WebVTTSet.backgroundSet;\n textShadow = WebVTTSet.edgeSet;\n }\n\n if (isIE8) {\n color = \"rgb(255, 255, 255)\";\n backgroundColor = \"rgb(0, 0, 0)\";\n }\n\n StyleBox.call(this);\n this.cue = cue;\n\n // Parse our cue's text into a DOM tree rooted at 'cueDiv'. This div will\n // have inline positioning and will function as the cue background box.\n this.cueDiv = parseContent(window, cue.text);\n var styles = {\n color: color,\n backgroundColor: backgroundColor,\n textShadow: textShadow,\n position: \"relative\",\n left: 0,\n right: 0,\n top: 0,\n bottom: 0,\n display: \"inline\"\n };\n\n if (!isIE8) {\n styles.writingMode = cue.vertical === \"\" ? \"horizontal-tb\"\n : cue.vertical === \"lr\" ? \"vertical-lr\"\n : \"vertical-rl\";\n styles.unicodeBidi = \"plaintext\";\n }\n this.applyStyles(styles, this.cueDiv);\n\n // Create an absolutely positioned div that will be used to position the cue\n // div. Note, all WebVTT cue-setting alignments are equivalent to the CSS\n // mirrors of them except \"middle\" which is \"center\" in CSS.\n this.div = window.document.createElement(\"div\");\n styles = {\n textAlign: cue.align === \"middle\" ? \"center\" : cue.align,\n font: styleOptions.font,\n whiteSpace: \"pre-line\",\n position: \"absolute\"\n };\n\n if (!isIE8) {\n styles.direction = determineBidi(this.cueDiv);\n styles.writingMode = cue.vertical === \"\" ? \"horizontal-tb\"\n : cue.vertical === \"lr\" ? \"vertical-lr\"\n : \"vertical-rl\".\n stylesunicodeBidi = \"plaintext\";\n }\n\n this.applyStyles(styles);\n\n this.div.appendChild(this.cueDiv);\n\n // Calculate the distance from the reference edge of the viewport to the text\n // position of the cue box. The reference edge will be resolved later when\n // the box orientation styles are applied.\n var textPos = 0;\n switch (cue.positionAlign) {\n case \"start\":\n textPos = cue.position;\n break;\n case \"middle\":\n textPos = cue.position - (cue.size / 2);\n break;\n case \"end\":\n textPos = cue.position - cue.size;\n break;\n }\n\n // Horizontal box orientation; textPos is the distance from the left edge of the\n // area to the left edge of the box and cue.size is the distance extending to\n // the right from there.\n if (cue.vertical === \"\") {\n this.applyStyles({\n left: this.formatStyle(textPos, \"%\"),\n width: this.formatStyle(cue.size, \"%\")\n });\n // Vertical box orientation; textPos is the distance from the top edge of the\n // area to the top edge of the box and cue.size is the height extending\n // downwards from there.\n } else {\n this.applyStyles({\n top: this.formatStyle(textPos, \"%\"),\n height: this.formatStyle(cue.size, \"%\")\n });\n }\n\n this.move = function(box) {\n this.applyStyles({\n top: this.formatStyle(box.top, \"px\"),\n bottom: this.formatStyle(box.bottom, \"px\"),\n left: this.formatStyle(box.left, \"px\"),\n right: this.formatStyle(box.right, \"px\"),\n height: this.formatStyle(box.height, \"px\"),\n width: this.formatStyle(box.width, \"px\")\n });\n };\n }\n CueStyleBox.prototype = _objCreate(StyleBox.prototype);\n CueStyleBox.prototype.constructor = CueStyleBox;\n\n // Represents the co-ordinates of an Element in a way that we can easily\n // compute things with such as if it overlaps or intersects with another Element.\n // Can initialize it with either a StyleBox or another BoxPosition.\n function BoxPosition(obj) {\n var isIE8 = (typeof navigator !== \"undefined\") &&\n (/MSIE\\s8\\.0/).test(navigator.userAgent);\n\n // Either a BoxPosition was passed in and we need to copy it, or a StyleBox\n // was passed in and we need to copy the results of 'getBoundingClientRect'\n // as the object returned is readonly. All co-ordinate values are in reference\n // to the viewport origin (top left).\n var lh, height, width, top;\n if (obj.div) {\n height = obj.div.offsetHeight;\n width = obj.div.offsetWidth;\n top = obj.div.offsetTop;\n\n var rects = (rects = obj.div.childNodes) && (rects = rects[0]) &&\n rects.getClientRects && rects.getClientRects();\n obj = obj.div.getBoundingClientRect();\n // In certain cases the outter div will be slightly larger then the sum of\n // the inner div's lines. This could be due to bold text, etc, on some platforms.\n // In this case we should get the average line height and use that. This will\n // result in the desired behaviour.\n lh = rects ? Math.max((rects[0] && rects[0].height) || 0, obj.height / rects.length)\n : 0;\n\n }\n this.left = obj.left;\n this.right = obj.right;\n this.top = obj.top || top;\n this.height = obj.height || height;\n this.bottom = obj.bottom || (top + (obj.height || height));\n this.width = obj.width || width;\n this.lineHeight = lh !== undefined ? lh : obj.lineHeight;\n\n if (isIE8 && !this.lineHeight) {\n this.lineHeight = 13;\n }\n }\n\n // Move the box along a particular axis. Optionally pass in an amount to move\n // the box. If no amount is passed then the default is the line height of the\n // box.\n BoxPosition.prototype.move = function(axis, toMove) {\n toMove = toMove !== undefined ? toMove : this.lineHeight;\n switch (axis) {\n case \"+x\":\n this.left += toMove;\n this.right += toMove;\n break;\n case \"-x\":\n this.left -= toMove;\n this.right -= toMove;\n break;\n case \"+y\":\n this.top += toMove;\n this.bottom += toMove;\n break;\n case \"-y\":\n this.top -= toMove;\n this.bottom -= toMove;\n break;\n }\n };\n\n // Check if this box overlaps another box, b2.\n BoxPosition.prototype.overlaps = function(b2) {\n return this.left < b2.right &&\n this.right > b2.left &&\n this.top < b2.bottom &&\n this.bottom > b2.top;\n };\n\n // Check if this box overlaps any other boxes in boxes.\n BoxPosition.prototype.overlapsAny = function(boxes) {\n for (var i = 0; i < boxes.length; i++) {\n if (this.overlaps(boxes[i])) {\n return true;\n }\n }\n return false;\n };\n\n // Check if this box is within another box.\n BoxPosition.prototype.within = function(container) {\n return this.top >= container.top &&\n this.bottom <= container.bottom &&\n this.left >= container.left &&\n this.right <= container.right;\n };\n\n // Check if this box is entirely within the container or it is overlapping\n // on the edge opposite of the axis direction passed. For example, if \"+x\" is\n // passed and the box is overlapping on the left edge of the container, then\n // return true.\n BoxPosition.prototype.overlapsOppositeAxis = function(container, axis) {\n switch (axis) {\n case \"+x\":\n return this.left < container.left;\n case \"-x\":\n return this.right > container.right;\n case \"+y\":\n return this.top < container.top;\n case \"-y\":\n return this.bottom > container.bottom;\n }\n };\n\n // Find the percentage of the area that this box is overlapping with another\n // box.\n BoxPosition.prototype.intersectPercentage = function(b2) {\n var x = Math.max(0, Math.min(this.right, b2.right) - Math.max(this.left, b2.left)),\n y = Math.max(0, Math.min(this.bottom, b2.bottom) - Math.max(this.top, b2.top)),\n intersectArea = x * y;\n return intersectArea / (this.height * this.width);\n };\n\n // Convert the positions from this box to CSS compatible positions using\n // the reference container's positions. This has to be done because this\n // box's positions are in reference to the viewport origin, whereas, CSS\n // values are in referecne to their respective edges.\n BoxPosition.prototype.toCSSCompatValues = function(reference) {\n return {\n top: this.top - reference.top,\n bottom: reference.bottom - this.bottom,\n left: this.left - reference.left,\n right: reference.right - this.right,\n height: this.height,\n width: this.width\n };\n };\n\n // Get an object that represents the box's position without anything extra.\n // Can pass a StyleBox, HTMLElement, or another BoxPositon.\n BoxPosition.getSimpleBoxPosition = function(obj) {\n var height = obj.div ? obj.div.offsetHeight : obj.tagName ? obj.offsetHeight : 0;\n var width = obj.div ? obj.div.offsetWidth : obj.tagName ? obj.offsetWidth : 0;\n var top = obj.div ? obj.div.offsetTop : obj.tagName ? obj.offsetTop : 0;\n\n obj = obj.div ? obj.div.getBoundingClientRect() :\n obj.tagName ? obj.getBoundingClientRect() : obj;\n var ret = {\n left: obj.left,\n right: obj.right,\n top: obj.top || top,\n height: obj.height || height,\n bottom: obj.bottom || (top + (obj.height || height)),\n width: obj.width || width\n };\n return ret;\n };\n\n // Move a StyleBox to its specified, or next best, position. The containerBox\n // is the box that contains the StyleBox, such as a div. boxPositions are\n // a list of other boxes that the styleBox can't overlap with.\n function moveBoxToLinePosition(window, styleBox, containerBox, boxPositions) {\n\n // Find the best position for a cue box, b, on the video. The axis parameter\n // is a list of axis, the order of which, it will move the box along. For example:\n // Passing [\"+x\", \"-x\"] will move the box first along the x axis in the positive\n // direction. If it doesn't find a good position for it there it will then move\n // it along the x axis in the negative direction.\n function findBestPosition(b, axis) {\n var bestPosition,\n specifiedPosition = new BoxPosition(b),\n percentage = 1; // Highest possible so the first thing we get is better.\n\n for (var i = 0; i < axis.length; i++) {\n while (b.overlapsOppositeAxis(containerBox, axis[i]) ||\n (b.within(containerBox) && b.overlapsAny(boxPositions))) {\n b.move(axis[i]);\n }\n // We found a spot where we aren't overlapping anything. This is our\n // best position.\n if (b.within(containerBox)) {\n return b;\n }\n var p = b.intersectPercentage(containerBox);\n // If we're outside the container box less then we were on our last try\n // then remember this position as the best position.\n if (percentage > p) {\n bestPosition = new BoxPosition(b);\n percentage = p;\n }\n // Reset the box position to the specified position.\n b = new BoxPosition(specifiedPosition);\n }\n return bestPosition || specifiedPosition;\n }\n\n var boxPosition = new BoxPosition(styleBox),\n cue = styleBox.cue,\n linePos = computeLinePos(cue),\n axis = [];\n\n // If we have a line number to align the cue to.\n if (cue.snapToLines) {\n var size;\n switch (cue.vertical) {\n case \"\":\n axis = [ \"+y\", \"-y\" ];\n size = \"height\";\n break;\n case \"rl\":\n axis = [ \"+x\", \"-x\" ];\n size = \"width\";\n break;\n case \"lr\":\n axis = [ \"-x\", \"+x\" ];\n size = \"width\";\n break;\n }\n\n var step = boxPosition.lineHeight,\n position = step * Math.round(linePos),\n maxPosition = containerBox[size] + step,\n initialAxis = axis[0];\n\n // If the specified intial position is greater then the max position then\n // clamp the box to the amount of steps it would take for the box to\n // reach the max position.\n if (Math.abs(position) > maxPosition) {\n position = position < 0 ? -1 : 1;\n position *= Math.ceil(maxPosition / step) * step;\n }\n\n // If computed line position returns negative then line numbers are\n // relative to the bottom of the video instead of the top. Therefore, we\n // need to increase our initial position by the length or width of the\n // video, depending on the writing direction, and reverse our axis directions.\n if (linePos < 0) {\n position += cue.vertical === \"\" ? containerBox.height : containerBox.width;\n axis = axis.reverse();\n }\n\n // Move the box to the specified position. This may not be its best\n // position.\n boxPosition.move(initialAxis, position);\n\n } else {\n // If we have a percentage line value for the cue.\n var calculatedPercentage = (boxPosition.lineHeight / containerBox.height) * 100;\n\n switch (cue.lineAlign) {\n case \"middle\":\n linePos -= (calculatedPercentage / 2);\n break;\n case \"end\":\n linePos -= calculatedPercentage;\n break;\n }\n\n // Apply initial line position to the cue box.\n switch (cue.vertical) {\n case \"\":\n styleBox.applyStyles({\n top: styleBox.formatStyle(linePos, \"%\")\n });\n break;\n case \"rl\":\n styleBox.applyStyles({\n left: styleBox.formatStyle(linePos, \"%\")\n });\n break;\n case \"lr\":\n styleBox.applyStyles({\n right: styleBox.formatStyle(linePos, \"%\")\n });\n break;\n }\n\n axis = [ \"+y\", \"-x\", \"+x\", \"-y\" ];\n\n // Get the box position again after we've applied the specified positioning\n // to it.\n boxPosition = new BoxPosition(styleBox);\n }\n\n var bestPosition = findBestPosition(boxPosition, axis);\n styleBox.move(bestPosition.toCSSCompatValues(containerBox));\n }\n\n function WebVTT() {\n // Nothing\n }\n\n // Helper to allow strings to be decoded instead of the default binary utf8 data.\n WebVTT.StringDecoder = function() {\n return {\n decode: function(data) {\n if (!data) {\n return \"\";\n }\n if (typeof data !== \"string\") {\n throw new Error(\"Error - expected string data.\");\n }\n return decodeURIComponent(encodeURIComponent(data));\n }\n };\n };\n\n WebVTT.convertCueToDOMTree = function(window, cuetext) {\n if (!window || !cuetext) {\n return null;\n }\n return parseContent(window, cuetext);\n };\n\n var FONT_SIZE_PERCENT = 0.05;\n var FONT_STYLE = \"sans-serif\";\n var CUE_BACKGROUND_PADDING = \"1.5%\";\n\n // Runs the processing model over the cues and regions passed to it.\n // @param overlay A block level element (usually a div) that the computed cues\n // and regions will be placed into.\n WebVTT.processCues = function(window, cues, overlay) {\n if (!window || !cues || !overlay) {\n return null;\n }\n\n // Remove all previous children.\n while (overlay.firstChild) {\n overlay.removeChild(overlay.firstChild);\n }\n\n var paddedOverlay = window.document.createElement(\"div\");\n paddedOverlay.style.position = \"absolute\";\n paddedOverlay.style.left = \"0\";\n paddedOverlay.style.right = \"0\";\n paddedOverlay.style.top = \"0\";\n paddedOverlay.style.bottom = \"0\";\n paddedOverlay.style.margin = CUE_BACKGROUND_PADDING;\n overlay.appendChild(paddedOverlay);\n\n // Determine if we need to compute the display states of the cues. This could\n // be the case if a cue's state has been changed since the last computation or\n // if it has not been computed yet.\n function shouldCompute(cues) {\n for (var i = 0; i < cues.length; i++) {\n if (cues[i].hasBeenReset || !cues[i].displayState) {\n return true;\n }\n }\n return false;\n }\n\n // We don't need to recompute the cues' display states. Just reuse them.\n if (!shouldCompute(cues)) {\n for (var i = 0; i < cues.length; i++) {\n paddedOverlay.appendChild(cues[i].displayState);\n }\n return;\n }\n\n var boxPositions = [],\n containerBox = BoxPosition.getSimpleBoxPosition(paddedOverlay),\n fontSize = Math.round(containerBox.height * FONT_SIZE_PERCENT * 100) / 100;\n var styleOptions = {\n font: (fontSize * fontScale) + \"px \" + FONT_STYLE\n };\n\n (function() {\n var styleBox, cue;\n\n for (var i = 0; i < cues.length; i++) {\n cue = cues[i];\n\n // Compute the intial position and styles of the cue div.\n styleBox = new CueStyleBox(window, cue, styleOptions);\n paddedOverlay.appendChild(styleBox.div);\n\n // Move the cue div to it's correct line position.\n moveBoxToLinePosition(window, styleBox, containerBox, boxPositions);\n\n // Remember the computed div so that we don't have to recompute it later\n // if we don't have too.\n cue.displayState = styleBox.div;\n\n boxPositions.push(BoxPosition.getSimpleBoxPosition(styleBox));\n }\n })();\n };\n\n WebVTT.Parser = function(window, decoder, VTTCue) {\n this.window = window;\n this.state = \"INITIAL\";\n this.buffer = \"\";\n this.decoder = decoder || new TextDecoder(\"utf8\");\n this.regionList = [];\n this.VTTCue = VTTCue\n };\n\n WebVTT.Parser.prototype = {\n // If the error is a ParsingError then report it to the consumer if\n // possible. If it's not a ParsingError then throw it like normal.\n reportOrThrowError: function(e) {\n if (e instanceof ParsingError) {\n this.onparsingerror && this.onparsingerror(e);\n } else {\n throw e;\n }\n },\n parse: function (data) {\n var self = this;\n\n // If there is no data then we won't decode it, but will just try to parse\n // whatever is in buffer already. This may occur in circumstances, for\n // example when flush() is called.\n if (data) {\n // Try to decode the data that we received.\n self.buffer += self.decoder.decode(data, {stream: true});\n }\n\n function collectNextLine() {\n var buffer = self.buffer;\n var pos = 0;\n while (pos < buffer.length && buffer[pos] !== '\\r' && buffer[pos] !== '\\n') {\n ++pos;\n }\n var line = buffer.substr(0, pos);\n // Advance the buffer early in case we fail below.\n if (buffer[pos] === '\\r') {\n ++pos;\n }\n if (buffer[pos] === '\\n') {\n ++pos;\n }\n self.buffer = buffer.substr(pos);\n return line;\n }\n\n // 3.4 WebVTT region and WebVTT region settings syntax\n function parseRegion(input) {\n var settings = new Settings();\n\n parseOptions(input, function (k, v) {\n switch (k) {\n case \"id\":\n settings.set(k, v);\n break;\n case \"width\":\n settings.percent(k, v);\n break;\n case \"lines\":\n settings.integer(k, v);\n break;\n case \"regionanchor\":\n case \"viewportanchor\":\n var xy = v.split(',');\n if (xy.length !== 2) {\n break;\n }\n // We have to make sure both x and y parse, so use a temporary\n // settings object here.\n var anchor = new Settings();\n anchor.percent(\"x\", xy[0]);\n anchor.percent(\"y\", xy[1]);\n if (!anchor.has(\"x\") || !anchor.has(\"y\")) {\n break;\n }\n settings.set(k + \"X\", anchor.get(\"x\"));\n settings.set(k + \"Y\", anchor.get(\"y\"));\n break;\n case \"scroll\":\n settings.alt(k, v, [\"up\"]);\n break;\n }\n }, /=/, /\\s/);\n\n // Create the region, using default values for any values that were not\n // specified.\n if (settings.has(\"id\")) {\n var region = new self.window.VTTRegion();\n region.width = settings.get(\"width\", 100);\n region.lines = settings.get(\"lines\", 3);\n region.regionAnchorX = settings.get(\"regionanchorX\", 0);\n region.regionAnchorY = settings.get(\"regionanchorY\", 100);\n region.viewportAnchorX = settings.get(\"viewportanchorX\", 0);\n region.viewportAnchorY = settings.get(\"viewportanchorY\", 100);\n region.scroll = settings.get(\"scroll\", \"\");\n // Register the region.\n self.onregion && self.onregion(region);\n // Remember the VTTRegion for later in case we parse any VTTCues that\n // reference it.\n self.regionList.push({\n id: settings.get(\"id\"),\n region: region\n });\n }\n }\n\n // draft-pantos-http-live-streaming-20\n // https://tools.ietf.org/html/draft-pantos-http-live-streaming-20#section-3.5\n // 3.5 WebVTT\n function parseTimestampMap(input) {\n var settings = new Settings();\n\n parseOptions(input, function(k, v) {\n switch (k) {\n case \"MPEGT\":\n settings.integer(k + 'S', v);\n break;\n case \"LOCA\":\n settings.set(k + 'L', parseTimeStamp(v));\n break;\n }\n }, /[^\\d]:/, /,/);\n\n self.ontimestampmap && self.ontimestampmap({\n \"MPEGTS\": settings.get(\"MPEGTS\"),\n \"LOCAL\": settings.get(\"LOCAL\")\n });\n }\n\n // 3.2 WebVTT metadata header syntax\n function parseHeader(input) {\n if (input.match(/X-TIMESTAMP-MAP/)) {\n // This line contains HLS X-TIMESTAMP-MAP metadata\n parseOptions(input, function(k, v) {\n switch (k) {\n case \"X-TIMESTAMP-MAP\":\n parseTimestampMap(v);\n break;\n }\n }, /=/);\n } else {\n parseOptions(input, function (k, v) {\n switch (k) {\n case \"Region\":\n // 3.3 WebVTT region metadata header syntax\n parseRegion(v);\n break;\n }\n }, /:/);\n }\n }\n\n // 5.1 WebVTT file parsing.\n\n function fail(e) {\n\n self.reportOrThrowError(e);\n\n // If we are currently parsing a cue, report what we have.\n if (self.state === \"CUETEXT\" && self.cue && self.oncue) {\n self.oncue(self.cue);\n }\n self.cue = null;\n // Enter BADWEBVTT state if header was not parsed correctly otherwise\n // another exception occurred so enter BADCUE state.\n self.state = self.state === \"INITIAL\" ? \"BADWEBVTT\" : \"BADCUE\";\n\n }\n\n var line;\n\n if (self.state === \"INITIAL\") {\n // We can't start parsing until we have the first line.\n if (!/\\r\\n|\\n/.test(self.buffer)) {\n return this;\n }\n\n line = collectNextLine();\n\n var m = line.match(/^WEBVTT([ \\t].*)?$/);\n if (!m || !m[0]) {\n fail(new ParsingError(ParsingError.Errors.BadSignature))\n return\n }\n\n self.state = \"HEADER\";\n }\n\n var alreadyCollectedLine = false;\n\n var lineparse = function() {\n // We can't parse a line until we have the full line.\n if (!self.buffer || !/\\r\\n|\\n/.test(self.buffer)) {\n self.flush()\n return\n }\n\n if (!alreadyCollectedLine) {\n line = collectNextLine();\n } else {\n alreadyCollectedLine = false;\n }\n\n switch (self.state) {\n case \"HEADER\":\n // 13-18 - Allow a header (metadata) under the WEBVTT line.\n if (/:/.test(line)) {\n parseHeader(line);\n } else if (!line) {\n // An empty line terminates the header and starts the body (cues).\n self.state = \"ID\";\n }\n linebyline();\n break;\n case \"NOTE\":\n // Ignore NOTE blocks.\n if (!line) {\n self.state = \"ID\";\n }\n linebyline();\n break;\n case \"ID\":\n // Check for the start of NOTE blocks.\n if (/^NOTE($|[ \\t])/.test(line)) {\n self.state = \"NOTE\";\n linebyline();\n break;\n }\n // 19-29 - Allow any number of line terminators, then initialize new cue values.\n if (!line) {\n linebyline();\n break;\n }\n self.cue = new (self.VTTCue || self.window.VTTCue)(0, 0, \"\");\n self.state = \"CUE\";\n // 30-39 - Check if self line contains an optional identifier or timing data.\n if (line.indexOf(\"-->\") === -1) {\n self.cue.id = line;\n linebyline();\n break;\n }\n // Process line as start of a cue.\n /*falls through*/\n case \"CUE\":\n // 40 - Collect cue timings and settings.\n\n parseCue(line, self.cue, self.regionList, function successCb() {\n\n self.state = \"CUETEXT\";\n\n linebyline();\n\n }, function errCb(err) {\n\n self.reportOrThrowError(err);\n\n // In case of an error ignore rest of the cue.\n self.cue = null;\n self.state = \"BADCUE\";\n\n linebyline();\n\n });\n\n break;\n case \"CUETEXT\":\n var hasSubstring = line.indexOf(\"-->\") !== -1;\n // 34 - If we have an empty line then report the cue.\n // 35 - If we have the special substring '-->' then report the cue,\n // but do not collect the line as we need to process the current\n // one as a new cue.\n if (!line || hasSubstring && (alreadyCollectedLine = true)) {\n // We are done parsing self cue.\n self.oncue && self.oncue(self.cue);\n self.cue = null;\n self.state = \"ID\";\n linebyline();\n break;\n }\n if (self.cue.text) {\n self.cue.text += \"\\n\";\n }\n self.cue.text += line;\n linebyline();\n break;\n case \"BADCUE\":\n // BADCUE\n // 54-62 - Collect and discard the remaining cue.\n if (!line) {\n self.state = \"ID\";\n }\n linebyline();\n break;\n }\n };\n\n var STACK_LIMIT = 1000;\n\n var count = 0\n\n function unwrapStack(fn) {\n return function() {\n count++\n if (count < STACK_LIMIT) return fn()\n setTimeout(function() {\n count = 0\n fn()\n })\n }\n }\n\n var linebyline = unwrapStack(lineparse)\n\n linebyline();\n\n return this;\n },\n flush: function () {\n var self = this;\n try {\n // Finish decoding the stream.\n self.buffer += self.decoder.decode();\n // Synthesize the end of the current cue or region.\n if (self.cue || self.state === \"HEADER\") {\n self.buffer += \"\\n\\n\";\n self.parse();\n }\n // If we've flushed, parsed, and we're still on the INITIAL state then\n // that means we don't have enough of the stream to parse the first\n // line.\n if (self.state === \"INITIAL\") {\n throw new ParsingError(ParsingError.Errors.BadSignature);\n }\n } catch(e) {\n self.reportOrThrowError(e);\n }\n self.onflush && self.onflush();\n return this;\n }\n };\n\n global.WebVTT = WebVTT;\n\n}(this));\n","/**\n * Copyright 2013 vtt.js Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n// If we're in Node.js then require VTTCue so we can extend it, otherwise assume\n// VTTCue is on the global.\nif (typeof module !== \"undefined\" && module.exports) {\n this.VTTCue = this.VTTCue || require(\"./vttcue\").VTTCue;\n}\n\n// Extend VTTCue with methods to convert to JSON, from JSON, and construct a\n// VTTCue from an options object. The primary purpose of this is for use in the\n// vtt.js test suite (for testing only properties that we care about). It's also\n// useful if you need to work with VTTCues in JSON format.\n(function(root) {\n\n root.VTTCue.prototype.toJSON = function() {\n var cue = {},\n self = this;\n // Filter out getCueAsHTML as it's a function and hasBeenReset and displayState as\n // they're only used when running the processing model algorithm.\n Object.keys(this).forEach(function(key) {\n if (key !== \"getCueAsHTML\" && key !== \"hasBeenReset\" && key !== \"displayState\") {\n cue[key] = self[key];\n }\n });\n return cue;\n };\n\n root.VTTCue.create = function(options) {\n if (!options.hasOwnProperty(\"startTime\") || !options.hasOwnProperty(\"endTime\") ||\n !options.hasOwnProperty(\"text\")) {\n throw new Error(\"You must at least have start time, end time, and text.\");\n }\n var cue = new root.VTTCue(options.startTime, options.endTime, options.text);\n for (var key in options) {\n if (cue.hasOwnProperty(key)) {\n cue[key] = options[key];\n }\n }\n return cue;\n };\n\n root.VTTCue.fromJSON = function(json) {\n return this.create(JSON.parse(json));\n };\n\n}(this));\n","/**\n * Copyright 2013 vtt.js Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root) {\n\n var autoKeyword = \"auto\";\n var directionSetting = {\n \"\": true,\n \"lr\": true,\n \"rl\": true\n };\n var alignSetting = {\n \"start\": true,\n \"middle\": true,\n \"end\": true,\n \"left\": true,\n \"right\": true\n };\n\n function findDirectionSetting(value) {\n if (typeof value !== \"string\") {\n return false;\n }\n var dir = directionSetting[value.toLowerCase()];\n return dir ? value.toLowerCase() : false;\n }\n\n function findAlignSetting(value) {\n if (typeof value !== \"string\") {\n return false;\n }\n var align = alignSetting[value.toLowerCase()];\n return align ? value.toLowerCase() : false;\n }\n\n function extend(obj) {\n var i = 1;\n for (; i < arguments.length; i++) {\n var cobj = arguments[i];\n for (var p in cobj) {\n obj[p] = cobj[p];\n }\n }\n\n return obj;\n }\n\n function VTTCue(startTime, endTime, text) {\n var cue = this;\n var isIE8 = (/MSIE\\s8\\.0/).test(navigator.userAgent);\n var baseObj = {};\n\n if (isIE8) {\n cue = document.createElement('custom');\n } else {\n baseObj.enumerable = true;\n }\n\n /**\n * Shim implementation specific properties. These properties are not in\n * the spec.\n */\n\n // Lets us know when the VTTCue's data has changed in such a way that we need\n // to recompute its display state. This lets us compute its display state\n // lazily.\n cue.hasBeenReset = false;\n\n /**\n * VTTCue and TextTrackCue properties\n * http://dev.w3.org/html5/webvtt/#vttcue-interface\n */\n\n var _id = \"\";\n var _pauseOnExit = false;\n var _startTime = startTime;\n var _endTime = endTime;\n var _text = text;\n var _region = null;\n var _vertical = \"\";\n var _snapToLines = true;\n var _line = \"auto\";\n var _lineAlign = \"start\";\n var _position = 50;\n var _positionAlign = \"middle\";\n var _size = 50;\n var _align = \"middle\";\n\n Object.defineProperty(cue,\n \"id\", extend({}, baseObj, {\n get: function() {\n return _id;\n },\n set: function(value) {\n _id = \"\" + value;\n }\n }));\n\n Object.defineProperty(cue,\n \"pauseOnExit\", extend({}, baseObj, {\n get: function() {\n return _pauseOnExit;\n },\n set: function(value) {\n _pauseOnExit = !!value;\n }\n }));\n\n Object.defineProperty(cue,\n \"startTime\", extend({}, baseObj, {\n get: function() {\n return _startTime;\n },\n set: function(value) {\n if (typeof value !== \"number\") {\n throw new TypeError(\"Start time must be set to a number.\");\n }\n _startTime = value;\n this.hasBeenReset = true;\n }\n }));\n\n Object.defineProperty(cue,\n \"endTime\", extend({}, baseObj, {\n get: function() {\n return _endTime;\n },\n set: function(value) {\n if (typeof value !== \"number\") {\n throw new TypeError(\"End time must be set to a number.\");\n }\n _endTime = value;\n this.hasBeenReset = true;\n }\n }));\n\n Object.defineProperty(cue,\n \"text\", extend({}, baseObj, {\n get: function() {\n return _text;\n },\n set: function(value) {\n _text = \"\" + value;\n this.hasBeenReset = true;\n }\n }));\n\n Object.defineProperty(cue,\n \"region\", extend({}, baseObj, {\n get: function() {\n return _region;\n },\n set: function(value) {\n _region = value;\n this.hasBeenReset = true;\n }\n }));\n\n Object.defineProperty(cue,\n \"vertical\", extend({}, baseObj, {\n get: function() {\n return _vertical;\n },\n set: function(value) {\n var setting = findDirectionSetting(value);\n // Have to check for false because the setting an be an empty string.\n if (setting === false) {\n throw new SyntaxError(\"An invalid or illegal string was specified.\");\n }\n _vertical = setting;\n this.hasBeenReset = true;\n }\n }));\n\n Object.defineProperty(cue,\n \"snapToLines\", extend({}, baseObj, {\n get: function() {\n return _snapToLines;\n },\n set: function(value) {\n _snapToLines = !!value;\n this.hasBeenReset = true;\n }\n }));\n\n Object.defineProperty(cue,\n \"line\", extend({}, baseObj, {\n get: function() {\n return _line;\n },\n set: function(value) {\n if (typeof value !== \"number\" && value !== autoKeyword) {\n throw new SyntaxError(\"An invalid number or illegal string was specified.\");\n }\n _line = value;\n this.hasBeenReset = true;\n }\n }));\n\n Object.defineProperty(cue,\n \"lineAlign\", extend({}, baseObj, {\n get: function() {\n return _lineAlign;\n },\n set: function(value) {\n var setting = findAlignSetting(value);\n if (!setting) {\n throw new SyntaxError(\"An invalid or illegal string was specified.\");\n }\n _lineAlign = setting;\n this.hasBeenReset = true;\n }\n }));\n\n Object.defineProperty(cue,\n \"position\", extend({}, baseObj, {\n get: function() {\n return _position;\n },\n set: function(value) {\n if (value < 0 || value > 100) {\n throw new Error(\"Position must be between 0 and 100.\");\n }\n _position = value;\n this.hasBeenReset = true;\n }\n }));\n\n Object.defineProperty(cue,\n \"positionAlign\", extend({}, baseObj, {\n get: function() {\n return _positionAlign;\n },\n set: function(value) {\n var setting = findAlignSetting(value);\n if (!setting) {\n throw new SyntaxError(\"An invalid or illegal string was specified.\");\n }\n _positionAlign = setting;\n this.hasBeenReset = true;\n }\n }));\n\n Object.defineProperty(cue,\n \"size\", extend({}, baseObj, {\n get: function() {\n return _size;\n },\n set: function(value) {\n if (value < 0 || value > 100) {\n throw new Error(\"Size must be between 0 and 100.\");\n }\n _size = value;\n this.hasBeenReset = true;\n }\n }));\n\n Object.defineProperty(cue,\n \"align\", extend({}, baseObj, {\n get: function() {\n return _align;\n },\n set: function(value) {\n var setting = findAlignSetting(value);\n if (!setting) {\n throw new SyntaxError(\"An invalid or illegal string was specified.\");\n }\n _align = setting;\n this.hasBeenReset = true;\n }\n }));\n\n /**\n * Other <track> spec defined properties\n */\n\n // http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#text-track-cue-display-state\n cue.displayState = undefined;\n\n if (isIE8) {\n return cue;\n }\n }\n\n /**\n * VTTCue methods\n */\n\n VTTCue.prototype.getCueAsHTML = function() {\n // Assume WebVTT.convertCueToDOMTree is on the global.\n return WebVTT.convertCueToDOMTree(window, this.text);\n };\n\n root.VTTCue = root.VTTCue || VTTCue;\n}(this));\n","/**\n * Copyright 2013 vtt.js Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n// If we're in Node.js then require VTTRegion so we can extend it, otherwise assume\n// VTTRegion is on the global.\nif (typeof module !== \"undefined\" && module.exports) {\n this.VTTRegion = require(\"./vttregion\").VTTRegion;\n}\n\n// Extend VTTRegion with methods to convert to JSON, from JSON, and construct a\n// VTTRegion from an options object. The primary purpose of this is for use in the\n// vtt.js test suite. It's also useful if you need to work with VTTRegions in\n// JSON format.\n(function(root) {\n\n root.VTTRegion.create = function(options) {\n var region = new root.VTTRegion();\n for (var key in options) {\n if (region.hasOwnProperty(key)) {\n region[key] = options[key];\n }\n }\n return region;\n };\n\n root.VTTRegion.fromJSON = function(json) {\n return this.create(JSON.parse(json));\n };\n\n}(this));\n","/**\n * Copyright 2013 vtt.js Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root) {\n\n var scrollSetting = {\n \"\": true,\n \"up\": true\n };\n\n function findScrollSetting(value) {\n if (typeof value !== \"string\") {\n return false;\n }\n var scroll = scrollSetting[value.toLowerCase()];\n return scroll ? value.toLowerCase() : false;\n }\n\n function isValidPercentValue(value) {\n return typeof value === \"number\" && (value >= 0 && value <= 100);\n }\n\n // VTTRegion shim http://dev.w3.org/html5/webvtt/#vttregion-interface\n function VTTRegion() {\n var _width = 100;\n var _lines = 3;\n var _regionAnchorX = 0;\n var _regionAnchorY = 100;\n var _viewportAnchorX = 0;\n var _viewportAnchorY = 100;\n var _scroll = \"\";\n\n Object.defineProperties(this, {\n \"width\": {\n enumerable: true,\n get: function() {\n return _width;\n },\n set: function(value) {\n if (!isValidPercentValue(value)) {\n throw new Error(\"Width must be between 0 and 100.\");\n }\n _width = value;\n }\n },\n \"lines\": {\n enumerable: true,\n get: function() {\n return _lines;\n },\n set: function(value) {\n if (typeof value !== \"number\") {\n throw new TypeError(\"Lines must be set to a number.\");\n }\n _lines = value;\n }\n },\n \"regionAnchorY\": {\n enumerable: true,\n get: function() {\n return _regionAnchorY;\n },\n set: function(value) {\n if (!isValidPercentValue(value)) {\n throw new Error(\"RegionAnchorX must be between 0 and 100.\");\n }\n _regionAnchorY = value;\n }\n },\n \"regionAnchorX\": {\n enumerable: true,\n get: function() {\n return _regionAnchorX;\n },\n set: function(value) {\n if(!isValidPercentValue(value)) {\n throw new Error(\"RegionAnchorY must be between 0 and 100.\");\n }\n _regionAnchorX = value;\n }\n },\n \"viewportAnchorY\": {\n enumerable: true,\n get: function() {\n return _viewportAnchorY;\n },\n set: function(value) {\n if (!isValidPercentValue(value)) {\n throw new Error(\"ViewportAnchorY must be between 0 and 100.\");\n }\n _viewportAnchorY = value;\n }\n },\n \"viewportAnchorX\": {\n enumerable: true,\n get: function() {\n return _viewportAnchorX;\n },\n set: function(value) {\n if (!isValidPercentValue(value)) {\n throw new Error(\"ViewportAnchorX must be between 0 and 100.\");\n }\n _viewportAnchorX = value;\n }\n },\n \"scroll\": {\n enumerable: true,\n get: function() {\n return _scroll;\n },\n set: function(value) {\n var setting = findScrollSetting(value);\n // Have to check for false as an empty string is a legal value.\n if (setting === false) {\n throw new SyntaxError(\"An invalid or illegal string was specified.\");\n }\n _scroll = setting;\n }\n }\n });\n }\n\n root.VTTRegion = root.VTTRegion || VTTRegion;\n}(this));\n","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nfunction _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}\nmodule.exports = _asyncToGenerator, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n module.exports = _regeneratorRuntime = function _regeneratorRuntime() {\n return e;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var t,\n e = {},\n r = Object.prototype,\n n = r.hasOwnProperty,\n o = Object.defineProperty || function (t, e, r) {\n t[e] = r.value;\n },\n i = \"function\" == typeof Symbol ? Symbol : {},\n a = i.iterator || \"@@iterator\",\n c = i.asyncIterator || \"@@asyncIterator\",\n u = i.toStringTag || \"@@toStringTag\";\n function define(t, e, r) {\n return Object.defineProperty(t, e, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), t[e];\n }\n try {\n define({}, \"\");\n } catch (t) {\n define = function define(t, e, r) {\n return t[e] = r;\n };\n }\n function wrap(t, e, r, n) {\n var i = e && e.prototype instanceof Generator ? e : Generator,\n a = Object.create(i.prototype),\n c = new Context(n || []);\n return o(a, \"_invoke\", {\n value: makeInvokeMethod(t, r, c)\n }), a;\n }\n function tryCatch(t, e, r) {\n try {\n return {\n type: \"normal\",\n arg: t.call(e, r)\n };\n } catch (t) {\n return {\n type: \"throw\",\n arg: t\n };\n }\n }\n e.wrap = wrap;\n var h = \"suspendedStart\",\n l = \"suspendedYield\",\n f = \"executing\",\n s = \"completed\",\n y = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var p = {};\n define(p, a, function () {\n return this;\n });\n var d = Object.getPrototypeOf,\n v = d && d(d(values([])));\n v && v !== r && n.call(v, a) && (p = v);\n var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);\n function defineIteratorMethods(t) {\n [\"next\", \"throw\", \"return\"].forEach(function (e) {\n define(t, e, function (t) {\n return this._invoke(e, t);\n });\n });\n }\n function AsyncIterator(t, e) {\n function invoke(r, o, i, a) {\n var c = tryCatch(t[r], t, o);\n if (\"throw\" !== c.type) {\n var u = c.arg,\n h = u.value;\n return h && \"object\" == _typeof(h) && n.call(h, \"__await\") ? e.resolve(h.__await).then(function (t) {\n invoke(\"next\", t, i, a);\n }, function (t) {\n invoke(\"throw\", t, i, a);\n }) : e.resolve(h).then(function (t) {\n u.value = t, i(u);\n }, function (t) {\n return invoke(\"throw\", t, i, a);\n });\n }\n a(c.arg);\n }\n var r;\n o(this, \"_invoke\", {\n value: function value(t, n) {\n function callInvokeWithMethodAndArg() {\n return new e(function (e, r) {\n invoke(t, n, e, r);\n });\n }\n return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(e, r, n) {\n var o = h;\n return function (i, a) {\n if (o === f) throw Error(\"Generator is already running\");\n if (o === s) {\n if (\"throw\" === i) throw a;\n return {\n value: t,\n done: !0\n };\n }\n for (n.method = i, n.arg = a;;) {\n var c = n.delegate;\n if (c) {\n var u = maybeInvokeDelegate(c, n);\n if (u) {\n if (u === y) continue;\n return u;\n }\n }\n if (\"next\" === n.method) n.sent = n._sent = n.arg;else if (\"throw\" === n.method) {\n if (o === h) throw o = s, n.arg;\n n.dispatchException(n.arg);\n } else \"return\" === n.method && n.abrupt(\"return\", n.arg);\n o = f;\n var p = tryCatch(e, r, n);\n if (\"normal\" === p.type) {\n if (o = n.done ? s : l, p.arg === y) continue;\n return {\n value: p.arg,\n done: n.done\n };\n }\n \"throw\" === p.type && (o = s, n.method = \"throw\", n.arg = p.arg);\n }\n };\n }\n function maybeInvokeDelegate(e, r) {\n var n = r.method,\n o = e.iterator[n];\n if (o === t) return r.delegate = null, \"throw\" === n && e.iterator[\"return\"] && (r.method = \"return\", r.arg = t, maybeInvokeDelegate(e, r), \"throw\" === r.method) || \"return\" !== n && (r.method = \"throw\", r.arg = new TypeError(\"The iterator does not provide a '\" + n + \"' method\")), y;\n var i = tryCatch(o, e.iterator, r.arg);\n if (\"throw\" === i.type) return r.method = \"throw\", r.arg = i.arg, r.delegate = null, y;\n var a = i.arg;\n return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, \"return\" !== r.method && (r.method = \"next\", r.arg = t), r.delegate = null, y) : a : (r.method = \"throw\", r.arg = new TypeError(\"iterator result is not an object\"), r.delegate = null, y);\n }\n function pushTryEntry(t) {\n var e = {\n tryLoc: t[0]\n };\n 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);\n }\n function resetTryEntry(t) {\n var e = t.completion || {};\n e.type = \"normal\", delete e.arg, t.completion = e;\n }\n function Context(t) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], t.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(e) {\n if (e || \"\" === e) {\n var r = e[a];\n if (r) return r.call(e);\n if (\"function\" == typeof e.next) return e;\n if (!isNaN(e.length)) {\n var o = -1,\n i = function next() {\n for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;\n return next.value = t, next.done = !0, next;\n };\n return i.next = i;\n }\n }\n throw new TypeError(_typeof(e) + \" is not iterable\");\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), o(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, \"GeneratorFunction\"), e.isGeneratorFunction = function (t) {\n var e = \"function\" == typeof t && t.constructor;\n return !!e && (e === GeneratorFunction || \"GeneratorFunction\" === (e.displayName || e.name));\n }, e.mark = function (t) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, \"GeneratorFunction\")), t.prototype = Object.create(g), t;\n }, e.awrap = function (t) {\n return {\n __await: t\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {\n return this;\n }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {\n void 0 === i && (i = Promise);\n var a = new AsyncIterator(wrap(t, r, n, o), i);\n return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {\n return t.done ? t.value : a.next();\n });\n }, defineIteratorMethods(g), define(g, u, \"Generator\"), define(g, a, function () {\n return this;\n }), define(g, \"toString\", function () {\n return \"[object Generator]\";\n }), e.keys = function (t) {\n var e = Object(t),\n r = [];\n for (var n in e) r.push(n);\n return r.reverse(), function next() {\n for (; r.length;) {\n var t = r.pop();\n if (t in e) return next.value = t, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, e.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(e) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) \"t\" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);\n },\n stop: function stop() {\n this.done = !0;\n var t = this.tryEntries[0].completion;\n if (\"throw\" === t.type) throw t.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(e) {\n if (this.done) throw e;\n var r = this;\n function handle(n, o) {\n return a.type = \"throw\", a.arg = e, r.next = n, o && (r.method = \"next\", r.arg = t), !!o;\n }\n for (var o = this.tryEntries.length - 1; o >= 0; --o) {\n var i = this.tryEntries[o],\n a = i.completion;\n if (\"root\" === i.tryLoc) return handle(\"end\");\n if (i.tryLoc <= this.prev) {\n var c = n.call(i, \"catchLoc\"),\n u = n.call(i, \"finallyLoc\");\n if (c && u) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n } else if (c) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n } else {\n if (!u) throw Error(\"try statement without catch or finally\");\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(t, e) {\n for (var r = this.tryEntries.length - 1; r >= 0; --r) {\n var o = this.tryEntries[r];\n if (o.tryLoc <= this.prev && n.call(o, \"finallyLoc\") && this.prev < o.finallyLoc) {\n var i = o;\n break;\n }\n }\n i && (\"break\" === t || \"continue\" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);\n var a = i ? i.completion : {};\n return a.type = t, a.arg = e, i ? (this.method = \"next\", this.next = i.finallyLoc, y) : this.complete(a);\n },\n complete: function complete(t, e) {\n if (\"throw\" === t.type) throw t.arg;\n return \"break\" === t.type || \"continue\" === t.type ? this.next = t.arg : \"return\" === t.type ? (this.rval = this.arg = t.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === t.type && e && (this.next = e), y;\n },\n finish: function finish(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;\n }\n },\n \"catch\": function _catch(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.tryLoc === t) {\n var n = r.completion;\n if (\"throw\" === n.type) {\n var o = n.arg;\n resetTryEntry(r);\n }\n return o;\n }\n }\n throw Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(e, r, n) {\n return this.delegate = {\n iterator: values(e),\n resultName: r,\n nextLoc: n\n }, \"next\" === this.method && (this.arg = t), y;\n }\n }, e;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// TODO(Babel 8): Remove this file.\n\nvar runtime = require(\"../helpers/regeneratorRuntime\")();\nmodule.exports = runtime;\n\n// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n return arr2;\n}\nmodule.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\nmodule.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}\nmodule.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nmodule.exports = _classCallCheck, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\nmodule.exports = _createClass, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _getPrototypeOf(o);\n}\nmodule.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}\nmodule.exports = _inherits, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nmodule.exports = _iterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nmodule.exports = _nonIterableRest, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar assertThisInitialized = require(\"./assertThisInitialized.js\");\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}\nmodule.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _setPrototypeOf(o, p);\n}\nmodule.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithHoles = require(\"./arrayWithHoles.js\");\nvar iterableToArray = require(\"./iterableToArray.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableRest = require(\"./nonIterableRest.js\");\nfunction _toArray(arr) {\n return arrayWithHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableRest();\n}\nmodule.exports = _toArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}\nmodule.exports = _toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar toPrimitive = require(\"./toPrimitive.js\");\nfunction _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}\nmodule.exports = _toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(obj);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\nmodule.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// src/Icon.tsx\nimport React from \"react\";\n\n// src/icons.json\nvar icons_default = { symbol: { viewBox: \"0 0 512 512\", paths: [{ d: \"M267.1 52.7a16.057 16.057 0 0 0-22.6 0L52.7 244.5a16.055 16.055 0 0 0 0 22.6l191.8 191.8a16.054 16.054 0 0 0 22.6 0l191.8-191.8a16.056 16.056 0 0 0 0-22.6z m60.3 212.5a10.933 10.933 0 0 0 0-18l-84.5-59.1a11 11 0 0 0-11.383-0.753 10.99 10.99 0 0 0-5.917 9.753v118.2a10.99 10.99 0 0 0 11.714 10.969 11 11 0 0 0 5.586-1.969z\", style: { fill: \"currentcolor\", fillRule: \"evenodd\", clipRule: \"evenodd\" } }] }, \"imdb-outline\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M450.6700000000001 122.26200000000006H60.932000000000016a39 39 0 0 0-27.747 11.425 39.03 39.03 0 0 0-11.425 27.747v189.529a39.27 39.27 0 0 0 11.501 27.67 39.3 39.3 0 0 0 27.671 11.5h389.738a39.3 39.3 0 0 0 27.67-11.5 39.25 39.25 0 0 0 11.5-27.67V161.43400000000008a39.25 39.25 0 0 0-11.5-27.671 39.26 39.26 0 0 0-27.67-11.501m18.99 228.701c0 2.49-0.49 4.96-1.44 7.27-0.95 2.3-2.35 4.4-4.12 6.16a18.7 18.7 0 0 1-6.16 4.12c-2.3 0.95-4.78 1.44-7.27 1.44H60.932000000000016a19.25 19.25 0 0 1-13.351-5.64 19.28 19.28 0 0 1-5.641-13.35V161.43400000000008a19.254 19.254 0 0 1 18.992-18.992h389.738a18.98 18.98 0 0 1 13.43 5.562 19.15 19.15 0 0 1 4.12 6.162 19.1 19.1 0 0 1 1.44 7.268z\", style: { fill: \"currentcolor\" } }, { d: \"M83.48500000000001 189.92500000000007h24.532v124.24h-24.532z\", style: { fill: \"currentcolor\" } }, { d: \"M181.216 273.80600000000004l-23.74-83.881H126.61000000000001v124.24h21.37V227.51300000000003l22.949 72.8h20.575l22.949-74.386v88.235h21.366V189.92500000000007h-30.862z\", style: { fill: \"currentcolor\" } }, { d: \"M297.544 189.923h-41.15v124.24h41.15a49.74 49.74 0 0 0 36.006-11.87 41.08 41.08 0 0 0 13.06-32.841v-35.214a42.97 42.97 0 0 0-13.057-32.841 51.22 51.22 0 0 0-36.009-11.474m24.927 80.321a19.8 19.8 0 0 1-6.33 15.828A27.6 27.6 0 0 1 297.94000000000005 291.61300000000006h-18.2v-79.138h18.2a27.6 27.6 0 0 1 18.2 5.54 19.8 19.8 0 0 1 6.33 15.827z\", style: { fill: \"currentcolor\" } }, { d: \"M406.75 223.9520000000001a22.5 22.5 0 0 0-13.06 4.352 23.94 23.94 0 0 0-7.52 9.1v-47.876h-23.74v124.637h23.74v-11.87a20.77 20.77 0 0 0 8.18 9.859 20.78 20.78 0 0 0 12.4 3.198 25.88 25.88 0 0 0 21.76-9.892 43.46 43.46 0 0 0 7.92-28.489v-14.244a42.85 42.85 0 0 0-7.92-28.488 26.235 26.235 0 0 0-21.76-10.287m6.33 53.019c0.29 4.38-0.97 8.722-3.56 12.266a11.4 11.4 0 0 1-4.57 3.528 11.4 11.4 0 0 1-5.72 0.825c-2.37 0.4-4.75-0.4-7.12-1.583a7.9 7.9 0 0 1-2.62-1.73 7.7 7.7 0 0 1-1.73-2.622 17.1 17.1 0 0 1-1.59-7.518v-20.179a17.1 17.1 0 0 1 1.59-7.518 8.6 8.6 0 0 1 4.35-4.748c2.19-1.2 4.63-1.878 7.12-1.979 1.97-0.054 3.92 0.347 5.7 1.17a12.7 12.7 0 0 1 4.59 3.579 19.84 19.84 0 0 1 3.56 12.661z\", style: { fill: \"currentcolor\" } }] }, imdb: { viewBox: \"0 0 512 512\", paths: [{ d: \"M294.5 217.5c-1.3-0.7-3.8-1-7.4-1v77.9c4.8 0 7.8-0.9 8.9-2.7s1.7-6.6 1.7-14.5v-46c0-5.4-0.2-8.8-0.6-10.3a5.37 5.37 0 0 0-2.6-3.4\", style: { fill: \"currentcolor\" } }, { d: \"M384 255.60000000000002v28.1c0 5.3-0.3 8.7-0.8 10-0.5 1.4-3.2 2.1-5 2.1s-4.3-0.8-4.9-2.1v-47.6c0.5-1.2 3.2-2 4.9-2s4.2 0.9 4.8 2.3c0.7 1.5 1 4.6 1 9.2\", style: { fill: \"currentcolor\" } }, { d: \"M45 176.4a26.375 26.375 0 0 1 26.4-26.4h369.2a26.38 26.38 0 0 1 18.68 7.722 26.5 26.5 0 0 1 5.72 8.57c1.32 3.205 2 6.64 2 10.108v158.2c0 3.468-0.68 6.903-2 10.108a26.5 26.5 0 0 1-5.72 8.569 26.5 26.5 0 0 1-8.57 5.722A26.4 26.4 0 0 1 440.5999999999999 361H71.39999999999998a26.375 26.375 0 0 1-26.4-26.4z m52.8 138.4h33V196.2h-33z m95.9-63.2l7.4-55.4h41.7v118.7h-27.9l-0.1-80.1-11.2 80.1h-19.9L172 236.5l-0.1 78.4h-28V196.2h41.4c1.2 7.2 2.5 15.6 3.8 25.3z m62.3 63.2V196.2h51.5a21.064 21.064 0 0 1 21.1 20.9v76.8a20.934 20.934 0 0 1-21.1 20.9z m136.8-88.9h-2.1a22.05 22.05 0 0 0-17.4 8.4v-38.1h-31.6v117.2h29.6l1.9-7.3a21.7 21.7 0 0 0 7.7 6.486 21.7 21.7 0 0 0 9.8 2.314h2.1c11.8 0 21.4-9.3 21.4-20.7v-47.6c0-11.5-9.5-20.7-21.4-20.7\", style: { fill: \"currentcolor\", fillRule: \"evenodd\", clipRule: \"evenodd\" } }] }, reddit: { viewBox: \"0 0 512 512\", paths: [{ d: \"M309.6500000000001 125.026c4.57 19.375 21.98 33.808 42.76 33.808 24.26 0 43.93-19.663 43.93-43.917S376.6700000000001 71 352.40999999999985 71c-21.22 0-38.91 15.03-43.03 35.022-35.52 3.809-63.27 33.931-63.27 70.436v0.226c-38.63 1.627-73.91 12.622-101.92 29.978a61.28 61.28 0 0 0-37.63-12.847c-34 0-61.56 27.548-61.56 61.541 0 24.666 14.5 45.914 35.44 55.735 2.04 71.444 79.91 128.909 175.7 128.909s173.77-57.526 175.7-129.033c20.78-9.882 35.16-31.069 35.16-55.591 0-33.992-27.56-61.541-61.56-61.541-14.11 0-27.1 4.756-37.48 12.745-28.26-17.48-63.93-28.475-102.96-29.937v-0.164c0-26.149 19.44-47.85 44.65-51.412z m-167.93 169.388c1.03-22.319 15.85-39.449 33.09-39.449s30.42 18.098 29.39 40.416c-1.03 22.319-13.9 30.431-31.16 30.431s-32.35-9.08-31.32-31.398m195.78-39.449c17.25 0 32.08 17.13 33.09 39.449 1.03 22.318-14.08 31.398-31.32 31.398s-30.13-8.091-31.16-30.431c-1.03-22.318 12.13-40.416 29.39-40.416m-20.52 91.086c3.24 0.33 5.3 3.686 4.04 6.692-10.61 25.345-35.65 43.155-64.88 43.155-29.22 0-54.24-17.81-64.87-43.155-1.26-3.006 0.8-6.362 4.04-6.692 18.94-1.914 39.44-2.964 60.83-2.964 21.4 0 41.87 1.05 60.84 2.964\", style: { fill: \"currentcolor\" } }] }, x: { viewBox: \"0 0 512 512\", paths: [{ d: \"M284.53999999999996 231.994L396.2199999999998 102h-26.46l-96.98 112.872L195.32999999999993 102H106l117.12 170.682L106 409h26.47l102.4-119.196L316.6700000000001 409H406l-121.47-177.006z m-36.25 42.192l-11.87-16.996L142 121.95h40.65l76.2 109.143 11.87 16.996 99.05 141.868h-40.65l-80.83-115.765z\", style: { fill: \"currentcolor\" } }] }, facebook: { viewBox: \"0 0 512 512\", paths: [{ d: \"M338.0999999999999 196.9h-54.7v-37.1c0-14.1 8.8-17.7 15.9-17.7h38.8v-60h-54.7a69.4 69.4 0 0 0-50.36 16.812 69.43 69.43 0 0 0-23.74 47.488c-0.2 3.264-0.2 6.537 0 9.8v40.6H174v63.5h35.3v178.3h74.1V260.4h49.4z\", style: { fill: \"currentcolor\" } }] }, youtube: { viewBox: \"0 0 512 512\", paths: [{ d: \"M476.0999999999999 161.6c0-39.2-28.8-70.7-64.5-70.7-48.3-2.3-97.5-3.1-147.8-3.1h-15.7c-50.2 0-99.5 0.9-147.7 3.1-35.5 0-64.4 31.7-64.4 70.9-2.2 31-3.1 62-3.1 93-0.1 31 0.9 62.1 3 93.1 0 39.2 28.8 71 64.4 71 50.7 2.4 102.7 3.4 155.6 3.3 53 0.2 104.87-0.9 155.6-3.3 35.6 0 64.5-31.8 64.5-71 2.1-31.1 3.1-62.1 3-93.2 0.1-31-0.8-62-2.9-93.1m-262.8 178.7V169.1l126.3 85.5z\", style: { fill: \"currentcolor\" } }] }, vlc: { viewBox: \"0 0 512 512\", paths: [{ d: \"M385.5 325.1999999999998c-7.9-25.1-8-25-34-23.6h-0.8c-4.8 0-7.2 1.6-5.9 7.1 1.8 7.6-1.7 13.3-7.2 18.2-7.8 6.8-17.2 10.8-27 13.8-29.3 8.9-59.2 9.4-89.1 4.8-16.6-2.6-33-6.6-46.5-17.8-4.9-4-8.6-8.7-8.7-15.2-0.2-10.9-0.1-10.9-11.6-10.8-2.8 0-5.5 0.3-8.3 0.1-9.1-0.7-14.1 3.4-16.7 12.2-9.7 32.2-20 64.1-29.9 96.2a80.5 80.5 0 0 0-3.4 16.1c-0.6 6.7 2.3 11.1 9.9 11.2 7.4 0.2 14.8 1.2 22.2 1.2 42.7 0.1 85.4 0.13 128.1 0.1 45.2 0 90.3 0.1 135.5-0.1 23.9-0.1 27.2-4.7 20.2-27.5-8.8-28.7-17.7-57.3-26.8-86\", style: { fill: \"currentcolor\" } }, { d: \"M200.39999999999964 196.19999999999982c-4.8 16.4-9.7 32.73-14.7 49-3.7 12.2-2.2 16.6 9.3 22.5a92 92 0 0 0 15.3 6c14.53 4.41 29.75 6.1 44.9 5 6 0 12.1 0.5 18.1-0.1 16.8-1.6 33.4-4 47.9-13.6 4.2-2.8 8.3-6.4 6.7-12.1-5.7-19.6-11.7-39-17.5-58.5-0.8-2.6-1.6-4.4-5.2-2.7-23 11.1-47.5 10.2-72 7.8-8.5-0.8-17.2-1.9-24.5-6.7-5.2-3.4-6.8-1.8-8.3 3.4\", style: { fill: \"currentcolor\" } }, { d: \"M283.2999999999993 127.80000000000018c5.2-1.3 6.3-4.4 4.7-9.3-2.8-8.6-5-17.4-7.9-26.1-5.1-15.5-7.5-17.2-23.6-17.2-17.4 0-20.8 2.5-25.8 19.1-2.4 8.2-4.7 16.4-7.3 24.5-1.5 4.6-0.2 7.6 4.4 8.8 18.19 4.71 37.27 4.78 55.5 0.2\", style: { fill: \"currentcolor\" } }] }, trakt: { viewBox: \"0 0 512 512\", paths: [{ d: \"M114.80000000000018 386.4a192.6 192.6 0 0 0 103.68 58.236A192.63 192.63 0 0 0 336.60000000000036 430.9l-133.3-133z\", style: { fill: \"currentcolor\" } }, { d: \"M202.5999999999999 217.4l-101 100.7-13.5-13.5 106.3-106.3 124.1-124.1a192.4 192.4 0 0 0-120.28-1.237 192.4 192.4 0 0 0-97.5 70.437 192.33 192.33 0 0 0-36.61 114.576A192.34 192.34 0 0 0 102.69999999999982 371.9l100.7-100.7 6.9 6.6L354.5 422a57.5 57.5 0 0 0 8.2-5.3l-159.4-159.4-96.7 96.7-13.5-13.5 110.2-110.2 6.9 6.6 168.3 168c2.6-2 4.9-4.3 7.3-6.3l-181.5-181.5z\", style: { fill: \"currentcolor\" } }, { d: \"M399.3000000000002 385.1a192.1 192.1 0 0 0 42.69-78.033 192.1 192.1 0 0 0 2.99-88.899 192.24 192.24 0 0 0-37.37-80.719A192.2 192.2 0 0 0 337.89999999999964 82.2L216.80000000000018 203z m-136-147.2l-13.5-13.5 95.4-95.4 13.5 13.5z m90.5-131l-109.9 109.9-13.5-13.5 109.9-109.9z\", style: { fill: \"currentcolor\" } }] }, \"in-cinema\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M457.40000000000055 196.3l-38-38a17.2 17.2 0 0 0-11.38-4.913A17.18 17.18 0 0 0 396.3000000000002 157.4a26.42 26.42 0 0 1-18.19 6.353 26.42 26.42 0 0 1-17.67-7.694 26.4 26.4 0 0 1-7.74-17.648 26.4 26.4 0 0 1 6.3-18.211 17.17 17.17 0 0 0 4.01-11.724 17.23 17.23 0 0 0-4.91-11.376l-37.8-38a17.08 17.08 0 0 0-12.1-5.024 17.09 17.09 0 0 0-12.1 5.024l-60.5 60.5a34.1 34.1 0 0 0-8.2 13.2 6.7 6.7 0 0 1-1.61 2.588 6.9 6.9 0 0 1-2.59 1.612c-5 1.679-9.52 4.525-13.2 8.3l-155.2 155.2a17.09 17.09 0 0 0-5.03 12.1c0 2.249 0.45 4.475 1.31 6.551a17.1 17.1 0 0 0 3.72 5.549l37.6 38a17.2 17.2 0 0 0 11.38 4.913c4.27 0.167 8.45-1.264 11.72-4.013a26.48 26.48 0 0 1 18.7-7.85c3.47-0.014 6.92 0.658 10.14 1.978a26.4 26.4 0 0 1 8.61 5.718 26.4 26.4 0 0 1 5.77 8.582 26.3 26.3 0 0 1 2.03 10.135 26.46 26.46 0 0 1-7.75 18.737 17.17 17.17 0 0 0-4.01 11.724c0.17 4.27 1.92 8.326 4.91 11.376l37.9 37.9a17.089 17.089 0 0 0 18.65 3.718 17.1 17.1 0 0 0 5.55-3.718l155.2-155.2a34.4 34.4 0 0 0 8.3-13.2c0.33-0.975 0.88-1.861 1.61-2.587a6.85 6.85 0 0 1 2.59-1.613 34.2 34.2 0 0 0 13.2-8.2l60.5-60.5a17.4 17.4 0 0 0 4.95-12.15 17.4 17.4 0 0 0-4.95-12.15m-196.6-25.5a13.762 13.762 0 0 1-19.5 0l-9.9-9.9a13.78 13.78 0 0 1-4.47-9.527 13.75 13.75 0 0 1 3.54-9.912 13.78 13.78 0 0 1 9.5-4.536 13.8 13.8 0 0 1 9.93 3.475c0.36 0.308 0.69 0.642 1 1l9.9 9.9c1.28 1.28 2.3 2.799 3 4.47 1.4 3.381 1.4 7.179 0 10.559a13.9 13.9 0 0 1-3 4.471m37.9 37.8a13.762 13.762 0 0 1-19.5 0l-9.4-9.4a13.8 13.8 0 0 1-3.55-9.602 13.81 13.81 0 0 1 13.45-13.446 13.82 13.82 0 0 1 9.6 3.548l9.4 9.4a13.936 13.936 0 0 1 0 19.5m38.1 37.9a13.762 13.762 0 0 1-19.5 0l-9.4-9.4a13.78 13.78 0 0 1-4.47-9.527 13.75 13.75 0 0 1 3.54-9.912 13.78 13.78 0 0 1 9.5-4.536 13.8 13.8 0 0 1 9.93 3.475c0.36 0.308 0.69 0.642 1 1l9.4 9.5a13.85 13.85 0 0 1 3.97 9.7c0 3.629-1.43 7.113-3.97 9.7m38.2 38.3a13.762 13.762 0 0 1-19.5 0l-9.9-9.9a13.7 13.7 0 0 1-3.1-4.397 13.8 13.8 0 0 1-1.19-5.249c-0.04-1.811 0.27-3.613 0.92-5.304a13.75 13.75 0 0 1 7.27-7.653 13.8 13.8 0 0 1 5.25-1.185c1.81-0.047 3.61 0.264 5.3 0.914s3.24 1.627 4.55 2.874l0.5 0.5 9.9 9.9c1.28 1.28 2.3 2.799 3 4.47 1.4 3.381 1.4 7.179 0 10.559a13.9 13.9 0 0 1-3 4.471\", style: { fill: \"currentcolor\" } }] }, remote: { viewBox: \"0 0 512 512\", paths: [{ d: \"M292.89999999999964 119.1a28.4 28.4 0 0 0-9.43-6.584 28.5 28.5 0 0 0-11.27-2.316 29.22 29.22 0 0 0-21.7 8.9l-20.7 20.7-177.5 177.4a29.2 29.2 0 0 0-7.85 8.26 29.16 29.16 0 0 0-3.79 22.031 29.2 29.2 0 0 0 4.64 10.409 25.8 25.8 0 0 0 3 3.6q45.9 47.25 91.8 91.6a27.47 27.47 0 0 0 38.8 0.6l1.5-1.5c5.9-4.9 10.8-10.8 16.8-15.8L379.5 254c15.8-15.8 16.8-31.5 2-45.4-28.5-30.4-58.1-60-88.6-89.5m-179.3 243.3c-2.6 0.239-5.22-0.037-7.72-0.812a19.8 19.8 0 0 1-6.81-3.707A19.84 19.84 0 0 1 92 344.4c-0.08-0.865-0.11-1.733-0.1-2.6-0.17-2.682 0.19-5.371 1.07-7.912a20.2 20.2 0 0 1 4.03-6.892 20.333 20.333 0 0 1 14.1-6.796h1.5c2.54-0.307 5.11-0.111 7.57 0.578a19.403 19.403 0 0 1 14.03 16.422c0.13 1.228 0.17 2.466 0.1 3.7a19.5 19.5 0 0 1-0.57 7.567 19.42 19.42 0 0 1-9.21 11.696 19.4 19.4 0 0 1-7.22 2.337c-1.3 0-2.5 0-3.7-0.1m47.3 48.3c-3.93 0.175-7.82-0.821-11.18-2.862a19.87 19.87 0 0 1-7.7-8.599 20.1 20.1 0 0 1-1.82-7.539c-0.02-0.868 0.01-1.737 0.1-2.6a19.22 19.22 0 0 1 17.5-20.7c1.06-0.1 2.14-0.1 3.2 0 2.69-0.035 5.35 0.461 7.85 1.458 2.49 0.997 4.76 2.475 6.69 4.351a20.5 20.5 0 0 1 4.51 6.582 20.4 20.4 0 0 1 1.65 7.809v1.5a19.62 19.62 0 0 1-4.97 14.174 19.65 19.65 0 0 1-13.53 6.526c-0.76-0.08-1.53-0.113-2.3-0.1m0-95.6c-3.93 0.175-7.82-0.821-11.18-2.862a19.87 19.87 0 0 1-7.7-8.599 20.1 20.1 0 0 1-1.82-7.539c-0.02-0.868 0.01-1.737 0.1-2.6a22.113 22.113 0 0 1 21.5-22.7h0.1a21.13 21.13 0 0 1 14.51 7.17 21.17 21.17 0 0 1 5.19 15.33v0.2c0.17 2.679-0.18 5.367-1.05 7.909a20.2 20.2 0 0 1-4 6.904 20.4 20.4 0 0 1-6.34 4.843 20.4 20.4 0 0 1-7.71 2.044 8.2 8.2 0 0 1-1.6-0.1m47.3 47.3a19.66 19.66 0 0 1-14.17-4.976 19.66 19.66 0 0 1-6.53-13.524v-2.1a21.08 21.08 0 0 1 21.4-20.7h0.3a21.744 21.744 0 0 1 21.7 20.7c-0.08 2.806-0.71 5.57-1.85 8.133a21.4 21.4 0 0 1-4.84 6.795 21.31 21.31 0 0 1-15.31 5.772c-0.23-0.076-0.46-0.11-0.7-0.1m56-63a61.63 61.63 0 0 1-34.13-10.653 61.593 61.593 0 0 1-25.69-63.416 61.58 61.58 0 0 1 48.73-48.029 61.604 61.604 0 0 1 63.04 26.619 61.57 61.57 0 0 1 10.15 34.279 60.9 60.9 0 0 1-4.6 23.353 61 61 0 0 1-13.19 19.814 61 61 0 0 1-43.11 17.933h-1.2z m168.5-199a120.83 120.83 0 0 0-78.7-52.2c-15.8-1-22.7 3.9-23.6 12.8 0 10.8 6.9 14.8 15.8 15.8a66.8 66.8 0 0 1 27.6 9.8 101.1 101.1 0 0 1 33.46 29.192A101.3 101.3 0 0 1 425 156.5a15.64 15.64 0 0 0 4.39 11.055 15.6 15.6 0 0 0 10.91 4.745h0.4c8.9 0 13.8-6.9 13.8-17.7a97.08 97.08 0 0 0-21.8-54.2m-93.5-4c-8 0-14.8 3-15.8 11.8-0.91 3.42-0.43 7.061 1.33 10.131a13.45 13.45 0 0 0 8.07 6.269c0.81 0.238 1.65 0.373 2.5 0.4a50.3 50.3 0 0 1 28.21 14.189 50.28 50.28 0 0 1 14.19 28.211 14.6 14.6 0 0 0 16.1 12.9c0.2 0 0.5-0.1 0.7-0.1a12.87 12.87 0 0 0 11.8-13.8 76.81 76.81 0 0 0-67.1-70m-73.9 108.4c-4.2-0.202-8.41 0.427-12.37 1.852a32.2 32.2 0 0 0-10.71 6.449 32 32 0 0 0-7.42 10.061 31.9 31.9 0 0 0-3 12.138v3a31.3 31.3 0 0 0 7.6 22.691 31.34 31.34 0 0 0 21.4 10.709c1.2 0.1 2.3 0.1 3.5 0.1 4.2 0.214 8.41-0.403 12.37-1.815a32.1 32.1 0 0 0 10.74-6.417 32 32 0 0 0 7.45-10.039 32.1 32.1 0 0 0 3.04-12.129c0.1-1.031 0.1-2.069 0-3.1a31.92 31.92 0 0 0-8.14-22.96 31.92 31.92 0 0 0-21.96-10.54z\", style: { fill: \"currentcolor\" } }] }, link: { viewBox: \"0 0 512 512\", paths: [{ d: \"M472.8299999999999 100.5c-15.83-39.171-54.21-64.1-96.55-63.307a95.7 95.7 0 0 0-66.08 22.157c-13.05 10.683-24.53 22.949-36.79 34.424-13.06 12.661-25.72 25.323-38.78 37.984a20.2 20.2 0 0 0-5.79 10.347 20.14 20.14 0 0 0 1.04 11.811 17.905 17.905 0 0 0 16.22 12.266c7.52 0.4 14.64-3.165 19.79-9.1l62.91-61.725c25.32-25.718 66.47-26.114 92.59-1.582a63.05 63.05 0 0 1 18.59 44.432 63.06 63.06 0 0 1-18.2 44.594 8.4 8.4 0 0 1-1.98 1.583c-29.27 29.279-58.55 57.768-87.83 86.652-4.8 4.386-9.97 8.357-15.44 11.87a65.49 65.49 0 0 1-82.69-17.409 21.45 21.45 0 0 0-26.51-9.1c-13.45 5.54-15.83 19.784-5.15 33.632 36.41 45.9 103.28 53.416 149.17 17.014 2.38-1.978 4.75-4.352 7.13-6.726 30.46-29.28 60.93-58.956 91-89.027a102 102 0 0 0 28.59-52.039 102 102 0 0 0-5.24-59.144m-225.14 253.624a4725 4725 0 0 0-63.71 62.512 66.32 66.32 0 0 1-45.89 19.83 66.33 66.33 0 0 1-46.69-17.85 62.6 62.6 0 0 1-13.91-20.28 62.5 62.5 0 0 1-5.04-24.068 62.68 62.68 0 0 1 18.16-44.676l2.37-2.374c28.88-28.488 58.16-56.977 87.05-85.466a69.7 69.7 0 0 1 16.22-12.265 66.4 66.4 0 0 1 44.11-6.352 66.37 66.37 0 0 1 38.19 22.97 19.5 19.5 0 0 0 5.43 5.45 19.355 19.355 0 0 0 21.87-0.306 19.9 19.9 0 0 0 5.46-5.552 19.9 19.9 0 0 0 2.89-7.226c0.48-2.576 0.44-5.221-0.11-7.783a19.7 19.7 0 0 0-3.1-7.139c-0.39-0.792-1.18-1.583-1.58-2.374a106.514 106.514 0 0 0-149.56-14.64 41.6 41.6 0 0 0-4.35 3.561c-32.05 30.467-63.31 61.329-94.57 92.587a100.2 100.2 0 0 0-27.41 51.981 100.25 100.25 0 0 0 6.44 58.412 101.78 101.78 0 0 0 38.43 46.09 101.8 101.8 0 0 0 57.72 16.43 97.13 97.13 0 0 0 68.45-24.14c24.93-22.95 48.67-47.48 72.8-71.22a18.754 18.754 0 0 0 4.36-22.159 20.4 20.4 0 0 0-11.52-10.239 20.4 20.4 0 0 0-15.39 0.739 17.74 17.74 0 0 0-7.52 5.54z\", style: { fill: \"currentcolor\" } }] }, \"magnet-link\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M410.3000000000002 285.3a134.1 134.1 0 0 0 38.34-94.526 134.1 134.1 0 0 0-39.27-94.141 134.08 134.08 0 0 0-94.14-39.268A134.09 134.09 0 0 0 220.69999999999982 95.7\", style: { stroke: \"currentcolor\", strokeMiterlimit: \"10\", strokeWidth: \"31.764\", fill: \"none\" } }, { d: \"M347.09999999999945 222.1a44.7 44.7 0 0 0 13.09-31.6 44.693 44.693 0 0 0-44.69-44.689 44.7 44.7 0 0 0-31.6 13.089\", style: { stroke: \"currentcolor\", strokeMiterlimit: \"10\", strokeWidth: \"31.764\", fill: \"none\" } }, { d: \"M189.19999999999982 443.8v-46\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"31.764\", fill: \"none\" } }, { d: \"M101.59999999999945 404.499l31.6-31.6\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"31.764\", fill: \"none\" } }, { d: \"M66.69999999999982 305.899h46\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"31.764\", fill: \"none\" } }, { d: \"M284 158.9L178.69999999999982 264.2a29.82 29.82 0 0 1-21.05 8.7c-7.89 0-15.46-3.129-21.05-8.7l-21.2-21a29.82 29.82 0 0 1-8.7-21.05c0-7.892 3.13-15.461 8.7-21.05l105.4-105.3\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"31.764\", fill: \"none\" } }, { d: \"M410.3000000000002 285.3l-105.3 105.4a29.82 29.82 0 0 1-21.05 8.7c-7.89 0-15.46-3.129-21.05-8.7l-21-21.1a29.82 29.82 0 0 1 0-42.1l105.3-105.4\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"31.764\", fill: \"none\" } }, { d: \"M147.59999999999945 170l63.2 63.2\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"31.764\", fill: \"none\" } }, { d: \"M274 296.399l63.2 63.2\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"31.764\", fill: \"none\" } }] }, help: { viewBox: \"0 0 512 512\", paths: [{ d: \"M155.70000000000073 438.8c98.6 56.9 224.6 23.1 281.5-75.4 56.9-98.6 23.1-224.6-75.4-281.5-98.6-56.9-224.6-23.1-281.5 75.4-56.9 98.6-23.2 224.6 75.4 281.5\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"34.354\", fill: \"none\" } }, { d: \"M224.40000000000055 319.9a68.683 68.683 0 0 0 102.58-67.313 68.68 68.68 0 0 0-22.94-43.79 68.69 68.69 0 0 0-92.24 1.501 68.68 68.68 0 0 0-21.5 44.513 68.7 68.7 0 0 0 13.96 47.423 68.7 68.7 0 0 0 20.14 17.666\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"34.354\", fill: \"none\" } }, { d: \"M320.40000000000055 63.6l-47.1 125.801\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"34.354\", fill: \"none\" } }, { d: \"M313 212.301l85.4-103.7\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"34.354\", fill: \"none\" } }, { d: \"M119.20000000000073 412.1l85.4-103.7\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"34.354\", fill: \"none\" } }, { d: \"M244.30000000000018 331.301l-47.1 125.8\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"34.354\", fill: \"none\" } }, { d: \"M455.5 322l-125.8-47.1\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"34.354\", fill: \"none\" } }, { d: \"M306.8000000000002 314.5l103.8 85.3\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"34.354\", fill: \"none\" } }, { d: \"M107 120.801l103.7 85.4\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"34.354\", fill: \"none\" } }, { d: \"M187.80000000000018 245.801l-125.8-47.2\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"34.354\", fill: \"none\" } }] }, \"search-outline\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M221.1 64a156.968 156.968 0 0 0-156.146 141.65 156.972 156.972 0 0 0 125.651 169.29c38.22 7.59 77.896 0.7 111.313-19.35a156.96 156.96 0 0 0 69.488-89.08 157 157 0 0 0-8.336-112.68 157 157 0 0 0-81.841-77.89 157 157 0 0 0-60.129-11.94Z\", style: { stroke: \"currentcolor\", strokeMiterlimit: \"10\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M338.3 338.29999999999995L448 448\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"32\", fill: \"none\" } }] }, search: { viewBox: \"0 0 512 512\", paths: [{ d: \"M456.7 437.4000000000001l-94.1-94.1a173.25 173.25 0 0 0 34.8-104.6c0-96.3-78.4-174.7-174.7-174.7S48 142.4000000000001 48 238.79999999999973c0 96.3 78.4 174.7 174.7 174.7 37.71 0 74.406-12.21 104.6-34.8l94.1 94.1a24.96 24.96 0 0 0 12.646 6.09c4.711 0.78 9.546 0.19 13.933-1.69a25.05 25.05 0 0 0 10.823-8.94 25 25 0 0 0 4.298-13.36 25.94 25.94 0 0 0-6.4-17.5M97.9 238.79999999999973a124.67 124.67 0 0 1 32.268-83.74 124.674 124.674 0 0 1 166.653-16.49 124.7 124.7 0 0 1 48.049 75.8c6.054 30.36 0.6 61.88-15.299 88.43a124.73 124.73 0 0 1-70.722 55.26c-29.615 9-61.519 6.66-89.507-6.56A124.69 124.69 0 0 1 97.9 238.79999999999973\", style: { fill: \"currentcolor\" } }] }, \"home-outline\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M86.89999999999998 228.79999999999995v208.6c0.012 1.99 0.419 3.96 1.196 5.79 0.776 1.84 1.909 3.5 3.331 4.9a15.1 15.1 0 0 0 4.955 3.23c1.849 0.74 3.827 1.11 5.818 1.08H194v-127.5a22.75 22.75 0 0 1 6.804-15.98 22.74 22.74 0 0 1 16.096-6.52h76.5c2.982-0.03 5.939 0.53 8.704 1.65a22.9 22.9 0 0 1 7.409 4.85 22.7 22.7 0 0 1 4.985 7.33 22.7 22.7 0 0 1 1.802 8.67v127.5h91.8c1.99 0.02 3.97-0.34 5.82-1.09 1.84-0.74 3.53-1.84 4.95-3.23s2.55-3.06 3.33-4.89 1.19-3.8 1.2-5.79v-208.6\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M476.29999999999995 270.4000000000001l-210.4-206.9a16.295 16.295 0 0 0-21.5 0l-210.2 206.9\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }] }, home: { viewBox: \"0 0 512 512\", paths: [{ d: \"M260.4 99a7.98 7.98 0 0 0-5.55-2.25c-2.072 0-4.063 0.81-5.55 2.25l-184.8 176.5a7.944 7.944 0 0 0-2.5 5.8v165.7a32.14 32.14 0 0 0 9.41 22.69 32.13 32.13 0 0 0 22.69 9.41h96.5a16.1 16.1 0 0 0 11.384-4.72 16.07 16.07 0 0 0 4.716-11.38v-136.5a8.024 8.024 0 0 1 8-8H295a8.024 8.024 0 0 1 8 8v136.5c-0.002 2.12 0.412 4.21 1.22 6.16a16 16 0 0 0 3.49 5.23 16.091 16.091 0 0 0 11.39 4.71h96.4c8.51-0.01 16.67-3.39 22.69-9.41s9.4-14.18 9.41-22.69v-165.7c0-1.09-0.22-2.16-0.65-3.16s-1.06-1.9-1.85-2.64z\", style: { fill: \"currentcolor\" } }, { d: \"M490.70000000000005 242.4000000000001l-75.1-71.8a943 943 0 0 0-80.3-76.9l-58.1-55.6a31.7 31.7 0 0 0-22.2-8.7 30.5 30.5 0 0 0-22.2 8.7l-213.5 204.3a16.43 16.43 0 0 0-1.3 22.5 16 16 0 0 0 4.938 3.83c1.882 0.95 3.931 1.51 6.03 1.65a15.9 15.9 0 0 0 6.203-0.78c1.996-0.67 3.84-1.72 5.429-3.1l0.6-0.6 208.3-199a7.98 7.98 0 0 1 5.55-2.25c2.072 0 4.063 0.81 5.55 2.25l208.3 199c3.08 2.93 7.18 4.53 11.43 4.45 4.25-0.07 8.3-1.82 11.27-4.85a16.582 16.582 0 0 0-0.9-23.1\", style: { fill: \"currentcolor\" } }] }, \"discover-outline\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M448 256c0-106-86-192-192-192s-192 86-192 192 86 192 192 192 192-86 192-192Z\", style: { stroke: \"currentcolor\", strokeMiterlimit: \"10\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M350.70000000000005 150.9000000000001l-117.2 46.9a63 63 0 0 0-21.5 14.2 66 66 0 0 0-14.2 21.5l-46.9 117.2a7.95 7.95 0 0 0-0.4 4.6 8.74 8.74 0 0 0 2.2 4.1 7.8 7.8 0 0 0 4.1 2.2c1.54 0.32 3.14 0.18 4.6-0.4l117.2-46.9c8.07-3.2 15.39-8.04 21.5-14.2a66.1 66.1 0 0 0 14.2-21.5l46.9-117.2c0.59-1.46 0.73-3.06 0.4-4.6a8.74 8.74 0 0 0-2.2-4.1 8.1 8.1 0 0 0-8.7-1.8m-94.7 129.1c-4.73 0.01-9.36-1.38-13.3-4a23.3 23.3 0 0 1-8.8-10.8c-1.81-4.4-2.29-9.23-1.4-13.9 0.91-4.67 3.21-8.96 6.6-12.3 2.23-2.23 4.87-4 7.78-5.22 2.91-1.21 6.03-1.83 9.18-1.84 3.16 0 6.28 0.62 9.19 1.82 2.92 1.2 5.57 2.96 7.8 5.19s4 4.87 5.22 7.78c1.21 2.91 1.83 6.03 1.84 9.18 0 3.16-0.62 6.28-1.82 9.19-1.2 2.92-2.96 5.57-5.19 7.8a24.32 24.32 0 0 1-17.1 7.1\", style: { fill: \"currentcolor\" } }] }, discover: { viewBox: \"0 0 512 512\", paths: [{ d: \"M256 280c5.57 0.02 10.97-1.9 15.28-5.42 4.32-3.53 7.28-8.44 8.37-13.9 1.1-5.46 0.27-11.13-2.34-16.04a24.03 24.03 0 0 0-12-10.91 24.065 24.065 0 0 0-29.24 8.83 24.04 24.04 0 0 0-3.95 15.73 24.03 24.03 0 0 0 6.93 14.66c4.5 4.5 10.59 7.03 16.95 7.05\", style: { fill: \"currentcolor\" } }, { d: \"M256 48c-114.7 0-208 93.3-208 208s93.3 208 208 208 208-93.3 208-208-93.3-208-208-208m105.1 113.4l-46.9 117.2a63 63 0 0 1-14.2 21.5 66 66 0 0 1-21.5 14.2l-117.2 46.9c-1.46 0.59-3.06 0.73-4.6 0.4a8.74 8.74 0 0 1-4.1-2.2 7.8 7.8 0 0 1-2.2-4.1c-0.32-1.54-0.18-3.14 0.4-4.6l46.9-117.2c3.2-8.07 8.04-15.39 14.2-21.5a66 66 0 0 1 21.5-14.2l117.2-46.9c1.46-0.58 3.06-0.72 4.6-0.4 1.54 0.35 2.96 1.11 4.1 2.2a7.8 7.8 0 0 1 2.2 4.1c0.32 1.54 0.18 3.14-0.4 4.6\", style: { fill: \"currentcolor\" } }] }, \"library-outline\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M419.0999999999999 176h-326.3a28.9 28.9 0 0 0-20.43 8.47 28.9 28.9 0 0 0-8.47 20.43V403.20000000000005a28.9 28.9 0 0 0 8.47 20.43 28.9 28.9 0 0 0 20.43 8.47h326.3a28.9 28.9 0 0 0 20.43-8.47A28.9 28.9 0 0 0 448 403.20000000000005v-198.3c0.01-3.8-0.74-7.56-2.19-11.07a29 29 0 0 0-6.26-9.38 29 29 0 0 0-9.38-6.26c-3.51-1.45-7.27-2.2-11.07-2.19Z\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M144 80h224\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M112 128h288\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"32\", fill: \"none\" } }] }, library: { viewBox: \"0 0 512 512\", paths: [{ d: \"M368 96h-224c-4.24 0-8.31-1.69-11.31-4.69s-4.69-7.07-4.69-11.31 1.69-8.31 4.69-11.31 7.07-4.69 11.31-4.69h224c4.24 0 8.31 1.69 11.31 4.69s4.69 7.07 4.69 11.31-1.69 8.31-4.69 11.31-7.07 4.69-11.31 4.69\", style: { fill: \"currentcolor\" } }, { d: \"M400 144h-288c-4.24 0-8.31-1.69-11.31-4.69s-4.69-7.07-4.69-11.31 1.69-8.31 4.69-11.31 7.07-4.69 11.31-4.69h288c4.24 0 8.31 1.69 11.31 4.69s4.69 7.07 4.69 11.31-1.69 8.31-4.69 11.31-7.07 4.69-11.31 4.69\", style: { fill: \"currentcolor\" } }, { d: \"M419.0999999999999 448h-326.3a45.06 45.06 0 0 1-31.7-13.2 45.04 45.04 0 0 1-13.2-31.7v-198.3a45.06 45.06 0 0 1 13.2-31.7 45.1 45.1 0 0 1 31.7-13.2h326.3a44.48 44.48 0 0 1 31.7 13.2 45.3 45.3 0 0 1 13.2 31.7V403.0999999999999a45.04 45.04 0 0 1-13.2 31.7 45.06 45.06 0 0 1-31.7 13.2\", style: { fill: \"currentcolor\" } }] }, \"addons-outline\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M413.6999999999998 246.10000000000014H386c-0.53-0.01-1.03-0.23-1.4-0.6s-0.59-0.87-0.6-1.4v-77.2a38.94 38.94 0 0 0-11.4-27.5 38.94 38.94 0 0 0-27.5-11.4h-77.2c-0.53-0.01-1.03-0.23-1.4-0.6s-0.59-0.87-0.6-1.4v-27.7c0-27.1-21.5-49.9-48.6-50.3-6.57-0.1-13.09 1.09-19.2 3.5a49.6 49.6 0 0 0-16.4 10.7 49.8 49.8 0 0 0-11 16.2 48.9 48.9 0 0 0-3.9 19.2v28.5c-0.01 0.53-0.23 1.03-0.6 1.4s-0.87 0.59-1.4 0.6h-77.2c-10.5 0-20.57 4.17-28 11.6a39.6 39.6 0 0 0-11.6 28v70.4c0.01 0.53 0.23 1.03 0.6 1.4s0.87 0.59 1.4 0.6h26.9c29.4 0 53.7 25.5 54.1 54.8 0.4 29.9-23.5 57.2-53.3 57.2H50c-0.53 0.01-1.03 0.23-1.4 0.6s-0.59 0.87-0.6 1.4v70.4c0 10.5 4.17 20.57 11.6 28s17.5 11.6 28 11.6h70.4c0.53-0.01 1.03-0.23 1.4-0.6s0.59-0.87 0.6-1.4V441.20000000000005c0-30.3 24.8-56.4 55-57.1 30.1-0.7 57 20.3 57 50.3v27.7c0.01 0.53 0.23 1.03 0.6 1.4s0.87 0.59 1.4 0.6h71.1a38.94 38.94 0 0 0 27.5-11.4 38.96 38.96 0 0 0 11.4-27.5v-78c0.01-0.53 0.23-1.03 0.6-1.4s0.87-0.59 1.4-0.6h28.5c27.6 0 49.5-22.7 49.5-50.4s-23.2-48.7-50.3-48.7\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }] }, addons: { viewBox: \"0 0 512 512\", paths: [{ d: \"M345.0999999999999 480H274c-2.36 0.01-4.71-0.45-6.89-1.36s-4.16-2.25-5.81-3.94a18 18 0 0 1-5.3-12.7v-27.7c0.03-4.26-0.82-8.48-2.5-12.4a32.3 32.3 0 0 0-7.2-10.4c-7.8-7.6-19.1-11.8-30.9-11.5-21.4 0.5-39.4 19.3-39.4 41.1v20.9c0.01 2.36-0.45 4.71-1.36 6.89s-2.25 4.16-3.94 5.81a18.02 18.02 0 0 1-12.7 5.3h-70.4a55.67 55.67 0 0 1-39.36-16.26 55.64 55.64 0 0 1-16.34-39.34v-70.4a18.1 18.1 0 0 1 5.3-12.7 18.1 18.1 0 0 1 12.7-5.3h27.7c9.2 0 18.1-3.9 25.1-11 3.9-3.92 7-8.58 9.1-13.7a40.7 40.7 0 0 0 3.1-16.2c-0.3-21.2-17.7-39.1-38.1-39.1H50c-2.36 0.01-4.71-0.45-6.89-1.36s-4.16-2.25-5.81-3.94a18 18 0 0 1-5.3-12.7v-70.4a55.8 55.8 0 0 1 4.2-21.3 53.9 53.9 0 0 1 12.1-18 55.7 55.7 0 0 1 39.3-16.3h55.2a8.08 8.08 0 0 0 5.7-2.3c0.74-0.75 1.33-1.64 1.72-2.62 0.4-0.98 0.6-2.02 0.58-3.08v-6.5a64.7 64.7 0 0 1 5.1-25.3 66.6 66.6 0 0 1 14.5-21.4 65.2 65.2 0 0 1 21.7-14.1c8.08-3.2 16.71-4.8 25.4-4.7 35.5 0.6 64.4 30.4 64.4 66.3v5.7a7.8 7.8 0 0 0 1.3 4.48 7.8 7.8 0 0 0 3.62 2.95c0.98 0.39 2.03 0.59 3.08 0.57h55.2c7.21-0.01 14.35 1.42 21 4.2a55 55 0 0 1 29.7 29.7 54.3 54.3 0 0 1 4.2 21v55.2a7.8 7.8 0 0 0 1.3 4.48 7.8 7.8 0 0 0 3.62 2.95c0.98 0.39 2.03 0.59 3.08 0.57h5.7c36.6 0 66.3 29 66.3 64.6 0 36.6-29.4 66.4-65.5 66.4h-6.5c-2.13-0.01-4.17 0.82-5.7 2.3-0.74 0.75-1.33 1.64-1.72 2.62-0.4 0.98-0.6 2.03-0.58 3.08v56c0.01 7.21-1.42 14.35-4.2 21a55 55 0 0 1-29.7 29.7 53.9 53.9 0 0 1-21 4.2\", style: { fill: \"currentcolor\" } }] }, \"settings-outline\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M456.6999999999998 242.29999999999995l-26.1-4.2a8.2 8.2 0 0 1-4.4-2.3 8.3 8.3 0 0 1-2.2-4.5c-0.5-3.2-1-6.4-1.7-9.5-0.31-1.66-0.1-3.37 0.6-4.9a8.57 8.57 0 0 1 3.3-3.7l23.1-12.8a7.75 7.75 0 0 0 3.8-4.2c0.68-1.83 0.72-3.84 0.1-5.7l-4-11c-0.68-1.83-2-3.35-3.7-4.3a8 8 0 0 0-5.7-0.7l-25.9 5c-1.69 0.3-3.43 0.09-5-0.6a7.22 7.22 0 0 1-3.6-3.5q-2.25-4.2-4.8-8.4a8.16 8.16 0 0 1-1.2-4.91c0.13-1.73 0.79-3.37 1.9-4.69l17.3-19.9a8.42 8.42 0 0 0 2.2-5.2c0.09-1.98-0.59-3.91-1.9-5.4l-7.5-9a7.87 7.87 0 0 0-5-2.8 7.72 7.72 0 0 0-5.5 1.3l-22.7 13.6a8.14 8.14 0 0 1-4.8 1.1 7.4 7.4 0 0 1-4.6-2c-2.4-2.1-4.9-4.2-7.4-6.2a8.3 8.3 0 0 1-2.7-4.21c-0.45-1.64-0.38-3.39 0.2-4.99l9.4-24.8c0.8-1.81 0.9-3.85 0.29-5.73a8.08 8.08 0 0 0-3.59-4.47l-10.2-5.9a7.83 7.83 0 0 0-5.6-0.9 8.14 8.14 0 0 0-4.8 3.1l-16.6 20.8a6.93 6.93 0 0 1-3.8 2.7 7.63 7.63 0 0 1-4.7-0.2s-5.6-2.3-9.8-3.7a8.17 8.17 0 0 1-3.98-2.97 8.1 8.1 0 0 1-1.52-4.73l0.4-26.4c0.1-1.98-0.5-3.93-1.7-5.5a8.7 8.7 0 0 0-4.9-3l-11.6-2c-1.94-0.29-3.92 0.1-5.6 1.1a8.17 8.17 0 0 0-3.5 4.5l-8.6 25.1c-0.58 1.6-1.62 3-3 4-1.39 1-3.09 1.49-4.8 1.4h-9.8c-1.7 0-3.37-0.49-4.8-1.4a7.88 7.88 0 0 1-3-4l-8.6-25.1a7.9 7.9 0 0 0-3.5-4.5c-1.68-1-3.66-1.39-5.6-1.1l-11.6 2a8.17 8.17 0 0 0-4.9 3 8.36 8.36 0 0 0-1.7 5.5l0.4 26.4c0.01 1.72-0.51 3.39-1.5 4.8a8.5 8.5 0 0 1-4 3c-2.3 0.9-7.3 2.8-9.7 3.7-2.8 1-6.1 0.2-8.8-2.9L167 75.20000000000005a8.14 8.14 0 0 0-4.8-3.1 7.83 7.83 0 0 0-5.6 0.9l-10.2 5.9c-1.71 0.96-3 2.53-3.6 4.4s-0.5 3.9 0.3 5.7l9.4 24.8c0.62 1.6 0.69 3.36 0.2 5a8.33 8.33 0 0 1-2.7 4.2c-2.5 2-5 4.1-7.4 6.2a8.7 8.7 0 0 1-4.6 2c-1.68 0.2-3.38-0.19-4.8-1.1l-22.4-13.8a7.7 7.7 0 0 0-5.5-1.2 8.43 8.43 0 0 0-5 2.8l-7.5 9a8.13 8.13 0 0 0-1.9 5.4c0.07 1.94 0.85 3.8 2.2 5.2l17.3 19.9a7.9 7.9 0 0 1 1.9 4.6c0.11 1.72-0.31 3.43-1.2 4.9q-2.55 4.05-4.8 8.4a7.9 7.9 0 0 1-3.6 3.4c-1.56 0.73-3.3 0.98-5 0.7l-25.9-5a7.74 7.74 0 0 0-5.6 0.7 8.37 8.37 0 0 0-3.8 4.3l-4 11c-0.72 1.84-0.68 3.89 0.1 5.7a8.12 8.12 0 0 0 3.8 4.2l23.1 12.8a7.6 7.6 0 0 1 3.4 3.7c0.71 1.53 0.89 3.26 0.5 4.9-0.6 3.2-1.2 6.3-1.7 9.5-0.21 1.7-0.99 3.29-2.2 4.5a8.2 8.2 0 0 1-4.4 2.3l-26.1 4.2c-1.92 0.24-3.7 1.17-5 2.6a8.65 8.65 0 0 0-2.1 5.3v11.7c-0.01 1.96 0.71 3.86 2.02 5.32a7.95 7.95 0 0 0 5.08 2.58l26.1 4.2a8.2 8.2 0 0 1 4.4 2.3 8.3 8.3 0 0 1 2.2 4.5c0.5 3.2 1 6.4 1.7 9.5 0.31 1.66 0.1 3.37-0.6 4.9a9 9 0 0 1-3.3 3.7l-23.1 12.8a7.75 7.75 0 0 0-3.8 4.2 8.57 8.57 0 0 0-0.1 5.7l4 11c0.68 1.83 2 3.35 3.7 4.3 1.75 0.93 3.78 1.18 5.7 0.7l25.9-5c1.69-0.3 3.43-0.09 5 0.6a7.64 7.64 0 0 1 3.6 3.5q2.25 4.2 4.8 8.4a8.16 8.16 0 0 1 1.2 4.91 8.23 8.23 0 0 1-1.9 4.69l-17.3 20a8.4 8.4 0 0 0-2.2 5.2c-0.09 1.98 0.59 3.91 1.9 5.4l7.5 9a7.87 7.87 0 0 0 5 2.8c1.93 0.28 3.9-0.19 5.5-1.3l22.7-13.6a8.3 8.3 0 0 1 4.8-1.1c1.71 0.16 3.32 0.86 4.6 2 2.4 2.1 4.9 4.2 7.4 6.2a7.87 7.87 0 0 1 2.7 4.2 8.6 8.6 0 0 1-0.2 5l-9.4 24.8c-0.8 1.8-0.9 3.83-0.3 5.7s1.89 3.44 3.6 4.4l10.2 5.9c1.69 0.99 3.69 1.31 5.6 0.9a8.14 8.14 0 0 0 4.8-3.1l16.8-20.6c2.1-2.6 5.5-3.7 8.2-2.6 3.4 1.4 5.7 2.2 9.9 3.6 1.62 0.54 3.03 1.59 4 3 0.99 1.4 1.51 3.08 1.5 4.8l-0.4 26.4c-0.1 1.98 0.5 3.93 1.7 5.5a8.17 8.17 0 0 0 4.9 3l11.6 2c1.94 0.29 3.92-0.1 5.6-1.1a8.17 8.17 0 0 0 3.5-4.5l8.6-25c0.58-1.6 1.62-3 3-4 1.39-1 3.09-1.49 4.8-1.4h9.8c1.7 0 3.37 0.49 4.8 1.4 1.41 0.97 2.46 2.38 3 4l8.6 25a7.9 7.9 0 0 0 3.5 4.5c1.68 1 3.66 1.39 5.6 1.1l11.6-2a8.23 8.23 0 0 0 4.9-3.01 8.16 8.16 0 0 0 1.7-5.49l-0.4-26.4c-0.01-1.72 0.51-3.4 1.5-4.8 1-1.38 2.4-2.42 4-3 4.2-1.4 7-2.5 9.6-3.5a6.835 6.835 0 0 1 8.3 2.1l17 20.9a8.14 8.14 0 0 0 4.8 3.1c1.91 0.41 3.91 0.09 5.6-0.9l10.2-5.9a8.2 8.2 0 0 0 3.6-4.4c0.6-1.87 0.5-3.9-0.3-5.7l-9.4-24.8c-0.62-1.6-0.69-3.36-0.2-5a9 9 0 0 1 2.7-4.2c2.5-2 5-4.1 7.4-6.2a8.7 8.7 0 0 1 4.6-2c1.68-0.2 3.38 0.19 4.8 1.1l22.6 13.7a7.64 7.64 0 0 0 5.5 1.2 8.43 8.43 0 0 0 5-2.8l7.5-9a8.13 8.13 0 0 0 1.9-5.4 7.68 7.68 0 0 0-2.2-5.2l-17.3-19.9a7.9 7.9 0 0 1-1.9-4.6c-0.11-1.72 0.31-3.43 1.2-4.9q2.55-4.05 4.8-8.4c0.83-1.5 2.08-2.71 3.6-3.5 1.56-0.73 3.3-0.98 5-0.7l25.9 5c1.89 0.48 3.89 0.23 5.6-0.7 1.75-0.92 3.1-2.45 3.8-4.3l4-11c0.72-1.84 0.68-3.89-0.1-5.7a8.12 8.12 0 0 0-3.8-4.2l-23.1-12.8a7.64 7.64 0 0 1-3.4-3.7 7.82 7.82 0 0 1-0.5-5c0.6-3.2 1.2-6.3 1.7-9.5 0.21-1.7 0.98-3.29 2.2-4.5a8.2 8.2 0 0 1 4.4-2.3l26.1-4.2c1.92-0.24 3.7-1.17 5-2.6a8.65 8.65 0 0 0 2.1-5.3v-11.7a8.4 8.4 0 0 0-2.2-5.2 8.02 8.02 0 0 0-5-2.5M256 112a143.96 143.96 0 0 1 139.4 108.1c0.58 2.36 0.62 4.82 0.1 7.2-0.52 2.36-1.55 4.57-3 6.5-1.48 1.92-3.4 3.47-5.6 4.5a15.6 15.6 0 0 1-7 1.6h-105.2a16.27 16.27 0 0 1-14-8.1l-52.1-91.7a16.75 16.75 0 0 1-2.1-7c-0.1-2.46 0.31-4.91 1.2-7.2 0.92-2.29 2.4-4.32 4.3-5.9a15.8 15.8 0 0 1 6.4-3.4c12.3-3.03 24.93-4.57 37.6-4.6m-144 144c-0.02-19.28 3.82-38.36 11.31-56.12a143.9 143.9 0 0 1 32.29-47.28c1.77-1.69 3.89-2.99 6.2-3.8a16 16 0 0 1 7.2-0.7c2.44 0.31 4.77 1.2 6.8 2.6 2.01 1.38 3.68 3.19 4.9 5.3l52.2 91.9c1.38 2.4 2.1 5.13 2.1 7.9 0.02 2.77-0.71 5.5-2.1 7.9l-52.7 91.7c-1.2 2.15-2.92 3.97-5 5.3-2.08 1.3-4.39 2.18-6.8 2.6-2.42 0.32-4.89 0.08-7.2-0.7-2.31-0.81-4.43-2.11-6.2-3.8a143.3 143.3 0 0 1-32-47.1 147 147 0 0 1-11-55.7m144 144c-12.89 0.02-25.73-1.62-38.2-4.9-2.38-0.6-4.57-1.77-6.4-3.4a15.65 15.65 0 0 1-4.2-5.9c-0.95-2.28-1.36-4.74-1.2-7.21 0.16-2.46 0.87-4.85 2.1-6.99l52.6-91.5a15.9 15.9 0 0 1 5.87-5.88c2.44-1.41 5.21-2.14 8.03-2.12H380c2.43-0.02 4.82 0.53 7 1.6 3.28 1.61 5.91 4.29 7.45 7.6 1.55 3.31 1.92 7.05 1.05 10.6a144 144 0 0 1-51.24 77.93 143.97 143.97 0 0 1-88.26 30.17\", style: { fill: \"currentcolor\" } }] }, \"filters-outline\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M46.5 107.29999999999995l160.3 186.7c2.37 2.76 3.71 6.26 3.8 9.9v113.4c-0.03 1.59 0.45 3.14 1.37 4.44a7.46 7.46 0 0 0 3.73 2.76l76.2 25.3a7.694 7.694 0 0 0 9.6-4.7c0.29-0.8 0.42-1.65 0.4-2.5v-138.8c0.01-3.65 1.36-7.18 3.8-9.9l160.2-186.7c2.29-2.68 3.43-6.17 3.17-9.69s-1.9-6.79-4.57-9.11c-2.39-2.07-5.44-3.2-8.6-3.2h-399.1c-1.75-0.01-3.48 0.33-5.1 0.99-1.62 0.67-3.09 1.64-4.33 2.88a13.3 13.3 0 0 0-2.88 4.33c-0.66 1.62-1 3.35-0.99 5.1a12.1 12.1 0 0 0 3 8.8\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }] }, filters: { viewBox: \"0 0 512 512\", paths: [{ d: \"M46.5 107.40000000000009l160.3 186.7c2.37 2.76 3.71 6.26 3.8 9.9v113.4c-0.03 1.59 0.45 3.14 1.37 4.44a7.46 7.46 0 0 0 3.73 2.76l76.2 25.3c1.9 0.61 3.96 0.47 5.75-0.41a7.73 7.73 0 0 0 3.85-4.29c0.29-0.8 0.42-1.65 0.4-2.5V304c0.01-3.65 1.36-7.18 3.8-9.9l160.2-186.7c2.29-2.69 3.43-6.17 3.17-9.69s-1.9-6.79-4.57-9.11a13.07 13.07 0 0 0-8.6-3.2h-399.1c-1.75-0.01-3.48 0.33-5.1 0.99-1.62 0.67-3.09 1.64-4.33 2.88a13.3 13.3 0 0 0-2.88 4.33c-0.66 1.62-1 3.35-0.99 5.1-0.17 3.18 0.9 6.3 3 8.7\", style: { fill: \"currentcolor\" } }] }, \"calendar-outline\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M101.30000000000018 81h320a48.003 48.003 0 0 1 48 48v288a48.003 48.003 0 0 1-48 48h-320a48.003 48.003 0 0 1-48-48v-288a48.003 48.003 0 0 1 48-48Z\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M301.3000000000002 257c5.95 0.01 11.69-2.2 16.11-6.19 4.41-3.99 7.19-9.48 7.78-15.4 0.59-5.93-1.04-11.86-4.58-16.64a23.9 23.9 0 0 0-14.57-9.25 23.97 23.97 0 0 0-17 2.92 23.983 23.983 0 0 0-9.4 30.8 24.04 24.04 0 0 0 12.48 11.92c2.91 1.21 6.03 1.83 9.18 1.84\", style: { fill: \"currentcolor\" } }, { d: \"M381.3000000000002 257c5.95 0.01 11.69-2.2 16.11-6.19 4.41-3.99 7.19-9.48 7.78-15.4 0.59-5.93-1.04-11.86-4.58-16.64a23.9 23.9 0 0 0-14.57-9.25 23.97 23.97 0 0 0-17 2.92 23.983 23.983 0 0 0-9.4 30.8 24.04 24.04 0 0 0 12.48 11.92c2.91 1.21 6.03 1.83 9.18 1.84\", style: { fill: \"currentcolor\" } }, { d: \"M301.3000000000002 337c5.95 0.01 11.69-2.2 16.11-6.19 4.41-3.99 7.19-9.48 7.78-15.4 0.59-5.93-1.04-11.86-4.58-16.64a23.9 23.9 0 0 0-14.57-9.25 23.97 23.97 0 0 0-17 2.92 23.983 23.983 0 0 0-9.4 30.8 24.04 24.04 0 0 0 12.48 11.92c2.91 1.21 6.03 1.83 9.18 1.84\", style: { fill: \"currentcolor\" } }, { d: \"M381.3000000000002 337c5.95 0.01 11.69-2.2 16.11-6.19 4.41-3.99 7.19-9.48 7.78-15.4 0.59-5.93-1.04-11.86-4.58-16.64a23.9 23.9 0 0 0-14.57-9.25 23.97 23.97 0 0 0-17 2.92 23.983 23.983 0 0 0-9.4 30.8 24.04 24.04 0 0 0 12.48 11.92c2.91 1.21 6.03 1.83 9.18 1.84\", style: { fill: \"currentcolor\" } }, { d: \"M141.30000000000018 337c5.95 0.01 11.69-2.2 16.11-6.19 4.41-3.99 7.19-9.48 7.78-15.4 0.59-5.93-1.04-11.86-4.58-16.64a23.9 23.9 0 0 0-14.57-9.25 23.97 23.97 0 0 0-17 2.92 23.983 23.983 0 0 0-9.4 30.8 24.04 24.04 0 0 0 12.48 11.92c2.91 1.21 6.03 1.83 9.18 1.84\", style: { fill: \"currentcolor\" } }, { d: \"M221.30000000000018 337c5.95 0.01 11.69-2.2 16.11-6.19 4.41-3.99 7.19-9.48 7.78-15.4 0.59-5.93-1.04-11.86-4.58-16.64a23.9 23.9 0 0 0-14.57-9.25 23.97 23.97 0 0 0-17 2.92 23.983 23.983 0 0 0-9.4 30.8 24.04 24.04 0 0 0 12.48 11.92c2.91 1.21 6.03 1.83 9.18 1.84\", style: { fill: \"currentcolor\" } }, { d: \"M141.30000000000018 417c5.95 0.01 11.69-2.2 16.11-6.19 4.41-3.99 7.19-9.48 7.78-15.4 0.59-5.93-1.04-11.86-4.58-16.64a23.9 23.9 0 0 0-14.57-9.25 23.97 23.97 0 0 0-17 2.92 23.983 23.983 0 0 0-9.4 30.8 24.04 24.04 0 0 0 12.48 11.92c2.91 1.21 6.03 1.83 9.18 1.84\", style: { fill: \"currentcolor\" } }, { d: \"M221.30000000000018 417c5.95 0.01 11.69-2.2 16.11-6.19 4.41-3.99 7.19-9.48 7.78-15.4 0.59-5.93-1.04-11.86-4.58-16.64a23.9 23.9 0 0 0-14.57-9.25 23.97 23.97 0 0 0-17 2.92 23.983 23.983 0 0 0-9.4 30.8 24.04 24.04 0 0 0 12.48 11.92c2.91 1.21 6.03 1.83 9.18 1.84\", style: { fill: \"currentcolor\" } }, { d: \"M301.3000000000002 417c5.95 0.01 11.69-2.2 16.11-6.19 4.41-3.99 7.19-9.48 7.78-15.4 0.59-5.93-1.04-11.86-4.58-16.64a23.9 23.9 0 0 0-14.57-9.25 23.97 23.97 0 0 0-17 2.92 23.983 23.983 0 0 0-9.4 30.8 24.04 24.04 0 0 0 12.48 11.92c2.91 1.21 6.03 1.83 9.18 1.84\", style: { fill: \"currentcolor\" } }, { d: \"M133.30000000000018 49v32\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M389.3000000000002 49v32\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M469.3000000000002 161h-416\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }] }, calendar: { viewBox: \"0 0 512 512\", paths: [{ d: \"M480 128a64.03 64.03 0 0 0-18.76-45.24c-12-12-28.27-18.75-45.24-18.76h-16v-15.6c0-8.6-6.6-16-15.2-16.4-4.24-0.18-8.37 1.31-11.52 4.16a16.13 16.13 0 0 0-5.28 11.04v16.8h-224v-15.6c0-8.6-6.6-16-15.2-16.4-4.24-0.18-8.37 1.31-11.52 4.16a16.13 16.13 0 0 0-5.28 11.04v16.8h-16a64.03 64.03 0 0 0-45.24 18.76c-12 12-18.75 28.27-18.76 45.24v12a4.014 4.014 0 0 0 4 4h440a4.014 4.014 0 0 0 4-4z\", style: { fill: \"currentcolor\" } }, { d: \"M32 416a64.03 64.03 0 0 0 18.76 45.24c12 12 28.27 18.75 45.24 18.76h320a64.03 64.03 0 0 0 45.24-18.76c12-12 18.75-28.27 18.76-45.24v-237c0.01-0.4-0.06-0.79-0.21-1.16s-0.37-0.7-0.65-0.98-0.61-0.5-0.98-0.65-0.76-0.22-1.16-0.21h-442c-0.4-0.01-0.79 0.06-1.16 0.21s-0.7 0.37-0.98 0.65-0.5 0.61-0.65 0.98-0.22 0.76-0.21 1.16z m344-208a23.97 23.97 0 0 1 16.08 6.24c4.4 4.01 7.15 9.51 7.72 15.43 0.58 5.92-1.08 11.84-4.63 16.61a23.9 23.9 0 0 1-14.59 9.2c-5.84 1.15-11.89 0.09-16.99-2.98-5.1-3.06-8.87-7.92-10.59-13.61a23.94 23.94 0 0 1 1.3-17.21 23.97 23.97 0 0 1 21.7-13.68m0 80a23.97 23.97 0 0 1 16.08 6.24c4.4 4.01 7.15 9.51 7.72 15.43 0.58 5.92-1.08 11.84-4.63 16.61a23.9 23.9 0 0 1-14.59 9.2c-5.84 1.15-11.89 0.09-16.99-2.98-5.1-3.06-8.87-7.92-10.59-13.61a23.94 23.94 0 0 1 1.3-17.21 23.97 23.97 0 0 1 21.7-13.68m-80-80a23.97 23.97 0 0 1 16.08 6.24c4.4 4.01 7.15 9.51 7.72 15.43 0.58 5.92-1.08 11.84-4.63 16.61a23.9 23.9 0 0 1-14.59 9.2c-5.84 1.15-11.89 0.09-16.99-2.98-5.1-3.06-8.87-7.92-10.59-13.61a23.94 23.94 0 0 1 1.3-17.21 23.97 23.97 0 0 1 21.7-13.68m0 80a23.97 23.97 0 0 1 16.08 6.24c4.4 4.01 7.15 9.51 7.72 15.43 0.58 5.92-1.08 11.84-4.63 16.61a23.9 23.9 0 0 1-14.59 9.2c-5.84 1.15-11.89 0.09-16.99-2.98-5.1-3.06-8.87-7.92-10.59-13.61a23.94 23.94 0 0 1 1.3-17.21 23.97 23.97 0 0 1 21.7-13.68m0 80a23.97 23.97 0 0 1 16.08 6.24c4.4 4.01 7.15 9.51 7.72 15.43 0.58 5.92-1.08 11.84-4.63 16.61a23.9 23.9 0 0 1-14.59 9.2c-5.84 1.15-11.89 0.09-16.99-2.98-5.1-3.06-8.87-7.92-10.59-13.61a23.94 23.94 0 0 1 1.3-17.21 23.97 23.97 0 0 1 21.7-13.68m-80-80a23.97 23.97 0 0 1 16.08 6.24c4.4 4.01 7.15 9.51 7.72 15.43 0.58 5.92-1.08 11.84-4.63 16.61a23.9 23.9 0 0 1-14.59 9.2c-5.84 1.15-11.89 0.09-16.99-2.98-5.1-3.06-8.87-7.92-10.59-13.61a23.94 23.94 0 0 1 1.3-17.21 23.97 23.97 0 0 1 21.7-13.68m0 80a23.97 23.97 0 0 1 16.08 6.24c4.4 4.01 7.15 9.51 7.72 15.43 0.58 5.92-1.08 11.84-4.63 16.61a23.9 23.9 0 0 1-14.59 9.2c-5.84 1.15-11.89 0.09-16.99-2.98-5.1-3.06-8.87-7.92-10.59-13.61a23.94 23.94 0 0 1 1.3-17.21 23.97 23.97 0 0 1 21.7-13.68m-80-80a23.97 23.97 0 0 1 16.08 6.24c4.4 4.01 7.15 9.51 7.72 15.43 0.58 5.92-1.08 11.84-4.63 16.61a23.9 23.9 0 0 1-14.59 9.2c-5.84 1.15-11.89 0.09-16.99-2.98-5.1-3.06-8.87-7.92-10.59-13.61a23.94 23.94 0 0 1 1.3-17.21 23.97 23.97 0 0 1 21.7-13.68m0 80a23.97 23.97 0 0 1 16.08 6.24c4.4 4.01 7.15 9.51 7.72 15.43 0.58 5.92-1.08 11.84-4.63 16.61a23.9 23.9 0 0 1-14.59 9.2c-5.84 1.15-11.89 0.09-16.99-2.98-5.1-3.06-8.87-7.92-10.59-13.61a23.94 23.94 0 0 1 1.3-17.21 23.97 23.97 0 0 1 21.7-13.68\", style: { fill: \"currentcolor\" } }] }, settings: { viewBox: \"0 0 512 512\", paths: [{ d: \"M464 250a10 10 0 0 0-2.9-6.7 10.8 10.8 0 0 0-6.5-3.3l-25.6-4.2a5.87 5.87 0 0 1-3-1.6 5.7 5.7 0 0 1-1.5-3.1c-0.5-3.2-1-6.4-1.7-9.5a5.36 5.36 0 0 1 0.4-3.3 6.63 6.63 0 0 1 2.2-2.5l22.8-12.7c2.26-1.16 4.01-3.12 4.9-5.5 0.93-2.37 0.97-5 0.1-7.4l-3.9-10.9a10.6 10.6 0 0 0-4.8-5.6 10.29 10.29 0 0 0-7.3-0.9l-25.5 5c-1.16 0.18-2.34 0.01-3.4-0.5a5.34 5.34 0 0 1-2.4-2.3q-2.25-4.2-4.8-8.4c-0.6-0.99-0.88-2.14-0.8-3.3 0.07-1.18 0.53-2.3 1.3-3.2l17-19.6c1.69-1.87 2.68-4.28 2.8-6.8 0.08-2.52-0.78-4.97-2.4-6.9l-7.4-8.9a10.3 10.3 0 0 0-13.6-2l-22.4 13.4c-1 0.58-2.15 0.83-3.3 0.7a5.24 5.24 0 0 1-3.1-1.4c-2.5-2.2-5-4.3-7.4-6.2a5.43 5.43 0 0 1-1.9-2.8c-0.28-1.13-0.21-2.31 0.2-3.4l9.3-24.4c0.99-2.33 1.1-4.95 0.31-7.36s-2.43-4.45-4.61-5.74l-10.1-5.9a10.34 10.34 0 0 0-7.3-1.2 9.96 9.96 0 0 0-6.2 4l-16.4 20.5a5.24 5.24 0 0 1-2.5 1.9c-1.02 0.33-2.13 0.26-3.1-0.2-0.6-0.2-5.8-2.4-9.8-3.7a5.5 5.5 0 0 1-2.7-2 5.3 5.3 0 0 1-1-3.2l0.4-26.1c0.15-2.55-0.63-5.08-2.2-7.1-1.55-2.01-3.8-3.36-6.3-3.8l-11.4-2c-2.49-0.4-5.04 0.09-7.2 1.4a10.5 10.5 0 0 0-4.5 5.8l-8.5 24.8a5.12 5.12 0 0 1-2.1 2.7c-0.98 0.64-2.13 0.96-3.3 0.9h-9.8c-1.15 0.04-2.28-0.31-3.2-1-0.97-0.66-1.7-1.6-2.1-2.7l-8.5-24.7c-0.71-2.43-2.32-4.51-4.5-5.8-2.16-1.3-4.71-1.79-7.2-1.4l-11.5 2c-2.48 0.48-4.72 1.83-6.3 3.8a9.97 9.97 0 0 0-2.2 7l0.4 26.2c-0.01 1.19-0.4 2.34-1.1 3.3-0.73 0.91-1.7 1.61-2.8 2-2.3 0.9-7.3 2.8-9.5 3.6-2 0.7-4.2-0.1-5.9-2.1l-16.3-20a9.96 9.96 0 0 0-6.2-4c-2.49-0.5-5.07-0.11-7.3 1.1l-10.1 5.8c-2.23 1.29-3.9 3.35-4.7 5.8-0.82 2.43-0.68 5.08 0.4 7.4l9.2 24.3c0.43 1.09 0.47 2.29 0.1 3.4-0.28 1.1-0.91 2.09-1.8 2.8-2.4 2-4.9 4-7.4 6.2-0.86 0.78-1.94 1.27-3.09 1.4s-2.31-0.12-3.31-0.7l-22.1-13.7a10.68 10.68 0 0 0-7.2-1.6c-2.51 0.36-4.79 1.64-6.4 3.6l-7.4 8.9a10.22 10.22 0 0 0-2.4 6.9c0.1 2.53 1.09 4.94 2.8 6.8l17.1 19.6c0.77 0.9 1.23 2.02 1.3 3.2a5.47 5.47 0 0 1-0.8 3.3c-1.7 2.7-3.3 5.6-4.8 8.4a5.8 5.8 0 0 1-2.5 2.4c-1.05 0.51-2.24 0.69-3.4 0.5l-25.5-4.9a10.2 10.2 0 0 0-7.31 0.91c-2.24 1.2-3.94 3.19-4.79 5.59l-4 10.9c-0.92 2.39-0.88 5.04 0.1 7.4 0.92 2.36 2.66 4.31 4.9 5.5l22.8 12.7c1.01 0.57 1.81 1.45 2.3 2.5 0.49 1.06 0.6 2.27 0.3 3.4l-0.2 1.3c-0.5 2.8-1 5.4-1.5 8.2a5.7 5.7 0 0 1-1.5 3c-0.81 0.84-1.86 1.4-3 1.6l-25.7 4.2c-2.51 0.3-4.82 1.51-6.5 3.4a10.22 10.22 0 0 0-2.6 6.9v11.6c-0.01 2.54 0.91 4.99 2.59 6.89 1.67 1.9 3.99 3.11 6.51 3.41l25.7 4.1c1.15 0.18 2.21 0.75 3 1.6 0.81 0.85 1.33 1.94 1.5 3.1 0.5 3.2 1 6.4 1.7 9.5 0.21 1.15 0.08 2.33-0.4 3.4a6.63 6.63 0 0 1-2.2 2.5l-22.8 12.7a10.2 10.2 0 0 0-4.9 5.5c-0.88 2.38-0.92 5-0.1 7.4l4 10.9a10.6 10.6 0 0 0 4.8 5.6c2.24 1.19 4.84 1.52 7.3 0.9l25.6-4.9c1.16-0.23 2.36-0.05 3.4 0.5 1.02 0.5 1.86 1.3 2.4 2.3q2.25 4.2 4.8 8.4c0.6 0.99 0.88 2.14 0.8 3.3a5.4 5.4 0 0 1-1.3 3.2l-17 19.6a10.312 10.312 0 0 0-0.5 13.8l7.4 8.9a10.3 10.3 0 0 0 13.6 2l22.4-13.4c1-0.58 2.15-0.83 3.3-0.7 1.16 0.11 2.25 0.6 3.1 1.4 2.5 2.2 5 4.3 7.4 6.2 0.92 0.71 1.58 1.69 1.9 2.8 0.32 1.12 0.28 2.3-0.1 3.4l-9.3 24.4c-0.99 2.33-1.1 4.95-0.31 7.36s2.43 4.45 4.61 5.74l10.1 5.8c2.2 1.29 4.8 1.71 7.3 1.2a9.96 9.96 0 0 0 6.2-4l16.6-20.3c1.4-1.7 3.6-2.5 5.2-1.8 3.5 1.4 5.8 2.2 9.9 3.6 1.09 0.37 2.03 1.07 2.7 2a5.3 5.3 0 0 1 1 3.2l-0.4 26.1a11.3 11.3 0 0 0 2.2 7.1c1.55 2.01 3.8 3.36 6.3 3.8l11.4 2c2.49 0.41 5.04-0.09 7.2-1.4 2.18-1.29 3.79-3.37 4.5-5.8l8.5-24.8a5.12 5.12 0 0 1 2.1-2.7c0.95-0.69 2.13-1.01 3.3-0.9h9.8c1.15-0.04 2.28 0.32 3.2 1 0.97 0.66 1.7 1.6 2.1 2.7l8.5 24.7a10.66 10.66 0 0 0 10 7.4c0.6-0.02 1.21-0.08 1.8-0.2l11.5-2c2.49-0.47 4.72-1.82 6.3-3.8a9.97 9.97 0 0 0 2.2-7l-0.4-26.2c-0.04-1.15 0.31-2.28 1-3.2 0.69-0.91 1.63-1.6 2.7-2 3.8-1.3 6.5-2.3 8.9-3.2l0.6-0.2c3.1-1.1 4.6 0.2 5.5 1.3l16.8 20.6a10.28 10.28 0 0 0 13.5 2.8l10.1-5.8a9.95 9.95 0 0 0 4.6-5.7c0.8-2.42 0.7-5.05-0.3-7.4l-9.2-24.3a5.72 5.72 0 0 1-0.2-3.4 4.88 4.88 0 0 1 1.9-2.8c2.4-2 4.9-4 7.4-6.2 0.87-0.76 1.95-1.25 3.1-1.4 1.15-0.12 2.3 0.13 3.3 0.7l22.4 13.4a10.68 10.68 0 0 0 7.2 1.6c2.51-0.36 4.79-1.64 6.4-3.6l7.4-8.9c1.64-1.95 2.5-4.45 2.4-7-0.1-2.53-1.09-4.94-2.8-6.8l-17.1-19.7c-0.76-0.89-1.21-2-1.3-3.17s0.19-2.33 0.8-3.33c1.7-2.7 3.3-5.6 4.8-8.4a6.5 6.5 0 0 1 2.5-2.4c1.05-0.51 2.24-0.69 3.4-0.5l25.5 5c2.46 0.62 5.07 0.3 7.31-0.9s3.95-3.2 4.79-5.6l3.9-10.9c0.92-2.39 0.88-5.04-0.1-7.4-0.92-2.36-2.66-4.31-4.9-5.5l-22.8-12.7a5.57 5.57 0 0 1-2.3-2.5c-0.5-1.06-0.6-2.27-0.3-3.4l0.2-1.3c0.5-2.8 1-5.4 1.5-8.2 0.19-1.13 0.71-2.17 1.5-3 0.81-0.84 1.86-1.4 3-1.6l25.7-4.1c2.51-0.3 4.82-1.51 6.5-3.4 1.69-1.9 2.62-4.36 2.6-6.9v-11.8z m-282.4 94a15.5 15.5 0 0 1-5.1 5.4c-2.1 1.37-4.5 2.23-7 2.5-2.48 0.27-4.99-0.07-7.3-1-2.34-0.9-4.43-2.34-6.1-4.2a135.03 135.03 0 0 1-34.9-90.88 135.02 135.02 0 0 1 35.3-90.72c1.67-1.86 3.76-3.3 6.1-4.2 2.32-0.89 4.83-1.2 7.3-0.9 2.5 0.27 4.9 1.13 7 2.5a16.56 16.56 0 0 1 5.1 5.4l45.6 80.4c1.38 2.41 2.1 5.13 2.1 7.9s-0.72 5.49-2.1 7.9z m74.4 47.2c-9.51 0-19-1-28.3-3a15.52 15.52 0 0 1-11-9.1c-0.97-2.27-1.41-4.73-1.3-7.2 0.13-2.47 0.85-4.87 2.1-7l46-80c1.4-2.4 3.4-4.4 5.8-5.8 2.4-1.39 5.13-2.12 7.9-2.1h92.1c2.47 0.01 4.9 0.59 7.1 1.7a15.9 15.9 0 0 1 5.6 4.7c1.47 2.02 2.46 4.34 2.9 6.8 0.39 2.44 0.22 4.94-0.5 7.3-17.5 54.2-68.4 93.7-128.4 93.7m7.5-163.9L218 147.0999999999999a17.25 17.25 0 0 1-2.1-7c-0.22-3.72 0.91-7.4 3.16-10.37s5.5-5.04 9.14-5.83c9.11-1.91 18.39-2.89 27.7-2.9 60 0 110.9 39.4 128.4 93.8 0.71 2.37 0.88 4.86 0.5 7.3-0.41 2.45-1.4 4.77-2.88 6.77-1.47 1.99-3.4 3.62-5.62 4.73-2.21 1.1-4.63 1.68-7.1 1.7h-92c-2.8 0-5.56-0.72-8-2.1-2.33-1.5-4.28-3.52-5.7-5.9\", style: { fill: \"currentcolor\" } }] }, trailer: { viewBox: \"0 0 512 512\", paths: [{ d: \"M434.4 215.4000000000001l-270.2 2.1c36.8-14.4 74.6-28.9 112.8-43.5 48.7-18.7 97.4-37.3 143.2-55.4a15.34 15.34 0 0 0 8.092-8.42 15.33 15.33 0 0 0-0.192-11.68l-1.9-4.5a541 541 0 0 0-30.2-67.4 14.75 14.75 0 0 0-7.795-5.46 14.7 14.7 0 0 0-9.505 0.46c-7.2 2.8-64.4 25-129.9 50.2-75.2 29.1-161.2 62.2-194.5 75.2a14.75 14.75 0 0 0-8.037 7.63 14.75 14.75 0 0 0-0.463 11.07c5.3 14.7 8.7 24.1 11.2 30.6a48.86 48.86 0 0 0-14.2 23.9l-0.8 3.7-0.3 1.4a18.4 18.4 0 0 0-0.3 3.2v7.6c0.088 1.45 0.322 2.89 0.7 4.3a50.06 50.06 0 0 0 34.9 39.2c0.2 37.9 0.7 155.2 0.7 177.9 0.005 3.9 1.555 7.63 4.31 10.39a14.76 14.76 0 0 0 10.39 4.31c52.3 0 344.4 1.3 344.4 1.3 3.865 0 7.577-1.52 10.329-4.23a14.7 14.7 0 0 0 4.371-10.27c0-1.7 2.3-168.2 2.3-224.7-0.2-16.7-15.5-18.9-19.4-18.9m-155.8 68.8l23.9-38.5 53.6-0.4-24.1 38.9z m-10.8-38.2l-23.7 38.2h-52.9l23.4-37.9z m-36.5-86c-16.6 6.4-32.9 12.7-49.2 19l6-52.3 49.2-19z m35.2-13.6l-4.4 1.7 6-52.4 50.5-19.4-6.1 52.5z m129.1-49.8c-17 6.7-34.5 13.4-52 20.2l6.1-52.5 27.6-10.6c5.3 11.8 13.2 30.5 18.3 42.9m-312.1 86.6l-5.2-14.1c19.4-7.6 47.4-18.4 78.8-30.5l-6 52.4c-6.4 2.5-12.9 5-19.2 7.5a45.6 45.6 0 0 0-16.213-12.17A45.5 45.5 0 0 0 95.8 182.4000000000001c-0.8 0-1.9 0.2-2.8 0.2-2.642-0.03-5.283 0.13-7.9 0.5-0.535-0.01-1.07 0.02-1.6 0.1M70.6 234.4000000000001l0.6-7c1.493-5.09 4.8-9.46 9.297-12.28a21.72 21.72 0 0 1 15.103-3.02c5.217 0.69 9.978 3.33 13.319 7.4a20.75 20.75 0 0 1 4.681 14.5 19.9 19.9 0 0 1-5.9 12.1 21.95 21.95 0 0 1-14.6 6.6 20.75 20.75 0 0 1-22.2-17.3c-0.06-0.34-0.16-0.68-0.3-1m35.6 46c1-0.3 1.8-0.9 2.8-1.3a47.5 47.5 0 0 0 10.2-4.8l0.2-0.1a52.1 52.1 0 0 0 10.8-9.1c0.3-0.3 0.6-0.5 0.8-0.7s0.7-1 1.1-1.4c0.8-1 1.5-2 2.2-3a46 46 0 0 0 7.2-13l38.4-0.3-23.3 37.6h-50.4z m316 163.7c-54.8-0.2-248.7-1.1-315.2-1.2-0.1-29.5-0.3-88-0.5-129.3h317.4c-0.6 49.6-1.3 104.9-1.7 130.5m1.8-159.9h-57.6l24.2-39.2 33.5-0.3c0.1 11.1-0.1 24.7-0.1 39.5\", style: { fill: \"currentcolor\" } }] }, \"add-to-library\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M140.5999999999999 72.5h213c9.1-0.3 16.2-7.3 16-15.8-0.3-8.1-7.3-14.6-16-14.9h-213c-9.1 0.3-16.2 7.3-16 15.8 0.3 8.1 7.3 14.6 16 14.9\", style: { fill: \"currentcolor\" } }, { d: \"M116.79999999999995 118.59999999999991h255.1c8.9 0 16.1-6.9 16.1-15.3 0-8.5-7.2-15.3-16.1-15.3H116.79999999999995c-8.9 0-16.1 6.9-16.1 15.3 0.1 8.4 7.3 15.3 16.1 15.3\", style: { fill: \"currentcolor\" } }, { d: \"M391.29999999999995 311.5999999999999h-40.8v-40.7c0-3.66-1.454-7.17-4.042-9.76a13.8 13.8 0 0 0-9.758-4.04c-3.66 0-7.17 1.45-9.758 4.04a13.8 13.8 0 0 0-4.042 9.76v40.7h-40.7c-3.66 0-7.17 1.45-9.758 4.04a13.81 13.81 0 0 0 0 19.52 13.8 13.8 0 0 0 9.758 4.04h40.7v40.7c0 3.66 1.454 7.17 4.042 9.76a13.8 13.8 0 0 0 9.758 4.04c3.66 0 7.17-1.45 9.758-4.04a13.8 13.8 0 0 0 4.042-9.76v-40.7h40.8a13.8 13.8 0 0 0 13.8-13.8 13.8 13.8 0 0 0-13.8-13.8\", style: { fill: \"currentcolor\" } }, { d: \"M424.0999999999999 210.5999999999999v-30a47.6 47.6 0 0 0-13.93-33.57 47.6 47.6 0 0 0-33.57-13.93H98.49999999999989a47.528 47.528 0 0 0-47.5 47.5v179a47.557 47.557 0 0 0 47.5 47.5h119a144.4 144.4 0 0 0 45.184 42.53 144.3 144.3 0 0 0 58.863 19.65 144.4 144.4 0 0 0 61.673-6.86 144.3 144.3 0 0 0 53.1-32.11 144.3 144.3 0 0 0 34.73-51.43 144.3 144.3 0 0 0 9.95-61.25c-1.17-20.9-6.86-41.29-16.68-59.77a144.5 144.5 0 0 0-40.22-47.26m-325.6 165.8a16.93 16.93 0 0 1-11.94-4.96 16.94 16.94 0 0 1-4.96-11.94v-179a16.94 16.94 0 0 1 4.96-11.94 16.93 16.93 0 0 1 11.94-4.96h278.1a16.93 16.93 0 0 1 16.9 16.9v12a144.25 144.25 0 0 0-82.717-9.45 144.29 144.29 0 0 0-115.109 110.31 144.3 144.3 0 0 0 5.926 83.04z m238.3 66a116.8 116.8 0 0 1-46.637-9.74 116.8 116.8 0 0 1-38.863-27.56l-4.5-5.5a122.5 122.5 0 0 1-13.5-20.7l-1.3-2.5h-0.5a117.002 117.002 0 0 1 27.188-138.12 117.006 117.006 0 0 1 187.392 45.29 117.03 117.03 0 0 1 3.18 74.15 117.02 117.02 0 0 1-112.46 84.68\", style: { fill: \"currentcolor\" } }] }, \"remove-from-library\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M391.20000000000005 311.5999999999999h-109.1a13.8 13.8 0 0 0-13.8 13.8 13.8 13.8 0 0 0 13.8 13.8h109.1a13.8 13.8 0 0 0 13.8-13.8 13.8 13.8 0 0 0-13.8-13.8\", style: { fill: \"currentcolor\" } }, { d: \"M424.0999999999999 210.5999999999999v-30a47.523 47.523 0 0 0-47.5-47.5h-278.1a47.6 47.6 0 0 0-33.57 13.93 47.6 47.6 0 0 0-13.93 33.57v179a47.6 47.6 0 0 0 13.93 33.57c8.9 8.9 20.98 13.91 33.57 13.93h119c11.8 17.28 27.22 31.8 45.18 42.53a144.3 144.3 0 0 0 58.87 19.65c20.81 2.21 41.85-0.13 61.67-6.86a144.3 144.3 0 0 0 53.1-32.11 144.3 144.3 0 0 0 34.73-51.43 144.3 144.3 0 0 0 9.95-61.25c-1.17-20.9-6.86-41.29-16.68-59.77a144.5 144.5 0 0 0-40.22-47.26m-325.6 165.8a16.93 16.93 0 0 1-16.9-16.9v-179a16.93 16.93 0 0 1 16.9-16.9h278.1a16.93 16.93 0 0 1 16.9 16.9v12a144.24 144.24 0 0 0-82.72-9.45c-27.9 5.04-53.7 18.19-74.17 37.81a144.33 144.33 0 0 0-40.94 72.5 144.36 144.36 0 0 0 5.93 83.04z m238.2 66c-16.05-0.01-31.93-3.32-46.64-9.74a116.8 116.8 0 0 1-38.86-27.56l-4.5-5.5c-5.19-6.43-9.71-13.36-13.5-20.7l-1.3-2.5h-0.5a116.9 116.9 0 0 1-10.51-67.04c3.2-22.89 13.12-44.32 28.51-61.58a116.8 116.8 0 0 1 57.91-35.36c22.38-5.81 45.97-4.84 67.8 2.76a116.96 116.96 0 0 1 54.84 39.97 116.97 116.97 0 0 1 23.39 63.7c1.32 23.08-4.22 46.04-15.94 65.96a116.9 116.9 0 0 1-49.9 45.99 115.34 115.34 0 0 1-50.8 11.6\", style: { fill: \"currentcolor\" } }, { d: \"M140.5999999999999 72.5h213c9.1-0.3 16.2-7.3 16-15.8-0.3-8.1-7.3-14.6-16-14.9h-213c-9.1 0.3-16.2 7.3-16 15.8 0.3 8.1 7.3 14.6 16 14.9\", style: { fill: \"currentcolor\" } }, { d: \"M116.79999999999995 118.59999999999991H372c8.9 0 16.1-6.9 16.1-15.3 0-8.5-7.2-15.3-16.1-15.3h-255.1c-8.9 0-16.1 6.9-16.1 15.3s7.2 15.3 16 15.3\", style: { fill: \"currentcolor\" } }] }, details: { viewBox: \"0 0 512 512\", paths: [{ d: \"M413.9000000000001 80h-315.6a53.4 53.4 0 0 0-37.66 15.64 53.4 53.4 0 0 0-15.64 37.66v246.2a53.4 53.4 0 0 0 15.64 37.66 53.4 53.4 0 0 0 37.66 15.64h315.6a53.4 53.4 0 0 0 37.66-15.64 53.4 53.4 0 0 0 15.64-37.66v-246.2a53.45 53.45 0 0 0-15.66-37.64 53.45 53.45 0 0 0-37.64-15.66m19.8 299.5a19.84 19.84 0 0 1-19.8 19.8h-315.6a19.84 19.84 0 0 1-19.8-19.8v-246.2a19.84 19.84 0 0 1 19.8-19.8h315.6a19.84 19.84 0 0 1 19.8 19.8z\", style: { fill: \"currentcolor\" } }, { d: \"M128.70000000000005 184.5999999999999h204.6a16.55 16.55 0 0 0 10.95-5.21c2.86-3.07 4.45-7.1 4.45-11.29s-1.59-8.22-4.45-11.29a16.55 16.55 0 0 0-10.95-5.21h-204.6c-4.18 0.29-8.1 2.15-10.95 5.21-2.86 3.07-4.45 7.1-4.45 11.29s1.59 8.22 4.45 11.29c2.85 3.06 6.77 4.92 10.95 5.21\", style: { fill: \"currentcolor\" } }, { d: \"M218.4000000000001 299.1999999999998h-89.7c-4.19 0.29-8.11 2.16-10.98 5.23a16.595 16.595 0 0 0 0 22.64c2.87 3.07 6.79 4.94 10.98 5.23h87.8c4.19-0.29 8.11-2.16 10.98-5.23 2.86-3.07 4.46-7.12 4.46-11.32s-1.6-8.24-4.46-11.32a16.6 16.6 0 0 0-10.98-5.23\", style: { fill: \"currentcolor\" } }, { d: \"M335.4000000000001 223.4000000000001h-206.7c-4.19 0.29-8.11 2.16-10.98 5.23a16.595 16.595 0 0 0 0 22.64c2.87 3.07 6.79 4.94 10.98 5.23h205.1c4.19-0.29 8.11-2.16 10.98-5.23s4.46-7.12 4.46-11.32-1.59-8.24-4.46-11.32a16.6 16.6 0 0 0-10.98-5.23\", style: { fill: \"currentcolor\" } }] }, memory: { viewBox: \"0 0 512 512\", paths: [{ d: \"M436.9000000000001 143.0999999999999l-59.9-59.9a38.56 38.56 0 0 0-27.6-11.4h-213.2a52.036 52.036 0 0 0-52 52v260.1a52.036 52.036 0 0 0 52 52h260.1a52.036 52.036 0 0 0 52-52v-213.2c0.02-5.13-0.97-10.21-2.93-14.94a38.8 38.8 0 0 0-8.47-12.66m-281.2-6.3h143a6.46 6.46 0 0 1 4.6 1.9c0.6 0.6 1.08 1.32 1.41 2.11 0.32 0.79 0.49 1.64 0.49 2.49v39c0 0.85-0.17 1.7-0.49 2.49a6.53 6.53 0 0 1-3.52 3.52c-0.79 0.32-1.64 0.49-2.49 0.49h-143c-0.85 0-1.7-0.17-2.49-0.49a6.53 6.53 0 0 1-3.52-3.52c-0.32-0.79-0.49-1.64-0.49-2.49v-39c0-0.85 0.17-1.7 0.49-2.49a6.45 6.45 0 0 1 2.39-2.92 6.55 6.55 0 0 1 3.62-1.09m113.6 260.1c-12.85 0.6-25.58-2.62-36.6-9.25a65.06 65.06 0 0 1-25.29-28.03 65.06 65.06 0 0 1-5.46-37.35 65.04 65.04 0 0 1 16.22-34.09 64.993 64.993 0 0 1 70.12-17.4 64.93 64.93 0 0 1 30.27 22.55 64.95 64.95 0 0 1 12.64 35.57c0.1 2 0.1 4.1 0 6.1a65.05 65.05 0 0 1-18.99 42.91 65.12 65.12 0 0 1-42.91 18.99\", style: { fill: \"currentcolor\" } }] }, \"play-outline\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M133.49999999999994 106.60000000000036V401.3000000000002c0 17.7 15.1 29 27.6 20.5l220.5-150.7c8.8-6.9 10.7-20.2 4.2-29.7a22.2 22.2 0 0 0-4.2-4.5l-220.5-150.8c-12.5-8.5-27.6 2.9-27.6 20.5Z\", style: { stroke: \"currentcolor\", strokeMiterlimit: \"10\", strokeWidth: \"36.752\", fill: \"none\" } }] }, play: { viewBox: \"0 0 512 512\", paths: [{ d: \"M396.09999999999997 246.09999999999945l-231.9-160.6c-1.443-1-3.07-1.71-4.787-2.08a13.3 13.3 0 0 0-5.219-0.08 13.32 13.32 0 0 0-8.594 5.56 13.7 13.7 0 0 0-2.4 7.6v321.4c0.003 1.75 0.352 3.49 1.028 5.11a13.2 13.2 0 0 0 2.91 4.32 13.2 13.2 0 0 0 4.346 2.88c1.624 0.66 3.363 1 5.116 0.99 2.723 0.02 5.383-0.82 7.6-2.4L396.09999999999997 268.1999999999998c1.448-1 2.684-2.27 3.639-3.74a13.4 13.4 0 0 0 1.925-4.85 13.35 13.35 0 0 0-2.164-10.01 13.7 13.7 0 0 0-3.4-3.4z\", style: { fill: \"currentcolor\" } }] }, \"external-player\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M433.8000000000002 255.80000000000018c0.1 25.8 0 51.6 0.1 77.5z\", style: { fill: \"currentcolor\" } }, { d: \"M469.3000000000002 137.30000000000018c0-11.6-4.5-20.1-14.2-26.6-4.7-3.2-10.3-4.7-17-4.7h-364a30.06 30.06 0 0 0-17 4.7c-9.7 6.5-14.2 15-14.2 26.6v0.1c0.1 38.2 0.13 76.4 0.1 114.6v74.7c0 16.3 0 32.5-0.1 48.8-0.04 2.02 0.16 4.03 0.6 6 0.84 4.75 2.84 9.21 5.82 13s6.86 6.78 11.28 8.7c1.66 0.69 3.36 1.25 5.1 1.7 2.57 0.72 5.23 1.09 7.9 1.1h46.7l14.8-34.8-33.4-0.2c-3.9 0-7.9-0.1-11.9 0.1-4.2 0.2-10.5 0.4-11.3-6.7-0.09-0.8-0.12-1.6-0.1-2.4v-212.1c0-2.4 0-5 2.1-7.1s4.8-2.1 7.1-2l34.7 0.2h268.1l34.7-0.2c2.3 0 5 0 7.1 2 2.1 2.1 2.1 4.8 2.1 7.1v212.2c0.02 0.8-0.01 1.6-0.1 2.4-0.9 7.2-7.1 6.9-11.3 6.7-3.9-0.2-7.9-0.1-11.9-0.1l-26.7 0.2 16 34.8h38.7c2.67-0.07 5.32-0.44 7.9-1.1 1.76-0.38 3.47-0.95 5.1-1.7 4.43-1.91 8.31-4.9 11.3-8.69 2.98-3.78 4.98-8.26 5.8-13.01 0.48-1.96 0.68-3.98 0.6-6-0.1-16-0.1-32-0.1-48v-75.5c0-38.2-0.1-76.4 0.1-114.6-0.4-0.1-0.4-0.2-0.4-0.2\", style: { fill: \"currentcolor\" } }, { d: \"M339 336.8000000000002c-4.8-15.3-4.9-15.3-20.8-14.4h-0.5c-2.9 0-4.4 1-3.6 4.3 1.1 4.6-1 8.1-4.4 11.1-4.8 4.2-10.5 6.6-16.5 8.4-17.9 5.4-36.1 5.7-54.3 2.9-10.1-1.6-20.1-4-28.4-10.8-3-2.5-5.2-5.3-5.3-9.3-0.1-6.6-0.1-6.6-7.1-6.6-1.67 0.1-3.33 0.1-5 0-5.6-0.4-8.6 2.1-10.2 7.4-5.9 19.6-12.2 39.1-18.2 58.7a41.4 41.4 0 0 0-2 9.8c-0.3 4.1 1.4 6.7 6 6.9 4.5 0.1 9 0.7 13.6 0.7 26 0.1 52.1 0 78.1 0 27.5 0 55.1 0.1 82.6 0 14.6-0.1 16.6-2.9 12.3-16.8-5.3-17.4-10.8-34.8-16.3-52.3\", style: { fill: \"currentcolor\" } }, { d: \"M226.0999999999999 258.0999999999999c-2.9 10-5.9 20-8.9 29.9-2.3 7.4-1.3 10.1 5.7 13.7 3 1.46 6.11 2.7 9.3 3.7a76.7 76.7 0 0 0 27.4 3.1c3.7 0.17 7.4 0.13 11.1-0.1 10.2-1 20.4-2.4 29.2-8.3 2.6-1.7 5.1-3.9 4.1-7.4-3.4-11.9-7.1-23.8-10.7-35.7-0.5-1.6-1-2.7-3.2-1.6-14.1 6.8-29 6.2-43.9 4.7-5.2-0.5-10.5-1.2-14.9-4.1-3.3-2-4.2-1.1-5.2 2.1\", style: { fill: \"currentcolor\" } }, { d: \"M276.6999999999998 216.4000000000001c3.1-0.8 3.9-2.7 2.9-5.7-1.7-5.3-3.1-10.6-4.8-15.9-3.1-9.5-4.6-10.5-14.4-10.5-10.6 0-12.7 1.5-15.7 11.6-1.5 5-2.9 10-4.5 14.9-0.9 2.8-0.1 4.6 2.7 5.4a67.76 67.76 0 0 0 33.8 0.2\", style: { fill: \"currentcolor\" } }] }, \"series-outline\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M462.6999999999998 132.59999999999945c-7.8-5.5-16.7-6.3-25.7-6.3h-150.8c-3.4 0-7 0.9-11.3-1.8 12.7-13.4 24.9-26.2 37-39.1 8.4-8.9 16.8-17.7 25-26.7 4.5-5 6.6-10.7 1.1-16.2s-11-3.1-16 1.4c-1.5 1.4-2.9 2.9-4.3 4.3-18.2 19.1-36.5 38.2-54.4 57.6-4.7 5-8.1 6.5-13 0.5-4.7-5.6-10-10.5-15-15.8-14.9-15.5-29.6-31.1-44.6-46.6-4.4-4.7-9.5-7.3-15.3-2.3s-4.7 10.8-0.4 16.2c1.9 2.2 3.8 4.4 5.9 6.4 17 17.9 34.1 35.7 51 53.8 1.8 1.9 5.8 3.6 4.2 6.8-1.4 2.8-5.3 1.5-8.1 1.5h-152.5c-27.5 0.1-39.9 12.7-39.9 40.1v233.6c0 27.6 12.3 40 39.7 40h360.8c5.23-0.02 10.45-0.49 15.6-1.4a30.17 30.17 0 0 0 17.24-10.28c4.4-5.29 6.86-11.93 6.96-18.82 0.1-84 0.1-167.97 0-251.9 0.4-11-4.6-18.9-13.2-25m-101.1 243.1a28.04 28.04 0 0 1-8.21 19.79 28.04 28.04 0 0 1-19.79 8.21h-230.6a28.04 28.04 0 0 1-19.79-8.21 28.04 28.04 0 0 1-8.21-19.79V188.39999999999964c0.01-7.42 2.96-14.54 8.21-19.79s12.37-8.2 19.79-8.21h230.6c7.42 0.01 14.54 2.96 19.79 8.21s8.2 12.37 8.21 19.79z m58.3-103.7c-5.7-0.12-11.13-2.4-15.22-6.37-4.08-3.97-6.5-9.34-6.78-15.03a21.32 21.32 0 0 1 6.1-15.11c3.96-4.04 9.35-6.33 15-6.39h0.4c12.9-0.1 21.4 8.1 21.5 20.8a21.69 21.69 0 0 1-21 22.1m-0.5-67.5a21.525 21.525 0 0 1-19.88-13.27 21.5 21.5 0 0 1-1.22-12.43c0.83-4.18 2.87-8.01 5.88-11.02s6.84-5.05 11.02-5.88a21.5 21.5 0 0 1 12.43 1.22c3.93 1.63 7.29 4.39 9.65 7.93a21.55 21.55 0 0 1 3.62 11.95 21.18 21.18 0 0 1-5.88 14.99 21.2 21.2 0 0 1-14.72 6.51z\", style: { fill: \"currentcolor\" } }] }, series: { viewBox: \"0 0 512 512\", paths: [{ d: \"M462.6999999999998 132.59999999999945c-7.8-5.5-16.7-6.3-25.7-6.3h-150.8c-3.4 0-7 0.9-11.3-1.8 12.7-13.4 24.9-26.2 37-39.1 8.4-8.9 16.8-17.7 25-26.7 4.5-5 6.6-10.7 1.1-16.2s-11-3.1-16 1.4c-1.5 1.4-2.9 2.9-4.3 4.3-18.2 19.1-36.5 38.2-54.4 57.6-4.7 5-8.1 6.5-13 0.5-4.7-5.6-10-10.5-15-15.8-14.9-15.5-29.6-31.1-44.6-46.6-4.4-4.7-9.5-7.3-15.3-2.3s-4.7 10.8-0.4 16.2c1.9 2.2 3.8 4.4 5.9 6.4 17 17.9 34.1 35.7 51 53.8 1.8 1.9 5.8 3.6 4.2 6.8-1.4 2.8-5.3 1.5-8.1 1.5h-152.5c-27.5 0.1-39.9 12.7-39.9 40.1v233.6c0 27.6 12.3 40 39.7 40h360.8c5.23-0.02 10.45-0.49 15.6-1.4a30.1 30.1 0 0 0 17.24-10.28c4.4-5.29 6.86-11.93 6.96-18.82 0.1-84 0.1-167.97 0-251.9 0.4-11-4.6-18.9-13.2-25m-101.1 243.1a28.04 28.04 0 0 1-8.21 19.79 28.04 28.04 0 0 1-19.79 8.21h-230.6a28.04 28.04 0 0 1-19.79-8.21 28.04 28.04 0 0 1-8.21-19.79v-187.3c0.01-7.42 2.96-14.54 8.21-19.79s12.37-8.2 19.79-8.21h230.6c7.42 0.01 14.54 2.96 19.79 8.21s8.2 12.37 8.21 19.79z m58.3-103.7a22.48 22.48 0 0 1-15.22-6.37c-4.08-3.97-6.5-9.34-6.78-15.03a21.32 21.32 0 0 1 6.1-15.11c3.96-4.03 9.35-6.33 15-6.39h0.4c12.9-0.1 21.4 8.1 21.5 20.8a21.687 21.687 0 0 1-21 22.1m-0.5-67.5c-4.25 0-8.41-1.26-11.95-3.62a21.45 21.45 0 0 1-7.91-9.65 21.47 21.47 0 0 1 4.66-23.43 21.47 21.47 0 0 1 23.43-4.66 21.493 21.493 0 0 1 13.27 19.86c0.09 5.58-2.02 10.96-5.88 14.99a21.2 21.2 0 0 1-14.72 6.51z\", style: { fill: \"currentcolor\" } }, { d: \"M115.79999999999973 185.19999999999982h208s12 0 12 12v169s0 12-12 12h-208s-12 0-12-12v-169s0-12 12-12\", style: { fill: \"currentcolor\" } }] }, megaphone: { viewBox: \"0 0 512 512\", paths: [{ d: \"M374.1700000000001 66.3100000000004s-74.52 92.73-144.69 92.73h-137.86c-3.68 0-7.2 1.46-9.81 4.06-2.6 2.6-4.06 6.13-4.06 9.81v82.8c0.04 3.64 1.53 7.13 4.12 9.68 2.6 2.56 6.1 3.99 9.75 3.98h137.86c70.17 0 144.69 93.36 144.69 93.36 5.38 6.83 20.69 2.07 20.69-8.49V74.80000000000018c0-10.77-14.48-16.36-20.69-8.49\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"16\", fill: \"none\" } }, { d: \"M77.76000000000022 241.84000000000015s-13.67-5.17-13.67-27.53 13.67-27.53 13.67-27.53\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"16\", fill: \"none\" } }, { d: \"M408.7399999999998 233.35000000000036c5.01-1.71 9.15-5.3 11.55-10.02a20.34 20.34 0 0 0 1.28-15.23 20.8 20.8 0 0 0-4.94-7.89 20.8 20.8 0 0 0-7.89-4.94\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"16\", fill: \"none\" } }, { d: \"M243.55000000000018 160.48999999999978v104.74\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"16\", fill: \"none\" } }, { d: \"M116.46000000000004 160.48999999999978v104.74\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"16\", fill: \"none\" } }, { d: \"M146.89000000000033 269.3699999999999v144.9c-0.01 1.35 0.38 2.68 1.13 3.81a6.73 6.73 0 0 0 3.08 2.52c0.83 0.34 1.72 0.51 2.62 0.5h45.54c1.82 0 3.63-0.36 5.31-1.05 1.69-0.7 3.22-1.72 4.5-3.01a13.815 13.815 0 0 0 4.06-9.81c0-1.34-0.21-2.66-0.62-3.93-7.25-23.19-24.22-49.27-24.22-92.53h13.66c3.65 0.01 7.15-1.42 9.75-3.98 2.59-2.56 4.08-6.04 4.12-9.68v-13.87c0.01-3.65-1.42-7.15-3.98-9.74-2.56-2.6-6.04-4.08-9.68-4.13h-13.87\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"16\", fill: \"none\" } }] }, \"channels-outline\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M196.19999999999982 301.1999999999998v-126.9c-0.01-2.72 0.79-5.38 2.29-7.65a13.7 13.7 0 0 1 6.15-5.09c1.67-0.69 3.45-1.05 5.26-1.06 2.34 0.02 4.64 0.6 6.7 1.7l114.2 63.4c2.98 1.62 5.24 4.29 6.37 7.49 1.12 3.19 1.01 6.69-0.3 9.82-1.2 2.88-3.34 5.28-6.07 6.79l-114.2 63.5a13.7 13.7 0 0 1-6.85 1.77 13.64 13.64 0 0 1-6.81-1.89 13.6 13.6 0 0 1-4.96-5.04 13.64 13.64 0 0 1-1.78-6.84\", style: { fill: \"currentcolor\" } }, { d: \"M411.2999999999997 438.7999999999993h-301.9a14.714 14.714 0 0 1-10.02-24.89c2.63-2.74 6.22-4.36 10.02-4.51h301.9a14.714 14.714 0 0 1 14.12 14.7 14.714 14.714 0 0 1-14.12 14.7\", style: { fill: \"currentcolor\" } }, { d: \"M456.39999999999964 387h-389.9c-5.11 0-10.17-1.01-14.89-2.96a38.8 38.8 0 0 1-12.62-8.43c-3.61-3.61-6.48-7.9-8.43-12.62a38.8 38.8 0 0 1-2.96-14.89V127.39999999999964c0-5.11 1-10.17 2.96-14.89 1.95-4.72 4.82-9.01 8.43-12.62s7.9-6.48 12.62-8.43c4.72-1.96 9.78-2.96 14.89-2.96h389.9c5.11 0 10.17 1 14.89 2.96 4.72 1.95 9.01 4.82 12.62 8.43s6.48 7.9 8.43 12.62 2.96 9.78 2.96 14.89v220.7a38.99 38.99 0 0 1-11.41 27.49 38.99 38.99 0 0 1-27.49 11.41m-390-273.3a13.826 13.826 0 0 0-13.8 13.8v220.6a13.826 13.826 0 0 0 13.8 13.8h389.9a13.826 13.826 0 0 0 13.8-13.8V127.39999999999964a13.826 13.826 0 0 0-13.8-13.8h-389.9z\", style: { fill: \"currentcolor\" } }] }, channels: { viewBox: \"0 0 512 512\", paths: [{ d: \"M456.39999999999964 387h-389.9c-5.11 0-10.17-1-14.89-2.96a38.8 38.8 0 0 1-12.62-8.43c-3.61-3.61-6.48-7.9-8.43-12.62a38.8 38.8 0 0 1-2.96-14.89v-220.7c0-5.11 1-10.17 2.96-14.89 1.95-4.72 4.82-9.01 8.43-12.62s7.9-6.48 12.62-8.43 9.78-2.96 14.89-2.96h389.9c5.11 0 10.17 1.01 14.89 2.96s9.01 4.82 12.62 8.43 6.48 7.9 8.43 12.62 2.96 9.78 2.96 14.89v220.7a38.99 38.99 0 0 1-11.41 27.49 38.95 38.95 0 0 1-27.49 11.41m-246.5-226.5c-1.81 0.01-3.59 0.37-5.26 1.06a13.76 13.76 0 0 0-8.44 12.74V301.1999999999998c-0.03 3.62 1.39 7.11 3.93 9.69s6 4.05 9.62 4.08h0.12c2.36 0 4.68-0.61 6.73-1.77l114.2-63.5c1.76-0.96 3.29-2.3 4.48-3.92a13.7 13.7 0 0 0 2.4-5.44 13.775 13.775 0 0 0-2.76-11.29 13.7 13.7 0 0 0-4.12-3.45l-114.2-63.4c-2.06-1.1-4.36-1.68-6.7-1.7\", style: { fill: \"currentcolor\" } }, { d: \"M411.2999999999997 438.8000000000002h-301.9a14.714 14.714 0 0 1-10.02-24.89c2.63-2.74 6.22-4.36 10.02-4.51h301.9a14.714 14.714 0 0 1 14.12 14.7 14.714 14.714 0 0 1-14.12 14.7\", style: { fill: \"currentcolor\" } }] }, actors: { viewBox: \"0 0 512 512\", paths: [{ d: \"M124.17000000000007 327.6899999999996c6.86 5.15 11.74 11.66 15.82 21.09 18.83 43.43 50.67 70.54 94.62 80.59 7.65 1.77 15.47 2.68 23.32 2.69 24.09 0 47.93-8.91 70.88-26.51 21.43-16.45 36.82-37.04 45.74-61.22 2.7-7.33 7.55-11.59 12.7-15.66 18.39-14.55 27.28-32.6 27.18-55.21-0.04-9.34-3.02-16.56-9.1-22.07-7.73-7.01-7.57-15.18-6.78-20.72l1.25-8.52c1.73-11.54 3.36-22.46 3.89-33.66 1.64-34.48-11.66-64.68-40.65-92.32-20.77-19.79-44.89-32.92-73.73-40.17a290 290 0 0 0-38.25-2.9c-11.09 0-20.06 0.94-26.69 2.76-43.19 11.92-74.96 33.83-97.15 66.99-12.92 19.32-18.37 42.71-16.63 71.49 0.5 8.2 1.43 16.62 2.34 24.76 0.42 3.83 0.84 7.66 1.23 11.5 0.42 4.06 1.26 12.52-5.82 19.57-11.86 11.8-13.78 25.81-6.45 46.87a63.98 63.98 0 0 0 22.28 30.65m-6.31-56.48c1.71-9.23 6.87-15.63 14.54-18.03 2.29-0.72 3.07-0.96 2.74-5.89-0.99-14.88 2.68-29 6.81-42.05a57.05 57.05 0 0 1 18.62-27.69c1.98-1.62 5.08-3.76 9.05-3.76 2.43 0 8.4 0.94 11.04 9.58 5.61 18.23 18.48 29.23 44.43 37.93 8.46 2.9 17.34 4.41 26.29 4.46 1.61 0 3.22-0.05 4.84-0.15 2.57-0.12 5.12-0.48 7.62-1.09-4.6-6.61-9.52-19.95-9.19-25.5l1.34-21.69 13.25 17.23c12.2 15.84 29.57 19.97 46.54 22.07 3.67 0.45 7.36 0.67 11.05 0.67 10.48 0 20.9-1.6 33.33-3.99 2.11-0.47 4.25-0.74 6.41-0.8 11.66 0 11.8 11.65 11.84 15.49 0.08 8.44-0.14 15.99-0.72 23.06-0.04 0.36-0.05 0.73-0.02 1.09 0.33 0.21 0.67 0.4 1.03 0.55 13.8 6.31 18.79 15.72 16.2 30.5-2.53 14.44-8.53 34.72-31.26 44.02-0.62 1.07-1.1 2.21-1.42 3.41l-0.65 1.94c-7.4 20.71-17.77 37.17-31.73 50.32-20.85 19.64-44.28 30.31-69.64 31.7-1.71 0.09-3.4 0.14-5.08 0.14-20.17 0-39.95-6.76-58.82-20.13a119.1 119.1 0 0 1-45.83-62.51c-1.26-3.99-2.45-5.46-5.59-6.9-17.53-8.02-30.67-34.25-27.02-53.98\", style: { fill: \"currentcolor\" } }] }, \"anime-outline\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M358.40999999999985 135.22999999999956c15.61-18.37 35.63-26.75 59.44-23.24 16.6 2.45 30.16 11.11 40.67 24.69 19.83 25.65 19.19 76.55-30.25 98.09 0.16 2.19 0.2 4.55 0.51 6.89 1.48 11 3.48 21.95 4.45 33 1.23 14.14-3.39 19.1-17.54 20.39-1.02 0.18-2.03 0.44-3.01 0.78 6.04 26.7 12.06 53.33 18.07 79.88 0.73 3.22 1.5 6.44 2.01 9.7 1.33 8.43-2.84 15.12-10.14 16.51-7.86 1.49-14.36-3.1-16.4-11.74-3.1-13.16-6.09-26.35-9.17-39.52-0.33-1.38-0.93-2.7-1.81-5.23-30.42 55.78-75.5 87.65-138.92 87.7-63.53 0.05-108.75-31.67-139.57-88.23-1.99 8.07-3.67 14.6-5.2 21.17-1.97 8.49-3.61 17.05-5.77 25.49-0.87 3.56-3.11 6.64-6.22 8.56a13.94 13.94 0 0 1-10.45 1.73c-6.83-1.6-11.33-8.33-9.67-16.05 5.1-23.79 10.6-47.49 15.93-71.23 1.38-6.14 2.7-12.3 4.04-18.43-0.59-0.35-1.07-0.86-1.59-0.9-15.83-1.45-20.23-6.24-18.76-22 1-10.75 3.01-21.39 4.51-32.09 0.29-2.06 0.31-4.15 0.51-6.91-22.11-8.93-37.23-24.65-41.61-48.35-3.42-18.46 0.62-35.97 12.61-51.07 20.27-25.53 65.46-36.84 99.09 0.15 67.47-41.75 135.21-42.06 204.24 0.25m-12.05 26.43c-51.83-41.47-131.95-39.77-179.9-0.23 3.98 41.02-14.94 65.83-54.53 76.35l-5.35 28.96h57.48c3.02-9.43 5.84-18.6 8.89-27.68 2.91-8.65 10.17-13.2 17.09-11.02 8.15 2.58 11.61 9.55 9.04 18.76-1.84 6.58-4 13.08-6.09 19.82h49.83c0-8.53-0.16-16.32 0.04-24.11 0.23-8.95 5.92-15.14 13.43-15.02 7.55 0.12 12.82 6.21 13.11 15.36 0.15 4.52-0.02 9.05 0.07 13.58 0.08 3.48 0.34 6.95 0.52 10.38h49.4c-2.38-7.52-4.77-14.29-6.63-21.19-2.15-7.99 1.46-14.67 8.91-17.37 6.47-2.36 13.3 1.14 16.66 8.64 0.73 1.63 1.09 3.43 1.66 5.13 2.77 8.23 5.56 16.45 8.31 24.58h57.46c-1.99-10.31-3.79-19.63-5.68-29.43-17.72-3.78-32.68-11.45-43.12-26.27-10.4-14.77-14.07-31.03-10.6-49.24m34.04 134.14h-248.61a125.12 125.12 0 0 0 41.11 78.96 125.15 125.15 0 0 0 83.2 31.66c30.67 0 60.28-11.27 83.19-31.66a125.12 125.12 0 0 0 41.11-78.96m-276.77-86.33c18.44 1.93 36.39-15.68 36.35-34.63-0.04-19.77-15.44-35.83-35.13-36.1-20.27-0.28-36.77 15.88-36.52 35.77 0.11 9.3 3.88 18.17 10.48 24.71a35.36 35.36 0 0 0 24.82 10.25m304.29 0c15.8 1.55 35.26-11.81 35.9-35.18 0.52-19.57-15.93-35.29-35.76-35.61-21.7-0.35-35.98 19.45-35.91 35.47 0.08 20.66 19.27 37.19 35.77 35.32\", style: { fill: \"currentcolor\" } }, { d: \"M181.15999999999985 344.25c-4.06-4.81-3.28-12.06-1.69-15.34 4.01-8.28 14.01-9.79 21.32-2.88 6.75 6.37 13.14 8.34 21.9 4.04 7.52-3.69 15.67-0.42 18.49 6.05 3.19 7.3 0.1 14.51-7.64 18.82-18.99 10.6-40.19 3.85-52.38-10.7\", style: { fill: \"currentcolor\" } }, { d: \"M331.35000000000036 344.25c4.05-4.81 3.28-12.06 1.69-15.34-4.01-8.28-14.02-9.79-21.33-2.88-6.74 6.37-13.13 8.34-21.89 4.04-7.52-3.69-15.67-0.42-18.5 6.05-3.18 7.3-0.09 14.51 7.64 18.82 18.99 10.6 40.19 3.85 52.39-10.7\", style: { fill: \"currentcolor\" } }] }, anime: { viewBox: \"0 0 512 512\", paths: [{ d: \"M95.36999999999989 314.5799999999999c-5.33 23.74-10.83 47.44-15.93 71.23-1.66 7.72 2.84 14.46 9.67 16.06a13.943 13.943 0 0 0 16.67-10.3c2.16-8.43 3.8-17 5.77-25.49 1.53-6.57 3.21-13.1 5.2-21.17 30.82 56.56 76.04 88.28 139.57 88.23 63.42-0.05 108.5-31.92 138.92-87.7 0.88 2.53 1.48 3.85 1.81 5.24 3.07 13.16 6.07 26.35 9.17 39.51 2.03 8.64 8.54 13.23 16.4 11.74 7.3-1.38 11.47-8.08 10.14-16.51-0.51-3.26-1.28-6.48-2.01-9.7-5.9-26.14-11.82-52.31-17.76-78.52h-313.81c-1.26 5.78-2.51 11.59-3.81 17.38m193.59 15.3c9.17 4.07 15.86 2.93 22.67-4.07 4.3-4.42 9.94-5.54 15.76-2.36 4.59 2.51 6.57 6 6.94 10.2 0.15 2.09-0.11 4.18-0.77 6.17s-1.71 3.82-3.09 5.4c-11.74 13.78-33 20.33-52.04 9.61-4.1-2.31-7.38-5.03-8.14-10.07-1.74-11.54 7.73-19.73 18.67-14.88m-110.23 1.05c0.18-0.69 0.43-1.37 0.74-2.01 4.01-8.28 14.02-9.79 21.33-2.88 6.74 6.37 13.14 8.33 21.89 4.04 7.53-3.69 15.67-0.43 18.5 6.05 3.18 7.3 0.09 14.5-7.65 18.82-18.4 10.27-38.89 4.24-51.06-9.18a15.9 15.9 0 0 1-3.77-6.94c-0.66-2.59-0.65-5.31 0.02-7.9\", style: { fill: \"currentcolor\" } }, { d: \"M458.52000000000044 136.67999999999938c-10.5-13.58-24.07-22.24-40.67-24.69-23.81-3.51-43.83 4.88-59.44 23.24-69.03-42.31-136.78-42-204.24-0.25-33.63-36.99-78.82-25.68-99.09-0.15-12 15.1-16.03 32.61-12.61 51.07 4.38 23.7 19.49 39.42 41.61 48.35-0.2 2.76-0.23 4.85-0.51 6.91-0.53 3.75-1.11 7.5-1.69 11.24-0.3 1.95-0.17 3.93 0.37 5.83a13.7 13.7 0 0 0 2.76 5.14c1.28 1.49 2.87 2.69 4.66 3.52 1.79 0.82 3.74 1.25 5.71 1.25h65.75c3.02-9.43 5.84-18.6 8.89-27.69 2.91-8.64 10.17-13.2 17.09-11.02 8.15 2.58 11.61 9.55 9.04 18.76-1.84 6.58-4 13.08-6.09 19.82h49.83c0-8.52-0.16-16.32 0.04-24.11 0.23-8.95 5.92-15.14 13.43-15.01 7.55 0.12 12.82 6.21 13.11 15.36 0.15 4.52-0.02 9.05 0.07 13.57 0.08 3.48 0.34 6.95 0.52 10.38h49.4c-2.38-7.52-4.77-14.28-6.63-21.19-2.15-7.99 1.46-14.66 8.91-17.37 6.47-2.36 13.3 1.15 16.66 8.65 0.73 1.63 1.09 3.42 1.66 5.12 2.77 8.23 5.56 16.45 8.31 24.59h71.43c1.96 0 3.91-0.42 5.69-1.24 1.79-0.82 3.38-2.01 4.66-3.5s2.23-3.23 2.77-5.12c0.55-1.89 0.68-3.87 0.4-5.81-0.53-3.56-1.06-7.11-1.54-10.67-0.31-2.33-0.36-4.7-0.51-6.89 49.43-21.54 50.07-72.44 30.24-98.09m-354.88 72.79a35.42 35.42 0 0 1-24.81-10.25 35.44 35.44 0 0 1-10.49-24.71c-0.25-19.89 16.25-36.05 36.52-35.78 19.69 0.27 35.09 16.34 35.13 36.1 0.04 18.96-17.91 36.57-36.35 34.64m304.29 0c-16.5 1.87-35.69-14.65-35.77-35.32-0.06-16.02 14.21-35.82 35.91-35.47 19.83 0.32 36.28 16.05 35.76 35.61-0.63 23.38-20.1 36.73-35.9 35.18\", style: { fill: \"currentcolor\" } }] }, \"tv-outline\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M374.7999999999997 308.7999999999993l82.7 58.2a15.94 15.94 0 0 0 7.8 1.3c2.66-0.22 5.24-1.08 7.5-2.5 2.22-1.46 4.03-3.45 5.29-5.79s1.91-4.96 1.91-7.61v-192.8c0.04-4.03-1.46-7.92-4.19-10.87a15.73 15.73 0 0 0-10.51-5.03c-2.67-0.22-5.35 0.22-7.8 1.3l-82.7 58.2c-2.1 1.47-3.81 3.43-5 5.7a15.86 15.86 0 0 0-1.8 7.4v79.4c-0.01 2.58 0.61 5.12 1.8 7.4 1.19 2.27 2.9 4.22 5 5.7\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M268 384h-184a51.8 51.8 0 0 1-19.88-3.97 51.7 51.7 0 0 1-16.82-11.33 52.77 52.77 0 0 1-15.3-36.7v-152c0-6.83 1.35-13.58 3.97-19.88 2.63-6.3 6.48-12.02 11.33-16.82 9.76-9.7 22.94-15.2 36.7-15.3h184.5c13.65 0.05 26.72 5.48 36.4 15.1a51.3 51.3 0 0 1 11.18 16.69 51.5 51.5 0 0 1 3.92 19.71v152.5a52.23 52.23 0 0 1-15.3 36.7 52.23 52.23 0 0 1-36.7 15.3Z\", style: { stroke: \"currentcolor\", strokeMiterlimit: \"10\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M91.39999999999964 207.79999999999927h83.9\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M133.39999999999964 313.5v-105.7\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M180.0999999999999 208.79999999999927l38.1 104.7 37.8-104.7\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"32\", fill: \"none\" } }] }, tv: { viewBox: \"0 0 512 512\", paths: [{ d: \"M466.3199999999997 127.94999999999982c-5.29-0.42-10.6 0.47-15.46 2.6-0.97 0.43-1.9 0.95-2.77 1.57l-82.7 58.2a32 32 0 0 0-10 11.43 32.1 32.1 0 0 0-3.59 14.75v79.34a31.85 31.85 0 0 0 3.58 14.79c2.36 4.57 5.8 8.49 10.01 11.45l82.7 58.2c0.86 0.61 1.78 1.13 2.75 1.56 4.06 1.79 8.46 2.72 12.9 2.72 0.9 0 1.79-0.04 2.68-0.12 5.22-0.44 10.25-2.11 14.69-4.89 0.1-0.07 0.2-0.13 0.3-0.2 4.43-2.91 8.07-6.89 10.58-11.56a31.96 31.96 0 0 0 3.81-15.19v-192.73c0.05-8.07-2.96-15.85-8.44-21.78a31.77 31.77 0 0 0-21.04-10.14\", style: { fill: \"currentcolor\" } }, { d: \"M268.2999999999997 112.19999999999982h-184.62a68.23 68.23 0 0 0-67.88 68v152.14c0.1 17.98 7.29 35.2 20.02 47.91a68.28 68.28 0 0 0 47.93 19.95h184.12a68.46 68.46 0 0 0 47.9-20.07 68.44 68.44 0 0 0 20.03-47.93v-152.49a67.57 67.57 0 0 0-19.78-47.72 67.54 67.54 0 0 0-47.72-19.79m2.55 102.23l-37.8 104.7a16.04 16.04 0 0 1-5.85 7.66 15.96 15.96 0 0 1-9.18 2.91h-0.02c-3.28 0-6.49-1.01-9.18-2.89a15.94 15.94 0 0 1-5.85-7.64l-34.64-95.17h-19.13v89.7c0 4.24-1.69 8.31-4.69 11.31s-7.07 4.69-11.31 4.69-8.31-1.69-11.31-4.69-4.69-7.07-4.69-11.31v-89.7h-26c-4.24 0-8.31-1.69-11.31-4.69s-4.69-7.07-4.69-11.31 1.69-8.31 4.69-11.31 7.07-4.69 11.31-4.69h83.9c4.95 0.6 9.78 1.99 14.29 4.12 2.54 1.87 4.47 4.45 5.55 7.41l23 63.22 22.81-63.18c1.46-3.96 4.43-7.19 8.26-8.97s8.21-1.98 12.18-0.55c3.98 1.44 7.22 4.39 9.03 8.2 1.81 3.82 2.04 8.2 0.63 12.18\", style: { fill: \"currentcolor\" } }] }, \"calendar-thin\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M114.45000000000073 100.30000000000018h283.1c11.26 0.01 22.06 4.48 30.03 12.45a42.5 42.5 0 0 1 12.44 30.02v254.78a42.52 42.52 0 0 1-12.45 30.02 42.46 42.46 0 0 1-30.02 12.44h-283.1c-11.26 0-22.06-4.48-30.02-12.44a42.46 42.46 0 0 1-12.44-30.02v-254.78c0-11.26 4.47-22.06 12.44-30.03a42.46 42.46 0 0 1 30.02-12.44Z\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"16\", fill: \"none\" } }, { d: \"M291.3899999999994 256c4.93 0.02 9.72-1.68 13.54-4.8s6.44-7.47 7.41-12.3c0.98-4.84 0.24-9.86-2.07-14.22a21.335 21.335 0 0 0-24.98-10.39c-4.72 1.43-8.8 4.45-11.54 8.55-2.75 4.1-3.98 9.02-3.5 13.93a21.3 21.3 0 0 0 6.14 12.99 21.27 21.27 0 0 0 15 6.24\", style: { fill: \"currentcolor\" } }, { d: \"M362.15999999999985 256c4.93 0.01 9.71-1.68 13.52-4.8a21.28 21.28 0 0 0 5.33-26.49 21.3 21.3 0 0 0-10.61-9.66 21.36 21.36 0 0 0-14.34-0.72 21.304 21.304 0 0 0-15.03 22.45c0.48 4.91 2.65 9.49 6.13 12.98a21.27 21.27 0 0 0 15 6.24\", style: { fill: \"currentcolor\" } }, { d: \"M291.3899999999994 326.77000000000044c5.26 0 10.33-1.95 14.23-5.48 3.89-3.53 6.34-8.39 6.86-13.62 0.51-5.23-0.93-10.47-4.06-14.7a21.2 21.2 0 0 0-12.88-8.16c-5.16-1.03-10.51-0.1-15.02 2.6-4.52 2.7-7.86 6.98-9.39 12.01a21.17 21.17 0 0 0 1.11 15.21 21.18 21.18 0 0 0 19.15 12.14\", style: { fill: \"currentcolor\" } }, { d: \"M362.15999999999985 326.77000000000044c5.26 0 10.33-1.95 14.23-5.48 3.89-3.53 6.34-8.39 6.86-13.62 0.51-5.23-0.93-10.47-4.06-14.7a21.2 21.2 0 0 0-12.88-8.16c-5.16-1.03-10.51-0.1-15.02 2.6-4.52 2.7-7.86 6.98-9.39 12.01a21.17 21.17 0 0 0 1.11 15.21 21.18 21.18 0 0 0 19.15 12.14\", style: { fill: \"currentcolor\" } }, { d: \"M149.84000000000015 326.77000000000044c4.93 0.02 9.72-1.68 13.54-4.79a21.26 21.26 0 0 0 7.42-12.31c0.98-4.83 0.25-9.86-2.07-14.21a21.33 21.33 0 0 0-10.62-9.67c-4.56-1.9-9.63-2.15-14.35-0.73a21.3 21.3 0 0 0-11.55 8.55c-2.74 4.1-3.98 9.02-3.5 13.93a21.3 21.3 0 0 0 6.14 12.99 21.35 21.35 0 0 0 14.99 6.24\", style: { fill: \"currentcolor\" } }, { d: \"M220.60000000000036 326.77000000000044a21.3 21.3 0 0 0 13.53-4.79 21.33 21.33 0 0 0 7.41-12.29c0.97-4.83 0.24-9.85-2.08-14.2a21.2 21.2 0 0 0-10.61-9.66 21.27 21.27 0 0 0-14.33-0.73c-4.72 1.42-8.8 4.44-11.54 8.54a21.28 21.28 0 0 0 2.63 26.89c3.98 3.97 9.37 6.21 14.99 6.24\", style: { fill: \"currentcolor\" } }, { d: \"M149.84000000000015 397.53999999999996c4.92 0.01 9.7-1.69 13.51-4.81a21.276 21.276 0 0 0 5.31-26.47 21.297 21.297 0 0 0-24.94-10.36 21.28 21.28 0 0 0-11.52 8.54 21.27 21.27 0 0 0 17.64 33.1\", style: { fill: \"currentcolor\" } }, { d: \"M220.60000000000036 397.53999999999996c5.25 0 10.31-1.95 14.19-5.48a21.08 21.08 0 0 0 6.84-13.58c0.52-5.23-0.93-10.45-4.05-14.67-3.12-4.21-7.7-7.12-12.85-8.14a21.1 21.1 0 0 0-14.99 2.59c-4.5 2.69-7.84 6.96-9.37 11.98a21.14 21.14 0 0 0 1.11 15.18c2.23 4.74 6.16 8.49 11 10.5 2.57 1.07 5.33 1.62 8.12 1.62\", style: { fill: \"currentcolor\" } }, { d: \"M291.3899999999994 397.53999999999996c5.26 0 10.33-1.95 14.23-5.48 3.89-3.53 6.34-8.39 6.86-13.62 0.51-5.23-0.93-10.47-4.06-14.7a21.2 21.2 0 0 0-12.88-8.16c-5.16-1.03-10.51-0.1-15.02 2.6-4.52 2.7-7.86 6.98-9.39 12.01a21.17 21.17 0 0 0 1.11 15.21 21.18 21.18 0 0 0 19.15 12.14\", style: { fill: \"currentcolor\" } }, { d: \"M142.76000000000022 71.98999999999978v28.31\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"16\", fill: \"none\" } }, { d: \"M369.2399999999998 71.98999999999978v28.31\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"16\", fill: \"none\" } }, { d: \"M440.0100000000002 171.0699999999997h-368.02\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"16\", fill: \"none\" } }] }, android: { viewBox: \"0 0 512 512\", paths: [{ d: \"M317.5199999999986 57.850000000000364l23.96-34.79c0.37-0.44 0.65-0.95 0.82-1.5 0.16-0.55 0.21-1.13 0.13-1.7s-0.27-1.12-0.57-1.61-0.7-0.91-1.17-1.24c-0.71-0.49-1.57-0.75-2.43-0.73-0.87 0.02-1.71 0.32-2.4 0.84-0.46 0.35-0.83 0.79-1.11 1.3l-24.9 36.15a148.96 148.96 0 0 0-107.69 0l-24.9-36.15c-0.27-0.51-0.65-0.95-1.11-1.3s-0.99-0.6-1.55-0.73-1.14-0.15-1.71-0.05c-0.57 0.11-1.1 0.33-1.58 0.66a4.111 4.111 0 0 0-0.78 6.06l23.97 34.8c-38.12 17.72-64.84 51.42-68.25 90.73h259.5c-3.4-39.32-30.13-73.01-68.23-90.74m-115.72 54.85c-3.33 0-6.55-1.14-9.12-3.25a14.34 14.34 0 0 1-4.99-8.3c-0.66-3.26-0.16-6.65 1.41-9.58 1.56-2.94 4.1-5.24 7.17-6.51 3.07-1.28 6.49-1.45 9.67-0.49a14.39 14.39 0 0 1 10.14 15.16c-0.33 3.31-1.79 6.41-4.14 8.76a14.3 14.3 0 0 1-4.65 3.11c-1.74 0.73-3.61 1.1-5.49 1.1m108.4 0a14.43 14.43 0 0 1-14.39-13c-0.35-3.56 0.63-7.14 2.76-10.02s5.26-4.86 8.77-5.57a14.44 14.44 0 0 1 16.64 9.96 14.44 14.44 0 0 1-8.28 17.53c-1.74 0.72-3.61 1.1-5.5 1.1\", style: { fill: \"currentcolor\" } }, { d: \"M109.59000000000015 312.5699999999997c0 7.68-3.05 15.04-8.48 20.47a28.944 28.944 0 0 1-40.94 0 28.94 28.94 0 0 1-8.48-20.47v-117.08c0-7.68 3.05-15.04 8.48-20.47a28.944 28.944 0 0 1 40.94 0 28.94 28.94 0 0 1 8.48 20.47z\", style: { fill: \"currentcolor\" } }, { d: \"M126.25 167.4300000000003v211.48c0 6.03 2.4 11.81 6.66 16.07a22.73 22.73 0 0 0 16.08 6.66h26.9v65.07c0 7.68 3.05 15.04 8.48 20.47a28.944 28.944 0 0 0 40.94 0 28.94 28.94 0 0 0 8.48-20.47v-65.07h44.42v65.07c0 7.68 3.05 15.04 8.48 20.47a28.944 28.944 0 0 0 40.94 0 28.94 28.94 0 0 0 8.48-20.47v-65.07h26.9c6.03 0 11.81-2.39 16.08-6.66a22.73 22.73 0 0 0 6.66-16.07v-211.48z\", style: { fill: \"currentcolor\" } }, { d: \"M402.40999999999985 312.5699999999997c0 7.68 3.05 15.04 8.48 20.47a28.938 28.938 0 0 0 40.93 0 28.94 28.94 0 0 0 8.48-20.47v-117.08c0-7.68-3.05-15.04-8.48-20.47a28.94 28.94 0 0 0-40.93 0 28.94 28.94 0 0 0-8.48 20.47z\", style: { fill: \"currentcolor\" } }] }, linux: { viewBox: \"0 0 512 512\", paths: [{ d: \"M108.5 346.1800000000003c1.3 2.6 1.9 5.44 1.9 8.31 0 2.88-0.6 5.72-1.8 8.32-4.4 10.27-13.3 13.43-23.6 14.01-3.8 0.21-7.7-0.22-11.6-0.09-5.1 0.18-6.8 2.05-6.9 7.15 0.1 2.92 0.8 5.79 2.2 8.37 2 4.14 3.8 8.4 5.3 12.76 0.9 2.46 1.2 5.08 1 7.69s-0.9 5.15-2.1 7.46c-1.8 3.23-3.4 6.57-4.8 9.93-3 6.99-1.6 10.06 5.8 12.42 9.9 3.16 20.1 4.79 30.3 6.8 16.1 3.19 31.9 7.42 47.4 12.68 8.8 2.97 17.7 5.13 26.9 4.26 16.1-1.5 24.3-10.51 21.2-29.03-1.7-10.22-6.5-19.23-11.9-27.81-9-14.3-18.4-28.4-28-42.38-6.6-9.68-13.9-18.84-22.9-26.48-5.9-4.99-12.3-7.55-20-3.36-3.8 2.09-5.4-0.6-6-3.83-2-10.2-0.2-20.79 5.3-29.66 7.3-12.34 12.6-25.45 17.2-38.96 6.5-19.25 15.5-37.16 29.2-52.57 9-10.08 15.8-21.86 23.2-33.1 4.8-7.3 3.8-15.17 3.1-23.07-2-20-2.1-40.06-3-60.11-0.6-11.46 0.2-22.95 2.4-34.22 2.6-12.69 9.8-22.52 19.5-30.8 16.4-13.88 35.4-15.82 55.8-12.41 8.1 1.36 15.9 3.13 23.6 6.52 14.7 6.57 24.8 17.7 32.3 31.26a92.6 92.6 0 0 1 11.6 50.45c-1 24.35 5.1 47.42 15.2 69.46 5.6 12.11 13.9 22.62 23 32.2 11.4 11.9 19.7 25.58 26.9 40.11 8.2 16.69 14.2 34.37 17.8 52.6 2.6 11.57 2.8 23.53 0.6 35.17-1.1 5.3-3.1 9.71-8.8 11.88-4.1 1.51-5.7 5.9-8.2 9.15-6.9 8.96-15 15.49-27.2 15.92-12 0.41-20-4.06-24.9-15.28-1.3-3.13-2.7-6.2-5.2-8.61-4.2-4-8.3-3.16-10.5 2.05-4.4 9.88-4 19.91-1.1 30.1 4.7 16.48 3.4 33.08 1.1 49.66-0.9 5.46-1 11.01-0.3 16.5 1.7 13.91 14.7 21.99 29.2 18.29 6.3-1.63 12.1-4.73 16.9-9.06 13.1-11.6 28.5-20.24 45.1-25.32 8-2.4 16-4.89 22.9-9.83 6.5-4.75 6.7-9.43 0.2-14.33a33.2 33.2 0 0 0-11.5-5.97c-3.2-0.79-6.2-2.25-8.9-4.3-2.6-2.04-4.8-4.62-6.4-7.56-5.3-9.37-6.2-19.46-3.2-29.78 0.4-1.45 1.1-3.21 3-2.82 1.7 0.34 1.5 2.15 1.5 3.48 0.5 17.63 8.9 30.18 24.9 37.85 1 0.45 2 0.97 2.9 1.54 11.5 7.28 12.5 16.34 2.8 25.58-5.7 5.38-12.6 8.98-19.6 11.96-21.3 8.99-40 21.72-56.8 37.32-4.8 4.47-11.1 5.45-17.1 6.21-7.8 0.99-15.7-0.3-23.3-2.62-6.3-1.92-10.7-6.25-13.8-11.76-3.6-6.53-9.1-9.12-16.3-9.46-19.9-1.07-39.9-0.98-59.8 0.26-5.6 0.39-11.4-0.3-17 0.88-9.1 1.88-17.6 4.96-24.7 10.99-13.8 11.8-29 11.46-44.7 4.92-22.6-9.36-46.2-15.01-70.2-19.03-6.6-0.99-13-2.78-19.2-5.34-7.3-3.2-10.5-8.96-8.9-16.7 0.6-2.69 1-5.62 2.4-7.87 6.7-10.68 4.8-21.7 1.8-32.89-0.7-2.81-1.3-5.65-1.8-8.53-1.3-9.1 3.3-13.18 13.1-14.47 4-0.51 8-0.39 12-0.74 4.2-0.38 7.6-2.02 11.2-3.98 2.8-1.44 5.2-3.54 7.1-6.11 1.8-2.57 3-5.55 3.4-8.67 0.2-0.89 0.5-1.78 0.8-2.64 0-0.12 0.2-0.2 1-0.92m248.6-22.27q-1.2-0.075-2.4 0.03c-9.7 1.62-14.2-3.41-14.4-13.18-0.3-15.17-0.8-30.27-4.6-45.13-3-11.81-6.1-23.6-14.4-33.02-2.7-2.9-4.6-6.45-5.5-10.31-3.5-14.78-8.6-28.86-18.3-40.9-2.5-3.05-4.3-6.58-5.4-10.37-1-3.79-1.3-7.75-0.8-11.65 0.5-3.61 1.9-7.09 2.7-10.65 1.6-6.53-0.1-10.46-6.5-11.98-7.5-1.78-14.1-5.6-21.1-8.28-6.1-2.3-7.8-6.28-7.8-12.06 0.1-3.06 0.7-6.08 1.8-8.93 2.2-6.09 5.8-9.21 11.3-9.21 5.9 0 10.4 2.64 13.1 7.99 2.7 5.51 2.7 11.23 0.8 16.98-1.2 3.96-0.2 5.34 4.1 5.25 2.8-0.07 4.7-1.2 5.1-4.18 1-9.07 0.6-17.96-3-26.56-3.6-8.48-12.4-14.19-20.4-13-11.7 1.74-19.5 9.15-20 19.37-0.3 4.43 0 8.89 0.2 13.32 0.2 4.75 0 5.03-4.4 3.37-2.9-1.13-6-1.56-9.1-1.25-8.6 0.83-9.1 0.3-9.2-8.44 0-7.05-1.5-13.74-5.8-19.53-3.9-5.18-10.2-6.11-15.2-2.42-8.8 6.56-10.3 31.59-2.4 39.3 1.4 1.4 2.6 1.34 3.9 0.06 1.6-1.48 0.5-2.14-0.7-3.14-3.1-2.59-5.2-6.16-5.9-10.1-0.8-3.95-0.1-8.03 1.8-11.55 2.6-4.55 9.4-6.41 13.8-3.74 7.4 4.62 8.5 19.85 2 25.56-5 4.68-10.5 8.94-16.2 12.76-5.2 3.3-5 8.14-0.2 11.88 2.5 1.98 4.9 4.23 7 6.71 3.7 4.59 8.5 6.06 14.3 6.3 13.2 0.59 25.7-2.78 38-6.82 6.6-2.15 13.5-3.77 17.9-9.89 1.4-2.03 3.8-2.05 5.7-0.3 2 1.89 1.9 4.11 0.1 6.12-1.4 1.3-3 2.2-4.8 2.61-8.8 2.7-17 6.59-25.4 10.14-9.8 4.17-19.8 7.64-30.9 6.42-2.7-0.29-5.4-0.07-8.6-0.09 5.6 7.2 12.6 9.24 20.8 8.13 8.2-1.23 16.2-4 23.4-8.15 5.6-3.11 10.9-6.93 17.1-8.97 2.7-0.89 5.5-0.95 6.7 2.22 1.1 3-1.1 4.34-3.4 5.6-8.3 4.48-16.8 8.42-24.3 14.13-5.5 4.18-11.1 8.34-17.3 11.5-9.2 4.76-16.4 3.33-23.1-4.55-3-3.3-5.7-6.87-8.1-10.66-1.5-2.7-3-5.9-6.5-7.3-0.4 2.49-0.5 4.63-0.9 6.71-1.5 7.85-5.8 14.44-9.4 21.35-5.1 9.75-10.2 19.47-4.7 30.84 0.3 0.55 0.4 1.19 0.3 1.81-0.1 0.61-0.5 1.17-1 1.56-8.4 7.1-12.7 16.86-16.9 26.5-6.2 14.33-11.8 28.9-10.7 45.11 0.4 5.92 0.6 11.97-0.8 17.85-1.5 6.47-4.9 7.47-9.6 2.76-7.3-7.19-9.3-16.44-9.9-26.05-0.3-3.96 0.5-7.97 0.9-12.13-0.5 0.18-0.9 0.51-1.2 0.93-0.3 0.43-0.5 0.93-0.5 1.45-2.4 10.34-0.9 20.43 2.8 30.2 1.3 3.52 2.4 7.36 5.4 10.08 4.9 4.46 9.8 8.97 14.8 13.35 14 12.31 28.9 23.54 43.5 35.21 9.8 7.84 9.4 22.61-0.7 28.08-6.7 3.61-6.7 3.61-2.4 9.99 0.6 0.89 1.3 1.76 2 2.6 5 6.24 8.2 13.83 9 21.84 0.2 2.72 0.1 5.64 1.6 8.58 1.3-1.05 2.3-2.45 2.8-4.04 0.6-1.59 0.7-3.3 0.3-4.94-0.9-6-3-11.57-7-16.29-1.6-1.81-4-3.72-1.1-6.18 2.5-2.17 5.6-3.19 8.3-0.64 8.8 7.94 19.4 9.65 30.6 9.87 10.7 0.11 21.3-1.56 31.4-4.96 11.4-3.67 21.6-9.15 27.5-20.25 0.6-1.05 1.4-1.99 2.3-2.8 1.6-1.47 3.1-3.25 5.6-2.47s2.8 3.04 3.3 5.16c2 8.29-0.1 16.06-2.6 23.87-1.7 5.51-4 10.96-4 16.9 0 1.8 0.4 3.63 2.4 3.87 2.3 0.27 2.1-1.91 2.4-3.27 1.3-5.99 2.4-12 3.7-17.97 2.7-12.28 3.3-24.94 1.7-37.43-1-8.5-3.5-16.89-2.8-25.53 0.7-8.49 1.4-18.02 9.8-22.03 6.2-2.95 10.7-6.23 14.1-12.02 3-5.05 9-5.41 14.1-6.96 7.1-0.79 13.9 0.92 21.4 2.79-1.5-1.95-3.6-3.39-5.9-4.16-3.7-1.45-4.6-3.61-3.7-7.51 1.8-7.11 4-14.33 2.9-21.75-2.4-17.29-4.3-34.79-14.4-49.96-3.4-5.16-7.2-10.08-10.8-15.1 3 6.12 5.9 12.17 9 18.12 3.2 6.17 5.5 12.69 7.9 19.17 3.7 10.32 6.2 21.07 5.5 31.96-0.6 10-0.4 21.02-11.8 26.49\", style: { fill: \"currentcolor\" } }] }, windows: { viewBox: \"0 0 512 512\", paths: [{ d: \"M426.10000000000036 457.3699999999999c-27.4-3.99-54.8-7.99-82.2-11.99q-47.25-6.885-94.5-13.74c-6.6-0.96-13.2-1.95-19.8-2.75-1.9-0.25-2.8-0.97-2.6-2.9 0.1-0.7 0.1-1.42 0-2.12V259.1999999999998c77.5 0.41 154.5 0.84 231.7 1.26v201.6c-11-1.58-21.8-3.12-32.6-4.69m-401.8-57.39v-141.85c57.9 0.32 115.6 0.64 173.5 0.95v165.48c-57.9-8.21-115.6-16.38-173.5-24.58m202.9-169.76c0-1.27-0.1-2.51-0.2-3.75v-160.45c0-3.24 1-4.12 4.1-4.53 42.3-5.81 84.6-11.69 126.9-17.63 33.2-4.63 66.5-9.25 99.7-13.85 0.3 0 0.7 0.03 1 0.09v201.39c-77.1-0.42-154.1-0.84-231.5-1.27m-203-1.15v-140.4c57.9-7.49 115.6-14.96 173.6-22.46v163.81c-57.9-0.31-115.6-0.62-173.6-0.95\", style: { fill: \"currentcolor\" } }] }, macos: { viewBox: \"0 0 512 512\", paths: [{ d: \"M156.79999999999927 464.21000000000004c-12.5-8.49-22.4-19.61-31-31.84-21.5-30.65-37.9-63.77-47.9-99.84-8.9-32.09-11.4-64.6-6.4-97.49 4.4-29.01 15.3-55.14 35.8-76.67 21.3-22.32 47.4-31.41 78.1-28.22 15.4 1.6 30.1 6.12 44.9 10.48 6.1 1.8 12.3 3.16 18.5 4.73 8.7 2.23 17.3 1.23 25.8-1.17 12-3.44 23.9-7.37 35.9-10.85 19-5.52 38.3-6.77 57.7-2.24 22.5 5.21 40.2 17.8 55.2 34.78 2.2 2.45 4.3 4.95 6.3 7.28-7.5 7.32-15 14.05-21.8 21.39-17.3 18.46-26.3 40.39-26.5 65.75-0.3 23.09 7.2 45.61 21.2 63.96 9.3 12.4 20.2 22.81 34.9 28.83 1.7 0.7 3.4 1.33 5.6 2.15-2 5.23-3.7 10.43-5.8 15.45-12 28.73-27.5 55.28-48.7 78.29-4 4.27-8.4 8.23-13 11.85-15.5 12.45-32.9 17.13-52.5 11.38-9.8-2.87-19.5-6.13-29.3-9.18-10-3.15-20.2-5.68-30.7-6-13.1-0.4-25.3 3.44-37.4 7.82-9.2 3.31-18.4 6.77-27.9 8.97-3.3 0.76-6.6 1.14-10 1.15-11.1 0-21.4-4.25-31-10.76m183-437.14c0.4 3.42 1.1 6.81 1 10.18-0.2 24.37-8.6 45.87-23.7 64.82-8.3 10.41-18 19.3-29.8 25.78-8.4 4.62-17.7 5.94-27 7.05-3 0.35-6.1 0.58-9.2 0.87 0.5-56.6 30-97.6 88.7-108.7\", style: { fill: \"currentcolor\" } }] }, \"star-rating-full\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M253.60000000000036 34.32999999999993l59.2 169.6 177.8 4.6-141.1 109.4 50.6 172.44-146.5-101.97-146.6 101.97 50.7-172.44-141.2-109.41 177.8-4.6z\", style: { fill: \"currentcolor\" } }] }, \"star-rating-half\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M256.5 35.76000000000022l-0.5-1.43-59.2 169.59-177.6 4.6 141 109.41-50.5 172.44 146.3-101.97 0.5 0.35z m236 172.76v0.21l0.3-0.2z\", style: { fill: \"currentcolor\", fillRule: \"evenodd\", clipRule: \"evenodd\" } }] }, download: { viewBox: \"0 0 512 512\", paths: [{ d: \"M336 173h40c5.3 0 10.5 1.03 15.3 3.04 4.9 2.01 9.3 4.96 13 8.67 3.7 3.72 6.7 8.13 8.7 12.98s3 10.06 3 15.31v208c0 5.25-1 10.46-3 15.31s-5 9.26-8.7 12.98c-3.7 3.71-8.1 6.66-13 8.67-4.8 2.01-10 3.04-15.3 3.04h-240c-5.3 0-10.5-1.03-15.3-3.04-4.9-2.01-9.3-4.96-13-8.67-3.7-3.72-6.7-8.13-8.7-12.98s-3-10.06-3-15.31v-208c0-5.25 1-10.46 3-15.31s5-9.26 8.7-12.98c3.7-3.71 8.1-6.66 13-8.67 4.8-2.01 10-3.04 15.3-3.04h40\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M176 269l80 80 80-80\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M256 45v288\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }] }, language: { viewBox: \"0 0 512 512\", paths: [{ d: \"M478.2999999999993 433.5999999999999l-90-218c-1.2-3.01-3.1-5.7-5.5-7.89s-5.3-3.81-8.4-4.76-6.4-1.19-9.6-0.71-6.3 1.66-9 3.47c-3.7 2.38-6.5 5.83-8.1 9.89l-90 218c-2.2 5.4-2.3 11.46-0.1 16.89 1.1 2.69 2.7 5.13 4.8 7.16 3.1 3.09 7 5.19 11.3 6.04 4.3 0.84 8.7 0.39 12.7-1.3 2.7-1.1 5.1-2.72 7.2-4.78 2-2.07 3.6-4.52 4.7-7.22l18.4-44.39h102.6l18.4 44.39c1.6 4.06 4.4 7.51 8.1 9.89 3.6 2.44 7.9 3.73 12.2 3.72 3.6 0 7.2-0.89 10.4-2.6 4.8-2.57 8.5-6.84 10.3-11.98 1.9-5.15 1.7-10.79-0.4-15.82m-143.5-71.6l33.2-80.35 33.2 80.35z\", style: { fill: \"currentcolor\" } }, { d: \"M267.7999999999993 342.9200000000001c1.7-2.32 3-4.97 3.6-7.78 0.7-2.81 0.8-5.73 0.3-8.58-0.4-2.84-1.4-5.58-2.9-8.04s-3.5-4.6-5.8-6.3c-0.2-0.15-15-11.13-36.5-34.73 39.6-53.68 62.1-114.75 71.2-143.49h32.3c5.8-0.02 11.4-2.33 15.6-6.44 4.1-4.14 6.4-9.73 6.4-15.56s-2.3-11.42-6.4-15.56c-4.2-4.11-9.8-6.42-15.6-6.44h-116v-20c0-5.83-2.3-11.42-6.4-15.56-4.1-4.12-9.8-6.44-15.6-6.44s-11.5 2.32-15.6 6.44c-4.1 4.14-6.4 9.73-6.4 15.56v20h-116c-5.8 0.02-11.4 2.33-15.6 6.44-4.1 4.14-6.4 9.73-6.4 15.56s2.3 11.42 6.4 15.56c4.2 4.11 9.8 6.42 15.6 6.44h197.2c-9.5 26.95-27 69.5-53.7 108.36-31.4-41.68-43.1-68.65-43.2-68.87-2.3-5.32-6.6-9.52-12-11.69-5.3-2.17-11.4-2.13-16.7 0.11-5.4 2.24-9.6 6.49-11.8 11.84-2.3 5.36-2.3 11.37-0.1 16.74 0.6 1.38 14.6 34.23 52.9 83.93 0.9 1.19 1.8 2.35 2.7 3.51-39.2 44.35-77.7 71.86-93.8 80.74-2.5 1.38-4.8 3.25-6.6 5.49-1.8 2.25-3.2 4.84-4 7.61s-1.1 5.68-0.8 8.55c0.3 2.88 1.2 5.66 2.6 8.2 1.4 2.53 3.2 4.77 5.5 6.58 2.2 1.82 4.8 3.17 7.6 3.98 2.7 0.82 5.6 1.08 8.5 0.78 2.9-0.31 5.7-1.18 8.2-2.56 2.2-1.18 48.6-26.89 101.7-85.59 22.5 24.08 38 35.44 38.9 36.1 2.3 1.7 5 2.93 7.8 3.59 2.8 0.68 5.7 0.79 8.6 0.34 5.7-0.95 10.9-4.12 14.3-8.83z\", style: { fill: \"currentcolor\" } }] }, \"movies-outline\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M436 96h-360c-3.68-0.01-7.32 0.71-10.72 2.12-3.4 1.4-6.49 3.47-9.09 6.07s-4.66 5.69-6.07 9.09-2.13 7.04-2.12 10.72v264a27.96 27.96 0 0 0 17.28 25.88c3.4 1.4 7.04 2.12 10.72 2.12h360c3.68 0 7.32-0.72 10.72-2.12 3.4-1.41 6.49-3.47 9.09-6.07s4.66-5.69 6.07-9.09c1.4-3.4 2.13-7.04 2.12-10.72v-264a28.04 28.04 0 0 0-8.21-19.79 28.04 28.04 0 0 0-19.79-8.21Z\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M436 336h-24c-3.68-0.01-7.32 0.71-10.72 2.12-3.4 1.4-6.49 3.47-9.09 6.07s-4.66 5.69-6.07 9.09-2.13 7.04-2.12 10.72v24a27.96 27.96 0 0 0 17.28 25.88c3.4 1.4 7.04 2.12 10.72 2.12h24c3.68 0 7.32-0.72 10.72-2.12 3.4-1.41 6.49-3.47 9.09-6.07s4.66-5.69 6.07-9.09c1.4-3.4 2.13-7.04 2.12-10.72v-24a28.04 28.04 0 0 0-8.21-19.79 28.04 28.04 0 0 0-19.79-8.21Z\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M436 256h-24c-3.68-0.01-7.32 0.71-10.72 2.12-3.4 1.4-6.49 3.47-9.09 6.07s-4.66 5.69-6.07 9.09-2.13 7.04-2.12 10.72v24a27.96 27.96 0 0 0 17.28 25.88c3.4 1.4 7.04 2.12 10.72 2.12h24c3.68 0 7.32-0.72 10.72-2.12 3.4-1.41 6.49-3.47 9.09-6.07s4.66-5.69 6.07-9.09c1.4-3.4 2.13-7.04 2.12-10.72v-24a28.04 28.04 0 0 0-8.21-19.79 28.04 28.04 0 0 0-19.79-8.21Z\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M436 176h-24c-3.68-0.01-7.32 0.71-10.72 2.12-3.4 1.4-6.49 3.47-9.09 6.07s-4.66 5.69-6.07 9.09-2.13 7.04-2.12 10.72v24a27.96 27.96 0 0 0 17.28 25.88c3.4 1.4 7.04 2.12 10.72 2.12h24c3.68 0 7.32-0.72 10.72-2.12 3.4-1.41 6.49-3.47 9.09-6.07s4.66-5.69 6.07-9.09c1.4-3.4 2.13-7.04 2.12-10.72v-24a28.04 28.04 0 0 0-8.21-19.79 28.04 28.04 0 0 0-19.79-8.21Z\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M436 96h-24c-3.68-0.01-7.32 0.71-10.72 2.12-3.4 1.4-6.49 3.47-9.09 6.07s-4.66 5.69-6.07 9.09-2.13 7.04-2.12 10.72v24a27.96 27.96 0 0 0 17.28 25.88c3.4 1.4 7.04 2.12 10.72 2.12h24c3.68 0 7.32-0.72 10.72-2.12 3.4-1.41 6.49-3.47 9.09-6.07s4.66-5.69 6.07-9.09c1.4-3.4 2.13-7.04 2.12-10.72v-24a28.04 28.04 0 0 0-8.21-19.79 28.04 28.04 0 0 0-19.79-8.21Z\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M100 336h-24c-3.68-0.01-7.32 0.71-10.72 2.12-3.4 1.4-6.49 3.47-9.09 6.07s-4.66 5.69-6.07 9.09-2.13 7.04-2.12 10.72v24a27.96 27.96 0 0 0 17.28 25.88c3.4 1.4 7.04 2.12 10.72 2.12h24c3.68 0 7.32-0.72 10.72-2.12 3.4-1.41 6.49-3.47 9.09-6.07s4.66-5.69 6.07-9.09c1.4-3.4 2.13-7.04 2.12-10.72v-24a28.04 28.04 0 0 0-8.21-19.79 28.04 28.04 0 0 0-19.79-8.21Z\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M100 256h-24c-3.68-0.01-7.32 0.71-10.72 2.12-3.4 1.4-6.49 3.47-9.09 6.07s-4.66 5.69-6.07 9.09-2.13 7.04-2.12 10.72v24a27.96 27.96 0 0 0 17.28 25.88c3.4 1.4 7.04 2.12 10.72 2.12h24c3.68 0 7.32-0.72 10.72-2.12 3.4-1.41 6.49-3.47 9.09-6.07s4.66-5.69 6.07-9.09c1.4-3.4 2.13-7.04 2.12-10.72v-24a28.04 28.04 0 0 0-8.21-19.79 28.04 28.04 0 0 0-19.79-8.21Z\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M100 176h-24c-3.68-0.01-7.32 0.71-10.72 2.12-3.4 1.4-6.49 3.47-9.09 6.07s-4.66 5.69-6.07 9.09-2.13 7.04-2.12 10.72v24a27.96 27.96 0 0 0 17.28 25.88c3.4 1.4 7.04 2.12 10.72 2.12h24c3.68 0 7.32-0.72 10.72-2.12 3.4-1.41 6.49-3.47 9.09-6.07s4.66-5.69 6.07-9.09c1.4-3.4 2.13-7.04 2.12-10.72v-24a28.04 28.04 0 0 0-8.21-19.79 28.04 28.04 0 0 0-19.79-8.21Z\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M100 96h-24c-3.68-0.01-7.32 0.71-10.72 2.12-3.4 1.4-6.49 3.47-9.09 6.07s-4.66 5.69-6.07 9.09-2.13 7.04-2.12 10.72v24a27.96 27.96 0 0 0 17.28 25.88c3.4 1.4 7.04 2.12 10.72 2.12h24c3.68 0 7.32-0.72 10.72-2.12 3.4-1.41 6.49-3.47 9.09-6.07s4.66-5.69 6.07-9.09c1.4-3.4 2.13-7.04 2.12-10.72v-24a28.04 28.04 0 0 0-8.21-19.79 28.04 28.04 0 0 0-19.79-8.21Z\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M356 96h-200c-3.68-0.01-7.32 0.71-10.72 2.12-3.4 1.4-6.49 3.47-9.09 6.07s-4.66 5.69-6.07 9.09-2.13 7.04-2.12 10.72v104a27.96 27.96 0 0 0 17.28 25.88c3.4 1.4 7.04 2.12 10.72 2.12h200c3.68 0 7.32-0.72 10.72-2.12 3.4-1.41 6.49-3.47 9.09-6.07s4.66-5.69 6.07-9.09c1.4-3.4 2.13-7.04 2.12-10.72v-104a28.04 28.04 0 0 0-8.21-19.79 28.04 28.04 0 0 0-19.79-8.21Z\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M356 256h-200c-3.68-0.01-7.32 0.71-10.72 2.12-3.4 1.4-6.49 3.47-9.09 6.07s-4.66 5.69-6.07 9.09-2.13 7.04-2.12 10.72v104a27.96 27.96 0 0 0 17.28 25.88c3.4 1.4 7.04 2.12 10.72 2.12h200c3.68 0 7.32-0.72 10.72-2.12 3.4-1.41 6.49-3.47 9.09-6.07s4.66-5.69 6.07-9.09c1.4-3.4 2.13-7.04 2.12-10.72v-104a28.04 28.04 0 0 0-8.21-19.79 28.04 28.04 0 0 0-19.79-8.21Z\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }] }, movies: { viewBox: \"0 0 512 512\", paths: [{ d: \"M435.79999999999995 80.19999999999982h-360a44.03 44.03 0 0 0-31.1 12.9 44.03 44.03 0 0 0-12.9 31.1v264a44.03 44.03 0 0 0 12.9 31.1 44.03 44.03 0 0 0 31.1 12.9h360a44.03 44.03 0 0 0 31.1-12.9 44.03 44.03 0 0 0 12.9-31.1v-264a44.03 44.03 0 0 0-12.9-31.1 44.03 44.03 0 0 0-31.1-12.9m-324 308a11.997 11.997 0 0 1-12 12h-24c-1.58 0-3.14-0.31-4.6-0.91a12 12 0 0 1-3.89-2.6c-1.12-1.11-2-2.44-2.6-3.9-0.6-1.45-0.91-3.01-0.91-4.59v-24c0-1.58 0.31-3.14 0.91-4.59 0.6-1.46 1.48-2.79 2.6-3.9 1.11-1.11 2.44-2 3.89-2.6 1.46-0.6 3.02-0.91 4.6-0.91h24a11.997 11.997 0 0 1 12 12z m0-80a11.997 11.997 0 0 1-12 12h-24c-1.58 0-3.14-0.31-4.6-0.91a12 12 0 0 1-3.89-2.6c-1.12-1.11-2-2.44-2.6-3.9-0.6-1.45-0.91-3.01-0.91-4.59v-24c0-1.58 0.31-3.14 0.91-4.59 0.6-1.46 1.48-2.79 2.6-3.9 1.11-1.11 2.44-2 3.89-2.6 1.46-0.6 3.02-0.91 4.6-0.91h24a11.997 11.997 0 0 1 12 12z m0-80a11.997 11.997 0 0 1-12 12h-24c-1.58 0-3.14-0.31-4.6-0.91a12 12 0 0 1-3.89-2.6c-1.12-1.11-2-2.44-2.6-3.9-0.6-1.45-0.91-3.01-0.91-4.59v-24c0-1.58 0.31-3.14 0.91-4.59 0.6-1.46 1.48-2.79 2.6-3.9 1.11-1.11 2.44-2 3.89-2.6 1.46-0.6 3.02-0.91 4.6-0.91h24a11.997 11.997 0 0 1 12 12z m0-80a11.997 11.997 0 0 1-12 12h-24c-1.58 0-3.14-0.31-4.6-0.91a12 12 0 0 1-3.89-2.6c-1.12-1.11-2-2.44-2.6-3.9-0.6-1.45-0.91-3.01-0.91-4.59v-24c0-1.58 0.31-3.14 0.91-4.59 0.6-1.46 1.48-2.79 2.6-3.9 1.11-1.11 2.44-2 3.89-2.6 1.46-0.6 3.02-0.91 4.6-0.91h24a11.997 11.997 0 0 1 12 12z m241.68 124h-195.36c-4.24 0-8.31-1.69-11.31-4.69s-4.69-7.07-4.69-11.31 1.69-8.31 4.69-11.31 7.07-4.69 11.31-4.69h195.36c4.24 0 8.31 1.69 11.31 4.69s4.69 7.07 4.69 11.31-1.69 8.31-4.69 11.31-7.07 4.69-11.31 4.69m94.32 116a11.997 11.997 0 0 1-12 12h-24c-1.58 0-3.14-0.31-4.6-0.91a12 12 0 0 1-3.89-2.6c-1.12-1.11-2-2.44-2.6-3.9-0.6-1.45-0.91-3.01-0.91-4.59v-24c0-1.58 0.31-3.14 0.91-4.59 0.6-1.46 1.48-2.79 2.6-3.9 1.11-1.11 2.44-2 3.89-2.6 1.46-0.6 3.02-0.91 4.6-0.91h24a11.997 11.997 0 0 1 12 12z m0-80a11.997 11.997 0 0 1-12 12h-24c-1.58 0-3.14-0.31-4.6-0.91a12 12 0 0 1-3.89-2.6c-1.12-1.11-2-2.44-2.6-3.9-0.6-1.45-0.91-3.01-0.91-4.59v-24c0-1.58 0.31-3.14 0.91-4.59 0.6-1.46 1.48-2.79 2.6-3.9 1.11-1.11 2.44-2 3.89-2.6 1.46-0.6 3.02-0.91 4.6-0.91h24a11.997 11.997 0 0 1 12 12z m0-80a11.997 11.997 0 0 1-12 12h-24c-1.58 0-3.14-0.31-4.6-0.91a12 12 0 0 1-3.89-2.6c-1.12-1.11-2-2.44-2.6-3.9-0.6-1.45-0.91-3.01-0.91-4.59v-24c0-1.58 0.31-3.14 0.91-4.59 0.6-1.46 1.48-2.79 2.6-3.9 1.11-1.11 2.44-2 3.89-2.6 1.46-0.6 3.02-0.91 4.6-0.91h24a11.997 11.997 0 0 1 12 12z m0-80a11.997 11.997 0 0 1-12 12h-24c-1.58 0-3.14-0.31-4.6-0.91a12 12 0 0 1-3.89-2.6c-1.12-1.11-2-2.44-2.6-3.9-0.6-1.45-0.91-3.01-0.91-4.59v-24c0-1.58 0.31-3.14 0.91-4.59 0.6-1.46 1.48-2.79 2.6-3.9 1.11-1.11 2.44-2 3.89-2.6 1.46-0.6 3.02-0.91 4.6-0.91h24a11.997 11.997 0 0 1 12 12z\", style: { fill: \"currentcolor\" } }] }, \"cloud-library\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M415.5100000000002 404.5500000000002l0.37-0.04h0.04l0.88-0.13a90.47 90.47 0 0 0 57.9-30.97 90.45 90.45 0 0 0 21.74-61.95 90.5 90.5 0 0 0-25.86-60.36 90.5 90.5 0 0 0-59.85-27l-6.42-0.36-0.13-6.42c-1.62-73.55-63.06-133.4-136.96-133.4-66.36 0-123.05 47.13-134.81 112.05l-1.1 6.02-6.11-0.32c-1.86-0.1-3.73-0.15-5.62-0.16-56.35 0-102.21 45.67-102.21 101.8a101.4 101.4 0 0 0 26.59 68.77 101.45 101.45 0 0 0 66.14 32.58l0.08 0.01c3.17 0.29 6.34 0.43 9.4 0.43 3.12 0 6.3-0.14 9.5-0.44l0.32-0.03h0.31l265.2-0.11h0.37l0.37 0.04q4.935 0.54 9.9 0.54c3.33 0 6.66-0.19 9.97-0.55m-20.6-16.34l-265.21 0.11c-0.7 0-1.41 0.04-2.11 0.1-2.7 0.24-5.39 0.37-8.01 0.37-2.57 0-5.24-0.12-7.92-0.37a85.18 85.18 0 0 1-55.6-27.34 85.25 85.25 0 0 1-22.38-57.77c0-47.14 38.53-85.49 85.9-85.49 1.59 0 3.18 0.05 4.75 0.13q0.63 0.03 1.26 0.03c5.45 0 10.72-1.91 14.9-5.4 4.18-3.5 7-8.35 7.97-13.71 10.34-57.15 60.29-98.63 118.75-98.63 65.1 0 119.23 52.68 120.65 117.44 0.15 5.84 2.49 11.42 6.55 15.62 4.06 4.21 9.55 6.74 15.39 7.09 18.56 0.96 36.08 8.85 49.11 22.11a74.19 74.19 0 0 1 21.22 49.5 74.2 74.2 0 0 1-17.83 50.82 74.2 74.2 0 0 1-47.5 25.38l-0.61 0.08c-2.87 0.33-5.76 0.5-8.65 0.51-2.72 0-5.44-0.15-8.15-0.45-0.83-0.09-1.66-0.13-2.49-0.13\", style: { fill: \"currentcolor\" } }, { d: \"M321.39999999999964 209.82999999999993c-0.68-2.95-2.51-5.5-5.07-7.1a11.38 11.38 0 0 0-8.61-1.44c-2.95 0.68-5.5 2.5-7.1 5.07s-2.12 5.66-1.44 8.61l25 108.09c0.72 2.9 2.56 5.41 5.11 6.97a11.42 11.42 0 0 0 8.52 1.39 11.43 11.43 0 0 0 7.06-5c1.6-2.52 2.15-5.58 1.52-8.5z\", style: { fill: \"currentcolor\" } }, { d: \"M277.03999999999996 198.14000000000033c-3.02 0.01-5.92 1.21-8.06 3.35a11.4 11.4 0 0 0-3.34 8.06v110.94a11.43 11.43 0 0 0 3.45 7.84c2.13 2.07 4.98 3.22 7.95 3.22 2.96 0 5.81-1.15 7.94-3.22a11.43 11.43 0 0 0 3.45-7.84v-110.94c0-1.5-0.29-2.98-0.86-4.37-0.86-2.08-2.33-3.87-4.2-5.12a11.44 11.44 0 0 0-6.34-1.92\", style: { fill: \"currentcolor\" } }, { d: \"M200.4300000000003 198.14000000000033c-1.5 0-2.98 0.29-4.37 0.86-1.38 0.58-2.64 1.42-3.7 2.48s-1.9 2.32-2.47 3.7a11.5 11.5 0 0 0-0.86 4.37v110.94a11.43 11.43 0 0 0 3.45 7.84c2.13 2.07 4.98 3.22 7.95 3.22 2.96 0 5.81-1.15 7.94-3.22a11.43 11.43 0 0 0 3.45-7.84v-110.94c0-1.5-0.29-2.98-0.86-4.37-0.58-1.38-1.42-2.64-2.48-3.7-1.05-1.06-2.31-1.9-3.69-2.47a11.5 11.5 0 0 0-4.37-0.87\", style: { fill: \"currentcolor\" } }, { d: \"M238.72999999999956 220.51000000000022c-3.02 0.01-5.91 1.21-8.05 3.35a11.43 11.43 0 0 0-3.35 8.05V320.5a11.43 11.43 0 0 0 3.45 7.84 11.4 11.4 0 0 0 7.94 3.22c2.97 0 5.82-1.15 7.95-3.22a11.43 11.43 0 0 0 3.45-7.84v-88.59c-0.01-3.02-1.21-5.91-3.35-8.05a11.43 11.43 0 0 0-8.05-3.35\", style: { fill: \"currentcolor\" } }] }, \"chevron-back\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M328 112.00000000000006l-144 144 144 144\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"48\", fill: \"none\" } }] }, \"sort-up-down\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M158.59000000000015 319.22499999999997l86.18 100.576a14.78 14.78 0 0 0 11.24 5.165 14.8 14.8 0 0 0 11.23-5.165l86.19-100.576a14.8 14.8 0 0 0 2.21-15.812 14.87 14.87 0 0 0-5.46-6.276 14.85 14.85 0 0 0-7.99-2.341H169.79999999999927c-2.84 0-5.61 0.812-7.99 2.34a14.87 14.87 0 0 0-5.46 6.279 14.84 14.84 0 0 0-1.2 8.232c0.4 2.803 1.59 5.433 3.44 7.578\", style: { fill: \"currentcolor\" } }, { d: \"M158.59000000000015 192.78000000000003l86.18-100.58a14.8 14.8 0 0 1 5.06-3.812 14.8 14.8 0 0 1 17.41 3.812l86.19 100.58a14.8 14.8 0 0 1 2.21 15.813 14.87 14.87 0 0 1-5.46 6.277 14.85 14.85 0 0 1-7.99 2.34h-172.4c-2.83 0-5.6-0.812-7.98-2.34a14.8 14.8 0 0 1-5.46-6.28 14.84 14.84 0 0 1-1.2-8.232c0.4-2.803 1.59-5.433 3.44-7.578\", style: { fill: \"currentcolor\" } }] }, \"caret-down\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M91.79999999999927 213.79899999999998l145.3 169.6c2.1 2.536 4.7 4.592 7.7 6.031 2.9 1.487 6.1 2.382 9.4 2.633 3.2 0.251 6.5-0.147 9.6-1.171 3.1-1.035 6-2.662 8.5-4.793 1-0.797 1.9-1.703 2.7-2.7l145.3-169.6c3.1-3.647 5-8.083 5.7-12.8 0.7-4.719 0-9.539-2-13.869-2-4.344-5.2-8.023-9.2-10.599s-8.7-3.942-13.5-3.932h-290.7c-3.3-0.01-6.6 0.626-9.6 1.873-4.6 1.86-8.5 5.058-11.2 9.175-2.7 4.109-4.2 8.924-4.2 13.852 0.1 5.99 2.3 11.756 6.2 16.3\", style: { fill: \"currentcolor\" } }] }, \"caret-up\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M91.79999999999927 314.9l145.3-169.6c2.1-2.535 4.7-4.591 7.7-6.031 2.9-1.487 6.1-2.381 9.4-2.632 3.2-0.251 6.5 0.147 9.6 1.17 3.1 1.036 6 2.663 8.5 4.793 1 0.797 1.9 1.703 2.7 2.7l145.3 169.6c3.1 3.647 5 8.083 5.7 12.8 0.7 4.719 0 9.538-2 13.869a25.1 25.1 0 0 1-9.2 10.599c-4 2.576-8.7 3.94-13.5 3.931h-290.7c-3.3 0.011-6.6-0.625-9.6-1.873a24.23 24.23 0 0 1-11.2-9.175c-2.7-4.109-4.2-8.924-4.2-13.852 0.1-5.99 2.3-11.755 6.2-16.299\", style: { fill: \"currentcolor\" } }] }, \"chevron-forward\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M184 400.00000000000006l144-144-144-144\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"48\", fill: \"none\" } }] }, \"chevron-down\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M112 184.00000000000006l144 144 144-144\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"48\", fill: \"none\" } }] }, \"chevron-up\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M400 328.00000000000006l-144-144-144 144\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"48\", fill: \"none\" } }] }, \"more-vertical\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M256 293.591c7.4-0.016 14.7-2.22 20.9-6.339 6.2-4.109 11-9.989 13.8-16.872 2.9-6.862 3.6-14.421 2.2-21.719-1.5-7.273-5.1-13.956-10.3-19.246a38.2 38.2 0 0 0-15.7-9.4 37.47 37.47 0 0 0-18.2-0.9c-9.2 1.827-17.3 6.988-22.9 14.482-5.5 7.495-8.1 16.788-7.2 26.077 0.6 6.164 2.7 12.087 6.1 17.234 3.5 5.147 8.1 9.356 13.6 12.246 5.4 2.922 11.5 4.447 17.7 4.437\", style: { fill: \"currentcolor\" } }, { d: \"M256 418.899c7.4-0.016 14.7-2.22 20.9-6.339 6.2-4.109 11-9.989 13.8-16.872 2.9-6.862 3.6-14.421 2.2-21.719-1.5-7.273-5.1-13.956-10.3-19.246a38.2 38.2 0 0 0-15.7-9.4 37.45 37.45 0 0 0-18.2-0.9c-6.1 1.211-11.7 3.894-16.5 7.814s-8.5 8.955-10.9 14.662-3.3 11.92-2.7 18.075c0.6 6.164 2.7 12.087 6.1 17.234 3.5 5.147 8.1 9.356 13.6 12.246 5.4 2.925 11.5 4.453 17.7 4.445\", style: { fill: \"currentcolor\" } }, { d: \"M256 168.28200000000004c7.4-0.016 14.7-2.22 20.9-6.339 6.2-4.109 11-9.989 13.8-16.872 2.9-6.862 3.6-14.421 2.2-21.72-1.5-7.273-5.1-13.955-10.3-19.245a38.2 38.2 0 0 0-15.7-9.4 37.45 37.45 0 0 0-18.2-0.9c-6.1 1.211-11.7 3.896-16.5 7.817s-8.5 8.958-10.9 14.666-3.3 11.92-2.7 18.075c0.6 6.164 2.7 12.087 6.1 17.234 3.5 5.147 8.1 9.356 13.6 12.246 5.4 2.922 11.5 4.447 17.7 4.438\", style: { fill: \"currentcolor\" } }] }, \"more-horizontal\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M293.60000000000036 256c0-7.435-2.2-14.701-6.3-20.881-4.2-6.181-10.1-10.998-16.9-13.844-6.9-2.846-14.4-3.593-21.7-2.147s-14 5.021-19.3 10.272c-5.2 5.293-8.8 11.977-10.3 19.252-1.4 7.3-0.7 14.861 2.2 21.725a36.93 36.93 0 0 0 13.8 16.876c4.2 2.833 9 4.777 14 5.711s10.1 0.842 15.1-0.273 9.7-3.23 13.8-6.214 7.6-6.777 10.2-11.147c3.6-5.818 5.4-12.512 5.4-19.333z\", style: { fill: \"currentcolor\" } }, { d: \"M418.89999999999964 256c0-7.435-2.2-14.701-6.4-20.881-4.1-6.18-10-10.997-16.8-13.843-6.9-2.846-14.5-3.593-21.7-2.147-7.3 1.446-14 5.02-19.3 10.271-5.2 5.292-8.8 11.977-10.3 19.252-1.4 7.299-0.7 14.86 2.2 21.725a36.93 36.93 0 0 0 13.8 16.876c5.1 3.435 11.1 5.549 17.2 6.156 6.2 0.607 12.4-0.312 18.1-2.675 4.6-1.877 8.7-4.647 12.2-8.148 3.5-3.461 6.3-7.616 8.1-12.2 1.9-4.557 2.9-9.447 2.9-14.386\", style: { fill: \"currentcolor\" } }, { d: \"M168.29999999999927 256c0-7.435-2.2-14.701-6.4-20.881-4.1-6.18-10-10.997-16.8-13.843-6.9-2.846-14.5-3.593-21.7-2.147-7.3 1.446-14 5.02-19.3 10.271-5.2 5.292-8.8 11.977-10.3 19.252-1.4 7.299-0.7 14.86 2.2 21.725a36.93 36.93 0 0 0 13.8 16.876c4.2 2.833 9 4.776 14 5.711s10.1 0.842 15.1-0.274c5-1.115 9.7-3.229 13.8-6.214 4.1-2.984 7.6-6.777 10.2-11.146 3.6-5.818 5.4-12.513 5.4-19.333z\", style: { fill: \"currentcolor\" } }] }, \"open-in-browser\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M372.10000000000036 225.5999999999999V376.29999999999995c0 4.75-0.93 9.46-2.75 13.86a36.1 36.1 0 0 1-7.85 11.74 36.1 36.1 0 0 1-11.74 7.85c-4.4 1.82-9.11 2.75-13.86 2.75h-217.1c-4.75 0-9.46-0.93-13.86-2.75a36.23 36.23 0 0 1-19.59-19.6c-1.82-4.39-2.75-9.1-2.75-13.85v-217.1c0-4.76 0.93-9.46 2.75-13.86 1.82-4.39 4.48-8.38 7.85-11.74 3.36-3.37 7.35-6.03 11.74-7.85 4.4-1.82 9.11-2.75 13.86-2.75h151.5\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"39.699\", fill: \"none\" } }, { d: \"M328.7000000000007 65.20000000000005h101.2v101.2\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"39.699\", fill: \"none\" } }, { d: \"M221.60000000000036 263.70000000000005l198.5-178.7\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"39.699\", fill: \"none\" } }] }, maximize: { viewBox: \"0 0 512 512\", paths: [{ d: \"M406.5 311.89999999999986v95.8h-95.8\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"39.027\", fill: \"none\" } }, { d: \"M105.5 202.5v-95.8h95.8\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"39.027\", fill: \"none\" } }, { d: \"M310.7000000000007 106.70000000000005h95.8v95.8\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"39.027\", fill: \"none\" } }, { d: \"M201.30000000000018 407.70000000000005h-95.8v-95.8\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"39.027\", fill: \"none\" } }] }, minimize: { viewBox: \"0 0 512 512\", paths: [{ d: \"M310.7000000000007 407.7000000000003v-95.8h95.8\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"39.027\", fill: \"none\" } }, { d: \"M201.30000000000018 106.70000000000005v95.8h-95.8\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"39.027\", fill: \"none\" } }, { d: \"M406.5 202.5h-95.8v-95.8\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"39.027\", fill: \"none\" } }, { d: \"M105.5 312h95.8v95.8\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"39.027\", fill: \"none\" } }] }, scale: { viewBox: \"0 0 512 512\", paths: [{ d: \"M320 80h112v112\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M421.7699999999995 90.19999999999982l-117.77 117.8\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M192 432h-112v-112\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M90.22999999999956 421.7999999999997l117.77-117.8\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }] }, \"notifications-outline\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M413.7999999999993 343.70000000000005c-23.6-28.9-40.3-43.6-40.3-123.2 0-73-37.2-98.9-67.9-111.6-2.12-0.88-4.03-2.19-5.6-3.87a16.1 16.1 0 0 1-3.5-5.83 41.06 41.06 0 0 0-13.92-24.66 41.02 41.02 0 0 0-26.58-9.77c-9.74 0-19.16 3.46-26.58 9.77a41.06 41.06 0 0 0-13.92 24.66c-0.76 2.16-1.96 4.14-3.52 5.81-1.57 1.67-3.47 3-5.58 3.89-30.7 12.6-67.9 38.5-67.9 111.6 0 79.7-16.7 94.4-40.3 123.2a18.552 18.552 0 0 0 3.1 26c3.62 2.8 8.13 4.19 12.7 3.9h284a18.554 18.554 0 0 0 19.6-17.4 18.9 18.9 0 0 0-3.8-12.5\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"37\", fill: \"none\" } }, { d: \"M314.7999999999993 373.70000000000005v14.6c0 15.59-6.19 30.55-17.22 41.58a58.85 58.85 0 0 1-41.58 17.22c-15.59 0-30.55-6.2-41.58-17.22a58.85 58.85 0 0 1-17.22-41.58v-14.6\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"37\", fill: \"none\" } }] }, notifications: { viewBox: \"0 0 512 512\", paths: [{ d: \"M413.7999999999993 343.8000000000002c-23.6-28.9-40.3-43.6-40.3-123.2 0-73-37.2-98.9-67.9-111.6-2.12-0.88-4.03-2.19-5.6-3.87a16.1 16.1 0 0 1-3.5-5.83 41.06 41.06 0 0 0-13.92-24.66 41.02 41.02 0 0 0-26.58-9.77c-9.74 0-19.16 3.46-26.58 9.77a41.06 41.06 0 0 0-13.92 24.66c-0.76 2.16-1.96 4.14-3.52 5.81-1.57 1.67-3.47 3-5.58 3.89-30.7 12.6-67.9 38.5-67.9 111.6 0 79.7-16.7 94.4-40.3 123.2a18.552 18.552 0 0 0 3.1 26c3.62 2.8 8.13 4.19 12.7 3.9h284c3.55 0.2 7.09-0.63 10.19-2.38 3.09-1.76 5.63-4.36 7.29-7.51 1.66-3.14 2.39-6.7 2.09-10.25a18.67 18.67 0 0 0-3.77-9.76\", style: { fill: \"currentcolor\" } }, { d: \"M213.79999999999927 429.4000000000001a58.7 58.7 0 0 0 19.25 13.17c7.23 3.06 15 4.63 22.85 4.63s15.62-1.57 22.85-4.63A58.7 58.7 0 0 0 298 429.4000000000001z\", style: { fill: \"none\", stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"37\" } }] }, \"person-outline\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M327.60000000000036 151.69999999999982c-3.2 43.1-35.9 78.3-71.7 78.3-35.9 0-68.6-35.1-71.7-78.3a71.98 71.98 0 0 1 16.72-52.36 71.94 71.94 0 0 1 48.8-25.29 71.98 71.98 0 0 1 52.42 16.54 71.95 71.95 0 0 1 25.46 48.71c0.4 4.12 0.4 8.28 0 12.4\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"37\", fill: \"none\" } }, { d: \"M256 282.1999999999998c-70.9 0-142.9 39.1-156.2 113a13.635 13.635 0 0 0 4.64 14.48c1.41 1.11 3.03 1.94 4.76 2.42 1.11 0.32 2.25 0.49 3.4 0.5h287c2.71-0.07 5.34-0.95 7.55-2.52s3.91-3.76 4.87-6.3c1.03-2.78 1.16-5.82 0.38-8.68-13.4-73.8-85.5-112.9-156.4-112.9\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"37\", fill: \"none\" } }] }, person: { viewBox: \"0 0 512 512\", paths: [{ d: \"M321 87.5c-16.5-17.7-39.5-27.5-64.8-27.5-25.5 0-48.6 9.7-65 27.3-16.6 17.8-24.6 42-22.8 68.2 3.8 51.6 43.1 93.5 87.7 93.5s83.9-41.9 87.7-93.5c2-25.9-6.1-50.1-22.8-68\", style: { fill: \"currentcolor\" } }, { d: \"M404.3000000000011 437h-296.1c-3.87 0.06-7.7-0.76-11.2-2.4a25.8 25.8 0 0 1-9.1-7c-2.76-3.4-4.73-7.37-5.77-11.62a29.5 29.5 0 0 1-0.23-12.98c7.1-39.5 29.3-72.7 64.1-96 30.9-20.7 70.1-32.1 110.4-32.1s79.4 11.4 110.4 32.1c34.8 23.3 57 56.5 64.1 96a30.3 30.3 0 0 1-0.31 12.96 30.5 30.5 0 0 1-5.69 11.64 25.8 25.8 0 0 1-9.1 7 27.6 27.6 0 0 1-11.5 2.4\", style: { fill: \"currentcolor\" } }] }, glasses: { viewBox: \"0 0 512 512\", paths: [{ d: \"M288 250.8399999999997s16.6-16.57 82.8-16.57c66.3 0 82.8 16.57 82.8 16.57v1.25c-0.1 98.43-16.8 131.29-82.8 131.29-66.2 0-82.8-33.11-82.8-132.54m-232 1.25v-1.25s16.6-16.57 82.8-16.57c66.3 0 82.9 16.57 82.9 16.57 0 99.43-16.6 132.54-82.9 132.54-65.9 0-82.7-32.86-82.8-131.29m165.7 2.32c0-1.95 14.8-3.57 33.1-3.57s33.2 1.62 33.2 3.57z m191.9-83.39c6.5 5.1 58.1 74.77 58.1 74.77z m-315.2 0l-58.1 74.77s51.6-69.67 58.1-74.77\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }] }, \"star-outline\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M256 84.89999999999986l51 90.5c4.1 7.25 9.8 13.5 16.6 18.31s14.6 8.05 22.8 9.49l103.3 17.9-71 70.8c-6.2 6.17-10.8 13.7-13.6 21.97-2.8 8.28-3.6 17.08-2.4 25.73l14 98.6-97.4-44.7c-7.4-3.36-15.4-5.1-23.5-5.1s-16.1 1.74-23.5 5.1l-97.3 44.7 14-98.6c1.2-8.66 0.4-17.48-2.4-25.78-2.8-8.29-7.4-15.83-13.6-22.02l-71-70.8 103.4-17.9c8.2-1.41 16-4.63 22.8-9.44s12.4-11.09 16.5-18.36z m0-40.1c-4.3 0-8.5 1.14-12.2 3.3-3.7 2.17-6.8 5.27-8.9 9l-57.8 102.5c-1.8 3.09-4.2 5.78-7.1 7.87-2.9 2.07-6.3 3.48-9.8 4.13l-118.2 20.4c-4.4 0.76-8.5 2.71-11.8 5.64-2.5 2.18-4.5 4.87-5.9 7.87s-2.2 6.26-2.3 9.57 0.5 6.61 1.7 9.69 3.1 5.88 5.4 8.23l81.6 81.4c2.7 2.65 4.7 5.9 5.9 9.48s1.5 7.39 1 11.12l-16 112.7c-0.7 4.6 0 9.3 2 13.5a24.36 24.36 0 0 0 13.6 12.59c6 2.23 12.7 1.98 18.5-0.69l110.3-50.7c3.2-1.45 6.6-2.2 10.1-2.2s6.9 0.75 10.1 2.2l110.4 50.7c3.2 1.47 6.6 2.22 10.1 2.2 1.1 0 2.3-0.1 3.4-0.2 4.7-0.68 9.2-2.75 12.7-5.95 3.6-3.2 6.1-7.38 7.3-12.02 0.8-3.08 1-6.29 0.5-9.43l-16-112.7c-0.5-3.73-0.2-7.54 1-11.12s3.2-6.83 5.9-9.48l81.7-81.4c4.1-4.01 6.6-9.34 7.1-15.03 0.5-5.7-1-11.39-4.3-16.06-1.9-2.58-4.2-4.8-6.9-6.52-2.7-1.68-5.7-2.83-8.8-3.39l-118.2-20.4c-3.5-0.59-6.9-1.98-9.8-4.05-3-2.04-5.4-4.77-7.1-7.95l-57.8-102.5c-2.2-3.82-5.4-6.99-9.2-9.2-3.8-1.99-7.9-3.06-12.2-3.1\", style: { fill: \"currentcolor\" } }] }, star: { viewBox: \"0 0 512 512\", paths: [{ d: \"M234.89999999999964 57.19999999999982c3.2-5.59 8.4-9.7 14.6-11.43 6.2-1.72 12.8-0.92 18.4 2.23 3.8 2.21 7 5.38 9.2 9.2l57.8 102.5c1.8 3.09 4.2 5.78 7.1 7.87 2.9 2.07 6.3 3.48 9.8 4.13l118.2 20.4c4.4 0.73 8.5 2.68 11.8 5.62 2.5 2.2 4.5 4.87 6 7.86 1.4 3.01 2.2 6.27 2.3 9.59 0.1 3.33-0.5 6.64-1.7 9.73s-3.1 5.88-5.5 8.2l-81.7 81.4c-2.7 2.65-4.7 5.9-5.9 9.48s-1.5 7.39-1 11.12l16 112.7c0.9 6.35-0.8 12.79-4.6 17.93-3.8 5.13-9.6 8.54-15.9 9.47-4.6 0.7-9.3 0-13.5-2l-110.4-50.7a24.5 24.5 0 0 0-10.1-2.18c-3.5 0-6.9 0.74-10.1 2.18l-110.3 50.7c-2.9 1.33-6 2.08-9.2 2.2s-6.3-0.38-9.3-1.49c-3-1.12-5.7-2.8-8.1-4.95-2.3-2.17-4.2-4.77-5.5-7.66-1.9-4.23-2.6-8.9-2-13.5l16-112.7c0.5-3.73 0.2-7.54-1-11.12s-3.2-6.83-5.9-9.48l-81.6-81.4a22.8 22.8 0 0 1-5.3-7.83c-1.8-4.42-2.3-9.28-1.4-13.97 0.9-4.7 3.2-9.01 6.6-12.4 3.6-3.5 8.1-5.86 13-6.8l118.2-20.4c3.5-0.59 6.9-1.97 9.8-4.05 3-2.04 5.4-4.77 7.1-7.95z\", style: { fill: \"currentcolor\" } }] }, close: { viewBox: \"0 0 512 512\", paths: [{ d: \"M289.90000000000146 256l95-95c4.5-4.53 7-10.63 7.1-17 0-6.38-2.5-12.5-7-17.02s-10.6-7.07-17-7.08c-3.2-0.01-6.3 0.61-9.2 1.81s-5.6 2.96-7.8 5.19l-95 95-95-95c-3.4-3.33-7.6-5.6-12.3-6.51-4.6-0.91-9.4-0.42-13.8 1.4-4.4 1.79-8.1 4.86-10.8 8.81-2.6 3.94-4 8.58-4 13.33-0.1 3.15 0.5 6.28 1.7 9.19 1.2 2.92 3 5.57 5.2 7.78l95 95-95 95c-2.8 2.8-4.8 6.24-6 10.02-1.1 3.78-1.3 7.78-0.5 11.64 0.8 3.87 2.5 7.48 5 10.52 2.5 3.05 5.8 5.43 9.4 6.93 4.4 1.81 9.2 2.29 13.8 1.39 4.7-0.91 8.9-3.17 12.3-6.5l95-95 95 95c3.4 3.34 7.6 5.6 12.3 6.51 4.6 0.92 9.4 0.43 13.8-1.39 4.4-1.8 8.1-4.87 10.8-8.82 2.6-3.94 4-8.58 4-13.33 0.1-3.15-0.5-6.28-1.7-9.2-1.2-2.91-3-5.56-5.2-7.77z\", style: { fill: \"currentcolor\" } }] }, checkmark: { viewBox: \"0 0 512 512\", paths: [{ d: \"M416 128l-224 256-96-96\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"60\", fill: \"none\" } }] }, network: { viewBox: \"0 0 512 512\", paths: [{ d: \"M256 74.90000000000009c-103.9 0-188.2 84.22-188.2 188.2 0 103.9 84.2 188.2 188.2 188.2 49.9 0 97.8-19.83 133.1-55.12 35.3-35.3 55.1-83.17 55.1-133.08s-19.8-97.78-55.1-133.08a188.3 188.3 0 0 0-133.1-55.12m0 28.3c1.6 0 3.1 0.17 4.6 0.25a233.3 233.3 0 0 0-68.4 79.23c-4.8-1.15-9.8-1.07-14.6 0.23-4.7 1.3-9.1 3.78-12.6 7.21-3.6 3.42-6.2 7.68-7.7 12.39-1.4 4.71-1.7 9.72-0.7 14.55a276.8 276.8 0 0 0-60.1 39.62c1.7-41.21 19.2-80.18 48.9-108.78s69.4-44.62 110.6-44.7m54.1 87.85c-6.6 0.95-12.8 3.55-18.1 7.55-5.3 4.01-9.5 9.28-12.2 15.34-21.5-4.07-43.4-5.91-65.3-5.49-0.6-6.78-3.5-13.15-8.3-17.99-0.4-0.34-0.7-0.51-1.1-0.85 18.3-34.23 45.2-63.14 78-83.88 1.4 0.25 2.8 0.34 4.2 0.59 11.7 26.9 19.4 55.4 22.7 84.56z m-4.7-79.91c37.2 12.17 68.7 37.53 88.5 71.29-13.6 10.72-29.4 18.47-46.2 22.72-0.8-0.93-1.4-2.02-2.3-2.95-5.6-5.55-12.7-9.37-20.4-10.98 0-0.54-0.1-1.08-0.2-1.61-3.2-26.86-9.7-53.22-19.4-78.47m-15.9 149.85c-22 26.88-49.7 48.45-81.2 63.1-0.6-0.83-1.3-1.62-2-2.37-2.8-2.85-6.3-5.08-10-6.55-3.8-1.47-7.8-2.14-11.8-1.98-6-23.83-5.9-48.8 0.4-72.56 5.8 0.15 11.4-1.43 16.3-4.53s8.7-7.58 11-12.87c21.5-0.58 43 1.09 64.1 4.98-0.4 5.75 0.4 11.52 2.4 16.93 2 5.42 5.1 10.33 9.2 14.41 0.5 0.53 1 1.01 1.6 1.44m-126.4-30.75c0.5 0.66 1 1.28 1.6 1.86 1.8 1.77 3.8 3.28 6 4.48-7.2 26.45-7.3 54.32-0.3 80.83-2.1 1.22-4 2.67-5.7 4.31-5.1 5.14-8.1 12.01-8.5 19.26-14.6-0.34-29.1-2.7-43-7.01-9.1-18.17-14.7-37.93-16.3-58.2 19.8-18.3 42-33.64 66.2-45.53m-4.1 125.52h0.3c2.9 6.12 7.9 10.99 14.1 13.76a28.7 28.7 0 0 0 19.7 1.36c11.9 19.5 27.1 36.74 45 50.94-23.1-2.62-45.3-10.23-65.1-22.29-19.9-12.06-36.8-28.29-49.8-47.57 11.8 2.53 23.8 3.8 35.8 3.8m46.9 7.86c0.1-0.08 0.2-0.17 0.3-0.25 3.3-3.33 5.8-7.4 7.2-11.88 1.5-4.48 1.8-9.25 1-13.89 34.2-15.78 64.2-39.32 87.7-68.76 2.7 0.99 5.5 1.7 8.3 2.12-6.1 52.11-22 102.6-46.8 148.83-24.1-13.02-44-32.47-57.7-56.17m73.7 57.27c24.4-46.86 39.9-97.84 45.7-150.36 7.7-1.6 14.7-5.42 20.2-10.98 1-1.05 1.9-2.18 2.7-3.38a96 96 0 0 1 36.2 17.38c10.7 8.27 19.6 18.69 26 30.6-8.1 30.07-24.8 57.14-48 77.87-23.2 20.74-52 34.25-82.8 38.87m75.6-177.89c2.5-8.05 2.4-16.66-0.2-24.67 16.5-4.67 32-12.31 45.8-22.55 12.7 27 17.5 57.05 13.8 86.66-15.3-18.93-36-32.7-59.4-39.44\", style: { fill: \"currentcolor\" } }] }, about: { viewBox: \"0 0 512 512\", paths: [{ d: \"M251.3000000000011 83.90000000000009c-42.8 0-84 15.91-115.7 44.63s-51.5 68.2-55.7 110.75c-4.2 42.56 7.6 85.15 33.1 119.49 25.4 34.35 62.8 57.99 104.7 66.32 42 8.34 85.5 0.78 122.2-21.21s63.8-56.83 76.3-97.75c12.4-40.93 9.1-85-9.2-123.65a172.33 172.33 0 0 0-89.8-85.48c-20.9-8.65-43.3-13.1-65.9-13.1Z\", style: { stroke: \"currentcolor\", strokeMiterlimit: \"10\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M225.20000000000073 229.80999999999995h29.9v102.06\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M218 335.7199999999998h77.1\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M251.3000000000011 145.5899999999997c-4.8 0-9.5 1.42-13.5 4.09-3 2-5.5 4.62-7.4 7.7-1.8 3.1-3 6.55-3.4 10.12-0.3 3.59 0.1 7.21 1.4 10.59 1.2 3.4 3.1 6.48 5.7 9 3.4 3.41 7.7 5.74 12.4 6.68 4.8 0.94 9.7 0.45 14.1-1.4 4.4-1.87 8.2-4.98 10.9-8.95 2.7-3.99 4.1-8.7 4.1-13.51 0-3.19-0.6-6.35-1.8-9.31-1.3-2.92-3.1-5.6-5.3-7.89-4.6-4.56-10.8-7.12-17.2-7.12\", style: { fill: \"currentcolor\" } }] }, list: { viewBox: \"0 0 512 512\", paths: [{ d: \"M100.69999999999891 107h74.5c2.44 0 4.86 0.48 7.12 1.41s4.31 2.3 6.04 4.03 3.1 3.78 4.03 6.04 1.41 4.68 1.41 7.12v74.5c0 2.44-0.48 4.86-1.41 7.12s-2.3 4.31-4.03 6.04-3.78 3.1-6.04 4.03-4.68 1.41-7.12 1.41h-74.5c-2.44 0-4.86-0.48-7.12-1.41s-4.31-2.3-6.04-4.03-3.1-3.78-4.03-6.04-1.41-4.68-1.41-7.12v-74.5c0.01-4.93 1.97-9.65 5.46-13.14s8.21-5.45 13.14-5.46\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"37.252\", fill: \"none\" } }, { d: \"M100.69999999999891 293.2999999999997h74.5c2.44 0 4.86 0.48 7.12 1.41s4.31 2.3 6.04 4.03 3.1 3.78 4.03 6.04 1.41 4.68 1.41 7.12v74.5c0 2.44-0.48 4.86-1.41 7.12s-2.3 4.31-4.03 6.04-3.78 3.1-6.04 4.03-4.68 1.41-7.12 1.41h-74.5c-2.44 0-4.86-0.48-7.12-1.41s-4.31-2.3-6.04-4.03-3.1-3.78-4.03-6.04-1.41-4.68-1.41-7.12v-74.5c0-2.44 0.48-4.86 1.41-7.12s2.3-4.31 4.03-6.04 3.78-3.1 6.04-4.03 4.68-1.41 7.12-1.41\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"37.252\", fill: \"none\" } }, { d: \"M286.89999999999964 144.29999999999973h149c4.93 0 9.66 1.96 13.15 5.45s5.45 8.22 5.45 13.15-1.96 9.66-5.45 13.15a18.6 18.6 0 0 1-13.15 5.45h-149c-4.93 0-9.66-1.96-13.15-5.45a18.6 18.6 0 0 1-5.45-13.15c0-4.93 1.96-9.66 5.45-13.15s8.22-5.45 13.15-5.45Z\", style: { stroke: \"currentcolor\", strokeWidth: \"37.252\", fill: \"none\" } }, { d: \"M286.89999999999964 330.5h149c4.93 0 9.66 1.96 13.15 5.45s5.45 8.22 5.45 13.15-1.96 9.66-5.45 13.15a18.6 18.6 0 0 1-13.15 5.45h-149c-4.93 0-9.66-1.96-13.15-5.45a18.6 18.6 0 0 1-5.45-13.15c0-4.93 1.96-9.66 5.45-13.15s8.22-5.45 13.15-5.45Z\", style: { stroke: \"currentcolor\", strokeWidth: \"37.252\", fill: \"none\" } }] }, grid: { viewBox: \"0 0 512 512\", paths: [{ d: \"M125.59999999999854 107h74.5c2.44 0 4.86 0.48 7.12 1.41s4.31 2.3 6.04 4.03 3.1 3.78 4.03 6.04 1.41 4.68 1.41 7.12v74.5c0 2.44-0.48 4.86-1.41 7.12s-2.3 4.31-4.03 6.04-3.78 3.1-6.04 4.03-4.68 1.41-7.12 1.41h-74.5c-2.44 0-4.86-0.48-7.12-1.41s-4.31-2.3-6.04-4.03-3.1-3.78-4.03-6.04-1.41-4.68-1.41-7.12v-74.5a18.52 18.52 0 0 1 5.42-13.18 18.522 18.522 0 0 1 13.18-5.42\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"37.252\", fill: \"none\" } }, { d: \"M311.7999999999993 107h74.5c2.44 0 4.86 0.48 7.12 1.41s4.31 2.3 6.04 4.03 3.1 3.78 4.03 6.04 1.41 4.68 1.41 7.12v74.5c0 2.44-0.48 4.86-1.41 7.12s-2.3 4.31-4.03 6.04-3.78 3.1-6.04 4.03-4.68 1.41-7.12 1.41h-74.5c-2.44 0-4.86-0.48-7.12-1.41s-4.31-2.3-6.04-4.03-3.1-3.78-4.03-6.04-1.41-4.68-1.41-7.12v-74.5c0.01-4.93 1.97-9.65 5.46-13.14s8.21-5.45 13.14-5.46\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"37.252\", fill: \"none\" } }, { d: \"M125.59999999999854 293.2999999999997h74.5c2.44 0 4.86 0.48 7.12 1.41s4.31 2.3 6.04 4.03 3.1 3.78 4.03 6.04 1.41 4.68 1.41 7.12v74.5c0 2.44-0.48 4.86-1.41 7.12s-2.3 4.31-4.03 6.04-3.78 3.1-6.04 4.03-4.68 1.41-7.12 1.41h-74.5c-2.44 0-4.86-0.48-7.12-1.41s-4.31-2.3-6.04-4.03-3.1-3.78-4.03-6.04-1.41-4.68-1.41-7.12v-74.5a18.52 18.52 0 0 1 5.42-13.18 18.522 18.522 0 0 1 13.18-5.42\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"37.252\", fill: \"none\" } }, { d: \"M311.7999999999993 293.2999999999997h74.5c2.44 0 4.86 0.48 7.12 1.41 2.26 0.94 4.31 2.3 6.04 4.03s3.1 3.78 4.03 6.04 1.41 4.68 1.41 7.12v74.5c0 2.44-0.48 4.86-1.41 7.12s-2.3 4.31-4.03 6.04-3.78 3.1-6.04 4.03-4.68 1.41-7.12 1.41h-74.5c-2.44 0-4.86-0.48-7.12-1.41s-4.31-2.3-6.04-4.03-3.1-3.78-4.03-6.04-1.41-4.68-1.41-7.12v-74.5c0.01-4.93 1.97-9.65 5.46-13.14 3.49-3.48 8.21-5.45 13.14-5.46\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"37.252\", fill: \"none\" } }] }, share: { viewBox: \"0 0 512 512\", paths: [{ d: \"M396 459.89999999999964c-18.1 0.12-35.6-6.92-48.5-19.6-13-12.68-20.4-29.97-20.7-48.1v-1.5l-138.3-45.6a78.16 78.16 0 0 1-27.5 21.83 78.1 78.1 0 0 1-34.3 7.57c-20.25 0.8-39.99-6.47-54.89-20.22a76.497 76.497 0 0 1-4.45-108.01 76.46 76.46 0 0 1 53.04-24.67q3.15-0.15 6.3 0c17.5 0.17 34.4 5.84 48.5 16.2l101.7-66.2c-6.3-12.85-9.8-26.89-10.3-41.2-0.9-19.1 3.9-38.03 13.9-54.36 10-16.32 24.6-29.29 42-37.23 17.4-7.93 36.8-10.48 55.6-7.3 18.9 3.17 36.3 11.93 50.2 25.13 13.8 13.2 23.4 30.24 27.4 48.92 4.1 18.69 2.5 38.16-4.6 55.91-7.1 17.76-19.4 32.97-35.3 43.69a95.6 95.6 0 0 1-53.6 16.44c-12.2 0.2-24.4-2.04-35.8-6.59-11.3-4.55-21.7-11.32-30.4-19.91l-100 64.7c5.7 10.87 8.7 22.93 8.8 35.2-0.3 6.45-1.3 12.85-2.9 19.1l132.3 42.6a70.4 70.4 0 0 1 33.3-29.66c14-6 29.6-7.27 44.4-3.6 14.8 3.66 28 12.06 37.6 23.91s15.1 26.51 15.6 41.75c-0.1 18.45-7.4 36.13-20.3 49.33s-30.4 20.9-48.8 21.47m0-104.4c-6.9 0.3-13.6 2.62-19.2 6.68-5.6 4.05-9.8 9.67-12.3 16.14-2.4 6.47-2.9 13.51-1.4 20.25 1.6 6.74 5.1 12.88 10 17.66 5 4.78 11.3 7.99 18.1 9.22s13.9 0.44 20.2-2.28c6.4-2.72 11.8-7.25 15.6-13.02s5.8-12.54 5.8-19.45c-0.2-9.54-4.2-18.59-11.1-25.19s-16.2-10.19-25.7-10.01m-270.6-102.9a45.6 45.6 0 0 0-17.53 3.05 45.7 45.7 0 0 0-15.04 9.53 45.8 45.8 0 0 0-10.24 14.55 45.61 45.61 0 0 0-0.84 34.9 45.7 45.7 0 0 0 9.53 15.04c4.13 4.33 9.08 7.81 14.55 10.24a45.6 45.6 0 0 0 17.37 3.89h2.2c5.99 0.14 12-0.89 17.5-3.05 5.6-2.16 10.7-5.4 15.1-9.53 4.3-4.13 7.8-9.08 10.2-14.55 2.4-5.48 3.8-11.38 3.9-17.37 0.2-5.99-0.9-11.95-3-17.53-2.2-5.59-5.4-10.7-9.6-15.04-4.1-4.33-9.1-7.81-14.5-10.24a45.9 45.9 0 0 0-17.4-3.89z m236.8-180.9c-8-0.26-16 1.06-23.6 3.89-7.5 2.83-14.4 7.12-20.3 12.62-5.8 5.49-10.6 12.09-13.9 19.42s-5.1 15.23-5.4 23.27v1.1c0.3 16.24 7 31.72 18.6 43.02 11.7 11.31 27.4 17.52 43.6 17.28h1.1c8.2 0.39 16.3-0.89 24-3.75 7.6-2.86 14.6-7.24 20.5-12.88 6-5.65 10.7-12.43 13.9-19.95 3.2-7.51 4.8-15.6 4.8-23.77 0-8.18-1.6-16.26-4.9-23.77-3.2-7.51-7.9-14.29-13.8-19.92s-13-10.01-20.6-12.85c-7.7-2.85-15.8-4.11-24-3.71\", style: { fill: \"currentcolor\" } }] }, warning: { viewBox: \"0 0 512 512\", paths: [{ d: \"M449.10000000000036 399.0999999999999l-170.5-316.5c-12-22.4-44.2-22.4-56.3 0l-170.4 316.5c-2.7 4.85-4 10.35-3.8 15.9 0.1 5.52 1.7 10.92 4.5 15.67s6.8 8.69 11.6 11.43c4.8 2.72 10.3 4.17 15.8 4.2h340.9c5.5 0.01 11-1.44 15.8-4.2s8.8-6.68 11.7-11.4c2.8-4.76 4.4-10.17 4.5-15.71 0.1-5.53-1.2-11-3.8-15.89m-198.6-1.9c-3 0.01-5.9-0.65-8.6-1.92s-5-3.13-6.9-5.43c-1.9-2.29-3.2-4.98-3.9-7.86s-0.8-5.88-0.2-8.79c0.7-3.88 2.6-7.44 5.4-10.2 2.8-2.81 6.4-4.72 10.3-5.5 3.9-0.76 7.9-0.36 11.5 1.15a19.9 19.9 0 0 1 9 7.35c2.2 3.28 3.4 7.14 3.4 11.1 0 2.65-0.5 5.28-1.6 7.7-1.5 3.66-4 6.79-7.3 9s-7.1 3.39-11.1 3.4m21.7-201.1l-5.7 122c0 4.24-1.7 8.31-4.7 11.31s-7.1 4.69-11.3 4.69-8.3-1.69-11.3-4.69-4.7-7.07-4.7-11.31l-5.8-121.9c-0.2-5.87 1.9-11.59 5.9-15.9 2.1-2.04 4.5-3.73 7.1-5 2.7-1.18 5.6-1.79 8.5-1.8h0.2c2.9 0 5.9 0.58 8.6 1.7 2.7 1.16 5.1 2.86 7.1 5 2.1 2.09 3.7 4.62 4.7 7.4 1 2.72 1.5 5.6 1.4 8.5\", style: { fill: \"currentcolor\" } }] }, \"cloud-sync\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M472.6999999999989 189.5c-13.3-8.4-29.8-14.6-48.1-17.9-3-0.6-5.9-2.06-8.1-4.2-2.2-2.19-3.8-4.96-4.5-8-7.9-34.5-24.6-64.1-49.1-86.6-28.8-26.2-66.7-40.7-106.9-40.7-35.4 0-68 11.1-94.4 32-17.8 14.2-32.1 32.25-41.9 52.8-1.1 2.3-2.8 4.32-4.8 5.89-2 1.56-4.4 2.63-6.9 3.11-27.1 4.9-50.5 14.7-68.4 28.7-25.9 20.3-39.6 49.1-39.6 83.1 0 67.4 55.9 114.4 136 114.4h72v-83c0-12.73 5.1-24.94 14.1-33.94s21.2-14.06 33.9-14.06 24.9 5.06 33.9 14.06 14.1 21.21 14.1 33.94v83h92c72.6 0 116-34.2 116-91.6 0-30.2-13.6-54.7-39.3-71\", style: { fill: \"currentcolor\" } }, { d: \"M256 253c-4.2 0.01-8.3 1.7-11.3 4.7s-4.7 7.06-4.7 11.3v156.4l-36.7-36.6c-1.5-1.44-3.3-2.59-5.2-3.38-1.9-0.78-4-1.16-6.1-1.12-4.2 0.03-8.2 1.71-11.2 4.68-1.5 1.47-2.6 3.22-3.4 5.15s-1.2 3.99-1.2 6.07c0 4.2 1.6 8.25 4.5 11.3l64 63.9c1.5 1.5 3.2 2.69 5.2 3.48 1.9 0.81 4 1.22 6.1 1.22s4.2-0.41 6.1-1.22c2-0.79 3.7-1.98 5.2-3.48l64-63.9c1.5-1.49 2.6-3.26 3.4-5.2 0.7-1.96 1.1-4.02 1.1-6.1 0-3.13-0.9-6.18-2.7-8.79-1.7-2.61-4.1-4.66-7-5.89-1.9-0.81-4-1.23-6.1-1.22-4.2-0.03-8.3 1.59-11.3 4.5l-36.7 36.6v-156.4c0-2.1-0.4-4.18-1.2-6.13s-2-3.71-3.5-5.19-3.3-2.66-5.2-3.47c-1.9-0.8-4-1.21-6.1-1.21\", style: { fill: \"currentcolor\" } }] }, hourglass: { viewBox: \"0 0 512 512\", paths: [{ d: \"M214.60000000000036 235.32999999999993c-31.8-58.12-54.8-118.18-16.4-184.81-4-2.97-7.6-6.29-11-9.92-0.7-1.21-1.5-2.41-2.1-3.69-2.5-4.67-0.6-11.01 4.4-12.54 10-3.03 23.7-1.25 33.4 0.17 73 11.87 143.2 36.67 207.5 73.24a99.7 99.7 0 0 1 19.7 15.56c7 7.18 4.8 12.76-5.3 14.59-5.9 0.83-11.8 1.31-17.9 1.56-10.7 76.05-65.9 109.28-125.6 134.84 6.8 16.1 13.9 31.45 20.1 47.1 16.7 36.58 19 78.14 6.3 116.31-0.2 0.98-6.8 19.54 3.2 26.69 10.5 11.65 1.2 28.63-7.8 27.44-0.4-0.02-0.8-0.01-1.2 0.02-16.4-0.26-32.9-1.68-49.1-4.22a636 636 0 0 1-182.8-65.68c-8.6-5.21-16.9-11.02-24.7-17.38-2.9-2.16-4.8-5.28-5.6-8.78-0.7-3.51-0.1-7.14 1.6-10.27 0.7-3.2 2.6-6 5.3-7.87s5.9-2.71 9.2-2.36c10.9 1.21 13.3-3.79 15.7-13.63 9.7-35.18 32.7-65.22 64.1-83.81 18.8-12.15 39.1-21.65 59-32.56m84.5 195.45c11.7-21.88 15.4-47.18 10.4-71.49-5.9-31.81-18.6-61.98-37.1-88.51-7.9-12.47-4.9-20.19 8.5-26.07 21.6-8.88 42.5-19.11 62.8-30.62 27-15.29 46.9-40.64 55.3-70.52 4.5-16.24 3.1-17.04-12.7-21.31-29.9-8.17-59.9-16.18-89.2-26.15-23.1-7.97-45.5-18.53-67.9-28.37-7.2-3.11-11.1-2.45-15.2 5.26-11.1 22.85-14.2 48.8-8.6 73.6 6.7 30.9 19.4 60.21 37.2 86.32 1.7 1.93 2.9 4.29 3.4 6.82s0.3 5.15-0.5 7.6c-0.9 2.44-2.4 4.6-4.4 6.26-2 1.65-4.4 2.75-6.9 3.18-7.9 2.89-16 5.82-23.7 9.19a175.14 175.14 0 0 0-83.8 65.27 67 67 0 0 0-12.6 37.63 88.4 88.4 0 0 0 22.9 0.79c20-4.64 58.4 0.14 84.9-13.48 7.7-2.34 15.8-2.3 23.5 0.11 7.6 2.4 14.4 7.06 19.3 13.37 13.1 14.46 13.8 26 24.2 42.58 6.3 9.36 0 14.61 10.2 18.54\", style: { fill: \"currentcolor\" } }, { d: \"M335.10000000000036 167.03999999999996c-1.5 0.21-3 0.35-4.3 0.53-0.2 0.03-0.3 0.09-0.6 0.12-28.4 6.25-58.1 3.91-85.2-6.72-0.4-0.13-0.9-0.3-1.2-0.43-1.8-0.4-3.6-0.44-5.4-0.13-1.8 0.3-3.5 0.97-5 1.96s-2.6 2.4-3.3 4.05c-1.6 3.62-1.9 7.66-1 11.5 0.1 0.45 0.2 0.88 0.4 1.3 7.1 17.78 14.9 35.15 23.2 52 0.5 1.06 1.3 2 2.2 2.74 1.2 1.03 2.6 1.78 4.1 2.18 1.6 0.4 3.2 0.44 4.7 0.12 0.4-0.06 0.8-0.25 1.2-0.34 27.5-10.1 52.7-25.56 74.2-45.5 0.3-0.31 0.6-0.53 0.9-0.88 3.2-3.82 5.2-8.54 5.6-13.51 0-1.69-0.5-3.34-1.5-4.72-1-1.45-2.3-2.61-3.9-3.36s-3.3-1.07-5.1-0.91\", style: { fill: \"currentcolor\" } }, { d: \"M266.2000000000007 325.75c-0.2 4.23-2 8.22-5.1 11.11s-7.2 4.46-11.4 4.35c-0.1-0.03-0.3 0.03-0.4-0.01-3.2-0.17-6.2-1.27-8.8-3.17-2.6-1.89-4.5-4.5-5.6-7.5-1.1-2.99-1.3-6.26-0.5-9.35 0.8-3.1 2.4-5.91 4.8-8.06 2.3-2.17 5.3-3.59 8.4-4.07 3.2-0.51 6.4-0.07 9.3 1.26s5.3 3.49 7 6.21c1.7 2.71 2.5 5.85 2.4 9.04 0 0.02-0.1 0.04-0.1 0.08z\", style: { fill: \"currentcolor\" } }, { d: \"M261.7999999999993 278.64999999999986c-0.9 6.16-4 9.64-10.2 9.38-1.2 0.06-2.3-0.1-3.4-0.48a7.25 7.25 0 0 1-2.9-1.73c-0.9-0.75-1.6-1.68-2.1-2.73s-0.7-2.17-0.8-3.31c0-0.62 0-1.24 0.1-1.86-0.1-1.17 0.1-2.35 0.5-3.45 0.3-1.13 0.9-2.16 1.7-3.01 0.8-0.84 1.8-1.55 2.8-2.08 1.1-0.5 2.2-0.78 3.4-0.83 0.6-0.03 1.1-0.02 1.7 0.05 6.1 0.21 8.9 4.13 9.2 10.05\", style: { fill: \"currentcolor\" } }] }, pause: { viewBox: \"0 0 512 512\", paths: [{ d: \"M182.60000000000002 93h-18.4v330.5h18.4z\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"36.719\", fill: \"none\" } }, { d: \"M347.79999999999995 93h-18.4v330.5h18.4z\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"36.719\", fill: \"none\" } }] }, next: { viewBox: \"0 0 512 512\", paths: [{ d: \"M120.90000000000009 119.19999999999982v278.5c0 16.7 15.2 27.4 27.8 19.4l222-142.4c2.12-1.56 3.91-3.52 5.27-5.77 1.36-2.26 2.26-4.76 2.65-7.36s0.26-5.25-0.38-7.8a19.9 19.9 0 0 0-3.34-7.07 18.6 18.6 0 0 0-4.2-4.2l-222-142.5c-12.6-8.2-27.8 2.5-27.8 19.2Z\", style: { stroke: \"currentcolor\", strokeMiterlimit: \"10\", strokeWidth: \"35.851\", fill: \"none\" } }, { d: \"M391.0999999999999 90.30000000000018v337.9\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"35.851\", fill: \"none\" } }] }, \"skip-back\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M475.5999999999999 145.5v221c0 13.3-13 21.7-23.6 15.4l-188.9-113c-9.2-5.5-9.2-20.1 0-25.6l188.9-113c10.6-6.5 23.6 1.9 23.6 15.2Z\", style: { stroke: \"currentcolor\", strokeMiterlimit: \"10\", strokeWidth: \"35.851\", fill: \"none\" } }, { d: \"M247 145.5v221c0 13.3-13 21.7-23.6 15.4l-188.9-113c-9.2-5.5-9.2-20.1 0-25.6l188.9-113c10.6-6.5 23.6 1.9 23.6 15.2Z\", style: { stroke: \"currentcolor\", strokeMiterlimit: \"10\", strokeWidth: \"35.851\", fill: \"none\" } }] }, \"skip-forward\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M36.30000000000018 145.5v221c0 13.3 13 21.7 23.6 15.4l188.9-113c9.2-5.5 9.2-20.1 0-25.6l-188.9-113c-10.6-6.5-23.6 1.9-23.6 15.2Z\", style: { stroke: \"currentcolor\", strokeMiterlimit: \"10\", strokeWidth: \"35.851\", fill: \"none\" } }, { d: \"M264.9000000000001 145.5v221c0 13.3 13 21.7 23.6 15.4l188.9-113c9.2-5.5 9.2-20.1 0-25.6l-188.9-113c-10.6-6.5-23.6 1.9-23.6 15.2Z\", style: { stroke: \"currentcolor\", strokeMiterlimit: \"10\", strokeWidth: \"35.851\", fill: \"none\" } }] }, \"volume-off\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M236.9000000000001 187h-72.6c-1.09 0-2.17 0.21-3.18 0.63a8.3 8.3 0 0 0-4.49 4.49 8.3 8.3 0 0 0-0.63 3.18v116.8a8.27 8.27 0 0 0 2.43 5.87 8.274 8.274 0 0 0 5.87 2.43h72.6c3.87-0.02 7.63 1.32 10.6 3.8l95.4 78.1c1.8 1.3 4.03 1.84 6.22 1.5a8.42 8.42 0 0 0 5.48-3.3 8.03 8.03 0 0 0 1.6-5v-283.9a8.27 8.27 0 0 0-2.43-5.87 8.274 8.274 0 0 0-5.87-2.43c-1.76 0.01-3.47 0.57-4.9 1.6l-95.4 78.1c-2.95 2.6-6.76 4.03-10.7 4\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"31.897\", fill: \"none\" } }] }, \"volume-low\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M186.9000000000001 188h-72.6c-1.09 0-2.17 0.21-3.18 0.63a8.3 8.3 0 0 0-4.49 4.49 8.3 8.3 0 0 0-0.63 3.18v116.8a8.27 8.27 0 0 0 2.43 5.87 8.274 8.274 0 0 0 5.87 2.43h72.6c3.87-0.02 7.63 1.32 10.6 3.8l95.4 78.1c1.8 1.3 4.03 1.84 6.22 1.5a8.42 8.42 0 0 0 5.48-3.3 8.03 8.03 0 0 0 1.6-5v-283.9a8.27 8.27 0 0 0-2.43-5.87 8.274 8.274 0 0 0-5.87-2.43c-1.76 0.01-3.47 0.57-4.9 1.6l-95.4 78.1c-2.95 2.6-6.76 4.03-10.7 4\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"31.897\", fill: \"none\" } }, { d: \"M389.5 321.40000000000055a149 149 0 0 0 16.7-66.7c-0.08-23.26-5.81-46.15-16.7-66.7\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"31.897\", fill: \"none\" } }] }, \"volume-medium\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M152.89999999999964 188h-72.6c-1.09 0-2.17 0.21-3.18 0.63a8.1 8.1 0 0 0-2.7 1.8c-0.77 0.77-1.38 1.68-1.79 2.69a8.3 8.3 0 0 0-0.63 3.18v116.8a8.27 8.27 0 0 0 2.43 5.87 8.274 8.274 0 0 0 5.87 2.43h72.6c3.87-0.02 7.63 1.32 10.6 3.8l95.4 78.1c1.8 1.3 4.03 1.84 6.22 1.5a8.42 8.42 0 0 0 5.48-3.3 8.03 8.03 0 0 0 1.6-5v-283.9a8.27 8.27 0 0 0-2.43-5.87 8.274 8.274 0 0 0-5.87-2.43c-1.76 0.01-3.47 0.57-4.9 1.6l-95.4 78.1a16.55 16.55 0 0 1-10.7 4\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"31.897\", fill: \"none\" } }, { d: \"M355.60000000000036 321.40000000000055a149 149 0 0 0 16.7-66.7c-0.09-23.26-5.82-46.14-16.7-66.7\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"31.897\", fill: \"none\" } }, { d: \"M405.60000000000036 371.5a213.6 213.6 0 0 0 33.4-116.8c0.71-41.39-10.92-82.05-33.4-116.8\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"31.897\", fill: \"none\" } }] }, \"volume-high\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M121.89999999999964 188.90000000000055h-72.6c-1.09 0-2.17 0.21-3.18 0.63a8.1 8.1 0 0 0-2.7 1.8c-0.77 0.77-1.38 1.68-1.79 2.69a8.3 8.3 0 0 0-0.63 3.18v116.8c0 1.09 0.21 2.17 0.63 3.18a8.1 8.1 0 0 0 1.8 2.7c0.77 0.77 1.68 1.38 2.69 1.79 1.01 0.42 2.09 0.63 3.18 0.63h72.6c3.87-0.02 7.63 1.32 10.6 3.8l95.4 78.1c1.8 1.3 4.03 1.84 6.22 1.5a8.42 8.42 0 0 0 5.48-3.3 8.03 8.03 0 0 0 1.6-5v-283.9a8.27 8.27 0 0 0-2.43-5.87 8.274 8.274 0 0 0-5.87-2.43c-1.76 0.01-3.47 0.57-4.9 1.6l-95.4 78.1a16.55 16.55 0 0 1-10.7 4\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"31.897\", fill: \"none\" } }, { d: \"M324.5 322.3000000000002a149 149 0 0 0 16.7-66.7c-0.08-23.26-5.81-46.15-16.7-66.7\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"31.897\", fill: \"none\" } }, { d: \"M374.60000000000036 372.40000000000055a213.6 213.6 0 0 0 33.4-116.8c0.71-41.39-10.92-82.05-33.4-116.8\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"31.897\", fill: \"none\" } }, { d: \"M421.6999999999998 415.60000000000036c69.4-88.2 61.4-242.3-1.3-321.3\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"31.897\", fill: \"none\" } }] }, \"volume-mute\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M423.8000000000002 441.5L54.69999999999982 72.30000000000018\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"33.557\", fill: \"none\" } }, { d: \"M222.39999999999964 132v35.4c-0.01 1.12 0.42 2.2 1.2 3l25.2 25.2c0.48 0.49 1.08 0.85 1.74 1.04 0.66 0.2 1.36 0.23 2.03 0.1 0.68-0.13 1.31-0.43 1.84-0.87s0.94-1 1.2-1.64c0.21-0.52 0.31-1.07 0.29-1.63v-77.7c0.05-4.65-1.16-9.22-3.5-13.24a25.7 25.7 0 0 0-9.8-9.56 25.04 25.04 0 0 0-13.68-2.95c-4.74 0.34-9.3 2.02-13.12 4.85-0.2 0.2-0.5 0.3-0.7 0.5l-33.5 27.4c-0.43 0.35-0.79 0.78-1.05 1.26a4.2 4.2 0 0 0-0.49 1.57c-0.05 0.55 0 1.1 0.16 1.63s0.43 1.02 0.78 1.44l0.3 0.3 17.9 17.9c0.74 0.72 1.71 1.14 2.74 1.2 1.03 0.05 2.05-0.26 2.86-0.9z\", style: { fill: \"currentcolor\" } }, { d: \"M222.39999999999964 381.8000000000002l-81.9-67a33.5 33.5 0 0 0-21.3-7.5h-64.6v-100.7h53.2c0.83-0.01 1.64-0.26 2.33-0.72 0.69-0.47 1.22-1.13 1.54-1.89a4.3 4.3 0 0 0 0.26-2.43c-0.15-0.82-0.55-1.57-1.13-2.16l-25.2-25.2a4.08 4.08 0 0 0-3-1.2h-36.4a25.25 25.25 0 0 0-17.81 7.39 25.25 25.25 0 0 0-7.39 17.81v117.4a25.25 25.25 0 0 0 7.39 17.81 25.25 25.25 0 0 0 17.81 7.39h73.2l95.8 78.4c0.21 0.2 0.44 0.37 0.7 0.5 3.87 2.87 8.48 4.56 13.29 4.88 4.8 0.32 9.6-0.75 13.81-3.08a25.74 25.74 0 0 0 13-22.6V346.3000000000002c0.01-1.12-0.42-2.2-1.2-3l-25.2-25.2a4.23 4.23 0 0 0-5.9 0c-0.39 0.39-0.7 0.86-0.91 1.38-0.21 0.51-0.31 1.07-0.29 1.62v60.7z\", style: { fill: \"currentcolor\" } }, { d: \"M356.6999999999998 256.90000000000055c0-25.8-6.1-50.2-18.6-74.7-2.1-3.84-5.61-6.71-9.8-7.99-4.18-1.29-8.7-0.9-12.59 1.1-3.9 1.99-6.86 5.42-8.26 9.57-1.41 4.14-1.13 8.67 0.75 12.62 10.1 19.7 14.9 39.2 14.9 59.5 0 2.8-0.1 5.6-0.3 8.5-0.09 1.21 0.08 2.42 0.5 3.55a8.6 8.6 0 0 0 1.9 3.05l20.6 20.6a4.23 4.23 0 0 0 5.9 0c0.59-0.56 0.98-1.3 1.1-2.1 2.59-11.05 3.9-22.35 3.9-33.7\", style: { fill: \"currentcolor\" } }, { d: \"M423.8000000000002 256.90000000000055c0-53.7-13.7-88-35.8-125.9a16.82 16.82 0 0 0-10.22-7.57 16.79 16.79 0 0 0-20.33 11.85c-1.16 4.25-0.6 8.78 1.55 12.62 19.8 34 31.3 62.7 31.3 109 0 25-3.5 45-9.8 63.6-0.5 1.49-0.58 3.1-0.23 4.63a8.5 8.5 0 0 0 2.23 4.07l17.6 17.6a4.23 4.23 0 0 0 5.9 0c0.39-0.37 0.69-0.81 0.9-1.3 10.7-25.8 16.9-53 16.9-88.6\", style: { fill: \"currentcolor\" } }, { d: \"M490.89999999999964 256.90000000000055c0-77.9-21.2-127-53-176.8a16.77 16.77 0 0 0-10.53-7.11c-4.3-0.9-8.79-0.08-12.49 2.29s-6.33 6.1-7.32 10.38a16.8 16.8 0 0 0 2.04 12.54c28.7 44.9 47.7 89 47.7 158.8 0 49.8-9.3 86.1-24.7 118.5-0.37 0.79-0.49 1.66-0.35 2.52s0.54 1.66 1.15 2.28l18.7 18.7c0.58 0.59 1.32 1 2.13 1.16s1.66 0.08 2.42-0.24a4.372 4.372 0 0 0 2.15-2.02c22.5-44.3 32.1-87.5 32.1-141\", style: { fill: \"currentcolor\" } }] }, subtitles: { viewBox: \"0 0 512 512\", paths: [{ d: \"M482.5 216.69999999999982v-81.3c0-31.9-25.5-41-38.7-40.7h-377.2c-17.9 0-37.1 10.8-37.1 38.7v232.4c0 23.9 15.9 38.6 38.7 38.6h275l31 31c3.9 3.71 9.1 5.77 14.5 5.77s10.6-2.06 14.5-5.77l31-31h17.4c14.5 0 31-9 31-36.7z m-32.9 0v143.2c0 5.8 0 11.6-7.7 11.6h-19.4l-34.9 32.9-32.8-32.9h-282.8c-1.3 0.02-2.5-0.21-3.7-0.69s-2.3-1.19-3.2-2.1c-0.9-0.9-1.6-1.98-2.1-3.17s-0.7-2.46-0.7-3.74v-224.6c0-5.8 0-11.6 7.7-11.6h369.8c6.9 0 9.7 5.8 9.7 9.7v81.4z\", style: { fill: \"currentcolor\" } }, { d: \"M192.10000000000036 249.60000000000036h-75.5q-3.45-0.015-6.6 1.29c-2.2 0.86-4.1 2.14-5.7 3.75s-2.9 3.52-3.8 5.62c-0.8 2.1-1.3 4.36-1.3 6.64v0.1c0 2.28 0.4 4.54 1.3 6.65s2.1 4.03 3.7 5.64c1.7 1.62 3.6 2.9 5.7 3.78s4.3 1.33 6.6 1.33h75.6c3.4 0.01 6.8-0.99 9.7-2.89 2.8-1.9 5.1-4.6 6.4-7.77 0.8-2.11 1.3-4.36 1.3-6.64v-0.1c0-2.29-0.4-4.55-1.3-6.67-0.9-2.11-2.2-4.03-3.8-5.65s-3.5-2.9-5.6-3.77-4.4-1.32-6.7-1.31\", style: { fill: \"currentcolor\" } }, { d: \"M228.8000000000011 267.10000000000036c0 2.28 0.4 4.54 1.3 6.65s2.1 4.03 3.7 5.64c1.7 1.62 3.6 2.9 5.7 3.78s4.3 1.33 6.6 1.33h151.1c2.3 0.01 4.5-0.42 6.7-1.29 2.1-0.87 4-2.14 5.6-3.75s2.9-3.52 3.8-5.62c0.8-2.1 1.3-4.36 1.3-6.64v-0.1c0-2.28-0.4-4.54-1.3-6.65-0.8-2.11-2.1-4.03-3.7-5.64-1.6-1.62-3.6-2.9-5.7-3.78s-4.3-1.33-6.6-1.33H244.20000000000073c-4.3 0.42-8.3 2.44-11.1 5.67-2.9 3.23-4.4 7.42-4.3 11.73\", style: { fill: \"currentcolor\" } }, { d: \"M321.8000000000011 340.60000000000036h75.5c2.3 0.01 4.5-0.43 6.7-1.29 2.1-0.87 4-2.14 5.6-3.75s2.9-3.52 3.8-5.62 1.3-4.36 1.3-6.64v-0.1c0-2.28-0.4-4.54-1.3-6.65s-2.1-4.03-3.7-5.64c-1.6-1.62-3.6-2.91-5.7-3.78-2.1-0.88-4.3-1.33-6.6-1.33h-75.6c-3.4-0.01-6.8 0.99-9.6 2.89-2.9 1.9-5.1 4.6-6.5 7.77-0.8 2.1-1.3 4.36-1.3 6.64v0.1c0 2.28 0.4 4.54 1.3 6.65s2.1 4.03 3.7 5.64c1.6 1.62 3.6 2.9 5.7 3.78s4.3 1.33 6.6 1.33z\", style: { fill: \"currentcolor\" } }, { d: \"M116.5 340.60000000000036h153c2.3 0.01 4.5-0.42 6.7-1.29 2.1-0.86 4-2.14 5.6-3.75s2.9-3.52 3.8-5.62 1.3-4.36 1.3-6.64v-0.1c0-2.28-0.4-4.54-1.3-6.65s-2.1-4.03-3.7-5.64c-1.6-1.62-3.5-2.91-5.7-3.78-2.1-0.88-4.3-1.33-6.6-1.33h-153.1c-3.4-0.01-6.8 0.99-9.6 2.89-2.9 1.9-5.1 4.6-6.5 7.77-0.8 2.1-1.3 4.36-1.3 6.64v0.1c0 2.29 0.4 4.55 1.3 6.67 0.9 2.11 2.2 4.03 3.8 5.65s3.5 2.9 5.6 3.77c2.2 0.87 4.4 1.32 6.7 1.31\", style: { fill: \"currentcolor\" } }] }, \"audio-tracks\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M57.4900000000016 223.5699999999997v75.87c-0.01 2.31 0.44 4.59 1.31 6.72 0.88 2.13 2.17 4.06 3.8 5.69 1.63 1.62 3.56 2.91 5.69 3.79s4.41 1.32 6.71 1.31c2.3 0.01 4.58-0.43 6.71-1.31s4.06-2.17 5.69-3.79c1.63-1.63 2.92-3.56 3.8-5.69 0.87-2.13 1.32-4.41 1.31-6.72v-75.87c0.01-2.3-0.44-4.58-1.31-6.71-0.88-2.13-2.17-4.06-3.8-5.69a17.3 17.3 0 0 0-5.69-3.79c-2.13-0.88-4.41-1.33-6.71-1.32-2.3-0.01-4.58 0.44-6.71 1.32-2.13 0.87-4.06 2.16-5.69 3.79a17.5 17.5 0 0 0-3.8 5.69c-0.87 2.13-1.32 4.41-1.31 6.71\", style: { fill: \"currentcolor\" } }, { d: \"M454.5100000000002 223.5699999999997v75.88c0.01 2.3-0.44 4.58-1.32 6.71-0.87 2.13-2.16 4.06-3.79 5.69a17.5 17.5 0 0 1-5.69 3.79c-2.13 0.88-4.41 1.32-6.71 1.31-2.3 0.01-4.58-0.43-6.71-1.31s-4.07-2.16-5.69-3.79a17.5 17.5 0 0 1-3.8-5.69c-0.87-2.13-1.32-4.41-1.31-6.71v-75.88c-0.01-2.3 0.44-4.58 1.31-6.71 0.88-2.13 2.17-4.06 3.8-5.69 1.62-1.63 3.56-2.92 5.69-3.79 2.13-0.88 4.41-1.32 6.71-1.31 2.3-0.01 4.58 0.43 6.71 1.31 2.13 0.87 4.06 2.16 5.69 3.79s2.92 3.56 3.79 5.69c0.88 2.13 1.33 4.41 1.32 6.71\", style: { fill: \"currentcolor\" } }, { d: \"M177.4900000000016 188.03999999999996v146.94c-0.01 2.3 0.44 4.58 1.31 6.71 0.88 2.13 2.17 4.06 3.8 5.69s3.56 2.92 5.69 3.79c2.13 0.88 4.41 1.33 6.71 1.32 2.3 0.01 4.58-0.44 6.71-1.32 2.13-0.87 4.06-2.16 5.69-3.79s2.92-3.56 3.8-5.69c0.87-2.13 1.32-4.41 1.31-6.71v-146.94c0.01-2.3-0.44-4.58-1.31-6.71-0.88-2.13-2.17-4.06-3.8-5.69a17.5 17.5 0 0 0-5.69-3.8c-2.13-0.87-4.41-1.32-6.71-1.31-2.3-0.01-4.58 0.44-6.71 1.31-2.13 0.88-4.06 2.17-5.69 3.8a17.5 17.5 0 0 0-3.8 5.69c-0.87 2.13-1.32 4.41-1.31 6.71\", style: { fill: \"currentcolor\" } }, { d: \"M333.5100000000002 188.03999999999996v146.94c0.01 2.3-0.44 4.58-1.31 6.71-0.88 2.13-2.17 4.06-3.8 5.69a17.3 17.3 0 0 1-5.69 3.79c-2.13 0.88-4.41 1.33-6.71 1.32-2.3 0.01-4.58-0.44-6.71-1.32-2.13-0.87-4.07-2.16-5.69-3.79a17.5 17.5 0 0 1-3.8-5.69c-0.87-2.13-1.32-4.41-1.31-6.71v-146.94c-0.01-2.3 0.44-4.58 1.31-6.71 0.88-2.13 2.17-4.06 3.8-5.69 1.62-1.63 3.56-2.92 5.69-3.8 2.13-0.87 4.41-1.32 6.71-1.31 2.3-0.01 4.58 0.44 6.71 1.31 2.13 0.88 4.06 2.17 5.69 3.8s2.92 3.56 3.8 5.69c0.87 2.13 1.32 4.41 1.31 6.71\", style: { fill: \"currentcolor\" } }, { d: \"M152.51000000000022 377.2600000000002v-242.52c0.01-2.3-0.44-4.58-1.31-6.71-0.88-2.13-2.17-4.07-3.8-5.69a17.5 17.5 0 0 0-5.69-3.8c-2.13-0.87-4.41-1.32-6.71-1.31-2.3-0.01-4.58 0.44-6.71 1.31-2.13 0.88-4.06 2.17-5.69 3.8a17.4 17.4 0 0 0-3.8 5.69c-0.87 2.13-1.32 4.41-1.31 6.71v242.52c-0.01 2.3 0.44 4.58 1.31 6.71 0.88 2.13 2.17 4.07 3.8 5.69 1.63 1.63 3.56 2.92 5.69 3.8 2.13 0.87 4.41 1.32 6.71 1.31 2.3 0.01 4.58-0.44 6.71-1.31 2.13-0.88 4.06-2.17 5.69-3.8 1.63-1.62 2.92-3.56 3.8-5.69 0.87-2.13 1.32-4.41 1.31-6.71\", style: { fill: \"currentcolor\" } }, { d: \"M358.4900000000016 377.2600000000002v-242.52c-0.01-2.3 0.44-4.58 1.31-6.71 0.88-2.13 2.17-4.06 3.8-5.69 1.62-1.63 3.56-2.92 5.69-3.8 2.13-0.87 4.41-1.32 6.71-1.31 2.3-0.01 4.58 0.44 6.71 1.31 2.13 0.88 4.06 2.17 5.69 3.8s2.92 3.56 3.79 5.69c0.88 2.13 1.33 4.41 1.32 6.71v242.52c0.01 2.3-0.44 4.59-1.32 6.71-0.87 2.13-2.16 4.07-3.79 5.69a17.5 17.5 0 0 1-5.69 3.8c-2.13 0.87-4.41 1.32-6.71 1.31-2.3 0.01-4.58-0.44-6.71-1.31-2.13-0.88-4.07-2.17-5.69-3.8a17.38 17.38 0 0 1-5.11-12.4\", style: { fill: \"currentcolor\" } }, { d: \"M273.5100000000002 430.5600000000004v-349.12c0.01-2.3-0.44-4.58-1.31-6.71-0.88-2.13-2.17-4.07-3.8-5.69a17.5 17.5 0 0 0-5.69-3.8c-2.13-0.87-4.41-1.32-6.71-1.31-2.3-0.01-4.58 0.44-6.71 1.31-2.13 0.88-4.06 2.17-5.69 3.8a17.4 17.4 0 0 0-3.8 5.69c-0.87 2.13-1.32 4.41-1.31 6.71v349.12c-0.01 2.3 0.44 4.58 1.31 6.71 0.88 2.13 2.17 4.07 3.8 5.69 1.63 1.63 3.56 2.92 5.69 3.8 2.13 0.87 4.41 1.32 6.71 1.31 2.3 0.01 4.58-0.44 6.71-1.31 2.13-0.88 4.06-2.17 5.69-3.8 1.63-1.62 2.92-3.56 3.8-5.69 0.87-2.13 1.32-4.41 1.31-6.71\", style: { fill: \"currentcolor\" } }] }, chapters: { viewBox: \"0 0 512 512\", paths: [{ d: \"M256 178.25c14.96-59.06 71.47-89.22 194.51-89.77 1.97-0.01 3.92 0.37 5.73 1.12 1.82 0.75 3.48 1.85 4.87 3.24s2.49 3.05 3.24 4.87c0.75 1.81 1.13 3.76 1.12 5.73v269.32a14.958 14.958 0 0 1-9.23 13.82c-1.82 0.75-3.77 1.14-5.73 1.14-119.7 0-165.94 24.14-194.51 59.85-28.4-35.53-74.81-59.85-194.5-59.85-9.24 0-14.97-7.53-14.97-16.76v-267.52c0-1.97 0.38-3.91 1.13-5.73 1.13-2.74 3.05-5.08 5.52-6.72 2.46-1.65 5.36-2.52 8.32-2.51 123.03 0.55 179.54 30.71 194.5 89.77\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"34\", fill: \"none\" } }, { d: \"M256.3000000000002 165.89999999999964v282\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"34\", fill: \"none\" } }] }, \"skip-15-forward\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M428.7999999999993 249.60000000000036c-3.95 0.01-7.74 1.58-10.53 4.37a14.95 14.95 0 0 0-4.37 10.53c0 87.1-70.8 157.9-157.9 157.9s-157.9-70.8-157.9-157.9c0-86.8 70.4-157.4 157.1-157.9l-27.1 26.8a13.3 13.3 0 0 0-2.94 4.35 13.37 13.37 0 0 0 0 10.3c0.68 1.63 1.68 3.11 2.94 4.35 2.61 2.5 6.08 3.9 9.7 3.9s7.09-1.4 9.7-3.9l51.9-51.2c1.26-1.24 2.26-2.72 2.94-4.35a13.37 13.37 0 0 0 0-10.3c-0.68-1.63-1.68-3.11-2.94-4.35l-51.9-51.2c-2.61-2.5-6.08-3.9-9.7-3.9s-7.09 1.4-9.7 3.9a13.3 13.3 0 0 0-2.94 4.35 13.37 13.37 0 0 0 0 10.3c0.68 1.63 1.68 3.11 2.94 4.35l27.2 26.9c-103.1 0.4-186.9 84.4-186.9 187.6 0 103.5 84.2 187.6 187.6 187.6s187.7-84.2 187.7-187.7c-0.01-3.94-1.59-7.71-4.38-10.49-2.8-2.77-6.58-4.32-10.52-4.31\", style: { fill: \"currentcolor\" } }, { d: \"M195.20000000000073 252v69.9h25.5v-120.8h-21l-38.9 31 12.3 15.4 13.9-11.2c3.07-2.61 6.01-5.38 8.8-8.3l-0.4 12.6z\", style: { fill: \"currentcolor\" } }, { d: \"M321.39999999999964 222.80000000000018v-21.6h-65.5l-4.5 61.6 10.2 5.5c2.82-0.82 5.7-1.45 8.6-1.9 3.2-0.58 6.45-0.88 9.7-0.9 16.1 0 24.2 6.1 24.2 18.3q0 19.2-23.4 19.2a73 73 0 0 1-31.6-7.9v22.1c8.3 4.4 19.1 6.5 32.6 6.5 15.5 0 27.4-3.6 35.7-10.9s12.5-17.7 12.5-31.2c0-11.4-3.5-20.4-10.4-26.9-6.9-6.6-16.2-9.8-27.9-9.8-4.2-0.08-8.39 0.32-12.5 1.2l-2.9 0.6 2.2-23.7h43z\", style: { fill: \"currentcolor\" } }] }, \"skip-15-back\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M256.60000000000036 78.10000000000036l27-26.7c1.26-1.23 2.26-2.7 2.94-4.32a13.275 13.275 0 0 0 0-10.26c-0.68-1.62-1.68-3.09-2.94-4.32a13.76 13.76 0 0 0-19.2 0l-51.5 50.8c-1.26 1.23-2.26 2.7-2.94 4.32-0.68 1.63-1.03 3.37-1.03 5.13s0.35 3.5 1.03 5.13c0.68 1.62 1.68 3.09 2.94 4.32l51.5 50.8a13.76 13.76 0 0 0 19.2 0c1.26-1.23 2.26-2.7 2.94-4.32a13.275 13.275 0 0 0 0-10.26c-0.68-1.62-1.68-3.09-2.94-4.32l-26.9-26.6c86 0.4 155.9 70.5 155.9 156.6 0 86.4-70.3 156.7-156.7 156.7s-156.7-70.3-156.7-156.7c0-3.93-1.56-7.69-4.33-10.47a14.83 14.83 0 0 0-10.47-4.33c-3.93 0-7.69 1.56-10.47 4.33a14.83 14.83 0 0 0-4.33 10.47c0 102.7 83.5 186.2 186.2 186.2s186.2-83.5 186.2-186.2c0.2-102.3-83-185.6-185.4-186\", style: { fill: \"currentcolor\" } }, { d: \"M187.5 236.30000000000018c1.6-1.3 4.6-4.1 8.8-8.3l-0.4 12.5-0.2 11.4v69.4h25.3v-119.9h-20.8l-38.6 30.7 12.2 15.2z\", style: { fill: \"currentcolor\" } }, { d: \"M280.2999999999993 302.3000000000002c-5.51-0.03-10.98-0.77-16.3-2.2a65.6 65.6 0 0 1-15.1-5.6v21.9c8.2 4.3 19 6.5 32.3 6.5q23.1 0 35.4-10.8c8.3-7.2 12.4-17.5 12.4-30.9 0-11.3-3.4-20.2-10.3-26.7s-16.1-9.8-27.7-9.8c-4.16-0.05-8.31 0.32-12.4 1.1l-2.9 0.6 2.2-23.5h42.8v-21.5h-65l-4.5 61.1 10.1 5.4c2.78-0.83 5.62-1.43 8.5-1.8 3.17-0.57 6.38-0.87 9.6-0.9 16 0 24 6 24 18.1 0.1 12.7-7.6 19-23.1 19\", style: { fill: \"currentcolor\" } }] }, reset: { viewBox: \"0 0 512 512\", paths: [{ d: \"M114.39000000000033 169.4399999999996l18.89-21.97a171.2 171.2 0 0 1 56.63-39.34 171.25 171.25 0 0 1 67.55-13.81c94.79 0 171.69 76.9 171.69 171.69s-76.9 171.69-171.69 171.69c-35.51 0-70.14-11.01-99.14-31.5a171.84 171.84 0 0 1-62.77-82.95\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"34\", fill: \"none\" } }, { d: \"M57.159999999999854 124.21000000000004v98.88c0 1.88 0.37 3.74 1.09 5.47 0.72 1.74 1.77 3.32 3.1 4.64 1.33 1.33 2.91 2.39 4.65 3.1 1.73 0.72 3.59 1.09 5.47 1.09h98.88c2.83 0 5.6-0.83 7.95-2.4 2.36-1.58 4.19-3.81 5.28-6.43 1.08-2.61 1.36-5.49 0.81-8.26-0.55-2.78-1.92-5.33-3.92-7.33l-98.89-98.88c-2-2-4.55-3.37-7.33-3.92a14.36 14.36 0 0 0-8.27 0.81 14.26 14.26 0 0 0-6.42 5.27 14.3 14.3 0 0 0-2.4 7.96\", style: { fill: \"currentcolor\" } }] }, audio: { viewBox: \"0 0 512 512\", paths: [{ d: \"M153.5 190.20000000000027h-72.6c-1.1 0-2.2 0.21-3.2 0.63-1 0.43-1.9 1.03-2.7 1.79-0.8 0.77-1.4 1.69-1.8 2.7s-0.6 2.09-0.6 3.18v116.8c0 1.09 0.2 2.17 0.6 3.18s1 1.93 1.8 2.7c0.8 0.76 1.7 1.36 2.7 1.79 1 0.42 2.1 0.63 3.2 0.63h72.6c3.9-0.02 7.6 1.32 10.6 3.8l95.4 78.1c1.8 1.3 4 1.83 6.2 1.5 2.2-0.34 4.2-1.52 5.5-3.3 1.1-1.44 1.6-3.2 1.6-5v-283.9c0-1.09-0.2-2.17-0.6-3.18s-1-1.93-1.8-2.7c-0.8-0.76-1.7-1.36-2.7-1.79-1.3-0.55-2.8-0.74-4.2-0.57s-2.7 0.7-3.9 1.54l-95.4 78.1c-3 2.57-6.8 3.99-10.7 4\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"31.897\", fill: \"none\" } }, { d: \"M356.10000000000036 323.7000000000003c10.7-20.63 16.4-43.47 16.7-66.7-0.1-23.26-5.8-46.15-16.7-66.7\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"31.897\", fill: \"none\" } }, { d: \"M406.10000000000036 373.7000000000003c22.2-34.88 33.8-75.46 33.4-116.8 0.7-41.39-10.9-82.05-33.4-116.8\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"31.897\", fill: \"none\" } }] }, speed: { viewBox: \"0 0 512 512\", paths: [{ d: \"M312.90000000000146 231.2100000000005l-38.8 61.69c-1.6 2.2-3.6 4.14-5.8 5.75-2.6 1.9-5.6 3.25-8.8 3.95-3.2 0.72-6.4 0.82-9.6 0.29-6.4-1.08-12.2-4.67-16-9.99-1.9-2.63-3.2-5.61-3.9-8.77s-0.8-6.42-0.3-9.61 1.7-6.25 3.4-8.99 4-5.11 6.6-7l61.7-38.81a8.55 8.55 0 0 1 4.8-1.48c1.7 0 3.4 0.52 4.8 1.48 1.8 1.28 2.9 3.2 3.3 5.35 0.2 1.07 0.2 2.16-0.1 3.22-0.2 1.05-0.7 2.05-1.3 2.92\", style: { fill: \"currentcolor\" } }, { d: \"M255.60000000000036 93.95000000000027c-101.1 0-183.1 81.88-183.1 182.95 0 44.76 16.3 87.99 46 121.51 0.9 0.98 1.7 1.97 2.6 2.87 3.7 4.02 8.9 6.39 14.4 6.61 5.4 0.21 10.8-1.75 14.8-5.46l1.2-1.23c25.4-27.63 60.8-44.03 98.3-45.6s74.1 11.82 101.7 37.23q4.35 4.065 8.4 8.37c3.7 4.02 8.8 6.41 14.3 6.66 5.4 0.25 10.8-1.68 14.8-5.35l1.2-1.23 2.7-2.87c67-75.64 60-191.41-15.7-258.44-33.5-29.7-76.8-46.07-121.6-46.02\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M249.5 151.7100000000005v15.67\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M390.5 276.99000000000024h-31.4\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M155.5 276.99000000000024h-31.3\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M181.60000000000036 203.07000000000016l-18.5-18.46\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M329.60000000000036 203.07000000000016l18.5-18.46\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"32\", fill: \"none\" } }] }, episodes: { viewBox: \"0 0 512 512\", paths: [{ d: \"M499.60000000000036 161.79999999999973v-65.2c0.2-5.92-1.5-11.74-4.7-16.7-2.7-4.5-6.6-8.19-11.2-10.69-4.6-2.49-9.8-3.71-15.1-3.51q-53.7 0.15-107.4 0h-189.8q-3 0.075-6 0.6c-4.7 0.82-9.1 2.8-12.8 5.77-3.5 2.95-6.3 6.6-8.3 10.72-2 4.13-3 8.63-3.1 13.21v31.2h-31q-3 0.15-6 0.6c-4.7 0.82-9.1 2.8-12.8 5.77-5.1 4.08-8.8 9.76-10.3 16.13-0.7 2.5-1.1 5.1-1.1 7.7v30.9h-32.9q-3 0-6 0.6c-5.6 1.02-10.7 3.64-14.8 7.53-4.1 3.88-7 8.88-8.3 14.37-0.7 2.54-1.1 5.16-1.2 7.8v184.3c-0.1 5.55 1.4 11.02 4.2 15.82 2.8 4.79 6.8 8.75 11.7 11.43 4.6 2.46 9.8 3.65 15 3.45h0.1c36-0.1 72-0.1 108.1 0h143.3c15.2 0 30.4 0 45.6 0.1q3 0 6-0.6c4.7-0.82 9.1-2.8 12.8-5.77 3.7-2.96 6.7-6.78 8.6-11.13 0.7-1.63 1.2-3.3 1.7-5l0.1-0.4c0.6-2.43 0.9-4.91 1-7.4v-31c11 0 21.9 0 32.9 0.1q3 0 6-0.6c4.7-0.82 9.1-2.8 12.8-5.77 3.7-2.96 6.7-6.78 8.6-11.13 0.7-1.63 1.2-3.3 1.7-5l0.1-0.4c0.6-2.43 0.9-4.91 1-7.4v-31.3h31q3 0 6-0.6c4.7-0.82 9.1-2.8 12.8-5.77 3.7-2.96 6.7-6.78 8.6-11.13 0.7-1.63 1.2-3.3 1.7-5l0.1-0.4c0.6-2.43 0.9-4.91 1-7.4v-31.3z m-162.1 124.5V391.4000000000001c0.2 3.6 0.4 8-5 8.6h-270.4c-1 0.13-2 0.07-3-0.19-0.9-0.29-1.8-0.73-2.6-1.31-0.6-0.77-1.1-1.67-1.3-2.64-0.3-0.95-0.4-1.97-0.2-2.96l0.2-17.9v-144.2c0-3.7-0.4-8.4 5-9.1h270.5c1-0.15 2-0.09 3 0.17 0.9 0.26 1.8 0.71 2.6 1.33 0.6 0.77 1.1 1.67 1.3 2.64 0.3 0.95 0.4 1.97 0.2 2.96l-0.2 17.9v14z m63-61.2v105c0.1 3.6 0.3 8-5 8.6h-20.1v-119.6c0.1-8.02-2.9-15.76-8.5-21.53s-13.2-9.11-21.2-9.27h-1.2c-35.8 0.1-71.6 0.1-107.3 0h-118.9v-18.4c-0.1-4-0.4-8.4 5-9.1h270.4c1-0.15 2-0.09 3 0.17 0.9 0.26 1.8 0.71 2.6 1.33 0.6 0.77 1.1 1.67 1.3 2.64 0.3 0.95 0.4 1.97 0.2 2.96l-0.2 17.9v14z m61.2-61.5v105.1c0.1 3.6 0.4 8-5 8.6h-18.2v-119.4c0.1-8.03-2.9-15.77-8.5-21.56s-13.2-9.14-21.2-9.34h-1.3c-35.8 0.1-71.6 0.1-107.3 0h-120.8v-18.8c0-3.8-0.4-8.4 5-9.1h270.5c1-0.15 2-0.09 3 0.17 0.9 0.26 1.8 0.71 2.6 1.33 0.6 0.77 1.1 1.67 1.3 2.64 0.3 0.95 0.4 1.97 0.2 2.96l-0.2 17.9v14z\", style: { fill: \"currentcolor\" } }] }, cast: { viewBox: \"0 0 512 512\", paths: [{ d: \"M91.60000000000036 104c-26.3 0-43.5 24-43.5 48.1v51.5c5.3-0.4 10.6-0.7 16-0.7s10.7 0.2 16 0.7V152.0999999999999c0-11.3 7.4-16.1 11.5-16.1h328.9c4.2 0 11.5 4.8 11.5 16.1v207.7c0 11.3-7.4 16.1-11.5 16.1h-168.1c0.4 5.3 0.7 10.6 0.7 16s-0.2 10.7-0.7 16h168.1c26.3 0 43.5-24 43.5-48.1V152.0999999999999c0-24.2-17.3-48.1-43.5-48.1z\", style: { fill: \"currentcolor\" } }, { d: \"M214.20000000000073 408c0.6-5.31 0.8-10.66 0.8-16 0-19.83-3.9-39.47-11.5-57.79s-18.7-34.97-32.72-48.99a150.989 150.989 0 0 0-106.78-44.22c-5.4 0-10.7 0.3-16 0.8v32.2c5.3-0.72 10.65-1.09 16-1.1 31.56 0 61.82 12.54 84.14 34.86a118.99 118.99 0 0 1 34.86 84.14c0 5.35-0.4 10.7-1.1 16z\", style: { fill: \"currentcolor\" } }, { d: \"M158.70000000000073 408c0.89-5.29 1.32-10.64 1.3-16a96.04 96.04 0 0 0-28.13-67.87c-18-18-42.41-28.12-67.87-28.13-5.36-0.03-10.71 0.41-16 1.3v32.7c5.23-1.33 10.6-2 16-2a63.95 63.95 0 0 1 45.28 18.72 63.95 63.95 0 0 1 18.72 45.28c0 5.4-0.67 10.77-2 16z\", style: { fill: \"currentcolor\" } }, { d: \"M101.80000000000109 408a40.5 40.5 0 0 0 3.2-16 41.03 41.03 0 0 0-12.02-28.98 41.03 41.03 0 0 0-28.98-12.02c-5.5-0.03-10.94 1.06-16 3.2v7.8c0.01 12.2 4.85 23.89 13.48 32.52a46.07 46.07 0 0 0 32.52 13.48z\", style: { fill: \"currentcolor\" } }] }, \"cast-connected\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M91.60000000000036 104c-26.3 0-43.5 24-43.5 48.1v51.5c5.3-0.4 10.6-0.7 16-0.7s10.7 0.2 16 0.7V152.0999999999999c0-11.3 7.4-16.1 11.5-16.1h328.9c4.2 0 11.5 4.8 11.5 16.1v207.7c0 11.3-7.4 16.1-11.5 16.1h-168.1c0.4 5.3 0.7 10.6 0.7 16s-0.2 10.7-0.7 16h168.1c26.3 0 43.5-24 43.5-48.1V152.0999999999999c0-24.2-17.3-48.1-43.5-48.1z\", style: { fill: \"currentcolor\" } }, { d: \"M214.20000000000073 408c0.6-5.31 0.8-10.66 0.8-16 0-19.83-3.9-39.47-11.5-57.79s-18.7-34.97-32.72-48.99a150.989 150.989 0 0 0-106.78-44.22c-5.4 0-10.7 0.3-16 0.8v32.2c5.3-0.72 10.65-1.09 16-1.1 31.56 0 61.82 12.54 84.14 34.86a118.99 118.99 0 0 1 34.86 84.14c0 5.35-0.4 10.7-1.1 16z\", style: { fill: \"currentcolor\" } }, { d: \"M158.70000000000073 408c0.89-5.29 1.32-10.64 1.3-16a96.04 96.04 0 0 0-28.13-67.87c-18-18-42.41-28.12-67.87-28.13-5.36-0.03-10.71 0.41-16 1.3v32.7c5.23-1.33 10.6-2 16-2a63.95 63.95 0 0 1 45.28 18.72 63.95 63.95 0 0 1 18.72 45.28c0 5.4-0.67 10.77-2 16z\", style: { fill: \"currentcolor\" } }, { d: \"M101.80000000000109 408a40.5 40.5 0 0 0 3.2-16 41.03 41.03 0 0 0-12.02-28.98 41.03 41.03 0 0 0-28.98-12.02c-5.5-0.03-10.94 1.06-16 3.2v7.8c0.01 12.2 4.85 23.89 13.48 32.52a46.07 46.07 0 0 0 32.52 13.48z\", style: { fill: \"currentcolor\" } }, { d: \"M133 169c-1.71 0-3.4 0.33-4.98 0.98a12.9 12.9 0 0 0-4.22 2.82 12.9 12.9 0 0 0-2.82 4.22c-0.65 1.58-0.98 3.27-0.98 4.98v30.2c31.73 7.31 60.7 23.49 83.6 46.65s38.8 52.34 45.7 84.15h128.7c1.7 0 3.4-0.33 5-0.98s3-1.61 4.2-2.82c1.2-1.2 2.2-2.64 2.8-4.22 0.7-1.58 1-3.27 1-4.98v-148c0-1.71-0.3-3.4-1-4.98-0.6-1.58-1.6-3.01-2.8-4.22a12.5 12.5 0 0 0-4.2-2.82c-1.6-0.65-3.3-0.98-5-0.98z\", style: { fill: \"currentcolor\" } }] }, add: { viewBox: \"0 0 512 512\", paths: [{ d: \"M256 112v288\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"50\", fill: \"none\" } }, { d: \"M400 256h-288\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"50\", fill: \"none\" } }] }, remove: { viewBox: \"0 0 512 512\", paths: [{ d: \"M400 256h-288\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"50\", fill: \"none\" } }] }, eye: { viewBox: \"0 0 512 512\", paths: [{ d: \"M256 320c14.8 0 29.2-5.13 40.6-14.52 11.5-9.4 19.3-22.47 22.2-36.99 2.9-14.53 0.7-29.61-6.3-42.67s-18.3-23.3-32-28.97a64.05 64.05 0 0 0-43.1-2.12c-14.1 4.29-26.4 13.37-34.6 25.69-8.2 12.31-11.9 27.1-10.5 41.84 1.5 14.74 8 28.52 18.5 38.99 5.9 5.95 12.9 10.66 20.7 13.88s16.1 4.87 24.5 4.87\", style: { fill: \"currentcolor\" } }, { d: \"M490.8000000000011 238.5999999999999c-26.5-40.9-60.8-75.7-99.3-100.5-42.6-27.5-89.6-42.1-135.9-42.1-42.5 0-84.3 12.1-124.3 36.1-40.7 24.4-77.6 60.1-109.7 106.1a32.06 32.06 0 0 0-5.7 17.71c-0.1 6.34 1.7 12.56 5.1 17.89 26.4 41.3 60.4 76.1 98.3 100.7 42.7 27.6 88.5 41.6 136.3 41.6 46.7 0 93.8-14.4 136.2-41.7 38.5-24.8 72.7-59.7 99.1-100.9 3.3-5.23 5-11.29 5-17.46 0-6.18-1.8-12.23-5.1-17.44m-234.8 113.4c-14.2 0.02-28.2-3.12-41.1-9.18-12.8-6.07-24.2-14.9-33.2-25.88-9-10.97-15.5-23.81-18.9-37.59-3.5-13.77-3.8-28.15-1.1-42.08 2.8-13.93 8.6-27.08 17.1-38.49 8.4-11.4 19.3-20.79 31.9-27.49a95.6 95.6 0 0 1 40.5-11.21c14.2-0.69 28.4 1.77 41.5 7.22a97.3 97.3 0 0 1 43.1 35.4c9.6 14.46 15.2 31.25 16 48.6 0.8 17.36-3 34.61-11.2 49.93a96.24 96.24 0 0 1-35.3 37.08 95.94 95.94 0 0 1-49.3 13.69\", style: { fill: \"currentcolor\" } }] }, \"eye-off\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M432 448c-2.1 0.01-4.2-0.4-6.1-1.2-2-0.79-3.7-1.98-5.2-3.5l-352-352c-2.9-3.03-4.4-7.04-4.4-11.2 0-2.07 0.4-4.12 1.2-6.03s2-3.63 3.5-5.07c3-2.91 6.9-4.59 11.1-4.7 2.1-0.05 4.1 0.32 6 1.07 2 0.76 3.7 1.89 5.2 3.33l352 352c2.2 2.23 3.8 5.07 4.4 8.17s0.3 6.31-0.9 9.23-3.3 5.42-5.9 7.2c-2.6 1.8-5.7 2.74-8.9 2.7\", style: { fill: \"currentcolor\" } }, { d: \"M248 315.9000000000001l-51.8-51.8c-0.3-0.29-0.7-0.5-1.1-0.6-0.4-0.08-0.8-0.01-1.2 0.2-0.4 0.19-0.7 0.51-0.9 0.9-0.2 0.36-0.3 0.79-0.2 1.2 2.1 13.45 8.4 25.88 18 35.5s22.1 15.92 35.5 18c0.4 0.08 0.8 0.01 1.2-0.2 0.4-0.19 0.7-0.51 0.9-0.9 0.2-0.38 0.2-0.79 0.2-1.2-0.1-0.41-0.3-0.79-0.6-1.1\", style: { fill: \"currentcolor\" } }, { d: \"M264 196.19999999999982l51.9 51.9c0.3 0.29 0.7 0.5 1.1 0.6 0.4 0.08 0.8 0.01 1.2-0.2 0.4-0.19 0.7-0.51 0.9-0.9 0.2-0.36 0.3-0.79 0.2-1.2a64.3 64.3 0 0 0-18-35.5c-9.6-9.62-22.1-15.93-35.5-18-0.4-0.08-0.8-0.01-1.2 0.2-0.4 0.19-0.7 0.51-0.9 0.9-0.2 0.36-0.3 0.79-0.2 1.2 0 0.19 0.1 0.38 0.1 0.55 0.1 0.16 0.3 0.31 0.4 0.45\", style: { fill: \"currentcolor\" } }, { d: \"M491 273.4000000000001c3.3-5.19 5.1-11.24 5-17.4 0-6.17-1.8-12.2-5.1-17.4-26.5-40.9-60.8-75.7-99.3-100.5-42.6-27.5-89.6-42.1-136-42.1-24.4 0.01-48.7 3.99-71.8 11.8-0.6 0.23-1.2 0.61-1.7 1.1-0.5 0.48-0.8 1.12-0.9 1.8-0.2 0.66-0.2 1.34 0 2 0.1 0.66 0.5 1.25 1 1.7l47.2 47.2c0.5 0.52 1.1 0.87 1.8 1 0.7 0.2 1.3 0.2 2 0 16-3.92 32.8-3.64 48.6 0.8 15.9 4.44 30.4 12.9 42 24.56 11.7 11.65 20.2 26.12 24.6 42 4.4 15.87 4.7 32.63 0.8 48.64-0.2 0.65-0.2 1.35 0 2 0.2 0.67 0.5 1.29 1 1.8l67.9 68c0.7 0.7 1.7 1.13 2.7 1.2 1 0.06 2-0.26 2.8-0.9 26.3-22.18 49-48.24 67.4-77.3\", style: { fill: \"currentcolor\" } }, { d: \"M256 352c-14.5 0.03-28.9-3.25-42-9.58-13-6.33-24.5-15.55-33.5-26.96-9-11.42-15.3-24.72-18.4-38.92s-2.9-28.92 0.5-43.04c0.2-0.65 0.2-1.35 0-2-0.2-0.68-0.5-1.3-1-1.8l-66.8-66.9c-0.7-0.69-1.7-1.12-2.7-1.2-1-0.06-2 0.26-2.8 0.9-24.4 20.8-47 46.03-67.7 75.7-3.6 5.2-5.6 11.36-5.7 17.7-0.1 6.33 1.7 12.55 5.1 17.9 26.4 41.3 60.4 76.1 98.3 100.7 42.7 27.6 88.5 41.6 136.3 41.6 24.7-0.09 49.1-4 72.6-11.6 0.7-0.21 1.2-0.59 1.7-1.1s0.8-1.13 1-1.8c0.2-0.65 0.2-1.35 0-2-0.2-0.68-0.5-1.3-1-1.8l-47.5-47.5c-0.5-0.49-1.1-0.84-1.8-1-0.7-0.2-1.3-0.2-2 0-7.4 1.8-15 2.7-22.6 2.7\", style: { fill: \"currentcolor\" } }] }, \"local-import\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M83.60000000000036 202.5v-64.6a35.8 35.8 0 0 1 10.49-25.31 35.82 35.82 0 0 1 25.31-10.49h68.2a36.55 36.55 0 0 1 19.9 6l25 16.7a35.25 35.25 0 0 0 19.9 6h139.9a35.82 35.82 0 0 1 35.8 35.8v35.8\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M456.89999999999964 233.4l-14.6 148.4a35.85 35.85 0 0 1-10.49 25.309 35.82 35.82 0 0 1-25.31 10.491h-301a35.82 35.82 0 0 1-35.8-35.8l-14.6-148.4a28.755 28.755 0 0 1 26.3-30.9c0.8 0 1.5-0.2 2.3-0.2h344.6c7.61 0.03 14.9 3.08 20.26 8.48a28.74 28.74 0 0 1 8.34 20.32z\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }] } };\n\n// src/Icon.tsx\nvar ICONS = icons_default;\nvar Icon = React.memo(React.forwardRef((props, ref) => {\n const icon = ICONS[props.name];\n return icon ? /* @__PURE__ */ React.createElement(\"svg\", { ref, className: props.className, viewBox: icon.viewBox }, icon.paths.map((path, index) => /* @__PURE__ */ React.createElement(\"path\", { key: index, d: path.d, style: path.style }))) : null;\n}));\nvar Icon_default = Icon;\n\n// src/index.ts\nvar src_default = Icon_default;\nexport {\n src_default as default\n};\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) scriptUrl = scripts[scripts.length - 1].src\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl + \"../../\";","// Copyright (C) 2017-2023 Smart code 203358507\n\nif (typeof process.env.SENTRY_DSN === 'string') {\n const Sentry = require('@sentry/browser');\n Sentry.init({ dsn: process.env.SENTRY_DSN });\n}\n\nconst Bowser = require('bowser');\nconst browser = Bowser.parse(window.navigator?.userAgent || '');\nif (browser?.platform?.type === 'desktop') {\n document.querySelector('meta[name=\"viewport\"]')?.setAttribute('content', '');\n}\n\nconst React = require('react');\nconst ReactDOM = require('react-dom/client');\nconst i18n = require('i18next');\nconst { initReactI18next } = require('react-i18next');\nconst stremioTranslations = require('stremio-translations');\nconst App = require('./App');\n\nconst translations = Object.fromEntries(Object.entries(stremioTranslations()).map(([key, value]) => [key, {\n translation: value\n}]));\n\ni18n\n .use(initReactI18next)\n .init({\n resources: translations,\n lng: 'en-US',\n fallbackLng: 'en-US',\n interpolation: {\n escapeValue: false\n }\n });\n\nconst root = ReactDOM.createRoot(document.getElementById('app'));\nroot.render(<App />);\n\nif (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n window.addEventListener('load', () => {\n navigator.serviceWorker.register('service-worker.js')\n .catch((registrationError) => {\n console.error('SW registration failed: ', registrationError);\n });\n });\n}\n"],"names":["module","exports","arr","len","length","i","arr2","Array","__esModule","isArray","instance","Constructor","TypeError","_defineProperties","target","props","descriptor","enumerable","configurable","writable","Object","defineProperty","key","protoProps","staticProps","prototype","obj","value","_i","Symbol","iterator","_s","_e","_arr","_n","_d","call","next","done","push","err","objectWithoutPropertiesLoose","source","excluded","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","arrayWithHoles","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","_typeof","constructor","arrayLikeToArray","o","minLen","n","toString","slice","name","from","test","_interopRequireDefault","_regenerator","_asyncToGenerator2","scope","handler","addEventListener","_ref2","mark","_callee","_ref","request","id","path","args","data","thisArg","wrap","_context","prev","abrupt","reduce","prop","apply","sent","postMessage","response","result","t0","error","stop","_x","this","arguments","_ref3","_callee2","_context2","Math","random","Promise","resolve","reject","onMessage","_ref4","removeEventListener","_x2","_x3","EventEmitter","ERROR","ChromecastSenderVideo","options","containerElement","HTMLElement","Error","chromecastTransport","device","getCastDevice","deviceNameContainerElement","document","createElement","style","display","flexDirection","alignItems","justifyContent","width","height","backgroundColor","deviceNameLabelElement","flex","maxWidth","fontSize","lineHeight","maxHeight","textAlign","color","innerText","friendlyName","appendChild","on","onMessageReceivedError","events","destroyed","observedProps","stream","loaded","paused","time","duration","buffering","buffered","audioTracks","selectedAudioTrackId","subtitlesTracks","selectedSubtitlesTrackId","subtitlesOffset","subtitlesSize","subtitlesTextColor","subtitlesBackgroundColor","subtitlesOutlineColor","volume","muted","playbackSpeed","videoParams","extraSubtitlesTracks","selectedExtraSubtitlesTrackId","extraSubtitlesDelay","extraSubtitlesSize","extraSubtitlesOffset","extraSubtitlesTextColor","extraSubtitlesBackgroundColor","extraSubtitlesOutlineColor","onMessageSendError","action","emit","assign","CHROMECAST_SENDER_VIDEO","MESSAGE_SEND_FAILED","INVALID_MESSAGE_RECEIVED","message","event","concat","onPropChanged","propName","propValue","eventName","listener","dispatch","type","hasOwnProperty","sendMessage","catch","commandName","commandArgs","removeAllListeners","off","removeChild","JSON","stringify","canPlayStream","manifest","external","commands","Hls","cloneDeep","deepFreeze","Color","getContentType","HLS_CONFIG","HTMLVideo","styleElement","sheet","insertRule","videoElement","controls","playsInline","onerror","code","HTML_VIDEO","MEDIA_ERR_ABORTED","MEDIA_ERR_NETWORK","MEDIA_ERR_DECODE","MEDIA_ERR_SRC_NOT_SUPPORTED","UNKNOWN_ERROR","onError","critical","onVideoError","onended","onpause","onplay","ontimeupdate","ondurationchange","onwaiting","onseeking","onseeked","onstalled","onplaying","oncanplay","canplaythrough","onloadedmetadata","onloadeddata","onvolumechange","onratechange","textTracks","onchange","onCueChange","forEach","track","oncuechange","hls","getProp","readyState","HAVE_METADATA","currentTime","isFinite","floor","HAVE_FUTURE_DATA","start","end","map","index","freeze","String","lang","language","label","origin","embedded","mode","parseInt","cssRules","textShadow","audioTrack","playbackRate","cues","cue","snapToLines","line","command","url","autoplay","then","contentType","isSupported","Events","AUDIO_TRACKS_UPDATED","AUDIO_TRACK_SWITCHED","loadSource","attachMedia","src","UNSUPPORTED_STREAM","detachMedia","destroy","removeAttribute","load","pause","play","selecterdSubtitlesTrack","find","max","min","rgb","string","console","selecterdAudioTrack","split","pop","parseFloat","setProp","behaviorHints","notWebReady","canPlayType","proxyHeaders","fetch","method","resp","ok","headers","get","status","statusText","debug","enableWorker","lowLatencyMode","backBufferLength","maxBufferLength","maxMaxBufferLength","maxFragLookUpTolerance","maxBufferHole","appendErrorMaxRetry","nudgeMaxRetry","manifestLoadingTimeOut","manifestLoadingMaxRetry","fragLoadPolicy","default","maxTimeToFirstByteMs","maxLoadTimeMs","timeoutRetry","maxNumRetry","retryDelayMs","maxRetryDelayMs","errorRetry","IFrameVideo","iframeElement","border","allowFullscreen","allow","contentWindow","playerFrameUrl","window","onload","SUBS_SCALE_FACTOR","stremioToMPVProps","parseVersion","version","v","ShellVideo","resolveMPVVersion","ipc","shellTransport","stremioProps","waitForMPVVersion","send","avgDuration","setBackground","visible","bg","container","parentElement","background","logProp","log","last_time","mpvVersion","windowRenderer","navigator","platform","videoOutput","mpvSeparateWindow","separateWindow","b","versionA","versionB","startAt","speed","aid","mute","sid","intDuration","round","embeddedProp","filter","x","undefined","title","current_time","actualId","argb","replace","selectVideoImplementation","StremioVideo","video","Video","TizenVideo","WebOsVideo","YouTubeVideo","withStreamingServer","withHTMLSubtitles","withVideoParams","externalUrl","getCastState","cast","framework","CastState","CONNECTED","ytId","streamingServerURL","SCOPE","transport","getState","getCurrentTime","getDuration","getTotalTrackInfo","getCurrentStreamInfo","open","prepareAsync","async","successHandler","errorHandler","handlerResult","seekTo","setSpeed","rate","setSelectTrack","setDisplayRect","y","setDisplayMethod","setListener","handlers","listen","getTracksData","createAVPlay","isBuffering","videoSpeed","currentSubTrack","currentAudioTrack","lastSub","AVPlay","promiseAudioTrackChange","size","offset","textColor","outlineColor","subtitlesOpacity","objElement","disabledSubs","refreshSubtitle","lastSubDurationDiff","now","renderSubtitle","text","subtitleTimeout","clearTimeout","subtitlesElement","hasChildNodes","lastChild","bottom","opacity","cueNode","innerHTML","padding","setTimeout","onbufferingstart","onbufferingprogress","onbufferingcomplete","oncurrentplaytime","onsubtitlechange","onstreamcompleted","position","right","left","zIndex","retries","isLoaded","gotTraktData","tracksData","audio","subs","isPaused","totalTrackInfo","textTrack","textTrackId","extra","parse","extra_info","e","textTrackLang","track_lang","trim","extendedTrackData","el","currentTracks","currentIndex","audioTrackId","audioTrackLang","tizenVersion","g","tizen","systeminfo","getCapability","innerWidth","innerHeight","STREAM_FAILED_TO_LOAD","observeProp","willPause","lastKnownProp","selectedSubtitlesTrack","selectedAudioTrack","luna","params","fail","onSuccess","onFailure","errorCode","errorText","webOS","service","launchVideoApp","success","failure","parameters","webOsColors","stremioColors","unsupportedAudio","unsupportedSubs","fetchedDeviceInfo","retrieveDeviceInfo","configs","edidType","toLowerCase","includes","subSize","subStyles","font_size","bg_color","bg_opacity","char_opacity","toggleSubtitles","mediaId","startTime","lastSubColor","lastSubBgColor","lastPlaybackSpeed","retrieveExtendedTracks","nrSubs","nrAudio","codec","charColor","bgColor","bgOpacity","charOpacity","trackIndex","successCb","nextOffset","nextSubSize","nextColor","nextSubOpacity","enabled","count","cb","timer","setInterval","clearInterval","timeChangedTimeout","apiScriptElement","YT","ready","onAPIError","PlayerState","Player","videoContainerElement","playerVars","cc_load_policy","disablekb","enablejsapi","fs","iv_load_policy","loop","modestbranding","playsinline","rel","onReady","onVideoReady","onApiChange","onVideoAPIChange","onStateChange","onVideoStateChange","timeChangedIntervalId","pendingLoadArgs","YOUTUBE_VIDEO","API_LOAD_FAILED","videoError","INVALID_PARAMETER","HTML5_VIDEO","VIDEO_NOT_FOUND","VIDEO_NOT_EMBEDDABLE","loadModule","setOption","state","ENDED","CUED","UNSTARTED","PAUSED","PLAYING","getPlayerState","BUFFERING","getVolume","isMuted","getPlaybackRate","getOption","languageCode","displayName","loadVideoById","videoId","startSeconds","cueVideoById","stopVideo","pauseVideo","playVideo","unMute","setVolume","setPlaybackRate","selecterdTrack","WITH_HTML_SUBTITLES","LOAD_FAILED","WITH_STREAMING_SERVER","CONVERT_FAILED","mediaElement","formats","VIDEO_CODEC_CONFIGS","force","chrome","mime","aliases","AUDIO_CODEC_CONFIGS","canPlay","config","videoCodecs","audioCodecs","maxAudioChannels","userAgent","AudioContext","maxChannelCount","destination","getMaxAudioChannels","qt","encodeURIComponent","json","tracks","subsTracks","array","middle","convertSrtCue","caption","s","splice","match","m","convert","srt","cuelist","srt2webvtt","VTTJS","binarySearchUpperBound","parser","WebVTT","Parser","StringDecoder","errors","cuesByTime","oncue","c","endTime","onparsingerror","onflush","warn","times","sort","t1","t2","j","k","c1","c2","render","nodes","timeIndex","cuesForTime","node","convertCueToDOMTree","subtitlesParser","subtitlesRenderer","subtitlesConverter","VideoWithHTMLSubtitles","onVideoPropEvent","bind","onOtherVideoEvent","videoState","selectedTrackId","delay","extraSubtitlesOpacity","renderSubtitles","whiteSpace","videoPropValue","selectedTrack","findIndex","t","subtitles","exclusive","magnet","createTorrent","buildProxyUrl","streamURL","requestHeaders","responseHeaders","parsedStreamURL","URL","proxyOptions","URLSearchParams","set","entries","entry","append","pathname","search","seriesInfo","streamingServerSettings","infoHash","fileIdx","announce","torrent","parsedMagnetURI","decode","sources","proxyStreamsEnabled","buildTorrent","query","body","peerSearch","guessFileIdx","season","episode","guessedFileIdx","fetchOpensubtitlesParams","mediaURL","hash","videoHash","videoSize","queryParams","fetchFilename","filename","streamName","decodeURIComponent","allSettled","results","reason","hat","mediaCapabilities","convertStream","fetchVideoParams","isPlayerLoaded","supportsTranscoding","VideoWithStreamingServer","self","loadArgs","actionsQueue","canPlayStreamOptions","forceTranscoding","videoCodec","audioCodec","shift","flushActionsQueue","supported","probe","isFormatSupported","some","format","areStreamsSupported","streams","every","channels","VideoWithVideoParams","r","l","d","toStringTag","create","p","VERSION","PALETTE_MATERIAL_CHROME","PALETTE_MATERIAL_500","COLOR_NAMES","getLuminance","intToRgb","rgbToInt","rgbToHsv","rgbToHsl","hslToRgb","rgbToHex","parseColor","parseColorToHsla","parseColorToHsl","parseColorToRgba","parseColorToRgb","createPicker","a","return","u","h","attachTo","showHSL","showRGB","showHEX","showAlpha","palette","paletteEditable","useAlphaInPalette","slBarSize","hueBarSize","alphaBarSize","f","NodeList","querySelector","jquery","getContext","createLinearGradient","addColorStop","setHue","fillStyle","fillRect","globalCompositeOperation","grabColor","getImageData","findColor","A","Number","nvl","hasAttribute","getAttribute","H","S","L","R","G","B","element","className","setupHueCanvas","hueBarHelper","huePointer","setupSlCanvas","slBarHelper","slPointer","preview","setupClipboard","setupInput","inputH","inputS","inputL","remove","inputR","inputG","inputB","inputRGBHEX","setPalette","paletteRow","setupAlphaCanvas","alphaPointer","onValueChanged","limit","clientX","getBoundingClientRect","clientY","top","toFixed","select","returnValue","execCommand","ensureArray","setAttribute","insertBefore","onPaletteColorAdd","onPaletteColorRemove","querySelectorAll","shiftKey","silent","updatePointerH","updateInputHSL","updateInputRGB","updateInputRGBHEX","updatePointerSL","F","E","updatePointerA","C","cssColorToRgb","w","T","I","P","D","oncoloradd","oncolorremove","listeners","change","coloradd","colorremove","hsl","rgbhex","all","hex","rgba","hsla","setColor","updatePalette","show","classList","hide","add","toggle","ctrl","cssHslaToHsla","cssHslToHsl","cssRgbaToRgba","cssRgbToRgb","cssColorToRgba","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgrey","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgrey","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","isNaN","exec","pow","btoa","unescape","sourceRoot","join","require","React","useTranslation","Router","Core","Shell","Chromecast","DragAndDrop","KeyboardShortcuts","ServicesProvider","NotFound","PlatformProvider","ToastProvider","TooltipProvider","CONSTANTS","withCoreSuspender","ServicesToaster","DeepLinkHandler","SearchParamsHandler","ErrorDialog","withProtectedRoutes","routerViewsConfig","styles","RouterWithProtectedRoutes","i18n","onPathNotMatch","useCallback","services","useMemo","core","appVersion","process","shellVersion","shell","chromecast","keyboardShortcuts","dragAndDrop","useState","initialized","setInitialized","useEffect","prevPath","location","onLocationHashChange","active","analytics","onCoreStateChanged","onShellStateChanged","onChromecastStateChange","setOptions","receiverApplicationId","CHROMECAST_RECEIVER_APP_ID","autoJoinPolicy","AutoJoinPolicy","PAGE_SCOPED","resumeSavedSession","androidReceiverCompatible","onCoreEvent","settings","interfaceLanguage","changeLanguage","onWindowFocus","profile","StrictMode","viewsConfig","useStreamingServer","streamingServer","content","deepLinks","metaDetailsVideos","PropTypes","classnames","Button","Image","dataCleared","setDataCleared","reload","clearData","localStorage","clear","alt","onClick","disabled","propTypes","isEqual","useProfile","useToast","useServices","toast","searchParams","setSearchParams","onLocationChange","previousSearchParams","currentSearchParams","fromEntries","streamingServerUrl","timeout","uid","transport_url","startsWith","dataset","onDragAndDropError","file","App","routes","routesRegexp","board","component","Board","intro","Intro","discover","Discover","library","Library","continuewatching","Search","metadetails","MetaDetails","addons","Addons","Settings","player","Component","previousAuthRef","useRef","auth","current","onRouteChange","routeConfig","Icon","AddonDetails","logo","description","types","transportUrl","official","renderLogoFallback","renderFallback","arrayOf","bool","ModalDialog","usePlatform","AddonDetailsWithRemoteAndLocalAddon","withRemoteAndLocalAddon","remoteAddon","localAddon","addon","flags","useAddonDetails","AddonDetailsModal","onCloseRequest","addonDetails","modalButtons","cancelButton","reactEvent","nativeEvent","configureButton","openExternal","toggleButton","configurationRequired","modalBackground","buttons","selected","func","AddonDetailsModalFallback","useModelState","model","useLongPress","forwardRef","ref","href","children","onLongPress","onDoubleClick","longPress","detect","onKeyDown","preventDefault","buttonClickPrevented","currentTarget","click","onMouseDown","buttonBlurPrevented","activeElement","blur","tabIndex","TYPE_PRIORITIES","movie","series","channel","tv","music","radio","podcast","game","book","adult","other","Infinity","ICON_FOR_TYPE","Map","SUBTITLES_SIZES","SUBTITLES_FONTS","SEEK_TIME_DURATIONS","NEXT_VIDEO_POPUP_DURATIONS","CATALOG_PREVIEW_SIZE","CATALOG_PAGE_SIZE","NONE_EXTRA_VALUE","SKIP_EXTRA_NAME","META_LINK_CATEGORY","IMDB_LINK_CATEGORY","SHARE_LINK_CATEGORY","WRITERS_LINK_CATEGORY","EXTERNAL_PLAYERS","platforms","WHITELISTED_HOSTS","Checkbox","checked","AColorPicker","useBinaryState","ColorPicker","ColorInput","onChange","modalOpen","openModal","closeModal","tempValue","setTempValue","labelButtonStyle","isTransparent","endsWith","labelButtonOnClick","openModalPrevented","modalDialogOnClick","colorPickerOnInput","useLayoutEffect","onInput","object","pickerRef","pickerElementRef","pickerClipboard","picker","nextValue","LibItem","ContinueWatchingItem","_id","notifications","metaDetailsStreams","onPlayClick","stopPropagation","onDismissClick","posterChangeCursor","shape","ContineWatchingItem","CoreSuspenderContext","createContext","wrapPromise","promise","suspender","read","useCoreSuspender","useContext","Fallback","parentSuspender","setRender","statesRef","streamsRef","decodeStream","Suspense","fallback","Provider","DelayedRenderer","number","useEvents","pullEvents","dismissEvent","modal","onClose","imageUrl","manifestUrl","EventModal","ctx","fallbackSrc","broken","setBroken","loading","MetaItem","removable","watched","newVideos","items","progress","option","optionOnSelect","optionSelectPrevented","is_watched","VerticalNavBar","HorizontalNavBar","TABS","icon","MainNavBars","memo","route","backButton","searchBar","addonsButton","fullscreenButton","navMenu","tabs","filterInvalidDOMProps","Multiselect","poster","posterShape","menuOpen","onMenuOpen","onMenuClose","metaItemOnClick","selectPrevented","menuOnClick","menuOnSelect","renderPosterFallback","has","renderMenuLabelContent","renderLabelContent","onOpen","onSelect","oneOf","Tooltip","ActionButton","tooltip","MetaLinks","links","toUpperCase","UrlUtils","SharePrompt","MetaPreviewPlaceholder","ALLOWED_LINK_REDIRECTS","regexp","MetaPreview","compact","runtime","releaseInfo","released","trailerStreams","inLibrary","toggleInLibrary","shareModalOpen","openShareModal","closeShareModal","linksGroups","link","category","protocol","hostname","showHref","trailerHref","Date","getTime","getFullYear","Fragment","Placeholder","instanceOf","ReactIs","useTranslate","MetaRowPlaceholder","MetaRow","catalog","itemComponent","catalogTitle","isValidElementType","item","fill","_","oneOfType","elementType","useRouteFocused","useModalsContainer","Modal","routeFocused","modalsContainer","modalContainerRef","closeButtonOnClick","onModalContainerMouseDown","closeModalDialogPrevented","onModalDialogContainerMouseDown","childNodes","childElementCount","backgroundImage","Popup","direction","renderLabelText","closeMenu","toggleMenu","labelOnClick","toggleMenuPrevented","menuOnKeyDown","optionOnClick","closeMenuPrevented","mountedRef","renderLabel","renderMenu","renderPopupLabel","labelProps","any","useFullscreen","usePWA","SearchBar","NavMenu","backButtonOnClick","history","back","fullscreen","requestFullscreen","exitFullscreen","isIOSPWA","renderNavMenuLabel","NavMenuContent","popupLabelOnClick","togglePopupPrevented","popupMenuOnClick","useTorrent","createTorrentFromMagnet","isAndroidPWA","logoutButtonOnClick","onPlayMagnetLinkClick","clipboard","readText","clipboardText","user","avatar","email","debounce","TextInput","useSearchHistory","useLocalSearch","searchHistory","localSearch","historyOpen","openHistory","closeHistory","currentQuery","setCurrentQuery","searchInputRef","containerRef","searchBarOnClick","searchHistoryOnClose","contains","queryInputOnChange","queryInputOnSubmit","searchValue","queryInputClear","updateLocalSearchDebounced","focus","cancel","placeholder","defaultValue","onSubmit","SearchBarFallback","searchQuery","maxResults","NavTabButton","scrollTop","scrollTo","behavior","tab","PaginationInput","prevNextButtonOnClick","PlayIconCircleCentered","viewBox","cx","cy","FocusLock","getAnchorElement","documentElement","getComputedStyle","overflowY","labelRef","menuRef","autoDirection","setAutoDirection","menuOnMouseDown","closePopupPrevented","onCloseEvent","closeEvent","anchorRect","labelRect","menuRect","labelPosition","autoFocus","lockProps","isRequired","SearchBarPlaceholder","inputRef","selectInputContent","copyToClipboard","readOnly","useAnimationFrame","useLiveRef","Slider","minimumValue","maximumValue","onSlide","onComplete","minimumValueRef","maximumValueRef","valueRef","bufferedRef","onSlideRef","onCompleteRef","sliderContainerRef","requestThumbAnimation","cancelThumbAnimation","calculateValueForMouseX","mouseX","sliderX","sliderWidth","retainThumb","onBlur","onMouseUp","onMouseMove","releaseThumb","classIndex","button","thumbPosition","bufferedPosition","marginLeft","StreamingServerWarning","onLaterClick","streamingServerWarningDismissed","setMonth","getMonth","setFullYear","submitPrevented","autoCorrect","autoCapitalize","autoComplete","spellCheck","ToastContext","ToastItem","toastOnClick","selectToastPrevented","closeToastPrevented","setContainer","useReducer","itemOnClose","filters","addFilter","removeFilter","useTooltip","margin","substring","onMouseEnter","update","onMouseLeave","parent","TooltipContext","classNames","TooltipItem","setStyle","onTransitionEnd","tooltipBounds","parentBounds","tooltips","setTooltips","priorities","localeCompare","NEGATIVE_INFINITY","child","elementTop","offsetTop","elementBottom","clientHeight","containerTop","containerBottom","isChildVisible","Chips","MultiselectMenu","comparatorWithPriorities","getVisibleChildrenRange","interfaceLanguages","languageNames","useNotifications","useOnScrollToBottom","urlParamsNames","animationFrameId","cancelAnimationFrame","requestAnimationFrame","initialValue","setValue","fullscreenElement","setFullscreen","toggleFullscreen","onFullscreenChange","throttle","intersection","deps","prevState","nextState","setState","useInsertionEffect","onNewState","models","onNewStateThrottled","threshold","triggeredRef","onScroll","scrollHeight","standalone","matchMedia","matches","NaN","createTorrentTimeout","parsed","stringWithPrefix","prefix","charAt","withType","partialKey","translatedName","translatedType","ReactDOM","createPortal","ModalsContainerContext","ModalsContainerProvider","Route","RouteFocusedContext","RouteFocusedProvider","routeConfigForPath","urlParamsForPath","views","setViews","urlParams","routeViewIndex","vc","routeIndex","rc","view","exact","RegExp","Addon","installed","onToggle","onConfigure","onShare","toggleButtonOnClick","configureButtonOnClick","shareButtonOnClick","p2p","useInstalledAddons","useRemoteAddons","useAddonDetailsTransportUrl","useSelectableInputs","installedAddons","remoteAddons","addonDetailsTransportUrl","setAddonDetailsTransportUrl","selectInputs","filtersModalOpen","openFiltersModal","closeFiltersModal","addAddonModalOpen","openAddAddonModal","closeAddAddonModal","addAddonUrlInputRef","addAddonOnSubmit","addAddonModalButtons","setSearch","searchInputOnChange","sharedAddon","setSharedAddon","clearSharedAddon","onAddonShare","onAddonToggle","onAddonConfigure","closeAddonDetails","searchFilterPredicate","selectInput","selectable","catalogId","setTransportUrl","nextQueryParams","base","resource","selectableInputs","catalogSelect","catalogs","selectableCatalog","typeSelect","mapSelectableInputs","useBoard","useContinueWatchingPreview","continueWatchingPreview","loadBoardRows","boardCatalogsOffset","scrollContainerRef","onVisibleRangeChange","range","loadRange","useDiscover","loadNextPage","hasNextPage","inputsModalOpen","openInputsModal","closeInputsModal","addonModalOpen","openAddonModal","closeAddonModal","selectedMetaItemIndex","setSelectedMetaItemIndex","metasContainerRef","selectedMetaItem","addToLibrary","removeFromLibrary","metaItemsOnFocusCapture","onScrollToBottom","onFocusCapture","metaItem","playname","extraSelects","nextPage","ConsentCheckbox","checkboxOnClick","togglePrevented","linkOnClick","CredentialsTextInput","navigationPrevented","spatialNavigationPrevented","navigate","PasswordResetModal","useFacebookLogin","SIGNUP_FORM","LOGIN_FORM","startFacebookLogin","stopFacebookLogin","emailRef","passwordRef","confirmPasswordRef","termsRef","privacyPolicyRef","marketingRef","errorRef","passwordRestModalOpen","openPasswordRestModal","closePasswordResetModal","loaderModalOpen","openLoaderModal","closeLoaderModal","form","password","confirmPassword","termsAccepted","privacyPolicyAccepted","marketingAccepted","loginWithFacebook","facebook","cancelLoginWithFacebook","loginWithEmail","validity","valid","loginAsGuest","signup","gdpr_consent","tos","privacy","marketing","emailOnChange","emailOnSubmit","passwordOnChange","passwordOnSubmit","confirmPasswordOnChange","confirmPasswordOnSubmit","toggleTermsAccepted","togglePrivacyPolicyAccepted","toggleMarketingAccepted","switchFormOnClick","scrollIntoView","setError","goToPasswordReset","passwordResetModalButtons","useLibrary","sortChips","page","libItem","LibraryFallback","withModel","sorts","StreamsList","VideosList","useMetaDetails","useSeason","useMetaExtensionTabs","metaDetails","setSeason","metaExtensions","metaExtension","clearMetaExtension","metaPath","streamPath","videos","toggleNotifications","libraryItem","noNotif","seasonOnSelect","renderBackgroundImageFallback","overview","sandbox","StreamPlaceholder","Stream","videoReleased","addonName","thumbnail","popupLabelOnMouseUp","ctrlKey","popupLabelOnContextMenu","popupLabelOnLongPress","pointerType","popupMenuOnPointerDown","popupMenuOnContextMenu","popupMenuOnKeyDown","externalPlayer","web","openPlayer","playlist","download","fileName","streamLink","markVideoAsWatched","playerType","copyStreamLink","writeText","renderThumbnailFallback","onPointerDown","onContextMenu","streaming","ios","android","windows","macos","linux","ALL_ADDONS_KEY","selectedAddon","setSelectedAddon","onAddonSelected","countLoadingAddons","streamsByAddon","filteredStreams","values","flat","selectableOptions","SeasonsBarPlaceholder","SeasonsBar","seasons","selectedSeason","seasonIndex","valueIndex","prevDisabled","nextDisabled","selectedOption","VideoPlaceholder","upcoming","scheduled","toggleWatchedOnClick","videoButtonOnClick","toLocaleString","year","month","day","showNotificationsToggle","MAX_SAFE_INTEGER","nonSpecialSeasons","videosForSeason","guessStream","extension","setSelected","BufferingLoader","SeekBar","VolumeSlider","ControlBar","nextVideo","statistics","onPlayRequested","onPauseRequested","onNextVideoRequested","onMuteRequested","onUnmuteRequested","onVolumeChangeRequested","onSeekRequested","onToggleSubtitlesMenu","onToggleInfoMenu","onToggleSpeedMenu","onToggleVideosMenu","onToggleOptionsMenu","onToggleStatisticsMenu","chromecastServiceActive","setChromecastServiceActive","buttonsMenuOpen","toogleButtonsMenu","onSubtitlesButtonMouseDown","subtitlesMenuClosePrevented","onInfoButtonMouseDown","infoMenuClosePrevented","onSpeedButtonMouseDown","speedMenuClosePrevented","onVideosButtonMouseDown","videosMenuClosePrevented","onOptionsButtonMouseDown","optionsMenuClosePrevented","onStatisticsButtonMouseDown","statisticsMenuClosePrevented","onPlayPauseButtonClick","onNextVideoButtonClick","onMuteButtonClick","onChromecastButtonClick","requestSession","onStateChanged","formatTime","seekTime","setSeekTime","remainingTimeMode","toggleRemainingTimeMode","resetTimeDebounced","formatUnit","hours","minutes","seconds","slidingVolume","setSlidingVolume","resetVolumeDebounced","InfoMenu","NextVideoPopup","onDismiss","watchNowButtonRef","animationEnded","setAnimationEnded","videoName","onAnimationEnd","onDismissButtonClick","onWatchNowButtonClick","Option","deviceId","onButtonClick","OptionsMenu","playbackDevices","streamingUrl","downloadUrl","externalDevices","onCopyStreamButtonClick","onDownloadVideoButtonClick","onExternalDeviceRequested","langs","VolumeChangeIndicator","StatisticsMenu","VideosMenu","SubtitlesMenu","SpeedMenu","usePlayer","useSettings","useStatistics","useVideo","videoParamsChanged","timeChanged","seek","pausedChanged","ended","updateSettings","seeking","setSeeking","casting","setCasting","immersed","setImmersed","setImmersedDebounced","optionsMenuOpen","closeOptionsMenu","toggleOptionsMenu","subtitlesMenuOpen","closeSubtitlesMenu","toggleSubtitlesMenu","infoMenuOpen","closeInfoMenu","toggleInfoMenu","speedMenuOpen","closeSpeedMenu","toggleSpeedMenu","videosMenuOpen","closeVideosMenu","toggleVideosMenu","statisticsMenuOpen","closeStatisticsMenu","toggleStatisticsMenu","nextVideoPopupOpen","openNextVideoPopup","closeNextVideoPopup","menusOpen","closeMenus","overlayHidden","nextVideoPopupDismissed","defaultSubtitlesSelected","defaultAudioTrackSelected","onImplementationChanged","onEnded","onSubtitlesTrackLoaded","onExtraSubtitlesTrackLoaded","onPlayRequestedDebounced","onPauseRequestedDebounced","onPlaybackSpeedChanged","onSubtitlesTrackSelected","onExtraSubtitlesTrackSelected","onAudioTrackSelected","onExtraSubtitlesDelayChanged","onSubtitlesSizeChanged","onSubtitlesOffsetChanged","onDismissNextVideoPopup","onVideoClick","onVideoDoubleClick","onContainerMouseDown","onContainerMouseMove","immersePrevented","onContainerMouseLeave","onBarMouseMove","unload","metaRequest","streamRequest","video_id","timeOffset","surroundSound","baseUrl","addExtraSubtitlesTracks","bingeWatching","nextVideoNotificationDuration","findTrackByLang","where","subtitlesTrack","subtitlesLanguage","extraSubtitlesTrack","audioLanguage","toastFilter","onCastStateChange","onChromecastServiceStateChange","CastContextEventType","CAST_STATE_CHANGED","seekDuration","seekShortTimeDuration","seekTimeDuration","onKeyUp","onWheel","deltaY","onMouseOver","onExtraSubtitlesOffsetChanged","onExtraSubtitlesSizeChanged","streamTransportUrl","metaTransportUrl","OptionButton","RATES","reverse","onOptionSelect","peers","completed","DiscreteSelectInput","buttonOnClick","ORIGIN_PRIORITIES","LANGUAGE_PRIORITIES","subtitlesLanguages","selectedSubtitlesLanguage","subtitlesTracksForLanguage","subtitlesLanguageOnClick","subtitlesTrackOnClick","onSubtitlesDelayChanged","delta","extraDelay","sizeIndex","extraSizeIndex","extraSize","audioTrackOnClick","volumeIndicatorOpen","openVolumeIndicator","closeVolumeIndicator","volumeChangeTimeout","prevVolume","iconName","subtitlesPath","downloadSpeed","streamProgress","getStatistics","interval","useSearch","loadSearchRows","reduceRight","SearchFallback","useProfileSettingsInputs","useStreamingServerSettingsInputs","useDataExport","GENERAL_SECTION","PLAYER_SECTION","STREAMING_SECTION","SHORTCUTS_SECTION","dataExport","loadDataExport","interfaceLanguageSelect","subtitlesLanguageSelect","subtitlesSizeSelect","subtitlesTextColorInput","subtitlesBackgroundColorInput","subtitlesOutlineColorInput","audioLanguageSelect","surroundSoundCheckbox","seekTimeDurationSelect","seekShortTimeDurationSelect","escExitFullscreenCheckbox","playInExternalPlayerSelect","nextVideoPopupDurationSelect","bingeWatchingCheckbox","playInBackgroundCheckbox","hardwareDecodingCheckbox","streamingServerUrlInput","streamingServerRemoteUrlInput","remoteEndpointSelect","cacheSizeSelect","torrentProfileSelect","transcodingProfileSelect","configureServerUrlModalOpen","openConfigureServerUrlModal","closeConfigureServerUrlModal","configureServerUrlInputRef","configureServerUrlOnSubmit","traktAuthStarted","setTraktAuthStarted","isTraktAuthenticated","trakt","created_at","expires_in","configureServerUrlModalButtons","toggleTraktOnClick","subscribeCalendarOnClick","exportDataOnClick","reloadStreamingServer","onCopyRemoteUrlClick","remoteUrl","sectionsContainerRef","generalSectionRef","playerSectionRef","streamingServerSectionRef","shortcutsSectionRef","sections","selectedSectionId","setSelectedSectionId","updateSelectedSectionId","sideMenuButtonOnClick","section","sectionsContainerOnScroll","exportUrl","serverVersion","codes","escExitFullscreen","playInBackground","hardwareDecoding","CACHE_SIZES","cacheSizeToString","ceil","EPSILON","TORRENT_PROFILES","btDownloadSpeedHardLimit","btDownloadSpeedSoftLimit","btHandshakeTimeout","btMaxConnections","btMinPeersForStable","btRequestTimeout","soft","fast","networkInfo","availableInterfaces","address","remoteHttps","cacheSize","selectedTorrentProfile","isCustomTorrentProfileSelected","torrentProfile","profileName","deviceInfo","availableHardwareAccelerations","transcodeProfile","ChromecastTransport","starting","onTransportInit","onTransportInitError","cause","defineProperties","MESSAGE_NAMESPACE","CHUNK_SIZE","castAPIAvailable","castAPIEvents","available","messages","chunk","parsedMessage","onApplicationStatusChanged","CastSession","APPLICATION_STATUS_CHANGED","onApplicationMetadataChanged","APPLICATION_METADATA_CHANGED","onActiveInputStateChanged","ACTIVE_INPUT_STATE_CHANGED","onVolumeChanged","VOLUME_CHANGED","onMediaSessionChanged","MEDIA_SESSION","onCastStateChanged","onSesstionStateChanged","SESSION_STATE_CHANGED","sessionState","SessionState","SESSION_STARTED","session","addMessageListener","SESSION_ENDED","removeMessageListener","onCastAPIAvailabilityChanged","CastContext","getInstance","getSessionState","getCurrentSession","endCurrentSession","stopCasting","castSession","serializedMessage","chunksCount","chunks","CoreTransport","onTransportError","Bridge","worker","Worker","bridge","field","getDebugState","onDragOver","onDrop","dataTransfer","files","FileList","arrayBuffer","Uint8Array","keyboardShortcutPrevented","tagName","altKey","metaKey","forward","ServicesContext","ShellTransport","shellAvailable","shellEvents","QtMsgTypes","QtObjId","initShellComm","onShellAvailabilityChanged","webChannelTransport","msg","onmessage","properties","shellVersionArr","signals","sig","signal","onEvent","methods","ev","byteLength","b64","lens","getLens","validLen","placeHoldersLen","toByteArray","tmp","Arr","_byteLength","curByte","revLookup","charCodeAt","fromByteArray","uint8","extraBytes","parts","maxChunkLength","len2","encodeChunk","lookup","num","output","parseRange","acc","cur","idx","generateRange","compose","getFirstMatch","getSecondMatch","matchAndReturnConst","getWindowsVersionName","getMacOSVersionName","getAndroidVersionName","getVersionPrecision","compareVersions","getBrowserAlias","BROWSER_ALIASES_MAP","getBrowserTypeByAlias","BROWSER_MAP","ENGINE_MAP","OS_MAP","PLATFORMS_MAP","Bada","BlackBerry","Chrome","Chromium","Electron","Epiphany","Firefox","Focus","Generic","Googlebot","Maxthon","Opera","PhantomJS","Puffin","QupZilla","QQ","QQLite","Safari","Sailfish","SeaMonkey","Sleipnir","Swing","Tizen","Vivaldi","WeChat","Roku","amazon_silk","bada","blackberry","chromium","electron","epiphany","firefox","generic","googlebot","google_search","ie","k_meleon","maxthon","edge","mz","naver","opera","opera_coast","phantomjs","puffin","qupzilla","qq","qqlite","safari","sailfish","samsung_internet","seamonkey","sleipnir","swing","uc","vivaldi","webos","wechat","yandex","tablet","mobile","desktop","WindowsPhone","Windows","MacOS","iOS","Android","WebOS","Linux","ChromeOS","PlayStation4","EdgeHTML","Blink","Trident","Presto","Gecko","WebKit","getParser","getResult","_ua","parsedResult","getUA","parseBrowser","browser","describe","getBrowser","getBrowserName","getBrowserVersion","getOS","os","parseOS","getOSName","getOSVersion","getPlatform","parsePlatform","getPlatformType","getEngine","engine","parseEngine","getEngineName","satisfies","isOS","isPlatform","isBrowser","compareVersion","substr","isEngine","is","versionName","vendor","base64","ieee754","customInspectSymbol","Buffer","SlowBuffer","alloc","INSPECT_MAX_BYTES","K_MAX_LENGTH","createBuffer","RangeError","buf","setPrototypeOf","arg","encodingOrOffset","allocUnsafe","encoding","isEncoding","actual","write","fromString","ArrayBuffer","isView","arrayView","isInstance","copy","fromArrayBuffer","buffer","byteOffset","fromArrayLike","fromArrayView","SharedArrayBuffer","valueOf","isBuffer","numberIsNaN","fromObject","toPrimitive","assertSize","mustMatch","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","bidirectionalIndexOf","val","dir","arrayIndexOf","lastIndexOf","indexSize","arrLength","valLength","readUInt16BE","foundIndex","found","hexWrite","remaining","strLen","utf8Write","blitBuffer","asciiWrite","str","byteArray","asciiToBytes","base64Write","ucs2Write","units","hi","lo","utf16leToBytes","res","firstByte","codePoint","bytesPerSequence","secondByte","thirdByte","fourthByte","tempCodePoint","codePoints","MAX_ARGUMENTS_LENGTH","fromCharCode","decodeCodePointsArray","kMaxLength","TYPED_ARRAY_SUPPORT","proto","foo","typedArraySupport","poolSize","allocUnsafeSlow","_isBuffer","compare","list","pos","swap16","swap32","swap64","equals","inspect","thisStart","thisEnd","thisCopy","targetCopy","toJSON","ret","out","hexSliceLookupTable","bytes","checkOffset","ext","checkInt","wrtBigUInt64LE","checkIntBI","BigInt","wrtBigUInt64BE","checkIEEE754","writeFloat","littleEndian","noAssert","writeDouble","newBuf","subarray","readUintLE","readUIntLE","mul","readUintBE","readUIntBE","readUint8","readUInt8","readUint16LE","readUInt16LE","readUint16BE","readUint32LE","readUInt32LE","readUint32BE","readUInt32BE","readBigUInt64LE","defineBigIntMethod","validateNumber","first","last","boundsError","readBigUInt64BE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readBigInt64LE","readBigInt64BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUintLE","writeUIntLE","writeUintBE","writeUIntBE","writeUint8","writeUInt8","writeUint16LE","writeUInt16LE","writeUint16BE","writeUInt16BE","writeUint32LE","writeUInt32LE","writeUint32BE","writeUInt32BE","writeBigUInt64LE","writeBigUInt64BE","writeIntLE","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeBigInt64LE","writeBigInt64BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","copyWithin","sym","getMessage","Base","super","stack","addNumericalSeparator","ERR_OUT_OF_RANGE","checkBounds","ERR_INVALID_ARG_TYPE","ERR_BUFFER_OUT_OF_BOUNDS","input","received","isInteger","abs","INVALID_BASE64_RE","leadSurrogate","base64clean","dst","alphabet","table","i16","fn","BufferBigIntNotDefined","hasOwn","classes","argType","inner","colorNames","swizzle","reverseNames","cs","to","clamp","hexDouble","hwb","hexAlpha","i2","alpha","percent","hwba","keyword","colorString","skippedModels","hashedModelKeys","labels","limiters","valpha","newArray","zeroArray","hashedKeys","places","percentString","unitArray","unitObject","roundToPlace","getset","maxfn","hue","saturationl","lightness","saturationv","chroma","wblack","z","hexa","rgbArray","alphaHex","rgbNumber","luminosity","lum","chan","contrast","color2","lum1","lum2","level","contrastRatio","isDark","isLight","negate","lighten","ratio","darken","saturate","desaturate","whiten","blacken","grayscale","fade","opaquer","rotate","degrees","mix","mixinColor","weight","color1","w1","w2","raw","roundTo","modifier","cssKeywords","reverseKeywords","hsv","cmyk","xyz","lab","lch","ansi16","ansi256","hcg","apple","rdif","gdif","bdif","diff","diffc","reversed","currentClosestKeyword","currentClosestDistance","distance","t3","smin","lmin","q","vmin","sl","wh","bl","y2","x2","z2","atan2","PI","sqrt","hr","cos","sin","saturation","ansi","mult","rem","char","integer","pure","mg","conversions","fromModel","toModel","wrappedFn","arg0","conversion","wrapRounded","wrapRaw","deriveBFS","graph","buildGraph","queue","adjacents","adjacent","unshift","wrapConversion","getOwnPropertyNames","isFrozen","EE","context","once","addListener","emitter","evt","_events","_eventsCount","clearEvent","__proto__","eventNames","names","ee","listenerCount","a1","a2","a3","a4","a5","removeListener","prefixed","domProps","isValidDOMProp","_htmlAttributes","_htmlAttributes2","eventProps","onCopy","onCut","onPaste","onLoad","onCompositionEnd","onCompositionStart","onCompositionUpdate","onKeyPress","onFocus","onDrag","onDragEnd","onDragEnter","onDragExit","onDragLeave","onDragStart","onMouseOut","onTouchCancel","onTouchEnd","onTouchMove","onTouchStart","onAnimationStart","onAnimationIteration","bits","digits","rack","expandBy","iters","hats","__HLS_WORKER_BUNDLE__","__IN_WORKER__","ownKeys","getOwnPropertyDescriptor","_objectSpread2","_defineProperty","getOwnPropertyDescriptors","_toPrimitive","_toPropertyKey","_createClass","_extends","_inheritsLoose","subClass","superClass","_setPrototypeOf","_getPrototypeOf","getPrototypeOf","_isNativeReflectConstruct","Reflect","construct","sham","Proxy","Boolean","_construct","Parent","Class","Function","_isNativeFunction","_wrapNativeSuper","_cache","Wrapper","_assertThisInitialized","ReferenceError","_unsupportedIterableToArray","_arrayLikeToArray","_createForOfIteratorHelperLoose","allowArrayLike","it","getDefaultExportFromCjs","urlToolkit","URL_REGEX","FIRST_SEGMENT_REGEX","SLASH_DOT_REGEX","SLASH_DOT_DOT_REGEX","URLToolkit","buildAbsoluteURL","baseURL","relativeURL","opts","alwaysNormalize","basePartsForNormalise","parseURL","normalizePath","buildURLFromParts","relativeParts","scheme","baseParts","netLoc","pathParts","builtParts","fragment","baseURLPath","newPath","urlToolkitExports","isFiniteNumber","isSafeInteger","ErrorTypes","ErrorDetails","noop","fakeLogger","trace","info","exportedLogger","consolePrintFn","exportLoggerFunctions","debugConfig","_len","functions","_key","enableLogs","logger","DECIMAL_RESOLUTION_REGEX","ATTR_LIST_REGEX","AttrList","attrs","parseAttrList","_proto","decimalInteger","attrName","intValue","hexadecimalInteger","stringValue","hexadecimalIntegerAsNumber","decimalFloatingPoint","optionalFloat","enumeratedString","decimalResolution","quote","lastIndex","attr","isDateRangeCueAttribute","isSCTE35Attribute","DateRange","dateRangeAttr","dateRangeWithSameId","_startDate","_endDate","_badValueForSameId","previousAttr","ID","endDate","CLASS","startDate","endOnNext","class","LoadStats","aborted","retry","total","chunkCount","bwEstimate","parsing","ElementaryStreamTypes","AUDIO","VIDEO","AUDIOVIDEO","BaseSegment","baseurl","_this$elementaryStrea","_byteRange","_url","relurl","elementaryStreams","setByteRange","previous","byteRangeEndOffset","byteRange","_BaseSegment","_this","_decryptdata","rawProgramDateTime","programDateTime","tagList","sn","levelkeys","loader","keyLoader","cc","startPTS","endPTS","startDTS","endDTS","deltaPTS","maxStartPTS","minEndPTS","stats","bitrateTest","initSegment","endList","gap","urlId","_proto2","setKeyFormat","keyFormat","getDecryptData","abortRequests","_this$loader","_this$keyLoader","abort","setElementaryStreamInfo","partial","clearElementaryStreamInfo","NONE","_key2","identity","keyFormats","_this$_decryptdata","encrypted","Part","_BaseSegment2","partAttrs","frag","_this2","fragOffset","independent","audiovideo","DEFAULT_TARGET_DURATION","LevelDetails","PTSKnown","alignedSliding","averagetargetduration","endCC","endSN","fragments","fragmentHint","partList","dateRanges","live","ageHeader","advancedDateTime","updated","advanced","availabilityDelay","misses","startCC","startSN","startTimeOffset","targetduration","totalduration","m3u8","canBlockReload","canSkipUntil","canSkipDateRanges","skippedSegments","recentlyRemovedDateranges","partHoldBack","holdBack","partTarget","preloadHint","renditionReports","tuneInGoal","deltaUpdateFailed","driftStartTime","driftEndTime","driftStart","driftEnd","encryptedFragments","playlistParsingError","variableList","hasVariableRefs","reloaded","partSnDiff","lastPartSn","partIndexDiff","lastPartIndex","runTime","partEnd","fragmentEnd","_this$partList","_this$fragments","_this$partList2","_this$partList3","base64Decode","base64encodedStr","atob","getKeyIdBytes","keyIdbytes","strToUtf8array","paddedkeyIdbytes","changeEndianness","keyId","convertDataUriToArrayBytes","uri","colonsplit","keydata","semicolonsplit","commasplit","isbase64","optionalSelf","KeySystems","CLEARKEY","FAIRPLAY","PLAYREADY","WIDEVINE","KeySystemFormats","keySystemFormatToKeySystemDomain","KeySystemIds","keySystemIdToKeySystemDomain","systemId","keySystemDomainToKeySystemFormat","keySystem","getKeySystemsForConfig","drmSystems","widevineLicenseUrl","keySystemsToAttempt","_optionalSelf$navigat","requestMediaKeySystemAccess","getSupportedMediaKeySystemConfigurations","drmSystemOptions","initDataTypes","createMediaKeySystemConfigurations","persistentState","distinctiveIdentifier","sessionTypes","sessionType","audioCapabilities","robustness","audioRobustness","encryptionScheme","audioEncryptionScheme","videoCapabilities","videoRobustness","videoEncryptionScheme","sliceUint8","decoder","isHeader$2","isFooter","getID3Data","front","readSize","canParse$2","getTimeStamp","frames","getID3Frames","frame","isTimeStampFrame","readTimeStamp","getFrameData","id3Data","frameData","decodeFrame","decodePrivFrame","decodeURLFrame","decodeTextFrame","owner","utf8ArrayToStr","privateData","timeStampFrame","pts33Bit","timestamp","exitOnNull","getTextDecoder","decoded","char2","char3","TextDecoder","Hex","hexDump","UINT32_MAX$1","RemuxerTrackIdConfig","id3","bin2str","readUint16","readUint32","readSint32","readUint64","writeUint32","hasMoofData","findBox","endbox","subresults","parseSegmentIndex","sidx","references","timescale","earliestPresentationTime","firstOffset","startByte","referencesCount","referenceIndex","referenceInfo","referenceSize","subsegmentDuration","parseInitSegment","traks","trak","tkhd","trackId","mdhd","hdlr","hdlrType","soun","vide","stsdData","parseStsd","trex","stsd","sampleEntries","sampleEntriesEnd","fourCC","encBox","sinf","schm","frma","avcCBox","toHex","codecBox","esdsBox","skipBERInteger","objectType","audioObjectType","hvcCBox","profileByte","profileSpace","generalProfileIdc","profileCompat","tierFlag","levelIDC","constraintIndicator","constraintString","_byte","dvcCBox","addLeadingZero","vpcCBox","_profile","_level","bitDepth","av1CBox","_profile2","_level2","_tierFlag","highBitDepth","twelveBit","_bitDepth","monochrome","chromaSubsamplingX","chromaSubsamplingY","chromaSamplePosition","colorPrimaries","transferCharacteristics","matrixCoefficients","videoFullRangeFlag","patchEncyptionData","decryptdata","isCommonEncryption","encBoxes","isAudio","enc","tenc","parseSinf","tencKeyId","getStartDTS","initData","fmp4","traf","tfdt","tfhd","baseTime","sidxMinStart","sidxMaxEnd","sidxDuration","sidxs","subSegmentDuration","dur","rawDuration","videoDuration","audioDuration","trafs","_i2","trackDefault","tfhdFlags","sampleDuration","truns","computeRawDurationFromSamples","trun","sampleCount","offsetStartDTS","baseMediaDecodeTime","upper","lower","segmentValidRange","segmentedRange","remainder","moofs","appendUint8Array","data1","data2","temp","parseSamples","seiSamples","videoData","samples","isHEVCFlavor","moof","moofOffset","defaultSampleDuration","defaultSampleSizePresent","defaultSampleSize","defaultSampleFlagsPresent","tfhdOffset","isHEVC","dataOffsetPresent","dataOffset","firstSampleFlagsPresent","sampleDurationPresent","sampleSizePresent","sampleSize","sampleFlagsPresent","sampleCompositionOffsetsPresent","compositionOffset","trunOffset","sampleOffset","ix","naluTotalSize","naluSize","isSEIMessage","parseSEIMessageFromNALu","delimit","baseCodec","naluHeader","naluType","unescapedData","headerSize","pts","discardEPB","seiPtr","payloadType","payloadSize","leftOver","payPtr","providerCode","userStructure","userDataType","totalBytes","uuidStrArray","_i3","_b","userDataBytes","_i4","uuid","userData","EPBPositions","newLength","newData","sourceIndex","parseEmsg","schemeIdUri","timeScale","presentationTimeDelta","presentationTime","eventDuration","leftPresentationTime","rightPresentationTime","payload","mp4Box","mp4pssh","keyids","kids","kidCount","DataView","setUint32","dataSize","parsePssh","boxSize","getUint32","dataSizeOrKidCount","keyUriToKeyIdMap","LevelKey","formatversions","iv","keyFormatVersions","pssh","clearKeyUriToKeyIdMap","createInitializationVector","keyBytes","PlayReadyKeySystemUUID","keyBytesUtf16","Uint16Array","keyByteStr","xmlKeyBytes","keyData","DOMParser","parseFromString","getElementsByTagName","nodeValue","keyIdArray","padded","_keyId","segmentNumber","uint8View","VARIABLE_REPLACEMENT_REGEX","hasVariableReferences","substituteVariablesInAttributes","attributeNames","substituteVariables","variableReference","variableName","variableValue","addVariableDefinition","parentUrl","NAME","VALUE","QUERYPARAM","importVariableDefinition","sourceVariableList","IMPORT","getMediaSource","preferManagedMediaSource","MediaSource","ManagedMediaSource","WebKitMediaSource","sampleEntryCodesISO","a3ds","alac","alaw","dra1","dtsc","dtse","dtsh","enca","fLaC","flac","FLAC","g719","g726","m4ae","mha1","mha2","mhm1","mhm2","mlpa","mp4a","Opus","opus","samr","sawb","sawp","sevc","sqcp","ssmv","twos","ulaw","avc1","avc2","avc3","avc4","avcp","av01","drac","dva1","dvav","dvh1","dvhe","encv","hev1","hvc1","mjp2","mp4v","mvc1","mvc2","mvc3","mvc4","resv","rv60","s263","svc1","svc2","vp08","vp09","stpp","wvtt","isCodecType","typeCodes","areCodecsMediaSourceSupported","codecs","isCodecMediaSourceSupported","_MediaSource$isTypeSu","isTypeSupported","mimeTypeForCodec","videoCodecPreferenceValue","codecsSetSelectionPreferenceValue","codecSet","preferenceValue","CODEC_COMPATIBLE_NAMES","getCodecCompatibleNameLower","lowerCaseCodec","codecsToCheck","AUDIO_CODEC_REGEXP","getCodecCompatibleName","pickMostCompleteCodecName","parsedCodec","levelCodec","convertAVC1ToAVCOTI","avcdata","MASTER_PLAYLIST_REGEX","MASTER_PLAYLIST_MEDIA_REGEX","IS_MEDIA_PLAYLIST","LEVEL_PLAYLIST_REGEX_FAST","LEVEL_PLAYLIST_REGEX_SLOW","M3U8Parser","findGroup","groups","mediaGroupId","group","isMediaPlaylist","parseMasterPlaylist","contentSteering","levels","sessionData","sessionKeys","levelsWithKnownCodecs","_level$unknownCodecs","bitrate","resolution","setCodecs","CODECS","unknownCodecs","tag","attributes","sessionAttrs","dataId","sessionKey","parseKey","variableAttributes","contentSteeringAttributes","pathwayId","parseStartTimeOffset","stripUnknownCodecLevels","parseMasterPlaylistMedia","groupsByType","SUBTITLES","textCodec","TYPE","medias","LANGUAGE","assocLang","CHANNELS","characteristics","CHARACTERISTICS","instreamId","media","groupId","autoselect","forced","URI","groupCodec","assignCodec","parseLevelPlaylist","levelUrlId","multivariantVariableList","currentInitSegment","currentSN","currentPart","discontinuityCounter","prevFrag","firstPdtIndex","createNextFrag","nextByteRange","setFragLevelKeys","assignProgramDateTime","value1","value2","skipAttrs","clientAttrs","dateRange","isValid","levelKey","mapAttrs","init","setInitSegment","byteRangeStartOffset","serverControlAttrs","partInfAttrs","previousFragmentPart","part","preloadHintAttrs","renditionReportAttrs","fragmentLength","firstFragment","lastFragment","lastSn","backfillProgramDateTimes","keyTagAttributes","_keyAttrs$METHOD","_keyAttrs$KEYFORMAT","keyAttrs","decryptmethod","METHOD","decrypturi","decryptiv","decryptkeyformatversions","KEYFORMATVERSIONS","decryptkeyformat","KEYFORMAT","IV","resolvedUri","startAttributes","codecsAttributeValue","filtered","groupItem","codecProperty","codecValue","fragPrev","endProgramDateTime","BYTERANGE","PlaylistContextType","MANIFEST","LEVEL","AUDIO_TRACK","SUBTITLE_TRACK","PlaylistLevelType","MAIN","SUBTITLE","mapContextToLevelType","getResponseUrl","PlaylistLoader","loaders","registerListeners","startLoad","startPosition","stopLoad","destroyInternalLoaders","MANIFEST_LOADING","onManifestLoading","LEVEL_LOADING","onLevelLoading","AUDIO_TRACK_LOADING","onAudioTrackLoading","SUBTITLE_TRACK_LOADING","onSubtitleTrackLoading","unregisterListeners","createInternalLoader","PLoader","pLoader","Loader","getInternalLoader","resetInternalLoader","contextType","responseType","deliveryDirectives","_context$deliveryDire","loadPolicy","levelDetails","loaderContext","manifestLoadPolicy","playlistLoadPolicy","details","subtitleTracks","targetDuration","maxLowLatencyPlaylistRefresh","legacyRetryCompatibility","loaderConfig","maxRetry","retryDelay","maxRetryDelay","loaderCallbacks","networkDetails","performance","handleTrackOrLevelPlaylist","handleMasterPlaylist","handleManifestParsingError","handleNetworkError","onTimeout","_M3U8Parser$parseMast","_M3U8Parser$parseMast2","captions","trigger","MANIFEST_LOADED","levelId","levelType","singleLevel","handlePlaylistLoaded","NETWORK_ERROR","MANIFEST_PARSING_ERROR","fatal","UNKNOWN","MANIFEST_LOAD_TIMEOUT","MANIFEST_LOAD_ERROR","LEVEL_LOAD_TIMEOUT","LEVEL_LOAD_ERROR","AUDIO_TRACK_LOAD_TIMEOUT","AUDIO_TRACK_LOAD_ERROR","SUBTITLE_TRACK_LOAD_TIMEOUT","SUBTITLE_LOAD_ERROR","errorData","levelIndex","LEVEL_PARSING_ERROR","getCacheAge","LEVEL_LOADED","AUDIO_TRACK_LOADED","SUBTITLE_TRACK_LOADED","_error","LEVEL_EMPTY_ERROR","sendAddTrackEvent","videoEl","Event","createEvent","initEvent","dispatchEvent","addCueToTrack","getCueById","addCue","textTrackCue","TextTrackCue","err2","clearCurrentCues","removeCue","removeCuesInRange","predicate","getCuesInRange","getFirstCueIndexAfterTime","mid","cuesFound","firstCueInRange","_cue","filterSubtitleTracks","textTrackList","kind","MetadataSchema","audioId3","emsg","MIN_CUE_DURATION","getCueClass","VTTCue","createCueWithDataFields","Cue","MAX_CUE_ENDTIME","POSITIVE_INFINITY","MAX_VALUE","dateRangeDateToTimelineSeconds","date","hexToArrayBuffer","ID3TrackController","id3Track","dateRangeCuesAppended","_registerListeners","_unregisterListeners","MEDIA_ATTACHED","onMediaAttached","MEDIA_DETACHING","onMediaDetaching","FRAG_PARSING_METADATA","onFragParsingMetadata","BUFFER_FLUSHING","onBufferFlushing","LEVEL_UPDATED","onLevelUpdated","createTrack","getID3Track","addTextTrack","_this$hls$config","enableEmsgMetadataCues","enableID3MetadataCues","updateId3CueEnds","_this$id3Track","startOffset","endOffset","_hls$config","hasProgramDateTime","enableDateRangeMetadataCues","ids","idsToRemove","_loop","dateTimeOffset","_loop2","appendedDateRangeCues","durationKnown","nextDateRangeWithSameClass","candidateDateRange","otherDateRange","LatencyController","stallCount","_latency","timeupdateHandler","timeupdate","_this$levelDetails","BUFFER_STALLED_ERROR","latency","computeLatency","_this$config","maxLiveSyncPlaybackRate","targetLatency","distanceFromTarget","maxLatency","forwardBufferLength","exp","edgeStalled","estimateLiveEdge","age","liveEdge","liveMaxLatencyDuration","liveMaxLatencyDurationCount","_this$config2","liveSyncDuration","liveSyncDurationCount","userConfig","maxLiveSyncOnStallIncrease","liveSyncOnStallIncrease","syncPosition","drift","maxLevelUpdateAge","bufferedRanges","HdcpLevels","isHdcpLevel","VideoRangeValues","isVideoRange","HlsSkip","No","Yes","v2","getSkipValue","msn","HlsUrlParameters","skip","addDirectives","Level","_attrs","frameRate","fragmentError","loadError","realBitrate","supportedPromise","supportedResult","_avgBitrate","_audioGroups","_subtitleGroups","_urlId","addGroupId","hasAudioGroup","hasGroup","hasSubtitleGroup","audioGroups","subtitleGroups","addFallback","audioGroupId","textGroupId","_this$audioGroups","_this$subtitleGroups","updateFromToPTS","fragFrom","fragTo","fragToPTS","updateFragPTSDTS","fragStartPts","fragEndPts","fragIdx","mergeDetails","oldDetails","newDetails","oldFragments","oldInit","PTSFrag","ccOffset","mapFragmentIntersection","oldFrag","newFrag","_currentInitSegment","mergeDateRanges","newFragments","mapPartIntersection","oldPart","newPart","adjustSliding","oldDateRanges","deltaDateRanges","oldParts","newParts","intersectionFn","_oldPart","_newPart","newFrags","oldFrags","_oldFrag","_newFrag","addSliding","computeReloadInterval","distanceToLiveEdgeMs","reloadInterval","liveEdgeMaxTargetDurations","lastSegmentDuration","getFragmentWithSN","fragCurrent","getPartWith","partIndex","_level$details","findPart","reassignFragmentLevelIndexes","isTimeoutError","FRAG_LOAD_TIMEOUT","KEY_LOAD_TIMEOUT","getRetryConfig","isTimeout","getRetryDelay","retryConfig","retryCount","backoffFactor","backoff","getLoaderConfigWithoutReties","loderConfig","shouldRetry","loaderResponse","httpStatus","retryForHttpStatus","onLine","BinarySearch","comparisonFn","minIndex","maxIndex","currentElement","comparisonResult","findFragmentByPDT","PDTValue","seg","pdtWithinToleranceTest","findFragmentByPTS","fragPrevious","bufferEnd","fragNext","bufferEdgeError","fragmentWithinToleranceTest","foundFragment","candidate","candidateLookupTolerance","pdtBufferEnd","findFragWithCC","NetworkErrorAction","DoNothing","SendEndCallback","SendAlternateToPenaltyBox","RemoveAlternatePermanently","InsertDiscontinuity","RetryRequest","ErrorActionFlags","None","MoveAllAlternatesMatchingHost","MoveAllAlternatesMatchingHDCP","SwitchToSDR","ErrorController","playlistError","penalizedRenditions","onErrorOut","getVariantLevelIndex","loadLevel","_data$frag","_data$level","FRAG_LOAD_ERROR","KEY_LOAD_ERROR","errorAction","getFragRetryOrSwitchAction","FRAG_PARSING_ERROR","FRAG_GAP","FRAG_DECRYPT_ERROR","_data$context","_data$context$levelDe","getPlaylistRetryOrSwitchAction","levelRetry","getLevelSwitchAction","KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED","restrictedHdcpLevel","hdcpLevel","keySystemError","BUFFER_ADD_CODEC_ERROR","REMUX_ALLOC_ERROR","BUFFER_APPEND_ERROR","INTERNAL_EXCEPTION","BUFFER_APPENDING_ERROR","BUFFER_FULL_ERROR","LEVEL_SWITCH_ERROR","BUFFER_SEEK_OVER_HOLE","BUFFER_NUDGE_ON_STALL","KEY_SYSTEM_ERROR","variantLevelIndex","keyLoadPolicy","fragmentErrors","_data$frag2","_data$context2","errorDetails","nextLevel","minAutoLevel","maxAutoLevel","autoLevelEnabled","_ret","fragErrorType","findAudioCodecAlternate","sourceBufferName","findVideoCodecAlternate","playlistErrorType","playlistErrorGroupId","_level$audioGroups","_level$subtitleGroups","levelCandidate","fragCandidate","nextAutoLevel","_data$errorAction","sendAlternateToPenaltyBox","resolved","recoverMediaError","switchLevel","maxHdcpLevel","nextLoadLevel","BasePlaylistController","logPrefix","requestScheduled","canLoad","clearTimer","loadPlaylist","switchParams","playlistUri","_attr","currentGoal","hlsUrlParameters","shouldLoadPlaylist","shouldReloadPlaylist","playlistLoaded","previousDetails","elapsed","endSn","lastPart","lastAdvanced","cdnAge","segments","getDeliveryDirectives","bufferInfo","mainForwardBufferInfo","estimatedTimeUntilUpdate","previousDeliveryDirectives","checkRetry","errorEvent","_ref$retryCount","_errorEvent$context","EWMA","halfLife","estimate","alpha_","estimate_","totalWeight_","sample","adjAlpha","getTotalWeight","getEstimate","zeroFactor","EwmaBandWidthEstimator","slow","defaultEstimate","defaultTTFB","defaultEstimate_","minWeight_","minDelayMs_","slow_","fast_","defaultTTFB_","ttfb_","durationMs","numBytes","durationS","bandwidthInBps","sampleTTFB","ttfb","canEstimate","getEstimateTTFB","SUPPORTED_INFO_DEFAULT","configurations","decodingInfoResults","powerEfficient","smooth","SUPPORTED_INFO_CACHE","requiresMediaCapabilitiesDecodingInfo","audioTracksByGroup","currentVideoRange","currentFrameRate","currentBw","audioPreference","audioCodecPreference","channelsPreference","maxChannels","audioChannels","audioTrackGroup","videoRange","getMediaDecodingInfoPromise","baseVideoConfiguration","averageBitrate","framerate","transferFunction","_audioTracksByGroup$g","channelsNumber","configuration","decodingInfoKey","getMediaDecodingInfoKey","decodingInfo","mediaConfig","spatialRendering","isHdrSupported","mediaQueryList","badQuery","getVideoSelectionOptions","videoPreference","preferHDR","allowedVideoRanges","getStartCodecTier","codecTiers","codecSets","preferStereo","hasStereo","hasCurrentVideoRange","minHeight","minFramerate","minBitrate","selectedScore","videoRanges","_getVideoSelectionOpt","tier","matchingVideoRanges","maxFramerate","candidateTier","logStartCodecCandidateIgnored","hasDefaultAudio","maxScore","codeSet","getAudioTracksByGroup","allAudioTracks","trackGroup","hasDefault","hasAutoSelect","channelsKey","hasAutoSelectAudio","getCodecTiers","tiers","SDR","lesserWidthOrHeight","score","audioGroup","findMatchingOption","matchPredicate","matchesOption","isDefault","characteristicsMatch","characteristicsA","characteristicsB","arrA","arrB","audioMatchPredicate","findClosestLevelWithAudioGroup","searchIndex","currentLevel","renditions","variantMap","currentVideoCodec","matchingVideo","searchDownAndUpList","AbrController","_hls","lastLevelLoadSec","lastLoadedFragLevel","firstSelection","_nextAutoLevel","nextAutoLevelKey","partCurrent","bitrateTestDelay","bwEstimator","_abandonRulesCheck","timeLoading","ttfbEstimate","bufferStarvationDelay","loadedFirstByte","getBwEstimate","expectedLen","timeStreaming","loadRate","fragLoadedDelay","bwe","fragLevelNextLoadedDelay","levelNextBitrate","maxBitrate","getTimeToLoadFrag","nextLoadLevelBitrate","abrBandWidthUpFactor","resetEstimator","FRAG_LOAD_EMERGENCY_ABORTED","initEstimator","abrEwmaDefaultEstimate","abrEwmaSlowVoD","abrEwmaFastVoD","FRAG_LOADING","onFragLoading","FRAG_LOADED","onFragLoaded","FRAG_BUFFERED","onFragBuffered","LEVEL_SWITCHING","onLevelSwitching","onLevelLoaded","LEVELS_UPDATED","onLevelsUpdated","MAX_AUTO_LEVEL_UPDATED","onMaxAutoLevelUpdated","_data$part","ignoreFragment","timeToFirstByteSec","bandwidth","fragSizeBits","isSwitch","timeLoadingMs","abrEwmaSlowLive","abrEwmaFastLive","abrMaxWithRealBitrate","loadedBytes","loadedDuration","fragBufferedData","processingMs","getAutoLevelKey","_this$hls$mainForward","getNextABRAutoLevel","currentFragDuration","avgbw","bwFactor","abrBandWidthFactor","bwUpFactor","_bestLevel","findBestLevel","maxStarvationDelay","maxLoadingDelay","bestLevel","minLevel","autoLevel","maxFetchDuration","selectionBaseLevel","firstLevel","_this$hls","currentCodecSet","startTier","ttfbEstimateSec","levelsSkipped","_levelInfo$supportedR","levelInfo","upSwitch","useMediaCapabilities","removeLevel","adjustedbw","fetchDuration","forcedAutoLevel","_this$hls2","maxStartDelay","abrAutoLevel","clamped","useEstimate","loadedFirstFrag","nextABRAutoLevel","firstAutoLevel","_this$hls3","TaskLoop","_boundTick","_tickTimer","_tickInterval","_tickCallCount","tick","onHandlerDestroying","onHandlerDestroyed","clearNextTick","hasInterval","hasNextTick","millis","doTick","tickImmediate","FragmentState","NOT_LOADED","APPENDING","PARTIAL","OK","FragmentTracker","activePartLists","endListFragments","timeRanges","bufferPadding","hasGaps","BUFFER_APPENDED","onBufferAppended","getAppendedFrag","activeParts","activePart","appendedPTS","getBufferedFrag","fragmentEntity","detectEvictedFragments","elementaryStream","timeRange","playlistType","appendedPart","appendedPartSn","esData","isNotBuffered","isTimeBuffered","removeFragment","detectPartialFragments","fragKey","getFragmentKey","isFragHint","streamInfo","getBufferedTimes","isPartial","removeParts","snToKeep","fragBuffered","getPartialFragment","timePadding","bestFragment","bestOverlap","isEndListAppended","lastFragmentEntity","_this3","hasFragment","hasParts","_this$activePartLists","removeFragmentsInRange","withGapOnly","unbufferedOnly","_this4","snToRemove","removeAllFragments","_fragmentEntity$range","_fragmentEntity$range2","_fragmentEntity$range3","noopBuffered","BufferHelper","isBuffered","getBuffered","maxHoleDuration","vbuffered","bufferedInfo","nextStart","buffered2","buf2len","buf2end","bufferStartNext","bufferLen","bufferStart","ChunkMetadata","transmuxing","getNewPerformanceTiming","executeStart","executeEnd","findFirstFragWithCC","_fragments$i","shouldAlignOnDiscontinuities","lastFrag","switchDetails","findDiscontinuousReferenceFrag","prevDetails","curDetails","prevFrags","curFrags","prevStartFrag","adjustFragmentStart","sliding","adjustSlidingStart","alignStream","alignDiscontinuities","alignMediaPlaylistByPDT","referenceFrag","refDetails","refFragments","refFrag","targetCC","refPDT","targetPDT","MIN_CHUNK_SIZE","FragmentLoader","partLoadTimeout","_onProgress","LoadError","FragmentILoader","fLoader","DefaultILoader","tags","createGapLoadError","createLoaderContext","highWaterMark","resetLoader","resetIV","onAbort","INTERNAL_ABORTED","onProgress","loadPart","updateStatsFromPart","partLoadedData","fragStats","partStats","partTotal","estTotalParts","estLoadedParts","estRemainingBytes","fragLoading","partLoading","segment","rangeStart","rangeEnd","_frag$decryptdata","byteRangeStart","byteRangeEnd","fragmentLen","MEDIA_ERROR","_Error","AESCrypto","subtle","aesIV","decrypt","FastAESKey","expandKey","importKey","removePadding","outputBytes","paddingBytes","getUint8","AESDecryptor","rcon","subMix","Uint32Array","invSubMix","sBox","invSBox","ksRows","keySize","keySchedule","invKeySchedule","initTable","uint8ArrayToUint32Array_","subMix0","subMix1","subMix2","subMix3","invSubMix0","invSubMix1","invSubMix2","invSubMix3","xi","sx","x4","x8","keyBuffer","sameKey","ksRow","invKsRow","sbox","networkToHostOrderSwap","word","inputArrayBuffer","s0","s1","s2","s3","inputWords0","inputWords1","inputWords2","inputWords3","nRounds","invSBOX","initVector","initVector0","initVector1","initVector2","initVector3","inputInt32","Int32Array","outputInt32","swapWord","Decrypter","_temp","_ref$removePKCS7Paddi","removePKCS7Padding","logEnabled","softwareDecrypter","fastAesKey","remainderData","currentIV","currentResult","useSoftware","enableSoftwareAES","browserCrypto","crypto","webkitSubtle","isSync","flush","reset","softwareDecrypt","decryptResult","webCryptoDecrypt","logOnce","currentChunk","getValidChunk","aesKey","onWebCryptoError","splitPoint","TimeRanges","State","STOPPED","IDLE","KEY_LOADING","FRAG_LOADING_WAITING_RETRY","WAITING_TRACK","PARSING","PARSED","WAITING_INIT_PTS","WAITING_LEVEL","BaseStreamController","_TaskLoop","fragmentTracker","transmuxer","_state","mediaBuffer","lastCurrentTime","nextLoadPosition","loadedmetadata","retryDate","fragmentLoader","levelLastLoaded","startFragRequested","decrypter","initPTS","onvseeking","onvended","onManifestLoaded","onTickEnd","resetTransmuxer","_streamEnded","getLevelDetails","_this$levelLastLoaded","onMediaSeeking","onMediaEnded","autoStartLoad","detach","resetLoadingState","tolerance","fragStartOffset","fragEndOffset","pastFragment","loadFragment","targetBufferTime","_loadFragForPlayback","progressCallback","fragContextChanged","_handleFragmentLoadProgress","_doFragLoad","_handleFragmentLoadComplete","resetFragmentLoading","clearTrackerIfNeeded","_this$mediaBuffer","getFwdBufferInfo","minForwardBufferLength","reduceMaxBufferLength","checkLiveUpdate","flushMainBuffer","flushScope","_loadInitSegment","decryptData","decryptedData","FRAG_DECRYPTED","tstart","tdecrypt","completeInitSegmentLoad","fragBufferedComplete","_frag$startPTS","_frag$endPTS","_this$fragCurrent","_this$fragPrevious","_this$levels","seekToStartPos","fragLoadedEndData","partsLoaded","complete","fragLoaded","chunkMeta","keyLoadingPromise","loadClear","keyLoadedData","KEY_LOADED","getNextPart","_result","doFragPartsLoad","handleFragLoadError","loadedEndOfParts","dataOnProgress","progressive","fragLoadedData","fromPart","_this5","initialPartList","loadedPart","nextPart","handleFragLoadAborted","OTHER_ERROR","_handleTransmuxerFlush","getCurrentContext","updateLevelTiming","bufferFragmentData","noBacktracking","_buffer","BUFFER_APPENDING","dropped","flushBufferGap","fragDuration","segmentFraction","bufferable","getLoadPosition","getFwdBufferInfoAtPos","bufferedFragAtPos","getMaxBufferLength","levelBitrate","maxBufLen","maxBufferSize","minLength","fragOrPart","getNextFragment","fragLen","initialLiveManifestSize","getInitialLiveFragment","liveSyncPosition","getFragmentAtPosition","mapToInitFragWhenRequired","isLoopLoading","trackerState","getNextFragmentLoopLoading","gapStart","nextFragment","nextbufferInfo","contiguous","independentAttrOmitted","targetSN","liveStart","loadingParts","curSNIdx","fragState","nextFrag","synchronizeToLiveEdge","withinSlidingWindow","alignPlaylists","slidingStart","firstLevelLoad","aligned","alignedSlidingStart","waitForCdnTuneIn","advancePartLimit","setStartPosition","offsetInMultivariantPlaylist","onFragmentOrKeyLoadError","filterType","_this$fragCurrent2","gapTagEncountered","_ref2$retryCount","resetStartWhenNotLoaded","resetFragmentErrors","reduceLengthAndFlushBuffer","flushBuffer","afterBufferFlushed","bufferType","bufferedTimeRanges","resetWhenMissingContext","removeUnbufferedFrags","_this$transmuxer","_this6","parsedDuration","LEVEL_PTS_UPDATED","FRAG_PARSED","recoverWorkerError","previousState","ChunkCache","dataLength","concatUint8Arrays","dummyTrack","inputTimeScale","pid","sequenceNumber","BaseAudioDemuxer","_audioTrack","_id3Track","frameIndex","cachedData","basePTS","lastPTS","resetInitSegment","trackDuration","resetTimeStamp","deaultTimestamp","resetContiguity","canParse","appendFrame","demux","lastDataIndex","initPTSFn","dts","partialData","videoTrack","demuxSampleAes","getAudioConfig","observer","adtsObjectType","adtsExtensionSamplingIndex","adtsChannelConfig","manifestCodec","adtsSamplingRates","adtsSamplingIndex","samplerate","channelCount","isHeaderPattern$1","getHeaderLength","getFullFrameLength","canGetFrameLength","isHeader$1","canParse$1","probe$1","headerLength","frameLength","newOffset","initTrackConfig","getFrameDuration","parseFrameHeader","appendFrame$1","unit","stamp","header","_length","missing","_sample","chromeVersion$1","BitratesMap","SamplingRateMap","SamplesCoefficients","BytesInSlot","parseHeader","samplesPerFrame","sampleRate","mpegVersion","mpegLayer","bitRateIndex","sampleRateIndex","paddingBit","channelMode","bitRate","sampleCoefficient","bytesInSlot","isHeaderPattern","isHeader","AACDemuxer","_BaseAudioDemuxer","segmentCodec","emsgSchemePattern","MP4Demuxer","txtTrack","captionTrack","_initData$video","_initData$audio","_timescale","_codec","videoSamples","segmentedData","extractID3Track","emsgs","emsgInfo","getAudioBSID","bsid","numBits","mask","AC3Demuxer","_appendFrame","samplingRateCode","frameSizeCode","skipCount","lfeon","bsmod","BaseVideoParser","VideoSample","createVideoSample","getLastNalUnit","_VideoSample","lastUnit","pushAccessUnit","nbSamples","lastSample","ExpGolomb","bytesAvailable","bitsAvailable","loadWord","workingBytes","availableBytes","skipBits","skipBytes","readBits","valu","skipLZ","leadingZeroCount","skipUEG","skipEG","readUEG","clz","readEG","readBoolean","readUByte","readUShort","readUInt","skipScalingList","lastScale","nextScale","readSPS","numRefFramesInPicOrderCntCycle","scalingListCount","frameCropLeftOffset","frameCropRightOffset","frameCropTopOffset","frameCropBottomOffset","profileIdc","chromaFormatIdc","picOrderCntType","picWidthInMbsMinus1","picHeightInMapUnitsMinus1","frameMbsOnlyFlag","pixelRatio","readSliceType","AvcVideoParser","_BaseVideoParser","parseAVCPES","pes","parseAVCNALu","spsfound","audFound","_VideoSample2","iskey","sliceType","_track$pixelRatio","_track$pixelRatio2","sps","codecarray","codecstring","pps","overflow","naluState","lastState","lastUnitStart","lastUnitType","_unit","_lastUnit","SampleAesDecrypter","decryptBuffer","encryptedData","decryptAacSample","sampleIndex","callback","curUnit","encryptedBuffer","decryptedBuffer","decryptAacSamples","getAvcEncryptedData","decodedData","encryptedDataLen","Int8Array","outputPos","inputPos","getAvcDecryptedUnit","uint8DecryptedData","decryptAvcSample","unitIndex","decryptAvcSamples","curUnits","PACKET_LENGTH","TSDemuxer","typeSupported","sampleAes","pmtParsed","_duration","_pmtId","_videoTrack","_txtTrack","aacOverFlow","videoParser","syncOffset","scanwindow","foundPat","packetStart","tsPackets","parsePID","pesData","isSampleAes","videoPid","audioPid","id3Pid","audioData","unknownPID","pmtId","tsPacketErrors","stt","parsePES","parseAACPES","parseMPEGPES","parseAC3PES","parseID3PES","parsePAT","parsedPIDs","parsePMT","segmentVideoCodec","segmentAudioCodec","demuxResult","extractRemainingSamples","frameMissingBytes","sampleLength","frameOverflowBytes","recoverable","frameDuration","id3Sample","tableEnd","esInfoLength","logEncryptedSamplesFoundInUnencryptedStream","mpeg","mp3","ac3","parsePos","descriptorLen","pesLen","pesHdrLen","pesPts","pesDts","pesFlags","payloadStartOffset","dataLen","MP3Demuxer","AAC","getSilentFrame","UINT32_MAX","MP4","avcC","btrt","dinf","dref","esds","ftyp","mdat","mdia","mfhd","minf","moov","dac3","mvex","mvhd","pasp","sdtp","stbl","stco","stsc","stsz","stts","vmhd","smhd","videoHdlr","audioHdlr","HDLR_TYPES","STTS","STSC","STCO","STSZ","VMHD","SMHD","STSD","majorBrand","avc1Brand","minorVersion","FTYP","box","DINF","upperWordDuration","lowerWordDuration","boxes","dependsOn","isDependedOn","hasRedundancy","avcc","hSpacing","vSpacing","configlen","audioStsd","sampleDependencyTable","upperWordBaseMediaDecodeTime","lowerWordBaseMediaDecodeTime","cts","arraylen","isLeading","paddingValue","isNonSync","degradPrio","MPEG_TS_CLOCK_FREQ_HZ","toTimescaleFromBase","destScale","srcBase","toTimescaleFromScale","srcScale","toMsFromMpegTsClock","toMpegTsClockFromTimescale","MAX_SILENT_FRAME_DURATION","AAC_SAMPLES_PER_FRAME","MPEG_AUDIO_SAMPLE_PER_FRAME","AC3_SAMPLES_PER_FRAME","chromeVersion","safariWebkitVersion","MP4Remuxer","ISGenerated","_initPTS","_initDTS","nextAvcDts","nextAudioPts","videoSampleDuration","isAudioContiguous","isVideoContiguous","videoTrackConfig","defaultTimeStamp","resetNextTimestamp","getVideoStartPts","rolloverDetected","minPTS","normalizePts","remux","accurateTimeOffset","audioTimeOffset","videoTimeOffset","hasAudio","hasVideo","enoughAudioSamples","enoughVideoSamples","_videoTrack$pixelRati","_config$pixelRatio","_videoTrack$pixelRati2","_config$pixelRatio2","generateIS","firstKeyFramePTS","firstKeyFrameIndex","findKeyframeIndex","forceKeyFrameOnDiscontinuity","_startPTS","audiovideoTimestampDelta","remuxAudio","audioTrackLength","remuxVideo","firstKeyFrame","flushTextTrackMetadataCueSamples","flushTextTrackUserdataCueSamples","initDTS","audioSamples","computePTSDTS","metadata","firstDTS","lastDTS","inputSamples","outputSamples","mp4SampleDuration","maxPTS","sortSamples","initTime","deltadts","deltapts","inputDuration","averageSampleDuration","foundHole","foundOverlap","firstPTS","nbNalu","naluLen","dtsStep","nbUnits","sampleLen","mdatSize","MUX_ERROR","stretchedLastFrame","minDtsDelta","minPtsDelta","maxDtsDelta","maxPtsDelta","VideoSampleUnits","mp4SampleLength","_j","_nbUnits","unitData","unitDataLen","ptsDelta","lastFrameDuration","stretchShortVideoTrack","gapTolerance","deltaToFrameEnd","compositionTimeOffset","Mp4Sample","nextDts","_pts","nextPts","nb","getSamplesPerFrame","scaleFactor","inputSampleDuration","rawMPEG","alignedWithVideo","timeOffsetMpegTS","maxAudioFramesDrift","newStamp","fillFrame","_j2","_nbSamples","audioSample","_pts2","unitLen","remuxEmptyAudio","init90kHz","silentFrame","reference","isKeyframe","PassThroughRemuxer","emitInitSegment","initTracks","lastEndTime","defaultInitPTS","generateInitSegment","getParsedTrackCodec","_initData","_initData2","decodeTime","isInvalidInitPts","minDuration","muxConfig","Transmuxer","demuxer","remuxer","decryptionPromise","transmuxConfig","currentTransmuxState","configure","uintData","discontinuity","trackSwitch","initSegmentChange","defaultInitPts","initSegmentData","getEncryptionType","getDecrypter","emptyResult","resetMuxers","needsProbing","configureTransmuxer","resetInitialTimestamp","transmux","currentState","transmuxResults","demuxResultOrPromise","isPromise","flushRemux","_this$currentTransmux","remuxResult","transmuxSampleAes","transmuxUnencrypted","_demux","mux","_muxConfig$i$demux","Remuxer","Demuxer","encryptionType","TransmuxConfig","TransmuxState","eventemitter3","startWorker","forwardMessage","forwardWorkerLogs","logFn","logType","cmd","transmuxResult","emitTransmuxComplete","_transmuxResult","handleFlushResult","isEmptyResult","transferable","_transmuxResult$remux","addToTransferable","hasUMDWorker","injectWorker","blob","Blob","objectURL","createObjectURL","loadWorker","scriptURL","TransmuxerInterface","onTransmuxComplete","onFlush","useWorker","workerContext","onwmsg","m2tsTypeSupported","workerPath","onWorkerMessage","lineno","resetWorker","_this$workerContext","revokeObjectURL","terminate","_frag$initSegment","_lastFrag$initSegment","snDiff","partDiff","handleTransmuxComplete","transmuxerError","_transmuxResult2","_this$workerContext2","subtitleOptionsIdentical","trackList1","trackList2","mediaAttributesIdentical","attrs1","attrs2","customAttributes","stableRenditionId","subtitleAttribute","subtitleTrackMatchesTextTrack","subtitleTrack","TICK_INTERVAL$2","AudioStreamController","_BaseStreamController","videoBuffer","videoTrackCC","waitingVideoCC","bufferedTrack","switchingTrack","waitingData","mainDetails","flushing","bufferFlushed","cachedTrackLoadedData","onAudioTracksUpdated","AUDIO_TRACK_SWITCHING","onAudioTrackSwitching","onAudioTrackLoaded","BUFFER_RESET","onBufferReset","BUFFER_CREATED","onBufferCreated","BUFFER_FLUSHED","onBufferFlushed","INIT_PTS_FOUND","onInitPtsFound","doTickIdle","_levels$trackId","_this$media","_levels","_trackId","cache","clearWaitingFragment","startFragPrefetch","trackDetails","BUFFER_EOS","mainBufferInfo","atGap","atBufferSyncLimit","mainFrag","mainBufferLength","maxConfigBuffer","mediaPlaylist","altAudio","flushAudioIfNeeded","_track$details","defaultAudioCodec","_handleTransmuxComplete","_id3$samples","completeAudioSwitch","mapFragment","_bufferInitSegment","FRAG_PARSING_INIT_SEGMENT","emittedID3","emittedText","FRAG_PARSING_USERDATA","variantAudioCodecs","BUFFER_CODECS","_track$details2","bufferedAttributes","switchAttributes","AudioTrackController","_BasePlaylistControll","groupIds","tracksInGroup","currentTrack","selectDefaultTrack","MANIFEST_PARSED","onManifestParsed","trackInActiveGroup","currentGroups","groupIndex","allIndex","findTrackId","audioTracksUpdated","setAudioTrack","_this$groupIds","setAudioOption","audioOption","switchIndex","withoutCodecAndChannelsMatch","newId","lastTrack","trackLoaded","_track2","_track3","TICK_INTERVAL$1","SubtitleStreamController","currentTrackId","tracksBuffered","SUBTITLE_TRACKS_UPDATED","onSubtitleTracksUpdated","SUBTITLE_TRACK_SWITCH","onSubtitleTrackSwitch","onSubtitleTrackLoaded","SUBTITLE_FRAG_PROCESSED","onSubtitleFragProcessed","fragStart","fragEnd","endOffsetSubtitles","mediaBufferTimeRanges","mainSlidingStartFragment","levelTargetDuration","foundFrag","lookupTolerance","BufferableInstance","timeranges","getRange","DOMException","SubtitleTrackController","queuedDefaultTrack","asyncPollTrackChange","pollTrackChange","useTextTrackPolling","subtitlePollingInterval","_subtitleDisplay","onTextTracksChanged","renderTextTracksNatively","findTrackForTextTrack","setSubtitleTrack","subtitlePreference","subtitleTracksUpdated","selectDefault","_track","setSubtitleOption","subtitleOption","allSubtitleTracks","toggleTrackModes","nextTrack","subtitleDisplay","_track$groupId","BufferOperationQueue","sourceBufferReference","buffers","queues","operation","pending","executeNext","insertAbort","appendBlocker","execute","onStart","sb","updating","shiftAndExecuteNext","VIDEO_CODEC_PROFILE_REPLACE","BufferController","_objectUrl","operationQueue","bufferCodecEventsExpected","_bufferCodecEventsTotal","mediaSource","lastMpegAudioChunk","appendSource","appendErrors","pendingTracks","sourceBuffer","_onEndStreaming","pauseBuffering","_onStartStreaming","resumeBuffering","_onMediaSourceOpen","_onMediaEmptied","updateMediaElementDuration","checkPendingTracks","_onMediaSourceClose","_onMediaSourceEnded","mediaSrc","_initSourceBuffer","hasSourceTypes","getSourceBufferTypes","MEDIA_ATTACHING","onMediaAttaching","onBufferAppending","onBufferCodecs","onBufferEos","onFragParsed","FRAG_CHANGED","onFragChanged","codecEvents","_ms$constructor","ms","objectUrl","MMS","disableRemotePlayback","removeSourceChildren","addSource","endOfStream","MEDIA_DETACHED","resetBuffer","_this$mediaSource","removeBufferListeners","sourceBuffers","removeSourceBuffer","sourceBufferCount","trackNames","trackName","changeType","_trackCodec","_data$trackName","currentCodecFull","currentCodec","trackCodec","nextCodec","mimeType","appendChangeType","eventData","chunkStats","bufferAppendingStart","fragBuffering","partBuffering","checkTimestampOffset","timestampOffset","appendExecutor","_type","QUOTA_EXCEEDED_ERR","appendErrorCount","flushOperation","removeExecutor","_this7","buffersAppendedTo","onUnblocked","blockBuffers","trimBuffers","_this8","ending","liveBackBufferLength","maxBackBufferLength","targetBackBufferPosition","flushBackBuffer","frontBufferFlushThreshold","frontBufferLength","maxFrontBufferLength","targetFrontBufferPosition","flushFrontBuffer","_this9","BACK_BUFFER_REACHED","LIVE_BACK_BUFFER_REACHED","_this10","numBufferedRanges","levelDuration","mediaDuration","msDuration","liveDurationInfinity","updateSeekableRange","setLiveSeekableRange","pendingTracksCount","createSourceBuffers","BUFFER_INCOMPATIBLE_CODECS_ERROR","_this11","addSourceBuffer","sbName","addBufferListener","_onSBUpdateStart","_onSBUpdateEnd","_onSBUpdateError","removedRanges","_this$mediaSource2","_this$mediaSource3","removeStart","removeEnd","appendBuffer","_this12","blockingOperations","firstChild","sourceChildren","specialCea608CharsCodes","getCharForByte","charCode","NR_ROWS","NR_COLS","rowsLowCh1","rowsHighCh1","rowsLowCh2","rowsHighCh2","backgroundColors","CaptionsLogger","verboseLevel","severity","numArrayToHexArray","numArray","hexArray","PenState","foreground","underline","italics","flash","setStyles","attribs","newPenState","StyledUnicodeChar","uchar","penState","_proto3","setChar","setPenState","newChar","isEmpty","Row","chars","currPenState","cueStartTime","_proto4","empty","setCursor","absPos","moveCursor","relPos","newPos","backSpace","insertChar","_byte2","_char","clearFromPos","startPos","clearToEndOfRow","getTextString","_char2","setPenStyles","CaptionScreen","rows","currRow","nrRollUpRows","lastOutputScreen","_proto5","equal","_char3","setPen","setPAC","pacData","newRow","row","topRowIndex","prevLineTime","indent","prevPos","setBkgData","bkgData","setRollUpRows","nrRows","rollUp","getDisplayText","topRow","asOneRow","displayText","rowNr","rowText","getTextAndFormat","Cea608Channel","channelNumber","outputFilter","chNr","verbose","displayedMemory","nonDisplayedMemory","currRollUpRow","writeScreen","_proto6","getHandler","setHandler","newHandler","setMode","newMode","insertChars","screen","outputDataUpdate","ccRCL","ccBS","ccAOF","ccAON","ccDER","ccRU","ccFON","ccRDC","ccTR","ccRTD","ccEDM","ccCR","ccENM","ccEOC","ccTO","nrCols","ccMIDROW","colorIndex","colors","newCue","dispatchCue","cueSplitAtTime","Cea608Parser","out1","out2","currentChannel","cmdHistory","createCmdHistory","_proto7","addData","byteList","cmdFound","charsFound","parseCmd","parseMidrow","parsePAC","parseBackgroundAttributes","parseChars","currChNr","hasCmdRepeated","setLastCmd","interpretPAC","_byte3","pacIndex","channelNr","oneCode","charCodes","charCode1","hexCodes","OutputFilter","timelineController","cueRanges","addCues","createCaptionsTrack","AllowedDirections","AllowedAlignments","isAllowedValue","allowed","lcValue","findDirectionSetting","findAlignSetting","extend","rest","cobj","baseObj","hasBeenReset","_pauseOnExit","_startTime","_endTime","_text","_region","_vertical","_snapToLines","_line","_lineAlign","_position","_positionAlign","_size","_align","setting","SyntaxError","displayState","getCueAsHTML","parseTimeStamp","computeSeconds","dflt","defaultKey","parseOptions","keyValueDelim","groupDelim","kv","defaults","center","align","parseCue","regionList","oInput","consumeTimeStamp","ts","consumeCueSettings","vals","region","vertical","lineAlign","skipWhitespace","fixLineBreaks","VTTParser","collectNextLine","alreadyCollectedLine","hasSubstring","LINEBREAKS","inputString","searchString","cueString2millis","timeString","secs","mins","generateCueId","calculateOffset","vttCCs","currCC","prevCC","new","presentationOffset","_prevCC","parseWebVTT","vttByteArray","callBack","errorCallBack","parsingError","vttLines","cueTime","timestampMapMPEGTS","timestampMapLOCAL","inHeader","cueOffset","webVttMpegTsMapOffset","IMSC1_CODEC","HMSF_REGEX","TIME_UNIT_REGEX","textAlignToLineAlign","parseIMSC1","ttmlList","syncTime","ttml","parseTTML","tt","defaultRateInfo","subFrameRate","frameRateMultiplier","tickRate","rateInfo","styleElements","collectionToDictionary","getElementCollection","regionElements","cueElements","cueElement","cueText","getTextContent","parseTtmlTime","timestampParsingError","getTtmlStyles","fromElement","parentName","childName","elementsWithId","dict","_node$childNodes","nodeName","textContent","ttsNs","regionStyle","styleAttributes","regionStyleName","getAttributeNS","ns","hasAttributeNS","timeAttributeValue","parseHoursMinutesSecondsFrames","parseTimeUnits","TimelineController","Cues","unparsedVttFrags","captionsTracks","nonNativeCaptionsTracks","cea608Parser1","cea608Parser2","lastCc","newVTTCCs","captionsProperties","cueHandler","textTrack1","captionsTextTrack1Label","captionsTextTrack1LanguageCode","textTrack2","captionsTextTrack2Label","captionsTextTrack2LanguageCode","textTrack3","captionsTextTrack3Label","captionsTextTrack3LanguageCode","textTrack4","captionsTextTrack4Label","captionsTextTrack4LanguageCode","onFragParsingUserdata","onFragDecrypted","SUBTITLE_TRACKS_CLEARED","onSubtitleTracksCleared","initCea608Parsers","enableCEA708Captions","channel1","channel2","channel3","channel4","merged","cueRange","overlap","CUES_PARSED","getExistingTrack","canReuseVttTextTrack","createNativeTrack","createNonNativeTrack","_captionsProperties$t","existingTrack","createTextTrack","trackProperties","closedCaptions","NON_NATIVE_TEXT_TRACKS_FOUND","_cleanTracks","hasIMSC1","enableWebVTT","enableIMSC1","inUseTracks","inUseTrack","textTrackKind","captionsOrSubtitlesFromCharacteristics","unusedTextTracks","tracksList","captionsTrack","instreamIdMatch","closedCaptionsForLevel","_data$part$index","decrypted","trackPlaylistMedia","_parseIMSC1","_parseVTTs","_appendCues","maxAvCC","missingInitPTS","_fallbackToIMSC1","fragLevel","ccBytes","ccdatas","extractCea608Data","actualCCBytes","tmpByte","ccbyte1","ccbyte2","ccType","manifestTrack","x1","y1","CapLevelController","autoLevelCapping","restrictedLevels","clientRect","streamController","setStreamController","unregisterListener","stopCapping","FPS_DROP_LEVEL_CAPPING","onFpsDropLevelCapping","droppedLevel","isLevelAllowed","HTMLVideoElement","detectPlayerSize","capLevelToPlayerSize","startCapping","mediaHeight","mediaWidth","maxLevel","getMaxLevel","nextLevelSwitch","capLevelIndex","validLevels","getMaxLevelByMediaSize","getDimensions","boundsRect","restrictedLevel","atGreatestBandwidth","curLevel","maxLevelIndex","squareSize","contentScaleFactor","ignoreDevicePixelRatio","devicePixelRatio","FPSController","isVideoPlaybackQualityAvailable","lastTime","lastDroppedFrames","lastDecodedFrames","capLevelOnFPSDrop","getVideoPlaybackQuality","checkFPSInterval","fpsDroppedMonitoringPeriod","checkFPS","decodedFrames","droppedFrames","currentPeriod","currentDropped","currentDecoded","droppedFPS","FPS_DROP","totalDroppedFrames","fpsDroppedMonitoringThreshold","videoPlaybackQuality","totalVideoFrames","droppedVideoFrames","webkitDecodedFrameCount","webkitDroppedFrameCount","LOGGER_PREFIX","EMEController","keyFormatPromise","keySystemAccessPromises","_requestLicenseFailureCount","mediaKeySessions","keyIdToKeySessionPromise","setMediaKeysQueue","CDMCleanupPromise","onMediaEncrypted","_onMediaEncrypted","onWaitingForKey","_onWaitingForKey","onMediaDetached","requestMediaKeySystemAccessFunc","licenseXhrSetup","licenseResponseCallback","getLicenseServerUrl","keySystemConfiguration","licenseUrl","getServerCertificateUrl","serverCertificateUrl","attemptKeySystemAccess","uniqueCodec","attempt","keySystems","getMediaKeysPromise","mediaKeys","EMEKeyError","KEY_SYSTEM_NO_ACCESS","supportedConfigurations","errMessage","mediaKeySystemConfigs","keySystemAccess","_keySystemAccessPromises","mediaKeySystemAccess","certificateRequest","fetchServerCertificate","createMediaKeys","certificate","setMediaKeysServerCertificate","createMediaKeySessionContext","mediaKeysSession","createSession","mediaKeySessionContext","keyStatus","renewKeySession","keySessionContext","getKeyIdString","generateRequestWithPreferredKeySession","removeSession","updateKeySession","_mediaKeySessionConte","keySession","sessionId","selectKeySystemFormat","getKeyFormatPromise","keySystemsInConfig","getKeySystemSelectionPromise","keySystemFormat","loadKey","keyInfo","keyDetails","keySessionContextPromise","getKeySystemForKeyPromise","throwIfDestroyed","attemptSetMediaKeys","handleError","KEY_SYSTEM_NO_KEYS","KEY_SYSTEM_NO_CONFIGURED_LICENSE","initDataType","keySystemDomain","psshInfo","keyIdHex","keyContext","oldKeyIdHex","_keySystemToKeySystem","setMediaKeysPromise","setMediaKeys","_this$config$drmSyste","_this$config$drmSyste2","generateRequestFilter","generateRequest","mappedInitData","licenseStatus","_onmessage","messageType","renewLicense","onkeystatuseschange","_onkeystatuseschange","onKeyStatusChange","keyUsablePromise","KEY_SYSTEM_STATUS_INTERNAL_ERROR","_context$mediaKeysSes","KEY_SYSTEM_NO_SESSION","keyStatuses","certLoader","certLoadPolicy","contex","KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED","cert","setServerCertificate","KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED","keyMessage","requestLicense","KEY_SYSTEM_SESSION_UPDATE_FAILED","unpackPlayReadyKeyMessage","xhr","licenseChallenge","xmlString","setRequestHeader","keyMessageXml","_header$querySelector","_header$querySelector2","_value","challengeElement","challengeText","setupLicenseXHR","keysListItem","licenseXhrSetupResult","XMLHttpRequest","onreadystatechange","KEY_SYSTEM_LICENSE_REQUEST_FAILED","attemptsLeft","licenseXhr","DONE","_ref5","emeEnabled","_this13","mediaKeysList","keySessionCount","_ref6","_this14","close","CmObjectType","CmStreamingFormat","CmcdHeaderField","_CmcdHeaderMap","_this15","CmcdHeaderMap","OBJECT","REQUEST","SESSION","STATUS","SfItem","SfToken","DICT","Set","throwError","BARE_ITEM","BOOLEAN","BYTES","DECIMAL","INTEGER","isInvalidInt","STRING_REGEX","TOKEN","KEY","serializeError","serializeBoolean","base64encode","binary","serializeByteSequence","serializeInteger","serializeDate","roundToEven","precision","decimalShift","flooredValue","serializeDecimal","roundedValue","STRING","serializeString","symbolToStr","symbol","serializeToken","token","serializeBareItem","serializeKey","serializeParams","serializeItem","serializeInnerList","serializeDict","_options","whitespace","optionalWhiteSpace","encodeSfDict","isTokenField","urlToRelativePath","toPath","fromPath","randomUUID","_uuid","dt","toRounded","toHundred","CmcdFormatters","br","dl","mtp","nor","rtp","tb","processCmcd","formatters","formatter","encodeCmcd","cmcd","toCmcdHeaders","headerMap","customHeaderMap","shards","_headerMap$find","appendCmcdHeaders","CMCD_PARAM","toCmcdQuery","REGEX","appendCmcdQuery","separator","CMCDController","cid","useHeaders","includeKeys","starved","audioBuffer","onWaiting","onPlaying","applyPlaylistData","ot","su","applyFragmentData","getObjectType","MUXED","getTopBandwidth","getBufferLength","createPlaylistLoader","createFragmentLoader","contentId","_data$tracks$audio","_data$tracks$video","createData","sf","HLS","pr","bandwidthEstimate","isVideo","INIT","bs","TIMED_TEXT","_step","_iterator","Ctor","CmcdPlaylistLoader","callbacks","CmcdFragmentLoader","PATHWAY_PENALTY_DURATION_MS","ContentSteeringController","pathwayPriority","timeToLoad","reloadTimer","started","penalizedPathways","ttl","scheduleRefresh","loadSteeringManifest","levelToRemove","errorPathway","_pathwayId","getPathwayForGroupId","pathways","updatePathwayPriority","filterParsedLevels","pathwayLevels","getLevelsForPathway","_pathwayId2","_pathwayId3","selectedIndex","selectedLevel","levelAfterChange","defaultPathway","clonePathways","pathwayClones","audioGroupCloneMap","subtitleGroupCloneMap","pathwayClone","cloneId","baseId","uriReplacement","clonedVariants","baseLevel","clonedAudioGroupId","clonedSubtitleGroupId","performUriReplacement","clonedLevel","cloneRenditionGroups","throughput","steeringManifestLoadPolicy","steeringData","TTL","reloadUri","loadedSteeringData","steeringManifest","STEERING_MANIFEST_LOADED","getResponseHeader","retryAfter","ttlMs","_this3$hls","groupCloneMap","clonedTracks","clonedTrack","stableId","perOptionKey","perVariantUri","host","HOST","PARAMS","perOptionUris","AGE_HEADER_LINE_REGEX","XhrLoader","xhrSetup","requestTimeout","retryTimeout","abortInternal","onprogress","_this$callbacks","loadInternal","openAndSendXhr","_config$loadPolicy","readystatechange","loadprogress","loadtimeout","_status","useResponse","responseText","responseURL","_this$context","lengthComputable","getAllResponseHeaders","fetchSupported","AbortController","ReadableStream","Request","FetchLoader","fetchSetup","controller","getRequest","initParams","getRequestParameters","isArrayBuffer","LENGTH","FetchError","getContentLength","loadProgressively","responseData","chunkCache","reader","getReader","pump","credentials","Headers","getByteRangeLength","byteRangeHeader","contentRange","byteRangeLength","contentLength","chromeOrFirefox","WHITESPACE_CHAR","captionScreen","indenting","_track$cues","cueA","cueB","hlsDefaultConfig","highBufferWatchdogPeriod","nudgeOffset","startLevel","abrController","bufferController","capLevelController","errorController","fpsController","abrEwmaDefaultEstimateMax","minAutoBitrate","testBandwidth","manifestLoadingRetryDelay","manifestLoadingMaxRetryTimeout","levelLoadingTimeOut","levelLoadingMaxRetry","levelLoadingRetryDelay","levelLoadingMaxRetryTimeout","fragLoadingTimeOut","fragLoadingMaxRetry","fragLoadingRetryDelay","fragLoadingMaxRetryTimeout","timelineConfig","subtitleStreamController","subtitleTrackController","audioStreamController","audioTrackController","emeController","cmcdController","contentSteeringController","mergeConfig","defaultConfig","defaultsCopy","deepCpy","deprecatedSettings","policyName","policyNotSet","report","deprecatedSetting","enableStreamingMode","currentLoader","LevelController","_firstLevel","_maxAutoLevel","_startLevel","currentLevelIndex","manualLevelIndex","steering","onParsedComplete","resetLevels","redundantSet","generatePathwaySet","resolutionFound","videoCodecFound","audioCodecFound","levelParsed","_audioCodec","_videoCodec","FRAMERATE","HDCP","PATHWAY","RESOLUTION","VIDEO_RANGE","pathwayCount","filterAndSortMediaOptions","filteredLevels","assignTrackIdsByGroup","unsortedLevels","valueA","valueB","_valueA","_valueB","firstLevelInPlaylist","_this$hls$userConfig","firstLevelBitrate","startingBwEstimate","audioOnly","edata","forceStartLoad","MANIFEST_INCOMPATIBLE_CODECS_ERROR","_data$deliveryDirecti2","_data$deliveryDirecti","_this$currentLevel","checkMaxAutoUpdated","newLevel","lastLevelIndex","lastLevel","lastPathwayId","levelSwitchingData","audioGroupIds","textGroupIds","configStartLevel","KeyLoader","keyUriToKeyInfo","_loader$context","createKeyLoadError","loadingFrag","_keyInfo","_keyInfo2","_keyInfo$mediaKeySess","keyLoadPromise","loadKeyHTTP","loadKeyEME","getSourceBuffer","SourceBuffer","WebKitSourceBuffer","isMSESupported","codecsForVideoContainer","codecForAudioContainer","changeTypeSupported","_sourceBuffer$prototy","STALL_MINIMUM_DURATION_MS","MAX_START_GAP_JUMP","SKIP_BUFFER_HOLE_STEP_SECONDS","SKIP_BUFFER_RANGE_START","GapController","nudgeRetry","stallReported","stalled","moved","poll","activeFrag","seeked","beginSeek","hasEnoughBuffer","noBufferGap","startJump","maxStartGapJump","partialOrGap","_trySkipBufferHole","tnow","stalledDuration","_reportStall","bufferedWithHoles","_tryFixBufferStall","_stalledDuration","stalledDurationMs","_tryNudgeBuffer","bufferStarved","waiting","gapLength","startGap","startFrag","startProvisioned","moreToLoad","provisioned","targetTime","TICK_INTERVAL","StreamController","audioCodecSwap","gapController","_forceStartLoad","fragPlaying","onvplaying","onvseeked","fragLastKbps","couldBacktrack","backtrackFragment","audioCodecSwitch","onFragLoadEmergencyAborted","onAudioTrackSwitched","_currentLevel","checkBuffer","checkFragmentChanged","getMainFwdBufferInfo","lastDetails","manualLevel","_this$backtrackFragme","backtrackFrag","_loadBitrateTestFrag","followingBufferedFrag","immediateLevelSwitch","abortCurrentFrag","fetchdelay","fragPlayingCurrent","bufferedFrag","nextBufferedFrag","maxStart","startPts","onMediaPlaying","onMediaSeeked","aac","heaac","_curLevel$details","newLevelId","_getAudioCodec","fromAltAudio","mediaTrack","alternate","swapAudioCodec","isFirstFragment","isFirstInDiscontinuity","backtrack","_endPTS","_startDTS","_endDTS","ua","fragCurrentLevel","LEVEL_SWITCHED","currentFrag","epocMs","coreComponents","networkControllers","_emitter","_autoLevelCapping","_maxHdcpLevel","latencyController","levelController","_media","triggeringException","DefaultConfig","ConfigAbrController","ConfigBufferController","ConfigCapLevelController","ConfigErrorController","ConfigFpsController","playListLoader","id3TrackController","ConfigContentSteeringController","createController","AudioStreamControllerClass","SubtitleStreamControllerClass","ControllerClass","components","controllerInstance","eventObject","DESTROYING","loadedSource","loadingSource","_this$audioTrackContr","_this$subtitleTrackCo","shouldStartCapping","newCapLevelToPlayerSize","currentProgramDateTime","subtitleTrackId","factory","voidElement","comment","_classCallCheck","_inherits","_possibleConstructorReturn","_toArray","_interopDefaultLegacy","_typeof__default","_classCallCheck__default","_createClass__default","_assertThisInitialized__default","_inherits__default","_possibleConstructorReturn__default","_getPrototypeOf__default","_defineProperty__default","_toArray__default","ownKeys$6","enumerableOnly","symbols","_objectSpread$6","consoleLogger","baseLogger","Logger","concreteLogger","_len2","_len3","_key3","_len4","_key4","lvl","debugOnly","moduleName","observers","cloned","_cloned","defer","rej","makeString","getLastOfPath","Empty","cleanKey","canNotTraverseDeeper","setPath","newValue","_getLastOfPath","getPath","_getLastOfPath3","getPathWithDefaults","defaultData","deepExtend","overwrite","regexEscape","_entityMap","escape","isIE10","userAgentData","ownKeys$5","_objectSpread$5","_createSuper$3","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct$3","Super","NewTarget","deepFind","keySeparator","paths","joinedPath","ResourceStore","_EventEmitter","_super","defaultNS","ignoreJSONStructure","lng","addNamespaces","resources","addResource","deep","pack","hasResourceBundle","removeNamespaces","getResource","compatibilityAPI","getDataByLanguage","postProcessor","processors","addPostProcessor","handle","translator","processor","ownKeys$4","_objectSpread$4","_createSuper$2","_isNativeReflectConstruct$2","checkedLoadedFor","Translator","interpolation","nsSeparator","namespaces","wouldCheckForNsInKey","seemsNaturalLanguage","userDefinedKeySeparator","userDefinedNsSeparator","possibleChars","matched","ki","looksLikeObjectPath","interpolator","nestingRegexp","lastKey","overloadTranslationOptionHandler","returnDetails","_this$extractFromKey","extractFromKey","namespace","appendNamespaceToCIMode","resUsedKey","usedKey","resExactUsedKey","exactUsedKey","resType","noObject","joinArrays","handleAsObjectInI18nFormat","i18nFormat","handleAsObject","returnObjects","returnedObjectHandler","resTypeIsArray","newKeyToUse","deepKey","translate","extendTranslation","usedDefault","needsPluralHandling","hasDefaultValue","defaultValueSuffix","pluralResolver","getSuffix","isValidLookup","missingKeyNoValueFallbackToKey","resForMissing","updateMissing","fk","lngs","fallbackLngs","languageUtils","getFallbackCodes","fallbackLng","saveMissingTo","toResolveHierarchy","specificDefaultValue","defaultForMissing","missingKeyHandler","backendConnector","saveMissing","saveMissingPlurals","getSuffixes","suffix","appendNamespaceToMissingKey","parseMissingKeyHandler","defaultVariables","usedLng","usedNS","skipInterpolation","nestBef","skipOnVariables","interpolate","na","nest","postProcess","postProcessorNames","applyPostProcessor","postProcessPassResolved","i18nResolved","extracted","fallbackNS","needsZeroSuffixLookup","ordinal","shouldUseIntlApi","needsContextHandling","utils","hasLoadedNamespace","possibleKey","finalKeys","addLookupKeys","pluralSuffix","zeroSuffix","pluralSeparator","contextKey","contextSeparator","returnNull","returnEmptyString","resourceStore","capitalize","LanguageUtil","supportedLngs","formatLanguageCode","specialCases","lowerCaseLng","cleanCode","nonExplicitSupportedLngs","getLanguagePartFromCode","cleanedLng","isSupportedCode","lngOnly","supportedLng","fallbacks","getScriptPartFromCode","fallbackCode","fallbackCodes","addCode","fc","sets","nr","_rulesPluralsTypes","deprecatedJsonVersions","suffixesOrder","zero","one","two","few","many","createRules","rules","numbers","plurals","PluralResolver","compatibilityJSON","Intl","PluralRules","_unused","rule","getRule","resolvedOptions","pluralCategories","pluralCategory1","pluralCategory2","pluralCategory","prepend","getSuffixRetroCompatible","noAbs","simplifyPluralSuffix","returnSuffix","ownKeys$3","_objectSpread$3","Interpolator","escapeValue","iOpts","useRawValueToEscape","prefixEscaped","suffixEscaped","formatSeparator","unescapePrefix","unescapeSuffix","nestingPrefix","nestingPrefixEscaped","nestingSuffix","nestingSuffixEscaped","nestingOptionsSeparator","maxReplaces","alwaysFormat","resetRegExp","regexpStr","regexpUnescapeStr","regexpUnescape","nestingRegexpStr","replaces","regexSafe","handleFormat","interpolationkey","missingInterpolationHandler","regex","safeValue","todo","matchedVar","clonedOptions","handleHasOptions","inheritedOptions","sep","optionsString","matchedSingleQuotes","matchedDoubleQuotes","doReduce","elem","ownKeys$2","_objectSpread$2","createCachedFormatter","Formatter","NumberFormat","currency","datetime","DateTimeFormat","relativetime","RelativeTimeFormat","ListFormat","_format","mem","_parseFormatStr","formatStr","formatName","formatOptions","optStr","opt","_opt$split","_opt$split2","parseFormatStr","formatted","valOptions","formatParams","locale","ownKeys$1","_objectSpread$1","_createSuper$1","_isNativeReflectConstruct$1","Connector","backend","store","waitingReads","maxParallelReads","readingCalls","maxRetries","languages","toLoad","toLoadLanguages","toLoadNamespaces","hasAllNamespaces","pendingCount","addResourceBundle","_getLastOfPath2","removePending","loadedKeys","fcName","tried","wait","resolver","queueLoad","loadOne","prepareLoading","fallbackValue","isUpdate","clb","initImmediate","preload","partialBundledLanguages","tDescription","transformOptions","_objectSpread","_createSuper","bindMemberFunctions","inst","I18n","modules","isInitialized","isClone","defOpts","createClassOnDemand","ClassOrObject","lu","languageDetector","detection","storeApi","_this2$store","storeApiChained","_this2$store2","deferred","finish","initializedStoreOnce","usedCallback","resolvedLanguage","setResolvedLanguage","li","lngInLngs","hasLanguageSomeTranslations","isLanguageChangingTo","setLngProps","setLng","getBestMatchFromCodes","cacheUserLanguage","loadResources","keyPrefix","fixedT","resultKey","_this$translator","_this$translator2","exists","lastLng","loadNotPending","loadState","precheck","preResult","preloaded","newLngs","mergedOptions","clone","membersToCopy","createInstance","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","rt","LN2","crit","findBy","isValidType","forAll","local","HASH_UNDEFINED","argsTag","boolTag","dateTag","funcTag","genTag","mapTag","numberTag","objectTag","promiseTag","regexpTag","setTag","stringTag","symbolTag","weakMapTag","arrayBufferTag","dataViewTag","float32Tag","float64Tag","int8Tag","int16Tag","int32Tag","uint8Tag","uint8ClampedTag","uint16Tag","uint32Tag","reFlags","reIsHostCtor","reIsUint","cloneableTags","freeGlobal","freeSelf","root","freeExports","nodeType","freeModule","moduleExports","addMapEntry","pair","addSetEntry","arrayReduce","iteratee","accumulator","initAccum","isHostObject","mapToArray","overArg","transform","setToArray","arrayProto","funcProto","objectProto","coreJsData","maskSrcKey","IE_PROTO","funcToString","objectToString","reIsNative","getPrototype","objectCreate","nativeGetSymbols","nativeIsBuffer","nativeKeys","getNative","WeakMap","nativeCreate","dataViewCtorString","toSource","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","symbolProto","symbolValueOf","Hash","ListCache","MapCache","Stack","__data__","arrayLikeKeys","inherited","isObjectLike","isArrayLike","isArrayLikeObject","isArguments","baseTimes","skipIndexes","isIndex","assignValue","objValue","eq","assocIndexOf","baseClone","isDeep","isFull","customizer","isObject","isArr","initCloneArray","copyArray","getTag","isFunc","cloneBuffer","isPrototype","initCloneObject","copyObject","getSymbols","copySymbols","baseAssign","cloneFunc","cloneArrayBuffer","dataView","cloneDataView","typedArray","cloneTypedArray","cloneMap","cloneRegExp","cloneSet","initCloneByTag","stacked","keysFunc","symbolsFunc","arrayPush","baseGetAllKeys","getAllKeys","arrayEach","subValue","baseIsNative","isFunction","getMapData","getValue","pairs","LARGE_ARRAY_SIZE","ctorString","isLength","baseKeys","reTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","nativeMax","nativeMin","toNumber","isSymbol","isBinary","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","invokeFunc","leadingEdge","timerExpired","shouldInvoke","timeSinceLastCall","trailingEdge","remainingWait","debounced","isInvoking","arrayIncludes","fromIndex","fromRight","baseFindIndex","baseIsNaN","baseIndexOf","arrayIncludesWith","comparator","arrayMap","baseUnary","cacheHas","SetCache","pattern","castArrayLikeObject","arrays","mapped","othLength","othIndex","caches","maxLength","seen","outer","computed","baseIntersection","otherArgs","arrayTag","errorTag","typedArrayTags","freeProcess","nodeUtil","binding","nodeIsTypedArray","isTypedArray","arraySome","nativeObjectToString","symToStringTag","isArg","isBuff","isType","baseGetTag","isOwn","unmasked","getRawTag","baseIsArguments","baseIsEqual","bitmask","equalFunc","objIsArr","othIsArr","objTag","othTag","objIsObj","othIsObj","isSameTag","equalArrays","equalByTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","objProps","objLength","skipCtor","othValue","compared","objCtor","othCtor","equalObjects","baseIsEqualDeep","isMasked","arrValue","resIndex","arrayFilter","FUNC_ERROR_TEXT","magnetURIDecode","encode","xts","xt","infoHashBuffer","infoHashV2Buffer","infoHashV2","xtsDeduped","publicKeyBuffer","xs","publicKey","dn","keywords","kt","tr","urlList","ws","as","peerAddresses","bep53Range","base32","param","keyval","decodedStr","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","componentName","propFullName","secret","getShim","ReactPropTypes","objectOf","checkPropTypes","global","punycode","maxInt","regexPunycode","regexNonASCII","regexSeparators","stringFromCharCode","mapDomain","ucs2decode","counter","ucs2encode","digitToBasic","digit","flag","adapt","numPoints","firstTime","baseMinusTMin","basic","oldi","baseMinusT","inputLength","bias","handledCPCount","basicLength","currentValue","handledCPCountPlusOne","qMinusT","qs","maxKeys","kstr","vstr","stringifyPrimitive","ks","aa","ca","da","ea","fa","ha","ia","ja","ka","la","ma","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","removeEmptyString","ra","sa","ta","pa","qa","oa","setAttributeNS","xlinkHref","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","va","for","wa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","Ma","Na","Oa","prepareStackTrace","Pa","Qa","$$typeof","_payload","_init","Ra","Sa","Ta","Va","_valueTracker","stopTracking","Ua","Wa","Xa","Ya","defaultChecked","_wrapperState","initialChecked","Za","controlled","ab","bb","db","ownerDocument","eb","fb","defaultSelected","gb","dangerouslySetInnerHTML","hb","ib","jb","kb","lb","mb","namespaceURI","MSApp","execUnsafeLocalFunction","ob","pb","animationIterationCount","aspectRatio","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","order","orphans","tabSize","widows","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","qb","rb","setProperty","menuitem","area","col","embed","img","keygen","meta","wbr","ub","vb","wb","xb","srcElement","correspondingUseElement","parentNode","yb","zb","Ab","Bb","Cb","stateNode","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Nb","Ob","Pb","Qb","Rb","Sb","Tb","Vb","Wb","memoizedState","dehydrated","Xb","Zb","sibling","Yb","$b","ac","unstable_scheduleCallback","bc","unstable_cancelCallback","unstable_shouldYield","dc","unstable_requestPaint","unstable_now","ec","unstable_getCurrentPriorityLevel","unstable_ImmediatePriority","gc","unstable_UserBlockingPriority","hc","unstable_NormalPriority","jc","unstable_LowPriority","unstable_IdlePriority","kc","lc","oc","clz32","pc","qc","sc","tc","pendingLanes","suspendedLanes","pingedLanes","entangledLanes","entanglements","xc","yc","zc","Ac","eventTimes","Cc","Dc","Ec","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Pc","Qc","Rc","Sc","delete","pointerId","Tc","blockedOn","domEventName","eventSystemFlags","targetContainers","Vc","Wc","priority","isDehydrated","containerInfo","Xc","Yc","Zc","$c","ad","bd","cd","ReactCurrentBatchConfig","dd","ed","transition","fd","gd","hd","Uc","jd","kd","ld","md","nd","od","keyCode","pd","qd","rd","_reactName","_targetInst","isDefaultPrevented","defaultPrevented","isPropagationStopped","cancelBubble","persist","isPersistent","wd","xd","yd","sd","eventPhase","bubbles","cancelable","timeStamp","isTrusted","td","ud","detail","vd","Ad","screenX","screenY","pageX","pageY","getModifierState","zd","relatedTarget","toElement","movementX","movementY","Bd","Dd","Fd","Hd","animationName","elapsedTime","pseudoElement","Id","clipboardData","Jd","Ld","Md","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","Nd","Od","Alt","Control","Meta","Shift","Pd","Qd","repeat","which","Rd","Td","pressure","tangentialPressure","tiltX","tiltY","twist","isPrimary","Vd","touches","targetTouches","changedTouches","Xd","Yd","deltaX","wheelDeltaX","wheelDeltaY","wheelDelta","deltaZ","deltaMode","Zd","$d","ae","be","documentMode","ce","de","fe","ge","he","le","tel","week","me","ne","oe","pe","qe","re","se","te","ue","ve","we","xe","ye","ze","oninput","Ae","detachEvent","Be","Ce","attachEvent","De","Ee","Fe","He","Ie","Je","Ke","nextSibling","Le","compareDocumentPosition","Me","HTMLIFrameElement","Ne","contentEditable","Oe","focusedElem","selectionRange","selectionStart","selectionEnd","defaultView","getSelection","rangeCount","anchorNode","anchorOffset","focusNode","focusOffset","createRange","setStart","removeAllRanges","addRange","setEnd","scrollLeft","Pe","Qe","Re","Se","Te","Ue","Ve","We","animationend","animationiteration","animationstart","transitionend","Xe","Ye","Ze","animation","$e","af","bf","cf","df","ef","ff","gf","hf","lf","mf","nf","Ub","of","pf","qf","rf","capture","passive","J","tf","uf","parentWindow","vf","wf","xa","$a","ba","je","ke","xf","yf","zf","Af","Bf","Cf","Df","Ef","__html","Ff","Gf","Hf","Jf","queueMicrotask","If","Kf","Lf","Mf","previousSibling","Nf","Of","Pf","Qf","Rf","Sf","Tf","Uf","Vf","Wf","Xf","Yf","contextTypes","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Zf","childContextTypes","$f","ag","getChildContext","cg","__reactInternalMemoizedMergedChildContext","dg","eg","fg","gg","hg","jg","kg","lg","ng","og","pg","qg","rg","sg","tg","ug","vg","wg","xg","yg","zg","Ag","Bg","deletions","Cg","pendingProps","treeContext","retryLane","Dg","Eg","Fg","Gg","memoizedProps","Hg","Ig","Jg","Kg","Lg","defaultProps","Mg","Ng","Og","Pg","Qg","Rg","_currentValue","Sg","childLanes","Tg","dependencies","firstContext","lanes","Ug","Vg","memoizedValue","Wg","Xg","Yg","interleaved","Zg","$g","ah","updateQueue","baseState","firstBaseUpdate","lastBaseUpdate","shared","effects","bh","ch","eventTime","lane","dh","K","eh","fh","gh","hh","ih","jh","refs","kh","nh","isMounted","_reactInternals","enqueueSetState","lh","mh","enqueueReplaceState","enqueueForceUpdate","oh","shouldComponentUpdate","isPureReactComponent","ph","updater","qh","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","rh","getDerivedStateFromProps","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","componentDidMount","sh","_owner","_stringRef","th","uh","vh","xh","yh","implementation","zh","Ah","Bh","Ch","Dh","Eh","Fh","Gh","Hh","Ih","Jh","Kh","Lh","M","Mh","revealOrder","Nh","Oh","_workInProgressVersionPrimary","Ph","ReactCurrentDispatcher","Qh","Rh","N","O","Sh","Th","Uh","Vh","Q","Wh","Xh","Yh","Zh","$h","ai","bi","ci","baseQueue","di","ei","fi","lastRenderedReducer","hasEagerState","eagerState","lastRenderedState","gi","ii","ji","getSnapshot","mi","ni","lastEffect","stores","oi","pi","qi","ri","si","ti","ui","vi","wi","yi","zi","Ai","Bi","Ci","Di","Ei","Fi","Gi","Hi","Ii","Ji","readContext","useImperativeHandle","useDebugValue","useDeferredValue","useTransition","useMutableSource","useSyncExternalStore","useId","unstable_isNewReconciler","identifierPrefix","Ki","digest","Li","Mi","Ni","Oi","Pi","Qi","Ri","getDerivedStateFromError","componentDidCatch","Si","componentStack","Ti","pingCache","Ui","Vi","Wi","Xi","ReactCurrentOwner","Yi","Zi","$i","aj","bj","cj","dj","ej","baseLanes","cachePool","transitions","fj","gj","hj","ij","jj","UNSAFE_componentWillUpdate","componentWillUpdate","componentDidUpdate","kj","lj","pendingContext","mj","Aj","Cj","Dj","nj","oj","pj","qj","rj","tj","dgst","uj","vj","_reactRetry","sj","subtreeFlags","wj","xj","isBackwards","rendering","renderingStartTime","tail","tailMode","yj","Ej","Fj","Gj","wasMultiple","multiple","suppressHydrationWarning","onclick","createElementNS","createTextNode","Hj","Ij","Jj","Kj","U","Lj","WeakSet","V","Mj","W","Nj","Oj","Qj","Rj","Sj","Tj","Uj","Vj","Wj","_reactRootContainer","Xj","X","Yj","Zj","ak","onCommitFiberUnmount","componentWillUnmount","bk","ck","dk","ek","isHidden","gk","hk","ik","jk","kk","lk","__reactInternalSnapshotBeforeUpdate","Wk","mk","nk","pk","Y","Z","qk","rk","sk","tk","uk","vk","wk","xk","yk","zk","Ak","Bk","Ck","Dk","Ek","callbackNode","expirationTimes","expiredLanes","wc","callbackPriority","ig","Fk","Gk","Hk","Ik","Jk","Kk","Lk","Mk","Nk","Ok","Pk","finishedWork","finishedLanes","Qk","timeoutHandle","Rk","Sk","Tk","Uk","Vk","mutableReadLanes","Bc","Pj","onCommitFiberRoot","mc","onRecoverableError","Xk","onPostCommitFiberRoot","Yk","Zk","al","isReactComponent","pendingChildren","mutableSourceEagerHydrationData","cl","pendingSuspenseBoundaries","fl","gl","hl","il","jl","zj","$k","ll","reportError","ml","_internalRoot","nl","ol","pl","ql","rl","unmount","unstable_scheduleHydration","tl","usingClientEntryPoint","ul","findFiberByHostInstance","bundleType","rendererPackageName","vl","rendererConfig","overrideHookState","overrideHookStateDeletePath","overrideHookStateRenamePath","overrideProps","overridePropsDeletePath","overridePropsRenamePath","setErrorHandler","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","reconcilerVersion","__REACT_DEVTOOLS_GLOBAL_HOOK__","wl","isDisabled","supportsFiber","inject","createRoot","unstable_strictMode","findDOMNode","flushSync","hydrate","hydrateRoot","hydratedSources","_getVersion","_source","unmountComponentAtNode","unstable_batchedUpdates","unstable_renderSubtreeIntoContainer","checkDCE","FOCUS_GROUP","FOCUS_DISABLED","useMergeRefs","assignRef","facade","hiddenGuard","InFocusGuard","__assign","ItoI","innerCreateMedium","middleware","assigned","useMedium","assignSyncMedium","cbs","assignMedium","pendingQueue","executeQueue","cycle","createMedium","mediumFocus","mediumBlur","mediumEffect","mediumSidecar","medium","ssr","createSidecarMedium","emptyArray","parentRef","_extends2","_React$useState","realObserved","setObserved","observed","isActive","originalFocusedElement","noFocusGuards","persistentFocus","crossFrame","allowTextSelection","whiteList","hasPositiveIndices","_props$shards","_props$as","Container","_props$lockProps","containerProps","SideCar","sideCar","shouldReturnFocus","returnFocus","focusOptions","onActivationCallback","onActivation","onDeactivationCallback","onDeactivation","allowDefer","returnFocusTo","howToReturnFocus","returnFocusOptions","setObserveNode","newObserved","hasLeadingGuards","hasTailingGuards","mergedRef","reducePropsToState","handleStateChangeOnClient","WrappedComponent","mountedInstances","emitChange","SideEffect","_PureComponent","peek","PureComponent","getDisplayName","getParentNode","Node","DOCUMENT_FRAGMENT_NODE","isTopNode","DOCUMENT_NODE","isVisibleUncached","checkParent","ELEMENT_NODE","computedStyle","getPropertyValue","isElementHidden","isVisibleCached","visibilityCache","cached","isAutoFocusAllowedCached","isAutoFocusAllowed","isAutoFocusAllowedUncached","getDataset","isHTMLInputElement","isRadioElement","attribute","isGuard","_a","focusGuard","isNotAGuard","isDefined","correctNode","findSelectedRadio","pickFirstFocus","pickFocusable","NEW_FOCUS","newFocus","innerNodes","outerNodes","lastNode","cnt","firstFocus","lastFocus","isOnGuard","resultSet","activeIndex","lastNodeInside","indexDiff","firstNodeIndex","lastNodeIndex","correctedNodes","correctedIndexDiff","returnFirstNode","returnLastNode","toArray","asArray","tabSort","tabDiff","orderByTabIndex","filterNegative","keepGuards","queryTabbables","queryGuardTabbables","getFocusablesWithShadowDom","withGuards","shadowRoot","getFocusables","parents","filterFocusable","isHTMLButtonElement","notHiddenInput","filterAutoFocusable","getTabbableNodes","topNodes","getAllTabbableNodes","parentAutofocusables","topNode","parentFocus","getParentAutofocusables","getTopParent","getAllAffectedNodes","currentNode","contained","DOCUMENT_POSITION_CONTAINED_BY","DOCUMENT_POSITION_CONTAINS","filterNested","getNestedShadowActiveElement","getActiveElement","getParents","getCommonParent","nodeA","nodeB","parentsA","parentsB","currentParent","getTopCommonParent","baseActiveElement","leftEntry","rightEntries","activeElements","leftEntries","topCommon","subEntry","common","getFocusMerge","commonParent","anyFocusable","innerElements","srcNodes","dstNodes","remap","autoFocusables","orderedInnerElements","entity","autoFocusable","allParentAutofocusables","autofocus","guardCount","lockDisabled","focusable","focusInsideIframe","focusInside","getFocusabledIn","lockItem","guard","deferAction","setImmediate","isFreeFocus","lastActiveTrap","lastActiveFocus","lastPortaledElement","focusWasOutsideWindow","defaultWhitelist","autoGuard","startIndex","step","allNodes","lastGuard","focusAutoGuard","extractRef","checkInHost","check","boundary","activateTrap","_lastActiveTrap","workingNode","portaledElement","workingArea","focusWhitelisted","withinHost","newActiveElement","focusedIndex","onTrap","observerNode","onWindowBlur","moveFocusInside","propsList","traps","trap","lastTrap","sameTrap","FocusLockCombination","_objectWithoutPropertiesLoose","I18nextProvider","_react","I18nContext","Trans","i18nKey","_ref$tOptions","tOptions","i18nFromProps","tFromProps","shouldUnescape","additionalProps","_objectWithoutProperties2","_excluded","i18nFromContext","defaultNSFromContext","getI18n","_TransWithoutContext","_defineProperty2","nodesToString","_excluded2","_i18nInstance","_utils","warnOnce","reactI18nextOptions","_defaults","getDefaults","react","transEmptyNodeValue","hashTransKey","interpolationOverride","combinedTOpts","translation","targetString","i18nOptions","keepArray","transKeepBasicHtmlNodesFor","emptyChildrenButNeedsHandling","getData","childs","getAsArray","hasChildren","getChildren","_typeof2","isValidElement","ast","_htmlParseStringify","renderInner","rootReactNode","mappedChildren","mapAST","hasValidReactChildren","pushTranslatedJSX","isVoid","dummy","cloneElement","reactNode","astNode","reactNodes","newTarget","translationContent","isElement","isValidTranslationWithChildren","isEmptyTransWithHTML","isKnownComponent","_inner","transSupportBasicHtmlNodes","_inner3","_inner4","wrapTextNodes","transWrapTextNodes","_content","renderNodes","useAsParent","defaultTransParent","checkLength","stringNode","childrenArray","childIndex","childPropsCount","shouldKeepChild","childChildren","i18nIsDynamicList","Translation","_useTranslation","_useTranslation3","_useTranslation2","_slicedToArray2","composeInitialProps","ForComponent","i18nInitialProps","getInitialProps","componentsInitialProps","setDefaults","setI18n","_initReactI18next","initReactI18next","ReportNamespaces","_classCallCheck2","_createClass2","usedNamespaces","reportNamespaces","getUsedNamespaces","initialI18nStore","getResourceBundle","initialLanguage","defaultOptions","bindI18n","bindI18nStore","useSuspense","i18nInstance","_Trans","_withTranslation","withTranslation","_Translation","_I18nextProvider","_withSSR","withSSR","_useSSR","useSSR","selectOrdinal","plural","matchHtmlEntity","htmlEntities","unescapeHtmlEntity","lngResources","initializedLanguageOnce","notReadyT","retNotReady","addUsedNamespaces","getT","getFixedT","nsMode","_useState","_useState2","setT","joinedNS","previousJoinedNS","usePrevious","boundReset","loadNamespaces","isInitial","ignore","_console","isNewerI18next","oldI18nextHasLoadedNamespace","alreadyWarned","I18nextWithSSR","I18nextWithTranslation","forwardedRef","passDownProps","tReady","withRef","ContextConsumer","ContextProvider","Element","ForwardRef","Lazy","Memo","Portal","Profiler","SuspenseList","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isForwardRef","isFragment","isLazy","isMemo","isPortal","isProfiler","isStrictMode","isSuspense","isSuspenseList","getModuleId","typeOf","forceUpdate","__self","__source","Children","only","_currentValue2","_threadCount","Consumer","_defaultValue","_globalName","createFactory","createRef","lazy","startTransition","unstable_act","sortIndex","expirationTime","priorityLevel","scheduling","isInputPending","MessageChannel","port2","port1","unstable_Profiling","unstable_continueExecution","unstable_forceFrameRate","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_runWithPriority","unstable_wrapCallback","isArrayish","ARROW_KEY_CODE","mapOfBoundRect","startingPoint","initiateSpatialNavigation","spatialNavigationSearch","focusableAreas","getSpatialNavigationContainer","CSS","registerProperty","syntax","inherits","currentKeyMode","__spatialNavigation__","keyMode","eventTarget","focusNavigableArrowKey","up","down","SPINNABLE_INPUT_TYPES","TEXT_INPUT_TYPES","endPosition","handlingEditableElement","searchOrigin","findSearchOrigin","elementFromPosition","elementFromPoint","isFocusable","isContainer","contentDocument","bestInsideCandidate","getCSSSpatNavAction","scrollingController","candidates","getSpatialNavigationCandidates","inside","focusingController","parentContainer","navigateChain","bestCandidate","elementStyle","isScrollable","rect","containerRect","isEntirelyVisible","createSpatNavEvents","isScrollBoundary","moveScroll","isHTMLScrollBoundary","isDelegableContainer","isVisible","getFilteredSpatialNavigationCandidates","targetElement","filteredCandidates","bestTarget","internalCandidates","externalCandidates","currentElm","getClosestElement","getDistanceFromPoint","getInnerDistance","selectBestCandidateFromEdge","spatialNavigationFunction","currentElmRect","distanceFunction","alignedCandidates","elm","isAligned","getAbsoluteDistance","getEuclideanDistance","getDistance","selectBestCandidate","innerTarget","descendantsBest","originalContainer","eventTargetRect","candidateRect","candidateBody","isOutside","childRect","rightEdgeCheck","leftEdgeCheck","topEdgeCheck","bottomEdgeCheck","isInside","frameElement","minDistance","minDistanceElements","focusables","eventType","triggeredEvent","CustomEvent","causedTarget","readCssVar","varName","currentOption","isScrollContainer","overflowX","isOverflow","scrollWidth","clientWidth","scrollX","scrollY","winScrollY","winScrollX","isAtagWithoutHref","isActuallyDisabled","inert","isExpresslyInert","isVisibleStyleProperty","isBeingRendered","elementRect","offsetX","offsetWidth","offsetY","offsetHeight","hitTestPoint","leftTop","rightBottom","point","elemFromPoint","hitTest","thisVisibility","rect1","rect2","isRightSide","isBelow","points","getEntryAndExitPoints","P1","entryPoint","exitPoint","P2","baseEdge","orthogonalBias","alignBias","intersectionRect","intersection_rect","new_location","new_max_point","getIntersectionRect","boundingClientRect","enableExperimentalAPIs","getInitialAPIs","canScroll","findTarget","findCandidate","bestNextTarget","findCandidates","findNextTarget","getDistanceFromTarget","candidateElement","getExperimentalAPI","seal","_keymode","setStartingPoint","byteTable","plain","buff","quintets","shiftIndex","encoded","plainChar","plainDigit","plainPos","encodedByte","__createBinding","k2","desc","__setModuleDefault","__importStar","mod","__importDefault","react_1","classnames_1","Button_1","Chip_less_1","Chip","onselect","block","inline","Chip_1","Chips_less_1","scrollPosition","setScrollPosition","Chips_1","react_i18next_1","Option_1","react_2","Dropdown_less_1","setLevel","role","hidden","Option_less_1","handleClick","Dropdown_1","useBinaryState_1","MultiselectMenu_less_1","useOutsideClick_1","_c","multiselectMenuRef","MultiselectMenu_1","CONSTANTS_1","useShell_1","device_1","PlatformContext","hostname_1","finalUrl","isMobile","bowser_1","globalThis","maxTouchPoints","isIOS","isVisionOS","Platform_1","__spreadArray","ar","createId","handleClickOutside","__awaiter","_arguments","generator","fulfilled","rejected","__generator","trys","ops","verb","op","hat_1","common_1","STREMIO_URL","tries","waitForCredentials","e_1","fbLoginToken","getCredentials","util","Url","slashes","port","urlParse","relative","resolveObject","isString","protocolPattern","portPattern","simplePathPattern","unwise","autoEscape","nonHostChars","hostEndingChars","hostnamePartPattern","hostnamePartStart","unsafeProtocol","hostlessProtocol","slashedProtocol","querystring","parseQueryString","slashesDenoteHost","queryIndex","splitter","uSplit","simplePath","lowerProto","atSign","hostEnd","hec","parseHost","ipv6Hostname","hostparts","newpart","validParts","notHost","bit","toASCII","esc","qm","tkeys","tkey","rkeys","rkey","relPath","isSourceAbs","isRelAbs","mustEndAbs","removeAllDots","srcPath","psychotic","isNullOrUndefined","authInHost","isNull","hasTrailingSlash","isAbsolute","Mouse","Touch","Pointer","CancelledByMovement","CancelledByRelease","CancelledOutsideElement","PointerEvent","TouchEvent","MouseEvent","LongPressCallbackReason","LongPressEventType","captureEvent","cancelOnMovement","cancelOutsideElement","filterEvents","onMove","onFinish","onCancel","onPointerMove","onPointerUp","onPointerLeave","VTTRegion","makeColorSet","fontScale","observe","subject","topic","fontColor","Services","prefs","getCharPref","fontOpacity","getIntPref","WebVTTSet","fontSet","backgroundOpacity","backgroundSet","edgeType","edgeColor","edgeSet","pref","addObserver","_objCreate","ParsingError","Errors","BadSignature","BadTimeStamp","ESCAPE","TAG_NAME","ruby","TAG_ANNOTATION","NEEDS_PARENT","parseContent","nextToken","unescape1","shouldAdd","localName","annotation","rootDiv","tagStack","createProcessingInstruction","strongRTLRanges","isStrongRTLChar","currentRange","StyleBox","CueStyleBox","styleOptions","isIE8","cueDiv","writingMode","unicodeBidi","applyStyles","div","font","nodeStack","pushNodes","nextTextNode","determineBidi","stylesunicodeBidi","textPos","positionAlign","formatStyle","move","BoxPosition","rects","getClientRects","moveBoxToLinePosition","styleBox","containerBox","boxPositions","boxPosition","linePos","trackList","computeLinePos","axis","maxPosition","initialAxis","calculatedPercentage","bestPosition","specifiedPosition","percentage","overlapsOppositeAxis","within","overlapsAny","intersectPercentage","findBestPosition","toCSSCompatValues","toMove","overlaps","b2","getSimpleBoxPosition","cuetext","processCues","overlay","paddedOverlay","shouldCompute","reportOrThrowError","ontimestampmap","parseTimestampMap","xy","anchor","lines","regionAnchorX","regionAnchorY","viewportAnchorX","viewportAnchorY","scroll","onregion","parseRegion","linebyline","errCb","vals0","fromJSON","directionSetting","alignSetting","scrollSetting","isValidPercentValue","_width","_lines","_regionAnchorX","_regionAnchorY","_viewportAnchorX","_viewportAnchorY","_scroll","findScrollSetting","asyncGeneratorStep","gen","_next","_throw","_regeneratorRuntime","asyncIterator","define","Generator","Context","makeInvokeMethod","tryCatch","GeneratorFunction","GeneratorFunctionPrototype","defineIteratorMethods","_invoke","AsyncIterator","invoke","__await","callInvokeWithMethodAndArg","delegate","maybeInvokeDelegate","_sent","dispatchException","resultName","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","isGeneratorFunction","awrap","rval","delegateYield","regeneratorRuntime","accidentalStrictMode","toPropertyKey","iter","assertThisInitialized","iterableToArray","hint","prim","ICONS","fillRule","clipRule","imdb","reddit","youtube","vlc","remote","stroke","strokeLinecap","strokeLinejoin","help","home","calendar","trailer","memory","megaphone","actors","anime","movies","maximize","minimize","scale","person","glasses","star","checkmark","network","about","grid","share","warning","hourglass","chapters","episodes","eye","src_default","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","definition","nmd","scriptUrl","importScripts","currentScript","scripts","stremioTranslations","translations","use","getElementById","serviceWorker","register","registrationError"],"sourceRoot":""} \ No newline at end of file diff --git a/feat/seek-player-action/db0f16b81e41b3901bcf5e0a624af142b1dd9f00/scripts/worker.js b/feat/seek-player-action/db0f16b81e41b3901bcf5e0a624af142b1dd9f00/scripts/worker.js new file mode 100644 index 000000000..72eedb8b3 --- /dev/null +++ b/feat/seek-player-action/db0f16b81e41b3901bcf5e0a624af142b1dd9f00/scripts/worker.js @@ -0,0 +1,2 @@ +(()=>{var e={56553:(e,t,n)=>{"use strict";var r=n(69926),o=r(n(33167)),a=r(n(15016));e.exports=function(e,t){t.addEventListener("message",(function(){var n=(0,a.default)(o.default.mark((function n(r){var a,i,u,c,f,s,_;return o.default.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(a=r.data.request){n.next=3;break}return n.abrupt("return");case 3:if(i=a.id,u=a.path,c=a.args,n.prev=4,"function"!=typeof(f=u.reduce((function(e,t){return e[t]}),e))){n.next=13;break}return _=u.slice(0,u.length-1).reduce((function(e,t){return e[t]}),e),n.next=10,f.apply(_,c);case 10:s=n.sent,n.next=16;break;case 13:return n.next=15,f;case 15:s=n.sent;case 16:t.postMessage({response:{id:i,result:{data:s}}}),n.next=22;break;case 19:n.prev=19,n.t0=n.catch(4),t.postMessage({response:{id:i,result:{error:n.t0}}});case 22:case"end":return n.stop()}}),n,null,[[4,19]])})));return function(e){return n.apply(this,arguments)}})()),this.call=(function(){var e=(0,a.default)(o.default.mark((function e(n,r){var a;return o.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=Math.random().toString(32).slice(2),e.abrupt("return",new Promise((function(e,o){t.addEventListener("message",(function n(r){var i=r.data.response;i&&i.id===a&&(t.removeEventListener("message",n),"error"in i.result?o(i.result.error):e(i.result.data))})),t.postMessage({request:{id:a,path:n,args:r}})})));case 2:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}})()}},6489:(e,t,n)=>{"use strict";var r=n(69926);Object.defineProperty(t,"__esModule",{value:!0}),t.analytics=function(e,t){o.analytics(k(e),k(t))},t.decode_stream=function(e){return l(o.decode_stream(k(e)))},t.default=void 0,t.dispatch=function(e,t,n){o.dispatch(k(e),k(t),k(n))},t.get_state=function(e){return l(o.get_state(k(e)))},t.initialize_runtime=function(e){return l(o.initialize_runtime(k(e)))},t.start=function(){o.start()};var o,a=r(n(33167)),i=r(n(15016)),u=r(n(97606)),c={url:new URL("/stremio_core_web.js",document.baseURI).href},f=new Array(32).fill(void 0);function s(e){return f[e]}f.push(void 0,null,!0,!1);var _=f.length;function l(e){var t=s(e);return(function(e){e<36||(f[e]=_,_=e)})(e),t}var b=0,g=null;function d(){return null!==g&&g.buffer===o.memory.buffer||(g=new Uint8Array(o.memory.buffer)),g}var w=new TextEncoder("utf-8"),p="function"==typeof w.encodeInto?function(e,t){return w.encodeInto(e,t)}:function(e,t){var n=w.encode(e);return t.set(n),{read:e.length,written:n.length}};function h(e,t,n){if(void 0===n){var r=w.encode(e),o=t(r.length);return d().subarray(o,o+r.length).set(r),b=r.length,o}for(var a=e.length,i=t(a),u=d(),c=0;c<a;c++){var f=e.charCodeAt(c);if(f>127)break;u[i+c]=f}if(c!==a){0!==c&&(e=e.slice(c)),i=n(i,a,a=c+3*e.length);var s=d().subarray(i+c,i+a);c+=p(e,s).written}return b=c,i}function y(e){return null==e}var v=null;function m(){return null!==v&&v.buffer===o.memory.buffer||(v=new Int32Array(o.memory.buffer)),v}var x=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0});function E(e,t){return x.decode(d().subarray(e,e+t))}function k(e){_===f.length&&f.push(f.length+1);var t=_;return _=f[t],f[t]=e,t}function S(e){var t=(0,u.default)(e);if("number"==t||"boolean"==t||null==e)return"".concat(e);if("string"==t)return'"'.concat(e,'"');if("symbol"==t){var n=e.description;return null==n?"Symbol":"Symbol(".concat(n,")")}if("function"==t){var r=e.name;return"string"==typeof r&&r.length>0?"Function(".concat(r,")"):"Function"}if(Array.isArray(e)){var o=e.length,a="[";o>0&&(a+=S(e[0]));for(var i=1;i<o;i++)a+=", "+S(e[i]);return a+="]"}var c,f=/\[object ([^\]]+)\]/.exec(toString.call(e));if(!(f.length>1))return toString.call(e);if("Object"==(c=f[1]))try{return"Object("+JSON.stringify(e)+")"}catch(e){return"Object"}return e instanceof Error?"".concat(e.name,": ").concat(e.message,"\n").concat(e.stack):c}function L(e,t,n,r){var a={a:e,b:t,cnt:1,dtor:n},i=function(){a.cnt++;var e=a.a;a.a=0;try{for(var t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];return r.apply(void 0,[e,a.b].concat(n))}finally{0==--a.cnt?o.__wbindgen_export_2.get(a.dtor)(e,a.b):a.a=e}};return i.original=a,i}function O(e,t){o._dyn_core__ops__function__FnMut_____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__hc719f3ca85305c3d(e,t)}function j(e,t,n){o.wasm_bindgen__convert__closures__invoke1_mut__hbdc7d1cc9b7de2ba(e,t,k(n))}function R(e,t){try{return e.apply(this,t)}catch(e){o.__wbindgen_exn_store(k(e))}}function A(e,t,n,r){o.wasm_bindgen__convert__closures__invoke2_mut__hd4e05e24b0da691f(e,t,k(n),k(r))}function T(e,t){return I.apply(this,arguments)}function I(){return(I=(0,i.default)(a.default.mark((function e(t,n){var r,o;return a.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!("function"==typeof Response&&t instanceof Response)){e.next=23;break}if("function"!=typeof WebAssembly.instantiateStreaming){e.next=15;break}return e.prev=2,e.next=5,WebAssembly.instantiateStreaming(t,n);case 5:case 20:return e.abrupt("return",e.sent);case 8:if(e.prev=8,e.t0=e.catch(2),"application/wasm"==t.headers.get("Content-Type")){e.next=14;break}console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",e.t0),e.next=15;break;case 14:throw e.t0;case 15:return e.next=17,t.arrayBuffer();case 17:return r=e.sent,e.next=20,WebAssembly.instantiate(r,n);case 23:return e.next=25,WebAssembly.instantiate(t,n);case 25:if(!((o=e.sent)instanceof WebAssembly.Instance)){e.next=30;break}return e.abrupt("return",{instance:o,module:t});case 30:return e.abrupt("return",o);case 31:case"end":return e.stop()}}),e,null,[[2,8]])})))).apply(this,arguments)}function M(e){return P.apply(this,arguments)}function P(){return P=(0,i.default)(a.default.mark((function e(t){var r,i,f,_;return a.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===t&&(t=new URL("stremio_core_web_bg.wasm",c.url)),(r={}).wbg={},r.wbg.__wbindgen_object_drop_ref=function(e){l(e)},r.wbg.__wbindgen_string_get=function(e,t){var n=s(t),r="string"==typeof n?n:void 0,a=y(r)?0:h(r,o.__wbindgen_malloc,o.__wbindgen_realloc),i=b;m()[e/4+1]=i,m()[e/4+0]=a},r.wbg.__wbg_static_accessor_SHELL_VERSION_5db6827c2c46b639=function(e){var t=self.shell_version,n=y(t)?0:h(t,o.__wbindgen_malloc,o.__wbindgen_realloc),r=b;m()[e/4+1]=r,m()[e/4+0]=n},r.wbg.__wbg_static_accessor_APP_VERSION_793bb476b3927a4c=function(e){var t=h(self.app_version,o.__wbindgen_malloc,o.__wbindgen_realloc),n=b;m()[e/4+1]=n,m()[e/4+0]=t},r.wbg.__wbindgen_string_new=function(e,t){return k(E(e,t))},r.wbg.__wbindgen_is_undefined=function(e){return void 0===s(e)},r.wbg.__wbg_localstoragegetitem_147e42fce464ee23=function(){return R((function(e,t){try{return k(self.local_storage_get_item(E(e,t)))}finally{o.__wbindgen_free(e,t)}}),arguments)},r.wbg.__wbg_getlocationhash_ca809704188a4f43=function(){return R((function(){return k(self.get_location_hash())}),arguments)},r.wbg.__wbg_localstorageremoveitem_9f09637c4d2262f2=function(){return R((function(e,t){try{return k(self.local_storage_remove_item(E(e,t)))}finally{o.__wbindgen_free(e,t)}}),arguments)},r.wbg.__wbg_localstoragesetitem_92374025de427e3f=function(){return R((function(e,t,n,r){try{return k(self.local_storage_set_item(E(e,t),E(n,r)))}finally{o.__wbindgen_free(e,t),o.__wbindgen_free(n,r)}}),arguments)},r.wbg.__wbg_new_693216e109162396=function(){return k(new Error)},r.wbg.__wbg_stack_0ddaca5d1abfb52f=function(e,t){var n=h(s(t).stack,o.__wbindgen_malloc,o.__wbindgen_realloc),r=b;m()[e/4+1]=r,m()[e/4+0]=n},r.wbg.__wbg_error_09919627ac0992f5=function(e,t){try{console.error(E(e,t))}finally{o.__wbindgen_free(e,t)}},r.wbg.__wbg_crypto_1dc1c51d9d27e0dd=function(e){return k(s(e).crypto)},r.wbg.__wbindgen_is_object=function(e){var t=s(e);return"object"===(0,u.default)(t)&&null!==t},r.wbg.__wbg_process_65edac0b2f0a8427=function(e){return k(s(e).process)},r.wbg.__wbg_versions_0d0eed1c1b42b216=function(e){return k(s(e).versions)},r.wbg.__wbg_node_82761bdd6eaac7e7=function(e){return k(s(e).node)},r.wbg.__wbindgen_is_string=function(e){return"string"==typeof s(e)},r.wbg.__wbg_require_3f60396135018b0f=function(){return R((function(){return k(_.require)}),arguments)},r.wbg.__wbg_msCrypto_4ef1b0e1cd4cedbb=function(e){return k(s(e).msCrypto)},r.wbg.__wbg_randomFillSync_d84d19ffc1d700ed=function(){return R((function(e,t){s(e).randomFillSync(l(t))}),arguments)},r.wbg.__wbg_getRandomValues_3293819ebec805bc=function(){return R((function(e,t){s(e).getRandomValues(s(t))}),arguments)},r.wbg.__wbg_log_02e20a3c32305fb7=function(e,t){try{console.log(E(e,t))}finally{o.__wbindgen_free(e,t)}},r.wbg.__wbg_log_5c7513aa8c164502=function(e,t,n,r,a,i,u,c){try{console.log(E(e,t),E(n,r),E(a,i),E(u,c))}finally{o.__wbindgen_free(e,t)}},r.wbg.__wbg_mark_abc7631bdced64f0=function(e,t){performance.mark(E(e,t))},r.wbg.__wbg_measure_c528ff64085b7146=function(){return R((function(e,t,n,r){try{performance.measure(E(e,t),E(n,r))}finally{o.__wbindgen_free(e,t),o.__wbindgen_free(n,r)}}),arguments)},r.wbg.__wbindgen_cb_drop=function(e){var t=l(e).original;if(1==t.cnt--)return t.a=0,!0;return!1},r.wbg.__wbindgen_object_clone_ref=function(e){return k(s(e))},r.wbg.__wbg_newwithstrandinit_9b0fa00478c37287=function(){return R((function(e,t,n){return k(new Request(E(e,t),s(n)))}),arguments)},r.wbg.__wbg_instanceof_Response_e1b11afbefa5b563=function(e){return s(e)instanceof Response},r.wbg.__wbg_status_6d8bb444ddc5a7b2=function(e){return s(e).status},r.wbg.__wbg_text_8279d34d73e43c68=function(){return R((function(e){return k(s(e).text())}),arguments)},r.wbg.__wbg_language_cd6e22892ba36a1f=function(e,t){var n=s(t).language,r=y(n)?0:h(n,o.__wbindgen_malloc,o.__wbindgen_realloc),a=b;m()[e/4+1]=a,m()[e/4+0]=r},r.wbg.__wbg_instanceof_WorkerGlobalScope_f191ca0158f5637b=function(e){return s(e)instanceof WorkerGlobalScope},r.wbg.__wbg_navigator_8bc0889cda8f8500=function(e){return k(s(e).navigator)},r.wbg.__wbg_fetch_b4e81012e07ff95a=function(e,t){return k(s(e).fetch(s(t)))},r.wbg.__wbg_setInterval_a02797f5ab1c7eb1=function(){return R((function(e,t,n){return s(e).setInterval(s(t),n)}),arguments)},r.wbg.__wbindgen_number_new=function(e){return k(e)},r.wbg.__wbindgen_is_function=function(e){return"function"==typeof s(e)},r.wbg.__wbg_newnoargs_be86524d73f67598=function(e,t){return k(new Function(E(e,t)))},r.wbg.__wbg_call_888d259a5fefc347=function(){return R((function(e,t){return k(s(e).call(s(t)))}),arguments)},r.wbg.__wbg_new_0b83d3df67ecb33e=function(){return k(new Object)},r.wbg.__wbg_self_c6fbdfc2918d5e58=function(){return R((function(){return k(self.self)}),arguments)},r.wbg.__wbg_window_baec038b5ab35c54=function(){return R((function(){return k(window.window)}),arguments)},r.wbg.__wbg_globalThis_3f735a5746d41fbd=function(){return R((function(){return k(globalThis.globalThis)}),arguments)},r.wbg.__wbg_global_1bc0b39582740e95=function(){return R((function(){return k(n.g.global)}),arguments)},r.wbg.__wbg_instanceof_Error_561efcb1265706d8=function(e){return s(e)instanceof Error},r.wbg.__wbg_message_9f7d15ff97fc4102=function(e){return k(s(e).message)},r.wbg.__wbg_call_346669c262382ad7=function(){return R((function(e,t,n){return k(s(e).call(s(t),s(n)))}),arguments)},r.wbg.__wbg_getTimezoneOffset_d3e5a22a1b7fb1d8=function(e){return s(e).getTimezoneOffset()},r.wbg.__wbg_new_f11872bb9bb9d781=function(e){return k(new Date(s(e)))},r.wbg.__wbg_now_af172eabe2e041ad=function(){return Date.now()},r.wbg.__wbg_new_b1d61b5687f5e73a=function(e,t){try{var n={a:e,b:t},r=new Promise((function(e,t){var r=n.a;n.a=0;try{return A(r,n.b,e,t)}finally{n.a=r}}));return k(r)}finally{n.a=n.b=0}},r.wbg.__wbg_resolve_d23068002f584f22=function(e){return k(Promise.resolve(s(e)))},r.wbg.__wbg_then_2fcac196782070cc=function(e,t){return k(s(e).then(s(t)))},r.wbg.__wbg_then_8c2d62e8ae5978f7=function(e,t,n){return k(s(e).then(s(t),s(n)))},r.wbg.__wbg_buffer_397eaa4d72ee94dd=function(e){return k(s(e).buffer)},r.wbg.__wbg_newwithbyteoffsetandlength_4b9b8c4e3f5adbff=function(e,t,n){return k(new Uint8Array(s(e),t>>>0,n>>>0))},r.wbg.__wbg_new_a7ce447f15ff496f=function(e){return k(new Uint8Array(s(e)))},r.wbg.__wbg_set_969ad0a60e51d320=function(e,t,n){s(e).set(s(t),n>>>0)},r.wbg.__wbg_newwithlength_929232475839a482=function(e){return k(new Uint8Array(e>>>0))},r.wbg.__wbg_subarray_8b658422a224f479=function(e,t,n){return k(s(e).subarray(t>>>0,n>>>0))},r.wbg.__wbg_set_82a4e8a85e31ac42=function(){return R((function(e,t,n){return Reflect.set(s(e),s(t),s(n))}),arguments)},r.wbg.__wbg_parse_ccb2cd4fe8ead0cb=function(){return R((function(e,t){return k(JSON.parse(E(e,t)))}),arguments)},r.wbg.__wbg_stringify_d4507a59932eed0c=function(){return R((function(e){return k(JSON.stringify(s(e)))}),arguments)},r.wbg.__wbindgen_debug_string=function(e,t){var n=h(S(s(t)),o.__wbindgen_malloc,o.__wbindgen_realloc),r=b;m()[e/4+1]=r,m()[e/4+0]=n},r.wbg.__wbindgen_throw=function(e,t){throw new Error(E(e,t))},r.wbg.__wbindgen_memory=function(){return k(o.memory)},r.wbg.__wbindgen_closure_wrapper1724=function(e,t,n){return k(L(e,t,624,O))},r.wbg.__wbindgen_closure_wrapper7478=function(e,t,n){return k(L(e,t,897,j))},("string"==typeof t||"function"==typeof Request&&t instanceof Request||"function"==typeof URL&&t instanceof URL)&&(t=fetch(t)),e.t0=T,e.next=78,t;case 78:return e.t1=e.sent,e.t2=r,e.next=82,(0,e.t0)(e.t1,e.t2);case 82:return i=e.sent,f=i.instance,_=i.module,o=f.exports,M.__wbindgen_wasm_module=_,o.__wbindgen_start(),e.abrupt("return",o);case 89:case"end":return e.stop()}}),e)}))),P.apply(this,arguments)}x.decode();t.default=M},36310:(e,t,n)=>{"use strict";e.exports=n.p+"db0f16b81e41b3901bcf5e0a624af142b1dd9f00/binaries/stremio_core_web_bg.wasm"},15016:e=>{function t(e,t,n,r,o,a,i){try{var u=e[a](i),c=u.value}catch(e){return void n(e)}u.done?t(c):Promise.resolve(c).then(r,o)}e.exports=function(e){return function(){var n=this,r=arguments;return new Promise((function(o,a){var i=e.apply(n,r);function u(e){t(i,o,a,u,c,"next",e)}function c(e){t(i,o,a,u,c,"throw",e)}u(void 0)}))}},e.exports.__esModule=!0,e.exports.default=e.exports},69926:e=>{e.exports=function(e){return e&&e.__esModule?e:{default:e}},e.exports.__esModule=!0,e.exports.default=e.exports},49685:(e,t,n)=>{var r=n(97606).default;function o(){"use strict";e.exports=o=function(){return n},e.exports.__esModule=!0,e.exports.default=e.exports;var t,n={},a=Object.prototype,i=a.hasOwnProperty,u=Object.defineProperty||function(e,t,n){e[t]=n.value},c="function"==typeof Symbol?Symbol:{},f=c.iterator||"@@iterator",s=c.asyncIterator||"@@asyncIterator",_=c.toStringTag||"@@toStringTag";function l(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{l({},"")}catch(t){l=function(e,t,n){return e[t]=n}}function b(e,t,n,r){var o=t&&t.prototype instanceof y?t:y,a=Object.create(o.prototype),i=new I(r||[]);return u(a,"_invoke",{value:j(e,n,i)}),a}function g(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}n.wrap=b;var d="suspendedStart",w="executing",p="completed",h={};function y(){}function v(){}function m(){}var x={};l(x,f,(function(){return this}));var E=Object.getPrototypeOf,k=E&&E(E(M([])));k&&k!==a&&i.call(k,f)&&(x=k);var S=m.prototype=y.prototype=Object.create(x);function L(e){["next","throw","return"].forEach((function(t){l(e,t,(function(e){return this._invoke(t,e)}))}))}function O(e,t){function n(o,a,u,c){var f=g(e[o],e,a);if("throw"!==f.type){var s=f.arg,_=s.value;return _&&"object"==r(_)&&i.call(_,"__await")?t.resolve(_.__await).then((function(e){n("next",e,u,c)}),(function(e){n("throw",e,u,c)})):t.resolve(_).then((function(e){s.value=e,u(s)}),(function(e){return n("throw",e,u,c)}))}c(f.arg)}var o;u(this,"_invoke",{value:function(e,r){function a(){return new t((function(t,o){n(e,r,t,o)}))}return o=o?o.then(a,a):a()}})}function j(e,n,r){var o=d;return function(a,i){if(o===w)throw Error("Generator is already running");if(o===p){if("throw"===a)throw i;return{value:t,done:!0}}for(r.method=a,r.arg=i;;){var u=r.delegate;if(u){var c=R(u,r);if(c){if(c===h)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(o===d)throw o=p,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);o=w;var f=g(e,n,r);if("normal"===f.type){if(o=r.done?p:"suspendedYield",f.arg===h)continue;return{value:f.arg,done:r.done}}"throw"===f.type&&(o=p,r.method="throw",r.arg=f.arg)}}}function R(e,n){var r=n.method,o=e.iterator[r];if(o===t)return n.delegate=null,"throw"===r&&e.iterator.return&&(n.method="return",n.arg=t,R(e,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),h;var a=g(o,e.iterator,n.arg);if("throw"===a.type)return n.method="throw",n.arg=a.arg,n.delegate=null,h;var i=a.arg;return i?i.done?(n[e.resultName]=i.value,n.next=e.nextLoc,"return"!==n.method&&(n.method="next",n.arg=t),n.delegate=null,h):i:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,h)}function A(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function T(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function I(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(A,this),this.reset(!0)}function M(e){if(e||""===e){var n=e[f];if(n)return n.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,a=function n(){for(;++o<e.length;)if(i.call(e,o))return n.value=e[o],n.done=!1,n;return n.value=t,n.done=!0,n};return a.next=a}}throw new TypeError(r(e)+" is not iterable")}return v.prototype=m,u(S,"constructor",{value:m,configurable:!0}),u(m,"constructor",{value:v,configurable:!0}),v.displayName=l(m,_,"GeneratorFunction"),n.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===v||"GeneratorFunction"===(t.displayName||t.name))},n.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,m):(e.__proto__=m,l(e,_,"GeneratorFunction")),e.prototype=Object.create(S),e},n.awrap=function(e){return{__await:e}},L(O.prototype),l(O.prototype,s,(function(){return this})),n.AsyncIterator=O,n.async=function(e,t,r,o,a){void 0===a&&(a=Promise);var i=new O(b(e,t,r,o),a);return n.isGeneratorFunction(t)?i:i.next().then((function(e){return e.done?e.value:i.next()}))},L(S),l(S,_,"Generator"),l(S,f,(function(){return this})),l(S,"toString",(function(){return"[object Generator]"})),n.keys=function(e){var t=Object(e),n=[];for(var r in t)n.push(r);return n.reverse(),function e(){for(;n.length;){var r=n.pop();if(r in t)return e.value=r,e.done=!1,e}return e.done=!0,e}},n.values=M,I.prototype={constructor:I,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(T),!e)for(var n in this)"t"===n.charAt(0)&&i.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=t)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var n=this;function r(r,o){return u.type="throw",u.arg=e,n.next=r,o&&(n.method="next",n.arg=t),!!o}for(var o=this.tryEntries.length-1;o>=0;--o){var a=this.tryEntries[o],u=a.completion;if("root"===a.tryLoc)return r("end");if(a.tryLoc<=this.prev){var c=i.call(a,"catchLoc"),f=i.call(a,"finallyLoc");if(c&&f){if(this.prev<a.catchLoc)return r(a.catchLoc,!0);if(this.prev<a.finallyLoc)return r(a.finallyLoc)}else if(c){if(this.prev<a.catchLoc)return r(a.catchLoc,!0)}else{if(!f)throw Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return r(a.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&i.call(r,"finallyLoc")&&this.prev<r.finallyLoc){var o=r;break}}o&&("break"===e||"continue"===e)&&o.tryLoc<=t&&t<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=e,a.arg=t,o?(this.method="next",this.next=o.finallyLoc,h):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),h},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),T(n),h}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var o=r.arg;T(n)}return o}}throw Error("illegal catch attempt")},delegateYield:function(e,n,r){return this.delegate={iterator:M(e),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=t),h}},n}e.exports=o,e.exports.__esModule=!0,e.exports.default=e.exports},97606:e=>{function t(n){return e.exports=t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.__esModule=!0,e.exports.default=e.exports,t(n)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports},33167:(e,t,n)=>{var r=n(49685)();e.exports=r;try{regeneratorRuntime=r}catch(e){"object"==typeof globalThis?globalThis.regeneratorRuntime=r:Function("r","regeneratorRuntime = r")(r)}}},t={};function n(r){var o=t[r];if(void 0!==o)return o.exports;var a=t[r]={exports:{}};return e[r](a,a.exports,n),a.exports}n.g=(function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}})(),(()=>{var e;n.g.importScripts&&(e=n.g.location+"");var t=n.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var r=t.getElementsByTagName("script");r.length&&(e=r[r.length-1].src)}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),n.p=e+"../../"})(),(()=>{"use strict";var e=n(69926),t=e(n(33167)),r=e(n(15016)),o=new(n(56553))(self,self);self.init=(function(){var e=(0,r.default)(t.default.mark((function e(a){var i,u,c,f,s,_,l,b,g,d;return t.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=a.appVersion,u=a.shellVersion,self.document={baseURI:self.location.href},self.app_version=i,self.shell_version=u,self.get_location_hash=(0,r.default)(t.default.mark((function e(){return t.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",o.call(["location","hash"],[]));case 1:case"end":return e.stop()}}),e)}))),self.local_storage_get_item=(function(){var e=(0,r.default)(t.default.mark((function e(n){return t.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",o.call(["localStorage","getItem"],[n]));case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}})(),self.local_storage_set_item=(function(){var e=(0,r.default)(t.default.mark((function e(n,r){return t.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",o.call(["localStorage","setItem"],[n,r]));case 1:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}})(),self.local_storage_remove_item=(function(){var e=(0,r.default)(t.default.mark((function e(n){return t.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",o.call(["localStorage","removeItem"],[n]));case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}})(),c=n(6489),f=c.default,s=c.initialize_runtime,_=c.get_state,l=c.get_debug_state,b=c.dispatch,g=c.analytics,d=c.decode_stream,self.getState=_,self.getDebugState=l,self.dispatch=b,self.analytics=g,self.decodeStream=d,e.next=16,f(n(36310));case 16:return e.next=18,s((function(e){return o.call(["onCoreEvent"],[e])}));case 18:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}})()})()})(); +//# sourceMappingURL=worker.js.map \ No newline at end of file diff --git a/feat/seek-player-action/db0f16b81e41b3901bcf5e0a624af142b1dd9f00/scripts/worker.js.map b/feat/seek-player-action/db0f16b81e41b3901bcf5e0a624af142b1dd9f00/scripts/worker.js.map new file mode 100644 index 000000000..5aeb8d4dd --- /dev/null +++ b/feat/seek-player-action/db0f16b81e41b3901bcf5e0a624af142b1dd9f00/scripts/worker.js.map @@ -0,0 +1 @@ +{"version":3,"file":"db0f16b81e41b3901bcf5e0a624af142b1dd9f00/scripts/worker.js","mappings":"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","sources":["webpack://stremio/./node_modules/@stremio/stremio-core-web/bridge.js","webpack://stremio/./node_modules/@stremio/stremio-core-web/stremio_core_web.js","webpack://stremio/./node_modules/@stremio/stremio-core-web/node_modules/@babel/runtime/helpers/asyncToGenerator.js","webpack://stremio/./node_modules/@stremio/stremio-core-web/node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack://stremio/./node_modules/@stremio/stremio-core-web/node_modules/@babel/runtime/helpers/regeneratorRuntime.js","webpack://stremio/./node_modules/@stremio/stremio-core-web/node_modules/@babel/runtime/helpers/typeof.js","webpack://stremio/./node_modules/@stremio/stremio-core-web/node_modules/@babel/runtime/regenerator/index.js","webpack://stremio/webpack/bootstrap","webpack://stremio/webpack/runtime/global","webpack://stremio/webpack/runtime/publicPath","webpack://stremio/./node_modules/@stremio/stremio-core-web/worker.js"],"sourcesContent":["\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nvar _regenerator = _interopRequireDefault(require(\"@babel/runtime/regenerator\"));\nvar _asyncToGenerator2 = _interopRequireDefault(require(\"@babel/runtime/helpers/asyncToGenerator\"));\nfunction getId() {\n return Math.random().toString(32).slice(2);\n}\nfunction Bridge(scope, handler) {\n handler.addEventListener('message', /*#__PURE__*/function () {\n var _ref2 = (0, _asyncToGenerator2[\"default\"])( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee(_ref) {\n var request, id, path, args, value, data, thisArg;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n request = _ref.data.request;\n if (request) {\n _context.next = 3;\n break;\n }\n return _context.abrupt(\"return\");\n case 3:\n id = request.id, path = request.path, args = request.args;\n _context.prev = 4;\n value = path.reduce(function (value, prop) {\n return value[prop];\n }, scope);\n if (!(typeof value === 'function')) {\n _context.next = 13;\n break;\n }\n thisArg = path.slice(0, path.length - 1).reduce(function (value, prop) {\n return value[prop];\n }, scope);\n _context.next = 10;\n return value.apply(thisArg, args);\n case 10:\n data = _context.sent;\n _context.next = 16;\n break;\n case 13:\n _context.next = 15;\n return value;\n case 15:\n data = _context.sent;\n case 16:\n handler.postMessage({\n response: {\n id: id,\n result: {\n data: data\n }\n }\n });\n _context.next = 22;\n break;\n case 19:\n _context.prev = 19;\n _context.t0 = _context[\"catch\"](4);\n handler.postMessage({\n response: {\n id: id,\n result: {\n error: _context.t0\n }\n }\n });\n case 22:\n case \"end\":\n return _context.stop();\n }\n }, _callee, null, [[4, 19]]);\n }));\n return function (_x) {\n return _ref2.apply(this, arguments);\n };\n }());\n this.call = /*#__PURE__*/function () {\n var _ref3 = (0, _asyncToGenerator2[\"default\"])( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2(path, args) {\n var id;\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n id = getId();\n return _context2.abrupt(\"return\", new Promise(function (resolve, reject) {\n var onMessage = function onMessage(_ref4) {\n var response = _ref4.data.response;\n if (!response || response.id !== id) return;\n handler.removeEventListener('message', onMessage);\n if ('error' in response.result) {\n reject(response.result.error);\n } else {\n resolve(response.result.data);\n }\n };\n handler.addEventListener('message', onMessage);\n handler.postMessage({\n request: {\n id: id,\n path: path,\n args: args\n }\n });\n }));\n case 2:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2);\n }));\n return function (_x2, _x3) {\n return _ref3.apply(this, arguments);\n };\n }();\n}\nmodule.exports = Bridge;\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.analytics = analytics;\nexports.decode_stream = decode_stream;\nexports[\"default\"] = void 0;\nexports.dispatch = dispatch;\nexports.get_state = get_state;\nexports.initialize_runtime = initialize_runtime;\nexports.start = start;\nvar _regenerator = _interopRequireDefault(require(\"@babel/runtime/regenerator\"));\nvar _asyncToGenerator2 = _interopRequireDefault(require(\"@babel/runtime/helpers/asyncToGenerator\"));\nvar _typeof2 = _interopRequireDefault(require(\"@babel/runtime/helpers/typeof\"));\nvar importMeta = {\n url: new URL('/stremio_core_web.js', document.baseURI).href\n};\nvar wasm;\nvar heap = new Array(32).fill(undefined);\nheap.push(undefined, null, true, false);\nfunction getObject(idx) {\n return heap[idx];\n}\nvar heap_next = heap.length;\nfunction dropObject(idx) {\n if (idx < 36) return;\n heap[idx] = heap_next;\n heap_next = idx;\n}\nfunction takeObject(idx) {\n var ret = getObject(idx);\n dropObject(idx);\n return ret;\n}\nvar WASM_VECTOR_LEN = 0;\nvar cachegetUint8Memory0 = null;\nfunction getUint8Memory0() {\n if (cachegetUint8Memory0 === null || cachegetUint8Memory0.buffer !== wasm.memory.buffer) {\n cachegetUint8Memory0 = new Uint8Array(wasm.memory.buffer);\n }\n return cachegetUint8Memory0;\n}\nvar cachedTextEncoder = new TextEncoder('utf-8');\nvar encodeString = typeof cachedTextEncoder.encodeInto === 'function' ? function (arg, view) {\n return cachedTextEncoder.encodeInto(arg, view);\n} : function (arg, view) {\n var buf = cachedTextEncoder.encode(arg);\n view.set(buf);\n return {\n read: arg.length,\n written: buf.length\n };\n};\nfunction passStringToWasm0(arg, malloc, realloc) {\n if (realloc === undefined) {\n var buf = cachedTextEncoder.encode(arg);\n var _ptr = malloc(buf.length);\n getUint8Memory0().subarray(_ptr, _ptr + buf.length).set(buf);\n WASM_VECTOR_LEN = buf.length;\n return _ptr;\n }\n var len = arg.length;\n var ptr = malloc(len);\n var mem = getUint8Memory0();\n var offset = 0;\n for (; offset < len; offset++) {\n var code = arg.charCodeAt(offset);\n if (code > 0x7F) break;\n mem[ptr + offset] = code;\n }\n if (offset !== len) {\n if (offset !== 0) {\n arg = arg.slice(offset);\n }\n ptr = realloc(ptr, len, len = offset + arg.length * 3);\n var view = getUint8Memory0().subarray(ptr + offset, ptr + len);\n var ret = encodeString(arg, view);\n offset += ret.written;\n }\n WASM_VECTOR_LEN = offset;\n return ptr;\n}\nfunction isLikeNone(x) {\n return x === undefined || x === null;\n}\nvar cachegetInt32Memory0 = null;\nfunction getInt32Memory0() {\n if (cachegetInt32Memory0 === null || cachegetInt32Memory0.buffer !== wasm.memory.buffer) {\n cachegetInt32Memory0 = new Int32Array(wasm.memory.buffer);\n }\n return cachegetInt32Memory0;\n}\nvar cachedTextDecoder = new TextDecoder('utf-8', {\n ignoreBOM: true,\n fatal: true\n});\ncachedTextDecoder.decode();\nfunction getStringFromWasm0(ptr, len) {\n return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr, ptr + len));\n}\nfunction addHeapObject(obj) {\n if (heap_next === heap.length) heap.push(heap.length + 1);\n var idx = heap_next;\n heap_next = heap[idx];\n heap[idx] = obj;\n return idx;\n}\nfunction debugString(val) {\n // primitive types\n var type = (0, _typeof2[\"default\"])(val);\n if (type == 'number' || type == 'boolean' || val == null) {\n return \"\".concat(val);\n }\n if (type == 'string') {\n return \"\\\"\".concat(val, \"\\\"\");\n }\n if (type == 'symbol') {\n var description = val.description;\n if (description == null) {\n return 'Symbol';\n } else {\n return \"Symbol(\".concat(description, \")\");\n }\n }\n if (type == 'function') {\n var name = val.name;\n if (typeof name == 'string' && name.length > 0) {\n return \"Function(\".concat(name, \")\");\n } else {\n return 'Function';\n }\n }\n // objects\n if (Array.isArray(val)) {\n var length = val.length;\n var debug = '[';\n if (length > 0) {\n debug += debugString(val[0]);\n }\n for (var i = 1; i < length; i++) {\n debug += ', ' + debugString(val[i]);\n }\n debug += ']';\n return debug;\n }\n // Test for built-in\n var builtInMatches = /\\[object ([^\\]]+)\\]/.exec(toString.call(val));\n var className;\n if (builtInMatches.length > 1) {\n className = builtInMatches[1];\n } else {\n // Failed to match the standard '[object ClassName]'\n return toString.call(val);\n }\n if (className == 'Object') {\n // we're a user defined class or Object\n // JSON.stringify avoids problems with cycles, and is generally much\n // easier than looping through ownProperties of `val`.\n try {\n return 'Object(' + JSON.stringify(val) + ')';\n } catch (_) {\n return 'Object';\n }\n }\n // errors\n if (val instanceof Error) {\n return \"\".concat(val.name, \": \").concat(val.message, \"\\n\").concat(val.stack);\n }\n // TODO we could test for more things here, like `Set`s and `Map`s.\n return className;\n}\nfunction makeMutClosure(arg0, arg1, dtor, f) {\n var state = {\n a: arg0,\n b: arg1,\n cnt: 1,\n dtor: dtor\n };\n var real = function real() {\n // First up with a closure we increment the internal reference\n // count. This ensures that the Rust closure environment won't\n // be deallocated while we're invoking it.\n state.cnt++;\n var a = state.a;\n state.a = 0;\n try {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return f.apply(void 0, [a, state.b].concat(args));\n } finally {\n if (--state.cnt === 0) {\n wasm.__wbindgen_export_2.get(state.dtor)(a, state.b);\n } else {\n state.a = a;\n }\n }\n };\n real.original = state;\n return real;\n}\nfunction __wbg_adapter_28(arg0, arg1) {\n wasm._dyn_core__ops__function__FnMut_____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__hc719f3ca85305c3d(arg0, arg1);\n}\nfunction __wbg_adapter_31(arg0, arg1, arg2) {\n wasm.wasm_bindgen__convert__closures__invoke1_mut__hbdc7d1cc9b7de2ba(arg0, arg1, addHeapObject(arg2));\n}\nfunction handleError(f, args) {\n try {\n return f.apply(this, args);\n } catch (e) {\n wasm.__wbindgen_exn_store(addHeapObject(e));\n }\n}\n/**\n*/\nfunction start() {\n wasm.start();\n}\n\n/**\n* @param {Function} emit_to_ui\n* @returns {Promise<void>}\n*/\nfunction initialize_runtime(emit_to_ui) {\n var ret = wasm.initialize_runtime(addHeapObject(emit_to_ui));\n return takeObject(ret);\n}\n\n/**\n* @param {any} field\n* @returns {any}\n*/\nfunction get_state(field) {\n var ret = wasm.get_state(addHeapObject(field));\n return takeObject(ret);\n}\n\n/**\n* @param {any} action\n* @param {any} field\n* @param {any} location_hash\n*/\nfunction dispatch(action, field, location_hash) {\n wasm.dispatch(addHeapObject(action), addHeapObject(field), addHeapObject(location_hash));\n}\n\n/**\n* @param {any} event\n* @param {any} location_hash\n*/\nfunction analytics(event, location_hash) {\n wasm.analytics(addHeapObject(event), addHeapObject(location_hash));\n}\n\n/**\n* @param {any} stream\n* @returns {any}\n*/\nfunction decode_stream(stream) {\n var ret = wasm.decode_stream(addHeapObject(stream));\n return takeObject(ret);\n}\nfunction __wbg_adapter_116(arg0, arg1, arg2, arg3) {\n wasm.wasm_bindgen__convert__closures__invoke2_mut__hd4e05e24b0da691f(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3));\n}\nfunction load(_x, _x2) {\n return _load.apply(this, arguments);\n}\nfunction _load() {\n _load = (0, _asyncToGenerator2[\"default\"])( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee(module, imports) {\n var bytes, instance;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n if (!(typeof Response === 'function' && module instanceof Response)) {\n _context.next = 23;\n break;\n }\n if (!(typeof WebAssembly.instantiateStreaming === 'function')) {\n _context.next = 15;\n break;\n }\n _context.prev = 2;\n _context.next = 5;\n return WebAssembly.instantiateStreaming(module, imports);\n case 5:\n return _context.abrupt(\"return\", _context.sent);\n case 8:\n _context.prev = 8;\n _context.t0 = _context[\"catch\"](2);\n if (!(module.headers.get('Content-Type') != 'application/wasm')) {\n _context.next = 14;\n break;\n }\n console.warn(\"`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\\n\", _context.t0);\n _context.next = 15;\n break;\n case 14:\n throw _context.t0;\n case 15:\n _context.next = 17;\n return module.arrayBuffer();\n case 17:\n bytes = _context.sent;\n _context.next = 20;\n return WebAssembly.instantiate(bytes, imports);\n case 20:\n return _context.abrupt(\"return\", _context.sent);\n case 23:\n _context.next = 25;\n return WebAssembly.instantiate(module, imports);\n case 25:\n instance = _context.sent;\n if (!(instance instanceof WebAssembly.Instance)) {\n _context.next = 30;\n break;\n }\n return _context.abrupt(\"return\", {\n instance: instance,\n module: module\n });\n case 30:\n return _context.abrupt(\"return\", instance);\n case 31:\n case \"end\":\n return _context.stop();\n }\n }, _callee, null, [[2, 8]]);\n }));\n return _load.apply(this, arguments);\n}\nfunction init(_x3) {\n return _init.apply(this, arguments);\n}\nfunction _init() {\n _init = (0, _asyncToGenerator2[\"default\"])( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2(input) {\n var imports, _yield$load, instance, module;\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n if (typeof input === 'undefined') {\n input = new URL('stremio_core_web_bg.wasm', importMeta.url);\n }\n imports = {};\n imports.wbg = {};\n imports.wbg.__wbindgen_object_drop_ref = function (arg0) {\n takeObject(arg0);\n };\n imports.wbg.__wbindgen_string_get = function (arg0, arg1) {\n var obj = getObject(arg1);\n var ret = typeof obj === 'string' ? obj : undefined;\n var ptr0 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len0 = WASM_VECTOR_LEN;\n getInt32Memory0()[arg0 / 4 + 1] = len0;\n getInt32Memory0()[arg0 / 4 + 0] = ptr0;\n };\n imports.wbg.__wbg_static_accessor_SHELL_VERSION_5db6827c2c46b639 = function (arg0) {\n var ret = self.shell_version;\n var ptr0 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len0 = WASM_VECTOR_LEN;\n getInt32Memory0()[arg0 / 4 + 1] = len0;\n getInt32Memory0()[arg0 / 4 + 0] = ptr0;\n };\n imports.wbg.__wbg_static_accessor_APP_VERSION_793bb476b3927a4c = function (arg0) {\n var ret = self.app_version;\n var ptr0 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len0 = WASM_VECTOR_LEN;\n getInt32Memory0()[arg0 / 4 + 1] = len0;\n getInt32Memory0()[arg0 / 4 + 0] = ptr0;\n };\n imports.wbg.__wbindgen_string_new = function (arg0, arg1) {\n var ret = getStringFromWasm0(arg0, arg1);\n return addHeapObject(ret);\n };\n imports.wbg.__wbindgen_is_undefined = function (arg0) {\n var ret = getObject(arg0) === undefined;\n return ret;\n };\n imports.wbg.__wbg_localstoragegetitem_147e42fce464ee23 = function () {\n return handleError(function (arg0, arg1) {\n try {\n var ret = self.local_storage_get_item(getStringFromWasm0(arg0, arg1));\n return addHeapObject(ret);\n } finally {\n wasm.__wbindgen_free(arg0, arg1);\n }\n }, arguments);\n };\n imports.wbg.__wbg_getlocationhash_ca809704188a4f43 = function () {\n return handleError(function () {\n var ret = self.get_location_hash();\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_localstorageremoveitem_9f09637c4d2262f2 = function () {\n return handleError(function (arg0, arg1) {\n try {\n var ret = self.local_storage_remove_item(getStringFromWasm0(arg0, arg1));\n return addHeapObject(ret);\n } finally {\n wasm.__wbindgen_free(arg0, arg1);\n }\n }, arguments);\n };\n imports.wbg.__wbg_localstoragesetitem_92374025de427e3f = function () {\n return handleError(function (arg0, arg1, arg2, arg3) {\n try {\n var ret = self.local_storage_set_item(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3));\n return addHeapObject(ret);\n } finally {\n wasm.__wbindgen_free(arg0, arg1);\n wasm.__wbindgen_free(arg2, arg3);\n }\n }, arguments);\n };\n imports.wbg.__wbg_new_693216e109162396 = function () {\n var ret = new Error();\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_stack_0ddaca5d1abfb52f = function (arg0, arg1) {\n var ret = getObject(arg1).stack;\n var ptr0 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len0 = WASM_VECTOR_LEN;\n getInt32Memory0()[arg0 / 4 + 1] = len0;\n getInt32Memory0()[arg0 / 4 + 0] = ptr0;\n };\n imports.wbg.__wbg_error_09919627ac0992f5 = function (arg0, arg1) {\n try {\n console.error(getStringFromWasm0(arg0, arg1));\n } finally {\n wasm.__wbindgen_free(arg0, arg1);\n }\n };\n imports.wbg.__wbg_crypto_1dc1c51d9d27e0dd = function (arg0) {\n var ret = getObject(arg0).crypto;\n return addHeapObject(ret);\n };\n imports.wbg.__wbindgen_is_object = function (arg0) {\n var val = getObject(arg0);\n var ret = (0, _typeof2[\"default\"])(val) === 'object' && val !== null;\n return ret;\n };\n imports.wbg.__wbg_process_65edac0b2f0a8427 = function (arg0) {\n var ret = getObject(arg0).process;\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_versions_0d0eed1c1b42b216 = function (arg0) {\n var ret = getObject(arg0).versions;\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_node_82761bdd6eaac7e7 = function (arg0) {\n var ret = getObject(arg0).node;\n return addHeapObject(ret);\n };\n imports.wbg.__wbindgen_is_string = function (arg0) {\n var ret = typeof getObject(arg0) === 'string';\n return ret;\n };\n imports.wbg.__wbg_require_3f60396135018b0f = function () {\n return handleError(function () {\n var ret = module.require;\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_msCrypto_4ef1b0e1cd4cedbb = function (arg0) {\n var ret = getObject(arg0).msCrypto;\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_randomFillSync_d84d19ffc1d700ed = function () {\n return handleError(function (arg0, arg1) {\n getObject(arg0).randomFillSync(takeObject(arg1));\n }, arguments);\n };\n imports.wbg.__wbg_getRandomValues_3293819ebec805bc = function () {\n return handleError(function (arg0, arg1) {\n getObject(arg0).getRandomValues(getObject(arg1));\n }, arguments);\n };\n imports.wbg.__wbg_log_02e20a3c32305fb7 = function (arg0, arg1) {\n try {\n console.log(getStringFromWasm0(arg0, arg1));\n } finally {\n wasm.__wbindgen_free(arg0, arg1);\n }\n };\n imports.wbg.__wbg_log_5c7513aa8c164502 = function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) {\n try {\n console.log(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3), getStringFromWasm0(arg4, arg5), getStringFromWasm0(arg6, arg7));\n } finally {\n wasm.__wbindgen_free(arg0, arg1);\n }\n };\n imports.wbg.__wbg_mark_abc7631bdced64f0 = function (arg0, arg1) {\n performance.mark(getStringFromWasm0(arg0, arg1));\n };\n imports.wbg.__wbg_measure_c528ff64085b7146 = function () {\n return handleError(function (arg0, arg1, arg2, arg3) {\n try {\n performance.measure(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3));\n } finally {\n wasm.__wbindgen_free(arg0, arg1);\n wasm.__wbindgen_free(arg2, arg3);\n }\n }, arguments);\n };\n imports.wbg.__wbindgen_cb_drop = function (arg0) {\n var obj = takeObject(arg0).original;\n if (obj.cnt-- == 1) {\n obj.a = 0;\n return true;\n }\n var ret = false;\n return ret;\n };\n imports.wbg.__wbindgen_object_clone_ref = function (arg0) {\n var ret = getObject(arg0);\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_newwithstrandinit_9b0fa00478c37287 = function () {\n return handleError(function (arg0, arg1, arg2) {\n var ret = new Request(getStringFromWasm0(arg0, arg1), getObject(arg2));\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_instanceof_Response_e1b11afbefa5b563 = function (arg0) {\n var ret = getObject(arg0) instanceof Response;\n return ret;\n };\n imports.wbg.__wbg_status_6d8bb444ddc5a7b2 = function (arg0) {\n var ret = getObject(arg0).status;\n return ret;\n };\n imports.wbg.__wbg_text_8279d34d73e43c68 = function () {\n return handleError(function (arg0) {\n var ret = getObject(arg0).text();\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_language_cd6e22892ba36a1f = function (arg0, arg1) {\n var ret = getObject(arg1).language;\n var ptr0 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len0 = WASM_VECTOR_LEN;\n getInt32Memory0()[arg0 / 4 + 1] = len0;\n getInt32Memory0()[arg0 / 4 + 0] = ptr0;\n };\n imports.wbg.__wbg_instanceof_WorkerGlobalScope_f191ca0158f5637b = function (arg0) {\n var ret = getObject(arg0) instanceof WorkerGlobalScope;\n return ret;\n };\n imports.wbg.__wbg_navigator_8bc0889cda8f8500 = function (arg0) {\n var ret = getObject(arg0).navigator;\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_fetch_b4e81012e07ff95a = function (arg0, arg1) {\n var ret = getObject(arg0).fetch(getObject(arg1));\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_setInterval_a02797f5ab1c7eb1 = function () {\n return handleError(function (arg0, arg1, arg2) {\n var ret = getObject(arg0).setInterval(getObject(arg1), arg2);\n return ret;\n }, arguments);\n };\n imports.wbg.__wbindgen_number_new = function (arg0) {\n var ret = arg0;\n return addHeapObject(ret);\n };\n imports.wbg.__wbindgen_is_function = function (arg0) {\n var ret = typeof getObject(arg0) === 'function';\n return ret;\n };\n imports.wbg.__wbg_newnoargs_be86524d73f67598 = function (arg0, arg1) {\n var ret = new Function(getStringFromWasm0(arg0, arg1));\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_call_888d259a5fefc347 = function () {\n return handleError(function (arg0, arg1) {\n var ret = getObject(arg0).call(getObject(arg1));\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_new_0b83d3df67ecb33e = function () {\n var ret = new Object();\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_self_c6fbdfc2918d5e58 = function () {\n return handleError(function () {\n var ret = self.self;\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_window_baec038b5ab35c54 = function () {\n return handleError(function () {\n var ret = window.window;\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_globalThis_3f735a5746d41fbd = function () {\n return handleError(function () {\n var ret = globalThis.globalThis;\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_global_1bc0b39582740e95 = function () {\n return handleError(function () {\n var ret = global.global;\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_instanceof_Error_561efcb1265706d8 = function (arg0) {\n var ret = getObject(arg0) instanceof Error;\n return ret;\n };\n imports.wbg.__wbg_message_9f7d15ff97fc4102 = function (arg0) {\n var ret = getObject(arg0).message;\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_call_346669c262382ad7 = function () {\n return handleError(function (arg0, arg1, arg2) {\n var ret = getObject(arg0).call(getObject(arg1), getObject(arg2));\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_getTimezoneOffset_d3e5a22a1b7fb1d8 = function (arg0) {\n var ret = getObject(arg0).getTimezoneOffset();\n return ret;\n };\n imports.wbg.__wbg_new_f11872bb9bb9d781 = function (arg0) {\n var ret = new Date(getObject(arg0));\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_now_af172eabe2e041ad = function () {\n var ret = Date.now();\n return ret;\n };\n imports.wbg.__wbg_new_b1d61b5687f5e73a = function (arg0, arg1) {\n try {\n var state0 = {\n a: arg0,\n b: arg1\n };\n var cb0 = function cb0(arg0, arg1) {\n var a = state0.a;\n state0.a = 0;\n try {\n return __wbg_adapter_116(a, state0.b, arg0, arg1);\n } finally {\n state0.a = a;\n }\n };\n var ret = new Promise(cb0);\n return addHeapObject(ret);\n } finally {\n state0.a = state0.b = 0;\n }\n };\n imports.wbg.__wbg_resolve_d23068002f584f22 = function (arg0) {\n var ret = Promise.resolve(getObject(arg0));\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_then_2fcac196782070cc = function (arg0, arg1) {\n var ret = getObject(arg0).then(getObject(arg1));\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_then_8c2d62e8ae5978f7 = function (arg0, arg1, arg2) {\n var ret = getObject(arg0).then(getObject(arg1), getObject(arg2));\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_buffer_397eaa4d72ee94dd = function (arg0) {\n var ret = getObject(arg0).buffer;\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_newwithbyteoffsetandlength_4b9b8c4e3f5adbff = function (arg0, arg1, arg2) {\n var ret = new Uint8Array(getObject(arg0), arg1 >>> 0, arg2 >>> 0);\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_new_a7ce447f15ff496f = function (arg0) {\n var ret = new Uint8Array(getObject(arg0));\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_set_969ad0a60e51d320 = function (arg0, arg1, arg2) {\n getObject(arg0).set(getObject(arg1), arg2 >>> 0);\n };\n imports.wbg.__wbg_newwithlength_929232475839a482 = function (arg0) {\n var ret = new Uint8Array(arg0 >>> 0);\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_subarray_8b658422a224f479 = function (arg0, arg1, arg2) {\n var ret = getObject(arg0).subarray(arg1 >>> 0, arg2 >>> 0);\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_set_82a4e8a85e31ac42 = function () {\n return handleError(function (arg0, arg1, arg2) {\n var ret = Reflect.set(getObject(arg0), getObject(arg1), getObject(arg2));\n return ret;\n }, arguments);\n };\n imports.wbg.__wbg_parse_ccb2cd4fe8ead0cb = function () {\n return handleError(function (arg0, arg1) {\n var ret = JSON.parse(getStringFromWasm0(arg0, arg1));\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_stringify_d4507a59932eed0c = function () {\n return handleError(function (arg0) {\n var ret = JSON.stringify(getObject(arg0));\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbindgen_debug_string = function (arg0, arg1) {\n var ret = debugString(getObject(arg1));\n var ptr0 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len0 = WASM_VECTOR_LEN;\n getInt32Memory0()[arg0 / 4 + 1] = len0;\n getInt32Memory0()[arg0 / 4 + 0] = ptr0;\n };\n imports.wbg.__wbindgen_throw = function (arg0, arg1) {\n throw new Error(getStringFromWasm0(arg0, arg1));\n };\n imports.wbg.__wbindgen_memory = function () {\n var ret = wasm.memory;\n return addHeapObject(ret);\n };\n imports.wbg.__wbindgen_closure_wrapper1724 = function (arg0, arg1, arg2) {\n var ret = makeMutClosure(arg0, arg1, 624, __wbg_adapter_28);\n return addHeapObject(ret);\n };\n imports.wbg.__wbindgen_closure_wrapper7478 = function (arg0, arg1, arg2) {\n var ret = makeMutClosure(arg0, arg1, 897, __wbg_adapter_31);\n return addHeapObject(ret);\n };\n if (typeof input === 'string' || typeof Request === 'function' && input instanceof Request || typeof URL === 'function' && input instanceof URL) {\n input = fetch(input);\n }\n _context2.t0 = load;\n _context2.next = 78;\n return input;\n case 78:\n _context2.t1 = _context2.sent;\n _context2.t2 = imports;\n _context2.next = 82;\n return (0, _context2.t0)(_context2.t1, _context2.t2);\n case 82:\n _yield$load = _context2.sent;\n instance = _yield$load.instance;\n module = _yield$load.module;\n wasm = instance.exports;\n init.__wbindgen_wasm_module = module;\n wasm.__wbindgen_start();\n return _context2.abrupt(\"return\", wasm);\n case 89:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2);\n }));\n return _init.apply(this, arguments);\n}\nvar _default = exports[\"default\"] = init;\n","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nfunction _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}\nmodule.exports = _asyncToGenerator, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n module.exports = _regeneratorRuntime = function _regeneratorRuntime() {\n return e;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var t,\n e = {},\n r = Object.prototype,\n n = r.hasOwnProperty,\n o = Object.defineProperty || function (t, e, r) {\n t[e] = r.value;\n },\n i = \"function\" == typeof Symbol ? Symbol : {},\n a = i.iterator || \"@@iterator\",\n c = i.asyncIterator || \"@@asyncIterator\",\n u = i.toStringTag || \"@@toStringTag\";\n function define(t, e, r) {\n return Object.defineProperty(t, e, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), t[e];\n }\n try {\n define({}, \"\");\n } catch (t) {\n define = function define(t, e, r) {\n return t[e] = r;\n };\n }\n function wrap(t, e, r, n) {\n var i = e && e.prototype instanceof Generator ? e : Generator,\n a = Object.create(i.prototype),\n c = new Context(n || []);\n return o(a, \"_invoke\", {\n value: makeInvokeMethod(t, r, c)\n }), a;\n }\n function tryCatch(t, e, r) {\n try {\n return {\n type: \"normal\",\n arg: t.call(e, r)\n };\n } catch (t) {\n return {\n type: \"throw\",\n arg: t\n };\n }\n }\n e.wrap = wrap;\n var h = \"suspendedStart\",\n l = \"suspendedYield\",\n f = \"executing\",\n s = \"completed\",\n y = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var p = {};\n define(p, a, function () {\n return this;\n });\n var d = Object.getPrototypeOf,\n v = d && d(d(values([])));\n v && v !== r && n.call(v, a) && (p = v);\n var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);\n function defineIteratorMethods(t) {\n [\"next\", \"throw\", \"return\"].forEach(function (e) {\n define(t, e, function (t) {\n return this._invoke(e, t);\n });\n });\n }\n function AsyncIterator(t, e) {\n function invoke(r, o, i, a) {\n var c = tryCatch(t[r], t, o);\n if (\"throw\" !== c.type) {\n var u = c.arg,\n h = u.value;\n return h && \"object\" == _typeof(h) && n.call(h, \"__await\") ? e.resolve(h.__await).then(function (t) {\n invoke(\"next\", t, i, a);\n }, function (t) {\n invoke(\"throw\", t, i, a);\n }) : e.resolve(h).then(function (t) {\n u.value = t, i(u);\n }, function (t) {\n return invoke(\"throw\", t, i, a);\n });\n }\n a(c.arg);\n }\n var r;\n o(this, \"_invoke\", {\n value: function value(t, n) {\n function callInvokeWithMethodAndArg() {\n return new e(function (e, r) {\n invoke(t, n, e, r);\n });\n }\n return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(e, r, n) {\n var o = h;\n return function (i, a) {\n if (o === f) throw Error(\"Generator is already running\");\n if (o === s) {\n if (\"throw\" === i) throw a;\n return {\n value: t,\n done: !0\n };\n }\n for (n.method = i, n.arg = a;;) {\n var c = n.delegate;\n if (c) {\n var u = maybeInvokeDelegate(c, n);\n if (u) {\n if (u === y) continue;\n return u;\n }\n }\n if (\"next\" === n.method) n.sent = n._sent = n.arg;else if (\"throw\" === n.method) {\n if (o === h) throw o = s, n.arg;\n n.dispatchException(n.arg);\n } else \"return\" === n.method && n.abrupt(\"return\", n.arg);\n o = f;\n var p = tryCatch(e, r, n);\n if (\"normal\" === p.type) {\n if (o = n.done ? s : l, p.arg === y) continue;\n return {\n value: p.arg,\n done: n.done\n };\n }\n \"throw\" === p.type && (o = s, n.method = \"throw\", n.arg = p.arg);\n }\n };\n }\n function maybeInvokeDelegate(e, r) {\n var n = r.method,\n o = e.iterator[n];\n if (o === t) return r.delegate = null, \"throw\" === n && e.iterator[\"return\"] && (r.method = \"return\", r.arg = t, maybeInvokeDelegate(e, r), \"throw\" === r.method) || \"return\" !== n && (r.method = \"throw\", r.arg = new TypeError(\"The iterator does not provide a '\" + n + \"' method\")), y;\n var i = tryCatch(o, e.iterator, r.arg);\n if (\"throw\" === i.type) return r.method = \"throw\", r.arg = i.arg, r.delegate = null, y;\n var a = i.arg;\n return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, \"return\" !== r.method && (r.method = \"next\", r.arg = t), r.delegate = null, y) : a : (r.method = \"throw\", r.arg = new TypeError(\"iterator result is not an object\"), r.delegate = null, y);\n }\n function pushTryEntry(t) {\n var e = {\n tryLoc: t[0]\n };\n 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);\n }\n function resetTryEntry(t) {\n var e = t.completion || {};\n e.type = \"normal\", delete e.arg, t.completion = e;\n }\n function Context(t) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], t.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(e) {\n if (e || \"\" === e) {\n var r = e[a];\n if (r) return r.call(e);\n if (\"function\" == typeof e.next) return e;\n if (!isNaN(e.length)) {\n var o = -1,\n i = function next() {\n for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;\n return next.value = t, next.done = !0, next;\n };\n return i.next = i;\n }\n }\n throw new TypeError(_typeof(e) + \" is not iterable\");\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), o(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, \"GeneratorFunction\"), e.isGeneratorFunction = function (t) {\n var e = \"function\" == typeof t && t.constructor;\n return !!e && (e === GeneratorFunction || \"GeneratorFunction\" === (e.displayName || e.name));\n }, e.mark = function (t) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, \"GeneratorFunction\")), t.prototype = Object.create(g), t;\n }, e.awrap = function (t) {\n return {\n __await: t\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {\n return this;\n }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {\n void 0 === i && (i = Promise);\n var a = new AsyncIterator(wrap(t, r, n, o), i);\n return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {\n return t.done ? t.value : a.next();\n });\n }, defineIteratorMethods(g), define(g, u, \"Generator\"), define(g, a, function () {\n return this;\n }), define(g, \"toString\", function () {\n return \"[object Generator]\";\n }), e.keys = function (t) {\n var e = Object(t),\n r = [];\n for (var n in e) r.push(n);\n return r.reverse(), function next() {\n for (; r.length;) {\n var t = r.pop();\n if (t in e) return next.value = t, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, e.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(e) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) \"t\" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);\n },\n stop: function stop() {\n this.done = !0;\n var t = this.tryEntries[0].completion;\n if (\"throw\" === t.type) throw t.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(e) {\n if (this.done) throw e;\n var r = this;\n function handle(n, o) {\n return a.type = \"throw\", a.arg = e, r.next = n, o && (r.method = \"next\", r.arg = t), !!o;\n }\n for (var o = this.tryEntries.length - 1; o >= 0; --o) {\n var i = this.tryEntries[o],\n a = i.completion;\n if (\"root\" === i.tryLoc) return handle(\"end\");\n if (i.tryLoc <= this.prev) {\n var c = n.call(i, \"catchLoc\"),\n u = n.call(i, \"finallyLoc\");\n if (c && u) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n } else if (c) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n } else {\n if (!u) throw Error(\"try statement without catch or finally\");\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(t, e) {\n for (var r = this.tryEntries.length - 1; r >= 0; --r) {\n var o = this.tryEntries[r];\n if (o.tryLoc <= this.prev && n.call(o, \"finallyLoc\") && this.prev < o.finallyLoc) {\n var i = o;\n break;\n }\n }\n i && (\"break\" === t || \"continue\" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);\n var a = i ? i.completion : {};\n return a.type = t, a.arg = e, i ? (this.method = \"next\", this.next = i.finallyLoc, y) : this.complete(a);\n },\n complete: function complete(t, e) {\n if (\"throw\" === t.type) throw t.arg;\n return \"break\" === t.type || \"continue\" === t.type ? this.next = t.arg : \"return\" === t.type ? (this.rval = this.arg = t.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === t.type && e && (this.next = e), y;\n },\n finish: function finish(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;\n }\n },\n \"catch\": function _catch(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.tryLoc === t) {\n var n = r.completion;\n if (\"throw\" === n.type) {\n var o = n.arg;\n resetTryEntry(r);\n }\n return o;\n }\n }\n throw Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(e, r, n) {\n return this.delegate = {\n iterator: values(e),\n resultName: r,\n nextLoc: n\n }, \"next\" === this.method && (this.arg = t), y;\n }\n }, e;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// TODO(Babel 8): Remove this file.\n\nvar runtime = require(\"../helpers/regeneratorRuntime\")();\nmodule.exports = runtime;\n\n// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) scriptUrl = scripts[scripts.length - 1].src\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl + \"../../\";","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nvar _regenerator = _interopRequireDefault(require(\"@babel/runtime/regenerator\"));\nvar _asyncToGenerator2 = _interopRequireDefault(require(\"@babel/runtime/helpers/asyncToGenerator\"));\nvar Bridge = require('./bridge');\nvar bridge = new Bridge(self, self);\nself.init = /*#__PURE__*/function () {\n var _ref2 = (0, _asyncToGenerator2[\"default\"])( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee5(_ref) {\n var appVersion, shellVersion, _require, initialize_api, initialize_runtime, get_state, get_debug_state, dispatch, analytics, decode_stream;\n return _regenerator[\"default\"].wrap(function _callee5$(_context5) {\n while (1) switch (_context5.prev = _context5.next) {\n case 0:\n appVersion = _ref.appVersion, shellVersion = _ref.shellVersion;\n // TODO remove the document shim when this PR is merged\n // https://github.com/cfware/babel-plugin-bundled-import-meta/pull/26\n self.document = {\n baseURI: self.location.href\n };\n self.app_version = appVersion;\n self.shell_version = shellVersion;\n self.get_location_hash = /*#__PURE__*/(0, _asyncToGenerator2[\"default\"])( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee() {\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n return _context.abrupt(\"return\", bridge.call(['location', 'hash'], []));\n case 1:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }));\n self.local_storage_get_item = /*#__PURE__*/function () {\n var _ref4 = (0, _asyncToGenerator2[\"default\"])( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2(key) {\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n return _context2.abrupt(\"return\", bridge.call(['localStorage', 'getItem'], [key]));\n case 1:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2);\n }));\n return function (_x2) {\n return _ref4.apply(this, arguments);\n };\n }();\n self.local_storage_set_item = /*#__PURE__*/function () {\n var _ref5 = (0, _asyncToGenerator2[\"default\"])( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee3(key, value) {\n return _regenerator[\"default\"].wrap(function _callee3$(_context3) {\n while (1) switch (_context3.prev = _context3.next) {\n case 0:\n return _context3.abrupt(\"return\", bridge.call(['localStorage', 'setItem'], [key, value]));\n case 1:\n case \"end\":\n return _context3.stop();\n }\n }, _callee3);\n }));\n return function (_x3, _x4) {\n return _ref5.apply(this, arguments);\n };\n }();\n self.local_storage_remove_item = /*#__PURE__*/function () {\n var _ref6 = (0, _asyncToGenerator2[\"default\"])( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee4(key) {\n return _regenerator[\"default\"].wrap(function _callee4$(_context4) {\n while (1) switch (_context4.prev = _context4.next) {\n case 0:\n return _context4.abrupt(\"return\", bridge.call(['localStorage', 'removeItem'], [key]));\n case 1:\n case \"end\":\n return _context4.stop();\n }\n }, _callee4);\n }));\n return function (_x5) {\n return _ref6.apply(this, arguments);\n };\n }();\n _require = require('./stremio_core_web.js'), initialize_api = _require[\"default\"], initialize_runtime = _require.initialize_runtime, get_state = _require.get_state, get_debug_state = _require.get_debug_state, dispatch = _require.dispatch, analytics = _require.analytics, decode_stream = _require.decode_stream;\n self.getState = get_state;\n self.getDebugState = get_debug_state;\n self.dispatch = dispatch;\n self.analytics = analytics;\n self.decodeStream = decode_stream;\n _context5.next = 16;\n return initialize_api(require('./stremio_core_web_bg.wasm'));\n case 16:\n _context5.next = 18;\n return initialize_runtime(function (event) {\n return bridge.call(['onCoreEvent'], [event]);\n });\n case 18:\n case \"end\":\n return _context5.stop();\n }\n }, _callee5);\n }));\n return function (_x) {\n return _ref2.apply(this, arguments);\n };\n}();\n"],"names":["_interopRequireDefault","_regenerator","_asyncToGenerator2","module","exports","scope","handler","addEventListener","_ref2","mark","_callee","_ref","request","id","path","args","value","data","thisArg","wrap","_context","prev","next","abrupt","reduce","prop","slice","length","apply","sent","postMessage","response","result","t0","error","stop","_x","this","arguments","call","_ref3","_callee2","_context2","Math","random","toString","Promise","resolve","reject","onMessage","_ref4","removeEventListener","_x2","_x3","Object","defineProperty","analytics","event","location_hash","wasm","addHeapObject","decode_stream","stream","takeObject","dispatch","action","field","get_state","initialize_runtime","emit_to_ui","start","_typeof2","importMeta","url","URL","document","baseURI","href","heap","Array","fill","undefined","getObject","idx","push","heap_next","ret","dropObject","WASM_VECTOR_LEN","cachegetUint8Memory0","getUint8Memory0","buffer","memory","Uint8Array","cachedTextEncoder","TextEncoder","encodeString","encodeInto","arg","view","buf","encode","set","read","written","passStringToWasm0","malloc","realloc","_ptr","subarray","len","ptr","mem","offset","code","charCodeAt","isLikeNone","x","cachegetInt32Memory0","getInt32Memory0","Int32Array","cachedTextDecoder","TextDecoder","ignoreBOM","fatal","getStringFromWasm0","decode","obj","debugString","val","type","concat","description","name","isArray","debug","i","className","builtInMatches","exec","JSON","stringify","_","Error","message","stack","makeMutClosure","arg0","arg1","dtor","f","state","a","b","cnt","real","_len","_key","__wbindgen_export_2","get","original","__wbg_adapter_28","_dyn_core__ops__function__FnMut_____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__hc719f3ca85305c3d","__wbg_adapter_31","arg2","wasm_bindgen__convert__closures__invoke1_mut__hbdc7d1cc9b7de2ba","handleError","e","__wbindgen_exn_store","__wbg_adapter_116","arg3","wasm_bindgen__convert__closures__invoke2_mut__hd4e05e24b0da691f","load","_load","imports","bytes","instance","Response","WebAssembly","instantiateStreaming","headers","console","warn","arrayBuffer","instantiate","Instance","init","_init","input","_yield$load","wbg","__wbindgen_object_drop_ref","__wbindgen_string_get","ptr0","__wbindgen_malloc","__wbindgen_realloc","len0","__wbg_static_accessor_SHELL_VERSION_5db6827c2c46b639","self","shell_version","__wbg_static_accessor_APP_VERSION_793bb476b3927a4c","app_version","__wbindgen_string_new","__wbindgen_is_undefined","__wbg_localstoragegetitem_147e42fce464ee23","local_storage_get_item","__wbindgen_free","__wbg_getlocationhash_ca809704188a4f43","get_location_hash","__wbg_localstorageremoveitem_9f09637c4d2262f2","local_storage_remove_item","__wbg_localstoragesetitem_92374025de427e3f","local_storage_set_item","__wbg_new_693216e109162396","__wbg_stack_0ddaca5d1abfb52f","__wbg_error_09919627ac0992f5","__wbg_crypto_1dc1c51d9d27e0dd","crypto","__wbindgen_is_object","__wbg_process_65edac0b2f0a8427","process","__wbg_versions_0d0eed1c1b42b216","versions","__wbg_node_82761bdd6eaac7e7","node","__wbindgen_is_string","__wbg_require_3f60396135018b0f","require","__wbg_msCrypto_4ef1b0e1cd4cedbb","msCrypto","__wbg_randomFillSync_d84d19ffc1d700ed","randomFillSync","__wbg_getRandomValues_3293819ebec805bc","getRandomValues","__wbg_log_02e20a3c32305fb7","log","__wbg_log_5c7513aa8c164502","arg4","arg5","arg6","arg7","__wbg_mark_abc7631bdced64f0","performance","__wbg_measure_c528ff64085b7146","measure","__wbindgen_cb_drop","__wbindgen_object_clone_ref","__wbg_newwithstrandinit_9b0fa00478c37287","Request","__wbg_instanceof_Response_e1b11afbefa5b563","__wbg_status_6d8bb444ddc5a7b2","status","__wbg_text_8279d34d73e43c68","text","__wbg_language_cd6e22892ba36a1f","language","__wbg_instanceof_WorkerGlobalScope_f191ca0158f5637b","WorkerGlobalScope","__wbg_navigator_8bc0889cda8f8500","navigator","__wbg_fetch_b4e81012e07ff95a","fetch","__wbg_setInterval_a02797f5ab1c7eb1","setInterval","__wbindgen_number_new","__wbindgen_is_function","__wbg_newnoargs_be86524d73f67598","Function","__wbg_call_888d259a5fefc347","__wbg_new_0b83d3df67ecb33e","__wbg_self_c6fbdfc2918d5e58","__wbg_window_baec038b5ab35c54","window","__wbg_globalThis_3f735a5746d41fbd","globalThis","__wbg_global_1bc0b39582740e95","g","global","__wbg_instanceof_Error_561efcb1265706d8","__wbg_message_9f7d15ff97fc4102","__wbg_call_346669c262382ad7","__wbg_getTimezoneOffset_d3e5a22a1b7fb1d8","getTimezoneOffset","__wbg_new_f11872bb9bb9d781","Date","__wbg_now_af172eabe2e041ad","now","__wbg_new_b1d61b5687f5e73a","state0","__wbg_resolve_d23068002f584f22","__wbg_then_2fcac196782070cc","then","__wbg_then_8c2d62e8ae5978f7","__wbg_buffer_397eaa4d72ee94dd","__wbg_newwithbyteoffsetandlength_4b9b8c4e3f5adbff","__wbg_new_a7ce447f15ff496f","__wbg_set_969ad0a60e51d320","__wbg_newwithlength_929232475839a482","__wbg_subarray_8b658422a224f479","__wbg_set_82a4e8a85e31ac42","Reflect","__wbg_parse_ccb2cd4fe8ead0cb","parse","__wbg_stringify_d4507a59932eed0c","__wbindgen_debug_string","__wbindgen_throw","__wbindgen_memory","__wbindgen_closure_wrapper1724","__wbindgen_closure_wrapper7478","t1","t2","__wbindgen_wasm_module","__wbindgen_start","asyncGeneratorStep","gen","_next","_throw","key","info","done","fn","err","__esModule","_typeof","_regeneratorRuntime","t","r","prototype","n","hasOwnProperty","o","Symbol","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","Generator","create","Context","makeInvokeMethod","tryCatch","h","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","__await","callInvokeWithMethodAndArg","method","delegate","maybeInvokeDelegate","_sent","dispatchException","TypeError","resultName","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","isNaN","displayName","isGeneratorFunction","constructor","setPrototypeOf","__proto__","awrap","async","keys","reverse","pop","charAt","rval","handle","complete","finish","delegateYield","runtime","regeneratorRuntime","accidentalStrictMode","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","scriptUrl","importScripts","location","currentScript","src","scripts","getElementsByTagName","replace","bridge","_callee5","appVersion","shellVersion","_require","initialize_api","get_debug_state","_context5","_ref5","_callee3","_context3","_x4","_ref6","_callee4","_context4","_x5","getState","getDebugState","decodeStream"],"sourceRoot":""} \ No newline at end of file diff --git a/feat/seek-player-action/aabab5112d6e04708a05fd6c44b6dda32362b248/styles/main.css b/feat/seek-player-action/db0f16b81e41b3901bcf5e0a624af142b1dd9f00/styles/main.css similarity index 99% rename from feat/seek-player-action/aabab5112d6e04708a05fd6c44b6dda32362b248/styles/main.css rename to feat/seek-player-action/db0f16b81e41b3901bcf5e0a624af142b1dd9f00/styles/main.css index 93acd9262..ad057ca2f 100644 --- a/feat/seek-player-action/aabab5112d6e04708a05fd6c44b6dda32362b248/styles/main.css +++ b/feat/seek-player-action/db0f16b81e41b3901bcf5e0a624af142b1dd9f00/styles/main.css @@ -74,8 +74,8 @@ html:not(.active-slider-within-lQFc1) .player-container-wIELK.overlayHidden-gyjI .video-container-v9_vA .video-tkpQm{height:100%;width:100%}.video-container-v9_vA .video-tkpQm *{font-size:inherit} .consent-checkbox-container-WV60T{align-items:center;border-radius:var(--border-radius);display:flex;flex-direction:row;padding:0.5rem 0}.consent-checkbox-container-WV60T:focus{background-color:var(--overlay-color);outline:none}.consent-checkbox-container-WV60T.checked .label-l3LSw{opacity:1}.consent-checkbox-container-WV60T .label-l3LSw{color:var(--primary-foreground-color);flex:1;font-size:0.9rem;margin-left:1rem;opacity:0.6}.consent-checkbox-container-WV60T .label-l3LSw .link-UppYg{color:var(--primary-accent-color);font-size:0.9rem}.consent-checkbox-container-WV60T .label-l3LSw .link-UppYg:hover{text-decoration:underline} .password-reset-modal-container-KzJPQ .modal-dialog-content-ChXwF{width:30rem}.password-reset-modal-container-KzJPQ .modal-dialog-content-ChXwF .credentials-text-input-ncrIR{background:var(--overlay-color);border-radius:var(--border-radius);color:var(--primary-foreground-color);outline-offset:calc(-1 * var(--focus-outline-size));padding:1rem;width:100%}.password-reset-modal-container-KzJPQ .modal-dialog-content-ChXwF .credentials-text-input-ncrIR:focus,.password-reset-modal-container-KzJPQ .modal-dialog-content-ChXwF .credentials-text-input-ncrIR:hover{outline:var(--focus-outline-size) solid var(--overlay-color)}.password-reset-modal-container-KzJPQ .error-message-DkekN{color:hsla(42,100%,54.9%,0.9);font-size:1.1rem;margin-top:2rem;text-align:center}.password-reset-modal-container-KzJPQ .cancel-button-AneJE{background-color:transparent}.password-reset-modal-container-KzJPQ .cancel-button-AneJE:focus,.password-reset-modal-container-KzJPQ .cancel-button-AneJE:hover{outline-color:var(--primary-foreground-color)}.password-reset-modal-container-KzJPQ .cancel-button-AneJE .label-_ADoX{color:var(--primary-foreground-color)}@media only screen and (max-width:640px){.password-reset-modal-container-KzJPQ .modal-dialog-content-ChXwF{width:auto}} -.intro-container-tkNS6{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;overflow-y:auto;position:relative}.intro-container-tkNS6 .background-container-aYKCH{background:url(../../aabab5112d6e04708a05fd6c44b6dda32362b248/images/background_1.svg),url(../../aabab5112d6e04708a05fd6c44b6dda32362b248/images/background_2.svg);background-color:var(--primary-background-color);background-position:bottom left,top right;background-repeat:no-repeat;background-size:53%,54%;bottom:-1rem;filter:blur(6rem);left:-1rem;position:fixed;right:-1rem;top:-1rem;z-index:-1}.intro-container-tkNS6 .heading-container-oI70m{align-items:center;display:flex;flex:none;flex-direction:column;justify-content:center;margin-bottom:5rem}.intro-container-tkNS6 .heading-container-oI70m .logo-container-W49kt{flex:none;margin-bottom:3rem}.intro-container-tkNS6 .heading-container-oI70m .logo-container-W49kt .logo-WJ36F{height:5rem;opacity:0.9}.intro-container-tkNS6 .heading-container-oI70m .slogan-container-UlcYd,.intro-container-tkNS6 .heading-container-oI70m .title-container-CbIkM{color:var(--primary-foreground-color)}.intro-container-tkNS6 .heading-container-oI70m .title-container-CbIkM{font-size:3rem;font-weight:600;margin-bottom:0.5rem}.intro-container-tkNS6 .heading-container-oI70m .slogan-container-UlcYd{font-size:1.5rem;font-weight:400;opacity:0.6;text-transform:lowercase}.intro-container-tkNS6 .heading-container-oI70m .slogan-container-UlcYd:first-letter{text-transform:uppercase}.intro-container-tkNS6 .content-container-A1Drn{align-items:flex-start;display:flex;flex:none;flex-direction:row;justify-content:center;width:100%}.intro-container-tkNS6 .content-container-A1Drn .form-button-vyqqj{align-items:center;border-radius:3.5rem;display:flex;flex-direction:row;height:4rem;justify-content:center;padding:0 1rem}.intro-container-tkNS6 .content-container-A1Drn .form-button-vyqqj .icon-L_6b6{color:var(--primary-foreground-color);flex:none;height:2rem;margin-right:1rem;width:2rem}.intro-container-tkNS6 .content-container-A1Drn .form-button-vyqqj .label-uHD7L{color:var(--primary-foreground-color);flex-basis:auto;flex-grow:0;flex-shrink:1;font-size:1.1rem;font-weight:700;text-align:center}.intro-container-tkNS6 .content-container-A1Drn .guest-login-button-D8DWZ,.intro-container-tkNS6 .content-container-A1Drn .login-form-button-DqJUV,.intro-container-tkNS6 .content-container-A1Drn .signup-form-button-UGmSk,.intro-container-tkNS6 .content-container-A1Drn .submit-button-x3L8z{background-color:transparent;margin-top:1rem;outline:var(--focus-outline-size) solid var(--primary-foreground-color)}.intro-container-tkNS6 .content-container-A1Drn .guest-login-button-D8DWZ .label-uHD7L,.intro-container-tkNS6 .content-container-A1Drn .login-form-button-DqJUV .label-uHD7L,.intro-container-tkNS6 .content-container-A1Drn .signup-form-button-UGmSk .label-uHD7L,.intro-container-tkNS6 .content-container-A1Drn .submit-button-x3L8z .label-uHD7L{color:var(--primary-foreground-color)}.intro-container-tkNS6 .content-container-A1Drn .guest-login-button-D8DWZ:hover,.intro-container-tkNS6 .content-container-A1Drn .login-form-button-DqJUV:hover,.intro-container-tkNS6 .content-container-A1Drn .signup-form-button-UGmSk:hover,.intro-container-tkNS6 .content-container-A1Drn .submit-button-x3L8z:hover{background-color:var(--primary-foreground-color)}.intro-container-tkNS6 .content-container-A1Drn .guest-login-button-D8DWZ:hover .label-uHD7L,.intro-container-tkNS6 .content-container-A1Drn .login-form-button-DqJUV:hover .label-uHD7L,.intro-container-tkNS6 .content-container-A1Drn .signup-form-button-UGmSk:hover .label-uHD7L,.intro-container-tkNS6 .content-container-A1Drn .submit-button-x3L8z:hover .label-uHD7L{color:var(--secondary-foreground-color)}.intro-container-tkNS6 .content-container-A1Drn .form-container-HMlEh{flex:none;margin-right:2rem;position:relative;width:22rem}.intro-container-tkNS6 .content-container-A1Drn .form-container-HMlEh .credentials-text-input-QMCZz{background:var(--overlay-color);border-radius:var(--border-radius);color:var(--primary-foreground-color);display:block;margin-bottom:1rem;outline-offset:calc(-1 * var(--focus-outline-size));padding:1rem;width:100%}.intro-container-tkNS6 .content-container-A1Drn .form-container-HMlEh .credentials-text-input-QMCZz:focus,.intro-container-tkNS6 .content-container-A1Drn .form-container-HMlEh .credentials-text-input-QMCZz:hover{outline:var(--focus-outline-size) solid var(--overlay-color)}.intro-container-tkNS6 .content-container-A1Drn .form-container-HMlEh .forgot-password-link-container-ygZqb{display:flex;flex-direction:row;justify-content:flex-end;margin:1rem 0;text-align:right}.intro-container-tkNS6 .content-container-A1Drn .form-container-HMlEh .forgot-password-link-container-ygZqb .forgot-password-link-NxNUD{color:var(--primary-foreground-color);flex-basis:auto;flex-grow:0;flex-shrink:1;padding:0.5rem 1rem}.intro-container-tkNS6 .content-container-A1Drn .form-container-HMlEh .forgot-password-link-container-ygZqb .forgot-password-link-NxNUD:hover{text-decoration:underline}.intro-container-tkNS6 .content-container-A1Drn .form-container-HMlEh .error-message-cKdzB{color:var(--tertiary-accent-color);margin:1rem 0;padding:0 1rem;text-align:center}.intro-container-tkNS6 .content-container-A1Drn .options-container-qxboQ{flex:none;margin-left:2rem;position:relative;width:22rem}.intro-container-tkNS6 .content-container-A1Drn .options-container-qxboQ .facebook-button-LZ_kG{background:var(--color-facebook)}.intro-container-tkNS6 .content-container-A1Drn .options-container-qxboQ .facebook-button-LZ_kG:focus,.intro-container-tkNS6 .content-container-A1Drn .options-container-qxboQ .facebook-button-LZ_kG:hover{background-color:transparent;outline:var(--focus-outline-size) solid var(--color-facebook)}.loading-modal-container-eLyTm{align-items:center;background-color:hsla(0,0%,0%,0.4);display:flex;justify-content:center}.loading-modal-container-eLyTm .loader-container-oe8rU{align-items:center;background-color:var(--modal-background-color);border-radius:var(--border-radius);display:flex;flex:none;flex-direction:column;gap:1rem;justify-content:center;padding:2.5rem}@-webkit-keyframes flash-wUFXY{0%{opacity:0.4}to{opacity:1}}@keyframes flash-wUFXY{0%{opacity:0.4}to{opacity:1}}.loading-modal-container-eLyTm .loader-container-oe8rU .icon-L_6b6{-webkit-animation:flash-wUFXY 1s linear infinite alternate;animation:flash-wUFXY 1s linear infinite alternate;color:var(--primary-foreground-color);flex:none;height:5rem;width:5rem}.loading-modal-container-eLyTm .loader-container-oe8rU .label-uHD7L{-webkit-animation:flash-wUFXY 1s linear infinite alternate;animation:flash-wUFXY 1s linear infinite alternate;color:var(--primary-foreground-color);font-size:1.5rem}.loading-modal-container-eLyTm .loader-container-oe8rU .button-ryGtP{align-items:center;border-radius:3.5rem;color:var(--primary-foreground-color);display:flex;flex-direction:row;font-size:1.1rem;font-weight:700;height:3.5rem;justify-content:center;margin-top:2rem;outline:var(--focus-outline-size) solid var(--primary-foreground-color);padding:0 1rem;width:100%}.loading-modal-container-eLyTm .loader-container-oe8rU .button-ryGtP:hover{background-color:var(--primary-foreground-color);color:var(--secondary-foreground-color)}@media only screen and (max-width:640px){.intro-container-tkNS6{justify-content:initial;padding:3rem 1.5rem}.intro-container-tkNS6 .heading-container-oI70m{align-items:flex-start;margin-bottom:4rem}.intro-container-tkNS6 .heading-container-oI70m .logo-container-W49kt .logo-WJ36F{height:4rem}.intro-container-tkNS6 .heading-container-oI70m .title-container-CbIkM{font-size:2.5rem}.intro-container-tkNS6 .heading-container-oI70m .slogan-container-UlcYd{font-size:1.5rem}.intro-container-tkNS6 .content-container-A1Drn{flex-direction:column-reverse}.intro-container-tkNS6 .content-container-A1Drn .form-container-HMlEh,.intro-container-tkNS6 .content-container-A1Drn .options-container-qxboQ{margin:0;width:100%}.intro-container-tkNS6 .content-container-A1Drn .options-container-qxboQ{margin-bottom:4rem}} +.intro-container-tkNS6{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;overflow-y:auto;position:relative}.intro-container-tkNS6 .background-container-aYKCH{background:url(../../db0f16b81e41b3901bcf5e0a624af142b1dd9f00/images/background_1.svg),url(../../db0f16b81e41b3901bcf5e0a624af142b1dd9f00/images/background_2.svg);background-color:var(--primary-background-color);background-position:bottom left,top right;background-repeat:no-repeat;background-size:53%,54%;bottom:-1rem;filter:blur(6rem);left:-1rem;position:fixed;right:-1rem;top:-1rem;z-index:-1}.intro-container-tkNS6 .heading-container-oI70m{align-items:center;display:flex;flex:none;flex-direction:column;justify-content:center;margin-bottom:5rem}.intro-container-tkNS6 .heading-container-oI70m .logo-container-W49kt{flex:none;margin-bottom:3rem}.intro-container-tkNS6 .heading-container-oI70m .logo-container-W49kt .logo-WJ36F{height:5rem;opacity:0.9}.intro-container-tkNS6 .heading-container-oI70m .slogan-container-UlcYd,.intro-container-tkNS6 .heading-container-oI70m .title-container-CbIkM{color:var(--primary-foreground-color)}.intro-container-tkNS6 .heading-container-oI70m .title-container-CbIkM{font-size:3rem;font-weight:600;margin-bottom:0.5rem}.intro-container-tkNS6 .heading-container-oI70m .slogan-container-UlcYd{font-size:1.5rem;font-weight:400;opacity:0.6;text-transform:lowercase}.intro-container-tkNS6 .heading-container-oI70m .slogan-container-UlcYd:first-letter{text-transform:uppercase}.intro-container-tkNS6 .content-container-A1Drn{align-items:flex-start;display:flex;flex:none;flex-direction:row;justify-content:center;width:100%}.intro-container-tkNS6 .content-container-A1Drn .form-button-vyqqj{align-items:center;border-radius:3.5rem;display:flex;flex-direction:row;height:4rem;justify-content:center;padding:0 1rem}.intro-container-tkNS6 .content-container-A1Drn .form-button-vyqqj .icon-L_6b6{color:var(--primary-foreground-color);flex:none;height:2rem;margin-right:1rem;width:2rem}.intro-container-tkNS6 .content-container-A1Drn .form-button-vyqqj .label-uHD7L{color:var(--primary-foreground-color);flex-basis:auto;flex-grow:0;flex-shrink:1;font-size:1.1rem;font-weight:700;text-align:center}.intro-container-tkNS6 .content-container-A1Drn .guest-login-button-D8DWZ,.intro-container-tkNS6 .content-container-A1Drn .login-form-button-DqJUV,.intro-container-tkNS6 .content-container-A1Drn .signup-form-button-UGmSk,.intro-container-tkNS6 .content-container-A1Drn .submit-button-x3L8z{background-color:transparent;margin-top:1rem;outline:var(--focus-outline-size) solid var(--primary-foreground-color)}.intro-container-tkNS6 .content-container-A1Drn .guest-login-button-D8DWZ .label-uHD7L,.intro-container-tkNS6 .content-container-A1Drn .login-form-button-DqJUV .label-uHD7L,.intro-container-tkNS6 .content-container-A1Drn .signup-form-button-UGmSk .label-uHD7L,.intro-container-tkNS6 .content-container-A1Drn .submit-button-x3L8z .label-uHD7L{color:var(--primary-foreground-color)}.intro-container-tkNS6 .content-container-A1Drn .guest-login-button-D8DWZ:hover,.intro-container-tkNS6 .content-container-A1Drn .login-form-button-DqJUV:hover,.intro-container-tkNS6 .content-container-A1Drn .signup-form-button-UGmSk:hover,.intro-container-tkNS6 .content-container-A1Drn .submit-button-x3L8z:hover{background-color:var(--primary-foreground-color)}.intro-container-tkNS6 .content-container-A1Drn .guest-login-button-D8DWZ:hover .label-uHD7L,.intro-container-tkNS6 .content-container-A1Drn .login-form-button-DqJUV:hover .label-uHD7L,.intro-container-tkNS6 .content-container-A1Drn .signup-form-button-UGmSk:hover .label-uHD7L,.intro-container-tkNS6 .content-container-A1Drn .submit-button-x3L8z:hover .label-uHD7L{color:var(--secondary-foreground-color)}.intro-container-tkNS6 .content-container-A1Drn .form-container-HMlEh{flex:none;margin-right:2rem;position:relative;width:22rem}.intro-container-tkNS6 .content-container-A1Drn .form-container-HMlEh .credentials-text-input-QMCZz{background:var(--overlay-color);border-radius:var(--border-radius);color:var(--primary-foreground-color);display:block;margin-bottom:1rem;outline-offset:calc(-1 * var(--focus-outline-size));padding:1rem;width:100%}.intro-container-tkNS6 .content-container-A1Drn .form-container-HMlEh .credentials-text-input-QMCZz:focus,.intro-container-tkNS6 .content-container-A1Drn .form-container-HMlEh .credentials-text-input-QMCZz:hover{outline:var(--focus-outline-size) solid var(--overlay-color)}.intro-container-tkNS6 .content-container-A1Drn .form-container-HMlEh .forgot-password-link-container-ygZqb{display:flex;flex-direction:row;justify-content:flex-end;margin:1rem 0;text-align:right}.intro-container-tkNS6 .content-container-A1Drn .form-container-HMlEh .forgot-password-link-container-ygZqb .forgot-password-link-NxNUD{color:var(--primary-foreground-color);flex-basis:auto;flex-grow:0;flex-shrink:1;padding:0.5rem 1rem}.intro-container-tkNS6 .content-container-A1Drn .form-container-HMlEh .forgot-password-link-container-ygZqb .forgot-password-link-NxNUD:hover{text-decoration:underline}.intro-container-tkNS6 .content-container-A1Drn .form-container-HMlEh .error-message-cKdzB{color:var(--tertiary-accent-color);margin:1rem 0;padding:0 1rem;text-align:center}.intro-container-tkNS6 .content-container-A1Drn .options-container-qxboQ{flex:none;margin-left:2rem;position:relative;width:22rem}.intro-container-tkNS6 .content-container-A1Drn .options-container-qxboQ .facebook-button-LZ_kG{background:var(--color-facebook)}.intro-container-tkNS6 .content-container-A1Drn .options-container-qxboQ .facebook-button-LZ_kG:focus,.intro-container-tkNS6 .content-container-A1Drn .options-container-qxboQ .facebook-button-LZ_kG:hover{background-color:transparent;outline:var(--focus-outline-size) solid var(--color-facebook)}.loading-modal-container-eLyTm{align-items:center;background-color:hsla(0,0%,0%,0.4);display:flex;justify-content:center}.loading-modal-container-eLyTm .loader-container-oe8rU{align-items:center;background-color:var(--modal-background-color);border-radius:var(--border-radius);display:flex;flex:none;flex-direction:column;gap:1rem;justify-content:center;padding:2.5rem}@-webkit-keyframes flash-wUFXY{0%{opacity:0.4}to{opacity:1}}@keyframes flash-wUFXY{0%{opacity:0.4}to{opacity:1}}.loading-modal-container-eLyTm .loader-container-oe8rU .icon-L_6b6{-webkit-animation:flash-wUFXY 1s linear infinite alternate;animation:flash-wUFXY 1s linear infinite alternate;color:var(--primary-foreground-color);flex:none;height:5rem;width:5rem}.loading-modal-container-eLyTm .loader-container-oe8rU .label-uHD7L{-webkit-animation:flash-wUFXY 1s linear infinite alternate;animation:flash-wUFXY 1s linear infinite alternate;color:var(--primary-foreground-color);font-size:1.5rem}.loading-modal-container-eLyTm .loader-container-oe8rU .button-ryGtP{align-items:center;border-radius:3.5rem;color:var(--primary-foreground-color);display:flex;flex-direction:row;font-size:1.1rem;font-weight:700;height:3.5rem;justify-content:center;margin-top:2rem;outline:var(--focus-outline-size) solid var(--primary-foreground-color);padding:0 1rem;width:100%}.loading-modal-container-eLyTm .loader-container-oe8rU .button-ryGtP:hover{background-color:var(--primary-foreground-color);color:var(--secondary-foreground-color)}@media only screen and (max-width:640px){.intro-container-tkNS6{justify-content:initial;padding:3rem 1.5rem}.intro-container-tkNS6 .heading-container-oI70m{align-items:flex-start;margin-bottom:4rem}.intro-container-tkNS6 .heading-container-oI70m .logo-container-W49kt .logo-WJ36F{height:4rem}.intro-container-tkNS6 .heading-container-oI70m .title-container-CbIkM{font-size:2.5rem}.intro-container-tkNS6 .heading-container-oI70m .slogan-container-UlcYd{font-size:1.5rem}.intro-container-tkNS6 .content-container-A1Drn{flex-direction:column-reverse}.intro-container-tkNS6 .content-container-A1Drn .form-container-HMlEh,.intro-container-tkNS6 .content-container-A1Drn .options-container-qxboQ{margin:0;width:100%}.intro-container-tkNS6 .content-container-A1Drn .options-container-qxboQ{margin-bottom:4rem}} .error-container-OJnoc{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center}.error-container-OJnoc .error-image-qU9Qo{flex:none;height:12rem;-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center;opacity:0.9;width:12rem}.error-container-OJnoc .error-message-kW59Z{color:var(--primary-foreground-color);flex:none;font-size:2rem;max-height:3.6em;padding:0 3rem;text-align:center}.error-container-OJnoc .buttons-container-tQonN{align-items:center;align-self:stretch;display:flex;flex:none;flex-direction:row;flex-wrap:wrap;gap:1.5rem;justify-content:center;margin:1rem 2rem 0}.error-container-OJnoc .buttons-container-tQonN .button-container-vLSQK{align-items:center;background-color:var(--overlay-color);border-radius:3.5rem;display:flex;flex-basis:auto;flex-direction:row;flex-grow:0;flex-shrink:1;height:3.5rem;justify-content:center;min-width:8rem;padding:0 2.5rem}.error-container-OJnoc .buttons-container-tQonN .button-container-vLSQK:hover{background-color:transparent;outline:var(--focus-outline-size) solid var(--primary-foreground-color)}.error-container-OJnoc .buttons-container-tQonN .button-container-vLSQK:active{outline:none}.error-container-OJnoc .buttons-container-tQonN .button-container-vLSQK.disabled{opacity:0.3}.error-container-OJnoc .buttons-container-tQonN .button-container-vLSQK .label-Up_te{color:var(--primary-foreground-color);flex-basis:auto;flex-grow:0;flex-shrink:1;font-size:1.1rem;font-weight:500;max-height:2.4em;text-align:center} -@font-face{font-family:PlusJakartaSans;src:url(../../aabab5112d6e04708a05fd6c44b6dda32362b248/fonts/PlusJakartaSans.ttf) format("truetype")}.animation-fade-in{-webkit-animation-duration:100ms;animation-duration:100ms;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}.animation-fade-in{-webkit-animation-name:fade-in-pFkt_;animation-name:fade-in-pFkt_}@-webkit-keyframes fade-in-pFkt_{0%{opacity:0.6;transform:translateY(0.2vh)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in-pFkt_{0%{opacity:0.6;transform:translateY(0.2vh)}to{opacity:1;transform:translateY(0)}}.routes-container{position:relative;z-index:0}.routes-container .route-container{bottom:0;left:0;position:absolute;right:0;top:0;z-index:0}.routes-container .route-container:not(:last-child){display:none}.routes-container .route-container .route-content{bottom:0;left:0;overflow:hidden;position:absolute;right:0;top:0;z-index:0}.routes-container .route-container .modals-container{height:0;width:0}.routes-container .route-container .modals-container .modal-container{bottom:0;left:0;overflow:hidden;position:absolute;right:0;top:0;z-index:1}:root{--landscape-shape-ratio:0.5625;--poster-shape-ratio:1.464;--scroll-bar-size:6px;--horizontal-nav-bar-size:5.5rem;--vertical-nav-bar-size:6rem;--focus-outline-size:2px;--color-facebook:#1877F1;--color-x:#000000;--color-reddit:#FF4500;--color-imdb:#f5c518;--color-trakt:#ED2224;--color-placeholder:#60606080;--color-placeholder-text:hsla(0,0%,75%,0.5);--color-placeholder-background:hsla(0,0%,50%,0.2);--primary-background-color:#0c0b11;--secondary-background-color:#1a173e;--primary-foreground-color:rgba(255,255,255,0.9);--secondary-foreground-color:#0c0b11;--primary-accent-color:#7b5bf5;--secondary-accent-color:#22b365;--tertiary-accent-color:#f6c700;--quaternary-accent-color:#1245a6;--overlay-color:rgba(255,255,255,0.05);--modal-background-color:#0f0d20;--outer-glow:0px 0px 30px rgba(123,91,245,0.37);--border-radius:0.75rem}*{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;box-shadow:none;box-sizing:border-box;font-family:inherit;font-size:1rem;list-style:none;margin:0;outline:none;overflow:hidden;padding:0;scrollbar-color:var(--overlay-color) transparent;scrollbar-width:thin;text-decoration:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;word-break:break-word}::-webkit-scrollbar{height:var(--scroll-bar-size);width:var(--scroll-bar-size)}::-webkit-scrollbar-thumb{background-color:var(--overlay-color);border-radius:var(--scroll-bar-size)}::-webkit-scrollbar-thumb:hover{background-color:var(--primary-accent-color)}::-webkit-scrollbar-track{background-color:transparent}svg{overflow:visible}html{font-family:PlusJakartaSans,"sans-serif";min-height:480px;min-width:640px;overflow:auto}html,html body{height:100%;width:100%}html body{background:linear-gradient(41deg,var(--primary-background-color) 0%,var(--secondary-background-color) 100%)}html body #app{height:100%;position:relative;width:100%;z-index:0}html body #app .toasts-container-oKECy{bottom:calc(1.2 * var(--horizontal-nav-bar-size));left:auto;overflow-y:auto;padding:0 calc(0.5 * var(--horizontal-nav-bar-size));pointer-events:none;position:absolute;right:0;scrollbar-width:none;top:calc(1.2 * var(--horizontal-nav-bar-size));z-index:1}html body #app .toasts-container-oKECy::-webkit-scrollbar{display:none}html body #app .tooltip-container-Qpse8{align-items:center;background-color:var(--modal-background-color);border-radius:var(--border-radius);box-shadow:var(--outer-glow);color:var(--primary-foreground-color);display:flex;font-size:1rem;height:2.5rem;justify-content:center;padding:0 1.5rem;transition:opacity 0.1s ease-out}html body #app .tooltip-container-Qpse8.active{transition-delay:0.25s}html body #app .router-_65XU{height:100%;width:100%}html body #app .error-container-VZXwH,html body #app .loader-container-vwvnb{height:100%;width:100%}@media only screen and (min-width:2800px){html{font-size:18px}}@media only screen and (max-width:2800px){html{font-size:16px}}@media only screen and (max-width:2200px){html{font-size:15px}}@media only screen and (max-width:1600px){html{font-size:14px}}@media only screen and (max-width:1000px){html{min-height:inherit;min-width:inherit}html body #app .toasts-container-oKECy{padding:0 1rem}html body #app .tooltip-container-Qpse8{display:none}} +@font-face{font-family:PlusJakartaSans;src:url(../../db0f16b81e41b3901bcf5e0a624af142b1dd9f00/fonts/PlusJakartaSans.ttf) format("truetype")}.animation-fade-in{-webkit-animation-duration:100ms;animation-duration:100ms;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}.animation-fade-in{-webkit-animation-name:fade-in-pFkt_;animation-name:fade-in-pFkt_}@-webkit-keyframes fade-in-pFkt_{0%{opacity:0.6;transform:translateY(0.2vh)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in-pFkt_{0%{opacity:0.6;transform:translateY(0.2vh)}to{opacity:1;transform:translateY(0)}}.routes-container{position:relative;z-index:0}.routes-container .route-container{bottom:0;left:0;position:absolute;right:0;top:0;z-index:0}.routes-container .route-container:not(:last-child){display:none}.routes-container .route-container .route-content{bottom:0;left:0;overflow:hidden;position:absolute;right:0;top:0;z-index:0}.routes-container .route-container .modals-container{height:0;width:0}.routes-container .route-container .modals-container .modal-container{bottom:0;left:0;overflow:hidden;position:absolute;right:0;top:0;z-index:1}:root{--landscape-shape-ratio:0.5625;--poster-shape-ratio:1.464;--scroll-bar-size:6px;--horizontal-nav-bar-size:5.5rem;--vertical-nav-bar-size:6rem;--focus-outline-size:2px;--color-facebook:#1877F1;--color-x:#000000;--color-reddit:#FF4500;--color-imdb:#f5c518;--color-trakt:#ED2224;--color-placeholder:#60606080;--color-placeholder-text:hsla(0,0%,75%,0.5);--color-placeholder-background:hsla(0,0%,50%,0.2);--primary-background-color:#0c0b11;--secondary-background-color:#1a173e;--primary-foreground-color:rgba(255,255,255,0.9);--secondary-foreground-color:#0c0b11;--primary-accent-color:#7b5bf5;--secondary-accent-color:#22b365;--tertiary-accent-color:#f6c700;--quaternary-accent-color:#1245a6;--overlay-color:rgba(255,255,255,0.05);--modal-background-color:#0f0d20;--outer-glow:0px 0px 30px rgba(123,91,245,0.37);--border-radius:0.75rem}*{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;box-shadow:none;box-sizing:border-box;font-family:inherit;font-size:1rem;list-style:none;margin:0;outline:none;overflow:hidden;padding:0;scrollbar-color:var(--overlay-color) transparent;scrollbar-width:thin;text-decoration:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;word-break:break-word}::-webkit-scrollbar{height:var(--scroll-bar-size);width:var(--scroll-bar-size)}::-webkit-scrollbar-thumb{background-color:var(--overlay-color);border-radius:var(--scroll-bar-size)}::-webkit-scrollbar-thumb:hover{background-color:var(--primary-accent-color)}::-webkit-scrollbar-track{background-color:transparent}svg{overflow:visible}html{font-family:PlusJakartaSans,"sans-serif";min-height:480px;min-width:640px;overflow:auto}html,html body{height:100%;width:100%}html body{background:linear-gradient(41deg,var(--primary-background-color) 0%,var(--secondary-background-color) 100%)}html body #app{height:100%;position:relative;width:100%;z-index:0}html body #app .toasts-container-oKECy{bottom:calc(1.2 * var(--horizontal-nav-bar-size));left:auto;overflow-y:auto;padding:0 calc(0.5 * var(--horizontal-nav-bar-size));pointer-events:none;position:absolute;right:0;scrollbar-width:none;top:calc(1.2 * var(--horizontal-nav-bar-size));z-index:1}html body #app .toasts-container-oKECy::-webkit-scrollbar{display:none}html body #app .tooltip-container-Qpse8{align-items:center;background-color:var(--modal-background-color);border-radius:var(--border-radius);box-shadow:var(--outer-glow);color:var(--primary-foreground-color);display:flex;font-size:1rem;height:2.5rem;justify-content:center;padding:0 1.5rem;transition:opacity 0.1s ease-out}html body #app .tooltip-container-Qpse8.active{transition-delay:0.25s}html body #app .router-_65XU{height:100%;width:100%}html body #app .error-container-VZXwH,html body #app .loader-container-vwvnb{height:100%;width:100%}@media only screen and (min-width:2800px){html{font-size:18px}}@media only screen and (max-width:2800px){html{font-size:16px}}@media only screen and (max-width:2200px){html{font-size:15px}}@media only screen and (max-width:1600px){html{font-size:14px}}@media only screen and (max-width:1000px){html{min-height:inherit;min-width:inherit}html body #app .toasts-container-oKECy{padding:0 1rem}html body #app .tooltip-container-Qpse8{display:none}} /*# sourceMappingURL=main.css.map*/ \ No newline at end of file diff --git a/feat/seek-player-action/aabab5112d6e04708a05fd6c44b6dda32362b248/styles/main.css.map b/feat/seek-player-action/db0f16b81e41b3901bcf5e0a624af142b1dd9f00/styles/main.css.map similarity index 99% rename from feat/seek-player-action/aabab5112d6e04708a05fd6c44b6dda32362b248/styles/main.css.map rename to feat/seek-player-action/db0f16b81e41b3901bcf5e0a624af142b1dd9f00/styles/main.css.map index 7ec8f0760..3ff657972 100644 --- a/feat/seek-player-action/aabab5112d6e04708a05fd6c44b6dda32362b248/styles/main.css.map +++ b/feat/seek-player-action/db0f16b81e41b3901bcf5e0a624af142b1dd9f00/styles/main.css.map @@ -1 +1 @@ -{"version":3,"file":"aabab5112d6e04708a05fd6c44b6dda32362b248/styles/main.css","mappings":"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","sources":["webpack://stremio/./src/common/Button/styles.less","webpack://stremio/./src/common/ModalDialog/styles.less","webpack://stremio/./src/common/AddonDetailsModal/AddonDetails/styles.less","webpack://stremio/./src/common/AddonDetailsModal/styles.less","webpack://stremio/./src/common/Checkbox/styles.less","webpack://stremio/./src/common/Chips/Chip/Chip.less","webpack://stremio/./src/common/Chips/Chips.less","webpack://stremio/./src/common/ColorInput/ColorPicker/styles.less","webpack://stremio/./src/common/ColorInput/styles.less","webpack://stremio/./src/common/Popup/styles.less","webpack://stremio/./src/common/Multiselect/styles.less","webpack://stremio/./src/common/PlayIconCircleCentered/styles.less","webpack://stremio/./src/common/MetaItem/styles.less","webpack://stremio/./src/common/TextInput/styles.less","webpack://stremio/./src/common/NavBar/HorizontalNavBar/SearchBar/styles.less","webpack://stremio/./src/common/NavBar/HorizontalNavBar/NavMenu/styles.less","webpack://stremio/./src/common/NavBar/HorizontalNavBar/styles.less","webpack://stremio/./src/common/NavBar/VerticalNavBar/NavTabButton/styles.less","webpack://stremio/./src/common/NavBar/VerticalNavBar/styles.less","webpack://stremio/./src/common/MainNavBars/styles.less","webpack://stremio/./src/common/SharePrompt/styles.less","webpack://stremio/./src/common/MetaPreview/ActionButton/styles.less","webpack://stremio/./src/common/Tooltips/TooltipItem/styles.less","webpack://stremio/./src/common/Tooltips/Tooltip/styles.less","webpack://stremio/./src/common/MetaPreview/MetaLinks/styles.less","webpack://stremio/./src/common/MetaPreview/MetaPreviewPlaceholder/styles.less","webpack://stremio/./src/common/MetaPreview/styles.less","webpack://stremio/./src/common/MetaRow/MetaRowPlaceholder/styles.less","webpack://stremio/./src/common/MetaRow/styles.less","webpack://stremio/./src/common/MultiselectMenu/Dropdown/Option/Option.less","webpack://stremio/./src/common/MultiselectMenu/Dropdown/Dropdown.less","webpack://stremio/./src/common/MultiselectMenu/MultiselectMenu.less","webpack://stremio/./src/common/PaginationInput/styles.less","webpack://stremio/./src/common/SearchBar/SearchBarPlaceholder/styles.less","webpack://stremio/./src/common/SearchBar/styles.less","webpack://stremio/./src/common/StreamingServerWarning/styles.less","webpack://stremio/./src/common/Slider/styles.less","webpack://stremio/./src/common/Toast/ToastItem/styles.less","webpack://stremio/./src/common/EventModal/styles.less","webpack://stremio/./src/routes/Addons/Addon/styles.less","webpack://stremio/./src/routes/Addons/styles.less","webpack://stremio/./src/routes/Board/styles.less","webpack://stremio/./src/routes/Discover/styles.less","webpack://stremio/./src/routes/NotFound/styles.less","webpack://stremio/./src/routes/Library/styles.less","webpack://stremio/./src/routes/MetaDetails/StreamsList/Stream/StreamPlaceholder/styles.less","webpack://stremio/./src/routes/MetaDetails/StreamsList/Stream/styles.less","webpack://stremio/./src/routes/MetaDetails/StreamsList/styles.less","webpack://stremio/./src/routes/MetaDetails/VideosList/SeasonsBar/SeasonsBarPlaceholder/styles.less","webpack://stremio/./src/routes/MetaDetails/VideosList/SeasonsBar/styles.less","webpack://stremio/./src/routes/MetaDetails/VideosList/Video/VideoPlaceholder/styles.less","webpack://stremio/./src/routes/MetaDetails/VideosList/Video/styles.less","webpack://stremio/./src/routes/MetaDetails/VideosList/styles.less","webpack://stremio/./src/routes/MetaDetails/styles.less","webpack://stremio/./src/routes/Search/styles.less","webpack://stremio/./src/routes/Settings/styles.less","webpack://stremio/./src/routes/Player/BufferingLoader/styles.less","webpack://stremio/./src/routes/Player/ControlBar/VolumeSlider/styles.less","webpack://stremio/./src/routes/Player/VolumeChangeIndicator/styles.less","webpack://stremio/./src/routes/Player/Error/styles.less","webpack://stremio/./src/routes/Player/ControlBar/SeekBar/styles.less","webpack://stremio/./src/routes/Player/ControlBar/styles.less","webpack://stremio/./src/routes/Player/NextVideoPopup/styles.less","webpack://stremio/./src/routes/Player/StatisticsMenu/styles.less","webpack://stremio/./src/routes/Player/InfoMenu/styles.less","webpack://stremio/./src/routes/Player/OptionsMenu/Option/styles.less","webpack://stremio/./src/routes/Player/OptionsMenu/styles.less","webpack://stremio/./src/routes/Player/VideosMenu/styles.less","webpack://stremio/./src/routes/Player/SubtitlesMenu/DiscreteSelectInput/styles.less","webpack://stremio/./src/routes/Player/SubtitlesMenu/styles.less","webpack://stremio/./src/routes/Player/SpeedMenu/Option/styles.less","webpack://stremio/./src/routes/Player/SpeedMenu/styles.less","webpack://stremio/./src/routes/Player/styles.less","webpack://stremio/./src/routes/Player/Video/styles.less","webpack://stremio/./src/routes/Intro/ConsentCheckbox/styles.less","webpack://stremio/./src/routes/Intro/PasswordResetModal/styles.less","webpack://stremio/./src/routes/Intro/styles.less","webpack://stremio/./src/App/ErrorDialog/styles.less","webpack://stremio/./src/App/styles.less","webpack://stremio/./src/common/animations.less","webpack://stremio/./src/router/styles.css"],"sourcesContent":["// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.button-container {\n outline-width: var(--focus-outline-size);\n outline-color: @color-surface-light5;\n outline-offset: calc(-1 * var(--focus-outline-size));\n cursor: pointer;\n\n &:focus {\n outline-style: solid;\n }\n\n &:global(.disabled) {\n pointer-events: none;\n opacity: 0.5;\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.modal-container {\n display: flex;\n justify-content: center;\n align-items: center;\n background-color: @color-background-dark5-40;\n\n .modal-dialog-container {\n position: relative;\n flex: none;\n display: flex;\n flex-direction: column;\n max-width: 80%;\n max-height: 80%;\n padding: 0 2rem;\n border-radius: var(--border-radius);\n background-color: var(--modal-background-color);\n box-shadow: var(--outer-glow);\n\n .modal-dialog-background {\n z-index: 0;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n background-size: cover;\n background-position: center;\n opacity: 0.1;\n }\n\n .close-button-container {\n position: absolute;\n top: 0.5rem;\n right: 0.5rem;\n width: 3rem;\n height: 3rem;\n padding: 0.5rem;\n border-radius: var(--border-radius);\n z-index: 2;\n\n .icon {\n display: block;\n width: 100%;\n height: 100%;\n color: var(--primary-foreground-color);\n opacity: 0.4;\n }\n\n &:hover,\n &:focus {\n .icon {\n opacity: 1;\n color: var(--primary-foreground-color);\n }\n }\n\n &:focus {\n outline-color: var(--primary-foreground-color);\n }\n }\n\n .modal-dialog-content {\n z-index: 1;\n position: relative;\n overflow-y: auto;\n\n .title-container {\n flex: 1 0 auto;\n display: flex;\n align-items: center;\n height: 4.5rem;\n font-size: 1.2rem;\n font-weight: 500;\n color: var(--primary-foreground-color);\n }\n\n .body-container {\n flex: 1;\n align-self: stretch;\n overflow-y: auto;\n padding: 2rem 0;\n\n &:last-child {\n margin-bottom: 2rem;\n }\n }\n\n .buttons-container {\n flex: none;\n align-self: stretch;\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n\n &:last-child {\n margin: 2rem 0;\n }\n }\n }\n }\n}\n\n.action-button {\n flex: 1;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n height: 3.5rem;\n border-radius: 3.5rem;\n padding: 1.2rem;\n background-color: var(--secondary-accent-color);\n\n &:hover {\n background-color: transparent;\n outline: var(--focus-outline-size) solid var(--secondary-accent-color);\n }\n\n &:focus {\n outline-color: var(--primary-foreground-color);\n }\n\n &:not(:last-child) {\n margin-right: 1rem;\n }\n\n .icon {\n flex: none;\n width: 1.2rem;\n height: 1.2rem;\n margin-right: .5rem;\n color: var(--primary-foreground-color);\n }\n\n .label {\n flex-grow: 0;\n flex-shrink: 1;\n flex-basis: auto;\n max-height: 3.6em;\n font-size: 1.1rem;\n font-weight: 700;\n text-align: center;\n color: var(--primary-foreground-color);\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .modal-container {\n .modal-dialog-container {\n position: relative;\n width: 90%;\n max-width: initial;\n z-index: 0;\n padding: 0 1.5rem;\n\n .modal-dialog-content {\n .buttons-container {\n flex-direction: column;\n gap: 1rem;\n }\n }\n }\n\n .action-button {\n width: 100%;\n\n .label {\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.addon-details-container {\n .title-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n\n .logo, .icon {\n float: left;\n width: 5rem;\n height: 5rem;\n margin-right: 1.5rem;\n padding: 0.5rem;\n }\n\n .logo {\n object-fit: contain;\n object-position: center;\n }\n\n .icon {\n color: var(--primary-foreground-color);\n }\n\n .name-container {\n flex-grow: 1;\n flex-shrink: 1;\n flex-basis: 0;\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n align-items: baseline;\n \n .name {\n flex-grow: 0;\n flex-shrink: 1;\n flex-basis: auto;\n margin-right: 0.5rem;\n font-size: 1.6rem;\n color: var(--primary-foreground-color);\n }\n \n .version {\n flex-grow: 1;\n flex-shrink: 1;\n flex-basis: auto;\n margin-top: 0.5rem;\n color: var(--primary-foreground-color);\n }\n }\n }\n\n .section-container {\n margin-top: 1rem;\n\n .section-header {\n font-size: 1.1rem;\n color: var(--primary-foreground-color);\n }\n\n .section-label {\n font-size: 1.1rem;\n font-weight: 300;\n color: var(--primary-foreground-color);\n\n &.transport-url-label {\n user-select: text;\n }\n\n &.disclaimer-label {\n font-style: italic;\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n:import('~stremio/common/ModalDialog/styles.less') {\n label: label;\n}\n\n.addon-details-modal-container {\n .addon-details-container, .addon-details-message-container {\n width: 40rem;\n max-width: 100%;\n color: var(--primary-foreground-color);\n }\n\n .cancel-button {\n background-color: transparent;\n opacity: 0.3;\n\n &:hover {\n outline: var(--focus-outline-size) solid var(--primary-foreground-color);\n opacity: 1;\n }\n\n &:focus {\n outline-color: var(--primary-foreground-color);\n }\n\n .cancel-button-label {\n color: var(--primary-foreground-color);\n }\n }\n\n .uninstall-button {\n background-color: var(--overlay-color);\n \n &:hover {\n outline: var(--focus-outline-size) solid var(--overlay-color);\n background-color: transparent;\n }\n\n &:focus {\n outline-color: var(--primary-foreground-color);\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n@height: 1.7rem;\n@width: 3.2rem;\n@thumb-margin: 0.5rem;\n\n@thumb-size: calc(@height - @thumb-margin);\n\n.checkbox-container {\n position: relative;\n \n .toggle {\n position: relative;\n width: @width;\n height: @height;\n border-radius: @height;\n background-color: var(--overlay-color);\n transition: background-color 0.1s ease-in-out;\n\n &::before {\n content: \"\";\n position: absolute;\n height: @thumb-size;\n width: @thumb-size;\n top: calc(@thumb-margin / 2);\n left: calc(@thumb-margin / 2);\n border-radius: 50%;\n background-color: var(--primary-foreground-color);\n transition: transform 0.1s ease-in-out;\n }\n }\n\n &:global(.checked) {\n .toggle {\n background-color: var(--secondary-accent-color);\n\n &::before {\n transform: translateX(calc(@width - @thumb-size - @thumb-margin));\n }\n }\n }\n}","// Copyright (C) 2017-2024 Smart code 203358507\n\n@height: 2.75rem;\n\n.chip {\n flex: none;\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n height: @height;\n font-size: 1rem;\n font-weight: 500;\n color: var(--primary-foreground-color);\n white-space: nowrap;\n text-transform: capitalize;\n padding: 0 1.75rem;\n border-radius: @height;\n -webkit-tap-highlight-color: transparent;\n background-color: transparent;\n user-select: none;\n overflow: hidden;\n\n &:hover {\n background-color: var(--overlay-color);\n transition: background-color 0.1s ease-out;\n }\n\n &.active {\n font-weight: 700;\n background-color: var(--quaternary-accent-color);\n transition: background-color 0.1s ease-in;\n }\n}","// Copyright (C) 2017-2024 Smart code 203358507\n\n@mask-width: 10%;\n\n.chips {\n position: relative;\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n gap: 1rem;\n overflow-x: auto;\n\n &.left {\n mask-image: linear-gradient(90deg, rgba(0, 0, 0, 1) calc(100% - @mask-width), rgba(0, 0, 0, 0) 100%);\n }\n\n &.right {\n mask-image: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) @mask-width);\n }\n\n &.center {\n mask-image: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) @mask-width, rgba(0, 0, 0, 1) calc(100% - @mask-width), rgba(0, 0, 0, 0) 100%);\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n.color-picker-container {\n overflow: visible;\n text-align: center;\n\n * {\n overflow: visible;\n }\n\n :global(.a-color-picker-stack):not(:global(.a-color-picker-row-top)) canvas, :global(.a-color-picker-circle) {\n border: solid thin var(--color-surfacedark);\n }\n\n :global(.a-color-picker-circle) {\n box-shadow: 0 0 .2rem var(--color-surfacedark);\n }\n\n :global(.a-color-picker-clipbaord) {\n pointer-events: none;\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.color-input-container {\n position: relative;\n z-index: 0;\n\n .transparent-label-container {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0 0.5rem;\n border: thin solid @color-surface-light5-20;\n pointer-events: none;\n\n .transparent-label {\n flex: 1;\n text-align: center;\n color: @color-surface-light5;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n }\n}\n\n.color-picker-container {\n margin: 1rem 0;\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.label-container {\n // IOS specific \n // prevents showing the default context-menu when long pressing an anchor in safari.\n -webkit-touch-callout: none !important;\n\n position: relative;\n overflow: visible;\n\n .menu-container {\n position: absolute;\n z-index: 1;\n overflow: hidden;\n visibility: hidden;\n border-radius: var(--border-radius);\n background-color: var(--modal-background-color);\n box-shadow: var(--outer-glow);\n cursor: auto;\n\n &.menu-direction-top-left {\n top: initial;\n right: 0;\n bottom: 100%;\n left: initial;\n visibility: visible;\n }\n\n &.menu-direction-bottom-left {\n top: 100%;\n right: 0;\n bottom: initial;\n left: initial;\n visibility: visible;\n }\n\n &.menu-direction-top-right {\n top: initial;\n right: initial;\n bottom: 100%;\n left: 0;\n visibility: visible;\n }\n\n &.menu-direction-bottom-right {\n top: 100%;\n right: initial;\n bottom: initial;\n left: 0;\n visibility: visible;\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n:import('~stremio/common/Popup/styles.less') {\n popup-menu-container: menu-container;\n}\n\n.label-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n height: 2.75rem;\n padding: 0 1.5rem;\n border-radius: 2.75rem;\n background-color: var(--overlay-color);\n\n &:global(.active) {\n .icon {\n transform: rotate(180deg);\n }\n }\n\n >.label {\n flex: 1;\n max-height: 2.4em;\n font-weight: 500;\n color: var(--primary-foreground-color);\n }\n\n .icon {\n flex: none;\n width: 1rem;\n height: 1rem;\n margin-left: 1rem;\n color: var(--primary-foreground-color);\n opacity: 0.4;\n }\n\n .popup-menu-container {\n width: 100%;\n }\n}\n\n.modal-container, .popup-menu-container {\n .menu-container {\n .option-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n padding: 1rem;\n\n &:global(.selected) {\n .icon {\n display: block;\n }\n }\n\n &:hover, &:focus {\n background-color: var(--overlay-color);\n }\n\n .label {\n flex: 1;\n max-height: 4.8em;\n color: var(--primary-foreground-color);\n }\n\n .icon {\n flex: none;\n display: none;\n width: 0.5rem;\n height: 0.5rem;\n border-radius: 100%;\n margin-left: 1rem;\n background-color: var(--secondary-accent-color);\n opacity: 1;\n }\n }\n\n .no-options-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n padding: 1rem;\n background-color: @color-background;\n\n .label {\n flex-grow: 0;\n flex-shrink: 1;\n flex-basis: auto;\n font-size: 1.2rem;\n font-weight: 500;\n text-align: center;\n color: @color-surface-light5-90;\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.background {\n fill: @color-surface-light5;\n}\n\n.icon {\n fill: @color-background-dark5;\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n:import('~stremio/common/Popup/styles.less') {\n popup-menu-container: menu-container;\n}\n\n:import('~stremio/common/Multiselect/styles.less') {\n multiselect-menu-container: menu-container;\n multiselect-option-container: option-container;\n multiselect-option-label: label;\n}\n\n:import('~stremio/common/PlayIconCircleCentered/styles.less') {\n play-icon-circle-centered-background: background;\n play-icon-circle-centered-icon: icon;\n}\n\n@play-icon-size: 4rem;\n\n.meta-item-container {\n padding: 1rem;\n overflow: visible;\n -webkit-tap-highlight-color: transparent;\n\n &:hover, &:focus, &:global(.active), &:global(.selected) {\n outline-style: none;\n transition: background-color 100ms ease-out;\n\n .poster-container {\n box-shadow: 0 0 0 0.2rem var(--primary-foreground-color);\n\n .dismiss-icon-layer {\n opacity: 1;\n }\n\n .poster-image-layer {\n transform: scale(1.05);\n }\n\n .play-icon-layer {\n .play-icon-outer {\n color: transparent;\n }\n\n .play-icon-background {\n background-color: var(--secondary-accent-color);\n opacity: 1;\n }\n }\n }\n\n .title-bar-container {\n .menu-label-container {\n opacity: 1;\n }\n }\n }\n\n &.poster-shape-poster {\n .poster-container {\n padding-top: calc(100% * var(--poster-shape-ratio));\n }\n }\n\n &.poster-shape-square {\n .poster-container {\n padding-top: 100%;\n }\n }\n\n &.poster-shape-landscape {\n .poster-container {\n padding-top: calc(100% * var(--landscape-shape-ratio));\n }\n }\n\n .poster-container {\n position: relative;\n z-index: 0;\n background-color: var(--overlay-color);\n border-radius: var(--border-radius);\n\n &:global(.poster-change-cursor) {\n .poster-image-layer {\n &:hover {\n cursor: zoom-in;\n }\n }\n }\n\n .dismiss-icon-layer {\n z-index: -2;\n position: absolute;\n top: 0.5rem;\n left: 0.5rem;\n display: flex;\n align-items: center;\n justify-content: center;\n height: 1.5rem;\n width: 1.5rem;\n border-radius: 100%;\n opacity: 0;\n transition: opacity 0.1s ease-in;\n\n .dismiss-icon {\n z-index: 1;\n position: relative;\n height: 1.25rem;\n width: 1.25rem;\n color: var(--primary-foreground-color);\n opacity: 0.8;\n }\n\n .dismiss-icon-backdrop {\n z-index: 0;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n background-color: var(--primary-background-color);\n opacity: 0.6;\n }\n }\n\n .watched-icon-layer {\n position: absolute;\n top: 0;\n left: 0;\n display: flex;\n justify-content: center;\n align-items: center;\n width: 1.5rem;\n height: 1.5rem;\n background-color: var(--primary-accent-color);\n border-radius: 50%;\n margin: 0.5rem;\n\n .watched-icon {\n width: 0.75rem;\n height: 0.75rem;\n color: var(--primary-foreground-color);\n }\n }\n\n .poster-image-layer {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: -3;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n transition: transform 0.1s ease-out;\n\n .poster-image {\n flex: none;\n width: 100%;\n height: 100%;\n object-position: center;\n object-fit: cover;\n opacity: 0.9;\n }\n\n .placeholder-icon {\n flex: none;\n width: 80%;\n height: 50%;\n color: var(--primary-foreground-color);\n opacity: 0.2;\n }\n }\n\n .play-icon-layer {\n z-index: -2;\n position: absolute;\n top: 50%;\n left: 50%;\n margin-top: calc(@play-icon-size / -2);\n margin-left: calc(@play-icon-size / -2);\n display: flex;\n align-items: center;\n justify-content: center;\n height: @play-icon-size;\n width: @play-icon-size;\n transition: transform 0.1s ease-out;\n\n .play-icon {\n z-index: 2;\n position: relative;\n height: 2.25rem;\n width: 2.25rem;\n color: var(--primary-foreground-color);\n }\n\n .play-icon-outer {\n z-index: 1;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n color: var(--primary-foreground-color);\n box-shadow: 0 0 0 0.15rem currentColor inset;\n border-radius: 100%;\n transition: color 0.1s ease-in;\n }\n\n .play-icon-background {\n z-index: 0;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n background-color: var(--primary-background-color);\n border-radius: 100%;\n opacity: 0.4;\n transition: all 0.1s ease-in;\n }\n\n &:hover {\n transform: scale(1.1);\n }\n }\n\n .progress-bar-layer {\n z-index: -1;\n position: absolute;\n bottom: 1rem;\n left: 1rem;\n right: 1rem;\n height: 0.45rem;\n border-radius: 0.45rem;\n overflow: hidden;\n\n .progress-bar {\n position: relative;\n height: 100%;\n background-color: var(--primary-foreground-color);\n }\n \n .progress-bar-background {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: var(--primary-foreground-color);\n opacity: 0.3;\n }\n }\n\n .new-videos {\n z-index: -1;\n position: absolute;\n top: 0;\n right: 0;\n overflow: visible;\n\n .layer {\n position: absolute;\n display: flex;\n align-items: center;\n justify-content: center;\n height: 1.25rem;\n width: 2.25rem;\n border-radius: 0.25rem;\n\n &:nth-child(1) {\n top: 0.5rem;\n right: 0.5rem;\n background-color: var(--primary-foreground-color);\n opacity: 0.4;\n }\n\n &:nth-child(2) {\n top: 0.75rem;\n right: 0.75rem;\n background-color: var(--primary-foreground-color);\n opacity: 0.6;\n }\n\n &:nth-child(3) {\n top: 1rem;\n right: 1rem;\n background-color: var(--primary-foreground-color);\n }\n\n .icon {\n height: 0.8rem;\n width: 0.8rem;\n color: var(--primary-accent-color);\n }\n\n .label {\n font-size: 0.8rem;\n font-weight: 600;\n color: var(--primary-accent-color);\n }\n }\n }\n }\n\n .title-bar-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n height: 4rem;\n overflow: visible;\n\n .title-label {\n flex: 1;\n padding-left: 1.5rem;\n font-weight: 600;\n text-align: center;\n color: var(--primary-foreground-color);\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n\n &:only-child {\n padding: 0 0.5rem;\n }\n }\n\n .menu-label-container {\n z-index: 1;\n flex: none;\n width: 1.5rem;\n height: 4rem;\n padding: 1rem 0;\n background-color: transparent;\n opacity: 0;\n transform: translateX(1rem);\n transition: opacity 0.1s ease-out;\n\n .icon {\n display: block;\n width: 100%;\n height: 100%;\n color: var(--primary-foreground-color);\n opacity: 0.6;\n }\n\n .popup-menu-container {\n width: auto;\n\n .multiselect-menu-container {\n min-width: 9rem;\n max-width: 14rem;\n\n .multiselect-option-container {\n padding: 1rem 1.5rem;\n\n &:hover, &:focus {\n outline: none;\n background-color: var(--overlay-color);\n }\n\n .multiselect-option-label {\n font-weight: 500;\n color: var(--primary-foreground-color);\n opacity: 0.8;\n }\n }\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .meta-item-container {\n padding: 0.5rem;\n\n .title-bar-container {\n margin-top: 0.5rem;\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n.text-input {\n user-select: text;\n\n &::-moz-focus-inner {\n border: none;\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.search-bar-container {\n --search-bar-size: 3.25rem;\n display: flex;\n flex-direction: row;\n height: var(--search-bar-size);\n border-radius: var(--search-bar-size);\n background-color: var(--overlay-color);\n position: relative;\n overflow: visible;\n\n .search-input {\n flex: 1;\n align-self: stretch;\n display: flex;\n flex-direction: row;\n align-items: center;\n padding: 0 0.5rem 0 2rem;\n font-weight: 500;\n color: var(--primary-foreground-color);\n cursor: text;\n\n &::placeholder, .placeholder-label {\n max-height: 1.2em;\n opacity: 1;\n color: var(--primary-foreground-color);\n opacity: 0.6;\n }\n }\n\n .submit-button-container {\n flex: none;\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n height: var(--search-bar-size);\n padding: 0 1.5rem;\n\n .icon {\n flex: none;\n width: 1.7rem;\n height: 1.7rem;\n color: var(--primary-foreground-color);\n opacity: 0.6;\n }\n }\n\n .menu-container {\n position: absolute;\n top: 100%;\n left: 0;\n width: 100%;\n height: auto;\n z-index: 10;\n padding: 1rem;\n margin: 0 auto;\n display: flex;\n justify-content: center;\n align-items: flex-start;\n flex-direction: column;\n gap: 1.5rem;\n background-color: var(--modal-background-color);\n border-radius: var(--border-radius);\n \n .label {\n font-size: 0.9rem;\n color: var(--primary-foreground-color);\n }\n\n .title {\n display: flex;\n justify-content: space-between;\n width: 100%;\n opacity: 0.8;\n padding-bottom: 1rem;\n\n .search-history-clear {\n cursor: pointer;\n color: var(--primary-foreground-color);\n font-size: 0.9rem;\n\n &:hover {\n opacity: 0.6;\n }\n }\n }\n\n .items {\n width: 100%;\n margin: 0 auto;\n display: flex;\n justify-content: center;\n align-items: flex-start;\n flex-direction: column;\n\n .item {\n width: 90%;\n color: var(--primary-foreground-color);\n text-align: left;\n text-decoration: none;\n padding: 0.5rem 1rem;\n border-radius: var(--border-radius);\n width: 100%;\n cursor: pointer;\n z-index: 10;\n\n &:hover {\n background-color: var(--secondary-background-color);\n }\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n:import('~stremio/common/Popup/styles.less') {\n popup-menu-container: menu-container;\n}\n\n.nav-menu-popup-label {\n .popup-menu-container {\n margin-top: 1rem;\n }\n}\n.nav-menu-container {\n width: 22rem;\n max-height: calc(100vh - var(--horizontal-nav-bar-size));\n overflow-y: auto;\n border-radius: var(--border-radius);\n background-color: var(--modal-background-color);\n\n .user-info-container {\n display: flex;\n padding: 1.5rem 1rem;\n\n .avatar-container {\n flex: none;\n height: 4rem;\n width: 4rem;\n border-radius: 50%;\n background-size: cover;\n background-repeat: no-repeat;\n background-position: center;\n background-origin: content-box;\n background-clip: content-box;\n background-color: var(--primary-foreground-color);\n opacity: 0.9;\n }\n\n .user-info-details {\n flex: auto;\n display: flex;\n flex-direction: column;\n justify-content: center;\n margin-left: 1rem;\n\n .email-container {\n flex: none;\n margin-bottom: 0.5rem;\n\n .email-label {\n flex: 1;\n color: var(--primary-foreground-color);\n }\n }\n\n .logout-button-container {\n flex: none;\n\n &:hover, &:focus {\n outline: none;\n\n .logout-label {\n text-decoration: underline;\n }\n }\n\n .logout-label {\n flex: 1;\n font-size: 0.9rem;\n font-weight: 500;\n color: var(--primary-foreground-color);\n }\n }\n }\n }\n\n .nav-menu-section {\n border-top: thin solid var(--overlay-color);\n\n .nav-menu-option-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n height: 4rem;\n padding: 0 1.5rem;\n\n &:hover {\n background-color: var(--overlay-color);\n }\n\n .icon {\n flex: none;\n width: 2rem;\n height: 2rem;\n margin-right: 1rem;\n color: var(--primary-foreground-color);\n opacity: 0.3;\n }\n\n .nav-menu-option-label {\n flex: 1;\n color: var(--primary-foreground-color);\n }\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .nav-menu-container {\n max-height: calc(100vh - var(--horizontal-nav-bar-size) - var(--vertical-nav-bar-size) - 1rem);\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.horizontal-nav-bar-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n height: var(--horizontal-nav-bar-size);\n padding-right: 1rem;\n background-color: transparent;\n overflow: visible;\n\n .logo-container {\n flex: none;\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--vertical-nav-bar-size);\n height: var(--horizontal-nav-bar-size);\n\n .logo {\n flex: none;\n width: 2.5rem;\n height: 2.5rem;\n object-position: center;\n object-fit: contain;\n opacity: 0.9;\n }\n }\n\n .back-button-container {\n margin-left: 1rem;\n }\n\n .title {\n flex: 4 0 0;\n padding: 0 1rem;\n font-size: 1.2rem;\n font-style: normal;\n font-weight: 500;\n letter-spacing: 0.01rem;\n white-space: nowrap;\n text-overflow: ellipsis;\n color: @color-secondaryvariant2-light1-90;\n }\n\n .search-bar {\n height: 3.25rem;\n width: 30rem;\n }\n\n .buttons-container {\n display: flex;\n flex-direction: row;\n gap: 0.5rem;\n overflow: visible;\n }\n\n .button-container {\n flex: none;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 3.5rem;\n height: 3.5rem;\n border-radius: 0.75rem;\n opacity: 0.4;\n\n .icon {\n flex: none;\n width: 2rem;\n height: 2rem;\n color: var(--primary-foreground-color);\n opacity: 0.6;\n }\n\n &:hover, &:global(.active) {\n background-color: var(--overlay-color);\n opacity: 1;\n\n .icon {\n color: var(--primary-foreground-color);\n opacity: 0.8;\n }\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .horizontal-nav-bar-container {\n justify-content: space-between;\n padding-right: 0;\n\n .logo-container {\n width: var(--horizontal-nav-bar-size);\n }\n\n .button-container {\n margin: 0 1rem;\n\n &:not(.back-button-container):not(.menu-button-container) {\n display: none;\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.nav-tab-button-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n background-color: transparent;\n border-radius: 0.75rem;\n\n &:hover {\n background-color: var(--overlay-color);\n\n .label {\n opacity: 0.6;\n }\n }\n\n &:global(.selected) {\n .icon {\n opacity: 1;\n color: var(--primary-accent-color);\n }\n }\n\n .icon, .logo {\n flex: none;\n width: 2.2rem;\n height: 2.2rem;\n margin-bottom: 0.5rem;\n }\n\n .icon {\n color: var(--primary-foreground-color);\n opacity: 0.2;\n }\n\n .label {\n flex: none;\n position: relative;\n max-width: 100%;\n max-height: 2.4em;\n padding: 0 0.5rem;\n font-size: 0.8rem;\n font-weight: 500;\n letter-spacing: 0.01rem;\n text-align: center;\n white-space: nowrap;\n text-overflow: ellipsis;\n color: var(--primary-foreground-color);\n opacity: 0;\n overflow: hidden;\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .nav-tab-button-container {\n .label {\n opacity: 0.2;\n }\n\n &:global(.selected) {\n .label {\n opacity: 0.6;\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.vertical-nav-bar-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 1rem;\n width: var(--vertical-nav-bar-size);\n background-color: transparent;\n overflow-y: auto;\n scrollbar-width: none;\n\n &::-webkit-scrollbar {\n display: none;\n }\n\n .nav-tab-button {\n width: calc(var(--vertical-nav-bar-size) - 1.5rem);\n height: calc(var(--vertical-nav-bar-size) - 1.5rem);\n\n &:first-child {\n margin-top: 1rem;\n }\n\n &:last-child {\n margin-bottom: 1rem;\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .vertical-nav-bar-container {\n flex-direction: row;\n justify-content: space-between;\n gap: 0;\n height: var(--vertical-nav-bar-size);\n width: 100%;\n padding: 0 1rem;\n overflow-y: hidden;\n overflow-x: auto;\n\n .nav-tab-button {\n flex: none;\n\n &:first-child {\n margin-top: 0;\n }\n \n &:last-child {\n margin-bottom: 0;\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.main-nav-bars-container {\n position: relative;\n z-index: 0;\n\n .horizontal-nav-bar {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n }\n\n .vertical-nav-bar {\n position: absolute;\n top: var(--horizontal-nav-bar-size);\n bottom: 0;\n left: 0;\n z-index: 1;\n }\n\n .nav-content-container {\n position: absolute;\n top: var(--horizontal-nav-bar-size);\n right: 0;\n bottom: 0;\n left: var(--vertical-nav-bar-size);\n z-index: 0;\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .main-nav-bars-container {\n .nav-content-container {\n left: 0;\n bottom: var(--vertical-nav-bar-size);\n }\n\n .vertical-nav-bar {\n top: initial;\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.share-prompt-container {\n .buttons-container {\n display: flex;\n flex-direction: row;\n\n .button-container {\n flex: 1;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n padding: 1rem;\n\n &:not(:last-child) {\n margin-right: 1rem;\n }\n\n .icon {\n flex: none;\n height: 1.5rem;\n color: var(--primary-foreground-color);\n }\n }\n\n .facebook-button, .x-button, .reddit-button {\n border-radius: var(--border-radius);\n\n &:focus {\n outline-color: var(--primary-foreground-color);\n }\n }\n\n .facebook-button {\n background-color: var(--color-facebook);\n }\n\n .x-button {\n background-color: var(--color-x);\n }\n\n .reddit-button {\n background-color: var(--color-reddit);\n }\n }\n\n .url-container {\n display: flex;\n flex-direction: row;\n margin-top: 1rem;\n border-radius: var(--border-radius);\n background-color: var(--overlay-color);\n\n .url-text-input {\n flex: 1;\n align-self: stretch;\n padding: 1rem;\n font-size: 1.1rem;\n text-align: center;\n color: var(--primary-foreground-color);\n }\n\n .copy-button {\n flex: none;\n align-self: stretch;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n width: 8rem;\n padding: 1rem;\n border-radius: 0 var(--border-radius) var(--border-radius) 0;\n background-color: var(--secondary-accent-color);\n\n &:hover {\n outline: var(--focus-outline-size) solid var(--secondary-accent-color);\n background-color: transparent;\n }\n\n &:focus {\n outline-color: var(--primary-foreground-color);\n }\n\n .icon {\n flex: none;\n width: 1.2rem;\n height: 1.2rem;\n margin-right: 0.5rem;\n color: var(--primary-foreground-color);\n }\n\n .label {\n flex-grow: 0;\n flex-shrink: 1;\n flex-basis: auto;\n max-height: 2.4em;\n font-size: 1.1rem;\n color: var(--primary-foreground-color);\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.action-button-container {\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n gap: 1rem;\n border-radius: 100%;\n background-color: var(--overlay-color);\n backdrop-filter: blur(5px);\n transition: background-color 0.1s ease-out;\n\n &:hover, &:focus {\n outline: var(--focus-outline-size) solid var(--primary-foreground-color);\n background-color: transparent;\n }\n\n .icon-container {\n flex: none;\n\n .icon {\n display: block;\n height: 1.75rem;\n width: 1.75rem;\n color: var(--primary-foreground-color);\n opacity: 0.9;\n }\n }\n\n .label-container {\n flex: none;\n align-self: stretch;\n display: flex;\n flex-direction: row;\n align-items: center;\n\n .label {\n flex: 1;\n font-size: 1rem;\n font-weight: 500;\n max-height: 2.4em;\n padding: 0 0.2rem;\n text-align: center;\n color: var(--primary-foreground-color);\n opacity: 0.9;\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .action-button-container {\n flex-direction: row;\n padding: 0 1rem;\n\n .icon-container {\n height: 2rem;\n width: 2rem;\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n.tooltip-item {\n position: fixed;\n opacity: 0;\n\n &:global(.active) {\n opacity: 1;\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n.tooltip-placeholder {\n z-index: -1;\n visibility: hidden;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.meta-links-container {\n .label-container {\n margin-bottom: 0.75rem;\n text-transform: uppercase;\n font-size: 0.95rem;\n font-weight: 700;\n color: var(--primary-foreground-color);\n opacity: 0.3;\n }\n\n .links-container {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n\n .link-container {\n flex-grow: 0;\n flex-shrink: 1;\n flex-basis: auto;\n margin-right: 0.75rem;\n margin-bottom: 0.75rem;\n padding: 0.4rem 1.25rem;\n white-space: nowrap;\n text-overflow: ellipsis;\n border-radius: 2rem;\n border: var(--focus-outline-size) solid transparent;\n font-size: 1rem;\n font-weight: 500;\n color: var(--primary-foreground-color);\n background-color: var(--overlay-color);\n backdrop-filter: blur(5px);\n\n &:hover, &:focus {\n background-color: @color-surface-light5-30;\n }\n\n &:focus {\n outline: none;\n border-color: @color-surface-light5;\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n.meta-preview-placeholder-container {\n display: flex;\n flex-direction: column;\n\n .meta-info-container {\n flex: 1;\n align-self: stretch;\n\n .logo-container {\n width: 20rem;\n height: 8rem;\n max-width: 100%;\n border-radius: var(--border-radius);\n background-color: var(--color-placeholder-background);\n }\n\n .duration-release-info-container {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n margin: 1rem 0;\n\n .duration-container {\n flex-basis: 5rem;\n height: 1.4rem;\n margin-right: 1rem;\n border-radius: var(--border-radius);\n background-color: var(--color-placeholder-background);\n }\n\n .release-info-container {\n flex-basis: 5rem;\n height: 1.4rem;\n border-radius: var(--border-radius);\n background-color: var(--color-placeholder-background);\n }\n }\n\n .genres-container {\n margin: 1rem 0;\n\n .genres-header-container {\n width: 6.5rem;\n height: 1.6rem;\n max-width: 100%;\n border-radius: var(--border-radius);\n background-color: var(--color-placeholder-background);\n }\n\n .genre-label-container {\n width: 10rem;\n height: 1.2rem;\n max-width: 100%;\n margin-top: 0.2rem;\n border-radius: var(--border-radius);\n background-color: var(--color-placeholder-background);\n }\n }\n }\n\n .action-buttons-container {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n height: 4rem;\n margin-bottom: 1rem;\n border-radius: 4rem;\n background-color: var(--color-placeholder-background);\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.meta-preview-container {\n position: relative;\n z-index: 0;\n display: flex;\n flex-direction: column;\n\n &.compact {\n .meta-info-container {\n .logo, .logo-placeholder {\n width: 100%;\n height: 6rem;\n }\n\n .runtime-release-info-container {\n justify-content: space-between;\n\n .runtime-label, .release-info-label {\n margin: 1rem 0.4rem;\n }\n }\n\n .description-container {\n max-height: none;\n }\n }\n\n .action-buttons-container {\n justify-content: space-between;\n\n .action-button:not(:last-child) {\n margin-right: 0;\n }\n }\n }\n\n .background-image-layer {\n position: absolute;\n top: -10px;\n right: -10px;\n bottom: -10px;\n left: -10px;\n z-index: -1;\n\n .background-image {\n display: block;\n width: 100%;\n height: 100%;\n object-fit: cover;\n object-position: center;\n filter: blur(10px);\n opacity: 0.3;\n }\n }\n\n .meta-info-container {\n flex: 1;\n align-self: stretch;\n overflow-y: auto;\n\n &:not(:hover) {\n scrollbar-color: transparent transparent;\n\n &::-webkit-scrollbar-thumb, &::-webkit-scrollbar-track {\n background-color: transparent;\n }\n }\n\n .logo, .logo-placeholder {\n display: block;\n max-width: 100%;\n margin-bottom: 2rem;\n }\n\n .logo {\n height: 9rem;\n object-fit: contain;\n object-position: center;\n }\n\n .logo-placeholder {\n font-size: 1.7rem;\n color: @color-surface-light5-90;\n }\n\n .runtime-release-info-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n flex-wrap: wrap;\n margin-top: 1rem;\n\n .runtime-label, .release-info-label {\n flex: 0 1 auto;\n margin-right: 3rem;\n font-size: 1.25rem;\n font-weight: 600;\n color: var(--primary-foreground-color);\n }\n\n .imdb-button-container {\n flex: 0 1 auto;\n display: flex;\n flex-direction: row;\n align-items: center;\n border-radius: 2.5rem;\n\n &:focus {\n outline: none;\n border: var(--focus-outline-size) solid @color-surface-light5;\n }\n\n .label {\n flex: 0 1 auto;\n margin-right: 1rem;\n font-size: 1.25rem;\n font-weight: 600;\n color: var(--primary-foreground-color);\n }\n\n .icon {\n flex: none;\n width: 3rem;\n height: 3rem;\n color: var(--color-imdb);\n }\n }\n }\n\n .description-container {\n margin-top: 1rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 2em;\n color: var(--primary-foreground-color);\n .label-container {\n text-transform: uppercase;\n font-size: 0.95rem;\n font-weight: 700;\n color: var(--primary-foreground-color);\n opacity: 0.3;\n }\n }\n\n .meta-links {\n margin-top: 1.5rem;\n }\n }\n\n .action-buttons-container {\n flex: none;\n align-self: stretch;\n display: flex;\n flex-direction: row;\n align-items: flex-end;\n max-height: 15rem;\n flex-wrap: wrap;\n padding-top: 3.5rem;\n overflow: visible;\n\n .label {\n position: absolute;\n top: -3rem;\n left: 0;\n opacity: 0;\n transition: opacity 0.3s ease; \n text-align: center;\n color: var(--primary-foreground-color);\n overflow: visible;\n }\n\n &:not(:last-child) {\n margin-right: 1rem;\n }\n\n &:hover {\n .label {\n opacity: 0.7;\n }\n }\n \n .action-button {\n flex: none;\n width: 4rem;\n height: 4rem;\n margin-bottom: 1rem;\n\n &:global(.wide) {\n width: auto;\n padding: 0 2rem;\n border-radius: 4rem;\n }\n\n &:not(:last-child) {\n margin-right: 1rem;\n }\n\n &.show-button {\n &:hover, &:focus {\n background-color: var( --secondary-accent-color);\n outline: none;\n }\n }\n }\n }\n}\n\n.share-prompt {\n width: 30rem;\n}\n\n@media only screen and (max-width: @minimum) {\n .meta-preview-container {\n .meta-info-container {\n .logo {\n margin: 2rem auto;\n }\n\n .runtime-release-info-container {\n justify-content: space-between;\n\n .runtime-label, .release-info-label {\n margin: 0;\n }\n }\n }\n\n .action-buttons-container {\n flex-shrink: 0;\n margin-top: 3rem;\n overflow: visible;\n scrollbar-width: none;\n \n &::-webkit-scrollbar {\n display: none;\n }\n }\n }\n\n .share-prompt {\n width: auto;\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.meta-row-placeholder-container {\n .header-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: flex-end;\n padding: 0 1rem;\n margin-bottom: 0.5rem;\n\n .title-container {\n flex: 1;\n max-height: 2.4em;\n font-size: 1.6rem;\n font-weight: 500;\n color: var(--color-placeholder-text);\n\n &:empty {\n height: 1.2em;\n background: linear-gradient(to right, var(--color-placeholder-background) 0 40%, transparent 40% 100%);\n }\n }\n\n .see-all-container {\n flex: none;\n display: flex;\n flex-direction: row;\n align-items: center;\n max-width: 12rem;\n padding: 0.2rem;\n\n &:focus {\n outline: none;\n background-color: var(--color-placeholder-background);\n }\n\n .label {\n flex: 0 1 auto;\n max-height: 1.2em;\n font-size: 1rem;\n font-weight: 500;\n color: var(--color-placeholder-text);\n }\n\n .icon {\n flex: none;\n height: 1rem;\n margin-left: 0.5rem;\n color: var(--color-placeholder-text);\n }\n }\n }\n\n .meta-items-container {\n display: flex;\n flex-direction: row;\n align-items: stretch;\n\n .meta-item {\n flex: 1;\n margin: 1rem;\n\n &:not(:first-child) {\n margin-left: 1.5rem;\n }\n\n .poster-container {\n border-radius: var(--border-radius);\n padding-bottom: calc(100% * var(--poster-shape-ratio));\n background-color: var(--color-placeholder-background);\n }\n\n .title-bar-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n height: 2.8rem;\n\n .title-label {\n flex: none;\n width: 60%;\n height: 1.2rem;\n border-radius: var(--border-radius);\n background-color: var(--color-placeholder-background);\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .meta-row-placeholder-container {\n .meta-items-container {\n .meta-item {\n margin: 0.5rem;\n\n &:not(:first-child) {\n margin-left: 0.5rem;\n }\n\n .title-bar-container {\n margin-top: 0.5rem;\n }\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.meta-row-container {\n overflow: visible;\n\n .header-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: flex-end;\n padding: 0 1rem;\n margin-bottom: 0.25rem;\n\n .title-container {\n flex: 1;\n max-height: 2.4em;\n font-size: 1.6rem;\n font-weight: 500;\n color: var(--primary-foreground-color);\n }\n\n .see-all-container {\n flex: none;\n display: flex;\n flex-direction: row;\n align-items: center;\n max-width: 12rem;\n height: 2.5rem;\n padding: 0 0.5rem 0 1rem;\n border-radius: 2.5rem;\n opacity: 0.6;\n\n &:hover, &:focus {\n outline: none;\n background-color: var(--overlay-color);\n opacity: 1;\n }\n\n .label {\n flex: 0 1 auto;\n max-height: 1.2em;\n font-size: 1rem;\n font-weight: 500;\n color: var(--primary-foreground-color);\n }\n\n .icon {\n flex: none;\n height: 1.5rem;\n margin-left: 0.5rem;\n color: var(--primary-foreground-color);\n }\n }\n }\n\n .message-container {\n max-height: 3.6em;\n padding: 0 0.5rem;\n font-size: 1.3rem;\n color: var(--primary-foreground-color);\n opacity: 0.6;\n }\n\n .meta-items-container {\n display: flex;\n flex-direction: row;\n align-items: stretch;\n overflow: visible;\n\n .meta-item {\n &.poster-shape-poster {\n flex: calc(1 / var(--poster-shape-ratio));\n }\n\n &.poster-shape-square {\n flex: 1;\n }\n\n &.poster-shape-landscape {\n flex: calc(1 / var(--landscape-shape-ratio));\n }\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .meta-row-container {\n .header-container {\n padding: 0 0.5rem;\n\n .title-container {\n margin-right: 0.5rem;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n }\n\n .meta-items-container {\n .meta-item {\n &:not(:first-child) {\n margin-left: 0;\n }\n }\n }\n }\n}","// Copyright (C) 2017-2024 Smart code 203358507\n\n.option {\n font-size: var(--font-size-normal);\n color: var(--primary-foreground-color);\n align-items: center;\n display: flex;\n flex-direction: row;\n padding: 1rem;\n\n .label {\n flex: 1;\n color: var(--primary-foreground-color);\n }\n \n .icon {\n flex: none;\n width: 0.5rem;\n height: 0.5rem;\n border-radius: 100%;\n margin-left: 1rem;\n background-color: var(--secondary-accent-color);\n opacity: 1;\n }\n\n &:hover {\n background-color: rgba(255, 255, 255, 0.15);\n }\n}","// Copyright (C) 2017-2024 Smart code 203358507\n\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.dropdown {\n background: var(--modal-background-color);\n display: none;\n position: absolute;\n width: 100%;\n top: 100%;\n left: 0;\n z-index: 10;\n box-shadow: var(--outer-glow);\n border-radius: var(--border-radius);\n overflow: hidden;\n\n &.open {\n display: block;\n max-height: calc(3.2rem * 10);\n overflow: auto;\n }\n\n .back-button {\n display: flex;\n align-items: center;\n gap: 0 0.5rem;\n padding: 0.75rem;\n color: var(--primary-foreground-color);\n\n .back-button-icon {\n width: 1.5rem;\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .dropdown {\n &.open {\n max-height: calc(3.2rem * 7);\n }\n }\n}","// Copyright (C) 2017-2024 Smart code 203358507\n\n@border-radius: 2.75rem;\n\n.multiselect-menu {\n position: relative;\n min-width: 8.5rem;\n overflow: visible;\n border-radius: @border-radius;\n\n &.disabled {\n pointer-events: none;\n opacity: 0.3;\n }\n\n .multiselect-button {\n color: var(--primary-foreground-color);\n padding: 0.75rem 1.5rem;\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: 0 0.5rem;\n border-radius: @border-radius;\n\n .icon {\n width: 1rem;\n color: var(--primary-foreground-color);\n opacity: 0.6;\n\n &.open {\n transform: rotate(180deg);\n }\n }\n }\n\n &:hover {\n background-color: var(--overlay-color);\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.pagination-input-container {\n display: flex;\n flex-direction: row;\n border-radius: var(--border-radius);\n\n .prev-button-container, .next-button-container {\n flex: none;\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: var(--overlay-color);\n\n .icon {\n display: block;\n color: var(--primary-foreground-color);\n }\n }\n\n .label-container {\n flex: 1;\n align-self: stretch;\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: var(--overlay-color);\n\n .label {\n flex: none;\n min-width: 1.2rem;\n max-width: 3rem;\n white-space: nowrap;\n text-overflow: ellipsis;\n text-align: center;\n font-weight: 500;\n color: var(--primary-foreground-color);\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n.search-bar-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n height: 3.5rem;\n padding: 0 1rem;\n border-radius: 3.5rem;\n border: var(--focus-outline-size) solid transparent;\n background-color: var(--color-placeholder-background);\n\n .search-input {\n flex: 1;\n max-height: 1.2em;\n margin-right: 1rem;\n font-size: 1.1rem;\n color: var(--color-placeholder-text);\n }\n\n .icon {\n flex: none;\n width: 1.5rem;\n height: 1.5rem;\n color: var(--color-placeholder-background);\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.search-bar-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n height: 3rem;\n padding: 0 1.5rem;\n border-radius: 3rem;\n border: var(--focus-outline-size) solid transparent;\n background-color: var(--overlay-color);\n cursor: text;\n\n &:focus-within {\n border: var(--focus-outline-size) solid var(--primary-foreground-color);\n }\n\n .search-input {\n flex: 1;\n margin-right: 1rem;\n font-size: 1rem;\n color: var(--primary-foreground-color);\n\n &::placeholder {\n color: var(--primary-foreground-color);\n opacity: 0.6;\n }\n }\n\n .icon {\n flex: none;\n width: 1.5rem;\n height: 1.5rem;\n color: var(--primary-foreground-color);\n opacity: 0.6;\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.warning-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n padding: 1rem;\n background-color: @color-accent5-dark3;\n\n .warning-statement {\n flex: 1;\n margin-right: 1rem;\n font-size: 1.2rem;\n max-height: 2.4em;\n color: @color-surface-light5-90;\n }\n\n .warning-button {\n flex: none;\n margin-left: 1rem;\n color: @color-surface-light5-90;\n\n &:first-child {\n margin-left: 0;\n }\n\n &:hover {\n .warning-label {\n text-decoration: underline;\n }\n }\n\n .warning-label {\n font-size: 1.2rem;\n max-height: 1.2em;\n color: @color-surface-light5-90;\n }\n }\n\n .warning-button:hover {\n text-decoration: underline;\n }\n}\n\n@media only screen and (max-width: 500px) {\n .warning-container {\n display: block;\n height: auto !important;\n text-align: center;\n .warning-statement {\n margin-bottom: 0.5rem;\n margin-right: 0;\n }\n .warning-button {\n display: inline-block;\n }\n }\n}\n","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\nhtml.active-slider-within {\n cursor: grabbing;\n\n body {\n pointer-events: none;\n }\n}\n\n.slider-container {\n position: relative;\n z-index: 0;\n overflow: visible;\n cursor: pointer;\n\n &:global(.disabled) {\n pointer-events: none;\n opacity: 0.5;\n }\n\n .layer {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 0;\n display: flex;\n flex-direction: row;\n align-items: center;\n overflow: visible;\n }\n\n .track {\n z-index: 0;\n flex: 1;\n height: var(--track-size);\n border-radius: var(--track-size);\n background-color: var(--overlay-color);\n }\n\n .track-before {\n z-index: 1;\n flex: none;\n height: var(--track-size);\n border-radius: var(--track-size);\n background-color: var(--overlay-color);\n }\n\n .track-after {\n z-index: 2;\n flex: none;\n height: var(--track-size);\n border-radius: var(--track-size);\n background-color: var(--primary-foreground-color);\n }\n\n .thumb {\n z-index: 3;\n flex: none;\n width: var(--thumb-size);\n height: var(--thumb-size);\n transform: translateX(-50%);\n background-color: var(--primary-foreground-color);\n border-radius: 100%;\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.toast-item-container {\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n width: 25rem;\n margin-bottom: 1rem;\n overflow: visible;\n box-shadow: var(--outer-glow);\n background-color: var(--modal-background-color);\n pointer-events: auto;\n border-radius: var(--border-radius);\n border: 0.4px solid var(--primary-accent-color);\n backdrop-filter: blur(10px);\n padding: 1rem;\n &.success {\n .icon-container {\n .icon {\n color: @color-accent3;\n }\n }\n }\n\n &.error {\n .icon-container {\n .icon {\n color: var(--color-trakt);\n }\n }\n }\n\n &.info {\n .icon-container {\n background-color: @color-primary-light2;\n\n .icon {\n color: @color-surface-light5-90;\n }\n }\n }\n\n .icon-container {\n border-radius: 3px;\n background-color: var(--overlay-color);\n\n .icon {\n display: block;\n width: 100%;\n height: 100%;\n max-width: 2rem;\n }\n }\n\n .info-container {\n flex: 1;\n align-self: stretch;\n padding: 0.2rem 1rem;\n\n .title-container {\n font-size: 1.2rem;\n color: var(--primary-foreground-color);\n\n &:not(:last-child) {\n margin-bottom: 0.2rem;\n }\n }\n\n .message-container {\n font-size: 1.1rem;\n color: var(--primary-foreground-color);\n opacity: 0.8;\n }\n }\n\n .close-button-container {\n width: 2rem;\n height: 2rem;\n border-radius: 3px;\n \n .icon {\n display: block;\n width: 100%;\n height: 100%;\n color: var(--primary-foreground-color);\n opacity: 0.4;\n }\n\n &:hover {\n .icon {\n opacity: 1;\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~stremio/common/screen-sizes.less';\n\n:import('~stremio/common/ModalDialog/styles.less') {\n modal-dialog-content: modal-dialog-content;\n modal-dialog-container: modal-dialog-container;\n}\n\n.event-modal {\n backdrop-filter: blur(10px);\n\n .modal-dialog-container {\n overflow: visible;\n max-width: 45rem;\n\n .modal-dialog-content {\n display: flex;\n flex-direction: column;\n align-items: center;\n overflow: visible;\n\n .modal-dialog-content {\n overflow-y: visible;\n }\n \n .image {\n width: 100%;\n height: 100%;\n margin-top: -10rem;\n }\n \n .info-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 2.5rem;\n padding: 1rem 4rem;\n margin-top: -7rem;\n \n .title-container {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n\n .title {\n color: var(--primary-foreground-color);\n font-size: 1.325rem;\n text-align: center;\n padding: 0 6rem;\n }\n \n .label {\n color: var(--primary-foreground-color);\n font-size: 1rem;\n text-align: center;\n opacity: 0.5;\n }\n }\n \n .addon-container {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-direction: column;\n gap: 0.5rem;\n\n .icon {\n height: 2rem;\n width: 2rem;\n color: var(--primary-accent-color);\n }\n\n .name {\n color: var(--primary-foreground-color);\n }\n }\n \n .action-button {\n background-color: var(--primary-foreground-color);\n border: 2px solid var(--primary-foreground-color);\n padding: 0.8rem 2rem;\n border-radius: 2rem;\n \n .button-label {\n color: var(--primary-accent-color);\n font-size: 1rem;\n font-weight: 700;\n }\n \n &:hover {\n background-color: transparent;\n }\n }\n }\n }\n }\n\n @media only screen and (max-width: @minimum) {\n .modal-dialog-container {\n .modal-dialog-content {\n .image {\n height: 125%;\n width: 125%;\n }\n\n .info-container {\n .title-container {\n .title {\n padding: 0rem;\n font-size: 1rem;\n }\n\n .label {\n font-size: 0.875rem;\n }\n }\n }\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.addon-container {\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n padding: 1.5rem;\n border-radius: var(--border-radius);\n background-color: var(--overlay-color);\n cursor: inherit;\n\n .logo-container {\n flex: none;\n width: 8rem;\n height: 8rem;\n\n .logo {\n display: block;\n width: 100%;\n height: 100%;\n padding: 0.5rem;\n object-fit: contain;\n object-position: center;\n }\n\n .icon {\n display: block;\n width: 100%;\n height: 100%;\n padding: 1rem;\n color: var(--primary-foreground-color);\n }\n }\n\n .info-container {\n flex-grow: 1;\n flex-shrink: 1;\n flex-basis: 0;\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n align-items: baseline;\n padding: 0 0.5rem;\n\n .name-container {\n flex-grow: 0;\n flex-shrink: 1;\n flex-basis: auto;\n padding: 0 0.5rem;\n max-height: 3.6em;\n font-size: 1.6rem;\n color: var(--primary-foreground-color);\n }\n\n .version-container {\n flex-grow: 1;\n flex-shrink: 1;\n flex-basis: auto;\n margin-top: 0.5rem;\n padding: 0 0.5rem;\n max-height: 2.4em;\n color: var(--primary-foreground-color);\n opacity: 0.6;\n }\n\n .types-container {\n flex-grow: 0;\n flex-shrink: 0;\n flex-basis: 100%;\n margin-top: 0.5rem;\n padding: 0 0.5rem;\n max-height: 2.4em;\n color: var(--primary-foreground-color);\n text-transform: capitalize;\n opacity: 0.4;\n }\n\n .description-container {\n flex-grow: 0;\n flex-shrink: 0;\n flex-basis: 100%;\n margin-top: 0.5rem;\n padding: 0 0.5rem;\n color: var(--primary-foreground-color);\n }\n }\n\n .buttons-container {\n flex: none;\n display: flex;\n flex-direction: column;\n gap: 1rem;\n width: 17rem;\n\n .action-buttons-container {\n flex: auto;\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 1rem;\n }\n\n .install-button-container, .configure-button-container, .uninstall-button-container, .share-button-container {\n flex: auto;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n gap: 1rem;\n height: 3.5rem;\n padding: 0 1rem;\n border-radius: 4rem;\n\n .icon {\n flex: none;\n width: 2rem;\n height: 2rem;\n }\n\n .label {\n flex-grow: 0;\n flex-shrink: 1;\n flex-basis: auto;\n max-height: 2.4em;\n font-size: 1.1rem;\n font-weight: 700;\n text-align: center;\n }\n }\n\n .install-button-container {\n background-color: var(--secondary-accent-color);\n\n &:hover {\n outline: var(--focus-outline-size) solid var(--secondary-accent-color);\n background-color: transparent;\n }\n\n .label {\n color: var(--primary-foreground-color)\n }\n }\n\n .configure-button-container {\n flex: none;\n background-color: var(--secondary-accent-color);\n\n &:hover {\n outline: var(--focus-outline-size) solid var(--secondary-accent-color);\n background-color: transparent;\n }\n\n .icon {\n color: var(--primary-foreground-color)\n }\n }\n\n .uninstall-button-container {\n outline-color: var(--primary-foreground-color);\n outline-style: solid;\n opacity: 0.3;\n\n &:hover {\n opacity: 1;\n }\n\n .label {\n color: var(--primary-foreground-color);\n }\n }\n\n .share-button-container {\n opacity: 0.9;\n\n &:hover {\n .label {\n text-decoration: underline;\n }\n }\n\n .icon {\n height: 1.5rem;\n width: 1.5rem;\n color: var(--primary-foreground-color);\n }\n\n .label {\n color: var(--primary-foreground-color);\n }\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .addon-container {\n flex-wrap: wrap;\n\n .info-container {\n margin-left: 0.5rem;\n padding: 0;\n\n .name-container {\n max-height: none;\n font-size: 1.3rem;\n }\n }\n\n .buttons-container {\n flex: 0 1 100%;\n width: auto;\n margin-top: 1rem;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n\n .share-button-container {\n flex: none;\n\n .icon {\n margin-right: 0;\n }\n\n .label {\n display: none;\n }\n }\n\n .install-button-container, .uninstall-button-container {\n flex-basis: 100%;\n margin-right: 1rem;\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n:import('~stremio/common/Multiselect/styles.less') {\n multiselect-menu-container: menu-container;\n}\n\n:import('~stremio/common/ModalDialog/styles.less') {\n share-modal-content: modal-dialog-content;\n}\n\n:import('~stremio/common/ModalDialog/styles.less') {\n addon-modal-content: modal-dialog-content;\n cancel-button-label: label;\n}\n\n:import('~stremio/common/ModalDialog/styles.less') {\n filters-modal-container: modal-dialog-container;\n filters-modal-content: modal-dialog-content;\n}\n\n.addons-container {\n width: 100%;\n height: 100%;\n background-color: transparent;\n\n .addons-content {\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n align-self: stretch;\n\n .selectable-inputs-container {\n flex: none;\n align-self: stretch;\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n padding: 1.5rem;\n overflow: visible;\n\n .add-button-container {\n flex: none;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n height: 3rem;\n margin-right: 1.5rem;\n padding: 0 1.5rem;\n border-radius: 3rem;\n background-color: var(--secondary-accent-color);\n\n &:hover {\n outline: var(--focus-outline-size) solid var(--secondary-accent-color);\n background-color: transparent;\n }\n\n &:focus {\n outline-color: var(--primary-foreground-color);\n }\n\n .icon {\n flex: none;\n width: 1.2rem;\n height: 1.2rem;\n margin-right: 0.5rem;\n color: var(--primary-foreground-color);\n }\n\n .add-button-label {\n flex-grow: 0;\n flex-shrink: 1;\n flex-basis: auto;\n max-height: 2.4em;\n font-size: 1rem;\n font-weight: 700;\n color: var(--primary-foreground-color);\n }\n }\n\n .select-input-container {\n flex-grow: 0;\n flex-shrink: 1;\n flex-basis: 15rem;\n margin-right: 1.5rem;\n\n .multiselect-menu-container {\n max-height: calc(3.2rem * 7);\n overflow: auto;\n }\n }\n\n .spacing {\n flex: 1;\n }\n\n .search-bar {\n flex-grow: 0;\n flex-shrink: 1;\n flex-basis: 18rem;\n }\n\n .filter-button {\n flex: none;\n display: none;\n align-items: center;\n justify-content: center;\n width: 3rem;\n height: 3rem;\n border-radius: var(--border-radius);\n background-color: var(--overlay-color);\n\n .filter-icon {\n flex: none;\n width: 1.4rem;\n height: 1.4rem;\n color: var(--primary-foreground-color);\n }\n }\n }\n\n .message-container {\n flex: 1;\n align-self: stretch;\n padding: 0 1.5rem;\n font-size: 2rem;\n color: var(--primary-foreground-color);\n }\n\n .addons-list-container {\n flex: 1;\n align-self: stretch;\n padding: 0 1.5rem;\n overflow-y: auto;\n\n .addon {\n margin-bottom: 1.5rem;\n }\n }\n }\n}\n\n.filters-modal {\n .filters-modal-container {\n overflow: visible;\n\n .filters-modal-content {\n display: flex;\n flex-direction: column;\n overflow: visible !important;\n\n .select-input-container {\n height: 3rem;\n\n &:not(:last-child) {\n margin-bottom: 1rem;\n }\n }\n }\n }\n}\n\n.add-addon-modal-container {\n .addon-modal-content {\n width: 30rem;\n\n .notice {\n margin-bottom: 1.5rem;\n font-size: 1rem;\n color: var(--primary-foreground-color);\n }\n\n .addon-url-input {\n width: 100%;\n padding: 1rem;\n color: var(--primary-foreground-color);\n border-radius: var(--border-radius);\n background-color: var(--overlay-color);\n outline: var(--focus-outline-size) solid var(--overlay-color);\n outline-offset: calc(-1 * var(--focus-outline-size));\n\n &:hover {\n outline-color: var(--primary-foreground-color);\n }\n\n &:focus {\n outline-color: var(--primary-foreground-color);\n }\n }\n }\n\n .cancel-button {\n background-color: transparent;\n opacity: 0.3;\n\n &:hover {\n outline: var(--focus-outline-size) solid var(--primary-foreground-color);\n opacity: 1;\n }\n\n &:focus {\n outline-color: var(--primary-foreground-color);\n }\n\n .cancel-button-label {\n color: var(--primary-foreground-color);\n }\n }\n}\n\n.share-modal-container {\n .share-modal-content {\n width: 30rem;\n\n .title-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n\n .logo, .icon {\n float: left;\n width: 5rem;\n height: 5rem;\n margin-right: 1.5rem;\n padding: 0.5rem;\n }\n\n .logo {\n object-fit: contain;\n object-position: center;\n }\n\n .icon {\n color: var(--primary-foreground-color);\n }\n\n .name-container {\n flex-grow: 1;\n flex-shrink: 1;\n flex-basis: 0;\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n align-items: baseline;\n\n .name {\n flex-grow: 0;\n flex-shrink: 1;\n flex-basis: auto;\n margin-right: 0.5rem;\n font-size: 1.6rem;\n color: var(--primary-foreground-color);\n }\n\n .version {\n flex-grow: 1;\n flex-shrink: 1;\n flex-basis: auto;\n margin-top: 0.5rem;\n color: var(--primary-foreground-color);\n }\n }\n }\n\n .share-prompt-container {\n margin-top: 1rem;\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .addons-container {\n .addons-content {\n .selectable-inputs-container {\n .add-button-container {\n z-index: 1;\n position: fixed;\n right: 0;\n bottom: calc(3rem + var(--horizontal-nav-bar-size));\n }\n\n .select-input-container {\n display: none;\n }\n\n .spacing {\n display: none;\n }\n\n .search-bar {\n flex-basis: 100%;\n margin-right: 1rem;\n }\n\n .filter-button {\n display: flex;\n }\n }\n }\n }\n\n .share-modal-container {\n .share-modal-content {\n width: auto;\n }\n }\n\n .add-addon-modal-container {\n .addon-modal-content {\n width: auto;\n\n .notice {\n margin-bottom: 1rem;\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n:import('~stremio/common/MetaRow/styles.less') {\n meta-item: meta-item;\n}\n\n:import('~stremio/common/MetaRow/MetaRowPlaceholder/styles.less') {\n meta-item-placeholder: meta-item;\n}\n\n.board-container {\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n\n .board-content-container {\n flex: 1;\n align-self: stretch;\n background: transparent;\n\n .board-content {\n width: 100%;\n height: 100%;\n padding: 0 1rem;\n overflow-y: auto;\n\n .board-row {\n margin-top: 1rem;\n margin-bottom: 2rem;\n }\n }\n }\n\n .board-warning-container {\n flex: none;\n align-self: stretch;\n }\n}\n\n@media only screen and (max-width: @large) {\n .board-container {\n .board-content-container {\n .board-content {\n .board-row-poster, .board-row-square, .continue-watching-row {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+10) {\n display: none;\n }\n }\n }\n\n .board-row-landscape {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+9) {\n display: none;\n }\n }\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @normal) {\n .board-container {\n .board-content-container {\n .board-content {\n .board-row-poster, .board-row-square, .continue-watching-row {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+9) {\n display: none;\n }\n }\n }\n\n .board-row-landscape {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+8) {\n display: none;\n }\n }\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @medium) {\n .board-container {\n .board-content-container {\n .board-content {\n .board-row-poster, .board-row-square, .continue-watching-row {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+8) {\n display: none;\n }\n }\n }\n\n .board-row-landscape {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+7) {\n display: none;\n }\n }\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @small) {\n .board-container {\n .board-content-container {\n .board-content {\n .board-row-poster, .board-row-square, .continue-watching-row {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+7) {\n display: none;\n }\n }\n }\n\n .board-row-landscape {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+6) {\n display: none;\n }\n }\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @xsmall) {\n .board-container {\n .board-content-container {\n .board-content {\n .board-row-poster, .board-row-square, .continue-watching-row {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+6) {\n display: none;\n }\n }\n }\n\n .board-row-landscape {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+5) {\n display: none;\n }\n }\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @xxsmall) {\n .board-container {\n .board-content-container {\n .board-content {\n .board-row-poster, .board-row-square, .continue-watching-row {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+5) {\n display: none;\n }\n }\n }\n\n .board-row-landscape {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+4) {\n display: none;\n }\n }\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .board-container {\n position: relative;\n z-index: 0;\n\n .board-content-container {\n &:only-child {\n .board-content {\n height: 100%;\n }\n }\n \n .board-content {\n height: calc(100% - 4rem);\n\n .board-row {\n margin-bottom: 1.5rem;\n }\n\n .board-row-poster, .board-row-square, .continue-watching-row {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+4) {\n display: none;\n }\n }\n }\n\n .board-row-landscape {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+3) {\n display: none;\n }\n }\n }\n }\n }\n \n .board-warning-container {\n position: absolute;\n left: 0;\n right: 0;\n bottom: var(--vertical-nav-bar-size);\n height: 4rem;\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n:import('~stremio/common/Multiselect/styles.less') {\n multiselect-menu-container: menu-container;\n multiselect-modal-container: modal-container;\n multiselect-option-container: option-container;\n multiselect-icon: icon;\n multiselect-label: label;\n}\n\n:import('~stremio/common/PaginationInput/styles.less') {\n pagination-prev-button-container: prev-button-container;\n pagination-next-button-container: next-button-container;\n pagination-button-icon: icon;\n pagination-label: label;\n}\n\n:import('~stremio/common/ModalDialog/styles.less') {\n selectable-inputs-modal-container: modal-dialog-container;\n selectable-inputs-modal-content: modal-dialog-content;\n}\n\n.discover-container {\n width: 100%;\n height: 100%;\n background-color: transparent;\n\n .discover-content {\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: row;\n\n .catalog-container {\n flex: 1;\n align-self: stretch;\n display: flex;\n flex-direction: column;\n\n .selectable-inputs-container {\n flex: none;\n align-self: stretch;\n display: flex;\n flex-direction: row;\n padding: 1.5rem;\n overflow: visible;\n\n .select-input {\n flex: 0 1 15rem;\n\n &:not(:first-child) {\n margin-left: 1.5rem;\n }\n\n &:nth-child(n+4) {\n display: none;\n\n &~.filter-container {\n display: flex;\n }\n }\n\n .multiselect-menu-container {\n max-height: calc(3.2rem * 7);\n overflow: auto;\n }\n }\n\n .filter-container {\n flex: none;\n display: none;\n align-items: center;\n justify-content: center;\n width: 3rem;\n height: 3rem;\n border-radius: var(--border-radius);\n background-color: var(--overlay-color);\n\n .filter-icon {\n flex: none;\n width: 1.4rem;\n height: 1.4rem;\n color: var(--primary-foreground-color);\n }\n }\n }\n\n .missing-addon-warning-container {\n flex: none;\n align-self: stretch;\n display: flex;\n flex-direction: column;\n align-items: center;\n padding: 0 1.5rem 1.5rem 1.5rem;\n\n .warning-label {\n flex: none;\n max-height: 2.4em;\n margin-bottom: 1rem;\n font-size: 1.4rem;\n text-align: center;\n color: var(--primary-foreground-color);\n }\n\n .install-button {\n flex: none;\n min-width: 10rem;\n max-width: 15rem;\n padding: 1rem;\n background-color: var(--secondary-accent-color);\n\n &:hover {\n outline: var(--focus-outline-size) solid var(--secondary-accent-color);\n background-color: transparent;\n }\n\n &:focus {\n outline-color: var(--primary-foreground-color);\n }\n\n .label {\n max-height: 2.4em;\n font-weight: 500;\n text-align: center;\n color: var(--primary-foreground-color);\n }\n }\n }\n\n .message-container {\n flex: 0 1 auto;\n align-self: stretch;\n display: flex;\n flex-direction: column;\n align-items: center;\n padding: 0 1.5rem;\n overflow-y: auto;\n\n &:first-child {\n padding: 4rem;\n }\n\n .image {\n flex: none;\n width: 12rem;\n height: 12rem;\n margin-bottom: 1rem;\n object-fit: contain;\n object-position: center;\n opacity: 0.9;\n }\n\n .message-label {\n flex: none;\n font-size: 2rem;\n font-weight: 400;\n text-align: center;\n color: var(--primary-foreground-color);\n }\n }\n\n .meta-items-container {\n flex: 1;\n align-self: stretch;\n display: grid;\n grid-auto-rows: max-content;\n align-items: center;\n grid-gap: 0.5rem;\n margin-right: 1.5rem;\n padding: 0 1.5rem;\n overflow-y: auto;\n\n .meta-item-placeholder {\n padding: 1rem;\n\n .poster-container {\n padding-bottom: calc(100% * var(--poster-shape-ratio));\n background-color: var(--color-placeholder-background);\n border-radius: var(--border-radius);\n }\n\n .title-bar-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n height: 2.8rem;\n\n .title-label {\n flex: none;\n width: 60%;\n height: 1.2rem;\n border-radius: var(--border-radius);\n background-color: var(--color-placeholder-background);\n }\n }\n }\n }\n }\n\n .meta-preview-container {\n flex: none;\n align-self: stretch;\n width: 29rem;\n padding: 2rem 2.5rem;\n border-radius: var(--border-radius) 0 0 var(--border-radius);\n background-color: var(--modal-background-color);\n }\n }\n}\n\n.selectable-inputs-modal {\n .selectable-inputs-modal-container {\n overflow: visible;\n\n .selectable-inputs-modal-content {\n overflow: visible !important;\n\n .select-input {\n height: 3.5rem;\n\n &:not(:last-child) {\n margin-bottom: 1rem;\n }\n\n .multiselect-menu-container {\n max-height: calc(3.2rem * 4);\n overflow: auto;\n }\n }\n }\n }\n}\n\n@media only screen and (min-width: @xxlarge) {\n .discover-container {\n .discover-content {\n .catalog-container {\n .meta-items-container {\n grid-template-columns: repeat(10, 1fr);\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @xxlarge) {\n .discover-container {\n .discover-content {\n .catalog-container {\n .meta-items-container {\n grid-template-columns: repeat(9, 1fr);\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @xlarge) {\n .discover-container {\n .discover-content {\n .catalog-container {\n .meta-items-container {\n grid-template-columns: repeat(8, 1fr);\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @large) {\n .discover-container {\n .discover-content {\n .catalog-container {\n .meta-items-container {\n grid-template-columns: repeat(7, 1fr);\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @normal) {\n .discover-container {\n .discover-content {\n .catalog-container {\n .meta-items-container {\n grid-template-columns: repeat(6, 1fr);\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @medium) {\n .discover-container {\n .discover-content {\n .catalog-container {\n .meta-items-container {\n grid-template-columns: repeat(5, 1fr);\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @small) {\n .discover-container {\n .discover-content {\n .catalog-container {\n .meta-items-container {\n grid-template-columns: repeat(4, 1fr);\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @xsmall) {\n .discover-container {\n .discover-content {\n .catalog-container {\n .meta-items-container {\n grid-template-columns: repeat(5, 1fr);\n margin-right: 0;\n }\n }\n\n .meta-preview-container {\n display: none;\n }\n }\n }\n}\n\n@media only screen and (max-width: @xxsmall) {\n .discover-container {\n .discover-content {\n .catalog-container {\n .meta-items-container {\n grid-template-columns: repeat(4, 1fr);\n margin-right: 0;\n }\n }\n\n .meta-preview-container {\n display: none;\n }\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .discover-container {\n .discover-content {\n .catalog-container {\n .selectable-inputs-container {\n justify-content: space-between;\n\n .select-input {\n &:nth-child(n+2) {\n display: none;\n\n &~.filter-container {\n display: flex;\n }\n }\n }\n }\n\n .meta-items-container {\n grid-template-columns: repeat(3, 1fr);\n }\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.not-found-container {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n background-color: transparent;\n\n .nav-bar {\n flex: none;\n align-self: stretch;\n }\n\n .not-found-content {\n flex: 1;\n align-self: stretch;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n\n .not-found-image {\n flex: none;\n width: 12rem;\n height: 12rem;\n margin-bottom: 1rem;\n object-fit: contain;\n object-position: center;\n opacity: 0.9;\n }\n\n .not-found-label {\n flex: none;\n font-size: 2.5rem;\n max-height: 3.6em;\n max-width: 60%;\n text-align: center;\n color: @color-secondaryvariant2-light1-90;\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n:import('~stremio/common/Multiselect/styles.less') {\n multiselect-menu-container: menu-container;\n}\n\n:import('~stremio/common/ModalDialog/styles.less') {\n selectable-inputs-modal-container: modal-dialog-container;\n selectable-inputs-modal-content: modal-dialog-content;\n}\n\n.library-container {\n width: 100%;\n height: 100%;\n background-color: transparent;\n\n .library-content {\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n\n .selectable-inputs-container {\n flex: none;\n align-self: stretch;\n display: flex;\n flex-direction: row;\n padding: 1.5rem;\n overflow: visible;\n\n .select-input-container {\n flex-grow: 0;\n flex-shrink: 1;\n flex-basis: 15rem;\n height: 2.75rem;\n\n &:not(:last-child) {\n margin-right: 1.5rem;\n }\n\n .multiselect-menu-container {\n max-height: calc(3.2rem * 7);\n overflow: auto;\n }\n }\n }\n\n .message-container {\n flex: 0 1 auto;\n align-self: stretch;\n display: flex;\n flex-direction: column;\n align-items: center;\n padding: 0 1.5rem;\n overflow-y: auto;\n\n &:first-child {\n padding: 4rem;\n }\n\n &.no-user-message-container {\n .login-button-container {\n flex: none;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n width: 20rem;\n height: 3.5rem;\n border-radius: 3.5rem;\n padding: 0.5rem 1rem;\n margin-bottom: 1rem;\n background-color: var(--secondary-accent-color);\n\n &:hover {\n outline: var(--focus-outline-size) solid var(--secondary-accent-color);\n background-color: transparent;\n }\n\n .label {\n flex-grow: 0;\n flex-shrink: 1;\n flex-basis: auto;\n max-height: 4.8em;\n font-size: 1.2rem;\n font-weight: 700;\n color: var(--primary-foreground-color);\n text-align: center;\n }\n }\n }\n\n .image {\n flex: none;\n width: 12rem;\n height: 12rem;\n margin-bottom: 2rem;\n object-fit: contain;\n object-position: center;\n opacity: 0.9;\n }\n\n .message-label {\n flex: none;\n margin-bottom: 2rem;\n font-size: 2rem;\n font-weight: 400;\n text-align: center;\n color: var(--primary-foreground-color);\n }\n }\n\n .meta-items-container {\n flex: 1;\n align-self: stretch;\n display: grid;\n grid-auto-rows: max-content;\n align-items: center;\n grid-gap: 0.5rem;\n padding: 0 1.5rem;\n overflow-y: auto;\n }\n }\n}\n\n.selectable-inputs-modal {\n .selectable-inputs-modal-container {\n overflow: visible;\n\n .selectable-inputs-modal-content {\n overflow: visible;\n\n .select-input-container {\n height: 3.5rem;\n\n &:not(:last-child) {\n margin-bottom: 1rem;\n }\n }\n }\n }\n}\n\n@media only screen and (min-width: @large) {\n .library-container {\n .library-content {\n .meta-items-container {\n grid-template-columns: repeat(10, 1fr);\n }\n }\n }\n}\n\n@media only screen and (max-width: @large) {\n .library-container {\n .library-content {\n .meta-items-container {\n grid-template-columns: repeat(9, 1fr);\n }\n }\n }\n}\n\n@media only screen and (max-width: @normal) {\n .library-container {\n .library-content {\n .meta-items-container {\n grid-template-columns: repeat(8, 1fr);\n }\n }\n }\n}\n\n@media only screen and (max-width: @medium) {\n .library-container {\n .library-content {\n .meta-items-container {\n grid-template-columns: repeat(7, 1fr);\n }\n }\n }\n}\n\n@media only screen and (max-width: @small) {\n .library-container {\n .library-content {\n .meta-items-container {\n grid-template-columns: repeat(6, 1fr);\n }\n }\n }\n}\n\n@media only screen and (max-width: @xsmall) {\n .library-container {\n .library-content {\n .meta-items-container {\n grid-template-columns: repeat(5, 1fr);\n }\n }\n }\n}\n\n@media only screen and (max-width: @xxsmall) {\n .library-container {\n .library-content {\n .meta-items-container {\n grid-template-columns: repeat(4, 1fr);\n }\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .library-container {\n .library-content {\n .selectable-inputs-container {\n justify-content: space-between;\n }\n\n .meta-items-container {\n grid-template-columns: repeat(3, 1fr);\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n:import('~stremio/common/PlayIconCircleCentered/styles.less') {\n play-icon-circle-centered-background: background;\n play-icon-circle-centered-icon: icon;\n}\n\n.stream-placeholder-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n padding: 0.5rem 1rem;\n\n .addon-container {\n flex: none;\n\n .addon-name {\n width: 5rem;\n height: 2rem;\n border-radius: var(--border-radius);\n background-color: var(--color-placeholder-background);\n }\n }\n\n .info-container {\n flex: 1;\n margin: 0.5rem 1rem;\n\n .description-container {\n height: 1.2rem;\n border-radius: var(--border-radius);\n background-color: var(--color-placeholder-background);\n\n &:nth-child(1) {\n width: 80%;\n }\n\n &:nth-child(2) {\n width: 40%;\n margin-top: 0.5rem;\n }\n }\n }\n\n .play-icon {\n flex: none;\n width: 3.5rem;\n height: 5rem;\n\n .play-icon-circle-centered-background {\n fill: none;\n }\n\n .play-icon-circle-centered-icon {\n fill: var(--color-placeholder-background);\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n:import('~stremio/common/Popup/styles.less') {\n context-menu-container: menu-container;\n menu-direction-top-left: menu-direction-top-left;\n menu-direction-bottom-left: menu-direction-bottom-left;\n menu-direction-top-right: menu-direction-top-right;\n menu-direction-bottom-right: menu-direction-bottom-right;\n}\n\n.stream-container {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n align-items: center;\n gap: 1rem;\n padding: 0.5rem 1rem;\n margin-bottom: 0.5rem;\n border-radius: var(--border-radius);\n\n &:hover, &:focus {\n background-color: var(--overlay-color);\n }\n\n &:hover, &:focus, &:global(.selected) {\n .icon {\n opacity: 1;\n }\n }\n\n .info-container {\n flex: none;\n display: flex;\n flex-direction: column;\n gap: 1rem;\n\n .thumbnail {\n display: block;\n height: 5rem;\n width: 8rem;\n object-fit: cover;\n object-position: center;\n opacity: 0.9;\n }\n\n .placeholder-icon {\n display: block;\n height: 5rem;\n width: 8rem;\n padding: 1rem;\n color: var(--primary-foreground-color);\n background-color: var(--overlay-color);\n opacity: 0.25;\n }\n\n .addon-name {\n width: 7rem;\n max-height: 3.6em;\n font-size: 1.1rem;\n text-align: left;\n color: var(--primary-foreground-color);\n }\n\n .progress-bar-container {\n flex: 0 0 100%;\n position: relative;\n border-radius: var(--border-radius);\n\n .progress-bar {\n z-index: 1;\n position: relative;\n height: 0.4rem;\n background-color: var(--primary-accent-color);\n }\n\n .progress-bar-background {\n z-index: 0;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n background-color: var(--primary-foreground-color);\n opacity: 0.2;\n }\n }\n }\n\n .description-container {\n flex: 1;\n display: flex;\n flex-direction: column;\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical;\n white-space: pre;\n overflow-y: visible;\n text-overflow: ellipsis;\n color: var(--primary-foreground-color);\n }\n \n .icon {\n flex: none;\n width: 3rem;\n height: 3rem;\n padding: 0.7rem;\n border-radius: 50%;\n opacity: 0;\n color: var(--primary-foreground-color);\n background-color: var(--secondary-accent-color);\n }\n\n\t.context-menu-container {\n\t\tmax-width: calc(90% - 1.5rem);\n\t\tz-index: 2;\n\t\n\t\t.context-menu-content {\n\t\t\t--spatial-navigation-contain: contain;\n\t\n\t\t\t.context-menu-option-container {\n\t\t\t\tdisplay: flex;\n\t\t\t\tflex-direction: row;\n\t\t\t\talign-items: center;\n\t\t\t\tpadding: 1rem 1.5rem;\n\t\n\t\t\t\t&:hover,\n\t\t\t\t&:focus {\n\t\t\t\t\tbackground-color: var(--overlay-color);\n\t\t\t\t}\n\t\n\t\t\t\t.context-menu-option-label {\n\t\t\t\t\tfont-size: 1rem;\n\t\t\t\t\tfont-weight: 500;\n\t\t\t\t\tcolor:var(--primary-foreground-color);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\n@media only screen and (max-width: @small) {\n .stream-container {\n .description-container {\n font-size: 0.9rem;\n }\n\n .info-container {\n .addon-name {\n font-size: 0.9rem;\n }\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .stream-container {\n .info-container {\n .addon-name {\n font-weight: 500;\n }\n }\n\n\t\t.context-menu-container {\n &.menu-direction-top-left,\n &.menu-direction-bottom-left {\n right: 1.5rem;\n }\n\n &.menu-direction-top-right,\n &.menu-direction-bottom-right {\n left: 1.5rem;\n }\n\n &.menu-direction-top-left,\n &.menu-direction-top-right {\n bottom: 90%;\n }\n\n &.menu-direction-bottom-left,\n &.menu-direction-bottom-right {\n top: 90%;\n }\n }\n }\n}\n","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n:import('~stremio/common/Multiselect/styles.less') {\n multiselect-menu-container: menu-container;\n multiselect-label: label;\n multiselect-icon: icon;\n}\n\n.streams-list-container {\n display: flex;\n flex-direction: column;\n\n .message-container {\n flex: 0 1 auto;\n align-self: stretch;\n display: flex;\n flex-direction: column;\n align-items: center;\n padding: 1rem 1rem 0;\n overflow-y: auto;\n\n .image {\n flex: none;\n width: 10rem;\n height: 10rem;\n max-width: 100%;\n margin-bottom: 1rem;\n object-fit: contain;\n object-position: center;\n opacity: 0.9;\n }\n\n .label {\n flex: none;\n font-size: 1.4rem;\n text-align: center;\n color: var(--primary-foreground-color);\n }\n }\n\n .addons-loading-container {\n display: flex;\n z-index: 1;\n overflow: visible;\n margin: 2em 1em 0 1em;\n gap: 1em;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n\n .addons-loading {\n color: var(--primary-foreground-color);\n font-size: 1rem;\n }\n\n .addons-loading-bar {\n width: 90%;\n height: 0.3em;\n border-radius: var(--border-radius);\n background-color: var(--primary-accent-color);\n }\n }\n\n .select-choices-wrapper {\n display: flex;\n align-items: center;\n z-index: 2;\n margin: 1em 1em 0 1em;\n gap: 0 0.5em;\n overflow: visible;\n\n .back-button-container {\n display: flex;\n justify-content: center;\n align-items: center;\n border-radius: 0.5em;\n padding: 1em;\n max-height: 3em;\n\n .icon {\n width: 1.5em;\n height: 1.5em;\n color: var(--primary-foreground-color);\n opacity: 0.6;\n }\n\n &:hover, &:global(.active) {\n background-color: var(--overlay-color);\n opacity: 1;\n \n .icon {\n color: var(--primary-foreground-color);\n opacity: 0.8;\n }\n }\n }\n\n .episode-title {\n min-width: 45%;\n color: var(--primary-foreground-color);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .select-input-container {\n min-width: 40%;\n flex: 0 0 auto;\n flex-grow: 1;\n background: none;\n\n &:hover, &:focus, &:global(.active) {\n background-color: var(--overlay-color);\n }\n \n & >.multiselect-label {\n color: var(--primary-foreground-color);\n }\n \n & >.multiselect-icon {\n color: var(--primary-foreground-color);\n }\n \n .multiselect-menu-container {\n max-height: calc(3.2rem * 7);\n overflow: auto;\n }\n }\n }\n\n .streams-container {\n flex: 1 1 auto;\n align-self: stretch;\n margin-top: 1rem;\n padding: 0 1rem;\n overflow-y: auto;\n }\n\n .install-button-container {\n flex: none;\n align-self: stretch;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n margin: 1rem;\n padding: 1.5rem 1rem;\n border-radius: var(--border-radius);\n background-color: var(--secondary-accent-color);\n border-radius: 3rem;\n\n &:hover {\n outline: var(--focus-outline-size) solid var(--secondary-accent-color);\n background-color: transparent;\n }\n\n .icon {\n flex: none;\n width: 2rem;\n height: 2rem;\n margin-right: 1rem;\n color: var(--primary-foreground-color);\n }\n\n .label {\n flex: 0 1 auto;\n font-size: 1.5rem;\n font-weight: 700;\n max-height: 3.6em;\n text-align: center;\n color: var(--primary-foreground-color);\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .streams-list-container {\n overflow: visible;\n\n .streams-container {\n margin-top: 0;\n overflow: visible;\n scrollbar-color: @color-surface-light5-20 transparent;\n\n &::-webkit-scrollbar-thumb {\n background-color: @color-surface-light5-20;\n }\n\n &::-webkit-scrollbar-track {\n background-color: transparent;\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n.seasons-bar-placeholder-container {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n padding: 1rem;\n\n .prev-season-button, .next-season-button {\n flex: none;\n display: flex;\n flex-direction: row;\n align-items: center;\n width: 6.5rem;\n height: 3rem;\n padding: 0.5rem;\n\n &>:first-child {\n margin-right: 0.5rem;\n }\n\n .icon {\n flex: none;\n display: block;\n width: 1.5rem;\n height: 1.5rem;\n color: var(--color-placeholder-background);\n }\n\n .label {\n flex: 1;\n max-height: 1.2em;\n font-weight: 500;\n text-align: center;\n color: var(--color-placeholder-text);\n }\n }\n\n .seasons-popup-label-container {\n flex: 0 1 auto;\n display: flex;\n flex-direction: row;\n align-items: center;\n margin: 0 1rem;\n\n .seasons-popup-label {\n max-height: 1.2em;\n font-weight: 500;\n color: var(--color-placeholder-text);\n }\n\n .seasons-popup-icon {\n flex: none;\n width: 1rem;\n height: 1rem;\n margin-left: 1rem;\n color: var(--color-placeholder-background);\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n:import('~stremio/common/Multiselect/styles.less') {\n multiselect-menu-container: menu-container;\n multiselect-label: label;\n multiselect-icon: icon;\n}\n\n.seasons-bar-container {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n padding: 1rem;\n overflow: visible;\n\n .prev-season-button, .next-season-button {\n flex: none;\n display: flex;\n flex-direction: row;\n align-items: center;\n width: 6.5rem;\n height: 3rem;\n border-radius: 3rem;\n padding: 0.5rem;\n\n &.disabled {\n pointer-events: none;\n opacity: 0.5;\n }\n\n &:hover, &:focus {\n background-color: var(--overlay-color);\n }\n\n &:focus {\n background-color: var(--primary-foreground-color);\n }\n\n &>:first-child {\n margin-right: 0.5rem;\n }\n\n .label {\n flex: 1;\n max-height: 1.2em;\n font-weight: 500;\n text-align: center;\n color: var(--primary-foreground-color);\n }\n\n .icon {\n flex: none;\n width: 1.5rem;\n height: 1.5rem;\n color: var(--primary-foreground-color);\n }\n }\n\n .seasons-popup-label-container {\n flex: 0 1 auto;\n background: none;\n\n &:hover, &:focus, &:global(.active) {\n background-color: var(--overlay-color);\n }\n\n &>.multiselect-label {\n color: var(--primary-foreground-color);\n }\n\n &>.multiselect-icon {\n color: var(--primary-foreground-color);\n }\n\n .multiselect-menu-container {\n max-height: calc(3.2rem * 7);\n overflow: auto;\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .seasons-bar-container {\n height: 6rem;\n\n .seasons-popup-label-container {\n .multiselect-menu-container {\n max-height: calc(3.2rem * 3);\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n.video-placeholder-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n padding: 0.5rem 1rem;\n\n .info-container {\n flex: 1;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n height: 3rem;\n margin: 0.5rem 1rem;\n\n .name-container {\n width: 80%;\n height: 1.2rem;\n border-radius: var(--border-radius);\n background: var(--color-placeholder-background);\n }\n\n .released-container {\n height: 1rem;\n border-radius: var(--border-radius);\n background: var(--color-placeholder-background);\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n:import('~stremio/common/Popup/styles.less') {\n context-menu-container: menu-container;\n menu-direction-top-left: menu-direction-top-left;\n menu-direction-bottom-left: menu-direction-bottom-left;\n menu-direction-top-right: menu-direction-top-right;\n menu-direction-bottom-right: menu-direction-bottom-right;\n}\n\n.video-container {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n align-items: center;\n padding: 0.5rem;\n margin-bottom: 0.5rem;\n border-radius: var(--border-radius);\n\n &:hover,\n &:focus,\n &:global(.active) {\n background-color: var(--overlay-color);\n }\n\n .thumbnail-container {\n flex: none;\n position: relative;\n border-radius: 0.3rem;\n overflow: hidden;\n\n .thumbnail {\n pointer-events: none;\n display: block;\n height: 5rem;\n width: 8rem;\n object-fit: cover;\n object-position: center;\n opacity: 0.9;\n background-color: var(--overlay-color);\n }\n\n .placeholder-icon {\n display: block;\n height: 5rem;\n width: 8rem;\n padding: 1rem;\n color: var(--primary-foreground-color);\n background-color: var(--overlay-color);\n opacity: 0.25;\n }\n\n .progress-bar-container {\n position: absolute;\n bottom: 0.5rem;\n left: 0.5rem;\n right: 0.5rem;\n border-radius: var(--border-radius);\n\n .progress-bar {\n z-index: 1;\n position: relative;\n height: 0.4rem;\n background-color: var(--primary-accent-color);\n }\n\n .progress-bar-background {\n z-index: 0;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n background-color: var(--primary-foreground-color);\n opacity: 0.2;\n }\n }\n }\n\n .info-container {\n flex: 1;\n align-self: stretch;\n display: flex;\n flex-direction: column;\n justify-content: center;\n padding: 0 0.5rem 0 1.5rem;\n\n .title-container {\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n margin-bottom: 1rem;\n color: var(--primary-foreground-color);\n }\n\n .flex-row-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: flex-end;\n\n .released-container {\n flex: 1;\n margin-right: 0.5rem;\n padding: 0.2rem 0;\n font-size: 0.8rem;\n font-weight: 500;\n white-space: nowrap;\n text-overflow: ellipsis;\n color: var(--primary-foreground-color);\n opacity: 0.44;\n }\n\n .upcoming-watched-container {\n flex: 0 1 auto;\n display: flex;\n flex-direction: row;\n align-items: center;\n height: 1.6rem;\n border-radius: 0.3rem;\n\n &>:nth-child(2) {\n margin-left: 0.5rem;\n }\n\n .upcoming-container,\n .watched-container {\n flex: none;\n display: flex;\n align-items: center;\n height: 100%;\n padding: 0 0.5rem;\n max-width: 10rem;\n\n &:not(:only-child) {\n max-width: 5rem;\n }\n\n .flag-icon {\n height: 1.15rem;\n width: 1.15rem;\n margin-right: 0.25rem;\n color: var(--secondary-foreground-color);\n }\n\n .flag-label {\n font-size: 0.8rem;\n font-weight: 800;\n white-space: nowrap;\n text-overflow: ellipsis;\n text-transform: uppercase;\n color: var(--secondary-foreground-color);\n }\n }\n\n .upcoming-container {\n background-color: var(--secondary-accent-color);\n }\n\n .watched-container {\n background-color: var(--tertiary-accent-color);\n }\n }\n }\n }\n\n .context-menu-container {\n max-width: calc(90% - 1.5rem);\n z-index: 2;\n\n .context-menu-content {\n --spatial-navigation-contain: contain;\n\n .context-menu-option-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n padding: 1rem 1.5rem;\n\n &:hover,\n &:focus {\n background-color: var(--overlay-color);\n }\n\n .context-menu-option-label {\n font-size: 1rem;\n font-weight: 500;\n color:var(--primary-foreground-color);\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .video-container {\n .context-menu-container {\n &.menu-direction-top-left,\n &.menu-direction-bottom-left {\n right: 1.5rem;\n }\n\n &.menu-direction-top-right,\n &.menu-direction-bottom-right {\n left: 1.5rem;\n }\n\n &.menu-direction-top-left,\n &.menu-direction-top-right {\n bottom: 90%;\n }\n\n &.menu-direction-bottom-left,\n &.menu-direction-bottom-right {\n top: 90%;\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.videos-list-container {\n display: flex;\n flex-direction: column;\n\n .message-container {\n flex: 1;\n align-self: stretch;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 2rem;\n overflow-y: auto;\n\n .image {\n flex: none;\n width: 10rem;\n height: 10rem;\n max-width: 100%;\n margin-bottom: 1rem;\n object-fit: contain;\n object-position: center;\n opacity: 0.9;\n }\n\n .label {\n flex: none;\n font-size: 1.4rem;\n text-align: center;\n color: var(--primary-foreground-color);\n }\n }\n\n .notifications-checkbox {\n flex: none;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: flex-start;\n gap: 1rem;\n padding: 1.15rem 1.5rem 0.65rem;\n color: @color-surface-light5-90;\n }\n\n .seasons-bar {\n flex: none;\n align-self: stretch;\n margin: 0.5rem 1rem 1rem 1rem;\n }\n\n .search-bar {\n flex: none;\n align-self: stretch;\n margin: 0 1.5rem 1rem 1.5rem;\n\n &:first-child {\n margin-top: 1rem;\n }\n }\n\n .videos-container {\n flex: 1;\n align-self: stretch;\n padding: 0 1rem;\n overflow-y: auto;\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .videos-list-container {\n overflow: visible;\n\n .videos-container {\n overflow: auto;\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n:import('~stremio/common/MetaPreview/styles.less') {\n meta-info-container: meta-info-container;\n}\n\n:import('~stremio/common/ModalDialog/styles.less') {\n modal-dialog-container: modal-dialog-container;\n title-modal-container: title-container;\n}\n\n.metadetails-container {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n\n .nav-bar {\n z-index: 1;\n flex: none;\n align-self: stretch;\n }\n\n .metadetails-content {\n flex: 1;\n align-self: stretch;\n position: relative;\n z-index: 0;\n display: flex;\n flex-direction: row;\n\n .vertical-nav-bar {\n --vertical-nav-bar-size: 6rem;\n flex: none;\n }\n\n .background-image-layer {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: -1;\n background-color: var(--modal-background-color);\n\n .background-image {\n pointer-events: none; \n display: block;\n width: 100%;\n height: 100%;\n object-fit: cover;\n object-position: top left;\n opacity: 0.3;\n }\n }\n\n .meta-message-container {\n align-self: stretch;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 2rem;\n width: 100%;\n height: 100%;\n\n .image {\n flex: none;\n width: 12rem;\n height: 12rem;\n max-width: 100%;\n margin-bottom: 1rem;\n object-fit: contain;\n object-position: center;\n opacity: 0.9;\n }\n\n .message-label {\n flex: none;\n align-self: stretch;\n font-size: 2rem;\n text-align: center;\n color: var(--primary-foreground-color);\n }\n }\n\n .meta-preview {\n flex: 0 1 auto;\n align-self: stretch;\n padding: 0 4rem 2rem 4rem;\n }\n\n .spacing {\n flex: 1;\n }\n\n .videos-list, .streams-list {\n flex: 0 0 30rem;\n align-self: stretch;\n border-radius: var(--border-radius) 0 0 var(--border-radius);\n background-color: rgba(0, 0, 0, 0.4);\n backdrop-filter: blur(15px);\n }\n }\n}\n\n.meta-extension-modal-container {\n .modal-dialog-container {\n width: 80%;\n height: 80%;\n\n .title-modal-container {\n max-height: 1.2em;\n }\n\n .meta-extension-modal-iframe {\n width: 100%;\n height: 100%;\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .metadetails-container {\n .metadetails-content {\n display: block;\n overflow-y: auto;\n\n .spacing {\n display: none;\n }\n\n .meta-preview {\n padding: 0 1.5rem 2rem;\n }\n\n .videos-list, .streams-list {\n border-radius: var(--border-radius) var(--border-radius) 0 0;\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n:import('~stremio/common/MetaRow/styles.less') {\n meta-item: meta-item;\n}\n\n:import('~stremio/common/MetaRow/MetaRowPlaceholder/styles.less') {\n meta-item-placeholder: meta-item;\n}\n\n.search-container {\n width: 100%;\n height: 100%;\n background-color: transparent;\n\n .search-content {\n width: 100%;\n height: 100%;\n overflow-y: auto;\n\n .search-row {\n margin: 4rem 2rem;\n }\n\n .search-hints-wrapper {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-direction: column;\n width: 100%;\n height: 100%;\n\n .search-hints-title-container {\n display: flex;\n justify-content: center;\n align-items: center;\n padding: 0 1rem;\n\n .search-hints-title {\n flex-grow: 0;\n flex-shrink: 1;\n flex-basis: auto;\n font-size: 1.6rem;\n color: @color-surface-light5-90;\n text-align: center;\n opacity: 0.4;\n }\n }\n \n .search-hints-container {\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n justify-content: center;\n align-content: flex-start;\n flex-wrap: wrap;\n padding: 4rem;\n max-width: 50%;\n margin: 0 auto;\n \n .search-hint-container {\n flex: 0 0 25%;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 0 1rem;\n margin-bottom: 4rem;\n \n .icon {\n flex: none;\n width: 4rem;\n height: 4rem;\n margin-bottom: 2rem;\n color: @color-surface-light5-90;\n opacity: 0.4;\n }\n \n .label {\n flex-grow: 0;\n flex-shrink: 1;\n flex-basis: auto;\n font-size: 1.2rem;\n color: @color-surface-light5-90;\n text-align: center;\n opacity: 0.4;\n }\n }\n } \n }\n\n .message-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n padding: 4rem;\n\n .image {\n flex: none;\n width: 12rem;\n height: 12rem;\n margin-bottom: 1rem;\n object-fit: contain;\n object-position: center;\n opacity: 0.9;\n }\n\n .message-label {\n flex: 0 1 auto;\n font-size: 2.5rem;\n text-align: center;\n color: @color-secondaryvariant2-light1-90;\n }\n }\n }\n}\n\n@media only screen and (max-width: @large) {\n .search-container {\n .search-content {\n .search-row-poster, .search-row-square {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+10) {\n display: none;\n }\n }\n }\n\n .search-row-landscape {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+9) {\n display: none;\n }\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @normal) {\n .search-container {\n .search-content {\n .search-row-poster, .search-row-square {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+9) {\n display: none;\n }\n }\n }\n\n .search-row-landscape {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+8) {\n display: none;\n }\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @medium) {\n .search-container {\n .search-content {\n .search-hints-wrapper {\n .search-hints-container {\n max-width: 70%;\n }\n }\n .search-row-poster, .search-row-square {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+8) {\n display: none;\n }\n }\n }\n\n .search-row-landscape {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+7) {\n display: none;\n }\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @small) {\n .search-container {\n .search-content {\n .search-hints-wrapper {\n .search-hints-container {\n max-width: 90%;\n }\n }\n .search-row-poster, .search-row-square {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+7) {\n display: none;\n }\n }\n }\n\n .search-row-landscape {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+6) {\n display: none;\n }\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @xsmall) {\n .search-container {\n .search-content {\n .search-row-poster, .search-row-square {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+6) {\n display: none;\n }\n }\n }\n\n .search-row-landscape {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+5) {\n display: none;\n }\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @xxsmall) {\n .search-container {\n .search-content {\n .search-hints-wrapper {\n .search-hints-container {\n max-width: 100%;\n .search-hint-container {\n flex: 0 0 50%;\n }\n }\n }\n .search-row-poster, .search-row-square {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+5) {\n display: none;\n }\n }\n }\n\n .search-row-landscape {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+4) {\n display: none;\n }\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .search-container {\n .search-content {\n .search-row {\n margin: 2rem 1rem;\n }\n\n .search-row-poster, .search-row-square {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+4) {\n display: none;\n }\n }\n }\n\n .search-hints-wrapper {\n margin-top: 4rem;\n .search-hints-container {\n padding: 4rem 2rem;\n .search-hint-container {\n padding: 0 1.5rem;\n }\n }\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n:import('~stremio/common/Checkbox/styles.less') {\n checkbox-icon: icon;\n}\n\n:import('~stremio/common/Multiselect/styles.less') {\n multiselect-menu-container: menu-container;\n multiselect-label: label;\n}\n\n:import('~stremio/common/ModalDialog/styles.less') {\n configure-server-url-modal-content: modal-dialog-content;\n cancel-button-label: label;\n}\n\n.settings-container {\n width: 100%;\n height: 100%;\n background-color: transparent;\n\n .settings-content {\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: row;\n\n .side-menu-container {\n flex: none;\n align-self: stretch;\n display: flex;\n flex-direction: column;\n width: 18rem;\n padding: 3rem 1.5rem;\n\n .side-menu-button {\n flex: none;\n align-self: stretch;\n display: flex;\n align-items: center;\n height: 4rem;\n border-radius: 4rem;\n padding: 2rem;\n margin-bottom: 0.5rem;\n font-size: 1.1rem;\n font-weight: 500;\n color: var(--primary-foreground-color);\n opacity: 0.4;\n\n &.selected {\n font-weight: 600;\n color: var(--primary-foreground-color);\n background-color: var(--overlay-color);\n opacity: 1;\n }\n\n &:hover {\n background-color: var(--overlay-color);\n }\n }\n\n .spacing {\n flex: 1;\n }\n\n .version-info-label {\n flex: 0 1 auto;\n margin: 0.5rem 0;\n color: var(--primary-foreground-color);\n opacity: 0.3;\n }\n }\n\n .sections-container {\n flex: 1;\n align-self: stretch;\n padding: 0 3rem;\n overflow-y: auto;\n\n .section-container {\n display: flex;\n flex-direction: column;\n padding: 3rem 0;\n overflow: visible;\n\n &:not(:last-child) {\n border-bottom: thin solid var(--overlay-color);\n }\n\n .section-title {\n flex: none;\n align-self: stretch;\n font-size: 1.8rem;\n line-height: 3.4rem;\n margin-bottom: 3rem;\n color: var(--primary-foreground-color);\n }\n\n .section-category-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 0 1em;\n margin-bottom: 1.5rem;\n line-height: 2.4rem;\n\n .label {\n flex: none;\n font-size: 1.1rem;\n color: var(--primary-foreground-color);\n }\n\n .icon {\n flex: none;\n width: 2rem;\n height: 2rem;\n color: var(--primary-foreground-color);\n }\n }\n\n .option-container {\n flex: none;\n align-self: stretch;\n display: flex;\n flex-direction: row;\n align-items: center;\n max-width: 35rem;\n margin-bottom: 2rem;\n overflow: visible;\n\n &.link-container {\n margin-bottom: 0.5rem;\n }\n \n &:last-child {\n margin-bottom: 0;\n }\n\n &.user-info-option-container {\n gap: 1rem;\n\n .user-info-content {\n flex: 1;\n display: flex;\n flex-direction: row;\n align-items: center;\n\n .avatar-container {\n flex: none;\n align-self: stretch;\n height: 5rem;\n width: 5rem;\n margin-right: 1rem;\n border: 2px solid var(--primary-accent-color);\n border-radius: 50%;\n background-size: cover;\n background-repeat: no-repeat;\n background-position: center;\n background-origin: content-box;\n background-clip: content-box;\n opacity: 0.9;\n background-color: var(--primary-foreground-color);\n }\n\n .email-logout-container {\n flex: none;\n display: flex;\n flex-direction: column;\n\n .email-label-container, .logout-button-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n }\n\n .email-label-container {\n .email-label {\n flex: 1;\n font-size: 1.1rem;\n color: var(--primary-foreground-color);\n opacity: 0.7;\n }\n }\n\n .logout-button-container {\n &:hover, &:focus {\n outline: none;\n\n .logout-label {\n text-decoration: underline;\n }\n }\n\n .logout-label {\n flex: 1;\n color: var(--primary-accent-color);\n }\n }\n }\n }\n\n .user-panel-container {\n flex: none;\n display: flex;\n flex-direction: row;\n align-items: center;\n width: 10rem;\n height: 3.5rem;\n border-radius: 3.5rem;\n background-color: var(--overlay-color);\n\n &:hover {\n outline: var(--focus-outline-size) solid var(--primary-foreground-color);\n background-color: transparent;\n }\n\n .user-panel-label {\n flex: 1;\n max-height: 2.4em;\n padding: 0 0.5rem;\n font-weight: 500;\n text-align: center;\n color: var(--primary-foreground-color);\n }\n }\n }\n\n .option-name-container, .option-input-container {\n flex: 1 1 50%;\n display: flex;\n flex-direction: row;\n align-items: center;\n\n .icon {\n flex: none;\n width: 1.5rem;\n height: 1.5rem;\n margin-right: 0.5rem;\n color: var(--primary-foreground-color);\n }\n\n .label {\n flex-grow: 0;\n flex-shrink: 1;\n flex-basis: auto;\n line-height: 1.5rem;\n color: var(--primary-foreground-color);\n }\n\n &.trakt-icon {\n .icon {\n width: 3rem;\n height: 3rem;\n color: var(--color-trakt);\n }\n }\n }\n\n .option-name-container {\n justify-content: flex-start;\n padding: 1rem 1rem 1rem 0;\n margin-right: 2rem;\n }\n\n .option-input-container {\n padding: 1rem 1.5rem;\n\n &.button-container {\n justify-content: center;\n height: 3.5rem;\n border-radius: 3.5rem;\n background-color: var(--overlay-color);\n\n &:hover {\n outline: var(--focus-outline-size) solid var(--primary-foreground-color);\n background-color: transparent;\n }\n\n .label {\n font-weight: 500;\n }\n }\n\n &.multiselect-container {\n >.multiselect-label {\n line-height: 1.5rem;\n max-height: 1.5rem;\n }\n\n .multiselect-menu-container {\n max-height: calc(3.2rem * 7);\n overflow: auto;\n }\n }\n\n &.link-input-container {\n flex: 0 1 auto;\n padding: 0;\n \n .label {\n color: var(--primary-accent-color);\n }\n\n &:hover {\n .label {\n text-decoration: underline;\n }\n }\n }\n\n &.checkbox-container {\n justify-content: center;\n\n .checkbox-icon {\n width: 1.5rem;\n height: 1.5rem;\n }\n }\n\n &.color-input-container {\n padding: 1.75rem 1rem;\n }\n\n &.info-container {\n justify-content: center;\n\n &.selectable {\n user-select: text;\n\n .label {\n user-select: text;\n }\n }\n }\n\n &.configure-input-container {\n padding: 0;\n\n .label {\n flex-grow: 1;\n white-space: pre;\n text-overflow: ellipsis;\n padding: 0 1rem;\n }\n\n .configure-button-container {\n flex: none;\n width: 3rem;\n height: 3rem;\n border-radius: 100%;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n background-color: var(--overlay-color);\n\n &:hover {\n outline: var(--focus-outline-size) solid var(--primary-foreground-color);\n background-color: transparent;\n }\n\n .icon {\n flex: none;\n width: 1rem;\n height: 1rem;\n margin: 0;\n color: var(--primary-foreground-color);\n }\n }\n }\n\n &.shortcut-container {\n justify-content: center;\n padding: 0;\n overflow: visible;\n\n kbd {\n flex: 0 1 auto;\n height: 2.5rem;\n min-width: 2.5rem;\n line-height: 2.5rem;\n padding: 0 1rem;\n font-weight: 500;\n color: var(--primary-foreground-color);\n border-radius: 0.25em;\n box-shadow: 0 4px 0 1px var(--modal-background-color);\n background-color: var(--overlay-color);\n }\n\n .label {\n margin: 0 1rem;\n white-space: nowrap;\n color: var(--primary-foreground-color);\n }\n }\n }\n }\n }\n\n .versions-section-container {\n display: none;\n }\n }\n }\n}\n\n.configure-server-url-modal-container {\n .configure-server-url-modal-content {\n width: 30rem;\n\n .server-url-input {\n width: 100%;\n padding: 1rem;\n color: var(--primary-foreground-color);\n border-radius: var(--border-radius);\n background-color: var(--overlay-color);\n outline: var(--focus-outline-size) solid var(--overlay-color);\n outline-offset: calc(-1 * var(--focus-outline-size));\n\n &:hover {\n outline-color: var(--primary-foreground-color);\n }\n\n &:focus {\n outline-color: var(--primary-foreground-color);\n }\n }\n }\n\n .cancel-button {\n background-color: transparent;\n opacity: 0.3;\n\n &:hover {\n outline: var(--focus-outline-size) solid var(--primary-foreground-color) inset;\n opacity: 1;\n }\n\n &:focus {\n outline-color: var(--primary-foreground-color);\n }\n\n .cancel-button-label {\n color: var(--primary-foreground-color);\n }\n }\n}\n\n@media only screen and (max-width: @xsmall) {\n .settings-container {\n .settings-content {\n .side-menu-container {\n display: none;\n }\n\n .sections-container {\n .versions-section-container {\n display: flex;\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .settings-container {\n .settings-content {\n flex-direction: column-reverse;\n\n .side-menu-container {\n display: none;\n }\n\n .sections-container {\n padding: 0 1.5rem;\n\n .section-container {\n .user-info-option-container {\n flex-direction: column;\n align-items: flex-start;\n\n .user-panel-container {\n width: 100% !important;\n }\n }\n }\n\n .versions-section-container {\n display: flex;\n }\n }\n }\n }\n\n .configure-server-url-modal-container {\n .configure-server-url-modal-content {\n width: auto;\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n.buffering-loader-container {\n display: flex;\n align-items: center;\n justify-content: center;\n\n .buffering-loader {\n flex: none;\n max-width: 15rem;\n max-height: 15rem;\n animation: fadeInOut 2s infinite; \n display: block; \n width: auto;\n height: auto; \n }\n \n}\n\n\n@keyframes fadeInOut {\n 0% { opacity: 0.2; }\n 50% { opacity: 1; }\n 100% { opacity: 0.2; }\n}\n","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n:import('~stremio/common/Slider/styles.less') {\n slider-track: track;\n slider-track-after: track-after;\n}\n\n.volume-slider:not(:global(.disabled)) {\n .slider-track {\n background-color: var(--overlay-color);\n }\n\n .slider-track-after {\n background-color: var(--primary-foreground-color);\n }\n\n &:hover, &:global(.active) {\n .slider-track-after {\n background-color: var(--primary-foreground-color);\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.volume-change-indicator {\n position: absolute;\n top: 50%;\n left: 50%;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n transform: translate(-50%, -50%);\n background-color: var(--overlay-color);\n border-radius: var(--border-radius);\n padding: 2rem 2.5rem;\n gap: 1rem;\n\n .volume-icon {\n width: 6.5rem;\n height: 6.5rem;\n color: var(--primary-foreground-color);\n }\n\n .volume-slider {\n border-radius: var(--border-radius);\n max-height: 1rem;\n width: 6.5rem;\n max-height: 1rem;\n flex: 0 1 10rem;\n margin: 0 1rem;\n\n --track-size: 0.35rem;\n --thumb-size: 1rem;\n }\n\n}\n\n@media only screen and (max-width: @minimum) {\n .volume-change-indicator {\n padding: 1rem 1.5rem;\n \n .volume-icon {\n width: 4rem;\n height: 4rem;\n }\n\n .volume-slider {\n width: 4rem;\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.error {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n background-color: rgba(0, 0, 0, 1);\n\n .error-label {\n flex: 0 1 auto;\n padding: 0 8rem;\n max-height: 4.8em;\n font-size: 2rem;\n color: var(--primary-foreground-color);\n text-align: center;\n }\n\n .error-sub {\n flex: 0 1 auto;\n padding: 0 2rem;\n max-height: 4.8em;\n font-size: 1.3rem;\n margin-top: 0.8rem;\n color: var(--primary-foreground-color);\n text-align: center; \n }\n\n .playlist-button {\n flex: none;\n display: flex;\n flex-direction: row;\n align-items: center;\n height: 3.5rem;\n border-radius: 3.5rem;\n margin-top: 1.5rem;\n padding: 0 2rem;\n background-color: var(--secondary-accent-color);\n\n &:hover {\n outline: var(--focus-outline-size) solid var(--secondary-accent-color);\n background-color: transparent;\n }\n\n .icon {\n flex: none;\n width: 1.5rem;\n height: 1.5rem;\n margin-right: 1rem;\n color: var(--primary-foreground-color);\n }\n\n .label {\n flex: 1;\n max-height: 2.4em;\n font-size: 1.1rem;\n font-weight: 500;\n color: var(--primary-foreground-color);\n text-align: center;\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n:import('~stremio/common/Slider/styles.less') {\n slider-track-after: track-after;\n slider-thumb: thumb;\n}\n\n.seek-bar-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n\n .label {\n flex: none;\n width: 6rem;\n white-space: nowrap;\n text-overflow: ellipsis;\n direction: rtl;\n text-align: center;\n color: var(--primary-foreground-color);\n }\n\n .slider {\n flex: 1;\n align-self: stretch;\n margin: 0 var(--thumb-size);\n\n .slider-track-after {\n background-color: var(--primary-accent-color);\n }\n\n .slider-thumb {\n background-color: var(--primary-accent-color);\n \n &:after {\n content: \"\";\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n border-radius: 100%;\n box-shadow: 0 0 0 0.25rem var(--primary-accent-color) inset;\n filter: brightness(130%);\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.control-bar-container {\n padding: 0 1.5rem;\n\n .seek-bar {\n --track-size: 0.5rem;\n --thumb-size: 1.3rem;\n\n height: 2.5rem;\n }\n\n .control-bar-buttons-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n\n .control-bar-button {\n flex: none;\n width: 4rem;\n height: 5rem;\n display: flex;\n justify-content: center;\n align-items: center;\n\n &:global(.disabled) {\n .icon {\n opacity: 0.5;\n }\n }\n\n .icon {\n flex: none;\n width: 2.5rem;\n height: 2.5rem;\n color: var(--primary-foreground-color);\n }\n }\n\n .volume-slider {\n --track-size: 0.35rem;\n --thumb-size: 1rem;\n\n flex: 0 1 10rem;\n height: 4rem;\n margin: 0 1rem;\n }\n\n .spacing {\n flex: 1;\n }\n\n .control-bar-buttons-menu-button {\n flex: none;\n width: 4rem;\n height: 4rem;\n display: none;\n justify-content: center;\n align-items: center;\n\n .icon {\n flex: none;\n width: 2.5rem;\n height: 2.5rem;\n color: var(--primary-foreground-color);\n }\n }\n\n .control-bar-buttons-menu-container {\n flex: none;\n display: flex;\n flex-direction: row;\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .control-bar-container {\n padding: 0;\n\n .seek-bar {\n margin: 0 1.5rem;\n }\n\n .control-bar-buttons-container {\n position: relative;\n padding: 0 0.5rem;\n overflow: visible;\n\n .volume-slider {\n display: none;\n }\n\n .control-bar-buttons-menu-button {\n display: flex;\n }\n\n .control-bar-buttons-menu-container {\n position: absolute;\n right: 0.15rem;\n bottom: 4.5rem;\n flex-direction: column;\n padding: 0.5rem;\n border-radius: var(--border-radius);\n background-color: var(--modal-background-color);\n box-shadow: 0 1.35rem 2.7rem @color-background-dark5-40,\n 0 1.1rem 0.85rem @color-background-dark5-20;\n\n &:not(:global(.open)) {\n display: none;\n }\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.next-video-popup-container {\n display: flex;\n flex-direction: row;\n width: 50rem;\n animation: slide-fade-in 0.5s ease-in;\n\n @keyframes slide-fade-in {\n 0% {\n opacity: 0;\n transform: translateX(calc(40rem + 2rem));\n }\n\n 100% {\n opacity: 1;\n transform: translateX(0);\n }\n }\n\n .poster-container {\n flex: 1 1 45%;\n display: flex;\n justify-content: center;\n align-items: center;\n background-color: var(--overlay-color);\n\n .poster-image {\n flex: none;\n width: 100%;\n height: 100%;\n object-position: center;\n object-fit: cover;\n }\n\n .placeholder-icon {\n flex: none;\n width: 80%;\n height: 50%;\n color: var(--primary-foreground-color);\n }\n }\n\n .info-container {\n flex: 1 1 55%;\n display: flex;\n flex-direction: column;\n\n .details-container {\n flex: auto;\n padding: 2rem;\n\n .name {\n flex: none;\n align-self: stretch;\n max-height: 2.4em;\n font-weight: 700;\n margin-bottom: 1.5rem;\n color: var(--primary-accent-color);\n\n .label {\n color: var(--primary-foreground-color);\n }\n }\n\n .title {\n flex: none;\n align-self: stretch;\n max-height: 2.4em;\n font-weight: 500;\n margin-bottom: 0.5rem;\n color: var(--primary-foreground-color);\n }\n\n .description {\n color: var(--primary-foreground-color);\n opacity: 0.5;\n max-width: 80%;\n padding: 0.5rem 0;\n }\n }\n\n .buttons-container {\n display: flex;\n flex-direction: row;\n padding: 0 1rem 2rem;\n\n .spacing {\n flex: 0 0 50%;\n }\n\n .button-container {\n flex: 0 0 45%;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n height: 3.5rem;\n padding: 0 0.5rem;\n margin-left: 1rem;\n border-radius: 1.75rem;\n\n &.play-button {\n background-color: var(--primary-accent-color);\n\n .icon {\n color: var(--primary-foreground-color);\n }\n\n .label {\n color: var(--primary-foreground-color);\n }\n\n &:hover {\n outline: var(--focus-outline-size) solid var(--primary-accent-color);\n background-color: transparent;\n }\n }\n\n .icon {\n flex: none;\n width: 1.4rem;\n height: 1.4rem;\n margin-right: 1rem;\n color: var(--primary-foreground-color);\n }\n\n .label {\n flex: none;\n max-height: 2.4em;\n font-size: 1.1rem;\n font-weight: 500;\n color: var(--primary-foreground-color);\n }\n\n &.dismiss {\n opacity: 0.6;\n }\n\n &:hover, &:focus {\n background-color: var(--overlay-color);\n }\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.statistics-menu-container {\n display: flex;\n flex-direction: column;\n gap: 1.5rem;\n width: 30rem;\n padding: 1.5rem;\n\n .title {\n flex: none;\n font-weight: 700;\n color: var(--primary-foreground-color);\n }\n\n .label {\n flex: none;\n font-weight: 500;\n color: var(--primary-foreground-color);\n opacity: 0.5;\n }\n\n .value {\n flex: none;\n font-weight: 500;\n color: var(--primary-foreground-color);\n }\n\n .stats {\n flex: auto;\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n justify-content: space-between;\n gap: 1rem;\n\n .stat {\n flex: auto;\n display: flex;\n flex-direction: row;\n gap: 0.5rem;\n }\n }\n\n .info-hash {\n flex: auto;\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n.info-menu-container {\n width: 30rem;\n padding: 2rem;\n\n .stream {\n pointer-events: none;\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.option-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n height: 3.5rem;\n border-radius: var(--border-radius);\n padding: 0 1rem;\n margin-bottom: 0.5rem;\n\n &:last-child {\n margin-bottom: 0;\n }\n\n .icon {\n flex: none;\n width: 1.4rem;\n height: 1.4rem;\n margin-right: 1rem;\n color: var(--primary-foreground-color);\n }\n\n .label {\n flex: 1;\n max-height: 2.4em;\n font-weight: 400;\n color: var(--primary-foreground-color);\n }\n\n &:hover {\n background-color: var(--overlay-color);\n }\n\n &:global(.disabled) {\n opacity: 0.5;\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n.options-menu-container {\n width: 16rem;\n padding: 1rem;\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n.videos-menu-container {\n width: 30rem;\n padding: 1rem;\n padding-bottom: 0;\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.discrete-input-container {\n &:global(.disabled) {\n .header {\n color: var(--primary-foreground-color);\n }\n\n .input-container {\n opacity: 0.4;\n }\n }\n\n .header {\n margin-bottom: 0.5rem;\n color: var(--primary-foreground-color);\n opacity: 0.6;\n }\n\n .input-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n border-radius: 3.5rem;\n background: var(--overlay-color);\n\n .button-container {\n flex: none;\n width: 3.5rem;\n height: 3.5rem;\n padding: 1rem;\n border-radius: 100%;\n background-color: var(--overlay-color);\n\n .icon {\n display: block;\n width: 100%;\n height: 100%;\n color: var(--primary-foreground-color);\n }\n }\n\n .option-label {\n flex: 1;\n font-weight: 500;\n text-align: center;\n color: var(--primary-foreground-color);\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.subtitles-menu-container {\n height: 25rem;\n display: flex;\n flex-direction: row;\n\n .languages-container, .variants-container, .subtitles-settings-container {\n flex: none;\n align-self: stretch;\n display: flex;\n flex-direction: column;\n\n .languages-header, .variants-header, .settings-header {\n flex: none;\n align-self: stretch;\n padding: 1.5rem 2rem;\n font-weight: 700;\n color: var(--primary-foreground-color);\n }\n\n .languages-list, .variants-list {\n flex: 1;\n align-self: stretch;\n overflow-y: auto;\n padding: 0 1rem;\n\n .language-option, .variant-option {\n display: flex;\n flex-direction: row;\n align-items: center;\n height: 3.5rem;\n padding: 0 1.5rem;\n margin-bottom: 0.5rem;\n border-radius: var(--border-radius);\n\n &:global(.selected), &:hover {\n background-color: var(--overlay-color);\n }\n\n .language-label, .variant-label {\n flex: 1;\n max-height: 2.4em;\n font-size: 1.1rem;\n color: var(--primary-foreground-color);\n }\n\n .icon {\n flex: none;\n width: 0.5rem;\n height: 0.5rem;\n border-radius: 100%;\n margin-left: 1rem;\n background-color: var(--secondary-accent-color);\n }\n }\n }\n }\n\n .languages-container {\n width: 16rem;\n }\n\n .variants-container {\n width: 16rem;\n\n .no-variants-container {\n flex: 1;\n align-self: stretch;\n padding: 1rem;\n\n .no-variants-label {\n max-height: 4.8em;\n font-weight: 500;\n color: var(--primary-foreground-color);\n }\n }\n }\n\n .subtitles-settings-container {\n width: 17rem;\n\n .spacing {\n flex: 1;\n }\n\n .discrete-input {\n padding: 0 1.5rem 1rem;\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.option {\n display: flex;\n flex-direction: row;\n align-items: center;\n padding: 0 1.5em;\n margin-bottom: 0.5rem;\n border-radius: var(--border-radius);\n \n &:global(.selected) {\n background-color: var(--overlay-color);\n\n .icon {\n display: block;\n }\n }\n\n &:hover, &:focus {\n background-color: var(--overlay-color);\n }\n\n .label {\n flex: 1;\n font-weight: 400;\n color: var(--primary-foreground-color);\n }\n\n .icon {\n flex: none;\n display: none;\n width: 0.5rem;\n height: 0.5rem;\n border-radius: 100%;\n margin-left: 1rem;\n background-color: var(--secondary-accent-color);\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.speed-menu-container {\n width: 14rem;\n overflow: visible !important;\n\n .title {\n flex: none;\n align-self: stretch;\n font-weight: 700;\n color: var(--primary-foreground-color);\n padding: 1.5rem 2rem;\n }\n\n .options-container {\n flex: 0 1 auto;\n max-height: calc(3.2rem * 8);\n padding: 0 1rem 0.5rem;\n overflow-y: auto;\n \n .option {\n height: 3.2rem;\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n:import('~stremio/common/Slider/styles.less') {\n active-slider-within: active-slider-within;\n}\n\n:import('~stremio/common/NavBar/HorizontalNavBar/styles.less') {\n nav-bar-button-container: button-container;\n nav-bar-title: title;\n nav-bar-icon: icon;\n}\n\n@background-color: rgba(0, 0, 0, 1);\n\nhtml:not(.active-slider-within) {\n .player-container.overlayHidden {\n cursor: none;\n\n .nav-bar-layer, .control-bar-layer, .menu-layer {\n opacity: 0;\n transition: opacity 200ms;\n }\n }\n}\n\n.player-container {\n position: relative;\n z-index: 0;\n width: 100%;\n height: 100%;\n background-color: @background-color;\n\n .layer {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 0;\n\n &.buffering-layer, &.error-layer {\n background: transparent;\n }\n\n &.background-layer {\n .image {\n width: 100vw;\n height: 100vh;\n object-fit: cover;\n opacity: 0.6;\n }\n }\n\n &.nav-bar-layer {\n bottom: initial;\n background: transparent;\n overflow: visible;\n\n &::before {\n position: absolute;\n right: 0;\n top: 0;\n left: 0;\n z-index: -1;\n box-shadow: 0 0 8rem 6rem @color-background-dark5;\n content: \"\";\n }\n\n .nav-bar-button-container {\n &:hover {\n background: transparent;\n }\n\n .nav-bar-icon {\n color: var(--primary-foreground-color);\n }\n }\n\n .nav-bar-title {\n color: var(--primary-foreground-color);\n }\n }\n\n &.control-bar-layer {\n top: initial;\n overflow: visible;\n\n &::before {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: -1;\n box-shadow: 0 0 8rem 8rem @color-background-dark5;\n content: \"\";\n }\n }\n\n &.menu-layer {\n top: initial;\n left: initial;\n right: 2rem;\n bottom: 8rem;\n max-height: calc(100% - 13.5rem);\n max-width: calc(100% - 4rem);\n border-radius: var(--border-radius);\n background-color: var(--modal-background-color);\n box-shadow: 0 1.35rem 2.7rem @color-background-dark5-40,\n 0 1.1rem 0.85rem @color-background-dark5-20;\n backdrop-filter: blur(15px);\n overflow: auto;\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n.video-container {\n .video {\n width: 100%;\n height: 100%;\n\n * {\n font-size: inherit;\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n:import('~stremio/common/Checkbox/styles.less') {\n checkbox-icon: icon;\n}\n\n.consent-checkbox-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n padding: 0.5rem 0;\n border-radius: var(--border-radius);\n\n &:focus {\n outline: none;\n background-color: var(--overlay-color);\n }\n\n &:global(.checked) {\n .label {\n opacity: 1;\n }\n }\n\n .label {\n flex: 1;\n margin-left: 1rem;\n font-size: 0.9rem;\n color: var(--primary-foreground-color);\n opacity: 0.6;\n\n .link {\n font-size: 0.9rem;\n color: var(--primary-accent-color);\n\n &:hover {\n text-decoration: underline;\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n:import('~stremio/common/ModalDialog/styles.less') {\n password-reset-modal-content: modal-dialog-content;\n cancel-button-label: label;\n}\n\n.password-reset-modal-container {\n .password-reset-modal-content {\n width: 30rem;\n\n .credentials-text-input {\n width: 100%;\n padding: 1rem;\n border-radius: var(--border-radius);\n outline-offset: calc(-1 * var(--focus-outline-size));\n color: var(--primary-foreground-color);\n background: var(--overlay-color);\n \n &:hover, &:focus {\n outline: var(--focus-outline-size) solid var(--overlay-color);\n }\n }\n }\n\n .error-message {\n font-size: 1.1rem;\n margin-top: 2rem;\n text-align: center;\n color: @color-accent5-90;\n }\n\n .cancel-button {\n background-color: transparent;\n\n &:hover, &:focus {\n outline-color: var(--primary-foreground-color);\n }\n\n .cancel-button-label {\n color: var(--primary-foreground-color);\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .password-reset-modal-container {\n .password-reset-modal-content {\n width: auto;\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.intro-container {\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: 100%;\n overflow-y: auto;\n\n .background-container {\n z-index: -1;\n position: fixed;\n top: -1rem;\n bottom: -1rem;\n left: -1rem;\n right: -1rem;\n background: url('/images/background_1.svg'), url('/images/background_2.svg');\n background-color: var(--primary-background-color);\n background-position: bottom left, top right;\n background-size: 53%, 54%;\n background-repeat: no-repeat;\n filter: blur(6rem);\n }\n\n .heading-container {\n flex: none;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n margin-bottom: 5rem;\n\n .logo-container {\n flex: none;\n margin-bottom: 3rem;\n\n .logo {\n height: 5rem;\n opacity: 0.9;\n }\n }\n\n .title-container, .slogan-container {\n color: var(--primary-foreground-color);\n }\n\n .title-container {\n font-size: 3rem;\n font-weight: 600;\n margin-bottom: 0.5rem;\n }\n\n .slogan-container {\n font-size: 1.5rem;\n font-weight: 400;\n text-transform: lowercase;\n opacity: 0.6;\n \n &::first-letter {\n text-transform: uppercase;\n }\n }\n }\n\n .content-container {\n flex: none;\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n justify-content: center;\n width: 100%;\n \n .form-button {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n height: 4rem;\n border-radius: 3.5rem;\n padding: 0 1rem;\n\n .icon {\n flex: none;\n height: 2rem;\n width: 2rem;\n margin-right: 1rem;\n color: var(--primary-foreground-color);\n }\n\n .label {\n flex-grow: 0;\n flex-shrink: 1;\n flex-basis: auto;\n font-size: 1.1rem;\n font-weight: 700;\n color: var(--primary-foreground-color);\n text-align: center;\n }\n }\n\n .submit-button, .guest-login-button, .signup-form-button, .login-form-button {\n margin-top: 1rem;\n outline: var(--focus-outline-size) solid var(--primary-foreground-color);\n background-color: transparent;\n\n .label {\n color: var(--primary-foreground-color);\n }\n\n &:hover {\n background-color: var(--primary-foreground-color);\n\n .label {\n color: var(--secondary-foreground-color);\n }\n }\n }\n\n .form-container {\n flex: none;\n position: relative;\n width: 22rem;\n margin-right: 2rem;\n\n .credentials-text-input {\n display: block;\n width: 100%;\n margin-bottom: 1rem;\n padding: 1rem;\n border-radius: var(--border-radius);\n outline-offset: calc(-1 * var(--focus-outline-size));\n color: var(--primary-foreground-color);\n background: var(--overlay-color);\n\n &:hover, &:focus {\n outline: var(--focus-outline-size) solid var(--overlay-color);\n }\n }\n\n .forgot-password-link-container {\n display: flex;\n flex-direction: row;\n justify-content: flex-end;\n margin: 1rem 0;\n text-align: right;\n\n .forgot-password-link {\n flex-grow: 0;\n flex-shrink: 1;\n flex-basis: auto;\n padding: 0.5rem 1rem;\n color: var(--primary-foreground-color);\n\n &:hover {\n text-decoration: underline;\n }\n }\n }\n\n .error-message {\n margin: 1rem 0;\n padding: 0 1rem;\n text-align: center;\n color: var(--tertiary-accent-color);\n }\n }\n\n .options-container {\n flex: none;\n position: relative;\n width: 22rem;\n margin-left: 2rem;\n\n .facebook-button {\n background: var(--color-facebook);\n \n &:hover, &:focus {\n outline: var(--focus-outline-size) solid var(--color-facebook);\n background-color: transparent;\n }\n }\n }\n }\n}\n\n.loading-modal-container {\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: @color-background-dark5-40;\n\n .loader-container {\n flex: none;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 1rem;\n padding: 2.5rem;\n border-radius: var(--border-radius);\n background-color: var(--modal-background-color);\n\n @keyframes flash {\n 0% {\n opacity: 0.4;\n }\n\n 100% {\n opacity: 1.0;\n }\n }\n\n .icon {\n flex: none;\n width: 5rem;\n height: 5rem;\n color: var(--primary-foreground-color);\n animation: 1s linear infinite alternate flash;\n }\n\n .label {\n font-size: 1.5rem;\n color: var(--primary-foreground-color);\n animation: 1s linear infinite alternate flash;\n }\n\n .button {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n height: 3.5rem;\n width: 100%;\n border-radius: 3.5rem;\n padding: 0 1rem;\n margin-top: 2rem;\n font-size: 1.1rem;\n font-weight: 700;\n color: var(--primary-foreground-color);\n outline: var(--focus-outline-size) solid var(--primary-foreground-color);\n\n &:hover {\n color: var(--secondary-foreground-color);\n background-color: var(--primary-foreground-color);\n }\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .intro-container {\n justify-content: initial;\n padding: 3rem 1.5rem;\n\n .heading-container {\n align-items: flex-start;\n margin-bottom: 4rem;\n\n .logo-container {\n .logo {\n height: 4rem;\n }\n }\n\n .title-container {\n font-size: 2.5rem;\n }\n\n .slogan-container {\n font-size: 1.5rem;\n }\n }\n\n .content-container {\n flex-direction: column-reverse;\n\n .form-container, .options-container {\n width: 100%;\n margin: 0;\n }\n\n .options-container {\n margin-bottom: 4rem;\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.error-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 1rem;\n\n .error-image {\n flex: none;\n width: 12rem;\n height: 12rem;\n object-fit: contain;\n object-position: center;\n opacity: 0.9;\n }\n\n .error-message {\n flex: none;\n padding: 0 3rem;\n font-size: 2rem;\n max-height: 3.6em;\n text-align: center;\n color: var(--primary-foreground-color);\n }\n\n .buttons-container {\n flex: none;\n align-self: stretch;\n margin: 0 2rem;\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n align-items: center;\n justify-content: center;\n gap: 1.5rem;\n margin-top: 1rem;\n\n .button-container {\n flex-grow: 0;\n flex-shrink: 1;\n flex-basis: auto;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n padding: 0 2.5rem;\n min-width: 8rem;\n height: 3.5rem;\n border-radius: 3.5rem;\n background-color: var(--overlay-color);\n\n &:hover {\n outline: var(--focus-outline-size) solid var(--primary-foreground-color);\n background-color: transparent;\n }\n\n &:active {\n outline: none;\n }\n\n &:global(.disabled) {\n opacity: 0.3;\n }\n\n .label {\n flex-grow: 0;\n flex-shrink: 1;\n flex-basis: auto;\n max-height: 2.4em;\n font-size: 1.1rem;\n font-weight: 500;\n text-align: center;\n color: var(--primary-foreground-color);\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~stremio/common/screen-sizes.less';\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n@font-face {\n font-family: 'PlusJakartaSans';\n src: url('/fonts/PlusJakartaSans.ttf') format('truetype');\n}\n\n:global {\n @import (once, less) '~stremio/common/animations.less';\n @import (once, less) '~stremio-router/styles.css';\n}\n\n:root {\n --landscape-shape-ratio: 0.5625;\n --poster-shape-ratio: 1.464;\n --scroll-bar-size: 6px;\n --horizontal-nav-bar-size: 5.5rem;\n --vertical-nav-bar-size: 6rem;\n --focus-outline-size: 2px;\n --color-facebook: #1877F1;\n --color-x: #000000;\n --color-reddit: #FF4500;\n --color-imdb: #f5c518;\n --color-trakt: #ED2224;\n --color-placeholder: #60606080;\n --color-placeholder-text: @color-surface-50;\n --color-placeholder-background: @color-surface-dark5-20;\n --primary-background-color: rgba(12, 11, 17, 1);\n --secondary-background-color: rgba(26, 23, 62, 1);\n --primary-foreground-color: rgba(255, 255, 255, 0.9);\n --secondary-foreground-color: rgb(12, 11, 17, 1);\n --primary-accent-color: rgb(123, 91, 245);\n --secondary-accent-color: rgba(34, 179, 101, 1);\n --tertiary-accent-color: rgba(246, 199, 0, 1);\n --quaternary-accent-color: rgba(18, 69, 166, 1);\n --overlay-color: rgba(255, 255, 255, 0.05);\n --modal-background-color: rgba(15, 13, 32, 1);\n --outer-glow: 0px 0px 30px rgba(123, 91, 245, 0.37);\n --border-radius: 0.75rem;\n}\n\n* {\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n font-size: 1rem;\n font-family: inherit;\n border: none;\n outline: none;\n list-style: none;\n user-select: none;\n text-decoration: none;\n appearance: none;\n background: none;\n box-shadow: none;\n overflow: hidden;\n word-break: break-word;\n scrollbar-width: thin;\n scrollbar-color: var(--overlay-color) transparent;\n}\n\n::-webkit-scrollbar {\n width: var(--scroll-bar-size);\n height: var(--scroll-bar-size);\n}\n\n::-webkit-scrollbar-thumb {\n border-radius: var(--scroll-bar-size);\n background-color: var(--overlay-color);\n\n &:hover {\n background-color: var(--primary-accent-color);\n }\n}\n\n::-webkit-scrollbar-track {\n background-color: transparent;\n}\n\nsvg {\n overflow: visible;\n}\n\nhtml {\n width: 100%;\n height: 100%;\n min-width: 640px;\n min-height: 480px;\n font-family: 'PlusJakartaSans', 'sans-serif';\n overflow: auto;\n\n body {\n width: 100%;\n height: 100%;\n background: linear-gradient(41deg, var(--primary-background-color) 0%, var(--secondary-background-color) 100%);\n\n :global(#app) {\n position: relative;\n z-index: 0;\n width: 100%;\n height: 100%;\n\n .toasts-container {\n position: absolute;\n top: calc(1.2 * var(--horizontal-nav-bar-size));\n right: 0;\n bottom: calc(1.2 * var(--horizontal-nav-bar-size));\n left: auto;\n z-index: 1;\n padding: 0 calc(0.5 * var(--horizontal-nav-bar-size));\n overflow-y: auto;\n scrollbar-width: none;\n pointer-events: none;\n\n &::-webkit-scrollbar {\n display: none;\n }\n }\n\n .tooltip-container {\n height: 2.5rem;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0 1.5rem;\n font-size: 1rem;\n color: var(--primary-foreground-color);\n border-radius: var(--border-radius);\n background-color: var(--modal-background-color);\n box-shadow: var(--outer-glow);\n transition: opacity 0.1s ease-out;\n\n &:global(.active) {\n transition-delay: 0.25s;\n }\n }\n\n .router {\n width: 100%;\n height: 100%;\n }\n\n .loader-container, .error-container {\n width: 100%;\n height: 100%;\n }\n }\n }\n}\n\n@media only screen and (min-width: @xxlarge) {\n html {\n font-size: 18px;\n }\n}\n\n@media only screen and (max-width: @xxlarge) {\n html {\n font-size: 16px;\n }\n}\n\n@media only screen and (max-width: @large) {\n html {\n font-size: 15px;\n }\n}\n\n@media only screen and (max-width: @medium) {\n html {\n font-size: 14px;\n }\n}\n\n@media only screen and (max-width: @xsmall) {\n html {\n min-width: inherit;\n min-height: inherit;\n\n body {\n :global(#app) {\n .toasts-container {\n padding: 0 1rem;\n }\n\n .tooltip-container {\n display: none;\n }\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n:global(.animation-fade-in) {\n :local {\n animation-name: fade-in;\n }\n\n animation-timing-function: ease-in-out;\n animation-duration: 100ms;\n}\n\n@keyframes fade-in {\n 0% {\n opacity: 0.6;\n transform: translateY(0.2vh);\n }\n\n 100% {\n opacity: 1;\n transform: translateY(0);\n }\n}","/* Copyright (C) 2017-2023 Smart code 203358507 */\n\n.routes-container {\n position: relative;\n z-index: 0;\n}\n\n.routes-container .route-container {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 0;\n}\n\n.routes-container .route-container:not(:last-child) {\n display: none;\n}\n\n.routes-container .route-container .route-content {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 0;\n overflow: hidden;\n}\n\n.routes-container .route-container .modals-container {\n width: 0;\n height: 0;\n}\n\n.routes-container .route-container .modals-container .modal-container {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n overflow: hidden;\n}\n"],"names":[],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"db0f16b81e41b3901bcf5e0a624af142b1dd9f00/styles/main.css","mappings":"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","sources":["webpack://stremio/./src/common/Button/styles.less","webpack://stremio/./src/common/ModalDialog/styles.less","webpack://stremio/./src/common/AddonDetailsModal/AddonDetails/styles.less","webpack://stremio/./src/common/AddonDetailsModal/styles.less","webpack://stremio/./src/common/Checkbox/styles.less","webpack://stremio/./src/common/Chips/Chip/Chip.less","webpack://stremio/./src/common/Chips/Chips.less","webpack://stremio/./src/common/ColorInput/ColorPicker/styles.less","webpack://stremio/./src/common/ColorInput/styles.less","webpack://stremio/./src/common/Popup/styles.less","webpack://stremio/./src/common/Multiselect/styles.less","webpack://stremio/./src/common/PlayIconCircleCentered/styles.less","webpack://stremio/./src/common/MetaItem/styles.less","webpack://stremio/./src/common/TextInput/styles.less","webpack://stremio/./src/common/NavBar/HorizontalNavBar/SearchBar/styles.less","webpack://stremio/./src/common/NavBar/HorizontalNavBar/NavMenu/styles.less","webpack://stremio/./src/common/NavBar/HorizontalNavBar/styles.less","webpack://stremio/./src/common/NavBar/VerticalNavBar/NavTabButton/styles.less","webpack://stremio/./src/common/NavBar/VerticalNavBar/styles.less","webpack://stremio/./src/common/MainNavBars/styles.less","webpack://stremio/./src/common/SharePrompt/styles.less","webpack://stremio/./src/common/MetaPreview/ActionButton/styles.less","webpack://stremio/./src/common/Tooltips/TooltipItem/styles.less","webpack://stremio/./src/common/Tooltips/Tooltip/styles.less","webpack://stremio/./src/common/MetaPreview/MetaLinks/styles.less","webpack://stremio/./src/common/MetaPreview/MetaPreviewPlaceholder/styles.less","webpack://stremio/./src/common/MetaPreview/styles.less","webpack://stremio/./src/common/MetaRow/MetaRowPlaceholder/styles.less","webpack://stremio/./src/common/MetaRow/styles.less","webpack://stremio/./src/common/MultiselectMenu/Dropdown/Option/Option.less","webpack://stremio/./src/common/MultiselectMenu/Dropdown/Dropdown.less","webpack://stremio/./src/common/MultiselectMenu/MultiselectMenu.less","webpack://stremio/./src/common/PaginationInput/styles.less","webpack://stremio/./src/common/SearchBar/SearchBarPlaceholder/styles.less","webpack://stremio/./src/common/SearchBar/styles.less","webpack://stremio/./src/common/StreamingServerWarning/styles.less","webpack://stremio/./src/common/Slider/styles.less","webpack://stremio/./src/common/Toast/ToastItem/styles.less","webpack://stremio/./src/common/EventModal/styles.less","webpack://stremio/./src/routes/Addons/Addon/styles.less","webpack://stremio/./src/routes/Addons/styles.less","webpack://stremio/./src/routes/Board/styles.less","webpack://stremio/./src/routes/Discover/styles.less","webpack://stremio/./src/routes/NotFound/styles.less","webpack://stremio/./src/routes/Library/styles.less","webpack://stremio/./src/routes/MetaDetails/StreamsList/Stream/StreamPlaceholder/styles.less","webpack://stremio/./src/routes/MetaDetails/StreamsList/Stream/styles.less","webpack://stremio/./src/routes/MetaDetails/StreamsList/styles.less","webpack://stremio/./src/routes/MetaDetails/VideosList/SeasonsBar/SeasonsBarPlaceholder/styles.less","webpack://stremio/./src/routes/MetaDetails/VideosList/SeasonsBar/styles.less","webpack://stremio/./src/routes/MetaDetails/VideosList/Video/VideoPlaceholder/styles.less","webpack://stremio/./src/routes/MetaDetails/VideosList/Video/styles.less","webpack://stremio/./src/routes/MetaDetails/VideosList/styles.less","webpack://stremio/./src/routes/MetaDetails/styles.less","webpack://stremio/./src/routes/Search/styles.less","webpack://stremio/./src/routes/Settings/styles.less","webpack://stremio/./src/routes/Player/BufferingLoader/styles.less","webpack://stremio/./src/routes/Player/ControlBar/VolumeSlider/styles.less","webpack://stremio/./src/routes/Player/VolumeChangeIndicator/styles.less","webpack://stremio/./src/routes/Player/Error/styles.less","webpack://stremio/./src/routes/Player/ControlBar/SeekBar/styles.less","webpack://stremio/./src/routes/Player/ControlBar/styles.less","webpack://stremio/./src/routes/Player/NextVideoPopup/styles.less","webpack://stremio/./src/routes/Player/StatisticsMenu/styles.less","webpack://stremio/./src/routes/Player/InfoMenu/styles.less","webpack://stremio/./src/routes/Player/OptionsMenu/Option/styles.less","webpack://stremio/./src/routes/Player/OptionsMenu/styles.less","webpack://stremio/./src/routes/Player/VideosMenu/styles.less","webpack://stremio/./src/routes/Player/SubtitlesMenu/DiscreteSelectInput/styles.less","webpack://stremio/./src/routes/Player/SubtitlesMenu/styles.less","webpack://stremio/./src/routes/Player/SpeedMenu/Option/styles.less","webpack://stremio/./src/routes/Player/SpeedMenu/styles.less","webpack://stremio/./src/routes/Player/styles.less","webpack://stremio/./src/routes/Player/Video/styles.less","webpack://stremio/./src/routes/Intro/ConsentCheckbox/styles.less","webpack://stremio/./src/routes/Intro/PasswordResetModal/styles.less","webpack://stremio/./src/routes/Intro/styles.less","webpack://stremio/./src/App/ErrorDialog/styles.less","webpack://stremio/./src/App/styles.less","webpack://stremio/./src/common/animations.less","webpack://stremio/./src/router/styles.css"],"sourcesContent":["// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.button-container {\n outline-width: var(--focus-outline-size);\n outline-color: @color-surface-light5;\n outline-offset: calc(-1 * var(--focus-outline-size));\n cursor: pointer;\n\n &:focus {\n outline-style: solid;\n }\n\n &:global(.disabled) {\n pointer-events: none;\n opacity: 0.5;\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.modal-container {\n display: flex;\n justify-content: center;\n align-items: center;\n background-color: @color-background-dark5-40;\n\n .modal-dialog-container {\n position: relative;\n flex: none;\n display: flex;\n flex-direction: column;\n max-width: 80%;\n max-height: 80%;\n padding: 0 2rem;\n border-radius: var(--border-radius);\n background-color: var(--modal-background-color);\n box-shadow: var(--outer-glow);\n\n .modal-dialog-background {\n z-index: 0;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n background-size: cover;\n background-position: center;\n opacity: 0.1;\n }\n\n .close-button-container {\n position: absolute;\n top: 0.5rem;\n right: 0.5rem;\n width: 3rem;\n height: 3rem;\n padding: 0.5rem;\n border-radius: var(--border-radius);\n z-index: 2;\n\n .icon {\n display: block;\n width: 100%;\n height: 100%;\n color: var(--primary-foreground-color);\n opacity: 0.4;\n }\n\n &:hover,\n &:focus {\n .icon {\n opacity: 1;\n color: var(--primary-foreground-color);\n }\n }\n\n &:focus {\n outline-color: var(--primary-foreground-color);\n }\n }\n\n .modal-dialog-content {\n z-index: 1;\n position: relative;\n overflow-y: auto;\n\n .title-container {\n flex: 1 0 auto;\n display: flex;\n align-items: center;\n height: 4.5rem;\n font-size: 1.2rem;\n font-weight: 500;\n color: var(--primary-foreground-color);\n }\n\n .body-container {\n flex: 1;\n align-self: stretch;\n overflow-y: auto;\n padding: 2rem 0;\n\n &:last-child {\n margin-bottom: 2rem;\n }\n }\n\n .buttons-container {\n flex: none;\n align-self: stretch;\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n\n &:last-child {\n margin: 2rem 0;\n }\n }\n }\n }\n}\n\n.action-button {\n flex: 1;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n height: 3.5rem;\n border-radius: 3.5rem;\n padding: 1.2rem;\n background-color: var(--secondary-accent-color);\n\n &:hover {\n background-color: transparent;\n outline: var(--focus-outline-size) solid var(--secondary-accent-color);\n }\n\n &:focus {\n outline-color: var(--primary-foreground-color);\n }\n\n &:not(:last-child) {\n margin-right: 1rem;\n }\n\n .icon {\n flex: none;\n width: 1.2rem;\n height: 1.2rem;\n margin-right: .5rem;\n color: var(--primary-foreground-color);\n }\n\n .label {\n flex-grow: 0;\n flex-shrink: 1;\n flex-basis: auto;\n max-height: 3.6em;\n font-size: 1.1rem;\n font-weight: 700;\n text-align: center;\n color: var(--primary-foreground-color);\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .modal-container {\n .modal-dialog-container {\n position: relative;\n width: 90%;\n max-width: initial;\n z-index: 0;\n padding: 0 1.5rem;\n\n .modal-dialog-content {\n .buttons-container {\n flex-direction: column;\n gap: 1rem;\n }\n }\n }\n\n .action-button {\n width: 100%;\n\n .label {\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.addon-details-container {\n .title-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n\n .logo, .icon {\n float: left;\n width: 5rem;\n height: 5rem;\n margin-right: 1.5rem;\n padding: 0.5rem;\n }\n\n .logo {\n object-fit: contain;\n object-position: center;\n }\n\n .icon {\n color: var(--primary-foreground-color);\n }\n\n .name-container {\n flex-grow: 1;\n flex-shrink: 1;\n flex-basis: 0;\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n align-items: baseline;\n \n .name {\n flex-grow: 0;\n flex-shrink: 1;\n flex-basis: auto;\n margin-right: 0.5rem;\n font-size: 1.6rem;\n color: var(--primary-foreground-color);\n }\n \n .version {\n flex-grow: 1;\n flex-shrink: 1;\n flex-basis: auto;\n margin-top: 0.5rem;\n color: var(--primary-foreground-color);\n }\n }\n }\n\n .section-container {\n margin-top: 1rem;\n\n .section-header {\n font-size: 1.1rem;\n color: var(--primary-foreground-color);\n }\n\n .section-label {\n font-size: 1.1rem;\n font-weight: 300;\n color: var(--primary-foreground-color);\n\n &.transport-url-label {\n user-select: text;\n }\n\n &.disclaimer-label {\n font-style: italic;\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n:import('~stremio/common/ModalDialog/styles.less') {\n label: label;\n}\n\n.addon-details-modal-container {\n .addon-details-container, .addon-details-message-container {\n width: 40rem;\n max-width: 100%;\n color: var(--primary-foreground-color);\n }\n\n .cancel-button {\n background-color: transparent;\n opacity: 0.3;\n\n &:hover {\n outline: var(--focus-outline-size) solid var(--primary-foreground-color);\n opacity: 1;\n }\n\n &:focus {\n outline-color: var(--primary-foreground-color);\n }\n\n .cancel-button-label {\n color: var(--primary-foreground-color);\n }\n }\n\n .uninstall-button {\n background-color: var(--overlay-color);\n \n &:hover {\n outline: var(--focus-outline-size) solid var(--overlay-color);\n background-color: transparent;\n }\n\n &:focus {\n outline-color: var(--primary-foreground-color);\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n@height: 1.7rem;\n@width: 3.2rem;\n@thumb-margin: 0.5rem;\n\n@thumb-size: calc(@height - @thumb-margin);\n\n.checkbox-container {\n position: relative;\n \n .toggle {\n position: relative;\n width: @width;\n height: @height;\n border-radius: @height;\n background-color: var(--overlay-color);\n transition: background-color 0.1s ease-in-out;\n\n &::before {\n content: \"\";\n position: absolute;\n height: @thumb-size;\n width: @thumb-size;\n top: calc(@thumb-margin / 2);\n left: calc(@thumb-margin / 2);\n border-radius: 50%;\n background-color: var(--primary-foreground-color);\n transition: transform 0.1s ease-in-out;\n }\n }\n\n &:global(.checked) {\n .toggle {\n background-color: var(--secondary-accent-color);\n\n &::before {\n transform: translateX(calc(@width - @thumb-size - @thumb-margin));\n }\n }\n }\n}","// Copyright (C) 2017-2024 Smart code 203358507\n\n@height: 2.75rem;\n\n.chip {\n flex: none;\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n height: @height;\n font-size: 1rem;\n font-weight: 500;\n color: var(--primary-foreground-color);\n white-space: nowrap;\n text-transform: capitalize;\n padding: 0 1.75rem;\n border-radius: @height;\n -webkit-tap-highlight-color: transparent;\n background-color: transparent;\n user-select: none;\n overflow: hidden;\n\n &:hover {\n background-color: var(--overlay-color);\n transition: background-color 0.1s ease-out;\n }\n\n &.active {\n font-weight: 700;\n background-color: var(--quaternary-accent-color);\n transition: background-color 0.1s ease-in;\n }\n}","// Copyright (C) 2017-2024 Smart code 203358507\n\n@mask-width: 10%;\n\n.chips {\n position: relative;\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n gap: 1rem;\n overflow-x: auto;\n\n &.left {\n mask-image: linear-gradient(90deg, rgba(0, 0, 0, 1) calc(100% - @mask-width), rgba(0, 0, 0, 0) 100%);\n }\n\n &.right {\n mask-image: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) @mask-width);\n }\n\n &.center {\n mask-image: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) @mask-width, rgba(0, 0, 0, 1) calc(100% - @mask-width), rgba(0, 0, 0, 0) 100%);\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n.color-picker-container {\n overflow: visible;\n text-align: center;\n\n * {\n overflow: visible;\n }\n\n :global(.a-color-picker-stack):not(:global(.a-color-picker-row-top)) canvas, :global(.a-color-picker-circle) {\n border: solid thin var(--color-surfacedark);\n }\n\n :global(.a-color-picker-circle) {\n box-shadow: 0 0 .2rem var(--color-surfacedark);\n }\n\n :global(.a-color-picker-clipbaord) {\n pointer-events: none;\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.color-input-container {\n position: relative;\n z-index: 0;\n\n .transparent-label-container {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0 0.5rem;\n border: thin solid @color-surface-light5-20;\n pointer-events: none;\n\n .transparent-label {\n flex: 1;\n text-align: center;\n color: @color-surface-light5;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n }\n}\n\n.color-picker-container {\n margin: 1rem 0;\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.label-container {\n // IOS specific \n // prevents showing the default context-menu when long pressing an anchor in safari.\n -webkit-touch-callout: none !important;\n\n position: relative;\n overflow: visible;\n\n .menu-container {\n position: absolute;\n z-index: 1;\n overflow: hidden;\n visibility: hidden;\n border-radius: var(--border-radius);\n background-color: var(--modal-background-color);\n box-shadow: var(--outer-glow);\n cursor: auto;\n\n &.menu-direction-top-left {\n top: initial;\n right: 0;\n bottom: 100%;\n left: initial;\n visibility: visible;\n }\n\n &.menu-direction-bottom-left {\n top: 100%;\n right: 0;\n bottom: initial;\n left: initial;\n visibility: visible;\n }\n\n &.menu-direction-top-right {\n top: initial;\n right: initial;\n bottom: 100%;\n left: 0;\n visibility: visible;\n }\n\n &.menu-direction-bottom-right {\n top: 100%;\n right: initial;\n bottom: initial;\n left: 0;\n visibility: visible;\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n:import('~stremio/common/Popup/styles.less') {\n popup-menu-container: menu-container;\n}\n\n.label-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n height: 2.75rem;\n padding: 0 1.5rem;\n border-radius: 2.75rem;\n background-color: var(--overlay-color);\n\n &:global(.active) {\n .icon {\n transform: rotate(180deg);\n }\n }\n\n >.label {\n flex: 1;\n max-height: 2.4em;\n font-weight: 500;\n color: var(--primary-foreground-color);\n }\n\n .icon {\n flex: none;\n width: 1rem;\n height: 1rem;\n margin-left: 1rem;\n color: var(--primary-foreground-color);\n opacity: 0.4;\n }\n\n .popup-menu-container {\n width: 100%;\n }\n}\n\n.modal-container, .popup-menu-container {\n .menu-container {\n .option-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n padding: 1rem;\n\n &:global(.selected) {\n .icon {\n display: block;\n }\n }\n\n &:hover, &:focus {\n background-color: var(--overlay-color);\n }\n\n .label {\n flex: 1;\n max-height: 4.8em;\n color: var(--primary-foreground-color);\n }\n\n .icon {\n flex: none;\n display: none;\n width: 0.5rem;\n height: 0.5rem;\n border-radius: 100%;\n margin-left: 1rem;\n background-color: var(--secondary-accent-color);\n opacity: 1;\n }\n }\n\n .no-options-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n padding: 1rem;\n background-color: @color-background;\n\n .label {\n flex-grow: 0;\n flex-shrink: 1;\n flex-basis: auto;\n font-size: 1.2rem;\n font-weight: 500;\n text-align: center;\n color: @color-surface-light5-90;\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.background {\n fill: @color-surface-light5;\n}\n\n.icon {\n fill: @color-background-dark5;\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n:import('~stremio/common/Popup/styles.less') {\n popup-menu-container: menu-container;\n}\n\n:import('~stremio/common/Multiselect/styles.less') {\n multiselect-menu-container: menu-container;\n multiselect-option-container: option-container;\n multiselect-option-label: label;\n}\n\n:import('~stremio/common/PlayIconCircleCentered/styles.less') {\n play-icon-circle-centered-background: background;\n play-icon-circle-centered-icon: icon;\n}\n\n@play-icon-size: 4rem;\n\n.meta-item-container {\n padding: 1rem;\n overflow: visible;\n -webkit-tap-highlight-color: transparent;\n\n &:hover, &:focus, &:global(.active), &:global(.selected) {\n outline-style: none;\n transition: background-color 100ms ease-out;\n\n .poster-container {\n box-shadow: 0 0 0 0.2rem var(--primary-foreground-color);\n\n .dismiss-icon-layer {\n opacity: 1;\n }\n\n .poster-image-layer {\n transform: scale(1.05);\n }\n\n .play-icon-layer {\n .play-icon-outer {\n color: transparent;\n }\n\n .play-icon-background {\n background-color: var(--secondary-accent-color);\n opacity: 1;\n }\n }\n }\n\n .title-bar-container {\n .menu-label-container {\n opacity: 1;\n }\n }\n }\n\n &.poster-shape-poster {\n .poster-container {\n padding-top: calc(100% * var(--poster-shape-ratio));\n }\n }\n\n &.poster-shape-square {\n .poster-container {\n padding-top: 100%;\n }\n }\n\n &.poster-shape-landscape {\n .poster-container {\n padding-top: calc(100% * var(--landscape-shape-ratio));\n }\n }\n\n .poster-container {\n position: relative;\n z-index: 0;\n background-color: var(--overlay-color);\n border-radius: var(--border-radius);\n\n &:global(.poster-change-cursor) {\n .poster-image-layer {\n &:hover {\n cursor: zoom-in;\n }\n }\n }\n\n .dismiss-icon-layer {\n z-index: -2;\n position: absolute;\n top: 0.5rem;\n left: 0.5rem;\n display: flex;\n align-items: center;\n justify-content: center;\n height: 1.5rem;\n width: 1.5rem;\n border-radius: 100%;\n opacity: 0;\n transition: opacity 0.1s ease-in;\n\n .dismiss-icon {\n z-index: 1;\n position: relative;\n height: 1.25rem;\n width: 1.25rem;\n color: var(--primary-foreground-color);\n opacity: 0.8;\n }\n\n .dismiss-icon-backdrop {\n z-index: 0;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n background-color: var(--primary-background-color);\n opacity: 0.6;\n }\n }\n\n .watched-icon-layer {\n position: absolute;\n top: 0;\n left: 0;\n display: flex;\n justify-content: center;\n align-items: center;\n width: 1.5rem;\n height: 1.5rem;\n background-color: var(--primary-accent-color);\n border-radius: 50%;\n margin: 0.5rem;\n\n .watched-icon {\n width: 0.75rem;\n height: 0.75rem;\n color: var(--primary-foreground-color);\n }\n }\n\n .poster-image-layer {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: -3;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n transition: transform 0.1s ease-out;\n\n .poster-image {\n flex: none;\n width: 100%;\n height: 100%;\n object-position: center;\n object-fit: cover;\n opacity: 0.9;\n }\n\n .placeholder-icon {\n flex: none;\n width: 80%;\n height: 50%;\n color: var(--primary-foreground-color);\n opacity: 0.2;\n }\n }\n\n .play-icon-layer {\n z-index: -2;\n position: absolute;\n top: 50%;\n left: 50%;\n margin-top: calc(@play-icon-size / -2);\n margin-left: calc(@play-icon-size / -2);\n display: flex;\n align-items: center;\n justify-content: center;\n height: @play-icon-size;\n width: @play-icon-size;\n transition: transform 0.1s ease-out;\n\n .play-icon {\n z-index: 2;\n position: relative;\n height: 2.25rem;\n width: 2.25rem;\n color: var(--primary-foreground-color);\n }\n\n .play-icon-outer {\n z-index: 1;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n color: var(--primary-foreground-color);\n box-shadow: 0 0 0 0.15rem currentColor inset;\n border-radius: 100%;\n transition: color 0.1s ease-in;\n }\n\n .play-icon-background {\n z-index: 0;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n background-color: var(--primary-background-color);\n border-radius: 100%;\n opacity: 0.4;\n transition: all 0.1s ease-in;\n }\n\n &:hover {\n transform: scale(1.1);\n }\n }\n\n .progress-bar-layer {\n z-index: -1;\n position: absolute;\n bottom: 1rem;\n left: 1rem;\n right: 1rem;\n height: 0.45rem;\n border-radius: 0.45rem;\n overflow: hidden;\n\n .progress-bar {\n position: relative;\n height: 100%;\n background-color: var(--primary-foreground-color);\n }\n \n .progress-bar-background {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: var(--primary-foreground-color);\n opacity: 0.3;\n }\n }\n\n .new-videos {\n z-index: -1;\n position: absolute;\n top: 0;\n right: 0;\n overflow: visible;\n\n .layer {\n position: absolute;\n display: flex;\n align-items: center;\n justify-content: center;\n height: 1.25rem;\n width: 2.25rem;\n border-radius: 0.25rem;\n\n &:nth-child(1) {\n top: 0.5rem;\n right: 0.5rem;\n background-color: var(--primary-foreground-color);\n opacity: 0.4;\n }\n\n &:nth-child(2) {\n top: 0.75rem;\n right: 0.75rem;\n background-color: var(--primary-foreground-color);\n opacity: 0.6;\n }\n\n &:nth-child(3) {\n top: 1rem;\n right: 1rem;\n background-color: var(--primary-foreground-color);\n }\n\n .icon {\n height: 0.8rem;\n width: 0.8rem;\n color: var(--primary-accent-color);\n }\n\n .label {\n font-size: 0.8rem;\n font-weight: 600;\n color: var(--primary-accent-color);\n }\n }\n }\n }\n\n .title-bar-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n height: 4rem;\n overflow: visible;\n\n .title-label {\n flex: 1;\n padding-left: 1.5rem;\n font-weight: 600;\n text-align: center;\n color: var(--primary-foreground-color);\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n\n &:only-child {\n padding: 0 0.5rem;\n }\n }\n\n .menu-label-container {\n z-index: 1;\n flex: none;\n width: 1.5rem;\n height: 4rem;\n padding: 1rem 0;\n background-color: transparent;\n opacity: 0;\n transform: translateX(1rem);\n transition: opacity 0.1s ease-out;\n\n .icon {\n display: block;\n width: 100%;\n height: 100%;\n color: var(--primary-foreground-color);\n opacity: 0.6;\n }\n\n .popup-menu-container {\n width: auto;\n\n .multiselect-menu-container {\n min-width: 9rem;\n max-width: 14rem;\n\n .multiselect-option-container {\n padding: 1rem 1.5rem;\n\n &:hover, &:focus {\n outline: none;\n background-color: var(--overlay-color);\n }\n\n .multiselect-option-label {\n font-weight: 500;\n color: var(--primary-foreground-color);\n opacity: 0.8;\n }\n }\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .meta-item-container {\n padding: 0.5rem;\n\n .title-bar-container {\n margin-top: 0.5rem;\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n.text-input {\n user-select: text;\n\n &::-moz-focus-inner {\n border: none;\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.search-bar-container {\n --search-bar-size: 3.25rem;\n display: flex;\n flex-direction: row;\n height: var(--search-bar-size);\n border-radius: var(--search-bar-size);\n background-color: var(--overlay-color);\n position: relative;\n overflow: visible;\n\n .search-input {\n flex: 1;\n align-self: stretch;\n display: flex;\n flex-direction: row;\n align-items: center;\n padding: 0 0.5rem 0 2rem;\n font-weight: 500;\n color: var(--primary-foreground-color);\n cursor: text;\n\n &::placeholder, .placeholder-label {\n max-height: 1.2em;\n opacity: 1;\n color: var(--primary-foreground-color);\n opacity: 0.6;\n }\n }\n\n .submit-button-container {\n flex: none;\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n height: var(--search-bar-size);\n padding: 0 1.5rem;\n\n .icon {\n flex: none;\n width: 1.7rem;\n height: 1.7rem;\n color: var(--primary-foreground-color);\n opacity: 0.6;\n }\n }\n\n .menu-container {\n position: absolute;\n top: 100%;\n left: 0;\n width: 100%;\n height: auto;\n z-index: 10;\n padding: 1rem;\n margin: 0 auto;\n display: flex;\n justify-content: center;\n align-items: flex-start;\n flex-direction: column;\n gap: 1.5rem;\n background-color: var(--modal-background-color);\n border-radius: var(--border-radius);\n \n .label {\n font-size: 0.9rem;\n color: var(--primary-foreground-color);\n }\n\n .title {\n display: flex;\n justify-content: space-between;\n width: 100%;\n opacity: 0.8;\n padding-bottom: 1rem;\n\n .search-history-clear {\n cursor: pointer;\n color: var(--primary-foreground-color);\n font-size: 0.9rem;\n\n &:hover {\n opacity: 0.6;\n }\n }\n }\n\n .items {\n width: 100%;\n margin: 0 auto;\n display: flex;\n justify-content: center;\n align-items: flex-start;\n flex-direction: column;\n\n .item {\n width: 90%;\n color: var(--primary-foreground-color);\n text-align: left;\n text-decoration: none;\n padding: 0.5rem 1rem;\n border-radius: var(--border-radius);\n width: 100%;\n cursor: pointer;\n z-index: 10;\n\n &:hover {\n background-color: var(--secondary-background-color);\n }\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n:import('~stremio/common/Popup/styles.less') {\n popup-menu-container: menu-container;\n}\n\n.nav-menu-popup-label {\n .popup-menu-container {\n margin-top: 1rem;\n }\n}\n.nav-menu-container {\n width: 22rem;\n max-height: calc(100vh - var(--horizontal-nav-bar-size));\n overflow-y: auto;\n border-radius: var(--border-radius);\n background-color: var(--modal-background-color);\n\n .user-info-container {\n display: flex;\n padding: 1.5rem 1rem;\n\n .avatar-container {\n flex: none;\n height: 4rem;\n width: 4rem;\n border-radius: 50%;\n background-size: cover;\n background-repeat: no-repeat;\n background-position: center;\n background-origin: content-box;\n background-clip: content-box;\n background-color: var(--primary-foreground-color);\n opacity: 0.9;\n }\n\n .user-info-details {\n flex: auto;\n display: flex;\n flex-direction: column;\n justify-content: center;\n margin-left: 1rem;\n\n .email-container {\n flex: none;\n margin-bottom: 0.5rem;\n\n .email-label {\n flex: 1;\n color: var(--primary-foreground-color);\n }\n }\n\n .logout-button-container {\n flex: none;\n\n &:hover, &:focus {\n outline: none;\n\n .logout-label {\n text-decoration: underline;\n }\n }\n\n .logout-label {\n flex: 1;\n font-size: 0.9rem;\n font-weight: 500;\n color: var(--primary-foreground-color);\n }\n }\n }\n }\n\n .nav-menu-section {\n border-top: thin solid var(--overlay-color);\n\n .nav-menu-option-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n height: 4rem;\n padding: 0 1.5rem;\n\n &:hover {\n background-color: var(--overlay-color);\n }\n\n .icon {\n flex: none;\n width: 2rem;\n height: 2rem;\n margin-right: 1rem;\n color: var(--primary-foreground-color);\n opacity: 0.3;\n }\n\n .nav-menu-option-label {\n flex: 1;\n color: var(--primary-foreground-color);\n }\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .nav-menu-container {\n max-height: calc(100vh - var(--horizontal-nav-bar-size) - var(--vertical-nav-bar-size) - 1rem);\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.horizontal-nav-bar-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n height: var(--horizontal-nav-bar-size);\n padding-right: 1rem;\n background-color: transparent;\n overflow: visible;\n\n .logo-container {\n flex: none;\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--vertical-nav-bar-size);\n height: var(--horizontal-nav-bar-size);\n\n .logo {\n flex: none;\n width: 2.5rem;\n height: 2.5rem;\n object-position: center;\n object-fit: contain;\n opacity: 0.9;\n }\n }\n\n .back-button-container {\n margin-left: 1rem;\n }\n\n .title {\n flex: 4 0 0;\n padding: 0 1rem;\n font-size: 1.2rem;\n font-style: normal;\n font-weight: 500;\n letter-spacing: 0.01rem;\n white-space: nowrap;\n text-overflow: ellipsis;\n color: @color-secondaryvariant2-light1-90;\n }\n\n .search-bar {\n height: 3.25rem;\n width: 30rem;\n }\n\n .buttons-container {\n display: flex;\n flex-direction: row;\n gap: 0.5rem;\n overflow: visible;\n }\n\n .button-container {\n flex: none;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 3.5rem;\n height: 3.5rem;\n border-radius: 0.75rem;\n opacity: 0.4;\n\n .icon {\n flex: none;\n width: 2rem;\n height: 2rem;\n color: var(--primary-foreground-color);\n opacity: 0.6;\n }\n\n &:hover, &:global(.active) {\n background-color: var(--overlay-color);\n opacity: 1;\n\n .icon {\n color: var(--primary-foreground-color);\n opacity: 0.8;\n }\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .horizontal-nav-bar-container {\n justify-content: space-between;\n padding-right: 0;\n\n .logo-container {\n width: var(--horizontal-nav-bar-size);\n }\n\n .button-container {\n margin: 0 1rem;\n\n &:not(.back-button-container):not(.menu-button-container) {\n display: none;\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.nav-tab-button-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n background-color: transparent;\n border-radius: 0.75rem;\n\n &:hover {\n background-color: var(--overlay-color);\n\n .label {\n opacity: 0.6;\n }\n }\n\n &:global(.selected) {\n .icon {\n opacity: 1;\n color: var(--primary-accent-color);\n }\n }\n\n .icon, .logo {\n flex: none;\n width: 2.2rem;\n height: 2.2rem;\n margin-bottom: 0.5rem;\n }\n\n .icon {\n color: var(--primary-foreground-color);\n opacity: 0.2;\n }\n\n .label {\n flex: none;\n position: relative;\n max-width: 100%;\n max-height: 2.4em;\n padding: 0 0.5rem;\n font-size: 0.8rem;\n font-weight: 500;\n letter-spacing: 0.01rem;\n text-align: center;\n white-space: nowrap;\n text-overflow: ellipsis;\n color: var(--primary-foreground-color);\n opacity: 0;\n overflow: hidden;\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .nav-tab-button-container {\n .label {\n opacity: 0.2;\n }\n\n &:global(.selected) {\n .label {\n opacity: 0.6;\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.vertical-nav-bar-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 1rem;\n width: var(--vertical-nav-bar-size);\n background-color: transparent;\n overflow-y: auto;\n scrollbar-width: none;\n\n &::-webkit-scrollbar {\n display: none;\n }\n\n .nav-tab-button {\n width: calc(var(--vertical-nav-bar-size) - 1.5rem);\n height: calc(var(--vertical-nav-bar-size) - 1.5rem);\n\n &:first-child {\n margin-top: 1rem;\n }\n\n &:last-child {\n margin-bottom: 1rem;\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .vertical-nav-bar-container {\n flex-direction: row;\n justify-content: space-between;\n gap: 0;\n height: var(--vertical-nav-bar-size);\n width: 100%;\n padding: 0 1rem;\n overflow-y: hidden;\n overflow-x: auto;\n\n .nav-tab-button {\n flex: none;\n\n &:first-child {\n margin-top: 0;\n }\n \n &:last-child {\n margin-bottom: 0;\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.main-nav-bars-container {\n position: relative;\n z-index: 0;\n\n .horizontal-nav-bar {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n }\n\n .vertical-nav-bar {\n position: absolute;\n top: var(--horizontal-nav-bar-size);\n bottom: 0;\n left: 0;\n z-index: 1;\n }\n\n .nav-content-container {\n position: absolute;\n top: var(--horizontal-nav-bar-size);\n right: 0;\n bottom: 0;\n left: var(--vertical-nav-bar-size);\n z-index: 0;\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .main-nav-bars-container {\n .nav-content-container {\n left: 0;\n bottom: var(--vertical-nav-bar-size);\n }\n\n .vertical-nav-bar {\n top: initial;\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.share-prompt-container {\n .buttons-container {\n display: flex;\n flex-direction: row;\n\n .button-container {\n flex: 1;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n padding: 1rem;\n\n &:not(:last-child) {\n margin-right: 1rem;\n }\n\n .icon {\n flex: none;\n height: 1.5rem;\n color: var(--primary-foreground-color);\n }\n }\n\n .facebook-button, .x-button, .reddit-button {\n border-radius: var(--border-radius);\n\n &:focus {\n outline-color: var(--primary-foreground-color);\n }\n }\n\n .facebook-button {\n background-color: var(--color-facebook);\n }\n\n .x-button {\n background-color: var(--color-x);\n }\n\n .reddit-button {\n background-color: var(--color-reddit);\n }\n }\n\n .url-container {\n display: flex;\n flex-direction: row;\n margin-top: 1rem;\n border-radius: var(--border-radius);\n background-color: var(--overlay-color);\n\n .url-text-input {\n flex: 1;\n align-self: stretch;\n padding: 1rem;\n font-size: 1.1rem;\n text-align: center;\n color: var(--primary-foreground-color);\n }\n\n .copy-button {\n flex: none;\n align-self: stretch;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n width: 8rem;\n padding: 1rem;\n border-radius: 0 var(--border-radius) var(--border-radius) 0;\n background-color: var(--secondary-accent-color);\n\n &:hover {\n outline: var(--focus-outline-size) solid var(--secondary-accent-color);\n background-color: transparent;\n }\n\n &:focus {\n outline-color: var(--primary-foreground-color);\n }\n\n .icon {\n flex: none;\n width: 1.2rem;\n height: 1.2rem;\n margin-right: 0.5rem;\n color: var(--primary-foreground-color);\n }\n\n .label {\n flex-grow: 0;\n flex-shrink: 1;\n flex-basis: auto;\n max-height: 2.4em;\n font-size: 1.1rem;\n color: var(--primary-foreground-color);\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.action-button-container {\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n gap: 1rem;\n border-radius: 100%;\n background-color: var(--overlay-color);\n backdrop-filter: blur(5px);\n transition: background-color 0.1s ease-out;\n\n &:hover, &:focus {\n outline: var(--focus-outline-size) solid var(--primary-foreground-color);\n background-color: transparent;\n }\n\n .icon-container {\n flex: none;\n\n .icon {\n display: block;\n height: 1.75rem;\n width: 1.75rem;\n color: var(--primary-foreground-color);\n opacity: 0.9;\n }\n }\n\n .label-container {\n flex: none;\n align-self: stretch;\n display: flex;\n flex-direction: row;\n align-items: center;\n\n .label {\n flex: 1;\n font-size: 1rem;\n font-weight: 500;\n max-height: 2.4em;\n padding: 0 0.2rem;\n text-align: center;\n color: var(--primary-foreground-color);\n opacity: 0.9;\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .action-button-container {\n flex-direction: row;\n padding: 0 1rem;\n\n .icon-container {\n height: 2rem;\n width: 2rem;\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n.tooltip-item {\n position: fixed;\n opacity: 0;\n\n &:global(.active) {\n opacity: 1;\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n.tooltip-placeholder {\n z-index: -1;\n visibility: hidden;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.meta-links-container {\n .label-container {\n margin-bottom: 0.75rem;\n text-transform: uppercase;\n font-size: 0.95rem;\n font-weight: 700;\n color: var(--primary-foreground-color);\n opacity: 0.3;\n }\n\n .links-container {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n\n .link-container {\n flex-grow: 0;\n flex-shrink: 1;\n flex-basis: auto;\n margin-right: 0.75rem;\n margin-bottom: 0.75rem;\n padding: 0.4rem 1.25rem;\n white-space: nowrap;\n text-overflow: ellipsis;\n border-radius: 2rem;\n border: var(--focus-outline-size) solid transparent;\n font-size: 1rem;\n font-weight: 500;\n color: var(--primary-foreground-color);\n background-color: var(--overlay-color);\n backdrop-filter: blur(5px);\n\n &:hover, &:focus {\n background-color: @color-surface-light5-30;\n }\n\n &:focus {\n outline: none;\n border-color: @color-surface-light5;\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n.meta-preview-placeholder-container {\n display: flex;\n flex-direction: column;\n\n .meta-info-container {\n flex: 1;\n align-self: stretch;\n\n .logo-container {\n width: 20rem;\n height: 8rem;\n max-width: 100%;\n border-radius: var(--border-radius);\n background-color: var(--color-placeholder-background);\n }\n\n .duration-release-info-container {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n margin: 1rem 0;\n\n .duration-container {\n flex-basis: 5rem;\n height: 1.4rem;\n margin-right: 1rem;\n border-radius: var(--border-radius);\n background-color: var(--color-placeholder-background);\n }\n\n .release-info-container {\n flex-basis: 5rem;\n height: 1.4rem;\n border-radius: var(--border-radius);\n background-color: var(--color-placeholder-background);\n }\n }\n\n .genres-container {\n margin: 1rem 0;\n\n .genres-header-container {\n width: 6.5rem;\n height: 1.6rem;\n max-width: 100%;\n border-radius: var(--border-radius);\n background-color: var(--color-placeholder-background);\n }\n\n .genre-label-container {\n width: 10rem;\n height: 1.2rem;\n max-width: 100%;\n margin-top: 0.2rem;\n border-radius: var(--border-radius);\n background-color: var(--color-placeholder-background);\n }\n }\n }\n\n .action-buttons-container {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n height: 4rem;\n margin-bottom: 1rem;\n border-radius: 4rem;\n background-color: var(--color-placeholder-background);\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.meta-preview-container {\n position: relative;\n z-index: 0;\n display: flex;\n flex-direction: column;\n\n &.compact {\n .meta-info-container {\n .logo, .logo-placeholder {\n width: 100%;\n height: 6rem;\n }\n\n .runtime-release-info-container {\n justify-content: space-between;\n\n .runtime-label, .release-info-label {\n margin: 1rem 0.4rem;\n }\n }\n\n .description-container {\n max-height: none;\n }\n }\n\n .action-buttons-container {\n justify-content: space-between;\n\n .action-button:not(:last-child) {\n margin-right: 0;\n }\n }\n }\n\n .background-image-layer {\n position: absolute;\n top: -10px;\n right: -10px;\n bottom: -10px;\n left: -10px;\n z-index: -1;\n\n .background-image {\n display: block;\n width: 100%;\n height: 100%;\n object-fit: cover;\n object-position: center;\n filter: blur(10px);\n opacity: 0.3;\n }\n }\n\n .meta-info-container {\n flex: 1;\n align-self: stretch;\n overflow-y: auto;\n\n &:not(:hover) {\n scrollbar-color: transparent transparent;\n\n &::-webkit-scrollbar-thumb, &::-webkit-scrollbar-track {\n background-color: transparent;\n }\n }\n\n .logo, .logo-placeholder {\n display: block;\n max-width: 100%;\n margin-bottom: 2rem;\n }\n\n .logo {\n height: 9rem;\n object-fit: contain;\n object-position: center;\n }\n\n .logo-placeholder {\n font-size: 1.7rem;\n color: @color-surface-light5-90;\n }\n\n .runtime-release-info-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n flex-wrap: wrap;\n margin-top: 1rem;\n\n .runtime-label, .release-info-label {\n flex: 0 1 auto;\n margin-right: 3rem;\n font-size: 1.25rem;\n font-weight: 600;\n color: var(--primary-foreground-color);\n }\n\n .imdb-button-container {\n flex: 0 1 auto;\n display: flex;\n flex-direction: row;\n align-items: center;\n border-radius: 2.5rem;\n\n &:focus {\n outline: none;\n border: var(--focus-outline-size) solid @color-surface-light5;\n }\n\n .label {\n flex: 0 1 auto;\n margin-right: 1rem;\n font-size: 1.25rem;\n font-weight: 600;\n color: var(--primary-foreground-color);\n }\n\n .icon {\n flex: none;\n width: 3rem;\n height: 3rem;\n color: var(--color-imdb);\n }\n }\n }\n\n .description-container {\n margin-top: 1rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 2em;\n color: var(--primary-foreground-color);\n .label-container {\n text-transform: uppercase;\n font-size: 0.95rem;\n font-weight: 700;\n color: var(--primary-foreground-color);\n opacity: 0.3;\n }\n }\n\n .meta-links {\n margin-top: 1.5rem;\n }\n }\n\n .action-buttons-container {\n flex: none;\n align-self: stretch;\n display: flex;\n flex-direction: row;\n align-items: flex-end;\n max-height: 15rem;\n flex-wrap: wrap;\n padding-top: 3.5rem;\n overflow: visible;\n\n .label {\n position: absolute;\n top: -3rem;\n left: 0;\n opacity: 0;\n transition: opacity 0.3s ease; \n text-align: center;\n color: var(--primary-foreground-color);\n overflow: visible;\n }\n\n &:not(:last-child) {\n margin-right: 1rem;\n }\n\n &:hover {\n .label {\n opacity: 0.7;\n }\n }\n \n .action-button {\n flex: none;\n width: 4rem;\n height: 4rem;\n margin-bottom: 1rem;\n\n &:global(.wide) {\n width: auto;\n padding: 0 2rem;\n border-radius: 4rem;\n }\n\n &:not(:last-child) {\n margin-right: 1rem;\n }\n\n &.show-button {\n &:hover, &:focus {\n background-color: var( --secondary-accent-color);\n outline: none;\n }\n }\n }\n }\n}\n\n.share-prompt {\n width: 30rem;\n}\n\n@media only screen and (max-width: @minimum) {\n .meta-preview-container {\n .meta-info-container {\n .logo {\n margin: 2rem auto;\n }\n\n .runtime-release-info-container {\n justify-content: space-between;\n\n .runtime-label, .release-info-label {\n margin: 0;\n }\n }\n }\n\n .action-buttons-container {\n flex-shrink: 0;\n margin-top: 3rem;\n overflow: visible;\n scrollbar-width: none;\n \n &::-webkit-scrollbar {\n display: none;\n }\n }\n }\n\n .share-prompt {\n width: auto;\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.meta-row-placeholder-container {\n .header-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: flex-end;\n padding: 0 1rem;\n margin-bottom: 0.5rem;\n\n .title-container {\n flex: 1;\n max-height: 2.4em;\n font-size: 1.6rem;\n font-weight: 500;\n color: var(--color-placeholder-text);\n\n &:empty {\n height: 1.2em;\n background: linear-gradient(to right, var(--color-placeholder-background) 0 40%, transparent 40% 100%);\n }\n }\n\n .see-all-container {\n flex: none;\n display: flex;\n flex-direction: row;\n align-items: center;\n max-width: 12rem;\n padding: 0.2rem;\n\n &:focus {\n outline: none;\n background-color: var(--color-placeholder-background);\n }\n\n .label {\n flex: 0 1 auto;\n max-height: 1.2em;\n font-size: 1rem;\n font-weight: 500;\n color: var(--color-placeholder-text);\n }\n\n .icon {\n flex: none;\n height: 1rem;\n margin-left: 0.5rem;\n color: var(--color-placeholder-text);\n }\n }\n }\n\n .meta-items-container {\n display: flex;\n flex-direction: row;\n align-items: stretch;\n\n .meta-item {\n flex: 1;\n margin: 1rem;\n\n &:not(:first-child) {\n margin-left: 1.5rem;\n }\n\n .poster-container {\n border-radius: var(--border-radius);\n padding-bottom: calc(100% * var(--poster-shape-ratio));\n background-color: var(--color-placeholder-background);\n }\n\n .title-bar-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n height: 2.8rem;\n\n .title-label {\n flex: none;\n width: 60%;\n height: 1.2rem;\n border-radius: var(--border-radius);\n background-color: var(--color-placeholder-background);\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .meta-row-placeholder-container {\n .meta-items-container {\n .meta-item {\n margin: 0.5rem;\n\n &:not(:first-child) {\n margin-left: 0.5rem;\n }\n\n .title-bar-container {\n margin-top: 0.5rem;\n }\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.meta-row-container {\n overflow: visible;\n\n .header-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: flex-end;\n padding: 0 1rem;\n margin-bottom: 0.25rem;\n\n .title-container {\n flex: 1;\n max-height: 2.4em;\n font-size: 1.6rem;\n font-weight: 500;\n color: var(--primary-foreground-color);\n }\n\n .see-all-container {\n flex: none;\n display: flex;\n flex-direction: row;\n align-items: center;\n max-width: 12rem;\n height: 2.5rem;\n padding: 0 0.5rem 0 1rem;\n border-radius: 2.5rem;\n opacity: 0.6;\n\n &:hover, &:focus {\n outline: none;\n background-color: var(--overlay-color);\n opacity: 1;\n }\n\n .label {\n flex: 0 1 auto;\n max-height: 1.2em;\n font-size: 1rem;\n font-weight: 500;\n color: var(--primary-foreground-color);\n }\n\n .icon {\n flex: none;\n height: 1.5rem;\n margin-left: 0.5rem;\n color: var(--primary-foreground-color);\n }\n }\n }\n\n .message-container {\n max-height: 3.6em;\n padding: 0 0.5rem;\n font-size: 1.3rem;\n color: var(--primary-foreground-color);\n opacity: 0.6;\n }\n\n .meta-items-container {\n display: flex;\n flex-direction: row;\n align-items: stretch;\n overflow: visible;\n\n .meta-item {\n &.poster-shape-poster {\n flex: calc(1 / var(--poster-shape-ratio));\n }\n\n &.poster-shape-square {\n flex: 1;\n }\n\n &.poster-shape-landscape {\n flex: calc(1 / var(--landscape-shape-ratio));\n }\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .meta-row-container {\n .header-container {\n padding: 0 0.5rem;\n\n .title-container {\n margin-right: 0.5rem;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n }\n\n .meta-items-container {\n .meta-item {\n &:not(:first-child) {\n margin-left: 0;\n }\n }\n }\n }\n}","// Copyright (C) 2017-2024 Smart code 203358507\n\n.option {\n font-size: var(--font-size-normal);\n color: var(--primary-foreground-color);\n align-items: center;\n display: flex;\n flex-direction: row;\n padding: 1rem;\n\n .label {\n flex: 1;\n color: var(--primary-foreground-color);\n }\n \n .icon {\n flex: none;\n width: 0.5rem;\n height: 0.5rem;\n border-radius: 100%;\n margin-left: 1rem;\n background-color: var(--secondary-accent-color);\n opacity: 1;\n }\n\n &:hover {\n background-color: rgba(255, 255, 255, 0.15);\n }\n}","// Copyright (C) 2017-2024 Smart code 203358507\n\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.dropdown {\n background: var(--modal-background-color);\n display: none;\n position: absolute;\n width: 100%;\n top: 100%;\n left: 0;\n z-index: 10;\n box-shadow: var(--outer-glow);\n border-radius: var(--border-radius);\n overflow: hidden;\n\n &.open {\n display: block;\n max-height: calc(3.2rem * 10);\n overflow: auto;\n }\n\n .back-button {\n display: flex;\n align-items: center;\n gap: 0 0.5rem;\n padding: 0.75rem;\n color: var(--primary-foreground-color);\n\n .back-button-icon {\n width: 1.5rem;\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .dropdown {\n &.open {\n max-height: calc(3.2rem * 7);\n }\n }\n}","// Copyright (C) 2017-2024 Smart code 203358507\n\n@border-radius: 2.75rem;\n\n.multiselect-menu {\n position: relative;\n min-width: 8.5rem;\n overflow: visible;\n border-radius: @border-radius;\n\n &.disabled {\n pointer-events: none;\n opacity: 0.3;\n }\n\n .multiselect-button {\n color: var(--primary-foreground-color);\n padding: 0.75rem 1.5rem;\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: 0 0.5rem;\n border-radius: @border-radius;\n\n .icon {\n width: 1rem;\n color: var(--primary-foreground-color);\n opacity: 0.6;\n\n &.open {\n transform: rotate(180deg);\n }\n }\n }\n\n &:hover {\n background-color: var(--overlay-color);\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.pagination-input-container {\n display: flex;\n flex-direction: row;\n border-radius: var(--border-radius);\n\n .prev-button-container, .next-button-container {\n flex: none;\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: var(--overlay-color);\n\n .icon {\n display: block;\n color: var(--primary-foreground-color);\n }\n }\n\n .label-container {\n flex: 1;\n align-self: stretch;\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: var(--overlay-color);\n\n .label {\n flex: none;\n min-width: 1.2rem;\n max-width: 3rem;\n white-space: nowrap;\n text-overflow: ellipsis;\n text-align: center;\n font-weight: 500;\n color: var(--primary-foreground-color);\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n.search-bar-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n height: 3.5rem;\n padding: 0 1rem;\n border-radius: 3.5rem;\n border: var(--focus-outline-size) solid transparent;\n background-color: var(--color-placeholder-background);\n\n .search-input {\n flex: 1;\n max-height: 1.2em;\n margin-right: 1rem;\n font-size: 1.1rem;\n color: var(--color-placeholder-text);\n }\n\n .icon {\n flex: none;\n width: 1.5rem;\n height: 1.5rem;\n color: var(--color-placeholder-background);\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.search-bar-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n height: 3rem;\n padding: 0 1.5rem;\n border-radius: 3rem;\n border: var(--focus-outline-size) solid transparent;\n background-color: var(--overlay-color);\n cursor: text;\n\n &:focus-within {\n border: var(--focus-outline-size) solid var(--primary-foreground-color);\n }\n\n .search-input {\n flex: 1;\n margin-right: 1rem;\n font-size: 1rem;\n color: var(--primary-foreground-color);\n\n &::placeholder {\n color: var(--primary-foreground-color);\n opacity: 0.6;\n }\n }\n\n .icon {\n flex: none;\n width: 1.5rem;\n height: 1.5rem;\n color: var(--primary-foreground-color);\n opacity: 0.6;\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.warning-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n padding: 1rem;\n background-color: @color-accent5-dark3;\n\n .warning-statement {\n flex: 1;\n margin-right: 1rem;\n font-size: 1.2rem;\n max-height: 2.4em;\n color: @color-surface-light5-90;\n }\n\n .warning-button {\n flex: none;\n margin-left: 1rem;\n color: @color-surface-light5-90;\n\n &:first-child {\n margin-left: 0;\n }\n\n &:hover {\n .warning-label {\n text-decoration: underline;\n }\n }\n\n .warning-label {\n font-size: 1.2rem;\n max-height: 1.2em;\n color: @color-surface-light5-90;\n }\n }\n\n .warning-button:hover {\n text-decoration: underline;\n }\n}\n\n@media only screen and (max-width: 500px) {\n .warning-container {\n display: block;\n height: auto !important;\n text-align: center;\n .warning-statement {\n margin-bottom: 0.5rem;\n margin-right: 0;\n }\n .warning-button {\n display: inline-block;\n }\n }\n}\n","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\nhtml.active-slider-within {\n cursor: grabbing;\n\n body {\n pointer-events: none;\n }\n}\n\n.slider-container {\n position: relative;\n z-index: 0;\n overflow: visible;\n cursor: pointer;\n\n &:global(.disabled) {\n pointer-events: none;\n opacity: 0.5;\n }\n\n .layer {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 0;\n display: flex;\n flex-direction: row;\n align-items: center;\n overflow: visible;\n }\n\n .track {\n z-index: 0;\n flex: 1;\n height: var(--track-size);\n border-radius: var(--track-size);\n background-color: var(--overlay-color);\n }\n\n .track-before {\n z-index: 1;\n flex: none;\n height: var(--track-size);\n border-radius: var(--track-size);\n background-color: var(--overlay-color);\n }\n\n .track-after {\n z-index: 2;\n flex: none;\n height: var(--track-size);\n border-radius: var(--track-size);\n background-color: var(--primary-foreground-color);\n }\n\n .thumb {\n z-index: 3;\n flex: none;\n width: var(--thumb-size);\n height: var(--thumb-size);\n transform: translateX(-50%);\n background-color: var(--primary-foreground-color);\n border-radius: 100%;\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.toast-item-container {\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n width: 25rem;\n margin-bottom: 1rem;\n overflow: visible;\n box-shadow: var(--outer-glow);\n background-color: var(--modal-background-color);\n pointer-events: auto;\n border-radius: var(--border-radius);\n border: 0.4px solid var(--primary-accent-color);\n backdrop-filter: blur(10px);\n padding: 1rem;\n &.success {\n .icon-container {\n .icon {\n color: @color-accent3;\n }\n }\n }\n\n &.error {\n .icon-container {\n .icon {\n color: var(--color-trakt);\n }\n }\n }\n\n &.info {\n .icon-container {\n background-color: @color-primary-light2;\n\n .icon {\n color: @color-surface-light5-90;\n }\n }\n }\n\n .icon-container {\n border-radius: 3px;\n background-color: var(--overlay-color);\n\n .icon {\n display: block;\n width: 100%;\n height: 100%;\n max-width: 2rem;\n }\n }\n\n .info-container {\n flex: 1;\n align-self: stretch;\n padding: 0.2rem 1rem;\n\n .title-container {\n font-size: 1.2rem;\n color: var(--primary-foreground-color);\n\n &:not(:last-child) {\n margin-bottom: 0.2rem;\n }\n }\n\n .message-container {\n font-size: 1.1rem;\n color: var(--primary-foreground-color);\n opacity: 0.8;\n }\n }\n\n .close-button-container {\n width: 2rem;\n height: 2rem;\n border-radius: 3px;\n \n .icon {\n display: block;\n width: 100%;\n height: 100%;\n color: var(--primary-foreground-color);\n opacity: 0.4;\n }\n\n &:hover {\n .icon {\n opacity: 1;\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~stremio/common/screen-sizes.less';\n\n:import('~stremio/common/ModalDialog/styles.less') {\n modal-dialog-content: modal-dialog-content;\n modal-dialog-container: modal-dialog-container;\n}\n\n.event-modal {\n backdrop-filter: blur(10px);\n\n .modal-dialog-container {\n overflow: visible;\n max-width: 45rem;\n\n .modal-dialog-content {\n display: flex;\n flex-direction: column;\n align-items: center;\n overflow: visible;\n\n .modal-dialog-content {\n overflow-y: visible;\n }\n \n .image {\n width: 100%;\n height: 100%;\n margin-top: -10rem;\n }\n \n .info-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 2.5rem;\n padding: 1rem 4rem;\n margin-top: -7rem;\n \n .title-container {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n\n .title {\n color: var(--primary-foreground-color);\n font-size: 1.325rem;\n text-align: center;\n padding: 0 6rem;\n }\n \n .label {\n color: var(--primary-foreground-color);\n font-size: 1rem;\n text-align: center;\n opacity: 0.5;\n }\n }\n \n .addon-container {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-direction: column;\n gap: 0.5rem;\n\n .icon {\n height: 2rem;\n width: 2rem;\n color: var(--primary-accent-color);\n }\n\n .name {\n color: var(--primary-foreground-color);\n }\n }\n \n .action-button {\n background-color: var(--primary-foreground-color);\n border: 2px solid var(--primary-foreground-color);\n padding: 0.8rem 2rem;\n border-radius: 2rem;\n \n .button-label {\n color: var(--primary-accent-color);\n font-size: 1rem;\n font-weight: 700;\n }\n \n &:hover {\n background-color: transparent;\n }\n }\n }\n }\n }\n\n @media only screen and (max-width: @minimum) {\n .modal-dialog-container {\n .modal-dialog-content {\n .image {\n height: 125%;\n width: 125%;\n }\n\n .info-container {\n .title-container {\n .title {\n padding: 0rem;\n font-size: 1rem;\n }\n\n .label {\n font-size: 0.875rem;\n }\n }\n }\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.addon-container {\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n padding: 1.5rem;\n border-radius: var(--border-radius);\n background-color: var(--overlay-color);\n cursor: inherit;\n\n .logo-container {\n flex: none;\n width: 8rem;\n height: 8rem;\n\n .logo {\n display: block;\n width: 100%;\n height: 100%;\n padding: 0.5rem;\n object-fit: contain;\n object-position: center;\n }\n\n .icon {\n display: block;\n width: 100%;\n height: 100%;\n padding: 1rem;\n color: var(--primary-foreground-color);\n }\n }\n\n .info-container {\n flex-grow: 1;\n flex-shrink: 1;\n flex-basis: 0;\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n align-items: baseline;\n padding: 0 0.5rem;\n\n .name-container {\n flex-grow: 0;\n flex-shrink: 1;\n flex-basis: auto;\n padding: 0 0.5rem;\n max-height: 3.6em;\n font-size: 1.6rem;\n color: var(--primary-foreground-color);\n }\n\n .version-container {\n flex-grow: 1;\n flex-shrink: 1;\n flex-basis: auto;\n margin-top: 0.5rem;\n padding: 0 0.5rem;\n max-height: 2.4em;\n color: var(--primary-foreground-color);\n opacity: 0.6;\n }\n\n .types-container {\n flex-grow: 0;\n flex-shrink: 0;\n flex-basis: 100%;\n margin-top: 0.5rem;\n padding: 0 0.5rem;\n max-height: 2.4em;\n color: var(--primary-foreground-color);\n text-transform: capitalize;\n opacity: 0.4;\n }\n\n .description-container {\n flex-grow: 0;\n flex-shrink: 0;\n flex-basis: 100%;\n margin-top: 0.5rem;\n padding: 0 0.5rem;\n color: var(--primary-foreground-color);\n }\n }\n\n .buttons-container {\n flex: none;\n display: flex;\n flex-direction: column;\n gap: 1rem;\n width: 17rem;\n\n .action-buttons-container {\n flex: auto;\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 1rem;\n }\n\n .install-button-container, .configure-button-container, .uninstall-button-container, .share-button-container {\n flex: auto;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n gap: 1rem;\n height: 3.5rem;\n padding: 0 1rem;\n border-radius: 4rem;\n\n .icon {\n flex: none;\n width: 2rem;\n height: 2rem;\n }\n\n .label {\n flex-grow: 0;\n flex-shrink: 1;\n flex-basis: auto;\n max-height: 2.4em;\n font-size: 1.1rem;\n font-weight: 700;\n text-align: center;\n }\n }\n\n .install-button-container {\n background-color: var(--secondary-accent-color);\n\n &:hover {\n outline: var(--focus-outline-size) solid var(--secondary-accent-color);\n background-color: transparent;\n }\n\n .label {\n color: var(--primary-foreground-color)\n }\n }\n\n .configure-button-container {\n flex: none;\n background-color: var(--secondary-accent-color);\n\n &:hover {\n outline: var(--focus-outline-size) solid var(--secondary-accent-color);\n background-color: transparent;\n }\n\n .icon {\n color: var(--primary-foreground-color)\n }\n }\n\n .uninstall-button-container {\n outline-color: var(--primary-foreground-color);\n outline-style: solid;\n opacity: 0.3;\n\n &:hover {\n opacity: 1;\n }\n\n .label {\n color: var(--primary-foreground-color);\n }\n }\n\n .share-button-container {\n opacity: 0.9;\n\n &:hover {\n .label {\n text-decoration: underline;\n }\n }\n\n .icon {\n height: 1.5rem;\n width: 1.5rem;\n color: var(--primary-foreground-color);\n }\n\n .label {\n color: var(--primary-foreground-color);\n }\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .addon-container {\n flex-wrap: wrap;\n\n .info-container {\n margin-left: 0.5rem;\n padding: 0;\n\n .name-container {\n max-height: none;\n font-size: 1.3rem;\n }\n }\n\n .buttons-container {\n flex: 0 1 100%;\n width: auto;\n margin-top: 1rem;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n\n .share-button-container {\n flex: none;\n\n .icon {\n margin-right: 0;\n }\n\n .label {\n display: none;\n }\n }\n\n .install-button-container, .uninstall-button-container {\n flex-basis: 100%;\n margin-right: 1rem;\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n:import('~stremio/common/Multiselect/styles.less') {\n multiselect-menu-container: menu-container;\n}\n\n:import('~stremio/common/ModalDialog/styles.less') {\n share-modal-content: modal-dialog-content;\n}\n\n:import('~stremio/common/ModalDialog/styles.less') {\n addon-modal-content: modal-dialog-content;\n cancel-button-label: label;\n}\n\n:import('~stremio/common/ModalDialog/styles.less') {\n filters-modal-container: modal-dialog-container;\n filters-modal-content: modal-dialog-content;\n}\n\n.addons-container {\n width: 100%;\n height: 100%;\n background-color: transparent;\n\n .addons-content {\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n align-self: stretch;\n\n .selectable-inputs-container {\n flex: none;\n align-self: stretch;\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n padding: 1.5rem;\n overflow: visible;\n\n .add-button-container {\n flex: none;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n height: 3rem;\n margin-right: 1.5rem;\n padding: 0 1.5rem;\n border-radius: 3rem;\n background-color: var(--secondary-accent-color);\n\n &:hover {\n outline: var(--focus-outline-size) solid var(--secondary-accent-color);\n background-color: transparent;\n }\n\n &:focus {\n outline-color: var(--primary-foreground-color);\n }\n\n .icon {\n flex: none;\n width: 1.2rem;\n height: 1.2rem;\n margin-right: 0.5rem;\n color: var(--primary-foreground-color);\n }\n\n .add-button-label {\n flex-grow: 0;\n flex-shrink: 1;\n flex-basis: auto;\n max-height: 2.4em;\n font-size: 1rem;\n font-weight: 700;\n color: var(--primary-foreground-color);\n }\n }\n\n .select-input-container {\n flex-grow: 0;\n flex-shrink: 1;\n flex-basis: 15rem;\n margin-right: 1.5rem;\n\n .multiselect-menu-container {\n max-height: calc(3.2rem * 7);\n overflow: auto;\n }\n }\n\n .spacing {\n flex: 1;\n }\n\n .search-bar {\n flex-grow: 0;\n flex-shrink: 1;\n flex-basis: 18rem;\n }\n\n .filter-button {\n flex: none;\n display: none;\n align-items: center;\n justify-content: center;\n width: 3rem;\n height: 3rem;\n border-radius: var(--border-radius);\n background-color: var(--overlay-color);\n\n .filter-icon {\n flex: none;\n width: 1.4rem;\n height: 1.4rem;\n color: var(--primary-foreground-color);\n }\n }\n }\n\n .message-container {\n flex: 1;\n align-self: stretch;\n padding: 0 1.5rem;\n font-size: 2rem;\n color: var(--primary-foreground-color);\n }\n\n .addons-list-container {\n flex: 1;\n align-self: stretch;\n padding: 0 1.5rem;\n overflow-y: auto;\n\n .addon {\n margin-bottom: 1.5rem;\n }\n }\n }\n}\n\n.filters-modal {\n .filters-modal-container {\n overflow: visible;\n\n .filters-modal-content {\n display: flex;\n flex-direction: column;\n overflow: visible !important;\n\n .select-input-container {\n height: 3rem;\n\n &:not(:last-child) {\n margin-bottom: 1rem;\n }\n }\n }\n }\n}\n\n.add-addon-modal-container {\n .addon-modal-content {\n width: 30rem;\n\n .notice {\n margin-bottom: 1.5rem;\n font-size: 1rem;\n color: var(--primary-foreground-color);\n }\n\n .addon-url-input {\n width: 100%;\n padding: 1rem;\n color: var(--primary-foreground-color);\n border-radius: var(--border-radius);\n background-color: var(--overlay-color);\n outline: var(--focus-outline-size) solid var(--overlay-color);\n outline-offset: calc(-1 * var(--focus-outline-size));\n\n &:hover {\n outline-color: var(--primary-foreground-color);\n }\n\n &:focus {\n outline-color: var(--primary-foreground-color);\n }\n }\n }\n\n .cancel-button {\n background-color: transparent;\n opacity: 0.3;\n\n &:hover {\n outline: var(--focus-outline-size) solid var(--primary-foreground-color);\n opacity: 1;\n }\n\n &:focus {\n outline-color: var(--primary-foreground-color);\n }\n\n .cancel-button-label {\n color: var(--primary-foreground-color);\n }\n }\n}\n\n.share-modal-container {\n .share-modal-content {\n width: 30rem;\n\n .title-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n\n .logo, .icon {\n float: left;\n width: 5rem;\n height: 5rem;\n margin-right: 1.5rem;\n padding: 0.5rem;\n }\n\n .logo {\n object-fit: contain;\n object-position: center;\n }\n\n .icon {\n color: var(--primary-foreground-color);\n }\n\n .name-container {\n flex-grow: 1;\n flex-shrink: 1;\n flex-basis: 0;\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n align-items: baseline;\n\n .name {\n flex-grow: 0;\n flex-shrink: 1;\n flex-basis: auto;\n margin-right: 0.5rem;\n font-size: 1.6rem;\n color: var(--primary-foreground-color);\n }\n\n .version {\n flex-grow: 1;\n flex-shrink: 1;\n flex-basis: auto;\n margin-top: 0.5rem;\n color: var(--primary-foreground-color);\n }\n }\n }\n\n .share-prompt-container {\n margin-top: 1rem;\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .addons-container {\n .addons-content {\n .selectable-inputs-container {\n .add-button-container {\n z-index: 1;\n position: fixed;\n right: 0;\n bottom: calc(3rem + var(--horizontal-nav-bar-size));\n }\n\n .select-input-container {\n display: none;\n }\n\n .spacing {\n display: none;\n }\n\n .search-bar {\n flex-basis: 100%;\n margin-right: 1rem;\n }\n\n .filter-button {\n display: flex;\n }\n }\n }\n }\n\n .share-modal-container {\n .share-modal-content {\n width: auto;\n }\n }\n\n .add-addon-modal-container {\n .addon-modal-content {\n width: auto;\n\n .notice {\n margin-bottom: 1rem;\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n:import('~stremio/common/MetaRow/styles.less') {\n meta-item: meta-item;\n}\n\n:import('~stremio/common/MetaRow/MetaRowPlaceholder/styles.less') {\n meta-item-placeholder: meta-item;\n}\n\n.board-container {\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n\n .board-content-container {\n flex: 1;\n align-self: stretch;\n background: transparent;\n\n .board-content {\n width: 100%;\n height: 100%;\n padding: 0 1rem;\n overflow-y: auto;\n\n .board-row {\n margin-top: 1rem;\n margin-bottom: 2rem;\n }\n }\n }\n\n .board-warning-container {\n flex: none;\n align-self: stretch;\n }\n}\n\n@media only screen and (max-width: @large) {\n .board-container {\n .board-content-container {\n .board-content {\n .board-row-poster, .board-row-square, .continue-watching-row {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+10) {\n display: none;\n }\n }\n }\n\n .board-row-landscape {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+9) {\n display: none;\n }\n }\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @normal) {\n .board-container {\n .board-content-container {\n .board-content {\n .board-row-poster, .board-row-square, .continue-watching-row {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+9) {\n display: none;\n }\n }\n }\n\n .board-row-landscape {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+8) {\n display: none;\n }\n }\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @medium) {\n .board-container {\n .board-content-container {\n .board-content {\n .board-row-poster, .board-row-square, .continue-watching-row {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+8) {\n display: none;\n }\n }\n }\n\n .board-row-landscape {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+7) {\n display: none;\n }\n }\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @small) {\n .board-container {\n .board-content-container {\n .board-content {\n .board-row-poster, .board-row-square, .continue-watching-row {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+7) {\n display: none;\n }\n }\n }\n\n .board-row-landscape {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+6) {\n display: none;\n }\n }\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @xsmall) {\n .board-container {\n .board-content-container {\n .board-content {\n .board-row-poster, .board-row-square, .continue-watching-row {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+6) {\n display: none;\n }\n }\n }\n\n .board-row-landscape {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+5) {\n display: none;\n }\n }\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @xxsmall) {\n .board-container {\n .board-content-container {\n .board-content {\n .board-row-poster, .board-row-square, .continue-watching-row {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+5) {\n display: none;\n }\n }\n }\n\n .board-row-landscape {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+4) {\n display: none;\n }\n }\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .board-container {\n position: relative;\n z-index: 0;\n\n .board-content-container {\n &:only-child {\n .board-content {\n height: 100%;\n }\n }\n \n .board-content {\n height: calc(100% - 4rem);\n\n .board-row {\n margin-bottom: 1.5rem;\n }\n\n .board-row-poster, .board-row-square, .continue-watching-row {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+4) {\n display: none;\n }\n }\n }\n\n .board-row-landscape {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+3) {\n display: none;\n }\n }\n }\n }\n }\n \n .board-warning-container {\n position: absolute;\n left: 0;\n right: 0;\n bottom: var(--vertical-nav-bar-size);\n height: 4rem;\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n:import('~stremio/common/Multiselect/styles.less') {\n multiselect-menu-container: menu-container;\n multiselect-modal-container: modal-container;\n multiselect-option-container: option-container;\n multiselect-icon: icon;\n multiselect-label: label;\n}\n\n:import('~stremio/common/PaginationInput/styles.less') {\n pagination-prev-button-container: prev-button-container;\n pagination-next-button-container: next-button-container;\n pagination-button-icon: icon;\n pagination-label: label;\n}\n\n:import('~stremio/common/ModalDialog/styles.less') {\n selectable-inputs-modal-container: modal-dialog-container;\n selectable-inputs-modal-content: modal-dialog-content;\n}\n\n.discover-container {\n width: 100%;\n height: 100%;\n background-color: transparent;\n\n .discover-content {\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: row;\n\n .catalog-container {\n flex: 1;\n align-self: stretch;\n display: flex;\n flex-direction: column;\n\n .selectable-inputs-container {\n flex: none;\n align-self: stretch;\n display: flex;\n flex-direction: row;\n padding: 1.5rem;\n overflow: visible;\n\n .select-input {\n flex: 0 1 15rem;\n\n &:not(:first-child) {\n margin-left: 1.5rem;\n }\n\n &:nth-child(n+4) {\n display: none;\n\n &~.filter-container {\n display: flex;\n }\n }\n\n .multiselect-menu-container {\n max-height: calc(3.2rem * 7);\n overflow: auto;\n }\n }\n\n .filter-container {\n flex: none;\n display: none;\n align-items: center;\n justify-content: center;\n width: 3rem;\n height: 3rem;\n border-radius: var(--border-radius);\n background-color: var(--overlay-color);\n\n .filter-icon {\n flex: none;\n width: 1.4rem;\n height: 1.4rem;\n color: var(--primary-foreground-color);\n }\n }\n }\n\n .missing-addon-warning-container {\n flex: none;\n align-self: stretch;\n display: flex;\n flex-direction: column;\n align-items: center;\n padding: 0 1.5rem 1.5rem 1.5rem;\n\n .warning-label {\n flex: none;\n max-height: 2.4em;\n margin-bottom: 1rem;\n font-size: 1.4rem;\n text-align: center;\n color: var(--primary-foreground-color);\n }\n\n .install-button {\n flex: none;\n min-width: 10rem;\n max-width: 15rem;\n padding: 1rem;\n background-color: var(--secondary-accent-color);\n\n &:hover {\n outline: var(--focus-outline-size) solid var(--secondary-accent-color);\n background-color: transparent;\n }\n\n &:focus {\n outline-color: var(--primary-foreground-color);\n }\n\n .label {\n max-height: 2.4em;\n font-weight: 500;\n text-align: center;\n color: var(--primary-foreground-color);\n }\n }\n }\n\n .message-container {\n flex: 0 1 auto;\n align-self: stretch;\n display: flex;\n flex-direction: column;\n align-items: center;\n padding: 0 1.5rem;\n overflow-y: auto;\n\n &:first-child {\n padding: 4rem;\n }\n\n .image {\n flex: none;\n width: 12rem;\n height: 12rem;\n margin-bottom: 1rem;\n object-fit: contain;\n object-position: center;\n opacity: 0.9;\n }\n\n .message-label {\n flex: none;\n font-size: 2rem;\n font-weight: 400;\n text-align: center;\n color: var(--primary-foreground-color);\n }\n }\n\n .meta-items-container {\n flex: 1;\n align-self: stretch;\n display: grid;\n grid-auto-rows: max-content;\n align-items: center;\n grid-gap: 0.5rem;\n margin-right: 1.5rem;\n padding: 0 1.5rem;\n overflow-y: auto;\n\n .meta-item-placeholder {\n padding: 1rem;\n\n .poster-container {\n padding-bottom: calc(100% * var(--poster-shape-ratio));\n background-color: var(--color-placeholder-background);\n border-radius: var(--border-radius);\n }\n\n .title-bar-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n height: 2.8rem;\n\n .title-label {\n flex: none;\n width: 60%;\n height: 1.2rem;\n border-radius: var(--border-radius);\n background-color: var(--color-placeholder-background);\n }\n }\n }\n }\n }\n\n .meta-preview-container {\n flex: none;\n align-self: stretch;\n width: 29rem;\n padding: 2rem 2.5rem;\n border-radius: var(--border-radius) 0 0 var(--border-radius);\n background-color: var(--modal-background-color);\n }\n }\n}\n\n.selectable-inputs-modal {\n .selectable-inputs-modal-container {\n overflow: visible;\n\n .selectable-inputs-modal-content {\n overflow: visible !important;\n\n .select-input {\n height: 3.5rem;\n\n &:not(:last-child) {\n margin-bottom: 1rem;\n }\n\n .multiselect-menu-container {\n max-height: calc(3.2rem * 4);\n overflow: auto;\n }\n }\n }\n }\n}\n\n@media only screen and (min-width: @xxlarge) {\n .discover-container {\n .discover-content {\n .catalog-container {\n .meta-items-container {\n grid-template-columns: repeat(10, 1fr);\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @xxlarge) {\n .discover-container {\n .discover-content {\n .catalog-container {\n .meta-items-container {\n grid-template-columns: repeat(9, 1fr);\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @xlarge) {\n .discover-container {\n .discover-content {\n .catalog-container {\n .meta-items-container {\n grid-template-columns: repeat(8, 1fr);\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @large) {\n .discover-container {\n .discover-content {\n .catalog-container {\n .meta-items-container {\n grid-template-columns: repeat(7, 1fr);\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @normal) {\n .discover-container {\n .discover-content {\n .catalog-container {\n .meta-items-container {\n grid-template-columns: repeat(6, 1fr);\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @medium) {\n .discover-container {\n .discover-content {\n .catalog-container {\n .meta-items-container {\n grid-template-columns: repeat(5, 1fr);\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @small) {\n .discover-container {\n .discover-content {\n .catalog-container {\n .meta-items-container {\n grid-template-columns: repeat(4, 1fr);\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @xsmall) {\n .discover-container {\n .discover-content {\n .catalog-container {\n .meta-items-container {\n grid-template-columns: repeat(5, 1fr);\n margin-right: 0;\n }\n }\n\n .meta-preview-container {\n display: none;\n }\n }\n }\n}\n\n@media only screen and (max-width: @xxsmall) {\n .discover-container {\n .discover-content {\n .catalog-container {\n .meta-items-container {\n grid-template-columns: repeat(4, 1fr);\n margin-right: 0;\n }\n }\n\n .meta-preview-container {\n display: none;\n }\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .discover-container {\n .discover-content {\n .catalog-container {\n .selectable-inputs-container {\n justify-content: space-between;\n\n .select-input {\n &:nth-child(n+2) {\n display: none;\n\n &~.filter-container {\n display: flex;\n }\n }\n }\n }\n\n .meta-items-container {\n grid-template-columns: repeat(3, 1fr);\n }\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.not-found-container {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n background-color: transparent;\n\n .nav-bar {\n flex: none;\n align-self: stretch;\n }\n\n .not-found-content {\n flex: 1;\n align-self: stretch;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n\n .not-found-image {\n flex: none;\n width: 12rem;\n height: 12rem;\n margin-bottom: 1rem;\n object-fit: contain;\n object-position: center;\n opacity: 0.9;\n }\n\n .not-found-label {\n flex: none;\n font-size: 2.5rem;\n max-height: 3.6em;\n max-width: 60%;\n text-align: center;\n color: @color-secondaryvariant2-light1-90;\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n:import('~stremio/common/Multiselect/styles.less') {\n multiselect-menu-container: menu-container;\n}\n\n:import('~stremio/common/ModalDialog/styles.less') {\n selectable-inputs-modal-container: modal-dialog-container;\n selectable-inputs-modal-content: modal-dialog-content;\n}\n\n.library-container {\n width: 100%;\n height: 100%;\n background-color: transparent;\n\n .library-content {\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n\n .selectable-inputs-container {\n flex: none;\n align-self: stretch;\n display: flex;\n flex-direction: row;\n padding: 1.5rem;\n overflow: visible;\n\n .select-input-container {\n flex-grow: 0;\n flex-shrink: 1;\n flex-basis: 15rem;\n height: 2.75rem;\n\n &:not(:last-child) {\n margin-right: 1.5rem;\n }\n\n .multiselect-menu-container {\n max-height: calc(3.2rem * 7);\n overflow: auto;\n }\n }\n }\n\n .message-container {\n flex: 0 1 auto;\n align-self: stretch;\n display: flex;\n flex-direction: column;\n align-items: center;\n padding: 0 1.5rem;\n overflow-y: auto;\n\n &:first-child {\n padding: 4rem;\n }\n\n &.no-user-message-container {\n .login-button-container {\n flex: none;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n width: 20rem;\n height: 3.5rem;\n border-radius: 3.5rem;\n padding: 0.5rem 1rem;\n margin-bottom: 1rem;\n background-color: var(--secondary-accent-color);\n\n &:hover {\n outline: var(--focus-outline-size) solid var(--secondary-accent-color);\n background-color: transparent;\n }\n\n .label {\n flex-grow: 0;\n flex-shrink: 1;\n flex-basis: auto;\n max-height: 4.8em;\n font-size: 1.2rem;\n font-weight: 700;\n color: var(--primary-foreground-color);\n text-align: center;\n }\n }\n }\n\n .image {\n flex: none;\n width: 12rem;\n height: 12rem;\n margin-bottom: 2rem;\n object-fit: contain;\n object-position: center;\n opacity: 0.9;\n }\n\n .message-label {\n flex: none;\n margin-bottom: 2rem;\n font-size: 2rem;\n font-weight: 400;\n text-align: center;\n color: var(--primary-foreground-color);\n }\n }\n\n .meta-items-container {\n flex: 1;\n align-self: stretch;\n display: grid;\n grid-auto-rows: max-content;\n align-items: center;\n grid-gap: 0.5rem;\n padding: 0 1.5rem;\n overflow-y: auto;\n }\n }\n}\n\n.selectable-inputs-modal {\n .selectable-inputs-modal-container {\n overflow: visible;\n\n .selectable-inputs-modal-content {\n overflow: visible;\n\n .select-input-container {\n height: 3.5rem;\n\n &:not(:last-child) {\n margin-bottom: 1rem;\n }\n }\n }\n }\n}\n\n@media only screen and (min-width: @large) {\n .library-container {\n .library-content {\n .meta-items-container {\n grid-template-columns: repeat(10, 1fr);\n }\n }\n }\n}\n\n@media only screen and (max-width: @large) {\n .library-container {\n .library-content {\n .meta-items-container {\n grid-template-columns: repeat(9, 1fr);\n }\n }\n }\n}\n\n@media only screen and (max-width: @normal) {\n .library-container {\n .library-content {\n .meta-items-container {\n grid-template-columns: repeat(8, 1fr);\n }\n }\n }\n}\n\n@media only screen and (max-width: @medium) {\n .library-container {\n .library-content {\n .meta-items-container {\n grid-template-columns: repeat(7, 1fr);\n }\n }\n }\n}\n\n@media only screen and (max-width: @small) {\n .library-container {\n .library-content {\n .meta-items-container {\n grid-template-columns: repeat(6, 1fr);\n }\n }\n }\n}\n\n@media only screen and (max-width: @xsmall) {\n .library-container {\n .library-content {\n .meta-items-container {\n grid-template-columns: repeat(5, 1fr);\n }\n }\n }\n}\n\n@media only screen and (max-width: @xxsmall) {\n .library-container {\n .library-content {\n .meta-items-container {\n grid-template-columns: repeat(4, 1fr);\n }\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .library-container {\n .library-content {\n .selectable-inputs-container {\n justify-content: space-between;\n }\n\n .meta-items-container {\n grid-template-columns: repeat(3, 1fr);\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n:import('~stremio/common/PlayIconCircleCentered/styles.less') {\n play-icon-circle-centered-background: background;\n play-icon-circle-centered-icon: icon;\n}\n\n.stream-placeholder-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n padding: 0.5rem 1rem;\n\n .addon-container {\n flex: none;\n\n .addon-name {\n width: 5rem;\n height: 2rem;\n border-radius: var(--border-radius);\n background-color: var(--color-placeholder-background);\n }\n }\n\n .info-container {\n flex: 1;\n margin: 0.5rem 1rem;\n\n .description-container {\n height: 1.2rem;\n border-radius: var(--border-radius);\n background-color: var(--color-placeholder-background);\n\n &:nth-child(1) {\n width: 80%;\n }\n\n &:nth-child(2) {\n width: 40%;\n margin-top: 0.5rem;\n }\n }\n }\n\n .play-icon {\n flex: none;\n width: 3.5rem;\n height: 5rem;\n\n .play-icon-circle-centered-background {\n fill: none;\n }\n\n .play-icon-circle-centered-icon {\n fill: var(--color-placeholder-background);\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n:import('~stremio/common/Popup/styles.less') {\n context-menu-container: menu-container;\n menu-direction-top-left: menu-direction-top-left;\n menu-direction-bottom-left: menu-direction-bottom-left;\n menu-direction-top-right: menu-direction-top-right;\n menu-direction-bottom-right: menu-direction-bottom-right;\n}\n\n.stream-container {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n align-items: center;\n gap: 1rem;\n padding: 0.5rem 1rem;\n margin-bottom: 0.5rem;\n border-radius: var(--border-radius);\n\n &:hover, &:focus {\n background-color: var(--overlay-color);\n }\n\n &:hover, &:focus, &:global(.selected) {\n .icon {\n opacity: 1;\n }\n }\n\n .info-container {\n flex: none;\n display: flex;\n flex-direction: column;\n gap: 1rem;\n\n .thumbnail {\n display: block;\n height: 5rem;\n width: 8rem;\n object-fit: cover;\n object-position: center;\n opacity: 0.9;\n }\n\n .placeholder-icon {\n display: block;\n height: 5rem;\n width: 8rem;\n padding: 1rem;\n color: var(--primary-foreground-color);\n background-color: var(--overlay-color);\n opacity: 0.25;\n }\n\n .addon-name {\n width: 7rem;\n max-height: 3.6em;\n font-size: 1.1rem;\n text-align: left;\n color: var(--primary-foreground-color);\n }\n\n .progress-bar-container {\n flex: 0 0 100%;\n position: relative;\n border-radius: var(--border-radius);\n\n .progress-bar {\n z-index: 1;\n position: relative;\n height: 0.4rem;\n background-color: var(--primary-accent-color);\n }\n\n .progress-bar-background {\n z-index: 0;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n background-color: var(--primary-foreground-color);\n opacity: 0.2;\n }\n }\n }\n\n .description-container {\n flex: 1;\n display: flex;\n flex-direction: column;\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical;\n white-space: pre;\n overflow-y: visible;\n text-overflow: ellipsis;\n color: var(--primary-foreground-color);\n }\n \n .icon {\n flex: none;\n width: 3rem;\n height: 3rem;\n padding: 0.7rem;\n border-radius: 50%;\n opacity: 0;\n color: var(--primary-foreground-color);\n background-color: var(--secondary-accent-color);\n }\n\n\t.context-menu-container {\n\t\tmax-width: calc(90% - 1.5rem);\n\t\tz-index: 2;\n\t\n\t\t.context-menu-content {\n\t\t\t--spatial-navigation-contain: contain;\n\t\n\t\t\t.context-menu-option-container {\n\t\t\t\tdisplay: flex;\n\t\t\t\tflex-direction: row;\n\t\t\t\talign-items: center;\n\t\t\t\tpadding: 1rem 1.5rem;\n\t\n\t\t\t\t&:hover,\n\t\t\t\t&:focus {\n\t\t\t\t\tbackground-color: var(--overlay-color);\n\t\t\t\t}\n\t\n\t\t\t\t.context-menu-option-label {\n\t\t\t\t\tfont-size: 1rem;\n\t\t\t\t\tfont-weight: 500;\n\t\t\t\t\tcolor:var(--primary-foreground-color);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\n@media only screen and (max-width: @small) {\n .stream-container {\n .description-container {\n font-size: 0.9rem;\n }\n\n .info-container {\n .addon-name {\n font-size: 0.9rem;\n }\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .stream-container {\n .info-container {\n .addon-name {\n font-weight: 500;\n }\n }\n\n\t\t.context-menu-container {\n &.menu-direction-top-left,\n &.menu-direction-bottom-left {\n right: 1.5rem;\n }\n\n &.menu-direction-top-right,\n &.menu-direction-bottom-right {\n left: 1.5rem;\n }\n\n &.menu-direction-top-left,\n &.menu-direction-top-right {\n bottom: 90%;\n }\n\n &.menu-direction-bottom-left,\n &.menu-direction-bottom-right {\n top: 90%;\n }\n }\n }\n}\n","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n:import('~stremio/common/Multiselect/styles.less') {\n multiselect-menu-container: menu-container;\n multiselect-label: label;\n multiselect-icon: icon;\n}\n\n.streams-list-container {\n display: flex;\n flex-direction: column;\n\n .message-container {\n flex: 0 1 auto;\n align-self: stretch;\n display: flex;\n flex-direction: column;\n align-items: center;\n padding: 1rem 1rem 0;\n overflow-y: auto;\n\n .image {\n flex: none;\n width: 10rem;\n height: 10rem;\n max-width: 100%;\n margin-bottom: 1rem;\n object-fit: contain;\n object-position: center;\n opacity: 0.9;\n }\n\n .label {\n flex: none;\n font-size: 1.4rem;\n text-align: center;\n color: var(--primary-foreground-color);\n }\n }\n\n .addons-loading-container {\n display: flex;\n z-index: 1;\n overflow: visible;\n margin: 2em 1em 0 1em;\n gap: 1em;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n\n .addons-loading {\n color: var(--primary-foreground-color);\n font-size: 1rem;\n }\n\n .addons-loading-bar {\n width: 90%;\n height: 0.3em;\n border-radius: var(--border-radius);\n background-color: var(--primary-accent-color);\n }\n }\n\n .select-choices-wrapper {\n display: flex;\n align-items: center;\n z-index: 2;\n margin: 1em 1em 0 1em;\n gap: 0 0.5em;\n overflow: visible;\n\n .back-button-container {\n display: flex;\n justify-content: center;\n align-items: center;\n border-radius: 0.5em;\n padding: 1em;\n max-height: 3em;\n\n .icon {\n width: 1.5em;\n height: 1.5em;\n color: var(--primary-foreground-color);\n opacity: 0.6;\n }\n\n &:hover, &:global(.active) {\n background-color: var(--overlay-color);\n opacity: 1;\n \n .icon {\n color: var(--primary-foreground-color);\n opacity: 0.8;\n }\n }\n }\n\n .episode-title {\n min-width: 45%;\n color: var(--primary-foreground-color);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .select-input-container {\n min-width: 40%;\n flex: 0 0 auto;\n flex-grow: 1;\n background: none;\n\n &:hover, &:focus, &:global(.active) {\n background-color: var(--overlay-color);\n }\n \n & >.multiselect-label {\n color: var(--primary-foreground-color);\n }\n \n & >.multiselect-icon {\n color: var(--primary-foreground-color);\n }\n \n .multiselect-menu-container {\n max-height: calc(3.2rem * 7);\n overflow: auto;\n }\n }\n }\n\n .streams-container {\n flex: 1 1 auto;\n align-self: stretch;\n margin-top: 1rem;\n padding: 0 1rem;\n overflow-y: auto;\n }\n\n .install-button-container {\n flex: none;\n align-self: stretch;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n margin: 1rem;\n padding: 1.5rem 1rem;\n border-radius: var(--border-radius);\n background-color: var(--secondary-accent-color);\n border-radius: 3rem;\n\n &:hover {\n outline: var(--focus-outline-size) solid var(--secondary-accent-color);\n background-color: transparent;\n }\n\n .icon {\n flex: none;\n width: 2rem;\n height: 2rem;\n margin-right: 1rem;\n color: var(--primary-foreground-color);\n }\n\n .label {\n flex: 0 1 auto;\n font-size: 1.5rem;\n font-weight: 700;\n max-height: 3.6em;\n text-align: center;\n color: var(--primary-foreground-color);\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .streams-list-container {\n overflow: visible;\n\n .streams-container {\n margin-top: 0;\n overflow: visible;\n scrollbar-color: @color-surface-light5-20 transparent;\n\n &::-webkit-scrollbar-thumb {\n background-color: @color-surface-light5-20;\n }\n\n &::-webkit-scrollbar-track {\n background-color: transparent;\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n.seasons-bar-placeholder-container {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n padding: 1rem;\n\n .prev-season-button, .next-season-button {\n flex: none;\n display: flex;\n flex-direction: row;\n align-items: center;\n width: 6.5rem;\n height: 3rem;\n padding: 0.5rem;\n\n &>:first-child {\n margin-right: 0.5rem;\n }\n\n .icon {\n flex: none;\n display: block;\n width: 1.5rem;\n height: 1.5rem;\n color: var(--color-placeholder-background);\n }\n\n .label {\n flex: 1;\n max-height: 1.2em;\n font-weight: 500;\n text-align: center;\n color: var(--color-placeholder-text);\n }\n }\n\n .seasons-popup-label-container {\n flex: 0 1 auto;\n display: flex;\n flex-direction: row;\n align-items: center;\n margin: 0 1rem;\n\n .seasons-popup-label {\n max-height: 1.2em;\n font-weight: 500;\n color: var(--color-placeholder-text);\n }\n\n .seasons-popup-icon {\n flex: none;\n width: 1rem;\n height: 1rem;\n margin-left: 1rem;\n color: var(--color-placeholder-background);\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n:import('~stremio/common/Multiselect/styles.less') {\n multiselect-menu-container: menu-container;\n multiselect-label: label;\n multiselect-icon: icon;\n}\n\n.seasons-bar-container {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n padding: 1rem;\n overflow: visible;\n\n .prev-season-button, .next-season-button {\n flex: none;\n display: flex;\n flex-direction: row;\n align-items: center;\n width: 6.5rem;\n height: 3rem;\n border-radius: 3rem;\n padding: 0.5rem;\n\n &.disabled {\n pointer-events: none;\n opacity: 0.5;\n }\n\n &:hover, &:focus {\n background-color: var(--overlay-color);\n }\n\n &:focus {\n background-color: var(--primary-foreground-color);\n }\n\n &>:first-child {\n margin-right: 0.5rem;\n }\n\n .label {\n flex: 1;\n max-height: 1.2em;\n font-weight: 500;\n text-align: center;\n color: var(--primary-foreground-color);\n }\n\n .icon {\n flex: none;\n width: 1.5rem;\n height: 1.5rem;\n color: var(--primary-foreground-color);\n }\n }\n\n .seasons-popup-label-container {\n flex: 0 1 auto;\n background: none;\n\n &:hover, &:focus, &:global(.active) {\n background-color: var(--overlay-color);\n }\n\n &>.multiselect-label {\n color: var(--primary-foreground-color);\n }\n\n &>.multiselect-icon {\n color: var(--primary-foreground-color);\n }\n\n .multiselect-menu-container {\n max-height: calc(3.2rem * 7);\n overflow: auto;\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .seasons-bar-container {\n height: 6rem;\n\n .seasons-popup-label-container {\n .multiselect-menu-container {\n max-height: calc(3.2rem * 3);\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n.video-placeholder-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n padding: 0.5rem 1rem;\n\n .info-container {\n flex: 1;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n height: 3rem;\n margin: 0.5rem 1rem;\n\n .name-container {\n width: 80%;\n height: 1.2rem;\n border-radius: var(--border-radius);\n background: var(--color-placeholder-background);\n }\n\n .released-container {\n height: 1rem;\n border-radius: var(--border-radius);\n background: var(--color-placeholder-background);\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n:import('~stremio/common/Popup/styles.less') {\n context-menu-container: menu-container;\n menu-direction-top-left: menu-direction-top-left;\n menu-direction-bottom-left: menu-direction-bottom-left;\n menu-direction-top-right: menu-direction-top-right;\n menu-direction-bottom-right: menu-direction-bottom-right;\n}\n\n.video-container {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n align-items: center;\n padding: 0.5rem;\n margin-bottom: 0.5rem;\n border-radius: var(--border-radius);\n\n &:hover,\n &:focus,\n &:global(.active) {\n background-color: var(--overlay-color);\n }\n\n .thumbnail-container {\n flex: none;\n position: relative;\n border-radius: 0.3rem;\n overflow: hidden;\n\n .thumbnail {\n pointer-events: none;\n display: block;\n height: 5rem;\n width: 8rem;\n object-fit: cover;\n object-position: center;\n opacity: 0.9;\n background-color: var(--overlay-color);\n }\n\n .placeholder-icon {\n display: block;\n height: 5rem;\n width: 8rem;\n padding: 1rem;\n color: var(--primary-foreground-color);\n background-color: var(--overlay-color);\n opacity: 0.25;\n }\n\n .progress-bar-container {\n position: absolute;\n bottom: 0.5rem;\n left: 0.5rem;\n right: 0.5rem;\n border-radius: var(--border-radius);\n\n .progress-bar {\n z-index: 1;\n position: relative;\n height: 0.4rem;\n background-color: var(--primary-accent-color);\n }\n\n .progress-bar-background {\n z-index: 0;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n background-color: var(--primary-foreground-color);\n opacity: 0.2;\n }\n }\n }\n\n .info-container {\n flex: 1;\n align-self: stretch;\n display: flex;\n flex-direction: column;\n justify-content: center;\n padding: 0 0.5rem 0 1.5rem;\n\n .title-container {\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n margin-bottom: 1rem;\n color: var(--primary-foreground-color);\n }\n\n .flex-row-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: flex-end;\n\n .released-container {\n flex: 1;\n margin-right: 0.5rem;\n padding: 0.2rem 0;\n font-size: 0.8rem;\n font-weight: 500;\n white-space: nowrap;\n text-overflow: ellipsis;\n color: var(--primary-foreground-color);\n opacity: 0.44;\n }\n\n .upcoming-watched-container {\n flex: 0 1 auto;\n display: flex;\n flex-direction: row;\n align-items: center;\n height: 1.6rem;\n border-radius: 0.3rem;\n\n &>:nth-child(2) {\n margin-left: 0.5rem;\n }\n\n .upcoming-container,\n .watched-container {\n flex: none;\n display: flex;\n align-items: center;\n height: 100%;\n padding: 0 0.5rem;\n max-width: 10rem;\n\n &:not(:only-child) {\n max-width: 5rem;\n }\n\n .flag-icon {\n height: 1.15rem;\n width: 1.15rem;\n margin-right: 0.25rem;\n color: var(--secondary-foreground-color);\n }\n\n .flag-label {\n font-size: 0.8rem;\n font-weight: 800;\n white-space: nowrap;\n text-overflow: ellipsis;\n text-transform: uppercase;\n color: var(--secondary-foreground-color);\n }\n }\n\n .upcoming-container {\n background-color: var(--secondary-accent-color);\n }\n\n .watched-container {\n background-color: var(--tertiary-accent-color);\n }\n }\n }\n }\n\n .context-menu-container {\n max-width: calc(90% - 1.5rem);\n z-index: 2;\n\n .context-menu-content {\n --spatial-navigation-contain: contain;\n\n .context-menu-option-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n padding: 1rem 1.5rem;\n\n &:hover,\n &:focus {\n background-color: var(--overlay-color);\n }\n\n .context-menu-option-label {\n font-size: 1rem;\n font-weight: 500;\n color:var(--primary-foreground-color);\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .video-container {\n .context-menu-container {\n &.menu-direction-top-left,\n &.menu-direction-bottom-left {\n right: 1.5rem;\n }\n\n &.menu-direction-top-right,\n &.menu-direction-bottom-right {\n left: 1.5rem;\n }\n\n &.menu-direction-top-left,\n &.menu-direction-top-right {\n bottom: 90%;\n }\n\n &.menu-direction-bottom-left,\n &.menu-direction-bottom-right {\n top: 90%;\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.videos-list-container {\n display: flex;\n flex-direction: column;\n\n .message-container {\n flex: 1;\n align-self: stretch;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 2rem;\n overflow-y: auto;\n\n .image {\n flex: none;\n width: 10rem;\n height: 10rem;\n max-width: 100%;\n margin-bottom: 1rem;\n object-fit: contain;\n object-position: center;\n opacity: 0.9;\n }\n\n .label {\n flex: none;\n font-size: 1.4rem;\n text-align: center;\n color: var(--primary-foreground-color);\n }\n }\n\n .notifications-checkbox {\n flex: none;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: flex-start;\n gap: 1rem;\n padding: 1.15rem 1.5rem 0.65rem;\n color: @color-surface-light5-90;\n }\n\n .seasons-bar {\n flex: none;\n align-self: stretch;\n margin: 0.5rem 1rem 1rem 1rem;\n }\n\n .search-bar {\n flex: none;\n align-self: stretch;\n margin: 0 1.5rem 1rem 1.5rem;\n\n &:first-child {\n margin-top: 1rem;\n }\n }\n\n .videos-container {\n flex: 1;\n align-self: stretch;\n padding: 0 1rem;\n overflow-y: auto;\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .videos-list-container {\n overflow: visible;\n\n .videos-container {\n overflow: auto;\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n:import('~stremio/common/MetaPreview/styles.less') {\n meta-info-container: meta-info-container;\n}\n\n:import('~stremio/common/ModalDialog/styles.less') {\n modal-dialog-container: modal-dialog-container;\n title-modal-container: title-container;\n}\n\n.metadetails-container {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n\n .nav-bar {\n z-index: 1;\n flex: none;\n align-self: stretch;\n }\n\n .metadetails-content {\n flex: 1;\n align-self: stretch;\n position: relative;\n z-index: 0;\n display: flex;\n flex-direction: row;\n\n .vertical-nav-bar {\n --vertical-nav-bar-size: 6rem;\n flex: none;\n }\n\n .background-image-layer {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: -1;\n background-color: var(--modal-background-color);\n\n .background-image {\n pointer-events: none; \n display: block;\n width: 100%;\n height: 100%;\n object-fit: cover;\n object-position: top left;\n opacity: 0.3;\n }\n }\n\n .meta-message-container {\n align-self: stretch;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 2rem;\n width: 100%;\n height: 100%;\n\n .image {\n flex: none;\n width: 12rem;\n height: 12rem;\n max-width: 100%;\n margin-bottom: 1rem;\n object-fit: contain;\n object-position: center;\n opacity: 0.9;\n }\n\n .message-label {\n flex: none;\n align-self: stretch;\n font-size: 2rem;\n text-align: center;\n color: var(--primary-foreground-color);\n }\n }\n\n .meta-preview {\n flex: 0 1 auto;\n align-self: stretch;\n padding: 0 4rem 2rem 4rem;\n }\n\n .spacing {\n flex: 1;\n }\n\n .videos-list, .streams-list {\n flex: 0 0 30rem;\n align-self: stretch;\n border-radius: var(--border-radius) 0 0 var(--border-radius);\n background-color: rgba(0, 0, 0, 0.4);\n backdrop-filter: blur(15px);\n }\n }\n}\n\n.meta-extension-modal-container {\n .modal-dialog-container {\n width: 80%;\n height: 80%;\n\n .title-modal-container {\n max-height: 1.2em;\n }\n\n .meta-extension-modal-iframe {\n width: 100%;\n height: 100%;\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .metadetails-container {\n .metadetails-content {\n display: block;\n overflow-y: auto;\n\n .spacing {\n display: none;\n }\n\n .meta-preview {\n padding: 0 1.5rem 2rem;\n }\n\n .videos-list, .streams-list {\n border-radius: var(--border-radius) var(--border-radius) 0 0;\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n:import('~stremio/common/MetaRow/styles.less') {\n meta-item: meta-item;\n}\n\n:import('~stremio/common/MetaRow/MetaRowPlaceholder/styles.less') {\n meta-item-placeholder: meta-item;\n}\n\n.search-container {\n width: 100%;\n height: 100%;\n background-color: transparent;\n\n .search-content {\n width: 100%;\n height: 100%;\n overflow-y: auto;\n\n .search-row {\n margin: 4rem 2rem;\n }\n\n .search-hints-wrapper {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-direction: column;\n width: 100%;\n height: 100%;\n\n .search-hints-title-container {\n display: flex;\n justify-content: center;\n align-items: center;\n padding: 0 1rem;\n\n .search-hints-title {\n flex-grow: 0;\n flex-shrink: 1;\n flex-basis: auto;\n font-size: 1.6rem;\n color: @color-surface-light5-90;\n text-align: center;\n opacity: 0.4;\n }\n }\n \n .search-hints-container {\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n justify-content: center;\n align-content: flex-start;\n flex-wrap: wrap;\n padding: 4rem;\n max-width: 50%;\n margin: 0 auto;\n \n .search-hint-container {\n flex: 0 0 25%;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 0 1rem;\n margin-bottom: 4rem;\n \n .icon {\n flex: none;\n width: 4rem;\n height: 4rem;\n margin-bottom: 2rem;\n color: @color-surface-light5-90;\n opacity: 0.4;\n }\n \n .label {\n flex-grow: 0;\n flex-shrink: 1;\n flex-basis: auto;\n font-size: 1.2rem;\n color: @color-surface-light5-90;\n text-align: center;\n opacity: 0.4;\n }\n }\n } \n }\n\n .message-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n padding: 4rem;\n\n .image {\n flex: none;\n width: 12rem;\n height: 12rem;\n margin-bottom: 1rem;\n object-fit: contain;\n object-position: center;\n opacity: 0.9;\n }\n\n .message-label {\n flex: 0 1 auto;\n font-size: 2.5rem;\n text-align: center;\n color: @color-secondaryvariant2-light1-90;\n }\n }\n }\n}\n\n@media only screen and (max-width: @large) {\n .search-container {\n .search-content {\n .search-row-poster, .search-row-square {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+10) {\n display: none;\n }\n }\n }\n\n .search-row-landscape {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+9) {\n display: none;\n }\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @normal) {\n .search-container {\n .search-content {\n .search-row-poster, .search-row-square {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+9) {\n display: none;\n }\n }\n }\n\n .search-row-landscape {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+8) {\n display: none;\n }\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @medium) {\n .search-container {\n .search-content {\n .search-hints-wrapper {\n .search-hints-container {\n max-width: 70%;\n }\n }\n .search-row-poster, .search-row-square {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+8) {\n display: none;\n }\n }\n }\n\n .search-row-landscape {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+7) {\n display: none;\n }\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @small) {\n .search-container {\n .search-content {\n .search-hints-wrapper {\n .search-hints-container {\n max-width: 90%;\n }\n }\n .search-row-poster, .search-row-square {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+7) {\n display: none;\n }\n }\n }\n\n .search-row-landscape {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+6) {\n display: none;\n }\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @xsmall) {\n .search-container {\n .search-content {\n .search-row-poster, .search-row-square {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+6) {\n display: none;\n }\n }\n }\n\n .search-row-landscape {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+5) {\n display: none;\n }\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @xxsmall) {\n .search-container {\n .search-content {\n .search-hints-wrapper {\n .search-hints-container {\n max-width: 100%;\n .search-hint-container {\n flex: 0 0 50%;\n }\n }\n }\n .search-row-poster, .search-row-square {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+5) {\n display: none;\n }\n }\n }\n\n .search-row-landscape {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+4) {\n display: none;\n }\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .search-container {\n .search-content {\n .search-row {\n margin: 2rem 1rem;\n }\n\n .search-row-poster, .search-row-square {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+4) {\n display: none;\n }\n }\n }\n\n .search-hints-wrapper {\n margin-top: 4rem;\n .search-hints-container {\n padding: 4rem 2rem;\n .search-hint-container {\n padding: 0 1.5rem;\n }\n }\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n:import('~stremio/common/Checkbox/styles.less') {\n checkbox-icon: icon;\n}\n\n:import('~stremio/common/Multiselect/styles.less') {\n multiselect-menu-container: menu-container;\n multiselect-label: label;\n}\n\n:import('~stremio/common/ModalDialog/styles.less') {\n configure-server-url-modal-content: modal-dialog-content;\n cancel-button-label: label;\n}\n\n.settings-container {\n width: 100%;\n height: 100%;\n background-color: transparent;\n\n .settings-content {\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: row;\n\n .side-menu-container {\n flex: none;\n align-self: stretch;\n display: flex;\n flex-direction: column;\n width: 18rem;\n padding: 3rem 1.5rem;\n\n .side-menu-button {\n flex: none;\n align-self: stretch;\n display: flex;\n align-items: center;\n height: 4rem;\n border-radius: 4rem;\n padding: 2rem;\n margin-bottom: 0.5rem;\n font-size: 1.1rem;\n font-weight: 500;\n color: var(--primary-foreground-color);\n opacity: 0.4;\n\n &.selected {\n font-weight: 600;\n color: var(--primary-foreground-color);\n background-color: var(--overlay-color);\n opacity: 1;\n }\n\n &:hover {\n background-color: var(--overlay-color);\n }\n }\n\n .spacing {\n flex: 1;\n }\n\n .version-info-label {\n flex: 0 1 auto;\n margin: 0.5rem 0;\n color: var(--primary-foreground-color);\n opacity: 0.3;\n }\n }\n\n .sections-container {\n flex: 1;\n align-self: stretch;\n padding: 0 3rem;\n overflow-y: auto;\n\n .section-container {\n display: flex;\n flex-direction: column;\n padding: 3rem 0;\n overflow: visible;\n\n &:not(:last-child) {\n border-bottom: thin solid var(--overlay-color);\n }\n\n .section-title {\n flex: none;\n align-self: stretch;\n font-size: 1.8rem;\n line-height: 3.4rem;\n margin-bottom: 3rem;\n color: var(--primary-foreground-color);\n }\n\n .section-category-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 0 1em;\n margin-bottom: 1.5rem;\n line-height: 2.4rem;\n\n .label {\n flex: none;\n font-size: 1.1rem;\n color: var(--primary-foreground-color);\n }\n\n .icon {\n flex: none;\n width: 2rem;\n height: 2rem;\n color: var(--primary-foreground-color);\n }\n }\n\n .option-container {\n flex: none;\n align-self: stretch;\n display: flex;\n flex-direction: row;\n align-items: center;\n max-width: 35rem;\n margin-bottom: 2rem;\n overflow: visible;\n\n &.link-container {\n margin-bottom: 0.5rem;\n }\n \n &:last-child {\n margin-bottom: 0;\n }\n\n &.user-info-option-container {\n gap: 1rem;\n\n .user-info-content {\n flex: 1;\n display: flex;\n flex-direction: row;\n align-items: center;\n\n .avatar-container {\n flex: none;\n align-self: stretch;\n height: 5rem;\n width: 5rem;\n margin-right: 1rem;\n border: 2px solid var(--primary-accent-color);\n border-radius: 50%;\n background-size: cover;\n background-repeat: no-repeat;\n background-position: center;\n background-origin: content-box;\n background-clip: content-box;\n opacity: 0.9;\n background-color: var(--primary-foreground-color);\n }\n\n .email-logout-container {\n flex: none;\n display: flex;\n flex-direction: column;\n\n .email-label-container, .logout-button-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n }\n\n .email-label-container {\n .email-label {\n flex: 1;\n font-size: 1.1rem;\n color: var(--primary-foreground-color);\n opacity: 0.7;\n }\n }\n\n .logout-button-container {\n &:hover, &:focus {\n outline: none;\n\n .logout-label {\n text-decoration: underline;\n }\n }\n\n .logout-label {\n flex: 1;\n color: var(--primary-accent-color);\n }\n }\n }\n }\n\n .user-panel-container {\n flex: none;\n display: flex;\n flex-direction: row;\n align-items: center;\n width: 10rem;\n height: 3.5rem;\n border-radius: 3.5rem;\n background-color: var(--overlay-color);\n\n &:hover {\n outline: var(--focus-outline-size) solid var(--primary-foreground-color);\n background-color: transparent;\n }\n\n .user-panel-label {\n flex: 1;\n max-height: 2.4em;\n padding: 0 0.5rem;\n font-weight: 500;\n text-align: center;\n color: var(--primary-foreground-color);\n }\n }\n }\n\n .option-name-container, .option-input-container {\n flex: 1 1 50%;\n display: flex;\n flex-direction: row;\n align-items: center;\n\n .icon {\n flex: none;\n width: 1.5rem;\n height: 1.5rem;\n margin-right: 0.5rem;\n color: var(--primary-foreground-color);\n }\n\n .label {\n flex-grow: 0;\n flex-shrink: 1;\n flex-basis: auto;\n line-height: 1.5rem;\n color: var(--primary-foreground-color);\n }\n\n &.trakt-icon {\n .icon {\n width: 3rem;\n height: 3rem;\n color: var(--color-trakt);\n }\n }\n }\n\n .option-name-container {\n justify-content: flex-start;\n padding: 1rem 1rem 1rem 0;\n margin-right: 2rem;\n }\n\n .option-input-container {\n padding: 1rem 1.5rem;\n\n &.button-container {\n justify-content: center;\n height: 3.5rem;\n border-radius: 3.5rem;\n background-color: var(--overlay-color);\n\n &:hover {\n outline: var(--focus-outline-size) solid var(--primary-foreground-color);\n background-color: transparent;\n }\n\n .label {\n font-weight: 500;\n }\n }\n\n &.multiselect-container {\n >.multiselect-label {\n line-height: 1.5rem;\n max-height: 1.5rem;\n }\n\n .multiselect-menu-container {\n max-height: calc(3.2rem * 7);\n overflow: auto;\n }\n }\n\n &.link-input-container {\n flex: 0 1 auto;\n padding: 0;\n \n .label {\n color: var(--primary-accent-color);\n }\n\n &:hover {\n .label {\n text-decoration: underline;\n }\n }\n }\n\n &.checkbox-container {\n justify-content: center;\n\n .checkbox-icon {\n width: 1.5rem;\n height: 1.5rem;\n }\n }\n\n &.color-input-container {\n padding: 1.75rem 1rem;\n }\n\n &.info-container {\n justify-content: center;\n\n &.selectable {\n user-select: text;\n\n .label {\n user-select: text;\n }\n }\n }\n\n &.configure-input-container {\n padding: 0;\n\n .label {\n flex-grow: 1;\n white-space: pre;\n text-overflow: ellipsis;\n padding: 0 1rem;\n }\n\n .configure-button-container {\n flex: none;\n width: 3rem;\n height: 3rem;\n border-radius: 100%;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n background-color: var(--overlay-color);\n\n &:hover {\n outline: var(--focus-outline-size) solid var(--primary-foreground-color);\n background-color: transparent;\n }\n\n .icon {\n flex: none;\n width: 1rem;\n height: 1rem;\n margin: 0;\n color: var(--primary-foreground-color);\n }\n }\n }\n\n &.shortcut-container {\n justify-content: center;\n padding: 0;\n overflow: visible;\n\n kbd {\n flex: 0 1 auto;\n height: 2.5rem;\n min-width: 2.5rem;\n line-height: 2.5rem;\n padding: 0 1rem;\n font-weight: 500;\n color: var(--primary-foreground-color);\n border-radius: 0.25em;\n box-shadow: 0 4px 0 1px var(--modal-background-color);\n background-color: var(--overlay-color);\n }\n\n .label {\n margin: 0 1rem;\n white-space: nowrap;\n color: var(--primary-foreground-color);\n }\n }\n }\n }\n }\n\n .versions-section-container {\n display: none;\n }\n }\n }\n}\n\n.configure-server-url-modal-container {\n .configure-server-url-modal-content {\n width: 30rem;\n\n .server-url-input {\n width: 100%;\n padding: 1rem;\n color: var(--primary-foreground-color);\n border-radius: var(--border-radius);\n background-color: var(--overlay-color);\n outline: var(--focus-outline-size) solid var(--overlay-color);\n outline-offset: calc(-1 * var(--focus-outline-size));\n\n &:hover {\n outline-color: var(--primary-foreground-color);\n }\n\n &:focus {\n outline-color: var(--primary-foreground-color);\n }\n }\n }\n\n .cancel-button {\n background-color: transparent;\n opacity: 0.3;\n\n &:hover {\n outline: var(--focus-outline-size) solid var(--primary-foreground-color) inset;\n opacity: 1;\n }\n\n &:focus {\n outline-color: var(--primary-foreground-color);\n }\n\n .cancel-button-label {\n color: var(--primary-foreground-color);\n }\n }\n}\n\n@media only screen and (max-width: @xsmall) {\n .settings-container {\n .settings-content {\n .side-menu-container {\n display: none;\n }\n\n .sections-container {\n .versions-section-container {\n display: flex;\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .settings-container {\n .settings-content {\n flex-direction: column-reverse;\n\n .side-menu-container {\n display: none;\n }\n\n .sections-container {\n padding: 0 1.5rem;\n\n .section-container {\n .user-info-option-container {\n flex-direction: column;\n align-items: flex-start;\n\n .user-panel-container {\n width: 100% !important;\n }\n }\n }\n\n .versions-section-container {\n display: flex;\n }\n }\n }\n }\n\n .configure-server-url-modal-container {\n .configure-server-url-modal-content {\n width: auto;\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n.buffering-loader-container {\n display: flex;\n align-items: center;\n justify-content: center;\n\n .buffering-loader {\n flex: none;\n max-width: 15rem;\n max-height: 15rem;\n animation: fadeInOut 2s infinite; \n display: block; \n width: auto;\n height: auto; \n }\n \n}\n\n\n@keyframes fadeInOut {\n 0% { opacity: 0.2; }\n 50% { opacity: 1; }\n 100% { opacity: 0.2; }\n}\n","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n:import('~stremio/common/Slider/styles.less') {\n slider-track: track;\n slider-track-after: track-after;\n}\n\n.volume-slider:not(:global(.disabled)) {\n .slider-track {\n background-color: var(--overlay-color);\n }\n\n .slider-track-after {\n background-color: var(--primary-foreground-color);\n }\n\n &:hover, &:global(.active) {\n .slider-track-after {\n background-color: var(--primary-foreground-color);\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.volume-change-indicator {\n position: absolute;\n top: 50%;\n left: 50%;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n transform: translate(-50%, -50%);\n background-color: var(--overlay-color);\n border-radius: var(--border-radius);\n padding: 2rem 2.5rem;\n gap: 1rem;\n\n .volume-icon {\n width: 6.5rem;\n height: 6.5rem;\n color: var(--primary-foreground-color);\n }\n\n .volume-slider {\n border-radius: var(--border-radius);\n max-height: 1rem;\n width: 6.5rem;\n max-height: 1rem;\n flex: 0 1 10rem;\n margin: 0 1rem;\n\n --track-size: 0.35rem;\n --thumb-size: 1rem;\n }\n\n}\n\n@media only screen and (max-width: @minimum) {\n .volume-change-indicator {\n padding: 1rem 1.5rem;\n \n .volume-icon {\n width: 4rem;\n height: 4rem;\n }\n\n .volume-slider {\n width: 4rem;\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.error {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n background-color: rgba(0, 0, 0, 1);\n\n .error-label {\n flex: 0 1 auto;\n padding: 0 8rem;\n max-height: 4.8em;\n font-size: 2rem;\n color: var(--primary-foreground-color);\n text-align: center;\n }\n\n .error-sub {\n flex: 0 1 auto;\n padding: 0 2rem;\n max-height: 4.8em;\n font-size: 1.3rem;\n margin-top: 0.8rem;\n color: var(--primary-foreground-color);\n text-align: center; \n }\n\n .playlist-button {\n flex: none;\n display: flex;\n flex-direction: row;\n align-items: center;\n height: 3.5rem;\n border-radius: 3.5rem;\n margin-top: 1.5rem;\n padding: 0 2rem;\n background-color: var(--secondary-accent-color);\n\n &:hover {\n outline: var(--focus-outline-size) solid var(--secondary-accent-color);\n background-color: transparent;\n }\n\n .icon {\n flex: none;\n width: 1.5rem;\n height: 1.5rem;\n margin-right: 1rem;\n color: var(--primary-foreground-color);\n }\n\n .label {\n flex: 1;\n max-height: 2.4em;\n font-size: 1.1rem;\n font-weight: 500;\n color: var(--primary-foreground-color);\n text-align: center;\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n:import('~stremio/common/Slider/styles.less') {\n slider-track-after: track-after;\n slider-thumb: thumb;\n}\n\n.seek-bar-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n\n .label {\n flex: none;\n width: 6rem;\n white-space: nowrap;\n text-overflow: ellipsis;\n direction: rtl;\n text-align: center;\n color: var(--primary-foreground-color);\n }\n\n .slider {\n flex: 1;\n align-self: stretch;\n margin: 0 var(--thumb-size);\n\n .slider-track-after {\n background-color: var(--primary-accent-color);\n }\n\n .slider-thumb {\n background-color: var(--primary-accent-color);\n \n &:after {\n content: \"\";\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n border-radius: 100%;\n box-shadow: 0 0 0 0.25rem var(--primary-accent-color) inset;\n filter: brightness(130%);\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.control-bar-container {\n padding: 0 1.5rem;\n\n .seek-bar {\n --track-size: 0.5rem;\n --thumb-size: 1.3rem;\n\n height: 2.5rem;\n }\n\n .control-bar-buttons-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n\n .control-bar-button {\n flex: none;\n width: 4rem;\n height: 5rem;\n display: flex;\n justify-content: center;\n align-items: center;\n\n &:global(.disabled) {\n .icon {\n opacity: 0.5;\n }\n }\n\n .icon {\n flex: none;\n width: 2.5rem;\n height: 2.5rem;\n color: var(--primary-foreground-color);\n }\n }\n\n .volume-slider {\n --track-size: 0.35rem;\n --thumb-size: 1rem;\n\n flex: 0 1 10rem;\n height: 4rem;\n margin: 0 1rem;\n }\n\n .spacing {\n flex: 1;\n }\n\n .control-bar-buttons-menu-button {\n flex: none;\n width: 4rem;\n height: 4rem;\n display: none;\n justify-content: center;\n align-items: center;\n\n .icon {\n flex: none;\n width: 2.5rem;\n height: 2.5rem;\n color: var(--primary-foreground-color);\n }\n }\n\n .control-bar-buttons-menu-container {\n flex: none;\n display: flex;\n flex-direction: row;\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .control-bar-container {\n padding: 0;\n\n .seek-bar {\n margin: 0 1.5rem;\n }\n\n .control-bar-buttons-container {\n position: relative;\n padding: 0 0.5rem;\n overflow: visible;\n\n .volume-slider {\n display: none;\n }\n\n .control-bar-buttons-menu-button {\n display: flex;\n }\n\n .control-bar-buttons-menu-container {\n position: absolute;\n right: 0.15rem;\n bottom: 4.5rem;\n flex-direction: column;\n padding: 0.5rem;\n border-radius: var(--border-radius);\n background-color: var(--modal-background-color);\n box-shadow: 0 1.35rem 2.7rem @color-background-dark5-40,\n 0 1.1rem 0.85rem @color-background-dark5-20;\n\n &:not(:global(.open)) {\n display: none;\n }\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.next-video-popup-container {\n display: flex;\n flex-direction: row;\n width: 50rem;\n animation: slide-fade-in 0.5s ease-in;\n\n @keyframes slide-fade-in {\n 0% {\n opacity: 0;\n transform: translateX(calc(40rem + 2rem));\n }\n\n 100% {\n opacity: 1;\n transform: translateX(0);\n }\n }\n\n .poster-container {\n flex: 1 1 45%;\n display: flex;\n justify-content: center;\n align-items: center;\n background-color: var(--overlay-color);\n\n .poster-image {\n flex: none;\n width: 100%;\n height: 100%;\n object-position: center;\n object-fit: cover;\n }\n\n .placeholder-icon {\n flex: none;\n width: 80%;\n height: 50%;\n color: var(--primary-foreground-color);\n }\n }\n\n .info-container {\n flex: 1 1 55%;\n display: flex;\n flex-direction: column;\n\n .details-container {\n flex: auto;\n padding: 2rem;\n\n .name {\n flex: none;\n align-self: stretch;\n max-height: 2.4em;\n font-weight: 700;\n margin-bottom: 1.5rem;\n color: var(--primary-accent-color);\n\n .label {\n color: var(--primary-foreground-color);\n }\n }\n\n .title {\n flex: none;\n align-self: stretch;\n max-height: 2.4em;\n font-weight: 500;\n margin-bottom: 0.5rem;\n color: var(--primary-foreground-color);\n }\n\n .description {\n color: var(--primary-foreground-color);\n opacity: 0.5;\n max-width: 80%;\n padding: 0.5rem 0;\n }\n }\n\n .buttons-container {\n display: flex;\n flex-direction: row;\n padding: 0 1rem 2rem;\n\n .spacing {\n flex: 0 0 50%;\n }\n\n .button-container {\n flex: 0 0 45%;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n height: 3.5rem;\n padding: 0 0.5rem;\n margin-left: 1rem;\n border-radius: 1.75rem;\n\n &.play-button {\n background-color: var(--primary-accent-color);\n\n .icon {\n color: var(--primary-foreground-color);\n }\n\n .label {\n color: var(--primary-foreground-color);\n }\n\n &:hover {\n outline: var(--focus-outline-size) solid var(--primary-accent-color);\n background-color: transparent;\n }\n }\n\n .icon {\n flex: none;\n width: 1.4rem;\n height: 1.4rem;\n margin-right: 1rem;\n color: var(--primary-foreground-color);\n }\n\n .label {\n flex: none;\n max-height: 2.4em;\n font-size: 1.1rem;\n font-weight: 500;\n color: var(--primary-foreground-color);\n }\n\n &.dismiss {\n opacity: 0.6;\n }\n\n &:hover, &:focus {\n background-color: var(--overlay-color);\n }\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.statistics-menu-container {\n display: flex;\n flex-direction: column;\n gap: 1.5rem;\n width: 30rem;\n padding: 1.5rem;\n\n .title {\n flex: none;\n font-weight: 700;\n color: var(--primary-foreground-color);\n }\n\n .label {\n flex: none;\n font-weight: 500;\n color: var(--primary-foreground-color);\n opacity: 0.5;\n }\n\n .value {\n flex: none;\n font-weight: 500;\n color: var(--primary-foreground-color);\n }\n\n .stats {\n flex: auto;\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n justify-content: space-between;\n gap: 1rem;\n\n .stat {\n flex: auto;\n display: flex;\n flex-direction: row;\n gap: 0.5rem;\n }\n }\n\n .info-hash {\n flex: auto;\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n.info-menu-container {\n width: 30rem;\n padding: 2rem;\n\n .stream {\n pointer-events: none;\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.option-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n height: 3.5rem;\n border-radius: var(--border-radius);\n padding: 0 1rem;\n margin-bottom: 0.5rem;\n\n &:last-child {\n margin-bottom: 0;\n }\n\n .icon {\n flex: none;\n width: 1.4rem;\n height: 1.4rem;\n margin-right: 1rem;\n color: var(--primary-foreground-color);\n }\n\n .label {\n flex: 1;\n max-height: 2.4em;\n font-weight: 400;\n color: var(--primary-foreground-color);\n }\n\n &:hover {\n background-color: var(--overlay-color);\n }\n\n &:global(.disabled) {\n opacity: 0.5;\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n.options-menu-container {\n width: 16rem;\n padding: 1rem;\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n.videos-menu-container {\n width: 30rem;\n padding: 1rem;\n padding-bottom: 0;\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.discrete-input-container {\n &:global(.disabled) {\n .header {\n color: var(--primary-foreground-color);\n }\n\n .input-container {\n opacity: 0.4;\n }\n }\n\n .header {\n margin-bottom: 0.5rem;\n color: var(--primary-foreground-color);\n opacity: 0.6;\n }\n\n .input-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n border-radius: 3.5rem;\n background: var(--overlay-color);\n\n .button-container {\n flex: none;\n width: 3.5rem;\n height: 3.5rem;\n padding: 1rem;\n border-radius: 100%;\n background-color: var(--overlay-color);\n\n .icon {\n display: block;\n width: 100%;\n height: 100%;\n color: var(--primary-foreground-color);\n }\n }\n\n .option-label {\n flex: 1;\n font-weight: 500;\n text-align: center;\n color: var(--primary-foreground-color);\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.subtitles-menu-container {\n height: 25rem;\n display: flex;\n flex-direction: row;\n\n .languages-container, .variants-container, .subtitles-settings-container {\n flex: none;\n align-self: stretch;\n display: flex;\n flex-direction: column;\n\n .languages-header, .variants-header, .settings-header {\n flex: none;\n align-self: stretch;\n padding: 1.5rem 2rem;\n font-weight: 700;\n color: var(--primary-foreground-color);\n }\n\n .languages-list, .variants-list {\n flex: 1;\n align-self: stretch;\n overflow-y: auto;\n padding: 0 1rem;\n\n .language-option, .variant-option {\n display: flex;\n flex-direction: row;\n align-items: center;\n height: 3.5rem;\n padding: 0 1.5rem;\n margin-bottom: 0.5rem;\n border-radius: var(--border-radius);\n\n &:global(.selected), &:hover {\n background-color: var(--overlay-color);\n }\n\n .language-label, .variant-label {\n flex: 1;\n max-height: 2.4em;\n font-size: 1.1rem;\n color: var(--primary-foreground-color);\n }\n\n .icon {\n flex: none;\n width: 0.5rem;\n height: 0.5rem;\n border-radius: 100%;\n margin-left: 1rem;\n background-color: var(--secondary-accent-color);\n }\n }\n }\n }\n\n .languages-container {\n width: 16rem;\n }\n\n .variants-container {\n width: 16rem;\n\n .no-variants-container {\n flex: 1;\n align-self: stretch;\n padding: 1rem;\n\n .no-variants-label {\n max-height: 4.8em;\n font-weight: 500;\n color: var(--primary-foreground-color);\n }\n }\n }\n\n .subtitles-settings-container {\n width: 17rem;\n\n .spacing {\n flex: 1;\n }\n\n .discrete-input {\n padding: 0 1.5rem 1rem;\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.option {\n display: flex;\n flex-direction: row;\n align-items: center;\n padding: 0 1.5em;\n margin-bottom: 0.5rem;\n border-radius: var(--border-radius);\n \n &:global(.selected) {\n background-color: var(--overlay-color);\n\n .icon {\n display: block;\n }\n }\n\n &:hover, &:focus {\n background-color: var(--overlay-color);\n }\n\n .label {\n flex: 1;\n font-weight: 400;\n color: var(--primary-foreground-color);\n }\n\n .icon {\n flex: none;\n display: none;\n width: 0.5rem;\n height: 0.5rem;\n border-radius: 100%;\n margin-left: 1rem;\n background-color: var(--secondary-accent-color);\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.speed-menu-container {\n width: 14rem;\n overflow: visible !important;\n\n .title {\n flex: none;\n align-self: stretch;\n font-weight: 700;\n color: var(--primary-foreground-color);\n padding: 1.5rem 2rem;\n }\n\n .options-container {\n flex: 0 1 auto;\n max-height: calc(3.2rem * 8);\n padding: 0 1rem 0.5rem;\n overflow-y: auto;\n \n .option {\n height: 3.2rem;\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n:import('~stremio/common/Slider/styles.less') {\n active-slider-within: active-slider-within;\n}\n\n:import('~stremio/common/NavBar/HorizontalNavBar/styles.less') {\n nav-bar-button-container: button-container;\n nav-bar-title: title;\n nav-bar-icon: icon;\n}\n\n@background-color: rgba(0, 0, 0, 1);\n\nhtml:not(.active-slider-within) {\n .player-container.overlayHidden {\n cursor: none;\n\n .nav-bar-layer, .control-bar-layer, .menu-layer {\n opacity: 0;\n transition: opacity 200ms;\n }\n }\n}\n\n.player-container {\n position: relative;\n z-index: 0;\n width: 100%;\n height: 100%;\n background-color: @background-color;\n\n .layer {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 0;\n\n &.buffering-layer, &.error-layer {\n background: transparent;\n }\n\n &.background-layer {\n .image {\n width: 100vw;\n height: 100vh;\n object-fit: cover;\n opacity: 0.6;\n }\n }\n\n &.nav-bar-layer {\n bottom: initial;\n background: transparent;\n overflow: visible;\n\n &::before {\n position: absolute;\n right: 0;\n top: 0;\n left: 0;\n z-index: -1;\n box-shadow: 0 0 8rem 6rem @color-background-dark5;\n content: \"\";\n }\n\n .nav-bar-button-container {\n &:hover {\n background: transparent;\n }\n\n .nav-bar-icon {\n color: var(--primary-foreground-color);\n }\n }\n\n .nav-bar-title {\n color: var(--primary-foreground-color);\n }\n }\n\n &.control-bar-layer {\n top: initial;\n overflow: visible;\n\n &::before {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: -1;\n box-shadow: 0 0 8rem 8rem @color-background-dark5;\n content: \"\";\n }\n }\n\n &.menu-layer {\n top: initial;\n left: initial;\n right: 2rem;\n bottom: 8rem;\n max-height: calc(100% - 13.5rem);\n max-width: calc(100% - 4rem);\n border-radius: var(--border-radius);\n background-color: var(--modal-background-color);\n box-shadow: 0 1.35rem 2.7rem @color-background-dark5-40,\n 0 1.1rem 0.85rem @color-background-dark5-20;\n backdrop-filter: blur(15px);\n overflow: auto;\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n.video-container {\n .video {\n width: 100%;\n height: 100%;\n\n * {\n font-size: inherit;\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n:import('~stremio/common/Checkbox/styles.less') {\n checkbox-icon: icon;\n}\n\n.consent-checkbox-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n padding: 0.5rem 0;\n border-radius: var(--border-radius);\n\n &:focus {\n outline: none;\n background-color: var(--overlay-color);\n }\n\n &:global(.checked) {\n .label {\n opacity: 1;\n }\n }\n\n .label {\n flex: 1;\n margin-left: 1rem;\n font-size: 0.9rem;\n color: var(--primary-foreground-color);\n opacity: 0.6;\n\n .link {\n font-size: 0.9rem;\n color: var(--primary-accent-color);\n\n &:hover {\n text-decoration: underline;\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n:import('~stremio/common/ModalDialog/styles.less') {\n password-reset-modal-content: modal-dialog-content;\n cancel-button-label: label;\n}\n\n.password-reset-modal-container {\n .password-reset-modal-content {\n width: 30rem;\n\n .credentials-text-input {\n width: 100%;\n padding: 1rem;\n border-radius: var(--border-radius);\n outline-offset: calc(-1 * var(--focus-outline-size));\n color: var(--primary-foreground-color);\n background: var(--overlay-color);\n \n &:hover, &:focus {\n outline: var(--focus-outline-size) solid var(--overlay-color);\n }\n }\n }\n\n .error-message {\n font-size: 1.1rem;\n margin-top: 2rem;\n text-align: center;\n color: @color-accent5-90;\n }\n\n .cancel-button {\n background-color: transparent;\n\n &:hover, &:focus {\n outline-color: var(--primary-foreground-color);\n }\n\n .cancel-button-label {\n color: var(--primary-foreground-color);\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .password-reset-modal-container {\n .password-reset-modal-content {\n width: auto;\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.intro-container {\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: 100%;\n overflow-y: auto;\n\n .background-container {\n z-index: -1;\n position: fixed;\n top: -1rem;\n bottom: -1rem;\n left: -1rem;\n right: -1rem;\n background: url('/images/background_1.svg'), url('/images/background_2.svg');\n background-color: var(--primary-background-color);\n background-position: bottom left, top right;\n background-size: 53%, 54%;\n background-repeat: no-repeat;\n filter: blur(6rem);\n }\n\n .heading-container {\n flex: none;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n margin-bottom: 5rem;\n\n .logo-container {\n flex: none;\n margin-bottom: 3rem;\n\n .logo {\n height: 5rem;\n opacity: 0.9;\n }\n }\n\n .title-container, .slogan-container {\n color: var(--primary-foreground-color);\n }\n\n .title-container {\n font-size: 3rem;\n font-weight: 600;\n margin-bottom: 0.5rem;\n }\n\n .slogan-container {\n font-size: 1.5rem;\n font-weight: 400;\n text-transform: lowercase;\n opacity: 0.6;\n \n &::first-letter {\n text-transform: uppercase;\n }\n }\n }\n\n .content-container {\n flex: none;\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n justify-content: center;\n width: 100%;\n \n .form-button {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n height: 4rem;\n border-radius: 3.5rem;\n padding: 0 1rem;\n\n .icon {\n flex: none;\n height: 2rem;\n width: 2rem;\n margin-right: 1rem;\n color: var(--primary-foreground-color);\n }\n\n .label {\n flex-grow: 0;\n flex-shrink: 1;\n flex-basis: auto;\n font-size: 1.1rem;\n font-weight: 700;\n color: var(--primary-foreground-color);\n text-align: center;\n }\n }\n\n .submit-button, .guest-login-button, .signup-form-button, .login-form-button {\n margin-top: 1rem;\n outline: var(--focus-outline-size) solid var(--primary-foreground-color);\n background-color: transparent;\n\n .label {\n color: var(--primary-foreground-color);\n }\n\n &:hover {\n background-color: var(--primary-foreground-color);\n\n .label {\n color: var(--secondary-foreground-color);\n }\n }\n }\n\n .form-container {\n flex: none;\n position: relative;\n width: 22rem;\n margin-right: 2rem;\n\n .credentials-text-input {\n display: block;\n width: 100%;\n margin-bottom: 1rem;\n padding: 1rem;\n border-radius: var(--border-radius);\n outline-offset: calc(-1 * var(--focus-outline-size));\n color: var(--primary-foreground-color);\n background: var(--overlay-color);\n\n &:hover, &:focus {\n outline: var(--focus-outline-size) solid var(--overlay-color);\n }\n }\n\n .forgot-password-link-container {\n display: flex;\n flex-direction: row;\n justify-content: flex-end;\n margin: 1rem 0;\n text-align: right;\n\n .forgot-password-link {\n flex-grow: 0;\n flex-shrink: 1;\n flex-basis: auto;\n padding: 0.5rem 1rem;\n color: var(--primary-foreground-color);\n\n &:hover {\n text-decoration: underline;\n }\n }\n }\n\n .error-message {\n margin: 1rem 0;\n padding: 0 1rem;\n text-align: center;\n color: var(--tertiary-accent-color);\n }\n }\n\n .options-container {\n flex: none;\n position: relative;\n width: 22rem;\n margin-left: 2rem;\n\n .facebook-button {\n background: var(--color-facebook);\n \n &:hover, &:focus {\n outline: var(--focus-outline-size) solid var(--color-facebook);\n background-color: transparent;\n }\n }\n }\n }\n}\n\n.loading-modal-container {\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: @color-background-dark5-40;\n\n .loader-container {\n flex: none;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 1rem;\n padding: 2.5rem;\n border-radius: var(--border-radius);\n background-color: var(--modal-background-color);\n\n @keyframes flash {\n 0% {\n opacity: 0.4;\n }\n\n 100% {\n opacity: 1.0;\n }\n }\n\n .icon {\n flex: none;\n width: 5rem;\n height: 5rem;\n color: var(--primary-foreground-color);\n animation: 1s linear infinite alternate flash;\n }\n\n .label {\n font-size: 1.5rem;\n color: var(--primary-foreground-color);\n animation: 1s linear infinite alternate flash;\n }\n\n .button {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n height: 3.5rem;\n width: 100%;\n border-radius: 3.5rem;\n padding: 0 1rem;\n margin-top: 2rem;\n font-size: 1.1rem;\n font-weight: 700;\n color: var(--primary-foreground-color);\n outline: var(--focus-outline-size) solid var(--primary-foreground-color);\n\n &:hover {\n color: var(--secondary-foreground-color);\n background-color: var(--primary-foreground-color);\n }\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .intro-container {\n justify-content: initial;\n padding: 3rem 1.5rem;\n\n .heading-container {\n align-items: flex-start;\n margin-bottom: 4rem;\n\n .logo-container {\n .logo {\n height: 4rem;\n }\n }\n\n .title-container {\n font-size: 2.5rem;\n }\n\n .slogan-container {\n font-size: 1.5rem;\n }\n }\n\n .content-container {\n flex-direction: column-reverse;\n\n .form-container, .options-container {\n width: 100%;\n margin: 0;\n }\n\n .options-container {\n margin-bottom: 4rem;\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.error-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 1rem;\n\n .error-image {\n flex: none;\n width: 12rem;\n height: 12rem;\n object-fit: contain;\n object-position: center;\n opacity: 0.9;\n }\n\n .error-message {\n flex: none;\n padding: 0 3rem;\n font-size: 2rem;\n max-height: 3.6em;\n text-align: center;\n color: var(--primary-foreground-color);\n }\n\n .buttons-container {\n flex: none;\n align-self: stretch;\n margin: 0 2rem;\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n align-items: center;\n justify-content: center;\n gap: 1.5rem;\n margin-top: 1rem;\n\n .button-container {\n flex-grow: 0;\n flex-shrink: 1;\n flex-basis: auto;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n padding: 0 2.5rem;\n min-width: 8rem;\n height: 3.5rem;\n border-radius: 3.5rem;\n background-color: var(--overlay-color);\n\n &:hover {\n outline: var(--focus-outline-size) solid var(--primary-foreground-color);\n background-color: transparent;\n }\n\n &:active {\n outline: none;\n }\n\n &:global(.disabled) {\n opacity: 0.3;\n }\n\n .label {\n flex-grow: 0;\n flex-shrink: 1;\n flex-basis: auto;\n max-height: 2.4em;\n font-size: 1.1rem;\n font-weight: 500;\n text-align: center;\n color: var(--primary-foreground-color);\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~stremio/common/screen-sizes.less';\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n@font-face {\n font-family: 'PlusJakartaSans';\n src: url('/fonts/PlusJakartaSans.ttf') format('truetype');\n}\n\n:global {\n @import (once, less) '~stremio/common/animations.less';\n @import (once, less) '~stremio-router/styles.css';\n}\n\n:root {\n --landscape-shape-ratio: 0.5625;\n --poster-shape-ratio: 1.464;\n --scroll-bar-size: 6px;\n --horizontal-nav-bar-size: 5.5rem;\n --vertical-nav-bar-size: 6rem;\n --focus-outline-size: 2px;\n --color-facebook: #1877F1;\n --color-x: #000000;\n --color-reddit: #FF4500;\n --color-imdb: #f5c518;\n --color-trakt: #ED2224;\n --color-placeholder: #60606080;\n --color-placeholder-text: @color-surface-50;\n --color-placeholder-background: @color-surface-dark5-20;\n --primary-background-color: rgba(12, 11, 17, 1);\n --secondary-background-color: rgba(26, 23, 62, 1);\n --primary-foreground-color: rgba(255, 255, 255, 0.9);\n --secondary-foreground-color: rgb(12, 11, 17, 1);\n --primary-accent-color: rgb(123, 91, 245);\n --secondary-accent-color: rgba(34, 179, 101, 1);\n --tertiary-accent-color: rgba(246, 199, 0, 1);\n --quaternary-accent-color: rgba(18, 69, 166, 1);\n --overlay-color: rgba(255, 255, 255, 0.05);\n --modal-background-color: rgba(15, 13, 32, 1);\n --outer-glow: 0px 0px 30px rgba(123, 91, 245, 0.37);\n --border-radius: 0.75rem;\n}\n\n* {\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n font-size: 1rem;\n font-family: inherit;\n border: none;\n outline: none;\n list-style: none;\n user-select: none;\n text-decoration: none;\n appearance: none;\n background: none;\n box-shadow: none;\n overflow: hidden;\n word-break: break-word;\n scrollbar-width: thin;\n scrollbar-color: var(--overlay-color) transparent;\n}\n\n::-webkit-scrollbar {\n width: var(--scroll-bar-size);\n height: var(--scroll-bar-size);\n}\n\n::-webkit-scrollbar-thumb {\n border-radius: var(--scroll-bar-size);\n background-color: var(--overlay-color);\n\n &:hover {\n background-color: var(--primary-accent-color);\n }\n}\n\n::-webkit-scrollbar-track {\n background-color: transparent;\n}\n\nsvg {\n overflow: visible;\n}\n\nhtml {\n width: 100%;\n height: 100%;\n min-width: 640px;\n min-height: 480px;\n font-family: 'PlusJakartaSans', 'sans-serif';\n overflow: auto;\n\n body {\n width: 100%;\n height: 100%;\n background: linear-gradient(41deg, var(--primary-background-color) 0%, var(--secondary-background-color) 100%);\n\n :global(#app) {\n position: relative;\n z-index: 0;\n width: 100%;\n height: 100%;\n\n .toasts-container {\n position: absolute;\n top: calc(1.2 * var(--horizontal-nav-bar-size));\n right: 0;\n bottom: calc(1.2 * var(--horizontal-nav-bar-size));\n left: auto;\n z-index: 1;\n padding: 0 calc(0.5 * var(--horizontal-nav-bar-size));\n overflow-y: auto;\n scrollbar-width: none;\n pointer-events: none;\n\n &::-webkit-scrollbar {\n display: none;\n }\n }\n\n .tooltip-container {\n height: 2.5rem;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0 1.5rem;\n font-size: 1rem;\n color: var(--primary-foreground-color);\n border-radius: var(--border-radius);\n background-color: var(--modal-background-color);\n box-shadow: var(--outer-glow);\n transition: opacity 0.1s ease-out;\n\n &:global(.active) {\n transition-delay: 0.25s;\n }\n }\n\n .router {\n width: 100%;\n height: 100%;\n }\n\n .loader-container, .error-container {\n width: 100%;\n height: 100%;\n }\n }\n }\n}\n\n@media only screen and (min-width: @xxlarge) {\n html {\n font-size: 18px;\n }\n}\n\n@media only screen and (max-width: @xxlarge) {\n html {\n font-size: 16px;\n }\n}\n\n@media only screen and (max-width: @large) {\n html {\n font-size: 15px;\n }\n}\n\n@media only screen and (max-width: @medium) {\n html {\n font-size: 14px;\n }\n}\n\n@media only screen and (max-width: @xsmall) {\n html {\n min-width: inherit;\n min-height: inherit;\n\n body {\n :global(#app) {\n .toasts-container {\n padding: 0 1rem;\n }\n\n .tooltip-container {\n display: none;\n }\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n:global(.animation-fade-in) {\n :local {\n animation-name: fade-in;\n }\n\n animation-timing-function: ease-in-out;\n animation-duration: 100ms;\n}\n\n@keyframes fade-in {\n 0% {\n opacity: 0.6;\n transform: translateY(0.2vh);\n }\n\n 100% {\n opacity: 1;\n transform: translateY(0);\n }\n}","/* Copyright (C) 2017-2023 Smart code 203358507 */\n\n.routes-container {\n position: relative;\n z-index: 0;\n}\n\n.routes-container .route-container {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 0;\n}\n\n.routes-container .route-container:not(:last-child) {\n display: none;\n}\n\n.routes-container .route-container .route-content {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 0;\n overflow: hidden;\n}\n\n.routes-container .route-container .modals-container {\n width: 0;\n height: 0;\n}\n\n.routes-container .route-container .modals-container .modal-container {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n overflow: hidden;\n}\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/feat/seek-player-action/index.html b/feat/seek-player-action/index.html index 0306330d2..360bd4256 100644 --- a/feat/seek-player-action/index.html +++ b/feat/seek-player-action/index.html @@ -1 +1 @@ -<!doctype html><html><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,minimum-scale=1"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-title" content="Stremio"><link rel="icon" type="image/x-icon" href="aabab5112d6e04708a05fd6c44b6dda32362b248/favicons/favicon.ico"><title>Stremio - Freedom to Stream</title><link href="aabab5112d6e04708a05fd6c44b6dda32362b248/styles/main.css" rel="stylesheet"><meta name="apple-mobile-web-app-title" content="Stremio Web" /><meta name="apple-mobile-web-app-capable" content="yes" /><meta name="apple-mobile-web-app-status-bar-style" content="default" /><meta name="theme-color" content="#2a2843" /><link rel="apple-touch-icon" sizes="512x512" href="./aabab5112d6e04708a05fd6c44b6dda32362b248/images/icon_512x512.png" /><link rel="apple-touch-icon" sizes="196x196" href="./aabab5112d6e04708a05fd6c44b6dda32362b248/images/icon_196x196.png" /><link rel="manifest" href="./manifest.json" /></head><body><div id="app"></div><script src="aabab5112d6e04708a05fd6c44b6dda32362b248/scripts/main.js"></script><script src="aabab5112d6e04708a05fd6c44b6dda32362b248/scripts/worker.js"></script><script src="//www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1"></script></body></html> \ No newline at end of file +<!doctype html><html><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,minimum-scale=1"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-title" content="Stremio"><link rel="icon" type="image/x-icon" href="db0f16b81e41b3901bcf5e0a624af142b1dd9f00/favicons/favicon.ico"><title>Stremio - Freedom to Stream</title><link href="db0f16b81e41b3901bcf5e0a624af142b1dd9f00/styles/main.css" rel="stylesheet"><meta name="apple-mobile-web-app-title" content="Stremio Web" /><meta name="apple-mobile-web-app-capable" content="yes" /><meta name="apple-mobile-web-app-status-bar-style" content="default" /><meta name="theme-color" content="#2a2843" /><link rel="apple-touch-icon" sizes="512x512" href="./db0f16b81e41b3901bcf5e0a624af142b1dd9f00/images/icon_512x512.png" /><link rel="apple-touch-icon" sizes="196x196" href="./db0f16b81e41b3901bcf5e0a624af142b1dd9f00/images/icon_196x196.png" /><link rel="manifest" href="./manifest.json" /></head><body><div id="app"></div><script src="db0f16b81e41b3901bcf5e0a624af142b1dd9f00/scripts/main.js"></script><script src="db0f16b81e41b3901bcf5e0a624af142b1dd9f00/scripts/worker.js"></script><script src="//www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1"></script></body></html> \ No newline at end of file diff --git a/feat/seek-player-action/manifest.json b/feat/seek-player-action/manifest.json index 7a98eeee1..ec7a29cd2 100644 --- a/feat/seek-player-action/manifest.json +++ b/feat/seek-player-action/manifest.json @@ -1,30 +1,30 @@ { "icons": [ { - "src": "./aabab5112d6e04708a05fd6c44b6dda32362b248/favicons/icon_256x256.ico", + "src": "./db0f16b81e41b3901bcf5e0a624af142b1dd9f00/favicons/icon_256x256.ico", "sizes": "256x256", "type": "image/vnd.microsoft.icon" }, { - "src": "./aabab5112d6e04708a05fd6c44b6dda32362b248/images/icon_512x512.png", + "src": "./db0f16b81e41b3901bcf5e0a624af142b1dd9f00/images/icon_512x512.png", "sizes": "512x512", "type": "image/png", "purpose": "maskable" }, { - "src": "./aabab5112d6e04708a05fd6c44b6dda32362b248/images/icon_196x196.png", + "src": "./db0f16b81e41b3901bcf5e0a624af142b1dd9f00/images/icon_196x196.png", "sizes": "196x196", "type": "image/png", "purpose": "maskable" }, { - "src": "./aabab5112d6e04708a05fd6c44b6dda32362b248/images/icon_512x512.png", + "src": "./db0f16b81e41b3901bcf5e0a624af142b1dd9f00/images/icon_512x512.png", "sizes": "512x512", "type": "image/png", "purpose": "any" }, { - "src": "./aabab5112d6e04708a05fd6c44b6dda32362b248/images/icon_196x196.png", + "src": "./db0f16b81e41b3901bcf5e0a624af142b1dd9f00/images/icon_196x196.png", "sizes": "196x196", "type": "image/png", "purpose": "any" @@ -44,14 +44,14 @@ "scope": "./", "screenshots": [ { - "src": "aabab5112d6e04708a05fd6c44b6dda32362b248/screenshots/board_wide.webp", + "src": "db0f16b81e41b3901bcf5e0a624af142b1dd9f00/screenshots/board_wide.webp", "sizes": "1440x900", "type": "image/webp", "form_factor": "wide", "label": "Homescreen of Stremio" }, { - "src": "aabab5112d6e04708a05fd6c44b6dda32362b248/screenshots/board_narrow.webp", + "src": "db0f16b81e41b3901bcf5e0a624af142b1dd9f00/screenshots/board_narrow.webp", "sizes": "414x896", "type": "image/webp", "form_factor": "narrow", diff --git a/feat/seek-player-action/service-worker.js b/feat/seek-player-action/service-worker.js index 3deeb65d5..c99785960 100644 --- a/feat/seek-player-action/service-worker.js +++ b/feat/seek-player-action/service-worker.js @@ -1,2 +1,2 @@ -if(!self.define){let a,e={};const d=(d,b)=>(d=new URL(d+".js",b).href,e[d]||new Promise((e=>{if("document"in self){const a=document.createElement("script");a.src=d,a.onload=e,document.head.appendChild(a)}else a=d,importScripts(d),e()})).then((()=>{let a=e[d];if(!a)throw new Error(`Module ${d} didn’t register its module`);return a})));self.define=(b,i)=>{const c=a||("document"in self?document.currentScript.src:"")||location.href;if(e[c])return;let s={};const r=a=>d(a,c),n={module:{uri:c},exports:s,require:r};e[c]=Promise.all(b.map((a=>n[a]||r(a)))).then((a=>(i(...a),s)))}}define(["./workbox-ad8011fb"],(function(a){"use strict";self.skipWaiting(),a.clientsClaim(),a.precacheAndRoute([{url:"aabab5112d6e04708a05fd6c44b6dda32362b248/favicons/favicon.ico",revision:"4c07b4cdba0741908240aaf0f0996231"},{url:"aabab5112d6e04708a05fd6c44b6dda32362b248/fonts/PlusJakartaSans.ttf",revision:"d42d5252438e0617f4fafe9c9b1eaa36"},{url:"aabab5112d6e04708a05fd6c44b6dda32362b248/images/anonymous.png",revision:"14a3d1f35520016dfa7d524bc6fe00a3"},{url:"aabab5112d6e04708a05fd6c44b6dda32362b248/images/background_1.svg",revision:"e13e8149bc3a081ae4b19a94339d0929"},{url:"aabab5112d6e04708a05fd6c44b6dda32362b248/images/background_2.svg",revision:"7400a2bd6bd3a5b6ddf4d4cd12e6e1c8"},{url:"aabab5112d6e04708a05fd6c44b6dda32362b248/images/default_avatar.png",revision:"71b1172926723433c6e5f94a1e570993"},{url:"aabab5112d6e04708a05fd6c44b6dda32362b248/images/empty.png",revision:"3508ea0d8cd8dd84906ff960a356b6c9"},{url:"aabab5112d6e04708a05fd6c44b6dda32362b248/images/icon.png",revision:"b23a3a2bbe761ce6029c564879702ad5"},{url:"aabab5112d6e04708a05fd6c44b6dda32362b248/images/logo.png",revision:"a747ada078440d543890a24ea9105e6d"},{url:"aabab5112d6e04708a05fd6c44b6dda32362b248/images/maskable_icon.png",revision:"941c7d6c4af30fd50d631032e31bbd42"},{url:"aabab5112d6e04708a05fd6c44b6dda32362b248/images/stremio_symbol.png",revision:"c64dbb21f02e31bc644512327ed6fe80"},{url:"aabab5112d6e04708a05fd6c44b6dda32362b248/screenshots/board_narrow.webp",revision:"8329eb909f925e3658dbb7d7e6611bd1"},{url:"aabab5112d6e04708a05fd6c44b6dda32362b248/screenshots/board_wide.webp",revision:"506ccb23f4d5eced25b11331a10abacb"},{url:"aabab5112d6e04708a05fd6c44b6dda32362b248/scripts/main.js",revision:"318441252079615cae33f9d91aedb951"},{url:"aabab5112d6e04708a05fd6c44b6dda32362b248/scripts/worker.js",revision:"defc0f1e66e88c026d8f2960aedac09c"},{url:"aabab5112d6e04708a05fd6c44b6dda32362b248/styles/main.css",revision:"c877296e70de1bfae31a5d7005cacc20"},{url:"index.html",revision:"ba1bac411ecdba98ea21902199939985"}],{})})); +if(!self.define){let e,b={};const f=(f,d)=>(f=new URL(f+".js",d).href,b[f]||new Promise((b=>{if("document"in self){const e=document.createElement("script");e.src=f,e.onload=b,document.head.appendChild(e)}else e=f,importScripts(f),b()})).then((()=>{let e=b[f];if(!e)throw new Error(`Module ${f} didn’t register its module`);return e})));self.define=(d,a)=>{const i=e||("document"in self?document.currentScript.src:"")||location.href;if(b[i])return;let s={};const r=e=>f(e,i),c={module:{uri:i},exports:s,require:r};b[i]=Promise.all(d.map((e=>c[e]||r(e)))).then((e=>(a(...e),s)))}}define(["./workbox-ad8011fb"],(function(e){"use strict";self.skipWaiting(),e.clientsClaim(),e.precacheAndRoute([{url:"db0f16b81e41b3901bcf5e0a624af142b1dd9f00/binaries/stremio_core_web_bg.wasm",revision:"f3e9638986aa87e559d4a1b1ae404da9"},{url:"db0f16b81e41b3901bcf5e0a624af142b1dd9f00/favicons/favicon.ico",revision:"4c07b4cdba0741908240aaf0f0996231"},{url:"db0f16b81e41b3901bcf5e0a624af142b1dd9f00/fonts/PlusJakartaSans.ttf",revision:"d42d5252438e0617f4fafe9c9b1eaa36"},{url:"db0f16b81e41b3901bcf5e0a624af142b1dd9f00/images/anonymous.png",revision:"14a3d1f35520016dfa7d524bc6fe00a3"},{url:"db0f16b81e41b3901bcf5e0a624af142b1dd9f00/images/background_1.svg",revision:"e13e8149bc3a081ae4b19a94339d0929"},{url:"db0f16b81e41b3901bcf5e0a624af142b1dd9f00/images/background_2.svg",revision:"7400a2bd6bd3a5b6ddf4d4cd12e6e1c8"},{url:"db0f16b81e41b3901bcf5e0a624af142b1dd9f00/images/default_avatar.png",revision:"71b1172926723433c6e5f94a1e570993"},{url:"db0f16b81e41b3901bcf5e0a624af142b1dd9f00/images/empty.png",revision:"3508ea0d8cd8dd84906ff960a356b6c9"},{url:"db0f16b81e41b3901bcf5e0a624af142b1dd9f00/images/icon.png",revision:"b23a3a2bbe761ce6029c564879702ad5"},{url:"db0f16b81e41b3901bcf5e0a624af142b1dd9f00/images/logo.png",revision:"a747ada078440d543890a24ea9105e6d"},{url:"db0f16b81e41b3901bcf5e0a624af142b1dd9f00/images/maskable_icon.png",revision:"941c7d6c4af30fd50d631032e31bbd42"},{url:"db0f16b81e41b3901bcf5e0a624af142b1dd9f00/images/stremio_symbol.png",revision:"c64dbb21f02e31bc644512327ed6fe80"},{url:"db0f16b81e41b3901bcf5e0a624af142b1dd9f00/screenshots/board_narrow.webp",revision:"8329eb909f925e3658dbb7d7e6611bd1"},{url:"db0f16b81e41b3901bcf5e0a624af142b1dd9f00/screenshots/board_wide.webp",revision:"506ccb23f4d5eced25b11331a10abacb"},{url:"db0f16b81e41b3901bcf5e0a624af142b1dd9f00/scripts/main.js",revision:"5828ceda41be64ccf02037b28500ccb5"},{url:"db0f16b81e41b3901bcf5e0a624af142b1dd9f00/scripts/worker.js",revision:"bdb688174e09c6b04992f50af9398b79"},{url:"db0f16b81e41b3901bcf5e0a624af142b1dd9f00/styles/main.css",revision:"34902fe117402570b509083c1f0fd05a"},{url:"index.html",revision:"615b5d462ad18f285836531001e8bb6c"}],{})})); //# sourceMappingURL=service-worker.js.map diff --git a/feat/seek-player-action/service-worker.js.map b/feat/seek-player-action/service-worker.js.map index cf4aa515d..db379cab1 100644 --- a/feat/seek-player-action/service-worker.js.map +++ b/feat/seek-player-action/service-worker.js.map @@ -1 +1 @@ -{"version":3,"file":"service-worker.js","sources":["../../../../../tmp/10f370f1e8095c7dad2c2014dbe6e1a1/service-worker.js"],"sourcesContent":["import {clientsClaim as workbox_core_clientsClaim} from '/home/runner/work/stremio-web/stremio-web/node_modules/workbox-core/clientsClaim.mjs';\nimport {precacheAndRoute as workbox_precaching_precacheAndRoute} from '/home/runner/work/stremio-web/stremio-web/node_modules/workbox-precaching/precacheAndRoute.mjs';/**\n * Welcome to your Workbox-powered service worker!\n *\n * You'll need to register this file in your web app.\n * See https://goo.gl/nhQhGp\n *\n * The rest of the code is auto-generated. Please don't update this file\n * directly; instead, make changes to your Workbox build configuration\n * and re-run your build process.\n * See https://goo.gl/2aRDsh\n */\n\n\n\n\n\n\n\n\nself.skipWaiting();\n\nworkbox_core_clientsClaim();\n\n\n/**\n * The precacheAndRoute() method efficiently caches and responds to\n * requests for URLs in the manifest.\n * See https://goo.gl/S9QRab\n */\nworkbox_precaching_precacheAndRoute([\n {\n \"url\": \"aabab5112d6e04708a05fd6c44b6dda32362b248/favicons/favicon.ico\",\n \"revision\": \"4c07b4cdba0741908240aaf0f0996231\"\n },\n {\n \"url\": \"aabab5112d6e04708a05fd6c44b6dda32362b248/fonts/PlusJakartaSans.ttf\",\n \"revision\": \"d42d5252438e0617f4fafe9c9b1eaa36\"\n },\n {\n \"url\": \"aabab5112d6e04708a05fd6c44b6dda32362b248/images/anonymous.png\",\n \"revision\": \"14a3d1f35520016dfa7d524bc6fe00a3\"\n },\n {\n \"url\": \"aabab5112d6e04708a05fd6c44b6dda32362b248/images/background_1.svg\",\n \"revision\": \"e13e8149bc3a081ae4b19a94339d0929\"\n },\n {\n \"url\": \"aabab5112d6e04708a05fd6c44b6dda32362b248/images/background_2.svg\",\n \"revision\": \"7400a2bd6bd3a5b6ddf4d4cd12e6e1c8\"\n },\n {\n \"url\": \"aabab5112d6e04708a05fd6c44b6dda32362b248/images/default_avatar.png\",\n \"revision\": \"71b1172926723433c6e5f94a1e570993\"\n },\n {\n \"url\": \"aabab5112d6e04708a05fd6c44b6dda32362b248/images/empty.png\",\n \"revision\": \"3508ea0d8cd8dd84906ff960a356b6c9\"\n },\n {\n \"url\": \"aabab5112d6e04708a05fd6c44b6dda32362b248/images/icon.png\",\n \"revision\": \"b23a3a2bbe761ce6029c564879702ad5\"\n },\n {\n \"url\": \"aabab5112d6e04708a05fd6c44b6dda32362b248/images/logo.png\",\n \"revision\": \"a747ada078440d543890a24ea9105e6d\"\n },\n {\n \"url\": \"aabab5112d6e04708a05fd6c44b6dda32362b248/images/maskable_icon.png\",\n \"revision\": \"941c7d6c4af30fd50d631032e31bbd42\"\n },\n {\n \"url\": \"aabab5112d6e04708a05fd6c44b6dda32362b248/images/stremio_symbol.png\",\n \"revision\": \"c64dbb21f02e31bc644512327ed6fe80\"\n },\n {\n \"url\": \"aabab5112d6e04708a05fd6c44b6dda32362b248/screenshots/board_narrow.webp\",\n \"revision\": \"8329eb909f925e3658dbb7d7e6611bd1\"\n },\n {\n \"url\": \"aabab5112d6e04708a05fd6c44b6dda32362b248/screenshots/board_wide.webp\",\n \"revision\": \"506ccb23f4d5eced25b11331a10abacb\"\n },\n {\n \"url\": \"aabab5112d6e04708a05fd6c44b6dda32362b248/scripts/main.js\",\n \"revision\": \"318441252079615cae33f9d91aedb951\"\n },\n {\n \"url\": \"aabab5112d6e04708a05fd6c44b6dda32362b248/scripts/worker.js\",\n \"revision\": \"defc0f1e66e88c026d8f2960aedac09c\"\n },\n {\n \"url\": \"aabab5112d6e04708a05fd6c44b6dda32362b248/styles/main.css\",\n \"revision\": \"c877296e70de1bfae31a5d7005cacc20\"\n },\n {\n \"url\": \"index.html\",\n \"revision\": \"ba1bac411ecdba98ea21902199939985\"\n }\n], {});\n\n\n\n\n\n\n\n\n"],"names":["self","skipWaiting","workbox_core_clientsClaim","workbox_precaching_precacheAndRoute","url","revision"],"mappings":"0nBAoBAA,KAAKC,cAELC,EAAAA,eAQAC,EAAAA,iBAAoC,CAClC,CACEC,IAAO,gEACKC,SAAA,oCAEd,CACED,IAAO,qEACKC,SAAA,oCAEd,CACED,IAAO,gEACKC,SAAA,oCAEd,CACED,IAAO,mEACKC,SAAA,oCAEd,CACED,IAAO,mEACKC,SAAA,oCAEd,CACED,IAAO,qEACKC,SAAA,oCAEd,CACED,IAAO,4DACKC,SAAA,oCAEd,CACED,IAAO,2DACKC,SAAA,oCAEd,CACED,IAAO,2DACKC,SAAA,oCAEd,CACED,IAAO,oEACKC,SAAA,oCAEd,CACED,IAAO,qEACKC,SAAA,oCAEd,CACED,IAAO,yEACKC,SAAA,oCAEd,CACED,IAAO,uEACKC,SAAA,oCAEd,CACED,IAAO,2DACKC,SAAA,oCAEd,CACED,IAAO,6DACKC,SAAA,oCAEd,CACED,IAAO,2DACKC,SAAA,oCAEd,CACED,IAAO,aACKC,SAAA,qCAEb"} \ No newline at end of file +{"version":3,"file":"service-worker.js","sources":["../../../../../tmp/5ef4a5bc5c84fdbf3d88d85a415cb767/service-worker.js"],"sourcesContent":["import {clientsClaim as workbox_core_clientsClaim} from '/home/runner/work/stremio-web/stremio-web/node_modules/workbox-core/clientsClaim.mjs';\nimport {precacheAndRoute as workbox_precaching_precacheAndRoute} from '/home/runner/work/stremio-web/stremio-web/node_modules/workbox-precaching/precacheAndRoute.mjs';/**\n * Welcome to your Workbox-powered service worker!\n *\n * You'll need to register this file in your web app.\n * See https://goo.gl/nhQhGp\n *\n * The rest of the code is auto-generated. Please don't update this file\n * directly; instead, make changes to your Workbox build configuration\n * and re-run your build process.\n * See https://goo.gl/2aRDsh\n */\n\n\n\n\n\n\n\n\nself.skipWaiting();\n\nworkbox_core_clientsClaim();\n\n\n/**\n * The precacheAndRoute() method efficiently caches and responds to\n * requests for URLs in the manifest.\n * See https://goo.gl/S9QRab\n */\nworkbox_precaching_precacheAndRoute([\n {\n \"url\": \"db0f16b81e41b3901bcf5e0a624af142b1dd9f00/binaries/stremio_core_web_bg.wasm\",\n \"revision\": \"f3e9638986aa87e559d4a1b1ae404da9\"\n },\n {\n \"url\": \"db0f16b81e41b3901bcf5e0a624af142b1dd9f00/favicons/favicon.ico\",\n \"revision\": \"4c07b4cdba0741908240aaf0f0996231\"\n },\n {\n \"url\": \"db0f16b81e41b3901bcf5e0a624af142b1dd9f00/fonts/PlusJakartaSans.ttf\",\n \"revision\": \"d42d5252438e0617f4fafe9c9b1eaa36\"\n },\n {\n \"url\": \"db0f16b81e41b3901bcf5e0a624af142b1dd9f00/images/anonymous.png\",\n \"revision\": \"14a3d1f35520016dfa7d524bc6fe00a3\"\n },\n {\n \"url\": \"db0f16b81e41b3901bcf5e0a624af142b1dd9f00/images/background_1.svg\",\n \"revision\": \"e13e8149bc3a081ae4b19a94339d0929\"\n },\n {\n \"url\": \"db0f16b81e41b3901bcf5e0a624af142b1dd9f00/images/background_2.svg\",\n \"revision\": \"7400a2bd6bd3a5b6ddf4d4cd12e6e1c8\"\n },\n {\n \"url\": \"db0f16b81e41b3901bcf5e0a624af142b1dd9f00/images/default_avatar.png\",\n \"revision\": \"71b1172926723433c6e5f94a1e570993\"\n },\n {\n \"url\": \"db0f16b81e41b3901bcf5e0a624af142b1dd9f00/images/empty.png\",\n \"revision\": \"3508ea0d8cd8dd84906ff960a356b6c9\"\n },\n {\n \"url\": \"db0f16b81e41b3901bcf5e0a624af142b1dd9f00/images/icon.png\",\n \"revision\": \"b23a3a2bbe761ce6029c564879702ad5\"\n },\n {\n \"url\": \"db0f16b81e41b3901bcf5e0a624af142b1dd9f00/images/logo.png\",\n \"revision\": \"a747ada078440d543890a24ea9105e6d\"\n },\n {\n \"url\": \"db0f16b81e41b3901bcf5e0a624af142b1dd9f00/images/maskable_icon.png\",\n \"revision\": \"941c7d6c4af30fd50d631032e31bbd42\"\n },\n {\n \"url\": \"db0f16b81e41b3901bcf5e0a624af142b1dd9f00/images/stremio_symbol.png\",\n \"revision\": \"c64dbb21f02e31bc644512327ed6fe80\"\n },\n {\n \"url\": \"db0f16b81e41b3901bcf5e0a624af142b1dd9f00/screenshots/board_narrow.webp\",\n \"revision\": \"8329eb909f925e3658dbb7d7e6611bd1\"\n },\n {\n \"url\": \"db0f16b81e41b3901bcf5e0a624af142b1dd9f00/screenshots/board_wide.webp\",\n \"revision\": \"506ccb23f4d5eced25b11331a10abacb\"\n },\n {\n \"url\": \"db0f16b81e41b3901bcf5e0a624af142b1dd9f00/scripts/main.js\",\n \"revision\": \"5828ceda41be64ccf02037b28500ccb5\"\n },\n {\n \"url\": \"db0f16b81e41b3901bcf5e0a624af142b1dd9f00/scripts/worker.js\",\n \"revision\": \"bdb688174e09c6b04992f50af9398b79\"\n },\n {\n \"url\": \"db0f16b81e41b3901bcf5e0a624af142b1dd9f00/styles/main.css\",\n \"revision\": \"34902fe117402570b509083c1f0fd05a\"\n },\n {\n \"url\": \"index.html\",\n \"revision\": \"615b5d462ad18f285836531001e8bb6c\"\n }\n], {});\n\n\n\n\n\n\n\n\n"],"names":["self","skipWaiting","workbox_core_clientsClaim","workbox_precaching_precacheAndRoute","url","revision"],"mappings":"0nBAoBAA,KAAKC,cAELC,EAAAA,eAQAC,EAAAA,iBAAoC,CAClC,CACEC,IAAO,6EACKC,SAAA,oCAEd,CACED,IAAO,gEACKC,SAAA,oCAEd,CACED,IAAO,qEACKC,SAAA,oCAEd,CACED,IAAO,gEACKC,SAAA,oCAEd,CACED,IAAO,mEACKC,SAAA,oCAEd,CACED,IAAO,mEACKC,SAAA,oCAEd,CACED,IAAO,qEACKC,SAAA,oCAEd,CACED,IAAO,4DACKC,SAAA,oCAEd,CACED,IAAO,2DACKC,SAAA,oCAEd,CACED,IAAO,2DACKC,SAAA,oCAEd,CACED,IAAO,oEACKC,SAAA,oCAEd,CACED,IAAO,qEACKC,SAAA,oCAEd,CACED,IAAO,yEACKC,SAAA,oCAEd,CACED,IAAO,uEACKC,SAAA,oCAEd,CACED,IAAO,2DACKC,SAAA,oCAEd,CACED,IAAO,6DACKC,SAAA,oCAEd,CACED,IAAO,2DACKC,SAAA,oCAEd,CACED,IAAO,aACKC,SAAA,qCAEb"} \ No newline at end of file

    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%0AGt>v{THRI6r2N1 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∓P@99ky1Kc8SEp#0}2E@1k933@k_{@-Jv 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

  • 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 z∾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